[Midnightbsd-cvs] src [6430] Import Perl 5.18.1

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sun Dec 1 16:45:23 EST 2013


Revision: 6430
          http://svnweb.midnightbsd.org/src/?rev=6430
Author:   laffer1
Date:     2013-12-01 16:45:02 -0500 (Sun, 01 Dec 2013)
Log Message:
-----------
Import Perl 5.18.1

Modified Paths:
--------------
    vendor/perl/dist/AUTHORS
    vendor/perl/dist/Artistic
    vendor/perl/dist/Configure
    vendor/perl/dist/Copying
    vendor/perl/dist/Cross/Makefile-cross-SH
    vendor/perl/dist/Cross/README
    vendor/perl/dist/Cross/config.sh-arm-linux
    vendor/perl/dist/Cross/config.sh-arm-linux-n770
    vendor/perl/dist/EXTERN.h
    vendor/perl/dist/INSTALL
    vendor/perl/dist/MANIFEST
    vendor/perl/dist/META.yml
    vendor/perl/dist/Makefile.SH
    vendor/perl/dist/Makefile.micro
    vendor/perl/dist/NetWare/CLIBsdio.h
    vendor/perl/dist/NetWare/CLIBstr.h
    vendor/perl/dist/NetWare/CLIBstuf.c
    vendor/perl/dist/NetWare/CLIBstuf.h
    vendor/perl/dist/NetWare/Main.c
    vendor/perl/dist/NetWare/Makefile
    vendor/perl/dist/NetWare/NWTInfo.c
    vendor/perl/dist/NetWare/NWUtil.c
    vendor/perl/dist/NetWare/Nwmain.c
    vendor/perl/dist/NetWare/Nwpipe.c
    vendor/perl/dist/NetWare/config.wc
    vendor/perl/dist/NetWare/config_H.wc
    vendor/perl/dist/NetWare/deb.h
    vendor/perl/dist/NetWare/intdef.h
    vendor/perl/dist/NetWare/interface.c
    vendor/perl/dist/NetWare/interface.cpp
    vendor/perl/dist/NetWare/interface.h
    vendor/perl/dist/NetWare/iperlhost.h
    vendor/perl/dist/NetWare/netware.h
    vendor/perl/dist/NetWare/nw5.c
    vendor/perl/dist/NetWare/nw5iop.h
    vendor/perl/dist/NetWare/nw5sck.c
    vendor/perl/dist/NetWare/nw5sck.h
    vendor/perl/dist/NetWare/nw5thread.c
    vendor/perl/dist/NetWare/nw5thread.h
    vendor/perl/dist/NetWare/nwhashcls.cpp
    vendor/perl/dist/NetWare/nwhashcls.h
    vendor/perl/dist/NetWare/nwperlhost.h
    vendor/perl/dist/NetWare/nwperlsys.c
    vendor/perl/dist/NetWare/nwperlsys.h
    vendor/perl/dist/NetWare/nwpipe.h
    vendor/perl/dist/NetWare/nwplglob.c
    vendor/perl/dist/NetWare/nwplglob.h
    vendor/perl/dist/NetWare/nwstdio.h
    vendor/perl/dist/NetWare/nwtinfo.h
    vendor/perl/dist/NetWare/nwutil.h
    vendor/perl/dist/NetWare/nwvmem.h
    vendor/perl/dist/NetWare/perllib.cpp
    vendor/perl/dist/NetWare/sv_nw.c
    vendor/perl/dist/NetWare/win32ish.h
    vendor/perl/dist/Policy_sh.SH
    vendor/perl/dist/Porting/Glossary
    vendor/perl/dist/Porting/Maintainers.pl
    vendor/perl/dist/Porting/Maintainers.pm
    vendor/perl/dist/Porting/bump-perl-version
    vendor/perl/dist/Porting/checkAUTHORS.pl
    vendor/perl/dist/Porting/checkURL.pl
    vendor/perl/dist/Porting/checkcfgvar.pl
    vendor/perl/dist/Porting/checkpodencoding.pl
    vendor/perl/dist/Porting/cherrymaint
    vendor/perl/dist/Porting/cmpVERSION.pl
    vendor/perl/dist/Porting/config.sh
    vendor/perl/dist/Porting/config_H
    vendor/perl/dist/Porting/config_h.pl
    vendor/perl/dist/Porting/core-cpan-diff
    vendor/perl/dist/Porting/corecpan.pl
    vendor/perl/dist/Porting/corelist-perldelta.pl
    vendor/perl/dist/Porting/corelist.pl
    vendor/perl/dist/Porting/epigraphs.pod
    vendor/perl/dist/Porting/exec-bit.txt
    vendor/perl/dist/Porting/expand-macro.pl
    vendor/perl/dist/Porting/git-deltatool
    vendor/perl/dist/Porting/how_to_write_a_perldelta.pod
    vendor/perl/dist/Porting/makemeta
    vendor/perl/dist/Porting/makerel
    vendor/perl/dist/Porting/manisort
    vendor/perl/dist/Porting/perldelta_template.pod
    vendor/perl/dist/Porting/perlhist_calculate.pl
    vendor/perl/dist/Porting/podtidy
    vendor/perl/dist/Porting/pumpkin.pod
    vendor/perl/dist/Porting/release_managers_guide.pod
    vendor/perl/dist/Porting/release_schedule.pod
    vendor/perl/dist/README
    vendor/perl/dist/README.aix
    vendor/perl/dist/README.bs2000
    vendor/perl/dist/README.ce
    vendor/perl/dist/README.cn
    vendor/perl/dist/README.cygwin
    vendor/perl/dist/README.freebsd
    vendor/perl/dist/README.haiku
    vendor/perl/dist/README.hpux
    vendor/perl/dist/README.hurd
    vendor/perl/dist/README.irix
    vendor/perl/dist/README.jp
    vendor/perl/dist/README.ko
    vendor/perl/dist/README.linux
    vendor/perl/dist/README.macos
    vendor/perl/dist/README.macosx
    vendor/perl/dist/README.openbsd
    vendor/perl/dist/README.os2
    vendor/perl/dist/README.os390
    vendor/perl/dist/README.os400
    vendor/perl/dist/README.qnx
    vendor/perl/dist/README.riscos
    vendor/perl/dist/README.solaris
    vendor/perl/dist/README.symbian
    vendor/perl/dist/README.tru64
    vendor/perl/dist/README.tw
    vendor/perl/dist/README.vms
    vendor/perl/dist/README.vos
    vendor/perl/dist/README.win32
    vendor/perl/dist/TestInit.pm
    vendor/perl/dist/XSUB.h
    vendor/perl/dist/autodoc.pl
    vendor/perl/dist/av.c
    vendor/perl/dist/av.h
    vendor/perl/dist/cflags.SH
    vendor/perl/dist/config_h.SH
    vendor/perl/dist/configpm
    vendor/perl/dist/configure.com
    vendor/perl/dist/configure.gnu
    vendor/perl/dist/cop.h
    vendor/perl/dist/cpan/Archive-Extract/lib/Archive/Extract.pm
    vendor/perl/dist/cpan/Archive-Extract/t/01_Archive-Extract.t
    vendor/perl/dist/cpan/Archive-Tar/bin/ptar
    vendor/perl/dist/cpan/Archive-Tar/bin/ptardiff
    vendor/perl/dist/cpan/Archive-Tar/bin/ptargrep
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm
    vendor/perl/dist/cpan/Archive-Tar/t/03_file.t
    vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t
    vendor/perl/dist/cpan/Archive-Tar/t/05_iter.t
    vendor/perl/dist/cpan/Archive-Tar/t/90_symlink.t
    vendor/perl/dist/cpan/Archive-Tar/t/99_pod.t
    vendor/perl/dist/cpan/AutoLoader/lib/AutoLoader.pm
    vendor/perl/dist/cpan/AutoLoader/t/01AutoLoader.t
    vendor/perl/dist/cpan/B-Debug/Debug.pm
    vendor/perl/dist/cpan/CGI/Changes
    vendor/perl/dist/cpan/CGI/lib/CGI/Carp.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Cookie.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Fast.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Util.pm
    vendor/perl/dist/cpan/CGI/lib/CGI.pm
    vendor/perl/dist/cpan/CGI/t/autoescape.t
    vendor/perl/dist/cpan/CGI/t/form.t
    vendor/perl/dist/cpan/CGI/t/function.t
    vendor/perl/dist/cpan/CGI/t/headers.t
    vendor/perl/dist/cpan/CGI/t/html.t
    vendor/perl/dist/cpan/CGI/t/unescapeHTML.t
    vendor/perl/dist/cpan/CGI/t/url.t
    vendor/perl/dist/cpan/CPAN/Changes
    vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Bundle.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/CacheMgr.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Debug.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Distroprefs.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/yaml_not_installed.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Client.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/HandleConfig.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Index.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Mirrors.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Nox.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Queue.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Tarzip.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN.pm
    vendor/perl/dist/cpan/CPAN/scripts/cpan
    vendor/perl/dist/cpan/CPAN-Meta/Changes
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta.pm
    vendor/perl/dist/cpan/CPAN-Meta/t/converter-bad.t
    vendor/perl/dist/cpan/CPAN-Meta/t/converter-fail.t
    vendor/perl/dist/cpan/CPAN-Meta/t/converter.t
    vendor/perl/dist/cpan/CPAN-Meta/t/load-bad.t
    vendor/perl/dist/cpan/CPAN-Meta/t/meta-obj.t
    vendor/perl/dist/cpan/CPAN-Meta/t/no-index.t
    vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-finalize.t
    vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-merge.t
    vendor/perl/dist/cpan/CPAN-Meta/t/prereqs.t
    vendor/perl/dist/cpan/CPAN-Meta/t/repository.t
    vendor/perl/dist/cpan/CPAN-Meta/t/save-load.t
    vendor/perl/dist/cpan/CPAN-Meta/t/validator.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/03_regression.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/15_multibyte.t
    vendor/perl/dist/cpan/CPANPLUS/bin/cpan2dist
    vendor/perl/dist/cpan/CPANPLUS/bin/cpanp
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend/RV.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Config.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure/Setup.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Autobundle.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Base.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/MM.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Sample.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Error.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/FAQ.pod
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Hacking.pod
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants/Report.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Extract.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Fetch.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Search.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/Memory.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils/Autoflush.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author/Fake.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Checksums.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Fake.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Signature.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Selfupdate.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Classic.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS.pm
    vendor/perl/dist/cpan/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t
    vendor/perl/dist/cpan/CPANPLUS/t/01_CPANPLUS-Configure.t
    vendor/perl/dist/cpan/CPANPLUS/t/02_CPANPLUS-Internals.t
    vendor/perl/dist/cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source.t
    vendor/perl/dist/cpan/CPANPLUS/t/04_CPANPLUS-Module.t
    vendor/perl/dist/cpan/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t
    vendor/perl/dist/cpan/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t
    vendor/perl/dist/cpan/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t
    vendor/perl/dist/cpan/CPANPLUS/t/08_CPANPLUS-Backend.t
    vendor/perl/dist/cpan/CPANPLUS/t/09_CPANPLUS-Internals-Search.t
    vendor/perl/dist/cpan/CPANPLUS/t/10_CPANPLUS-Error.t
    vendor/perl/dist/cpan/CPANPLUS/t/15_CPANPLUS-Shell.t
    vendor/perl/dist/cpan/CPANPLUS/t/19_CPANPLUS-Dist.t
    vendor/perl/dist/cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t
    vendor/perl/dist/cpan/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t
    vendor/perl/dist/cpan/CPANPLUS/t/25_CPANPLUS.t
    vendor/perl/dist/cpan/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t
    vendor/perl/dist/cpan/CPANPLUS/t/40_CPANPLUS-Internals-Report.t
    vendor/perl/dist/cpan/CPANPLUS/t/inc/conf.pl
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build/Constants.pm
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build.pm
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/Bzip2.xs
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/Changes
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/Makefile.PL
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/README
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/000prereq.t
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm
    vendor/perl/dist/cpan/Compress-Raw-Zlib/Changes
    vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL
    vendor/perl/dist/cpan/Compress-Raw-Zlib/README
    vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs
    vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffixed.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h
    vendor/perl/dist/cpan/DB_File/Changes
    vendor/perl/dist/cpan/DB_File/DB_File.pm
    vendor/perl/dist/cpan/DB_File/DB_File.xs
    vendor/perl/dist/cpan/DB_File/dbinfo
    vendor/perl/dist/cpan/DB_File/t/db-btree.t
    vendor/perl/dist/cpan/DB_File/t/db-hash.t
    vendor/perl/dist/cpan/DB_File/t/db-recno.t
    vendor/perl/dist/cpan/Devel-PPPort/Changes
    vendor/perl/dist/cpan/Devel-PPPort/HACKERS
    vendor/perl/dist/cpan/Devel-PPPort/Makefile.PL
    vendor/perl/dist/cpan/Devel-PPPort/PPPort_pm.PL
    vendor/perl/dist/cpan/Devel-PPPort/PPPort_xs.PL
    vendor/perl/dist/cpan/Devel-PPPort/README
    vendor/perl/dist/cpan/Devel-PPPort/apicheck_c.PL
    vendor/perl/dist/cpan/Devel-PPPort/devel/buildperl.pl
    vendor/perl/dist/cpan/Devel-PPPort/devel/devtools.pl
    vendor/perl/dist/cpan/Devel-PPPort/devel/mkapidoc.sh
    vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo
    vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo.pl
    vendor/perl/dist/cpan/Devel-PPPort/devel/regenerate
    vendor/perl/dist/cpan/Devel-PPPort/devel/scanprov
    vendor/perl/dist/cpan/Devel-PPPort/mktests.PL
    vendor/perl/dist/cpan/Devel-PPPort/module2.c
    vendor/perl/dist/cpan/Devel-PPPort/module3.c
    vendor/perl/dist/cpan/Devel-PPPort/parts/apicheck.pl
    vendor/perl/dist/cpan/Devel-PPPort/parts/apidoc.fnc
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004050
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007003
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009003
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009004
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009005
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5011000
    vendor/perl/dist/cpan/Devel-PPPort/parts/embed.fnc
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/HvNAME
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/MY_CXT
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvPV
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvREFCNT
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/Sv_set
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/call
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/cop
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/exception
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/format
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/grok
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/gv
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/limits
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/mPUSH
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/magic
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/memory
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/misc
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newCONSTSUB
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newRV
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSV_type
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSVpv
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/podtest
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphbin
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphdoc
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphtest
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pv_tools
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pvs
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/shared_pv
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/snprintf
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sprintf
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/strlfuncs
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sv_xpvf
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/threads
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/uv
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/variables
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/version
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/warn
    vendor/perl/dist/cpan/Devel-PPPort/parts/ppport.fnc
    vendor/perl/dist/cpan/Devel-PPPort/parts/ppptools.pl
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007003
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009002
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009003
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009004
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009005
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5011000
    vendor/perl/dist/cpan/Devel-PPPort/ppport_h.PL
    vendor/perl/dist/cpan/Devel-PPPort/soak
    vendor/perl/dist/cpan/Devel-PPPort/t/gv.t
    vendor/perl/dist/cpan/Devel-PPPort/t/magic.t
    vendor/perl/dist/cpan/Devel-PPPort/t/memory.t
    vendor/perl/dist/cpan/Devel-PPPort/t/misc.t
    vendor/perl/dist/cpan/Devel-PPPort/t/ppphtest.t
    vendor/perl/dist/cpan/Devel-PPPort/t/pvs.t
    vendor/perl/dist/cpan/Devel-PPPort/typemap
    vendor/perl/dist/cpan/Digest/Changes
    vendor/perl/dist/cpan/Digest/Digest.pm
    vendor/perl/dist/cpan/Digest/t/base.t
    vendor/perl/dist/cpan/Digest/t/digest.t
    vendor/perl/dist/cpan/Digest/t/file.t
    vendor/perl/dist/cpan/Digest-MD5/Changes
    vendor/perl/dist/cpan/Digest-MD5/MD5.pm
    vendor/perl/dist/cpan/Digest-MD5/MD5.xs
    vendor/perl/dist/cpan/Digest-MD5/Makefile.PL
    vendor/perl/dist/cpan/Digest-MD5/README
    vendor/perl/dist/cpan/Digest-MD5/t/files.t
    vendor/perl/dist/cpan/Digest-SHA/Changes
    vendor/perl/dist/cpan/Digest-SHA/Makefile.PL
    vendor/perl/dist/cpan/Digest-SHA/README
    vendor/perl/dist/cpan/Digest-SHA/SHA.xs
    vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm
    vendor/perl/dist/cpan/Digest-SHA/shasum
    vendor/perl/dist/cpan/Digest-SHA/src/sha.c
    vendor/perl/dist/cpan/Digest-SHA/src/sha.h
    vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c
    vendor/perl/dist/cpan/Digest-SHA/t/base64.t
    vendor/perl/dist/cpan/Digest-SHA/t/dumpload.t
    vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t
    vendor/perl/dist/cpan/Digest-SHA/t/gg.t
    vendor/perl/dist/cpan/Digest-SHA/t/gglong.t
    vendor/perl/dist/cpan/Digest-SHA/t/methods.t
    vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t
    vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha384.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha512.t
    vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t
    vendor/perl/dist/cpan/Encode/Byte/Byte.pm
    vendor/perl/dist/cpan/Encode/CN/CN.pm
    vendor/perl/dist/cpan/Encode/Changes
    vendor/perl/dist/cpan/Encode/EBCDIC/EBCDIC.pm
    vendor/perl/dist/cpan/Encode/Encode/Changes.e2x
    vendor/perl/dist/cpan/Encode/Encode/Makefile_PL.e2x
    vendor/perl/dist/cpan/Encode/Encode.pm
    vendor/perl/dist/cpan/Encode/Encode.xs
    vendor/perl/dist/cpan/Encode/JP/JP.pm
    vendor/perl/dist/cpan/Encode/KR/KR.pm
    vendor/perl/dist/cpan/Encode/MANIFEST
    vendor/perl/dist/cpan/Encode/META.yml
    vendor/perl/dist/cpan/Encode/Makefile.PL
    vendor/perl/dist/cpan/Encode/Symbol/Symbol.pm
    vendor/perl/dist/cpan/Encode/TW/TW.pm
    vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm
    vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs
    vendor/perl/dist/cpan/Encode/bin/enc2xs
    vendor/perl/dist/cpan/Encode/bin/piconv
    vendor/perl/dist/cpan/Encode/bin/ucm2table
    vendor/perl/dist/cpan/Encode/bin/ucmlint
    vendor/perl/dist/cpan/Encode/bin/ucmsort
    vendor/perl/dist/cpan/Encode/encoding.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/CJKConstants.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Config.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Encoder.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/JP/H2Z.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Supported.pod
    vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm
    vendor/perl/dist/cpan/Encode/t/Encode.t
    vendor/perl/dist/cpan/Encode/t/Encoder.t
    vendor/perl/dist/cpan/Encode/t/Mod_EUCJP.pm
    vendor/perl/dist/cpan/Encode/t/Unicode.t
    vendor/perl/dist/cpan/Encode/t/enc_data.t
    vendor/perl/dist/cpan/Encode/t/enc_eucjp.t
    vendor/perl/dist/cpan/Encode/t/enc_module.t
    vendor/perl/dist/cpan/Encode/t/enc_utf8.t
    vendor/perl/dist/cpan/Encode/t/encoding.t
    vendor/perl/dist/cpan/Encode/t/from_to.t
    vendor/perl/dist/cpan/Encode/t/gsm0338.t
    vendor/perl/dist/cpan/Encode/t/jperl.t
    vendor/perl/dist/cpan/Encode/t/mime-header.t
    vendor/perl/dist/cpan/Encode/t/mime-name.t
    vendor/perl/dist/cpan/Encode/t/piconv.t
    vendor/perl/dist/cpan/Encode/t/rt.pl
    vendor/perl/dist/cpan/Encode/t/utf8ref.t
    vendor/perl/dist/cpan/Encode/ucm/8859-1.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-10.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-11.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-13.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-14.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-15.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-16.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-2.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-3.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-4.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-5.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-6.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-7.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-8.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-9.ucm
    vendor/perl/dist/cpan/Encode/ucm/adobeStdenc.ucm
    vendor/perl/dist/cpan/Encode/ucm/adobeSymbol.ucm
    vendor/perl/dist/cpan/Encode/ucm/adobeZdingbat.ucm
    vendor/perl/dist/cpan/Encode/ucm/ascii.ucm
    vendor/perl/dist/cpan/Encode/ucm/big5-eten.ucm
    vendor/perl/dist/cpan/Encode/ucm/big5-hkscs.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp037.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1006.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1026.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1047.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1250.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1251.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1252.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1253.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1254.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1255.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1256.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1257.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1258.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp424.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp437.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp500.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp737.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp775.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp850.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp852.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp855.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp856.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp857.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp858.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp860.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp861.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp862.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp863.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp864.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp865.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp866.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp869.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp874.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp875.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp932.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp936.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp949.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp950.ucm
    vendor/perl/dist/cpan/Encode/ucm/ctrl.ucm
    vendor/perl/dist/cpan/Encode/ucm/dingbats.ucm
    vendor/perl/dist/cpan/Encode/ucm/euc-cn.ucm
    vendor/perl/dist/cpan/Encode/ucm/euc-jp.ucm
    vendor/perl/dist/cpan/Encode/ucm/euc-kr.ucm
    vendor/perl/dist/cpan/Encode/ucm/gb12345.ucm
    vendor/perl/dist/cpan/Encode/ucm/gb2312.ucm
    vendor/perl/dist/cpan/Encode/ucm/hp-roman8.ucm
    vendor/perl/dist/cpan/Encode/ucm/ir-165.ucm
    vendor/perl/dist/cpan/Encode/ucm/jis0201.ucm
    vendor/perl/dist/cpan/Encode/ucm/jis0208.ucm
    vendor/perl/dist/cpan/Encode/ucm/jis0212.ucm
    vendor/perl/dist/cpan/Encode/ucm/johab.ucm
    vendor/perl/dist/cpan/Encode/ucm/koi8-f.ucm
    vendor/perl/dist/cpan/Encode/ucm/koi8-r.ucm
    vendor/perl/dist/cpan/Encode/ucm/koi8-u.ucm
    vendor/perl/dist/cpan/Encode/ucm/ksc5601.ucm
    vendor/perl/dist/cpan/Encode/ucm/macArabic.ucm
    vendor/perl/dist/cpan/Encode/ucm/macCentEuro.ucm
    vendor/perl/dist/cpan/Encode/ucm/macChinsimp.ucm
    vendor/perl/dist/cpan/Encode/ucm/macChintrad.ucm
    vendor/perl/dist/cpan/Encode/ucm/macCroatian.ucm
    vendor/perl/dist/cpan/Encode/ucm/macCyrillic.ucm
    vendor/perl/dist/cpan/Encode/ucm/macDingbats.ucm
    vendor/perl/dist/cpan/Encode/ucm/macFarsi.ucm
    vendor/perl/dist/cpan/Encode/ucm/macGreek.ucm
    vendor/perl/dist/cpan/Encode/ucm/macHebrew.ucm
    vendor/perl/dist/cpan/Encode/ucm/macIceland.ucm
    vendor/perl/dist/cpan/Encode/ucm/macJapanese.ucm
    vendor/perl/dist/cpan/Encode/ucm/macKorean.ucm
    vendor/perl/dist/cpan/Encode/ucm/macROMnn.ucm
    vendor/perl/dist/cpan/Encode/ucm/macRUMnn.ucm
    vendor/perl/dist/cpan/Encode/ucm/macRoman.ucm
    vendor/perl/dist/cpan/Encode/ucm/macSami.ucm
    vendor/perl/dist/cpan/Encode/ucm/macSymbol.ucm
    vendor/perl/dist/cpan/Encode/ucm/macThai.ucm
    vendor/perl/dist/cpan/Encode/ucm/macTurkish.ucm
    vendor/perl/dist/cpan/Encode/ucm/macUkraine.ucm
    vendor/perl/dist/cpan/Encode/ucm/nextstep.ucm
    vendor/perl/dist/cpan/Encode/ucm/null.ucm
    vendor/perl/dist/cpan/Encode/ucm/posix-bc.ucm
    vendor/perl/dist/cpan/Encode/ucm/shiftjis.ucm
    vendor/perl/dist/cpan/Encode/ucm/symbol.ucm
    vendor/perl/dist/cpan/Encode/ucm/viscii.ucm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/Changes
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/MANIFEST
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/00compile.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Liblist.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_OS2.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Win32.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/hints.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/SAS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/miniperl.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/oneliner.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_abstract.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pod2man.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/several_authors.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/split_command.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/xs.t
    vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm
    vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t
    vendor/perl/dist/cpan/File-Path/lib/File/Path.pm
    vendor/perl/dist/cpan/File-Temp/t/cmp.t
    vendor/perl/dist/cpan/File-Temp/t/mktemp.t
    vendor/perl/dist/cpan/File-Temp/t/object.t
    vendor/perl/dist/cpan/File-Temp/t/posix.t
    vendor/perl/dist/cpan/File-Temp/t/security.t
    vendor/perl/dist/cpan/File-Temp/t/tempfile.t
    vendor/perl/dist/cpan/Filter-Util-Call/Call.pm
    vendor/perl/dist/cpan/Filter-Util-Call/Call.xs
    vendor/perl/dist/cpan/Filter-Util-Call/t/call.t
    vendor/perl/dist/cpan/Getopt-Long/CHANGES
    vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm
    vendor/perl/dist/cpan/Getopt-Long/t/gol-oo.t
    vendor/perl/dist/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
    vendor/perl/dist/cpan/HTTP-Tiny/t/00-compile.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/000_load.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/001_api.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/002_croakage.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/010_url.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/020_headers.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/030_response.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/040_content.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/050_chunked_body.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/060_http_date.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/100_get.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/110_mirror.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/130_redirect.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/Util.pm
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-01.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-02.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-03.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-04.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-05.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-06.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-07.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-08.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-09.txt
    vendor/perl/dist/cpan/IO-Compress/Changes
    vendor/perl/dist/cpan/IO-Compress/Makefile.PL
    vendor/perl/dist/cpan/IO-Compress/README
    vendor/perl/dist/cpan/IO-Compress/lib/Compress/Zlib.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
    vendor/perl/dist/cpan/IO-Compress/t/000prereq.t
    vendor/perl/dist/cpan/IO-Compress/t/004gziphdr.t
    vendor/perl/dist/cpan/IO-Compress/t/005defhdr.t
    vendor/perl/dist/cpan/IO-Compress/t/006zip.t
    vendor/perl/dist/cpan/IO-Compress/t/010examples-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/010examples-zlib.t
    vendor/perl/dist/cpan/IO-Compress/t/01misc.t
    vendor/perl/dist/cpan/IO-Compress/t/050interop-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-bzip2-only.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-only.t
    vendor/perl/dist/cpan/IO-Compress/t/compress/CompTestUtils.pm
    vendor/perl/dist/cpan/IO-Compress/t/compress/encode.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/generic.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/merge.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/oneshot.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/truncate.pl
    vendor/perl/dist/cpan/IO-Compress/t/cz-03zlib-v1.t
    vendor/perl/dist/cpan/IO-Compress/t/cz-06gzsetp.t
    vendor/perl/dist/cpan/IO-Compress/t/cz-14gzopen.t
    vendor/perl/dist/cpan/IO-Compress/t/globmapper.t
    vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm
    vendor/perl/dist/cpan/IPC-SysV/Makefile.PL
    vendor/perl/dist/cpan/IPC-SysV/SysV.xs
    vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Msg.pm
    vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Semaphore.pm
    vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SharedMem.pm
    vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SysV.pm
    vendor/perl/dist/cpan/IPC-SysV/t/ipcsysv.t
    vendor/perl/dist/cpan/IPC-SysV/t/msg.t
    vendor/perl/dist/cpan/IPC-SysV/t/pod.t
    vendor/perl/dist/cpan/IPC-SysV/t/podcov.t
    vendor/perl/dist/cpan/IPC-SysV/t/sem.t
    vendor/perl/dist/cpan/IPC-SysV/t/shm.t
    vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm
    vendor/perl/dist/cpan/JSON-PP/t/019_incr.t
    vendor/perl/dist/cpan/List-Util/Changes
    vendor/perl/dist/cpan/List-Util/ListUtil.xs
    vendor/perl/dist/cpan/List-Util/Makefile.PL
    vendor/perl/dist/cpan/List-Util/lib/List/Util/XS.pm
    vendor/perl/dist/cpan/List-Util/lib/List/Util.pm
    vendor/perl/dist/cpan/List-Util/lib/Scalar/Util.pm
    vendor/perl/dist/cpan/List-Util/t/dualvar.t
    vendor/perl/dist/cpan/List-Util/t/first.t
    vendor/perl/dist/cpan/List-Util/t/max.t
    vendor/perl/dist/cpan/List-Util/t/min.t
    vendor/perl/dist/cpan/List-Util/t/openhan.t
    vendor/perl/dist/cpan/List-Util/t/reduce.t
    vendor/perl/dist/cpan/List-Util/t/reftype.t
    vendor/perl/dist/cpan/List-Util/t/sum.t
    vendor/perl/dist/cpan/List-Util/t/tainted.t
    vendor/perl/dist/cpan/Locale-Codes/ChangeLog
    vendor/perl/dist/cpan/Locale-Codes/README.first
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod
    vendor/perl/dist/cpan/Locale-Codes/t/alias_code.t
    vendor/perl/dist/cpan/Locale-Codes/t/code2country.t
    vendor/perl/dist/cpan/Locale-Codes/t/code2currency.t
    vendor/perl/dist/cpan/Locale-Codes/t/code2language.t
    vendor/perl/dist/cpan/Locale-Codes/t/code2script.t
    vendor/perl/dist/cpan/Locale-Codes/t/country.t
    vendor/perl/dist/cpan/Locale-Codes/t/country2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/country_code2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/currency2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/language.t
    vendor/perl/dist/cpan/Locale-Codes/t/language2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/script2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl
    vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Config.pm
    vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Handlers.pm
    vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Item.pm
    vendor/perl/dist/cpan/Log-Message/lib/Log/Message.pm
    vendor/perl/dist/cpan/Log-Message/t/01_Log-Message-Config.t
    vendor/perl/dist/cpan/Log-Message/t/02_Log-Message.t
    vendor/perl/dist/cpan/Log-Message/t/conf/config_file
    vendor/perl/dist/cpan/Log-Message-Simple/lib/Log/Message/Simple.pm
    vendor/perl/dist/cpan/Log-Message-Simple/t/02_imports.t
    vendor/perl/dist/cpan/Log-Message-Simple/t/03_functions.t
    vendor/perl/dist/cpan/Math-Complex/lib/Math/Complex.pm
    vendor/perl/dist/cpan/Math-Complex/lib/Math/Trig.pm
    vendor/perl/dist/cpan/Math-Complex/t/Complex.t
    vendor/perl/dist/cpan/Math-Complex/t/Trig.t
    vendor/perl/dist/cpan/Memoize/Memoize/AnyDBM_File.pm
    vendor/perl/dist/cpan/Memoize/Memoize/Expire.pm
    vendor/perl/dist/cpan/Memoize/Memoize/ExpireFile.pm
    vendor/perl/dist/cpan/Memoize/Memoize/ExpireTest.pm
    vendor/perl/dist/cpan/Memoize/Memoize/NDBM_File.pm
    vendor/perl/dist/cpan/Memoize/Memoize/SDBM_File.pm
    vendor/perl/dist/cpan/Memoize/Memoize/Storable.pm
    vendor/perl/dist/cpan/Memoize/Memoize.pm
    vendor/perl/dist/cpan/Memoize/TODO
    vendor/perl/dist/cpan/Memoize/t/array_confusion.t
    vendor/perl/dist/cpan/Module-Build/Changes
    vendor/perl/dist/cpan/Module-Build/bin/config_data
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/API.pod
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Authoring.pod
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Base.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Compat.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Config.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Cookbook.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Dumper.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Notes.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PPMMaker.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Default.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/aix.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/os2.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PodParser.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build.pm
    vendor/perl/dist/cpan/Module-Build/lib/inc/latest/private.pm
    vendor/perl/dist/cpan/Module-Build/lib/inc/latest.pm
    vendor/perl/dist/cpan/Module-Build/t/bundled/Tie/CPHash.pm
    vendor/perl/dist/cpan/Module-Build/t/install.t
    vendor/perl/dist/cpan/Module-Build/t/metadata.t
    vendor/perl/dist/cpan/Module-Build/t/mymeta.t
    vendor/perl/dist/cpan/Module-Build/t/pod_parser.t
    vendor/perl/dist/cpan/Module-Build/t/properties/share_dir.t
    vendor/perl/dist/cpan/Module-Build/t/tilde.t
    vendor/perl/dist/cpan/Module-Build/t/use_tap_harness.t
    vendor/perl/dist/cpan/Module-Load/lib/Module/Load.pm
    vendor/perl/dist/cpan/Module-Load/t/01_Module-Load.t
    vendor/perl/dist/cpan/Module-Load-Conditional/lib/Module/Load/Conditional.pm
    vendor/perl/dist/cpan/Module-Load-Conditional/t/01_Module_Load_Conditional.t
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/Commented.pm
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadIt.pm
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/MustBe/Loaded.pm
    vendor/perl/dist/cpan/Module-Loaded/lib/Module/Loaded.pm
    vendor/perl/dist/cpan/Module-Loaded/t/01_Module-Loaded.t
    vendor/perl/dist/cpan/Module-Metadata/lib/Module/Metadata.pm
    vendor/perl/dist/cpan/Module-Metadata/t/lib/Tie/CPHash.pm
    vendor/perl/dist/cpan/Module-Metadata/t/metadata.t
    vendor/perl/dist/cpan/Module-Pluggable/lib/Devel/InnerPackage.pm
    vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm
    vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/19can_ok_clobber.t
    vendor/perl/dist/cpan/Object-Accessor/lib/Object/Accessor.pm
    vendor/perl/dist/cpan/Object-Accessor/t/01_Object-Accessor-Subclassed.t
    vendor/perl/dist/cpan/Object-Accessor/t/02_Object-Accessor-allow.t
    vendor/perl/dist/cpan/Object-Accessor/t/03_Object-Accessor-local.t
    vendor/perl/dist/cpan/Object-Accessor/t/04_Object-Accessor-lvalue.t
    vendor/perl/dist/cpan/Object-Accessor/t/05_Object-Accessor-callback.t
    vendor/perl/dist/cpan/Params-Check/lib/Params/Check.pm
    vendor/perl/dist/cpan/Params-Check/t/01_Params-Check.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/Changes
    vendor/perl/dist/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/01_compile.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/02_api.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/03_functions.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/04_export.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/05_errors.t
    vendor/perl/dist/cpan/Perl-OSType/lib/Perl/OSType.pm
    vendor/perl/dist/cpan/Perl-OSType/t/OSType.t
    vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/lib/PerlIO/via/QuotedPrint.pm
    vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/t/QuotedPrint.t
    vendor/perl/dist/cpan/Pod-LaTeX/lib/Pod/LaTeX.pm
    vendor/perl/dist/cpan/Pod-LaTeX/pod2latex.PL
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Find.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/InputObjects.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/ParseUtils.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Parser.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/PlainText.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Select.pm
    vendor/perl/dist/cpan/Pod-Parser/scripts/podselect.PL
    vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_bad_pod.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/find.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/for.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/for.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/include.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/include.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/included.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/included.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/testcmp.pl
    vendor/perl/dist/cpan/Pod-Parser/t/pod/testp2pt.pl
    vendor/perl/dist/cpan/Pod-Parser/t/pod/testpchk.pl
    vendor/perl/dist/cpan/Pod-Parser/t/pod/testpods/lib/Pod/Stuff.pm
    vendor/perl/dist/cpan/Pod-Parser/t/pod/twice.t
    vendor/perl/dist/cpan/Pod-Simple/ChangeLog
    vendor/perl/dist/cpan/Pod-Simple/README
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Search.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Text.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pod
    vendor/perl/dist/cpan/Pod-Simple/t/cbacks.t
    vendor/perl/dist/cpan/Pod-Simple/t/closeys.t
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus.t
    vendor/perl/dist/cpan/Pod-Simple/t/fcodes_l.t
    vendor/perl/dist/cpan/Pod-Simple/t/fcodes_s.t
    vendor/perl/dist/cpan/Pod-Simple/t/html01.t
    vendor/perl/dist/cpan/Pod-Simple/t/items.t
    vendor/perl/dist/cpan/Pod-Simple/t/items02.t
    vendor/perl/dist/cpan/Pod-Simple/t/perlfaq.pod
    vendor/perl/dist/cpan/Pod-Simple/t/perlfaqo.txt
    vendor/perl/dist/cpan/Pod-Simple/t/pulltitl.t
    vendor/perl/dist/cpan/Pod-Simple/t/search05.t
    vendor/perl/dist/cpan/Pod-Simple/t/search10.t
    vendor/perl/dist/cpan/Pod-Simple/t/search12.t
    vendor/perl/dist/cpan/Pod-Simple/t/search20.t
    vendor/perl/dist/cpan/Pod-Simple/t/search50.t
    vendor/perl/dist/cpan/Pod-Simple/t/strpvbtm.t
    vendor/perl/dist/cpan/Pod-Simple/t/x_nixer.t
    vendor/perl/dist/cpan/Pod-Simple/t/xhtml01.t
    vendor/perl/dist/cpan/Pod-Simple/t/xhtml10.t
    vendor/perl/dist/cpan/Sys-Syslog/Changes
    vendor/perl/dist/cpan/Sys-Syslog/Makefile.PL
    vendor/perl/dist/cpan/Sys-Syslog/README
    vendor/perl/dist/cpan/Sys-Syslog/README.win32
    vendor/perl/dist/cpan/Sys-Syslog/Syslog.pm
    vendor/perl/dist/cpan/Sys-Syslog/Syslog.xs
    vendor/perl/dist/cpan/Sys-Syslog/t/constants.t
    vendor/perl/dist/cpan/Sys-Syslog/t/syslog.t
    vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog.mc
    vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_dll.uu
    vendor/perl/dist/cpan/Sys-Syslog/win32/compile.pl
    vendor/perl/dist/cpan/Term-ANSIColor/ANSIColor.pm
    vendor/perl/dist/cpan/Term-ANSIColor/ChangeLog
    vendor/perl/dist/cpan/Term-ANSIColor/README
    vendor/perl/dist/cpan/Term-ANSIColor/t/basic.t
    vendor/perl/dist/cpan/Term-Cap/Cap.pm
    vendor/perl/dist/cpan/Term-UI/lib/Term/UI/History.pm
    vendor/perl/dist/cpan/Term-UI/lib/Term/UI.pm
    vendor/perl/dist/cpan/Term-UI/t/00_load.t
    vendor/perl/dist/cpan/Term-UI/t/01_history.t
    vendor/perl/dist/cpan/Term-UI/t/02_ui.t
    vendor/perl/dist/cpan/Test/lib/Test.pm
    vendor/perl/dist/cpan/Test-Harness/Changes
    vendor/perl/dist/cpan/Test-Harness/MANIFEST
    vendor/perl/dist/cpan/Test-Harness/MANIFEST.CUMMULATIVE
    vendor/perl/dist/cpan/Test-Harness/bin/prove
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Utils.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm
    vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm
    vendor/perl/dist/cpan/Test-Harness/t/harness.t
    vendor/perl/dist/cpan/Test-Harness/t/prove.t
    vendor/perl/dist/cpan/Test-Harness/t/source.t
    vendor/perl/dist/cpan/Test-Harness/t/source_handler.t
    vendor/perl/dist/cpan/Test-Simple/t/fail-more.t
    vendor/perl/dist/cpan/Text-ParseWords/lib/Text/ParseWords.pm
    vendor/perl/dist/cpan/Text-Soundex/Changes
    vendor/perl/dist/cpan/Text-Soundex/Soundex.pm
    vendor/perl/dist/cpan/Text-Soundex/Soundex.xs
    vendor/perl/dist/cpan/Text-Soundex/t/Soundex.t
    vendor/perl/dist/cpan/Text-Tabs/CHANGELOG
    vendor/perl/dist/cpan/Text-Tabs/lib/Text/Tabs.pm
    vendor/perl/dist/cpan/Text-Tabs/lib/Text/Wrap.pm
    vendor/perl/dist/cpan/Text-Tabs/t/Jacobson.t
    vendor/perl/dist/cpan/Text-Tabs/t/Jacobson2.t
    vendor/perl/dist/cpan/Time-HiRes/Changes
    vendor/perl/dist/cpan/Time-HiRes/HiRes.pm
    vendor/perl/dist/cpan/Time-HiRes/HiRes.xs
    vendor/perl/dist/cpan/Time-HiRes/Makefile.PL
    vendor/perl/dist/cpan/Time-Local/lib/Time/Local.pm
    vendor/perl/dist/cpan/Time-Local/t/Local.t
    vendor/perl/dist/cpan/Time-Piece/t/02core.t
    vendor/perl/dist/cpan/Unicode-Collate/Changes
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ru.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt
    vendor/perl/dist/cpan/Unicode-Collate/Collate.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate.xs
    vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL
    vendor/perl/dist/cpan/Unicode-Collate/README
    vendor/perl/dist/cpan/Unicode-Collate/mkheader
    vendor/perl/dist/cpan/Unicode-Collate/t/altern.t
    vendor/perl/dist/cpan/Unicode-Collate/t/backwds.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_b5.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_gb.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ja.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ko.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_py.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_st.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t
    vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t
    vendor/perl/dist/cpan/Unicode-Collate/t/contract.t
    vendor/perl/dist/cpan/Unicode-Collate/t/default.t
    vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t
    vendor/perl/dist/cpan/Unicode-Collate/t/hangul.t
    vendor/perl/dist/cpan/Unicode-Collate/t/ignor.t
    vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t
    vendor/perl/dist/cpan/Unicode-Collate/t/illegalp.t
    vendor/perl/dist/cpan/Unicode-Collate/t/index.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ar.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_be.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_bg.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ca.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_cy.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_cyrl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_da.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_de.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_deph.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fi.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ha.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_haw.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_hr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_hu.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_hy.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ig.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_is.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ja.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_jait.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_japr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_kk.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_kl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ko.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_lt.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_lv.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_mk.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_mt.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_nb.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_nn.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_nso.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_om.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ro.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ru.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sk.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sq.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sv.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sw.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_test.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_tn.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_to.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_tr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_uk.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_vi.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zh.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhb5.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhgb.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhpy.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhst.t
    vendor/perl/dist/cpan/Unicode-Collate/t/nonchar.t
    vendor/perl/dist/cpan/Unicode-Collate/t/normal.t
    vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t
    vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t
    vendor/perl/dist/cpan/Unicode-Collate/t/override.t
    vendor/perl/dist/cpan/Unicode-Collate/t/rearrang.t
    vendor/perl/dist/cpan/Unicode-Collate/t/test.t
    vendor/perl/dist/cpan/Unicode-Collate/t/trailwt.t
    vendor/perl/dist/cpan/Unicode-Collate/t/variable.t
    vendor/perl/dist/cpan/Unicode-Collate/t/version.t
    vendor/perl/dist/cpan/Unicode-Collate/t/view.t
    vendor/perl/dist/cpan/Unicode-Normalize/Changes
    vendor/perl/dist/cpan/Unicode-Normalize/Makefile.PL
    vendor/perl/dist/cpan/Unicode-Normalize/Normalize.pm
    vendor/perl/dist/cpan/Unicode-Normalize/Normalize.xs
    vendor/perl/dist/cpan/Unicode-Normalize/README
    vendor/perl/dist/cpan/Unicode-Normalize/mkheader
    vendor/perl/dist/cpan/Unicode-Normalize/t/fcdc.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/form.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/func.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/illegal.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/norm.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/partial1.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/partial2.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/proto.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/split.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/test.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/tie.t
    vendor/perl/dist/cpan/Win32/Changes
    vendor/perl/dist/cpan/Win32/Makefile.PL
    vendor/perl/dist/cpan/Win32/Win32.pm
    vendor/perl/dist/cpan/Win32/Win32.xs
    vendor/perl/dist/cpan/Win32/longpath.inc
    vendor/perl/dist/cpan/Win32/t/CreateFile.t
    vendor/perl/dist/cpan/Win32/t/ExpandEnvironmentStrings.t
    vendor/perl/dist/cpan/Win32/t/GetCurrentThreadId.t
    vendor/perl/dist/cpan/Win32/t/GetFileVersion.t
    vendor/perl/dist/cpan/Win32/t/GetFolderPath.t
    vendor/perl/dist/cpan/Win32/t/GetFullPathName.t
    vendor/perl/dist/cpan/Win32/t/GetLongPathName.t
    vendor/perl/dist/cpan/Win32/t/GetOSName.t
    vendor/perl/dist/cpan/Win32/t/GetOSVersion.t
    vendor/perl/dist/cpan/Win32/t/GetShortPathName.t
    vendor/perl/dist/cpan/Win32/t/GuidGen.t
    vendor/perl/dist/cpan/Win32/t/Names.t
    vendor/perl/dist/cpan/Win32/t/Unicode.t
    vendor/perl/dist/cpan/Win32API-File/Changes
    vendor/perl/dist/cpan/Win32API-File/File.pm
    vendor/perl/dist/cpan/Win32API-File/File.xs
    vendor/perl/dist/cpan/Win32API-File/Makefile.PL
    vendor/perl/dist/cpan/Win32API-File/README
    vendor/perl/dist/cpan/Win32API-File/buffers.h
    vendor/perl/dist/cpan/Win32API-File/cFile.pc
    vendor/perl/dist/cpan/Win32API-File/t/file.t
    vendor/perl/dist/cpan/Win32API-File/t/tie.t
    vendor/perl/dist/cpan/autodie/lib/Fatal.pm
    vendor/perl/dist/cpan/autodie/lib/autodie/exception/system.pm
    vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm
    vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm
    vendor/perl/dist/cpan/autodie/lib/autodie.pm
    vendor/perl/dist/cpan/autodie/t/backcompat.t
    vendor/perl/dist/cpan/autodie/t/exceptions.t
    vendor/perl/dist/cpan/autodie/t/hints_pod_examples.t
    vendor/perl/dist/cpan/autodie/t/recv.t
    vendor/perl/dist/cpan/encoding-warnings/t/1-warning.t
    vendor/perl/dist/cpan/encoding-warnings/t/2-fatal.t
    vendor/perl/dist/cpan/parent/t/parent.t
    vendor/perl/dist/cpan/podlators/VERSION
    vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm
    vendor/perl/dist/cpan/podlators/scripts/pod2man.PL
    vendor/perl/dist/cpan/podlators/scripts/pod2text.PL
    vendor/perl/dist/cpan/podlators/t/basic.t
    vendor/perl/dist/cpan/podlators/t/color.t
    vendor/perl/dist/cpan/podlators/t/filehandle.t
    vendor/perl/dist/cpan/podlators/t/man-heading.t
    vendor/perl/dist/cpan/podlators/t/man-options.t
    vendor/perl/dist/cpan/podlators/t/man-perlio.t
    vendor/perl/dist/cpan/podlators/t/man-utf8.t
    vendor/perl/dist/cpan/podlators/t/man.t
    vendor/perl/dist/cpan/podlators/t/overstrike.t
    vendor/perl/dist/cpan/podlators/t/pod-parser.t
    vendor/perl/dist/cpan/podlators/t/termcap.t
    vendor/perl/dist/cpan/podlators/t/text-encoding.t
    vendor/perl/dist/cpan/podlators/t/text-options.t
    vendor/perl/dist/cpan/podlators/t/text-perlio.t
    vendor/perl/dist/cpan/podlators/t/text-utf8.t
    vendor/perl/dist/cpan/podlators/t/text.t
    vendor/perl/dist/cv.h
    vendor/perl/dist/cygwin/cygwin.c
    vendor/perl/dist/deb.c
    vendor/perl/dist/dist/Attribute-Handlers/Changes
    vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
    vendor/perl/dist/dist/B-Deparse/Deparse.pm
    vendor/perl/dist/dist/B-Deparse/t/deparse.t
    vendor/perl/dist/dist/Cwd/Cwd.pm
    vendor/perl/dist/dist/Cwd/Cwd.xs
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Cygwin.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Epoc.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Functions.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Mac.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/OS2.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Unix.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/VMS.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Win32.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec.pm
    vendor/perl/dist/dist/Cwd/t/Spec.t
    vendor/perl/dist/dist/Cwd/t/cwd.t
    vendor/perl/dist/dist/Cwd/t/rel2abs2rel.t
    vendor/perl/dist/dist/Cwd/t/taint.t
    vendor/perl/dist/dist/Data-Dumper/Changes
    vendor/perl/dist/dist/Data-Dumper/Dumper.pm
    vendor/perl/dist/dist/Data-Dumper/Dumper.xs
    vendor/perl/dist/dist/Data-Dumper/t/bless.t
    vendor/perl/dist/dist/Data-Dumper/t/bugs.t
    vendor/perl/dist/dist/Data-Dumper/t/dumper.t
    vendor/perl/dist/dist/Data-Dumper/t/freezer.t
    vendor/perl/dist/dist/Data-Dumper/t/perl-74170.t
    vendor/perl/dist/dist/Data-Dumper/t/terse.t
    vendor/perl/dist/dist/Dumpvalue/lib/Dumpvalue.pm
    vendor/perl/dist/dist/Env/lib/Env.pm
    vendor/perl/dist/dist/Env/t/array.t
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/t/04-base.t
    vendor/perl/dist/dist/ExtUtils-Install/Changes
    vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
    vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Installed.pm
    vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm
    vendor/perl/dist/dist/ExtUtils-Install/t/Installed.t
    vendor/perl/dist/dist/ExtUtils-Install/t/Packlist.t
    vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm
    vendor/perl/dist/dist/ExtUtils-Manifest/t/Manifest.t
    vendor/perl/dist/dist/ExtUtils-ParseXS/Changes
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSMore.xs
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs
    vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm
    vendor/perl/dist/dist/Filter-Simple/t/filter_only.t
    vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterOnlyTest.pm
    vendor/perl/dist/dist/I18N-LangTags/ChangeLog
    vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm
    vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm
    vendor/perl/dist/dist/IO/IO.pm
    vendor/perl/dist/dist/IO/IO.xs
    vendor/perl/dist/dist/IO/Makefile.PL
    vendor/perl/dist/dist/IO/lib/IO/Dir.pm
    vendor/perl/dist/dist/IO/lib/IO/File.pm
    vendor/perl/dist/dist/IO/lib/IO/Handle.pm
    vendor/perl/dist/dist/IO/lib/IO/Pipe.pm
    vendor/perl/dist/dist/IO/lib/IO/Poll.pm
    vendor/perl/dist/dist/IO/lib/IO/Select.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket.pm
    vendor/perl/dist/dist/IO/t/IO.t
    vendor/perl/dist/dist/IO/t/io_taint.t
    vendor/perl/dist/dist/IO/t/io_utf8.t
    vendor/perl/dist/dist/IO/t/io_xs.t
    vendor/perl/dist/dist/Locale-Maketext/ChangeLog
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Guts.pm
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/GutsLoader.pm
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod
    vendor/perl/dist/dist/Locale-Maketext/t/09_compile.t
    vendor/perl/dist/dist/Math-BigInt/lib/Math/BigFloat.pm
    vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/Calc.pm
    vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
    vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt.pm
    vendor/perl/dist/dist/Math-BigInt/t/bare_mbi.t
    vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.inc
    vendor/perl/dist/dist/Math-BigInt/t/bigintpm.inc
    vendor/perl/dist/dist/Math-BigInt/t/bigintpm.t
    vendor/perl/dist/dist/Math-BigInt/t/sub_mbi.t
    vendor/perl/dist/dist/Math-BigInt-FastCalc/FastCalc.xs
    vendor/perl/dist/dist/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm
    vendor/perl/dist/dist/Math-BigRat/lib/Math/BigRat.pm
    vendor/perl/dist/dist/Math-BigRat/t/bigrat.t
    vendor/perl/dist/dist/Module-CoreList/Changes
    vendor/perl/dist/dist/Module-CoreList/MANIFEST
    vendor/perl/dist/dist/Module-CoreList/Makefile.PL
    vendor/perl/dist/dist/Module-CoreList/corelist
    vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm
    vendor/perl/dist/dist/Module-CoreList/t/deprecated.t
    vendor/perl/dist/dist/Module-CoreList/t/find_modules.t
    vendor/perl/dist/dist/Net-Ping/Changes
    vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm
    vendor/perl/dist/dist/Net-Ping/t/110_icmp_inst.t
    vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t
    vendor/perl/dist/dist/Net-Ping/t/250_ping_hires.t
    vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t
    vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t
    vendor/perl/dist/dist/Net-Ping/t/500_ping_icmp.t
    vendor/perl/dist/dist/Net-Ping/t/510_ping_udp.t
    vendor/perl/dist/dist/Safe/Changes
    vendor/perl/dist/dist/Safe/MANIFEST
    vendor/perl/dist/dist/Safe/META.yml
    vendor/perl/dist/dist/Safe/Safe.pm
    vendor/perl/dist/dist/Safe/t/safeload.t
    vendor/perl/dist/dist/Safe/t/safeops.t
    vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm
    vendor/perl/dist/dist/Storable/ChangeLog
    vendor/perl/dist/dist/Storable/Makefile.PL
    vendor/perl/dist/dist/Storable/Storable.pm
    vendor/perl/dist/dist/Storable/Storable.xs
    vendor/perl/dist/dist/Storable/t/attach_errors.t
    vendor/perl/dist/dist/Storable/t/blessed.t
    vendor/perl/dist/dist/Storable/t/code.t
    vendor/perl/dist/dist/Storable/t/malice.t
    vendor/perl/dist/dist/Storable/t/restrict.t
    vendor/perl/dist/dist/Thread-Queue/lib/Thread/Queue.pm
    vendor/perl/dist/dist/XSLoader/Makefile.PL
    vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL
    vendor/perl/dist/dist/XSLoader/t/XSLoader.t
    vendor/perl/dist/dist/autouse/lib/autouse.pm
    vendor/perl/dist/dist/autouse/t/autouse.t
    vendor/perl/dist/dist/base/Changes
    vendor/perl/dist/dist/base/lib/base.pm
    vendor/perl/dist/dist/base/lib/fields.pm
    vendor/perl/dist/dist/base/t/base.t
    vendor/perl/dist/dist/base/t/fields-5_8_0.t
    vendor/perl/dist/dist/base/t/fields.t
    vendor/perl/dist/dist/bignum/lib/Math/BigFloat/Trace.pm
    vendor/perl/dist/dist/bignum/lib/Math/BigInt/Trace.pm
    vendor/perl/dist/dist/bignum/lib/bigint.pm
    vendor/perl/dist/dist/bignum/lib/bignum.pm
    vendor/perl/dist/dist/bignum/lib/bigrat.pm
    vendor/perl/dist/dist/bignum/t/bigint.t
    vendor/perl/dist/dist/constant/lib/constant.pm
    vendor/perl/dist/dist/constant/t/constant.t
    vendor/perl/dist/dist/constant/t/utf8.t
    vendor/perl/dist/dist/if/if.pm
    vendor/perl/dist/dist/if/t/if.t
    vendor/perl/dist/dist/threads/lib/threads.pm
    vendor/perl/dist/dist/threads/t/exit.t
    vendor/perl/dist/dist/threads/t/thread.t
    vendor/perl/dist/dist/threads/threads.xs
    vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm
    vendor/perl/dist/dist/threads-shared/shared.xs
    vendor/perl/dist/dist/threads-shared/t/clone.t
    vendor/perl/dist/dist/threads-shared/t/stress.t
    vendor/perl/dist/dist/threads-shared/t/waithires.t
    vendor/perl/dist/djgpp/config.over
    vendor/perl/dist/doio.c
    vendor/perl/dist/doop.c
    vendor/perl/dist/dosish.h
    vendor/perl/dist/dquote_static.c
    vendor/perl/dist/dump.c
    vendor/perl/dist/embed.fnc
    vendor/perl/dist/embed.h
    vendor/perl/dist/embedvar.h
    vendor/perl/dist/ext/B/B/Concise.pm
    vendor/perl/dist/ext/B/B/Terse.pm
    vendor/perl/dist/ext/B/B/Xref.pm
    vendor/perl/dist/ext/B/B.pm
    vendor/perl/dist/ext/B/B.xs
    vendor/perl/dist/ext/B/Makefile.PL
    vendor/perl/dist/ext/B/t/OptreeCheck.pm
    vendor/perl/dist/ext/B/t/b.t
    vendor/perl/dist/ext/B/t/concise-xs.t
    vendor/perl/dist/ext/B/t/concise.t
    vendor/perl/dist/ext/B/t/f_map.t
    vendor/perl/dist/ext/B/t/f_sort.t
    vendor/perl/dist/ext/B/t/optree_check.t
    vendor/perl/dist/ext/B/t/optree_constants.t
    vendor/perl/dist/ext/B/t/optree_misc.t
    vendor/perl/dist/ext/B/t/optree_samples.t
    vendor/perl/dist/ext/B/t/optree_sort.t
    vendor/perl/dist/ext/B/t/optree_specials.t
    vendor/perl/dist/ext/B/t/optree_varinit.t
    vendor/perl/dist/ext/B/t/pragma.t
    vendor/perl/dist/ext/B/t/walkoptree.t
    vendor/perl/dist/ext/B/t/xref.t
    vendor/perl/dist/ext/B/typemap
    vendor/perl/dist/ext/Devel-Peek/Changes
    vendor/perl/dist/ext/Devel-Peek/Peek.pm
    vendor/perl/dist/ext/Devel-Peek/Peek.xs
    vendor/perl/dist/ext/Devel-Peek/t/Peek.t
    vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL
    vendor/perl/dist/ext/DynaLoader/dl_aix.xs
    vendor/perl/dist/ext/DynaLoader/dl_dld.xs
    vendor/perl/dist/ext/DynaLoader/dl_dllload.xs
    vendor/perl/dist/ext/DynaLoader/dl_hpux.xs
    vendor/perl/dist/ext/DynaLoader/dl_next.xs
    vendor/perl/dist/ext/DynaLoader/dl_vms.xs
    vendor/perl/dist/ext/DynaLoader/dl_win32.xs
    vendor/perl/dist/ext/DynaLoader/dlutils.c
    vendor/perl/dist/ext/DynaLoader/t/DynaLoader.t
    vendor/perl/dist/ext/Errno/Errno_pm.PL
    vendor/perl/dist/ext/File-Glob/Glob.pm
    vendor/perl/dist/ext/File-Glob/Glob.xs
    vendor/perl/dist/ext/File-Glob/bsd_glob.c
    vendor/perl/dist/ext/File-Glob/bsd_glob.h
    vendor/perl/dist/ext/File-Glob/t/basic.t
    vendor/perl/dist/ext/File-Glob/t/taint.t
    vendor/perl/dist/ext/GDBM_File/GDBM_File.pm
    vendor/perl/dist/ext/GDBM_File/GDBM_File.xs
    vendor/perl/dist/ext/GDBM_File/typemap
    vendor/perl/dist/ext/Hash-Util/Util.xs
    vendor/perl/dist/ext/Hash-Util/lib/Hash/Util.pm
    vendor/perl/dist/ext/Hash-Util/t/Util.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/11_hashassign.t
    vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm
    vendor/perl/dist/ext/IPC-Open3/lib/IPC/Open3.pm
    vendor/perl/dist/ext/IPC-Open3/t/IPC-Open3.t
    vendor/perl/dist/ext/IPC-Open3/t/fd.t
    vendor/perl/dist/ext/NDBM_File/typemap
    vendor/perl/dist/ext/ODBM_File/ODBM_File.pm
    vendor/perl/dist/ext/ODBM_File/ODBM_File.xs
    vendor/perl/dist/ext/ODBM_File/typemap
    vendor/perl/dist/ext/Opcode/Opcode.pm
    vendor/perl/dist/ext/Opcode/Opcode.xs
    vendor/perl/dist/ext/POSIX/POSIX.xs
    vendor/perl/dist/ext/POSIX/lib/POSIX.pm
    vendor/perl/dist/ext/POSIX/lib/POSIX.pod
    vendor/perl/dist/ext/POSIX/t/is.t
    vendor/perl/dist/ext/POSIX/t/math.t
    vendor/perl/dist/ext/POSIX/t/posix.t
    vendor/perl/dist/ext/POSIX/t/sigaction.t
    vendor/perl/dist/ext/POSIX/t/sysconf.t
    vendor/perl/dist/ext/POSIX/t/taint.t
    vendor/perl/dist/ext/POSIX/t/termios.t
    vendor/perl/dist/ext/POSIX/t/time.t
    vendor/perl/dist/ext/POSIX/t/waitpid.t
    vendor/perl/dist/ext/POSIX/typemap
    vendor/perl/dist/ext/PerlIO-encoding/encoding.pm
    vendor/perl/dist/ext/PerlIO-encoding/encoding.xs
    vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t
    vendor/perl/dist/ext/PerlIO-scalar/scalar.pm
    vendor/perl/dist/ext/PerlIO-scalar/scalar.xs
    vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t
    vendor/perl/dist/ext/PerlIO-via/via.pm
    vendor/perl/dist/ext/Pod-Html/t/htmlescp.t
    vendor/perl/dist/ext/Pod-Html/t/htmllink.t
    vendor/perl/dist/ext/Pod-Html/t/htmlview.pod
    vendor/perl/dist/ext/Pod-Html/t/htmlview.t
    vendor/perl/dist/ext/Pod-Html/t/pod2html-lib.pl
    vendor/perl/dist/ext/SDBM_File/sdbm/README
    vendor/perl/dist/ext/SDBM_File/sdbm/dba.c
    vendor/perl/dist/ext/SDBM_File/sdbm/dbd.c
    vendor/perl/dist/ext/SDBM_File/sdbm/dbe.c
    vendor/perl/dist/ext/SDBM_File/sdbm/dbu.c
    vendor/perl/dist/ext/SDBM_File/sdbm/hash.c
    vendor/perl/dist/ext/SDBM_File/sdbm/pair.c
    vendor/perl/dist/ext/SDBM_File/sdbm/readme.ms
    vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.3
    vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.c
    vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.h
    vendor/perl/dist/ext/SDBM_File/sdbm/util.c
    vendor/perl/dist/ext/SDBM_File/typemap
    vendor/perl/dist/ext/Sys-Hostname/Hostname.pm
    vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t
    vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.pm
    vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.xs
    vendor/perl/dist/ext/VMS-Stdio/Stdio.xs
    vendor/perl/dist/ext/Win32CORE/Win32CORE.c
    vendor/perl/dist/ext/Win32CORE/Win32CORE.pm
    vendor/perl/dist/ext/XS-APItest/APItest.pm
    vendor/perl/dist/ext/XS-APItest/APItest.xs
    vendor/perl/dist/ext/XS-APItest/Makefile.PL
    vendor/perl/dist/ext/XS-APItest/XSUB-redefined-macros.xs
    vendor/perl/dist/ext/XS-APItest/XSUB-undef-XS_VERSION.xs
    vendor/perl/dist/ext/XS-APItest/core_or_not.inc
    vendor/perl/dist/ext/XS-APItest/t/call.t
    vendor/perl/dist/ext/XS-APItest/t/call_checker.t
    vendor/perl/dist/ext/XS-APItest/t/eval-filter.t
    vendor/perl/dist/ext/XS-APItest/t/grok.t
    vendor/perl/dist/ext/XS-APItest/t/hash.t
    vendor/perl/dist/ext/XS-APItest/t/labelconst.t
    vendor/perl/dist/ext/XS-APItest/t/magic.t
    vendor/perl/dist/ext/XS-APItest/t/multicall.t
    vendor/perl/dist/ext/XS-APItest/t/op.t
    vendor/perl/dist/ext/XS-APItest/t/peep.t
    vendor/perl/dist/ext/XS-APItest/t/svpv_magic.t
    vendor/perl/dist/ext/XS-APItest/t/svsetsv.t
    vendor/perl/dist/ext/XS-APItest/t/swaplabel.t
    vendor/perl/dist/ext/XS-APItest/t/utf8.t
    vendor/perl/dist/ext/XS-APItest/t/xs_special_subs_require.t
    vendor/perl/dist/ext/XS-APItest/t/xsub_h.t
    vendor/perl/dist/ext/XS-Typemap/Typemap.pm
    vendor/perl/dist/ext/XS-Typemap/Typemap.xs
    vendor/perl/dist/ext/XS-Typemap/t/Typemap.t
    vendor/perl/dist/ext/attributes/attributes.pm
    vendor/perl/dist/ext/attributes/attributes.xs
    vendor/perl/dist/ext/mro/Changes
    vendor/perl/dist/ext/mro/mro.pm
    vendor/perl/dist/ext/mro/mro.xs
    vendor/perl/dist/ext/re/Makefile.PL
    vendor/perl/dist/ext/re/re.pm
    vendor/perl/dist/ext/re/re.xs
    vendor/perl/dist/ext/re/re_top.h
    vendor/perl/dist/ext/re/t/re.t
    vendor/perl/dist/ext/re/t/re_funcs_u.t
    vendor/perl/dist/ext/re/t/reflags.t
    vendor/perl/dist/ext/re/t/regop.t
    vendor/perl/dist/fakesdio.h
    vendor/perl/dist/fakethr.h
    vendor/perl/dist/form.h
    vendor/perl/dist/generate_uudmap.c
    vendor/perl/dist/globals.c
    vendor/perl/dist/globvar.sym
    vendor/perl/dist/gv.c
    vendor/perl/dist/gv.h
    vendor/perl/dist/h2pl/tcbreak
    vendor/perl/dist/h2pl/tcbreak2
    vendor/perl/dist/haiku/Haiku/Haiku.pm
    vendor/perl/dist/haiku/Haiku/Haiku.xs
    vendor/perl/dist/handy.h
    vendor/perl/dist/hints/aix.sh
    vendor/perl/dist/hints/catamount.sh
    vendor/perl/dist/hints/cygwin.sh
    vendor/perl/dist/hints/dec_osf.sh
    vendor/perl/dist/hints/dgux.sh
    vendor/perl/dist/hints/freebsd.sh
    vendor/perl/dist/hints/gnu.sh
    vendor/perl/dist/hints/gnukfreebsd.sh
    vendor/perl/dist/hints/gnuknetbsd.sh
    vendor/perl/dist/hints/haiku.sh
    vendor/perl/dist/hints/hpux.sh
    vendor/perl/dist/hints/linux.sh
    vendor/perl/dist/hints/midnightbsd.sh
    vendor/perl/dist/hints/netbsd.sh
    vendor/perl/dist/hints/powerux.sh
    vendor/perl/dist/hints/solaris_2.sh
    vendor/perl/dist/hints/uwin.sh
    vendor/perl/dist/hints/vos.sh
    vendor/perl/dist/hv.c
    vendor/perl/dist/hv.h
    vendor/perl/dist/install_lib.pl
    vendor/perl/dist/installhtml
    vendor/perl/dist/installman
    vendor/perl/dist/installperl
    vendor/perl/dist/intrpvar.h
    vendor/perl/dist/iperlsys.h
    vendor/perl/dist/keywords.c
    vendor/perl/dist/keywords.h
    vendor/perl/dist/l1_char_class_tab.h
    vendor/perl/dist/lib/AnyDBM_File.pm
    vendor/perl/dist/lib/AnyDBM_File.t
    vendor/perl/dist/lib/Benchmark.pm
    vendor/perl/dist/lib/Benchmark.t
    vendor/perl/dist/lib/CORE.pod
    vendor/perl/dist/lib/Class/Struct.pm
    vendor/perl/dist/lib/Class/Struct.t
    vendor/perl/dist/lib/DB.pm
    vendor/perl/dist/lib/DB.t
    vendor/perl/dist/lib/DBM_Filter/t/int32.t
    vendor/perl/dist/lib/DBM_Filter.pm
    vendor/perl/dist/lib/English.pm
    vendor/perl/dist/lib/Exporter.pm
    vendor/perl/dist/lib/Exporter.t
    vendor/perl/dist/lib/ExtUtils/t/Embed.t
    vendor/perl/dist/lib/ExtUtils/typemap
    vendor/perl/dist/lib/File/Basename.pm
    vendor/perl/dist/lib/File/Basename.t
    vendor/perl/dist/lib/File/Compare.t
    vendor/perl/dist/lib/File/Copy.pm
    vendor/perl/dist/lib/File/Copy.t
    vendor/perl/dist/lib/File/Find/t/find.t
    vendor/perl/dist/lib/File/Find/t/taint.t
    vendor/perl/dist/lib/File/Find.pm
    vendor/perl/dist/lib/File/stat.pm
    vendor/perl/dist/lib/File/stat.t
    vendor/perl/dist/lib/FileHandle.t
    vendor/perl/dist/lib/FindBin.pm
    vendor/perl/dist/lib/Getopt/Std.pm
    vendor/perl/dist/lib/Internals.t
    vendor/perl/dist/lib/PerlIO.pm
    vendor/perl/dist/lib/Tie/Array.pm
    vendor/perl/dist/lib/Tie/Handle/stdhandle.t
    vendor/perl/dist/lib/Tie/StdHandle.pm
    vendor/perl/dist/lib/UNIVERSAL.pm
    vendor/perl/dist/lib/Unicode/UCD.pm
    vendor/perl/dist/lib/Unicode/UCD.t
    vendor/perl/dist/lib/charnames.pm
    vendor/perl/dist/lib/charnames.t
    vendor/perl/dist/lib/dbm_filter_util.pl
    vendor/perl/dist/lib/diagnostics.pm
    vendor/perl/dist/lib/diagnostics.t
    vendor/perl/dist/lib/dumpvar.pl
    vendor/perl/dist/lib/dumpvar.t
    vendor/perl/dist/lib/feature/unicode_strings.t
    vendor/perl/dist/lib/feature.pm
    vendor/perl/dist/lib/filetest.pm
    vendor/perl/dist/lib/filetest.t
    vendor/perl/dist/lib/h2xs.t
    vendor/perl/dist/lib/locale.pm
    vendor/perl/dist/lib/locale.t
    vendor/perl/dist/lib/open.pm
    vendor/perl/dist/lib/open.t
    vendor/perl/dist/lib/overload/numbers.pm
    vendor/perl/dist/lib/overload.pm
    vendor/perl/dist/lib/overload.t
    vendor/perl/dist/lib/overloading.pm
    vendor/perl/dist/lib/overloading.t
    vendor/perl/dist/lib/perl5db.pl
    vendor/perl/dist/lib/perl5db.t
    vendor/perl/dist/lib/sigtrap.pm
    vendor/perl/dist/lib/sort.pm
    vendor/perl/dist/lib/strict.pm
    vendor/perl/dist/lib/subs.pm
    vendor/perl/dist/lib/unicore/ArabicShaping.txt
    vendor/perl/dist/lib/unicore/BidiMirroring.txt
    vendor/perl/dist/lib/unicore/Blocks.txt
    vendor/perl/dist/lib/unicore/CJKRadicals.txt
    vendor/perl/dist/lib/unicore/CaseFolding.txt
    vendor/perl/dist/lib/unicore/CompositionExclusions.txt
    vendor/perl/dist/lib/unicore/DAge.txt
    vendor/perl/dist/lib/unicore/DCoreProperties.txt
    vendor/perl/dist/lib/unicore/DNormalizationProps.txt
    vendor/perl/dist/lib/unicore/EastAsianWidth.txt
    vendor/perl/dist/lib/unicore/EmojiSources.txt
    vendor/perl/dist/lib/unicore/HangulSyllableType.txt
    vendor/perl/dist/lib/unicore/Index.txt
    vendor/perl/dist/lib/unicore/IndicMatraCategory.txt
    vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt
    vendor/perl/dist/lib/unicore/Jamo.txt
    vendor/perl/dist/lib/unicore/LineBreak.txt
    vendor/perl/dist/lib/unicore/Makefile
    vendor/perl/dist/lib/unicore/NameAliases.txt
    vendor/perl/dist/lib/unicore/NamedSequences.txt
    vendor/perl/dist/lib/unicore/NamedSqProv.txt
    vendor/perl/dist/lib/unicore/NamesList.txt
    vendor/perl/dist/lib/unicore/NormalizationCorrections.txt
    vendor/perl/dist/lib/unicore/PropList.txt
    vendor/perl/dist/lib/unicore/PropValueAliases.txt
    vendor/perl/dist/lib/unicore/PropertyAliases.txt
    vendor/perl/dist/lib/unicore/README.perl
    vendor/perl/dist/lib/unicore/ReadMe.txt
    vendor/perl/dist/lib/unicore/ScriptExtensions.txt
    vendor/perl/dist/lib/unicore/Scripts.txt
    vendor/perl/dist/lib/unicore/SpecialCasing.txt
    vendor/perl/dist/lib/unicore/StandardizedVariants.txt
    vendor/perl/dist/lib/unicore/UnicodeData.txt
    vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt
    vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt
    vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt
    vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt
    vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt
    vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt
    vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt
    vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt
    vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt
    vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt
    vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt
    vendor/perl/dist/lib/unicore/extracted/DJoinType.txt
    vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt
    vendor/perl/dist/lib/unicore/extracted/DNumType.txt
    vendor/perl/dist/lib/unicore/extracted/DNumValues.txt
    vendor/perl/dist/lib/unicore/mktables
    vendor/perl/dist/lib/unicore/version
    vendor/perl/dist/lib/utf8.pm
    vendor/perl/dist/lib/utf8.t
    vendor/perl/dist/lib/utf8_heavy.pl
    vendor/perl/dist/lib/vars.pm
    vendor/perl/dist/lib/version/Internals.pod
    vendor/perl/dist/lib/version.pm
    vendor/perl/dist/lib/version.pod
    vendor/perl/dist/lib/vmsish.pm
    vendor/perl/dist/lib/warnings.pm
    vendor/perl/dist/locale.c
    vendor/perl/dist/madly.c
    vendor/perl/dist/make_ext.pl
    vendor/perl/dist/make_patchnum.pl
    vendor/perl/dist/makedef.pl
    vendor/perl/dist/makedepend.SH
    vendor/perl/dist/malloc.c
    vendor/perl/dist/mathoms.c
    vendor/perl/dist/metaconfig.h
    vendor/perl/dist/mg.c
    vendor/perl/dist/mg.h
    vendor/perl/dist/minimod.pl
    vendor/perl/dist/miniperlmain.c
    vendor/perl/dist/mkppport.lst
    vendor/perl/dist/mro.c
    vendor/perl/dist/myconfig.SH
    vendor/perl/dist/mydtrace.h
    vendor/perl/dist/nostdio.h
    vendor/perl/dist/numeric.c
    vendor/perl/dist/op.c
    vendor/perl/dist/op.h
    vendor/perl/dist/op_reg_common.h
    vendor/perl/dist/opcode.h
    vendor/perl/dist/opnames.h
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.pm
    vendor/perl/dist/os2/OS2/OS2-Process/Process.pm
    vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.pm
    vendor/perl/dist/os2/os2.c
    vendor/perl/dist/os2/perlrexx.c
    vendor/perl/dist/overload.c
    vendor/perl/dist/overload.h
    vendor/perl/dist/pad.c
    vendor/perl/dist/pad.h
    vendor/perl/dist/parser.h
    vendor/perl/dist/patchlevel.h
    vendor/perl/dist/perl.c
    vendor/perl/dist/perl.h
    vendor/perl/dist/perlapi.c
    vendor/perl/dist/perlapi.h
    vendor/perl/dist/perldtrace.d
    vendor/perl/dist/perlio.c
    vendor/perl/dist/perlio.h
    vendor/perl/dist/perliol.h
    vendor/perl/dist/perlsdio.h
    vendor/perl/dist/perlsfio.h
    vendor/perl/dist/perlvars.h
    vendor/perl/dist/perly.act
    vendor/perl/dist/perly.c
    vendor/perl/dist/perly.h
    vendor/perl/dist/perly.tab
    vendor/perl/dist/perly.y
    vendor/perl/dist/plan9/config.plan9
    vendor/perl/dist/plan9/config_h.sample
    vendor/perl/dist/plan9/config_sh.sample
    vendor/perl/dist/plan9/mkfile
    vendor/perl/dist/pod/Makefile.SH
    vendor/perl/dist/pod/buildtoc
    vendor/perl/dist/pod/perl.pod
    vendor/perl/dist/pod/perl5004delta.pod
    vendor/perl/dist/pod/perl5005delta.pod
    vendor/perl/dist/pod/perl5100delta.pod
    vendor/perl/dist/pod/perl5101delta.pod
    vendor/perl/dist/pod/perl5120delta.pod
    vendor/perl/dist/pod/perl5121delta.pod
    vendor/perl/dist/pod/perl5122delta.pod
    vendor/perl/dist/pod/perl5123delta.pod
    vendor/perl/dist/pod/perl5140delta.pod
    vendor/perl/dist/pod/perl561delta.pod
    vendor/perl/dist/pod/perl56delta.pod
    vendor/perl/dist/pod/perl589delta.pod
    vendor/perl/dist/pod/perl58delta.pod
    vendor/perl/dist/pod/perlapio.pod
    vendor/perl/dist/pod/perlbook.pod
    vendor/perl/dist/pod/perlboot.pod
    vendor/perl/dist/pod/perlbot.pod
    vendor/perl/dist/pod/perlcall.pod
    vendor/perl/dist/pod/perlcheat.pod
    vendor/perl/dist/pod/perlclib.pod
    vendor/perl/dist/pod/perlcommunity.pod
    vendor/perl/dist/pod/perldata.pod
    vendor/perl/dist/pod/perldbmfilter.pod
    vendor/perl/dist/pod/perldebguts.pod
    vendor/perl/dist/pod/perldebtut.pod
    vendor/perl/dist/pod/perldebug.pod
    vendor/perl/dist/pod/perldelta.pod
    vendor/perl/dist/pod/perldiag.pod
    vendor/perl/dist/pod/perldsc.pod
    vendor/perl/dist/pod/perlebcdic.pod
    vendor/perl/dist/pod/perlembed.pod
    vendor/perl/dist/pod/perlfork.pod
    vendor/perl/dist/pod/perlform.pod
    vendor/perl/dist/pod/perlfunc.pod
    vendor/perl/dist/pod/perlgit.pod
    vendor/perl/dist/pod/perlgpl.pod
    vendor/perl/dist/pod/perlguts.pod
    vendor/perl/dist/pod/perlhack.pod
    vendor/perl/dist/pod/perlhacktips.pod
    vendor/perl/dist/pod/perlhacktut.pod
    vendor/perl/dist/pod/perlhist.pod
    vendor/perl/dist/pod/perlinterp.pod
    vendor/perl/dist/pod/perlintro.pod
    vendor/perl/dist/pod/perliol.pod
    vendor/perl/dist/pod/perlipc.pod
    vendor/perl/dist/pod/perllexwarn.pod
    vendor/perl/dist/pod/perllocale.pod
    vendor/perl/dist/pod/perllol.pod
    vendor/perl/dist/pod/perlmod.pod
    vendor/perl/dist/pod/perlmodinstall.pod
    vendor/perl/dist/pod/perlmodlib.PL
    vendor/perl/dist/pod/perlmodstyle.pod
    vendor/perl/dist/pod/perlmroapi.pod
    vendor/perl/dist/pod/perlobj.pod
    vendor/perl/dist/pod/perlop.pod
    vendor/perl/dist/pod/perlpacktut.pod
    vendor/perl/dist/pod/perlperf.pod
    vendor/perl/dist/pod/perlpod.pod
    vendor/perl/dist/pod/perlpodspec.pod
    vendor/perl/dist/pod/perlpolicy.pod
    vendor/perl/dist/pod/perlport.pod
    vendor/perl/dist/pod/perlpragma.pod
    vendor/perl/dist/pod/perlre.pod
    vendor/perl/dist/pod/perlreapi.pod
    vendor/perl/dist/pod/perlrebackslash.pod
    vendor/perl/dist/pod/perlrecharclass.pod
    vendor/perl/dist/pod/perlref.pod
    vendor/perl/dist/pod/perlreftut.pod
    vendor/perl/dist/pod/perlreguts.pod
    vendor/perl/dist/pod/perlrequick.pod
    vendor/perl/dist/pod/perlreref.pod
    vendor/perl/dist/pod/perlretut.pod
    vendor/perl/dist/pod/perlrun.pod
    vendor/perl/dist/pod/perlsec.pod
    vendor/perl/dist/pod/perlsource.pod
    vendor/perl/dist/pod/perlsub.pod
    vendor/perl/dist/pod/perlsyn.pod
    vendor/perl/dist/pod/perlthrtut.pod
    vendor/perl/dist/pod/perltie.pod
    vendor/perl/dist/pod/perltodo.pod
    vendor/perl/dist/pod/perltooc.pod
    vendor/perl/dist/pod/perltoot.pod
    vendor/perl/dist/pod/perltrap.pod
    vendor/perl/dist/pod/perlunicode.pod
    vendor/perl/dist/pod/perlunifaq.pod
    vendor/perl/dist/pod/perluniintro.pod
    vendor/perl/dist/pod/perlutil.pod
    vendor/perl/dist/pod/perlvar.pod
    vendor/perl/dist/pod/perlvms.pod
    vendor/perl/dist/pod/rofftoc
    vendor/perl/dist/pp.c
    vendor/perl/dist/pp.h
    vendor/perl/dist/pp_ctl.c
    vendor/perl/dist/pp_hot.c
    vendor/perl/dist/pp_pack.c
    vendor/perl/dist/pp_proto.h
    vendor/perl/dist/pp_sort.c
    vendor/perl/dist/pp_sys.c
    vendor/perl/dist/proto.h
    vendor/perl/dist/reentr.c
    vendor/perl/dist/regcharclass.h
    vendor/perl/dist/regcomp.c
    vendor/perl/dist/regcomp.h
    vendor/perl/dist/regcomp.sym
    vendor/perl/dist/regen/embed.pl
    vendor/perl/dist/regen/keywords.pl
    vendor/perl/dist/regen/mk_PL_charclass.pl
    vendor/perl/dist/regen/opcode.pl
    vendor/perl/dist/regen/opcodes
    vendor/perl/dist/regen/overload.pl
    vendor/perl/dist/regen/reentr.pl
    vendor/perl/dist/regen/regcharclass.pl
    vendor/perl/dist/regen/regcomp.pl
    vendor/perl/dist/regen/regen_lib.pl
    vendor/perl/dist/regen/uconfig_h.pl
    vendor/perl/dist/regen/warnings.pl
    vendor/perl/dist/regen.pl
    vendor/perl/dist/regen_perly.pl
    vendor/perl/dist/regexec.c
    vendor/perl/dist/regexp.h
    vendor/perl/dist/regnodes.h
    vendor/perl/dist/run.c
    vendor/perl/dist/runtests.SH
    vendor/perl/dist/scope.c
    vendor/perl/dist/scope.h
    vendor/perl/dist/sv.c
    vendor/perl/dist/sv.h
    vendor/perl/dist/symbian/PerlBase.cpp
    vendor/perl/dist/symbian/config.sh
    vendor/perl/dist/t/TEST
    vendor/perl/dist/t/base/lex.t
    vendor/perl/dist/t/benchmark/rt26188-speed-up-keys-on-empty-hash.t
    vendor/perl/dist/t/cmd/for.t
    vendor/perl/dist/t/comp/bproto.t
    vendor/perl/dist/t/comp/fold.t
    vendor/perl/dist/t/comp/form_scope.t
    vendor/perl/dist/t/comp/hints.t
    vendor/perl/dist/t/comp/parser.t
    vendor/perl/dist/t/comp/proto.t
    vendor/perl/dist/t/comp/require.t
    vendor/perl/dist/t/comp/retainedlines.t
    vendor/perl/dist/t/comp/uproto.t
    vendor/perl/dist/t/comp/use.t
    vendor/perl/dist/t/harness
    vendor/perl/dist/t/io/crlf.t
    vendor/perl/dist/t/io/eintr.t
    vendor/perl/dist/t/io/errno.t
    vendor/perl/dist/t/io/fs.t
    vendor/perl/dist/t/io/inplace.t
    vendor/perl/dist/t/io/layers.t
    vendor/perl/dist/t/io/open.t
    vendor/perl/dist/t/io/perlio.t
    vendor/perl/dist/t/io/pipe.t
    vendor/perl/dist/t/io/print.t
    vendor/perl/dist/t/io/say.t
    vendor/perl/dist/t/io/tell.t
    vendor/perl/dist/t/io/utf8.t
    vendor/perl/dist/t/lib/1_compile.t
    vendor/perl/dist/t/lib/charnames/alias
    vendor/perl/dist/t/lib/common.pl
    vendor/perl/dist/t/lib/commonsense.t
    vendor/perl/dist/t/lib/croak.t
    vendor/perl/dist/t/lib/dbmt_common.pl
    vendor/perl/dist/t/lib/feature/bundle
    vendor/perl/dist/t/lib/feature/implicit
    vendor/perl/dist/t/lib/feature/switch
    vendor/perl/dist/t/lib/h2ph.h
    vendor/perl/dist/t/lib/proxy_constant_subs.t
    vendor/perl/dist/t/lib/strict/refs
    vendor/perl/dist/t/lib/strict/subs
    vendor/perl/dist/t/lib/strict/vars
    vendor/perl/dist/t/lib/subs/subs
    vendor/perl/dist/t/lib/universal.t
    vendor/perl/dist/t/lib/warnings/1global
    vendor/perl/dist/t/lib/warnings/2use
    vendor/perl/dist/t/lib/warnings/9enabled
    vendor/perl/dist/t/lib/warnings/9uninit
    vendor/perl/dist/t/lib/warnings/doio
    vendor/perl/dist/t/lib/warnings/gv
    vendor/perl/dist/t/lib/warnings/op
    vendor/perl/dist/t/lib/warnings/pad
    vendor/perl/dist/t/lib/warnings/perl
    vendor/perl/dist/t/lib/warnings/perly
    vendor/perl/dist/t/lib/warnings/pp
    vendor/perl/dist/t/lib/warnings/pp_hot
    vendor/perl/dist/t/lib/warnings/pp_sys
    vendor/perl/dist/t/lib/warnings/regcomp
    vendor/perl/dist/t/lib/warnings/sv
    vendor/perl/dist/t/lib/warnings/toke
    vendor/perl/dist/t/lib/warnings/universal
    vendor/perl/dist/t/lib/warnings/utf8
    vendor/perl/dist/t/lib/warnings/util
    vendor/perl/dist/t/mro/basic.t
    vendor/perl/dist/t/mro/c3_with_overload.t
    vendor/perl/dist/t/mro/inconsistent_c3.t
    vendor/perl/dist/t/mro/isa_aliases.t
    vendor/perl/dist/t/mro/isa_c3.t
    vendor/perl/dist/t/mro/isa_dfs.t
    vendor/perl/dist/t/mro/method_caching.t
    vendor/perl/dist/t/mro/next_edgecases.t
    vendor/perl/dist/t/mro/overload_c3.t
    vendor/perl/dist/t/mro/overload_dfs.t
    vendor/perl/dist/t/mro/package_aliases.t
    vendor/perl/dist/t/op/alarm.t
    vendor/perl/dist/t/op/anonsub.t
    vendor/perl/dist/t/op/append.t
    vendor/perl/dist/t/op/args.t
    vendor/perl/dist/t/op/array.t
    vendor/perl/dist/t/op/array_base.t
    vendor/perl/dist/t/op/assignwarn.t
    vendor/perl/dist/t/op/attrs.t
    vendor/perl/dist/t/op/auto.t
    vendor/perl/dist/t/op/blocks.t
    vendor/perl/dist/t/op/bop.t
    vendor/perl/dist/t/op/caller.t
    vendor/perl/dist/t/op/chars.t
    vendor/perl/dist/t/op/chop.t
    vendor/perl/dist/t/op/chr.t
    vendor/perl/dist/t/op/closure.t
    vendor/perl/dist/t/op/concat2.t
    vendor/perl/dist/t/op/cond.t
    vendor/perl/dist/t/op/cproto.t
    vendor/perl/dist/t/op/dbm.t
    vendor/perl/dist/t/op/defins.t
    vendor/perl/dist/t/op/die.t
    vendor/perl/dist/t/op/die_except.t
    vendor/perl/dist/t/op/die_exit.t
    vendor/perl/dist/t/op/die_keeperr.t
    vendor/perl/dist/t/op/die_unwind.t
    vendor/perl/dist/t/op/do.t
    vendor/perl/dist/t/op/dor.t
    vendor/perl/dist/t/op/each.t
    vendor/perl/dist/t/op/each_array.t
    vendor/perl/dist/t/op/eval.t
    vendor/perl/dist/t/op/exec.t
    vendor/perl/dist/t/op/exists_sub.t
    vendor/perl/dist/t/op/exp.t
    vendor/perl/dist/t/op/fh.t
    vendor/perl/dist/t/op/filehandle.t
    vendor/perl/dist/t/op/filetest.t
    vendor/perl/dist/t/op/filetest_stack_ok.t
    vendor/perl/dist/t/op/filetest_t.t
    vendor/perl/dist/t/op/fork.t
    vendor/perl/dist/t/op/getpid.t
    vendor/perl/dist/t/op/getppid.t
    vendor/perl/dist/t/op/glob.t
    vendor/perl/dist/t/op/gmagic.t
    vendor/perl/dist/t/op/goto.t
    vendor/perl/dist/t/op/grent.t
    vendor/perl/dist/t/op/grep.t
    vendor/perl/dist/t/op/groups.t
    vendor/perl/dist/t/op/gv.t
    vendor/perl/dist/t/op/hash.t
    vendor/perl/dist/t/op/hashassign.t
    vendor/perl/dist/t/op/inc.t
    vendor/perl/dist/t/op/inccode.t
    vendor/perl/dist/t/op/incfilter.t
    vendor/perl/dist/t/op/index.t
    vendor/perl/dist/t/op/int.t
    vendor/perl/dist/t/op/join.t
    vendor/perl/dist/t/op/lc.t
    vendor/perl/dist/t/op/leaky-magic.t
    vendor/perl/dist/t/op/length.t
    vendor/perl/dist/t/op/lex.t
    vendor/perl/dist/t/op/lex_assign.t
    vendor/perl/dist/t/op/list.t
    vendor/perl/dist/t/op/local.t
    vendor/perl/dist/t/op/loopctl.t
    vendor/perl/dist/t/op/lop.t
    vendor/perl/dist/t/op/magic.t
    vendor/perl/dist/t/op/method.t
    vendor/perl/dist/t/op/mkdir.t
    vendor/perl/dist/t/op/my.t
    vendor/perl/dist/t/op/mydef.t
    vendor/perl/dist/t/op/negate.t
    vendor/perl/dist/t/op/not.t
    vendor/perl/dist/t/op/oct.t
    vendor/perl/dist/t/op/or.t
    vendor/perl/dist/t/op/overload_integer.t
    vendor/perl/dist/t/op/override.t
    vendor/perl/dist/t/op/pack.t
    vendor/perl/dist/t/op/pos.t
    vendor/perl/dist/t/op/pow.t
    vendor/perl/dist/t/op/print.t
    vendor/perl/dist/t/op/push.t
    vendor/perl/dist/t/op/pwent.t
    vendor/perl/dist/t/op/qr.t
    vendor/perl/dist/t/op/quotemeta.t
    vendor/perl/dist/t/op/range.t
    vendor/perl/dist/t/op/readdir.t
    vendor/perl/dist/t/op/readline.t
    vendor/perl/dist/t/op/ref.t
    vendor/perl/dist/t/op/require_errors.t
    vendor/perl/dist/t/op/reset.t
    vendor/perl/dist/t/op/reverse.t
    vendor/perl/dist/t/op/setpgrpstack.t
    vendor/perl/dist/t/op/sigdispatch.t
    vendor/perl/dist/t/op/smartkve.t
    vendor/perl/dist/t/op/smartmatch.t
    vendor/perl/dist/t/op/sort.t
    vendor/perl/dist/t/op/splice.t
    vendor/perl/dist/t/op/split.t
    vendor/perl/dist/t/op/split_unicode.t
    vendor/perl/dist/t/op/sprintf.t
    vendor/perl/dist/t/op/sprintf2.t
    vendor/perl/dist/t/op/srand.t
    vendor/perl/dist/t/op/sselect.t
    vendor/perl/dist/t/op/stash.t
    vendor/perl/dist/t/op/stat.t
    vendor/perl/dist/t/op/state.t
    vendor/perl/dist/t/op/study.t
    vendor/perl/dist/t/op/sub.t
    vendor/perl/dist/t/op/sub_lval.t
    vendor/perl/dist/t/op/substr.t
    vendor/perl/dist/t/op/substr_thr.t
    vendor/perl/dist/t/op/svleak.t
    vendor/perl/dist/t/op/switch.t
    vendor/perl/dist/t/op/sysio.t
    vendor/perl/dist/t/op/taint.t
    vendor/perl/dist/t/op/threads.t
    vendor/perl/dist/t/op/tie.t
    vendor/perl/dist/t/op/tie_fetch_count.t
    vendor/perl/dist/t/op/tr.t
    vendor/perl/dist/t/op/undef.t
    vendor/perl/dist/t/op/universal.t
    vendor/perl/dist/t/op/utf8cache.t
    vendor/perl/dist/t/op/utf8decode.t
    vendor/perl/dist/t/op/utf8magic.t
    vendor/perl/dist/t/op/ver.t
    vendor/perl/dist/t/op/warn.t
    vendor/perl/dist/t/op/write.t
    vendor/perl/dist/t/porting/args_assert.t
    vendor/perl/dist/t/porting/authors.t
    vendor/perl/dist/t/porting/checkcase.t
    vendor/perl/dist/t/porting/cmp_version.t
    vendor/perl/dist/t/porting/diag.t
    vendor/perl/dist/t/porting/dual-life.t
    vendor/perl/dist/t/porting/exec-bit.t
    vendor/perl/dist/t/porting/filenames.t
    vendor/perl/dist/t/porting/maintainers.t
    vendor/perl/dist/t/porting/manifest.t
    vendor/perl/dist/t/porting/podcheck.t
    vendor/perl/dist/t/porting/regen.t
    vendor/perl/dist/t/porting/test_bootstrap.t
    vendor/perl/dist/t/re/charset.t
    vendor/perl/dist/t/re/fold_grind.t
    vendor/perl/dist/t/re/no_utf8_pm.t
    vendor/perl/dist/t/re/overload.t
    vendor/perl/dist/t/re/pat.t
    vendor/perl/dist/t/re/pat_advanced.t
    vendor/perl/dist/t/re/pat_psycho.t
    vendor/perl/dist/t/re/pat_re_eval.t
    vendor/perl/dist/t/re/pat_rt_report.t
    vendor/perl/dist/t/re/qr.t
    vendor/perl/dist/t/re/re_tests
    vendor/perl/dist/t/re/reg_email.t
    vendor/perl/dist/t/re/reg_eval_scope.t
    vendor/perl/dist/t/re/reg_fold.t
    vendor/perl/dist/t/re/reg_mesg.t
    vendor/perl/dist/t/re/reg_pmod.t
    vendor/perl/dist/t/re/reg_posixcc.t
    vendor/perl/dist/t/re/regexp.t
    vendor/perl/dist/t/re/regexp_noamp.t
    vendor/perl/dist/t/re/regexp_unicode_prop.t
    vendor/perl/dist/t/re/rxcode.t
    vendor/perl/dist/t/re/subst.t
    vendor/perl/dist/t/run/cloexec.t
    vendor/perl/dist/t/run/fresh_perl.t
    vendor/perl/dist/t/run/locale.t
    vendor/perl/dist/t/run/noswitch.t
    vendor/perl/dist/t/run/runenv.t
    vendor/perl/dist/t/run/script.t
    vendor/perl/dist/t/run/switch0.t
    vendor/perl/dist/t/run/switchC.t
    vendor/perl/dist/t/run/switchF.t
    vendor/perl/dist/t/run/switchF1.t
    vendor/perl/dist/t/run/switchI.t
    vendor/perl/dist/t/run/switcha.t
    vendor/perl/dist/t/run/switchd.t
    vendor/perl/dist/t/run/switches.t
    vendor/perl/dist/t/run/switchn.t
    vendor/perl/dist/t/run/switchp.t
    vendor/perl/dist/t/run/switchx.aux
    vendor/perl/dist/t/run/switchx.t
    vendor/perl/dist/t/run/switchx2.aux
    vendor/perl/dist/t/test.pl
    vendor/perl/dist/t/uni/cache.t
    vendor/perl/dist/t/uni/case.pl
    vendor/perl/dist/t/uni/chr.t
    vendor/perl/dist/t/uni/class.t
    vendor/perl/dist/t/uni/fold.t
    vendor/perl/dist/t/uni/greek.t
    vendor/perl/dist/t/uni/latin2.t
    vendor/perl/dist/t/uni/lex_utf8.t
    vendor/perl/dist/t/uni/lower.t
    vendor/perl/dist/t/uni/overload.t
    vendor/perl/dist/t/uni/tie.t
    vendor/perl/dist/t/uni/title.t
    vendor/perl/dist/t/uni/tr_7jis.t
    vendor/perl/dist/t/uni/tr_eucjp.t
    vendor/perl/dist/t/uni/tr_sjis.t
    vendor/perl/dist/t/uni/tr_utf8.t
    vendor/perl/dist/t/uni/upper.t
    vendor/perl/dist/t/uni/write.t
    vendor/perl/dist/t/win32/system.t
    vendor/perl/dist/t/x2p/s2p.t
    vendor/perl/dist/taint.c
    vendor/perl/dist/thread.h
    vendor/perl/dist/time64.c
    vendor/perl/dist/toke.c
    vendor/perl/dist/uconfig.h
    vendor/perl/dist/uconfig.sh
    vendor/perl/dist/uconfig64.sh
    vendor/perl/dist/universal.c
    vendor/perl/dist/unixish.h
    vendor/perl/dist/utf8.c
    vendor/perl/dist/utf8.h
    vendor/perl/dist/utfebcdic.h
    vendor/perl/dist/util.c
    vendor/perl/dist/util.h
    vendor/perl/dist/utils/Makefile
    vendor/perl/dist/utils/Makefile.SH
    vendor/perl/dist/utils/c2ph.PL
    vendor/perl/dist/utils/h2ph.PL
    vendor/perl/dist/utils/h2xs.PL
    vendor/perl/dist/utils/libnetcfg.PL
    vendor/perl/dist/utils/perlbug.PL
    vendor/perl/dist/utils/perlivp.PL
    vendor/perl/dist/utils.lst
    vendor/perl/dist/vms/descrip_mms.template
    vendor/perl/dist/vms/ext/filespec.t
    vendor/perl/dist/vms/gen_shrfls.pl
    vendor/perl/dist/vms/vms.c
    vendor/perl/dist/vms/vmsish.h
    vendor/perl/dist/vos/vos.c
    vendor/perl/dist/vos/vosish.h
    vendor/perl/dist/warnings.h
    vendor/perl/dist/win32/Makefile
    vendor/perl/dist/win32/Makefile.ce
    vendor/perl/dist/win32/bin/pl2bat.pl
    vendor/perl/dist/win32/bin/runperl.pl
    vendor/perl/dist/win32/bin/search.pl
    vendor/perl/dist/win32/ce-helpers/cecopy-lib.pl
    vendor/perl/dist/win32/config.ce
    vendor/perl/dist/win32/config.gc
    vendor/perl/dist/win32/config.vc
    vendor/perl/dist/win32/config_H.ce
    vendor/perl/dist/win32/config_H.gc
    vendor/perl/dist/win32/config_H.vc
    vendor/perl/dist/win32/config_h.PL
    vendor/perl/dist/win32/config_sh.PL
    vendor/perl/dist/win32/fcrypt.c
    vendor/perl/dist/win32/include/sys/socket.h
    vendor/perl/dist/win32/makefile.mk
    vendor/perl/dist/win32/perlglob.c
    vendor/perl/dist/win32/perlhost.h
    vendor/perl/dist/win32/perllib.c
    vendor/perl/dist/win32/pod.mak
    vendor/perl/dist/win32/vmem.h
    vendor/perl/dist/win32/win32.c
    vendor/perl/dist/win32/win32.h
    vendor/perl/dist/win32/win32io.c
    vendor/perl/dist/win32/win32iop-o.h
    vendor/perl/dist/win32/win32iop.h
    vendor/perl/dist/win32/win32sck.c
    vendor/perl/dist/win32/win32thread.h
    vendor/perl/dist/win32/wince.c
    vendor/perl/dist/win32/wincesck.c
    vendor/perl/dist/write_buildcustomize.pl
    vendor/perl/dist/x2p/Makefile.SH
    vendor/perl/dist/x2p/a2p.c
    vendor/perl/dist/x2p/a2p.h
    vendor/perl/dist/x2p/a2p.pod
    vendor/perl/dist/x2p/a2p.y
    vendor/perl/dist/x2p/a2py.c
    vendor/perl/dist/x2p/cflags.SH
    vendor/perl/dist/x2p/hash.c
    vendor/perl/dist/x2p/s2p.PL
    vendor/perl/dist/x2p/str.c
    vendor/perl/dist/x2p/util.c
    vendor/perl/dist/x2p/walk.c

Added Paths:
-----------
    vendor/perl/dist/META.json
    vendor/perl/dist/charclass_invlists.h
    vendor/perl/dist/feature.h
    vendor/perl/dist/hv_func.h
    vendor/perl/dist/inline.h
    vendor/perl/dist/inline_invlist.c
    vendor/perl/dist/mg_names.c
    vendor/perl/dist/mg_raw.h
    vendor/perl/dist/mg_vtable.h
    vendor/perl/dist/unicode_constants.h

Removed Paths:
-------------
    vendor/perl/dist/README.beos
    vendor/perl/dist/README.epoc
    vendor/perl/dist/README.mpeix
    vendor/perl/dist/README.uts
    vendor/perl/dist/README.vmesa
    vendor/perl/dist/Todo.micro
    vendor/perl/dist/beos/
    vendor/perl/dist/cc_runtime.h
    vendor/perl/dist/emacs/
    vendor/perl/dist/embed.pl
    vendor/perl/dist/epoc/
    vendor/perl/dist/global.sym
    vendor/perl/dist/keywords.pl
    vendor/perl/dist/makeaperl.SH
    vendor/perl/dist/makedir.SH
    vendor/perl/dist/mpeix/
    vendor/perl/dist/opcode.pl
    vendor/perl/dist/overload.pl
    vendor/perl/dist/perl_keyword.pl
    vendor/perl/dist/pod.lst
    vendor/perl/dist/pp.sym
    vendor/perl/dist/reentr.pl
    vendor/perl/dist/regcomp.pl
    vendor/perl/dist/regen_lib.pl
    vendor/perl/dist/uts/
    vendor/perl/dist/uupacktool.pl
    vendor/perl/dist/vmesa/
    vendor/perl/dist/warnings.pl
    vendor/perl/dist/writemain.SH
    vendor/perl/dist/xsutils.c

Property Changed:
----------------
    vendor/perl/dist/AUTHORS
    vendor/perl/dist/Artistic
    vendor/perl/dist/Changes
    vendor/perl/dist/Configure
    vendor/perl/dist/Copying
    vendor/perl/dist/Cross/Makefile
    vendor/perl/dist/Cross/Makefile-cross-SH
    vendor/perl/dist/Cross/Makefile.SH.patch
    vendor/perl/dist/Cross/README
    vendor/perl/dist/Cross/README.new
    vendor/perl/dist/Cross/TODO
    vendor/perl/dist/Cross/build-arm-n770-sh
    vendor/perl/dist/Cross/cflags-cross-arm
    vendor/perl/dist/Cross/config
    vendor/perl/dist/Cross/config.sh-arm-linux
    vendor/perl/dist/Cross/config.sh-arm-linux-n770
    vendor/perl/dist/Cross/generate_config_sh
    vendor/perl/dist/Cross/installperl.patch
    vendor/perl/dist/Cross/warp
    vendor/perl/dist/EXTERN.h
    vendor/perl/dist/INSTALL
    vendor/perl/dist/INTERN.h
    vendor/perl/dist/MANIFEST
    vendor/perl/dist/META.yml
    vendor/perl/dist/Makefile.SH
    vendor/perl/dist/Makefile.micro
    vendor/perl/dist/NetWare/CLIBsdio.h
    vendor/perl/dist/NetWare/CLIBstr.h
    vendor/perl/dist/NetWare/CLIBstuf.c
    vendor/perl/dist/NetWare/CLIBstuf.h
    vendor/perl/dist/NetWare/MP.imp
    vendor/perl/dist/NetWare/Main.c
    vendor/perl/dist/NetWare/Makefile
    vendor/perl/dist/NetWare/NWTInfo.c
    vendor/perl/dist/NetWare/NWUtil.c
    vendor/perl/dist/NetWare/Nwmain.c
    vendor/perl/dist/NetWare/Nwpipe.c
    vendor/perl/dist/NetWare/bat/Buildtype.bat
    vendor/perl/dist/NetWare/bat/SetCodeWar.bat
    vendor/perl/dist/NetWare/bat/SetNWBld.bat
    vendor/perl/dist/NetWare/bat/Setnlmsdk.bat
    vendor/perl/dist/NetWare/bat/ToggleD2.bat
    vendor/perl/dist/NetWare/config.wc
    vendor/perl/dist/NetWare/config_H.wc
    vendor/perl/dist/NetWare/config_h.PL
    vendor/perl/dist/NetWare/config_sh.PL
    vendor/perl/dist/NetWare/deb.h
    vendor/perl/dist/NetWare/dl_netware.xs
    vendor/perl/dist/NetWare/intdef.h
    vendor/perl/dist/NetWare/interface.c
    vendor/perl/dist/NetWare/interface.cpp
    vendor/perl/dist/NetWare/interface.h
    vendor/perl/dist/NetWare/iperlhost.h
    vendor/perl/dist/NetWare/netware.h
    vendor/perl/dist/NetWare/nw5.c
    vendor/perl/dist/NetWare/nw5iop.h
    vendor/perl/dist/NetWare/nw5sck.c
    vendor/perl/dist/NetWare/nw5sck.h
    vendor/perl/dist/NetWare/nw5thread.c
    vendor/perl/dist/NetWare/nw5thread.h
    vendor/perl/dist/NetWare/nwhashcls.cpp
    vendor/perl/dist/NetWare/nwhashcls.h
    vendor/perl/dist/NetWare/nwperlhost.h
    vendor/perl/dist/NetWare/nwperlsys.c
    vendor/perl/dist/NetWare/nwperlsys.h
    vendor/perl/dist/NetWare/nwpipe.h
    vendor/perl/dist/NetWare/nwplglob.c
    vendor/perl/dist/NetWare/nwplglob.h
    vendor/perl/dist/NetWare/nwstdio.h
    vendor/perl/dist/NetWare/nwtinfo.h
    vendor/perl/dist/NetWare/nwutil.h
    vendor/perl/dist/NetWare/nwvmem.h
    vendor/perl/dist/NetWare/perllib.cpp
    vendor/perl/dist/NetWare/splittree.pl
    vendor/perl/dist/NetWare/sv_nw.c
    vendor/perl/dist/NetWare/t/NWModify.pl
    vendor/perl/dist/NetWare/t/NWScripts.pl
    vendor/perl/dist/NetWare/t/Readme.txt
    vendor/perl/dist/NetWare/testnlm/echo/echo.c
    vendor/perl/dist/NetWare/testnlm/type/type.c
    vendor/perl/dist/NetWare/win32ish.h
    vendor/perl/dist/Policy_sh.SH
    vendor/perl/dist/Porting/GitUtils.pm
    vendor/perl/dist/Porting/Glossary
    vendor/perl/dist/Porting/Maintainers
    vendor/perl/dist/Porting/Maintainers.pl
    vendor/perl/dist/Porting/Maintainers.pm
    vendor/perl/dist/Porting/README.y2038
    vendor/perl/dist/Porting/add-package.pl
    vendor/perl/dist/Porting/bump-perl-version
    vendor/perl/dist/Porting/check-cpan-pollution
    vendor/perl/dist/Porting/check83.pl
    vendor/perl/dist/Porting/checkARGS_ASSERT.pl
    vendor/perl/dist/Porting/checkAUTHORS.pl
    vendor/perl/dist/Porting/checkURL.pl
    vendor/perl/dist/Porting/checkVERSION.pl
    vendor/perl/dist/Porting/checkansi.pl
    vendor/perl/dist/Porting/checkcfgvar.pl
    vendor/perl/dist/Porting/checkpodencoding.pl
    vendor/perl/dist/Porting/cherrymaint
    vendor/perl/dist/Porting/cmpVERSION.pl
    vendor/perl/dist/Porting/config.sh
    vendor/perl/dist/Porting/config_H
    vendor/perl/dist/Porting/config_h.pl
    vendor/perl/dist/Porting/core-cpan-diff
    vendor/perl/dist/Porting/corecpan.pl
    vendor/perl/dist/Porting/corelist-diff
    vendor/perl/dist/Porting/corelist-perldelta.pl
    vendor/perl/dist/Porting/corelist.pl
    vendor/perl/dist/Porting/curliff.pl
    vendor/perl/dist/Porting/epigraphs.pod
    vendor/perl/dist/Porting/exec-bit.txt
    vendor/perl/dist/Porting/expand-macro.pl
    vendor/perl/dist/Porting/findrfuncs
    vendor/perl/dist/Porting/findvars
    vendor/perl/dist/Porting/fixCORE
    vendor/perl/dist/Porting/fixvars
    vendor/perl/dist/Porting/genlog
    vendor/perl/dist/Porting/git-deltatool
    vendor/perl/dist/Porting/git-find-p4-change
    vendor/perl/dist/Porting/git-make-p4-refs
    vendor/perl/dist/Porting/how_to_write_a_perldelta.pod
    vendor/perl/dist/Porting/make_dot_patch.pl
    vendor/perl/dist/Porting/make_snapshot.pl
    vendor/perl/dist/Porting/makemeta
    vendor/perl/dist/Porting/makerel
    vendor/perl/dist/Porting/manicheck
    vendor/perl/dist/Porting/manisort
    vendor/perl/dist/Porting/mergelog
    vendor/perl/dist/Porting/mergelog-tool
    vendor/perl/dist/Porting/newtests-perldelta.pl
    vendor/perl/dist/Porting/perldelta_template.pod
    vendor/perl/dist/Porting/perlhist_calculate.pl
    vendor/perl/dist/Porting/podtidy
    vendor/perl/dist/Porting/pumpkin.pod
    vendor/perl/dist/Porting/release_managers_guide.pod
    vendor/perl/dist/Porting/release_schedule.pod
    vendor/perl/dist/Porting/rt_list_patches
    vendor/perl/dist/Porting/sort_perldiag.pl
    vendor/perl/dist/Porting/testall.atom
    vendor/perl/dist/Porting/thirdclean
    vendor/perl/dist/Porting/timecheck.c
    vendor/perl/dist/Porting/timecheck2.c
    vendor/perl/dist/Porting/valgrindpp.pl
    vendor/perl/dist/README
    vendor/perl/dist/README.aix
    vendor/perl/dist/README.amiga
    vendor/perl/dist/README.bs2000
    vendor/perl/dist/README.ce
    vendor/perl/dist/README.cn
    vendor/perl/dist/README.cygwin
    vendor/perl/dist/README.dgux
    vendor/perl/dist/README.dos
    vendor/perl/dist/README.freebsd
    vendor/perl/dist/README.haiku
    vendor/perl/dist/README.hpux
    vendor/perl/dist/README.hurd
    vendor/perl/dist/README.irix
    vendor/perl/dist/README.jp
    vendor/perl/dist/README.ko
    vendor/perl/dist/README.linux
    vendor/perl/dist/README.macos
    vendor/perl/dist/README.macosx
    vendor/perl/dist/README.micro
    vendor/perl/dist/README.netware
    vendor/perl/dist/README.openbsd
    vendor/perl/dist/README.os2
    vendor/perl/dist/README.os390
    vendor/perl/dist/README.os400
    vendor/perl/dist/README.plan9
    vendor/perl/dist/README.qnx
    vendor/perl/dist/README.riscos
    vendor/perl/dist/README.solaris
    vendor/perl/dist/README.symbian
    vendor/perl/dist/README.tru64
    vendor/perl/dist/README.tw
    vendor/perl/dist/README.vms
    vendor/perl/dist/README.vos
    vendor/perl/dist/README.win32
    vendor/perl/dist/TestInit.pm
    vendor/perl/dist/XSUB.h
    vendor/perl/dist/autodoc.pl
    vendor/perl/dist/av.c
    vendor/perl/dist/av.h
    vendor/perl/dist/cflags.SH
    vendor/perl/dist/config_h.SH
    vendor/perl/dist/configpm
    vendor/perl/dist/configure.com
    vendor/perl/dist/configure.gnu
    vendor/perl/dist/cop.h
    vendor/perl/dist/cpan/Archive-Extract/lib/Archive/Extract.pm
    vendor/perl/dist/cpan/Archive-Extract/t/01_Archive-Extract.t
    vendor/perl/dist/cpan/Archive-Extract/t/src/double_dir.zip
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.bz2
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.gz
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.jar
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.lzma
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.par
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.gz
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.xz
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.tgz
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.txz
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.xz
    vendor/perl/dist/cpan/Archive-Extract/t/src/x.zip
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.jar
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.par
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.bz2
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.gz
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.xz
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.tbz
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.tgz
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.txz
    vendor/perl/dist/cpan/Archive-Extract/t/src/y.zip
    vendor/perl/dist/cpan/Archive-Tar/bin/ptar
    vendor/perl/dist/cpan/Archive-Tar/bin/ptardiff
    vendor/perl/dist/cpan/Archive-Tar/bin/ptargrep
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm
    vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm
    vendor/perl/dist/cpan/Archive-Tar/t/01_use.t
    vendor/perl/dist/cpan/Archive-Tar/t/02_methods.t
    vendor/perl/dist/cpan/Archive-Tar/t/03_file.t
    vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t
    vendor/perl/dist/cpan/Archive-Tar/t/05_iter.t
    vendor/perl/dist/cpan/Archive-Tar/t/06_error.t
    vendor/perl/dist/cpan/Archive-Tar/t/90_symlink.t
    vendor/perl/dist/cpan/Archive-Tar/t/99_pod.t
    vendor/perl/dist/cpan/Archive-Tar/t/src/header/signed.tar
    vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_missing_dir.tar
    vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_with_dir.tar
    vendor/perl/dist/cpan/Archive-Tar/t/src/long/b
    vendor/perl/dist/cpan/Archive-Tar/t/src/long/bar.tar
    vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tbz
    vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tgz
    vendor/perl/dist/cpan/Archive-Tar/t/src/short/b
    vendor/perl/dist/cpan/Archive-Tar/t/src/short/bar.tar
    vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tbz
    vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tgz
    vendor/perl/dist/cpan/AutoLoader/lib/AutoLoader.pm
    vendor/perl/dist/cpan/AutoLoader/lib/AutoSplit.pm
    vendor/perl/dist/cpan/AutoLoader/t/01AutoLoader.t
    vendor/perl/dist/cpan/AutoLoader/t/02AutoSplit.t
    vendor/perl/dist/cpan/B-Debug/Debug.pm
    vendor/perl/dist/cpan/B-Debug/t/debug.t
    vendor/perl/dist/cpan/CGI/Changes
    vendor/perl/dist/cpan/CGI/examples/caution.xbm
    vendor/perl/dist/cpan/CGI/examples/clickable_image.cgi
    vendor/perl/dist/cpan/CGI/examples/cookie.cgi
    vendor/perl/dist/cpan/CGI/examples/crash.cgi
    vendor/perl/dist/cpan/CGI/examples/customize.cgi
    vendor/perl/dist/cpan/CGI/examples/diff_upload.cgi
    vendor/perl/dist/cpan/CGI/examples/dna.small.gif
    vendor/perl/dist/cpan/CGI/examples/file_upload.cgi
    vendor/perl/dist/cpan/CGI/examples/frameset.cgi
    vendor/perl/dist/cpan/CGI/examples/index.html
    vendor/perl/dist/cpan/CGI/examples/internal_links.cgi
    vendor/perl/dist/cpan/CGI/examples/javascript.cgi
    vendor/perl/dist/cpan/CGI/examples/make_links.pl
    vendor/perl/dist/cpan/CGI/examples/monty.cgi
    vendor/perl/dist/cpan/CGI/examples/multiple_forms.cgi
    vendor/perl/dist/cpan/CGI/examples/nph-clock.cgi
    vendor/perl/dist/cpan/CGI/examples/nph-multipart.cgi
    vendor/perl/dist/cpan/CGI/examples/popup.cgi
    vendor/perl/dist/cpan/CGI/examples/save_state.cgi
    vendor/perl/dist/cpan/CGI/examples/tryit.cgi
    vendor/perl/dist/cpan/CGI/examples/wilogo.gif
    vendor/perl/dist/cpan/CGI/lib/CGI/Apache.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Carp.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Cookie.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Fast.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Pretty.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Push.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Switch.pm
    vendor/perl/dist/cpan/CGI/lib/CGI/Util.pm
    vendor/perl/dist/cpan/CGI/lib/CGI.pm
    vendor/perl/dist/cpan/CGI/t/Dump.t
    vendor/perl/dist/cpan/CGI/t/apache.t
    vendor/perl/dist/cpan/CGI/t/autoescape.t
    vendor/perl/dist/cpan/CGI/t/can.t
    vendor/perl/dist/cpan/CGI/t/carp.t
    vendor/perl/dist/cpan/CGI/t/charset.t
    vendor/perl/dist/cpan/CGI/t/checkbox_group.t
    vendor/perl/dist/cpan/CGI/t/cookie.t
    vendor/perl/dist/cpan/CGI/t/end_form.t
    vendor/perl/dist/cpan/CGI/t/form.t
    vendor/perl/dist/cpan/CGI/t/function.t
    vendor/perl/dist/cpan/CGI/t/headers.t
    vendor/perl/dist/cpan/CGI/t/hidden.t
    vendor/perl/dist/cpan/CGI/t/html.t
    vendor/perl/dist/cpan/CGI/t/http.t
    vendor/perl/dist/cpan/CGI/t/init.t
    vendor/perl/dist/cpan/CGI/t/init_test.txt
    vendor/perl/dist/cpan/CGI/t/no_tabindex.t
    vendor/perl/dist/cpan/CGI/t/param_fetch.t
    vendor/perl/dist/cpan/CGI/t/popup_menu.t
    vendor/perl/dist/cpan/CGI/t/pretty.t
    vendor/perl/dist/cpan/CGI/t/push.t
    vendor/perl/dist/cpan/CGI/t/query_string.t
    vendor/perl/dist/cpan/CGI/t/request.t
    vendor/perl/dist/cpan/CGI/t/save_read_roundtrip.t
    vendor/perl/dist/cpan/CGI/t/start_end_asterisk.t
    vendor/perl/dist/cpan/CGI/t/start_end_end.t
    vendor/perl/dist/cpan/CGI/t/start_end_start.t
    vendor/perl/dist/cpan/CGI/t/switch.t
    vendor/perl/dist/cpan/CGI/t/unescapeHTML.t
    vendor/perl/dist/cpan/CGI/t/upload.t
    vendor/perl/dist/cpan/CGI/t/uploadInfo.t
    vendor/perl/dist/cpan/CGI/t/upload_post_text.txt
    vendor/perl/dist/cpan/CGI/t/url.t
    vendor/perl/dist/cpan/CGI/t/user_agent.t
    vendor/perl/dist/cpan/CGI/t/utf8.t
    vendor/perl/dist/cpan/CGI/t/util-58.t
    vendor/perl/dist/cpan/CGI/t/util.t
    vendor/perl/dist/cpan/CPAN/Changes
    vendor/perl/dist/cpan/CPAN/PAUSE2003.pub
    vendor/perl/dist/cpan/CPAN/PAUSE2005.pub
    vendor/perl/dist/cpan/CPAN/PAUSE2007.pub
    vendor/perl/dist/cpan/CPAN/PAUSE2009.pub
    vendor/perl/dist/cpan/CPAN/PAUSE2011.pub
    vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/API/HOWTO.pod
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Author.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Bundle.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/CacheMgr.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Complete.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Debug.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/DeferredCode.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Distroprefs.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Distrostatus.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/RecursiveDependency.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/blocked_urllist.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/yaml_not_installed.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP/netrc.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Client.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Credentials.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/HandleConfig.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Index.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/InfoObj.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.dd
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.yml
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/LWP/UserAgent.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Mirrors.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Module.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Nox.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Prompt.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Queue.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Tarzip.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/URL.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN/Version.pm
    vendor/perl/dist/cpan/CPAN/lib/CPAN.pm
    vendor/perl/dist/cpan/CPAN/scripts/cpan
    vendor/perl/dist/cpan/CPAN/t/01loadme.t
    vendor/perl/dist/cpan/CPAN/t/02nox.t
    vendor/perl/dist/cpan/CPAN/t/03pkgs.t
    vendor/perl/dist/cpan/CPAN/t/10version.t
    vendor/perl/dist/cpan/CPAN/t/11mirroredby.t
    vendor/perl/dist/cpan/CPAN-Meta/Changes
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm
    vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta.pm
    vendor/perl/dist/cpan/CPAN-Meta/t/converter-bad.t
    vendor/perl/dist/cpan/CPAN-Meta/t/converter-fail.t
    vendor/perl/dist/cpan/CPAN-Meta/t/converter.t
    vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_0.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_1.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_2.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_3.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_4.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data/META-2.json
    vendor/perl/dist/cpan/CPAN-Meta/t/data/resources.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data/restricted-2.json
    vendor/perl/dist/cpan/CPAN-Meta/t/data/restrictive-1_4.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/107650337-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1122575719-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1206545041-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1598804075-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1927486199-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985684504-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985980974-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/2031017050-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/284247103-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/344981821-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/35478989-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/476602558-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/98042513-META.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_0.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_1.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_2.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_3.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_4.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-2.json
    vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/restrictive-2.json
    vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_0.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_1.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_2.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_3.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_4.yml
    vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-2.json
    vendor/perl/dist/cpan/CPAN-Meta/t/load-bad.t
    vendor/perl/dist/cpan/CPAN-Meta/t/meta-obj.t
    vendor/perl/dist/cpan/CPAN-Meta/t/no-index.t
    vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-finalize.t
    vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-merge.t
    vendor/perl/dist/cpan/CPAN-Meta/t/prereqs.t
    vendor/perl/dist/cpan/CPAN-Meta/t/repository.t
    vendor/perl/dist/cpan/CPAN-Meta/t/save-load.t
    vendor/perl/dist/cpan/CPAN-Meta/t/validator.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/01_compile.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/02_basic.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/03_regression.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/05_export.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/11_meta_yml.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/12_plagger.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/13_perl_smith.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/14_yaml_org.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/15_multibyte.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/16_nullrefs.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/17_toolbar.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/18_tap.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/19_errors.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/20_subclass.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/21_bom.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/22_comments.t
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/HTML-WebDAO.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Spreadsheet-Read.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Template-Provider-Unicode-Japanese.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/multibyte.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/one.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/sample.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/toolbar.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/two.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/utf_16_le_bom.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/vanilla.yml
    vendor/perl/dist/cpan/CPAN-Meta-YAML/t/lib/Test.pm
    vendor/perl/dist/cpan/CPANPLUS/Makefile.PL
    vendor/perl/dist/cpan/CPANPLUS/bin/cpan2dist
    vendor/perl/dist/cpan/CPANPLUS/bin/cpanp
    vendor/perl/dist/cpan/CPANPLUS/bin/cpanp-run-perl
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend/RV.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Config.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure/Setup.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Autobundle.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Base.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/MM.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Sample.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Error.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/FAQ.pod
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Hacking.pod
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants/Report.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Extract.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Fetch.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Search.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/Memory.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils/Autoflush.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author/Fake.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Checksums.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Fake.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Signature.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Selfupdate.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Classic.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell.pm
    vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS.pm
    vendor/perl/dist/cpan/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t
    vendor/perl/dist/cpan/CPANPLUS/t/01_CPANPLUS-Configure.t
    vendor/perl/dist/cpan/CPANPLUS/t/02_CPANPLUS-Internals.t
    vendor/perl/dist/cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source.t
    vendor/perl/dist/cpan/CPANPLUS/t/04_CPANPLUS-Module.t
    vendor/perl/dist/cpan/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t
    vendor/perl/dist/cpan/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t
    vendor/perl/dist/cpan/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t
    vendor/perl/dist/cpan/CPANPLUS/t/08_CPANPLUS-Backend.t
    vendor/perl/dist/cpan/CPANPLUS/t/09_CPANPLUS-Internals-Search.t
    vendor/perl/dist/cpan/CPANPLUS/t/10_CPANPLUS-Error.t
    vendor/perl/dist/cpan/CPANPLUS/t/15_CPANPLUS-Shell.t
    vendor/perl/dist/cpan/CPANPLUS/t/19_CPANPLUS-Dist.t
    vendor/perl/dist/cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t
    vendor/perl/dist/cpan/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t
    vendor/perl/dist/cpan/CPANPLUS/t/25_CPANPLUS.t
    vendor/perl/dist/cpan/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t
    vendor/perl/dist/cpan/CPANPLUS/t/40_CPANPLUS-Internals-Report.t
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz
    vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz
    vendor/perl/dist/cpan/CPANPLUS/t/inc/conf.pl
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build/Constants.pm
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build.pm
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/01_CPANPLUS-Dist-Build-Constants.t
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/02_CPANPLUS-Dist-Build.t
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/authors/01mailrc.txt.gz
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/02packages.details.txt.gz
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/03modlist.data.gz
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-perl/.hidden
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/inc/conf.pl
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/noxs/Foo-Bar-0.01.tar.gz
    vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/xs/Foo-Bar-0.01.tar.gz
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/Bzip2.xs
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/Changes
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/Makefile.PL
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/README
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.h
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.xs
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/pod/FAQ.pod
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/000prereq.t
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/01bzip2.t
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/09limitoutput.t
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/99pod.t
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm
    vendor/perl/dist/cpan/Compress-Raw-Bzip2/typemap
    vendor/perl/dist/cpan/Compress-Raw-Zlib/Changes
    vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL
    vendor/perl/dist/cpan/Compress-Raw-Zlib/README
    vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs
    vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in
    vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtdef
    vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtinf
    vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.xs
    vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
    vendor/perl/dist/cpan/Compress-Raw-Zlib/pod/FAQ.pod
    vendor/perl/dist/cpan/Compress-Raw-Zlib/private/MakeUtil.pm
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/01version.t
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/07bufsize.t
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/09limitoutput.t
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/18lvalue.t
    vendor/perl/dist/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
    vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffixed.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c
    vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h
    vendor/perl/dist/cpan/DB_File/Changes
    vendor/perl/dist/cpan/DB_File/DB_File.pm
    vendor/perl/dist/cpan/DB_File/DB_File.xs
    vendor/perl/dist/cpan/DB_File/DB_File_BS
    vendor/perl/dist/cpan/DB_File/Makefile.PL
    vendor/perl/dist/cpan/DB_File/config.in
    vendor/perl/dist/cpan/DB_File/dbinfo
    vendor/perl/dist/cpan/DB_File/hints/dynixptx.pl
    vendor/perl/dist/cpan/DB_File/hints/sco.pl
    vendor/perl/dist/cpan/DB_File/t/db-btree.t
    vendor/perl/dist/cpan/DB_File/t/db-hash.t
    vendor/perl/dist/cpan/DB_File/t/db-recno.t
    vendor/perl/dist/cpan/DB_File/typemap
    vendor/perl/dist/cpan/DB_File/version.c
    vendor/perl/dist/cpan/Devel-DProf/DProf.pm
    vendor/perl/dist/cpan/Devel-DProf/DProf.xs
    vendor/perl/dist/cpan/Devel-DProf/Todo
    vendor/perl/dist/cpan/Devel-DProf/bin/dprofpp
    vendor/perl/dist/cpan/Devel-DProf/dprof/V.pm
    vendor/perl/dist/cpan/Devel-DProf/dprof/test1_t
    vendor/perl/dist/cpan/Devel-DProf/dprof/test1_v
    vendor/perl/dist/cpan/Devel-DProf/dprof/test2_t
    vendor/perl/dist/cpan/Devel-DProf/dprof/test2_v
    vendor/perl/dist/cpan/Devel-DProf/dprof/test3_t
    vendor/perl/dist/cpan/Devel-DProf/dprof/test3_v
    vendor/perl/dist/cpan/Devel-DProf/dprof/test4_t
    vendor/perl/dist/cpan/Devel-DProf/dprof/test4_v
    vendor/perl/dist/cpan/Devel-DProf/dprof/test5_t
    vendor/perl/dist/cpan/Devel-DProf/dprof/test5_v
    vendor/perl/dist/cpan/Devel-DProf/dprof/test6_t
    vendor/perl/dist/cpan/Devel-DProf/dprof/test6_v
    vendor/perl/dist/cpan/Devel-DProf/dprof/test7_t
    vendor/perl/dist/cpan/Devel-DProf/dprof/test7_v
    vendor/perl/dist/cpan/Devel-DProf/dprof/test8_t
    vendor/perl/dist/cpan/Devel-DProf/dprof/test8_v
    vendor/perl/dist/cpan/Devel-DProf/t/DProf.t
    vendor/perl/dist/cpan/Devel-PPPort/Changes
    vendor/perl/dist/cpan/Devel-PPPort/HACKERS
    vendor/perl/dist/cpan/Devel-PPPort/MANIFEST.SKIP
    vendor/perl/dist/cpan/Devel-PPPort/Makefile.PL
    vendor/perl/dist/cpan/Devel-PPPort/PPPort.xs
    vendor/perl/dist/cpan/Devel-PPPort/PPPort_pm.PL
    vendor/perl/dist/cpan/Devel-PPPort/PPPort_xs.PL
    vendor/perl/dist/cpan/Devel-PPPort/README
    vendor/perl/dist/cpan/Devel-PPPort/TODO
    vendor/perl/dist/cpan/Devel-PPPort/apicheck_c.PL
    vendor/perl/dist/cpan/Devel-PPPort/devel/buildperl.pl
    vendor/perl/dist/cpan/Devel-PPPort/devel/devtools.pl
    vendor/perl/dist/cpan/Devel-PPPort/devel/mkapidoc.sh
    vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo
    vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo.pl
    vendor/perl/dist/cpan/Devel-PPPort/devel/regenerate
    vendor/perl/dist/cpan/Devel-PPPort/devel/scanprov
    vendor/perl/dist/cpan/Devel-PPPort/mktests.PL
    vendor/perl/dist/cpan/Devel-PPPort/module2.c
    vendor/perl/dist/cpan/Devel-PPPort/module3.c
    vendor/perl/dist/cpan/Devel-PPPort/parts/apicheck.pl
    vendor/perl/dist/cpan/Devel-PPPort/parts/apidoc.fnc
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004010
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004020
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004030
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004040
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004050
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005010
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005020
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005030
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005040
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006001
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006002
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007001
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007002
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007003
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008001
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008002
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008003
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008004
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008005
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008006
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008007
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008008
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009001
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009002
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009003
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009004
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009005
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5010000
    vendor/perl/dist/cpan/Devel-PPPort/parts/base/5011000
    vendor/perl/dist/cpan/Devel-PPPort/parts/embed.fnc
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/HvNAME
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/MY_CXT
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvPV
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvREFCNT
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/Sv_set
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/call
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/cop
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/exception
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/format
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/grok
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/gv
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/limits
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/mPUSH
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/magic
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/memory
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/misc
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newCONSTSUB
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newRV
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSV_type
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSVpv
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/podtest
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphbin
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphdoc
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphtest
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pv_tools
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pvs
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/shared_pv
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/snprintf
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sprintf
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/strlfuncs
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sv_xpvf
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/threads
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/uv
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/variables
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/version
    vendor/perl/dist/cpan/Devel-PPPort/parts/inc/warn
    vendor/perl/dist/cpan/Devel-PPPort/parts/ppport.fnc
    vendor/perl/dist/cpan/Devel-PPPort/parts/ppptools.pl
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004010
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004020
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004030
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004040
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004050
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005010
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005020
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005030
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005040
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006001
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006002
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007001
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007002
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007003
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008001
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008002
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008003
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008004
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008005
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008006
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008007
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008008
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009001
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009002
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009003
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009004
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009005
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5010000
    vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5011000
    vendor/perl/dist/cpan/Devel-PPPort/ppport_h.PL
    vendor/perl/dist/cpan/Devel-PPPort/soak
    vendor/perl/dist/cpan/Devel-PPPort/t/HvNAME.t
    vendor/perl/dist/cpan/Devel-PPPort/t/MY_CXT.t
    vendor/perl/dist/cpan/Devel-PPPort/t/SvPV.t
    vendor/perl/dist/cpan/Devel-PPPort/t/SvREFCNT.t
    vendor/perl/dist/cpan/Devel-PPPort/t/Sv_set.t
    vendor/perl/dist/cpan/Devel-PPPort/t/call.t
    vendor/perl/dist/cpan/Devel-PPPort/t/cop.t
    vendor/perl/dist/cpan/Devel-PPPort/t/exception.t
    vendor/perl/dist/cpan/Devel-PPPort/t/format.t
    vendor/perl/dist/cpan/Devel-PPPort/t/grok.t
    vendor/perl/dist/cpan/Devel-PPPort/t/gv.t
    vendor/perl/dist/cpan/Devel-PPPort/t/limits.t
    vendor/perl/dist/cpan/Devel-PPPort/t/mPUSH.t
    vendor/perl/dist/cpan/Devel-PPPort/t/magic.t
    vendor/perl/dist/cpan/Devel-PPPort/t/memory.t
    vendor/perl/dist/cpan/Devel-PPPort/t/misc.t
    vendor/perl/dist/cpan/Devel-PPPort/t/newCONSTSUB.t
    vendor/perl/dist/cpan/Devel-PPPort/t/newRV.t
    vendor/perl/dist/cpan/Devel-PPPort/t/newSV_type.t
    vendor/perl/dist/cpan/Devel-PPPort/t/newSVpv.t
    vendor/perl/dist/cpan/Devel-PPPort/t/podtest.t
    vendor/perl/dist/cpan/Devel-PPPort/t/ppphtest.t
    vendor/perl/dist/cpan/Devel-PPPort/t/pv_tools.t
    vendor/perl/dist/cpan/Devel-PPPort/t/pvs.t
    vendor/perl/dist/cpan/Devel-PPPort/t/shared_pv.t
    vendor/perl/dist/cpan/Devel-PPPort/t/snprintf.t
    vendor/perl/dist/cpan/Devel-PPPort/t/sprintf.t
    vendor/perl/dist/cpan/Devel-PPPort/t/strlfuncs.t
    vendor/perl/dist/cpan/Devel-PPPort/t/sv_xpvf.t
    vendor/perl/dist/cpan/Devel-PPPort/t/testutil.pl
    vendor/perl/dist/cpan/Devel-PPPort/t/threads.t
    vendor/perl/dist/cpan/Devel-PPPort/t/uv.t
    vendor/perl/dist/cpan/Devel-PPPort/t/variables.t
    vendor/perl/dist/cpan/Devel-PPPort/t/warn.t
    vendor/perl/dist/cpan/Devel-PPPort/typemap
    vendor/perl/dist/cpan/Digest/Changes
    vendor/perl/dist/cpan/Digest/Digest/base.pm
    vendor/perl/dist/cpan/Digest/Digest/file.pm
    vendor/perl/dist/cpan/Digest/Digest.pm
    vendor/perl/dist/cpan/Digest/t/base.t
    vendor/perl/dist/cpan/Digest/t/digest.t
    vendor/perl/dist/cpan/Digest/t/file.t
    vendor/perl/dist/cpan/Digest-MD5/Changes
    vendor/perl/dist/cpan/Digest-MD5/MD5.pm
    vendor/perl/dist/cpan/Digest-MD5/MD5.xs
    vendor/perl/dist/cpan/Digest-MD5/Makefile.PL
    vendor/perl/dist/cpan/Digest-MD5/README
    vendor/perl/dist/cpan/Digest-MD5/hints/MacOS.pl
    vendor/perl/dist/cpan/Digest-MD5/hints/dec_osf.pl
    vendor/perl/dist/cpan/Digest-MD5/hints/irix_6.pl
    vendor/perl/dist/cpan/Digest-MD5/t/align.t
    vendor/perl/dist/cpan/Digest-MD5/t/badfile.t
    vendor/perl/dist/cpan/Digest-MD5/t/bits.t
    vendor/perl/dist/cpan/Digest-MD5/t/clone.t
    vendor/perl/dist/cpan/Digest-MD5/t/files.t
    vendor/perl/dist/cpan/Digest-MD5/t/md5-aaa.t
    vendor/perl/dist/cpan/Digest-MD5/t/threads.t
    vendor/perl/dist/cpan/Digest-MD5/t/utf8.t
    vendor/perl/dist/cpan/Digest-MD5/typemap
    vendor/perl/dist/cpan/Digest-SHA/Changes
    vendor/perl/dist/cpan/Digest-SHA/Makefile.PL
    vendor/perl/dist/cpan/Digest-SHA/README
    vendor/perl/dist/cpan/Digest-SHA/SHA.xs
    vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm
    vendor/perl/dist/cpan/Digest-SHA/shasum
    vendor/perl/dist/cpan/Digest-SHA/src/hmac.c
    vendor/perl/dist/cpan/Digest-SHA/src/hmac.h
    vendor/perl/dist/cpan/Digest-SHA/src/hmacxtra.c
    vendor/perl/dist/cpan/Digest-SHA/src/sha.c
    vendor/perl/dist/cpan/Digest-SHA/src/sha.h
    vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c
    vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h
    vendor/perl/dist/cpan/Digest-SHA/src/shaxtra.c
    vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t
    vendor/perl/dist/cpan/Digest-SHA/t/base64.t
    vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t
    vendor/perl/dist/cpan/Digest-SHA/t/dumpload.t
    vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t
    vendor/perl/dist/cpan/Digest-SHA/t/fips198.t
    vendor/perl/dist/cpan/Digest-SHA/t/gg.t
    vendor/perl/dist/cpan/Digest-SHA/t/gglong.t
    vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t
    vendor/perl/dist/cpan/Digest-SHA/t/ireland.t
    vendor/perl/dist/cpan/Digest-SHA/t/methods.t
    vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t
    vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t
    vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha1.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha224.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha256.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha384.t
    vendor/perl/dist/cpan/Digest-SHA/t/sha512.t
    vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t
    vendor/perl/dist/cpan/Digest-SHA/typemap
    vendor/perl/dist/cpan/Encode/AUTHORS
    vendor/perl/dist/cpan/Encode/Byte/Byte.pm
    vendor/perl/dist/cpan/Encode/Byte/Makefile.PL
    vendor/perl/dist/cpan/Encode/CN/CN.pm
    vendor/perl/dist/cpan/Encode/CN/Makefile.PL
    vendor/perl/dist/cpan/Encode/Changes
    vendor/perl/dist/cpan/Encode/EBCDIC/EBCDIC.pm
    vendor/perl/dist/cpan/Encode/EBCDIC/Makefile.PL
    vendor/perl/dist/cpan/Encode/Encode/Changes.e2x
    vendor/perl/dist/cpan/Encode/Encode/ConfigLocal_PM.e2x
    vendor/perl/dist/cpan/Encode/Encode/Makefile_PL.e2x
    vendor/perl/dist/cpan/Encode/Encode/README.e2x
    vendor/perl/dist/cpan/Encode/Encode/_PM.e2x
    vendor/perl/dist/cpan/Encode/Encode/_T.e2x
    vendor/perl/dist/cpan/Encode/Encode/encode.h
    vendor/perl/dist/cpan/Encode/Encode.pm
    vendor/perl/dist/cpan/Encode/Encode.xs
    vendor/perl/dist/cpan/Encode/JP/JP.pm
    vendor/perl/dist/cpan/Encode/JP/Makefile.PL
    vendor/perl/dist/cpan/Encode/KR/KR.pm
    vendor/perl/dist/cpan/Encode/KR/Makefile.PL
    vendor/perl/dist/cpan/Encode/MANIFEST
    vendor/perl/dist/cpan/Encode/META.yml
    vendor/perl/dist/cpan/Encode/Makefile.PL
    vendor/perl/dist/cpan/Encode/README
    vendor/perl/dist/cpan/Encode/Symbol/Makefile.PL
    vendor/perl/dist/cpan/Encode/Symbol/Symbol.pm
    vendor/perl/dist/cpan/Encode/TW/Makefile.PL
    vendor/perl/dist/cpan/Encode/TW/TW.pm
    vendor/perl/dist/cpan/Encode/Unicode/Makefile.PL
    vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm
    vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs
    vendor/perl/dist/cpan/Encode/bin/enc2xs
    vendor/perl/dist/cpan/Encode/bin/piconv
    vendor/perl/dist/cpan/Encode/bin/ucm2table
    vendor/perl/dist/cpan/Encode/bin/ucmlint
    vendor/perl/dist/cpan/Encode/bin/ucmsort
    vendor/perl/dist/cpan/Encode/bin/unidump
    vendor/perl/dist/cpan/Encode/encengine.c
    vendor/perl/dist/cpan/Encode/encoding.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/CJKConstants.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Config.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Encoder.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/JP/H2Z.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm
    vendor/perl/dist/cpan/Encode/lib/Encode/PerlIO.pod
    vendor/perl/dist/cpan/Encode/lib/Encode/Supported.pod
    vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm
    vendor/perl/dist/cpan/Encode/t/Aliases.t
    vendor/perl/dist/cpan/Encode/t/CJKT.t
    vendor/perl/dist/cpan/Encode/t/Encode.t
    vendor/perl/dist/cpan/Encode/t/Encoder.t
    vendor/perl/dist/cpan/Encode/t/Mod_EUCJP.pm
    vendor/perl/dist/cpan/Encode/t/Unicode.t
    vendor/perl/dist/cpan/Encode/t/at-cn.t
    vendor/perl/dist/cpan/Encode/t/at-tw.t
    vendor/perl/dist/cpan/Encode/t/big5-eten.enc
    vendor/perl/dist/cpan/Encode/t/big5-eten.utf
    vendor/perl/dist/cpan/Encode/t/big5-hkscs.enc
    vendor/perl/dist/cpan/Encode/t/big5-hkscs.utf
    vendor/perl/dist/cpan/Encode/t/enc_data.t
    vendor/perl/dist/cpan/Encode/t/enc_eucjp.t
    vendor/perl/dist/cpan/Encode/t/enc_module.enc
    vendor/perl/dist/cpan/Encode/t/enc_module.t
    vendor/perl/dist/cpan/Encode/t/enc_utf8.t
    vendor/perl/dist/cpan/Encode/t/encoding.t
    vendor/perl/dist/cpan/Encode/t/fallback.t
    vendor/perl/dist/cpan/Encode/t/from_to.t
    vendor/perl/dist/cpan/Encode/t/gb2312.enc
    vendor/perl/dist/cpan/Encode/t/gb2312.utf
    vendor/perl/dist/cpan/Encode/t/grow.t
    vendor/perl/dist/cpan/Encode/t/gsm0338.t
    vendor/perl/dist/cpan/Encode/t/guess.t
    vendor/perl/dist/cpan/Encode/t/jis7-fallback.t
    vendor/perl/dist/cpan/Encode/t/jisx0201.enc
    vendor/perl/dist/cpan/Encode/t/jisx0201.utf
    vendor/perl/dist/cpan/Encode/t/jisx0208.enc
    vendor/perl/dist/cpan/Encode/t/jisx0208.utf
    vendor/perl/dist/cpan/Encode/t/jisx0212.enc
    vendor/perl/dist/cpan/Encode/t/jisx0212.utf
    vendor/perl/dist/cpan/Encode/t/jperl.t
    vendor/perl/dist/cpan/Encode/t/ksc5601.enc
    vendor/perl/dist/cpan/Encode/t/ksc5601.utf
    vendor/perl/dist/cpan/Encode/t/mime-header.t
    vendor/perl/dist/cpan/Encode/t/mime-name.t
    vendor/perl/dist/cpan/Encode/t/mime_header_iso2022jp.t
    vendor/perl/dist/cpan/Encode/t/perlio.t
    vendor/perl/dist/cpan/Encode/t/piconv.t
    vendor/perl/dist/cpan/Encode/t/rt.pl
    vendor/perl/dist/cpan/Encode/t/unibench.pl
    vendor/perl/dist/cpan/Encode/t/utf8ref.t
    vendor/perl/dist/cpan/Encode/t/utf8strict.t
    vendor/perl/dist/cpan/Encode/ucm/8859-1.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-10.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-11.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-13.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-14.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-15.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-16.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-2.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-3.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-4.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-5.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-6.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-7.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-8.ucm
    vendor/perl/dist/cpan/Encode/ucm/8859-9.ucm
    vendor/perl/dist/cpan/Encode/ucm/adobeStdenc.ucm
    vendor/perl/dist/cpan/Encode/ucm/adobeSymbol.ucm
    vendor/perl/dist/cpan/Encode/ucm/adobeZdingbat.ucm
    vendor/perl/dist/cpan/Encode/ucm/ascii.ucm
    vendor/perl/dist/cpan/Encode/ucm/big5-eten.ucm
    vendor/perl/dist/cpan/Encode/ucm/big5-hkscs.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp037.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1006.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1026.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1047.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1250.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1251.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1252.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1253.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1254.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1255.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1256.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1257.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp1258.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp424.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp437.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp500.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp737.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp775.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp850.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp852.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp855.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp856.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp857.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp858.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp860.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp861.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp862.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp863.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp864.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp865.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp866.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp869.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp874.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp875.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp932.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp936.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp949.ucm
    vendor/perl/dist/cpan/Encode/ucm/cp950.ucm
    vendor/perl/dist/cpan/Encode/ucm/ctrl.ucm
    vendor/perl/dist/cpan/Encode/ucm/dingbats.ucm
    vendor/perl/dist/cpan/Encode/ucm/euc-cn.ucm
    vendor/perl/dist/cpan/Encode/ucm/euc-jp.ucm
    vendor/perl/dist/cpan/Encode/ucm/euc-kr.ucm
    vendor/perl/dist/cpan/Encode/ucm/gb12345.ucm
    vendor/perl/dist/cpan/Encode/ucm/gb2312.ucm
    vendor/perl/dist/cpan/Encode/ucm/hp-roman8.ucm
    vendor/perl/dist/cpan/Encode/ucm/ir-165.ucm
    vendor/perl/dist/cpan/Encode/ucm/jis0201.ucm
    vendor/perl/dist/cpan/Encode/ucm/jis0208.ucm
    vendor/perl/dist/cpan/Encode/ucm/jis0212.ucm
    vendor/perl/dist/cpan/Encode/ucm/johab.ucm
    vendor/perl/dist/cpan/Encode/ucm/koi8-f.ucm
    vendor/perl/dist/cpan/Encode/ucm/koi8-r.ucm
    vendor/perl/dist/cpan/Encode/ucm/koi8-u.ucm
    vendor/perl/dist/cpan/Encode/ucm/ksc5601.ucm
    vendor/perl/dist/cpan/Encode/ucm/macArabic.ucm
    vendor/perl/dist/cpan/Encode/ucm/macCentEuro.ucm
    vendor/perl/dist/cpan/Encode/ucm/macChinsimp.ucm
    vendor/perl/dist/cpan/Encode/ucm/macChintrad.ucm
    vendor/perl/dist/cpan/Encode/ucm/macCroatian.ucm
    vendor/perl/dist/cpan/Encode/ucm/macCyrillic.ucm
    vendor/perl/dist/cpan/Encode/ucm/macDingbats.ucm
    vendor/perl/dist/cpan/Encode/ucm/macFarsi.ucm
    vendor/perl/dist/cpan/Encode/ucm/macGreek.ucm
    vendor/perl/dist/cpan/Encode/ucm/macHebrew.ucm
    vendor/perl/dist/cpan/Encode/ucm/macIceland.ucm
    vendor/perl/dist/cpan/Encode/ucm/macJapanese.ucm
    vendor/perl/dist/cpan/Encode/ucm/macKorean.ucm
    vendor/perl/dist/cpan/Encode/ucm/macROMnn.ucm
    vendor/perl/dist/cpan/Encode/ucm/macRUMnn.ucm
    vendor/perl/dist/cpan/Encode/ucm/macRoman.ucm
    vendor/perl/dist/cpan/Encode/ucm/macSami.ucm
    vendor/perl/dist/cpan/Encode/ucm/macSymbol.ucm
    vendor/perl/dist/cpan/Encode/ucm/macThai.ucm
    vendor/perl/dist/cpan/Encode/ucm/macTurkish.ucm
    vendor/perl/dist/cpan/Encode/ucm/macUkraine.ucm
    vendor/perl/dist/cpan/Encode/ucm/nextstep.ucm
    vendor/perl/dist/cpan/Encode/ucm/null.ucm
    vendor/perl/dist/cpan/Encode/ucm/posix-bc.ucm
    vendor/perl/dist/cpan/Encode/ucm/shiftjis.ucm
    vendor/perl/dist/cpan/Encode/ucm/symbol.ucm
    vendor/perl/dist/cpan/Encode/ucm/viscii.ucm
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm
    vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm
    vendor/perl/dist/cpan/ExtUtils-Constant/t/Constant.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/Changes
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/MANIFEST
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/NOTES
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/PATCHING
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/README
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/TODO
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/bin/instmodsh
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/YAML.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/00compile.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Liblist.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Any.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_BeOS.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_NW5.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_OS2.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_VMS.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Win32.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MakeMaker_Parameters.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/VERSION_FROM.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/WriteEmptyMakefile.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/arch_check.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/backwards.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/build_man.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/cd.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/config.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/dir_target.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fix_libs.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fixin.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/hints.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/installed_file.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/is_of_type.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/NoXS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/MPV.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/PL_FILES.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Problem.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Recurs.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/SAS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieIn.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieOut.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/make.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/maketext_filter.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_file.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/miniperl.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/oneliner.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_abstract.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pod2man.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/postamble.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prefixify.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq_print.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/problems.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prompt.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/recurs.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/revision.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/several_authors.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/split_command.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/test_boilerplate.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch1/Config.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch2/Config.pm
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testlib.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t
    vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/xs.t
    vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm
    vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t
    vendor/perl/dist/cpan/File-Fetch/t/null_subclass.t
    vendor/perl/dist/cpan/File-Path/lib/File/Path.pm
    vendor/perl/dist/cpan/File-Path/t/Path.t
    vendor/perl/dist/cpan/File-Path/t/taint.t
    vendor/perl/dist/cpan/File-Temp/Temp.pm
    vendor/perl/dist/cpan/File-Temp/t/cmp.t
    vendor/perl/dist/cpan/File-Temp/t/fork.t
    vendor/perl/dist/cpan/File-Temp/t/lock.t
    vendor/perl/dist/cpan/File-Temp/t/mktemp.t
    vendor/perl/dist/cpan/File-Temp/t/object.t
    vendor/perl/dist/cpan/File-Temp/t/posix.t
    vendor/perl/dist/cpan/File-Temp/t/security.t
    vendor/perl/dist/cpan/File-Temp/t/seekable.t
    vendor/perl/dist/cpan/File-Temp/t/tempfile.t
    vendor/perl/dist/cpan/Filter-Util-Call/Call.pm
    vendor/perl/dist/cpan/Filter-Util-Call/Call.xs
    vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl
    vendor/perl/dist/cpan/Filter-Util-Call/t/call.t
    vendor/perl/dist/cpan/Getopt-Long/CHANGES
    vendor/perl/dist/cpan/Getopt-Long/README
    vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm
    vendor/perl/dist/cpan/Getopt-Long/t/gol-basic.t
    vendor/perl/dist/cpan/Getopt-Long/t/gol-compat.t
    vendor/perl/dist/cpan/Getopt-Long/t/gol-linkage.t
    vendor/perl/dist/cpan/Getopt-Long/t/gol-oo.t
    vendor/perl/dist/cpan/Getopt-Long/t/gol-xargv.t
    vendor/perl/dist/cpan/Getopt-Long/t/gol-xstring.t
    vendor/perl/dist/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
    vendor/perl/dist/cpan/HTTP-Tiny/t/00-compile.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/000_load.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/001_api.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/002_croakage.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/010_url.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/020_headers.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/030_response.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/040_content.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/050_chunked_body.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/060_http_date.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/100_get.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/110_mirror.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/120_put.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/130_redirect.t
    vendor/perl/dist/cpan/HTTP-Tiny/t/Util.pm
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-01.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-02.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-03.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-04.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-05.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-06.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-07.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-08.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-09.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-10.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-11.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-12.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-13.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-14.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-15.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-16.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-17.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-18.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-19.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-20.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-21.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-01.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-02.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-03.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-04.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-05.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-01.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-02.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-03.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-04.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-05.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-01.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-02.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-03.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-04.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-05.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-06.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-07.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-08.txt
    vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-09.txt
    vendor/perl/dist/cpan/IO-Compress/Changes
    vendor/perl/dist/cpan/IO-Compress/Makefile.PL
    vendor/perl/dist/cpan/IO-Compress/README
    vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtdef
    vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtinf
    vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzcat
    vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzgrep
    vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzstream
    vendor/perl/dist/cpan/IO-Compress/examples/io/anycat
    vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzcat
    vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzgrep
    vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzstream
    vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzappend
    vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzcat
    vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzgrep
    vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzstream
    vendor/perl/dist/cpan/IO-Compress/lib/Compress/Zlib.pm
    vendor/perl/dist/cpan/IO-Compress/lib/File/GlobMapper.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
    vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
    vendor/perl/dist/cpan/IO-Compress/pod/FAQ.pod
    vendor/perl/dist/cpan/IO-Compress/private/MakeUtil.pm
    vendor/perl/dist/cpan/IO-Compress/t/000prereq.t
    vendor/perl/dist/cpan/IO-Compress/t/001bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/002any-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/002any-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/002any-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/002any-transparent.t
    vendor/perl/dist/cpan/IO-Compress/t/002any-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/004gziphdr.t
    vendor/perl/dist/cpan/IO-Compress/t/005defhdr.t
    vendor/perl/dist/cpan/IO-Compress/t/006zip.t
    vendor/perl/dist/cpan/IO-Compress/t/010examples-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/010examples-zlib.t
    vendor/perl/dist/cpan/IO-Compress/t/01misc.t
    vendor/perl/dist/cpan/IO-Compress/t/020isize.t
    vendor/perl/dist/cpan/IO-Compress/t/050interop-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/100generic-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/100generic-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/100generic-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/100generic-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/100generic-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/101truncate-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/102tied-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/102tied-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/102tied-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/102tied-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/102tied-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/103newtied-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/103newtied-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/103newtied-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/103newtied-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/103newtied-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/104destroy-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/104destroy-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/104destroy-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/104destroy-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/104destroy-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip-only.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-bzip2-only.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-only.t
    vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/106prime-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/106prime-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/106prime-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/106prime-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/106prime-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/107multi-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/107multi-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/107multi-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/107multi-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/107multi-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/108anyunc-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/108anyunc-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/108anyunc-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/108anyunc-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/108anyunc-transparent.t
    vendor/perl/dist/cpan/IO-Compress/t/108anyunc-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/109merge-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/109merge-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/109merge-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/109merge-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/110encode-bzip2.t
    vendor/perl/dist/cpan/IO-Compress/t/110encode-deflate.t
    vendor/perl/dist/cpan/IO-Compress/t/110encode-gzip.t
    vendor/perl/dist/cpan/IO-Compress/t/110encode-rawdeflate.t
    vendor/perl/dist/cpan/IO-Compress/t/110encode-zip.t
    vendor/perl/dist/cpan/IO-Compress/t/999pod.t
    vendor/perl/dist/cpan/IO-Compress/t/compress/CompTestUtils.pm
    vendor/perl/dist/cpan/IO-Compress/t/compress/any.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/anyunc.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/destroy.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/encode.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/generic.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/merge.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/multi.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/newtied.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/oneshot.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/prime.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/tied.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/truncate.pl
    vendor/perl/dist/cpan/IO-Compress/t/compress/zlib-generic.pl
    vendor/perl/dist/cpan/IO-Compress/t/cz-01version.t
    vendor/perl/dist/cpan/IO-Compress/t/cz-03zlib-v1.t
    vendor/perl/dist/cpan/IO-Compress/t/cz-05examples.t
    vendor/perl/dist/cpan/IO-Compress/t/cz-06gzsetp.t
    vendor/perl/dist/cpan/IO-Compress/t/cz-08encoding.t
    vendor/perl/dist/cpan/IO-Compress/t/cz-14gzopen.t
    vendor/perl/dist/cpan/IO-Compress/t/globmapper.t
    vendor/perl/dist/cpan/IO-Zlib/Zlib.pm
    vendor/perl/dist/cpan/IO-Zlib/t/basic.t
    vendor/perl/dist/cpan/IO-Zlib/t/external.t
    vendor/perl/dist/cpan/IO-Zlib/t/getc.t
    vendor/perl/dist/cpan/IO-Zlib/t/getline.t
    vendor/perl/dist/cpan/IO-Zlib/t/import.t
    vendor/perl/dist/cpan/IO-Zlib/t/large.t
    vendor/perl/dist/cpan/IO-Zlib/t/tied.t
    vendor/perl/dist/cpan/IO-Zlib/t/uncomp1.t
    vendor/perl/dist/cpan/IO-Zlib/t/uncomp2.t
    vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm
    vendor/perl/dist/cpan/IPC-Cmd/t/01_IPC-Cmd.t
    vendor/perl/dist/cpan/IPC-Cmd/t/02_Interactive.t
    vendor/perl/dist/cpan/IPC-Cmd/t/src/child.pl
    vendor/perl/dist/cpan/IPC-Cmd/t/src/output.pl
    vendor/perl/dist/cpan/IPC-Cmd/t/src/x.tgz
    vendor/perl/dist/cpan/IPC-SysV/Changes
    vendor/perl/dist/cpan/IPC-SysV/MANIFEST.SKIP
    vendor/perl/dist/cpan/IPC-SysV/Makefile.PL
    vendor/perl/dist/cpan/IPC-SysV/README
    vendor/perl/dist/cpan/IPC-SysV/SysV.xs
    vendor/perl/dist/cpan/IPC-SysV/TODO
    vendor/perl/dist/cpan/IPC-SysV/hints/cygwin.pl
    vendor/perl/dist/cpan/IPC-SysV/hints/next_3.pl
    vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Msg.pm
    vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Semaphore.pm
    vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SharedMem.pm
    vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SysV.pm
    vendor/perl/dist/cpan/IPC-SysV/regen.pl
    vendor/perl/dist/cpan/IPC-SysV/t/ipcsysv.t
    vendor/perl/dist/cpan/IPC-SysV/t/msg.t
    vendor/perl/dist/cpan/IPC-SysV/t/pod.t
    vendor/perl/dist/cpan/IPC-SysV/t/podcov.t
    vendor/perl/dist/cpan/IPC-SysV/t/sem.t
    vendor/perl/dist/cpan/IPC-SysV/t/shm.t
    vendor/perl/dist/cpan/IPC-SysV/typemap
    vendor/perl/dist/cpan/JSON-PP/bin/json_pp
    vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm
    vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm
    vendor/perl/dist/cpan/JSON-PP/t/000_load.t
    vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t
    vendor/perl/dist/cpan/JSON-PP/t/002_error.t
    vendor/perl/dist/cpan/JSON-PP/t/003_types.t
    vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t
    vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t
    vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t
    vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t
    vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t
    vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t
    vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t
    vendor/perl/dist/cpan/JSON-PP/t/013_limit.t
    vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t
    vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t
    vendor/perl/dist/cpan/JSON-PP/t/016_tied.t
    vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t
    vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t
    vendor/perl/dist/cpan/JSON-PP/t/019_incr.t
    vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t
    vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t
    vendor/perl/dist/cpan/JSON-PP/t/022_comment_at_eof.t
    vendor/perl/dist/cpan/JSON-PP/t/099_binary.t
    vendor/perl/dist/cpan/JSON-PP/t/104_sortby.t
    vendor/perl/dist/cpan/JSON-PP/t/105_esc_slash.t
    vendor/perl/dist/cpan/JSON-PP/t/106_allow_barekey.t
    vendor/perl/dist/cpan/JSON-PP/t/107_allow_singlequote.t
    vendor/perl/dist/cpan/JSON-PP/t/108_decode.t
    vendor/perl/dist/cpan/JSON-PP/t/109_encode.t
    vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t
    vendor/perl/dist/cpan/JSON-PP/t/112_upgrade.t
    vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t
    vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t
    vendor/perl/dist/cpan/JSON-PP/t/115_tie_ixhash.t
    vendor/perl/dist/cpan/JSON-PP/t/_unicode_handling.pm
    vendor/perl/dist/cpan/List-Util/Changes
    vendor/perl/dist/cpan/List-Util/ListUtil.xs
    vendor/perl/dist/cpan/List-Util/Makefile.PL
    vendor/perl/dist/cpan/List-Util/README
    vendor/perl/dist/cpan/List-Util/XS.pp
    vendor/perl/dist/cpan/List-Util/lib/List/Util/PP.pm
    vendor/perl/dist/cpan/List-Util/lib/List/Util/XS.pm
    vendor/perl/dist/cpan/List-Util/lib/List/Util.pm
    vendor/perl/dist/cpan/List-Util/lib/Scalar/Util/PP.pm
    vendor/perl/dist/cpan/List-Util/lib/Scalar/Util.pm
    vendor/perl/dist/cpan/List-Util/multicall.h
    vendor/perl/dist/cpan/List-Util/t/00version.t
    vendor/perl/dist/cpan/List-Util/t/blessed.t
    vendor/perl/dist/cpan/List-Util/t/dualvar.t
    vendor/perl/dist/cpan/List-Util/t/expfail.t
    vendor/perl/dist/cpan/List-Util/t/first.t
    vendor/perl/dist/cpan/List-Util/t/isvstring.t
    vendor/perl/dist/cpan/List-Util/t/lln.t
    vendor/perl/dist/cpan/List-Util/t/max.t
    vendor/perl/dist/cpan/List-Util/t/maxstr.t
    vendor/perl/dist/cpan/List-Util/t/min.t
    vendor/perl/dist/cpan/List-Util/t/minstr.t
    vendor/perl/dist/cpan/List-Util/t/openhan.t
    vendor/perl/dist/cpan/List-Util/t/p_00version.t
    vendor/perl/dist/cpan/List-Util/t/p_blessed.t
    vendor/perl/dist/cpan/List-Util/t/p_first.t
    vendor/perl/dist/cpan/List-Util/t/p_lln.t
    vendor/perl/dist/cpan/List-Util/t/p_max.t
    vendor/perl/dist/cpan/List-Util/t/p_maxstr.t
    vendor/perl/dist/cpan/List-Util/t/p_min.t
    vendor/perl/dist/cpan/List-Util/t/p_minstr.t
    vendor/perl/dist/cpan/List-Util/t/p_openhan.t
    vendor/perl/dist/cpan/List-Util/t/p_readonly.t
    vendor/perl/dist/cpan/List-Util/t/p_reduce.t
    vendor/perl/dist/cpan/List-Util/t/p_refaddr.t
    vendor/perl/dist/cpan/List-Util/t/p_reftype.t
    vendor/perl/dist/cpan/List-Util/t/p_shuffle.t
    vendor/perl/dist/cpan/List-Util/t/p_sum.t
    vendor/perl/dist/cpan/List-Util/t/p_tainted.t
    vendor/perl/dist/cpan/List-Util/t/proto.t
    vendor/perl/dist/cpan/List-Util/t/readonly.t
    vendor/perl/dist/cpan/List-Util/t/reduce.t
    vendor/perl/dist/cpan/List-Util/t/refaddr.t
    vendor/perl/dist/cpan/List-Util/t/reftype.t
    vendor/perl/dist/cpan/List-Util/t/shuffle.t
    vendor/perl/dist/cpan/List-Util/t/stack-corruption.t
    vendor/perl/dist/cpan/List-Util/t/sum.t
    vendor/perl/dist/cpan/List-Util/t/tainted.t
    vendor/perl/dist/cpan/List-Util/t/weak.t
    vendor/perl/dist/cpan/Locale-Codes/ChangeLog
    vendor/perl/dist/cpan/Locale-Codes/LICENSE
    vendor/perl/dist/cpan/Locale-Codes/README.first
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm
    vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod
    vendor/perl/dist/cpan/Locale-Codes/t/alias_code.t
    vendor/perl/dist/cpan/Locale-Codes/t/code2country.t
    vendor/perl/dist/cpan/Locale-Codes/t/code2currency.t
    vendor/perl/dist/cpan/Locale-Codes/t/code2language.t
    vendor/perl/dist/cpan/Locale-Codes/t/code2script.t
    vendor/perl/dist/cpan/Locale-Codes/t/country.t
    vendor/perl/dist/cpan/Locale-Codes/t/country2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/country_code2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/currency2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/language.t
    vendor/perl/dist/cpan/Locale-Codes/t/language2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/script2code.t
    vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl
    vendor/perl/dist/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/0-signature.t
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/1-basic.t
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/2-load_po_without_i_default.t
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/3-load_po_with_i_default.t
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/en.po
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/fr.po
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/i_default.po
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/en.po
    vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/fr.po
    vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Config.pm
    vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Handlers.pm
    vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Item.pm
    vendor/perl/dist/cpan/Log-Message/lib/Log/Message.pm
    vendor/perl/dist/cpan/Log-Message/t/01_Log-Message-Config.t
    vendor/perl/dist/cpan/Log-Message/t/02_Log-Message.t
    vendor/perl/dist/cpan/Log-Message/t/conf/LoadMe.pl
    vendor/perl/dist/cpan/Log-Message/t/conf/config_file
    vendor/perl/dist/cpan/Log-Message-Simple/lib/Log/Message/Simple.pm
    vendor/perl/dist/cpan/Log-Message-Simple/t/01_use.t
    vendor/perl/dist/cpan/Log-Message-Simple/t/02_imports.t
    vendor/perl/dist/cpan/Log-Message-Simple/t/03_functions.t
    vendor/perl/dist/cpan/MIME-Base64/Base64.pm
    vendor/perl/dist/cpan/MIME-Base64/Base64.xs
    vendor/perl/dist/cpan/MIME-Base64/Changes
    vendor/perl/dist/cpan/MIME-Base64/Makefile.PL
    vendor/perl/dist/cpan/MIME-Base64/QuotedPrint.pm
    vendor/perl/dist/cpan/MIME-Base64/README
    vendor/perl/dist/cpan/MIME-Base64/t/base64.t
    vendor/perl/dist/cpan/MIME-Base64/t/length.t
    vendor/perl/dist/cpan/MIME-Base64/t/quoted-print.t
    vendor/perl/dist/cpan/MIME-Base64/t/unicode.t
    vendor/perl/dist/cpan/Math-Complex/lib/Math/Complex.pm
    vendor/perl/dist/cpan/Math-Complex/lib/Math/Trig.pm
    vendor/perl/dist/cpan/Math-Complex/t/Complex.t
    vendor/perl/dist/cpan/Math-Complex/t/Trig.t
    vendor/perl/dist/cpan/Math-Complex/t/underbar.t
    vendor/perl/dist/cpan/Memoize/Memoize/AnyDBM_File.pm
    vendor/perl/dist/cpan/Memoize/Memoize/Expire.pm
    vendor/perl/dist/cpan/Memoize/Memoize/ExpireFile.pm
    vendor/perl/dist/cpan/Memoize/Memoize/ExpireTest.pm
    vendor/perl/dist/cpan/Memoize/Memoize/NDBM_File.pm
    vendor/perl/dist/cpan/Memoize/Memoize/SDBM_File.pm
    vendor/perl/dist/cpan/Memoize/Memoize/Storable.pm
    vendor/perl/dist/cpan/Memoize/Memoize.pm
    vendor/perl/dist/cpan/Memoize/TODO
    vendor/perl/dist/cpan/Memoize/t/array.t
    vendor/perl/dist/cpan/Memoize/t/array_confusion.t
    vendor/perl/dist/cpan/Memoize/t/correctness.t
    vendor/perl/dist/cpan/Memoize/t/errors.t
    vendor/perl/dist/cpan/Memoize/t/expfile.t
    vendor/perl/dist/cpan/Memoize/t/expire.t
    vendor/perl/dist/cpan/Memoize/t/expmod_n.t
    vendor/perl/dist/cpan/Memoize/t/expmod_t.t
    vendor/perl/dist/cpan/Memoize/t/flush.t
    vendor/perl/dist/cpan/Memoize/t/normalize.t
    vendor/perl/dist/cpan/Memoize/t/prototype.t
    vendor/perl/dist/cpan/Memoize/t/speed.t
    vendor/perl/dist/cpan/Memoize/t/tie.t
    vendor/perl/dist/cpan/Memoize/t/tie_gdbm.t
    vendor/perl/dist/cpan/Memoize/t/tie_ndbm.t
    vendor/perl/dist/cpan/Memoize/t/tie_sdbm.t
    vendor/perl/dist/cpan/Memoize/t/tie_storable.t
    vendor/perl/dist/cpan/Memoize/t/tiefeatures.t
    vendor/perl/dist/cpan/Memoize/t/unmemoize.t
    vendor/perl/dist/cpan/Module-Build/Changes
    vendor/perl/dist/cpan/Module-Build/bin/config_data
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/API.pod
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Authoring.pod
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Base.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Bundling.pod
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Compat.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Config.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ConfigData.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Cookbook.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Dumper.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Notes.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PPMMaker.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Default.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/aix.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/os2.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PodParser.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Version.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build/YAML.pm
    vendor/perl/dist/cpan/Module-Build/lib/Module/Build.pm
    vendor/perl/dist/cpan/Module-Build/lib/inc/latest/private.pm
    vendor/perl/dist/cpan/Module-Build/lib/inc/latest.pm
    vendor/perl/dist/cpan/Module-Build/t/00-compile.t
    vendor/perl/dist/cpan/Module-Build/t/PL_files.t
    vendor/perl/dist/cpan/Module-Build/t/README.pod
    vendor/perl/dist/cpan/Module-Build/t/actions/installdeps.t
    vendor/perl/dist/cpan/Module-Build/t/actions/manifest_skip.t
    vendor/perl/dist/cpan/Module-Build/t/add_property.t
    vendor/perl/dist/cpan/Module-Build/t/basic.t
    vendor/perl/dist/cpan/Module-Build/t/bundle_inc.t
    vendor/perl/dist/cpan/Module-Build/t/bundled/Software/License.pm
    vendor/perl/dist/cpan/Module-Build/t/bundled/Tie/CPHash.pm
    vendor/perl/dist/cpan/Module-Build/t/compat/exit.t
    vendor/perl/dist/cpan/Module-Build/t/compat.t
    vendor/perl/dist/cpan/Module-Build/t/debug.t
    vendor/perl/dist/cpan/Module-Build/t/destinations.t
    vendor/perl/dist/cpan/Module-Build/t/ext.t
    vendor/perl/dist/cpan/Module-Build/t/extend.t
    vendor/perl/dist/cpan/Module-Build/t/files.t
    vendor/perl/dist/cpan/Module-Build/t/help.t
    vendor/perl/dist/cpan/Module-Build/t/install.t
    vendor/perl/dist/cpan/Module-Build/t/install_extra_target.t
    vendor/perl/dist/cpan/Module-Build/t/lib/DistGen.pm
    vendor/perl/dist/cpan/Module-Build/t/lib/MBTest.pm
    vendor/perl/dist/cpan/Module-Build/t/lib/Module/Signature.pm
    vendor/perl/dist/cpan/Module-Build/t/lib/Software/License/VaporWare.pm
    vendor/perl/dist/cpan/Module-Build/t/manifypods.t
    vendor/perl/dist/cpan/Module-Build/t/metadata.t
    vendor/perl/dist/cpan/Module-Build/t/metadata2.t
    vendor/perl/dist/cpan/Module-Build/t/mymeta.t
    vendor/perl/dist/cpan/Module-Build/t/new_from_context.t
    vendor/perl/dist/cpan/Module-Build/t/notes.t
    vendor/perl/dist/cpan/Module-Build/t/parents.t
    vendor/perl/dist/cpan/Module-Build/t/perl_mb_opt.t
    vendor/perl/dist/cpan/Module-Build/t/pod_parser.t
    vendor/perl/dist/cpan/Module-Build/t/ppm.t
    vendor/perl/dist/cpan/Module-Build/t/properties/dist_suffix.t
    vendor/perl/dist/cpan/Module-Build/t/properties/license.t
    vendor/perl/dist/cpan/Module-Build/t/properties/module_name.t
    vendor/perl/dist/cpan/Module-Build/t/properties/needs_compiler.t
    vendor/perl/dist/cpan/Module-Build/t/properties/release_status.t
    vendor/perl/dist/cpan/Module-Build/t/properties/requires.t
    vendor/perl/dist/cpan/Module-Build/t/properties/share_dir.t
    vendor/perl/dist/cpan/Module-Build/t/resume.t
    vendor/perl/dist/cpan/Module-Build/t/runthrough.t
    vendor/perl/dist/cpan/Module-Build/t/sample.t
    vendor/perl/dist/cpan/Module-Build/t/script_dist.t
    vendor/perl/dist/cpan/Module-Build/t/test_file_exts.t
    vendor/perl/dist/cpan/Module-Build/t/test_type.t
    vendor/perl/dist/cpan/Module-Build/t/test_types.t
    vendor/perl/dist/cpan/Module-Build/t/tilde.t
    vendor/perl/dist/cpan/Module-Build/t/use_tap_harness.t
    vendor/perl/dist/cpan/Module-Build/t/versions.t
    vendor/perl/dist/cpan/Module-Build/t/write_default_maniskip.t
    vendor/perl/dist/cpan/Module-Build/t/xs.t
    vendor/perl/dist/cpan/Module-Load/lib/Module/Load.pm
    vendor/perl/dist/cpan/Module-Load/t/01_Module-Load.t
    vendor/perl/dist/cpan/Module-Load/t/to_load/LoadIt.pm
    vendor/perl/dist/cpan/Module-Load/t/to_load/LoadMe.pl
    vendor/perl/dist/cpan/Module-Load/t/to_load/Must/Be/Loaded.pm
    vendor/perl/dist/cpan/Module-Load/t/to_load/TestModule.pm
    vendor/perl/dist/cpan/Module-Load/t/to_load/ToBeLoaded
    vendor/perl/dist/cpan/Module-Load/t/to_load/config_file
    vendor/perl/dist/cpan/Module-Load-Conditional/lib/Module/Load/Conditional.pm
    vendor/perl/dist/cpan/Module-Load-Conditional/t/01_Module_Load_Conditional.t
    vendor/perl/dist/cpan/Module-Load-Conditional/t/02_Parse_Version.t
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/Commented.pm
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/InPod.pm
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadIt.pm
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadMe.pl
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/MustBe/Loaded.pm
    vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/ToBeLoaded
    vendor/perl/dist/cpan/Module-Loaded/lib/Module/Loaded.pm
    vendor/perl/dist/cpan/Module-Loaded/t/01_Module-Loaded.t
    vendor/perl/dist/cpan/Module-Metadata/lib/Module/Metadata.pm
    vendor/perl/dist/cpan/Module-Metadata/t/lib/DistGen.pm
    vendor/perl/dist/cpan/Module-Metadata/t/lib/MBTest.pm
    vendor/perl/dist/cpan/Module-Metadata/t/lib/Tie/CPHash.pm
    vendor/perl/dist/cpan/Module-Metadata/t/metadata.t
    vendor/perl/dist/cpan/Module-Pluggable/Makefile.PL
    vendor/perl/dist/cpan/Module-Pluggable/lib/Devel/InnerPackage.pm
    vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm
    vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/01use.t
    vendor/perl/dist/cpan/Module-Pluggable/t/02alsoworks.t
    vendor/perl/dist/cpan/Module-Pluggable/t/02works.t
    vendor/perl/dist/cpan/Module-Pluggable/t/02works_taint.t
    vendor/perl/dist/cpan/Module-Pluggable/t/03diffname.t
    vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir.t
    vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir_single.t
    vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath.t
    vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath_single.t
    vendor/perl/dist/cpan/Module-Pluggable/t/05postpath.t
    vendor/perl/dist/cpan/Module-Pluggable/t/06multipath.t
    vendor/perl/dist/cpan/Module-Pluggable/t/07instantiate.t
    vendor/perl/dist/cpan/Module-Pluggable/t/08nothing.t
    vendor/perl/dist/cpan/Module-Pluggable/t/09require.t
    vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack.t
    vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_inner.t
    vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_noinner.t
    vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_onefile.t
    vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_override.t
    vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_super.t
    vendor/perl/dist/cpan/Module-Pluggable/t/11usetwice.t
    vendor/perl/dist/cpan/Module-Pluggable/t/12only.t
    vendor/perl/dist/cpan/Module-Pluggable/t/12onlyarray.t
    vendor/perl/dist/cpan/Module-Pluggable/t/12onlyregex.t
    vendor/perl/dist/cpan/Module-Pluggable/t/12onlyrequire.t
    vendor/perl/dist/cpan/Module-Pluggable/t/13except.t
    vendor/perl/dist/cpan/Module-Pluggable/t/13exceptarray.t
    vendor/perl/dist/cpan/Module-Pluggable/t/13exceptregex.t
    vendor/perl/dist/cpan/Module-Pluggable/t/14package.t
    vendor/perl/dist/cpan/Module-Pluggable/t/15topicsafe.t
    vendor/perl/dist/cpan/Module-Pluggable/t/16different_extension.t
    vendor/perl/dist/cpan/Module-Pluggable/t/17devel_inner_package.t
    vendor/perl/dist/cpan/Module-Pluggable/t/18skipped_package.t
    vendor/perl/dist/cpan/Module-Pluggable/t/19can_ok_clobber.t
    vendor/perl/dist/cpan/Module-Pluggable/t/20dodgy_files.t
    vendor/perl/dist/cpan/Module-Pluggable/t/21editor_junk.t
    vendor/perl/dist/cpan/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/Foo-Bar.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/No/Middle.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/TA/C/A/I.pm
    vendor/perl/dist/cpan/Module-Pluggable/t/lib/Zot/.Zork.pm
    vendor/perl/dist/cpan/NEXT/lib/NEXT.pm
    vendor/perl/dist/cpan/NEXT/t/actual.t
    vendor/perl/dist/cpan/NEXT/t/actuns.t
    vendor/perl/dist/cpan/NEXT/t/dynamically_scoped_regex_vars.t
    vendor/perl/dist/cpan/NEXT/t/next.t
    vendor/perl/dist/cpan/NEXT/t/stringify.t
    vendor/perl/dist/cpan/NEXT/t/unseen.t
    vendor/perl/dist/cpan/Object-Accessor/lib/Object/Accessor.pm
    vendor/perl/dist/cpan/Object-Accessor/t/00_Object-Accessor.t
    vendor/perl/dist/cpan/Object-Accessor/t/01_Object-Accessor-Subclassed.t
    vendor/perl/dist/cpan/Object-Accessor/t/02_Object-Accessor-allow.t
    vendor/perl/dist/cpan/Object-Accessor/t/03_Object-Accessor-local.t
    vendor/perl/dist/cpan/Object-Accessor/t/04_Object-Accessor-lvalue.t
    vendor/perl/dist/cpan/Object-Accessor/t/05_Object-Accessor-callback.t
    vendor/perl/dist/cpan/Object-Accessor/t/06_Object-Accessor-alias.t
    vendor/perl/dist/cpan/Package-Constants/lib/Package/Constants.pm
    vendor/perl/dist/cpan/Package-Constants/t/01_list.t
    vendor/perl/dist/cpan/Params-Check/lib/Params/Check.pm
    vendor/perl/dist/cpan/Params-Check/t/01_Params-Check.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/Changes
    vendor/perl/dist/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/01_compile.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/02_api.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/03_functions.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/04_export.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/05_errors.t
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.json
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.yml
    vendor/perl/dist/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm
    vendor/perl/dist/cpan/Perl-OSType/lib/Perl/OSType.pm
    vendor/perl/dist/cpan/Perl-OSType/t/00-compile.t
    vendor/perl/dist/cpan/Perl-OSType/t/OSType.t
    vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/lib/PerlIO/via/QuotedPrint.pm
    vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/t/QuotedPrint.t
    vendor/perl/dist/cpan/Pod-Escapes/ChangeLog
    vendor/perl/dist/cpan/Pod-Escapes/README
    vendor/perl/dist/cpan/Pod-Escapes/lib/Pod/Escapes.pm
    vendor/perl/dist/cpan/Pod-Escapes/t/01_about_verbose.t
    vendor/perl/dist/cpan/Pod-Escapes/t/10_main.t
    vendor/perl/dist/cpan/Pod-Escapes/t/15_name2charnum.t
    vendor/perl/dist/cpan/Pod-LaTeX/lib/Pod/LaTeX.pm
    vendor/perl/dist/cpan/Pod-LaTeX/pod2latex.PL
    vendor/perl/dist/cpan/Pod-LaTeX/t/pod2latex.t
    vendor/perl/dist/cpan/Pod-LaTeX/t/user.t
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Checker.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Find.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/InputObjects.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/ParseUtils.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Parser.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/PlainText.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Select.pm
    vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Usage.pm
    vendor/perl/dist/cpan/Pod-Parser/scripts/pod2usage.PL
    vendor/perl/dist/cpan/Pod-Parser/scripts/podchecker.PL
    vendor/perl/dist/cpan/Pod-Parser/scripts/podselect.PL
    vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_bad_pod.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/find.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/for.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/for.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/include.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/include.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/included.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/included.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/p2u_data.pl
    vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage2.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.xr
    vendor/perl/dist/cpan/Pod-Parser/t/pod/testcmp.pl
    vendor/perl/dist/cpan/Pod-Parser/t/pod/testp2pt.pl
    vendor/perl/dist/cpan/Pod-Parser/t/pod/testpchk.pl
    vendor/perl/dist/cpan/Pod-Parser/t/pod/testpods/lib/Pod/Stuff.pm
    vendor/perl/dist/cpan/Pod-Parser/t/pod/twice.t
    vendor/perl/dist/cpan/Pod-Parser/t/pod/usage.pod
    vendor/perl/dist/cpan/Pod-Parser/t/pod/usage2.pod
    vendor/perl/dist/cpan/Pod-Simple/ChangeLog
    vendor/perl/dist/cpan/Pod-Simple/README
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLLegacy.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Search.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Text.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pm
    vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pod
    vendor/perl/dist/cpan/Pod-Simple/t/00about.t
    vendor/perl/dist/cpan/Pod-Simple/t/20_skip.t
    vendor/perl/dist/cpan/Pod-Simple/t/ac_d.t
    vendor/perl/dist/cpan/Pod-Simple/t/accept01.t
    vendor/perl/dist/cpan/Pod-Simple/t/accept05.t
    vendor/perl/dist/cpan/Pod-Simple/t/basic.t
    vendor/perl/dist/cpan/Pod-Simple/t/begin.t
    vendor/perl/dist/cpan/Pod-Simple/t/cbacks.t
    vendor/perl/dist/cpan/Pod-Simple/t/chunking.t
    vendor/perl/dist/cpan/Pod-Simple/t/closeys.t
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.pod
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.pod
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus.t
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/README
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_implicit_utf8.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16be_bom.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16le_bom.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.xml
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.txt
    vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.xml
    vendor/perl/dist/cpan/Pod-Simple/t/encod01.t
    vendor/perl/dist/cpan/Pod-Simple/t/encod02.t
    vendor/perl/dist/cpan/Pod-Simple/t/encod03.t
    vendor/perl/dist/cpan/Pod-Simple/t/end_over.t
    vendor/perl/dist/cpan/Pod-Simple/t/fcodes.t
    vendor/perl/dist/cpan/Pod-Simple/t/fcodes_e.t
    vendor/perl/dist/cpan/Pod-Simple/t/fcodes_l.t
    vendor/perl/dist/cpan/Pod-Simple/t/fcodes_s.t
    vendor/perl/dist/cpan/Pod-Simple/t/for.t
    vendor/perl/dist/cpan/Pod-Simple/t/fornot.t
    vendor/perl/dist/cpan/Pod-Simple/t/heads.t
    vendor/perl/dist/cpan/Pod-Simple/t/html01.t
    vendor/perl/dist/cpan/Pod-Simple/t/html02.t
    vendor/perl/dist/cpan/Pod-Simple/t/html03.t
    vendor/perl/dist/cpan/Pod-Simple/t/htmlbat.t
    vendor/perl/dist/cpan/Pod-Simple/t/items.t
    vendor/perl/dist/cpan/Pod-Simple/t/items02.t
    vendor/perl/dist/cpan/Pod-Simple/t/itemstar.t
    vendor/perl/dist/cpan/Pod-Simple/t/junk1.pod
    vendor/perl/dist/cpan/Pod-Simple/t/junk1o.txt
    vendor/perl/dist/cpan/Pod-Simple/t/junk2.pod
    vendor/perl/dist/cpan/Pod-Simple/t/junk2o.txt
    vendor/perl/dist/cpan/Pod-Simple/t/linkclas.t
    vendor/perl/dist/cpan/Pod-Simple/t/output.t
    vendor/perl/dist/cpan/Pod-Simple/t/perlcyg.pod
    vendor/perl/dist/cpan/Pod-Simple/t/perlcygo.txt
    vendor/perl/dist/cpan/Pod-Simple/t/perlfaq.pod
    vendor/perl/dist/cpan/Pod-Simple/t/perlfaqo.txt
    vendor/perl/dist/cpan/Pod-Simple/t/perlvar.pod
    vendor/perl/dist/cpan/Pod-Simple/t/perlvaro.txt
    vendor/perl/dist/cpan/Pod-Simple/t/puller.t
    vendor/perl/dist/cpan/Pod-Simple/t/pulltitl.t
    vendor/perl/dist/cpan/Pod-Simple/t/reinit.t
    vendor/perl/dist/cpan/Pod-Simple/t/render.t
    vendor/perl/dist/cpan/Pod-Simple/t/search05.t
    vendor/perl/dist/cpan/Pod-Simple/t/search10.t
    vendor/perl/dist/cpan/Pod-Simple/t/search12.t
    vendor/perl/dist/cpan/Pod-Simple/t/search20.t
    vendor/perl/dist/cpan/Pod-Simple/t/search22.t
    vendor/perl/dist/cpan/Pod-Simple/t/search25.t
    vendor/perl/dist/cpan/Pod-Simple/t/search26.t
    vendor/perl/dist/cpan/Pod-Simple/t/search27.t
    vendor/perl/dist/cpan/Pod-Simple/t/search28.t
    vendor/perl/dist/cpan/Pod-Simple/t/search29.t
    vendor/perl/dist/cpan/Pod-Simple/t/search50.t
    vendor/perl/dist/cpan/Pod-Simple/t/stree.t
    vendor/perl/dist/cpan/Pod-Simple/t/strpvbtm.t
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Blorm.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Fiddle.txt
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Pronk.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Veng.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Glunk.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Vliff.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/readme.txt
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlflif.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlthng.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Glunk.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Vliff.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib1/zikzik.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib2/Suzzle.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Glunk.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Vliff.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/readme.txt
    vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlthng.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlzuk.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Vliff.pm
    vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Wowo.pod
    vendor/perl/dist/cpan/Pod-Simple/t/testlib3/squaa/Vliff.pm
    vendor/perl/dist/cpan/Pod-Simple/t/tiedfh.t
    vendor/perl/dist/cpan/Pod-Simple/t/verb_fmt.t
    vendor/perl/dist/cpan/Pod-Simple/t/verbatim.t
    vendor/perl/dist/cpan/Pod-Simple/t/x_nixer.t
    vendor/perl/dist/cpan/Pod-Simple/t/xhtml01.t
    vendor/perl/dist/cpan/Pod-Simple/t/xhtml05.t
    vendor/perl/dist/cpan/Pod-Simple/t/xhtml10.t
    vendor/perl/dist/cpan/Shell/Shell.pm
    vendor/perl/dist/cpan/Shell/t/Shell.t
    vendor/perl/dist/cpan/Sys-Syslog/Changes
    vendor/perl/dist/cpan/Sys-Syslog/Makefile.PL
    vendor/perl/dist/cpan/Sys-Syslog/README
    vendor/perl/dist/cpan/Sys-Syslog/README.win32
    vendor/perl/dist/cpan/Sys-Syslog/Syslog.pm
    vendor/perl/dist/cpan/Sys-Syslog/Syslog.xs
    vendor/perl/dist/cpan/Sys-Syslog/fallback/const-c.inc
    vendor/perl/dist/cpan/Sys-Syslog/fallback/const-xs.inc
    vendor/perl/dist/cpan/Sys-Syslog/fallback/syslog.h
    vendor/perl/dist/cpan/Sys-Syslog/t/00-load.t
    vendor/perl/dist/cpan/Sys-Syslog/t/constants.t
    vendor/perl/dist/cpan/Sys-Syslog/t/syslog.t
    vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog.mc
    vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_RES.uu
    vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_dll.uu
    vendor/perl/dist/cpan/Sys-Syslog/win32/Win32.pm
    vendor/perl/dist/cpan/Sys-Syslog/win32/compile.pl
    vendor/perl/dist/cpan/Term-ANSIColor/ANSIColor.pm
    vendor/perl/dist/cpan/Term-ANSIColor/ChangeLog
    vendor/perl/dist/cpan/Term-ANSIColor/README
    vendor/perl/dist/cpan/Term-ANSIColor/t/basic.t
    vendor/perl/dist/cpan/Term-Cap/Cap.pm
    vendor/perl/dist/cpan/Term-Cap/test.pl
    vendor/perl/dist/cpan/Term-UI/lib/Term/UI/History.pm
    vendor/perl/dist/cpan/Term-UI/lib/Term/UI.pm
    vendor/perl/dist/cpan/Term-UI/t/00_load.t
    vendor/perl/dist/cpan/Term-UI/t/01_history.t
    vendor/perl/dist/cpan/Term-UI/t/02_ui.t
    vendor/perl/dist/cpan/Test/lib/Test.pm
    vendor/perl/dist/cpan/Test/t/05_about_verbose.t
    vendor/perl/dist/cpan/Test/t/fail.t
    vendor/perl/dist/cpan/Test/t/mix.t
    vendor/perl/dist/cpan/Test/t/multiline.t
    vendor/perl/dist/cpan/Test/t/onfail.t
    vendor/perl/dist/cpan/Test/t/qr.t
    vendor/perl/dist/cpan/Test/t/skip.t
    vendor/perl/dist/cpan/Test/t/success.t
    vendor/perl/dist/cpan/Test/t/todo.t
    vendor/perl/dist/cpan/Test-Harness/Changes
    vendor/perl/dist/cpan/Test-Harness/MANIFEST
    vendor/perl/dist/cpan/Test-Harness/MANIFEST.CUMMULATIVE
    vendor/perl/dist/cpan/Test-Harness/bin/prove
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm
    vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Beyond.pod
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Utils.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
    vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm
    vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm
    vendor/perl/dist/cpan/Test-Harness/t/000-load.t
    vendor/perl/dist/cpan/Test-Harness/t/aggregator.t
    vendor/perl/dist/cpan/Test-Harness/t/bailout.t
    vendor/perl/dist/cpan/Test-Harness/t/base.t
    vendor/perl/dist/cpan/Test-Harness/t/callbacks.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/env.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/failure.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/inc-propagation.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/inc_taint.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/nonumbers.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/regression.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/subclass.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/switches.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/test-harness-compat.t
    vendor/perl/dist/cpan/Test-Harness/t/compat/version.t
    vendor/perl/dist/cpan/Test-Harness/t/console.t
    vendor/perl/dist/cpan/Test-Harness/t/data/catme.1
    vendor/perl/dist/cpan/Test-Harness/t/data/proverc
    vendor/perl/dist/cpan/Test-Harness/t/data/sample.yml
    vendor/perl/dist/cpan/Test-Harness/t/errors.t
    vendor/perl/dist/cpan/Test-Harness/t/file.t
    vendor/perl/dist/cpan/Test-Harness/t/glob-to-regexp.t
    vendor/perl/dist/cpan/Test-Harness/t/grammar.t
    vendor/perl/dist/cpan/Test-Harness/t/harness-bailout.t
    vendor/perl/dist/cpan/Test-Harness/t/harness-subclass.t
    vendor/perl/dist/cpan/Test-Harness/t/harness.t
    vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t
    vendor/perl/dist/cpan/Test-Harness/t/iterators.t
    vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/Dev/Null.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/EmptyParser.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/IO/c55Capture.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/MyCustom.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/MyGrammar.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/MyIterator.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/MyPerlSourceHandler.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/MyResult.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/MyResultFactory.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/MySourceHandler.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/NOP.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/NoFork.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Harness/TestSubclass.pm
    vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm
    vendor/perl/dist/cpan/Test-Harness/t/multiplexer.t
    vendor/perl/dist/cpan/Test-Harness/t/nested.t
    vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t
    vendor/perl/dist/cpan/Test-Harness/t/nofork.t
    vendor/perl/dist/cpan/Test-Harness/t/object.t
    vendor/perl/dist/cpan/Test-Harness/t/parse.t
    vendor/perl/dist/cpan/Test-Harness/t/parser-config.t
    vendor/perl/dist/cpan/Test-Harness/t/parser-subclass.t
    vendor/perl/dist/cpan/Test-Harness/t/perl5lib.t
    vendor/perl/dist/cpan/Test-Harness/t/premature-bailout.t
    vendor/perl/dist/cpan/Test-Harness/t/process.t
    vendor/perl/dist/cpan/Test-Harness/t/prove.t
    vendor/perl/dist/cpan/Test-Harness/t/proveenv.t
    vendor/perl/dist/cpan/Test-Harness/t/proverc/emptyexec
    vendor/perl/dist/cpan/Test-Harness/t/proverc.t
    vendor/perl/dist/cpan/Test-Harness/t/proverun.t
    vendor/perl/dist/cpan/Test-Harness/t/proveversion.t
    vendor/perl/dist/cpan/Test-Harness/t/regression.t
    vendor/perl/dist/cpan/Test-Harness/t/results.t
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bailout
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum_many
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined_compat
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/delayed
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive_trailing
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_head_end
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_last_minute
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_unfinished
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/duplicates
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/echo
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/empty
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_eol
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_hash
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_end
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_fail
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/inc_taint
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/junk_before_plan
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/lone_not_bug
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_nums
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_output
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_err_mix
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_of_order
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern-todo-quiet
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/segfault
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/sequence_misparse
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/shbang_misparse
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_fail
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml_missing_version13
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip_nomsg
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_nomsg
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_v13
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/stdout_stderr
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/strict
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/switches
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint_warn
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_inline
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_misparse
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/too_many
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_good
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_late
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_old
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/vms_nit
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/with_comments
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/yaml_late_plan
    vendor/perl/dist/cpan/Test-Harness/t/sample-tests/zero_valid
    vendor/perl/dist/cpan/Test-Harness/t/scheduler.t
    vendor/perl/dist/cpan/Test-Harness/t/source.t
    vendor/perl/dist/cpan/Test-Harness/t/source_handler.t
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_badtap
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_complain
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_directives
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_failure
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/psql.bat
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/source
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.1
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.bat
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.pl
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.sh
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.t
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.tap
    vendor/perl/dist/cpan/Test-Harness/t/source_tests/source_args.sh
    vendor/perl/dist/cpan/Test-Harness/t/spool.t
    vendor/perl/dist/cpan/Test-Harness/t/state.t
    vendor/perl/dist/cpan/Test-Harness/t/state_results.t
    vendor/perl/dist/cpan/Test-Harness/t/streams.t
    vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/non_perl_source
    vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/perl_source
    vendor/perl/dist/cpan/Test-Harness/t/taint.t
    vendor/perl/dist/cpan/Test-Harness/t/testargs.t
    vendor/perl/dist/cpan/Test-Harness/t/unicode.t
    vendor/perl/dist/cpan/Test-Harness/t/utils.t
    vendor/perl/dist/cpan/Test-Harness/t/yamlish-output.t
    vendor/perl/dist/cpan/Test-Harness/t/yamlish-writer.t
    vendor/perl/dist/cpan/Test-Harness/t/yamlish.t
    vendor/perl/dist/cpan/Test-Simple/Changes
    vendor/perl/dist/cpan/Test-Simple/README
    vendor/perl/dist/cpan/Test-Simple/TODO
    vendor/perl/dist/cpan/Test-Simple/examples/indent.pl
    vendor/perl/dist/cpan/Test-Simple/examples/subtest.t
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm
    vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod
    vendor/perl/dist/cpan/Test-Simple/t/00test_harness_check.t
    vendor/perl/dist/cpan/Test-Simple/t/BEGIN_require_ok.t
    vendor/perl/dist/cpan/Test-Simple/t/BEGIN_use_ok.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/Builder.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/carp.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/create.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test_without_plan.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/details.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_double.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_plan_mismatch.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_no_plan.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_number.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_plan.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/fork_with_new_stdout.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan2.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/is_fh.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/is_passing.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/maybe_regex.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/no_diag.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/no_ending.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/no_header.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/no_plan_at_all.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/ok_obj.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/output.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/reset.t
    vendor/perl/dist/cpan/Test-Simple/t/Builder/try.t
    vendor/perl/dist/cpan/Test-Simple/t/More.t
    vendor/perl/dist/cpan/Test-Simple/t/Simple/load.t
    vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_01basic.t
    vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_02fhrestore.t
    vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_03die.t
    vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_04line_num.t
    vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_05faildiag.t
    vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_06errormess.t
    vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_07args.t
    vendor/perl/dist/cpan/Test-Simple/t/bad_plan.t
    vendor/perl/dist/cpan/Test-Simple/t/bail_out.t
    vendor/perl/dist/cpan/Test-Simple/t/buffer.t
    vendor/perl/dist/cpan/Test-Simple/t/c_flag.t
    vendor/perl/dist/cpan/Test-Simple/t/circular_data.t
    vendor/perl/dist/cpan/Test-Simple/t/cmp_ok.t
    vendor/perl/dist/cpan/Test-Simple/t/dependents.t
    vendor/perl/dist/cpan/Test-Simple/t/diag.t
    vendor/perl/dist/cpan/Test-Simple/t/died.t
    vendor/perl/dist/cpan/Test-Simple/t/dont_overwrite_die_handler.t
    vendor/perl/dist/cpan/Test-Simple/t/eq_set.t
    vendor/perl/dist/cpan/Test-Simple/t/exit.t
    vendor/perl/dist/cpan/Test-Simple/t/explain.t
    vendor/perl/dist/cpan/Test-Simple/t/extra.t
    vendor/perl/dist/cpan/Test-Simple/t/extra_one.t
    vendor/perl/dist/cpan/Test-Simple/t/fail-like.t
    vendor/perl/dist/cpan/Test-Simple/t/fail-more.t
    vendor/perl/dist/cpan/Test-Simple/t/fail.t
    vendor/perl/dist/cpan/Test-Simple/t/fail_one.t
    vendor/perl/dist/cpan/Test-Simple/t/filehandles.t
    vendor/perl/dist/cpan/Test-Simple/t/fork.t
    vendor/perl/dist/cpan/Test-Simple/t/harness_active.t
    vendor/perl/dist/cpan/Test-Simple/t/import.t
    vendor/perl/dist/cpan/Test-Simple/t/is_deeply_dne_bug.t
    vendor/perl/dist/cpan/Test-Simple/t/is_deeply_fail.t
    vendor/perl/dist/cpan/Test-Simple/t/is_deeply_with_threads.t
    vendor/perl/dist/cpan/Test-Simple/t/lib/Dev/Null.pm
    vendor/perl/dist/cpan/Test-Simple/t/lib/Dummy.pm
    vendor/perl/dist/cpan/Test-Simple/t/lib/MyOverload.pm
    vendor/perl/dist/cpan/Test-Simple/t/lib/NoExporter.pm
    vendor/perl/dist/cpan/Test-Simple/t/lib/SigDie.pm
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_in_eval.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_with_handler.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/exit.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/extras.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/five_fail.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/last_minute_death.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/one_fail.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/pre_plan_death.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/require.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/success.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few_fail.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/two_fail.plx
    vendor/perl/dist/cpan/Test-Simple/t/lib/TieOut.pm
    vendor/perl/dist/cpan/Test-Simple/t/missing.t
    vendor/perl/dist/cpan/Test-Simple/t/new_ok.t
    vendor/perl/dist/cpan/Test-Simple/t/no_plan.t
    vendor/perl/dist/cpan/Test-Simple/t/no_tests.t
    vendor/perl/dist/cpan/Test-Simple/t/note.t
    vendor/perl/dist/cpan/Test-Simple/t/overload.t
    vendor/perl/dist/cpan/Test-Simple/t/overload_threads.t
    vendor/perl/dist/cpan/Test-Simple/t/plan.t
    vendor/perl/dist/cpan/Test-Simple/t/plan_bad.t
    vendor/perl/dist/cpan/Test-Simple/t/plan_is_noplan.t
    vendor/perl/dist/cpan/Test-Simple/t/plan_no_plan.t
    vendor/perl/dist/cpan/Test-Simple/t/plan_shouldnt_import.t
    vendor/perl/dist/cpan/Test-Simple/t/plan_skip_all.t
    vendor/perl/dist/cpan/Test-Simple/t/require_ok.t
    vendor/perl/dist/cpan/Test-Simple/t/simple.t
    vendor/perl/dist/cpan/Test-Simple/t/skip.t
    vendor/perl/dist/cpan/Test-Simple/t/skipall.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/args.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/basic.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/die.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/do.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/exceptions.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/for_do_t.test
    vendor/perl/dist/cpan/Test-Simple/t/subtest/fork.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/implicit_done.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/line_numbers.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/plan.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/predicate.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/singleton.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/todo.t
    vendor/perl/dist/cpan/Test-Simple/t/subtest/wstat.t
    vendor/perl/dist/cpan/Test-Simple/t/tbm_doesnt_set_exported_to.t
    vendor/perl/dist/cpan/Test-Simple/t/thread_taint.t
    vendor/perl/dist/cpan/Test-Simple/t/threads.t
    vendor/perl/dist/cpan/Test-Simple/t/todo.t
    vendor/perl/dist/cpan/Test-Simple/t/undef.t
    vendor/perl/dist/cpan/Test-Simple/t/use_ok.t
    vendor/perl/dist/cpan/Test-Simple/t/useing.t
    vendor/perl/dist/cpan/Test-Simple/t/utf8.t
    vendor/perl/dist/cpan/Test-Simple/t/versions.t
    vendor/perl/dist/cpan/Text-Balanced/Changes
    vendor/perl/dist/cpan/Text-Balanced/README
    vendor/perl/dist/cpan/Text-Balanced/lib/Text/Balanced.pm
    vendor/perl/dist/cpan/Text-Balanced/t/01_compile.t
    vendor/perl/dist/cpan/Text-Balanced/t/02_extbrk.t
    vendor/perl/dist/cpan/Text-Balanced/t/03_extcbk.t
    vendor/perl/dist/cpan/Text-Balanced/t/04_extdel.t
    vendor/perl/dist/cpan/Text-Balanced/t/05_extmul.t
    vendor/perl/dist/cpan/Text-Balanced/t/06_extqlk.t
    vendor/perl/dist/cpan/Text-Balanced/t/07_exttag.t
    vendor/perl/dist/cpan/Text-Balanced/t/08_extvar.t
    vendor/perl/dist/cpan/Text-Balanced/t/09_gentag.t
    vendor/perl/dist/cpan/Text-ParseWords/lib/Text/ParseWords.pm
    vendor/perl/dist/cpan/Text-ParseWords/t/ParseWords.t
    vendor/perl/dist/cpan/Text-ParseWords/t/taint.t
    vendor/perl/dist/cpan/Text-Soundex/Changes
    vendor/perl/dist/cpan/Text-Soundex/README
    vendor/perl/dist/cpan/Text-Soundex/Soundex.pm
    vendor/perl/dist/cpan/Text-Soundex/Soundex.xs
    vendor/perl/dist/cpan/Text-Soundex/t/Soundex.t
    vendor/perl/dist/cpan/Text-Tabs/CHANGELOG
    vendor/perl/dist/cpan/Text-Tabs/lib/Text/Tabs.pm
    vendor/perl/dist/cpan/Text-Tabs/lib/Text/Wrap.pm
    vendor/perl/dist/cpan/Text-Tabs/t/37000.t
    vendor/perl/dist/cpan/Text-Tabs/t/39548.t
    vendor/perl/dist/cpan/Text-Tabs/t/Jacobson.t
    vendor/perl/dist/cpan/Text-Tabs/t/Jacobson2.t
    vendor/perl/dist/cpan/Text-Tabs/t/Jochen.t
    vendor/perl/dist/cpan/Text-Tabs/t/belg4mit.t
    vendor/perl/dist/cpan/Text-Tabs/t/dandv.t
    vendor/perl/dist/cpan/Text-Tabs/t/fill.t
    vendor/perl/dist/cpan/Text-Tabs/t/sep.t
    vendor/perl/dist/cpan/Text-Tabs/t/sep2.t
    vendor/perl/dist/cpan/Text-Tabs/t/tabs.t
    vendor/perl/dist/cpan/Text-Tabs/t/wrap.t
    vendor/perl/dist/cpan/Text-Tabs/t/wrap_separator2.t
    vendor/perl/dist/cpan/Tie-File/lib/Tie/File.pm
    vendor/perl/dist/cpan/Tie-File/t/00_version.t
    vendor/perl/dist/cpan/Tie-File/t/01_gen.t
    vendor/perl/dist/cpan/Tie-File/t/02_fetchsize.t
    vendor/perl/dist/cpan/Tie-File/t/03_longfetch.t
    vendor/perl/dist/cpan/Tie-File/t/04_splice.t
    vendor/perl/dist/cpan/Tie-File/t/05_size.t
    vendor/perl/dist/cpan/Tie-File/t/06_fixrec.t
    vendor/perl/dist/cpan/Tie-File/t/07_rv_splice.t
    vendor/perl/dist/cpan/Tie-File/t/08_ro.t
    vendor/perl/dist/cpan/Tie-File/t/09_gen_rs.t
    vendor/perl/dist/cpan/Tie-File/t/10_splice_rs.t
    vendor/perl/dist/cpan/Tie-File/t/11_rv_splice_rs.t
    vendor/perl/dist/cpan/Tie-File/t/12_longfetch_rs.t
    vendor/perl/dist/cpan/Tie-File/t/13_size_rs.t
    vendor/perl/dist/cpan/Tie-File/t/14_lock.t
    vendor/perl/dist/cpan/Tie-File/t/15_pushpop.t
    vendor/perl/dist/cpan/Tie-File/t/16_handle.t
    vendor/perl/dist/cpan/Tie-File/t/17_misc_meth.t
    vendor/perl/dist/cpan/Tie-File/t/18_rs_fixrec.t
    vendor/perl/dist/cpan/Tie-File/t/19_cache.t
    vendor/perl/dist/cpan/Tie-File/t/20_cache_full.t
    vendor/perl/dist/cpan/Tie-File/t/21_win32.t
    vendor/perl/dist/cpan/Tie-File/t/22_autochomp.t
    vendor/perl/dist/cpan/Tie-File/t/23_rv_ac_splice.t
    vendor/perl/dist/cpan/Tie-File/t/24_cache_loop.t
    vendor/perl/dist/cpan/Tie-File/t/25_gen_nocache.t
    vendor/perl/dist/cpan/Tie-File/t/26_twrite.t
    vendor/perl/dist/cpan/Tie-File/t/27_iwrite.t
    vendor/perl/dist/cpan/Tie-File/t/28_mtwrite.t
    vendor/perl/dist/cpan/Tie-File/t/29_downcopy.t
    vendor/perl/dist/cpan/Tie-File/t/29a_upcopy.t
    vendor/perl/dist/cpan/Tie-File/t/30_defer.t
    vendor/perl/dist/cpan/Tie-File/t/31_autodefer.t
    vendor/perl/dist/cpan/Tie-File/t/32_defer_misc.t
    vendor/perl/dist/cpan/Tie-File/t/33_defer_vs.t
    vendor/perl/dist/cpan/Tie-File/t/40_abs_cache.t
    vendor/perl/dist/cpan/Tie-File/t/41_heap.t
    vendor/perl/dist/cpan/Tie-File/t/42_offset.t
    vendor/perl/dist/cpan/Tie-RefHash/lib/Tie/RefHash.pm
    vendor/perl/dist/cpan/Tie-RefHash/t/rebless.t
    vendor/perl/dist/cpan/Tie-RefHash/t/refhash.t
    vendor/perl/dist/cpan/Tie-RefHash/t/storable.t
    vendor/perl/dist/cpan/Tie-RefHash/t/threaded.t
    vendor/perl/dist/cpan/Time-HiRes/Changes
    vendor/perl/dist/cpan/Time-HiRes/HiRes.pm
    vendor/perl/dist/cpan/Time-HiRes/HiRes.xs
    vendor/perl/dist/cpan/Time-HiRes/Makefile.PL
    vendor/perl/dist/cpan/Time-HiRes/fallback/const-c.inc
    vendor/perl/dist/cpan/Time-HiRes/fallback/const-xs.inc
    vendor/perl/dist/cpan/Time-HiRes/hints/aix.pl
    vendor/perl/dist/cpan/Time-HiRes/hints/dec_osf.pl
    vendor/perl/dist/cpan/Time-HiRes/hints/dynixptx.pl
    vendor/perl/dist/cpan/Time-HiRes/hints/irix.pl
    vendor/perl/dist/cpan/Time-HiRes/hints/linux.pl
    vendor/perl/dist/cpan/Time-HiRes/hints/sco.pl
    vendor/perl/dist/cpan/Time-HiRes/hints/solaris.pl
    vendor/perl/dist/cpan/Time-HiRes/hints/svr4.pl
    vendor/perl/dist/cpan/Time-HiRes/t/HiRes.t
    vendor/perl/dist/cpan/Time-HiRes/typemap
    vendor/perl/dist/cpan/Time-Local/lib/Time/Local.pm
    vendor/perl/dist/cpan/Time-Local/t/Local.t
    vendor/perl/dist/cpan/Time-Piece/Changes
    vendor/perl/dist/cpan/Time-Piece/Makefile.PL
    vendor/perl/dist/cpan/Time-Piece/Piece.pm
    vendor/perl/dist/cpan/Time-Piece/Piece.xs
    vendor/perl/dist/cpan/Time-Piece/README
    vendor/perl/dist/cpan/Time-Piece/Seconds.pm
    vendor/perl/dist/cpan/Time-Piece/t/01base.t
    vendor/perl/dist/cpan/Time-Piece/t/02core.t
    vendor/perl/dist/cpan/Time-Piece/t/03compare.t
    vendor/perl/dist/cpan/Time-Piece/t/04mjd.t
    vendor/perl/dist/cpan/Time-Piece/t/05overload.t
    vendor/perl/dist/cpan/Time-Piece/t/06subclass.t
    vendor/perl/dist/cpan/Time-Piece/t/07arith.t
    vendor/perl/dist/cpan/Unicode-Collate/Changes
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ru.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sw.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
    vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt
    vendor/perl/dist/cpan/Unicode-Collate/Collate/keys.txt
    vendor/perl/dist/cpan/Unicode-Collate/Collate.pm
    vendor/perl/dist/cpan/Unicode-Collate/Collate.xs
    vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL
    vendor/perl/dist/cpan/Unicode-Collate/README
    vendor/perl/dist/cpan/Unicode-Collate/mkheader
    vendor/perl/dist/cpan/Unicode-Collate/t/altern.t
    vendor/perl/dist/cpan/Unicode-Collate/t/backwds.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_b5.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_gb.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ja.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ko.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_py.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjk_st.t
    vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t
    vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t
    vendor/perl/dist/cpan/Unicode-Collate/t/contract.t
    vendor/perl/dist/cpan/Unicode-Collate/t/default.t
    vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t
    vendor/perl/dist/cpan/Unicode-Collate/t/hangul.t
    vendor/perl/dist/cpan/Unicode-Collate/t/ignor.t
    vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t
    vendor/perl/dist/cpan/Unicode-Collate/t/illegalp.t
    vendor/perl/dist/cpan/Unicode-Collate/t/index.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ar.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_be.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_bg.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ca.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_cy.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_cyrl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_da.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_de.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_deph.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fi.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_fr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ha.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_haw.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_hr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_hu.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_hy.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ig.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_is.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ja.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_jait.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_japr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_kk.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_kl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ko.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_lt.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_lv.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_mk.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_mt.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_nb.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_nn.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_nso.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_om.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ro.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_ru.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sk.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sl.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sq.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sv.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_sw.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_test.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_tn.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_to.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_tr.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_uk.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_vi.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zh.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhb5.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhgb.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhpy.t
    vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhst.t
    vendor/perl/dist/cpan/Unicode-Collate/t/nonchar.t
    vendor/perl/dist/cpan/Unicode-Collate/t/normal.t
    vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t
    vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t
    vendor/perl/dist/cpan/Unicode-Collate/t/override.t
    vendor/perl/dist/cpan/Unicode-Collate/t/rearrang.t
    vendor/perl/dist/cpan/Unicode-Collate/t/test.t
    vendor/perl/dist/cpan/Unicode-Collate/t/trailwt.t
    vendor/perl/dist/cpan/Unicode-Collate/t/variable.t
    vendor/perl/dist/cpan/Unicode-Collate/t/version.t
    vendor/perl/dist/cpan/Unicode-Collate/t/view.t
    vendor/perl/dist/cpan/Unicode-Normalize/Changes
    vendor/perl/dist/cpan/Unicode-Normalize/Makefile.PL
    vendor/perl/dist/cpan/Unicode-Normalize/Normalize.pm
    vendor/perl/dist/cpan/Unicode-Normalize/Normalize.xs
    vendor/perl/dist/cpan/Unicode-Normalize/README
    vendor/perl/dist/cpan/Unicode-Normalize/mkheader
    vendor/perl/dist/cpan/Unicode-Normalize/t/fcdc.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/form.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/func.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/illegal.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/norm.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/null.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/partial1.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/partial2.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/proto.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/split.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/test.t
    vendor/perl/dist/cpan/Unicode-Normalize/t/tie.t
    vendor/perl/dist/cpan/Version-Requirements/Changes
    vendor/perl/dist/cpan/Version-Requirements/lib/Version/Requirements.pm
    vendor/perl/dist/cpan/Version-Requirements/t/accepts.t
    vendor/perl/dist/cpan/Version-Requirements/t/basic.t
    vendor/perl/dist/cpan/Version-Requirements/t/finalize.t
    vendor/perl/dist/cpan/Version-Requirements/t/from-hash.t
    vendor/perl/dist/cpan/Version-Requirements/t/merge.t
    vendor/perl/dist/cpan/Win32/Changes
    vendor/perl/dist/cpan/Win32/Makefile.PL
    vendor/perl/dist/cpan/Win32/Win32.pm
    vendor/perl/dist/cpan/Win32/Win32.xs
    vendor/perl/dist/cpan/Win32/longpath.inc
    vendor/perl/dist/cpan/Win32/t/CreateFile.t
    vendor/perl/dist/cpan/Win32/t/ExpandEnvironmentStrings.t
    vendor/perl/dist/cpan/Win32/t/GetCurrentThreadId.t
    vendor/perl/dist/cpan/Win32/t/GetFileVersion.t
    vendor/perl/dist/cpan/Win32/t/GetFolderPath.t
    vendor/perl/dist/cpan/Win32/t/GetFullPathName.t
    vendor/perl/dist/cpan/Win32/t/GetLongPathName.t
    vendor/perl/dist/cpan/Win32/t/GetOSName.t
    vendor/perl/dist/cpan/Win32/t/GetOSVersion.t
    vendor/perl/dist/cpan/Win32/t/GetShortPathName.t
    vendor/perl/dist/cpan/Win32/t/GuidGen.t
    vendor/perl/dist/cpan/Win32/t/Names.t
    vendor/perl/dist/cpan/Win32/t/Unicode.t
    vendor/perl/dist/cpan/Win32API-File/Changes
    vendor/perl/dist/cpan/Win32API-File/ExtUtils/Myconst2perl.pm
    vendor/perl/dist/cpan/Win32API-File/File.pm
    vendor/perl/dist/cpan/Win32API-File/File.xs
    vendor/perl/dist/cpan/Win32API-File/Makefile.PL
    vendor/perl/dist/cpan/Win32API-File/README
    vendor/perl/dist/cpan/Win32API-File/buffers.h
    vendor/perl/dist/cpan/Win32API-File/cFile.h
    vendor/perl/dist/cpan/Win32API-File/cFile.pc
    vendor/perl/dist/cpan/Win32API-File/const2perl.h
    vendor/perl/dist/cpan/Win32API-File/t/file.t
    vendor/perl/dist/cpan/Win32API-File/t/tie.t
    vendor/perl/dist/cpan/Win32API-File/typemap
    vendor/perl/dist/cpan/autodie/lib/Fatal.pm
    vendor/perl/dist/cpan/autodie/lib/autodie/exception/system.pm
    vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm
    vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm
    vendor/perl/dist/cpan/autodie/lib/autodie.pm
    vendor/perl/dist/cpan/autodie/t/00-load.t
    vendor/perl/dist/cpan/autodie/t/Fatal.t
    vendor/perl/dist/cpan/autodie/t/autodie.t
    vendor/perl/dist/cpan/autodie/t/autodie_test_module.pm
    vendor/perl/dist/cpan/autodie/t/backcompat.t
    vendor/perl/dist/cpan/autodie/t/basic_exceptions.t
    vendor/perl/dist/cpan/autodie/t/binmode.t
    vendor/perl/dist/cpan/autodie/t/blog_hints.t
    vendor/perl/dist/cpan/autodie/t/caller.t
    vendor/perl/dist/cpan/autodie/t/context.t
    vendor/perl/dist/cpan/autodie/t/context_lexical.t
    vendor/perl/dist/cpan/autodie/t/crickey.t
    vendor/perl/dist/cpan/autodie/t/dbmopen.t
    vendor/perl/dist/cpan/autodie/t/eval_error.t
    vendor/perl/dist/cpan/autodie/t/exception_class.t
    vendor/perl/dist/cpan/autodie/t/exceptions.t
    vendor/perl/dist/cpan/autodie/t/exec.t
    vendor/perl/dist/cpan/autodie/t/filehandles.t
    vendor/perl/dist/cpan/autodie/t/fileno.t
    vendor/perl/dist/cpan/autodie/t/flock.t
    vendor/perl/dist/cpan/autodie/t/format-clobber.t
    vendor/perl/dist/cpan/autodie/t/hints.t
    vendor/perl/dist/cpan/autodie/t/hints_insist.t
    vendor/perl/dist/cpan/autodie/t/hints_pod_examples.t
    vendor/perl/dist/cpan/autodie/t/hints_provider_does.t
    vendor/perl/dist/cpan/autodie/t/hints_provider_easy_does_it.t
    vendor/perl/dist/cpan/autodie/t/hints_provider_isa.t
    vendor/perl/dist/cpan/autodie/t/internal-backcompat.t
    vendor/perl/dist/cpan/autodie/t/internal.t
    vendor/perl/dist/cpan/autodie/t/lethal.t
    vendor/perl/dist/cpan/autodie/t/lib/Caller_helper.pm
    vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm
    vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_does.pm
    vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_easy_does_it.pm
    vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_isa.pm
    vendor/perl/dist/cpan/autodie/t/lib/Hints_test.pm
    vendor/perl/dist/cpan/autodie/t/lib/OtherTypes.pm
    vendor/perl/dist/cpan/autodie/t/lib/Some/Module.pm
    vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au/exception.pm
    vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au.pm
    vendor/perl/dist/cpan/autodie/t/lib/autodie/test/badname.pm
    vendor/perl/dist/cpan/autodie/t/lib/autodie/test/missing.pm
    vendor/perl/dist/cpan/autodie/t/lib/lethal.pm
    vendor/perl/dist/cpan/autodie/t/lib/my/autodie.pm
    vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach/Dotlh.pm
    vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach.pm
    vendor/perl/dist/cpan/autodie/t/mkdir.t
    vendor/perl/dist/cpan/autodie/t/open.t
    vendor/perl/dist/cpan/autodie/t/recv.t
    vendor/perl/dist/cpan/autodie/t/repeat.t
    vendor/perl/dist/cpan/autodie/t/scope_leak.t
    vendor/perl/dist/cpan/autodie/t/string-eval-basic.t
    vendor/perl/dist/cpan/autodie/t/string-eval-leak.t
    vendor/perl/dist/cpan/autodie/t/sysopen.t
    vendor/perl/dist/cpan/autodie/t/truncate.t
    vendor/perl/dist/cpan/autodie/t/unlink.t
    vendor/perl/dist/cpan/autodie/t/user-context.t
    vendor/perl/dist/cpan/autodie/t/usersub.t
    vendor/perl/dist/cpan/autodie/t/version.t
    vendor/perl/dist/cpan/autodie/t/version_tag.t
    vendor/perl/dist/cpan/encoding-warnings/Changes
    vendor/perl/dist/cpan/encoding-warnings/lib/encoding/warnings.pm
    vendor/perl/dist/cpan/encoding-warnings/t/1-warning.t
    vendor/perl/dist/cpan/encoding-warnings/t/2-fatal.t
    vendor/perl/dist/cpan/encoding-warnings/t/3-normal.t
    vendor/perl/dist/cpan/encoding-warnings/t/4-lexical.t
    vendor/perl/dist/cpan/libnet/Changes
    vendor/perl/dist/cpan/libnet/Config.eg
    vendor/perl/dist/cpan/libnet/Hostname.pm.eg
    vendor/perl/dist/cpan/libnet/Makefile.PL
    vendor/perl/dist/cpan/libnet/Net/Cmd.pm
    vendor/perl/dist/cpan/libnet/Net/Config.pm
    vendor/perl/dist/cpan/libnet/Net/Domain.pm
    vendor/perl/dist/cpan/libnet/Net/FTP/A.pm
    vendor/perl/dist/cpan/libnet/Net/FTP/E.pm
    vendor/perl/dist/cpan/libnet/Net/FTP/I.pm
    vendor/perl/dist/cpan/libnet/Net/FTP/L.pm
    vendor/perl/dist/cpan/libnet/Net/FTP/dataconn.pm
    vendor/perl/dist/cpan/libnet/Net/FTP.pm
    vendor/perl/dist/cpan/libnet/Net/NNTP.pm
    vendor/perl/dist/cpan/libnet/Net/Netrc.pm
    vendor/perl/dist/cpan/libnet/Net/POP3.pm
    vendor/perl/dist/cpan/libnet/Net/SMTP.pm
    vendor/perl/dist/cpan/libnet/Net/Time.pm
    vendor/perl/dist/cpan/libnet/Net/libnetFAQ.pod
    vendor/perl/dist/cpan/libnet/README
    vendor/perl/dist/cpan/libnet/demos/ftp
    vendor/perl/dist/cpan/libnet/demos/inetd
    vendor/perl/dist/cpan/libnet/demos/nntp
    vendor/perl/dist/cpan/libnet/demos/nntp.mirror
    vendor/perl/dist/cpan/libnet/demos/pop3
    vendor/perl/dist/cpan/libnet/demos/smtp.self
    vendor/perl/dist/cpan/libnet/demos/time
    vendor/perl/dist/cpan/libnet/t/config.t
    vendor/perl/dist/cpan/libnet/t/datasend.t
    vendor/perl/dist/cpan/libnet/t/ftp.t
    vendor/perl/dist/cpan/libnet/t/hostname.t
    vendor/perl/dist/cpan/libnet/t/libnet_t.pl
    vendor/perl/dist/cpan/libnet/t/netrc.t
    vendor/perl/dist/cpan/libnet/t/nntp.t
    vendor/perl/dist/cpan/libnet/t/require.t
    vendor/perl/dist/cpan/libnet/t/smtp.t
    vendor/perl/dist/cpan/libnet/t/time.t
    vendor/perl/dist/cpan/parent/lib/parent.pm
    vendor/perl/dist/cpan/parent/t/compile-time-file.t
    vendor/perl/dist/cpan/parent/t/compile-time.t
    vendor/perl/dist/cpan/parent/t/lib/Dummy/Outside.pm
    vendor/perl/dist/cpan/parent/t/lib/Dummy.pm
    vendor/perl/dist/cpan/parent/t/lib/Dummy2.plugin
    vendor/perl/dist/cpan/parent/t/lib/FileThatOnlyExistsAsPMC.pmc
    vendor/perl/dist/cpan/parent/t/lib/ReturnsFalse.pm
    vendor/perl/dist/cpan/parent/t/parent-classfromclassfile.t
    vendor/perl/dist/cpan/parent/t/parent-classfromfile.t
    vendor/perl/dist/cpan/parent/t/parent-pmc.t
    vendor/perl/dist/cpan/parent/t/parent-returns-false.t
    vendor/perl/dist/cpan/parent/t/parent.t
    vendor/perl/dist/cpan/podlators/VERSION
    vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm
    vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm
    vendor/perl/dist/cpan/podlators/scripts/pod2man.PL
    vendor/perl/dist/cpan/podlators/scripts/pod2text.PL
    vendor/perl/dist/cpan/podlators/t/basic.cap
    vendor/perl/dist/cpan/podlators/t/basic.clr
    vendor/perl/dist/cpan/podlators/t/basic.man
    vendor/perl/dist/cpan/podlators/t/basic.ovr
    vendor/perl/dist/cpan/podlators/t/basic.pod
    vendor/perl/dist/cpan/podlators/t/basic.t
    vendor/perl/dist/cpan/podlators/t/basic.txt
    vendor/perl/dist/cpan/podlators/t/color.t
    vendor/perl/dist/cpan/podlators/t/devise-date.t
    vendor/perl/dist/cpan/podlators/t/filehandle.t
    vendor/perl/dist/cpan/podlators/t/man-heading.t
    vendor/perl/dist/cpan/podlators/t/man-options.t
    vendor/perl/dist/cpan/podlators/t/man-perlio.t
    vendor/perl/dist/cpan/podlators/t/man-utf8.t
    vendor/perl/dist/cpan/podlators/t/man.t
    vendor/perl/dist/cpan/podlators/t/overstrike.t
    vendor/perl/dist/cpan/podlators/t/parselink.t
    vendor/perl/dist/cpan/podlators/t/pod-parser.t
    vendor/perl/dist/cpan/podlators/t/pod-spelling.t
    vendor/perl/dist/cpan/podlators/t/pod.t
    vendor/perl/dist/cpan/podlators/t/termcap.t
    vendor/perl/dist/cpan/podlators/t/text-encoding.t
    vendor/perl/dist/cpan/podlators/t/text-options.t
    vendor/perl/dist/cpan/podlators/t/text-perlio.t
    vendor/perl/dist/cpan/podlators/t/text-utf8.t
    vendor/perl/dist/cpan/podlators/t/text.t
    vendor/perl/dist/cv.h
    vendor/perl/dist/cygwin/cygwin.c
    vendor/perl/dist/deb.c
    vendor/perl/dist/dist/Attribute-Handlers/Changes
    vendor/perl/dist/dist/Attribute-Handlers/README
    vendor/perl/dist/dist/Attribute-Handlers/demo/Demo.pm
    vendor/perl/dist/dist/Attribute-Handlers/demo/Descriptions.pm
    vendor/perl/dist/dist/Attribute-Handlers/demo/MyClass.pm
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo2.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo3.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo4.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo_call.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo_chain.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo_cycle.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo_hashdir.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo_phases.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo_range.pl
    vendor/perl/dist/dist/Attribute-Handlers/demo/demo_rawdata.pl
    vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
    vendor/perl/dist/dist/Attribute-Handlers/t/constants.t
    vendor/perl/dist/dist/Attribute-Handlers/t/data_convert.t
    vendor/perl/dist/dist/Attribute-Handlers/t/linerep.t
    vendor/perl/dist/dist/Attribute-Handlers/t/multi.t
    vendor/perl/dist/dist/B-Deparse/Deparse.pm
    vendor/perl/dist/dist/B-Deparse/t/deparse.t
    vendor/perl/dist/dist/B-Lint/lib/B/Lint/Debug.pm
    vendor/perl/dist/dist/B-Lint/lib/B/Lint.pm
    vendor/perl/dist/dist/B-Lint/t/lint.t
    vendor/perl/dist/dist/B-Lint/t/pluglib/B/Lint/Plugin/Test.pm
    vendor/perl/dist/dist/Cwd/Cwd.pm
    vendor/perl/dist/dist/Cwd/Cwd.xs
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Cygwin.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Epoc.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Functions.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Mac.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/OS2.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Unix.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/VMS.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec/Win32.pm
    vendor/perl/dist/dist/Cwd/lib/File/Spec.pm
    vendor/perl/dist/dist/Cwd/t/Functions.t
    vendor/perl/dist/dist/Cwd/t/Spec.t
    vendor/perl/dist/dist/Cwd/t/crossplatform.t
    vendor/perl/dist/dist/Cwd/t/cwd.t
    vendor/perl/dist/dist/Cwd/t/rel2abs2rel.t
    vendor/perl/dist/dist/Cwd/t/taint.t
    vendor/perl/dist/dist/Cwd/t/tmpdir.t
    vendor/perl/dist/dist/Cwd/t/win32.t
    vendor/perl/dist/dist/Data-Dumper/Changes
    vendor/perl/dist/dist/Data-Dumper/Dumper.pm
    vendor/perl/dist/dist/Data-Dumper/Dumper.xs
    vendor/perl/dist/dist/Data-Dumper/Todo
    vendor/perl/dist/dist/Data-Dumper/t/bless.t
    vendor/perl/dist/dist/Data-Dumper/t/bugs.t
    vendor/perl/dist/dist/Data-Dumper/t/dumper.t
    vendor/perl/dist/dist/Data-Dumper/t/freezer.t
    vendor/perl/dist/dist/Data-Dumper/t/overload.t
    vendor/perl/dist/dist/Data-Dumper/t/pair.t
    vendor/perl/dist/dist/Data-Dumper/t/perl-74170.t
    vendor/perl/dist/dist/Data-Dumper/t/terse.t
    vendor/perl/dist/dist/Devel-SelfStubber/lib/Devel/SelfStubber.pm
    vendor/perl/dist/dist/Devel-SelfStubber/t/Devel-SelfStubber.t
    vendor/perl/dist/dist/Dumpvalue/lib/Dumpvalue.pm
    vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t
    vendor/perl/dist/dist/Env/lib/Env.pm
    vendor/perl/dist/dist/Env/t/array.t
    vendor/perl/dist/dist/Env/t/env.t
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm
    vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t
    vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t
    vendor/perl/dist/dist/ExtUtils-CBuilder/t/02-link.t
    vendor/perl/dist/dist/ExtUtils-CBuilder/t/03-cplusplus.t
    vendor/perl/dist/dist/ExtUtils-CBuilder/t/04-base.t
    vendor/perl/dist/dist/ExtUtils-Command/lib/ExtUtils/Command.pm
    vendor/perl/dist/dist/ExtUtils-Command/t/cp.t
    vendor/perl/dist/dist/ExtUtils-Command/t/eu_command.t
    vendor/perl/dist/dist/ExtUtils-Command/t/lib/TieOut.pm
    vendor/perl/dist/dist/ExtUtils-Install/Changes
    vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
    vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Installed.pm
    vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm
    vendor/perl/dist/dist/ExtUtils-Install/t/Install.t
    vendor/perl/dist/dist/ExtUtils-Install/t/InstallWithMM.t
    vendor/perl/dist/dist/ExtUtils-Install/t/Installapi2.t
    vendor/perl/dist/dist/ExtUtils-Install/t/Installed.t
    vendor/perl/dist/dist/ExtUtils-Install/t/Packlist.t
    vendor/perl/dist/dist/ExtUtils-Install/t/can_write_dir.t
    vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm
    vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm
    vendor/perl/dist/dist/ExtUtils-Install/t/lib/TieOut.pm
    vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP
    vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm
    vendor/perl/dist/dist/ExtUtils-Manifest/t/Manifest.t
    vendor/perl/dist/dist/ExtUtils-ParseXS/Changes
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSInclude.xsh
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSMore.xs
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/basic.t
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/more.t
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/typemap
    vendor/perl/dist/dist/ExtUtils-ParseXS/t/usage.t
    vendor/perl/dist/dist/File-CheckTree/lib/File/CheckTree.pm
    vendor/perl/dist/dist/File-CheckTree/t/CheckTree.t
    vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm
    vendor/perl/dist/dist/Filter-Simple/t/data.t
    vendor/perl/dist/dist/Filter-Simple/t/export.t
    vendor/perl/dist/dist/Filter-Simple/t/filter.t
    vendor/perl/dist/dist/Filter-Simple/t/filter_only.t
    vendor/perl/dist/dist/Filter-Simple/t/import.t
    vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ExportTest.pm
    vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterOnlyTest.pm
    vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterTest.pm
    vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ImportTest.pm
    vendor/perl/dist/dist/I18N-Collate/lib/I18N/Collate.pm
    vendor/perl/dist/dist/I18N-Collate/t/I18N-Collate.t
    vendor/perl/dist/dist/I18N-LangTags/ChangeLog
    vendor/perl/dist/dist/I18N-LangTags/README
    vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
    vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm
    vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm
    vendor/perl/dist/dist/I18N-LangTags/t/01_about_verbose.t
    vendor/perl/dist/dist/I18N-LangTags/t/05_main.t
    vendor/perl/dist/dist/I18N-LangTags/t/07_listy.t
    vendor/perl/dist/dist/I18N-LangTags/t/10_http.t
    vendor/perl/dist/dist/I18N-LangTags/t/20_locales.t
    vendor/perl/dist/dist/I18N-LangTags/t/50_super.t
    vendor/perl/dist/dist/I18N-LangTags/t/55_supers_strict.t
    vendor/perl/dist/dist/I18N-LangTags/t/80_all_env.t
    vendor/perl/dist/dist/IO/ChangeLog
    vendor/perl/dist/dist/IO/IO.pm
    vendor/perl/dist/dist/IO/IO.xs
    vendor/perl/dist/dist/IO/Makefile.PL
    vendor/perl/dist/dist/IO/README
    vendor/perl/dist/dist/IO/hints/sco.pl
    vendor/perl/dist/dist/IO/lib/IO/Dir.pm
    vendor/perl/dist/dist/IO/lib/IO/File.pm
    vendor/perl/dist/dist/IO/lib/IO/Handle.pm
    vendor/perl/dist/dist/IO/lib/IO/Pipe.pm
    vendor/perl/dist/dist/IO/lib/IO/Poll.pm
    vendor/perl/dist/dist/IO/lib/IO/Seekable.pm
    vendor/perl/dist/dist/IO/lib/IO/Select.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm
    vendor/perl/dist/dist/IO/lib/IO/Socket.pm
    vendor/perl/dist/dist/IO/poll.c
    vendor/perl/dist/dist/IO/poll.h
    vendor/perl/dist/dist/IO/t/IO.t
    vendor/perl/dist/dist/IO/t/io_const.t
    vendor/perl/dist/dist/IO/t/io_dir.t
    vendor/perl/dist/dist/IO/t/io_dup.t
    vendor/perl/dist/dist/IO/t/io_file.t
    vendor/perl/dist/dist/IO/t/io_file_export.t
    vendor/perl/dist/dist/IO/t/io_linenum.t
    vendor/perl/dist/dist/IO/t/io_multihomed.t
    vendor/perl/dist/dist/IO/t/io_pipe.t
    vendor/perl/dist/dist/IO/t/io_poll.t
    vendor/perl/dist/dist/IO/t/io_sel.t
    vendor/perl/dist/dist/IO/t/io_sock.t
    vendor/perl/dist/dist/IO/t/io_taint.t
    vendor/perl/dist/dist/IO/t/io_tell.t
    vendor/perl/dist/dist/IO/t/io_udp.t
    vendor/perl/dist/dist/IO/t/io_unix.t
    vendor/perl/dist/dist/IO/t/io_utf8.t
    vendor/perl/dist/dist/IO/t/io_xs.t
    vendor/perl/dist/dist/Locale-Maketext/ChangeLog
    vendor/perl/dist/dist/Locale-Maketext/README
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Guts.pm
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/GutsLoader.pm
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm
    vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod
    vendor/perl/dist/dist/Locale-Maketext/t/01_about_verbose.t
    vendor/perl/dist/dist/Locale-Maketext/t/04_use_external_lex_cache.t
    vendor/perl/dist/dist/Locale-Maketext/t/09_compile.t
    vendor/perl/dist/dist/Locale-Maketext/t/10_make.t
    vendor/perl/dist/dist/Locale-Maketext/t/20_get.t
    vendor/perl/dist/dist/Locale-Maketext/t/30_eval_dollar_at.t
    vendor/perl/dist/dist/Locale-Maketext/t/40_super.t
    vendor/perl/dist/dist/Locale-Maketext/t/50_super.t
    vendor/perl/dist/dist/Locale-Maketext/t/60_super.t
    vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t
    vendor/perl/dist/dist/Locale-Maketext/t/90_utf8.t
    vendor/perl/dist/dist/Math-BigInt/lib/Math/BigFloat.pm
    vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/Calc.pm
    vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
    vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt.pm
    vendor/perl/dist/dist/Math-BigInt/t/Math/BigFloat/Subclass.pm
    vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/BareCalc.pm
    vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Scalar.pm
    vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Subclass.pm
    vendor/perl/dist/dist/Math-BigInt/t/_e_math.t
    vendor/perl/dist/dist/Math-BigInt/t/alias.inc
    vendor/perl/dist/dist/Math-BigInt/t/bare_mbf.t
    vendor/perl/dist/dist/Math-BigInt/t/bare_mbi.t
    vendor/perl/dist/dist/Math-BigInt/t/bare_mif.t
    vendor/perl/dist/dist/Math-BigInt/t/big_pi_e.t
    vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.inc
    vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.t
    vendor/perl/dist/dist/Math-BigInt/t/bigintc.t
    vendor/perl/dist/dist/Math-BigInt/t/bigintpm.inc
    vendor/perl/dist/dist/Math-BigInt/t/bigintpm.t
    vendor/perl/dist/dist/Math-BigInt/t/bigints.t
    vendor/perl/dist/dist/Math-BigInt/t/biglog.t
    vendor/perl/dist/dist/Math-BigInt/t/bigroot.t
    vendor/perl/dist/dist/Math-BigInt/t/calling.t
    vendor/perl/dist/dist/Math-BigInt/t/config.t
    vendor/perl/dist/dist/Math-BigInt/t/const_mbf.t
    vendor/perl/dist/dist/Math-BigInt/t/constant.t
    vendor/perl/dist/dist/Math-BigInt/t/downgrade.t
    vendor/perl/dist/dist/Math-BigInt/t/inf_nan.t
    vendor/perl/dist/dist/Math-BigInt/t/isa.t
    vendor/perl/dist/dist/Math-BigInt/t/lib_load.t
    vendor/perl/dist/dist/Math-BigInt/t/mbf_ali.t
    vendor/perl/dist/dist/Math-BigInt/t/mbi_ali.t
    vendor/perl/dist/dist/Math-BigInt/t/mbi_rand.t
    vendor/perl/dist/dist/Math-BigInt/t/mbimbf.inc
    vendor/perl/dist/dist/Math-BigInt/t/mbimbf.t
    vendor/perl/dist/dist/Math-BigInt/t/nan_cmp.t
    vendor/perl/dist/dist/Math-BigInt/t/new_overloaded.t
    vendor/perl/dist/dist/Math-BigInt/t/req_mbf0.t
    vendor/perl/dist/dist/Math-BigInt/t/req_mbf1.t
    vendor/perl/dist/dist/Math-BigInt/t/req_mbfa.t
    vendor/perl/dist/dist/Math-BigInt/t/req_mbfi.t
    vendor/perl/dist/dist/Math-BigInt/t/req_mbfn.t
    vendor/perl/dist/dist/Math-BigInt/t/req_mbfw.t
    vendor/perl/dist/dist/Math-BigInt/t/require.t
    vendor/perl/dist/dist/Math-BigInt/t/round.t
    vendor/perl/dist/dist/Math-BigInt/t/sub_ali.t
    vendor/perl/dist/dist/Math-BigInt/t/sub_mbf.t
    vendor/perl/dist/dist/Math-BigInt/t/sub_mbi.t
    vendor/perl/dist/dist/Math-BigInt/t/sub_mif.t
    vendor/perl/dist/dist/Math-BigInt/t/trap.t
    vendor/perl/dist/dist/Math-BigInt/t/upgrade.inc
    vendor/perl/dist/dist/Math-BigInt/t/upgrade.t
    vendor/perl/dist/dist/Math-BigInt/t/upgrade2.t
    vendor/perl/dist/dist/Math-BigInt/t/upgradef.t
    vendor/perl/dist/dist/Math-BigInt/t/use.t
    vendor/perl/dist/dist/Math-BigInt/t/use_lib1.t
    vendor/perl/dist/dist/Math-BigInt/t/use_lib2.t
    vendor/perl/dist/dist/Math-BigInt/t/use_lib3.t
    vendor/perl/dist/dist/Math-BigInt/t/use_lib4.t
    vendor/perl/dist/dist/Math-BigInt/t/use_mbfw.t
    vendor/perl/dist/dist/Math-BigInt/t/with_sub.t
    vendor/perl/dist/dist/Math-BigInt-FastCalc/FastCalc.xs
    vendor/perl/dist/dist/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm
    vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bigintfc.t
    vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bootstrap.t
    vendor/perl/dist/dist/Math-BigInt-FastCalc/t/leak.t
    vendor/perl/dist/dist/Math-BigInt-FastCalc/t/mbi_rand.t
    vendor/perl/dist/dist/Math-BigRat/lib/Math/BigRat.pm
    vendor/perl/dist/dist/Math-BigRat/t/Math/BigRat/Test.pm
    vendor/perl/dist/dist/Math-BigRat/t/big_ap.t
    vendor/perl/dist/dist/Math-BigRat/t/bigfltpm.inc
    vendor/perl/dist/dist/Math-BigRat/t/bigfltrt.t
    vendor/perl/dist/dist/Math-BigRat/t/biglog.t
    vendor/perl/dist/dist/Math-BigRat/t/bigrat.t
    vendor/perl/dist/dist/Math-BigRat/t/bigratpm.inc
    vendor/perl/dist/dist/Math-BigRat/t/bigratpm.t
    vendor/perl/dist/dist/Math-BigRat/t/bigratup.t
    vendor/perl/dist/dist/Math-BigRat/t/bigroot.t
    vendor/perl/dist/dist/Math-BigRat/t/bitwise.t
    vendor/perl/dist/dist/Math-BigRat/t/hang.t
    vendor/perl/dist/dist/Math-BigRat/t/requirer.t
    vendor/perl/dist/dist/Math-BigRat/t/trap.t
    vendor/perl/dist/dist/Module-CoreList/Changes
    vendor/perl/dist/dist/Module-CoreList/MANIFEST
    vendor/perl/dist/dist/Module-CoreList/Makefile.PL
    vendor/perl/dist/dist/Module-CoreList/README
    vendor/perl/dist/dist/Module-CoreList/corelist
    vendor/perl/dist/dist/Module-CoreList/identify-dependencies
    vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm
    vendor/perl/dist/dist/Module-CoreList/t/corelist.t
    vendor/perl/dist/dist/Module-CoreList/t/deprecated.t
    vendor/perl/dist/dist/Module-CoreList/t/find_modules.t
    vendor/perl/dist/dist/Module-CoreList/t/pod.t
    vendor/perl/dist/dist/Net-Ping/Changes
    vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm
    vendor/perl/dist/dist/Net-Ping/t/100_load.t
    vendor/perl/dist/dist/Net-Ping/t/110_icmp_inst.t
    vendor/perl/dist/dist/Net-Ping/t/120_udp_inst.t
    vendor/perl/dist/dist/Net-Ping/t/130_tcp_inst.t
    vendor/perl/dist/dist/Net-Ping/t/140_stream_inst.t
    vendor/perl/dist/dist/Net-Ping/t/150_syn_inst.t
    vendor/perl/dist/dist/Net-Ping/t/190_alarm.t
    vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t
    vendor/perl/dist/dist/Net-Ping/t/250_ping_hires.t
    vendor/perl/dist/dist/Net-Ping/t/300_ping_stream.t
    vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t
    vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t
    vendor/perl/dist/dist/Net-Ping/t/450_service.t
    vendor/perl/dist/dist/Net-Ping/t/500_ping_icmp.t
    vendor/perl/dist/dist/Net-Ping/t/510_ping_udp.t
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/GetOptsOO.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToChecker.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToNroff.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToPod.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToRtf.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToText.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToTk.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToXml.pm
    vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc.pm
    vendor/perl/dist/dist/Pod-Perldoc/t/01_about_verbose.t
    vendor/perl/dist/dist/Pod-Perldoc/t/checkerbasic.t
    vendor/perl/dist/dist/Pod-Perldoc/t/perldocbasic.t
    vendor/perl/dist/dist/Pod-Perldoc/t/textbasic.t
    vendor/perl/dist/dist/Safe/Changes
    vendor/perl/dist/dist/Safe/MANIFEST
    vendor/perl/dist/dist/Safe/META.yml
    vendor/perl/dist/dist/Safe/Makefile.PL
    vendor/perl/dist/dist/Safe/README
    vendor/perl/dist/dist/Safe/Safe.pm
    vendor/perl/dist/dist/Safe/t/safe1.t
    vendor/perl/dist/dist/Safe/t/safe2.t
    vendor/perl/dist/dist/Safe/t/safe3.t
    vendor/perl/dist/dist/Safe/t/safeload.t
    vendor/perl/dist/dist/Safe/t/safeops.t
    vendor/perl/dist/dist/Safe/t/safesort.t
    vendor/perl/dist/dist/Safe/t/safeuniversal.t
    vendor/perl/dist/dist/Safe/t/safeutf8.t
    vendor/perl/dist/dist/Safe/t/safewrap.t
    vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm
    vendor/perl/dist/dist/SelfLoader/t/01SelfLoader.t
    vendor/perl/dist/dist/SelfLoader/t/02SelfLoader-buggy.t
    vendor/perl/dist/dist/SelfLoader/t/03taint.t
    vendor/perl/dist/dist/Storable/ChangeLog
    vendor/perl/dist/dist/Storable/Makefile.PL
    vendor/perl/dist/dist/Storable/README
    vendor/perl/dist/dist/Storable/Storable.pm
    vendor/perl/dist/dist/Storable/Storable.xs
    vendor/perl/dist/dist/Storable/hints/gnukfreebsd.pl
    vendor/perl/dist/dist/Storable/hints/gnuknetbsd.pl
    vendor/perl/dist/dist/Storable/hints/hpux.pl
    vendor/perl/dist/dist/Storable/hints/linux.pl
    vendor/perl/dist/dist/Storable/t/HAS_ATTACH.pm
    vendor/perl/dist/dist/Storable/t/HAS_HOOK.pm
    vendor/perl/dist/dist/Storable/t/HAS_OVERLOAD.pm
    vendor/perl/dist/dist/Storable/t/attach_errors.t
    vendor/perl/dist/dist/Storable/t/attach_singleton.t
    vendor/perl/dist/dist/Storable/t/blessed.t
    vendor/perl/dist/dist/Storable/t/canonical.t
    vendor/perl/dist/dist/Storable/t/circular_hook.t
    vendor/perl/dist/dist/Storable/t/code.t
    vendor/perl/dist/dist/Storable/t/compat01.t
    vendor/perl/dist/dist/Storable/t/compat06.t
    vendor/perl/dist/dist/Storable/t/croak.t
    vendor/perl/dist/dist/Storable/t/dclone.t
    vendor/perl/dist/dist/Storable/t/downgrade.t
    vendor/perl/dist/dist/Storable/t/file_magic.t
    vendor/perl/dist/dist/Storable/t/forgive.t
    vendor/perl/dist/dist/Storable/t/freeze.t
    vendor/perl/dist/dist/Storable/t/integer.t
    vendor/perl/dist/dist/Storable/t/interwork56.t
    vendor/perl/dist/dist/Storable/t/just_plain_nasty.t
    vendor/perl/dist/dist/Storable/t/lock.t
    vendor/perl/dist/dist/Storable/t/make_56_interwork.pl
    vendor/perl/dist/dist/Storable/t/make_downgrade.pl
    vendor/perl/dist/dist/Storable/t/make_overload.pl
    vendor/perl/dist/dist/Storable/t/malice.t
    vendor/perl/dist/dist/Storable/t/overload.t
    vendor/perl/dist/dist/Storable/t/recurse.t
    vendor/perl/dist/dist/Storable/t/restrict.t
    vendor/perl/dist/dist/Storable/t/retrieve.t
    vendor/perl/dist/dist/Storable/t/sig_die.t
    vendor/perl/dist/dist/Storable/t/st-dump.pl
    vendor/perl/dist/dist/Storable/t/store.t
    vendor/perl/dist/dist/Storable/t/testlib.pl
    vendor/perl/dist/dist/Storable/t/threads.t
    vendor/perl/dist/dist/Storable/t/tied.t
    vendor/perl/dist/dist/Storable/t/tied_hook.t
    vendor/perl/dist/dist/Storable/t/tied_items.t
    vendor/perl/dist/dist/Storable/t/utf8.t
    vendor/perl/dist/dist/Storable/t/utf8hash.t
    vendor/perl/dist/dist/Storable/t/weak.t
    vendor/perl/dist/dist/Thread-Queue/lib/Thread/Queue.pm
    vendor/perl/dist/dist/Thread-Queue/t/01_basic.t
    vendor/perl/dist/dist/Thread-Queue/t/02_refs.t
    vendor/perl/dist/dist/Thread-Queue/t/03_peek.t
    vendor/perl/dist/dist/Thread-Queue/t/04_errs.t
    vendor/perl/dist/dist/Thread-Queue/t/05_extract.t
    vendor/perl/dist/dist/Thread-Queue/t/06_insert.t
    vendor/perl/dist/dist/Thread-Queue/t/07_lock.t
    vendor/perl/dist/dist/Thread-Queue/t/08_nothreads.t
    vendor/perl/dist/dist/Thread-Semaphore/lib/Thread/Semaphore.pm
    vendor/perl/dist/dist/Thread-Semaphore/t/01_basic.t
    vendor/perl/dist/dist/Thread-Semaphore/t/02_errs.t
    vendor/perl/dist/dist/Thread-Semaphore/t/03_nothreads.t
    vendor/perl/dist/dist/Thread-Semaphore/t/04_nonblocking.t
    vendor/perl/dist/dist/Thread-Semaphore/t/05_force.t
    vendor/perl/dist/dist/XSLoader/Makefile.PL
    vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL
    vendor/perl/dist/dist/XSLoader/t/XSLoader.t
    vendor/perl/dist/dist/autouse/lib/autouse.pm
    vendor/perl/dist/dist/autouse/t/autouse.t
    vendor/perl/dist/dist/autouse/t/lib/MyTestModule.pm
    vendor/perl/dist/dist/base/Changes
    vendor/perl/dist/dist/base/MANIFEST
    vendor/perl/dist/dist/base/META.yml
    vendor/perl/dist/dist/base/lib/base.pm
    vendor/perl/dist/dist/base/lib/fields.pm
    vendor/perl/dist/dist/base/t/base.t
    vendor/perl/dist/dist/base/t/compile-time.t
    vendor/perl/dist/dist/base/t/fields-5_6_0.t
    vendor/perl/dist/dist/base/t/fields-5_8_0.t
    vendor/perl/dist/dist/base/t/fields-base.t
    vendor/perl/dist/dist/base/t/fields.t
    vendor/perl/dist/dist/base/t/isa.t
    vendor/perl/dist/dist/base/t/lib/Dummy.pm
    vendor/perl/dist/dist/base/t/lib/HasSigDie.pm
    vendor/perl/dist/dist/base/t/sigdie.t
    vendor/perl/dist/dist/base/t/version.t
    vendor/perl/dist/dist/base/t/warnings.t
    vendor/perl/dist/dist/bignum/lib/Math/BigFloat/Trace.pm
    vendor/perl/dist/dist/bignum/lib/Math/BigInt/Trace.pm
    vendor/perl/dist/dist/bignum/lib/bigint.pm
    vendor/perl/dist/dist/bignum/lib/bignum.pm
    vendor/perl/dist/dist/bignum/lib/bigrat.pm
    vendor/perl/dist/dist/bignum/t/big_e_pi.t
    vendor/perl/dist/dist/bignum/t/bigexp.t
    vendor/perl/dist/dist/bignum/t/bigint.t
    vendor/perl/dist/dist/bignum/t/bignum.t
    vendor/perl/dist/dist/bignum/t/bigrat.t
    vendor/perl/dist/dist/bignum/t/bii_e_pi.t
    vendor/perl/dist/dist/bignum/t/biinfnan.t
    vendor/perl/dist/dist/bignum/t/bir_e_pi.t
    vendor/perl/dist/dist/bignum/t/bn_lite.t
    vendor/perl/dist/dist/bignum/t/bninfnan.t
    vendor/perl/dist/dist/bignum/t/br_lite.t
    vendor/perl/dist/dist/bignum/t/brinfnan.t
    vendor/perl/dist/dist/bignum/t/in_effect.t
    vendor/perl/dist/dist/bignum/t/infnan.inc
    vendor/perl/dist/dist/bignum/t/option_a.t
    vendor/perl/dist/dist/bignum/t/option_l.t
    vendor/perl/dist/dist/bignum/t/option_p.t
    vendor/perl/dist/dist/bignum/t/ratopt_a.t
    vendor/perl/dist/dist/bignum/t/scope_f.t
    vendor/perl/dist/dist/bignum/t/scope_i.t
    vendor/perl/dist/dist/bignum/t/scope_r.t
    vendor/perl/dist/dist/constant/lib/constant.pm
    vendor/perl/dist/dist/constant/t/constant.t
    vendor/perl/dist/dist/constant/t/utf8.t
    vendor/perl/dist/dist/if/if.pm
    vendor/perl/dist/dist/if/t/if.t
    vendor/perl/dist/dist/lib/Makefile.PL
    vendor/perl/dist/dist/lib/lib_pm.PL
    vendor/perl/dist/dist/lib/t/01lib.t
    vendor/perl/dist/dist/threads/hints/hpux.pl
    vendor/perl/dist/dist/threads/hints/linux.pl
    vendor/perl/dist/dist/threads/lib/threads.pm
    vendor/perl/dist/dist/threads/t/basic.t
    vendor/perl/dist/dist/threads/t/blocks.t
    vendor/perl/dist/dist/threads/t/context.t
    vendor/perl/dist/dist/threads/t/end.t
    vendor/perl/dist/dist/threads/t/err.t
    vendor/perl/dist/dist/threads/t/exit.t
    vendor/perl/dist/dist/threads/t/free.t
    vendor/perl/dist/dist/threads/t/free2.t
    vendor/perl/dist/dist/threads/t/join.t
    vendor/perl/dist/dist/threads/t/kill.t
    vendor/perl/dist/dist/threads/t/kill2.t
    vendor/perl/dist/dist/threads/t/libc.t
    vendor/perl/dist/dist/threads/t/list.t
    vendor/perl/dist/dist/threads/t/no_threads.t
    vendor/perl/dist/dist/threads/t/problems.t
    vendor/perl/dist/dist/threads/t/stack.t
    vendor/perl/dist/dist/threads/t/stack_env.t
    vendor/perl/dist/dist/threads/t/state.t
    vendor/perl/dist/dist/threads/t/stress_cv.t
    vendor/perl/dist/dist/threads/t/stress_re.t
    vendor/perl/dist/dist/threads/t/stress_string.t
    vendor/perl/dist/dist/threads/t/thread.t
    vendor/perl/dist/dist/threads/threads.xs
    vendor/perl/dist/dist/threads-shared/hints/linux.pl
    vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm
    vendor/perl/dist/dist/threads-shared/shared.xs
    vendor/perl/dist/dist/threads-shared/t/0nothread.t
    vendor/perl/dist/dist/threads-shared/t/av_refs.t
    vendor/perl/dist/dist/threads-shared/t/av_simple.t
    vendor/perl/dist/dist/threads-shared/t/blessed.t
    vendor/perl/dist/dist/threads-shared/t/clone.t
    vendor/perl/dist/dist/threads-shared/t/cond.t
    vendor/perl/dist/dist/threads-shared/t/disabled.t
    vendor/perl/dist/dist/threads-shared/t/hv_refs.t
    vendor/perl/dist/dist/threads-shared/t/hv_simple.t
    vendor/perl/dist/dist/threads-shared/t/no_share.t
    vendor/perl/dist/dist/threads-shared/t/object.t
    vendor/perl/dist/dist/threads-shared/t/shared_attr.t
    vendor/perl/dist/dist/threads-shared/t/stress.t
    vendor/perl/dist/dist/threads-shared/t/sv_refs.t
    vendor/perl/dist/dist/threads-shared/t/sv_simple.t
    vendor/perl/dist/dist/threads-shared/t/utf8.t
    vendor/perl/dist/dist/threads-shared/t/wait.t
    vendor/perl/dist/dist/threads-shared/t/waithires.t
    vendor/perl/dist/djgpp/config.over
    vendor/perl/dist/djgpp/configure.bat
    vendor/perl/dist/djgpp/djgpp.c
    vendor/perl/dist/djgpp/djgpp.h
    vendor/perl/dist/djgpp/djgppsed.sh
    vendor/perl/dist/djgpp/fixpmain
    vendor/perl/dist/doio.c
    vendor/perl/dist/doop.c
    vendor/perl/dist/dosish.h
    vendor/perl/dist/dquote_static.c
    vendor/perl/dist/dump.c
    vendor/perl/dist/embed.fnc
    vendor/perl/dist/embed.h
    vendor/perl/dist/embedvar.h
    vendor/perl/dist/ext/Attribute-Handlers/README
    vendor/perl/dist/ext/Attribute-Handlers/demo/Demo.pm
    vendor/perl/dist/ext/Attribute-Handlers/demo/Descriptions.pm
    vendor/perl/dist/ext/Attribute-Handlers/demo/MyClass.pm
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo2.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo3.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo4.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo_call.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo_chain.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo_cycle.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo_hashdir.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo_phases.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo_range.pl
    vendor/perl/dist/ext/Attribute-Handlers/demo/demo_rawdata.pl
    vendor/perl/dist/ext/Attribute-Handlers/lib/Attribute/Handlers.pm
    vendor/perl/dist/ext/Attribute-Handlers/t/constants.t
    vendor/perl/dist/ext/Attribute-Handlers/t/data_convert.t
    vendor/perl/dist/ext/Attribute-Handlers/t/linerep.t
    vendor/perl/dist/ext/Attribute-Handlers/t/multi.t
    vendor/perl/dist/ext/B/B/Concise.pm
    vendor/perl/dist/ext/B/B/Debug.pm
    vendor/perl/dist/ext/B/B/Deparse.pm
    vendor/perl/dist/ext/B/B/Lint/Debug.pm
    vendor/perl/dist/ext/B/B/Lint.pm
    vendor/perl/dist/ext/B/B/Showlex.pm
    vendor/perl/dist/ext/B/B/Terse.pm
    vendor/perl/dist/ext/B/B/Xref.pm
    vendor/perl/dist/ext/B/B.pm
    vendor/perl/dist/ext/B/B.xs
    vendor/perl/dist/ext/B/Makefile.PL
    vendor/perl/dist/ext/B/O.pm
    vendor/perl/dist/ext/B/defsubs_h.PL
    vendor/perl/dist/ext/B/hints/darwin.pl
    vendor/perl/dist/ext/B/hints/openbsd.pl
    vendor/perl/dist/ext/B/t/OptreeCheck.pm
    vendor/perl/dist/ext/B/t/b.t
    vendor/perl/dist/ext/B/t/concise-xs.t
    vendor/perl/dist/ext/B/t/concise.t
    vendor/perl/dist/ext/B/t/debug.t
    vendor/perl/dist/ext/B/t/deparse.t
    vendor/perl/dist/ext/B/t/f_map
    vendor/perl/dist/ext/B/t/f_map.t
    vendor/perl/dist/ext/B/t/f_sort
    vendor/perl/dist/ext/B/t/f_sort.t
    vendor/perl/dist/ext/B/t/lint.t
    vendor/perl/dist/ext/B/t/o.t
    vendor/perl/dist/ext/B/t/optree_check.t
    vendor/perl/dist/ext/B/t/optree_concise.t
    vendor/perl/dist/ext/B/t/optree_constants.t
    vendor/perl/dist/ext/B/t/optree_misc.t
    vendor/perl/dist/ext/B/t/optree_samples.t
    vendor/perl/dist/ext/B/t/optree_sort.t
    vendor/perl/dist/ext/B/t/optree_specials.t
    vendor/perl/dist/ext/B/t/optree_varinit.t
    vendor/perl/dist/ext/B/t/pluglib/B/Lint/Plugin/Test.pm
    vendor/perl/dist/ext/B/t/pragma.t
    vendor/perl/dist/ext/B/t/showlex.t
    vendor/perl/dist/ext/B/t/terse.t
    vendor/perl/dist/ext/B/t/walkoptree.t
    vendor/perl/dist/ext/B/t/xref.t
    vendor/perl/dist/ext/B/typemap
    vendor/perl/dist/ext/Compress/Raw/Zlib/Makefile.PL
    vendor/perl/dist/ext/Compress/Raw/Zlib/README
    vendor/perl/dist/ext/Compress/Raw/Zlib/Zlib.xs
    vendor/perl/dist/ext/Compress/Raw/Zlib/config.in
    vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtdef
    vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtinf
    vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.xs
    vendor/perl/dist/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm
    vendor/perl/dist/ext/Compress/Raw/Zlib/private/MakeUtil.pm
    vendor/perl/dist/ext/Compress/Raw/Zlib/t/01version.t
    vendor/perl/dist/ext/Compress/Raw/Zlib/t/02zlib.t
    vendor/perl/dist/ext/Compress/Raw/Zlib/t/07bufsize.t
    vendor/perl/dist/ext/Compress/Raw/Zlib/t/18lvalue.t
    vendor/perl/dist/ext/Compress/Raw/Zlib/typemap
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/adler32.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/compress.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/infback.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffixed.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/uncompr.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zconf.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zlib.h
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.c
    vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.h
    vendor/perl/dist/ext/Compress/Zlib/Makefile.PL
    vendor/perl/dist/ext/Compress/Zlib/README
    vendor/perl/dist/ext/Compress/Zlib/examples/filtdef
    vendor/perl/dist/ext/Compress/Zlib/examples/filtinf
    vendor/perl/dist/ext/Compress/Zlib/examples/gzcat
    vendor/perl/dist/ext/Compress/Zlib/examples/gzgrep
    vendor/perl/dist/ext/Compress/Zlib/examples/gzstream
    vendor/perl/dist/ext/Compress/Zlib/lib/Compress/Zlib.pm
    vendor/perl/dist/ext/Compress/Zlib/private/MakeUtil.pm
    vendor/perl/dist/ext/Compress/Zlib/t/01version.t
    vendor/perl/dist/ext/Compress/Zlib/t/03zlib-v1.t
    vendor/perl/dist/ext/Compress/Zlib/t/05examples.t
    vendor/perl/dist/ext/Compress/Zlib/t/06gzsetp.t
    vendor/perl/dist/ext/Compress/Zlib/t/08encoding.t
    vendor/perl/dist/ext/Compress/Zlib/t/14gzopen.t
    vendor/perl/dist/ext/Compress-Raw-Bzip2/Bzip2.xs
    vendor/perl/dist/ext/Compress-Raw-Bzip2/Makefile.PL
    vendor/perl/dist/ext/Compress-Raw-Bzip2/README
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/LICENSE
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/blocksort.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2recover.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.h
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/compress.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/crctable.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/decompress.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/dlltest.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/huffman.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/mk251.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/randtable.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/spewG.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/unzcrash.c
    vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.h
    vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.xs
    vendor/perl/dist/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
    vendor/perl/dist/ext/Compress-Raw-Bzip2/pod/FAQ.pod
    vendor/perl/dist/ext/Compress-Raw-Bzip2/private/MakeUtil.pm
    vendor/perl/dist/ext/Compress-Raw-Bzip2/t/000prereq.t
    vendor/perl/dist/ext/Compress-Raw-Bzip2/t/01bzip2.t
    vendor/perl/dist/ext/Compress-Raw-Bzip2/t/09limitoutput.t
    vendor/perl/dist/ext/Compress-Raw-Bzip2/t/99pod.t
    vendor/perl/dist/ext/Compress-Raw-Bzip2/typemap
    vendor/perl/dist/ext/Compress-Raw-Zlib/Makefile.PL
    vendor/perl/dist/ext/Compress-Raw-Zlib/README
    vendor/perl/dist/ext/Compress-Raw-Zlib/Zlib.xs
    vendor/perl/dist/ext/Compress-Raw-Zlib/config.in
    vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtdef
    vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtinf
    vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.xs
    vendor/perl/dist/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
    vendor/perl/dist/ext/Compress-Raw-Zlib/pod/FAQ.pod
    vendor/perl/dist/ext/Compress-Raw-Zlib/private/MakeUtil.pm
    vendor/perl/dist/ext/Compress-Raw-Zlib/t/01version.t
    vendor/perl/dist/ext/Compress-Raw-Zlib/t/02zlib.t
    vendor/perl/dist/ext/Compress-Raw-Zlib/t/07bufsize.t
    vendor/perl/dist/ext/Compress-Raw-Zlib/t/09limitoutput.t
    vendor/perl/dist/ext/Compress-Raw-Zlib/t/18lvalue.t
    vendor/perl/dist/ext/Compress-Raw-Zlib/typemap
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/adler32.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/compress.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/infback.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffixed.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/uncompr.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zconf.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zlib.h
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.c
    vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.h
    vendor/perl/dist/ext/Cwd/Cwd.xs
    vendor/perl/dist/ext/Cwd/Makefile.PL
    vendor/perl/dist/ext/Cwd/t/cwd.t
    vendor/perl/dist/ext/Cwd/t/taint.t
    vendor/perl/dist/ext/DB_File/DB_File.pm
    vendor/perl/dist/ext/DB_File/DB_File.xs
    vendor/perl/dist/ext/DB_File/DB_File_BS
    vendor/perl/dist/ext/DB_File/Makefile.PL
    vendor/perl/dist/ext/DB_File/config.in
    vendor/perl/dist/ext/DB_File/dbinfo
    vendor/perl/dist/ext/DB_File/hints/dynixptx.pl
    vendor/perl/dist/ext/DB_File/hints/sco.pl
    vendor/perl/dist/ext/DB_File/t/db-btree.t
    vendor/perl/dist/ext/DB_File/t/db-hash.t
    vendor/perl/dist/ext/DB_File/t/db-recno.t
    vendor/perl/dist/ext/DB_File/typemap
    vendor/perl/dist/ext/DB_File/version.c
    vendor/perl/dist/ext/Data/Dumper/Dumper.pm
    vendor/perl/dist/ext/Data/Dumper/Dumper.xs
    vendor/perl/dist/ext/Data/Dumper/Makefile.PL
    vendor/perl/dist/ext/Data/Dumper/Todo
    vendor/perl/dist/ext/Data/Dumper/t/bless.t
    vendor/perl/dist/ext/Data/Dumper/t/bugs.t
    vendor/perl/dist/ext/Data/Dumper/t/dumper.t
    vendor/perl/dist/ext/Data/Dumper/t/freezer.t
    vendor/perl/dist/ext/Data/Dumper/t/overload.t
    vendor/perl/dist/ext/Data/Dumper/t/pair.t
    vendor/perl/dist/ext/Data-Dumper/Dumper.pm
    vendor/perl/dist/ext/Data-Dumper/Dumper.xs
    vendor/perl/dist/ext/Data-Dumper/Todo
    vendor/perl/dist/ext/Data-Dumper/t/bless.t
    vendor/perl/dist/ext/Data-Dumper/t/bugs.t
    vendor/perl/dist/ext/Data-Dumper/t/dumper.t
    vendor/perl/dist/ext/Data-Dumper/t/freezer.t
    vendor/perl/dist/ext/Data-Dumper/t/overload.t
    vendor/perl/dist/ext/Data-Dumper/t/pair.t
    vendor/perl/dist/ext/Devel/DProf/DProf.pm
    vendor/perl/dist/ext/Devel/DProf/DProf.xs
    vendor/perl/dist/ext/Devel/DProf/Makefile.PL
    vendor/perl/dist/ext/Devel/DProf/Todo
    vendor/perl/dist/ext/Devel/DProf/t/DProf.t
    vendor/perl/dist/ext/Devel/PPPort/HACKERS
    vendor/perl/dist/ext/Devel/PPPort/MANIFEST.SKIP
    vendor/perl/dist/ext/Devel/PPPort/Makefile.PL
    vendor/perl/dist/ext/Devel/PPPort/PPPort.xs
    vendor/perl/dist/ext/Devel/PPPort/PPPort_pm.PL
    vendor/perl/dist/ext/Devel/PPPort/PPPort_xs.PL
    vendor/perl/dist/ext/Devel/PPPort/README
    vendor/perl/dist/ext/Devel/PPPort/TODO
    vendor/perl/dist/ext/Devel/PPPort/apicheck_c.PL
    vendor/perl/dist/ext/Devel/PPPort/devel/buildperl.pl
    vendor/perl/dist/ext/Devel/PPPort/devel/devtools.pl
    vendor/perl/dist/ext/Devel/PPPort/devel/mkapidoc.sh
    vendor/perl/dist/ext/Devel/PPPort/devel/mktodo
    vendor/perl/dist/ext/Devel/PPPort/devel/mktodo.pl
    vendor/perl/dist/ext/Devel/PPPort/devel/regenerate
    vendor/perl/dist/ext/Devel/PPPort/devel/scanprov
    vendor/perl/dist/ext/Devel/PPPort/mktests.PL
    vendor/perl/dist/ext/Devel/PPPort/module2.c
    vendor/perl/dist/ext/Devel/PPPort/module3.c
    vendor/perl/dist/ext/Devel/PPPort/parts/apicheck.pl
    vendor/perl/dist/ext/Devel/PPPort/parts/apidoc.fnc
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5004000
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5004010
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5004020
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5004030
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5004040
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5004050
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5005000
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5005010
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5005020
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5005030
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5005040
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5006000
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5006001
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5006002
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5007000
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5007001
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5007002
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5007003
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008000
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008001
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008002
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008003
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008004
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008005
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008006
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008007
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5008008
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5009000
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5009001
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5009002
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5009003
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5009004
    vendor/perl/dist/ext/Devel/PPPort/parts/base/5009005
    vendor/perl/dist/ext/Devel/PPPort/parts/embed.fnc
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/MY_CXT
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvPV
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvREFCNT
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/Sv_set
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/call
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/cop
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/exception
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/format
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/grok
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/limits
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/mPUSH
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/magic
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/memory
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/misc
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/newCONSTSUB
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/newRV
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/podtest
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphbin
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphdoc
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphtest
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/pvs
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/shared_pv
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/snprintf
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/strlfuncs
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/sv_xpvf
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/threads
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/uv
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/variables
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/version
    vendor/perl/dist/ext/Devel/PPPort/parts/inc/warn
    vendor/perl/dist/ext/Devel/PPPort/parts/ppport.fnc
    vendor/perl/dist/ext/Devel/PPPort/parts/ppptools.pl
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004000
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004010
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004020
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004030
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004040
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004050
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005000
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005010
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005020
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005030
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005040
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006000
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006001
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006002
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007000
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007001
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007002
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007003
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008000
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008001
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008002
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008003
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008004
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008005
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008006
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008007
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008008
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009000
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009001
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009002
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009003
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009004
    vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009005
    vendor/perl/dist/ext/Devel/PPPort/ppport_h.PL
    vendor/perl/dist/ext/Devel/PPPort/soak
    vendor/perl/dist/ext/Devel/PPPort/t/MY_CXT.t
    vendor/perl/dist/ext/Devel/PPPort/t/SvPV.t
    vendor/perl/dist/ext/Devel/PPPort/t/SvREFCNT.t
    vendor/perl/dist/ext/Devel/PPPort/t/Sv_set.t
    vendor/perl/dist/ext/Devel/PPPort/t/call.t
    vendor/perl/dist/ext/Devel/PPPort/t/cop.t
    vendor/perl/dist/ext/Devel/PPPort/t/exception.t
    vendor/perl/dist/ext/Devel/PPPort/t/grok.t
    vendor/perl/dist/ext/Devel/PPPort/t/limits.t
    vendor/perl/dist/ext/Devel/PPPort/t/mPUSH.t
    vendor/perl/dist/ext/Devel/PPPort/t/magic.t
    vendor/perl/dist/ext/Devel/PPPort/t/memory.t
    vendor/perl/dist/ext/Devel/PPPort/t/misc.t
    vendor/perl/dist/ext/Devel/PPPort/t/newCONSTSUB.t
    vendor/perl/dist/ext/Devel/PPPort/t/newRV.t
    vendor/perl/dist/ext/Devel/PPPort/t/podtest.t
    vendor/perl/dist/ext/Devel/PPPort/t/ppphtest.t
    vendor/perl/dist/ext/Devel/PPPort/t/pvs.t
    vendor/perl/dist/ext/Devel/PPPort/t/shared_pv.t
    vendor/perl/dist/ext/Devel/PPPort/t/snprintf.t
    vendor/perl/dist/ext/Devel/PPPort/t/strlfuncs.t
    vendor/perl/dist/ext/Devel/PPPort/t/sv_xpvf.t
    vendor/perl/dist/ext/Devel/PPPort/t/testutil.pl
    vendor/perl/dist/ext/Devel/PPPort/t/threads.t
    vendor/perl/dist/ext/Devel/PPPort/t/uv.t
    vendor/perl/dist/ext/Devel/PPPort/t/variables.t
    vendor/perl/dist/ext/Devel/PPPort/t/warn.t
    vendor/perl/dist/ext/Devel/PPPort/typemap
    vendor/perl/dist/ext/Devel/Peek/Makefile.PL
    vendor/perl/dist/ext/Devel/Peek/Peek.pm
    vendor/perl/dist/ext/Devel/Peek/Peek.xs
    vendor/perl/dist/ext/Devel/Peek/t/Peek.t
    vendor/perl/dist/ext/Devel-DProf/DProf.pm
    vendor/perl/dist/ext/Devel-DProf/DProf.xs
    vendor/perl/dist/ext/Devel-DProf/Makefile.PL
    vendor/perl/dist/ext/Devel-DProf/Todo
    vendor/perl/dist/ext/Devel-DProf/t/DProf.t
    vendor/perl/dist/ext/Devel-PPPort/HACKERS
    vendor/perl/dist/ext/Devel-PPPort/MANIFEST.SKIP
    vendor/perl/dist/ext/Devel-PPPort/Makefile.PL
    vendor/perl/dist/ext/Devel-PPPort/PPPort.xs
    vendor/perl/dist/ext/Devel-PPPort/PPPort_pm.PL
    vendor/perl/dist/ext/Devel-PPPort/PPPort_xs.PL
    vendor/perl/dist/ext/Devel-PPPort/README
    vendor/perl/dist/ext/Devel-PPPort/TODO
    vendor/perl/dist/ext/Devel-PPPort/apicheck_c.PL
    vendor/perl/dist/ext/Devel-PPPort/devel/buildperl.pl
    vendor/perl/dist/ext/Devel-PPPort/devel/devtools.pl
    vendor/perl/dist/ext/Devel-PPPort/devel/mkapidoc.sh
    vendor/perl/dist/ext/Devel-PPPort/devel/mktodo
    vendor/perl/dist/ext/Devel-PPPort/devel/mktodo.pl
    vendor/perl/dist/ext/Devel-PPPort/devel/regenerate
    vendor/perl/dist/ext/Devel-PPPort/devel/scanprov
    vendor/perl/dist/ext/Devel-PPPort/mktests.PL
    vendor/perl/dist/ext/Devel-PPPort/module2.c
    vendor/perl/dist/ext/Devel-PPPort/module3.c
    vendor/perl/dist/ext/Devel-PPPort/parts/apicheck.pl
    vendor/perl/dist/ext/Devel-PPPort/parts/apidoc.fnc
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5004000
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5004010
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5004020
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5004030
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5004040
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5004050
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5005000
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5005010
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5005020
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5005030
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5005040
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5006000
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5006001
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5006002
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5007000
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5007001
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5007002
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5007003
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008000
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008001
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008002
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008003
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008004
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008005
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008006
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008007
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5008008
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5009000
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5009001
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5009002
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5009003
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5009004
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5009005
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5010000
    vendor/perl/dist/ext/Devel-PPPort/parts/base/5011000
    vendor/perl/dist/ext/Devel-PPPort/parts/embed.fnc
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/HvNAME
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/MY_CXT
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvPV
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvREFCNT
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/Sv_set
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/call
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/cop
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/exception
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/format
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/grok
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/gv
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/limits
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/mPUSH
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/magic
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/memory
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/misc
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/newCONSTSUB
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/newRV
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSV_type
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSVpv
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/podtest
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphbin
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphdoc
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphtest
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/pv_tools
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/pvs
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/shared_pv
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/snprintf
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/sprintf
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/strlfuncs
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/sv_xpvf
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/threads
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/uv
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/variables
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/version
    vendor/perl/dist/ext/Devel-PPPort/parts/inc/warn
    vendor/perl/dist/ext/Devel-PPPort/parts/ppport.fnc
    vendor/perl/dist/ext/Devel-PPPort/parts/ppptools.pl
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004000
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004010
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004020
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004030
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004040
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004050
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005000
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005010
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005020
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005030
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005040
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006000
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006001
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006002
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007000
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007001
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007002
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007003
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008000
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008001
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008002
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008003
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008004
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008005
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008006
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008007
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008008
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009000
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009001
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009002
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009003
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009004
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009005
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5010000
    vendor/perl/dist/ext/Devel-PPPort/parts/todo/5011000
    vendor/perl/dist/ext/Devel-PPPort/ppport_h.PL
    vendor/perl/dist/ext/Devel-PPPort/soak
    vendor/perl/dist/ext/Devel-PPPort/t/HvNAME.t
    vendor/perl/dist/ext/Devel-PPPort/t/MY_CXT.t
    vendor/perl/dist/ext/Devel-PPPort/t/SvPV.t
    vendor/perl/dist/ext/Devel-PPPort/t/SvREFCNT.t
    vendor/perl/dist/ext/Devel-PPPort/t/Sv_set.t
    vendor/perl/dist/ext/Devel-PPPort/t/call.t
    vendor/perl/dist/ext/Devel-PPPort/t/cop.t
    vendor/perl/dist/ext/Devel-PPPort/t/exception.t
    vendor/perl/dist/ext/Devel-PPPort/t/format.t
    vendor/perl/dist/ext/Devel-PPPort/t/grok.t
    vendor/perl/dist/ext/Devel-PPPort/t/gv.t
    vendor/perl/dist/ext/Devel-PPPort/t/limits.t
    vendor/perl/dist/ext/Devel-PPPort/t/mPUSH.t
    vendor/perl/dist/ext/Devel-PPPort/t/magic.t
    vendor/perl/dist/ext/Devel-PPPort/t/memory.t
    vendor/perl/dist/ext/Devel-PPPort/t/misc.t
    vendor/perl/dist/ext/Devel-PPPort/t/newCONSTSUB.t
    vendor/perl/dist/ext/Devel-PPPort/t/newRV.t
    vendor/perl/dist/ext/Devel-PPPort/t/newSV_type.t
    vendor/perl/dist/ext/Devel-PPPort/t/newSVpv.t
    vendor/perl/dist/ext/Devel-PPPort/t/podtest.t
    vendor/perl/dist/ext/Devel-PPPort/t/ppphtest.t
    vendor/perl/dist/ext/Devel-PPPort/t/pv_tools.t
    vendor/perl/dist/ext/Devel-PPPort/t/pvs.t
    vendor/perl/dist/ext/Devel-PPPort/t/shared_pv.t
    vendor/perl/dist/ext/Devel-PPPort/t/snprintf.t
    vendor/perl/dist/ext/Devel-PPPort/t/sprintf.t
    vendor/perl/dist/ext/Devel-PPPort/t/strlfuncs.t
    vendor/perl/dist/ext/Devel-PPPort/t/sv_xpvf.t
    vendor/perl/dist/ext/Devel-PPPort/t/testutil.pl
    vendor/perl/dist/ext/Devel-PPPort/t/threads.t
    vendor/perl/dist/ext/Devel-PPPort/t/uv.t
    vendor/perl/dist/ext/Devel-PPPort/t/variables.t
    vendor/perl/dist/ext/Devel-PPPort/t/warn.t
    vendor/perl/dist/ext/Devel-PPPort/typemap
    vendor/perl/dist/ext/Devel-Peek/Changes
    vendor/perl/dist/ext/Devel-Peek/Makefile.PL
    vendor/perl/dist/ext/Devel-Peek/Peek.pm
    vendor/perl/dist/ext/Devel-Peek/Peek.xs
    vendor/perl/dist/ext/Devel-Peek/t/Peek.t
    vendor/perl/dist/ext/Digest/MD5/MD5.pm
    vendor/perl/dist/ext/Digest/MD5/MD5.xs
    vendor/perl/dist/ext/Digest/MD5/Makefile.PL
    vendor/perl/dist/ext/Digest/MD5/README
    vendor/perl/dist/ext/Digest/MD5/hints/MacOS.pl
    vendor/perl/dist/ext/Digest/MD5/hints/dec_osf.pl
    vendor/perl/dist/ext/Digest/MD5/hints/irix_6.pl
    vendor/perl/dist/ext/Digest/MD5/t/align.t
    vendor/perl/dist/ext/Digest/MD5/t/badfile.t
    vendor/perl/dist/ext/Digest/MD5/t/bits.t
    vendor/perl/dist/ext/Digest/MD5/t/clone.t
    vendor/perl/dist/ext/Digest/MD5/t/files.t
    vendor/perl/dist/ext/Digest/MD5/t/md5-aaa.t
    vendor/perl/dist/ext/Digest/MD5/t/utf8.t
    vendor/perl/dist/ext/Digest/MD5/typemap
    vendor/perl/dist/ext/Digest/SHA/Makefile.PL
    vendor/perl/dist/ext/Digest/SHA/README
    vendor/perl/dist/ext/Digest/SHA/SHA.pm
    vendor/perl/dist/ext/Digest/SHA/SHA.xs
    vendor/perl/dist/ext/Digest/SHA/bin/shasum
    vendor/perl/dist/ext/Digest/SHA/src/hmac.c
    vendor/perl/dist/ext/Digest/SHA/src/hmac.h
    vendor/perl/dist/ext/Digest/SHA/src/hmacxtra.c
    vendor/perl/dist/ext/Digest/SHA/src/sha.c
    vendor/perl/dist/ext/Digest/SHA/src/sha.h
    vendor/perl/dist/ext/Digest/SHA/src/sha64bit.c
    vendor/perl/dist/ext/Digest/SHA/src/sha64bit.h
    vendor/perl/dist/ext/Digest/SHA/src/shaxtra.c
    vendor/perl/dist/ext/Digest/SHA/t/allfcns.t
    vendor/perl/dist/ext/Digest/SHA/t/base64.t
    vendor/perl/dist/ext/Digest/SHA/t/bitbuf.t
    vendor/perl/dist/ext/Digest/SHA/t/dumpload.t
    vendor/perl/dist/ext/Digest/SHA/t/fips198.t
    vendor/perl/dist/ext/Digest/SHA/t/gg.t
    vendor/perl/dist/ext/Digest/SHA/t/gglong.t
    vendor/perl/dist/ext/Digest/SHA/t/hmacsha.t
    vendor/perl/dist/ext/Digest/SHA/t/ireland.t
    vendor/perl/dist/ext/Digest/SHA/t/methods.t
    vendor/perl/dist/ext/Digest/SHA/t/nistbit.t
    vendor/perl/dist/ext/Digest/SHA/t/nistbyte.t
    vendor/perl/dist/ext/Digest/SHA/t/rfc2202.t
    vendor/perl/dist/ext/Digest/SHA/t/sha1.t
    vendor/perl/dist/ext/Digest/SHA/t/sha224.t
    vendor/perl/dist/ext/Digest/SHA/t/sha256.t
    vendor/perl/dist/ext/Digest/SHA/t/sha384.t
    vendor/perl/dist/ext/Digest/SHA/t/sha512.t
    vendor/perl/dist/ext/Digest/SHA/t/woodbury.t
    vendor/perl/dist/ext/Digest/SHA/typemap
    vendor/perl/dist/ext/Digest-MD5/MD5.pm
    vendor/perl/dist/ext/Digest-MD5/MD5.xs
    vendor/perl/dist/ext/Digest-MD5/Makefile.PL
    vendor/perl/dist/ext/Digest-MD5/README
    vendor/perl/dist/ext/Digest-MD5/hints/MacOS.pl
    vendor/perl/dist/ext/Digest-MD5/hints/dec_osf.pl
    vendor/perl/dist/ext/Digest-MD5/hints/irix_6.pl
    vendor/perl/dist/ext/Digest-MD5/t/align.t
    vendor/perl/dist/ext/Digest-MD5/t/badfile.t
    vendor/perl/dist/ext/Digest-MD5/t/bits.t
    vendor/perl/dist/ext/Digest-MD5/t/clone.t
    vendor/perl/dist/ext/Digest-MD5/t/files.t
    vendor/perl/dist/ext/Digest-MD5/t/md5-aaa.t
    vendor/perl/dist/ext/Digest-MD5/t/utf8.t
    vendor/perl/dist/ext/Digest-MD5/typemap
    vendor/perl/dist/ext/Digest-SHA/Makefile.PL
    vendor/perl/dist/ext/Digest-SHA/README
    vendor/perl/dist/ext/Digest-SHA/SHA.xs
    vendor/perl/dist/ext/Digest-SHA/bin/shasum
    vendor/perl/dist/ext/Digest-SHA/lib/Digest/SHA.pm
    vendor/perl/dist/ext/Digest-SHA/src/hmac.c
    vendor/perl/dist/ext/Digest-SHA/src/hmac.h
    vendor/perl/dist/ext/Digest-SHA/src/hmacxtra.c
    vendor/perl/dist/ext/Digest-SHA/src/sha.c
    vendor/perl/dist/ext/Digest-SHA/src/sha.h
    vendor/perl/dist/ext/Digest-SHA/src/sha64bit.c
    vendor/perl/dist/ext/Digest-SHA/src/sha64bit.h
    vendor/perl/dist/ext/Digest-SHA/src/shaxtra.c
    vendor/perl/dist/ext/Digest-SHA/t/allfcns.t
    vendor/perl/dist/ext/Digest-SHA/t/base64.t
    vendor/perl/dist/ext/Digest-SHA/t/bitbuf.t
    vendor/perl/dist/ext/Digest-SHA/t/dumpload.t
    vendor/perl/dist/ext/Digest-SHA/t/fips198.t
    vendor/perl/dist/ext/Digest-SHA/t/gg.t
    vendor/perl/dist/ext/Digest-SHA/t/gglong.t
    vendor/perl/dist/ext/Digest-SHA/t/hmacsha.t
    vendor/perl/dist/ext/Digest-SHA/t/ireland.t
    vendor/perl/dist/ext/Digest-SHA/t/methods.t
    vendor/perl/dist/ext/Digest-SHA/t/nistbit.t
    vendor/perl/dist/ext/Digest-SHA/t/nistbyte.t
    vendor/perl/dist/ext/Digest-SHA/t/rfc2202.t
    vendor/perl/dist/ext/Digest-SHA/t/sha1.t
    vendor/perl/dist/ext/Digest-SHA/t/sha224.t
    vendor/perl/dist/ext/Digest-SHA/t/sha256.t
    vendor/perl/dist/ext/Digest-SHA/t/sha384.t
    vendor/perl/dist/ext/Digest-SHA/t/sha512.t
    vendor/perl/dist/ext/Digest-SHA/t/woodbury.t
    vendor/perl/dist/ext/Digest-SHA/typemap
    vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL
    vendor/perl/dist/ext/DynaLoader/Makefile.PL
    vendor/perl/dist/ext/DynaLoader/README
    vendor/perl/dist/ext/DynaLoader/XSLoader_pm.PL
    vendor/perl/dist/ext/DynaLoader/dl_aix.xs
    vendor/perl/dist/ext/DynaLoader/dl_beos.xs
    vendor/perl/dist/ext/DynaLoader/dl_dld.xs
    vendor/perl/dist/ext/DynaLoader/dl_dllload.xs
    vendor/perl/dist/ext/DynaLoader/dl_dlopen.xs
    vendor/perl/dist/ext/DynaLoader/dl_dyld.xs
    vendor/perl/dist/ext/DynaLoader/dl_hpux.xs
    vendor/perl/dist/ext/DynaLoader/dl_mac.xs
    vendor/perl/dist/ext/DynaLoader/dl_mpeix.xs
    vendor/perl/dist/ext/DynaLoader/dl_next.xs
    vendor/perl/dist/ext/DynaLoader/dl_none.xs
    vendor/perl/dist/ext/DynaLoader/dl_symbian.xs
    vendor/perl/dist/ext/DynaLoader/dl_vmesa.xs
    vendor/perl/dist/ext/DynaLoader/dl_vms.xs
    vendor/perl/dist/ext/DynaLoader/dl_win32.xs
    vendor/perl/dist/ext/DynaLoader/dlutils.c
    vendor/perl/dist/ext/DynaLoader/hints/aix.pl
    vendor/perl/dist/ext/DynaLoader/hints/gnukfreebsd.pl
    vendor/perl/dist/ext/DynaLoader/hints/gnuknetbsd.pl
    vendor/perl/dist/ext/DynaLoader/hints/linux.pl
    vendor/perl/dist/ext/DynaLoader/hints/netbsd.pl
    vendor/perl/dist/ext/DynaLoader/hints/openbsd.pl
    vendor/perl/dist/ext/DynaLoader/t/DynaLoader.t
    vendor/perl/dist/ext/DynaLoader/t/XSLoader.t
    vendor/perl/dist/ext/Encode/AUTHORS
    vendor/perl/dist/ext/Encode/Byte/Byte.pm
    vendor/perl/dist/ext/Encode/Byte/Makefile.PL
    vendor/perl/dist/ext/Encode/CN/CN.pm
    vendor/perl/dist/ext/Encode/CN/Makefile.PL
    vendor/perl/dist/ext/Encode/EBCDIC/EBCDIC.pm
    vendor/perl/dist/ext/Encode/EBCDIC/Makefile.PL
    vendor/perl/dist/ext/Encode/Encode/ConfigLocal_PM.e2x
    vendor/perl/dist/ext/Encode/Encode/Makefile_PL.e2x
    vendor/perl/dist/ext/Encode/Encode/_PM.e2x
    vendor/perl/dist/ext/Encode/Encode/_T.e2x
    vendor/perl/dist/ext/Encode/Encode/encode.h
    vendor/perl/dist/ext/Encode/Encode.pm
    vendor/perl/dist/ext/Encode/Encode.xs
    vendor/perl/dist/ext/Encode/JP/JP.pm
    vendor/perl/dist/ext/Encode/JP/Makefile.PL
    vendor/perl/dist/ext/Encode/KR/KR.pm
    vendor/perl/dist/ext/Encode/KR/Makefile.PL
    vendor/perl/dist/ext/Encode/Makefile.PL
    vendor/perl/dist/ext/Encode/README
    vendor/perl/dist/ext/Encode/Symbol/Makefile.PL
    vendor/perl/dist/ext/Encode/Symbol/Symbol.pm
    vendor/perl/dist/ext/Encode/TW/Makefile.PL
    vendor/perl/dist/ext/Encode/TW/TW.pm
    vendor/perl/dist/ext/Encode/Unicode/Makefile.PL
    vendor/perl/dist/ext/Encode/Unicode/Unicode.pm
    vendor/perl/dist/ext/Encode/Unicode/Unicode.xs
    vendor/perl/dist/ext/Encode/bin/enc2xs
    vendor/perl/dist/ext/Encode/bin/piconv
    vendor/perl/dist/ext/Encode/bin/ucm2table
    vendor/perl/dist/ext/Encode/bin/ucmlint
    vendor/perl/dist/ext/Encode/bin/ucmsort
    vendor/perl/dist/ext/Encode/bin/unidump
    vendor/perl/dist/ext/Encode/encengine.c
    vendor/perl/dist/ext/Encode/encoding.pm
    vendor/perl/dist/ext/Encode/lib/Encode/Alias.pm
    vendor/perl/dist/ext/Encode/lib/Encode/CJKConstants.pm
    vendor/perl/dist/ext/Encode/lib/Encode/CN/HZ.pm
    vendor/perl/dist/ext/Encode/lib/Encode/Config.pm
    vendor/perl/dist/ext/Encode/lib/Encode/Encoder.pm
    vendor/perl/dist/ext/Encode/lib/Encode/Encoding.pm
    vendor/perl/dist/ext/Encode/lib/Encode/GSM0338.pm
    vendor/perl/dist/ext/Encode/lib/Encode/Guess.pm
    vendor/perl/dist/ext/Encode/lib/Encode/JP/H2Z.pm
    vendor/perl/dist/ext/Encode/lib/Encode/JP/JIS7.pm
    vendor/perl/dist/ext/Encode/lib/Encode/KR/2022_KR.pm
    vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
    vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header.pm
    vendor/perl/dist/ext/Encode/lib/Encode/MIME/Name.pm
    vendor/perl/dist/ext/Encode/lib/Encode/PerlIO.pod
    vendor/perl/dist/ext/Encode/lib/Encode/Supported.pod
    vendor/perl/dist/ext/Encode/lib/Encode/Unicode/UTF7.pm
    vendor/perl/dist/ext/Encode/t/Aliases.t
    vendor/perl/dist/ext/Encode/t/CJKT.t
    vendor/perl/dist/ext/Encode/t/Encode.t
    vendor/perl/dist/ext/Encode/t/Encoder.t
    vendor/perl/dist/ext/Encode/t/Mod_EUCJP.pm
    vendor/perl/dist/ext/Encode/t/Unicode.t
    vendor/perl/dist/ext/Encode/t/at-cn.t
    vendor/perl/dist/ext/Encode/t/at-tw.t
    vendor/perl/dist/ext/Encode/t/big5-eten.enc
    vendor/perl/dist/ext/Encode/t/big5-eten.utf
    vendor/perl/dist/ext/Encode/t/big5-hkscs.enc
    vendor/perl/dist/ext/Encode/t/big5-hkscs.utf
    vendor/perl/dist/ext/Encode/t/enc_data.t
    vendor/perl/dist/ext/Encode/t/enc_eucjp.t
    vendor/perl/dist/ext/Encode/t/enc_module.enc
    vendor/perl/dist/ext/Encode/t/enc_module.t
    vendor/perl/dist/ext/Encode/t/enc_utf8.t
    vendor/perl/dist/ext/Encode/t/encoding.t
    vendor/perl/dist/ext/Encode/t/fallback.t
    vendor/perl/dist/ext/Encode/t/from_to.t
    vendor/perl/dist/ext/Encode/t/gb2312.enc
    vendor/perl/dist/ext/Encode/t/gb2312.utf
    vendor/perl/dist/ext/Encode/t/grow.t
    vendor/perl/dist/ext/Encode/t/gsm0338.t
    vendor/perl/dist/ext/Encode/t/guess.t
    vendor/perl/dist/ext/Encode/t/jis7-fallback.t
    vendor/perl/dist/ext/Encode/t/jisx0201.enc
    vendor/perl/dist/ext/Encode/t/jisx0201.utf
    vendor/perl/dist/ext/Encode/t/jisx0208.enc
    vendor/perl/dist/ext/Encode/t/jisx0208.utf
    vendor/perl/dist/ext/Encode/t/jisx0212.enc
    vendor/perl/dist/ext/Encode/t/jisx0212.utf
    vendor/perl/dist/ext/Encode/t/jperl.t
    vendor/perl/dist/ext/Encode/t/ksc5601.enc
    vendor/perl/dist/ext/Encode/t/ksc5601.utf
    vendor/perl/dist/ext/Encode/t/mime-header.t
    vendor/perl/dist/ext/Encode/t/mime-name.t
    vendor/perl/dist/ext/Encode/t/mime_header_iso2022jp.t
    vendor/perl/dist/ext/Encode/t/perlio.t
    vendor/perl/dist/ext/Encode/t/piconv.t
    vendor/perl/dist/ext/Encode/t/rt.pl
    vendor/perl/dist/ext/Encode/t/unibench.pl
    vendor/perl/dist/ext/Encode/t/utf8strict.t
    vendor/perl/dist/ext/Encode/ucm/8859-1.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-10.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-11.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-13.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-14.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-15.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-16.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-2.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-3.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-4.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-5.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-6.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-7.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-8.ucm
    vendor/perl/dist/ext/Encode/ucm/8859-9.ucm
    vendor/perl/dist/ext/Encode/ucm/adobeStdenc.ucm
    vendor/perl/dist/ext/Encode/ucm/adobeSymbol.ucm
    vendor/perl/dist/ext/Encode/ucm/adobeZdingbat.ucm
    vendor/perl/dist/ext/Encode/ucm/ascii.ucm
    vendor/perl/dist/ext/Encode/ucm/big5-eten.ucm
    vendor/perl/dist/ext/Encode/ucm/big5-hkscs.ucm
    vendor/perl/dist/ext/Encode/ucm/cp037.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1006.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1026.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1047.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1250.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1251.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1252.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1253.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1254.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1255.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1256.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1257.ucm
    vendor/perl/dist/ext/Encode/ucm/cp1258.ucm
    vendor/perl/dist/ext/Encode/ucm/cp424.ucm
    vendor/perl/dist/ext/Encode/ucm/cp437.ucm
    vendor/perl/dist/ext/Encode/ucm/cp500.ucm
    vendor/perl/dist/ext/Encode/ucm/cp737.ucm
    vendor/perl/dist/ext/Encode/ucm/cp775.ucm
    vendor/perl/dist/ext/Encode/ucm/cp850.ucm
    vendor/perl/dist/ext/Encode/ucm/cp852.ucm
    vendor/perl/dist/ext/Encode/ucm/cp855.ucm
    vendor/perl/dist/ext/Encode/ucm/cp856.ucm
    vendor/perl/dist/ext/Encode/ucm/cp857.ucm
    vendor/perl/dist/ext/Encode/ucm/cp858.ucm
    vendor/perl/dist/ext/Encode/ucm/cp860.ucm
    vendor/perl/dist/ext/Encode/ucm/cp861.ucm
    vendor/perl/dist/ext/Encode/ucm/cp862.ucm
    vendor/perl/dist/ext/Encode/ucm/cp863.ucm
    vendor/perl/dist/ext/Encode/ucm/cp864.ucm
    vendor/perl/dist/ext/Encode/ucm/cp865.ucm
    vendor/perl/dist/ext/Encode/ucm/cp866.ucm
    vendor/perl/dist/ext/Encode/ucm/cp869.ucm
    vendor/perl/dist/ext/Encode/ucm/cp874.ucm
    vendor/perl/dist/ext/Encode/ucm/cp875.ucm
    vendor/perl/dist/ext/Encode/ucm/cp932.ucm
    vendor/perl/dist/ext/Encode/ucm/cp936.ucm
    vendor/perl/dist/ext/Encode/ucm/cp949.ucm
    vendor/perl/dist/ext/Encode/ucm/cp950.ucm
    vendor/perl/dist/ext/Encode/ucm/ctrl.ucm
    vendor/perl/dist/ext/Encode/ucm/dingbats.ucm
    vendor/perl/dist/ext/Encode/ucm/euc-cn.ucm
    vendor/perl/dist/ext/Encode/ucm/euc-jp.ucm
    vendor/perl/dist/ext/Encode/ucm/euc-kr.ucm
    vendor/perl/dist/ext/Encode/ucm/gb12345.ucm
    vendor/perl/dist/ext/Encode/ucm/gb2312.ucm
    vendor/perl/dist/ext/Encode/ucm/gsm0338.ucm
    vendor/perl/dist/ext/Encode/ucm/hp-roman8.ucm
    vendor/perl/dist/ext/Encode/ucm/ir-165.ucm
    vendor/perl/dist/ext/Encode/ucm/jis0201.ucm
    vendor/perl/dist/ext/Encode/ucm/jis0208.ucm
    vendor/perl/dist/ext/Encode/ucm/jis0212.ucm
    vendor/perl/dist/ext/Encode/ucm/johab.ucm
    vendor/perl/dist/ext/Encode/ucm/koi8-f.ucm
    vendor/perl/dist/ext/Encode/ucm/koi8-r.ucm
    vendor/perl/dist/ext/Encode/ucm/koi8-u.ucm
    vendor/perl/dist/ext/Encode/ucm/ksc5601.ucm
    vendor/perl/dist/ext/Encode/ucm/macArabic.ucm
    vendor/perl/dist/ext/Encode/ucm/macCentEuro.ucm
    vendor/perl/dist/ext/Encode/ucm/macChinsimp.ucm
    vendor/perl/dist/ext/Encode/ucm/macChintrad.ucm
    vendor/perl/dist/ext/Encode/ucm/macCroatian.ucm
    vendor/perl/dist/ext/Encode/ucm/macCyrillic.ucm
    vendor/perl/dist/ext/Encode/ucm/macDingbats.ucm
    vendor/perl/dist/ext/Encode/ucm/macFarsi.ucm
    vendor/perl/dist/ext/Encode/ucm/macGreek.ucm
    vendor/perl/dist/ext/Encode/ucm/macHebrew.ucm
    vendor/perl/dist/ext/Encode/ucm/macIceland.ucm
    vendor/perl/dist/ext/Encode/ucm/macJapanese.ucm
    vendor/perl/dist/ext/Encode/ucm/macKorean.ucm
    vendor/perl/dist/ext/Encode/ucm/macROMnn.ucm
    vendor/perl/dist/ext/Encode/ucm/macRUMnn.ucm
    vendor/perl/dist/ext/Encode/ucm/macRoman.ucm
    vendor/perl/dist/ext/Encode/ucm/macSami.ucm
    vendor/perl/dist/ext/Encode/ucm/macSymbol.ucm
    vendor/perl/dist/ext/Encode/ucm/macThai.ucm
    vendor/perl/dist/ext/Encode/ucm/macTurkish.ucm
    vendor/perl/dist/ext/Encode/ucm/macUkraine.ucm
    vendor/perl/dist/ext/Encode/ucm/nextstep.ucm
    vendor/perl/dist/ext/Encode/ucm/null.ucm
    vendor/perl/dist/ext/Encode/ucm/posix-bc.ucm
    vendor/perl/dist/ext/Encode/ucm/shiftjis.ucm
    vendor/perl/dist/ext/Encode/ucm/symbol.ucm
    vendor/perl/dist/ext/Encode/ucm/viscii.ucm
    vendor/perl/dist/ext/Errno/ChangeLog
    vendor/perl/dist/ext/Errno/Errno_pm.PL
    vendor/perl/dist/ext/Errno/Makefile.PL
    vendor/perl/dist/ext/Errno/t/Errno.t
    vendor/perl/dist/ext/Fcntl/Fcntl.pm
    vendor/perl/dist/ext/Fcntl/Fcntl.xs
    vendor/perl/dist/ext/Fcntl/Makefile.PL
    vendor/perl/dist/ext/Fcntl/t/autoload.t
    vendor/perl/dist/ext/Fcntl/t/fcntl.t
    vendor/perl/dist/ext/Fcntl/t/mode.t
    vendor/perl/dist/ext/Fcntl/t/syslfs.t
    vendor/perl/dist/ext/File/Glob/Glob.pm
    vendor/perl/dist/ext/File/Glob/Glob.xs
    vendor/perl/dist/ext/File/Glob/Makefile.PL
    vendor/perl/dist/ext/File/Glob/TODO
    vendor/perl/dist/ext/File/Glob/bsd_glob.c
    vendor/perl/dist/ext/File/Glob/bsd_glob.h
    vendor/perl/dist/ext/File/Glob/t/basic.t
    vendor/perl/dist/ext/File/Glob/t/case.t
    vendor/perl/dist/ext/File/Glob/t/global.t
    vendor/perl/dist/ext/File/Glob/t/taint.t
    vendor/perl/dist/ext/File-Glob/Changes
    vendor/perl/dist/ext/File-Glob/Glob.pm
    vendor/perl/dist/ext/File-Glob/Glob.xs
    vendor/perl/dist/ext/File-Glob/Makefile.PL
    vendor/perl/dist/ext/File-Glob/TODO
    vendor/perl/dist/ext/File-Glob/bsd_glob.c
    vendor/perl/dist/ext/File-Glob/bsd_glob.h
    vendor/perl/dist/ext/File-Glob/t/basic.t
    vendor/perl/dist/ext/File-Glob/t/case.t
    vendor/perl/dist/ext/File-Glob/t/global.t
    vendor/perl/dist/ext/File-Glob/t/taint.t
    vendor/perl/dist/ext/FileCache/lib/FileCache.pm
    vendor/perl/dist/ext/FileCache/t/01open.t
    vendor/perl/dist/ext/FileCache/t/02maxopen.t
    vendor/perl/dist/ext/FileCache/t/03append.t
    vendor/perl/dist/ext/FileCache/t/04twoarg.t
    vendor/perl/dist/ext/FileCache/t/05override.t
    vendor/perl/dist/ext/FileCache/t/06export.t
    vendor/perl/dist/ext/FileCache/t/07noimport.t
    vendor/perl/dist/ext/Filter/Util/Call/Call.pm
    vendor/perl/dist/ext/Filter/Util/Call/Call.xs
    vendor/perl/dist/ext/Filter/Util/Call/Makefile.PL
    vendor/perl/dist/ext/Filter/t/call.t
    vendor/perl/dist/ext/Filter-Util-Call/Call.pm
    vendor/perl/dist/ext/Filter-Util-Call/Call.xs
    vendor/perl/dist/ext/Filter-Util-Call/t/call.t
    vendor/perl/dist/ext/GDBM_File/GDBM_File.pm
    vendor/perl/dist/ext/GDBM_File/GDBM_File.xs
    vendor/perl/dist/ext/GDBM_File/Makefile.PL
    vendor/perl/dist/ext/GDBM_File/hints/sco.pl
    vendor/perl/dist/ext/GDBM_File/t/gdbm.t
    vendor/perl/dist/ext/GDBM_File/typemap
    vendor/perl/dist/ext/Hash/Util/FieldHash/FieldHash.xs
    vendor/perl/dist/ext/Hash/Util/FieldHash/Makefile.PL
    vendor/perl/dist/ext/Hash/Util/FieldHash/lib/Hash/Util/FieldHash.pm
    vendor/perl/dist/ext/Hash/Util/FieldHash/t/01_load.t
    vendor/perl/dist/ext/Hash/Util/FieldHash/t/02_function.t
    vendor/perl/dist/ext/Hash/Util/FieldHash/t/03_class.t
    vendor/perl/dist/ext/Hash/Util/FieldHash/t/04_thread.t
    vendor/perl/dist/ext/Hash/Util/FieldHash/t/05_perlhook.t
    vendor/perl/dist/ext/Hash/Util/FieldHash/t/10_hash.t
    vendor/perl/dist/ext/Hash/Util/FieldHash/t/11_hashassign.t
    vendor/perl/dist/ext/Hash/Util/FieldHash/t/12_hashwarn.t
    vendor/perl/dist/ext/Hash/Util/Makefile.PL
    vendor/perl/dist/ext/Hash/Util/Util.xs
    vendor/perl/dist/ext/Hash/Util/lib/Hash/Util.pm
    vendor/perl/dist/ext/Hash/Util/t/Util.t
    vendor/perl/dist/ext/Hash-Util/Changes
    vendor/perl/dist/ext/Hash-Util/Makefile.PL
    vendor/perl/dist/ext/Hash-Util/Util.xs
    vendor/perl/dist/ext/Hash-Util/lib/Hash/Util.pm
    vendor/perl/dist/ext/Hash-Util/t/Util.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/Changes
    vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs
    vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/01_load.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/02_function.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/03_class.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/04_thread.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/05_perlhook.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/10_hash.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/11_hashassign.t
    vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t
    vendor/perl/dist/ext/I18N/Langinfo/Langinfo.pm
    vendor/perl/dist/ext/I18N/Langinfo/Langinfo.xs
    vendor/perl/dist/ext/I18N/Langinfo/Makefile.PL
    vendor/perl/dist/ext/I18N/Langinfo/fallback/const-c.inc
    vendor/perl/dist/ext/I18N/Langinfo/fallback/const-xs.inc
    vendor/perl/dist/ext/I18N/Langinfo/t/Langinfo.t
    vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm
    vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs
    vendor/perl/dist/ext/I18N-Langinfo/Makefile.PL
    vendor/perl/dist/ext/I18N-Langinfo/fallback/const-c.inc
    vendor/perl/dist/ext/I18N-Langinfo/fallback/const-xs.inc
    vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t
    vendor/perl/dist/ext/IO/ChangeLog
    vendor/perl/dist/ext/IO/IO.pm
    vendor/perl/dist/ext/IO/IO.xs
    vendor/perl/dist/ext/IO/Makefile.PL
    vendor/perl/dist/ext/IO/README
    vendor/perl/dist/ext/IO/hints/sco.pl
    vendor/perl/dist/ext/IO/lib/IO/Dir.pm
    vendor/perl/dist/ext/IO/lib/IO/File.pm
    vendor/perl/dist/ext/IO/lib/IO/Handle.pm
    vendor/perl/dist/ext/IO/lib/IO/Pipe.pm
    vendor/perl/dist/ext/IO/lib/IO/Poll.pm
    vendor/perl/dist/ext/IO/lib/IO/Seekable.pm
    vendor/perl/dist/ext/IO/lib/IO/Select.pm
    vendor/perl/dist/ext/IO/lib/IO/Socket/INET.pm
    vendor/perl/dist/ext/IO/lib/IO/Socket/UNIX.pm
    vendor/perl/dist/ext/IO/lib/IO/Socket.pm
    vendor/perl/dist/ext/IO/poll.c
    vendor/perl/dist/ext/IO/poll.h
    vendor/perl/dist/ext/IO/t/IO.t
    vendor/perl/dist/ext/IO/t/io_const.t
    vendor/perl/dist/ext/IO/t/io_dir.t
    vendor/perl/dist/ext/IO/t/io_dup.t
    vendor/perl/dist/ext/IO/t/io_file.t
    vendor/perl/dist/ext/IO/t/io_linenum.t
    vendor/perl/dist/ext/IO/t/io_multihomed.t
    vendor/perl/dist/ext/IO/t/io_pipe.t
    vendor/perl/dist/ext/IO/t/io_poll.t
    vendor/perl/dist/ext/IO/t/io_sel.t
    vendor/perl/dist/ext/IO/t/io_sock.t
    vendor/perl/dist/ext/IO/t/io_taint.t
    vendor/perl/dist/ext/IO/t/io_tell.t
    vendor/perl/dist/ext/IO/t/io_udp.t
    vendor/perl/dist/ext/IO/t/io_unix.t
    vendor/perl/dist/ext/IO/t/io_utf8.t
    vendor/perl/dist/ext/IO/t/io_xs.t
    vendor/perl/dist/ext/IO-Compress/Makefile.PL
    vendor/perl/dist/ext/IO-Compress/README
    vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtdef
    vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtinf
    vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzcat
    vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzgrep
    vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzstream
    vendor/perl/dist/ext/IO-Compress/examples/io/anycat
    vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzcat
    vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzgrep
    vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzstream
    vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzappend
    vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzcat
    vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzgrep
    vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzstream
    vendor/perl/dist/ext/IO-Compress/lib/Compress/Zlib.pm
    vendor/perl/dist/ext/IO-Compress/lib/File/GlobMapper.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base/Common.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Bzip2.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Deflate.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Base.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm
    vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm
    vendor/perl/dist/ext/IO-Compress/pod/FAQ.pod
    vendor/perl/dist/ext/IO-Compress/private/MakeUtil.pm
    vendor/perl/dist/ext/IO-Compress/t/000prereq.t
    vendor/perl/dist/ext/IO-Compress/t/001bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-zip.t
    vendor/perl/dist/ext/IO-Compress/t/002any-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/002any-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/002any-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/002any-transparent.t
    vendor/perl/dist/ext/IO-Compress/t/002any-zip.t
    vendor/perl/dist/ext/IO-Compress/t/004gziphdr.t
    vendor/perl/dist/ext/IO-Compress/t/005defhdr.t
    vendor/perl/dist/ext/IO-Compress/t/006zip.t
    vendor/perl/dist/ext/IO-Compress/t/010examples-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/010examples-zlib.t
    vendor/perl/dist/ext/IO-Compress/t/01misc.t
    vendor/perl/dist/ext/IO-Compress/t/020isize.t
    vendor/perl/dist/ext/IO-Compress/t/050interop-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/100generic-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/100generic-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/100generic-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/100generic-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/100generic-zip.t
    vendor/perl/dist/ext/IO-Compress/t/101truncate-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/101truncate-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/101truncate-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/101truncate-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/101truncate-zip.t
    vendor/perl/dist/ext/IO-Compress/t/102tied-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/102tied-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/102tied-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/102tied-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/102tied-zip.t
    vendor/perl/dist/ext/IO-Compress/t/103newtied-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/103newtied-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/103newtied-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/103newtied-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/103newtied-zip.t
    vendor/perl/dist/ext/IO-Compress/t/104destroy-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/104destroy-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/104destroy-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/104destroy-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/104destroy-zip.t
    vendor/perl/dist/ext/IO-Compress/t/105oneshot-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/105oneshot-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip-only.t
    vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/105oneshot-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-bzip2-only.t
    vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-only.t
    vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip.t
    vendor/perl/dist/ext/IO-Compress/t/106prime-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/106prime-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/106prime-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/106prime-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/106prime-zip.t
    vendor/perl/dist/ext/IO-Compress/t/107multi-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/107multi-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/107multi-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/107multi-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/107multi-zip.t
    vendor/perl/dist/ext/IO-Compress/t/108anyunc-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/108anyunc-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/108anyunc-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/108anyunc-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/108anyunc-transparent.t
    vendor/perl/dist/ext/IO-Compress/t/108anyunc-zip.t
    vendor/perl/dist/ext/IO-Compress/t/109merge-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/109merge-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/109merge-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/109merge-zip.t
    vendor/perl/dist/ext/IO-Compress/t/110encode-bzip2.t
    vendor/perl/dist/ext/IO-Compress/t/110encode-deflate.t
    vendor/perl/dist/ext/IO-Compress/t/110encode-gzip.t
    vendor/perl/dist/ext/IO-Compress/t/110encode-rawdeflate.t
    vendor/perl/dist/ext/IO-Compress/t/110encode-zip.t
    vendor/perl/dist/ext/IO-Compress/t/999pod.t
    vendor/perl/dist/ext/IO-Compress/t/cz-01version.t
    vendor/perl/dist/ext/IO-Compress/t/cz-05examples.t
    vendor/perl/dist/ext/IO-Compress/t/cz-06gzsetp.t
    vendor/perl/dist/ext/IO-Compress/t/cz-08encoding.t
    vendor/perl/dist/ext/IO-Compress/t/cz-14gzopen.t
    vendor/perl/dist/ext/IO-Compress/t/globmapper.t
    vendor/perl/dist/ext/IO_Compress_Base/Makefile.PL
    vendor/perl/dist/ext/IO_Compress_Base/README
    vendor/perl/dist/ext/IO_Compress_Base/lib/File/GlobMapper.pm
    vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm
    vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base.pm
    vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm
    vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm
    vendor/perl/dist/ext/IO_Compress_Base/private/MakeUtil.pm
    vendor/perl/dist/ext/IO_Compress_Base/t/01misc.t
    vendor/perl/dist/ext/IO_Compress_Base/t/globmapper.t
    vendor/perl/dist/ext/IO_Compress_Zlib/Makefile.PL
    vendor/perl/dist/ext/IO_Compress_Zlib/README
    vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzappend
    vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzcat
    vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzgrep
    vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzstream
    vendor/perl/dist/ext/IO_Compress_Zlib/examples/unzip
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/private/MakeUtil.pm
    vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-transparent.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/004gziphdr.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/005defhdr.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/010examples.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/020isize.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/050interop-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip-only.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip-only.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-transparent.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-zip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-deflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-gzip.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-rawdeflate.t
    vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-zip.t
    vendor/perl/dist/ext/IPC/SysV/ChangeLog
    vendor/perl/dist/ext/IPC/SysV/Makefile.PL
    vendor/perl/dist/ext/IPC/SysV/Msg.pm
    vendor/perl/dist/ext/IPC/SysV/README
    vendor/perl/dist/ext/IPC/SysV/Semaphore.pm
    vendor/perl/dist/ext/IPC/SysV/SysV.pm
    vendor/perl/dist/ext/IPC/SysV/SysV.xs
    vendor/perl/dist/ext/IPC/SysV/hints/next_3.pl
    vendor/perl/dist/ext/IPC/SysV/t/ipcsysv.t
    vendor/perl/dist/ext/IPC/SysV/t/msg.t
    vendor/perl/dist/ext/IPC/SysV/t/sem.t
    vendor/perl/dist/ext/IPC-Open2/lib/IPC/Open2.pm
    vendor/perl/dist/ext/IPC-Open2/t/IPC-Open2.t
    vendor/perl/dist/ext/IPC-Open3/lib/IPC/Open3.pm
    vendor/perl/dist/ext/IPC-Open3/t/IPC-Open3.t
    vendor/perl/dist/ext/IPC-Open3/t/fd.t
    vendor/perl/dist/ext/IPC-SysV/MANIFEST.SKIP
    vendor/perl/dist/ext/IPC-SysV/Makefile.PL
    vendor/perl/dist/ext/IPC-SysV/README
    vendor/perl/dist/ext/IPC-SysV/SysV.xs
    vendor/perl/dist/ext/IPC-SysV/TODO
    vendor/perl/dist/ext/IPC-SysV/hints/next_3.pl
    vendor/perl/dist/ext/IPC-SysV/lib/IPC/Msg.pm
    vendor/perl/dist/ext/IPC-SysV/lib/IPC/Semaphore.pm
    vendor/perl/dist/ext/IPC-SysV/lib/IPC/SharedMem.pm
    vendor/perl/dist/ext/IPC-SysV/lib/IPC/SysV.pm
    vendor/perl/dist/ext/IPC-SysV/regen.pl
    vendor/perl/dist/ext/IPC-SysV/t/ipcsysv.t
    vendor/perl/dist/ext/IPC-SysV/t/msg.t
    vendor/perl/dist/ext/IPC-SysV/t/pod.t
    vendor/perl/dist/ext/IPC-SysV/t/podcov.t
    vendor/perl/dist/ext/IPC-SysV/t/sem.t
    vendor/perl/dist/ext/IPC-SysV/t/shm.t
    vendor/perl/dist/ext/IPC-SysV/typemap
    vendor/perl/dist/ext/List/Util/Makefile.PL
    vendor/perl/dist/ext/List/Util/README
    vendor/perl/dist/ext/List/Util/Util.xs
    vendor/perl/dist/ext/List/Util/lib/List/Util.pm
    vendor/perl/dist/ext/List/Util/lib/Scalar/Util.pm
    vendor/perl/dist/ext/List/Util/multicall.h
    vendor/perl/dist/ext/List/Util/t/00version.t
    vendor/perl/dist/ext/List/Util/t/blessed.t
    vendor/perl/dist/ext/List/Util/t/dualvar.t
    vendor/perl/dist/ext/List/Util/t/first.t
    vendor/perl/dist/ext/List/Util/t/isvstring.t
    vendor/perl/dist/ext/List/Util/t/lln.t
    vendor/perl/dist/ext/List/Util/t/max.t
    vendor/perl/dist/ext/List/Util/t/maxstr.t
    vendor/perl/dist/ext/List/Util/t/min.t
    vendor/perl/dist/ext/List/Util/t/minstr.t
    vendor/perl/dist/ext/List/Util/t/openhan.t
    vendor/perl/dist/ext/List/Util/t/p_blessed.t
    vendor/perl/dist/ext/List/Util/t/p_first.t
    vendor/perl/dist/ext/List/Util/t/p_lln.t
    vendor/perl/dist/ext/List/Util/t/p_max.t
    vendor/perl/dist/ext/List/Util/t/p_maxstr.t
    vendor/perl/dist/ext/List/Util/t/p_min.t
    vendor/perl/dist/ext/List/Util/t/p_minstr.t
    vendor/perl/dist/ext/List/Util/t/p_openhan.t
    vendor/perl/dist/ext/List/Util/t/p_readonly.t
    vendor/perl/dist/ext/List/Util/t/p_reduce.t
    vendor/perl/dist/ext/List/Util/t/p_refaddr.t
    vendor/perl/dist/ext/List/Util/t/p_reftype.t
    vendor/perl/dist/ext/List/Util/t/p_shuffle.t
    vendor/perl/dist/ext/List/Util/t/p_sum.t
    vendor/perl/dist/ext/List/Util/t/p_tainted.t
    vendor/perl/dist/ext/List/Util/t/proto.t
    vendor/perl/dist/ext/List/Util/t/readonly.t
    vendor/perl/dist/ext/List/Util/t/reduce.t
    vendor/perl/dist/ext/List/Util/t/refaddr.t
    vendor/perl/dist/ext/List/Util/t/reftype.t
    vendor/perl/dist/ext/List/Util/t/shuffle.t
    vendor/perl/dist/ext/List/Util/t/sum.t
    vendor/perl/dist/ext/List/Util/t/tainted.t
    vendor/perl/dist/ext/List/Util/t/weak.t
    vendor/perl/dist/ext/List-Util/ListUtil.xs
    vendor/perl/dist/ext/List-Util/Makefile.PL
    vendor/perl/dist/ext/List-Util/README
    vendor/perl/dist/ext/List-Util/XS.pp
    vendor/perl/dist/ext/List-Util/lib/List/Util/PP.pm
    vendor/perl/dist/ext/List-Util/lib/List/Util/XS.pm
    vendor/perl/dist/ext/List-Util/lib/List/Util.pm
    vendor/perl/dist/ext/List-Util/lib/Scalar/Util/PP.pm
    vendor/perl/dist/ext/List-Util/lib/Scalar/Util.pm
    vendor/perl/dist/ext/List-Util/multicall.h
    vendor/perl/dist/ext/List-Util/t/00version.t
    vendor/perl/dist/ext/List-Util/t/blessed.t
    vendor/perl/dist/ext/List-Util/t/dualvar.t
    vendor/perl/dist/ext/List-Util/t/expfail.t
    vendor/perl/dist/ext/List-Util/t/first.t
    vendor/perl/dist/ext/List-Util/t/isvstring.t
    vendor/perl/dist/ext/List-Util/t/lln.t
    vendor/perl/dist/ext/List-Util/t/max.t
    vendor/perl/dist/ext/List-Util/t/maxstr.t
    vendor/perl/dist/ext/List-Util/t/min.t
    vendor/perl/dist/ext/List-Util/t/minstr.t
    vendor/perl/dist/ext/List-Util/t/openhan.t
    vendor/perl/dist/ext/List-Util/t/p_00version.t
    vendor/perl/dist/ext/List-Util/t/p_blessed.t
    vendor/perl/dist/ext/List-Util/t/p_first.t
    vendor/perl/dist/ext/List-Util/t/p_lln.t
    vendor/perl/dist/ext/List-Util/t/p_max.t
    vendor/perl/dist/ext/List-Util/t/p_maxstr.t
    vendor/perl/dist/ext/List-Util/t/p_min.t
    vendor/perl/dist/ext/List-Util/t/p_minstr.t
    vendor/perl/dist/ext/List-Util/t/p_openhan.t
    vendor/perl/dist/ext/List-Util/t/p_readonly.t
    vendor/perl/dist/ext/List-Util/t/p_reduce.t
    vendor/perl/dist/ext/List-Util/t/p_refaddr.t
    vendor/perl/dist/ext/List-Util/t/p_reftype.t
    vendor/perl/dist/ext/List-Util/t/p_shuffle.t
    vendor/perl/dist/ext/List-Util/t/p_sum.t
    vendor/perl/dist/ext/List-Util/t/p_tainted.t
    vendor/perl/dist/ext/List-Util/t/proto.t
    vendor/perl/dist/ext/List-Util/t/readonly.t
    vendor/perl/dist/ext/List-Util/t/reduce.t
    vendor/perl/dist/ext/List-Util/t/refaddr.t
    vendor/perl/dist/ext/List-Util/t/reftype.t
    vendor/perl/dist/ext/List-Util/t/shuffle.t
    vendor/perl/dist/ext/List-Util/t/stack-corruption.t
    vendor/perl/dist/ext/List-Util/t/sum.t
    vendor/perl/dist/ext/List-Util/t/tainted.t
    vendor/perl/dist/ext/List-Util/t/weak.t
    vendor/perl/dist/ext/MIME/Base64/Base64.pm
    vendor/perl/dist/ext/MIME/Base64/Base64.xs
    vendor/perl/dist/ext/MIME/Base64/Makefile.PL
    vendor/perl/dist/ext/MIME/Base64/QuotedPrint.pm
    vendor/perl/dist/ext/MIME/Base64/README
    vendor/perl/dist/ext/MIME/Base64/t/base64.t
    vendor/perl/dist/ext/MIME/Base64/t/quoted-print.t
    vendor/perl/dist/ext/MIME/Base64/t/unicode.t
    vendor/perl/dist/ext/MIME/Base64/t/warn.t
    vendor/perl/dist/ext/MIME-Base64/Base64.pm
    vendor/perl/dist/ext/MIME-Base64/Base64.xs
    vendor/perl/dist/ext/MIME-Base64/Makefile.PL
    vendor/perl/dist/ext/MIME-Base64/QuotedPrint.pm
    vendor/perl/dist/ext/MIME-Base64/README
    vendor/perl/dist/ext/MIME-Base64/t/base64.t
    vendor/perl/dist/ext/MIME-Base64/t/quoted-print.t
    vendor/perl/dist/ext/MIME-Base64/t/unicode.t
    vendor/perl/dist/ext/MIME-Base64/t/warn.t
    vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.pm
    vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.xs
    vendor/perl/dist/ext/Math/BigInt/FastCalc/Makefile.PL
    vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bigintfc.t
    vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bootstrap.t
    vendor/perl/dist/ext/Math/BigInt/FastCalc/t/leak.t
    vendor/perl/dist/ext/Math/BigInt/FastCalc/t/mbi_rand.t
    vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.pm
    vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.xs
    vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bigintfc.t
    vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bootstrap.t
    vendor/perl/dist/ext/Math-BigInt-FastCalc/t/leak.t
    vendor/perl/dist/ext/Math-BigInt-FastCalc/t/mbi_rand.t
    vendor/perl/dist/ext/Module-Pluggable/Makefile.PL
    vendor/perl/dist/ext/Module-Pluggable/lib/Devel/InnerPackage.pm
    vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable/Object.pm
    vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable.pm
    vendor/perl/dist/ext/Module-Pluggable/t/01use.t
    vendor/perl/dist/ext/Module-Pluggable/t/02alsoworks.t
    vendor/perl/dist/ext/Module-Pluggable/t/02works.t
    vendor/perl/dist/ext/Module-Pluggable/t/02works_taint.t
    vendor/perl/dist/ext/Module-Pluggable/t/03diffname.t
    vendor/perl/dist/ext/Module-Pluggable/t/04acmedir.t
    vendor/perl/dist/ext/Module-Pluggable/t/04acmedir_single.t
    vendor/perl/dist/ext/Module-Pluggable/t/04acmepath.t
    vendor/perl/dist/ext/Module-Pluggable/t/04acmepath_single.t
    vendor/perl/dist/ext/Module-Pluggable/t/05postpath.t
    vendor/perl/dist/ext/Module-Pluggable/t/06multipath.t
    vendor/perl/dist/ext/Module-Pluggable/t/07instantiate.t
    vendor/perl/dist/ext/Module-Pluggable/t/08nothing.t
    vendor/perl/dist/ext/Module-Pluggable/t/09require.t
    vendor/perl/dist/ext/Module-Pluggable/t/10innerpack.t
    vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_inner.t
    vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_noinner.t
    vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_onefile.t
    vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_override.t
    vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_super.t
    vendor/perl/dist/ext/Module-Pluggable/t/11usetwice.t
    vendor/perl/dist/ext/Module-Pluggable/t/12only.t
    vendor/perl/dist/ext/Module-Pluggable/t/12onlyarray.t
    vendor/perl/dist/ext/Module-Pluggable/t/12onlyregex.t
    vendor/perl/dist/ext/Module-Pluggable/t/12onlyrequire.t
    vendor/perl/dist/ext/Module-Pluggable/t/13except.t
    vendor/perl/dist/ext/Module-Pluggable/t/13exceptarray.t
    vendor/perl/dist/ext/Module-Pluggable/t/13exceptregex.t
    vendor/perl/dist/ext/Module-Pluggable/t/14package.t
    vendor/perl/dist/ext/Module-Pluggable/t/15topicsafe.t
    vendor/perl/dist/ext/Module-Pluggable/t/16different_extension.t
    vendor/perl/dist/ext/Module-Pluggable/t/17devel_inner_package.t
    vendor/perl/dist/ext/Module-Pluggable/t/18skipped_package.t
    vendor/perl/dist/ext/Module-Pluggable/t/19can_ok_clobber.t
    vendor/perl/dist/ext/Module-Pluggable/t/20dodgy_files.t
    vendor/perl/dist/ext/Module-Pluggable/t/21editor_junk.t
    vendor/perl/dist/ext/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/Foo-Bar.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo
    vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp
    vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin
    vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin
    vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin
    vendor/perl/dist/ext/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/No/Middle.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/TA/C/A/I.pm
    vendor/perl/dist/ext/Module-Pluggable/t/lib/Zot/.Zork.pm
    vendor/perl/dist/ext/NDBM_File/Makefile.PL
    vendor/perl/dist/ext/NDBM_File/NDBM_File.pm
    vendor/perl/dist/ext/NDBM_File/NDBM_File.xs
    vendor/perl/dist/ext/NDBM_File/hints/cygwin.pl
    vendor/perl/dist/ext/NDBM_File/hints/dec_osf.pl
    vendor/perl/dist/ext/NDBM_File/hints/dynixptx.pl
    vendor/perl/dist/ext/NDBM_File/hints/gnukfreebsd.pl
    vendor/perl/dist/ext/NDBM_File/hints/gnuknetbsd.pl
    vendor/perl/dist/ext/NDBM_File/hints/linux.pl
    vendor/perl/dist/ext/NDBM_File/hints/sco.pl
    vendor/perl/dist/ext/NDBM_File/hints/solaris.pl
    vendor/perl/dist/ext/NDBM_File/hints/svr4.pl
    vendor/perl/dist/ext/NDBM_File/t/ndbm.t
    vendor/perl/dist/ext/NDBM_File/typemap
    vendor/perl/dist/ext/ODBM_File/Makefile.PL
    vendor/perl/dist/ext/ODBM_File/ODBM_File.pm
    vendor/perl/dist/ext/ODBM_File/ODBM_File.xs
    vendor/perl/dist/ext/ODBM_File/hints/cygwin.pl
    vendor/perl/dist/ext/ODBM_File/hints/dec_osf.pl
    vendor/perl/dist/ext/ODBM_File/hints/gnukfreebsd.pl
    vendor/perl/dist/ext/ODBM_File/hints/gnuknetbsd.pl
    vendor/perl/dist/ext/ODBM_File/hints/hpux.pl
    vendor/perl/dist/ext/ODBM_File/hints/linux.pl
    vendor/perl/dist/ext/ODBM_File/hints/sco.pl
    vendor/perl/dist/ext/ODBM_File/hints/solaris.pl
    vendor/perl/dist/ext/ODBM_File/hints/svr4.pl
    vendor/perl/dist/ext/ODBM_File/hints/ultrix.pl
    vendor/perl/dist/ext/ODBM_File/t/odbm.t
    vendor/perl/dist/ext/ODBM_File/typemap
    vendor/perl/dist/ext/Opcode/Makefile.PL
    vendor/perl/dist/ext/Opcode/Opcode.pm
    vendor/perl/dist/ext/Opcode/Opcode.xs
    vendor/perl/dist/ext/Opcode/Safe.pm
    vendor/perl/dist/ext/Opcode/ops.pm
    vendor/perl/dist/ext/Opcode/t/Opcode.t
    vendor/perl/dist/ext/Opcode/t/ops.t
    vendor/perl/dist/ext/POSIX/Makefile.PL
    vendor/perl/dist/ext/POSIX/POSIX.pm
    vendor/perl/dist/ext/POSIX/POSIX.pod
    vendor/perl/dist/ext/POSIX/POSIX.xs
    vendor/perl/dist/ext/POSIX/hints/bsdos.pl
    vendor/perl/dist/ext/POSIX/hints/dynixptx.pl
    vendor/perl/dist/ext/POSIX/hints/freebsd.pl
    vendor/perl/dist/ext/POSIX/hints/gnukfreebsd.pl
    vendor/perl/dist/ext/POSIX/hints/gnuknetbsd.pl
    vendor/perl/dist/ext/POSIX/hints/linux.pl
    vendor/perl/dist/ext/POSIX/hints/mint.pl
    vendor/perl/dist/ext/POSIX/hints/netbsd.pl
    vendor/perl/dist/ext/POSIX/hints/next_3.pl
    vendor/perl/dist/ext/POSIX/hints/openbsd.pl
    vendor/perl/dist/ext/POSIX/hints/sunos_4.pl
    vendor/perl/dist/ext/POSIX/hints/svr4.pl
    vendor/perl/dist/ext/POSIX/hints/uts.pl
    vendor/perl/dist/ext/POSIX/lib/POSIX.pm
    vendor/perl/dist/ext/POSIX/lib/POSIX.pod
    vendor/perl/dist/ext/POSIX/t/is.t
    vendor/perl/dist/ext/POSIX/t/math.t
    vendor/perl/dist/ext/POSIX/t/posix.t
    vendor/perl/dist/ext/POSIX/t/sigaction.t
    vendor/perl/dist/ext/POSIX/t/sysconf.t
    vendor/perl/dist/ext/POSIX/t/taint.t
    vendor/perl/dist/ext/POSIX/t/termios.t
    vendor/perl/dist/ext/POSIX/t/time.t
    vendor/perl/dist/ext/POSIX/t/waitpid.t
    vendor/perl/dist/ext/POSIX/typemap
    vendor/perl/dist/ext/PerlIO/encoding/Makefile.PL
    vendor/perl/dist/ext/PerlIO/encoding/encoding.pm
    vendor/perl/dist/ext/PerlIO/encoding/encoding.xs
    vendor/perl/dist/ext/PerlIO/encoding/t/nolooping.t
    vendor/perl/dist/ext/PerlIO/scalar/Makefile.PL
    vendor/perl/dist/ext/PerlIO/scalar/scalar.pm
    vendor/perl/dist/ext/PerlIO/scalar/scalar.xs
    vendor/perl/dist/ext/PerlIO/t/PerlIO.t
    vendor/perl/dist/ext/PerlIO/t/encoding.t
    vendor/perl/dist/ext/PerlIO/t/fail.t
    vendor/perl/dist/ext/PerlIO/t/fallback.t
    vendor/perl/dist/ext/PerlIO/t/open.t
    vendor/perl/dist/ext/PerlIO/t/scalar.t
    vendor/perl/dist/ext/PerlIO/t/via.t
    vendor/perl/dist/ext/PerlIO/via/Makefile.PL
    vendor/perl/dist/ext/PerlIO/via/hints/aix.pl
    vendor/perl/dist/ext/PerlIO/via/via.pm
    vendor/perl/dist/ext/PerlIO/via/via.xs
    vendor/perl/dist/ext/PerlIO-encoding/MANIFEST
    vendor/perl/dist/ext/PerlIO-encoding/encoding.pm
    vendor/perl/dist/ext/PerlIO-encoding/encoding.xs
    vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t
    vendor/perl/dist/ext/PerlIO-encoding/t/fallback.t
    vendor/perl/dist/ext/PerlIO-encoding/t/nolooping.t
    vendor/perl/dist/ext/PerlIO-scalar/scalar.pm
    vendor/perl/dist/ext/PerlIO-scalar/scalar.xs
    vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t
    vendor/perl/dist/ext/PerlIO-scalar/t/scalar_ungetc.t
    vendor/perl/dist/ext/PerlIO-via/hints/aix.pl
    vendor/perl/dist/ext/PerlIO-via/t/via.t
    vendor/perl/dist/ext/PerlIO-via/via.pm
    vendor/perl/dist/ext/PerlIO-via/via.xs
    vendor/perl/dist/ext/Pod-Html/Html.pm
    vendor/perl/dist/ext/Pod-Html/pod2html.PL
    vendor/perl/dist/ext/Pod-Html/t/htmlescp.pod
    vendor/perl/dist/ext/Pod-Html/t/htmlescp.t
    vendor/perl/dist/ext/Pod-Html/t/htmllink.pod
    vendor/perl/dist/ext/Pod-Html/t/htmllink.t
    vendor/perl/dist/ext/Pod-Html/t/htmlview.pod
    vendor/perl/dist/ext/Pod-Html/t/htmlview.t
    vendor/perl/dist/ext/Pod-Html/t/pod2html-lib.pl
    vendor/perl/dist/ext/SDBM_File/Makefile.PL
    vendor/perl/dist/ext/SDBM_File/SDBM_File.pm
    vendor/perl/dist/ext/SDBM_File/SDBM_File.xs
    vendor/perl/dist/ext/SDBM_File/sdbm/CHANGES
    vendor/perl/dist/ext/SDBM_File/sdbm/COMPARE
    vendor/perl/dist/ext/SDBM_File/sdbm/Makefile.PL
    vendor/perl/dist/ext/SDBM_File/sdbm/README
    vendor/perl/dist/ext/SDBM_File/sdbm/README.too
    vendor/perl/dist/ext/SDBM_File/sdbm/biblio
    vendor/perl/dist/ext/SDBM_File/sdbm/dba.c
    vendor/perl/dist/ext/SDBM_File/sdbm/dbd.c
    vendor/perl/dist/ext/SDBM_File/sdbm/dbe.1
    vendor/perl/dist/ext/SDBM_File/sdbm/dbe.c
    vendor/perl/dist/ext/SDBM_File/sdbm/dbu.c
    vendor/perl/dist/ext/SDBM_File/sdbm/grind
    vendor/perl/dist/ext/SDBM_File/sdbm/hash.c
    vendor/perl/dist/ext/SDBM_File/sdbm/linux.patches
    vendor/perl/dist/ext/SDBM_File/sdbm/makefile.sdbm
    vendor/perl/dist/ext/SDBM_File/sdbm/pair.c
    vendor/perl/dist/ext/SDBM_File/sdbm/pair.h
    vendor/perl/dist/ext/SDBM_File/sdbm/readme.ms
    vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.3
    vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.c
    vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.h
    vendor/perl/dist/ext/SDBM_File/sdbm/tune.h
    vendor/perl/dist/ext/SDBM_File/sdbm/util.c
    vendor/perl/dist/ext/SDBM_File/t/sdbm.t
    vendor/perl/dist/ext/SDBM_File/typemap
    vendor/perl/dist/ext/Safe/Safe.pm
    vendor/perl/dist/ext/Safe/t/safe1.t
    vendor/perl/dist/ext/Safe/t/safe2.t
    vendor/perl/dist/ext/Safe/t/safe3.t
    vendor/perl/dist/ext/Safe/t/safeload.t
    vendor/perl/dist/ext/Safe/t/safeops.t
    vendor/perl/dist/ext/Safe/t/safeuniversal.t
    vendor/perl/dist/ext/Socket/Makefile.PL
    vendor/perl/dist/ext/Socket/Socket.pm
    vendor/perl/dist/ext/Socket/Socket.xs
    vendor/perl/dist/ext/Socket/t/Socket.t
    vendor/perl/dist/ext/Socket/t/getaddrinfo.t
    vendor/perl/dist/ext/Socket/t/getnameinfo.t
    vendor/perl/dist/ext/Socket/t/socketpair.t
    vendor/perl/dist/ext/Storable/ChangeLog
    vendor/perl/dist/ext/Storable/Makefile.PL
    vendor/perl/dist/ext/Storable/README
    vendor/perl/dist/ext/Storable/Storable.pm
    vendor/perl/dist/ext/Storable/Storable.xs
    vendor/perl/dist/ext/Storable/hints/gnukfreebsd.pl
    vendor/perl/dist/ext/Storable/hints/gnuknetbsd.pl
    vendor/perl/dist/ext/Storable/hints/hpux.pl
    vendor/perl/dist/ext/Storable/hints/linux.pl
    vendor/perl/dist/ext/Storable/t/HAS_ATTACH.pm
    vendor/perl/dist/ext/Storable/t/HAS_HOOK.pm
    vendor/perl/dist/ext/Storable/t/HAS_OVERLOAD.pm
    vendor/perl/dist/ext/Storable/t/attach_errors.t
    vendor/perl/dist/ext/Storable/t/attach_singleton.t
    vendor/perl/dist/ext/Storable/t/blessed.t
    vendor/perl/dist/ext/Storable/t/canonical.t
    vendor/perl/dist/ext/Storable/t/circular_hook.t
    vendor/perl/dist/ext/Storable/t/code.t
    vendor/perl/dist/ext/Storable/t/compat01.t
    vendor/perl/dist/ext/Storable/t/compat06.t
    vendor/perl/dist/ext/Storable/t/croak.t
    vendor/perl/dist/ext/Storable/t/dclone.t
    vendor/perl/dist/ext/Storable/t/downgrade.t
    vendor/perl/dist/ext/Storable/t/file_magic.t
    vendor/perl/dist/ext/Storable/t/forgive.t
    vendor/perl/dist/ext/Storable/t/freeze.t
    vendor/perl/dist/ext/Storable/t/integer.t
    vendor/perl/dist/ext/Storable/t/interwork56.t
    vendor/perl/dist/ext/Storable/t/just_plain_nasty.t
    vendor/perl/dist/ext/Storable/t/lock.t
    vendor/perl/dist/ext/Storable/t/make_56_interwork.pl
    vendor/perl/dist/ext/Storable/t/make_downgrade.pl
    vendor/perl/dist/ext/Storable/t/make_overload.pl
    vendor/perl/dist/ext/Storable/t/malice.t
    vendor/perl/dist/ext/Storable/t/overload.t
    vendor/perl/dist/ext/Storable/t/recurse.t
    vendor/perl/dist/ext/Storable/t/restrict.t
    vendor/perl/dist/ext/Storable/t/retrieve.t
    vendor/perl/dist/ext/Storable/t/sig_die.t
    vendor/perl/dist/ext/Storable/t/st-dump.pl
    vendor/perl/dist/ext/Storable/t/store.t
    vendor/perl/dist/ext/Storable/t/testlib.pl
    vendor/perl/dist/ext/Storable/t/threads.t
    vendor/perl/dist/ext/Storable/t/tied.t
    vendor/perl/dist/ext/Storable/t/tied_hook.t
    vendor/perl/dist/ext/Storable/t/tied_items.t
    vendor/perl/dist/ext/Storable/t/utf8.t
    vendor/perl/dist/ext/Storable/t/utf8hash.t
    vendor/perl/dist/ext/Storable/t/weak.t
    vendor/perl/dist/ext/Sys/Hostname/Hostname.pm
    vendor/perl/dist/ext/Sys/Hostname/Hostname.xs
    vendor/perl/dist/ext/Sys/Hostname/Makefile.PL
    vendor/perl/dist/ext/Sys/Hostname/t/Hostname.t
    vendor/perl/dist/ext/Sys/Syslog/Makefile.PL
    vendor/perl/dist/ext/Sys/Syslog/README
    vendor/perl/dist/ext/Sys/Syslog/Syslog.pm
    vendor/perl/dist/ext/Sys/Syslog/Syslog.xs
    vendor/perl/dist/ext/Sys/Syslog/fallback/const-c.inc
    vendor/perl/dist/ext/Sys/Syslog/fallback/const-xs.inc
    vendor/perl/dist/ext/Sys/Syslog/t/00-load.t
    vendor/perl/dist/ext/Sys/Syslog/t/constants.t
    vendor/perl/dist/ext/Sys/Syslog/t/syslog.t
    vendor/perl/dist/ext/Sys-Hostname/Hostname.pm
    vendor/perl/dist/ext/Sys-Hostname/Hostname.xs
    vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t
    vendor/perl/dist/ext/Sys-Syslog/Makefile.PL
    vendor/perl/dist/ext/Sys-Syslog/README
    vendor/perl/dist/ext/Sys-Syslog/Syslog.pm
    vendor/perl/dist/ext/Sys-Syslog/Syslog.xs
    vendor/perl/dist/ext/Sys-Syslog/fallback/const-c.inc
    vendor/perl/dist/ext/Sys-Syslog/fallback/const-xs.inc
    vendor/perl/dist/ext/Sys-Syslog/fallback/syslog.h
    vendor/perl/dist/ext/Sys-Syslog/t/00-load.t
    vendor/perl/dist/ext/Sys-Syslog/t/constants.t
    vendor/perl/dist/ext/Sys-Syslog/t/syslog.t
    vendor/perl/dist/ext/Test-Harness/bin/prove
    vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result/Test.pm
    vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result.pm
    vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State.pm
    vendor/perl/dist/ext/Test-Harness/lib/App/Prove.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Base.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Base.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Color.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/Session.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File/Session.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Session.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Harness.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Object.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Aggregator.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Grammar.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Multiplexer.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Comment.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Plan.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Test.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Version.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/YAML.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/ResultFactory.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source/Perl.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Utils.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
    vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser.pm
    vendor/perl/dist/ext/Test-Harness/lib/Test/Harness.pm
    vendor/perl/dist/ext/Test-Harness/t/000-load.t
    vendor/perl/dist/ext/Test-Harness/t/aggregator.t
    vendor/perl/dist/ext/Test-Harness/t/bailout.t
    vendor/perl/dist/ext/Test-Harness/t/base.t
    vendor/perl/dist/ext/Test-Harness/t/callbacks.t
    vendor/perl/dist/ext/Test-Harness/t/compat/env.t
    vendor/perl/dist/ext/Test-Harness/t/compat/failure.t
    vendor/perl/dist/ext/Test-Harness/t/compat/inc-propagation.t
    vendor/perl/dist/ext/Test-Harness/t/compat/inc_taint.t
    vendor/perl/dist/ext/Test-Harness/t/compat/nonumbers.t
    vendor/perl/dist/ext/Test-Harness/t/compat/regression.t
    vendor/perl/dist/ext/Test-Harness/t/compat/switches.t
    vendor/perl/dist/ext/Test-Harness/t/compat/test-harness-compat.t
    vendor/perl/dist/ext/Test-Harness/t/compat/version.t
    vendor/perl/dist/ext/Test-Harness/t/console.t
    vendor/perl/dist/ext/Test-Harness/t/data/catme.1
    vendor/perl/dist/ext/Test-Harness/t/data/proverc
    vendor/perl/dist/ext/Test-Harness/t/data/sample.yml
    vendor/perl/dist/ext/Test-Harness/t/errors.t
    vendor/perl/dist/ext/Test-Harness/t/file.t
    vendor/perl/dist/ext/Test-Harness/t/glob-to-regexp.t
    vendor/perl/dist/ext/Test-Harness/t/grammar.t
    vendor/perl/dist/ext/Test-Harness/t/harness-bailout.t
    vendor/perl/dist/ext/Test-Harness/t/harness-subclass.t
    vendor/perl/dist/ext/Test-Harness/t/harness.t
    vendor/perl/dist/ext/Test-Harness/t/iterators.t
    vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/Dev/Null.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/EmptyParser.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/IO/c55Capture.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/MyCustom.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/MyGrammar.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/MyIterator.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/MyIteratorFactory.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/MyPerlSource.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/MyResult.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/MyResultFactory.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/MySource.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/NOP.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/NoFork.pm
    vendor/perl/dist/ext/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm
    vendor/perl/dist/ext/Test-Harness/t/multiplexer.t
    vendor/perl/dist/ext/Test-Harness/t/nofork-mux.t
    vendor/perl/dist/ext/Test-Harness/t/nofork.t
    vendor/perl/dist/ext/Test-Harness/t/object.t
    vendor/perl/dist/ext/Test-Harness/t/parse.t
    vendor/perl/dist/ext/Test-Harness/t/parser-config.t
    vendor/perl/dist/ext/Test-Harness/t/parser-subclass.t
    vendor/perl/dist/ext/Test-Harness/t/perl5lib.t
    vendor/perl/dist/ext/Test-Harness/t/premature-bailout.t
    vendor/perl/dist/ext/Test-Harness/t/process.t
    vendor/perl/dist/ext/Test-Harness/t/prove.t
    vendor/perl/dist/ext/Test-Harness/t/proveenv.t
    vendor/perl/dist/ext/Test-Harness/t/proverc/emptyexec
    vendor/perl/dist/ext/Test-Harness/t/proverc.t
    vendor/perl/dist/ext/Test-Harness/t/proverun.t
    vendor/perl/dist/ext/Test-Harness/t/regression.t
    vendor/perl/dist/ext/Test-Harness/t/results.t
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/bailout
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum_many
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined_compat
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/delayed
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive_trailing
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/die
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_head_end
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_last_minute
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_unfinished
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/duplicates
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/echo
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/empty
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_eol
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_hash
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_end
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_fail
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/inc_taint
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/junk_before_plan
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/lone_not_bug
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_nums
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_output
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_err_mix
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_of_order
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern-todo-quiet
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/segfault
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/sequence_misparse
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/shbang_misparse
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_fail
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_yaml
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip_nomsg
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_nomsg
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_v13
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/space_after_plan
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/stdout_stderr
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/strict
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/switches
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint_warn
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_inline
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_misparse
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/too_many
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_good
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_late
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_old
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/with_comments
    vendor/perl/dist/ext/Test-Harness/t/sample-tests/zero_valid
    vendor/perl/dist/ext/Test-Harness/t/scheduler.t
    vendor/perl/dist/ext/Test-Harness/t/source.t
    vendor/perl/dist/ext/Test-Harness/t/source_tests/harness
    vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_badtap
    vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_complain
    vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_directives
    vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_failure
    vendor/perl/dist/ext/Test-Harness/t/source_tests/source
    vendor/perl/dist/ext/Test-Harness/t/spool.t
    vendor/perl/dist/ext/Test-Harness/t/state.t
    vendor/perl/dist/ext/Test-Harness/t/state_results.t
    vendor/perl/dist/ext/Test-Harness/t/streams.t
    vendor/perl/dist/ext/Test-Harness/t/subclass_tests/non_perl_source
    vendor/perl/dist/ext/Test-Harness/t/subclass_tests/perl_source
    vendor/perl/dist/ext/Test-Harness/t/taint.t
    vendor/perl/dist/ext/Test-Harness/t/testargs.t
    vendor/perl/dist/ext/Test-Harness/t/unicode.t
    vendor/perl/dist/ext/Test-Harness/t/utils.t
    vendor/perl/dist/ext/Test-Harness/t/yamlish-output.t
    vendor/perl/dist/ext/Test-Harness/t/yamlish-writer.t
    vendor/perl/dist/ext/Test-Harness/t/yamlish.t
    vendor/perl/dist/ext/Text/Soundex/Makefile.PL
    vendor/perl/dist/ext/Text/Soundex/README
    vendor/perl/dist/ext/Text/Soundex/Soundex.pm
    vendor/perl/dist/ext/Text/Soundex/Soundex.xs
    vendor/perl/dist/ext/Text/Soundex/t/Soundex.t
    vendor/perl/dist/ext/Text-Soundex/README
    vendor/perl/dist/ext/Text-Soundex/Soundex.pm
    vendor/perl/dist/ext/Text-Soundex/Soundex.xs
    vendor/perl/dist/ext/Text-Soundex/t/Soundex.t
    vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.pm
    vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.xs
    vendor/perl/dist/ext/Tie-Hash-NamedCapture/t/tiehash.t
    vendor/perl/dist/ext/Tie-Memoize/lib/Tie/Memoize.pm
    vendor/perl/dist/ext/Tie-Memoize/t/Tie-Memoize.t
    vendor/perl/dist/ext/Time/HiRes/HiRes.pm
    vendor/perl/dist/ext/Time/HiRes/HiRes.xs
    vendor/perl/dist/ext/Time/HiRes/Makefile.PL
    vendor/perl/dist/ext/Time/HiRes/fallback/const-c.inc
    vendor/perl/dist/ext/Time/HiRes/fallback/const-xs.inc
    vendor/perl/dist/ext/Time/HiRes/hints/aix.pl
    vendor/perl/dist/ext/Time/HiRes/hints/dec_osf.pl
    vendor/perl/dist/ext/Time/HiRes/hints/dynixptx.pl
    vendor/perl/dist/ext/Time/HiRes/hints/irix.pl
    vendor/perl/dist/ext/Time/HiRes/hints/linux.pl
    vendor/perl/dist/ext/Time/HiRes/hints/sco.pl
    vendor/perl/dist/ext/Time/HiRes/hints/solaris.pl
    vendor/perl/dist/ext/Time/HiRes/hints/svr4.pl
    vendor/perl/dist/ext/Time/HiRes/t/HiRes.t
    vendor/perl/dist/ext/Time/HiRes/typemap
    vendor/perl/dist/ext/Time/Piece/Makefile.PL
    vendor/perl/dist/ext/Time/Piece/Piece.pm
    vendor/perl/dist/ext/Time/Piece/Piece.xs
    vendor/perl/dist/ext/Time/Piece/README
    vendor/perl/dist/ext/Time/Piece/Seconds.pm
    vendor/perl/dist/ext/Time/Piece/t/01base.t
    vendor/perl/dist/ext/Time/Piece/t/02core.t
    vendor/perl/dist/ext/Time/Piece/t/03compare.t
    vendor/perl/dist/ext/Time/Piece/t/04mjd.t
    vendor/perl/dist/ext/Time/Piece/t/05overload.t
    vendor/perl/dist/ext/Time/Piece/t/06subclass.t
    vendor/perl/dist/ext/Time-HiRes/HiRes.pm
    vendor/perl/dist/ext/Time-HiRes/HiRes.xs
    vendor/perl/dist/ext/Time-HiRes/Makefile.PL
    vendor/perl/dist/ext/Time-HiRes/fallback/const-c.inc
    vendor/perl/dist/ext/Time-HiRes/fallback/const-xs.inc
    vendor/perl/dist/ext/Time-HiRes/hints/aix.pl
    vendor/perl/dist/ext/Time-HiRes/hints/dec_osf.pl
    vendor/perl/dist/ext/Time-HiRes/hints/dynixptx.pl
    vendor/perl/dist/ext/Time-HiRes/hints/irix.pl
    vendor/perl/dist/ext/Time-HiRes/hints/linux.pl
    vendor/perl/dist/ext/Time-HiRes/hints/sco.pl
    vendor/perl/dist/ext/Time-HiRes/hints/solaris.pl
    vendor/perl/dist/ext/Time-HiRes/hints/svr4.pl
    vendor/perl/dist/ext/Time-HiRes/t/HiRes.t
    vendor/perl/dist/ext/Time-HiRes/typemap
    vendor/perl/dist/ext/Time-Piece/Makefile.PL
    vendor/perl/dist/ext/Time-Piece/Piece.pm
    vendor/perl/dist/ext/Time-Piece/Piece.xs
    vendor/perl/dist/ext/Time-Piece/README
    vendor/perl/dist/ext/Time-Piece/Seconds.pm
    vendor/perl/dist/ext/Time-Piece/t/01base.t
    vendor/perl/dist/ext/Time-Piece/t/02core.t
    vendor/perl/dist/ext/Time-Piece/t/03compare.t
    vendor/perl/dist/ext/Time-Piece/t/04mjd.t
    vendor/perl/dist/ext/Time-Piece/t/05overload.t
    vendor/perl/dist/ext/Time-Piece/t/06subclass.t
    vendor/perl/dist/ext/Time-Piece/t/07arith.t
    vendor/perl/dist/ext/Unicode/Normalize/Makefile.PL
    vendor/perl/dist/ext/Unicode/Normalize/Normalize.pm
    vendor/perl/dist/ext/Unicode/Normalize/Normalize.xs
    vendor/perl/dist/ext/Unicode/Normalize/README
    vendor/perl/dist/ext/Unicode/Normalize/mkheader
    vendor/perl/dist/ext/Unicode/Normalize/t/fcdc.t
    vendor/perl/dist/ext/Unicode/Normalize/t/form.t
    vendor/perl/dist/ext/Unicode/Normalize/t/func.t
    vendor/perl/dist/ext/Unicode/Normalize/t/illegal.t
    vendor/perl/dist/ext/Unicode/Normalize/t/norm.t
    vendor/perl/dist/ext/Unicode/Normalize/t/null.t
    vendor/perl/dist/ext/Unicode/Normalize/t/proto.t
    vendor/perl/dist/ext/Unicode/Normalize/t/split.t
    vendor/perl/dist/ext/Unicode/Normalize/t/test.t
    vendor/perl/dist/ext/Unicode/Normalize/t/tie.t
    vendor/perl/dist/ext/Unicode-Normalize/Makefile.PL
    vendor/perl/dist/ext/Unicode-Normalize/Normalize.pm
    vendor/perl/dist/ext/Unicode-Normalize/Normalize.xs
    vendor/perl/dist/ext/Unicode-Normalize/README
    vendor/perl/dist/ext/Unicode-Normalize/mkheader
    vendor/perl/dist/ext/Unicode-Normalize/t/fcdc.t
    vendor/perl/dist/ext/Unicode-Normalize/t/form.t
    vendor/perl/dist/ext/Unicode-Normalize/t/func.t
    vendor/perl/dist/ext/Unicode-Normalize/t/illegal.t
    vendor/perl/dist/ext/Unicode-Normalize/t/norm.t
    vendor/perl/dist/ext/Unicode-Normalize/t/null.t
    vendor/perl/dist/ext/Unicode-Normalize/t/proto.t
    vendor/perl/dist/ext/Unicode-Normalize/t/split.t
    vendor/perl/dist/ext/Unicode-Normalize/t/test.t
    vendor/perl/dist/ext/Unicode-Normalize/t/tie.t
    vendor/perl/dist/ext/VMS-DCLsym/0README.txt
    vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm
    vendor/perl/dist/ext/VMS-DCLsym/DCLsym.xs
    vendor/perl/dist/ext/VMS-DCLsym/Makefile.PL
    vendor/perl/dist/ext/VMS-DCLsym/t/vms_dclsym.t
    vendor/perl/dist/ext/VMS-Stdio/0README.txt
    vendor/perl/dist/ext/VMS-Stdio/Makefile.PL
    vendor/perl/dist/ext/VMS-Stdio/Stdio.pm
    vendor/perl/dist/ext/VMS-Stdio/Stdio.xs
    vendor/perl/dist/ext/VMS-Stdio/t/vms_stdio.t
    vendor/perl/dist/ext/Win32/Makefile.PL
    vendor/perl/dist/ext/Win32/Win32.pm
    vendor/perl/dist/ext/Win32/Win32.xs
    vendor/perl/dist/ext/Win32/longpath.inc
    vendor/perl/dist/ext/Win32/t/CreateFile.t
    vendor/perl/dist/ext/Win32/t/ExpandEnvironmentStrings.t
    vendor/perl/dist/ext/Win32/t/GetCurrentThreadId.t
    vendor/perl/dist/ext/Win32/t/GetFileVersion.t
    vendor/perl/dist/ext/Win32/t/GetFolderPath.t
    vendor/perl/dist/ext/Win32/t/GetFullPathName.t
    vendor/perl/dist/ext/Win32/t/GetLongPathName.t
    vendor/perl/dist/ext/Win32/t/GetOSName.t
    vendor/perl/dist/ext/Win32/t/GetOSVersion.t
    vendor/perl/dist/ext/Win32/t/GetShortPathName.t
    vendor/perl/dist/ext/Win32/t/GuidGen.t
    vendor/perl/dist/ext/Win32/t/Names.t
    vendor/perl/dist/ext/Win32/t/Unicode.t
    vendor/perl/dist/ext/Win32API/File/ExtUtils/Myconst2perl.pm
    vendor/perl/dist/ext/Win32API/File/File.pm
    vendor/perl/dist/ext/Win32API/File/File.xs
    vendor/perl/dist/ext/Win32API/File/Makefile.PL
    vendor/perl/dist/ext/Win32API/File/README
    vendor/perl/dist/ext/Win32API/File/buffers.h
    vendor/perl/dist/ext/Win32API/File/cFile.h
    vendor/perl/dist/ext/Win32API/File/cFile.pc
    vendor/perl/dist/ext/Win32API/File/const2perl.h
    vendor/perl/dist/ext/Win32API/File/t/file.t
    vendor/perl/dist/ext/Win32API/File/t/tie.t
    vendor/perl/dist/ext/Win32API/File/typemap
    vendor/perl/dist/ext/Win32API-File/ExtUtils/Myconst2perl.pm
    vendor/perl/dist/ext/Win32API-File/File.pm
    vendor/perl/dist/ext/Win32API-File/File.xs
    vendor/perl/dist/ext/Win32API-File/Makefile.PL
    vendor/perl/dist/ext/Win32API-File/README
    vendor/perl/dist/ext/Win32API-File/buffers.h
    vendor/perl/dist/ext/Win32API-File/cFile.h
    vendor/perl/dist/ext/Win32API-File/cFile.pc
    vendor/perl/dist/ext/Win32API-File/const2perl.h
    vendor/perl/dist/ext/Win32API-File/t/file.t
    vendor/perl/dist/ext/Win32API-File/t/tie.t
    vendor/perl/dist/ext/Win32API-File/typemap
    vendor/perl/dist/ext/Win32CORE/Makefile.PL
    vendor/perl/dist/ext/Win32CORE/Win32CORE.c
    vendor/perl/dist/ext/Win32CORE/Win32CORE.pm
    vendor/perl/dist/ext/Win32CORE/t/win32core.t
    vendor/perl/dist/ext/XS/APItest/APItest.pm
    vendor/perl/dist/ext/XS/APItest/APItest.xs
    vendor/perl/dist/ext/XS/APItest/Makefile.PL
    vendor/perl/dist/ext/XS/APItest/README
    vendor/perl/dist/ext/XS/APItest/core.c
    vendor/perl/dist/ext/XS/APItest/core_or_not.inc
    vendor/perl/dist/ext/XS/APItest/exception.c
    vendor/perl/dist/ext/XS/APItest/notcore.c
    vendor/perl/dist/ext/XS/APItest/t/call.t
    vendor/perl/dist/ext/XS/APItest/t/exception.t
    vendor/perl/dist/ext/XS/APItest/t/hash.t
    vendor/perl/dist/ext/XS/APItest/t/my_cxt.t
    vendor/perl/dist/ext/XS/APItest/t/op.t
    vendor/perl/dist/ext/XS/APItest/t/printf.t
    vendor/perl/dist/ext/XS/APItest/t/push.t
    vendor/perl/dist/ext/XS/APItest/t/svsetsv.t
    vendor/perl/dist/ext/XS/APItest/t/xs_special_subs.t
    vendor/perl/dist/ext/XS/APItest/t/xs_special_subs_require.t
    vendor/perl/dist/ext/XS/Typemap/Makefile.PL
    vendor/perl/dist/ext/XS/Typemap/README
    vendor/perl/dist/ext/XS/Typemap/Typemap.pm
    vendor/perl/dist/ext/XS/Typemap/Typemap.xs
    vendor/perl/dist/ext/XS/Typemap/stdio.c
    vendor/perl/dist/ext/XS/Typemap/t/Typemap.t
    vendor/perl/dist/ext/XS/Typemap/typemap
    vendor/perl/dist/ext/XS-APItest/APItest.pm
    vendor/perl/dist/ext/XS-APItest/APItest.xs
    vendor/perl/dist/ext/XS-APItest/MANIFEST
    vendor/perl/dist/ext/XS-APItest/Makefile.PL
    vendor/perl/dist/ext/XS-APItest/README
    vendor/perl/dist/ext/XS-APItest/XSUB-redefined-macros.xs
    vendor/perl/dist/ext/XS-APItest/XSUB-undef-XS_VERSION.xs
    vendor/perl/dist/ext/XS-APItest/core.c
    vendor/perl/dist/ext/XS-APItest/core_or_not.inc
    vendor/perl/dist/ext/XS-APItest/exception.c
    vendor/perl/dist/ext/XS-APItest/notcore.c
    vendor/perl/dist/ext/XS-APItest/numeric.xs
    vendor/perl/dist/ext/XS-APItest/t/BHK.pm
    vendor/perl/dist/ext/XS-APItest/t/Block.pm
    vendor/perl/dist/ext/XS-APItest/t/Markers.pm
    vendor/perl/dist/ext/XS-APItest/t/Null.pm
    vendor/perl/dist/ext/XS-APItest/t/arrayexpr.t
    vendor/perl/dist/ext/XS-APItest/t/blockasexpr.t
    vendor/perl/dist/ext/XS-APItest/t/blockhooks-csc.t
    vendor/perl/dist/ext/XS-APItest/t/blockhooks.t
    vendor/perl/dist/ext/XS-APItest/t/call.t
    vendor/perl/dist/ext/XS-APItest/t/call_checker.t
    vendor/perl/dist/ext/XS-APItest/t/caller.t
    vendor/perl/dist/ext/XS-APItest/t/cleanup.t
    vendor/perl/dist/ext/XS-APItest/t/cophh.t
    vendor/perl/dist/ext/XS-APItest/t/copyhints.t
    vendor/perl/dist/ext/XS-APItest/t/customop.t
    vendor/perl/dist/ext/XS-APItest/t/eval-filter.t
    vendor/perl/dist/ext/XS-APItest/t/exception.t
    vendor/perl/dist/ext/XS-APItest/t/grok.t
    vendor/perl/dist/ext/XS-APItest/t/hash.t
    vendor/perl/dist/ext/XS-APItest/t/keyword_multiline.t
    vendor/perl/dist/ext/XS-APItest/t/keyword_plugin.t
    vendor/perl/dist/ext/XS-APItest/t/labelconst.aux
    vendor/perl/dist/ext/XS-APItest/t/labelconst.t
    vendor/perl/dist/ext/XS-APItest/t/loopblock.t
    vendor/perl/dist/ext/XS-APItest/t/looprest.t
    vendor/perl/dist/ext/XS-APItest/t/magic.t
    vendor/perl/dist/ext/XS-APItest/t/magic_chain.t
    vendor/perl/dist/ext/XS-APItest/t/multicall.t
    vendor/perl/dist/ext/XS-APItest/t/my_cxt.t
    vendor/perl/dist/ext/XS-APItest/t/my_exit.t
    vendor/perl/dist/ext/XS-APItest/t/op.t
    vendor/perl/dist/ext/XS-APItest/t/op_contextualize.t
    vendor/perl/dist/ext/XS-APItest/t/op_list.t
    vendor/perl/dist/ext/XS-APItest/t/overload.t
    vendor/perl/dist/ext/XS-APItest/t/peep.t
    vendor/perl/dist/ext/XS-APItest/t/pmflag.t
    vendor/perl/dist/ext/XS-APItest/t/postinc.t
    vendor/perl/dist/ext/XS-APItest/t/printf.t
    vendor/perl/dist/ext/XS-APItest/t/ptr_table.t
    vendor/perl/dist/ext/XS-APItest/t/push.t
    vendor/perl/dist/ext/XS-APItest/t/refs.t
    vendor/perl/dist/ext/XS-APItest/t/rmagical.t
    vendor/perl/dist/ext/XS-APItest/t/rv2cv_op_cv.t
    vendor/perl/dist/ext/XS-APItest/t/savehints.t
    vendor/perl/dist/ext/XS-APItest/t/scopelessblock.t
    vendor/perl/dist/ext/XS-APItest/t/stmtasexpr.t
    vendor/perl/dist/ext/XS-APItest/t/stmtsasexpr.t
    vendor/perl/dist/ext/XS-APItest/t/stuff_modify_bug.t
    vendor/perl/dist/ext/XS-APItest/t/stuff_svcur_bug.t
    vendor/perl/dist/ext/XS-APItest/t/svpeek.t
    vendor/perl/dist/ext/XS-APItest/t/svpv_magic.t
    vendor/perl/dist/ext/XS-APItest/t/svsetsv.t
    vendor/perl/dist/ext/XS-APItest/t/swaplabel.t
    vendor/perl/dist/ext/XS-APItest/t/swaptwostmts.t
    vendor/perl/dist/ext/XS-APItest/t/temp_lv_sub.t
    vendor/perl/dist/ext/XS-APItest/t/utf16_to_utf8.t
    vendor/perl/dist/ext/XS-APItest/t/utf8.t
    vendor/perl/dist/ext/XS-APItest/t/xs_special_subs.t
    vendor/perl/dist/ext/XS-APItest/t/xs_special_subs_require.t
    vendor/perl/dist/ext/XS-APItest/t/xsub_h.t
    vendor/perl/dist/ext/XS-APItest/typemap
    vendor/perl/dist/ext/XS-Typemap/Makefile.PL
    vendor/perl/dist/ext/XS-Typemap/README
    vendor/perl/dist/ext/XS-Typemap/Typemap.pm
    vendor/perl/dist/ext/XS-Typemap/Typemap.xs
    vendor/perl/dist/ext/XS-Typemap/stdio.c
    vendor/perl/dist/ext/XS-Typemap/t/Typemap.t
    vendor/perl/dist/ext/XS-Typemap/typemap
    vendor/perl/dist/ext/attributes/attributes.pm
    vendor/perl/dist/ext/attributes/attributes.xs
    vendor/perl/dist/ext/attrs/Makefile.PL
    vendor/perl/dist/ext/attrs/attrs.pm
    vendor/perl/dist/ext/attrs/attrs.xs
    vendor/perl/dist/ext/attrs/t/attrs.t
    vendor/perl/dist/ext/mro/Changes
    vendor/perl/dist/ext/mro/mro.pm
    vendor/perl/dist/ext/mro/mro.xs
    vendor/perl/dist/ext/mro/t/pluggable.t
    vendor/perl/dist/ext/re/Makefile.PL
    vendor/perl/dist/ext/re/hints/mpeix.pl
    vendor/perl/dist/ext/re/re.pm
    vendor/perl/dist/ext/re/re.xs
    vendor/perl/dist/ext/re/re_comp.h
    vendor/perl/dist/ext/re/re_top.h
    vendor/perl/dist/ext/re/t/lexical_debug.pl
    vendor/perl/dist/ext/re/t/lexical_debug.t
    vendor/perl/dist/ext/re/t/qr.t
    vendor/perl/dist/ext/re/t/re.t
    vendor/perl/dist/ext/re/t/re_funcs.t
    vendor/perl/dist/ext/re/t/re_funcs_u.t
    vendor/perl/dist/ext/re/t/reflags.t
    vendor/perl/dist/ext/re/t/regop.pl
    vendor/perl/dist/ext/re/t/regop.t
    vendor/perl/dist/ext/threads/Makefile.PL
    vendor/perl/dist/ext/threads/hints/hpux.pl
    vendor/perl/dist/ext/threads/hints/linux.pl
    vendor/perl/dist/ext/threads/shared/Makefile.PL
    vendor/perl/dist/ext/threads/shared/hints/linux.pl
    vendor/perl/dist/ext/threads/shared/shared.pm
    vendor/perl/dist/ext/threads/shared/shared.xs
    vendor/perl/dist/ext/threads/shared/t/0nothread.t
    vendor/perl/dist/ext/threads/shared/t/av_refs.t
    vendor/perl/dist/ext/threads/shared/t/av_simple.t
    vendor/perl/dist/ext/threads/shared/t/blessed.t
    vendor/perl/dist/ext/threads/shared/t/cond.t
    vendor/perl/dist/ext/threads/shared/t/disabled.t
    vendor/perl/dist/ext/threads/shared/t/hv_refs.t
    vendor/perl/dist/ext/threads/shared/t/hv_simple.t
    vendor/perl/dist/ext/threads/shared/t/no_share.t
    vendor/perl/dist/ext/threads/shared/t/shared_attr.t
    vendor/perl/dist/ext/threads/shared/t/stress.t
    vendor/perl/dist/ext/threads/shared/t/sv_refs.t
    vendor/perl/dist/ext/threads/shared/t/sv_simple.t
    vendor/perl/dist/ext/threads/shared/t/wait.t
    vendor/perl/dist/ext/threads/shared/t/waithires.t
    vendor/perl/dist/ext/threads/t/basic.t
    vendor/perl/dist/ext/threads/t/blocks.t
    vendor/perl/dist/ext/threads/t/context.t
    vendor/perl/dist/ext/threads/t/end.t
    vendor/perl/dist/ext/threads/t/err.t
    vendor/perl/dist/ext/threads/t/exit.t
    vendor/perl/dist/ext/threads/t/free.t
    vendor/perl/dist/ext/threads/t/free2.t
    vendor/perl/dist/ext/threads/t/join.t
    vendor/perl/dist/ext/threads/t/kill.t
    vendor/perl/dist/ext/threads/t/libc.t
    vendor/perl/dist/ext/threads/t/list.t
    vendor/perl/dist/ext/threads/t/problems.t
    vendor/perl/dist/ext/threads/t/stack.t
    vendor/perl/dist/ext/threads/t/stack_env.t
    vendor/perl/dist/ext/threads/t/state.t
    vendor/perl/dist/ext/threads/t/stress_cv.t
    vendor/perl/dist/ext/threads/t/stress_re.t
    vendor/perl/dist/ext/threads/t/stress_string.t
    vendor/perl/dist/ext/threads/t/thread.t
    vendor/perl/dist/ext/threads/threads.pm
    vendor/perl/dist/ext/threads/threads.xs
    vendor/perl/dist/ext/threads-shared/Makefile.PL
    vendor/perl/dist/ext/threads-shared/hints/linux.pl
    vendor/perl/dist/ext/threads-shared/shared.pm
    vendor/perl/dist/ext/threads-shared/shared.xs
    vendor/perl/dist/ext/threads-shared/t/0nothread.t
    vendor/perl/dist/ext/threads-shared/t/av_refs.t
    vendor/perl/dist/ext/threads-shared/t/av_simple.t
    vendor/perl/dist/ext/threads-shared/t/blessed.t
    vendor/perl/dist/ext/threads-shared/t/clone.t
    vendor/perl/dist/ext/threads-shared/t/cond.t
    vendor/perl/dist/ext/threads-shared/t/disabled.t
    vendor/perl/dist/ext/threads-shared/t/hv_refs.t
    vendor/perl/dist/ext/threads-shared/t/hv_simple.t
    vendor/perl/dist/ext/threads-shared/t/no_share.t
    vendor/perl/dist/ext/threads-shared/t/object.t
    vendor/perl/dist/ext/threads-shared/t/shared_attr.t
    vendor/perl/dist/ext/threads-shared/t/stress.t
    vendor/perl/dist/ext/threads-shared/t/sv_refs.t
    vendor/perl/dist/ext/threads-shared/t/sv_simple.t
    vendor/perl/dist/ext/threads-shared/t/utf8.t
    vendor/perl/dist/ext/threads-shared/t/wait.t
    vendor/perl/dist/ext/threads-shared/t/waithires.t
    vendor/perl/dist/ext/util/make_ext
    vendor/perl/dist/ext/util/make_ext_cross
    vendor/perl/dist/fakesdio.h
    vendor/perl/dist/fakethr.h
    vendor/perl/dist/form.h
    vendor/perl/dist/generate_uudmap.c
    vendor/perl/dist/genpacksizetables.pl
    vendor/perl/dist/globals.c
    vendor/perl/dist/globvar.sym
    vendor/perl/dist/gv.c
    vendor/perl/dist/gv.h
    vendor/perl/dist/h2pl/README
    vendor/perl/dist/h2pl/cbreak.pl
    vendor/perl/dist/h2pl/cbreak2.pl
    vendor/perl/dist/h2pl/eg/sizeof.ph
    vendor/perl/dist/h2pl/eg/sys/errno.pl
    vendor/perl/dist/h2pl/eg/sys/ioctl.pl
    vendor/perl/dist/h2pl/eg/sysexits.pl
    vendor/perl/dist/h2pl/getioctlsizes
    vendor/perl/dist/h2pl/mksizes
    vendor/perl/dist/h2pl/mkvars
    vendor/perl/dist/h2pl/tcbreak
    vendor/perl/dist/h2pl/tcbreak2
    vendor/perl/dist/haiku/Haiku/Haiku.pm
    vendor/perl/dist/haiku/Haiku/Haiku.xs
    vendor/perl/dist/haiku/Haiku/Makefile.PL
    vendor/perl/dist/haiku/haikuish.h
    vendor/perl/dist/handy.h
    vendor/perl/dist/hints/3b1.sh
    vendor/perl/dist/hints/3b1cc
    vendor/perl/dist/hints/README.hints
    vendor/perl/dist/hints/aix.sh
    vendor/perl/dist/hints/aix_3.sh
    vendor/perl/dist/hints/aix_4.sh
    vendor/perl/dist/hints/altos486.sh
    vendor/perl/dist/hints/amigaos.sh
    vendor/perl/dist/hints/atheos.sh
    vendor/perl/dist/hints/aux_3.sh
    vendor/perl/dist/hints/beos.sh
    vendor/perl/dist/hints/broken-db.msg
    vendor/perl/dist/hints/bsdos.sh
    vendor/perl/dist/hints/catamount.sh
    vendor/perl/dist/hints/convexos.sh
    vendor/perl/dist/hints/cxux.sh
    vendor/perl/dist/hints/cygwin.sh
    vendor/perl/dist/hints/darwin.sh
    vendor/perl/dist/hints/dcosx.sh
    vendor/perl/dist/hints/dec_osf.sh
    vendor/perl/dist/hints/dgux.sh
    vendor/perl/dist/hints/dos_djgpp.sh
    vendor/perl/dist/hints/dragonfly.sh
    vendor/perl/dist/hints/dynix.sh
    vendor/perl/dist/hints/dynixptx.sh
    vendor/perl/dist/hints/epix.sh
    vendor/perl/dist/hints/esix4.sh
    vendor/perl/dist/hints/fps.sh
    vendor/perl/dist/hints/freebsd.sh
    vendor/perl/dist/hints/genix.sh
    vendor/perl/dist/hints/gnu.sh
    vendor/perl/dist/hints/gnukfreebsd.sh
    vendor/perl/dist/hints/gnuknetbsd.sh
    vendor/perl/dist/hints/greenhills.sh
    vendor/perl/dist/hints/haiku.sh
    vendor/perl/dist/hints/hpux.sh
    vendor/perl/dist/hints/i386.sh
    vendor/perl/dist/hints/interix.sh
    vendor/perl/dist/hints/irix_4.sh
    vendor/perl/dist/hints/irix_5.sh
    vendor/perl/dist/hints/irix_6.sh
    vendor/perl/dist/hints/irix_6_0.sh
    vendor/perl/dist/hints/irix_6_1.sh
    vendor/perl/dist/hints/isc.sh
    vendor/perl/dist/hints/isc_2.sh
    vendor/perl/dist/hints/linux.sh
    vendor/perl/dist/hints/lynxos.sh
    vendor/perl/dist/hints/machten.sh
    vendor/perl/dist/hints/machten_2.sh
    vendor/perl/dist/hints/midnightbsd.sh
    vendor/perl/dist/hints/mips.sh
    vendor/perl/dist/hints/mirbsd.sh
    vendor/perl/dist/hints/mpc.sh
    vendor/perl/dist/hints/mpeix.sh
    vendor/perl/dist/hints/ncr_tower.sh
    vendor/perl/dist/hints/netbsd.sh
    vendor/perl/dist/hints/newsos4.sh
    vendor/perl/dist/hints/next_3.sh
    vendor/perl/dist/hints/next_3_0.sh
    vendor/perl/dist/hints/next_4.sh
    vendor/perl/dist/hints/nonstopux.sh
    vendor/perl/dist/hints/openbsd.sh
    vendor/perl/dist/hints/opus.sh
    vendor/perl/dist/hints/os2.sh
    vendor/perl/dist/hints/os390.sh
    vendor/perl/dist/hints/os400.sh
    vendor/perl/dist/hints/posix-bc.sh
    vendor/perl/dist/hints/powerux.sh
    vendor/perl/dist/hints/qnx.sh
    vendor/perl/dist/hints/rhapsody.sh
    vendor/perl/dist/hints/riscos.sh
    vendor/perl/dist/hints/sco.sh
    vendor/perl/dist/hints/sco_2_3_0.sh
    vendor/perl/dist/hints/sco_2_3_1.sh
    vendor/perl/dist/hints/sco_2_3_2.sh
    vendor/perl/dist/hints/sco_2_3_3.sh
    vendor/perl/dist/hints/sco_2_3_4.sh
    vendor/perl/dist/hints/solaris_2.sh
    vendor/perl/dist/hints/stellar.sh
    vendor/perl/dist/hints/sunos_4_0.sh
    vendor/perl/dist/hints/sunos_4_1.sh
    vendor/perl/dist/hints/super-ux.sh
    vendor/perl/dist/hints/svr4.sh
    vendor/perl/dist/hints/svr5.sh
    vendor/perl/dist/hints/t001.c
    vendor/perl/dist/hints/ti1500.sh
    vendor/perl/dist/hints/titanos.sh
    vendor/perl/dist/hints/ultrix_4.sh
    vendor/perl/dist/hints/umips.sh
    vendor/perl/dist/hints/unicos.sh
    vendor/perl/dist/hints/unicosmk.sh
    vendor/perl/dist/hints/unisysdynix.sh
    vendor/perl/dist/hints/utekv.sh
    vendor/perl/dist/hints/uts.sh
    vendor/perl/dist/hints/uwin.sh
    vendor/perl/dist/hints/vmesa.sh
    vendor/perl/dist/hints/vos.sh
    vendor/perl/dist/hv.c
    vendor/perl/dist/hv.h
    vendor/perl/dist/install_lib.pl
    vendor/perl/dist/installhtml
    vendor/perl/dist/installman
    vendor/perl/dist/installperl
    vendor/perl/dist/intrpvar.h
    vendor/perl/dist/iperlsys.h
    vendor/perl/dist/keywords.c
    vendor/perl/dist/keywords.h
    vendor/perl/dist/l1_char_class_tab.h
    vendor/perl/dist/lib/AnyDBM_File.pm
    vendor/perl/dist/lib/AnyDBM_File.t
    vendor/perl/dist/lib/Archive/Extract/t/01_Archive-Extract.t
    vendor/perl/dist/lib/Archive/Extract/t/src/double_dir.zip.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.Z.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.bz2.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.gz.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.jar.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.lzma.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.par.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.gz.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.tgz.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/x.zip.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/y.jar.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/y.par.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.bz2.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.gz.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/y.tbz.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/y.tgz.packed
    vendor/perl/dist/lib/Archive/Extract/t/src/y.zip.packed
    vendor/perl/dist/lib/Archive/Extract.pm
    vendor/perl/dist/lib/Archive/Tar/Constant.pm
    vendor/perl/dist/lib/Archive/Tar/File.pm
    vendor/perl/dist/lib/Archive/Tar/bin/ptar
    vendor/perl/dist/lib/Archive/Tar/bin/ptardiff
    vendor/perl/dist/lib/Archive/Tar/t/01_use.t
    vendor/perl/dist/lib/Archive/Tar/t/02_methods.t
    vendor/perl/dist/lib/Archive/Tar/t/03_file.t
    vendor/perl/dist/lib/Archive/Tar/t/04_resolved_issues.t
    vendor/perl/dist/lib/Archive/Tar/t/05_iter.t
    vendor/perl/dist/lib/Archive/Tar/t/90_symlink.t
    vendor/perl/dist/lib/Archive/Tar/t/99_pod.t
    vendor/perl/dist/lib/Archive/Tar/t/src/header/signed.tar.packed
    vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_missing_dir.tar.packed
    vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_with_dir.tar.packed
    vendor/perl/dist/lib/Archive/Tar/t/src/long/b
    vendor/perl/dist/lib/Archive/Tar/t/src/long/bar.tar.packed
    vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tbz.packed
    vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tgz.packed
    vendor/perl/dist/lib/Archive/Tar/t/src/short/b
    vendor/perl/dist/lib/Archive/Tar/t/src/short/bar.tar.packed
    vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tbz.packed
    vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tgz.packed
    vendor/perl/dist/lib/Archive/Tar.pm
    vendor/perl/dist/lib/Attribute/Handlers/README
    vendor/perl/dist/lib/Attribute/Handlers/demo/Demo.pm
    vendor/perl/dist/lib/Attribute/Handlers/demo/Descriptions.pm
    vendor/perl/dist/lib/Attribute/Handlers/demo/MyClass.pm
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo2.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo3.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo4.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo_call.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo_chain.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo_cycle.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo_hashdir.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo_phases.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo_range.pl
    vendor/perl/dist/lib/Attribute/Handlers/demo/demo_rawdata.pl
    vendor/perl/dist/lib/Attribute/Handlers/t/constants.t
    vendor/perl/dist/lib/Attribute/Handlers/t/data_convert.t
    vendor/perl/dist/lib/Attribute/Handlers/t/linerep.t
    vendor/perl/dist/lib/Attribute/Handlers/t/multi.t
    vendor/perl/dist/lib/Attribute/Handlers.pm
    vendor/perl/dist/lib/AutoLoader/t/01AutoLoader.t
    vendor/perl/dist/lib/AutoLoader/t/02AutoSplit.t
    vendor/perl/dist/lib/AutoLoader.pm
    vendor/perl/dist/lib/AutoLoader.t
    vendor/perl/dist/lib/AutoSplit.pm
    vendor/perl/dist/lib/AutoSplit.t
    vendor/perl/dist/lib/Benchmark.pm
    vendor/perl/dist/lib/Benchmark.t
    vendor/perl/dist/lib/CGI/Apache.pm
    vendor/perl/dist/lib/CGI/Carp.pm
    vendor/perl/dist/lib/CGI/Cookie.pm
    vendor/perl/dist/lib/CGI/Fast.pm
    vendor/perl/dist/lib/CGI/Pretty.pm
    vendor/perl/dist/lib/CGI/Push.pm
    vendor/perl/dist/lib/CGI/Switch.pm
    vendor/perl/dist/lib/CGI/Util.pm
    vendor/perl/dist/lib/CGI/eg/RunMeFirst
    vendor/perl/dist/lib/CGI/eg/caution.xbm
    vendor/perl/dist/lib/CGI/eg/clickable_image.cgi
    vendor/perl/dist/lib/CGI/eg/cookie.cgi
    vendor/perl/dist/lib/CGI/eg/crash.cgi
    vendor/perl/dist/lib/CGI/eg/customize.cgi
    vendor/perl/dist/lib/CGI/eg/diff_upload.cgi
    vendor/perl/dist/lib/CGI/eg/dna_small_gif.uu
    vendor/perl/dist/lib/CGI/eg/file_upload.cgi
    vendor/perl/dist/lib/CGI/eg/frameset.cgi
    vendor/perl/dist/lib/CGI/eg/index.html
    vendor/perl/dist/lib/CGI/eg/internal_links.cgi
    vendor/perl/dist/lib/CGI/eg/javascript.cgi
    vendor/perl/dist/lib/CGI/eg/make_links.pl
    vendor/perl/dist/lib/CGI/eg/monty.cgi
    vendor/perl/dist/lib/CGI/eg/multiple_forms.cgi
    vendor/perl/dist/lib/CGI/eg/nph-clock.cgi
    vendor/perl/dist/lib/CGI/eg/nph-multipart.cgi
    vendor/perl/dist/lib/CGI/eg/popup.cgi
    vendor/perl/dist/lib/CGI/eg/save_state.cgi
    vendor/perl/dist/lib/CGI/eg/tryit.cgi
    vendor/perl/dist/lib/CGI/eg/wilogo_gif.uu
    vendor/perl/dist/lib/CGI/t/apache.t
    vendor/perl/dist/lib/CGI/t/can.t
    vendor/perl/dist/lib/CGI/t/carp.t
    vendor/perl/dist/lib/CGI/t/cookie.t
    vendor/perl/dist/lib/CGI/t/fast.t
    vendor/perl/dist/lib/CGI/t/form.t
    vendor/perl/dist/lib/CGI/t/function.t
    vendor/perl/dist/lib/CGI/t/html.t
    vendor/perl/dist/lib/CGI/t/no_tabindex.t
    vendor/perl/dist/lib/CGI/t/pretty.t
    vendor/perl/dist/lib/CGI/t/push.t
    vendor/perl/dist/lib/CGI/t/request.t
    vendor/perl/dist/lib/CGI/t/start_end_asterisk.t
    vendor/perl/dist/lib/CGI/t/start_end_end.t
    vendor/perl/dist/lib/CGI/t/start_end_start.t
    vendor/perl/dist/lib/CGI/t/switch.t
    vendor/perl/dist/lib/CGI/t/upload.t
    vendor/perl/dist/lib/CGI/t/uploadInfo.t
    vendor/perl/dist/lib/CGI/t/upload_post_text.txt.packed
    vendor/perl/dist/lib/CGI/t/util-58.t
    vendor/perl/dist/lib/CGI/t/util.t
    vendor/perl/dist/lib/CGI.pm
    vendor/perl/dist/lib/CORE.pod
    vendor/perl/dist/lib/CPAN/API/HOWTO.pm
    vendor/perl/dist/lib/CPAN/API/HOWTO.pod
    vendor/perl/dist/lib/CPAN/Author.pm
    vendor/perl/dist/lib/CPAN/Bundle.pm
    vendor/perl/dist/lib/CPAN/CacheMgr.pm
    vendor/perl/dist/lib/CPAN/Complete.pm
    vendor/perl/dist/lib/CPAN/Debug.pm
    vendor/perl/dist/lib/CPAN/DeferedCode.pm
    vendor/perl/dist/lib/CPAN/DeferredCode.pm
    vendor/perl/dist/lib/CPAN/Distribution.pm
    vendor/perl/dist/lib/CPAN/Distroprefs.pm
    vendor/perl/dist/lib/CPAN/Distrostatus.pm
    vendor/perl/dist/lib/CPAN/Exception/RecursiveDependency.pm
    vendor/perl/dist/lib/CPAN/Exception/blocked_urllist.pm
    vendor/perl/dist/lib/CPAN/Exception/yaml_not_installed.pm
    vendor/perl/dist/lib/CPAN/FTP/netrc.pm
    vendor/perl/dist/lib/CPAN/FTP.pm
    vendor/perl/dist/lib/CPAN/FirstTime.pm
    vendor/perl/dist/lib/CPAN/HandleConfig.pm
    vendor/perl/dist/lib/CPAN/Index.pm
    vendor/perl/dist/lib/CPAN/InfoObj.pm
    vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.dd
    vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.yml
    vendor/perl/dist/lib/CPAN/Kwalify.pm
    vendor/perl/dist/lib/CPAN/LWP/UserAgent.pm
    vendor/perl/dist/lib/CPAN/Module.pm
    vendor/perl/dist/lib/CPAN/Nox.pm
    vendor/perl/dist/lib/CPAN/PAUSE2003.pub
    vendor/perl/dist/lib/CPAN/PAUSE2005.pub
    vendor/perl/dist/lib/CPAN/PAUSE2007.pub
    vendor/perl/dist/lib/CPAN/PAUSE2009.pub
    vendor/perl/dist/lib/CPAN/Prompt.pm
    vendor/perl/dist/lib/CPAN/Queue.pm
    vendor/perl/dist/lib/CPAN/SIGNATURE
    vendor/perl/dist/lib/CPAN/Shell.pm
    vendor/perl/dist/lib/CPAN/Tarzip.pm
    vendor/perl/dist/lib/CPAN/URL.pm
    vendor/perl/dist/lib/CPAN/Version.pm
    vendor/perl/dist/lib/CPAN/bin/cpan
    vendor/perl/dist/lib/CPAN/t/01loadme.t
    vendor/perl/dist/lib/CPAN/t/02nox.t
    vendor/perl/dist/lib/CPAN/t/03pkgs.t
    vendor/perl/dist/lib/CPAN/t/10version.t
    vendor/perl/dist/lib/CPAN/t/11mirroredby.t
    vendor/perl/dist/lib/CPAN.pm
    vendor/perl/dist/lib/CPANPLUS/Backend/RV.pm
    vendor/perl/dist/lib/CPANPLUS/Backend.pm
    vendor/perl/dist/lib/CPANPLUS/Config.pm
    vendor/perl/dist/lib/CPANPLUS/Configure/Setup.pm
    vendor/perl/dist/lib/CPANPLUS/Configure.pm
    vendor/perl/dist/lib/CPANPLUS/Dist/Autobundle.pm
    vendor/perl/dist/lib/CPANPLUS/Dist/Base.pm
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/Constants.pm
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/01_CPANPLUS-Dist-Build-Constants.t
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/inc/conf.pl
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed
    vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed
    vendor/perl/dist/lib/CPANPLUS/Dist/Build.pm
    vendor/perl/dist/lib/CPANPLUS/Dist/MM.pm
    vendor/perl/dist/lib/CPANPLUS/Dist/Sample.pm
    vendor/perl/dist/lib/CPANPLUS/Dist.pm
    vendor/perl/dist/lib/CPANPLUS/Error.pm
    vendor/perl/dist/lib/CPANPLUS/FAQ.pod
    vendor/perl/dist/lib/CPANPLUS/Hacking.pod
    vendor/perl/dist/lib/CPANPLUS/Internals/Constants/Report.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Constants.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Extract.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Fetch.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Report.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Search.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Source/Memory.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Source.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Utils/Autoflush.pm
    vendor/perl/dist/lib/CPANPLUS/Internals/Utils.pm
    vendor/perl/dist/lib/CPANPLUS/Internals.pm
    vendor/perl/dist/lib/CPANPLUS/Module/Author/Fake.pm
    vendor/perl/dist/lib/CPANPLUS/Module/Author.pm
    vendor/perl/dist/lib/CPANPLUS/Module/Checksums.pm
    vendor/perl/dist/lib/CPANPLUS/Module/Fake.pm
    vendor/perl/dist/lib/CPANPLUS/Module/Signature.pm
    vendor/perl/dist/lib/CPANPLUS/Module.pm
    vendor/perl/dist/lib/CPANPLUS/Selfupdate.pm
    vendor/perl/dist/lib/CPANPLUS/Shell/Classic.pm
    vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
    vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
    vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
    vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
    vendor/perl/dist/lib/CPANPLUS/Shell/Default.pm
    vendor/perl/dist/lib/CPANPLUS/Shell.pm
    vendor/perl/dist/lib/CPANPLUS/bin/cpan2dist
    vendor/perl/dist/lib/CPANPLUS/bin/cpanp
    vendor/perl/dist/lib/CPANPLUS/bin/cpanp-run-perl
    vendor/perl/dist/lib/CPANPLUS/inc.pm
    vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Inc.t
    vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t
    vendor/perl/dist/lib/CPANPLUS/t/01_CPANPLUS-Configure.t
    vendor/perl/dist/lib/CPANPLUS/t/02_CPANPLUS-Internals.t
    vendor/perl/dist/lib/CPANPLUS/t/03_CPANPLUS-Internals-Source.t
    vendor/perl/dist/lib/CPANPLUS/t/04_CPANPLUS-Module.t
    vendor/perl/dist/lib/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t
    vendor/perl/dist/lib/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t
    vendor/perl/dist/lib/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t
    vendor/perl/dist/lib/CPANPLUS/t/08_CPANPLUS-Backend.t
    vendor/perl/dist/lib/CPANPLUS/t/09_CPANPLUS-Internals-Search.t
    vendor/perl/dist/lib/CPANPLUS/t/10_CPANPLUS-Error.t
    vendor/perl/dist/lib/CPANPLUS/t/15_CPANPLUS-Shell.t
    vendor/perl/dist/lib/CPANPLUS/t/19_CPANPLUS-Dist.t
    vendor/perl/dist/lib/CPANPLUS/t/20_CPANPLUS-Dist-MM.t
    vendor/perl/dist/lib/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t
    vendor/perl/dist/lib/CPANPLUS/t/25_CPANPLUS.t
    vendor/perl/dist/lib/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t
    vendor/perl/dist/lib/CPANPLUS/t/40_CPANPLUS-Internals-Report.t
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed
    vendor/perl/dist/lib/CPANPLUS/t/inc/conf.pl
    vendor/perl/dist/lib/CPANPLUS.pm
    vendor/perl/dist/lib/Carp/Heavy.pm
    vendor/perl/dist/lib/Carp.pm
    vendor/perl/dist/lib/Carp.t
    vendor/perl/dist/lib/Class/ISA/ChangeLog
    vendor/perl/dist/lib/Class/ISA/t/00_about_verbose.t
    vendor/perl/dist/lib/Class/ISA/t/01_old_junk.t
    vendor/perl/dist/lib/Class/ISA.pm
    vendor/perl/dist/lib/Class/Struct.pm
    vendor/perl/dist/lib/Class/Struct.t
    vendor/perl/dist/lib/Config/Extensions.pm
    vendor/perl/dist/lib/Config/Extensions.t
    vendor/perl/dist/lib/Config.t
    vendor/perl/dist/lib/Cwd.pm
    vendor/perl/dist/lib/DB.pm
    vendor/perl/dist/lib/DB.t
    vendor/perl/dist/lib/DBM_Filter/Changes
    vendor/perl/dist/lib/DBM_Filter/compress.pm
    vendor/perl/dist/lib/DBM_Filter/encode.pm
    vendor/perl/dist/lib/DBM_Filter/int32.pm
    vendor/perl/dist/lib/DBM_Filter/null.pm
    vendor/perl/dist/lib/DBM_Filter/t/01error.t
    vendor/perl/dist/lib/DBM_Filter/t/02core.t
    vendor/perl/dist/lib/DBM_Filter/t/compress.t
    vendor/perl/dist/lib/DBM_Filter/t/encode.t
    vendor/perl/dist/lib/DBM_Filter/t/int32.t
    vendor/perl/dist/lib/DBM_Filter/t/null.t
    vendor/perl/dist/lib/DBM_Filter/t/utf8.t
    vendor/perl/dist/lib/DBM_Filter/utf8.pm
    vendor/perl/dist/lib/DBM_Filter.pm
    vendor/perl/dist/lib/Devel/InnerPackage.pm
    vendor/perl/dist/lib/Devel/SelfStubber.pm
    vendor/perl/dist/lib/Devel/SelfStubber.t
    vendor/perl/dist/lib/Digest/base.pm
    vendor/perl/dist/lib/Digest/file.pm
    vendor/perl/dist/lib/Digest/t/base.t
    vendor/perl/dist/lib/Digest/t/digest.t
    vendor/perl/dist/lib/Digest/t/file.t
    vendor/perl/dist/lib/Digest.pm
    vendor/perl/dist/lib/DirHandle.pm
    vendor/perl/dist/lib/DirHandle.t
    vendor/perl/dist/lib/Dumpvalue.pm
    vendor/perl/dist/lib/Dumpvalue.t
    vendor/perl/dist/lib/English.pm
    vendor/perl/dist/lib/English.t
    vendor/perl/dist/lib/Env/t/array.t
    vendor/perl/dist/lib/Env/t/env.t
    vendor/perl/dist/lib/Env.pm
    vendor/perl/dist/lib/Exporter/Heavy.pm
    vendor/perl/dist/lib/Exporter.pm
    vendor/perl/dist/lib/Exporter.t
    vendor/perl/dist/lib/ExtUtils/CBuilder/Base.pm
    vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Unix.pm
    vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/VMS.pm
    vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Windows.pm
    vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/aix.pm
    vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/darwin.pm
    vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
    vendor/perl/dist/lib/ExtUtils/CBuilder/t/00-have-compiler.t
    vendor/perl/dist/lib/ExtUtils/CBuilder/t/01-basic.t
    vendor/perl/dist/lib/ExtUtils/CBuilder/t/02-link.t
    vendor/perl/dist/lib/ExtUtils/CBuilder.pm
    vendor/perl/dist/lib/ExtUtils/Command/MM.pm
    vendor/perl/dist/lib/ExtUtils/Command.pm
    vendor/perl/dist/lib/ExtUtils/Constant/Base.pm
    vendor/perl/dist/lib/ExtUtils/Constant/ProxySubs.pm
    vendor/perl/dist/lib/ExtUtils/Constant/Utils.pm
    vendor/perl/dist/lib/ExtUtils/Constant/XS.pm
    vendor/perl/dist/lib/ExtUtils/Constant.pm
    vendor/perl/dist/lib/ExtUtils/Embed.pm
    vendor/perl/dist/lib/ExtUtils/Install.pm
    vendor/perl/dist/lib/ExtUtils/Installed.pm
    vendor/perl/dist/lib/ExtUtils/Liblist/Kid.pm
    vendor/perl/dist/lib/ExtUtils/Liblist.pm
    vendor/perl/dist/lib/ExtUtils/MANIFEST.SKIP
    vendor/perl/dist/lib/ExtUtils/MM.pm
    vendor/perl/dist/lib/ExtUtils/MM_AIX.pm
    vendor/perl/dist/lib/ExtUtils/MM_Any.pm
    vendor/perl/dist/lib/ExtUtils/MM_BeOS.pm
    vendor/perl/dist/lib/ExtUtils/MM_Cygwin.pm
    vendor/perl/dist/lib/ExtUtils/MM_DOS.pm
    vendor/perl/dist/lib/ExtUtils/MM_Darwin.pm
    vendor/perl/dist/lib/ExtUtils/MM_MacOS.pm
    vendor/perl/dist/lib/ExtUtils/MM_NW5.pm
    vendor/perl/dist/lib/ExtUtils/MM_OS2.pm
    vendor/perl/dist/lib/ExtUtils/MM_QNX.pm
    vendor/perl/dist/lib/ExtUtils/MM_UWIN.pm
    vendor/perl/dist/lib/ExtUtils/MM_Unix.pm
    vendor/perl/dist/lib/ExtUtils/MM_VMS.pm
    vendor/perl/dist/lib/ExtUtils/MM_VOS.pm
    vendor/perl/dist/lib/ExtUtils/MM_Win32.pm
    vendor/perl/dist/lib/ExtUtils/MM_Win95.pm
    vendor/perl/dist/lib/ExtUtils/MY.pm
    vendor/perl/dist/lib/ExtUtils/MakeMaker/Config.pm
    vendor/perl/dist/lib/ExtUtils/MakeMaker/FAQ.pod
    vendor/perl/dist/lib/ExtUtils/MakeMaker/Tutorial.pod
    vendor/perl/dist/lib/ExtUtils/MakeMaker/bytes.pm
    vendor/perl/dist/lib/ExtUtils/MakeMaker.pm
    vendor/perl/dist/lib/ExtUtils/Manifest.pm
    vendor/perl/dist/lib/ExtUtils/Mkbootstrap.pm
    vendor/perl/dist/lib/ExtUtils/Mksymlists.pm
    vendor/perl/dist/lib/ExtUtils/NOTES
    vendor/perl/dist/lib/ExtUtils/PATCHING
    vendor/perl/dist/lib/ExtUtils/Packlist.pm
    vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.pm
    vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.xs
    vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.pm
    vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.xs
    vendor/perl/dist/lib/ExtUtils/ParseXS/t/basic.t
    vendor/perl/dist/lib/ExtUtils/ParseXS/t/usage.t
    vendor/perl/dist/lib/ExtUtils/ParseXS.pm
    vendor/perl/dist/lib/ExtUtils/README
    vendor/perl/dist/lib/ExtUtils/TODO
    vendor/perl/dist/lib/ExtUtils/XSSymSet.pm
    vendor/perl/dist/lib/ExtUtils/instmodsh
    vendor/perl/dist/lib/ExtUtils/t/00compile.t
    vendor/perl/dist/lib/ExtUtils/t/Constant.t
    vendor/perl/dist/lib/ExtUtils/t/Embed.t
    vendor/perl/dist/lib/ExtUtils/t/FIRST_MAKEFILE.t
    vendor/perl/dist/lib/ExtUtils/t/INST.t
    vendor/perl/dist/lib/ExtUtils/t/INSTALL_BASE.t
    vendor/perl/dist/lib/ExtUtils/t/INST_PREFIX.t
    vendor/perl/dist/lib/ExtUtils/t/Install.t
    vendor/perl/dist/lib/ExtUtils/t/InstallWithMM.t
    vendor/perl/dist/lib/ExtUtils/t/Installapi2.t
    vendor/perl/dist/lib/ExtUtils/t/Installed.t
    vendor/perl/dist/lib/ExtUtils/t/Liblist.t
    vendor/perl/dist/lib/ExtUtils/t/MM_Any.t
    vendor/perl/dist/lib/ExtUtils/t/MM_BeOS.t
    vendor/perl/dist/lib/ExtUtils/t/MM_Cygwin.t
    vendor/perl/dist/lib/ExtUtils/t/MM_NW5.t
    vendor/perl/dist/lib/ExtUtils/t/MM_OS2.t
    vendor/perl/dist/lib/ExtUtils/t/MM_Unix.t
    vendor/perl/dist/lib/ExtUtils/t/MM_VMS.t
    vendor/perl/dist/lib/ExtUtils/t/MM_Win32.t
    vendor/perl/dist/lib/ExtUtils/t/MakeMaker_Parameters.t
    vendor/perl/dist/lib/ExtUtils/t/Manifest.t
    vendor/perl/dist/lib/ExtUtils/t/Mkbootstrap.t
    vendor/perl/dist/lib/ExtUtils/t/PL_FILES.t
    vendor/perl/dist/lib/ExtUtils/t/Packlist.t
    vendor/perl/dist/lib/ExtUtils/t/VERSION_FROM.t
    vendor/perl/dist/lib/ExtUtils/t/WriteEmptyMakefile.t
    vendor/perl/dist/lib/ExtUtils/t/arch_check.t
    vendor/perl/dist/lib/ExtUtils/t/backwards.t
    vendor/perl/dist/lib/ExtUtils/t/basic.t
    vendor/perl/dist/lib/ExtUtils/t/build_man.t
    vendor/perl/dist/lib/ExtUtils/t/bytes.t
    vendor/perl/dist/lib/ExtUtils/t/can_write_dir.t
    vendor/perl/dist/lib/ExtUtils/t/cd.t
    vendor/perl/dist/lib/ExtUtils/t/config.t
    vendor/perl/dist/lib/ExtUtils/t/cp.t
    vendor/perl/dist/lib/ExtUtils/t/dir_target.t
    vendor/perl/dist/lib/ExtUtils/t/eu_command.t
    vendor/perl/dist/lib/ExtUtils/t/fix_libs.t
    vendor/perl/dist/lib/ExtUtils/t/fixin.t
    vendor/perl/dist/lib/ExtUtils/t/hints.t
    vendor/perl/dist/lib/ExtUtils/t/installed_file.t
    vendor/perl/dist/lib/ExtUtils/t/is_of_type.t
    vendor/perl/dist/lib/ExtUtils/t/make.t
    vendor/perl/dist/lib/ExtUtils/t/maketext_filter.t
    vendor/perl/dist/lib/ExtUtils/t/metafile_data.t
    vendor/perl/dist/lib/ExtUtils/t/metafile_file.t
    vendor/perl/dist/lib/ExtUtils/t/min_perl_version.t
    vendor/perl/dist/lib/ExtUtils/t/miniperl.t
    vendor/perl/dist/lib/ExtUtils/t/oneliner.t
    vendor/perl/dist/lib/ExtUtils/t/parse_version.t
    vendor/perl/dist/lib/ExtUtils/t/pm.t
    vendor/perl/dist/lib/ExtUtils/t/pm_to_blib.t
    vendor/perl/dist/lib/ExtUtils/t/pod2man.t
    vendor/perl/dist/lib/ExtUtils/t/postamble.t
    vendor/perl/dist/lib/ExtUtils/t/prefixify.t
    vendor/perl/dist/lib/ExtUtils/t/prereq.t
    vendor/perl/dist/lib/ExtUtils/t/prereq_print.t
    vendor/perl/dist/lib/ExtUtils/t/problems.t
    vendor/perl/dist/lib/ExtUtils/t/prompt.t
    vendor/perl/dist/lib/ExtUtils/t/recurs.t
    vendor/perl/dist/lib/ExtUtils/t/revision.t
    vendor/perl/dist/lib/ExtUtils/t/split_command.t
    vendor/perl/dist/lib/ExtUtils/t/test_boilerplate.t
    vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch1/Config.pm
    vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch2/Config.pm
    vendor/perl/dist/lib/ExtUtils/t/testlib.t
    vendor/perl/dist/lib/ExtUtils/t/writemakefile_args.t
    vendor/perl/dist/lib/ExtUtils/t/xs.t
    vendor/perl/dist/lib/ExtUtils/testlib.pm
    vendor/perl/dist/lib/ExtUtils/typemap
    vendor/perl/dist/lib/ExtUtils/xsubpp
    vendor/perl/dist/lib/Fatal.pm
    vendor/perl/dist/lib/Fatal.t
    vendor/perl/dist/lib/File/Basename.pm
    vendor/perl/dist/lib/File/Basename.t
    vendor/perl/dist/lib/File/CheckTree.pm
    vendor/perl/dist/lib/File/CheckTree.t
    vendor/perl/dist/lib/File/Compare.pm
    vendor/perl/dist/lib/File/Compare.t
    vendor/perl/dist/lib/File/Copy.pm
    vendor/perl/dist/lib/File/Copy.t
    vendor/perl/dist/lib/File/DosGlob.pm
    vendor/perl/dist/lib/File/DosGlob.t
    vendor/perl/dist/lib/File/Fetch/t/01_File-Fetch.t
    vendor/perl/dist/lib/File/Fetch.pm
    vendor/perl/dist/lib/File/Find/t/find.t
    vendor/perl/dist/lib/File/Find/t/taint.t
    vendor/perl/dist/lib/File/Find.pm
    vendor/perl/dist/lib/File/Path.pm
    vendor/perl/dist/lib/File/Path.t
    vendor/perl/dist/lib/File/Spec/Cygwin.pm
    vendor/perl/dist/lib/File/Spec/Epoc.pm
    vendor/perl/dist/lib/File/Spec/Functions.pm
    vendor/perl/dist/lib/File/Spec/Mac.pm
    vendor/perl/dist/lib/File/Spec/OS2.pm
    vendor/perl/dist/lib/File/Spec/Unix.pm
    vendor/perl/dist/lib/File/Spec/VMS.pm
    vendor/perl/dist/lib/File/Spec/Win32.pm
    vendor/perl/dist/lib/File/Spec/t/Functions.t
    vendor/perl/dist/lib/File/Spec/t/Spec.t
    vendor/perl/dist/lib/File/Spec/t/crossplatform.t
    vendor/perl/dist/lib/File/Spec/t/rel2abs2rel.t
    vendor/perl/dist/lib/File/Spec/t/tmpdir.t
    vendor/perl/dist/lib/File/Spec.pm
    vendor/perl/dist/lib/File/Temp/t/cmp.t
    vendor/perl/dist/lib/File/Temp/t/fork.t
    vendor/perl/dist/lib/File/Temp/t/lock.t
    vendor/perl/dist/lib/File/Temp/t/mktemp.t
    vendor/perl/dist/lib/File/Temp/t/object.t
    vendor/perl/dist/lib/File/Temp/t/posix.t
    vendor/perl/dist/lib/File/Temp/t/security.t
    vendor/perl/dist/lib/File/Temp/t/seekable.t
    vendor/perl/dist/lib/File/Temp/t/tempfile.t
    vendor/perl/dist/lib/File/Temp.pm
    vendor/perl/dist/lib/File/stat.pm
    vendor/perl/dist/lib/File/stat.t
    vendor/perl/dist/lib/FileCache/t/01open.t
    vendor/perl/dist/lib/FileCache/t/02maxopen.t
    vendor/perl/dist/lib/FileCache/t/03append.t
    vendor/perl/dist/lib/FileCache/t/04twoarg.t
    vendor/perl/dist/lib/FileCache/t/05override.t
    vendor/perl/dist/lib/FileCache/t/06export.t
    vendor/perl/dist/lib/FileCache/t/07noimport.t
    vendor/perl/dist/lib/FileCache.pm
    vendor/perl/dist/lib/FileHandle.pm
    vendor/perl/dist/lib/FileHandle.t
    vendor/perl/dist/lib/Filter/Simple/README
    vendor/perl/dist/lib/Filter/Simple/t/data.t
    vendor/perl/dist/lib/Filter/Simple/t/export.t
    vendor/perl/dist/lib/Filter/Simple/t/filter.t
    vendor/perl/dist/lib/Filter/Simple/t/filter_only.t
    vendor/perl/dist/lib/Filter/Simple/t/import.t
    vendor/perl/dist/lib/Filter/Simple.pm
    vendor/perl/dist/lib/FindBin.pm
    vendor/perl/dist/lib/FindBin.t
    vendor/perl/dist/lib/Getopt/Long/CHANGES
    vendor/perl/dist/lib/Getopt/Long/README
    vendor/perl/dist/lib/Getopt/Long/t/gol-basic.t
    vendor/perl/dist/lib/Getopt/Long/t/gol-compat.t
    vendor/perl/dist/lib/Getopt/Long/t/gol-linkage.t
    vendor/perl/dist/lib/Getopt/Long/t/gol-oo.t
    vendor/perl/dist/lib/Getopt/Long/t/gol-xargv.t
    vendor/perl/dist/lib/Getopt/Long/t/gol-xstring.t
    vendor/perl/dist/lib/Getopt/Long.pm
    vendor/perl/dist/lib/Getopt/Std.pm
    vendor/perl/dist/lib/Getopt/Std.t
    vendor/perl/dist/lib/I18N/Collate.pm
    vendor/perl/dist/lib/I18N/Collate.t
    vendor/perl/dist/lib/I18N/LangTags/ChangeLog
    vendor/perl/dist/lib/I18N/LangTags/Detect.pm
    vendor/perl/dist/lib/I18N/LangTags/List.pm
    vendor/perl/dist/lib/I18N/LangTags/README
    vendor/perl/dist/lib/I18N/LangTags/t/01_about_verbose.t
    vendor/perl/dist/lib/I18N/LangTags/t/05_main.t
    vendor/perl/dist/lib/I18N/LangTags/t/07_listy.t
    vendor/perl/dist/lib/I18N/LangTags/t/10_http.t
    vendor/perl/dist/lib/I18N/LangTags/t/20_locales.t
    vendor/perl/dist/lib/I18N/LangTags/t/50_super.t
    vendor/perl/dist/lib/I18N/LangTags/t/55_supers_strict.t
    vendor/perl/dist/lib/I18N/LangTags/t/80_all_env.t
    vendor/perl/dist/lib/I18N/LangTags.pm
    vendor/perl/dist/lib/IO/Zlib/t/basic.t
    vendor/perl/dist/lib/IO/Zlib/t/external.t
    vendor/perl/dist/lib/IO/Zlib/t/getc.t
    vendor/perl/dist/lib/IO/Zlib/t/getline.t
    vendor/perl/dist/lib/IO/Zlib/t/import.t
    vendor/perl/dist/lib/IO/Zlib/t/large.t
    vendor/perl/dist/lib/IO/Zlib/t/tied.t
    vendor/perl/dist/lib/IO/Zlib/t/uncomp1.t
    vendor/perl/dist/lib/IO/Zlib/t/uncomp2.t
    vendor/perl/dist/lib/IO/Zlib.pm
    vendor/perl/dist/lib/IPC/Cmd/t/01_IPC-Cmd.t
    vendor/perl/dist/lib/IPC/Cmd/t/02_Interactive.t
    vendor/perl/dist/lib/IPC/Cmd/t/src/child.pl
    vendor/perl/dist/lib/IPC/Cmd/t/src/output.pl
    vendor/perl/dist/lib/IPC/Cmd/t/src/x.tgz.packed
    vendor/perl/dist/lib/IPC/Cmd.pm
    vendor/perl/dist/lib/IPC/Open2.pm
    vendor/perl/dist/lib/IPC/Open2.t
    vendor/perl/dist/lib/IPC/Open3.pm
    vendor/perl/dist/lib/IPC/Open3.t
    vendor/perl/dist/lib/Internals.t
    vendor/perl/dist/lib/Locale/Codes/ChangeLog
    vendor/perl/dist/lib/Locale/Codes/README
    vendor/perl/dist/lib/Locale/Codes/t/all.t
    vendor/perl/dist/lib/Locale/Codes/t/constants.t
    vendor/perl/dist/lib/Locale/Codes/t/country.t
    vendor/perl/dist/lib/Locale/Codes/t/currency.t
    vendor/perl/dist/lib/Locale/Codes/t/languages.t
    vendor/perl/dist/lib/Locale/Codes/t/rename.t
    vendor/perl/dist/lib/Locale/Codes/t/script.t
    vendor/perl/dist/lib/Locale/Codes/t/uk.t
    vendor/perl/dist/lib/Locale/Constants.pm
    vendor/perl/dist/lib/Locale/Constants.pod
    vendor/perl/dist/lib/Locale/Country.pm
    vendor/perl/dist/lib/Locale/Country.pod
    vendor/perl/dist/lib/Locale/Currency.pm
    vendor/perl/dist/lib/Locale/Currency.pod
    vendor/perl/dist/lib/Locale/Language.pm
    vendor/perl/dist/lib/Locale/Language.pod
    vendor/perl/dist/lib/Locale/Maketext/ChangeLog
    vendor/perl/dist/lib/Locale/Maketext/README
    vendor/perl/dist/lib/Locale/Maketext/Simple/t/0-signature.t
    vendor/perl/dist/lib/Locale/Maketext/Simple/t/1-basic.t
    vendor/perl/dist/lib/Locale/Maketext/Simple.pm
    vendor/perl/dist/lib/Locale/Maketext/TPJ13.pod
    vendor/perl/dist/lib/Locale/Maketext/t/01_about_verbose.t
    vendor/perl/dist/lib/Locale/Maketext/t/10_make.t
    vendor/perl/dist/lib/Locale/Maketext/t/20_get.t
    vendor/perl/dist/lib/Locale/Maketext/t/30_local.t
    vendor/perl/dist/lib/Locale/Maketext/t/40_super.t
    vendor/perl/dist/lib/Locale/Maketext/t/50_super.t
    vendor/perl/dist/lib/Locale/Maketext/t/60_super.t
    vendor/perl/dist/lib/Locale/Maketext/t/90_utf8.t
    vendor/perl/dist/lib/Locale/Maketext.pm
    vendor/perl/dist/lib/Locale/Maketext.pod
    vendor/perl/dist/lib/Locale/Script.pm
    vendor/perl/dist/lib/Locale/Script.pod
    vendor/perl/dist/lib/Log/Message/Config.pm
    vendor/perl/dist/lib/Log/Message/Handlers.pm
    vendor/perl/dist/lib/Log/Message/Item.pm
    vendor/perl/dist/lib/Log/Message/Simple/t/01_use.t
    vendor/perl/dist/lib/Log/Message/Simple/t/02_imports.t
    vendor/perl/dist/lib/Log/Message/Simple/t/03_functions.t
    vendor/perl/dist/lib/Log/Message/Simple.pm
    vendor/perl/dist/lib/Log/Message/t/01_Log-Message-Config.t
    vendor/perl/dist/lib/Log/Message/t/02_Log-Message.t
    vendor/perl/dist/lib/Log/Message/t/conf/LoadMe.pl
    vendor/perl/dist/lib/Log/Message/t/conf/config_file
    vendor/perl/dist/lib/Log/Message.pm
    vendor/perl/dist/lib/Math/BigFloat/Trace.pm
    vendor/perl/dist/lib/Math/BigFloat.pm
    vendor/perl/dist/lib/Math/BigInt/Calc.pm
    vendor/perl/dist/lib/Math/BigInt/CalcEmu.pm
    vendor/perl/dist/lib/Math/BigInt/Trace.pm
    vendor/perl/dist/lib/Math/BigInt/t/_e_math.t
    vendor/perl/dist/lib/Math/BigInt/t/alias.inc
    vendor/perl/dist/lib/Math/BigInt/t/bare_mbf.t
    vendor/perl/dist/lib/Math/BigInt/t/bare_mbi.t
    vendor/perl/dist/lib/Math/BigInt/t/bare_mif.t
    vendor/perl/dist/lib/Math/BigInt/t/big_pi_e.t
    vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.inc
    vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.t
    vendor/perl/dist/lib/Math/BigInt/t/bigintc.t
    vendor/perl/dist/lib/Math/BigInt/t/bigintpm.inc
    vendor/perl/dist/lib/Math/BigInt/t/bigintpm.t
    vendor/perl/dist/lib/Math/BigInt/t/bigints.t
    vendor/perl/dist/lib/Math/BigInt/t/biglog.t
    vendor/perl/dist/lib/Math/BigInt/t/bigroot.t
    vendor/perl/dist/lib/Math/BigInt/t/calling.t
    vendor/perl/dist/lib/Math/BigInt/t/config.t
    vendor/perl/dist/lib/Math/BigInt/t/const_mbf.t
    vendor/perl/dist/lib/Math/BigInt/t/constant.t
    vendor/perl/dist/lib/Math/BigInt/t/downgrade.t
    vendor/perl/dist/lib/Math/BigInt/t/inf_nan.t
    vendor/perl/dist/lib/Math/BigInt/t/isa.t
    vendor/perl/dist/lib/Math/BigInt/t/lib_load.t
    vendor/perl/dist/lib/Math/BigInt/t/mbf_ali.t
    vendor/perl/dist/lib/Math/BigInt/t/mbi_ali.t
    vendor/perl/dist/lib/Math/BigInt/t/mbi_rand.t
    vendor/perl/dist/lib/Math/BigInt/t/mbimbf.inc
    vendor/perl/dist/lib/Math/BigInt/t/mbimbf.t
    vendor/perl/dist/lib/Math/BigInt/t/nan_cmp.t
    vendor/perl/dist/lib/Math/BigInt/t/new_ovld.t
    vendor/perl/dist/lib/Math/BigInt/t/req_mbf0.t
    vendor/perl/dist/lib/Math/BigInt/t/req_mbf1.t
    vendor/perl/dist/lib/Math/BigInt/t/req_mbfa.t
    vendor/perl/dist/lib/Math/BigInt/t/req_mbfi.t
    vendor/perl/dist/lib/Math/BigInt/t/req_mbfn.t
    vendor/perl/dist/lib/Math/BigInt/t/req_mbfw.t
    vendor/perl/dist/lib/Math/BigInt/t/require.t
    vendor/perl/dist/lib/Math/BigInt/t/round.t
    vendor/perl/dist/lib/Math/BigInt/t/sub_ali.t
    vendor/perl/dist/lib/Math/BigInt/t/sub_mbf.t
    vendor/perl/dist/lib/Math/BigInt/t/sub_mbi.t
    vendor/perl/dist/lib/Math/BigInt/t/sub_mif.t
    vendor/perl/dist/lib/Math/BigInt/t/trap.t
    vendor/perl/dist/lib/Math/BigInt/t/upgrade.inc
    vendor/perl/dist/lib/Math/BigInt/t/upgrade.t
    vendor/perl/dist/lib/Math/BigInt/t/upgradef.t
    vendor/perl/dist/lib/Math/BigInt/t/use.t
    vendor/perl/dist/lib/Math/BigInt/t/use_lib1.t
    vendor/perl/dist/lib/Math/BigInt/t/use_lib2.t
    vendor/perl/dist/lib/Math/BigInt/t/use_lib3.t
    vendor/perl/dist/lib/Math/BigInt/t/use_lib4.t
    vendor/perl/dist/lib/Math/BigInt/t/use_mbfw.t
    vendor/perl/dist/lib/Math/BigInt/t/with_sub.t
    vendor/perl/dist/lib/Math/BigInt.pm
    vendor/perl/dist/lib/Math/BigRat/t/big_ap.t
    vendor/perl/dist/lib/Math/BigRat/t/bigfltpm.inc
    vendor/perl/dist/lib/Math/BigRat/t/bigfltrt.t
    vendor/perl/dist/lib/Math/BigRat/t/biglog.t
    vendor/perl/dist/lib/Math/BigRat/t/bigrat.t
    vendor/perl/dist/lib/Math/BigRat/t/bigratpm.inc
    vendor/perl/dist/lib/Math/BigRat/t/bigratpm.t
    vendor/perl/dist/lib/Math/BigRat/t/bigratup.t
    vendor/perl/dist/lib/Math/BigRat/t/bigroot.t
    vendor/perl/dist/lib/Math/BigRat/t/hang.t
    vendor/perl/dist/lib/Math/BigRat/t/requirer.t
    vendor/perl/dist/lib/Math/BigRat/t/trap.t
    vendor/perl/dist/lib/Math/BigRat.pm
    vendor/perl/dist/lib/Math/Complex.pm
    vendor/perl/dist/lib/Math/Complex.t
    vendor/perl/dist/lib/Math/Trig.pm
    vendor/perl/dist/lib/Math/Trig.t
    vendor/perl/dist/lib/Math/underbar.t
    vendor/perl/dist/lib/Memoize/AnyDBM_File.pm
    vendor/perl/dist/lib/Memoize/Expire.pm
    vendor/perl/dist/lib/Memoize/ExpireFile.pm
    vendor/perl/dist/lib/Memoize/ExpireTest.pm
    vendor/perl/dist/lib/Memoize/NDBM_File.pm
    vendor/perl/dist/lib/Memoize/README
    vendor/perl/dist/lib/Memoize/SDBM_File.pm
    vendor/perl/dist/lib/Memoize/Storable.pm
    vendor/perl/dist/lib/Memoize/TODO
    vendor/perl/dist/lib/Memoize/t/array.t
    vendor/perl/dist/lib/Memoize/t/array_confusion.t
    vendor/perl/dist/lib/Memoize/t/correctness.t
    vendor/perl/dist/lib/Memoize/t/errors.t
    vendor/perl/dist/lib/Memoize/t/expfile.t
    vendor/perl/dist/lib/Memoize/t/expire.t
    vendor/perl/dist/lib/Memoize/t/expmod_n.t
    vendor/perl/dist/lib/Memoize/t/expmod_t.t
    vendor/perl/dist/lib/Memoize/t/flush.t
    vendor/perl/dist/lib/Memoize/t/normalize.t
    vendor/perl/dist/lib/Memoize/t/prototype.t
    vendor/perl/dist/lib/Memoize/t/speed.t
    vendor/perl/dist/lib/Memoize/t/tie.t
    vendor/perl/dist/lib/Memoize/t/tie_gdbm.t
    vendor/perl/dist/lib/Memoize/t/tie_ndbm.t
    vendor/perl/dist/lib/Memoize/t/tie_sdbm.t
    vendor/perl/dist/lib/Memoize/t/tie_storable.t
    vendor/perl/dist/lib/Memoize/t/tiefeatures.t
    vendor/perl/dist/lib/Memoize/t/unmemoize.t
    vendor/perl/dist/lib/Memoize.pm
    vendor/perl/dist/lib/Module/Build/API.pod
    vendor/perl/dist/lib/Module/Build/Authoring.pod
    vendor/perl/dist/lib/Module/Build/Base.pm
    vendor/perl/dist/lib/Module/Build/Compat.pm
    vendor/perl/dist/lib/Module/Build/Config.pm
    vendor/perl/dist/lib/Module/Build/ConfigData.pm
    vendor/perl/dist/lib/Module/Build/Cookbook.pm
    vendor/perl/dist/lib/Module/Build/Dumper.pm
    vendor/perl/dist/lib/Module/Build/ModuleInfo.pm
    vendor/perl/dist/lib/Module/Build/Notes.pm
    vendor/perl/dist/lib/Module/Build/PPMMaker.pm
    vendor/perl/dist/lib/Module/Build/Platform/Amiga.pm
    vendor/perl/dist/lib/Module/Build/Platform/Default.pm
    vendor/perl/dist/lib/Module/Build/Platform/EBCDIC.pm
    vendor/perl/dist/lib/Module/Build/Platform/MPEiX.pm
    vendor/perl/dist/lib/Module/Build/Platform/MacOS.pm
    vendor/perl/dist/lib/Module/Build/Platform/RiscOS.pm
    vendor/perl/dist/lib/Module/Build/Platform/Unix.pm
    vendor/perl/dist/lib/Module/Build/Platform/VMS.pm
    vendor/perl/dist/lib/Module/Build/Platform/VOS.pm
    vendor/perl/dist/lib/Module/Build/Platform/Windows.pm
    vendor/perl/dist/lib/Module/Build/Platform/aix.pm
    vendor/perl/dist/lib/Module/Build/Platform/darwin.pm
    vendor/perl/dist/lib/Module/Build/PodParser.pm
    vendor/perl/dist/lib/Module/Build/Version.pm
    vendor/perl/dist/lib/Module/Build/YAML.pm
    vendor/perl/dist/lib/Module/Build/scripts/config_data
    vendor/perl/dist/lib/Module/Build/t/PL_files.t
    vendor/perl/dist/lib/Module/Build/t/add_property.t
    vendor/perl/dist/lib/Module/Build/t/basic.t
    vendor/perl/dist/lib/Module/Build/t/bundled/Tie/CPHash.pm
    vendor/perl/dist/lib/Module/Build/t/compat/exit.t
    vendor/perl/dist/lib/Module/Build/t/compat.t
    vendor/perl/dist/lib/Module/Build/t/debug.t
    vendor/perl/dist/lib/Module/Build/t/destinations.t
    vendor/perl/dist/lib/Module/Build/t/ext.t
    vendor/perl/dist/lib/Module/Build/t/extend.t
    vendor/perl/dist/lib/Module/Build/t/files.t
    vendor/perl/dist/lib/Module/Build/t/help.t
    vendor/perl/dist/lib/Module/Build/t/install.t
    vendor/perl/dist/lib/Module/Build/t/lib/DistGen.pm
    vendor/perl/dist/lib/Module/Build/t/lib/MBTest.pm
    vendor/perl/dist/lib/Module/Build/t/manifypods.t
    vendor/perl/dist/lib/Module/Build/t/mbyaml.t
    vendor/perl/dist/lib/Module/Build/t/metadata.t
    vendor/perl/dist/lib/Module/Build/t/metadata2.t
    vendor/perl/dist/lib/Module/Build/t/moduleinfo.t
    vendor/perl/dist/lib/Module/Build/t/new_from_context.t
    vendor/perl/dist/lib/Module/Build/t/notes.t
    vendor/perl/dist/lib/Module/Build/t/parents.t
    vendor/perl/dist/lib/Module/Build/t/pod_parser.t
    vendor/perl/dist/lib/Module/Build/t/ppm.t
    vendor/perl/dist/lib/Module/Build/t/runthrough.t
    vendor/perl/dist/lib/Module/Build/t/script_dist.t
    vendor/perl/dist/lib/Module/Build/t/test_file_exts.t
    vendor/perl/dist/lib/Module/Build/t/test_type.t
    vendor/perl/dist/lib/Module/Build/t/test_types.t
    vendor/perl/dist/lib/Module/Build/t/tilde.t
    vendor/perl/dist/lib/Module/Build/t/use_tap_harness.t
    vendor/perl/dist/lib/Module/Build/t/versions.t
    vendor/perl/dist/lib/Module/Build/t/write_default_maniskip.t
    vendor/perl/dist/lib/Module/Build/t/xs.t
    vendor/perl/dist/lib/Module/Build.pm
    vendor/perl/dist/lib/Module/CoreList/bin/corelist
    vendor/perl/dist/lib/Module/CoreList/t/corelist.t
    vendor/perl/dist/lib/Module/CoreList/t/find_modules.t
    vendor/perl/dist/lib/Module/CoreList.pm
    vendor/perl/dist/lib/Module/Load/Conditional/t/01_Module_Load_Conditional.t
    vendor/perl/dist/lib/Module/Load/Conditional/t/02_Parse_Version.t
    vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/Commented.pm
    vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/InPod.pm
    vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadIt.pm
    vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadMe.pl
    vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/MustBe/Loaded.pm
    vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/ToBeLoaded
    vendor/perl/dist/lib/Module/Load/Conditional.pm
    vendor/perl/dist/lib/Module/Load/t/01_Module-Load.t
    vendor/perl/dist/lib/Module/Load/t/to_load/LoadIt.pm
    vendor/perl/dist/lib/Module/Load/t/to_load/LoadMe.pl
    vendor/perl/dist/lib/Module/Load/t/to_load/Must/Be/Loaded.pm
    vendor/perl/dist/lib/Module/Load/t/to_load/TestModule.pm
    vendor/perl/dist/lib/Module/Load/t/to_load/ToBeLoaded
    vendor/perl/dist/lib/Module/Load/t/to_load/config_file
    vendor/perl/dist/lib/Module/Load.pm
    vendor/perl/dist/lib/Module/Loaded/t/01_Module-Loaded.t
    vendor/perl/dist/lib/Module/Loaded.pm
    vendor/perl/dist/lib/Module/Pluggable/Object.pm
    vendor/perl/dist/lib/Module/Pluggable.pm
    vendor/perl/dist/lib/NEXT/README
    vendor/perl/dist/lib/NEXT/t/actual.t
    vendor/perl/dist/lib/NEXT/t/actuns.t
    vendor/perl/dist/lib/NEXT/t/dynamically_scoped_regex_vars.t
    vendor/perl/dist/lib/NEXT/t/next.t
    vendor/perl/dist/lib/NEXT/t/stringify.t
    vendor/perl/dist/lib/NEXT/t/unseen.t
    vendor/perl/dist/lib/NEXT.pm
    vendor/perl/dist/lib/Net/Cmd.pm
    vendor/perl/dist/lib/Net/Config.eg
    vendor/perl/dist/lib/Net/Config.pm
    vendor/perl/dist/lib/Net/Domain.pm
    vendor/perl/dist/lib/Net/FTP/A.pm
    vendor/perl/dist/lib/Net/FTP/E.pm
    vendor/perl/dist/lib/Net/FTP/I.pm
    vendor/perl/dist/lib/Net/FTP/L.pm
    vendor/perl/dist/lib/Net/FTP/dataconn.pm
    vendor/perl/dist/lib/Net/FTP.pm
    vendor/perl/dist/lib/Net/Hostname.pm.eg
    vendor/perl/dist/lib/Net/NNTP.pm
    vendor/perl/dist/lib/Net/Netrc.pm
    vendor/perl/dist/lib/Net/POP3.pm
    vendor/perl/dist/lib/Net/Ping/t/100_load.t
    vendor/perl/dist/lib/Net/Ping/t/110_icmp_inst.t
    vendor/perl/dist/lib/Net/Ping/t/120_udp_inst.t
    vendor/perl/dist/lib/Net/Ping/t/130_tcp_inst.t
    vendor/perl/dist/lib/Net/Ping/t/140_stream_inst.t
    vendor/perl/dist/lib/Net/Ping/t/150_syn_inst.t
    vendor/perl/dist/lib/Net/Ping/t/190_alarm.t
    vendor/perl/dist/lib/Net/Ping/t/200_ping_tcp.t
    vendor/perl/dist/lib/Net/Ping/t/250_ping_hires.t
    vendor/perl/dist/lib/Net/Ping/t/300_ping_stream.t
    vendor/perl/dist/lib/Net/Ping/t/400_ping_syn.t
    vendor/perl/dist/lib/Net/Ping/t/410_syn_host.t
    vendor/perl/dist/lib/Net/Ping/t/450_service.t
    vendor/perl/dist/lib/Net/Ping/t/500_ping_icmp.t
    vendor/perl/dist/lib/Net/Ping/t/510_ping_udp.t
    vendor/perl/dist/lib/Net/Ping.pm
    vendor/perl/dist/lib/Net/README
    vendor/perl/dist/lib/Net/SMTP.pm
    vendor/perl/dist/lib/Net/Time.pm
    vendor/perl/dist/lib/Net/demos/ftp
    vendor/perl/dist/lib/Net/demos/inetd
    vendor/perl/dist/lib/Net/demos/nntp
    vendor/perl/dist/lib/Net/demos/nntp.mirror
    vendor/perl/dist/lib/Net/demos/pop3
    vendor/perl/dist/lib/Net/demos/smtp.self
    vendor/perl/dist/lib/Net/demos/time
    vendor/perl/dist/lib/Net/hostent.pm
    vendor/perl/dist/lib/Net/hostent.t
    vendor/perl/dist/lib/Net/libnetFAQ.pod
    vendor/perl/dist/lib/Net/netent.pm
    vendor/perl/dist/lib/Net/netent.t
    vendor/perl/dist/lib/Net/protoent.pm
    vendor/perl/dist/lib/Net/protoent.t
    vendor/perl/dist/lib/Net/servent.pm
    vendor/perl/dist/lib/Net/servent.t
    vendor/perl/dist/lib/Net/t/config.t
    vendor/perl/dist/lib/Net/t/datasend.t
    vendor/perl/dist/lib/Net/t/ftp.t
    vendor/perl/dist/lib/Net/t/hostname.t
    vendor/perl/dist/lib/Net/t/libnet_t.pl
    vendor/perl/dist/lib/Net/t/netrc.t
    vendor/perl/dist/lib/Net/t/nntp.t
    vendor/perl/dist/lib/Net/t/require.t
    vendor/perl/dist/lib/Net/t/smtp.t
    vendor/perl/dist/lib/Net/t/time.t
    vendor/perl/dist/lib/Object/Accessor/t/00_Object-Accessor.t
    vendor/perl/dist/lib/Object/Accessor/t/01_Object-Accessor-Subclassed.t
    vendor/perl/dist/lib/Object/Accessor/t/02_Object-Accessor-allow.t
    vendor/perl/dist/lib/Object/Accessor/t/03_Object-Accessor-local.t
    vendor/perl/dist/lib/Object/Accessor/t/04_Object-Accessor-lvalue.t
    vendor/perl/dist/lib/Object/Accessor/t/05_Object-Accessor-callback.t
    vendor/perl/dist/lib/Object/Accessor/t/06_Object-Accessor-alias.t
    vendor/perl/dist/lib/Object/Accessor.pm
    vendor/perl/dist/lib/Package/Constants/t/01_list.t
    vendor/perl/dist/lib/Package/Constants.pm
    vendor/perl/dist/lib/Params/Check/t/01_Params-Check.t
    vendor/perl/dist/lib/Params/Check.pm
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/01_compile.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/02_basic.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/03_regression.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/04_scalar.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/05_export.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/11_meta_yml.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/12_plagger.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/13_perl_smith.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/14_yaml_org.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/15_multibyte.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/16_nullrefs.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/17_toolbar.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/18_tap.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/19_errors.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/21_bom.t
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/HTML-WebDAO.yml
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Spreadsheet-Read.yml
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Template-Provider-Unicode-Japanese.yml
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/multibyte.yml
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/sample.yml
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/toolbar.yml
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/utf_16_le_bom.yml
    vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/vanilla.yml
    vendor/perl/dist/lib/Parse/CPAN/Meta.pm
    vendor/perl/dist/lib/PerlIO/via/QuotedPrint.pm
    vendor/perl/dist/lib/PerlIO/via/t/QuotedPrint.t
    vendor/perl/dist/lib/PerlIO.pm
    vendor/perl/dist/lib/Pod/Checker.pm
    vendor/perl/dist/lib/Pod/Escapes/ChangeLog
    vendor/perl/dist/lib/Pod/Escapes/README
    vendor/perl/dist/lib/Pod/Escapes/t/01_about_verbose.t
    vendor/perl/dist/lib/Pod/Escapes/t/10_main.t
    vendor/perl/dist/lib/Pod/Escapes/t/15_name2charnum.t
    vendor/perl/dist/lib/Pod/Escapes.pm
    vendor/perl/dist/lib/Pod/Find.pm
    vendor/perl/dist/lib/Pod/Functions.pm
    vendor/perl/dist/lib/Pod/Html.pm
    vendor/perl/dist/lib/Pod/InputObjects.pm
    vendor/perl/dist/lib/Pod/LaTeX.pm
    vendor/perl/dist/lib/Pod/Man.pm
    vendor/perl/dist/lib/Pod/ParseLink.pm
    vendor/perl/dist/lib/Pod/ParseUtils.pm
    vendor/perl/dist/lib/Pod/Parser.pm
    vendor/perl/dist/lib/Pod/Perldoc/BaseTo.pm
    vendor/perl/dist/lib/Pod/Perldoc/GetOptsOO.pm
    vendor/perl/dist/lib/Pod/Perldoc/ToChecker.pm
    vendor/perl/dist/lib/Pod/Perldoc/ToMan.pm
    vendor/perl/dist/lib/Pod/Perldoc/ToNroff.pm
    vendor/perl/dist/lib/Pod/Perldoc/ToPod.pm
    vendor/perl/dist/lib/Pod/Perldoc/ToRtf.pm
    vendor/perl/dist/lib/Pod/Perldoc/ToText.pm
    vendor/perl/dist/lib/Pod/Perldoc/ToTk.pm
    vendor/perl/dist/lib/Pod/Perldoc/ToXml.pm
    vendor/perl/dist/lib/Pod/Perldoc/t/01_about_verbose.t
    vendor/perl/dist/lib/Pod/Perldoc/t/checkerbasic.t
    vendor/perl/dist/lib/Pod/Perldoc/t/perldocbasic.t
    vendor/perl/dist/lib/Pod/Perldoc/t/textbasic.t
    vendor/perl/dist/lib/Pod/Perldoc.pm
    vendor/perl/dist/lib/Pod/PlainText.pm
    vendor/perl/dist/lib/Pod/Plainer.pm
    vendor/perl/dist/lib/Pod/Select.pm
    vendor/perl/dist/lib/Pod/Simple/BlackBox.pm
    vendor/perl/dist/lib/Pod/Simple/ChangeLog
    vendor/perl/dist/lib/Pod/Simple/Checker.pm
    vendor/perl/dist/lib/Pod/Simple/Debug.pm
    vendor/perl/dist/lib/Pod/Simple/DumpAsText.pm
    vendor/perl/dist/lib/Pod/Simple/DumpAsXML.pm
    vendor/perl/dist/lib/Pod/Simple/HTML.pm
    vendor/perl/dist/lib/Pod/Simple/HTMLBatch.pm
    vendor/perl/dist/lib/Pod/Simple/HTMLLegacy.pm
    vendor/perl/dist/lib/Pod/Simple/LinkSection.pm
    vendor/perl/dist/lib/Pod/Simple/Methody.pm
    vendor/perl/dist/lib/Pod/Simple/Progress.pm
    vendor/perl/dist/lib/Pod/Simple/PullParser.pm
    vendor/perl/dist/lib/Pod/Simple/PullParserEndToken.pm
    vendor/perl/dist/lib/Pod/Simple/PullParserStartToken.pm
    vendor/perl/dist/lib/Pod/Simple/PullParserTextToken.pm
    vendor/perl/dist/lib/Pod/Simple/PullParserToken.pm
    vendor/perl/dist/lib/Pod/Simple/README
    vendor/perl/dist/lib/Pod/Simple/RTF.pm
    vendor/perl/dist/lib/Pod/Simple/Search.pm
    vendor/perl/dist/lib/Pod/Simple/SimpleTree.pm
    vendor/perl/dist/lib/Pod/Simple/Subclassing.pod
    vendor/perl/dist/lib/Pod/Simple/Text.pm
    vendor/perl/dist/lib/Pod/Simple/TextContent.pm
    vendor/perl/dist/lib/Pod/Simple/TiedOutFH.pm
    vendor/perl/dist/lib/Pod/Simple/Transcode.pm
    vendor/perl/dist/lib/Pod/Simple/TranscodeDumb.pm
    vendor/perl/dist/lib/Pod/Simple/TranscodeSmart.pm
    vendor/perl/dist/lib/Pod/Simple/XHTML.pm
    vendor/perl/dist/lib/Pod/Simple/XMLOutStream.pm
    vendor/perl/dist/lib/Pod/Simple/t/00about.t
    vendor/perl/dist/lib/Pod/Simple/t/20_skip.t
    vendor/perl/dist/lib/Pod/Simple/t/ac_d.t
    vendor/perl/dist/lib/Pod/Simple/t/accept01.t
    vendor/perl/dist/lib/Pod/Simple/t/accept05.t
    vendor/perl/dist/lib/Pod/Simple/t/basic.t
    vendor/perl/dist/lib/Pod/Simple/t/begin.t
    vendor/perl/dist/lib/Pod/Simple/t/cbacks.t
    vendor/perl/dist/lib/Pod/Simple/t/chunking.t
    vendor/perl/dist/lib/Pod/Simple/t/closeys.t
    vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.txt.packed
    vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.txt.packed
    vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.txt.packed
    vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.pod
    vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.pod
    vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus.t
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_implicit_utf8.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16be_bom.txt.packed
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16le_bom.txt.packed
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.xml
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.txt
    vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.xml
    vendor/perl/dist/lib/Pod/Simple/t/encod01.t
    vendor/perl/dist/lib/Pod/Simple/t/encod02.t
    vendor/perl/dist/lib/Pod/Simple/t/encod03.t
    vendor/perl/dist/lib/Pod/Simple/t/end_over.t
    vendor/perl/dist/lib/Pod/Simple/t/fcodes.t
    vendor/perl/dist/lib/Pod/Simple/t/fcodes_e.t
    vendor/perl/dist/lib/Pod/Simple/t/fcodes_l.t
    vendor/perl/dist/lib/Pod/Simple/t/fcodes_s.t
    vendor/perl/dist/lib/Pod/Simple/t/for.t
    vendor/perl/dist/lib/Pod/Simple/t/fornot.t
    vendor/perl/dist/lib/Pod/Simple/t/fullstop.t
    vendor/perl/dist/lib/Pod/Simple/t/heads.t
    vendor/perl/dist/lib/Pod/Simple/t/html01.t
    vendor/perl/dist/lib/Pod/Simple/t/html02.t
    vendor/perl/dist/lib/Pod/Simple/t/html03.t
    vendor/perl/dist/lib/Pod/Simple/t/htmlbat.t
    vendor/perl/dist/lib/Pod/Simple/t/items.t
    vendor/perl/dist/lib/Pod/Simple/t/items02.t
    vendor/perl/dist/lib/Pod/Simple/t/itemstar.t
    vendor/perl/dist/lib/Pod/Simple/t/junk1.pod
    vendor/perl/dist/lib/Pod/Simple/t/junk1o.txt
    vendor/perl/dist/lib/Pod/Simple/t/junk2.pod
    vendor/perl/dist/lib/Pod/Simple/t/junk2o.txt
    vendor/perl/dist/lib/Pod/Simple/t/linkclas.t
    vendor/perl/dist/lib/Pod/Simple/t/perlcyg.pod
    vendor/perl/dist/lib/Pod/Simple/t/perlcygo.txt
    vendor/perl/dist/lib/Pod/Simple/t/perlfaq.pod
    vendor/perl/dist/lib/Pod/Simple/t/perlfaqo.txt
    vendor/perl/dist/lib/Pod/Simple/t/perlvar.pod
    vendor/perl/dist/lib/Pod/Simple/t/perlvaro.txt
    vendor/perl/dist/lib/Pod/Simple/t/puller.t
    vendor/perl/dist/lib/Pod/Simple/t/pulltitl.t
    vendor/perl/dist/lib/Pod/Simple/t/reinit.t
    vendor/perl/dist/lib/Pod/Simple/t/render.t
    vendor/perl/dist/lib/Pod/Simple/t/search05.t
    vendor/perl/dist/lib/Pod/Simple/t/search10.t
    vendor/perl/dist/lib/Pod/Simple/t/search12.t
    vendor/perl/dist/lib/Pod/Simple/t/search20.t
    vendor/perl/dist/lib/Pod/Simple/t/search22.t
    vendor/perl/dist/lib/Pod/Simple/t/search25.t
    vendor/perl/dist/lib/Pod/Simple/t/search26.t
    vendor/perl/dist/lib/Pod/Simple/t/search27.t
    vendor/perl/dist/lib/Pod/Simple/t/search28.t
    vendor/perl/dist/lib/Pod/Simple/t/search29.t
    vendor/perl/dist/lib/Pod/Simple/t/search50.t
    vendor/perl/dist/lib/Pod/Simple/t/stree.t
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/Blorm.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Fiddle.txt
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Pronk.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Veng.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Glunk.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Vliff.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/readme.txt
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlflif.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlthng.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Glunk.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Vliff.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib1/zikzik.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib2/Suzzle.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Glunk.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Vliff.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/readme.txt
    vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlthng.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlzuk.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Vliff.pm
    vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Wowo.pod
    vendor/perl/dist/lib/Pod/Simple/t/testlib3/squaa/Vliff.pm
    vendor/perl/dist/lib/Pod/Simple/t/tiedfh.t
    vendor/perl/dist/lib/Pod/Simple/t/verb_fmt.t
    vendor/perl/dist/lib/Pod/Simple/t/verbatim.t
    vendor/perl/dist/lib/Pod/Simple/t/x_nixer.t
    vendor/perl/dist/lib/Pod/Simple/t/xhtml01.t
    vendor/perl/dist/lib/Pod/Simple/t/xhtml05.t
    vendor/perl/dist/lib/Pod/Simple.pm
    vendor/perl/dist/lib/Pod/Simple.pod
    vendor/perl/dist/lib/Pod/Text/Color.pm
    vendor/perl/dist/lib/Pod/Text/Overstrike.pm
    vendor/perl/dist/lib/Pod/Text/Termcap.pm
    vendor/perl/dist/lib/Pod/Text.pm
    vendor/perl/dist/lib/Pod/Usage.pm
    vendor/perl/dist/lib/Pod/t/Functions.t
    vendor/perl/dist/lib/Pod/t/InputObjects.t
    vendor/perl/dist/lib/Pod/t/Select.t
    vendor/perl/dist/lib/Pod/t/Usage.t
    vendor/perl/dist/lib/Pod/t/basic.cap
    vendor/perl/dist/lib/Pod/t/basic.clr
    vendor/perl/dist/lib/Pod/t/basic.man
    vendor/perl/dist/lib/Pod/t/basic.ovr
    vendor/perl/dist/lib/Pod/t/basic.pod
    vendor/perl/dist/lib/Pod/t/basic.t
    vendor/perl/dist/lib/Pod/t/basic.txt
    vendor/perl/dist/lib/Pod/t/color.t
    vendor/perl/dist/lib/Pod/t/contains_pod.t
    vendor/perl/dist/lib/Pod/t/eol.t
    vendor/perl/dist/lib/Pod/t/filehandle.t
    vendor/perl/dist/lib/Pod/t/htmlescp.pod
    vendor/perl/dist/lib/Pod/t/htmlescp.t
    vendor/perl/dist/lib/Pod/t/htmllink.pod
    vendor/perl/dist/lib/Pod/t/htmllink.t
    vendor/perl/dist/lib/Pod/t/htmlview.pod
    vendor/perl/dist/lib/Pod/t/htmlview.t
    vendor/perl/dist/lib/Pod/t/man-options.t
    vendor/perl/dist/lib/Pod/t/man-utf8.t
    vendor/perl/dist/lib/Pod/t/man.t
    vendor/perl/dist/lib/Pod/t/parselink.t
    vendor/perl/dist/lib/Pod/t/pod-parser.t
    vendor/perl/dist/lib/Pod/t/pod-spelling.t
    vendor/perl/dist/lib/Pod/t/pod.t
    vendor/perl/dist/lib/Pod/t/pod2html-lib.pl
    vendor/perl/dist/lib/Pod/t/pod2latex.t
    vendor/perl/dist/lib/Pod/t/termcap.t
    vendor/perl/dist/lib/Pod/t/text-encoding.t
    vendor/perl/dist/lib/Pod/t/text-options.t
    vendor/perl/dist/lib/Pod/t/text-utf8.t
    vendor/perl/dist/lib/Pod/t/text.t
    vendor/perl/dist/lib/Pod/t/user.t
    vendor/perl/dist/lib/Pod/t/utils.t
    vendor/perl/dist/lib/Search/Dict.pm
    vendor/perl/dist/lib/Search/Dict.t
    vendor/perl/dist/lib/SelectSaver.pm
    vendor/perl/dist/lib/SelectSaver.t
    vendor/perl/dist/lib/SelfLoader/t/01SelfLoader.t
    vendor/perl/dist/lib/SelfLoader/t/02SelfLoader-buggy.t
    vendor/perl/dist/lib/SelfLoader-buggy.t
    vendor/perl/dist/lib/SelfLoader.pm
    vendor/perl/dist/lib/SelfLoader.t
    vendor/perl/dist/lib/Shell.pm
    vendor/perl/dist/lib/Shell.t
    vendor/perl/dist/lib/Switch/t/given.t
    vendor/perl/dist/lib/Switch/t/nested.t
    vendor/perl/dist/lib/Switch/t/switch.t
    vendor/perl/dist/lib/Switch.pm
    vendor/perl/dist/lib/Symbol.pm
    vendor/perl/dist/lib/Symbol.t
    vendor/perl/dist/lib/Term/ANSIColor/ChangeLog
    vendor/perl/dist/lib/Term/ANSIColor/README
    vendor/perl/dist/lib/Term/ANSIColor/t/basic.t
    vendor/perl/dist/lib/Term/ANSIColor.pm
    vendor/perl/dist/lib/Term/Cap.pm
    vendor/perl/dist/lib/Term/Cap.t
    vendor/perl/dist/lib/Term/Complete.pm
    vendor/perl/dist/lib/Term/Complete.t
    vendor/perl/dist/lib/Term/ReadLine.pm
    vendor/perl/dist/lib/Term/ReadLine.t
    vendor/perl/dist/lib/Term/UI/History.pm
    vendor/perl/dist/lib/Term/UI/t/00_load.t
    vendor/perl/dist/lib/Term/UI/t/01_history.t
    vendor/perl/dist/lib/Term/UI/t/02_ui.t
    vendor/perl/dist/lib/Term/UI.pm
    vendor/perl/dist/lib/Test/Builder/Module.pm
    vendor/perl/dist/lib/Test/Builder/Tester/Color.pm
    vendor/perl/dist/lib/Test/Builder/Tester.pm
    vendor/perl/dist/lib/Test/Builder.pm
    vendor/perl/dist/lib/Test/Harness/Assert.pm
    vendor/perl/dist/lib/Test/Harness/Iterator.pm
    vendor/perl/dist/lib/Test/Harness/Point.pm
    vendor/perl/dist/lib/Test/Harness/Results.pm
    vendor/perl/dist/lib/Test/Harness/Straps.pm
    vendor/perl/dist/lib/Test/Harness/TAP.pod
    vendor/perl/dist/lib/Test/Harness/Util.pm
    vendor/perl/dist/lib/Test/Harness/bin/prove
    vendor/perl/dist/lib/Test/Harness/t/00compile.t
    vendor/perl/dist/lib/Test/Harness/t/assert.t
    vendor/perl/dist/lib/Test/Harness/t/base.t
    vendor/perl/dist/lib/Test/Harness/t/callback.t
    vendor/perl/dist/lib/Test/Harness/t/failure.t
    vendor/perl/dist/lib/Test/Harness/t/from_line.t
    vendor/perl/dist/lib/Test/Harness/t/harness.t
    vendor/perl/dist/lib/Test/Harness/t/inc_taint.t
    vendor/perl/dist/lib/Test/Harness/t/nonumbers.t
    vendor/perl/dist/lib/Test/Harness/t/ok.t
    vendor/perl/dist/lib/Test/Harness/t/point-parse.t
    vendor/perl/dist/lib/Test/Harness/t/point.t
    vendor/perl/dist/lib/Test/Harness/t/prove-globbing.t
    vendor/perl/dist/lib/Test/Harness/t/prove-switches.t
    vendor/perl/dist/lib/Test/Harness/t/strap-analyze.t
    vendor/perl/dist/lib/Test/Harness/t/strap.t
    vendor/perl/dist/lib/Test/Harness/t/test-harness.t
    vendor/perl/dist/lib/Test/Harness/t/version.t
    vendor/perl/dist/lib/Test/Harness.pm
    vendor/perl/dist/lib/Test/More.pm
    vendor/perl/dist/lib/Test/Simple/README
    vendor/perl/dist/lib/Test/Simple/TODO
    vendor/perl/dist/lib/Test/Simple/t/00test_harness_check.t
    vendor/perl/dist/lib/Test/Simple/t/BEGIN_require_ok.t
    vendor/perl/dist/lib/Test/Simple/t/BEGIN_use_ok.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/Builder.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/carp.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/create.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/current_test.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/current_test_without_plan.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/details.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_double.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_plan_mismatch.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_no_plan.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_number.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_plan.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/fork_with_new_stdout.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan2.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/is_fh.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/maybe_regex.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/no_diag.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/no_ending.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/no_header.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/no_plan_at_all.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/ok_obj.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/output.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/reset.t
    vendor/perl/dist/lib/Test/Simple/t/Builder/try.t
    vendor/perl/dist/lib/Test/Simple/t/Builder.t
    vendor/perl/dist/lib/Test/Simple/t/More.t
    vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_01basic.t
    vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_02fhrestore.t
    vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_03die.t
    vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_04line_num.t
    vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_05faildiag.t
    vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_06errormess.t
    vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_07args.t
    vendor/perl/dist/lib/Test/Simple/t/bad_plan.t
    vendor/perl/dist/lib/Test/Simple/t/bail_out.t
    vendor/perl/dist/lib/Test/Simple/t/buffer.t
    vendor/perl/dist/lib/Test/Simple/t/c_flag.t
    vendor/perl/dist/lib/Test/Simple/t/carp.t
    vendor/perl/dist/lib/Test/Simple/t/circular_data.t
    vendor/perl/dist/lib/Test/Simple/t/cmp_ok.t
    vendor/perl/dist/lib/Test/Simple/t/create.t
    vendor/perl/dist/lib/Test/Simple/t/curr_test.t
    vendor/perl/dist/lib/Test/Simple/t/details.t
    vendor/perl/dist/lib/Test/Simple/t/diag.t
    vendor/perl/dist/lib/Test/Simple/t/died.t
    vendor/perl/dist/lib/Test/Simple/t/dont_overwrite_die_handler.t
    vendor/perl/dist/lib/Test/Simple/t/eq_set.t
    vendor/perl/dist/lib/Test/Simple/t/exit.t
    vendor/perl/dist/lib/Test/Simple/t/explain.t
    vendor/perl/dist/lib/Test/Simple/t/extra.t
    vendor/perl/dist/lib/Test/Simple/t/extra_one.t
    vendor/perl/dist/lib/Test/Simple/t/fail-like.t
    vendor/perl/dist/lib/Test/Simple/t/fail-more.t
    vendor/perl/dist/lib/Test/Simple/t/fail.t
    vendor/perl/dist/lib/Test/Simple/t/fail_one.t
    vendor/perl/dist/lib/Test/Simple/t/filehandles.t
    vendor/perl/dist/lib/Test/Simple/t/fork.t
    vendor/perl/dist/lib/Test/Simple/t/harness_active.t
    vendor/perl/dist/lib/Test/Simple/t/has_plan.t
    vendor/perl/dist/lib/Test/Simple/t/has_plan2.t
    vendor/perl/dist/lib/Test/Simple/t/import.t
    vendor/perl/dist/lib/Test/Simple/t/is_deeply_dne_bug.t
    vendor/perl/dist/lib/Test/Simple/t/is_deeply_fail.t
    vendor/perl/dist/lib/Test/Simple/t/is_deeply_with_threads.t
    vendor/perl/dist/lib/Test/Simple/t/is_fh.t
    vendor/perl/dist/lib/Test/Simple/t/lib/Dummy.pm
    vendor/perl/dist/lib/Test/Simple/t/lib/MyOverload.pm
    vendor/perl/dist/lib/Test/Simple/t/lib/NoExporter.pm
    vendor/perl/dist/lib/Test/Simple/t/lib/SigDie.pm
    vendor/perl/dist/lib/Test/Simple/t/maybe_regex.t
    vendor/perl/dist/lib/Test/Simple/t/missing.t
    vendor/perl/dist/lib/Test/Simple/t/new_ok.t
    vendor/perl/dist/lib/Test/Simple/t/no_diag.t
    vendor/perl/dist/lib/Test/Simple/t/no_ending.t
    vendor/perl/dist/lib/Test/Simple/t/no_header.t
    vendor/perl/dist/lib/Test/Simple/t/no_plan.t
    vendor/perl/dist/lib/Test/Simple/t/no_tests.t
    vendor/perl/dist/lib/Test/Simple/t/note.t
    vendor/perl/dist/lib/Test/Simple/t/ok_obj.t
    vendor/perl/dist/lib/Test/Simple/t/output.t
    vendor/perl/dist/lib/Test/Simple/t/overload.t
    vendor/perl/dist/lib/Test/Simple/t/overload_threads.t
    vendor/perl/dist/lib/Test/Simple/t/plan.t
    vendor/perl/dist/lib/Test/Simple/t/plan_bad.t
    vendor/perl/dist/lib/Test/Simple/t/plan_is_noplan.t
    vendor/perl/dist/lib/Test/Simple/t/plan_no_plan.t
    vendor/perl/dist/lib/Test/Simple/t/plan_shouldnt_import.t
    vendor/perl/dist/lib/Test/Simple/t/plan_skip_all.t
    vendor/perl/dist/lib/Test/Simple/t/require_ok.t
    vendor/perl/dist/lib/Test/Simple/t/reset.t
    vendor/perl/dist/lib/Test/Simple/t/simple.t
    vendor/perl/dist/lib/Test/Simple/t/skip.t
    vendor/perl/dist/lib/Test/Simple/t/skipall.t
    vendor/perl/dist/lib/Test/Simple/t/tbm_doesnt_set_exported_to.t
    vendor/perl/dist/lib/Test/Simple/t/tbt_01basic.t
    vendor/perl/dist/lib/Test/Simple/t/tbt_02fhrestore.t
    vendor/perl/dist/lib/Test/Simple/t/tbt_03die.t
    vendor/perl/dist/lib/Test/Simple/t/tbt_04line_num.t
    vendor/perl/dist/lib/Test/Simple/t/tbt_05faildiag.t
    vendor/perl/dist/lib/Test/Simple/t/tbt_06errormess.t
    vendor/perl/dist/lib/Test/Simple/t/tbt_07args.t
    vendor/perl/dist/lib/Test/Simple/t/thread_taint.t
    vendor/perl/dist/lib/Test/Simple/t/threads.t
    vendor/perl/dist/lib/Test/Simple/t/todo.t
    vendor/perl/dist/lib/Test/Simple/t/try.t
    vendor/perl/dist/lib/Test/Simple/t/undef.t
    vendor/perl/dist/lib/Test/Simple/t/use_ok.t
    vendor/perl/dist/lib/Test/Simple/t/useing.t
    vendor/perl/dist/lib/Test/Simple/t/utf8.t
    vendor/perl/dist/lib/Test/Simple/t/versions.t
    vendor/perl/dist/lib/Test/Simple.pm
    vendor/perl/dist/lib/Test/Tutorial.pod
    vendor/perl/dist/lib/Test/t/05_about_verbose.t
    vendor/perl/dist/lib/Test/t/fail.t
    vendor/perl/dist/lib/Test/t/mix.t
    vendor/perl/dist/lib/Test/t/multiline.t
    vendor/perl/dist/lib/Test/t/onfail.t
    vendor/perl/dist/lib/Test/t/qr.t
    vendor/perl/dist/lib/Test/t/skip.t
    vendor/perl/dist/lib/Test/t/success.t
    vendor/perl/dist/lib/Test/t/todo.t
    vendor/perl/dist/lib/Test.pm
    vendor/perl/dist/lib/Text/Abbrev.pm
    vendor/perl/dist/lib/Text/Abbrev.t
    vendor/perl/dist/lib/Text/Balanced/README
    vendor/perl/dist/lib/Text/Balanced/t/00-load.t
    vendor/perl/dist/lib/Text/Balanced/t/extbrk.t
    vendor/perl/dist/lib/Text/Balanced/t/extcbk.t
    vendor/perl/dist/lib/Text/Balanced/t/extdel.t
    vendor/perl/dist/lib/Text/Balanced/t/extmul.t
    vendor/perl/dist/lib/Text/Balanced/t/extqlk.t
    vendor/perl/dist/lib/Text/Balanced/t/exttag.t
    vendor/perl/dist/lib/Text/Balanced/t/extvar.t
    vendor/perl/dist/lib/Text/Balanced/t/gentag.t
    vendor/perl/dist/lib/Text/Balanced.pm
    vendor/perl/dist/lib/Text/ParseWords/taint.t
    vendor/perl/dist/lib/Text/ParseWords.pm
    vendor/perl/dist/lib/Text/ParseWords.t
    vendor/perl/dist/lib/Text/Tabs.pm
    vendor/perl/dist/lib/Text/TabsWrap/CHANGELOG
    vendor/perl/dist/lib/Text/TabsWrap/t/37000.t
    vendor/perl/dist/lib/Text/TabsWrap/t/39548.t
    vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson.t
    vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson2.t
    vendor/perl/dist/lib/Text/TabsWrap/t/Jochen.t
    vendor/perl/dist/lib/Text/TabsWrap/t/belg4mit.t
    vendor/perl/dist/lib/Text/TabsWrap/t/dandv.t
    vendor/perl/dist/lib/Text/TabsWrap/t/fill.t
    vendor/perl/dist/lib/Text/TabsWrap/t/sep.t
    vendor/perl/dist/lib/Text/TabsWrap/t/sep2.t
    vendor/perl/dist/lib/Text/TabsWrap/t/tabs.t
    vendor/perl/dist/lib/Text/TabsWrap/t/wrap.t
    vendor/perl/dist/lib/Text/TabsWrap/t/wrap_separator2.t
    vendor/perl/dist/lib/Text/Wrap.pm
    vendor/perl/dist/lib/Thread/Queue/t/01_basic.t
    vendor/perl/dist/lib/Thread/Queue/t/02_refs.t
    vendor/perl/dist/lib/Thread/Queue/t/03_peek.t
    vendor/perl/dist/lib/Thread/Queue/t/04_errs.t
    vendor/perl/dist/lib/Thread/Queue/t/05_extract.t
    vendor/perl/dist/lib/Thread/Queue/t/06_insert.t
    vendor/perl/dist/lib/Thread/Queue/t/07_lock.t
    vendor/perl/dist/lib/Thread/Queue/t/08_nothreads.t
    vendor/perl/dist/lib/Thread/Queue.pm
    vendor/perl/dist/lib/Thread/Queue.t
    vendor/perl/dist/lib/Thread/Semaphore/t/01_basic.t
    vendor/perl/dist/lib/Thread/Semaphore/t/02_errs.t
    vendor/perl/dist/lib/Thread/Semaphore/t/03_nothreads.t
    vendor/perl/dist/lib/Thread/Semaphore.pm
    vendor/perl/dist/lib/Thread/Semaphore.t
    vendor/perl/dist/lib/Thread.pm
    vendor/perl/dist/lib/Thread.t
    vendor/perl/dist/lib/Tie/Array/push.t
    vendor/perl/dist/lib/Tie/Array/splice.t
    vendor/perl/dist/lib/Tie/Array/std.t
    vendor/perl/dist/lib/Tie/Array/stdpush.t
    vendor/perl/dist/lib/Tie/Array.pm
    vendor/perl/dist/lib/Tie/ExtraHash.t
    vendor/perl/dist/lib/Tie/File/t/00_version.t
    vendor/perl/dist/lib/Tie/File/t/01_gen.t
    vendor/perl/dist/lib/Tie/File/t/02_fetchsize.t
    vendor/perl/dist/lib/Tie/File/t/03_longfetch.t
    vendor/perl/dist/lib/Tie/File/t/04_splice.t
    vendor/perl/dist/lib/Tie/File/t/05_size.t
    vendor/perl/dist/lib/Tie/File/t/06_fixrec.t
    vendor/perl/dist/lib/Tie/File/t/07_rv_splice.t
    vendor/perl/dist/lib/Tie/File/t/08_ro.t
    vendor/perl/dist/lib/Tie/File/t/09_gen_rs.t
    vendor/perl/dist/lib/Tie/File/t/10_splice_rs.t
    vendor/perl/dist/lib/Tie/File/t/11_rv_splice_rs.t
    vendor/perl/dist/lib/Tie/File/t/12_longfetch_rs.t
    vendor/perl/dist/lib/Tie/File/t/13_size_rs.t
    vendor/perl/dist/lib/Tie/File/t/14_lock.t
    vendor/perl/dist/lib/Tie/File/t/15_pushpop.t
    vendor/perl/dist/lib/Tie/File/t/16_handle.t
    vendor/perl/dist/lib/Tie/File/t/17_misc_meth.t
    vendor/perl/dist/lib/Tie/File/t/18_rs_fixrec.t
    vendor/perl/dist/lib/Tie/File/t/19_cache.t
    vendor/perl/dist/lib/Tie/File/t/20_cache_full.t
    vendor/perl/dist/lib/Tie/File/t/22_autochomp.t
    vendor/perl/dist/lib/Tie/File/t/23_rv_ac_splice.t
    vendor/perl/dist/lib/Tie/File/t/24_cache_loop.t
    vendor/perl/dist/lib/Tie/File/t/25_gen_nocache.t
    vendor/perl/dist/lib/Tie/File/t/26_twrite.t
    vendor/perl/dist/lib/Tie/File/t/27_iwrite.t
    vendor/perl/dist/lib/Tie/File/t/28_mtwrite.t
    vendor/perl/dist/lib/Tie/File/t/29_downcopy.t
    vendor/perl/dist/lib/Tie/File/t/29a_upcopy.t
    vendor/perl/dist/lib/Tie/File/t/30_defer.t
    vendor/perl/dist/lib/Tie/File/t/31_autodefer.t
    vendor/perl/dist/lib/Tie/File/t/32_defer_misc.t
    vendor/perl/dist/lib/Tie/File/t/33_defer_vs.t
    vendor/perl/dist/lib/Tie/File/t/40_abs_cache.t
    vendor/perl/dist/lib/Tie/File/t/41_heap.t
    vendor/perl/dist/lib/Tie/File/t/42_offset.t
    vendor/perl/dist/lib/Tie/File.pm
    vendor/perl/dist/lib/Tie/Handle/stdhandle.t
    vendor/perl/dist/lib/Tie/Handle/stdhandle_from_handle.t
    vendor/perl/dist/lib/Tie/Handle.pm
    vendor/perl/dist/lib/Tie/Hash/NamedCapture.pm
    vendor/perl/dist/lib/Tie/Hash.pm
    vendor/perl/dist/lib/Tie/Hash.t
    vendor/perl/dist/lib/Tie/Memoize.pm
    vendor/perl/dist/lib/Tie/Memoize.t
    vendor/perl/dist/lib/Tie/RefHash/rebless.t
    vendor/perl/dist/lib/Tie/RefHash/refhash.t
    vendor/perl/dist/lib/Tie/RefHash/storable.t
    vendor/perl/dist/lib/Tie/RefHash/threaded.t
    vendor/perl/dist/lib/Tie/RefHash.pm
    vendor/perl/dist/lib/Tie/Scalar.pm
    vendor/perl/dist/lib/Tie/Scalar.t
    vendor/perl/dist/lib/Tie/StdHandle.pm
    vendor/perl/dist/lib/Tie/SubstrHash.pm
    vendor/perl/dist/lib/Tie/SubstrHash.t
    vendor/perl/dist/lib/Time/Local.pm
    vendor/perl/dist/lib/Time/Local.t
    vendor/perl/dist/lib/Time/gmtime.pm
    vendor/perl/dist/lib/Time/gmtime.t
    vendor/perl/dist/lib/Time/localtime.pm
    vendor/perl/dist/lib/Time/localtime.t
    vendor/perl/dist/lib/Time/tm.pm
    vendor/perl/dist/lib/UNIVERSAL.pm
    vendor/perl/dist/lib/Unicode/Collate/README
    vendor/perl/dist/lib/Unicode/Collate/allkeys.txt
    vendor/perl/dist/lib/Unicode/Collate/keys.txt
    vendor/perl/dist/lib/Unicode/Collate/t/altern.t
    vendor/perl/dist/lib/Unicode/Collate/t/cjkrange.t
    vendor/perl/dist/lib/Unicode/Collate/t/contract.t
    vendor/perl/dist/lib/Unicode/Collate/t/hangtype.t
    vendor/perl/dist/lib/Unicode/Collate/t/hangul.t
    vendor/perl/dist/lib/Unicode/Collate/t/ignor.t
    vendor/perl/dist/lib/Unicode/Collate/t/illegal.t
    vendor/perl/dist/lib/Unicode/Collate/t/illegalp.t
    vendor/perl/dist/lib/Unicode/Collate/t/index.t
    vendor/perl/dist/lib/Unicode/Collate/t/normal.t
    vendor/perl/dist/lib/Unicode/Collate/t/override.t
    vendor/perl/dist/lib/Unicode/Collate/t/rearrang.t
    vendor/perl/dist/lib/Unicode/Collate/t/test.t
    vendor/perl/dist/lib/Unicode/Collate/t/trailwt.t
    vendor/perl/dist/lib/Unicode/Collate/t/variable.t
    vendor/perl/dist/lib/Unicode/Collate/t/version.t
    vendor/perl/dist/lib/Unicode/Collate/t/view.t
    vendor/perl/dist/lib/Unicode/Collate.pm
    vendor/perl/dist/lib/Unicode/README
    vendor/perl/dist/lib/Unicode/UCD.pm
    vendor/perl/dist/lib/Unicode/UCD.t
    vendor/perl/dist/lib/User/grent.pm
    vendor/perl/dist/lib/User/grent.t
    vendor/perl/dist/lib/User/pwent.pm
    vendor/perl/dist/lib/User/pwent.t
    vendor/perl/dist/lib/abbrev.pl
    vendor/perl/dist/lib/assert.pl
    vendor/perl/dist/lib/attributes.pm
    vendor/perl/dist/lib/autodie/exception/system.pm
    vendor/perl/dist/lib/autodie/exception.pm
    vendor/perl/dist/lib/autodie/hints.pm
    vendor/perl/dist/lib/autodie/t/00-load.t
    vendor/perl/dist/lib/autodie/t/Fatal.t
    vendor/perl/dist/lib/autodie/t/autodie.t
    vendor/perl/dist/lib/autodie/t/autodie_test_module.pm
    vendor/perl/dist/lib/autodie/t/backcompat.t
    vendor/perl/dist/lib/autodie/t/basic_exceptions.t
    vendor/perl/dist/lib/autodie/t/binmode.t
    vendor/perl/dist/lib/autodie/t/blog_hints.t
    vendor/perl/dist/lib/autodie/t/caller.t
    vendor/perl/dist/lib/autodie/t/context.t
    vendor/perl/dist/lib/autodie/t/context_lexical.t
    vendor/perl/dist/lib/autodie/t/crickey.t
    vendor/perl/dist/lib/autodie/t/dbmopen.t
    vendor/perl/dist/lib/autodie/t/exception_class.t
    vendor/perl/dist/lib/autodie/t/exceptions.t
    vendor/perl/dist/lib/autodie/t/exec.t
    vendor/perl/dist/lib/autodie/t/filehandles.t
    vendor/perl/dist/lib/autodie/t/fileno.t
    vendor/perl/dist/lib/autodie/t/flock.t
    vendor/perl/dist/lib/autodie/t/format-clobber.t
    vendor/perl/dist/lib/autodie/t/hints.t
    vendor/perl/dist/lib/autodie/t/hints_insist.t
    vendor/perl/dist/lib/autodie/t/hints_pod_examples.t
    vendor/perl/dist/lib/autodie/t/hints_provider_does.t
    vendor/perl/dist/lib/autodie/t/hints_provider_easy_does_it.t
    vendor/perl/dist/lib/autodie/t/hints_provider_isa.t
    vendor/perl/dist/lib/autodie/t/internal-backcompat.t
    vendor/perl/dist/lib/autodie/t/internal.t
    vendor/perl/dist/lib/autodie/t/lethal.t
    vendor/perl/dist/lib/autodie/t/lib/Caller_helper.pm
    vendor/perl/dist/lib/autodie/t/lib/Hints_pod_examples.pm
    vendor/perl/dist/lib/autodie/t/lib/Hints_provider_does.pm
    vendor/perl/dist/lib/autodie/t/lib/Hints_provider_easy_does_it.pm
    vendor/perl/dist/lib/autodie/t/lib/Hints_provider_isa.pm
    vendor/perl/dist/lib/autodie/t/lib/Hints_test.pm
    vendor/perl/dist/lib/autodie/t/lib/OtherTypes.pm
    vendor/perl/dist/lib/autodie/t/lib/Some/Module.pm
    vendor/perl/dist/lib/autodie/t/lib/autodie/test/au/exception.pm
    vendor/perl/dist/lib/autodie/t/lib/autodie/test/au.pm
    vendor/perl/dist/lib/autodie/t/lib/autodie/test/badname.pm
    vendor/perl/dist/lib/autodie/t/lib/autodie/test/missing.pm
    vendor/perl/dist/lib/autodie/t/lib/lethal.pm
    vendor/perl/dist/lib/autodie/t/lib/my/autodie.pm
    vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach/Dotlh.pm
    vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach.pm
    vendor/perl/dist/lib/autodie/t/mkdir.t
    vendor/perl/dist/lib/autodie/t/open.t
    vendor/perl/dist/lib/autodie/t/recv.t
    vendor/perl/dist/lib/autodie/t/repeat.t
    vendor/perl/dist/lib/autodie/t/scope_leak.t
    vendor/perl/dist/lib/autodie/t/string-eval-basic.t
    vendor/perl/dist/lib/autodie/t/string-eval-leak.t
    vendor/perl/dist/lib/autodie/t/sysopen.t
    vendor/perl/dist/lib/autodie/t/truncate.t
    vendor/perl/dist/lib/autodie/t/unlink.t
    vendor/perl/dist/lib/autodie/t/user-context.t
    vendor/perl/dist/lib/autodie/t/usersub.t
    vendor/perl/dist/lib/autodie/t/version.t
    vendor/perl/dist/lib/autodie/t/version_tag.t
    vendor/perl/dist/lib/autodie.pm
    vendor/perl/dist/lib/autouse.pm
    vendor/perl/dist/lib/autouse.t
    vendor/perl/dist/lib/base/t/base.t
    vendor/perl/dist/lib/base/t/compile-time.t
    vendor/perl/dist/lib/base/t/fields-5.6.0.t
    vendor/perl/dist/lib/base/t/fields-5.8.0.t
    vendor/perl/dist/lib/base/t/fields-base.t
    vendor/perl/dist/lib/base/t/fields.t
    vendor/perl/dist/lib/base/t/isa.t
    vendor/perl/dist/lib/base/t/lib/Dummy.pm
    vendor/perl/dist/lib/base/t/lib/HasSigDie.pm
    vendor/perl/dist/lib/base/t/sigdie.t
    vendor/perl/dist/lib/base/t/version.t
    vendor/perl/dist/lib/base/t/warnings.t
    vendor/perl/dist/lib/base.pm
    vendor/perl/dist/lib/bigfloat.pl
    vendor/perl/dist/lib/bigfloatpl.t
    vendor/perl/dist/lib/bigint.pl
    vendor/perl/dist/lib/bigint.pm
    vendor/perl/dist/lib/bigintpl.t
    vendor/perl/dist/lib/bignum/t/big_e_pi.t
    vendor/perl/dist/lib/bignum/t/bigexp.t
    vendor/perl/dist/lib/bignum/t/bigint.t
    vendor/perl/dist/lib/bignum/t/bignum.t
    vendor/perl/dist/lib/bignum/t/bigrat.t
    vendor/perl/dist/lib/bignum/t/bii_e_pi.t
    vendor/perl/dist/lib/bignum/t/biinfnan.t
    vendor/perl/dist/lib/bignum/t/bir_e_pi.t
    vendor/perl/dist/lib/bignum/t/bn_lite.t
    vendor/perl/dist/lib/bignum/t/bninfnan.t
    vendor/perl/dist/lib/bignum/t/br_lite.t
    vendor/perl/dist/lib/bignum/t/brinfnan.t
    vendor/perl/dist/lib/bignum/t/in_effect.t
    vendor/perl/dist/lib/bignum/t/infnan.inc
    vendor/perl/dist/lib/bignum/t/option_a.t
    vendor/perl/dist/lib/bignum/t/option_l.t
    vendor/perl/dist/lib/bignum/t/option_p.t
    vendor/perl/dist/lib/bignum/t/ratopt_a.t
    vendor/perl/dist/lib/bignum/t/scope_f.t
    vendor/perl/dist/lib/bignum/t/scope_i.t
    vendor/perl/dist/lib/bignum/t/scope_r.t
    vendor/perl/dist/lib/bignum.pm
    vendor/perl/dist/lib/bigrat.pl
    vendor/perl/dist/lib/bigrat.pm
    vendor/perl/dist/lib/blib.pm
    vendor/perl/dist/lib/blib.t
    vendor/perl/dist/lib/bytes.pm
    vendor/perl/dist/lib/bytes.t
    vendor/perl/dist/lib/bytes_heavy.pl
    vendor/perl/dist/lib/cacheout.pl
    vendor/perl/dist/lib/charnames.pm
    vendor/perl/dist/lib/charnames.t
    vendor/perl/dist/lib/complete.pl
    vendor/perl/dist/lib/constant.pm
    vendor/perl/dist/lib/constant.t
    vendor/perl/dist/lib/ctime.pl
    vendor/perl/dist/lib/dbm_filter_util.pl
    vendor/perl/dist/lib/deprecate.pm
    vendor/perl/dist/lib/diagnostics.pm
    vendor/perl/dist/lib/diagnostics.t
    vendor/perl/dist/lib/dotsh.pl
    vendor/perl/dist/lib/dumpvar.pl
    vendor/perl/dist/lib/dumpvar.t
    vendor/perl/dist/lib/encoding/warnings/t/1-warning.t
    vendor/perl/dist/lib/encoding/warnings/t/2-fatal.t
    vendor/perl/dist/lib/encoding/warnings/t/3-normal.t
    vendor/perl/dist/lib/encoding/warnings/t/4-lexical.t
    vendor/perl/dist/lib/encoding/warnings.pm
    vendor/perl/dist/lib/exceptions.pl
    vendor/perl/dist/lib/fastcwd.pl
    vendor/perl/dist/lib/feature/unicode_strings.t
    vendor/perl/dist/lib/feature.pm
    vendor/perl/dist/lib/feature.t
    vendor/perl/dist/lib/fields.pm
    vendor/perl/dist/lib/filetest.pm
    vendor/perl/dist/lib/filetest.t
    vendor/perl/dist/lib/find.pl
    vendor/perl/dist/lib/finddepth.pl
    vendor/perl/dist/lib/flush.pl
    vendor/perl/dist/lib/getcwd.pl
    vendor/perl/dist/lib/getopt.pl
    vendor/perl/dist/lib/getopts.pl
    vendor/perl/dist/lib/h2ph.t
    vendor/perl/dist/lib/h2xs.t
    vendor/perl/dist/lib/hostname.pl
    vendor/perl/dist/lib/if.pm
    vendor/perl/dist/lib/if.t
    vendor/perl/dist/lib/importenv.pl
    vendor/perl/dist/lib/integer.pm
    vendor/perl/dist/lib/integer.t
    vendor/perl/dist/lib/less.pm
    vendor/perl/dist/lib/less.t
    vendor/perl/dist/lib/lib.t
    vendor/perl/dist/lib/lib_pm.PL
    vendor/perl/dist/lib/locale.pm
    vendor/perl/dist/lib/locale.t
    vendor/perl/dist/lib/look.pl
    vendor/perl/dist/lib/mro.pm
    vendor/perl/dist/lib/newgetopt.pl
    vendor/perl/dist/lib/open.pm
    vendor/perl/dist/lib/open.t
    vendor/perl/dist/lib/open2.pl
    vendor/perl/dist/lib/open3.pl
    vendor/perl/dist/lib/overload/numbers.pm
    vendor/perl/dist/lib/overload.pm
    vendor/perl/dist/lib/overload.t
    vendor/perl/dist/lib/overload64.t
    vendor/perl/dist/lib/overloading.pm
    vendor/perl/dist/lib/overloading.t
    vendor/perl/dist/lib/parent/t/compile-time-file.t
    vendor/perl/dist/lib/parent/t/compile-time.t
    vendor/perl/dist/lib/parent/t/lib/Dummy.pm
    vendor/perl/dist/lib/parent/t/lib/Dummy2.plugin
    vendor/perl/dist/lib/parent/t/lib/FileThatOnlyExistsAsPMC.pmc
    vendor/perl/dist/lib/parent/t/lib/ReturnsFalse.pm
    vendor/perl/dist/lib/parent/t/parent-classfromclassfile.t
    vendor/perl/dist/lib/parent/t/parent-classfromfile.t
    vendor/perl/dist/lib/parent/t/parent-pmc.t
    vendor/perl/dist/lib/parent/t/parent-returns-false.t
    vendor/perl/dist/lib/parent/t/parent.t
    vendor/perl/dist/lib/parent.pm
    vendor/perl/dist/lib/perl5db/t/eval-line-bug
    vendor/perl/dist/lib/perl5db/t/lvalue-bug
    vendor/perl/dist/lib/perl5db/t/proxy-constants
    vendor/perl/dist/lib/perl5db/t/rt-61222
    vendor/perl/dist/lib/perl5db/t/rt-66110
    vendor/perl/dist/lib/perl5db/t/symbol-table-bug
    vendor/perl/dist/lib/perl5db/t/taint
    vendor/perl/dist/lib/perl5db.pl
    vendor/perl/dist/lib/perl5db.t
    vendor/perl/dist/lib/pwd.pl
    vendor/perl/dist/lib/shellwords.pl
    vendor/perl/dist/lib/sigtrap.pm
    vendor/perl/dist/lib/sigtrap.t
    vendor/perl/dist/lib/sort.pm
    vendor/perl/dist/lib/sort.t
    vendor/perl/dist/lib/stat.pl
    vendor/perl/dist/lib/strict.pm
    vendor/perl/dist/lib/strict.t
    vendor/perl/dist/lib/subs.pm
    vendor/perl/dist/lib/subs.t
    vendor/perl/dist/lib/syslog.pl
    vendor/perl/dist/lib/tainted.pl
    vendor/perl/dist/lib/termcap.pl
    vendor/perl/dist/lib/timelocal.pl
    vendor/perl/dist/lib/unicore/ArabicShaping.txt
    vendor/perl/dist/lib/unicore/BidiMirroring.txt
    vendor/perl/dist/lib/unicore/Blocks.txt
    vendor/perl/dist/lib/unicore/CJKRadicals.txt
    vendor/perl/dist/lib/unicore/CaseFolding.txt
    vendor/perl/dist/lib/unicore/CompositionExclusions.txt
    vendor/perl/dist/lib/unicore/DAge.txt
    vendor/perl/dist/lib/unicore/DCoreProperties.txt
    vendor/perl/dist/lib/unicore/DNormalizationProps.txt
    vendor/perl/dist/lib/unicore/EastAsianWidth.txt
    vendor/perl/dist/lib/unicore/EmojiSources.txt
    vendor/perl/dist/lib/unicore/HangulSyllableType.txt
    vendor/perl/dist/lib/unicore/Index.txt
    vendor/perl/dist/lib/unicore/IndicMatraCategory.txt
    vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt
    vendor/perl/dist/lib/unicore/Jamo.txt
    vendor/perl/dist/lib/unicore/LineBreak.txt
    vendor/perl/dist/lib/unicore/Makefile
    vendor/perl/dist/lib/unicore/NameAliases.txt
    vendor/perl/dist/lib/unicore/NamedSequences.txt
    vendor/perl/dist/lib/unicore/NamedSqProv.txt
    vendor/perl/dist/lib/unicore/NamesList.txt
    vendor/perl/dist/lib/unicore/NormalizationCorrections.txt
    vendor/perl/dist/lib/unicore/PropList.txt
    vendor/perl/dist/lib/unicore/PropValueAliases.txt
    vendor/perl/dist/lib/unicore/PropertyAliases.txt
    vendor/perl/dist/lib/unicore/README.perl
    vendor/perl/dist/lib/unicore/ReadMe.txt
    vendor/perl/dist/lib/unicore/ScriptExtensions.txt
    vendor/perl/dist/lib/unicore/Scripts.txt
    vendor/perl/dist/lib/unicore/SpecialCasing.txt
    vendor/perl/dist/lib/unicore/StandardizedVariants.txt
    vendor/perl/dist/lib/unicore/UnicodeData.txt
    vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt
    vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt
    vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt
    vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt
    vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt
    vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt
    vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt
    vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt
    vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt
    vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt
    vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt
    vendor/perl/dist/lib/unicore/extracted/DJoinType.txt
    vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt
    vendor/perl/dist/lib/unicore/extracted/DNumType.txt
    vendor/perl/dist/lib/unicore/extracted/DNumValues.txt
    vendor/perl/dist/lib/unicore/mktables
    vendor/perl/dist/lib/unicore/mktables.lst
    vendor/perl/dist/lib/unicore/version
    vendor/perl/dist/lib/utf8.pm
    vendor/perl/dist/lib/utf8.t
    vendor/perl/dist/lib/utf8_heavy.pl
    vendor/perl/dist/lib/validate.pl
    vendor/perl/dist/lib/vars.pm
    vendor/perl/dist/lib/vars.t
    vendor/perl/dist/lib/vars_carp.t
    vendor/perl/dist/lib/version/Internals.pod
    vendor/perl/dist/lib/version.pm
    vendor/perl/dist/lib/version.pod
    vendor/perl/dist/lib/version.t
    vendor/perl/dist/lib/vmsish.pm
    vendor/perl/dist/lib/vmsish.t
    vendor/perl/dist/lib/warnings/register.pm
    vendor/perl/dist/lib/warnings.pm
    vendor/perl/dist/lib/warnings.t
    vendor/perl/dist/locale.c
    vendor/perl/dist/mad/Nomad.pm
    vendor/perl/dist/mad/P5AST.pm
    vendor/perl/dist/mad/P5re.pm
    vendor/perl/dist/mad/PLXML.pm
    vendor/perl/dist/mad/p55
    vendor/perl/dist/mad/t/p55.t
    vendor/perl/dist/madly.c
    vendor/perl/dist/make_ext.pl
    vendor/perl/dist/make_patchnum.pl
    vendor/perl/dist/makedef.pl
    vendor/perl/dist/makedepend.SH
    vendor/perl/dist/malloc.c
    vendor/perl/dist/malloc_ctl.h
    vendor/perl/dist/mathoms.c
    vendor/perl/dist/metaconfig.SH
    vendor/perl/dist/metaconfig.h
    vendor/perl/dist/mg.c
    vendor/perl/dist/mg.h
    vendor/perl/dist/minimod.pl
    vendor/perl/dist/miniperlmain.c
    vendor/perl/dist/mkppport
    vendor/perl/dist/mkppport.lst
    vendor/perl/dist/mro.c
    vendor/perl/dist/myconfig.SH
    vendor/perl/dist/mydtrace.h
    vendor/perl/dist/nostdio.h
    vendor/perl/dist/numeric.c
    vendor/perl/dist/op.c
    vendor/perl/dist/op.h
    vendor/perl/dist/op_reg_common.h
    vendor/perl/dist/opcode.h
    vendor/perl/dist/opnames.h
    vendor/perl/dist/os2/Changes
    vendor/perl/dist/os2/Makefile.SHs
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/Changes
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.pm
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.xs
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/MANIFEST
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/Makefile.PL
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/myea.h
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/t/os2_ea.t
    vendor/perl/dist/os2/OS2/OS2-ExtAttr/typemap
    vendor/perl/dist/os2/OS2/OS2-PrfDB/Changes
    vendor/perl/dist/os2/OS2/OS2-PrfDB/MANIFEST
    vendor/perl/dist/os2/OS2/OS2-PrfDB/Makefile.PL
    vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.pm
    vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.xs
    vendor/perl/dist/os2/OS2/OS2-PrfDB/t/os2_prfdb.t
    vendor/perl/dist/os2/OS2/OS2-Process/MANIFEST
    vendor/perl/dist/os2/OS2/OS2-Process/Makefile.PL
    vendor/perl/dist/os2/OS2/OS2-Process/Process.pm
    vendor/perl/dist/os2/OS2/OS2-Process/Process.xs
    vendor/perl/dist/os2/OS2/OS2-Process/t/os2_atoms.t
    vendor/perl/dist/os2/OS2/OS2-Process/t/os2_clipboard.t
    vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process.t
    vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_kid.t
    vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_text.t
    vendor/perl/dist/os2/OS2/OS2-REXX/Changes
    vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Changes
    vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.pm
    vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.xs
    vendor/perl/dist/os2/OS2/OS2-REXX/DLL/MANIFEST
    vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Makefile.PL
    vendor/perl/dist/os2/OS2/OS2-REXX/MANIFEST
    vendor/perl/dist/os2/OS2/OS2-REXX/Makefile.PL
    vendor/perl/dist/os2/OS2/OS2-REXX/REXX.pm
    vendor/perl/dist/os2/OS2/OS2-REXX/REXX.xs
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_cmprt.t
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_dllld.t
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_emxrv.t
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_objcall.t
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_sql.test
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tiesql.test
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tievar.t
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tieydb.t
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_varset.t
    vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_vrexx.t
    vendor/perl/dist/os2/OS2/typemap
    vendor/perl/dist/os2/diff.configure
    vendor/perl/dist/os2/dl_os2.c
    vendor/perl/dist/os2/dlfcn.h
    vendor/perl/dist/os2/os2.c
    vendor/perl/dist/os2/os2.sym
    vendor/perl/dist/os2/os2_base.t
    vendor/perl/dist/os2/os2_pipe.t
    vendor/perl/dist/os2/os2add.sym
    vendor/perl/dist/os2/os2ish.h
    vendor/perl/dist/os2/os2thread.h
    vendor/perl/dist/os2/perl2cmd.pl
    vendor/perl/dist/os2/perlrexx.c
    vendor/perl/dist/os2/perlrexx.cmd
    vendor/perl/dist/overload.c
    vendor/perl/dist/overload.h
    vendor/perl/dist/pad.c
    vendor/perl/dist/pad.h
    vendor/perl/dist/parser.h
    vendor/perl/dist/patchlevel.h
    vendor/perl/dist/perl.c
    vendor/perl/dist/perl.h
    vendor/perl/dist/perlapi.c
    vendor/perl/dist/perlapi.h
    vendor/perl/dist/perldtrace.d
    vendor/perl/dist/perlio.c
    vendor/perl/dist/perlio.h
    vendor/perl/dist/perlio.sym
    vendor/perl/dist/perliol.h
    vendor/perl/dist/perlsdio.h
    vendor/perl/dist/perlsfio.h
    vendor/perl/dist/perlsh
    vendor/perl/dist/perlvars.h
    vendor/perl/dist/perly.act
    vendor/perl/dist/perly.c
    vendor/perl/dist/perly.h
    vendor/perl/dist/perly.tab
    vendor/perl/dist/perly.y
    vendor/perl/dist/plan9/aperl
    vendor/perl/dist/plan9/arpa/inet.h
    vendor/perl/dist/plan9/buildinfo
    vendor/perl/dist/plan9/config.plan9
    vendor/perl/dist/plan9/config_h.sample
    vendor/perl/dist/plan9/config_sh.sample
    vendor/perl/dist/plan9/exclude
    vendor/perl/dist/plan9/fndvers
    vendor/perl/dist/plan9/genconfig.pl
    vendor/perl/dist/plan9/mkfile
    vendor/perl/dist/plan9/myconfig.plan9
    vendor/perl/dist/plan9/plan9.c
    vendor/perl/dist/plan9/plan9ish.h
    vendor/perl/dist/plan9/setup.rc
    vendor/perl/dist/plan9/versnum
    vendor/perl/dist/pod/Makefile.SH
    vendor/perl/dist/pod/buildtoc
    vendor/perl/dist/pod/checkpods.PL
    vendor/perl/dist/pod/perl.pod
    vendor/perl/dist/pod/perl5004delta.pod
    vendor/perl/dist/pod/perl5005delta.pod
    vendor/perl/dist/pod/perl5100delta.pod
    vendor/perl/dist/pod/perl5101delta.pod
    vendor/perl/dist/pod/perl5110delta.pod
    vendor/perl/dist/pod/perl5111delta.pod
    vendor/perl/dist/pod/perl5112delta.pod
    vendor/perl/dist/pod/perl5113delta.pod
    vendor/perl/dist/pod/perl5114delta.pod
    vendor/perl/dist/pod/perl5115delta.pod
    vendor/perl/dist/pod/perl5120delta.pod
    vendor/perl/dist/pod/perl5121delta.pod
    vendor/perl/dist/pod/perl5122delta.pod
    vendor/perl/dist/pod/perl5123delta.pod
    vendor/perl/dist/pod/perl5130delta.pod
    vendor/perl/dist/pod/perl51310delta.pod
    vendor/perl/dist/pod/perl51311delta.pod
    vendor/perl/dist/pod/perl5131delta.pod
    vendor/perl/dist/pod/perl5132delta.pod
    vendor/perl/dist/pod/perl5133delta.pod
    vendor/perl/dist/pod/perl5134delta.pod
    vendor/perl/dist/pod/perl5135delta.pod
    vendor/perl/dist/pod/perl5136delta.pod
    vendor/perl/dist/pod/perl5137delta.pod
    vendor/perl/dist/pod/perl5138delta.pod
    vendor/perl/dist/pod/perl5139delta.pod
    vendor/perl/dist/pod/perl5140delta.pod
    vendor/perl/dist/pod/perl5141delta.pod
    vendor/perl/dist/pod/perl561delta.pod
    vendor/perl/dist/pod/perl56delta.pod
    vendor/perl/dist/pod/perl570delta.pod
    vendor/perl/dist/pod/perl571delta.pod
    vendor/perl/dist/pod/perl572delta.pod
    vendor/perl/dist/pod/perl573delta.pod
    vendor/perl/dist/pod/perl581delta.pod
    vendor/perl/dist/pod/perl582delta.pod
    vendor/perl/dist/pod/perl583delta.pod
    vendor/perl/dist/pod/perl584delta.pod
    vendor/perl/dist/pod/perl585delta.pod
    vendor/perl/dist/pod/perl586delta.pod
    vendor/perl/dist/pod/perl587delta.pod
    vendor/perl/dist/pod/perl588delta.pod
    vendor/perl/dist/pod/perl589delta.pod
    vendor/perl/dist/pod/perl58delta.pod
    vendor/perl/dist/pod/perl590delta.pod
    vendor/perl/dist/pod/perl591delta.pod
    vendor/perl/dist/pod/perl592delta.pod
    vendor/perl/dist/pod/perl593delta.pod
    vendor/perl/dist/pod/perl594delta.pod
    vendor/perl/dist/pod/perl595delta.pod
    vendor/perl/dist/pod/perlapi.pod
    vendor/perl/dist/pod/perlapio.pod
    vendor/perl/dist/pod/perlartistic.pod
    vendor/perl/dist/pod/perlbook.pod
    vendor/perl/dist/pod/perlboot.pod
    vendor/perl/dist/pod/perlbot.pod
    vendor/perl/dist/pod/perlcall.pod
    vendor/perl/dist/pod/perlcheat.pod
    vendor/perl/dist/pod/perlclib.pod
    vendor/perl/dist/pod/perlcommunity.pod
    vendor/perl/dist/pod/perlcompile.pod
    vendor/perl/dist/pod/perldata.pod
    vendor/perl/dist/pod/perldbmfilter.pod
    vendor/perl/dist/pod/perldebguts.pod
    vendor/perl/dist/pod/perldebtut.pod
    vendor/perl/dist/pod/perldebug.pod
    vendor/perl/dist/pod/perldelta.pod
    vendor/perl/dist/pod/perldiag.pod
    vendor/perl/dist/pod/perldoc.pod
    vendor/perl/dist/pod/perldsc.pod
    vendor/perl/dist/pod/perlebcdic.pod
    vendor/perl/dist/pod/perlembed.pod
    vendor/perl/dist/pod/perlfaq.pod
    vendor/perl/dist/pod/perlfaq1.pod
    vendor/perl/dist/pod/perlfaq2.pod
    vendor/perl/dist/pod/perlfaq3.pod
    vendor/perl/dist/pod/perlfaq4.pod
    vendor/perl/dist/pod/perlfaq5.pod
    vendor/perl/dist/pod/perlfaq6.pod
    vendor/perl/dist/pod/perlfaq7.pod
    vendor/perl/dist/pod/perlfaq8.pod
    vendor/perl/dist/pod/perlfaq9.pod
    vendor/perl/dist/pod/perlfilter.pod
    vendor/perl/dist/pod/perlfork.pod
    vendor/perl/dist/pod/perlform.pod
    vendor/perl/dist/pod/perlfunc.pod
    vendor/perl/dist/pod/perlgit.pod
    vendor/perl/dist/pod/perlglossary.pod
    vendor/perl/dist/pod/perlgpl.pod
    vendor/perl/dist/pod/perlguts.pod
    vendor/perl/dist/pod/perlhack.pod
    vendor/perl/dist/pod/perlhacktips.pod
    vendor/perl/dist/pod/perlhacktut.pod
    vendor/perl/dist/pod/perlhist.pod
    vendor/perl/dist/pod/perlintern.pod
    vendor/perl/dist/pod/perlinterp.pod
    vendor/perl/dist/pod/perlintro.pod
    vendor/perl/dist/pod/perliol.pod
    vendor/perl/dist/pod/perlipc.pod
    vendor/perl/dist/pod/perllexwarn.pod
    vendor/perl/dist/pod/perllocale.pod
    vendor/perl/dist/pod/perllol.pod
    vendor/perl/dist/pod/perlmod.pod
    vendor/perl/dist/pod/perlmodinstall.pod
    vendor/perl/dist/pod/perlmodlib.PL
    vendor/perl/dist/pod/perlmodlib.pod
    vendor/perl/dist/pod/perlmodstyle.pod
    vendor/perl/dist/pod/perlmroapi.pod
    vendor/perl/dist/pod/perlnewmod.pod
    vendor/perl/dist/pod/perlnumber.pod
    vendor/perl/dist/pod/perlobj.pod
    vendor/perl/dist/pod/perlop.pod
    vendor/perl/dist/pod/perlopentut.pod
    vendor/perl/dist/pod/perlothrtut.pod
    vendor/perl/dist/pod/perlpacktut.pod
    vendor/perl/dist/pod/perlperf.pod
    vendor/perl/dist/pod/perlpod.pod
    vendor/perl/dist/pod/perlpodspec.pod
    vendor/perl/dist/pod/perlpodstyle.pod
    vendor/perl/dist/pod/perlpolicy.pod
    vendor/perl/dist/pod/perlport.pod
    vendor/perl/dist/pod/perlpragma.pod
    vendor/perl/dist/pod/perlre.pod
    vendor/perl/dist/pod/perlreapi.pod
    vendor/perl/dist/pod/perlrebackslash.pod
    vendor/perl/dist/pod/perlrecharclass.pod
    vendor/perl/dist/pod/perlref.pod
    vendor/perl/dist/pod/perlreftut.pod
    vendor/perl/dist/pod/perlreguts.pod
    vendor/perl/dist/pod/perlrepository.pod
    vendor/perl/dist/pod/perlrequick.pod
    vendor/perl/dist/pod/perlreref.pod
    vendor/perl/dist/pod/perlretut.pod
    vendor/perl/dist/pod/perlrun.pod
    vendor/perl/dist/pod/perlsec.pod
    vendor/perl/dist/pod/perlsource.pod
    vendor/perl/dist/pod/perlstyle.pod
    vendor/perl/dist/pod/perlsub.pod
    vendor/perl/dist/pod/perlsyn.pod
    vendor/perl/dist/pod/perlthrtut.pod
    vendor/perl/dist/pod/perltie.pod
    vendor/perl/dist/pod/perltoc.pod
    vendor/perl/dist/pod/perltodo.pod
    vendor/perl/dist/pod/perltooc.pod
    vendor/perl/dist/pod/perltoot.pod
    vendor/perl/dist/pod/perltrap.pod
    vendor/perl/dist/pod/perlunicode.pod
    vendor/perl/dist/pod/perlunifaq.pod
    vendor/perl/dist/pod/perluniintro.pod
    vendor/perl/dist/pod/perlunitut.pod
    vendor/perl/dist/pod/perlutil.pod
    vendor/perl/dist/pod/perlvar.pod
    vendor/perl/dist/pod/perlvms.pod
    vendor/perl/dist/pod/perlxs.pod
    vendor/perl/dist/pod/perlxstut.pod
    vendor/perl/dist/pod/pod2html.PL
    vendor/perl/dist/pod/pod2latex.PL
    vendor/perl/dist/pod/pod2man.PL
    vendor/perl/dist/pod/pod2text.PL
    vendor/perl/dist/pod/pod2usage.PL
    vendor/perl/dist/pod/podchecker.PL
    vendor/perl/dist/pod/podselect.PL
    vendor/perl/dist/pod/roffitall
    vendor/perl/dist/pod/rofftoc
    vendor/perl/dist/pod/splitman
    vendor/perl/dist/pod/splitpod
    vendor/perl/dist/pp.c
    vendor/perl/dist/pp.h
    vendor/perl/dist/pp_ctl.c
    vendor/perl/dist/pp_hot.c
    vendor/perl/dist/pp_pack.c
    vendor/perl/dist/pp_proto.h
    vendor/perl/dist/pp_sort.c
    vendor/perl/dist/pp_sys.c
    vendor/perl/dist/proto.h
    vendor/perl/dist/qnx/ar
    vendor/perl/dist/qnx/cpp
    vendor/perl/dist/qnx/qnx.c
    vendor/perl/dist/reentr.c
    vendor/perl/dist/reentr.h
    vendor/perl/dist/regcharclass.h
    vendor/perl/dist/regcomp.c
    vendor/perl/dist/regcomp.h
    vendor/perl/dist/regcomp.sym
    vendor/perl/dist/regen/embed.pl
    vendor/perl/dist/regen/keywords.pl
    vendor/perl/dist/regen/mk_PL_charclass.pl
    vendor/perl/dist/regen/opcode.pl
    vendor/perl/dist/regen/opcodes
    vendor/perl/dist/regen/overload.pl
    vendor/perl/dist/regen/reentr.pl
    vendor/perl/dist/regen/regcharclass.pl
    vendor/perl/dist/regen/regcomp.pl
    vendor/perl/dist/regen/regen_lib.pl
    vendor/perl/dist/regen/uconfig_h.pl
    vendor/perl/dist/regen/warnings.pl
    vendor/perl/dist/regen.pl
    vendor/perl/dist/regen_perly.pl
    vendor/perl/dist/regexec.c
    vendor/perl/dist/regexp.h
    vendor/perl/dist/regnodes.h
    vendor/perl/dist/run.c
    vendor/perl/dist/runtests.SH
    vendor/perl/dist/scope.c
    vendor/perl/dist/scope.h
    vendor/perl/dist/sv.c
    vendor/perl/dist/sv.h
    vendor/perl/dist/symbian/PerlApp.cpp
    vendor/perl/dist/symbian/PerlApp.h
    vendor/perl/dist/symbian/PerlApp.hrh
    vendor/perl/dist/symbian/PerlAppAif.rss
    vendor/perl/dist/symbian/PerlBase.cpp
    vendor/perl/dist/symbian/PerlBase.h
    vendor/perl/dist/symbian/PerlBase.pod
    vendor/perl/dist/symbian/PerlRecog.cpp
    vendor/perl/dist/symbian/PerlRecog.mmp
    vendor/perl/dist/symbian/PerlUi.cpp
    vendor/perl/dist/symbian/PerlUi.h
    vendor/perl/dist/symbian/PerlUi.hrh
    vendor/perl/dist/symbian/PerlUiS60.rss
    vendor/perl/dist/symbian/PerlUiS80.rss
    vendor/perl/dist/symbian/PerlUiS90.rss
    vendor/perl/dist/symbian/PerlUiUIQ.rss
    vendor/perl/dist/symbian/PerlUtil.cpp
    vendor/perl/dist/symbian/PerlUtil.h
    vendor/perl/dist/symbian/PerlUtil.pod
    vendor/perl/dist/symbian/README
    vendor/perl/dist/symbian/TODO
    vendor/perl/dist/symbian/bld.inf
    vendor/perl/dist/symbian/config.pl
    vendor/perl/dist/symbian/config.sh
    vendor/perl/dist/symbian/cwd.pl
    vendor/perl/dist/symbian/demo_pl
    vendor/perl/dist/symbian/ext/Moped/Msg/Msg.mmp
    vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pkg
    vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pm
    vendor/perl/dist/symbian/ext/Moped/Msg/Msg.xs
    vendor/perl/dist/symbian/ext/Moped/Msg/README
    vendor/perl/dist/symbian/ext/Moped/Msg/bld.inf
    vendor/perl/dist/symbian/ext/Moped/Msg/location.pl
    vendor/perl/dist/symbian/find_writeable_data.pl
    vendor/perl/dist/symbian/hexdump.pl
    vendor/perl/dist/symbian/install.cfg
    vendor/perl/dist/symbian/makesis.pl
    vendor/perl/dist/symbian/port.pl
    vendor/perl/dist/symbian/sanity.pl
    vendor/perl/dist/symbian/sdk.pl
    vendor/perl/dist/symbian/sisify.pl
    vendor/perl/dist/symbian/symbian_dll.cpp
    vendor/perl/dist/symbian/symbian_proto.h
    vendor/perl/dist/symbian/symbian_stubs.c
    vendor/perl/dist/symbian/symbian_stubs.h
    vendor/perl/dist/symbian/symbian_utils.cpp
    vendor/perl/dist/symbian/symbianish.h
    vendor/perl/dist/symbian/uid.pl
    vendor/perl/dist/symbian/version.pl
    vendor/perl/dist/symbian/xsbuild.pl
    vendor/perl/dist/t/Module_Pluggable/01use.t
    vendor/perl/dist/t/Module_Pluggable/02alsoworks.t
    vendor/perl/dist/t/Module_Pluggable/02works.t
    vendor/perl/dist/t/Module_Pluggable/02works_taint.t
    vendor/perl/dist/t/Module_Pluggable/03diffname.t
    vendor/perl/dist/t/Module_Pluggable/04acmedir.t
    vendor/perl/dist/t/Module_Pluggable/04acmedir_single.t
    vendor/perl/dist/t/Module_Pluggable/04acmepath.t
    vendor/perl/dist/t/Module_Pluggable/04acmepath_single.t
    vendor/perl/dist/t/Module_Pluggable/05postpath.t
    vendor/perl/dist/t/Module_Pluggable/06multipath.t
    vendor/perl/dist/t/Module_Pluggable/07instantiate.t
    vendor/perl/dist/t/Module_Pluggable/08nothing.t
    vendor/perl/dist/t/Module_Pluggable/09require.t
    vendor/perl/dist/t/Module_Pluggable/10innerpack.t
    vendor/perl/dist/t/Module_Pluggable/10innerpack_inner.t
    vendor/perl/dist/t/Module_Pluggable/10innerpack_noinner.t
    vendor/perl/dist/t/Module_Pluggable/10innerpack_override.t
    vendor/perl/dist/t/Module_Pluggable/11usetwice.t
    vendor/perl/dist/t/Module_Pluggable/12only.t
    vendor/perl/dist/t/Module_Pluggable/12onlyarray.t
    vendor/perl/dist/t/Module_Pluggable/12onlyregex.t
    vendor/perl/dist/t/Module_Pluggable/13except.t
    vendor/perl/dist/t/Module_Pluggable/13exceptarray.t
    vendor/perl/dist/t/Module_Pluggable/13exceptregex.t
    vendor/perl/dist/t/Module_Pluggable/14package.t
    vendor/perl/dist/t/Module_Pluggable/15topicsafe.t
    vendor/perl/dist/t/Module_Pluggable/16different_extension.t
    vendor/perl/dist/t/Module_Pluggable/17devel_inner_package.t
    vendor/perl/dist/t/Module_Pluggable/18skipped_package.t
    vendor/perl/dist/t/Module_Pluggable/19can_ok_clobber.t
    vendor/perl/dist/t/Module_Pluggable/20dodgy_files.t
    vendor/perl/dist/t/Module_Pluggable/acme/Acme/MyTest/Plugin/Foo.pm
    vendor/perl/dist/t/Module_Pluggable/lib/Acme/MyTest/Plugin/Foo.pm
    vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Bar.plugin
    vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Foo.plugin
    vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Quux/Foo.plugin
    vendor/perl/dist/t/Module_Pluggable/lib/InnerTest/Plugin/Foo.pm
    vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Bar.pm
    vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Foo.pm
    vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux/Foo.pm
    vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux.pm
    vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Extend/Plugin/Bar.pm
    vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Bar.pm
    vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Foo.pm
    vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Quux/Foo.pm
    vendor/perl/dist/t/Module_Pluggable/lib/No/Middle.pm
    vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/-Dodgy.pm
    vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/Foo.pm
    vendor/perl/dist/t/Module_Pluggable/lib/TA/C/A/I.pm
    vendor/perl/dist/t/README
    vendor/perl/dist/t/TEST
    vendor/perl/dist/t/TestInit.pm
    vendor/perl/dist/t/base/cond.t
    vendor/perl/dist/t/base/if.t
    vendor/perl/dist/t/base/lex.t
    vendor/perl/dist/t/base/num.t
    vendor/perl/dist/t/base/pat.t
    vendor/perl/dist/t/base/rs.t
    vendor/perl/dist/t/base/term.t
    vendor/perl/dist/t/base/while.t
    vendor/perl/dist/t/benchmark/rt26188-speed-up-keys-on-empty-hash.t
    vendor/perl/dist/t/cmd/elsif.t
    vendor/perl/dist/t/cmd/for.t
    vendor/perl/dist/t/cmd/mod.t
    vendor/perl/dist/t/cmd/subval.t
    vendor/perl/dist/t/cmd/switch.t
    vendor/perl/dist/t/cmd/while.t
    vendor/perl/dist/t/comp/bproto.t
    vendor/perl/dist/t/comp/cmdopt.t
    vendor/perl/dist/t/comp/colon.t
    vendor/perl/dist/t/comp/cpp.aux
    vendor/perl/dist/t/comp/cpp.t
    vendor/perl/dist/t/comp/decl.t
    vendor/perl/dist/t/comp/final_line_num.t
    vendor/perl/dist/t/comp/fold.t
    vendor/perl/dist/t/comp/form_scope.t
    vendor/perl/dist/t/comp/hints.aux
    vendor/perl/dist/t/comp/hints.t
    vendor/perl/dist/t/comp/line_debug.t
    vendor/perl/dist/t/comp/line_debug_0.aux
    vendor/perl/dist/t/comp/multiline.t
    vendor/perl/dist/t/comp/opsubs.t
    vendor/perl/dist/t/comp/our.t
    vendor/perl/dist/t/comp/package.t
    vendor/perl/dist/t/comp/package_block.t
    vendor/perl/dist/t/comp/parser.t
    vendor/perl/dist/t/comp/proto.t
    vendor/perl/dist/t/comp/redef.t
    vendor/perl/dist/t/comp/require.t
    vendor/perl/dist/t/comp/retainedlines.t
    vendor/perl/dist/t/comp/script.t
    vendor/perl/dist/t/comp/term.t
    vendor/perl/dist/t/comp/uproto.t
    vendor/perl/dist/t/comp/use.t
    vendor/perl/dist/t/comp/utf.t
    vendor/perl/dist/t/harness
    vendor/perl/dist/t/io/argv.t
    vendor/perl/dist/t/io/binmode.t
    vendor/perl/dist/t/io/bom.t
    vendor/perl/dist/t/io/crlf.t
    vendor/perl/dist/t/io/crlf_through.t
    vendor/perl/dist/t/io/data.t
    vendor/perl/dist/t/io/defout.t
    vendor/perl/dist/t/io/dup.t
    vendor/perl/dist/t/io/eintr.t
    vendor/perl/dist/t/io/errno.t
    vendor/perl/dist/t/io/errnosig.t
    vendor/perl/dist/t/io/fflush.t
    vendor/perl/dist/t/io/fs.t
    vendor/perl/dist/t/io/inplace.t
    vendor/perl/dist/t/io/iofile.t
    vendor/perl/dist/t/io/iprefix.t
    vendor/perl/dist/t/io/layers.t
    vendor/perl/dist/t/io/nargv.t
    vendor/perl/dist/t/io/open.t
    vendor/perl/dist/t/io/openpid.t
    vendor/perl/dist/t/io/perlio.t
    vendor/perl/dist/t/io/perlio_fail.t
    vendor/perl/dist/t/io/perlio_leaks.t
    vendor/perl/dist/t/io/perlio_open.t
    vendor/perl/dist/t/io/pipe.t
    vendor/perl/dist/t/io/print.t
    vendor/perl/dist/t/io/pvbm.t
    vendor/perl/dist/t/io/read.t
    vendor/perl/dist/t/io/say.t
    vendor/perl/dist/t/io/tell.t
    vendor/perl/dist/t/io/through.t
    vendor/perl/dist/t/io/utf8.t
    vendor/perl/dist/t/japh/abigail.t
    vendor/perl/dist/t/lib/1_compile.t
    vendor/perl/dist/t/lib/Cname.pm
    vendor/perl/dist/t/lib/Dev/Null.pm
    vendor/perl/dist/t/lib/Devel/switchd.pm
    vendor/perl/dist/t/lib/Devel/switchd_empty.pm
    vendor/perl/dist/t/lib/Dummy.pm
    vendor/perl/dist/t/lib/Filter/Simple/ExportTest.pm
    vendor/perl/dist/t/lib/Filter/Simple/FilterOnlyTest.pm
    vendor/perl/dist/t/lib/Filter/Simple/FilterTest.pm
    vendor/perl/dist/t/lib/Filter/Simple/ImportTest.pm
    vendor/perl/dist/t/lib/HasSigDie.pm
    vendor/perl/dist/t/lib/MakeMaker/Test/NoXS.pm
    vendor/perl/dist/t/lib/MakeMaker/Test/Setup/BFD.pm
    vendor/perl/dist/t/lib/MakeMaker/Test/Setup/MPV.pm
    vendor/perl/dist/t/lib/MakeMaker/Test/Setup/PL_FILES.pm
    vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Problem.pm
    vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Recurs.pm
    vendor/perl/dist/t/lib/MakeMaker/Test/Setup/XS.pm
    vendor/perl/dist/t/lib/MakeMaker/Test/Utils.pm
    vendor/perl/dist/t/lib/Math/BigFloat/Subclass.pm
    vendor/perl/dist/t/lib/Math/BigInt/BareCalc.pm
    vendor/perl/dist/t/lib/Math/BigInt/Scalar.pm
    vendor/perl/dist/t/lib/Math/BigInt/Subclass.pm
    vendor/perl/dist/t/lib/Math/BigRat/Test.pm
    vendor/perl/dist/t/lib/NoExporter.pm
    vendor/perl/dist/t/lib/Parse/CPAN/Meta/Test.pm
    vendor/perl/dist/t/lib/Sans_mypragma.pm
    vendor/perl/dist/t/lib/Test/Builder/NoOutput.pm
    vendor/perl/dist/t/lib/Test/Simple/Catch.pm
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/death.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_in_eval.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_with_handler.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/exit.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/extras.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/five_fail.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/last_minute_death.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/one_fail.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/pre_plan_death.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/require.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/success.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few_fail.plx
    vendor/perl/dist/t/lib/Test/Simple/sample_tests/two_fail.plx
    vendor/perl/dist/t/lib/TieIn.pm
    vendor/perl/dist/t/lib/TieOut.pm
    vendor/perl/dist/t/lib/charnames/alias
    vendor/perl/dist/t/lib/common.pl
    vendor/perl/dist/t/lib/commonsense.t
    vendor/perl/dist/t/lib/compmod.pl
    vendor/perl/dist/t/lib/compress/CompTestUtils.pm
    vendor/perl/dist/t/lib/compress/any.pl
    vendor/perl/dist/t/lib/compress/anyunc.pl
    vendor/perl/dist/t/lib/compress/destroy.pl
    vendor/perl/dist/t/lib/compress/encode.pl
    vendor/perl/dist/t/lib/compress/generic.pl
    vendor/perl/dist/t/lib/compress/merge.pl
    vendor/perl/dist/t/lib/compress/multi.pl
    vendor/perl/dist/t/lib/compress/newtied.pl
    vendor/perl/dist/t/lib/compress/oneshot.pl
    vendor/perl/dist/t/lib/compress/prime.pl
    vendor/perl/dist/t/lib/compress/tied.pl
    vendor/perl/dist/t/lib/compress/truncate.pl
    vendor/perl/dist/t/lib/compress/zlib-generic.pl
    vendor/perl/dist/t/lib/contains_bad_pod.xr
    vendor/perl/dist/t/lib/contains_pod.xr
    vendor/perl/dist/t/lib/croak.t
    vendor/perl/dist/t/lib/cygwin.t
    vendor/perl/dist/t/lib/dbmt_common.pl
    vendor/perl/dist/t/lib/deprecate/Deprecated.pm
    vendor/perl/dist/t/lib/deprecate/Optionally.pm
    vendor/perl/dist/t/lib/deprecate.t
    vendor/perl/dist/t/lib/dprof/V.pm
    vendor/perl/dist/t/lib/dprof/test1_t
    vendor/perl/dist/t/lib/dprof/test1_v
    vendor/perl/dist/t/lib/dprof/test2_t
    vendor/perl/dist/t/lib/dprof/test2_v
    vendor/perl/dist/t/lib/dprof/test3_t
    vendor/perl/dist/t/lib/dprof/test3_v
    vendor/perl/dist/t/lib/dprof/test4_t
    vendor/perl/dist/t/lib/dprof/test4_v
    vendor/perl/dist/t/lib/dprof/test5_t
    vendor/perl/dist/t/lib/dprof/test5_v
    vendor/perl/dist/t/lib/dprof/test6_t
    vendor/perl/dist/t/lib/dprof/test6_v
    vendor/perl/dist/t/lib/dprof/test7_t
    vendor/perl/dist/t/lib/dprof/test7_v
    vendor/perl/dist/t/lib/dprof/test8_t
    vendor/perl/dist/t/lib/dprof/test8_v
    vendor/perl/dist/t/lib/feature/bundle
    vendor/perl/dist/t/lib/feature/implicit
    vendor/perl/dist/t/lib/feature/nonesuch
    vendor/perl/dist/t/lib/feature/say
    vendor/perl/dist/t/lib/feature/switch
    vendor/perl/dist/t/lib/filter-util.pl
    vendor/perl/dist/t/lib/h2ph.h
    vendor/perl/dist/t/lib/h2ph.pht
    vendor/perl/dist/t/lib/locale/latin1
    vendor/perl/dist/t/lib/locale/utf8
    vendor/perl/dist/t/lib/manifest.t
    vendor/perl/dist/t/lib/mypragma.pm
    vendor/perl/dist/t/lib/mypragma.t
    vendor/perl/dist/t/lib/no_load.t
    vendor/perl/dist/t/lib/overload_fallback.t
    vendor/perl/dist/t/lib/proxy_constant_subs.t
    vendor/perl/dist/t/lib/sample-tests/bailout
    vendor/perl/dist/t/lib/sample-tests/bignum
    vendor/perl/dist/t/lib/sample-tests/bignum_many
    vendor/perl/dist/t/lib/sample-tests/combined
    vendor/perl/dist/t/lib/sample-tests/descriptive
    vendor/perl/dist/t/lib/sample-tests/die
    vendor/perl/dist/t/lib/sample-tests/die_head_end
    vendor/perl/dist/t/lib/sample-tests/die_last_minute
    vendor/perl/dist/t/lib/sample-tests/duplicates
    vendor/perl/dist/t/lib/sample-tests/head_end
    vendor/perl/dist/t/lib/sample-tests/head_fail
    vendor/perl/dist/t/lib/sample-tests/inc_taint
    vendor/perl/dist/t/lib/sample-tests/lone_not_bug
    vendor/perl/dist/t/lib/sample-tests/no_nums
    vendor/perl/dist/t/lib/sample-tests/no_output
    vendor/perl/dist/t/lib/sample-tests/out_of_order
    vendor/perl/dist/t/lib/sample-tests/segfault
    vendor/perl/dist/t/lib/sample-tests/shbang_misparse
    vendor/perl/dist/t/lib/sample-tests/simple
    vendor/perl/dist/t/lib/sample-tests/simple_fail
    vendor/perl/dist/t/lib/sample-tests/skip
    vendor/perl/dist/t/lib/sample-tests/skip_nomsg
    vendor/perl/dist/t/lib/sample-tests/skipall
    vendor/perl/dist/t/lib/sample-tests/skipall_nomsg
    vendor/perl/dist/t/lib/sample-tests/switches
    vendor/perl/dist/t/lib/sample-tests/taint
    vendor/perl/dist/t/lib/sample-tests/taint_warn
    vendor/perl/dist/t/lib/sample-tests/todo
    vendor/perl/dist/t/lib/sample-tests/todo_inline
    vendor/perl/dist/t/lib/sample-tests/too_many
    vendor/perl/dist/t/lib/sample-tests/with_comments
    vendor/perl/dist/t/lib/strict/refs
    vendor/perl/dist/t/lib/strict/subs
    vendor/perl/dist/t/lib/strict/vars
    vendor/perl/dist/t/lib/subs/subs
    vendor/perl/dist/t/lib/test_use.pm
    vendor/perl/dist/t/lib/test_use_14937.pm
    vendor/perl/dist/t/lib/universal.t
    vendor/perl/dist/t/lib/warnings/1global
    vendor/perl/dist/t/lib/warnings/2use
    vendor/perl/dist/t/lib/warnings/3both
    vendor/perl/dist/t/lib/warnings/4lint
    vendor/perl/dist/t/lib/warnings/5nolint
    vendor/perl/dist/t/lib/warnings/6default
    vendor/perl/dist/t/lib/warnings/7fatal
    vendor/perl/dist/t/lib/warnings/8signal
    vendor/perl/dist/t/lib/warnings/9enabled
    vendor/perl/dist/t/lib/warnings/9uninit
    vendor/perl/dist/t/lib/warnings/av
    vendor/perl/dist/t/lib/warnings/doio
    vendor/perl/dist/t/lib/warnings/doop
    vendor/perl/dist/t/lib/warnings/gv
    vendor/perl/dist/t/lib/warnings/hv
    vendor/perl/dist/t/lib/warnings/malloc
    vendor/perl/dist/t/lib/warnings/mg
    vendor/perl/dist/t/lib/warnings/op
    vendor/perl/dist/t/lib/warnings/pad
    vendor/perl/dist/t/lib/warnings/perl
    vendor/perl/dist/t/lib/warnings/perlio
    vendor/perl/dist/t/lib/warnings/perly
    vendor/perl/dist/t/lib/warnings/pp
    vendor/perl/dist/t/lib/warnings/pp_ctl
    vendor/perl/dist/t/lib/warnings/pp_hot
    vendor/perl/dist/t/lib/warnings/pp_pack
    vendor/perl/dist/t/lib/warnings/pp_sys
    vendor/perl/dist/t/lib/warnings/regcomp
    vendor/perl/dist/t/lib/warnings/regexec
    vendor/perl/dist/t/lib/warnings/run
    vendor/perl/dist/t/lib/warnings/sv
    vendor/perl/dist/t/lib/warnings/taint
    vendor/perl/dist/t/lib/warnings/toke
    vendor/perl/dist/t/lib/warnings/universal
    vendor/perl/dist/t/lib/warnings/utf8
    vendor/perl/dist/t/lib/warnings/util
    vendor/perl/dist/t/mro/basic.t
    vendor/perl/dist/t/mro/basic_01_c3.t
    vendor/perl/dist/t/mro/basic_01_dfs.t
    vendor/perl/dist/t/mro/basic_02_c3.t
    vendor/perl/dist/t/mro/basic_02_dfs.t
    vendor/perl/dist/t/mro/basic_03_c3.t
    vendor/perl/dist/t/mro/basic_03_dfs.t
    vendor/perl/dist/t/mro/basic_04_c3.t
    vendor/perl/dist/t/mro/basic_04_dfs.t
    vendor/perl/dist/t/mro/basic_05_c3.t
    vendor/perl/dist/t/mro/basic_05_dfs.t
    vendor/perl/dist/t/mro/c3_with_overload.t
    vendor/perl/dist/t/mro/complex_c3.t
    vendor/perl/dist/t/mro/complex_dfs.t
    vendor/perl/dist/t/mro/dbic_c3.t
    vendor/perl/dist/t/mro/dbic_dfs.t
    vendor/perl/dist/t/mro/inconsistent_c3.t
    vendor/perl/dist/t/mro/isa_aliases.t
    vendor/perl/dist/t/mro/isa_c3.t
    vendor/perl/dist/t/mro/isa_dfs.t
    vendor/perl/dist/t/mro/isarev.t
    vendor/perl/dist/t/mro/method_caching.t
    vendor/perl/dist/t/mro/next_NEXT.t
    vendor/perl/dist/t/mro/next_edgecases.t
    vendor/perl/dist/t/mro/next_goto.t
    vendor/perl/dist/t/mro/next_inanon.t
    vendor/perl/dist/t/mro/next_ineval.t
    vendor/perl/dist/t/mro/next_method.t
    vendor/perl/dist/t/mro/next_skip.t
    vendor/perl/dist/t/mro/overload_c3.t
    vendor/perl/dist/t/mro/overload_dfs.t
    vendor/perl/dist/t/mro/package_aliases.t
    vendor/perl/dist/t/mro/pkg_gen.t
    vendor/perl/dist/t/mro/recursion_c3.t
    vendor/perl/dist/t/mro/recursion_dfs.t
    vendor/perl/dist/t/mro/vulcan_c3.t
    vendor/perl/dist/t/mro/vulcan_dfs.t
    vendor/perl/dist/t/op/64bitint.t
    vendor/perl/dist/t/op/alarm.t
    vendor/perl/dist/t/op/anonsub.t
    vendor/perl/dist/t/op/append.t
    vendor/perl/dist/t/op/args.t
    vendor/perl/dist/t/op/arith.t
    vendor/perl/dist/t/op/array.t
    vendor/perl/dist/t/op/array_base.aux
    vendor/perl/dist/t/op/array_base.t
    vendor/perl/dist/t/op/assignwarn.t
    vendor/perl/dist/t/op/attrhand.t
    vendor/perl/dist/t/op/attrs.t
    vendor/perl/dist/t/op/auto.t
    vendor/perl/dist/t/op/avhv.t
    vendor/perl/dist/t/op/bless.t
    vendor/perl/dist/t/op/blocks.t
    vendor/perl/dist/t/op/bop.t
    vendor/perl/dist/t/op/caller.pl
    vendor/perl/dist/t/op/caller.t
    vendor/perl/dist/t/op/chars.t
    vendor/perl/dist/t/op/chdir.t
    vendor/perl/dist/t/op/chop.t
    vendor/perl/dist/t/op/chr.t
    vendor/perl/dist/t/op/closure.t
    vendor/perl/dist/t/op/cmp.t
    vendor/perl/dist/t/op/concat.t
    vendor/perl/dist/t/op/concat2.t
    vendor/perl/dist/t/op/cond.t
    vendor/perl/dist/t/op/context.t
    vendor/perl/dist/t/op/cproto.t
    vendor/perl/dist/t/op/crypt.t
    vendor/perl/dist/t/op/dbm.t
    vendor/perl/dist/t/op/defins.t
    vendor/perl/dist/t/op/delete.t
    vendor/perl/dist/t/op/die.t
    vendor/perl/dist/t/op/die_except.t
    vendor/perl/dist/t/op/die_exit.t
    vendor/perl/dist/t/op/die_keeperr.t
    vendor/perl/dist/t/op/die_unwind.t
    vendor/perl/dist/t/op/do.t
    vendor/perl/dist/t/op/dor.t
    vendor/perl/dist/t/op/each.t
    vendor/perl/dist/t/op/each_array.t
    vendor/perl/dist/t/op/eval.t
    vendor/perl/dist/t/op/exec.t
    vendor/perl/dist/t/op/exists_sub.t
    vendor/perl/dist/t/op/exp.t
    vendor/perl/dist/t/op/fh.t
    vendor/perl/dist/t/op/filehandle.t
    vendor/perl/dist/t/op/filetest.t
    vendor/perl/dist/t/op/filetest_stack_ok.t
    vendor/perl/dist/t/op/filetest_t.t
    vendor/perl/dist/t/op/flip.t
    vendor/perl/dist/t/op/fork.t
    vendor/perl/dist/t/op/getpid.t
    vendor/perl/dist/t/op/getppid.t
    vendor/perl/dist/t/op/glob.t
    vendor/perl/dist/t/op/gmagic.t
    vendor/perl/dist/t/op/goto.t
    vendor/perl/dist/t/op/goto_xs.t
    vendor/perl/dist/t/op/grent.t
    vendor/perl/dist/t/op/grep.t
    vendor/perl/dist/t/op/groups.t
    vendor/perl/dist/t/op/gv.t
    vendor/perl/dist/t/op/hash.t
    vendor/perl/dist/t/op/hashassign.t
    vendor/perl/dist/t/op/hashwarn.t
    vendor/perl/dist/t/op/inc.t
    vendor/perl/dist/t/op/inccode-tie.t
    vendor/perl/dist/t/op/inccode.t
    vendor/perl/dist/t/op/incfilter.t
    vendor/perl/dist/t/op/index.t
    vendor/perl/dist/t/op/index_thr.t
    vendor/perl/dist/t/op/int.t
    vendor/perl/dist/t/op/join.t
    vendor/perl/dist/t/op/kill0.t
    vendor/perl/dist/t/op/lc.t
    vendor/perl/dist/t/op/lc_user.t
    vendor/perl/dist/t/op/leaky-magic.t
    vendor/perl/dist/t/op/length.t
    vendor/perl/dist/t/op/lex.t
    vendor/perl/dist/t/op/lex_assign.t
    vendor/perl/dist/t/op/lfs.t
    vendor/perl/dist/t/op/list.t
    vendor/perl/dist/t/op/local.t
    vendor/perl/dist/t/op/localref.t
    vendor/perl/dist/t/op/loopctl.t
    vendor/perl/dist/t/op/lop.t
    vendor/perl/dist/t/op/magic-27839.t
    vendor/perl/dist/t/op/magic.t
    vendor/perl/dist/t/op/magic_phase.t
    vendor/perl/dist/t/op/method.t
    vendor/perl/dist/t/op/mkdir.t
    vendor/perl/dist/t/op/my.t
    vendor/perl/dist/t/op/my_stash.t
    vendor/perl/dist/t/op/mydef.t
    vendor/perl/dist/t/op/negate.t
    vendor/perl/dist/t/op/not.t
    vendor/perl/dist/t/op/numconvert.t
    vendor/perl/dist/t/op/oct.t
    vendor/perl/dist/t/op/or.t
    vendor/perl/dist/t/op/ord.t
    vendor/perl/dist/t/op/overload_integer.t
    vendor/perl/dist/t/op/override.t
    vendor/perl/dist/t/op/pack.t
    vendor/perl/dist/t/op/packagev.t
    vendor/perl/dist/t/op/pat.t
    vendor/perl/dist/t/op/pat_thr.t
    vendor/perl/dist/t/op/pos.t
    vendor/perl/dist/t/op/pow.t
    vendor/perl/dist/t/op/print.t
    vendor/perl/dist/t/op/protowarn.t
    vendor/perl/dist/t/op/push.t
    vendor/perl/dist/t/op/pwent.t
    vendor/perl/dist/t/op/qq.t
    vendor/perl/dist/t/op/qr.t
    vendor/perl/dist/t/op/qr_gc.t
    vendor/perl/dist/t/op/qrstack.t
    vendor/perl/dist/t/op/quotemeta.t
    vendor/perl/dist/t/op/rand.t
    vendor/perl/dist/t/op/range.t
    vendor/perl/dist/t/op/re.t
    vendor/perl/dist/t/op/re_tests
    vendor/perl/dist/t/op/read.t
    vendor/perl/dist/t/op/readdir.t
    vendor/perl/dist/t/op/readline.t
    vendor/perl/dist/t/op/recurse.t
    vendor/perl/dist/t/op/ref.t
    vendor/perl/dist/t/op/reg_email.t
    vendor/perl/dist/t/op/reg_email_thr.t
    vendor/perl/dist/t/op/reg_fold.t
    vendor/perl/dist/t/op/reg_mesg.t
    vendor/perl/dist/t/op/reg_namedcapture.t
    vendor/perl/dist/t/op/reg_nc_tie.t
    vendor/perl/dist/t/op/reg_pmod.t
    vendor/perl/dist/t/op/reg_posixcc.t
    vendor/perl/dist/t/op/reg_unsafe.t
    vendor/perl/dist/t/op/regexp.t
    vendor/perl/dist/t/op/regexp_noamp.t
    vendor/perl/dist/t/op/regexp_notrie.t
    vendor/perl/dist/t/op/regexp_qr.t
    vendor/perl/dist/t/op/regexp_qr_embed.t
    vendor/perl/dist/t/op/regexp_qr_embed_thr.t
    vendor/perl/dist/t/op/regexp_trielist.t
    vendor/perl/dist/t/op/regexp_unicode_prop.t
    vendor/perl/dist/t/op/regexp_unicode_prop_thr.t
    vendor/perl/dist/t/op/repeat.t
    vendor/perl/dist/t/op/require_errors.t
    vendor/perl/dist/t/op/reset.t
    vendor/perl/dist/t/op/reverse.t
    vendor/perl/dist/t/op/runlevel.t
    vendor/perl/dist/t/op/rxcode.t
    vendor/perl/dist/t/op/setpgrpstack.t
    vendor/perl/dist/t/op/sigdispatch.t
    vendor/perl/dist/t/op/sleep.t
    vendor/perl/dist/t/op/smartkve.t
    vendor/perl/dist/t/op/smartmatch.t
    vendor/perl/dist/t/op/sort.t
    vendor/perl/dist/t/op/splice.t
    vendor/perl/dist/t/op/split.t
    vendor/perl/dist/t/op/split_unicode.t
    vendor/perl/dist/t/op/sprintf.t
    vendor/perl/dist/t/op/sprintf2.t
    vendor/perl/dist/t/op/srand.t
    vendor/perl/dist/t/op/sselect.t
    vendor/perl/dist/t/op/stash.t
    vendor/perl/dist/t/op/stat.t
    vendor/perl/dist/t/op/state.t
    vendor/perl/dist/t/op/study.t
    vendor/perl/dist/t/op/studytied.t
    vendor/perl/dist/t/op/sub.t
    vendor/perl/dist/t/op/sub_lval.t
    vendor/perl/dist/t/op/subst.t
    vendor/perl/dist/t/op/substT.t
    vendor/perl/dist/t/op/subst_amp.t
    vendor/perl/dist/t/op/subst_wamp.t
    vendor/perl/dist/t/op/substr.t
    vendor/perl/dist/t/op/substr_thr.t
    vendor/perl/dist/t/op/svleak.t
    vendor/perl/dist/t/op/switch.t
    vendor/perl/dist/t/op/symbolcache.t
    vendor/perl/dist/t/op/sysio.t
    vendor/perl/dist/t/op/taint.t
    vendor/perl/dist/t/op/threads-dirh.t
    vendor/perl/dist/t/op/threads.t
    vendor/perl/dist/t/op/threads_create.pl
    vendor/perl/dist/t/op/tie.t
    vendor/perl/dist/t/op/tie_fetch_count.t
    vendor/perl/dist/t/op/tiearray.t
    vendor/perl/dist/t/op/tiehandle.t
    vendor/perl/dist/t/op/time.t
    vendor/perl/dist/t/op/time_loop.t
    vendor/perl/dist/t/op/tr.t
    vendor/perl/dist/t/op/turkish.t
    vendor/perl/dist/t/op/undef.t
    vendor/perl/dist/t/op/universal.t
    vendor/perl/dist/t/op/unshift.t
    vendor/perl/dist/t/op/upgrade.t
    vendor/perl/dist/t/op/utf8cache.t
    vendor/perl/dist/t/op/utf8decode.t
    vendor/perl/dist/t/op/utf8magic.t
    vendor/perl/dist/t/op/utfhash.t
    vendor/perl/dist/t/op/utftaint.t
    vendor/perl/dist/t/op/vec.t
    vendor/perl/dist/t/op/ver.t
    vendor/perl/dist/t/op/wantarray.t
    vendor/perl/dist/t/op/warn.t
    vendor/perl/dist/t/op/while_readdir.t
    vendor/perl/dist/t/op/write.t
    vendor/perl/dist/t/op/yadayada.t
    vendor/perl/dist/t/perl.supp
    vendor/perl/dist/t/pod/emptycmd.t
    vendor/perl/dist/t/pod/emptycmd.xr
    vendor/perl/dist/t/pod/find.t
    vendor/perl/dist/t/pod/for.t
    vendor/perl/dist/t/pod/for.xr
    vendor/perl/dist/t/pod/headings.t
    vendor/perl/dist/t/pod/headings.xr
    vendor/perl/dist/t/pod/include.t
    vendor/perl/dist/t/pod/include.xr
    vendor/perl/dist/t/pod/included.t
    vendor/perl/dist/t/pod/included.xr
    vendor/perl/dist/t/pod/lref.t
    vendor/perl/dist/t/pod/lref.xr
    vendor/perl/dist/t/pod/multiline_items.t
    vendor/perl/dist/t/pod/multiline_items.xr
    vendor/perl/dist/t/pod/nested_items.t
    vendor/perl/dist/t/pod/nested_items.xr
    vendor/perl/dist/t/pod/nested_seqs.t
    vendor/perl/dist/t/pod/nested_seqs.xr
    vendor/perl/dist/t/pod/oneline_cmds.t
    vendor/perl/dist/t/pod/oneline_cmds.xr
    vendor/perl/dist/t/pod/p2u_data.pl
    vendor/perl/dist/t/pod/plainer.t
    vendor/perl/dist/t/pod/pod2usage.t
    vendor/perl/dist/t/pod/pod2usage.xr
    vendor/perl/dist/t/pod/pod2usage2.t
    vendor/perl/dist/t/pod/podchkenc.t
    vendor/perl/dist/t/pod/podchkenc.xr
    vendor/perl/dist/t/pod/poderrs.t
    vendor/perl/dist/t/pod/poderrs.xr
    vendor/perl/dist/t/pod/podselect.t
    vendor/perl/dist/t/pod/podselect.xr
    vendor/perl/dist/t/pod/special_seqs.t
    vendor/perl/dist/t/pod/special_seqs.xr
    vendor/perl/dist/t/pod/testcmp.pl
    vendor/perl/dist/t/pod/testp2pt.pl
    vendor/perl/dist/t/pod/testpchk.pl
    vendor/perl/dist/t/pod/testpods/lib/Pod/Stuff.pm
    vendor/perl/dist/t/pod/twice.t
    vendor/perl/dist/t/pod/usage.pod
    vendor/perl/dist/t/pod/usage2.pod
    vendor/perl/dist/t/porting/FindExt.t
    vendor/perl/dist/t/porting/args_assert.t
    vendor/perl/dist/t/porting/authors.t
    vendor/perl/dist/t/porting/bincompat.t
    vendor/perl/dist/t/porting/buildtoc.t
    vendor/perl/dist/t/porting/checkcase.t
    vendor/perl/dist/t/porting/cmp_version.t
    vendor/perl/dist/t/porting/diag.t
    vendor/perl/dist/t/porting/dual-life.t
    vendor/perl/dist/t/porting/exec-bit.t
    vendor/perl/dist/t/porting/filenames.t
    vendor/perl/dist/t/porting/maintainers.t
    vendor/perl/dist/t/porting/manifest.t
    vendor/perl/dist/t/porting/podcheck.t
    vendor/perl/dist/t/porting/regen.t
    vendor/perl/dist/t/porting/test_bootstrap.t
    vendor/perl/dist/t/re/charset.t
    vendor/perl/dist/t/re/fold_grind.t
    vendor/perl/dist/t/re/no_utf8_pm.t
    vendor/perl/dist/t/re/overload.t
    vendor/perl/dist/t/re/pat.t
    vendor/perl/dist/t/re/pat_advanced.t
    vendor/perl/dist/t/re/pat_advanced_thr.t
    vendor/perl/dist/t/re/pat_psycho.t
    vendor/perl/dist/t/re/pat_psycho_thr.t
    vendor/perl/dist/t/re/pat_re_eval.t
    vendor/perl/dist/t/re/pat_re_eval_thr.t
    vendor/perl/dist/t/re/pat_rt_report.t
    vendor/perl/dist/t/re/pat_rt_report_thr.t
    vendor/perl/dist/t/re/pat_special_cc.t
    vendor/perl/dist/t/re/pat_special_cc_thr.t
    vendor/perl/dist/t/re/pat_thr.t
    vendor/perl/dist/t/re/qr-72922.t
    vendor/perl/dist/t/re/qr.t
    vendor/perl/dist/t/re/qr_gc.t
    vendor/perl/dist/t/re/qrstack.t
    vendor/perl/dist/t/re/re_tests
    vendor/perl/dist/t/re/reg_60508.t
    vendor/perl/dist/t/re/reg_email.t
    vendor/perl/dist/t/re/reg_email_thr.t
    vendor/perl/dist/t/re/reg_eval.t
    vendor/perl/dist/t/re/reg_eval_scope.t
    vendor/perl/dist/t/re/reg_fold.t
    vendor/perl/dist/t/re/reg_mesg.t
    vendor/perl/dist/t/re/reg_namedcapture.t
    vendor/perl/dist/t/re/reg_nc_tie.t
    vendor/perl/dist/t/re/reg_pmod.t
    vendor/perl/dist/t/re/reg_posixcc.t
    vendor/perl/dist/t/re/regexp.t
    vendor/perl/dist/t/re/regexp_noamp.t
    vendor/perl/dist/t/re/regexp_notrie.t
    vendor/perl/dist/t/re/regexp_qr.t
    vendor/perl/dist/t/re/regexp_qr_embed.t
    vendor/perl/dist/t/re/regexp_qr_embed_thr.t
    vendor/perl/dist/t/re/regexp_trielist.t
    vendor/perl/dist/t/re/regexp_unicode_prop.t
    vendor/perl/dist/t/re/regexp_unicode_prop_thr.t
    vendor/perl/dist/t/re/rxcode.t
    vendor/perl/dist/t/re/subst.t
    vendor/perl/dist/t/re/substT.t
    vendor/perl/dist/t/re/subst_amp.t
    vendor/perl/dist/t/re/subst_wamp.t
    vendor/perl/dist/t/re/substr.t
    vendor/perl/dist/t/re/substr_thr.t
    vendor/perl/dist/t/re/uniprops.t
    vendor/perl/dist/t/run/cloexec.t
    vendor/perl/dist/t/run/exit.t
    vendor/perl/dist/t/run/fresh_perl.t
    vendor/perl/dist/t/run/locale.t
    vendor/perl/dist/t/run/noswitch.t
    vendor/perl/dist/t/run/runenv.t
    vendor/perl/dist/t/run/script.t
    vendor/perl/dist/t/run/switch0.t
    vendor/perl/dist/t/run/switchC.t
    vendor/perl/dist/t/run/switchF.t
    vendor/perl/dist/t/run/switchF1.t
    vendor/perl/dist/t/run/switchI.t
    vendor/perl/dist/t/run/switchPx.aux
    vendor/perl/dist/t/run/switchPx.t
    vendor/perl/dist/t/run/switcha.t
    vendor/perl/dist/t/run/switchd-78586.t
    vendor/perl/dist/t/run/switchd.t
    vendor/perl/dist/t/run/switches.t
    vendor/perl/dist/t/run/switchn.t
    vendor/perl/dist/t/run/switchp.t
    vendor/perl/dist/t/run/switcht.t
    vendor/perl/dist/t/run/switchx.aux
    vendor/perl/dist/t/run/switchx.t
    vendor/perl/dist/t/run/switchx2.aux
    vendor/perl/dist/t/test.pl
    vendor/perl/dist/t/thread_it.pl
    vendor/perl/dist/t/uni/cache.t
    vendor/perl/dist/t/uni/case.pl
    vendor/perl/dist/t/uni/chomp.t
    vendor/perl/dist/t/uni/chr.t
    vendor/perl/dist/t/uni/class.t
    vendor/perl/dist/t/uni/fold.t
    vendor/perl/dist/t/uni/greek.t
    vendor/perl/dist/t/uni/latin2.t
    vendor/perl/dist/t/uni/lex_utf8.t
    vendor/perl/dist/t/uni/lower.t
    vendor/perl/dist/t/uni/overload.t
    vendor/perl/dist/t/uni/sprintf.t
    vendor/perl/dist/t/uni/tie.t
    vendor/perl/dist/t/uni/title.t
    vendor/perl/dist/t/uni/tr_7jis.t
    vendor/perl/dist/t/uni/tr_eucjp.t
    vendor/perl/dist/t/uni/tr_sjis.t
    vendor/perl/dist/t/uni/tr_utf8.t
    vendor/perl/dist/t/uni/upper.t
    vendor/perl/dist/t/uni/write.t
    vendor/perl/dist/t/win32/system.t
    vendor/perl/dist/t/win32/system_tests
    vendor/perl/dist/t/x2p/s2p.t
    vendor/perl/dist/taint.c
    vendor/perl/dist/thread.h
    vendor/perl/dist/time64.c
    vendor/perl/dist/time64.h
    vendor/perl/dist/time64_config.h
    vendor/perl/dist/toke.c
    vendor/perl/dist/uconfig.h
    vendor/perl/dist/uconfig.sh
    vendor/perl/dist/uconfig64.sh
    vendor/perl/dist/universal.c
    vendor/perl/dist/unixish.h
    vendor/perl/dist/utf8.c
    vendor/perl/dist/utf8.h
    vendor/perl/dist/utfebcdic.h
    vendor/perl/dist/util.c
    vendor/perl/dist/util.h
    vendor/perl/dist/utils/Makefile
    vendor/perl/dist/utils/Makefile.SH
    vendor/perl/dist/utils/c2ph.PL
    vendor/perl/dist/utils/config_data.PL
    vendor/perl/dist/utils/corelist.PL
    vendor/perl/dist/utils/cpan.PL
    vendor/perl/dist/utils/cpan2dist.PL
    vendor/perl/dist/utils/cpanp-run-perl.PL
    vendor/perl/dist/utils/cpanp.PL
    vendor/perl/dist/utils/dprofpp.PL
    vendor/perl/dist/utils/enc2xs.PL
    vendor/perl/dist/utils/h2ph.PL
    vendor/perl/dist/utils/h2xs.PL
    vendor/perl/dist/utils/instmodsh.PL
    vendor/perl/dist/utils/json_pp.PL
    vendor/perl/dist/utils/libnetcfg.PL
    vendor/perl/dist/utils/perlbug.PL
    vendor/perl/dist/utils/perldoc.PL
    vendor/perl/dist/utils/perlivp.PL
    vendor/perl/dist/utils/piconv.PL
    vendor/perl/dist/utils/pl2pm.PL
    vendor/perl/dist/utils/prove.PL
    vendor/perl/dist/utils/ptar.PL
    vendor/perl/dist/utils/ptardiff.PL
    vendor/perl/dist/utils/ptargrep.PL
    vendor/perl/dist/utils/shasum.PL
    vendor/perl/dist/utils/splain.PL
    vendor/perl/dist/utils/xsubpp.PL
    vendor/perl/dist/utils.lst
    vendor/perl/dist/vms/descrip_mms.template
    vendor/perl/dist/vms/ext/Filespec.pm
    vendor/perl/dist/vms/ext/filespec.t
    vendor/perl/dist/vms/gen_shrfls.pl
    vendor/perl/dist/vms/genopt.com
    vendor/perl/dist/vms/make_command.com
    vendor/perl/dist/vms/mms2make.pl
    vendor/perl/dist/vms/munchconfig.c
    vendor/perl/dist/vms/myconfig.com
    vendor/perl/dist/vms/sockadapt.c
    vendor/perl/dist/vms/sockadapt.h
    vendor/perl/dist/vms/test.com
    vendor/perl/dist/vms/vms.c
    vendor/perl/dist/vms/vmsish.h
    vendor/perl/dist/vms/vmspipe.com
    vendor/perl/dist/vos/Changes
    vendor/perl/dist/vos/compile_full_perl.cm
    vendor/perl/dist/vos/configure_full_perl.sh
    vendor/perl/dist/vos/make_full_perl.sh
    vendor/perl/dist/vos/syslog.h
    vendor/perl/dist/vos/vos.c
    vendor/perl/dist/vos/vosish.h
    vendor/perl/dist/warnings.h
    vendor/perl/dist/win32/FindExt.pm
    vendor/perl/dist/win32/Makefile
    vendor/perl/dist/win32/Makefile.ce
    vendor/perl/dist/win32/bin/exetype.pl
    vendor/perl/dist/win32/bin/perlglob.pl
    vendor/perl/dist/win32/bin/pl2bat.pl
    vendor/perl/dist/win32/bin/runperl.pl
    vendor/perl/dist/win32/bin/search.pl
    vendor/perl/dist/win32/ce-helpers/cecopy-lib.pl
    vendor/perl/dist/win32/ce-helpers/comp.pl
    vendor/perl/dist/win32/ce-helpers/compile-all.bat
    vendor/perl/dist/win32/ce-helpers/compile.bat
    vendor/perl/dist/win32/ce-helpers/makedist.pl
    vendor/perl/dist/win32/ce-helpers/registry.bat
    vendor/perl/dist/win32/config.bc
    vendor/perl/dist/win32/config.ce
    vendor/perl/dist/win32/config.gc
    vendor/perl/dist/win32/config.gc64
    vendor/perl/dist/win32/config.gc64nox
    vendor/perl/dist/win32/config.vc
    vendor/perl/dist/win32/config.vc64
    vendor/perl/dist/win32/config_H.bc
    vendor/perl/dist/win32/config_H.ce
    vendor/perl/dist/win32/config_H.gc
    vendor/perl/dist/win32/config_H.gc64
    vendor/perl/dist/win32/config_H.gc64nox
    vendor/perl/dist/win32/config_H.vc
    vendor/perl/dist/win32/config_H.vc64
    vendor/perl/dist/win32/config_h.PL
    vendor/perl/dist/win32/config_sh.PL
    vendor/perl/dist/win32/create_perllibst_h.pl
    vendor/perl/dist/win32/distclean.bat
    vendor/perl/dist/win32/fcrypt.c
    vendor/perl/dist/win32/genmk95.pl
    vendor/perl/dist/win32/include/arpa/inet.h
    vendor/perl/dist/win32/include/dirent.h
    vendor/perl/dist/win32/include/netdb.h
    vendor/perl/dist/win32/include/sys/socket.h
    vendor/perl/dist/win32/list_static_libs.pl
    vendor/perl/dist/win32/makefile.mk
    vendor/perl/dist/win32/mdelete.bat
    vendor/perl/dist/win32/perl.rc
    vendor/perl/dist/win32/perlexe.ico
    vendor/perl/dist/win32/perlexe.manifest
    vendor/perl/dist/win32/perlexe.rc
    vendor/perl/dist/win32/perlglob.c
    vendor/perl/dist/win32/perlhost.h
    vendor/perl/dist/win32/perllib.c
    vendor/perl/dist/win32/perlmaince.c
    vendor/perl/dist/win32/pod.mak
    vendor/perl/dist/win32/runperl.c
    vendor/perl/dist/win32/sync_ext.pl
    vendor/perl/dist/win32/vdir.h
    vendor/perl/dist/win32/vmem.h
    vendor/perl/dist/win32/win32.c
    vendor/perl/dist/win32/win32.h
    vendor/perl/dist/win32/win32ceio.c
    vendor/perl/dist/win32/win32io.c
    vendor/perl/dist/win32/win32iop-o.h
    vendor/perl/dist/win32/win32iop.h
    vendor/perl/dist/win32/win32sck.c
    vendor/perl/dist/win32/win32thread.c
    vendor/perl/dist/win32/win32thread.h
    vendor/perl/dist/win32/wince.c
    vendor/perl/dist/win32/wince.h
    vendor/perl/dist/win32/wincesck.c
    vendor/perl/dist/write_buildcustomize.pl
    vendor/perl/dist/x2p/EXTERN.h
    vendor/perl/dist/x2p/INTERN.h
    vendor/perl/dist/x2p/Makefile.SH
    vendor/perl/dist/x2p/a2p.c
    vendor/perl/dist/x2p/a2p.h
    vendor/perl/dist/x2p/a2p.pod
    vendor/perl/dist/x2p/a2p.y
    vendor/perl/dist/x2p/a2py.c
    vendor/perl/dist/x2p/cflags.SH
    vendor/perl/dist/x2p/find2perl.PL
    vendor/perl/dist/x2p/hash.c
    vendor/perl/dist/x2p/hash.h
    vendor/perl/dist/x2p/s2p.PL
    vendor/perl/dist/x2p/str.c
    vendor/perl/dist/x2p/str.h
    vendor/perl/dist/x2p/util.c
    vendor/perl/dist/x2p/util.h
    vendor/perl/dist/x2p/walk.c

Modified: vendor/perl/dist/AUTHORS
===================================================================
--- vendor/perl/dist/AUTHORS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/AUTHORS	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,9 +3,9 @@
 # (hopefully) current and preferred email addresses from the commits.
 # These people have either submitted patches or suggestions, or their bug
 # reports or comments have inspired the appropriate patches.  Corrections,
-# additions, deletions welcome; send them to perl5-porters at perl.org,
-# preferably as the output of diff(1), diff -u or diff -c between the
-# original and a corrected version of this file.
+# additions, deletions welcome; send them to perlbug at perl.org, preferably
+# as the output of diff(1), diff -u or diff -c between the original and a
+# corrected version of this file.
 #
 # The use of this database for anything else than Perl development
 # is strictly forbidden.  (Passive distribution with the Perl source
@@ -15,9 +15,11 @@
 -- 
 A. C. Yardley			<yardley at tanet.net>
 A. Sinan Unur			<nanis at cpan.org>
-Aaron Crane			<perl at aaroncrane.co.uk>
+Aaron Crane			<arc at cpan.org>
 Aaron B. Dossett		<aaron at iglou.com>
 Aaron J. Mackey			<ajm6q at virginia.edu>
+Aaron Trevena                   <aaaron.trevena at gmail.com>
+Augustina Blair                 <auggy at cpan.org>
 Abe Timmerman			<abe at ztreet.demon.nl>
 Abhijit Menon-Sen		<ams at toroid.org>
 Abigail				<abigail at abigail.be>
@@ -35,6 +37,7 @@
 Alan Champion			<achampio at lehman.com>
 Alan Grover			<awgrover at gmail.com>
 Alan Grow			<agrow at thegotonerd.com>
+Alan Haggai Alavi		<alanhaggai at alanhaggai.org>
 Alan Harder			<Alan.Harder at Ebay.Sun.COM>
 Alan Modra
 Alan Ferrency			<alan at pair.com>
@@ -41,6 +44,7 @@
 Alastair Douglas		<alastair.douglas at gmail.com>
 Albert Chin-A-Young		<china at thewrittenword.com>
 Albert Dvornik			<bert at alum.mit.edu>
+Alberto Simões			<ambs at cpan.org>
 Alessandro Forghieri		<alf at orion.it>
 Alexander Alekseev		<alex at alemate.ru>
 Alexander Hartmaier		<abraxxa at cpan.org>
@@ -68,7 +72,7 @@
 Anders Johnson			<ajohnson at nvidia.com>
 Andreas Karrer			<karrer at ife.ee.ethz.ch>
 Andreas Klussmann		<andreas at infosys.heitec.de>
-Andreas K\xF6nig			<a.koenig at mind.de>
+Andreas König			<a.koenig at mind.de>
 Andreas Marienborg		<andreas.marienborg at gmail.com>
 Andreas Schwab			<schwab at suse.de>
 Andrei Yelistratov		<andrew at sundale.net>
@@ -82,6 +86,7 @@
 Andrew Pimlott			<pimlott at idiomtech.com>
 Andrew Rodland			<arodland at cpan.org>
 Andrew Savige			<ajsavige at yahoo.com.au>
+Andrew Tam			<andrewtam000 at gmail.com>
 Andrew Vignaux			<ajv at nz.sangacorp.com>
 Andrew Wilcox			<awilcox at maine.com>
 Andrey Sapozhnikov		<sapa at icb.chel.su>
@@ -92,6 +97,7 @@
 Anno Siegel			<anno4000 at lublin.zrz.tu-berlin.de>
 Anthony David			<adavid at netinfo.com.au>
 Anton Berezin			<tobez at tobez.org>
+Anton Nikishaev			<me at lelf.lu>
 Anton Tagunov			<tagunov at motor.ru>
 Archer Sully			<archer at meer.net>
 Aristotle Pagaltzis             <pagaltzis at gmx.de>
@@ -101,11 +107,12 @@
 Arnold D. Robbins		<arnold at gnu.ai.mit.edu>
 Art Green			<Art_Green at mercmarine.com>
 Art Haas			<ahaas at airmail.net>
+Arthur Axel 'fREW' Schmidt			<frioux at gmail.com>
 Artiom Morozov			<artiom at phreaker.net>
 Artur Bergman			<artur at contiller.se>
 Arvan				<apritchard at zeus.com>
 Ash Berlin			<ash at cpan.org>
-Ask Bj\xF6ern Hansen		<ask at develooper.com>
+Ask Bjöern Hansen		<ask at develooper.com>
 Audrey Tang			<cpan at audreyt.org>
 Axel Boldt
 Barrie Slaymaker		<barries at slaysys.com>
@@ -131,8 +138,10 @@
 Blair Zajac			<blair at orcaware.com>
 Brandon Black			<blblack at gmail.com>
 Bo Borgerson			<gigabo at gmail.com>
+Bo Johansson			<bo.johansso at lsn.se>
 Bo Lindbergh			<blgl at stacken.kth.se>
 Bob Dalgleish			<Robert.Dalgleish at sk.sympatico.ca>
+Bob Ernst			<bobernst at cpan.org>
 Bob Wilkinson			<bob at fourtheye.org>
 Boris Ratner			<ratner2 at gmail.com>
 Boris Zentner			<bzm at 2bz.de>
@@ -146,11 +155,15 @@
 Bram				<perl-rt at wizbit.be>
 Brendan O'Dea			<bod at debian.org>
 Brent B. Powers			<powers at ml.com>
+Breno G. de Oliveira		<garu at cpan.org>
 Brent Dax			<brentdax at cpan.org>
 Brooks D Boyd
 Brian Callaghan			<callagh at itginc.com>
+Brian Carlson			<brian.carlson at cpanel.net>
 Brian Clarke			<clarke at appliedmeta.com>
 brian d foy			<brian.d.foy at gmail.com>
+Brian Fraser			<fraserbn at gmail.com>
+Brian Greenfield		<briang at cpan.org>
 Brian Grossman
 Brian Harrison			<brie at corp.home.net>
 Brian Jepson			<bjepson at oreilly.com>
@@ -170,6 +183,7 @@
 Campo Weijerman			<rfc822 at nl.ibm.com>
 Carl Eklof			<CEklof at endeca.com>
 Carl M. Fongheiser		<cmf at ins.infonet.net>
+Carl Hayter	            <hayter at usc.edu>
 Carl Witty			<cwitty at newtonlabs.com>
 Cary D. Renzema			<caryr at mxim.com>
 Casey R. Tweten			<crt at kiski.net>
@@ -181,6 +195,7 @@
 Charles Lane			<lane at DUPHY4.Physics.Drexel.Edu>
 Charles Randall			<cfriv at yahoo.com>
 Charles Wilson			<cwilson at ece.gatech.edu>
+Charlie Gonzalez			<itcharlie at gmail.com>
 Chas. Owens			<chas.owens at gmail.com>
 Chaskiel M Grundman
 Chia-liang Kao			<clkao at clkao.org>
@@ -201,6 +216,7 @@
 Chris Wick			<cwick at lmc.com>
 Chris Williams			<chrisw at netinfo.com.au>
 Christian Burger		<burger at terra.mpikg-teltow.mpg.de>
+Christian Hansen		<chansen at cpan.org>
 Christian Kirsch		<ck at held.mind.de>
 Christian Winter		<bitpoet at linux-config.de>
 Christoph Lamprecht		<ch.l.ngre at online.de>
@@ -207,6 +223,7 @@
 Christophe Grosjean		<christophe.grosjean at gmail.com>
 Christopher Chan-Nui		<channui at austin.ibm.com>
 Christopher Davis		<ckd at loiosh.kei.com>
+Christopher J. Madsen		<perl at cjmweb.net>
 chromatic			<chromatic at wgz.org>
 Chuck Phillips			<perl at cadop.com>
 Chunhui Teng			<cteng at nortel.ca>
@@ -221,10 +238,11 @@
 Conrad Augustin
 Conrad E. Kimball		<cek at tblv021.ca.boeing.com>
 Craig A. Berry			<craigberry at mac.com>
+Craig DeForest			<zowie at euterpe.boulder.swri.edu>
 Craig Milo Rogers		<Rogers at ISI.EDU>
 Curtis Poe			<cp at onsitetech.com>
 Curtis Jewell			<perl at csjewell.fastmail.us>
-Dagfinn Ilmari Manns\xE5ker	<ilmari at ilmari.org>
+Dagfinn Ilmari Mannsåker	<ilmari at ilmari.org>
 Dale Amon			<amon at vnl.com>
 Damian Conway			<damian at conway.org>
 Damon Atkins			<Damon.Atkins at nabaus.com.au>
@@ -238,15 +256,19 @@
 Dan Sugalski			<dan at sidhe.org>
 Daniel Berger			<djberg86 at attbi.com>
 Daniel Chetlin			<daniel at chetlin.com>
+Daniel Dragan			<bulk88 at hotmail.com>
 Daniel Frederick Crisman	<daniel at crisman.org>
 Daniel Grisinger		<dgris at dimensional.com>
+Daniel Kahn Gillmor		<dkg at fifthhorseman.net>
 Daniel Lieberman		<daniel at bitpusher.com>
-Daniel Mui\xF1o			<dmuino at afip.gov.ar>
+Daniel Muiño			<dmuino at afip.gov.ar>
 Daniel P. Berrange		<dan at berrange.com>
+Daniel Perrett			<perrettdl at googlemail.com>
 Daniel S. Lewart		<lewart at uiuc.edu>
 Daniel Yacob			<perl at geez.org>
 Danny R. Faught			<faught at mailhost.rsn.hp.com>
 Danny Sadinoff			<danny-cpan at sadinoff.com>
+Darin McBride			<dmcbride at cpan.org>
 Darrell Kindred			<dkindred+ at cmu.edu>
 Darrell Schiebel		<drs at nrao.edu>
 Darren/Torin/Who Ever...	<torin at daft.com>
@@ -295,6 +317,7 @@
 David Wheeler			<david at wheeler.net>
 Davin Milun			<milun at cs.Buffalo.EDU>
 Dean Roehrich			<roehrich at cray.com>
+Dee Newcum				<perl.org at paperlined.org>
 deekoo				<deekoo at tentacle.net>
 Dennis Kaarsemaker		<dennis at booking.com>
 Dennis Marsa			<dennism at cyrix.com>
@@ -304,10 +327,12 @@
 dLux				<dlux at spam.sch.bme.hu>
 Dmitry Karasik			<dk at tetsuo.karasik.eu.org>
 Dominic Dunlop			<domo at computer.org>
+Dominic Hargreaves		<dom at earth.li>
 Dominique Dumont		<Dominique_Dumont at grenoble.hp.com>
 Dominique Quatravaux
 Doug Campbell			<soup at ampersand.com>
 Doug MacEachern			<dougm at covalent.net>
+Douglas Christopher Wilson	<doug at somethingdoug.com>
 Douglas E. Wegscheid		<dwegscheid at qtm.net>
 Douglas Lankshear		<doug at lankshear.net>
 Douglas Wilson			<dougw at cpan.org>
@@ -317,6 +342,7 @@
 Drew Stephens			<drewgstephens at gmail.com>
 Duke Leto			<jonathan at leto.net>
 Duncan Findlay			<duncf at debian.org>
+E. Choroba			<choroba at weed.(none)>
 Ed Mooring			<mooring at Lynx.COM>
 Ed Santiago			<esm at pobox.com>
 Eddy Tan			<eddy.net at gmail.com>
@@ -340,13 +366,16 @@
 Eryq				<eryq at zeegee.com>
 Etienne Grossman		<etienne at isr.isr.ist.utl.pt>
 Eugene Alterman			<Eugene.Alterman at bremer-inc.com>
+Evan Miller			<eam at frap.net>
 Fabien Tassin			<tassin at eerie.fr>
 Father Chrysostomos		<sprout at cpan.org>
+Felipe Gasper                   <felipe at felipegasper.com>
 Felix Gallo			<fgallo at etoys.com>
 Fergal Daly			<fergal at esatclear.ie>
 Fingle Nark			<finglenark at gmail.com>
 Florent Guillaume
 Florian Ragwitz			<rafl at debian.org>
+François Perrad			<francois.perrad at gadz.org>
 Frank Crawford
 Frank Ridderbusch		<Frank.Ridderbusch at pdb.siemens.de>
 Frank Tobin			<ftobin at uiuc.edu>
@@ -353,8 +382,9 @@
 Frank Wiegand			<frank.wiegand at gmail.com>
 Franklin Chen				<chen at adi.com>
 Franz Fasching			<perldev at drfasching.com>
-Fran\xE7ois D\xE9sarm\xE9nien		<desar at club-internet.fr>
-Fr\xE9deric Chauveau		<fmc at pasteur.fr>
+François Désarménien		<desar at club-internet.fr>
+Frederic Briere			<fbriere at fbriere.net>
+Fréderic Chauveau		<fmc at pasteur.fr>
 Fyodor Krasnov			<fyodor at aha.ru>
 G. Del Merritt			<del at intranetics.com>
 Gabe Schaffer
@@ -418,8 +448,10 @@
 Harry Edmon			<harry at atmos.washington.edu>
 Helmut Jarausch			<jarausch at numa1.igpm.rwth-aachen.de>
 Henrik Tougaard			<ht.000 at foa.dk>
+Herbert Breunung		<lichtkind at cpan.org>
 Hernan Perez Masci		<hmasci at uolsinectis.com.ar>
 Hershel Walters			<walters at smd4d.wes.army.mil>
+Hojung Youn			<amoc.yn at gmail.com>
 Holger Bechtold
 Hongwen Qiu			<qiuhongwen at gmail.com>
 Horst von Brand			<vonbrand at sleipnir.valparaiso.cl>
@@ -432,8 +464,9 @@
 Ian Goodacre			<ian.goodacre at xtra.co.nz>
 Ian Maloney			<ian.malonet at ubs.com>
 Ian Phillipps			<Ian.Phillipps at iname.com>
-Ignasi Roca Carri\xF3		<ignasi.roca at fujitsu-siemens.com>
+Ignasi Roca Carrió		<ignasi.roca at fujitsu-siemens.com>
 Igor Sutton			<izut at cpan.org>
+Igor Zaytsev			<igor.zaytsev at gmail.com>
 Ilmari Karonen			<iltzu at sci.fi>
 Ilya Martynov			<ilya at martynov.org>
 Ilya N. Golubev			<gin at mo.msk.ru>
@@ -442,7 +475,7 @@
 Inaba Hiroto			<inaba at st.rim.or.jp>
 Indy Singh			<indy at nusphere.com>
 Ingo Weinhold			<ingo_weinhold at gmx.de>
-Ingy d\xF6t Net			<ingy at ttul.org>
+Ingy döt Net			<ingy at ttul.org>
 insecure			<insecure at mail.od.ua>
 Irving Reid			<irving at tor.securecomputing.com>
 Ivan Kurmanov			<kurmanov at openlib.org>
@@ -457,7 +490,7 @@
 James A. Duncan			<jduncan at fotango.com>
 James FitzGibbon		<james at ican.net>
 James Jurach			<muaddib at erf.net>
-James E Keenan                  <jkeen at verizon.net>
+James E Keenan			<jkeenan at cpan.org>
 James Mastros			<james at mastros.biz>
 Jamshid Afshar
 Jan D.				<jan.djarv at mbox200.swipnet.se>
@@ -469,6 +502,7 @@
 Jared Rhine			<jared at organic.com>
 Jari Aalto			<jari.aalto at poboxes.com>
 Jarkko Hietaniemi		<jhi at iki.fi>
+Jasmine Ahuja			<jasmine.ahuja11 at gmail.com>
 Jason A. Smith			<smithj4 at rpi.edu>
 Jason E. Stewart		<jason at openinformatics.com>
 Jason Hord			<pravus at cpan.org>
@@ -497,9 +531,12 @@
 Jerome Abela			<abela at hsc.fr>
 Jerrad Pierce			<belg4mit at MIT.EDU>
 Jerry D. Hedden			<jdhedden at cpan.org>
+Jess Robinson                   <castaway at desert-island.me.uk>
 Jesse Glick			<jesse at sig.bsh.com>
+Jesse Luehrs			<doy at tozt.net>
 Jesse Vincent			<jesse at fsck.com>
-Jes\xFAs Quiroga			<jquiroga at pobox.com>
+Jesús Quiroga			<jquiroga at pobox.com>
+Jilles Tjoelker			<jilles at stack.nl>
 Jim Anderson			<jander at ml.com>
 Jim Avera			<avera at hal.com>
 Jim Balter
@@ -510,6 +547,7 @@
 Jim Schneider			<jschneid at netilla.com>
 Jirka Hruška			<jirka at fud.cz>
 Joachim Huober
+Joaquin Ferrero			<explorer at joaquinferrero.com>
 Jochen Wiedmann			<joe at ispsoft.de>
 Jody Belka			<dev-perl at pimb.org>
 Joe Buehler			<jbuehler at hekimian.com>
@@ -517,6 +555,7 @@
 Joe Orton			<jorton at redhat.com>
 Joe Schaefer			<joe+perl at sunstarsys.com>
 Joe Smith			<jsmith at inwap.com>
+Joel Berger			<joel.a.berger at gmail.com>
 Joel Rosi-Schwartz		<j.schwartz at agonet.it>
 Joerg Porath			<Joerg.Porath at informatik.tu-chemnitz.de>
 Joergen Haegg
@@ -523,6 +562,7 @@
 Johan Holtman
 Johan Vromans			<jvromans at squirrel.nl>
 Johann Klasek			<jk at auto.tuwien.ac.at>
+Johannes Plunien		<plu at pqpq.de>
 John Bley			<jbb6 at acpub.duke.edu>
 John Borwick			<jhborwic at unity.ncsu.edu>
 John Cerney			<j-cerney1 at ti.com>
@@ -529,6 +569,7 @@
 John D Groenveld		<groenvel at cse.psu.edu>
 John Goodyear			<johngood at us.ibm.com>
 John Hasstedt			<John.Hasstedt at sunysb.edu>
+John Hawkinson			<jhawk at mit.edu>
 John Heidemann			<johnh at isi.edu>
 John Holdsworth			<coldwave at bigfoot.com>
 John Hughes			<john at AtlanTech.COM>
@@ -538,7 +579,7 @@
 John Malmberg			<wb8tyw at gmail.com>
 John Nolan			<jpnolan at Op.Net>
 John P. Linderman		<jpl at research.att.com>
-John Peacock			<jpeacock at rowman.com>
+John Peacock			<jpeacock at messagesystems.com>
 John Pfuntner			<pfuntner at vnet.ibm.com>
 John Poltorak			<jp at eyup.org>
 John Q. Linux			<jql at accessone.com>
@@ -578,21 +619,22 @@
 Jungshik Shin			<jshin at mailaps.org>
 Justin Banks			<justinb at cray.com>
 John E. Malmberg		<wb8tyw at qsl.net>
-J\xF6rg Walter			<jwalt at cpan.org>
-Jos\xE9 Pedro Oliveira		<jpo at di.uminho.pt>
+Jörg Walter			<jwalt at cpan.org>
+José Pedro Oliveira		<jpo at di.uminho.pt>
 Ka-Ping Yee			<kpyee at aw.sgi.com>
 Kaoru Maeda			<maeda at src.ricoh.co.jp>
+Karen Etheridge			<ether at cpan.org>
 Karl Glazebrook			<kgb at aaossz.aao.GOV.AU>
 Karl Heuer			<kwzh at gnu.org>
 Karl Simon Berg			<karl at it.kth.se>
 Karl Williamson			<public at khwilliamson.com>
 Karsten Sperling		<spiff at phreax.net>
+Karthik Rajagopalan		<rajagopa at pauline.schrodinger.com>
 Kaveh Ghazi			<ghazi at caip.rutgers.edu>
-Kay R\xF6pke			<kroepke at dolphin-services.de>
+Kay Röpke			<kroepke at dolphin-services.de>
 KAWAI Takanori			<GCD00051 at nifty.ne.jp>
 Keith Neufeld			<neufeld at fast.pvi.org>
-Keith Thompson			<kst at cts.com>
-Keith Thompson			<kst at SDSC.EDU>
+Keith Thompson			<Keith.S.Thompson at gmail.com>
 Ken Estes			<estes at ms.com>
 Ken Fox				<kfox at ford.com>
 Ken Hirsch			<kenhirsch at ftml.net>
@@ -603,9 +645,11 @@
 Kenichi Ishigaki		<ishigaki at cpan.org>
 Kenneth Albanowski		<kjahds at kjahds.com>
 Kenneth Duda			<kjd at cisco.com>
+Kent Fredric			<kentfredric at gmail.com>
 Keong Lim			<Keong.Lim at sr.com.au>
 Kevin Brintnall			<kbrint at rufus.net>
 Kevin Chase			<kevincha99 at hotmail.com>
+Kevin J. Woolley		<kjw at pathillogical.com>
 Kevin O'Gorman			<kevin.kosman at nrc.com>
 Kevin Ruscoe			<Kevin.Ruscoe at ubsw.com>
 Kevin Ryde			<user42 at zip.com.au>
@@ -627,9 +671,10 @@
 Larry W. Virden			<lvirden at cas.org>
 Larry Wall			<larry at wall.org>
 Lars Hecking			<lhecking at nmrc.ucc.ie>
-Lars D\xBF\xBF\xBF\xBF\xBF\xBF \xBF\xBF\xBF		<daxim at cpan.org>
+Lars Dɪᴇᴄᴋᴏᴡ 迪拉斯		<daxim at cpan.org>
 Laszlo Molnar			<laszlo.molnar at eth.ericsson.se>
 Larwan Berke			<apocal at cpan.org>
+Laurent Dami			<dami at cpan.org>
 Leif Huhn			<leif at hale.dkstat.com>
 Len Johnson			<lenjay at ibm.net>
 Leo Lapworth			<leo at cuckoo.org>
@@ -639,8 +684,10 @@
 Lesley Binks			<lesley.binks at gmail.com>
 Lincoln D. Stein		<lstein at cshl.org>
 Lionel Cons			<lionel.cons at cern.ch>
+Louis Strous			<louis.strous at gmail.com>
 Luc St-Louis			<luc.st-louis at ca.transport.bombardier.com>
 Luca Fini
+Lucas Holt    <luke at foolishgames.com>
 Lukas Mai			<l.mai at web.de>
 Luke Closs			<lukec at cpan.org>
 Luke Ross			<lukeross at gmail.com>
@@ -648,21 +695,25 @@
 Lupe Christoph			<lupe at lupe-christoph.de>
 Luther Huffman			<lutherh at stratcom.com>
 Maik Hentsche			<maik at mm-double.de>
-Major S\xE9bastien			<sebastien.major at crdp.ac-caen.fr>
+Major Sébastien			<sebastien.major at crdp.ac-caen.fr>
 Makoto MATSUSHITA		<matusita at ics.es.osaka-u.ac.jp>
 Malcolm Beattie			<mbeattie at sable.ox.ac.uk>
 Manuel Valente			<mvalente at idealx.com>
+Marc Green				<marcgreen at cpan.org>
 Marc Lehmann			<pcg at goof.com>
 Marc Paquette			<Marc.Paquette at Softimage.COM>
-Marcel Gr\xFCnauer			<marcel at codewerk.com>
+Marcel Grünauer			<marcel at codewerk.com>
 Marcus Holland-Moritz		<mhx-perl at gmx.net>
+Markus Jansen			<Markus.Jansen at ericsson.com>
 Marek Rouchal			<marek.rouchal at infineon.com>
 Mark A Biggar			<mab at wdl.loral.com>
 Mark A. Hershberger		<mah at everybody.org>
+Mark A. Stratman		<stratman at gmail.com>
 Mark Aufflick			<mark at aufflick.com>
 Mark Bixby			<mark at bixby.org>
 Mark Dickinson			<dickins3 at fas.harvard.edu>
-Mark Fisher			<fisherm at tce.com>
+Mark Dootson			<mdootson at cpan.org>
+Mark Leighton Fisher		<markleightonfisher at gmail.com>
 Mark Fowler			<mark at twoshortplanks.com>
 Mark Hanson
 Mark J. Reed			<mreed at strange.turner.com>
@@ -711,6 +762,7 @@
 Matt S Trout			<mst at shadowcat.co.uk>
 Matthew Black			<black at csulb.edu>
 Matthew Green			<mrg at splode.eterna.com.au>
+Matthew Horsfall		<wolfsage at gmail.com>
 Matthew Sachs			<matthewg at zevils.com>
 Matthew T Harden		<mthard at mthard1.monsanto.com>
 Matthias Ulrich Neeracher	<neeracher at mac.com>
@@ -753,6 +805,7 @@
 Mike Pomraning			<mjp at pilcrow.madison.wi.us>
 Mike Rogers
 Mike Schilli			<m at perlmeister.com>
+Mike Sheldrake			<mike at sheldrake.net>
 Mike Stok			<mike at stok.co.uk>
 Mike W Ellwood			<mwe at rl.ac.uk>
 Mikhail Zabaluev		<mhz at alt-linux.org>
@@ -760,6 +813,7 @@
 Milton L. Hankins		<mlh at swl.msd.ray.com>
 Moritz Lenz			<moritz at casella.verplant.org>
 Moshe Kaminsky			<kaminsky at math.huji.ac.il>
+Mottaqui Karim			taqqui.karim at gmail.com
 Mr. Nobody			<mrnobo1024 at yahoo.com>
 Murray Nesbitt			<murray at nesbitt.ca>
 Nathan Kurz			<nate at valleytel.net>
@@ -768,7 +822,7 @@
 Neil Bowers			<neil at bowers.com>
 Neil Watkiss			<neil.watkiss at sophos.com>
 Nicholas Clark			<nick at ccl4.org>
-Nicholas Oxh\xF8j
+Nicholas Oxhøj
 Nicholas Perez			<nperez at cpan.org>
 Nick Cleaton            <nick at cleaton.net>
 Nick Duffek
@@ -783,6 +837,7 @@
 Nikola Milutinovic
 Nikolai Eipel			<eipel at web.de>
 Noah				<sitz at onastick.net>
+Nobuhiro Iwamatsu
 Noirin Shirley			<colmsbook at nerdchic.net>
 Norbert Pueschel		<pueschel at imsdd.meb.uni-bonn.de>
 Norio Suzuki			<kipp at shonanblue.ne.jp>
@@ -791,6 +846,7 @@
 Offer Kaye			<offer.kaye at gmail.com>
 Olaf Flebbe			<o.flebbe at science-computing.de>
 Olaf Titz			<olaf at bigred.inka.de>
+Oleg Nesterov			<oleg at redhat.com>
 Olivier Blin			<blino at mandriva.com>
 Olli Savia
 Ollivier Robert			<roberto at keltia.freenix.fr>
@@ -804,6 +860,7 @@
 Patrick Dugnolle		<patrick.dugnolle at bnpparibas.com>
 Patrick Hayes			<Patrick.Hayes.CAP_SESA at renault.fr>
 Patrick O'Brien			<pdo at cs.umd.edu>
+Patrik Hägglund                 <patrik.h.hagglund at ericsson.com>
 Pau Amma			<pauamma at gundo.com>
 Paul A Sand			<pas at unh.edu>
 Paul Boven			<p.boven at sara.nl>
@@ -823,10 +880,11 @@
 Paul Saab			<ps at yahoo-inc.com>
 Paul Schinder			<schinder at pobox.com>
 Paul Szabo			<psz at maths.usyd.edu.au>
-Pavel Ka\xBFkovsk\xFD			<kan at dcit.cz>
+Pavel Kaňkovský			<kan at dcit.cz>
 Pavel Zakouril			<Pavel.Zakouril at mff.cuni.cz>
 Pedro Felipe Horrillo Guerra	<pancho at pancho.name>
 Per Einar Ellefsen		<per.einar at skynet.be>
+Perlover                        <perlover at perlover.com>
 Peter BARABAS
 Pete Peterson			<petersonp at genrad.com>
 Peter Chines			<pchines at nhgri.nih.gov>
@@ -843,12 +901,13 @@
 Peter Prymmer			<PPrymmer at factset.com>
 Peter Rabbitson			<rabbit at rabbit.us>
 Peter Scott			<Peter at PSDT.com>
-Peter Valdemar M\xF8rch		<pm at capmon.dk>
+Peter Valdemar Mørch		<pm at capmon.dk>
 Peter van Heusden		<pvh at junior.uwc.ac.za>
 Peter Wolfe			<wolfe at teloseng.com>
 Peter E. Yee			<yee at trident.arc.nasa.gov> 
 Petter Reinholdtsen		<pere at hungry.com>
 Phil Lobbes			<phil at perkpartners.com>
+Phil Monsen			<philip.monsen at pobox.com>
 Philip Hazel			<ph10 at cus.cam.ac.uk>
 Philip M. Gollucci		<pgollucci at p6m7g8.com>
 Philip Newton			<pne at cpan.org>
@@ -855,6 +914,7 @@
 Philippe M. Chiasson		<gozer at ActiveState.com>
 Philippe Bruhat (BooK)		<book at cpan.org>
 Piers Cawley			<pdcawley at bofh.org.uk>
+Pino Toscano			<pino at debian.org>
 Piotr Fusik			<pfusik at op.pl>
 Piotr Klaban			<makler at oryl.man.torun.pl>
 Pradeep Hodigere		<phodigere at yahoo.com>
@@ -879,7 +939,9 @@
 Redvers Davies			<red at criticalintegration.com>
 Reini Urban			<rurban at x-ray.at>
 Renee Baecker			<module at renee-baecker.de>
+Reuben Thomas			<rrt at sc3d.org>
 Rex Dieter			<rdieter at math.unl.edu>
+Rhesa Rozendaal			<perl at rhesa.com>
 Ricardo Signes			<rjbs at cpan.org>
 Rich Morin			<rdm at cfcl.com>
 Rich Rauenzahn			<rrauenza at hp.com>
@@ -892,7 +954,7 @@
 Richard Kandarian		<richard.kandarian at lanl.gov>
 Richard L. England		<richard_england at mentorg.com>
 Richard L. Maus, Jr.		<rmaus at monmouth.com>
-Richard M\xF6hn			<richard.moehn at fu-berlin.de>
+Richard Möhn			<richard.moehn at fu-berlin.de>
 Richard Ohnemus			<richard_ohnemus at dallas.csd.sterling.com>
 Richard Soderberg		<p5-authors at crystalflame.net>
 Richard Yeh			<rcyeh at cco.caltech.edu>
@@ -916,6 +978,7 @@
 Rocco Caputo			<troc at netrus.net>
 Roderick Schertler		<roderick at argon.org>
 Rodger Anderson			<rodger at boi.hp.com>
+Rodolfo Carvalho		<rhcarvalho at gmail.com>
 Ronald F. Guilmette		<rfg at monkeys.com>
 Ronald J. Kimball		<rjk at linguist.dartmouth.edu>
 Ronald Schmidt			<RonaldWS at aol.com>
@@ -927,11 +990,14 @@
 Russell Fulton			<russell at ccu1.auckland.ac.nz>
 Russell Mosemann		<mose at ccsn.edu>
 Ryan Herbert			<rherbert at sycamorehq.com>
-Salvador Fandi\xF1o		<sfandino at yahoo.com>
+Salvador Fandiño		<sfandino at yahoo.com>
 Salvador Ortiz Garcia		<sog at msg.com.mx>
+Sam Kimbrel			<kimbrel at me.com>
 Sam Tregar			<sam at tregar.com>
 Sam Vilain			<sam at vilain.net>
-Samuli K\xE4rkk\xE4inen		<skarkkai at woods.iki.fi>
+Samuel Thibault			<sthibault at debian.org>
+Samuli Kärkkäinen		<skarkkai at woods.iki.fi>
+Sawyer X                <xsawyerx at cpan.org>
 Schuyler Erle			<schuyler at oreilly.com>
 Scott A Crosby			<scrosby at cs.rice.edu>
 Scott Bronson			<bronson at rinspin.com>
@@ -947,18 +1013,21 @@
 Sean Robinson			<robinson_s at sc.maricopa.edu>
 Sean Sheedy			<seans at ncube.com>
 Sebastian Wittmeier		<Sebastian.Wittmeier at ginko.de>
-S\xE9bastien Aperghis-Tramoni	<sebastien at aperghis.net>
+Sébastien Aperghis-Tramoni	<saper at cpan.org>
 Sebastien Barre			<Sebastien.Barre at utc.fr>
 Sebastian Schmidt		<yath at yath.de>
 Sebastian Steinlechner		<steinlechner at gmx.net>
-S\xE9rgio Durigan J\xFAnior		<sergiodj at linux.vnet.ibm.com>
+Sérgio Durigan Júnior		<sergiodj at linux.vnet.ibm.com>
+Sergey Alekseev <varnie29a at mail.ru>
 Shawn				<svicalifornia at gmail.com>
+Shawn M Moore			<sartak at gmail.com>
 Sherm Pendley			<sherm at dot-app.org>
-Shigeya Suzuki			<shigeya at foretune.co.jp>
+Shigeya Suzuki			<shigeya at wide.ad.jp>
 Shimpei Yamashita		<shimpei at socrates.patnet.caltech.edu>
 Shinya Hayakawa			<hayakawa at livedoor.jp>
+Shirakata Kentaro		<argrath at ub32.org>
 Shishir Gundavaram		<shishir at ruby.ora.com>
-Shlomi Fish			<shlomif at vipe.technion.ac.il>
+Shlomi Fish			<shlomif at cpan.org>
 Simon Cozens			<simon at netthink.co.uk>
 Simon Glover			<scog at roe.ac.uk>
 Simon Leinen
@@ -970,18 +1039,21 @@
 Smylers				<smylers at stripey.com>
 Solar Designer			<solar at openwall.com>
 Spider Boardman			<spider at orb.nashua.nh.us>
-Spiros Denaxas			<spiros at lokku.com>
+Spiros Denaxas			<s.denaxas at gmail.com>
 Sreeji K Das			<sreeji_k at yahoo.com>
 Stas Bekman			<stas at stason.org>
-Steffen M\xFCller			<smueller at cpan.org>
+Steffen Müller			<smueller at cpan.org>
+Steffen Schwigon		<ss5 at renormalist.net>
 Steffen Ullrich			<coyote.frank at gmx.net>
-St\xE9phane Payrard		<stef at mongueurs.net>
+Stéphane Payrard		<stef at mongueurs.net>
 Stepan Kasal			<skasal at redhat.com>
 Stephane Payrard		<properler at freesurf.fr>
 Stephanie Beals			<bealzy at us.ibm.com>
+Stephen Bennett			<sbp at exherbo.com>
 Stephen Clouse			<stephenc at theiqgroup.com>
 Stephen McCamant		<smcc at mit.edu>
 Stephen O. Lidie		<lusol at turkey.cc.Lehigh.EDU>
+Stephen Oberholtzer		<oliverklozoff at gmail.com>
 Stephen P. Potter		<spp at ds.net>
 Stephen Zander			<gibreel at pobox.com>
 Steve A Fink			<sfink at cs.berkeley.edu>
@@ -994,6 +1066,7 @@
 Steve Peters			<steve at fisharerojo.org>
 Steve Purkis			<Steve.Purkis at multimap.com>
 Steve Vinoski
+Stevan Little			<stevan.little at iinteractive.com>
 Steven Hirsch			<hirschs at btv.ibm.com>
 Steven Knight			<knight at theopera.baldmt.citilink.com>
 Steven Morlock			<newspost at morlock.net>
@@ -1002,6 +1075,7 @@
 Steven Schubiger		<schubiger at cpan.org>
 Stian Seeberg			<sseeberg at nimsoft.no>
 Sullivan Beck           <sbeck at cpan.org>
+Sven Strickroth			<sven.strickroth at tu-clausthal.de>
 Sven Verdoolaege		<skimo at breughel.ufsia.ac.be>
 SynaptiCAD, Inc.		<sales at syncad.com>
 Takis Psarogiannakopoulos	<takis at xfree86.org>
@@ -1014,13 +1088,14 @@
 Teun Burgers			<burgers at ecn.nl>
 Thad Floryan			<thad at thadlabs.com>
 Thomas Bowditch			<bowditch at inmet.com>
-Thomas Cont\xE9			<tom at fr.uu.net>
+Thomas Conté			<tom at fr.uu.net>
 Thomas Dorner			<Thomas.Dorner at start.de>
 Thomas Kofler
-Thomas K\xF6nig
+Thomas König
 Thomas Pfau			<pfau at nbpfaus.net>
+Thomas Sibley			<tsibley at cpan.org>
 Thomas Wegner			<wegner_thomas at yahoo.com>
-Thorsten Glaser
+Thorsten Glaser			<tg at mirbsd.org>
 Tim Adye			<T.J.Adye at rl.ac.uk>
 Tim Ayers			<tayers at bridge.com>
 Tim Bunce			<Tim.Bunce at pobox.com>
@@ -1030,8 +1105,10 @@
 Tim Mooney			<mooney at dogbert.cc.ndsu.NoDak.edu>
 Tim Sweetman			<tim at aldigital.co.uk>
 Tim Witham			<twitham at pcocd2.intel.com>
+Timothe Litt			<litt at acm.org>
 Timur I. Bakeyev		<bsdi at listserv.bat.ru>
 Tkil				<tkil at reptile.scrye.com>
+Tobias Leich                    <email at froggs.de>
 Todd C. Miller			<Todd.Miller at courtesan.com>
 Todd Rinaldo			<toddr at cpanel.net>
 Todd T. Fries			<todd at fries.int.mrleng.com>
@@ -1045,7 +1122,7 @@
 Tom Hukins			<tom at eborcom.com>
 Tom Phoenix			<rootbeer at teleport.com>
 Tom Spindler			<dogcow at isi.net>
-Tom Wyant
+Tom Wyant			<wyant at cpan.org>
 Tomoyuki Sadahiro		<BQW10602 at nifty.com>
 Ton Hospel			<cpan at ton.iguana.be>
 Tony Bowden			<tony at kasei.com>
@@ -1054,7 +1131,7 @@
 Tony Sanders			<sanders at bsdi.com>
 Tor Lillqvist			<tml at hemuli.tte.vtt.fi>
 Torsten Foertsch		<torsten.foertsch at gmx.net>
-Torsten Sch\xF6nfeld		<kaffeetisch at gmx.de>
+Torsten Schönfeld		<kaffeetisch at gmx.de>
 Trevor Blackwell		<tlb at viaweb.com>
 Tuomas J. Lukka			<tjl at lukka.student.harvard.edu>
 Tsutomu IKEGAMI			<t-ikegami at aist.go.jp>
@@ -1065,12 +1142,13 @@
 Vadim Konovalov			<vkonovalov at lucent.com>
 Valeriy E. Ushakov		<uwe at ptc.spbu.ru>
 Vernon Lyon			<vlyon at cpan.org>
-Ville Skytt\xE4			<scop at cs132170.pp.htv.fi>
+Ville Skyttä			<scop at cs132170.pp.htv.fi>
 Vincent Pit			<perl at profvince.com>
 Vishal Bhatia			<vishal at deja.com>
 Vlad Harchev			<hvv at hippo.ru>
 Vladimir Alexiev		<vladimir at cs.ualberta.ca>
 Vladimir Timofeev		<vovkasm at gmail.com>
+Volker Schatz			<perldoc at volkerschatz.com>
 W. Geoffrey Rommel		<grommel at sears.com>
 W. Phillip Moore		<wpm at ms.com>
 Walt Mankowski			<waltman at pobox.com>
@@ -1080,7 +1158,7 @@
 Wayne Berke			<berke at panix.com>
 Wayne Scott			<wscott at ichips.intel.com>
 Wayne Thompson			<Wayne.Thompson at Ebay.sun.com>
-Wilfredo S\xE1nchez		<wsanchez at mit.edu>
+Wilfredo Sánchez		<wsanchez at mit.edu>
 William J. Middleton		<William.Middleton at oslo.mobil.telenor.no>
 William Mann			<wmann at avici.com>
 William Middleton		<wmiddlet at adobe.com>
@@ -1088,7 +1166,7 @@
 William Setzer			<William_Setzer at ncsu.edu>
 William Williams		<biwillia at cisco.com>
 William Yardley			<perlbug at veggiechinese.net>
-Winfried K\xF6nig			<win at in.rhein-main.de>
+Winfried König			<win at in.rhein-main.de>
 Wolfgang Laun			<Wolfgang.Laun at alcatel.at>
 Wolfram Humann			<w.c.humann at arcor.de>
 Xavier Noria			<fxn at hashref.com>
@@ -1103,6 +1181,6 @@
 Yves Orton			<demerphq at gmail.com>
 Zachary Miller			<zcmiller at simon.er.usgs.gov>
 Zefram				<zefram at fysh.org>
-Zsb\xE1n Ambrus                    <ambrus at math.bme.hu>
+Zsbán Ambrus                    <ambrus at math.bme.hu>
 Zbynek Vyskovsky		<kvr at centrum.cz>
-\xC6var Arnfj\xF6r\xF0 Bjarmason		<avar at cpan.org>
+Ævar Arnfjörð Bjarmason		<avar at cpan.org>


Property changes on: vendor/perl/dist/AUTHORS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/Artistic
===================================================================
--- vendor/perl/dist/Artistic	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Artistic	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,9 +2,9 @@
 
 
 
-			 The "Artistic License"
+                         The "Artistic License"
 
-				Preamble
+                                Preamble
 
 The intent of this document is to state the conditions under which a
 Package may be copied, such that the Copyright Holder maintains some
@@ -15,30 +15,30 @@
 
 Definitions:
 
-	"Package" refers to the collection of files distributed by the
-	Copyright Holder, and derivatives of that collection of files
-	created through textual modification.
+        "Package" refers to the collection of files distributed by the
+        Copyright Holder, and derivatives of that collection of files
+        created through textual modification.
 
-	"Standard Version" refers to such a Package if it has not been
-	modified, or has been modified in accordance with the wishes
-	of the Copyright Holder as specified below.
+        "Standard Version" refers to such a Package if it has not been
+        modified, or has been modified in accordance with the wishes
+        of the Copyright Holder as specified below.
 
-	"Copyright Holder" is whoever is named in the copyright or
-	copyrights for the package.
+        "Copyright Holder" is whoever is named in the copyright or
+        copyrights for the package.
 
-	"You" is you, if you're thinking about copying or distributing
-	this Package.
+        "You" is you, if you're thinking about copying or distributing
+        this Package.
 
-	"Reasonable copying fee" is whatever you can justify on the
-	basis of media cost, duplication charges, time of people involved,
-	and so on.  (You will not be required to justify it to the
-	Copyright Holder, but only to the computing community at large
-	as a market that must bear the fee.)
+        "Reasonable copying fee" is whatever you can justify on the
+        basis of media cost, duplication charges, time of people involved,
+        and so on.  (You will not be required to justify it to the
+        Copyright Holder, but only to the computing community at large
+        as a market that must bear the fee.)
 
-	"Freely Available" means that no fee is charged for the item
-	itself, though there may be fees involved in handling the item.
-	It also means that recipients of the item may redistribute it
-	under the same conditions they received it.
+        "Freely Available" means that no fee is charged for the item
+        itself, though there may be fees involved in handling the item.
+        It also means that recipients of the item may redistribute it
+        under the same conditions they received it.
 
 1. You may make and give away verbatim copies of the source form of the
 Standard Version of this Package without restriction, provided that you
@@ -128,4 +128,4 @@
 IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
 WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 
-				The End
+                                The End


Property changes on: vendor/perl/dist/Artistic
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Changes
===================================================================
--- vendor/perl/dist/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Configure
===================================================================
--- vendor/perl/dist/Configure	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Configure	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 # Note: this Configure script was generated automatically. Rather than
 # working with this copy of Configure, you may wish to get metaconfig.
 # The dist package (which contains metaconfig) is available via SVN:
-#     svn co https://svn.sourceforge.net/svnroot/dist/trunk/dist
+#     svn co https://svn.code.sf.net/p/dist/code/trunk/dist
 #
 # Though this script was generated by metaconfig from metaunits, it is
 # OK to send patches against Configure itself. It's up to the Configure
@@ -28,7 +28,7 @@
 # See Porting/pumpkin.pod for more information on metaconfig.
 #
 
-# Generated on Mon Feb 14 23:00:18 CET 2011 [metaconfig 3.5 PL0]
+# Generated on Wed May  8 15:28:09 CEST 2013 [metaconfig 3.5 PL0]
 # (with additional metaconfig patches by perlbug at perl.org)
 
 cat >c1$$ <<EOF
@@ -332,6 +332,7 @@
 installarchlib=''
 archname=''
 myarchname=''
+useversionedarchname=''
 d_atolf=''
 d_atoll=''
 baserev=''
@@ -565,6 +566,7 @@
 d_inetpton=''
 d_int64_t=''
 d_isascii=''
+d_isblank=''
 d_isfinite=''
 d_isinf=''
 d_isnan=''
@@ -722,6 +724,10 @@
 d_vsnprintf=''
 d_sockatmark=''
 d_sockatmarkproto=''
+d_ip_mreq=''
+d_ip_mreq_source=''
+d_ipv6_mreq=''
+d_ipv6_mreq_source=''
 d_msg_ctrunc=''
 d_msg_dontroute=''
 d_msg_oob=''
@@ -730,6 +736,7 @@
 d_oldsock=''
 d_scm_rights=''
 d_sin6_scope_id=''
+d_sockaddr_in6=''
 d_sockaddr_sa_len=''
 d_socket=''
 d_sockpair=''
@@ -840,9 +847,11 @@
 ccdlflags=''
 dlsrc=''
 ld=''
+ld_can_script=''
 lddlflags=''
 usedl=''
 doublesize=''
+bootstrap_charset=''
 ebcdic=''
 fflushNULL=''
 fflushall=''
@@ -926,6 +935,7 @@
 i_sfio=''
 i_shadow=''
 i_socks=''
+i_stdbool=''
 i_stddef=''
 i_stdlib=''
 i_string=''
@@ -1194,6 +1204,8 @@
 spitshell=''
 src=''
 ssizetype=''
+st_ino_sign=''
+st_ino_size=''
 startperl=''
 startsh=''
 stdchar=''
@@ -1215,6 +1227,7 @@
 dtrace=''
 usedtrace=''
 usefaststdio=''
+usekernprocpathname=''
 ccflags_uselargefiles=''
 ldflags_uselargefiles=''
 libswanted_uselargefiles=''
@@ -1226,6 +1239,7 @@
 nm_so_opt=''
 runnm=''
 usenm=''
+usensgetexecutablepath=''
 useperlio=''
 usesocks=''
 d_oldpthreads=''
@@ -1308,6 +1322,9 @@
 
 groupstype=''
 i_whoami=''
+: Trailing extension.  Override this in a hint file, if needed.
+: Extra object files, if any, needed on this platform.
+archobjs=''
 archname=''
 : Possible local include directories to search.
 : Set locincpth to "" in a hint file to defeat local include searches.
@@ -1321,11 +1338,6 @@
 EBUGGING=''
 DEBUGGING=''
 
-: set usethreads on the Configure command line to enable threads.
-usereentrant='undef'
-: Trailing extension.  Override this in a hint file, if needed.
-: Extra object files, if any, needed on this platform.
-archobjs=''
 libnames=''
 : change the next line if compiling for Xenix/286 on Xenix/386
 xlibpth='/usr/lib/386 /lib/386'
@@ -1349,6 +1361,8 @@
 libswanted=''
 : some systems want to use only the non-versioned libso:s
 ignore_versioned_solibs=''
+: set usethreads on the Configure command line to enable threads.
+usereentrant='undef'
 : full support for void wanted by default
 defvoidused=15
 
@@ -1411,10 +1425,10 @@
 
 case "$sh" in
 '')	cat >&2 <<EOM
-$me:  Fatal Error:  I can't find a Bourne Shell anywhere.  
+$me:  Fatal Error:  I can't find a Bourne Shell anywhere.
 
 Usually it's in /bin/sh.  How did you even get this far?
-Please contact me (Perl Maintainers) at perlbug at perl.org and 
+Please contact me (Perl Maintainers) at perlbug at perl.org and
 we'll try to straighten this all out.
 EOM
 	exit 1
@@ -2699,7 +2713,7 @@
 				;;
 			*)	issymlink='' ;;
 			esac
-		fi		
+		fi
 	fi
 	if $test "X$issymlink" = X; then
 		if $test -L sym 2>/dev/null; then
@@ -3088,9 +3102,13 @@
 '')
 myuname=`$uname -a 2>/dev/null`
 $test -z "$myuname" && myuname=`hostname 2>/dev/null`
+# Downcase everything to avoid ambiguity.
+# Remove slashes and single quotes so we can use parts of this in
+# directory and file names.
+# Remove newlines so myuname is sane to use elsewhere.
 # tr '[A-Z]' '[a-z]' would not work in EBCDIC
 # because the A-Z/a-z are not consecutive.
-myuname=`echo $myuname | $sed -e 's/^[^=]*=//' -e "s,['/],,g" | \
+myuname=`echo $myuname | $sed -e "s,['/],,g" | \
 	./tr '[A-Z]' '[a-z]' | $tr $trnl ' '`
 newmyuname="$myuname"
 dflt=n
@@ -3975,7 +3993,7 @@
 fi
 
 : determine installation prefix for where package is to be installed.
-if $afs; then 
+if $afs; then
 $cat <<EOM
 
 Since you are running AFS, I need to distinguish the directory in which
@@ -4071,77 +4089,6 @@
 *) eval "$var=$val";;
 esac'
 
-: Check is we will use socks
-case "$usesocks" in
-$define|true|[yY]*)	dflt='y';;
-*) dflt='n';;
-esac
-cat <<EOM
-
-Perl can be built to use the SOCKS proxy protocol library.  To do so,
-Configure must be run with -Dusesocks.  If you use SOCKS you also need
-to use the PerlIO abstraction layer, this will be implicitly selected.
-
-If this doesn't make any sense to you, just accept the default '$dflt'.
-EOM
-rp='Build Perl for SOCKS?'
-. ./myread
-case "$ans" in
-y|Y)	val="$define" ;;
-*)      val="$undef" ;;
-esac
-set usesocks
-eval $setvar
-
-case "$usesocks" in
-$define|true|[yY]*) useperlio="$define";;
-esac
-
-: Check if we want perlio
-case "$useperlio" in
-$define|true|[yY]*|'')	dflt='y';;
-*) dflt='n';;
-esac
-cat <<EOM
-
-Previous version of $package used the standard IO mechanisms as
-defined in <stdio.h>.  Versions 5.003_02 and later of $package allow
-alternate IO mechanisms via the PerlIO abstraction layer, but the
-stdio mechanism is still available if needed.  The abstraction layer
-can use AT&T's sfio (if you already have sfio installed) or regular stdio.
-Using PerlIO with sfio may cause problems with some extension modules.
-
-If this doesn't make any sense to you, just accept the default '$dflt'.
-EOM
-rp='Use the PerlIO abstraction layer?'
-. ./myread
-case "$ans" in
-y|Y)
-	val="$define"
-	;;
-*)
-	echo "Ok, doing things the stdio way."
-	val="$undef"
-	;;
-esac
-set useperlio
-eval $setvar
-
-case "$usesocks" in
-$define|true|[yY]*)
-	case "$useperlio" in
-	$define|true|[yY]*) ;;
-	*)	cat >&4 <<EOM
-
-You are using the SOCKS proxy protocol library which means that you
-should also use the PerlIO layer.  You may be headed for trouble.
-
-EOM
-		;;
-	esac
-	;;
-esac
-
 : get the patchlevel
 echo " "
 echo "Getting the current patchlevel..." >&4
@@ -4201,13 +4148,8 @@
 *)     # Catch case where user specified ithreads or 5005threads but
        # forgot -Dusethreads (A.D. 4/2002)
        case "$useithreads$use5005threads" in
-       *$define*)
-		case "$useperlio" in
-		"$define")	dflt='y' ;;
-		*)		dflt='n' ;;
-		esac
-		;;
-       *)	dflt='n';;
+       *$define*)	dflt='y';;
+       *)		dflt='n';;
        esac
        ;;
 esac
@@ -4309,16 +4251,6 @@
     useithreads="$usethreads"
 fi
 
-if test X"$usethreads" = "X$define" -a "X$useperlio" = "Xundef"; then
-	cat >&4 <<EOF
-***
-*** To build with ithreads you must also use the PerlIO layer.
-*** Cannot continue, aborting.
-***
-EOF
-	exit 1
-fi
-
 case "$d_oldpthreads" in
 '')	: Configure tests would be welcome here.  For now, assume undef.
 	val="$undef" ;;
@@ -4894,6 +4826,28 @@
 '') firstmakefile='makefile';;
 esac
 
+: Check is we will use socks
+case "$usesocks" in
+$define|true|[yY]*)	dflt='y';;
+*) dflt='n';;
+esac
+cat <<EOM
+
+Perl can be built to use the SOCKS proxy protocol library.  To do so,
+Configure must be run with -Dusesocks.  If you use SOCKS you also need
+to use the PerlIO abstraction layer, this will be implicitly selected.
+
+If this doesn't make any sense to you, just accept the default '$dflt'.
+EOM
+rp='Build Perl for SOCKS?'
+. ./myread
+case "$ans" in
+y|Y)	val="$define" ;;
+*)      val="$undef" ;;
+esac
+set usesocks
+eval $setvar
+
 : Check for uselongdouble support
 case "$ccflags" in
 *-DUSE_LONG_DOUBLE*|*-DUSE_MORE_BITS*) uselongdouble="$define" ;;
@@ -5309,10 +5263,10 @@
 esac
 # See note above about -fstack-protector
 case "$ccflags" in
-*-fstack-protector*) 
+*-fstack-protector*)
 	case "$dflt" in
 	*-fstack-protector*) ;; # Don't add it again
-	*) dflt="$dflt -fstack-protector" ;; 
+	*) dflt="$dflt -fstack-protector" ;;
 	esac
 	;;
 esac
@@ -6069,6 +6023,32 @@
 rp='What is your architecture name'
 . ./myread
 archname="$ans"
+
+: optionally add API version to the architecture for versioned archlibs
+case "$useversionedarchname" in
+$define|true|[yY]*) dflt='y';;
+*)                  dflt='n';;
+esac
+rp='Add the Perl API version to your archname?'
+. ./myread
+case "$ans" in
+y|Y)	useversionedarchname="$define" ;;
+*)      useversionedarchname="$undef" ;;
+esac
+case "$useversionedarchname" in
+$define)
+        case "$archname" in
+        *-$api_versionstring)
+                echo "...and architecture name already has -$api_versionstring" >&4
+                ;;
+        *)
+                archname="$archname-$api_versionstring"
+                echo "...setting architecture name to $archname." >&4
+                ;;
+        esac
+        ;;
+esac
+
 case "$usethreads" in
 $define)
 	echo "Threads selected." >&4
@@ -6135,21 +6115,6 @@
 	esac
 	;;
 esac
-case "$useperlio" in
-$define)
-	echo "Perlio selected." >&4
-	;;
-*)
-	echo "Perlio not selected, using stdio." >&4
-	case "$archname" in
-        *-stdio*) echo "...and architecture name already has -stdio." >&4
-                ;;
-        *)      archname="$archname-stdio"
-                echo "...setting architecture name to $archname." >&4
-                ;;
-        esac
-	;;
-esac
 if $test -f archname.cbu; then
 	echo "Your platform has some specific hints for architecture name, using them..."
 	. ./archname.cbu
@@ -6847,6 +6812,7 @@
 	4) dflt='y' ;;
 	*) dflt='n' ;;
 	esac
+	if test "$useithreads" = "$define"; then dflt='n'; fi
 	;;
 esac
 rp="Do you wish to attempt to use the malloc that comes with $package?"
@@ -7074,9 +7040,9 @@
 
 Lastly, you can have perl look in other directories for extensions and
 modules in addition to those already specified.
-These directories will be searched after 
-	$sitearch 
-	$sitelib 
+These directories will be searched after
+	$sitearch
+	$sitelib
 EOM
 test X"$vendorlib" != "X" && echo '	' $vendorlib
 test X"$vendorarch" != "X" && echo '	' $vendorarch
@@ -7094,7 +7060,7 @@
 rp='Colon-separated list of additional directories for perl to search?'
 . ./myread
 case "$ans" in
-' '|''|none)	otherlibdirs=' ' ;;     
+' '|''|none)	otherlibdirs=' ' ;;
 *)	otherlibdirs="$ans" ;;
 esac
 case "$otherlibdirs" in
@@ -7431,11 +7397,11 @@
 		;;
 	esac
 	case "$dflt" in
-	'') 
+	'')
 		if $test "$osname" = aix -a "X$PASE" != "Xdefine" -a ! -f /lib/syscalls.exp; then
 			echo " "
 			echo "Whoops!  This is an AIX system without /lib/syscalls.exp!" >&4
-			echo "'nm' won't be sufficient on this sytem." >&4
+			echo "'nm' won't be sufficient on this system." >&4
 			dflt=n
 		fi
 		;;
@@ -8015,8 +7981,9 @@
 while other systems (such as those using ELF) use $cc.
 
 EOM
-	case "$ld" in
-	'')	$cat >try.c <<EOM
+
+: Determine if this is ELF
+	$cat >try.c <<EOM
 /* Test for whether ELF binaries are produced */
 #include <fcntl.h>
 #$i_stdlib I_STDLIB
@@ -8033,22 +8000,26 @@
 	if(i == -1)
 		exit(1); /* fail */
 	if(read(i,b,4)==4 && b[0]==127 && b[1]=='E' && b[2]=='L' && b[3]=='F')
-		exit(0); /* succeed (yes, it's ELF) */
+		exit(0); /* succeed (yes, it is ELF) */
 	else
 		exit(1); /* fail */
 }
 EOM
-		if $cc $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
+	if $cc $ccflags $ldflags try.c >/dev/null 2>&1 && $run ./a.out; then
+		bin_ELF="$define"
+	fi
+	$rm_try
+
+	case "$ld" in
+	'')	if $test $bin_ELF = "$define"; then
 			cat <<EOM
 You appear to have ELF support.  I'll use $cc to build dynamic libraries.
 EOM
 			dflt="$cc"
-			bin_ELF="$define"
 		else
 			echo "I'll use ld to build dynamic libraries."
 			dflt='ld'
 		fi
-		$rm_try
 		;;
 	*)	dflt="$ld"
 		;;
@@ -8069,7 +8040,6 @@
 EOM
     case "$lddlflags" in
     '') case "$osname" in
-  			beos) dflt='-nostart' ;;
   			haiku) dflt='-shared' ;;
 			hpux) dflt='-b';
 			      case "$gccversion" in
@@ -8078,7 +8048,20 @@
 			      ;;
 			linux|irix*|gnu*)  dflt="-shared $optimize" ;;
 			next)  dflt='none' ;;
-			solaris) dflt='-G' ;;
+			solaris) # See [perl #66604].  On Solaris 11, gcc -m64 on amd64
+				# appears not to understand -G.  gcc versions at
+				# least as old as 3.4.3 support -shared, so just
+				# use that with Solaris 11 and later, but keep
+				# the old behavior for older Solaris versions.
+				case "$gccversion" in
+					'') dflt='-G' ;;
+					*)	case "$osvers" in
+							2.?|2.10) dflt='-G' ;;
+							*) dflt='-shared' ;;
+						esac
+						;;
+				esac
+				;;
 			sunos) dflt='-assert nodefinitions' ;;
 			svr4*|esix*|nonstopux) dflt="-G $ldflags" ;;
 	        *)     dflt='none' ;;
@@ -8155,6 +8138,34 @@
     ;;
 esac
 
+ld_can_script="$undef"
+case "$bin_ELF$usedl" in
+$define$define)
+    # Abuse try.h and a.out names for neat cleanup
+    $cat >try.c <<EOM
+void foo() {}
+void bar() {}
+EOM
+    $cat >try.h <<EOM
+LIBTEST_42 {
+ global:
+  foo;
+ local: *;
+ };
+EOM
+    if $cc $cccdlflags $ccdlflags $ccflags \
+           $ldflags $lddlflags -o a.out try.c \
+           -Wl,--version-script=try.h >/dev/null 2>&1 \
+       &&  $test -s a.out ; then
+	echo "ld supports scripting" >&4
+	ld_can_script="$define"
+    else
+	echo "ld does not support scripting" >&4
+    fi
+    $rm_try
+    ;;
+esac
+
 : Do we want a shared libperl?
 also=''
 case "$usedl" in
@@ -8164,7 +8175,7 @@
 	;;
 *)	case "$useshrplib" in
 	'')	case "$osname" in
-		svr4*|nonstopux|dgux|dynixptx|esix|powerux|beos|haiku|cygwin*)
+		svr4*|nonstopux|dgux|dynixptx|esix|powerux|haiku|cygwin*)
 			dflt=y
 			also='Building a shared libperl is required for dynamic loading to work on your system.'
 			;;
@@ -8335,9 +8346,6 @@
 	next)
 		# next doesn't like the default...
 		;;
-	beos)
-		# beos doesn't like the default, either.
-		;;
 	haiku)
 		# Haiku doesn't like the default, either.
 		;;
@@ -8389,7 +8397,7 @@
 : determine where manual pages are on this system
 echo " "
 case "$sysman" in
-'') 
+'')
 	syspath='/usr/share/man/man1 /usr/man/man1'
 	syspath="$syspath /usr/man/mann /usr/man/manl /usr/man/local/man1"
 	syspath="$syspath /usr/man/u_man/man1"
@@ -8872,9 +8880,19 @@
 EOM
 cont=x
 while test "$cont"; do
+	case "$MAILDOMAIN" in
+	'')
+		if $test -s /etc/mailname; then
+			maildomain=`$cat /etc/mailname`
+		else
+			maildomain="$myhostname$mydomain"
+		fi
+		;;
+	*)  maildomain="$MAILDOMAIN";;
+	esac
 	case "$cf_email" in
-	'') dflt="$cf_by@$myhostname$mydomain";;
-	*) dflt="$cf_email";;
+	'') dflt="$cf_by@$maildomain";;
+	*)  dflt="$cf_email";;
 	esac
 	rp='What is your e-mail address?'
 	. ./myread
@@ -9410,6 +9428,9 @@
 	;;
 esac
 
+: Check if we want perlio
+useperlio="$define"
+
 : Set the vendorbin variables
 case "$vendorprefix" in
 '')	d_vendorbin="$undef"
@@ -10829,7 +10850,7 @@
 	valstd="$undef"
 fi
 
-: see if varags is available
+: see if varargs is available
 echo " "
 if $test `./findhdr varargs.h`; then
 	echo "<varargs.h> found." >&4
@@ -10881,6 +10902,7 @@
 : now check which varargs header should be included
 echo " "
 i_varhdr=''
+val=''
 case "$valstd" in
 "$define")
 	if `./varargs I_STDARG`; then
@@ -10897,6 +10919,15 @@
 esac
 case "$val" in
 '')
+	echo " "
+	echo "*** WHOA THERE!!! ***" >&4
+	echo "    Your C compiler \"$cc\" doesn't seem to support stdarg or varargs!" >&4
+	case "$knowitall" in
+	'')
+	echo "    I'm giving up; maybe you can try again with a different compiler?" >&4
+		exit 1
+		;;
+	esac
 echo "I could not find the definition for va_dcl... You have problems..." >&4
 	val="$undef"; set i_stdarg; eval $setvar
 	val="$undef"; set i_varargs; eval $setvar
@@ -11368,6 +11399,24 @@
 $rm_try
 
 echo " "
+echo "Checking the availability struct sockaddr_in6 ..." >&4
+$cat >try.c <<EOF
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+int main() {
+struct sockaddr_in6 sin6;
+return (sin6.sin6_family);
+}
+EOF
+val="$undef"
+set try; if eval $compile; then
+	val="$define"
+fi
+set d_sockaddr_in6; eval $setvar
+$rm_try
+
+echo " "
 echo "Checking the availability sin6_scope_id in struct sockaddr_in6 ..." >&4
 $cat >try.c <<EOF
 #include <sys/types.h>
@@ -11386,6 +11435,78 @@
 $rm_try
 
 echo " "
+echo "Checking the availability struct ip_mreq ..." >&4
+$cat >try.c <<EOF
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+int main() {
+struct ip_mreq mreq;
+return (mreq.imr_multiaddr.s_addr);
+}
+EOF
+val="$undef"
+set try; if eval $compile; then
+       val="$define"
+fi
+set d_ip_mreq; eval $setvar
+$rm_try
+
+echo " "
+echo "Checking the availability struct ip_mreq_source ..." >&4
+$cat >try.c <<EOF
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+int main() {
+struct ip_mreq_source mreq;
+return (mreq.imr_multiaddr.s_addr);
+}
+EOF
+val="$undef"
+set try; if eval $compile; then
+       val="$define"
+fi
+set d_ip_mreq_source; eval $setvar
+$rm_try
+
+echo " "
+echo "Checking the availability struct ipv6_mreq ..." >&4
+$cat >try.c <<EOF
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+int main() {
+struct ipv6_mreq mreq;
+return (mreq.ipv6mr_interface);
+}
+EOF
+val="$undef"
+set try; if eval $compile; then
+	val="$define"
+fi
+set d_ipv6_mreq; eval $setvar
+$rm_try
+
+echo " "
+echo "Checking the availability struct ipv6_mreq_source ..." >&4
+$cat >try.c <<EOF
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+int main() {
+struct ipv6_mreq_source mreq;
+return (mreq.imr_multiaddr.s_addr);
+}
+EOF
+val="$undef"
+set try; if eval $compile; then
+       val="$define"
+fi
+set d_ipv6_mreq_source; eval $setvar
+$rm_try
+
+echo " "
 echo "Checking the availability of certain socket constants..." >&4
 for ENUM in MSG_CTRUNC MSG_DONTROUTE MSG_OOB MSG_PEEK MSG_PROXY SCM_RIGHTS; do
 	enum=`$echo $ENUM|./tr '[A-Z]' '[a-z]'`
@@ -11863,7 +11984,7 @@
 #endif
 #endif
 #endif
-#endif 
+#endif
 int main() {
 	DIR *dirp = opendir(".");
 	if (dirfd(dirp) >= 0)
@@ -12366,7 +12487,7 @@
 	$rm -f $$.h
 	;;
 *)
-	val="$undef"; 
+	val="$undef";
 	set d_pwquota; eval $setvar
 	set d_pwage; eval $setvar
 	set d_pwchange; eval $setvar
@@ -15000,6 +15121,30 @@
 eval $setvar
 $rm -f isascii*
 
+: Look for isblank
+echo " "
+$cat >isblank.c <<'EOCP'
+#include <stdio.h>
+#include <ctype.h>
+int main() {
+	int c = ' ';
+	if (isblank(c))
+		return 0 ;
+	else
+		return 1 ;
+}
+EOCP
+if $cc $ccflags $ldflags -o isblank isblank.c $libs >/dev/null 2>&1 ; then
+	echo "isblank() found." >&4
+	val="$define"
+else
+	echo "isblank() NOT found." >&4
+	val="$undef"
+fi
+set d_isblank
+eval $setvar
+$rm -f isblank*
+
 : see if isfinite exists
 set isfinite d_isfinite
 eval $inlibc
@@ -16118,23 +16263,24 @@
 procselfexe=''
 val="$undef"
 case "$d_readlink" in
-"$define")
-	if $issymlink /proc/self/exe ; then
-		$ls -l /proc/self/exe > reflect
+    "$define")
+	: NetBSD first as /proc/self is a symlink to /proc/curproc, and it feels
+	: more tidy to avoid an extra level of symlink
+	set NetBSD /proc/curproc/exe Linux /proc/self/exe FreeBSD /proc/curproc/file Solaris /proc/self/path/a.out
+	while test $# -gt 0; do
+	    type=$1; try=$2
+	    shift; shift
+	    if $issymlink $try; then
+		$ls -l $try > reflect
 		if $contains /`basename $ls` reflect >/dev/null 2>&1; then
-			echo "You have Linux-like /proc/self/exe."
-			procselfexe='"/proc/self/exe"'
-			val="$define"
+		    echo "You have $type-like $try."
+		    procselfexe='"'$try'"'
+		    val="$define"
+		    : This will break out of the loop
+		    set X; shift
 		fi
-	fi
-	if $issymlink /proc/curproc/file ; then
-		$ls -l /proc/curproc/file > reflect
-		if $contains /`basename $ls` reflect >/dev/null 2>&1; then
-			echo "You have BSD-like /proc/curproc/file."
-			procselfexe='"/proc/curproc/file"'
-			val="$define"
-		fi
-	fi
+	    fi
+	done
 	;;
 esac
 $rm -f reflect
@@ -17364,17 +17510,10 @@
 	*) dflt='n';;
 	esac
 	echo "$package can use the sfio library, but it is experimental."
-	case "$useperlio" in
-	"$undef")
-	    echo "For sfio also the PerlIO abstraction layer is needed."
-	    echo "Earlier you said you wouldn't want that."
-	    ;;
-	esac
 	rp="You seem to have sfio available, do you want to try using it?"
 	. ./myread
 	case "$ans" in
-	y|Y)	echo "Ok, turning on both sfio and PerlIO, then."
-		useperlio="$define"
+	y|Y)	echo "Ok, turning on sfio then."
 		val="$define"
 		;;
 	*)	echo "Ok, avoiding sfio this time.  I'll use stdio instead."
@@ -17519,7 +17658,7 @@
 	if eval $compile_ok; then
 		val="$define"
 	else
-		echo "But you don't seem to have a useable struct sigaction." >&4
+		echo "But you don't seem to have a usable struct sigaction." >&4
 		val="$undef"
 	fi
 else
@@ -17954,7 +18093,7 @@
 # Respect a hint (or previous) value for perl_static_inline, if there is one.
 case "$perl_static_inline" in
 '')	# Check the various possibilities, and break out on success.
-	# For gcc, prefer __inline__, which will still permit 
+	# For gcc, prefer __inline__, which will still permit
 	# cflags.SH to add in -ansi.
 	case "$gccversion" in
 		'') xxx="inline __inline__ __inline _inline";;
@@ -18084,11 +18223,11 @@
 		echo 'strerror() found.' >&4
 		d_strerror="$define"
 		d_strerrm='strerror(e)'
-		if set sys_errlist val -a d_syserrlst; eval $csym; $val; then	
-			echo "(You also have sys_errlist[], so we could roll our own strerror.)" 
+		if set sys_errlist val -a d_syserrlst; eval $csym; $val; then
+			echo "(You also have sys_errlist[], so we could roll our own strerror.)"
 			d_syserrlst="$define"
 		else
-			echo "(Since you don't have sys_errlist[], sterror() is welcome.)"
+			echo "(Since you don't have sys_errlist[], strerror() is welcome.)"
 			d_syserrlst="$undef"
 		fi
     elif xxx=`./findhdr string.h`; test "$xxx" || xxx=`./findhdr strings.h`; \
@@ -18096,7 +18235,7 @@
 		echo 'strerror() found in string header.' >&4
 		d_strerror="$define"
 		d_strerrm='strerror(e)'
-		if set sys_errlist val -a d_syserrlst; eval $csym; $val; then	
+		if set sys_errlist val -a d_syserrlst; eval $csym; $val; then
 			echo "(Most probably, strerror() uses sys_errlist[] for descriptions.)"
 				d_syserrlst="$define"
 		else
@@ -18634,7 +18773,7 @@
 
 : Check if is a multiplatform env
 case "$osname" in
-next|rhapsody|darwin) multiarch="$define" ;;
+next|darwin) multiarch="$define" ;;
 esac
 case "$multiarch" in
 ''|[nN]*) multiarch="$undef" ;;
@@ -18944,11 +19083,10 @@
 
 : check for alignment requirements
 echo " "
-case "$usecrosscompile$multiarch" in
+case "$usecrosscompile" in
 *$define*)
 	$cat <<EOM
-You seem to be either cross-compiling or doing a multiarchitecture build,
-skipping the memory alignment check.
+You seem to be cross-compiling.  Skipping the memory alignment check.
 
 EOM
 	case "$alignbytes" in
@@ -18986,6 +19124,17 @@
 			dflt='8'
 			echo "(I can't seem to compile the test program...)"
 		fi
+		case "$multiarch" in
+		*$define*)
+			: The usual safe value is 8, but Darwin with -Duselongdouble
+			: needs 16.  Hence, we will take 8 as a minimum, but allow
+			: Configure to pick a larger value if needed.
+			if $test "$dflt" -lt 8; then
+			    dflt='8'
+				echo "Setting alignment to 8 for multiarch support.">&4
+			fi
+			;;
+		esac
 		;;
 	*) dflt="$alignbytes"
 		;;
@@ -19001,7 +19150,40 @@
 : set the base revision
 baserev=5.0
 
-: length of character in bytes. Is always 1, otherwise it isnt C
+: Determine if this is an EBCDIC system
+echo " "
+echo "Determining whether or not we are on an EBCDIC system..." >&4
+$cat >try.c <<'EOM'
+int main()
+{
+  if ('M'==0xd4) return 0;
+  return 1;
+}
+EOM
+
+case "$BOOTSTRAP_CHARSET" in
+    Y|y|define) bootstrap_charset=$define	;;
+    *)		bootstrap_charset=$undef	;;
+esac
+
+val=$undef
+set try
+if eval $compile_ok; then
+	if $run ./try; then
+		echo "You seem to speak EBCDIC." >&4
+		val="$define"
+	else
+		echo "Nope, no EBCDIC, probably ASCII or some ISO Latin. Or UTF-8." >&4
+	fi
+else
+	echo "I'm unable to compile the test program." >&4
+	echo "I'll assume ASCII or some ISO Latin. Or UTF8." >&4
+fi
+$rm_try
+set ebcdic
+eval $setvar
+
+: length of character in bytes. Is always 1, otherwise it is not C
 : This used to be a test using sizeof
 charsize=1
 
@@ -19281,7 +19463,7 @@
 		echo "OK, found random()." >&4
 	else
 		dflt="rand"
-		echo "Yick, looks like I have to use rand()." >&4
+		echo "Yuck, looks like I have to use rand()." >&4
 	fi
 	echo " "
 	;;
@@ -19345,9 +19527,9 @@
 #endif
 int main()
 {
-	register int i;
-	register unsigned long tmp;
-	register unsigned long max = 0L;
+	int i;
+	unsigned long tmp;
+	unsigned long max = 0L;
 
 	for (i = 1000; i; i--) {
 		tmp = (unsigned long) $randfunc();
@@ -19398,34 +19580,6 @@
 	esac
 done
 
-: Determine if this is an EBCDIC system
-echo " "
-echo "Determining whether or not we are on an EBCDIC system..." >&4
-$cat >try.c <<'EOM'
-int main()
-{
-  if ('M'==0xd4) return 0;
-  return 1;
-}
-EOM
-
-val=$undef
-set try
-if eval $compile_ok; then
-	if $run ./try; then
-		echo "You seem to speak EBCDIC." >&4
-		val="$define"
-	else
-		echo "Nope, no EBCDIC, probably ASCII or some ISO Latin. Or UTF-8." >&4
-	fi
-else
-	echo "I'm unable to compile the test program." >&4
-	echo "I'll assume ASCII or some ISO Latin. Or UTF8." >&4
-fi
-$rm_try
-set ebcdic
-eval $setvar
-
 : Check how to flush
 echo " "
 $cat >&4 <<EOM
@@ -19529,7 +19683,7 @@
 	;;
     esac
 fi
-: check for fflush NULL behaviour
+: check for fflush NULL behavior
 case "$fflushNULL" in
 '') 	set try -DTRY_FFLUSH_NULL $output
 	if eval $compile; then
@@ -20227,6 +20381,7 @@
 	$rm_try
 	;;
 *)	echo "You don't have <stdarg.h>, not checking for va_copy()." >&4
+	need_va_copy="$undef"
 	;;
 esac
 
@@ -20384,9 +20539,9 @@
 	esac
 	;;
 *)	dflt="$pager"
-	fn="f/($pager)"
 	;;
 esac
+fn="f/($dflt)"
 echo " "
 rp='What pager is used on your system?'
 . ./getfile
@@ -21200,6 +21355,74 @@
 fi
 $rm_try
 
+: Check the size of st_ino
+$echo " "
+$echo "Checking the size of st_ino..." >&4
+$cat > try.c <<EOCP
+#include <sys/stat.h>
+#include <stdio.h>
+#$i_stdlib I_STDLIB
+#ifdef I_STDLIB
+#include <stdlib.h>
+#endif
+int main() {
+    struct stat st;
+    printf("%d\n", (int)sizeof(st.st_ino));
+    exit(0);
+}
+EOCP
+set try
+if eval $compile_ok; then
+	val=`$run ./try`
+	case "$val" in
+	'')	st_ino_size=4
+		$echo "(I can't execute the test program--guessing $st_ino_size.)" >&4
+		;;
+	*)	st_ino_size=$val
+		$echo "Your st_ino is $st_ino_size bytes long."
+		;;
+	esac
+else
+	st_ino_size=4
+	$echo "(I can't compile the test program--guessing $st_ino_size.)" >&4
+fi
+$rm_try
+
+: Check if st_ino is signed
+$echo " "
+$echo "Checking the sign of st_ino..." >&4
+$cat > try.c <<EOCP
+#include <sys/stat.h>
+#include <stdio.h>
+int main() {
+	struct stat foo;
+        foo.st_ino = -1;
+	if (foo.st_ino < 0)
+		printf("-1\n");
+	else
+		printf("1\n");
+}
+EOCP
+set try
+if eval $compile; then
+	val=`$run ./try`
+	case "$val" in
+	'')	st_ino_sign=1
+		$echo "(I can't execute the test program--guessing unsigned.)" >&4
+		;;
+	*)	st_ino_sign=$val
+		case "$st_ino_sign" in
+		 1) $echo "Your st_ino is unsigned." ;;
+		-1) $echo "Your st_ino is signed."   ;;
+		esac
+		;;
+	esac
+else
+	st_ino_sign=1
+	$echo "(I can't compile the test program--guessing unsigned.)" >&4
+fi
+$rm_try
+
 : see what type of char stdio uses.
 echo " "
 echo '#include <stdio.h>' | $cppstdin $cppminus > stdioh
@@ -21348,6 +21571,221 @@
 	;;
 esac
 
+: Determine if we can use sysctl with KERN_PROC_PATHNAME to find executing program
+echo " "
+echo "Determining whether we can use sysctl with KERN_PROC_PATHNAME to find executing program..." >&4
+$cat >try.c <<'EOM'
+/* Intentionally a long probe as I'd like to sanity check that the exact
+   approach is going to work, as thinking it will work, but only having it
+   part working at runtime is worse than not having it.  */
+
+#include <sys/types.h>
+#include <sys/sysctl.h>
+#include <sys/param.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+#include <unistd.h>
+
+int
+main(int argc, char **argv) {
+    char *buffer;
+    char *argv_leaf = strrchr(argv[0], '/');
+    char *buffer_leaf;
+    size_t size = 0;
+    int mib[4];
+
+    mib[0] = CTL_KERN;
+    mib[1] = KERN_PROC;
+    mib[2] = KERN_PROC_PATHNAME;
+    mib[3] = -1;
+
+    if (!argv_leaf) {
+	fprintf(stderr, "Can't locate / in '%s'\n", argv[0]);
+	return 1;
+    }
+
+    if (sysctl(mib, 4, NULL, &size, NULL, 0)) {
+	perror("sysctl");
+	return 2;
+    }
+
+    if (size < strlen(argv_leaf) + 1) {
+	fprintf(stderr, "size %lu is too short for a path\n",
+		(unsigned long) size);
+	return 3;
+    }
+
+    if (size > MAXPATHLEN * MAXPATHLEN) {
+	fprintf(stderr, "size %lu is too long for a path\n",
+		(unsigned long) size);
+	return 4;
+    }
+
+    buffer = malloc(size);
+    if (!buffer) {
+	perror("malloc");
+	return 5;
+    }
+
+    if (sysctl(mib, 4, buffer, &size, NULL, 0)) {
+	perror("sysctl");
+	return 6;
+    }
+
+    if (strlen(buffer) + 1 != size) {
+	fprintf(stderr, "size != strlen(buffer) + 1 (%lu != %lu)\n",
+		(unsigned long)size, (unsigned long)strlen(buffer) + 1);
+        return 7;
+    }
+
+
+    if (*buffer != '/') {
+	fprintf(stderr, "Not an absolute path: '%s'\n", buffer);
+	return 8;
+    }
+
+    if (strstr(buffer, "/./")) {
+	fprintf(stderr, "Contains /./: '%s'\n", buffer);
+	return 9;
+    }
+
+    if (strstr(buffer, "/../")) {
+	fprintf(stderr, "Contains /../: '%s'\n", buffer);
+	return 10;
+    }
+
+    buffer_leaf = strrchr(buffer, '/');
+    if (strcmp(buffer_leaf, argv_leaf) != 0) {
+	fprintf(stderr, "Leafnames differ: '%s' vs '%s'\n", argv[0], buffer);
+	return 11;
+    }
+
+    free(buffer);
+
+    return 0;
+}
+EOM
+
+val=$undef
+set try
+if eval $compile; then
+	if $run ./try; then
+		echo "You can use sysctl with KERN_PROC_PATHNAME to find the executing program." >&4
+		val="$define"
+	else
+		echo "Nope, sysctl with KERN_PROC_PATHNAME doesn't work here." >&4
+		val="$undef"
+	fi
+else
+	echo "I'm unable to compile the test program." >&4
+	echo "I'll assume no sysctl with KERN_PROC_PATHNAME here." >&4
+	val="$undef"
+fi
+$rm_try
+set usekernprocpathname
+eval $setvar
+
+: Determine if we can use _NSGetExecutablePath to find executing program
+echo " "
+echo "Determining whether we can use _NSGetExecutablePath to find executing program..." >&4
+$cat >try.c <<'EOM'
+/* Intentionally a long probe as I'd like to sanity check that the exact
+   approach is going to work, as thinking it will work, but only having it
+   part working at runtime is worse than not having it.  */
+#include <mach-o/dyld.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/param.h>
+#include <string.h>
+
+int
+main(int argc, char **argv) {
+    char buf[1];
+    uint32_t size = sizeof(buf);
+    int result;
+    char *buffer;
+    char *tidied;
+    char *argv_leaf = strrchr(argv[0], '/');
+    char *tidied_leaf;
+
+    if (!argv_leaf) {
+	fprintf(stderr, "Can't locate / in '%s'\n", argv[0]);
+	return 1;
+    }
+
+    _NSGetExecutablePath(buf, &size);
+    if (size > MAXPATHLEN * MAXPATHLEN) {
+	fprintf(stderr, "_NSGetExecutablePath size %u is too long for a path\n",
+		(unsigned int) size);
+	return 2;
+    }
+
+    buffer = malloc(size);
+    if (!buffer) {
+	perror("malloc");
+	return 3;
+    }
+
+    result = _NSGetExecutablePath(buffer, &size);
+    if (result != 0) {
+	fprintf(stderr, "_NSGetExecutablePath returned %i for a size of %u\n",
+		result, (unsigned int) size);
+	return 4;
+    }
+
+    tidied = realpath(buffer, NULL);
+    if (!tidied) {
+	perror("realpath");
+	return 5;
+    }
+
+    free(buffer);
+
+    if (*tidied != '/') {
+	fprintf(stderr, "Not an absolute path: '%s'\n", tidied);
+	return 6;
+    }
+
+    if (strstr(tidied, "/./")) {
+	fprintf(stderr, "Contains /./: '%s'\n", tidied);
+	return 7;
+    }
+
+    if (strstr(tidied, "/../")) {
+	fprintf(stderr, "Contains /../: '%s'\n", tidied);
+	return 8;
+    }
+
+    tidied_leaf = strrchr(tidied, '/');
+    if (strcmp(tidied_leaf, argv_leaf) != 0) {
+	fprintf(stderr, "Leafnames differ: '%s' vs '%s'\n", argv[0], tidied);
+	return 9;
+    }
+
+    free(tidied);
+
+    return 0;
+}
+EOM
+
+val=$undef
+set try
+if eval $compile; then
+	if $run ./try; then
+		echo "You can use _NSGetExecutablePath to find the executing program." >&4
+		val="$define"
+	else
+		echo "Nope, _NSGetExecutablePath doesn't work here." >&4
+	fi
+else
+	echo "I'm unable to compile the test program." >&4
+	echo "I'll assume no _NSGetExecutablePath here." >&4
+fi
+$rm_try
+set usensgetexecutablepath
+eval $setvar
+
 : Check if site customization support was requested
 case "$usesitecustomize" in
     $define|true|[Yy]*)
@@ -21398,7 +21836,7 @@
 	*-y*) ;;
 	*)
 		yacc="$yacc -y"
-		echo "(Adding -y option to bison to get yacc-compatible behaviour.)"
+		echo "(Adding -y option to bison to get yacc-compatible behavior.)"
 		;;
 	esac
 	;;
@@ -21632,15 +22070,16 @@
 EOSH
 chmod +x Cppsym.try
 $eunicefix Cppsym.try
-./Cppsym < Cppsym.know > Cppsym.true
-: Add in any linux cpp "predefined macros":
+./Cppsym < Cppsym.know | $sort | $uniq > Cppsym.true
+: Add in any Linux cpp "predefined macros":
 case "$osname::$gccversion" in
   *linux*::*.*|*gnukfreebsd*::*.*|gnu::*.*)
     tHdrH=_tmpHdr
     rm -f $tHdrH'.h' $tHdrH
     touch $tHdrH'.h'
+    # Filter out macro arguments, such as Linux's __INT8_C(c)
     if $cpp -dM $tHdrH'.h' > $tHdrH'_cppsym.h' && [ -s $tHdrH'_cppsym.h' ]; then
-       sed 's/#define[\ \  ]*//;s/[\ \     ].*$//' <$tHdrH'_cppsym.h' >$tHdrH'_cppsym.real'
+       sed -e 's/#define[\ \  ]*//;s/[\ \     ].*$//' -e 's/(.*//' <$tHdrH'_cppsym.h' >$tHdrH'_cppsym.real'
        if [ -s $tHdrH'_cppsym.real' ]; then
 	  cat $tHdrH'_cppsym.real' Cppsym.know | sort | uniq | ./Cppsym | sort | uniq > Cppsym.true
        fi
@@ -21777,6 +22216,35 @@
 val=$val2; set i_sgtty; eval $setvar
 val=$val3; set i_termios; eval $setvar
 
+: see if stdbool is available
+: we want a real compile instead of Inhdr because some Solaris systems
+: have stdbool.h, but it can only be used if the compiler indicates it
+: is sufficiently c99-compliant.
+echo " "
+$cat >try.c <<EOCP
+#include <stdio.h>
+#include <stdbool.h>
+int func(bool x)
+{
+    return x ? 1 : 0;
+}
+int main(int argc, char **argv)
+{
+    return func(0);
+}
+EOCP
+set try
+if eval $compile; then
+	echo "<stdbool.h> found." >&4
+	val="$define"
+else
+	echo "<stdbool.h> NOT found." >&4
+	val="$undef"
+fi
+$rm_try
+set i_stdbool
+eval $setvar
+
 : see if stddef is available
 set stddef.h i_stddef
 eval $inhdr
@@ -21919,6 +22387,25 @@
 		    fi;
 		fi;
 	    else
+		echo " $known_extensions $nonxs_extensions" > $$.tmp;
+		if $contains " $this_ext " $$.tmp; then
+		    echo >&4;
+		    echo "Duplicate directories detected for extension $xxx" >&4;
+		    echo "Configure cannot correctly recover from this - shall I abort?" >&4;
+		    case "$knowitall" in
+		    "") dflt=y;;
+		    *) dflt=n;;
+		    esac;
+		    . ../UU/myread;
+		    case "$ans" in
+		    n*|N*) ;;
+		    *) echo >&4;
+		       echo "Ok.  Stopping Configure." >&4;
+		       echo "Please remove the duplicate directory (e.g. using git clean) and then re-run Configure" >&4;
+			exit 1;;
+		    esac;
+		    echo "Ok.  You will need to correct config.sh before running make." >&4;
+		fi;
 		$ls -1 $xxx > $$.tmp;
 		if   $contains "\.xs$" $$.tmp > /dev/null 2>&1; then
 		    known_extensions="$known_extensions $this_ext";
@@ -22032,12 +22519,7 @@
 		;;
 	Socket|socket)
 		case "$d_socket" in
-		true|$define|y)
-		    case "$osname" in
-		    beos) ;; # not unless BONE
-		    *) avail_ext="$avail_ext $xxx" ;;
-		    esac
-		    ;;
+		true|$define|y) avail_ext="$avail_ext $xxx" ;;
 		esac
 		;;
 	Sys/Syslog|sys/syslog)
@@ -22308,7 +22790,7 @@
     ;;
 *) case "$usedl" in
     $define|true|[yY]*)
-	    set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'` 
+	    set X `echo " $libs " | sed -e 's@ -lndbm @ @' -e 's@ -lgdbm @ @' -e 's@ -lgdbm_compat @ @' -e 's@ -ldbm @ @' -e 's@ -ldb @ @'`
 	    shift
 	    perllibs="$*"
 	    ;;
@@ -22433,6 +22915,7 @@
 bin_ELF='$bin_ELF'
 binexp='$binexp'
 bison='$bison'
+bootstrap_charset='$bootstrap_charset'
 byacc='$byacc'
 byteorder='$byteorder'
 c='$c'
@@ -22670,7 +23153,12 @@
 d_inetntop='$d_inetntop'
 d_inetpton='$d_inetpton'
 d_int64_t='$d_int64_t'
+d_ip_mreq='$d_ip_mreq'
+d_ip_mreq_source='$d_ip_mreq_source'
+d_ipv6_mreq='$d_ipv6_mreq'
+d_ipv6_mreq_source='$d_ipv6_mreq_source'
 d_isascii='$d_isascii'
+d_isblank='$d_isblank'
 d_isfinite='$d_isfinite'
 d_isinf='$d_isinf'
 d_isnan='$d_isnan'
@@ -22834,6 +23322,7 @@
 d_sin6_scope_id='$d_sin6_scope_id'
 d_sitearch='$d_sitearch'
 d_snprintf='$d_snprintf'
+d_sockaddr_in6='$d_sockaddr_in6'
 d_sockaddr_sa_len='$d_sockaddr_sa_len'
 d_sockatmark='$d_sockatmark'
 d_sockatmarkproto='$d_sockatmarkproto'
@@ -23064,6 +23553,7 @@
 i_shadow='$i_shadow'
 i_socks='$i_socks'
 i_stdarg='$i_stdarg'
+i_stdbool='$i_stdbool'
 i_stddef='$i_stddef'
 i_stdlib='$i_stdlib'
 i_string='$i_string'
@@ -23149,6 +23639,7 @@
 known_extensions='$known_extensions'
 ksh='$ksh'
 ld='$ld'
+ld_can_script='$ld_can_script'
 lddlflags='$lddlflags'
 ldflags='$ldflags'
 ldflags_uselargefiles='$ldflags_uselargefiles'
@@ -23360,6 +23851,8 @@
 srandom_r_proto='$srandom_r_proto'
 src='$src'
 ssizetype='$ssizetype'
+st_ino_sign='$st_ino_sign'
+st_ino_size='$st_ino_size'
 startperl='$startperl'
 startsh='$startsh'
 static_ext='$static_ext'
@@ -23414,6 +23907,7 @@
 usedtrace='$usedtrace'
 usefaststdio='$usefaststdio'
 useithreads='$useithreads'
+usekernprocpathname='$usekernprocpathname'
 uselargefiles='$uselargefiles'
 uselongdouble='$uselongdouble'
 usemallocwrap='$usemallocwrap'
@@ -23421,6 +23915,7 @@
 usemultiplicity='$usemultiplicity'
 usemymalloc='$usemymalloc'
 usenm='$usenm'
+usensgetexecutablepath='$usensgetexecutablepath'
 useopcode='$useopcode'
 useperlio='$useperlio'
 useposix='$useposix'
@@ -23432,6 +23927,7 @@
 usesocks='$usesocks'
 usethreads='$usethreads'
 usevendorprefix='$usevendorprefix'
+useversionedarchname='$useversionedarchname'
 usevfork='$usevfork'
 usrinc='$usrinc'
 uuname='$uuname'
@@ -23485,16 +23981,16 @@
 	$sed -n 's/^\([a-zA-Z_0-9]*\)=.*/\1/p' \
 		config.sh config.sh UU/oldconfig.sh |\
 		$sort | $uniq -u >UU/oldsyms
-	set X `cat UU/oldsyms`
+	set X `$cat UU/oldsyms`
 	shift
 	case $# in
 	0) ;;
 	*)
-		cat <<EOM
+		$cat <<EOM
 Hmm...You had some extra variables I don't know about...I'll try to keep 'em...
 EOM
 		echo ": Variables propagated from previous config.sh file." >>config.sh
-		for sym in `cat UU/oldsyms`; do
+		for sym in `$cat UU/oldsyms`; do
 			echo "    Propagating $hint variable "'$'"$sym..."
 			eval 'tmp="$'"${sym}"'"'
 			echo "$tmp" | \


Property changes on: vendor/perl/dist/Configure
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/Copying
===================================================================
--- vendor/perl/dist/Copying	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Copying	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,14 @@
-		    GNU GENERAL PUBLIC LICENSE
-		     Version 1, February 1989
 
+                    GNU GENERAL PUBLIC LICENSE
+                     Version 1, February 1989
+
  Copyright (C) 1989 Free Software Foundation, Inc.
-                59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+                    51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-			    Preamble
+                            Preamble
 
   The license agreements of most software companies try to keep users
 at the mercy of those companies.  By contrast, our General Public
@@ -47,7 +49,7 @@
   The precise terms and conditions for copying, distribution and
 modification follow.
 

-		    GNU GENERAL PUBLIC LICENSE
+                    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
   0. This License Agreement applies to any program or other work which
@@ -165,7 +167,7 @@
 of preserving the free status of all derivatives of our free software and
 of promoting the sharing and reuse of software generally.
 
-			    NO WARRANTY
+                            NO WARRANTY
 
   9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
@@ -187,9 +189,9 @@
 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGES.
 
-		     END OF TERMS AND CONDITIONS
+                     END OF TERMS AND CONDITIONS
 

-	Appendix: How to Apply These Terms to Your New Programs
+        Appendix: How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
 possible use to humanity, the best way to achieve this is to make it
@@ -215,9 +217,10 @@
     GNU General Public License for more details.
 
     You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software Foundation,
-    Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA  02110-1301 USA
 
+
 Also add information on how to contact you by electronic and paper mail.
 
 If the program is interactive, make it output a short notice like this


Property changes on: vendor/perl/dist/Copying
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/Makefile
===================================================================
--- vendor/perl/dist/Cross/Makefile	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/Makefile	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/Makefile
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Cross/Makefile-cross-SH
===================================================================
--- vendor/perl/dist/Cross/Makefile-cross-SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/Makefile-cross-SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -53,7 +53,7 @@
 		-compatibility_version 1 -current_version $patchlevel \
 		-prebind -seg1addr 0x27000000 -install_name \$(shrpdir)/\$@"
 		;;
-	rhapsody*|darwin*)
+	darwin*)
 		shrpldflags="${ldflags} -dynamiclib \
                             -compatibility_version \
 				${api_revision}.${api_version}.${api_subversion} \
@@ -334,6 +334,7 @@
 # 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
@@ -340,7 +341,7 @@
 unidatadirs = lib/unicore/To lib/unicore/lib
 
 h1 = EXTERN.h INTERN.h XSUB.h av.h xconfig.h cop.h cv.h dosish.h
-h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h opcode.h
+h2 = embed.h form.h gv.h handy.h hv.h hv_func.h keywords.h mg.h op.h opcode.h
 h3 = pad.h patchlevel.h perl.h perlapi.h perly.h pp.h proto.h regcomp.h
 h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
 h5 = utf8.h warnings.h
@@ -771,8 +772,11 @@
 	no-install install.perl install.man install.html
 
 META.yml:	Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm
-	$(LDLIBPTH) ./miniperl -Ilib Porting/makemeta
+	$(LDLIBPTH) ./miniperl -Ilib Porting/makemeta -y
 
+META.json:	Porting/makemeta Porting/Maintainers.pl Porting/Maintainers.pm
+	$(LDLIBPTH) ./miniperl -Ilib Porting/makemeta -j
+
 install-strip:
 	$(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)"
 
@@ -808,7 +812,6 @@
       --htmlroot=$(privlib)/html  \
       --splithead=pod/perlipc     \
       --splititem=pod/perlfunc    \
-      --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \
       --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \
       --verbose
 
@@ -836,7 +839,7 @@
 perly.h: perly.y
 	- at sh -c true
 
-SYM  = global.sym globvar.sym perlio.sym
+SYM  = globvar.sym perlio.sym
 
 SYMH = perlvars.h intrpvar.h
 
@@ -843,11 +846,11 @@
 CHMOD_W = chmod +w
 
 # The following files are generated automatically
-#	embed.pl:	proto.h embed.h embedvar.h global.sym
-#			perlapi.h perlapi.c 
+#	embed.pl:	proto.h embed.h embedvar.h perlapi.h perlapi.c
 #	opcode.pl:	opcode.h opnames.h pp_proto.h
 #	regcomp.pl:	regnodes.h
 #	warnings.pl:	warnings.h lib/warnings.pm
+#	feature.pl:	feature.h lib/feature.pl
 # The correct versions should be already supplied with the perl kit,
 # in case you don't have perl available.
 # To force them to be regenerated, run
@@ -855,10 +858,9 @@
 # with your existing copy of perl
 # (make regen_headers is kept for backwards compatibility)
 
-AUTOGEN_FILES = opcode.h opnames.h pp_proto.h proto.h \
-		embed.h embedvar.h global.sym \
-		perlapi.h perlapi.c regnodes.h \
-		warnings.h lib/warnings.pm
+AUTOGEN_FILES = opcode.h opnames.h pp_proto.h proto.h embed.h embedvar.h \
+		perlapi.h perlapi.c regnodes.h warnings.h lib/warnings.pm \
+		lib/feature.pm feature.h
 
 .PHONY: regen_headers regen_all
 
@@ -991,7 +993,8 @@
 _cleaner2:
 	-rm -f core.*perl.*.? t/core.perl.*.? .?*.c
 	rm -f core *perl.core t/core t/*perl.core core.* t/core.*
-	rm -f t/misctmp* t/forktmp* t/tmp* t/c t/perl$(EXE_EXT) t/rantests
+	rm -f t/perl$(EXE_EXT) t/rantests
+	rm -rf t/tmp*
 	rm -f so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
 	rm -rf $(addedbyconf)
 	rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old makefile.old
@@ -1081,7 +1084,8 @@
 
 test_prep_pre: preplibrary utilities $(nonxs_ext)
 
-test_prep: test_prep_pre miniperl$(EXE_EXT) $(unidatafiles) perl$(EXE_EXT) $(dynamic_ext) $(TEST_PERL_DLL) x2p/s2p
+test_prep: test_prep_pre miniperl$(EXE_EXT) $(unidatafiles) perl$(EXE_EXT) \
+	$(dynamic_ext) $(TEST_PERL_DLL) x2p/s2p x2p/find2perl
 	PERL=./perl $(MAKE) _test_prep
 
 _test_tty:
@@ -1332,9 +1336,6 @@
         cd ..
     fi
     ;;
-vmesa)
-    # Do nothing in VM/ESA.
-    ;;
 *)
     echo "'$osname' is an EBCDIC system I don't know that well." >&4
     ;;


Property changes on: vendor/perl/dist/Cross/Makefile-cross-SH
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/Makefile.SH.patch
===================================================================
--- vendor/perl/dist/Cross/Makefile.SH.patch	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/Makefile.SH.patch	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/Makefile.SH.patch
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Cross/README
===================================================================
--- vendor/perl/dist/Cross/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 
 The files in this directory add another cross-compilation
 target to the Perl buildsystem.  It was built as a part of
-the Open Zaurus (http://www.openzaurus.com/) distribution.
+the Open Zaurus (http://www.openzaurus.org/) distribution.
 Most / All of the arm compiler optimisations are "borrowed"
 from this excellent project.
 


Property changes on: vendor/perl/dist/Cross/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/README.new
===================================================================
--- vendor/perl/dist/Cross/README.new	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/README.new	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/README.new
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/TODO
===================================================================
--- vendor/perl/dist/Cross/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/build-arm-n770-sh
===================================================================
--- vendor/perl/dist/Cross/build-arm-n770-sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/build-arm-n770-sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/build-arm-n770-sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/cflags-cross-arm
===================================================================
--- vendor/perl/dist/Cross/cflags-cross-arm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/cflags-cross-arm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/cflags-cross-arm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/config
===================================================================
--- vendor/perl/dist/Cross/config	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/config	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/config
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Cross/config.sh-arm-linux
===================================================================
--- vendor/perl/dist/Cross/config.sh-arm-linux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/config.sh-arm-linux	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,11 +33,11 @@
 aphostname='/bin/hostname'
 api_revision='5'
 api_subversion='0'
-api_version='14'
-api_versionstring='5.14.0'
+api_version='18'
+api_versionstring='5.18.1'
 ar='ar'
-archlib='/usr/lib/perl5/5.14.0/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.14.0/armv4l-linux'
+archlib='/usr/lib/perl5/5.18.1/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.18.1/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -48,6 +48,7 @@
 bin='/usr/bin'
 binexp='/usr/bin'
 bison='bison'
+bootstrap_charset='undef'
 byacc='byacc'
 byteorder='1234'
 c=''
@@ -55,7 +56,7 @@
 cat='cat'
 cc='cc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.14.0/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.18.1/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'
@@ -89,6 +90,20 @@
 ctermid_r_proto='0'
 ctime_r_proto='0'
 d_Gconvert='gcvt((x),(n),(b))'
+d_PRIEUldbl='define'
+d_PRIFUldbl='define'
+d_PRIGUldbl='define'
+d_PRIXU64='define'
+d_PRId64='define'
+d_PRIeldbl='define'
+d_PRIfldbl='define'
+d_PRIgldbl='define'
+d_PRIi64='define'
+d_PRIo64='define'
+d_PRIu64='define'
+d_PRIx64='define'
+d_SCNfldbl='define'
+d__fwalk='undef'
 d_access='define'
 d_accessx='undef'
 d_aintl='undef'
@@ -108,9 +123,9 @@
 d_attribute_warn_unused_result='undef'
 d_bcmp='define'
 d_bcopy='define'
+d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
-d_bsd='undef'
 d_builtin_choose_expr='define'
 d_builtin_expect='define'
 d_bzero='define'
@@ -131,8 +146,8 @@
 d_crypt='define'
 d_crypt_r='undef'
 d_csh='define'
+d_ctermid='undef'
 d_ctermid_r='undef'
-d_ctermid='undef'
 d_ctime64='undef'
 d_ctime_r='undef'
 d_cuserid='define'
@@ -147,8 +162,8 @@
 d_dlopen='define'
 d_dlsymun='undef'
 d_dosuid='undef'
+d_drand48_r='undef'
 d_drand48proto='define'
-d_drand48_r='undef'
 d_dup2='define'
 d_eaccess='undef'
 d_endgrent='define'
@@ -169,11 +184,11 @@
 d_fchdir='define'
 d_fchmod='define'
 d_fchown='define'
+d_fcntl='define'
 d_fcntl_can_lock='define'
-d_fcntl='define'
 d_fd_macros='define'
+d_fd_set='define'
 d_fds_bits='undef'
-d_fd_set='define'
 d_fgetpos='define'
 d_finite='define'
 d_finitel='define'
@@ -181,11 +196,11 @@
 d_flock='define'
 d_flockproto='define'
 d_fork='define'
+d_fp_class='undef'
 d_fpathconf='define'
+d_fpclass='undef'
 d_fpclassify='undef'
 d_fpclassl='undef'
-d_fp_class='undef'
-d_fpclass='undef'
 d_fpos64_t='undef'
 d_frexpl='define'
 d_fs_data_s='undef'
@@ -197,11 +212,10 @@
 d_ftello='define'
 d_ftime='undef'
 d_futimes='undef'
-d__fwalk='undef'
 d_gdbm_ndbm_h_uses_prototypes='undef'
 d_gdbmndbm_h_uses_prototypes='undef'
+d_getaddrinfo='undef'
 d_getcwd='define'
-d_getaddrinfo='undef'
 d_getespwnam='undef'
 d_getfsstat='undef'
 d_getgrent='define'
@@ -220,8 +234,8 @@
 d_getitimer='define'
 d_getlogin='define'
 d_getlogin_r='undef'
+d_getmnt='undef'
 d_getmntent='define'
-d_getmnt='undef'
 d_getnameinfo='undef'
 d_getnbyaddr='define'
 d_getnbyname='define'
@@ -271,7 +285,12 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='define'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='define'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='define'
 d_isnan='define'
@@ -282,8 +301,8 @@
 d_libm_lib_version='define'
 d_link='define'
 d_localtime64='undef'
+d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
-d_localtime_r='undef'
 d_locconv='define'
 d_lockf='define'
 d_longdbl='define'
@@ -313,27 +332,14 @@
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
 d_mprotect='define'
-d_msgctl='define'
+d_msg='define'
 d_msg_ctrunc='define'
-d_msg='define'
 d_msg_dontroute='define'
-d_msgget='define'
 d_msg_oob='define'
 d_msg_peek='define'
 d_msg_proxy='define'
-d_PRId64='define'
-d_PRIeldbl='define'
-d_PRIEUldbl='define'
-d_PRIfldbl='define'
-d_PRIFUldbl='define'
-d_PRIgldbl='define'
-d_PRIGUldbl='define'
-d_PRIi64='define'
-d_PRIo64='define'
-d_PRIu64='define'
-d_PRIx64='define'
-d_PRIXU64='define'
-d_SCNfldbl='define'
+d_msgctl='define'
+d_msgget='define'
 d_msghdr_s='define'
 d_msgrcv='define'
 d_msgsnd='define'
@@ -447,6 +453,7 @@
 d_sin6_scope_id='undef'
 d_sitearch='define'
 d_snprintf='undef'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -676,6 +683,7 @@
 i_shadow='define'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -724,7 +732,7 @@
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.14.0/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.18.1/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -732,13 +740,13 @@
 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.14.0'
+installprivlib='./install_me_here/usr/lib/perl5/5.18.1'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.14.0/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.18.1/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.14.0'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.18.1'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -832,8 +840,8 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+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'
 nv_preserves_uv_bits='32'
-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'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
@@ -867,8 +875,8 @@
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.14.0'
-privlibexp='/usr/lib/perl5/5.14.0'
+privlib='/usr/lib/perl5/5.18.1'
+privlibexp='/usr/lib/perl5/5.18.1'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -891,18 +899,18 @@
 sGMTIME_min='0'
 sLOCALTIME_max='2147483647'
 sLOCALTIME_min='0'
+sPRIEUldbl='"E"'
+sPRIFUldbl='"F"'
+sPRIGUldbl='"G"'
+sPRIXU64='"LX"'
 sPRId64='"Ld"'
 sPRIeldbl='"e"'
-sPRIEUldbl='"E"'
 sPRIfldbl='"f"'
-sPRIFUldbl='"F"'
 sPRIgldbl='"g"'
-sPRIGUldbl='"G"'
 sPRIi64='"Li"'
 sPRIo64='"Lo"'
 sPRIu64='"Lu"'
 sPRIx64='"Lx"'
-sPRIXU64='"LX"'
 sSCNfldbl='"f"'
 sched_yield='sched_yield()'
 scriptdir='/usr/bin'
@@ -933,8 +941,8 @@
 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.14.0/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.14.0/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.18.1/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.18.1/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
@@ -941,9 +949,9 @@
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.14.0'
+sitelib='/usr/lib/perl5/site_perl/5.18.1'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.14.0'
+sitelibexp='/usr/lib/perl5/site_perl/5.18.1'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -967,6 +975,8 @@
 srandom_r_proto='0'
 src='.'
 ssizetype='ssize_t'
+st_ino_sign='1'
+st_ino_size='4'
 startperl='#!/usr/bin/perl'
 startsh='#!/bin/sh'
 static_ext=' '
@@ -980,7 +990,7 @@
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='0'
+subversion='1'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1021,6 +1031,7 @@
 usedtrace='undef'
 usefaststdio='define'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='define'
 uselongdouble='undef'
 usemallocwrap='define'
@@ -1028,6 +1039,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='define'
 useposix='true'
@@ -1068,8 +1080,8 @@
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.14.0'
-version_patchlevel_string='version 14 subversion 0'
+version='5.18.1'
+version_patchlevel_string='version 18 subversion 1'
 versiononly='undef'
 vi=''
 voidflags='15'
@@ -1083,10 +1095,10 @@
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=14
-PERL_SUBVERSION=0
+PERL_VERSION=18
+PERL_SUBVERSION=1
 PERL_API_REVISION=5
-PERL_API_VERSION=14
+PERL_API_VERSION=18
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true


Property changes on: vendor/perl/dist/Cross/config.sh-arm-linux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Cross/config.sh-arm-linux-n770
===================================================================
--- vendor/perl/dist/Cross/config.sh-arm-linux-n770	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/config.sh-arm-linux-n770	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,11 +33,11 @@
 aphostname='/bin/hostname'
 api_revision='5'
 api_subversion='0'
-api_version='14'
-api_versionstring='5.14.0'
+api_version='18'
+api_versionstring='5.18.1'
 ar='ar'
-archlib='/usr/lib/perl5/5.14.0/armv4l-linux'
-archlibexp='/usr/lib/perl5/5.14.0/armv4l-linux'
+archlib='/usr/lib/perl5/5.18.1/armv4l-linux'
+archlibexp='/usr/lib/perl5/5.18.1/armv4l-linux'
 archname64=''
 archname='armv4l-linux'
 archobjs=''
@@ -55,7 +55,7 @@
 cat='cat'
 cc='arm-none-linux-gnueabi-gcc'
 cccdlflags='-fpic'
-ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.14.0/armv4l-linux/CORE'
+ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5/5.18.1/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'
@@ -703,7 +703,7 @@
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='./install_me_here/usr/lib/perl5/5.14.0/armv4l-linux'
+installarchlib='./install_me_here/usr/lib/perl5/5.18.1/armv4l-linux'
 installbin='./install_me_here/usr/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -711,13 +711,13 @@
 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.14.0'
+installprivlib='./install_me_here/usr/lib/perl5/5.18.1'
 installscript='./install_me_here/usr/bin'
-installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.14.0/armv4l-linux'
+installsitearch='./install_me_here/usr/lib/perl5/site_perl/5.18.1/armv4l-linux'
 installsitebin='./install_me_here/usr/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.14.0'
+installsitelib='./install_me_here/usr/lib/perl5/site_perl/5.18.1'
 installsiteman1dir='./install_me_here/usr/share/man/man1'
 installsiteman3dir='./install_me_here/usr/share/man/man3'
 installsitescript='./install_me_here/usr/bin'
@@ -845,8 +845,8 @@
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/usr/lib/perl5/5.14.0'
-privlibexp='/usr/lib/perl5/5.14.0'
+privlib='/usr/lib/perl5/5.18.1'
+privlibexp='/usr/lib/perl5/5.18.1'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -907,8 +907,8 @@
 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.14.0/armv4l-linux'
-sitearchexp='/usr/lib/perl5/site_perl/5.14.0/armv4l-linux'
+sitearch='/usr/lib/perl5/site_perl/5.18.1/armv4l-linux'
+sitearchexp='/usr/lib/perl5/site_perl/5.18.1/armv4l-linux'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
 sitehtml1dir=''
@@ -915,9 +915,9 @@
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/usr/lib/perl5/site_perl/5.14.0'
+sitelib='/usr/lib/perl5/site_perl/5.18.1'
 sitelib_stem='/usr/lib/perl5/site_perl'
-sitelibexp='/usr/lib/perl5/site_perl/5.14.0'
+sitelibexp='/usr/lib/perl5/site_perl/5.18.1'
 siteman1dir='/usr/share/man/man1'
 siteman1direxp='/usr/share/man/man1'
 siteman3dir='/usr/share/man/man3'
@@ -954,7 +954,7 @@
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='0'
+subversion='1'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1040,8 +1040,8 @@
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.14.0'
-version_patchlevel_string='version 14 subversion 0'
+version='5.18.1'
+version_patchlevel_string='version 18 subversion 1'
 versiononly='undef'
 vi=''
 voidflags='15'
@@ -1055,10 +1055,10 @@
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=14
-PERL_SUBVERSION=0
+PERL_VERSION=18
+PERL_SUBVERSION=1
 PERL_API_REVISION=5
-PERL_API_VERSION=14
+PERL_API_VERSION=18
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true


Property changes on: vendor/perl/dist/Cross/config.sh-arm-linux-n770
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/generate_config_sh
===================================================================
--- vendor/perl/dist/Cross/generate_config_sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/generate_config_sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/generate_config_sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/installperl.patch
===================================================================
--- vendor/perl/dist/Cross/installperl.patch	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/installperl.patch	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/installperl.patch
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Cross/warp
===================================================================
--- vendor/perl/dist/Cross/warp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Cross/warp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Cross/warp
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/EXTERN.h
===================================================================
--- vendor/perl/dist/EXTERN.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/EXTERN.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -29,16 +29,24 @@
 #  define dEXTCONST globaldef {"$GLOBAL_RO_VARS"} readonly
 #else
 #  if (defined(WIN32) || defined(__SYMBIAN32__)) && !defined(PERL_STATIC_SYMS)
-#    if defined(PERLDLL) || defined(__SYMBIAN32__)
-#      define EXT extern __declspec(dllexport)
+    /* miniperl should not export anything */
+#    if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) && defined(_MSC_VER)
+#      define EXT extern
 #      define dEXT 
-#      define EXTCONST extern __declspec(dllexport) const
+#      define EXTCONST extern const
 #      define dEXTCONST const
 #    else
-#      define EXT extern __declspec(dllimport)
-#      define dEXT 
-#      define EXTCONST extern __declspec(dllimport) const
-#      define dEXTCONST const
+#      if defined(PERLDLL) || defined(__SYMBIAN32__)
+#        define EXT extern __declspec(dllexport)
+#        define dEXT 
+#        define EXTCONST extern __declspec(dllexport) const
+#        define dEXTCONST const
+#      else
+#        define EXT extern __declspec(dllimport)
+#        define dEXT 
+#        define EXTCONST extern __declspec(dllimport) const
+#        define dEXTCONST const
+#      endif
 #    endif
 #  else
 #    if defined(__CYGWIN__) && defined(USEIMPORTLIB)


Property changes on: vendor/perl/dist/EXTERN.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/INSTALL
===================================================================
--- vendor/perl/dist/INSTALL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/INSTALL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-Install - Build and Installation guide for perl 5.
+INSTALL - Build and Installation guide for perl 5.
 
 =head1 SYNOPSIS
 
@@ -36,7 +36,7 @@
 To explicitly name the perl binary, use the command
 "make install PERLNAME=myperl".
 
-Building perl from source requires an ANSI compliant C-Compiler.
+Building perl from source requires an ANSI compliant C compiler.
 A minimum of C89 is required. Some features available in C99 will
 be probed for and used when found. The perl build process does not
 rely on anything more than C89.
@@ -43,6 +43,10 @@
 
 These options, and many more, are explained in further detail below.
 
+If you're building perl from a git repository, you should also consult
+the documentation in pod/perlgit.pod for information on that special
+circumstance.
+
 If you have problems, corrections, or questions, please see
 L<"Reporting Problems"> below.
 
@@ -100,8 +104,9 @@
 in the Perl language in the current release.  Please see
 pod/perldelta.pod for a description of what's changed.  See your
 installed copy of the perllocal.pod file for a (possibly incomplete)
-list of locally installed modules.  Also see CPAN::autobundle for one
-way to make a "bundle" of your currently installed modules.
+list of locally installed modules.  Also see the L<CPAN> module's
+C<autobundle> function for one way to make a "bundle" of your currently
+installed modules.
 
 =head1 Run Configure
 
@@ -331,39 +336,63 @@
 
 =head3 Algorithmic Complexity Attacks on Hashes
 
-In Perls 5.8.0 and earlier it was easy to create degenerate hashes.
-Processing such hashes would consume large amounts of CPU time,
-enabling a "Denial of Service" attack against Perl.  Such hashes may be
-a problem for example for mod_perl sites, sites with Perl CGI scripts
-and web services, that process data originating from external sources.
+Perl 5.18 reworked the measures used to secure its hash function
+from algorithmic complexity attacks.  By default it will build with
+all of these measures enabled along with support for controlling and
+disabling them via environment variables.
 
-In Perl 5.8.1 a security feature was introduced to make it harder to
-create such degenerate hashes. A visible side effect of this was that
-the keys(), values(), and each() functions may return the hash elements
-in different order between different runs of Perl even with the same
-data.  It also had unintended binary incompatibility issues with
-certain modules compiled against Perl 5.8.0.
+You can override various aspects of this feature by defining various
+symbols during configure. An example might be:
 
-In Perl 5.8.2 an improved scheme was introduced.  Hashes will return
-elements in the same order as Perl 5.8.0 by default.  On a hash by hash
-basis, if pathological data is detected during a hash key insertion,
-then that hash will switch to an alternative random hash seed.  As
-adding keys can always dramatically change returned hash element order,
-existing programs will not be affected by this, unless they
-specifically test for pre-recorded hash return order for contrived
-data. (eg the list of keys generated by C<map {"\0"x$_} 0..15> trigger
-randomisation) In effect the new implementation means that 5.8.1 scheme
-is only being used on hashes which are under attack.
+    Configure -Accflags=-DPERL_HASH_FUNC_SIPHASH
 
-One can still revert to the old guaranteed repeatable order (and be
-vulnerable to attack by wily crackers) by setting the environment
-variable PERL_HASH_SEED, see L<perlrun/PERL_HASH_SEED>.  Another option
-is to add -DUSE_HASH_SEED_EXPLICIT to the compilation flags (for
-example by using C<Configure -Accflags=-DUSE_HASH_SEED_EXPLICIT>), in
-which case one has to explicitly set the PERL_HASH_SEED environment
-variable to enable the security feature, or by adding -DNO_HASH_SEED to
-the compilation flags to completely disable the randomisation feature.
+B<Unless stated otherwise these options are considered experimental or
+insecure and are not recommended for production use.>
 
+Perl 5.18 includes support for multiple hash functions, and changed
+the default (to ONE_AT_A_TIME_HARD), you can choose a different
+algorithm by defining one of the following symbols. Note that as of
+Perl 5.18 we can only recommend use of the default or SIPHASH. All
+the others are known to have security issues and are for research
+purposes only.
+
+    PERL_HASH_FUNC_SIPHASH
+    PERL_HASH_FUNC_SDBM
+    PERL_HASH_FUNC_DJB2
+    PERL_HASH_FUNC_SUPERFAST
+    PERL_HASH_FUNC_MURMUR3
+    PERL_HASH_FUNC_ONE_AT_A_TIME
+    PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
+    PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
+
+Perl 5.18 randomizes the order returned by keys(), values(), and each(),
+and allows controlling this behavior by using of the PERL_PERTURB_KEYS
+option. You can disable this option entirely with the define:
+
+    PERL_PERTURB_KEYS_DISABLED
+
+You can disable the environment variable checks and specify the type of
+key traversal randomization to be used by defining one of these:
+
+    PERL_PERTURB_KEYS_RANDOM
+    PERL_PERTURB_KEYS_DETERMINISTIC
+
+In Perl 5.18 the seed used for the hash function is randomly selected
+at process start which can be overridden by specifying a seed by setting
+the PERL_HASH_SEED environment variable.
+
+You can change this behavior by building perl with the
+
+   USE_HASH_SEED_EXPLICIT
+
+define, in which case one has to explicitly set the PERL_HASH_SEED
+environment variable to enable the security feature or by adding
+
+    NO_HASH_SEED
+
+to the compilation flags to completely disable the randomisation feature.
+Note these modes are poorly tested, insecure and not recommended.
+
 B<Perl has never guaranteed any ordering of the hash keys>, and the
 ordering has already changed several times during the lifetime of Perl
 5.  Also, the ordering of hash keys has always been, and continues to
@@ -373,6 +402,10 @@
 hashes "unordered".  The use of the Data::Dumper C<Sortkeys> option is
 recommended.
 
+See L<perlrun/PERL_HASH_SEED> and L<perlrun/PERL_PERTURB_KEYS> for details on
+the environment variables, and L<perlsec/Algorithmic Complexity Attacks> for
+further security details.
+
 =head3 SOCKS
 
 Perl can be configured to be 'socksified', that is, to use the SOCKS
@@ -427,7 +460,7 @@
 
 To build a shared libperl, the environment variable controlling shared
 library search (LD_LIBRARY_PATH in most systems, DYLD_LIBRARY_PATH for
-NeXTSTEP/OPENSTEP/Darwin, LIBRARY_PATH for BeOS, LD_LIBRARY_PATH/SHLIB_PATH
+NeXTSTEP/OPENSTEP/Darwin, LD_LIBRARY_PATH/SHLIB_PATH
 for HP-UX, LIBPATH for AIX, PATH for Cygwin) must be set up to include
 the Perl build directory because that's where the shared libperl will
 be created.  Configure arranges makefile to have the correct shared
@@ -441,7 +474,7 @@
 something like the following with the newly-built but not-yet-installed
 ./perl:
 
-        cd t; ./perl -MTestInit misc/failing_test.t
+        ./perl -MTestInit t/misc/failing_test.t
 
 or
 
@@ -530,9 +563,9 @@
 
 =item Directories for the perl distribution
 
-By default, Configure will use the following directories for 5.14.0.
+By default, Configure will use the following directories for 5.18.1.
 $version is the full perl version number, including subversion, e.g.
-5.14.0 or 5.9.5, and $archname is a string like sun4-sunos,
+5.12.3, and $archname is a string like sun4-sunos,
 determined by Configure.  The full definitions of all Configure
 variables are in the file Porting/Glossary.
 
@@ -564,16 +597,18 @@
 CPAN) or scripts.  Configure will set up the following directories to
 be used for installing those add-on modules and scripts.
 
-    Configure variable	Default value
-    $siteprefixexp	$prefixexp
-    $sitebinexp		$siteprefixexp/bin
-    $sitescriptexp	$siteprefixexp/bin
-    $sitelibexp		$siteprefixexp/lib/perl5/site_perl/$version
-    $sitearchexp	$siteprefixexp/lib/perl5/site_perl/$version/$archname
-    $siteman1direxp	$siteprefixexp/man/man1
-    $siteman3direxp	$siteprefixexp/man/man3
-    $sitehtml1direxp	(none)
-    $sitehtml3direxp	(none)
+   Configure        Default
+   variable          value
+ $siteprefixexp    $prefixexp
+ $sitebinexp       $siteprefixexp/bin
+ $sitescriptexp    $siteprefixexp/bin
+ $sitelibexp       $siteprefixexp/lib/perl5/site_perl/$version
+ $sitearchexp
+               $siteprefixexp/lib/perl5/site_perl/$version/$archname
+ $siteman1direxp   $siteprefixexp/man/man1
+ $siteman3direxp   $siteprefixexp/man/man3
+ $sitehtml1direxp  (none)
+ $sitehtml3direxp  (none)
 
 By default, ExtUtils::MakeMaker will install architecture-independent
 modules into $sitelib and architecture-dependent modules into $sitearch.
@@ -584,52 +619,54 @@
 distribution, Configure can optionally set up the following directories
 for you to use to distribute add-on modules.
 
-    Configure variable	Default value
-    $vendorprefixexp	(none)
-    (The next ones are set only if vendorprefix is set.)
-    $vendorbinexp	$vendorprefixexp/bin
-    $vendorscriptexp	$vendorprefixexp/bin
-    $vendorlibexp
-	$vendorprefixexp/lib/perl5/vendor_perl/$version
-    $vendorarchexp
-	$vendorprefixexp/lib/perl5/vendor_perl/$version/$archname
-    $vendorman1direxp	$vendorprefixexp/man/man1
-    $vendorman3direxp	$vendorprefixexp/man/man3
-    $vendorhtml1direxp	(none)
-    $vendorhtml3direxp	(none)
+   Configure          Default
+   variable            value
+ $vendorprefixexp    (none)
 
+ (The next ones are set only if vendorprefix is set.)
+
+ $vendorbinexp       $vendorprefixexp/bin
+ $vendorscriptexp    $vendorprefixexp/bin
+ $vendorlibexp       $vendorprefixexp/lib/perl5/vendor_perl/$version
+ $vendorarchexp
+           $vendorprefixexp/lib/perl5/vendor_perl/$version/$archname
+ $vendorman1direxp   $vendorprefixexp/man/man1
+ $vendorman3direxp   $vendorprefixexp/man/man3
+ $vendorhtml1direxp  (none)
+ $vendorhtml3direxp  (none)
+
 These are normally empty, but may be set as needed.  For example,
 a vendor might choose the following settings:
 
-    $prefix		/usr
-    $siteprefix		/usr/local
-    $vendorprefix	/usr
+ $prefix           /usr
+ $siteprefix       /usr/local
+ $vendorprefix     /usr
 
 This would have the effect of setting the following:
 
-    $binexp		/usr/bin
-    $scriptdirexp	/usr/bin
-    $privlibexp		/usr/lib/perl5/$version
-    $archlibexp 	/usr/lib/perl5/$version/$archname
-    $man1direxp		/usr/man/man1
-    $man3direxp		/usr/man/man3
+ $binexp           /usr/bin
+ $scriptdirexp     /usr/bin
+ $privlibexp       /usr/lib/perl5/$version
+ $archlibexp       /usr/lib/perl5/$version/$archname
+ $man1direxp       /usr/man/man1
+ $man3direxp       /usr/man/man3
 
-    $sitebinexp		/usr/local/bin
-    $sitescriptexp	/usr/local/bin
-    $sitelibexp		/usr/local/lib/perl5/site_perl/$version
-    $sitearchexp	/usr/local/lib/perl5/site_perl/$version/$archname
-    $siteman1direxp	/usr/local/man/man1
-    $siteman3direxp	/usr/local/man/man3
+ $sitebinexp       /usr/local/bin
+ $sitescriptexp    /usr/local/bin
+ $sitelibexp       /usr/local/lib/perl5/site_perl/$version
+ $sitearchexp      /usr/local/lib/perl5/site_perl/$version/$archname
+ $siteman1direxp   /usr/local/man/man1
+ $siteman3direxp   /usr/local/man/man3
 
-    $vendorbinexp	/usr/bin
-    $vendorscriptexp	/usr/bin
-    $vendorlibexp	/usr/lib/perl5/vendor_perl/$version
-    $vendorarchexp	/usr/lib/perl5/vendor_perl/$version/$archname
-    $vendorman1direxp	/usr/man/man1
-    $vendorman3direxp	/usr/man/man3
+ $vendorbinexp     /usr/bin
+ $vendorscriptexp  /usr/bin
+ $vendorlibexp     /usr/lib/perl5/vendor_perl/$version
+ $vendorarchexp    /usr/lib/perl5/vendor_perl/$version/$archname
+ $vendorman1direxp /usr/man/man1
+ $vendorman3direxp /usr/man/man3
 
 Note how in this example, the vendor-supplied directories are in the
-/usr hierarchy, while the directories reserved for the end-user are in
+/usr hierarchy, while the directories reserved for the end user are in
 the /usr/local hierarchy.
 
 The entire installed library hierarchy is installed in locations with
@@ -645,7 +682,7 @@
 site-specific files that are stored elsewhere on your organization's
 network.  One way to do that would be something like
 
-	sh Configure -Dsiteprefix=/usr/local -Dvendorprefix=/usr/share/perl
+ sh Configure -Dsiteprefix=/usr/local -Dvendorprefix=/usr/share/perl
 
 =item otherlibdirs
 
@@ -841,10 +878,10 @@
 directory, and has to include architecture-dependent directories separately,
 eg.
 
-       sh Configure -Dinc_version_list="5.14.0/x86_64-linux 5.14.0" ...
+       sh Configure -Dinc_version_list="5.16.0/x86_64-linux 5.16.0" ...
 
 When using the newer perl, you can add these paths again in the
-$PERL5LIB environment variable or with perl's -I runtime option.
+PERL5LIB environment variable or with perl's -I runtime option.
 
 =head2 Building Perl outside of the source directory
 
@@ -922,12 +959,12 @@
 If you are using a shared libperl, see the warnings about multiple
 versions of perl under L<Building a shared Perl library>.
 
-Note that a perl built with -DDEBUGGING will be bigger and will run more
-slowly than a standard perl.
+Note that a perl built with -DDEBUGGING will be much bigger and will run
+much, much more slowly than a standard perl.
 
 =head2 DTrace support
 
-On platforms where DTrace is available, it may be enabled by 
+On platforms where DTrace is available, it may be enabled by
 using the -Dusedtrace option to Configure. DTrace probes are available for
 subroutine entry (sub-entry) and subroutine exit (sub-exit). Here's a
 simple D script that uses them:
@@ -984,7 +1021,7 @@
 dbm, ndbm, gdbm, and Berkeley db.  For the *db* extension, if
 Configure can find the appropriate header files and libraries, it will
 automatically include that extension.  The threading extension needs
-to be specified explicitly (see L<Threads>).
+to be specified explicitly (see L</Threads>).
 
 Those libraries are not distributed with perl. If your header (.h) files
 for those libraries are not in a directory normally searched by your C
@@ -1021,7 +1058,7 @@
 
 =item BerkeleyDB in /usr/local/BerkeleyDB
 
-The version of BerkeleyDB distributed by sleepycat.com installs in a
+The version of BerkeleyDB distributed by Oracle installs in a
 version-specific directory by default, typically something like
 /usr/local/BerkeleyDB.4.7.  To have Configure find that, you need to add
 -I/usr/local/BerkeleyDB.4.7/include to cc flags, as in the previous example,
@@ -1034,10 +1071,11 @@
 It is possible to specify this from the command line (all on one
 line):
 
-    sh Configure -de \
-        -Dlocincpth='/usr/local/BerkeleyDB.4.7/include /usr/local/include' \
-        -Dloclibpth='/usr/local/BerkeleyDB.4.7/lib /usr/local/lib' \
-        -Aldflags='-R/usr/local/BerkeleyDB.4.7/lib'
+ sh Configure -de \
+    -Dlocincpth='/usr/local/BerkeleyDB.4.7/include             \
+                                           /usr/local/include' \
+    -Dloclibpth='/usr/local/BerkeleyDB.4.7/lib /usr/local/lib' \
+    -Aldflags='-R/usr/local/BerkeleyDB.4.7/lib'
 
 locincpth is a space-separated list of include directories to search.
 Configure will automatically add the appropriate -I directives.
@@ -1240,7 +1278,7 @@
 
 =item config.over and config.arch
 
-You can also supply a shell script config.over to over-ride
+You can also supply a shell script config.over to override
 Configure's guesses.  It will get loaded up at the very end, just
 before config.sh is created.  You have to be careful with this,
 however, as Configure does no checking that your changes make sense.
@@ -1265,11 +1303,18 @@
 
 If you have any additional changes to make to the C compiler command
 line, they can be made in cflags.SH.  For instance, to turn off the
-optimizer on toke.c, find the line in the switch structure for
-toke.c and put the command optimize='-g' before the ;; .  You
-can also edit cflags directly, but beware that your changes will be
-lost the next time you run Configure.
+optimizer on toke.c, find the switch structure marked 'or customize here',
+and add a line for toke.c ahead of the catch-all *) so that it now reads:
 
+    : or customize here
+
+    case "$file" in
+    toke) optimize='-g' ;;
+    *) ;;
+
+You should not edit the generated file cflags directly, as your changes will
+be lost the next time you run Configure, or if you edit config.sh.
+
 To explore various ways of changing ccflags from within a hint file,
 see the file hints/README.hints.
 
@@ -1430,7 +1475,7 @@
 If you get error messages such as the following (the exact line
 numbers and function name may vary in different versions of perl):
 
-    util.c: In function `Perl_form':
+    util.c: In function 'Perl_form':
     util.c:1107: number of arguments doesn't match prototype
     proto.h:125: prototype declaration
 
@@ -1443,7 +1488,7 @@
 the LD_LIBRARY_PATH environment variable.  If you're creating a static
 Perl library (libperl.a rather than libperl.so) it should build
 fine with LD_LIBRARY_PATH unset, though that may depend on details
-of your local set-up.
+of your local setup.
 
 =item nm extraction
 
@@ -1501,7 +1546,7 @@
 =item .*_r() prototype NOT found
 
 On a related note, if you see a bunch of complaints like the above about
-reentrant functions - specifically networking-related ones - being present
+reentrant functions -- specifically networking-related ones -- being present
 but without prototypes available, check to see if BIND 8.1 (or possibly
 other BIND 8 versions) is (or has been) installed. They install
 header files such as netdb.h into places such as /usr/local/include (or into
@@ -1554,7 +1599,7 @@
 If the libs variable looks correct, you might have the
 L<"nm extraction"> problem discussed above.
 
-If you stil have missing routines or undefined symbols, you probably
+If you still have missing routines or undefined symbols, you probably
 need to add some library or other, or you need to undefine some feature
 that Configure thought was there but is defective or incomplete.  If
 you used a hint file, see if it has any relevant advice.  You can also
@@ -1565,7 +1610,7 @@
 Some compilers will not compile or optimize the larger files (such as
 toke.c) without some extra switches to use larger jump offsets or
 allocate larger internal tables.  You can customize the switches for
-each file in cflags.  It's okay to insert rules for specific files into
+each file in cflags.SH.  It's okay to insert rules for specific files into
 makefile since a default rule only takes effect in the absence of a
 specific rule.
 
@@ -1685,7 +1730,7 @@
 
 NCR Tower 32 (OS 2.01.01) may need -W2,-Sl,2000 and #undef MKDIR.
 
-UTS may need one or more of -K or -g, and undef LSTAT.
+UTS may need one or more of -K or -g, and #undef LSTAT.
 
 FreeBSD can fail the ext/IPC/SysV/t/sem.t test if SysV IPC has not been
 configured in the kernel.  Perl tries to detect this, though, and
@@ -1704,7 +1749,7 @@
 
 Perl can be cross-compiled.  It is just not trivial, cross-compilation
 rarely is.  Perl is routinely cross-compiled for many platforms (as of
-June 2005 at least PocketPC aka WinCE, Open Zaurus, EPOC, Symbian, and
+June 2005 at least PocketPC aka WinCE, Open Zaurus, Symbian, and
 the IBM OS/400).  These platforms are known as the B<target> platforms,
 while the systems where the compilation takes place are the B<host>
 platforms.
@@ -1715,7 +1760,7 @@
 (using the rather large Unix-tool-dependent Configure script) is not
 awfully well suited for cross-compilation.  However, starting from
 version 5.8.0, the Configure script also knows one way of supporting
-cross-compilation support, please keep reading.
+cross-compilation support, so please keep reading.
 
 See the following files for more information about compiling Perl for
 the particular platforms:
@@ -1730,10 +1775,6 @@
 
 Cross/README
 
-=item EPOC
-
-README.epoc
-
 =item Symbian
 
 README.symbian
@@ -1861,7 +1902,7 @@
 
 This will run the regression tests on the perl you just made.  If
 'make test' doesn't say "All tests successful" then something went
-wrong.  See the file t/README in the t subdirectory.
+wrong.
 
 Note that you can't run the tests in background if this disables
 opening of /dev/tty. You can use 'make test-notty' in that case but
@@ -1870,14 +1911,11 @@
 =head2 What if make test doesn't work?
 
 If make test bombs out, just cd to the t directory and run ./TEST
-by hand to see if it makes any difference.  If individual tests
-bomb, you can run them by hand, e.g.,
+by hand to see if it makes any difference.
 
-	./perl -MTestInit t/op/groups.t
+One way to get more detailed information about failed tests and
+individual subtests is to run the harness from the t directory:
 
-Another way to get more detailed information about failed tests and
-individual subtests is to cd to the t directory and run
-
 	cd t ; ./perl harness <list of tests>
 
 (this assumes that most basic tests succeed, since harness uses
@@ -1884,6 +1922,11 @@
 complicated constructs). If no list of tests is provided, harness
 will run all tests.
 
+If individual tests fail, you can often run them by hand (from the main
+perl directory), e.g.,
+
+	./perl -MTestInit t/op/groups.t
+
 You should also read the individual tests to see if there are any helpful
 comments that apply to your system.  You may also need to setup your
 shared library path if you get errors like:
@@ -1890,6 +1933,9 @@
 
 	/sbin/loader: Fatal Error: cannot map libperl.so
 
+The file t/README in the t subdirectory contains more information about
+running and modifying tests.
+
 See L</"Building a shared Perl library"> earlier in this document.
 
 =over 4
@@ -1944,7 +1990,7 @@
 
 Try stopping other jobs on the system and then running the test by itself:
 
-	cd t; ./perl -MTestInit op/pat.t
+	./perl -MTestInit t/op/pat.t
 
 to see if you have any better luck.  If your perl still fails this
 test, it does not necessarily mean you have a broken perl.  This test
@@ -1975,7 +2021,7 @@
 other than the user running the tests, or by root (uid 0).
 
 This failure can happen if the Perl source code distribution is
-unpacked in such a way that the user ids in the distribution package
+unpacked in such a way that the user IDs in the distribution package
 are used as-is.  Some tar programs do this.
 
 (2) If the directory the tests are being run in is writable by group or
@@ -2031,7 +2077,7 @@
 are not root, you must still have permission to install into the directories
 in question and you should ignore any messages about chown not working.
 
-If "make install" just says "`install' is up to date" or something
+If "make install" just says "'install' is up to date" or something
 similar, you may be on a case-insensitive filesystems such as Mac's HFS+,
 and you should say "make install-all".  (This confusion is brought to you
 by the Perl distribution having a file called INSTALL.)
@@ -2078,51 +2124,52 @@
 	perl,
 	    perl5.n.n	where 5.n.n is the current release number.  This
 			will be a link to perl.
-	suidperl,
-	    sperl5.n.n	If you requested setuid emulation.
-	a2p          	awk-to-perl translator
+	a2p          	awk-to-perl translator.
 
     scripts
 
-	cppstdin	This is used by the deprecated switch perl -P, if
-			your cc -E can't read from stdin.
-	c2ph, pstruct	Scripts for handling C structures in header files.
-	config_data	Manage Module::Build-like module configuration
-	corelist	Shows versions of modules that come with different
-			versions of perl
-	cpan		The CPAN shell
-	cpan2dist	The CPANPLUS distribution creator
-	cpanp		The CPANPLUS shell
-	cpanp-run-perl	An helper for cpanp
-	dprofpp		Perl code profiler post-processor
-	enc2xs		Encoding module generator
-	find2perl	find-to-perl translator
-	h2ph		Extract constants and simple macros from C headers
+	cppstdin	This is used by the deprecated switch perl -P,
+			if your cc -E can't read from stdin.
+	c2ph, pstruct	Scripts for handling C structures in header
+                        files.
+	config_data	Manage Module::Build-like module configuration.
+	corelist	Shows versions of modules that come with
+                        different
+			versions of perl.
+	cpan		The CPAN shell.
+	cpan2dist	The CPANPLUS distribution creator.
+	cpanp		The CPANPLUS shell.
+	cpanp-run-perl	A helper for cpanp.
+	enc2xs		Encoding module generator.
+	find2perl	find-to-perl translator.
+	h2ph		Extract constants and simple macros from C
+                        headers.
 	h2xs		Converts C .h header files to Perl extensions.
 	instmodsh	A shell to examine installed modules.
 	libnetcfg	Configure libnet.
 	perlbug		Tool to report bugs in Perl.
 	perldoc		Tool to read perl's pod documentation.
-	perlivp		Perl Installation Verification Procedure
+	perlivp		Perl Installation Verification Procedure.
 	piconv		A Perl implementation of the encoding conversion
-			utility iconv
-	pl2pm		Convert Perl 4 .pl files to Perl 5 .pm modules
+			utility iconv.
+	pl2pm		Convert Perl 4 .pl files to Perl 5 .pm modules.
 	pod2html,	Converters from perl's pod documentation format
 	pod2latex, 	to other useful formats.
 	pod2man,
 	pod2text,
 	pod2usage
-	podchecker	POD syntax checker
-	podselect	Prints sections of POD documentation
-	prove		A command-line tool for running tests
-	psed		A Perl implementation of sed
-	ptar		A Perl implementation of tar
-	ptardiff	A diff for tar archives
-	ptargrep	A grep for tar archives
-	s2p		sed-to-perl translator
-	shasum		A tool to print or check SHA checksums
-	splain		Describe Perl warnings and errors
-	xsubpp		Compiler to convert Perl XS code into C code
+	podchecker	POD syntax checker.
+	podselect	Prints sections of POD documentation.
+	prove		A command-line tool for running tests.
+	psed		A Perl implementation of sed.
+	ptar		A Perl implementation of tar.
+	ptardiff	A diff for tar archives.
+	ptargrep	A grep for tar archives.
+	s2p		sed-to-perl translator.
+	shasum		A tool to print or check SHA checksums.
+	splain		Describe Perl warnings and errors.
+	xsubpp		Compiler to convert Perl XS code into C code.
+	zipdetails	display the internal structure of zip files
 
     library files
 
@@ -2172,7 +2219,7 @@
 by perl.  These files will be placed in the architecture-dependent
 library ($archlib) directory you specified to Configure.
 
-Note:  Due to differences in the C and perl languages, the conversion
+Note: Due to differences in the C and perl languages, the conversion
 of the header files is not perfect.  You will probably have to
 hand-edit some of the converted files to get them to parse correctly.
 For example, h2ph breaks spectacularly on type casting and certain
@@ -2198,7 +2245,6 @@
       --htmlroot=/perl/nmanual    \
       --splithead=pod/perlipc     \
       --splititem=pod/perlfunc    \
-      --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \
       --verbose
 
 See the documentation in installhtml for more details.  It can take
@@ -2219,7 +2265,7 @@
 
 =head1 Starting all over again
 
-If you wish to re-build perl from the same build directory, you should
+If you wish to rebuild perl from the same build directory, you should
 clean it out with the command
 
 	make distclean
@@ -2233,7 +2279,7 @@
 
 If you are upgrading from a previous version of perl, or if you
 change systems or compilers or make other significant changes, or if
-you are experiencing difficulties building perl, you should not re-use
+you are experiencing difficulties building perl, you should not reuse
 your old config.sh.
 
 If your reason to reuse your old config.sh is to save your particular
@@ -2267,11 +2313,11 @@
 If Configure itself fails, and does not generate a config.sh file
 (needed to run C<./myconfig>), then please mail perlbug at perl.org the
 description of how Configure fails along with details of your system
-- for example the output from running C<uname -a>
+-- for example the output from running C<uname -a>
 
 Please try to make your message brief but clear.  Brief, clear bug
 reports tend to get answered more quickly.  Please don't worry if your
-written English is not great - what matters is how well you describe
+written English is not great -- what matters is how well you describe
 the important technical details of the problem you have encountered,
 not whether your grammar and spelling is flawless.
 
@@ -2280,7 +2326,7 @@
 necessary.  Do not include a complete transcript of your build
 session.  Just include the failing commands, the relevant error
 messages, and whatever preceding commands are necessary to give the
-appropriate context.  Plain text should usually be sufficient--fancy
+appropriate context.  Plain text should usually be sufficient -- fancy
 attachments or encodings may actually reduce the number of people who
 read your message.  Your message will get relayed to over 400
 subscribers around the world so please try to keep it brief but clear.
@@ -2300,7 +2346,7 @@
 
 =head1 Coexistence with earlier versions of perl 5
 
-Perl 5.14 is not binary compatible with earlier versions of Perl.
+Perl 5.18.1 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 (e.g.
@@ -2374,9 +2420,9 @@
 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.14.0
+	sh Configure -Dprefix=/opt/perl5.18.1
 
-and adding /opt/perl5.14.0/bin to the shell PATH variable.  Such users
+and adding /opt/perl5.18.1/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.
 
@@ -2389,13 +2435,13 @@
 subversions may not have all the compatibility wrinkles ironed out
 yet.
 
-=head2 Upgrading from 5.13.11 or earlier
+=head2 Upgrading from 5.17.11 or earlier
 
-B<Perl 5.14.0 is binary incompatible with Perl 5.13.11 and any earlier
-Perl release.>  Perl modules having binary parts
+B<Perl 5.18.1 may not be binary compatible with Perl 5.17.11 or
+earlier Perl releases.>  Perl modules having binary parts
 (meaning that a C compiler is used) will have to be recompiled to be
-used with 5.14.0.  If you find you do need to rebuild an extension with
-5.14.0, you may safely do so without disturbing the older
+used with 5.18.1.  If you find you do need to rebuild an extension with
+5.18.1, you may safely do so without disturbing the older
 installations.  (See L<"Coexistence with earlier versions of perl 5">
 above.)
 
@@ -2428,107 +2474,102 @@
      print("$f\n");
   }
 
-in Linux is as follows (under $Config{prefix}):
+in Linux with perl-5.18.1 is as follows (under $Config{prefix}):
 
   ./bin/perl
-  ./lib/perl5/5.9.3/strict.pm
-  ./lib/perl5/5.9.3/warnings.pm
-  ./lib/perl5/5.9.3/i686-linux/File/Glob.pm
-  ./lib/perl5/5.9.3/i686-linux/XSLoader.pm
-  ./lib/perl5/5.9.3/i686-linux/auto/File/Glob/Glob.so
+  ./lib/perl5/5.18.1/strict.pm
+  ./lib/perl5/5.18.1/warnings.pm
+  ./lib/perl5/5.18.1/i686-linux/File/Glob.pm
+  ./lib/perl5/5.18.1/feature.pm
+  ./lib/perl5/5.18.1/XSLoader.pm
+  ./lib/perl5/5.18.1/i686-linux/auto/File/Glob/Glob.so
 
-Secondly, Debian perl-base package contains the following files,
-size about 1.9MB in its i386 version:
+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 i386 version.
+Omitting the lib/unicore/* files for brevity, the remaining files are:
 
   /usr/bin/perl
-  /usr/bin/perl5.8.4
-  /usr/lib/perl/5.8
-  /usr/lib/perl/5.8.4/B.pm
-  /usr/lib/perl/5.8.4/B/Deparse.pm
-  /usr/lib/perl/5.8.4/Config.pm
-  /usr/lib/perl/5.8.4/Cwd.pm
-  /usr/lib/perl/5.8.4/Data/Dumper.pm
-  /usr/lib/perl/5.8.4/DynaLoader.pm
-  /usr/lib/perl/5.8.4/Errno.pm
-  /usr/lib/perl/5.8.4/Fcntl.pm
-  /usr/lib/perl/5.8.4/File/Glob.pm
-  /usr/lib/perl/5.8.4/IO.pm
-  /usr/lib/perl/5.8.4/IO/File.pm
-  /usr/lib/perl/5.8.4/IO/Handle.pm
-  /usr/lib/perl/5.8.4/IO/Pipe.pm
-  /usr/lib/perl/5.8.4/IO/Seekable.pm
-  /usr/lib/perl/5.8.4/IO/Select.pm
-  /usr/lib/perl/5.8.4/IO/Socket.pm
-  /usr/lib/perl/5.8.4/POSIX.pm
-  /usr/lib/perl/5.8.4/Socket.pm
-  /usr/lib/perl/5.8.4/XSLoader.pm
-  /usr/lib/perl/5.8.4/auto/Cwd/Cwd.bs
-  /usr/lib/perl/5.8.4/auto/Cwd/Cwd.so
-  /usr/lib/perl/5.8.4/auto/Data/Dumper/Dumper.bs
-  /usr/lib/perl/5.8.4/auto/Data/Dumper/Dumper.so
-  /usr/lib/perl/5.8.4/auto/DynaLoader/DynaLoader.a
-  /usr/lib/perl/5.8.4/auto/DynaLoader/autosplit.ix
-  /usr/lib/perl/5.8.4/auto/DynaLoader/dl_expandspec.al
-  /usr/lib/perl/5.8.4/auto/DynaLoader/dl_find_symbol_anywhere.al
-  /usr/lib/perl/5.8.4/auto/DynaLoader/dl_findfile.al
-  /usr/lib/perl/5.8.4/auto/DynaLoader/extralibs.ld
-  /usr/lib/perl/5.8.4/auto/Fcntl/Fcntl.bs
-  /usr/lib/perl/5.8.4/auto/Fcntl/Fcntl.so
-  /usr/lib/perl/5.8.4/auto/File/Glob/Glob.bs
-  /usr/lib/perl/5.8.4/auto/File/Glob/Glob.so
-  /usr/lib/perl/5.8.4/auto/IO/IO.bs
-  /usr/lib/perl/5.8.4/auto/IO/IO.so
-  /usr/lib/perl/5.8.4/auto/POSIX/POSIX.bs
-  /usr/lib/perl/5.8.4/auto/POSIX/POSIX.so
-  /usr/lib/perl/5.8.4/auto/POSIX/autosplit.ix
-  /usr/lib/perl/5.8.4/auto/POSIX/load_imports.al
-  /usr/lib/perl/5.8.4/auto/Socket/Socket.bs
-  /usr/lib/perl/5.8.4/auto/Socket/Socket.so
-  /usr/lib/perl/5.8.4/lib.pm
-  /usr/lib/perl/5.8.4/re.pm
-  /usr/share/doc/perl-base
+  /usr/bin/perl5.10.1
+  /usr/lib/perl/5.10.1/Config.pm
+  /usr/lib/perl/5.10.1/Config_git.pl
+  /usr/lib/perl/5.10.1/Config_heavy.pl
+  /usr/lib/perl/5.10.1/Cwd.pm
+  /usr/lib/perl/5.10.1/DynaLoader.pm
+  /usr/lib/perl/5.10.1/Errno.pm
+  /usr/lib/perl/5.10.1/Fcntl.pm
+  /usr/lib/perl/5.10.1/File/Glob.pm
+  /usr/lib/perl/5.10.1/Hash/Util.pm
+  /usr/lib/perl/5.10.1/IO.pm
+  /usr/lib/perl/5.10.1/IO/File.pm
+  /usr/lib/perl/5.10.1/IO/Handle.pm
+  /usr/lib/perl/5.10.1/IO/Pipe.pm
+  /usr/lib/perl/5.10.1/IO/Seekable.pm
+  /usr/lib/perl/5.10.1/IO/Select.pm
+  /usr/lib/perl/5.10.1/IO/Socket.pm
+  /usr/lib/perl/5.10.1/IO/Socket/INET.pm
+  /usr/lib/perl/5.10.1/IO/Socket/UNIX.pm
+  /usr/lib/perl/5.10.1/List/Util.pm
+  /usr/lib/perl/5.10.1/POSIX.pm
+  /usr/lib/perl/5.10.1/Scalar/Util.pm
+  /usr/lib/perl/5.10.1/Socket.pm
+  /usr/lib/perl/5.10.1/XSLoader.pm
+  /usr/lib/perl/5.10.1/auto/Cwd/Cwd.so
+  /usr/lib/perl/5.10.1/auto/DynaLoader/autosplit.ix
+  /usr/lib/perl/5.10.1/auto/DynaLoader/dl_expandspec.al
+  /usr/lib/perl/5.10.1/auto/DynaLoader/dl_find_symbol_anywhere.al
+  /usr/lib/perl/5.10.1/auto/DynaLoader/dl_findfile.al
+  /usr/lib/perl/5.10.1/auto/Fcntl/Fcntl.so
+  /usr/lib/perl/5.10.1/auto/File/Glob/Glob.so
+  /usr/lib/perl/5.10.1/auto/Hash/Util/Util.so
+  /usr/lib/perl/5.10.1/auto/IO/IO.so
+  /usr/lib/perl/5.10.1/auto/List/Util/Util.so
+  /usr/lib/perl/5.10.1/auto/POSIX/POSIX.so
+  /usr/lib/perl/5.10.1/auto/POSIX/autosplit.ix
+  /usr/lib/perl/5.10.1/auto/POSIX/load_imports.al
+  /usr/lib/perl/5.10.1/auto/Socket/Socket.so
+  /usr/lib/perl/5.10.1/lib.pm
+  /usr/lib/perl/5.10.1/re.pm
   /usr/share/doc/perl/AUTHORS.gz
   /usr/share/doc/perl/Documentation
-  /usr/share/doc/perl/README.Debian.gz
+  /usr/share/doc/perl/README.Debian
   /usr/share/doc/perl/changelog.Debian.gz
   /usr/share/doc/perl/copyright
+  /usr/share/lintian/overrides/perl-base
   /usr/share/man/man1/perl.1.gz
-  /usr/share/perl/5.8
-  /usr/share/perl/5.8.4/AutoLoader.pm
-  /usr/share/perl/5.8.4/Carp.pm
-  /usr/share/perl/5.8.4/Carp/Heavy.pm
-  /usr/share/perl/5.8.4/Exporter.pm
-  /usr/share/perl/5.8.4/Exporter/Heavy.pm
-  /usr/share/perl/5.8.4/File/Spec.pm
-  /usr/share/perl/5.8.4/File/Spec/Unix.pm
-  /usr/share/perl/5.8.4/FileHandle.pm
-  /usr/share/perl/5.8.4/Getopt/Long.pm
-  /usr/share/perl/5.8.4/IO/Socket/INET.pm
-  /usr/share/perl/5.8.4/IO/Socket/UNIX.pm
-  /usr/share/perl/5.8.4/IPC/Open2.pm
-  /usr/share/perl/5.8.4/IPC/Open3.pm
-  /usr/share/perl/5.8.4/List/Util.pm
-  /usr/share/perl/5.8.4/Scalar/Util.pm
-  /usr/share/perl/5.8.4/SelectSaver.pm
-  /usr/share/perl/5.8.4/Symbol.pm
-  /usr/share/perl/5.8.4/Text/ParseWords.pm
-  /usr/share/perl/5.8.4/Text/Tabs.pm
-  /usr/share/perl/5.8.4/Text/Wrap.pm
-  /usr/share/perl/5.8.4/attributes.pm
-  /usr/share/perl/5.8.4/base.pm
-  /usr/share/perl/5.8.4/bytes.pm
-  /usr/share/perl/5.8.4/bytes_heavy.pl
-  /usr/share/perl/5.8.4/constant.pm
-  /usr/share/perl/5.8.4/fields.pm
-  /usr/share/perl/5.8.4/integer.pm
-  /usr/share/perl/5.8.4/locale.pm
-  /usr/share/perl/5.8.4/overload.pm
-  /usr/share/perl/5.8.4/strict.pm
-  /usr/share/perl/5.8.4/utf8.pm
-  /usr/share/perl/5.8.4/utf8_heavy.pl
-  /usr/share/perl/5.8.4/vars.pm
-  /usr/share/perl/5.8.4/warnings.pm
-  /usr/share/perl/5.8.4/warnings/register.pm
+  /usr/share/man/man1/perl5.10.1.1.gz
+  /usr/share/perl/5.10.1/AutoLoader.pm
+  /usr/share/perl/5.10.1/Carp.pm
+  /usr/share/perl/5.10.1/Carp/Heavy.pm
+  /usr/share/perl/5.10.1/Exporter.pm
+  /usr/share/perl/5.10.1/Exporter/Heavy.pm
+  /usr/share/perl/5.10.1/File/Spec.pm
+  /usr/share/perl/5.10.1/File/Spec/Unix.pm
+  /usr/share/perl/5.10.1/FileHandle.pm
+  /usr/share/perl/5.10.1/Getopt/Long.pm
+  /usr/share/perl/5.10.1/IPC/Open2.pm
+  /usr/share/perl/5.10.1/IPC/Open3.pm
+  /usr/share/perl/5.10.1/SelectSaver.pm
+  /usr/share/perl/5.10.1/Symbol.pm
+  /usr/share/perl/5.10.1/Text/ParseWords.pm
+  /usr/share/perl/5.10.1/Text/Tabs.pm
+  /usr/share/perl/5.10.1/Text/Wrap.pm
+  /usr/share/perl/5.10.1/Tie/Hash.pm
+  /usr/share/perl/5.10.1/attributes.pm
+  /usr/share/perl/5.10.1/base.pm
+  /usr/share/perl/5.10.1/bytes.pm
+  /usr/share/perl/5.10.1/bytes_heavy.pl
+  /usr/share/perl/5.10.1/constant.pm
+  /usr/share/perl/5.10.1/fields.pm
+  /usr/share/perl/5.10.1/integer.pm
+  /usr/share/perl/5.10.1/locale.pm
+  /usr/share/perl/5.10.1/overload.pm
+  /usr/share/perl/5.10.1/strict.pm
+  /usr/share/perl/5.10.1/unicore/*
+  /usr/share/perl/5.10.1/utf8.pm
+  /usr/share/perl/5.10.1/utf8_heavy.pl
+  /usr/share/perl/5.10.1/vars.pm
+  /usr/share/perl/5.10.1/warnings.pm
+  /usr/share/perl/5.10.1/warnings/register.pm
 
 A nice trick to find out the minimal set of Perl library files you will
 need to run a Perl program is
@@ -2539,7 +2580,8 @@
 it's a minimal set) and if you want to find out all the files you can
 use something like the below
 
-   strace perl -le 'do "x.pl"' 2>&1 | perl -nle '/^open\(\"(.+?)"/ && print $1'
+ strace perl -le 'do "x.pl"' 2>&1 \
+                             | perl -nle '/^open\(\"(.+?)"/ && print $1'
 
 (The 'strace' is Linux-specific, other similar utilities include 'truss'
 and 'ktrace'.)


Property changes on: vendor/perl/dist/INSTALL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/INTERN.h
===================================================================
--- vendor/perl/dist/INTERN.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/INTERN.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/INTERN.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/MANIFEST
===================================================================
--- vendor/perl/dist/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,11 +3,9 @@
 autodoc.pl		Creates pod/perlintern.pod and pod/perlapi.pod
 av.c			Array value code
 av.h			Array value header
-beos/beos.c		BeOS port
-beos/beosish.h		BeOS port
-beos/nm.c		BeOS port
 cflags.SH		A script that emits C compilation flags per file
 Changes			Describe how to peruse changes between releases
+charclass_invlists.h	Compiled-in inversion lists
 config_h.SH		Produces config.h
 configpm		Produces lib/Config.pm
 Configure		Portability tool
@@ -19,6 +17,7 @@
 cpan/Archive-Extract/t/01_Archive-Extract.t	Archive::Extract tests
 cpan/Archive-Extract/t/src/double_dir.zip	Archive::Extract tests
 cpan/Archive-Extract/t/src/x.bz2		Archive::Extract tests
+cpan/Archive-Extract/t/src/x.ear		Archive::Extract tests
 cpan/Archive-Extract/t/src/x.gz			Archive::Extract tests
 cpan/Archive-Extract/t/src/x.jar		Archive::Extract tests
 cpan/Archive-Extract/t/src/x.lzma		Archive::Extract tests
@@ -28,9 +27,11 @@
 cpan/Archive-Extract/t/src/x.tar.xz		Archive::Extract tests
 cpan/Archive-Extract/t/src/x.tgz		Archive::Extract tests
 cpan/Archive-Extract/t/src/x.txz		Archive::Extract tests
+cpan/Archive-Extract/t/src/x.war		Archive::Extract tests
 cpan/Archive-Extract/t/src/x.xz		Archive::Extract tests
 cpan/Archive-Extract/t/src/x.Z			Archive::Extract tests
 cpan/Archive-Extract/t/src/x.zip		Archive::Extract tests
+cpan/Archive-Extract/t/src/y.ear		Archive::Extract tests
 cpan/Archive-Extract/t/src/y.jar		Archive::Extract tests
 cpan/Archive-Extract/t/src/y.par		Archive::Extract tests
 cpan/Archive-Extract/t/src/y.tar		Archive::Extract tests
@@ -40,6 +41,7 @@
 cpan/Archive-Extract/t/src/y.tbz		Archive::Extract tests
 cpan/Archive-Extract/t/src/y.tgz		Archive::Extract tests
 cpan/Archive-Extract/t/src/y.txz		Archive::Extract tests
+cpan/Archive-Extract/t/src/y.war		Archive::Extract tests
 cpan/Archive-Extract/t/src/y.zip		Archive::Extract tests
 cpan/Archive-Tar/bin/ptar				the ptar utility
 cpan/Archive-Tar/bin/ptardiff				the ptardiff utility
@@ -137,6 +139,10 @@
 cpan/AutoLoader/t/02AutoSplit.t		See if AutoSplit works
 cpan/B-Debug/Debug.pm	Compiler Debug backend
 cpan/B-Debug/t/debug.t	See if B::Debug works
+cpan/B-Lint/lib/B/Lint/Debug.pm			Adds debugging stringification to B::
+cpan/B-Lint/lib/B/Lint.pm			Compiler Lint backend
+cpan/B-Lint/t/lint.t				See if B::Lint works
+cpan/B-Lint/t/pluglib/B/Lint/Plugin/Test.pm	See if B::Lint works
 cpan/CGI/Changes			Changelog for CGI.pm
 cpan/CGI/examples/caution.xbm		CGI example
 cpan/CGI/examples/clickable_image.cgi	CGI example
@@ -175,6 +181,7 @@
 cpan/CGI/t/charset.t			See if CGI::Carp works
 cpan/CGI/t/checkbox_group.t		See if CGI.pm works
 cpan/CGI/t/cookie.t			See if CGI::Cookie works
+cpan/CGI/t/delete.t			See if CGI.pm works
 cpan/CGI/t/Dump.t			See if CGI->Dump works
 cpan/CGI/t/end_form.t			See if CGI.pm works
 cpan/CGI/t/form.t			See if CGI.pm works
@@ -185,18 +192,21 @@
 cpan/CGI/t/http.t			See if CGI.pm works
 cpan/CGI/t/init.t			See if CGI.pm works
 cpan/CGI/t/init_test.txt		See if CGI.pm works
+cpan/CGI/t/multipart_init.t		See if CGI.pm works
 cpan/CGI/t/no_tabindex.t		See if CGI.pm works
-cpan/CGI/t/param_fetch.t			See if CGI pop menus work
+cpan/CGI/t/param_fetch.t		See if CGI pop menus work
 cpan/CGI/t/popup_menu.t			See if CGI pop menus work
 cpan/CGI/t/pretty.t			See if CGI.pm works
 cpan/CGI/t/push.t			See if CGI::Push works
 cpan/CGI/t/query_string.t		See if CGI->query_string() works
 cpan/CGI/t/request.t			See if CGI.pm works
+cpan/CGI/t/rt-52469.t			See if CGI.pm works
 cpan/CGI/t/save_read_roundtrip.t	See if CGI.pm works
 cpan/CGI/t/start_end_asterisk.t		See if CGI.pm works
 cpan/CGI/t/start_end_end.t		See if CGI.pm works
 cpan/CGI/t/start_end_start.t		See if CGI.pm works
 cpan/CGI/t/switch.t			See if CGI::Switch still loads
+cpan/CGI/t/tmpdir.t			See if CGI.pm works
 cpan/CGI/t/unescapeHTML.t		See if CGI::unescapeHTML() works
 cpan/CGI/t/uploadInfo.t			See if CGI.pm works
 cpan/CGI/t/upload_post_text.txt		Test data for CGI.pm
@@ -222,7 +232,6 @@
 cpan/Compress-Raw-Bzip2/fallback/constants.xs
 cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
 cpan/Compress-Raw-Bzip2/Makefile.PL
-cpan/Compress-Raw-Bzip2/pod/FAQ.pod
 cpan/Compress-Raw-Bzip2/private/MakeUtil.pm
 cpan/Compress-Raw-Bzip2/README
 cpan/Compress-Raw-Bzip2/t/000prereq.t
@@ -239,7 +248,6 @@
 cpan/Compress-Raw-Zlib/fallback/constants.xs	Compress::Raw::Zlib
 cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm	Compress::Raw::Zlib
 cpan/Compress-Raw-Zlib/Makefile.PL		Compress::Raw::Zlib
-cpan/Compress-Raw-Zlib/pod/FAQ.pod		Compress::Raw::Zlib
 cpan/Compress-Raw-Zlib/private/MakeUtil.pm	Compress::Raw::Zlib
 cpan/Compress-Raw-Zlib/README			Compress::Raw::Zlib
 cpan/Compress-Raw-Zlib/t/01version.t		Compress::Raw::Zlib
@@ -271,6 +279,11 @@
 cpan/Compress-Raw-Zlib/zlib-src/zutil.c		Compress::Raw::Zlib
 cpan/Compress-Raw-Zlib/zlib-src/zutil.h		Compress::Raw::Zlib
 cpan/Compress-Raw-Zlib/Zlib.xs			Compress::Raw::Zlib
+cpan/Config-Perl-V/t/00_pod.t			Config::Perl::V
+cpan/Config-Perl-V/t/01_pod.t			Config::Perl::V
+cpan/Config-Perl-V/t/10_base.t			Config::Perl::V
+cpan/Config-Perl-V/t/20_plv.t			Config::Perl::V
+cpan/Config-Perl-V/V.pm				Config::Perl::V
 cpan/CPAN/Changes				CPAN.pm Changes file
 cpan/CPAN/lib/App/Cpan.pm		helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/API/HOWTO.pod		recipe book for programming with CPAN.pm
@@ -286,6 +299,7 @@
 cpan/CPAN/lib/CPAN/Exception/blocked_urllist.pm	helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/Exception/RecursiveDependency.pm	helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/Exception/yaml_not_installed.pm	helper package for CPAN.pm
+cpan/CPAN/lib/CPAN/Exception/yaml_process_error.pm	helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/FirstTime.pm		Utility for creating CPAN config files
 cpan/CPAN/lib/CPAN/FTP/netrc.pm		helper package for CPAN.pm
 cpan/CPAN/lib/CPAN/FTP.pm			helper package for CPAN.pm
@@ -316,6 +330,14 @@
 cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
 cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
 cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm
+cpan/CPAN-Meta-Requirements/Changes
+cpan/CPAN-Meta-Requirements/lib/CPAN/Meta/Requirements.pm
+cpan/CPAN-Meta-Requirements/t/accepts.t
+cpan/CPAN-Meta-Requirements/t/bad_version_hook.t
+cpan/CPAN-Meta-Requirements/t/basic.t
+cpan/CPAN-Meta-Requirements/t/finalize.t
+cpan/CPAN-Meta-Requirements/t/from-hash.t
+cpan/CPAN-Meta-Requirements/t/merge.t
 cpan/CPAN-Meta/t/converter-bad.t
 cpan/CPAN-Meta/t/converter-fail.t
 cpan/CPAN-Meta/t/converter.t
@@ -339,6 +361,7 @@
 cpan/CPAN-Meta/t/data-bad/META-1_4.yml
 cpan/CPAN-Meta/t/data-bad/META-2.json
 cpan/CPAN-Meta/t/data-bad/restrictive-2.json
+cpan/CPAN-Meta/t/data-bad/version-ranges-2.json
 cpan/CPAN-Meta/t/data-fail/META-1_0.yml
 cpan/CPAN-Meta/t/data-fail/META-1_1.yml
 cpan/CPAN-Meta/t/data-fail/META-1_2.yml
@@ -345,6 +368,7 @@
 cpan/CPAN-Meta/t/data-fail/META-1_3.yml
 cpan/CPAN-Meta/t/data-fail/META-1_4.yml
 cpan/CPAN-Meta/t/data-fail/META-2.json
+cpan/CPAN-Meta/t/data/gpl-1_4.yml
 cpan/CPAN-Meta/t/data/META-1_0.yml
 cpan/CPAN-Meta/t/data/META-1_1.yml
 cpan/CPAN-Meta/t/data/META-1_2.yml
@@ -354,6 +378,10 @@
 cpan/CPAN-Meta/t/data/resources.yml
 cpan/CPAN-Meta/t/data/restricted-2.json
 cpan/CPAN-Meta/t/data/restrictive-1_4.yml
+cpan/CPAN-Meta/t/data/unicode.yml
+cpan/CPAN-Meta/t/data/version-not-normal.json
+cpan/CPAN-Meta/t/data/version-ranges-1_4.yml
+cpan/CPAN-Meta/t/data/version-ranges-2.json
 cpan/CPAN-Meta/t/load-bad.t
 cpan/CPAN-Meta/t/meta-obj.t
 cpan/CPAN-Meta/t/no-index.t
@@ -362,6 +390,7 @@
 cpan/CPAN-Meta/t/prereqs.t
 cpan/CPAN-Meta/t/repository.t
 cpan/CPAN-Meta/t/save-load.t
+cpan/CPAN-Meta/t/strings.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/01_compile.t		CPAN-Meta-YAML files
@@ -412,6 +441,7 @@
 cpan/CPANPLUS-Dist-Build/t/src/xs/Foo-Bar-0.01.tar.gz		CPANPLUS::Dist::Build tests
 cpan/CPANPLUS/lib/CPANPLUS/Backend.pm				CPANPLUS
 cpan/CPANPLUS/lib/CPANPLUS/Backend/RV.pm			CPANPLUS
+cpan/CPANPLUS/lib/CPANPLUS/Config/HomeEnv.pm
 cpan/CPANPLUS/lib/CPANPLUS/Config.pm				CPANPLUS
 cpan/CPANPLUS/lib/CPANPLUS/Configure.pm				CPANPLUS
 cpan/CPANPLUS/lib/CPANPLUS/Configure/Setup.pm			CPANPLUS
@@ -510,28 +540,6 @@
 cpan/DB_File/t/db-recno.t	See if DB_File works
 cpan/DB_File/typemap		Berkeley DB extension interface types
 cpan/DB_File/version.c		Berkeley DB extension interface version check
-cpan/Devel-DProf/bin/dprofpp	Perl code profile post-processor
-cpan/Devel-DProf/DProf.pm	Perl code profiler
-cpan/Devel-DProf/dprof/test1_t	Perl code profiler tests
-cpan/Devel-DProf/dprof/test1_v	Perl code profiler tests
-cpan/Devel-DProf/dprof/test2_t	Perl code profiler tests
-cpan/Devel-DProf/dprof/test2_v	Perl code profiler tests
-cpan/Devel-DProf/dprof/test3_t	Perl code profiler tests
-cpan/Devel-DProf/dprof/test3_v	Perl code profiler tests
-cpan/Devel-DProf/dprof/test4_t	Perl code profiler tests
-cpan/Devel-DProf/dprof/test4_v	Perl code profiler tests
-cpan/Devel-DProf/dprof/test5_t	Perl code profiler tests
-cpan/Devel-DProf/dprof/test5_v	Perl code profiler tests
-cpan/Devel-DProf/dprof/test6_t	Perl code profiler tests
-cpan/Devel-DProf/dprof/test6_v	Perl code profiler tests
-cpan/Devel-DProf/dprof/test7_t	Perl code profiler tests
-cpan/Devel-DProf/dprof/test7_v	Perl code profiler tests
-cpan/Devel-DProf/dprof/test8_t	Perl code profiler tests
-cpan/Devel-DProf/dprof/test8_v	Perl code profiler tests
-cpan/Devel-DProf/dprof/V.pm	Perl code profiler tests
-cpan/Devel-DProf/DProf.xs	Perl code profiler
-cpan/Devel-DProf/t/DProf.t	Perl code profiler
-cpan/Devel-DProf/Todo		Perl code profiler todo list
 cpan/Devel-PPPort/apicheck_c.PL		Devel::PPPort apicheck generator
 cpan/Devel-PPPort/Changes		Devel::PPPort changes
 cpan/Devel-PPPort/devel/buildperl.pl	Devel::PPPort perl version builder
@@ -576,6 +584,7 @@
 cpan/Devel-PPPort/parts/base/5008006	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/base/5008007	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/base/5008008	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5008009	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/base/5009000	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/base/5009001	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/base/5009002	Devel::PPPort baseline todo file
@@ -583,7 +592,30 @@
 cpan/Devel-PPPort/parts/base/5009004	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/base/5009005	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/base/5010000	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5010001	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/base/5011000	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011001	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011002	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011003	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011004	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5011005	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5012000	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5012001	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5012002	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5012003	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013000	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013001	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013002	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013003	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013004	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013005	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013006	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013007	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013008	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013009	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013010	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5013011	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/base/5014000	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/embed.fnc	Devel::PPPort Perl API listing
 cpan/Devel-PPPort/parts/inc/call	Devel::PPPort include
 cpan/Devel-PPPort/parts/inc/cop		Devel::PPPort include
@@ -650,6 +682,7 @@
 cpan/Devel-PPPort/parts/todo/5008006	Devel::PPPort todo file
 cpan/Devel-PPPort/parts/todo/5008007	Devel::PPPort todo file
 cpan/Devel-PPPort/parts/todo/5008008	Devel::PPPort todo file
+cpan/Devel-PPPort/parts/todo/5008009	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/todo/5009000	Devel::PPPort todo file
 cpan/Devel-PPPort/parts/todo/5009001	Devel::PPPort todo file
 cpan/Devel-PPPort/parts/todo/5009002	Devel::PPPort todo file
@@ -657,7 +690,30 @@
 cpan/Devel-PPPort/parts/todo/5009004	Devel::PPPort todo file
 cpan/Devel-PPPort/parts/todo/5009005	Devel::PPPort todo file
 cpan/Devel-PPPort/parts/todo/5010000	Devel::PPPort todo file
+cpan/Devel-PPPort/parts/todo/5010001	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/parts/todo/5011000	Devel::PPPort todo file
+cpan/Devel-PPPort/parts/todo/5011001	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5011002	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5011003	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5011004	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5011005	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5012000	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5012001	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5012002	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5012003	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013000	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013001	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013002	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013003	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013004	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013005	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013006	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013007	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013008	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013009	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013010	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5013011	Devel::PPPort baseline todo file
+cpan/Devel-PPPort/parts/todo/5014000	Devel::PPPort baseline todo file
 cpan/Devel-PPPort/ppport_h.PL		Devel::PPPort ppport.h writer
 cpan/Devel-PPPort/PPPort_pm.PL		Devel::PPPort PPPort.pm writer
 cpan/Devel-PPPort/PPPort.xs		Devel::PPPort dummy PPPort.xs
@@ -727,14 +783,10 @@
 cpan/Digest-SHA/README			Digest::SHA README
 cpan/Digest-SHA/shasum			shasum script
 cpan/Digest-SHA/SHA.xs			Digest::SHA extension
-cpan/Digest-SHA/src/hmac.c		Digest::SHA extension
-cpan/Digest-SHA/src/hmac.h		Digest::SHA extension
-cpan/Digest-SHA/src/hmacxtra.c		Digest::SHA extension
 cpan/Digest-SHA/src/sha64bit.c		Digest::SHA extension
 cpan/Digest-SHA/src/sha64bit.h		Digest::SHA extension
 cpan/Digest-SHA/src/sha.c		Digest::SHA extension
 cpan/Digest-SHA/src/sha.h		Digest::SHA extension
-cpan/Digest-SHA/src/shaxtra.c		Digest::SHA extension
 cpan/Digest-SHA/t/allfcns.t		See if Digest::SHA works
 cpan/Digest-SHA/t/base64.t		See if Digest::SHA works
 cpan/Digest-SHA/t/bitbuf.t		See if Digest::SHA works
@@ -754,11 +806,14 @@
 cpan/Digest-SHA/t/sha256.t		See if Digest::SHA works
 cpan/Digest-SHA/t/sha384.t		See if Digest::SHA works
 cpan/Digest-SHA/t/sha512.t		See if Digest::SHA works
+cpan/Digest-SHA/t/unicode.t
 cpan/Digest-SHA/t/woodbury.t		See if Digest::SHA works
 cpan/Digest-SHA/typemap			Typemap for Digest::SHA
 cpan/Digest/t/base.t		See if Digest extensions work
 cpan/Digest/t/digest.t		See if Digest extensions work
 cpan/Digest/t/file.t		See if Digest extensions work
+cpan/Digest/t/lib/Digest/Dummy.pm		See if Digest extensions work
+cpan/Digest/t/security.t		See if Digest extensions work
 cpan/Encode/AUTHORS		List of authors
 cpan/Encode/bin/enc2xs		Encode module generator
 cpan/Encode/bin/piconv		iconv by perl
@@ -807,6 +862,7 @@
 cpan/Encode/lib/Encode/Unicode/UTF7.pm	Encode extension
 cpan/Encode/Makefile.PL			Encode extension makefile writer
 cpan/Encode/MANIFEST			Encode MANIFEST
+cpan/Encode/META.json			Encode META.json
 cpan/Encode/META.yml			Encode META.yml
 cpan/Encode/README			Encode extension
 cpan/Encode/Symbol/Makefile.PL		Encode extension
@@ -984,7 +1040,6 @@
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod		MakeMaker FAQ
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm		Write Makefiles for extensions
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod	Writing a module with MakeMaker
-cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/YAML.pm		clone of YAML::Tiny
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm		Writes a bootstrap file (see MakeMaker)
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm		Writes a linker options file for extensions
 cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm			MakeMaker methods for AIX
@@ -1010,7 +1065,9 @@
 cpan/ExtUtils-MakeMaker/NOTES					Notes about MakeMaker internals
 cpan/ExtUtils-MakeMaker/PATCHING				Suggestions for patching MakeMaker
 cpan/ExtUtils-MakeMaker/README					MakeMaker README
+cpan/ExtUtils-MakeMaker/README.packaging			MakeMaker packaging README
 cpan/ExtUtils-MakeMaker/t/00compile.t				See if MakeMaker modules compile
+cpan/ExtUtils-MakeMaker/t/01perl_bugs.t
 cpan/ExtUtils-MakeMaker/t/arch_check.t				Test MakeMaker's arch_check()
 cpan/ExtUtils-MakeMaker/t/backwards.t				Check MakeMaker's backwards compatibility
 cpan/ExtUtils-MakeMaker/t/basic.t				See if MakeMaker can build a module
@@ -1018,6 +1075,7 @@
 cpan/ExtUtils-MakeMaker/t/cd.t					Test to see cd works
 cpan/ExtUtils-MakeMaker/t/config.t				Test ExtUtils::MakeMaker::Config
 cpan/ExtUtils-MakeMaker/t/dir_target.t				Verify if dir_target() is supported
+cpan/ExtUtils-MakeMaker/t/echo.t				Test for ExtUtils::MakeMaker
 cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t			See if FIRST_MAKEFILE works
 cpan/ExtUtils-MakeMaker/t/fixin.t				See if ExtUtils::MakeMaker works
 cpan/ExtUtils-MakeMaker/t/fix_libs.t				Test for ExtUtils::MakeMaker
@@ -1042,8 +1100,12 @@
 cpan/ExtUtils-MakeMaker/t/MakeMaker_Parameters.t		test "MakeMaker Parameters" section
 cpan/ExtUtils-MakeMaker/t/make.t				See if make detection works
 cpan/ExtUtils-MakeMaker/t/maketext_filter.t			See if maketext_filter works
+cpan/ExtUtils-MakeMaker/t/meta_convert.t				See if MakeMaker works
 cpan/ExtUtils-MakeMaker/t/metafile_data.t			See if META.yml handling works
 cpan/ExtUtils-MakeMaker/t/metafile_file.t			See if META.yml handling works
+cpan/ExtUtils-MakeMaker/t/META_for_testing.json				test data for MakeMaker
+cpan/ExtUtils-MakeMaker/t/META_for_testing_tricky_version.yml				test data for MakeMaker
+cpan/ExtUtils-MakeMaker/t/META_for_testing.yml				test data for MakeMaker
 cpan/ExtUtils-MakeMaker/t/miniperl.t				Test MakeMaker with miniperl
 cpan/ExtUtils-MakeMaker/t/min_perl_version.t			Test the MIN_PERL_VERSION argument to WriteMakefile.
 cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t				See if ExtUtils::Mkbootstrap works
@@ -1081,6 +1143,8 @@
 cpan/ExtUtils-MakeMaker/t/WriteEmptyMakefile.t			See if WriteEmptyMakefile works
 cpan/ExtUtils-MakeMaker/t/writemakefile_args.t			See if WriteMakefile works
 cpan/ExtUtils-MakeMaker/t/xs.t					Part of MakeMaker's test suite
+cpan/File-CheckTree/lib/File/CheckTree.pm	Perl module supporting wholesale file mode validation
+cpan/File-CheckTree/t/CheckTree.t		See if File::CheckTree works
 cpan/File-Fetch/lib/File/Fetch.pm	File::Fetch
 cpan/File-Fetch/t/01_File-Fetch.t	File::Fetch tests
 cpan/File-Fetch/t/null_subclass.t
@@ -1087,13 +1151,14 @@
 cpan/File-Path/lib/File/Path.pm		Do things like 'mkdir -p' and 'rm -r'
 cpan/File-Path/t/Path.t			See if File::Path works
 cpan/File-Path/t/taint.t		See if File::Path works with -T
+cpan/File-Temp/lib/File/Temp.pm	create safe temporary files and file handles
 cpan/File-Temp/t/cmp.t		See if File::Temp works
-cpan/File-Temp/Temp.pm		create safe temporary files and file handles
 cpan/File-Temp/t/fork.t		See if File::Temp works
 cpan/File-Temp/t/lock.t		See if File::Temp works
 cpan/File-Temp/t/mktemp.t	See if File::Temp works
 cpan/File-Temp/t/object.t	See if File::Temp works
 cpan/File-Temp/t/posix.t	See if File::Temp works
+cpan/File-Temp/t/rmtree.t	See if File::Temp works
 cpan/File-Temp/t/security.t	See if File::Temp works
 cpan/File-Temp/t/seekable.t	See if File::Temp works
 cpan/File-Temp/t/tempfile.t	See if File::Temp works
@@ -1105,7 +1170,6 @@
 cpan/Getopt-Long/lib/Getopt/Long.pm	Fetch command options (GetOptions)
 cpan/Getopt-Long/README			Getopt::Long README
 cpan/Getopt-Long/t/gol-basic.t		See if Getopt::Long works
-cpan/Getopt-Long/t/gol-compat.t		See if Getopt::Long works
 cpan/Getopt-Long/t/gol-linkage.t	See if Getopt::Long works
 cpan/Getopt-Long/t/gol-oo.t		See if Getopt::Long works
 cpan/Getopt-Long/t/gol-xargv.t		See if Getopt::Long works
@@ -1114,6 +1178,7 @@
 cpan/HTTP-Tiny/t/000_load.t
 cpan/HTTP-Tiny/t/001_api.t
 cpan/HTTP-Tiny/t/002_croakage.t
+cpan/HTTP-Tiny/t/003_agent.t
 cpan/HTTP-Tiny/t/00-compile.t
 cpan/HTTP-Tiny/t/010_url.t
 cpan/HTTP-Tiny/t/020_headers.t
@@ -1122,9 +1187,19 @@
 cpan/HTTP-Tiny/t/050_chunked_body.t
 cpan/HTTP-Tiny/t/060_http_date.t
 cpan/HTTP-Tiny/t/100_get.t
+cpan/HTTP-Tiny/t/101_head.t
+cpan/HTTP-Tiny/t/102_put.t
+cpan/HTTP-Tiny/t/103_delete.t
+cpan/HTTP-Tiny/t/104_post.t
 cpan/HTTP-Tiny/t/110_mirror.t
-cpan/HTTP-Tiny/t/120_put.t
 cpan/HTTP-Tiny/t/130_redirect.t
+cpan/HTTP-Tiny/t/140_proxy.t
+cpan/HTTP-Tiny/t/150_post_form.t
+cpan/HTTP-Tiny/t/cases/delete-01.txt
+cpan/HTTP-Tiny/t/cases/form-01.txt
+cpan/HTTP-Tiny/t/cases/form-02.txt
+cpan/HTTP-Tiny/t/cases/form-03.txt
+cpan/HTTP-Tiny/t/cases/form-04.txt
 cpan/HTTP-Tiny/t/cases/get-01.txt
 cpan/HTTP-Tiny/t/cases/get-02.txt
 cpan/HTTP-Tiny/t/cases/get-03.txt
@@ -1146,11 +1221,13 @@
 cpan/HTTP-Tiny/t/cases/get-19.txt
 cpan/HTTP-Tiny/t/cases/get-20.txt
 cpan/HTTP-Tiny/t/cases/get-21.txt
+cpan/HTTP-Tiny/t/cases/head-01.txt
 cpan/HTTP-Tiny/t/cases/mirror-01.txt
 cpan/HTTP-Tiny/t/cases/mirror-02.txt
 cpan/HTTP-Tiny/t/cases/mirror-03.txt
 cpan/HTTP-Tiny/t/cases/mirror-04.txt
 cpan/HTTP-Tiny/t/cases/mirror-05.txt
+cpan/HTTP-Tiny/t/cases/post-01.txt
 cpan/HTTP-Tiny/t/cases/put-01.txt
 cpan/HTTP-Tiny/t/cases/put-02.txt
 cpan/HTTP-Tiny/t/cases/put-03.txt
@@ -1166,6 +1243,7 @@
 cpan/HTTP-Tiny/t/cases/redirect-08.txt
 cpan/HTTP-Tiny/t/cases/redirect-09.txt
 cpan/HTTP-Tiny/t/Util.pm
+cpan/IO-Compress/bin/zipdetails				IO::Compress
 cpan/IO-Compress/Changes				IO::Compress
 cpan/IO-Compress/examples/compress-zlib/filtdef		IO::Compress
 cpan/IO-Compress/examples/compress-zlib/filtinf		IO::Compress
@@ -1189,6 +1267,7 @@
 cpan/IO-Compress/lib/IO/Compress/Base.pm		IO::Compress
 cpan/IO-Compress/lib/IO/Compress/Bzip2.pm		IO::Compress
 cpan/IO-Compress/lib/IO/Compress/Deflate.pm		IO::Compress
+cpan/IO-Compress/lib/IO/Compress/FAQ.pod		IO::Compress
 cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm	IO::Compress
 cpan/IO-Compress/lib/IO/Compress/Gzip.pm		IO::Compress
 cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm		IO::Compress
@@ -1208,7 +1287,6 @@
 cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm	IO::Compress
 cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm		IO::Compress
 cpan/IO-Compress/Makefile.PL				IO::Compress
-cpan/IO-Compress/pod/FAQ.pod				IO::Compress
 cpan/IO-Compress/private/MakeUtil.pm			IO::Compress
 cpan/IO-Compress/README					IO::Compress
 cpan/IO-Compress/t/000prereq.t				IO::Compress
@@ -1262,6 +1340,7 @@
 cpan/IO-Compress/t/105oneshot-rawdeflate.t		IO::Compress
 cpan/IO-Compress/t/105oneshot-zip-bzip2-only.t		IO::Compress
 cpan/IO-Compress/t/105oneshot-zip-only.t		IO::Compress
+cpan/IO-Compress/t/105oneshot-zip-store-only.t		IO::Compress
 cpan/IO-Compress/t/105oneshot-zip.t			IO::Compress
 cpan/IO-Compress/t/106prime-bzip2.t			IO::Compress
 cpan/IO-Compress/t/106prime-deflate.t			IO::Compress
@@ -1288,6 +1367,7 @@
 cpan/IO-Compress/t/110encode-gzip.t			IO::Compress
 cpan/IO-Compress/t/110encode-rawdeflate.t		IO::Compress
 cpan/IO-Compress/t/110encode-zip.t			IO::Compress
+cpan/IO-Compress/t/111const-deflate.t			IO::Compress
 cpan/IO-Compress/t/999pod.t				IO::Compress
 cpan/IO-Compress/t/compress/any.pl			Compress::Zlib
 cpan/IO-Compress/t/compress/anyunc.pl			Compress::Zlib
@@ -1382,6 +1462,7 @@
 cpan/JSON-PP/t/113_overloaded_eq.t
 cpan/JSON-PP/t/114_decode_prefix.t
 cpan/JSON-PP/t/115_tie_ixhash.t
+cpan/JSON-PP/t/116_incr_parse_fixed.t
 cpan/JSON-PP/t/_unicode_handling.pm
 cpan/libnet/Changes		libnet
 cpan/libnet/Config.eg		libnet
@@ -1422,10 +1503,8 @@
 cpan/libnet/t/time.t		libnet
 cpan/List-Util/Changes			Util extension
 cpan/List-Util/lib/List/Util.pm		List::Util
-cpan/List-Util/lib/List/Util/PP.pm	List::Util
 cpan/List-Util/lib/List/Util/XS.pm	List::Util
 cpan/List-Util/lib/Scalar/Util.pm	Scalar::Util
-cpan/List-Util/lib/Scalar/Util/PP.pm	Scalar::Util
 cpan/List-Util/ListUtil.xs		Util extension
 cpan/List-Util/Makefile.PL		Util extension
 cpan/List-Util/multicall.h		Util extension
@@ -1433,8 +1512,8 @@
 cpan/List-Util/t/00version.t		Scalar::Util
 cpan/List-Util/t/blessed.t		Scalar::Util
 cpan/List-Util/t/dualvar.t		Scalar::Util
-cpan/List-Util/t/expfail.t		List::Util
 cpan/List-Util/t/first.t		List::Util
+cpan/List-Util/t/getmagic-once.t
 cpan/List-Util/t/isvstring.t		Scalar::Util
 cpan/List-Util/t/lln.t			Scalar::Util
 cpan/List-Util/t/maxstr.t		List::Util
@@ -1441,24 +1520,9 @@
 cpan/List-Util/t/max.t			List::Util
 cpan/List-Util/t/minstr.t		List::Util
 cpan/List-Util/t/min.t			List::Util
+cpan/List-Util/t/multicall-refcount.t
 cpan/List-Util/t/openhan.t		Scalar::Util
-cpan/List-Util/t/p_00version.t		Scalar::Util
-cpan/List-Util/t/p_blessed.t		Scalar::Util
-cpan/List-Util/t/p_first.t		List::Util
-cpan/List-Util/t/p_lln.t		Scalar::Util
-cpan/List-Util/t/p_maxstr.t		List::Util
-cpan/List-Util/t/p_max.t		List::Util
-cpan/List-Util/t/p_minstr.t		List::Util
-cpan/List-Util/t/p_min.t		List::Util
-cpan/List-Util/t/p_openhan.t		Scalar::Util
-cpan/List-Util/t/p_readonly.t		Scalar::Util
-cpan/List-Util/t/p_reduce.t		List::Util
-cpan/List-Util/t/p_refaddr.t		Scalar::Util
-cpan/List-Util/t/p_reftype.t		Scalar::Util
 cpan/List-Util/t/proto.t		Scalar::Util
-cpan/List-Util/t/p_shuffle.t		List::Util
-cpan/List-Util/t/p_sum.t		List::Util
-cpan/List-Util/t/p_tainted.t		Scalar::Util
 cpan/List-Util/t/readonly.t		Scalar::Util
 cpan/List-Util/t/reduce.t		List::Util
 cpan/List-Util/t/refaddr.t		Scalar::Util
@@ -1465,20 +1529,45 @@
 cpan/List-Util/t/reftype.t		Scalar::Util
 cpan/List-Util/t/shuffle.t		List::Util
 cpan/List-Util/t/stack-corruption.t	List::Util
+cpan/List-Util/t/sum0.t
 cpan/List-Util/t/sum.t			List::Util
 cpan/List-Util/t/tainted.t		Scalar::Util
 cpan/List-Util/t/weak.t			Scalar::Util
-cpan/List-Util/XS.pp			List::Util
 cpan/Locale-Codes/ChangeLog			Locale::Codes
+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
+cpan/Locale-Codes/lib/Locale/Codes/Country_Retired.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/Currency_Codes.pm	Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes/Currency.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/Currency.pod	Locale::Codes documentation
+cpan/Locale-Codes/lib/Locale/Codes/Currency_Retired.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangExt_Codes.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangExt.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangExt.pod	Locale::Codes documentation
+cpan/Locale-Codes/lib/Locale/Codes/LangExt_Retired.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangFam_Codes.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangFam.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangFam.pod	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangFam_Retired.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/Language_Codes.pm	Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes/Language.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/Language.pod	Locale::Codes documentation
+cpan/Locale-Codes/lib/Locale/Codes/Language_Retired.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangVar_Codes.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangVar.pm	Locale::Codes
+cpan/Locale-Codes/lib/Locale/Codes/LangVar.pod	Locale::Codes documentation
+cpan/Locale-Codes/lib/Locale/Codes/LangVar_Retired.pm	Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes.pm		Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes.pod		Locale::Codes documentation
+cpan/Locale-Codes/lib/Locale/Codes/Script_Codes.pm	Locale::Codes
 cpan/Locale-Codes/lib/Locale/Codes/Script.pm	Locale::Codes
-cpan/Locale-Codes/lib/Locale/Constants.pm	Locale::Codes
-cpan/Locale-Codes/lib/Locale/Constants.pod	Locale::Codes documentation
+cpan/Locale-Codes/lib/Locale/Codes/Script.pod	Locale::Codes documentation
+cpan/Locale-Codes/lib/Locale/Codes/Script_Retired.pm	Locale::Codes
 cpan/Locale-Codes/lib/Locale/Country.pm		Locale::Codes
 cpan/Locale-Codes/lib/Locale/Country.pod	Locale::Codes documentation
 cpan/Locale-Codes/lib/Locale/Currency.pm	Locale::Codes
@@ -1489,17 +1578,31 @@
 cpan/Locale-Codes/lib/Locale/Script.pod		Locale::Codes documentation
 cpan/Locale-Codes/LICENSE			Locale::Codes
 cpan/Locale-Codes/README.first			Locale::Codes
+cpan/Locale-Codes/t/alias_code_old.t	Locale::Codes tests
 cpan/Locale-Codes/t/alias_code.t		Locale::Codes tests
+cpan/Locale-Codes/t/code2country_old.t	Locale::Codes tests
 cpan/Locale-Codes/t/code2country.t		Locale::Codes tests
 cpan/Locale-Codes/t/code2currency.t		Locale::Codes tests
+cpan/Locale-Codes/t/code2langext.t	Locale::Codes tests
+cpan/Locale-Codes/t/code2langfam.t	Locale::Codes tests
 cpan/Locale-Codes/t/code2language.t		Locale::Codes tests
+cpan/Locale-Codes/t/code2langvar.t	Locale::Codes tests
 cpan/Locale-Codes/t/code2script.t		Locale::Codes tests
+cpan/Locale-Codes/t/country2code_old.t	Locale::Codes tests
 cpan/Locale-Codes/t/country2code.t		Locale::Codes tests
+cpan/Locale-Codes/t/country_code2code_old.t	Locale::Codes tests
 cpan/Locale-Codes/t/country_code2code.t		Locale::Codes tests
+cpan/Locale-Codes/t/country_old.t	Locale::Codes tests
 cpan/Locale-Codes/t/country.t			Locale::Codes tests
+cpan/Locale-Codes/t/currency2code_old.t	Locale::Codes tests
 cpan/Locale-Codes/t/currency2code.t		Locale::Codes tests
+cpan/Locale-Codes/t/langext2code.t	Locale::Codes tests
+cpan/Locale-Codes/t/langfam2code.t	Locale::Codes tests
 cpan/Locale-Codes/t/language2code.t		Locale::Codes tests
+cpan/Locale-Codes/t/language_old.t	Locale::Codes tests
 cpan/Locale-Codes/t/language.t			Locale::Codes tests
+cpan/Locale-Codes/t/langvar2code.t	Locale::Codes tests
+cpan/Locale-Codes/t/script2code_old.t	Locale::Codes tests
 cpan/Locale-Codes/t/script2code.t		Locale::Codes tests
 cpan/Locale-Codes/t/testfunc.pl			Locale::Codes tests
 cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm	Locale::Simple
@@ -1524,8 +1627,10 @@
 cpan/Log-Message/t/02_Log-Message.t		Log::Message tests
 cpan/Log-Message/t/conf/config_file		Log::Message tests
 cpan/Log-Message/t/conf/LoadMe.pl		Log::Message tests
+cpan/Math-Complex/ChangeLog		Math-Complex change log
 cpan/Math-Complex/lib/Math/Complex.pm	A Complex package
 cpan/Math-Complex/lib/Math/Trig.pm	A simple interface to complex trigonometry
+cpan/Math-Complex/Makefile.PL		Math-Complex building
 cpan/Math-Complex/t/Complex.t		See if Math::Complex works
 cpan/Math-Complex/t/Trig.t		See if Math::Trig works
 cpan/Math-Complex/t/underbar.t		See if Math::Complex works
@@ -1656,12 +1761,15 @@
 cpan/Module-Build/t/xs.t
 cpan/Module-Load-Conditional/lib/Module/Load/Conditional.pm	Module::Conditional
 cpan/Module-Load-Conditional/t/01_Module_Load_Conditional.t	Module::Conditional tests
-cpan/Module-Load-Conditional/t/02_Parse_Version.t		Module::Load::Conditional tests
+cpan/Module-Load-Conditional/t/test_lib/a/X.pm			Module::Conditional tests
+cpan/Module-Load-Conditional/t/test_lib/b/X.pm			Module::Conditional tests
 cpan/Module-Load-Conditional/t/to_load/Commented.pm		Module::Conditional tests
 cpan/Module-Load-Conditional/t/to_load/InPod.pm			Module::Load::Conditional tests
 cpan/Module-Load-Conditional/t/to_load/LoadIt.pm		Module::Conditional tests
 cpan/Module-Load-Conditional/t/to_load/LoadMe.pl		Module::Conditional tests
 cpan/Module-Load-Conditional/t/to_load/MustBe/Loaded.pm		Module::Load::Conditional tests
+cpan/Module-Load-Conditional/t/to_load/NotMain.pm		Module::Conditional tests
+cpan/Module-Load-Conditional/t/to_load/NotX.pm			Module::Conditional tests
 cpan/Module-Load-Conditional/t/to_load/ToBeLoaded		Module::Conditional tests
 cpan/Module-Loaded/lib/Module/Loaded.pm	Module::Loaded
 cpan/Module-Loaded/t/01_Module-Loaded.t	Module::Loaded tests
@@ -1674,10 +1782,17 @@
 cpan/Module-Load/t/to_load/TestModule.pm	Module::Load tests
 cpan/Module-Load/t/to_load/ToBeLoaded		Module::Load tests
 cpan/Module-Metadata/lib/Module/Metadata.pm
+cpan/Module-Metadata/t/encoding.t
+cpan/Module-Metadata/t/lib/0_1/Foo.pm
+cpan/Module-Metadata/t/lib/0_2/Foo.pm
+cpan/Module-Metadata/t/lib/BOMTest/UTF16BE.pm
+cpan/Module-Metadata/t/lib/BOMTest/UTF16LE.pm
+cpan/Module-Metadata/t/lib/BOMTest/UTF8.pm
 cpan/Module-Metadata/t/lib/DistGen.pm
 cpan/Module-Metadata/t/lib/MBTest.pm
 cpan/Module-Metadata/t/lib/Tie/CPHash.pm
 cpan/Module-Metadata/t/metadata.t
+cpan/Module-Metadata/t/version.t
 cpan/Module-Pluggable/lib/Devel/InnerPackage.pm		Find inner packages
 cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm	Module::Pluggable
 cpan/Module-Pluggable/lib/Module/Pluggable.pm		Module::Pluggable
@@ -1718,6 +1833,10 @@
 cpan/Module-Pluggable/t/19can_ok_clobber.t		Module::Pluggable tests
 cpan/Module-Pluggable/t/20dodgy_files.t			Module::Pluggable tests
 cpan/Module-Pluggable/t/21editor_junk.t			Module::Pluggable tests
+cpan/Module-Pluggable/t/22trigger.t			Module::Pluggable tests
+cpan/Module-Pluggable/t/23depth.t			Module::Pluggable tests
+cpan/Module-Pluggable/t/24local_inc_object.t		Module::Pluggable tests
+cpan/Module-Pluggable/t/24local_inc_package.t		Module::Pluggable tests
 cpan/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm	Module::Pluggable tests
 cpan/Module-Pluggable/t/lib/Acme/Foo-Bar.pm		Module::Pluggable tests
 cpan/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm	Module::Pluggable tests
@@ -1741,6 +1860,12 @@
 cpan/Module-Pluggable/t/lib/No/Middle.pm		Module::Pluggable tests
 cpan/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm	Module::Pluggable tests
 cpan/Module-Pluggable/t/lib/TA/C/A/I.pm			Module::Pluggable tests
+cpan/Module-Pluggable/t/lib/Text/Abbrev.pm		Module::Pluggable tests
+cpan/Module-Pluggable/t/lib/TriggerTest/Plugin/After.pm	Module::Pluggable tests
+cpan/Module-Pluggable/t/lib/TriggerTest/Plugin/CallbackAllow.pm	Module::Pluggable tests
+cpan/Module-Pluggable/t/lib/TriggerTest/Plugin/CallbackDeny.pm	Module::Pluggable tests
+cpan/Module-Pluggable/t/lib/TriggerTest/Plugin/Deny.pm	Module::Pluggable tests
+cpan/Module-Pluggable/t/lib/TriggerTest/Plugin/Error.pm	Module::Pluggable tests
 cpan/Module-Pluggable/t/lib/Zot/.Zork.pm		Module::Pluggable tests
 cpan/NEXT/lib/NEXT.pm		Pseudo-class NEXT for method redispatch
 cpan/NEXT/t/actual.t		NEXT
@@ -1784,11 +1909,33 @@
 cpan/Parse-CPAN-Meta/t/data/VR-META.json
 cpan/Parse-CPAN-Meta/t/data/VR-META.yml
 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
+cpan/perlfaq/lib/perlfaq3.pod	Programming Tools
+cpan/perlfaq/lib/perlfaq4.pod	Data Manipulation
+cpan/perlfaq/lib/perlfaq5.pod	Files and Formats
+cpan/perlfaq/lib/perlfaq6.pod	Regexes
+cpan/perlfaq/lib/perlfaq7.pod	Perl Language Issues
+cpan/perlfaq/lib/perlfaq8.pod	System Interaction
+cpan/perlfaq/lib/perlfaq9.pod	Networking
+cpan/perlfaq/lib/perlfaq.pm	Perl frequently asked questions
+cpan/perlfaq/lib/perlfaq.pod	Perl frequently asked questions
+cpan/perlfaq/lib/perlglossary.pod	Perl Glossary
 cpan/PerlIO-via-QuotedPrint/lib/PerlIO/via/QuotedPrint.pm	PerlIO::via::QuotedPrint
 cpan/PerlIO-via-QuotedPrint/t/QuotedPrint.t			PerlIO::via::QuotedPrint
 cpan/Perl-OSType/lib/Perl/OSType.pm			Perl::OSType
-cpan/Perl-OSType/t/00-compile.t			Perl::OSType
 cpan/Perl-OSType/t/OSType.t			Perl::OSType
+cpan/Pod-Checker/lib/Pod/Checker.pm
+cpan/Pod-Checker/scripts/podchecker.PL
+cpan/Pod-Checker/t/pod/contains_bad_pod.xr
+cpan/Pod-Checker/t/pod/empty.xr
+cpan/Pod-Checker/t/pod/podchkenc.t
+cpan/Pod-Checker/t/pod/podchkenc.xr
+cpan/Pod-Checker/t/pod/poderrs.t
+cpan/Pod-Checker/t/pod/poderrs.xr
+cpan/Pod-Checker/t/pod/selfcheck.t
+cpan/Pod-Checker/t/pod/testcmp.pl
+cpan/Pod-Checker/t/pod/testpchk.pl
 cpan/Pod-Escapes/ChangeLog		ChangeLog for Pod::Escapes
 cpan/Pod-Escapes/lib/Pod/Escapes.pm	Pod::Escapes
 cpan/Pod-Escapes/README			README for Pod::Escapes
@@ -1834,16 +1981,12 @@
 cpan/podlators/t/text.t				podlators test
 cpan/podlators/t/text-utf8.t			podlators test
 cpan/podlators/VERSION				podlators distribution version
-cpan/Pod-Parser/lib/Pod/Checker.pm		Pod-Parser - check POD documents for syntax errors
-cpan/Pod-Parser/lib/Pod/Find.pm			used by pod/splitpod
+cpan/Pod-Parser/lib/Pod/Find.pm			find POD documents in directory trees
 cpan/Pod-Parser/lib/Pod/InputObjects.pm		Pod-Parser - define objects for input streams
 cpan/Pod-Parser/lib/Pod/Parser.pm		Pod-Parser - define base class for parsing POD
 cpan/Pod-Parser/lib/Pod/ParseUtils.pm		Pod-Parser - pod utility functions
 cpan/Pod-Parser/lib/Pod/PlainText.pm		Convert POD data to formatted ASCII text
 cpan/Pod-Parser/lib/Pod/Select.pm		Pod-Parser - select portions of POD docs
-cpan/Pod-Parser/lib/Pod/Usage.pm		Pod-Parser - print usage messages
-cpan/Pod-Parser/scripts/pod2usage.PL	Pod-Parser - print usage messages from POD docs
-cpan/Pod-Parser/scripts/podchecker.PL	Pod-Parser - Pod::Checker::podchecker() CLI
 cpan/Pod-Parser/scripts/podselect.PL	Pod-Parser - Pod::Select::podselect() CLI
 cpan/Pod-Parser/t/pod/contains_bad_pod.xr	Pod-Parser test file
 cpan/Pod-Parser/t/pod/contains_pod.t		Pod-Parser test
@@ -1850,6 +1993,7 @@
 cpan/Pod-Parser/t/pod/contains_pod.xr		Pod-Parser test file
 cpan/Pod-Parser/t/pod/emptycmd.t		Test empty pod directives
 cpan/Pod-Parser/t/pod/emptycmd.xr		Expected results for emptycmd.t
+cpan/Pod-Parser/t/pod/empty.xr
 cpan/Pod-Parser/t/pod/find.t			See if Pod::Find works
 cpan/Pod-Parser/t/pod/for.t			Test =for directive
 cpan/Pod-Parser/t/pod/for.xr			Expected results for for.t
@@ -1869,16 +2013,9 @@
 cpan/Pod-Parser/t/pod/nested_seqs.xr		Expected results for nested_seqs.t
 cpan/Pod-Parser/t/pod/oneline_cmds.t		Test single paragraph ==cmds
 cpan/Pod-Parser/t/pod/oneline_cmds.xr		Expected results for oneline_cmds.t
-cpan/Pod-Parser/t/pod/p2u_data.pl		Test Pod::Usage
-cpan/Pod-Parser/t/pod/pod2usage2.t		Test Pod::Usage
-cpan/Pod-Parser/t/pod/pod2usage.t		Test Pod::Usage
-cpan/Pod-Parser/t/pod/pod2usage.xr		Expected results for pod2usage.t
-cpan/Pod-Parser/t/pod/podchkenc.t		Validate =encoding support
-cpan/Pod-Parser/t/pod/podchkenc.xr		Expected results for the above
-cpan/Pod-Parser/t/pod/poderrs.t			Test POD errors
-cpan/Pod-Parser/t/pod/poderrs.xr		Expected results for poderrs.t
 cpan/Pod-Parser/t/pod/podselect.t		Test Pod::Select
 cpan/Pod-Parser/t/pod/podselect.xr		Expected results for podselect.t
+cpan/Pod-Parser/t/pod/selfcheck.t
 cpan/Pod-Parser/t/pod/special_seqs.t		Test "special" interior sequences
 cpan/Pod-Parser/t/pod/special_seqs.xr		Expected results for special_seqs.t
 cpan/Pod-Parser/t/pod/testcmp.pl		Module to compare output against expected results
@@ -1886,8 +2023,26 @@
 cpan/Pod-Parser/t/pod/testpchk.pl		Module to test Pod::Checker for a given file
 cpan/Pod-Parser/t/pod/testpods/lib/Pod/Stuff.pm	Sample data for t/pod/find.t
 cpan/Pod-Parser/t/pod/twice.t			Test Pod::Parser
-cpan/Pod-Parser/t/pod/usage2.pod		Test POD for pod2usage tests
-cpan/Pod-Parser/t/pod/usage.pod			Test POD for pod2usage tests
+cpan/Pod-Perldoc/corpus/no-head.pod		test file for Pod-Perldoc
+cpan/Pod-Perldoc/corpus/perlfunc.pod		test file for Pod-Perldoc
+cpan/Pod-Perldoc/corpus/utf8.pod		test file for Pod-Perldoc
+cpan/Pod-Perldoc/lib/perldoc.pod		Look up Perl documentation in Pod format
+cpan/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm	utility module for perldoc
+cpan/Pod-Perldoc/lib/Pod/Perldoc/GetOptsOO.pm	options parsing for perldoc
+cpan/Pod-Perldoc/lib/Pod/Perldoc.pm		guts of the 'perldoc' utility
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToANSI.pm	convert POD to ANSI text
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToChecker.pm	let perldoc check POD for errors
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm	render POD as man pages
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToNroff.pm	convert POD to nroff
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToPod.pm	convert POD to POD
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToRtf.pm	convert POD to RTF
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTerm.pm	convert POD to terminal output
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToText.pm	convert POD to plain text
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToTk.pm	convert POD via Tk::Pod
+cpan/Pod-Perldoc/lib/Pod/Perldoc/ToXml.pm	convert POD to XML
+cpan/Pod-Perldoc/t/load.t			test file for Pod-Perldoc
+cpan/Pod-Perldoc/t/man/_get_columns.t		test file for Pod-Perldoc
+cpan/Pod-Perldoc/t/pod.t			test file for Pod-Perldoc
 cpan/Pod-Simple/ChangeLog				Pod::Simple ChangeLog
 cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm		Pod::Simple::BlackBox
 cpan/Pod-Simple/lib/Pod/Simple/Checker.pm		check the Pod syntax of a document
@@ -1952,6 +2107,14 @@
 cpan/Pod-Simple/t/corpus/8859_7.xml			Pod::Simple test file
 cpan/Pod-Simple/t/corpus/cp1256.txt			Pod::Simple test file
 cpan/Pod-Simple/t/corpus/cp1256.xml			Pod::Simple test file
+cpan/Pod-Simple/t/corpus/encwarn01.txt			Pod::Simple test file
+cpan/Pod-Simple/t/corpus/encwarn01.xml			Pod::Simple test file
+cpan/Pod-Simple/t/corpus/encwarn02.txt			Pod::Simple test file
+cpan/Pod-Simple/t/corpus/encwarn02.xml			Pod::Simple test file
+cpan/Pod-Simple/t/corpus/encwarn03.txt
+cpan/Pod-Simple/t/corpus/encwarn03.xml
+cpan/Pod-Simple/t/corpus/encwarn04.txt
+cpan/Pod-Simple/t/corpus/encwarn04.xml
 cpan/Pod-Simple/t/corpus/fet_cont.txt			Pod::Simple test file
 cpan/Pod-Simple/t/corpus/fet_cont.xml			Pod::Simple test file
 cpan/Pod-Simple/t/corpus/fet_dup.txt			Pod::Simple test file
@@ -1989,10 +2152,16 @@
 cpan/Pod-Simple/t/corpus.t				Pod::Simple test file
 cpan/Pod-Simple/t/corpus/thai_iso11.txt			Pod::Simple test file
 cpan/Pod-Simple/t/corpus/thai_iso11.xml			Pod::Simple test file
+cpan/Pod-Simple/t/emptylists.t				Pod::Simple test file
+cpan/Pod-Simple/t/enc-chars.t
 cpan/Pod-Simple/t/encod01.t				Pod::Simple test file
 cpan/Pod-Simple/t/encod02.t				Pod::Simple test file
 cpan/Pod-Simple/t/encod03.t				Pod::Simple test file
+cpan/Pod-Simple/t/encod04.t
 cpan/Pod-Simple/t/end_over.t				Pod::Simple test file
+cpan/Pod-Simple/t/eol2.t				Pod::Simple test file
+cpan/Pod-Simple/t/eol.t					Pod::Simple test file
+cpan/Pod-Simple/t/fake-closers.t			Pod::Simple test file
 cpan/Pod-Simple/t/fcodes_e.t				Pod::Simple test file
 cpan/Pod-Simple/t/fcodes_l.t				Pod::Simple test file
 cpan/Pod-Simple/t/fcodes_s.t				Pod::Simple test file
@@ -2061,12 +2230,35 @@
 cpan/Pod-Simple/t/tiedfh.t				Pod::Simple test file
 cpan/Pod-Simple/t/verbatim.t				Pod::Simple test file
 cpan/Pod-Simple/t/verb_fmt.t				Pod::Simple test file
+cpan/Pod-Simple/t/whine.t
 cpan/Pod-Simple/t/xhtml01.t				Pod::Simple test file
 cpan/Pod-Simple/t/xhtml05.t				Pod::Simple test file
 cpan/Pod-Simple/t/xhtml10.t				Pod::Simple test file
+cpan/Pod-Simple/t/xhtml15.t				Pod::Simple test file
+cpan/Pod-Simple/t/xhtml20.t				Pod::Simple test file
+cpan/Pod-Simple/t/xhtml-bkb.t
 cpan/Pod-Simple/t/x_nixer.t				Pod::Simple test file
-cpan/Shell/Shell.pm		Make AUTOLOADed system() calls
-cpan/Shell/t/Shell.t		Tests for above
+cpan/Pod-Usage/lib/Pod/Usage.pm
+cpan/Pod-Usage/scripts/pod2usage.PL
+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/testcmp.pl
+cpan/Pod-Usage/t/pod/testp2pt.pl
+cpan/Pod-Usage/t/pod/usage2.pod
+cpan/Pod-Usage/t/pod/usage.pod
+cpan/Socket/Makefile.PL			Socket extension makefile writer
+cpan/Socket/Socket.pm			Socket extension Perl module
+cpan/Socket/Socket.xs			Socket extension external subroutines
+cpan/Socket/t/getaddrinfo.t		See if Socket::getaddrinfo works
+cpan/Socket/t/getnameinfo.t		See if Socket::getnameinfo works
+cpan/Socket/t/ip_mreq.t			See if (un)pack_ip_mreq work
+cpan/Socket/t/ipv6_mreq.t		See if (un)pack_ipv6_mreq work
+cpan/Socket/t/sockaddr.t
+cpan/Socket/t/socketpair.t		See if socketpair works
+cpan/Socket/t/Socket.t			See if Socket works
+cpan/Socket/typemap
 cpan/Sys-Syslog/Changes			Changelog for Sys::Syslog
 cpan/Sys-Syslog/fallback/const-c.inc	Sys::Syslog constants fallback file
 cpan/Sys-Syslog/fallback/const-xs.inc	Sys::Syslog constants fallback file
@@ -2078,6 +2270,7 @@
 cpan/Sys-Syslog/Syslog.xs		Sys::Syslog extension external subroutines
 cpan/Sys-Syslog/t/00-load.t		test for Sys::Syslog
 cpan/Sys-Syslog/t/constants.t		test for Sys::Syslog
+cpan/Sys-Syslog/t/facilities-routing.t	test for Sys::Syslog
 cpan/Sys-Syslog/t/syslog.t		See if Sys::Syslog works
 cpan/Sys-Syslog/win32/compile.pl	Sys::Syslog extension Win32 related file
 cpan/Sys-Syslog/win32/PerlLog_dll.uu	Sys::Syslog extension Win32 related file
@@ -2087,7 +2280,12 @@
 cpan/Term-ANSIColor/ANSIColor.pm	Perl module supporting termcap usage
 cpan/Term-ANSIColor/ChangeLog		Term::ANSIColor
 cpan/Term-ANSIColor/README		Term::ANSIColor
+cpan/Term-ANSIColor/t/aliases-func.t
+cpan/Term-ANSIColor/t/basic256.t
 cpan/Term-ANSIColor/t/basic.t		Tests for Term::ANSIColor
+cpan/Term-ANSIColor/t/eval.t
+cpan/Term-ANSIColor/t/stringify.t		Tests for Term::ANSIColor
+cpan/Term-ANSIColor/t/taint.t
 cpan/Term-Cap/Cap.pm			Perl module supporting termcap usage
 cpan/Term-Cap/test.pl			See if Term::Cap works
 cpan/Term-UI/lib/Term/UI/History.pm	Term::UI
@@ -2153,6 +2351,7 @@
 cpan/Test-Harness/t/bailout.t				Test::Harness test
 cpan/Test-Harness/t/base.t				Test::Harness test
 cpan/Test-Harness/t/callbacks.t				Test::Harness test
+cpan/Test-Harness/t/compat/env_opts.t			Test::Harness test
 cpan/Test-Harness/t/compat/env.t			Test::Harness test
 cpan/Test-Harness/t/compat/failure.t			Test::Harness test
 cpan/Test-Harness/t/compat/inc-propagation.t		Test::Harness test
@@ -2197,6 +2396,7 @@
 cpan/Test-Harness/t/nested.t				Test::Harness test
 cpan/Test-Harness/t/nofork-mux.t			Test::Harness test
 cpan/Test-Harness/t/nofork.t				Test::Harness test
+cpan/Test-Harness/t/nowarn.t
 cpan/Test-Harness/t/object.t				Test::Harness test
 cpan/Test-Harness/t/parser-config.t			Test::Harness test
 cpan/Test-Harness/t/parser-subclass.t			Test::Harness test
@@ -2480,48 +2680,11 @@
 cpan/Text-Tabs/t/Jochen.t		See if Text::Tabs is working
 cpan/Text-Tabs/t/sep2.t			See if Text::Tabs is working
 cpan/Text-Tabs/t/sep.t			See if Text::Tabs is working
+cpan/Text-Tabs/t/Tabs-ElCid.t		See if Text::Tabs works
 cpan/Text-Tabs/t/tabs.t			See if Text::Tabs works
+cpan/Text-Tabs/t/Wrap-JLB.t		See if Text::Wrap::wrap works
 cpan/Text-Tabs/t/wrap_separator2.t	See if Text::Wrap::wrap works
 cpan/Text-Tabs/t/wrap.t			See if Text::Wrap::wrap works
-cpan/Tie-File/lib/Tie/File.pm		Files as tied arrays
-cpan/Tie-File/t/00_version.t		Trivial test for Tie::File
-cpan/Tie-File/t/01_gen.t		Generic read/write tests for Tie::File
-cpan/Tie-File/t/02_fetchsize.t		File length fetch test for Tie::File
-cpan/Tie-File/t/03_longfetch.t		Past-the-end-of-the-array tests for Tie::File
-cpan/Tie-File/t/04_splice.t		SPLICE method tests for Tie::File
-cpan/Tie-File/t/05_size.t		$#a tests for Tie::File
-cpan/Tie-File/t/06_fixrec.t		'_fixrec' method functional tests for Tie::File
-cpan/Tie-File/t/07_rv_splice.t		SPLICE method return value tests for Tie::File
-cpan/Tie-File/t/08_ro.t			read-only mode tests for Tie::File
-cpan/Tie-File/t/09_gen_rs.t		Like 01_gen.t, with unusual record separator
-cpan/Tie-File/t/10_splice_rs.t		Like 04_splice.t, with unusual record separator
-cpan/Tie-File/t/11_rv_splice_rs.t	Like 07_rv_splice.t, with unusual record separator
-cpan/Tie-File/t/12_longfetch_rs.t	Like 03_longfetch.t, with unusual record separator
-cpan/Tie-File/t/13_size_rs.t		Like 05_size.t, with unusual record separator
-cpan/Tie-File/t/14_lock.t		File locking method tests for Tie::File
-cpan/Tie-File/t/15_pushpop.t		PUSH / POP / SHIFT / UNSHIFT for Tie::File
-cpan/Tie-File/t/16_handle.t		Tying a handle instead of a file for Tie::File
-cpan/Tie-File/t/17_misc_meth.t		CLEAR / EXISTS / DELETE / EXTEND for Tie::File
-cpan/Tie-File/t/18_rs_fixrec.t		Like 06_fixrec.t, with unusual record separator
-cpan/Tie-File/t/19_cache.t		Read cache exercises and regression for Tie::File
-cpan/Tie-File/t/20_cache_full.t		LRU expiry exercises and regression for Tie::File
-cpan/Tie-File/t/21_win32.t		Win32 special behavior of Tie::File
-cpan/Tie-File/t/22_autochomp.t		'autochomp' option of Tie::File
-cpan/Tie-File/t/23_rv_ac_splice.t	Like 07_rv_splice.t, but with autochomp
-cpan/Tie-File/t/24_cache_loop.t		Regression for old Tie::File cache bug
-cpan/Tie-File/t/25_gen_nocache.t	Like 01_gen.t, but with caching disabled
-cpan/Tie-File/t/26_twrite.t		Unit tests for Tie::File::_twrite
-cpan/Tie-File/t/27_iwrite.t		Unit tests for Tie::File::_iwrite
-cpan/Tie-File/t/28_mtwrite.t		Unit tests for Tie::File::_mtwrite
-cpan/Tie-File/t/29a_upcopy.t		Unit tests for Tie::File::_upcopy
-cpan/Tie-File/t/29_downcopy.t		Unit tests for Tie::File::_downcopy
-cpan/Tie-File/t/30_defer.t		deferred writing feature tests for Tie::File
-cpan/Tie-File/t/31_autodefer.t		'autodefer' feature tests for Tie::File
-cpan/Tie-File/t/32_defer_misc.t		Like 17_misc_meth.t, but with deferred writing
-cpan/Tie-File/t/33_defer_vs.t		Like 30_defer.t, but with varying-length records
-cpan/Tie-File/t/40_abs_cache.t		Unit tests for Tie::File::Cache
-cpan/Tie-File/t/41_heap.t		Unit tests for Tie::File::Heap
-cpan/Tie-File/t/42_offset.t		Unit tests for the offset method
 cpan/Tie-RefHash/lib/Tie/RefHash.pm		Base class for tied hashes with references as keys
 cpan/Tie-RefHash/t/rebless.t	Test for Tie::RefHash with rebless
 cpan/Tie-RefHash/t/refhash.t	Test for Tie::RefHash and Tie::RefHash::Nestable
@@ -2541,7 +2704,18 @@
 cpan/Time-HiRes/HiRes.pm		Time::HiRes extension
 cpan/Time-HiRes/HiRes.xs		Time::HiRes extension
 cpan/Time-HiRes/Makefile.PL		Time::HiRes extension
-cpan/Time-HiRes/t/HiRes.t		Test for Time::HiRes
+cpan/Time-HiRes/t/alarm.t		Test for Time::HiRes
+cpan/Time-HiRes/t/clock.t		Test for Time::HiRes
+cpan/Time-HiRes/t/gettimeofday.t	Test for Time::HiRes
+cpan/Time-HiRes/t/itimer.t		Test for Time::HiRes
+cpan/Time-HiRes/t/nanosleep.t		Test for Time::HiRes
+cpan/Time-HiRes/t/sleep.t		Test for Time::HiRes
+cpan/Time-HiRes/t/stat.t		Test for Time::HiRes
+cpan/Time-HiRes/t/time.t		Test for Time::HiRes
+cpan/Time-HiRes/t/tv_interval.t		Test for Time::HiRes
+cpan/Time-HiRes/t/ualarm.t		Test for Time::HiRes
+cpan/Time-HiRes/t/usleep.t		Test for Time::HiRes
+cpan/Time-HiRes/t/Watchdog.pm		Test for Time::HiRes
 cpan/Time-HiRes/typemap			Time::HiRes extension
 cpan/Time-Local/lib/Time/Local.pm	Reverse translation of localtime, gmtime
 cpan/Time-Local/t/Local.t		See if Time::Local works
@@ -2566,25 +2740,35 @@
 cpan/Unicode-Collate/Collate/CJK/Korean.pm			Unicode::Collate
 cpan/Unicode-Collate/Collate/CJK/Pinyin.pm			Unicode::Collate
 cpan/Unicode-Collate/Collate/CJK/Stroke.pm			Unicode::Collate
+cpan/Unicode-Collate/Collate/CJK/Zhuyin.pm
 cpan/Unicode-Collate/Collate/keys.txt		Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/af.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ar.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/as.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/az.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/be.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/bg.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/bn.pl		Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ca.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/cs.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/cy.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/da.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/de_phone.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ee.pl
 cpan/Unicode-Collate/Collate/Locale/eo.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/es.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/es_trad.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/et.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/fa.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fil.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/fi_phone.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fi.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fo.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/fr.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/gu.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ha.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/haw.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/hi.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/hr.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/hu.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/hy.pl			Unicode::Collate
@@ -2593,29 +2777,46 @@
 cpan/Unicode-Collate/Collate/Locale/ja.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/kk.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/kl.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/kn.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/kok.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ko.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ln.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/lt.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/lv.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/mk.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ml.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/mr.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/mt.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/nb.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/nn.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/nso.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/om.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/or.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/pa.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/pl.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale.pm			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ro.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/ru.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/sa.pl		Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/se.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/si_dict.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/si.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/sk.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/sl.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/sq.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/sr.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/sv.pl			Unicode::Collate
-cpan/Unicode-Collate/Collate/Locale/sw.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/sv_refo.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ta.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/te.pl	Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/th.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/tn.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/to.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/tr.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/uk.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/ur.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/vi.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/wae.pl	Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/wo.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/yo.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/zh_big5.pl			Unicode::Collate
@@ -2623,6 +2824,7 @@
 cpan/Unicode-Collate/Collate/Locale/zh_pin.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/zh.pl			Unicode::Collate
 cpan/Unicode-Collate/Collate/Locale/zh_strk.pl			Unicode::Collate
+cpan/Unicode-Collate/Collate/Locale/zh_zhu.pl
 cpan/Unicode-Collate/Collate.pm			Unicode::Collate
 cpan/Unicode-Collate/Collate.xs			Unicode::Collate
 cpan/Unicode-Collate/Makefile.PL			Unicode::Collate
@@ -2637,11 +2839,14 @@
 cpan/Unicode-Collate/t/cjk_py.t		Unicode::Collate
 cpan/Unicode-Collate/t/cjkrange.t		Unicode::Collate
 cpan/Unicode-Collate/t/cjk_st.t		Unicode::Collate
+cpan/Unicode-Collate/t/cjk_zy.t
 cpan/Unicode-Collate/t/compatui.t		Unicode::Collate
 cpan/Unicode-Collate/t/contract.t		Unicode::Collate
 cpan/Unicode-Collate/t/default.t		Unicode::Collate
 cpan/Unicode-Collate/t/hangtype.t		Unicode::Collate
 cpan/Unicode-Collate/t/hangul.t			Unicode::Collate
+cpan/Unicode-Collate/t/ident.t
+cpan/Unicode-Collate/t/iglevel2.t			Unicode::Collate
 cpan/Unicode-Collate/t/ignor.t			Unicode::Collate
 cpan/Unicode-Collate/t/illegalp.t		Unicode::Collate
 cpan/Unicode-Collate/t/illegal.t		Unicode::Collate
@@ -2648,10 +2853,16 @@
 cpan/Unicode-Collate/t/index.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_af.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_ar.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_as.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_az.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_be.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_bg.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_bn.t		Unicode::Collate
+cpan/Unicode-Collate/t/loc_bscy.t
+cpan/Unicode-Collate/t/loc_bs.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_ca.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_cjkc.t		Unicode::Collate
+cpan/Unicode-Collate/t/loc_cjk.t		Unicode::Collate
 cpan/Unicode-Collate/t/loc_cs.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_cyrl.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_cy.t			Unicode::Collate
@@ -2658,16 +2869,21 @@
 cpan/Unicode-Collate/t/loc_da.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_deph.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_de.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_ee.t
 cpan/Unicode-Collate/t/loc_eo.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_es.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_estr.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_et.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_fa.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_fil.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_fiph.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_fi.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_fo.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_fr.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_gu.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_ha.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_haw.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_hi.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_hr.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_hu.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_hy.t			Unicode::Collate
@@ -2678,31 +2894,48 @@
 cpan/Unicode-Collate/t/loc_ja.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_kk.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_kl.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_kn.t	Unicode::Collate
+cpan/Unicode-Collate/t/loc_kok.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_ko.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_ln.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_lt.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_lv.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_mk.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_ml.t	Unicode::Collate
+cpan/Unicode-Collate/t/loc_mr.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_mt.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_nb.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_nn.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_nso.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_om.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_or.t	Unicode::Collate
+cpan/Unicode-Collate/t/loc_pa.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_pl.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_ro.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_ru.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_sa.t		Unicode::Collate
 cpan/Unicode-Collate/t/loc_se.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_sidt.t	Unicode::Collate
+cpan/Unicode-Collate/t/loc_si.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_sk.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_sl.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_sq.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_srla.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_sr.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_svrf.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_sv.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_sw.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_ta.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_test.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_te.t	Unicode::Collate
+cpan/Unicode-Collate/t/loc_th.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_tn.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_to.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_tr.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_uk.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_ur.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_vi.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_wae.t	Unicode::Collate
 cpan/Unicode-Collate/t/loc_wo.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_yo.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_zhb5.t			Unicode::Collate
@@ -2710,12 +2943,15 @@
 cpan/Unicode-Collate/t/loc_zhpy.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_zhst.t			Unicode::Collate
 cpan/Unicode-Collate/t/loc_zh.t			Unicode::Collate
+cpan/Unicode-Collate/t/loc_zhzy.t
 cpan/Unicode-Collate/t/nonchar.t			Unicode::Collate
 cpan/Unicode-Collate/t/normal.t			Unicode::Collate
+cpan/Unicode-Collate/t/notable.t
 cpan/Unicode-Collate/t/overcjk0.t		Unicode::Collate
 cpan/Unicode-Collate/t/overcjk1.t		Unicode::Collate
 cpan/Unicode-Collate/t/override.t		Unicode::Collate
 cpan/Unicode-Collate/t/rearrang.t		Unicode::Collate
+cpan/Unicode-Collate/t/rewrite.t			Unicode::Collate
 cpan/Unicode-Collate/t/test.t			Unicode::Collate
 cpan/Unicode-Collate/t/trailwt.t		Unicode::Collate
 cpan/Unicode-Collate/t/variable.t		Unicode::Collate
@@ -2739,13 +2975,6 @@
 cpan/Unicode-Normalize/t/split.t	Unicode::Normalize
 cpan/Unicode-Normalize/t/test.t		Unicode::Normalize
 cpan/Unicode-Normalize/t/tie.t		Unicode::Normalize
-cpan/Version-Requirements/Changes
-cpan/Version-Requirements/lib/Version/Requirements.pm
-cpan/Version-Requirements/t/accepts.t
-cpan/Version-Requirements/t/basic.t
-cpan/Version-Requirements/t/finalize.t
-cpan/Version-Requirements/t/from-hash.t
-cpan/Version-Requirements/t/merge.t
 cpan/Win32API-File/buffers.h	Win32API::File extension
 cpan/Win32API-File/cFile.h	Win32API::File extension
 cpan/Win32API-File/cFile.pc	Win32API::File extension
@@ -2762,6 +2991,7 @@
 cpan/Win32/Changes			Changes for Win32 extension module
 cpan/Win32/longpath.inc			Win32 extension long path support
 cpan/Win32/Makefile.PL			Win32 extension makefile writer
+cpan/Win32/t/CodePage.t			See if Win32 extension works
 cpan/Win32/t/CreateFile.t		See if Win32 extension works
 cpan/Win32/t/ExpandEnvironmentStrings.t	See if Win32 extension works
 cpan/Win32/t/GetCurrentThreadId.t	See if Win32 extension works
@@ -2810,7 +3040,6 @@
 dist/Attribute-Handlers/demo/Descriptions.pm		Attribute::Handlers demo
 dist/Attribute-Handlers/demo/MyClass.pm			Attribute::Handlers demo
 dist/Attribute-Handlers/lib/Attribute/Handlers.pm	Attribute::Handlers
-dist/Attribute-Handlers/README				Attribute::Handlers
 dist/Attribute-Handlers/t/constants.t			Test constants and Attribute::Handlers
 dist/Attribute-Handlers/t/data_convert.t		Test attribute data conversion
 dist/Attribute-Handlers/t/linerep.t			See if Attribute::Handlers works
@@ -2817,6 +3046,7 @@
 dist/Attribute-Handlers/t/multi.t			See if Attribute::Handlers works
 dist/autouse/lib/autouse.pm		Load and call a function only when it's used
 dist/autouse/t/autouse.t		See if autouse works
+dist/autouse/t/lib/MyTestModule2.pm	Test module for autouse
 dist/autouse/t/lib/MyTestModule.pm	Test module for autouse
 dist/base/Changes		base.pm changelog
 dist/base/lib/base.pm		Establish IS-A relationship at compile time
@@ -2836,6 +3066,7 @@
 dist/base/t/version.t		See if base works with versions
 dist/base/t/warnings.t		See if base works with warnings
 dist/B-Deparse/Deparse.pm	Compiler Deparse backend
+dist/B-Deparse/t/core.t		See if B::Deparse knows when to use CORE::
 dist/B-Deparse/t/deparse.t	See if B::Deparse works
 dist/bignum/lib/bigint.pm		bigint
 dist/bignum/lib/bignum.pm		bignum
@@ -2859,14 +3090,21 @@
 dist/bignum/t/option_a.t		See if bignum a => X works
 dist/bignum/t/option_l.t		See if bignum l => X works
 dist/bignum/t/option_p.t		See if bignum p => X works
+dist/bignum/t/overrides.t		See if global overrides behave
 dist/bignum/t/ratopt_a.t		See if bigrat a => X works
 dist/bignum/t/scope_f.t			See if no bignum works
 dist/bignum/t/scope_i.t			See if no bigint works
 dist/bignum/t/scope_r.t			See if no bigrat works
-dist/B-Lint/lib/B/Lint/Debug.pm			Adds debugging stringification to B::
-dist/B-Lint/lib/B/Lint.pm			Compiler Lint backend
-dist/B-Lint/t/lint.t				See if B::Lint works
-dist/B-Lint/t/pluglib/B/Lint/Plugin/Test.pm	See if B::Lint works
+dist/Carp/lib/Carp/Heavy.pm	Error message retired workhorse
+dist/Carp/lib/Carp.pm		Error message extension
+dist/Carp/Makefile.PL		makefile writer for Carp
+dist/Carp/t/Carp.t		See if Carp works
+dist/Carp/t/heavy.t		See if Carp::Heavy works
+dist/Carp/t/stash_deletion.t		See if Carp handles stash deletion
+dist/Carp/t/swash.t		See if Carp avoids breaking swash loading
+dist/Carp/t/vivify_gv.t		See if Carp leaves utf8:: stuff alone
+dist/Carp/t/vivify_stash.t		See if Carp leaves utf8:: stash alone
+dist/Carp/t/with_warnings.t		See if Carp plays nicely with warnings
 dist/constant/lib/constant.pm	For "use constant"
 dist/constant/t/constant.t	See if compile-time constants work
 dist/constant/t/utf8.t		Test Unicode constants under utf8 pragma
@@ -2886,6 +3124,7 @@
 dist/Cwd/t/Functions.t			See if File::Spec::Functions works
 dist/Cwd/t/rel2abs2rel.t		See if File::Spec->rel2abs/abs2rel works
 dist/Cwd/t/Spec.t			See if File::Spec works
+dist/Cwd/t/Spec-taint.t			See if File::Spec works with taint
 dist/Cwd/t/taint.t			See if Cwd works with taint
 dist/Cwd/t/tmpdir.t			See if File::Spec->tmpdir() works
 dist/Cwd/t/win32.t			See if Cwd works on Win32
@@ -2893,14 +3132,30 @@
 dist/Data-Dumper/Dumper.pm	Data pretty printer, module
 dist/Data-Dumper/Dumper.xs	Data pretty printer, externals
 dist/Data-Dumper/t/bless.t	See if Data::Dumper works
+dist/Data-Dumper/t/bless_var_method.t	See if Data::Dumper::Bless works
 dist/Data-Dumper/t/bugs.t	See if Data::Dumper works
+dist/Data-Dumper/t/deparse.t	See if Data::Dumper::Deparse works
 dist/Data-Dumper/t/dumper.t	See if Data::Dumper works
-dist/Data-Dumper/t/freezer.t	See if $Data::Dumper::Freezer works
+dist/Data-Dumper/t/dumpperl.t	See if Data::Dumper::Dumpperl works
+dist/Data-Dumper/t/freezer.t	See if Data::Dumper::Freezer works
+dist/Data-Dumper/t/freezer_useperl.t	See if Data::Dumper works
+dist/Data-Dumper/t/indent.t	See if Data::Dumper::Indent works
+dist/Data-Dumper/t/lib/Testing.pm	Functions used in testing Data-Dumper
+dist/Data-Dumper/t/misc.t	Miscellaneous tests for Data-Dumper
+dist/Data-Dumper/t/names.t	See if Data::Dumper::Names works
 dist/Data-Dumper/Todo		Data pretty printer, futures
 dist/Data-Dumper/t/overload.t	See if Data::Dumper works for overloaded data
 dist/Data-Dumper/t/pair.t	See if Data::Dumper pair separator works
 dist/Data-Dumper/t/perl-74170.t	Regression test for stack reallocation
+dist/Data-Dumper/t/purity_deepcopy_maxdepth.t	See if three Data::Dumper functions work
+dist/Data-Dumper/t/qr.t		See if Data::Dumper works with qr|/|
+dist/Data-Dumper/t/quotekeys.t	See if Data::Dumper::Quotekeys works
+dist/Data-Dumper/t/seen.t	See if Data::Dumper::Seen works
+dist/Data-Dumper/t/sortkeys.t	See if Data::Dumper::Sortkeys works
+dist/Data-Dumper/t/sparseseen.t	See if Data::Dumper::Sparseseen works
 dist/Data-Dumper/t/terse.t	See if Data::Dumper terse option works
+dist/Data-Dumper/t/toaster.t	See if Data::Dumper::Toaster works
+dist/Data-Dumper/t/values.t	See if Data::Dumper::Values works
 dist/Devel-SelfStubber/lib/Devel/SelfStubber.pm	Generate stubs for SelfLoader.pm
 dist/Devel-SelfStubber/t/Devel-SelfStubber.t	See if Devel::SelfStubber works
 dist/Dumpvalue/lib/Dumpvalue.pm	Screen dump of perl values
@@ -2908,6 +3163,7 @@
 dist/Env/lib/Env.pm		Map environment into ordinary variables
 dist/Env/t/array.t		See if Env works for arrays
 dist/Env/t/env.t		See if Env works
+dist/ExtUtils-CBuilder/Changes		EU-CB change log
 dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm		Base class for ExtUtils::CBuilder methods
 dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm	CBuilder methods for AIX
 dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm	CBuilder methods for cygwin
@@ -2921,6 +3177,10 @@
 dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm	CBuilder methods for Windows
 dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm	CBuilder methods for Windows
 dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm			Compile and link C code for Perl modules
+dist/ExtUtils-CBuilder/LICENSE		EU-CB license
+dist/ExtUtils-CBuilder/Makefile.PL		EU-CB configuration script
+dist/ExtUtils-CBuilder/README.patching		EU-CB patching nstructions
+dist/ExtUtils-CBuilder/README.release		EU-CB release instructions
 dist/ExtUtils-CBuilder/t/00-have-compiler.t			ExtUtils::CBuilder tests
 dist/ExtUtils-CBuilder/t/01-basic.t				tests for ExtUtils::CBuilder
 dist/ExtUtils-CBuilder/t/02-link.t				tests for ExtUtils::CBuilder
@@ -2946,28 +3206,77 @@
 dist/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm			Utilities to write MANIFEST files
 dist/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP		The default MANIFEST.SKIP
 dist/ExtUtils-Manifest/t/Manifest.t				See if ExtUtils::Manifest works
-dist/ExtUtils-ParseXS/Changes			ExtUtils::ParseXS change log
-dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm	converts Perl XS code into C code
-dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp	External subroutine preprocessor
-dist/ExtUtils-ParseXS/t/basic.t			See if ExtUtils::ParseXS works
-dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm	ExtUtils::ParseXS testing utility
-dist/ExtUtils-ParseXS/t/more.t			Extended ExtUtils::ParseXS testing
-dist/ExtUtils-ParseXS/t/typemap			Standard typemap for controlled testing
-dist/ExtUtils-ParseXS/t/usage.t			ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSInclude.xsh		Test file for ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSMore.xs		Test file for ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSTest.pm		Test file for ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSTest.xs		Test file for ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSUsage.pm		ExtUtils::ParseXS tests
-dist/ExtUtils-ParseXS/t/XSUsage.xs		ExtUtils::ParseXS tests
-dist/File-CheckTree/lib/File/CheckTree.pm	Perl module supporting wholesale file mode validation
-dist/File-CheckTree/t/CheckTree.t		See if File::CheckTree works
+dist/ExtUtils-ParseXS/Changes					ExtUtils::ParseXS change log
+dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Constants.pm		ExtUtils::ParseXS guts
+dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/CountLines.pm	ExtUtils::ParseXS guts
+dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm			converts Perl XS code into C code
+dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pod			ExtUtils::ParseXS documentation
+dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS/Utilities.pm		ExtUtils::ParseXS guts
+dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Cmd.pm		ExtUtils::Typemaps helper module
+dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/InputMap.pm		ExtUtils::Typemaps guts
+dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/OutputMap.pm	ExtUtils::Typemaps guts
+dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps.pm			ExtUtils::Typemaps, a PXS helper
+dist/ExtUtils-ParseXS/lib/ExtUtils/Typemaps/Type.pm		ExtUtils::Typemaps guts
+dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp			External subroutine preprocessor
+dist/ExtUtils-ParseXS/lib/perlxs.pod				Perl XS application programming interface
+dist/ExtUtils-ParseXS/lib/perlxstut.pod				Perl XS tutorial
+dist/ExtUtils-ParseXS/lib/perlxstypemap.pod			Perl XS C/Perl type conversion tools
+dist/ExtUtils-ParseXS/t/001-basic.t				See if ExtUtils::ParseXS works
+dist/ExtUtils-ParseXS/t/002-more.t				Extended ExtUtils::ParseXS testing
+dist/ExtUtils-ParseXS/t/003-usage.t				ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/004-nolinenumbers.t			ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/101-standard_typemap_locations.t	ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/102-trim_whitespace.t			ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/103-tidy_type.t				ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/104-map_type.t				ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/105-valid_proto_string.t		ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/106-process_typemaps.t			ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/107-make_targetable.t			ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/108-map_type.t				ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/109-standard_XS_defs.t			ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/110-assign_func_args.t			ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/111-analyze_preprocessor_statements.t	ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/112-set_cond.t				ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/113-check_cond_preproc_statements.t	ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/114-blurt_death_Warn.t			ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/115-avoid-noise.t			ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/501-t-compile.t				ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/510-t-bare.t				ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/511-t-whitespace.t			ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/512-t-file.t				ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/513-t-merge.t				ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/514-t-embed.t				ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/515-t-cmd.t				ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/600-t-compat.t				ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/data/b.typemap				ExtUtils::Typemaps test data
+dist/ExtUtils-ParseXS/t/data/combined.typemap			ExtUtils::Typemaps test data
+dist/ExtUtils-ParseXS/t/data/conflicting.typemap		ExtUtils::Typemaps test data
+dist/ExtUtils-ParseXS/t/data/confl_repl.typemap			ExtUtils::Typemaps test data
+dist/ExtUtils-ParseXS/t/data/confl_skip.typemap			ExtUtils::Typemaps test data
+dist/ExtUtils-ParseXS/t/data/other.typemap			ExtUtils::Typemaps test data
+dist/ExtUtils-ParseXS/t/data/perl.typemap			ExtUtils::Typemaps test data
+dist/ExtUtils-ParseXS/t/data/simple.typemap			ExtUtils::Typemaps test data
+dist/ExtUtils-ParseXS/t/lib/ExtUtils/Typemaps/Test.pm		ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm			ExtUtils::ParseXS testing utility
+dist/ExtUtils-ParseXS/t/lib/PrimitiveCapture.pm			Primitive STDOUT/ERR capturing for tests
+dist/ExtUtils-ParseXS/t/lib/TypemapTest/Foo.pm			ExtUtils::Typemaps tests
+dist/ExtUtils-ParseXS/t/pseudotypemap1				A test-typemap
+dist/ExtUtils-ParseXS/t/typemap					Standard typemap for controlled testing
+dist/ExtUtils-ParseXS/t/XSInclude.xsh				Test file for ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSMore.xs				Test file for ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSTest.pm				Test file for ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSTest.xs				Test file for ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSUsage.pm				ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSUsage.xs				ExtUtils::ParseXS tests
+dist/ExtUtils-ParseXS/t/XSWarn.xs				ExtUtils::ParseXS tests
 dist/Filter-Simple/lib/Filter/Simple.pm				Simple frontend to Filter::Util::Call
+dist/Filter-Simple/t/code_no_comments.t				See if Filter::Simple works
 dist/Filter-Simple/t/data.t					See if Filter::Simple works
 dist/Filter-Simple/t/export.t					See if Filter::Simple works
 dist/Filter-Simple/t/filter_only.t				See if Filter::Simple works
 dist/Filter-Simple/t/filter.t					See if Filter::Simple works
 dist/Filter-Simple/t/import.t					See if Filter::Simple works
+dist/Filter-Simple/t/lib/Filter/Simple/CodeNoComments.pm	Helper file for Filter::Simple tests
 dist/Filter-Simple/t/lib/Filter/Simple/ExportTest.pm		Helper file for Filter::Simple tests
 dist/Filter-Simple/t/lib/Filter/Simple/FilterOnlyTest.pm	Helper file for Filter::Simple tests
 dist/Filter-Simple/t/lib/Filter/Simple/FilterTest.pm		Helper file for Filter::Simple tests
@@ -3007,6 +3316,9 @@
 dist/IO/poll.c			IO poll() emulation using select()
 dist/IO/poll.h			IO poll() emulation using select()
 dist/IO/README			IO extension maintenance notice
+dist/IO/t/cachepropagate-tcp.t	See if IO::Socket duplication works
+dist/IO/t/cachepropagate-udp.t	See if IO::Socket duplication works
+dist/IO/t/cachepropagate-unix.t	See if IO::Socket duplication works
 dist/IO/t/io_const.t		See if constants from IO work
 dist/IO/t/io_dir.t		See if directory-related methods from IO work
 dist/IO/t/io_dup.t		See if dup()-related methods from IO work
@@ -3023,6 +3335,7 @@
 dist/IO/t/io_tell.t		See if seek()/tell()-related methods from IO work
 dist/IO/t/io_udp.t		See if UDP socket-related methods from IO work
 dist/IO/t/io_unix.t		See if UNIX socket-related methods from IO work
+dist/IO/t/io_utf8argv.t		See if <> respects open pragma
 dist/IO/t/io_utf8.t		See if perlio opens work
 dist/IO/t/io_xs.t		See if XSUB methods from IO work
 dist/lib/lib_pm.PL		For "use lib", produces lib/lib.pm
@@ -3098,6 +3411,7 @@
 dist/Math-BigInt/t/req_mbfw.t		require Math::BigFloat; import ( with => );
 dist/Math-BigInt/t/require.t		Test if require Math::BigInt works
 dist/Math-BigInt/t/round.t		Test rounding with non-integer A and P
+dist/Math-BigInt/t/rt-16221.t		Tests for objectify() w/foreign objs
 dist/Math-BigInt/t/sub_ali.t		Tests for aliases in BigInt subclasses
 dist/Math-BigInt/t/sub_mbf.t		Empty subclass test of BigFloat
 dist/Math-BigInt/t/sub_mbi.t		Empty subclass test of BigInt
@@ -3133,6 +3447,9 @@
 dist/Module-CoreList/corelist			The corelist command-line utility
 dist/Module-CoreList/identify-dependencies	A usage example for Module::CoreList
 dist/Module-CoreList/lib/Module/CoreList.pm	Module::CoreList
+dist/Module-CoreList/lib/Module/CoreList.pod	Module::CoreList
+dist/Module-CoreList/lib/Module/CoreList/TieHashDelta.pm	Module::CoreList guts
+dist/Module-CoreList/lib/Module/CoreList/Utils.pm	Module::CoreList guts
 dist/Module-CoreList/Makefile.PL		Module::CoreList
 dist/Module-CoreList/MANIFEST			Module::CoreList
 dist/Module-CoreList/README			Module::CoreList
@@ -3140,6 +3457,7 @@
 dist/Module-CoreList/t/deprecated.t		Module::CoreList tests
 dist/Module-CoreList/t/find_modules.t		Module::CoreList tests
 dist/Module-CoreList/t/pod.t			Module::CoreList tests
+dist/Module-CoreList/t/utils.t			Module::CoreList tests
 dist/Net-Ping/Changes			Net::Ping
 dist/Net-Ping/lib/Net/Ping.pm		Hello, anybody home?
 dist/Net-Ping/t/100_load.t		Ping Net::Ping
@@ -3157,21 +3475,7 @@
 dist/Net-Ping/t/450_service.t		Ping Net::Ping
 dist/Net-Ping/t/500_ping_icmp.t		Ping Net::Ping
 dist/Net-Ping/t/510_ping_udp.t		Ping Net::Ping
-dist/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm	utility module for perldoc
-dist/Pod-Perldoc/lib/Pod/Perldoc/GetOptsOO.pm	options parsing for perldoc
-dist/Pod-Perldoc/lib/Pod/Perldoc.pm		guts of the 'perldoc' utility
-dist/Pod-Perldoc/lib/Pod/Perldoc/ToChecker.pm	let perldoc check POD for errors
-dist/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm	render POD as man pages
-dist/Pod-Perldoc/lib/Pod/Perldoc/ToNroff.pm	convert POD to nroff
-dist/Pod-Perldoc/lib/Pod/Perldoc/ToPod.pm	convert POD to POD
-dist/Pod-Perldoc/lib/Pod/Perldoc/ToRtf.pm	convert POD to RTF
-dist/Pod-Perldoc/lib/Pod/Perldoc/ToText.pm	convert POD to plain text
-dist/Pod-Perldoc/lib/Pod/Perldoc/ToTk.pm	convert POD via Tk::Pod
-dist/Pod-Perldoc/lib/Pod/Perldoc/ToXml.pm	convert POD to XML
-dist/Pod-Perldoc/t/01_about_verbose.t		test Pod::Perldoc
-dist/Pod-Perldoc/t/checkerbasic.t		test Pod::Perldoc::ToChecker
-dist/Pod-Perldoc/t/perldocbasic.t		test Pod::Perldoc basic operation
-dist/Pod-Perldoc/t/textbasic.t			test Pod::Perldoc::ToText
+dist/Net-Ping/t/520_icmp_ttl.t		Ping Net::Ping
 dist/Safe/Changes		Changes for Safe.pm
 dist/Safe/Makefile.PL		Makefile.PL for Safe.pm
 dist/Safe/MANIFEST		MANIFEST for Safe.pm
@@ -3182,11 +3486,19 @@
 dist/Safe/t/safe2.t		See if Safe works
 dist/Safe/t/safe3.t		See if Safe works
 dist/Safe/t/safeload.t		Tests that some modules can be loaded by Safe
+dist/Safe/t/safenamedcap.t	Tests that Tie::Hash::NamedCapture can be loaded
 dist/Safe/t/safeops.t		Tests that all ops can be trapped by Safe
+dist/Safe/t/saferegexp.t
 dist/Safe/t/safesort.t		Tests Safe with sort
 dist/Safe/t/safeuniversal.t	Tests Safe with functions from universal.c
 dist/Safe/t/safeutf8.t		Tests Safe with utf8.pm
 dist/Safe/t/safewrap.t		Tests Safe::wrap_code_ref()
+dist/Search-Dict/Changes		Change log
+dist/Search-Dict/lib/Search/Dict.pm	Perform binary search on dictionaries
+dist/Search-Dict/Makefile.PL		Makefile.PL
+dist/Search-Dict/README.patching	Patch instructions
+dist/Search-Dict/README.release		Release instructions
+dist/Search-Dict/t/Dict.t		See if Search::Dict works
 dist/SelfLoader/lib/SelfLoader.pm	Load functions only on demand
 dist/SelfLoader/t/01SelfLoader.t	See if SelfLoader works
 dist/SelfLoader/t/02SelfLoader-buggy.t	See if SelfLoader works
@@ -3229,6 +3541,7 @@
 dist/Storable/t/recurse.t		See if Storable works
 dist/Storable/t/restrict.t		See if Storable works
 dist/Storable/t/retrieve.t		See if Storable works
+dist/Storable/t/robust.t		See if it survives mangled %INC
 dist/Storable/t/sig_die.t		See if Storable works
 dist/Storable/t/st-dump.pl		See if Storable works
 dist/Storable/t/store.t			See if Storable works
@@ -3240,6 +3553,15 @@
 dist/Storable/t/utf8hash.t		See if Storable works
 dist/Storable/t/utf8.t			See if Storable works
 dist/Storable/t/weak.t			Can Storable store weakrefs
+dist/Term-Complete/lib/Term/Complete.pm	A command completion subroutine
+dist/Term-Complete/t/Complete.t		See if Term::Complete works
+dist/Term-ReadLine/lib/Term/ReadLine.pm		Stub readline library
+dist/Term-ReadLine/t/AE.t			See if Term::ReadLine works
+dist/Term-ReadLine/t/AETk.t			See if Term::ReadLine works
+dist/Term-ReadLine/t/ReadLine.t			See if Term::ReadLine works
+dist/Term-ReadLine/t/Tk.t			See if Term::ReadLine works
+dist/Text-Abbrev/lib/Text/Abbrev.pm		An abbreviation table builder
+dist/Text-Abbrev/t/Abbrev.t		Test Text::Abbrev
 dist/Thread-Queue/lib/Thread/Queue.pm	Thread-safe queues
 dist/Thread-Queue/t/01_basic.t		Thread::Queue tests
 dist/Thread-Queue/t/02_refs.t		Thread::Queue tests
@@ -3249,6 +3571,8 @@
 dist/Thread-Queue/t/06_insert.t		Thread::Queue tests
 dist/Thread-Queue/t/07_lock.t		Thread::Queue tests
 dist/Thread-Queue/t/08_nothreads.t	Thread::Queue tests
+dist/Thread-Queue/t/09_ended.t		Thread::Queue tests
+dist/Thread-Queue/t/10_timed.t	Thread::Queue tests
 dist/Thread-Semaphore/lib/Thread/Semaphore.pm	Thread-safe semaphores
 dist/Thread-Semaphore/t/01_basic.t		Thread::Semaphore tests
 dist/Thread-Semaphore/t/02_errs.t		Thread::Semaphore tests
@@ -3268,9 +3592,11 @@
 dist/threads-shared/t/clone.t		Test shared cloning
 dist/threads-shared/t/cond.t		Test condition variables
 dist/threads-shared/t/disabled.t	Test threads::shared when threads are disabled.
+dist/threads-shared/t/dualvar.t	Test dual-valued variables
 dist/threads-shared/t/hv_refs.t		Test shared hashes containing references
 dist/threads-shared/t/hv_simple.t	Tests for basic shared hash functionality.
 dist/threads-shared/t/no_share.t	Tests for disabled share on variables.
+dist/threads-shared/t/object2.t	More shared objects tests
 dist/threads-shared/t/object.t		Shared objects tests
 dist/threads-shared/t/shared_attr.t	Test :shared attribute
 dist/threads-shared/t/stress.t		Stress test
@@ -3302,6 +3628,45 @@
 dist/threads/t/stress_re.t	Test with multiple threads, string cv argument and regexes.
 dist/threads/t/stress_string.t	Test with multiple threads, string cv argument.
 dist/threads/t/thread.t		General ithread tests from thr5005
+dist/Tie-File/lib/Tie/File.pm		Files as tied arrays
+dist/Tie-File/t/00_version.t		Trivial test for Tie::File
+dist/Tie-File/t/01_gen.t		Generic read/write tests for Tie::File
+dist/Tie-File/t/02_fetchsize.t		File length fetch test for Tie::File
+dist/Tie-File/t/03_longfetch.t		Past-the-end-of-the-array tests for Tie::File
+dist/Tie-File/t/04_splice.t		SPLICE method tests for Tie::File
+dist/Tie-File/t/05_size.t		$#a tests for Tie::File
+dist/Tie-File/t/06_fixrec.t		'_fixrec' method functional tests for Tie::File
+dist/Tie-File/t/07_rv_splice.t		SPLICE method return value tests for Tie::File
+dist/Tie-File/t/08_ro.t			read-only mode tests for Tie::File
+dist/Tie-File/t/09_gen_rs.t		Like 01_gen.t, with unusual record separator
+dist/Tie-File/t/10_splice_rs.t		Like 04_splice.t, with unusual record separator
+dist/Tie-File/t/11_rv_splice_rs.t	Like 07_rv_splice.t, with unusual record separator
+dist/Tie-File/t/12_longfetch_rs.t	Like 03_longfetch.t, with unusual record separator
+dist/Tie-File/t/13_size_rs.t		Like 05_size.t, with unusual record separator
+dist/Tie-File/t/14_lock.t		File locking method tests for Tie::File
+dist/Tie-File/t/15_pushpop.t		PUSH / POP / SHIFT / UNSHIFT for Tie::File
+dist/Tie-File/t/16_handle.t		Tying a handle instead of a file for Tie::File
+dist/Tie-File/t/17_misc_meth.t		CLEAR / EXISTS / DELETE / EXTEND for Tie::File
+dist/Tie-File/t/18_rs_fixrec.t		Like 06_fixrec.t, with unusual record separator
+dist/Tie-File/t/19_cache.t		Read cache exercises and regression for Tie::File
+dist/Tie-File/t/20_cache_full.t		LRU expiry exercises and regression for Tie::File
+dist/Tie-File/t/21_win32.t		Win32 special behavior of Tie::File
+dist/Tie-File/t/22_autochomp.t		'autochomp' option of Tie::File
+dist/Tie-File/t/23_rv_ac_splice.t	Like 07_rv_splice.t, but with autochomp
+dist/Tie-File/t/24_cache_loop.t		Regression for old Tie::File cache bug
+dist/Tie-File/t/25_gen_nocache.t	Like 01_gen.t, but with caching disabled
+dist/Tie-File/t/26_twrite.t		Unit tests for Tie::File::_twrite
+dist/Tie-File/t/27_iwrite.t		Unit tests for Tie::File::_iwrite
+dist/Tie-File/t/28_mtwrite.t		Unit tests for Tie::File::_mtwrite
+dist/Tie-File/t/29a_upcopy.t		Unit tests for Tie::File::_upcopy
+dist/Tie-File/t/29_downcopy.t		Unit tests for Tie::File::_downcopy
+dist/Tie-File/t/30_defer.t		deferred writing feature tests for Tie::File
+dist/Tie-File/t/31_autodefer.t		'autodefer' feature tests for Tie::File
+dist/Tie-File/t/32_defer_misc.t		Like 17_misc_meth.t, but with deferred writing
+dist/Tie-File/t/33_defer_vs.t		Like 30_defer.t, but with varying-length records
+dist/Tie-File/t/40_abs_cache.t		Unit tests for Tie::File::Cache
+dist/Tie-File/t/41_heap.t		Unit tests for Tie::File::Heap
+dist/Tie-File/t/42_offset.t		Unit tests for the offset method
 dist/XSLoader/Makefile.PL	Dynamic Loader makefile writer
 dist/XSLoader/t/XSLoader.t	See if XSLoader works
 dist/XSLoader/XSLoader_pm.PL	Simple XS Loader perl module
@@ -3319,13 +3684,22 @@
 embed.fnc		Database used by embed.pl
 embed.h			Maps symbols to safer names
 embedvar.h		C namespace management
-epoc/config.sh		EPOC port config.sh template
-epoc/createpkg.pl	EPOC port generate PKG file
-epoc/epoc.c		EPOC port
-epoc/epocish.c		EPOC port
-epoc/epocish.h		EPOC port
-epoc/epoc_stubs.c	EPOC port
-epoc/link.pl		EPOC port link a exe
+ext/arybase/arybase.pm		For $[
+ext/arybase/arybase.xs		For $[
+ext/arybase/ptable.h		For $[
+ext/arybase/t/aeach.t		For $[
+ext/arybase/t/aelem.t		For $[
+ext/arybase/t/akeys.t		For $[
+ext/arybase/t/arybase.t		For $[
+ext/arybase/t/aslice.t		For $[
+ext/arybase/t/av2arylen.t	For $[
+ext/arybase/t/index.t		For $[
+ext/arybase/t/lslice.t		For $[
+ext/arybase/t/pos.t		For $[
+ext/arybase/t/scope_0.pm	For $[
+ext/arybase/t/scope.t		For $[
+ext/arybase/t/splice.t		For $[
+ext/arybase/t/substr.t		For $[
 ext/attributes/attributes.pm		For "sub foo : attrlist"
 ext/attributes/attributes.xs		For "sub foo : attrlist"
 ext/B/B/Concise.pm	Compiler Concise backend
@@ -3367,18 +3741,15 @@
 ext/Devel-Peek/Peek.xs		Data debugging tool, externals
 ext/Devel-Peek/t/Peek.t		See if Devel::Peek works
 ext/DynaLoader/dl_aix.xs	AIX implementation
-ext/DynaLoader/dl_beos.xs	BeOS implementation
 ext/DynaLoader/dl_dld.xs	GNU dld style implementation
 ext/DynaLoader/dl_dllload.xs	S/390 dllload() style implementation
 ext/DynaLoader/dl_dlopen.xs	BSD/SunOS4&5 dlopen() style implementation
 ext/DynaLoader/dl_dyld.xs	NeXT/Apple dyld implementation
 ext/DynaLoader/dl_hpux.xs	HP-UX implementation
-ext/DynaLoader/dl_mpeix.xs	MPE/iX implementation
 ext/DynaLoader/dl_next.xs	NeXT implementation
 ext/DynaLoader/dl_none.xs	Stub implementation
 ext/DynaLoader/dl_symbian.xs	Symbian implementation
 ext/DynaLoader/dlutils.c	Dynamic loader utilities for dl_*.xs files
-ext/DynaLoader/dl_vmesa.xs	VM/ESA implementation
 ext/DynaLoader/dl_vms.xs	VMS implementation
 ext/DynaLoader/dl_win32.xs	Win32 implementation
 ext/DynaLoader/DynaLoader_pm.PL	Dynamic Loader perl module
@@ -3411,6 +3782,9 @@
 ext/FileCache/t/05override.t	See if FileCache works
 ext/FileCache/t/06export.t	See if FileCache exporting works
 ext/FileCache/t/07noimport.t	See if FileCache works without importing
+ext/File-DosGlob/DosGlob.xs		Win32 DOS-globbing module
+ext/File-DosGlob/lib/File/DosGlob.pm	Win32 DOS-globbing module
+ext/File-DosGlob/t/DosGlob.t		See if File::DosGlob works
 ext/File-Glob/bsd_glob.c	File::Glob extension run time code
 ext/File-Glob/bsd_glob.h	File::Glob extension header file
 ext/File-Glob/Changes		File::Glob extension changelog
@@ -3421,11 +3795,13 @@
 ext/File-Glob/t/case.t		See if File::Glob works
 ext/File-Glob/t/global.t	See if File::Glob works
 ext/File-Glob/TODO		File::Glob extension todo list
+ext/File-Glob/t/rt114984.t	See if File::Glob works
 ext/File-Glob/t/taint.t		See if File::Glob works
 ext/GDBM_File/GDBM_File.pm	GDBM extension Perl module
 ext/GDBM_File/GDBM_File.xs	GDBM extension external subroutines
 ext/GDBM_File/hints/sco.pl	Hint for GDBM_File for named architecture
 ext/GDBM_File/Makefile.PL	GDBM extension makefile writer
+ext/GDBM_File/t/fatal.t		Test the fatal_func argument to gdbm_open
 ext/GDBM_File/t/gdbm.t		See if GDBM_File works
 ext/GDBM_File/typemap		GDBM extension interface types
 ext/Hash-Util/Changes		Change history of Hash::Util
@@ -3437,7 +3813,6 @@
 ext/Hash-Util-FieldHash/t/03_class.t		Test script
 ext/Hash-Util-FieldHash/t/04_thread.t		Test script
 ext/Hash-Util-FieldHash/t/05_perlhook.t		Test script
-ext/Hash-Util-FieldHash/t/10_hash.t		Adapted from t/op/hash.t
 ext/Hash-Util-FieldHash/t/11_hashassign.t	Adapted from t/op/hashassign.t
 ext/Hash-Util-FieldHash/t/12_hashwarn.t		Adapted from t/op/hashwarn.t
 ext/Hash-Util/lib/Hash/Util.pm	Hash::Util
@@ -3448,10 +3823,10 @@
 ext/I18N-Langinfo/Langinfo.xs	I18N::Langinfo
 ext/I18N-Langinfo/Makefile.PL	I18N::Langinfo
 ext/I18N-Langinfo/t/Langinfo.t	See whether I18N::Langinfo works
-ext/IPC-Open2/lib/IPC/Open2.pm	Open a two-ended pipe
-ext/IPC-Open2/t/IPC-Open2.t	See if IPC::Open2 works
+ext/IPC-Open3/lib/IPC/Open2.pm	Open a two-ended pipe
 ext/IPC-Open3/lib/IPC/Open3.pm	Open a three-ended pipe
 ext/IPC-Open3/t/fd.t		See if IPC::Open3 works w/ file descriptors
+ext/IPC-Open3/t/IPC-Open2.t	See if IPC::Open2 works
 ext/IPC-Open3/t/IPC-Open3.t	See if IPC::Open3 works
 ext/mro/Changes			mro extension
 ext/mro/mro.pm			mro extension
@@ -3461,6 +3836,7 @@
 ext/NDBM_File/hints/dynixptx.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/gnukfreebsd.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/gnuknetbsd.pl	Hint for NDBM_File for named architecture
+ext/NDBM_File/hints/gnu.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/linux.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/sco.pl	Hint for NDBM_File for named architecture
 ext/NDBM_File/hints/solaris.pl	Hint for NDBM_File for named architecture
@@ -3474,6 +3850,7 @@
 ext/ODBM_File/hints/dec_osf.pl	Hint for ODBM_File for named architecture
 ext/ODBM_File/hints/gnukfreebsd.pl	Hint for NDBM_File for named architecture
 ext/ODBM_File/hints/gnuknetbsd.pl	Hint for NDBM_File for named architecture
+ext/ODBM_File/hints/gnu.pl	Hint for ODBM_File for named architecture
 ext/ODBM_File/hints/hpux.pl	Hint for ODBM_File for named architecture
 ext/ODBM_File/hints/linux.pl	Hint for NDBM_File for named architecture
 ext/ODBM_File/hints/sco.pl	Hint for ODBM_File for named architecture
@@ -3496,6 +3873,8 @@
 ext/PerlIO-encoding/t/encoding.t	See if PerlIO encoding conversion works
 ext/PerlIO-encoding/t/fallback.t	See if PerlIO fallbacks work
 ext/PerlIO-encoding/t/nolooping.t	Tests for PerlIO::encoding
+ext/PerlIO-mmap/mmap.pm	PerlIO layer for memory maps
+ext/PerlIO-mmap/mmap.xs	PerlIO layer for memory maps
 ext/PerlIO-scalar/scalar.pm	PerlIO layer for scalars
 ext/PerlIO-scalar/scalar.xs	PerlIO layer for scalars
 ext/PerlIO-scalar/t/scalar.t	See if PerlIO::scalar works
@@ -3504,8 +3883,34 @@
 ext/PerlIO-via/t/via.t		See if PerlIO::via works
 ext/PerlIO-via/via.pm		PerlIO layer for layers in perl
 ext/PerlIO-via/via.xs		PerlIO layer for layers in perl
-ext/Pod-Html/Html.pm		Convert POD data to HTML
-ext/Pod-Html/pod2html.PL	Precursor for translator to turn pod into HTML
+ext/Pod-Functions/Functions_pm.PL	Writes Functions.pm
+ext/Pod-Functions/Makefile.PL		Makefile writer
+ext/Pod-Functions/t/Functions.t		See if Pod::Functions works
+ext/Pod-Html/bin/pod2html	Translator to turn pod into HTML
+ext/Pod-Html/lib/Pod/Html.pm	Convert POD data to HTML
+ext/Pod-Html/t/cache.pod
+ext/Pod-Html/t/cache.t
+ext/Pod-Html/t/crossref2.t
+ext/Pod-Html/t/crossref3.t
+ext/Pod-Html/t/crossref.pod
+ext/Pod-Html/t/crossref.t
+ext/Pod-Html/t/eol.t		test end of line agnosticism
+ext/Pod-Html/testdir/perlpodspec-copy.pod
+ext/Pod-Html/testdir/perlvar-copy.pod
+ext/Pod-Html/t/feature2.pod
+ext/Pod-Html/t/feature2.t
+ext/Pod-Html/t/feature.pod
+ext/Pod-Html/t/feature.t
+ext/Pod-Html/t/htmldir1.pod
+ext/Pod-Html/t/htmldir1.t
+ext/Pod-Html/t/htmldir2.pod
+ext/Pod-Html/t/htmldir2.t
+ext/Pod-Html/t/htmldir3.pod
+ext/Pod-Html/t/htmldir3.t
+ext/Pod-Html/t/htmldir4.pod
+ext/Pod-Html/t/htmldir4.t
+ext/Pod-Html/t/htmldir5.pod
+ext/Pod-Html/t/htmldir5.t
 ext/Pod-Html/t/htmlescp.pod	pod2html escape test input data
 ext/Pod-Html/t/htmlescp.t	pod2html escape test
 ext/Pod-Html/t/htmllink.pod	pod2html link test input data
@@ -3513,6 +3918,10 @@
 ext/Pod-Html/t/htmlview.pod	pod2html render test input data
 ext/Pod-Html/t/htmlview.t	pod2html render test
 ext/Pod-Html/t/pod2html-lib.pl	pod2html testing library
+ext/Pod-Html/t/poderr.pod
+ext/Pod-Html/t/poderr.t
+ext/Pod-Html/t/podnoerr.pod
+ext/Pod-Html/t/podnoerr.t
 ext/POSIX/hints/bsdos.pl	Hint for POSIX for named architecture
 ext/POSIX/hints/dynixptx.pl	Hint for POSIX for named architecture
 ext/POSIX/hints/freebsd.pl	Hint for POSIX for named architecture
@@ -3525,22 +3934,25 @@
 ext/POSIX/hints/openbsd.pl	Hint for POSIX for named architecture
 ext/POSIX/hints/sunos_4.pl	Hint for POSIX for named architecture
 ext/POSIX/hints/svr4.pl		Hint for POSIX for named architecture
-ext/POSIX/hints/uts.pl		Hint for POSIX for named architecture
 ext/POSIX/lib/POSIX.pm		POSIX extension Perl module
 ext/POSIX/lib/POSIX.pod		POSIX extension documentation
 ext/POSIX/Makefile.PL		POSIX extension makefile writer
 ext/POSIX/POSIX.xs		POSIX extension external subroutines
+ext/POSIX/t/export.t		Test @EXPORT and @EXPORT_OK
 ext/POSIX/t/is.t		See if POSIX isxxx() work
 ext/POSIX/t/math.t		Basic math tests for POSIX
 ext/POSIX/t/posix.t		See if POSIX works
 ext/POSIX/t/sigaction.t		See if POSIX::sigaction works
+ext/POSIX/t/sigset.t		See if POSIX::SigSet works
 ext/POSIX/t/sysconf.t		See if POSIX works
 ext/POSIX/t/taint.t		See if POSIX works with taint
 ext/POSIX/t/termios.t		See if POSIX works
 ext/POSIX/t/time.t		See if POSIX time-related functions work
+ext/POSIX/t/unimplemented.t	Test the diagnostics for unimplemented functions
+ext/POSIX/t/usage.t		Test the diagnostics for usage messages
 ext/POSIX/t/waitpid.t		See if waitpid works
+ext/POSIX/t/wrappers.t		Test the POSIX wrapper subroutines
 ext/POSIX/typemap		POSIX extension interface types
-ext/re/hints/mpeix.pl		Hints for re for named architecture
 ext/re/Makefile.PL		re extension makefile writer
 ext/re/re_comp.h		re extension wrapper for regcomp.h
 ext/re/re.pm			re extension Perl module
@@ -3583,13 +3995,6 @@
 ext/SDBM_File/sdbm/util.c	SDBM kit
 ext/SDBM_File/t/sdbm.t		See if SDBM_File works
 ext/SDBM_File/typemap		SDBM extension interface types
-ext/Socket/Makefile.PL		Socket extension makefile writer
-ext/Socket/Socket.pm		Socket extension Perl module
-ext/Socket/Socket.xs		Socket extension external subroutines
-ext/Socket/t/getaddrinfo.t	See if Socket::getaddrinfo works
-ext/Socket/t/getnameinfo.t	See if Socket::getnameinfo works
-ext/Socket/t/socketpair.t	See if socketpair works
-ext/Socket/t/Socket.t		See if Socket works
 ext/Sys-Hostname/Hostname.pm	Sys::Hostname extension Perl module
 ext/Sys-Hostname/Hostname.xs	Sys::Hostname extension external subroutines
 ext/Sys-Hostname/t/Hostname.t	See if Sys::Hostname works
@@ -3622,7 +4027,9 @@
 ext/XS-APItest/notcore.c	Test API functions when PERL_CORE is not defined
 ext/XS-APItest/numeric.xs	XS::APItest wrappers for numeric.c
 ext/XS-APItest/README		XS::APItest extension
+ext/XS-APItest/t/addissub.t	test op check wrapping
 ext/XS-APItest/t/arrayexpr.t	test recursive descent expression parsing
+ext/XS-APItest/t/autoload.t	Test XS AUTOLOAD routines
 ext/XS-APItest/t/BHK.pm		Helper for ./blockhooks.t
 ext/XS-APItest/t/blockasexpr.t	test recursive descent block parsing
 ext/XS-APItest/t/blockhooks-csc.t	XS::APItest: more tests for PL_blockhooks
@@ -3630,32 +4037,51 @@
 ext/XS-APItest/t/Block.pm	Helper for ./blockhooks.t
 ext/XS-APItest/t/call_checker.t	test call checker plugin API
 ext/XS-APItest/t/caller.t	XS::APItest: tests for caller_cx
+ext/XS-APItest/t/callregexec.t	XS::APItest: tests for CALLREGEXEC()
 ext/XS-APItest/t/call.t		XS::APItest extension
+ext/XS-APItest/t/check_warnings.t	test scope of "Too late for CHECK"
 ext/XS-APItest/t/cleanup.t	test stack behaviour on unwinding
+ext/XS-APItest/t/clone-with-stack.t	test clone with CLONEf_COPY_STACKS works
 ext/XS-APItest/t/cophh.t	test COPHH API
+ext/XS-APItest/t/coplabel.t	test cop_*_label
+ext/XS-APItest/t/copstash.t	test alloccopstash
 ext/XS-APItest/t/copyhints.t	test hv_copy_hints_hv() API
 ext/XS-APItest/t/customop.t	XS::APItest: tests for custom ops
 ext/XS-APItest/t/eval-filter.t	Simple source filter/eval test
 ext/XS-APItest/t/exception.t	XS::APItest extension
+ext/XS-APItest/t/fetch_pad_names.t	Tests for UTF8 names in pad
+ext/XS-APItest/t/gotosub.t	XS::APItest: tests goto &xsub and hints
 ext/XS-APItest/t/grok.t		XS::APItest: tests for grok* functions
+ext/XS-APItest/t/gv_autoload4.t	XS::APItest: tests for gv_autoload4() and variants
+ext/XS-APItest/t/gv_fetchmeth_autoload.t	XS::APItest: tests for gv_fetchmeth_autoload() and variants
+ext/XS-APItest/t/gv_fetchmethod_flags.t	XS::APItest: tests for gv_fetchmethod_flags() and variants
+ext/XS-APItest/t/gv_fetchmeth.t		XS::APItest: tests for gv_fetchmeth() and variants
+ext/XS-APItest/t/gv_init.t	XS::APItest: tests for gv_init and variants
+ext/XS-APItest/t/handy.t	XS::APItest: tests for handy.h
 ext/XS-APItest/t/hash.t		XS::APItest: tests for hash related APIs
 ext/XS-APItest/t/keyword_multiline.t	test keyword plugin parsing across lines
 ext/XS-APItest/t/keyword_plugin.t	test keyword plugin mechanism
 ext/XS-APItest/t/labelconst.aux	auxiliary file for label test
 ext/XS-APItest/t/labelconst.t	test recursive descent label parsing
+ext/XS-APItest/t/labelconst_utf8.aux	auxiliary file for label test in UTF-8
+ext/XS-APItest/t/lexsub.t	Test XS registration of lexical subs
 ext/XS-APItest/t/loopblock.t	test recursive descent block parsing
 ext/XS-APItest/t/looprest.t	test recursive descent statement-sequence parsing
+ext/XS-APItest/t/lvalue.t	Test XS lvalue functions
 ext/XS-APItest/t/magic_chain.t	test low-level MAGIC chain handling
 ext/XS-APItest/t/magic.t	test attaching, finding, and removing magic
 ext/XS-APItest/t/Markers.pm	Helper for ./blockhooks.t
+ext/XS-APItest/t/mro.t		Test mro plugin api
 ext/XS-APItest/t/multicall.t	XS::APItest: test MULTICALL macros
 ext/XS-APItest/t/my_cxt.t	XS::APItest: test MY_CXT interface
 ext/XS-APItest/t/my_exit.t	XS::APItest: test my_exit
+ext/XS-APItest/t/newCONSTSUB.t	XS::APItest: test newCONSTSUB(_flags)
 ext/XS-APItest/t/Null.pm	Helper for ./blockhooks.t
 ext/XS-APItest/t/op_contextualize.t	test op_contextualize() API
 ext/XS-APItest/t/op_list.t	test OP list construction API
 ext/XS-APItest/t/op.t		XS::APItest: tests for OP related APIs
 ext/XS-APItest/t/overload.t	XS::APItest: tests for overload related APIs
+ext/XS-APItest/t/pad_scalar.t	Test pad_findmy_* functions
 ext/XS-APItest/t/peep.t		test PL_peepp/PL_rpeepp
 ext/XS-APItest/t/pmflag.t	Test removal of Perl_pmflag()
 ext/XS-APItest/t/postinc.t	test op_lvalue()
@@ -3667,18 +4093,24 @@
 ext/XS-APItest/t/rv2cv_op_cv.t	test rv2cv_op_cv() API
 ext/XS-APItest/t/savehints.t	test SAVEHINTS() API
 ext/XS-APItest/t/scopelessblock.t	test recursive descent statement-sequence parsing
+ext/XS-APItest/t/sort.t		Test sort(xs_cmp ...)
 ext/XS-APItest/t/stmtasexpr.t	test recursive descent statement parsing
 ext/XS-APItest/t/stmtsasexpr.t	test recursive descent statement-sequence parsing
 ext/XS-APItest/t/stuff_modify_bug.t	test for eval side-effecting source string
 ext/XS-APItest/t/stuff_svcur_bug.t	test for a bug in lex_stuff_pvn
+ext/XS-APItest/t/sviscow.t	Test SvIsCOW
 ext/XS-APItest/t/svpeek.t	XS::APItest extension
-ext/XS-APItest/t/svpv_magic.t	Test behaviour of SvPVbyte and get magic
+ext/XS-APItest/t/svpv_magic.t	Test behaviour of SvPVbyte/utf8 & get magic
+ext/XS-APItest/t/svpv.t		More generic SvPVbyte and SvPVutf8 tests
 ext/XS-APItest/t/svsetsv.t	Test behaviour of sv_setsv with/without PERL_CORE
 ext/XS-APItest/t/swaplabel.t	test recursive descent label parsing
 ext/XS-APItest/t/swaptwostmts.t	test recursive descent statement parsing
+ext/XS-APItest/t/sym-hook.t	Test rv2cv hooks for bareword lookup
 ext/XS-APItest/t/temp_lv_sub.t	XS::APItest: tests for lvalue subs returning temps
+ext/XS-APItest/t/underscore_length.t	Test find_rundefsv()
 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/whichsig.t	XS::APItest: tests for whichsig() and variants
 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
@@ -3689,16 +4121,15 @@
 ext/XS-Typemap/README		XS::Typemap extension
 ext/XS-Typemap/stdio.c		XS::Typemap extension
 ext/XS-Typemap/t/Typemap.t	test that typemaps work
-ext/XS-Typemap/typemap		XS::Typemap extension
 ext/XS-Typemap/Typemap.pm	XS::Typemap extension
 ext/XS-Typemap/Typemap.xs	XS::Typemap extension
 fakesdio.h			stdio in terms of PerlIO
 fakethr.h			Fake threads header
+feature.h			Feature header
 form.h				Public declarations for formats
 generate_uudmap.c		Generate uudmap.h, the uuencode decoding map
 genpacksizetables.pl		Generate the size tables for pack/unpack
 globals.c			File to declare global symbols (for shared library)
-global.sym			Symbols that need hiding when embedded
 globvar.sym			Global variables that need hiding when embedded
 gv.c				Glob value code
 gv.h				Glob value header
@@ -3728,7 +4159,6 @@
 hints/amigaos.sh		Hints for named architecture
 hints/atheos.sh			Hints for named architecture
 hints/aux_3.sh			Hints for named architecture
-hints/beos.sh			Hints for named architecture
 hints/broken-db.msg		Warning message for systems with broken DB library
 hints/bsdos.sh			Hints for named architecture
 hints/catamount.sh		Hints for named architecture
@@ -3769,7 +4199,6 @@
 hints/mips.sh			Hints for named architecture
 hints/mirbsd.sh			Hints for named architecture
 hints/mpc.sh			Hints for named architecture
-hints/mpeix.sh			Hints for named architecture
 hints/ncr_tower.sh		Hints for named architecture
 hints/netbsd.sh			Hints for named architecture
 hints/newsos4.sh		Hints for named architecture
@@ -3786,7 +4215,6 @@
 hints/powerux.sh		Hints for named architecture
 hints/qnx.sh			Hints for named architecture
 hints/README.hints		Notes about hints
-hints/rhapsody.sh		Hints for named architecture
 hints/riscos.sh			Hints for named architecture
 hints/sco_2_3_0.sh		Hints for named architecture
 hints/sco_2_3_1.sh		Hints for named architecture
@@ -3810,12 +4238,13 @@
 hints/unicos.sh			Hints for named architecture
 hints/unisysdynix.sh		Hints for named architecture
 hints/utekv.sh			Hints for named architecture
-hints/uts.sh			Hints for named architecture
 hints/uwin.sh			Hints for named architecture
-hints/vmesa.sh			Hints for named architecture
 hints/vos.sh			Hints for named architecture
 hv.c				Hash value code
+hv_func.h			Hash value static inline function header
 hv.h				Hash value header
+inline.h			Static inline functions
+inline_invlist.c		Inline functions for handling inversion lists
 INSTALL				Detailed installation instructions
 installhtml			Perl script to install html files for pods
 install_lib.pl			functions shared between install* scripts
@@ -3827,36 +4256,24 @@
 keywords.c			Perl_keyword(), generated by regen/keywords.pl
 keywords.h			The keyword numbers
 l1_char_class_tab.h		256 word bit table of character classes (for handy.h)
-lib/abbrev.pl			An abbreviation table builder
 lib/AnyDBM_File.pm		Perl module to emulate dbmopen
 lib/AnyDBM_File.t		See if AnyDBM_File works
-lib/assert.pl			assertion and panic with stack trace
 lib/Benchmark.pm		Measure execution time
 lib/Benchmark.t			See if Benchmark works
-lib/bigfloat.pl			An arbitrary precision floating point package
-lib/bigfloatpl.t		See if bigfloat.pl works
-lib/bigint.pl			An arbitrary precision integer arithmetic package
-lib/bigintpl.t			See if bigint.pl works
-lib/bigrat.pl			An arbitrary precision rational arithmetic package
 lib/blib.pm			For "use blib"
 lib/blib.t			blib.pm test
 lib/bytes_heavy.pl		Support routines for byte pragma
 lib/bytes.pm			Pragma to enable byte operations
 lib/bytes.t			bytes.pm test
-lib/cacheout.pl			Manages output filehandles when you need too many
-lib/Carp/Heavy.pm		Error message workhorse
-lib/Carp.pm			Error message base class
-lib/Carp.t			See if Carp works
+lib/_charnames.pm		Character names
 lib/charnames.pm		Character names
 lib/charnames.t			See if character names work
 lib/Class/Struct.pm		Declare struct-like datatypes as Perl classes
 lib/Class/Struct.t		See if Class::Struct works
-lib/complete.pl			A command completion subroutine
 lib/Config/Extensions.pm	Convenient hash lookup for built extensions
 lib/Config/Extensions.t		See if Config::Extensions works
 lib/Config.t			See if Config works
 lib/CORE.pod			document the CORE namespace
-lib/ctime.pl			A ctime workalike
 lib/DBM_Filter/Changes		DBM Filter Change history
 lib/DBM_Filter/compress.pm	DBM Filter to compress keys/values
 lib/DBM_Filter/encode.pm	DBM Filter for encoding
@@ -3879,12 +4296,10 @@
 lib/diagnostics.t		See if diagnostics.pm works
 lib/DirHandle.pm		like FileHandle only for directories
 lib/DirHandle.t			See if DirHandle works
-lib/dotsh.pl			Code to "dot" in a shell script
 lib/dumpvar.pl			A variable dumper
 lib/dumpvar.t			A variable dumper tester
 lib/English.pm			Readable aliases for short variables
 lib/English.t			See if English works
-lib/exceptions.pl		catch and throw routines
 lib/Exporter/Heavy.pm		Complicated routines for Exporter
 lib/Exporter.pm			Exporter base class
 lib/Exporter.t			See if Exporter works
@@ -3892,7 +4307,6 @@
 lib/ExtUtils/t/Embed.t		See if ExtUtils::Embed and embedding works
 lib/ExtUtils/typemap		Extension interface types
 lib/ExtUtils/XSSymSet.pm	on VMS, manage linker symbols when building extensions
-lib/fastcwd.pl			a faster but more dangerous getcwd
 lib/feature.pm			Pragma to enable new syntax
 lib/feature.t			See if features work
 lib/feature/unicode_strings.t	See if feature "unicode_strings" work
@@ -3902,13 +4316,12 @@
 lib/File/Compare.t		See if File::Compare works
 lib/File/Copy.pm		Emulation of cp command
 lib/File/Copy.t			See if File::Copy works
-lib/File/DosGlob.pm		Win32 DOS-globbing module
-lib/File/DosGlob.t		See if File::DosGlob works
 lib/File/Find.pm		Routines to do a find
 lib/File/Find/t/find.t		See if File::Find works
 lib/File/Find/t/taint.t		See if File::Find works with taint
 lib/FileHandle.pm		Backward-compatible front end to IO extension
 lib/FileHandle.t		See if FileHandle works
+lib/File/stat-7896.t		A test for ID 20011110.104
 lib/File/stat.pm		By-name interface to Perl's builtin stat
 lib/File/stat.t			See if File::stat works
 lib/filetest.pm			For "use filetest"
@@ -3915,18 +4328,10 @@
 lib/filetest.t			See if filetest works
 lib/FindBin.pm			Find name of currently executing program
 lib/FindBin.t			See if FindBin works
-lib/finddepth.pl		A depth-first find emulator--used by find2perl
-lib/find.pl			A find emulator--used by find2perl
-lib/flush.pl			Routines to do single flush
-lib/getcwd.pl			A getcwd() emulator
-lib/getopt.pl			Perl library supporting option parsing
-lib/getopts.pl			Perl library supporting option parsing
 lib/Getopt/Std.pm		Fetch command options (getopt, getopts)
 lib/Getopt/Std.t		See if Getopt::Std and Getopt::Long work
 lib/h2ph.t			See if h2ph works like it should
 lib/h2xs.t			See if h2xs produces expected lists of files
-lib/hostname.pl			Old hostname code
-lib/importenv.pl		Perl routine to get environment into variables
 lib/integer.pm			For "use integer"
 lib/integer.t			For "use integer" testing
 lib/Internals.t			For Internals::* testing
@@ -3934,7 +4339,6 @@
 lib/less.t			See if less support works
 lib/locale.pm			For "use locale"
 lib/locale.t			See if locale support works
-lib/look.pl			A "look" equivalent
 lib/Net/hostent.pm		By-name interface to Perl's builtin gethost*
 lib/Net/hostent.t		See if Net::hostent works
 lib/Net/netent.pm		By-name interface to Perl's builtin getnet*
@@ -3943,9 +4347,6 @@
 lib/Net/protoent.t		See if Net::protoent works
 lib/Net/servent.pm		By-name interface to Perl's builtin getserv*
 lib/Net/servent.t		See if Net::servtent works
-lib/newgetopt.pl		A perl library supporting long option parsing
-lib/open2.pl			Open a two-ended pipe (uses IPC::Open2)
-lib/open3.pl			Open a three-ended pipe (uses IPC::Open3)
 lib/open.pm			Pragma to specify default I/O layers
 lib/open.t			See if the open pragma works
 lib/overload64.t		See if operator overloading works with 64-bit ints
@@ -3956,32 +4357,50 @@
 lib/overload.t			See if operator overloading works
 lib/perl5db.pl			Perl debugging routines
 lib/perl5db.t			Tests for the Perl debugger
+lib/perl5db/t/break-on-dot	Test script used by perl5db.t
+lib/perl5db/t/breakpoint-bug	Test script used by perl5db.t
+lib/perl5db/t/disable-breakpoints-1	Test script used by perl5db.t
+lib/perl5db/t/disable-breakpoints-2	Test script used by perl5db.t
+lib/perl5db/t/disable-breakpoints-3	Test script used by perl5db.t
+lib/perl5db/t/EnableModule.pm	Tests for the Perl debugger
 lib/perl5db/t/eval-line-bug	Tests for the Perl debugger
+lib/perl5db/t/fact		Tests for the Perl debugger
+lib/perl5db/t/filename-line-breakpoint		Tests for the Perl debugger
+lib/perl5db/t/load-modules	Tests for the Perl debugger
 lib/perl5db/t/lvalue-bug	Tests for the Perl debugger
+lib/perl5db/t/MyModule.pm	Tests for the Perl debugger
 lib/perl5db/t/proxy-constants	Tests for the Perl debugger
+lib/perl5db/t/rt-104168		Tests for the Perl debugger
 lib/perl5db/t/rt-61222		Tests for the Perl debugger
 lib/perl5db/t/rt-66110		Tests for the Perl debugger
+lib/perl5db/t/source-cmd-test-no-q.perldb		Tests for the Perl debugger
+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-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
+lib/perl5db/t/test-l-statement-2	Tests for the Perl debugger
+lib/perl5db/t/test-m-statement-1	Tests for the Perl debugger
+lib/perl5db/t/test-passing-at-underscore-to-x-etc	Tests for the Perl debugger
+lib/perl5db/t/test-PrintRet-option-1	Tests for the Perl debugger
+lib/perl5db/t/test-r-statement	Tests for the Perl debugger
+lib/perl5db/t/test-warnLevel-option-1	Tests for the Perl debugger
+lib/perl5db/t/test-w-statement-1	Tests for the Perl debugger
+lib/perl5db/t/uncalled-subroutine	Tests for the Perl debugger
+lib/perl5db/t/with-subroutine		Tests for the Perl debugger
 lib/PerlIO.pm			PerlIO support module
-lib/Pod/Functions.pm		used by pod/splitpod
-lib/Pod/t/eol.t			end of line agnosticism
-lib/Pod/t/Functions.t		See if Pod::Functions works
 lib/Pod/t/InputObjects.t	See if Pod::InputObjects works
 lib/Pod/t/Select.t		See if Pod::Select works
 lib/Pod/t/Usage.t		See if Pod::Usage works
 lib/Pod/t/utils.t		Test for Pod::ParseUtils
-lib/pwd.pl			Routines to keep track of PWD environment variable
-lib/Search/Dict.pm		Perform binary search on dictionaries
-lib/Search/Dict.t		See if Search::Dict works
 lib/SelectSaver.pm		Enforce proper select scoping
 lib/SelectSaver.t		See if SelectSaver works
-lib/shellwords.pl		Perl library to split into words with shell quoting
 lib/sigtrap.pm			For trapping an abort and giving traceback
 lib/sigtrap.t			See if sigtrap works
 lib/sort.pm			For "use sort"
 lib/sort.t			See if "use sort" works
-lib/stat.pl			Perl library supporting stat function
 lib/strict.pm			For "use strict"
 lib/strict.t			See if strictures work
 lib/subs.pm			Declare overriding subs
@@ -3988,15 +4407,6 @@
 lib/subs.t			See if subroutine pseudo-importation works
 lib/Symbol.pm			Symbol table manipulation routines
 lib/Symbol.t			See if Symbol works
-lib/syslog.pl			Perl library supporting syslogging
-lib/tainted.pl			Old code for tainting
-lib/termcap.pl			Perl library supporting termcap usage
-lib/Term/Complete.pm		A command completion subroutine
-lib/Term/Complete.t		See if Term::Complete works
-lib/Term/ReadLine.pm		Stub readline library
-lib/Term/ReadLine.t		See if Term::ReadLine works
-lib/Text/Abbrev.pm		An abbreviation table builder
-lib/Text/Abbrev.t		Test Text::Abbrev
 lib/Thread.pm			Thread extensions frontend
 lib/Thread.t			Thread extensions frontend tests
 lib/Tie/Array.pm		Base class for tied arrays
@@ -4017,7 +4427,6 @@
 lib/Tie/SubstrHash.t		Test for Tie::SubstrHash
 lib/Time/gmtime.pm		By-name interface to Perl's builtin gmtime
 lib/Time/gmtime.t		Test for Time::gmtime
-lib/timelocal.pl		Perl library supporting inverse of localtime, gmtime
 lib/Time/localtime.pm		By-name interface to Perl's builtin localtime
 lib/Time/localtime.t		Test for Time::localtime
 lib/Time/tm.pm			Internal object for Time::{gm,local}time
@@ -4082,7 +4491,6 @@
 lib/utf8_heavy.pl		Support routines for utf8 pragma
 lib/utf8.pm			Pragma to control Unicode support
 lib/utf8.t			See if utf8 operations work
-lib/validate.pl			Perl library supporting wholesale file mode validation
 lib/vars_carp.t			See if "use vars" doesn't load Carp.pm per default
 lib/vars.pm			Declare pseudo-imported global variables
 lib/vars.t			See if "use vars" works
@@ -4089,7 +4497,14 @@
 lib/version/Internals.pod	Description of the internals of version objects
 lib/version.pm			Support for version objects
 lib/version.pod			Documentation of the version module
-lib/version.t			Tests for version objects
+lib/version/t/01base.t		Tests for version objects`
+lib/version/t/02derived.t	Tests for version objects
+lib/version/t/03require.t	Tests for version objects
+lib/version/t/04strict_lax.t	Tests for version objects
+lib/version/t/05sigdie.t	Tests for version objects
+lib/version/t/06noop.t		Tests for version objects
+lib/version/t/07locale.t	Tests for version objects
+lib/version/t/coretests.pm	Tests for version objects
 lib/vmsish.pm			Control VMS-specific behavior of Perl core
 lib/vmsish.t			Tests for vmsish.pm
 lib/warnings.pm			For "use warnings"
@@ -4115,18 +4530,17 @@
 mathoms.c			A home for binary-compatible code artifacts
 metaconfig.h			Control file for the metaconfig process
 metaconfig.SH			Control file for the metaconfig process
+META.json			Distribution meta-data in JSON
 META.yml			Distribution meta-data in YAML
 mg.c				Magic code
 mg.h				Magic header
+mg_names.c			Generated magic names used by dump.c
+mg_raw.h			Generated magic data used by generate_uudmap.c
+mg_vtable.h			Generated magic vtable data
 minimod.pl			Writes lib/ExtUtils/Miniperl.pm
 miniperlmain.c			Basic perl w/o dynamic loading or extensions
 mkppport			A script that distributes ppport.h
 mkppport.lst			List of extensions that need a ppport.h
-mpeix/mpeix.c			MPE/iX port
-mpeix/mpeixish.h		MPE/iX port
-mpeix/mpeix_setjmp.c		MPE/iX port
-mpeix/nm			MPE/iX port
-mpeix/relink			MPE/iX port
 mro.c				Method Resolution Order code
 myconfig.SH			Prints summary of the current configuration
 mydtrace.h			Support for optional DTrace probes
@@ -4290,41 +4704,30 @@
 plan9/plan9ish.h		Plan9 port: Plan9-specific C header file
 plan9/setup.rc			Plan9 port: script for easy build+install
 plan9/versnum			Plan9 port: script to print version number
-pod/buildtoc			Update files based on pod.lst
-pod.lst				List the pods and their roles
+pod/buildtoc			Generate pod/perltoc.pod and pod/roffitall
 pod/Makefile.SH			generate Makefile which makes pods into something else
 pod/perl5004delta.pod		Perl changes in version 5.004
 pod/perl5005delta.pod		Perl changes in version 5.005
 pod/perl5100delta.pod		Perl changes in version 5.10.0
 pod/perl5101delta.pod		Perl changes in version 5.10.1
-pod/perl5110delta.pod		Perl changes in version 5.11.0
-pod/perl5111delta.pod		Perl changes in version 5.11.1
-pod/perl5112delta.pod		Perl changes in version 5.11.2
-pod/perl5113delta.pod		Perl changes in version 5.11.3
-pod/perl5114delta.pod		Perl changes in version 5.11.4
-pod/perl5115delta.pod		Perl changes in version 5.11.5
 pod/perl5120delta.pod		Perl changes in version 5.12.0
 pod/perl5121delta.pod		Perl changes in version 5.12.1
 pod/perl5122delta.pod		Perl changes in version 5.12.2
 pod/perl5123delta.pod		Perl changes in version 5.12.3
-pod/perl5130delta.pod		Perl changes in version 5.13.0
-pod/perl51310delta.pod		Perl changes in version 5.13.10
-pod/perl51311delta.pod		Perl changes in version 5.13.11
-pod/perl5131delta.pod		Perl changes in version 5.13.1
-pod/perl5132delta.pod		Perl changes in version 5.13.2
-pod/perl5133delta.pod		Perl changes in version 5.13.3
-pod/perl5134delta.pod		Perl changes in version 5.13.4
-pod/perl5135delta.pod		Perl changes in version 5.13.5
-pod/perl5136delta.pod		Perl changes in version 5.13.6
-pod/perl5137delta.pod		Perl changes in version 5.13.7
-pod/perl5138delta.pod		Perl changes in version 5.13.8
-pod/perl5139delta.pod		Perl changes in version 5.13.9
+pod/perl5124delta.pod		Perl changes in version 5.12.4
+pod/perl5125delta.pod		Perl changes in version 5.12.5
+pod/perl5140delta.pod		Perl changes in version 5.14.0
+pod/perl5141delta.pod		Perl changes in version 5.14.1
+pod/perl5142delta.pod		Perl changes in version 5.14.2
+pod/perl5143delta.pod		Perl changes in version 5.14.3
+pod/perl5144delta.pod		Perl changes in version 5.14.4
+pod/perl5160delta.pod		Perl changes in version 5.16.0
+pod/perl5161delta.pod		Perl changes in version 5.16.1
+pod/perl5162delta.pod		Perl changes in version 5.16.2
+pod/perl5163delta.pod		Perl changes in version 5.16.3
+pod/perl5180delta.pod		Perl changes in version 5.18.0
 pod/perl561delta.pod		Perl changes in version 5.6.1
 pod/perl56delta.pod		Perl changes in version 5.6
-pod/perl570delta.pod		Perl changes in version 5.7.0
-pod/perl571delta.pod		Perl changes in version 5.7.1
-pod/perl572delta.pod		Perl changes in version 5.7.2
-pod/perl573delta.pod		Perl changes in version 5.7.3
 pod/perl581delta.pod		Perl changes in version 5.8.1
 pod/perl582delta.pod		Perl changes in version 5.8.2
 pod/perl583delta.pod		Perl changes in version 5.8.3
@@ -4335,22 +4738,15 @@
 pod/perl588delta.pod		Perl changes in version 5.8.8
 pod/perl589delta.pod		Perl changes in version 5.8.9
 pod/perl58delta.pod		Perl changes in version 5.8.0
-pod/perl590delta.pod		Perl changes in version 5.9.0
-pod/perl591delta.pod		Perl changes in version 5.9.1
-pod/perl592delta.pod		Perl changes in version 5.9.2
-pod/perl593delta.pod		Perl changes in version 5.9.3
-pod/perl594delta.pod		Perl changes in version 5.9.4
-pod/perl595delta.pod		Perl changes in version 5.9.5
 pod/perlapio.pod		Perl internal IO abstraction interface
 pod/perlartistic.pod		Perl Artistic License
 pod/perlbook.pod		Perl book information
-pod/perlboot.pod		Perl OO tutorial for beginners
-pod/perlbot.pod			Perl OO tricks and examples
+pod/perlboot.pod		
+pod/perlbot.pod			
 pod/perlcall.pod		Perl calling conventions from C
 pod/perlcheat.pod		Perl cheat sheet
 pod/perlclib.pod		Internal replacements for standard C library functions
 pod/perlcommunity.pod		Perl community information
-pod/perlcompile.pod		Perl compiler suite intro
 pod/perldata.pod		Perl data structures
 pod/perldbmfilter.pod		Perl DBM filters
 pod/perldebguts.pod		Perl debugging guts and tips
@@ -4358,26 +4754,16 @@
 pod/perldebug.pod		Perl debugging
 pod/perldelta.pod		Perl changes since previous version
 pod/perldiag.pod		Perl diagnostic messages
-pod/perldoc.pod			Look up Perl documentation in Pod format
 pod/perldsc.pod			Perl data structures intro
+pod/perldtrace.pod		Perl's support for DTrace
 pod/perlebcdic.pod		Considerations for running Perl on EBCDIC platforms
 pod/perlembed.pod		Perl ways to embed perl in your C or C++ application
-pod/perlfaq1.pod		General Questions About Perl
-pod/perlfaq2.pod		Obtaining and Learning about Perl
-pod/perlfaq3.pod		Programming Tools
-pod/perlfaq4.pod		Data Manipulation
-pod/perlfaq5.pod		Files and Formats
-pod/perlfaq6.pod		Regexes
-pod/perlfaq7.pod		Perl Language Issues
-pod/perlfaq8.pod		System Interaction
-pod/perlfaq9.pod		Networking
-pod/perlfaq.pod			Perl frequently asked questions
+pod/perlexperiment.pod		A listing of experimental features in Perl
 pod/perlfilter.pod		Perl source filters
 pod/perlfork.pod		Perl fork() information
 pod/perlform.pod		Perl formats
 pod/perlfunc.pod		Perl built-in functions
 pod/perlgit.pod			Using git with the Perl repository
-pod/perlglossary.pod		Perl Glossary
 pod/perlgpl.pod			GNU General Public License
 pod/perlguts.pod		Perl internal functions for those doing extensions
 pod/perlhack.pod		Perl hackers guide
@@ -4384,7 +4770,7 @@
 pod/perlhacktips.pod		Tips for Perl core C code hacking
 pod/perlhacktut.pod		Walk through the creation of a simple C code patch
 pod/perlhist.pod		Perl history records
-pod/perlinterp.pod		Overview of the Perl intepreter source and how it works
+pod/perlinterp.pod		Overview of the Perl interpreter source and how it works
 pod/perlintro.pod		Perl introduction for beginners
 pod/perliol.pod			C API for Perl's implementation of IO in Layers
 pod/perlipc.pod			Perl interprocess communication
@@ -4399,6 +4785,7 @@
 pod/perlnewmod.pod		Perl modules: preparing a new module for distribution
 pod/perlnumber.pod		Perl number semantics
 pod/perlobj.pod			Perl objects
+pod/perlootut.pod		Perl OO tutorial for beginners
 pod/perlopentut.pod		Perl open() tutorial
 pod/perlop.pod			Perl operators and precedence
 pod/perlpacktut.pod		Perl pack() and unpack() tutorial
@@ -4428,9 +4815,9 @@
 pod/perlsyn.pod			Perl syntax
 pod/perlthrtut.pod		Perl threads tutorial
 pod/perltie.pod			Perl objects hidden behind simple variables
-pod/perltodo.pod		Perl things to do
-pod/perltooc.pod		Perl OO tutorial, part 2
-pod/perltoot.pod		Perl OO tutorial, part 1
+pod/perltodo.pod		
+pod/perltooc.pod		
+pod/perltoot.pod		
 pod/perltrap.pod		Perl traps for the unwary
 pod/perlunicode.pod		Perl Unicode support
 pod/perlunifaq.pod		Perl Unicode FAQ
@@ -4439,14 +4826,15 @@
 pod/perlutil.pod		utilities packaged with the Perl distribution
 pod/perlvar.pod			Perl predefined variables
 pod/perlvms.pod			Perl notes for VMS
-pod/perlxs.pod			Perl XS application programming interface
-pod/perlxstut.pod		Perl XS tutorial
-pod/roffitall			troff the whole man page set
 pod/rofftoc			Generate a table of contents in troff format
 pod/splitman			Splits perlfunc into multiple man pages
 pod/splitpod			Splits perlfunc into multiple pod pages
 Policy_sh.SH			Hold site-wide preferences between Configure runs.
+Porting/acknowledgements.pl	Generate perldelta acknowledgements text
 Porting/add-package.pl		Add/Update CPAN modules that are part of Core
+Porting/bisect-example.sh	Example script to use with git bisect run
+Porting/bisect.pl		A tool to make bisecting easy
+Porting/bisect-runner.pl	Tool to be called by git bisect run
 Porting/bump-perl-version	bump the perl version in relevant files
 Porting/check83.pl		Check whether we are 8.3-friendly
 Porting/checkansi.pl		Check source code for ANSI-C violations
@@ -4466,15 +4854,11 @@
 Porting/corelist-diff		Tool to produce corelist diffs
 Porting/corelist-perldelta.pl	Generates data perldelta from Module::CoreList
 Porting/corelist.pl		Generates data for Module::CoreList
-Porting/curliff.pl		Curliff or liff your curliffable files.
 Porting/epigraphs.pod		the release epigraphs used over the years
 Porting/exec-bit.txt		List of files that get +x in release tarball
+Porting/exercise_makedef.pl	Brute force testing for makedef.pl
 Porting/expand-macro.pl		A tool to expand C macro definitions in the Perl source
 Porting/findrfuncs		Find reentrant variants of functions used in an executable
-Porting/findvars		Find occurrences of words
-Porting/fixCORE			Find and fix modules that generate warnings
-Porting/fixvars			Find undeclared variables with C compiler and fix em
-Porting/genlog			Generate formatted changelogs by querying p4d
 Porting/git-deltatool		Mark commits for perldelta in git notes
 Porting/git-find-p4-change	Find the change for a p4 change number
 Porting/git-make-p4-refs	Output git refs for each p4 change number, suitable for appending to .git/packed-refs
@@ -4481,29 +4865,39 @@
 Porting/GitUtils.pm		Generate the contents of a .patch file
 Porting/Glossary		Glossary of config.sh variables
 Porting/how_to_write_a_perldelta.pod	Bluffer's guide to writing a perldelta.
+Porting/leakfinder.pl		Hacky script for finding memory leaks
 Porting/Maintainers		Program to pretty print info in Maintainers.pl
 Porting/Maintainers.pl		Information about maintainers
 Porting/Maintainers.pm		Library to pretty print info in Maintainers.pl
 Porting/make_dot_patch.pl	Make a .patch file from a git WD
 Porting/makemeta		Create the top-level META.yml
+Porting/make_modlib_cpan.pl	Generates the list of CPAN sites in perlmodlib
 Porting/makerel			Release making utility
+Porting/make-rmg-checklist	Generates a checklist 4 the release manager
 Porting/make_snapshot.pl	Make a tgz snapshot of our tree with a .patch file in it
 Porting/manicheck		Check against MANIFEST
 Porting/manisort		Sort the MANIFEST
+Porting/new-perldelta.pl	Generate a new perldelta
 Porting/newtests-perldelta.pl	Generate Perldelta stub for newly added tests
 Porting/perldelta_template.pod	Template for creating new perldelta.pod files
 Porting/perlhist_calculate.pl		Perform calculations to update perlhist
+Porting/pod_lib.pl		Code for handling generated pods
+Porting/pod_rules.pl		generate lists of pod files for Makefiles
 Porting/podtidy			Reformat pod using Pod::Tidy
 Porting/pumpkin.pod		Guidelines and hints for Perl maintainers
+Porting/README.pod			Outline of contents of Porting directory
 Porting/README.y2038		Perl notes for the 2038 fix
+Porting/release_announcement_template.txt
 Porting/release_managers_guide.pod	Release Manager's Guide
 Porting/release_schedule.pod	Schedule for future releases
 Porting/rt_list_patches		A tool to help you apply patches from RT
 Porting/sort_perldiag.pl	Keep our diagnostics orderly
+Porting/sync-with-cpan		Sync with CPAN
 Porting/testall.atom		Cumulative profile with Third Degree
 Porting/thirdclean		Cleanup Third Degree reports
 Porting/timecheck2.c		Test program for the 2038 fix
 Porting/timecheck.c		Test program for the 2038 fix
+Porting/todo.pod		Perl things to do
 Porting/valgrindpp.pl		Summarize valgrind reports
 pp.c				Push/Pop code
 pp_ctl.c			Push/Pop code for control flow
@@ -4520,7 +4914,6 @@
 README				The Instructions
 README.aix			Perl notes for AIX
 README.amiga			Perl notes for AmigaOS
-README.beos			Perl notes for BeOS
 README.bs2000			Perl notes for POSIX-BC BS2000
 README.ce			Perl notes for WinCE
 README.cn			Perl for Simplified Chinese (in EUC-CN)
@@ -4527,7 +4920,6 @@
 README.cygwin			Perl notes for Cygwin
 README.dgux			Perl notes for DG/UX
 README.dos			Perl notes for DOS
-README.epoc			Perl notes for EPOC
 README.freebsd			Perl notes for FreeBSD
 README.haiku			Perl notes for Haiku
 README.hpux			Perl notes for HP-UX
@@ -4539,7 +4931,6 @@
 README.macos			Perl notes for Mac OS (Classic)
 README.macosx			Perl notes for Mac OS X
 README.micro			Notes about microperl
-README.mpeix			Perl notes for MPE/iX
 README.netware			Perl notes for NetWare
 README.openbsd			Perl notes for OpenBSD
 README.os2			Perl notes for OS/2
@@ -4552,8 +4943,6 @@
 README.symbian			Perl notes for Symbian
 README.tru64			Perl notes for Tru64
 README.tw			Perl for Traditional Chinese (in Big5)
-README.uts			Perl notes for UTS
-README.vmesa			Perl notes for VM/ESA
 README.vms			Notes about installing the VMS port
 README.vos			Perl notes for Stratus VOS
 README.win32			Perl notes for Windows
@@ -4563,8 +4952,12 @@
 regcomp.c			Regular expression compiler
 regcomp.h			Private declarations for above
 regcomp.sym			Data for regnodes.h
-regen/embed.pl			Produces {embed,embedvar,proto}.h, global.sym
+regen/embed_lib.pl		Reads embed.fnc and regen/opcodes
+regen/embed.pl			Produces {embed,embedvar,proto}.h
+regen/feature.pl		Generates feature.pm
 regen/keywords.pl		Program to write keywords.h
+regen/mg_vtable.pl		generate mg_vtable.h
+regen/mk_invlists.pl		Generates charclass_invlists.h
 regen/mk_PL_charclass.pl	Populate the PL_charclass table
 regen/opcode.pl			Opcode header generator
 regen/opcodes			Opcode data
@@ -4572,10 +4965,12 @@
 regen_perly.pl			generate perly.{act,h,tab} from perly.y
 regen.pl			Run all scripts that (re)generate files
 regen/reentr.pl			Reentrant interfaces
+regen/regcharclass_multi_char_folds.pl	Generate input for regcharclass.pl
 regen/regcharclass.pl		Generate regcharclass.h from inline data
 regen/regcomp.pl		Builder of regnodes.h
 regen/regen_lib.pl		Common file routines for generator scripts
 regen/uconfig_h.pl		generate uconfig.h (requires /bin/sh)
+regen/unicode_constants.pl	generate unicode_constants.h
 regen/warnings.pl		Program to write warnings.h and lib/warnings.pm
 regexec.c			Regular expression evaluator
 regexp.h			Public declarations for the above
@@ -4646,12 +5041,13 @@
 t/base/term.t			See if various terms work
 t/base/while.t			See if while work
 t/benchmark/rt26188-speed-up-keys-on-empty-hash.t	Benchmark if keys on empty hashes is fast enough
+t/bigmem/read.t			Check read() handles large offsets
+t/bigmem/vec.t			Check vec() handles large offsets
 t/cmd/elsif.t			See if else-if works
 t/cmd/for.t			See if for loops work
 t/cmd/mod.t			See if statement modifiers work
 t/cmd/subval.t			See if subroutine values work
 t/cmd/switch.t			See if switch optimizations work
-t/cmd/while.t			See if while loops work
 t/comp/bproto.t			See if builtins conform to their prototypes
 t/comp/cmdopt.t			See if command optimization works
 t/comp/colon.t			See if colons are parsed correctly
@@ -4712,6 +5108,7 @@
 t/io/pvbm.t			See if PVBMs break IO commands
 t/io/read.t			See if read works
 t/io/say.t			See if say works
+t/io/shm.t			See if SysV shared memory works
 t/io/tell.t			See if file seeking works
 t/io/through.t			See if pipe passes data intact
 t/io/utf8.t			See if file seeking works
@@ -4722,12 +5119,19 @@
 t/lib/common.pl			Helper for lib/{warnings,feature}.t
 t/lib/commonsense.t		See if configuration meets basic needs
 t/lib/compmod.pl		Helper for 1_compile.t
+t/lib/Count.pm			Helper for t/op/method.t
+t/lib/croak/mg			Test croak calls from mg.c
+t/lib/croak/op			Test croak calls from op.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.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
 t/lib/dbmt_common.pl		Common functionality for ?DBM_File tests
 t/lib/deprecate/Deprecated.pm	Deprecated module to test deprecate.pm
 t/lib/deprecate/Optionally.pm	Optionally deprecated module to test deprecate.pm
 t/lib/deprecate.t		Test deprecate.pm
+t/lib/Devel/nodb.pm		Module for t/run/switchd.t
 t/lib/Devel/switchd_empty.pm	Module for t/run/switchd.t
 t/lib/Devel/switchd.pm		Module for t/run/switchd.t
 t/lib/feature/bundle		Tests for feature bundles
@@ -4743,6 +5147,7 @@
 t/lib/mypragma.t		Test the example user pragma
 t/lib/no_load.t			Test that some modules don't load others
 t/lib/overload_fallback.t	Test that using overload 2x in a scope doesn't clobber fallback
+t/lib/overload_nomethod.t	Test that nomethod works as expected
 t/lib/proxy_constant_subs.t	Test that Proxy Constant Subs behave correctly
 t/lib/Sans_mypragma.pm		Test module for t/lib/mypragma.t
 t/lib/strict/refs		Tests of "use strict 'refs'" for strict.t
@@ -4749,6 +5154,7 @@
 t/lib/strict/subs		Tests of "use strict 'subs'" for strict.t
 t/lib/strict/vars		Tests of "use strict 'vars'" for strict.t
 t/lib/subs/subs			Tests of "use subs"
+t/lib/test_require.pm		A test file for t/op/inccode.t
 t/lib/test_use_14937.pm		A test pragma for t/comp/use.t
 t/lib/test_use.pm		A test pragma for t/comp/use.t
 t/lib/universal.t		Tests for functions in universal.c
@@ -4789,42 +5195,78 @@
 t/lib/warnings/utf8		Tests for utf8.c for warnings.t
 t/lib/warnings/util		Tests for util.c for warnings.t
 t/mro/basic_01_c3.t		mro tests
+t/mro/basic_01_c3_utf8.t	utf8 mro tests
 t/mro/basic_01_dfs.t		mro tests
+t/mro/basic_01_dfs_utf8.t	utf8 mro tests
 t/mro/basic_02_c3.t		mro tests
+t/mro/basic_02_c3_utf8.t	utf8 mro tests
 t/mro/basic_02_dfs.t		mro tests
+t/mro/basic_02_dfs_utf8.t	utf8 mro tests
 t/mro/basic_03_c3.t		mro tests
+t/mro/basic_03_c3_utf8.t	utf8 mro tests
 t/mro/basic_03_dfs.t		mro tests
+t/mro/basic_03_dfs_utf8.t	utf8 mro tests
 t/mro/basic_04_c3.t		mro tests
+t/mro/basic_04_c3_utf8.t	utf8 mro tests
 t/mro/basic_04_dfs.t		mro tests
+t/mro/basic_04_dfs_utf8.t	utf8 mro tests
 t/mro/basic_05_c3.t		mro tests
+t/mro/basic_05_c3_utf8.t	utf8 mro tests
 t/mro/basic_05_dfs.t		mro tests
+t/mro/basic_05_dfs_utf8.t	utf8 mro tests
 t/mro/basic.t			mro tests
+t/mro/basic_utf8.t		utf8 mro tests
 t/mro/c3_with_overload.t	mro tests
+t/mro/c3_with_overload_utf8.t	utf8 mro tests
 t/mro/complex_c3.t		mro tests
+t/mro/complex_c3_utf8.t		utf8 mro tests
 t/mro/complex_dfs.t		mro tests
+t/mro/complex_dfs_utf8.t	utf8 mro tests
 t/mro/dbic_c3.t			mro tests
+t/mro/dbic_c3_utf8.t		utf8 mro tests
 t/mro/dbic_dfs.t		mro tests
+t/mro/dbic_dfs_utf8.t		utf8 mro tests
 t/mro/inconsistent_c3.t		mro tests
+t/mro/inconsistent_c3_utf8.t	utf8 mro tests
 t/mro/isa_aliases.t		tests for shared @ISA arrays
+t/mro/isa_aliases_utf8.t	utf8 mro tests
 t/mro/isa_c3.t			test for optimisatised mro_get_linear_isa_c3
+t/mro/isa_c3_utf8.t		utf8 mro tests
 t/mro/isa_dfs.t			test for optimisatised mro_get_linear_isa_dfs
+t/mro/isa_dfs_utf8.t		utf8 mro tests
 t/mro/isarev.t			PL_isarev/mro::get_isarev tests
+t/mro/isarev_utf8.t		utf8 mro tests
 t/mro/method_caching.t		mro tests
+t/mro/method_caching_utf8.t	utf8 mro tests
 t/mro/next_edgecases.t		mro tests
+t/mro/next_edgecases_utf8.t	utf8 mro tests
 t/mro/next_goto.t		mro tests
+t/mro/next_goto_utf8.t		utf8 mro tests
 t/mro/next_inanon.t		mro tests
+t/mro/next_inanon_utf8.t	utf8 mro tests
 t/mro/next_ineval.t		mro tests
+t/mro/next_ineval_utf8.t	utf8 mro tests
 t/mro/next_method.t		mro tests
+t/mro/next_method_utf8.t	utf8 mro tests
 t/mro/next_NEXT.t		mro tests
+t/mro/next_NEXT_utf8.t		utf8 mro tests
 t/mro/next_skip.t		mro tests
+t/mro/next_skip_utf8.t		utf8 mro tests
 t/mro/overload_c3.t		mro tests
+t/mro/overload_c3_utf8.t	utf8 mro tests
 t/mro/overload_dfs.t		mro tests
 t/mro/package_aliases.t		mro tests
+t/mro/package_aliases_utf8.t	utf8 mro tests
 t/mro/pkg_gen.t			mro tests
+t/mro/pkg_gen_utf8.t		utf8 mro tests
 t/mro/recursion_c3.t		mro tests
+t/mro/recursion_c3_utf8.t	utf8 mro tests
 t/mro/recursion_dfs.t		mro tests
+t/mro/recursion_dfs_utf8.t	utf8 mro tests
 t/mro/vulcan_c3.t		mro tests
+t/mro/vulcan_c3_utf8.t		utf8 mro tests
 t/mro/vulcan_dfs.t		mro tests
+t/mro/vulcan_dfs_utf8.t		utf8 mro tests
 toke.c				The tokener
 t/op/64bitint.t			See if 64 bit integers work
 t/op/alarm.t			See if alarm works
@@ -4831,9 +5273,7 @@
 t/op/anonsub.t			See if anonymous subroutines work
 t/op/append.t			See if . works
 t/op/args.t			See if operations on @_ work
-t/op/arith.t			See if arithmetic works
-t/op/array_base.aux		Auxiliary file for the $[ test
-t/op/array_base.t		Tests for the $[, which is deprecated
+t/op/array_base.t		Tests for the remnant of $[
 t/op/array.t			See if array operations work
 t/op/assignwarn.t		See if OP= operators warn correctly for undef targets
 t/op/attrhand.t			See if attribute handlers work
@@ -4840,6 +5280,11 @@
 t/op/attrs.t			See if attributes on declarations work
 t/op/auto.t			See if autoincrement et all work
 t/op/avhv.t			See if pseudo-hashes work
+t/opbasic/arith.t			See if arithmetic works
+t/opbasic/cmp.t			See if the various string and numeric compare work
+t/opbasic/concat.t			See if string concatenation works
+t/opbasic/magic_phase.t		See if ${^GLOBAL_PHASE} works
+t/opbasic/qq.t			See if qq works
 t/op/bless.t			See if bless works
 t/op/blocks.t			See if BEGIN and friends work
 t/op/bop.t			See if bitops work
@@ -4850,14 +5295,17 @@
 t/op/chop.t			See if chop works
 t/op/chr.t			See if chr works
 t/op/closure.t			See if closures work
-t/op/cmp.t			See if the various string and numeric compare work
+t/op/closure_test.pl		Extra file for closure.t
 t/op/concat2.t			Tests too complex for concat.t
-t/op/concat.t			See if string concatenation works
 t/op/cond.t			See if conditional expressions work
 t/op/context.t			See if context propagation works
+t/op/coreamp.t			Test &foo() calls for CORE subs
+t/op/coresubs.t			Generic tests for CORE subs
 t/op/cproto.t			Check builtin prototypes
 t/op/crypt.t			See if crypt works
+t/op/current_sub.t		__SUB__ tests
 t/op/dbm.t			See if dbmopen/dbmclose work
+t/op/defined.t			See if defined() edge cases work
 t/op/defins.t			See if auto-insert of defined() works
 t/op/delete.t			See if delete works
 t/op/die_except.t		See if die/eval avoids $@ clobberage
@@ -4869,6 +5317,7 @@
 t/op/do.t			See if subroutines work
 t/op/each_array.t		See if array iterators work
 t/op/each.t			See if hash iterators work
+t/op/evalbytes.t		See if evalbytes operator works
 t/op/eval.t			See if eval operator works
 t/op/exec.t			See if exec, system and qx work
 t/op/exists_sub.t		See if exists(&sub) works
@@ -4880,6 +5329,8 @@
 t/op/filetest_t.t		See if -t file test works
 t/op/flip.t			See if range operator works
 t/op/fork.t			See if fork works
+t/op/for.t			See if for loops work
+t/op/fresh_perl_utf8.t		UTF8 tests for pads and gvs
 t/op/getpid.t			See if $$ and getppid work with threads
 t/op/getppid.t			See if getppid works
 t/op/glob.t			See if <*> works
@@ -4891,8 +5342,10 @@
 t/op/groups.t			See if $( works
 t/op/gv.t			See if typeglobs work
 t/op/hashassign.t		See if hash assignments work
+t/op/hash-rt85026.t		See if hash iteration/deletion works
 t/op/hash.t			See if the complexity attackers are repelled
 t/op/hashwarn.t			See if warnings for bad hash assignments work
+t/op/heredoc.t			See if heredoc edge and corner cases work
 t/op/inccode.t			See if coderefs work in @INC
 t/op/inccode-tie.t		See if tie to @INC works
 t/op/incfilter.t		See if the source filters in coderef-in- at INC work
@@ -4903,19 +5356,19 @@
 t/op/join.t			See if join works
 t/op/kill0.t			See if kill(0, $pid) works
 t/op/lc.t			See if lc, uc, lcfirst, ucfirst, quotemeta work
-t/op/lc_user.t			See if user-defined lc et alia work
 t/op/leaky-magic.t		See whether vars' magic leaks into packages
 t/op/length.t			See if length works
 t/op/lex_assign.t		See if ops involving lexicals or pad temps work
+t/op/lexsub.t			See if lexical subroutines work
 t/op/lex.t			Tests too complex for t/base/lex.t
 t/op/lfs.t			See if large files work for perlio
 t/op/list.t			See if array lists work
 t/op/localref.t			See if local ${deref} works
 t/op/local.t			See if local works
+t/op/lock.t			Tests for lock args & retval (no threads)
 t/op/loopctl.t			See if next/last/redo work
 t/op/lop.t			See if logical operators work
 t/op/magic-27839.t		Test for #27839, skipped for minitest
-t/op/magic_phase.t		See if ${^GLOBAL_PHASE} works
 t/op/magic.t			See if magic variables work
 t/op/method.t			See if method calls work
 t/op/mkdir.t			See if mkdir works
@@ -4938,7 +5391,6 @@
 t/op/protowarn.t		See if the illegalproto warnings work
 t/op/push.t			See if push and pop work
 t/op/pwent.t			See if getpw*() functions work
-t/op/qq.t			See if qq works
 t/op/qr.t			See if qr works
 t/op/quotemeta.t		See if quotemeta works
 t/op/rand.t			See if rand works
@@ -4949,12 +5401,15 @@
 t/op/recurse.t			See if deep recursion works
 t/op/ref.t			See if refs and objects work
 t/op/repeat.t			See if x operator works
+t/op/require_37033.t		See if require always closes rsfp
 t/op/require_errors.t		See if errors from require are reported correctly
 t/op/reset.t			See if reset operator works
 t/op/reverse.t			See if reverse operator works
 t/op/runlevel.t			See if die() works from perl_call_*()
+t/op/select.t			See if 0- and 1-argument select works
 t/op/setpgrpstack.t		See if setpgrp works
 t/op/sigdispatch.t		See if signals are always dispatched
+t/op/sigsystem.t		See if system and SIGCHLD handlers play together nicely
 t/op/sleep.t			See if sleep works
 t/op/smartkve.t			See if smart deref for keys/values/each works
 t/op/smartmatch.t		See if the ~~ operator works
@@ -4972,7 +5427,10 @@
 t/op/study.t			See if study works
 t/op/studytied.t		See if study works with tied scalars
 t/op/sub_lval.t			See if lvalue subroutines work
+t/op/substr.t			See if substr works
+t/op/substr_thr.t		See if substr works in another thread
 t/op/sub.t			See if subroutines work
+t/op/svleak.pl			Test file for svleak.t
 t/op/svleak.t			See if stuff leaks SVs
 t/op/switch.t			See if switches (given/when) work
 t/op/symbolcache.t		See if undef/delete works on stashes with functions
@@ -4988,9 +5446,9 @@
 t/op/time_loop.t		Test that very large values don't hang gmtime and localtime.
 t/op/time.t			See if time functions work
 t/op/tr.t			See if tr works
-t/op/turkish.t			See if we can implement Turkish casing
 t/op/undef.t			See if undef works
 t/op/universal.t		See if UNIVERSAL class works
+t/op/unlink.t			See if unlink works
 t/op/unshift.t			See if unshift works
 t/op/upgrade.t			See if upgrading and assigning scalars works
 t/op/utf8cache.t		Tests malfunctions of utf8 cache
@@ -5002,7 +5460,7 @@
 t/op/ver.t			See if v-strings and the %v format flag work
 t/op/wantarray.t		See if wantarray works
 t/op/warn.t			See if warn works
-t/op/while_readdir.t		See if while(readdir) works
+t/op/while.t			See if while loops work
 t/op/write.t			See if write works (formats work)
 t/op/yadayada.t			See if ... works
 t/perl.supp			Perl valgrind suppressions
@@ -5009,19 +5467,28 @@
 t/porting/args_assert.t		Check that all PERL_ARGS_ASSERT* macros are used
 t/porting/authors.t		Check that all authors have been acknowledged
 t/porting/bincompat.t		Check that {non_,}bincompat_options are ordered
-t/porting/buildtoc.t		Check that various pod lists are consistent
 t/porting/checkcase.t		Check whether we are case-insensitive-fs-friendly
+t/porting/checkcfgvar.t		Check that all config.sh-like files are good
 t/porting/cmp_version.t		Test whether all changed module files have their VERSION bumped
+t/porting/customized.dat		Data file for porting/customized.t
+t/porting/customized.t		Check all CUSTOMIZED files are as they should be
 t/porting/diag.t		Test completeness of perldiag.pod
 t/porting/dual-life.t		Check that dual-life bins are in utils/
 t/porting/exec-bit.t		Check that exec-bit bins are identified
+t/porting/extrefs.t		Check perl headers don't make extern refs
 t/porting/filenames.t		Check the MANIFEST for filename portability.
 t/porting/FindExt.t		Test win32/FindExt.pm
+t/porting/globvar.t		Check that globvar.sym is sane
+t/porting/known_pod_issues.dat	Data file for porting/podcheck.t
 t/porting/maintainers.t		Test that Porting/Maintainers.pl is up to date
 t/porting/manifest.t		Test that this MANIFEST file is well formed
+t/porting/pending-author.t	Check if any pending commit would break tests
+t/porting/perlfunc.t		Test that Functions_pm.PL can parse perlfunc.pod
 t/porting/podcheck.t		Test the POD of shipped modules is well formed
+t/porting/pod_rules.t		Check that various pod lists are consistent
 t/porting/regen.t		Check that regen.pl doesn't need running
 t/porting/test_bootstrap.t	Test that the instructions for test bootstrapping aren't accidentally overlooked.
+t/porting/utils.t		Check that utility scripts still compile
 t/README			Instructions for regression tests
 t/re/charset.t			See if regex modifiers like /d, /u work properly
 t/re/fold_grind.t		See if case folding works properly
@@ -5039,10 +5506,12 @@
 t/re/pat_special_cc_thr.t	See if special charclasses (\s \w \d) work the same as (\s and [\s]) under threads
 t/re/pat.t			See if esoteric patterns work
 t/re/pat_thr.t			See if esoteric patterns work in another thread
+t/re/pos.t			Ensure pos() gets set properly after pre-match failures in pp_match
 t/re/qr-72922.t			Test for bug #72922
 t/re/qr_gc.t			See if qr doesn't leak
 t/re/qrstack.t			See if qr expands the stack properly
 t/re/qr.t			See if qr works
+t/re/recompile.t		See if pattern caching/recompilation works
 t/re/reg_60508.t		See if bug #60508 is fixed
 t/re/reg_email.t		See if regex recursion works by parsing email addresses
 t/re/reg_email_thr.t		See if regex recursion works by parsing email addresses in another thread
@@ -5057,6 +5526,8 @@
 t/re/regexp_trielist.t		See if regular expressions work with trie optimisation
 t/re/regexp_unicode_prop.t	See if unicode properties work in regular expressions as expected
 t/re/regexp_unicode_prop_thr.t	See if unicode properties work in regular expressions as expected under threads
+t/re/regex_sets_compat.t	Test (?[ ]) is compatible with old [ ]
+t/re/regex_sets.t		Test (?[ ])
 t/re/reg_fold.t			See if case folding works properly
 t/re/reg_mesg.t			See if one can get regular expression errors
 t/re/reg_namedcapture.t		Make sure glob assignment doesn't break named capture
@@ -5066,16 +5537,18 @@
 t/re/re_tests			Regular expressions for regexp.t
 t/re/rxcode.t			See if /(?{ code })/ works
 t/re/subst_amp.t		See if $&-related substitution works
-t/re/substr.t			See if substr works
-t/re/substr_thr.t		See if substr works in another thread
 t/re/subst.t			See if substitution works
 t/re/substT.t			See if substitution works with -T
 t/re/subst_wamp.t		See if substitution works with $& present
 t/re/uniprops.t			Test unicode \p{} regex constructs
 t/run/cloexec.t			Test close-on-exec.
+t/run/dtrace.pl			For dtrace.t
+t/run/dtrace.t			Test for DTrace probes
 t/run/exit.t			Test perl's exit status.
+t/run/flib/broken.pm		Bad .pm file for switchM.t
 t/run/fresh_perl.t		Tests that require a fresh perl.
 t/run/locale.t		Tests related to locale handling
+t/run/mad.t			Test vs MAD environment
 t/run/noswitch.t		Test aliasing ARGV for other switch tests
 t/run/runenv.t			Test if perl honors its environment variables.
 t/run/script.t			See if script invocation works
@@ -5088,27 +5561,46 @@
 t/run/switchF1.t		Pathological tests for the -F switch
 t/run/switchF.t			Test the -F switch
 t/run/switchI.t			Test the -I switch
+t/run/switchM.t			Test the -M switch
 t/run/switchn.t			Test the -n switch
 t/run/switchp.t			Test the -p switch
 t/run/switcht.t			Test the -t switch
 t/run/switchx2.aux		Data for switchx.t
+t/run/switchx3.aux		Data for switchx.t
 t/run/switchx.aux		Data for switchx.t
 t/run/switchx.t			Test the -x switch
 t/TEST				The regression tester
 t/test.pl			Simple testing library
+t/test_pl/can_isa_ok.t		Tests for the simple testing library
+t/test_pl/_num_to_alpha.t	Tests for the simple testing library 
+t/test_pl/tempfile.t		Tests for the simple testing library
 t/thread_it.pl			Run regression tests in a new thread
+t/uni/attrs.t			See if Unicode attributes work
+t/uni/bless.t			See if Unicode bless works
 t/uni/cache.t			See if Unicode swash caching works
+t/uni/caller.t			See if Unicode doesn't get mangled in caller()
 t/uni/case.pl			See if Unicode casing works
 t/uni/chomp.t			See if Unicode chomp works
 t/uni/chr.t			See if Unicode chr works
 t/uni/class.t			See if Unicode classes work (\p)
+t/uni/eval.t			See if Unicode hints don't affect eval()
 t/uni/fold.t			See if Unicode folding works
+t/uni/goto.t			See if Unicode goto &sub works
 t/uni/greek.t			See if Unicode in greek works
+t/uni/gv.t			See if Unicode GVs work.
+t/uni/labels.t			See if Unicode labels work
 t/uni/latin2.t			See if Unicode in latin2 works
 t/uni/lex_utf8.t		See if Unicode in lexer works
 t/uni/lower.t			See if Unicode casing works
+t/uni/method.t			See if Unicode methods work
+t/uni/opcroak.t			See if Unicode croaks from op.c work
 t/uni/overload.t		See if Unicode overloading works
+t/uni/package.t			See if Unicode in package declarations works
+t/uni/parser.t			See if Unicode in the parser works in edge cases.
+t/uni/readline.t		See if Unicode filehandles in <FH> work
+t/uni/select.t			See if Unicode filehandles aren't mangled by select()
 t/uni/sprintf.t			See if Unicode sprintf works
+t/uni/stash.t			See if Unicode stashes work
 t/uni/tie.t			See if Unicode tie works
 t/uni/title.t			See if Unicode casing works
 t/uni/tr_7jis.t			See if Unicode tr/// in 7jis works
@@ -5115,8 +5607,12 @@
 t/uni/tr_eucjp.t		See if Unicode tr/// in eucjp works
 t/uni/tr_sjis.t			See if Unicode tr/// in sjis works
 t/uni/tr_utf8.t			See if Unicode tr/// in utf8 works
+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/fs.t			Test Win32 link for compatibility
+t/win32/runenv.t		Test if Win* perl honors its env variables
 t/win32/system.t		See if system works in Win*
 t/win32/system_tests		Test runner for system.t
 t/x2p/s2p.t			See if s2p/psed work
@@ -5123,6 +5619,7 @@
 uconfig64.sh			Configuration script for microperl for LP64
 uconfig.h			Configuration header for microperl
 uconfig.sh			Configuration script for microperl
+unicode_constants.h		compile-time macros for Unicode code points
 universal.c			The default UNIVERSAL package methods
 unixish.h			Defines that are assumed on Unix
 utf8.c				Unicode routines
@@ -5137,7 +5634,6 @@
 utils/cpan.PL			easily interact with CPAN from the command line
 utils/cpanp.PL			the cpanp utility
 utils/cpanp-run-perl.PL		the cpanp-run-perl utility
-utils/dprofpp.PL		Perl code profile post-processor
 utils/enc2xs.PL			Encode module generator
 utils/h2ph.PL			A thing to turn C .h files into perl .ph files
 utils/h2xs.PL			Program to make .xs files from C header files
@@ -5152,6 +5648,7 @@
 utils/perlivp.PL		installation verification procedure
 utils/piconv.PL			iconv(1), reinvented in perl
 utils/pl2pm.PL			A pl to pm translator
+utils/pod2html.PL		Translator to turn pod into HTML
 utils/prove.PL			The prove harness utility
 utils/ptardiff.PL		The ptardiff utility
 utils/ptargrep.PL		The ptargrep utility
@@ -5159,11 +5656,7 @@
 utils/shasum.PL			filter for computing SHA digests (analogous to md5sum)
 utils/splain.PL			Stand-alone version of diagnostics.pm
 utils/xsubpp.PL			External subroutine preprocessor
-uts/sprintf_wrap.c		sprintf wrapper for UTS
-uts/strtol_wrap.c		strtol wrapper for UTS
-vmesa/Makefile			VM/ESA Makefile
-vmesa/vmesa.c			VM/ESA-specific C code for Perl core
-vmesa/vmesaish.h		VM/ESA-specific C header for Perl core
+utils/zipdetails.PL			display the internal structure of zip files
 vms/descrip_mms.template	Template MM[SK] description file for build
 vms/ext/Filespec.pm		VMS-Unix file syntax interconversion
 vms/ext/filespec.t		See if VMS::Filespec functions work
@@ -5173,8 +5666,6 @@
 vms/mms2make.pl			convert descrip.mms to make syntax
 vms/munchconfig.c		performs shell $var substitution for VMS
 vms/myconfig.com		record local configuration info for bug report
-vms/sockadapt.c			glue for SockshShr socket support
-vms/sockadapt.h			glue for SockshShr socket support
 vms/test.com			DCL driver for regression tests
 vms/vms.c			VMS-specific C code for Perl core
 vms/vmsish.h			VMS-specific C header for Perl core
@@ -5183,7 +5674,6 @@
 vos/compile_full_perl.cm	VOS command macro to build "full" Perl
 vos/configure_full_perl.sh	VOS shell script to configure "full" perl before building
 vos/make_full_perl.sh		VOS shell script to build and test "full" perl
-vos/syslog.h			syslog header for VOS
 vos/vos.c			VOS emulations for missing POSIX functions
 vos/vosish.h			VOS-specific header file
 warnings.h			The warning numbers
@@ -5198,27 +5688,18 @@
 win32/ce-helpers/comp.pl	WinCE port
 win32/ce-helpers/makedist.pl	WinCE port
 win32/ce-helpers/registry.bat	WinCE port
-win32/config.bc			Win32 base line config.sh (Borland C++ build)
 win32/config.ce			WinCE port
 win32/config.gc			Win32 base line config.sh (MinGW build)
-win32/config.gc64		Win64 base line config.sh (MinGW build)
-win32/config.gc64nox		Win64 base line config.sh (MinGW build)
-win32/config_H.bc		Win32 config header (Borland C++ build)
 win32/config_H.ce		WinCE port
 win32/config_H.gc		Win32 config header (MinGW build)
-win32/config_H.gc64		Win64 config header (MinGW build)
-win32/config_H.gc64nox		Win64 config header (MinGW build)
 win32/config_h.PL		Perl code to convert Win32 config.sh to config.h
 win32/config_H.vc		Win32 config header (Visual C++ build)
-win32/config_H.vc64		Win64 config header (Visual C++ build)
 win32/config_sh.PL		Perl code to update Win32 config.sh from Makefile
 win32/config.vc			Win32 base line config.sh (Visual C++ build)
-win32/config.vc64		Win64 base line config.sh (Visual C++ build)
 win32/create_perllibst_h.pl	creates perllibst.h file for inclusion from perllib.c
 win32/distclean.bat		Remove _ALL_ files not listed here in MANIFEST
 win32/fcrypt.c			crypt() implementation
 win32/FindExt.pm		Scan for extensions
-win32/genmk95.pl		Perl code to generate command.com-usable makefile.95
 win32/include/arpa/inet.h	Win32 port
 win32/include/dirent.h		Win32 port
 win32/include/netdb.h		Win32 port
@@ -5227,7 +5708,6 @@
 win32/Makefile			Win32 makefile for NMAKE (Visual C++ build)
 win32/Makefile.ce		WinCE port
 win32/makefile.mk		Win32 makefile for DMAKE (BC++, VC++ builds)
-win32/mdelete.bat		multifile delete
 win32/perlexe.ico		perlexe.ico image file
 win32/perlexe.manifest		Assembly manifest file
 win32/perlexe.rc		associated perl binary with icon
@@ -5238,7 +5718,6 @@
 win32/perl.rc			WinCE port
 win32/pod.mak			Win32 port
 win32/runperl.c			Win32 port
-win32/sync_ext.pl		Win32 port
 win32/vdir.h			Perl "host" virtual directory manager for CE
 win32/vmem.h			Perl "host" memory manager for CE
 win32/win32.c			Win32 port


Property changes on: vendor/perl/dist/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: vendor/perl/dist/META.json
===================================================================
--- vendor/perl/dist/META.json	                        (rev 0)
+++ vendor/perl/dist/META.json	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,135 @@
+{
+   "abstract" : "The Perl 5 language interpreter",
+   "author" : [
+      "perl5-porters at perl.org"
+   ],
+   "dynamic_config" : 1,
+   "generated_by" : "CPAN::Meta version 2.120921",
+   "license" : [
+      "perl_5"
+   ],
+   "meta-spec" : {
+      "version" : 2
+   },
+   "name" : "perl",
+   "no_index" : {
+      "directory" : [
+         "cpan",
+         "dist/Attribute-Handlers",
+         "dist/autouse",
+         "dist/base",
+         "dist/bignum",
+         "dist/Carp",
+         "dist/constant",
+         "dist/Cwd",
+         "dist/Data-Dumper",
+         "dist/Devel-SelfStubber",
+         "dist/Dumpvalue",
+         "dist/Env",
+         "dist/ExtUtils-CBuilder",
+         "dist/ExtUtils-Command",
+         "dist/ExtUtils-Install",
+         "dist/ExtUtils-Manifest",
+         "dist/ExtUtils-ParseXS",
+         "dist/Filter-Simple",
+         "dist/I18N-Collate",
+         "dist/I18N-LangTags",
+         "dist/if",
+         "dist/IO/",
+         "dist/lib/",
+         "dist/Locale-Maketext",
+         "dist/Math-BigInt",
+         "dist/Math-BigInt-FastCalc",
+         "dist/Math-BigRat",
+         "dist/Module-CoreList",
+         "dist/Net-Ping",
+         "dist/Safe",
+         "dist/Search-Dict",
+         "dist/SelfLoader",
+         "dist/Storable",
+         "dist/Term-Complete",
+         "dist/Term-ReadLine",
+         "dist/Text-Abbrev",
+         "dist/Thread-Queue",
+         "dist/Thread-Semaphore",
+         "dist/threads",
+         "dist/threads-shared",
+         "dist/Tie-File",
+         "dist/XSLoader",
+         "lib/version",
+         "mad",
+         "win32"
+      ],
+      "file" : [
+         "autodoc.pl",
+         "dist/IO/ChangeLog",
+         "dist/IO/hints/sco.pl",
+         "dist/IO/IO.pm",
+         "dist/IO/IO.xs",
+         "dist/IO/lib/IO/Dir.pm",
+         "dist/IO/lib/IO/File.pm",
+         "dist/IO/lib/IO/Handle.pm",
+         "dist/IO/lib/IO/Pipe.pm",
+         "dist/IO/lib/IO/Poll.pm",
+         "dist/IO/lib/IO/Seekable.pm",
+         "dist/IO/lib/IO/Select.pm",
+         "dist/IO/lib/IO/Socket.pm",
+         "dist/IO/lib/IO/Socket/INET.pm",
+         "dist/IO/lib/IO/Socket/UNIX.pm",
+         "dist/IO/Makefile.PL",
+         "dist/IO/poll.c",
+         "dist/IO/poll.h",
+         "dist/IO/README",
+         "dist/IO/t/cachepropagate-tcp.t",
+         "dist/IO/t/cachepropagate-udp.t",
+         "dist/IO/t/cachepropagate-unix.t",
+         "dist/IO/t/IO.t",
+         "dist/IO/t/io_const.t",
+         "dist/IO/t/io_dir.t",
+         "dist/IO/t/io_dup.t",
+         "dist/IO/t/io_file.t",
+         "dist/IO/t/io_file_export.t",
+         "dist/IO/t/io_linenum.t",
+         "dist/IO/t/io_multihomed.t",
+         "dist/IO/t/io_pipe.t",
+         "dist/IO/t/io_poll.t",
+         "dist/IO/t/io_sel.t",
+         "dist/IO/t/io_sock.t",
+         "dist/IO/t/io_taint.t",
+         "dist/IO/t/io_tell.t",
+         "dist/IO/t/io_udp.t",
+         "dist/IO/t/io_unix.t",
+         "dist/IO/t/io_utf8.t",
+         "dist/IO/t/io_utf8argv.t",
+         "dist/IO/t/io_xs.t",
+         "dist/lib/lib_pm.PL",
+         "dist/lib/Makefile.PL",
+         "dist/lib/t/01lib.t",
+         "lib/Exporter.pm",
+         "lib/Exporter.t",
+         "lib/Exporter/Heavy.pm",
+         "lib/unicore/mktables",
+         "lib/version.pm",
+         "lib/version.pod",
+         "pod/perlfilter.pod",
+         "pod/perlpodstyle.pod",
+         "Porting/Maintainers.pm",
+         "Porting/perldelta_template.pod",
+         "TestInit.pm"
+      ]
+   },
+   "release_status" : "stable",
+   "resources" : {
+      "bugtracker" : {
+         "web" : "http://rt.perl.org/perlbug/"
+      },
+      "homepage" : "http://www.perl.org/",
+      "license" : [
+         "http://dev.perl.org/licenses/"
+      ],
+      "repository" : {
+         "url" : "http://perl5.git.perl.org/"
+      }
+   },
+   "version" : "5.018001"
+}

Modified: vendor/perl/dist/META.yml
===================================================================
--- vendor/perl/dist/META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/META.yml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,23 +1,23 @@
+---
+abstract: 'The Perl 5 language interpreter'
+author:
+  - perl5-porters at perl.org
+build_requires: {}
+dynamic_config: 1
+generated_by: 'CPAN::Meta version 2.120921, CPAN::Meta::Converter version 2.120921'
+license: perl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
 name: perl
-version: 5.014000
-abstract: The Perl 5 language interpreter
-author: perl5-porters at perl.org
-license: perl
-resources:
-  homepage: http://www.perl.org/
-  bugtracker: http://rt.perl.org/perlbug/
-  license: http://dev.perl.org/licenses/
-  repository: http://perl5.git.perl.org/
-distribution_type: core
-generated_by: Porting/makemeta
 no_index:
   directory:
     - cpan
     - dist/Attribute-Handlers
     - dist/autouse
-    - dist/B-Lint
     - dist/base
     - dist/bignum
+    - dist/Carp
     - dist/constant
     - dist/Cwd
     - dist/Data-Dumper
@@ -29,7 +29,6 @@
     - dist/ExtUtils-Install
     - dist/ExtUtils-Manifest
     - dist/ExtUtils-ParseXS
-    - dist/File-CheckTree
     - dist/Filter-Simple
     - dist/I18N-Collate
     - dist/I18N-LangTags
@@ -42,18 +41,24 @@
     - dist/Math-BigRat
     - dist/Module-CoreList
     - dist/Net-Ping
-    - dist/Pod-Perldoc
     - dist/Safe
+    - dist/Search-Dict
     - dist/SelfLoader
     - dist/Storable
+    - dist/Term-Complete
+    - dist/Term-ReadLine
+    - dist/Text-Abbrev
     - dist/Thread-Queue
     - dist/Thread-Semaphore
     - dist/threads
     - dist/threads-shared
+    - dist/Tie-File
     - dist/XSLoader
     - lib/version
+    - mad
     - win32
   file:
+    - autodoc.pl
     - dist/IO/ChangeLog
     - dist/IO/hints/sco.pl
     - dist/IO/IO.pm
@@ -72,6 +77,9 @@
     - dist/IO/poll.c
     - dist/IO/poll.h
     - dist/IO/README
+    - dist/IO/t/cachepropagate-tcp.t
+    - dist/IO/t/cachepropagate-udp.t
+    - dist/IO/t/cachepropagate-unix.t
     - dist/IO/t/IO.t
     - dist/IO/t/io_const.t
     - dist/IO/t/io_dir.t
@@ -89,6 +97,7 @@
     - dist/IO/t/io_udp.t
     - dist/IO/t/io_unix.t
     - dist/IO/t/io_utf8.t
+    - dist/IO/t/io_utf8argv.t
     - dist/IO/t/io_xs.t
     - dist/lib/lib_pm.PL
     - dist/lib/Makefile.PL
@@ -96,12 +105,17 @@
     - lib/Exporter.pm
     - lib/Exporter.t
     - lib/Exporter/Heavy.pm
-    - lib/newgetopt.pl
     - lib/unicore/mktables
     - lib/version.pm
     - lib/version.pod
-    - lib/version.t
     - pod/perlfilter.pod
+    - pod/perlpodstyle.pod
     - Porting/Maintainers.pm
     - Porting/perldelta_template.pod
     - TestInit.pm
+resources:
+  bugtracker: http://rt.perl.org/perlbug/
+  homepage: http://www.perl.org/
+  license: http://dev.perl.org/licenses/
+  repository: http://perl5.git.perl.org/
+version: 5.018001


Property changes on: vendor/perl/dist/META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Makefile.SH
===================================================================
--- vendor/perl/dist/Makefile.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Makefile.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,14 @@
+#!/bin/sh
+
+# quote() - Creates a shell literal
+# Usage:  echo "...` quote "..." `..."
+quote() {
+	case "$1" in
+	'') echo "''" ;;
+	*)  echo "$1" | sed 's/\([^a-zA-Z0-9.:_\-\/]\)/\\\1/g' ;;
+	esac
+}
+
 case $PERL_CONFIG_SH in
 '')
 	if test -f config.sh
@@ -26,6 +37,7 @@
 */*) cd `expr X$0 : 'X\(.*\)/'` ;;
 esac
 
+pwd="`pwd`"
 linklibperl='$(LIBPERL)'
 linklibperl_nonshr=''
 shrpldflags='$(LDDLFLAGS)'
@@ -37,10 +49,8 @@
 	# Prefix all runs of 'miniperl' and 'perl' with
 	# $ldlibpth so that ./perl finds *this* shared libperl.
 	case "$LD_LIBRARY_PATH" in
-	'')
-		ldlibpth="LD_LIBRARY_PATH=`pwd`";;
-	*)
-		ldlibpth="LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}";;
+	'')  ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `" ;;
+	*)   ldlibpth="LD_LIBRARY_PATH=` quote "$pwd" `:` quote "$LD_LIBRARY_PATH" `" ;;
 	esac
 
 	pldlflags="$cccdlflags"
@@ -52,7 +62,7 @@
 		-compatibility_version 1 -current_version $patchlevel \
 		-prebind -seg1addr 0x27000000 -install_name \$(shrpdir)/\$@"
 		;;
-	rhapsody*|darwin*)
+	darwin*)
 		shrpldflags="${ldflags} -dynamiclib \
                             -compatibility_version \
 				${api_revision}.${api_version}.${api_subversion} \
@@ -119,19 +129,19 @@
 	        ldlibpth=''
 	        ;;
 	    *)
-		eval "ldlibpth=\"$ldlibpthname=`pwd`:\$$ldlibpthname\""
+		eval "ldlibpthval=\"\$$ldlibpthname\""
+
+		case "$ldlibpthval" in
+		'')  ldlibpth="$ldlibpthname=` quote "$pwd" `" ;;
+		*)   ldlibpth="$ldlibpthname=` quote "$pwd" `:` quote "$ldlibpthval" `" ;;
+		esac
+
 		;;
 	    esac
-	    # Strip off any trailing :'s
-	    ldlibpth=`echo $ldlibpth | sed 's/:*$//'`
+
 	    ;;
         esac
 
-	case "$ldlibpth" in
-	# Protect any spaces
-	*" "*) ldlibpth=`echo $ldlibpth|sed 's/ /\\\\ /g'` ;;
-	esac
-
 	case "$osname" in
 	linux)
 	    # If there is a pre-existing $libperl from a previous
@@ -164,10 +174,22 @@
 	;;
 esac
 
+: is Cwd static or dynamic
+static_cwd='define'
+list_util_dep='$(PERL_EXE)'
+for f in $dynamic_ext; do
+   case $f in
+       Cwd) static_cwd='undef' ;;
+       List/Util) list_util_dep=lib/auto/List/Util/Util.$dlext
+   esac
+done
+
 : Prepare dependency lists for Makefile.
 dynamic_list=' '
 dynamic_ext_re="lib/auto/re/re.$dlext"
-extra_dep=''
+extra_dep='
+ext/Pod-Functions/pm_to_blib: cpan/Pod-Simple/pm_to_blib cpan/Pod-Escapes/pm_to_blib pod/perlfunc.pod
+'
 for f in $dynamic_ext; do
     : the dependency named here will never exist
       base=`echo "$f" | sed 's/.*\///'`
@@ -176,16 +198,10 @@
 
     : Parallel makes reveal that we have some interdependencies
     case $f in
-	Encode) extra_dep="$extra_dep
-$this_target: lib/auto/Cwd/Cwd.$dlext" ;;
 	Math/BigInt/FastCalc|Devel/NYTProf) extra_dep="$extra_dep
-$this_target: lib/auto/List/Util/Util.$dlext" ;;
+$this_target: $list_util_dep" ;;
 	Unicode/Normalize) extra_dep="$extra_dep
 $this_target: uni.data" ;;
-	Text/ParseWords) extra_dep="$extra_dep
-$this_target: lib/auto/Scalar/Util.$dlext" ;;
-	SDBM_File) extra_dep="$extra_dep
-$this_target: lib/auto/Cwd/Cwd.$dlext" ;;
     esac
 done
 
@@ -290,7 +306,7 @@
 
 # These variables may need to be manually set for non-Unix systems.
 AR = $full_ar
-HOST_EXE_EXT = 
+HOST_EXE_EXT = $_exe
 EXE_EXT = $_exe
 LIB_EXT = $_a
 OBJ_EXT = $_o
@@ -327,10 +343,21 @@
 
 # Mention $gmake here so it gets probed for by Configure.
 
+!GROK!THIS!
+
+case "${osname}" in
+linux*|darwin)
+$spitshell >>$Makefile <<!GROK!THIS!
 # If you're going to use valgrind and it can't be invoked as plain valgrind
 # then you'll need to change this, or override it on the make command line.
-VALGRIND=valgrind
+VALGRIND ?= valgrind
+VG_TEST  ?= ./perl -e 1 2>/dev/null
 
+!GROK!THIS!
+	;;
+esac
+
+$spitshell >>$Makefile <<!GROK!THIS!
 DTRACE = $dtrace
 DTRACE_H = $dtrace_h
 DTRACE_O = $dtrace_o
@@ -432,6 +459,7 @@
 # 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
@@ -438,11 +466,12 @@
 unidatadirs = lib/unicore/To lib/unicore/lib
 
 h1 = EXTERN.h INTERN.h XSUB.h av.h $(CONFIGH) cop.h cv.h dosish.h
-h2 = embed.h form.h gv.h handy.h hv.h keywords.h mg.h op.h opcode.h
+h2 = embed.h form.h gv.h handy.h hv.h hv_func.h keywords.h mg.h op.h opcode.h
 h3 = pad.h patchlevel.h perl.h perlapi.h perly.h pp.h proto.h regcomp.h
 h4 = regexp.h scope.h sv.h unixish.h util.h iperlsys.h thread.h
 h5 = utf8.h warnings.h mydtrace.h op_reg_common.h l1_char_class_tab.h
-h = $(h1) $(h2) $(h3) $(h4) $(h5)
+h6 = charclass_invlists.h
+h = $(h1) $(h2) $(h3) $(h4) $(h5) $(h6)
 
 c1 = av.c scope.c op.c doop.c doio.c dump.c gv.c hv.c mg.c reentr.c mro.c perl.c
 c2 = perly.c pp.c pp_hot.c pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c sv.c
@@ -453,19 +482,21 @@
 c = $(c1) $(c2) $(c3) $(c4) $(c5) miniperlmain.c opmini.c perlmini.c
 
 obj0 = op$(OBJ_EXT) perl$(OBJ_EXT)
+obj0mini = perlmini$(OBJ_EXT) opmini$(OBJ_EXT) miniperlmain$(OBJ_EXT)
 obj1 = $(madlyobj) $(mallocobj) gv$(OBJ_EXT) toke$(OBJ_EXT) perly$(OBJ_EXT) pad$(OBJ_EXT) regcomp$(OBJ_EXT) dump$(OBJ_EXT) util$(OBJ_EXT) mg$(OBJ_EXT) reentr$(OBJ_EXT) mro$(OBJ_EXT) keywords$(OBJ_EXT)
 obj2 = hv$(OBJ_EXT) av$(OBJ_EXT) run$(OBJ_EXT) pp_hot$(OBJ_EXT) sv$(OBJ_EXT) pp$(OBJ_EXT) scope$(OBJ_EXT) pp_ctl$(OBJ_EXT) pp_sys$(OBJ_EXT)
 obj3 = doop$(OBJ_EXT) doio$(OBJ_EXT) regexec$(OBJ_EXT) utf8$(OBJ_EXT) taint$(OBJ_EXT) deb$(OBJ_EXT) universal$(OBJ_EXT) globals$(OBJ_EXT) perlio$(OBJ_EXT) perlapi$(OBJ_EXT) numeric$(OBJ_EXT) mathoms$(OBJ_EXT) locale$(OBJ_EXT) pp_pack$(OBJ_EXT) pp_sort$(OBJ_EXT)
 
-minindt_obj = $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
+minindt_obj = $(obj0mini) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
 mini_obj = $(minindt_obj) $(MINIDTRACE_O)
 ndt_obj = $(obj0) $(obj1) $(obj2) $(obj3) $(ARCHOBJS)
 obj = $(ndt_obj) $(DTRACE_O)
 
-perltoc_pod_prereqs = extra.pods pod/perl5142delta.pod pod/perlapi.pod pod/perlintern.pod pod/perlmodlib.pod pod/perluniprops.pod
+perltoc_pod_prereqs = extra.pods pod/perl5181delta.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
 
-Icwd = -Idist/Cwd -Idist/Cwd/lib
+Icwd = -Idist/Cwd -Idist/Cwd/lib -Idist/Carp/lib
 
 lintflags = \
     -b \
@@ -555,11 +586,15 @@
 # Making utilities and translators require Cwd.  If we have dynamic
 # loading, we only need miniperl and Cwd.$dlext.  If we have static
 # loading, we need to build perl first.
-case "$usedl" in
-define)
+case "$usedl$static_cwd" in
+defineundef)
     util_deps='$(MINIPERL_EXE) $(CONFIGPM) lib/auto/Cwd/Cwd$(DLSUFFIX) FORCE'
      x2p_deps='$(MINIPERL_EXE) $(CONFIGPM) $(dynamic_ext) FORCE'
     ;;
+definedefine)
+    util_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
+     x2p_deps='$(PERL_EXE) $(CONFIGPM) $(dynamic_ext) FORCE'
+    ;;
 *)  util_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
      x2p_deps='$(PERL_EXE) $(CONFIGPM) FORCE'
     ;;
@@ -572,6 +607,9 @@
 x2p/s2p: $x2p_deps
 	cd x2p; \$(LDLIBPTH) \$(MAKE) s2p
 
+x2p/find2perl: $x2p_deps
+	cd x2p; \$(LDLIBPTH) \$(MAKE) find2perl
+
 utilities:	$util_deps
 	@echo " "; echo "	Making utilities"; cd utils; \$(LDLIBPTH) \$(MAKE) all
 
@@ -619,13 +657,15 @@
 
 $spitshell >>$Makefile <<'!NO!SUBS!'
 
-globals$(OBJ_EXT): uudmap.h bitcount.h
+globals$(OBJ_EXT): $(generated_headers)
 
-uudmap.h: bitcount.h
+uudmap.h mg_data.h: bitcount.h
 
 bitcount.h: generate_uudmap$(HOST_EXE_EXT)
-	$(RUN) ./generate_uudmap$(HOST_EXE_EXT) uudmap.h bitcount.h
+	$(RUN) ./generate_uudmap$(HOST_EXE_EXT) $(generated_headers)
 
+generate_uudmap$(OBJ_EXT): mg_raw.h
+
 generate_uudmap$(HOST_EXE_EXT): generate_uudmap$(OBJ_EXT)
 	$(CC) -o generate_uudmap$(EXE_EXT) $(LDFLAGS) generate_uudmap$(OBJ_EXT) $(libs)
 
@@ -696,8 +736,8 @@
 	;;
 	esac
 	$spitshell >>$Makefile <<'!NO!SUBS!'
-perl.exp: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH)
-	./$(MINIPERLEXP) makedef.pl PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" | sort -u | sort -f > perl.exp
+perl.exp: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH)
+	./$(MINIPERLEXP) makedef.pl --sort-fold PLATFORM=aix CC_FLAGS="$(OPTIMIZE)" > perl.exp
 
 !NO!SUBS!
 	;;
@@ -705,7 +745,7 @@
 	$spitshell >>$Makefile <<'!NO!SUBS!'
 MINIPERLEXP		= miniperl
 
-perl5.def: $(MINIPERLEXP) makedef.pl config.sh $(SYM) $(SYMH) miniperl.map
+perl5.def: $(MINIPERLEXP) makedef.pl $(CONFIGPM) $(SYM) $(SYMH) miniperl.map
 	./$(MINIPERLEXP) makedef.pl PLATFORM=os2 -DPERL_DLL=$(PERL_DLL) CC_FLAGS="$(OPTIMIZE)" > perl5.def
 
 !NO!SUBS!
@@ -735,8 +775,11 @@
 	case "$dtrace_h" in
 	?*)
 		$spitshell >>$Makefile <<'!NO!SUBS!'
+# dtrace dicards const qualifiers from arguments, put them back
 $(DTRACE_H): perldtrace.d
-	$(DTRACE) -h -s perldtrace.d -o $(DTRACE_H)
+	$(DTRACE) -h -s perldtrace.d -o $(DTRACE_H).in
+	sed -e '/const/!s/char \*/const char */g' $(DTRACE_H).in >$(DTRACE_H)
+	$(RMS) $(DTRACE_H).in
 
 mydtrace.h: $(DTRACE_H)
 
@@ -749,8 +792,8 @@
 $(DTRACE_O): perldtrace.d $(ndt_obj)
 	$(DTRACE) -G -s perldtrace.d -o $(DTRACE_O) $(ndt_obj)
 
-$(MINIDTRACE_O): perldtrace.d $(minindt_obj)
-	$(DTRACE) -G -s perldtrace.d -o $(MINIDTRACE_O) $(minindt_obj)
+$(MINIDTRACE_O): perldtrace.d $(minindt_obj) perlmini$(OBJ_EXT)
+	$(DTRACE) -G -s perldtrace.d -o $(MINIDTRACE_O) $(minindt_obj) perlmini$(OBJ_EXT)
 
 !NO!SUBS!
 		;;
@@ -797,20 +840,17 @@
 !NO!SUBS!
 
 	case "${osname}${osvers}" in
-	aix*|beos*)
+	aix*)
 		$spitshell >>$Makefile <<'!NO!SUBS!'
-$(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) opmini$(OBJ_EXT) perlmini$(OBJ_EXT)
-	$(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) \
-	    $(mini_obj) \
-	    miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
+$(MINIPERL_EXE): $& $(mini_obj)
+	$(CC) -o $(MINIPERL_EXE) $(CLDFLAGS) $(mini_obj) $(libs)
 	$(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
 !NO!SUBS!
 		;;
 	next4*)
 		$spitshell >>$Makefile <<'!NO!SUBS!'
-$(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) perlmini$(OBJ_EXT) opmini$(OBJ_EXT)
-	$(CC) -o $(MINIPERL_EXE) $(mini_obj) \
-	    miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
+$(MINIPERL_EXE): $& $(mini_obj)
+	$(CC) -o $(MINIPERL_EXE) $(mini_obj) $(libs)
 	$(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
 !NO!SUBS!
 		;;
@@ -828,21 +868,19 @@
 		    ;;
 		esac
 		$spitshell >>$Makefile <<'!NO!SUBS!'
-$(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) opmini$(OBJ_EXT) perlmini$(OBJ_EXT)
+$(MINIPERL_EXE): $& $(mini_obj)
 	- at rm -f miniperl.xok
 	$(CC) $(CLDFLAGS) $(NAMESPACEFLAGS) -o $(MINIPERL_EXE) \
-	    $(mini_obj) \
-	    miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
+	    $(mini_obj) $(libs)
 	$(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
 !NO!SUBS!
 		;;
 	*)
 		$spitshell >>$Makefile <<'!NO!SUBS!'
-$(MINIPERL_EXE): $& miniperlmain$(OBJ_EXT) $(mini_obj) opmini$(OBJ_EXT) perlmini$(OBJ_EXT)
+$(MINIPERL_EXE): $& $(mini_obj)
 	- at rm -f miniperl.xok
 	$(LDLIBPTH) $(CC) $(CLDFLAGS) -o $(MINIPERL_EXE) \
-	    $(mini_obj) \
-	    miniperlmain$(OBJ_EXT) opmini$(OBJ_EXT) perlmini$(OBJ_EXT) $(libs)
+	    $(mini_obj) $(libs)
 	$(LDLIBPTH) $(RUN) ./miniperl$(HOST_EXE_EXT) -w -Ilib -MExporter -e '<?>' || $(MAKE) minitest
 !NO!SUBS!
 		;;
@@ -865,8 +903,13 @@
 quant$(PERL_EXE): $& perlmain$(OBJ_EXT) $(LIBPERL) $(static_ext) ext.libs $(PERLEXPORT)
 	$(SHRPENV) $(LDLIBPTH) quantify $(CC) -o quantperl $(CLDFLAGS) $(CCDLFLAGS) perlmain$(OBJ_EXT) $(static_ext) $(LLIBPERL) `cat ext.libs` $(libs)
 
-# Valgrind perl (currently Linux only)
+!NO!SUBS!
 
+case "${osname}${osvers}" in
+linux*|darwin*)
+	$spitshell >>$Makefile <<'!NO!SUBS!'
+# Valgrind perl (currently Linux, Darwin only)
+
 perl.valgrind.config: config.sh
 	@echo "To build perl.valgrind you must Configure -Doptimize=-g -Uusemymalloc, checking..."
 	@$(MAKE) perl.config.dashg
@@ -874,8 +917,13 @@
 	@grep "^usemymalloc="    config.sh
 	@grep "^usemymalloc='n'" config.sh >/dev/null || exit 1
 	@echo "And of course you have to have valgrind..."
-	$(VALGRIND) ./perl -e 1 2>/dev/null || exit 1
+	$(VALGRIND) $(VG_TEST) || exit 1
+!NO!SUBS!
+	;;
+esac	
 
+$spitshell >>$Makefile <<'!NO!SUBS!'
+
 # Third Degree Perl (Tru64 only)
 
 perl.config.dashg:
@@ -1010,7 +1058,7 @@
 # But also this ensures that all extensions are built before we try to scan
 # them, which picks up Devel::PPPort's documentation.
 pod/perltoc.pod: $(perltoc_pod_prereqs)  $(PERL_EXE) $(ext) pod/buildtoc
-	$(RUN_PERL) -f -Ilib pod/buildtoc --build-toc -q
+	$(RUN_PERL) -f -Ilib pod/buildtoc -q
 
 pod/perlapi.pod: pod/perlintern.pod
 
@@ -1020,8 +1068,9 @@
 pod/perlmodlib.pod: $(MINIPERL_EXE) pod/perlmodlib.PL MANIFEST
 	$(MINIPERL) $(Icwd) pod/perlmodlib.PL -q
 
-pod/perl5142delta.pod: pod/perldelta.pod
-	$(LNS) perldelta.pod pod/perl5142delta.pod
+pod/perl5181delta.pod: pod/perldelta.pod
+	$(RMS) pod/perl5181delta.pod
+	$(LNS) perldelta.pod pod/perl5181delta.pod
 
 extra.pods: $(MINIPERL_EXE)
 	- at test ! -f extra.pods || rm -f `cat extra.pods`
@@ -1044,19 +1093,19 @@
 .PHONY: install install-strip install-all install-verbose install-silent \
 	no-install install.perl install.man install.html
 
-install-strip:
+install_strip install-strip:
 	$(MAKE) STRIPFLAGS=-s install DESTDIR="$(DESTDIR)"
 
-install install-all:
+install install_all install-all:
 	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) DESTDIR="$(DESTDIR)"
 
-install-verbose:
+install_verbose install-verbose:
 	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-V DESTDIR="$(DESTDIR)"
 
-install-silent:
+install_silent install-silent:
 	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-S DESTDIR="$(DESTDIR)"
 
-no-install:
+no_install no-install:
 	$(MAKE) install.perl install.man STRIPFLAGS=$(STRIPFLAGS) INSTALLFLAGS=-n DESTDIR="$(DESTDIR)"
 
 # Set this to an empty string to avoid an attempt of rebuild before install
@@ -1079,7 +1128,6 @@
       --htmlroot=$(privlib)/html  \
       --splithead=pod/perlipc     \
       --splititem=pod/perlfunc    \
-      --libpods=perlfunc:perlguts:perlvar:perlrun:perlop \
       --ignore=Porting/Maintainers.pm,Porting/pumpkin.pod,Porting/repository.pod \
       --verbose
 
@@ -1091,11 +1139,11 @@
 
 .PHONY: regen_perly
 
-run_byacc:
+run_byacc run-byacc:
 	@echo "run_byacc is obsolete; try 'make regen_perly' instead"
 
 # this outputs perly.h, perly.act and perly.tab
-regen_perly:
+regen_perly regen-perly:
 	perl regen_perly.pl
 
 # We don't want to regenerate perly.c and perly.h, but they might
@@ -1107,7 +1155,7 @@
 perly.h: perly.y
 	- at sh -c true
 
-SYM  = global.sym globvar.sym perlio.sym
+SYM  = globvar.sym perlio.sym
 
 SYMH = perlvars.h intrpvar.h
 
@@ -1114,11 +1162,11 @@
 CHMOD_W = chmod +w
 
 # The following files are generated automatically
-#	embed.pl:	proto.h embed.h embedvar.h global.sym
-#			perlapi.h perlapi.c 
+#	embed.pl:	proto.h embed.h embedvar.h perlapi.h perlapi.c
 #	opcode.pl:	opcode.h opnames.h pp_proto.h
 #	regcomp.pl:	regnodes.h
 #	warnings.pl:	warnings.h lib/warnings.pm
+#	feature.pl:	feature.h lib/feature.pm
 # The correct versions should be already supplied with the perl kit,
 # in case you don't have perl available.
 # To force them to be regenerated, run
@@ -1126,27 +1174,31 @@
 # with your existing copy of perl
 # (make regen_headers is kept for backwards compatibility)
 
-AUTOGEN_FILES = opcode.h opnames.h pp_proto.h proto.h \
-		embed.h embedvar.h global.sym \
-		perlapi.h perlapi.c regnodes.h \
-		warnings.h lib/warnings.pm
+AUTOGEN_FILES = opcode.h opnames.h pp_proto.h proto.h embed.h embedvar.h \
+		perlapi.h perlapi.c regnodes.h warnings.h lib/warnings.pm \
+		lib/feature.pm feature.h
 
 .PHONY: regen_headers regen_all
 
 regen:	FORCE
 	-perl regen.pl
+	-perl regen/uconfig_h.pl
 
-regen_headers:	FORCE
+regen_headers regen-headers:	FORCE
 	-perl regen.pl -v
+	-perl regen/uconfig_h.pl -v
 
-regen_meta:  META.yml
+regen_meta regen-meta:  META.yml META.json
 
 META.yml:   FORCE
-	PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -Ilib Porting/makemeta
+	PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -Ilib Porting/makemeta -y
 
+META.json:   FORCE
+	PATH="`pwd`:${PATH}" PERL5LIB="`pwd`/lib" $(RUN_PERL) -Ilib Porting/makemeta -j
 
-regen_all: regen regen_meta
 
+regen_all regen-all: regen regen_meta
+
 .PHONY:	manisort manicheck
 
 manisort:	FORCE
@@ -1169,7 +1221,7 @@
 $(DYNALOADER):	$(MINIPERL_EXE) lib/buildcustomize.pl preplibrary FORCE $(nonxs_ext)
 	$(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=static $(STATIC_LDFLAGS)
 
-d_dummy $(dynamic_ext):	$(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT)
+d_dummy $(dynamic_ext):	$(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE $(PERLEXPORT) $(LIBPERL)
 	$(MINIPERL) make_ext.pl $@ MAKE=$(MAKE) LIBPERL_A=$(LIBPERL) LINKTYPE=dynamic
 
 s_dummy $(static_ext):	$(MINIPERL_EXE) lib/buildcustomize.pl preplibrary makeppport $(DYNALOADER) FORCE
@@ -1213,11 +1265,11 @@
 
 # Do not 'make _mopup' directly.
 _mopup:
-	rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c opmini.c perlmini.c uudmap.h generate_uudmap$(EXE_EXT) bitcount.h
+	rm -f *$(OBJ_EXT) *$(LIB_EXT) all perlmain.c opmini.c perlmini.c generate_uudmap$(EXE_EXT) $(generated_headers)
 	-rmdir .depending
 	- at test -f extra.pods && rm -f `cat extra.pods`
 	- at test -f vms/README_vms.pod && rm -f vms/README_vms.pod
-	-rm -f perl.exp ext.libs $(generated_pods) uni.data opmini.o perlmini.o
+	-rm -f perl.exp ext.libs $(generated_pods) uni.data opmini.o perlmini.o pod/roffitall
 	-rm -f perl.export perl.dll perl.libexp perl.map perl.def
 	-rm -f perl.loadmap miniperl.loadmap perl.prelmap miniperl.prelmap
 	-rm -f perl.third lib*.so.perl.third perl.3log t/perl.third t/perl.3log
@@ -1259,7 +1311,8 @@
 _cleaner2:
 	-rm -f core.*perl.*.? t/core.perl.*.? .?*.c
 	rm -f core *perl.core t/core t/*perl.core core.* t/core.*
-	rm -f t/misctmp* t/forktmp* t/tmp* t/c t/$(PERL_EXE) t/rantests
+	rm -f t/$(PERL_EXE) t/rantests
+	rm -rf t/tmp*
 	rm -f so_locations $(LIBPERL_NONSHR) $(MINIPERL_NONSHR)
 	rm -rf $(addedbyconf)
 	rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old makefile.old
@@ -1280,10 +1333,12 @@
 	rm -fr lib/B
 	rm -fr lib/CPAN lib/CPANPLUS
 	rm -fr lib/ExtUtils/CBuilder
+	rm -f pod2htmd.tmp
+	rm -rf pod/perlfunc pod/perlipc
 	-rmdir cpan/CPANPLUS-Dist-Build/t/dummy-cpanplus cpan/CPANPLUS/t/dummy-cpanplus cpan/CPANPLUS/t/dummy-localmirror
 	-rmdir ext/B/lib
 	-rmdir lib/Archive/Tar lib/Archive lib/Attribute
-	-rmdir lib/CGI
+	-rmdir lib/CGI lib/Carp
 	-rmdir lib/Data lib/Devel lib/Digest
 	-rmdir lib/ExtUtils/Command lib/ExtUtils/Constant lib/ExtUtils/Liblist lib/ExtUtils/MakeMaker
 	-rmdir lib/File/Spec lib/Filter/Util lib/Filter
@@ -1370,7 +1425,9 @@
 
 test_prep_pre: preplibrary utilities $(nonxs_ext)
 
-test_prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) $(dynamic_ext) $(TEST_PERL_DLL) runtests x2p/s2p $(generated_pods)
+test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \
+	$(dynamic_ext) $(TEST_PERL_DLL) runtests x2p/s2p x2p/find2perl \
+	$(generated_pods)
 	cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
 
 test_prep_reonly: $(MINIPERL_EXE) $(PERL_EXE) $(dynamic_ext_re) $(TEST_PERL_DLL)
@@ -1380,10 +1437,10 @@
 test check: test_prep
 	$(RUN_TESTS) choose
 
-test_tty: test_prep
+test_tty test-tty: test_prep
 	$(RUN_TESTS) tty
 
-test_notty: test_prep
+test_notty test-notty: test_prep
 	$(RUN_TESTS) no-tty
 
 utest ucheck test.utf8 check.utf8: test_prep
@@ -1392,12 +1449,6 @@
 coretest: test_prep
 	TEST_ARGS=-core $(RUN_TESTS) choose
 
-test-prep:	test_prep
-
-test-tty:	test_tty
-
-test-notty:	test_notty
-
 # Torture testing
 
 test.torture torturetest:	test_prep
@@ -1407,7 +1458,7 @@
 
 minitest.utf16: minitest.prep
 	- cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \
-		&& $(RUN_PERL) TEST -utf16 base/*.t comp/*.t cmd/*.t run/*.t io/*.t op/*.t uni/*.t </dev/tty
+		&& $(RUN_PERL) TEST -utf16 base/*.t comp/*.t cmd/*.t run/*.t io/*.t opbasic/*.t op/*.t uni/*.t </dev/tty
 
 test.utf16 check.utf16: test_prep
 	TEST_ARGS=-utf16 $(RUN_TESTS) choose
@@ -1415,6 +1466,11 @@
 utest.utf16 ucheck.utf16: test_prep
 	TEST_ARGS="-utf8 -utf16" $(RUN_TESTS) choose
 
+!NO!SUBS!
+
+case "${osname}${osvers}" in
+linux*|darwin*)
+	$spitshell >>$Makefile <<'!NO!SUBS!'
 # Targets for valgrind testing:
 
 test_prep.valgrind: test_prep perl.valgrind
@@ -1427,7 +1483,12 @@
 
 test_notty.valgrind: test_prep.valgrind perl.valgrind.config
 	PERL_VALGRIND=1 $(RUN_TESTS) no-tty
+!NO!SUBS!
+	;;
+esac
 
+$spitshell >>$Makefile <<'!NO!SUBS!'
+
 # Targets for Third Degree testing.
 
 test_prep.third: test_prep perl.third
@@ -1466,23 +1527,23 @@
 # is crashing.
 minitest: $(MINIPERL_EXE) minitest.prep
 	- cd t && (rm -f $(PERL_EXE); $(LNS) ../$(MINIPERL_EXE) $(PERL_EXE)) \
-		&& $(RUN_PERL) TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t op/*.t uni/*.t </dev/tty
+		&& $(RUN_PERL) TEST base/*.t comp/*.t cmd/*.t run/*.t io/*.t re/*.t opbasic/*.t op/*.t uni/*.t </dev/tty
 
 # Test via harness
 
-test_harness: test_prep
+test_harness test-harness: test_prep
 	TESTFILE=harness $(RUN_TESTS) choose
 
 test_harness_notty: test_prep
 	HARNESS_NOTTY=1 TESTFILE=harness $(RUN_TESTS) choose
 
-test-reonly: test_prep_reonly
+test_reonly test-reonly: test_prep_reonly
 	TEST_ARGS='-re \bre\/' TESTFILE=harness $(RUN_TESTS) choose
 
 
 # Porting tests (well-formedness of pod, manifest, etc)
 
-test_porting: test_prep
+test_porting test-porting: test_prep
 	cd t && $(RUN_PERL) harness porting/*.t ../lib/diagnostics.t
 
 # Handy way to run perlbug -ok without having to install and run the
@@ -1599,9 +1660,6 @@
         cd ..
     fi
     ;;
-vmesa)
-    # Do nothing in VM/ESA.
-    ;;
 *)
     echo "'$osname' is an EBCDIC system I don't know that well." >&4
     ;;


Property changes on: vendor/perl/dist/Makefile.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/Makefile.micro
===================================================================
--- vendor/perl/dist/Makefile.micro	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Makefile.micro	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,16 +27,17 @@
 microperl:	$(O)
 	$(LD) -o $@ $(O) $(LDFLAGS) $(LIBS)
 
+generated_headers = uuudmap.h ubitcount.h umg_data.h
 H = av.h uconfig.h cop.h cv.h embed.h embedvar.h form.h gv.h handy.h \
-	hv.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h pad.h \
+	hv.h hv_func.h intrpvar.h iperlsys.h mg.h op.h opcode.h opnames.h pad.h \
 	patchlevel.h perl.h perlsdio.h perlvars.h perly.h pp.h \
 	pp_proto.h proto.h reentr.h regexp.h scope.h sv.h \
-	thread.h unixish.h utf8.h util.h uudmap.h warnings.h
+	thread.h unixish.h utf8.h util.h warnings.h $(generated_headers)
 
 HE = $(H) EXTERN.h
 
 clean:
-	-rm -f $(O) microperl generate_uudmap$(_X) uudmap.h bitcount.h
+	-rm -f $(O) microperl ugenerate_uudmap$(_X) $(generated_headers)
 
 distclean:	clean
 
@@ -78,7 +79,7 @@
 udump$(_O):	$(HE) dump.c regcomp.h regnodes.h
 	$(CC) $(CCFLAGS) -o $@ $(CFLAGS) dump.c
 
-uglobals$(_O):	$(H) globals.c INTERN.h perlapi.h uudmap.h bitcount.h
+uglobals$(_O):	$(H) globals.c INTERN.h perlapi.h $(generated_headers)
 	$(CC) $(CCFLAGS) -o $@ $(CFLAGS) globals.c
 
 ugv$(_O):	$(HE) gv.c
@@ -177,14 +178,16 @@
 uperlapi$(_O):	$(HE) perlapi.c perlapi.h
 	$(CC) $(CCFLAGS) -o $@ $(CFLAGS) perlapi.c
 
-uudmap.h bitcount.h: generate_uudmap$(_X)
-	$(RUN) ./generate_uudmap$(_X) uudmap.h bitcount.h
+uuudmap.h umg_data.h: ubitcount.h
 
-generate_uudmap$(_O): generate_uudmap.c
+ubitcount.h: ugenerate_uudmap$(_X)
+	$(RUN) ./ugenerate_uudmap$(_X) $(generated_headers)
+
+ugenerate_uudmap$(_O): generate_uudmap.c
 	$(CC) $(CCFLAGS) -o $@ $(CFLAGS) generate_uudmap.c
 
-generate_uudmap$(_X): generate_uudmap$(_O)
-	$(LD) -o generate_uudmap $(LDFLAGS) generate_uudmap$(_O) $(LIBS)
+ugenerate_uudmap$(_X): ugenerate_uudmap$(_O)
+	$(LD) -o ugenerate_uudmap $(LDFLAGS) ugenerate_uudmap$(_O) $(LIBS)
 
 microtest: microperl
 	- cd t && (rm -f perl; ln -s ../microperl perl) \


Property changes on: vendor/perl/dist/Makefile.micro
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/CLIBsdio.h
===================================================================
--- vendor/perl/dist/NetWare/CLIBsdio.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/CLIBsdio.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/CLIBsdio.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/CLIBstr.h
===================================================================
--- vendor/perl/dist/NetWare/CLIBstr.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/CLIBstr.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/CLIBstr.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/CLIBstuf.c
===================================================================
--- vendor/perl/dist/NetWare/CLIBstuf.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/CLIBstuf.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/CLIBstuf.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/CLIBstuf.h
===================================================================
--- vendor/perl/dist/NetWare/CLIBstuf.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/CLIBstuf.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/CLIBstuf.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/MP.imp
===================================================================
--- vendor/perl/dist/NetWare/MP.imp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/MP.imp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/MP.imp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/Main.c
===================================================================
--- vendor/perl/dist/NetWare/Main.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/Main.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/Main.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/Makefile
===================================================================
--- vendor/perl/dist/NetWare/Makefile	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/Makefile	2013-12-01 21:45:02 UTC (rev 6430)
@@ -86,7 +86,7 @@
 
 
 # Here comes the CW tools - TO BE FILLED TO BUILD WITH CW -
-MODULE_DESC     = "Perl 5.14.0 for NetWare"
+MODULE_DESC     = "Perl 5.18.1 for NetWare"
 CCTYPE          = CodeWarrior
 C_COMPILER		= mwccnlm -c
 CPP_COMPILER	= mwccnlm
@@ -318,7 +318,6 @@
 PEEK_NLM	= $(AUTODIR)\Devel\Peek\Peek.NLM
 RE_NLM		= $(AUTODIR)\re\re.NLM
 BYTELOADER_NLM	= $(AUTODIR)\ByteLoader\ByteLoader.NLM
-DPROF_NLM	= $(AUTODIR)\Devel\DProf\DProf.NLM
 GLOB_NLM	= $(AUTODIR)\File\Glob\Glob.NLM
 HOSTNAME_NLM	= $(AUTODIR)\Sys\Hostname\Hostname.NLM
 CWD_NLM			= $(EXTDIR)\Cwd\Cwd.NLM
@@ -344,7 +343,6 @@
 		$(GLOB_NLM)		\
 		$(PEEK_NLM)		\
 		$(RE_NLM)	\
-		$(DPROF_NLM)	\
 		$(HOSTNAME_NLM)		\
 		$(CWD_NLM)		\
 		$(STORABLE_NLM)		\
@@ -464,7 +462,7 @@
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-INST_VER	= \5.14.0
+INST_VER	= \5.18.1
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -662,7 +660,6 @@
 UTILS		=			\
 		..\utils\h2ph		\
 		..\utils\splain		\
-		..\utils\dprofpp	\
 		..\utils\perlbug	\
 		..\utils\pl2pm 		\
 		..\utils\c2ph		\
@@ -759,6 +756,7 @@
 		..\gv.h		\
 		..\handy.h	\
 		..\hv.h		\
+		..\hv_func.h	\
 		..\iperlsys.h	\
 		..\mg.h		\
 		..\nostdio.h	\
@@ -790,7 +788,7 @@
 X2P_OBJ		= $(X2P_SRC:.c=.obj)
 
 DYNAMIC_EXT	= Socket IO Fcntl Opcode SDBM_File POSIX attributes B re \
-		Data/Dumper Devel/Peek ByteLoader Devel/DProf File/Glob \
+		Data/Dumper Devel/Peek ByteLoader File/Glob \
 		Storable/Storable List/Util MIME/Base64/Base64 XS/APItest/APItest \
 		XS/Typemap/Typemap Unicode/Collate/Collate Unicode/Normalize/Normalize Sys/Hostname
 
@@ -811,7 +809,6 @@
 ERRNO		= $(EXTDIR)\Errno\Errno
 PEEK		= $(EXTDIR)\Devel\Peek\Peek
 BYTELOADER	= $(EXTDIR)\ByteLoader\ByteLoader
-DPROF		= $(EXTDIR)\Devel\DProf\DProf
 GLOB		= $(EXTDIR)\File\Glob\Glob
 HOSTNAME	= $(EXTDIR)\Sys\Hostname\Hostname
 CWD			= $(EXTDIR)\Cwd\Cwd
@@ -838,7 +835,6 @@
 		$(PEEK).c	\
 		$(B).c		\
 		$(BYTELOADER).c	\
-		$(DPROF).c	\
 		$(GLOB).c	\
 		$(HOSTNAME).c \
 		$(CWD).c	\
@@ -869,8 +865,7 @@
 	$(MINIPERL) -I..\lib config_sh.PL $(NW_CFG_VARS) config.nw5 > ..\config.sh
 
 # this target is for when changes to the main config.sh happen
-# edit config.{b,v,g,w}c and make this target once for each supported
-# compiler (e.g. `dmake CCTYPE=BORLAND regen_config_h`)
+# edit config.wc and make this target
 regen_config_h:
 	perl config_sh.PL $(NW_CFG_VARS) $(NW_CFGSH_TMPL) > ..\config.sh
 	cd ..
@@ -1066,12 +1061,12 @@
 #	$(XCOPY) $(PERLIMPLIB) $(COREDIR)
 #	@echo $(PERLIMPLIB) Done
 
-perllib.imp : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\makedef.pl
+perllib.imp : $(MINIPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl
 #	$(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=def $(ADD_BUILDOPT) \
-#	    CCTYPE=$(CCTYPE) > perllib.def
+#	    CCTYPE=$(CCTYPE) TARG_DIR=..\ > perllib.def
 	@echo (Perl) > perl.imp
   	$(MINIPERL) -w ..\makedef.pl PLATFORM=netware FILETYPE=imp $(BS_CFLAGS) $(DEFINES) $(ADD_BUILDOPT) \
-	    CCTYPE=$(CCTYPE) >> perl.imp
+	    CCTYPE=$(CCTYPE) TARG_DIR=..\ >> perl.imp
 	copy perl.imp $(COREDIR)
   
 $(DLL_OBJ) : $(DYNALOADER).c $(CORE_H) $(EXTDIR)\DynaLoader\dlutils.c
@@ -1210,12 +1205,6 @@
 	$(MAKE)
 	cd ..\..\netware
 
-$(DPROF_NLM):
-	cd $(EXTDIR)\Devel\$(*B)
-	..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
-	$(MAKE)
-	cd ..\..\..\netware
-
 $(GLOB_NLM):
 	cd $(EXTDIR)\File\$(*B)
 	..\..\..\miniperl -I..\..\..\lib Makefile.PL PERL_CORE=1 INSTALLDIRS=perl
@@ -1403,7 +1392,7 @@
 	-del /f /q $(LIBDIR)\SDBM_File.pm $(LIBDIR)\Socket.pm $(LIBDIR)\POSIX.pm
 	-del /f /q $(LIBDIR)\B.pm $(LIBDIR)\O.pm $(LIBDIR)\re.pm
 	-del /f /q $(LIBDIR)\Data\Dumper.pm $(LIBDIR)\ByteLoader.pm
-	-del /f /q $(LIBDIR)\Devel\Peek.pm $(LIBDIR)\Devel\DProf.pm
+	-del /f /q $(LIBDIR)\Devel\Peek.pm
 	-del /f /q $(LIBDIR)\File\Glob.pm
 	-del /f /q $(LIBDIR)\Unicode\Normalize.pm
 	-del /f /q $(LIBDIR)\Unicode\Collate.pm
@@ -1413,7 +1402,7 @@
 	-del /f /q $(PODDIR)\*.html
 	-del /f /q $(PODDIR)\*.bat
 	cd ..\utils
-	-del /f /q h2ph splain perlbug pl2pm c2ph h2xs perldoc dprofpp
+	-del /f /q h2ph splain perlbug pl2pm c2ph h2xs perldoc
 	-del /f /q *.bat
 	cd ..\netware
 	cd ..\x2p


Property changes on: vendor/perl/dist/NetWare/Makefile
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/NWTInfo.c
===================================================================
--- vendor/perl/dist/NetWare/NWTInfo.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/NWTInfo.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/NWTInfo.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/NWUtil.c
===================================================================
--- vendor/perl/dist/NetWare/NWUtil.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/NWUtil.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.
@@ -517,8 +517,8 @@
 
 char *fnSkipToken(char *s, char *r)
 {
-	register char *t=NULL;
-	register char quote = '\0'; // NULL, single quote, or double quote
+	char *t=NULL;
+	char quote = '\0'; // NULL, single quote, or double quote
 	char ch = '\0';
 
 	for (t=s; t[0]; t++)
@@ -577,11 +577,11 @@
 
 char *fnScanToken(char *x, char *r)
 {
-	register char *s = x; // input string position
-	register char *t = x; // output string position
-	register char quote = '\0'; // either NULL, or single quote, or double quote
-	register char ch = '\0';
-	register char c = '\0';
+	char *s = x; // input string position
+	char *t = x; // output string position
+	char quote = '\0'; // either NULL, or single quote, or double quote
+	char ch = '\0';
+	char c = '\0';
 
 	while (*s)
 	{


Property changes on: vendor/perl/dist/NetWare/NWUtil.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/Nwmain.c
===================================================================
--- vendor/perl/dist/NetWare/Nwmain.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/Nwmain.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/Nwmain.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/Nwpipe.c
===================================================================
--- vendor/perl/dist/NetWare/Nwpipe.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/Nwpipe.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/Nwpipe.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/bat/Buildtype.bat
===================================================================
--- vendor/perl/dist/NetWare/bat/Buildtype.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/bat/Buildtype.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/bat/Buildtype.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/bat/SetCodeWar.bat
===================================================================
--- vendor/perl/dist/NetWare/bat/SetCodeWar.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/bat/SetCodeWar.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/bat/SetCodeWar.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/bat/SetNWBld.bat
===================================================================
--- vendor/perl/dist/NetWare/bat/SetNWBld.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/bat/SetNWBld.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/bat/SetNWBld.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/bat/Setnlmsdk.bat
===================================================================
--- vendor/perl/dist/NetWare/bat/Setnlmsdk.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/bat/Setnlmsdk.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/bat/Setnlmsdk.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/bat/ToggleD2.bat
===================================================================
--- vendor/perl/dist/NetWare/bat/ToggleD2.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/bat/ToggleD2.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/bat/ToggleD2.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/config.wc
===================================================================
--- vendor/perl/dist/NetWare/config.wc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/config.wc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,6 @@
 ## Configured by: ~cf_email~
 ## Target system: NetWare 
 Author='Guruprasad'
-PERL_CONFIG_SH='true'
 Date='$Date'
 Header=''
 Id='$Id'
@@ -38,6 +37,7 @@
 bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
 binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
 bison=''
+bootstrap_charset='undef'
 byacc='byacc'
 byteorder='1234'
 c=''
@@ -130,11 +130,11 @@
 d_const='define'
 d_copysignl='undef'
 d_cplusplus='undef'
+d_crypt='undef'
 d_crypt_r='undef'
-d_crypt='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
-d_ctermid='undef'
 d_ctime64='undef'
 d_ctime_r='undef'
 d_cuserid='undef'
@@ -149,12 +149,12 @@
 d_dlopen='define'
 d_dlsymun='undef'
 d_dosuid='undef'
+d_drand48_r='undef'
 d_drand48proto='undef'
-d_drand48_r='undef'
 d_dup2='define'
 d_eaccess='undef'
+d_endgrent='undef'
 d_endgrent_r='undef'
-d_endgrent='undef'
 d_endhent='undef'
 d_endhostent_r='undef'
 d_endnent='undef'
@@ -161,8 +161,8 @@
 d_endnetent_r='undef'
 d_endpent='undef'
 d_endprotoent_r='undef'
+d_endpwent='undef'
 d_endpwent_r='undef'
-d_endpwent='undef'
 d_endsent='undef'
 d_endservent_r='undef'
 d_endspent='undef'
@@ -172,23 +172,23 @@
 d_fchdir='undef'
 d_fchmod='undef'
 d_fchown='undef'
+d_fcntl='undef'
 d_fcntl_can_lock='undef'
-d_fcntl='undef'
 d_fd_macros='define'
+d_fd_set='define'
 d_fds_bits='define'
-d_fd_set='define'
 d_fgetpos='define'
+d_finite='undef'
 d_finitel='undef'
-d_finite='undef'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='undef'
 d_fork='undef'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
 d_fpclassify='undef'
 d_fpclassl='undef'
-d_fp_class='undef'
-d_fpclass='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -206,8 +206,8 @@
 d_getcwd='define'
 d_getespwnam='undef'
 d_getfsstat='undef'
+d_getgrent='undef'
 d_getgrent_r='undef'
-d_getgrent='undef'
 d_getgrgid_r='undef'
 d_getgrnam_r='undef'
 d_getgrps='undef'
@@ -222,8 +222,8 @@
 d_getitimer='undef'
 d_getlogin='define'
 d_getlogin_r='undef'
+d_getmnt='undef'
 d_getmntent='undef'
-d_getmnt='undef'
 d_getnameinfo='undef'
 d_getnbyaddr='undef'
 d_getnbyname='undef'
@@ -246,8 +246,8 @@
 d_getprotoent_r='undef'
 d_getprotoprotos='define'
 d_getprpwnam='undef'
+d_getpwent='undef'
 d_getpwent_r='undef'
-d_getpwent='undef'
 d_getpwnam_r='undef'
 d_getpwuid_r='undef'
 d_getsbyname='define'
@@ -258,8 +258,8 @@
 d_getservent_r='undef'
 d_getservprotos='define'
 d_getspent='undef'
+d_getspnam='undef'
 d_getspnam_r='undef'
-d_getspnam='undef'
 d_gettimeod='undef'
 d_gmtime64='undef'
 d_gmtime_r='undef'
@@ -274,11 +274,16 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='undef'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='define'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='undef'
+d_isnan='undef'
 d_isnanl='undef'
-d_isnan='undef'
 d_killpg='undef'
 d_lchown='undef'
 d_ldbl_dig='define'
@@ -285,8 +290,8 @@
 d_libm_lib_version='undef'
 d_link='define'
 d_localtime64='undef'
+d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
-d_localtime_r='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
@@ -307,26 +312,26 @@
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkstemp='undef'
 d_mkstemps='undef'
-d_mkstemp='undef'
 d_mktime64='undef'
 d_mktime='define'
 d_mmap='undef'
+d_modfl='undef'
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
-d_modfl='undef'
 d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
 d_msg_ctrunc='undef'
 d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
 d_msg_oob='undef'
 d_msg_peek='undef'
 d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
 d_msgrcv='undef'
 d_msgsnd='undef'
-d_msg='undef'
 d_msync='undef'
 d_munmap='undef'
 d_mymalloc='undef'
@@ -438,6 +443,7 @@
 d_sin6_scope_id='undef'
 d_sitearch='undef'
 d_snprintf='undef'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -452,9 +458,9 @@
 d_sresgproto='undef'
 d_sresuproto='undef'
 d_statblks='undef'
-d_static_inline='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
+d_static_inline='undef'
 d_statvfs='undef'
 d_stdio_cnt_lval='undef'
 d_stdio_ptr_lval='undef'
@@ -659,6 +665,7 @@
 i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='define'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -808,8 +815,8 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+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'
 nv_preserves_uv_bits='32'
-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'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
@@ -830,9 +837,9 @@
 path_sep=';'
 perl5=''
 perl='perl'
+perl_static_inline='static'
 perladmin=''
 perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.nlm'
-perl_static_inline='static'
 pg=''
 phostname='hostname'
 pidtype='int'
@@ -932,6 +939,8 @@
 srandom_r_proto='0'
 src=''
 ssizetype='int'
+st_ino_sign='1'
+st_ino_size='4'
 startperl='#!perl'
 startsh='#!/bin/sh'
 static_ext='DynaLoader'
@@ -985,6 +994,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='define'
+usekernprocpathname='undef'
 uselargefiles='undef'
 uselongdouble='undef'
 usemallocwrap='undef'
@@ -992,6 +1002,7 @@
 usemultiplicity='define'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='undef'
 useposix='true'
@@ -1036,6 +1047,7 @@
 PERL_API_VERSION='~PERL_API_VERSION~'
 PATCHLEVEL='~PERL_VERSION~'
 SUBVERSION='~PERL_SUBVERSION~'
+PERL_CONFIG_SH='true'
 base_import=''
 nlm_version=''
 mpktool=''


Property changes on: vendor/perl/dist/NetWare/config.wc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/config_H.wc
===================================================================
--- vendor/perl/dist/NetWare/config_H.wc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/config_H.wc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
  * that running config_h.SH again will wipe out any changes you've made.
  * For a more permanent change edit undef and rerun config_h.SH.
  *
- * $Id: config_H.wc,v 1.1.1.1 2011-05-19 23:03:37 laffer1 Exp $
+ * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
  */
 
 /*
@@ -1048,7 +1048,7 @@
  *	This symbol contains the ~name expanded version of ARCHLIB, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define ARCHLIB "c:\\perl\\5.14.0\\lib\\NetWare-x86-multi-thread"		/**/
+#define ARCHLIB "c:\\perl\\5.18.1\\lib\\NetWare-x86-multi-thread"		/**/
 /*#define ARCHLIB_EXP ""	/**/
 
 /* ARCHNAME:
@@ -1079,8 +1079,8 @@
  *	This symbol is the filename expanded version of the BIN symbol, for
  *	programs that do not want to deal with that at run-time.
  */
-#define BIN "c:\\perl\\5.14.0\\bin\\NetWare-x86-multi-thread"	/**/
-#define BIN_EXP "c:\\perl\\5.14.0\\bin\\NetWare-x86-multi-thread"	/**/
+#define BIN "c:\\perl\\5.18.1\\bin\\NetWare-x86-multi-thread"	/**/
+#define BIN_EXP "c:\\perl\\5.18.1\\bin\\NetWare-x86-multi-thread"	/**/
 
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
@@ -3063,7 +3063,7 @@
  *	This symbol contains the ~name expanded version of SITEARCH, to be used
  *	in programs that are not prepared to deal with ~ expansion at run-time.
  */
-#define SITEARCH "c:\\perl\\site\\5.14.0\\lib\\NetWare-x86-multi-thread"		/**/
+#define SITEARCH "c:\\perl\\site\\5.18.1\\lib\\NetWare-x86-multi-thread"		/**/
 /*#define SITEARCH_EXP ""	/**/
 
 /* SITELIB:
@@ -3086,7 +3086,7 @@
  *	removed.  The elements in inc_version_list (inc_version_list.U) can
  *	be tacked onto this variable to generate a list of directories to search.
  */
-#define SITELIB "c:\\perl\\site\\5.14.0\\lib"		/**/
+#define SITELIB "c:\\perl\\site\\5.18.1\\lib"		/**/
 /*#define SITELIB_EXP ""	/**/
 #define SITELIB_STEM ""		/**/
 


Property changes on: vendor/perl/dist/NetWare/config_H.wc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/config_h.PL
===================================================================
--- vendor/perl/dist/NetWare/config_h.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/config_h.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/config_h.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/config_sh.PL
===================================================================
--- vendor/perl/dist/NetWare/config_sh.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/config_sh.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/config_sh.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/deb.h
===================================================================
--- vendor/perl/dist/NetWare/deb.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/deb.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/deb.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/dl_netware.xs
===================================================================
--- vendor/perl/dist/NetWare/dl_netware.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/dl_netware.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/dl_netware.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/intdef.h
===================================================================
--- vendor/perl/dist/NetWare/intdef.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/intdef.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/intdef.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/interface.c
===================================================================
--- vendor/perl/dist/NetWare/interface.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/interface.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.
@@ -126,10 +126,10 @@
 	PerlInterpreter *new_perl = NULL;		// defined in Perl.h
 
 	#ifdef PERL_GLOBAL_STRUCT
-		#define PERLVAR(var,type)
-		#define PERLVARA(var,type)
-		#define PERLVARI(var,type,init) PL_Vars.var = init;
-		#define PERLVARIC(var,type,init) PL_Vars.var = init;
+		#define PERLVAR(prefix,var,type)
+		#define PERLVARA(prefix,var,type)
+		#define PERLVARI(prefix,var,type,init) PL_Vars.prefix##var = init;
+		#define PERLVARIC(prefix,var,type,init) PL_Vars.prefix##var = init;
 
 		#include "perlvars.h"
 


Property changes on: vendor/perl/dist/NetWare/interface.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/interface.cpp
===================================================================
--- vendor/perl/dist/NetWare/interface.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/interface.cpp	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.
@@ -120,10 +120,10 @@
 
 	//__asm{int 3};
 	#ifdef PERL_GLOBAL_STRUCT
-		#define PERLVAR(var,type)
-		#define PERLVARA(var,type)
-		#define PERLVARI(var,type,init) PL_Vars.var = init;
-		#define PERLVARIC(var,type,init) PL_Vars.var = init;
+		#define PERLVAR(prefix,var,type)
+		#define PERLVARA(prefix,var,type)
+		#define PERLVARI(prefix,var,type,init) PL_Vars.prefix##var = init;
+		#define PERLVARIC(prefix,var,type,init) PL_Vars.prefix##var = init;
 
 		#include "perlvars.h"
 


Property changes on: vendor/perl/dist/NetWare/interface.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/interface.h
===================================================================
--- vendor/perl/dist/NetWare/interface.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/interface.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/interface.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/iperlhost.h
===================================================================
--- vendor/perl/dist/NetWare/iperlhost.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/iperlhost.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/iperlhost.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/netware.h
===================================================================
--- vendor/perl/dist/NetWare/netware.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/netware.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/netware.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nw5.c
===================================================================
--- vendor/perl/dist/NetWare/nw5.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nw5.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nw5.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nw5iop.h
===================================================================
--- vendor/perl/dist/NetWare/nw5iop.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nw5iop.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.
@@ -191,14 +191,6 @@
 #undef uname
 #undef wait
 
-#ifdef __BORLANDC__
-#undef ungetc
-#undef getc
-#undef putc
-#undef getchar
-#undef putchar
-#undef fileno
-#endif
 
 #define environ				(*nw_environ())
 


Property changes on: vendor/perl/dist/NetWare/nw5iop.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nw5sck.c
===================================================================
--- vendor/perl/dist/NetWare/nw5sck.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nw5sck.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nw5sck.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nw5sck.h
===================================================================
--- vendor/perl/dist/NetWare/nw5sck.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nw5sck.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nw5sck.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nw5thread.c
===================================================================
--- vendor/perl/dist/NetWare/nw5thread.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nw5thread.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nw5thread.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nw5thread.h
===================================================================
--- vendor/perl/dist/NetWare/nw5thread.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nw5thread.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.
@@ -154,7 +154,7 @@
 #endif	//#if 0
 
 //Following has to be defined CHKSGP
-#if defined(PERLDLL) && defined(USE_DECLSPEC_THREAD) && (!defined(__BORLANDC__) || defined(_DLL))
+#if defined(PERLDLL) && defined(USE_DECLSPEC_THREAD)
 extern __declspec(thread) void *PL_current_context;
 #define PERL_SET_CONTEXT(t)   		(PL_current_context = t)
 #define PERL_GET_CONTEXT		PL_current_context


Property changes on: vendor/perl/dist/NetWare/nw5thread.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwhashcls.cpp
===================================================================
--- vendor/perl/dist/NetWare/nwhashcls.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwhashcls.cpp	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.
@@ -97,7 +97,7 @@
 }
 
 
-void NWPerlHashList::forAll( register void (*user_fn)(void *, void*), void *data ) const 
+void NWPerlHashList::forAll( void (*user_fn)(void *, void*), void *data ) const
 {
 
 	for(int i=0; i<BUCKET_SIZE; i++) 
@@ -210,7 +210,7 @@
 }
 
 
-void NWPerlKeyHashList::forAll( register void (*user_fn)(void *, void*), void *data ) const 
+void NWPerlKeyHashList::forAll( void (*user_fn)(void *, void*), void *data ) const
 {
 
 	for(int i=0; i<BUCKET_SIZE; i++) 


Property changes on: vendor/perl/dist/NetWare/nwhashcls.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwhashcls.h
===================================================================
--- vendor/perl/dist/NetWare/nwhashcls.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwhashcls.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwhashcls.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwperlhost.h
===================================================================
--- vendor/perl/dist/NetWare/nwperlhost.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwperlhost.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwperlhost.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwperlsys.c
===================================================================
--- vendor/perl/dist/NetWare/nwperlsys.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwperlsys.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwperlsys.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwperlsys.h
===================================================================
--- vendor/perl/dist/NetWare/nwperlsys.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwperlsys.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwperlsys.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwpipe.h
===================================================================
--- vendor/perl/dist/NetWare/nwpipe.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwpipe.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwpipe.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwplglob.c
===================================================================
--- vendor/perl/dist/NetWare/nwplglob.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwplglob.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwplglob.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwplglob.h
===================================================================
--- vendor/perl/dist/NetWare/nwplglob.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwplglob.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwplglob.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwstdio.h
===================================================================
--- vendor/perl/dist/NetWare/nwstdio.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwstdio.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwstdio.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwtinfo.h
===================================================================
--- vendor/perl/dist/NetWare/nwtinfo.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwtinfo.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwtinfo.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwutil.h
===================================================================
--- vendor/perl/dist/NetWare/nwutil.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwutil.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwutil.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/nwvmem.h
===================================================================
--- vendor/perl/dist/NetWare/nwvmem.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/nwvmem.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/nwvmem.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/perllib.cpp
===================================================================
--- vendor/perl/dist/NetWare/perllib.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/perllib.cpp	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/perllib.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/splittree.pl
===================================================================
--- vendor/perl/dist/NetWare/splittree.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/splittree.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/splittree.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/sv_nw.c
===================================================================
--- vendor/perl/dist/NetWare/sv_nw.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/sv_nw.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 
 
 void
-Perl_sv_catsv(pTHX_ SV *dstr, register SV *sstr)
+Perl_sv_catsv(pTHX_ SV *dstr, SV *sstr)
 {
     sv_catsv_flags(dstr, sstr, SV_GMAGIC);
 }
@@ -22,13 +22,13 @@
 }
 
 void
-Perl_sv_setsv(pTHX_ SV *dstr, register SV *sstr)
+Perl_sv_setsv(pTHX_ SV *dstr, SV *sstr)
 {
     sv_setsv_flags(dstr, sstr, SV_GMAGIC);
 }
 
 char *
-Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
+Perl_sv_2pv(pTHX_ SV *sv, STRLEN *lp)
 {
     return sv_2pv_flags(sv, lp, SV_GMAGIC);
 }


Property changes on: vendor/perl/dist/NetWare/sv_nw.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/t/NWModify.pl
===================================================================
--- vendor/perl/dist/NetWare/t/NWModify.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/t/NWModify.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/t/NWModify.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/t/NWScripts.pl
===================================================================
--- vendor/perl/dist/NetWare/t/NWScripts.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/t/NWScripts.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/t/NWScripts.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/t/Readme.txt
===================================================================
--- vendor/perl/dist/NetWare/t/Readme.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/t/Readme.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/t/Readme.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/testnlm/echo/echo.c
===================================================================
--- vendor/perl/dist/NetWare/testnlm/echo/echo.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/testnlm/echo/echo.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/testnlm/echo/echo.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/NetWare/testnlm/type/type.c
===================================================================
--- vendor/perl/dist/NetWare/testnlm/type/type.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/testnlm/type/type.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/NetWare/testnlm/type/type.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/NetWare/win32ish.h
===================================================================
--- vendor/perl/dist/NetWare/win32ish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/NetWare/win32ish.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 
 /*
- * Copyright \xA9 2001 Novell, Inc. All Rights Reserved.
+ * Copyright © 2001 Novell, Inc. All Rights Reserved.
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Artistic License, as specified in the README file.


Property changes on: vendor/perl/dist/NetWare/win32ish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Policy_sh.SH
===================================================================
--- vendor/perl/dist/Policy_sh.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Policy_sh.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 case $PERL_CONFIG_SH in
 '') . ./config.sh ;;
 esac


Property changes on: vendor/perl/dist/Policy_sh.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/Porting/GitUtils.pm
===================================================================
--- vendor/perl/dist/Porting/GitUtils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/GitUtils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/GitUtils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/Glossary
===================================================================
--- vendor/perl/dist/Porting/Glossary	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/Glossary	2013-12-01 21:45:02 UTC (rev 6430)
@@ -164,6 +164,10 @@
 	full pathname (if any) of the bison program.  After Configure runs,
 	the value is reset to a plain "bison" and is not useful.
 
+bootstrap_charset (ebcdic.U):
+	This variable conditionally defines BOOTSTRAP_CHARSET if
+	this system uses non-ASCII encoding.
+
 byacc (Loc.U):
 	This variable is used internally by Configure to determine the
 	full pathname (if any) of the byacc program.  After Configure runs,
@@ -291,8 +295,8 @@
 config_argc (Options.U):
 	This variable contains the number of command-line arguments
 	passed to Configure, as reported by the shell in the $# variable.
-	The individual arguments are stored as variables config_argc1,
-	config_argc2, etc.
+	The individual arguments are stored as variables config_arg1,
+	config_arg2, etc.
 
 config_args (Options.U):
 	This variable contains a single string giving the command-line
@@ -894,7 +898,7 @@
 	This variable holds what Gconvert is defined as to convert
 	floating point numbers into strings.  By default, Configure
 	sets this macro to use the first of gconvert, gcvt, or sprintf
-	that pass sprintf-%g-like behaviour tests.  If perl is using
+	that pass sprintf-%g-like behavior tests.  If perl is using
 	long doubles, the macro uses the first of the following
 	functions that pass Configure's tests: qgcvt, sprintf (if
 	Configure knows how to make sprintf format long doubles--see
@@ -1271,10 +1275,30 @@
 d_int64_t (d_int64_t.U):
 	This symbol will be defined if the C compiler supports int64_t.
 
+d_ip_mreq (d_socket.U):
+	This variable conditionally defines the HAS_IP_MREQ symbol, which
+	indicates the availability of a struct ip_mreq.
+
+d_ip_mreq_source (d_socket.U):
+	This variable conditionally defines the HAS_IP_MREQ_SOURCE symbol,
+	which indicates the availability of a struct ip_mreq_source.
+
+d_ipv6_mreq (d_socket.U):
+	This variable conditionally defines the HAS_IPV6_MREQ symbol, which
+	indicates the availability of a struct ipv6_mreq.
+
+d_ipv6_mreq_source (d_socket.U):
+	This variable conditionally defines the HAS_IPV6_MREQ_SOURCE symbol,
+	which indicates the availability of a struct ipv6_mreq_source.
+
 d_isascii (d_isascii.U):
 	This variable conditionally defines the HAS_ISASCII constant,
 	which indicates to the C program that isascii() is available.
 
+d_isblank (d_isblank.U):
+	This variable conditionally defines the HAS_ISBLANK constant,
+	which indicates to the C program that isblank() is available.
+
 d_isfinite (d_isfinite.U):
 	This variable conditionally defines the HAS_ISFINITE symbol, which
 	indicates to the C program that the isfinite() routine is available.
@@ -2086,6 +2110,10 @@
 	indicates to the C program that the snprintf () library function
 	is available.
 
+d_sockaddr_in6 (d_socket.U):
+	This variable conditionally defines the HAS_SOCKADDR_IN6 symbol, which
+	indicates the availability of a struct sockaddr_in6.
+
 d_sockaddr_sa_len (d_socket.U):
 	This variable conditionally defines the HAS_SOCKADDR_SA_LEN symbol,
 	which indicates that a struct sockaddr structure has the sa_len
@@ -2218,9 +2246,9 @@
 	structures.
 
 d_strerrm (d_strerror.U):
-	This variable holds what Strerrr is defined as to translate an error
+	This variable holds what Strerror is defined as to translate an error
 	code condition into an error message string. It could be 'strerror'
-	or a more complex macro emulating strrror with sys_errlist[], or the
+	or a more complex macro emulating strerror with sys_errlist[], or the
 	"unknown" string when both strerror and sys_errlist are missing.
 
 d_strerror (d_strerror.U):
@@ -2534,7 +2562,7 @@
 
 dlext (dlext.U):
 	This variable contains the extension that is to be used for the
-	dynamically loaded modules that perl generaties.
+	dynamically loaded modules that perl generates.
 
 dlsrc (dlsrc.U):
 	This variable contains the name of the dynamic loading file that
@@ -2571,9 +2599,7 @@
 
 ebcdic (ebcdic.U):
 	This variable conditionally defines EBCDIC if this
-	system uses EBCDIC encoding.  Among other things, this
-	means that the character ranges are not contiguous.
-	See trnl.U
+	system uses EBCDIC encoding.
 
 echo (Loc.U):
 	This variable is used internally by Configure to determine the
@@ -3164,6 +3190,11 @@
 	indicates to the C program that <stdarg.h> exists and should
 	be included.
 
+i_stdbool (i_stdbool.U):
+	This variable conditionally defines the I_STDBOOL symbol, which
+	indicates to the C program that <stdbool.h> exists and should
+	be included.
+
 i_stddef (i_stddef.U):
 	This variable conditionally defines the I_STDDEF symbol, which
 	indicates to the C program that <stddef.h> exists and should
@@ -3386,7 +3417,7 @@
 	When userelocatableinc is true, this variable holds the location
 	that make install should copy the perl binary to, with all the
 	run-time relocatable paths calculated from this at install time.
-	When used, it is initialised to the original value of binexp, and
+	When used, it is initialized to the original value of binexp, and
 	then binexp is set to '.../', as the other binaries are found
 	relative to the perl binary.
 
@@ -3602,6 +3633,11 @@
 	On ELF systems, it should be $cc.  Mostly, we'll try to respect
 	the hint file setting.
 
+ld_can_script (dlsrc.U):
+	This variable shows if the loader accepts scripts in the form of
+	-Wl,--version-script=ld.script. This is currently only supported
+	for GNU ld on ELF in dynamic loading builds.
+
 lddlflags (dlsrc.U):
 	This variable contains any special flags that might need to be
 	passed to $ld to create a shared library suitable for dynamic
@@ -3898,9 +3934,9 @@
 	The dot comes with mydomain, and need not be supplied by the program.
 
 myuname (Oldconfig.U):
-	The output of 'uname -a' if available, otherwise the hostname. On Xenix,
-	pseudo variables assignments in the output are stripped, thank you. The
-	whole thing is then lower-cased.
+	The output of 'uname -a' if available, otherwise the hostname.
+	The whole thing is then lower-cased and slashes and single quotes are
+	removed.
 
 n (n.U):
 	This variable contains the '-n' flag if that is what causes the echo
@@ -3980,11 +4016,11 @@
 	a Perl NV using %E-ish floating point format.
 
 nvfformat (perlxvf.U):
-	This variable confains the format string used for printing
+	This variable contains the format string used for printing
 	a Perl NV using %f-ish floating point format.
 
 nvFUformat (perlxvf.U):
-	This variable confains the format string used for printing
+	This variable contains the format string used for printing
 	a Perl NV using %F-ish floating point format.
 
 nvgformat (perlxvf.U):
@@ -4222,7 +4258,7 @@
 
 prototype (prototype.U):
 	This variable holds the eventual value of CAN_PROTOTYPE, which
-	indicates the C compiler can handle funciton prototypes.
+	indicates the C compiler can handle function prototypes.
 
 ptrsize (ptrsize.U):
 	This variable contains the value of the PTRSIZE symbol, which
@@ -4750,6 +4786,13 @@
 	of bytes or an error condition.  It must be a signed type.
 	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
 
+st_ino_sign (st_ino_def.U):
+	This variable contains the signedness of struct stat's st_ino.
+	1 for unsigned, -1 for signed.
+
+st_ino_size (st_ino_def.U):
+	This variable contains the size of struct stat's st_ino in bytes.
+
 startperl (startperl.U):
 	This variable contains the string to put on the front of a perl
 	script to make sure (hopefully) that it runs with perl and not some
@@ -5003,6 +5046,11 @@
 	and indicates that Perl should be built to use the interpreter-based
 	threading implementation.
 
+usekernprocpathname (usekernprocpathname.U):
+	This variable, indicates that we can use sysctl with
+	KERN_PROC_PATHNAME to get a full path for the executable, and hence
+	convert $^X to an absolute path.
+
 uselargefiles (uselfs.U):
 	This variable conditionally defines the USE_LARGE_FILES symbol,
 	and indicates that large file interfaces should be used when
@@ -5036,6 +5084,11 @@
 	This variable contains 'true' or 'false' depending whether the
 	nm extraction is wanted or not.
 
+usensgetexecutablepath (usensgetexecutablepath.U):
+	This symbol, if defined, indicates that we can use _NSGetExecutablePath
+	and realpath to get a full path for the executable, and hence convert
+	$^X to an absolute path.
+
 useopcode (Extensions.U):
 	This variable holds either 'true' or 'false' to indicate
 	whether the Opcode extension should be used.  The sole
@@ -5097,6 +5150,10 @@
 	This variable tells whether the vendorprefix
 	and consequently other vendor* paths are in use.
 
+useversionedarchname (archname.U):
+	This variable indicates whether to include the $api_versionstring
+	as a component of the $archname.
+
 usevfork (d_vfork.U):
 	This variable is set to true when the user accepts to use vfork.
 	It is set to false when no vfork is available or when the user


Property changes on: vendor/perl/dist/Porting/Glossary
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/Porting/Maintainers
===================================================================
--- vendor/perl/dist/Porting/Maintainers	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/Maintainers	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/Maintainers
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/Maintainers.pl
===================================================================
--- vendor/perl/dist/Porting/Maintainers.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/Maintainers.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,4 @@
+#!perl
 # A simple listing of core files that have specific maintainers,
 # or at least someone that can be called an "interested party".
 # Also, a "module" does not necessarily mean a CPAN module, it
@@ -7,90 +8,94 @@
 
 package Maintainers;
 
+use utf8;
 use File::Glob qw(:case);
 
-%Maintainers =
-    (
-    'abergman'	=> 'Arthur Bergman <abergman at cpan.org>',
-    'abigail'	=> 'Abigail <abigail at abigail.be>',
-    'ams'	=> 'Abhijit Menon-Sen <ams at cpan.org>',
-    'andk'	=> 'Andreas J. Koenig <andk at cpan.org>',
-    'andya'	=> 'Andy Armstrong <andy at hexten.net>',
-    'arandal'	=> 'Allison Randal <allison at perl.org>',
-    'audreyt'	=> 'Audrey Tang <cpan at audreyt.org>',
-    'avar'	=> '\xC6var Arnfj\xF6r\xF0 Bjarmason <avar at cpan.org>',
-    'bingos'	=> 'Chris Williams <chris at bingosnet.co.uk>',
-    'chorny'	=> 'Alexandr Ciornii <alexchorny at gmail.com>',
-    'corion'	=> 'Max Maischein <corion at corion.net>',
-    'craig'	=> 'Craig Berry <craigberry at mac.com>',
-    'dankogai'	=> 'Dan Kogai <dankogai at cpan.org>',
-    'dconway'	=> 'Damian Conway <dconway at cpan.org>',
-    'dland'	=> 'David Landgren <dland at cpan.org>',
-    'dmanura'	=> 'David Manura <dmanura at cpan.org>',
-    'drolsky'	=> 'Dave Rolsky <drolsky at cpan.org>',
-    'elizabeth'	=> 'Elizabeth Mattijsen <liz at dijkmat.nl>',
-    'ferreira'	=> 'Adriano Ferreira <ferreira at cpan.org>',
-    'gbarr'	=> 'Graham Barr <gbarr at cpan.org>',
-    'gaas'	=> 'Gisle Aas <gaas at cpan.org>',
-    'gsar'	=> 'Gurusamy Sarathy <gsar at activestate.com>',
-    'ilyam'	=> 'Ilya Martynov <ilyam at cpan.org>',
-    'ilyaz'	=> 'Ilya Zakharevich <ilyaz at cpan.org>',
-    'jand'	=> 'Jan Dubois <jand at activestate.com>',
-    'jdhedden'	=> 'Jerry D. Hedden <jdhedden at cpan.org>',
-    'jesse'   	=> 'Jesse Vincent <jesse at bestpractical.com>',
-    'jhi'	=> 'Jarkko Hietaniemi <jhi at cpan.org>',
-    'jjore'	=> 'Joshua ben Jore <jjore at cpan.org>',
-    'jpeacock'	=> 'John Peacock <jpeacock at cpan.org>',
-    'jstowe'	=> 'Jonathan Stowe <jstowe at cpan.org>',
-    'jv'	=> 'Johan Vromans <jv at cpan.org>',
-    'kane'	=> 'Jos Boumans <kane at cpan.org>',
-    'kwilliams'	=> 'Ken Williams <kwilliams at cpan.org>',
-    'laun'	=> 'Wolfgang Laun <Wolfgang.Laun at alcatel.at>',
-    'lstein'	=> 'Lincoln D. Stein <lds at cpan.org>',
-    'lwall'	=> 'Larry Wall <lwall at cpan.org>',
-    'makamaka'	=> 'Makamaka Hannyaharamitu <makamaka at cpan.org>',
-    'marekr'	=> 'Marek Rouchal <marekr at cpan.org>',
-    'markm'	=> 'Mark Mielke <markm at cpan.org>',
-    'mhx'	=> 'Marcus Holland-Moritz <mhx at cpan.org>',
-    'mjd'	=> 'Mark-Jason Dominus <mjd at plover.com>',
-    'msergeant'	=> 'Matt Sergeant <msergeant at cpan.org>',
-    'mshelor'	=> 'Mark Shelor <mshelor at cpan.org>',
-    'muir'	=> 'David Muir Sharnoff <muir at cpan.org>',
-    'neilb'	=> 'Neil Bowers <neilb at cpan.org>',
-    'nuffin'	=> 'Yuval Kogman <nothingmuch at woobling.org>',
-    'nwclark'	=> 'Nicholas Clark <nwclark at cpan.org>',
-    'osfameron'	=> 'Hakim Cassimally <osfameron at perl.org>',
-    'p5p'	=> 'perl5-porters <perl5-porters at perl.org>',
-    'perlfaq'	=> 'perlfaq-workers <perlfaq-workers at perl.org>',
-    'petdance'	=> 'Andy Lester <andy at petdance.com>',
-    'pjf'	=> 'Paul Fenwick <pjf at cpan.org>',
-    'pmqs'	=> 'Paul Marquess <pmqs at cpan.org>',
-    'pvhp'	=> 'Peter Prymmer <pvhp at best.com>',
-    'rafl'	=> 'Florian Ragwitz <flora at cpan.org>',
-    'rclamp'	=> 'Richard Clamp <rclamp at cpan.org>',
-    'rgarcia'	=> 'Rafael Garcia-Suarez <rgarcia at cpan.org>',
-    'rkobes'	=> 'Randy Kobes <rkobes at cpan.org>',
-    'rmbarker'	=> 'Robin Barker <rmbarker at cpan.org>',
-    'rra'	=> 'Russ Allbery <rra at cpan.org>',
-    'rurban'	=> 'Reini Urban <rurban at cpan.org>',
-    'sadahiro'	=> 'SADAHIRO Tomoyuki <SADAHIRO at cpan.org>',
-    'salva'	=> 'Salvador Fandi\xF1o Garc\xEDa <salva at cpan.org>',
-    'saper'	=> 'S\xE9bastien Aperghis-Tramoni <saper at cpan.org>',
+%Maintainers = (
+    'abergman'  => 'Arthur Bergman <abergman at cpan.org>',
+    'abigail'   => 'Abigail <abigail at abigail.be>',
+    'ambs'      => 'Alberto Simões <ambs at cpan.org>',
+    'ams'       => 'Abhijit Menon-Sen <ams at cpan.org>',
+    'andk'      => 'Andreas J. Koenig <andk at cpan.org>',
+    'andya'     => 'Andy Armstrong <andy at hexten.net>',
+    'arandal'   => 'Allison Randal <allison at perl.org>',
+    'audreyt'   => 'Audrey Tang <cpan at audreyt.org>',
+    'avar'      => 'Ævar Arnfjörð Bjarmason <avar at cpan.org>',
+    'bingos'    => 'Chris Williams <chris at bingosnet.co.uk>',
+    'chorny'    => 'Alexandr Ciornii <alexchorny at gmail.com>',
+    'corion'    => 'Max Maischein <corion at corion.net>',
+    'craig'     => 'Craig Berry <craigberry at mac.com>',
+    'dankogai'  => 'Dan Kogai <dankogai at cpan.org>',
+    'dconway'   => 'Damian Conway <dconway at cpan.org>',
+    'dland'     => 'David Landgren <dland at cpan.org>',
+    'dmanura'   => 'David Manura <dmanura at cpan.org>',
+    'drolsky'   => 'Dave Rolsky <drolsky at cpan.org>',
+    'elizabeth' => 'Elizabeth Mattijsen <liz at dijkmat.nl>',
+    'ferreira'  => 'Adriano Ferreira <ferreira at cpan.org>',
+    'gbarr'     => 'Graham Barr <gbarr at cpan.org>',
+    'gaas'      => 'Gisle Aas <gaas at cpan.org>',
+    'gsar'      => 'Gurusamy Sarathy <gsar at activestate.com>',
+    'hmbrand'   => 'H.Merijn Brand <h.m.brand at xs4all.nl>',
+    'ilyam'     => 'Ilya Martynov <ilyam at cpan.org>',
+    'ilyaz'     => 'Ilya Zakharevich <ilyaz at cpan.org>',
+    'jand'      => 'Jan Dubois <jand at activestate.com>',
+    'jdhedden'  => 'Jerry D. Hedden <jdhedden at cpan.org>',
+    'jesse'     => 'Jesse Vincent <jesse at bestpractical.com>',
+    'jhi'       => 'Jarkko Hietaniemi <jhi at cpan.org>',
+    'jjore'     => 'Joshua ben Jore <jjore at cpan.org>',
+    'jpeacock'  => 'John Peacock <jpeacock at cpan.org>',
+    'jstowe'    => 'Jonathan Stowe <jstowe at cpan.org>',
+    'jv'        => 'Johan Vromans <jv at cpan.org>',
+    'kane'      => 'Jos Boumans <kane at cpan.org>',
+    'kwilliams' => 'Ken Williams <kwilliams at cpan.org>',
+    'laun'      => 'Wolfgang Laun <Wolfgang.Laun at alcatel.at>',
+    'lstein'    => 'Lincoln D. Stein <lds at cpan.org>',
+    'lwall'     => 'Larry Wall <lwall at cpan.org>',
+    'makamaka'  => 'Makamaka Hannyaharamitu <makamaka at cpan.org>',
+    'mallen'    => 'Mark Allen <mrallen1 at yahoo.com>',
+    'marekr'    => 'Marek Rouchal <marekr at cpan.org>',
+    'markm'     => 'Mark Mielke <markm at cpan.org>',
+    'mhx'       => 'Marcus Holland-Moritz <mhx at cpan.org>',
+    'mjd'       => 'Mark-Jason Dominus <mjd at plover.com>',
+    'msergeant' => 'Matt Sergeant <msergeant at cpan.org>',
+    'mshelor'   => 'Mark Shelor <mshelor at cpan.org>',
+    'muir'      => 'David Muir Sharnoff <muir at cpan.org>',
+    'neilb'     => 'Neil Bowers <neilb at cpan.org>',
+    'nuffin'    => 'Yuval Kogman <nothingmuch at woobling.org>',
+    'nwclark'   => 'Nicholas Clark <nwclark at cpan.org>',
+    'osfameron' => 'Hakim Cassimally <osfameron at perl.org>',
+    'p5p'       => 'perl5-porters <perl5-porters at perl.org>',
+    'perlfaq'   => 'perlfaq-workers <perlfaq-workers at perl.org>',
+    'petdance'  => 'Andy Lester <andy at petdance.com>',
+    'pevans'    => 'Paul Evans <leonerd at leonerd.org.uk>',
+    'pjf'       => 'Paul Fenwick <pjf at cpan.org>',
+    'pmqs'      => 'Paul Marquess <pmqs at cpan.org>',
+    'pvhp'      => 'Peter Prymmer <pvhp at best.com>',
+    'rafl'      => 'Florian Ragwitz <flora at cpan.org>',
+    'rclamp'    => 'Richard Clamp <rclamp at cpan.org>',
+    'rgarcia'   => 'Rafael Garcia-Suarez <rgarcia at cpan.org>',
+    'rkobes'    => 'Randy Kobes <rkobes at cpan.org>',
+    'rmbarker'  => 'Robin Barker <rmbarker at cpan.org>',
+    'rra'       => 'Russ Allbery <rra at cpan.org>',
+    'rurban'    => 'Reini Urban <rurban at cpan.org>',
+    'sadahiro'  => 'SADAHIRO Tomoyuki <SADAHIRO at cpan.org>',
+    'salva'     => 'Salvador Fandiño García <salva at cpan.org>',
+    'saper'     => 'Sébastien Aperghis-Tramoni <saper at cpan.org>',
+    'sartak'    => 'Shawn M Moore <sartak at gmail.com>',
     'sbeck'     => 'Sullivan Beck <sbeck at cpan.org>',
-    'sburke'	=> 'Sean Burke <sburke at cpan.org>',
-    'mschwern'	=> 'Michael Schwern <mschwern at cpan.org>',
-    'simonw'	=> 'Simon Wistow <simonw at cpan.org>',
-    'smccam'	=> 'Stephen McCamant <smccam at cpan.org>',
-    'smpeters'	=> 'Steve Peters <steve at fisharerojo.org>',
-    'smueller'	=> 'Steffen Mueller <smueller at cpan.org>',
-    'tomhughes'	=> 'Tom Hughes <tomhughes at cpan.org>',
-    'tjenness'	=> 'Tim Jenness <tjenness at cpan.org>',
-    'tyemq'	=> 'Tye McQueen <tyemq at cpan.org>',
-    'yves'	=> 'Yves Orton <yves at cpan.org>',
-    'zefram'	=> 'Andrew Main <zefram at cpan.org>',
-    );
+    'sburke'    => 'Sean Burke <sburke at cpan.org>',
+    'mschwern'  => 'Michael Schwern <mschwern at cpan.org>',
+    'simonw'    => 'Simon Wistow <simonw at cpan.org>',
+    'smccam'    => 'Stephen McCamant <smccam at cpan.org>',
+    'smpeters'  => 'Steve Peters <steve at fisharerojo.org>',
+    'smueller'  => 'Steffen Mueller <smueller at cpan.org>',
+    'tomhughes' => 'Tom Hughes <tomhughes at cpan.org>',
+    'tjenness'  => 'Tim Jenness <tjenness at cpan.org>',
+    'tyemq'     => 'Tye McQueen <tyemq at cpan.org>',
+    'yves'      => 'Yves Orton <yves at cpan.org>',
+    'zefram'    => 'Andrew Main <zefram at cpan.org>',
+);
 
-
 # IGNORABLE: files which, if they appear in the root of a CPAN
 # distribution, need not appear in core (i.e. core-cpan-diff won't
 # complain if it can't find them)
@@ -98,13 +103,13 @@
 @IGNORABLE = qw(
     .cvsignore .dualLivedDiffConfig .gitignore
     ANNOUNCE Announce Artistic AUTHORS BENCHMARK BUGS Build.PL
-    CHANGELOG ChangeLog CHANGES Changes COPYING Copying CREDITS dist.ini
-    GOALS HISTORY INSTALL INSTALL.SKIP LICENSE Makefile.PL
+    CHANGELOG ChangeLog Changelog CHANGES Changes COPYING Copying CREDITS
+    dist.ini GOALS HISTORY INSTALL INSTALL.SKIP LICENSE Makefile.PL
     MANIFEST MANIFEST.SKIP META.yml MYMETA.yml META.json MYMETA.json
-    NEW NOTES ppport.h README SIGNATURE THANKS TODO Todo VERSION WHATSNEW
+    NEW NOTES perlcritic.rc ppport.h README README.PATCHING SIGNATURE
+    THANKS TODO Todo VERSION WHATSNEW CONTRIBUTING
 );
 
-
 # Each entry in the  %Modules hash roughly represents a distribution,
 # except when DISTRIBUTION is set, where it *exactly* represents a single
 # CPAN distribution.
@@ -145,9 +150,12 @@
 # It defaults to the empty list.
 
 # CUSTOMIZED is a list of files that have been customized within the
-# Perl core.  They should also be listed in EXCLUDED, but this will
-# additionally suppress core-cpan-diff warnings that they differ from
-# the CPAN tarballs
+# Perl core.  Use this whenever patching a cpan upstream distribution
+# or whenever we expect to have a file that differs from the tarball.
+# If the file in blead matches the file in the tarball from CPAN,
+# Porting/core-cpan-diff will warn about it, as it indicates an expected
+# customization might have been lost when updating from upstream.  The
+# path should be relative to the distribution directory.
 
 # DEPRECATED contains the *first* version of Perl in which the module
 # was considered deprecated.  It should only be present if the module is
@@ -162,8 +170,8 @@
 # first. The first match causes that prefix to be replaced with the
 # corresponding key. For example, with the following MAP:
 #   {
-#     'lib/'	 => 'lib/',
-#     ''	 => 'lib/Foo/',
+#     'lib/'     => 'lib/',
+#     ''     => 'lib/Foo/',
 #   },
 #
 # these files are mapped as shown:
@@ -179,1907 +187,1953 @@
 # otherwise, it's
 #
 #   {
-#     'lib/'	 => 'lib/',
-#     ''	 => 'lib/Foo/Bar/',
+#     'lib/'     => 'lib/',
+#     ''     => 'lib/Foo/Bar/',
 #   }
 
 %Modules = (
 
-    'AnyDBM_File' =>
-	{
-	'MAINTAINERS'	=> 'p5p',
-	'FILES'		=> q[lib/AnyDBM_File.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'AnyDBM_File' => {
+        'MAINTAINER'  => 'p5p',
+        'FILES'       => q[lib/AnyDBM_File.{pm,t}],
+        'UPSTREAM'    => 'blead',
+    },
 
-    'Archive::Extract' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Archive-Extract-0.48.tar.gz',
-	'FILES'		=> q[cpan/Archive-Extract],
-	'UPSTREAM'	=> 'cpan',
-	'BUGS'		=> 'bug-archive-extract at rt.cpan.org',
-	},
+    'Archive::Extract' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Archive-Extract-0.68.tar.gz',
+        'FILES'        => q[cpan/Archive-Extract],
+        'UPSTREAM'     => 'cpan',
+        'BUGS'         => 'bug-archive-extract at rt.cpan.org',
+        'DEPRECATED'   => '5.017009',
+    },
 
-    'Archive::Tar' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Archive-Tar-1.76.tar.gz',
-	'FILES'		=> q[cpan/Archive-Tar],
-	'EXCLUDED'	=> [ qw(Makefile.PL) ],
-	'UPSTREAM'	=> 'cpan',
-	'BUGS'		=> 'bug-archive-tar at rt.cpan.org',
-	},
+    'Archive::Tar' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Archive-Tar-1.90.tar.gz',
+        'FILES'        => q[cpan/Archive-Tar],
+        'EXCLUDED'     => ['Makefile.PL'],
+        'UPSTREAM'     => 'cpan',
+        'BUGS'         => 'bug-archive-tar at rt.cpan.org',
+    },
 
-    'Attribute::Handlers' =>
-	{
-	'MAINTAINER'	=> 'rgarcia',
-	'DISTRIBUTION'	=> 'SMUELLER/Attribute-Handlers-0.88.tar.gz',
-	'FILES'		=> q[dist/Attribute-Handlers],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Attribute::Handlers' => {
+        'MAINTAINER'   => 'rgarcia',
+        'DISTRIBUTION' => 'SMUELLER/Attribute-Handlers-0.93.tar.gz',
+        'FILES'        => q[dist/Attribute-Handlers],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'attributes' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/attributes],
-	'UPSTREAM'	=> 'blead',
-	},
+    'attributes' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/attributes],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'autodie' =>
-	{
-	'MAINTAINER'	=> 'pjf',
-	'DISTRIBUTION'	=> 'PJF/autodie-2.10.tar.gz',
-	'FILES' 	=> q[cpan/autodie],
-	'EXCLUDED'	=> [ qr{^inc/Module/},
+    'autodie' => {
+        'MAINTAINER'   => 'pjf',
+        'DISTRIBUTION' => 'PJF/autodie-2.13.tar.gz',
+        'FILES'        => q[cpan/autodie],
+        'EXCLUDED'     => [
+            qr{^inc/Module/},
 
-                             # All these tests depend upon external
-                             # modules that don't exist when we're
-                             # building the core.  Hence, they can
-                             # never run, and should not be merged.
+            # All these tests depend upon external
+            # modules that don't exist when we're
+            # building the core.  Hence, they can
+            # never run, and should not be merged.
+            qw( t/boilerplate.t
+                t/critic.t
+                t/fork.t
+                t/kwalitee.t
+                t/lex58.t
+                t/pod-coverage.t
+                t/pod.t
+                t/socket.t
+                t/system.t
+                )
+        ],
+        'UPSTREAM'   => 'cpan',
+    },
 
-			     qw(
-				t/boilerplate.t
-				t/critic.t
-				t/fork.t
-				t/kwalitee.t
-				t/lex58.t
-				t/pod-coverage.t
-				t/pod.t
-				t/socket.t
-				t/system.t
-			      )
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'AutoLoader' => {
+        'MAINTAINER'   => 'smueller',
+        'DISTRIBUTION' => 'SMUELLER/AutoLoader-5.73.tar.gz',
+        'FILES'        => q[cpan/AutoLoader],
+        'EXCLUDED'     => ['t/00pod.t'],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'AutoLoader' =>
-	{
-	'MAINTAINER'	=> 'smueller',
-	'DISTRIBUTION'	=> 'SMUELLER/AutoLoader-5.71.tar.gz',
-	'FILES'		=> q[cpan/AutoLoader],
-	'EXCLUDED'	=> [ qw( t/00pod.t ) ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'autouse' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/autouse-1.07.tar.gz',
+        'FILES'        => q[dist/autouse],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'autouse' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'FLORA/autouse-1.06.tar.gz',
-	'FILES'		=> q[dist/autouse],
-	'UPSTREAM'	=> 'blead',
-	},
+    'B' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/B],
+        'EXCLUDED'   => [
+            qw( B/Concise.pm
+                t/concise.t
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'B' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/B],
-	'EXCLUDED'	=> [ qw[B/Concise.pm
-				t/concise.t]
-			   ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'B::Concise' => {
+        'MAINTAINER' => 'smccam',
+        'FILES'      => q[ext/B/B/Concise.pm ext/B/t/concise.t],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'B::Concise' =>
-	{
-	'MAINTAINER'	=> 'smccam',
-	'FILES'		=> q[ext/B/B/Concise.pm ext/B/t/concise.t],
-	'UPSTREAM'	=> undef,
-	},
+    'B::Debug' => {
+        'MAINTAINER'   => 'rurban',
+        'DISTRIBUTION' => 'RURBAN/B-Debug-1.18.tar.gz',
+        'FILES'        => q[cpan/B-Debug],
+        'EXCLUDED'     => ['t/pod.t'],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'B::Debug' =>
-	{
-	'MAINTAINER'	=> 'rurban',
-	'DISTRIBUTION'	=> 'RURBAN/B-Debug-1.16.tar.gz',
-	'FILES'		=> q[cpan/B-Debug],
-	'EXCLUDED'	=> [ qw( t/pod.t ) ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'B::Deparse' => {
+        'MAINTAINER' => 'smccam',
+        'FILES'      => q[dist/B-Deparse],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'B::Deparse' =>
-	{
-	'MAINTAINER'	=> 'smccam',
-	'FILES'		=> q[dist/B-Deparse],
-	'UPSTREAM'	=> 'blead',
-	},
+    'B::Lint' => {
+        'MAINTAINER'   => 'jjore',
+        'DISTRIBUTION' => 'RJBS/B-Lint-1.17.tar.gz',
+        'FILES'        => q[cpan/B-Lint],
+        'EXCLUDED'     => ['t/test.pl'],
+        'UPSTREAM'     => 'cpan',
+        'DEPRECATED'   => '5.017009',
+    },
 
-    'B::Lint' =>
-	{
-	'MAINTAINER'	=> 'jjore',
-	'DISTRIBUTION'	=> 'FLORA/B-Lint-1.12.tar.gz',
-	'FILES'		=> q[dist/B-Lint],
-	'EXCLUDED'	=> [ qw( t/test.pl ) ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'base' => {
+        'MAINTAINER'   => 'rgarcia',
+        'DISTRIBUTION' => 'RGARCIA/base-2.18.tar.gz',
+        'FILES'        => q[dist/base],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'base' =>
-	{
-	'MAINTAINER'	=> 'rgarcia',
-	'DISTRIBUTION'	=> 'RGARCIA/base-2.15.tar.gz',
-	'FILES'		=> q[dist/base],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Benchmark' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/Benchmark.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Benchmark' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/Benchmark.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'bignum' => {
+        'MAINTAINER'   => 'rafl',
+        'DISTRIBUTION' => 'FLORA/bignum-0.32.tar.gz',
+        'FILES'        => q[dist/bignum],
+        'EXCLUDED'     => [
+            qr{^inc/Module/},
+            qw( t/pod.t
+                t/pod_cov.t
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'bignum' =>
-	{
-	'MAINTAINER'	=> 'rafl',
-	'DISTRIBUTION'	=> 'FLORA/bignum-0.25.tar.gz',
-	'FILES'		=> q[dist/bignum],
-	'EXCLUDED'	=> [ qr{^inc/Module/}, qw(t/pod.t t/pod_cov.t) ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Carp' => {
+        'MAINTAINER'   => 'zefram',
+        'DISTRIBUTION' => 'ZEFRAM/Carp-1.26.tar.gz',
+        'FILES'        => q[dist/Carp],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Carp' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/Carp.{pm,t} lib/Carp/Heavy.pm],
-	'UPSTREAM'	=> 'blead',
-	},
+    'CGI' => {
+        'MAINTAINER'   => 'lstein',
+        'DISTRIBUTION' => 'MARKSTOS/CGI.pm-3.63.tar.gz',
+        'FILES'        => q[cpan/CGI],
+        'EXCLUDED'     => [
+            qw( cgi_docs.html
+                examples/WORLD_WRITABLE/18.157.1.253.sav
+                t/gen-tests/gen-start-end-tags.pl
+                t/fast.t
+                ),
+        ],
+        'UPSTREAM'   => 'cpan',
+    },
 
-    'CGI' =>
-	{
-	'MAINTAINER'	=> 'lstein',
-	'DISTRIBUTION'	=> 'MARKSTOS/CGI.pm-3.52.tar.gz',
-	'FILES'		=> q[cpan/CGI],
-	'EXCLUDED'	=> [ qr{^t/lib/Test},
-				qw( cgi-lib_porting.html
-				    cgi_docs.html
-				    examples/WORLD_WRITABLE/18.157.1.253.sav
-				    t/gen-tests/gen-start-end-tags.pl
-				    t/fast.t
-				)
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Class::Struct' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/Class/Struct.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-        'Class::Struct' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/Class/Struct.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Compress::Raw::Bzip2' => {
+        'MAINTAINER'   => 'pmqs',
+        'DISTRIBUTION' => 'PMQS/Compress-Raw-Bzip2-2.060.tar.gz',
+        'FILES'        => q[cpan/Compress-Raw-Bzip2],
+        'EXCLUDED'     => [
+            qr{^t/Test/},
+            'bzip2-src/bzip2-cpp.patch',
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Compress::Raw::Bzip2' =>
-	{
-	'MAINTAINER'	=> 'pmqs',
-	'DISTRIBUTION'	=> 'PMQS/Compress-Raw-Bzip2-2.033.tar.gz',
-	'FILES'		=> q[cpan/Compress-Raw-Bzip2],
-	'EXCLUDED'	=> [ qr{^t/Test/},
-			     qw( bzip2-src/bzip2-cpp.patch
-			     )
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Compress::Raw::Zlib' => {
+        'MAINTAINER'   => 'pmqs',
+        'DISTRIBUTION' => 'PMQS/Compress-Raw-Zlib-2.060.tar.gz',
 
-    'Compress::Raw::Zlib' =>
-	{
-	'MAINTAINER'	=> 'pmqs',
-	'DISTRIBUTION'	=> 'PMQS/Compress-Raw-Zlib-2.033.tar.gz',
+        'FILES'    => q[cpan/Compress-Raw-Zlib],
+        'EXCLUDED' => [
+            qr{^t/Test/},
+            qw( t/000prereq.t
+                t/99pod.t
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-	'FILES'		=> q[cpan/Compress-Raw-Zlib],
-	'EXCLUDED'	=> [ qr{^t/Test/},
-			     qw( t/000prereq.t
-				 t/99pod.t
-			       )
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Config::Perl::V' => {
+        'MAINTAINER'   => 'hmbrand',
+        'DISTRIBUTION' => 'HMBRAND/Config-Perl-V-0.17.tgz',
+        'FILES'        => q[cpan/Config-Perl-V],
+        'EXCLUDED'     => ['examples/show-v.pl'],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'constant' =>
-	{
-	'MAINTAINER'	=> 'saper',
-	'DISTRIBUTION'	=> 'SAPER/constant-1.19.tar.gz',
-	'FILES'		=> q[dist/constant],
-	'EXCLUDED'	=> [ qw( t/00-load.t
-				 t/more-tests.t
-				 t/pod-coverage.t
-				 t/pod.t
-				 eg/synopsis.pl
-			       )
-			   ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'constant' => {
+        'MAINTAINER'   => 'saper',
+        'DISTRIBUTION' => 'SAPER/constant-1.27.tar.gz',
+        'FILES'        => q[dist/constant],
+        'EXCLUDED'     => [
+            qw( t/00-load.t
+                t/more-tests.t
+                t/pod-coverage.t
+                t/pod.t
+                eg/synopsis.pl
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'CPAN' =>
-	{
-	'MAINTAINER'	=> 'andk',
-	'DISTRIBUTION'	=> 'ANDK/CPAN-1.9600.tar.gz',
-	'FILES'		=> q[cpan/CPAN],
-	'EXCLUDED'	=> [ qr{^distroprefs/},
-			     qr{^inc/Test/},
-			     qr{^t/CPAN/authors/},
-			     qw{
-				lib/CPAN/Admin.pm
-				Makefile.PL
-				SlayMakefile
-				t/00signature.t
-				t/04clean_load.t
-				t/12cpan.t
-				t/13tarzip.t
-				t/14forkbomb.t
-				t/30shell.coverage
-				t/30shell.t
-				t/31sessions.t
-				t/41distribution.t
-				t/42distroprefs.t
-				t/43distroprefspref.t
-				t/50pod.t
-				t/51pod.t
-				t/52podcover.t
-				t/60credentials.t
-				t/70_critic.t
-				t/CPAN/CpanTestDummies-1.55.pm
-				t/CPAN/TestConfig.pm
-				t/CPAN/TestMirroredBy
-				t/CPAN/TestPatch.txt
-				t/CPAN/modules/02packages.details.txt
-				t/CPAN/modules/03modlist.data
-				t/data/META-dynamic.yml
-				t/data/META-static.yml
-				t/local_utils.pm
-				t/perlcriticrc
-				t/yaml_code.yml
-			       },
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'CPAN' => {
+        'MAINTAINER'   => 'andk',
+        'DISTRIBUTION' => 'ANDK/CPAN-2.00.tar.gz',
+        'FILES'        => q[cpan/CPAN],
+        'EXCLUDED'     => [
+            qr{^distroprefs/},
+            qr{^inc/Test/},
+            qr{^t/CPAN/authors/},
+            qw( lib/CPAN/Admin.pm
+                Makefile.PL
+                scripts/cpan-mirrors
+                SlayMakefile
+                t/00signature.t
+                t/04clean_load.t
+                t/12cpan.t
+                t/13tarzip.t
+                t/14forkbomb.t
+                t/30shell.coverage
+                t/30shell.t
+                t/31sessions.t
+                t/41distribution.t
+                t/42distroprefs.t
+                t/44cpanmeta.t
+                t/43distroprefspref.t
+                t/50pod.t
+                t/51pod.t
+                t/52podcover.t
+                t/60credentials.t
+                t/70_critic.t
+                t/CPAN/CpanTestDummies-1.55.pm
+                t/CPAN/TestConfig.pm
+                t/CPAN/TestMirroredBy
+                t/CPAN/TestPatch.txt
+                t/CPAN/modules/02packages.details.txt
+                t/CPAN/modules/03modlist.data
+                t/data/META-dynamic.json
+                t/data/META-dynamic.yml
+                t/data/META-static.json
+                t/data/META-static.yml
+                t/data/MYMETA.json
+                t/data/MYMETA.yml
+                t/local_utils.pm
+                t/perlcriticrc
+                t/yaml_code.yml
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'CPANPLUS' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/CPANPLUS-0.9103.tar.gz',
-	'FILES'		=> q[cpan/CPANPLUS],
-	'EXCLUDED'	=> [ qr{^inc/},
-			     qr{^t/dummy-.*\.hidden$},
-			     qw{ bin/cpanp-boxed },
-			     # SQLite tests would be skipped in core, and
-			     # the filenames are too long for VMS!
-			     qw{
-				 t/031_CPANPLUS-Internals-Source-SQLite.t
-				 t/032_CPANPLUS-Internals-Source-via-sqlite.t
-			       },
-                             qw{ Makefile.PL },
-			   ],
-	'CUSTOMIZED'	=> [ qw{ Makefile.PL } ],
-	'UPSTREAM'	=> 'cpan',
-	'BUGS'		=> 'bug-cpanplus at rt.cpan.org',
-	},
+    'CPANPLUS' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/CPANPLUS-0.9134.tar.gz',
+        'FILES'        => q[cpan/CPANPLUS],
+        'EXCLUDED'     => [
+            qr{^inc/},
+            qr{^t/dummy-.*\.hidden$},
+            qr{^t/dummy-(cpanplus|perl|localmirror)/},
+            'bin/cpanp-boxed',
 
-    'CPANPLUS::Dist::Build' =>
-	{
-	'MAINTAINER'	=> 'bingos',
-	'DISTRIBUTION'	=> 'BINGOS/CPANPLUS-Dist-Build-0.54.tar.gz',
-	'FILES'		=> q[cpan/CPANPLUS-Dist-Build],
-	'EXCLUDED'	=> [ qr{^inc/},
-			     qw{ t/99_pod.t
-			         t/99_pod_coverage.t
-			       },
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+            # SQLite tests would be skipped in core, and
+            # the filenames are too long for VMS!
+            qw( t/031_CPANPLUS-Internals-Source-SQLite.t
+                t/032_CPANPLUS-Internals-Source-via-sqlite.t
+                ),
+            'Makefile.PL',
+        ],
+        'CUSTOMIZED' => ['Makefile.PL'],
+        'UPSTREAM'   => 'cpan',
+        'BUGS'       => 'bug-cpanplus at rt.cpan.org',
+        'DEPRECATED' => '5.017009',
+    },
 
-    'CPAN::Meta' =>
-	{
-	'MAINTAINER'	=> 'dagolden',
-	'DISTRIBUTION'	=> 'DAGOLDEN/CPAN-Meta-2.110440.tar.gz',
-	'FILES'		=> q[cpan/CPAN-Meta],
-	'EXCLUDED'	=> [
-				qr/^xt/,
-				qr/^history/,
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'CPANPLUS::Dist::Build' => {
+        'MAINTAINER'   => 'bingos',
+        'DISTRIBUTION' => 'BINGOS/CPANPLUS-Dist-Build-0.70.tar.gz',
+        'FILES'        => q[cpan/CPANPLUS-Dist-Build],
+        'EXCLUDED'     => [
+            qr{^inc/},
+            qw( t/99_pod.t
+                t/99_pod_coverage.t
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+        'DEPRECATED' => '5.017009',
+    },
 
-    'CPAN::Meta::YAML' =>
-	{
-	'MAINTAINER'	=> 'dagolden',
-	'DISTRIBUTION'	=> 'DAGOLDEN/CPAN-Meta-YAML-0.003.tar.gz',
-	'FILES'		=> q[cpan/CPAN-Meta-YAML],
-	'EXCLUDED'	=> [
-		't/04_scalar.t',    # requires YAML.pm
-	],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'CPAN::Meta' => {
+        'MAINTAINER'   => 'dagolden',
+        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.120921.tar.gz',
+        'FILES'        => q[cpan/CPAN-Meta],
+        'EXCLUDED'     => [
+            qw(t/00-compile.t),
+            qr{^xt},
+            qr{^history},
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Data::Dumper' =>
-	{
-	'MAINTAINER'	=> 'p5p', # Not gsar. Not ilyam. Not really smueller
-	'DISTRIBUTION'	=> 'SMUELLER/Data-Dumper-2.128.tar.gz',
-	'FILES'		=> q[dist/Data-Dumper],
-	'UPSTREAM'	=> 'blead',
-	},
+    'CPAN::Meta::Requirements' => {
+        'MAINTAINER'   => 'dagolden',
+        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-Requirements-2.122.tar.gz',
+        'FILES'        => q[cpan/CPAN-Meta-Requirements],
+        'EXCLUDED'     => [
+            qw(t/00-compile.t),
+            qr{^xt},
+            qr{^history},
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'DB_File' =>
-	{
-	'MAINTAINER'	=> 'pmqs',
-	'DISTRIBUTION'	=> 'PMQS/DB_File-1.821.tar.gz',
-	'FILES'		=> q[cpan/DB_File],
-	'EXCLUDED'	=> [ qr{^patches/},
-			     qw{ t/pod.t
-			         fallback.h
-				 fallback.xs
-			       },
-			   ],
-	'UPSTREAM'	=> undef,
-	},
+    'CPAN::Meta::YAML' => {
+        'MAINTAINER'   => 'dagolden',
+        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-YAML-0.008.tar.gz',
+        'FILES'        => q[cpan/CPAN-Meta-YAML],
+        'EXCLUDED'     => [
+            't/00-compile.t',
+            't/04_scalar.t',    # requires YAML.pm
+            qr{^xt},
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'DBM_Filter' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/DBM_Filter.pm lib/DBM_Filter],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Data::Dumper' => {
+        'MAINTAINER' => 'p5p',    # Not gsar. Not ilyam. Not really smueller
+        'DISTRIBUTION' => 'SMUELLER/Data-Dumper-2.145.tar.gz',
+        'FILES'        => q[dist/Data-Dumper],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Devel::DProf' =>
-	{
-	'MAINTAINER'	=> 'rafl',
-	'DISTRIBUTION'	=> 'FLORA/Devel-DProf-20110228.00.tar.gz',
-	'FILES'		=> q[cpan/Devel-DProf],
-	'EXCLUDED'	=> [ qr{^t/release-} ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'DB_File' => {
+        'MAINTAINER'   => 'pmqs',
+        'DISTRIBUTION' => 'PMQS/DB_File-1.827.tar.gz',
+        'FILES'        => q[cpan/DB_File],
+        'EXCLUDED'     => [
+            qr{^patches/},
+            qw( t/pod.t
+                fallback.h
+                fallback.xs
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Devel::SelfStubber' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'FLORA/Devel-SelfStubber-1.05.tar.gz',
-	'FILES'		=> q[dist/Devel-SelfStubber],
-	'UPSTREAM'	=> 'blead',
-	},
+    'DBM_Filter' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/DBM_Filter.pm lib/DBM_Filter],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Devel::Peek' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Devel-Peek],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Devel::SelfStubber' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/Devel-SelfStubber-1.05.tar.gz',
+        'FILES'        => q[dist/Devel-SelfStubber],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Devel::PPPort' =>
-	{
-	'MAINTAINER'	=> 'mhx',
-	'DISTRIBUTION'	=> 'MHX/Devel-PPPort-3.19.tar.gz',
-	'FILES'		=> q[cpan/Devel-PPPort],
-	'EXCLUDED'	=> [ qw{PPPort.pm} ], # we use PPPort_pm.PL instead
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Devel::Peek' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Devel-Peek],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'diagnostics' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/diagnostics.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Devel::PPPort' => {
+        'MAINTAINER'   => 'mhx',
+        'DISTRIBUTION' => 'MHX/Devel-PPPort-3.20.tar.gz',
+        'FILES'        => q[cpan/Devel-PPPort],
+        'EXCLUDED' => ['PPPort.pm'],    # we use PPPort_pm.PL instead
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Digest' =>
-	{
-	'MAINTAINER'	=> 'gaas',
-	'DISTRIBUTION'	=> 'GAAS/Digest-1.16.tar.gz',
-	'FILES'		=> q[cpan/Digest],
-	'EXCLUDED'	=> [ qw{digest-bench} ],
-	'UPSTREAM'	=> "cpan",
-	},
+    'diagnostics' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/diagnostics.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Digest::MD5' =>
-	{
-	'MAINTAINER'	=> 'gaas',
-	'DISTRIBUTION'	=> 'GAAS/Digest-MD5-2.51.tar.gz',
-	'FILES'		=> q[cpan/Digest-MD5],
-	'EXCLUDED'	=> [ qw{rfc1321.txt} ],
-	'UPSTREAM'	=> "cpan",
-	},
+    'Digest' => {
+        'MAINTAINER'   => 'gaas',
+        'DISTRIBUTION' => 'GAAS/Digest-1.17.tar.gz',
+        'FILES'        => q[cpan/Digest],
+        'EXCLUDED'     => ['digest-bench'],
+        'UPSTREAM'     => "cpan",
+    },
 
-    'Digest::SHA' =>
-	{
-	'MAINTAINER'	=> 'mshelor',
-	'DISTRIBUTION'	=> 'MSHELOR/Digest-SHA-5.61.tar.gz',
-	'FILES' 	=> q[cpan/Digest-SHA],
-	'EXCLUDED'	=> [ qw{t/pod.t t/podcover.t examples/dups} ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Digest::MD5' => {
+        'MAINTAINER'   => 'gaas',
+        'DISTRIBUTION' => 'GAAS/Digest-MD5-2.52.tar.gz',
+        'FILES'        => q[cpan/Digest-MD5],
+        'EXCLUDED'     => ['rfc1321.txt'],
+        'UPSTREAM'     => "cpan",
+    },
 
-    'DirHandle' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/DirHandle.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Digest::SHA' => {
+        'MAINTAINER'   => 'mshelor',
+        'DISTRIBUTION' => 'MSHELOR/Digest-SHA-5.84.tar.gz',
+        'FILES'        => q[cpan/Digest-SHA],
+        'EXCLUDED'     => [
+            qw( t/pod.t
+                t/podcover.t
+                examples/dups
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Dumpvalue' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'FLORA/Dumpvalue-1.15.tar.gz',
-	'FILES'		=> q[dist/Dumpvalue],
-	'UPSTREAM'	=> 'blead',
-	},
+    'DirHandle' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/DirHandle.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'DynaLoader' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/DynaLoader],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Dumpvalue' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/Dumpvalue-1.17.tar.gz',
+        'FILES'        => q[dist/Dumpvalue],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Encode' =>
-	{
-	'MAINTAINER'	=> 'dankogai',
-	'DISTRIBUTION'	=> 'DANKOGAI/Encode-2.42.tar.gz',
-	'FILES'		=> q[cpan/Encode],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'DynaLoader' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/DynaLoader],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'encoding::warnings' =>
-	{
-	'MAINTAINER'	=> 'audreyt',
-	'DISTRIBUTION'	=> 'AUDREYT/encoding-warnings-0.11.tar.gz',
-	'FILES'		=> q[cpan/encoding-warnings],
-	'EXCLUDED'	=> [ qr{^inc/Module/},
-			     qw{t/0-signature.t Makefile.PL MANIFEST META.yml
-			     README SIGNATURE},
-			   ],
-	'UPSTREAM'	=> undef,
-	},
+    'Encode' => {
+        'MAINTAINER'   => 'dankogai',
+        'DISTRIBUTION' => 'DANKOGAI/Encode-2.49.tar.gz',
+        'FILES'        => q[cpan/Encode],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'English' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/English.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'encoding::warnings' => {
+        'MAINTAINER'   => 'audreyt',
+        'DISTRIBUTION' => 'AUDREYT/encoding-warnings-0.11.tar.gz',
+        'FILES'        => q[cpan/encoding-warnings],
+        'EXCLUDED'     => [
+            qr{^inc/Module/},
+            qw( t/0-signature.t
+                Makefile.PL
+                MANIFEST
+                META.yml
+                README
+                SIGNATURE
+                ),
+        ],
+        'UPSTREAM' => undef,
+    },
 
-    'Env' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'FLORA/Env-1.02.tar.gz',
-	'FILES'		=> q[dist/Env],
-	'UPSTREAM'	=> 'blead',
-	},
+    'English' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/English.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Errno' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Errno],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Env' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/Env-1.04.tar.gz',
+        'FILES'        => q[dist/Env],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Exporter' =>
-	{
-	'MAINTAINER'	=> 'ferreira',
-	'DISTRIBUTION'	=> 'FERREIRA/Exporter-5.63.tar.gz',
-	'FILES'		=> q[lib/Exporter.pm
-			     lib/Exporter.t
-			     lib/Exporter/Heavy.pm
-			    ],
-	'EXCLUDED'	=> [ qw{t/pod.t t/use.t}, ],
-	'MAP'		=> { 't/'	=> 'lib/',
-			     'lib/'	=> 'lib/',
-			   },
-	'UPSTREAM'	=> 'blead',
-	},
+    'Errno' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Errno],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'ExtUtils::CBuilder' =>
-	{
-	'MAINTAINER'	=> 'dagolden',
-	'DISTRIBUTION'	=> 'DAGOLDEN/ExtUtils-CBuilder-0.280202.tar.gz',
-	'FILES'		=> q[dist/ExtUtils-CBuilder],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Exporter' => {
+        'MAINTAINER'   => 'ferreira',
+        'DISTRIBUTION' => 'TODDR/Exporter-5.68.tar.gz',
+        'FILES'        => q[lib/Exporter.pm
+                            lib/Exporter.t
+                            lib/Exporter/Heavy.pm
+                           ],
+        'EXCLUDED' => [
+            qw( t/pod.t
+                t/use.t
+                ),
+        ],
+        'MAP' => {
+            't/'   => 'lib/',
+            'lib/' => 'lib/',
+        },
+        'UPSTREAM' => 'blead',
+    },
 
-    'ExtUtils::Command' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'FLORA/ExtUtils-Command-1.17.tar.gz',
-	'FILES'		=> q[dist/ExtUtils-Command],
-	'EXCLUDED'	=> [ qr{^t/release-} ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'ExtUtils::CBuilder' => {
+        'MAINTAINER'   => 'ambs',
+        'DISTRIBUTION' => 'DAGOLDEN/ExtUtils-CBuilder-0.280205.tar.gz',
+        'FILES'        => q[dist/ExtUtils-CBuilder],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'ExtUtils::Constant' =>
-	{
-	'MAINTAINER'	=> 'nwclark',
-	 # Nick has confirmed that while we have diverged from CPAN,
-	 # this package isn't primarily maintained in core
-	 # Another release wll happen "Sometime"
-	 'DISTRIBUTION'	=> '',#'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
-	'FILES'		=> q[cpan/ExtUtils-Constant],
-	'EXCLUDED'	=> [ qw{ lib/ExtUtils/Constant/Aaargh56Hash.pm
-				 examples/perl_keyword.pl
-				 examples/perl_regcomp_posix_keyword.pl
-			       },
-			   ],
-	'UPSTREAM'	=> undef,
-	},
+    'ExtUtils::Command' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/ExtUtils-Command-1.17.tar.gz',
+        'FILES'        => q[dist/ExtUtils-Command],
+        'EXCLUDED'     => [qr{^t/release-}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'ExtUtils::Install' =>
-	{
-	'MAINTAINER'	=> 'yves',
-	'DISTRIBUTION'	=> 'YVES/ExtUtils-Install-1.54.tar.gz',
-	'FILES' 	=> q[dist/ExtUtils-Install],
-	'EXCLUDED'	=> [ qw{ t/lib/Test/Builder.pm
-				 t/lib/Test/Builder/Module.pm
-				 t/lib/Test/More.pm
-				 t/lib/Test/Simple.pm
-				 t/pod-coverage.t
-				 t/pod.t
-			       },
-			   ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'ExtUtils::Constant' => {
+        'MAINTAINER' => 'nwclark',
 
-    'ExtUtils::MakeMaker' =>
-	{
-	'MAINTAINER'	=> 'mschwern',
-	'DISTRIBUTION'	=> 'CHORNY/ExtUtils-MakeMaker-6.57_05.tar.gz',
-	'FILES'		=> q[cpan/ExtUtils-MakeMaker],
-	'EXCLUDED'	=> [ qr{^t/lib/Test/},
-			     qr{^inc/ExtUtils/},
-			   ],
-	'UPSTREAM'	=> 'first-come',
-	},
+        # Nick has confirmed that while we have diverged from CPAN,
+        # this package isn't primarily maintained in core
+        # Another release will happen "Sometime"
+        'DISTRIBUTION' => '',    #'NWCLARK/ExtUtils-Constant-0.16.tar.gz',
+        'FILES'    => q[cpan/ExtUtils-Constant],
+        'EXCLUDED' => [
+            qw( lib/ExtUtils/Constant/Aaargh56Hash.pm
+                examples/perl_keyword.pl
+                examples/perl_regcomp_posix_keyword.pl
+                ),
+        ],
+        'UPSTREAM' => undef,
+    },
 
-    'ExtUtils::Manifest' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'RKOBES/ExtUtils-Manifest-1.58.tar.gz',
-	'FILES'		=> q[dist/ExtUtils-Manifest],
-	'UPSTREAM'	=> 'blead',
-	},
+    'ExtUtils::Install' => {
+        'MAINTAINER'   => 'yves',
+        'DISTRIBUTION' => 'YVES/ExtUtils-Install-1.54.tar.gz',
+        'FILES'        => q[dist/ExtUtils-Install],
+        'EXCLUDED'     => [
+            qw( t/lib/Test/Builder.pm
+                t/lib/Test/Builder/Module.pm
+                t/lib/Test/More.pm
+                t/lib/Test/Simple.pm
+                t/pod-coverage.t
+                t/pod.t
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'ExtUtils::ParseXS' =>
-	{
-	'MAINTAINER'	=> 'kwilliams',
-    'DISTRIBUTION' => 'DAGOLDEN/ExtUtils-ParseXS-2.2206.tar.gz',
-    'EXCLUDED'  => [ qw{
-	                t/bugs/RT48104.xs
-				    t/bugs/typemap
-					t/include/nsUniversalDetector.h
-					t/include/nscore.h
-				   }],
-	'FILES'		=> q[dist/ExtUtils-ParseXS],
-	'UPSTREAM'	=> 'blead',
-	},
+    'ExtUtils::MakeMaker' => {
+        'MAINTAINER'   => 'mschwern',
+        'DISTRIBUTION' => 'BINGOS/ExtUtils-MakeMaker-6.66.tar.gz',
+        'FILES'        => q[cpan/ExtUtils-MakeMaker],
+        'EXCLUDED'     => [
+            qr{^t/lib/Test/},
+            qr{^(bundled|my)/},
+            qr{^t/Liblist_Kid.t},
+            qr{^t/liblist/},
+            qr{^\.perlcriticrc},
+        ],
+        'UPSTREAM' => 'first-come',
+    },
 
-    'faq' =>
-	{
-	'MAINTAINER'	=> 'perlfaq',
-	'FILES'		=> q[pod/perlfaq*],
-	'UPSTREAM'	=> undef,
-	},
+    'ExtUtils::Manifest' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/ExtUtils-Manifest-1.61.tar.gz',
+        'FILES'        => q[dist/ExtUtils-Manifest],
+        'EXCLUDED'     => [qr(t/release-.*\.t)],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'File::Basename' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/File/Basename.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'ExtUtils::ParseXS' => {
+        'MAINTAINER'   => 'smueller',
+        'DISTRIBUTION' => 'SMUELLER/ExtUtils-ParseXS-3.18.tar.gz',
+        'FILES'        => q[dist/ExtUtils-ParseXS],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'File::Compare' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/File/Compare.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'perlfaq' => {
+        'MAINTAINER'   => 'perlfaq',
+        'DISTRIBUTION' => 'LLAP/perlfaq-5.0150042.tar.gz',
+        'FILES'        => q[cpan/perlfaq],
+        'EXCLUDED'     => [
+            qw( t/release-pod-syntax.t
+                t/release-eol.t
+                t/release-no-tabs.t
+                )
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'File::Copy' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/File/Copy.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'File::Basename' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/File/Basename.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'File::CheckTree' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'FLORA/File-CheckTree-4.4.tar.gz',
-	'FILES'		=> q[dist/File-CheckTree],
-	'UPSTREAM'	=> 'blead',
-	},
+    'File::Compare' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/File/Compare.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'File::DosGlob' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/File/DosGlob.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'File::Copy' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/File/Copy.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'File::Fetch' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/File-Fetch-0.32.tar.gz',
-	'FILES'		=> q[cpan/File-Fetch],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'File::CheckTree' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'RJBS/File-CheckTree-4.42.tar.gz',
+        'FILES'        => q[cpan/File-CheckTree],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'File::Find' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/File/Find.pm lib/File/Find],
-	'UPSTREAM'	=> 'blead',
-	},
+    'File::DosGlob' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/File-DosGlob],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'File::Glob' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/File-Glob],
-	'UPSTREAM'	=> 'blead',
-	},
+    'File::Fetch' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/File-Fetch-0.38.tar.gz',
+        'FILES'        => q[cpan/File-Fetch],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'File::Path' =>
-	{
-	'MAINTAINER'	=> 'dland',
-	'DISTRIBUTION'	=> 'DLAND/File-Path-2.08.tar.gz',
-	'FILES'		=> q[cpan/File-Path],
-	'EXCLUDED'	=> [ qw{eg/setup-extra-tests
-				t/pod.t
-			       }
-			   ],
-	'MAP'		=> { ''		=> 'cpan/File-Path/lib/File/',
-			     't/'	=> 'cpan/File-Path/t/',
-			   },
-	'UPSTREAM'	=> undef,
-	},
+    'File::Find' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/File/Find.pm lib/File/Find],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'File::stat' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/File/stat.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'File::Glob' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/File-Glob],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'File::Temp' =>
-	{
-	'MAINTAINER'	=> 'tjenness',
-	'DISTRIBUTION'	=> 'TJENNESS/File-Temp-0.22.tar.gz',
-	'FILES'		=> q[cpan/File-Temp],
-	'EXCLUDED'	=> [ qw{misc/benchmark.pl
-				misc/results.txt
-			       }
-			   ],
-	'UPSTREAM'	=> undef,
-	},
+    'File::Path' => {
+        'MAINTAINER'   => 'dland',
+        'DISTRIBUTION' => 'DLAND/File-Path-2.09.tar.gz',
+        'FILES'        => q[cpan/File-Path],
+        'EXCLUDED'     => [
+            qw( eg/setup-extra-tests
+                t/pod.t
+                )
+        ],
+        'MAP' => {
+            ''   => 'cpan/File-Path/lib/File/',
+            't/' => 'cpan/File-Path/t/',
+        },
+        'UPSTREAM' => undef,
+    },
 
-    'FileCache' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/FileCache],
-	'UPSTREAM'	=> 'blead',
-	},
+    'File::stat' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/File/stat{.pm,*.t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'FileHandle' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/FileHandle.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'File::Temp' => {
+        'MAINTAINER'   => 'tjenness',
+        'DISTRIBUTION' => 'TJENNESS/File-Temp-0.23.tar.gz',
+        'FILES'        => q[cpan/File-Temp],
+        'EXCLUDED'     => [
+            qw( misc/benchmark.pl
+                misc/results.txt
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Filter::Simple' =>
-	{
-	'MAINTAINER'	=> 'smueller',
-	'DISTRIBUTION'	=> 'SMUELLER/Filter-Simple-0.85.tar.gz',
-	'FILES'		=> q[dist/Filter-Simple],
-	'EXCLUDED'	=> [ qw(Makefile.PL),
-			     qr{^demo/}
-			   ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'FileCache' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/FileCache],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Filter::Util::Call' =>
-	{
-	'MAINTAINER'	=> 'pmqs',
-	'DISTRIBUTION'	=> 'PMQS/Filter-1.37.tar.gz',
-	'FILES'		=> q[cpan/Filter-Util-Call
-			     t/lib/filter-util.pl
-			     pod/perlfilter.pod
-			    ],
-	'EXCLUDED'	=> [ qr{^decrypt/},
-			     qr{^examples/},
-			     qr{^Exec/},
-			     qr{^lib/Filter/},
-			     qr{^tee/},
-			     qw{ Call/Makefile.PL
-				 Call/ppport.h
-				 Call/typemap
-				 mytest
-				 t/cpp.t
-				 t/decrypt.t
-				 t/exec.t
-				 t/order.t
-				 t/pod.t
-				 t/sh.t
-				 t/tee.t
-			       }
-			   ],
-	'MAP'		=> { 'Call/'	      => 'cpan/Filter-Util-Call/',
-			     'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
-			     'perlfilter.pod' => 'pod/perlfilter.pod',
-			     ''		      => 'cpan/Filter-Util-Call/',
-			   },
-	'UPSTREAM'	=> undef,
-	},
+    'FileHandle' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/FileHandle.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'FindBin' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/FindBin.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Filter::Simple' => {
+        'MAINTAINER'   => 'smueller',
+        'DISTRIBUTION' => 'SMUELLER/Filter-Simple-0.88.tar.gz',
+        'FILES'        => q[dist/Filter-Simple],
+        'EXCLUDED'     => [
+            'Makefile.PL',
+            qr{^demo/}
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'GDBM_File' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/GDBM_File],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Filter::Util::Call' => {
+        'MAINTAINER'   => 'pmqs',
+        'DISTRIBUTION' => 'RURBAN/Filter-1.45.tar.gz',
+        'FILES'        => q[cpan/Filter-Util-Call
+                 pod/perlfilter.pod
+                ],
+        'EXCLUDED' => [
+            qr{^decrypt/},
+            qr{^examples/},
+            qr{^Exec/},
+            qr{^lib/Filter/},
+            qr{^tee/},
+            qw( Call/Makefile.PL
+                Call/ppport.h
+                Call/typemap
+                mytest
+                t/cpp.t
+                t/decrypt.t
+                t/exec.t
+                t/order.t
+                t/pod.t
+                t/sh.t
+                t/tee.t
+                ),
+        ],
+        'MAP' => {
+            'Call/'          => 'cpan/Filter-Util-Call/',
+            'filter-util.pl' => 'cpan/Filter-Util-Call/filter-util.pl',
+            'perlfilter.pod' => 'pod/perlfilter.pod',
+            ''               => 'cpan/Filter-Util-Call/',
+        },
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Fcntl' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Fcntl],
-	'UPSTREAM'	=> 'blead',
-	},
+    'FindBin' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/FindBin.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Getopt::Long' =>
-	{
-	'MAINTAINER'	=> 'jv',
-	'DISTRIBUTION'	=> 'JV/Getopt-Long-2.38.tar.gz',
-	'FILES'		=> q[cpan/Getopt-Long
-			     lib/newgetopt.pl
-			    ],
-	'EXCLUDED'	=> [ qr{^examples/},
-			     qw{perl-Getopt-Long.spec},
-			   ],
-	'MAP'		=> { ''		       => 'cpan/Getopt-Long/',
-			     'lib/newgetopt.pl' => 'lib/newgetopt.pl',
-			   },
-	'UPSTREAM'	=> 'cpan',
-	},
+    'GDBM_File' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/GDBM_File],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Getopt::Std' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/Getopt/Std.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Fcntl' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Fcntl],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Hash::Util::FieldHash' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Hash-Util-FieldHash],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Getopt::Long' => {
+        'MAINTAINER'   => 'jv',
+        'DISTRIBUTION' => 'JV/Getopt-Long-2.39.tar.gz',
+        'FILES'        => q[cpan/Getopt-Long],
+        'EXCLUDED'     => [
+            qr{^examples/},
+            qw( perl-Getopt-Long.spec
+                lib/newgetopt.pl
+                t/gol-compat.t
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Hash::Util' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Hash-Util],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Getopt::Std' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/Getopt/Std.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'HTTP::Tiny' =>
-	{
-	'MAINTAINER'	=> 'dagolden',
-	'DISTRIBUTION'	=> 'DAGOLDEN/HTTP-Tiny-0.012.tar.gz',
-	'FILES'		=> q[cpan/HTTP-Tiny],
-	'EXCLUDED'	=> [
-				't/200_live.t',
-				qr/^eg/,
-				qr/^xt/
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Hash::Util::FieldHash' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Hash-Util-FieldHash],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'I18N::Collate' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'FLORA/I18N-Collate-1.01.tar.gz',
-	'FILES'		=> q[dist/I18N-Collate],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Hash::Util' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Hash-Util],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'I18N::Langinfo' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/I18N-Langinfo],
-	'UPSTREAM'	=> 'blead',
-	},
+    'HTTP::Tiny' => {
+        'MAINTAINER'   => 'dagolden',
+        'DISTRIBUTION' => 'DAGOLDEN/HTTP-Tiny-0.025.tar.gz',
+        'FILES'        => q[cpan/HTTP-Tiny],
+        'EXCLUDED'     => [
+            't/00-report-prereqs.t',
+            't/200_live.t',
+            't/200_live_local_ip.t',
+            't/210_live_ssl.t',
+            qr/^eg/,
+            qr/^xt/
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
+    'I18N::Collate' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/I18N-Collate-1.02.tar.gz',
+        'FILES'        => q[dist/I18N-Collate],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'blead',
+    },
+
+    'I18N::Langinfo' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/I18N-Langinfo],
+        'UPSTREAM'   => 'blead',
+    },
+
     # Sean has donated it to us.
     # Nothing has changed since his last CPAN release.
     # (not strictly true: there have been some trivial typo fixes; DAPM 6/2009)
-    'I18N::LangTags' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'SBURKE/I18N-LangTags-0.35.tar.gz',
-	'FILES'		=> q[dist/I18N-LangTags],
-	'UPSTREAM'	=> 'blead',
-	},
+    'I18N::LangTags' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'SBURKE/I18N-LangTags-0.35.tar.gz',
+        'FILES'        => q[dist/I18N-LangTags],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'if' =>
-	{
-	'MAINTAINER'	=> 'ilyaz',
-	'DISTRIBUTION'	=> 'ILYAZ/modules/if-0.0601.tar.gz',
-	'FILES'		=> q[dist/if],
-	'UPSTREAM'	=> 'blead',
-	},
+    'if' => {
+        'MAINTAINER'   => 'ilyaz',
+        'DISTRIBUTION' => 'ILYAZ/modules/if-0.0601.tar.gz',
+        'FILES'        => q[dist/if],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'IO' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'DISTRIBUTION'	=> 'GBARR/IO-1.25.tar.gz',
-	'FILES'		=> q[dist/IO/],
-	'EXCLUDED'	=> [ qw{t/test.pl}, ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'IO' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'GBARR/IO-1.25.tar.gz',
+        'FILES'        => q[dist/IO/],
+        'EXCLUDED'     => ['t/test.pl'],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'IO-Compress' =>
-	{
-	'MAINTAINER'	=> 'pmqs',
-	'DISTRIBUTION'	=> 'PMQS/IO-Compress-2.033.tar.gz',
-	'FILES'		=> q[cpan/IO-Compress],
-	'EXCLUDED'	=> [ qr{t/Test/} ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'IO-Compress' => {
+        'MAINTAINER'   => 'pmqs',
+        'DISTRIBUTION' => 'PMQS/IO-Compress-2.060.tar.gz',
+        'FILES'        => q[cpan/IO-Compress],
+        'EXCLUDED'     => [qr{t/Test/}],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'IO::Zlib' =>
-	{
-	'MAINTAINER'	=> 'tomhughes',
-	'DISTRIBUTION'	=> 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
-	'FILES'		=> q[cpan/IO-Zlib],
-	'UPSTREAM'	=> undef,
-	},
+    'IO::Zlib' => {
+        'MAINTAINER'   => 'tomhughes',
+        'DISTRIBUTION' => 'TOMHUGHES/IO-Zlib-1.10.tar.gz',
+        'FILES'        => q[cpan/IO-Zlib],
+        'UPSTREAM'     => undef,
+    },
 
-    'IPC::Cmd' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/IPC-Cmd-0.70.tar.gz',
-	'FILES'		=> q[cpan/IPC-Cmd],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'IPC::Cmd' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/IPC-Cmd-0.80.tar.gz',
+        'FILES'        => q[cpan/IPC-Cmd],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'IPC::Open2' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/IPC-Open2],
-	'UPSTREAM'	=> 'blead',
-	},
+    'IPC::Open3' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/IPC-Open3],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'IPC::Open3' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/IPC-Open3],
-	'UPSTREAM'	=> 'blead',
-	},
+    'IPC::SysV' => {
+        'MAINTAINER'   => 'mhx',
+        'DISTRIBUTION' => 'MHX/IPC-SysV-2.03.tar.gz',
+        'FILES'        => q[cpan/IPC-SysV],
+        'EXCLUDED'     => [
+            qw( const-c.inc
+                const-xs.inc
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'IPC::SysV' =>
-	{
-	'MAINTAINER'	=> 'mhx',
-	'DISTRIBUTION'	=> 'MHX/IPC-SysV-2.03.tar.gz',
-	'FILES'		=> q[cpan/IPC-SysV],
-	'EXCLUDED'	=> [ qw{const-c.inc const-xs.inc} ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'JSON::PP' => {
+        'MAINTAINER'   => 'makamaka',
+        'DISTRIBUTION' => 'MAKAMAKA/JSON-PP-2.27202.tar.gz',
+        'FILES'        => q[cpan/JSON-PP],
+        'EXCLUDED'     => [
+            't/900_pod.t',    # Pod testing
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'JSON::PP' =>
-	{
-	'MAINTAINER'	=> 'makamaka',
-	'DISTRIBUTION'	=> 'MAKAMAKA/JSON-PP-2.27105.tar.gz',
-	'FILES'		=> q[cpan/JSON-PP],
-	'EXCLUDED'	=> [
-		't/900_pod.t',    # Pod testing
-	],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'lib' => {
+        'MAINTAINER'   => 'smueller',
+        'DISTRIBUTION' => 'SMUELLER/lib-0.63.tar.gz',
+        'FILES'        => q[dist/lib/],
+        'EXCLUDED'     => [
+            qw( forPAUSE/lib.pm
+                t/00pod.t
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'lib' =>
-	{
-	'MAINTAINER'	=> 'smueller',
-	'DISTRIBUTION'	=> 'SMUELLER/lib-0.63.tar.gz',
-	'FILES'		=> q[dist/lib/],
-	'EXCLUDED'	=> [ qw{forPAUSE/lib.pm t/00pod.t} ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'libnet' => {
+        'MAINTAINER'   => 'gbarr',
+        'DISTRIBUTION' => 'GBARR/libnet-1.22.tar.gz',
+        'FILES'        => q[cpan/libnet],
+        'EXCLUDED'     => [
+            qw( Configure
+                install-nomake
+                Makefile.PL
+                ),
+        ],
+        'CUSTOMIZED' => ['Makefile.PL'],
+        'UPSTREAM'   => undef,
+    },
 
-    'libnet' =>
-	{
-	'MAINTAINER'	=> 'gbarr',
-	'DISTRIBUTION'	=> 'GBARR/libnet-1.22.tar.gz',
-	'FILES'		=> q[cpan/libnet],
-	'EXCLUDED'	=> [ qw{Configure install-nomake Makefile.PL} ],
-	'CUSTOMIZED'	=> [ qw{Makefile.PL} ],
-	'UPSTREAM'	=> undef,
-	},
+    'Locale-Codes' => {
+        'MAINTAINER'   => 'sbeck',
+        'DISTRIBUTION' => 'SBECK/Locale-Codes-3.25.tar.gz',
+        'FILES'        => q[cpan/Locale-Codes],
+        'EXCLUDED'     => [
+            qw( t/pod_coverage.t
+                t/pod.t),
+            qr{^t/runtests},
+            qr{^t/runtests\.bat},
+            qr{^internal/},
+            qr{^examples/},
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Locale-Codes' =>
-	{
-	'MAINTAINER'	=> 'sbeck',
-	'DISTRIBUTION'	=> 'SBECK/Locale-Codes-3.16.tar.gz',
-	'FILES'		=> q[cpan/Locale-Codes],
-	'EXCLUDED'	=> [ qw{t/pod_coverage.t t/pod.t}, qr{^t/runtests},
-			     qr{^internal/}, qr{^examples/} ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Locale::Maketext' => {
+        'MAINTAINER'   => 'ferreira',
+        'DISTRIBUTION' => 'TODDR/Locale-Maketext-1.23.tar.gz',
+        'FILES'        => q[dist/Locale-Maketext],
+        'EXCLUDED'     => [
+            qw(
+                perlcriticrc
+                t/00_load.t
+                t/pod.t
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'Locale::Maketext' =>
-	{
-	'MAINTAINER'	=> 'ferreira',
-	'DISTRIBUTION'	=> 'TODDR/Locale-Maketext-1.17.tar.gz',
-	'FILES'		=> q[dist/Locale-Maketext],
-	'EXCLUDED'	=> [ qw{perlcriticrc t/00_load.t t/pod.t} ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Locale::Maketext::Simple' => {
+        'MAINTAINER'   => 'audreyt',
+        'DISTRIBUTION' => 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
+        'FILES'        => q[cpan/Locale-Maketext-Simple],
+        'EXCLUDED'     => [qr{^inc/}],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Locale::Maketext::Simple' =>
-	{
-	'MAINTAINER'	=> 'audreyt',
-	'DISTRIBUTION'	=> 'JESSE/Locale-Maketext-Simple-0.21.tar.gz',
-	'FILES'		=> q[cpan/Locale-Maketext-Simple],
-	'EXCLUDED'	=> [ qr{^inc/} ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Log::Message' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Log-Message-0.06.tar.gz',
+        'FILES'        => q[cpan/Log-Message],
+        'UPSTREAM'     => 'cpan',
+        'DEPRECATED'   => '5.017009',
+    },
 
-    'Log::Message' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Log-Message-0.04.tar.gz',
-	'FILES'		=> q[cpan/Log-Message],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Log::Message::Simple' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Log-Message-Simple-0.10.tar.gz',
+        'FILES'        => q[cpan/Log-Message-Simple],
+        'UPSTREAM'     => 'cpan',
+        'DEPRECATED'   => '5.017009',
+    },
 
-    'Log::Message::Simple' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Log-Message-Simple-0.08.tar.gz',
-	'FILES'		=> q[cpan/Log-Message-Simple],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'mad' => {
+        'MAINTAINER' => 'lwall',
+        'FILES'      => q[mad],
+        'UPSTREAM'   => undef,
+    },
 
-    'mad' =>
-	{
-	'MAINTAINER'	=> 'lwall',
-	'FILES'		=> q[mad],
-	'UPSTREAM'	=> undef,
-	},
+    'Math::BigInt' => {
+        'MAINTAINER'   => 'rafl',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-1.997.tar.gz',
+        'FILES'        => q[dist/Math-BigInt],
+        'EXCLUDED'     => [
+            qr{^inc/},
+            qr{^examples/},
+            qw( t/00sig.t
+                t/01load.t
+                t/02pod.t
+                t/03podcov.t
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'Math::BigInt' =>
-	{
-	'MAINTAINER'	=> 'rafl',
-	'DISTRIBUTION'	=> 'PJACKLAM/Math-BigInt-1.993.tar.gz',
-	'FILES'		=> q[dist/Math-BigInt],
-	'EXCLUDED'	=> [ qr{^inc/},
-			     qr{^examples/},
-			     qw{t/pod.t
-				t/pod_cov.t
-			       }
-			   ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Math::BigInt::FastCalc' => {
+        'MAINTAINER'   => 'rafl',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigInt-FastCalc-0.30.tar.gz',
+        'FILES'        => q[dist/Math-BigInt-FastCalc],
+        'EXCLUDED'     => [
+            qr{^inc/},
+            qw( t/00sig.t
+                t/01load.t
+                t/02pod.t
+                t/03podcov.t
+                ),
 
-    'Math::BigInt::FastCalc' =>
-	{
-	'MAINTAINER'	=> 'rafl',
-	'DISTRIBUTION'	=> 'PJACKLAM/Math-BigInt-FastCalc-0.28.tar.gz',
-	'FILES'		=> q[dist/Math-BigInt-FastCalc],
-	'EXCLUDED'	=> [ qr{^inc/},
-			     qw{
-				t/pod.t
-				t/pod_cov.t
-			       },
-			     # instead we use the versions of these test
-			     # files that come with Math::BigInt:
-			     qw{t/bigfltpm.inc
-				t/bigfltpm.t
-				t/bigintpm.inc
-				t/bigintpm.t
-				t/mbimbf.inc
-				t/mbimbf.t
-			       },
-			   ],
-	'UPSTREAM'	=> 'blead',
-	},
+            # instead we use the versions of these test
+            # files that come with Math::BigInt:
+            qw( t/bigfltpm.inc
+                t/bigfltpm.t
+                t/bigintpm.inc
+                t/bigintpm.t
+                t/mbimbf.inc
+                t/mbimbf.t
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'Math::BigRat' =>
-	{
-	'MAINTAINER'	=> 'rafl',
-	'DISTRIBUTION'	=> 'FLORA/Math-BigRat-0.26.tar.gz',
-	'FILES'		=> q[dist/Math-BigRat],
-	'EXCLUDED'	=> [ qr{^inc/},
-			     qw{
-				t/pod.t
-				t/pod_cov.t
-			       },
-			   ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Math::BigRat' => {
+        'MAINTAINER'   => 'rafl',
+        'DISTRIBUTION' => 'PJACKLAM/Math-BigRat-0.2602.tar.gz',
+        'FILES'        => q[dist/Math-BigRat],
+        'EXCLUDED'     => [
+            qr{^inc/},
+            qw( t/00sig.t
+                t/01load.t
+                t/02pod.t
+                t/03podcov.t
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'Math::Complex' =>
-	{
-	'MAINTAINER'	=> 'zefram',
-	'DISTRIBUTION'	=> 'JHI/Math-Complex-1.56.tar.gz',
-	'FILES'		=> q[cpan/Math-Complex],
-	'EXCLUDED'	=> [
-			     qw{
-				t/pod.t
-				t/pod-coverage.t
-			       },
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Math::Complex' => {
+        'MAINTAINER'   => 'zefram',
+        'DISTRIBUTION' => 'ZEFRAM/Math-Complex-1.59.tar.gz',
+        'FILES'        => q[cpan/Math-Complex],
+        'EXCLUDED'     => [
+            qw( t/pod.t
+                t/pod-coverage.t
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Memoize' =>
-	{
-	'MAINTAINER'	=> 'mjd',
-	'DISTRIBUTION'	=> 'FLORA/Memoize-1.02.tar.gz',
-	'FILES'		=> q[cpan/Memoize],
-	'EXCLUDED'	=> [ qw{ article.html } ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Memoize' => {
+        'MAINTAINER'   => 'mjd',
+        'DISTRIBUTION' => 'MJD/Memoize-1.03.tgz',
+        'FILES'        => q[cpan/Memoize],
+        'EXCLUDED'     => ['article.html'],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'MIME::Base64' =>
-	{
-	'MAINTAINER'	=> 'gaas',
-	'DISTRIBUTION'	=> 'GAAS/MIME-Base64-3.13.tar.gz',
-	'FILES'		=> q[cpan/MIME-Base64],
-	'EXCLUDED'	=> [ qw{ t/bad-sv.t }, ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'MIME::Base64' => {
+        'MAINTAINER'   => 'gaas',
+        'DISTRIBUTION' => 'GAAS/MIME-Base64-3.13.tar.gz',
+        'FILES'        => q[cpan/MIME-Base64],
+        'EXCLUDED'     => ['t/bad-sv.t'],
+        'UPSTREAM'     => 'cpan',
+    },
 
-  #
-  # To update Module-Build in blead see
-  # http://github.com/dagolden/module-build/blob/master/devtools/patching_blead.pod
-  #
+    #
+    # To update Module-Build in blead see
+    # https://github.com/Perl-Toolchain-Gang/Module-Build/blob/master/devtools/patching_blead.pod
+    #
 
-    'Module::Build' =>
-	{
-	'MAINTAINER'	=> 'kwilliams',
-	'DISTRIBUTION'	=> 'DAGOLDEN/Module-Build-0.3800.tar.gz',
-	'FILES'		=> q[cpan/Module-Build],
-	'EXCLUDED'	=> [
-		qw{ t/par.t t/signature.t },
-		qr!^contrib/!,
-		qr!^devtools!,
-		qr!^inc!,
-	],
-	'CUSTOMIZED'	=> [ 'lib/Module/Build/ConfigData.pm' ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Module::Build' => {
+        'MAINTAINER'   => 'kwilliams',
+        'DISTRIBUTION' => 'LEONT/Module-Build-0.4003.tar.gz',
+        'FILES'        => q[cpan/Module-Build],
+        'EXCLUDED'     => [
+            qw( t/par.t
+                t/signature.t
+                ),
+            qr{^contrib/},
+            qr{^inc},
+        ],
+        'CUSTOMIZED' => ['lib/Module/Build/ConfigData.pm'],
+        'UPSTREAM'   => 'cpan',
+    },
 
-    'Module::CoreList' =>
-	{
-	'MAINTAINER'	=> 'rgarcia',
-	'DISTRIBUTION'	=> 'BINGOS/Module-CoreList-2.41.tar.gz',
-	'FILES'		=> q[dist/Module-CoreList],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Module::CoreList' => {
+        'MAINTAINER'   => 'bingos',
+        'DISTRIBUTION' => 'BINGOS/Module-CoreList-2.85.tar.gz',
+        'FILES'        => q[dist/Module-CoreList],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Module::Load' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Module-Load-0.18.tar.gz',
-	'FILES'		=> q[cpan/Module-Load],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Module::Load' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Module-Load-0.24.tar.gz',
+        'FILES'        => q[cpan/Module-Load],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Module::Load::Conditional' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Module-Load-Conditional-0.44.tar.gz',
-	'FILES'		=> q[cpan/Module-Load-Conditional],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Module::Load::Conditional' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Module-Load-Conditional-0.54.tar.gz',
+        'FILES'        => q[cpan/Module-Load-Conditional],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Module::Loaded' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Module-Loaded-0.06.tar.gz',
-	'FILES'		=> q[cpan/Module-Loaded],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Module::Loaded' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Module-Loaded-0.08.tar.gz',
+        'FILES'        => q[cpan/Module-Loaded],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Module::Metadata' =>
-	{
-	'MAINTAINER'	=> 'dagolden',
-	'DISTRIBUTION'	=> 'DAGOLDEN/Module-Metadata-1.000004.tar.gz',
-	'FILES'		=> q[cpan/Module-Metadata],
-	'EXCLUDED'	=> [ ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Module::Metadata' => {
+        'MAINTAINER'   => 'dagolden',
+        'DISTRIBUTION' => 'APEIRON/Module-Metadata-1.000011.tar.gz',
+        'FILES'        => q[cpan/Module-Metadata],
+        'EXCLUDED'     => [
+            qr{^maint},
+            qr{^xt},
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Module::Pluggable' =>
-	{
-	'MAINTAINER'	=> 'simonw',
-	'DISTRIBUTION'	=> 'SIMONW/Module-Pluggable-3.9.tar.gz',
-	'FILES'		=> q[cpan/Module-Pluggable],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Module::Pluggable' => {
+        'MAINTAINER'   => 'simonw',
+        'DISTRIBUTION' => 'SIMONW/Module-Pluggable-4.7.tar.gz',
+        'FILES'        => q[cpan/Module-Pluggable],
+        'UPSTREAM'     => 'cpan',
+        'CUSTOMIZED'   => ['Makefile.PL'],
+        'DEPRECATED'   => '5.017009',
+    },
 
-    'mro' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/mro],
-	'UPSTREAM'	=> 'blead',
-	},
+    'mro' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/mro],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'NDBM_File' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/NDBM_File],
-	'UPSTREAM'	=> 'blead',
-	},
+    'NDBM_File' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/NDBM_File],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Net::Ping' =>
-	{
-	'MAINTAINER'	=> 'smpeters',
-	'DISTRIBUTION'	=> 'SMPETERS/Net-Ping-2.36.tar.gz',
-	'FILES'		=> q[dist/Net-Ping],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Net::Ping' => {
+        'MAINTAINER'   => 'smpeters',
+        'DISTRIBUTION' => 'SMPETERS/Net-Ping-2.41.tar.gz',
+        'FILES'        => q[dist/Net-Ping],
+        'EXCLUDED'     => [
+            qr{^.travis.yml},
+            qr{^README.md},
+        ],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'NEXT' =>
-	{
-	'MAINTAINER'	=> 'rafl',
-	'DISTRIBUTION'	=> 'FLORA/NEXT-0.65.tar.gz',
-	'FILES'		=> q[cpan/NEXT],
-	'EXCLUDED'	=> [ qr{^demo/} ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'NEXT' => {
+        'MAINTAINER'   => 'rafl',
+        'DISTRIBUTION' => 'FLORA/NEXT-0.65.tar.gz',
+        'FILES'        => q[cpan/NEXT],
+        'EXCLUDED'     => [qr{^demo/}],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Object::Accessor' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Object-Accessor-0.38.tar.gz',
-	'FILES'		=> q[cpan/Object-Accessor],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Object::Accessor' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Object-Accessor-0.46.tar.gz',
+        'FILES'        => q[cpan/Object-Accessor],
+        'UPSTREAM'     => 'cpan',
+        'DEPRECATED'   => '5.017009',
+    },
 
-    'ODBM_File' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/ODBM_File],
-	'UPSTREAM'	=> 'blead',
-	},
+    'ODBM_File' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/ODBM_File],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Opcode' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Opcode],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Opcode' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Opcode],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'overload' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/overload{.pm,.t,64.t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'overload' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/overload{.pm,.t,64.t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Package::Constants' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'KANE/Package-Constants-0.02.tar.gz',
-	'FILES'		=> q[cpan/Package-Constants],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Package::Constants' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'KANE/Package-Constants-0.02.tar.gz',
+        'FILES'        => q[cpan/Package-Constants],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Params::Check' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Params-Check-0.28.tar.gz',
-	'EXCLUDED'	=> [ qw( Params-Check-0.26.tar.gz ) ],
-	'FILES'		=> q[cpan/Params-Check],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Params::Check' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Params-Check-0.36.tar.gz',
+        'EXCLUDED'     => ['Params-Check-0.26.tar.gz'],
+        'FILES'        => q[cpan/Params-Check],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'parent' =>
-	{
-	'MAINTAINER'	=> 'corion',
-	'DISTRIBUTION'	=> 'CORION/parent-0.225.tar.gz',
-	'FILES'		=> q[cpan/parent],
-	'UPSTREAM'	=> undef,
-	},
+    'parent' => {
+        'MAINTAINER'   => 'corion',
+        'DISTRIBUTION' => 'CORION/parent-0.225.tar.gz',
+        'FILES'        => q[cpan/parent],
+        'UPSTREAM'     => undef,
+    },
 
-    'Parse::CPAN::Meta' =>
-	{
-	'MAINTAINER'	=> 'dagolden',
-	'DISTRIBUTION'	=> 'DAGOLDEN/Parse-CPAN-Meta-1.4401.tar.gz',
-	'FILES'		=> q[cpan/Parse-CPAN-Meta],
-	'EXCLUDED'	=> [ ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Parse::CPAN::Meta' => {
+        'MAINTAINER'   => 'dagolden',
+        'DISTRIBUTION' => 'DAGOLDEN/Parse-CPAN-Meta-1.4404.tar.gz',
+        'FILES'        => q[cpan/Parse-CPAN-Meta],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'PathTools' =>
-	{
-	'MAINTAINER'	=> 'kwilliams',
-	'DISTRIBUTION'	=> 'SMUELLER/PathTools-3.33.tar.gz',
-	'FILES'		=> q[dist/Cwd],
-	'EXCLUDED'	=> [ qr{^t/lib/Test/} ],
-	'UPSTREAM'	=> "blead",
-	# NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
-	# contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
-	# that the leafname of some file corresponds with the pathname of the
-	# directory.
-	},
+    'PathTools' => {
+        'MAINTAINER'   => 'kwilliams',
+        'DISTRIBUTION' => 'SMUELLER/PathTools-3.40.tar.gz',
+        'FILES'        => q[dist/Cwd],
+        'EXCLUDED'     => [qr{^t/lib/Test/}],
+        'UPSTREAM'     => "blead",
 
-    'perlebcdic' =>
-	{
-	'MAINTAINER'	=> 'pvhp',
-	'FILES'		=> q[pod/perlebcdic.pod],
-	'UPSTREAM'	=> undef,
-	},
+        # NOTE: PathTools is in dist/Cwd/ instead of dist/PathTools because it
+        # contains Cwd.xs and something, possibly Makefile.SH, makes an assumption
+        # that the leafname of some file corresponds with the pathname of the
+        # directory.
+    },
 
-    'PerlIO' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/PerlIO.pm],
-	'UPSTREAM'	=> undef,
-	},
+    'perldtrace' => {
+        'MAINTAINER' => 'sartak',
+        'FILES'      => q[pod/perldtrace.pod],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'PerlIO::encoding' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/PerlIO-encoding],
-	'UPSTREAM'	=> 'blead',
-	},
+    'perlebcdic' => {
+        'MAINTAINER' => 'pvhp',
+        'FILES'      => q[pod/perlebcdic.pod],
+        'UPSTREAM'   => undef,
+    },
 
-    'PerlIO::scalar' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/PerlIO-scalar],
-	'UPSTREAM'	=> 'blead',
-	},
+    'PerlIO' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/PerlIO.pm],
+        'UPSTREAM'   => undef,
+    },
 
-    'PerlIO::via' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/PerlIO-via],
-	'UPSTREAM'	=> 'blead',
-	},
+    'PerlIO::encoding' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/PerlIO-encoding],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'PerlIO::via::QuotedPrint' =>
-	{
-	'MAINTAINER'	=> 'elizabeth',
-	'DISTRIBUTION'	=> 'ELIZABETH/PerlIO-via-QuotedPrint-0.06.tar.gz',
-	'FILES'		=> q[cpan/PerlIO-via-QuotedPrint],
-	'UPSTREAM'	=> undef,
-	},
+    'PerlIO::mmap' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/PerlIO-mmap],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Perl::OSType' =>
-	{
-	'MAINTAINER'	=> 'dagolden',
-	'DISTRIBUTION'	=> 'DAGOLDEN/Perl-OSType-1.002.tar.gz',
-	'FILES'		=> q[cpan/Perl-OSType],
-	'EXCLUDED'	=> [ ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'PerlIO::scalar' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/PerlIO-scalar],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'perlpacktut' =>
-	{
-	'MAINTAINER'	=> 'laun',
-	'FILES'		=> q[pod/perlpacktut.pod],
-	'UPSTREAM'	=> undef,
-	},
+    'PerlIO::via' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/PerlIO-via],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'perlpodspec' =>
-	{
-	'MAINTAINER'	=> 'sburke',
-	'FILES'		=> q[pod/perlpodspec.pod],
-	'UPSTREAM'	=> undef,
-	},
+    'PerlIO::via::QuotedPrint' => {
+        'MAINTAINER'   => 'elizabeth',
+        'DISTRIBUTION' => 'ELIZABETH/PerlIO-via-QuotedPrint-0.07.tar.gz',
+        'FILES'        => q[cpan/PerlIO-via-QuotedPrint],
+        'UPSTREAM'     => undef,
+    },
 
-    'perlre' =>
-	{
-	'MAINTAINER'	=> 'abigail',
-	'FILES'		=> q[pod/perlrecharclass.pod
-			     pod/perlrebackslash.pod],
-	'UPSTREAM'	=> undef,
-	},
+    'Perl::OSType' => {
+        'MAINTAINER'   => 'dagolden',
+        'DISTRIBUTION' => 'DAGOLDEN/Perl-OSType-1.003.tar.gz',
+        'FILES'        => q[cpan/Perl-OSType],
+        'EXCLUDED'     => [qr/^xt/, qr{^t/00-}],
+        'UPSTREAM'     => 'cpan',
+    },
 
+    'perlpacktut' => {
+        'MAINTAINER' => 'laun',
+        'FILES'      => q[pod/perlpacktut.pod],
+        'UPSTREAM'   => undef,
+    },
 
-    'perlreapi' =>
-	{
-	MAINTAINER	=> 'avar',
-	FILES		=> q[pod/perlreapi.pod],
-	'UPSTREAM'	=> undef,
-	},
+    'perlpodspec' => {
+        'MAINTAINER' => 'sburke',
+        'FILES'      => q[pod/perlpodspec.pod],
+        'UPSTREAM'   => undef,
+    },
 
-    'perlreftut' =>
-	{
-	'MAINTAINER'	=> 'mjd',
-	'FILES'		=> q[pod/perlreftut.pod],
-	'UPSTREAM'	=> 'blead',
-	},
+    'perlre' => {
+        'MAINTAINER' => 'abigail',
+        'FILES'      => q[pod/perlrecharclass.pod
+                 pod/perlrebackslash.pod],
+        'UPSTREAM' => undef,
+    },
 
-    'perlthrtut' =>
-	{
-	'MAINTAINER'	=> 'elizabeth',
-	'FILES'		=> q[pod/perlthrtut.pod],
-	'UPSTREAM'	=> undef,
-	},
+    'perlreapi' => {
+        MAINTAINER => 'avar',
+        FILES      => q[pod/perlreapi.pod],
+        'UPSTREAM' => undef,
+    },
 
-    'Pod::Escapes' =>
-	{
-	'MAINTAINER'	=> 'arandal',
-	'DISTRIBUTION'	=> 'SBURKE/Pod-Escapes-1.04.tar.gz',
-	'FILES'		=> q[cpan/Pod-Escapes],
-	'UPSTREAM'	=> undef,
-	},
+    'perlreftut' => {
+        'MAINTAINER' => 'mjd',
+        'FILES'      => q[pod/perlreftut.pod],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Pod::Html' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Pod-Html],
-	'UPSTREAM'	=> 'blead',
-	},
+    'perlthrtut' => {
+        'MAINTAINER' => 'elizabeth',
+        'FILES'      => q[pod/perlthrtut.pod],
+        'UPSTREAM'   => undef,
+    },
 
-    'Pod::LaTeX' =>
-	{
-	'MAINTAINER'	=> 'tjenness',
-	'DISTRIBUTION'	=> 'TJENNESS/Pod-LaTeX-0.59.tar.gz',
-	'FILES'		=> q[cpan/Pod-LaTeX],
-	'EXCLUDED'	=> [ qw( t/require.t ) ],
-	'UPSTREAM'	=> undef,
-	},
+    'Pod::Checker' => {
+        'MAINTAINER' => 'marekr',
+        'DISTRIBUTION' => 'MAREKR/Pod-Checker-1.60.tar.gz',
+        'FILES'        => q[cpan/Pod-Checker],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Pod::Parser'	=> {
-	'MAINTAINER'	=> 'marekr',
+    'Pod::Escapes' => {
+        'MAINTAINER'   => 'arandal',
+        'DISTRIBUTION' => 'SBURKE/Pod-Escapes-1.04.tar.gz',
+        'FILES'        => q[cpan/Pod-Escapes],
+        'UPSTREAM'     => undef,
+    },
 
-	# XXX Parser.pm in the 1.38 distribution identifies itself as
-	# version 1.37!
+    'Pod::Functions' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Pod-Functions],
+        'UPSTREAM'   => 'blead',
+    },
 
-	'DISTRIBUTION'	=> 'MAREKR/Pod-Parser-1.38.tar.gz',
-	'FILES'		=> q[cpan/Pod-Parser],
-	'UPSTREAM'	=> undef,
-	},
+    'Pod::Html' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Pod-Html],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Pod::Perldoc' =>
-	{
-	'MAINTAINER'	=> 'ferreira',
-	'DISTRIBUTION'	=> 'FERREIRA/Pod-Perldoc-3.15_01.tar.gz',
-	# I don't know whether it's conceptually cleaner to a rule to copy
-	# ext/Pod-Perldoc/pod/perldoc.pod to pod/perldoc.pod at make time
-	# (in 4 places), or leave it as 1 mapping here.
-	'FILES'		=> q[dist/Pod-Perldoc
-			     pod/perldoc.pod
-			    ],
-	# in blead, the perldoc executable is generated by perldoc.PL
-	# instead
-	# XXX We can and should fix this, but clean up the DRY-failure in utils
-	# first
-	'EXCLUDED'	=> [ qw( perldoc ) ],
-	'MAP'		=> { '' => 'dist/Pod-Perldoc/',
-			     'lib/perldoc.pod' => 'pod/perldoc.pod',
-			   },
-	'UPSTREAM'	=> 'blead',
-	},
+    'Pod::LaTeX' => {
+        'MAINTAINER'   => 'tjenness',
+        'DISTRIBUTION' => 'TJENNESS/Pod-LaTeX-0.61.tar.gz',
+        'FILES'        => q[cpan/Pod-LaTeX],
+        'EXCLUDED'     => ['t/require.t'],
+        'UPSTREAM'     => undef,
+        'DEPRECATED'   => '5.017008',
+    },
 
-    'Pod::Simple' =>
-	{
-	'MAINTAINER'	=> 'arandal',
-	'DISTRIBUTION'	=> 'DWHEELER/Pod-Simple-3.16.tar.gz',
-	'FILES'		=> q[cpan/Pod-Simple],
-	# XXX these two files correspond to similar ones in blead under
-	# pod/, but the blead ones have newer changes, and also seem to
-	# have been in blead a long time. I'm going to assume then that
-	# the blead versions of these two files are authoritative - DAPM
-  # Now been removed from Pod-Simple-3.15 commenting this out - bingos
-	#'EXCLUDED'	=> [ qw( lib/perlpod.pod lib/perlpodspec.pod ) ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Pod::Parser' => {
+        'MAINTAINER' => 'marekr',
+        'DISTRIBUTION' => 'MAREKR/Pod-Parser-1.60.tar.gz',
+        'FILES'        => q[cpan/Pod-Parser],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'podlators' =>
-	{
-	'MAINTAINER'	=> 'rra',
-	'DISTRIBUTION'	=> 'RRA/podlators-2.4.0.tar.gz',
-	'FILES'		=> q[cpan/podlators],
-	'MAP'		=> { 'pod/perlpodstyle.pod'	=> 'pod/perlpodstyle.pod', },
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Pod::Perldoc' => {
+        'MAINTAINER'   => 'mallen',
+        'DISTRIBUTION' => 'MALLEN/Pod-Perldoc-3.19.tar.gz',
+        'FILES'        => q[cpan/Pod-Perldoc],
 
-    'POSIX' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/POSIX],
-	'UPSTREAM'	=> 'blead',
-	},
+        # in blead, the perldoc executable is generated by perldoc.PL
+        # instead
+        # XXX We can and should fix this, but clean up the DRY-failure in utils
+        # first
+        'EXCLUDED' => ['perldoc'],
+        'UPSTREAM' => 'cpan',
+    },
 
-    're' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/re],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Pod::Simple' => {
+        'MAINTAINER'   => 'arandal',
+        'DISTRIBUTION' => 'DWHEELER/Pod-Simple-3.28.tar.gz',
+        'FILES'        => q[cpan/Pod-Simple],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Safe' =>
-	{
-	'MAINTAINER'	=> 'rgarcia',
-	'DISTRIBUTION'	=> 'RGARCIA/Safe-2.29.tar.gz',
-	'FILES'		=> q[dist/Safe],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Pod::Usage' => {
+        'MAINTAINER' => 'marekr',
+        'DISTRIBUTION' => 'MAREKR/Pod-Usage-1.61.tar.gz',
+        'FILES'        => q[cpan/Pod-Usage],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Scalar-List-Utils' =>
-	{
-	'MAINTAINER'	=> 'gbarr',
-	'DISTRIBUTION'	=> 'GBARR/Scalar-List-Utils-1.23.tar.gz',
-	# Note that perl uses its own version of Makefile.PL
-	'FILES'		=> q[cpan/List-Util],
-	'EXCLUDED'	=> [ qr{^inc/Module/},
-			     qr{^inc/Test/},
-			     qw{ mytypemap },
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'podlators' => {
+        'MAINTAINER'   => 'rra',
+        'DISTRIBUTION' => 'RRA/podlators-2.5.1.tar.gz',
+        'FILES'        => q[cpan/podlators pod/perlpodstyle.pod],
 
-    'SDBM_File' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/SDBM_File],
-	'UPSTREAM'	=> 'blead',
-	},
+        # The perl distribution has pod2man.PL and pod2text.PL,  which are
+        # run to create pod2man and pod2text, while the CPAN distribution
+        # just has the post-generated pod2man and pod2text files.
+        # The following entries attempt to codify that odd fact.
+        'CUSTOMIZED' => [
+            qw( scripts/pod2man.PL
+                scripts/pod2text.PL
+                ),
+        ],
+        'MAP' => {
+            ''                 => 'cpan/podlators/',
+            'scripts/pod2man'  => 'cpan/podlators/scripts/pod2man.PL',
+            'scripts/pod2text' => 'cpan/podlators/scripts/pod2text.PL',
 
-    'SelfLoader' =>
-	{
-	'MAINTAINER'	=> 'smueller',
-	'DISTRIBUTION'	=> 'SMUELLER/SelfLoader-1.18.tar.gz',
-	'FILES'		=> q[dist/SelfLoader],
-	'EXCLUDED'	=> [ qw{ t/00pod.t } ],
-	'UPSTREAM'	=> 'blead',
-	},
+            # this file lives outside the cpan/ directory
+            'pod/perlpodstyle.pod' => 'pod/perlpodstyle.pod',
+        },
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Shell' =>
-	{
-	'MAINTAINER'	=> 'ferreira',
-	'DISTRIBUTION'	=> 'FERREIRA/Shell-0.72_01.tar.gz',
-	'FILES'		=> q[cpan/Shell],
-	'EXCLUDED'	=> [ qw{ t/01_use.t t/99_pod.t } ],
-	'CPAN'		=> 1,
-	'UPSTREAM'	=> undef,
-	'DEPRECATED'	=> 5.011,
-	},
+    'POSIX' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/POSIX],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'sigtrap' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/sigtrap.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    're' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/re],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Socket' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Socket],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Safe' => {
+        'MAINTAINER'   => 'rgarcia',
+        'DISTRIBUTION' => 'RGARCIA/Safe-2.35.tar.gz',
+        'FILES'        => q[dist/Safe],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Storable' =>
-	{
-	'MAINTAINER'	=> 'ams',
-	'DISTRIBUTION'	=> 'AMS/Storable-2.24.tar.gz',
-	'FILES'		=> q[dist/Storable],
-	'EXCLUDED'	=> [ qr{^t/Test/} ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Scalar-List-Utils' => {
+        'MAINTAINER'   => 'gbarr',
+        'DISTRIBUTION' => 'PEVANS/Scalar-List-Utils-1.27.tar.gz',
 
-    'Sys::Hostname' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Sys-Hostname],
-	'UPSTREAM'	=> 'blead',
-	},
+        # Note that perl uses its own version of Makefile.PL
+        'FILES'    => q[cpan/List-Util],
+        'EXCLUDED' => [
+            qr{^inc/Module/},
+            qr{^inc/Test/},
+            'mytypemap',
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Sys::Syslog' =>
-	{
-	'MAINTAINER'	=> 'saper',
-	'DISTRIBUTION'	=> 'SAPER/Sys-Syslog-0.27.tar.gz',
-	'FILES'		=> q[cpan/Sys-Syslog],
-	'EXCLUDED'	=> [ qr{^eg/},
-			     qw{t/data-validation.t
-			        t/distchk.t
-				t/pod.t
-				t/podcover.t
-				t/podspell.t
-				t/portfs.t
-				win32/PerlLog.RES
-			       },
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'SDBM_File' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/SDBM_File],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Term::ANSIColor' =>
-	{
-	'MAINTAINER'	=> 'rra',
-	'DISTRIBUTION'	=> 'RRA/ANSIColor-3.00.tar.gz',
-	'FILES'		=> q[cpan/Term-ANSIColor],
-	'EXCLUDED'	=> [ qr{^tests/}, qw(t/pod-spelling.t t/pod.t) ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Search::Dict' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'DAGOLDEN/Search-Dict-1.07.tar.gz',
+        'FILES'        => q[dist/Search-Dict],
+        'EXCLUDED'     => [qr{^t/release-.*\.t},qr{^README\..*}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Term::Cap' =>
-	{
-	'MAINTAINER'	=> 'jstowe',
-	'DISTRIBUTION'	=> 'JSTOWE/Term-Cap-1.12.tar.gz',
-	'FILES'		=> q[cpan/Term-Cap],
-	'UPSTREAM'	=> undef,
-	},
+    'SelfLoader' => {
+        'MAINTAINER'   => 'smueller',
+        'DISTRIBUTION' => 'SMUELLER/SelfLoader-1.20.tar.gz',
+        'FILES'        => q[dist/SelfLoader],
+        'EXCLUDED'     => ['t/00pod.t'],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Term::UI' =>
-	{
-	'MAINTAINER'	=> 'kane',
-	'DISTRIBUTION'	=> 'BINGOS/Term-UI-0.26.tar.gz',
-	'FILES'		=> q[cpan/Term-UI],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'sigtrap' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/sigtrap.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Test' =>
-	{
-	'MAINTAINER'	=> 'jesse',
-	'DISTRIBUTION'	=> 'JESSE/Test-1.25_02.tar.gz',
-	'FILES'		=> q[cpan/Test],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Socket' => {
+        'MAINTAINER'   => 'pevans',
+        'DISTRIBUTION' => 'PEVANS/Socket-2.009.tar.gz',
+        'FILES'        => q[cpan/Socket],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Test::Harness' =>
-	{
-	'MAINTAINER'	=> 'andya',
-	'DISTRIBUTION'	=> 'ANDYA/Test-Harness-3.23.tar.gz',
-	'FILES'		=> q[cpan/Test-Harness],
-	'EXCLUDED'	=> [ qr{^examples/},
-			     qr{^inc/},
-			     qr{^t/lib/Test/},
-			     qr{^xt/},
-			     qw{Changes-2.64
-				HACKING.pod
-				perlcriticrc
-				t/lib/if.pm
-			       }
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Storable' => {
+        'MAINTAINER'   => 'ams',
+        'DISTRIBUTION' => 'AMS/Storable-2.39.tar.gz',
+        'FILES'        => q[dist/Storable],
+        'EXCLUDED'     => [qr{^t/Test/}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Test::Simple' =>
-	{
-	'MAINTAINER'	=> 'mschwern',
-	'DISTRIBUTION'	=> 'MSCHWERN/Test-Simple-0.98.tar.gz',
-	'FILES'		=> q[cpan/Test-Simple],
-	'EXCLUDED'	=> [
-			     qw{.perlcriticrc
-				.perltidyrc
-				t/00compile.t
-				t/pod.t
-				t/pod-coverage.t
-				t/Builder/reset_outputs.t
-				lib/Test/Builder/IO/Scalar.pm
-			       }
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Sys::Hostname' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Sys-Hostname],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'Text::Balanced' =>
-	{
-	'MAINTAINER'	=> 'dmanura',
-	'DISTRIBUTION'	=> 'ADAMK/Text-Balanced-2.02.tar.gz',
-	'FILES'		=> q[cpan/Text-Balanced],
-	'EXCLUDED'	=> [ qw( t/97_meta.t t/98_pod.t t/99_pmv.t ) ],
-	'UPSTREAM'	=> undef,
-	},
+    'Sys::Syslog' => {
+        'MAINTAINER'   => 'saper',
+        'DISTRIBUTION' => 'SAPER/Sys-Syslog-0.32.tar.gz',
+        'FILES'        => q[cpan/Sys-Syslog],
+        'EXCLUDED'     => [
+            qr{^eg/},
+            qw( t/data-validation.t
+                t/distchk.t
+                t/pod.t
+                t/podcover.t
+                t/podspell.t
+                t/portfs.t
+                win32/PerlLog.RES
+                ),
+        ],
+        'UPSTREAM'   => 'cpan',
+    },
 
-    'Text::ParseWords' =>
-	{
-	'MAINTAINER'	=> 'chorny',
-	'DISTRIBUTION'	=> 'CHORNY/Text-ParseWords-3.27.zip',
-	'FILES'		=> q[cpan/Text-ParseWords],
-	'EXCLUDED'	=> [ qw( t/pod.t ) ],
-	# For the benefit of make_ext.pl, we have to have this accessible:
-	'MAP'		=> {
-			     'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
-			     ''              => 'cpan/Text-ParseWords/',
-			   },
-	'UPSTREAM'	=> undef,
-	},
+    'Term::ANSIColor' => {
+        'MAINTAINER'   => 'rra',
+        'DISTRIBUTION' => 'RRA/Term-ANSIColor-4.02.tar.gz',
+        'FILES'        => q[cpan/Term-ANSIColor],
+        'EXCLUDED'     => [
+            qr{^tests/},
+            qr{^examples/},
+            qr{^t/data/},
+            qw( t/aliases-env.t
+                t/critic.t
+                t/minimum-version.t
+                t/pod-spelling.t
+                t/pod-coverage.t
+                t/pod.t
+                t/strict.t
+                t/synopsis.t
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Text::Soundex' =>
-	{
-	'MAINTAINER'	=> 'markm',
-	'DISTRIBUTION'	=> 'MARKM/Text-Soundex-3.03.tar.gz',
-	'FILES'		=> q[cpan/Text-Soundex],
-	'MAP'		=> { ''               => 'cpan/Text-Soundex/',
-			     # XXX these two files are clearly related,
-			     # but they appear to have diverged
-			     # considerably over the years
-	                     'test.pl'        => 'cpan/Text-Soundex/t/Soundex.t',
-			   },
-	'UPSTREAM'	=> undef,
-	},
+    'Term::Cap' => {
+        'MAINTAINER'   => 'jstowe',
+        'DISTRIBUTION' => 'JSTOWE/Term-Cap-1.12.tar.gz',
+        'FILES'        => q[cpan/Term-Cap],
+        'UPSTREAM'     => undef,
+    },
 
-    'Text-Tabs+Wrap' =>
-	{
-	'MAINTAINER'	=> 'muir',
-	'DISTRIBUTION'	=> 'MUIR/modules/Text-Tabs+Wrap-2009.0305.tar.gz',
-	'FILES'		=> q[cpan/Text-Tabs],
-	'EXCLUDED'	=> [ qw( t/dnsparks.t ) ], # see af6492bf9e
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Term::Complete' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/Term-Complete-1.402.tar.gz',
+        'FILES'        => q[dist/Term-Complete],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Thread::Queue' =>
-	{
-	'MAINTAINER'	=> 'jdhedden',
-	'DISTRIBUTION'	=> 'JDHEDDEN/Thread-Queue-2.12.tar.gz',
-	'FILES'		=> q[dist/Thread-Queue],
-	'EXCLUDED'	=> [ qw(examples/queue.pl
-				t/00_load.t
-				t/99_pod.t
-				t/test.pl
-			       ) ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Term::ReadLine' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/Term-ReadLine-1.10.tar.gz',
+        'FILES'        => q[dist/Term-ReadLine],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Thread::Semaphore' =>
-	{
-	'MAINTAINER'	=> 'jdhedden',
-	'DISTRIBUTION'	=> 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
-	'FILES'		=> q[dist/Thread-Semaphore],
-	'EXCLUDED'	=> [ qw(examples/semaphore.pl
-				t/00_load.t
-				t/99_pod.t
-				t/test.pl
-			       ) ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Term::UI' => {
+        'MAINTAINER'   => 'kane',
+        'DISTRIBUTION' => 'BINGOS/Term-UI-0.34.tar.gz',
+        'FILES'        => q[cpan/Term-UI],
+        'UPSTREAM'     => 'cpan',
+        'DEPRECATED'   => '5.017009',
+    },
 
-    'threads' =>
-	{
-	'MAINTAINER'	=> 'jdhedden',
-	'DISTRIBUTION'	=> 'JDHEDDEN/threads-1.83.tar.gz',
-	'FILES'		=> q[dist/threads],
-	'EXCLUDED'	=> [ qr{^examples/},
-			     qw(t/pod.t
-				t/test.pl
-				threads.h
-			       ) ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Test' => {
+        'MAINTAINER'   => 'jesse',
+        'DISTRIBUTION' => 'JESSE/Test-1.26.tar.gz',
+        'FILES'        => q[cpan/Test],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'threads::shared' =>
-	{
-	'MAINTAINER'	=> 'jdhedden',
-	'DISTRIBUTION'	=> 'JDHEDDEN/threads-shared-1.37.tar.gz',
-	'FILES'		=> q[dist/threads-shared],
-	'EXCLUDED'	=> [ qw(examples/class.pl
-				shared.h
-				t/pod.t
-				t/test.pl
-			       ) ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Test::Harness' => {
+        'MAINTAINER'   => 'andya',
+        'DISTRIBUTION' => 'OVID/Test-Harness-3.26.tar.gz',
+        'FILES'        => q[cpan/Test-Harness],
+        'EXCLUDED'     => [
+            qr{^examples/},
+            qr{^inc/},
+            qr{^t/lib/Test/},
+            qr{^xt/},
+            qw( Changes-2.64
+                NotBuild.PL
+                HACKING.pod
+                perlcriticrc
+                t/lib/if.pm
+                ),
+        ],
+        'CUSTOMIZED' => [ 't/source.t' ],
+        'UPSTREAM'   => 'cpan',
+    },
 
-    'Tie::File' =>
-	{
-	'MAINTAINER'	=> 'mjd',
-	'DISTRIBUTION'	=> 'MJD/Tie-File-0.96.tar.gz',
-	'FILES'		=> q[cpan/Tie-File],
-	'UPSTREAM'	=> 'first-come',
-	},
+    'Test::Simple' => {
+        'MAINTAINER'   => 'mschwern',
+        'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.98.tar.gz',
+        'FILES'        => q[cpan/Test-Simple],
+        'EXCLUDED'     => [
+            qw( .perlcriticrc
+                .perltidyrc
+                t/00compile.t
+                t/pod.t
+                t/pod-coverage.t
+                t/Builder/reset_outputs.t
+                lib/Test/Builder/IO/Scalar.pm
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Tie::Hash' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[lib/Tie/Hash.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Text::Abbrev' => {
+        'MAINTAINER'   => 'p5p',
+        'DISTRIBUTION' => 'FLORA/Text-Abbrev-1.02.tar.gz',
+        'FILES'        => q[dist/Text-Abbrev],
+        'EXCLUDED'     => [qr{^t/release-.*\.t}],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'Tie::Hash::NamedCapture' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Tie-Hash-NamedCapture],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Text::Balanced' => {
+        'MAINTAINER'   => 'dmanura',
+        'DISTRIBUTION' => 'ADAMK/Text-Balanced-2.02.tar.gz',
+        'FILES'        => q[cpan/Text-Balanced],
+        'EXCLUDED'     => [
+            qw( t/97_meta.t
+                t/98_pod.t
+                t/99_pmv.t
+                ),
+        ],
+        'CUSTOMIZED'   => [
+            qw( t/01_compile.t
+                t/02_extbrk.t
+                t/03_extcbk.t
+                t/04_extdel.t
+                t/05_extmul.t
+                t/06_extqlk.t
+                t/07_exttag.t
+                t/08_extvar.t
+                t/09_gentag.t
+                ),
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Tie::Memoize' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/Tie-Memoize],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Text::ParseWords' => {
+        'MAINTAINER'   => 'chorny',
+        'DISTRIBUTION' => 'CHORNY/Text-ParseWords-3.28.tar.gz',
+        'FILES'        => q[cpan/Text-ParseWords],
+        'EXCLUDED'     => ['t/pod.t'],
 
-    'Tie::RefHash' =>
-	{
-	'MAINTAINER'	=> 'nuffin',
-	'DISTRIBUTION'	=> 'FLORA/Tie-RefHash-1.39.tar.gz',
-	'FILES'		=> q[cpan/Tie-RefHash],
-	'UPSTREAM'	=> 'cpan',
-	},
+        # For the benefit of make_ext.pl, we have to have this accessible:
+        'MAP' => {
+            'ParseWords.pm' => 'cpan/Text-ParseWords/lib/Text/ParseWords.pm',
+            ''              => 'cpan/Text-ParseWords/',
+        },
+        'UPSTREAM' => undef,
+    },
 
-    'Time::HiRes' =>
-	{
-	'MAINTAINER'	=> 'zefram',
-	'DISTRIBUTION'	=> 'JHI/Time-HiRes-1.9721.tar.gz',
-	'FILES'		=> q[cpan/Time-HiRes],
-	'UPSTREAM'	=> undef,
-	},
+    'Text::Soundex' => {
+        'MAINTAINER'   => 'markm',
+        'DISTRIBUTION' => 'RJBS/Text-Soundex-3.04.tar.gz',
+        'FILES'        => q[cpan/Text-Soundex],
+        'MAP'          => {
+            '' => 'cpan/Text-Soundex/',
 
-    'Time::Local' =>
-	{
-	'MAINTAINER'	=> 'drolsky',
-	'DISTRIBUTION'	=> 'FLORA/Time-Local-1.2000.tar.gz',
-	'FILES'		=> q[cpan/Time-Local],
-	'EXCLUDED'	=> [ qw(t/pod-coverage.t t/pod.t) ],
-	'UPSTREAM'	=> 'cpan',
-	},
+            # XXX these two files are clearly related,
+            # but they appear to have diverged
+            # considerably over the years
+            'test.pl' => 'cpan/Text-Soundex/t/Soundex.t',
+        },
+        'UPSTREAM' => undef,
+    },
 
-    'Time::Piece' =>
-	{
-	'MAINTAINER'	=> 'msergeant',
-	'DISTRIBUTION'	=> 'MSERGEANT/Time-Piece-1.20.tar.gz',
-	'FILES'		=> q[cpan/Time-Piece],
-	'UPSTREAM'	=> undef,
-	},
+    'Text-Tabs+Wrap' => {
+        'MAINTAINER'   => 'muir',
+        'DISTRIBUTION' => 'MUIR/modules/Text-Tabs+Wrap-2012.0818.tar.gz',
+        'FILES'        => q[cpan/Text-Tabs],
+        'EXCLUDED'   => [
+            qr/^lib\.old/,
+            't/dnsparks.t',    # see af6492bf9e
+        ],
+        'MAP'          => {
+            ''                        => 'cpan/Text-Tabs/',
+            'lib.modern/Text/Tabs.pm' => 'cpan/Text-Tabs/lib/Text/Tabs.pm',
+            'lib.modern/Text/Wrap.pm' => 'cpan/Text-Tabs/lib/Text/Wrap.pm',
+        },
+        'UPSTREAM'   => 'cpan',
+    },
 
-    'Unicode::Collate' =>
-	{
-	'MAINTAINER'	=> 'sadahiro',
-	'DISTRIBUTION'	=> 'SADAHIRO/Unicode-Collate-0.73-withoutworldwriteables.tar.gz',
-	'FILES'		=> q[cpan/Unicode-Collate],
-	'EXCLUDED'	=> [ qr{N$},
-                   qr{^data/},
-                   qr{^gendata/},
-			             qw{disableXS enableXS mklocale},
-			   ],
-	'UPSTREAM'	=> 'first-come',
-	},
+    'Thread::Queue' => {
+        'MAINTAINER'   => 'jdhedden',
+        'DISTRIBUTION' => 'JDHEDDEN/Thread-Queue-3.02.tar.gz',
+        'FILES'        => q[dist/Thread-Queue],
+        'EXCLUDED'     => [
+            qr{^examples/},
+            qw( t/00_load.t
+                t/99_pod.t
+                t/test.pl
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'Unicode::Normalize' =>
-	{
-	'MAINTAINER'	=> 'sadahiro',
-	'DISTRIBUTION'	=> 'SADAHIRO/Unicode-Normalize-1.10-withoutworldwriteables.tar.gz',
-	'FILES'		=> q[cpan/Unicode-Normalize],
-	'EXCLUDED'	=> [ qw{MANIFEST.N Normalize.pmN disableXS enableXS }],
-	'UPSTREAM'	=> 'first-come',
-	},
+    'Thread::Semaphore' => {
+        'MAINTAINER'   => 'jdhedden',
+        'DISTRIBUTION' => 'JDHEDDEN/Thread-Semaphore-2.12.tar.gz',
+        'FILES'        => q[dist/Thread-Semaphore],
+        'EXCLUDED'     => [
+            qw( examples/semaphore.pl
+                t/00_load.t
+                t/99_pod.t
+                t/test.pl
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'Unicode::UCD' =>
-	{
-	'MAINTAINER'	=> 'blead',
-	'FILES'		=> q[lib/Unicode/UCD.{pm,t}],
-	'UPSTREAM'	=> 'blead',
-	},
+    'threads' => {
+        'MAINTAINER'   => 'jdhedden',
+        'DISTRIBUTION' => 'JDHEDDEN/threads-1.86.tar.gz',
+        'FILES'        => q[dist/threads],
+        'EXCLUDED'     => [
+            qr{^examples/},
+            qw( t/pod.t
+                t/test.pl
+                threads.h
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'Version::Requirements' =>
-	{
-	'MAINTAINER'	=> 'rjbs',
-	'DISTRIBUTION'	=> 'RJBS/Version-Requirements-0.101020.tar.gz',
-	'FILES'		=> q[cpan/Version-Requirements],
-	'EXCLUDED'	=> [ qw(t/release-pod-syntax.t) ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'threads::shared' => {
+        'MAINTAINER'   => 'jdhedden',
+        'DISTRIBUTION' => 'JDHEDDEN/threads-shared-1.43.tar.gz',
+        'FILES'        => q[dist/threads-shared],
+        'EXCLUDED'     => [
+            qw( examples/class.pl
+                shared.h
+                t/pod.t
+                t/test.pl
+                ),
+        ],
+        'UPSTREAM' => 'blead',
+    },
 
-    'version' =>
-	{
-	'MAINTAINER'	=> 'jpeacock',
-	'DISTRIBUTION'	=> 'JPEACOCK/version-0.88.tar.gz',
-	'FILES'		=> q[lib/version.pm lib/version.pod lib/version.t
-			     lib/version],
-	'EXCLUDED'	=> [ qr{^t/.*\.t$}, qw{t/survey_locales}, qr{^vutil/},
-			     qw{lib/version/typemap},
-			     qw{vperl/vpp.pm},
-			   ],
-	'MAP'		=> { 'lib/'	      => 'lib/',
-			     't/coretests.pm' => 'lib/version.t',
-			   },
-	'UPSTREAM'	=> undef,
-	},
+    'Tie::File' => {
+        'MAINTAINER'   => 'mjd',
+        'DISTRIBUTION' => 'TODDR/Tie-File-0.98.tar.gz',
+        'FILES'        => q[dist/Tie-File],
+        'UPSTREAM'     => 'blead',
+    },
 
-    'vms' =>
-	{
-	'MAINTAINER'	=> 'craig',
-	'FILES'		=> q[vms configure.com README.vms],
-	'UPSTREAM'	=> undef,
-	},
+    'Tie::Hash' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[lib/Tie/Hash.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'VMS::DCLsym' =>
-	{
-	'MAINTAINER'	=> 'craig',
-	'FILES'		=> q[ext/VMS-DCLsym],
-	'UPSTREAM'	=> undef,
-	},
+    'Tie::Hash::NamedCapture' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Tie-Hash-NamedCapture],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'VMS::Stdio' =>
-	{
-	'MAINTAINER'	=> 'craig',
-	'FILES'		=> q[ext/VMS-Stdio],
-	'UPSTREAM'	=> undef,
-	},
+    'Tie::Memoize' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/Tie-Memoize],
+        'UPSTREAM'   => 'blead',
+    },
 
-    'warnings' =>
-	{
-	'MAINTAINER'	=> 'pmqs',
-	'FILES'		=> q[regen/warnings.pl
-			     lib/warnings.{pm,t}
-			     lib/warnings
-			     t/lib/warnings
-			    ],
-	'UPSTREAM'	=> undef,
-	},
+    'Tie::RefHash' => {
+        'MAINTAINER'   => 'nuffin',
+        'DISTRIBUTION' => 'FLORA/Tie-RefHash-1.39.tar.gz',
+        'FILES'        => q[cpan/Tie-RefHash],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'win32' =>
-	{
-	'MAINTAINER'	=> 'jand',
-	'FILES'		=> q[win32 t/win32 README.win32 ext/Win32CORE],
-	'UPSTREAM'	=> undef,
-	},
+    'Time::HiRes' => {
+        'MAINTAINER'   => 'zefram',
+        'DISTRIBUTION' => 'ZEFRAM/Time-HiRes-1.9725.tar.gz',
+        'FILES'        => q[cpan/Time-HiRes],
+        'UPSTREAM'     => 'cpan',
+    },
 
-    'Win32' =>
-	{
-	'MAINTAINER'	=> 'jand',
-	'DISTRIBUTION'	=> "JDB/Win32-0.44.tar.gz",
-	'FILES'		=> q[cpan/Win32],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Time::Local' => {
+        'MAINTAINER'   => 'drolsky',
+        'DISTRIBUTION' => 'DROLSKY/Time-Local-1.2300.tar.gz',
+        'FILES'        => q[cpan/Time-Local],
+        'EXCLUDED'     => [
+            qw( t/pod-coverage.t
+                t/pod.t
+                ),
+            qr{^t/release-.*\.t},
+        ],
+        'UPSTREAM' => 'cpan',
+    },
 
-    'Win32API::File' =>
-	{
-	'MAINTAINER'	=> 'chorny',
-	'DISTRIBUTION'	=> 'CHORNY/Win32API-File-0.1101.zip',
-	'FILES'		=> q[cpan/Win32API-File],
-	'EXCLUDED'	=> [ qr{^ex/},
-			     qw{t/pod.t},
-			   ],
-	'UPSTREAM'	=> 'cpan',
-	},
+    'Time::Piece' => {
+        'MAINTAINER'   => 'msergeant',
+        'DISTRIBUTION' => 'MSERGEANT/Time-Piece-1.20.tar.gz',
+        'FILES'        => q[cpan/Time-Piece],
+        'UPSTREAM'     => undef,
+    },
 
-    'XS::Typemap' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[ext/XS-Typemap],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Unicode::Collate' => {
+        'MAINTAINER'   => 'sadahiro',
+        'DISTRIBUTION' => 'SADAHIRO/Unicode-Collate-0.97.tar.gz',
+        'FILES'        => q[cpan/Unicode-Collate],
+        'EXCLUDED'     => [
+            qr{N$},
+            qr{^data/},
+            qr{^gendata/},
+            qw( disableXS
+                enableXS
+                mklocale
+                ),
+        ],
+        'UPSTREAM' => 'first-come',
+    },
 
-    'XSLoader' =>
-	{
-	'MAINTAINER'	=> 'saper',
-	'DISTRIBUTION'	=> 'SAPER/XSLoader-0.10.tar.gz',
-	'FILES'		=> q[dist/XSLoader],
-	'EXCLUDED'	=> [ qr{^eg/},
-			     qw{t/pod.t
-			        t/podcover.t
-				t/portfs.t
-				XSLoader.pm}, # we use XSLoader_pm.PL
-			   ],
-	'UPSTREAM'	=> 'blead',
-	},
+    'Unicode::Normalize' => {
+        'MAINTAINER'   => 'sadahiro',
+        'DISTRIBUTION' => 'SADAHIRO/Unicode-Normalize-1.16.tar.gz',
+        'FILES'        => q[cpan/Unicode-Normalize],
+        'EXCLUDED'     => [
+            qw( MANIFEST.N
+                Normalize.pmN
+                disableXS
+                enableXS
+                ),
+        ],
+        'UPSTREAM' => 'first-come',
+    },
 
-    's2p' =>
-	{
-	'MAINTAINER'	=> 'laun',
-	'FILES'		=> q[x2p/s2p.PL],
-	'UPSTREAM'	=> undef,
-	},
+    'Unicode::UCD' => {
+        'MAINTAINER' => 'blead',
+        'FILES'      => q[lib/Unicode/UCD.{pm,t}],
+        'UPSTREAM'   => 'blead',
+    },
 
+    'version' => {
+        'MAINTAINER'   => 'jpeacock',
+        'DISTRIBUTION' => 'JPEACOCK/version-0.9902.tar.gz',
+        'FILES'        => q[lib/version.pm lib/version.pod lib/version],
+        'EXCLUDED' => [
+            qr{^t/.*\.t$},
+            qr{^vutil/},
+            'lib/version/typemap',
+            't/survey_locales',
+            'vperl/vpp.pm',
+        ],
+        'MAP' => {
+            'lib/'           => 'lib/',
+            't/'             => 'lib/version/t/'
+        },
+        'UPSTREAM' => undef,
+    },
 
+    'vms' => {
+        'MAINTAINER' => 'craig',
+        'FILES'      => q[vms configure.com README.vms],
+        'UPSTREAM'   => undef,
+    },
+
+    'VMS::DCLsym' => {
+        'MAINTAINER' => 'craig',
+        'FILES'      => q[ext/VMS-DCLsym],
+        'UPSTREAM'   => undef,
+    },
+
+    'VMS::Stdio' => {
+        'MAINTAINER' => 'craig',
+        'FILES'      => q[ext/VMS-Stdio],
+        'UPSTREAM'   => undef,
+    },
+
+    'warnings' => {
+        'MAINTAINER' => 'pmqs',
+        'FILES'      => q[regen/warnings.pl
+                 lib/warnings.{pm,t}
+                 lib/warnings
+                 t/lib/warnings
+                ],
+        'UPSTREAM' => 'blead',
+    },
+
+    'win32' => {
+        'MAINTAINER' => 'jand',
+        'FILES'      => q[win32 t/win32 README.win32 ext/Win32CORE],
+        'UPSTREAM'   => undef,
+    },
+
+    'Win32' => {
+        'MAINTAINER'   => 'jand',
+        'DISTRIBUTION' => "JDB/Win32-0.47.tar.gz",
+        'FILES'        => q[cpan/Win32],
+        'UPSTREAM'     => 'cpan',
+    },
+
+    'Win32API::File' => {
+        'MAINTAINER'   => 'chorny',
+        'DISTRIBUTION' => 'CHORNY/Win32API-File-0.1201.tar.gz',
+        'FILES'        => q[cpan/Win32API-File],
+        'EXCLUDED'     => [
+            qr{^ex/},
+            't/pod.t',
+        ],
+        'UPSTREAM' => 'cpan',
+    },
+
+    'XS::Typemap' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[ext/XS-Typemap],
+        'UPSTREAM'   => 'blead',
+    },
+
+    'XSLoader' => {
+        'MAINTAINER'   => 'saper',
+        'DISTRIBUTION' => 'SAPER/XSLoader-0.16.tar.gz',
+        'FILES'        => q[dist/XSLoader],
+        'EXCLUDED'     => [
+            qr{^eg/},
+            qw( t/pod.t
+                t/podcover.t
+                t/portfs.t
+                ),
+            'XSLoader.pm',    # we use XSLoader_pm.PL
+        ],
+        # Revert UPSTREAM to 'blead' after 0.17 is released
+        'UPSTREAM' => undef,
+    },
+
+    's2p' => {
+        'MAINTAINER' => 'laun',
+        'FILES'      => q[x2p/s2p.PL],
+        'UPSTREAM'   => undef,
+    },
+
     # this pseudo-module represents all the files under ext/ and lib/
     # that aren't otherwise claimed. This means that the following two
     # commands will check that every file under ext/ and lib/ is
@@ -2088,119 +2142,82 @@
     #    perl Porting/Maintainers --checkmani lib ext
     #    perl Porting/Maintainers --checkmani
 
-    '_PERLLIB' =>
-	{
-	'MAINTAINER'	=> 'p5p',
-	'FILES'		=> q[
-				ext/XS-APItest/
-				lib/CORE.pod
-				lib/Config.t
-				lib/Config/Extensions.{pm,t}
-				lib/DB.{pm,t}
-				lib/ExtUtils/Embed.pm
-				lib/ExtUtils/XSSymSet.pm
-				lib/ExtUtils/t/Embed.t
-				lib/ExtUtils/typemap
-				lib/Internals.t
-				lib/Module/Build/ConfigData.pm
-				lib/Net/hostent.{pm,t}
-				lib/Net/netent.{pm,t}
-				lib/Net/protoent.{pm,t}
-				lib/Net/servent.{pm,t}
-				lib/Pod/Functions.pm
-				lib/Pod/t/Functions.t
-				lib/Pod/t/InputObjects.t
-				lib/Pod/t/Select.t
-				lib/Pod/t/Usage.t
-				lib/Pod/t/eol.t
-				lib/Pod/t/utils.t
-				lib/Search/Dict.{pm,t}
-				lib/SelectSaver.{pm,t}
-				lib/Symbol.{pm,t}
-				lib/Term/Complete.{pm,t}
-				lib/Term/ReadLine.{pm,t}
-				lib/Text/Abbrev.{pm,t}
-				lib/Thread.{pm,t}
-				lib/Tie/Array.pm
-				lib/Tie/Array/
-				lib/Tie/ExtraHash.t
-				lib/Tie/Handle.pm
-				lib/Tie/Handle/
-				lib/Tie/Scalar.{pm,t}
-				lib/Tie/StdHandle.pm
-				lib/Tie/SubstrHash.{pm,t}
-				lib/Time/gmtime.{pm,t}
-				lib/Time/localtime.{pm,t}
-				lib/Time/tm.pm
-				lib/UNIVERSAL.pm
-				lib/Unicode/README
-				lib/User/grent.{pm,t}
-				lib/User/pwent.{pm,t}
-				lib/abbrev.pl
-				lib/assert.pl
-				lib/bigfloat{.pl,pl.t}
-				lib/bigint{.pl,pl.t}
-				lib/bigrat.pl
-				lib/blib.{pm,t}
-				lib/bytes.{pm,t}
-				lib/bytes_heavy.pl
-				lib/cacheout.pl
-				lib/charnames.{pm,t}
-				lib/complete.pl
-				lib/ctime.pl
-				lib/dbm_filter_util.pl
-				lib/deprecate.pm
-				lib/dotsh.pl
-				lib/dumpvar.{pl,t}
-				lib/exceptions.pl
-				lib/fastcwd.pl
-				lib/feature.{pm,t}
-				lib/feature/
-				lib/filetest.{pm,t}
-				lib/find.pl
-				lib/finddepth.pl
-				lib/flush.pl
-				lib/getcwd.pl
-				lib/getopt.pl
-				lib/getopts.pl
-				lib/h2ph.t
-				lib/h2xs.t
-				lib/hostname.pl
-				lib/importenv.pl
-				lib/integer.{pm,t}
-				lib/less.{pm,t}
-				lib/locale.{pm,t}
-				lib/look.pl
-				lib/open.{pm,t}
-				lib/open2.pl
-				lib/open3.pl
-				lib/overload/numbers.pm
-				lib/overloading.{pm,t}
-				lib/perl5db.{pl,t}
-				lib/perl5db/
-				lib/pwd.pl
-				lib/shellwords.pl
-				lib/sort.{pm,t}
-				lib/stat.pl
-				lib/strict.{pm,t}
-				lib/subs.{pm,t}
-				lib/syslog.pl
-				lib/tainted.pl
-				lib/termcap.pl
-				lib/timelocal.pl
-				lib/unicore/
-				lib/utf8.{pm,t}
-				lib/utf8_heavy.pl
-				lib/validate.pl
-				lib/vars{.pm,.t,_carp.t}
-				lib/vmsish.{pm,t}
-			    ],
-	'UPSTREAM'	=> 'blead',
-	},
+    '_PERLLIB' => {
+        'MAINTAINER' => 'p5p',
+        'FILES'      => q[
+                ext/arybase/
+                ext/XS-APItest/
+                lib/CORE.pod
+                lib/Config.t
+                lib/Config/Extensions.{pm,t}
+                lib/DB.{pm,t}
+                lib/ExtUtils/Embed.pm
+                lib/ExtUtils/XSSymSet.pm
+                lib/ExtUtils/t/Embed.t
+                lib/ExtUtils/typemap
+                lib/Internals.t
+                lib/Net/hostent.{pm,t}
+                lib/Net/netent.{pm,t}
+                lib/Net/protoent.{pm,t}
+                lib/Net/servent.{pm,t}
+                lib/Pod/t/InputObjects.t
+                lib/Pod/t/Select.t
+                lib/Pod/t/Usage.t
+                lib/Pod/t/utils.t
+                lib/SelectSaver.{pm,t}
+                lib/Symbol.{pm,t}
+                lib/Thread.{pm,t}
+                lib/Tie/Array.pm
+                lib/Tie/Array/
+                lib/Tie/ExtraHash.t
+                lib/Tie/Handle.pm
+                lib/Tie/Handle/
+                lib/Tie/Scalar.{pm,t}
+                lib/Tie/StdHandle.pm
+                lib/Tie/SubstrHash.{pm,t}
+                lib/Time/gmtime.{pm,t}
+                lib/Time/localtime.{pm,t}
+                lib/Time/tm.pm
+                lib/UNIVERSAL.pm
+                lib/Unicode/README
+                lib/User/grent.{pm,t}
+                lib/User/pwent.{pm,t}
+                lib/blib.{pm,t}
+                lib/bytes.{pm,t}
+                lib/bytes_heavy.pl
+                lib/_charnames.pm
+                lib/charnames.{pm,t}
+                lib/dbm_filter_util.pl
+                lib/deprecate.pm
+                lib/dumpvar.{pl,t}
+                lib/feature.{pm,t}
+                lib/feature/
+                lib/filetest.{pm,t}
+                lib/h2ph.t
+                lib/h2xs.t
+                lib/integer.{pm,t}
+                lib/less.{pm,t}
+                lib/locale.{pm,t}
+                lib/open.{pm,t}
+                lib/overload/numbers.pm
+                lib/overloading.{pm,t}
+                lib/perl5db.{pl,t}
+                lib/perl5db/
+                lib/sort.{pm,t}
+                lib/strict.{pm,t}
+                lib/subs.{pm,t}
+                lib/unicore/
+                lib/utf8.{pm,t}
+                lib/utf8_heavy.pl
+                lib/vars{.pm,.t,_carp.t}
+                lib/vmsish.{pm,t}
+                ],
+        'UPSTREAM' => 'blead',
+    },
 );
 
 # legacy CPAN flag
-for (values %Modules) {
+for ( values %Modules ) {
     $_->{CPAN} = !!$_->{DISTRIBUTION};
 }
 


Property changes on: vendor/perl/dist/Porting/Maintainers.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/Maintainers.pm
===================================================================
--- vendor/perl/dist/Porting/Maintainers.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/Maintainers.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,9 +20,9 @@
 @EXPORT_OK = qw(%Modules %Maintainers
 		get_module_files get_module_pat
 		show_results process_options files_to_modules
-        finish_tap_output
+		finish_tap_output
 		reload_manifest);
-$VERSION = 0.05;
+$VERSION = 0.09;
 
 require Exporter;
 
@@ -81,9 +81,11 @@
 			 }, $_);
 		    @files;
 		}
+	    # Not a glob, but doesn't exist
+	    : $_ !~ /[*?{]/ ? $_
 	    # The rest are globbable patterns; expand the glob, then
 	    # recursively perform directory expansion on any results
-	    : expand_glob(grep -e $_,glob($_))
+	    : expand_glob(glob($_))
 	    } @_;
 }
 
@@ -90,11 +92,12 @@
 sub filter_excluded {
     my ($m, @files) = @_;
 
+    my $excluded = $Modules{$m}{EXCLUDED};
     return @files
-	unless my $excluded = $Modules{$m}{EXCLUDED};
+	unless $excluded and @$excluded;
 
     my ($pat) = map { qr/$_/ } join '|' => map {
-	ref $_ ? qr/\Q$_\E/ : $_
+	ref $_ ? $_ : qr/\b\Q$_\E$/
     } @{ $excluded };
 
     return grep { $_ !~ $pat } @files;
@@ -132,10 +135,6 @@
     --opened  | file ....
 		List the module ownership of modified or the listed files
 
-    --tap-output
-        Show results as valid TAP output. Currently only compatible
-        with --check, --checkmani
-
 Matching is case-ignoring regexp, author matching is both by
 the short id and by the full name and email.  A "module" may
 not be just a module, it may be a file or files or a subdirectory.
@@ -151,7 +150,6 @@
 my $Checkmani;
 my $Opened;
 my $TestCounter = 0;
-my $TapOutput;
 
 sub process_options {
     usage()
@@ -163,7 +161,6 @@
 		       'check'		=> \$Check,
 		       'checkmani'	=> \$Checkmani,
 		       'opened'		=> \$Opened,
-		       'tap-output' => \$TapOutput,
 		      );
 
     my @Files;
@@ -305,6 +302,8 @@
 	    }
 	}
     } elsif ($Check or $Checkmani) {
+        require Test::More;
+        Test::More->import;
         if( @Files ) {
 		    missing_maintainers(
 			$Checkmani
@@ -312,8 +311,9 @@
 			    : sub { /\.(?:[chty]|p[lm]|xs)\z/msx },
 			@Files
 		    );
-		} else { 
+		} else {
 		    duplicated_maintainers();
+		    superfluous_maintainers();
 		}
     } elsif (@Files) {
 	my $ModuleByFile = files_to_modules(@Files);
@@ -349,34 +349,14 @@
 
 sub duplicated_maintainers {
     maintainers_files();
-    for my $f (keys %files) {
-        if ($TapOutput) {
-	        if ($files{$f} > 1) {
-	            print  "not ok ".++$TestCounter." - File $f appears $files{$f} times in Maintainers.pl\n";
-            } else {
-	            print  "ok ".++$TestCounter." - File $f appears $files{$f} times in Maintainers.pl\n";
-            }
-        } else {
-	        if ($files{$f} > 1) {
-	            warn "File $f appears $files{$f} times in Maintainers.pl\n";
-	        }
+    for my $f (sort keys %files) {
+        cmp_ok($files{$f}, '<=', 1, "File $f appears $files{$f} times in Maintainers.pl");
     }
-    }
 }
 
 sub warn_maintainer {
     my $name = shift;
-    if ($TapOutput) {
-        if ($files{$name}) {
-            print "ok ".++$TestCounter." - $name has a maintainer\n";
-        } else {
-            print "not ok ".++$TestCounter." - $name has NO maintainer\n";
-           
-        } 
-
-    } else {
-        warn "File $name has no maintainer\n" if not $files{$name};
-    }
+    ok($files{$name}, "$name has a maintainer");
 }
 
 sub missing_maintainers {
@@ -389,8 +369,15 @@
     find sub { warn_maintainer($File::Find::name) if $check->() }, @dir if @dir;
 }
 
+sub superfluous_maintainers {
+    maintainers_files();
+    for my $f (sort keys %files) {
+        ok($MANIFEST{$f}, "File $f has a maintainer and is in MANIFEST");
+    }
+}
+
 sub finish_tap_output {
-    print "1..".$TestCounter."\n"; 
+    done_testing();
 }
 
 1;


Property changes on: vendor/perl/dist/Porting/Maintainers.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/README.y2038
===================================================================
--- vendor/perl/dist/Porting/README.y2038	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/README.y2038	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/README.y2038
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/add-package.pl
===================================================================
--- vendor/perl/dist/Porting/add-package.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/add-package.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/add-package.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/bump-perl-version
===================================================================
--- vendor/perl/dist/Porting/bump-perl-version	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/bump-perl-version	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,6 +26,9 @@
 #     $ Porting/bump-perl-version -u < /tmp/scan
 #
 # (so line 52 of Porting/config.sh is now updated)
+#
+# The -i option can be used to combine these two steps (if you prefer to make
+# all of the changes at once and then edit the results via git).
 
 # This utility 'knows' about certain files and formats, and so can spot
 # 'hidden' version numbers, like PERL_SUBVERSION=9.
@@ -45,6 +48,7 @@
 
 use strict;
 use warnings;
+use autodie;
 use Getopt::Std;
 use ExtUtils::Manifest;
 
@@ -56,6 +60,7 @@
 usage: $0 -c <C.C.C>
           -s <C.C.C> <N.N.N>
 	  -u
+	  -i <C.C.C> <N.N.N>
 
     -c check files and warn if any known string values (eg
 	PERL_SUBVERSION) don't match the specified version
@@ -64,12 +69,14 @@
 
     -u read in the scan file from stdin, and change all the lines specified
 
+    -i scan files and make changes inplace
+
     C.C.C the current perl version, eg 5.10.0
     N.N.N the new     perl version, eg 5.10.1
 EOF
 
 my %opts;
-getopts('csu', \%opts) or usage;
+getopts('csui', \%opts) or usage;
 if ($opts{u}) {
     @ARGV == 0 or usage('no version version numbers should be specified');
     # fake to stop warnings when calculating $oldx etc
@@ -82,7 +89,7 @@
 else {
     @ARGV == 2 or usage('require two version numbers');
 }
-usage('only one of -c, -s and -u') if keys %opts > 1;
+usage('only one of -c, -s, -u and -i') if keys %opts > 1;
 
 my ($oldx, $oldy, $oldz) = $ARGV[0] =~ /^(\d+)\.(\d+)\.(\d+)$/
 	or usage("bad version: $ARGV[0]");
@@ -179,7 +186,7 @@
 	qr{\b ((?:lib)?) perl (\d\d\d) (s?) \b }x,
 	sub {$2, "$1perl$newx$newy$3" },
 	"$oldx$oldy",
-	qr/makedef|win32|hints/,      # makedef.pl, README.win32, win32/*, hints/*
+	qr/win32|hints/,      # README.win32, win32/*, hints/*
     ],
 
     # microperl locations should be bumped for major versions
@@ -198,12 +205,14 @@
 my %SKIP_FILES = map { ($_ => 1) } qw(
     Changes
     MANIFEST
+    Porting/Maintainers.pl
+    Porting/acknowledgements.pl
+    Porting/corelist-perldelta.pl
     Porting/epigraphs.pod
     Porting/how_to_write_a_perldelta.pod
     Porting/release_managers_guide.pod
     Porting/release_schedule.pod
     Porting/bump-perl-version
-    pod.lst
     pp_ctl.c
 );
 my @SKIP_DIRS = qw(
@@ -218,7 +227,7 @@
 my %mani_files = map { ($_ => 1) } @mani_files;
 die "No entries found in MANIFEST; aborting\n" unless @mani_files;
 
-if ($opts{c} or $opts{s}) {
+if ($opts{c} or $opts{s} or $opts{i}) {
     do_scan();
 }
 elsif ($opts{u}) {
@@ -239,15 +248,20 @@
 	    warn "(skipping $file)\n";
 	    next;
 	}
-	open my $fh, '<', $file or die "Aborting: can't open $file: $!\n";
+	open my $fh, '<', $file;
 	my $header = 0;
+	my @stat = stat $file;
+	my $mode = $stat[2];
+	my $file_changed = 0;
+	my $new_contents = '';
 
-	while (<$fh>) {
+	while (my $line = <$fh>) {
+	    my $oldline = $line;
 	    for my $map (@maps) {
 		my ($pat, $sub, $expected, $file_pat) = @$map;
 
 		next if defined $file_pat and $file !~ $file_pat;
-		next unless $_ =~ $pat;
+		next unless $line =~ $pat;
 		my ($got, $replacement) = $sub->();
 
 		if ($opts{c}) {
@@ -254,17 +268,27 @@
 		    # only report unexpected 
 		    next unless defined $expected and $got ne $expected;
 		}
-		my $newstr = $_;
-    		$newstr =~ s/$pat/$replacement/
+		$line =~ s/$pat/$replacement/
 		    or die "Internal error: substitution failed: [$pat]\n";
-		if ($_ ne $newstr) {
+	    }
+	    $new_contents .= $line if $opts{i};
+	    if ($line ne $oldline) {
+		$file_changed = 1;
+		if ($opts{s}) {
 		    print "\n$file\n" unless $header;
 		    $header=1;
-		    printf "\n%5d: -%s       +%s", $., $_, $newstr;
+		    printf "\n%5d: -%s       +%s", $., $oldline, $line;
 		}
-		last;
 	    }
 	}
+	if ($opts{i} && $file_changed) {
+	    warn "Updating $file inplace\n";
+	    open my $fh, '>', $file;
+	    binmode $fh;
+	    print $fh $new_contents;
+	    close $fh;
+	    chmod $mode & 0777, $file;
+	}
     }
     warn "(skipped  $_/*)\n" for @SKIP_DIRS;
 }
@@ -308,11 +332,11 @@
 
     my %contents;
     for my $file (sort keys %changes) {
-	open my $fh, '<', $file or die "open '$file': $!\n";
+	open my $fh, '<', $file;
 	binmode $fh;
 	$contents{$file} = [ <$fh> ];
 	chomp @{$contents{$file}};
-	close $fh or die "close: '$file': $!\n";
+	close $fh;
 
 	my $entries = $changes{$file};
 	for my $line (keys %$entries) {
@@ -339,15 +363,15 @@
 
     for my $file (sort keys %contents) {
 	my $nfile = "$file-new";
-	open my $fh, '>', $nfile or die "create '$nfile' failed: $!\n";
+	open my $fh, '>', $nfile;
 	binmode $fh;
 	print $fh $_, "\n" for @{$contents{$file}};
-	close $fh or die "failed to close $nfile; aborting: $!\n";
+	close $fh;
 
-	my @stat = stat $file or die "Can't stat $file: $!\n";
+	my @stat = stat $file;
 	my $mode = $stat[2];
 	die "stat $file fgailed to give a mode!\n" unless defined $mode;
-	chmod $mode & 0777, $nfile or die "chmod $nfile failed; aborting: $!\n";
+	chmod $mode & 0777, $nfile;
     }
 
     # and rename them
@@ -355,7 +379,7 @@
     for my $file (sort keys %contents) {
 	my $nfile = "$file-new";
 	warn "updating $file ...\n";
-	rename $nfile, $file or die "rename $nfile $file: $!\n";
+	rename $nfile, $file;
     }
 }
 


Property changes on: vendor/perl/dist/Porting/bump-perl-version
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/Porting/check-cpan-pollution
===================================================================
--- vendor/perl/dist/Porting/check-cpan-pollution	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/check-cpan-pollution	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/check-cpan-pollution
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/check83.pl
===================================================================
--- vendor/perl/dist/Porting/check83.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/check83.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/check83.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/checkARGS_ASSERT.pl
===================================================================
--- vendor/perl/dist/Porting/checkARGS_ASSERT.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/checkARGS_ASSERT.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/checkARGS_ASSERT.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/checkAUTHORS.pl
===================================================================
--- vendor/perl/dist/Porting/checkAUTHORS.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/checkAUTHORS.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,7 @@
 #!/usr/bin/perl -w
 use strict;
-my ($committer, $patch, $author, $date);
+my ($committer, $patch, $author);
+use utf8;
 use Getopt::Long;
 use Text::Wrap;
 $Text::Wrap::columns = 80;
@@ -11,16 +12,17 @@
 
 my $result = GetOptions (
              # modes
-             "who" => \$who,
-             "rank" => \$rank,
+             "who"            => \$who,
+             "rank"           => \$rank,
              "thanks-applied" => \$ta,
-             "missing"   => \$ack ,
-             "tap" => \$tap,
+             "missing"        => \$ack ,
+             "tap"            => \$tap,
+
              # modifiers
-             "authors" => \$author_file,
-             "percentage" => \$percentage,      # show as %age
-             "cumulative" => \$cumulative,
-             "reverse" => \$reverse,
+             "authors=s"      => \$author_file,
+             "percentage"     => \$percentage,      # show as %age
+             "cumulative"     => \$cumulative,
+             "reverse"        => \$reverse,
             );
 
 if (!$result or ( $rank + $ta + $who + $ack + $tap != 1 ) or !@ARGV) {
@@ -28,7 +30,7 @@
 }
 
 $author_file ||= './AUTHORS';
-die "Can't locate '$author_file'. Specify it with '--author <path>'."
+die "Can't locate '$author_file'. Specify it with '--authors <path>'."
   unless -f $author_file;
 
 my $map = generate_known_author_map();
@@ -83,9 +85,9 @@
 sub list_authors {
     my ($patchers, $authors) = @_;
     binmode(STDOUT, ":utf8");
-    print "$_\n" for  sort { lc $a cmp lc $b }
+    print wrap '', '', join(', ', sort { lc $a cmp lc $b }
                       map { $authors->{$_} }
-                      keys %$patchers;
+                      keys %$patchers) . ".\n";
 }
 
 sub parse_commits_from_stdin {
@@ -93,10 +95,10 @@
     for (@lines) {
         next if m/^$/;
         next if m/^(\S*?)^Merge:/ism;    # skip merge commits
-        if (m/^(.*?)^Author:\s*(.*?)^AuthorDate:\s*(.*?)^Commit:\s*(.*?)^(.*)$/gism) {
+        if (m/^(.*?)^Author:\s*(.*?)^AuthorDate:\s*.*?^Commit:\s*(.*?)^(.*)$/gism) {
 
             # new patch
-            ( $patch, $author, $date, $committer ) = ( $1, $2, $3, $4 );
+            ( $patch, $author, $committer ) = ( $1, $2, $3 );
             chomp($author);
             unless ($author) { die $_ }
             chomp($committer);
@@ -158,6 +160,7 @@
         "arbor\100al37al08.telecel.pt"
         ,    # reported perlbug ticket 5196 - no actual code contribution. no real name - jrv 20091006
         "oracle\100pcr8.pcr.com",    # Reported perlbug ticket 1015 - no patch - Probably Ed Eddington ed at pcr.com
+        "snaury\100gmail.com",       # Reported cpan ticket 35943, with patch for fix
         ;
 
     #
@@ -212,7 +215,7 @@
     my (%count, %raw);
     foreach my $filename (@authors) {
         open FH, "<$filename" or die "Can't open $filename: $!";
-        binmode FH, ':encoding(ISO-8859-1)';
+        binmode FH, ':encoding(UTF-8)';
         while (<FH>) {
             next if /^\#/;
             next if /^-- /;
@@ -222,7 +225,7 @@
                 $name =~ s/\s*\z//;
                 $raw{$email} = $name;
                 $count{$email}++;
-            } elsif (/^([-A-Za-z0-9 .\'\xC0-\xD6\xD8\xF6\xF8-\xFF]+)[\t\n]/) {
+            } elsif (/^([-A-Za-z0-9 .\'À-ÖØöø-ÿ]+)[\t\n]/) {
 
                 # Name only
                 $untraced{$1}++;
@@ -328,7 +331,27 @@
 sub _raw_address {
     my $addr = shift;
     my $real_name;
-    if ( $addr =~ /<.*>/ ) {
+    if ($addr =~ /(?:\\?")?\s*\(via RT\) <perlbug-followup\@perl\.org>$/p) {
+        my $name = ${^PREMATCH};
+        $addr = 'perlbug-followup at perl.org';
+        #
+        # Try to find the author
+        #
+        if (exists $map->{$name}) {
+            $addr = $map->{$name};
+            $real_name = $authors{$addr};
+        }
+        else {
+            while (my ($email, $author_name) = each %authors) {
+                if ($name eq $author_name) {
+                    $addr = $email;
+                    $real_name = $name;
+                    last;
+                }
+            }
+        }
+    }
+    elsif ( $addr =~ /<.*>/ ) {
         $addr =~ s/^\s*(.*)\s*<\s*(.*?)\s*>.*$/$2/;
         $real_name = $1;
     }
@@ -349,7 +372,7 @@
 # List of mappings. First entry the "correct" email address, as appears
 # in the AUTHORS file. Second is any "alias" mapped to it.
 #
-# If the "correct" email address is a '+', the entry above is reused;
+# If the "correct" email address is a '+', the entry above it is reused;
 # this for addresses with more than one alias.
 #
 # Note that all entries are in lowercase. Further, no '@' signs should
@@ -386,6 +409,7 @@
 demerphq                                demerphq\100gmail.com
 +                                       yves.orton\100de.mci.com
 +                                       yves.orton\100mciworldcom.de
++                                       yves.orton\100booking.com
 +                                       demerphq\100dromedary.booking.com
 +                                       demerphq\100gemini.(none)
 +                                       demerphq\100camel.booking.com
@@ -449,6 +473,16 @@
 sky                                     sky\100nanisky.com
 +                                       artur\100contiller.se
 +                                       arthur\100contiller.se
+smueller                                7k8lrvf02\100sneakemail.com
++                                       kjx9zthh3001\100sneakemail.com
++                                       dtr8sin02\100sneakemail.com
++                                       rt8363b02\100sneakemail.com
++                                       o6hhmk002\100sneakemail.com
++                                       smueller\100cpan.org
++                                       l2ot9pa02\100sneakemail.com
++                                       wyp3rlx02\100sneakemail.com
++                                       0mgwtfbbq\100sneakemail.com
++                                       xyey9001\100sneakemail.com
 steveh                                  steve.m.hay\100googlemail.com
 +                                       stevehay\100planit.com
 +                                       steve.hay\100uk.radan.com
@@ -464,16 +498,8 @@
 # Mere mortals.
 #
 \043####\100juerd.nl                    juerd\100cpan.org
++                                       juerd\100c3.convolution.nl
 +                                       juerd\100convolution.nl
-7k8lrvf02\100sneakemail.com             kjx9zthh3001\100sneakemail.com
-+                                       dtr8sin02\100sneakemail.com
-+                                       rt8363b02\100sneakemail.com
-+                                       o6hhmk002\100sneakemail.com
-+                                       smueller\100cpan.org
-+                                       l2ot9pa02\100sneakemail.com
-+                                       wyp3rlx02\100sneakemail.com
-+                                       0mgwtfbbq\100sneakemail.com
-+                                       xyey9001\100sneakemail.com
 a.r.ferreira\100gmail.com               aferreira\100shopzilla.com
 abe\100ztreet.demon.nl                  abeltje\100cpan.org
 abela\100hsc.fr                         abela\100geneanet.org
@@ -532,10 +558,14 @@
 bert\100alum.mit.edu                    bert\100genscan.com
 bigbang7\100gmail.com                   ddascalescu+github\100gmail.com
 blgl\100stacken.kth.se                  blgl\100hagernas.com
++                                       2bfjdsla52kztwejndzdstsxl9athp\100gmail.com
 brian.d.foy\100gmail.com                bdfoy\100cpan.org
 BQW10602\100nifty.com                   sadahiro\100cpan.org
+bulk88\100hotmail.com                   bulk88
 
 chromatic\100wgz.org                    chromatic\100rmci.net
+ckuskie\100cadence.com                  colink\100perldreamer.com
+claes\100surfar.nu                      claes\100versed.se
 clintp\100geeksalad.org                 cpierce1\100ford.com
 clkao\100clkao.org                      clkao\100bestpractical.com
 corion\100corion.net                    corion\100cpan.org
@@ -560,9 +590,12 @@
 david\100kineticode.com                 david\100wheeler.com
 +                                       david\100wheeler.net
 dennis\100booking.com                   dennis\100camel.ams6.corp.booking.com
++					dennis.kaarsemaker\100booking.com
++                                       dennis\100kaarsemaker.net
 dev-perl\100pimb.org                    knew-p5p\100pimb.org
 +                                       lists-p5p\100pimb.org
 djberg86\100attbi.com                   djberg96\100attbi.com
+dk\100tetsuo.karasik.eu.org             dmitry\100karasik.eu.org
 domo\100computer.org                    shouldbedomo\100mac.com
 +                                       domo\100slipper.ip.lu
 +                                       domo\100tcp.ip.lu
@@ -598,6 +631,7 @@
 hio\100ymir.co.jp                       hio\100hio.jp
 hops\100sco.com                         hops\100scoot.pdev.sco.com
 
+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
@@ -632,10 +666,12 @@
 joseph\100cscaper.com                   joseph\1005sigma.com
 joshua\100rodd.us                       jrodd\100pbs.org
 jtobey\100john-edwin-tobey.org          jtobey\100user1.channel1.com
-jpeacock\100rowman.com                  john.peacock\100havurah-software.org
+jpeacock\100messagesystems.com          john.peacock\100havurah-software.org
 +                                       jpeacock\100havurah-software.org
 +                                       jpeacock\100dsl092-147-156.wdc1.dsl.speakeasy.net
 +                                       jpeacock\100jpeacock-hp.doesntexist.org
++                                       jpeacock\100cpan.org
++                                       jpeacock\100rowman.com
 jql\100accessone.com                    jql\100jql.accessone.com
 jsm28\100hermes.cam.ac.uk               jsm28\100cam.ac.uk
 
@@ -644,9 +680,12 @@
 +                                       kane\100xs4all.nl
 +                                       jos\100dwim.org
 +                                       jib\100ripe.net
+keith.s.thompson\100gmail.com           kst\100mib.org
 ken\100mathforum.org                    kenahoo\100gmail.com
 +                                       ken.williams\100thomsonreuters.com
 kroepke\100dolphin-services.de          kay\100dolphin-services.de
+kst\100mib.org                          kst\100cts.com
++                                       kst\100SDSC.EDU
 kstar\100wolfetech.com                  kstar\100cpan.org
 +                                       kurt_starsinic\100ml.com
 +                                       kstar\100www.chapin.edu
@@ -667,6 +706,9 @@
 lutherh\100stratcom.com                 lutherh\100infinet.com
 mab\100wdl.loral.com                    markb\100rdcf.sm.unisys.com
 marcel\100codewerk.com                  gr\100univie.ac.at
++                                       hanekomu\100gmail.com
+marcgreen\100cpan.org                   marcgreen\100wpi.edu
+markleightonfisher\100gmail.com         fisherm\100tce.com
 mark.p.lutz\100boeing.com               tecmpl1\100triton.ca.boeing.com
 marnix\100gmail.com                     pttesac!marnix!vanam
 marty+p5p\100kasei.com                  marty\100martian.org
@@ -677,6 +719,7 @@
 merijnb\100iloquent.nl                  merijnb\100ms.com
 +                                       merijnb\100iloquent.com
 merlyn\100stonehenge.com                merlyn\100gadget.cscaper.com
+mestre.smash\100gmail.com               smash\100cpan.org
 mgjv\100comdyn.com.au                   mgjv\100tradingpost.com.au
 mlh\100swl.msd.ray.com                  webtools\100uewrhp03.msd.ray.com
 michael.schroeder\100informatik.uni-erlangen.de mls\100suse.de
@@ -709,6 +752,10 @@
 
 joshua.pritikin\100db.com               joshua\100paloalto.com
 
+litt\100acm.org                         tlhackque\100yahoo.com
+
+meyering at asic.sc.ti.com                 jim\100meyering.net
+
 okamoto\100corp.hp.com                  okamoto\100hpcc123.corp.hp.com
 orwant\100oreilly.com                   orwant\100media.mit.edu
 
@@ -751,10 +798,13 @@
 +                                       khw\100khw-desktop.(none)
 
 radu\100netsoft.ro                      rgreab\100fx.ro
+rajagopa\100pauline.schrodinger.com     rajagopa\100schrodinger.com
 raphael.manfredi\100pobox.com           raphael_manfredi\100grenoble.hp.com
 module at renee-baecker.de                 renee.baecker\100smart-websolutions.de
 +                                       reneeb\100reneeb-desktop.(none)
++                                       github at renee-baecker.de
 +                                       otrs\100ubuntu.(none)
++                                       perl\100renee-baecker.de
 richard.foley\100rfi.net                richard.foley\100t-online.de
 +                                       richard.foley\100ubs.com
 +                                       richard.foley\100ubsw.com
@@ -766,6 +816,7 @@
 +                                       perl.p5p\100rjbs.manxome.org
 rjk\100linguist.dartmouth.edu           rjk\100linguist.thayer.dartmouth.edu
 +                                       rjk-perl-p5p\100tamias.net
++                                       rjk\100tamias.net
 rjray\100redhat.com                     rjray\100uswest.com
 rmgiroux\100acm.org                     rmgiroux\100hotmail.com
 +                                       mgiroux\100bear.com
@@ -780,10 +831,13 @@
 robin\100cpan.org                       robin\100kitsite.com
 roderick\100argon.org                   roderick\100gate.net
 +                                       roderick\100ibcinc.com
+argrath\100ub32.org                     root\100ub32.org
 rootbeer\100teleport.com                rootbeer\100redcat.com
 +                                       tomphoenix\100unknown
 rurban\100x-ray.at                      rurban\100cpan.org
-
++                                       rurban\100cpanel.net
+sartak\100bestpractical.com             sartak\100gmail.com
++                                       code\100sartak.org
 sadinoff\100olf.com                     danny-cpan\100sadinoff.com
 schubiger\100cpan.org                   steven\100accognoscere.org
 +                                       sts\100accognoscere.org
@@ -799,12 +853,18 @@
 +                                       schwab\100ls5.informatik.uni-dortmund.de
 sebastien\100aperghis.net               maddingue\100free.fr
 +                                       saper\100cpan.org
-shlomif\100vipe.technion.ac.il          shlomif\100iglu.org.il
+shigeya\100wide.ad.jp                   shigeya\100foretune.co.jp
+shlomif\100cpan.org                     shlomif\100vipe.technion.ac.il
++                                       shlomif\100iglu.org.il
++                                       shlomif+processed-by-perl\100gmail.com
++                                       shlomif\100shlomifish.org
 simon\100simon-cozens.org               simon\100pembro4.pmb.ox.ac.uk
 +                                       simon\100brecon.co.uk
 +                                       simon\100othersideofthe.earth.li
 +                                       simon\100cozens.net
 +                                       simon\100netthink.co.uk
+lannings\100who.int                     lannings\100gmail.com
++                                       slanning\100cpan.org
 slaven\100rezic.de                      slaven.rezic\100berlin.de
 +                                       srezic\100iconmobile.com
 +                                       srezic\100cpan.org
@@ -822,6 +882,7 @@
 +                                       spidb\100cpan.org
 +                                       spider.boardman\100orb.nashua.nh.us
 +                                       root\100peano.zk3.dec.com
+spiros\100lokku.com			s.denaxas\100gmail.com
 spp\100ds.net                           spp\100psa.pencom.com
 +                                       spp\100psasolar.colltech.com
 +                                       spp\100spotter.yi.org
@@ -830,6 +891,7 @@
 +                                       properler\100freesurf.fr
 +                                       stef\100francenet.fr
 sthoenna\100efn.org                     ysth\100raven.shiftboard.com
+sisyphus1\100optusnet.com.au            sisyphus\100cpan.org
 
 tassilo.parseval\100post.rwth-aachen.de tassilo.von.parseval\100rwth-aachen.de
 tchrist\100perl.com                     tchrist\100mox.perl.com
@@ -854,4 +916,7 @@
 wolfgang.laun\100alcatel.at             wolfgang.laun\100chello.at
 +                                       wolfgang.laun\100thalesgroup.com
 +                                       wolfgang.laun\100gmail.com
+wolfsage\100gmail.com                   mhorsfall\100darmstadtium.(none)
 yath\100yath.de                         yath-perlbug\100yath.de
+
+jkeen at verizon.net                       jkeenan at cpan.org


Property changes on: vendor/perl/dist/Porting/checkAUTHORS.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/checkURL.pl
===================================================================
--- vendor/perl/dist/Porting/checkURL.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/checkURL.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,16 +3,16 @@
 use warnings;
 use autodie;
 use feature qw(say);
-use File::Find::Rule;
-use File::Slurp;
-use File::Spec;
-use IO::Socket::SSL;
+require File::Find::Rule;
+require File::Slurp;
+require File::Spec;
+require IO::Socket::SSL;
 use List::Util qw(sum);
-use LWP::UserAgent;
-use Net::FTP;
-use Parallel::Fork::BossWorkerAsync;
-use Term::ProgressBar::Simple;
-use URI::Find::Simple qw( list_uris );
+require LWP::UserAgent;
+require Net::FTP;
+require Parallel::Fork::BossWorkerAsync;
+require Term::ProgressBar::Simple;
+require URI::Find::Simple;
 $| = 1;
 
 my %ignore;
@@ -23,7 +23,7 @@
     $ignore{$line} = 1;
 }
 
-my $ua = LWP::UserAgent->new;
+my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0 });
 $ua->timeout(58);
 $ua->env_proxy;
 
@@ -44,8 +44,10 @@
     next if $filename =~ /uris\.txt/;
     next if $filename =~ /check_uris/;
     next if $filename =~ /\.patch$/;
-    my $contents = read_file($filename);
-    my @uris     = list_uris($contents);
+    next if $filename =~ 'cpan/Pod-Simple/t/perlfaqo?\.pod';
+    next if $filename =~ /checkURL\.pl$/;
+    my $contents = File::Slurp::read_file($filename);
+    my @uris     = URI::Find::Simple::list_uris($contents);
     foreach my $uri (@uris) {
         next unless $uri =~ /^(http|ftp)/;
         next if $ignore{$uri};
@@ -52,11 +54,16 @@
 
         # no need to hit rt.perl.org
         next
-            if $uri =~ m{^http://rt.perl.org/rt3/Ticket/Display.html?id=\d+$};
+            if $uri =~ m{^https?://rt.perl.org/rt3/Ticket/Display.html?id=\d+$};
 
         # no need to hit rt.cpan.org
         next
-            if $uri =~ m{^http://rt.cpan.org/Public/Bug/Display.html?id=\d+$};
+            if $uri =~ m{^https?://rt.cpan.org/Public/Bug/Display.html?id=\d+$};
+
+        # no need to hit google groups (weird redirect LWP does not like)
+        next
+            if $uri =~ m{^http://groups\.google\.com/};
+
         push @{ $uris{$uri} }, $filename;
     }
     $extract_progress += -s $filename;
@@ -212,11 +219,18 @@
 ftp://ftp.stratus.com/pub/vos/posix/ga/ga.html
 ftp://ftp.stratus.com/pub/vos/utility/utility.html
 
-# this is missing, sigh
+# these are missing, sigh
 ftp://ftp.sco.com/SLS/ptf7051e.Z
 http://perlmonks.thepen.com/42898.html
+http://svn.mutatus.co.uk/wsvn/Scalar-List-Utils/trunk/
+http://public.activestate.com/cgi-bin/perlbrowse
+http://svn.mutatus.co.uk/browse/libnet/tags/libnet-1.17/ChangeLog
+http://aspn.activestate.com/ASPN/Mail/Message/perl6-internals/2746631
+http://my.smithmicro.com/mac/stuffit/
+http://www.wg.omron.co.jp/cgi-bin/j-e/jfriedl.html
+http://persephone.cps.unizar.es/general/gente/spd/gzip/gzip.html
 
-# this are URI extraction bugs
+# these are URI extraction bugs
 http://www.perl.org/E
 http://en.wikipedia.org/wiki/SREC_(file_format
 http://somewhere.else',-type=/
@@ -226,6 +240,8 @@
 http://search.cpan.org/src/KWILLIAMS/Module-Build-0.30/lib/Module/Build/Platform/Windows.pm:split_like_shell
 http://www.xray.mpe.mpg.de/mailing-lists/perl5-
 http://support.microsoft.com/support/kb/articles/Q280/3/41.ASP:
+http://perl.come/
+http://www.perl.come/
 
 # these are used as an example
 http://example.com/
@@ -293,6 +309,49 @@
 ftp://ftp.blarg.net/users/amol/zsh/
 ftp://ftp.funet.fi/pub/languages/perl/CPAN
 http://search.cpan.org/CPAN/authors/id/S/SH/SHAY/dmake-4.5-20060619-SHAY.zip
+http://users.perl5.git.perl.org/~USERNAME
+http://foo/x//y/script.cgi/a//b
+http://xxx/script.cgi/http://foo
+http://foo/./x//z/script.cgi/a/../b//c
+http://somewhere.else/in/movie/land
+http://somewhere.else/finished.html
+http://somewhere.else/bin/foo&bar$
+http://somewhere.else/
+http://proxy:8484/
+http://proxy/
+http://myrepo.example.com/
+http://remote/source
+https://example.com/
+http://example.com:1024/
+http:///path?foo=bar
+http://[::]:1024/
+http://([/
+http://example.com:9000/index.html
+http://proxy.example.com:8080/
+http:///index.html
+http://[www.json::pp.org]/
+http://localhost/
+http://foo.example.com/
+http://abc.com/a.js
+http://whatever/man/1/crontab
+http://abc.com/c.js
+http://whatever/Foo%3A%3ABar
+http://abc.com/b.js
+http://remote.server.com/jquery.css
+http://some.other.com/page.html
+https://text.com/1/2
+https://text.com/1/2
+http://link.included.here?o=1&p=2
+http://link.included.here?o=1&p=2
+http://link.included.here?o=1&p=2
+http://link.included.here/
+http://foo/x//y/script.cgi/a//b
+http://xxx/script.cgi/http://foo
+http://foo/./x//z/script.cgi/a/../b//c
+http://somewhere.else/in/movie/land
+http://somewhere.else/finished.html
+http://webproxy:3128/
+http://www/
 
 # these are used to generate or match URLs
 http://www.cpan.org/modules/by-authors/id/$1/$1$2/$dist
@@ -304,19 +363,22 @@
 http://$host/
 http://wwwe%3C46/
 ftp:/
+http://$addr/mark?commit=$
+http://search.cpan.org/~
+http:/
+ftp:%5Cn$url
+http://www.ietf.org/rfc/rfc$2.txt
+http://search.cpan.org/~
+ftp:%5Cn$url
 
 # weird redirects that LWP doesn't like
 http://www.theperlreview.com/community_calendar
 http://www.software.hp.com/portal/swdepot/displayProductInfo.do?productNumber=PERL
-http://groups.google.com/
-http://groups.google.com/group/comp.lang.perl.misc/topics
-http://groups.google.co.uk/group/perl.perl5.porters/browse_thread/thread/b4e2b1d88280ddff/630b667a66e3509f?#630b667a66e3509f
-http://groups.google.com/group/comp.sys.sgi.admin/msg/3ad8353bc4ce3cb0
-http://groups.google.com/group/perl.module.build/browse_thread/thread/c8065052b2e0d741
-http://groups.google.com/group/perl.perl5.porters/browse_thread/thread/adaffaaf939b042e/20dafc298df737f0%2320dafc298df737f0?sa=X&oi=groupsr&start=0&num=3
+http://sunsolve.sun.com
 
 # broken webserver that doesn't like HEAD requests
 http://docs.sun.com/app/docs/doc/816-5168/syslog-3c?a=view
+http://www.w3.org/TR/html4/loose.dtd
 
 # these have been reported upstream to CPAN authors
 http://www.gnu.org/manual/tar/html_node/tar_139.html
@@ -351,6 +413,34 @@
 http://rfc.net/rfc3461.html
 ftp://ftp.cs.pdx.edu/pub/elvis/
 http://www.fh-wedel.de/elvis/
+http://lists.perl.org/list/perl-mvs.html
+http://www.cpan.org/ports/os2/
+http://github.com/dagolden/cpan-meta-spec
+http://github.com/dagolden/cpan-meta-spec/issues
+http://www.opensource.org/licenses/lgpl-license.phpt
+http://reality.sgi.com/ariel
+http://www.chiark.greenend.org.uk/pipermail/ukcrypto/1999-February/003538.html
+http://www.chiark.greenend.org.uk/pipermail/ukcrypto/1999-February/003538.html
+http://www.nsrl.nist.gov/testdata/
+http://public.activestate.com/cgi-bin/perlbrowse/p/31194
+http://public.activestate.com/cgi-bin/perlbrowse?patch=16173
+http://public.activestate.com/cgi-bin/perlbrowse?patch=16049
+http://www.li18nux.org/docs/html/CodesetAliasTable-V10.html
+http://aspn.activestate.com/ASPN/Mail/Message/perl5-porters/3486118
+http://lxr.mozilla.org/seamonkey/source/intl/uconv/ucvlatin/vps.ut
+http://lxr.mozilla.org/seamonkey/source/intl/uconv/ucvlatin/vps.uf
+http://github.com/schwern/extutils-makemaker
+https://github.com/dagolden/cpanpm/compare/master...private%2Fuse-http-lite
+http://www.json.org/JSON::PP_checker/
+ftp://ftp.kiae.su/pub/unix/fido/
+http://www.gallistel.net/nparker/weather/code/
+http://www.javaworld.com/javaworld/jw-09-2001/jw-0928-ntmessages.html
+ftp://ftp-usa.tpc.int/pub/tpc/server/UNIX/
+http://www.cis.ohio-state.edu/htbin/rfc/rfc959.html
+http://public.activestate.com/cgi-bin/perlbrowse/p/33567
+http://public.activestate.com/cgi-bin/perlbrowse/p/33566
+http://www.dsmit.com/cons/
+http://www.makemaker.org/wiki/index.cgi?ModuleBuildConversionGuide
 
 __END__
 


Property changes on: vendor/perl/dist/Porting/checkURL.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/checkVERSION.pl
===================================================================
--- vendor/perl/dist/Porting/checkVERSION.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/checkVERSION.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/checkVERSION.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/checkansi.pl
===================================================================
--- vendor/perl/dist/Porting/checkansi.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/checkansi.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/checkansi.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/checkcfgvar.pl
===================================================================
--- vendor/perl/dist/Porting/checkcfgvar.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/checkcfgvar.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,5 @@
-#!/usr/bin/perl -w
+#!/usr/bin/perl
 
-#
 # Check that the various config.sh-clones have (at least) all the
 # same symbols as the top-level config_h.SH so that the (potentially)
 # needed symbols are not lagging after how Configure thinks the world
@@ -11,107 +10,171 @@
 #
 
 use strict;
+use warnings;
+use autodie;
 
+sub usage
+{
+    my $err = shift and select STDERR;
+    print "usage: $0 [--list] [--regen] [--default=value]\n";
+    exit $err;
+    } # usage
+
+use Getopt::Long;
+my $opt_l = 0;
+my $opt_r = 0;
+my $default;
+my $tap = 0;
+my $test;
+GetOptions (
+    "help|?"	=> sub { usage (0); },
+    "l|list!"	=> \$opt_l,
+    "regen"	=> \$opt_r,
+    "default=s" => \$default,
+    "tap"	=> \$tap,
+    ) or usage (1);
+
+require 'regen/regen_lib.pl' if $opt_r;
+
 my $MASTER_CFG = "config_h.SH";
-my %MASTER_CFG;
+# Inclusive bounds on the main part of the file, $section == 1 below:
+my $first = qr/^Author=/;
+my $last = qr/^zip=/;
 
 my @CFG = (
-	   # This list contains both 5.8.x and 5.9.x files,
 	   # we check from MANIFEST whether they are expected to be present.
 	   # We can't base our check on $], because that's the version of the
 	   # perl that we are running, not the version of the source tree.
 	   "Cross/config.sh-arm-linux",
-	   "epoc/config.sh",
 	   "NetWare/config.wc",
 	   "symbian/config.sh",
 	   "uconfig.sh",
+	   "uconfig64.sh",
 	   "plan9/config_sh.sample",
-	   "vos/config.alpha.def",
-	   "vos/config.ga.def",
-	   "win32/config.bc",
 	   "win32/config.gc",
-	   "win32/config.gc64",
-	   "win32/config.gc64nox",
 	   "win32/config.vc",
-	   "win32/config.vc64",
 	   "win32/config.ce",
 	   "configure.com",
 	   "Porting/config.sh",
 	  );
 
-sub read_file {
-    my ($fn, $sub) = @_;
-    if (open(my $fh, $fn)) {
-	local $_;
-	while (<$fh>) {
-	    &$sub;
-	}
-    } else {
-	die "$0: Failed to open '$fn' for reading: $!\n";
-    }
-}
-
-sub config_h_SH_reader {
-    my $cfg = shift;
-    return sub {
+my @MASTER_CFG;
+{
+    my %seen;
+    open my $fh, '<', $MASTER_CFG;
+    while (<$fh>) {
 	while (/[^\\]\$([a-z]\w+)/g) {
 	    my $v = $1;
 	    next if $v =~ /^(CONFIG_H|CONFIG_SH)$/;
-	    $cfg->{$v}++;
+	    $seen{$v}++;
 	}
     }
+    close $fh;
+    @MASTER_CFG = sort keys %seen;
 }
 
-read_file($MASTER_CFG,
-	  config_h_SH_reader(\%MASTER_CFG));
-
 my %MANIFEST;
 
-read_file("MANIFEST",
-	  sub {
-	      $MANIFEST{$1}++ if /^(.+?)\t/;
-	  });
-
-my @MASTER_CFG = sort keys %MASTER_CFG;
-
-sub check_cfg {
-    my ($fn, $cfg) = @_;
-    for my $v (@MASTER_CFG) {
-	print "$fn: missing '$v'\n" unless exists $cfg->{$v};
+{
+    open my $fh, '<', 'MANIFEST';
+    while (<$fh>) {
+	$MANIFEST{$1}++ if /^(.+?)\t/;
     }
+    close $fh;
 }
 
-for my $cfg (@CFG) {
+printf "1..%d\n", 2 * @CFG if $tap;
+
+for my $cfg (sort @CFG) {
     unless (exists $MANIFEST{$cfg}) {
 	print STDERR "[skipping not-expected '$cfg']\n";
 	next;
     }
     my %cfg;
-    read_file($cfg,
-	      sub {
-		  return if /^\#/ || /^\s*$/ || /^\:/;
-		  if ($cfg eq 'configure.com') {
-		      s/(\s*!.*|\s*)$//; # remove trailing comments or whitespace
-		      return if ! /^\$\s+WC "(\w+)='(.*)'"$/;
-		  }
-		  # foo='bar'
-		  # foo=bar
-		  # $foo='bar' # VOS 5.8.x specialty
-		  # $foo=bar   # VOS 5.8.x specialty
-		  if (/^\$?(\w+)='(.*)'$/) {
-		      $cfg{$1}++;
-		  }
-		  elsif (/^\$?(\w+)=(.*)$/) {
-		      $cfg{$1}++;
-		  }
-		  elsif (/^\$\s+WC "(\w+)='(.*)'"$/) {
-		      $cfg{$1}++;
-		  } else {
-		      warn "$cfg:$.:$_";
-		  }
-	      });
+    my $section = 0;
+    my @lines;
+
+    open my $fh, '<', $cfg;
+
     if ($cfg eq 'configure.com') {
-	$cfg{startperl}++; # Cheat.
+	++$cfg{startperl}; # Cheat.
+
+	while (<$fh>) {
+	    next if /^\#/ || /^\s*$/ || /^\:/;
+	    s/(\s*!.*|\s*)$//; # remove trailing comments or whitespace
+	    ++$cfg{$1} if /^\$\s+WC "(\w+)='(?:.*)'"$/;
+	}
+    } else {
+	while (<$fh>) {
+	    if ($_ =~ $first) {
+		die "$cfg:$.:section=$section:$_" unless $section == 0;
+		$section = 1;
+	    }
+	    push @{$lines[$section]}, $_;
+	    next if /^\#/ || /^\s*$/ || /^\:/;
+	    if ($_ =~ $last) {
+		die "$cfg:$.:section=$section:$_" unless $section == 1;
+		$section = 2;
+	    }
+	    # foo='bar'
+	    # foo=bar
+	    # (optionally with a trailing comment)
+	    if (/^(\w+)=(?:'.*'|[^'].*)(?: #.*)?$/) {
+		++$cfg{$1};
+	    } else {
+		warn "$cfg:$.:$_";
+	    }
+	}
     }
-    check_cfg($cfg, \%cfg);
+    close $fh;
+
+    ++$test;
+    my $missing;
+    if ($cfg eq 'configure.com') {
+	print "ok $test # skip $cfg doesn't need to be sorted\n"
+	    if $tap;
+    } elsif (join("", @{$lines[1]}) eq join("", sort @{$lines[1]})) {
+	print "ok $test - $cfg sorted\n"
+	    if $tap;
+    } elsif ($tap) {
+	print "not ok $test - $cfg is not sorted\n";
+    } elsif ($opt_r || $opt_l) {
+	# A reference to an empty array is true, hence this flags the
+	# file for later attention by --regen and --list, even if
+	# nothing is missing. Actual sort and output are done later.
+	$missing = [];
+    } else {
+	print "$cfg: unsorted\n"
+    }
+
+    for my $v (@MASTER_CFG) {
+	# This only creates a reference in $missing if something is missing:
+	push @$missing, $v unless exists $cfg{$v};
+    }
+
+    ++$test;
+    if ($missing) {
+	if ($tap) {
+	    print "not ok $test - $cfg missing keys @$missing\n";
+	} elsif ($opt_l) {
+	    # print the name once, however many problems
+	    print "$cfg\n";
+	} elsif ($opt_r && $cfg ne 'configure.com') {
+	    if (defined $default) {
+		push @{$lines[1]}, map {"$_='$default'\n"} @$missing;
+	    } else {
+		print "$cfg: missing '$_', use --default to add it\n"
+		    foreach @$missing;
+	    }
+
+	    @{$lines[1]} = sort @{$lines[1]};
+	    my $fh = open_new($cfg);
+	    print $fh @{$_} foreach @lines;
+	    close_and_rename($fh);
+	} else {
+	    print "$cfg: missing '$_'\n" foreach @$missing;
+	}
+    } elsif ($tap) {
+	print "ok $test - $cfg has no missing keys\n";
+    }
 }


Property changes on: vendor/perl/dist/Porting/checkcfgvar.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/checkpodencoding.pl
===================================================================
--- vendor/perl/dist/Porting/checkpodencoding.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/checkpodencoding.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,21 +30,21 @@
 
     next if
         # Test cases
-        $file ~~ m[Pod-Simple/t];
+        $file =~ m[Pod-Simple/t];
 
     my ($in_pod, $has_encoding, @non_ascii);
 
     FILE: while (my $line = <$fh>) {
         chomp $line;
-        if ($line ~~ /^=[a-z]+/) {
+        if ($line =~ /^=[a-z]+/) {
             $in_pod = 1;
         }
 
         if ($in_pod) {
-            if ($line ~~ /^=encoding (\S+)/) {
+            if ($line =~ /^=encoding (\S+)/) {
                 $has_encoding = 1;
                 last FILE;
-            } elsif ($line ~~ /[^[:ascii:]]/) {
+            } elsif ($line =~ /[^[:ascii:]]/) {
                 my $encoding = guess_encoding($line);
                 push @non_ascii => {
                     num => $.,
@@ -54,7 +54,7 @@
             }
         }
 
-        if ($line ~~ /^=cut/) {
+        if ($line =~ /^=cut/) {
             $in_pod = 0;
         }
     }


Property changes on: vendor/perl/dist/Porting/checkpodencoding.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/cherrymaint
===================================================================
--- vendor/perl/dist/Porting/cherrymaint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/cherrymaint	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use warnings;
 use File::Basename;
 use Getopt::Long;
-use LWP::UserAgent;
+require LWP::UserAgent;
 
 my %votemap = (
   'unexamined' => 0,
@@ -30,6 +30,9 @@
 
   COMMIT: a git revision ID (SHA1 or symbolic reference like HEAD)
 
+  You must first tunnel $addr to perl5.git.perl.org:3000? E.g.
+  \$ ssh -C -L${\ join q{:} => reverse split /:/, $addr}:3000 perl5.git.perl.org
+
 HERE
 
 die $usage if grep { /^(--help|-h)$/ } @ARGV;
@@ -91,6 +94,10 @@
   \$ git config cherrymaint.address host:port
 
 HERE
+
+# Note that you can vote through your browser by pointing it at the the local
+# end of the tunnel.  For example, L<http://localhost:3000/> if you went with
+# the suggested default values
 }
 
 exit 0;


Property changes on: vendor/perl/dist/Porting/cherrymaint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/cmpVERSION.pl
===================================================================
--- vendor/perl/dist/Porting/cmpVERSION.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/cmpVERSION.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,62 +5,72 @@
 # for modules that have identical version numbers but different contents.
 #
 # with -d option, output the diffs too
-# with -x option, exclude dual-life modules (after all, there are tools
-#                 like core-cpan-diff that can already deal with them)
-#                 With this option, one of the directories must be '.'.
+# with -x option, exclude files from modules where blead is not upstream
 #
+# (after all, there are tools like core-cpan-diff that can already deal with
+# them)
+#
 # Original by slaven at rezic.de, modified by jhi and matt.w.johnson at gmail.com.
-#
+# Adaptation to produce TAP by Abigail, folded back into this file by Nicholas
 
 use strict;
+use 5.006;
 
 use ExtUtils::MakeMaker;
-use File::Compare;
-use File::Find;
-use File::Spec::Functions qw(rel2abs abs2rel catfile catdir curdir);
-use Getopt::Std;
+use File::Spec::Functions qw(devnull);
+use Getopt::Long;
 
-use lib 'Porting';
-use Maintainers;
-
-sub usage {
-die <<"EOF";
-usage: $0 [ -d -x ] source_dir tag_to_compare
-EOF
+my ($diffs, $exclude_upstream, $tag_to_compare, $tap);
+unless (GetOptions('diffs' => \$diffs,
+		   'exclude|x' => \$exclude_upstream,
+		   'tag=s' => \$tag_to_compare,
+		   'tap' => \$tap,
+		   ) && @ARGV == 0) {
+    die "usage: $0 [ -d -x --tag TAG --tap]";
 }
 
-my %opts;
-getopts('dx', \%opts) or usage;
- at ARGV == 2 or usage;
+die "$0: This does not look like a Perl directory\n"
+    unless -f "perl.h" && -d "Porting";
+die "$0: 'This is a Perl directory but does not look like Git working directory\n"
+    unless -d ".git";
 
-my ($source_dir, $tag_to_compare) = @ARGV[0,1];
-die "$0: '$source_dir' does not look like a Perl directory\n"
-    unless -f catfile($source_dir, "perl.h") && -d catdir($source_dir, "Porting");
-die "$0: '$source_dir' is a Perl directory but does not look like Git working directory\n"
-    unless -d catdir($source_dir, ".git");
+my $null = devnull();
 
-my $null = $^O eq 'MSWin32' ? 'nul' : '/dev/null';
+unless (defined $tag_to_compare) {
+    # Thanks to David Golden for this suggestion.
 
+    $tag_to_compare = `git describe --abbrev=0 2>$null`;
+    chomp $tag_to_compare;
+}
+
+unless (length $tag_to_compare) {
+    die "$0: Git found, but no Git tags found\n"
+	unless $tap;
+    print "1..0 # SKIP: Git found, but no Git tags found\n";
+    exit 0;
+}
+
 my $tag_exists = `git --no-pager tag -l $tag_to_compare 2>$null`;
 chomp $tag_exists;
 
-die "$0: '$tag_to_compare' is not a known Git tag\n"
-    unless $tag_exists eq $tag_to_compare;
+unless ($tag_exists eq $tag_to_compare) {
+    die "$0: '$tag_to_compare' is not a known Git tag\n" unless $tap;
+    print "1..0 # SKIP: '$tag_to_compare' is not a known Git tag\n";
+    exit 0;
+}
 
-my %dual_files;
-if ($opts{x}) {
-    die "With -x, the directory must be '.'\n"
-	unless $source_dir eq '.';
-    for my $m (grep $Maintainers::Modules{$_}{CPAN},
-				keys %Maintainers::Modules)
-    {
+my %upstream_files;
+if ($exclude_upstream) {
+    unshift @INC, 'Porting';
+    require Maintainers;
 
-	$dual_files{$_} = 1 for Maintainers::get_module_files($m);
+    for my $m (grep {!defined $Maintainers::Modules{$_}{UPSTREAM}
+			 or $Maintainers::Modules{$_}{UPSTREAM} ne 'blead'}
+	       keys %Maintainers::Modules) {
+	$upstream_files{$_} = 1 for Maintainers::get_module_files($m);
     }
 }
 
-chdir $source_dir or die "$0: chdir '$source_dir' failed: $!\n";
-
 # Files to skip from the check for one reason or another,
 # usually because they pull in their version from some other file.
 my %skip;
@@ -70,67 +80,124 @@
     'lib/Exporter/Heavy.pm',
     'win32/FindExt.pm',
 } = ();
+
+# Files to skip just for particular version(s),
+# usually due to some # mix-up
+
+my %skip_versions = (
+	   # 'some/sample/file.pm' => [ '1.23', '1.24' ],
+	   'dist/threads/lib/threads.pm' => [ '1.83' ],
+	  );
+
 my $skip_dirs = qr|^t/lib|;
 
-my @all_diffs = `git --no-pager diff --name-only $tag_to_compare`;
-chomp @all_diffs;
+sub pm_file_from_xs {
+    my $xs = shift;
 
-my @module_diffs = grep {
-    my $this_dir;
-    $this_dir = $1 if m/^(.*)\//;
-    /\.pm$/ &&
-    (!defined($this_dir) || ($this_dir !~ $skip_dirs)) &&
-    !exists $skip{$_} &&
-    !exists $dual_files{$_}
-} @all_diffs;
+    foreach my $try (sub {
+			 # First try a .pm at the same level as the .xs file
+			 # with the same basename
+			 return shift =~ s/\.xs\z//r;
+		     },
+		     sub {
+			 # Try for a (different) .pm at the same level, based
+			 # on the directory name:
+			 my ($path) = shift =~ m!^(.*)/!;
+			 my ($last) = $path =~ m!([^-/]+)\z!;
+			 return "$path/$last";
+		     },
+		     sub {
+			 # Try to work out the extension's full package, and
+			 # look for a .pm in lib/ based on that:
+			 my ($path) = shift =~ m!^(.*)/!;
+			 my ($last) = $path =~ m!([^/]+)\z!;
+			 $last =~ tr !-!/!;
+			 return "$path/lib/$last";
+		     }) {
+	# For all cases, first look to see if the .pm file is generated.
+	my $base = $try->($xs);
+	return "${base}_pm.PL" if -f "${base}_pm.PL";
+	return "${base}.pm" if -f "${base}.pm";
+    }
 
-my (@output_files, @output_diffs);
+    die "No idea which .pm file corresponds to '$xs', so aborting";
+}
 
-foreach my $pm_file (@module_diffs) {
-    (my $xs_file = $pm_file) =~ s/\.pm$/.xs/;
-    my $pm_eq = compare_git_file($pm_file, $tag_to_compare);
-    next unless defined $pm_eq;
-    my $xs_eq = 1;
-    if (-e $xs_file) {
-        $xs_eq = compare_git_file($xs_file, $tag_to_compare);
-        next unless defined $xs_eq;
+# Key is the .pm file from which we check the version.
+# Value is a reference to an array of files to check for differences
+# The trivial case is a pure perl module, where the array holds one element,
+# the perl module's file. The "fun" comes with XS modules, and the real fun
+# with XS modules with more than one XS file, and "interesting" layouts.
+
+my %module_diffs;
+
+foreach (`git --no-pager diff --name-only $tag_to_compare --diff-filter=ACMRTUXB`) {
+    chomp;
+    next unless m/^(.*)\//;
+    my $this_dir = $1;
+    next if $this_dir =~ $skip_dirs || exists $skip{$_};
+    next if exists $upstream_files{$_};
+    if (/\.pm\z/ || m|^lib/.*\.pl\z| || /_pm\.PL\z/) {
+	push @{$module_diffs{$_}}, $_;
+    } elsif (/\.xs\z/ && !/\bt\b/) {
+	push @{$module_diffs{pm_file_from_xs($_)}}, $_;
     }
-    next if ($pm_eq && $xs_eq);
+}
+
+unless (%module_diffs) {
+    print "1..1\nok 1 - No difference found\n" if $tap;
+    exit;
+}
+
+printf "1..%d\n" => scalar keys %module_diffs if $tap;
+
+my $count;
+my $diff_cmd = "git --no-pager diff $tag_to_compare ";
+my $q = ($^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'VMS') ? '"' : "'";
+my (@diff);
+
+foreach my $pm_file (sort keys %module_diffs) {
+    # git has already told us that the files differ, so no need to grab each as
+    # a blob from git, and do the comparison ourselves.
     my $pm_version = eval {MM->parse_version($pm_file)};
     my $orig_pm_content = get_file_from_git($pm_file, $tag_to_compare);
     my $orig_pm_version = eval {MM->parse_version(\$orig_pm_content)};
-    next if ( ! defined $pm_version || ! defined $orig_pm_version );
-    next if ( $pm_version eq 'undef' || $orig_pm_version eq 'undef' ); # sigh
-    next if $pm_version ne $orig_pm_version;
-    push @output_files, $pm_file;
-    push @output_diffs, $pm_file unless $pm_eq;
-    push @output_diffs, $xs_file unless $xs_eq;
-}
+    ++$count;
 
-sub compare_git_file {
-    my ($file, $tag) = @_;
-    open(my $orig_fh, "-|", "git --no-pager show $tag:$file 2>$null");
-    return undef if eof($orig_fh);
-    my $is_eq = compare($file, $orig_fh) == 0;
-    close($orig_fh);
-    return $is_eq;
+    if (!defined $orig_pm_version || $orig_pm_version eq 'undef') { # sigh
+        print "ok $count - SKIP Can't parse \$VERSION in $pm_file\n"
+          if $tap;
+    } elsif (!defined $pm_version || $pm_version eq 'undef') {
+        print "not ok $count - in $pm_file version was $orig_pm_version, now unparsable\n" if $tap;
+    } elsif ($pm_version ne $orig_pm_version) { # good
+        print "ok $count - $pm_file\n" if $tap;
+    } else {
+	if ($tap) {
+	    foreach (sort @{$module_diffs{$pm_file}}) {
+		print "# $_" for `$diff_cmd $q$_$q`;
+	    }
+	    if (exists $skip_versions{$pm_file}
+		and grep $pm_version eq $_, @{$skip_versions{$pm_file}}) {
+		print "ok $count - SKIP $pm_file version $pm_version\n";
+	    } else {
+		print "not ok $count - $pm_file\n";
+	    }
+	} else {
+	    push @diff, @{$module_diffs{$pm_file}};
+	    print "$pm_file\n";
+	}
+    }
 }
 
 sub get_file_from_git {
     my ($file, $tag) = @_;
-    local $/ = undef;
-    my $file_content = `git --no-pager show $tag:$file 2>$null`;
-    return $file_content;
+    local $/;
+    return scalar `git --no-pager show $tag:$file 2>$null`;
 }
 
-for (sort @output_files) {
-    print "$_\n";
+if ($diffs) {
+    for (sort @diff) {
+	print "\n";
+	system "$diff_cmd $q$_$q";
+    }
 }
-
-exit unless $opts{d};
-
-for (sort @output_diffs) {
-    print "\n";
-    system "git --no-pager diff $tag_to_compare '$_'";
-}
-


Property changes on: vendor/perl/dist/Porting/cmpVERSION.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/config.sh
===================================================================
--- vendor/perl/dist/Porting/config.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/config.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -46,11 +46,11 @@
 aphostname=''
 api_revision='5'
 api_subversion='0'
-api_version='14'
-api_versionstring='5.14.0'
+api_version='18'
+api_versionstring='5.18.1'
 ar='ar'
-archlib='/opt/perl/lib/5.14.0/i686-linux-64int'
-archlibexp='/opt/perl/lib/5.14.0/i686-linux-64int'
+archlib='/opt/perl/lib/5.18.1/i686-linux-64int'
+archlibexp='/opt/perl/lib/5.18.1/i686-linux-64int'
 archname64='64int'
 archname='i686-linux-64int'
 archobjs=''
@@ -61,6 +61,7 @@
 bin='/opt/perl/bin'
 binexp='/opt/perl/bin'
 bison='bison'
+bootstrap_charset='undef'
 byacc='byacc'
 byteorder='12345678'
 c=''
@@ -298,7 +299,12 @@
 d_inetntop='define'
 d_inetpton='define'
 d_int64_t='define'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='define'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='define'
 d_isnan='define'
@@ -462,6 +468,7 @@
 d_sin6_scope_id='undef'
 d_sitearch='define'
 d_snprintf='define'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='define'
@@ -693,6 +700,7 @@
 i_shadow='define'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -742,7 +750,7 @@
 incpath=''
 inews=''
 initialinstalllocation='/opt/perl/bin'
-installarchlib='/opt/perl/lib/5.14.0/i686-linux-64int'
+installarchlib='/opt/perl/lib/5.18.1/i686-linux-64int'
 installbin='/opt/perl/bin'
 installhtml1dir=''
 installhtml3dir=''
@@ -750,13 +758,13 @@
 installman3dir='/opt/perl/man/man3'
 installprefix='/opt/perl'
 installprefixexp='/opt/perl'
-installprivlib='/opt/perl/lib/5.14.0'
+installprivlib='/opt/perl/lib/5.18.1'
 installscript='/opt/perl/bin'
-installsitearch='/opt/perl/lib/site_perl/5.14.0/i686-linux-64int'
+installsitearch='/opt/perl/lib/site_perl/5.18.1/i686-linux-64int'
 installsitebin='/opt/perl/bin'
 installsitehtml1dir=''
 installsitehtml3dir=''
-installsitelib='/opt/perl/lib/site_perl/5.14.0'
+installsitelib='/opt/perl/lib/site_perl/5.18.1'
 installsiteman1dir='/opt/perl/man/man1'
 installsiteman3dir='/opt/perl/man/man3'
 installsitescript='/opt/perl/bin'
@@ -879,7 +887,7 @@
 perl_static_inline='static __inline__'
 perladmin='yourname at yourhost.yourplace.com'
 perllibs='-lnsl -ldl -lm -lcrypt -lutil -lc'
-perlpath='/opt/perl/bin/perl5.14.0'
+perlpath='/opt/perl/bin/perl5.18.1'
 pg='pg'
 phostname=''
 pidtype='pid_t'
@@ -888,8 +896,8 @@
 pr=''
 prefix='/opt/perl'
 prefixexp='/opt/perl'
-privlib='/opt/perl/lib/5.14.0'
-privlibexp='/opt/perl/lib/5.14.0'
+privlib='/opt/perl/lib/5.18.1'
+privlibexp='/opt/perl/lib/5.18.1'
 procselfexe='"/proc/self/exe"'
 prototype='define'
 ptrsize='4'
@@ -955,8 +963,8 @@
 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='/opt/perl/lib/site_perl/5.14.0/i686-linux-64int'
-sitearchexp='/opt/perl/lib/site_perl/5.14.0/i686-linux-64int'
+sitearch='/opt/perl/lib/site_perl/5.18.1/i686-linux-64int'
+sitearchexp='/opt/perl/lib/site_perl/5.18.1/i686-linux-64int'
 sitebin='/opt/perl/bin'
 sitebinexp='/opt/perl/bin'
 sitehtml1dir=''
@@ -963,9 +971,9 @@
 sitehtml1direxp=''
 sitehtml3dir=''
 sitehtml3direxp=''
-sitelib='/opt/perl/lib/site_perl/5.14.0'
+sitelib='/opt/perl/lib/site_perl/5.18.1'
 sitelib_stem='/opt/perl/lib/site_perl'
-sitelibexp='/opt/perl/lib/site_perl/5.14.0'
+sitelibexp='/opt/perl/lib/site_perl/5.18.1'
 siteman1dir='/opt/perl/man/man1'
 siteman1direxp='/opt/perl/man/man1'
 siteman3dir='/opt/perl/man/man3'
@@ -989,7 +997,9 @@
 srandom_r_proto='0'
 src='.'
 ssizetype='ssize_t'
-startperl='#!/opt/perl/bin/perl5.14.0'
+st_ino_sign='1'
+st_ino_size='4'
+startperl='#!/opt/perl/bin/perl5.18.1'
 startsh='#!/bin/sh'
 static_ext=' '
 stdchar='char'
@@ -1002,7 +1012,7 @@
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='0'
+subversion='1'
 sysman='/usr/share/man/man1'
 tail=''
 tar=''
@@ -1043,6 +1053,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='define'
 uselongdouble='undef'
 usemallocwrap='define'
@@ -1050,6 +1061,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='define'
 useposix='true'
@@ -1090,8 +1102,8 @@
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='5.14.0'
-version_patchlevel_string='version 14 subversion 0'
+version='5.18.1'
+version_patchlevel_string='version 18 subversion 1'
 versiononly='define'
 vi=''
 voidflags='15'
@@ -1114,10 +1126,10 @@
 config_arg8='-Dusedevel'
 config_arg9='-dE'
 PERL_REVISION=5
-PERL_VERSION=14
-PERL_SUBVERSION=0
+PERL_VERSION=18
+PERL_SUBVERSION=1
 PERL_API_REVISION=5
-PERL_API_VERSION=14
+PERL_API_VERSION=18
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=34948
 PERL_CONFIG_SH=true


Property changes on: vendor/perl/dist/Porting/config.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/config_H
===================================================================
--- vendor/perl/dist/Porting/config_H	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/config_H	2013-12-01 21:45:02 UTC (rev 6430)
@@ -713,6 +713,12 @@
  */
 /*#define	I_SFIO		/ **/
 
+/* I_STDBOOL:
+ *	This symbol, if defined, indicates that <stdbool.h> exists and should
+ *	be included.
+ */
+/*#define I_STDBOOL	/ **/
+
 /* I_STDDEF:
  *	This symbol, if defined, indicates that <stddef.h> exists and should
  *	be included.
@@ -960,8 +966,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.14.0/i686-linux-64int-ld"		/**/
-#define ARCHLIB_EXP "/pro/lib/perl5/5.14.0/i686-linux-64int-ld"		/**/
+#define ARCHLIB "/pro/lib/perl5/5.18.1/i686-linux-64int-ld"		/**/
+#define ARCHLIB_EXP "/pro/lib/perl5/5.18.1/i686-linux-64int-ld"		/**/
 
 /* ARCHNAME:
  *	This symbol holds a string representing the architecture name.
@@ -2068,8 +2074,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.14.0"		/**/
-#define PRIVLIB_EXP "/pro/lib/perl5/5.14.0"		/**/
+#define PRIVLIB "/pro/lib/perl5/5.18.1"		/**/
+#define PRIVLIB_EXP "/pro/lib/perl5/5.18.1"		/**/
 
 /* PTRSIZE:
  *	This symbol contains the size of a pointer, so that the C preprocessor
@@ -2119,8 +2125,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.14.0/i686-linux-64int-ld"		/**/
-#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.14.0/i686-linux-64int-ld"		/**/
+#define SITEARCH "/pro/lib/perl5/site_perl/5.18.1/i686-linux-64int-ld"		/**/
+#define SITEARCH_EXP "/pro/lib/perl5/site_perl/5.18.1/i686-linux-64int-ld"		/**/
 
 /* SITELIB:
  *	This symbol contains the name of the private library for this package.
@@ -2142,8 +2148,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.14.0"		/**/
-#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.14.0"		/**/
+#define SITELIB "/pro/lib/perl5/site_perl/5.18.1"		/**/
+#define SITELIB_EXP "/pro/lib/perl5/site_perl/5.18.1"		/**/
 #define SITELIB_STEM "/pro/lib/perl5/site_perl"		/**/
 
 /* SSize_t:
@@ -4363,7 +4369,7 @@
  *	script to make sure (one hopes) that it runs with perl and not
  *	some shell.
  */
-#define STARTPERL "#!/pro/bin/perl5.14.0"		/**/
+#define STARTPERL "#!/pro/bin/perl5.18.1"		/**/
 
 /* HAS_STDIO_STREAM_ARRAY:
  *	This symbol, if defined, tells that there is an array


Property changes on: vendor/perl/dist/Porting/config_H
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/config_h.pl
===================================================================
--- vendor/perl/dist/Porting/config_h.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/config_h.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,8 +3,11 @@
 # This script reorders config_h.SH after metaconfig
 # Changing metaconfig is too complicated
 #
-# Copyright (C) 2005-2007 by H.Merijn Brand (m)'07 [18-04-2007]
+# This script is run just after metaconfig, and it
+# is run ONLY ONCE. Not to be used afterwards
 #
+# Copyright (C) 2005-2012 by H.Merijn Brand (m)'12 [22-09-2012]
+#
 # You may distribute under the terms of either the GNU General Public
 # License or the Artistic License, as specified in the README file.
 
@@ -68,6 +71,8 @@
 
 open  $ch, "> $cSH" or die "Cannot write $cSH: $!\n";
 print $ch <<EOW;
+#!/bin/sh
+#
 # THIS IS A GENERATED FILE
 # DO NOT HAND-EDIT
 #


Property changes on: vendor/perl/dist/Porting/config_h.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/core-cpan-diff
===================================================================
--- vendor/perl/dist/Porting/core-cpan-diff	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/core-cpan-diff	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,6 +20,7 @@
 use File::Compare          ();
 use ExtUtils::Manifest;
 use ExtUtils::MakeMaker ();
+use HTTP::Tiny;
 
 BEGIN { die "Must be run from root of perl source tree\n" unless -d 'Porting' }
 use lib 'Porting';
@@ -44,7 +45,6 @@
 use constant UNTAR_DIR => 'untarred';
 
 use constant DIFF_CMD => 'diff';
-use constant WGET_CMD => 'wget';
 
 sub usage {
     print STDERR "\n at _\n\n" if @_;
@@ -58,7 +58,6 @@
 
 -d/--diff     Display file differences using diff(1), rather than just
               listing which files have changed.
-              The diff(1) command is assumed to be in your PATH.
 
 --diffopts    Options to pass to the diff command. Defaults to '-u'.
 
@@ -87,6 +86,10 @@
 
 Must be run from the root of the perl source tree.
 Module names must match the keys of %Modules in Maintainers.pl.
+
+The diff(1) command is assumed to be in your PATH and is used to diff files
+regardless of whether the --diff option has been chosen to display any file
+differences.
 HERE
     exit(1);
 }
@@ -119,6 +122,8 @@
         'x|crosscheck'  => \$do_crosscheck,
     ) or usage;
 
+    @wanted_upstreams = map { $_ eq 'undef' ? undef : $_ } @wanted_upstreams;
+
     my @modules;
 
     usage("Cannot mix -a with module list") if $scan_all && @ARGV;
@@ -150,7 +155,9 @@
     }
 
     if ( defined $cache_dir ) {
-        die "ERROR: no such directory: '$cache_dir'\n" unless -d $cache_dir;
+        die "ERROR: not a directory: '$cache_dir'\n"
+            if !-d $cache_dir && -e $cache_dir;
+        File::Path::mkpath($cache_dir);
     }
     else {
         $cache_dir = File::Temp::tempdir( CLEANUP => 1 );
@@ -157,7 +164,7 @@
     }
 
     $mirror_url .= "/" unless substr( $mirror_url, -1 ) eq "/";
-    my $test_file = "modules/07mirror.yml";
+    my $test_file = "modules/03modlist.data.gz";
     my_getstore(
         cpan_url( $mirror_url, $test_file ),
         catfile( $cache_dir, $test_file )
@@ -164,7 +171,10 @@
     ) or die "ERROR: not a CPAN mirror '$mirror_url'\n";
 
     if ($do_crosscheck) {
-        do_crosscheck( $outfh, $cache_dir, $mirror_url, $force, \@modules );
+        do_crosscheck(
+            $outfh, $cache_dir, $mirror_url,
+            $force, \@modules,  \@wanted_upstreams
+        );
     }
     else {
         do_compare(
@@ -186,6 +196,17 @@
     return $mirror_url . $cpan_path;
 }
 
+# construct a CPAN URL for a author/distribution string like:
+# BINGOS/Archive-Extract-0.52.tar.gz
+
+sub cpan_url_distribution {
+    my ( $mirror_url, $distribution ) = @_;
+    $distribution =~ /^([A-Z])([A-Z])/
+        or die "ERROR: invalid DISTRIBUTION name (not /^[A-Z]{2}/): $distribution\n";
+    my $path = "authors/id/$1/$1$2/$distribution";
+    return cpan_url( $mirror_url, $path );
+}
+
 # compare a list of modules against their CPAN equivalents
 
 sub do_compare {
@@ -205,6 +226,7 @@
     }
 
     my %ignorable = map { ( $_ => 1 ) } @Maintainers::IGNORABLE;
+    my %wanted_upstream = map { ( $_ => 1 ) } @$wanted_upstreams;
 
     my %seen_dist;
     for my $module (@$modules) {
@@ -225,13 +247,13 @@
             warn "WARNING: duplicate entry for $dist in $module\n";
         }
 
-        my $upstream = $m->{UPSTREAM} || 'UNKNOWN';
-        next if @$wanted_upstreams and !( $upstream ~~ $wanted_upstreams );
+        my $upstream = $m->{UPSTREAM};
+        next if @$wanted_upstreams and !$wanted_upstream{$upstream};
 
         print $outfh "\n$module - "
           . $Maintainers::Modules{$module}->{DISTRIBUTION} . "\n";
         print $outfh "  upstream is: "
-          . ( $m->{UPSTREAM} || 'UNKNOWN!' ) . "\n";
+          . ( $m->{UPSTREAM} // 'UNKNOWN!' ) . "\n";
 
         my $cpan_dir;
         eval {
@@ -299,7 +321,7 @@
                         print $outfh "  CPAN only: $cpan_file",
                           ( $cpan_file eq $mapped_file )
                           ? "\n"
-                          : " (expected $mapped_file)\n";
+                          : " (missing $mapped_file)\n";
                     }
                     next;
                 }
@@ -323,8 +345,8 @@
               file_diff( $outfh, $abs_cpan_file, $mapped_file, $reverse,
                 $diff_opts );
             if ( $different && customized( $m, $relative_mapped_file ) ) {
-                if ($verbose) {
-                    print $outfh "  Customized: $relative_mapped_file\n";
+                if (! $use_diff ) {
+                    print $outfh "  Customized for blead: $relative_mapped_file\n";
                 }
             }
             elsif ($different) {
@@ -352,6 +374,18 @@
 
                 }
             }
+            elsif ( customized( $m, $relative_mapped_file ) ) {
+                # Maintainers.pl says we customized it, but it looks the
+                # same as CPAN so maybe we lost the customization, which
+                # could be bad
+                if ( $cpan_file eq $relative_mapped_file ) {
+                    print $outfh "  Blead customization missing: $cpan_file\n";
+                }
+                else {
+                    print $outfh
+                      "  Blead customization missing: $cpan_file $relative_mapped_file\n";
+                }
+            }
             elsif ($verbose) {
                 if ( $cpan_file eq $relative_mapped_file ) {
                     print $outfh "  Unchanged: $cpan_file\n";
@@ -365,7 +399,7 @@
         for ( sort keys %perl_unseen ) {
             my $relative_mapped_file = relatively_mapped($_);
             if ( customized( $m, $relative_mapped_file ) ) {
-                print $outfh "  Customized: $_\n";
+                print $outfh "  Customized for blead: $_\n";
             }
             else {
                 print $outfh "  Perl only: $_\n" unless $use_diff;
@@ -395,7 +429,10 @@
 # Maintainers.pl
 
 sub do_crosscheck {
-    my ( $outfh, $cache_dir, $mirror_url, $force, $modules ) = @_;
+    my (
+        $outfh, $cache_dir, $mirror_url,
+        $force, $modules,   $wanted_upstreams,
+    ) = @_;
 
     my $file         = '02packages.details.txt';
     my $download_dir = $cache_dir || File::Temp::tempdir( CLEANUP => 1 );
@@ -441,6 +478,7 @@
         $distros{ distro_base($short_distro) }{$distro} = 1;
     }
 
+    my %wanted_upstream = map { ( $_ => 1 ) } @$wanted_upstreams;
     for my $module (@$modules) {
         my $m = $Maintainers::Modules{$module}
           or die "ERROR: No such module in Maintainers.pl: '$module'\n";
@@ -458,6 +496,9 @@
         my $pdist = $m->{DISTRIBUTION};
         die "ERROR: $module has no DISTRIBUTION entry\n" unless defined $pdist;
 
+        my $upstream = $m->{UPSTREAM};
+        next if @$wanted_upstreams and !$wanted_upstream{$upstream};
+
         my $cdist = $modules{$module};
         ( my $short_pdist = $pdist ) =~ s{^.*/}{};
 
@@ -539,8 +580,9 @@
 sub cpan_to_perl {
     my ( $excluded, $map, $customized, $cpan_file ) = @_;
 
+    my %customized = map { ( $_ => 1 ) } @$customized;
     for my $exclude (@$excluded) {
-        next if $exclude ~~ $customized;
+        next if $customized{$exclude};
 
         # may be a simple string to match exactly, or a pattern
         if ( ref $exclude ) {
@@ -562,27 +604,19 @@
     return $perl_file;
 }
 
-# do LWP::Simple::getstore, possibly without LWP::Simple being available
+# fetch a file from a URL and store it in a file given by a filename
 
-my $lwp_simple_available;
-
 sub my_getstore {
     my ( $url, $file ) = @_;
     File::Path::mkpath( File::Basename::dirname($file) );
-    unless ( defined $lwp_simple_available ) {
-        eval { require LWP::Simple };
-        $lwp_simple_available = $@ eq '';
-    }
-    if ($lwp_simple_available) {
-        return LWP::Simple::is_success( LWP::Simple::getstore( $url, $file ) );
-    }
-    elsif ( $url =~ qr{\Afile://(?:localhost)?/} ) {
+    if ( $url =~ qr{\Afile://(?:localhost)?/} ) {
         ( my $local_path = $url ) =~ s{\Afile://(?:localhost)?}{};
         File::Copy::copy( $local_path, $file );
+    } else {
+        my $http = HTTP::Tiny->new;
+        my $response = $http->mirror($url, $file);
+        return $response->{success};
     }
-    else {
-        return system( WGET_CMD, "-O", $file, $url ) == 0;
-    }
 }
 
 # download and unpack a distribution
@@ -609,7 +643,7 @@
 
     if ( -f $download_file and !-s $download_file ) {
 
-        # wget can leave a zero-length file on failed download
+        # failed download might leave a zero-length file
         unlink $download_file;
     }
 
@@ -616,12 +650,7 @@
     unless ( -f $download_file ) {
 
         # not cached
-        $dist =~ /^([A-Z])([A-Z])/
-          or die
-"ERROR: $module: invalid DISTRIBUTION name (not /^[A-Z]{2}/): $dist\n";
-
-        my $url =
-          cpan_url( $mirror_url, "modules/by-authors/id/$1/$1$2/$dist" );
+        my $url = cpan_url_distribution( $mirror_url, $dist );
         my_getstore( $url, $download_file )
           or die "ERROR: Could not fetch '$url'\n";
     }
@@ -631,6 +660,7 @@
     my $path = catfile( $untar_dir, $filename );
 
     $path =~ s/\.tar\.gz$//
+      or $path =~ s/\.tgz$//
       or $path =~ s/\.zip$//
       or die
       "ERROR: downloaded file does not have a recognised suffix: $path\n";


Property changes on: vendor/perl/dist/Porting/core-cpan-diff
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/Porting/corecpan.pl
===================================================================
--- vendor/perl/dist/Porting/corecpan.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/corecpan.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -159,7 +159,7 @@
 	for my $file (sort keys %{$results{$dist}}) {
 	    my ($vcore, $vcpan) = @{$results{$dist}{$file}}{@labels};
 	    if (our $opt_v or $vcore ne $vcpan) {
-		print "\n$dist:\n" unless ($distname_printed++);
+		print "\n$dist ($Modules{$dist}{MAINTAINER}):\n" unless ($distname_printed++);
 		print "\t$file: core=$vcore, cpan=$vcpan\n";
 	    }
 	}


Property changes on: vendor/perl/dist/Porting/corecpan.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/corelist-diff
===================================================================
--- vendor/perl/dist/Porting/corelist-diff	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/corelist-diff	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/corelist-diff
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/corelist-perldelta.pl
===================================================================
--- vendor/perl/dist/Porting/corelist-perldelta.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/corelist-perldelta.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,11 +6,39 @@
 use Maintainers qw/%Modules/;
 use Module::CoreList;
 use Getopt::Long;
-use Algorithm::Diff;
 
+=head1 USAGE
+
+  # generate the module changes for the Perl you are currently building
+  ./perl Porting/corelist-perldelta.pl
+  
+  # generate a diff between the corelist sections of two perldelta* files:
+  perl Porting/corelist-perldelta.pl --mode=check 5.017001 5.017002 <perl5172delta.pod
+
+=head1 ABOUT
+
+corelist-perldelta.pl is a bit schizophrenic. The part to generate the
+new Perldelta text does not need Algorithm::Diff, but wants to be
+run with the freshly built Perl.
+
+The part to check the diff wants to be run with a Perl that has an up-to-date
+L<Module::CoreList>, but needs the outside L<Algorithm::Diff>.
+
+Ideally, the program will be split into two separate programs, one
+to generate the text and one to show the diff between the 
+corelist sections of the last perldelta and the next perldelta.
+
+=cut
+
 my %sections = (
+  new     => qr/New Modules and Pragma(ta)?/,
+  updated => qr/Updated Modules and Pragma(ta)?/,
+  removed => qr/Removed Modules and Pragma(ta)?/,
+);
+
+my %titles = (
   new     => 'New Modules and Pragmata',
-  updated => 'Updated Modules and Pragma',
+  updated => 'Updated Modules and Pragmata',
   removed => 'Removed Modules and Pragmata',
 );
 
@@ -21,15 +49,15 @@
 sub added {
   my ($mod, $old_v, $new_v) = @_;
   say "=item *\n";
-  say "C<$mod> $new_v has been added to the Perl core.\n";
+  say "L<$mod> $new_v has been added to the Perl core.\n";
 }
 
 sub updated {
   my ($mod, $old_v, $new_v) = @_;
   say "=item *\n";
-  say "C<$mod> has been upgraded from version $old_v to $new_v.\n";
+  say "L<$mod> has been upgraded from version $old_v to $new_v.\n";
   if ( $deprecated->{$mod} ) {
-    say "NOTE: C<$mod> is deprecated and may be removed from a future version of Perl.\n";
+    say "NOTE: L<$mod> is deprecated and may be removed from a future version of Perl.\n";
   }
 }
 
@@ -133,9 +161,9 @@
   my ($old, $new) = @_;
   my ($added, $removed, $pragmas, $modules) = corelist_delta($old => $new);
 
-  generate_section($sections{new}, \&added, @{ $added });
-  generate_section($sections{updated}, \&updated, @{ $pragmas }, @{ $modules });
-  generate_section($sections{removed}, \&removed, @{ $removed });
+  generate_section($titles{new}, \&added, @{ $added });
+  generate_section($titles{updated}, \&updated, @{ $pragmas }, @{ $modules });
+  generate_section($titles{removed}, \&removed, @{ $removed });
 }
 
 sub do_check {
@@ -152,6 +180,7 @@
 
     printf $ck->[0] . ":\n";
 
+    require Algorithm::Diff;
     my $diff = Algorithm::Diff->new(map {
       [map { join q{ } => grep defined, @{ $_ } } @{ $_ }]
     } \@delta, \@corelist);
@@ -187,7 +216,7 @@
 
     my $parsed_pod = Pod::Simple::SimpleTree->new->parse_file($input)->root;
     splice @{ $parsed_pod }, 0, 2; # we don't care about the document structure,
-                                   # just the nods within it
+                                   # just the nodes within it
 
     $self->_parse_delta($parsed_pod);
 
@@ -205,10 +234,19 @@
 
     map {
         my ($t, $s) = @{ $_ };
+        
+        # Keep the section title if it has one:
+        if( $s->[0]->[0] eq 'head2' ) {
+          #warn "Keeping section title '$s->[0]->[2]'";
+          $titles{ $t } = $s->[0]->[2]
+              if $s->[0]->[2];
+        };
+
         $self->${\"_parse_${t}_section"}($s)
     } map {
-        my $s = $self->_look_for_section($pod => $sections{$_});
-        $s ? [$_, $s] : $s
+        my $s = $self->_look_for_section($pod => $sections{$_})
+            or die "failed to parse $_ section";
+        [$_, $s];
     } keys %sections;
 
     for my $s (keys %sections) {
@@ -310,8 +348,9 @@
     $self->_look_for_range($pod,
       sub {
         my ($el) = @_;
-        my $f = $el->[0] =~ /^head(\d)$/ && $el->[2] eq $section;
-        $level = $1 if $f && !$level;
+        my ($heading) = $el->[0] =~ /^head(\d)$/;
+        my $f = $heading && $el->[2] =~ /^$section/;        
+        $level = $heading if $f && !$level;
         return $f;
       },
       sub {


Property changes on: vendor/perl/dist/Porting/corelist-perldelta.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/corelist.pl
===================================================================
--- vendor/perl/dist/Porting/corelist.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/corelist.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,6 +7,7 @@
 # With an optional arg specifying the root of a CPAN mirror, outputs the
 # %upstream and %bug_tracker hashes too.
 
+use autodie;
 use strict;
 use warnings;
 use File::Find;
@@ -17,8 +18,11 @@
 use File::Spec;
 use Parse::CPAN::Meta;
 use IPC::Cmd 'can_run';
+use HTTP::Tiny;
+use IO::Uncompress::Gunzip;
 
 my $corelist_file = 'dist/Module-CoreList/lib/Module/CoreList.pm';
+my $pod_file = 'dist/Module-CoreList/lib/Module/CoreList.pod';
 
 my %lines;
 my %module_to_file;
@@ -36,7 +40,7 @@
     die "Must be run from the root of a clean perl tree\n";
 }
 
-open( my $corelist_fh, '<', $corelist_file ) || die "Could not open $corelist_file: $!";
+open( my $corelist_fh, '<', $corelist_file );
 my $corelist = join( '', <$corelist_fh> );
 
 if ($cpan) {
@@ -46,17 +50,19 @@
     my $fh;
     if ( -e $modlistfile ) {
         warn "Reading the module list from $modlistfile";
-        open $fh, '<', $modlistfile or die "Couldn't open $modlistfile: $!";
+        open $fh, '<', $modlistfile;
     } elsif ( -e $modlistfile . ".gz" ) {
         my $zcat = can_run('gzcat') || can_run('zcat') or die "Can't find gzcat or zcat";
         warn "Reading the module list from $modlistfile.gz";
-        open $fh, '-|', "$zcat $modlistfile.gz" or die "Couldn't zcat $modlistfile.gz: $!";
+        open $fh, '-|', "$zcat $modlistfile.gz";
     } else {
         warn "About to fetch 02packages from ftp.funet.fi. This may take a few minutes\n";
-        $content = fetch_url('http://ftp.funet.fi/pub/CPAN/modules/02packages.details.txt');
-        unless ($content) {
+	my $gzipped_content = fetch_url('http://ftp.funet.fi/pub/CPAN/modules/02packages.details.txt.gz');
+	unless ($gzipped_content) {
             die "Unable to read 02packages.details.txt from either your CPAN mirror or ftp.funet.fi";
         }
+	IO::Uncompress::Gunzip::gunzip(\$gzipped_content, \$content, Transparent => 0)
+	    or die "Can't gunzip content: $IO::Uncompress::Gunzip::GunzipError";
     }
 
     if ( $fh and !$content ) {
@@ -96,9 +102,10 @@
             $module =~ s{^Encode/encoding}{encoding},
             $module =~ s{^IPC-SysV/}{IPC/},
             $module =~ s{^MIME-Base64/QuotedPrint}{MIME/QuotedPrint},
-            $module =~ s{^(?:DynaLoader|Errno|Opcode)/}{},
+            $module =~ s{^(?:DynaLoader|Errno|Opcode|XSLoader)/}{},
+            $module =~ s{^Sys-Syslog/win32}{Sys-Syslog},
+            $module =~ s{^Time-Piece/Seconds}{Time/Seconds},
             );
-        $module =~ s{^vms/ext}{VMS};
 		$module =~ s{^lib/}{}g;
         $module =~ s{/}{::}g;
         $module =~ s{-}{::}g;
@@ -107,7 +114,6 @@
         $lines{$module}          = $version;
         $module_to_file{$module} = $File::Find::name;
     },
-    'vms/ext',
     'symbian/ext',
     'lib',
     'ext',
@@ -123,13 +129,29 @@
     close $ucdv;
 }
 
+my $delta_data = make_corelist_delta(
+  $perl_vnum,
+  \%lines,
+  \%Module::CoreList::version
+);
+
 my $versions_in_release = "    " . $perl_vnum . " => {\n";
-foreach my $key ( sort keys %lines ) {
-    $versions_in_release .= sprintf "\t%-24s=> %s,\n", "'$key'", $lines{$key};
+$versions_in_release .= "        delta_from => $delta_data->{delta_from},\n";
+$versions_in_release .= "        changed => {\n";
+foreach my $key (sort keys $delta_data->{changed}) {
+  $versions_in_release .= sprintf "            %-24s=> %s,\n", "'$key'",
+      defined $delta_data->{changed}{$key} ? "'"
+        . $delta_data->{changed}{$key} . "'" : "undef";
 }
+$versions_in_release .= "        },\n";
+$versions_in_release .= "        removed => {\n";
+for my $key (sort keys($delta_data->{removed} || {})) {
+  $versions_in_release .= sprintf "           %-24s=> %s,\n", "'$key'", 1;
+}
+$versions_in_release .= "        }\n";
 $versions_in_release .= "    },\n";
 
-$corelist =~ s/^(%version\s*=\s*.*?)(^\);)$/$1$versions_in_release$2/xism;
+$corelist =~ s/^(my %delta\s*=\s*.*?)(^\);)$/$1$versions_in_release$2/ism;
 
 exit unless %modlist;
 
@@ -137,6 +159,18 @@
 # data by "Module", which is really a dist.
 my $file_to_M = files_to_modules( values %module_to_file );
 
+sub slurp_utf8($) {
+    open my $fh, "<:utf8", "$_[0]"
+	or die "can't open $_[0] for reading: $!";
+    return do { local $/; <$fh> };
+}
+
+sub parse_cpan_meta($) {
+    return Parse::CPAN::Meta->${
+	$_[0] =~ /\A\x7b/ ? \"load_json_string" : \"load_yaml_string"
+    }($_[0]);
+}
+
 my %module_to_upstream;
 my %module_to_dist;
 my %dist_to_meta_YAML;
@@ -144,7 +178,7 @@
 while ( my ( $module, $file ) = each %module_to_file ) {
     my $M = $file_to_M->{$file};
     next unless $M;
-    next if $Modules{$M}{MAINTAINER} eq 'p5p';
+    next if $Modules{$M}{MAINTAINER} && $Modules{$M}{MAINTAINER} eq 'p5p';
     $module_to_upstream{$module} = $Modules{$M}{UPSTREAM};
     $module_to_deprecated{$module} = 1 if $Modules{$M}{DEPRECATED};
     next
@@ -163,17 +197,18 @@
 
     # Like it or lump it, this has to be Unix format.
     my $meta_YAML_path = "authors/id/$dist";
-    $meta_YAML_path =~ s/(?:tar\.gz|tar\.bz2|zip)$/meta/ or die "$meta_YAML_path";
+    $meta_YAML_path =~ s/(?:tar\.gz|tar\.bz2|zip|tgz)$/meta/
+	or die "ERROR: bad meta YAML path: '$meta_YAML_path'";
     my $meta_YAML_url = 'http://ftp.funet.fi/pub/CPAN/' . $meta_YAML_path;
 
     if ( -e "$cpan/$meta_YAML_path" ) {
-        $dist_to_meta_YAML{$dist} = Parse::CPAN::Meta::LoadFile( $cpan . "/" . $meta_YAML_path );
+        $dist_to_meta_YAML{$dist} = parse_cpan_meta(slurp_utf8( $cpan . "/" . $meta_YAML_path ));
     } elsif ( my $content = fetch_url($meta_YAML_url) ) {
         unless ($content) {
             warn "Failed to fetch $meta_YAML_url\n";
             next;
         }
-        eval { $dist_to_meta_YAML{$dist} = Parse::CPAN::Meta::Load($content); };
+        eval { $dist_to_meta_YAML{$dist} = parse_cpan_meta($content); };
         if ( my $err = $@ ) {
             warn "$meta_YAML_path: ".$err;
             next;
@@ -198,13 +233,31 @@
 $corelist =~ s/^%upstream .*? ;$/$upstream_stanza/ismx;
 
 # Deprecation generation
-my $deprecated_stanza = "    " . $perl_vnum . " => {\n";
-foreach my $module ( sort keys %module_to_deprecated ) {
-    my $deprecated = defined $module_to_deprecated{$module} ? "'$module_to_deprecated{$module}'" : 'undef';
-    $deprecated_stanza .= sprintf "\t%-24s=> %s,\n", "'$module'", $deprecated;
+{
+  my $delta_data = make_corelist_delta(
+    $perl_vnum,
+    \%module_to_deprecated,
+    do { no warnings 'once'; \%Module::CoreList::deprecated },
+  );
+
+  my $deprecated_stanza = "    " . $perl_vnum . " => {\n";
+  $deprecated_stanza .= "        delta_from => $delta_data->{delta_from},\n";
+  $deprecated_stanza .= "        changed => {\n";
+  foreach my $key (sort keys $delta_data->{changed}) {
+    $deprecated_stanza .= sprintf "            %-24s=> %s,\n", "'$key'",
+        defined $delta_data->{changed}{$key} ? "'"
+          . $delta_data->{changed}{$key} . "'" : "undef";
+  }
+  $deprecated_stanza .= "        },\n";
+  $deprecated_stanza .= "        removed => {\n";
+  for my $key (sort keys($delta_data->{removed} || {})) {
+    $deprecated_stanza .= sprintf "           %-24s=> %s,\n", "'$key'", 1;
+  }
+  $deprecated_stanza .= "        }\n";
+  $deprecated_stanza .= "    },\n";
+
+  $corelist =~ s/^(%deprecated\s*=\s*.*?)(^\);)$/$1$deprecated_stanza$2/xism;
 }
-$deprecated_stanza .= "    },\n";
-$corelist =~ s/^(%deprecated\s*=\s*.*?)(^\);)$/$1$deprecated_stanza$2/xism;
 
 my $tracker = "%bug_tracker = (\n";
 foreach my $module ( sort keys %module_to_upstream ) {
@@ -218,8 +271,9 @@
     my $dist = $module_to_dist{$module};
     $bug_tracker = $dist_to_meta_YAML{$dist}->{resources}{bugtracker}
         if $dist;
+    $bug_tracker = $bug_tracker->{web} if ref($bug_tracker) eq "HASH";
 
-    $bug_tracker = defined $bug_tracker ? "'$bug_tracker'" : 'undef';
+    $bug_tracker = defined $bug_tracker ? quote($bug_tracker) : 'undef';
 	next if $bug_tracker eq "'http://rt.perl.org/perlbug/'";
     $tracker .= sprintf "    %-24s=> %s,\n", "'$module'", $bug_tracker;
 }
@@ -227,11 +281,6 @@
 
 $corelist =~ s/^%bug_tracker .*? ;/$tracker/eismx;
 
-unless ( $corelist =~ /and $perl_vstring releases of perl/ ) {
-    warn "Adding $perl_vstring to the list of perl versions covered by Module::CoreList\n";
-    $corelist =~ s/(currently covers (?:.*?))\s*and (.*?) releases of perl/$1, $2 and $perl_vstring releases of perl/ism;
-}
-
 unless (
     $corelist =~ /^%released \s* = \s* \(
         .*?
@@ -244,26 +293,104 @@
                 /$1  $perl_vnum => '????-??-??',\n  $2/ismx;
 }
 
-write_corelist($corelist);
+write_corelist($corelist,$corelist_file);
 
-warn "All done. Please check over $corelist_file carefully before committing. Thanks!\n";
+open( my $pod_fh, '<', $pod_file );
+my $pod = join( '', <$pod_fh> );
 
+unless ( $pod =~ /and $perl_vstring releases of perl/ ) {
+    warn "Adding $perl_vstring to the list of perl versions covered by Module::CoreList\n";
+    $pod =~ s/(currently\s+covers\s+(?:.*?))\s*and\s+(.*?)\s+releases\s+of\s+perl/$1, $2 and $perl_vstring releases of perl/ism;
+}
 
+write_corelist($pod,$pod_file);
+
+warn "All done. Please check over $corelist_file and $pod_file carefully before committing. Thanks!\n";
+
+
 sub write_corelist {
     my $content = shift;
-    open (my $clfh, ">", $corelist_file) || die "Failed to open $corelist_file for writing: $!";
-    print $clfh $content || die "Failed to write the new CoreList.pm: $!";
+    my $filename = shift;
+    open (my $clfh, ">", $filename);
+    binmode $clfh;
+    print $clfh $content;
     close($clfh);
 }
 
 sub fetch_url {
     my $url = shift;
-    eval { require LWP::Simple };
-    if ( LWP::Simple->can('get') ) {
-        return LWP::Simple::get($url);
-    } elsif (`which curl`) {
-        return `curl -s $url`;
-    } elsif (`which wget`) {
-        return `wget -q -O - $url`;
+    my $http = HTTP::Tiny->new;
+    my $response = $http->get($url);
+    if ($response->{success}) {
+	return $response->{content};
+    } else {
+	warn "Error fetching $url: $response->{status} $response->{reason}\n";
+        return;
     }
 }
+
+sub make_corelist_delta {
+  my($version, $lines, $existing) = @_;
+  # Trust core perl, if someone does use a weird version number the worst that
+  # can happen is an extra delta entry for a module.
+  my %versions = map { $_ => eval $lines->{$_} } keys %$lines;
+
+  # Ensure we have the corelist data loaded from this perl checkout, not the system one.
+  require $corelist_file;
+
+  my %deltas;
+  # Search for the release with the least amount of changes (this avoids having
+  # to ask for where this perl was branched from).
+  for my $previous(reverse sort keys %$existing) {
+    # Shouldn't happen, but ensure we don't load weird data...
+    next if $previous > $version || $previous == $version && $previous eq $version;
+
+    my $delta = $deltas{$previous} = {};
+    ($delta->{changed}, $delta->{removed}) = calculate_delta(
+      $existing->{$previous}, \%versions);
+  }
+
+  my $smallest = (sort {
+      (keys($deltas{$a}->{changed}) + keys($deltas{$a}->{removed})) <=>
+      (keys($deltas{$b}->{changed})+ keys($deltas{$b}->{removed}))
+    } keys %deltas)[0];
+
+  return {
+    delta_from => $smallest,
+    changed => $deltas{$smallest}{changed},
+    removed => $deltas{$smallest}{removed},
+  }
+}
+
+# Calculate (changed, removed) modules between two versions.
+sub calculate_delta {
+  my($from, $to) = @_;
+  my(%changed, %removed);
+
+  for my $package(keys $from) {
+    if(not exists $to->{$package}) {
+      $removed{$package} = 1;
+    }
+  }
+
+  for my $package(keys $to) {
+    if(!exists $from->{$package}
+        || (defined $from->{$package} && !defined $to->{$package})
+        || (!defined $from->{$package} && defined $to->{$package})
+        || (defined $from->{$package} && defined $to->{$package}
+            && $from->{$package} ne $to->{$package})) {
+      $changed{$package} = $to->{$package};
+    }
+  }
+
+  return \%changed, \%removed;
+}
+
+sub quote {
+    my ($str) = @_;
+    # There's gotta be something already doing this properly that we could just
+    # reuse, but I can't quite thing of where to look for it, so I'm gonna do
+    # the simplest possible thing that'll allow me to release 5.17.7.  --rafl
+    $str =~ s/'/\\'/g;
+    "'${str}'";
+}


Property changes on: vendor/perl/dist/Porting/corelist.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/curliff.pl
===================================================================
--- vendor/perl/dist/Porting/curliff.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/curliff.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/curliff.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/epigraphs.pod
===================================================================
--- vendor/perl/dist/Porting/epigraphs.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/epigraphs.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,8 +17,682 @@
 
 =head1 EPIGRAPHS
 
-=head2 v5.14.0 -  L<< Larry Wall, January 12, 1988 <992 at devvax.JPL.NASA.GOV> | http://groups.google.com/group/comp.sources.d/msg/5d17fa68c250b9b2 >>
+=head2 v5.17.10 - Vernor Vinge, A Fire Upon The Deep
 
+L<Announced on 2013-03-22 by Max Maischein|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-03/msg00908.html>
+
+The archive informed the automation. Data structures were built, recipes
+followed.  A local network was built, faster than anything on Straum, but surely
+safe. Nodes were added, modified by other recipes. The archive was a friendly
+place, with hierarchies of translation keys that led them along. Straum itself
+would be famous for this.
+
+Six months passed. A year.
+
+The omniscient view. Not self-aware really. Self-awareness is much over-rated. 
+Most automation works far better as a part of a whole, and even if human-
+powerful, it does not need to self-know. 
+
+=head2 v5.16.3 - Devo, Freedom of Choice
+
+L<Announced on 2013-03-11 by Ricardo Signes|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-03/msg00414.html>
+
+  A victim of collision on the open sea
+  Nobody ever said that life was free
+  Sink, swim, go down with the ship
+  But use your freedom of choice
+
+=head2 v5.14.4 - Arthur C. Clarke, The Nine Billion Names of God
+
+L<Announced on 2013-03-11 by Dave Mitchell|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-03/msg00393.html>
+
+He began to sing, but gave it up after a while. This vast arena of
+mountains, gleaming like whitely hooded ghosts on every side, did not
+encourage such ebullience. Presently George glanced at his watch.
+
+'Should be there in an hour,' he called back over his shoulder to
+Chuck.  Then he added, in an afterthought: 'Wonder if the computer's
+finished its run. It was due about now.'
+
+Chuck didn't reply, so George swung round in his saddle. He could just
+see Chuck's face, a white oval turned towards the sky.
+
+'Look,' whispered Chuck, and George lifted his eyes to heaven. (There
+is always a last time for everything.)
+
+Overhead, without any fuss, the stars were going out.
+
+
+=head2 v5.17.9 - Douglas Adams, The Hitch-Hikers Guide to the Galaxy
+
+L<Announced on 2013-02-20 by Chris 'BinGOs' Williams|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-02/msg01146.html>
+
+Vogon poetry is of course, the third worst in the universe.
+The second worst is that of the Azgoths of Kria. During a
+recitation by their poet master Grunthos the Flatulent of
+his poem 'Ode To A Small Lump of Green Putty I Found In My
+Armpit One Midsummer Morning' four of his audience died
+of internal haemorrhaging and the president of the
+Mid-Galactic Arts Nobbling Council survived by gnawing one
+of his own legs off. Grunthos is reported to have been
+'disappointed' by the poem's reception, and was about to
+embark on a reading of his twelve-book epic entitled
+'My Favourite Bathtime Gurgles' when his own major intestine,
+in a desperate attempt to save life and civilisation,
+leapt straight up through his neck and throttled his brain.
+
+The very worst poetry of all perished along with its creator
+Paula Nancy Millstone Jennings of Greenbridge, Essex, England,
+in the destruction of the planet Earth.
+
+=head2 v5.17.8 - Iain Pears, An Instance of the Fingerpost
+
+L<Announced on 2013-01-20 by Aaron Crane|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-01/msg00518.html>
+
+I must here declare myself as someone who does not for a moment subscribe to
+the general view that a willingness to perform oneself is detrimental to the
+dignity of experimental philosophy. There is, after all, a clear distinction
+between labour carried out for financial reward, and that done for the
+improvement of mankind: to put it another way, Lower as a philosopher was
+fully my equal even if he fell away when he became the practising physician.
+I think ridiculous of certain professors of anatomy, who find it beneath
+them to pick up the knife themselves, but merely comment while hired hands
+do the cutting. Sylvius would never have dreamt of sitting on a dais reading
+from an authority while others cut E<0x2014> when he taught, the knife was
+in his hand and the blood spattered his coat. Boyle also did not scruple to
+perform his own experiments and, on one occasion in my presence, even showed
+himself willing to anatomise a rat with his very own hands. Nor was he less
+a gentleman when he had finished. Indeed, in my opinion, his stature was all
+the greater, for in Boyle wealth, humility and curiosity mingled, and the
+world is richer for it.
+
+=head2 v5.17.7 - R. Scott Bakker, The Darkness That Comes Before
+
+L<Announced on 2012-12-18 by Dave Rolsky|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-12/msg00679.html>
+
+No thought.
+  The boy extinguished. Only a place.
+  This place.
+  Motionless, the Pragma sat facing him, the bare soles of his feet flat against each other, his dark frock scored by the shadows of deep folds, his eyes as empty as the child they watched.
+  A place without breath or sound. A place of sight alone. A place without before or after . . . almost.
+  For the first lances of sunlight careered over the glacier, as ponderous as great tree limbs in the wind. Shadows hardened and light gleamed across the Pragma’s ancient skull.
+  The old man’s left hand forsook his right sleeve, bearing a watery knife. And like a rope in water, his arm pitched outward, fingertips trailing across the blade as the knife swung languidly into the air, the sun skating and the dark shrine plunging across its mirror back . . .
+  And the place where Kellhus had once existed extended an open hand—the blond hairs like luminous filaments against tanned skin—and grasped the knife from stunned space.
+  The slap of pommel against palm triggered the collapse of place into little boy. The pale stench of his body. Breath, sound, and lurching thoughts.
+  I have been legion . . .
+  In his periphery, he could see the spike of the sun ease from the mountain. He felt drunk with exhaustion. In the recoil of his trance, it seemed all he could hear were the twigs arching and bobbing in the wind, pulled by leaves like a million sails no bigger than his hand. Cause everywhere, but amid countless minute happenings—diffuse, useless.
+  Now I understand.
+
+=head2 v5.17.6 - Kurt Vonnegut, The Sirens of Titan
+
+L<Announced on 2012-11-20 by Ricardo Signes|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-11/msg00760.html>
+
+Beatrice, looking like a gypsy queen, smoldered at the foot of a statue
+of a young physical student. At first glance, the laboratory-gowned
+scientist seemed to be a perfect servant of nothing but truth. At first
+glance, one was convinced that nothing but truth could please him as he
+beamed at his test tube. At first glance, one thought that he was as
+much above the beastly concerns of mankind as the harmoniums in the
+caves of Mercury. There, at first glance, was a young man without
+vanity, without lust — and one accepted at its face value the title Salo
+had engraved on the statue, "Discovery of Atomic Power."
+
+=head2 v5.12.5 - William Shakespeare, Measure for Measure
+
+Announced on 2012-11-10 by Dominic Hargreaves
+
+  Music oft hath such a charm
+  To make bad good, and good provoke to harm.
+
+=head2 v5.16.2 - Stanislaw Lem, The Cyberiad, Trurl's Machine
+
+L<Announced on 2012-11-01 by Ricardo Signes|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-11/msg00017.html>
+
+Once upon a time Trurl the constructor built an eight-story thinking
+machine.  When it was finished, he gave it a coat of white paint,
+trimmed the edges in lavender, stepped back, squinted, then added a
+little curlicue on the front and, where one might imagine the forehead
+to be, a few pale orange polkadots.  Extremely pleased with himself,
+he whistled an air and, as is always done on such occasions, asked it
+the ritual question of how much is two plus two.
+
+The machine stirred.  Its tubes began to glow, its coils warmed up,
+current coursed through all its circuits like a waterfall,
+transformers hummed and throbbed, there was a clanging, and a
+chugging, and such an ungodly racket that Trurl began to think of
+adding a special mentation muffler.  Meanwhile the machine labored on,
+as if it had been given the most difficult problem in the Universe to
+solve; the ground shook, the sand slid underfoot from the vibration,
+valves popped like champagne corks, the relays nearly gave way under
+the strain.  At last, when Trurl had grown extremely impatient, the
+machine ground to a halt and said in a voice like thunder: SEVEN!
+
+=head2 v5.17.5 - Charles Stross, "Singularity Sky"
+
+L<Announced on 2012-10-20 by Florian Ragwitz|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-10/msg01007.html>
+
+Neither of them noticed the pair of polka-dotted knickers hiding
+behind the ventilation duct overhead, listening patiently and
+recording everything.
+
+=head2 v5.17.4 - Roald Dahl, "Little Red Riding Hood and the Wolf"
+
+L<Announced on 2012-09-20 by Florian Ragwitz|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-09/msg01226.html>
+
+  The small girl smiles. One eyelid flickers.
+  She whips a pistol from her knickers.
+  She aims it at the creature's head,
+  And bang bang bang, she shoots him dead.
+
+  A few weeks later, in the wood,
+  I came across Miss Riding Hood.
+  But what a change! No cloak of red,
+  No silly hood upon her head.
+  She said, "Hello, and do please note
+  My lovely furry wolfskin coat."
+
+=head2 v5.17.3 - Kris Ta-belle, "Smoked Perl Onion Soup"
+
+L<Announced on 2012-08-20 by Steve Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2012/08/msg190775.html>
+
+Preparation:
+
+Cut 16 Perl Onions into quarters and put them in a grill smoker rack
+or a perforated pan over a BBQ using hickory wood chips or Special
+Blend Smoker Bisquettes.  Smoke them for an hour and remove once they
+look golden brown.
+Let them cool and put them in the fridge (or freezer) until you are
+ready to create the soup.
+
+Ingredients:
+
+  16 diced, pre-smoked, Perl Onions
+  3 tbsp butter
+  1/4 cup olive oil
+  2 small garlic cloves, finely minced
+  1 tsp salt
+  1 tsp sugar
+  black pepper to taste
+  1 cup red wine
+  1/4 cup all purpose flour
+  6 cups of beef or vegetable stock
+  1 cup of thick cream (milk can be used as a substitute)
+
+Method:
+
+  Melt the butter in a pan and then add olive oil.
+  Heat and add the onions to caramelize over a medium-high heat for up
+    to half an hour.
+  Add the garlic, turn down the heat and cook for a further 5 minutes.
+  Add the salt, pepper and sugar.
+  Now add the red wine and reduce to a jam like consistency.
+  Add the flour, stir well and add the stock a cup at a time.
+  Simmer for 30 minutes, add the cream and heat to almost boiling.
+
+Enjoy.
+
+=head2 v5.17.2 - Terry Pratchet, "The Colour of Magic"
+
+L<Announced on 2012-07-21 by TonyC|http://www.nntp.perl.org/group/perl.perl5.porters/2012/07/msg189828.html>
+
+‘I knew it,’ said Rincewind. ‘We're in a strong magical field.’
+
+Twoflower and Hrun looked around the little hollow where they had made
+their noonday halt. Then they looked at each other.
+
+The horses were quietly cropping the rich grass by the stream.  Yellow
+butterflies skittered among the bushes.  There was a smell of thyme
+and a buzzing of bees. The wild pigs on the spit sizzled gently.
+
+Hrun shrugged and went back to oiling his biceps. They gleamed.
+
+‘Looks alright to me,’ he said.
+
+‘Try tossing a coin,’ said Rincewind.
+
+‘What?’
+
+‘Go on.  Toss a coin.’
+
+‘Hokay,’ said Hrun. 'If that gives you any pleasure.’ He reached into
+his pouch and withdrew a handful of loose change plundered from a
+dozen realms. With some care he selected a Zchloty leaden
+quarter-iotum and balanced it on a purple thumbnail.
+
+‘You call,’ he said. ‘Heads or—’ he inspected the obverse with
+an air of intense concentration, ‘some sort of a fish with legs.’
+
+‘When it's in the air,’ said Rincewind.  Hrun grinned and flicked his thumb.
+
+The iotum rose, spinning.
+
+‘Edge,’ said Rincewind, without looking at it.
+
+=head2 v5.17.1 - Rand Miller, "Myst: The Book of Ti'ana"
+
+L<Announced on 2012-06-20 by doy|http://www.nntp.perl.org/group/perl.perl5.porters/2012/06/msg188354.html>
+
+On their return from Ko'ah, Aitrus had shown her the Book, patiently
+taking her through page after page, and showing her how such an Age was
+"made." She had seen at once the differences between this archaic form
+and the ordinary written speech of the D'ni, noting how it was not
+merely more elaborate but more specific: a language of precise yet
+subtle descriptive power. Yet seeing was one thing, believing another.
+Given all the evidence, her rational mind still fought against accepting
+it.
+
+=head2 v5.17.0 - Charles Stross, "Singularity Sky"
+
+L<Announced on 2012-05-26 by Zefram|http://www.nntp.perl.org/group/perl.perl5.porters/2012/05/msg187214.html>
+
+`Welcome, comrades!'  Burya opened his arms toward the soldier.
+`Yes it is true!  With help from our allies of the Festival, the iron
+hand of the reactionary junta is about to be overthrown for all time!
+The new economy is being born; the marginal cost of production has
+been abolished, and from now on, if any item is produced once, it can
+be replicated infinitely.  From each according to his imagination,
+to each according to his needs!  Join us or better still, bring your
+fellow soldiers and workers to join us!'
+
+There was a sharp bang from the roof of the Corn Exchange, right at the
+climax of his impromptu speech; heads turned in alarm.  Something had
+broken inside the spork factory and a stream of rainbow-hued plastic
+implements fountained toward the sky and clattered to the cobblestones
+on every side, like a harbinger of the postindustrial society to come.
+Workers and peasants alike stared in open-mouthed bewilderment at this
+astounding display of productivity, then bent to scrabble in the muck
+for the brightly colored sporks of revolution.  A volley of shots rang
+out and Burya Rubenstein raised his hands, grinning wildly, to accept
+the salute of the soldiers from the Skull Hill garrison.
+
+=head2 v5.16.1 - Emerald Rose - Never Split The Party
+
+L<Announced on 2012-08-08 by Ricardo
+Signes|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-08/msg00307.html>
+
+  Don't you know?  You never split the party
+  Clerics in the back to keep those fighters hale and hearty
+  The wizard in the middle, where he can shed some light
+  And you never let that damn thief out of sight…
+
+    -- Emerald Rose, Never Split The Party
+
+=head2 v5.16.1 RC1 - Tom Moldvay - Dungeons & Dragons
+
+L<Announced on 2012-08-03 by Ricardo
+Signes|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-08/msg00157.html>
+
+I was busy rescuing the captured maiden when the dragon showed up.
+Fifty feed of scaled terror glared down at us with smoldering red eyes.
+Tendrils of smoke drifted out from between fangs larger than daggers.
+The dragon blocked the only exit from the cave.
+
+⋮
+
+I unwrapped the sword which the mysterious cleric had given me.  The
+sword was golden-tinted steel.  Its hilt was set with a rainbow
+collection of precious gems.  I shouted my battle cry and charged
+
+My charge caught the dragon by surprise.  Its titanic jaws snapped shut
+inches from my face.  I swung the golden sword with both arms.  The
+swordblade bit into the dragon's neck and continued through to the other
+side.  With an earth-shaking crash, the dragon dropped dead at my feet.
+The magic sword had saved my life and ended the reign of the
+dragon-tyrant.  The countryside was freed and I could return as a hero.
+
+  -- Tom Moldvay, Foreward to the Dungeons & Dragons Basic Rulebook
+
+=head2 v5.16.0 - W.H. Auden - September 1, 1939
+
+L<Announced on 2012-05-20 by Ricardo
+Signes|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2012-05/msg00728.html>
+
+  All I have is a voice
+  To undo the folded lie,
+  The romantic lie in the brain
+  Of the sensual man-in-the-street
+  And the lie of Authority
+  Whose buildings grope the sky:
+  There is no such thing as the State
+  And no one exists alone;
+  Hunger allows no choice
+  To the citizen or the police;
+  We must love one another or die.
+
+    -- W.H. Auden, September 1, 1939
+
+=head2 v5.15.9 - Bob Dylan - Blowin' In The Wind
+
+L<Announced on 2012-03-20 by
+Abigail|http://nntp.perl.org/group/perl.perl5.porters/184824>
+
+ How many roads must a man walk down
+ Before you call him a man?
+ Yes, 'n' how many seas must a white dove sail
+ Before she sleeps in the sand?
+ Yes, 'n' how many times must the cannonballs fly
+ Before they're forever banned?
+ The answer, my friend, is blowin' in the wind
+ The answer is blowin' in the wind
+
+ How many years can a mountain exist
+ Before it's washed to the sea?
+ Yes, 'n' how many years can some people exist
+ Before they're allowed to be free?
+ Yes, 'n' how many times can a man turn his head
+ Pretending he just doesn't see?
+ The answer, my friend, is blowin' in the wind
+ The answer is blowin' in the wind
+
+ How many times must a man look up
+ Before he can see the sky?
+ Yes, 'n' how many ears must one man have
+ Before he can hear people cry?
+ Yes, 'n' how many deaths will it take till he knows
+ That too many people have died?
+ The answer, my friend, is blowin' in the wind
+ The answer is blowin' in the wind
+
+    -- Bob Dylan, Spring 1962
+
+=head2 v5.15.8 - The KLF - The Manual-How To Have A Number One The Easy Way
+
+L<Announced on 2012-02-20 by Max
+Maischein|http://www.nntp.perl.org/group/perl.perl5.porters/2012/02/msg183919.html>
+
+  "Doctor Who, hey Doctor Who
+   Doctor Who, in the Tardis
+   Doctor Who, hey Doctor Who
+   Doctor Who, Doc, Doctor Who
+   Doctor Who, Doc, Doctor Who"
+
+Gibberish of course, but every lad in the country under a certain
+age related instinctively to what it was about. The ones slightly
+older needed a couple of pints inside them to clear away the mind
+debris left by the passing years before it made sense. As for
+girls and our chorus, we think they must have seen it as pure crap.
+A fact that must have limited to zero our chances of staying at The
+Top for more than one week.
+
+Stock, Aitkin and Waterman, however, are kings of writing chorus
+lyrics that go straight to the emotional heart of the 7" single
+buying girls in this country. Their most successful records will kick
+into the chorus with a line which encapsulates the entire emotional
+meaning of the song. This will obviously be used as the title. As
+soon as Rick Astley hit the first line of the chorus on his debut
+single it was all over - the Number One position was guaranteed:
+
+  "I'm never going to give you up"
+
+=head2 v5.15.7 - Penelope Lively, The Voyage of QV66
+
+L<Announced on 2012-01-20 by Chris 'BinGOs' Williams
+|http://www.nntp.perl.org/group/perl.perl5.porters/2012/01/msg182230.html>
+
+"Laboratories," announced Henry. "Kindly don't touch anything."
+
+He led us into a long low brick shed. Outside there was a
+notice on a piece of board, crudely printed in red paint,
+which said GRATE SIENCE DISCOVERYS DONE HERE SSSH! BRING YOUR
+OWN BUKKIT NO PINCHING ANYWUN ELSE'S EXPERRYMENTS CANTEEN OPEN
+ALL DAY CHIMPS ONLY.
+
+There were a lot of large black monkeys inside, all intently
+busy on what they were doing. Some of them were pouring stuff
+out of bottles into buckets and carefully stirring the ensuing
+mixture; others were at work with glass tubes and jars, blowing
+and measuring and mixing; others were crouched over long benches
+with tools and heaps of bits and pieces of metal, cutting and
+bending and constructing. There was a great deal of noise and
+chatter. Every now and then one of them would give a whoop of
+excitement and all the others would gather round and jump up and
+down cheering and applauding.
+
+"Chimps," said Henry. "They're awfully clever."
+
+=head2 v5.15.6 - Ursula K. Leguin, A Wizard of Earthsea
+
+L<Announced on 2011-12-20 by Dave
+Rolsky|http://www.nntp.perl.org/group/perl.perl5.porters/2011/12/msg180962.html>
+
+Ged had thought that as the prentice of a great mage he would enter at once
+into the mystery and mastery of power. He would understand the language of the
+beasts and the speech of the leaves of the forest, he thought, and sway the
+winds with his word, and learn to change himself into any shape he
+wished. Maybe he and his master would run together as stags, or fly to Re Albi
+over the mountain on the wings of eagles.
+
+But it was not so at all. They wandered, first down into the Vale and then
+gradually south and westward around the mountain, given lodging in little
+villages or spending the night out in the wilderness, like poor
+journeyman-sorcerers, or tinkers, or beggars. They entered no mysterious
+domain. Nothing happened. The mage's oaken staff that Ged had watched at first
+with eager dread was nothing but a stout staff to walk with. Three days went
+by and four days went by and still Ogion had not spoken a single charm in
+Ged's hearing, and had not taught him a single name or rune or spell.
+
+=head2 v5.15.5 - Nikolai Gogol, The Diary of a Madman
+
+L<Announced on 2011-11-20 by Steve
+Hay|http://www.nntp.perl.org/group/perl.perl5.porters/2011/11/msg179588.html>
+
+This day - is a day of the greatest solemnity!  Spain has a king.  He has
+been found.  I am that king.  Only this very day did I learn of it.  I
+confess, it came to me suddenly in a flash of lightning.  I don't understand
+how I could have thought and imagined that I was a titular councillor.  How
+could such a wild notion enter my head?  It's a good thing no one thought of
+putting me in an insane asylum.  Now everything is laid open before me.  Now
+I see everything as on the palm of my hand.  And before, I don't understand,
+before everything around me was in some sort of fog.  And all this happens, I
+think, because people imagine that the human brain is in the head.  Not at
+all: it is brought by a wind from the direction of the Caspian Sea.  First
+off, I announced to Mavra who I am.  When she heard that the king of Spain
+was standing before her, she clasped her hands and nearly died of fright.
+The stupid woman had never seen a king of Spain before.  However, I
+endeavoured to calm her down and assured her in gracious words of my
+benevolence and that I was not at all angry that she sometimes polished my
+boots poorly.  They're benighted folk.  It's impossible to tell them about
+lofty matters.  She got frightened because she's convinced that all kings of
+Spain are like Philip II.  But I explained to her that there was no
+resemblance between me and Philip II, and that I didn't have a single
+Capuchin . . . I didn't go to the office . . . To hell with it!  No friends,
+you won't lure me there now; I'm not going to copy your vile papers!
+
+  -- Nikolai Gogol, The Diary of a Madman,
+     trans. Richard Pevear and Larissa Volokhonsky
+
+=head2 v5.15.4 - Steve Jobs
+
+L<Announced on 2011-10-20 by Florian
+Ragwitz|http://www.nntp.perl.org/group/perl.perl5.porters/2011/10/msg178412.html>
+
+A lot of people in our industry haven't had very diverse experiences. So they
+don't have enough dots to connect, and they end up with very linear solutions
+without a broad perspective on the problem. The broader one's understanding of
+the human experience, the better design we will have.
+
+=head2 v5.14.3 - William Shakespeare, As You Like It
+
+L<Announced on 2012-10-12 by Dominic Hargreaves|http://www.nntp.perl.org/group/perl.perl5.porters/2012/10/msg194057.html>
+
+  The poor world is almost six thousand years old, and in all
+  this time there was not any man died in his own person,
+  videlicit, in a love-cause. Troilus had his brains dashed
+  out with a Grecian club; yet he did what he could to die
+  before, and he is one of the patterns of love. Leander, he
+  would have lived many a fair year, though Hero had turned
+  nun, if it had not been for a hot midsummer night; for, good
+  youth, he went but forth to wash him in the Hellespont and
+  being taken with the cramp was drowned and the foolish
+  coroners of that age found it was 'Hero of Sestos.' But these
+  are all lies: men have died from time to time and worms have
+  eaten them, but not for love.
+
+    -- As You Like It, William Shakespeare
+
+=head2 v5.14.2 -  L<< Larry Wall, January 12, 1988 <992 at devvax.JPL.NASA.GOV>  |http://groups.google.com/group/comp.sources.d/msg/5d17fa68c250b9b2 >>
+
+L<Announced on 2011-09-26 by Florian
+Ragwitz|http://www.nntp.perl.org/group/perl.perl5.porters/2011/09/msg177618.html>
+
+
+It's not so much that people don't value the programs after they have them--they
+do value them.  But they're not the sort of thing that would ever catch on if
+they had to overcome the marketing barrier.  (I don't yet know if perl will
+catch on at all--I'm worried enough about it that I specifically included an
+awk-to-perl translator just to help it catch on.)  Maybe it's all just an
+inferiority complex.  Or maybe I don't like to be mercenary.
+
+So I guess I'd say that the reason some software comes free is that the
+mechanism for selling it is missing, either from the work environment, or from
+the heart of the programmer.
+
+
+=head2 v5.15.3 - Oscar Wilde, All Art is Quite Useless
+
+L<Announced on 2011-09-20 by Stevan
+Little|http://www.nntp.perl.org/group/perl.perl5.porters/2011/09/msg177427.html>
+
+  All art is at once surface and symbol. Those who go beneath
+  the surface do so at their peril. Those who read the symbol
+  do so at their peril.
+
+  It is the spectator, and not life, that art really mirrors.
+  Diversity of opinion about a work of art shows that the
+  work is new, complex, and vital. When critics disagree, the
+  artist is in accord with himself.
+
+  We can forgive a man for making a useful thing as long as
+  he does not admire it. The only excuse for making a useless
+  thing is that one admires it intensely.
+
+  All art is quite useless.
+
+    -- Oscar Wilde, From the preface to The Picture of Dorian Gray
+
+
+=head2 v5.15.2 - Rainer Maria Rilke, The Third Duina Elegy
+
+L<Announced on 2011-08-20 by Ricardo
+Signes|http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2011-08/msg00694.html>
+
+  True, it is strange to live no more on earth,
+  no longer follow the folkways scarecely learned;
+  not to give roses and other especially auspicious
+  things the significance of a human future;
+  to be no more what one was in infinitely anxious hands,
+  and to put aside even one's name, like a broken plaything.
+  Strange, to wish wishes no longer.  Strange, to see
+  all that was related fluttering so loosely in space.
+  And being dead is hard, full of catching-up,
+  so that finally one feels a little eternity.–
+  But the living all make the mistake of too sharp discrimination.
+  Often angels (it's said) don't know if they move
+  among the quick or the dead.  The eternal current
+  hurtles all ages along with it forever
+  through both realms and drowns their voices in both.
+
+  -- Rainer Maria Rilke, Duino, The First Elegy
+     trans., C. F. MacIntyre
+
+=head2 v5.15.1 - Greg Egan, "Permutation City"
+
+L<Announced on 2011-07-20 by Zefram|http://www.nntp.perl.org/group/perl.perl5.porters/2011/07/msg175014.html>
+
+Carter held out a hand towards the middle of the room.  `See that
+fountain?'  A ten-metre-wide marble wedding cake, topped with a
+winged cherub wrestling a serpent, duly appeared.  Water cascaded
+down from a gushing wound in the cherub's neck.  Carter said, `It's
+being computed by redundancies in the sketch of the city.  I can
+extract the results, because I know exactly where to look for them --
+but nobody else would have a hope in hell of picking them out.'
+
+Peer walked up to the fountain.  Even as he approached, he noticed
+that the spray was intangible; when he dipped his hand in the water
+around the base he felt nothing, and the motion he made with his
+fingers left the foaming surface unchanged.  They were spying on
+the calculations, not interacting with them; the fountain was a
+closed system.
+
+Carter said, `In your case, of course, nobody will need to know
+the results.  Except you -- and you'll know them because you'll
+/be/ them.'
+
+=head2 v5.15.0 - Neil Gaiman, "The Graveyard Book"
+
+L<Announced on 2011-06-20 by David Golden|http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173748.html>
+
+  If you dare nothing, then when the day is over, nothing is all
+  you will have gained.
+
+=head2 v5.12.4 - William Schwenck Gilbert, "Trial By Jury"
+
+L<Announced on 2011-06-20 by Leon Brocard|http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173725.html>
+
+  You cannot eat breakfast all day,
+  Nor is it the act of a sinner,
+  When breakfast is taken away,
+  To turn his attention to dinner;
+  And it's not in the range of belief,
+  To look upon him as a glutton,
+  Who, when he is tired of beef,
+  Determines to tackle the mutton.
+  Ah! But this I am willing to say,
+  If it will appease her sorrow,
+  I'll marry this lady today,
+  And I'll marry the other tomorrow!
+
+=head2 v5.14.1 -  L<< Larry Wall, January 12, 1988 <992 at devvax.JPL.NASA.GOV>  |http://groups.google.com/group/comp.sources.d/msg/5d17fa68c250b9b2 >>
+
+L<Announced on 2011-06-16 by Jesse Vincent|http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173650.html>
+
+At this point I'm no longer working for a company that makes me sign
+my life away, but by now I'm in the habit.  Besides, I still harbor
+the deep-down suspicion that nobody would pay money for what I write,
+since most of it just helps you do something better that you could
+already do some other way.  How much money would you personally pay
+to upgrade from readnews to rn?  How much money would you pay for
+the patch program?  As for warp, it's a mere game.  And anything you
+can do with perl you can eventually do with an amazing and totally
+unreadable conglomeration of awk, sed, sh and C.
+
+=head2 v5.12.4-RC2 - James Russell Lowell, "Eleanor makes macaroons"
+
+L<Announced on 2011-06-15 by Leon Brocard|http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173609.html>
+
+  Now for sugar, -- nay, our plan
+  Tolerates no work of man.
+  Hurry, then, ye golden bees;
+  Fetch your clearest honey, please,
+  Garnered on a Yorkshire moor,
+  While the last larks sing and soar,
+  From the heather-blossoms sweet
+  Where sea-breeze and sunshine meet,
+  And the Augusts mask as Junes, --
+  Eleanor makes macaroons!
+
+=head2 v5.12.4-RC1 - Ogden Nash, "The Clean Plater"
+
+L<Announced on 2011-06-08 by Leon Brocard|http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173352.html>
+
+  Pheasant is pleasant, of course,
+  And terrapin, too, is tasty,
+  Lobster I freely endorse,
+  In pate or patty or pasty.
+  But there's nothing the matter with butter,
+  And nothing the matter with jam,
+  And the warmest greetings I utter
+  To the ham and the yam and the clam.
+  For they're food,
+  All food,
+  And I think very fondly of food.
+  Through I'm broody at times
+  When bothered by rhymes,
+  I brood
+  On food.
+
+=head2 v5.14.0 -  L<< Larry Wall, January 12, 1988 <992 at devvax.JPL.NASA.GOV> |http://groups.google.com/group/comp.sources.d/msg/5d17fa68c250b9b2 >>
+
 L<Announced on 2011-05-14 by Jesse Vincent|http://www.nntp.perl.org/group/perl.perl5.porters/2011/05/msg172326.html>
 
 At the start of any project, I'm programming primarily to please
@@ -75,7 +749,7 @@
 wherein I encountered the startling fact that in 1967 the prime minister,
 Harold Holt, was strolling along a beach in Victoria when he plunged into
 the surf and vanished. No trace of the poor man was ever seen again.
-This seemed doubly astounding to me--first that Australia could
+This seemed doubly astounding to meE<0x2014>first that Australia could
 just I<lose> a prime minister (I mean, come on) and second that news of
 this had never reached me.
 
@@ -161,20 +835,22 @@
 
 [Neo sees a black cat walk by them, and then a similar black cat walk by them just like the first one]
 
-Neo:      Whoa. Deja vu.
+  Neo:      Whoa. Deja vu.
 
 [Everyone freezes right in their tracks]
 
-Trinity:  What did you just say?
-Neo:      Nothing. Just had a little deja vu.
-Trinity:  What did you see?
-Cypher:   What happened?
-Neo:      A black cat went past us, and then another that looked just like it.
-Trinity:  How much like it? Was it the same cat?
-Neo:      It might have been. I'm not sure.
-Morpheus: Switch! Apoc!
-Neo:      What is it?
-Trinity:  A deja vu is usually a glitch in the Matrix. It happens when they change something.
+  Trinity:  What did you just say?
+  Neo:      Nothing. Just had a little deja vu.
+  Trinity:  What did you see?
+  Cypher:   What happened?
+  Neo:      A black cat went past us, and then another that looked just
+            like it.
+  Trinity:  How much like it? Was it the same cat?
+  Neo:      It might have been. I'm not sure.
+  Morpheus: Switch! Apoc!
+  Neo:      What is it?
+  Trinity:  A deja vu is usually a glitch in the Matrix. It happens when
+            they change something.
 
 =head2 v5.13.6 - Haruki Murakami, "Kafka on the Shore"
 
@@ -583,7 +1259,7 @@
 
 =head2 v5.11.2 - Michael Marshall Smith, "Only Forward"
 
-L<Announced on 2009-11-20 by |http://www.nntp.perl.org/group/perl.perl5.porters/2009/11/msg153646.html>
+L<Announced on 2009-11-20 by Léon Brocard|http://www.nntp.perl.org/group/perl.perl5.porters/2009/11/msg153646.html>
 
 The streets were pretty quiet, which was nice. They're always quiet here
 at that time: you have to be wearing a black jacket to be out on the


Property changes on: vendor/perl/dist/Porting/epigraphs.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/Porting/exec-bit.txt
===================================================================
--- vendor/perl/dist/Porting/exec-bit.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/exec-bit.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,6 +18,7 @@
 metaconfig.SH
 myconfig.SH
 regen/embed.pl
+regen/feature.pl
 regen/keywords.pl
 regen/opcode.pl
 regen/regcharclass.pl
@@ -29,6 +30,9 @@
 x2p/cflags.SH
 Porting/Maintainers.pl
 Porting/add-package.pl
+Porting/bisect.pl
+Porting/bisect-example.sh
+Porting/bisect-runner.pl
 Porting/check83.pl
 Porting/checkAUTHORS.pl
 Porting/checkURL.pl
@@ -41,10 +45,8 @@
 Porting/corecpan.pl
 Porting/corelist-perldelta.pl
 Porting/corelist.pl
-Porting/curliff.pl
 Porting/expand-macro.pl
 Porting/findrfuncs
-Porting/genlog
 Porting/makerel
 Porting/make_dot_patch.pl
 Porting/make_snapshot.pl
@@ -51,8 +53,7 @@
 Porting/newtests-perldelta.pl
 Porting/perlhist_calculate.pl
 Porting/sort_perldiag.pl
+Porting/sync-with-cpan
 Porting/valgrindpp.pl
-mpeix/nm
-mpeix/relink
 Cross/generate_config_sh
 Cross/warp


Property changes on: vendor/perl/dist/Porting/exec-bit.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/expand-macro.pl
===================================================================
--- vendor/perl/dist/Porting/expand-macro.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/expand-macro.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -62,7 +62,9 @@
 
 my $sentinel = "$macro expands to";
 
-my %done_header;
+# These two are included from perl.h, and perl.h sometimes redefines their
+# macros. So no need to include them.
+my %done_header = ('embed.h' => 1, 'embedvar.h' => 1);
 
 sub do_header {
     my $header = shift;


Property changes on: vendor/perl/dist/Porting/expand-macro.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/Porting/findrfuncs
===================================================================
--- vendor/perl/dist/Porting/findrfuncs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/findrfuncs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/findrfuncs
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/findvars
===================================================================
--- vendor/perl/dist/Porting/findvars	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/findvars	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/findvars
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/fixCORE
===================================================================
--- vendor/perl/dist/Porting/fixCORE	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/fixCORE	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/fixCORE
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/fixvars
===================================================================
--- vendor/perl/dist/Porting/fixvars	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/fixvars	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/fixvars
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/genlog
===================================================================
--- vendor/perl/dist/Porting/genlog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/genlog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/genlog
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/git-deltatool
===================================================================
--- vendor/perl/dist/Porting/git-deltatool	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/git-deltatool	2013-12-01 21:45:02 UTC (rev 6430)
@@ -92,8 +92,8 @@
   my @choices = ( $self->section_choices, $self->action_choices );
   $self->_iterate_commits(
     sub {
-      my $log = shift;
-      say "";
+      my ($log, $i, $count) = @_;
+      say "\n### Commit @{[$i+1]} of $count ###";
       say "-" x 75;
       $self->show_header($log);
       $self->show_body($log, 1);
@@ -109,8 +109,8 @@
   my @choices = ( $self->review_choices, $self->action_choices );
   $self->_iterate_commits(
     sub {
-      my $log = shift;
-      say "";
+      my ($log, $i, $count) = @_;
+      say "\n### Commit @{[$i+1]} of $count ###";
       say "-" x 75;
       $self->show_header($log);
       $self->show_notes($log, 1);
@@ -178,8 +178,10 @@
   my ($self, $fcn) = @_;
   my $type = $self->opt('type');
   say STDERR "Scanning for $type commits since " . $self->last_tag . "...";
-  for my $log ( $self->find_commits($type) ) {
-    redo unless $fcn->($log);
+  my $list = [ $self->find_commits($type) ];
+  my $count = @$list;
+  while ( my ($i,$log) = each @$list ) {
+    redo unless $fcn->($log, $i, $count);
   }
   return 1;
 }


Property changes on: vendor/perl/dist/Porting/git-deltatool
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/git-find-p4-change
===================================================================
--- vendor/perl/dist/Porting/git-find-p4-change	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/git-find-p4-change	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/git-find-p4-change
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/git-make-p4-refs
===================================================================
--- vendor/perl/dist/Porting/git-make-p4-refs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/git-make-p4-refs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/git-make-p4-refs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/how_to_write_a_perldelta.pod
===================================================================
--- vendor/perl/dist/Porting/how_to_write_a_perldelta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/how_to_write_a_perldelta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -37,9 +37,14 @@
 
 =item rt.perl.org
 
-C<RT #43010> inline, but enclose in square brackets after a sentence.
-C<[RT #43010]>
+C<perl #43010> inline, but enclose in square brackets after a sentence.
+C<[perl #43010]>.  This mirrors how rt.perl.org subject lines appear.
 
+=item rt.cpan.org
+
+C<rt.cpan.org #43010> inline, but enclose in square brackets after a sentence.
+C<[rt.cpan.org #43010]>.  This mirrors how rt.cpan.org subject lines appear.
+
 =item ActiveState
 
 C<http://bugs.activestate.com/show_bug.cgi?id=72443>
@@ -298,16 +303,10 @@
 
 =item Acknowledgements
 
-The list of people to thank goes here.
+Generate this with:
 
-You can find the list of committers and authors by:
+  perl Porting/acknowledgements.pl v5.15.0..HEAD
 
-  % git log --pretty='format:%an' v5.11.1..HEAD | sort | uniq
-
-And how many files where changed by:
-
-  % git diff --stat=200,200 v5.11.1..HEAD
-
 =item Reporting Bugs
 
 This doesn't usually need to be changed from the previous perldelta.


Property changes on: vendor/perl/dist/Porting/how_to_write_a_perldelta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/Porting/make_dot_patch.pl
===================================================================
--- vendor/perl/dist/Porting/make_dot_patch.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/make_dot_patch.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/make_dot_patch.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/make_snapshot.pl
===================================================================
--- vendor/perl/dist/Porting/make_snapshot.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/make_snapshot.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/make_snapshot.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/makemeta
===================================================================
--- vendor/perl/dist/Porting/makemeta	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/makemeta	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,37 +1,81 @@
 #!./perl -w
 # this script must be run by the current perl to get perl's version right
 #
-# Create a META.yml file in the current directory. Must be run from the
+# Create META.yml and META.json files in the current directory. Must be run from the
 # root directory of a perl source tree.
 
 use strict;
 use warnings;
+use Getopt::Std;
+
+my $opts = {
+  'META.yml'  => { version => '1.4' },
+  'META.json' => { version => '2' },
+};
+
+my %switches;
+getopts('byj', \%switches);
+
+my @metafiles;
+if ( $switches{y} ) {
+  push @metafiles, 'META.yml';
+}
+elsif ( $switches{j} ) {
+  push @metafiles, 'META.json';
+}
+else {
+  push @metafiles, keys %$opts;
+}
+
+my ($vers, $stat ) = _determine_status();
+
+my $distmeta = {
+  'version' => $vers,
+  'name' => 'perl',
+  'author' => [
+    'perl5-porters at perl.org'
+  ],
+  'license' => [
+    'perl_5'
+  ],
+  'abstract' => 'The Perl 5 language interpreter',
+  'release_status' => $stat,
+  'dynamic_config' => 1,
+  'resources' => {
+    'repository' => {
+      'url' => 'http://perl5.git.perl.org/'
+    },
+    'homepage' => 'http://www.perl.org/',
+    'bugtracker' => {
+      'web' => 'http://rt.perl.org/perlbug/'
+    },
+    'license' => [
+      'http://dev.perl.org/licenses/'
+    ],
+  },
+};
+
 use lib "Porting";
-
 use File::Basename qw( dirname );
+use CPAN::Meta;
 
-
 BEGIN {
     # Get function prototypes
     require 'regen/regen_lib.pl';
 }
 
-
-my $file = "META.yml";
-my $new_file = "META.yml-new";
-
 use Maintainers qw(%Modules get_module_files get_module_pat);
 
 my @CPAN  = grep { $Modules{$_}{CPAN} } keys %Modules;
-my @files = ('lib/unicore/mktables', 'TestInit.pm',
-	     'Porting/Maintainers.pm', 'Porting/perldelta_template.pod',
-	     map { get_module_files($_) } @CPAN);
-my @dirs  = ('cpan', 'win32', grep { -d $_ && $_  !~ /^cpan/ } map { get_module_pat($_) } @CPAN);
+my @files = ('autodoc.pl', 'lib/unicore/mktables', 'TestInit.pm',
+             'Porting/Maintainers.pm', 'Porting/perldelta_template.pod',
+             map { get_module_files($_) } @CPAN);
+my @dirs  = ('cpan', 'win32', 'mad', grep { -d $_ && $_  !~ /^cpan/ } map { get_module_pat($_) } @CPAN);
 
 my %dirs;
 @dirs{@dirs} = ();
 
- at files = map { "    - $_" }
+ at files =
   grep {
     my $d = $_;
     my $previous_d = '';
@@ -43,35 +87,55 @@
 
     # if $d is "." it means we tried every parent dir of the file and none
     # of them were in the private list
-    
+
     $d eq "." || $d eq $previous_d;
   }
   sort { lc $a cmp lc $b } @files;
 
- at dirs  = map { "    - $_" } sort { lc $a cmp lc $b } @dirs;
+ at dirs  = sort { lc $a cmp lc $b } @dirs;
 
-my $fh = safer_open($new_file);
+$distmeta->{no_index}->{file} = \@files;
+$distmeta->{no_index}->{directory} = \@dirs;
 
-local $" = "\n";
-print $fh <<"EOI";
-name: perl
-version: $]
-abstract: The Perl 5 language interpreter
-author: perl5-porters\@perl.org
-license: perl
-resources:
-  homepage: http://www.perl.org/
-  bugtracker: http://rt.perl.org/perlbug/
-  license: http://dev.perl.org/licenses/
-  repository: http://perl5.git.perl.org/
-distribution_type: core
-generated_by: $0
-no_index:
-  directory:
- at dirs
-  file:
- at files
-EOI
+my $meta = CPAN::Meta->create( $distmeta );
+foreach my $file ( @metafiles ) {
+  my $fh = open_new($file);
+  print $fh $meta->as_string( $opts->{$file} );
+  close_and_rename($fh);
+}
+exit 0;
 
-safer_close($fh);
-rename_if_different($new_file, $file);
+sub _determine_status {
+  my $patchlevel_h = 'patchlevel.h';
+  return unless -e $patchlevel_h;
+  my $status = '';
+  my $version = '';
+  {
+    my %defines;
+    open my $fh, '<', $patchlevel_h;
+    my @vers;
+    while (<$fh>) {
+      chomp;
+      next unless m!^#define! or m!!;
+      if ( m!^#define! ) {
+        my ($foo,$bar) = ( split /\s+/ )[1,2];
+        $defines{$foo} = $bar;
+      }
+      elsif ( m!\"RC\d+\"! ) {
+        $status = 'testing';
+        last;
+      }
+    }
+    unless ( $status ) {
+      $status = $defines{PERL_VERSION} % 2 ? 'unstable' : 'stable';
+    }
+    if ( my @wotsits = grep { defined $defines{$_} } qw(PERL_REVISION PERL_VERSION PERL_SUBVERSION) ) {
+      $version = sprintf '%d.%03d%03d', map { $defines{$_} } @wotsits;
+    }
+    else {
+      # Well, you never know
+      $version = sprintf '5.%03d_%02d', map { $defines{$_} } qw(PATCHLEVEL SUBVERSION);
+    }
+  }
+  return ( $version, $status );
+}


Property changes on: vendor/perl/dist/Porting/makemeta
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/makerel
===================================================================
--- vendor/perl/dist/Porting/makerel	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/makerel	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,14 +8,12 @@
 # Cygwin and ensure its 'bin' folder is on the PATH in the shell where you run
 # this script. The Cygwin 'bin' folder needs to precede the Windows 'system32'
 # folder so that Cygwin's 'find' command is found in preference to the Windows
-# 'find' command. Your Cygwin installation will need to contain at least the
-# 'cpio' command, in addition to the commands installed by default, and it will
-# also be useful to have 'curl' and 'diffstat' installed too for later stages
-# of the release process (namely, Porting\corelist.pl and generating the commit
-# statistics for the perlXYZdelta.pod file respectively). Finally, ensure that
-# the 'awk' and 'shasum' commands are copies of gawk.exe and sha1sum.exe
-# respectively, rather than the links to them that only work in a Cygwin bash
-# shell which they are by default.
+# 'find' command. In addition to the commands installed by default, your Cygwin
+# installation will need to contain at least the 'cpio' and '7z' commands.
+# Finally, ensure that the 'awk', 'shasum' (if you have it) and '7z' commands
+# are copies of 'gawk.exe', 'sha1sum.exe' and 'lib\p7zip\7z.exe' respectively,
+# rather than the links to them that only work in a Cygwin bash shell which
+# they are by default.
 #
 # No matter how automated this gets, you'll always need to read
 # and re-read pumpkin.pod and release_managers_guide.pod to
@@ -62,8 +60,9 @@
 
 # fetch list of local patches
 my (@local_patches, @lpatch_tags, $lpatch_tags);
- at local_patches = grep { /^static.*local_patches/../^};/ } @patchlevel_h;
- at local_patches = grep { !/^\s*,?NULL/  } @local_patches;
+ at local_patches = grep { !/^\s*,?NULL/ && ! /,"uncommitted-changes"/ }
+                 grep { /^static.*local_patches/../^};/ }
+                 @patchlevel_h;
 @lpatch_tags   = map  {  /^\s*,"(\w+)/ } @local_patches;
 $lpatch_tags   = join "-", @lpatch_tags;
 
@@ -131,6 +130,8 @@
 my @writables = qw(
     NetWare/config_H.wc
     NetWare/Makefile
+    feature.h
+    lib/feature.pm
     keywords.h
     keywords.c
     opcode.h
@@ -139,9 +140,9 @@
     proto.h
     embed.h
     embedvar.h
-    global.sym
     overload.c
     overload.h
+    mg_vtable.h
     perlapi.h
     perlapi.c
     cpan/Devel-PPPort/module2.c
@@ -155,7 +156,7 @@
     win32/Makefile
     win32/Makefile.ce
     win32/makefile.mk
-    win32/config_H.bc
+    win32/config_H.ce
     win32/config_H.gc
     win32/config_H.vc
     utils/Makefile
@@ -170,16 +171,41 @@
 
 my $src = (-e $perl) ? $perl : 'perl'; # 'perl' in maint branch
 
-print "Creating and compressing the tar.gz file...\n";
-$cmd = "tar cf - $reldir | gzip --best > $reldir.tar.gz";
-system($cmd) == 0 or die "$cmd failed";
+print "Checking if you have 7z...\n";
+my $output_7z = `7z 2>&1`;
+my $have_7z = defined $output_7z && $output_7z =~ /7-Zip/;
 
-if ($opts{b}) {
-    print "Creating and compressing the tar.bz2 file...\n";
-    $cmd = "tar cf - $reldir | bzip2 > $reldir.tar.bz2";
+print "Checking if you have advdef...\n";
+my $output_advdef = `advdef --version 2>&1`;
+my $have_advdef = defined $output_advdef && $output_advdef =~ /advancecomp/;
+
+if ($have_7z) {
+    print "Creating and compressing the tar.gz file with 7z...\n";
+    $cmd = "tar cf - $reldir | 7z a -tgzip -mx9 -bd -si $reldir.tar.gz";
     system($cmd) == 0 or die "$cmd failed";
+} else {
+    print "Creating and compressing the tar.gz file...\n";
+    $cmd = "tar cf - $reldir | gzip --best > $reldir.tar.gz";
+    system($cmd) == 0 or die "$cmd failed";
+    if ($have_advdef) {
+        print "Recompressing the tar.gz file with advdef...\n";
+        $cmd = "advdef -z -4 $reldir.tar.gz";
+        system($cmd) == 0 or die "$cmd failed";
+    }
 }
 
+if ($opts{b}) {
+    if ($have_7z) {
+        print "Creating and compressing the tar.bz2 file with 7z...\n";
+        $cmd = "tar cf - $reldir | 7z a -tbzip2 -mx9 -bd -si $reldir.tar.bz2";
+        system($cmd) == 0 or die "$cmd failed";
+    } else {
+        print "Creating and compressing the tar.bz2 file...\n";
+        $cmd = "tar cf - $reldir | bzip2 > $reldir.tar.bz2";
+        system($cmd) == 0 or die "$cmd failed";
+    }
+}
+
 print "\n";
 
 system("ls -ld $perl*");


Property changes on: vendor/perl/dist/Porting/makerel
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/manicheck
===================================================================
--- vendor/perl/dist/Porting/manicheck	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/manicheck	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/manicheck
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/manisort
===================================================================
--- vendor/perl/dist/Porting/manisort	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/manisort	2013-12-01 21:45:02 UTC (rev 6430)
@@ -50,6 +50,7 @@
 if (defined($outfile)) {
     open(my $OUT, '>', $outfile)
         or die("Can't open output file '$outfile': $!");
+    binmode($OUT);
     print($OUT join("\n", @sorted), "\n");
     close($OUT) or die($!);
 }


Property changes on: vendor/perl/dist/Porting/manisort
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/mergelog
===================================================================
--- vendor/perl/dist/Porting/mergelog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/mergelog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/mergelog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/mergelog-tool
===================================================================
--- vendor/perl/dist/Porting/mergelog-tool	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/mergelog-tool	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/mergelog-tool
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/newtests-perldelta.pl
===================================================================
--- vendor/perl/dist/Porting/newtests-perldelta.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/newtests-perldelta.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/newtests-perldelta.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/perldelta_template.pod
===================================================================
--- vendor/perl/dist/Porting/perldelta_template.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/perldelta_template.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,19 +2,18 @@
 
 =head1 NAME
 
-[ this is a template for a new perldelta file. Any text flagged as
-XXX needs to be processed before release. ]
+[ this is a template for a new perldelta file.  Any text flagged as XXX needs
+to be processed before release. ]
 
-perldelta - what is new for perl v5.XXX.XXX
+perldelta - what is new for perl v5.tXXX.cXXX
 
 =head1 DESCRIPTION
 
-This document describes differences between the 5.XXX.XXX release and
-the 5.XXX.XXX release.
+This document describes differences between the 5.sXXX.bXXX release and the 5.tXXX.cXXX
+release.
 
-If you are upgrading from an earlier release such as 5.YYY.YYY, first read
-L<perl5YYYdelta>, which describes differences between 5.ZZZ.ZZZ and
-5.YYY.YYY.
+If you are upgrading from an earlier release such as 5.rXXX.aXXX, first read
+L<perl5XXXdelta>, which describes differences between 5.rXXX.aXXX and 5.sXXX.bXXX.
 
 =head1 Notice
 
@@ -22,8 +21,8 @@
 
 =head1 Core Enhancements
 
-XXX New core language features go here. Summarise user-visible core language
-enhancements. Particularly prominent performance optimisations could go
+XXX New core language features go here.  Summarize user-visible core language
+enhancements.  Particularly prominent performance optimisations could go
 here, but most should go in the L</Performance Enhancements> section.
 
 [ List each enhancement as a =head2 entry ]
@@ -40,8 +39,9 @@
 
 XXX For a release on a stable branch, this section aspires to be:
 
-    There are no changes intentionally incompatible with 5.XXX.XXX. If any
-    exist, they are bugs and reports are welcome.
+    There are no changes intentionally incompatible with 5.XXX.XXX
+    If any exist, they are bugs, and we request that you submit a
+    report.  See L</Reporting Bugs> below.
 
 [ List each incompatible change as a =head2 entry ]
 
@@ -48,15 +48,37 @@
 =head1 Deprecations
 
 XXX Any deprecated features, syntax, modules etc. should be listed here.
-In particular, deprecated modules should be listed here even if they are
-listed as an updated module in the L</Modules and Pragmata> section.
 
-[ List each deprecation as a =head2 entry ]
+=head2 Module removals
 
+XXX Remove this section if inapplicable.
+
+The following modules will be removed from the core distribution in a future
+release, and will at that time need to be installed from CPAN. Distributions
+on CPAN which require these modules will need to list them as prerequisites.
+
+The core versions of these modules will now issue C<"deprecated">-category
+warnings to alert you to this fact. To silence these deprecation warnings,
+install the modules in question from CPAN.
+
+Note that these are (with rare exceptions) fine modules that you are encouraged
+to continue to use. Their disinclusion from core primarily hinges on their
+necessity to bootstrapping a fully functional, CPAN-capable Perl installation,
+not usually on concerns over their design.
+
+=over
+
+XXX Note that deprecated modules should be listed here even if they are listed
+as an updated module in the L</Modules and Pragmata> section.
+
+=back
+
+[ List each other deprecation as a =head2 entry ]
+
 =head1 Performance Enhancements
 
-XXX Changes which enhance performance without changing behaviour go here. There
-may well be none in a stable release.
+XXX Changes which enhance performance without changing behaviour go here.
+There may well be none in a stable release.
 
 [ List each enhancement as a =item entry ]
 
@@ -96,7 +118,7 @@
 
 =item *
 
-XXX
+L<XXX> has been upgraded from version A.xx to B.yy.
 
 =back
 
@@ -145,23 +167,34 @@
 including warnings and fatal error messages.  For the complete list of
 diagnostic messages, see L<perldiag>.
 
-XXX New or changed warnings emitted by the core's C<C> code go here. Also
+XXX New or changed warnings emitted by the core's C<C> code go here.  Also
 include any changes in L<perldiag> that reconcile it to the C<C> code.
 
-[ Within each section, list entries as a =item entry ]
-
 =head2 New Diagnostics
 
-XXX Newly added diagnostic messages go here
+XXX Newly added diagnostic messages go under here, separated into New Errors
+and New Warnings
 
+=head3 New Errors
+
 =over 4
 
 =item *
 
-XXX
+XXX L<message|perldiag/"message">
 
 =back
 
+=head3 New Warnings
+
+=over 4
+
+=item *
+
+XXX L<message|perldiag/"message">
+
+=back
+
 =head2 Changes to Existing Diagnostics
 
 XXX Changes (i.e. rewording) of diagnostic messages go here
@@ -170,14 +203,14 @@
 
 =item *
 
-XXX
+XXX Describe change here
 
 =back
 
 =head1 Utility Changes
 
-XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go
-here. Most of these are built within the directories F<utils> and F<x2p>.
+XXX Changes to installed programs such as F<perlbug> and F<xsubpp> go here.
+Most of these are built within the directories F<utils> and F<x2p>.
 
 [ List utility changes as a =head3 entry for each utility and =item
 entries for each change
@@ -215,7 +248,7 @@
 XXX Any significant changes to the testing of a freshly built perl should be
 listed here.  Changes which create B<new> files in F<t/> go here as do any
 large changes to the testing harness (e.g. when parallel testing was added).
-Changes to existing files in F<t/> aren't worth summarising, although the bugs
+Changes to existing files in F<t/> aren't worth summarizing, although the bugs
 that they represent may be covered elsewhere.
 
 [ List each test improvement as a =item entry ]
@@ -238,7 +271,7 @@
 =head2 New Platforms
 
 XXX List any platforms that this version of perl compiles on, that previous
-versions did not. These will either be enabled by new files in the F<hints/>
+versions did not.  These will either be enabled by new files in the F<hints/>
 directories, or new subdirectories and F<README> files at the top level of the
 source tree.
 
@@ -264,7 +297,7 @@
 
 =head2 Platform-Specific Notes
 
-XXX List any changes for specific platforms. This could include configuration
+XXX List any changes for specific platforms.  This could include configuration
 and compilation changes or changes in portability/compatibility.  However,
 changes within modules for platforms should generally be listed in the
 L</Modules and Pragmata> section.
@@ -279,11 +312,11 @@
 
 =head1 Internal Changes
 
-XXX Changes which affect the interface available to C<XS> code go here.
-Other significant internal changes for future core maintainers should
-be noted as well.
+XXX Changes which affect the interface available to C<XS> code go here.  Other
+significant internal changes for future core maintainers should be noted as
+well.
 
-[ List each test improvement as a =item entry ]
+[ List each change as a =item entry ]
 
 =over 4
 
@@ -295,9 +328,8 @@
 
 =head1 Selected Bug Fixes
 
-XXX Important bug fixes in the core language are summarised here.
-Bug fixes in files in F<ext/> and F<lib/> are best summarised in
-L</Modules and Pragmata>.
+XXX Important bug fixes in the core language are summarized here.  Bug fixes in
+files in F<ext/> and F<lib/> are best summarized in L</Modules and Pragmata>.
 
 [ List each fix as a =item entry ]
 
@@ -311,13 +343,10 @@
 
 =head1 Known Problems
 
-XXX Descriptions of platform agnostic bugs we know we can't fix go here. Any
-tests that had to be C<TODO>ed for the release would be noted here, unless
-they were specific to a particular platform (see below).
+XXX Descriptions of platform agnostic bugs we know we can't fix go here.  Any
+tests that had to be C<TODO>ed for the release would be noted here.  Unfixed
+platform specific bugs also go here.
 
-This is a list of some significant unfixed bugs, which are regressions
-from either 5.XXX.XXX or 5.XXX.XXX.
-
 [ List each fix as a =item entry ]
 
 =over 4
@@ -335,35 +364,36 @@
 
 =head1 Acknowledgements
 
-XXX The list of people to thank goes here.
+XXX Generate this with:
 
+  perl Porting/acknowledgements.pl v5.18.1..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 http://rt.perl.org/perlbug/ .  There may also be
-information at http://www.perl.org/ , the Perl Home Page.
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+http://rt.perl.org/perlbug/ .  There may also be information at
+http://www.perl.org/ , the Perl Home Page.
 
-If you believe you have an unreported bug, please run the L<perlbug>
-program included with your release.  Be sure to trim your bug down
-to a tiny but sufficient test case.  Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug at perl.org to be
-analysed by the Perl porting team.
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug at 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 at perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
+inappropriate to send to a publicly archived mailing list, then please send it
+to perl5-security-report at 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.
+platforms on which Perl is supported.  Please only use this address for
+security issues in the Perl core, not for modules independently distributed on
+CPAN.
 
 =head1 SEE ALSO
 
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
 
 The F<INSTALL> file for how to build Perl.
 


Property changes on: vendor/perl/dist/Porting/perldelta_template.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/perlhist_calculate.pl
===================================================================
--- vendor/perl/dist/Porting/perlhist_calculate.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/perlhist_calculate.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,6 +9,12 @@
 use warnings;
 use strict;
 
+sub emit {
+  my $H = '%-9s:';
+  my $D = '%6d';
+  printf "$H $D $D\n", @_;
+}
+
 sub calc_core {
 
 	my @core;
@@ -24,7 +30,7 @@
 	my $corenumber = scalar @core;
 	$coresize = int $coresize;
 
-	say "core: $coresize $corenumber";
+  return $coresize, $corenumber;
 }
 
 sub calc_lib {
@@ -40,7 +46,7 @@
 	find(\&wanted_lib, 'lib');
 	$libsize = int $libsize;
 
-	say "lib: $libsize $libnumber";
+  return $libsize, $libnumber;
 }
 
 sub calc_ext {
@@ -61,7 +67,7 @@
 
 	$extsize = int $extsize;
 
-	say "ext: $extsize $extnumber";
+  return $extsize, $extnumber;
 }
 
 sub calc_t {
@@ -78,7 +84,7 @@
 
 	$tsize = int $tsize;
 
-	say "t: $tsize $tnumber";
+  return $tsize, $tnumber;
 }
 
 sub calc_doc {
@@ -105,7 +111,7 @@
 
 	$docsize = int $docsize;
 
-	say "doc: $docsize $docnumber";
+  return $docsize, $docnumber;
 }
 
 sub calc_dir {
@@ -125,23 +131,19 @@
 
 	$dirsize = int $dirsize;
 
-	say "$dir: $dirsize $dirnumber";
+  emit $dir => $dirsize, $dirnumber;
 }
 
 
 sub calc_longtable {
 
-	print "\n\nTable\n";
+	print "\n\nTable:\n";
 
-	foreach my $dir (qw(beos)) {
-		calc_dir($dir);
-	}
-
 	my $configure_size = int ((-s 'Configure') / 1000);
 
-	say "Configure: $configure_size 1";
+	emit Configure => $configure_size, 1;
 
-	foreach my $dir (qw(Cross djgpp emacs epoc h2pl hints mad mint mpeix NetWare os2 plan9 Porting qnx symbian utils uts vmesa vms vos win32 x2p)) {
+	foreach my $dir (qw(Cross djgpp emacs h2pl hints mad NetWare os2 plan9 Porting qnx symbian utils vms vos win32 x2p)) {
 		calc_dir($dir);
 	}
 }
@@ -149,11 +151,15 @@
 say "Selected release sizes for perl tarball:";
 print "\n";
 
-calc_core();
-calc_lib();
-calc_ext();
-calc_t();
-calc_doc();
+ #5.16.0         5562 109   1077  80  20504 2702   8750 2375   4815 152
+
+sub calc_line {
+  printf " %-12s %6s %3s %6s %3s %6s %4s %6s %4s %6s %3s\n",
+    '5.xx.0', calc_core(), calc_lib(), calc_ext(), calc_t(), calc_doc();
+}
+
+calc_line();
+
 calc_longtable();
 
 exit;


Property changes on: vendor/perl/dist/Porting/perlhist_calculate.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/podtidy
===================================================================
--- vendor/perl/dist/Porting/podtidy	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/podtidy	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,13 +1,10 @@
 #!perl
 use strict;
 use warnings;
-use Pod::Tidy;
+use Pod::Tidy 0.10;
 
 # Reformat pod using Pod::Tidy
 
-# 72 is what fmt defaults to
-$Text::Wrap::columns = 72;
-
 my $filename = shift || die "Usage podtidy [filename]";
 
 Pod::Tidy::tidy_files(
@@ -15,4 +12,5 @@
     verbose  => 1,
     inplace  => 1,
     nobackup => 1,
+    columns => 72, # 72 is what fmt defaults to
 );


Property changes on: vendor/perl/dist/Porting/podtidy
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/pumpkin.pod
===================================================================
--- vendor/perl/dist/Porting/pumpkin.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/pumpkin.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -450,7 +450,7 @@
 than answering all the questions and complaints about the failing
 command.
 
-=head2 global.sym, and perlio.sym
+=head2 globvar.sym, and perlio.sym
 
 Make sure these files are up-to-date.  Read the comments in these
 files and in F<perl_exp.SH> to see what to do.
@@ -457,7 +457,7 @@
 
 =head2 Binary compatibility
 
-If you do change F<global.sym> think carefully about
+If you do change F<embed.fnc> think carefully about
 what you are doing.  To the extent reasonable, we'd like to maintain
 source and binary compatibility with older releases of perl.  That way,
 extensions built under one version of perl will continue to work with
@@ -485,7 +485,7 @@
 
 =head2 Todo
 
-The F<pod/perltodo.pod> file contains a roughly-categorized unordered
+The F<Porting/todo.pod> file contains a roughly-categorized unordered
 list of aspects of Perl that could use enhancement, features that could
 be added, areas that could be cleaned up, and so on.  During your term
 as pumpkin-holder, you will probably address some of these issues, and
@@ -520,7 +520,7 @@
 
 I find the F<makepatch> utility quite handy for making patches.
 You can obtain it from any CPAN archive under
-http://www.cpan.org/authors/Johan_Vromans/ .  There are a couple
+L<http://www.cpan.org/authors/Johan_Vromans/>.  There are a couple
 of differences between my version and the standard one. I have mine do
 a
 
@@ -814,8 +814,8 @@
 
 For dynamic loading to work on AIX (and VMS) we need to provide a list
 of symbols to be exported.  This is done by the script F<perl_exp.SH>,
-which reads F<global.sym>.  Thus, the C<pause>
-symbol would have to be added to F<global.sym>  So far, so good.
+which reads F<embed.fnc>.  Thus, the C<pause>
+symbol would have to be added to F<embed.fnc>  So far, so good.
 
 On the other hand, one of the goals of Perl5 is to make it easy to
 either extend or embed perl and link it with other libraries.  This
@@ -823,9 +823,9 @@
 That is, we don't want perl's global variables to conflict with
 those in the other application library.  Although this work is still
 in progress, the way it is currently done is via the F<embed.h> file.
-This file is built from the F<global.sym> file,
+This file is built from the F<embed.fnc> file,
 since those files already list the globally visible symbols.  If we
-had added C<pause> to global.sym, then F<embed.h> would contain the
+had added C<pause> to F<embed.fnc>, then F<embed.h> would contain the
 line
 
     #define pause	Perl_pause
@@ -872,7 +872,7 @@
      applies to SCO.  This shows the perils of having internal
      functions with the same name as external library functions :-).
 
-Now, we can safely put C<my_chsize> in F<global.sym>, export it, and
+Now, we can safely put C<my_chsize> in C<embed.fnc>, export it, and
 hide it with F<embed.h>.
 
 To be consistent with what I did for C<pause>, I probably should have
@@ -942,7 +942,7 @@
     #endif
 
 Alternatively, we could just always use C<chsize> everywhere and move
-C<chsize> from F<global.sym> to the end of F<perl_exp.SH>.  That would
+C<chsize> from F<embed.fnc> to the end of F<perl_exp.SH>.  That would
 probably be fine as long as our C<chsize> function agreed with all the
 C<chsize> function prototypes in the various systems we'll be using.
 As long as the prototypes in actual use don't vary that much, this is
@@ -1205,14 +1205,14 @@
   /* Beginning of modification history */
   /* Written 02-01-02 by Nick Ing-Simmons (nick at ing-simmons.net) */
   /* End of modification history */
-  
+
   /* VOS doesn't supply a truncate function, so we build one up
      from the available POSIX functions.  */
-  
+
   #include <fcntl.h>
   #include <sys/types.h>
   #include <unistd.h>
-  
+
   int
   truncate(const char *path, off_t len)
   {
@@ -1250,7 +1250,7 @@
   # VOS does not have truncate() but we supply one in vos.c
   d_truncate="define"
   archobjs="vos.o"
-  
+
   # Help gmake find vos.c
   test -h vos.c || ln -s vos/vos.c vos.c
 


Property changes on: vendor/perl/dist/Porting/pumpkin.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/Porting/release_managers_guide.pod
===================================================================
--- vendor/perl/dist/Porting/release_managers_guide.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/release_managers_guide.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,16 +4,31 @@
 
 release_managers_guide - Releasing a new version of perl 5.x
 
-As of August 2009, this file is mostly complete, although it is missing
-some detail on doing a major release (e.g. 5.10.0 -> 5.12.0). Note that
-things change at each release, so there may be new things not covered
-here, or tools may need updating.
+Note that things change at each release, so there may be new things not
+covered here, or tools may need updating.
 
+=head1 MAKING A CHECKLIST
+
+If you are preparing to do a release, you can run the
+F<Porting/make-rmg-checklist> script to generate a new version of this
+document that starts with a checklist for your release.
+
+This script is run as:
+
+  perl Porting/make-rmg-checklist \
+      --type [BLEAD-POINT or MAINT or ...] > /tmp/rmg.pod
+
+You can also pass the C<--html> flag to generate an HTML document instead of
+POD.
+
+  perl Porting/make-rmg-checklist --html \
+      --type [BLEAD-POINT or MAINT or ...] > /tmp/rmg.html
+
 =head1 SYNOPSIS
 
 This document describes the series of tasks required - some automatic, some
-manual - to produce a perl release of some description, be that a snaphot,
-release candidate, or final, numbered release of maint or blead.
+manual - to produce a perl release of some description, be that a release
+candidate, or final, numbered release of maint or blead.
 
 The release process has traditionally been executed by the current
 pumpking. Blead releases from 5.11.0 forward are made each month on the
@@ -20,21 +35,16 @@
 20th by a non-pumpking release engineer.  The release engineer roster
 and schedule can be found in Porting/release_schedule.pod.
 
-This document both helps as a check-list for the release engineer 
-and is a base for ideas on how the various tasks could be automated 
+This document both helps as a check-list for the release engineer
+and is a base for ideas on how the various tasks could be automated
 or distributed.
 
-The outline of a typical release cycle is as follows:
+The checklist of a typical release cycle is as follows:
 
     (5.10.1 is released, and post-release actions have been done)
 
     ...time passes...
 
-    an occasional snapshot is released, that still identifies itself as
-	5.10.1
-
-    ...time passes...
-
     a few weeks before the release, a number of steps are performed,
 	including bumping the version to 5.10.2
 
@@ -49,26 +59,21 @@
 
     ... the cycle continues ...
 
+
 =head1 DETAILS
 
-Some of the tasks described below apply to all four types of 
-release of Perl. (snapshot, RC, final release of maint, final 
+Some of the tasks described below apply to all four types of
+release of Perl. (blead, RC, final release of maint, final
 release of blead). Some of these tasks apply only to a subset
-of these release types.  If a step does not apply to a given 
+of these release types.  If a step does not apply to a given
 type of release, you will see a notation to that effect at
 the beginning of the step.
 
+
 =head2 Release types
 
 =over 4
 
-=item Snapshot
-
-A snapshot is intended to encourage in-depth testing from time-to-time,
-for example after a key point in the stabilisation of a branch. It
-requires fewer steps than a full release, and the version number of perl in
-the tarball will usually be the same as that of the previous release.
-
 =item Release Candidate (RC)
 
 A release candidate is an attempt to produce a tarball that is a close as
@@ -79,8 +84,12 @@
 then the fixes should be put into a new release candidate, never directly
 into a final release.
 
-=item Stable/Maint release
 
+=item Stable/Maint release (MAINT).
+
+A release with an even version number, and subversion number > 0, such as
+5.14.1 or 5.14.2.
+
 At this point you should have a working release candidate with few or no
 changes since.
 
@@ -87,24 +96,40 @@
 It's essentially the same procedure as for making a release candidate, but
 with a whole bunch of extra post-release steps.
 
-=item Blead release
+Note that for a maint release there are two versions of this guide to
+consider: the one in the maint branch, and the one in blead. Which one to
+use is a fine judgement. The blead one will be most up-to-date, while
+it might describe some steps or new tools that aren't applicable to older
+maint branches. It is probably best to review both versions of this
+document, but to most closely follow the steps in the maint version.
 
+=item A blead point release (BLEAD-POINT)
+
+A release with an odd version number, such as 5.15.0 or 5.15.1.
+
+This isn't for production, so it has less stability requirements than for
+other release types, and isn't preceded by RC releases. Other than that,
+it is similar to a MAINT release.
+
+=item Blead final release (BLEAD-FINAL)
+
+A release with an even version number, and subversion number == 0, such as
+5.14.0. That is to say, it's the big new release once per year.
+
 It's essentially the same procedure as for making a release candidate, but
-with a whole bunch of extra post-release steps.
+with a whole bunch of extra post-release steps, even more than for MAINT.
 
 =back
 
+=for checklist begin
+
 =head2 Prerequisites
 
 Before you can make an official release of perl, there are a few
 hoops you need to jump through:
 
-=over 4
+=head3 PAUSE account with pumpkin status
 
-=item PAUSE account
-
-I<SKIP this step for SNAPSHOT>
-
 Make sure you have a PAUSE account suitable for uploading a perl release.
 If you don't have a PAUSE account, then request one:
 
@@ -118,19 +143,20 @@
 
     https://pause.perl.org/pause/query?ACTION=pause_04imprint
 
-=item search.cpan.org
+=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.
 
-=item CPAN mirror
+=head3 rt.perl.org update access
 
-Some release engineering steps require a full mirror of the CPAN.
-Work to fall back to using a remote mirror via HTTP is incomplete
-but ongoing. (No, a minicpan mirror is not sufficient)
+Make sure you have permission to close tickets on L<http://rt.perl.org/>
+so you can respond to bug report as necessary during your stint.  If you
+don't, make an account (if you don't have one) and contact the pumpking
+with your username to get ticket-closing permission.
 
-=item git checkout and commit bit
+=head3 git checkout and commit bit
 
 You will need a working C<git> installation, checkout of the perl
 git repository and perl commit bit.  For information about working
@@ -141,57 +167,150 @@
 you into the idea in the first place to figure out the best way to
 resolve the issue.
 
+=head3 git clone of https://github.com/perlorg/perlweb
 
-=item Quotation for release announcement epigraph
+For updating the L<http://dev.perl.org> web pages, either a Github account or
+sweet-talking somebody with a Github account into obedience is needed. This
+is only needed on the day of the release or shortly afterwards.
 
-I<SKIP this step for SNAPSHOT and RC>
+=for checklist skip RC
 
-For a numbered blead or maint release of perl, you will need a quotation 
-to use as an epigraph to your release announcement.  (There's no harm
-in having one for a snapshot, but it's not required).
+=head3 Quotation for release announcement epigraph
 
+I<SKIP this step for RC>
 
-=back
+For all except an RC release of perl, you will need a quotation
+to use as an epigraph to your release announcement.
 
-
 =head2 Building a release - advance actions
 
-The work of building a release candidate for a numbered release of
-perl generally starts several weeks before the first release candidate.
-Some of the following steps should be done regularly, but all I<must> be
-done in the run up to a release.
+The work of building a release candidate for an even numbered release
+(BLEAD-FINAL) of perl generally starts several weeks before the first
+release candidate.  Some of the following steps should be done regularly,
+but all I<must> be done in the run up to a release.
 
-=over 4
+=head3 dual-life CPAN module synchronisation
 
-=item *
+To see which core distro versions differ from the current CPAN versions:
 
-I<You MAY SKIP this step for SNAPSHOT>
+    $ ./perl -Ilib Porting/core-cpan-diff -x -a
 
-Ensure that dual-life CPAN modules are synchronised with CPAN.  Basically,
-run the following:
+Passing C<-u cpan> (and maybe C<-u undef>) will probably be helpful, since
+those are the only types of distributions that you can actually affect as a
+perl release manager (as opposed to a CPAN module maintainer).
 
+You can also run an actual diff of the contents of the modules, comparing core
+to CPAN, to ensure that there were no erroneous/extraneous changes that need to
+be dealt with. You do this by not passing the C<-x> option:
+
     $ ./perl -Ilib Porting/core-cpan-diff -a -o /tmp/corediffs
 
-to see any inconsistencies between the core and CPAN versions of distros,
-then fix the core, or cajole CPAN authors as appropriate. See also the
-C<-d> and C<-v> options for more detail.  You'll probably want to use the
-C<-c cachedir> option to avoid repeated CPAN downloads and may want to
-use C<-m file:///mirror/path> if you made a local CPAN mirror.
+then fix the core, or cajole CPAN authors as appropriate. See also the C<-d>
+and C<-v> options for more detail (and the C<-u> option as mentioned above).
+You'll probably want to use the C<-c cachedir> option to avoid repeated CPAN
+downloads and may want to use C<-m file:///mirror/path> if you made a local
+CPAN mirror. Note that a minicpan mirror won't actually work, but can provide a
+good first pass to quickly get a list of modules which definitely haven't
+changed, to avoid having to download absolutely everything.
 
-To see which core distro versions differ from the current CPAN versions:
-
-    $ ./perl -Ilib Porting/core-cpan-diff -x -a
-
-If you are making a maint release, run C<core-cpan-diff> on both blead and
+If you are making a MAINT release, run C<core-cpan-diff> on both blead and
 maint, then diff the two outputs. Compare this with what you expect, and if
 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. 
+have some extra changes.
 
+=head3 How to sync a CPAN module with a cpan/ distro
+
+=over 4
+
 =item *
 
-I<You MAY SKIP this step for SNAPSHOT>
+Fetch the most recent version from CPAN.
 
+=item *
+
+Unpack the retrieved tarball. Rename the old directory; rename the new
+directory to the original name.
+
+=item *
+
+Restore any F<.gitignore> file. This can be done by issuing
+C<git checkout .gitignore> in the F<cpan/Distro> directory.
+
+=item *
+
+Remove files we do not need. That is, remove any files that match the
+entries in C<@IGNORE> in F<Porting/Maintainer.pl>, and anything that
+matches the C<EXCLUDED> section of the distro's entry in the C<%Modules>
+hash.
+
+=item *
+
+Restore any files mentioned in the C<CUSTOMIZED> section, using
+C<git checkout>. Make any new customizations if necessary. Also,
+restore any files that are mentioned in C<@IGNORE>, but were checked
+in in 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<EXCLUDED> or C<@INGORE>.
+Otherwise, add them to C<MANIFEST>, and run C<git add> to add the files
+to the repository.
+
+=item *
+
+For any files that are gone, remove them from C<MANIFEST>, and use
+C<git rm> to tell git the files will be gone.
+
+=item *
+
+If the C<MANIFEST> file was changed in any of the previous steps, run
+C<perl Porting/manisort --output MANIFEST.sort; mv MANIFEST.sort MANIFEST>.
+
+=item *
+
+For any files that have an execute bit set, either remove the execute
+bit, or edit F<Porting/exec-bit.txt>
+
+=item *
+
+Run C<make> (or C<nmake> on Windows), see if C<perl> compiles.
+
+=item *
+
+Run the tests for the package.
+
+=item *
+
+Run the tests in F<t/porting>.
+
+=item *
+
+Update the C<DISTRIBUTION> entry in F<Porting/Maintainers.pl>.
+
+=item *
+
+Run a full configure/build/test cycle.
+
+=item *
+
+If everything is ok, commit the changes.
+
+=back
+
+For entries with a non-simple C<FILES> section, or with a C<MAP>, you
+may have to take more steps than listed above.
+
+F<Porting/sync-with-cpan> is a script that automates most of the steps
+above; but see the comments at the beginning of the file.  In particular,
+it has not yet been exercised on Windows, but will certainly require a set
+of Unix tools such as Cygwin, and steps that run C<make> will need to run
+C<nmake> instead.
+
+
+=head3 dual-life CPAN module stability
+
 Ensure dual-life CPAN modules are stable, which comes down to:
 
     for each module that fails its regression tests on $current
@@ -212,25 +331,20 @@
                 no - note it in perldelta as a significant bugfix
                 (also, try to inform the module's author)
 
-=item *
 
-I<You MAY SKIP this step for SNAPSHOT>
+=head3 monitor smoke tests for failures
 
 Similarly, monitor the smoking of core tests, and try to fix.  See
-L<http://doc.procura.nl/smoke/index.html> for a summary. See also
+L<http://doc.procura.nl/smoke/index.html> and L<http://perl5.test-smoke.org/>
+for a summary. See also
 L<http://www.nntp.perl.org/group/perl.daily-build.reports/> which has
 the raw reports.
 
-=item *
-
-I<You MAY SKIP this step for SNAPSHOT>
-
 Similarly, monitor the smoking of perl for compiler warnings, and try to
 fix.
 
-=item *
 
-I<You MAY SKIP this step for SNAPSHOT>
+=head3 update perldelta
 
 Get perldelta in a mostly finished state.
 
@@ -238,45 +352,30 @@
 every section it lists is, if necessary, populated and complete. Copy
 edit the whole document.
 
-=item *
 
-I<You MUST SKIP this step for SNAPSHOT>
+=head3 Bump the version number
 
-Bump the version number (e.g. from 5.12.0 to 5.12.1).
+Do not do this yet for a BLEAD-POINT release! You will do this at the end of
+the release process.
 
-For a blead release, this can happen on the day of the release.  For a
-release candidate for a stable perl, this should happen a week or two
+Increase the version number (e.g. from 5.12.0 to 5.12.1).
+
+For a release candidate for a stable perl, this should happen a week or two
 before the first release candidate to allow sufficient time for testing and
 smoking with the target version built into the perl executable. For
 subsequent release candidates and the final release, it it not necessary to
 bump the version further.
 
-There is a tool to semi-automate this process. It works in two stages.
-First, it generates a list of suggested changes, which you review and
-edit; then you feed this list back and it applies the edits. So, first
-scan the source directory looking for likely candidates. The command line
-arguments are the old and new version numbers, and -s means scan:
+There is a tool to semi-automate this process:
 
-    $ ./perl -Ilib Porting/bump-perl-version -s 5.10.0 5.10.1 > /tmp/scan
+     $ ./perl -Ilib Porting/bump-perl-version -i 5.10.0 5.10.1
 
-This produces a file containing a list of suggested edits, e.g.:
+Remember that this tool is largely just grepping for '5.10.0' or whatever,
+so it will generate false positives. Be careful not change text like
+"this was fixed in 5.10.0"!
 
-    NetWare/Makefile
+Use git status and git diff to select changes you want to keep.
 
-       89: -MODULE_DESC     = "Perl 5.10.0 for NetWare"
-	   +MODULE_DESC     = "Perl 5.10.1 for NetWare"
-
-i.e. in the file F<NetWare/Makefile>, line 89 would be changed as shown.
-Review the file carefully, and delete any -/+ line pairs that you don't
-want changing. You can also edit just the C<+> line to change the
-suggested replacement text. Remember that this tool is largely just
-grepping for '5.10.0' or whatever, so it will generate false positives. Be
-careful not change text like "this was fixed in 5.10.0"! Then run:
-
-    $ ./perl -Ilib Porting/bump-perl-version -u < /tmp/scan
-
-which will update all the files shown.
-
 Be particularly careful with F<INSTALL>, which contains a mixture of
 C<5.10.0>-type strings, some of which need bumping on every release, and
 some of which need to be left unchanged.
@@ -283,23 +382,24 @@
 The line in F<INSTALL> about "is binary incompatible with" requires a
 correct choice of earlier version to declare incompatibility with.
 
-Also note that this tool
-currently only detects a single substitution per line: so in particular,
-this line in README.vms needs special handling:
-
-    rename perl-5^.10^.1.dir perl-5_10_1.dir
-
-When doing a blead release, also make sure the C<PERL_API_*> constants in
-F<patchlevel.h> are in sync with the version you're releasing, unless you're
+When doing a BLEAD-POINT or BLEAD-FINAL release, also make sure the
+C<PERL_API_*> constants in F<patchlevel.h> are in sync with the version
+you're releasing, unless you're
 absolutely sure the release you're about to make is 100% binary compatible
-to an earlier release. When releasing a stable perl version, the C<PERL_API_*>
+to an earlier release. When releasing a MAINT perl version, the C<PERL_API_*>
 constants C<MUST NOT> be changed as we aim 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
 
+This might not cause any new changes.
+
 Test your changes:
 
+    $ git clean -xdf   # careful if you don't have local files to keep!
     $ ./Configure -des -Dusedevel
     $ make
     $ make test
@@ -306,111 +406,99 @@
 
 Commit your changes:
 
-    $ git st
+    $ git status
     $ git diff
     B<review the delta carefully>
 
     $ git commit -a -m 'Bump the perl version in various places for 5.x.y'
 
-When the version number is bumped, you should also update Module::CoreList (as
-described below in L<"Building a release - on the day">) to reflect the new
+At this point you may want to compare the commit with a previous bump to
+see if they look similar.  See commit 0e79a3d1bc for an example of a
+previous version bump.
+
+When the version number is bumped, you should also update Module::CoreList
+(as described below in L<"update Module::CoreList">) to reflect the new
 version number.
 
-=item *
 
-I<You MUST SKIP this step for SNAPSHOT>
+=head3 update INSTALL
 
 Review and update INSTALL to account for the change in version number;
 in particular, the "Coexistence with earlier versions of perl 5" section.
 
-Be particularly careful with the section "Upgrading from 5.X.Y or earlier". For
-stable releases, this needs to refer to the last release in the previous
-development cycle. For blead releases, it needs to refer to the previous blead
-release.
+Be particularly careful with the section "Upgrading from 5.X.Y or earlier".
+The "X.Y" needs to be changed to the most recent version that we are
+I<not> binary compatible with.
 
-=item *
+For MAINT and BLEAD-FINAL releases, this needs to refer to the last
+release in the previous development cycle (so for example, for a 5.14.x
+release, this would be 5.13.11).
 
-I<You MUST SKIP this step for SNAPSHOT>
+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).
 
-Update the F<Changes> file to contain the git log command which would show
-all the changes in this release. You will need assume the existence of a
-not-yet created tag for the forthcoming release; e.g.
+=head3 Check more build configurations
 
-    git log ... perl-5.10.0..perl-5.12.0
+Try running the full test suite against multiple Perl configurations. Here are
+some sets of Configure flags you can try:
 
-Due to warts in the perforce-to-git migration, some branches require extra
-exclusions to avoid other branches being pulled in. Make sure you have the
-correct incantation: replace the not-yet-created tag with C<HEAD> and see
-if C<git log> produces roughly the right number of commits across roughly the
-right time period (you may find C<git log --pretty=oneline | wc> useful).
+=over 4
 
 =item *
 
-Check some more build configurations. The check that setuid builds and
-installs is for < 5.11.0 only.
+C<-Duseshrplib -Dusesitecustomize>
 
-    $ sh Configure -Dprefix=/tmp/perl-5.x.y  -Uinstallusrbinperl \
-        -Duseshrplib -Dd_dosuid
-    $ make
-    $ LD_LIBRARY_PATH=`pwd` make test     # or similar for useshrplib
+=item *
 
-    $ make suidperl
-    $ su -c 'make install'
-    $ ls -l .../bin/sperl
-    -rws--x--x 1 root root 69974 2009-08-22 21:55 .../bin/sperl
+C<-Duserelocatableinc>
 
-(Then delete the installation directory.)
+=item *
 
-XXX think of other configurations that need testing.
+C<-Dusethreads>
 
-=item *
+=back
 
-I<You MAY SKIP this step for SNAPSHOT>
+If you have multiple compilers on your machine, you might also consider
+compiling with C<-Dcc=$other_compiler>.
 
+=head3 update perlport
+
 L<perlport> has a section currently named I<Supported Platforms> that
 indicates which platforms are known to build in the current release.
 If necessary update the list and the indicated version number.
 
-=back
 
+
 =head2 Building a release - on the day
 
-This section describes the actions required to make a release (or snapshot
-etc) that are performed on the actual day.
+This section describes the actions required to make a release
+that are performed near to, or on the actual release day.
 
-=over 4
 
-=item *
+=head3 re-check earlier actions
 
-Review all the items in the previous section,
+Review all the actions in the previous section,
 L<"Building a release - advance actions"> to ensure they are all done and
 up-to-date.
 
-=item *
 
-For a blead release, if you did not bump the perl version number as part
-of I<advance actions>, do that now.
+=head3 create a release branch
 
-=item *
+For BLEAD-POINT releases, making a release from a release branch avoids the
+need to freeze blead during the release. This is less important for
+BLEAD-FINAL, MAINT, and RC releases, since blead will already be frozen in
+those cases. Create the branch by running
 
-I<You MAY SKIP this step for SNAPSHOT>
+  git checkout -b release-5.xx.yy
 
-Finalize the perldelta.  In particular, fill in the Acknowledgements
-section.  You can generate a list of contributors with checkAUTHORS.pl.
-For example:
 
-  $ git log --pretty=fuller v5.13.${last}..HEAD | \
-    perl Porting/checkAUTHORS.pl --who -
+=head3 finalize perldelta
 
-Look at the previous L<perldelta> for how to write the opening
-paragraph of the Acknowledgements section. To get the amount of
-changed files and number of lines use this command:
+Finalize the perldelta.  In particular, fill in the Acknowledgements
+section, which can be generated with something like:
 
-  $ git diff --shortstat v5.13.${last}..HEAD | \
-    ./perl -Ilib -nE 'my ($files, $insert, $delete) = /(\d+)/ga; say "$files files and ", $insert + $delete, " lines changed"'
+  $ perl Porting/acknowledgements.pl v5.15.0..HEAD
 
-Making sure to round off the number of lines changed.
-
 Re-read the perldelta to try to find any embarrassing typos and thinkos;
 remove any C<TODO> or C<XXX> flags; update the "Known Problems" section
 with any serious issues for which fixes are not going to happen now; and
@@ -422,44 +510,101 @@
 Also, you may want to generate and view an HTML version of it to check
 formatting, e.g.
 
-    $ ./perl -Ilib ext/Pod-Html/pod2html pod/perldelta.pod > /tmp/perldelta.html
+    $ ./perl -Ilib ext/Pod-Html/bin/pod2html pod/perldelta.pod > /tmp/perldelta.html
 
 Another good HTML preview option is http://search.cpan.org/pod2html
 
 If you make changes, be sure to commit them.
 
-=item *
+=for checklist skip BLEAD-POINT MAINT RC
 
-Make sure you have a gitwise-clean perl directory (no modified files,
+=head3 remove stale perldeltas
+
+For the first RC release that is ONLY for a BLEAD-FINAL, the perldeltas
+from the BLEAD-POINT releases since the previous BLEAD_FINAL should have
+now been consolidated into the current perldelta, and hence are now just
+useless clutter.  They can be removed using:
+
+    $ git rm <file1> <file2> ...
+
+For example, for RC0 of 5.16.0:
+
+    $ cd pod
+    $ git rm perldelta515*.pod
+
+=for checklist skip BLEAD BLEAD-POINT
+
+=head3 add recent perldeltas
+
+For the first RC for a MAINT release, copy in any recent perldeltas from
+blead that have been added since the last release on this branch. This
+should include any recent maint releases on branches older than your one,
+but not newer. For example if you're producing a 5.14.x release, copy any
+perldeltas from recent 5.10.x, 5.12.x etc maint releases, but not from
+5.16.x or higher. Remember to
+
+    $ git add <file1> <file2> ...
+
+=head3 update and commit perldelta files
+
+If you have added or removed any perldelta files via the previous two
+steps, then edit F<pod/perl.pod> to add/remove them from its table of
+contents, then run F<Porting/pod_rules.pl> to propagate your changes there
+into all the other files that mention them (including F<MANIFEST>). You'll
+need to C<git add> the files that it changes.
+
+Then build a clean perl and do a full test
+
+    $ git status
+    $ git clean -dxf
+    $ ./Configure -Dusedevel -des
+    $ make
+    $ make test
+
+Once all tests pass, commit your changes.
+
+=head3 build a clean perl
+
+If you skipped the previous step (adding/removing perldeltas)
+make sure you have a gitwise-clean perl directory (no modified files,
 unpushed commits etc):
 
     $ git status
     $ git clean -dxf
 
-=item *
+then configure and build perl so that you have a Makefile and porting tools:
 
-If not already built, Configure and build perl so that you have a Makefile
-and porting tools:
-
     $ ./Configure -Dusedevel -des && make
 
-=item *
+=head3 update Module::CoreList
 
-I<You MUST SKIP this step for SNAPSHOT>
-
 Update C<Module::CoreList> with module version data for the new release.
 
-Note that if this is a maint release, you should run the following actions
+Note that if this is a MAINT release, you should run the following actions
 from the maint branch, but commit the C<CoreList.pm> changes in
-I<blead> and subsequently cherry-pick it.  XXX need a better example
+I<blead> and subsequently cherry-pick any releases since the last
+maint release and then your recent commit.  XXX need a better example
 
+[ Note that the procedure for handling Module::CoreList in maint branches
+is a bit complex, and the RMG currently don't describe a full and
+workable approach. The main issue is keeping Module::CoreList
+and its version number synchronised across all maint branches, blead and
+CPAN, while having to bump its version number for every RC release.
+See this brief p5p thread:
+
+    Message-ID: <20130311174402.GZ2294 at iabyn.com>
+
+If you can devise a workable system, feel free to try it out, and to
+update the RMG accordingly!
+
+DAPM May 2013 ]
+
+
 F<corelist.pl> uses ftp.funet.fi to verify information about dual-lived
-modules on CPAN. It can use a full, local CPAN mirror or fall back
-to C<wget> or C<curl> to fetch only package metadata remotely. (If you're
-on Win32, then installing Cygwin is one way to have commands like C<wget>
-and C<curl> available.)
+modules on CPAN. It can use a full, local CPAN mirror and/or fall back
+on HTTP::Tiny to fetch package metadata remotely.
 
-(If you'd prefer to have a full CPAN mirror, see 
+(If you'd prefer to have a full CPAN mirror, see
 http://www.cpan.org/misc/cpan-faq.html#How_mirror_CPAN)
 
 Then change to your perl checkout, and if necessary,
@@ -466,7 +611,7 @@
 
     $ make
 
-If this not the first update for this version (e.g. if it was updated
+If this is not the first update for this version (e.g. if it was updated
 when the version number was originally bumped), first edit
 F<dist/Module-CoreList/lib/Module/CoreList.pm> to delete the existing
 entries for this version from the C<%released> and C<%version> hashes:
@@ -492,25 +637,44 @@
 
     $ git diff dist/Module-CoreList/lib/Module/CoreList.pm
 
-If necessary, bump C<$VERSION> (there's no need to do this for
+=head4 Bump C<$Module::CoreList::VERSION>
+
+If necessary, bump C<$Module::CoreList::VERSION> (there's no need to do this for
 every RC; in RC1, bump the version to a new clean number that will
 appear in the final release, and leave as-is for the later RCs and final).
+It may also happen that C<Module::CoreList> has been modified in blead, and
+hence has a new version number already.  (But make sure it is not the same
+number as a CPAN release.)
 
 Edit the version number in the new C<< 'Module::CoreList' => 'X.YZ' >>
 entry, as that is likely to reflect the previous version number.
 
+=head4 Bump C<$Module::CoreList::TieHashDelta::VERSION>
+
+C<$Module::CoreList::TieHashDelta::VERSION> should always be equal to
+C<$Module::CoreList::VERSION>. Make sure the two versions match before
+proceeding.
+
+Edit the version number in the new
+C<< 'Module::CoreList::TieHashDelta' => 'X.YZ' >> entry, as that is likely to
+reflect the previous version number.
+
+=head4 Bump version in Module::CoreList F<Changes>
+
 Also edit Module::CoreList's new version number in its F<Changes>
 file.
 
+=head4 Add Module::CoreList version bump to perldelta
+
 Add a perldelta entry for the new Module::CoreList version.
 
-You should also add the version you're about to release to the
-L<Module::CoreList/CAVEATS> section which enumerates the perl releases
-that Module::CoreList covers.
+=for checklist skip RC
 
+=head4 Update C<%Module::CoreList::released> and C<CAVEATS>
+
 In addition, if this is a final release (rather than a release candidate):
 
-=over 4 
+=over 4
 
 =item *
 
@@ -519,36 +683,43 @@
 =item *
 
 Make sure that the script has correctly updated the C<CAVEATS> section
+(Note, the C<CAVEATS> section is in
+F<dist/Module-CoreList/lib/Module/CoreList.pod>)
 
 =back
 
+=head4 Commit Module::CoreList changes
+
 Finally, commit the new version of Module::CoreList:
-(unless this is for maint; in which case commit it blead first, then
+(unless this is for MAINT; in which case commit it to blead first, then
 cherry-pick it back).
 
-    $ git commit -m 'Update Module::CoreList for 5.x.y' dist/Module-CoreList/lib/Module/CoreList.pm
+    $ git commit -m 'Update Module::CoreList for 5.x.y' dist/Module-CoreList/lib/Module/CoreList.pm dist/Module-CoreList/lib/Module/CoreList.pod
 
-=item *
+=for checklist skip BLEAD BLEAD-POINT
 
-Check that the manifest is sorted and correct:
+=head3 synchronise from blead's perlhist.pod
 
-    $ make distclean
-    $ git clean -xdf # This shouldn't be necessary if distclean is correct
-    $ perl Porting/manicheck
+For the first RC for a MAINT release, copy in the latest
+F<pod/perlhist.pod> from blead; this will include details of newer
+releases in all branches. In theory, blead's version should be a strict
+superset of the one in this branch, but it's probably safest to diff them
+first to ensure that there's nothing in this branch that was forgotten
+from blead:
 
-If manicheck turns up anything wrong, update MANIFEST and begin this step again.
+    $ diff pod/perlhist.pod ..../blead/pod/perlhist.pod
+    $ cp  ..../blead/pod/perlhist.pod pod/
+    $ git commit -m 'sync perlhist from blead' pod/perlhist.pod
 
-    $ ./configure -des -Dusedevel
-    $ make test_porting
-    $ git commit -m 'Update MANIFEST' MANIFEST
+=for checklist skip RC
 
-=item *
+=head3 update perlhist.pod
 
-I<You MUST SKIP this step for SNAPSHOT>
+I<You MUST SKIP this step for a RC release>
 
-Add an entry to F<pod/perlhist.pod> with the current date, e.g.:
+Add an entry to F<pod/perlhist.pod> with the release date, e.g.:
 
-    David    5.10.1-RC1    2009-Aug-06
+    David    5.10.1       2009-Aug-06
 
 Make sure that the correct pumpking is listed in the left-hand column, and
 if this is the first release under the stewardship of a new pumpking, make
@@ -555,14 +726,20 @@
 sure that his or her name is listed in the section entitled
 C<THE KEEPERS OF THE PUMPKIN>.
 
+I<If you're making a BLEAD-FINAL release>, also update the "SELECTED
+RELEASE SIZES" section with the output of
+F<Porting/perlhist_calculate.pl>.
+
 Be sure to commit your changes:
 
     $ git commit -m 'add new release to perlhist' pod/perlhist.pod
 
-=item *
+=for checklist skip BLEAD-POINT
 
-I<You MUST SKIP this step for SNAPSHOT or BLEAD release>
+=head3 update patchlevel.h
 
+I<You MUST SKIP this step for a BLEAD-POINT release>
+
 Update F<patchlevel.h> to add a C<-RC1>-or-whatever string; or, if this is
 a final release, remove it. For example:
 
@@ -575,8 +752,17 @@
 
     $ git commit -m 'bump version to RCnnn' patchlevel.h
 
-=item *
+=head3 run makemeta to update META files
 
+    $ ./perl -Ilib Porting/makemeta
+
+Be sure to commit any changes (if applicable):
+
+    $ git status   # any changes?
+    $ git commit -m 'Update META files' META.*
+
+=head3 build, test and check a fresh perl
+
 Build perl, then make sure it passes its own test suite, and installs:
 
     $ git clean -xdf
@@ -587,40 +773,53 @@
 
     $ make test install
 
-=item *
-
 Check that the output of C</tmp/perl-5.x.y-pretest/bin/perl -v> and
 C</tmp/perl-5.x.y-pretest/bin/perl -V> are as expected,
 especially as regards version numbers, patch and/or RC levels, and @INC
 paths. Note that as they have been been built from a git working
 directory, they will still identify themselves using git tags and
-commits.
+commits. (Note that for an odd-numbered version, perl will install
+itself as C<perl5.x.y>). C<perl -v> will identify itself as:
 
+ 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.
+
 Then delete the temporary installation.
 
-=item *
 
+=head3 push the work so far
+
 Push all your recent commits:
 
-    $ git push origin ....
+    $ git push origin release-5.xx.yy
 
+=head3 tag the release
 
-=item *
-
-I<You MUST SKIP this step for SNAPSHOT>
-
 Tag the release (e.g.):
 
     $ git tag v5.11.0 -m "First release of the v5.11 series!"
 
-It is VERY important that from this point forward, you not push
+It is B<VERY> important that from this point forward, you not push
 your git changes to the Perl master repository.  If anything goes
 wrong before you publish your newly-created tag, you can delete
 and recreate it.  Once you push your tag, we're stuck with it
 and you'll need to use a new version number for your release.
 
-=item *
 
+=head3 build the tarball
+
+Before you run the following, you might want to install 7-Zip (the
+C<p7zip-full> package under Debian or the C<p7zip> port on MacPorts) or
+the AdvanceCOMP suite (e.g. the C<advancecomp> package under Debian,
+or the C<advancecomp> port on macports - 7-Zip on Windows is the
+same code as AdvanceCOMP, so Windows users get the smallest files
+first time). These compress about 5% smaller than gzip and bzip2.
+Over the lifetime of your distribution this will save a lot of
+people a small amount of download time and disk space, which adds
+up.
+
 Create a tarball. Use the C<-s> option to specify a suitable suffix for
 the tarball and directory name:
 
@@ -629,7 +828,6 @@
     $ git clean -xdf		# make sure perl and git agree on files
     $ git status		# and there's nothing lying around
 
-    $ perl Porting/makerel -b -s `git describe` # for a snapshot
     $ perl Porting/makerel -b -s RC1            # for a release candidate
     $ perl Porting/makerel -b                   # for a final release
 
@@ -646,44 +844,34 @@
 XXX if we go for extra tags and branches stuff, then add the extra details
 here
 
-Optionally, you might want to compress your tarball more. Unix F<gzip>
-doesn't actually produce the smallest possible DEFLATE output. If you have the
-AdvanceCOMP suite (e.g. the C<advancecomp> port on macports), you can run
+Finally, clean up the temporary directory, e.g.
 
-    $ advdef -z -4 ../perl-x.y.z-RC1.tar.gz
+    $ rm -rf ../perl-x.y.z-RC1
 
-which will probably shrink your tarball by about 5%. Over the lifetime of
-your distribution this will save a lot of people a small amount of download
-time and disk space, which adds up.
 
-(7-Zip on Windows is the same code as AdvanceCOMP, so Windows users get the
-smallest files first time)
+=head3 test the tarball
 
-=item *
+Once you have a tarball it's time to test the tarball (not the repository).
 
-Clean up the temporary directory, e.g.
+=head4 Copy the tarball to a web server
 
-    $ rm -rf ../perl-x.y.z-RC1
-
-=item *
-
 Copy the tarballs (.gz and possibly .bz2) to a web server somewhere you
 have access to.
 
-=item *
+=head4 Download the tarball to another machine
 
-Download the tarball to some other machine. For a release candidate, 
+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. The #p5p IRC channel on irc.perl.org is a good place
 to find willing victims.
 
-=item *
+=head4 Check that F<Configure> works
 
 Check that basic configuration and tests work on each test machine:
 
     $ ./Configure -des && make all test
 
-=item *
+=head4 Run the test harness and install
 
 Check that the test harness and install work on each test machine:
 
@@ -691,25 +879,23 @@
     $ ./Configure -des -Dprefix=/install/path && make all test_harness install
     $ cd /install/path
 
-=item *
+=head4 Check C<perl -v> and C<perl -V>
 
 Check that the output of C<perl -v> and C<perl -V> are as expected,
 especially as regards version numbers, patch and/or RC levels, and @INC
-paths. 
+paths.
 
 Note that the results may be different without a F<.git/> directory,
 which is why you should test from the tarball.
 
-=item *
+=head4 Run the Installation Verification Procedure utility
 
-Run the Installation Verification Procedure utility:
-
     $ ./perl utils/perlivp
     ...
     All tests successful.
     $
 
-=item *
+=head4 Compare the installed paths to the last release
 
 Compare the pathnames of all installed files with those of the previous
 release (i.e. against the last installed tarball on this branch which you
@@ -724,18 +910,14 @@
     find . -type f | sort > /tmp/f2
     diff -u /tmp/f[12]
 
-=item *
+=head4 Bootstrap the CPAN client
 
 Bootstrap the CPAN client on the clean install:
 
-    $ bin/perl -MCPAN -e "shell"
+    $ bin/cpan
 
-If you're running this on Win32 you probably also need a set of Unix
-command-line tools available for CPAN to function correctly without
-Perl alternatives like LWP installed. Cygwin is an obvious choice.)
+=head4 Install the Inline module with CPAN and test it
 
-=item *
-
 Try installing a popular CPAN module that's reasonably complex and that
 has dependencies; for example:
 
@@ -748,44 +930,34 @@
     42
     $
 
-=item *
+=head4 Bootstrap the CPANPLUS client
 
 Bootstrap the CPANPLUS client on the clean install:
 
     $ bin/cpanp
 
-(Again, on Win32 you'll need something like Cygwin installed, but make sure
-that you don't end up with its various F<bin/cpan*> programs being found on
-the PATH before those of the Perl that you're trying to test.)
+=head4 Install the DBI module with CPANPLUS
 
-=item *
-
-Install an XS module, for example:
-
     CPAN Terminal> i DBI
     CPAN Terminal> quit
     $ bin/perl -MDBI -e 1
     $
 
-=item *
+=head4 Make sure that perlbug works
 
-I<If you're building a SNAPSHOT, you should STOP HERE>
+Test L<perlbug> with the following:
 
-=item *
-
-Check that the L<perlbug> utility works. Try the following:
-
     $ bin/perlbug
     ...
     Subject: test bug report
-    Local perl administrator [yourself]: 
-    Editor [vi]: 
-    Module: 
-    Category [core]: 
-    Severity [low]: 
+    Local perl administrator [yourself]:
+    Editor [vi]:
+    Module:
+    Category [core]:
+    Severity [low]:
     (edit report)
     Action (Send/Display/Edit/Subject/Save to File): f
-    Name of file to save message in [perlbug.rep]: 
+    Name of file to save message in [perlbug.rep]:
     Action (Send/Display/Edit/Subject/Save to File): q
 
 and carefully examine the output (in F<perlbug.rep]>), especially
@@ -793,8 +965,10 @@
 delete the file, and try it again, this time actually submitting the bug
 report. Check that it shows up, then remember to close it!
 
-=item *
+=for checklist skip BLEAD-POINT
 
+=head3 monitor smokes
+
 Wait for the smoke tests to catch up with the commit which this release is
 based on (or at least the last commit of any consequence).
 
@@ -801,15 +975,16 @@
 Then check that the smoke tests pass (particularly on Win32). If not, go
 back and fix things.
 
-Note that for I<BLEAD> releases this may not be practical. It takes a
+Note that for I<BLEAD-POINT> releases this may not be practical. It takes a
 long time for the smokers to catch up, especially the Win32
-smokers. This is why we have a RC cycle for I<MAINT> releases, but for
-I<BLEAD> releases sometimes the best you can do is to plead with
-people on IRC to test stuff on their platforms, fire away, and then
-hope for the best.
+smokers. This is why we have a RC cycle for I<MAINT> and I<BLEAD-FINAL>
+releases, but for I<BLEAD-POINT> releases sometimes the best you can do is
+to plead with people on IRC to test stuff on their platforms, fire away,
+and then hope for the best.
 
-=item *
 
+=head3 upload to PAUSE
+
 Once smoking is okay, upload it to PAUSE. This is the point of no return.
 If anything goes wrong after this point, you will need to re-prepare
 a new release with a new minor version or RC number.
@@ -832,17 +1007,24 @@
 
 Upload both the .gz and .bz2 versions of the tarball.
 
+Do not proceed any further until you are sure that your tarballs are on
+CPAN.  Check your authors directory on one of the "fast" CPAN mirrors
+(e.g., cpan.hexten.net
+or cpan.cpantesters.org) to confirm that your uploads have been successful.
+
+=for checklist skip RC
+
+=head3 wait for indexing
+
+I<You MUST SKIP this step for RC>
+
 Wait until you receive notification emails from the PAUSE indexer
 confirming that your uploads have been received.  IMPORTANT -- you will
 probably get an email that indexing has failed, due to module permissions.
 This is considered normal.
 
-Do not proceed any further until you are sure that your tarballs are on
-CPAN.  Check your authors directory on one of the "fast" CPAN mirrors
-(e.g., cpan.hexten.net
-or cpan.cpantesters.org) to confirm that your uploads have been successful.
 
-=item *
+=head3 publish tag
 
 Now that you've shipped the new perl release to PAUSE, it's
 time to publish the tag you created earlier to the public git repo (e.g.):
@@ -849,10 +1031,12 @@
 
     $ git push origin tag v5.11.0
 
-=item *
+=for checklist skip BLEAD-POINT
 
-I<You MUST SKIP this step for SNAPSHOT or BLEAD release>
+=head3 disarm patchlevel.h
 
+I<You MUST SKIP this step for BLEAD-POINT release>
+
 Disarm the F<patchlevel.h> change; for example,
 
      static const char * const local_patches[] = {
@@ -866,151 +1050,245 @@
     $ git push origin ....
 
 
-=item *
 
+=head3 announce to p5p
+
 Mail p5p to announce your new release, with a quote you prepared earlier.
 
-=item *
+Use the template at Porting/release_announcement_template.txt
 
+Send a carbon copy to C<noc at metacpan.org>
+
+=head3 merge release branch back to blead
+
+If you made a release branch for this release, merge it back into master now,
+and delete it.
+
+  git checkout blead
+  git pull
+  git merge release-5.xx.yy
+  git push
+  git push origin :release-5.xx.yy
+  git branch -d release-5.xx.yy
+
+=head3 update epigraphs.pod
+
 Add your quote to F<Porting/epigraphs.pod> and commit it.
+Your release announcement will probably not have reached the web-visible
+archives yet, so you won't be able to include the customary link to the
+release announcement yet.
 
-=item *
+=head3 blog about your epigraph
 
+If you have a blog, please consider writing an entry in your blog explaining
+why you chose that particular quote for your epigraph.
+
+=for checklist skip RC
+
+=head3 Module::CoreList nagging
+
 I<You MUST SKIP this step for RC>
 
 Remind the current maintainer of C<Module::CoreList> to push a new release
 to CPAN.
 
-=item *
+=for checklist skip RC
 
+=head3 new perldelta
+
 I<You MUST SKIP this step for RC>
 
 Create a new perldelta.
 
-First, update the F<.gitignore> file in the F<pod/> folder to ignore the next
-release's generated F<pod/perlNNNdelta.pod> file rather than this releases's
-one which we are about to set in stone (where NNN is the perl version number
-without the dots. i.e. 5135 for 5.13.5).
+=over 4
 
-Then, move the existing F<pod/perldelta.pod> to F<pod/perlNNNdelta.pod>.
+=item *
 
-Now edit the moved delta file to change the C<NAME> from C<perldelta> to
-C<perlNNNdelta>.
+Confirm that you have a clean checkout with no local changes.
 
-Then create a new empty perldelta.pod file for the new release; see
-F<Porting/how_to_write_a_perldelta.pod>.
+=item *
 
-You should be able to do this by just copying in a skeleton template and
-then doing a quick fix up of the version numbers.
+Run F<Porting/new-perldelta.pl>
 
-Then commit the move and the new file.
+=item *
 
-For example, assuming you just released 5.10.1:
+Run the C<git add> commands it outputs to add new and modified files.
 
-    $ git mv pod/perldelta.pod pod/perl5101delta.pod
-    $ (edit pod/perl5101delta.pod to retitle)
-    $ git add pod/perl5101delta.pod
+=item *
 
-    $ cp -i Porting/perldelta_template.pod pod/perldelta.pod
-    $ (edit pod/perldelta.pod)
-    $ git add pod/perldelta.pod
-    $ git commit -m 'create perldelta for 5.10.2'
+Verify that the build still works, by running C<./Configure> and
+C<make test_porting>. (On Win32 use the appropriate make utility).
 
-Now you need to update various tables of contents, most of which can be
-generated automatically.
+=item *
 
-Edit F<pod.lst>: add the new entry, flagged as 'd', and unflag the previous
-entry from being 'd'; for example:
+If F<t/porting/podcheck.t> spots errors in the new F<pod/perldelta.pod>,
+run C<./perl -MTestInit t/porting/podcheck.t | less> for more detail.
+Skip to the end of its test output to see the options it offers you.
 
-    -d perl5101delta                Perl changes in version 5.10.1
-    +d perl5102delta                Perl changes in version 5.10.2
-    +  perl5101delta                Perl changes in version 5.10.1
+=item *
 
-Run C<perl pod/buildtoc --build-all> to update the F<perldelta> version in
-the following files:
+When C<make test_porting> passes, commit the new perldelta.
 
-    MANIFEST
-    Makefile.SH
-    pod/perl.pod
-    vms/descrip_mms.template
-    win32/Makefile
-    win32/makefile.mk
-    win32/pod.mak
+=back
 
-Finally, commit:
+At this point you may want to compare the commit with a previous bump to
+see if they look similar.  See commit 4eabcf701b for an example of a
+previous version bump.
 
-    $ git commit -a -m 'update TOC for perlNNNdelta'
+=for checklist skip MAINT RC
 
-At this point you may want  to compare the commit with a previous bump to
-see if they look similar. See commit 2b6e134265 for an example of a
-previous version bump.
+=head3 bump version
 
-=item *
+I<You MUST SKIP this step for RC and MAINT>
 
-I<You MUST SKIP this step for RC, BLEAD>
+If this was a BLEAD-FINAL release (i.e. the first release of a new maint
+series, 5.x.0 where x is even), then bump the version in the blead branch
+in git, e.g. 5.12.0 to 5.13.0.
 
-If this was the first release of a new maint series, (5.x.0 where x is
-even), then create a new maint branch based on the commit tagged as
-the current release and bump the version in the blead branch in git,
-e.g. 5.12.0 to 5.13.0.
+First, add a new feature bundle to F<regen/feature.pl>, initially by just
+copying the exiting entry, and bump the file's $VERSION (after the __END__
+marker); e.g.
 
-[ XXX probably lots more stuff to do, including perldelta,
-C<lib/feature.pm> ]
+	 "5.14" => [qw(switch say state unicode_strings)],
+    +    "5.15" => [qw(switch say state unicode_strings)],
 
+Run F<regen/feature.pl> to propagate the changes to F<lib/feature.pm>.
+
+Then follow the section L<"Bump the version number"> to bump the version
+in the remaining files and test and commit.
+
+If this was a BLEAD-POINT release, then just follow the section
+L<"Bump the version number">.
+
+
+=head3 clean build and test
+
+Run a clean build and test to make sure nothing obvious is broken.
+
+In particular, F<Porting/perldelta_template.pod> is intentionally exempted
+from podchecker tests, to avoid false positives about placeholder text.
+However, once it's copied to F<pod/perldelta.pod> the contents can now
+cause test failures. Problems should resolved by doing one of the
+following:
+
+=over
+
+=item 1
+
+Replace placeholder text with correct text.
+
+=item 2
+
+If the problem is from a broken placeholder link, you can add it to the
+array C<@perldelta_ignore_links> in F<t/porting/podcheck.t>.  Lines
+containing such links should be marked with C<XXX> so that they get
+cleaned up before the next release.
+
+=item 3
+
+Following the instructions output by F<t/porting/podcheck.t> on how to
+update its exceptions database.
+
+=back
+
+=head3 push commits
+
+Finally, push any commits done above.
+
+    $ git push origin ....
+
+=for checklist skip BLEAD-POINT MAINT RC
+
+=head3 create maint branch
+
+I<You MUST SKIP this step for RC, BLEAD-POINT, MAINT>
+
+If this was a BLEAD-FINAL release (i.e. the first release of a new maint
+series, 5.x.0 where x is even), then create a new maint branch based on
+the commit tagged as the current release.
+
 Assuming you're using git 1.7.x or newer:
 
-    $ git checkout -b maint-5.12
+    $ git checkout -b maint-5.12 v5.12.0
     $ git push origin -u maint-5.12
 
-=item *
 
-I<You MUST SKIP this step for RC, BLEAD>
+=for checklist skip BLEAD-POINT MAINT RC
 
-Copy the perldelta.pod for this release into the other branches; for
-example:
+=head3 make the maint branch available in the APC
 
+Clone the new branch into /srv/gitcommon/branches on camel so the APC will
+receive its changes.
+
+    $ git clone --branch maint-5.14 /gitroot/perl.git \
+    ?  /srv/gitcommon/branches/perl-5.14.x
+    $ chmod -R g=u /srv/gitcommon/branches/perl-5.14.x
+
+And nag the sysadmins to make this directory available via rsync.
+
+=for checklist skip BLEAD-POINT RC
+
+=head3 copy perldelta.pod to blead
+
+I<You MUST SKIP this step for RC, BLEAD-POINT>
+
+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
 
-Edit F<pod.lst> to add an entry for the file, e.g.:
+Edit F<pod/perl.pod> to add an entry for the file, e.g.:
 
     perl5101delta		Perl changes in version 5.10.1
 
 Then rebuild various files:
 
-    $ perl pod/buildtoc --build-all
+    $ perl Porting/pod_rules.pl
 
 Finally, commit:
 
     $ git commit -a -m 'add perlXXXdelta'
 
-=item *
 
+=head3 copy perlhist.pod entries to blead
+
 Make sure any recent F<pod/perlhist.pod> entries are copied to
-F<perlhist.pod> on other branches; typically the RC* and final entries,
-e.g.
+F<perlhist.pod> on blead.  e.g.
 
-          5.8.9-RC1     2008-Nov-10
-          5.8.9-RC2     2008-Dec-06
           5.8.9         2008-Dec-14
 
-=item *
 
-If necessary, send an email to C<perlbug-admin at perl.org> requesting
-that new version numbers be added to the RT fields C<Perl Version> and
-C<Fixed In>.
+=head3 bump RT version number
 
-=item *
+Log into http://rt.perl.org/ and check whether the new version is in the RT
+fields C<Perl Version> and C<Fixed In>. The easiest way to determine this is
+to go to L<https://rt.perl.org/rt3/Search/Build.html> and click on the drop
+downs next to the C<Perl Version> and C<Fixed In> labels.
 
+If the new version is not listed there, send an email to C<perlbug-admin at
+perl.org> requesting this.
+
+=head3 Relax!
+
 I<You MUST RETIRE to your preferred PUB, CAFE or SEASIDE VILLA for some
 much-needed rest and relaxation>.
 
 Thanks for releasing perl!
 
-=back
 
 =head2 Building a release - the day after
 
+=head3 link announcement in epigraphs.pod
+
+Add, to your quote to F<Porting/epigraphs.pod>, a link to the release
+announcement in the web-visible mailing list archive.  Commit it.
+
+=head3 check tarball availability
+
+Check various website entries to make sure the that tarball has appeared
+and is properly indexed:
+
 =over 4
 
 =item *
@@ -1022,12 +1300,11 @@
 
 Check C</src> on CPAN (on a fast mirror) to ensure that links to
 the new tarballs have appeared.  There should be links in C</src/5.0>
-(which is accumulating all new versions), links in C</src> (which shows
-only the latest version on each branch), and an appropriate mention in
-C</src/README.html> (which describes the latest versions).
+(which is accumulating all new versions), and an appropriate mention in
+C</src> (which describes the latest versions in each branch, with links).
 
 These links should appear automatically, some hours after upload.
-If they don't, or the C<README.html> description is inadequate,
+If they don't, or the C</src> description is inadequate,
 ask Ask <ask at perl.org>.
 
 =item *
@@ -1041,14 +1318,26 @@
 Check L<http://search.cpan.org> to see if it has indexed the distribution.
 It should be visible at a URL like C<http://search.cpan.org/dist/perl-5.10.1/>.
 
-=item *
+=back
 
-I<This step ONLY for STABLE>
+=for checklist skip RC
 
-Ask Rafael to update L<http://dev.perl.org/perl5/>.
+=head3 update dev.perl.org
 
-=back
+I<You MUST SKIP this step for a RC release>
 
+In your C<perlweb> repository, link to the new release.  For a new
+latest-maint release, edit F<docs/shared/tpl/stats.html>.  Otherwise,
+edit F<docs/dev/perl5/index.html>.
+
+Then make a pull request to Leo Lapworth.  If this fails for some reason
+and you cannot cajole anybody else into submitting that change, you can
+mail Leo as last resort.
+
+This repository can be found on L<github|https://github.com/perlorg/perlweb>.
+
+=for checklist end
+
 =head1 SOURCE
 
 Based on


Property changes on: vendor/perl/dist/Porting/release_managers_guide.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/Porting/release_schedule.pod
===================================================================
--- vendor/perl/dist/Porting/release_schedule.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/release_schedule.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,35 +1,53 @@
 =encoding utf8
 
-=head1 Perl 5.14 release schedule
+=head1 STABLE RELEASE SCHEDULE
 
-=over
+This schedule lists the projected or historical development and
+release schedules for the next, current and previous stable versions
+of Perl.  Dates with all question marks will only be releases if
+deemed necessary by the Pumpking.
 
-=item December 20, 2010
+=head2 Perl 5.18
 
-Contentious Changes freeze
+Code freezes (which happen in the 5.17.X series)
 
-=item February 20, 2011
+  2013-01-20  5.17.8    Contentious changes freeze
+  2013-02-20  5.17.9    User-visible changes freeze
+  2013-03-20  5.17.10   Full code freeze
 
-User-visible Changes freeze
+Release schedule (with release manager):
 
-=item March 20, 2011
+  2013-04-??  5.18.0-RC0      Ricardo Signes
+  ...(interim RC releases)...
+  2013-05-18  5.18.0 (final)  Ricardo Signes
 
-Code Freeze
+(RC0 will be released once we think that all the blockers have been
+addressed.  This typically means some time in April or May.)
 
-=item April 1, 2011
+=head2 Perl 5.16
 
-Target date for 5.14.0 RC0
+Release schedule (with release managers):
 
-=item Seven days after the release of a 5.14.0-RCx with no showstoppers reported
+  2012-05-20  5.16.0 ✓        Ricardo Signes
+  2012-08-08  5.16.1 ✓        Ricardo Signes
+  2012-11-01  5.16.2 ✓        Ricardo Signes
+  2013-03-11  5.16.3 ✓        Ricardo Signes
+  ????-??-??  5.16.4          ??
 
-5.14.0
+=head2 Perl 5.14
 
-=back
+Release schedule (with release managers):
 
-=head1 Development Release schedule
+  2011-05-14  5.14.0 (final)  Jesse Vincent
+  2011-06-16  5.14.1 ✓        Jesse Vincent
+  2011-09-14  5.14.2 ✓        Florian Ragwitz
+  2012-10-12  5.14.3 ✓        Dominic Hargreaves
+  2013-03-10  5.14.4 ✓        David Mitchell
 
-This document lists the release engineers for at least the next
-four months of releases of bleadperl. If there are fewer than 
+=head1 DEVELOPMENT RELEASE SCHEDULE
+
+This schedule lists the release engineers for at least the next
+four months of releases of bleadperl. If there are fewer than
 four months listed as you make a release, it's important
 that you extend the schedule AND B<identify the next release engineer>.
 
@@ -40,37 +58,32 @@
 the next four releases. If a stable version of Perl is released,
 you should reset the version numbers to the next blead series.
 
-=head2 2009
+=head2 Perl 5.17
 
- October 2       -   Jesse Vincent
- October 20      -   Jesse Vincent
- November 20     -   Leon Brocard
- December 20     -   Jesse Vincent
+  2012-05-26  5.17.0  ✓       Zefram
+  2012-06-20  5.17.1  ✓       Jesse Luehrs
+  2012-07-20  5.17.2  ✓       Tony Cook
+  2012-08-20  5.17.3  ✓       Steve Hay
+  2012-09-20  5.17.4  ✓       Florian Ragwitz
+  2012-10-20  5.17.5  ✓       Florian Ragwitz
+  2012-11-20  5.17.6  ✓       Ricardo Signes
+  2012-12-18  5.17.7  ✓       Dave Rolsky
+  2013-01-20  5.17.8  ✓       Aaron Crane
+  2013-02-20  5.17.9  ✓       Chris Williams
+  2013-03-20  5.17.10         Max Maischein
+  2013-04-20  5.17.11
 
-=head2 2010
+=head2 Perl 5.19
 
- January 20      -   Ricardo Signes
- February 20     -   Steve Hay
- March 20        -   Ask Bjørn Hansen (skipped due to 5.12.0-RC1)
- April 20        -   Leon Brocard
- May 20          -   Ricardo Signes
- June 20         -   Matt Trout
- July 20         -   David Golden
- August 20       -   Florian Ragwitz
- September 20    -   Steve Hay
- October 20      -   Tatsuhiko Miyagawa
- November 20     -   Chris Williams
- December 20     -   Zefram
+  2013-05-20  5.19.0          Ricardo Signes
+  2013-06-20  5.19.1          David Golden
+  2013-07-20  5.19.2          Aristotle Pagaltzis
+  2013-08-20  5.19.3          Steve Hay
+  2013-09-20  5.19.4
+  2013-10-20  5.19.5
+  2013-11-20  5.19.6
+  2013-12-20  5.19.7
 
-=head2 2011
-
- January 20      -   Jesse
- February 20     -   Ævar Arnfjörð Bjarmason
- March 20        -   Florian Ragwitz
- April 20        -   Jesse (5.14.0-RC0)
- May 20          -   Ricardo Signes
- June 20         -   David Golden
-
 =head1 VICTIMS
 
 The following porters have all consented to do at least
@@ -77,6 +90,9 @@
 one release of bleadperl.  If you can't do a release
 and can't find a substitute amongst this list, mail p5p.
 
+(Please do not add any names to this list without prior
+consent of the Pumpking.)
+
 Jesse Vincent <jesse at cpan.org>
 Leon Brocard <acme at astray.com>
 Yves Orton <demerphq at gmail.com>
@@ -91,15 +107,14 @@
 Chris Williams <bingos at cpan.org>
 Zefram <zefram at fysh.org>
 Ævar Arnfjörð Bjarmason <avar at cpan.org>
+Stevan Little <stevan.little at iinteractive.com>
+Dave Rolsky <autarch at urth.org>
+Abigail <abigail at abigail.be>
+Max Maischein <corion at cpan.org>
+Dave Cross <dave at perlhacks.com>
+Jesse Luehrs <doy at cpan.org>
+Tony Cook <tony at develop-help.com>
 
-
-=head2 Reticent victims
-
-These folks have said that they'd be willing to release Perl but would
-prefer that others have the opportunity before they pitch in:
-
-
-
 =head1 AUTHOR
 
 Jesse Vincent <jesse at cpan.org>


Property changes on: vendor/perl/dist/Porting/release_schedule.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/rt_list_patches
===================================================================
--- vendor/perl/dist/Porting/rt_list_patches	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/rt_list_patches	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/rt_list_patches
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/sort_perldiag.pl
===================================================================
--- vendor/perl/dist/Porting/sort_perldiag.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/sort_perldiag.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/sort_perldiag.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/testall.atom
===================================================================
--- vendor/perl/dist/Porting/testall.atom	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/testall.atom	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/testall.atom
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/thirdclean
===================================================================
--- vendor/perl/dist/Porting/thirdclean	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/thirdclean	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/thirdclean
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/timecheck.c
===================================================================
--- vendor/perl/dist/Porting/timecheck.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/timecheck.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/timecheck.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/timecheck2.c
===================================================================
--- vendor/perl/dist/Porting/timecheck2.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/timecheck2.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/timecheck2.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/Porting/valgrindpp.pl
===================================================================
--- vendor/perl/dist/Porting/valgrindpp.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Porting/valgrindpp.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/Porting/valgrindpp.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/README
===================================================================
--- vendor/perl/dist/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -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 by Larry Wall
-and others.  All rights reserved.
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
+by Larry Wall and others.  All rights reserved.
 
 
 
@@ -70,6 +70,8 @@
 You can always find the latest version of perl on a CPAN (Comprehensive Perl
 Archive Network) site near you at http://www.cpan.org/src/
 
+If you want to submit a simple patch to the perl source, see the "SUPER
+QUICK PATCH GUIDE" in pod/perlhack.pod.
 
 Just a personal note:  I want you to know that I create nice things like this
 because it pleases the Author of my story.  If this bothers you, then your
@@ -100,7 +102,7 @@
 
 You should also have received a copy of the GNU General Public License
 along with this program in the file named "Copying". If not, write to the
-Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 Boston, MA 02110-1301, USA or visit their web page on the internet at
 http://www.gnu.org/copyleft/gpl.html.
 


Property changes on: vendor/perl/dist/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/README.aix
===================================================================
--- vendor/perl/dist/README.aix	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.aix	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.aix - Perl version 5 on IBM AIX (UNIX) systems
+perlaix - Perl version 5 on IBM AIX (UNIX) systems
 
 =head1 DESCRIPTION
 
@@ -229,6 +229,15 @@
     -Dcc='gcc -maix64'
 
 
+=head2 Compiling Perl 5 on AIX 7.1.0
+
+A regression in AIX 7 causes a failure in make test in Time::Piece during
+daylight savings time.  APAR IV16514 provides the fix for this.  A quick
+test to see if it's required, assuming it is currently daylight savings
+in Eastern Time, would be to run C< TZ=EST5 date +%Z >.  This will come
+back with C<EST> normally, but nothing if you have the problem.
+
+
 =head2 Compiling Perl 5 on older AIX versions up to 4.3.3
 
 Due to the fact that AIX 4.3.3 reached end-of-service in December 31,


Property changes on: vendor/perl/dist/README.aix
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: vendor/perl/dist/README.amiga
===================================================================
--- vendor/perl/dist/README.amiga	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.amiga	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.amiga
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Deleted: vendor/perl/dist/README.beos
===================================================================
--- vendor/perl/dist/README.beos	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.beos	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,109 +0,0 @@
-If you read this file _as_is_, just ignore the funny characters you see.
-It is written in the POD format (see pod/perlpod.pod) which is specially
-designed to be readable as is.
-
-=head1 NAME
-
-README.beos - Perl version 5.8+ on BeOS
-
-=head1 DESCRIPTION
-
-This file contains instructions how to build Perl under BeOS and lists
-known problems.
-
-=head1 BUILD AND INSTALL
-
-=head2 Requirements
-
-I have built and tested Perl 5.8.6 and 5.9.1 under BeOS R5 x86 net server.
-I can't say anything with regard to PPC. Since Perl 5.8.0 had been released
-for BeOS BONE, I suspect, there is a good chance, that it still compiles on
-a BONE system. The only change I've made, that affects BONE systems is the
-recognition of whether it is a BONE system or not in C<hints/beos.sh>. Now
-network socket support should remain enabled on BONE systems. This might
-as well break the build, though.
-
-As more recent versions of autoconf require flock() support, I wrote a flock()
-emulation (flock_server) and released it on BeBits:
-
-	http://www.bebits.com/app/4030
-
-If you want to build a Perl with flock() support, you have to install this
-package first.
-
-=head2 Configure
-
-With flock() support:
-
-	CFLAGS=-I/path/to/flock/server/headers ./configure.gnu \
-		--prefix=/boot/home/config
-
-Replace C</path/to/flock/server/headers> with the path to the directory
-containing the C<flock.h> header.
-
-Without flock() support:
-
-	./configure.gnu --prefix=/boot/home/config
-
-=head2 Build
-
-With flock() support:
-
-	make LDLOADLIBS="-lnet -lflock"
-
-Without flock() support:
-
-	make LDLOADLIBS="-lnet"
-
-C<-lnet> is needed on net server systems only and if the compiler doesn't
-add it automatically (Be's R5 gcc does, Oliver Tappe's gcc 2.95.3 does not).
-
-=head2 Install
-
-Install all perl files:
-
-	make install
-
-Create a symlink for libperl:
-
-	cd ~/config/lib; ln -s perl5/5.8.6/BePC-beos/CORE/libperl.so .
-
-Replace C<5.8.6> with your respective version of Perl.
-
-=head1 KNOWN PROBLEMS
-
-=over 4
-
-=item *
-
-Network socket support is disabled for BeOS R5 net server. I didn't dare yet
-to try enabling it and see what problems occur.
-
-=item *
-
-The LFS (large file support) tests (C<t/op/lfs> and C<xt/Fcntl/t/syslfs>) are
-disabled as seeking beyond 2 GB is broken according to jhi at iki.fi who was the
-last one checking the BeOS port and updating this file before me. Haven't
-checked this myself.
-
-=item *
-
-The C<t/io/fflush> test fails at #6. As far as I can tell, this is caused by
-a bug in the BeOS pipes implementation that occurs when starting other child
-processes. In the particular test case a C<system("perl -e 0")> flushes the
-stdout pipe of another child process.
-
-=item *
-
-The C<ext/POSIX/t/waitpid> test fails at #1. After all child processes are
-gone BeOS' waitpid(-1,...) returns 0 instead of -1 (as it should). No idea
-how to fix this.
-
-=back
-
-=head1 CONTACT
-
-For BeOS specifics problems feel free to mail to:
-Ingo Weinhold <bonefish at cs.tu-berlin.de>
-
-Last update: 2004-12-16

Modified: vendor/perl/dist/README.bs2000
===================================================================
--- vendor/perl/dist/README.bs2000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.bs2000	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 
 =head1 NAME
 
-README.BS2000 - building and installing Perl for BS2000.
+perlbs2000 - building and installing Perl for BS2000.
 
 =head1 SYNOPSIS
 
@@ -218,13 +218,13 @@
 
 =head2 Mailing list
 
-If you are interested in the VM/ESA, z/OS (formerly known as OS/390)
+If you are interested in the z/OS (formerly known as OS/390)
 and POSIX-BC (BS2000) ports of Perl then see the perl-mvs mailing list.
 To subscribe, send an empty message to perl-mvs-subscribe at perl.org.
 
 See also:
 
-    http://lists.perl.org/showlist.cgi?name=perl-mvs
+    http://lists.perl.org/list/perl-mvs.html
 
 There are web archives of the mailing list at:
 


Property changes on: vendor/perl/dist/README.bs2000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.ce
===================================================================
--- vendor/perl/dist/README.ce	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.ce	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,38 +20,38 @@
 
 =item *
 
-C<miniperl> is built. This is a single executable (without DLL), intended
+F<miniperl> is built. This is a single executable (without DLL), intended
 to run on Win32, and it will facilitate remaining build process; all binaries
 built after it are foreign and should not run locally.
 
-C<miniperl> is built using C<./win32/Makefile>; this is part of normal
+F<miniperl> is built using F<./win32/Makefile>; this is part of normal
 build process invoked as dependency from wince/Makefile.ce
 
 =item *
 
-After C<miniperl> is built, C<configpm> is invoked to create right C<Config.pm>
+After F<miniperl> is built, F<configpm> is invoked to create right F<Config.pm>
 in right place and its corresponding Cross.pm.
 
-Unlike Win32 build, miniperl will not have C<Config.pm> of host within reach;
-it rather will use C<Config.pm> from within cross-compilation directories.
+Unlike Win32 build, miniperl will not have F<Config.pm> of host within reach;
+it rather will use F<Config.pm> from within cross-compilation directories.
 
-File C<Cross.pm> is dead simple: for given cross-architecture places in @INC
-a path where perl modules are, and right C<Config.pm> in that place.
+File F<Cross.pm> is dead simple: for given cross-architecture places in @INC
+a path where perl modules are, and right F<Config.pm> in that place.
 
 That said, C<miniperl -Ilib -MConfig -we 1> should report an error, because
-it can not find C<Config.pm>. If it does not give an error -- wrong C<Config.pm>
+it can not find F<Config.pm>. If it does not give an error -- wrong F<Config.pm>
 is substituted, and resulting binaries will be a mess.
 
 C<miniperl -MCross -MConfig -we 1> should run okay, and it will provide right
-C<Config.pm> for further compilations.
+F<Config.pm> for further compilations.
 
 =item *
 
-During extensions build phase, a script C<./win32/buldext.pl> is invoked,
-which in turn steps in C<./ext> subdirectories and performs a build of
+During extensions build phase, a script F<./win32/buldext.pl> is invoked,
+which in turn steps in F<./ext> subdirectories and performs a build of
 each extension in turn.
 
-All invokes of C<Makefile.PL> are provided with C<-MCross> so to enable cross-
+All invokes of F<Makefile.PL> are provided with C<-MCross> so to enable cross-
 compile.
 
 =back
@@ -79,14 +79,14 @@
 =back
 
 Needed source files can be downloaded at
-L<http://www.rainer-keuchel.de/wince/dirlist.html>
+L<http://perlce.sourceforge.net>
 
 =head3 Make
 
-Normally you only need to edit C<./win32/ce-helpers/compile.bat>
+Normally you only need to edit F<./win32/ce-helpers/compile.bat>
 to reflect your system and run it.
 
-File C<./win32/ce-helpers/compile.bat> is actually a wrapper to call
+File F<./win32/ce-helpers/compile.bat> is actually a wrapper to call
 C<nmake -f makefile.ce> with appropriate parameters and it accepts extra
 parameters and forwards them to C<nmake> command as additional
 arguments. You should pass target this way.
@@ -95,9 +95,9 @@
 
 =over 4
 
-=item * go to C<./win32> subdirectory
+=item * go to F<./win32> subdirectory
 
-=item * edit file C<./win32/ce-helpers/compile.bat>
+=item * edit file F<./win32/ce-helpers/compile.bat>
 
 =item * run 
   compile.bat
@@ -107,7 +107,7 @@
 
 =back
 
-C<Makefile.ce> has C<CROSS_NAME> macro, and it is used further to refer to
+F<Makefile.ce> has C<CROSS_NAME> macro, and it is used further to refer to
 your cross-compilation scheme. You could assign a name to it, but this
 is not necessary, because by default it is assigned after your machine
 configuration name, such as "wince-sh3-hpc-wce211", and this is enough
@@ -115,7 +115,7 @@
 handy for several different builds on same platform to perform, say,
 threaded build. In a following example we assume that all required
 environment variables are set properly for C cross-compiler (a special
-*.bat file could fit perfectly to this purpose) and your C<compile.bat>
+*.bat file could fit perfectly to this purpose) and your F<compile.bat>
 has proper "MACHINE" parameter set, to, say, C<wince-mips-pocket-wce300>.
 
   compile.bat
@@ -130,10 +130,10 @@
 same as C<dist> but additionally compresses distribution files into zip
 archive.
 
-NOTE: during a build there could be created a number (or one) of C<Config.pm>
-for cross-compilation ("foreign" C<Config.pm>) and those are hidden inside
-C<../xlib/$(CROSS_NAME)> with other auxiliary files, but, and this is important to
-note, there should be B<no> C<Config.pm> for host miniperl.
+NOTE: during a build there could be created a number (or one) of F<Config.pm>
+for cross-compilation ("foreign" F<Config.pm>) and those are hidden inside
+F<../xlib/$(CROSS_NAME)> with other auxiliary files, but, and this is important to
+note, there should be B<no> F<Config.pm> for host miniperl.
 If you'll get an error that perl could not find Config.pm somewhere in building
 process this means something went wrong. Most probably you forgot to
 specify a cross-compilation when invoking miniperl.exe to Makefile.PL
@@ -158,8 +158,8 @@
 PerlCE is currently linked with a simple console window, so it also
 works on non-hpc devices.
 
-The simple stdio implementation creates the files C<stdin.txt>,
-C<stdout.txt> and C<stderr.txt>, so you might examine them if your
+The simple stdio implementation creates the files F<stdin.txt>,
+F<stdout.txt> and F<stderr.txt>, so you might examine them if your
 console has only a limited number of cols.
 
 When exitcode is non-zero, a message box appears, otherwise the
@@ -166,8 +166,8 @@
 console closes, so you might have to catch an exit with
 status 0 in your program to see any output.
 
-stdout/stderr now go into the files C</perl-stdout.txt> and
-C</perl-stderr.txt.>
+stdout/stderr now go into the files F</perl-stdout.txt> and
+F</perl-stderr.txt.>
 
 PerlIDE is handy to deal with perlce.
 
@@ -196,7 +196,7 @@
 
 =item UNIXROOTPATH
 
-- Root for accessing some special files, i.e. C</dev/null>, C</etc/services>.
+- Root for accessing some special files, i.e. F</dev/null>, F</etc/services>.
 
 =item ROWS/COLS
 
@@ -218,7 +218,7 @@
 =head2 REGISTRY
 
 To start perl by clicking on a perl source file, you have
-to make the according entries in HKCR (see C<ce-helpers/wince-reg.bat>).
+to make the according entries in HKCR (see F<ce-helpers/wince-reg.bat>).
 cereg.exe (which must be executed on a desktop pc with
 ActiveSync) is reported not to work on some devices.
 You have to create the registry entries by hand using a 
@@ -271,13 +271,13 @@
 =item 5.6.0
 
 Initial port of perl to WinCE. It was performed in separate directory
-named C<wince>. This port was based on contents of C<./win32> directory.
-C<miniperl> was not built, user must have HOST perl and properly edit 
-C<makefile.ce> to reflect this.
+named F<wince>. This port was based on contents of F<./win32> directory.
+F<miniperl> was not built, user must have HOST perl and properly edit
+F<makefile.ce> to reflect this.
 
 =item 5.8.0
 
-wince port was kept in the same C<./wince> directory, and C<wince/Makefile.ce>
+wince port was kept in the same F<./wince> directory, and F<wince/Makefile.ce>
 was used to invoke native compiler to create HOST miniperl, which then
 facilitates cross-compiling process.
 Extension building support was added.
@@ -284,8 +284,8 @@
 
 =item 5.9.4
 
-Two directories C<./win32> and C<./wince> were merged, so perlce build
-process comes in C<./win32> directory.
+Two directories F<./win32> and F<./wince> were merged, so perlce build
+process comes in F<./win32> directory.
 
 =back
 


Property changes on: vendor/perl/dist/README.ce
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.cn
===================================================================
(Binary files differ)

Index: vendor/perl/dist/README.cn
===================================================================
--- vendor/perl/dist/README.cn	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.cn	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.cn
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: vendor/perl/dist/README.cygwin
===================================================================
--- vendor/perl/dist/README.cygwin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.cygwin	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 If you read this file _as_is_, just ignore the funny characters you
-see. It is written in the POD format (see pod/perlpod.pod) which is
+see. It is written in the POD format (see F<pod/perlpod.pod>) which is
 specially designed to be readable as is.
 
 =head1 NAME
 
-README.cygwin - Perl for Cygwin
+perlcygwin - Perl for Cygwin
 
 =head1 SYNOPSIS
 
@@ -31,7 +31,7 @@
 
 A recent net or commercial release of Cygwin is required.
 
-At the time this document was last updated, Cygwin 1.5.24 was current.
+At the time this document was last updated, Cygwin 1.7.16 was current.
 
 
 =head2 Cygwin Configuration
@@ -41,9 +41,9 @@
 Perl usage.
 
 B<NOTE:> The binaries that are built will run on all Win32 versions.
-They do not depend on your host system (Win9x/WinME, WinNT/Win2K)
-or your Cygwin configuration (I<ntea>, I<ntsec>, binary/text mounts).
-The only dependencies come from hard-coded pathnames like C</usr/local>.
+They do not depend on your host system (WinXP/Win2K/Win7) or your
+Cygwin configuration (binary/text mounts, cvgserver).
+The only dependencies come from hard-coded pathnames like F</usr/local>.
 However, your host system and Cygwin configuration will affect Perl's
 runtime behavior (see L</"TEST">).
 
@@ -52,7 +52,7 @@
 =item * C<PATH>
 
 Set the C<PATH> environment variable so that Configure finds the Cygwin
-versions of programs.  Any Windows directories should be removed or
+versions of programs. Any not-needed Windows directories should be removed or
 moved to the end of your C<PATH>.
 
 =item * I<nroff>
@@ -60,21 +60,6 @@
 If you do not have I<nroff> (which is part of the I<groff> package),
 Configure will B<not> prompt you to install I<man> pages.
 
-=item * Permissions
-
-On WinNT with either the I<ntea> or I<ntsec> C<CYGWIN> settings, directory
-and file permissions may not be set correctly.  Since the build process
-creates directories and files, to be safe you may want to run a
-C<chmod -R +w *> on the entire Perl source tree.
-
-Also, it is a well known WinNT "feature" that files created by a login
-that is a member of the I<Administrators> group will be owned by the
-I<Administrators> group.  Depending on your umask, you may find that you
-can not write to files that you just created (because you are no longer
-the owner).  When using the I<ntsec> C<CYGWIN> setting, this is not an
-issue because it "corrects" the ownership to what you would expect on
-a UNIX system.
-
 =back
 
 =head1 CONFIGURE PERL ON CYGWIN
@@ -81,7 +66,7 @@
 
 The default options gathered by Configure with the assistance of
 F<hints/cygwin.sh> will build a Perl that supports dynamic loading
-(which requires a shared F<libperl.dll>).
+(which requires a shared F<cygperl5_16.dll>).
 
 This will run Configure and keep a record:
 
@@ -122,17 +107,6 @@
 
 Alternatively, the crypt libraries in GNU libc have been ported to Cygwin.
 
-The DES based Ultra Fast Crypt port was done by Alexey Truhan:
-
-  ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Okhapkin_Sergey/cw32crypt-dist-0.tgz
-
-NOTE: There are various export restrictions on DES implementations,
-see the glibc README for more details.
-
-The MD5 port was done by Andy Piper:
-
-  ftp://ftp.franken.de/pub/win32/develop/gnuwin32/cygwin/porters/Okhapkin_Sergey/libcrypt.tgz
-
 =item * C<-lgdbm_compat> (C<use GDBM_File>)
 
 GDBM is available for Cygwin.
@@ -143,8 +117,7 @@
 
 BerkeleyDB is available for Cygwin.
 
-NOTE: The BerkeleyDB library only completely works on NTFS partitions
-and db-4.3 is flawed.
+NOTE: The BerkeleyDB library only completely works on NTFS partitions.
 
 =item * C<cygserver> (C<use IPC::SysV>)
 
@@ -177,10 +150,11 @@
 
 Undefining this symbol forces Perl to be compiled statically.
 
-=item * C<-Uusemymalloc>
+=item * C<-Dusemymalloc>
 
-By default Perl uses the C<malloc()> included with the Perl source.  If you
-want to force Perl to build with the system C<malloc()> undefine this symbol.
+By default Perl does not use the C<malloc()> included with the Perl source,
+because it was slower and not entirely thread-safe.  If you want to force
+Perl to build with the old -Dusemymalloc define this.
 
 =item * C<-Uuseperlio>
 
@@ -190,12 +164,13 @@
 =item * C<-Dusemultiplicity>
 
 Multiplicity is required when embedding Perl in a C program and using
-more than one interpreter instance.  This works with the Cygwin port.
+more than one interpreter instance.  This is only required when you build
+a not-threaded perl with C<-Uuseithreads>.
 
-=item * C<-Duse64bitint>
+=item * C<-Uuse64bitint>
 
-By default Perl uses 32 bit integers.  If you want to use larger 64
-bit integers, define this symbol.
+By default Perl uses 64 bit integers.  If you want to use smaller 32 bit
+integers, define this symbol.
 
 =item * C<-Duselongdouble>
 
@@ -203,12 +178,11 @@
 long double math functions are necessary to use them within Perl
 (I<{atan2, cos, exp, floor, fmod, frexp, isnan, log, modf, pow, sin, sqrt}l,
 strtold>).
-These are B<not> yet available with Cygwin.
+These are B<not> yet available with newlib, the Cygwin libc.
 
-=item * C<-Dusethreads>
+=item * C<-Uuseithreads>
 
-POSIX threads are implemented in Cygwin, define this symbol if you want
-a threaded perl.
+Define this symbol if you want not-threaded faster perl.
 
 =item * C<-Duselargefiles>
 
@@ -217,9 +191,9 @@
 
 =item * C<-Dmksymlinks>
 
-Use this to build perl outside of the source tree.  This works with Cygwin.
-Details can be found in the F<INSTALL> document.  This is the recommended
-way to build perl from sources.
+Use this to build perl outside of the source tree.  Details can be
+found in the F<INSTALL> document.  This is the recommended way to
+build perl from sources.
 
 =back
 
@@ -334,7 +308,7 @@
   ext/IO/lib/IO/t/io_sock.t
   ext/IO/lib/IO/t/io_unix.t
 
-See comment on fork in L<Miscellaneous> below.
+See comment on fork in L</Miscellaneous> below.
 
 =head1 Specific features of the Cygwin port
 
@@ -349,33 +323,29 @@
 
 =item * Pathnames
 
-Cygwin pathnames can be separated by forward (F</>) or backward (F<\\>)
-slashes.  They may also begin with drive letters (F<C:>) or Universal
-Naming Codes (F<//UNC>).  DOS device names (F<aux>, F<con>, F<prn>,
-F<com*>, F<lpt?>, F<nul>) are invalid as base filenames.  However, they
-can be used in extensions (e.g., F<hello.aux>).  Names may contain all
-printable characters except these:
+Cygwin pathnames are separated by forward (F</>) slashes, Universal
+Naming Codes (F<//UNC>) are also supported Since cygwin-1.7 non-POSIX
+pathnames are discouraged.  Names may contain all printable
+characters.
 
-  : * ? " < > |
-
 File names are case insensitive, but case preserving.  A pathname that
-contains a backslash or drive letter is a Win32 pathname (and not subject
-to the translations applied to POSIX style pathnames).
+contains a backslash or drive letter is a Win32 pathname, and not
+subject to the translations applied to POSIX style pathnames, but
+cygwin will warn you, so better convert them to POSIX.
 
 For conversion we have C<Cygwin::win_to_posix_path()> and
 C<Cygwin::posix_to_win_path()>.
 
-Pathnames may not contain Unicode characters. C<Cygwin> still uses the
-ANSI API calls and no Unicode calls because of newlib deficiencies.
-There's an unofficial unicode patch for cygwin at
-L<http://www.okisoft.co.jp/esc/utf8-cygwin/>
+Since cygwin-1.7 pathnames are UTF-8 encoded.
 
 =item * Text/Binary
 
+Since cygwin-1.7 textmounts are deprecated and strongly discouraged.
+
 When a file is opened it is in either text or binary mode.  In text mode
 a file is subject to CR/LF/Ctrl-Z translations.  With Cygwin, the default
 mode for an C<open()> is determined by the mode of the mount that underlies
-the file. See C<Cygwin::is_binmount()>. Perl provides a C<binmode()> function
+the file. See L</Cygwin::is_binmount>(). Perl provides a C<binmode()> function
 to set binary mode on files that otherwise would be treated as text.
 C<sysopen()> with the C<O_TEXT> flag sets text mode on files that otherwise
 would be treated as binary:
@@ -411,8 +381,8 @@
 (unless a F<foo> also exists).  Cygwin does not require a F<.exe>
 extension, but I<gcc> adds it automatically when building a program.
 However, when accessing an executable as a normal file (e.g., I<cp>
-in a makefile) the F<.exe> is not transparent.  The I<install> included
-with Cygwin automatically appends a F<.exe> when necessary.
+in a makefile) the F<.exe> is not transparent.  The I<install> program
+included with Cygwin automatically appends a F<.exe> when necessary.
 
 =item * Cygwin vs. Windows process ids
 
@@ -428,6 +398,32 @@
 Under Cygwin, $^E is the same as $!.  When using L<Win32 API Functions|Win32>,
 use C<Win32::GetLastError()> to get the last Windows error.
 
+=item * rebase errors on fork or system
+
+Using C<fork()> or C<system()> out to another perl after loading multiple dlls
+may result on a DLL baseaddress conflict. The internal cygwin error
+looks like like the following:
+
+  0 [main] perl 8916 child_info_fork::abort: data segment start: parent
+  (0xC1A000) != child(0xA6A000)
+
+or:
+
+  183 [main] perl 3588 C:\cygwin\bin\perl.exe: *** fatal error - unable to remap C:\cygwin\bin\cygsvn_subr-1-0.dll to same address as parent(0x6FB30000) != 0x6FE60000
+  46 [main] perl 3488 fork: child 3588 - died waiting for dll loading, errno11
+
+See L<http://cygwin.com/faq/faq-nochunks.html#faq.using.fixing-fork-failures>
+It helps if not too many DLLs are loaded in memory so the available address space is larger,
+e.g. stopping the MS Internet Explorer might help.
+
+Use the perlrebase or rebase utilities to resolve the conflicting dll addresses.
+The rebase package is included in the Cygwin setup. Use F<setup.exe>
+from L<http://www.cygwin.com/setup.exe> to install it.
+
+1. kill all perl processes and run C<perlrebase> or
+
+2. kill all cygwin processes and services, start dash from cmd.exe and run C<rebaseall>.
+
 =item * C<chown()>
 
 On WinNT C<chown()> can change a file's user and group IDs.  On Win9x C<chown()>
@@ -448,18 +444,6 @@
 therefore Perl adds the suffix C<.bak> automatically if you use C<perl -i>
 without specifying a backup extension.
 
-Using C<fork()> after loading multiple dlls may fail with an internal cygwin
-error like the following:
-
-  C:\CYGWIN\BIN\PERL.EXE: *** couldn't allocate memory 0x10000(4128768) for 'C:\CYGWIN\LIB\PERL5\5.6.1\CYGWIN-MULTI\AUTO\SOCKET\SOCKET.DLL' alignment, Win32 error 8
-
-    200 [main] perl 377147 sync_with_child: child -395691(0xB8) died before initialization with status code 0x1
-   1370 [main] perl 377147 sync_with_child: *** child state child loading dlls
-
-Use the rebase utility to resolve the conflicting dll addresses.  The
-rebase package is included in the Cygwin netrelease.  Use setup.exe from
-L<http://www.cygwin.com/setup.exe> to install it and run rebaseall.
-
 =back
 
 =head2 Prebuilt methods:
@@ -529,6 +513,17 @@
 Returns true if the given cygwin path is binary mounted, false if the
 path is mounted in textmode.
 
+=item C<Cygwin::sync_winenv>
+
+Cygwin does not initialize all original Win32 environment variables.
+See the bottom of this page L<http://cygwin.com/cygwin-ug-net/setup-env.html>
+for "Restricted Win32 environment".
+
+Certain Win32 programs called from cygwin programs might need some environment
+variable, such as e.g. ADODB needs %COMMONPROGRAMFILES%.
+Call Cygwin::sync_winenv() to copy all Win32 environment variables to your
+process and note that cygwin will warn on every encounter of non-POSIX paths.
+
 =back
 
 =head1 INSTALL PERL ON CYGWIN
@@ -563,7 +558,7 @@
   pod/perl561delta.pod pod/perl570delta.pod pod/perl572delta.pod
   pod/perl573delta.pod pod/perl58delta.pod pod/perl581delta.pod
   pod/perl590delta.pod pod/perlhist.pod pod/perlmodlib.pod
-  pod/perltoc.pod pod.lst Porting/Glossary pod/perlgit.pod
+  pod/perltoc.pod Porting/Glossary pod/perlgit.pod
   Porting/checkAUTHORS.pl
   dist/Cwd/Changes ext/Compress-Raw-Zlib/Changes
   ext/Compress-Raw-Zlib/README ext/Compress-Zlib/Changes
@@ -781,4 +776,4 @@
 
 =head1 HISTORY
 
-Last updated: 2007-09-25
+Last updated: 2012-02-08


Property changes on: vendor/perl/dist/README.cygwin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: vendor/perl/dist/README.dgux
===================================================================
--- vendor/perl/dist/README.dgux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.dgux	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.dgux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: vendor/perl/dist/README.dos
===================================================================
--- vendor/perl/dist/README.dos	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.dos	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.dos
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Deleted: vendor/perl/dist/README.epoc
===================================================================
--- vendor/perl/dist/README.epoc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.epoc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,154 +0,0 @@
-If you read this file _as_is_, just ignore the funny characters you
-see. It is written in the POD format (see pod/perlpod.pod) which is
-specially designed to be readable as is.
-
-=head1 NAME
-
-README.epoc - Perl for EPOC
-
-=head1 SYNOPSIS
-
-Perl 5 README file for the EPOC Release 5 operating system.
-
-=head1 INTRODUCTION
-
-EPOC is an OS for palmtops and mobile phones. For more information look
-at: L<http://www.symbian.com/>
-
-This is a port of perl to the epocemx SDK by Eberhard Mattes, which
-itself uses the SDK by symbian. Essentially epocemx it is a POSIX
-look alike environment for the EPOC OS.  For more information look at: 
-L<http://epocemx.sourceforge.net/>
-
-perl and epocemx runs on Epoc Release 5 machines: Psion 5mx, 5mx Pro,
-Psion Revo, Psion Netbook and on the Ericsson M128. It may run on Epoc
-Release 3 Hardware (Series 5 classic), too. For more information about
-this hardware please refer to L<http://www.psion.com/>
-
-Vendors which like to have support for their devices are free to send
-me a sample. 
-
-=head1 INSTALLING PERL ON EPOC
-
-You can download a ready-to-install version from
-L<http://www.oflebbe.de/perl/perl5.html>
-
-You will need at least ~6MB free space in order to install and run perl.
-
-Please install the emxusr.sis package from
-L<http://epocemx.sourceforge.net/> first.
-
-Install perl.sis on the EPOC machine. If you do not know how to do
-that, consult your PsiWin documentation.
-
-Perl itself and its standard library is using 4 MB disk space.
-Unicode support and some other modules are left out. (For details,
-please look into epoc/createpkg.pl). If you like to use these modules,
-you are free to copy them from a current perl release.
-
-=head1 STARTING PERL ON EPOC
-
-Please use the epocemx shell to start perl. perl integrates with the
-conventions of epocemx. 
-
-=head2 Features of Perl on Epoc
-
-The built-in function EPOC::getcwd returns the current directory.
-
-=head2 Restrictions of Perl on Epoc
-
-Features are left out, because of restrictions of the POSIX support in
-EPOC:
-
-=over 4
-
-=item * 
-
-socket IO is only implemented poorly. You can only use sysread and
-syswrite on them. The commands read, write, print, <> do not work for
-sockets. This may change iff epocemx supports sockets.
-
-=item *
-
-kill, alarm and signals. Do not try to use them. This may be
-impossible to implement on EPOC.
-
-=item *
-
-select is missing.
-
-=item *
-
-binmode does not exist. (No CR LF to LF translation for text files)
-
-=item *
-
-EPOC does not handle the notion of current drive and current
-directory very well (i.e. not at all, but it tries hard to emulate
-one). See PATH.
-
-=item *
-
-Heap is limited to 4MB.
-
-=item *
-
-Dynamic loading is not implemented.
-
-=back
-
-=head2 Compiling Perl 5 on the EPOC cross compiling environment
-
-Sorry, this is far too short.
-
-=over 4
-
-=item *
-
-You will need the epocemx SDK from Eberhard Mattes. 
-
-=item *
-
-Get the Perl sources from your nearest CPAN site.
-
-=item *
-
-Unpack the sources. 
-
-=item *
-
-Build a native perl from this sources... Make sure to save the
-miniperl executable as miniperl.native.
-
-Start again from scratch
-
-      cp epoc/* .
-      ./Configure -S
-      make 
-      cp miniperl.native miniperl
-      touch miniperl.exe
-      make
-      perl createpkg.pl 
-
-      emxsis perl.pkg perl.sis
-
-=back
-
-=head1 SUPPORT STATUS OF PERL ON EPOC
-
-I'm offering this port "as is". You can ask me questions, but I can't
-guarantee I'll be able to answer them. Since the port to epocemx is
-quite new, please check the web for updates first.
-
-Very special thanks to Eberhard Mattes for epocemx.
-
-=head1 AUTHOR
-
-Olaf Flebbe <olaf at oflebbe.de>
-L<http://www.oflebbe.de/perl/perl5.html>
-
-=head1 LAST UPDATE
-
-2003-01-18
-
-=cut

Modified: vendor/perl/dist/README.freebsd
===================================================================
--- vendor/perl/dist/README.freebsd	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.freebsd	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.freebsd - Perl version 5 on FreeBSD systems
+perlfreebsd - Perl version 5 on FreeBSD systems
 
 =head1 DESCRIPTION
 
@@ -22,10 +22,11 @@
 
 =head2 $^X doesn't always contain a full path in FreeBSD
 
-perl 5.8.0 sets C<$^X> where possible to a full path by asking the operating
-system. On FreeBSD the full path of the perl interpreter is found by reading
-the symlink F</proc/curproc/file>. FreeBSD has a bug where reading this
-symlink sometimes returns an incorrect value
+perl sets C<$^X> where possible to a full path by asking the operating
+system. On FreeBSD the full path of the perl interpreter is found by using
+C<sysctl> with C<KERN_PROC_PATHNAME> if that is supported, else by reading
+the symlink F</proc/curproc/file>. FreeBSD 7 and earlier has a bug where
+either approach sometimes returns an incorrect value
 (see http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 ).
 In these cases perl will fall back to the old behaviour of using C's
 argv[0] value for C<$^X>.


Property changes on: vendor/perl/dist/README.freebsd
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.haiku
===================================================================
--- vendor/perl/dist/README.haiku	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.haiku	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.haiku - Perl version 5.10+ on Haiku
+perlhaiku - Perl version 5.10+ on Haiku
 
 =head1 DESCRIPTION
 
@@ -22,9 +22,9 @@
 Make perl executable and create a symlink for libperl:
 
   chmod a+x /boot/common/bin/perl
-  cd /boot/common/lib; ln -s perl5/5.14.0/BePC-haiku/CORE/libperl.so .
+  cd /boot/common/lib; ln -s perl5/5.18.1/BePC-haiku/CORE/libperl.so .
 
-Replace C<5.14.0> with your respective version of Perl.
+Replace C<5.18.1> with your respective version of Perl.
 
 =head1 KNOWN PROBLEMS
 
@@ -38,18 +38,18 @@
 
 =item *
 
-The C<ext/Socket/t/socketpair.t> test fails. More precisely: the subtests
+The F<ext/Socket/t/socketpair.t> test fails. More precisely: the subtests
 using datagram sockets fail. Unix datagram sockets aren't implemented in
 Haiku yet.
 
 =item *
 
-A subtest of the C<ext/Sys/Syslog/t/syslog.t> test fails. This is due to Haiku
-not implementing C</dev/log> support yet.
+A subtest of the F<ext/Sys/Syslog/t/syslog.t> test fails. This is due to Haiku
+not implementing F</dev/log> support yet.
 
 =item *
 
-The tests C<lib/Net/Ping/t/450_service.t> and C<lib/Net/Ping/t/510_ping_udp.t>
+The tests F<lib/Net/Ping/t/450_service.t> and F<lib/Net/Ping/t/510_ping_udp.t>
 fail. This is due to bugs in Haiku's network stack implementation.
 
 =back


Property changes on: vendor/perl/dist/README.haiku
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.hpux
===================================================================
--- vendor/perl/dist/README.hpux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.hpux	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.hpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems
+perlhpux - Perl version 5 on Hewlett-Packard Unix (HP-UX) systems
 
 =head1 DESCRIPTION
 
@@ -20,23 +20,13 @@
 
   swinstall -s /cdrom perl
 
-assuming you have mounted that CD on /cdrom. In this version the
-following modules were installed:
+assuming you have mounted that CD on /cdrom.
 
-  ActivePerl::DocTools-0.04   HTML::Parser-3.19   XML::DOM-1.25
-  Archive::Tar-0.072          HTML::Tagset-3.03   XML::Parser-2.27
-  Compress::Zlib-1.08         MIME::Base64-2.11   XML::Simple-1.05
-  Convert::ASN1-0.10          Net-1.07            XML::XPath-1.09
-  Digest::MD5-2.11            PPM-2.1.5           XML::XSLT-0.32
-  File::CounterFile-0.12      SOAP::Lite-0.46     libwww-perl-5.51
-  Font::AFM-1.18              Storable-1.011      libxml-perl-0.07
-  HTML-Tree-3.11              URI-1.11            perl-ldap-0.23
-
 That build was a portable hppa-1.1 multithread build that supports large
 files compiled with gcc-2.9-hppa-991112.
 
 If you perform a new installation, then (a newer) Perl will be installed
-automatically.  Preinstalled HP-UX systems now slao have more recent versions
+automatically.  Pre-installed HP-UX systems now have more recent versions
 of Perl and the updated modules.
 
 The official (threaded) builds from HP, as they are shipped on the
@@ -53,17 +43,28 @@
     perl.Perl5-32  D.5.8.8.B  32-bit 5.8.8 Perl Programming Language with Extensions
     perl.Perl5-64  D.5.8.8.B  64-bit 5.8.8 Perl Programming Language with Extensions
 
+To see what is installed on your system:
+
+  # swlist -R perl
+  # perl                    E.5.8.8.J  Perl Programming Language
+  # perl.Perl5-32           E.5.8.8.J  32-bit Perl Programming Language with Extensions
+    perl.Perl5-32.PERL-MAN  E.5.8.8.J  32-bit Perl Man Pages for IA
+    perl.Perl5-32.PERL-RUN  E.5.8.8.J  32-bit Perl Binaries for IA
+  # perl.Perl5-64           E.5.8.8.J  64-bit Perl Programming Language with Extensions
+    perl.Perl5-64.PERL-MAN  E.5.8.8.J  64-bit Perl Man Pages for IA
+    perl.Perl5-64.PERL-RUN  E.5.8.8.J  64-bit Perl Binaries for IA
+
 =head2 Using perl from HP's porting centre
 
-HP porting centre tries very hard to keep up with customer demand and
-release updates from the Open Source community. Having precompiled
-Perl binaries available is obvious.
+HP porting centre tries to keep up with customer demand and release
+updates from the Open Source community. Having precompiled Perl binaries
+available is obvious, though "up-to-date" is something relative. At the
+moment of writing only perl-5.10.1 was available (with 5.16.3 being the
+latest stable release from the porters point of view).
 
 The HP porting centres are limited in what systems they are allowed
 to port to and they usually choose the two most recent OS versions
-available. This means that at the moment of writing, there are only
-HP-UX 11.11 (pa-risc 2.0) and HP-UX 11.23 (Itanium 2) ports available
-on the porting centres.
+available.
 
 HP has asked the porting centre to move Open Source binaries
 from /opt to /usr/local, so binaries produced since the start
@@ -72,6 +73,12 @@
 One of HP porting centres URL's is L<http://hpux.connect.org.uk/>
 The port currently available is built with GNU gcc.
 
+=head2 Other prebuilt perl binaries
+
+To get even more recent perl depots for the whole range of HP-UX, visit
+H.Merijn Brand's site at L<http://mirrors.develooper.com/hpux/#Perl>.
+Carefully read the notes to see if the available versions suit your needs.
+
 =head2 Compiling Perl 5 on HP-UX
 
 When compiling Perl, you must use an ANSI C compiler.  The C compiler
@@ -246,8 +253,8 @@
 the following systems contain Itanium or Itanium 2 chips (this is likely
 to be out of date):
 
-  BL60p, BL860c, BL870c, cx2600, cx2620, rx1600, rx1620, rx2600,
-  rx2600hptc, rx2620, rx2660, rx3600, rx4610, rx4640, rx5670,
+  BL60p, BL860c, BL870c, BL890c, cx2600, cx2620, rx1600, rx1620, rx2600,
+  rx2600hptc, rx2620, rx2660, rx2800, rx3600, rx4610, rx4640, rx5670,
   rx6600, rx7420, rx7620, rx7640, rx8420, rx8620, rx8640, rx9610,
   sx1000, sx2000
 
@@ -262,14 +269,14 @@
 Not all architectures (PA = PA-RISC, IPF = Itanium Processor Family)
 support all versions of HP-UX, here is a short list
 
-  HP-UX version  Kernel  Architecture
-  -------------  ------  ------------
-  10.20          32 bit  PA
-  11.00          32/64   PA
-  11.11  11i v1  32/64   PA
-  11.22  11i v2     64        IPF
-  11.23  11i v2     64   PA & IPF
-  11.31  11i v3     64   PA & IPF
+  HP-UX version  Kernel  Architecture End-of-factory support
+  -------------  ------  ------------ ----------------------------------
+  10.20          32 bit  PA           30-Jun-2003
+  11.00          32/64   PA           31-Dec-2006
+  11.11  11i v1  32/64   PA           31-Dec-2015
+  11.22  11i v2     64        IPF     30-Apr-2004
+  11.23  11i v2     64   PA & IPF     31-Dec-2015
+  11.31  11i v3     64   PA & IPF     31-Dec-2020 (PA) 31-Dec-2022 (IPF)
 
 See for the full list of hardware/OS support and expected end-of-life
 L<http://www.hp.com/go/hpuxservermatrix>
@@ -402,20 +409,20 @@
 
 When you are going to use the GNU C compiler (gcc), and you don't have
 gcc yet, you can either build it yourself from the sources (available
-from e.g. L<http://www.gnu.ai.mit.edu/software/gcc/releases.html>) or fetch
-a prebuilt binary from the HP porting center. gcc prebuilds can be
-fetched from
-L<http://h21007.www2.hp.com/dspp/tech/tech_TechSoftwareDetailPage_IDX/1,1703,547,00.html>
+from e.g. L<http://gcc.gnu.org/mirrors.html>) or fetch
+a prebuilt binary from the HP porting center
+at L<http://hpux.connect.org.uk/hppd/cgi-bin/search?term=gcc&Search=Search>
+or from the DSPP (you need to be a member) at
+L<http://h21007.www2.hp.com/portal/site/dspp/menuitem.863c3e4cbcdc3f3515b49c108973a801?ciid=2a08725cc2f02110725cc2f02110275d6e10RCRD&jumpid=reg_r1002_usen_c-001_title_r0001>
 (Browse through the list, because there are often multiple versions of
 the same package available).
 
-Above mentioned distributions are depots. H.Merijn Brand has made prebuilt
+Most mentioned distributions are depots. H.Merijn Brand has made prebuilt
 gcc binaries available on L<http://mirrors.develooper.com/hpux/> and/or
-L<http://www.cmve.net/~merijn/> for HP-UX 10.20, HP-UX 11.00, HP-UX 11.11
-(HP-UX 11i v1), and HP-UX 11.23 (HP-UX 11i v2) in both 32- and 64-bit
-versions. These are bzipped tar archives that also include recent GNU
-binutils and GNU gdb.  Read the instructions on that page to rebuild gcc
-using itself.
+L<http://www.cmve.net/~merijn/> for HP-UX 10.20 (only 32bit), HP-UX 11.00,
+HP-UX 11.11 (HP-UX 11i v1), and HP-UX 11.23 (HP-UX 11i v2 PA-RISC) in both
+32- and 64-bit versions. For HP-UX 11.23 IPF and HP-UX 11.31 IPF depots are
+available too. The IPF versions do not need two versions of GNU gcc.
 
 On PA-RISC you need a different compiler for 32-bit applications and for
 64-bit applications. On PA-RISC, 32-bit objects and 64-bit objects do
@@ -634,6 +641,27 @@
 Whether you are using NIS does not matter.  Amazingly enough,
 the same bug also affects Solaris.
 
+=head1 error: pasting ")" and "l" does not give a valid preprocessing token
+
+There seems to be a broken system header file in HP-UX 11.00 that
+breaks perl building in 32bit mode with GNU gcc-4.x causing this
+error. The same file for HP-UX 11.11 (even though the file is older)
+does not show this failure, and has the correct definition, so the
+best fix is to patch the header to match:
+
+ --- /usr/include/inttypes.h  2001-04-20 18:42:14 +0200
+ +++ /usr/include/inttypes.h  2000-11-14 09:00:00 +0200
+ @@ -72,7 +72,7 @@
+  #define UINT32_C(__c)                   __CONCAT_U__(__c)
+  #else /* __LP64 */
+  #define INT32_C(__c)                    __CONCAT__(__c,l)
+ -#define UINT32_C(__c)                   __CONCAT__(__CONCAT_U__(__c),l)
+ +#define UINT32_C(__c)                   __CONCAT__(__c,ul)
+  #endif /* __LP64 */
+
+  #define INT64_C(__c)                    __CONCAT_L__(__c,l)
+
+
 =head1 Miscellaneous
 
 HP-UX 11 Y2K patch "Y2K-1100 B.11.00.B0125 HP-UX Core OS Year 2000
@@ -650,8 +678,4 @@
 
 With much assistance regarding shared libraries from Marc Sabatella.
 
-=head1 DATE
-
-Version 0.8.3: 2008-06-24
-
 =cut


Property changes on: vendor/perl/dist/README.hpux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.hurd
===================================================================
--- vendor/perl/dist/README.hurd	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.hurd	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.hurd - Perl version 5 on Hurd
+perlhurd - Perl version 5 on Hurd
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/README.hurd
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.irix
===================================================================
--- vendor/perl/dist/README.irix	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.irix	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.irix - Perl version 5 on Irix systems
+perlirix - Perl version 5 on Irix systems
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/README.irix
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.jp
===================================================================
(Binary files differ)

Index: vendor/perl/dist/README.jp
===================================================================
--- vendor/perl/dist/README.jp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.jp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.jp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: vendor/perl/dist/README.ko
===================================================================
(Binary files differ)

Index: vendor/perl/dist/README.ko
===================================================================
--- vendor/perl/dist/README.ko	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.ko	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.ko
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: vendor/perl/dist/README.linux
===================================================================
--- vendor/perl/dist/README.linux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.linux	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.linux - Perl version 5 on Linux systems
+perllinux - Perl version 5 on Linux systems
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/README.linux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.macos
===================================================================
--- vendor/perl/dist/README.macos	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.macos	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,19 +4,18 @@
 
 =head1 NAME
 
-README.macos - Perl under Mac OS (Classic)
+perlmacos - Perl under Mac OS (Classic)
 
 =head1 SYNOPSIS
 
-This document briefly describes perl under Mac OS (Classic).
-If you are running perl under Mac OS X, you don't want to be
-here (unless you are in the Classic environment under early versions of
-Mac OS X).
+For Mac OS X see README.macosx
 
+Perl under Mac OS Classic has not been supported since before Perl 5.10
+(April 2004).
+
 When we say "Mac OS" below, we mean Mac OS 7, 8, and 9, and I<not>
 Mac OS X.
 
-
 =head1 DESCRIPTION
 
 The port of Perl to to Mac OS was officially removed as of Perl 5.12,
@@ -24,11 +23,8 @@
 Perl 5.6. While Perl 5.10 included the port to Mac OS, ExtUtils::MakeMaker,
 a core part of Perl's module installation infrastructure officially dropped support for Mac OS in April 2004.
 
-Historical information (and working binaries of the last released version)
-are available from L<http://dev.macperl.org> as of October 2009.
-
 =head1 AUTHOR
 
-perl was ported to Mac OS by Matthias Neeracher
+Perl was ported to Mac OS by Matthias Neeracher
 E<lt>neeracher at mac.comE<gt>. Chris Nandor E<lt>pudge at pobox.comE<gt>
 continued development and maintenance for the duration of the port's life.


Property changes on: vendor/perl/dist/README.macos
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.macosx
===================================================================
--- vendor/perl/dist/README.macosx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.macosx	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,19 +4,40 @@
 
 =head1 NAME
 
-README.macosx - Perl under Mac OS X
+perlmacosx - Perl under Mac OS X
 
 =head1 SYNOPSIS
 
-This document briefly describes perl under Mac OS X.
+This document briefly describes Perl under Mac OS X.
 
+  curl http://www.cpan.org/src/perl-5.18.1.tar.gz > perl-5.18.0.tar.gz
+  tar -xzf perl-5.18.1.tar.gz
+  cd perl-5.18.1
+  ./Configure -des -Dprefix=/usr/local/
+  make
+  make test
+  sudo make install
 
 =head1 DESCRIPTION
 
-The latest Perl release (5.8.8 as of this writing) builds without changes
-under Mac OS X. Under 10.3 "Panther" and newer OS versions, all self-tests
-pass, and all standard features are supported.
+The latest Perl release (5.18.1 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',
+which is part of Apple's developer tools - also known as Xcode. From
+Mac OS X 10.7 "Lion" onwards, it can be downloaded separately as the
+'Command Line Tools' bundle directly from L<https://developer.apple.com/downloads/>
+(you will need a free account to log in), or as a part of the Xcode suite,
+freely available at the App Store. Xcode is a pretty big app, so
+unless you already have it or really want it, you are advised to get the
+'Command Line Tools' bundle separately from the link above. If you want
+to do it from within Xcode, go to Xcode -> Preferences -> Downloads and
+select the 'Command Line Tools' option.
+
+Between Mac OS X 10.3 "Panther" and 10.6 "Snow Leopard", the 'Command
+Line Tools' bundle was called 'unix tools', and was usually supplied
+with Mac OS install DVDs.
+
 Earlier Mac OS X releases (10.2 "Jaguar" and older) did not include a
 completely thread-safe libc, so threading is not fully supported. Also,
 earlier releases included a buggy libdb, so some of the DB_File tests
@@ -42,9 +63,18 @@
 
 First, export the path to the SDK into the build environment:
 
-    export SDK=/Developer/SDKs/MacOSX10.3.9.sdk
+    export SDK=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
 
-Use an SDK by exporting some additions to Perl's 'ccflags' and '..flags'
+Please make sure the SDK version (i.e. the numbers right before '.sdk')
+matches your system's (in this case, Mac OS X 10.8 "Mountain Lion"), as it is
+possible to have more than one SDK installed. Also make sure the path exists
+in your system, and if it doesn't please make sure the SDK is properly
+installed, as it should come with the 'Command Line Tools' bundle mentioned
+above. Finally, if you have an older Mac OS X (10.6 "Snow Leopard" and below)
+running Xcode 4.2 or lower, the SDK path might be something like
+C<'/Developer/SDKs/MacOSX10.3.9.sdk'>.
+
+You can use the SDK by exporting some additions to Perl's 'ccflags' and '..flags'
 config variables:
 
     ./Configure -Accflags="-nostdinc -B$SDK/usr/include/gcc \
@@ -55,11 +85,18 @@
 
 =head2 Universal Binary support
 
-To compile perl as a universal binary (built for both ppc and intel), export
-the SDK variable as above, selecting the 10.4u SDK:
+Note: From Mac OS X 10.6 "Snow Leopard" onwards, Apple only supports
+Intel-based hardware. This means you can safely skip this section unless
+you have an older Apple computer running on ppc or wish to create a perl
+binary with backwards compatibility.
 
+You can compile perl as a universal binary (built for both ppc and intel).
+In Mac OS X 10.4 "Tiger", you must export the 'u' variant of the SDK:
+
     export SDK=/Developer/SDKs/MacOSX10.4u.sdk
 
+Mac OS X 10.5 "Leopard" and above do not require the 'u' variant.
+
 In addition to the compiler flags used to select the SDK, also add the flags
 for creating a universal binary:
 
@@ -69,12 +106,6 @@
                 -Aldflags="-arch i686 -arch ppc -Wl,-syslibroot,$SDK" \
                 -de
 
-In Leopard (MacOSX 10.5.6 at the time of this writing) you must use the 10.5 SDK:
-
-    export SDK=/Developer/SDKs/MacOSX10.5.sdk
-
-You can use the same compiler flags you would use with the 10.4u SDK.
-
 Keep in mind that these compiler and linker settings will also be used when
 building CPAN modules. For XS modules to be compiled as a universal binary, any
 libraries it links to must also be universal binaries. The system libraries that
@@ -125,17 +156,15 @@
 for pre-binding.
 
 You can override the default and build a shared libperl if you wish
-(S<Configure ... -Duseshrlib>), but the load time on pre-10.4 OS
-releases will be greater than either the static library, or Apple's
-pre-bound dynamic library.
+(S<Configure ... -Duseshrplib>).
 
-With 10.4 "Tiger" and newer, Apple has all but eliminated the performance
-penalty for non-prebound libraries.
+With Mac OS X 10.4 "Tiger" and newer, there is almost no performance
+penalty for non-prebound libraries. Earlier releases will suffer a greater
+load time than either the static library, or Apple's pre-bound dynamic library.
 
-
 =head2 Updating Apple's Perl
 
-In a word - don't, at least without a *very* good reason. Your scripts
+In a word - don't, at least not without a *very* good reason. Your scripts
 can just as easily begin with "#!/usr/local/bin/perl" as with
 "#!/usr/bin/perl". Scripts supplied by Apple and other third parties as
 part of installation packages and such have generally only been tested
@@ -179,36 +208,11 @@
 
 Starting with Tiger (Mac OS X 10.4), Apple shipped broken locale files for
 the eu_ES locale (Basque-Spain).  In previous releases of Perl, this resulted in
-failures in the C<lib/locale> test. These failures have been suppressed
+failures in the F<lib/locale> test. These failures have been suppressed
 in the current release of Perl by making the test ignore the broken locale.
 If you need to use the eu_ES locale, you should contact Apple support.
 
-=head2 MacPerl
 
-Quite a bit has been written about MacPerl, the Perl distribution for
-"Classic MacOS" - that is, versions 9 and earlier of MacOS. Because it
-runs in environment that's very different from that of UNIX, many things
-are done differently in MacPerl. Modules are installed using a different
-procedure, Perl itself is built differently, path names are different,
-etc.
-
-From the perspective of a Perl programmer, Mac OS X is more like a
-traditional UNIX than Classic MacOS. If you find documentation that
-refers to a special procedure that's needed for MacOS that's drastically
-different from the instructions provided for UNIX, the MacOS
-instructions are quite often intended for MacPerl on Classic MacOS. In
-that case, the correct procedure on Mac OS X is usually to follow the
-UNIX instructions, rather than the MacPerl instructions.
-
-
-=head2 Carbon
-
-MacPerl ships with a number of modules that are used to access the
-classic MacOS toolbox. Many of these modules have been updated to use
-Mac OS X's newer "Carbon" toolbox, and are available from CPAN in the
-"Mac::Carbon" module.
-
-
 =head2 Cocoa
 
 There are two ways to use Cocoa from Perl. Apple's PerlObjCBridge
@@ -249,7 +253,7 @@
 After this you can either copy Perl from your operating system media
 (you will need at least the /System/Library/Perl and /usr/bin/perl),
 or rebuild Perl from the source code with C<Configure -Dprefix=/usr
--Dusershrplib> NOTE: the C<-Dprefix=/usr> to replace the system Perl
+-Duseshrplib> NOTE: the C<-Dprefix=/usr> to replace the system Perl
 works much better with Perl 5.8.1 and later, in Perl 5.8.0 the
 settings were not quite right.
 
@@ -261,10 +265,10 @@
 =head1 AUTHOR
 
 This README was written by Sherm Pendley E<lt>sherm at dot-app.orgE<gt>,
-and subsequently updated by Dominic Dunlop E<lt>domo at computer.orgE<gt>.
-The "Starting From Scratch" recipe was contributed by John Montbriand
-E<lt>montbriand at apple.comE<gt>.
+and subsequently updated by Dominic Dunlop E<lt>domo at computer.orgE<gt>
+and Breno G. de Oliveira E<lt>garu at cpan.orgE<gt>. The "Starting From Scratch"
+recipe was contributed by John Montbriand E<lt>montbriand at apple.comE<gt>.
 
 =head1 DATE
 
-Last modified 2006-02-24.
+Last modified 2013-04-29.


Property changes on: vendor/perl/dist/README.macosx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: vendor/perl/dist/README.micro
===================================================================
--- vendor/perl/dist/README.micro	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.micro	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.micro
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Deleted: vendor/perl/dist/README.mpeix
===================================================================
--- vendor/perl/dist/README.mpeix	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.mpeix	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,711 +0,0 @@
-If you read this file _as_is_, just ignore the funny characters you
-see. It is written in the POD format (see perlpod manpage) which is
-specially designed to be readable as is.
-
-=head1 NAME
-
-README.mpeix - Perl/iX for HP e3000 MPE
-
-=head1 SYNOPSIS
-
-   http://www.bixby.org/mark/perlix.html
-   Perl language for MPE
-   Last updated January 12, 2006 @ 2100 UTC
-
-
-=head1 NOTE
-
-This is a podified version of what used to be on the above-mentioned web page,
-podified by Jarkko Hietaniemi 2001-Jan-01.
-
-=head1 What's New in Perl for MPE/iX
-
-January 12, 2006
-
-=over 4
-
-=item *
-
-Updated for perl-5.8.8 and perl-5.9.3 by Ken Hirsch.
-
-Simplified the build process by using the MPEAUTOCONF
-functionality in Mark Klein's ld.
-
-If you build this from scratch, make sure you have a version
-of ld which supports it.  In the shell, type
-
-  ld --help
-    and look for AUTOCONF or MPEAUTOCONF near the bottom
-
-  or do this:
-  ld --help 2>&1 | grep AUTOCONF
-
-If you see don't see AUTOCONF or MPEAUTOCONF, make sure you get a new
-version.
-
-You also do not have to use mpeix/relink after building, so the
-recommend sequence is:
-
-  ./Configure -de
-
-      # or ./Configure -de -Dusedevel 
-      # if you're building a development version
-
-  make
-  make test
-     # if you run this in a job, do "make test_notty"
-
-  make install
-
-Be prepared for a wait. These take much longer on MPE/iX than on a Unix
-system, because of a slow forking, mostly.  On a lightly-loaded HP3000
-Series 979 running MPE/iX 7.5:
-
-    Configure: 1 hour
-    make:      1 hour 15 minutes
-    make test  1 hour 45 minutes
-
-Various socket problems were fixed in mpeix.c.
-
-Mark Klein provided a fixed sigsetjmp (that works with dynamic
-libraries) in mpeix_setjmp.c
-
-=back
-
-June 1, 2000
-
-=over 4
-
-=item *
-
-Rebuilt to be compatible with mod_perl.  If you plan on using
-mod_perl, you MUST download and install this version of Perl/iX!
-
-=item *
-
-uselargefiles="undef": not available in MPE for POSIX files yet.
-
-=item *
-
-Now bundled with various add-on packages:
-
-=over 8
-
-=item *
-
-libnet (as seen on CPAN)
-
-=item *
-
-libwww-perl (LWP) which lets Perl programs behave like web browsers:
-
-=item *
-
-mod_perl (just the perl portion; the actual DSO will be released
-soon with Apache/iX 1.3.12 from bixby.org).  This module allows you to
-write high performance persistent Perl CGI scripts and all sorts of
-cool things. (L<http://perl.apache.org/>)
-
-and much much more hiding under /PERL/PUB/.cpan/
-
-=item *
-
-The CPAN module now works for automatic downloading and
-installing of add-on packages:
-
-    1. export FTP_PASSIVE=1
-    2. perl -MCPAN -e shell
-    3. Ignore any terminal I/O related complaints!
-
-(L<http://search.cpan.org/dist/CPAN/>)
-
-=back
-
-=back
-
-May 20, 2000
-
-=over 4
-
-=item *
-
-Updated to version 5.6.0.  Builds straight out of the box on MPE/iX.
-
-=item *
-
-Perl's getpwnam() function which had regressed to being
-unimplemented on MPE is now implemented once again.
-
-=back
-
-September 17, 1999
-
-=over 4
-
-=item *
-
-Migrated from cccd.edu to bixby.org.
-
-=back
-
-=head1 Welcome to Perl/iX
-
-This is the official home page for the HP e3000 MPE/iX
-( L<http://www.hp.com/go/e3000> ) port of the Perl scripting
-language ( L<http://www.perl.com/> ) which gives you all of the power of C,
-awk, sed, and sh in a single language. Check here for the latest news,
-implemented functionality, known bugs, to-do list, etc. Status reports
-about major milestones will also be posted to the HP3000-L mailing list
-( L<http://www.lsoft.com/scripts/wl.exe?SL1=HP3000-L&H=RAVEN.UTC.EDU> ) and
-its associated gatewayed newsgroup comp.sys.hp.mpe.
-
-I'm doing this port because I can't live without Perl on the Unix
-machines that I administer, and I want to have the same power
-available to me on MPE.
-
-Please send your comments, questions, and bug reports directly to me,
-Mark Bixby ( L<http://www.bixby.org/mark/> ). Or just post them to HP3000-L.
-
-The platform I'm using to do this port is an HP 3000 957RX running
-MPE/iX 6.0 and using the GNU gcc C compiler
-( L<http://jazz.external.hp.com/src/gnu/gnuframe.html> ).
-
-The combined porting wisdom from all of my ports can be found in my
-MPE/iX Porting Guide (L<http://www.bixby.org/mark/porting.html>).
-
-IMPORTANT NOTICE: Yes, I do work for the HP CSY R&D lab, but ALL of
-the software you download from bixby.org is my personal freeware that
-is NOT supported by HP.
-
-=head1 System Requirements for Perl/iX
-
-=over 4
-
-=item *
-
-MPE/iX 5.5 or later. This version of Perl/iX does NOT run on
-MPE/iX 5.0 or earlier, nor does it run on "classic" MPE/V machines.
-
-=item *
-
-If you wish to recompile Perl, you must install both GNUCORE and
-GNUGCC from jazz (L<http://jazz.external.hp.com/src/gnu/gnuframe.html>).
-
-=item *
-
-Perl/iX will be happier on MPE/iX 5.5 if you install the MPEKX40B
-extended POSIX filename characters patch, but this is optional.
-
-=item *
-
-Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to
-prevent Perl/iX from dying with an unresolved external reference
-to _getenv_libc.
-
-=item *
-
-If you will be compiling Perl/iX yourself, you will also need
-Syslog/iX ( L<http://www.bixby.org/mark/syslogix.html> ) and the
-/BIND/PUB/include and /BIND/PUB/lib portions of BIND/iX
-( L<http://www.bixby.org/mark/bindix.html> ).
-
-=back
-
-=head1 How to Obtain Perl/iX
-
-=over 4
-
-=item 1.
-
-Download Perl using either FTP.ARPA.SYS or some other client
-
-=item 2.
-
-Extract the installation script
-
-=item 3.
-
-Edit the installation script
-
-=item 4.
-
-Run the installation script
-
-=item 5.
-
-Convert your *.a system archive libraries to *.sl shared libraries
-
-=back
-
-Download Perl using FTP.ARPA.SYS from your HP 3000 (the preferred
-method).....
-
-    :HELLO MANAGER.SYS
-    :XEQ FTP.ARPA.SYS
-    open ftp.bixby.org
-    anonymous
-    your at email.address
-    bytestream
-    cd /pub/mpe
-    get perl-5.6.0-mpe.tar.Z /tmp/perl.tar.Z;disc=2147483647
-    exit
-
-.....Or download using some other generic web or ftp client (the alternate
-method)
-
-Download the following files (make sure that you use "binary mode" or
-whatever client feature that is 8-bit clean):
-
-=over 4
-
-=item *
-
-Perl from
-
-    http://www.bixby.org/ftp/pub/mpe/perl-5.6.0-mpe.tar.Z
-
-or
-
-    ftp://ftp.bixby.org/pub/mpe/perl-5.6.0-mpe.tar.Z
-
-=item *
-
-Upload those files to your HP 3000 in an 8-bit clean bytestream manner to:
-
-    /tmp/perl.tar.Z
-
-=item *
-
-Then extract the installation script (after both download methods)
-
-    :CHDIR /tmp
-    :XEQ TAR.HPBIN.SYS 'xvfopz /tmp/perl.tar.Z INSTALL'
-
-=item *
-
-Edit the installation script
-
-Examine the accounting structure creation commands and modify if
-necessary (adding additional capabilities, choosing a non-system
-volume set, etc).
-
-    :XEQ VI.HPBIN.SYS /tmp/INSTALL
-
-=item *
-
-Run the installation script.
-
-The accounting structure will be created and then all files will be
-extracted from the archive.
-
-    :XEQ SH.HPBIN.SYS /tmp/INSTALL
-
-=item *
-
-Convert your *.a system archive libraries to *.sl shared libraries
-
-You only have to do this ONCE on your MPE/iX 5.5 machine in order to
-convert /lib/lib*.a and /usr/lib/lib*.a libraries to their *.sl
-equivalents.  This step should not be necessary on MPE/iX 6.0 or later
-machines because the 6.0 or later update process does it for you.
-
-    :XEQ SH.HPBIN.SYS /PERL/PUB/LIBSHP3K
-
-=back
-
-=head1 Perl/iX Distribution Contents Highlights
-
-=over 4
-
-=item README
-
-The file you're reading now.
-
-=item INSTALL
-
-Perl/iX Installation script.
-
-=item LIBSHP3K
-
-Script to convert *.a system archive libraries to *.sl shared libraries.
-
-=item PERL
-
-Perl NMPRG executable.  A version-numbered backup copy also
-exists.  You might wish to "ln -s /PERL/PUB/PERL /usr/local/bin/perl".
-
-=item .cpan/
-
-Much add-on source code downloaded with the CPAN module.
-
-=item lib/
-
-Perl libraries, both core and add-on.
-
-=item man/
-
-Perl man page documentation.
-
-=item public_html/feedback.cgi
-
-Sample feedback CGI form written in Perl.
-
-=item src/perl-5.6.0-mpe
-
-Source code.
-
-=back
-
-=head1 How to Compile Perl/iX
-
-=over 4
-
-=item 1.
-
-cd src/perl-5.6.0-mpe
-
-=item 2.
-
-Read the INSTALL file for the official instructions
-
-=item 3.
-
-./Configure -d
-
-=item  4.
-
-make
-
-=item 5.
-
-./mpeix/relink
-
-=item  6.
-
-make test (expect approximately 15 out of 11306 subtests to fail,
-mostly due to MPE not supporting hard links, UDP socket problems,
-and handling exit() return codes improperly)
-
-=item 7.
-
-make install
-
-=item 8.
-
-Optionally create symbolic links that point to the Perl
-executable, i.e. ln -s /PERL/PUB/PERL /usr/local/bin/perl
-
-=back
-
-The summary test results from "cd t; ./perl -I../lib harness":
-
-  Failed Test  Status Wstat Total Fail  Failed  List of failed
-  ---------------------------------------------------------------------------
-  io/fs.t                      29    8  27.59%  2-5, 7-9, 11
-  io/openpid.t                 10    1  10.00%  7
-  lib/io_sock.t                14    1   7.14%  13
-  lib/io_udp.t                  7    2  28.57%  3, 5
-  lib/posix.t                  27    1   3.70%  12
-  op/lex_assign.t             187    1   0.53%  13
-  op/stat.t                    58    1   1.72%  3
-  15 tests and 94 subtests skipped.
-  Failed 7/236 test scripts, 97.03% okay. 15/11306 subtests failed, 99.87% okay.
-
-=head1 Getting Started with Perl/iX
-
-Create your Perl script files with "#!/PERL/PUB/perl" (or an
-equivalent symbolic link) as the first line.  Use the chmod command to
-make sure that your script has execute permission. Run your script!
-
-Be sure to take a look at the CPAN module list
-( L<http://www.cpan.org/CPAN.html> ). A wide variety of free Perl software
-is available.  You can automatically download these packages by using
-the CPAN module ( L<http://search.cpan.org/dist/CPAN/> ).
-
-=head1 MPE/iX Implementation Considerations
-
-There some minor functionality issues to be aware of when comparing
-Perl for Unix (Perl/UX) to Perl/iX:
-
-=over 4
-
-=item *
-
-MPE gcc/ld doesn't properly support linking NMPRG executables against
-NMXL dynamic libraries, so you must manually run mpeix/relink after
-each re-build of Perl.
-
-=item *
-
-Perl/iX File::Copy will use MPE's /bin/cp command to copy files by
-name in order to preserve file attributes like file code.
-
-=item *
-
-MPE (and thus Perl/iX) lacks support for setgrent(), endgrent(),
-setpwent(), endpwent().
-
-=item *
-
-MPE (and thus Perl/iX) lacks support for hard links.
-
-=item *
-
-MPE requires GETPRIVMODE() in order to bind() to ports less than 1024.
-Perl/iX will call GETPRIVMODE() automatically on your behalf if you
-attempt to bind() to these low-numbered ports.  Note that the Perl/iX
-executable and the PERL account do not normally have CAP=PM, so if you
-will be bind()-ing to these privileged ports, you will manually need
-to add PM capability as appropriate.
-
-=item *
-
-MPE requires that you bind() to an IP address of zero.  Perl/iX
-automatically replaces the IP address that you pass to bind() with
-a zero.
-
-=item *
-
-MPE requires GETPRIVMODE() in order to setuid().  There are too many
-calls to setuid() within Perl/iX, so I have not attempted an automatic
-GETPRIVMODE() solution similar to bind().
-
-=back
-
-=head1 Known Perl/iX Bugs Under Investigation
-
-None.
-
-=head1 Perl/iX To-Do List
-
-=over 4
-
-=item *
-
-Make setuid()/setgid() support work.
-
-=item *
-
-Make sure that fcntl() against a socket descriptor is redirected to sfcntl().
-
-=item *
-
-Add support for Berkeley DB once I've finished porting Berkeley DB.
-
-=item *
-
-Write an MPE XS extension library containing miscellaneous important
-MPE functions like GETPRIVMODE(), GETUSERMODE(), and sfcntl().
-
-=back
-
-=head1 Perl/iX Change History
-
-May 6, 1999
-
-=over 4
-
-=item *
-
-Patch LBCJXT6A is required on MPE/iX 5.5 machines in order to prevent
-Perl/iX from dying with an unresolved external reference to _getenv_libc.
-
-=back
-
-April 7, 1999
-
-=over 4
-
-=item *
-
-Updated to version 5.005_03.
-
-=item *
-
-The official source distribution once again compiles "straight out
-of the box" for MPE.
-
-=item *
-
-The current incarnation of the 5.5 POSIX filename extended
-characters patch is now MPEKX40B.
-
-=item *
-
-The LIBSHP3K *.a -> *.sl library conversion script is now included
-as /PERL/PUB/LIBSHP3K.
-
-=back
-
-November 20, 1998
-
-=over 4
-
-=item *
-
-Updated to version 5.005_02.
-
-=item *
-
-Fixed a DynaLoader bug that was unable to load symbols from relative
-path name libraries.
-
-=item *
-
-Fixed a .xs compilation bug where the mpeixish.sh include file wasn't
-being installed into the proper directory.
-
-=item *
-
-All bugfixes will be submitted back to the official Perl developers.
-
-=item *
-
-The current incarnation of the POSIX filename extended characters
-patch is now MPEKXJ3A.
-
-=back
-
-August 14, 1998
-
-=over 4
-
-=item *
-
-The previous POSIX filename extended characters patch MPEKX44C has
-been superseded by MPEKXB5A.
-
-=back
-
-August 7, 1998
-
-=over 4
-
-=item *
-
-The previous POSIX filename extended characters patch MPEKX76A has
-been superseded by MPEKX44C.
-
-=back
-
-July 28, 1998
-
-=over 4
-
-=item *
-
-Updated to version 5.005_01.
-
-=back
-
-July 23, 1998
-
-=over 4
-
-=item *
-
-Updated to version 5.005 (production release).  The public
-freeware sources are now 100% MPE-ready "straight out of the box".
-
-=back
-
-July 17, 1998
-
-=over 4
-
-=item *
-
-Updated to version 5.005b1 (public beta release).  The public
-freeware sources are now 99.9% MPE-ready.  By installing and
-testing this beta on your own HP3000, you will be helping to
-insure that the final release of 5.005 will be 100% MPE-ready and
-100% bug free.
-
-=item *
-
-My MPE binary release is now extracted using my standard INSTALL script.
-
-=back
-
-July 15, 1998
-
-=over 4
-
-=item *
-
-Changed startperl to #!/PERL/PUB/perl so that Perl will recognize
-scripts more easily and efficiently.
-
-=back
-
-July 8, 1998
-
-=over 4
-
-=item *
-
-Updated to version 5.004_70 (internal developer release) which is now
-MPE-ready.  The next public freeware release of Perl should compile
-"straight out of the box" on MPE.  Note that this version of Perl/iX
-was strictly internal to me and never publicly released.  Note that
-[21]BIND/iX is now required (well, the include files and libbind.a) if
-you wish to compile Perl/iX.
-
-=back
-
-November 6, 1997
-
-=over 4
-
-=item *
-
-Updated to version 5.004_04.  No changes in MPE-specific functionality.
-
-=back
-
-October 16, 1997
-
-=over 4
-
-=item *
-
-Added Demos section to the Perl/iX home page so you can see some
-sample Perl applications running on my 3000.
-
-=back
-
-October 3, 1997
-
-=over 4
-
-=item *
-
-Added System Requirements section to the Perl/iX home page just so the
-prerequisites stand out more. Various other home page tweaks.
-
-=back
-
-October 2, 1997
-
-=over 4
-
-=item *
-
-Initial public release.
-
-=back
-
-September 1997
-
-=over 4
-
-=item *
-
-Porting begins.
-
-=back
-
-=head1 AUTHOR
-
-Mark Bixby, L<http://www.bixby.org/mark/>
-

Index: vendor/perl/dist/README.netware
===================================================================
--- vendor/perl/dist/README.netware	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.netware	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.netware
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.openbsd
===================================================================
--- vendor/perl/dist/README.openbsd	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.openbsd	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.openbsd - Perl version 5 on OpenBSD systems
+perlopenbsd - Perl version 5 on OpenBSD systems
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/README.openbsd
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.os2
===================================================================
--- vendor/perl/dist/README.os2	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.os2	2013-12-01 21:45:02 UTC (rev 6430)
@@ -151,7 +151,7 @@
 
 =item *
 
-You need a separate perl executable F<perl__.exe> (see L<perl__.exe>)
+You need a separate perl executable F<perl__.exe> (see L</perl__.exe>)
 if you want to use PM code in your application (as Perl/Tk or OpenGL
 Perl modules do) without having a text-mode window present.
 
@@ -162,7 +162,7 @@
 =item *
 
 There is no simple way to access WPS objects. The only way I know
-is via C<OS2::REXX> and C<SOM> extensions (see L<OS2::REXX>, L<Som>).
+is via C<OS2::REXX> and C<SOM> extensions (see L<OS2::REXX>, L<SOM>).
 However, we do not have access to
 convenience methods of Object-REXX. (Is it possible at all? I know
 of no Object-REXX API.)  The C<SOM> extension (currently in alpha-text)
@@ -186,7 +186,7 @@
 environments. This depends on the features the I<extender> - most
 probably RSX - decided to implement.
 
-Cf. L<Prerequisites>.
+Cf. L</Prerequisites>.
 
 =head2 Prerequisites
 
@@ -196,7 +196,7 @@
 
 EMX runtime is required (may be substituted by RSX). Note that
 it is possible to make F<perl_.exe> to run under DOS without any
-external support by binding F<emx.exe>/F<rsx.exe> to it, see L<emxbind>. Note
+external support by binding F<emx.exe>/F<rsx.exe> to it, see C<emxbind>. Note
 that under DOS for best results one should use RSX runtime, which
 has much more functions working (like C<fork>, C<popen> and so on). In
 fact RSX is required if there is no VCPI present. Note the
@@ -264,7 +264,7 @@
 or in configurable location (see L<"PERL_SH_DIR">).
 
 For best results use EMX pdksh. The standard binary (5.2.14 or later) runs
-under DOS (with L<RSX>) as well, see
+under DOS (with L</RSX>) as well, see
 
   http://www.ilyaz.org/software/os2/
 
@@ -315,7 +315,7 @@
 There are also endless possibilities to use I<executable extensions> of
 4os2, I<associations> of WPS and so on... However, if you use
 *nixish shell (like F<sh.exe> supplied in the binary distribution),
-you need to follow the syntax specified in L<perlrun/"Switches">.
+you need to follow the syntax specified in L<perlrun/"Command Switches">.
 
 Note that B<-S> switch supports scripts with additional extensions 
 F<.cmd>, F<.btm>, F<.bat>, F<.pl> as well.
@@ -435,7 +435,7 @@
 =item *
 
 Did you run your programs with C<-w> switch? See 
-L<Starting OS/2 (and DOS) programs under Perl>.
+L<Starting OSE<sol>2 (and DOS) programs under Perl>.
 
 =item *
 
@@ -475,10 +475,10 @@
 =head2 C<``> and pipe-C<open> do not work under DOS.
 
 This may a variant of just L<"I cannot run external programs">, or a
-deeper problem. Basically: you I<need> RSX (see L<"Prerequisites">)
+deeper problem. Basically: you I<need> RSX (see L</Prerequisites>)
 for these commands to work, and you may need a port of F<sh.exe> which
 understands command arguments. One of such ports is listed in
-L<"Prerequisites"> under RSX. Do not forget to set variable
+L</Prerequisites> under RSX. Do not forget to set variable
 C<L<"PERL_SH_DIR">> as well.
 
 DPMI is required for RSX.
@@ -557,7 +557,7 @@
 
 B<NOTE>. Because of a typo the binary installer of 5.00305
 would install a variable C<PERL_SHPATH> into F<Config.sys>. Please
-remove this variable and put C<L<PERL_SH_DIR>> instead.
+remove this variable and put C<L</PERL_SH_DIR>> instead.
 
 =head2 Manual binary installation
 
@@ -618,7 +618,7 @@
 
 =item Additional Perl modules
 
-  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.14.0/
+  unzip perl_ste.zip -d f:/perllib/lib/site_perl/5.18.1/
 
 Same remark as above applies.  Additionally, if this directory is not
 one of directories on @INC (and @INC is influenced by C<PERLLIB_PREFIX>), you
@@ -1061,7 +1061,7 @@
 to convert perl utilities to F<.cmd> files and put them on
 PATH. You need to put F<.EXE>-utilities on path manually. They are
 installed in C<$prefix/bin>, here C<$prefix> is what you gave to
-F<Configure>, see L<Making>.
+F<Configure>, see L</Making>.
 
 If you use C<man>, either move the installed F<*/man/> directories to
 your C<MANPATH>, or modify C<MANPATH> to match the location.  (One
@@ -1111,7 +1111,7 @@
 Fully build and test the Perl distribution.  Make sure that no tests are
 failing with C<test> and C<aout_test> targets; fix the bugs in Perl and
 the Perl test suite detected by these tests.  Make sure that C<all_test>
-make target runs as clean as possible.  Check that C<os2/perlrexx.cmd>
+make target runs as clean as possible.  Check that F<os2/perlrexx.cmd>
 runs fine.
 
 =item 2.
@@ -1264,7 +1264,7 @@
 files to this new location.  Redo the tests to make sure that the versions of
 modules inherited from older versions of Perl are not needed.
 
-Actually, the log output of L<pod2ipf> during the step 6 gives a very detailed
+Actually, the log output of L<pod2ipf(1)> during the step 6 gives a very detailed
 info about which modules are loaded from which place; so you may use it as
 an additional verification tool.
 
@@ -1461,7 +1461,7 @@
 
       if (_execname(buf, sizeof(buf) - 13) != 0)
           die_with("Can't find full path: ", strerror(errno), "", "");
-      /* XXXX Fill `me' with new value */
+      /* XXXX Fill 'me' with new value */
       l = strlen(buf);
       while (l && buf[l-1] != '/' && buf[l-1] != '\\')
           l--;
@@ -1521,11 +1521,11 @@
 
 =head2 Some C</> became C<\> in pdksh.
 
-You have a very old pdksh. See L<Prerequisites>.
+You have a very old pdksh. See L</Prerequisites>.
 
 =head2 C<'errno'> - unresolved external
 
-You do not have MT-safe F<db.lib>. See L<Prerequisites>.
+You do not have MT-safe F<db.lib>. See L</Prerequisites>.
 
 =head2 Problems with tr or sed
 
@@ -1538,11 +1538,11 @@
 
 =head2 Library ... not found
 
-You did not run C<omflibs>. See L<Prerequisites>.
+You did not run C<omflibs>. See L</Prerequisites>.
 
 =head2 Segfault in make
 
-You use an old version of GNU make. See L<Prerequisites>.
+You use an old version of GNU make. See L</Prerequisites>.
 
 =head2 op/sprintf test failure
 
@@ -2217,8 +2217,7 @@
 =head2 Why strange names?
 
 Since Perl processes the C<#!>-line (cf. 
-L<perlrun/DESCRIPTION>, L<perlrun/Switches>,
-L<perldiag/"Not a perl script">, 
+L<perlrun/DESCRIPTION>, L<perlrun/Command Switches>,
 L<perldiag/"No Perl script found in input">), it should know when a
 program I<is a Perl>. There is some naming convention which allows
 Perl to distinguish correct lines from wrong ones. The above names are
@@ -2548,8 +2547,9 @@
 
 B<REMARK>.  C<LIBPATHSTRICT>, C<BEGINLIBPATH> and C<ENDLIBPATH> are
 not environment variables, although F<cmd.exe> emulates them on C<SET
-...> lines.  From Perl they may be accessed by L<Cwd::extLibpath> and
-L<Cwd::extLibpath_set>.
+...> lines.  From Perl they may be accessed by
+L<Cwd::extLibpath|/Cwd::extLibpath([type])> and
+L<Cwd::extLibpath_set|/Cwd::extLibpath_set( path [, type ] )>.
 
 =head2 DLL forwarder generation
 
@@ -2604,7 +2604,7 @@
 with F<cmd.exe> as a shell, thus I picked up C<sh.exe>. This assures almost
 100% compatibility with the scripts coming from *nix. As an added benefit 
 this works as well under DOS if you use DOS-enabled port of pdksh 
-(see L<"Prerequisites">).
+(see L</Prerequisites>).
 
 B<Disadvantages:> currently F<sh.exe> of pdksh calls external programs
 via fork()/exec(), and there is I<no> functioning exec() on
@@ -2637,7 +2637,7 @@
 cannot test it.
 
 For the details of the current situation with calling external programs,
-see L<Starting OS/2 (and DOS) programs under Perl>.  Set us mention a couple
+see L<Starting OSE<sol>2 (and DOS) programs under Perl>.  Set us mention a couple
 of features:
 
 =over 4
@@ -2699,7 +2699,7 @@
 =head1 BUGS
 
 This description is not updated often (since 5.6.1?), see F<./os2/Changes>
-(L<perlos2delta>) for more info.
+for more info.
 
 =cut
 


Property changes on: vendor/perl/dist/README.os2
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.os390
===================================================================
--- vendor/perl/dist/README.os390	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.os390	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 
 =head1 NAME
 
-README.os390 - building and installing Perl for OS/390 and z/OS
+perlos390 - building and installing Perl for OS/390 and z/OS
 
 =head1 SYNOPSIS
 
@@ -410,13 +410,13 @@
 
 =head2 Mailing list for Perl on OS/390
 
-If you are interested in the VM/ESA, z/OS (formerly known as OS/390)
+If you are interested in the z/OS (formerly known as OS/390)
 and POSIX-BC (BS2000) ports of Perl then see the perl-mvs mailing list.
 To subscribe, send an empty message to perl-mvs-subscribe at perl.org.
 
 See also:
 
-    http://lists.perl.org/showlist.cgi?name=perl-mvs
+    http://lists.perl.org/list/perl-mvs.html
 
 There are web archives of the mailing list at:
 


Property changes on: vendor/perl/dist/README.os390
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.os400
===================================================================
--- vendor/perl/dist/README.os400	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.os400	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.os400 - Perl version 5 on OS/400
+perlos400 - Perl version 5 on OS/400
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/README.os400
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: vendor/perl/dist/README.plan9
===================================================================
--- vendor/perl/dist/README.plan9	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.plan9	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.plan9
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.qnx
===================================================================
--- vendor/perl/dist/README.qnx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.qnx	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.qnx - Perl version 5 on QNX
+perlqnx - Perl version 5 on QNX
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/README.qnx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.riscos
===================================================================
--- vendor/perl/dist/README.riscos	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.riscos	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.riscos - Perl version 5 for RISC OS
+perlriscos - Perl version 5 for RISC OS
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/README.riscos
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.solaris
===================================================================
--- vendor/perl/dist/README.solaris	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.solaris	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.solaris - Perl version 5 on Solaris systems
+perlsolaris - Perl version 5 on Solaris systems
 
 =head1 DESCRIPTION
 
@@ -143,18 +143,25 @@
 Several tools needed to build perl are located in /usr/ccs/bin/:  ar,
 as, ld, and make.  Make sure that /usr/ccs/bin/ is in your PATH.
 
-You need to make sure the following packages are installed
-(this info is extracted from the Solaris FAQ):
 
+On all the released versions of Solaris (8, 9 and 10) you need to make sure the following packages are installed (this info is extracted from the Solaris FAQ):
+
 for tools (sccs, lex, yacc, make, nm, truss, ld, as): SUNWbtool,
 SUNWsprot, SUNWtoo
 
 for libraries & headers: SUNWhea, SUNWarc, SUNWlibm, SUNWlibms, SUNWdfbh,
-SUNWcg6h, SUNWxwinc, SUNWolinc
+SUNWcg6h, SUNWxwinc
 
+Additionaly, on Solaris 8 and 9 you also need:
+
 for 64 bit development: SUNWarcx, SUNWbtoox, SUNWdplx, SUNWscpux,
 SUNWsprox, SUNWtoox, SUNWlmsx, SUNWlmx, SUNWlibCx
 
+And only on Solaris 8 you also need:
+
+for libraries & headers: SUNWolinc
+
+
 If you are in doubt which package contains a file you are missing,
 try to find an installation that has that file. Then do a
 


Property changes on: vendor/perl/dist/README.solaris
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.symbian
===================================================================
--- vendor/perl/dist/README.symbian	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.symbian	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.symbian - Perl version 5 on Symbian OS
+perlsymbian - Perl version 5 on Symbian OS
 
 =head1 DESCRIPTION
 
@@ -301,7 +301,7 @@
 
 =head1 TO DO
 
-Lots.  See F<symbian\TODO>.
+Lots.  See F<symbian/TODO>.
 
 =head1 WARNING
 


Property changes on: vendor/perl/dist/README.symbian
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.tru64
===================================================================
--- vendor/perl/dist/README.tru64	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.tru64	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 NAME
 
-README.tru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
+perltru64 - Perl version 5 on Tru64 (formerly known as Digital UNIX formerly known as DEC OSF/1) systems
 
 =head1 DESCRIPTION
 
@@ -37,7 +37,7 @@
 Also, Configure might abort with
 
     Build a threading Perl? [n]
-    Configure[2437]: Syntax error at line 1 : `config.sh' is not expected.
+    Configure[2437]: Syntax error at line 1 : 'config.sh' is not expected.
 
 This indicates that Configure is being run with a broken Korn shell
 (even though you think you are using a Bourne shell by using


Property changes on: vendor/perl/dist/README.tru64
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.tw
===================================================================
(Binary files differ)

Index: vendor/perl/dist/README.tw
===================================================================
--- vendor/perl/dist/README.tw	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.tw	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/README.tw
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Deleted: vendor/perl/dist/README.uts
===================================================================
--- vendor/perl/dist/README.uts	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.uts	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,107 +0,0 @@
-If you read this file _as_is_, just ignore the funny characters you
-see. It is written in the POD format (see perlpod manpage) which is
-specially designed to be readable as is.
-
-=head1 NAME
-
-perluts - Perl under UTS
-
-=head1 SYNOPSIS
-
-This document can be read I<as is>: as F<README.uts>, or you
-can read it after you build your package using "man perluts".
-
-The purpose is to help you build Perl for UTS, which, if you
-follow these instructions, should be easy, and result in
-a solidly working installation.
-
-=head1 DESCRIPTION
-
-Perl 5.7.2 (Developmental) or Perl 5.8.x (forthcoming) for UTS
-
-=head1 BUILDING PERL ON UTS
-
-NOTE: Some sites have redefined the way uname works, and if yours
-does this, special steps must be taken so that Configure can
-recognize your system as a UTS system.  To see if you are in
-this category, issue the command "uname -a".  It should look
-something like:
-
-  uts juno 4 4.4 9672 370
-
-At any rate, the first field should be "uts".  If this is not
-the case; supposing it is, say telcoUTS, create a script, uts/uname
-(i.e. uname, in the subdirectory "uts" of the main Perl source dir):
-   # uname
-   /usr/bin/uname "$@" | sed -e 's/^telcoUTS/uts/'
-
-and when you execute Configure, do it as below, except for adding
-PATH=uts:$PATH as a prefix.  I.e. do:
-
-   PATH=uts:$PATH ./Configure ...
-
-There is no need to do an interactive configure, just type
-
-  ./Configure -de [-Dusedevel] [-Doptimize=-g ] 2>&1 | tee Conf.out
-
-"-Dusedevel" may be required to configure Perl 5.7.2 non-interactively.
-Use -Doptimize=-g if you want to run Perl under sdb or gdb, OR
-if you want to be able to use the -D command line flags to perl,
-which are occasionally useful in debugging perl scripts.
-
-In this and the following steps, the "2>&1 | tee XXX.out" records all
-output from the process, which will be useful if anything unexpected
-goes wrong.
-
-Then do the compilation with
-
-  make 2>&1 | tee make.out
-
-Finally, test using
-
-  make test 2>&1 | tee make-test.out
-
-In the output, the only failures you should see should look like:
-
-   lib/Math/BigInt/t/bigfltpm.........Use of uninitialized value ...
-   FAILED at test 57
-   lib/Math/BigInt/t/bigintc..........ok
-   lib/Math/BigInt/t/bigintpm.........FAILED at test 204
-   lib/Math/BigInt/t/mbimbf...........Use of uninitialized value ...
-   Illegal division by zero at ../lib/Math/BigInt/Calc.pm line 314.
-   FAILED at test 71
-   lib/Math/Complex...................exp: OVERFLOW
-   FAILED at test 250
-   lib/Math/Trig......................exp: OVERFLOW
-   ok
-   lib/Memoize/t/array................ok
-   	...
-   lib/Net/protoent...................ok
-   lib/Net/servent....................FAILED at test 0
-
-This means that everything passes except for some problems in the
-packages "Math::BigInt", "Math::Complex", and "Math::Trig".
-The lib/Net/servent failure seems to be a bug in the test
-program.  To confirm this, from the main Perl source dir, do:
-
-   LD_LIBRARY_PATH=`pwd` ./perl -Ilib lib/Net/servent.t
-
-and it should output
-
-   1..3
-   ok 1
-   ok 2
-   ok 3
-
-=head1 Installing the built perl on UTS
-
-Run the command "make install"
-
-=head1 AUTHOR
-
-   Hal Morris
-   UTS Global LLC
-   email: hom00 at utsglobal.com
-
-=cut
-

Deleted: vendor/perl/dist/README.vmesa
===================================================================
--- vendor/perl/dist/README.vmesa	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.vmesa	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,140 +0,0 @@
-
-This document is written in pod format hence there are punctuation
-characters in odd places.  Do not worry, you've apparently got
-the ASCII->EBCDIC translation worked out correctly.  You can read
-more about pod in pod/perlpod.pod or the short summary in the
-INSTALL file.
-
-=head1 NAME
-
-README.vmesa - building and installing Perl for VM/ESA.
-
-=head1 SYNOPSIS
-
-This document will help you Configure, build, test and install Perl
-on VM/ESA.
-
-=head1 DESCRIPTION
-
-This is a fully ported perl for VM/ESA 2.3.0.  It may work on
-other versions, but that's the one we've tested it on.
-
-If you've downloaded the binary distribution, it needs to be
-installed below /usr/local.  Source code distributions have an
-automated "make install" step that means you do not need to extract
-the source code below /usr/local (though that is where it will be
-installed by default).  You may need to worry about the networking
-configuration files discussed in the last bullet below.
-
-=head2 Unpacking Perl Distribution on VM/ESA
-
-To extract an ASCII tar archive on VM/ESA, try this:
-
-   pax -o to=IBM-1047,from=ISO8859-1 -r < latest.tar
-
-=head2 Setup Perl and utilities on VM/ESA
-
-GNU make for VM/ESA, which may be required for the build of perl,
-is available from:
-
-L<http://vm.marist.edu/~neale/vmoe.html>
-
-=head2 Configure Perl on VM/ESA
-
-Once you've unpacked the distribution, run Configure (see INSTALL for
-full discussion of the Configure options), and then run make, then
-"make test" then "make install" (this last step may require UID=0
-privileges).
-
-There is a "hints" file for vmesa that specifies the correct values
-for most things.  Some things to watch out for are:
-
-=over 4
-
-=item *
-
-this port does support dynamic loading but it's not had much testing
-
-=item *
-
-Don't turn on the compiler optimization flag "-O".  There's
-a bug in the compiler (APAR PQ18812) that generates some bad code
-the optimizer is on.
-
-=item *
-
-As VM/ESA doesn't fully support the fork() API programs relying on
-this call will not work. I've replaced fork()/exec() with spawn()
-and the standalone exec() with spawn(). This has a side effect when
-opening unnamed pipes in a shell script: there is no child process
-generated under.
-
-=item *
-
-At the moment the hints file for VM/ESA basically bypasses all of the
-automatic configuration process.  This is because Configure relies on:
-1. The header files living in the Byte File System (you could put the
-there if you want); 2. The C preprocessor including the #include 
-statements in the preprocessor output (.i) file.
-
-=back
-
-=head2 Testing Anomalies of Perl on VM/ESA
-
-The "make test" step runs a Perl Verification Procedure, usually before
-installation.  As the 5.6.1 kit was being assembled
-the following "failures" were known to appear on some machines
-during "make test" (mostly due to ASCII vs. EBCDIC conflicts),
-your results may differ:
-
-[the list of failures being compiled]
-
-=head2 Usage Hints for Perl on VM/ESA
-
-When using perl on VM/ESA please keep in mind that the EBCDIC and ASCII
-character sets are different.  Perl builtin functions that may behave
-differently under EBCDIC are mentioned in the perlport.pod document.
-
-OpenEdition (UNIX System Services) does not (yet) support the #! means
-of script invocation.
-See:
-
-    head `whence perldoc`
-
-for an example of how to use the "eval exec" trick to ask the shell to
-have perl run your scripts for you.
-
-=head1 AUTHORS
-
-Neale Ferguson.
-
-=head1 SEE ALSO
-
-L<INSTALL>, L<perlport>, L<perlebcdic>.
-
-=head2 Mailing list for Perl on VM/ESA
-
-If you are interested in the VM/ESA, z/OS (formerly known as OS/390)
-and POSIX-BC (BS2000) ports of Perl then see the perl-mvs mailing list.
-To subscribe, send an empty message to perl-mvs-subscribe at perl.org.
-
-See also:
-
-L<http://lists.perl.org/showlist.cgi?name=perl-mvs>
-
-There are web archives of the mailing list at:
-
-=over 4
-
-=item *
-
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl-mvs/>
-
-=item *
-
-L<http://archive.develooper.com/perl-mvs@perl.org/>
-
-=back
-
-=cut
-

Modified: vendor/perl/dist/README.vms
===================================================================
--- vendor/perl/dist/README.vms	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.vms	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,19 +4,17 @@
 
 =head1 NAME
 
-README.vms - Configuring, building, testing, and installing perl on VMS
+perlvms - Configuring, building, testing, and installing perl on VMS
 
 =head1 SYNOPSIS
 
 To configure, build, test, and install perl on VMS:
 
-    @ Configure
-    mms
-    mms test
-    mms install
+    @configure
+    mmk
+    mmk test
+    mmk install
 
-mmk may be used in place of mms in the last three steps.
-
 =head1 DESCRIPTION
 
 =head2 Important safety tip
@@ -26,22 +24,6 @@
 you build or install.  Also please note other changes in the current
 release by having a look at L<perldelta/VMS>.
 
-Also note that, as of Perl version 5.005 and later, an ANSI C compliant 
-compiler is required to build Perl.  VAX C is I<not> ANSI compliant, as it 
-died a natural death some time before the standard was set.  Therefore 
-VAX C will not compile Perl 5.005 or later.  We are sorry about that.
-
-There have been no recent reports of builds using Gnu C, but latent
-(and most likely outdated) support for it is still present in various
-parts of the sources.  Currently the HP (formerly Compaq, and even 
-more formerly DEC) C compiler is the only viable alternative for
-building Perl.
-
-There is minimal support for HP C++ but this support is not complete;
-if you get it working please write to the vmsperl list (for info see
-L</"Mailing Lists">).
-
-
 =head2 Introduction to Perl on VMS
 
 The VMS port of Perl is as functionally complete as any other Perl port
@@ -58,7 +40,7 @@
 
 =head2 Other required software for Compiling Perl on VMS
 
-In addition to VMS and DCL you will need two things:
+In addition to VMS and DCL you will need three things:
 
 =over 4
 
@@ -69,13 +51,31 @@
 version older than 7.x on Alpha or Itanium or 6.x on VAX, you may need to 
 upgrade to get a successful build.
 
+There have been no recent reports of builds using Gnu C, but latent
+(and most likely outdated) support for it is still present in various
+parts of the sources.
+
+There is rudimentary but not quite complete support for HP C++; to try it out,
+configure with C<-"Dusecxx" -"Duser_c_flags=/WARN=INFORMATIONAL=NOCTOBUTCONREFM">.
+
 =item 2  A make tool. 
 
-HP's MMS may work, but MadGoat's free MMS analog MMK (available from
-http://www.kednos.com/kednos/Resources/MMK) has consistently worked
-better. Gnu Make might work, but it's been so long since anyone's tested
-it that we're not sure.  MMK is free though, so go ahead and use that.
+You will need the free MMS analog MMK (available from
+L<http://ftp.endlesssoftware.com.au/mmk/kits/> or 
+L<https://github.com/endlesssoftware/mmk>). HP's MMS has not been known to work for
+some time as Perl's automatically-generated description files are too complex for it,
+but MMS support may return in the future.  Gnu Make might work, but it's been so long
+since anyone's tested it that we're not sure.
 
+=item 3  ODS-5 and Extended Parse
+
+All development and testing of Perl on VMS takes place on ODS-5 volumes with
+extended parse enabled in the environment via the command C<SET PROCESS/PARSE=EXTENDED>.
+Latent support for ODS-2 volumes (including on VAX) is still present, but the number
+of components that require ODS-5 features is steadily growing and ODS-2 support may be
+completely removed in a future release.
+
+
 =back
 
 =head2 Additional software that is optional for Perl on VMS
@@ -84,39 +84,36 @@
 
 =over 4
 
-=item 1  GUNZIP/GZIP for VMS 
+=item 1  gunzip/gzip for VMS 
 
 A de-compressor for *.gz and *.tgz files available from a number 
-of web/ftp sites and is distributed on the OpenVMS Freeware CD-ROM 
-from HP.
+of web/ftp sites such as:
 
-    http://www.hp.com/go/openvms/freeware/
+    L<http://www.antinode.info/dec/sw/gzip.html>
+    L<http://vms.process.com/scripts/fileserv/fileserv.com?GZIP>
 
-=item 2  VMS TAR 
+=item 2  VMS tar 
 
-For reading and writing unix tape archives (*.tar files).  Vmstar is also 
-available from a number of web/ftp sites and is distributed on the OpenVMS
-Freeware CD-ROM from HP.
+For reading and writing Unix tape archives (*.tar files).  Vmstar is also 
+available from a number of sites such as:
 
-    http://www.hp.com/go/openvms/freeware/
+    L<http://www.antinode.info/dec/sw/vmstar.html>
+    L<http://vms.process.com/scripts/fileserv/fileserv.com?VMSTAR>
 
-Recent versions of VMS tar on ODS-5 volumes may extract tape archive
-files with ^. escaped periods in them.  See below for further workarounds.
-
 A port of GNU tar is also available as part of the GNV package:
 
-    http://h71000.www7.hp.com/opensource/gnv.html
+    L<http://h71000.www7.hp.com/opensource/gnv.html>
 
-=item 3  UNZIP for VMS
+=item 3  unzip for VMS
 
 A combination decompressor and archive reader/writer for *.zip files.  
 Unzip is available from a number of web/ftp sites.
 
-    http://www.info-zip.org/UnZip.html
-    http://www.hp.com/go/openvms/freeware/
-    ftp://ftp.process.com/vms-freeware/fileserv/
+    L<http://www.info-zip.org/UnZip.html>
+    L<http://www.hp.com/go/openvms/freeware/>
+    L<http://vms.process.com/fileserv-software.html>
 
-=item 5 GNU PATCH and DIFFUTILS for VMS
+=item 5 GNU patch and diffutils for VMS
 
 Patches to Perl are usually distributed as GNU unified or contextual diffs. 
 Such patches are created by the GNU diff program (part of the diffutils
@@ -123,12 +120,12 @@
 distribution) and applied with GNU patch.  VMS ports of these utilities are
 available here:
 
-    http://www.antinode.info/dec/sw/diffutils.html
-    http://www.hp.com/go/openvms/freeware/
+    L<http://www.antinode.info/dec/sw/diffutils.html>
+    L<http://vms.pdv-systeme.de/users/martinv/gnupatch.zip>
 
 =back
 
-Please note that UNZIP and GUNZIP are not the same thing (they work with
+Please note that unzip and gunzip are not the same thing (they work with
 different formats).  Many of the useful files from CPAN (the Comprehensive
 Perl Archive Network) are in *.tar.gz or *.tgz format (this includes copies 
 of the source code for perl as well as modules and scripts that you may 
@@ -141,47 +138,32 @@
 
 =head1 Unpacking the Perl source code
 
-You may need to set up a foreign symbol for the unpacking utility of choice.
+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:
 
-As of version 5.10.0, Perl will still build and run on ODS-2 volumes,
-including on VAX, but there are a number of modules whose temporary
-files and tests are much happier residing on ODS-5 volumes.  For
-example, CPANPLUS will fail most of its tests on an ODS-2 volume because
-it includes files with multiple dots that will have been converted to
-underscores and the tests will have difficulty finding them.  So your
-best bet is to unpack the Perl source kit on an ODS-5 volume using
-recent versions of vmstar (e.g. V3.4 or later).  Contrary to advice
-provided with previous versions of Perl, do I<not> use the ODS-2
-compatibility qualifier.  Instead, use a command like the following:
+    vmstar -xvf perl-5^.18^.1.tar
 
-    vmstar -xvf perl-5^.14^.0.tar
+Then set default to the top-level source directory like so:
 
-Then rename the top-level source directory like so:
+    set default [.perl-5^.18^.1]
 
-    set security/protection=(o:rwed) perl-5^.14^.0.dir
-    rename perl-5^.14^.0.dir perl-5_14_0.dir
+and proceed with configuration as described in the next section.
 
-The reason for this last step is that while filenames with multiple dots
-are generally supported by Perl on VMS, I<directory> names with multiple
-dots are a special case with special problems because the dot is the
-traditional directory delimiter on VMS.  Rudimentary support for
-multi-dot directory names is available, but some of the oldest and most
-essential parts of Perl (such as searching for and loading library
-modules) do not yet fully support the ODS-5 caret-escape syntax.
 
 =head1 Configuring the Perl build
 
 To configure perl (a necessary first step), issue the command
 
-   @ Configure
+   @configure.com
 
 from the top of an unpacked perl source directory.  You will be asked a 
 series of questions, and the answers to them (along with the capabilities 
-of your C compiler and network stack) will determine how perl is custom 
+of your C compiler and network stack) will determine how perl is custom-
 built for your machine.
 
 If you have any symbols or logical names in your environment that may 
-interfere with the build or regression testing of perl then configure.com 
+interfere with the build or regression testing of perl then F<configure.com> 
 will try to warn you about them.  If a logical name is causing
 you trouble but is in an LNM table that you do not have write access to
 then try defining your own to a harmless equivalence string in a table 
@@ -188,7 +170,7 @@
 such that it is resolved before the other (e.g. if TMP is defined in the
 SYSTEM table then try DEFINE TMP "NL:" or somesuch in your process table) 
 otherwise simply deassign the dangerous logical names.  The potentially 
-troublesome logicals and symbols are:
+troublesome logicals and symbols include:
 
     COMP    "LOGICAL"
     EXT     "LOGICAL"
@@ -209,86 +191,52 @@
 
 As a handy shortcut, the command:
 
-    @ Configure "-des"
+    @configure "-des"
 
 (note the quotation marks and case) will choose reasonable defaults 
-automatically (it takes DEC C over Gnu C, DEC C sockets over SOCKETSHR 
-sockets, and either over no sockets).  Some options can be given
-explicitly on the command line; the following example specifies a 
-non-default location for where Perl will be installed:
+automatically.  Some options can be given explicitly on the command line;
+the following example specifies a non-default location for where Perl
+will be installed:
 
-    @ Configure "-d" "-Dprefix=dka100:[utils.perl5.]"
+    @configure "-d" "-Dprefix=dka100:[utils.perl5.]"
 
 Note that the installation location would be by default where you unpacked 
 the source with a "_ROOT." appended.  For example if you unpacked the perl 
 source into:
 
-   DKA200:[PERL-5_10_2...]
+   F<DKA200:[PERL-5^.18^.0...]>
 
-Then the PERL_SETUP.COM that gets written out by CONFIGURE.COM will
+Then the F<PERL_SETUP.COM> that gets written out by F<configure.com> will
 try to DEFINE your installation PERL_ROOT to be:
 
-   DKA200:[PERL-5_10_2_ROOT.]
+   F<DKA200:[PERL-5^.18^.0_ROOT.]>
 
 More help with configure.com is available from:
 
-    @ Configure "-h"
+    @configure "-h"
 
-See the "Changing compile-time options (optional)" section below to learn
-even more details about how to influence the outcome of the important 
-configuration step.  If you find yourself reconfiguring and rebuilding 
-then be sure to also follow the advice in the "Cleaning up and starting 
-fresh (optional)" and the checklist of items in the "CAVEATS" sections 
-below.
+If you find yourself reconfiguring and rebuilding  then be sure to also follow
+the advice in the "Cleaning up and starting  fresh (optional)" and the checklist
+of items in the "CAVEATS" sections below.
 
 =head2 Changing compile-time options (optional) for Perl on VMS
 
-Most of the user definable features of Perl are enabled or disabled in
+Most of the user-definable features of Perl are enabled or disabled in
 configure.com, which processes the hints file config_h.SH.  There is
 code in there to Do The Right Thing, but that  may end up being the
 wrong thing for you.  Make sure you understand what you are doing since
 inappropriate changes to configure.com or config_h.SH can render perl 
 unbuildable; odds are that there's nothing in there you'll need to
-change.
+change. Note also that non-default options are tested less than default
+options, so you may end up being more of a pioneer than you intend to be.
 
 =head2 Socket Support (optional) for Perl on VMS
 
 Perl includes a number of functions for IP sockets, which are available if
-you choose to compile Perl with socket support.  Since IP networking is an 
-optional addition to VMS, there are several different IP stacks available.  
-How well integrated they are into the system depends on the stack, your 
-version of VMS, and the version of your C compiler.
+you choose to compile Perl with socket support.  It does this via the socket
+routines built into the CRTL regarless of which TCP/IP stack your system
+has.
 
-The default solution available is to use the socket routines built into DEC
-C. Which routines are available depend on the version of VMS you're
-running, and require proper UCX emulation by your TCP/IP vendor.
-Relatively current versions of Multinet, TCPWare, Pathway, and UCX all
-provide the required libraries--check your manuals or release notes to see
-if your version is new enough.
-
-The other solution uses the SOCKETSHR library. Before VAX/VMS 5.5-2 it was
-the most portable solution.  The SOCKETSHR library has not been maintained
-since VAX/VMS 5.5-2, and it is not known if will even compile with the ANSI
-C that Perl currently requires.  It remains an option for historical reasons,
-just in case someone might find it useful.
-
-In combination with either UCX or NetLib, this supported all the major TCP
-stacks (Multinet, Pathways, TCPWare, UCX, and CMU) on all versions of VMS
-Perl ran on up to VAX/VMS 6.2 and Alpha VMS 1.5 with all the compilers on
-both VAX and Alpha. The portion of the socket interface was also consistent
-across versions of VMS and C compilers.
-
-It has a problem with UDP sockets when used with Multinet, though, so you
-should be aware of that.
-
-As of VAX/VMS 5.5-2 and later, CMU is the only TCP/IP program that requires
-socketshr, and the sources have been lost to the most recent CMU bug fixes,
-so CMU is limited to OpenVMS/VAX 6.2 or earlier, which is the last release
-that binaries for the last released patches are known to exist.
-
-There is currently no official web site for downloading either CMU or
-SOCKETSHR; however, copies may be found in the DECUS archives.
-
 =head1 Building Perl
 
 The configuration script will print out, at the very end, the MMS or MMK
@@ -298,7 +246,7 @@
 Once you issue your MMS or MMK command, sit back and wait.  Perl should 
 compile and link without a problem.  If a problem does occur check the 
 "CAVEATS" section of this document.  If that does not help send some 
-mail to the VMSPERL mailing list.  Instructions are in the "Mailing Lists" 
+mail to the VMSPERL mailing list.  Instructions are in the L<"Mailing Lists"> 
 section of this document.
 
 =head1 Testing Perl
@@ -313,18 +261,18 @@
 
 If the compile command was:
 
-    MMS
+    MMK
 
 then the test command ought to be:
 
-    MMS test
+    MMK test
 
-MMS (or MMK) will run all the tests.  This may take some time, as there are 
+MMK (or MMS) will run all the tests.  This may take some time, as there are 
 a lot of tests.  If any tests fail, there will be a note made on-screen. 
 At the end of all the tests, a summary of the tests, the number passed and 
 failed, and the time taken will be displayed.
 
-The test driver invoked via MMS TEST has a DCL wrapper ([.VMS]TEST.COM) that
+The test driver invoked via MMK TEST has a DCL wrapper ([.VMS]TEST.COM) that
 downgrades privileges to NETMBX, TMPMBX for the duration of the test run,
 and then restores them to their prior state upon completion of testing. 
 This is done to ensure that the tests run in a private sandbox and can do no
@@ -346,27 +294,27 @@
 If one or more tests fail, you can get more information on the failure by 
 issuing this command sequence:
 
-    @ [.VMS]TEST .typ "" "-v" [.subdir]test.T
+    @[.vms]test .typ "" "-v" [.subdir]test.t
 
 where ".typ" is the file type of the Perl images you just built (if you
-didn't do anything special, use .EXE), and "[.subdir]test.T" is the test
+didn't do anything special, use .EXE), and "[.subdir]test.t" is the test
 that failed. For example, with a normal Perl build, if the test indicated
 that t/op/time failed, then you'd do this:
 
-    @ [.VMS]TEST .EXE "" "-v" [.OP]TIME.T
+    @ .vms]test .EXE "" "-v" [.OP]TIME.t
 
 Note that test names are reported in UNIX syntax and relative to the
 top-level build directory.  When supplying them individually to the test
 driver, you can use either UNIX or VMS syntax, but you must give the path
-relative to the [.T] directory and you must also add the .T extension to the
+relative to the [.t] directory and you must also add the .t extension to the
 filename.  So, for example if the test lib/Math/Trig fails, you would run:
 
-    @ [.VMS]TEST .EXE "" -"v" [-.lib.math]trig.t
+    @[.vms]test .EXE "" -"v" [-.lib.math]trig.t
 
 When you send in a bug report for failed tests, please include the output
 from this command, which is run from the main source directory:
 
-    MCR []MINIPERL "-V"
+    MCR []MINIPERL "-Ilib" "-V"
 
 Note that -"V" really is a capital V in double quotes. This will dump out a
 couple of screens worth of configuration information, and can help us 
@@ -373,11 +321,11 @@
 diagnose the problem.  If (and only if) that did not work then try enclosing 
 the output of:
 
-    MMS printconfig
+    MMK printconfig
 
 If (and only if) that did not work then try enclosing the output of:
 
-    @ [.vms]myconfig
+    @[.vms]myconfig
 
 You may also be asked to provide your C compiler version ("CC/VERSION NL:" 
 with DEC C, "gcc --version" with GNU CC).  To obtain the version of MMS or 
@@ -387,16 +335,16 @@
 =head2 Cleaning up and starting fresh (optional) installing Perl on VMS
 
 If you need to recompile from scratch, you have to make sure you clean up
-first.  There is a procedure to do it--enter the I<exact> MMS line you used 
+first.  There is a procedure to do it--enter the I<exact> MMK line you used 
 to compile and add "realclean" at the end, like this:
 
 if the compile command was:
 
-    MMS
+    MMK
 
 then the cleanup command ought to be:
 
-    MMS realclean
+    MMK realclean
 
 If you do not do this things may behave erratically during the subsequent 
 rebuild attempt.  They might not, too, so it is best to be sure and do it.
@@ -414,7 +362,7 @@
 
      SHOW PROTECTION /DEFAULT
 
-and adjust if necessary with SET PROTECTION=(code)/DEFAULT.
+and adjust if necessary with C<SET PROTECTION=(code)/DEFAULT>.
 
 =item 2
 
@@ -422,7 +370,7 @@
 by using the "prefix" configuration parameter -- see the example in the
 "Configuring the Perl build" section).
 
-The DCL script PERL_SETUP.COM that is written by CONFIGURE.COM will help you
+The DCL script PERL_SETUP.COM that is written by configure.com will help you
 with the definition of the PERL_ROOT and PERLSHR logical names and the PERL
 foreign command  symbol.  Take a look at PERL_SETUP.COM and modify it if you
 want to.  The installation process will execute PERL_SETUP.COM and copy
@@ -434,10 +382,6 @@
 
 Run the install script via:
 
-    MMS install
-
-or
-
     MMK install
 
 If for some reason it complains about target INSTALL being up to date,
@@ -445,29 +389,21 @@
 
 =back
 
-Copy PERL_SETUP.COM to a place accessible to your perl users.  
+Installation will copy F<PERL_SETUP.COM> to the root of your installation
+tree.  If you want to give everyone on the system  access to Perl (and you
+have, for example, installed to F<dsa0:[utils.perl_root]>) then add a line
+that reads:
 
-For example:
+    $ @dsa0:[utils.perl_root]perl_setup
 
-    COPY PERL_SETUP.COM SYS$LIBRARY: 
+to F<SYS$MANAGER:SYLOGIN.COM>.  Or for your own use only, simply place
+that line in F<SYS$LOGIN:LOGIN.COM>.
 
-If you want to have everyone on the system have access to perl
-then add a line that reads
-
-    $ @sys$library:perl_setup
-
-to SYS$MANAGER:SYLOGIN.COM.
-
 Two alternatives to the foreign symbol would be to install PERL into 
 DCLTABLES.EXE (Check out the section "Installing Perl into DCLTABLES 
 (optional)" for more information), or put the image in a 
-directory that's in your DCL$PATH (if you're using VMS V6.2 or higher).
+directory that's in your DCL$PATH.
 
-An alternative to having PERL_SETUP.COM define the PERLSHR logical name
-is to simply copy it into the system shareable library directory with:
-
-    copy perl_root:[000000]perlshr.exe sys$share:
-
 See also the "INSTALLing images (optional)" section.
 
 =head2 Installing Perl into DCLTABLES (optional) on VMS
@@ -499,8 +435,8 @@
    INSTALL ADD PERLSHR/SHARE
    INSTALL ADD PERL/HEADER
 
-should be enough for PERLSHR.EXE (/share implies /header and /open), 
-while /HEADER should do for PERL.EXE (perl.exe is not a shared image).
+should be enough for F<PERLSHR.EXE> (/share implies /header and /open), 
+while /HEADER should do for FPERL.EXE> (perl.exe is not a shared image).
 
 If your code 'use's modules, check to see if there is a shareable image for
 them, too.  In the base perl build, POSIX, IO, Fcntl, Opcode, SDBM_File,
@@ -512,7 +448,7 @@
 it is probably beneficial to INSTALL at least portions of perl.
 
 While there is code in perl to remove privileges as it runs you are advised
-to NOT INSTALL PERL.EXE with PRIVs!
+to NOT INSTALL F<PERL.EXE> with PRIVs!
 
 =head2 Running h2ph to create perl header files (optional) on VMS
 
@@ -542,26 +478,6 @@
 switches to MMS/MMK when you build. Use I<exactly> what the configure.com 
 script prints!
 
-The next big gotcha is directory depth.  Perl can create directories four,
-five, or even six levels deep during the build, so you don't have to be 
-too deep to start to hit the RMS 8 level limit (for ODS 2 volumes which were
-common on versions of VMS prior to V7.2 and even with V7.3 on the VAX).  
-It is best to do:
-
-    DEFINE/TRANS=(CONC,TERM) PERLSRC "disk:[dir.dir.dir.perldir.]"
-    SET DEFAULT PERLSRC:[000000]
-
-before building in cases where you have to unpack the distribution so deep
-(note the trailing period in the definition of PERLSRC).  Perl modules 
-from CPAN can be just as bad (or worse), so watch out for them, too. Perl's
-configuration script will warn if it thinks you are too deep (at least on 
-a VAX or on Alpha versions of VMS prior to 7.2).  But MakeMaker will not 
-warn you if you start out building a module too deep in a directory.
-
-As noted above ODS-5 escape sequences such as ^. can break the perl
-build.  Solutions include renaming files and directories as needed 
-when unpacking perl or CPAN modules on ODS-5 volumes.
-
 Be sure that the process that you use to build perl has a PGFLQ greater
 than 100000.  Be sure to have a correct local time zone to UTC offset
 defined (in seconds) in the logical name SYS$TIMEZONE_DIFFERENTIAL before
@@ -582,8 +498,6 @@
 were used to build perl on VMS.  Hence they may require a great deal
 of source code modification to work again.
 
-    http://www.progis.de/
-
 =head2 Floating Point Considerations
 
 Prior to 5.8.0, Perl simply accepted the default floating point options of the
@@ -612,11 +526,11 @@
 written to disk, the value can only be retrieved later by a Perl configured
 with the same floating point option that was in effect when it was created.
 
-To obtain a non-IEEE build on Alpha, simply answer no to the "Use IEEE math?"
-question during the configuration.  To obtain an option different from the C
-compiler default on either VAX or Alpha, put in the option that you want in
-answer to the "Any additional cc flags?" question.  For example, to obtain a
-G_FLOAT build on VAX, put in C</FLOAT=G_FLOAT>.
+To obtain a non-IEEE build on Alpha or Itanium, simply answer no to the
+"Use IEEE math?" question during the configuration.  To obtain an option
+different from the C compiler default on any platform, put in the option that
+you want in answer to the "Any additional cc flags?" question.  For example, to
+obtain a G_FLOAT build on VAX, put in C</FLOAT=G_FLOAT>.
 
 =head1 Mailing Lists
 
@@ -630,7 +544,7 @@
 to all subscribers of the list.  There is a searchable archive of the list
 on the web at:
 
-    http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/
+    L<http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/>
 
 To unsubscribe from VMSPERL send a message to VMSPERL-UNSUBSCRIBE at PERL.ORG.
 Be sure to do so from the subscribed account that you are canceling.
@@ -639,12 +553,11 @@
 
 Vmsperl pages on the web include:
 
-    http://www.sidhe.org/vmsperl/index.html
-    http://www.cpan.org/modules/by-module/VMS/
-    http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/
-    http://www-ang.kfunigraz.ac.at/~binder/perl.html
-    http://archive.develooper.com/vmsperl@perl.org/
-    http://h71000.www7.hp.com/openvms/products/ips/apache/csws_modperl.html
+    L<http://www.sidhe.org/vmsperl/index.html>
+    L<http://www.cpan.org/modules/by-module/VMS/>
+    L<http://www.xray.mpe.mpg.de/mailing-lists/vmsperl/>
+    L<http://archive.develooper.com/vmsperl@perl.org/>
+    L<http://h71000.www7.hp.com/openvms/products/ips/apache/csws_modperl.html>
 
 =head1 SEE ALSO
 


Property changes on: vendor/perl/dist/README.vms
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.vos
===================================================================
--- vendor/perl/dist/README.vos	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.vos	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,57 +4,42 @@
 
 =head1 NAME
 
-README.vos - Perl for Stratus VOS
+perlvos - Perl for Stratus OpenVOS
 
 =head1 SYNOPSIS
 
-This file contains notes for building perl on the Stratus VOS
+This file contains notes for building perl on the Stratus OpenVOS
 operating system.  Perl is a scripting or macro language that is
-popular on many systems.  See L<perlbook> for a number of good
-books on Perl.
+popular on many systems.  See L<perlbook> for a number of good books
+on Perl.
 
 These are instructions for building Perl from source.  This version of
-Perl is not supported on VOS Release 14.2 or earlier releases.  If you
-have a Continuum platform running VOS Release 14.3 through 14.7,
-download Perl from the Stratus Anonymous FTP site at
-ftp://ftp.stratus.com/pub/vos/posix/ga/continuum/continuum.html.  If
-you have a V Series platform running VOS Release 15.0 or later, or if
-you have a V Series platform running OpenVOS Release 17.0 or later,
-download Perl from
-ftp://ftp.stratus.com/pub/vos/posix/ga/v-series/v-series.html.  The
-perl distribution files on the Stratus anonymous FTP site are stored
-in a format called a "bundled file".  Instructions for unbundling the
-Perl distribution file are at
-ftp://ftp.stratus.com/pub/vos/utility/utility.html.
+Perl requires the dynamic linking support that is found in OpenVOS
+Release 17.1 and thus is not supported on OpenVOS Release 17.0 or
+earlier releases.
 
 If you are running VOS Release 14.4.1 or later, you can obtain a
-pre-compiled, supported copy of perl by purchasing Release 2.0.1
-(or later) of the VOS GNU C/C++ and GNU Tools product from
-Stratus Technologies.
+pre-compiled, supported copy of perl by purchasing the GNU Tools
+product from Stratus Technologies.
 
-=head1 BUILDING PERL FOR VOS
+=head1 BUILDING PERL FOR OPENVOS
 
-To build perl from its source code on the Stratus Continuum
-platform, you must be have VOS Release 14.5.0 or later, the STCP
-product, and the GNU C/C++ and GNU Tools, Release 2.0.1 or
-later.  On the V Series platform you must have VOS Release
-15.0.0 or later, and any version of the GNU C/C++ and GNU Tools
-product.
+To build perl from its source code on the Stratus V Series platform
+you must have OpenVOS Release 17.1.0 or later, GNU Tools Release
+3.5 or later, and the C/POSIX Runtime Libraries.
 
-To build full perl using the supplied Configure script and
-makefiles, change to the "vos" subdirectory and type the command
-"compile_full_perl" or "start_process compile_full_perl".  This
-will configure, build, and test perl.
+Follow the normal instructions for building perl; e.g, enter bash, run
+the Configure script, then use "gmake" to build perl.
 
-=head1 INSTALLING PERL IN VOS
+=head1 INSTALLING PERL IN OPENVOS
 
 =over 4
 
 =item 1
 
-If you have built perl using the Configure script, ensure that
-you have modify and default write permission to C<<
->system>ported >> and all subdirectories.  Then type
+After you have built perl using the Configure script, ensure that you
+have modify and default write permission to C<< >system>ported >> and
+all subdirectories.  Then type
 
      gmake install
 
@@ -65,8 +50,6 @@
 used to hold such files (replace the string VERSION by the
 appropriate version number):
 
-     >system>ported>lib>perl5>VERSION>7100
-     >system>ported>lib>perl5>VERSION>8000
      >system>ported>lib>perl5>VERSION>i786
 
 =item 3
@@ -79,8 +62,6 @@
 Put site-specific architecture-dependent files into one of the
 following directories:
 
-     >system>ported>lib>perl5>site_perl>VERSION>7100
-     >system>ported>lib>perl5>site_perl>VERSION>8000
      >system>ported>lib>perl5>site_perl>VERSION>i786
 
 =item 4
@@ -90,17 +71,17 @@
 
 =back
 
-=head1 USING PERL IN VOS
+=head1 USING PERL IN OPENVOS
 
-=head2 Restrictions of Perl on VOS
+=head2 Restrictions of Perl on OpenVOS
 
-This port of Perl version 5 to VOS prefers Unix-style,
-slash-separated pathnames over VOS-style greater-than-separated
-pathnames.  VOS-style pathnames should work in most contexts, but
-if you have trouble, replace all greater-than characters by slash
-characters.  Because the slash character is used as a pathname
-delimiter, Perl cannot process VOS pathnames containing a slash
-character in a directory or file name; these must be renamed.
+This port of Perl version 5 prefers Unix-style, slash-separated
+pathnames over OpenVOS-style greater-than-separated pathnames.
+OpenVOS-style pathnames should work in most contexts, but if you have
+trouble, replace all greater-than characters by slash characters.
+Because the slash character is used as a pathname delimiter, Perl
+cannot process OpenVOS pathnames containing a slash character in a
+directory or file name; these must be renamed.
 
 This port of Perl also uses Unix-epoch date values internally.
 As long as you are dealing with ASCII character string
@@ -107,45 +88,17 @@
 representations of dates, this should not be an issue.  The
 supported epoch is January 1, 1980 to January 17, 2038.
 
-See the file pod/perlport.pod for more information about the VOS
+See the file pod/perlport.pod for more information about the OpenVOS
 port of Perl.
 
-=head2 Handling of underflow and overflow
-
-Prior to VOS Release 14.7.0, VOS does not support automatically
-mapping overflowed floating-point values to +infinity, nor
-automatically mapping underflowed floating-point values to zero,
-unlike many other platforms.  The Perl pack function has been
-modified to perform such mapping in software on VOS.  Performing
-other floating-point computations that underflow or overflow
-will probably result in SIGFPE.  Don't push your luck.
-
-As of VOS Release 14.7.0 or later, the VOS POSIX runtime sets up
-the PA-RISC and IA-32 hardware floating-point status register so
-that the overflow and underflow exceptions do not trap, but
-instead automatically convert the result to infinity or zero, as
-appropriate.  As of this writing, there are still floating-point
-operations that can trap, for example, subtracting two infinite
-values.  This is recorded as suggestion posix-1022, which has
-been fixed in VOS Release 15.2 and higher.
-
 =head1 TEST STATUS
 
-When Perl 5.9.0 is built using the native build process on VOS
-Release 14.7.0 and GNU C++/GNU Tools 2.0.2a, all but nine
-attempted tests either pass or result in TODO (ignored)
-failures.  The tests that fail are:
+A number of the perl self-tests fails for various reasons; generally
+these are minor and due to subtle differences between common
+POSIX-based environments and the OpenVOS POSIX environment.  Ensure
+that you conduct sufficient testing of your code to guarantee that it
+works properly in the OpenVOS environment.
 
-t/io/dup, test 2
-t/io/tell, test 28
-t/op/pack, test 0
-ext/B/t/bytecode, test 1
-ext/Devel/Peek/t/Peek, test 1
-ext/Encode/t/enc_module, test 1
-ext/IO/t/io_dup, test 2
-lib/ExtUtils/t/MM_Unix, test 94
-lib/Net/ing/t/450_service, test 8
-
 =head1 SUPPORT STATUS
 
 I'm offering this port "as is".  You can ask me questions, but I
@@ -153,10 +106,9 @@
 excellent books available on the Perl language; consult a book
 seller.
 
-If you want a supported version of perl for VOS, purchase the
-VOS GNU C/C++ and GNU Tools Release 2.0.1 (or later) product from
-Stratus Technologies, along with a support contract (or from
-anyone else who will sell you support).
+If you want a supported version of perl for OpenVOS, purchase the
+OpenVOS GNU Tools product from Stratus Technologies, along with a
+support contract (or from anyone else who will sell you support).
 
 =head1 AUTHOR
 
@@ -164,6 +116,6 @@
 
 =head1 LAST UPDATE
 
-October 6, 2010
+February 28, 2013
 
 =cut


Property changes on: vendor/perl/dist/README.vos
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/README.win32
===================================================================
--- vendor/perl/dist/README.win32	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/README.win32	2013-12-01 21:45:02 UTC (rev 6430)
@@ -39,7 +39,6 @@
 system).  Currently, this port is capable of using one of the
 following compilers on the Intel x86 architecture:
 
-      Borland C++             version 5.02 or later
       Microsoft Visual C++    version 6.0 or later
       Gcc by mingw.org        gcc version 3.2 or later
       Gcc by mingw-w64.sf.net gcc version 4.4.3 or later
@@ -62,14 +61,11 @@
 
 =back
 
-The Borland C++ and Microsoft Visual C++ compilers are also now being given
-away free.  The Borland compiler is available as "Borland C++ Compiler Free
-Command Line Tools" and is the same compiler that ships with the full
-"Borland C++ Builder" product.  The Microsoft compiler is available as
-"Visual C++ Toolkit 2003" or "Visual C++ 2005/2008/2010 Express Edition" (and
-also as part of the ".NET Framework SDK") and is the same compiler that ships
-with "Visual C++ .NET 2003 Professional" or "Visual C++ 2005/2008/2010
-Professional" respectively.
+The Microsoft Visual C++ compilers are also now being given away free. They are
+available as "Visual C++ Toolkit 2003" or "Visual C++ 2005/2008/2010/2012 Express
+Edition" (and also as part of the ".NET Framework SDK") and are the same
+compilers that ship with "Visual C++ .NET 2003 Professional" or "Visual C++
+2005/2008/2010/2012 Professional" respectively.
 
 This port can also be built on IA64/AMD64 using:
 
@@ -80,7 +76,7 @@
 The MinGW64 compiler is available at L<http://sourceforge.net/projects/mingw-w64>.
 The latter is actually a cross-compiler targeting Win64. There's also a trimmed
 down compiler (no java, or gfortran) suitable for building perl available at:
-L<http://strawberryperl.com/package/kmx/64_gcctoolchain/mingw64-w64-20100123-kmx-v2.zip>
+L<http://strawberryperl.com/package/kmx/64_gcctoolchain/>
 
 NOTE: If you're using a 32-bit compiler to build perl on a 64-bit Windows
 operating system, then you should set the WIN64 environment variable to "undef".
@@ -100,7 +96,7 @@
 
 You need a "make" program to build the sources.  If you are using
 Visual C++ or the Windows SDK tools, nmake will work.  Builds using
-the Borland compiler or gcc need dmake.
+the gcc need dmake.
 
 dmake is a freely available make that has very nice macro features
 and parallelability.
@@ -111,16 +107,6 @@
 
 Fetch and install dmake somewhere on your path.
 
-There exists a minor coexistence problem with dmake and Borland C++
-compilers.  Namely, if a distribution has C files named with mixed
-case letters, they will be compiled into appropriate .obj-files named
-with all lowercase letters, and every time dmake is invoked
-to bring files up to date, it will try to recompile such files again.
-For example, Tk distribution has a lot of such files, resulting in
-needless recompiles every time dmake is invoked.  To avoid this, you
-may use the script "sync_ext.pl" after a successful build.  It is
-available in the win32 subdirectory of the Perl source distribution.
-
 =item Command Shell
 
 Use the default "cmd" shell that comes with Windows.  Some versions of the
@@ -131,14 +117,6 @@
 Make sure the path to the build directory does not contain spaces.  The
 build usually works in this circumstance, but some tests will fail.
 
-=item Borland C++
-
-If you are using the Borland compiler, you will need dmake.
-(The make that Borland supplies is seriously crippled and will not
-work for MakeMaker builds.)
-
-See L</"Make"> above.
-
 =item Microsoft Visual C++
 
 The nmake that comes with Visual C++ will suffice for building.
@@ -153,9 +131,9 @@
 latter step is only essential if you want to use dmake as your default
 make for building extensions using MakeMaker.
 
-=item Microsoft Visual C++ 2008/2010 Express Edition
+=item Microsoft Visual C++ 2008/2010/2012 Express Edition
 
-These free versions of Visual C++ 2008/2010 Professional contain the same
+These free versions of Visual C++ 2008/2010/2012 Professional contain the same
 compilers and linkers that ship with the full versions, and also contain
 everything necessary to build Perl, rather than requiring a separate download
 of the Windows SDK like previous versions did.
@@ -165,9 +143,9 @@
 links to these packages has proven a pointless task because the links keep on
 changing so often.)
 
-Install Visual C++ 2008/2010 Express, then setup your environment using, e.g.
+Install Visual C++ 2008/2010/2012 Express, then setup your environment using, e.g.
 
-	C:\Program Files\Microsoft Visual Studio 10.0\Common7\Tools\vsvars32.bat
+	C:\Program Files\Microsoft Visual Studio 11.0\Common7\Tools\vsvars32.bat
 
 (assuming the default installation location was chosen).
 
@@ -362,9 +340,7 @@
 than the one being tested.
 
 You will have to make sure that CCTYPE is set correctly and that
-CCHOME points to wherever you installed your compiler. If building with
-gcc-4.x.x, you'll also need to uncomment the assignment to GCC_4XX and
-uncomment the assignment to the appropriate GCCHELPERDLL in the makefile.mk.
+CCHOME points to wherever you installed your compiler.
 
 If building with the cross-compiler provided by
 mingw-w64.sourceforge.net you'll need to uncomment the line that sets
@@ -391,7 +367,7 @@
 Type "dmake" (or "nmake" if you are using that make).
 
 This should build everything.  Specifically, it will create perl.exe,
-perl514.dll at the perl toplevel, and various other extension dll's
+perl518.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.
 
@@ -411,20 +387,6 @@
 If you are running the tests from a emacs shell window, you may see
 failures in op/stat.t.  Run "dmake test-notty" in that case.
 
-If you're using the Borland compiler, you may see a failure in op/taint.t
-arising from the inability to find the Borland Runtime DLLs on the system
-default path.  You will need to copy the DLLs reported by the messages
-from where Borland chose to install it, into the Windows system directory
-(usually somewhere like C:\WINDOWS\SYSTEM32) and rerun the test.
-
-If you're using Borland compiler versions 5.2 and below, you may run into
-problems finding the correct header files when building extensions.  For
-example, building the "Tk" extension may fail because both perl and Tk
-contain a header file called "patchlevel.h".  The latest Borland compiler
-(v5.5) is free of this misbehaviour, and it even supports an
-option -VI- for backward (bugward) compatibility for using the old Borland
-search algorithm  to locate header files.
-
 If you run the tests on a FAT partition, you may see some failures for
 C<link()> related tests (I<op/write.t>, I<op/stat.t> ...). Testing on
 NTFS avoids these errors.
@@ -525,16 +487,19 @@
 character is the double quote (").  It can be used to protect spaces
 and other special characters in arguments.
 
-The Windows documentation has almost no description of how the
-quoting rules are implemented, but here are some general observations
-based on experiments: The C runtime breaks arguments at spaces and
-passes them to programs in argc/argv.  Double quotes can be used to
-prevent arguments with spaces in them from being split up.  You can
-put a double quote in an argument by escaping it with a backslash and
-enclosing the whole argument within double quotes.  The backslash and
-the pair of double quotes surrounding the argument will be stripped by
-the C runtime.
+The Windows documentation describes the shell parsing rules here:
+L<http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cmd.mspx?mfr=true>
+and the C runtime parsing rules here:
+L<http://msdn.microsoft.com/en-us/library/17w5ykft%28v=VS.100%29.aspx>.
 
+Here are some further observations based on experiments: The C runtime
+breaks arguments at spaces and passes them to programs in argc/argv.
+Double quotes can be used to prevent arguments with spaces in them from
+being split up.  You can put a double quote in an argument by escaping
+it with a backslash and enclosing the whole argument within double quotes.
+The backslash and the pair of double quotes surrounding the argument will
+be stripped by the C runtime.
+
 The file redirection characters "E<lt>", "E<gt>", and "|" can be quoted by
 double quotes (although there are suggestions that this may not always
 be true).  Single quotes are not treated as quotes by the shell or
@@ -915,8 +880,6 @@
 at the time.  Various people have made numerous and sundry hacks
 since then.
 
-Borland support was added in 5.004_01 (Gurusamy Sarathy).
-
 GCC/mingw32 support was added in 5.005 (Nick Ing-Simmons).
 
 Support for PERL_OBJECT was added in 5.005 (ActiveState Tool Corp).
@@ -927,6 +890,6 @@
 
 Support for 64-bit Windows added in 5.8 (ActiveState Corp).
 
-Last updated: 18 November 2010
+Last updated: 02 January 2012
 
 =cut


Property changes on: vendor/perl/dist/README.win32
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: vendor/perl/dist/TestInit.pm
===================================================================
--- vendor/perl/dist/TestInit.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/TestInit.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
 
 package TestInit;
 
-$VERSION = 1.03;
+$VERSION = 1.04;
 
 # Let tests know they're running in the perl core.  Useful for modules
 # which live dual lives on CPAN.
@@ -27,89 +27,89 @@
 # http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2003-07/msg00154.html
 $ENV{PERL_CORE} = $^X;
 
-sub new_inc {
-    if (${^TAINT}) {
-	@INC = @_;
-    } else {
-	@INC = (@_, '.');
-    }
-}
+$0 =~ s/\.dp$//; # for the test.deparse make target
 
-sub set_opt {
-    my $sep;
-    if ($^O eq 'VMS') {
-	$sep = '|';
-    } elsif ($^O eq 'MSWin32') {
-	$sep = ';';
-    } else {
-	$sep = ':';
-    }
-
-    my $lib = join $sep, @_;
-    if (exists $ENV{PERL5LIB}) {
-	$ENV{PERL5LIB} = $lib . substr $ENV{PERL5LIB}, 0, 0;
-    } else {
-	$ENV{PERL5LIB} = $lib;
-    }
-}
-
-my @up_2_t = ('../../lib', '../../t');
-# This is incompatible with the import options.
-if (-f 't/TEST' && -f 'MANIFEST' && -d 'lib' && -d 'ext') {
-    # We're being run from the top level. Try to change directory, and set
-    # things up correctly. This is a 90% solution, but for hand-running tests,
-    # that's good enough
-    if ($0 =~ s!^((?:ext|dist|cpan)[\\/][^\\/]+)[\//](.*\.t)$!$2!) {
-	# Looks like a test in ext.
-	chdir $1 or die "Can't chdir '$1': $!";
-	new_inc(@up_2_t);
-	set_opt(@up_2_t);
-	$^X =~ s!^\./!../../!;
-	$^X =~ s!^\.\\!..\\..\\!;
-    } else {
-	chdir 't' or die "Can't chdir 't': $!";
-	new_inc('../lib');
-	set_opt('../lib') if $0 =~ m!^lib/!;
-    }
-} else {
-    new_inc('../lib');
-}
-
 sub import {
     my $self = shift;
-    my $abs;
+    my @up_2_t = ('../../lib', '../../t');
+    my ($abs, $chdir, $setopt);
     foreach (@_) {
 	if ($_ eq 'U2T') {
-	    @new_inc = @up_2_t;
+	    @INC = @up_2_t;
+	    $setopt = 1;
 	} elsif ($_ eq 'U1') {
-	    @new_inc = '../lib';
+	    @INC = '../lib';
+	    $setopt = 1;
 	} elsif ($_ eq 'NC') {
 	    delete $ENV{PERL_CORE}
 	} elsif ($_ eq 'A') {
 	    $abs = 1;
+	} elsif ($_ eq 'T') {
+	    $chdir = '..'
+		unless -f 't/TEST' && -f 'MANIFEST' && -d 'lib' && -d 'ext';
+	    @INC = 'lib';
+	    $setopt = 1;
 	} else {
 	    die "Unknown option '$_'";
 	}
     }
 
+    # Need to default. This behaviour is consistent with previous behaviour,
+    # as the equivalent of this code used to be run at the top level, hence
+    # would happen (unconditionally) before import() was called.
+    unless ($setopt) {
+	if (-f 't/TEST' && -f 'MANIFEST' && -d 'lib' && -d 'ext') {
+	    # We're being run from the top level. Try to change directory, and
+	    # set things up correctly. This is a 90% solution, but for
+	    # hand-running tests, that's good enough
+	    if ($0 =~ s!^((?:ext|dist|cpan)[\\/][^\\/]+)[\\/](.*\.t)$!$2!) {
+		# Looks like a test in ext.
+		$chdir = $1;
+		@INC = @up_2_t;
+		$setopt = 1;
+		$^X =~ s!^\.([\\/])!..$1..$1!;
+	    } else {
+		$chdir = 't';
+		@INC = '../lib';
+		$setopt = $0 =~ m!^lib/!;
+	    }
+	} else {
+	    # (likely) we're being run by t/TEST or t/harness, and we're a test
+	    # in t/
+	    @INC = '../lib';
+	}
+    }
+
+    if (defined $chdir) {
+	chdir $chdir or die "Can't chdir '$chdir': $!";
+    }
+
     if ($abs) {
-	if(!@new_inc) {
-	    @new_inc = '../lib';
-	}
-	@INC = @new_inc;
 	require File::Spec::Functions;
 	# Forcibly untaint this.
-	@new_inc = map { $_ = File::Spec::Functions::rel2abs($_); /(.*)/; $1 }
-	    @new_inc;
+	@INC = map { $_ = File::Spec::Functions::rel2abs($_); /(.*)/; $1 } @INC;
 	$^X = File::Spec::Functions::rel2abs($^X);
     }
 
-    if (@new_inc) {
-	new_inc(@new_inc);
-	set_opt(@new_inc);
+    if ($setopt) {
+	my $sep;
+	if ($^O eq 'VMS') {
+	    $sep = '|';
+	} elsif ($^O eq 'MSWin32') {
+	    $sep = ';';
+	} else {
+	    $sep = ':';
+	}
+
+	my $lib = join $sep, @INC;
+	if (exists $ENV{PERL5LIB}) {
+	    $ENV{PERL5LIB} = $lib . substr $ENV{PERL5LIB}, 0, 0;
+	} else {
+	    $ENV{PERL5LIB} = $lib;
+	}
     }
+
+    push @INC, '.' unless ${^TAINT};
 }
 
-$0 =~ s/\.dp$//; # for the test.deparse make target
 1;
-


Property changes on: vendor/perl/dist/TestInit.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Deleted: vendor/perl/dist/Todo.micro
===================================================================
--- vendor/perl/dist/Todo.micro	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/Todo.micro	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +0,0 @@
-- make creating uconfig.sh automatic (by pumpkin)
-
-- make creating Makefile.micro automatic (by pumpkin)
-
-- do away with fork/exec/wait? (system, popen should be enough?)
-
-- some of the uconfig.sh really needs to be probed (using cc) in buildtime:
-  (uConfigure? :-) native datatype widths and endianness come to mind
-

Modified: vendor/perl/dist/XSUB.h
===================================================================
--- vendor/perl/dist/XSUB.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/XSUB.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -48,8 +48,16 @@
 
 =for apidoc AmU||XS
 Macro to declare an XSUB and its C parameter list.  This is handled by
-C<xsubpp>.
+C<xsubpp>. It is the same as using the more explicit XS_EXTERNAL macro.
 
+=for apidoc AmU||XS_INTERNAL
+Macro to declare an XSUB and its C parameter list without exporting the symbols.
+This is handled by C<xsubpp> and generally preferable over exporting the XSUB
+symbols unnecessarily.
+
+=for apidoc AmU||XS_EXTERNAL
+Macro to declare an XSUB and its C parameter list explicitly exporting the symbols.
+
 =for apidoc Ams||dAX
 Sets up the C<ax> variable.
 This is usually handled automatically by C<xsubpp> by calling C<dXSARGS>.
@@ -107,32 +115,51 @@
  * Don't forget to change the __attribute__unused__ version of XS()
  * below too if you change XSPROTO() here.
  */
+
+/* XS_INTERNAL is the explicit static-linkage variant of the default
+ * XS macro.
+ *
+ * XS_EXTERNAL is the same as XS_INTERNAL except it does not include
+ * "STATIC", ie. it exports XSUB symbols. You probably don't want that.
+ */
+
 #define XSPROTO(name) void name(pTHX_ CV* cv)
 
 #undef XS
+#undef XS_EXTERNAL
+#undef XS_INTERNAL
 #if defined(__CYGWIN__) && defined(USE_DYNAMIC_LOADING)
-#  define XS(name) __declspec(dllexport) XSPROTO(name)
+#  define XS_EXTERNAL(name) __declspec(dllexport) XSPROTO(name)
+#  define XS_INTERNAL(name) STATIC XSPROTO(name)
 #endif
 #if defined(__SYMBIAN32__)
-#  define XS(name) EXPORT_C XSPROTO(name)
+#  define XS_EXTERNAL(name) EXPORT_C XSPROTO(name)
+#  define XS_INTERNAL(name) EXPORT_C STATIC XSPROTO(name)
 #endif
-#ifndef XS
+#ifndef XS_EXTERNAL
 #  if defined(HASATTRIBUTE_UNUSED) && !defined(__cplusplus)
-#    define XS(name) void name(pTHX_ CV* cv __attribute__unused__)
+#    define XS_EXTERNAL(name) void name(pTHX_ CV* cv __attribute__unused__)
+#    define XS_INTERNAL(name) STATIC void name(pTHX_ CV* cv __attribute__unused__)
 #  else
 #    ifdef __cplusplus
-#      define XS(name) extern "C" XSPROTO(name)
+#      define XS_EXTERNAL(name) extern "C" XSPROTO(name)
+#      define XS_INTERNAL(name) static XSPROTO(name)
 #    else
-#      define XS(name) XSPROTO(name)
+#      define XS_EXTERNAL(name) XSPROTO(name)
+#      define XS_INTERNAL(name) STATIC XSPROTO(name)
 #    endif
 #  endif
 #endif
 
+/* We do export xsub symbols by default for the public XS macro.
+ * Try explicitly using XS_INTERNAL/XS_EXTERNAL instead, please. */
+#define XS(name) XS_EXTERNAL(name)
+
 #define dAX const I32 ax = (I32)(MARK - PL_stack_base + 1)
 
 #define dAXMARK				\
 	I32 ax = POPMARK;	\
-	register SV **mark = PL_stack_base + ax++
+	SV **mark = PL_stack_base + ax++
 
 #define dITEMS I32 items = (I32)(SP - MARK)
 
@@ -367,7 +394,6 @@
 #  define VTBL_sv		&PL_vtbl_sv
 #  define VTBL_env		&PL_vtbl_env
 #  define VTBL_envelem		&PL_vtbl_envelem
-#  define VTBL_sig		&PL_vtbl_sig
 #  define VTBL_sigelem		&PL_vtbl_sigelem
 #  define VTBL_pack		&PL_vtbl_pack
 #  define VTBL_packelem		&PL_vtbl_packelem
@@ -609,18 +635,16 @@
 #    define socketpair		PerlSock_socketpair
 #	endif	/* NETWARE && USE_STDIO */
 
-#    ifdef USE_SOCKETS_AS_HANDLES
-#      undef fd_set
-#      undef FD_SET
-#      undef FD_CLR
-#      undef FD_ISSET
-#      undef FD_ZERO
-#      define fd_set		Perl_fd_set
-#      define FD_SET(n,p)	PERL_FD_SET(n,p)
-#      define FD_CLR(n,p)	PERL_FD_CLR(n,p)
-#      define FD_ISSET(n,p)	PERL_FD_ISSET(n,p)
-#      define FD_ZERO(p)	PERL_FD_ZERO(p)
-#    endif	/* USE_SOCKETS_AS_HANDLES */
+#    undef fd_set
+#    undef FD_SET
+#    undef FD_CLR
+#    undef FD_ISSET
+#    undef FD_ZERO
+#    define fd_set		Perl_fd_set
+#    define FD_SET(n,p)		PERL_FD_SET(n,p)
+#    define FD_CLR(n,p)		PERL_FD_CLR(n,p)
+#    define FD_ISSET(n,p)	PERL_FD_ISSET(n,p)
+#    define FD_ZERO(p)		PERL_FD_ZERO(p)
 
 #  endif  /* NO_XSLOCKS */
 #endif  /* PERL_IMPLICIT_SYS && !PERL_CORE */
@@ -631,8 +655,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/XSUB.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/autodoc.pl
===================================================================
--- vendor/perl/dist/autodoc.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/autodoc.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -186,14 +186,50 @@
 	print $fh "\t\t$name;\n\n";
     } elsif ($flags =~ /n/) { # no args
 	print $fh "\t$ret\t$name\n\n";
-    } elsif ($flags =~ /o/) { # no #define foo Perl_foo
-        print $fh "\t$ret\tPerl_$name";
-        print $fh "(" . (@args ? "pTHX_ " : "pTHX");
-        print $fh join(", ", @args) . ")\n\n";
     } else { # full usage
-	print $fh "\t$ret\t$name";
-	print $fh "(" . join(", ", @args) . ")";
-	print $fh "\n\n";
+	my $p            = $flags =~ /o/; # no #define foo Perl_foo
+	my $n            = "Perl_"x$p . $name;
+	my $large_ret    = length $ret > 7;
+	my $indent_size  = 7+8 # nroff: 7 under =head + 8 under =item
+	                  +8+($large_ret ? 1 + length $ret : 8)
+	                  +length($n) + 1;
+	my $indent;
+	print $fh "\t$ret" . ($large_ret ? ' ' : "\t") . "$n(";
+	my $long_args;
+	for (@args) {
+	    if ($indent_size + 2 + length > 79) {
+		$long_args=1;
+		$indent_size -= length($n) - 3;
+		last;
+	    }
+	}
+	my $args = '';
+	if ($p) {
+	    $args = @args ? "pTHX_ " : "pTHX";
+	    if ($long_args) { print $fh $args; $args = '' }
+	}
+	$long_args and print $fh "\n";
+	my $first = !$long_args;
+	while () {
+	    if (!@args or
+	         length $args
+	         && $indent_size + 3 + length($args[0]) + length $args > 79
+	    ) {
+		print $fh
+		  $first ? '' : (
+		    $indent //=
+		       "\t".($large_ret ? " " x (1+length $ret) : "\t")
+		      ." "x($long_args ? 4 : 1 + length $n)
+		  ),
+		  $args, (","x($args ne 'pTHX_ ') . "\n")x!!@args;
+		$args = $first = '';
+	    }
+	    @args or last;
+	    $args .= ", "x!!(length $args && $args ne 'pTHX_ ')
+	           . shift @args;
+	}
+	if ($long_args) { print $fh "\n", substr $indent, 0, -4 }
+	print $fh ")\n\n";
     }
     print $fh "=for hackers\nFound in file $file\n\n";
 }
@@ -235,18 +271,28 @@
 
     if (@$missing) {
         print $fh "\n=head1 Undocumented functions\n\n";
-    print $fh <<'_EOB_';
+    print $fh $podname eq 'perlapi' ? <<'_EOB_' : <<'_EOB_';
 The following functions have been flagged as part of the public API,
 but are currently undocumented. Use them at your own risk, as the
-interfaces are subject to change.
+interfaces are subject to change.  Functions that are not listed in this
+document are not intended for public use, and should NOT be used under any
+circumstances.
 
-If you use one of them, you may wish to consider creating and submitting
-documentation for it. If your patch is accepted, this will indicate that
-the interface is stable (unless it is explicitly marked otherwise).
+If you use one of the undocumented functions below, you may wish to consider
+creating and submitting documentation for it. If your patch is accepted, this
+will indicate that the interface is stable (unless it is explicitly marked
+otherwise).
 
 =over
 
 _EOB_
+The following functions are currently undocumented.  If you use one of
+them, you may wish to consider creating and submitting documentation for
+it.
+
+=over
+
+_EOB_
     for my $missing (sort @$missing) {
         print $fh "=item $missing\nX<$missing>\n\n";
     }
@@ -328,7 +374,8 @@
 # walk table providing an array of components in each line to
 # subroutine, printing the result
 
-my @missing_api = grep $funcflags{$_}{flags} =~ /A/ && !$docs{api}{$_}, keys %funcflags;
+# List of funcs in the public API that aren't also marked as experimental.
+my @missing_api = grep $funcflags{$_}{flags} =~ /A/ && $funcflags{$_}{flags} !~ /M/ && !$docs{api}{$_}, keys %funcflags;
 output('perlapi', <<'_EOB_', $docs{api}, \@missing_api, <<'_EOE_');
 =head1 NAME
 
@@ -338,7 +385,7 @@
 X<Perl API> X<API> X<api>
 
 This file contains the documentation of the perl public API generated by
-embed.pl, specifically a listing of functions, macros, flags, and variables
+F<embed.pl>, specifically a listing of functions, macros, flags, and variables
 that may be used by extension writers.  L<At the end|/Undocumented functions>
 is a list of functions which have yet to be documented.  The interfaces of
 those are subject to change without notice.  Any functions not listed here are
@@ -368,11 +415,6 @@
 the UTF- encodings, and a string encoded in UTF-EBCDIC may occupy more bytes
 than in UTF-8.
 
-Also, on some EBCDIC machines, functions that are documented as operating on
-US-ASCII (or Basic Latin in Unicode terminology) may in fact operate on all
-256 characters in the EBCDIC range, not just the subset corresponding to
-US-ASCII.
-
 The listing below is alphabetical, case insensitive.
 
 _EOB_
@@ -397,7 +439,9 @@
 
 _EOE_
 
-my @missing_guts = grep $funcflags{$_}{flags} !~ /A/ && !$docs{guts}{$_}, keys %funcflags;
+# List of non-static internal functions
+my @missing_guts =
+ grep $funcflags{$_}{flags} !~ /[As]/ && !$docs{guts}{$_}, keys %funcflags;
 
 output('perlintern', <<'END', $docs{guts}, \@missing_guts, <<'END');
 =head1 NAME


Property changes on: vendor/perl/dist/autodoc.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/av.c
===================================================================
--- vendor/perl/dist/av.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/av.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -80,23 +80,35 @@
 			    arg1);
 	return;
     }
-    if (key > AvMAX(av)) {
+    av_extend_guts(av,key,&AvMAX(av),&AvALLOC(av),&AvARRAY(av));
+}    
+
+/* The guts of av_extend.  *Not* for general use! */
+void
+Perl_av_extend_guts(pTHX_ AV *av, I32 key, SSize_t *maxp, SV ***allocp,
+			  SV ***arrayp)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT_AV_EXTEND_GUTS;
+
+    if (key > *maxp) {
 	SV** ary;
 	I32 tmp;
 	I32 newmax;
 
-	if (AvALLOC(av) != AvARRAY(av)) {
-	    ary = AvALLOC(av) + AvFILLp(av) + 1;
-	    tmp = AvARRAY(av) - AvALLOC(av);
-	    Move(AvARRAY(av), AvALLOC(av), AvFILLp(av)+1, SV*);
-	    AvMAX(av) += tmp;
-	    AvARRAY(av) = AvALLOC(av);
+	if (av && *allocp != *arrayp) {
+	    ary = *allocp + AvFILLp(av) + 1;
+	    tmp = *arrayp - *allocp;
+	    Move(*arrayp, *allocp, AvFILLp(av)+1, SV*);
+	    *maxp += tmp;
+	    *arrayp = *allocp;
 	    if (AvREAL(av)) {
 		while (tmp)
 		    ary[--tmp] = &PL_sv_undef;
 	    }
-	    if (key > AvMAX(av) - 10) {
-		newmax = key + AvMAX(av);
+	    if (key > *maxp - 10) {
+		newmax = key + *maxp;
 		goto resize;
 	    }
 	}
@@ -106,11 +118,7 @@
 	      "Out of memory during array extend"; /* Duplicated in pp_hot.c */
 #endif
 
-	    if (AvALLOC(av)) {
-#if !defined(STRANGE_MALLOC) && !defined(MYMALLOC)
-		MEM_SIZE bytes;
-		IV itmp;
-#endif
+	    if (*allocp) {
 
 #ifdef Perl_safesysmalloc_size
 		/* Whilst it would be quite possible to move this logic around
@@ -126,41 +134,24 @@
 		   memory that might never be read. So, I feel, better to keep
 		   the current lazy system of only writing to it if our caller
 		   has a need for more space. NWC  */
-		newmax = Perl_safesysmalloc_size((void*)AvALLOC(av)) /
+		newmax = Perl_safesysmalloc_size((void*)*allocp) /
 		    sizeof(const SV *) - 1;
 
 		if (key <= newmax) 
 		    goto resized;
 #endif 
-		newmax = key + AvMAX(av) / 5;
+		newmax = key + *maxp / 5;
 	      resize:
 		MEM_WRAP_CHECK_1(newmax+1, SV*, oom_array_extend);
-#if defined(STRANGE_MALLOC) || defined(MYMALLOC)
-		Renew(AvALLOC(av),newmax+1, SV*);
-#else
-		bytes = (newmax + 1) * sizeof(const SV *);
-#define MALLOC_OVERHEAD 16
-		itmp = MALLOC_OVERHEAD;
-		while ((MEM_SIZE)(itmp - MALLOC_OVERHEAD) < bytes)
-		    itmp += itmp;
-		itmp -= MALLOC_OVERHEAD;
-		itmp /= sizeof(const SV *);
-		assert(itmp > newmax);
-		newmax = itmp - 1;
-		assert(newmax >= AvMAX(av));
-		Newx(ary, newmax+1, SV*);
-		Copy(AvALLOC(av), ary, AvMAX(av)+1, SV*);
-		Safefree(AvALLOC(av));
-		AvALLOC(av) = ary;
-#endif
+		Renew(*allocp,newmax+1, SV*);
 #ifdef Perl_safesysmalloc_size
 	      resized:
 #endif
-		ary = AvALLOC(av) + AvMAX(av) + 1;
-		tmp = newmax - AvMAX(av);
+		ary = *allocp + *maxp + 1;
+		tmp = newmax - *maxp;
 		if (av == PL_curstack) {	/* Oops, grew stack (via av_store()?) */
-		    PL_stack_sp = AvALLOC(av) + (PL_stack_sp - PL_stack_base);
-		    PL_stack_base = AvALLOC(av);
+		    PL_stack_sp = *allocp + (PL_stack_sp - PL_stack_base);
+		    PL_stack_base = *allocp;
 		    PL_stack_max = PL_stack_base + newmax;
 		}
 	    }
@@ -167,18 +158,18 @@
 	    else {
 		newmax = key < 3 ? 3 : key;
 		MEM_WRAP_CHECK_1(newmax+1, SV*, oom_array_extend);
-		Newx(AvALLOC(av), newmax+1, SV*);
-		ary = AvALLOC(av) + 1;
+		Newx(*allocp, newmax+1, SV*);
+		ary = *allocp + 1;
 		tmp = newmax;
-		AvALLOC(av)[0] = &PL_sv_undef;	/* For the stacks */
+		*allocp[0] = &PL_sv_undef;	/* For the stacks */
 	    }
-	    if (AvREAL(av)) {
+	    if (av && AvREAL(av)) {
 		while (tmp)
 		    ary[--tmp] = &PL_sv_undef;
 	    }
 	    
-	    AvARRAY(av) = AvALLOC(av);
-	    AvMAX(av) = newmax;
+	    *arrayp = *allocp;
+	    *maxp = newmax;
 	}
     }
 }
@@ -195,11 +186,37 @@
 more information on how to use this function on tied arrays. 
 
 The rough perl equivalent is C<$myarray[$idx]>.
+
 =cut
 */
 
+static bool
+S_adjust_index(pTHX_ AV *av, const MAGIC *mg, I32 *keyp)
+{
+    bool adjust_index = 1;
+    if (mg) {
+	/* Handle negative array indices 20020222 MJD */
+	SV * const ref = SvTIED_obj(MUTABLE_SV(av), mg);
+	SvGETMAGIC(ref);
+	if (SvROK(ref) && SvOBJECT(SvRV(ref))) {
+	    SV * const * const negative_indices_glob =
+		hv_fetchs(SvSTASH(SvRV(ref)), NEGATIVE_INDICES_VAR, 0);
+
+	    if (negative_indices_glob && SvTRUE(GvSV(*negative_indices_glob)))
+		adjust_index = 0;
+	}
+    }
+
+    if (adjust_index) {
+	*keyp += AvFILL(av) + 1;
+	if (*keyp < 0)
+	    return FALSE;
+    }
+    return TRUE;
+}
+
 SV**
-Perl_av_fetch(pTHX_ register AV *av, I32 key, I32 lval)
+Perl_av_fetch(pTHX_ AV *av, I32 key, I32 lval)
 {
     dVAR;
 
@@ -212,23 +229,8 @@
         if (tied_magic || mg_find((const SV *)av, PERL_MAGIC_regdata)) {
 	    SV *sv;
 	    if (key < 0) {
-		I32 adjust_index = 1;
-		if (tied_magic) {
-		    /* Handle negative array indices 20020222 MJD */
-		    SV * const * const negative_indices_glob =
-			hv_fetch(SvSTASH(SvRV(SvTIED_obj(MUTABLE_SV(av),
-							 tied_magic))),
-				NEGATIVE_INDICES_VAR, 16, 0);
-
-		    if (negative_indices_glob && SvTRUE(GvSV(*negative_indices_glob)))
-			adjust_index = 0;
-		}
-
-		if (adjust_index) {
-		    key += AvFILL(av) + 1;
-		    if (key < 0)
+		if (!S_adjust_index(aTHX_ av, tied_magic, &key))
 			return NULL;
-		}
 	    }
 
             sv = sv_newmortal();
@@ -248,18 +250,12 @@
 	    return NULL;
     }
 
-    if (key > AvFILLp(av)) {
-	if (!lval)
-	    return NULL;
-	return av_store(av,key,newSV(0));
+    if (key > AvFILLp(av) || AvARRAY(av)[key] == &PL_sv_undef) {
+      emptyness:
+	return lval ? av_store(av,key,newSV(0)) : NULL;
     }
-    if (AvARRAY(av)[key] == &PL_sv_undef) {
-    emptyness:
-	if (lval)
-	    return av_store(av,key,newSV(0));
-	return NULL;
-    }
-    else if (AvREIFY(av)
+
+    if (AvREIFY(av)
 	     && (!AvARRAY(av)[key]	/* eg. @_ could have freed elts */
 		 || SvIS_FREED(AvARRAY(av)[key]))) {
 	AvARRAY(av)[key] = &PL_sv_undef;	/* 1/2 reify */
@@ -274,11 +270,16 @@
 Stores an SV in an array.  The array index is specified as C<key>.  The
 return value will be NULL if the operation failed or if the value did not
 need to be actually stored within the array (as in the case of tied
-arrays). Otherwise it can be dereferenced to get the original C<SV*>.  Note
-that the caller is responsible for suitably incrementing the reference
+arrays). Otherwise, it can be dereferenced
+to get the C<SV*> that was stored
+there (= C<val>)).
+
+Note that the caller is responsible for suitably incrementing the reference
 count of C<val> before the call, and decrementing it if the function
 returned NULL.
 
+Approximate Perl equivalent: C<$myarray[$key] = $val;>.
+
 See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for
 more information on how to use this function on tied arrays.
 
@@ -286,7 +287,7 @@
 */
 
 SV**
-Perl_av_store(pTHX_ register AV *av, I32 key, SV *val)
+Perl_av_store(pTHX_ AV *av, I32 key, SV *val)
 {
     dVAR;
     SV** ary;
@@ -304,21 +305,9 @@
     if (SvRMAGICAL(av)) {
         const MAGIC * const tied_magic = mg_find((const SV *)av, PERL_MAGIC_tied);
         if (tied_magic) {
-            /* Handle negative array indices 20020222 MJD */
             if (key < 0) {
-		bool adjust_index = 1;
-		SV * const * const negative_indices_glob =
-                    hv_fetch(SvSTASH(SvRV(SvTIED_obj(MUTABLE_SV(av), 
-                                                     tied_magic))), 
-                             NEGATIVE_INDICES_VAR, 16, 0);
-                if (negative_indices_glob
-                    && SvTRUE(GvSV(*negative_indices_glob)))
-                    adjust_index = 0;
-                if (adjust_index) {
-                    key += AvFILL(av) + 1;
-                    if (key < 0)
+		if (!S_adjust_index(aTHX_ av, tied_magic, &key))
                         return 0;
-                }
             }
 	    if (val != &PL_sv_undef) {
 		mg_copy(MUTABLE_SV(av), val, 0, key);
@@ -335,7 +324,7 @@
     }
 
     if (SvREADONLY(av) && key >= AvFILL(av))
-	Perl_croak_no_modify(aTHX);
+	Perl_croak_no_modify();
 
     if (!AvREAL(av) && AvREIFY(av))
 	av_reify(av);
@@ -356,13 +345,19 @@
 	SvREFCNT_dec(ary[key]);
     ary[key] = val;
     if (SvSMAGICAL(av)) {
-	const MAGIC* const mg = SvMAGIC(av);
-	if (val != &PL_sv_undef) {
+	const MAGIC *mg = SvMAGIC(av);
+	bool set = TRUE;
+	for (; mg; mg = mg->mg_moremagic) {
+	  if (!isUPPER(mg->mg_type)) continue;
+	  if (val != &PL_sv_undef) {
 	    sv_magic(val, MUTABLE_SV(av), toLOWER(mg->mg_type), 0, key);
+	  }
+	  if (PL_delaymagic && mg->mg_type == PERL_MAGIC_isa) {
+	    PL_delaymagic |= DM_ARRAY_ISA;
+	    set = FALSE;
+	  }
 	}
-	if (PL_delaymagic && mg->mg_type == PERL_MAGIC_isa)
-	    PL_delaymagic |= DM_ARRAY_ISA;
-	else
+	if (set)
 	   mg_set(MUTABLE_SV(av));
     }
     return &ary[key];
@@ -381,20 +376,23 @@
 */
 
 AV *
-Perl_av_make(pTHX_ register I32 size, register SV **strp)
+Perl_av_make(pTHX_ I32 size, SV **strp)
 {
-    register AV * const av = MUTABLE_AV(newSV_type(SVt_PVAV));
+    AV * const av = MUTABLE_AV(newSV_type(SVt_PVAV));
     /* sv_upgrade does AvREAL_only()  */
     PERL_ARGS_ASSERT_AV_MAKE;
     assert(SvTYPE(av) == SVt_PVAV);
 
     if (size) {		/* "defined" was returning undef for size==0 anyway. */
-        register SV** ary;
-        register I32 i;
+        SV** ary;
+        I32 i;
 	Newx(ary,size,SV*);
 	AvALLOC(av) = ary;
 	AvARRAY(av) = ary;
-	AvFILLp(av) = AvMAX(av) = size - 1;
+	AvMAX(av) = size - 1;
+	AvFILLp(av) = -1;
+	ENTER;
+	SAVEFREESV(av);
 	for (i = 0; i < size; i++) {
 	    assert (*strp);
 
@@ -402,11 +400,15 @@
 	       have multiple references to the same temp scalar (e.g.
 	       from a list slice) */
 
+	    SvGETMAGIC(*strp); /* before newSV, in case it dies */
+	    AvFILLp(av)++;
 	    ary[i] = newSV(0);
 	    sv_setsv_flags(ary[i], *strp,
-			   SV_GMAGIC|SV_DO_COW_SVSETSV|SV_NOSTEAL);
+			   SV_DO_COW_SVSETSV|SV_NOSTEAL);
 	    strp++;
 	}
+	SvREFCNT_inc_simple_void_NN(av);
+	LEAVE;
     }
     return av;
 }
@@ -414,17 +416,21 @@
 /*
 =for apidoc av_clear
 
-Clears an array, making it empty.  Does not free the memory used by the
-array itself. Perl equivalent: C<@myarray = ();>.
+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.
 
+Perl equivalent: C<@myarray = ();>.
+
 =cut
 */
 
 void
-Perl_av_clear(pTHX_ register AV *av)
+Perl_av_clear(pTHX_ AV *av)
 {
     dVAR;
     I32 extra;
+    bool real;
 
     PERL_ARGS_ASSERT_AV_CLEAR;
     assert(SvTYPE(av) == SVt_PVAV);
@@ -436,7 +442,7 @@
 #endif
 
     if (SvREADONLY(av))
-	Perl_croak_no_modify(aTHX);
+	Perl_croak_no_modify();
 
     /* Give any tie a chance to cleanup first */
     if (SvRMAGICAL(av)) {
@@ -450,9 +456,11 @@
     if (AvMAX(av) < 0)
 	return;
 
-    if (AvREAL(av)) {
+    if ((real = !!AvREAL(av))) {
 	SV** const ary = AvARRAY(av);
 	I32 index = AvFILLp(av) + 1;
+	ENTER;
+	SAVEFREESV(SvREFCNT_inc_simple_NN(av));
 	while (index) {
 	    SV * const sv = ary[--index];
 	    /* undef the slot before freeing the value, because a
@@ -467,20 +475,24 @@
 	AvARRAY(av) = AvALLOC(av);
     }
     AvFILLp(av) = -1;
-
+    if (real) LEAVE;
 }
 
 /*
 =for apidoc av_undef
 
-Undefines the array.  Frees the memory used by the array itself.
+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
 */
 
 void
-Perl_av_undef(pTHX_ register AV *av)
+Perl_av_undef(pTHX_ AV *av)
 {
+    bool real;
+
     PERL_ARGS_ASSERT_AV_UNDEF;
     assert(SvTYPE(av) == SVt_PVAV);
 
@@ -488,8 +500,10 @@
     if (SvTIED_mg((const SV *)av, PERL_MAGIC_tied)) 
 	av_fill(av, -1);
 
-    if (AvREAL(av)) {
-	register I32 key = AvFILLp(av) + 1;
+    if ((real = !!AvREAL(av))) {
+	I32 key = AvFILLp(av) + 1;
+	ENTER;
+	SAVEFREESV(SvREFCNT_inc_simple_NN(av));
 	while (key)
 	    SvREFCNT_dec(AvARRAY(av)[--key]);
     }
@@ -500,6 +514,7 @@
     AvMAX(av) = AvFILLp(av) = -1;
 
     if(SvRMAGICAL(av)) mg_clear(MUTABLE_SV(av));
+    if(real) LEAVE;
 }
 
 /*
@@ -526,13 +541,15 @@
 =for apidoc av_push
 
 Pushes an SV onto the end of the array.  The array will grow automatically
-to accommodate the addition. This takes ownership of one reference count.
+to accommodate the addition.  This takes ownership of one reference count.
 
+Perl equivalent: C<push @myarray, $elem;>.
+
 =cut
 */
 
 void
-Perl_av_push(pTHX_ register AV *av, SV *val)
+Perl_av_push(pTHX_ AV *av, SV *val)
 {             
     dVAR;
     MAGIC *mg;
@@ -541,7 +558,7 @@
     assert(SvTYPE(av) == SVt_PVAV);
 
     if (SvREADONLY(av))
-	Perl_croak_no_modify(aTHX);
+	Perl_croak_no_modify();
 
     if ((mg = SvTIED_mg((const SV *)av, PERL_MAGIC_tied))) {
 	Perl_magic_methcall(aTHX_ MUTABLE_SV(av), mg, "PUSH", G_DISCARD, 1,
@@ -554,14 +571,17 @@
 /*
 =for apidoc av_pop
 
-Pops an SV off the end of the array.  Returns C<&PL_sv_undef> if the array
-is empty.
+Removes one SV from the end of the array, reducing its size by one and
+returning the SV (transferring control of one reference count) to the
+caller.  Returns C<&PL_sv_undef> if the array is empty.
 
+Perl equivalent: C<pop(@myarray);>
+
 =cut
 */
 
 SV *
-Perl_av_pop(pTHX_ register AV *av)
+Perl_av_pop(pTHX_ AV *av)
 {
     dVAR;
     SV *retval;
@@ -571,7 +591,7 @@
     assert(SvTYPE(av) == SVt_PVAV);
 
     if (SvREADONLY(av))
-	Perl_croak_no_modify(aTHX);
+	Perl_croak_no_modify();
     if ((mg = SvTIED_mg((const SV *)av, PERL_MAGIC_tied))) {
 	retval = Perl_magic_methcall(aTHX_ MUTABLE_SV(av), mg, "POP", 0, 0);
 	if (retval)
@@ -616,14 +636,16 @@
 array.  The array will grow automatically to accommodate the addition.  You
 must then use C<av_store> to assign values to these new elements.
 
+Perl equivalent: C<unshift @myarray, ( (undef) x $n );>
+
 =cut
 */
 
 void
-Perl_av_unshift(pTHX_ register AV *av, register I32 num)
+Perl_av_unshift(pTHX_ AV *av, I32 num)
 {
     dVAR;
-    register I32 i;
+    I32 i;
     MAGIC* mg;
 
     PERL_ARGS_ASSERT_AV_UNSHIFT;
@@ -630,7 +652,7 @@
     assert(SvTYPE(av) == SVt_PVAV);
 
     if (SvREADONLY(av))
-	Perl_croak_no_modify(aTHX);
+	Perl_croak_no_modify();
 
     if ((mg = SvTIED_mg((const SV *)av, PERL_MAGIC_tied))) {
 	Perl_magic_methcall(aTHX_ MUTABLE_SV(av), mg, "UNSHIFT",
@@ -653,7 +675,7 @@
 	AvARRAY(av) = AvARRAY(av) - i;
     }
     if (num) {
-	register SV **ary;
+	SV **ary;
 	const I32 i = AvFILLp(av);
 	/* Create extra elements */
 	const I32 slide = i > 0 ? i : 0;
@@ -675,14 +697,17 @@
 /*
 =for apidoc av_shift
 
-Shifts an SV off the beginning of the array. Returns C<&PL_sv_undef> if the 
+Shifts an SV off the beginning of the
+array.  Returns C<&PL_sv_undef> if the 
 array is empty.
 
+Perl equivalent: C<shift(@myarray);>
+
 =cut
 */
 
 SV *
-Perl_av_shift(pTHX_ register AV *av)
+Perl_av_shift(pTHX_ AV *av)
 {
     dVAR;
     SV *retval;
@@ -692,7 +717,7 @@
     assert(SvTYPE(av) == SVt_PVAV);
 
     if (SvREADONLY(av))
-	Perl_croak_no_modify(aTHX);
+	Perl_croak_no_modify();
     if ((mg = SvTIED_mg((const SV *)av, PERL_MAGIC_tied))) {
 	retval = Perl_magic_methcall(aTHX_ MUTABLE_SV(av), mg, "SHIFT", 0, 0);
 	if (retval)
@@ -713,13 +738,21 @@
 }
 
 /*
-=for apidoc av_len
+=for apidoc av_top_index
 
 Returns the highest index in the array.  The number of elements in the
-array is C<av_len(av) + 1>.  Returns -1 if the array is empty.
+array is C<av_top_index(av) + 1>.  Returns -1 if the array is empty.
 
 The Perl equivalent for this is C<$#myarray>.
 
+(A slightly shorter form is C<av_tindex>.)
+
+=for apidoc av_len
+
+Same as L</av_top_index>.  Returns the highest index in the array.  Note that the
+return value is +1 what its name implies it returns; and hence differs in
+meaning from what the similarly named L</sv_len> returns.
+
 =cut
 */
 
@@ -727,9 +760,8 @@
 Perl_av_len(pTHX_ AV *av)
 {
     PERL_ARGS_ASSERT_AV_LEN;
-    assert(SvTYPE(av) == SVt_PVAV);
 
-    return AvFILL(av);
+    return av_top_index(av);
 }
 
 /*
@@ -747,7 +779,7 @@
 =cut
 */
 void
-Perl_av_fill(pTHX_ register AV *av, I32 fill)
+Perl_av_fill(pTHX_ AV *av, I32 fill)
 {
     dVAR;
     MAGIC *mg;
@@ -808,30 +840,16 @@
     assert(SvTYPE(av) == SVt_PVAV);
 
     if (SvREADONLY(av))
-	Perl_croak_no_modify(aTHX);
+	Perl_croak_no_modify();
 
     if (SvRMAGICAL(av)) {
         const MAGIC * const tied_magic
 	    = mg_find((const SV *)av, PERL_MAGIC_tied);
         if ((tied_magic || mg_find((const SV *)av, PERL_MAGIC_regdata))) {
-            /* Handle negative array indices 20020222 MJD */
             SV **svp;
             if (key < 0) {
-                unsigned adjust_index = 1;
-                if (tied_magic) {
-		    SV * const * const negative_indices_glob =
-                        hv_fetch(SvSTASH(SvRV(SvTIED_obj(MUTABLE_SV(av), 
-                                                         tied_magic))), 
-                                 NEGATIVE_INDICES_VAR, 16, 0);
-                    if (negative_indices_glob
-                        && SvTRUE(GvSV(*negative_indices_glob)))
-                        adjust_index = 0;
-                }
-                if (adjust_index) {
-                    key += AvFILL(av) + 1;
-                    if (key < 0)
+		if (!S_adjust_index(aTHX_ av, tied_magic, &key))
 			return NULL;
-                }
             }
             svp = av_fetch(av, key, TRUE);
             if (svp) {
@@ -903,27 +921,11 @@
         const MAGIC * const regdata_magic
             = mg_find((const SV *)av, PERL_MAGIC_regdata);
         if (tied_magic || regdata_magic) {
-	    SV * const sv = sv_newmortal();
             MAGIC *mg;
             /* Handle negative array indices 20020222 MJD */
             if (key < 0) {
-                unsigned adjust_index = 1;
-                if (tied_magic) {
-		    SV * const * const negative_indices_glob =
-                        hv_fetch(SvSTASH(SvRV(SvTIED_obj(MUTABLE_SV(av), 
-                                                         tied_magic))), 
-                                 NEGATIVE_INDICES_VAR, 16, 0);
-                    if (negative_indices_glob
-                        && SvTRUE(GvSV(*negative_indices_glob)))
-                        adjust_index = 0;
-                }
-                if (adjust_index) {
-                    key += AvFILL(av) + 1;
-                    if (key < 0)
+		if (!S_adjust_index(aTHX_ av, tied_magic, &key))
                         return FALSE;
-                    else
-                        return TRUE;
-                }
             }
 
             if(key >= 0 && regdata_magic) {
@@ -932,14 +934,18 @@
                 else
                     return FALSE;
             }
-
-            mg_copy(MUTABLE_SV(av), sv, 0, key);
-            mg = mg_find(sv, PERL_MAGIC_tiedelem);
-            if (mg) {
-                magic_existspack(sv, mg);
-                return cBOOL(SvTRUE(sv));
-            }
-
+	    {
+		SV * const sv = sv_newmortal();
+		mg_copy(MUTABLE_SV(av), sv, 0, key);
+		mg = mg_find(sv, PERL_MAGIC_tiedelem);
+		if (mg) {
+		    magic_existspack(sv, mg);
+		    {
+			I32 retbool = SvTRUE_nomg_NN(sv);
+			return cBOOL(retbool);
+		    }
+		}
+	    }
         }
     }
 
@@ -1012,8 +1018,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/av.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/av.h
===================================================================
--- vendor/perl/dist/av.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/av.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -47,8 +47,11 @@
 =head1 Array Manipulation Functions
 
 =for apidoc Am|int|AvFILL|AV* av
-Same as C<av_len()>.  Deprecated, use C<av_len()> instead.
+Same as C<av_top_index()>.  Deprecated, use C<av_top_index()> instead.
 
+=for apidoc Am|int|av_tindex|AV* av
+Same as C<av_top_index()>.
+
 =cut
 */
 
@@ -75,6 +78,7 @@
                                           
 #define AvFILL(av)	((SvRMAGICAL((const SV *) (av))) \
 			 ? mg_size(MUTABLE_SV(av)) : AvFILLp(av))
+#define av_tindex(av)   av_top_index(av)
 
 #define NEGATIVE_INDICES_VAR "NEGATIVE_INDICES"
 
@@ -83,6 +87,8 @@
 
 Creates a new AV.  The reference count is set to 1.
 
+Perl equivalent: C<my @array;>.
+
 =cut
 */
 
@@ -92,8 +98,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/av.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Deleted: vendor/perl/dist/cc_runtime.h
===================================================================
--- vendor/perl/dist/cc_runtime.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cc_runtime.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,83 +0,0 @@
-/*    cc_runtime.h
- *
- *    Copyright (C) 1999, 2000, 2001, 2004, 2006, 2008 by Larry Wall and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- */
-
-#define DOOP(ppname) PUTBACK; PL_op = ppname(aTHX); SPAGAIN
-#define CCPP(s)   OP * s(pTHX)
-
-#define PP_LIST(g) do {			\
-	dMARK;				\
-	if (g != G_ARRAY) {		\
-	    if (++MARK <= SP)		\
-		*MARK = *SP;		\
-	    else			\
-		*MARK = &PL_sv_undef;	\
-	    SP = MARK;			\
-	}				\
-   } while (0)
-
-#define MAYBE_TAINT_SASSIGN_SRC(sv) \
-    if (PL_tainting && PL_tainted && (!SvGMAGICAL(left) || !SvSMAGICAL(left) || \
-        !((mg=mg_find(left, PERL_MAGIC_taint)) && mg->mg_len & 1)))\
-        TAINT_NOT
-
-#define PP_PREINC(sv) do {	\
-	if (SvIOK(sv)) {	\
-            ++SvIVX(sv);	\
-	    SvFLAGS(sv) &= ~(SVf_NOK|SVf_POK|SVp_NOK|SVp_POK); \
-	}			\
-	else			\
-	    sv_inc(sv);		\
-	SvSETMAGIC(sv);		\
-    } while (0)
-
-#define PP_UNSTACK do {		\
-	TAINT_NOT;		\
-	PL_stack_sp = PL_stack_base + cxstack[cxstack_ix].blk_oldsp;	\
-	FREETMPS;		\
-	oldsave = PL_scopestack[PL_scopestack_ix - 1]; \
-	LEAVE_SCOPE(oldsave);	\
-	SPAGAIN;		\
-    } while(0)
-
-/* Anyone using eval "" deserves this mess */
-#define PP_EVAL(ppaddr, nxt) do {		\
-	dJMPENV;				\
-	int ret;				\
-	PUTBACK;				\
-	JMPENV_PUSH(ret);			\
-	switch (ret) {				\
-	case 0:					\
-	    PL_op = ppaddr(aTHX);		\
-	    if (PL_op != nxt) CALLRUNOPS(aTHX);	\
-	    JMPENV_POP;				\
-	    break;				\
-	case 1: JMPENV_POP; JMPENV_JUMP(1);	\
-	case 2: JMPENV_POP; JMPENV_JUMP(2);	\
-	case 3:					\
-	    JMPENV_POP;				\
-	    if (PL_restartop && PL_restartop != nxt)		\
-		JMPENV_JUMP(3);			\
-	}					\
-	PL_op = nxt;				\
-	SPAGAIN;				\
-    } while (0)
-
-
-#define PP_ENTERTRY(jmpbuf,label)  \
-	STMT_START {                    \
-		int ret;		\
-		JMPENV_PUSH_ENV(jmpbuf,ret);			\
-		switch (ret) {				\
-			case 1: JMPENV_POP_ENV(jmpbuf); JMPENV_JUMP(1);\
-			case 2: JMPENV_POP_ENV(jmpbuf); JMPENV_JUMP(2);\
-			case 3: JMPENV_POP_ENV(jmpbuf); SPAGAIN; goto label;\
-		}                                       \
-	} STMT_END
-#define PP_LEAVETRY \
-	STMT_START{ PL_top_env=PL_top_env->je_prev; }STMT_END

Modified: vendor/perl/dist/cflags.SH
===================================================================
--- vendor/perl/dist/cflags.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cflags.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 case $PERL_CONFIG_SH in
 '')
 	if test -f config.sh; then TOP=.;
@@ -140,7 +142,7 @@
        case " $ccflags " in
        *" $opt "*) ;; # Skip if already there.
        *) rm -f _cflags$_exe
-          case "`$cc $cflags $warn $stdflags $opt _cflags.c -o _cflags$_exe 2>&1`" in
+          case "`$cc -DPERL_NO_INLINE_FUNCTIONS $cflags $warn $stdflags $opt _cflags.c -o _cflags$_exe 2>&1`" in
           *"unrecognized"*) ;;
           *"implicit declaration"*) ;; # Was something useful hidden?
           *"Invalid"*) ;;
@@ -273,56 +275,23 @@
     : or customize here
 
     case "$file" in
-    DB_File) ;;
-    GDBM_File) ;;
-    NDBM_File) ;;
-    ODBM_File) ;;
-    POSIX) ;;
-    SDBM_File) ;;
-    av) ;;
-    byterun) ;;
-    deb) ;;
-    dl) ;;
-    doio) ;;
-    doop) ;;
-    dump) ;;
-    globals) ;;
-    gv) ;;
-    hv) ;;
-    locale) ;;
-    madly) ;;
-    main) ;;
-    malloc) ;;
-    mg) ;;
-    miniperlmain) ;;
-    numeric) ;;
-    op) ;;
-    opmini) ;;
-    pad) ;;
-    perl) ;;
-    perlapi) ;;
-    perlmain) ;;
-    perly) ;;
-    pp) ;;
-    pp_ctl) ;;
-    pp_hot) ;;
-    pp_pack) ;;
-    pp_sort) ;;
-    pp_sys) ;;
-    regcomp) ;;
-    regexec) ;;
-    run) ;;
-    scope) ;;
-    sv) ;;
-    taint) ;;
-    toke) ;;
-    universal) ;;
-    usersub) ;;
-    utf8) ;;
-    util) ;;
     *) ;;
+
+    *) : Customization examples follow: ;;
+    av) ccflags=`echo $ccflags | sed -e s/-pipe//` ;;
+    deb) ccflags="$ccflags -fno-jump-tables" ;;
+    hv) warn=`echo $warn | sed -e s/-Wextra//` ;;
+    toke) optimize=-O0 ;;
     esac
 
+    : The examples are intentionally unreachable as the '*)' case always
+    : matches. To use them, move before the '*)' and edit as appropriate.
+    : It is not a good idea to set ccflags to an absolute value here, as it
+    : often contains general -D defines which are needed for correct
+    : compilation. It is better to edit ccflags as shown, using interpolation
+    : to add flags, or sed to remove flags.
+
+
     case "$cc" in
     *g++*)
       # Extra paranoia in case people have bad canned ccflags:
@@ -337,6 +306,10 @@
     cppflags=`echo $cppflags|sed 's/-Wdeclaration-after-statement/ /'`
 
     case "$cc" in
+    *clang)
+      # clang complains a lot about -Wunused-value which are not fixable
+      warn="$warn -Wno-unused-value"
+      ;;
     *g++*)
       # Without -Wno-unused-variable g++ 4.x compiles are rather unwatchable
       # because of all the warnings about Perl___notused, and g++ doesn't do


Property changes on: vendor/perl/dist/cflags.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Added: vendor/perl/dist/charclass_invlists.h
===================================================================
--- vendor/perl/dist/charclass_invlists.h	                        (rev 0)
+++ vendor/perl/dist/charclass_invlists.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,813 @@
+/* -*- buffer-read-only: t -*-
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is built by regen/mk_invlists.pl from Unicode::UCD.
+ * Any changes made here will be lost!
+ */
+
+/* See the generating file for comments */
+
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV Latin1_invlist[] = {
+	2,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	0,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	256,
+	0
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV AboveLatin1_invlist[] = {
+	1,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	256
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV ASCII_invlist[] = {
+	2,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	0,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	128,
+	0
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1Cased_invlist[] = {
+	16,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	65,
+	91,
+	97,
+	123,
+	170,
+	171,
+	181,
+	182,
+	186,
+	187,
+	192,
+	215,
+	216,
+	247,
+	248,
+	443
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV VertSpace_invlist[] = {
+	6,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	10,
+	14,
+	133,
+	134,
+	8232,
+	8234
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PerlSpace_invlist[] = {
+	4,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	9,
+	14,
+	32,
+	33
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV XPerlSpace_invlist[] = {
+	22,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	9,
+	14,
+	32,
+	33,
+	133,
+	134,
+	160,
+	161,
+	5760,
+	5761,
+	6158,
+	6159,
+	8192,
+	8203,
+	8232,
+	8234,
+	8239,
+	8240,
+	8287,
+	8288,
+	12288,
+	12289
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixAlnum_invlist[] = {
+	6,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	48,
+	58,
+	65,
+	91,
+	97,
+	123
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1PosixAlnum_invlist[] = {
+	18,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	48,
+	58,
+	65,
+	91,
+	97,
+	123,
+	170,
+	171,
+	181,
+	182,
+	186,
+	187,
+	192,
+	215,
+	216,
+	247,
+	248,
+	706
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixAlpha_invlist[] = {
+	4,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	65,
+	91,
+	97,
+	123
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1PosixAlpha_invlist[] = {
+	16,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	65,
+	91,
+	97,
+	123,
+	170,
+	171,
+	181,
+	182,
+	186,
+	187,
+	192,
+	215,
+	216,
+	247,
+	248,
+	706
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixBlank_invlist[] = {
+	4,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	9,
+	10,
+	32,
+	33
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV XPosixBlank_invlist[] = {
+	18,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	9,
+	10,
+	32,
+	33,
+	160,
+	161,
+	5760,
+	5761,
+	6158,
+	6159,
+	8192,
+	8203,
+	8239,
+	8240,
+	8287,
+	8288,
+	12288,
+	12289
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixCntrl_invlist[] = {
+	4,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	0,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	32,
+	127,
+	128,
+	0
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV XPosixCntrl_invlist[] = {
+	4,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	0,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	32,
+	127,
+	160,
+	0
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixDigit_invlist[] = {
+	2,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	48,
+	58
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixGraph_invlist[] = {
+	2,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	33,
+	127
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1PosixGraph_invlist[] = {
+	4,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	33,
+	127,
+	161,
+	888
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixLower_invlist[] = {
+	2,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	97,
+	123
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1PosixLower_invlist[] = {
+	12,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	97,
+	123,
+	170,
+	171,
+	181,
+	182,
+	186,
+	187,
+	223,
+	247,
+	248,
+	256
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixPrint_invlist[] = {
+	2,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	32,
+	127
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1PosixPrint_invlist[] = {
+	4,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	32,
+	127,
+	160,
+	888
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixPunct_invlist[] = {
+	8,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	33,
+	48,
+	58,
+	65,
+	91,
+	97,
+	123,
+	127
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1PosixPunct_invlist[] = {
+	20,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	33,
+	48,
+	58,
+	65,
+	91,
+	97,
+	123,
+	127,
+	161,
+	162,
+	167,
+	168,
+	171,
+	172,
+	182,
+	184,
+	187,
+	188,
+	191,
+	192
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixSpace_invlist[] = {
+	4,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	9,
+	14,
+	32,
+	33
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV XPosixSpace_invlist[] = {
+	22,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	9,
+	14,
+	32,
+	33,
+	133,
+	134,
+	160,
+	161,
+	5760,
+	5761,
+	6158,
+	6159,
+	8192,
+	8203,
+	8232,
+	8234,
+	8239,
+	8240,
+	8287,
+	8288,
+	12288,
+	12289
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixUpper_invlist[] = {
+	2,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	65,
+	91
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1PosixUpper_invlist[] = {
+	6,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	65,
+	91,
+	192,
+	215,
+	216,
+	223
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixWord_invlist[] = {
+	8,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	48,
+	58,
+	65,
+	91,
+	95,
+	96,
+	97,
+	123
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV L1PosixWord_invlist[] = {
+	20,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	48,
+	58,
+	65,
+	91,
+	95,
+	96,
+	97,
+	123,
+	170,
+	171,
+	181,
+	182,
+	186,
+	187,
+	192,
+	215,
+	216,
+	247,
+	248,
+	706
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV PosixXDigit_invlist[] = {
+	6,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	48,
+	58,
+	65,
+	71,
+	97,
+	103
+};
+
+#endif
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV XPosixXDigit_invlist[] = {
+	12,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	48,
+	58,
+	65,
+	71,
+	97,
+	103,
+	65296,
+	65306,
+	65313,
+	65319,
+	65345,
+	65351
+};
+
+#endif
+
+static UV NonL1_Perl_Non_Final_Folds_invlist[] = {
+	44,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	700,
+	701,
+	776,
+	777,
+	787,
+	788,
+	834,
+	835,
+	940,
+	941,
+	942,
+	943,
+	945,
+	946,
+	951,
+	952,
+	953,
+	954,
+	961,
+	962,
+	965,
+	966,
+	969,
+	970,
+	974,
+	975,
+	1381,
+	1382,
+	1396,
+	1397,
+	1406,
+	1407,
+	7936,
+	7944,
+	7968,
+	7976,
+	8032,
+	8040,
+	8048,
+	8049,
+	8052,
+	8053,
+	8060,
+	8061
+};
+
+#ifndef PERL_IN_XSUB_RE
+
+static UV _Perl_Multi_Char_Folds_invlist[] = {
+	58,	/* Number of elements */
+	0,	/* Current iteration position */
+	0,	/* Cache of previous search index result */
+	290655244, /* Version and data structure type */
+	1,	/* 0 if this is the first element of the list proper;
+		   1 if the next element is the first */
+	223,
+	224,
+	304,
+	305,
+	329,
+	330,
+	496,
+	497,
+	912,
+	913,
+	944,
+	945,
+	1415,
+	1416,
+	7830,
+	7835,
+	7838,
+	7839,
+	8016,
+	8017,
+	8018,
+	8019,
+	8020,
+	8021,
+	8022,
+	8023,
+	8064,
+	8112,
+	8114,
+	8117,
+	8118,
+	8120,
+	8124,
+	8125,
+	8130,
+	8133,
+	8134,
+	8136,
+	8140,
+	8141,
+	8146,
+	8148,
+	8150,
+	8152,
+	8162,
+	8165,
+	8166,
+	8168,
+	8178,
+	8181,
+	8182,
+	8184,
+	8188,
+	8189,
+	64256,
+	64263,
+	64275,
+	64280
+};
+
+#endif
+
+/* ex: set ro: */

Modified: vendor/perl/dist/config_h.SH
===================================================================
--- vendor/perl/dist/config_h.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/config_h.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#!/bin/sh
+#
 # THIS IS A GENERATED FILE
 # DO NOT HAND-EDIT
 #
@@ -121,7 +123,7 @@
  *	of significant digits in a double precision number.  If this
  *	symbol is not defined, a guess of 15 is usually pretty good.
  */
-#$d_dbl_dig HAS_DBL_DIG 	/* */
+#$d_dbl_dig HAS_DBL_DIG 	/**/
 
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
@@ -912,47 +914,19 @@
 #define	_V(args) ()
 #endif
 
-/* INTSIZE:
- *	This symbol contains the value of sizeof(int) so that the C
- *	preprocessor can make decisions based on it.
+/* OSNAME:
+ *	This symbol contains the name of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
  */
-/* LONGSIZE:
- *	This symbol contains the value of sizeof(long) so that the C
- *	preprocessor can make decisions based on it.
+/* OSVERS:
+ *	This symbol contains the version of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
  */
-/* SHORTSIZE:
- *	This symbol contains the value of sizeof(short) so that the C
- *	preprocessor can make decisions based on it.
- */
-#define INTSIZE $intsize		/**/
-#define LONGSIZE $longsize		/**/
-#define SHORTSIZE $shortsize		/**/
+#define OSNAME "$osname"		/**/
+#define OSVERS "$osvers"		/**/
 
-/* MULTIARCH:
- *	This symbol, if defined, signifies that the build
- *	process will produce some binary files that are going to be
- *	used in a cross-platform environment.  This is the case for
- *	example with the NeXT "fat" binaries that contain executables
- *	for several CPUs.
- */
-#$multiarch MULTIARCH		/**/
-
-/* HAS_QUAD:
- *	This symbol, if defined, tells that there's a 64-bit integer type,
- *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
- *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
- */
-#$d_quad HAS_QUAD	/**/
-#ifdef HAS_QUAD
-#   define Quad_t $quadtype	/**/
-#   define Uquad_t $uquadtype	/**/
-#   define QUADKIND $quadkind	/**/
-#   define QUAD_IS_INT	1
-#   define QUAD_IS_LONG	2
-#   define QUAD_IS_LONG_LONG	3
-#   define QUAD_IS_INT64_T	4
-#endif
-
 /* USE_CROSS_COMPILE:
  *	This symbol, if defined, indicates that Perl is being cross-compiled.
  */
@@ -965,16 +939,22 @@
 #define	PERL_TARGETARCH	"$targetarch"	/**/
 #endif
 
+/* MULTIARCH:
+ *	This symbol, if defined, signifies that the build
+ *	process will produce some binary files that are going to be
+ *	used in a cross-platform environment.  This is the case for
+ *	example with the NeXT "fat" binaries that contain executables
+ *	for several CPUs.
+ */
+#$multiarch MULTIARCH		/**/
+
 /* MEM_ALIGNBYTES:
  *	This symbol contains the number of bytes required to align a
  *	double, or a long double when applicable. Usual values are 2,
- *	4 and 8. The default is eight, for safety.
+ *	4 and 8. The default is eight, for safety.  For cross-compiling
+ *  	or multiarch support, Configure will set a minimum of 8.
  */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-#  define MEM_ALIGNBYTES 8
-#else
 #define MEM_ALIGNBYTES $alignbytes
-#endif
 
 /* ARCHLIB:
  *	This variable, if defined, holds the name of the directory in
@@ -1016,11 +996,27 @@
 #define BIN_EXP "$binexp"	/**/
 #define PERL_RELOCATABLE_INC "$userelocatableinc" 		/**/
 
+/* INTSIZE:
+ *	This symbol contains the value of sizeof(int) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ *	This symbol contains the value of sizeof(long) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *	This symbol contains the value of sizeof(short) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+#define INTSIZE $intsize		/**/
+#define LONGSIZE $longsize		/**/
+#define SHORTSIZE $shortsize		/**/
+
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
  *	in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
  *	If the compiler supports cross-compiling or multiple-architecture
- *	binaries (eg. on NeXT systems), use compiler-defined macros to
+ *	binaries (e.g. on NeXT systems), use compiler-defined macros to
  *	determine the byte order.
  *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
  *	Binaries (MAB) on either big endian or little endian machines.
@@ -1065,6 +1061,64 @@
  */
 #define CHARBITS $charbits		/**/
 
+/* CAT2:
+ *	This macro concatenates 2 tokens together.
+ */
+/* STRINGIFY:
+ *	This macro surrounds its token with double quotes.
+ */
+#if $cpp_stuff == 1
+#define CAT2(a,b)	a/**/b
+#define STRINGIFY(a)	"a"
+#endif
+#if $cpp_stuff == 42
+#define PeRl_CaTiFy(a, b)	a ## b
+#define PeRl_StGiFy(a)	#a
+#define CAT2(a,b)	PeRl_CaTiFy(a,b)
+#define StGiFy(a)	PeRl_StGiFy(a)
+#define STRINGIFY(a)	PeRl_StGiFy(a)
+#endif
+#if $cpp_stuff != 1 && $cpp_stuff != 42
+#include "Bletch: How does this C preprocessor concatenate tokens?"
+#endif
+
+/* CPPSTDIN:
+ *	This symbol contains the first part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
+ *	call a wrapper. See CPPRUN.
+ */
+/* CPPMINUS:
+ *	This symbol contains the second part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
+ *	to specify standard input, otherwise the value is "".
+ */
+/* CPPRUN:
+ *	This symbol contains the string which will invoke a C preprocessor on
+ *	the standard input and produce to standard output. It needs to end
+ *	with CPPLAST, after all other preprocessor flags have been specified.
+ *	The main difference with CPPSTDIN is that this program will never be a
+ *	pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
+ *	available directly to the user. Note that it may well be different from
+ *	the preprocessor used to compile the C program.
+ */
+/* CPPLAST:
+ *	This symbol is intended to be used along with CPPRUN in the same manner
+ *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
+#define CPPSTDIN "$cppstdin"
+#define CPPMINUS "$cppminus"
+#define CPPRUN "$cpprun"
+#define CPPLAST "$cpplast"
+
+/* HAS_ACCESS:
+ *	This manifest constant lets the C program know that the access()
+ *	system call is available to check for accessibility using real UID/GID.
+ *	(always present on UNIX.)
+ */
+#$d_access HAS_ACCESS		/**/
+
 /* HAS_ACCESSX:
  *	This symbol, if defined, indicates that the accessx routine is
  *	available to do extended access checks.
@@ -1084,6 +1138,43 @@
 #$d_asctime_r HAS_ASCTIME_R	   /**/
 #define ASCTIME_R_PROTO $asctime_r_proto	   /**/
 
+/* HASATTRIBUTE_FORMAT:
+ *	Can we handle GCC attribute for checking printf-style formats
+ */
+/* PRINTF_FORMAT_NULL_OK:
+ *	Allows __printf__ format to be null when checking printf-style
+ */
+/* HASATTRIBUTE_MALLOC:
+ *	Can we handle GCC attribute for malloc-style functions.
+ */
+/* HASATTRIBUTE_NONNULL:
+ *	Can we handle GCC attribute for nonnull function parms.
+ */
+/* HASATTRIBUTE_NORETURN:
+ *	Can we handle GCC attribute for functions that do not return
+ */
+/* HASATTRIBUTE_PURE:
+ *	Can we handle GCC attribute for pure functions
+ */
+/* HASATTRIBUTE_UNUSED:
+ *	Can we handle GCC attribute for unused variables and arguments
+ */
+/* HASATTRIBUTE_DEPRECATED:
+ *	Can we handle GCC attribute for marking deprecated APIs
+ */
+/* HASATTRIBUTE_WARN_UNUSED_RESULT:
+ *	Can we handle GCC attribute for warning on unused results
+ */
+#$d_attribute_deprecated HASATTRIBUTE_DEPRECATED	/**/
+#$d_attribute_format HASATTRIBUTE_FORMAT	/**/
+#$d_printf_format_null PRINTF_FORMAT_NULL_OK	/**/
+#$d_attribute_noreturn HASATTRIBUTE_NORETURN	/**/
+#$d_attribute_malloc HASATTRIBUTE_MALLOC	/**/
+#$d_attribute_nonnull HASATTRIBUTE_NONNULL	/**/
+#$d_attribute_pure HASATTRIBUTE_PURE	/**/
+#$d_attribute_unused HASATTRIBUTE_UNUSED	/**/
+#$d_attribute_warn_unused_result HASATTRIBUTE_WARN_UNUSED_RESULT	/**/
+
 /* CASTI32:
  *	This symbol is defined if the C compiler can cast negative
  *	or large floating point numbers to 32-bit ints.
@@ -1111,6 +1202,17 @@
  */
 #$d_void_closedir VOID_CLOSEDIR		/**/
 
+/* HASCONST:
+ *	This symbol, if defined, indicates that this C compiler knows about
+ *	the const type. There is no need to actually test for that symbol
+ *	within your programs. The mere use of the "const" keyword will
+ *	trigger the necessary tests.
+ */
+#$d_const HASCONST	/**/
+#ifndef HASCONST
+#define const
+#endif
+
 /* HAS_CRYPT_R:
  *	This symbol, if defined, indicates that the crypt_r routine
  *	is available to crypt re-entrantly.
@@ -1124,6 +1226,17 @@
 #$d_crypt_r HAS_CRYPT_R	   /**/
 #define CRYPT_R_PROTO $crypt_r_proto	   /**/
 
+/* HAS_CSH:
+ *	This symbol, if defined, indicates that the C-shell exists.
+ */
+/* CSH:
+ *	This symbol, if defined, contains the full pathname of csh.
+ */
+#$d_csh HAS_CSH		/**/
+#ifdef HAS_CSH
+#define CSH "$full_csh"	/**/
+#endif
+
 /* HAS_CTERMID_R:
  *	This symbol, if defined, indicates that the ctermid_r routine
  *	is available to ctermid re-entrantly.
@@ -1150,6 +1263,26 @@
 #$d_ctime_r HAS_CTIME_R	   /**/
 #define CTIME_R_PROTO $ctime_r_proto	   /**/
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *	This symbol, if defined, indicates that the bug that prevents
+ *	setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *	This symbol, if defined, indicates that the C program should
+ *	check the script that it is executing for setuid/setgid bits, and
+ *	attempt to emulate setuid/setgid on systems that have disabled
+ *	setuid #! scripts because the kernel can't do it securely.
+ *	It is up to the package designer to make sure that this emulation
+ *	is done securely.  Among other things, it should do an fstat on
+ *	the script it just opened to make sure it really is a setuid/setgid
+ *	script, it should make sure the arguments passed correspond exactly
+ *	to the argument on the #! line, and it should not trust any
+ *	subprocesses to which it must pass the filename rather than the
+ *	file descriptor of the script to be executed.
+ */
+#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW	/**/
+#$d_dosuid DOSUID		/**/
+
 /* HAS_DRAND48_R:
  *	This symbol, if defined, indicates that the drand48_r routine
  *	is available to drand48 re-entrantly.
@@ -1163,6 +1296,14 @@
 #$d_drand48_r HAS_DRAND48_R	   /**/
 #define DRAND48_R_PROTO $drand48_r_proto	   /**/
 
+/* HAS_DRAND48_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the drand48() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern double drand48(void);
+ */
+#$d_drand48proto	HAS_DRAND48_PROTO	/**/
+
 /* HAS_EACCESS:
  *	This symbol, if defined, indicates that the eaccess routine is
  *	available to do extended access checks.
@@ -1169,6 +1310,12 @@
  */
 #$d_eaccess HAS_EACCESS		/**/
 
+/* HAS_ENDGRENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for finalizing sequential access of the group database.
+ */
+#$d_endgrent HAS_ENDGRENT		/**/
+
 /* HAS_ENDGRENT_R:
  *	This symbol, if defined, indicates that the endgrent_r routine
  *	is available to endgrent re-entrantly.
@@ -1182,6 +1329,12 @@
 #$d_endgrent_r HAS_ENDGRENT_R	   /**/
 #define ENDGRENT_R_PROTO $endgrent_r_proto	   /**/
 
+/* HAS_ENDHOSTENT:
+ *	This symbol, if defined, indicates that the endhostent() routine is
+ *	available to close whatever was being used for host queries.
+ */
+#$d_endhent HAS_ENDHOSTENT		/**/
+
 /* HAS_ENDHOSTENT_R:
  *	This symbol, if defined, indicates that the endhostent_r routine
  *	is available to endhostent re-entrantly.
@@ -1195,6 +1348,12 @@
 #$d_endhostent_r HAS_ENDHOSTENT_R	   /**/
 #define ENDHOSTENT_R_PROTO $endhostent_r_proto	   /**/
 
+/* HAS_ENDNETENT:
+ *	This symbol, if defined, indicates that the endnetent() routine is
+ *	available to close whatever was being used for network queries.
+ */
+#$d_endnent HAS_ENDNETENT		/**/
+
 /* HAS_ENDNETENT_R:
  *	This symbol, if defined, indicates that the endnetent_r routine
  *	is available to endnetent re-entrantly.
@@ -1208,6 +1367,12 @@
 #$d_endnetent_r HAS_ENDNETENT_R	   /**/
 #define ENDNETENT_R_PROTO $endnetent_r_proto	   /**/
 
+/* HAS_ENDPROTOENT:
+ *	This symbol, if defined, indicates that the endprotoent() routine is
+ *	available to close whatever was being used for protocol queries.
+ */
+#$d_endpent HAS_ENDPROTOENT		/**/
+
 /* HAS_ENDPROTOENT_R:
  *	This symbol, if defined, indicates that the endprotoent_r routine
  *	is available to endprotoent re-entrantly.
@@ -1221,6 +1386,12 @@
 #$d_endprotoent_r HAS_ENDPROTOENT_R	   /**/
 #define ENDPROTOENT_R_PROTO $endprotoent_r_proto	   /**/
 
+/* HAS_ENDPWENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for finalizing sequential access of the passwd database.
+ */
+#$d_endpwent HAS_ENDPWENT		/**/
+
 /* HAS_ENDPWENT_R:
  *	This symbol, if defined, indicates that the endpwent_r routine
  *	is available to endpwent re-entrantly.
@@ -1234,6 +1405,12 @@
 #$d_endpwent_r HAS_ENDPWENT_R	   /**/
 #define ENDPWENT_R_PROTO $endpwent_r_proto	   /**/
 
+/* HAS_ENDSERVENT:
+ *	This symbol, if defined, indicates that the endservent() routine is
+ *	available to close whatever was being used for service queries.
+ */
+#$d_endsent HAS_ENDSERVENT		/**/
+
 /* HAS_ENDSERVENT_R:
  *	This symbol, if defined, indicates that the endservent_r routine
  *	is available to endservent re-entrantly.
@@ -1253,6 +1430,12 @@
  */
 #$d_fd_set HAS_FD_SET	/**/
 
+/* FLEXFILENAMES:
+ *	This symbol, if defined, indicates that the system supports filenames
+ *	longer than 14 characters.
+ */
+#$d_flexfnam	FLEXFILENAMES		/**/
+
 /* Gconvert:
  *	This preprocessor macro is defined to convert a floating point
  *	number to a string without a trailing decimal point.  This
@@ -1270,6 +1453,12 @@
  */
 #define Gconvert(x,n,t,b) $d_Gconvert
 
+/* HAS_GETGRENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for sequential access of the group database.
+ */
+#$d_getgrent HAS_GETGRENT		/**/
+
 /* HAS_GETGRENT_R:
  *	This symbol, if defined, indicates that the getgrent_r routine
  *	is available to getgrent re-entrantly.
@@ -1309,6 +1498,53 @@
 #$d_getgrnam_r HAS_GETGRNAM_R	   /**/
 #define GETGRNAM_R_PROTO $getgrnam_r_proto	   /**/
 
+/* HAS_GETHOSTBYADDR:
+ *	This symbol, if defined, indicates that the gethostbyaddr() routine is
+ *	available to look up hosts by their IP addresses.
+ */
+#$d_gethbyaddr HAS_GETHOSTBYADDR		/**/
+
+/* HAS_GETHOSTBYNAME:
+ *	This symbol, if defined, indicates that the gethostbyname() routine is
+ *	available to look up host names in some data base or other.
+ */
+#$d_gethbyname HAS_GETHOSTBYNAME		/**/
+
+/* HAS_GETHOSTENT:
+ *	This symbol, if defined, indicates that the gethostent() routine is
+ *	available to look up host names in some data base or another.
+ */
+#$d_gethent HAS_GETHOSTENT		/**/
+
+/* HAS_GETHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	gethostname() routine to derive the host name.  See also HAS_UNAME
+ *	and PHOSTNAME.
+ */
+/* HAS_UNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	uname() routine to derive the host name.  See also HAS_GETHOSTNAME
+ *	and PHOSTNAME.
+ */
+/* PHOSTNAME:
+ *	This symbol, if defined, indicates the command to feed to the
+ *	popen() routine to derive the host name.  See also HAS_GETHOSTNAME
+ *	and HAS_UNAME.	Note that the command uses a fully qualified path,
+ *	so that it is safe even if used by a process with super-user
+ *	privileges.
+ */
+/* HAS_PHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	contents of PHOSTNAME as a command to feed to the popen() routine
+ *	to derive the host name.
+ */
+#$d_gethname HAS_GETHOSTNAME	/**/
+#$d_uname HAS_UNAME		/**/
+#$d_phostname HAS_PHOSTNAME	/**/
+#ifdef HAS_PHOSTNAME
+#define PHOSTNAME "$aphostname"	/* How to get the host name */
+#endif
+
 /* HAS_GETHOSTBYADDR_R:
  *	This symbol, if defined, indicates that the gethostbyaddr_r routine
  *	is available to gethostbyaddr re-entrantly.
@@ -1348,6 +1584,14 @@
 #$d_gethostent_r HAS_GETHOSTENT_R	   /**/
 #define GETHOSTENT_R_PROTO $gethostent_r_proto	   /**/
 
+/* HAS_GETHOST_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for gethostent(), gethostbyname(), and
+ *	gethostbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#$d_gethostprotos	HAS_GETHOST_PROTOS	/**/
+
 /* HAS_GETLOGIN_R:
  *	This symbol, if defined, indicates that the getlogin_r routine
  *	is available to getlogin re-entrantly.
@@ -1361,6 +1605,24 @@
 #$d_getlogin_r HAS_GETLOGIN_R	   /**/
 #define GETLOGIN_R_PROTO $getlogin_r_proto	   /**/
 
+/* HAS_GETNETBYADDR:
+ *	This symbol, if defined, indicates that the getnetbyaddr() routine is
+ *	available to look up networks by their IP addresses.
+ */
+#$d_getnbyaddr HAS_GETNETBYADDR		/**/
+
+/* HAS_GETNETBYNAME:
+ *	This symbol, if defined, indicates that the getnetbyname() routine is
+ *	available to look up networks by their names.
+ */
+#$d_getnbyname HAS_GETNETBYNAME		/**/
+
+/* HAS_GETNETENT:
+ *	This symbol, if defined, indicates that the getnetent() routine is
+ *	available to look up network names in some data base or another.
+ */
+#$d_getnent HAS_GETNETENT		/**/
+
 /* HAS_GETNETBYADDR_R:
  *	This symbol, if defined, indicates that the getnetbyaddr_r routine
  *	is available to getnetbyaddr re-entrantly.
@@ -1400,6 +1662,14 @@
 #$d_getnetent_r HAS_GETNETENT_R	   /**/
 #define GETNETENT_R_PROTO $getnetent_r_proto	   /**/
 
+/* HAS_GETNET_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getnetent(), getnetbyname(), and
+ *	getnetbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#$d_getnetprotos	HAS_GETNET_PROTOS	/**/
+
 /* HAS_GETPAGESIZE:
  *	This symbol, if defined, indicates that the getpagesize system call
  *	is available to get system page size, which is the granularity of
@@ -1407,6 +1677,34 @@
  */
 #$d_getpagsz HAS_GETPAGESIZE		/**/
 
+/* HAS_GETPROTOENT:
+ *	This symbol, if defined, indicates that the getprotoent() routine is
+ *	available to look up protocols in some data base or another.
+ */
+#$d_getpent HAS_GETPROTOENT		/**/
+
+/* HAS_GETPGRP:
+ *	This symbol, if defined, indicates that the getpgrp routine is
+ *	available to get the current process group.
+ */
+/* USE_BSD_GETPGRP:
+ *	This symbol, if defined, indicates that getpgrp needs one
+ *	arguments whereas USG one needs none.
+ */
+#$d_getpgrp HAS_GETPGRP		/**/
+#$d_bsdgetpgrp USE_BSD_GETPGRP	/**/
+
+/* HAS_GETPROTOBYNAME:
+ *	This symbol, if defined, indicates that the getprotobyname()
+ *	routine is available to look up protocols by their name.
+ */
+/* HAS_GETPROTOBYNUMBER:
+ *	This symbol, if defined, indicates that the getprotobynumber()
+ *	routine is available to look up protocols by their number.
+ */
+#$d_getpbyname HAS_GETPROTOBYNAME		/**/
+#$d_getpbynumber HAS_GETPROTOBYNUMBER		/**/
+
 /* HAS_GETPROTOBYNAME_R:
  *	This symbol, if defined, indicates that the getprotobyname_r routine
  *	is available to getprotobyname re-entrantly.
@@ -1446,6 +1744,21 @@
 #$d_getprotoent_r HAS_GETPROTOENT_R	   /**/
 #define GETPROTOENT_R_PROTO $getprotoent_r_proto	   /**/
 
+/* HAS_GETPROTO_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getprotoent(), getprotobyname(), and
+ *	getprotobyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#$d_getprotoprotos	HAS_GETPROTO_PROTOS	/**/
+
+/* HAS_GETPWENT:
+ *	This symbol, if defined, indicates that the getpwent routine is
+ *	available for sequential access of the passwd database.
+ *	If this is not available, the older getpw() function may be available.
+ */
+#$d_getpwent HAS_GETPWENT		/**/
+
 /* HAS_GETPWENT_R:
  *	This symbol, if defined, indicates that the getpwent_r routine
  *	is available to getpwent re-entrantly.
@@ -1485,6 +1798,12 @@
 #$d_getpwuid_r HAS_GETPWUID_R	   /**/
 #define GETPWUID_R_PROTO $getpwuid_r_proto	   /**/
 
+/* HAS_GETSERVENT:
+ *	This symbol, if defined, indicates that the getservent() routine is
+ *	available to look up network services in some data base or another.
+ */
+#$d_getsent HAS_GETSERVENT		/**/
+
 /* HAS_GETSERVBYNAME_R:
  *	This symbol, if defined, indicates that the getservbyname_r routine
  *	is available to getservbyname re-entrantly.
@@ -1524,6 +1843,14 @@
 #$d_getservent_r HAS_GETSERVENT_R	   /**/
 #define GETSERVENT_R_PROTO $getservent_r_proto	   /**/
 
+/* HAS_GETSERV_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getservent(), getservbyname(), and
+ *	getservbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+#$d_getservprotos	HAS_GETSERV_PROTOS	/**/
+
 /* HAS_GETSPNAM_R:
  *	This symbol, if defined, indicates that the getspnam_r routine
  *	is available to getspnam re-entrantly.
@@ -1537,6 +1864,17 @@
 #$d_getspnam_r HAS_GETSPNAM_R	   /**/
 #define GETSPNAM_R_PROTO $getspnam_r_proto	   /**/
 
+/* HAS_GETSERVBYNAME:
+ *	This symbol, if defined, indicates that the getservbyname()
+ *	routine is available to look up services by their name.
+ */
+/* HAS_GETSERVBYPORT:
+ *	This symbol, if defined, indicates that the getservbyport()
+ *	routine is available to look up services by their port.
+ */
+#$d_getsbyname HAS_GETSERVBYNAME		/**/
+#$d_getsbyport HAS_GETSERVBYPORT		/**/
+
 /* HAS_GMTIME_R:
  *	This symbol, if defined, indicates that the gmtime_r routine
  *	is available to gmtime re-entrantly.
@@ -1560,6 +1898,31 @@
 #   define _GNU_SOURCE
 #endif
 
+/* HAS_HTONL:
+ *	This symbol, if defined, indicates that the htonl() routine (and
+ *	friends htons() ntohl() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_HTONS:
+ *	This symbol, if defined, indicates that the htons() routine (and
+ *	friends htonl() ntohl() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_NTOHL:
+ *	This symbol, if defined, indicates that the ntohl() routine (and
+ *	friends htonl() htons() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_NTOHS:
+ *	This symbol, if defined, indicates that the ntohs() routine (and
+ *	friends htonl() htons() ntohl()) are available to do network
+ *	order byte swapping.
+ */
+#$d_htonl HAS_HTONL		/**/
+#$d_htonl HAS_HTONS		/**/
+#$d_htonl HAS_NTOHL		/**/
+#$d_htonl HAS_NTOHS		/**/
+
 /* HAS_ISASCII:
  *	This manifest constant lets the C program know that isascii
  *	is available.
@@ -1599,6 +1962,72 @@
 #$d_localtime_r HAS_LOCALTIME_R	   /**/
 #define LOCALTIME_R_PROTO $localtime_r_proto	   /**/
 
+/* HAS_LONG_DOUBLE:
+ *	This symbol will be defined if the C compiler supports long
+ *	doubles.
+ */
+/* LONG_DOUBLESIZE:
+ *	This symbol contains the size of a long double, so that the
+ *	C preprocessor can make decisions based on it.  It is only
+ *	defined if the system supports long doubles.
+ */
+#$d_longdbl HAS_LONG_DOUBLE		/**/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE $longdblsize		/**/
+#endif
+
+/* HAS_LONG_LONG:
+ *	This symbol will be defined if the C compiler supports long long.
+ */
+/* LONGLONGSIZE:
+ *	This symbol contains the size of a long long, so that the
+ *	C preprocessor can make decisions based on it.  It is only
+ *	defined if the system supports long long.
+ */
+#$d_longlong HAS_LONG_LONG		/**/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE $longlongsize		/**/
+#endif
+
+/* HAS_LSEEK_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the lseek() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern off_t lseek(int, off_t, int);
+ */
+#$d_lseekproto	HAS_LSEEK_PROTO	/**/
+
+/* HAS_MEMCHR:
+ *	This symbol, if defined, indicates that the memchr routine is available
+ *	to locate characters within a C string.
+ */
+#$d_memchr HAS_MEMCHR	/**/
+
+/* HAS_MKSTEMP:
+ *	This symbol, if defined, indicates that the mkstemp routine is
+ *	available to exclusively create and open a uniquely named
+ *	temporary file.
+ */
+#$d_mkstemp HAS_MKSTEMP		/**/
+
+/* HAS_MMAP:
+ *	This symbol, if defined, indicates that the mmap system call is
+ *	available to map a file into memory.
+ */
+/* Mmap_t:
+ *	This symbol holds the return type of the mmap() system call
+ *	(and simultaneously the type of the first argument).
+ *	Usually set to 'void *' or 'caddr_t'.
+ */
+#$d_mmap HAS_MMAP		/**/
+#define Mmap_t $mmaptype	/**/
+
+/* HAS_MSG:
+ *	This symbol, if defined, indicates that the entire msg*(2) library is
+ *	supported (IPC mechanism based on message queues).
+ */
+#$d_msg HAS_MSG		/**/
+
 /* HAS_OPEN3:
  *	This manifest constant lets the C program know that the three
  *	argument form of open(2) is available.
@@ -1702,6 +2131,18 @@
  */
 #$d_sanemcmp HAS_SANE_MEMCMP	/**/
 
+/* HAS_SEM:
+ *	This symbol, if defined, indicates that the entire sem*(2) library is
+ *	supported.
+ */
+#$d_sem HAS_SEM		/**/
+
+/* HAS_SETGRENT:
+ *	This symbol, if defined, indicates that the setgrent routine is
+ *	available for initializing sequential access of the group database.
+ */
+#$d_setgrent HAS_SETGRENT		/**/
+
 /* HAS_SETGRENT_R:
  *	This symbol, if defined, indicates that the setgrent_r routine
  *	is available to setgrent re-entrantly.
@@ -1715,6 +2156,12 @@
 #$d_setgrent_r HAS_SETGRENT_R	   /**/
 #define SETGRENT_R_PROTO $setgrent_r_proto	   /**/
 
+/* HAS_SETHOSTENT:
+ *	This symbol, if defined, indicates that the sethostent() routine is
+ *	available.
+ */
+#$d_sethent HAS_SETHOSTENT		/**/
+
 /* HAS_SETHOSTENT_R:
  *	This symbol, if defined, indicates that the sethostent_r routine
  *	is available to sethostent re-entrantly.
@@ -1741,6 +2188,12 @@
 #$d_setlocale_r HAS_SETLOCALE_R	   /**/
 #define SETLOCALE_R_PROTO $setlocale_r_proto	   /**/
 
+/* HAS_SETNETENT:
+ *	This symbol, if defined, indicates that the setnetent() routine is
+ *	available.
+ */
+#$d_setnent HAS_SETNETENT		/**/
+
 /* HAS_SETNETENT_R:
  *	This symbol, if defined, indicates that the setnetent_r routine
  *	is available to setnetent re-entrantly.
@@ -1754,6 +2207,24 @@
 #$d_setnetent_r HAS_SETNETENT_R	   /**/
 #define SETNETENT_R_PROTO $setnetent_r_proto	   /**/
 
+/* HAS_SETPROTOENT:
+ *	This symbol, if defined, indicates that the setprotoent() routine is
+ *	available.
+ */
+#$d_setpent HAS_SETPROTOENT		/**/
+
+/* HAS_SETPGRP:
+ *	This symbol, if defined, indicates that the setpgrp routine is
+ *	available to set the current process group.
+ */
+/* USE_BSD_SETPGRP:
+ *	This symbol, if defined, indicates that setpgrp needs two
+ *	arguments whereas USG one needs none.  See also HAS_SETPGID
+ *	for a POSIX interface.
+ */
+#$d_setpgrp HAS_SETPGRP		/**/
+#$d_bsdsetpgrp USE_BSD_SETPGRP	/**/
+
 /* HAS_SETPROTOENT_R:
  *	This symbol, if defined, indicates that the setprotoent_r routine
  *	is available to setprotoent re-entrantly.
@@ -1767,6 +2238,12 @@
 #$d_setprotoent_r HAS_SETPROTOENT_R	   /**/
 #define SETPROTOENT_R_PROTO $setprotoent_r_proto	   /**/
 
+/* HAS_SETPWENT:
+ *	This symbol, if defined, indicates that the setpwent routine is
+ *	available for initializing sequential access of the passwd database.
+ */
+#$d_setpwent HAS_SETPWENT		/**/
+
 /* HAS_SETPWENT_R:
  *	This symbol, if defined, indicates that the setpwent_r routine
  *	is available to setpwent re-entrantly.
@@ -1780,6 +2257,12 @@
 #$d_setpwent_r HAS_SETPWENT_R	   /**/
 #define SETPWENT_R_PROTO $setpwent_r_proto	   /**/
 
+/* HAS_SETSERVENT:
+ *	This symbol, if defined, indicates that the setservent() routine is
+ *	available.
+ */
+#$d_setsent HAS_SETSERVENT		/**/
+
 /* HAS_SETSERVENT_R:
  *	This symbol, if defined, indicates that the setservent_r routine
  *	is available to setservent re-entrantly.
@@ -1793,6 +2276,33 @@
 #$d_setservent_r HAS_SETSERVENT_R	   /**/
 #define SETSERVENT_R_PROTO $setservent_r_proto	   /**/
 
+/* HAS_SETVBUF:
+ *	This symbol, if defined, indicates that the setvbuf routine is
+ *	available to change buffering on an open stdio stream.
+ *	to a line-buffered mode.
+ */
+#$d_setvbuf HAS_SETVBUF		/**/
+
+/* HAS_SHM:
+ *	This symbol, if defined, indicates that the entire shm*(2) library is
+ *	supported.
+ */
+#$d_shm HAS_SHM		/**/
+
+/* Shmat_t:
+ *	This symbol holds the return type of the shmat() system call.
+ *	Usually set to 'void *' or 'char *'.
+ */
+/* HAS_SHMAT_PROTOTYPE:
+ *	This symbol, if defined, indicates that the sys/shm.h includes
+ *	a prototype for shmat().  Otherwise, it is up to the program to
+ *	guess one.  Shmat_t shmat(int, Shmat_t, int) is a good guess,
+ *	but not always right so it should be emitted by the program only
+ *	when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
+ */
+#define Shmat_t $shmattype	/**/
+#$d_shmatprototype HAS_SHMAT_PROTOTYPE	/**/
+
 /* HAS_SIGACTION:
  *	This symbol, if defined, indicates that Vr4's sigaction() routine
  *	is available.
@@ -1830,6 +2340,89 @@
 #define Siglongjmp(buf,retval) longjmp((buf),(retval))
 #endif
 
+/* HAS_SOCKET:
+ *	This symbol, if defined, indicates that the BSD socket interface is
+ *	supported.
+ */
+/* HAS_SOCKETPAIR:
+ *	This symbol, if defined, indicates that the BSD socketpair() call is
+ *	supported.
+ */
+/* HAS_MSG_CTRUNC:
+ *	This symbol, if defined, indicates that the MSG_CTRUNC is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_DONTROUTE:
+ *	This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_OOB:
+ *	This symbol, if defined, indicates that the MSG_OOB is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_PEEK:
+ *	This symbol, if defined, indicates that the MSG_PEEK is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_PROXY:
+ *	This symbol, if defined, indicates that the MSG_PROXY is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_SCM_RIGHTS:
+ *	This symbol, if defined, indicates that the SCM_RIGHTS is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_SOCKADDR_SA_LEN:
+ *	This symbol, if defined, indicates that the struct sockaddr
+ *	structure has a member called sa_len, indicating the length of
+ *	the structure.
+ */
+/* HAS_SOCKADDR_IN6:
+ *	This symbol, if defined, indicates the availability of
+ *	struct sockaddr_in6;
+ */
+/* HAS_SIN6_SCOPE_ID:
+ *	This symbol, if defined, indicates that the struct sockaddr_in6
+ *	structure has a member called sin6_scope_id.
+ */
+/* HAS_IP_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ip_mreq;
+ */
+/* HAS_IP_MREQ_SOURCE:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ip_mreq_source;
+ */
+/* HAS_IPV6_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ipv6_mreq;
+ */
+/* HAS_IPV6_MREQ_SOURCE:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ipv6_mreq_source;
+ */
+#$d_socket	HAS_SOCKET		/**/
+#$d_sockpair	HAS_SOCKETPAIR	/**/
+#$d_sockaddr_sa_len	HAS_SOCKADDR_SA_LEN	/**/
+#$d_msg_ctrunc	HAS_MSG_CTRUNC	/**/
+#$d_msg_dontroute	HAS_MSG_DONTROUTE	/**/
+#$d_msg_oob	HAS_MSG_OOB	/**/
+#$d_msg_peek	HAS_MSG_PEEK	/**/
+#$d_msg_proxy	HAS_MSG_PROXY	/**/
+#$d_scm_rights	HAS_SCM_RIGHTS	/**/
+#$d_sockaddr_in6	HAS_SOCKADDR_IN6	/**/
+#$d_sin6_scope_id	HAS_SIN6_SCOPE_ID	/**/
+#$d_ip_mreq	HAS_IP_MREQ	/**/
+#$d_ip_mreq_source	HAS_IP_MREQ_SOURCE	/**/
+#$d_ipv6_mreq	HAS_IPV6_MREQ	/**/
+#$d_ipv6_mreq_source	HAS_IPV6_MREQ_SOURCE	/**/
+
 /* HAS_SRAND48_R:
  *	This symbol, if defined, indicates that the srand48_r routine
  *	is available to srand48 re-entrantly.
@@ -1856,6 +2449,35 @@
 #$d_srandom_r HAS_SRANDOM_R	   /**/
 #define SRANDOM_R_PROTO $srandom_r_proto	   /**/
 
+/* USE_STAT_BLOCKS:
+ *	This symbol is defined if this system has a stat structure declaring
+ *	st_blksize and st_blocks.
+ */
+#ifndef USE_STAT_BLOCKS
+#$d_statblks USE_STAT_BLOCKS 	/**/
+#endif
+
+/* HAS_STATIC_INLINE:
+ *	This symbol, if defined, indicates that the C compiler supports
+ *	C99-style static inline.  That is, the function can't be called
+ *	from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ *	This symbol gives the best-guess incantation to use for static
+ *	inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *	this will give a plain 'static'.  It will always be defined
+ *	to something that gives static linkage.
+ *	Possibilities include
+ *		static inline       (c99)
+ *		static __inline__   (gcc -ansi)
+ *		static __inline     (MSVC)
+ *		static _inline      (older MSVC)
+ *		static              (c89 compilers)
+ */
+#$d_static_inline HAS_STATIC_INLINE				/**/
+#define PERL_STATIC_INLINE $perl_static_inline	/**/
+
 /* USE_STDIO_PTR:
  *	This symbol is defined if the _ptr and _cnt fields (or similar)
  *	of the stdio FILE structure can be used to access the stdio buffer
@@ -1926,6 +2548,32 @@
 #define FILE_bufsiz(fp)	$stdio_bufsiz
 #endif
 
+/* USE_STRUCT_COPY:
+ *	This symbol, if defined, indicates that this C compiler knows how
+ *	to copy structures.  If undefined, you'll need to use a block copy
+ *	routine of some sort instead.
+ */
+#$d_strctcpy	USE_STRUCT_COPY	/**/
+
+/* HAS_STRERROR:
+ *	This symbol, if defined, indicates that the strerror routine is
+ *	available to translate error numbers to strings. See the writeup
+ *	of Strerror() in this file before you try to define your own.
+ */
+/* HAS_SYS_ERRLIST:
+ *	This symbol, if defined, indicates that the sys_errlist array is
+ *	available to translate error numbers to strings. The extern int
+ *	sys_nerr gives the size of that table.
+ */
+/* Strerror:
+ *	This preprocessor symbol is defined as a macro if strerror() is
+ *	not available to translate error numbers to strings but sys_errlist[]
+ *	array is there.
+ */
+#$d_strerror HAS_STRERROR		/**/
+#$d_syserrlst HAS_SYS_ERRLIST	/**/
+#define Strerror(e) $d_strerrm
+
 /* HAS_STRERROR_R:
  *	This symbol, if defined, indicates that the strerror_r routine
  *	is available to strerror re-entrantly.
@@ -1939,6 +2587,30 @@
 #$d_strerror_r HAS_STRERROR_R	   /**/
 #define STRERROR_R_PROTO $strerror_r_proto	   /**/
 
+/* HAS_STRTOUL:
+ *	This symbol, if defined, indicates that the strtoul routine is
+ *	available to provide conversion of strings to unsigned long.
+ */
+#$d_strtoul HAS_STRTOUL	/**/
+
+/* HAS_TIME:
+ *	This symbol, if defined, indicates that the time() routine exists.
+ */
+/* Time_t:
+ *	This symbol holds the type returned by time(). It can be long,
+ *	or time_t on BSD sites (in which case <sys/types.h> should be
+ *	included).
+ */
+#$d_time HAS_TIME		/**/
+#define Time_t $timetype		/* Time type */
+
+/* HAS_TIMES:
+ *	This symbol, if defined, indicates that the times() routine exists.
+ *	Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+#$d_times HAS_TIMES		/**/
+
 /* HAS_TMPNAM_R:
  *	This symbol, if defined, indicates that the tmpnam_r routine
  *	is available to tmpnam re-entrantly.
@@ -1965,886 +2637,6 @@
 #$d_ttyname_r HAS_TTYNAME_R	   /**/
 #define TTYNAME_R_PROTO $ttyname_r_proto	   /**/
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#$d_vprintf HAS_VPRINTF	/**/
-#$d_charvspr USE_CHAR_VSPRINTF 	/**/
-
-/* DOUBLESIZE:
- *	This symbol contains the size of a double, so that the C preprocessor
- *	can make decisions based on it.
- */
-#define DOUBLESIZE $doublesize		/**/
-
-/* I_MACH_CTHREADS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <mach/cthreads.h>.
- */
-#$i_machcthr   I_MACH_CTHREADS	/**/
-
-/* I_PTHREAD:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <pthread.h>.
- */
-#$i_pthread   I_PTHREAD	/**/
-
-/* I_SYS_ACCESS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/access.h>.
- */
-#$i_sysaccess   I_SYS_ACCESS                /**/
-
-/* I_SYS_SECURITY:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/security.h>.
- */
-#$i_syssecrt   I_SYS_SECURITY	/**/
-
-/* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
- */
-/* I_SYS_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_gmtoff field.
- */
-#$i_time I_TIME		/**/
-#$i_systime I_SYS_TIME		/**/
-#$i_systimek I_SYS_TIME_KERNEL		/**/
-#$d_tm_tm_zone HAS_TM_TM_ZONE		/**/
-#$d_tm_tm_gmtoff HAS_TM_TM_GMTOFF		/**/
-
-/* PERL_INC_VERSION_LIST:
- *	This variable specifies the list of subdirectories in over
- *	which perl.c:incpush() and lib/lib.pm will automatically
- *	search when adding directories to @INC, in a format suitable
- *	for a C initialization string.  See the inc_version_list entry
- *	in Porting/Glossary for more details.
- */
-#$d_inc_version_list PERL_INC_VERSION_LIST $inc_version_list_init		/**/
-
-/* INSTALL_USR_BIN_PERL:
- *	This symbol, if defined, indicates that Perl is to be installed
- * 	also as /usr/bin/perl.
- */
-#$installusrbinperl INSTALL_USR_BIN_PERL	/**/
-
-/* VAL_O_NONBLOCK:
- *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- *	non-blocking I/O for the file descriptor. Note that there is no way
- *	back, i.e. you cannot turn it blocking again this way. If you wish to
- *	alternatively switch between blocking and non-blocking, use the
- *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- *	This symbol holds the errno error code set by read() when no data was
- *	present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- *	This symbol holds the return code from read() when no data is present
- *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- *	not defined, then you can't distinguish between no data and EOF by
- *	issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- *	This symbol, if defined, indicates to the C program that a read() on
- *	a non-blocking file descriptor will return 0 on EOF, and not the value
- *	held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK $o_nonblock
-#define VAL_EAGAIN $eagain
-#define RD_NODATA $rd_nodata
-#$d_eofnblk EOF_NONBLOCK
-
-/* PERL_OTHERLIBDIRS:
- *	This variable contains a colon-separated set of paths for the perl
- *	binary to search for additional library files or modules.
- *	These directories will be tacked to the end of @INC.
- *	Perl will automatically search below each path for version-
- *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
- *	for more details.
- */
-#$d_perl_otherlibdirs PERL_OTHERLIBDIRS "$otherlibdirs"		/**/
-
-/* PRIVLIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- *	This symbol contains the ~name expanded version of PRIVLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "$privlib"		/**/
-#define PRIVLIB_EXP "$privlibexp"		/**/
-
-/* PTRSIZE:
- *	This symbol contains the size of a pointer, so that the C preprocessor
- *	can make decisions based on it.  It will be sizeof(void *) if
- *	the compiler supports (void *); otherwise it will be
- *	sizeof(char *).
- */
-#define PTRSIZE $ptrsize		/**/
-
-/* Drand01:
- *	This macro is to be used to generate uniformly distributed
- *	random numbers over the range [0., 1.[.  You may have to supply
- *	an 'extern double drand48();' in your program since SunOS 4.1.3
- *	doesn't provide you with anything relevant in its headers.
- *	See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- *	This symbol defines the type of the argument of the
- *	random seed function.
- */
-/* seedDrand01:
- *	This symbol defines the macro to be used in seeding the
- *	random number generator (see Drand01).
- */
-/* RANDBITS:
- *	This symbol indicates how many bits are produced by the
- *	function used to generate normalized random numbers.
- *	Values include 15, 16, 31, and 48.
- */
-#define Drand01()		$drand01		/**/
-#define Rand_seed_t		$randseedtype		/**/
-#define seedDrand01(x)	$seedfunc((Rand_seed_t)x)	/**/
-#define RANDBITS		$randbits		/**/
-
-/* SITEARCH:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- *	The standard distribution will put nothing in this directory.
- *	After perl has been installed, users may install their own local
- *	architecture-dependent modules in this directory with
- *		MakeMaker Makefile.PL
- *	or equivalent.  See INSTALL for details.
- */
-/* SITEARCH_EXP:
- *	This symbol contains the ~name expanded version of SITEARCH, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#$d_sitearch SITEARCH "$sitearch"		/**/
-#$d_sitearch SITEARCH_EXP "$sitearchexp"		/**/
-
-/* SITELIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- *	The standard distribution will put nothing in this directory.
- *	After perl has been installed, users may install their own local
- *	architecture-independent modules in this directory with
- *		MakeMaker Makefile.PL
- *	or equivalent.  See INSTALL for details.
- */
-/* SITELIB_EXP:
- *	This symbol contains the ~name expanded version of SITELIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- *	This define is SITELIB_EXP with any trailing version-specific component
- *	removed.  The elements in inc_version_list (inc_version_list.U) can
- *	be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "$sitelib"		/**/
-#define SITELIB_EXP "$sitelibexp"		/**/
-#define SITELIB_STEM "$sitelib_stem"		/**/
-
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include <sys/types.h> or <unistd.h>
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t $ssizetype	 /* signed count of bytes */
-
-/* USE_ITHREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the 5.005-based threading implementation.
- *	Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- *	This symbol, if defined, indicates that Perl should
- *	be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- *	This symbol, if defined, indicates that Perl should
- *	try to use the various _r versions of library functions.
- *	This is extremely experimental.
- */
-#$use5005threads	USE_5005THREADS		/**/
-#$useithreads	USE_ITHREADS		/**/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define		USE_THREADS		/* until src is revised*/
-#endif
-#$d_oldpthreads	OLD_PTHREADS_API		/**/
-#$usereentrant	USE_REENTRANT_API	/**/
-
-/* PERL_VENDORARCH:
- *	If defined, this symbol contains the name of a private library.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.
- *	It may have a ~ on the front.
- *	The standard distribution will put nothing in this directory.
- *	Vendors who distribute perl may wish to place their own
- *	architecture-dependent modules and extensions in this directory with
- *		MakeMaker Makefile.PL INSTALLDIRS=vendor
- *	or equivalent.  See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#$d_vendorarch PERL_VENDORARCH "$vendorarch"		/**/
-#$d_vendorarch PERL_VENDORARCH_EXP "$vendorarchexp"		/**/
-
-/* PERL_VENDORLIB_EXP:
- *	This symbol contains the ~name expanded version of VENDORLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- *	removed.  The elements in inc_version_list (inc_version_list.U) can
- *	be tacked onto this variable to generate a list of directories to search.
- */
-#$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp"		/**/
-#$d_vendorlib PERL_VENDORLIB_STEM "$vendorlib_stem"		/**/
-
-/* HAS_STATIC_INLINE:
- *	This symbol, if defined, indicates that the C compiler supports
- *	C99-style static inline.  That is, the function can't be called
- *	from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- *	This symbol gives the best-guess incantation to use for static
- *	inline functions.  If HAS_STATIC_INLINE is defined, this will
- *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
- *	this will give a plain 'static'.  It will always be defined
- *	to something that gives static linkage.
- *	Possibilities include
- *		static inline       (c99)
- *		static __inline__   (gcc -ansi)
- *		static __inline     (MSVC)
- *		static _inline      (older MSVC)
- *		static              (c89 compilers)
- */
-#$d_static_inline HAS_STATIC_INLINE				/**/
-#define PERL_STATIC_INLINE $perl_static_inline	/**/
-
-/* EBCDIC:
- *     This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-#$ebcdic	EBCDIC 		/**/
-
-/* OSNAME:
- *	This symbol contains the name of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
- */
-/* OSVERS:
- *	This symbol contains the version of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
- */
-#define OSNAME "$osname"		/**/
-#define OSVERS "$osvers"		/**/
-
-/* CAT2:
- *	This macro concatenates 2 tokens together.
- */
-/* STRINGIFY:
- *	This macro surrounds its token with double quotes.
- */
-#if $cpp_stuff == 1
-#define CAT2(a,b)	a/**/b
-#define STRINGIFY(a)	"a"
-#endif
-#if $cpp_stuff == 42
-#define PeRl_CaTiFy(a, b)	a ## b
-#define PeRl_StGiFy(a)	#a
-#define CAT2(a,b)	PeRl_CaTiFy(a,b)
-#define StGiFy(a)	PeRl_StGiFy(a)
-#define STRINGIFY(a)	PeRl_StGiFy(a)
-#endif
-#if $cpp_stuff != 1 && $cpp_stuff != 42
-#include "Bletch: How does this C preprocessor concatenate tokens?"
-#endif
-
-/* CPPSTDIN:
- *	This symbol contains the first part of the string which will invoke
- *	the C preprocessor on the standard input and produce to standard
- *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
- *	call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- *	This symbol contains the second part of the string which will invoke
- *	the C preprocessor on the standard input and produce to standard
- *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
- *	to specify standard input, otherwise the value is "".
- */
-/* CPPRUN:
- *	This symbol contains the string which will invoke a C preprocessor on
- *	the standard input and produce to standard output. It needs to end
- *	with CPPLAST, after all other preprocessor flags have been specified.
- *	The main difference with CPPSTDIN is that this program will never be a
- *	pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
- *	available directly to the user. Note that it may well be different from
- *	the preprocessor used to compile the C program.
- */
-/* CPPLAST:
- *	This symbol is intended to be used along with CPPRUN in the same manner
- *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
- */
-#define CPPSTDIN "$cppstdin"
-#define CPPMINUS "$cppminus"
-#define CPPRUN "$cpprun"
-#define CPPLAST "$cpplast"
-
-/* HAS_ACCESS:
- *	This manifest constant lets the C program know that the access()
- *	system call is available to check for accessibility using real UID/GID.
- *	(always present on UNIX.)
- */
-#$d_access HAS_ACCESS		/**/
-
-/* HASATTRIBUTE_FORMAT:
- *	Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- *	Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- *	Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- *	Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- *	Can we handle GCC attribute for functions that do not return
- */
-/* HASATTRIBUTE_PURE:
- *	Can we handle GCC attribute for pure functions
- */
-/* HASATTRIBUTE_UNUSED:
- *	Can we handle GCC attribute for unused variables and arguments
- */
-/* HASATTRIBUTE_DEPRECATED:
- *	Can we handle GCC attribute for marking deprecated APIs
- */
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- *	Can we handle GCC attribute for warning on unused results
- */
-#$d_attribute_deprecated HASATTRIBUTE_DEPRECATED	/**/
-#$d_attribute_format HASATTRIBUTE_FORMAT	/**/
-#$d_printf_format_null PRINTF_FORMAT_NULL_OK	/**/
-#$d_attribute_noreturn HASATTRIBUTE_NORETURN	/**/
-#$d_attribute_malloc HASATTRIBUTE_MALLOC	/**/
-#$d_attribute_nonnull HASATTRIBUTE_NONNULL	/**/
-#$d_attribute_pure HASATTRIBUTE_PURE	/**/
-#$d_attribute_unused HASATTRIBUTE_UNUSED	/**/
-#$d_attribute_warn_unused_result HASATTRIBUTE_WARN_UNUSED_RESULT	/**/
-
-/* HASCONST:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the const type. There is no need to actually test for that symbol
- *	within your programs. The mere use of the "const" keyword will
- *	trigger the necessary tests.
- */
-#$d_const HASCONST	/**/
-#ifndef HASCONST
-#define const
-#endif
-
-/* HAS_CSH:
- *	This symbol, if defined, indicates that the C-shell exists.
- */
-/* CSH:
- *	This symbol, if defined, contains the full pathname of csh.
- */
-#$d_csh HAS_CSH		/**/
-#ifdef HAS_CSH
-#define CSH "$full_csh"	/**/
-#endif
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *	This symbol, if defined, indicates that the bug that prevents
- *	setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *	This symbol, if defined, indicates that the C program should
- *	check the script that it is executing for setuid/setgid bits, and
- *	attempt to emulate setuid/setgid on systems that have disabled
- *	setuid #! scripts because the kernel can't do it securely.
- *	It is up to the package designer to make sure that this emulation
- *	is done securely.  Among other things, it should do an fstat on
- *	the script it just opened to make sure it really is a setuid/setgid
- *	script, it should make sure the arguments passed correspond exactly
- *	to the argument on the #! line, and it should not trust any
- *	subprocesses to which it must pass the filename rather than the
- *	file descriptor of the script to be executed.
- */
-#$d_suidsafe SETUID_SCRIPTS_ARE_SECURE_NOW	/**/
-#$d_dosuid DOSUID		/**/
-
-/* HAS_ENDGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for finalizing sequential access of the group database.
- */
-#$d_endgrent HAS_ENDGRENT		/**/
-
-/* HAS_ENDHOSTENT:
- *	This symbol, if defined, indicates that the endhostent() routine is
- *	available to close whatever was being used for host queries.
- */
-#$d_endhent HAS_ENDHOSTENT		/**/
-
-/* HAS_ENDNETENT:
- *	This symbol, if defined, indicates that the endnetent() routine is
- *	available to close whatever was being used for network queries.
- */
-#$d_endnent HAS_ENDNETENT		/**/
-
-/* HAS_ENDPROTOENT:
- *	This symbol, if defined, indicates that the endprotoent() routine is
- *	available to close whatever was being used for protocol queries.
- */
-#$d_endpent HAS_ENDPROTOENT		/**/
-
-/* HAS_ENDPWENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for finalizing sequential access of the passwd database.
- */
-#$d_endpwent HAS_ENDPWENT		/**/
-
-/* HAS_ENDSERVENT:
- *	This symbol, if defined, indicates that the endservent() routine is
- *	available to close whatever was being used for service queries.
- */
-#$d_endsent HAS_ENDSERVENT		/**/
-
-/* FLEXFILENAMES:
- *	This symbol, if defined, indicates that the system supports filenames
- *	longer than 14 characters.
- */
-#$d_flexfnam	FLEXFILENAMES		/**/
-
-/* HAS_GETGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for sequential access of the group database.
- */
-#$d_getgrent HAS_GETGRENT		/**/
-
-/* HAS_GETHOSTBYADDR:
- *	This symbol, if defined, indicates that the gethostbyaddr() routine is
- *	available to look up hosts by their IP addresses.
- */
-#$d_gethbyaddr HAS_GETHOSTBYADDR		/**/
-
-/* HAS_GETHOSTBYNAME:
- *	This symbol, if defined, indicates that the gethostbyname() routine is
- *	available to look up host names in some data base or other.
- */
-#$d_gethbyname HAS_GETHOSTBYNAME		/**/
-
-/* HAS_GETHOSTENT:
- *	This symbol, if defined, indicates that the gethostent() routine is
- *	available to look up host names in some data base or another.
- */
-#$d_gethent HAS_GETHOSTENT		/**/
-
-/* HAS_GETHOSTNAME:
- *	This symbol, if defined, indicates that the C program may use the
- *	gethostname() routine to derive the host name.  See also HAS_UNAME
- *	and PHOSTNAME.
- */
-/* HAS_UNAME:
- *	This symbol, if defined, indicates that the C program may use the
- *	uname() routine to derive the host name.  See also HAS_GETHOSTNAME
- *	and PHOSTNAME.
- */
-/* PHOSTNAME:
- *	This symbol, if defined, indicates the command to feed to the
- *	popen() routine to derive the host name.  See also HAS_GETHOSTNAME
- *	and HAS_UNAME.	Note that the command uses a fully qualified path,
- *	so that it is safe even if used by a process with super-user
- *	privileges.
- */
-/* HAS_PHOSTNAME:
- *	This symbol, if defined, indicates that the C program may use the
- *	contents of PHOSTNAME as a command to feed to the popen() routine
- *	to derive the host name.
- */
-#$d_gethname HAS_GETHOSTNAME	/**/
-#$d_uname HAS_UNAME		/**/
-#$d_phostname HAS_PHOSTNAME	/**/
-#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "$aphostname"	/* How to get the host name */
-#endif
-
-/* HAS_GETNETBYADDR:
- *	This symbol, if defined, indicates that the getnetbyaddr() routine is
- *	available to look up networks by their IP addresses.
- */
-#$d_getnbyaddr HAS_GETNETBYADDR		/**/
-
-/* HAS_GETNETBYNAME:
- *	This symbol, if defined, indicates that the getnetbyname() routine is
- *	available to look up networks by their names.
- */
-#$d_getnbyname HAS_GETNETBYNAME		/**/
-
-/* HAS_GETNETENT:
- *	This symbol, if defined, indicates that the getnetent() routine is
- *	available to look up network names in some data base or another.
- */
-#$d_getnent HAS_GETNETENT		/**/
-
-/* HAS_GETPROTOENT:
- *	This symbol, if defined, indicates that the getprotoent() routine is
- *	available to look up protocols in some data base or another.
- */
-#$d_getpent HAS_GETPROTOENT		/**/
-
-/* HAS_GETPGRP:
- *	This symbol, if defined, indicates that the getpgrp routine is
- *	available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- *	This symbol, if defined, indicates that getpgrp needs one
- *	arguments whereas USG one needs none.
- */
-#$d_getpgrp HAS_GETPGRP		/**/
-#$d_bsdgetpgrp USE_BSD_GETPGRP	/**/
-
-/* HAS_GETPROTOBYNAME:
- *	This symbol, if defined, indicates that the getprotobyname()
- *	routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- *	This symbol, if defined, indicates that the getprotobynumber()
- *	routine is available to look up protocols by their number.
- */
-#$d_getpbyname HAS_GETPROTOBYNAME		/**/
-#$d_getpbynumber HAS_GETPROTOBYNUMBER		/**/
-
-/* HAS_GETPWENT:
- *	This symbol, if defined, indicates that the getpwent routine is
- *	available for sequential access of the passwd database.
- *	If this is not available, the older getpw() function may be available.
- */
-#$d_getpwent HAS_GETPWENT		/**/
-
-/* HAS_GETSERVENT:
- *	This symbol, if defined, indicates that the getservent() routine is
- *	available to look up network services in some data base or another.
- */
-#$d_getsent HAS_GETSERVENT		/**/
-
-/* HAS_GETSERVBYNAME:
- *	This symbol, if defined, indicates that the getservbyname()
- *	routine is available to look up services by their name.
- */
-/* HAS_GETSERVBYPORT:
- *	This symbol, if defined, indicates that the getservbyport()
- *	routine is available to look up services by their port.
- */
-#$d_getsbyname HAS_GETSERVBYNAME		/**/
-#$d_getsbyport HAS_GETSERVBYPORT		/**/
-
-/* HAS_HTONL:
- *	This symbol, if defined, indicates that the htonl() routine (and
- *	friends htons() ntohl() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_HTONS:
- *	This symbol, if defined, indicates that the htons() routine (and
- *	friends htonl() ntohl() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_NTOHL:
- *	This symbol, if defined, indicates that the ntohl() routine (and
- *	friends htonl() htons() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_NTOHS:
- *	This symbol, if defined, indicates that the ntohs() routine (and
- *	friends htonl() htons() ntohl()) are available to do network
- *	order byte swapping.
- */
-#$d_htonl HAS_HTONL		/**/
-#$d_htonl HAS_HTONS		/**/
-#$d_htonl HAS_NTOHL		/**/
-#$d_htonl HAS_NTOHS		/**/
-
-/* HAS_LONG_DOUBLE:
- *	This symbol will be defined if the C compiler supports long
- *	doubles.
- */
-/* LONG_DOUBLESIZE:
- *	This symbol contains the size of a long double, so that the
- *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long doubles.
- */
-#$d_longdbl HAS_LONG_DOUBLE		/**/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE $longdblsize		/**/
-#endif
-
-/* HAS_LONG_LONG:
- *	This symbol will be defined if the C compiler supports long long.
- */
-/* LONGLONGSIZE:
- *	This symbol contains the size of a long long, so that the
- *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long long.
- */
-#$d_longlong HAS_LONG_LONG		/**/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE $longlongsize		/**/
-#endif
-
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#$d_memchr HAS_MEMCHR	/**/
-
-/* HAS_MKSTEMP:
- *	This symbol, if defined, indicates that the mkstemp routine is
- *	available to exclusively create and open a uniquely named
- *	temporary file.
- */
-#$d_mkstemp HAS_MKSTEMP		/**/
-
-/* HAS_MMAP:
- *	This symbol, if defined, indicates that the mmap system call is
- *	available to map a file into memory.
- */
-/* Mmap_t:
- *	This symbol holds the return type of the mmap() system call
- *	(and simultaneously the type of the first argument).
- *	Usually set to 'void *' or 'caddr_t'.
- */
-#$d_mmap HAS_MMAP		/**/
-#define Mmap_t $mmaptype	/**/
-
-/* HAS_MSG:
- *	This symbol, if defined, indicates that the entire msg*(2) library is
- *	supported (IPC mechanism based on message queues).
- */
-#$d_msg HAS_MSG		/**/
-
-/* HAS_SEM:
- *	This symbol, if defined, indicates that the entire sem*(2) library is
- *	supported.
- */
-#$d_sem HAS_SEM		/**/
-
-/* HAS_SETGRENT:
- *	This symbol, if defined, indicates that the setgrent routine is
- *	available for initializing sequential access of the group database.
- */
-#$d_setgrent HAS_SETGRENT		/**/
-
-/* HAS_SETHOSTENT:
- *	This symbol, if defined, indicates that the sethostent() routine is
- *	available.
- */
-#$d_sethent HAS_SETHOSTENT		/**/
-
-/* HAS_SETNETENT:
- *	This symbol, if defined, indicates that the setnetent() routine is
- *	available.
- */
-#$d_setnent HAS_SETNETENT		/**/
-
-/* HAS_SETPROTOENT:
- *	This symbol, if defined, indicates that the setprotoent() routine is
- *	available.
- */
-#$d_setpent HAS_SETPROTOENT		/**/
-
-/* HAS_SETPGRP:
- *	This symbol, if defined, indicates that the setpgrp routine is
- *	available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- *	This symbol, if defined, indicates that setpgrp needs two
- *	arguments whereas USG one needs none.  See also HAS_SETPGID
- *	for a POSIX interface.
- */
-#$d_setpgrp HAS_SETPGRP		/**/
-#$d_bsdsetpgrp USE_BSD_SETPGRP	/**/
-
-/* HAS_SETPWENT:
- *	This symbol, if defined, indicates that the setpwent routine is
- *	available for initializing sequential access of the passwd database.
- */
-#$d_setpwent HAS_SETPWENT		/**/
-
-/* HAS_SETSERVENT:
- *	This symbol, if defined, indicates that the setservent() routine is
- *	available.
- */
-#$d_setsent HAS_SETSERVENT		/**/
-
-/* HAS_SETVBUF:
- *	This symbol, if defined, indicates that the setvbuf routine is
- *	available to change buffering on an open stdio stream.
- *	to a line-buffered mode.
- */
-#$d_setvbuf HAS_SETVBUF		/**/
-
-/* HAS_SHM:
- *	This symbol, if defined, indicates that the entire shm*(2) library is
- *	supported.
- */
-#$d_shm HAS_SHM		/**/
-
-/* Shmat_t:
- *	This symbol holds the return type of the shmat() system call.
- *	Usually set to 'void *' or 'char *'.
- */
-/* HAS_SHMAT_PROTOTYPE:
- *	This symbol, if defined, indicates that the sys/shm.h includes
- *	a prototype for shmat().  Otherwise, it is up to the program to
- *	guess one.  Shmat_t shmat(int, Shmat_t, int) is a good guess,
- *	but not always right so it should be emitted by the program only
- *	when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
- */
-#define Shmat_t $shmattype	/**/
-#$d_shmatprototype HAS_SHMAT_PROTOTYPE	/**/
-
-/* HAS_SOCKET:
- *	This symbol, if defined, indicates that the BSD socket interface is
- *	supported.
- */
-/* HAS_SOCKETPAIR:
- *	This symbol, if defined, indicates that the BSD socketpair() call is
- *	supported.
- */
-/* HAS_MSG_CTRUNC:
- *	This symbol, if defined, indicates that the MSG_CTRUNC is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_MSG_DONTROUTE:
- *	This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_MSG_OOB:
- *	This symbol, if defined, indicates that the MSG_OOB is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_MSG_PEEK:
- *	This symbol, if defined, indicates that the MSG_PEEK is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_MSG_PROXY:
- *	This symbol, if defined, indicates that the MSG_PROXY is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_SCM_RIGHTS:
- *	This symbol, if defined, indicates that the SCM_RIGHTS is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_SOCKADDR_SA_LEN:
- *	This symbol, if defined, indicates that the struct sockaddr
- *	structure has a member called sa_len, indicating the length of
- *	the structure.
- */
-/* HAS_SIN6_SCOPE_ID:
- *	This symbol, if defined, indicates that the struct sockaddr_in6
- *	structure has a member called sin6_scope_id.
- */
-#$d_socket	HAS_SOCKET		/**/
-#$d_sockpair	HAS_SOCKETPAIR	/**/
-#$d_sockaddr_sa_len	HAS_SOCKADDR_SA_LEN	/**/
-#$d_msg_ctrunc	HAS_MSG_CTRUNC	/**/
-#$d_msg_dontroute	HAS_MSG_DONTROUTE	/**/
-#$d_msg_oob	HAS_MSG_OOB	/**/
-#$d_msg_peek	HAS_MSG_PEEK	/**/
-#$d_msg_proxy	HAS_MSG_PROXY	/**/
-#$d_scm_rights	HAS_SCM_RIGHTS	/**/
-#$d_sin6_scope_id	HAS_SIN6_SCOPE_ID	/**/
-
-/* USE_STAT_BLOCKS:
- *	This symbol is defined if this system has a stat structure declaring
- *	st_blksize and st_blocks.
- */
-#ifndef USE_STAT_BLOCKS
-#$d_statblks USE_STAT_BLOCKS 	/**/
-#endif
-
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-#$d_strctcpy	USE_STRUCT_COPY	/**/
-
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
-/* HAS_SYS_ERRLIST:
- *	This symbol, if defined, indicates that the sys_errlist array is
- *	available to translate error numbers to strings. The extern int
- *	sys_nerr gives the size of that table.
- */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-#$d_strerror HAS_STRERROR		/**/
-#$d_syserrlst HAS_SYS_ERRLIST	/**/
-#define Strerror(e) $d_strerrm
-
-/* HAS_STRTOUL:
- *	This symbol, if defined, indicates that the strtoul routine is
- *	available to provide conversion of strings to unsigned long.
- */
-#$d_strtoul HAS_STRTOUL	/**/
-
 /* HAS_UNION_SEMUN:
  *	This symbol, if defined, indicates that the union semun is
  *	defined by including <sys/sem.h>.  If not, the user code
@@ -2895,6 +2687,71 @@
 #define volatile
 #endif
 
+/* HAS_VPRINTF:
+ *	This symbol, if defined, indicates that the vprintf routine is available
+ *	to printf with a pointer to an argument list.  If unavailable, you
+ *	may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ *	This symbol is defined if this system has vsprintf() returning type
+ *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
+ *	is up to the package author to declare vsprintf correctly based on the
+ *	symbol.
+ */
+#$d_vprintf HAS_VPRINTF	/**/
+#$d_charvspr USE_CHAR_VSPRINTF 	/**/
+
+/* DOUBLESIZE:
+ *	This symbol contains the size of a double, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define DOUBLESIZE $doublesize		/**/
+
+/* EBCDIC:
+ *	This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+/* BOOTSTRAP_CHARSET:
+ *	This symbol, if defined, indicates that this system needs
+ *	converting various files to the native character set before
+ *	bringing up perl on a system that has a non-ASCII character
+ *	set and no working perl.
+ */
+#$ebcdic	EBCDIC 		/**/
+#$bootstrap_charset	BOOTSTRAP_CHARSET	/**/
+
+/* Fpos_t:
+ *	This symbol holds the type used to declare file positions in libc.
+ *	It can be fpos_t, long, uint, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t $fpostype		/* File position type */
+
+/* Gid_t_f:
+ *	This symbol defines the format string used for printing a Gid_t.
+ */
+#define	Gid_t_f		$gidformat		/**/
+
+/* Gid_t_sign:
+ *	This symbol holds the signedness of a Gid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign	$gidsign		/* GID sign */
+
+/* Gid_t_size:
+ *	This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size $gidsize		/* GID size */
+
+/* Gid_t:
+ *	This symbol holds the return type of getgid() and the type of
+ *	argument to setrgid() and related functions.  Typically,
+ *	it is the type of group ids in the kernel. It can be int, ushort,
+ *	gid_t, etc... It may be necessary to include <sys/types.h> to get
+ *	any typedef'ed information.
+ */
+#define Gid_t $gidtype		/* Type for getgid(), etc... */
+
 /* I_DIRENT:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <dirent.h>. Using this symbol also triggers the definition
@@ -2926,6 +2783,12 @@
 #$i_grp I_GRP		/**/
 #$d_grpasswd GRPASSWD	/**/
 
+/* I_MACH_CTHREADS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <mach/cthreads.h>.
+ */
+#$i_machcthr   I_MACH_CTHREADS	/**/
+
 /* I_NDBM:
  *	This symbol, if defined, indicates that <ndbm.h> exists and should
  *	be included.
@@ -2977,6 +2840,12 @@
  */
 #$i_neterrno I_NET_ERRNO		/**/
 
+/* I_PTHREAD:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <pthread.h>.
+ */
+#$i_pthread   I_PTHREAD	/**/
+
 /* I_PWD:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <pwd.h>.
@@ -3023,6 +2892,18 @@
 #$d_pwgecos PWGECOS	/**/
 #$d_pwpasswd PWPASSWD	/**/
 
+/* I_SYS_ACCESS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/access.h>.
+ */
+#$i_sysaccess   I_SYS_ACCESS                /**/
+
+/* I_SYS_SECURITY:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/security.h>.
+ */
+#$i_syssecrt   I_SYS_SECURITY	/**/
+
 /* I_SYSUIO:
  *	This symbol, if defined, indicates that <sys/uio.h> exists and
  *	should be included.
@@ -3029,6 +2910,32 @@
  */
 #$i_sysuio	I_SYSUIO		/**/
 
+/* I_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <time.h>.
+ */
+/* I_SYS_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_gmtoff field.
+ */
+#$i_time I_TIME		/**/
+#$i_systime I_SYS_TIME		/**/
+#$i_systimek I_SYS_TIME_KERNEL		/**/
+#$d_tm_tm_zone HAS_TM_TM_ZONE		/**/
+#$d_tm_tm_gmtoff HAS_TM_TM_GMTOFF		/**/
+
 /* I_STDARG:
  *	This symbol, if defined, indicates that <stdarg.h> exists and should
  *	be included.
@@ -3040,6 +2947,36 @@
 #$i_stdarg I_STDARG		/**/
 #$i_varargs I_VARARGS	/**/
 
+/* PERL_INC_VERSION_LIST:
+ *	This variable specifies the list of subdirectories in over
+ *	which perl.c:incpush() and lib/lib.pm will automatically
+ *	search when adding directories to @INC, in a format suitable
+ *	for a C initialization string.  See the inc_version_list entry
+ *	in Porting/Glossary for more details.
+ */
+#$d_inc_version_list PERL_INC_VERSION_LIST $inc_version_list_init		/**/
+
+/* INSTALL_USR_BIN_PERL:
+ *	This symbol, if defined, indicates that Perl is to be installed
+ * 	also as /usr/bin/perl.
+ */
+#$installusrbinperl INSTALL_USR_BIN_PERL	/**/
+
+/* Off_t:
+ *	This symbol holds the type used to declare offsets in the kernel.
+ *	It can be int, long, off_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t $lseektype		/* <offset> type */
+#define LSEEKSIZE $lseeksize		/* <offset> size */
+#define Off_t_size $lseeksize	/* <offset> size */
+
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
  * void, but occasionally int.
@@ -3060,6 +2997,92 @@
  */
 #$d_mymalloc MYMALLOC			/**/
 
+/* Mode_t:
+ *	This symbol holds the type used to declare file modes
+ *	for systems calls.  It is usually mode_t, but may be
+ *	int or unsigned short.  It may be necessary to include <sys/types.h>
+ *	to get any typedef'ed information.
+ */
+#define Mode_t $modetype	 /* file mode parameter for system calls */
+
+/* VAL_O_NONBLOCK:
+ *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ *	non-blocking I/O for the file descriptor. Note that there is no way
+ *	back, i.e. you cannot turn it blocking again this way. If you wish to
+ *	alternatively switch between blocking and non-blocking, use the
+ *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ *	This symbol holds the errno error code set by read() when no data was
+ *	present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ *	This symbol holds the return code from read() when no data is present
+ *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ *	not defined, then you can't distinguish between no data and EOF by
+ *	issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ *	This symbol, if defined, indicates to the C program that a read() on
+ *	a non-blocking file descriptor will return 0 on EOF, and not the value
+ *	held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK $o_nonblock
+#define VAL_EAGAIN $eagain
+#define RD_NODATA $rd_nodata
+#$d_eofnblk EOF_NONBLOCK
+
+/* Netdb_host_t:
+ *	This symbol holds the type used for the 1st argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_hlen_t:
+ *	This symbol holds the type used for the 2nd argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ *	This symbol holds the type used for the argument to
+ *	gethostbyname().
+ */
+/* Netdb_net_t:
+ *	This symbol holds the type used for the 1st argument to
+ *	getnetbyaddr().
+ */
+#define Netdb_host_t		$netdb_host_type /**/
+#define Netdb_hlen_t		$netdb_hlen_type /**/
+#define Netdb_name_t		$netdb_name_type /**/
+#define Netdb_net_t		$netdb_net_type /**/
+
+/* PERL_OTHERLIBDIRS:
+ *	This variable contains a colon-separated set of paths for the perl
+ *	binary to search for additional library files or modules.
+ *	These directories will be tacked to the end of @INC.
+ *	Perl will automatically search below each path for version-
+ *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
+ *	for more details.
+ */
+#$d_perl_otherlibdirs PERL_OTHERLIBDIRS "$otherlibdirs"		/**/
+
+/* Pid_t:
+ *	This symbol holds the type used to declare process ids in the kernel.
+ *	It can be int, uint, pid_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Pid_t $pidtype		/* PID type */
+
+/* PRIVLIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ *	This symbol contains the ~name expanded version of PRIVLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "$privlib"		/**/
+#define PRIVLIB_EXP "$privlibexp"		/**/
+
 /* CAN_PROTOTYPE:
  *	If defined, this macro indicates that the C compiler can handle
  *	function prototypes.
@@ -3078,6 +3101,65 @@
 #define	_(args) ()
 #endif
 
+/* PTRSIZE:
+ *	This symbol contains the size of a pointer, so that the C preprocessor
+ *	can make decisions based on it.  It will be sizeof(void *) if
+ *	the compiler supports (void *); otherwise it will be
+ *	sizeof(char *).
+ */
+#define PTRSIZE $ptrsize		/**/
+
+/* HAS_QUAD:
+ *	This symbol, if defined, tells that there's a 64-bit integer type,
+ *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ *	or QUAD_IS___INT64.
+ */
+#$d_quad HAS_QUAD	/**/
+#ifdef HAS_QUAD
+#   define Quad_t $quadtype	/**/
+#   define Uquad_t $uquadtype	/**/
+#   define QUADKIND $quadkind	/**/
+#   define QUAD_IS_INT	1
+#   define QUAD_IS_LONG	2
+#   define QUAD_IS_LONG_LONG	3
+#   define QUAD_IS_INT64_T	4
+#   define QUAD_IS___INT64	5
+#endif
+
+/* Drand01:
+ *	This macro is to be used to generate uniformly distributed
+ *	random numbers over the range [0., 1.[.  You may have to supply
+ *	an 'extern double drand48();' in your program since SunOS 4.1.3
+ *	doesn't provide you with anything relevant in its headers.
+ *	See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ *	This symbol defines the type of the argument of the
+ *	random seed function.
+ */
+/* seedDrand01:
+ *	This symbol defines the macro to be used in seeding the
+ *	random number generator (see Drand01).
+ */
+/* RANDBITS:
+ *	This symbol indicates how many bits are produced by the
+ *	function used to generate normalized random numbers.
+ *	Values include 15, 16, 31, and 48.
+ */
+#define Drand01()		$drand01		/**/
+#define Rand_seed_t		$randseedtype		/**/
+#define seedDrand01(x)	$seedfunc((Rand_seed_t)x)	/**/
+#define RANDBITS		$randbits		/**/
+
+/* Select_fd_set_t:
+ *	This symbol holds the type used for the 2nd, 3rd, and 4th
+ *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
+ *	is defined, and 'int *' otherwise.  This is only useful if you
+ *	have select(), of course.
+ */
+#define Select_fd_set_t 	$selecttype	/**/
+
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -3127,6 +3209,77 @@
 #define SIG_NUM  $sig_num_init		/**/
 #define SIG_SIZE $sig_size			/**/
 
+/* SITEARCH:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ *	The standard distribution will put nothing in this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-dependent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
+ */
+/* SITEARCH_EXP:
+ *	This symbol contains the ~name expanded version of SITEARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#$d_sitearch SITEARCH "$sitearch"		/**/
+#$d_sitearch SITEARCH_EXP "$sitearchexp"		/**/
+
+/* SITELIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ *	The standard distribution will put nothing in this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-independent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
+ */
+/* SITELIB_EXP:
+ *	This symbol contains the ~name expanded version of SITELIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* SITELIB_STEM:
+ *	This define is SITELIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "$sitelib"		/**/
+#define SITELIB_EXP "$sitelibexp"		/**/
+#define SITELIB_STEM "$sitelib_stem"		/**/
+
+/* Size_t_size:
+ *	This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size $sizesize		/**/
+
+/* Size_t:
+ *	This symbol holds the type used to declare length parameters
+ *	for string functions.  It is usually size_t, but may be
+ *	unsigned long, int, etc.  It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t $sizetype	 /* length parameter for string functions */
+
+/* Sock_size_t:
+ *	This symbol holds the type used for the size argument of
+ *	various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t		$socksizetype /**/
+
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include <sys/types.h> or <unistd.h>
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t $ssizetype	 /* signed count of bytes */
+
 /* STDCHAR:
  *	This symbol is defined to be the type of char used in stdio.h.
  *	It has the values "unsigned char" or "char".
@@ -3133,6 +3286,85 @@
  */
 #define STDCHAR $stdchar	/**/
 
+/* Uid_t_f:
+ *	This symbol defines the format string used for printing a Uid_t.
+ */
+#define	Uid_t_f		$uidformat		/**/
+
+/* Uid_t_sign:
+ *	This symbol holds the signedness of a Uid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Uid_t_sign	$uidsign		/* UID sign */
+
+/* Uid_t_size:
+ *	This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size $uidsize		/* UID size */
+
+/* Uid_t:
+ *	This symbol holds the type used to declare user ids in the kernel.
+ *	It can be int, ushort, uid_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t $uidtype		/* UID type */
+
+/* USE_ITHREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the 5.005-based threading implementation.
+ *	Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	try to use the various _r versions of library functions.
+ *	This is extremely experimental.
+ */
+#$use5005threads	USE_5005THREADS		/**/
+#$useithreads	USE_ITHREADS		/**/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define		USE_THREADS		/* until src is revised*/
+#endif
+#$d_oldpthreads	OLD_PTHREADS_API		/**/
+#$usereentrant	USE_REENTRANT_API	/**/
+
+/* PERL_VENDORARCH:
+ *	If defined, this symbol contains the name of a private library.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.
+ *	It may have a ~ on the front.
+ *	The standard distribution will put nothing in this directory.
+ *	Vendors who distribute perl may wish to place their own
+ *	architecture-dependent modules and extensions in this directory with
+ *		MakeMaker Makefile.PL INSTALLDIRS=vendor
+ *	or equivalent.  See INSTALL for details.
+ */
+/* PERL_VENDORARCH_EXP:
+ *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#$d_vendorarch PERL_VENDORARCH "$vendorarch"		/**/
+#$d_vendorarch PERL_VENDORARCH_EXP "$vendorarchexp"		/**/
+
+/* PERL_VENDORLIB_EXP:
+ *	This symbol contains the ~name expanded version of VENDORLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* PERL_VENDORLIB_STEM:
+ *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+#$d_vendorlib PERL_VENDORLIB_EXP "$vendorlibexp"		/**/
+#$d_vendorlib PERL_VENDORLIB_STEM "$vendorlib_stem"		/**/
+
 /* VOIDFLAGS:
  *	This symbol indicates how much support of the void type is given by this
  *	compiler.  What various bits mean:
@@ -3522,6 +3754,12 @@
  */
 #$d_int64_t     HAS_INT64_T               /**/
 
+/* HAS_ISBLANK:
+ *	This manifest constant lets the C program know that isblank
+ *	is available.
+ */
+#$d_isblank HAS_ISBLANK		/**/
+
 /* HAS_ISFINITE:
  *	This symbol, if defined, indicates that the isfinite routine is
  *	available to check whether a double is finite (non-infinity non-NaN).
@@ -4118,6 +4356,12 @@
  */
 #$i_socks	I_SOCKS		/**/
 
+/* I_STDBOOL:
+ *	This symbol, if defined, indicates that <stdbool.h> exists and
+ *	can be included.
+ */
+#$i_stdbool	I_STDBOOL		/**/
+
 /* I_SUNMATH:
  *	This symbol, if defined, indicates that <sunmath.h> exists and
  *	should be included.
@@ -4387,6 +4631,16 @@
  */
 #define SELECT_MIN_BITS 	$selectminbits	/**/
 
+/* ST_INO_SIZE:
+ *	This variable contains the size of struct stat's st_ino in bytes.
+ */
+/* ST_INO_SIGN:
+ *	This symbol holds the signedness of struct stat's st_ino.
+ *	1 for unsigned, -1 for signed.
+ */
+#define ST_INO_SIGN $st_ino_sign	/* st_ino sign */
+#define ST_INO_SIZE $st_ino_size	/* st_ino size */
+
 /* STARTPERL:
  *	This variable contains the string to put in front of a perl
  *	script to make sure (one hopes) that it runs with perl and not
@@ -4468,6 +4722,13 @@
 #$usefaststdio	USE_FAST_STDIO		/**/
 #endif
 
+/* USE_KERN_PROC_PATHNAME:
+ *	This symbol, if defined, indicates that we can use sysctl with
+ *	KERN_PROC_PATHNAME to get a full path for the executable, and hence
+ * 	convert $^X to an absolute path.
+ */
+#$usekernprocpathname USE_KERN_PROC_PATHNAME	/**/
+
 /* USE_LARGE_FILES:
  *	This symbol, if defined, indicates that large file support
  *	should be used when available.
@@ -4500,6 +4761,13 @@
 #$usemultiplicity	MULTIPLICITY		/**/
 #endif
 
+/* USE_NSGETEXECUTABLEPATH:
+ *	This symbol, if defined, indicates that we can use _NSGetExecutablePath
+ *	and realpath to get a full path for the executable, and hence convert
+ *	$^X to an absolute path.
+ */
+#$usensgetexecutablepath USE_NSGETEXECUTABLEPATH	/**/
+
 /* USE_PERLIO:
  *	This symbol, if defined, indicates that the PerlIO abstraction should
  *	be used throughout.  If not defined, stdio should be
@@ -4517,205 +4785,6 @@
 #$usesocks	USE_SOCKS		/**/
 #endif
 
-/* HAS_DRAND48_PROTO:
- *	This symbol, if defined, indicates that the system provides
- *	a prototype for the drand48() function.  Otherwise, it is up
- *	to the program to supply one.  A good guess is
- *		extern double drand48(void);
- */
-#$d_drand48proto	HAS_DRAND48_PROTO	/**/
-
-/* HAS_GETHOST_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for gethostent(), gethostbyname(), and
- *	gethostbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#$d_gethostprotos	HAS_GETHOST_PROTOS	/**/
-
-/* HAS_GETNET_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getnetent(), getnetbyname(), and
- *	getnetbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#$d_getnetprotos	HAS_GETNET_PROTOS	/**/
-
-/* HAS_GETPROTO_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getprotoent(), getprotobyname(), and
- *	getprotobyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#$d_getprotoprotos	HAS_GETPROTO_PROTOS	/**/
-
-/* HAS_GETSERV_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getservent(), getservbyname(), and
- *	getservbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-#$d_getservprotos	HAS_GETSERV_PROTOS	/**/
-
-/* HAS_LSEEK_PROTO:
- *	This symbol, if defined, indicates that the system provides
- *	a prototype for the lseek() function.  Otherwise, it is up
- *	to the program to supply one.  A good guess is
- *		extern off_t lseek(int, off_t, int);
- */
-#$d_lseekproto	HAS_LSEEK_PROTO	/**/
-
-/* Netdb_host_t:
- *	This symbol holds the type used for the 1st argument
- *	to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- *	This symbol holds the type used for the 2nd argument
- *	to gethostbyaddr().
- */
-/* Netdb_name_t:
- *	This symbol holds the type used for the argument to
- *	gethostbyname().
- */
-/* Netdb_net_t:
- *	This symbol holds the type used for the 1st argument to
- *	getnetbyaddr().
- */
-#define Netdb_host_t		$netdb_host_type /**/
-#define Netdb_hlen_t		$netdb_hlen_type /**/
-#define Netdb_name_t		$netdb_name_type /**/
-#define Netdb_net_t		$netdb_net_type /**/
-
-/* Select_fd_set_t:
- *	This symbol holds the type used for the 2nd, 3rd, and 4th
- *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
- *	is defined, and 'int *' otherwise.  This is only useful if you
- *	have select(), of course.
- */
-#define Select_fd_set_t 	$selecttype	/**/
-
-/* Sock_size_t:
- *	This symbol holds the type used for the size argument of
- *	various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t		$socksizetype /**/
-
-/* HAS_TIME:
- *	This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- *	This symbol holds the type returned by time(). It can be long,
- *	or time_t on BSD sites (in which case <sys/types.h> should be
- *	included).
- */
-#$d_time HAS_TIME		/**/
-#define Time_t $timetype		/* Time type */
-
-/* HAS_TIMES:
- *	This symbol, if defined, indicates that the times() routine exists.
- *	Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-#$d_times HAS_TIMES		/**/
-
-/* Fpos_t:
- *	This symbol holds the type used to declare file positions in libc.
- *	It can be fpos_t, long, uint, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t $fpostype		/* File position type */
-
-/* Gid_t_f:
- *	This symbol defines the format string used for printing a Gid_t.
- */
-#define	Gid_t_f		$gidformat		/**/
-
-/* Gid_t_sign:
- *	This symbol holds the signedess of a Gid_t.
- *	1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign	$gidsign		/* GID sign */
-
-/* Gid_t_size:
- *	This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size $gidsize		/* GID size */
-
-/* Gid_t:
- *	This symbol holds the return type of getgid() and the type of
- *	argument to setrgid() and related functions.  Typically,
- *	it is the type of group ids in the kernel. It can be int, ushort,
- *	gid_t, etc... It may be necessary to include <sys/types.h> to get
- *	any typedef'ed information.
- */
-#define Gid_t $gidtype		/* Type for getgid(), etc... */
-
-/* Off_t:
- *	This symbol holds the type used to declare offsets in the kernel.
- *	It can be int, long, off_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- *	This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- *	This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t $lseektype		/* <offset> type */
-#define LSEEKSIZE $lseeksize		/* <offset> size */
-#define Off_t_size $lseeksize	/* <offset> size */
-
-/* Mode_t:
- *	This symbol holds the type used to declare file modes
- *	for systems calls.  It is usually mode_t, but may be
- *	int or unsigned short.  It may be necessary to include <sys/types.h>
- *	to get any typedef'ed information.
- */
-#define Mode_t $modetype	 /* file mode parameter for system calls */
-
-/* Pid_t:
- *	This symbol holds the type used to declare process ids in the kernel.
- *	It can be int, uint, pid_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t $pidtype		/* PID type */
-
-/* Size_t_size:
- *	This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size $sizesize		/* */
-
-/* Size_t:
- *	This symbol holds the type used to declare length parameters
- *	for string functions.  It is usually size_t, but may be
- *	unsigned long, int, etc.  It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Size_t $sizetype	 /* length parameter for string functions */
-
-/* Uid_t_f:
- *	This symbol defines the format string used for printing a Uid_t.
- */
-#define	Uid_t_f		$uidformat		/**/
-
-/* Uid_t_sign:
- *	This symbol holds the signedess of a Uid_t.
- *	1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign	$uidsign		/* UID sign */
-
-/* Uid_t_size:
- *	This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size $uidsize		/* UID size */
-
-/* Uid_t:
- *	This symbol holds the type used to declare user ids in the kernel.
- *	It can be int, ushort, uid_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t $uidtype		/* UID type */
-
 #endif
 !GROK!THIS!
 ;;


Property changes on: vendor/perl/dist/config_h.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/configpm
===================================================================
--- vendor/perl/dist/configpm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/configpm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -75,7 +75,7 @@
 # This is the list from MM_VMS, plus pad.h, parser.h, perlsfio.h utf8.h
 # which it installs. It *doesn't* install perliol.h - FIXME.
 my @header_files = qw(EXTERN.h INTERN.h XSUB.h av.h config.h cop.h cv.h
-		      embed.h embedvar.h form.h gv.h handy.h hv.h intrpvar.h
+		      embed.h embedvar.h form.h gv.h handy.h hv.h hv_func.h intrpvar.h
 		      iperlsys.h keywords.h mg.h nostdio.h op.h opcode.h
 		      pad.h parser.h patchlevel.h perl.h perlio.h perlsdio.h
 		      perlsfio.h perlvars.h perly.h pp.h pp_proto.h proto.h
@@ -149,7 +149,10 @@
 my $config_txt;
 my $heavy_txt;
 
-$heavy_txt .= <<'ENDOFBEG';
+my $from = $^O eq 'VMS' ? 'PERLSHR image' : 'binary (from libperl)';
+my $env_cygwin = $^O eq 'cygwin'
+    ? 'push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $ENV{CYGWIN};' . "\n" : "";
+$heavy_txt .= sprintf <<'ENDOFBEG', $^O, $^O, $from, $^O, $env_cygwin;
 # This file was created by configpm when Perl was built. Any changes
 # made to this file will be lost the next time perl is built.
 
@@ -156,7 +159,7 @@
 package Config;
 use strict;
 use warnings;
-use vars '%Config';
+use vars '%%Config';
 
 sub bincompat_options {
     return split ' ', (Internals::V())[0];
@@ -176,6 +179,9 @@
 }
 
 sub _V {
+    die "Perl lib was built for '%s' but is being run on '$^O'"
+        unless "%s" eq $^O;
+
     my ($bincompat, $non_bincompat, $date, @patches) = Internals::V();
 
     my $opts = join ' ', sort split ' ', "$bincompat $non_bincompat";
@@ -185,11 +191,7 @@
     $opts =~ s/(?=.{53})(.{1,53}) /$1\n                        /mg;
 
     print Config::myconfig();
-    if ($^O eq 'VMS') {
-        print "\nCharacteristics of this PERLSHR image: \n";
-    } else {
-        print "\nCharacteristics of this binary (from libperl): \n";
-    }
+    print "\nCharacteristics of this %s: \n";
 
     print "  Compile-time options: $opts\n";
 
@@ -198,15 +200,14 @@
         print "\t$_\n" foreach @patches;
     }
 
-    print "  Built under $^O\n";
+    print "  Built under %s\n";
 
     print "  $date\n" if defined $date;
 
-    my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %ENV;
-    push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $^O eq 'cygwin' and $ENV{CYGWIN};
-
+    my @env = map { "$_=\"$ENV{$_}\"" } sort grep {/^PERL/} keys %%ENV;
+%s
     if (@env) {
-        print "  \%ENV:\n";
+        print "  \%%ENV:\n";
         print "    $_\n" foreach @env;
     }
     print "  \@INC:\n";
@@ -227,7 +228,7 @@
 
 my %export_ok = eval $export_funcs or die;
 
-$config_txt .= sprintf << 'EOT', $export_funcs;
+$config_txt .= sprintf << 'EOT', $], $export_funcs;
 # This file was created by configpm when Perl was built. Any changes
 # made to this file will be lost the next time perl is built.
 
@@ -238,8 +239,10 @@
 package Config;
 use strict;
 use warnings;
-use vars '%%Config';
+use vars '%%Config', '$VERSION';
 
+$VERSION = "%s";
+
 # Skip @Config::EXPORT because it only contains %%Config, which we special
 # case below as it's not a function. @Config::EXPORT won't change in the
 # lifetime of Perl 5.
@@ -412,13 +415,12 @@
 
 my $byteorder_code;
 if ($s == 4 || $s == 8) {
-    my $list = join ',', reverse(2..$s);
+    my $list = join ',', reverse(1..$s-1);
     my $format = 'a'x$s;
     $byteorder_code = <<"EOT";
 
-my \$i = 0;
-foreach my \$c ($list) { \$i |= ord(\$c); \$i <<= 8 }
-\$i |= ord(1);
+my \$i = ord($s);
+foreach my \$c ($list) { \$i <<= 8; \$i |= ord(\$c); }
 our \$byteorder = join('', unpack('$format', pack('$f', \$i)));
 EOT
 } else {
@@ -809,8 +811,8 @@
 }
 my $fast_config = join '', map { "    $_,\n" } sort values %Common;
 
-# Sanity check needed to stop an infite loop if Config_heavy.pl fails to define
-# &launcher for some reason (eg it got truncated)
+# Sanity check needed to stop an infinite loop if Config_heavy.pl fails to
+# define &launcher for some reason (eg it got truncated)
 $config_txt .= sprintf <<'ENDOFTIE', $fast_config;
 
 sub DESTROY { }
@@ -872,7 +874,7 @@
 =item myconfig()
 
 Returns a textual summary of the major perl configuration values.
-See also C<-V> in L<perlrun/Switches>.
+See also C<-V> in L<perlrun/Command Switches>.
 
 =item config_sh()
 
@@ -892,7 +894,7 @@
   name='value';
 
 Names which are unknown are output as C<name='UNKNOWN';>.
-See also C<-V:name> in L<perlrun/Switches>.
+See also C<-V:name> in L<perlrun/Command Switches>.
 
 =item bincompat_options()
 


Property changes on: vendor/perl/dist/configpm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/configure.com
===================================================================
--- vendor/perl/dist/configure.com	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/configure.com	2013-12-01 21:45:02 UTC (rev 6430)
@@ -926,10 +926,10 @@
 $!
 $   config_symbols0 ="|archlib|archlibexp|bin|binexp|builddir|cf_email|config_sh|installarchlib|installbin|installman1dir|installman3dir|"
 $   config_symbols1 ="|installprivlib|installscript|installsitearch|installsitelib|most|oldarchlib|oldarchlibexp|osname|pager|perl_symbol|perl_verb|"
-$   config_symbols2 ="|prefix|privlib|privlibexp|scriptdir|sitearch|sitearchexp|sitebin|sitelib|sitelib_stem|sitelibexp|try_cxx|use64bitall|use64bitint|"
+$   config_symbols2 ="|prefix|privlib|privlibexp|scriptdir|sitearch|sitearchexp|sitebin|sitelib|sitelib_stem|sitelibexp|usecxx|use64bitall|use64bitint|"
 $   config_symbols3 ="|usecasesensitive|usedefaulttypes|usedevel|useieee|useithreads|uselongdouble|usemultiplicity|usemymalloc|usedebugging_perl|"
-$   config_symbols4 ="|useperlio|usesecurelog|usethreads|usevmsdebug|usefaststdio|usemallocwrap|unlink_all_versions|uselargefiles|usesitecustomize|"
-$   config_symbols5 ="|buildmake|builder|usethreadupcalls|usekernelthreads|useshortenedsymbols"
+$   config_symbols4 ="|usesecurelog|usethreads|usevmsdebug|usefaststdio|usemallocwrap|unlink_all_versions|uselargefiles|usesitecustomize|"
+$   config_symbols5 ="|buildmake|builder|usethreadupcalls|usekernelthreads|useshortenedsymbols|useversionedarchname"
 $!  
 $   open/read CONFIG 'config_sh'
 $   rd_conf_loop:
@@ -1394,14 +1394,11 @@
 $!
 $Cxx_initial_check:
 $!
-$! Do note that [vms]perl source files have a ways to go before they will 
-$! compile under CXX.
-$! In order to test Configure.com with CXX invoke it with "-Dtry_cxx" on
+$! In order to build with the HP C++ compiler, invoke configure.com with "-Dusecxx" on
 $! the command line.
 $!
-$ IF F$TYPE(try_cxx) .EQS. "" THEN try_cxx := n
-$ IF try_cxx .OR. try_cxx .EQS. "define"
-$!
+$ IF F$TYPE(usecxx) .EQS. "" THEN usecxx := n
+$ IF usecxx .OR. usecxx .EQS. "define"
 $ THEN
 $!
 $ echo "Checking for CXX..."
@@ -1442,7 +1439,7 @@
 $   ! link && DEC C++ V5.6-013 on OpenVMS VAX V7.1
 $   IF tmp .eq. %X10000001
 $   THEN
-$     ld_try = "Link"
+$     ld_try = "Link/nodebug"
 $     vms_cc_available = vms_cc_available + "cxx "
 $     echo "CXX and LINK are available."
 $   ELSE
@@ -1482,7 +1479,12 @@
 $ echo "( ''vms_cc_available')"
 $ IF .NOT.nocc 
 $ THEN
-$   dflt = "cc''vms_cc_dflt'"  !-> "cc" in case first compile went OK
+$   IF usecxx .OR. usecxx .EQS. "define"
+$   THEN
+$     dflt = "cxx"
+$   ELSE
+$     dflt = "cc''vms_cc_dflt'"  !-> "cc" in case first compile went OK
+$   ENDIF
 $ ELSE
 $   dflt = gcc_symbol
 $ ENDIF
@@ -1751,6 +1753,8 @@
 $   cxxversion = line
 $   ccversion = line
 $   d_cplusplus = "define"
+$   echo4 "adding /NOANSI_ALIAS qualifier to ccflags."
+$   ccflags = ccflags + "/NOANSI_ALIAS"
 $   CALL Cxx_demangler_cleanup
 $ ELSE
 $   d_cplusplus = "undef"
@@ -1933,15 +1937,6 @@
 $!: see if nm is to be used to determine whether a symbol is defined or not
 $!: get list of predefined functions in a handy place
 $!: see if we have sigaction or sigprocmask
-$!: see whether socketshr exists
-$ IF (F$SEARCH(F$PARSE("SocketShr","Sys$Share:.Exe")).NES."")
-$ THEN
-$   Has_socketshr     = "T"
-$   echo ""
-$   echo4 "Hmm... Looks like you have SOCKETSHR Berkeley networking support."
-$ ELSE
-$   Has_socketshr     = "F"
-$ ENDIF
 $ IF (ccname .EQS. "DEC" .AND. Dec_C_Version .GE. 50200000) .OR. (ccname .EQS. "CXX")
 $ THEN
 $   Has_Dec_C_Sockets = "T"
@@ -1950,20 +1945,14 @@
 $ ELSE
 $   Has_Dec_C_Sockets = "F"
 $ ENDIF
-$ ! Hey, we've got both. Default to Dec C, then, since it's better
-$ IF Has_socketshr .OR. Has_Dec_C_Sockets
+$!
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   echo ""
-$   echo "You have sockets available.  Which socket stack do you want to"
-$   echo "build into Perl?"
-$   IF Has_Dec_C_Sockets
-$   THEN
-$     dflt = "DECC"
-$   ELSE
-$     dflt = "SOCKETSHR"
-$   ENDIF
-$   rp = "Choose socket stack (NONE"
-$   IF Has_socketshr THEN rp = rp + ",SOCKETSHR"
+$   echo "You have sockets available via the C library. Should socket support"
+$   echo "be built into Perl?"
+$   dflt = "DECC"
+$   rp = "Choose socket support option (NONE"
 $   IF Has_Dec_C_Sockets THEN rp = rp + ",DECC"
 $   rp = rp + ") [''dflt'] "
 $   GOSUB myread
@@ -1971,7 +1960,6 @@
 $   Has_socketshr = "F"
 $   ans = F$EDIT(ans,"TRIM,COMPRESS,LOWERCASE")
 $   IF ans.eqs."decc" THEN Has_Dec_C_Sockets = "T"
-$   IF ans.eqs."socketshr" THEN Has_socketshr = "T"
 $ ENDIF
 $!
 $!
@@ -2066,7 +2054,7 @@
 $     then
 $         if use5005threads .or. use5005threads .eqs. "define" then bool_dflt="n"
 $     endif
-$     rp = "Use the newer intepreter-based ithreads? [''bool_dflt'] "
+$     rp = "Use the newer interpreter-based ithreads? [''bool_dflt'] "
 $     GOSUB myread
 $     use_ithreads=ans
 $     if use_ithreads 
@@ -2391,6 +2379,27 @@
 $   ENDIF
 $ ENDIF
 $!
+$ bool_dflt = "n"
+$ if f$type(useversionedarchname) .nes. ""
+$ then
+$   if useversionedarchname .or. useversionedarchname .eqs. "define" then bool_dflt = "y"
+$ endif
+$ rp = "Add the Perl API version to your archname? [''bool_dflt'] "
+$ GOSUB myread
+$ IF ans
+$ THEN
+$   useversionedarchname = "define"
+$   IF F$LOCATE("-''version'", archname) .EQ. F$LENGTH(archname)
+$   THEN
+$     archname = "''archname'-''version'"
+$     echo4 "...setting architecture name to ''archname'."
+$   ELSE
+$     echo4 "...and architecture name already has -''version'."
+$   ENDIF
+$ ELSE
+$   useversionedarchname = "undef"
+$ ENDIF
+$!
 $ IF usethreads .OR. usethreads .EQS. "define"
 $ THEN
 $   echo4 "Threads selected."
@@ -2907,7 +2916,7 @@
 $ dflt = dflt - "NDBM_File"           ! needs porting/special library
 $ dflt = dflt - "ODBM_File"           ! needs porting/special library
 $ dflt = dflt - "Sys/Syslog"          ! needs porting/special library "GDBM_File macro LOG_DEBUG"
-$ IF .NOT. Has_socketshr .AND. .NOT. Has_Dec_C_Sockets
+$ IF .NOT. Has_Dec_C_Sockets
 $ THEN
 $   dflt = dflt - "Socket"            ! optional on VMS
 $ ENDIF
@@ -3133,37 +3142,6 @@
 $   ENDIF
 $ ENDIF
 $!
-$! PerlIO abstraction
-$!
-$ bool_dflt = "y"
-$ IF F$TYPE(useperlio) .NES. ""
-$ then
-$   if .not. useperlio .or. useperlio .eqs. "undef" then bool_dflt = "n"
-$ endif
-$ IF .NOT. silent
-$ THEN
-$   echo "Previous versions of ''package' used the standard IO mechanisms as"
-$   TYPE SYS$INPUT:
-$   DECK
-defined in <stdio.h>.  Versions 5.003_02 and later of perl allow
-alternate IO mechanisms via the PerlIO abstraction layer, but the
-stdio mechanism is still available if needed.  The abstraction layer
-can use AT&T's sfio (if you already have sfio installed) or regular stdio.
-Using PerlIO with sfio may cause problems with some extension modules.
-
-$   EOD
-$   echo "If this does not make any sense to you, just accept the default '" + bool_dflt + "'."
-$ ENDIF
-$ rp = "Use the PerlIO abstraction layer? [''bool_dflt'] "
-$ GOSUB myread
-$ IF ans
-$ THEN
-$   useperlio = "define"
-$ ELSE
-$   echo "Ok, doing things the stdio way."
-$   useperlio = "undef"
-$ ENDIF
-$!
 $ echo ""
 $ echo4 "Checking the C run-time library."
 $!
@@ -3281,13 +3259,19 @@
 $   uselongdouble = "define"
 $   alignbytes="16"
 $   nveformat="""Le"""
+$   nvEUformat="""LE"""
 $   nvfformat="""Lf"""
+$   nvFUformat="""LF"""
 $   nvgformat="""Lg"""
+$   nvGUformat="""LG"""
 $ ELSE
 $   uselongdouble = "undef"
 $   nveformat="""e"""
+$   nvEUformat="""E"""
 $   nvfformat="""f"""
+$   nvFUformat="""F"""
 $   nvgformat="""g"""
+$   nvGUformat="""G"""
 $ ENDIF
 $ IF use64bitall .OR. use64bitall .EQS. "define"
 $ THEN
@@ -3351,12 +3335,7 @@
 $ startperl="""$ perl 'f$env(\""procedure\"")' \""'"+"'p1'\"" \""'"+"'p2'\"" \""'"+"'p3'\"" \""'"+"'p4'\"" \""'"+"'p5'\"" \""'"+"'p6'\"" \""'"+"'p7'\"" \""'"+"'p8'\""!\n"
 $ startperl=startperl + "$ exit++ + ++$status!=0 and $exit=$status=undef; while($#ARGV != -1 and $ARGV[$#ARGV] eq '"+"'){pop @ARGV;}"""
 $!
-$ IF ((use_threads) .AND. (vms_ver .LES. "6.2"))
-$ THEN
-$   libs="SYS$SHARE:CMA$LIB_SHR.EXE/SHARE SYS$SHARE:CMA$RTL.EXE/SHARE SYS$SHARE:CMA$OPEN_LIB_SHR.exe/SHARE SYS$SHARE:CMA$OPEN_RTL.exe/SHARE"
-$ ELSE
-$   libs=" "
-$ ENDIF
+$ libs=" "
 $ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX"
 $ THEN
 $   libc="(DECCRTL)"
@@ -3372,6 +3351,7 @@
 $ IF F$ELEMENT(0, "-", archname) .NES. "VMS_VAX"
 $ THEN
 $   d_PRId64 = "define"
+$   d_PRIi64 = "define"
 $   d_PRIu64 = "define"
 $   d_PRIo64 = "define"
 $   d_PRIx64 = "define"
@@ -3392,6 +3372,7 @@
 $   d_modflproto = "define"
 $ ELSE
 $   d_PRId64 = "undef"
+$   d_PRIi64 = "undef"
 $   d_PRIXU64 = "undef"
 $   d_PRIu64 = "undef"
 $   d_PRIo64 = "undef"
@@ -3598,6 +3579,8 @@
 $ WS "{"
 $ WS "#ifdef __STDC__"
 $ WS "printf(""42\n"");"
+$ WS "#elif defined (__STD_ANSI)" ! for CXX
+$ WS "printf(""42\n"");"
 $ WS "#else"
 $ WS "printf(""1\n"");"
 $ WS "#endif"
@@ -3608,8 +3591,8 @@
 $ cpp_stuff=tmp
 $ IF F$INTEGER(tmp) .eq. 42
 $ THEN
-$   echo4 "Your C compiler and pre-processor defines the symbol:"
-$   echo4 "__STDC__"
+$   echo4 "Oh!  Smells like ANSI's been here."
+$   echo "We can catify or stringify, separately or together!"
 $ ENDIF
 $!
 $! Check for double size
@@ -3814,7 +3797,7 @@
 $!
 $! Check the prototype for select
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -3823,13 +3806,8 @@
 $   WS "#include <stdio.h>"
 $   WS "#include <types.h>"
 $   IF i_unistd .EQS. "define" THEN WS "#include <unistd.h>"
-$   IF Has_Socketshr
-$   THEN
-$     WS "#include <socketshr.h>"
-$   ELSE
-$     WS "#include <time.h>"
-$     WS "#include <socket.h>"
-$   ENDIF
+$   WS "#include <time.h>"
+$   WS "#include <socket.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "fd_set *foo;"
@@ -3863,10 +3841,6 @@
 $ WS "#endif"
 $ WS "#include <stdio.h>"
 $ WS "#include <types.h>"
-$ IF Has_Socketshr
-$ THEN
-$   WS "#include <socketshr.h>"
-$ ENDIF
 $ IF Has_Dec_C_Sockets
 $ THEN
 $   WS "#include <time.h>"
@@ -4049,7 +4023,7 @@
 $!
 $! Check to see if gethostname exists
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4057,13 +4031,8 @@
 $   WS "#endif"
 $   WS "#include <stdio.h>"
 $   WS "#include <types.h>"
-$   IF Has_Socketshr
-$   THEN
-$     WS "#include <socketshr.h>"
-$   ELSE
-$     WS "#include <time.h>"
-$     WS "#include <socket.h>"
-$   ENDIF
+$   WS "#include <time.h>"
+$   WS "#include <socket.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "char name[100];"
@@ -4229,7 +4198,7 @@
 $ WS "int main()"
 $ WS "{"
 $ WS "char * place;"
-$ WS "place = memchr(""foo"", 47, 3);"
+$ WS "place = (char *)memchr(""foo"", 47, 3);"
 $ WS "exit(0);"
 $ WS "}"
 $ CS
@@ -4523,18 +4492,12 @@
 $!   ELSE dflt = "n"
 $!   ENDIF
 $!   echo "''package' can use the sfio library, but it is experimental."
-$!   IF useperlio .EQS. "undef"
-$!   THEN
-$!     echo "For sfio also the PerlIO abstraction layer is needed."
-$!     echo "Earlier you said you would not want that."
-$!   ENDIF
 $!   rp="You seem to have sfio available, do you want to try using it? [''dflt'] "
 $!   GOSUB myread
 $!   IF ans .EQS. "" THEN ans = dflt
 $!   IF ans
 $!   THEN
-$!     echo "Ok, turning on both sfio and PerlIO, then."
-$!     useperlio="define"
+$!     echo "Ok, turning on sfio then."
 $!     val="define"
 $!   ELSE
 $!     echo "Ok, avoiding sfio this time.  I'll use stdio instead."
@@ -4585,7 +4548,7 @@
 $!
 $! Check for <netinet/in.h>
 $!
-$ IF Has_Dec_C_Sockets .or. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   tmp = "netinet/in.h"
 $   GOSUB inhdr
@@ -4596,7 +4559,7 @@
 $!
 $! Check for <netinet/tcp.h>
 $!
-$ IF Has_Dec_C_Sockets .or. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   tmp = "netinet/tcp.h"
 $   GOSUB inhdr
@@ -4607,7 +4570,7 @@
 $!
 $! Check for endhostent
 $!
-$ IF Has_Dec_C_Sockets .or. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4614,10 +4577,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "endhostent();"
@@ -4633,7 +4593,7 @@
 $!
 $! Check for endnetent
 $!
-$ IF Has_Dec_C_Sockets .or. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4640,10 +4600,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "endnetent();"
@@ -4659,7 +4616,7 @@
 $!
 $! Check for endprotoent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4666,10 +4623,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "endprotoent();"
@@ -4685,7 +4639,7 @@
 $!
 $! Check for endservent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4692,10 +4646,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "endservent();"
@@ -4711,7 +4662,7 @@
 $!
 $! Check for sethostent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4718,10 +4669,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "sethostent(1);"
@@ -4737,7 +4685,7 @@
 $!
 $! Check for setnetent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4744,10 +4692,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "setnetent(1);"
@@ -4763,7 +4708,7 @@
 $!
 $! Check for setprotoent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4770,10 +4715,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "setprotoent(1);"
@@ -4789,7 +4731,7 @@
 $!
 $! Check for setservent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4796,10 +4738,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "setservent(1);"
@@ -4815,7 +4754,7 @@
 $!
 $! Check for gethostent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4822,10 +4761,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "gethostent();"
@@ -4841,7 +4777,7 @@
 $!
 $! Check for getnetent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4848,10 +4784,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "getnetent();"
@@ -4867,7 +4800,7 @@
 $!
 $! Check for getprotoent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4874,10 +4807,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "getprotoent();"
@@ -4893,7 +4823,7 @@
 $!
 $! Check for getservent
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4900,10 +4830,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "getservent();"
@@ -4921,7 +4848,7 @@
 $! Check for sa_len
 $!
 $ echo4 "Checking the availability of sa_len in the sockaddr struct ..."
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#if defined(__DECC) || defined(__DECCXX)"
@@ -4929,14 +4856,11 @@
 $   WS "#endif"
 $   WS "#define _SOCKADDR_LEN"
 $   WS "#include <types.h>"
-$   IF Has_Socketshr
-$   THEN
-$     WS "#include <socketshr.h>"
-$   ELSE
-$     WS "#include <socket.h>"
-$   ENDIF
+$   WS "#include <socket.h>"
+$   WS "#include <string.h>"
 $   WS "int main() {"
 $   WS "struct sockaddr sa;"
+$   WS "memset((char *)&sa, 0, sizeof(sa));"
 $   WS "return (sa.sa_len);"
 $   WS "}"
 $   CS
@@ -4954,23 +4878,19 @@
 $   echo "You do not have sa_len in the sockaddr struct."
 $ ENDIF
 $!
-$!
 $! Check for sin6_scope_id
 $!
 $ echo4 "Checking the availability of sin6_scope_id in the struct sockaddr_in6 ..."
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   OS
 $   WS "#include <types.h>"
-$   IF Has_Socketshr
-$   THEN
-$     WS "#include <socketshr.h>"
-$   ELSE
-$     WS "#include <socket.h>"
-$   ENDIF
+$   WS "#include <socket.h>"
 $   WS "#include <in.h>"
+$   WS "#include <string.h>"
 $   WS "int main() {"
 $   WS "struct sockaddr_in6 sin6;"
+$   WS "memset((char *)&sin6, 0, sizeof(sin6));"
 $   WS "return (sin6.sin6_scope_id);"
 $   WS "}"
 $   CS
@@ -5007,7 +4927,7 @@
 $!
 $! Check for socklen_t
 $!
-$ IF Has_Dec_C_Sockets .OR. Has_Socketshr
+$ IF Has_Dec_C_Sockets
 $ THEN
 $   echo4 "Checking to see if you have socklen_t..."
 $   OS
@@ -5015,10 +4935,7 @@
 $   WS "#include <stdlib.h>"
 $   WS "#endif"
 $   WS "#include <stdio.h>"
-$   IF Has_Socketshr
-$   THEN WS "#include <socketshr.h>"
-$   ELSE IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
-$   ENDIF
+$   IF i_netdb .EQS. "define" THEN WS "#include <netdb.h>"
 $   WS "int main()"
 $   WS "{"
 $   WS "socklen_t x = 16;"
@@ -5150,6 +5067,33 @@
 $   uselargefiles = "undef"
 $ ENDIF
 $!
+$! Check for st_ino size.
+$!
+$ st_ino_size = 4
+$ OS
+$ WS "#include <sys/stat.h>"
+$ WS "#include <stdio.h>"
+$ WS "#if defined(__DECC) || defined(__DECCXX)"
+$ WS "#include <stdlib.h>
+$ WS "#endif"
+$ WS "int main() {
+$ WS "#''uselargefiles' _LARGEFILE"
+$ WS "#ifdef _LARGEFILE"
+$ WS "    printf(""%d\n"", sizeof(__ino64_t));"
+$ WS "#else"
+$ WS "    printf(""%d\n"", sizeof(unsigned short)*3);"
+$ WS "#endif"
+$ WS "    exit(0);"
+$ WS "}"
+$ CS
+$ GOSUB link_ok
+$ IF link_status .EQ. good_link
+$ THEN
+$   GOSUB just_mcr_it
+$   st_ino_size = tmp
+$ ENDIF
+$ echo "Your st_ino size is ''st_ino_size' bytes."
+$!
 $! Tests for hard link, symbolic links, and 7.3 + CRTL features
 $!
 $  d_lchown = "undef"
@@ -5189,8 +5133,7 @@
 $      echo4 -
    "Looking for the realpath() function to indicate symbolic link support..."
 $      OS
-$!      WS "#include <stdlib.h>"
-$      WS "void exit(int foo);"
+$      WS "#include <stdlib.h>"
 $      WS "char *realpath(const char *file_name, char * resolved_name, ...);"
 $      WS "int main()"
 $      WS "{"
@@ -5391,40 +5334,41 @@
 $   d_attribut="define"
 $   vms_cc_type="gcc"
 $ ELSE
-$   vms_cc_type="cc"
+$   IF ccname .EQS. "CXX"
+$   THEN
+$      vms_cc_type="cxx"
+$   ELSE
+$      vms_cc_type="cc"
+$   ENDIF
 $   d_attribut="undef"
 $ ENDIF
 $!
-$! Dec C >= 5.2 and VMS ver >= 7.0
-$ IF (ccname .EQS. "DEC") .AND. -
-     (F$INTEGER(Dec_C_Version).GE.50200000) .AND. (vms_ver .GES. "7.0")
+$ d_bcmp="define"
+$ d_getitimer="define"
+$ d_gettimeod="define"
+$ d_mmap="define"
+$ d_mprotect="define"
+$ d_munmap="define"
+$ d_msync="define"
+$ d_ualarm="define"
+$ d_uname="define"
+$! d_unsetenv="define" ! Fix me - Activating requires changing VMS code
+$ d_unsetenv="undef"   ! Change will be needed to allow GNV integration
+$ d_clearenv="undef"
+$ d_usleep="define"
+$ d_setitimer="define"
+$ d_sigaction="define"
+$ d_sigprocmask="define"
+$ d_truncate="define"
+$ d_wait4="define"
+$ d_index="define"
+$ pidtype="pid_t"
+$ sig_name1="ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE"
+$ sig_name2=" ALRM TERM USR1 USR2 NUM18 NUM19 CHLD CONT STOP TSTP TTIN TTOU DEBUG"
+$ IF (vms_ver .GES. "7.3")
 $ THEN
-$   d_bcmp="define"
-$   d_getitimer="define"
-$   d_gettimeod="define"
-$   d_mmap="define"
-$   d_mprotect="define"
-$   d_munmap="define"
-$   d_msync="define"
-$   d_ualarm="define"
-$   d_uname="define"
-$!   d_unsetenv="define" ! Fix me - Activating requires changing VMS code
-$   d_unsetenv="undef"   ! Change will be needed to allow GNV integration
-$   d_clearenv="undef"
-$   d_usleep="define"
-$   d_setitimer="define"
-$   d_sigaction="define"
-$   d_sigprocmask="define"
-$   d_truncate="define"
-$   d_wait4="define"
-$   d_index="define"
-$   pidtype="pid_t"
-$   sig_name1="ZERO HUP INT QUIT ILL TRAP ABRT EMT FPE KILL BUS SEGV SYS PIPE"
-$   sig_name2=" ALRM TERM USR1 USR2 NUM18 NUM19 CHLD CONT STOP TSTP TTIN TTOU DEBUG"
-$   IF (vms_ver .GES. "7.3")
-$   THEN
 $     sig_name2 = sig_name2 + " NUM27 WINCH"
-$   ENDIF
+$ ENDIF
 $!* signal.h defines SIGRTMIN as 33 and SIGRTMAX as 64, but there is no 
 $!* sigqueue function or other apparent means to do realtime signalling,
 $!* so let's not try to include the realtime range for now.
@@ -5431,11 +5375,11 @@
 $!* sig_name3=" NUM29 NUM30 NUM31 NUM32 RTMIN NUM34 NUM35 NUM36 NUM37 NUM38 NUM39 NUM40 NUM41 NUM42 NUM43"
 $!* sig_name4=" NUM44 NUM45 NUM46 NUM47 NUM48 NUM49 NUM50 NUM51 NUM52 NUM53 NUM54 NUM55 NUM56 NUM57 NUM58"
 $!* sig_name5=" NUM59 NUM60 NUM61 NUMT62 NUM63 RTMAX"
-$   sig_name = sig_name1 + sig_name2
-$   sig_num = ""
-$   sig_num_init = ""
-$   sig_name_init = ""
-$   sig_index = 0
+$ sig_name = sig_name1 + sig_name2
+$ sig_num = ""
+$ sig_num_init = ""
+$ sig_name_init = ""
+$ sig_index = 0
 $!
 $ PARSE_SIG_NAME_LOOP:
 $!
@@ -5459,41 +5403,7 @@
 $   d_fpathconf="define"
 $   d_sysconf="define"
 $   d_sigsetjmp="define"
-$ ELSE
-$   pidtype="unsigned int"
-$   d_bcmp="undef"
-$   d_getitimer="undef"
-$   d_gettimeod="undef"
-$   d_mmap="undef"
-$   d_mprotect="undef"
-$   d_munmap="undef"
-$   d_msync="undef"
-$   d_ualarm="undef"
-$   d_uname="undef"
-$   d_unsetenv="undef"
-$   d_clearenv="undef"
-$   d_usleep="undef"
-$   d_setitimer="undef"
-$   d_sigaction="undef"
-$   d_sigprocmask="undef"
-$   d_truncate="undef"
-$   d_wait4="undef"
-$   d_index="undef"
-$   sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT USR1 USR2"
-$   psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
-$   psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",""USR1"",""USR2"",0"
-$   sig_name_init = psnwc1 + psnwc2
-$   sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 16 17"
-$   sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,16,17,0"
-$   sig_size="19"
-$   sig_count="15"
-$   if (vms_ver .GES. "6.2") then sig_count="17"
-$   uidtype="unsigned int"
-$   d_pathconf="undef"
-$   d_fpathconf="undef"
-$   d_sysconf="undef"
-$   d_sigsetjmp="undef"
-$ ENDIF
+$!
 $!: see if tzname[] exists
 $ OS
 $ WS "#include <stdio.h>"
@@ -5519,7 +5429,7 @@
 $ ENDIF
 $!
 $! Dec C alone
-$ IF ccname .EQS. "DEC"
+$ IF ccname .EQS. "DEC" .OR. ccname .EQS. "CXX"
 $ THEN
 $   d_mbstowcs="define"
 $   d_mbtowc="define"
@@ -5537,12 +5447,7 @@
 $   i_locale="define"
 $   i_langinfo="define"
 $   d_locconv="define"
-$   IF vms_ver .GES. "6.2"
-$   THEN
-$     d_nl_langinfo="define"
-$   ELSE
-$     d_nl_langinfo="undef"
-$   ENDIF
+$   d_nl_langinfo="define"
 $   d_setlocale="define"
 $   vms_cc_type="decc"
 $ ELSE
@@ -5570,7 +5475,7 @@
 $ usefaststdio="undef"
 $!
 $! Sockets?
-$ if Has_Socketshr .OR. Has_Dec_C_Sockets
+$ if Has_Dec_C_Sockets
 $ THEN
 $   d_vms_do_sockets="define"
 $   d_htonl="define"
@@ -5629,18 +5534,12 @@
 $   socksizetype="undef"
 $ ENDIF
 $! Threads
+$ d_oldpthreads="undef"
 $ IF use_threads
 $ THEN
 $   usethreads="define"
 $   d_pthreads_created_joinable="define"
-$   if (vms_ver .GES. "7.0")
-$   THEN
-$     d_oldpthreads="undef"
-$   ELSE
-$     d_oldpthreads="define"
-$   ENDIF
 $ ELSE
-$   d_oldpthreads="undef"
 $   usethreads="undef"
 $   d_pthreads_created_joinable="undef"
 $ ENDIF
@@ -5764,7 +5663,7 @@
 $   d_nv_preserves_uv = "define"
 $   echo "Your NVs can preserve all ''nv_preserves_uv_bits' bits of your UVs."
 $ ELSE
-$   d_nv_preserves_uv = "undef""
+$   d_nv_preserves_uv = "undef"
 $   echo "Your NVs can preserve only ''nv_preserves_uv_bits' bits of your UVs."	
 $ ENDIF
 $!
@@ -5891,12 +5790,20 @@
 $   WS "#include <stdio.h>"
 $   WS "#include <lib$routines.h>"
 $   WS "unsigned long code = 0;"
+$   WS "#define sys$sigprc SYS$SIGPRC"
+$   WS "#ifdef __cplusplus"
+$   WS "extern ""C"" {"
+$   WS "#endif"
+$   WS "    int sys$sigprc(unsigned int *,void *,unsigned int);"
+$   WS "#ifdef __cplusplus"
+$   WS "}"
+$   WS "#endif"
 $   WS "int handler(unsigned long *args) {"
 $   WS "    code = args[1];"
 $   WS "    return 1;"
 $   WS "}"
 $   WS "main() { "
-$   WS "    int iss, sys$sigprc();"
+$   WS "    int iss;"
 $   WS "    lib$establish(handler);"
 $   WS "    iss = sys$sigprc(0,0,0x1234);"
 $   WS "    iss =  ((iss&1)==1 && code == 0x1234);" 
@@ -5910,21 +5817,6 @@
 $       echo4 "Yep, we can."
 $       kill_by_sigprc = "define"
 $!
-$!	Use the same list of signals the CRTL does for recent systems, but cook our own for very old systems.
-$!	Note that the list controls what signals can be caught by name as well as what can be raised via kill().
-$!
-$       if  vms_ver .LTS. "6.2"
-$	then
-$!          since SIGBUS and SIGSEGV indistinguishable, make them the same here.
-$           sig_name="ZERO HUP INT QUIT ILL TRAP IOT EMT FPE KILL BUS SEGV SYS PIPE ALRM TERM ABRT"
-$           psnwc1="""ZERO"",""HUP"",""INT"",""QUIT"",""ILL"",""TRAP"",""IOT"",""EMT"",""FPE"",""KILL"",""BUS"",""SEGV"",""SYS"","
-$           psnwc2="""PIPE"",""ALRM"",""TERM"",""ABRT"",0"
-$           sig_name_init = psnwc1 + psnwc2
-$           sig_num="0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6"
-$           sig_num_init="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,6,0"
-$           sig_size="17"
-$	    sig_count="15"
-$       endif
 $   ELSE
 $       echo4 "Nope, we can't."
 $   ENDIF
@@ -5941,10 +5833,8 @@
 $ THEN
 $   ccflags="/Include=[]/Standard=Relaxed_ANSI/Prefix=All/Obj=''obj_ext' ''ccflags'"
 $ ENDIF
-$ i_dirent = "undef"
 $ IF ccname .EQS. "CXX"
 $ THEN
-$   i_dirent = "define"
 $   ccflags="/Include=[]/Standard=ANSI/Prefix=All/Obj=''obj_ext' ''ccflags'"
 $ ENDIF
 $ IF use_vmsdebug_perl
@@ -5992,6 +5882,10 @@
 $ WC "_o='" + obj_ext + "'"
 $ WC "alignbytes='" + alignbytes + "'"
 $ WC "aphostname='write sys$output f$edit(f$getsyi(\""SCSNODE\""),\""TRIM,LOWERCASE\"")'"
+$ WC "api_revision='" + api_revision + "'"
+$ WC "api_subversion='" + api_subversion + "'"
+$ WC "api_version='" + api_version + "'" 
+$ WC "api_versionstring='" + version + "'" 
 $ WC "ar='" + "'"
 $ WC "archlib='" + archlib + "'"
 $ WC "archlibexp='" + archlibexp + "'"
@@ -5999,6 +5893,7 @@
 $ WC "baserev='" + baserev + "'"
 $ WC "bin='" + bin + "'"
 $ WC "binexp='" + binexp + "'"
+$ WC "bootstrap_charset='undef'"
 $ WC "builddir='" + builddir + "'"
 $ WC "byteorder='1234'"
 $ WC "castflags='0'"
@@ -6043,14 +5938,15 @@
 $ ELSE
 $   WC "d_Gconvert='my_gconvert(x,n,t,b)'"
 $ ENDIF
-$ WC "d_PRIEldbl='" + d_PRIEUldbl + "'"
-$ WC "d_PRIFldbl='" + d_PRIFUldbl + "'"
-$ WC "d_PRIGldbl='" + d_PRIGUldbl + "'"
+$ WC "d_PRIEUldbl='" + d_PRIEUldbl + "'"
+$ WC "d_PRIFUldbl='" + d_PRIFUldbl + "'"
+$ WC "d_PRIGUldbl='" + d_PRIGUldbl + "'"
 $ WC "d_PRIXU64='" + d_PRIXU64 + "'"
 $ WC "d_PRId64='" + d_PRId64 + "'"
 $ WC "d_PRIeldbl='" + d_PRIeldbl + "'"
 $ WC "d_PRIfldbl='" + d_PRIfldbl + "'"
 $ WC "d_PRIgldbl='" + d_PRIgldbl + "'"
+$ WC "d_PRIi64='" + d_PRIi64 + "'"
 $ WC "d_PRIo64='" + d_PRIo64 + "'"
 $ WC "d_PRIu64='" + d_PRIu64 + "'"
 $ WC "d_PRIx64='" + d_PRIx64 + "'"
@@ -6202,7 +6098,12 @@
 $ WC "d_inetntop='undef'"
 $ WC "d_inetpton='undef'"
 $ WC "d_int64_t='" + d_int64_t + "'"
+$ WC "d_ip_mreq='define'"
+$ WC "d_ip_mreq_source='undef'"
+$ WC "d_ipv6_mreq='define'"
+$ WC "d_ipv6_mreq_source='undef'"
 $ WC "d_isascii='define'"
+$ WC "d_isblank='undef'"
 $ WC "d_isfinite='undef'"
 $ WC "d_isinf='undef'"
 $ WC "d_isnan='" + d_isnan + "'"
@@ -6306,9 +6207,20 @@
 $ WC "d_scm_rights='undef'"
 $ WC "d_seekdir='define'"
 $ WC "d_select='" + d_select + "'"
-$ WC "d_sem='undef'"
-$ WC "d_semctl_semid_ds='undef'"
-$ WC "d_semctl_semun='undef'"
+$ IF ("''F$EXTRACT(1,3, F$GETSYI(""VERSION""))'".GES."8.4")
+$ THEN
+$   WC "d_sem='define'"
+$   WC "d_semctl_semid_ds='define'"
+$   WC "d_semctl_semun='define'"
+$   WC "d_semget='define'"
+$   WC "d_semop='define'"
+$ ELSE
+$   WC "d_sem='undef'"
+$   WC "d_semctl_semid_ds='undef'"
+$   WC "d_semctl_semun='undef'"
+$   WC "d_semget='undef'"
+$   WC "d_semop='undef'"
+$ ENDIF
 $ WC "d_sendmsg='undef'"
 $ WC "d_setegid='undef'"
 $ WC "d_setenv='" + d_setenv + "'"
@@ -6345,6 +6257,7 @@
 $ WC "d_sigsetjmp='" + d_sigsetjmp + "'"
 $ WC "d_sin6_scope_id='" + d_sin6_scope_id + "'"
 $ WC "d_sitearch='define'"
+$ WC "d_sockaddr_in6='define'"
 $ WC "d_sockaddr_sa_len='" + d_sockaddr_sa_len + "'"
 $ WC "d_sockatmark='undef'"
 $ WC "d_sockatmarkproto='undef'"
@@ -6450,7 +6363,7 @@
 $ WC "direntrytype='struct dirent'"
 $ WC "dlext='" + dlext + "'"
 $ WC "dlobj='" + dlobj + "'"
-$ WC "dlsrc='dl_vms.c'"
+$ WC "dlsrc='dl_vms.xs'"
 $ WC "doublesize='" + doublesize + "'"
 $ WC "drand01='" + drand01 + "'"
 $ WC "dtrace='" + "'"
@@ -6497,7 +6410,7 @@
 $ WC "i_crypt='undef'"
 $ WC "i_db='undef'"
 $ WC "i_dbm='undef'"
-$ WC "i_dirent='" + i_dirent + "'"
+$ WC "i_dirent='undef'"	! we roll our own
 $ WC "i_dlfcn='undef'"
 $ WC "i_fcntl='" + i_fcntl + "'"
 $ WC "i_float='define'"
@@ -6534,6 +6447,12 @@
 $ WC "i_shadow='" + i_shadow + "'"
 $ WC "i_socks='" + i_socks + "'"
 $ WC "i_stdarg='define'"
+$ IF ccname .EQS. "DEC" .AND. F$INTEGER(Dec_C_Version).GE.60400000
+$ THEN
+$   WC "i_stdbool='define'"
+$ ELSE
+$   WC "i_stdbool='undef'"
+$ ENDIF
 $ WC "i_stddef='define'"
 $ WC "i_stdlib='define'"
 $ WC "i_string='define'"
@@ -6639,8 +6558,11 @@
 $ WC "netdb_net_type='" + netdb_net_type + "'"
 $ WC/symbol "nonxs_ext='", nonxs_ext, " ", nonxs_ext2, "'"
 $ WC "nveformat='" + nveformat + "'"
+$ WC "nvEUformat='" + nvEUformat + "'"
 $ WC "nvfformat='" + nvfformat + "'"
+$ WC "nvFUformat='" + nvFUformat + "'"
 $ WC "nvgformat='" + nvgformat + "'"
+$ WC "nvGUformat='" + nvGUformat + "'"
 $ WC "nvsize='" + nvsize + "'"
 $ WC "nvtype='" + nvtype + "'"
 $ WC "o_nonblock=' '"
@@ -6685,14 +6607,14 @@
 $ WC "sLOCALTIME_max='4294967295'"
 $ WC "sLOCALTIME_min='0'"
 $ WC "sPRId64='" + sPRId64 + "'"
-$ WC "sPRIEldbl='" + sPRIEUldbl + "'"
-$ WC "sPRIFldbl='" + sPRIFUldbl + "'"
-$ WC "sPRIGldbl='" + sPRIGUldbl + "'"
-$ WC "sPRIX64='" + sPRIXU64 + "'"
+$ WC "sPRIEUldbl='" + sPRIEUldbl + "'"
+$ WC "sPRIFUldbl='" + sPRIFUldbl + "'"
+$ WC "sPRIGUldbl='" + sPRIGUldbl + "'"
+$ WC "sPRIXU64='" + sPRIXU64 + "'"
 $ WC "sPRIeldbl='" + sPRIeldbl + "'"
 $ WC "sPRIfldbl='" + sPRIfldbl + "'"
 $ WC "sPRIgldbl='" + sPRIgldbl + "'"
-$! WC "sPRIi64='" + sPRIi64 + "'"
+$ WC "sPRIi64='" + sPRIi64 + "'"
 $ WC "sPRIo64='" + sPRIo64 + "'"
 $ WC "sPRIu64='" + sPRIu64 + "'"
 $ WC "sPRIx64='" + sPRIx64 + "'"
@@ -6746,6 +6668,8 @@
 $ WC "ssizetype='int'"
 $ WC "startperl=" + startperl ! This one's special--no enclosing single quotes
 $ WC "static_ext='" + static_ext + "'"
+$ WC "st_ino_size='" + st_ino_size + "'"
+$ WC "st_ino_sign='1'"
 $ WC "stdchar='" + stdchar + "'"
 $ WC "stdio_base='((*fp)->_base)'"
 $ WC "stdio_bufsiz='((*fp)->_cnt + (*fp)->_ptr - (*fp)->_base)'"
@@ -6782,12 +6706,14 @@
 $ WC "useieee='" + useieee + "'"                    ! VMS-specific
 $ WC "useithreads='" + useithreads + "'"
 $ WC "usekernelthreads='" + usekernelthreads + "'"	! VMS-specific
+$ WC "usekernprocpathname='undef'"
+$ WC "usensgetexecutablepath='undef'"
 $ WC "uselargefiles='" + uselargefiles + "'"
 $ WC "uselongdouble='" + uselongdouble + "'"
 $ WC "usemorebits='" + usemorebits + "'"
 $ WC "usemultiplicity='" + usemultiplicity + "'"
 $ WC "usemymalloc='" + usemymalloc + "'"
-$ WC "useperlio='" + useperlio + "'"
+$ WC "useperlio='define'"
 $ WC "useposix='false'"
 $ WC "usereentrant='undef'"
 $ WC "userelocatableinc='undef'"
@@ -6799,6 +6725,7 @@
 $ WC "usethreads='" + usethreads + "'"
 $ WC "usethreadupcalls='" + usethreadupcalls + "'"	! VMS-specific
 $ WC "usevendorprefix='" + "'" ! try to say no, though we'll be ignored as of MM 5.90_01
+$ WC "useversionedarchname='" + useversionedarchname + "'"
 $ WC "usevfork='true'"
 $ WC "usevmsdebug='" + usevmsdebug + "'"     ! VMS-specific
 $ WC "uvoformat='" + uvoformat + "'"
@@ -7013,8 +6940,6 @@
 $ THEN
 $    WC "#define VMS_DO_SOCKETS"
 $    WC "#define DECCRTL_SOCKETS"
-$ ELSE
-$    IF Has_Socketshr THEN WC "#define VMS_DO_SOCKETS"
 $ ENDIF
 $! This is VMS-specific for now
 $ WC "#''d_setenv' HAS_SETENV"
@@ -7023,6 +6948,9 @@
 $ IF use64bitint .OR. use64bitint .EQS. "define"
 $ THEN
 $   WC "#define USE_64_BIT_INT"
+$ ENDIF
+$ IF uselongdouble .OR. uselongdouble .EQS. "define"
+$ THEN
 $   WC "#define USE_LONG_DOUBLE"
 $ ENDIF
 $ IF use64bitall .OR. use64bitall .EQS. "define" THEN -
@@ -7033,17 +6961,12 @@
 $ IF d_herrno .EQS. "undef" THEN WC "#define NEED_AN_H_ERRNO"
 $ WC "#define HAS_ENVGETENV"
 $ WC "#define PERL_EXTERNAL_GLOB"
-$ IF F$ELEMENT(0, "-", archname) .EQS. "VMS_VAX" .AND. -
-     ccname .EQS. "DEC" .AND. -
-     ccversion .LE. 50390006
-$ THEN
-$! Alas this does not help to build Fcntl
-$!   WC "#define PERL_IGNORE_FPUSIG SIGFPE"
-$ ENDIF
 $ IF kill_by_sigprc .EQS. "define" then WC "#define KILL_BY_SIGPRC"
 $ IF unlink_all_versions .OR. unlink_all_versions .EQS. "define" THEN -
     WC "#define UNLINK_ALL_VERSIONS"
 $ IF d_sockaddr_sa_len .EQS. "define" then WC "#define _SOCKADDR_LEN 1"
+$ IF ccname .EQS. "CXX" then WC "#define NO_ENVIRON_ARRAY"
+$ IF ccname .EQS. "CXX" then WC "#define VMS" ! only has __VMS by default
 $ CLOSE CONFIG
 $!
 $ echo4 "Doing variable substitutions on .SH files..."
@@ -7081,21 +7004,11 @@
 $ THEN
 $   SOCKET_REPLACE = "SOCKET=DECC_SOCKETS=1"
 $ ELSE
-$   IF Has_Socketshr
-$   THEN
-$     SOCKET_REPLACE = "SOCKET=SOCKETSHR_SOCKETS=1"
-$   ELSE
-$     SOCKET_REPLACE = "SOCKET="
-$   ENDIF
+$   SOCKET_REPLACE = "SOCKET="
 $ ENDIF
 $ IF use_threads
 $ THEN
-$   IF (vms_ver .LES. "6.2")
-$   THEN
-$     THREAD_REPLACE = "THREAD=OLDTHREADED=1"
-$   ELSE
-$     THREAD_REPLACE = "THREAD=THREADED=1"
-$   ENDIF
+$   THREAD_REPLACE = "THREAD=THREADED=1"
 $ ELSE
 $   THREAD_REPLACE = "THREAD="
 $ ENDIF
@@ -7372,10 +7285,6 @@
 $! FIXME: "-" is an operator and illegal in a symbol name -- cpanp-run-perl can't work
 $!$ WRITE CONFIG "$ cpanp-run-perl == """ + perl_setup_perl + " ''vms_prefix':[utils]cpanp-run-perl.com"""
 $ WRITE CONFIG "$ cpanp      == """ + perl_setup_perl + " ''vms_prefix':[utils]cpanp.com"""
-$ IF F$LOCATE("Devel::DProf",dynamic_ext) .LT. F$LENGTH(dynamic_ext)
-$ THEN
-$ WRITE CONFIG "$ dprofpp    == """ + perl_setup_perl + " ''vms_prefix':[utils]dprofpp.com"""
-$ ENDIF 
 $ WRITE CONFIG "$ enc2xs     == """ + perl_setup_perl + " ''vms_prefix':[utils]enc2xs.com"""
 $ WRITE CONFIG "$ find2perl  == """ + perl_setup_perl + " ''vms_prefix':[utils]find2perl.com"""
 $ WRITE CONFIG "$ h2ph       == """ + perl_setup_perl + " ''vms_prefix':[utils]h2ph.com"""
@@ -7404,6 +7313,7 @@
 $ WRITE CONFIG "$ shasum     == """ + perl_setup_perl + " ''vms_prefix':[utils]shasum.com"""
 $ WRITE CONFIG "$ splain     == """ + perl_setup_perl + " ''vms_prefix':[utils]splain.com"""
 $ WRITE CONFIG "$ xsubpp     == """ + perl_setup_perl + " ''vms_prefix':[utils]xsubpp.com"""
+$ WRITE CONFIG "$ zipdetails == """ + perl_setup_perl + " ''vms_prefix':[utils]zipdetails.com"""
 $ CLOSE CONFIG
 $!
 $ echo  ""


Property changes on: vendor/perl/dist/configure.com
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/configure.gnu
===================================================================
--- vendor/perl/dist/configure.gnu	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/configure.gnu	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
 # The remaining of this leading shell comment may be removed if you
 # include this script in your own package.
 #
-# $Log: not supported by cvs2svn $
+# $Log: configure,v $
 # Revision 3.0.1.1  1995/07/25  14:16:21  ram
 # patch56: created
 #


Property changes on: vendor/perl/dist/configure.gnu
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/cop.h
===================================================================
--- vendor/perl/dist/cop.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cop.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -138,7 +138,7 @@
 	    PerlProc_longjmp(PL_top_env->je_buf, (v));		\
 	if ((v) == 2)						\
 	    PerlProc_exit(STATUS_EXIT);		                \
-	PerlIO_printf(PerlIO_stderr(), "panic: top_env\n");	\
+	PerlIO_printf(PerlIO_stderr(), "panic: top_env, v=%d\n", (int)v); \
 	PerlProc_exit(1);					\
     } STMT_END
 
@@ -387,7 +387,8 @@
     line_t      cop_line;       /* line # of this command */
     /* label for this construct is now stored in cop_hints_hash */
 #ifdef USE_ITHREADS
-    char *	cop_stashpv;	/* package line was compiled in */
+    PADOFFSET	cop_stashoff;	/* offset into PL_stashpad, for the
+				   package the line was compiled in */
     char *	cop_file;	/* file name the following line # is from */
 #else
     HV *	cop_stash;	/* package line was compiled in */
@@ -419,29 +420,16 @@
 				 ? GvSV(gv_fetchfile(CopFILE(c))) : NULL)
 #  define CopFILEAV(c)		(CopFILE(c) \
 				 ? GvAV(gv_fetchfile(CopFILE(c))) : NULL)
-#  ifdef DEBUGGING
-#    define CopFILEAVx(c)	(assert(CopFILE(c)), \
+#  define CopFILEAVx(c)		(assert_(CopFILE(c)) \
 				   GvAV(gv_fetchfile(CopFILE(c))))
-#  else
-#    define CopFILEAVx(c)	(GvAV(gv_fetchfile(CopFILE(c))))
-#  endif
-#  define CopSTASHPV(c)		((c)->cop_stashpv)
 
+#  define CopSTASH(c)           PL_stashpad[(c)->cop_stashoff]
+#  define CopSTASH_set(c,hv)	((c)->cop_stashoff = (hv)		\
+				    ? alloccopstash(hv)			\
+				    : 0)
 #  ifdef NETWARE
-#    define CopSTASHPV_set(c,pv)	((c)->cop_stashpv = ((pv) ? savepv(pv) : NULL))
-#  else
-#    define CopSTASHPV_set(c,pv)	((c)->cop_stashpv = savesharedpv(pv))
-#  endif
-
-#  define CopSTASH(c)		(CopSTASHPV(c) \
-				 ? gv_stashpv(CopSTASHPV(c),GV_ADD) : NULL)
-#  define CopSTASH_set(c,hv)	CopSTASHPV_set(c, (hv) ? HvNAME_get(hv) : NULL)
-#  define CopSTASH_eq(c,hv)	((hv) && stashpv_hvname_match(c,hv))
-#  ifdef NETWARE
-#    define CopSTASH_free(c) SAVECOPSTASH_FREE(c)
 #    define CopFILE_free(c) SAVECOPFILE_FREE(c)
 #  else
-#    define CopSTASH_free(c)	PerlMemShared_free(CopSTASHPV(c))
 #    define CopFILE_free(c)	(PerlMemShared_free(CopFILE(c)),(CopFILE(c) = NULL))
 #  endif
 #else
@@ -460,15 +448,15 @@
 				    ? SvPVX(GvSV(CopFILEGV(c))) : NULL)
 #  define CopSTASH(c)		((c)->cop_stash)
 #  define CopSTASH_set(c,hv)	((c)->cop_stash = (hv))
-#  define CopSTASHPV(c)		(CopSTASH(c) ? HvNAME_get(CopSTASH(c)) : NULL)
-   /* cop_stash is not refcounted */
-#  define CopSTASHPV_set(c,pv)	CopSTASH_set((c), gv_stashpv(pv,GV_ADD))
-#  define CopSTASH_eq(c,hv)	(CopSTASH(c) == (hv))
-#  define CopSTASH_free(c)	
 #  define CopFILE_free(c)	(SvREFCNT_dec(CopFILEGV(c)),(CopFILEGV(c) = NULL))
 
 #endif /* USE_ITHREADS */
 
+#define CopSTASHPV(c)		(CopSTASH(c) ? HvNAME_get(CopSTASH(c)) : NULL)
+   /* cop_stash is not refcounted */
+#define CopSTASHPV_set(c,pv)	CopSTASH_set((c), gv_stashpv(pv,GV_ADD))
+#define CopSTASH_eq(c,hv)	(CopSTASH(c) == (hv))
+
 #define CopHINTHASH_get(c)	((COPHH*)((c)->cop_hints_hash))
 #define CopHINTHASH_set(c,h)	((c)->cop_hints_hash = (h))
 
@@ -542,7 +530,9 @@
 #define cop_hints_2hv(cop, flags) \
     cophh_2hv(CopHINTHASH_get(cop), flags)
 
-#define CopLABEL(c)  Perl_fetch_cop_label(aTHX_ (c), NULL, NULL)
+#define CopLABEL(c)  Perl_cop_fetch_label(aTHX_ (c), NULL, NULL)
+#define CopLABEL_len(c,len)  Perl_cop_fetch_label(aTHX_ (c), len, NULL)
+#define CopLABEL_len_flags(c,len,flags)  Perl_cop_fetch_label(aTHX_ (c), len, flags)
 #define CopLABEL_alloc(pv)	((pv)?savepv(pv):NULL)
 
 #define CopSTASH_ne(c,hv)	(!CopSTASH_eq(c,hv))
@@ -554,31 +544,6 @@
 /* OutCopFILE() is CopFILE for output (caller, die, warn, etc.) */
 #define OutCopFILE(c) CopFILE(c)
 
-/* If $[ is non-zero, it's stored in cop_hints under the key "$[", and
-   HINT_ARYBASE is set to indicate this.
-   Setting it is inefficient due to the need to create 2 mortal SVs, but as
-   using $[ is highly discouraged, no sane Perl code will be using it.  */
-#define CopARYBASE_get(c)	\
-	((CopHINTS_get(c) & HINT_ARYBASE)				\
-	 ? SvIV(cop_hints_fetch_pvs((c), "$[", 0))			\
-	 : 0)
-#define CopARYBASE_set(c, b) STMT_START { \
-	if (b || ((c)->cop_hints & HINT_ARYBASE)) {			\
-	    (c)->cop_hints |= HINT_ARYBASE;				\
-	    if ((c) == &PL_compiling) {					\
-		SV *val = newSViv(b);					\
-		(void)hv_stores(GvHV(PL_hintgv), "$[", val);		\
-		mg_set(val);						\
-		PL_hints |= HINT_ARYBASE;				\
-	    } else {							\
-		CopHINTHASH_set((c),					\
-		    cophh_store_pvs(CopHINTHASH_get((c)), "$[",		\
-			sv_2mortal(newSViv(b)), 0));			\
-	    }								\
-	}								\
-    } STMT_END
-
-/* FIXME NATIVE_HINTS if this is changed from op_private (see perl.h)  */
 #define CopHINTS_get(c)		((c)->cop_hints + 0)
 #define CopHINTS_set(c, h)	STMT_START {				\
 				    (c)->cop_hints = (h);		\
@@ -616,7 +581,9 @@
  * decremented by LEAVESUB, the other by LEAVE. */
 
 #define PUSHSUB_BASE(cx)						\
-	ENTRY_PROBE(GvENAME(CvGV(cv)),		       			\
+	ENTRY_PROBE(CvNAMED(cv)						\
+			? HEK_KEY(CvNAME_HEK(cv))			\
+			: GvENAME(CvGV(cv)),	       			\
 		CopFILE((const COP *)CvSTART(cv)),			\
 		CopLINE((const COP *)CvSTART(cv)),			\
 		CopSTASHPV((const COP *)CvSTART(cv)));			\
@@ -631,11 +598,23 @@
 	    SAVEFREESV(cv);						\
 	}
 
+#define PUSHSUB_GET_LVALUE_MASK(func) \
+	/* If the context is indeterminate, then only the lvalue */	\
+	/* flags that the caller also has are applicable.        */	\
+	(								\
+	   (PL_op->op_flags & OPf_WANT)					\
+	       ? OPpENTERSUB_LVAL_MASK					\
+	       : !(PL_op->op_private & OPpENTERSUB_LVAL_MASK)		\
+	           ? 0 : (U8)func(aTHX)					\
+	)
 
 #define PUSHSUB(cx)							\
+    {									\
+	U8 phlags = PUSHSUB_GET_LVALUE_MASK(Perl_was_lvalue_sub);	\
 	PUSHSUB_BASE(cx)						\
 	cx->blk_u16 = PL_op->op_private &				\
-	                      (OPpLVAL_INTRO|OPpENTERSUB_INARGS);
+	                  (phlags|OPpDEREF);				\
+    }
 
 /* variant for use by OP_DBSTATE, where op_private holds hint bits */
 #define PUSHSUB_DB(cx)							\
@@ -648,6 +627,8 @@
 	cx->blk_format.gv = gv;						\
 	cx->blk_format.retop = (retop);					\
 	cx->blk_format.dfoutgv = PL_defoutgv;				\
+	if (!CvDEPTH(cv)) SvREFCNT_inc_simple_void_NN(cv);		\
+	CvDEPTH(cv)++;							\
 	SvREFCNT_inc_void(cx->blk_format.dfoutgv)
 
 #define POP_SAVEARRAY()						\
@@ -667,7 +648,9 @@
 
 #define POPSUB(cx,sv)							\
     STMT_START {							\
-	RETURN_PROBE(GvENAME(CvGV((const CV*)cx->blk_sub.cv)),		\
+	RETURN_PROBE(CvNAMED(cx->blk_sub.cv)				\
+			? HEK_KEY(CvNAME_HEK(cx->blk_sub.cv))		\
+			: GvENAME(CvGV(cx->blk_sub.cv)),		\
 		CopFILE((COP*)CvSTART((const CV*)cx->blk_sub.cv)),	\
 		CopLINE((COP*)CvSTART((const CV*)cx->blk_sub.cv)),	\
 		CopSTASHPV((COP*)CvSTART((const CV*)cx->blk_sub.cv)));	\
@@ -677,7 +660,7 @@
 	    /* abandon @_ if it got reified */				\
 	    if (AvREAL(cx->blk_sub.argarray)) {				\
 		const SSize_t fill = AvFILLp(cx->blk_sub.argarray);	\
-		SvREFCNT_dec(cx->blk_sub.argarray);			\
+		SvREFCNT_dec_NN(cx->blk_sub.argarray);			\
 		cx->blk_sub.argarray = newAV();				\
 		av_extend(cx->blk_sub.argarray, fill);			\
 		AvREIFY_only(cx->blk_sub.argarray);			\
@@ -694,13 +677,15 @@
 
 #define LEAVESUB(sv)							\
     STMT_START {							\
-	if (sv)								\
-	    SvREFCNT_dec(sv);						\
+	SvREFCNT_dec(sv);						\
     } STMT_END
 
 #define POPFORMAT(cx)							\
 	setdefout(cx->blk_format.dfoutgv);				\
-	SvREFCNT_dec(cx->blk_format.dfoutgv);
+	CvDEPTH(cx->blk_format.cv)--;					\
+	if (!CvDEPTH(cx->blk_format.cv))				\
+	    SvREFCNT_dec_NN(cx->blk_format.cv);				\
+	SvREFCNT_dec_NN(cx->blk_format.dfoutgv);
 
 /* eval context */
 struct block_eval {
@@ -738,6 +723,8 @@
 	PL_in_eval = CxOLD_IN_EVAL(cx);					\
 	optype = CxOLD_OP_TYPE(cx);					\
 	PL_eval_root = cx->blk_eval.old_eval_root;			\
+	if (cx->blk_eval.cur_text && SvSCREAM(cx->blk_eval.cur_text))	\
+	    SvREFCNT_dec_NN(cx->blk_eval.cur_text);			\
 	if (cx->blk_eval.old_namesv)					\
 	    sv_2mortal(cx->blk_eval.old_namesv);			\
     } STMT_END
@@ -782,6 +769,8 @@
 	 : (SV**)NULL)
 
 #define CxLABEL(c)	(0 + CopLABEL((c)->blk_oldcop))
+#define CxLABEL_len(c,len)	(0 + CopLABEL_len((c)->blk_oldcop, len))
+#define CxLABEL_len_flags(c,len,flags)	(0 + CopLABEL_len_flags((c)->blk_oldcop, len, flags))
 #define CxHASARGS(c)	(((c)->cx_type & CXp_HASARGS) == CXp_HASARGS)
 #define CxLVAL(c)	(0 + (c)->blk_u16)
 
@@ -801,8 +790,8 @@
 
 #define POPLOOP(cx)							\
 	if (CxTYPE(cx) == CXt_LOOP_LAZYSV) {				\
-	    SvREFCNT_dec(cx->blk_loop.state_u.lazysv.cur);		\
-	    SvREFCNT_dec(cx->blk_loop.state_u.lazysv.end);		\
+	    SvREFCNT_dec_NN(cx->blk_loop.state_u.lazysv.cur);		\
+	    SvREFCNT_dec_NN(cx->blk_loop.state_u.lazysv.end);		\
 	}								\
 	if (CxTYPE(cx) == CXt_LOOP_FOR)					\
 	    SvREFCNT_dec(cx->blk_loop.state_u.ary.ary);
@@ -986,6 +975,8 @@
 
 /* private flags for CXt_SUB and CXt_FORMAT */
 #define CXp_HASARGS	0x20
+#define CXp_SUB_RE	0x40    /* code called within regex, i.e. (?{}) */
+#define CXp_SUB_RE_FAKE	0x80    /* fake sub CX for (?{}) in current scope */
 
 /* private flags for CXt_EVAL */
 #define CXp_REAL	0x20	/* truly eval'', not a lookalike */
@@ -1066,6 +1057,7 @@
 				   Perl_magic_methcall().  */
 #define G_WRITING_TO_STDERR 1024 /* Perl_write_to_stderr() is calling
 				    Perl_magic_methcall().  */
+#define G_RE_REPARSING 0x800     /* compiling a run-time /(?{..})/ */
 
 /* flag bits for PL_in_eval */
 #define EVAL_NULL	0	/* not in an eval */
@@ -1073,6 +1065,7 @@
 #define EVAL_WARNONLY	2	/* used by yywarn() when calling yyerror() */
 #define EVAL_KEEPERR	4	/* set by Perl_call_sv if G_KEEPERR */
 #define EVAL_INREQUIRE	8	/* The code is being required. */
+#define EVAL_RE_REPARSING 0x10	/* eval_sv() called with G_RE_REPARSING */
 
 /* Support for switching (stack and block) contexts.
  * This ensures magic doesn't invalidate local stack and cx pointers.
@@ -1151,8 +1144,7 @@
 	    Perl_deb(aTHX_ "pop  STACKINFO %d at %s:%d\n",		\
 		         i, __FILE__, __LINE__);})			\
 	if (!prev) {							\
-	    PerlIO_printf(Perl_error_log, "panic: POPSTACK\n");		\
-	    my_exit(1);							\
+	    Perl_croak_popstack();					\
 	}								\
 	SWITCHSTACK(PL_curstack,prev->si_stack);			\
 	/* don't free prev here, free them all at the END{} */		\
@@ -1174,18 +1166,18 @@
 =head1 Multicall Functions
 
 =for apidoc Ams||dMULTICALL
-Declare local variables for a multicall. See L<perlcall/Lightweight Callbacks>.
+Declare local variables for a multicall. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
 
 =for apidoc Ams||PUSH_MULTICALL
 Opening bracket for a lightweight callback.
-See L<perlcall/Lightweight Callbacks>.
+See L<perlcall/LIGHTWEIGHT CALLBACKS>.
 
 =for apidoc Ams||MULTICALL
-Make a lightweight callback. See L<perlcall/Lightweight Callbacks>.
+Make a lightweight callback. See L<perlcall/LIGHTWEIGHT CALLBACKS>.
 
 =for apidoc Ams||POP_MULTICALL
 Closing bracket for a lightweight callback.
-See L<perlcall/Lightweight Callbacks>.
+See L<perlcall/LIGHTWEIGHT CALLBACKS>.
 
 =cut
 */
@@ -1199,18 +1191,26 @@
     U8 hasargs = 0		/* used by PUSHSUB */
 
 #define PUSH_MULTICALL(the_cv) \
+    PUSH_MULTICALL_FLAGS(the_cv, 0)
+
+/* Like PUSH_MULTICALL, but allows you to specify extra flags
+ * for the CX stack entry (this isn't part of the public API) */
+
+#define PUSH_MULTICALL_FLAGS(the_cv, flags) \
     STMT_START {							\
 	CV * const _nOnclAshIngNamE_ = the_cv;				\
 	CV * const cv = _nOnclAshIngNamE_;				\
-	AV * const padlist = CvPADLIST(cv);				\
+	PADLIST * const padlist = CvPADLIST(cv);			\
 	ENTER;								\
  	multicall_oldcatch = CATCH_GET;					\
 	SAVETMPS; SAVEVPTR(PL_op);					\
 	CATCH_SET(TRUE);						\
 	PUSHSTACKi(PERLSI_SORT);					\
-	PUSHBLOCK(cx, CXt_SUB|CXp_MULTICALL, PL_stack_sp);		\
+	PUSHBLOCK(cx, (CXt_SUB|CXp_MULTICALL|flags), PL_stack_sp);	\
 	PUSHSUB(cx);							\
-	if (++CvDEPTH(cv) >= 2) {					\
+        if (!(flags & CXp_SUB_RE_FAKE))                                 \
+            CvDEPTH(cv)++;						\
+	if (CvDEPTH(cv) >= 2) {						\
 	    PERL_STACK_OVERFLOW_CHECK();				\
 	    Perl_pad_push(aTHX_ padlist, CvDEPTH(cv));			\
 	}								\
@@ -1228,8 +1228,10 @@
 
 #define POP_MULTICALL \
     STMT_START {							\
-	if (! --CvDEPTH(multicall_cv))					\
-	    LEAVESUB(multicall_cv);					\
+	cx = &cxstack[cxstack_ix];					\
+        if (! ((CvDEPTH(multicall_cv) = cx->blk_sub.olddepth)) ) {	\
+		LEAVESUB(multicall_cv);					\
+	}								\
 	POPBLOCK(cx,PL_curpm);						\
 	POPSTACK;							\
 	CATCH_SET(multicall_oldcatch);					\
@@ -1237,12 +1239,38 @@
 	SPAGAIN;							\
     } STMT_END
 
+/* Change the CV of an already-pushed MULTICALL CxSUB block.
+ * (this isn't part of the public API) */
+
+#define CHANGE_MULTICALL_FLAGS(the_cv, flags) \
+    STMT_START {							\
+	CV * const _nOnclAshIngNamE_ = the_cv;				\
+	CV * const cv = _nOnclAshIngNamE_;				\
+	PADLIST * const padlist = CvPADLIST(cv);			\
+	cx = &cxstack[cxstack_ix];					\
+	assert(cx->cx_type & CXp_MULTICALL);				\
+	if (! ((CvDEPTH(multicall_cv) = cx->blk_sub.olddepth)) ) {	\
+		LEAVESUB(multicall_cv);					\
+	}								\
+	cx->cx_type = (CXt_SUB|CXp_MULTICALL|flags);                    \
+	PUSHSUB(cx);							\
+        if (!(flags & CXp_SUB_RE_FAKE))                                 \
+            CvDEPTH(cv)++;						\
+	if (CvDEPTH(cv) >= 2) {						\
+	    PERL_STACK_OVERFLOW_CHECK();				\
+	    Perl_pad_push(aTHX_ padlist, CvDEPTH(cv));			\
+	}								\
+	SAVECOMPPAD();							\
+	PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv));			\
+	multicall_cv = cv;						\
+	multicall_cop = CvSTART(cv);					\
+    } STMT_END
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/cop.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Extract/lib/Archive/Extract.pm
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/lib/Archive/Extract.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/lib/Archive/Extract.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package Archive::Extract;
+use if $] > 5.017, 'deprecate';
 
 use strict;
 
@@ -16,6 +17,9 @@
 ### solaris has silly /bin/tar output ###
 use constant ON_SOLARIS     => $^O eq 'solaris' ? 1 : 0;
 use constant ON_NETBSD      => $^O eq 'netbsd' ? 1 : 0;
+use constant ON_OPENBSD     => $^O eq 'openbsd' ? 1 : 0;
+use constant ON_FREEBSD     => $^O =~ m!^(free|midnight)bsd$! ? 1 : 0;
+use constant ON_LINUX       => $^O eq 'linux' ? 1 : 0;
 use constant FILE_EXISTS    => sub { -e $_[0] ? 1 : 0 };
 
 ### VMS may require quoting upper case command options
@@ -26,7 +30,7 @@
 
 ### we can't use this extraction method, because of missing
 ### modules/binaries:
-use constant METHOD_NA      => []; 
+use constant METHOD_NA      => [];
 
 ### If these are changed, update @TYPES and the new() POD
 use constant TGZ            => 'tgz';
@@ -40,11 +44,11 @@
 use constant XZ             => 'xz';
 use constant TXZ            => 'txz';
 
-use vars qw[$VERSION $PREFER_BIN $PROGRAMS $WARN $DEBUG 
+use vars qw[$VERSION $PREFER_BIN $PROGRAMS $WARN $DEBUG
             $_ALLOW_BIN $_ALLOW_PURE_PERL $_ALLOW_TAR_ITER
          ];
 
-$VERSION            = '0.48';
+$VERSION            = '0.68';
 $PREFER_BIN         = 0;
 $WARN               = 1;
 $DEBUG              = 0;
@@ -53,7 +57,7 @@
 $_ALLOW_TAR_ITER        = 1;    # try to use Archive::Tar->iter if available
 
 # same as all constants
-my @Types           = ( TGZ, TAR, GZ, ZIP, BZ2, TBZ, Z, LZMA, XZ, TXZ ); 
+my @Types           = ( TGZ, TAR, GZ, ZIP, BZ2, TBZ, Z, LZMA, XZ, TXZ );
 
 local $Params::Check::VERBOSE = $Params::Check::VERBOSE = 1;
 
@@ -113,9 +117,9 @@
 Archive::Extract is a generic archive extraction mechanism.
 
 It allows you to extract any archive file of the type .tar, .tar.gz,
-.gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma 
-without having to worry how it 
-does so, or use different interfaces for each type by using either 
+.gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma
+without having to worry how it
+does so, or use different interfaces for each type by using either
 perl modules, or commandline tools on your system.
 
 See the C<HOW IT WORKS> section further down for details.
@@ -125,13 +129,23 @@
 
 ### see what /bin/programs are available ###
 $PROGRAMS = {};
-for my $pgm (qw[tar unzip gzip bunzip2 uncompress unlzma unxz]) {
-    if ( $pgm eq 'unzip' and ON_NETBSD ) {
+CMD: for my $pgm (qw[tar unzip gzip bunzip2 uncompress unlzma unxz]) {
+    if ( $pgm eq 'unzip' and ( ON_NETBSD or ON_FREEBSD ) ) {
       local $IPC::Cmd::INSTANCES = 1;
-      my @possibles = can_run($pgm);
-      ($PROGRAMS->{$pgm}) = grep { m!/usr/pkg/! } can_run($pgm);
-      next;
+      ($PROGRAMS->{$pgm}) = grep { ON_NETBSD ? m!/usr/pkg/! : m!/usr/local! } can_run($pgm);
+      next CMD;
     }
+    if ( $pgm eq 'unzip' and ON_LINUX ) {
+      # Check if 'unzip' is busybox masquerading
+      local $IPC::Cmd::INSTANCES = 1;
+      my $opt = ON_VMS ? '"-Z"' : '-Z';
+      ($PROGRAMS->{$pgm}) = grep { scalar run(command=> [ $_, $opt, '-1' ]) } can_run($pgm);
+      next CMD;
+    }
+    if ( $pgm eq 'tar' and ON_OPENBSD || ON_SOLARIS ) {
+      # try gtar first
+      next CMD if $PROGRAMS->{$pgm} = can_run('gtar');
+    }
     $PROGRAMS->{$pgm} = can_run($pgm);
 }
 
@@ -160,7 +174,7 @@
     };
 
     ### build accessors ###
-    for my $method( keys %$tmpl, 
+    for my $method( keys %$tmpl,
                     qw[_extractor _gunzip_to files extract_path],
     ) {
         no strict 'refs';
@@ -244,7 +258,7 @@
     sub new {
         my $class   = shift;
         my %hash    = @_;
-        
+
         ### see above why we use subs here and generate the template;
         ### it's basically to not re-use arrayrefs
         my %utmpl   = map { $_ => $tmpl->{$_}->() } keys %$tmpl;
@@ -257,16 +271,16 @@
         ### figure out the type, if it wasn't already specified ###
         unless ( $parsed->{type} ) {
             $parsed->{type} =
-                $ar =~ /.+?\.(?:tar\.gz|tgz)$/i     ? TGZ   :
-                $ar =~ /.+?\.gz$/i                  ? GZ    :
-                $ar =~ /.+?\.tar$/i                 ? TAR   :
-                $ar =~ /.+?\.(zip|jar|par)$/i       ? ZIP   :
-                $ar =~ /.+?\.(?:tbz2?|tar\.bz2?)$/i ? TBZ   :
-                $ar =~ /.+?\.bz2$/i                 ? BZ2   :
-                $ar =~ /.+?\.Z$/                    ? Z     :
-                $ar =~ /.+?\.lzma$/                 ? LZMA  :
-                $ar =~ /.+?\.(?:txz|tar\.xz)$/i     ? TXZ   :
-                $ar =~ /.+?\.xz$/                   ? XZ    :
+                $ar =~ /.+?\.(?:tar\.gz|tgz)$/i         ? TGZ   :
+                $ar =~ /.+?\.gz$/i                      ? GZ    :
+                $ar =~ /.+?\.tar$/i                     ? TAR   :
+                $ar =~ /.+?\.(zip|jar|ear|war|par)$/i   ? ZIP   :
+                $ar =~ /.+?\.(?:tbz2?|tar\.bz2?)$/i     ? TBZ   :
+                $ar =~ /.+?\.bz2$/i                     ? BZ2   :
+                $ar =~ /.+?\.Z$/                        ? Z     :
+                $ar =~ /.+?\.lzma$/                     ? LZMA  :
+                $ar =~ /.+?\.(?:txz|tar\.xz)$/i         ? TXZ   :
+                $ar =~ /.+?\.xz$/                       ? XZ    :
                 '';
 
         }
@@ -273,7 +287,7 @@
 
         bless $parsed, $class;
 
-        ### don't know what type of file it is 
+        ### don't know what type of file it is
         ### XXX this *has* to be an object call, not a package call
         return $parsed->_error(loc("Cannot determine file type for '%1'",
                                 $parsed->{archive} )) unless $parsed->{type};
@@ -287,11 +301,11 @@
 the path of your choice as specified by the C<to> argument. Defaults to
 C<cwd()>.
 
-Since C<.gz> files never hold a directory, but only a single file; if 
-the C<to> argument is an existing directory, the file is extracted 
-there, with its C<.gz> suffix stripped. 
-If the C<to> argument is not an existing directory, the C<to> argument 
-is understood to be a filename, if the archive type is C<gz>. 
+Since C<.gz> files never hold a directory, but only a single file; if
+the C<to> argument is an existing directory, the file is extracted
+there, with its C<.gz> suffix stripped.
+If the C<to> argument is not an existing directory, the C<to> argument
+is understood to be a filename, if the archive type is C<gz>.
 In the case that you did not specify a C<to> argument, the output
 file will be the name of the archive file, stripped from its C<.gz>
 suffix, in the current working directory.
@@ -340,7 +354,7 @@
 
     check( $tmpl, \%hash ) or return;
 
-    ### so 'to' could be a file or a dir, depending on whether it's a .gz 
+    ### so 'to' could be a file or a dir, depending on whether it's a .gz
     ### file, or basically anything else.
     ### so, check that, then act accordingly.
     ### set an accessor specifically so _gunzip can know what file to extract
@@ -348,12 +362,12 @@
     my $dir;
     {   ### a foo.gz file
         if( $self->is_gz or $self->is_bz2 or $self->is_Z or $self->is_lzma or $self->is_xz ) {
-    
+
             my $cp = $self->archive; $cp =~ s/\.(?:gz|bz2?|Z|lzma|xz)$//i;
-        
+
             ### to is a dir?
             if ( -d $to ) {
-                $dir = $to; 
+                $dir = $to;
                 $self->_gunzip_to( basename($cp) );
 
             ### then it's a filename
@@ -394,7 +408,7 @@
         ### ../lib/Archive/Extract.pm line 742. (rt #19815)
         $self->files( [] );
 
-        ### find out the dispatch methods needed for this type of 
+        ### find out the dispatch methods needed for this type of
         ### archive. Do a $self->is_XXX to figure out the type, then
         ### get the hashref with bin + pure perl dispatchers.
         my ($map) = map { $Mapping->{$_} } grep { $self->$_ } keys %$Mapping;
@@ -403,7 +417,7 @@
         my @methods;
         push @methods, $map->{'pp'}  if $_ALLOW_PURE_PERL;
         push @methods, $map->{'bin'} if $_ALLOW_BIN;
-        
+
         ### reverse it if we prefer bin extractors
         @methods = reverse @methods if $PREFER_BIN;
 
@@ -410,23 +424,23 @@
         my($na, $fail);
         for my $method (@methods) {
             $self->debug( "# Extracting with ->$method\n" );
-        
+
             my $rv = $self->$method;
-            
+
             ### a positive extraction
             if( $rv and $rv ne METHOD_NA ) {
                 $self->debug( "# Extraction succeeded\n" );
                 $self->_extractor($method);
                 last;
-            
+
             ### method is not available
-            } elsif ( $rv and $rv eq METHOD_NA ) {               
+            } elsif ( $rv and $rv eq METHOD_NA ) {
                 $self->debug( "# Extraction method not available\n" );
-                $na++;                
+                $na++;
             } else {
                 $self->debug( "# Extraction method failed\n" );
                 $fail++;
-            }                
+            }
         }
 
         ### warn something went wrong if we didn't get an extractor
@@ -434,10 +448,10 @@
             my $diag = $fail ? loc("Extract failed due to errors") :
                        $na   ? loc("Extract failed; no extractors available") :
                        '';
-                       
+
             $self->_error($diag);
             $ok = 0;
-        }                   
+        }
     }
 
     ### and chdir back ###
@@ -566,7 +580,7 @@
 sub bin_unzip       { return $PROGRAMS->{'unzip'}   if $PROGRAMS->{'unzip'} }
 sub bin_tar         { return $PROGRAMS->{'tar'}     if $PROGRAMS->{'tar'}   }
 sub bin_bunzip2     { return $PROGRAMS->{'bunzip2'} if $PROGRAMS->{'bunzip2'} }
-sub bin_uncompress  { return $PROGRAMS->{'uncompress'} 
+sub bin_uncompress  { return $PROGRAMS->{'uncompress'}
                                                  if $PROGRAMS->{'uncompress'} }
 sub bin_unlzma      { return $PROGRAMS->{'unlzma'}  if $PROGRAMS->{'unlzma'} }
 sub bin_unxz        { return $PROGRAMS->{'unxz'}    if $PROGRAMS->{'unxz'} }
@@ -586,7 +600,7 @@
     ### no bunzip2? no old bunzip2 either :)
     return unless $self->bin_bunzip2;
 
-    ### if we can't run this, we can't be sure if it's too old or not    
+    ### if we can't run this, we can't be sure if it's too old or not
     ### XXX stupid stupid stupid bunzip2 doesn't understand --version
     ### is not a request to extract data:
     ### $ bunzip2 --version
@@ -597,7 +611,7 @@
     ### $ echo $?
     ### 1
     ### HATEFUL!
-    
+
     ### double hateful: bunzip2 --version also hangs if input is a pipe
     ### See #32370: Archive::Extract will hang if stdin is a pipe [+PATCH]
     ### So, we have to provide *another* argument which is a fake filename,
@@ -605,7 +619,7 @@
     ### *sigh*
     ### Even if the file exists, it won't clobber or change it.
     my $buffer;
-    scalar run( 
+    scalar run(
          command => [$self->bin_bunzip2, '--version', 'NoSuchFile'],
          verbose => 0,
          buffer  => \$buffer
@@ -613,7 +627,7 @@
 
     ### no output
     return unless $buffer;
-    
+
     my ($version) = $buffer =~ /version \s+ (\d+)/ix;
 
     return 1 if $version < 1;
@@ -636,19 +650,19 @@
 
         ### if this is gnu tar we are running, we need to use --force-local
         push @ExtraTarFlags, '--force-local' if `$cmd --version` =~ /gnu tar/i;
-    }        
+    }
 
 
     ### use /bin/tar to extract ###
     sub _untar_bin {
         my $self = shift;
-    
+
         ### check for /bin/tar ###
         ### check for /bin/gzip if we need it ###
         ### if any of the binaries are not available, return NA
-        {   my $diag =  not $self->bin_tar ? 
+        {   my $diag =  !$self->bin_tar ?
                             loc("No '%1' program found", '/bin/tar') :
-                        $self->is_tgz && !$self->bin_gzip ? 
+                        $self->is_tgz && !$self->bin_gzip ?
                             loc("No '%1' program found", '/bin/gzip') :
                         $self->is_tbz && !$self->bin_bunzip2 ?
                             loc("No '%1' program found", '/bin/bunzip2') :
@@ -655,54 +669,58 @@
                         $self->is_txz && !$self->bin_unxz ?
                             loc("No '%1' program found", '/bin/unxz') :
                         '';
-                        
+
             if( $diag ) {
                 $self->_error( $diag );
                 return METHOD_NA;
             }
-        }        
-    
+        }
+
         ### XXX figure out how to make IPC::Run do this in one call --
         ### currently i don't know how to get output of a command after a pipe
         ### trapped in a scalar. Mailed barries about this 5th of june 2004.
-    
+
         ### see what command we should run, based on whether
         ### it's a .tgz or .tar
-    
+
+        ### GNU tar can't handled VMS filespecs, but VMSTAR can handle Unix filespecs.
+        my $archive = $self->archive;
+        $archive = VMS::Filespec::unixify($archive) if ON_VMS;
+
         ### XXX solaris tar and bsdtar are having different outputs
         ### depending whether you run with -x or -t
         ### compensate for this insanity by running -t first, then -x
-        {    my $cmd = 
-                $self->is_tgz ? [$self->bin_gzip, '-cdf', $self->archive, '|', 
+        {    my $cmd =
+                $self->is_tgz ? [$self->bin_gzip, '-cdf', $archive, '|',
                                  $self->bin_tar, '-tf', '-'] :
-                $self->is_tbz ? [$self->bin_bunzip2, '-cd', $self->archive, '|',                             
+                $self->is_tbz ? [$self->bin_bunzip2, '-cd', $archive, '|',
                                  $self->bin_tar, '-tf', '-'] :
-                $self->is_txz ? [$self->bin_unxz, '-cd', $self->archive, '|',                             
+                $self->is_txz ? [$self->bin_unxz, '-cd', $archive, '|',
                                  $self->bin_tar, '-tf', '-'] :
-                [$self->bin_tar, @ExtraTarFlags, '-tf', $self->archive];
-    
-            ### run the command 
+                [$self->bin_tar, @ExtraTarFlags, '-tf', $archive];
+
+            ### run the command
             ### newer versions of 'tar' (1.21 and up) now print record size
-            ### to STDERR as well if v OR t is given (used to be both). This 
+            ### to STDERR as well if v OR t is given (used to be both). This
             ### is a 'feature' according to the changelog, so we must now only
             ### inspect STDOUT, otherwise, failures like these occur:
-            ### nntp.perl.org/group/perl.cpan.testers/2009/02/msg3230366.html
+            ### http://www.cpantesters.org/cpan/report/3230366
             my $buffer  = '';
             my @out     = run(  command => $cmd,
                                 buffer  => \$buffer,
                                 verbose => $DEBUG );
 
-            ### command was unsuccessful            
-            unless( $out[0] ) { 
+            ### command was unsuccessful
+            unless( $out[0] ) {
                 return $self->_error(loc(
                                 "Error listing contents of archive '%1': %2",
-                                $self->archive, $buffer ));
+                                $archive, $buffer ));
             }
-    
+
             ### no buffers available?
             if( !IPC::Cmd->can_capture_buffer and !$buffer ) {
-                $self->_error( $self->_no_buffer_files( $self->archive ) );
-            
+                $self->_error( $self->_no_buffer_files( $archive ) );
+
             } else {
                 ### if we're on solaris we /might/ be using /bin/tar, which has
                 ### a weird output format... we might also be using
@@ -715,27 +733,27 @@
                                                 \s+ [\d,.]+ \s bytes,
                                                 \s+ [\d,.]+ \s tape \s blocks
                                             |x ? $1 : $_);
-    
+
                         ### only STDOUT, see above. Sometimes, extra whitespace
                         ### is present, so make sure we only pick lines with
                         ### a length
-                        } grep { length } map { split $/, $_ } @{$out[3]};     
-    
+                        } grep { length } map { split $/, $_ } join '', @{$out[3]};
+
                 ### store the files that are in the archive ###
                 $self->files(\@files);
             }
         }
-    
+
         ### now actually extract it ###
-        {   my $cmd = 
-                $self->is_tgz ? [$self->bin_gzip, '-cdf', $self->archive, '|',
+        {   my $cmd =
+                $self->is_tgz ? [$self->bin_gzip, '-cdf', $archive, '|',
                                  $self->bin_tar, '-xf', '-'] :
-                $self->is_tbz ? [$self->bin_bunzip2, '-cd', $self->archive, '|',                             
+                $self->is_tbz ? [$self->bin_bunzip2, '-cd', $archive, '|',
                                  $self->bin_tar, '-xf', '-'] :
-                $self->is_txz ? [$self->bin_unxz, '-cd', $self->archive, '|',                             
+                $self->is_txz ? [$self->bin_unxz, '-cd', $archive, '|',
                                  $self->bin_tar, '-xf', '-'] :
-                [$self->bin_tar, @ExtraTarFlags, '-xf', $self->archive];
-    
+                [$self->bin_tar, @ExtraTarFlags, '-xf', $archive];
+
             my $buffer = '';
             unless( scalar run( command => $cmd,
                                 buffer  => \$buffer,
@@ -742,19 +760,19 @@
                                 verbose => $DEBUG )
             ) {
                 return $self->_error(loc("Error extracting archive '%1': %2",
-                                $self->archive, $buffer ));
+                                $archive, $buffer ));
             }
-    
+
             ### we might not have them, due to lack of buffers
             if( $self->files ) {
                 ### now that we've extracted, figure out where we extracted to
                 my $dir = $self->__get_extract_dir( $self->files );
-        
+
                 ### store the extraction dir ###
                 $self->extract_path( $dir );
             }
         }
-    
+
         ### we got here, no error happened
         return 1;
     }
@@ -773,7 +791,7 @@
     ### so users don't have to even think about this variable. If they
     ### do, they still get their set value outside of this call.
     local $Archive::Tar::WARN = $Archive::Tar::WARN;
-   
+
     ### we definitely need Archive::Tar, so load that first
     {   my $use_list = { 'Archive::Tar' => '0.0' };
 
@@ -782,7 +800,7 @@
             $self->_error(loc("You do not have '%1' installed - " .
                               "Please install it as soon as possible.",
                               'Archive::Tar'));
-    
+
             return METHOD_NA;
         }
     }
@@ -804,7 +822,7 @@
                 "You do not have '%1' installed - Please ".
                 "install it as soon as possible.", $which)
             );
-            
+
             return METHOD_NA;
         }
 
@@ -813,10 +831,10 @@
         unless( can_load( modules => $use_list ) ) {
             $self->_error(loc(
                 "You do not have '%1' installed - Please " .
-                "install it as soon as possible.", 
+                "install it as soon as possible.",
                 'IO::Uncompress::Bunzip2')
             );
-            
+
             return METHOD_NA;
         }
 
@@ -831,10 +849,10 @@
         unless( can_load( modules => $use_list ) ) {
             $self->_error(loc(
                 "You do not have '%1' installed - Please " .
-                "install it as soon as possible.", 
+                "install it as soon as possible.",
                 'IO::Uncompress::UnXz')
             );
-            
+
             return METHOD_NA;
         }
 
@@ -865,26 +883,26 @@
             my $next;
             unless ( $next = Archive::Tar->iter( @read ) ) {
                 return $self->_error(loc(
-                            "Unable to read '%1': %2", $self->archive, 
+                            "Unable to read '%1': %2", $self->archive,
                             $Archive::Tar::error));
             }
 
             while ( my $file = $next->() ) {
                 push @files, $file->full_path;
- 
+
                 $file->extract or return $self->_error(loc(
-                        "Unable to read '%1': %2", 
+                        "Unable to read '%1': %2",
                         $self->archive,
                         $Archive::Tar::error));
             }
-            
-        ### older version, read the archive into memory    
+
+        ### older version, read the archive into memory
         } else {
 
             my $tar = Archive::Tar->new();
 
             unless( $tar->read( @read ) ) {
-                return $self->_error(loc("Unable to read '%1': %2", 
+                return $self->_error(loc("Unable to read '%1': %2",
                             $self->archive, $Archive::Tar::error));
             }
 
@@ -900,7 +918,7 @@
             {   local $^W;  # quell 'splice() offset past end of array' warnings
                             # on older versions of A::T
 
-                ### older archive::tar always returns $self, return value 
+                ### older archive::tar always returns $self, return value
                 ### slightly fux0r3d because of it.
                 $tar->extract or return $self->_error(loc(
                         "Unable to extract '%1': %2",
@@ -1063,7 +1081,7 @@
     unless( $self->bin_unzip ) {
         $self->_error(loc("No '%1' program found", '/bin/unzip'));
         return METHOD_NA;
-    }        
+    }
 
     ### first, get the files.. it must be 2 different commands with 'unzip' :(
     {   ### on VMS, capital letter options have to be quoted. This is
@@ -1071,7 +1089,7 @@
         ### Subject: [patch at 31735]Archive Extract fix on VMS.
         my $opt = ON_VMS ? '"-Z"' : '-Z';
         my $cmd = [ $self->bin_unzip, $opt, '-1', $self->archive ];
-	
+
         my $buffer = '';
         unless( scalar run( command => $cmd,
                             verbose => $DEBUG,
@@ -1086,6 +1104,10 @@
             $self->_error( $self->_no_buffer_files( $self->archive ) );
 
         } else {
+            ### Annoyingly, pesky MSWin32 can either have 'native' tools
+            ### which have \r\n line endings or Cygwin-based tools which
+            ### have \n line endings. Jan Dubois suggested using this fix
+            local $/ = ON_WIN32 ? qr/\r?\n/ : "\n";
             $self->files( [split $/, $buffer] );
         }
     }
@@ -1120,7 +1142,7 @@
     unless( can_load( modules => $use_list ) ) {
         $self->_error(loc("You do not have '%1' installed - Please " .
                       "install it as soon as possible.", 'Archive::Zip'));
-        return METHOD_NA;                      
+        return METHOD_NA;
     }
 
     my $zip = Archive::Zip->new();
@@ -1130,8 +1152,8 @@
     }
 
     my @files;
-    
-    
+
+
     ### Address: #43278: Explicitly tell Archive::Zip where to put the files:
     ### "In my BackPAN indexing, Archive::Zip was extracting things
     ### in my script's directory instead of the current working directory.
@@ -1139,7 +1161,7 @@
     ### eventually calls File::Spec::Win32::rel2abs which on Windows might
     ### call Cwd::getdcwd. getdcwd returns the wrong directory in my
     ### case, even though I think I'm on the same drive.
-    ### 
+    ###
     ### To fix this, I pass the optional second argument to
     ### extractMember using the cwd from Archive::Extract." --bdfoy
 
@@ -1146,7 +1168,7 @@
     ## store cwd() before looping; calls to cwd() can be expensive, and
     ### it won't change during the loop
     my $extract_dir = cwd();
-    
+
     ### have to extract every member individually ###
     for my $member ($zip->members) {
         push @files, $member->{fileName};
@@ -1153,7 +1175,7 @@
 
         ### file to extract to, to avoid the above problem
         my $to = File::Spec->catfile( $extract_dir, $member->{fileName} );
-        
+
         unless( $zip->extractMember($member, $to) == &Archive::Zip::AZ_OK ) {
             return $self->_error(loc("Extraction of '%1' from '%2' failed",
                         $member->{fileName}, $self->archive ));
@@ -1185,28 +1207,28 @@
         ### which was the problem in bug #23999
         my $res = -d $files->[$pos]
                     ? File::Spec->catdir( $files->[$pos], '' )
-                    : File::Spec->catdir( dirname( $files->[$pos] ) ); 
+                    : File::Spec->catdir( dirname( $files->[$pos] ) );
 
         $$dir = $res;
     }
 
-    ### if the first and last dir don't match, make sure the 
+    ### if the first and last dir don't match, make sure the
     ### dirname is not set wrongly
     my $dir;
- 
+
     ### dirs are the same, so we know for sure what the extract dir is
     if( $dir1 eq $dir2 ) {
         $dir = $dir1;
-    
+
     ### dirs are different.. do they share the base dir?
     ### if so, use that, if not, fall back to '.'
     } else {
         my $base1 = [ File::Spec->splitdir( $dir1 ) ]->[0];
         my $base2 = [ File::Spec->splitdir( $dir2 ) ]->[0];
-        
-        $dir = File::Spec->rel2abs( $base1 eq $base2 ? $base1 : '.' ); 
-    }        
 
+        $dir = File::Spec->rel2abs( $base1 eq $base2 ? $base1 : '.' );
+    }
+
     return File::Spec->rel2abs( $dir );
 }
 
@@ -1223,12 +1245,12 @@
     unless( $self->bin_bunzip2 ) {
         $self->_error(loc("No '%1' program found", '/bin/bunzip2'));
         return METHOD_NA;
-    }        
+    }
 
     my $fh = FileHandle->new('>'. $self->_gunzip_to) or
         return $self->_error(loc("Could not open '%1' for writing: %2",
                             $self->_gunzip_to, $! ));
-    
+
     ### guard against broken bunzip2. See ->have_old_bunzip2()
     ### for details
     if( $self->have_old_bunzip2 and $self->archive !~ /\.bz2$/i ) {
@@ -1252,7 +1274,7 @@
     if( !IPC::Cmd->can_capture_buffer and !$buffer ) {
         $self->_error( $self->_no_buffer_content( $self->archive ) );
     }
-    
+
     $self->_print($fh, $buffer) if defined $buffer;
 
     close $fh;
@@ -1268,7 +1290,7 @@
 ### extractor..
 # sub _bunzip2_cz1 {
 #     my $self = shift;
-# 
+#
 #     my $use_list = { 'IO::Uncompress::Bunzip2' => '0.0' };
 #     unless( can_load( modules => $use_list ) ) {
 #         return $self->_error(loc("You do not have '%1' installed - Please " .
@@ -1275,24 +1297,24 @@
 #                         "install it as soon as possible.",
 #                         'IO::Uncompress::Bunzip2'));
 #     }
-# 
+#
 #     my $bz = IO::Uncompress::Bunzip2->new( $self->archive ) or
 #                 return $self->_error(loc("Unable to open '%1': %2",
 #                             $self->archive,
 #                             $IO::Uncompress::Bunzip2::Bunzip2Error));
-# 
+#
 #     my $fh = FileHandle->new('>'. $self->_gunzip_to) or
 #         return $self->_error(loc("Could not open '%1' for writing: %2",
 #                             $self->_gunzip_to, $! ));
-# 
+#
 #     my $buffer;
 #     $fh->print($buffer) while $bz->read($buffer) > 0;
 #     $fh->close;
-# 
+#
 #     ### set what files where extract, and where they went ###
 #     $self->files( [$self->_gunzip_to] );
 #     $self->extract_path( File::Spec->rel2abs(cwd()) );
-# 
+#
 #     return 1;
 # }
 
@@ -1304,7 +1326,7 @@
         $self->_error(loc("You do not have '%1' installed - Please " .
                           "install it as soon as possible.",
                           'IO::Uncompress::Bunzip2'));
-        return METHOD_NA;                          
+        return METHOD_NA;
     }
 
     IO::Uncompress::Bunzip2::bunzip2($self->archive => $self->_gunzip_to)
@@ -1373,7 +1395,7 @@
         $self->_error(loc("You do not have '%1' installed - Please " .
                           "install it as soon as possible.",
                           'IO::Uncompress::UnXz'));
-        return METHOD_NA;                          
+        return METHOD_NA;
     }
 
     IO::Uncompress::UnXz::unxz($self->archive => $self->_gunzip_to)
@@ -1402,7 +1424,7 @@
     unless( $self->bin_unlzma ) {
         $self->_error(loc("No '%1' program found", '/bin/unlzma'));
         return METHOD_NA;
-    }        
+    }
 
     my $fh = FileHandle->new('>'. $self->_gunzip_to) or
         return $self->_error(loc("Could not open '%1' for writing: %2",
@@ -1467,7 +1489,7 @@
     else {
         $self->_error(loc("You do not have '%1' or '%2' installed - Please " .
                     "install it as soon as possible.", 'Compress::unLZMA', 'IO::Uncompress::UnLzma'));
-        return METHOD_NA;                    
+        return METHOD_NA;
     }
 
     ### set what files where extract, and where they went ###
@@ -1499,7 +1521,7 @@
 
     push @{$self->_error_msg},      $error;
     push @{$self->_error_msg_long}, $lerror;
-    
+
     ### set $Archive::Extract::WARN to 0 to disable printing
     ### of errors
     if( $WARN ) {
@@ -1513,12 +1535,12 @@
     my $self = shift;
 
     ### make sure we have a fallback aref
-    my $aref = do { 
-        shift() 
-            ? $self->_error_msg_long 
-            : $self->_error_msg 
+    my $aref = do {
+        shift()
+            ? $self->_error_msg_long
+            : $self->_error_msg
     } || [];
-   
+
     return join $/, @$aref;
 }
 
@@ -1578,7 +1600,7 @@
 =head2 Supporting Very Large Files
 
 C<Archive::Extract> can use either pure perl modules or command line
-programs under the hood. Some of the pure perl modules (like 
+programs under the hood. Some of the pure perl modules (like
 C<Archive::Tar> and Compress::unLZMA) take the entire contents of the archive into memory,
 which may not be feasible on your system. Consider setting the global
 variable C<$Archive::Extract::PREFER_BIN> to C<1>, which will prefer
@@ -1588,7 +1610,7 @@
 
 =head2 Bunzip2 support of arbitrary extensions.
 
-Older versions of C</bin/bunzip2> do not support arbitrary file 
+Older versions of C</bin/bunzip2> do not support arbitrary file
 extensions and insist on a C<.bz2> suffix. Although we do our best
 to guard against this, if you experience a bunzip2 error, it may
 be related to this. For details, please see the C<have_old_bunzip2>
@@ -1639,7 +1661,7 @@
 =item Thread safety
 
 Currently, C<Archive::Extract> does a C<chdir> to the extraction dir before
-extraction, and a C<chdir> back again after. This is not necessarily 
+extraction, and a C<chdir> back again after. This is not necessarily
 thread safe. See C<rt.cpan.org> bug C<#45671> for details.
 
 =back
@@ -1646,7 +1668,7 @@
 
 =head1 BUG REPORTS
 
-Please report bugs or other issues to E<lt>bug-archive-extract at rt.cpan.org<gt>.
+Please report bugs or other issues to E<lt>bug-archive-extract at rt.cpan.orgE<gt>.
 
 =head1 AUTHOR
 
@@ -1654,7 +1676,7 @@
 
 =head1 COPYRIGHT
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/Archive-Extract/lib/Archive/Extract.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Extract/t/01_Archive-Extract.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/01_Archive-Extract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/01_Archive-Extract.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 BEGIN { mkdir 'out' unless -d 'out' };
 
 ### left behind, at least on Win32. See core patch #31904
-END   { rmtree('out') };        
+END   { rmtree('out') };
 
 use strict;
 use lib qw[../lib];
@@ -41,13 +41,13 @@
 use_ok($Class);
 
 ### debug will always be enabled on dev versions
-my $Debug   = (not $ENV{PERL_CORE} and 
+my $Debug   = (not $ENV{PERL_CORE} and
               ($ARGV[0] or $Archive::Extract::VERSION =~ /_/))
-                ? 1 
+                ? 1
                 : 0;
 
-my $Self    = File::Spec->rel2abs( 
-                    IS_WIN32 ? &Win32::GetShortPathName( cwd() ) : cwd() 
+my $Self    = File::Spec->rel2abs(
+                    IS_WIN32 ? &Win32::GetShortPathName( cwd() ) : cwd()
                 );
 my $SrcDir  = File::Spec->catdir( $Self,'src' );
 my $OutDir  = File::Spec->catdir( $Self,'out' );
@@ -104,12 +104,22 @@
                     modules     => [qw[Archive::Zip]],
                     method      => 'is_zip',
                     outfile     => 'a',
-                },                
+                },
+    'x.ear' => {    programs    => [qw[unzip]],
+                    modules     => [qw[Archive::Zip]],
+                    method      => 'is_zip',
+                    outfile     => 'a',
+                },
+    'x.war' => {    programs    => [qw[unzip]],
+                    modules     => [qw[Archive::Zip]],
+                    method      => 'is_zip',
+                    outfile     => 'a',
+                },
     'x.par' => {    programs    => [qw[unzip]],
                     modules     => [qw[Archive::Zip]],
                     method      => 'is_zip',
                     outfile     => 'a',
-                },                
+                },
     'x.lzma' => {   programs    => [qw[unlzma]],
                     modules     => [qw[Compress::unLZMA]],
                     method      => 'is_lzma',
@@ -134,7 +144,7 @@
                 },
     ### with a directory
     'y.tbz'     => {    programs    => [qw[bunzip2 tar]],
-                        modules     => [qw[Archive::Tar 
+                        modules     => [qw[Archive::Tar
                                            IO::Uncompress::Bunzip2]],
                         method      => 'is_tbz',
                         outfile     => 'z',
@@ -141,14 +151,14 @@
                         outdir      => 'y',
                     },
     'y.tar.bz2' => {    programs    => [qw[bunzip2 tar]],
-                        modules     => [qw[Archive::Tar 
+                        modules     => [qw[Archive::Tar
                                            IO::Uncompress::Bunzip2]],
                         method      => 'is_tbz',
                         outfile     => 'z',
                         outdir      => 'y'
-                    },    
+                    },
     'y.txz'     => {    programs    => [qw[unxz tar]],
-                        modules     => [qw[Archive::Tar 
+                        modules     => [qw[Archive::Tar
                                            IO::Uncompress::UnXz]],
                         method      => 'is_txz',
                         outfile     => 'z',
@@ -155,12 +165,12 @@
                         outdir      => 'y',
                     },
     'y.tar.xz'  => {    programs    => [qw[unxz tar]],
-                        modules     => [qw[Archive::Tar 
+                        modules     => [qw[Archive::Tar
                                            IO::Uncompress::UnXz]],
                         method      => 'is_txz',
                         outfile     => 'z',
                         outdir      => 'y'
-                    },    
+                    },
     'y.tgz'     => {    programs    => [qw[gzip tar]],
                         modules     => [qw[Archive::Tar IO::Zlib]],
                         method      => 'is_tgz',
@@ -197,6 +207,18 @@
                     outfile     => 'z',
                     outdir      => 'y'
                 },
+    'y.ear' => {    programs    => [qw[unzip]],
+                    modules     => [qw[Archive::Zip]],
+                    method      => 'is_zip',
+                    outfile     => 'z',
+                    outdir      => 'y'
+                },
+    'y.war' => {    programs    => [qw[unzip]],
+                    modules     => [qw[Archive::Zip]],
+                    method      => 'is_zip',
+                    outfile     => 'z',
+                    outdir      => 'y'
+              },
     ### with non-same top dir
     'double_dir.zip' => {
                     programs    => [qw[unzip]],
@@ -216,7 +238,7 @@
         delete $tmpl->{'y.tbz'};
         diag "Old bunzip2 detected, skipping .tbz test";
     }
-}    
+}
 
 ### show us the tools IPC::Cmd will use to run binary programs
 if( $Debug ) {
@@ -236,20 +258,20 @@
 
     my @types = $Class->$meth;
     ok( scalar(@types),         "   Got a list of types" );
-    
+
     for my $type ( @types ) {
         my $obj = $Class->new( archive => $Me, type => $type );
         ok( $obj,               "   Object created based on '$type'" );
         ok( !$obj->error,       "       No error logged" );
     }
-    
+
     ### test unknown type
     {   ### must turn on warnings to catch error here
         local $Archive::Extract::WARN = 1;
-        
+
         my $warnings;
         local $SIG{__WARN__} = sub { $warnings .= "@_" };
-        
+
         my $ae = $Class->new( archive => $Me );
         ok( !$ae,               "   No archive created based on '$Me'" );
         ok( !$Class->error,     "       Error not captured in class method" );
@@ -256,14 +278,14 @@
         ok( $warnings,          "       Error captured as warning" );
         like( $warnings, qr/Cannot determine file type for/,
                                 "           Error is: unknown file type" );
-    }                                
-}    
+    }
+}
 
 ### test multiple errors
 ### XXX whitebox test
 {   ### grab a random file from the template, so we can make an object
-    my $ae = Archive::Extract->new( 
-                archive =>  File::Spec->catfile($SrcDir,[keys %$tmpl]->[0]) 
+    my $ae = Archive::Extract->new(
+                archive =>  File::Spec->catfile($SrcDir,[keys %$tmpl]->[0])
              );
     ok( $ae,                    "Archive created" );
     ok( not($ae->error),        "   No errors yet" );
@@ -275,15 +297,15 @@
 
     my $err = $ae->error;
     ok( $err,                   "   Errors retrieved" );
-    
+
     my $expect = join $/, 1..5;
     is( $err, $expect,          "       As expected" );
 
     ### this resets the errors
-    ### override the 'check' routine to return false, so we bail out of 
+    ### override the 'check' routine to return false, so we bail out of
     ### extract() early and just run the error reset code;
     {   no warnings qw[once redefine];
-        local *Archive::Extract::check = sub { return }; 
+        local *Archive::Extract::check = sub { return };
         $ae->extract;
     }
     ok( not($ae->error),        "   Errors erased after ->extract() call" );
@@ -290,13 +312,13 @@
 }
 
 ### XXX whitebox test
-### test __get_extract_dir 
+### test __get_extract_dir
 SKIP: {   my $meth = '__get_extract_dir';
 
     ### get the right separator -- File::Spec does clean ups for
     ### paths, so we need to join ourselves.
     my $sep  = [ split '', File::Spec->catfile( 'a', 'b' ) ]->[1];
-    
+
     ### bug #23999: Attempt to generate Makefile.PL gone awry
     ### showed that dirs in the style of './dir/' were reported
     ### to be unpacked in '.' rather than in 'dir'. here we test
@@ -310,17 +332,17 @@
         ### build a list like [dir, dir/file] and [./dir ./dir/file]
         ### where the dir and file actually exist, which is important
         ### for the method call
-        my @files = map { length $prefix 
+        my @files = map { length $prefix
                                 ? join $sep, $prefix, $_
                                 : $_
                       } $dir, File::Spec->catfile( $dir, [keys %$tmpl]->[0] );
-        
+
         my $res = $Class->$meth( \@files );
         $res = &Win32::GetShortPathName( $res ) if IS_WIN32;
 
         ok( $res,               "Found extraction dir '$res'" );
         is( $res, $SrcDir,      "   Is expected dir '$SrcDir'" );
-    }        
+    }
 }
 
 ### configuration to run in: allow perl or allow binaries
@@ -329,7 +351,7 @@
 
     local $Archive::Extract::_ALLOW_PURE_PERL   = $switch->[0];
     local $Archive::Extract::_ALLOW_BIN         = $switch->[1];
-    
+
     diag("Running extract with configuration: $cfg") if $Debug;
 
     for my $archive (keys %$tmpl) {
@@ -348,8 +370,8 @@
         for my $tar_iter (@with_tar_iter) { SKIP: {
 
             ### Doesn't matter unless .tar, .tbz, .tgz, .txz
-            local $Archive::Extract::_ALLOW_TAR_ITER = $tar_iter; 
-        
+            local $Archive::Extract::_ALLOW_TAR_ITER = $tar_iter;
+
             diag("Archive::Tar->iter: $tar_iter") if $Debug;
 
             isa_ok( $ae, $Class );
@@ -356,12 +378,12 @@
 
             my $method = $tmpl->{$archive}->{method};
             ok( $ae->$method(),         "Archive type $method recognized properly" );
-        
+
             my $file        = $tmpl->{$archive}->{outfile};
             my $dir         = $tmpl->{$archive}->{outdir};  # can be undef
             my $rel_path    = File::Spec->catfile( grep { defined } $dir, $file );
             my $abs_path    = File::Spec->catfile( $OutDir, $rel_path );
-            my $abs_dir     = File::Spec->catdir( 
+            my $abs_dir     = File::Spec->catdir(
                                 grep { defined } $OutDir, $dir );
             my $nix_path    = File::Spec::Unix->catfile(
                                 grep { defined } $dir, $file );
@@ -390,7 +412,7 @@
             ### XXX test me!
             #my @outs = $ae->is_gz ? ($abs_path, $OutDir) : ($OutDir);
             my @outs = $ae->is_gz || $ae->is_bz2 || $ae->is_Z || $ae->is_lzma || $ae->is_xz
-                            ? ($abs_path) 
+                            ? ($abs_path)
                             : ($OutDir);
 
             ### 10 tests from here on down ###
@@ -397,8 +419,8 @@
             if( ($mod_fail && ($pgm_fail || !$Archive::Extract::_ALLOW_BIN))
                 ||
                 ($pgm_fail && ($mod_fail || !$Archive::Extract::_ALLOW_PURE_PERL))
-            ) {                
-                skip "No binaries or modules to extract ".$archive, 
+            ) {
+                skip "No binaries or modules to extract ".$archive,
                     (10 * scalar @outs);
             }
 
@@ -406,7 +428,7 @@
             ### be a problem...
             local $IPC::Cmd::WARN = 0;
             local $IPC::Cmd::WARN = 0;
-            
+
             for my $use_buffer ( IPC::Cmd->can_capture_buffer , 0 ) {
 
                 ### test buffers ###
@@ -426,13 +448,13 @@
 
                     diag("Extracting to: $to")                  if $Debug;
                     diag("Buffers enabled: ".!$turn_off)        if $Debug;
-      
+
                     my $rv = $ae->extract( to => $to );
-        
+
                     SKIP: {
                         my $re  = qr/^No buffer captured/;
                         my $err = $ae->error || '';
-                  
+
                         ### skip buffer tests if we dont have buffers or
                         ### explicitly turned them off
                         skip "No buffers available", 8
@@ -440,28 +462,28 @@
                                 && $err =~ $re;
 
                         ### skip tests if we dont have an extractor
-                        skip "No extractor available", 8 
+                        skip "No extractor available", 8
                             if $err =~ /Extract failed; no extractors available/;
-                            
+
                         ### win32 + bin utils is notorious, and none of them are
-                        ### officially supported by strawberry. So if we 
+                        ### officially supported by strawberry. So if we
                         ### encounter an error while extracting while running
                         ### with $PREFER_BIN on win32, just skip the tests.
                         ### See rt#46948: unable to install install on win32
                         ### for details on the pain
                         skip "Binary tools on Win32 are very unreliable", 8
-                            if $err and $Archive::Extract::_ALLOW_BIN 
+                            if $err and $Archive::Extract::_ALLOW_BIN
                                     and IS_WIN32;
-        
+
                         ok( $rv, "extract() for '$archive' reports success ($cfg)");
-        
+
                         diag("Extractor was: " . $ae->_extractor)   if $Debug;
-        
+
                         ### if we /should/ have buffers, there should be
                         ### no errors complaining we dont have them...
                         unlike( $err, $re,
                                         "No errors capturing buffers" );
-        
+
                         ### might be 1 or 2, depending whether we extracted
                         ### a dir too
                         my $files    = $ae->files || [];
@@ -468,7 +490,7 @@
                         my $file_cnt = grep { defined } $file, $dir;
                         is( scalar @$files, $file_cnt,
                                         "Found correct number of output files (@$files)" );
-                        
+
                         ### due to prototypes on is(), if there's no -1 index on
                         ### the array ref, it'll give a fatal exception:
                         ### "Modification of non-creatable array value attempted,
@@ -475,7 +497,7 @@
                         ### subscript -1 at -e line 1." So wrap it in do { }
                         is( do { $files->[-1] }, $nix_path,
                                         "Found correct output file '$nix_path'" );
-        
+
                         ok( -e $abs_path,
                                         "Output file '$abs_path' exists" );
                         ok( $ae->extract_path,
@@ -491,15 +513,15 @@
 
                         1 while unlink $abs_path;
                         ok( !(-e $abs_path), "Output file successfully removed" );
-            
+
                         SKIP: {
                             skip "No extract path captured, can't remove paths", 2
                                 unless $ae->extract_path;
-            
+
                             ### if something went wrong with determining the out
                             ### path, don't go deleting stuff.. might be Really Bad
                             my $out_re = quotemeta( $OutDir );
-                            
+
                             ### VMS directory layout is different. Craig Berry
                             ### explains:
                             ### the test is trying to determine if C</disk1/foo/bar>
@@ -507,22 +529,22 @@
                             ### syntax, that would mean trying to determine whether
                             ### C<disk1:[foo.bar]> is part of C<disk1:[foo.bar.baz]>
                             ### Because we have both a directory delimiter
-                            ### (dot) and a directory spec terminator (right 
-                            ### bracket), we have to trim the right bracket from 
+                            ### (dot) and a directory spec terminator (right
+                            ### bracket), we have to trim the right bracket from
                             ### the first one to make it successfully match the
                             ### second one.  Since we're asserting the same truth --
                             ### that one path spec is the leading part of the other
                             ### -- it seems to me ok to have this in the test only.
-                            ### 
+                            ###
                             ### so we strip the ']' of the back of the regex
-                            $out_re =~ s/\\\]// if IS_VMS; 
-                            
-                            if( $ae->extract_path !~ /^$out_re/ ) {   
-                                ok( 0, "Extractpath WRONG (".$ae->extract_path.")"); 
+                            $out_re =~ s/\\\]// if IS_VMS;
+
+                            if( $ae->extract_path !~ /^$out_re/ ) {
+                                ok( 0, "Extractpath WRONG (".$ae->extract_path.")");
                                 skip(  "Unsafe operation -- skip cleanup!!!" ), 1;
-                            }                    
-            
-                            eval { rmtree( $ae->extract_path ) }; 
+                            }
+
+                            eval { rmtree( $ae->extract_path ) };
                             ok( !$@,        "   rmtree gave no error" );
                             ok( !(-d $ae->extract_path ),
                                             "   Extract dir successfully removed" );


Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/01_Archive-Extract.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/double_dir.zip
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/double_dir.zip	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/double_dir.zip	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/double_dir.zip
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.bz2
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.bz2	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.bz2	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.bz2
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.gz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.jar
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.jar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.jar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.jar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.lzma
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.lzma	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.lzma	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.lzma
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.par
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.par	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.par	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.par
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.gz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.xz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.xz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.xz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.tar.xz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.tgz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.tgz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.tgz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.tgz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.txz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.txz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.txz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.txz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.xz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.xz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.xz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.xz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/x.zip
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/x.zip	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/x.zip	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/x.zip
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.jar
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.jar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.jar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.jar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.par
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.par	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.par	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.par
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.bz2
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.bz2	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.bz2	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.bz2
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.gz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.xz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.xz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.xz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tar.xz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tbz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.tbz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.tbz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tbz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tgz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.tgz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.tgz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.tgz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.txz
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.txz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.txz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.txz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Extract/t/src/y.zip
===================================================================
--- vendor/perl/dist/cpan/Archive-Extract/t/src/y.zip	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Extract/t/src/y.zip	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Extract/t/src/y.zip
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/bin/ptar
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/bin/ptar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/bin/ptar	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,8 +6,13 @@
 use Archive::Tar;
 use Data::Dumper;
 
+# Allow historic support for dashless bundled options
+#  tar cvf file.tar
+# is valid (GNU) tar style
+ at ARGV && $ARGV[0] =~ m/^[DdcvzthxIC]+[fT]?$/ and
+    unshift @ARGV, map { "-$_" } split m// => shift @ARGV;
 my $opts = {};
-getopts('Ddcvzthxf:IC', $opts) or die usage();
+getopts('Ddcvzthxf:ICT:', $opts) or die usage();
 
 ### show the help message ###
 die usage() if $opts->{h};
@@ -28,11 +33,21 @@
 my $file        = $opts->{f} ? $opts->{f} : 'default.tar';
 my $tar         = Archive::Tar->new();
 
-
 if( $opts->{c} ) {
     my @files;
+    my @src = @ARGV;
+    if( $opts->{T} ) {
+      if( $opts->{T} eq "-" ) {
+        chomp( @src = <STDIN> );
+	} elsif( open my $fh, "<", $opts->{T} ) {
+	    chomp( @src = <$fh> );
+	} else {
+	    die "$0: $opts->{T}: $!\n";
+	}
+    }
+
     find( sub { push @files, $File::Find::name;
-                print $File::Find::name.$/ if $verbose }, @ARGV );
+                print $File::Find::name.$/ if $verbose }, @src );
 
     if ($file eq '-') {
         use IO::Handle;
@@ -59,13 +74,13 @@
     my $print = $verbose || $opts->{'t'} || 0;
 
     my $iter = Archive::Tar->iter( $file );
-        
+
     while( my $f = $iter->() ) {
         print $f->full_path . $/ if $print;
 
         ### data dumper output
         print Dumper( $f ) if $opts->{'D'};
-        
+
         ### extract it
         $f->extract if $opts->{'x'};
     }
@@ -88,6 +103,7 @@
 =head1 SYNOPSIS
 
     ptar -c [-v] [-z] [-C] [-f ARCHIVE_FILE | -] FILE FILE ...
+    ptar -c [-v] [-z] [-C] [-T index | -] [-f ARCHIVE_FILE | -]
     ptar -x [-v] [-z] [-f ARCHIVE_FILE | -]
     ptar -t [-z] [-f ARCHIVE_FILE | -]
     ptar -h
@@ -102,6 +118,7 @@
     v   Print filenames as they are added or extracted from ARCHIVE_FILE
     h   Prints this help message
     C   CPAN mode - drop 022 from permissions
+    T   get names to create from file
 
 =head1 SEE ALSO
 
@@ -112,10 +129,10 @@
     ### strip the pod directives
     $usage =~ s/=pod\n//g;
     $usage =~ s/=head1 //g;
-    
+
     ### add some newlines
     $usage .= $/.$/;
-    
+
     return $usage;
 }
 


Property changes on: vendor/perl/dist/cpan/Archive-Tar/bin/ptar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/bin/ptardiff
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/bin/ptardiff	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/bin/ptardiff	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,12 +21,12 @@
 foreach my $file ( $tar->get_files ) {
     next unless $file->is_file;
     my $name = $file->name;
-    
-    diff(   \($file->get_content), $name, 
+
+    diff(   \($file->get_content), $name,
             {   FILENAME_A  => $name,
                 MTIME_A     => $file->mtime,
                 OUTPUT      => \*STDOUT
-            } 
+            }
     );
 }
 
@@ -38,18 +38,18 @@
 
 Usage:  ptardiff ARCHIVE_FILE
         ptardiff -h
-    
+
     ptardiff is a small program that diffs an extracted archive
     against an unextracted one, using the perl module Archive::Tar.
-    
-    This effectively lets you view changes made to an archives contents. 
-    
+
+    This effectively lets you view changes made to an archives contents.
+
     Provide the progam with an ARCHIVE_FILE and it will look up all
     the files with in the archive, scan the current working directory
     for a file with the name and diff it against the contents of the
     archive.
 
-    
+
 Options:
     h   Prints this help message
 
@@ -56,9 +56,9 @@
 
 Sample Usage:
 
-    $ tar -xzf Acme-Buffy-1.3.tar.gz 
+    $ tar -xzf Acme-Buffy-1.3.tar.gz
     $ vi Acme-Buffy-1.3/README
-    
+
     [...]
 
     $ ptardiff Acme-Buffy-1.3.tar.gz > README.patch
@@ -70,7 +70,7 @@
     Archive::Tar
 
     ] . $/;
-}    
+}
 
 
 
@@ -82,9 +82,9 @@
 
     ptardiff is a small program that diffs an extracted archive
     against an unextracted one, using the perl module Archive::Tar.
-    
-    This effectively lets you view changes made to an archives contents. 
-    
+
+    This effectively lets you view changes made to an archives contents.
+
     Provide the progam with an ARCHIVE_FILE and it will look up all
     the files with in the archive, scan the current working directory
     for a file with the name and diff it against the contents of the
@@ -95,7 +95,7 @@
     ptardiff ARCHIVE_FILE
     ptardiff -h
 
-    $ tar -xzf Acme-Buffy-1.3.tar.gz 
+    $ tar -xzf Acme-Buffy-1.3.tar.gz
     $ vi Acme-Buffy-1.3/README
     [...]
     $ ptardiff Acme-Buffy-1.3.tar.gz > README.patch


Property changes on: vendor/perl/dist/cpan/Archive-Tar/bin/ptardiff
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/bin/ptargrep
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/bin/ptargrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/bin/ptargrep	2013-12-01 21:45:02 UTC (rev 6430)
@@ -180,7 +180,7 @@
 Copyright 2010 Grant McLean E<lt>grantm at cpan.orgE<gt>
 
 This program is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself. 
+under the same terms as Perl itself.
 
 =cut
 


Property changes on: vendor/perl/dist/cpan/Archive-Tar/bin/ptargrep
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,8 +2,8 @@
 
 BEGIN {
     require Exporter;
-    
-    $VERSION    = '1.76';
+
+    $VERSION    = '1.90';
     @ISA        = qw[Exporter];
 
     require Time::Local if $^O eq "MacOS";
@@ -51,12 +51,12 @@
 use constant STRIP_MODE     => sub { shift() & 0777 };
 use constant CHECK_SUM      => "      ";
 
-use constant UNPACK         => 'A100 A8 A8 A8 A12 A12 A8 A1 A100 A6 A2 A32 A32 A8 A8 A155 x12';
+use constant UNPACK         => 'A100 A8 A8 A8 a12 A12 A8 A1 A100 A6 A2 A32 A32 A8 A8 A155 x12';	# cdrake - size must be a12 - not A12 - or else screws up huge file sizes (>8gb)
 use constant PACK           => 'a100 a8 a8 a8 a12 a12 A8 a1 a100 a6 a2 a32 a32 a8 a8 a155 x12';
 use constant NAME_LENGTH    => 100;
 use constant PREFIX_LENGTH  => 155;
 
-use constant TIME_OFFSET    => ($^O eq "MacOS") ? Time::Local::timelocal(0,0,0,1,0,70) : 0;    
+use constant TIME_OFFSET    => ($^O eq "MacOS") ? Time::Local::timelocal(0,0,0,1,0,70) : 0;
 use constant MAGIC          => "ustar";
 use constant TAR_VERSION    => "00";
 use constant LONGLINK_NAME  => '././@LongLink';
@@ -65,14 +65,14 @@
                             ### allow ZLIB to be turned off using ENV: DEBUG only
 use constant ZLIB           => do { !$ENV{'PERL5_AT_NO_ZLIB'} and
                                         eval { require IO::Zlib };
-                                    $ENV{'PERL5_AT_NO_ZLIB'} || $@ ? 0 : 1 
+                                    $ENV{'PERL5_AT_NO_ZLIB'} || $@ ? 0 : 1
                                 };
 
-                            ### allow BZIP to be turned off using ENV: DEBUG only                                
+                            ### allow BZIP to be turned off using ENV: DEBUG only
 use constant BZIP           => do { !$ENV{'PERL5_AT_NO_BZIP'} and
                                         eval { require IO::Uncompress::Bunzip2;
                                                require IO::Compress::Bzip2; };
-                                    $ENV{'PERL5_AT_NO_BZIP'} || $@ ? 0 : 1 
+                                    $ENV{'PERL5_AT_NO_BZIP'} || $@ ? 0 : 1
                                 };
 
 use constant GZIP_MAGIC_NUM => qr/^(?:\037\213|\037\235)/;
@@ -81,6 +81,6 @@
 use constant CAN_CHOWN      => sub { ($> == 0 and $^O ne "MacOS" and $^O ne "MSWin32") };
 use constant CAN_READLINK   => ($^O ne 'MSWin32' and $^O !~ /RISC(?:[ _])?OS/i and $^O ne 'VMS');
 use constant ON_UNIX        => ($^O ne 'MSWin32' and $^O ne 'MacOS' and $^O ne 'VMS');
-use constant ON_VMS         => $^O eq 'VMS'; 
+use constant ON_VMS         => $^O eq 'VMS';
 
 1;


Property changes on: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/Constant.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,26 +13,27 @@
 
 use vars qw[@ISA $VERSION];
 #@ISA        = qw[Archive::Tar];
-$VERSION    = '1.76';
+$VERSION    = '1.90';
 
 ### set value to 1 to oct() it during the unpack ###
+
 my $tmpl = [
-        name        => 0,   # string
-        mode        => 1,   # octal
-        uid         => 1,   # octal
-        gid         => 1,   # octal
-        size        => 1,   # octal
-        mtime       => 1,   # octal
-        chksum      => 1,   # octal
-        type        => 0,   # character
-        linkname    => 0,   # string
-        magic       => 0,   # string
-        version     => 0,   # 2 bytes
-        uname       => 0,   # string
-        gname       => 0,   # string
-        devmajor    => 1,   # octal
-        devminor    => 1,   # octal
-        prefix      => 0,
+        name        => 0,   # string					A100
+        mode        => 1,   # octal					A8
+        uid         => 1,   # octal					A8
+        gid         => 1,   # octal					A8
+        size        => 0,   # octal	# cdrake - not *always* octal..	A12
+        mtime       => 1,   # octal					A12
+        chksum      => 1,   # octal					A8
+        type        => 0,   # character					A1
+        linkname    => 0,   # string					A100
+        magic       => 0,   # string					A6
+        version     => 0,   # 2 bytes					A2
+        uname       => 0,   # string					A32
+        gname       => 0,   # string					A32
+        devmajor    => 1,   # octal					A8
+        devminor    => 1,   # octal					A8
+        prefix      => 0,	#					A155 x 12
 
 ### end UNPACK items ###
         raw         => 0,   # the raw data chunk
@@ -214,9 +215,21 @@
     ### makes it start at 0 actually... :) ###
     my $i = -1;
     my %entry = map {
-        $tmpl->[++$i] => $tmpl->[++$i] ? oct $_ : $_
-    } map { /^([^\0]*)/ } unpack( UNPACK, $chunk );
+	my ($s,$v)=($tmpl->[++$i],$tmpl->[++$i]);	# cdrake
+	($_)=($_=~/^([^\0]*)/) unless($s eq 'size');	# cdrake
+	$s=> $v ? oct $_ : $_				# cdrake
+	# $tmpl->[++$i] => $tmpl->[++$i] ? oct $_ : $_	# removed by cdrake - mucks up binary sizes >8gb
+    } unpack( UNPACK, $chunk );				# cdrake
+    # } map { /^([^\0]*)/ } unpack( UNPACK, $chunk );	# old - replaced now by cdrake
 
+
+    if(substr($entry{'size'}, 0, 1) eq "\x80") {	# binary size extension for files >8gigs (> octal 77777777777777)	# cdrake
+      my @sz=unpack("aCSNN",$entry{'size'}); $entry{'size'}=$sz[4]+(2**32)*$sz[3]+$sz[2]*(2**64);	# Use the low 80 bits (should use the upper 15 as well, but as at year 2011, that seems unlikley to ever be needed - the numbers are just too big...) # cdrake
+    } else {	# cdrake
+      ($entry{'size'})=($entry{'size'}=~/^([^\0]*)/); $entry{'size'}=oct $entry{'size'};	# cdrake
+    }	# cdrake
+
+
     my $obj = bless { %entry, %args }, $class;
 
 	### magic is a filetype string.. it should have something like 'ustar' or
@@ -236,23 +249,23 @@
 
 sub _new_from_file {
     my $class       = shift;
-    my $path        = shift;        
-    
+    my $path        = shift;
+
     ### path has to at least exist
     return unless defined $path;
-    
+
     my $type        = __PACKAGE__->_filetype($path);
     my $data        = '';
 
-    READ: { 
+    READ: {
         unless ($type == DIR ) {
             my $fh = IO::File->new;
-        
+
             unless( $fh->open($path) ) {
                 ### dangling symlinks are fine, stop reading but continue
                 ### creating the object
                 last READ if $type == SYMLINK;
-                
+
                 ### otherwise, return from this function --
                 ### anything that's *not* a symlink should be
                 ### resolvable
@@ -405,7 +418,7 @@
 sub _filetype {
     my $self = shift;
     my $file = shift;
-    
+
     return unless defined $file;
 
     return SYMLINK  if (-l $file);	# Symlink
@@ -442,7 +455,7 @@
 
 =head2 $bool = $file->extract( [ $alternative_name ] )
 
-Extract this object, optionally to an alternative name. 
+Extract this object, optionally to an alternative name.
 
 See C<< Archive::Tar->extract_file >> for details.
 
@@ -452,9 +465,9 @@
 
 sub extract {
     my $self = shift;
-    
+
     local $Carp::CarpLevel += 1;
-    
+
     return Archive::Tar->_extract_file( $self, @_ );
 }
 
@@ -576,7 +589,7 @@
 sub rename {
     my $self = shift;
     my $path = shift;
-    
+
     return unless defined $path;
 
     my ($prefix,$file) = $self->_prefix_and_file( $path );
@@ -587,6 +600,48 @@
 	return 1;
 }
 
+=head2 $bool = $file->chmod $mode)
+
+Change mode of $file to $mode. The mode can be a string or a number
+which is interpreted as octal whether or not a leading 0 is given.
+
+Returns true on success and false on failure.
+
+=cut
+
+sub chmod {
+    my $self  = shift;
+    my $mode = shift; return unless defined $mode && $mode =~ /^[0-7]{1,4}$/;
+    $self->{mode} = oct($mode);
+    return 1;
+}
+
+=head2 $bool = $file->chown( $user [, $group])
+
+Change owner of $file to $user. If a $group is given that is changed
+as well. You can also pass a single parameter with a colon separating the
+use and group as in 'root:wheel'.
+
+Returns true on success and false on failure.
+
+=cut
+
+sub chown {
+    my $self = shift;
+    my $uname = shift;
+    return unless defined $uname;
+    my $gname;
+    if (-1 != index($uname, ':')) {
+	($uname, $gname) = split(/:/, $uname);
+    } else {
+	$gname = shift if @_ > 0;
+    }
+
+    $self->uname( $uname );
+    $self->gname( $gname ) if $gname;
+	return 1;
+}
+
 =head1 Convenience methods
 
 To quickly check the type of a C<Archive::Tar::File> object, you can


Property changes on: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,7 +31,7 @@
 $DEBUG                  = 0;
 $WARN                   = 1;
 $FOLLOW_SYMLINK         = 0;
-$VERSION                = "1.76";
+$VERSION                = "1.90";
 $CHOWN                  = 1;
 $CHMOD                  = 1;
 $SAME_PERMISSIONS       = $> == 0 ? 1 : 0;
@@ -68,6 +68,9 @@
     $tar->add_data('file/baz.txt', 'This is the contents now');
 
     $tar->rename('oldname', 'new/file/name');
+    $tar->chown('/', 'root');
+    $tar->chown('/', 'root:root');
+    $tar->chmod('/tmp', '1777');
 
     $tar->write('files.tar');                   # plain tar
     $tar->write('files.tgz', COMPRESS_GZIP);    # gzip compressed
@@ -168,6 +171,14 @@
 Can be set to a regular expression.  Only files with names that match
 the expression will be read.
 
+=item md5
+
+Set to 1 and the md5sum of files will be returned (instead of file data)
+    my $iter = Archive::Tar->iter( $file,  1, {md5 => 1} );
+    while( my $f = $iter->() ) {
+        print $f->data . "\t" . $f->full_path . $/;
+    }
+
 =item extract
 
 If set to true, immediately extract entries when reading them. This
@@ -306,6 +317,7 @@
 
     my $count   = $opts->{limit}    || 0;
     my $filter  = $opts->{filter};
+    my $md5  = $opts->{md5} || 0;	# cdrake
     my $filter_cb = $opts->{filter_cb};
     my $extract = $opts->{extract}  || 0;
 
@@ -323,8 +335,15 @@
     LOOP:
     while( $handle->read( $chunk, HEAD ) ) {
         ### IO::Zlib doesn't support this yet
-        my $offset = eval { tell $handle } || 'unknown';
-        $@ = '';
+        my $offset;
+        if ( ref($handle) ne 'IO::Zlib' ) {
+            local $@;
+            $offset = eval { tell $handle } || 'unknown';
+            $@ = '';
+        }
+        else {
+            $offset = 'unknown';
+        }
 
         unless( $read++ ) {
             my $gzip = GZIP_MAGIC_NUM;
@@ -332,7 +351,7 @@
                 $self->_error( qq[Cannot read compressed format in tar-mode] );
                 return;
             }
-            
+
             ### size is < HEAD, which means a corrupted file, as the minimum
             ### length is _at least_ HEAD
             if (length $chunk != HEAD) {
@@ -399,8 +418,14 @@
             $data = $entry->get_content_by_ref;
 
 	    my $skip = 0;
+	    my $ctx;			# cdrake
 	    ### skip this entry if we're filtering
-	    if ($filter && $entry->name !~ $filter) {
+
+	    if($md5) {			# cdrake
+	      $ctx = Digest::MD5->new;	# cdrake
+	        $skip=5;		# cdrake
+
+	    } elsif ($filter && $entry->name !~ $filter) {
 		$skip = 1;
 
 	    ### skip this entry if it's a pax header. This is a special file added
@@ -415,11 +440,12 @@
 	    if ($skip) {
 		#
 		# Since we're skipping, do not allocate memory for the
-		# whole file.  Read it 64 BLOCKS at a time.  Do not 
+		# whole file.  Read it 64 BLOCKS at a time.  Do not
 		# complete the skip yet because maybe what we read is a
 		# longlink and it won't get skipped after all
 		#
 		my $amt = $block;
+		my $fsz=$entry->size;	# cdrake
 		while ($amt > 0) {
 		    $$data = '';
 		    my $this = 64 * BLOCK;
@@ -430,9 +456,11 @@
 			next LOOP;
 		    }
 		    $amt -= $this;
+		    $fsz -= $this;	# cdrake
+		substr ($$data, $fsz) = "" if ($fsz<0);	# remove external junk prior to md5	# cdrake
+		$ctx->add($$data) if($skip==5);	# cdrake
 		}
-		### throw away trailing garbage ###
-		substr ($$data, $entry->size) = "" if defined $$data && $block < 64 * BLOCK;
+		$$data = $ctx->hexdigest if($skip==5 && !$entry->is_longlink && !$entry->is_unknown && !$entry->is_label ) ;	# cdrake
             } else {
 
 		### just read everything into memory
@@ -846,7 +874,7 @@
             $self->_error( qq[Could not update timestamp] );
     }
 
-    if( $CHOWN && CAN_CHOWN->() ) {
+    if( $CHOWN && CAN_CHOWN->() and not -l $full ) {
         chown $entry->uid, $entry->gid, $full or
             $self->_error( qq[Could not set uid/gid on '$full'] );
     }
@@ -1082,6 +1110,45 @@
     return $entry->rename( $new );
 }
 
+=head2 $tar->chmod( $file, $mode )
+
+Change mode of $file to $mode.
+
+Returns true on success and false on failure.
+
+=cut
+
+sub chmod {
+    my $self = shift;
+    my $file = shift; return unless defined $file;
+    my $mode = shift; return unless defined $mode && $mode =~ /^[0-7]{1,4}$/;
+    my @args = ("$mode");
+
+    my $entry = $self->_find_entry( $file ) or return;
+    my $x = $entry->chmod( @args );
+    return $x;
+}
+
+=head2 $tar->chown( $file, $uname [, $gname] )
+
+Change owner $file to $uname and $gname.
+
+Returns true on success and false on failure.
+
+=cut
+
+sub chown {
+    my $self = shift;
+    my $file = shift; return unless defined $file;
+    my $uname  = shift; return unless defined $uname;
+    my @args   = ($uname);
+    push(@args, shift);
+
+    my $entry = $self->_find_entry( $file ) or return;
+    my $x = $entry->chown( @args );
+    return $x;
+}
+
 =head2 $tar->remove (@filenamelist)
 
 Removes any entries with names matching any of the given filenames
@@ -1391,6 +1458,12 @@
             next;
         }
 
+        eval {
+            if( utf8::is_utf8( $file )) {
+              utf8::encode( $file );
+            }
+        };
+
         unless( -e $file || -l $file ) {
             $self->_error( qq[No such file: '$file'] );
             next;
@@ -1422,8 +1495,8 @@
 devmajor, devminor, prefix, type.  (On MacOS, the file's path and
 modification times are converted to Unix equivalents.)
 
-Valid values for the file type are the following constants defined in
-Archive::Tar::Constants:
+Valid values for the file type are the following constants defined by
+Archive::Tar::Constant:
 
 =over 4
 
@@ -1645,7 +1718,7 @@
 sub iter {
     my $class       = shift;
     my $filename    = shift or return;
-    my $compressed  = shift or 0;
+    my $compressed  = shift || 0;
     my $opts        = shift || {};
 
     ### get a handle to read from.
@@ -1683,7 +1756,7 @@
 argument it returns a list of hash references containing the requested
 properties of each file.  The following list of properties is
 supported: full_path, name, size, mtime (last modified date), mode,
-uid, gid, linkname, uname, gname, devmajor, devminor, prefix.
+uid, gid, linkname, uname, gname, devmajor, devminor, prefix, type.
 
 See C<Archive::Tar::File> for details about supported properties.
 
@@ -1930,7 +2003,7 @@
 =head2 $Archive::Tar::ZERO_PAD_NUMBERS
 
 This variable holds a boolean indicating if we will create
-zero padded numbers for C<size>, C<mtime> and C<checksum>. 
+zero padded numbers for C<size>, C<mtime> and C<checksum>.
 The default is C<0>, indicating that we will create space padded
 numbers. Added for compatibility with C<busybox> implementations.
 
@@ -2114,7 +2187,7 @@
 
 =head1 CAVEATS
 
-The AIX tar does not fill all unused space in the tar archive with 0x00. 
+The AIX tar does not fill all unused space in the tar archive with 0x00.
 This sometimes leads to warning messages from C<Archive::Tar>.
 
   Invalid header block at offset nnn
@@ -2126,14 +2199,14 @@
  AIX 5.3 TL8 SP8
  AIX 5.3 TL9 SP5
  AIX 5.3 TL10 SP2
- 
+
  AIX 6.1 TL0 SP11
  AIX 6.1 TL1 SP7
  AIX 6.1 TL2 SP6
  AIX 6.1 TL3 SP3
 
-The IBM APAR number for this problem is IZ50240 (Reported component ID: 
-5765G0300 / AIX 5.3). It is possible to get an ifix for that problem. 
+The IBM APAR number for this problem is IZ50240 (Reported component ID:
+5765G0300 / AIX 5.3). It is possible to get an ifix for that problem.
 If you need an ifix please contact your local IBM AIX support.
 
 =head1 TODO


Property changes on: vendor/perl/dist/cpan/Archive-Tar/lib/Archive/Tar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/01_use.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/01_use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/01_use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/01_use.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/02_methods.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/02_methods.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/02_methods.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/02_methods.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/t/03_file.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/03_file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/03_file.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,4 @@
 ### This program tests Archive::Tar::File ###
-
 use Test::More 'no_plan';
 use strict;
 
@@ -24,7 +23,7 @@
     ### we didnt handle 'false' filenames very well across A::T as of version
     ### 1.32, as reported in #28687. Test for the handling of such files here.
     [    0,               '',                                             ],
-    
+
     ### keep this one as the last entry
     [    'x/yy/z',        '',               { type  => DIR,
                                               mode  => 0777,
@@ -72,20 +71,20 @@
     ok( ! $obj->devminor,                        "   devminor ok" );
     ok( ! $obj->raw,                             "   raw ok" );
 
-    ### test type checkers 
+    ### test type checkers
     SKIP: {
         skip "Attributes defined, may not be plainfile", 11 if keys %$attr;
-        
+
         ok( $obj->is_file,                      "   Object is a file" );
-        
-        for my $name (qw[dir hardlink symlink chardev blockdev fifo 
+
+        for my $name (qw[dir hardlink symlink chardev blockdev fifo
                          socket unknown longlink label ]
         ) {
             my $method = 'is_' . $name;
-            
+
             ok(!$obj->$method(),               "   Object is not a '$name'");
         }
-    }        
+    }
 
     ### Use "ok" not "is" to avoid binary data screwing up the screen ###
     ok( $obj->get_content eq $contents,          "   get_content ok" );
@@ -100,6 +99,11 @@
     ok( $obj->get_content eq $contents,          "   get_content ok" );
 
     ok( $obj->rename( $rename_path ),            "   rename ok" );
+    ok( $obj->chown( 'root' ),                   "   chown 1 arg ok" );
+    is( $obj->uname,    'root',                  "   chown to root ok" );
+    ok( $obj->chown( 'rocky', 'perl'),           "   chown 2 args ok" );
+    is( $obj->uname,    'rocky',                 "   chown to rocky ok" );
+    is( $obj->gname,    'perl',                  "   chown to rocky:perl ok" );
     is( $obj->name,     $rename_file,            "   name '$file' ok" );
     is( $obj->prefix,   $rename_dir,             "   prefix '$dir' ok" );
     ok( $obj->rename( $unix_path ),              "   rename ok" );
@@ -116,23 +120,23 @@
 {   my $aref        = $test_files[-1];
     my $unix_path   = $aref->[0];
     my $contents    = $aref->[1];
-    my $attr        = $aref->[2];     
-    
+    my $attr        = $aref->[2];
+
     my $obj = Archive::Tar::File->new( data => $unix_path, $contents, $attr );
-    
+
     ### check if the object is as expected
     isa_ok( $obj,                           'Archive::Tar::File' );
     ok( $obj->is_dir,                       "   Is a directory" );
-    
-    ### do the downgrade 
+
+    ### do the downgrade
     ok( $obj->_downgrade_to_plainfile,      "   Downgraded to plain file" );
-    
+
     ### now check if it's downgraded
     ok( $obj->is_file,                      "   Is now a file" );
     is( $obj->linkname, '',                 "   No link entered" );
     is( $obj->mode, MODE,                   "   Mode as expected" );
-}    
- 
+}
+
 ### helper subs ###
 sub dir_and_file {
     my $unix_path = shift;


Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/03_file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,42 +22,42 @@
     ### encoding style
     local $Archive::Tar::DO_NOT_USE_PREFIX = 1;
     local $Archive::Tar::DO_NOT_USE_PREFIX = 1;
-    
-    my $dir =   'Catalyst-Helper-Controller-Scaffold-HTML-Template-0_03/' . 
+
+    my $dir =   'Catalyst-Helper-Controller-Scaffold-HTML-Template-0_03/' .
                 'lib/Catalyst/Helper/Controller/Scaffold/HTML/';
     my $file =  'Template.pm';
     my $out =   $$ . '.tar';
-    
+
     ### first create the file
     {   my $tar = $Class->new;
-        
+
         isa_ok( $tar, $Class,   "   Object" );
         ok( $tar->add_data( $dir.$file => $$ ),
                                 "       Added long file" );
-        
+
         ok( $tar->write($out),  "       File written to $out" );
     }
-    
+
     ### then read it back in
     {   my $tar = $Class->new;
         isa_ok( $tar, $Class,   "   Object" );
         ok( $tar->read( $out ), "       Read in $out again" );
-        
+
         my @files = $tar->get_files;
         is( scalar(@files), 1,  "       Only 1 entry found" );
-        
+
         my $entry = shift @files;
         ok( $entry->is_file,    "       Entry is a file" );
         is( $entry->name, $dir.$file,
                                 "       With the proper name" );
-    }                                
-    
+    }
+
     ### remove the file
     unless( $NO_UNLINK ) { 1 while unlink $out }
-}    
+}
 
 ### bug #14922
-### There's a bug in Archive::Tar that causes a file like: foo/foo.txt 
+### There's a bug in Archive::Tar that causes a file like: foo/foo.txt
 ### to be stored in the tar file as: foo/.txt
 ### XXX could not be reproduced in 1.26 -- leave test to be sure
 {   ok( 1,                      "Testing bug 14922" );
@@ -65,14 +65,14 @@
     my $dir     = $$ . '/';
     my $file    = $$ . '.txt';
     my $out     = $$ . '.tar';
-    
+
     ### first create the file
     {   my $tar = $Class->new;
-        
+
         isa_ok( $tar, $Class,   "   Object" );
         ok( $tar->add_data( $dir.$file => $$ ),
                                 "       Added long file" );
-        
+
         ok( $tar->write($out),  "       File written to $out" );
     }
 
@@ -80,21 +80,21 @@
     {   my $tar = $Class->new;
         isa_ok( $tar, $Class,   "   Object" );
         ok( $tar->read( $out ), "       Read in $out again" );
-        
+
         my @files = $tar->get_files;
         is( scalar(@files), 1,  "       Only 1 entry found" );
-        
+
         my $entry = shift @files;
         ok( $entry->is_file,    "       Entry is a file" );
         is( $entry->full_path, $dir.$file,
                                 "       With the proper name" );
-    }                                
-    
+    }
+
     ### remove the file
     unless( $NO_UNLINK ) { 1 while unlink $out }
-}    
-    
-### bug #30380: directory traversal vulnerability in Archive-Tar    
+}
+
+### bug #30380: directory traversal vulnerability in Archive-Tar
 ### Archive::Tar allowed files to be extracted to a dir outside
 ### it's cwd(), effectively allowing you to overwrite any files
 ### on the system, given the right permissions.
@@ -101,18 +101,28 @@
 {   ok( 1,                      "Testing bug 30880" );
 
     my $tar = $Class->new;
-    isa_ok( $tar, $Class,       "   Object" );    
-    
+    isa_ok( $tar, $Class,       "   Object" );
+
     ### absolute paths are already taken care of. Only relative paths
     ### matter
     my $in_file     = basename($0);
     my $out_file    = '../' . $in_file . "_$$";
-    
-    ok( $tar->add_files( $in_file ), 
+
+    ok( $tar->add_files( $in_file ),
                                 "       Added '$in_file'" );
+
+    ok( $tar->chmod( $in_file, '1777'),
+                                "       chmod 177 $in_file" );
+
+    ok( $tar->chown( $in_file, 'root' ),
+                                "       chown to root" );
+
+    ok( $tar->chown( $in_file, 'root', 'root' ),
+                                "       chown to root:root" );
+
     ok( $tar->rename( $in_file, $out_file ),
                                 "       Renamed to '$out_file'" );
-    
+
     ### first, test with strict extract permissions on
     {   local $Archive::Tar::INSECURE_EXTRACT_MODE = 0;
 
@@ -125,23 +135,23 @@
         ok( ! $tar->extract_file( $out_file ),
                                 "       File not extracted" );
         ok( ! -e $out_file,     "       File '$out_file' does not exist" );
-    
+
         ok( $tar->error,        "       Error message stored" );
         like( $tar->error, qr/attempting to leave/,
                                 "           Proper violation detected" );
     }
-    
+
     ### now disable those
     {   local $Archive::Tar::INSECURE_EXTRACT_MODE = 1;
         ok( 1,                  "   Extracting in insecure mode" );
-    
+
         ok( $tar->extract_file( $out_file ),
                                 "       File extracted" );
         ok( -e $out_file,       "       File '$out_file' exists" );
-        
+
         ### and clean up
         unless( $NO_UNLINK ) { 1 while unlink $out_file };
-    }    
+    }
 }
 
 ### bug #43513: [PATCH] Accept wrong checksums from SunOS and HP-UX tar
@@ -148,17 +158,17 @@
 ### like GNU tar does. See here for details:
 ### http://www.gnu.org/software/tar/manual/tar.html#SEC139
 {   ok( 1,                      "Testing bug 43513" );
-    
+
     my $src = File::Spec->catfile( qw[src header signed.tar] );
     my $tar = $Class->new;
-    
+
     isa_ok( $tar, $Class,       "   Object" );
     ok( $tar->read( $src ),     "   Read non-Posix file with signed Checksum" );
-        
+
     for my $file ( $tar->get_files ) {
         ok( $file,              "       File object retrieved" );
         ok( $file->validate,    "           File validates" );
-    }        
+    }
 }
 
 ### return error properly on corrupted archives
@@ -166,16 +176,16 @@
 {   ok( 1,                      "Testing bug 44680" );
 
     {   ### XXX whitebox test -- resetting the error string
-        no warnings 'once'; 
+        no warnings 'once';
         $Archive::Tar::error = "";
     }
 
     my $src = File::Spec->catfile( qw[src short b] );
     my $tar = $Class->new;
-    
+
     isa_ok( $tar, $Class,       "   Object" );
-    
-    
+
+
     ### we quell the error on STDERR
     local $Archive::Tar::WARN = 0;
 


Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/04_resolved_issues.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/t/05_iter.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/05_iter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/05_iter.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,15 +18,15 @@
 use_ok( $Class );
 
 ### crazy ref to special case 'all'
-for my $index ( \0, 0 .. $#Expect ) {   
+for my $index ( \0, 0 .. $#Expect ) {
 
     my %opts    = ();
     my @expect  = ();
-    
+
     my $dotest = sub {
 	my $desc = shift;
 	my $next = $Class->iter( $File, 0, \%opts );
-	
+
 	my $pp_opts = join " => ", %opts;
 	ok( $next,                  "Iterator created from $File ($pp_opts $desc)" );
 	isa_ok( $next, "CODE",      "   Iterator $desc" );
@@ -38,16 +38,16 @@
 
 	    push @names, $f->name;
 	}
-	
+
 	is( scalar(@names), scalar(@expect),
 				    "   Found correct number of files $desc" );
-	
+
 	my $i = 0;
 	for my $name ( @names ) {
 	    ok( 1,                  "   Inspecting '$name'  $desc" );
 	    like($name, $expect[$i],"       Matches $Expect[$i] $desc" );
 	    $i++;
-	}        
+	}
     };
 
     ### do a full test vs individual filters
@@ -61,5 +61,5 @@
     } else {
         @expect         = @Expect;
 	$dotest->("all");
-    }        
+    }
 }


Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/05_iter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/06_error.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/06_error.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/06_error.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/06_error.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/t/90_symlink.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/90_symlink.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/90_symlink.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 plan 'no_plan';
 
 my $Class   = 'Archive::Tar';
-my $Dir     = File::Spec->catdir( qw[src linktest] );    
+my $Dir     = File::Spec->catdir( qw[src linktest] );
 my %Map     = (
     File::Spec->catfile( $Dir, "linktest_with_dir.tar" ) => [
         [ 0, qr/SECURE EXTRACT MODE/ ],
@@ -38,7 +38,7 @@
             ### damn warnings
             local $Archive::Tar::INSECURE_EXTRACT_MODE = $mode;
             local $Archive::Tar::INSECURE_EXTRACT_MODE = $mode;
-            
+
             ok( 1,                  "   Extracting with insecure mode: $mode" );
 
             my $warning;
@@ -48,8 +48,8 @@
             ok( !$@,                "       No fatal error" );
             is( !!$rv, !!$expect,   "       RV as expected" );
             like( $warning, $regex, "       Error matches $regex" );
-    
+
             rmtree( 'linktest' );
         }
-    }        
-}    
+    }
+}


Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/90_symlink.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Archive-Tar/t/99_pod.t
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/99_pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/99_pod.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,9 +8,9 @@
 eval 'use Test::Pod';
 plan skip_all => "Test::Pod v0.95 required for testing POD"
     if $@ || $Test::Pod::VERSION < 0.95;
-    
-plan skip_all => "Pod tests disabled under perl core" if $ENV{PERL_CORE};    
 
+plan skip_all => "Pod tests disabled under perl core" if $ENV{PERL_CORE};
+
 my @files;
 find( sub { push @files, File::Spec->catfile(
                     File::Spec->splitdir( $File::Find::dir ), $_


Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/99_pod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/header/signed.tar
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/header/signed.tar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/header/signed.tar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/header/signed.tar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_missing_dir.tar
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_missing_dir.tar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_missing_dir.tar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_missing_dir.tar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_with_dir.tar
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_with_dir.tar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_with_dir.tar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/linktest/linktest_with_dir.tar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/long/b
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/long/b	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/long/b	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/long/b
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/long/bar.tar
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/long/bar.tar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/long/bar.tar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/long/bar.tar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tbz
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tbz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tbz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tbz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tgz
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tgz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tgz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/long/foo.tgz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/short/b
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/short/b	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/short/b	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/short/b
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/short/bar.tar
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/short/bar.tar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/short/bar.tar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/short/bar.tar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tbz
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tbz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tbz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tbz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tgz
===================================================================
--- vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tgz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tgz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Archive-Tar/t/src/short/foo.tgz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/AutoLoader/lib/AutoLoader.pm
===================================================================
--- vendor/perl/dist/cpan/AutoLoader/lib/AutoLoader.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/AutoLoader/lib/AutoLoader.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,11 +15,18 @@
     $is_epoc = $^O eq 'epoc';
     $is_vms = $^O eq 'VMS';
     $is_macos = $^O eq 'MacOS';
-    $VERSION = '5.71';
+    $VERSION = '5.73';
 }
 
 AUTOLOAD {
     my $sub = $AUTOLOAD;
+    autoload_sub($sub);
+    goto &$sub;
+}
+
+sub autoload_sub {
+    my $sub = shift;
+
     my $filename = AutoLoader::find_filename( $sub );
 
     my $save = $@;
@@ -48,7 +55,8 @@
 	}
     }
     $@ = $save;
-    goto &$sub;
+
+    return 1;
 }
 
 sub find_filename {
@@ -335,6 +343,21 @@
 B<AutoSplit> automatically if B<AutoLoader> is used in a module source
 file.
 
+=head2 Forcing AutoLoader to Load a Function
+
+Sometimes, it can be necessary or useful to make sure that a certain
+function is fully loaded by AutoLoader. This is the case, for example,
+when you need to wrap a function to inject debugging code. It is also
+helpful to force early loading of code before forking to make use of
+copy-on-write as much as possible.
+
+Starting with AutoLoader 5.73, you can call the
+C<AutoLoader::autoload_sub> function with the fully-qualified name of
+the function to load from its F<.al> file. The behaviour is exactly
+the same as if you called the function, triggering the regular
+C<AUTOLOAD> mechanism, but it does not actually execute the
+autoloaded function.
+
 =head1 CAVEATS
 
 AutoLoaders prior to Perl 5.002 had a slightly different interface.  Any
@@ -376,7 +399,8 @@
 This package has the same copyright and license as the perl core:
 
              Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-        2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+        2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+	2011, 2012
         by Larry Wall and others
     
 			    All rights reserved.
@@ -400,8 +424,8 @@
     
     You should also have received a copy of the GNU General Public License
     along with this program in the file named "Copying". If not, write to the 
-    Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 
-    02111-1307, USA or visit their web page on the internet at
+    Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+    MA 02110-1301, USA or visit their web page on the internet at
     http://www.gnu.org/copyleft/gpl.html.
     
     For those of you that choose to use the GNU General Public License,


Property changes on: vendor/perl/dist/cpan/AutoLoader/lib/AutoLoader.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/AutoLoader/lib/AutoSplit.pm
===================================================================
--- vendor/perl/dist/cpan/AutoLoader/lib/AutoSplit.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/AutoLoader/lib/AutoSplit.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/AutoLoader/lib/AutoSplit.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/AutoLoader/t/01AutoLoader.t
===================================================================
--- vendor/perl/dist/cpan/AutoLoader/t/01AutoLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/AutoLoader/t/01AutoLoader.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
     unshift @INC, $dir;
 }
 
-use Test::More tests => 18;
+use Test::More tests => 21;
 
 sub write_file {
     my ($file, $text) = @_;
@@ -53,6 +53,12 @@
 # to find the above file so we duplicate it where they should find it.
 write_file( File::Spec->catfile( $fulldir, 'blechanawil.al' ), $blechanawilla_text );
 
+write_file( File::Spec->catfile( $fulldir, 'notreached.al' ), <<'EOT' );
+package Foo;
+sub notreached { die "Should not be reached!" }
+1;
+EOT
+
 # Let's define the package
 package Foo;
 require AutoLoader;
@@ -61,6 +67,7 @@
 sub new { bless {}, shift };
 sub foo;
 sub bazmarkhianish; 
+sub notreached;
 
 package main;
 
@@ -118,6 +125,16 @@
 
 Foo::a();
 
+# Test whether autoload_sub works without actually executing the function
+ok(!defined(&Foo::notreached), "Foo::notreached unknown to boot");
+AutoLoader::autoload_sub("Foo::notreached");
+ok(defined(&Foo::notreached), "Foo::notreached loaded by autoload_sub");
+
+# Make sure that repeatedly calling autoload_sub is not a problem:
+AutoLoader::autoload_sub("Foo::notreached");
+eval {Foo::notreached;};
+ok($@ && $@ =~ /Should not/, "Foo::notreached works as expected");
+
 package Bar;
 AutoLoader->import();
 ::ok( ! defined &AUTOLOAD, 'AutoLoader should not export AUTOLOAD by default' );


Property changes on: vendor/perl/dist/cpan/AutoLoader/t/01AutoLoader.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/AutoLoader/t/02AutoSplit.t
===================================================================
--- vendor/perl/dist/cpan/AutoLoader/t/02AutoSplit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/AutoLoader/t/02AutoSplit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/AutoLoader/t/02AutoSplit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/B-Debug/Debug.pm
===================================================================
--- vendor/perl/dist/cpan/B-Debug/Debug.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/B-Debug/Debug.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package B::Debug;
 
-our $VERSION = '1.16';
+our $VERSION = '1.18';
 
 use strict;
 require 5.006;
@@ -285,11 +285,16 @@
 sub B::AV::debug {
     my ($av) = @_;
     $av->B::SV::debug;
+    _array_debug($av);
+}
+
+sub _array_debug {
+    my ($av) = @_;
     # tied arrays may leave out FETCHSIZE
     my (@array) = eval { $av->ARRAY; };
     print "\tARRAY\t\t(", join(", ", map("0x" . $$_, @array)), ")\n";
     my $fill = eval { scalar(@array) };
-    if ($Config{'useithreads'}) {
+    if ($Config{'useithreads'} && class($av) ne 'PADLIST') {
       printf <<'EOT', $fill, $av->MAX, $av->OFF;
 	FILL		%d
 	MAX		%d
@@ -353,6 +358,15 @@
     print exists $specialsv_name[$i] ? $specialsv_name[$i] : "", "\n";
 }
 
+sub B::PADLIST::debug {
+    my ($padlist) = @_;
+    printf <<'EOT', class($padlist), $$padlist, $padlist->REFCNT;
+%s (0x%x)
+	REFCNT		%d
+EOT
+    _array_debug($padlist);
+}
+
 sub compile {
     my $order = shift;
     B::clearsym();
@@ -414,6 +428,7 @@
     distribution. You should also have received a copy of the GNU General
     Public License, in the file named "Copying". If not, you can get one
     from the Perl distribution or else write to the Free Software Foundation,
-    Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
+    Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
 
 =cut
+


Property changes on: vendor/perl/dist/cpan/B-Debug/Debug.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/B-Debug/t/debug.t
===================================================================
--- vendor/perl/dist/cpan/B-Debug/t/debug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/B-Debug/t/debug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/B-Debug/t/debug.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/Changes
===================================================================
--- vendor/perl/dist/cpan/CGI/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,154 @@
-Version 3.52
+Version 3.63 Nov 12, 2012
 
+    [SECURITY]
+    - CR escaping for Set-Cookie and P3P headers was improved. There was potential
+      for newline injection in these headers. 
+      (Thanks to anazawa, https://github.com/markstos/CGI.pm/pull/23)
+
+Version 3.62, Nov 9th, 2012
+
+    [INTERNALS]
+    - Changed how the  deprecated endform function was defined for compatibilty
+      with the development version of Perl. 
+    - Fix failures in t/tmpdir.t when run as root
+      https://github.com/markstos/CGI.pm/issues/22, RT#80659)
+
+    - Made it possible to force a sorted order for things like hash
+      attributes so that tests are not dependent on a particular hash
+      ordering. This will be required in modern perls which will
+      change the ordering per process. (Yves, RT#80659)
+
+Version 3.61 Nov 2nd, 2012
+
+  (No code changes)
+
+  [INTERNALS]
+   - formatting of CGI::Carp documentation was improved. Thanks to benkasminbullock.
+   - un-TODO some tests in t/tmpdir.t that were passing in most cases. 
+     More on this:
+       https://github.com/markstos/CGI.pm/issues/19#
+       https://github.com/markstos/CGI.pm/commit/cc73dc9807b0fabb56b3cdf1a9726588b2eda0f7
+
+Version 3.60 Aug 15th, 2012
+
+  [BUG FIXES]  
+  - In some caes, When unescapeHTML() hit something it didn't recognize with an ampersand and
+    and semicolon, it would throw away the semicolon and ampersand. It now does a better job.
+    of preserving content it doesn't recognize. Thanks to CEBJYRE at cpan.org (RT#75595)
+  - Remove trailing newline after <form> tag inserted by startform and start_form. It can
+    cause rendering problems in some cases. Thanks to SJOHNSTON at cpan.org (RT#67719)
+  - Workaround "Insecure Dependency" warning generated by some versions of Perl (RT#53733).
+    Thanks to degatcpan at ntlworld.com, klchu at lbl.gov and Anonymous Monk 
+
+  [DOCUMENTATION] 
+  - Clarify that when -status is used, the human-readable phase should be included, per RFC 2616.
+    Thanks to SREZIC at cpan.org (RT#76691). 
+
+  [INTERNALS]
+  - More tests for header(), thanks to Ryo Anazawa.
+  - t/url.t has been fixed on VMS. Thanks to cberry at cpan.org (RT#72380)
+  - MANIFEST patched so that t/multipart_init.t is included again. Thanks to shay at cpan.org (RT#76189)
+
+Version 3.59 Dec 29th, 2011
+
+ [BUG FIXES]
+ - We no longer read from STDIN when the Content-Length is not set, preventing
+   requests with no Content-Length from freezing in some cases. This is consistent
+   with the CGI RFC 3875, and is also consistent with CGI::Simple. However, the old
+   behavior may have been expected by some command-line uses of CGI.pm.
+   Thanks to Philip Potter and Yanick Champoux. See RT#52469 for details:
+   https://rt.cpan.org/Public/Bug/Display.html?id=52469
+
+ [INTERNALS]
+ - remove tmpdirs more aggressively. Thanks to rjbs (RT#73288)
+ - use Text::ParseWords instead of ancient shellwords.pl. Thanks to AlexBio.
+ - remove use of define(@arr). Thanks to rjbs.
+ - spelling fixes. Thanks to Gregor Herrmann and Alessandro Ghedini.
+ - fix test count and warning in t/fast.t. Thanks to Yanick.
+
+Version 3.58 Nov 11th, 2011
+
+    [DOCUMENTATION]
+    - Clarify that using query_string() only has defined behavior when using the GET method. (RT#60813)
+
+Version 3.57 Nov 9th, 2011
+    [INTERNALS]
+    - test failure in t/fast.t introduced in 3.56 is fixed. (Thanks to zefram and chansen).
+    - Test::More requirement has been bumped to 0.98
+
+Version 3.56 Nov 8th, 2011
+
+    [SECURITY]
+    Use public and documented FCGI.pm API in CGI::Fast
+        CGI::Fast was using an FCGI API that was deprecated and removed from
+        documentation more than ten years ago. Usage of this deprecated API with
+        FCGI >= 0.70 or FCGI <= 0.73 introduces a security issue.
+        <https://rt.cpan.org/Public/Bug/Display.html?id=68380>
+        <http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2011-2766>
+        (Thanks to chansen)
+
+    [INTERNALS]
+    - tmp files are now cleaned up on VMS ( RT#69210, thanks to cberry at cpan.org )
+    - Fixed test failure: done_testing() added to url.t (Thanks to Ryan Jendoubi)
+    - Clarify preferred bug submission location in docs, and note that Mark Stosberg
+      is the current maintainer.
+
+Version 3.55 June 3rd, 2011
+
+    [THINGS THAT MAY BREAK YOUR CODE]
+    url() was fixed to return "PATH_INFO" when it is explicitly requested 
+    with either the path=>1 or path_info=>1 flag. 
+
+    If your code is running under mod_rewrite (or compatible) and you are calling self_url() or
+    you are calling url() and passing path_info=>1, These methods will actually be
+    returning PATH_INFO now, as you have explicitly requested, or has self_url()
+    has requested on your behalf.
+
+    The PATH_INFO has been omitted in such URLs since the issue was introduced
+    in the 3.12 release in December, 2005. 
+
+    This bug is so old your application may have come to depend on it or
+    workaround it. Check for application before upgrading to this release. 
+
+    Examples of affected method calls:
+
+     $q->url(-absolute => 1, -query => 1, -path_info => 1 ) 
+     $q->url(-path=>1)
+     $q->url(-full=>1,-path=>1) 
+     $q->url(-rewrite=>1,-path=>1)
+     $q->self_url();
+
+Version 3.54, Apr 28, 2011
+   No code changes
+
+   [INTERNALS]
+   - Address test failures in t/tmpdir.t, thanks to Niko Tyni.
+     Some tests here are failing on some platforms and have been marked as TODO.
+
+Version 3.53, Apr 25, 2011
+  
+  [NEW FEATURES]
+  - The DELETE HTTP verb is now supported. 
+    (RT#52614, James Robson, Eduardo Ari�o de la Rubia) 
+
+  [INTERNALS]  
+  - Correct t/tmpdir.t MANIFEST entry. (RT#64949)
+  - Update minimum required Perl version to be Perl 5.8.1, which
+    has been out since 2003. This allows us to drop some hacks
+    and exceptions (Mark Stosberg)
+
+Version 3.52, Jan 24, 2011
+  
   [DOCUMENTATION]
   - The documentation for multi-line header handling was been updated to reflect
-    the changes in 3.51. (Mark Stosberg, ntyni at iki.fi)
+    the changes in 3.51. (Mark Stosberg, ntyni at iki.fi) 
 
   [INTERNALS]
-  - Add missing t/tmpfile.t file. (RT#64949)
-  - Fix warning in t/cookie.t (RT#64570, Chris Williams, Rainer Tammer, Mark Stosberg)
+  - Add missing t/tmpfile.t file. (RT#64949)  
+  - Fix warning in t/cookie.t (RT#64570, Chris Williams, Rainer Tammer, Mark Stosberg)     
   - Fixed logic bug in t/multipart_init.t (RT#64261, Niko Tyni)
 
-Version 3.51
+Version 3.51, Jan 5, 2011
 
   [NEW FEATURES]  
   - A new option to set $CGI::Carp::TO_BROWSER = 0, allows you to explicitly  
@@ -65,7 +204,7 @@
   - Re-fixing https test in http.t. (RT#54768, thanks to SPROUT)
   - param_fetch no longer triggers a warning when called with no arguments (ysth, Mark Stosberg)
 
-Version 3.50
+Version 3.50, Nov 8, 2010
   
   [SECURITY]
   1. The MIME boundary in multipart_init is now random. 
@@ -73,17 +212,17 @@
   2. Further improvements to handling of newlines embedded in header values. 
      An exception is thrown if header values contain invalid newlines. 
      Thanks to Michal Zalewski, Max Kanat-Alexander, Yanick Champoux,
-     Lincoln Stein, Fr\xE9d\xE9ric Buclin and Mark Stosberg
+     Lincoln Stein, Fr�d�ric Buclin and Mark Stosberg
 
   [DOCUMENTATION]
   1. Correcting/clarifying documentation for param_fetch(). Thanks to 
-        Ren\xE9e B\xE4cker. (RT#59132)
+        Ren�e B�cker. (RT#59132)
 
   [INTERNALS]
   1. Fixing https test in http.t. (RT#54768)
   2. Tests were added for multipart_init(). Thanks to Mark Stosberg and CGI::Simple. 
 
-Version 3.49
+Version 3.49, Feb 5th, 2010
 
   [BUG FIXES]
   1. Fix a regression since 3.44 involving a case when the header includes "Content-Length: 0". 
@@ -104,7 +243,7 @@
   1. More tests were added for autoescape, thanks to Bob Kuo. (RT#25485)
   2. Attempt to avoid test failures with t/fast, thanks to Steve Hay. (RT#49599)
 
-Version 3.48
+Version 3.48, Sep 25, 2009
 
   [BUG FIXES]
   1. <optgroup> default values are now properly escaped.
@@ -121,8 +260,8 @@
   [INTERNALS]
   1. More tests were added for autoescape, thanks to Bob Kuo. (RT#25485)
 
-Version 3.47
-  Released September 9th, 2009.
+Version 3.47,  Sep 9, 2009
+
   No code changes. 
 
   [INTERNALS]
@@ -129,6 +268,7 @@
     Re-release of 3.46, which did not contain a proper MANIFEST
 
 Version 3.46
+
   [BUG FIXES]
   1. In CGI::Pretty, we no longer add line breaks after tags we claim not to format. Thanks to rrt, Bob Kuo and
      and Mark Stosberg. (RT#42114).
@@ -152,7 +292,7 @@
   11.Calling CGI->new() no longer clobbers the value of $_ in the current scope.
      Thanks to Alexey Tourbin, Bob Kuo and Mark Stosberg. (RT#25131)
   12.UTF-8 params should not get double-decoded now.
-     Thanks to Yves, Bodo, Burak G\xFCrsoy, and Michael Schout. (RT#19913)
+     Thanks to Yves, Bodo, Burak G�rsoy, and Michael Schout. (RT#19913)
   13.We now give objects passed to CGI::Carp::die a chance to be stringified.
      Thanks to teek and Yanick Champoux (RT#41530)
   14.Turning off autoEscape() now only affects the behavior of built-in HTML
@@ -181,7 +321,8 @@
   2. Automated tests for hidden() have been added, thanks to Russel Jenkins and Mark Stosberg (RT#20436)
   3. t/util.t has been updated to use Test::More instead of a home-grown test function. Thanks to Bob Kuo.
 
-Version 3.45
+Version 3.45, Aug 14, 2009
+
   [BUG FIXES]
   1. Prevent warnings about "uninitialized values" for REQUEST_URI, HTTP_USER_AGENT and other environment variables.
      Patches by Callum Gibson, heiko and Mark Stosberg. (RT#24684, RT#29065)
@@ -199,7 +340,7 @@
   8. Support for <optgroup> with scrolling_list() now works the same way as it does for popup_menu().
      Thanks to Stuart Johnston (RT#30097)
   9. CGI::Pretty now works properly when $" is set to ''. Thanks to Jim Keenan (RT#12401)
- 10. Fix crash when used in combination with PerlEx::DBI. Thanks to Burak G\xFCrsoy (RT#19902)
+ 10. Fix crash when used in combination with PerlEx::DBI. Thanks to Burak G�rsoy (RT#19902)
 
   [DOCUMENTATION]
   1. Several typos were fixed, Thanks to ambs. (RT#41105)
@@ -220,18 +361,21 @@
   4. CGI::Switch and CGI::Apache now properly set their VERSION in their own name space.
      Thanks to Alexey Tourbin (RT#11941,RT#11942)
 
-  Version 3.44
+Version 3.44, Jul 30, 2009
+
   1. Patch from Kurt Jaeger to allow HTTP PUT even if the content length is unknown.
   2. Patch from Pavel merdin to fix a problem for one of the FireFox addons.
   3. Fixed issue in mod_perl & fastCGI environment of cookies returned from
      CGI->cookie() leaking from one session to another.
 
-  Version 3.43
+Version 3.43, Apr 06, 2009
+
   1. Documentation patch from MARKSTOS at cpan.org to replace all occurrences of
   "new CGI" with CGI->new()" to reflect best perl practices.
   2. Patch from Stepan Kasal to fix utf-8 related problems in perl 5.10
 
-  Version 3.42
+Version 3.42, Sep 08, 2008
+
   1. Added patch from Renee Baecker that makes it possible to subclass
   CGI::Pretty.
   2. Added patch from Nicholas Clark to allow ~ characters in temporary directories.
@@ -238,7 +382,8 @@
   3. Added patch from Renee Baecker that fixes the inappropriate escaping of fields
      in multipart headers.
 
-  Version 3.41
+Version 3.41, Aug 25, 2008
+
   1. Fix url() returning incorrect path when query string contains escaped newline.
   2. Added additional windows temporary directories and environment variables, courtesy patch from Renee Baecker
   3. Added a handle() method to the lightweight upload
@@ -245,16 +390,19 @@
   filehandles. This method returns a real IO::Handle object.
   4. Added patch from Tony Vanlingen to fix deep recursion warnings in CGI::Pretty.
 
-  Version 3.40
+Version 3.40, Aug 06, 2008
+
   1. Fixed CGI::Fast docs to eliminate references to a "special"
   version of Perl.
   2. Makefile.PL now depends on FCGI so that CGI::Fast installs properly.
   3. Fix script_name() call from Stephane Chazelas.
 
-  Version 3.39
+Version 3.39, Jun 29, 2008
+
   1. Fixed regression in "exists" function when using tied interface to CGI via $q->Vars.
 
-  Version 3.38
+Version 3.38, Jun 25, 2008
+
   1. Fix annoying warning in http://rt.cpan.org/Ticket/Display.html?id=34551
   2. Added nobr() function http://rt.cpan.org/Ticket/Display.html?id=35377
   3. popup_menu() allows multiple items to be selected by default, satisfying
@@ -265,39 +413,48 @@
   6. Fixed minor warning described at http://rt.cpan.org/Public/Bug/Display.html?id=36435
   7. Fixed overlap of attribute and parameter space described in http://rt.perl.org/rt3//Ticket/Display.html?id=24294
 
-  Version 3.37
+Version 3.37, Apr 22, 2008
+
   1. Fix pragmas so that they persist over modperl invocations (e.g. RT 34761)
   2. Fixed handling of chunked multipart uploads; thanks to Michael Bernhardt
      who reported and fixed the problem.
 
-  Version 3.36
+Version 3.36
+
   1. Fix CGI::Cookie to support cookies that are separated by "," instead of ";".
 
-  Version 3.35
+Version 3.35, Mar 27, 2008
+
   1. Resync with bleadperl, primarily fixing a bug in parsing semicolons in uploaded filenames.
 
-  Version 3.34
+Version 3.34, Mar 18, 2008
+
   1. Handle Unicode %uXXXX  escapes properly -- patch from DANKOGAI at cpan.org
   2. Fix url() method to not choke on path names that contain regex characters.
 
-  Version 3.33
+Version 3.33, Jan 02, 2008
+
   1. Remove uninit variable warning when calling url(-relative=>1)
   2. Fix uninit variable warnings for two lc calls
   3. Fixed failure of tempfile upload due to sprintf() taint failure in perl 5.10
 
-  Version 3.32
+Version 3.32, Dec 27, 2007
+
   1. Patch from Miguel Santinho to prevent sending premature headers under mod_perl 2.0
 
-  Version 3.31
+Version 3.31, Nov 30, 2007
+
   1. Patch from Xavier Robin so that CGI::Carp issues a 500 Status code rather than a 200 status code.
   2. Patch from Alexander Klink to select correct temporary directory in OSX Leopard so that upload works.
   3. Possibly fixed "wrapped pack" error on 5.10 and higher.
 
-  Version 3.30
+Version 3.30 
+
   1. Patch from Mike Barry to handle POSTDATA in the same way as PUT.
   2. Patch from Rafael Garcia-Suarez to correctly reencode unicode values as byte values.
 
-  Version 3.29
+Version 3.29, Apr 16, 2007
+
   1. The position of file handles is now reset to zero when CGI->new is called.
     (Mark Stosberg)
   2. uploadInfo() now works across multiple object instances. Also, the first
@@ -304,17 +461,20 @@
      tests for uploadInfo() were added as part of the fix. (CPAN bug 11895, with
      contributions from drfrench and Mark Stosberg).
 
-  Version 3.28
+Version 3.28, Mar 29, 2007
+
   1. Applied patch from Allen Day that makes Cookie parsing RFC2109 compliant
 	(attribute/values can be separated by commas as well as semicolons).
   2. Applied patch from Stephan Struckmann that allows script_name() to be set correctly.
   3. Fixed problem with url(-full) in which port number appears twice.
 
-  Version 3.27
+Version 3.27, Feb 27, 2007
+
   1. Applied patch from Steve Taylor that allows checkbox_groups to be
   disabled with a new -disabled=> option.
 
-  Version 3.26
+Version 3.26
+
   1. Fixed alternate stylesheet behavior so that it is insensitive to order of declarations.
   2. Patch from John Binns to allow users to provide a callback to CGI::Carp.
   3. Added "~" as an unreserved character in escape().
@@ -322,31 +482,37 @@
   5. Fixed outdated documentation (and behavior) of -language in start_html -script option.
   6. Fixed bug in seconds calculation in CGI::Util::expire_calc.
 
-  Version 3.25
+Version 3.25, Sep 28, 2006
+
   1. Fixed the link to the Netscape frames page.
   2. Added ability to specify an alternate stylesheet.
   3. Add support for XForms POST submssion both as application/xml or as multipart/related
 
-  Version 3.24
+Version 3.24
+
   1. In startform(), if request_uri() returns undef, then falls back
   to self_url(). This should rarely happen except when run outside of
   the CGI environment.
   2. image button alignment options were mistakenly being capitalized, causing xhtml validation to fail.
 
-  Version 3.23
+Version 3.23, Aug 23, 2006
+
   1. Typo in upload() persisted, now fixed for real. Thanks to
   Emanuele Zeppieri for correct patch and regression test.
 
-  Version 3.22
+Version 3.22, Aug 23, 2006
+
   1. Typo in upload() function broke uploads. Now fixed (CPAN bug 21126).
 
-  Version 3.21
+Version 3.21, Aug 21, 2006
+
   1. Don't try to read data at all when POST > $POST_MAX.
   2. Fixed bug that caused $cgi->param('name',undef,'value') to unset param('name') entirely.
   3. Fixed bug in which upload() sometimes returns empty. (CPAN bug #12694).
   4. Incorporated patch from BURAK at cpan.org to support HTTPcookies (CPAN bug 21019).
 
-  Version 3.20
+Version 3.20
+
   1. Patch from David Wheeler for CGI::Cookie->bake(). Uses mod_perl headers_out->add()
 	rather than headers_out->set().
   2. Fixed problem identified by Andrei Voronkov in which start_form() output was screwed
@@ -354,7 +520,8 @@
   3. Quashed uninitialized variable warnings coming from script_name(), url() and other
         functions that require access to the PATH_INFO environment variable.
 
-  Version 3.19
+Version 3.19
+
   1. Added patch from Stephen Frost that allows one to suppress use of the temp file that is
 	created during uploads.
   2. Fixed problem noted by Martin Foster in which regular expression meta-character terms
@@ -363,12 +530,14 @@
   3. More fixes to the url() method.
   4. Removed "hack to fix broken PATH_INFO in MSII".
 
-  Version 3.18
+Version 3.18
+
   1.  Doc typo fixes.
   2.  Patch from Steve Peters to default the document type to match the charset.
   3.  Fixed param() so that param(-name=>'foo',-values=>[]) sets the parameter to empty list.
 
-  Version 3.17 Fri Feb 24 14:01:27 EST 2006
+Version 3.17, Feb 24, 2006
+
    1. Added patch from Mike Hanafey which caused 0 arguments to CGI::Cookie->new() to
 	be treated as empty.
    2. Patch to CGI::Carp from Peter Whaite to fix the unfixable problem of CGI::Carp
@@ -377,7 +546,8 @@
 	with another's variables.
    4. Fixed upload failure on files that contain semicolons in their names.
 
-  Version 3.16 Wed Feb  8 13:29:11 EST 2006
+Version 3.16, Feb 8, 2006
+
    1. header() -charset option now works even when the MIME type is not "text".
    2. Fixed documentation for cookie() function and fastCGI.
    3. Upload filehandles now only closed automatically on Windows systems.
@@ -388,16 +558,20 @@
 	but was "Moved".
    7. Fixed charset in start_html() and header() to be in synch.
 
-  Version 3.15 Wed Dec  7 15:13:22 EST 2005
+Version 3.15, Dec 7, 2005
+
    1. Remove extraneous "?" from self_url() when URI contains a ? but no query string.
 
-  Version 3.14 Tue Dec  6 17:12:03 EST 2005
+Version 3.14, Dec 6,  2005
+
    1. Fixed broken scrolling_list() select attribute.
 
-  Version 3.13
+Version 3.13, Dec 4, 2005
+
     1. Removed extraneous empty "?" from end of self_url().
 
-  Version 3.12
+Version 3.12, Dec 4, 2005
+
     1. Fixed virtual_port so that it works properly with https protocol.
     2. Fixed documentation for upload_hook().
     3. Added POSTDATA documentation.
@@ -414,7 +588,8 @@
     9. Fixed CGI::Carp to work correctly with Mod_perl 1.29 in an Apache 2 environment.
    10. Setting $CGI::TMPDIRECTORY should now be effective.
 
-  Version 3.11
+Version 3.11, Aug 3, 2005
+
     1. Killed warning in CGI::Cookie about MOD_PERL_API_VERSION
     2. Fixed append() so that it works in function mode.
     3. Workaround for a bug that appears in Apache2 versions through 2.0.54
@@ -424,21 +599,25 @@
        not handle the uncommon case of a ScriptAlias directive that adds additional
        path information to the end of the translated URI.
 
-  Version 3.10
+Version 3.10, May 13, 2005
+
     1. Added Apache2::RequestIO, which is necessary for mp2 interoperability.
 
-  Version 3.09
+Version 3.09, May 5, 2005
+
     1. Fixed tabindex="0" when using CGI to create forms without a prior start_html
     2. Removed warning about non-numeric MOD_PERL_API_VERSION.
 
-  Version 3.08
+Version 3.08, Apr 20, 2005
+
     1. update support for mod_perl 2.0.  versions prior to
        mod_perl 1.999_22 (2.0.0-RC5) are no longer supported.
 
-  Version 3.07
+Version 3.07, Mar 14, 2005
+
     1. Fixed typo in mod_perl detection.
 
-  Version 3.06
+Version 3.06, Mar 09, 2005
 
     1. Fixed bare call to script() in start_html
     2. Moved Fh::DESTROY out of autoloaded functions so as to avoid
@@ -467,7 +646,7 @@
 	higher perls (fix courtesy Slaven Rezic).
 
 
-  Version 3.05
+Version 3.05, Apr 12, 2004
 
     1. Fixed uninitialized variable warning on start_form() when running
        from command line.
@@ -500,23 +679,23 @@
    15. Fixed documentation bug in -style argument to start_html()
    16. Added -status argument to redirect().
 
-  Version 3.04
+Version 3.04, Jan 18, 2004
 
     1. Fixed the problem with mod_perl crashing when "defaults" button
        pressed.
 
-  Version 3.03
+Version 3.03, Jan 13, 2004
 
     1. Fix upload hook functionality
     2. Workaround for CGI->unescape_html()
     3. Bumped version numbers in CGI::Fast and CGI::Util for 5.8.3-tobe
 
-  Version 3.02
+Version 3.02
 
     1. Bring in Apache::Response just in case.
     2. File upload on EBCDIC systems now works.
 
-  Version 3.01
+Version 3.01, Dec 10, 2003
 
     1. No fix yet for upload failures when running on EBCDIC server.
     2. Fixed uninitialized glob warnings that appeared when file
@@ -539,7 +718,7 @@
    12. Added virtual_port() method for finding out what port server is
        listening on in a virtual-host aware fashion.
 
-  Version 3.00
+Version 3.00, Aug 18, 2003
 
     1. Patch from Randal Schwartz to fix bug introduced by cross-site
        scripting vulnerability "fix."
@@ -693,7 +872,7 @@
   Version 2.83
 
     1. Fixed autoEscape() documentation inconsistencies.
-    2. Patch from Ville Skytt\xE4 to fix a number of XHTML inconsistencies.
+    2. Patch from Ville Skytt� to fix a number of XHTML inconsistencies.
     3. Added Max-Age to list of CGI::Cookie headers.
 
   Version 2.82
@@ -1148,7 +1327,7 @@
    21. Fixed warning in initialize_globals() under mod_perl.
    22. File uploads from Macintosh versions of MSIE should now work.
    23. Pragmas now preceded by dashes (-nph) rather than colons (:nph).
-       Old style is supported for backward compatability.
+       Old style is supported for backward compatibility.
    24. Can now pass arguments to all functions using {} brackets,
        resolving historical inconsistencies.
    25. Removed autoloader warnings about absent MultipartBuffer::DESTROY.
@@ -1380,7 +1559,7 @@
 
     1. Added cookie() support routines.
     2. Added -expires parameter to header().
-    3. Added cgi-lib.pl compatability mode.
+    3. Added cgi-lib.pl compatibility mode.
     4. Made the module more configurable for different operating systems.
     5. Fixed a dumb bug in JavaScript button() method.
 
@@ -1510,7 +1689,7 @@
 
     1. The user_agent() method is now documented;
     2. A potential security hole in import() is now plugged.
-    3. Changed name of import() to import_names() for compatability with
+    3. Changed name of import() to import_names() for compatibility with
        CGI:: modules.
 
   Bug fixes in version 1.53


Property changes on: vendor/perl/dist/cpan/CGI/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/caution.xbm
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/caution.xbm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/caution.xbm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/caution.xbm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/clickable_image.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/clickable_image.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/clickable_image.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/clickable_image.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/cookie.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/cookie.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/cookie.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/cookie.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/crash.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/crash.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/crash.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/crash.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/customize.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/customize.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/customize.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/customize.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/diff_upload.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/diff_upload.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/diff_upload.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/diff_upload.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/dna.small.gif
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/dna.small.gif	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/dna.small.gif	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/dna.small.gif
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/file_upload.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/file_upload.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/file_upload.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/file_upload.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/frameset.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/frameset.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/frameset.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/frameset.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/index.html
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/index.html	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/index.html	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/index.html
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/internal_links.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/internal_links.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/internal_links.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/internal_links.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/javascript.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/javascript.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/javascript.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/javascript.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/make_links.pl
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/make_links.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/make_links.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/make_links.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/monty.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/monty.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/monty.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/monty.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/multiple_forms.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/multiple_forms.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/multiple_forms.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/multiple_forms.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/nph-clock.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/nph-clock.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/nph-clock.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/nph-clock.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/nph-multipart.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/nph-multipart.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/nph-multipart.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/nph-multipart.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/popup.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/popup.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/popup.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/popup.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/save_state.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/save_state.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/save_state.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/save_state.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/tryit.cgi
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/tryit.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/tryit.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/tryit.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/examples/wilogo.gif
===================================================================
--- vendor/perl/dist/cpan/CGI/examples/wilogo.gif	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/examples/wilogo.gif	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/examples/wilogo.gif
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/lib/CGI/Apache.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI/Apache.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI/Apache.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI/Apache.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/lib/CGI/Carp.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI/Carp.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI/Carp.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,9 +33,9 @@
 
     use CGI::Carp
 
-And the standard warn(), die (), croak(), confess() and carp() calls
-will automagically be replaced with functions that write out nicely
-time-stamped messages to the HTTP server error log.
+The standard warn(), die (), croak(), confess() and carp() calls will
+be replaced with functions that write time-stamped messages to the
+HTTP server error log.
 
 For example:
 
@@ -57,10 +57,10 @@
 
    use CGI::Carp qw(carpout);
 
-The carpout() function requires one argument, which should be a
-reference to an open filehandle for writing errors.  It should be
-called in a C<BEGIN> block at the top of the CGI application so that
-compiler errors will be caught.  Example:
+The carpout() function requires one argument, a reference to an open
+filehandle for writing errors.  It should be called in a C<BEGIN>
+block at the top of the CGI application so that compiler errors will
+be caught.  Example:
 
    BEGIN {
      use CGI::Carp qw(carpout);
@@ -69,14 +69,15 @@
      carpout(LOG);
    }
 
-carpout() does not handle file locking on the log for you at this point.
-Also, note that carpout() does not work with in-memory file handles, although
-a patch would be welcome to address that.
+carpout() does not handle file locking on the log for you at this
+point.  Also, note that carpout() does not work with in-memory file
+handles, although a patch would be welcome to address that.
 
-The real STDERR is not closed -- it is moved to CGI::Carp::SAVEERR.  Some
-servers, when dealing with CGI scripts, close their connection to the
-browser when the script closes STDOUT and STDERR.  CGI::Carp::SAVEERR is there to
-prevent this from happening prematurely.
+The real STDERR is not closed -- it is moved to CGI::Carp::SAVEERR.
+Some servers, when dealing with CGI scripts, close their connection to
+the browser when the script closes STDOUT and STDERR.
+CGI::Carp::SAVEERR is there to prevent this from happening
+prematurely.
 
 You can pass filehandles to carpout() in a variety of ways.  The "correct"
 way according to Tom Christiansen is to pass a reference to a filehandle
@@ -104,17 +105,17 @@
 
 =head1 MAKING PERL ERRORS APPEAR IN THE BROWSER WINDOW
 
-If you want to send fatal (die, confess) errors to the browser, ask to
-import the special "fatalsToBrowser" subroutine:
+If you want to send fatal (die, confess) errors to the browser, import
+the special "fatalsToBrowser" subroutine:
 
     use CGI::Carp qw(fatalsToBrowser);
     die "Bad error here";
 
-Fatal errors will now be echoed to the browser as well as to the log.  CGI::Carp
-arranges to send a minimal HTTP header to the browser so that even errors that
-occur in the early compile phase will be seen.
-Nonfatal errors will still be directed to the log file only (unless redirected
-with carpout).
+Fatal errors will now be echoed to the browser as well as to the log.
+CGI::Carp arranges to send a minimal HTTP header to the browser so
+that even errors that occur in the early compile phase will be seen.
+Nonfatal errors will still be directed to the log file only (unless
+redirected with carpout).
 
 Note that fatalsToBrowser may B<not> work well with mod_perl version 2.0
 and higher.
@@ -193,10 +194,10 @@
 This may have some undesireable effects when the purpose of doing the
 eval is to determine which of several algorithms is to be used.
 
-By setting C<$CGI::Carp::TO_BROWSER> to 0 you can suppress printing the C<die> messages
-but without all of the complexity of using C<set_die_handler>.
-You can localize this effect to inside C<eval> bodies if this is desireable:
-For example:
+By setting C<$CGI::Carp::TO_BROWSER> to 0 you can suppress printing
+the C<die> messages but without all of the complexity of using
+C<set_die_handler>.  You can localize this effect to inside C<eval>
+bodies if this is desireable: For example:
 
  eval {
    local $CGI::Carp::TO_BROWSER = 0;
@@ -207,12 +208,12 @@
 
 =head1 MAKING WARNINGS APPEAR AS HTML COMMENTS
 
-It is now also possible to make non-fatal errors appear as HTML
-comments embedded in the output of your program.  To enable this
-feature, export the new "warningsToBrowser" subroutine.  Since sending
-warnings to the browser before the HTTP headers have been sent would
-cause an error, any warnings are stored in an internal buffer until
-you call the warningsToBrowser() subroutine with a true argument:
+It is also possible to make non-fatal errors appear as HTML comments
+embedded in the output of your program.  To enable this feature,
+export the new "warningsToBrowser" subroutine.  Since sending warnings
+to the browser before the HTTP headers have been sent would cause an
+error, any warnings are stored in an internal buffer until you call
+the warningsToBrowser() subroutine with a true argument:
 
     use CGI::Carp qw(fatalsToBrowser warningsToBrowser);
     use CGI qw(:standard);
@@ -320,12 +321,10 @@
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
-Address bug reports and comments to: lstein at cshl.org
-
 =head1 SEE ALSO
 
-Carp, CGI::Base, CGI::BasePlus, CGI::Request, CGI::MiniSvr, CGI::Form,
-CGI::Response
+L<Carp>, L<CGI::Base>, L<CGI::BasePlus>, L<CGI::Request>,
+L<CGI::MiniSvr>, L<CGI::Form>, L<CGI::Response>.
 
 =cut
 


Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI/Carp.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/lib/CGI/Cookie.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI/Cookie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI/Cookie.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -473,7 +473,7 @@
    CGI::Cookie->fetch($r);
 
 If the value passed to parse() is undefined, an empty array will returned in list
-contact, and an empty hashref will be returned in scalar context.
+context, and an empty hashref will be returned in scalar context.
 
 =head2 Manipulating Cookies
 


Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI/Cookie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/lib/CGI/Fast.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI/Fast.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI/Fast.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
 # wish, but if you redistribute a modified version, please attach a note
 # listing the modifications you have made.
 
-$CGI::Fast::VERSION='1.08';
+$CGI::Fast::VERSION='1.09';
 
 use CGI;
 use FCGI;
@@ -43,28 +43,24 @@
 # in this package variable.
 use vars qw($Ext_Request);
 BEGIN {
-   # If ENV{FCGI_SOCKET_PATH} is given, explicitly open the socket,
-   # and keep the request handle around from which to call Accept().
-   if ($ENV{FCGI_SOCKET_PATH}) {
-	my $path    = $ENV{FCGI_SOCKET_PATH};
-	my $backlog = $ENV{FCGI_LISTEN_QUEUE} || 100;
-	my $socket  = FCGI::OpenSocket( $path, $backlog );
-	$Ext_Request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR,
-					\%ENV, $socket, 1 );
-   }
+    # If ENV{FCGI_SOCKET_PATH} is given, explicitly open the socket.
+    if ($ENV{FCGI_SOCKET_PATH}) {
+        my $path    = $ENV{FCGI_SOCKET_PATH};
+        my $backlog = $ENV{FCGI_LISTEN_QUEUE} || 100;
+        my $socket  = FCGI::OpenSocket( $path, $backlog );
+        $Ext_Request = FCGI::Request( \*STDIN, \*STDOUT, \*STDERR,
+                    \%ENV, $socket, 1 );
+    }
+    else {
+        $Ext_Request = FCGI::Request();
+    }
 }
 
-# New is slightly different in that it calls FCGI's
-# accept() method.
 sub new {
      my ($self, $initializer, @param) = @_;
      unless (defined $initializer) {
-	if ($Ext_Request) {
-          return undef unless $Ext_Request->Accept() >= 0;
-	} else {
-         return undef unless FCGI::accept() >= 0;
+         return undef unless $Ext_Request->Accept() >= 0;
      }
-     }
      CGI->_reset_globals;
      $self->_setup_symbols(@CGI::SAVED_SYMBOLS) if @CGI::SAVED_SYMBOLS;
      return $CGI::Q = $self->SUPER::new($initializer, @param);


Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI/Fast.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/lib/CGI/Pretty.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI/Pretty.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI/Pretty.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI/Pretty.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/lib/CGI/Push.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI/Push.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI/Push.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI/Push.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/lib/CGI/Switch.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI/Switch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI/Switch.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI/Switch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/lib/CGI/Util.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,18 +1,21 @@
 package CGI::Util;
-
+use base 'Exporter';
+require 5.008001;
 use strict;
-use vars qw($VERSION @EXPORT_OK @ISA @A2E @E2A);
-require Exporter;
- at ISA = qw(Exporter);
- at EXPORT_OK = qw(rearrange rearrange_header make_attributes unescape escape 
-		expires ebcdic2ascii ascii2ebcdic);
+our @EXPORT_OK = qw(rearrange rearrange_header make_attributes unescape escape
+        expires ebcdic2ascii ascii2ebcdic);
 
-$VERSION = '3.51';
+our $VERSION = '3.62';
 
 use constant EBCDIC => "\t" ne "\011";
 
+# This option is not documented and may change or go away.
+# The HTML spec does not require attributes to be sorted,
+# but it's useful for testing to get a predictable order back.
+our $SORT_ATTRIBUTES;
+
 # (ord('^') == 95) for codepage 1047 as on os390, vmesa
- at A2E = (
+our @A2E = (
    0,  1,  2,  3, 55, 45, 46, 47, 22,  5, 21, 11, 12, 13, 14, 15,
   16, 17, 18, 19, 60, 61, 50, 38, 24, 25, 63, 39, 28, 29, 30, 31,
   64, 90,127,123, 91,108, 80,125, 77, 93, 92, 78,107, 96, 75, 97,
@@ -29,8 +32,8 @@
  172,105,237,238,235,239,236,191,128,253,254,251,252,186,174, 89,
   68, 69, 66, 70, 67, 71,156, 72, 84, 81, 82, 83, 88, 85, 86, 87,
  140, 73,205,206,203,207,204,225,112,221,222,219,220,141,142,223
-	 );
- at E2A = (
+     );
+our @E2A = (
    0,  1,  2,  3,156,  9,134,127,151,141,142, 11, 12, 13, 14, 15,
   16, 17, 18, 19,157, 10,  8,135, 24, 25,146,143, 28, 29, 30, 31,
  128,129,130,131,132,133, 23, 27,136,137,138,139,140,  5,  6,  7,
@@ -47,7 +50,7 @@
  125, 74, 75, 76, 77, 78, 79, 80, 81, 82,185,251,252,249,250,255,
   92,247, 83, 84, 85, 86, 87, 88, 89, 90,178,212,214,210,211,213,
   48, 49, 50, 51, 52, 53, 54, 55, 56, 57,179,219,220,217,218,159
-	 );
+     );
 
 if (EBCDIC && ord('^') == 106) { # as in the BS2000 posix-bc coded character set
      $A2E[91] = 187;   $A2E[92] = 188;  $A2E[94] = 106;  $A2E[96] = 74;
@@ -78,7 +81,7 @@
     my ($order, at param) = @_;
     my ($result, $leftover) = _rearrange_params( $order, @param );
     push @$result, make_attributes( $leftover, defined $CGI::Q ? $CGI::Q->{escape} : 1 ) 
-	if keys %$leftover;
+    if keys %$leftover;
     @$result;
 }
 
@@ -96,10 +99,10 @@
     return [] unless @param;
 
     if (ref($param[0]) eq 'HASH') {
-	@param = %{$param[0]};
+    @param = %{$param[0]};
     } else {
-	return \@param 
-	    unless (defined($param[0]) && substr($param[0],0,1) eq '-');
+    return \@param 
+        unless (defined($param[0]) && substr($param[0],0,1) eq '-');
     }
 
     # map parameters into positional indices
@@ -106,21 +109,21 @@
     my ($i,%pos);
     $i = 0;
     foreach (@$order) {
-	foreach (ref($_) eq 'ARRAY' ? @$_ : $_) { $pos{lc($_)} = $i; }
-	$i++;
+    foreach (ref($_) eq 'ARRAY' ? @$_ : $_) { $pos{lc($_)} = $i; }
+    $i++;
     }
 
     my (@result,%leftover);
     $#result = $#$order;  # preextend
     while (@param) {
-	my $key = lc(shift(@param));
-	$key =~ s/^\-//;
-	if (exists $pos{$key}) {
-	    $result[$pos{$key}] = shift(@param);
-	} else {
-	    $leftover{$key} = shift(@param);
-	}
+    my $key = lc(shift(@param));
+    $key =~ s/^\-//;
+    if (exists $pos{$key}) {
+        $result[$pos{$key}] = shift(@param);
+    } else {
+        $leftover{$key} = shift(@param);
     }
+    }
 
     return \@result, \%leftover;
 }
@@ -133,18 +136,22 @@
 
     my $quote = $do_not_quote ? '' : '"';
 
+    my @attr_keys= keys %$attr;
+    if ($SORT_ATTRIBUTES) {
+        @attr_keys= sort @attr_keys;
+    }
     my(@att);
-    foreach (keys %{$attr}) {
-	my($key) = $_;
-	$key=~s/^\-//;     # get rid of initial - if present
+    foreach (@attr_keys) {
+    my($key) = $_;
+    $key=~s/^\-//;     # get rid of initial - if present
 
-	# old way: breaks EBCDIC!
-	# $key=~tr/A-Z_/a-z-/; # parameters are lower case, use dashes
+    # old way: breaks EBCDIC!
+    # $key=~tr/A-Z_/a-z-/; # parameters are lower case, use dashes
 
-	($key="\L$key") =~ tr/_/-/; # parameters are lower case, use dashes
+    ($key="\L$key") =~ tr/_/-/; # parameters are lower case, use dashes
 
-	my $value = $escape ? simple_escape($attr->{$_}) : $attr->{$_};
-	push(@att,defined($attr->{$_}) ? qq/$key=$quote$value$quote/ : qq/$key/);
+    my $value = $escape ? simple_escape($attr->{$_}) : $attr->{$_};
+    push(@att,defined($attr->{$_}) ? qq/$key=$quote$value$quote/ : qq/$key/);
     }
     return @att;
 }
@@ -162,47 +169,10 @@
 }
 
 sub utf8_chr {
-        my $c = shift(@_);
-	if ($] >= 5.006){
-	    require utf8;
-	    my $u = chr($c);
-	    utf8::encode($u); # drop utf8 flag
-	    return $u;
-	}
-        if ($c < 0x80) {
-                return sprintf("%c", $c);
-        } elsif ($c < 0x800) {
-                return sprintf("%c%c", 0xc0 | ($c >> 6), 0x80 | ($c & 0x3f));
-        } elsif ($c < 0x10000) {
-                return sprintf("%c%c%c",
-                                           0xe0 |  ($c >> 12),
-                                           0x80 | (($c >>  6) & 0x3f),
-                                           0x80 | ( $c          & 0x3f));
-        } elsif ($c < 0x200000) {
-                return sprintf("%c%c%c%c",
-                                           0xf0 |  ($c >> 18),
-                                           0x80 | (($c >> 12) & 0x3f),
-                                           0x80 | (($c >>  6) & 0x3f),
-                                           0x80 | ( $c          & 0x3f));
-        } elsif ($c < 0x4000000) {
-                return sprintf("%c%c%c%c%c",
-                                           0xf8 |  ($c >> 24),
-                                           0x80 | (($c >> 18) & 0x3f),
-                                           0x80 | (($c >> 12) & 0x3f),
-                                           0x80 | (($c >>  6) & 0x3f),
-                                           0x80 | ( $c          & 0x3f));
-
-        } elsif ($c < 0x80000000) {
-                return sprintf("%c%c%c%c%c%c",
-                                           0xfc |  ($c >> 30),
-                                           0x80 | (($c >> 24) & 0x3f),
-                                           0x80 | (($c >> 18) & 0x3f),
-                                           0x80 | (($c >> 12) & 0x3f),
-                                           0x80 | (($c >> 6)  & 0x3f),
-                                           0x80 | ( $c          & 0x3f));
-        } else {
-                return utf8_chr(0xfffd);
-        }
+    my $c = shift(@_);
+    my $u = chr($c);
+    utf8::encode($u); # drop utf8 flag
+    return $u;
 }
 
 # unescape URL-encoded data
@@ -214,19 +184,19 @@
     if (EBCDIC) {
       $todecode =~ s/%([0-9a-fA-F]{2})/chr $A2E[hex($1)]/ge;
     } else {
-	# handle surrogate pairs first -- dankogai. Ref: http://unicode.org/faq/utf_bom.html#utf16-2
-	$todecode =~ s{
-			%u([Dd][89a-bA-B][0-9a-fA-F]{2}) # hi
-		        %u([Dd][c-fC-F][0-9a-fA-F]{2})   # lo
-		      }{
-			  utf8_chr(
-				   0x10000 
-				   + (hex($1) - 0xD800) * 0x400 
-				   + (hex($2) - 0xDC00)
-				  )
-		      }gex;
+    # handle surrogate pairs first -- dankogai. Ref: http://unicode.org/faq/utf_bom.html#utf16-2
+    $todecode =~ s{
+            %u([Dd][89a-bA-B][0-9a-fA-F]{2}) # hi
+                %u([Dd][c-fC-F][0-9a-fA-F]{2})   # lo
+              }{
+              utf8_chr(
+                   0x10000 
+                   + (hex($1) - 0xD800) * 0x400 
+                   + (hex($2) - 0xDC00)
+                  )
+              }gex;
       $todecode =~ s/%(?:([0-9a-fA-F]{2})|u([0-9a-fA-F]{4}))/
-	defined($1)? chr hex($1) : utf8_chr(hex($2))/ge;
+    defined($1)? chr hex($1) : utf8_chr(hex($2))/ge;
     }
   return $todecode;
 }
@@ -236,7 +206,7 @@
 # We cannot use the %u escapes, they were rejected by W3C, so the official
 # way is %XX-escaped utf-8 encoding.
 # Naturally, Unicode strings have to be converted to their utf-8 byte
-# representation.  (No action is required on 5.6.)
+# representation. 
 # Byte strings were traditionally used directly as a sequence of octets.
 # This worked if they actually represented binary data (i.e. in CGI::Compress).
 # This also worked if these byte strings were actually utf-8 encoded; e.g.,
@@ -245,39 +215,13 @@
 # was always so and cannot be fixed without breaking the binary data case.
 # -- Stepan Kasal <skasal at redhat.com>
 #
-if ($] == 5.008) {
-   package utf8;
 
-   no warnings 'redefine'; # needed for Perl 5.8.1+
-
-   my $is_utf8_redefinition = <<'EOR';
-      sub is_utf8 {
-         my ($text) = @_;
-
-         my $ctext = pack q{C0a*}, $text;
-
-         return ($text ne $ctext) && ($ctext =~ m/^(
-          [\x09\x0A\x0D\x20-\x7E]
-          | [\xC2-\xDF][\x80-\xBF]
-          | \xE0[\xA0-\xBF][\x80-\xBF]
-          | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}
-          | \xED[\x80-\x9F][\x80-\xBF]
-          | \xF0[\x90-\xBF][\x80-\xBF]{2}
-          | [\xF1-\xF3][\x80-\xBF]{3}
-          | \xF4[\x80-\x8F][\x80-\xBF]{2}
-          )*$/xo);
-      }
-EOR
-
-   eval $is_utf8_redefinition;
-}
-
 sub escape {
   # If we being called in an OO-context, discard the first argument.
   shift() if @_ > 1 and ( ref($_[0]) || (defined $_[1] && $_[0] eq $CGI::DefaultClass));
   my $toencode = shift;
   return undef unless defined($toencode);
-  utf8::encode($toencode) if ($] >= 5.008 && utf8::is_utf8($toencode));
+  utf8::encode($toencode) if utf8::is_utf8($toencode);
     if (EBCDIC) {
       $toencode=~s/([^a-zA-Z0-9_.~-])/uc sprintf("%%%02x",$E2A[ord($1)])/eg;
     } else {


Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/lib/CGI.pm
===================================================================
--- vendor/perl/dist/cpan/CGI/lib/CGI.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/lib/CGI.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 package CGI;
-require 5.006;
+require 5.008001;
 use Carp 'croak';
 
 # See the bottom of this file for the POD documentation.  Search for the
@@ -19,8 +19,8 @@
 #   http://search.cpan.org/dist/CGI.pm
 
 # The revision is no longer being updated since moving to git. 
-$CGI::revision = '$Id: CGI.pm,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $';
-$CGI::VERSION='3.52';
+$CGI::revision = '$Id: CGI.pm,v 1.266 2009/07/30 16:32:34 lstein Exp $';
+$CGI::VERSION='3.63';
 
 # HARD-CODED LOCATION FOR FILE UPLOAD TEMPORARY FILES.
 # UNCOMMENT THIS ONLY IF YOU KNOW WHAT YOU'RE DOING.
@@ -129,10 +129,6 @@
 
 # ------------------ START OF THE LIBRARY ------------
 
-#### Method: endform
-# This method is DEPRECATED
-*endform = \&end_form;
-
 # make mod_perlhappy
 initialize_globals();
 
@@ -386,7 +382,7 @@
 # user is still holding any reference to them as well.
 sub DESTROY {
   my $self = shift;
-  if ($OS eq 'WINDOWS') {
+  if ($OS eq 'WINDOWS' || $OS eq 'VMS') {
     for my $href (values %{$self->{'.tmpfiles'}}) {
       $href->{hndl}->DESTROY if defined $href->{hndl};
       $href->{name}->DESTROY if defined $href->{name};
@@ -525,12 +521,12 @@
     # if we get called more than once, we want to initialize
     # ourselves from the original query (which may be gone
     # if it was read from STDIN originally.)
-    if (defined(@QUERY_PARAM) && !defined($initializer)) {
+    if (@QUERY_PARAM && !defined($initializer)) {
         for my $name (@QUERY_PARAM) {
             my $val = $QUERY_PARAM{$name}; # always an arrayref;
             $self->param('-name'=>$name,'-value'=> $val);
             if (defined $val and ref $val eq 'ARRAY') {
-                for my $fh (grep {defined(fileno($_))} @$val) {
+                for my $fh (grep {defined($_) && ref($_) && defined(fileno($_))} @$val) {
                    seek($fh,0,0); # reset the filehandle.  
                 }
 
@@ -648,9 +644,9 @@
 	  last METHOD;
       }
 
-      # If method is GET or HEAD, fetch the query from
+      # If method is GET, HEAD or DELETE, fetch the query from
       # the environment.
-      if ($is_xforms || $meth=~/^(GET|HEAD)$/) {
+      if ($is_xforms || $meth=~/^(GET|HEAD|DELETE)$/) {
 	  if ($MOD_PERL) {
 	    $query_string = $self->r->args;
 	  } else {
@@ -664,14 +660,6 @@
 	  if ( $content_length > 0 ) {
 	    $self->read_from_client(\$query_string,$content_length,0);
 	  }
-	  elsif (not defined $ENV{CONTENT_LENGTH}) {
-	    $self->read_from_stdin(\$query_string);
-	    # should this be PUTDATA in case of PUT ?
-	    my($param) = $meth . 'DATA' ;
-	    $self->add_parameter($param) ;
-	    push (@{$self->{param}{$param}},$query_string);
-	    undef $query_string ;
-	  }
 	  # Some people want to have their cake and eat it too!
 	  # Uncomment this line to have the contents of the query string
 	  # APPENDED to the POST data.
@@ -820,7 +808,7 @@
 
 # put a filehandle into binary mode (DOS)
 sub binmode {
-    return unless defined($_[1]) && defined fileno($_[1]);
+    return unless defined($_[1]) && ref ($_[1]) && defined fileno($_[1]);
     CORE::binmode($_[1]);
 }
 
@@ -1024,47 +1012,6 @@
 }
 END_OF_FUNC
 
-'read_from_stdin' => <<'END_OF_FUNC',
-# Read data from stdin until all is read
-sub read_from_stdin {
-    my($self, $buff) = @_;
-    local $^W=0;                # prevent a warning
-
-    #
-    # TODO: loop over STDIN until all is read
-    #
-
-    my($eoffound) = 0;
-    my($localbuf) = '';
-    my($tempbuf) = '';
-    my($bufsiz) = 1024;
-    my($res);
-    while ($eoffound == 0) {
-	if ( $MOD_PERL ) {
-	    $res = $self->r->read($tempbuf, $bufsiz, 0)
-	}
-	else {
-	    $res = read(\*STDIN, $tempbuf, $bufsiz);
-	}
-
-	if ( !defined($res) ) {
-	    # TODO: how to do error reporting ?
-	    $eoffound = 1;
-	    last;
-	}
-	if ( $res == 0 ) {
-	    $eoffound = 1;
-	    last;
-	}
-	$localbuf .= $tempbuf;
-    }
-
-    $$buff = $localbuf;
-
-    return $res;
-}
-END_OF_FUNC
-
 'delete' => <<'END_OF_FUNC',
 #### Method: delete
 # Deletes the named parameter entirely.
@@ -1550,8 +1497,17 @@
                             'EXPIRES','NPH','CHARSET',
                             'ATTACHMENT','P3P'], at p);
 
+    # Since $cookie and $p3p may be array references,
+    # we must stringify them before CR escaping is done.
+    my @cookie;
+    for (ref($cookie) eq 'ARRAY' ? @{$cookie} : $cookie) {
+        my $cs = UNIVERSAL::isa($_,'CGI::Cookie') ? $_->as_string : $_;
+        push(@cookie,$cs) if defined $cs and $cs ne '';
+    }
+    $p3p = join ' ',@$p3p if ref($p3p) eq 'ARRAY';
+
     # CR escaping for values, per RFC 822
-    for my $header ($type,$status,$cookie,$target,$expires,$nph,$charset,$attachment,$p3p, at other) {
+    for my $header ($type,$status, at cookie,$target,$expires,$nph,$charset,$attachment,$p3p, at other) {
         if (defined $header) {
             # From RFC 822:
             # Unfolding  is  accomplished  by regarding   CRLF   immediately
@@ -1595,18 +1551,9 @@
 
     push(@header,"Status: $status") if $status;
     push(@header,"Window-Target: $target") if $target;
-    if ($p3p) {
-       $p3p = join ' ',@$p3p if ref($p3p) eq 'ARRAY';
-       push(@header,qq(P3P: policyref="/w3c/p3p.xml", CP="$p3p"));
-    }
+    push(@header,"P3P: policyref=\"/w3c/p3p.xml\", CP=\"$p3p\"") if $p3p;
     # push all the cookies -- there may be several
-    if ($cookie) {
-	my(@cookie) = ref($cookie) && ref($cookie) eq 'ARRAY' ? @{$cookie} : $cookie;
-	for (@cookie) {
-            my $cs = UNIVERSAL::isa($_,'CGI::Cookie') ? $_->as_string : $_;
-	    push(@header,"Set-Cookie: $cs") if $cs ne '';
-	}
-    }
+    push(@header,map {"Set-Cookie: $_"} @cookie);
     # if the user indicates an expiration time, then we need
     # both an Expires and a Date header (so that the browser is
     # uses OUR clock)
@@ -1953,7 +1900,7 @@
     $action = qq(action="$action");
     my($other) = @other ? " @other" : '';
     $self->{'.parametersToAdd'}={};
-    return qq/<form method="$method" $action enctype="$enctype"$other>\n/;
+    return qq/<form method="$method" $action enctype="$enctype"$other>/;
 }
 END_OF_FUNC
 
@@ -1987,7 +1934,7 @@
     $action = qq(action="$action");
     my($other) = @other ? " @other" : '';
     $self->{'.parametersToAdd'}={};
-    return qq/<form method="$method" $action enctype="$enctype"$other>\n/;
+    return qq/<form method="$method" $action enctype="$enctype"$other>/;
 }
 END_OF_FUNC
 
@@ -2009,6 +1956,7 @@
 
 #### Method: end_form
 # End a form
+# Note: This repeated below under the older name.
 'end_form' => <<'END_OF_FUNC',
 sub end_form {
     my($self, at p) = self_or_default(@_);
@@ -2025,6 +1973,22 @@
 }
 END_OF_FUNC
 
+'endform' => <<'END_OF_FUNC',
+sub endform {
+    my($self, at p) = self_or_default(@_);
+    if ( $NOSTICKY ) {
+        return wantarray ? ("</form>") : "\n</form>";
+    } else {
+        if (my @fields = $self->get_fields) {
+            return wantarray ? ("<div>", at fields,"</div>","</form>")
+                             : "<div>".(join '', at fields)."</div>\n</form>";
+        } else {
+            return "</form>";
+        }
+    }
+}
+END_OF_FUNC
+
 #### Method: end_multipart_form
 # end a multipart form
 'end_multipart_form' => <<'END_OF_FUNC',
@@ -2360,7 +2324,7 @@
     my $latin = defined $self->{'.charset'} ? $self->{'.charset'} =~ /^(ISO-8859-1|WINDOWS-1252)$/i
                                             : 1;
     # thanks to Randal Schwartz for the correct solution to this one
-    $string=~ s[&(\S*?);]{
+    $string=~ s[&([^\s&]*?);]{
 	local $_ = $1;
 	/^amp$/i	? "&" :
 	/^quot$/i	? '"' :
@@ -2368,7 +2332,7 @@
 	/^lt$/i		? "<" :
 	/^#(\d+)$/ && $latin	     ? chr($1) :
 	/^#x([0-9a-f]+)$/i && $latin ? chr(hex($1)) :
-	$_
+	"&$_;"
 	}gex;
     return $string;
 }
@@ -2856,7 +2820,6 @@
     my $query_str   =  $self->query_string;
 
     my $rewrite_in_use = $request_uri && $request_uri !~ /^\Q$script_name/;
-    undef $path if $rewrite_in_use && $rewrite;  # path not valid when rewriting active
 
     my $uri         =  $rewrite && $request_uri ? $request_uri : $script_name;
     $uri            =~ s/\?.*$//s;                                # remove query string
@@ -3531,11 +3494,11 @@
     if ($DEBUG && @ARGV) {
 	@words = @ARGV;
     } elsif ($DEBUG > 1) {
-	require "shellwords.pl";
+	require Text::ParseWords;
 	print STDERR "(offline mode: enter name=value pairs on standard input; press ^D or ^Z when done)\n";
 	chomp(@lines = <STDIN>); # remove newlines
 	$input = join(" ", at lines);
-	@words = &shellwords($input);    
+	@words = &Text::ParseWords::old_shellwords($input);    
     }
     for (@words) {
 	s/\\=/%3D/g;
@@ -4524,7 +4487,7 @@
 
      $query = CGI->new;
 
-This will parse the input (from both POST and GET methods) and store
+This will parse the input (from POST, GET and DELETE methods) and store
 it into a perl5 object called $query. 
 
 Any filehandles from file uploads will have their position reset to 
@@ -5234,7 +5197,8 @@
 MIME type if you choose, otherwise it defaults to text/html.  An
 optional second parameter specifies the status code and a human-readable
 message.  For example, you can specify 204, "No response" to create a
-script that tells the browser to do nothing at all.
+script that tells the browser to do nothing at all. Note that RFC 2616 expects
+the human-readable phase to be there as well as the numeric status code. 
 
 The last example shows the named argument style for passing arguments
 to the CGI methods using named parameters.  Recognized parameters are
@@ -5322,7 +5286,7 @@
     print $q->redirect(
         -uri=>'http://somewhere.else/in/movie/land',
 	    -nph=>1,
-         -status=>301);
+         -status=>'301 Moved Permanently');
 
 All names arguments recognized by header() are also recognized by
 redirect(). However, most HTTP headers, including those generated by
@@ -5345,6 +5309,9 @@
 advised that changing the status to anything other than 301, 302 or
 303 will probably break redirection.
 
+Note that the human-readable phrase is also expected to be present to conform
+with RFC 2616, section 6.1.
+
 =head2 CREATING THE HTML DOCUMENT HEADER
 
    print start_html(-title=>'Secrets of the Pyramids',
@@ -5566,13 +5533,13 @@
 
 =head2 ENDING THE HTML DOCUMENT:
 
-	print end_html
+	print $q->end_html;
 
 This ends an HTML document by printing the </body></html> tags.
 
 =head2 CREATING A SELF-REFERENCING URL THAT PRESERVES STATE INFORMATION:
 
-    $myself = self_url;
+    $myself = $q->self_url;
     print q(<a href="$myself">I'm talking to myself.</a>);
 
 self_url() will return a URL, that, when selected, will reinvoke
@@ -5581,7 +5548,7 @@
 internal anchors but you don't want to disrupt the current contents
 of the form(s).  Something like this will do the trick.
 
-     $myself = self_url;
+     $myself = $q->self_url;
      print "<a href=\"$myself#table1\">See table 1</a>";
      print "<a href=\"$myself#table2\">See table 2</a>";
      print "<a href=\"$myself#yourself\">See for yourself</a>";
@@ -5591,8 +5558,11 @@
 
 You can also retrieve the unprocessed query string with query_string():
 
-    $the_string = query_string;
+    $the_string = $q->query_string();
 
+The behavior of calling query_string is currently undefined when the HTTP method is
+something other than GET.
+
 =head2 OBTAINING THE SCRIPT'S URL
 
     $full_url      = url();
@@ -5653,9 +5623,7 @@
 info probably won't match the request that the user sent. Set
 -rewrite=>1 (default) to return URLs that match what the user sent
 (the original request URI). Set -rewrite=>0 to return URLs that match
-the URL after mod_rewrite's rules have run. Because the additional
-path information only makes sense in the context of the rewritten URL,
--rewrite is set to false when you request path info in the URL.
+the URL after mod_rewrite's rules have run. 
 
 =back
 
@@ -7950,7 +7918,7 @@
 
 =head2 Cgi-lib functions that are available in CGI.pm
 
-In compatability mode, the following cgi-lib.pl functions are
+In compatibility mode, the following cgi-lib.pl functions are
 available for your use:
 
  ReadParse()
@@ -7991,15 +7959,15 @@
 
 =head1 AUTHOR INFORMATION
 
-The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein.  It is
-distributed under GPL and the Artistic License 2.0.
+The CGI.pm distribution is copyright 1995-2007, Lincoln D. Stein. It is
+distributed under GPL and the Artistic License 2.0. It is currently
+maintained by Mark Stosberg with help from many contributors.
 
-Address bug reports and comments to: lstein at cshl.org.  When sending
-bug reports, please provide the version of CGI.pm, the version of
-Perl, the name and version of your Web server, and the name and
-version of the operating system you are using.  If the problem is even
-remotely browser dependent, please provide information about the
-affected browsers as well.
+Address bug reports and comments to: https://rt.cpan.org/Public/Dist/Display.html?Queue=CGI.pm
+When sending bug reports, please provide the version of CGI.pm, the version of
+Perl, the name and version of your Web server, and the name and version of the
+operating system you are using.  If the problem is even remotely browser
+dependent, please provide information about the affected browsers as well.
 
 =head1 CREDITS
 


Property changes on: vendor/perl/dist/cpan/CGI/lib/CGI.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/Dump.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/Dump.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/Dump.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/Dump.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/apache.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/apache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/apache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/apache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/t/autoescape.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/autoescape.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/autoescape.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,7 @@
 use Test::More tests => 18;
 
 use CGI qw/ autoEscape escapeHTML button textfield password_field textarea popup_menu scrolling_list checkbox_group optgroup checkbox radio_group submit image_button button /;
+$CGI::Util::SORT_ATTRIBUTES = 1;
 
 is (button(-name => 'test<'), '<input type="button"  name="test<" value="test<" />', "autoEscape defaults to On");
 


Property changes on: vendor/perl/dist/cpan/CGI/t/autoescape.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/can.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/can.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/can.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/can.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/carp.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/carp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/carp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/carp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/charset.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/charset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/charset.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/charset.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/checkbox_group.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/checkbox_group.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/checkbox_group.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/checkbox_group.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/cookie.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/cookie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/cookie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/cookie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/end_form.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/end_form.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/end_form.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/end_form.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/t/form.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/form.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/form.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,7 +27,7 @@
 $ENV{SERVER_NAME}     = 'the.good.ship.lollypop.com';
 
 is(start_form(-action=>'foobar',-method=>'get'),
-   qq(<form method="get" action="foobar" enctype="multipart/form-data">\n),
+   qq(<form method="get" action="foobar" enctype="multipart/form-data">),
    "start_form()");
 
 is(submit(),
@@ -189,28 +189,23 @@
 $CGI::XHTML = 1;
 
 is(start_form("GET","/foobar"),
-    qq{<form method="get" action="/foobar" enctype="multipart/form-data">
-},
+    qq{<form method="get" action="/foobar" enctype="multipart/form-data">},
     'start_form() + XHTML');
 
 is(start_form("GET", "/foobar",&CGI::URL_ENCODED),
-    qq{<form method="get" action="/foobar" enctype="application/x-www-form-urlencoded">
-},
+    qq{<form method="get" action="/foobar" enctype="application/x-www-form-urlencoded">},
     'start_form() + XHTML + URL_ENCODED');
 
 is(start_form("GET", "/foobar",&CGI::MULTIPART),
-    qq{<form method="get" action="/foobar" enctype="multipart/form-data">
-},
+    qq{<form method="get" action="/foobar" enctype="multipart/form-data">},
     'start_form() + XHTML + MULTIPART');
 
 is(start_multipart_form("GET", "/foobar"),
-    qq{<form method="get" action="/foobar" enctype="multipart/form-data">
-},
+    qq{<form method="get" action="/foobar" enctype="multipart/form-data">},
     'start_multipart_form() + XHTML');
 
 is(start_multipart_form("GET", "/foobar","name=\"foobar\""),
-    qq{<form method="get" action="/foobar" enctype="multipart/form-data" name="foobar">
-},
+    qq{<form method="get" action="/foobar" enctype="multipart/form-data" name="foobar">},
     'start_multipart_form() + XHTML + additional args');
 
 # set no XHTML
@@ -217,28 +212,23 @@
 $CGI::XHTML = 0;
 
 is(start_form("GET","/foobar"),
-    qq{<form method="get" action="/foobar" enctype="application/x-www-form-urlencoded">
-},
+    qq{<form method="get" action="/foobar" enctype="application/x-www-form-urlencoded">},
     'start_form() + NO_XHTML');
 
 is(start_form("GET", "/foobar",&CGI::URL_ENCODED),
-    qq{<form method="get" action="/foobar" enctype="application/x-www-form-urlencoded">
-},
+    qq{<form method="get" action="/foobar" enctype="application/x-www-form-urlencoded">},
     'start_form() + NO_XHTML + URL_ENCODED');
 
 is(start_form("GET", "/foobar",&CGI::MULTIPART),
-    qq{<form method="get" action="/foobar" enctype="multipart/form-data">
-},
+    qq{<form method="get" action="/foobar" enctype="multipart/form-data">},
     'start_form() + NO_XHTML + MULTIPART');
 
 is(start_multipart_form("GET", "/foobar"),
-    qq{<form method="get" action="/foobar" enctype="multipart/form-data">
-},
+    qq{<form method="get" action="/foobar" enctype="multipart/form-data">},
     'start_multipart_form() + NO_XHTML');
 
 is(start_multipart_form("GET", "/foobar","name=\"foobar\""),
-    qq{<form method="get" action="/foobar" enctype="multipart/form-data" name="foobar">
-},
+    qq{<form method="get" action="/foobar" enctype="multipart/form-data" name="foobar">},
     'start_multipart_form() + NO_XHTML + additional args');
 
 # restoring value


Property changes on: vendor/perl/dist/cpan/CGI/t/form.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/t/function.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/function.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/function.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,6 +5,7 @@
 use Config;
 use CGI (':standard','keywords');
 $loaded = 1;
+$CGI::Util::SORT_ATTRIBUTES = 1;
 print "ok 1\n";
 
 ######################### End of black magic.
@@ -103,4 +104,4 @@
 
 test(31, header(-foo=>'bar') eq "Foo: bar${CRLF}Content-Type: text/html${CRLF}${CRLF}", "Custom header");
 
-test(32, start_form(-action=>'one',name=>'two',onsubmit=>'three') eq qq(<form method="post" action="one" enctype="multipart/form-data" onsubmit="three" name="two">\n), "initial dash followed by undashed arguments");
+test(32, start_form(-action=>'one',name=>'two',onsubmit=>'three') eq qq(<form method="post" action="one" enctype="multipart/form-data" name="two" onsubmit="three">), "initial dash followed by undashed arguments")


Property changes on: vendor/perl/dist/cpan/CGI/t/function.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/t/headers.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/headers.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/headers.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,6 +22,12 @@
 like $cgi->header( -type => "text/html".$CGI::CRLF." evil: stuff " ),
     qr#Content-Type: text/html evil: stuff#, 'known header, with leading and trailing whitespace on the continuation line';
 
+eval { $cgi->header( -p3p => ["foo".$CGI::CRLF."bar"] ) };
+like($@,qr/contains a newline/,'P3P header with CRLF embedded blows up');
+
+eval { $cgi->header( -cookie => ["foo".$CGI::CRLF."bar"] ) };
+like($@,qr/contains a newline/,'Set-Cookie header with CRLF embedded blows up');
+
 eval { $cgi->header( -foobar => "text/html".$CGI::CRLF."evil: stuff" ) };
 like($@,qr/contains a newline/,'unknown header with CRLF embedded blows up');
 


Property changes on: vendor/perl/dist/cpan/CGI/t/headers.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/hidden.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/hidden.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/hidden.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/hidden.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/t/html.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/html.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/html.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,6 +5,7 @@
 END { ok $loaded; }
 use CGI ( ':standard', '-no_debug', '*h3', 'start_table' );
 $loaded = 1;
+$CGI::Util::SORT_ATTRIBUTES= 1;
 ok 1;
 
 BEGIN {
@@ -98,7 +99,7 @@
 <html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
 <head>
 <title>The world of foo</title>
-<script src="foo.js" charset="utf-8" type="text/javascript"></script>
+<script charset="utf-8" src="foo.js" type="text/javascript"></script>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 </head>
 <body>


Property changes on: vendor/perl/dist/cpan/CGI/t/html.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/http.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/http.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/http.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/http.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/init.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/init.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/init.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/init.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/init_test.txt
===================================================================
--- vendor/perl/dist/cpan/CGI/t/init_test.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/init_test.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/init_test.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/no_tabindex.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/no_tabindex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/no_tabindex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/no_tabindex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/param_fetch.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/param_fetch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/param_fetch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/param_fetch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/popup_menu.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/popup_menu.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/popup_menu.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/popup_menu.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/pretty.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/pretty.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/pretty.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/pretty.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/push.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/push.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/push.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/push.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/query_string.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/query_string.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/query_string.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/query_string.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/request.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/request.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/request.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/request.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/save_read_roundtrip.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/save_read_roundtrip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/save_read_roundtrip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/save_read_roundtrip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/start_end_asterisk.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/start_end_asterisk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/start_end_asterisk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/start_end_asterisk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/start_end_end.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/start_end_end.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/start_end_end.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/start_end_end.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/start_end_start.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/start_end_start.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/start_end_start.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/start_end_start.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/switch.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/switch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/switch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/switch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/t/unescapeHTML.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/unescapeHTML.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/unescapeHTML.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-use Test::More tests => 4;
+use Test::More tests => 6;
 use CGI 'unescapeHTML';
 
 is( unescapeHTML( '&'), '&', 'unescapeHTML: &');
@@ -6,3 +6,7 @@
 is( unescapeHTML( '<'), '<', 'unescapeHTML: < (using a numbered sequence)'); 
 is( unescapeHTML( 'Bob & Tom went to the store; Where did you go?'), 
     'Bob & Tom went to the store; Where did you go?', 'unescapeHTML: a case where &...; should not be escaped.');
+is( unescapeHTML( 'This_string_contains_both_escaped_&_unescaped_<entities>'), 
+    'This_string_contains_both_escaped_&_unescaped_<entities>', 'unescapeHTML: partially-escaped string.');
+is( unescapeHTML( 'This escaped string kind of looks like it has an escaped entity &x; it does not'), 
+    'This escaped string kind of looks like it has an escaped entity &x; it does not', 'unescapeHTML: Another case where &...; should not be escaped.');


Property changes on: vendor/perl/dist/cpan/CGI/t/unescapeHTML.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/upload.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/upload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/upload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/upload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/uploadInfo.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/uploadInfo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/uploadInfo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/uploadInfo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/upload_post_text.txt
===================================================================
--- vendor/perl/dist/cpan/CGI/t/upload_post_text.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/upload_post_text.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/upload_post_text.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CGI/t/url.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/url.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/url.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,11 @@
 use strict;
 use warnings;
 
-use Test::More tests => 4;    # last test to print
+use Test::More;
 
-use CGI qw/ :all /;
+use CGI ':all';
 
+
 $ENV{HTTP_X_FORWARDED_HOST} = 'proxy:8484';
 $ENV{SERVER_PROTOCOL}       = 'HTTP/1.0';
 $ENV{SERVER_PORT}           = 8080;
@@ -21,3 +22,54 @@
 
 is url() => 'http://proxy', 'url() with default port';
 
+subtest 'rewrite_interactions' => sub {
+    # Reference: RT#45019
+
+    local $ENV{HTTP_X_FORWARDED_HOST} = undef;
+    local $ENV{SERVER_PROTOCOL}       = undef;
+    local $ENV{SERVER_PORT}           = undef;
+    local $ENV{SERVER_NAME}           = undef;
+
+    # These two are always set
+    local $ENV{'SCRIPT_NAME'}     = '/real/cgi-bin/dispatch.cgi';
+    local $ENV{'SCRIPT_FILENAME'} = '/home/mark/real/path/cgi-bin/dispatch.cgi';
+
+    # These two are added by mod_rewrite Ref: http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html
+
+    local $ENV{'SCRIPT_URL'}      = '/real/path/info';
+    local $ENV{'SCRIPT_URI'}      = 'http://example.com/real/path/info';
+
+    local $ENV{'PATH_INFO'}       = '/path/info';
+    local $ENV{'REQUEST_URI'}     = '/real/path/info';
+    local $ENV{'HTTP_HOST'}       = 'example.com';
+
+    my $q = CGI->new;
+
+    is(
+        $q->url( -absolute => 1, -query => 1, -path_info => 1 ),
+        '/real/path/info',
+        '$q->url( -absolute => 1, -query => 1, -path_info => 1 ) should return complete path, even when mod_rewrite is detected.'
+    );
+    is( $q->url(), 'http://example.com/real', '$q->url(), with rewriting detected' );
+    is( $q->url(-full=>1), 'http://example.com/real', '$q->url(-full=>1), with rewriting detected' );
+    is( $q->url(-path=>1), 'http://example.com/real/path/info', '$q->url(-path=>1), with rewriting detected' );
+    is( $q->url(-path=>0), 'http://example.com/real', '$q->url(-path=>0), with rewriting detected' );
+    is( $q->url(-full=>1,-path=>1), 'http://example.com/real/path/info', '$q->url(-full=>1,-path=>1), with rewriting detected' );
+    is( $q->url(-rewrite=>1,-path=>0), 'http://example.com/real', '$q->url(-rewrite=>1,-path=>0), with rewriting detected' );
+    is( $q->url(-rewrite=>1), 'http://example.com/real',
+                                                '$q->url(-rewrite=>1), with rewriting detected' );
+    is( $q->url(-rewrite=>0), 'http://example.com/real/cgi-bin/dispatch.cgi',
+                                                '$q->url(-rewrite=>0), with rewriting detected' );
+    is( $q->url(-rewrite=>0,-path=>1), 'http://example.com/real/cgi-bin/dispatch.cgi/path/info',
+                                                '$q->url(-rewrite=>0,-path=>1), with rewriting detected' );
+    is( $q->url(-rewrite=>1,-path=>1), 'http://example.com/real/path/info',
+                                                '$q->url(-rewrite=>1,-path=>1), with rewriting detected' );
+    is( $q->url(-rewrite=>0,-path=>0), 'http://example.com/real/cgi-bin/dispatch.cgi',
+                                                '$q->url(-rewrite=>0,-path=>1), with rewriting detected' );
+    done_testing();
+};
+
+
+done_testing();
+
+


Property changes on: vendor/perl/dist/cpan/CGI/t/url.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/user_agent.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/user_agent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/user_agent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/user_agent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/utf8.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/util-58.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/util-58.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/util-58.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/util-58.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CGI/t/util.t
===================================================================
--- vendor/perl/dist/cpan/CGI/t/util.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CGI/t/util.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CGI/t/util.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/Changes
===================================================================
--- vendor/perl/dist/cpan/CPAN/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,54 @@
+2013-04-12  Andreas Koenig  <k at UX31A>
+
+	* release 2.00 (at Lancester #QA2013)
+
+	* Removed the trial status for the release in the Makefile.PL
+
+	* Merge with App::Cpan 0.61 (just a version number change)
+
+2013-02-06  k  <k at k83.linux.bogus>
+
+	* release 2.00-TRIAL
+
+	* import App::Cpan 0.60_02 from brian d foy
+
+	* RT#82589 doc fix thanks to Zefram
+
+	* several portability fixes for 5.6.2
+
+	* RT#83042 workaround for current circular dependency in CPANPLUS and
+	CPANPLUS::Dist::Build
+
+2012-10-16  Andreas Koenig  <andreas.koenig.7os6VVqR at franz.ak.mind.de>
+
+	* release 1.99_51
+
+	* RT #79969: fix incompatibilities with VMS (Craig Berry)
+
+  * bugfix: distroprefs of type pl/args were dropped for 'perl Build.PL'
+
+	* RT #73742: watch build_dirs and react calmly when one has gone lost
+
+2011-08-07  Andreas J. Koenig  <andk at cpan.org>
+
+	* release 1.9800
+
+	* RT #69463: fix memory leak in CacheMgr (Serguei Trouchelle)
+
+2011-06-27  Andreas J. Koenig  <andk at cpan.org>
+
+	* release 1.97_51
+
+	* address #68835: Changed read_meta to ignore dynamic_config (David Golden)
+
+	* bugfix: refuse to store_persistent if the own build_dir is not
+	available (Andreas Koenig)
+
+	* cosmetics: remove "Going to" from the beginning of user-visible
+	strings (Jesse Vincent)
+
+	* flock adjustments for Win32 from activestate (Christian Walde)
+
 2011-03-12  Andreas J. Koenig  <andk at cpan.org>
 
 	* release 1.9600


Property changes on: vendor/perl/dist/cpan/CPAN/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/PAUSE2003.pub
===================================================================
--- vendor/perl/dist/cpan/CPAN/PAUSE2003.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/PAUSE2003.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/PAUSE2003.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/PAUSE2005.pub
===================================================================
--- vendor/perl/dist/cpan/CPAN/PAUSE2005.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/PAUSE2005.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/PAUSE2005.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/PAUSE2007.pub
===================================================================
--- vendor/perl/dist/cpan/CPAN/PAUSE2007.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/PAUSE2007.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/PAUSE2007.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/PAUSE2009.pub
===================================================================
--- vendor/perl/dist/cpan/CPAN/PAUSE2009.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/PAUSE2009.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/PAUSE2009.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/PAUSE2011.pub
===================================================================
--- vendor/perl/dist/cpan/CPAN/PAUSE2011.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/PAUSE2011.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/PAUSE2011.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,11 @@
 package App::Cpan;
+
+use 5.008;
 use strict;
 use warnings;
 use vars qw($VERSION);
 
-$VERSION = '1.5701';
+$VERSION = '1.61';
 
 =head1 NAME
 
@@ -15,20 +17,20 @@
 	cpan module_name [ module_name ... ]
 
 	# with switches, installs modules with extra behavior
-	cpan [-cfFimt] module_name [ module_name ... ]
+	cpan [-cfFimtTw] module_name [ module_name ... ]
 
 	# use local::lib
-	cpan -l module_name [ module_name ... ]
-	
+	cpan -I module_name [ module_name ... ]
+
 	# with just the dot, install from the distribution in the
 	# current directory
 	cpan .
-	
+
 	# without arguments, starts CPAN.pm shell
 	cpan
 
 	# without arguments, but some switches
-	cpan [-ahruvACDLO]
+	cpan [-ahpruvACDLOP]
 
 =head1 DESCRIPTION
 
@@ -73,7 +75,7 @@
 
 =item -F
 
-Turn off CPAN.pm's attempts to lock anything. You should be careful with 
+Turn off CPAN.pm's attempts to lock anything. You should be careful with
 this since you might end up with multiple scripts trying to muck in the
 same directory. This isn't so much of a concern if you're loading a special
 config with C<-j>, and that config sets up its own work directories.
@@ -100,12 +102,18 @@
 
 =item -i
 
-Install the specified modules.
+Install the specified modules. With no other switches, this switch
+is implied.
 
+=item -I
+
+Load C<local::lib> (think like C<-I> for loading lib paths). Too bad
+C<-l> was already taken.
+
 =item -j Config.pm
 
 Load the file that has the CPAN configuration data. This should have the
-same format as the standard F<CPAN/Config.pm> file, which defines 
+same format as the standard F<CPAN/Config.pm> file, which defines
 C<$CPAN::Config> as an anonymous hash.
 
 =item -J
@@ -116,7 +124,7 @@
 
 =item -l
 
-Use C<local::lib>.
+List all installed modules wth their versions
 
 =item -L author [ author ... ]
 
@@ -126,18 +134,34 @@
 
 Make the specified modules.
 
+=item -n
+
+Do a dry run, but don't actually install anything. (unimplemented)
+
 =item -O
 
 Show the out-of-date modules.
 
-=item -t
+=item -p
 
-Run a `make test` on the specified modules.
+Ping the configured mirrors
 
+=item -P
+
+Find the best mirrors you could be using (but doesn't configure them just yet)
+
 =item -r
 
 Recompiles dynamically loaded modules with CPAN::Shell->recompile.
 
+=item -t
+
+Run a `make test` on the specified modules.
+
+=item -T
+
+Do not test modules. Simply install them.
+
 =item -u
 
 Upgrade all installed modules. Blindly doing this can really break things,
@@ -147,6 +171,17 @@
 
 Print the script version and CPAN.pm version then exit.
 
+=item -V
+
+Print detailed information about the cpan client.
+
+=item -w
+
+UNIMPLEMENTED
+
+Turn on cpan warnings. This checks various things, like directory permissions,
+and tells you about problems you might have.
+
 =back
 
 =head2 Examples
@@ -181,22 +216,22 @@
 
 use autouse Carp => qw(carp croak cluck);
 use CPAN ();
+use Config;
 use autouse Cwd => qw(cwd);
 use autouse 'Data::Dumper' => qw(Dumper);
 use File::Spec::Functions;
 use File::Basename;
-
 use Getopt::Std;
 
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 # Internal constants
 use constant TRUE  => 1;
 use constant FALSE => 0;
 
 
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 # The return values
-use constant HEY_IT_WORKED              =>   0; 
+use constant HEY_IT_WORKED              =>   0;
 use constant I_DONT_KNOW_WHAT_HAPPENED  =>   1; # 0b0000_0001
 use constant ITS_NOT_MY_FAULT           =>   2;
 use constant THE_PROGRAMMERS_AN_IDIOT   =>   4;
@@ -203,14 +238,14 @@
 use constant A_MODULE_FAILED_TO_INSTALL =>   8;
 
 
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 # set up the order of options that we layer over CPAN::Shell
 BEGIN { # most of this should be in methods
 use vars qw( @META_OPTIONS $Default %CPAN_METHODS @CPAN_OPTIONS  @option_order
 	%Method_table %Method_table_index );
-	
- at META_OPTIONS = qw( h v g G C A D O l L a r j: J );
 
+ at META_OPTIONS = qw( h v V I g G C A D O l L a r p P j: J w T);
+
 $Default = 'default';
 
 %CPAN_METHODS = ( # map switches to method names in CPAN::Shell
@@ -227,7 +262,7 @@
 @option_order = ( @META_OPTIONS, @CPAN_OPTIONS );
 
 
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 # map switches to the subroutines in this script, along with other information.
 # use this stuff instead of hard-coded indices and values
 sub NO_ARGS   () { 0 }
@@ -240,25 +275,31 @@
 	# options that do their thing first, then exit
 	h =>  [ \&_print_help,        NO_ARGS, GOOD_EXIT, 'Printing help'                ],
 	v =>  [ \&_print_version,     NO_ARGS, GOOD_EXIT, 'Printing version'             ],
+	V =>  [ \&_print_details,     NO_ARGS, GOOD_EXIT, 'Printing detailed version'    ],
 
 	# options that affect other options
 	j =>  [ \&_load_config,          ARGS, GOOD_EXIT, 'Use specified config file'    ],
 	J =>  [ \&_dump_config,       NO_ARGS, GOOD_EXIT, 'Dump configuration to stdout' ],
 	F =>  [ \&_lock_lobotomy,     NO_ARGS, GOOD_EXIT, 'Turn off CPAN.pm lock files'  ],
+	I =>  [ \&_load_local_lib,    NO_ARGS, GOOD_EXIT, 'Loading local::lib'           ],
+    w =>  [ \&_turn_on_warnings,  NO_ARGS, GOOD_EXIT, 'Turning on warnings'          ],
+    T =>  [ \&_turn_off_testing,  NO_ARGS, GOOD_EXIT, 'Turning off testing'          ],
 
 	# options that do their one thing
 	g =>  [ \&_download,          NO_ARGS, GOOD_EXIT, 'Download the latest distro'        ],
 	G =>  [ \&_gitify,            NO_ARGS, GOOD_EXIT, 'Down and gitify the latest distro' ],
-	
+
 	C =>  [ \&_show_Changes,         ARGS, GOOD_EXIT, 'Showing Changes file'         ],
 	A =>  [ \&_show_Author,          ARGS, GOOD_EXIT, 'Showing Author'               ],
 	D =>  [ \&_show_Details,         ARGS, GOOD_EXIT, 'Showing Details'              ],
 	O =>  [ \&_show_out_of_date,  NO_ARGS, GOOD_EXIT, 'Showing Out of date'          ],
-
 	l =>  [ \&_list_all_mods,     NO_ARGS, GOOD_EXIT, 'Listing all modules'          ],
 
 	L =>  [ \&_show_author_mods,     ARGS, GOOD_EXIT, 'Showing author mods'          ],
 	a =>  [ \&_create_autobundle, NO_ARGS, GOOD_EXIT, 'Creating autobundle'          ],
+	p =>  [ \&_ping_mirrors,      NO_ARGS, GOOD_EXIT, 'Pinging mirrors'              ],
+	P =>  [ \&_find_good_mirrors, NO_ARGS, GOOD_EXIT, 'Finding good mirrors'         ],
+
 	r =>  [ \&_recompile,         NO_ARGS, GOOD_EXIT, 'Recompiling'                  ],
 	u =>  [ \&_upgrade,           NO_ARGS, GOOD_EXIT, 'Running `make test`'          ],
 
@@ -267,7 +308,6 @@
 	i =>  [ \&_default,              ARGS, GOOD_EXIT, 'Running `make install`'       ],
    'm' => [ \&_default,              ARGS, GOOD_EXIT, 'Running `make`'               ],
 	t =>  [ \&_default,              ARGS, GOOD_EXIT, 'Running `make test`'          ],
-
 	);
 
 %Method_table_index = (
@@ -278,7 +318,8 @@
 	);
 }
 
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 # finally, do some argument processing
 
 sub _stupid_interface_hack_for_non_rtfmers
@@ -286,17 +327,19 @@
 	no warnings 'uninitialized';
 	shift @ARGV if( $ARGV[0] eq 'install' and @ARGV > 1 )
 	}
-	
+
 sub _process_options
 	{
 	my %options;
-	
+
+	push @ARGV, grep $_, split /\s+/, $ENV{CPAN_OPTS} || '';
+
 	# if no arguments, just drop into the shell
 	if( 0 == @ARGV ) { CPAN::shell(); exit 0 }
 	else
 		{
 		Getopt::Std::getopts(
-		  join( '', @option_order ), \%options );    
+		  join( '', @option_order ), \%options );
 		 \%options;
 		}
 	}
@@ -304,7 +347,7 @@
 sub _process_setup_options
 	{
 	my( $class, $options ) = @_;
-	
+
 	if( $options->{j} )
 		{
 		$Method_table{j}[ $Method_table_index{code} ]->( $options->{j} );
@@ -313,22 +356,36 @@
 	else
 		{
 		# this is what CPAN.pm would do otherwise
+		local $CPAN::Be_Silent = 1;
 		CPAN::HandleConfig->load(
-			# be_silent  => 1, # candidate to be ripped out forever
+			# be_silent  => 1, deprecated
 			write_file => 0,
 			);
 		}
-		
-	if( $options->{F} )
+
+	foreach my $o ( qw(F I w T) )
 		{
-		$Method_table{F}[ $Method_table_index{code} ]->( $options->{F} );
-		delete $options->{F};
+		next unless exists $options->{$o};
+		$Method_table{$o}[ $Method_table_index{code} ]->( $options->{$o} );
+		delete $options->{$o};
 		}
 
+	if( $options->{o} )
+		{
+		my @pairs = map { [ split /=/, $_, 2 ] } split /,/, $options->{o};
+		foreach my $pair ( @pairs )
+			{
+			my( $setting, $value ) = @$pair;
+			$CPAN::Config->{$setting} = $value;
+		#	$logger->debug( "Setting [$setting] to [$value]" );
+			}
+		delete $options->{o};
+		}
+
 	my $option_count = grep { $options->{$_} } @option_order;
 	no warnings 'uninitialized';
 	$option_count -= $options->{'f'}; # don't count force
-	
+
 	# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 	# if there are no options, set -i (this line fixes RT ticket 16915)
 	$options->{i}++ unless $option_count;
@@ -339,7 +396,7 @@
 
 Just do it.
 
-The C<run> method returns 0 on success and a postive number on 
+The C<run> method returns 0 on success and a postive number on
 failure. See the section on EXIT CODES for details on the values.
 
 =cut
@@ -367,10 +424,10 @@
 	$class->_process_setup_options( $options );
 
 	OPTION: foreach my $option ( @option_order )
-		{	
+		{
 		next unless $options->{$option};
 
-		my( $sub, $takes_args, $description ) = 
+		my( $sub, $takes_args, $description ) =
 			map { $Method_table{$option}[ $Method_table_index{$_} ] }
 			qw( code takes_args );
 
@@ -382,7 +439,7 @@
 
 		$logger->info( "$description -- ignoring other arguments" )
 			if( @ARGV && ! $takes_args );
-		
+
 		$return_value = $sub->( \ @ARGV, $options );
 
 		last;
@@ -392,10 +449,11 @@
 	}
 
 {
-package Local::Null::Logger;
+package
+  Local::Null::Logger; # hide from PAUSE
 
 sub new { bless \ my $x, $_[0] }
-sub AUTOLOAD { shift; print "NullLogger: ", @_, $/ if $ENV{CPAN_NULL_LOGGER} }
+sub AUTOLOAD { 1 }
 sub DESTROY { 1 }
 }
 
@@ -402,15 +460,15 @@
 sub _init_logger
 	{
 	my $log4perl_loaded = eval "require Log::Log4perl; 1";
-	
+
     unless( $log4perl_loaded )
         {
         $logger = Local::Null::Logger->new;
         return $logger;
         }
-	
+
 	my $LEVEL = $ENV{CPANSCRIPT_LOGLEVEL} || 'INFO';
-	
+
 	Log::Log4perl::init( \ <<"HERE" );
 log4perl.rootLogger=$LEVEL, A1
 log4perl.appender.A1=Log::Log4perl::Appender::Screen
@@ -417,18 +475,18 @@
 log4perl.appender.A1.layout=PatternLayout
 log4perl.appender.A1.layout.ConversionPattern=%m%n
 HERE
-	
+
 	$logger = Log::Log4perl->get_logger( 'App::Cpan' );
 	}
-	
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
- # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
 
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+
 sub _default
 	{
 	my( $args, $options ) = @_;
-	
+
 	my $switch = '';
 
 	# choose the option that we're going to use
@@ -458,12 +516,12 @@
 		if( $options->{f} ) { sub { CPAN::Shell->force( $method, @_ ) } }
 		else                { sub { CPAN::Shell->$method( @_ )        } }
 		};
-	
+
 	# How do I handle exit codes for multiple arguments?
 	my $errors = 0;
-	
-	foreach my $arg ( @$args ) 
-		{		
+
+	foreach my $arg ( @$args )
+		{
 		_clear_cpanpm_output();
 		$action->( $arg );
 
@@ -473,25 +531,26 @@
 	$errors ? I_DONT_KNOW_WHAT_HAPPENED : HEY_IT_WORKED;
 	}
 
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 
 =for comment
 
-CPAN.pm sends all the good stuff either to STDOUT. I have to intercept
-that output so I can find out what happened.
+CPAN.pm sends all the good stuff either to STDOUT, or to a temp
+file if $CPAN::Be_Silent is set. I have to intercept that output
+so I can find out what happened.
 
 =cut
 
-{
+BEGIN {
 my $scalar = '';
 
 sub _hook_into_CPANpm_report
 	{
 	no warnings 'redefine';
-	
+
 	*CPAN::Shell::myprint = sub {
 		my($self,$what) = @_;
-		$scalar .= $what if defined $what;
+		$scalar .= $what;
 		$self->print_ornamented($what,
 			$CPAN::Config->{colorize_print}||'bold blue on_white',
 			);
@@ -499,19 +558,18 @@
 
 	*CPAN::Shell::mywarn = sub {
 		my($self,$what) = @_;
-		$scalar .= $what if defined $what;
-		$self->print_ornamented($what, 
+		$scalar .= $what;
+		$self->print_ornamented($what,
 			$CPAN::Config->{colorize_warn}||'bold red on_white'
 			);
 		};
 
 	}
-	
+
 sub _clear_cpanpm_output { $scalar = '' }
-	
+
 sub _get_cpanpm_output   { $scalar }
 
-BEGIN {
 my @skip_lines = (
 	qr/^\QWarning \(usually harmless\)/,
 	qr/\bwill not store persistent state\b/,
@@ -522,9 +580,9 @@
 sub _get_cpanpm_last_line
 	{
 	open my($fh), "<", \ $scalar;
-	
+
 	my @lines = <$fh>;
-	
+
     # This is a bit ugly. Once we examine a line, we have to
     # examine the line before it and go through all of the same
     # regexes. I could do something fancy, but this works.
@@ -537,10 +595,10 @@
             redo REGEXES; # we have to go through all of them for every line!
             }
 		}
-    }
-    
+	}
+
     $logger->debug( "Last interesting line of CPAN.pm output is:\n\t$lines[-1]" );
-    
+
 	$lines[-1];
 	}
 }
@@ -548,53 +606,305 @@
 BEGIN {
 my $epic_fail_words = join '|',
 	qw( Error stop(?:ping)? problems force not unsupported fail(?:ed)? );
-	
+
 sub _cpanpm_output_indicates_failure
 	{
 	my $last_line = _get_cpanpm_last_line();
-	
+
 	my $result = $last_line =~ /\b(?:$epic_fail_words)\b/i;
 	$result || ();
 	}
 }
-	
+
 sub _cpanpm_output_indicates_success
 	{
 	my $last_line = _get_cpanpm_last_line();
-	
+
 	my $result = $last_line =~ /\b(?:\s+-- OK|PASS)\b/;
 	$result || ();
 	}
-	
+
 sub _cpanpm_output_is_vague
 	{
-	return FALSE if 
-		_cpanpm_output_indicates_failure() || 
+	return FALSE if
+		_cpanpm_output_indicates_failure() ||
 		_cpanpm_output_indicates_success();
 
 	return TRUE;
 	}
 
-}
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
+sub _turn_on_warnings {
+	carp "Warnings are implemented yet";
+	return HEY_IT_WORKED;
+	}
 
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # 
+sub _turn_off_testing {
+	$logger->debug( 'Trusting test report history' );
+	$CPAN::Config->{trust_test_report_history} = 1;
+	return HEY_IT_WORKED;
+	}
+
+# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
 sub _print_help
 	{
 	$logger->info( "Use perldoc to read the documentation" );
 	exec "perldoc $0";
 	}
-	
-sub _print_version
+
+sub _print_version # -v
 	{
-	$logger->info( 
+	$logger->info(
 		"$0 script version $VERSION, CPAN.pm version " . CPAN->VERSION );
 
 	return HEY_IT_WORKED;
 	}
-	
+
+sub _print_details # -V
+	{
+	_print_version();
+
+	_check_install_dirs();
+
+	$logger->info( '-' x 50 . "\nChecking configured mirrors..." );
+	foreach my $mirror ( @{ $CPAN::Config->{urllist} } ) {
+		_print_ping_report( $mirror );
+		}
+
+	$logger->info( '-' x 50 . "\nChecking for faster mirrors..." );
+
+	{
+	require CPAN::Mirrors;
+
+      if ( $CPAN::Config->{connect_to_internet_ok} ) {
+        $CPAN::Frontend->myprint(qq{Trying to fetch a mirror list from the Internet\n});
+        eval { CPAN::FTP->localize('MIRRORED.BY',File::Spec->catfile($CPAN::Config->{keep_source_where},'MIRRORED.BY'),3,1) }
+          or $CPAN::Frontend->mywarn(<<'HERE');
+We failed to get a copy of the mirror list from the Internet.
+You will need to provide CPAN mirror URLs yourself.
+HERE
+        $CPAN::Frontend->myprint("\n");
+      }
+
+	my $mirrors   = CPAN::Mirrors->new(  );
+	$mirrors->parse_mirrored_by( File::Spec->catfile($CPAN::Config->{keep_source_where},'MIRRORED.BY') );
+	my @continents = $mirrors->find_best_continents;
+
+	my @mirrors   = $mirrors->get_mirrors_by_continents( $continents[0] );
+	my @timings   = $mirrors->get_mirrors_timings( \@mirrors );
+
+	foreach my $timing ( @timings ) {
+		$logger->info( sprintf "%s (%0.2f ms)",
+			$timing->hostname, $timing->rtt );
+		}
+	}
+
+	return HEY_IT_WORKED;
+	}
+
+sub _check_install_dirs
+	{
+	my $makepl_arg   = $CPAN::Config->{makepl_arg};
+	my $mbuildpl_arg = $CPAN::Config->{mbuildpl_arg};
+
+	my @custom_dirs;
+	# PERL_MM_OPT
+	push @custom_dirs,
+		$makepl_arg   =~ m/INSTALL_BASE\s*=\s*(\S+)/g,
+		$mbuildpl_arg =~ m/--install_base\s*=\s*(\S+)/g;
+
+	if( @custom_dirs ) {
+		foreach my $dir ( @custom_dirs ) {
+			_print_inc_dir_report( $dir );
+			}
+		}
+
+	# XXX: also need to check makepl_args, etc
+
+	my @checks = (
+		[ 'core',         [ grep $_, @Config{qw(installprivlib installarchlib)}      ] ],
+		[ 'vendor',       [ grep $_, @Config{qw(installvendorlib installvendorarch)} ] ],
+		[ 'site',         [ grep $_, @Config{qw(installsitelib installsitearch)}     ] ],
+		[ 'PERL5LIB',     _split_paths( $ENV{PERL5LIB} ) ],
+		[ 'PERLLIB',      _split_paths( $ENV{PERLLIB} )  ],
+		);
+
+	$logger->info( '-' x 50 . "\nChecking install dirs..." );
+	foreach my $tuple ( @checks ) {
+		my( $label ) = $tuple->[0];
+
+		$logger->info( "Checking $label" );
+		$logger->info( "\tno directories for $label" ) unless @{ $tuple->[1] };
+		foreach my $dir ( @{ $tuple->[1] } ) {
+			_print_inc_dir_report( $dir );
+			}
+		}
+
+	}
+
+sub _split_paths
+	{
+	[ map { _expand_filename( $_ ) } split /$Config{path_sep}/, $_[0] || '' ];
+	}
+
+
+=pod
+
+Stolen from File::Path::Expand
+
+=cut
+
+sub _expand_filename
+	{
+    my( $path ) = @_;
+    no warnings 'uninitialized';
+    $logger->debug( "Expanding path $path\n" );
+    $path =~ s{\A~([^/]+)?}{
+		_home_of( $1 || $> ) || "~$1"
+    	}e;
+    return $path;
+	}
+
+sub _home_of
+	{
+	require User::pwent;
+    my( $user ) = @_;
+    my $ent = User::pwent::getpw($user) or return;
+    return $ent->dir;
+	}
+
+sub _get_default_inc
+	{
+	require Config;
+
+	[ @Config::Config{ _vars() }, '.' ];
+	}
+
+sub _vars {
+	qw(
+	installarchlib
+	installprivlib
+	installsitearch
+	installsitelib
+	);
+	}
+
+sub _ping_mirrors {
+	my $urls   = $CPAN::Config->{urllist};
+	require URI;
+
+	foreach my $url ( @$urls ) {
+		my( $obj ) = URI->new( $url );
+		next unless _is_pingable_scheme( $obj );
+		my $host = $obj->host;
+		_print_ping_report( $obj );
+		}
+
+	}
+
+sub _is_pingable_scheme {
+	my( $uri ) = @_;
+
+	$uri->scheme eq 'file'
+	}
+
+sub _find_good_mirrors {
+	require CPAN::Mirrors;
+
+	my $mirrors = CPAN::Mirrors->new;
+	my $file = do {
+		my $file = 'MIRRORED.BY';
+		my $local_path = File::Spec->catfile(
+			$CPAN::Config->{keep_source_where}, $file );
+
+		if( -e $local_path ) { $local_path }
+		else {
+			require CPAN::FTP;
+			CPAN::FTP->localize( $file, $local_path, 3, 1 );
+			$local_path;
+			}
+		};
+
+	$mirrors->parse_mirrored_by( $file );
+
+	my @mirrors = $mirrors->best_mirrors(
+		how_many   => 3,
+		verbose    => 1,
+		);
+
+	foreach my $mirror ( @mirrors ) {
+		next unless eval { $mirror->can( 'http' ) };
+		_print_ping_report( $mirror->http );
+		}
+
+	}
+
+sub _print_inc_dir_report
+	{
+	my( $dir ) = shift;
+
+	my $writeable = -w $dir ? '+' : '!!! (not writeable)';
+	$logger->info( "\t$writeable $dir" );
+	return -w $dir;
+	}
+
+sub _print_ping_report
+	{
+	my( $mirror ) = @_;
+
+	my $rtt = eval { _get_ping_report( $mirror ) };
+
+	$logger->info(
+		sprintf "\t%s (%4d ms) %s", $rtt  ? '+' : '!',  $rtt * 1000, $mirror
+		);
+	}
+
+sub _get_ping_report
+	{
+	require URI;
+	my( $mirror ) = @_;
+	my( $url ) = ref $mirror ? $mirror : URI->new( $mirror ); #XXX
+	require Net::Ping;
+
+	my $ping = Net::Ping->new( 'tcp', 1 );
+
+	if( $url->scheme eq 'file' ) {
+		return -e $url->file;
+		}
+
+    my( $port ) = $url->port;
+
+    return unless $port;
+
+    if ( $ping->can('port_number') ) {
+        $ping->port_number($port);
+    	}
+    else {
+        $ping->{'port_num'} = $port;
+    	}
+
+    $ping->hires(1) if $ping->can( 'hires' );
+    my( $alive, $rtt ) = eval{ $ping->ping( $url->host ) };
+	$alive ? $rtt : undef;
+	}
+
+sub _load_local_lib # -I
+	{
+	$logger->debug( "Loading local::lib" );
+
+	my $rc = eval { require local::lib; 1; };
+	unless( $rc ) {
+		$logger->die( "Could not load local::lib" );
+		}
+
+	local::lib->import;
+
+	return HEY_IT_WORKED;
+	}
+
 sub _create_autobundle
 	{
-	$logger->info( 
+	$logger->info(
 		"Creating autobundle in $CPAN::Config->{cpan_home}/Bundle" );
 
 	CPAN::Shell->autobundle;
@@ -621,85 +931,85 @@
 	}
 
 sub _load_config # -j
-	{	
+	{
 	my $file = shift || '';
-	
+
 	# should I clear out any existing config here?
 	$CPAN::Config = {};
 	delete $INC{'CPAN/Config.pm'};
 	croak( "Config file [$file] does not exist!\n" ) unless -e $file;
-	
+
 	my $rc = eval "require '$file'";
 
 	# CPAN::HandleConfig::require_myconfig_or_config looks for this
 	$INC{'CPAN/MyConfig.pm'} = 'fake out!';
-	
+
 	# CPAN::HandleConfig::load looks for this
 	$CPAN::Config_loaded = 'fake out';
-	
+
 	croak( "Could not load [$file]: $@\n") unless $rc;
-	
+
 	return HEY_IT_WORKED;
 	}
 
-sub _dump_config
+sub _dump_config # -J
 	{
 	my $args = shift;
 	require Data::Dumper;
-	
+
 	my $fh = $args->[0] || \*STDOUT;
-		
-	my $dd = Data::Dumper->new( 
-		[$CPAN::Config], 
-		['$CPAN::Config'] 
+
+	my $dd = Data::Dumper->new(
+		[$CPAN::Config],
+		['$CPAN::Config']
 		);
-		
+
 	print $fh $dd->Dump, "\n1;\n__END__\n";
-	
+
 	return HEY_IT_WORKED;
 	}
 
-sub _lock_lobotomy
+sub _lock_lobotomy # -F
 	{
 	no warnings 'redefine';
-	
+
 	*CPAN::_flock    = sub { 1 };
 	*CPAN::checklock = sub { 1 };
 
 	return HEY_IT_WORKED;
 	}
-	
+
 sub _download
-	{	
+	{
 	my $args = shift;
-	
+
 	local $CPAN::DEBUG = 1;
-	
+
 	my %paths;
-	
+
 	foreach my $module ( @$args )
 		{
 		$logger->info( "Checking $module" );
 		my $path = CPAN::Shell->expand( "Module", $module )->cpan_file;
-		
+
 		$logger->debug( "Inst file would be $path\n" );
-		
+
 		$paths{$module} = _get_file( _make_path( $path ) );
 		}
-		
+
 	return \%paths;
 	}
 
 sub _make_path { join "/", qw(authors id), $_[0] }
-	
+
 sub _get_file
 	{
 	my $path = shift;
-	
+
 	my $loaded = eval "require LWP::Simple; 1;";
 	croak "You need LWP::Simple to use features that fetch files from CPAN\n"
 		unless $loaded;
-	
+
 	my $file = substr $path, rindex( $path, '/' ) + 1;
 	my $store_path = catfile( cwd(), $file );
 	$logger->debug( "Store path is $store_path" );
@@ -717,13 +1027,13 @@
 sub _gitify
 	{
 	my $args = shift;
-	
+
 	my $loaded = eval "require Archive::Extract; 1;";
 	croak "You need Archive::Extract to use features that gitify distributions\n"
 		unless $loaded;
-	
+
 	my $starting_dir = cwd();
-	
+
 	foreach my $module ( @$args )
 		{
 		$logger->info( "Checking $module" );
@@ -731,23 +1041,23 @@
 
 		my $store_paths = _download( [ $module ] );
 		$logger->debug( "gitify Store path is $store_paths->{$module}" );
-		my $dirname = dirname( $store_paths->{$module} );	
-	
+		my $dirname = dirname( $store_paths->{$module} );
+
 		my $ae = Archive::Extract->new( archive => $store_paths->{$module} );
 		$ae->extract( to => $dirname );
-		
+
 		chdir $ae->extract_path;
-		
+
 		my $git = $ENV{GIT_COMMAND} || '/usr/local/bin/git';
 		croak "Could not find $git"    unless -e $git;
 		croak "$git is not executable" unless -x $git;
-		
+
 		# can we do this in Pure Perl?
 		system( $git, 'init'    );
 		system( $git, qw( add . ) );
 		system( $git, qw( commit -a -m ), 'initial import' );
 		}
-	
+
 	chdir $starting_dir;
 
 	return HEY_IT_WORKED;
@@ -756,42 +1066,42 @@
 sub _show_Changes
 	{
 	my $args = shift;
-	
+
 	foreach my $arg ( @$args )
 		{
 		$logger->info( "Checking $arg\n" );
-		
+
 		my $module = eval { CPAN::Shell->expand( "Module", $arg ) };
 		my $out = _get_cpanpm_output();
-		
+
 		next unless eval { $module->inst_file };
 		#next if $module->uptodate;
-	
+
 		( my $id = $module->id() ) =~ s/::/\-/;
-	
+
 		my $url = "http://search.cpan.org/~" . lc( $module->userid ) . "/" .
 			$id . "-" . $module->cpan_version() . "/";
-	
+
 		#print "URL: $url\n";
 		_get_changes_file($url);
 		}
 
 	return HEY_IT_WORKED;
-	}	
-	
+	}
+
 sub _get_changes_file
 	{
 	croak "Reading Changes files requires LWP::Simple and URI\n"
 		unless eval "require LWP::Simple; require URI; 1";
-	
+
     my $url = shift;
 
     my $content = LWP::Simple::get( $url );
     $logger->info( "Got $url ..." ) if defined $content;
 	#print $content;
-	
+
 	my( $change_link ) = $content =~ m|<a href="(.*?)">Changes</a>|gi;
-	
+
 	my $changes_url = URI->new_abs( $change_link, $url );
  	$logger->debug( "Change link is: $changes_url" );
 
@@ -801,11 +1111,11 @@
 
 	return HEY_IT_WORKED;
 	}
-	
+
 sub _show_Author
-	{	
+	{
 	my $args = shift;
-	
+
 	foreach my $arg ( @$args )
 		{
 		my $module = CPAN::Shell->expand( "Module", $arg );
@@ -814,29 +1124,29 @@
 			$logger->info( "Didn't find a $arg module, so no author!" );
 			next;
 			}
-			
+
 		my $author = CPAN::Shell->expand( "Author", $module->userid );
-	
+
 		next unless $module->userid;
-	
-		printf "%-25s %-8s %-25s %s\n", 
-			$arg, $module->userid, $author->email, $author->fullname;
+
+		printf "%-25s %-8s %-25s %s\n",
+			$arg, $module->userid, $author->email, $author->name;
 		}
 
 	return HEY_IT_WORKED;
-	}	
+	}
 
 sub _show_Details
 	{
 	my $args = shift;
-	
+
 	foreach my $arg ( @$args )
 		{
 		my $module = CPAN::Shell->expand( "Module", $arg );
 		my $author = CPAN::Shell->expand( "Author", $module->userid );
-	
+
 		next unless $module->userid;
-	
+
 		print "$arg\n", "-" x 73, "\n\t";
 		print join "\n\t",
 			$module->description ? $module->description : "(no description)",
@@ -848,26 +1158,26 @@
 			$author->fullname . " (" . $module->userid . ")",
 			$author->email;
 		print "\n\n";
-		
+
 		}
-		
+
 	return HEY_IT_WORKED;
-	}	
+	}
 
 sub _show_out_of_date
 	{
 	my @modules = CPAN::Shell->expand( "Module", "/./" );
-		
+
 	printf "%-40s  %6s  %6s\n", "Module Name", "Local", "CPAN";
 	print "-" x 73, "\n";
-	
+
 	foreach my $module ( @modules )
 		{
 		next unless $module->inst_file;
 		next if $module->uptodate;
 		printf "%-40s  %.4f  %.4f\n",
-			$module->id, 
-			$module->inst_version ? $module->inst_version : '', 
+			$module->id,
+			$module->inst_version ? $module->inst_version : '',
 			$module->cpan_version;
 		}
 
@@ -879,42 +1189,42 @@
 	my $args = shift;
 
 	my %hash = map { lc $_, 1 } @$args;
-	
+
 	my @modules = CPAN::Shell->expand( "Module", "/./" );
-	
+
 	foreach my $module ( @modules )
 		{
 		next unless exists $hash{ lc $module->userid };
 		print $module->id, "\n";
 		}
-	
+
 	return HEY_IT_WORKED;
 	}
-	
-sub _list_all_mods
+
+sub _list_all_mods # -l
 	{
 	require File::Find;
-	
+
 	my $args = shift;
-	
-	
+
+
 	my $fh = \*STDOUT;
-	
+
 	INC: foreach my $inc ( @INC )
-		{		
+		{
 		my( $wanted, $reporter ) = _generator();
 		File::Find::find( { wanted => $wanted }, $inc );
-		
+
 		my $count = 0;
 		FILE: foreach my $file ( @{ $reporter->() } )
 			{
 			my $version = _parse_version_safely( $file );
-			
+
 			my $module_name = _path_to_module( $inc, $file );
 			next FILE unless defined $module_name;
-			
+
 			print $fh "$module_name\t$version\n";
-			
+
 			#last if $count++ > 5;
 			}
 		}
@@ -921,29 +1231,29 @@
 
 	return HEY_IT_WORKED;
 	}
-	
+
 sub _generator
-	{			
+	{
 	my @files = ();
-	
-	sub { push @files, 
-		File::Spec->canonpath( $File::Find::name ) 
+
+	sub { push @files,
+		File::Spec->canonpath( $File::Find::name )
 		if m/\A\w+\.pm\z/ },
 	sub { \@files },
 	}
-	
+
 sub _parse_version_safely # stolen from PAUSE's mldistwatch, but refactored
 	{
 	my( $file ) = @_;
-	
+
 	local $/ = "\n";
 	local $_; # don't mess with the $_ in the map calling this
-	
+
 	return unless open FILE, "<$file";
 
 	my $in_pod = 0;
 	my $version;
-	while( <FILE> ) 
+	while( <FILE> )
 		{
 		chomp;
 		$in_pod = /^=(?!cut)/ ? 1 : /^=cut/ ? 0 : $in_pod;
@@ -951,7 +1261,7 @@
 
 		next unless /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/;
 		my( $sigil, $var ) = ( $1, $2 );
-		
+
 		$version = _eval_version( $_, $sigil, $var );
 		last;
 		}
@@ -958,7 +1268,7 @@
 	close FILE;
 
 	return 'undef' unless defined $version;
-	
+
 	return $version;
 	}
 
@@ -965,16 +1275,18 @@
 sub _eval_version
 	{
 	my( $line, $sigil, $var ) = @_;
-	
-	my $eval = qq{ 
-		package ExtUtils::MakeMaker::_version;
 
+        # split package line to hide from PAUSE
+	my $eval = qq{
+		package
+                  ExtUtils::MakeMaker::_version;
+
 		local $sigil$var;
 		\$$var=undef; do {
 			$line
 			}; \$$var
 		};
-		
+
 	my $version = do {
 		local $^W = 0;
 		no strict;
@@ -988,16 +1300,16 @@
 	{
 	my( $inc, $path ) = @_;
 	return if length $path< length $inc;
-	
+
 	my $module_path = substr( $path, length $inc );
 	$module_path =~ s/\.pm\z//;
-	
+
 	# XXX: this is cheating and doesn't handle everything right
 	my @dirs = grep { ! /\W/ } File::Spec->splitdir( $module_path );
 	shift @dirs;
-	
+
 	my $module_name = join "::", @dirs;
-	
+
 	return $module_name;
 	}
 
@@ -1007,7 +1319,7 @@
 
 =head1 EXIT VALUES
 
-The script exits with zero if it thinks that everything worked, or a 
+The script exits with zero if it thinks that everything worked, or a
 positive number if it thinks that something failed. Note, however, that
 in some cases it has to divine a failure by the output of things it does
 not control. For now, the exit codes are vague:
@@ -1029,6 +1341,16 @@
 * When I capture CPAN.pm output, I need to check for errors and
 report them to the user.
 
+* Support local::lib
+
+* Warnings switch
+
+* Check then exit
+
+* ping mirrors support
+
+* no test option
+
 =head1 BUGS
 
 * none noted
@@ -1046,14 +1368,16 @@
 
 =head1 CREDITS
 
-Japheth Cleaver added the bits to allow a forced install (-f).
+Japheth Cleaver added the bits to allow a forced install (C<-f>).
 
 Jim Brandt suggest and provided the initial implementation for the
 up-to-date and Changes features.
 
-Adam Kennedy pointed out that exit() causes problems on Windows
+Adam Kennedy pointed out that C<exit()> causes problems on Windows
 where this script ends up with a .bat extension
 
+David Golden helps integrate this into the C<CPAN.pm> repos.
+
 =head1 AUTHOR
 
 brian d foy, C<< <bdfoy at cpan.org> >>
@@ -1060,7 +1384,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (c) 2001-2009, brian d foy, All Rights Reserved.
+Copyright (c) 2001-2013, brian d foy, All Rights Reserved.
 
 You may redistribute this under the same terms as Perl itself.
 


Property changes on: vendor/perl/dist/cpan/CPAN/lib/App/Cpan.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/API/HOWTO.pod
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/API/HOWTO.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/API/HOWTO.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/API/HOWTO.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Author.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Author.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Author.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Author.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Bundle.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Bundle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Bundle.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -228,7 +228,8 @@
         $self->debug("type[$type] s[$s]") if $CPAN::DEBUG;
         my $obj = $CPAN::META->instance($type,$s);
         $obj->{reqtype} = $self->{reqtype};
-        $obj->$meth();
+        # $obj->$meth();
+       CPAN::Queue->queue_item(qmod => $obj->id, reqtype => $self->{reqtype});
     }
 }
 


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Bundle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/CacheMgr.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/CacheMgr.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/CacheMgr.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -49,6 +49,7 @@
     $self->_clean_cache($toremove);
     return if $CPAN::Signal;
   }
+  $self->{FIFO} = [];
 }
 
 #-> sub CPAN::CacheMgr::dir ;


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/CacheMgr.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Complete.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Complete.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Complete.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Complete.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Debug.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Debug.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Debug.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -71,6 +71,10 @@
 
 __END__
 
+=head1 NAME
+
+CPAN::Debug - internal debugging for CPAN.pm
+
 =head1 LICENSE
 
 This program is free software; you can redistribute it and/or


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Debug.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/DeferredCode.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/DeferredCode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/DeferredCode.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/DeferredCode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 use File::Path ();
 @CPAN::Distribution::ISA = qw(CPAN::InfoObj);
 use vars qw($VERSION);
-$VERSION = "1.9602_01";
+$VERSION = "2.00";
 
 # Accessors
 sub cpan_comment {
@@ -158,7 +158,7 @@
             ||
             $self->{install}->failed
            )
-    ); 
+    );
 }
 
 
@@ -321,6 +321,10 @@
                                         );
                 return 1;
             }
+            if (exists $self->{build_dir} && ! -d $self->{build_dir}){
+                # we have lost it.
+                $self->fforce(""); # no method to reset all phases but not set force (dodge)
+            }
 
             # although we talk about 'force' we shall not test on
             # force directly. New model of force tries to refrain from
@@ -516,8 +520,8 @@
         chmod 0777 &~ umask, $packagedir; # may fail
         my $f;
         for $f (@dirents) { # is already without "." and ".."
-            my $from = File::Spec->catdir($from_dir,$f);
-            my $to = File::Spec->catdir($packagedir,$f);
+            my $from = File::Spec->catfile($from_dir,$f);
+            my $to = File::Spec->catfile($packagedir,$f);
             unless (File::Copy::move($from,$to)) {
                 my $err = $!;
                 $from = File::Spec->rel2abs($from);
@@ -604,7 +608,7 @@
     push @choices, 'META.yml' if $has_cm || $has_pcm;
 
     for my $file ( grep { /$filter/ } @choices ) {
-        my $path = File::Spec->catdir( $build_dir, $file );
+        my $path = File::Spec->catfile( $build_dir, $file );
         return $path if -f $path
     }
 
@@ -741,7 +745,7 @@
                 $prefer_installer = CPAN::HandleConfig->prefs_lookup(
                   $self, q{prefer_installer}
                 );
-                # M::B <= 0.35 left a DATA handle open that 
+                # M::B <= 0.35 left a DATA handle open that
                 # causes problems upgrading M::B on Windows
                 close *Module::Build::Version::DATA
                   if fileno *Module::Build::Version::DATA;
@@ -773,12 +777,19 @@
     return $self;
 }
 
+# see also reanimate_build_dir
 #-> CPAN::Distribution::store_persistent_state
 sub store_persistent_state {
     my($self) = @_;
     my $dir = $self->{build_dir};
-    unless (File::Spec->canonpath(File::Basename::dirname($dir))
-            eq File::Spec->canonpath($CPAN::Config->{build_dir})) {
+    unless (defined $dir && length $dir) {
+        my $id = $self->id;
+        $CPAN::Frontend->mywarnonce("build_dir of $id is not known, ".
+                                    "will not store persistent state\n");
+        return;
+    }
+    unless (   Cwd::realpath(File::Spec->catdir($dir, File::Spec->updir()) )
+            eq Cwd::realpath($CPAN::Config->{build_dir}                  ) ) {
         $CPAN::Frontend->mywarnonce("Directory '$dir' not below $CPAN::Config->{build_dir}, ".
                                     "will not store persistent state\n");
         return;
@@ -859,7 +870,7 @@
                 }
             }
             my $countedpatches = @$patches == 1 ? "1 patch" : (scalar @$patches . " patches");
-            $CPAN::Frontend->myprint("Going to apply $countedpatches:\n");
+            $CPAN::Frontend->myprint("Applying $countedpatches:\n");
             my $patches_dir = $CPAN::Config->{patches_dir};
             for my $patch (@$patches) {
                 if ($patches_dir && !File::Spec->file_name_is_absolute($patch)) {
@@ -1167,6 +1178,7 @@
     if ($result) {
         $self->{unwrapped} = CPAN::Distrostatus->new("YES");
     } else {
+        # unfortunately we have no $@ here, Tarzip is using mydie which dies with "\n"
         $self->{unwrapped} = CPAN::Distrostatus->new("NO -- untar failed");
     }
 }
@@ -1845,7 +1857,7 @@
         delete $self->{force_update};
         return;
     }
-    $CPAN::Frontend->myprint("\n  CPAN.pm: Going to build ".$self->id."\n\n");
+    $CPAN::Frontend->myprint("\n  CPAN.pm: Building ".$self->id."\n\n");
     $self->debug("Changed directory to $builddir") if $CPAN::DEBUG;
 
     if ($^O eq 'MacOS') {
@@ -1853,12 +1865,8 @@
         return;
     }
 
-    my %env;
-    while (my($k,$v) = each %ENV) {
-        next unless defined $v;
-        $env{$k} = $v;
-    }
-    local %ENV = %env;
+    local $ENV{PERL_AUTOINSTALL} = $ENV{PERL_AUTOINSTALL};
+    local $ENV{PERL_EXTUTILS_AUTOINSTALL} = $ENV{PERL_EXTUTILS_AUTOINSTALL};
     if ($CPAN::Config->{prerequisites_policy} eq "follow") {
         $ENV{PERL_AUTOINSTALL}          ||= "--defaultdeps";
         $ENV{PERL_EXTUTILS_AUTOINSTALL} ||= "--defaultdeps";
@@ -1868,6 +1876,8 @@
     if ($self->prefs->{pl}) {
         $pl_commandline = $self->prefs->{pl}{commandline};
     }
+    local $ENV{PERL} = $ENV{PERL};
+    local $ENV{PERL5_CPAN_IS_EXECUTING} = $ENV{PERL5_CPAN_IS_EXECUTING};
     if ($pl_commandline) {
         $system = $pl_commandline;
         $ENV{PERL} = $^X;
@@ -1875,7 +1885,11 @@
         $system = $self->{'configure'};
     } elsif ($self->{modulebuild}) {
         my($perl) = $self->perl or die "Couldn\'t find executable perl\n";
-        $system = "$perl Build.PL $CPAN::Config->{mbuildpl_arg}";
+        my $mbuildpl_arg = $self->_make_phase_arg("pl");
+        $system = sprintf("%s Build.PL%s",
+                          $perl,
+                          $mbuildpl_arg ? " $mbuildpl_arg" : "",
+                         );
     } else {
         my($perl) = $self->perl or die "Couldn\'t find executable perl\n";
         my $switch = "";
@@ -1896,11 +1910,7 @@
     if ($self->prefs->{pl}) {
         $pl_env = $self->prefs->{pl}{env};
     }
-    if ($pl_env) {
-        for my $e (keys %$pl_env) {
-            $ENV{$e} = $pl_env->{$e};
-        }
-    }
+    local @ENV{keys %$pl_env} = values %$pl_env if $pl_env;
     if (exists $self->{writemakefile}) {
     } else {
         local($SIG{ALRM}) = sub { die "inactivity_timeout reached\n" };
@@ -1992,7 +2002,7 @@
                 return $self->goodbye("$system -- NOT OK");
             }
         }
-        if (-f "Makefile" || -f "Build") {
+        if (-f "Makefile" || -f "Build" || ($^O eq 'VMS' && (-f 'descrip.mms' || -f 'Build.com'))) {
             $self->{writemakefile} = CPAN::Distrostatus->new("YES");
             delete $self->{make_clean}; # if cleaned before, enable next
         } else {
@@ -2020,12 +2030,13 @@
     if ($self->prefs->{make}) {
         $make_commandline = $self->prefs->{make}{commandline};
     }
+    local $ENV{PERL} = $ENV{PERL};
     if ($make_commandline) {
         $system = $make_commandline;
         $ENV{PERL} = CPAN::find_perl();
     } else {
         if ($self->{modulebuild}) {
-            unless (-f "Build") {
+            unless (-f "Build" || ($^O eq 'VMS' && -f 'Build.com')) {
                 my $cwd = CPAN::anycwd();
                 $CPAN::Frontend->mywarn("Alert: no Build file available for 'make $self->{id}'".
                                         " in cwd[$cwd]. Danger, Will Robinson!\n");
@@ -2046,12 +2057,7 @@
     if ($self->prefs->{make}) {
         $make_env = $self->prefs->{make}{env};
     }
-    if ($make_env) { # overriding the local ENV of PL, not the outer
-                     # ENV, but unlikely to be a risk
-        for my $e (keys %$make_env) {
-            $ENV{$e} = $make_env->{$e};
-        }
-    }
+    local @ENV{keys %$make_env} = values %$make_env if $make_env;
     my $expect_model = $self->_prefs_with_expect("make");
     my $want_expect = 0;
     if ( $expect_model && @{$expect_model->{talk}} ) {
@@ -2651,8 +2657,31 @@
         # one and is deprecated
 
         if ( $available_file ) {
-            if  ( $inst_file && $available_file eq $inst_file && $nmo->inst_deprecated ) {
-                # continue installing as a prereq
+            my $fulfills_all_version_rqs = $self->_fulfills_all_version_rqs
+                (
+                 $need_module,
+                 $available_file,
+                 $available_version,
+                 $need_version,
+                );
+            if (0) {
+            } elsif  ( $inst_file
+                       && $available_file eq $inst_file
+                       && $nmo->inst_deprecated
+                     ) {
+                # continue installing as a prereq. we really want that
+                # because the deprecated module may spit out warnings
+                # and third party did not know until today. Only one
+                # exception is OK, because CPANPLUS is special after
+                # all:
+                if ( $fulfills_all_version_rqs and
+                     $nmo->id =~ /^CPANPLUS(?:::Dist::Build)$/
+                   ) {
+                    # here we have an available version that is good
+                    # enough although deprecated (preventing circular
+                    # loop CPANPLUS => CPANPLUS::Dist::Build RT#83042)
+                    next NEED;
+                }
             } elsif ($self->{reqtype} =~ /^(r|c)$/ && exists $prereq_pm->{requires}{$need_module} && $nmo && !$inst_file) {
                 # continue installing as a prereq; this may be a
                 # distro we already used when it was a build_requires
@@ -2668,9 +2697,7 @@
                 }
             }
             else {
-                next NEED if $self->_fulfills_all_version_rqs(
-                    $need_module,$available_file,$available_version,$need_version
-                );
+                next NEED if $fulfills_all_version_rqs;
             }
         }
 
@@ -2754,13 +2781,13 @@
                             # DMAKI/DateTime-Calendar-Chinese-0.05.tar.gz
                             # in 2007-03 for 'make install'
                             # and 2008-04: #30464 (for 'make test')
-                            $CPAN::Frontend->mywarn("Warning: Prerequisite ".
-                                                    "'$need_module => $need_version' ".
-                                                    "for '$selfid' already built ".
-                                                    "but the result looks suspicious. ".
-                                                    "Skipping another build attempt, ".
-                                                    "to prevent looping endlessly.\n"
-                                                   );
+                            # $CPAN::Frontend->mywarn("Warning: Prerequisite ".
+                            #                         "'$need_module => $need_version' ".
+                            #                         "for '$selfid' already built ".
+                            #                         "but the result looks suspicious. ".
+                            #                         "Skipping another build attempt, ".
+                            #                         "to prevent looping endlessly.\n"
+                            #                        );
                             next NEED;
                         }
                     }
@@ -2886,8 +2913,8 @@
         if $CPAN::DEBUG;
     $self->debug($yaml) if $CPAN::DEBUG && $yaml;
     # MYMETA.yml is static and authoritative by definition
-    if ( $meta_file =~ /MYMETA\.yml/ ) { 
-      return $yaml; 
+    if ( $meta_file =~ /MYMETA\.yml/ ) {
+      return $yaml;
     }
     # META.yml is authoritative only if dynamic_config is defined and false
     if ( defined $yaml->{dynamic_config} && ! $yaml->{dynamic_config} ) {
@@ -3167,7 +3194,7 @@
         # bypass actual tests if "trust_test_report_history" and have a report
         my $have_tested_fcn;
         if (   $CPAN::Config->{trust_test_report_history}
-            && $CPAN::META->has_inst("CPAN::Reporter::History") 
+            && $CPAN::META->has_inst("CPAN::Reporter::History")
             && ( $have_tested_fcn = CPAN::Reporter::History->can("have_tested" ))) {
             if ( my @reports = $have_tested_fcn->( dist => $self->base_id ) ) {
                 # Do nothing if grade was DISCARD
@@ -3199,7 +3226,7 @@
         $ENV{PERL} = CPAN::find_perl();
     } elsif ($self->{modulebuild}) {
         $system = sprintf "%s test", $self->_build_command();
-        unless (-e "Build") {
+        unless (-e "Build" || ($^O eq 'VMS' && -e "Build.com")) {
             my $id = $self->pretty_id;
             $CPAN::Frontend->mywarn("Alert: no 'Build' file found while trying to test '$id'");
         }
@@ -3212,21 +3239,11 @@
                       $make_test_arg ? " $make_test_arg" : "",
                      );
     my($tests_ok);
-    my %env;
-    while (my($k,$v) = each %ENV) {
-        next unless defined $v;
-        $env{$k} = $v;
-    }
-    local %ENV = %env;
     my $test_env;
     if ($self->prefs->{test}) {
         $test_env = $self->prefs->{test}{env};
     }
-    if ($test_env) {
-        for my $e (keys %$test_env) {
-            $ENV{$e} = $test_env->{$e};
-        }
-    }
+    local @ENV{keys %$test_env} = values %$test_env if $test_env;
     my $expect_model = $self->_prefs_with_expect("test");
     my $want_expect = 0;
     if ( $expect_model && @{$expect_model->{talk}} ) {
@@ -3287,43 +3304,43 @@
 
 sub _make_test_illuminate_prereqs {
     my($self) = @_;
-            my @prereq;
+    my @prereq;
 
-            # local $CPAN::DEBUG = 16; # Distribution
-            for my $m (keys %{$self->{sponsored_mods}}) {
-                next unless $self->{sponsored_mods}{$m} > 0;
-                my $m_obj = CPAN::Shell->expand("Module",$m) or next;
-                # XXX we need available_version which reflects
-                # $ENV{PERL5LIB} so that already tested but not yet
-                # installed modules are counted.
-                my $available_version = $m_obj->available_version;
-                my $available_file = $m_obj->available_file;
-                if ($available_version &&
-                    !CPAN::Version->vlt($available_version,$self->{prereq_pm}{$m})
-                   ) {
-                    CPAN->debug("m[$m] good enough available_version[$available_version]")
-                        if $CPAN::DEBUG;
-                } elsif ($available_file
-                         && (
-                             !$self->{prereq_pm}{$m}
-                             ||
-                             $self->{prereq_pm}{$m} == 0
-                            )
-                        ) {
-                    # lex Class::Accessor::Chained::Fast which has no $VERSION
-                    CPAN->debug("m[$m] have available_file[$available_file]")
-                        if $CPAN::DEBUG;
-                } else {
-                    push @prereq, $m;
-                }
-            }
+    # local $CPAN::DEBUG = 16; # Distribution
+    for my $m (keys %{$self->{sponsored_mods}}) {
+        next unless $self->{sponsored_mods}{$m} > 0;
+        my $m_obj = CPAN::Shell->expand("Module",$m) or next;
+        # XXX we need available_version which reflects
+        # $ENV{PERL5LIB} so that already tested but not yet
+        # installed modules are counted.
+        my $available_version = $m_obj->available_version;
+        my $available_file = $m_obj->available_file;
+        if ($available_version &&
+            !CPAN::Version->vlt($available_version,$self->{prereq_pm}{$m})
+           ) {
+            CPAN->debug("m[$m] good enough available_version[$available_version]")
+                if $CPAN::DEBUG;
+        } elsif ($available_file
+                 && (
+                     !$self->{prereq_pm}{$m}
+                     ||
+                     $self->{prereq_pm}{$m} == 0
+                    )
+                ) {
+            # lex Class::Accessor::Chained::Fast which has no $VERSION
+            CPAN->debug("m[$m] have available_file[$available_file]")
+                if $CPAN::DEBUG;
+        } else {
+            push @prereq, $m;
+        }
+    }
     my $but;
-            if (@prereq) {
-                my $cnt = @prereq;
-                my $which = join ",", @prereq;
+    if (@prereq) {
+        my $cnt = @prereq;
+        my $which = join ",", @prereq;
         $but = $cnt == 1 ? "one dependency not OK ($which)" :
-                    "$cnt dependencies missing ($which)";
-            }
+            "$cnt dependencies missing ($which)";
+    }
     $but;
 }
 
@@ -3548,10 +3565,13 @@
                 $CPAN::Config->{mbuild_install_build_command} ?
                     $CPAN::Config->{mbuild_install_build_command} :
                         $self->_build_command();
-        $system = sprintf("%s install %s",
+        my $install_directive = $^O eq 'VMS' ? '"install"' : 'install';
+        $system = sprintf("%s %s %s",
                           $mbuild_install_build_command,
+                          $install_directive,
                           $CPAN::Config->{mbuild_install_arg},
                          );
+        
     } else {
         my($make_install_make_command) =
             CPAN::HandleConfig->prefs_lookup($self,
@@ -3563,7 +3583,7 @@
                          );
     }
 
-    my($stderr) = $^O eq "MSWin32" ? "" : " 2>&1 ";
+    my($stderr) = $^O eq "MSWin32" || $^O eq 'VMS' ? "" : " 2>&1 ";
     my $brip = CPAN::HandleConfig->prefs_lookup($self,
                                                 q{build_requires_install_policy});
     $brip ||="ask/yes";
@@ -3669,7 +3689,7 @@
             $CPAN::Frontend->myprint(qq{
     Function system("@args")
     returned status $estatus (wstat $wstatus)
-    });	
+    });
         }
     }
     else {
@@ -3877,6 +3897,9 @@
         my($perl) = $self->perl or $CPAN::Frontend->mydie("Couldn't find executable perl\n");
         return "$perl ./Build";
     }
+    elsif ($^O eq 'VMS') {
+        return "$^X Build.com";
+    }
     return "./Build";
 }
 


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Distribution.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Distroprefs.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Distroprefs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Distroprefs.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -169,7 +169,7 @@
             file => $_, ext => $ext, dir => $dir
         });
         # copied from CPAN.pm; is this ever actually possible?
-        redo unless -f $result->abs; 
+        redo unless -f $result->abs;
 
         my $load_method = $self->_load_method($loader, $result);
         my @prefs = eval { $self->$load_method($loader, $result) };
@@ -314,7 +314,7 @@
 
 CPAN::Distroprefs -- read and match distroprefs
 
-=head1 SYNOPSIS 
+=head1 SYNOPSIS
 
     use CPAN::Distroprefs;
 
@@ -381,7 +381,7 @@
 
 C<success>, C<warning>, or C<fatal>
 
-=head3 file 
+=head3 file
 
 the file from which these prefs were read, or to which this error refers (relative filename)
 
@@ -413,7 +413,7 @@
 
 an arrayref of CPAN::Distroprefs::Pref objects
 
-=head1 PREFS 
+=head1 PREFS
 
 CPAN::Distroprefs::Pref objects represent individual distroprefs documents.
 They are constructed automatically as part of C<success> results from C<find()>.


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Distroprefs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Distrostatus.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Distrostatus.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Distrostatus.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Distrostatus.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/RecursiveDependency.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/RecursiveDependency.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/RecursiveDependency.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/RecursiveDependency.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/blocked_urllist.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/blocked_urllist.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/blocked_urllist.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/blocked_urllist.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/yaml_not_installed.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/yaml_not_installed.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/yaml_not_installed.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,54 +20,4 @@
     "'$self->{module}' not installed, cannot $self->{during} '$self->{file}'\n";
 }
 
-package CPAN::Exception::yaml_process_error;
-use strict;
-use overload '""' => "as_string";
-
-use vars qw(
-            $VERSION
-);
-$VERSION = "5.5";
-
-
-sub new {
-    my($class,$module,$file,$during,$error) = @_;
-    # my $at = Carp::longmess(""); # XXX find something more beautiful
-    bless { module => $module,
-            file => $file,
-            during => $during,
-            error => $error,
-            # at => $at,
-          }, $class;
-}
-
-sub as_string {
-    my($self) = shift;
-    if ($self->{during}) {
-        if ($self->{file}) {
-            if ($self->{module}) {
-                if ($self->{error}) {
-                    return "Alert: While trying to '$self->{during}' YAML file\n".
-                        " '$self->{file}'\n".
-                            "with '$self->{module}' the following error was encountered:\n".
-                                "  $self->{error}\n";
-                } else {
-                    return "Alert: While trying to '$self->{during}' YAML file\n".
-                        " '$self->{file}'\n".
-                            "with '$self->{module}' some unknown error was encountered\n";
-                }
-            } else {
-                return "Alert: While trying to '$self->{during}' YAML file\n".
-                    " '$self->{file}'\n".
-                        "some unknown error was encountered\n";
-            }
-        } else {
-            return "Alert: While trying to '$self->{during}' some YAML file\n".
-                    "some unknown error was encountered\n";
-        }
-    } else {
-        return "Alert: unknown error encountered\n";
-    }
-}
-
 1;


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Exception/yaml_not_installed.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP/netrc.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP/netrc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP/netrc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP/netrc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,6 +21,11 @@
 sub _ftp_statistics {
     my($self,$fh) = @_;
     my $locktype = $fh ? LOCK_EX : LOCK_SH;
+    # XXX On Windows flock() implements mandatory locking, so we can
+    # XXX only use shared locking to still allow _yaml_load_file() to
+    # XXX read from the file using a different filehandle.
+    $locktype = LOCK_SH if $^O eq "MSWin32";
+
     $fh ||= FileHandle->new;
     my $file = File::Spec->catfile($CPAN::Config->{cpan_home},"FTPstats.yml");
     mkpath dirname $file;
@@ -56,6 +61,7 @@
             $CPAN::Frontend->mydie($@);
         }
     }
+    CPAN::_flock($fh, LOCK_UN);
     return $stats->[0];
 }
 
@@ -567,7 +573,7 @@
                 $ThesiteURL = $ro_url;
                 return $l;
             }
-            # If request is for a compressed file and we can find the 
+            # If request is for a compressed file and we can find the
             # uncompressed file also, return the path of the uncompressed file
             # otherwise, decompress it and return the resulting path
             if ($l =~ /(.+)\.gz$/) {
@@ -975,7 +981,7 @@
   Trying with external ftp to get
     '$url'
   $netrc_explain
-  Going to send the dialog
+  Sending the dialog
 $dialog
 }
                 );
@@ -1014,7 +1020,7 @@
         $CPAN::Frontend->myprint(qq{
   Trying with external ftp to get
     $url
-  Going to send the dialog
+  Sending the dialog
 $dialog
 }
         );


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/FTP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 use File::Spec ();
 use CPAN::Mirrors ();
 use vars qw($VERSION $auto_config);
-$VERSION = "5.5303";
+$VERSION = "5.5304";
 
 =head1 NAME
 
@@ -202,8 +202,8 @@
 =item halt_on_failure
 
 Normally, CPAN.pm continues processing the full list of targets and
-dependencies, even if one of them fails.  However, you can specify 
-that CPAN should halt after the first failure. 
+dependencies, even if one of them fails.  However, you can specify
+that CPAN should halt after the first failure.
 
 Do you want to halt on failure (yes/no)?
 
@@ -339,7 +339,7 @@
 Parameters for the './Build install' command? Typical frequently used
 setting:
 
-    --uninst 1                           # uninstall conflicting files
+    --uninst 1       # uninstall conflicting files
                      # (but do NOT use with local::lib or INSTALL_BASE)
 
 Your choice:
@@ -781,8 +781,8 @@
     if ( $args{autoconfig} ) {
         $auto_config = 1;
     } elsif ($matcher) {
-            $auto_config = 0;
-        } else {
+        $auto_config = 0;
+    } else {
         my $_conf = prompt($prompts{auto_config}, "yes");
         $auto_config = ($_conf and $_conf =~ /^y/i) ? 1 : 0;
     }
@@ -795,7 +795,7 @@
             my $i_am_mad = 0;
             # silent prompting -- just quietly use default
             *_real_prompt = sub { return $_[1] };
-        }
+    }
 
     #
     # bootstrap local::lib or sudo
@@ -993,8 +993,8 @@
         my_dflt_prompt(makepl_arg => "", $matcher);
         my_dflt_prompt(make_arg => "", $matcher);
         if ( $CPAN::Config->{makepl_arg} =~ /LIBS=|INC=/ ) {
-            $CPAN::Frontend->mywarn( 
-                "Warning: Using LIBS or INC in makepl_arg will likely break distributions\n" . 
+            $CPAN::Frontend->mywarn(
+                "Warning: Using LIBS or INC in makepl_arg will likely break distributions\n" .
                 "that specify their own LIBS or INC options in Makefile.PL.\n"
             );
         }
@@ -1029,7 +1029,7 @@
         and $^O ne "MSWin32") {
         # as long as Windows needs $self->_build_command, we cannot
         # support sudo on windows :-)
-        my $default = "./Build";
+        my $default = $^O eq 'VMS' ? '@Build.com' : "./Build";
         if ( $CPAN::Config->{install_help} eq 'sudo' ) {
             if ( find_exe('sudo') ) {
                 $default = "sudo $default";
@@ -1224,9 +1224,9 @@
             );
         }
         else {
-          $CPAN::Frontend->myprint(
-            "Autoconfigured everything but 'urllist'.\n"
-          );
+            $CPAN::Frontend->myprint(
+                "Autoconfigured everything but 'urllist'.\n"
+            );
             _do_pick_mirrors();
         }
     }
@@ -1247,8 +1247,8 @@
             $CPAN::Frontend->myprint(
                 "Skipping local::lib bootstrap because 'urllist' is not configured.\n"
             );
-          }
-          else {
+        }
+        else {
             $CPAN::Frontend->myprint("\nAttempting to bootstrap local::lib...\n");
             $CPAN::Frontend->myprint("\nWriting $configpm for bootstrap...\n");
             delete $CPAN::Config->{install_help}; # temporary only
@@ -1268,11 +1268,11 @@
                 $CPAN::Frontend->myprint("From the CPAN Shell, you might try 'look local::lib' and \n"
                     . "run 'perl Makefile --bootstrap' and see if that is successful.  Then\n"
                     . "restart your CPAN client\n"
-            );
+                );
             }
             else {
                 _local_lib_config();
-          }
+            }
         }
     }
 
@@ -1393,6 +1393,8 @@
     my $_conf = 'n';
     if ( $CPAN::META->has_usable("Net::Ping") && Net::Ping->VERSION gt '2.13') {
         $_conf = prompt($prompts{auto_pick}, "yes");
+    } else {
+        prompt("Autoselection disabled due to Net::Ping missing or insufficient. Please press ENTER");
     }
     my @old_list = @{ $CPAN::Config->{urllist} };
     if ( $_conf =~ /^y/i ) {
@@ -1515,7 +1517,7 @@
 Please make sure you have 'make' (or some equivalent) working.
 
 HERE
-                    if ($^O eq "MSWin32") {
+  if ($^O eq "MSWin32") {
     $CPAN::Frontend->mywarn(<<"HERE");
 Windows users may want to follow this procedure when back in the CPAN shell:
 
@@ -1528,7 +1530,7 @@
     o conf init make
 
 HERE
-    }
+  }
 }
 
 sub init_cpan_home {
@@ -1657,7 +1659,7 @@
 # (2) We don't have a copy at all
 #   (2a) If we are allowed to connect, we try to get a new copy.  If it succeeds,
 #        we use it, otherwise, we warn about failure
-#   (2b) If we aren't allowed to connect, 
+#   (2b) If we aren't allowed to connect,
 
 sub conf_sites {
     my %args = @_;
@@ -1732,7 +1734,7 @@
       }
       else {
         $CPAN::Frontend->mywarn(<<'HERE');
-You will need to provide CPAN mirror URLs yourself or set 
+You will need to provide CPAN mirror URLs yourself or set
 'o conf connect_to_internet_ok 1' and try again.
 HERE
       }
@@ -1851,7 +1853,9 @@
     my $local = shift or return;
     local $|=1;
     $CPAN::Frontend->myprint("Looking for CPAN mirrors near you (please be patient)\n");
-    my $mirrors = CPAN::Mirrors->new($local);
+    my $mirrors = CPAN::Mirrors->new;
+    $mirrors->parse_mirrored_by($local);
+
     my $cnt = 0;
     my @best = $mirrors->best_mirrors(
       how_many => 3,
@@ -1860,9 +1864,11 @@
           if ($cnt++>60) { $cnt=0; $CPAN::Frontend->myprint("\n"); }
       },
     );
+
     my $urllist = [ map { $_->http } @best ];
     push @$urllist, grep { /^file:/ } @{$CPAN::Config->{urllist}};
     $CPAN::Frontend->myprint(" done!\n\n");
+
     return $urllist
 }
 
@@ -1998,8 +2004,8 @@
 sub _print_urllist {
     my ($which) = @_;
     $CPAN::Frontend->myprint("$which urllist\n");
-    for ( @{$CPAN::Config->{urllist} || []} ) { 
-      $CPAN::Frontend->myprint("  $_\n") 
+    for ( @{$CPAN::Config->{urllist} || []} ) {
+      $CPAN::Frontend->myprint("  $_\n")
     };
 }
 


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/FirstTime.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Client.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Client.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Client.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,8 +31,8 @@
     my($self, $uri, $path) = @_;
 
     my $want_proxy = $self->_want_proxy($uri);
-    my $http = HTTP::Tiny->new( 
-        $want_proxy ? (proxy => $self->{proxy}) : () 
+    my $http = HTTP::Tiny->new(
+        $want_proxy ? (proxy => $self->{proxy}) : ()
     );
 
     my ($response, %headers);
@@ -112,7 +112,7 @@
     my $auth_list = $response->{headers}(lc $auth_header);
     return unless defined $auth_list;
     $auth_list = [$auth_list] unless ref $auth_list;
-    
+
     for my $challenge (@$auth_list) {
         $challenge =~ tr/,/;/;  # "," is used to separate auth-params!!
         ($challenge) = $self->split_header_words($challenge);


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Client.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Credentials.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Credentials.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Credentials.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/HTTP/Credentials.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/HandleConfig.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/HandleConfig.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/HandleConfig.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,12 @@
 use File::Basename ();
 use Carp ();
 
+=head1 NAME
+
+CPAN::HandleConfig - internal configuration handling for CPAN.pm
+
+=cut 
+
 $VERSION = "5.5003"; # see also CPAN::Config::VERSION at end of file
 
 %can = (
@@ -265,11 +271,11 @@
     my($self, at args) = @_;
     CPAN->debug("args[@args]") if $CPAN::DEBUG;
     if ($CPAN::RUN_DEGRADED) {
-                             $CPAN::Frontend->mydie(
-                                                    "'o conf commit' disabled in ".
-                                                    "degraded mode. Maybe try\n".
-                                                    " !undef \$CPAN::RUN_DEGRADED\n"
-                                                   );
+        $CPAN::Frontend->mydie(
+            "'o conf commit' disabled in ".
+            "degraded mode. Maybe try\n".
+            " !undef \$CPAN::RUN_DEGRADED\n"
+        );
     }
     my ($configpm, $must_reload);
 
@@ -474,13 +480,13 @@
 sub require_myconfig_or_config () {
     if (   $INC{"CPAN/MyConfig.pm"} || _try_loading("CPAN::MyConfig", cpan_home())) {
         return $INC{"CPAN/MyConfig.pm"};
-            }
+    }
     elsif ( $INC{"CPAN/Config.pm"} || _try_loading("CPAN::Config") ) {
         return $INC{"CPAN/Config.pm"};
-        }
+    }
     else {
         return q{};
-        }
+    }
 }
 
 # Load a module, but ignore "can't locate..." errors
@@ -495,8 +501,8 @@
         if ( -f File::Spec->catfile($dir, $file) ) {
             unshift @INC, $dir;
             last;
+        }
     }
-      }
 
     eval { require $file };
     my $err_myconfig = $@;
@@ -515,7 +521,7 @@
         if ($^O ne 'darwin') {
             push @dirs, File::HomeDir->my_data;
             # my_data is ~/Library/Application Support on darwin,
-                                            # which causes issues in the toolchain.
+            # which causes issues in the toolchain.
         }
         push @dirs, File::HomeDir->my_home;
     }
@@ -527,7 +533,8 @@
     push @dirs, $ENV{USERPROFILE} if $ENV{USERPROFILE};
 
     $CPAN::Config->{load_module_verbosity} = $old_v;
-    @dirs = map { "$_/.cpan" } grep { defined } @dirs;
+    my $dotcpan = $^O eq 'VMS' ? '_cpan' : '.cpan';
+    @dirs = map { File::Spec->catdir($_, $dotcpan) } grep { defined } @dirs;
     return wantarray ? @dirs : $dirs[0];
 }
 
@@ -592,7 +599,7 @@
 Old configuration file $configpm
     moved to $configpm_bak
 END
-    }
+            }
         }
         my $fh = FileHandle->new;
         if ($fh->open(">$configpm")) {


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/HandleConfig.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Index.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Index.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Index.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -126,13 +126,13 @@
     my @candidates = map { $_->[0] }
         sort { $b->[1] <=> $a->[1] }
             map { [ $_, -M File::Spec->catfile($d,$_) ] }
-                grep {/\.yml$/} readdir $dh;
+                grep {/(.+)\.yml$/ && -d File::Spec->catfile($d,$1)} readdir $dh;
     unless (@candidates) {
         $CPAN::Frontend->myprint("Build_dir empty, nothing to restore\n");
         return;
     }
     $CPAN::Frontend->myprint
-        (sprintf("Going to read %d yaml file%s from %s/\n",
+        (sprintf("Reading %d yaml file%s from %s/\n",
                  scalar @candidates,
                  @candidates==1 ? "" : "s",
                  $CPAN::Config->{build_dir}
@@ -231,7 +231,7 @@
     return unless defined $index_target;
     return if CPAN::_sqlite_running();
     my @lines;
-    $CPAN::Frontend->myprint("Going to read '$index_target'\n");
+    $CPAN::Frontend->myprint("Reading '$index_target'\n");
     local(*FH);
     tie *FH, 'CPAN::Tarzip', $index_target;
     local($/) = "\n";
@@ -271,7 +271,7 @@
     my($self, $index_target) = @_;
     return unless defined $index_target;
     return if CPAN::_sqlite_running();
-    $CPAN::Frontend->myprint("Going to read '$index_target'\n");
+    $CPAN::Frontend->myprint("Reading '$index_target'\n");
     my $fh = CPAN::Tarzip->TIEHANDLE($index_target);
     local $_;
     CPAN->debug(sprintf "start[%d]", time) if $CPAN::DEBUG;
@@ -494,7 +494,7 @@
     my($cl,$index_target) = @_;
     return unless defined $index_target;
     return if CPAN::_sqlite_running();
-    $CPAN::Frontend->myprint("Going to read '$index_target'\n");
+    $CPAN::Frontend->myprint("Reading '$index_target'\n");
     my $fh = CPAN::Tarzip->TIEHANDLE($index_target);
     local $_;
     my $slurp = "";
@@ -556,7 +556,7 @@
     $cache->{last_time} = $LAST_TIME;
     $cache->{DATE_OF_02} = $DATE_OF_02;
     $cache->{PROTOCOL} = PROTOCOL;
-    $CPAN::Frontend->myprint("Going to write $metadata_file\n");
+    $CPAN::Frontend->myprint("Writing $metadata_file\n");
     eval { Storable::nstore($cache, $metadata_file) };
     $CPAN::Frontend->mywarn($@) if $@; # ?? missing "\n" after $@ in mywarn ??
 }
@@ -569,7 +569,7 @@
     return unless $CPAN::META->has_usable("Storable");
     my $metadata_file = File::Spec->catfile($CPAN::Config->{cpan_home},"Metadata");
     return unless -r $metadata_file and -f $metadata_file;
-    $CPAN::Frontend->myprint("Going to read '$metadata_file'\n");
+    $CPAN::Frontend->myprint("Reading '$metadata_file'\n");
     my $cache;
     eval { $cache = Storable::retrieve($metadata_file) };
     $CPAN::Frontend->mywarn($@) if $@; # ?? missing "\n" after $@ in mywarn ??


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Index.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/InfoObj.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/InfoObj.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/InfoObj.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/InfoObj.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.dd
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.dd	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.dd	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.dd
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify/distroprefs.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Kwalify.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/LWP/UserAgent.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/LWP/UserAgent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/LWP/UserAgent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/LWP/UserAgent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Mirrors.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Mirrors.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Mirrors.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,37 @@
 # -*- Mode: cperl; coding: utf-8; cperl-indent-level: 4 -*-
 # vim: ts=4 sts=4 sw=4:
+=head1 NAME
+
+CPAN::Mirrors - Get CPAN miror information and select a fast one
+
+=head1 SYNOPSIS
+
+	use CPAN::Mirrors;
+
+	my $mirrors = CPAN::Mirrors->new;
+	$mirrors->parse_from_file( $mirrored_by_file );
+
+	my $seen = {};
+
+	my $best_continent = $mirrors->find_best_continents( { seen => $seen } );
+	my @mirrors        = $mirrors->get_mirrors_by_continents( $best_continent );
+
+	my $callback = sub {
+		my( $m ) = @_;
+		printf "%s = %s\n", $m->hostname, $m->rtt
+		};
+	$mirrors->get_mirrors_timings( \@mirrors, $seen, $callback );
+
+	@mirrors = sort { $a->rtt <=> $b->rtt } @mirrors;
+
+	print "Best mirrors are ", map( { $_->rtt } @mirrors[0..3] ), "\n";
+
+=head1 DESCRIPTION
+
+=over
+
+=cut
+
 package CPAN::Mirrors;
 use strict;
 use vars qw($VERSION $urllist $silent);
@@ -10,31 +42,55 @@
 use Fcntl ":flock";
 use Net::Ping ();
 
+=item new( LOCAL_FILE_NAME )
+
+=cut
+
 sub new {
     my ($class, $file) = @_;
-    my $self = bless { 
-        mirrors => [], 
-        geography => {},
+    my $self = bless {
+        mirrors      => [],
+        geography    => {},
     }, $class;
 
+	if( defined $file ) {
+		$self->parse_mirrored_by( $file );
+	}
+
+    return $self
+}
+
+sub parse_mirrored_by {
+	my ($self, $file) = @_;
     my $handle = FileHandle->new;
-    $handle->open($file) 
+    $handle->open($file)
         or croak "Couldn't open $file: $!";
     flock $handle, LOCK_SH;
     $self->_parse($file,$handle);
     flock $handle, LOCK_UN;
     $handle->close;
+}
 
-    # populate continents & countries
+=item continents()
 
-    return $self
-}
+Return a list of continents based on those defined in F<MIRRORED.BY>.
 
+=cut
+
 sub continents {
     my ($self) = @_;
     return keys %{$self->{geography}};
 }
 
+=item countries( [CONTINENTS] )
+
+Return a list of countries based on those defined in F<MIRRORED.BY>.
+It only returns countries for the continents you specify (as defined
+in C<continents>). If you don't specify any continents, it returns all
+of the countries listed in F<MIRRORED.BY>.
+
+=cut
+
 sub countries {
     my ($self, @continents) = @_;
     @continents = $self->continents unless @continents;
@@ -45,6 +101,15 @@
     return @countries;
 }
 
+=item mirrors( [COUNTRIES] )
+
+Return a list of mirrors based on those defined in F<MIRRORED.BY>.
+It only returns mirrors for the countries you specify (as defined
+in C<countries>). If you don't specify any countries, it returns all
+of the mirrors listed in F<MIRRORED.BY>.
+
+=cut
+
 sub mirrors {
     my ($self, @countries) = @_;
     return @{$self->{mirrors}} unless @countries;
@@ -56,13 +121,61 @@
     return @found;
 }
 
+=item get_mirrors_by_countries( [COUNTRIES] )
+
+A more sensible synonym for mirrors.
+
+=cut
+
+sub get_mirrors_by_countries { &mirrors }
+
+=item get_mirrors_by_continents( [CONTINENTS] )
+
+Return a list of mirrors for all of continents you specify. If you don't
+specify any continents, it returns all of the mirrors.
+
+=cut
+
+sub get_mirrors_by_continents {
+	my ($self, $continents ) = @_;
+
+	$self->mirrors( $self->get_countries_by_continents( @$continents ) );
+	}
+
+=item get_countries_by_continents( [CONTINENTS] )
+
+A more sensible synonym for countries.
+
+=cut
+sub get_countries_by_continents { &countries }
+
+=item best_mirrors
+
+C<best_mirrors> checks for the best mirrors based on the list of
+continents you pass, or, without that, all continents, as defined
+by C<CPAN::Mirrored::By>. It pings each mirror, up to the value of
+C<how_many>. In list context, it returns up to C<how_many> mirror.
+In scalar context, it returns the single best mirror.
+
+Arguments
+
+	how_many   - the number of mirrors to return. Default: 1
+	callback   - a callback for find_best_continents
+	verbose    - true or false on all the whining and moaning. Default: false
+	continents - an array ref of the continents to check
+
+If you don't specify the continents, C<best_mirrors> calls
+C<find_best_continents> to get the list of continents to check.
+
+=cut
+
 sub best_mirrors {
     my ($self, %args) = @_;
-    my $how_many = $args{how_many} || 1;
-    my $callback = $args{callback};
-    my $verbose = $args{verbose};
-    my $conts = $args{continents} || [];
-    $conts = [$conts] unless ref $conts;
+    my $how_many      = $args{how_many} || 1;
+    my $callback      = $args{callback};
+    my $verbose       = defined $args{verbose} ? $args{verbose} : 0;
+    my $continents    = $args{continents} || [];
+       $continents    = [$continents] unless ref $continents;
 
     # Old Net::Ping did not do timings at all
     return "http://www.cpan.org/" unless Net::Ping->VERSION gt '2.13';
@@ -69,94 +182,195 @@
 
     my $seen = {};
 
-    if ( ! @$conts ) {
+    if ( ! @$continents ) {
         print "Searching for the best continent ...\n" if $verbose;
-        my @best = $self->_find_best_continent($seen, $verbose, $callback);
+        my @best_continents = $self->find_best_continents(
+        	seen     => $seen,
+        	verbose  => $verbose,
+        	callback => $callback,
+        	);
 
         # Only add enough continents to find enough mirrors
         my $count = 0;
-        for my $c ( @best ) {
-            push @$conts, $c;
-            $count += $self->mirrors( $self->countries($c) );
+        for my $continent ( @best_continents ) {
+            push @$continents, $continent;
+            $count += $self->mirrors( $self->countries($continent) );
             last if $count >= $how_many;
         }
     }
 
-    print "Scanning " . join(", ", @$conts) . " ...\n" if $verbose;
+    print "Scanning " . join(", ", @$continents) . " ...\n" if $verbose;
 
-    my @timings;
-    my @long_list = $self->mirrors($self->countries(@$conts));
-    my $long_list_size = ( $how_many > 10 ? $how_many : 10 );
-    if ( @long_list > $long_list_size ) {
-        @long_list = map  {$_->[0]}
-                     sort {$a->[1] <=> $b->[1]}
-                     map  {[$_, rand]} @long_list;
-        splice @long_list, $long_list_size; # truncate
+	my $trial_mirrors = $self->get_n_random_mirrors_by_continents( 3 * $how_many, $continents->[0] );
+
+    my $timings = $self->get_mirrors_timings( $trial_mirrors, $seen, $callback );
+    return [] unless @$timings;
+
+    $how_many = @$timings if $how_many > @$timings;
+
+    return wantarray ? @{$timings}[0 .. $how_many-1] : $timings->[0];
+}
+
+=item get_n_random_mirrors_by_continents( N, [CONTINENTS]
+
+Returns up to N random mirrors for the specified continents. Specify the
+continents as an array reference.
+
+=cut
+
+sub get_n_random_mirrors_by_continents {
+	my( $self, $n, $continents ) = @_;
+	$n ||= 3;
+	$continents = [ $continents ] unless ref $continents;
+
+    if ( $n <= 0 ) {
+    	return wantarray ? () : [];
     }
 
-    for my $m ( @long_list ) {
-        next unless $m->http;
-        my $hostname = $m->hostname;
-        if ( $seen->{$hostname}  ) {
-            push @timings, $seen->{$hostname}
-                if defined $seen->{$hostname}[1];
+    my @long_list = $self->get_mirrors_by_continents( $continents );
+
+    if ( $n eq '*' or $n > @long_list ) {
+    	return wantarray ? @long_list : \@long_list;
+    }
+
+	@long_list = map  {$_->[0]}
+	             sort {$a->[1] <=> $b->[1]}
+                 map  {[$_, rand]} @long_list;
+
+	splice @long_list, $n; # truncate
+
+	\@long_list;
+}
+
+=item get_mirrors_timings( MIRROR_LIST, SEEN, CALLBACK );
+
+Pings the listed mirrors and returns a list of mirrors sorted
+in ascending ping times.
+
+=cut
+
+sub get_mirrors_timings {
+	my( $self, $mirror_list, $seen, $callback ) = @_;
+
+	$seen = {} unless defined $seen;
+	croak "The mirror list argument must be an array reference"
+		unless ref $mirror_list eq ref [];
+	croak "The seen argument must be a hash reference"
+		unless ref $seen eq ref {};
+	croak "callback must be a subroutine"
+		if( defined $callback and ref $callback ne ref sub {} );
+
+	my $timings = [];
+    for my $m ( @$mirror_list ) {
+		$seen->{$m->hostname} = $m;
+		next unless eval{ $m->http };
+
+        if( $self->_try_a_ping( $seen, $m, ) ) {
+            my $ping = $m->ping;
+			next unless defined $ping;
+            push @$timings, $m;
+            $callback->( $m ) if $callback;
         }
         else {
-            my $ping = $m->ping;
-            next unless defined $ping;
-            push @timings, [$m, $ping];
-            $callback->($m,$ping) if $callback;
+            push @$timings, $seen->{$m->hostname}
+                if defined $seen->{$m->hostname}->rtt;
         }
     }
-    return unless @timings;
 
-    $how_many = @timings if $how_many > @timings;
-    my @best =
-        map  { $_->[0] }
-        sort { $a->[1] <=> $b->[1] } @timings;
+    my @best = sort {
+    	   if( defined $a->rtt and defined $b->rtt )     {
+    		$a->rtt <=> $b->rtt
+    		}
+    	elsif( defined $a->rtt and ! defined $b->rtt )   {
+    		return -1;
+    		}
+    	elsif( ! defined $a->rtt and defined $b->rtt )   {
+    		return 1;
+    		}
+    	elsif( ! defined $a->rtt and ! defined $b->rtt ) {
+    		return 0;
+    		}
 
-    return wantarray ? @best[0 .. $how_many-1] : $best[0];
+    	} @$timings;
+
+    return wantarray ? @best : \@best;
 }
 
-sub _find_best_continent {
-    my ($self, $seen, $verbose, $callback) = @_;
+=item find_best_continents( HASH_REF );
 
-    my %median;
+C<find_best_continents> goes through each continent and pings C<N> random
+mirrors on that continent. It then orders the continents by ascending
+median ping time. In list context, it returns the ordered list of
+continent. In scalar context, it returns the same list as an anonymous
+array.
+
+Arguments:
+
+	n        - the number of hosts to ping for each continent. Default: 3
+	seen     - a hashref of cached hostname ping times
+	verbose  - true or false for noisy or quiet. Default: false
+	callback - a subroutine to run after each ping.
+	ping_cache_limit - how long, in seconds, to reuse previous ping times.
+		Default: 1 day
+
+The C<seen> hash has hostnames as keys and anonymous arrays as values. The
+anonymous array is a triplet of a C<CPAN::Mirrored::By> object, a ping
+time, and the epoch time for the measurement.
+
+The callback subroutine gets the C<CPAN::Mirrored::By> object, the ping
+time, and measurement time (the same things in the C<seen> hashref) as arguments.
+C<find_best_continents> doesn't care what the callback does and ignores the return
+value.
+
+=cut
+
+sub find_best_continents {
+    my ($self, %args) = @_;
+
+	$args{n}     ||=  3;
+	$args{verbose} = 0 unless defined $args{verbose};
+	$args{seen}    = {} unless defined $args{seen};
+	croak "The seen argument must be a hash reference"
+		unless ref $args{seen} eq ref {};
+	$args{ping_cache_limit} = 24 * 60 * 60
+		unless defined $args{ping_cache_time};
+	croak "callback must be a subroutine"
+		if( defined $args{callback} and ref $args{callback} ne ref sub {} );
+
+    my %medians;
     CONT: for my $c ( $self->continents ) {
+    	print "Testing $c\n" if $args{verbose};
         my @mirrors = $self->mirrors( $self->countries($c) );
+
         next CONT unless @mirrors;
-        my $sample = 3;
-        my $n = (@mirrors < $sample) ? @mirrors : $sample;
+        my $n = (@mirrors < $args{n}) ? @mirrors : $args{n};
+
         my @tests;
-        RANDOM: while ( @mirrors && @tests < $n ) {
+        my $tries = 0;
+        RANDOM: while ( @mirrors && @tests < $n && $tries++ < 15 ) {
             my $m = splice( @mirrors, int(rand(@mirrors)), 1 );
-            my $ping = $m->ping;
-            $callback->($m,$ping) if $callback;
-            # record undef so we don't try again
-            $seen->{$m->hostname} = [$m, $ping];
-            next RANDOM unless defined $ping;
-            push @tests, $ping;
+           if( $self->_try_a_ping( $args{seen}, $m, $args{ping_cache_limit} ) ) {
+				$self->get_mirrors_timings( [ $m ], @args{qw(seen callback)} );
+				next RANDOM unless defined $args{seen}{$m->hostname}->rtt;
+            }
+            printf "\t%s -> %0.2f ms\n",
+            	$m->hostname,
+            	join ' ', 1000 * $args{seen}{$m->hostname}->rtt
+            		if $args{verbose};
+
+			push @tests, $args{seen}{$m->hostname}->rtt;
         }
-        next CONT unless @tests;
-        @tests = sort { $a <=> $b } @tests;
-        if ( @tests == 1 ) {
-            $median{$c} = $tests[0];
-        }
-        elsif ( @tests % 2 ) {
-            $median{$c} = $tests[ int(@tests / 2) ];
-        }
-        else {
-            my $mid_high = int(@tests/2);
-            $median{$c} = ($tests[$mid_high-1] + $tests[$mid_high])/2;
-        }
+
+		my $median = $self->_get_median_ping_time( \@tests, $args{verbose} );
+		$medians{$c} = $median if defined $median;
     }
 
-    my @best_cont = sort { $median{$a} <=> $median{$b} } keys %median ;
+    my @best_cont = sort { $medians{$a} <=> $medians{$b} } keys %medians;
 
-    if ( $verbose ) {
+    if ( $args{verbose} ) {
         print "Median result by continent:\n";
         for my $c ( @best_cont ) {
-            printf( "  %d ms  %s\n", int($median{$c}*1000+.5), $c );
+            printf( "  %4d ms  %s\n", int($medians{$c}*1000+.5), $c );
         }
     }
 
@@ -163,11 +377,44 @@
     return wantarray ? @best_cont : $best_cont[0];
 }
 
+# retry if
+sub _try_a_ping {
+	my ($self, $seen, $mirror, $ping_cache_limit ) = @_;
+
+	( ! exists $seen->{$mirror->hostname} )
+		or
+	(
+	! defined $seen->{$mirror->hostname}->rtt
+		or
+	time - $seen->{$mirror->hostname}->rtt > $ping_cache_limit
+	)
+}
+
+sub _get_median_ping_time {
+	my ($self, $tests, $verbose ) = @_;
+
+	my @sorted = sort { $a <=> $b } @$tests;
+
+	my $median = do {
+		   if ( @sorted == 0 ) { undef }
+		elsif ( @sorted == 1 ) { $sorted[0] }
+		elsif ( @sorted % 2 )  { $sorted[ int(@sorted / 2) ] }
+		else {
+			my $mid_high = int(@sorted/2);
+			($sorted[$mid_high-1] + $sorted[$mid_high])/2;
+		}
+	};
+
+	printf "\t-->median time: %0.2f ms\n", $median * 1000 if $verbose;
+
+    return $median;
+}
+
 # Adapted from Parse::CPAN::MirroredBy by Adam Kennedy
 sub _parse {
     my ($self, $file, $handle) = @_;
     my $output = $self->{mirrors};
-    my $geo = $self->{geography};
+    my $geo    = $self->{geography};
 
     local $/ = "\012";
     my $line = 0;
@@ -193,7 +440,7 @@
             $mirror ||= {};
             if ( $prop eq 'dst_location' ) {
                 my (@location,$continent,$country);
-                @location = (split /\s*,\s*/, $value) 
+                @location = (split /\s*,\s*/, $value)
                     and ($continent, $country) = @location[-1,-2];
                 $continent =~ s/\s\(.*//;
                 $continent =~ s/\W+$//; # if Jarkko doesn't know latitude/longitude
@@ -244,14 +491,16 @@
     $arg ||= {};
     bless $arg, $self;
 }
-sub hostname { shift->{hostname} }
-sub continent { shift->{continent} }
-sub country { shift->{country} }
-sub http { shift->{http} || '' }
-sub ftp { shift->{ftp} || '' }
-sub rsync { shift->{rsync} || '' }
+sub hostname  { shift->{hostname}    }
+sub continent { shift->{continent}   }
+sub country   { shift->{country}     }
+sub http      { shift->{http}  || '' }
+sub ftp       { shift->{ftp}   || '' }
+sub rsync     { shift->{rsync} || '' }
+sub rtt       { shift->{rtt}         }
+sub ping_time { shift->{ping_time}   }
 
-sub url { 
+sub url {
     my $self = shift;
     return $self->{http} || $self->{ftp};
 }
@@ -258,21 +507,45 @@
 
 sub ping {
     my $self = shift;
-    my $ping = Net::Ping->new("tcp",1);
+
+    my $ping = Net::Ping->new($^O eq 'VMS' ? 'icmp' : 'tcp', 1);
     my ($proto) = $self->url =~ m{^([^:]+)};
     my $port = $proto eq 'http' ? 80 : 21;
     return unless $port;
-    if ( $ping->can('port_number') ) {
-    $ping->port_number($port);
+
+	if ( $ping->can('port_number') ) {
+        $ping->port_number($port);
     }
     else {
         $ping->{'port_num'} = $port;
     }
+
     $ping->hires(1) if $ping->can('hires');
     my ($alive,$rtt) = $ping->ping($self->hostname);
-    return $alive ? $rtt : undef;
+
+    $self->{rtt} = $alive ? $rtt : undef;
+    $self->{ping_time} = time;
+
+    $self->rtt;
 }
 
 
 1;
 
+=back
+
+=head1 AUTHOR
+
+Andreas Koenig C<< <andk at cpan.org> >>, David Golden C<< <dagolden at cpan.org> >>,
+brian d foy C<< <bdfoy at cpan.org> >>
+
+=head1 LICENSE
+
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+
+See L<http://www.perl.com/perl/misc/Artistic.html>
+
+
+
+=cut


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Mirrors.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Module.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Nox.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Nox.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Nox.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,10 +6,11 @@
   $CPAN::Suppress_readline=1 unless defined $CPAN::term;
 }
 
-use base 'Exporter';
+use Exporter ();
+ at CPAN::ISA = ('Exporter');
 use CPAN;
 
-$VERSION = "5.50";
+$VERSION = "5.5001";
 $CPAN::META->has_inst('Digest::MD5','no');
 $CPAN::META->has_inst('LWP','no');
 $CPAN::META->has_inst('Compress::Zlib','no');


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Nox.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Prompt.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Prompt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Prompt.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Prompt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Queue.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Queue.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Queue.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -201,6 +201,10 @@
 
 __END__
 
+=head1 NAME
+
+CPAN::Queue - internal queue support for CPAN.pm
+
 =head1 LICENSE
 
 This program is free software; you can redistribute it and/or


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Queue.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -653,7 +653,7 @@
             "CPAN::MyConfig already exists as $configpm.\n" .
             "Running configuration again...\n"
         );
-    require CPAN::FirstTime;
+        require CPAN::FirstTime;
         CPAN::FirstTime::init($configpm);
     }
     else {
@@ -1221,6 +1221,7 @@
     $fh->close;
     $CPAN::Frontend->myprint("\nWrote bundle file
     $to\n\n");
+    return $to;
 }
 
 #-> sub CPAN::Shell::expandany ;
@@ -1684,7 +1685,7 @@
             if ($meth =~ /^($needs_recursion_protection)$/) {
                 # it would be silly to check for recursion for look or dump
                 # (we are in CPAN::Shell::rematein)
-                CPAN->debug("Going to test against recursion") if $CPAN::DEBUG;
+                CPAN->debug("Testing against recursion") if $CPAN::DEBUG;
                 eval {  $obj->color_cmd_tmps(0,1); };
                 if ($@) {
                     if (ref $@
@@ -1847,7 +1848,7 @@
   my($self) = @_;
   if ($CPAN::META->has_inst("XML::LibXML")) {
       my $url = $CPAN::Defaultrecent;
-      $CPAN::Frontend->myprint("Going to fetch '$url'\n");
+      $CPAN::Frontend->myprint("Fetching '$url'\n");
       unless ($CPAN::META->has_usable("LWP")) {
           $CPAN::Frontend->mydie("LWP not installed; cannot continue");
       }
@@ -1935,7 +1936,7 @@
     my $distros = $self->recent;
   DISTRO: for my $distro (@$distros) {
         next if $distro =~ m|/Bundle-|; # XXX crude heuristic to skip bundles
-        $CPAN::Frontend->myprint(sprintf "Going to download and test '$distro'\n");
+        $CPAN::Frontend->myprint(sprintf "Downloading and testing '$distro'\n");
         {
             my $skip = 0;
             local $SIG{INT} = sub { $skip = 1 };


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Shell.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN/Tarzip.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Tarzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Tarzip.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -343,10 +343,20 @@
             }
             $system = qq{$tarcommand x${tar_verb}f "$file"};
             $CPAN::Frontend->myprint(qq{Using Tar:$system:\n});
-            if (system($system)==0) {
+            my $ret = system($system);
+            if ($ret==0) {
                 $CPAN::Frontend->myprint(qq{Untarred $file successfully\n});
             } else {
-                $CPAN::Frontend->mydie(qq{Couldn\'t untar $file\n});
+                if ($? == -1) {
+                    $CPAN::Frontend->mydie(sprintf qq{Couldn\'t untar %s: '%s'\n},
+                                           $file, $!);
+                } elsif ($? & 127) {
+                    $CPAN::Frontend->mydie(sprintf qq{Couldn\'t untar %s: child died with signal %d, %s coredump\n},
+                                           $file, ($? & 127),  ($? & 128) ? 'with' : 'without');
+                } else {
+                    $CPAN::Frontend->mydie(sprintf qq{Couldn\'t untar %s: child exited with value %d\n},
+                                           $file, $? >> 8);
+                }
             }
             return 1;
         } else {
@@ -450,6 +460,10 @@
 
 __END__
 
+=head1 NAME
+
+CPAN::Tarzip - internal handling of tar archives for CPAN.pm
+
 =head1 LICENSE
 
 This program is free software; you can redistribute it and/or


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Tarzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/URL.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/URL.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/URL.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/URL.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/lib/CPAN/Version.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN/Version.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN/Version.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN/Version.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/lib/CPAN.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN/lib/CPAN.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/lib/CPAN.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 # vim: ts=4 sts=4 sw=4:
 use strict;
 package CPAN;
-$CPAN::VERSION = '1.9600_01';
+$CPAN::VERSION = '2.00';
 $CPAN::VERSION =~ s/_//;
 
 # we need to run chdir all over and we would get at wrong libraries
@@ -37,6 +37,7 @@
 use CPAN::LWP::UserAgent;
 use CPAN::Exception::RecursiveDependency;
 use CPAN::Exception::yaml_not_installed;
+use CPAN::Exception::yaml_process_error;
 
 use Carp ();
 use Config ();
@@ -1069,7 +1070,7 @@
                                             # don't die, because we may need
                                             # Archive::Tar to upgrade
                                             }
-                                            
+
                                        }
                                   },
                                  ],
@@ -1315,9 +1316,28 @@
 
 sub _list_sorted_descending_is_tested {
     my($self) = @_;
-    sort
+    my $foul = 0;
+    my @sorted = sort
         { ($self->{is_tested}{$b}||0) <=> ($self->{is_tested}{$a}||0) }
-            keys %{$self->{is_tested}}
+            grep
+                { if ($foul){ 0 } elsif (-e) { 1 } else { $foul = $_; 0 } }
+                    keys %{$self->{is_tested}};
+    if ($foul) {
+        $CPAN::Frontend->mywarn("Lost build_dir detected ($foul), giving up all cached test results of currently running session.\n");
+        for my $dbd (keys %{$self->{is_tested}}) { # distro-build-dir
+        SEARCH: for my $d ($CPAN::META->all_objects("CPAN::Distribution")) {
+                if ($d->{build_dir} && $d->{build_dir} eq $dbd) {
+                    $CPAN::Frontend->mywarn(sprintf "Flushing cache for %s\n", $d->pretty_id);
+                    $d->fforce("");
+                    last SEARCH;
+                }
+            }
+            delete $self->{is_tested}{$dbd};
+        }
+        return ();
+    } else {
+        return @sorted;
+    }
 }
 
 #-> sub CPAN::set_perl5lib
@@ -1469,7 +1489,7 @@
 with slightly differing methods for displaying an object.
 
 Arguments to these commands are either strings exactly matching
-the identification string of an object, or regular expressions 
+the identification string of an object, or regular expressions
 matched case-insensitively against various attributes of the
 objects. The parser only recognizes a regular expression when you
 enclose it with slashes.
@@ -1476,7 +1496,7 @@
 
 The principle is that the number of objects found influences how an
 item is displayed. If the search finds one item, the result is
-displayed with the rather verbose method C<as_string>, but if 
+displayed with the rather verbose method C<as_string>, but if
 more than one is found, each object is displayed with the terse method
 C<as_glimpse>.
 
@@ -1588,7 +1608,7 @@
 C<readme> displays the README file of the associated distribution.
 C<Look> gets and untars (if not yet done) the distribution file,
 changes to the appropriate directory and opens a subshell process in
-that directory. C<perldoc> displays the module's pod documentation 
+that directory. C<perldoc> displays the module's pod documentation
 in html or plain text format.
 
 =item C<ls> author
@@ -1699,9 +1719,14 @@
 C<autobundle> writes a bundle file into the
 C<$CPAN::Config-E<gt>{cpan_home}/Bundle> directory. The file contains
 a list of all modules that are both available from CPAN and currently
-installed within @INC. The name of the bundle file is based on the
-current date and a counter.
+installed within @INC. Duplicates of each distribution are suppressed.
+The name of the bundle file is based on the current date and a
+counter, e.g. F<Bundle/Snapshot_2012_05_21_00.pm>. This is installed
+again by running C<cpan Bundle::Snapshot_2012_05_21_00>, or installing
+C<Bundle::Snapshot_2012_05_21_00> from the CPAN shell.
 
+Return value: path to the written file.
+
 =head2 hosts
 
 Note: this feature is still in alpha state and may change in future
@@ -1712,6 +1737,21 @@
 C<FTPstats.yml> in your C<cpan_home> directory. If no YAML module is
 configured or YAML not installed, no stats are provided.
 
+=over
+
+=item install_tested
+
+Install all distributions that have been tested successfully but have
+not yet been installed. See also C<is_tested>.
+
+=item is_tested
+
+List all buid directories of distributions that have been tested
+successfully but have not yet been installed. See also
+C<install_tested>.
+
+=back
+
 =head2 mkmyconfig
 
 mkmyconfig() writes your own CPAN::MyConfig file into your C<~/.cpan/>
@@ -1718,10 +1758,35 @@
 directory so that you can save your own preferences instead of the
 system-wide ones.
 
+=head2 r [Module|/Regexp/]...
+
+scans current perl installation for modules that have a newer version
+available on CPAN and provides a list of them. If called without
+argument, all potential upgrades are listed; if called with arguments
+the list is filtered to the modules and regexps given as arguments.
+
+The listing looks something like this:
+
+  Package namespace         installed    latest  in CPAN file
+  CPAN                        1.94_64    1.9600  ANDK/CPAN-1.9600.tar.gz
+  CPAN::Reporter               1.1801    1.1902  DAGOLDEN/CPAN-Reporter-1.1902.tar.gz
+  YAML                           0.70      0.73  INGY/YAML-0.73.tar.gz
+  YAML::Syck                     1.14      1.17  AVAR/YAML-Syck-1.17.tar.gz
+  YAML::Tiny                     1.44      1.50  ADAMK/YAML-Tiny-1.50.tar.gz
+  CGI                            3.43      3.55  MARKSTOS/CGI.pm-3.55.tar.gz
+  Module::Build::YAML            1.40      1.41  DAGOLDEN/Module-Build-0.3800.tar.gz
+  TAP::Parser::Result::YAML      3.22      3.23  ANDYA/Test-Harness-3.23.tar.gz
+  YAML::XS                       0.34      0.35  INGY/YAML-LibYAML-0.35.tar.gz
+
+It suppresses duplicates in the column C<in CPAN file> such that
+distributions with many upgradeable modules are listed only once.
+
+Note that the list is not sorted.
+
 =head2 recent ***EXPERIMENTAL COMMAND***
 
 The C<recent> command downloads a list of recent uploads to CPAN and
-displays them I<slowly>. While the command is running, a $SIG{INT} 
+displays them I<slowly>. While the command is running, a $SIG{INT}
 exits the loop after displaying the current item.
 
 B<Note>: This command requires XML::LibXML installed.
@@ -1776,7 +1841,7 @@
 
 B<Note>: See also L<recent>
 
-=head2 upgrade [Module|/Regex/]...
+=head2 upgrade [Module|/Regexp/]...
 
 The C<upgrade> command first runs an C<r> command with the given
 arguments and then installs the newest versions of all modules that
@@ -1895,7 +1960,7 @@
   o conf shell
 
 If KEY starts and ends with a slash, the string in between is
-treated as a regular expression and only keys matching this regex
+treated as a regular expression and only keys matching this regexp
 are displayed
 
 Example:
@@ -1998,7 +2063,7 @@
   inactivity_timeout breaks interactive Makefile.PLs or Build.PLs
                      after this many seconds inactivity. Set to 0 to
                      disable timeouts.
-  index_expire       refetch index files after this many days 
+  index_expire       refetch index files after this many days
   inhibit_startup_message
                      if true, suppress the startup message
   keep_source_where  directory in which to keep the source (if we do)
@@ -2192,7 +2257,7 @@
 Since CPAN.pm version 1.88_51 modules declared as C<build_requires> by
 a distribution are treated differently depending on the config
 variable C<build_requires_install_policy>. By setting
-C<build_requires_install_policy> to C<no>, such a module is not 
+C<build_requires_install_policy> to C<no>, such a module is not
 installed. It is only built and tested, and then kept in the list of
 tested but uninstalled modules. As such, it is available during the
 build of the dependent module by integrating the path to the
@@ -2246,7 +2311,7 @@
 
 =item
 
-specify dependencies the original maintainer forgot 
+specify dependencies the original maintainer forgot
 
 =item
 
@@ -2434,7 +2499,7 @@
 
 =item match [hash]
 
-A hashref with one or more of the keys C<distribution>, C<modules>,
+A hashref with one or more of the keys C<distribution>, C<module>,
 C<perl>, C<perlconfig>, and C<env> that specify whether a document is
 targeted at a specific CPAN distribution or installation.
 Keys prefixed with C<not_> negates the corresponding match.
@@ -2583,7 +2648,7 @@
 
 =head1 PROGRAMMER'S INTERFACE
 
-If you do not enter the shell, shell commands are 
+If you do not enter the shell, shell commands are
 available both as methods (C<CPAN::Shell-E<gt>install(...)>) and as
 functions in the calling package (C<install(...)>).  Before calling low-level
 commands, it makes sense to initialize components of CPAN you need, e.g.:
@@ -2596,10 +2661,21 @@
 
 There's currently only one class that has a stable interface -
 CPAN::Shell. All commands that are available in the CPAN shell are
-methods of the class CPAN::Shell. Each of the commands that produce
-listings of modules (C<r>, C<autobundle>, C<u>) also return a list of
-the IDs of all modules within the list.
+methods of the class CPAN::Shell. The arguments on the commandline are
+passed as arguments to the method.
 
+So if you take for example the shell command
+
+  notest install A B C
+
+the actually executed command is
+
+  CPAN::Shell->notest("install","A","B","C");
+
+Each of the commands that produce listings of modules (C<r>,
+C<autobundle>, C<u>) also return a list of the IDs of all modules
+within the list.
+
 =over 2
 
 =item expand($type, at things)
@@ -2650,7 +2726,7 @@
 If you don't want any output should all modules be
 up to date, parse the output of above command for the regular
 expression C</modules are up to date/> and decide to mail the output
-only if it doesn't match. 
+only if it doesn't match.
 
 If you prefer to do it more in a programmerish style in one single
 process, something like this may better suit you:
@@ -2837,16 +2913,11 @@
 you.
 
 This install method only has the power to install the distribution if
-there are no dependencies in the way. To install an object along with all 
+there are no dependencies in the way. To install an object along with all
 its dependencies, use CPAN::Shell->install.
 
 Note that install() gives no meaningful return value. See uptodate().
 
-=item CPAN::Distribution::install_tested()
-
-Install all distributions that have tested successfully but
-not yet installed. See also C<is_tested>.
-
 =item CPAN::Distribution::isa_perl()
 
 Returns 1 if this distribution file seems to be a perl distribution.
@@ -3231,7 +3302,7 @@
 packaging, configuration, synchronicity, and even (gasp!) due to bugs
 within the CPAN.pm module itself.
 
-For debugging the code of CPAN.pm itself in interactive mode, some 
+For debugging the code of CPAN.pm itself in interactive mode, some
 debugging aid can be turned on for most packages within
 CPAN.pm with one of
 
@@ -3387,12 +3458,12 @@
 things: dependencies and interactivity. CPAN.pm sometimes fails on
 calculating dependencies because not all modules define all MakeMaker
 attributes correctly, so a bundle definition file should specify
-prerequisites as early as possible. On the other hand, it's 
+prerequisites as early as possible. On the other hand, it's
 annoying that so many distributions need some interactive configuring. So
 what you can try to accomplish in your private bundle file is to have the
 packages that need to be configured early in the file and the gentle
 ones later, so you can go out for coffee after a few minutes and leave CPAN.pm
-to churn away untended.
+to churn away unattended.
 
 =head1 WORKING WITH CPAN.pm BEHIND FIREWALLS
 
@@ -3432,7 +3503,7 @@
 
 =item One-way visibility
 
-One-way visibility means these firewalls try to make themselves 
+One-way visibility means these firewalls try to make themselves
 invisible to users inside the firewall. An FTP data connection is
 normally created by sending your IP address to the remote server and then
 listening for the return connection. But the remote server will not be able to
@@ -3730,7 +3801,7 @@
 
 =head2 OLD PERL VERSIONS
 
-CPAN.pm is regularly tested to run under 5.004, 5.005, and assorted
+CPAN.pm is regularly tested to run under 5.005 and assorted
 newer versions. It is getting more and more difficult to get the
 minimal prerequisites working on older perls. It is close to
 impossible to get the whole Bundle::CPAN working there. If you're in
@@ -3794,4 +3865,8 @@
 work for you as well. Above that the utility provides several
 commandline shortcuts.
 
+melezhik (Alexey) sent me a link where he published a chef recipe to
+work with CPAN.pm: http://community.opscode.com/cookbooks/cpan.
+
+
 =cut


Property changes on: vendor/perl/dist/cpan/CPAN/lib/CPAN.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN/scripts/cpan
===================================================================
--- vendor/perl/dist/cpan/CPAN/scripts/cpan	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/scripts/cpan	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,10 @@
 #!/usr/local/bin/perl
+
 use strict;
 use vars qw($VERSION);
 
-use App::Cpan;
-$VERSION = '1.57';
+use App::Cpan '1.60_02';
+$VERSION = '1.61';
 
 my $rc = App::Cpan->run( @ARGV );
 
@@ -20,7 +21,7 @@
 	cpan module_name [ module_name ... ]
 
 	# with switches, installs modules with extra behavior
-	cpan [-cfgimt] module_name [ module_name ... ]
+	cpan [-cfgimtTw] module_name [ module_name ... ]
 
 	# with just the dot, install from the distribution in the
 	# current directory
@@ -66,10 +67,7 @@
 
 =item -D module [ module ... ]
 
-Show the module details. This prints one line for each out-of-date module
-(meaning, modules locally installed but have newer versions on CPAN).
-Each line has three columns: module name, local version, and CPAN
-version.
+Show the module details.
 
 =item -f
 
@@ -110,6 +108,10 @@
 
 Install the specified modules.
 
+=item -I
+
+Load C<local::lib> (think like C<-I> for loading lib paths).
+
 =item -j Config.pm
 
 Load the file that has the CPAN configuration data. This should have the
@@ -122,6 +124,10 @@
 for checking the configuration as well as using the dump as a starting point
 for a new, custom configuration.
 
+=item -l
+
+List all installed modules wth their versions
+
 =item -L author [ author ... ]
 
 List the modules by the specified authors.
@@ -134,18 +140,46 @@
 
 Show the out-of-date modules.
 
-=item -t
+=item -p
 
-Run a `make test` on the specified modules.
+Ping the configured mirrors
 
+=item -P
+
+Find the best mirrors you could be using (but doesn't configure them just yet)
+
 =item -r
 
 Recompiles dynamically loaded modules with CPAN::Shell->recompile.
 
+=item -t
+
+Run a `make test` on the specified modules.
+
+=item -T
+
+Do not test modules. Simply install them.
+
+=item -u
+
+Upgrade all installed modules. Blindly doing this can really break things,
+so keep a backup.
+
 =item -v
 
 Print the script version and CPAN.pm version then exit.
 
+=item -V
+
+Print detailed information about the cpan client.
+
+=item -w 
+
+UNIMPLEMENTED
+
+Turn on cpan warnings. This checks various things, like directory permissions,
+and tells you about problems you might have.
+
 =back
 
 =head2 Examples
@@ -162,6 +196,9 @@
 	# recompile modules
 	cpan -r
 
+	# upgrade all installed modules
+	cpan -u
+
 	# install modules ( sole -i is optional )
 	cpan -i Netscape::Booksmarks Business::ISBN
 
@@ -168,6 +205,18 @@
 	# force install modules ( must use -i )
 	cpan -fi CGI::Minimal URI
 
+=head1 ENVIRONMENT VARIABLES
+
+=over 4
+
+=item CPAN_OPTS
+
+C<cpan> splits this variable on whitespace and prepends that list to C<@ARGV>
+before it processes the command-line arguments. For instance, if you always
+want to use C<local:lib>, you can set C<CPAN_OPTS> to C<-I>.
+
+=back
+
 =head1 EXIT VALUES
 
 The script exits with zero if it thinks that everything worked, or a 
@@ -187,8 +236,6 @@
 
 * one shot configuration values from the command line
 
-
-
 =head1 BUGS
 
 * none noted
@@ -220,7 +267,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (c) 2001-2009, brian d foy, All Rights Reserved.
+Copyright (c) 2001-2013, brian d foy, All Rights Reserved.
 
 You may redistribute this under the same terms as Perl itself.
 


Property changes on: vendor/perl/dist/cpan/CPAN/scripts/cpan
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/t/01loadme.t
===================================================================
--- vendor/perl/dist/cpan/CPAN/t/01loadme.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/t/01loadme.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/t/01loadme.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/t/02nox.t
===================================================================
--- vendor/perl/dist/cpan/CPAN/t/02nox.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/t/02nox.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/t/02nox.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/t/03pkgs.t
===================================================================
--- vendor/perl/dist/cpan/CPAN/t/03pkgs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/t/03pkgs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/t/03pkgs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/t/10version.t
===================================================================
--- vendor/perl/dist/cpan/CPAN/t/10version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/t/10version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/t/10version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN/t/11mirroredby.t
===================================================================
--- vendor/perl/dist/cpan/CPAN/t/11mirroredby.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN/t/11mirroredby.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN/t/11mirroredby.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/Changes
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,172 @@
 Revision history for CPAN-Meta
 
+2.120921  2012-04-01 15:20:24 Europe/Paris
+
+  [REMOVED]
+
+  - CPAN::Meta::Requirements has been split out into its own distribution
+    so it can be used by CPAN.pm without requiring all of CPAN::Meta
+
+2.120920  2012-04-01 11:30:43 Europe/Paris
+
+  [ADDED]
+
+  - CPAN::Meta::Requirements now has a 'requirements_for_module' method
+    to retrieve a version requirements string for a specific module
+    [Leon Timmermans]
+
+  [OTHER]
+
+  - Parse::CPAN::Meta prerequisite bumped to 1.4403
+  - JSON::PP prerequisites bumped to 2.27200
+  - CPAN::Meta::YAML prerequisite bumped to 0.008
+
+2.120900  2012-03-30 13:15:15 Europe/Paris
+
+  [BUGFIX]
+
+  - CPAN::Meta::Requirements now treats undef requirements given to
+    from_string_hash() as '0' and warns about it; add_string_requirements()
+    dies if it does not get a requirements string to parse
+
+2.120630  2012-03-03 14:48:35 EST5EDT
+
+  [BUGFIX]
+
+  - CPAN::Meta::Requirements now ensures that dotted-decimal versions are
+    represented in normalized form when stringified.  This fixes a
+    regression in META conversion in 2.120620.
+    [Reported by Kent Fredric; fixed by David Golden]
+
+2.120620  2012-03-02 12:28:59 EST5EDT
+
+  [ADDED]
+
+  - CPAN::Meta::Requirements::add_string_requirements allows building
+    a requirements specification piecemeal [Cory G. Watson]
+
+  [BUGFIX]
+
+  - Version range handling fixed [rt.cpan.org #75424]
+
+  - CPAN::Meta::Converter handles bad version strings more gracefully,
+    truncating alphanumerics and otherwise falling back to "0".  This
+    is likely better than dropping a prerequisite or dying.
+    [rt.cpan.org #75427]
+
+2.120530  2012-02-22 16:15:31 EST5EDT
+
+  [OTHER]
+
+  - Dialed back perl prereq to 5.006
+
+2.120351  2012-02-03 23:01:45 America/New_York
+
+  [OTHER]
+
+  - Fixed CPAN packaging errors
+
+2.120350  2012-02-03 22:46:59 America/New_York
+
+  [BUGFIX]
+
+  - Work around a memory leak bug involving version objects
+    in boolean context.
+
+2.113640  2011-12-30 15:19:46 America/New_York
+
+  [OTHER]
+
+  - Version::Requirements has now been merged as CPAN::Meta::Requirements,
+    rendering Version::Requirements itself redundant
+
+2.112621  2011-09-19 12:15:16 America/New_York
+
+  [BUGFIX]
+
+  - Spell BACKEND environment variables correctly this time
+    [noticed by Stevan Little]
+
+2.112620  2011-09-18 20:56:06 America/New_York
+
+  [BUGFIX]
+
+  - Protect tests against PERL_(YAML|JSON)_BACKEND settings that could
+    cause tests to fail. (RT #69979)
+
+2.112600  2011-09-17 12:21:09 America/New_York
+
+  [DOCUMENTATION]
+
+  - Fixed spelling error in CPAN::Meta::Spec (RT #71036) [Gregor Hermann]
+
+2.112580  2011-09-15 10:53:59 America/New_York
+
+  [BUGFIX]
+
+  - Use UTF-8 mode for internal structure cloning to avoid bugs
+    in Perl <= 5.8.6 (RT #70936) [Dagfinn Ilmari Mannsåker]
+
+2.112150  2011-08-02 22:25:41 America/New_York
+
+  [BUGFIX]
+
+  - Stringify any objects encountered during conversion. (RT #67295)
+
+  - Fixed some broken URLs in documentation and for LGPL in legacy
+    conversion (RT #68738)
+
+  - Fixed invalid private Pod in CPAN::Meta::Validator (RT #65925)
+
+  [SPEC]
+
+  - Clarified that file paths in the 'provides' section must be in
+    Unix-style (i.e. forward slashes) (RT #69045)
+
+  - Replaced examples using Module::Build::ModuleInfo with Module::Metadata
+    (RT #66135)
+
+2.110930  2011-04-02 23:31:24 America/New_York
+
+  [BUGFIX]
+
+  - Fixed a bug in the 'as_string' method that checked the module version
+    instead of the meta-spec version when conversion was requested
+    (RT #67188)
+
+2.110910  2011-04-01 08:55:30 America/New_York
+
+  [ENHANCEMENTS]
+
+  - The 1.x spec "gpl" and "lgpl" and "mozilla" license values now up-convert
+    to "open_source" because they indicate too non-specific a license.
+
+2.110580  2011-02-27 07:58:06 EST5EDT
+
+  [OTHER]
+
+  - Add explicit dependencies on JSON::PP and CPAN::Meta::YAML instead
+    of relying on Parse::CPAN::Meta to provide them (as some CPAN Testers
+    have had P::C::M installed without them somehow)
+
+  - Removed dependency on Storable as it was not a core module
+    until Perl 5.8
+
+2.110550  2011-02-24 07:17:57 EST5EDT
+
+  [OTHER]
+
+  - Added required field 'release_status' to the synopsis of
+    CPAN::Meta::Spec (RT#66118) [Oliver Mengué]
+
+2.110540  2011-02-23 15:21:16 EST5EDT
+
+  [BUGFIX]
+
+  - Had two different Parse::CPAN::Meta requirements, one in 'requires' and
+    the other in 'build_requires'. This confused some installers, so we
+    only inlude the 'requires' now.
+
 2.110440  2011-02-12 22:55:28 EST5EDT
 
   [BUGFIX]
@@ -64,7 +231,7 @@
 2.110240  2011-01-24 16:28:25 EST5EDT
 
   - Reading JSON/YAML is delegated entirely to Parse::CPAN::Meta (1.4200)
-  
+
   - JSON.pm is dropped as a prerequisite and JSON::PP is added to prepare
     for CPAN::Meta to be added to the Perl core
 
@@ -78,7 +245,7 @@
 2.102160  2010-08-04 12:27:10 EST5EDT
 
   - Fix bugtracker conversion bug (RT#60017)
-    
+
 2.101670  2010-06-15 21:02:42 EST5EDT
 
   - converting 1.x 'repository' field now puts converted url into the
@@ -110,7 +277,7 @@
 
 2.101590  2010-06-07 21:49:36 EST5EDT
 
-  - won't automatically add 'unknown' as repository type when converting; 
+  - won't automatically add 'unknown' as repository type when converting;
     instead, will only add a repository type if a repository 'url' is
     present and it is of the 'svn:' or 'git:' scheme.
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,16 +2,30 @@
 use strict;
 use warnings;
 package CPAN::Meta::Converter;
-BEGIN {
-  $CPAN::Meta::Converter::VERSION = '2.110440';
-}
-# ABSTRACT: Convert CPAN distribution metadata structures
+our $VERSION = '2.120921'; # VERSION
 
 
 use CPAN::Meta::Validator;
-use Storable qw/dclone/;
-use version 0.82 ();
+use CPAN::Meta::Requirements;
+use version 0.88 ();
+use Parse::CPAN::Meta 1.4400 ();
 
+sub _dclone {
+  my $ref = shift;
+
+  # if an object is in the data structure and doesn't specify how to
+  # turn itself into JSON, we just stringify the object.  That does the
+  # right thing for typical things that might be there, like version objects,
+  # Path::Class objects, etc.
+  no warnings 'once';
+  local *UNIVERSAL::TO_JSON = sub { return "$_[0]" };
+
+  my $backend = Parse::CPAN::Meta->json_backend();
+  return $backend->new->utf8->decode(
+    $backend->new->utf8->allow_blessed->convert_blessed->encode($ref)
+  );
+}
+
 my %known_specs = (
     '2'   => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
     '1.4' => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
@@ -134,15 +148,18 @@
   unknown
 );
 
+# The "old" values were defined by Module::Build, and were often vague.  I have
+# made the decisions below based on reading Module::Build::API and how clearly
+# it specifies the version of the license.
 my %license_map_2 = (
-  ( map { $_ => $_ } @valid_licenses_2 ),
-  apache => 'apache_2_0',
-  artistic => 'artistic_1',
-  artistic2 => 'artistic_2',
-  gpl => 'gpl_1',
-  lgpl => 'lgpl_2_1',
-  mozilla => 'mozilla_1_0',
-  perl => 'perl_5',
+  (map { $_ => $_ } @valid_licenses_2),
+  apache      => 'apache_2_0',  # clearly stated as 2.0
+  artistic    => 'artistic_1',  # clearly stated as 1
+  artistic2   => 'artistic_2',  # clearly stated as 2
+  gpl         => 'open_source', # we don't know which GPL; punt
+  lgpl        => 'open_source', # we don't know which LGPL; punt
+  mozilla     => 'open_source', # we don't know which MPL; punt
+  perl        => 'perl_5',      # clearly Perl 5
   restrictive => 'restricted',
 );
 
@@ -300,7 +317,10 @@
   return 0 if ! length $element;
   return 0 if ( $element eq 'undef' || $element eq '<undef>' );
 
-  if ( my $v = eval { version->new($element) } ) {
+  my $v = eval { version->new($element) };
+  # XXX check defined $v and not just $v because version objects leak memory
+  # in boolean context -- dagolden, 2012-02-03
+  if ( defined $v ) {
     return $v->is_qv ? $v->normal : $element;
   }
   else {
@@ -308,29 +328,36 @@
   }
 }
 
+sub _bad_version_hook {
+  my ($v) = @_;
+  $v =~ s{[a-z]+$}{}; # strip trailing alphabetics
+  my $vobj = eval { version->parse($v) };
+  return defined($vobj) ? $vobj : version->parse(0); # or give up
+}
+
 sub _version_map {
   my ($element) = @_;
-  return undef unless defined $element;
+  return unless defined $element;
   if ( ref $element eq 'HASH' ) {
-    my $new_map = {};
-    for my $k ( keys %$element ) {
+    # XXX turn this into CPAN::Meta::Requirements with bad version hook
+    # and then turn it back into a hash
+    my $new_map = CPAN::Meta::Requirements->new(
+      { bad_version_hook => sub { version->new(0) } } # punt
+    );
+    while ( my ($k,$v) = each %$element ) {
       next unless _is_module_name($k);
-      my $value = $element->{$k};
-      if ( ! ( defined $value && length $value ) ) {
-        $new_map->{$k} = 0;
+      if ( !defined($v) || !length($v) || $v eq 'undef' || $v eq '<undef>'  ) {
+        $v = 0;
       }
-      elsif ( $value eq 'undef' || $value eq '<undef>' ) {
-        $new_map->{$k} = 0;
+      # some weird, old META have bad yml with module => module
+      # so check if value is like a module name and not like a version
+      if ( _is_module_name($v) && ! version::is_lax($v) ) {
+        $new_map->add_minimum($k => 0);
+        $new_map->add_minimum($v => 0);
       }
-      elsif ( _is_module_name( $value ) ) { # some weird, old META have this
-        $new_map->{$k} = 0;
-        $new_map->{$value} = 0;
-      }
-      else {
-        $new_map->{$k} = _clean_version($value);
-      }
+      $new_map->add_string_requirement($k => $v);
     }
-    return $new_map;
+    return $new_map->as_string_hash;
   }
   elsif ( ref $element eq 'ARRAY' ) {
     my $hashref = { map { $_ => 0 } @$element };
@@ -413,9 +440,8 @@
   my $test_h  = _extract_prereqs($_[2]->{prereqs}, qw(test  requires)) || {};
   my $build_h = _extract_prereqs($_[2]->{prereqs}, qw(build requires)) || {};
 
-  require Version::Requirements;
-  my $test_req  = Version::Requirements->from_string_hash($test_h);
-  my $build_req = Version::Requirements->from_string_hash($build_h);
+  my $test_req  = CPAN::Meta::Requirements->from_string_hash($test_h);
+  my $build_req = CPAN::Meta::Requirements->from_string_hash($build_h);
 
   $test_req->add_requirements($build_req)->as_string_hash;
 }
@@ -423,12 +449,12 @@
 sub _extract_prereqs {
   my ($prereqs, $phase, $type) = @_;
   return unless ref $prereqs eq 'HASH';
-  return $prereqs->{$phase}{$type};
+  return scalar _version_map($prereqs->{$phase}{$type});
 }
 
 sub _downgrade_optional_features {
   my (undef, undef, $meta) = @_;
-  return undef unless exists $meta->{optional_features};
+  return unless exists $meta->{optional_features};
   my $origin = $meta->{optional_features};
   my $features = {};
   for my $name ( keys %$origin ) {
@@ -449,7 +475,7 @@
 
 sub _upgrade_optional_features {
   my (undef, undef, $meta) = @_;
-  return undef unless exists $meta->{optional_features};
+  return unless exists $meta->{optional_features};
   my $origin = $meta->{optional_features};
   my $features = {};
   for my $name ( keys %$origin ) {
@@ -545,7 +571,7 @@
     return unless $item;
     if ( $item =~ m{^mailto:(.*)$} ) { return { mailto => $1 } }
     elsif( _is_urlish($item) ) { return { web => $item } }
-    else { return undef }
+    else { return }
   },
   repository => sub { return _is_urlish($_[0]) ? { url => $_[0] } : undef },
   ':custom'  => \&_prefix_custom,
@@ -553,7 +579,7 @@
 
 sub _upgrade_resources_2 {
   my (undef, undef, $meta, $version) = @_;
-  return undef unless exists $meta->{resources};
+  return unless exists $meta->{resources};
   return _convert($meta->{resources}, $resource2_upgrade);
 }
 
@@ -591,7 +617,7 @@
 
 sub _cleanup_resources_2 {
   my ($resources, $key, $meta, $to_version) = @_;
-  return undef unless $resources && ref $resources eq 'HASH';
+  return unless $resources && ref $resources eq 'HASH';
   return _convert($resources, $resources2_cleanup, $to_version);
 }
 
@@ -605,7 +631,7 @@
 
 sub _resources_1_3 {
   my (undef, undef, $meta, $version) = @_;
-  return undef unless exists $meta->{resources};
+  return unless exists $meta->{resources};
   return _convert($meta->{resources}, $resource1_spec);
 }
 
@@ -618,7 +644,7 @@
     $resources->{license} = $meta->license_url
       if _is_urlish($meta->{license_url});
   }
-  return undef unless keys %$resources;
+  return unless keys %$resources;
   return _convert($resources, $resource1_spec);
 }
 
@@ -632,7 +658,7 @@
 
 sub _downgrade_resources {
   my (undef, undef, $meta, $version) = @_;
-  return undef unless exists $meta->{resources};
+  return unless exists $meta->{resources};
   return _convert($meta->{resources}, $resource_downgrade_spec);
 }
 
@@ -1187,7 +1213,7 @@
   my $new_version = $args->{version} || $HIGHEST;
 
   my ($old_version) = $self->{spec};
-  my $converted = dclone $self->{data};
+  my $converted = _dclone($self->{data});
 
   if ( $old_version == $new_version ) {
     $converted = _convert( $converted, $cleanup{$old_version}, $old_version );
@@ -1232,8 +1258,10 @@
 
 1;
 
+# ABSTRACT: Convert CPAN distribution metadata structures
 
 
+
 =pod
 
 =head1 NAME
@@ -1242,7 +1270,7 @@
 
 =head1 VERSION
 
-version 2.110440
+version 2.120921
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,10 +2,7 @@
 use strict;
 use warnings;
 package CPAN::Meta::Feature;
-BEGIN {
-  $CPAN::Meta::Feature::VERSION = '2.110440';
-}
-# ABSTRACT: an optional feature provided by a CPAN distribution
+our $VERSION = '2.120921'; # VERSION
 
 use CPAN::Meta::Prereqs;
 
@@ -33,8 +30,10 @@
 
 1;
 
+# ABSTRACT: an optional feature provided by a CPAN distribution
 
 
+
 =pod
 
 =head1 NAME
@@ -43,7 +42,7 @@
 
 =head1 VERSION
 
-version 2.110440
+version 2.120921
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,14 +3,14 @@
 use strict;
 use warnings;
 package CPAN::Meta::History;
-BEGIN {
-  $CPAN::Meta::History::VERSION = '2.110440';
-}
-# ABSTRACT: history of CPAN Meta Spec changes
+our $VERSION = '2.120921'; # VERSION
+
 1;
 
+# ABSTRACT: history of CPAN Meta Spec changes
 
 
+
 __END__
 =pod
 
@@ -20,7 +20,7 @@
 
 =head1 VERSION
 
-version 2.110440
+version 2.120921
 
 =head1 DESCRIPTION
 
@@ -242,7 +242,7 @@
 
 =item *
 
-Added 'optional_features' field as an alterate under 'recommends'.
+Added 'optional_features' field as an alternate under 'recommends'.
 Includes 'description', 'requires', 'build_requires', 'conflicts',
 'requires_packages', 'requires_os' and 'excluded_os' as valid subkeys
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,15 +2,12 @@
 use strict;
 use warnings;
 package CPAN::Meta::Prereqs;
-BEGIN {
-  $CPAN::Meta::Prereqs::VERSION = '2.110440';
-}
-# ABSTRACT: a set of distribution prerequisites by phase and type
+our $VERSION = '2.120921'; # VERSION
 
 
 use Carp qw(confess);
 use Scalar::Util qw(blessed);
-use Version::Requirements 0.101020; # finalize
+use CPAN::Meta::Requirements 2.121;
 
 
 sub __legal_phases { qw(configure build test runtime develop)   }
@@ -38,7 +35,7 @@
 
       next TYPE unless keys %$spec;
 
-      $guts{prereqs}{$phase}{$type} = Version::Requirements->from_string_hash(
+      $guts{prereqs}{$phase}{$type} = CPAN::Meta::Requirements->from_string_hash(
         $spec
       );
     }
@@ -62,7 +59,7 @@
     confess "requested requirements for unknown type: $type";
   }
 
-  my $req = ($self->{prereqs}{$phase}{$type} ||= Version::Requirements->new);
+  my $req = ($self->{prereqs}{$phase}{$type} ||= CPAN::Meta::Requirements->new);
 
   $req->finalize if $self->is_finalized;
 
@@ -81,7 +78,7 @@
 
   for my $phase ($self->__legal_phases) {
     for my $type ($self->__legal_types) {
-      my $req = Version::Requirements->new;
+      my $req = CPAN::Meta::Requirements->new;
 
       for my $prereq (@prereq_objs) {
         my $this_req = $prereq->requirements_for($phase, $type);
@@ -140,8 +137,10 @@
 
 1;
 
+# ABSTRACT: a set of distribution prerequisites by phase and type
 
 
+
 =pod
 
 =head1 NAME
@@ -150,7 +149,7 @@
 
 =head1 VERSION
 
-version 2.110440
+version 2.120921
 
 =head1 DESCRIPTION
 
@@ -190,10 +189,10 @@
 
   my $requirements = $prereqs->requirements_for( $phase, $type );
 
-This method returns a L<Version::Requirements> object for the given phase/type
-combination.  If no prerequisites are registered for that combination, a new
-Version::Requirements object will be returned, and it may be added to as
-needed.
+This method returns a L<CPAN::Meta::Requirements> object for the given
+phase/type combination.  If no prerequisites are registered for that
+combination, a new CPAN::Meta::Requirements object will be returned, and it may
+be added to as needed.
 
 If C<$phase> or C<$type> are undefined or otherwise invalid, an exception will
 be raised.
@@ -216,7 +215,7 @@
 
 This method returns a hashref containing structures suitable for dumping into a
 distmeta data structure.  It is made up of hashes and strings, only; there will
-be no Prereqs, Version::Requirements, or C<version> objects inside it.
+be no Prereqs, CPAN::Meta::Requirements, or C<version> objects inside it.
 
 =head2 is_finalized
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,14 +3,14 @@
 use strict;
 use warnings;
 package CPAN::Meta::Spec;
-BEGIN {
-  $CPAN::Meta::Spec::VERSION = '2.110440';
-}
-# ABSTRACT: specification for CPAN distribution metadata
+our $VERSION = '2.120921'; # VERSION
+
 1;
 
+# ABSTRACT: specification for CPAN distribution metadata
 
 
+
 __END__
 =pod
 
@@ -20,7 +20,7 @@
 
 =head1 VERSION
 
-version 2.110440
+version 2.120921
 
 =head1 SYNOPSIS
 
@@ -31,6 +31,7 @@
       . "building, testing, and installing Perl modules. "
       . "It is meant to ... blah blah blah ...",
     version  => '0.36',
+    release_status => 'stable',
     author   => [
       'Ken Williams <kwilliams at cpan.org>',
       'Module-Build List <module-build at perl.org>', # additional contact
@@ -505,12 +506,12 @@
 =item file
 
 A I<List> of relative paths to files.  Paths B<must be> specified with
-unix convetions.
+unix conventions.
 
 =item directory
 
 A I<List> of relative paths to directories.  Paths B<must be> specified
-with unix convetions.
+with unix conventions.
 
 [ Note: previous editions of the spec had C<dir> instead of C<directory> ]
 
@@ -565,13 +566,13 @@
 C<L</prereqs>> key.  It provides a list of package requirements
 that must be satisfied for the feature to be supported or enabled.
 
-There is one crucial restriction:  the preqreqs of an optional feature
+There is one crucial restriction:  the prereqs of an optional feature
 B<must not> include C<configure> phase prereqs.
 
 =back
 
 Consumers B<must not> include optional features as prerequisites without
-explict instruction from users (whether via interactive prompting,
+explicit instruction from users (whether via interactive prompting,
 a function parameter or a configuration value, etc. ).
 
 If an optional feature is used by a consumer to add additional
@@ -663,8 +664,9 @@
 
 =item file
 
-This field is required.  The value must contain a relative file path
-from the root of the distribution to the module containing the package.
+This field is required.  The value must contain a Unix-style relative
+file path from the root of the distribution to the module containing the
+package.
 
 =item version
 
@@ -680,12 +682,12 @@
     license     => [ 'http://dev.perl.org/licenses/' ],
     homepage    => 'http://sourceforge.net/projects/module-build',
     bugtracker  => {
-      web    => 'http://github.com/dagolden/cpan-meta-spec/issues',
+      web    => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
       mailto => 'meta-bugs at example.com',
     },
     repository  => {
-      url  => 'git://github.com/dagolden/cpan-meta-spec.git',
-      web  => 'http://github.com/dagolden/cpan-meta-spec',
+      url  => 'git://github.com/dagolden/cpan-meta.git',
+      web  => 'http://github.com/dagolden/cpan-meta',
       type => 'git',
     },
     x_twitter   => 'http://twitter.com/cpan_linked/',
@@ -1027,10 +1029,10 @@
 =head2 Extracting Version Numbers from Perl Modules
 
 To get the version number from a Perl module, consumers should use the
-C<< MM->parse_version($file) >> method provided by L<ExtUtils::MakeMaker> or
-the L<Module::Build::ModuleInfo> module provided with L<Module::Build>.  For
-example, for the module given by C<$mod>, the version may be retrieved in one
-of the following ways:
+C<< MM->parse_version($file) >> method provided by
+L<ExtUtils::MakeMaker> or L<Module::Metadata>.  For example, for the
+module given by C<$mod>, the version may be retrieved in one of the
+following ways:
 
   # via ExtUtils::MakeMaker
   my $file = MM->_installed_file_for_module($mod);
@@ -1039,14 +1041,14 @@
 The private C<_installed_file_for_module> method may be replaced with
 other methods for locating a module in C<@INC>.
 
-  # via Module::Build
-  my $info = Module::Build::ModuleInfo->new_from_module($mod);
+  # via Module::Metadata
+  my $info = Module::Metadata->new_from_module($mod);
   my $version = $info->version;
 
 If only a filename is available, the following approach may be used:
 
   # via Module::Build
-  my $info = Module::Build::ModuleInfo->new_from_file($file);
+  my $info = Module::Metadata->new_from_file($file);
   my $version = $info->version;
 
 =head2 Comparing Version Numbers


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,10 +2,7 @@
 use strict;
 use warnings;
 package CPAN::Meta::Validator;
-BEGIN {
-  $CPAN::Meta::Validator::VERSION = '2.110440';
-}
-# ABSTRACT: validate CPAN distribution metadata structures
+our $VERSION = '2.120921'; # VERSION
 
 
 #--------------------------------------------------------------------------#
@@ -692,7 +689,7 @@
     'apache'       => 'http://apache.org/licenses/LICENSE-2.0',
     'artistic'     => 'http://opensource.org/licenses/artistic-license.php',
     'artistic_2'   => 'http://opensource.org/licenses/artistic-license-2.0.php',
-    'lgpl'         => 'http://www.opensource.org/licenses/lgpl-license.phpt',
+    'lgpl'         => 'http://www.opensource.org/licenses/lgpl-license.php',
     'bsd'          => 'http://www.opensource.org/licenses/bsd-license.php',
     'gpl'          => 'http://www.opensource.org/licenses/gpl-license.php',
     'mit'          => 'http://opensource.org/licenses/mit-license.php',
@@ -829,8 +826,10 @@
 
 1;
 
+# ABSTRACT: validate CPAN distribution metadata structures
 
 
+
 =pod
 
 =head1 NAME
@@ -839,7 +838,7 @@
 
 =head1 VERSION
 
-version 2.110440
+version 2.120921
 
 =head1 SYNOPSIS
 
@@ -881,23 +880,32 @@
 
 Returns a list of errors seen during validation.
 
-=begin internals
+=begin :internals
 
 =head2 Check Methods
 
 =over
 
-=item * check_map($spec,$data)
+=item *
 
+check_map($spec,$data)
+
 Checks whether a map (or hash) part of the data structure conforms to the
 appropriate specification definition.
-=item * check_list($spec,$data)
 
+=item *
+
+check_list($spec,$data)
+
 Checks whether a list (or array) part of the data structure conforms to
 the appropriate specification definition.
-=item * check_lazylist($spec,$data)
 
+=item *
+
+check_lazylist($spec,$data)
+
 Checks whether a list conforms, but converts strings to a single-element list
+
 =back
 
 =head2 Validator Methods
@@ -904,65 +912,112 @@
 
 =over
 
-=item * header($self,$key,$value)
+=item *
 
+header($self,$key,$value)
+
 Validates that the header is valid.
 
-Note: No longer used as we now read the data structure, not the file.=item * url($self,$key,$value)
+Note: No longer used as we now read the data structure, not the file.
 
+=item *
+
+url($self,$key,$value)
+
 Validates that a given value is in an acceptable URL format
-=item * urlspec($self,$key,$value)
 
+=item *
+
+urlspec($self,$key,$value)
+
 Validates that the URL to a META specification is a known one.
-=item * string_or_undef($self,$key,$value)
 
+=item *
+
+string_or_undef($self,$key,$value)
+
 Validates that the value is either a string or an undef value. Bit of a
 catchall function for parts of the data structure that are completely user
 defined.
-=item * string($self,$key,$value)
 
+=item *
+
+string($self,$key,$value)
+
 Validates that a string exists for the given key.
-=item * file($self,$key,$value)
 
+=item *
+
+file($self,$key,$value)
+
 Validate that a file is passed for the given key. This may be made more
 thorough in the future. For now it acts like \&string.
-=item * exversion($self,$key,$value)
 
+=item *
+
+exversion($self,$key,$value)
+
 Validates a list of versions, e.g. '<= 5, >=2, ==3, !=4, >1, <6, 0'.
-=item * version($self,$key,$value)
 
+=item *
+
+version($self,$key,$value)
+
 Validates a single version string. Versions of the type '5.8.8' and '0.00_00'
 are both valid. A leading 'v' like 'v1.2.3' is also valid.
-=item * boolean($self,$key,$value)
 
+=item *
+
+boolean($self,$key,$value)
+
 Validates for a boolean value. Currently these values are '1', '0', 'true',
 'false', however the latter 2 may be removed.
-=item * license($self,$key,$value)
 
+=item *
+
+license($self,$key,$value)
+
 Validates that a value is given for the license. Returns 1 if an known license
 type, or 2 if a value is given but the license type is not a recommended one.
-=item * custom_1($self,$key,$value)
 
+=item *
+
+custom_1($self,$key,$value)
+
 Validates that the given key is in CamelCase, to indicate a user defined
 keyword and only has characters in the class [-_a-zA-Z].  In version 1.X
 of the spec, this was only explicitly stated for 'resources'.
-=item * custom_2($self,$key,$value)
 
+=item *
+
+custom_2($self,$key,$value)
+
 Validates that the given key begins with 'x_' or 'X_', to indicate a user
 defined keyword and only has characters in the class [-_a-zA-Z]
-=item * identifier($self,$key,$value)
 
+=item *
+
+identifier($self,$key,$value)
+
 Validates that key is in an acceptable format for the META specification,
 for an identifier, i.e. any that matches the regular expression
 qr/[a-z][a-z_]/i.
-=item * module($self,$key,$value)
 
+=item *
+
+module($self,$key,$value)
+
 Validates that a given key is in an acceptable module name format, e.g.
 'Test::CPAN::Meta::Version'.
+
 =back
 
-=end internals
+=end :internals
 
+=for Pod::Coverage anything boolean check_lazylist check_list custom_1 custom_2 exversion file
+identifier license module phase relation release_status string string_or_undef
+url urlspec version header check_map
+
 =head1 BUGS
 
 Please report any bugs or feature using the CPAN Request Tracker.


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,10 +2,7 @@
 use strict;
 use warnings;
 package CPAN::Meta;
-BEGIN {
-  $CPAN::Meta::VERSION = '2.110440';
-}
-# ABSTRACT: the distribution metadata for a CPAN dist
+our $VERSION = '2.120921'; # VERSION
 
 
 use Carp qw(carp croak);
@@ -13,9 +10,11 @@
 use CPAN::Meta::Prereqs;
 use CPAN::Meta::Converter;
 use CPAN::Meta::Validator;
-use Parse::CPAN::Meta 1.44 ();
+use Parse::CPAN::Meta 1.4403 ();
 
+BEGIN { *_dclone = \&CPAN::Meta::Converter::_dclone }
 
+
 BEGIN {
   my @STRING_READERS = qw(
     abstract
@@ -47,7 +46,7 @@
       my $value = $_[0]{ $attr };
       croak "$attr must be called in list context"
         unless wantarray;
-      return @{ Storable::dclone($value) } if ref $value;
+      return @{ _dclone($value) } if ref $value;
       return $value;
     };
   }
@@ -73,7 +72,7 @@
     (my $subname = $attr) =~ s/-/_/;
     *$subname = sub {
       my $value = $_[0]{ $attr };
-      return Storable::dclone($value) if $value;
+      return _dclone($value) if $value;
       return {};
     };
   }
@@ -87,7 +86,7 @@
 sub custom {
   my ($self, $attr) = @_;
   my $value = $self->{$attr};
-  return Storable::dclone($value) if ref $value;
+  return _dclone($value) if ref $value;
   return $value;
 }
 
@@ -215,7 +214,6 @@
 }
 
 
-# XXX Do we need this if we always upconvert? -- dagolden, 2010-04-14
 sub meta_spec_version {
   my ($self) = @_;
   return $self->meta_spec->{version};
@@ -290,10 +288,7 @@
 
 sub as_struct {
   my ($self, $options) = @_;
-  my $backend = Parse::CPAN::Meta->json_backend();
-  my $struct = $backend->new->decode(
-    $backend->new->convert_blessed->encode($self)
-  );
+  my $struct = _dclone($self);
   if ( $options->{version} ) {
     my $cmc = CPAN::Meta::Converter->new( $struct );
     $struct = $cmc->convert( version => $options->{version} );
@@ -308,7 +303,7 @@
   my $version = $options->{version} || '2';
 
   my $struct;
-  if ( $self->version ne $version ) {
+  if ( $self->meta_spec_version ne $version ) {
     my $cmc = CPAN::Meta::Converter->new( $self->as_struct );
     $struct = $cmc->convert( version => $version );
   }
@@ -339,8 +334,10 @@
 
 1;
 
+# ABSTRACT: the distribution metadata for a CPAN dist
 
 
+
 =pod
 
 =head1 NAME
@@ -349,7 +346,7 @@
 
 =head1 VERSION
 
-version 2.110440
+version 2.120921
 
 =head1 SYNOPSIS
 
@@ -644,6 +641,10 @@
 
 If a custom key refers to a data structure, a deep clone is returned.
 
+=for Pod::Coverage TO_JSON abstract author authors custom custom_keys description dynamic_config
+generated_by keywords license licenses meta_spec name no_index
+optional_features prereqs provides release_status resources version
+
 =head1 BUGS
 
 Please report any bugs or feature using the CPAN Request Tracker.
@@ -667,6 +668,25 @@
 
 =back
 
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
+
+=head1 SUPPORT
+
+=head2 Bugs / Feature Requests
+
+Please report any bugs or feature requests through the issue tracker
+at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta>.
+You will be notified automatically of any progress on your issue.
+
+=head2 Source Code
+
+This is open source software.  The code repository is available for
+public review and contribution under the terms of the license.
+
+L<http://github.com/dagolden/cpan-meta>
+
+  git clone git://github.com/dagolden/cpan-meta.git
+
 =head1 AUTHORS
 
 =over 4


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/lib/CPAN/Meta.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/converter-bad.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/converter-bad.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/converter-bad.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,6 +9,8 @@
 use IO::Dir;
 use Parse::CPAN::Meta 1.4400;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 my $data_dir = IO::Dir->new( 't/data-bad' );
 my @files = sort grep { /^\w/ } $data_dir->read;
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/converter-bad.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/converter-fail.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/converter-fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/converter-fail.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,6 +9,8 @@
 use IO::Dir;
 use Parse::CPAN::Meta 1.4400;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 my $data_dir = IO::Dir->new( 't/data-fail' );
 my @files = sort grep { /^\w/ } $data_dir->read;
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/converter-fail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/converter.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/converter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/converter.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,32 @@
 use strict;
 use warnings;
 use Test::More 0.88;
+use utf8;
 
 use CPAN::Meta;
 use CPAN::Meta::Validator;
 use CPAN::Meta::Converter;
 use File::Spec;
+use File::Basename qw/basename/;
 use IO::Dir;
 use Parse::CPAN::Meta 1.4400;
+use version;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
+# mock file object
+package
+  File::StringObject;
+
+use overload q{""} => sub { ${$_[0]} }, fallback => 1;
+
+sub new {
+  my ($class, $file) = @_;
+  bless \$file, $class;
+}
+
+package main;
+
 my $data_dir = IO::Dir->new( 't/data' );
 my @files = sort grep { /^\w/ } $data_dir->read;
 
@@ -110,12 +128,25 @@
   my $original = Parse::CPAN::Meta->load_file( $path  );
   ok( $original, "loaded META-2.json" );
   my $cmc = CPAN::Meta::Converter->new( $original );
-  my $up_converted = $cmc->convert( version => 1.4 );
-  ok ( $up_converted->{x_whatever},
+  my $down_converted = $cmc->convert( version => 1.4 );
+  ok ( $down_converted->{x_whatever},
     "down converted 'x_' as 'x_'"
   );
 }
 
+# specific test for generalization of unclear licenses
+{
+  my $path = File::Spec->catfile('t','data','gpl-1_4.yml');
+  my $original = Parse::CPAN::Meta->load_file( $path  );
+  ok( $original, "loaded gpl-1_4.yml" );
+  my $cmc = CPAN::Meta::Converter->new( $original );
+  my $up_converted = $cmc->convert( version => 2 );
+  is_deeply ( $up_converted->{license},
+    [ "open_source" ],
+    "up converted 'gpl' to 'open_source'"
+  );
+}
+
 # specific test for upconverting resources
 {
   my $path = File::Spec->catfile('t','data','resources.yml');
@@ -135,5 +166,78 @@
   );
 }
 
+# specific test for object conversion
+{
+  my $path = File::Spec->catfile('t','data','resources.yml');
+  my $original = Parse::CPAN::Meta->load_file( $path  );
+  ok( $original, "loaded resources.yml" );
+  $original->{version} = version->new("1.64");
+  $original->{no_index}{file} = File::StringObject->new(".gitignore");
+  pass( "replaced some data fields with objects" );
+  my $cmc = CPAN::Meta::Converter->new( $original );
+  ok( my $converted = $cmc->convert( version => 2 ), "conversion successful" );
+}
+
+# specific test for UTF-8 handling
+{
+  my $path = File::Spec->catfile('t','data','unicode.yml');
+  my $original = CPAN::Meta->load_file( $path  )
+    or die "Couldn't load $path";
+  ok( $original, "unicode.yml" );
+  my @authors = $original->authors;
+  like( $authors[0], qr/Williåms/, "Unicode characters preserved in authors" );
+}
+
+# specific test for version ranges
+{
+  my @prereq_keys = qw(
+    prereqs requires build_requires configure_requires
+    recommends conflicts
+  );
+  for my $case ( qw/ 2 1_4 / ) {
+    my $suffix = $case eq 2 ? "$case.json" : "$case.yml";
+    my $version = $case;
+    $version =~ tr[_][.];
+    my $path = File::Spec->catfile('t','data','version-ranges-' . $suffix);
+    my $original = Parse::CPAN::Meta->load_file( $path  );
+    ok( $original, "loaded " . basename $path );
+    my $cmc = CPAN::Meta::Converter->new( $original );
+    my $converted = $cmc->convert( version => $version );
+    for my $h ( $original, $converted ) {
+      delete $h->{generated_by};
+      delete $h->{'meta-spec'}{url};
+      for my $k ( @prereq_keys ) {
+        _normalize_reqs($h->{$k}) if exists $h->{$k};
+      }
+    }
+    is_deeply( $converted, $original, "version ranges preserved in conversion" );
+  }
+}
+
+# specific test for version numbers
+{
+  my $path = File::Spec->catfile('t','data','version-not-normal.json');
+  my $original = Parse::CPAN::Meta->load_file( $path  );
+  ok( $original, "loaded " . basename $path );
+  my $cmc = CPAN::Meta::Converter->new( $original );
+  my $converted = $cmc->convert( version => 2 );
+  is( $converted->{prereqs}{runtime}{requires}{'File::Find'}, "v0.1.0", "normalize v0.1");
+  is( $converted->{prereqs}{runtime}{requires}{'File::Path'}, "v1.0.0", "normalize v1.0.0");
+}
+
+# CMR standardizes stuff in a way that makes it hard to test original vs final
+# so we remove spaces and >= to make them compare the same
+sub _normalize_reqs {
+  my $hr = shift;
+  for my $k ( keys %$hr ) {
+    if (ref $hr->{$k} eq 'HASH') {
+      _normalize_reqs($hr->{$k});
+    }
+    elsif ( ! ref $hr->{$k} ) {
+      $hr->{$k} =~ s{\s+}{}g;
+      $hr->{$k} =~ s{>=\s*}{}g;
+    }
+  }
+}
+
 done_testing;
-


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/converter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_0.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_0.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_0.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_0.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_1.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_1.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_1.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_1.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_2.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_2.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_2.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_2.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_3.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_3.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_3.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_3.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_4.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_4.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_4.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-1_4.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-2.json
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/META-2.json	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/META-2.json	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/META-2.json
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/resources.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/resources.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/resources.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/resources.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/restricted-2.json
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/restricted-2.json	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/restricted-2.json	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/restricted-2.json
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data/restrictive-1_4.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data/restrictive-1_4.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data/restrictive-1_4.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data/restrictive-1_4.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/107650337-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/107650337-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/107650337-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/107650337-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1122575719-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1122575719-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1122575719-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1122575719-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1206545041-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1206545041-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1206545041-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1206545041-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1598804075-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1598804075-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1598804075-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1598804075-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1927486199-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1927486199-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1927486199-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1927486199-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985684504-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985684504-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985684504-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985684504-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985980974-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985980974-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985980974-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/1985980974-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/2031017050-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/2031017050-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/2031017050-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/2031017050-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/284247103-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/284247103-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/284247103-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/284247103-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/344981821-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/344981821-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/344981821-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/344981821-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/35478989-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/35478989-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/35478989-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/35478989-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/476602558-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/476602558-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/476602558-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/476602558-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/98042513-META.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/98042513-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/98042513-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/98042513-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_0.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_0.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_0.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_0.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_1.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_1.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_1.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_1.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_2.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_2.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_2.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_2.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_3.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_3.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_3.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_3.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_4.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_4.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_4.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-1_4.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-2.json
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-2.json	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-2.json	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/META-2.json
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/restrictive-2.json
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/restrictive-2.json	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/restrictive-2.json	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-bad/restrictive-2.json
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_0.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_0.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_0.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_0.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_1.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_1.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_1.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_1.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_2.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_2.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_2.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_2.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_3.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_3.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_3.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_3.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_4.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_4.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_4.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-1_4.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-2.json
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-2.json	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-2.json	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/data-fail/META-2.json
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/load-bad.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/load-bad.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/load-bad.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,8 @@
 
 sub _slurp { do { local(@ARGV,$/)=shift(@_); <> } }
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 my $data_dir = IO::Dir->new( 't/data-bad' );
 my @files = sort grep { /^\w/ } $data_dir->read;
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/load-bad.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/meta-obj.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/meta-obj.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/meta-obj.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,8 @@
 
 use Scalar::Util qw(blessed);
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 my $distmeta = {
   name     => 'Module-Build',
   abstract => 'Build and install Perl modules',


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/meta-obj.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/no-index.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/no-index.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/no-index.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
 
 use CPAN::Meta;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 my %distmeta = (
   name     => 'Module-Billed',
   abstract => 'inscrutable',


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/no-index.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-finalize.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-finalize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-finalize.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
 
 use CPAN::Meta::Prereqs;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 sub dies_ok (&@) {
   my ($code, $qr, $comment) = @_;
 


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-finalize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-merge.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-merge.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-merge.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
 
 use CPAN::Meta::Prereqs;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 my $prereq_struct_1 = {
   runtime => {
     requires => {


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/prereqs-merge.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/prereqs.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/prereqs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/prereqs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
 
 use CPAN::Meta::Prereqs;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 my $prereq_struct = {
   runtime => {
     requires => {
@@ -83,6 +85,7 @@
     (! grep { 'Test' eq $_ } @req_mod),
     "...but not the build requirements",
   );
+
 }
 
 {


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/prereqs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/repository.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/repository.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/repository.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
 
 use CPAN::Meta;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 # 1.4 repository upgrade
 {
   my $label = "(version 1.4) old repository winds up in 'url'";


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/repository.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/save-load.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/save-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/save-load.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,8 @@
 use File::Temp 0.20 ();
 use Parse::CPAN::Meta 1.4400;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 my $distmeta = {
   name     => 'Module-Build',
   abstract => 'Build and install Perl modules',


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/save-load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta/t/validator.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta/t/validator.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta/t/validator.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,8 @@
 use IO::Dir;
 use Parse::CPAN::Meta 1.4400;
 
+delete $ENV{$_} for qw/PERL_JSON_BACKEND PERL_YAML_BACKEND/; # use defaults
+
 {
   my $data_dir = IO::Dir->new( 't/data' );
   my @files = sort grep { /^\w/ } $data_dir->read;


Property changes on: vendor/perl/dist/cpan/CPAN-Meta/t/validator.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package CPAN::Meta::YAML;
-BEGIN {
-  $CPAN::Meta::YAML::VERSION = '0.003';
+{
+  $CPAN::Meta::YAML::VERSION = '0.008';
 }
 
 use strict;
@@ -459,7 +459,7 @@
 		$string =~ s/([\x00-\x1f])/\\$UNPRINTABLE[ord($1)]/g;
 		return qq|"$string"|;
 	}
-	if ( $string =~ /(?:^\W|\s)/ or $QUOTE{$string} ) {
+	if ( $string =~ /(?:^\W|\s|:\z)/ or $QUOTE{$string} ) {
 		return "'$string'";
 	}
 	return $string;
@@ -610,12 +610,14 @@
 # Use Scalar::Util if possible, otherwise emulate it
 
 BEGIN {
+	local $@;
 	eval {
 		require Scalar::Util;
-		*refaddr = *Scalar::Util::refaddr;
 	};
-	eval <<'END_PERL' if $@;
-# Failed to load Scalar::Util	
+	my $v = eval("$Scalar::Util::VERSION") || 0;
+	if ( $@ or $v < 1.18 ) {
+		eval <<'END_PERL';
+# Scalar::Util failed to load or too old
 sub refaddr {
 	my $pkg = ref($_[0]) or return undef;
 	if ( !! UNIVERSAL::can($_[0], 'can') ) {
@@ -629,7 +631,9 @@
 	$i;
 }
 END_PERL
-
+	} else {
+		*refaddr = *Scalar::Util::refaddr;
+	}
 }
 
 1;
@@ -644,26 +648,26 @@
 
 =head1 VERSION
 
-version 0.003
+version 0.008
 
 =head1 SYNOPSIS
 
     use CPAN::Meta::YAML;
 
-    # methods for files
-    $yaml = CPAN::Meta::YAML->read('META.yml');
-    $yaml->write('MYMETA.yml');
+    # reading a META file
+    open $fh, "<:utf8", "META.yml";
+    $yaml_text = do { local $/; <$fh> };
+    $yaml = CPAN::Meta::YAML->read_string($yaml_text)
+      or die CPAN::Meta::YAML->errstr;
 
-    # methods for strings
-    $yaml_text = $yaml->write_string;
-    $yaml = CPAN::Meta::YAML->read_string($yaml_text);
-
     # finding the metadata
-    my $meta = $yaml->[0];
+    $meta = $yaml->[0];
 
-    # handling errors
-    $yaml->write($file)
+    # writing a META file
+    $yaml_text = $yaml->write_string
       or die CPAN::Meta::YAML->errstr;
+    open $fh, ">:utf8", "META.yml";
+    print $fh $yaml_text;
 
 =head1 DESCRIPTION
 
@@ -671,6 +675,10 @@
 and writing CPAN metadata files like F<META.yml> and F<MYMETA.yml>.  It should
 not be used for any other general YAML parsing or generation task.
 
+NOTE: F<META.yml> (and F<MYMETA.yml>) files should be UTF-8 encoded.  Users are
+responsible for proper encoding and decoding.  In particular, the C<read> and
+C<write> methods do B<not> support UTF-8 and should not be used.
+
 =head1 SUPPORT
 
 This module is currently derived from L<YAML::Tiny> by Adam Kennedy.  If
@@ -682,6 +690,25 @@
 
 L<YAML::Tiny>, L<YAML>, L<YAML::XS>
 
+=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
+
+=head1 SUPPORT
+
+=head2 Bugs / Feature Requests
+
+Please report any bugs or feature requests through the issue tracker
+at L<http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-YAML>.
+You will be notified automatically of any progress on your issue.
+
+=head2 Source Code
+
+This is open source software.  The code repository is available for
+public review and contribution under the terms of the license.
+
+L<https://github.com/dagolden/cpan-meta-yaml>
+
+  git clone https://github.com/dagolden/cpan-meta-yaml.git
+
 =head1 AUTHORS
 
 =over 4


Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/lib/CPAN/Meta/YAML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/01_compile.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/01_compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/01_compile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/01_compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/02_basic.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/02_basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/02_basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/02_basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/03_regression.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/03_regression.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/03_regression.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 use File::Spec::Functions ':ALL';
 use t::lib::Test;
-use Test::More tests(37, 0, 12);
+use Test::More tests(37, 0, 13);
 use CPAN::Meta::YAML qw{
 	Load     Dump
 	LoadFile DumpFile
@@ -701,3 +701,16 @@
 - 'Off'
 - 'OFF'
 END_YAML
+
+
+
+
+
+######################################################################
+# Always quote for scalars ending with :
+
+is_deeply(
+	CPAN::Meta::YAML->new( [ 'A:' ] )->write_string,
+	"---\n- 'A:'\n",
+	'Simple scalar ending in a colon is correctly quoted',
+);


Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/03_regression.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/05_export.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/05_export.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/05_export.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/05_export.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/11_meta_yml.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/11_meta_yml.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/11_meta_yml.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/11_meta_yml.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/12_plagger.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/12_plagger.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/12_plagger.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/12_plagger.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/13_perl_smith.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/13_perl_smith.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/13_perl_smith.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/13_perl_smith.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/14_yaml_org.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/14_yaml_org.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/14_yaml_org.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/14_yaml_org.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/15_multibyte.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/15_multibyte.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/15_multibyte.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 use File::Spec::Functions ':ALL';
 use t::lib::Test;
-use Test::More tests(0, 1, 5);
+use Test::More tests(0, 1, 6);
 use CPAN::Meta::YAML;
 
 
@@ -41,11 +41,12 @@
 
 SKIP: {
 	unless ( CPAN::Meta::YAML::HAVE_UTF8() ) {
-		skip("no utf8 support", 1 );
+		skip("no utf8 support", 2 );
 	}
 	eval { utf8::is_utf8('') };
 	if ( $@ ) {
-		skip("no is_utf8 to test with until 5.8.1", 1);
+		skip("no is_utf8 to test with until 5.8.1", 2);
 	}
 	ok( utf8::is_utf8($yaml->[0]->{author}), "utf8 decoded" );
+	is( length($yaml->[0]->{author}), 39, "utf8 decoded as characters" );
 }


Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/15_multibyte.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/16_nullrefs.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/16_nullrefs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/16_nullrefs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/16_nullrefs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/17_toolbar.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/17_toolbar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/17_toolbar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/17_toolbar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/18_tap.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/18_tap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/18_tap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/18_tap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/19_errors.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/19_errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/19_errors.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/19_errors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/20_subclass.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/20_subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/20_subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/20_subclass.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/21_bom.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/21_bom.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/21_bom.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/21_bom.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/22_comments.t
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/22_comments.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/22_comments.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/22_comments.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/HTML-WebDAO.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/HTML-WebDAO.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/HTML-WebDAO.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/HTML-WebDAO.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Spreadsheet-Read.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Spreadsheet-Read.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Spreadsheet-Read.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Spreadsheet-Read.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Template-Provider-Unicode-Japanese.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Template-Provider-Unicode-Japanese.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Template-Provider-Unicode-Japanese.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/Template-Provider-Unicode-Japanese.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/multibyte.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/multibyte.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/multibyte.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/multibyte.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/one.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/one.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/one.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/one.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/sample.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/sample.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/sample.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/sample.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/toolbar.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/toolbar.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/toolbar.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/toolbar.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/two.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/two.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/two.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/two.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/utf_16_le_bom.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/utf_16_le_bom.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/utf_16_le_bom.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/utf_16_le_bom.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/vanilla.yml
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/vanilla.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/vanilla.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/data/vanilla.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/lib/Test.pm
===================================================================
--- vendor/perl/dist/cpan/CPAN-Meta-YAML/t/lib/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPAN-Meta-YAML/t/lib/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPAN-Meta-YAML/t/lib/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/bin/cpan2dist
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/bin/cpan2dist	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/bin/cpan2dist	2013-12-01 21:45:02 UTC (rev 6430)
@@ -40,7 +40,7 @@
             'default-ignorelist!',  'edit-metafile!',
             'install!'
         );
-        
+
 die usage() if exists $opts->{'help'};
 
 ### parse options
@@ -49,8 +49,8 @@
 my $prereqbuild = exists $opts->{'buildprereq'}
                     ? $opts->{'buildprereq'}
                     : 0;
-my $timeout     = exists $opts->{'timeout'} 
-                    ? $opts->{'timeout'} 
+my $timeout     = exists $opts->{'timeout'}
+                    ? $opts->{'timeout'}
                     : 300;
 
 ### use default answers?
@@ -64,7 +64,7 @@
     $conf->set_conf( dist_type  => $format );
 
     ### is this a valid format??
-    die loc("Invalid format: " . ($format || "[NONE]") ) . usage() 
+    die loc("Invalid format: " . ($format || "[NONE]") ) . usage()
         unless $formats{$format};
 
     ### any options to fix config entries
@@ -72,7 +72,7 @@
         while( my($key,$val) = each %$set_conf ) {
             $conf->set_conf( $key => $val );
         }
-    }        
+    }
 
     ### any options to fix program entries
     {   my $set_prog = $opts->{'set-program'} || {};
@@ -79,7 +79,7 @@
         while( my($key,$val) = each %$set_prog ) {
             $conf->set_program( $key => $val );
         }
-    }        
+    }
 
     ### any other options passed
     {   my %map = ( verbose     => 'verbose',
@@ -87,21 +87,21 @@
                     skiptest    => 'skiptest',
                     makefile    => 'prefer_makefile'
                 );
-                
-        ### set config options from arguments        
+
+        ### set config options from arguments
         while (my($key,$val) = each %map) {
-            my $bool = exists $opts->{$key} 
-                            ? $opts->{$key} 
+            my $bool = exists $opts->{$key}
+                            ? $opts->{$key}
                             : $conf->get_conf($val);
             $conf->set_conf( $val => $bool );
-        }    
-    }        
+        }
+    }
 }
 
 my @modules = @ARGV;
 if( exists $opts->{'modulelist'} ) {
-    push @modules, map { parse_file( $_ ) } @{ $opts->{'modulelist'} }; 
-} 
+    push @modules, map { parse_file( $_ ) } @{ $opts->{'modulelist'} };
+}
 
 die usage() unless @modules;
 
@@ -108,9 +108,9 @@
 ### set up munge callback if requested
 {   if( $opts->{'edit-metafile'} ) {
         my $editor = $conf->get_program('editor');
-        
+
         if( $editor ) {
-    
+
             ### register install callback ###
             $cb->_register_callback(
                 name    => 'munge_dist_metafile',
@@ -117,24 +117,24 @@
                 code    => sub {
                                 my $self = shift;
                                 my $text = shift or return;
-                            
+
                                 my($fh,$file) = tempfile( UNLINK => 1 );
-                                
+
                                 unless( print $fh $text ) {
                                     warn "Could not print metafile information: $!";
                                     return;
                                 }
-                                
+
                                 close $fh;
-                                
+
                                 system( $editor => $file );
-                                
+
                                 my $cont = $cb->_get_file_contents( file => $file );
-                                
+
                                 return $cont;
                             },
             );
-            
+
         } else {
             warn "No editor configured. Can not edit metafiles!\n";
         }
@@ -144,13 +144,13 @@
 my $fh;
 LOGFILE: {
     if( my $file = $opts->{logfile} ) {
-        open $fh, ">$file" or ( 
+        open $fh, ">$file" or (
             warn loc("Could not open '%1' for writing: %2", $file,$!),
             last LOGFILE
-        );            
-        
+        );
+
         warn "Logging to '$file'\n";
-        
+
         *STDERR = $fh;
         *STDOUT = $fh;
     }
@@ -159,7 +159,7 @@
 ### reload indices if so desired
 $cb->reload_indices() if $opts->{'flushcache'};
 
-{   my @ban      = exists $opts->{'ban'}  
+{   my @ban      = exists $opts->{'ban'}
                             ? map { qr/$_/ } @{ $opts->{'ban'} }
                             : ();
 
@@ -167,16 +167,16 @@
     if( exists $opts->{'banlist'} ) {
         push @ban, map { parse_file( $_, 1 ) } @{ $opts->{'banlist'} };
     }
-    
+
     push @ban,  map  { s/\s+//; $_ }
                 map  { [split /\s*#\s*/]->[0] }
                 grep { /#/ }
-                map  { split /\n/ } _default_ban_list() 
+                map  { split /\n/ } _default_ban_list()
         if $opts->{'default-banlist'};
-    
-    ### use our prereq install callback 
+
+    ### use our prereq install callback
     $conf->set_conf( prereqs => PREREQ_ASK );
-    
+
     ### register install callback ###
     $cb->_register_callback(
             name    => 'install_prerequisite',
@@ -183,14 +183,14 @@
             code    => \&__ask_about_install,
     );
 
-    
+
     ### check for ban patterns when handling prereqs
     sub __ask_about_install {
-  
+
         my $mod     = shift or return;
         my $prereq  = shift or return;
-    
-    
+
+
         ### die with an error object, so we can verify that
         ### the die came from this location, and that it's an
         ### 'acceptable' death
@@ -197,24 +197,24 @@
         my $pat = ban_me( $prereq );
         die bless sub { loc("Module '%1' requires '%2' to be installed " .
                         "but found in your ban list (%3) -- skipping",
-                        $mod->module, $prereq->module, $pat ) 
+                        $mod->module, $prereq->module, $pat )
                   }, PREREQ_SKIP_CLASS if $pat;
         return 1;
-    }    
-    
+    }
+
     ### should we skip this module?
     sub ban_me {
         my $mod = shift;
-        
+
         for my $pat ( @ban ) {
             return $pat if $mod->module =~ /$pat/i;
         }
         return;
     }
-}    
+}
 
 ### patterns to strip from prereq lists
-{   my @ignore      = exists $opts->{'ignore'}  
+{   my @ignore      = exists $opts->{'ignore'}
                         ? map { qr/$_/ } @{ $opts->{'ignore'} }
                         : ();
 
@@ -225,10 +225,10 @@
     push @ignore, map  { s/\s+//; $_ }
                   map  { [split /\s*#\s*/]->[0] }
                   grep { /#/ }
-                  map  { split /\n/ } _default_ignore_list() 
+                  map  { split /\n/ } _default_ignore_list()
         if $opts->{'default-ignorelist'};
 
-    
+
     ### register install callback ###
     $cb->_register_callback(
             name    => 'filter_prereqs',
@@ -238,7 +238,7 @@
     sub __filter_prereqs {
         my $cb      = shift;
         my $href    = shift;
-        
+
         for my $name ( keys %$href ) {
             my $obj = $cb->parse_module( module => $name ) or (
                 warn "Cannot make a module object out of ".
@@ -249,24 +249,24 @@
                 warn loc("'%1' found in your ignore list (%2) ".
                          "-- filtering it out\n", $name, $pat);
 
-                delete $href->{ $name };                         
+                delete $href->{ $name };
             }
         }
 
         return $href;
     }
-    
+
     ### should we skip this module?
     sub ignore_me {
         my $mod = shift;
-        
+
         for my $pat ( @ignore ) {
             return $pat if $mod->module =~ /$pat/i;
             return $pat if $mod->package_name =~ /$pat/i;
         }
         return;
-    }   
-}     
+    }
+}
 
 
 my %done;
@@ -273,13 +273,13 @@
 for my $name (@modules) {
 
     my $obj;
-    
+
     ### is it a tarball? then we get it locally and transform it
     ### and its dependencies into .debs
     if( $tarball ) {
         ### make sure we use an absolute path, so chdirs() dont
         ### mess things up
-        $name = File::Spec->rel2abs( $name ); 
+        $name = File::Spec->rel2abs( $name );
 
         ### ENOTARBALL?
         unless( -e $name ) {
@@ -286,7 +286,7 @@
             warn loc("Archive '$name' does not exist");
             next;
         }
-        
+
         $obj = CPANPLUS::Module::Fake->new(
                         module  => basename($name),
                         path    => dirname($name),
@@ -303,7 +303,7 @@
         ### set the location of the tarball
         $obj->status->fetch($name);
 
-    ### plain old cpan module?    
+    ### plain old cpan module?
     } else {
 
         ### find the corresponding module object ###
@@ -318,26 +318,26 @@
         warn loc("'%1' found in your ban list (%2) -- skipping\n",
                     $obj->module, $pat );
         next;
-    }        
-    
-    ### or just ignored it? 
+    }
+
+    ### or just ignored it?
     if( my $pat = ignore_me( $obj ) ) {
         warn loc("'%1' found in your ignore list (%2) -- skipping\n",
                     $obj->module, $pat );
         next;
-    }        
-    
+    }
 
+
     my $target  = $opts->{'install'} ? 'install' : 'create';
-    my $dist    = eval { 
+    my $dist    = eval {
                     local $SIG{ALRM} = sub { die bless {}, ALARM_CLASS }
                         if $timeout;
-                        
+
                     alarm $timeout || 0;
 
                     my $dist_opts = $opts->{'dist-opts'} || {};
 
-                    my $rv = $obj->install(   
+                    my $rv = $obj->install(
                             prereq_target   => $target,
                             target          => $target,
                             keep_source     => $keep,
@@ -346,18 +346,18 @@
                             ### any passed arbitrary options
                             %$dist_opts,
                     );
-                    
-                    alarm 0; 
 
+                    alarm 0;
+
                     $rv;
-                }; 
-                
+                };
+
     ### set here again, in case the install dies
     alarm 0;
 
     ### install failed due to a 'die' in our prereq skipper?
     if( $@ and ref $@ and $@->isa( PREREQ_SKIP_CLASS ) ) {
-        warn loc("Dist creation of '%1' skipped: '%2'", 
+        warn loc("Dist creation of '%1' skipped: '%2'",
                     $obj->module, $@->() );
         next;
 
@@ -364,7 +364,7 @@
     } elsif ( $@ and ref $@ and $@->isa( ALARM_CLASS ) ) {
         warn loc("\nDist creation of '%1' skipped, build time exceeded: ".
                  "%2 seconds\n", $obj->module, $timeout );
-        next;                    
+        next;
 
     ### died for some other reason? just report and skip
     } elsif ( $@ ) {
@@ -371,7 +371,7 @@
         warn loc("Dist creation of '%1' failed: '%2'",
                     $obj->module, $@ );
         next;
-    }        
+    }
 
     ### we didn't get a dist object back?
     unless ($dist and $obj->status->dist) {
@@ -398,7 +398,7 @@
         s/^(\S+).*/$1/;                 # skip extra info
         push @rv, $qr ? qr/$_/ : $_;    # add pattern to the list
     }
-   
+
     return @rv;
 }
 
@@ -430,11 +430,11 @@
 
  Usage: cpan2dist [--format FMT] [OPTS] Mod::Name [Mod::Name, ...]
         cpan2dist [--format FMT] [OPTS] --modulelist /tmp/mods.list
-        cpan2dist [--format FMT] [OPTS] --archive /tmp/dist [/tmp/dist2] 
+        cpan2dist [--format FMT] [OPTS] --archive /tmp/dist [/tmp/dist2]
 
     Will create a distribution of type FMT of the modules
     specified on the command line, and all their prerequisites.
-    
+
     Can also create a distribution of type FMT from a local
     archive and all of its prerequisites.
 
@@ -446,21 +446,21 @@
 
     You can install more formats from CPAN!
     \n];
-    
+
     $usage .= << '=cut';
 =pod
-    
+
 Options:
 
     ### take no argument:
     --help          Show this help message
     --install       Install this package (and any prerequisites you built)
-                    after building it. 
+                    after building it.
     --skiptest      Skip tests. Can be negated using --noskiptest
     --force         Force operation. Can be negated using --noforce
     --verbose       Be verbose. Can be negated using --noverbose
     --keepsource    Keep sources after building distribution. Can be
-                    negated by --nokeepsource. May not be supported 
+                    negated by --nokeepsource. May not be supported
                     by all formats
     --makefile      Prefer Makefile.PL over Build.PL. Can be negated
                     using --nomakefile. Defaults to your config setting
@@ -484,7 +484,7 @@
                   Are appended to the ban list built up by --ban
                   May be given multiple times.
     --ignore      Patterns of modules to exclude from prereq list. Useful
-                  for when a prereq listed by a CPAN module is resolved 
+                  for when a prereq listed by a CPAN module is resolved
                   in another way than from its corresponding CPAN package
                   (Match is done on both module name, and package name of
                   the package the module is in, case-insensitive)
@@ -497,19 +497,19 @@
     --logfile     File to log all output to. By default, all output goes
                   to the console.
     --timeout     The allowed time for buliding a distribution before
-                  aborting. This is useful to terminate any build that 
-                  hang or happen to be interactive despite being told not 
-                  to be. Defaults to 300 seconds. To turn off, you can 
+                  aborting. This is useful to terminate any build that
+                  hang or happen to be interactive despite being told not
+                  to be. Defaults to 300 seconds. To turn off, you can
                   set it to 0.
     --set-config  Change any options as specified in your config for this
-                  invocation only. See CPANPLUS::Config for a list of 
+                  invocation only. See CPANPLUS::Config for a list of
                   supported options.
     --set-program Change any programs as specified in your config for this
-                  invocation only. See CPANPLUS::Config for a list of 
+                  invocation only. See CPANPLUS::Config for a list of
                   supported programs.
     --dist-opts   Arbitrary options passed along to the chosen installer
                   format's prepare()/create() routine. Please see the
-                  documentation of the installer of your choice for 
+                  documentation of the installer of your choice for
                   options it accepts.
 
     ### builtin lists
@@ -516,52 +516,52 @@
     --default-banlist    Use our builtin banlist. Works just like --ban
                          and --banlist, but with pre-set lists. See the
                          "Builtin Lists" section for details.
-    --default-ignorelist Use our builtin ignorelist. Works just like 
-                         --ignore and --ignorelist but with pre-set lists. 
+    --default-ignorelist Use our builtin ignorelist. Works just like
+                         --ignore and --ignorelist but with pre-set lists.
                          See the "Builtin Lists" section for details.
 
 Examples:
 
-    ### build a debian package of DBI and its prerequisites, 
+    ### build a debian package of DBI and its prerequisites,
     ### don't bother running tests
     cpan2dist --format CPANPLUS::Dist::Deb --buildprereq --skiptest DBI
-    
+
     ### build a debian package of DBI and its prerequisites and install them
     cpan2dist --format CPANPLUS::Dist::Deb --buildprereq --install DBI
-    
-    ### Build a package, whose format is determined by your config, of 
+
+    ### Build a package, whose format is determined by your config, of
     ### the local tarball, reloading cpanplus' indices first and using
     ### the tarballs Makefile.PL if it has one.
     cpan2dist --makefile --flushcache --archive /path/to/Cwd-1.0.tgz
-    
+
     ### build a package from Net::FTP, but dont build any packages or
-    ### dependencies whose name match 'Foo', 'Bar' or any of the 
+    ### dependencies whose name match 'Foo', 'Bar' or any of the
     ### patterns mentioned in /tmp/ban
     cpan2dist --ban Foo --ban Bar --banlist /tmp/ban Net::FTP
-    
+
     ### build a package from Net::FTP, but ignore its listed dependency
     ### on IO::Socket, as it's shipped per default with the OS we're on
     cpan2dist --ignore IO::Socket Net::FTP
-    
+
     ### building all modules listed, plus their prerequisites
-    cpan2dist --ignorelist /tmp/modules.ignore --banlist /tmp/modules.ban 
-      --modulelist /tmp/modules.list --buildprereq --flushcache 
+    cpan2dist --ignorelist /tmp/modules.ignore --banlist /tmp/modules.ban
+      --modulelist /tmp/modules.list --buildprereq --flushcache
       --makefile --defaults
-    
+
     ### pass arbitrary options to the format's prepare()/create() routine
     cpan2dist --dist-opts deb_version=3 --dist-opts prefix=corp
 
 =cut
-    
+
     $usage .= qq[
 Builtin Lists:
 
     Ignore list:] . _default_ignore_list() . qq[
     Ban list:] .    _default_ban_list();
-    
+
     ### strip the pod directives
     $usage =~ s/=pod\n//g;
-    
+
     return $usage;
 }
 
@@ -581,7 +581,7 @@
 
 =head2 Built-In Ignore List
 
-=pod 
+=pod
 
 You can use this list of regexes to ignore modules matching
 to be listed as prerequisites of a package. Particularly useful
@@ -601,9 +601,9 @@
     ^Cwd$                   # Provided with core anyway
     ^File::Spec             # Provided with core anyway
     ^Config$                # Perl's own config, not shipped separately
-    ^ExtUtils::MakeMaker$   # Shipped with perl, recent versions 
+    ^ExtUtils::MakeMaker$   # Shipped with perl, recent versions
                             # have bug 14721 (see rt.cpan.org)
-    ^ExtUtils::Install$     # Part of of EU::MM, same reason    
+    ^ExtUtils::Install$     # Part of of EU::MM, same reason
 
 =cut
 
@@ -657,10 +657,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/CPANPLUS/bin/cpan2dist
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/bin/cpanp
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/bin/cpanp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/bin/cpanp	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
 # $File: //depot/cpanplus/dist/bin/cpanp $
-# $Revision: 1.1.1.1 $ $Change: 8345 $ $DateTime: 2003/10/05 19:25:48 $
+# $Revision: #8 $ $Change: 8345 $ $DateTime: 2003/10/05 19:25:48 $
 
 use strict;
 use vars '$VERSION';


Property changes on: vendor/perl/dist/cpan/CPANPLUS/bin/cpanp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/bin/cpanp-run-perl
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/bin/cpanp-run-perl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/bin/cpanp-run-perl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/bin/cpanp-run-perl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend/RV.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend/RV.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend/RV.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,10 @@
 package CPANPLUS::Backend::RV;
+use deprecate;
 
 use strict;
-use vars qw[$STRUCT];
+use vars qw[$STRUCT $VERSION];
+$VERSION = "0.9135";
 
-
 use CPANPLUS::Error;
 use CPANPLUS::Internals::Constants;
 
@@ -19,7 +20,7 @@
 
 =head1 NAME
 
-CPANPLUS::Backend::RV
+CPANPLUS::Backend::RV - return value objects
 
 =head1 SYNOPSIS
 
@@ -117,7 +118,7 @@
 ### this allows people to not have to explicitly say
 ### if( $rv->ok ) { foo() }
 ### XXX add an explicit stringify, so it doesn't fall back to "bool"? :(
-use overload bool       => \&_ok, 
+use overload bool       => \&_ok,
 #             '""'       => \&_stringify,
              fallback   => 1;
 
@@ -133,10 +134,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend/RV.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Backend;
+use deprecate;
 
 use strict;
 
@@ -23,7 +24,7 @@
 use vars qw[@ISA $VERSION];
 
 @ISA     = qw[CPANPLUS::Internals];
-$VERSION = $CPANPLUS::Internals::VERSION;
+$VERSION = "0.9135";
 
 ### mark that we're running under CPANPLUS to spawned processes
 $ENV{'PERL5_CPANPLUS_IS_RUNNING'} = $$;
@@ -36,7 +37,7 @@
 
 =head1 NAME
 
-CPANPLUS::Backend
+CPANPLUS::Backend - programmer's interface to CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -66,7 +67,7 @@
 about every <CPANPLUS> operation, the environment variable
 C<PERL5_CPANPLUS_IS_RUNNING> is set to the current process id.
 
-Additionally, the environment variable C<PERL5_CPANPLUS_IS_VERSION> 
+Additionally, the environment variable C<PERL5_CPANPLUS_IS_VERSION>
 will be set to the version of C<CPANPLUS::Backend>.
 
 This information might be useful somehow to spawned processes.
@@ -134,13 +135,13 @@
         my @rv;
         for my $name ( grep { defined } @_) {
 
-            ### From John Malmberg: This is failing on VMS 
-            ### because ODS-2 does not retain the case of 
+            ### From John Malmberg: This is failing on VMS
+            ### because ODS-2 does not retain the case of
             ### filenames that are created.
-            ### The problem is the filename is being converted 
-            ### to a module name and then looked up in the 
+            ### The problem is the filename is being converted
+            ### to a module name and then looked up in the
             ### %$modtree hash.
-            ### 
+            ###
             ### As a fix, we do a search on VMS instead --
             ### more cpu cycles, but it gets around the case
             ### problem --kane
@@ -152,7 +153,7 @@
                       )
                     : $modtree->{$name}
             };
-            
+
             push @rv, $modobj || '';
         }
         return @rv == 1 ? $rv[0] : @rv;
@@ -397,7 +398,7 @@
 
         return CPANPLUS::Backend::RV->new(
                     function    => $func,
-                    ok          => !$flag,
+                    ok          => ( !$flag ? 1 : 0 ),
                     rv          => $href,
                     args        => \%hash,
                 );
@@ -418,6 +419,8 @@
 
 =item Text-Bastardize
 
+=item Text/Bastardize.pm
+
 =item Text-Bastardize-1.06
 
 =item AYRNIEU/Text-Bastardize
@@ -444,7 +447,7 @@
 Even if the version on CPAN is currently higher.
 
 The last three are examples of PATH resolution. In the first, we supply
-an absolute path to the unwrapped distribution. In the second the 
+an absolute path to the unwrapped distribution. In the second the
 distribution is relative to the current working directory.
 In the third, we will use the current working directory.
 
@@ -483,7 +486,7 @@
         error(loc("Can not parse module string from reference '%1'", $mod ));
         return;
     }
-    
+
     ### check only for allowed characters in a module name
     unless( $mod =~ /[^\w:]/ ) {
 
@@ -516,17 +519,17 @@
                     );
 
         ### better guess for the version
-        $modobj->version( $modobj->package_version ) 
+        $modobj->version( $modobj->package_version )
             if defined $modobj->package_version;
-        
+
         ### better guess at module name, if possible
         if ( my $pkgname = $modobj->package_name ) {
             $pkgname =~ s/-/::/g;
-        
+
             ### no sense replacing it unless we changed something
-            $modobj->module( $pkgname ) 
+            $modobj->module( $pkgname )
                 if ($pkgname ne $modobj->package_name) || $pkgname !~ /-/;
-        }                
+        }
 
         $modobj->status->fetch( $parent );
         $modobj->status->extract( $dir );
@@ -549,27 +552,37 @@
                                         UNKNOWN_DL_LOCATION ),
                         author  => CPANPLUS::Module::Author::Fake->new
                     );
-        
+
         ### set the fetch_from accessor so we know to by pass the
         ### usual mirrors
         $modobj->status->_fetch_from( $mod );
-        
+
         ### better guess for the version
-        $modobj->version( $modobj->package_version ) 
+        $modobj->version( $modobj->package_version )
             if defined $modobj->package_version;
-        
+
         ### better guess at module name, if possible
         if ( my $pkgname = $modobj->package_name ) {
             $pkgname =~ s/-/::/g;
-        
+
             ### no sense replacing it unless we changed something
-            $modobj->module( $pkgname ) 
+            $modobj->module( $pkgname )
                 if ($pkgname ne $modobj->package_name) || $pkgname !~ /-/;
-        }                
-        
-        return $modobj;      
+        }
+
+        return $modobj;
     }
-    
+
+    # Stolen from cpanminus to support 'Module/Install.pm'
+    # type input
+    if ( ( my $tmpmod = $mod ) =~ s/\.pm$//i ) {
+        my ($volume, $dirs, $file) = File::Spec->splitpath( $tmpmod );
+        $tmpmod = join '::', grep { $_ } File::Spec->splitdir( $dirs ), $file;
+        ### perhaps we can find it in the module tree?
+        my $maybe = $self->module_tree( $tmpmod );
+        return $maybe if IS_MODOBJ->( module => $maybe );
+    }
+
     ### perhaps we can find it's a third party module?
     {   my $modobj = CPANPLUS::Module::Fake->new(
                         module  => $mod,
@@ -582,7 +595,7 @@
                     );
         if( $modobj->is_third_party ) {
             my $info = $modobj->third_party_information;
-            
+
             $modobj->author->author( $info->{author}     );
             $modobj->author->email(  $info->{author_url} );
             $modobj->description(    $info->{url} );
@@ -595,18 +608,18 @@
         error( loc("%1 is not a proper distribution name!", $mod) );
         return;
     }
-    
+
     ### there's wonky uris out there, like this:
     ### E/EY/EYCK/Net/Lite/Net-Lite-FTP-0.091
     ### compensate for that
     my $author;
     ### you probably have an A/AB/ABC/....../Dist.tgz type uri
-    if( (defined $parts[0] and length $parts[0] == 1) and 
+    if( (defined $parts[0] and length $parts[0] == 1) and
         (defined $parts[1] and length $parts[1] == 2) and
         $parts[2] =~ /^$parts[0]/i and $parts[2] =~ /^$parts[1]/i
-    ) {   
+    ) {
         splice @parts, 0, 2;    # remove the first 2 entries from the list
-        $author = shift @parts; # this is the actual author name then    
+        $author = shift @parts; # this is the actual author name then
 
     ### we''ll assume a ABC/..../Dist.tgz
     } else {
@@ -613,12 +626,12 @@
         $author = shift @parts || '';
     }
 
-    my($pkg, $version, $ext, $full) = 
+    my($pkg, $version, $ext, $full) =
         $self->_split_package_string( package => $dist );
-    
+
     ### translate a distribution into a module name ###
-    my $guess = $pkg; 
-    $guess =~ s/-/::/g if $guess; 
+    my $guess = $pkg;
+    $guess =~ s/-/::/g if $guess;
 
     my $maybe = $self->module_tree( $guess );
     if( IS_MODOBJ->( module => $maybe ) ) {
@@ -648,18 +661,18 @@
             } else {
                 $auth_obj   = $maybe->author;
                 $path       = $maybe->path;
-            }        
-        
+            }
+
             if( $maybe->package_name eq $pkg ) {
-    
+
                 my $modobj = CPANPLUS::Module::Fake->new(
                     module  => $maybe->module,
                     version => $version,
                     ### no extension? use the extension the original package
                     ### had instead
-                    package => do { $ext 
-                                        ? $full 
-                                        : $full .'.'. $maybe->package_extension 
+                    package => do { $ext
+                                        ? $full
+                                        : $full .'.'. $maybe->package_extension
                                 },
                     path    => $path,
                     author  => $auth_obj,
@@ -669,17 +682,17 @@
 
             ### you asked for a specific version?
             ### assume our $maybe is the one you wanted,
-            ### and fix up the version.. 
+            ### and fix up the version..
             } else {
-    
+
                 my $modobj = $maybe->clone;
                 $modobj->version( $version );
-                $modobj->package( 
-                        $maybe->package_name .'-'. 
-                        $version .'.'. 
-                        $maybe->package_extension 
+                $modobj->package(
+                        $maybe->package_name .'-'.
+                        $version .'.'.
+                        $maybe->package_extension
                 );
-                
+
                 ### you wanted a specific author, but it's not the one
                 ### from the module tree? we'll fix it up
                 if( $author and $author ne $modobj->author->cpanid ) {
@@ -686,10 +699,10 @@
                     $modobj->author( $auth_obj );
                     $modobj->path( $path );
                 }
-                
+
                 return $modobj;
             }
-        
+
         ### you didn't care about a version, so just return the object then
         } elsif ( !$version ) {
             return $maybe;
@@ -734,7 +747,7 @@
         # This should catch edge-cases where the package name
         # is unrelated to the modules it contains.
 
-        my ($modobj) = grep { $_->package_name eq $mod } 
+        my ($modobj) = grep { $_->package_name eq $mod }
                         $self->search( type => 'package', allow => [ qr/^\Q$mod\E/ ], );
         return $modobj if IS_MODOBJ->( module => $modobj );
 
@@ -829,7 +842,7 @@
 =item * C<load>
 
 This resets the cache of modules we've attempted to load, but failed.
-This enables you to load them again after a failed load, if they 
+This enables you to load them again after a failed load, if they
 somehow have become available.
 
 =item * C<all>
@@ -904,7 +917,7 @@
 =item index_files
 
 Enable/disable fetching of index files. You can disable fetching of the
-index files if you don't plan to use the local mirror as your primary 
+index files if you don't plan to use the local mirror as your primary
 site, or if you'd like up-to-date index files be fetched from elsewhere.
 
 Defaults to true.
@@ -1014,7 +1027,7 @@
 
     ### using the default shell:
     CPAN Terminal> i file://path/to/Snapshot_XXYY.pm
-    
+
     ### using the API
     $modobj = $cb->parse_module( module => 'file://path/to/Snapshot_XXYY.pm' );
     $modobj->install;
@@ -1077,7 +1090,7 @@
         error( loc( "Could not open '%1' for writing: %2", $file, $! ) );
         return;
     }
-    
+
     ### make sure we load the module tree *before* doing this, as it
     ### starts to chdir all over the place
     $self->module_tree;
@@ -1139,7 +1152,7 @@
 =head2 $bool = $cb->save_state
 
 Explicit command to save memory state to disk. This can be used to save
-information to disk about where a module was extracted, the result of 
+information to disk about where a module was extracted, the result of
 C<make test>, etc. This will then be re-loaded into memory when a new
 session starts.
 
@@ -1150,7 +1163,7 @@
 Most users will not need this command, but it can handy for automated
 systems like setting up CPAN smoke testers.
 
-The method will return true if it managed to save the state to disk, 
+The method will return true if it managed to save the state to disk,
 or false if it did not.
 
 =cut
@@ -1168,7 +1181,7 @@
 
 =head1 CUSTOM MODULE SOURCES
 
-Besides the sources as provided by the general C<CPAN> mirrors, it's 
+Besides the sources as provided by the general C<CPAN> mirrors, it's
 possible to add your own sources list to your C<CPANPLUS> index.
 
 The methodology behind this works much like C<Debian's apt-sources>.
@@ -1195,13 +1208,13 @@
 
 =head2 $local_index = $cb->add_custom_source( uri => URI, [verbose => BOOL] );
 
-Adds an C<URI> to your own sources list and mirrors its index. See the 
+Adds an C<URI> to your own sources list and mirrors its index. See the
 documentation on C<< $cb->update_custom_source >> on how this is done.
 
 Returns the full path to the local index on success, or false on failure.
 
 Note that when adding a new C<URI>, the change to the in-memory tree is
-not saved until you rebuild or save the tree to disk again. You can do 
+not saved until you rebuild or save the tree to disk again. You can do
 this using the C<< $cb->reload_indices >> method.
 
 =cut
@@ -1250,7 +1263,7 @@
 For details, see the C<< $cb->write_custom_source_index >> method below.
 
 All packages that are added via this mechanism will be attributed to the
-author with C<CPANID> C<LOCAL>. You can use this id to search for all 
+author with C<CPANID> C<LOCAL>. You can use this id to search for all
 added packages.
 
 =cut
@@ -1257,7 +1270,7 @@
 
 sub update_custom_source {
     my $self = shift;
-    
+
     ### if it mentions /remote/, the request is to update a single uri,
     ### not all the ones we have, so dispatch appropriately
     my $rv = grep( /remote/i, @_)
@@ -1265,11 +1278,11 @@
         : $self->__update_custom_module_sources( @_ );
 
     return $rv;
-}    
+}
 
 =head2 $file = $cb->write_custom_source_index( path => /path/to/package/root, [to => /path/to/index/file, verbose => BOOL] );
 
-Writes the index for a custom repository root. Most users will not have to 
+Writes the index for a custom repository root. Most users will not have to
 worry about this, but administrators of a repository will need to make sure
 their indexes are up to date.
 
@@ -1278,7 +1291,7 @@
 location by specifying the C<to> argument, but in normal operation, that should
 not be required.
 
-Once the index file is written, users can then add the C<URI> pointing to 
+Once the index file is written, users can then add the C<URI> pointing to
 the repository to their custom list of sources and start using it right away. See the C<< $cb->add_custom_source >> method for user details.
 
 =cut
@@ -1301,15 +1314,15 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO
 
-L<CPANPLUS::Configure>, L<CPANPLUS::Module>, L<CPANPLUS::Module::Author>, 
+L<CPANPLUS::Configure>, L<CPANPLUS::Module>, L<CPANPLUS::Module::Author>,
 L<CPANPLUS::Selfupdate>
 
 =cut


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Backend.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Config.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 package CPANPLUS::Config;
+use deprecate;
 
 use strict;
 use warnings;
 
 use base 'Object::Accessor';
-
 use base 'CPANPLUS::Internals::Utils';
 
 use Config;
@@ -18,13 +18,16 @@
 use IPC::Cmd                    qw[can_run];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 use Module::Load::Conditional   qw[check_install];
+use version;
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
 
 =pod
 
 =head1 NAME
 
-CPANPLUS::Config
+CPANPLUS::Config - configuration defaults and heuristics for CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -31,12 +34,12 @@
     ### conf object via CPANPLUS::Backend;
     $cb   = CPANPLUS::Backend->new;
     $conf = $cb->configure_object;
-    
+
     ### or as a standalone object
     $conf = CPANPLUS::Configure->new;
 
     ### values in 'conf' section
-    $verbose = $conf->get_conf( 'verbose' );    
+    $verbose = $conf->get_conf( 'verbose' );
     $conf->set_conf( verbose => 1 );
 
     ### values in 'program' section
@@ -45,7 +48,7 @@
 
 =head1 DESCRIPTION
 
-This module contains defaults and heuristics for configuration 
+This module contains defaults and heuristics for configuration
 information for CPANPLUS. To change any of these values, please
 see the documentation in C<CPANPLUS::Configure>.
 
@@ -62,7 +65,7 @@
     '_fetch' => {
         'blacklist' => [ 'ftp' ],
     },
-    
+
     ### _source, _build and _mirror are supposed to be static
     ### no changes should be needed unless pause/cpan changes
     '_source' => {
@@ -139,7 +142,7 @@
                 'host' => 'ftp.funet.fi'
             }
         ];
-        
+
 =item allow_build_interactivity
 
 Boolean flag to indicate whether 'perl Makefile.PL' and similar
@@ -149,10 +152,26 @@
 
         $Conf->{'conf'}->{'allow_build_interactivity'} = 1;
 
+=item allow_unknown_prereqs
+
+Boolean flag to indicate that unresolvable prereqs are acceptable.
+If C<true> then only warnings will be issued (the behaviour before 0.9114)
+when a module is unresolvable from any our sources (CPAN and/or
+C<custom_sources>). If C<false> then an unresolvable prereq will fail
+during the C<prepare> stage of distribution installation.
+Defaults to C<true>.
+
+=cut
+
+        $Conf->{'conf'}->{'allow_unknown_prereqs'} = 1;
+
 =item base
 
 The directory CPANPLUS keeps all its build and state information in.
-Defaults to ~/.cpanplus.
+Defaults to ~/.cpanplus. If L<File::HomeDir> is available, that will
+be used to work out your C<HOME> directory. This may be overriden by
+setting the C<PERL5_CPANPLUS_HOME> environment variable, see
+L<CPANPLUS::Config::HomeEnv> for more details.
 
 =cut
 
@@ -199,7 +218,7 @@
 =item dist_type
 
 Default distribution type to use when building packages. See C<cpan2dist>
-or C<CPANPLUS::Dist> for details. An empty string will not use any 
+or C<CPANPLUS::Dist> for details. An empty string will not use any
 package building software. Defaults to an empty string.
 
 =cut
@@ -214,7 +233,7 @@
 =cut
 
         $Conf->{'conf'}->{'email'} = DEFAULT_EMAIL;
-        
+
 =item enable_custom_sources
 
 Boolean flag indicating whether custom sources should be enabled or
@@ -231,7 +250,7 @@
 
 =item extractdir
 
-String containing the directory where fetched archives should be 
+String containing the directory where fetched archives should be
 extracted. An empty string will use a directory under your C<base>
 directory. Defaults to an empty string.
 
@@ -241,7 +260,7 @@
 
 =item fetchdir
 
-String containing the directory where fetched archives should be 
+String containing the directory where fetched archives should be
 stored. An empty string will use a directory under your C<base>
 directory. Defaults to an empty string.
 
@@ -268,6 +287,15 @@
 
         $Conf->{'conf'}->{'force'} = 0;
 
+=item histfile
+
+A string containing the history filename of the CPANPLUS readline instance.
+
+=cut
+
+        $Conf->{'conf'}->{'histfile'} = File::Spec->catdir(
+                                        __PACKAGE__->_home_dir, DOT_CPANPLUS, 'history' );
+
 =item lib
 
 An array ref holding directories to be added to C<@INC> when CPANPLUS
@@ -303,7 +331,7 @@
 
 =cut
 
-        $Conf->{'conf'}->{'md5'} = ( 
+        $Conf->{'conf'}->{'md5'} = (
                             check_install( module => 'Digest::SHA' ) ? 1 : 0 );
 
 =item no_update
@@ -326,8 +354,8 @@
 
 =item prefer_bin
 
-A boolean indicating whether or not to prefer command line programs 
-over perl modules. Defaults to 'false' unless you do not have 
+A boolean indicating whether or not to prefer command line programs
+over perl modules. Defaults to 'false' unless you do not have
 C<Compress::Zlib> installed (as that would mean we could not extract
 C<.tar.gz> files)
 
@@ -335,12 +363,12 @@
 
         ### if we dont have c::zlib, we'll need to use /bin/tar or we
         ### can not extract any files. Good time to change the default
-        $Conf->{'conf'}->{'prefer_bin'} = 
+        $Conf->{'conf'}->{'prefer_bin'} =
                                 (eval {require Compress::Zlib; 1} ? 0 : 1 );
 
 =item prefer_makefile
 
-A boolean indicating whether or not prefer a C<Makefile.PL> over a 
+A boolean indicating whether or not prefer a C<Makefile.PL> over a
 C<Build.PL> file if both are present. Defaults to 'true', unless
 the perl version is at least 5.10.1 or appropriate versions of L<Module::Build>
 and L<CPANPLUS::Dist::Build> are available.
@@ -347,10 +375,10 @@
 
 =cut
 
-        $Conf->{'conf'}->{'prefer_makefile'} = 
-            ( $] >= 5.010001 or 
+        $Conf->{'conf'}->{'prefer_makefile'} =
+            ( $] >= 5.010001 or
               ( check_install( module => 'Module::Build', version => '0.32' ) and
-                check_install( module => INSTALLER_BUILD, version => '0.24' ) )
+                check_install( module => INSTALLER_BUILD, version => '0.60' ) )
               ? 0 : 1 );
 
 =item prereqs
@@ -382,7 +410,7 @@
 
 =item show_startup_tip
 
-A boolean indicating whether or not to show start up tips in the 
+A boolean indicating whether or not to show start up tips in the
 interactive shell. Defaults to 'true'.
 
 =cut
@@ -392,7 +420,7 @@
 =item signature
 
 A boolean indicating whether or not check signatures if packages are
-signed. Defaults to 'true' if you have C<gpg> or C<Crypt::OpenPGP> 
+signed. Defaults to 'true' if you have C<gpg> or C<Crypt::OpenPGP>
 installed, 'false' otherwise.
 
 =cut
@@ -399,7 +427,7 @@
 
         $Conf->{'conf'}->{'signature'} = do {
             check_install( module => 'Module::Signature', version => '0.06' )
-            and ( can_run('gpg') || 
+            and ( can_run('gpg') ||
                   check_install(module => 'Crypt::OpenPGP')
             );
         } ? 1 : 0;
@@ -417,12 +445,12 @@
 
 A boolean indicating whether or not to use C<Storable> to write compiled
 source file information to disk. This makes for faster startup and look
-up times, but takes extra diskspace. Defaults to 'true' if you have 
+up times, but takes extra diskspace. Defaults to 'true' if you have
 C<Storable> installed and 'false' if you don't.
 
 =cut
 
-       $Conf->{'conf'}->{'storable'} = 
+       $Conf->{'conf'}->{'storable'} =
                         ( check_install( module => 'Storable' ) ? 1 : 0 );
 
 =item timeout
@@ -437,7 +465,7 @@
 =item verbose
 
 A boolean indicating whether or not C<CPANPLUS> runs in verbose mode.
-Defaults to 'true' if you have the environment variable 
+Defaults to 'true' if you have the environment variable
 C<PERL5_CPANPLUS_VERBOSE> set to true, 'false' otherwise.
 
 It is recommended you run with verbose enabled, but it is disabled
@@ -464,7 +492,7 @@
 
 =cut
 
-        $Conf->{'conf'}->{'source_engine'} = DEFAULT_SOURCE_ENGINE; 
+        $Conf->{'conf'}->{'source_engine'} = DEFAULT_SOURCE_ENGINE;
 
 =item cpantest_reporter_args
 
@@ -474,7 +502,7 @@
 
   { transport       => 'Net::SMTP::TLS',
     transport_args  => [ User => 'Joe', Password => '123' ],
-  }  
+  }
 
 =cut
 
@@ -481,7 +509,7 @@
         $Conf->{'conf'}->{'cpantest_reporter_args'} = {};
 
 =back
-    
+
 =head2 Section 'program'
 
 =cut
@@ -510,7 +538,7 @@
 
 =cut
 
-        $Conf->{'program'}->{'make'} = 
+        $Conf->{'program'}->{'make'} =
             can_run($Config{'make'}) || can_run('make');
 
 =item pager
@@ -520,7 +548,7 @@
 
 =cut
 
-        $Conf->{'program'}->{'pager'} = 
+        $Conf->{'program'}->{'pager'} =
             $ENV{'PAGER'} || can_run('less') || can_run('more');
 
         ### no one uses this feature anyway, and it's only working for EU::MM
@@ -534,14 +562,14 @@
 
 =cut
 
-        $Conf->{'program'}->{'shell'} = $^O eq 'MSWin32' 
-                                        ? $ENV{COMSPEC} 
+        $Conf->{'program'}->{'shell'} = $^O eq 'MSWin32'
+                                        ? $ENV{COMSPEC}
                                         : $ENV{SHELL};
 
 =item sudo
 
 A string holding the path to your C<sudo> binary if your install path
-requires super user permissions. Looks for C<sudo> in your path, or 
+requires super user permissions. Looks for C<sudo> in your path, or
 remains empty if you do not require super user permissions to install.
 
 =cut
@@ -550,19 +578,19 @@
             ### let's assume you dont need sudo,
             ### unless one of the below criteria tells us otherwise
             my $sudo = undef;
-            
+
             ### you're a normal user, you might need sudo
             if( $> ) {
-    
+
                 ### check for all install dirs!
                 ### you have write permissions to the installdir,
                 ### you don't need sudo
-                if( -w $Config{'installsitelib'} && -w $Config{'installsitebin'} ) {                    
-                    
+                if( -w $Config{'installsitelib'} && -w $Config{'installsitebin'} ) {
+
                     ### installsiteman3dir is a 5.8'ism.. don't check
-                    ### it on 5.6.x...            
+                    ### it on 5.6.x...
                     if( defined $Config{'installsiteman3dir'} ) {
-                        $sudo = -w $Config{'installsiteman3dir'} 
+                        $sudo = -w $Config{'installsiteman3dir'}
                             ? undef
                             : can_run('sudo');
                     } else {
@@ -572,17 +600,17 @@
                 ### you have PERL_MM_OPT set to some alternate
                 ### install place. You probably have write permissions
                 ### to that
-                } elsif ( $ENV{'PERL_MM_OPT'} and 
+                } elsif ( $ENV{'PERL_MM_OPT'} and
                           $ENV{'PERL_MM_OPT'} =~ /INSTALL|LIB|PREFIX/
                 ) {
                     $sudo = undef;
 
                 ### you probably don't have write permissions
-                } else {                
+                } else {
                     $sudo = can_run('sudo');
                 }
-            }  
-            
+            }
+
             ### and return the value
             $sudo;
         };
@@ -589,19 +617,21 @@
 
 =item perlwrapper
 
+B<DEPRECATED>
+
 A string holding the path to the C<cpanp-run-perl> utility bundled
 with CPANPLUS, which is used to enable autoflushing in spawned processes.
 
 =cut
 
-        ### perlwrapper that allows us to turn on autoflushing                        
-        $Conf->{'program'}->{'perlwrapper'} = sub { 
+        ### perlwrapper that allows us to turn on autoflushing
+        $Conf->{'program'}->{'perlwrapper'} = sub {
             my $name = 'cpanp-run-perl';
 
             my @bins = do{
                 require Config;
                 my $ver  = $Config::Config{version};
-                
+
                 ### if we are running with 'versiononly' enabled,
                 ### all binaries will have the perlversion appended
                 ### ie, cpanp will become cpanp5.9.5
@@ -618,17 +648,17 @@
 
             my $path;
             BIN: for my $bin (@bins) {
-                
+
                 ### parallel to your cpanp/cpanp-boxed
                 my $maybe = File::Spec->rel2abs(
                                 File::Spec->catfile( dirname($0), $bin )
-                            );        
+                            );
                 $path = $maybe and last BIN if -f $maybe;
-        
+
                 ### parallel to your CPANPLUS.pm:
                 ### $INC{cpanplus}/../bin/cpanp-run-perl
                 $maybe = File::Spec->rel2abs(
-                            File::Spec->catfile( 
+                            File::Spec->catfile(
                                 dirname($INC{'CPANPLUS.pm'}),
                                 '..',   # lib dir
                                 'bin',  # bin dir
@@ -636,7 +666,7 @@
                             )
                          );
                 $path = $maybe and last BIN if -f $maybe;
-                         
+
                 ### you installed CPANPLUS in a custom prefix,
                 ### so go parallel to /that/. PREFIX=/tmp/cp
                 ### would put cpanp-run-perl in /tmp/cp/bin and
@@ -643,7 +673,7 @@
                 ### CPANPLUS.pm in
                 ### /tmp/cp/lib/perl5/site_perl/5.8.8
                 $maybe = File::Spec->rel2abs(
-                            File::Spec->catfile( 
+                            File::Spec->catfile(
                                 dirname( $INC{'CPANPLUS.pm'} ),
                                 '..', '..', '..', '..', # 4x updir
                                 'bin',                  # bin dir
@@ -660,8 +690,8 @@
                 ### prefer anything that's found in the path paralel to your $^X
                 for my $dir (File::Spec->rel2abs( dirname($^X) ),
                              split(/\Q$Config::Config{path_sep}\E/, $ENV{PATH}),
-                             File::Spec->curdir, 
-                ) {             
+                             File::Spec->curdir,
+                ) {
 
                     ### On VMS the path could be in UNIX format, and we
                     ### currently need it to be in VMS format
@@ -670,15 +700,21 @@
                     $maybe = File::Spec->catfile( $dir, $bin );
                     $path = $maybe and last BIN if -f $maybe;
                 }
-            }          
-                
+            }
+
             ### we should have a $path by now ideally, if so return it
             return $path if defined $path;
-            
+
+            ### CPANPLUS::Dist::MM doesn't require this anymore
+            ### but CPANPLUS::Dist::Build might if it is less than 0.60
+            my $cpdb = check_install( module => INSTALLER_BUILD );
+            return '' unless
+              $cpdb and eval { version->parse($cpdb->{version}) < version->parse('0.60') };
+
             ### if not, warn about it and give sensible default.
-            ### XXX try to be a no-op instead then.. 
+            ### XXX try to be a no-op instead then..
             ### cross your fingers...
-            ### pass '-P' to perl: "run program through C 
+            ### pass '-P' to perl: "run program through C
             ### preprocessor before compilation"
             ### XXX using -P actually changes the way some Makefile.PLs
             ### are executed, so don't do that... --kane
@@ -690,13 +726,13 @@
                 "From the default shell, you can do this by typing:\n\n".
                 "  %3\n".
                 "  %4\n",
-                $name, 'perlwrapper', 
+                $name, 'perlwrapper',
                 's program perlwrapper FULL_PATH_TO_CPANP_RUN_PERL',
                 's save'
-             ));                                        
+             ));
              return '';
         }->();
-        
+
 =back
 
 =cut
@@ -719,12 +755,12 @@
         ### now store it in the parent object
         $obj->$acc( $subobj );
     }
-    
+
     $obj->_clean_up_paths;
-    
+
     ### shut up IPC::Cmd warning about not findin IPC::Run on win32
     $IPC::Cmd::WARN = 0;
-    
+
     return $obj;
 }
 
@@ -743,18 +779,18 @@
 
                 ### patch from Steve Hay, 13nd of June 2007
                 ### msg-id: <467012A4.6060705 at uk.radan.com>
-                ### windows directories are not allowed to end with 
+                ### windows directories are not allowed to end with
                 ### a space, so any occurrence of '\w\s+/\w+' means
                 ### we're dealing with arguments, not directory
                 ### names.
                 if ($path =~ /^(.*?)(\s+\/.*$)/) {
                     ($prog, $args) = ($1, $2);
-                
+
                 ### otherwise, there are no arguments
                 } else {
                     ($prog, $args) = ($path, '');
                 }
-                
+
                 $prog = Win32::GetShortPathName( $prog );
                 $self->program->$pgm( $prog . $args );
             }
@@ -778,10 +814,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure/Setup.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure/Setup.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure/Setup.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,9 @@
 package CPANPLUS::Configure::Setup;
+use deprecate;
 
 use strict;
-use vars    qw(@ISA);
+use vars    qw[@ISA $VERSION];
+$VERSION = "0.9135";
 
 use base    qw[CPANPLUS::Internals::Utils];
 use base    qw[Object::Accessor];
@@ -11,7 +13,6 @@
 use Module::Load;
 use Term::ReadLine;
 
-
 use CPANPLUS::Internals::Utils;
 use CPANPLUS::Internals::Constants;
 use CPANPLUS::Error;
@@ -60,8 +61,8 @@
     my $obj = $class->SUPER::new( keys %$tmpl );
     for my $acc ( $obj->ls_accessors ) {
         $obj->$acc( $args->{$acc} );
-    }     
-    
+    }
+
     ### otherwise there's a circular use ###
     load CPANPLUS::Configure;
     load CPANPLUS::Backend;
@@ -68,12 +69,12 @@
 
     $obj->configure_object( CPANPLUS::Configure->new() )
         unless $obj->configure_object;
-        
+
     $obj->backend( CPANPLUS::Backend->new( $obj->configure_object ) )
         unless $obj->backend;
 
     ### use empty string in case user only has T::R::Stub -- it complains
-    $obj->term( Term::ReadLine->new('') ) 
+    $obj->term( Term::ReadLine->new('') )
         unless $obj->term;
 
     ### enable autoreply if that was passed ###
@@ -85,10 +86,10 @@
 sub init {
     my $self = shift;
     my $term = $self->term;
-    
+
     ### default setting, unless changed
     $self->config_type( CONFIG_USER ) unless $self->config_type;
-    
+
     my $save = loc('Save & exit');
     my $exit = loc('Quit without saving');
     my @map  = (
@@ -99,35 +100,35 @@
         [ loc('Setup FTP/Email settings')       => '_setup_ftp'         ],
         [ loc('Setup basic preferences')        => '_setup_conf'        ],
         [ loc('Setup installer settings')       => '_setup_installer'   ],
-        [ loc('Select mirrors'),                => '_setup_hosts'       ],      
-        [ loc('Edit configuration file')        => '_edit'              ],    
+        [ loc('Select mirrors'),                => '_setup_hosts'       ],
+        [ loc('Edit configuration file')        => '_edit'              ],
         [ $save                                 => '_save'              ],
-        [ $exit                                 => 1                    ],             
+        [ $exit                                 => 1                    ],
     );
 
     my @keys = map { $_->[0] } @map;    # sorted keys
     my %map  = map { @$_     } @map;    # lookup hash
-   
+
     PICK_SECTION: {
         print loc("
-=================>      MAIN MENU       <=================        
-        
+=================>      MAIN MENU       <=================
+
 Welcome to the CPANPLUS configuration. Please select which
 parts you wish to configure
 
 Defaults are taken from your current configuration.
 If you would save now, your settings would be written to:
-    
+
     %1
-    
+
         ", $self->config_type );
-    
+
         my $choice = $term->get_reply(
                             prompt  => "Section to configure:",
                             choices => \@keys,
                             default => $keys[0]
-                        );       
-               
+                        );
+
         ### exit configuration?
         if( $choice eq $exit ) {
             print loc("
@@ -134,10 +135,10 @@
 Quitting setup, changes will not be saved.
             ");
             return 1;
-        }      
-            
+        }
+
         my $method = $map{$choice};
-        
+
         my $rv = $self->$method or print loc("
 There was an error setting up this section. You might want to try again
         ");
@@ -146,7 +147,7 @@
         if( $choice eq $save and $rv ) {
             print loc("
 Quitting setup, changes are saved to '%1'
-            ", $self->config_type 
+            ", $self->config_type
             );
             return 1;
         }
@@ -153,7 +154,7 @@
 
         ### otherwise, present choice again
         redo PICK_SECTION;
-    }  
+    }
 
     return 1;
 }
@@ -168,23 +169,23 @@
 
 
     ASK_CONFIG_TYPE: {
-    
-        print loc( q[  
+
+        print loc( q[
 Where would you like to save your CPANPLUS Configuration file?
 
-If you want to configure CPANPLUS for this user only, 
+If you want to configure CPANPLUS for this user only,
 select the '%1' option.
 The file will then be saved in your homedirectory.
 
-If you are the system administrator of this machine, 
-and would like to make this config available globally, 
+If you are the system administrator of this machine,
+and would like to make this config available globally,
 select the '%2' option.
-The file will be then be saved in your CPANPLUS 
+The file will be then be saved in your CPANPLUS
 installation directory.
 
         ], CONFIG_USER, CONFIG_SYSTEM );
-    
 
+
         ### ask what config type we should save to
         my $type = $term->get_reply(
                         prompt  => loc("Type of configuration file"),
@@ -191,19 +192,19 @@
                         default => $self->config_type || CONFIG_USER,
                         choices => [CONFIG_USER, CONFIG_SYSTEM],
                   );
-    
+
         my $file = $conf->_config_pm_to_file( $type );
-        
+
         ### can we save to this file?
         unless( $conf->can_save( $file ) ) {
             error(loc(
                 "Can not save to file '%1'-- please check permissions " .
-                "and try again", $file       
+                "and try again", $file
             ));
-            
+
             redo ASK_CONFIG_FILE;
-        } 
-        
+        }
+
         ### you already have the file -- are we allowed to overwrite
         ### or should we try again?
         if ( -e $file and -w _ ) {
@@ -214,18 +215,18 @@
 The file will not be overwritten until you explicitly save it.
 
             ], $file );
-            
-            redo ASK_CONFIG_TYPE 
+
+            redo ASK_CONFIG_TYPE
                 unless $term->ask_yn(
                     prompt  => loc( "Do you wish to use this file?"),
                     default => 'n',
                 );
         }
-        
+
         print $/, loc("Using '%1' as your configuration type", $type);
-        
+
         return $self->config_type($type);
-    }            
+    }
 }
 
 
@@ -237,10 +238,10 @@
 
     my $base = $conf->get_conf('base');
     my $home = File::Spec->catdir( $self->_home_dir, DOT_CPANPLUS );
-    
+
     print loc("
 CPANPLUS needs a directory of its own to cache important index
-files and maybe keep a temporary mirror of CPAN files.  
+files and maybe keep a temporary mirror of CPAN files.
 This may be a site-wide directory or a personal directory.
 
 For a single-user installation, we suggest using your home directory.
@@ -266,7 +267,7 @@
             print loc("
 I see you already have a directory:
     %1
-    
+
             "), $where;
 
             my $yn = $term->ask_yn(
@@ -338,7 +339,7 @@
     print loc(q[
 Your CPANPLUS build and cache directory has been set to:
     %1
-    
+
     ], $where);
 
     return 1;
@@ -422,7 +423,7 @@
     unless (grep { $_ eq $current } @choices) {
 	   unshift @choices, $current;
     }
-    
+
     my $email = $term->get_reply(
                     prompt  => loc('Which email address shall I use?'),
                     default => $current || $choices[0],
@@ -434,7 +435,7 @@
             $email = $term->get_reply(
                         prompt  => loc('Email address: '),
                     );
-            
+
             unless( $self->_valid_email($email) ) {
                 print loc("
 You did not enter a valid email address, please try again!
@@ -448,7 +449,7 @@
     print loc("
 Your 'email' is now:
     %1
-    
+
     ", $email);
 
     $conf->set_conf( email => $email );
@@ -481,16 +482,16 @@
         PROGRAM: {
             print "\n", loc("Where can I find your '%1' utility? ".
                       "(Enter a single space to disable)", $prog ), "\n";
-            
+
             my $loc = $term->get_reply(
                             prompt  => "Path to your '$prog'",
                             default => $conf->get_program( $prog ),
-                        );       
-                        
-            ### empty line clears it            
+                        );
+
+            ### empty line clears it
             my $cmd     = $loc =~ /^\s*$/ ? undef : $loc;
             my ($bin)   = $cmd =~ /^(\S+)/;
-            
+
             ### did you provide a valid program ?
             if( $bin and not can_run( $bin ) ) {
                 print "\n";
@@ -505,27 +506,27 @@
                     'make'
                 );
                 print loc("Please provide one!");
-                
+
                 ### show win32 where to download
-                if ( $^O eq 'MSWin32' ) {            
+                if ( $^O eq 'MSWin32' ) {
                     print loc("You can get '%1' from:", NMAKE);
                     print "\t". NMAKE_URL ."\n";
                 }
                 print "\n";
-                redo PROGRAM;                    
+                redo PROGRAM;
             }
 
             $conf->set_program( $prog => $cmd );
             print $cmd
-                ? loc(  "Your '%1' utility has been set to '%2'.", 
+                ? loc(  "Your '%1' utility has been set to '%2'.",
                         $prog, $cmd )
-                : loc(  "Your '%1' has been disabled.", $prog );           
+                : loc(  "Your '%1' has been disabled.", $prog );
             print "\n";
         }
     }
-    
+
     return 1;
-}    
+}
 
 sub _setup_installer {
     my $self = shift;
@@ -533,7 +534,7 @@
     my $conf = $self->configure_object;
 
     my $none = 'None';
-    {   
+    {
         print loc("
 CPANPLUS uses binary programs as well as Perl modules to accomplish
 various tasks. Normally, CPANPLUS will prefer the use of Perl modules
@@ -543,7 +544,7 @@
 certain binary programs if they are available.
 
         ");
-        
+
         ### default to using binaries if we don't have compress::zlib only
         ### -- it'll get very noisy otherwise
         my $type = 'prefer_bin';
@@ -670,7 +671,7 @@
 Some modules provide both a Build.PL (Module::Build) and a Makefile.PL
 (ExtUtils::MakeMaker).  By default, CPANPLUS prefers Makefile.PL.
 
-Module::Build support is not bundled standard with CPANPLUS, but 
+Module::Build support is not bundled standard with CPANPLUS, but
 requires you to install 'CPANPLUS::Dist::Build' from CPAN.
 
 Although Module::Build is a pure perl solution, which means you will
@@ -722,11 +723,11 @@
 
         $conf->set_conf( $type => $lib );
     }
-    
+
     return 1;
-}    
-    
+}
 
+
 sub _setup_conf {
     my $self = shift;
     my $term = $self->term;
@@ -834,30 +835,30 @@
         ");
 
         my $type = 'prereqs';
-        
+
         my @map = (
-            [ PREREQ_IGNORE,                                # conf value 
-              loc('No, do not install prerequisites'),      # UI Value   
+            [ PREREQ_IGNORE,                                # conf value
+              loc('No, do not install prerequisites'),      # UI Value
               loc("I won't install prerequisites")          # diag message
             ],
             [ PREREQ_INSTALL,
-              loc('Yes, please install prerequisites'),  
-              loc("I will install prerequisites")     
+              loc('Yes, please install prerequisites'),
+              loc("I will install prerequisites")
             ],
-            [ PREREQ_ASK,    
-              loc('Ask me before installing a prerequisite'),  
-              loc("I will ask permission to install") 
+            [ PREREQ_ASK,
+              loc('Ask me before installing a prerequisite'),
+              loc("I will ask permission to install")
             ],
-            [ PREREQ_BUILD,  
+            [ PREREQ_BUILD,
               loc('Build prerequisites, but do not install them'),
               loc( "I will only build, but not install prerequisites" )
             ],
         );
-       
+
         my %reply = map { $_->[1] => $_->[0] } @map; # choice => value
         my %diag  = map { $_->[1] => $_->[2] } @map; # choice => diag message
         my %conf  = map { $_->[0] => $_->[1] } @map; # value => ui choice
-        
+
         my $reply   = $term->get_reply(
                         prompt  => loc('Follow prerequisites?'),
                         default => $conf{ $conf->get_conf( $type ) },
@@ -864,7 +865,7 @@
                         choices => [ @conf{ sort keys %conf } ],
                     );
         print "\n";
-        
+
         my $value = $reply{ $reply };
         my $diag  = $diag{  $reply };
 
@@ -880,7 +881,7 @@
 
         ");
         my $type    = 'md5';
-        
+
         my $yn = $term->ask_yn(
                     prompt  => loc("Shall I use the MD5 checksums?"),
                     default => $conf->get_conf( $type ),
@@ -894,7 +895,7 @@
 
     }
 
-    
+
     {   ###########################################
         ## sally sells seashells by the seashore ##
         ###########################################
@@ -909,7 +910,7 @@
         my $type    = 'shell';
         my $other   = 'Other';
         my @choices = (qw|  CPANPLUS::Shell::Default
-                            CPANPLUS::Shell::Classic |, 
+                            CPANPLUS::Shell::Classic |,
                             $other );
         my $default = $conf->get_conf($type);
 
@@ -929,9 +930,9 @@
                 );
 
                 unless( check_install( module => $reply ) ) {
-                    print "\n", 
+                    print "\n",
                           loc("Could not find '$reply' in your path " .
-                          "-- please try again"), 
+                          "-- please try again"),
                           "\n";
                     redo SHELL;
                 }
@@ -973,8 +974,8 @@
         ###################
 
         print loc("
-        
-To limit the amount of RAM used by CPANPLUS, you can use the SQLite 
+
+To limit the amount of RAM used by CPANPLUS, you can use the SQLite
 source backend instead. Note that it is currently still experimental.
 Would you like to do this?
 
@@ -1197,27 +1198,27 @@
             }
 
             CHOICE: {
-                
+
                 ### doesn't play nice with Term::UI :(
                 ### should make t::ui figure out pager opens
                 #$self->_pager_open;     # host lists might be long
-            
+
                 print loc("
 You can enter multiple sites by separating them by a space.
 For example:
     1 4 2 5
-                ");    
-            
+                ");
+
                 my @reply = $term->get_reply(
                                     prompt  => loc('Please pick a site: '),
-                                    choices => [sort(keys %map), 
+                                    choices => [sort(keys %map),
                                                 qw|Custom View Up Quit|],
                                     default => $default,
                                     multi   => 1,
                             );
                 #$self->_pager_close;
-    
 
+
                 goto COUNTRY    if grep { $_ eq 'Up' }      @reply;
                 goto CUSTOM     if grep { $_ eq 'Custom' }  @reply;
                 goto QUIT       if grep { $_ eq 'Quit' }    @reply;
@@ -1646,8 +1647,8 @@
 sub _save {
     my $self = shift;
     my $conf = $self->configure_object;
-    
+
     return $conf->save( $self->config_type );
-}    
+}
 
 1;


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure/Setup.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Configure;
+use deprecate;
 use strict;
 
 
@@ -20,18 +21,18 @@
 
 ### require, avoid circular use ###
 require CPANPLUS::Internals;
-$VERSION = $CPANPLUS::Internals::VERSION = $CPANPLUS::Internals::VERSION;
+$VERSION = "0.9135";
 
 ### can't use O::A as we're using our own AUTOLOAD to get to
 ### the config options.
 for my $meth ( qw[conf _lib _perl5lib]) {
     no strict 'refs';
-    
+
     *$meth = sub {
         my $self = shift;
         $self->{'_'.$meth} = $_[0] if @_;
         return $self->{'_'.$meth};
-    }     
+    }
 }
 
 
@@ -39,7 +40,7 @@
 
 =head1 NAME
 
-CPANPLUS::Configure
+CPANPLUS::Configure - configuration for CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -74,7 +75,7 @@
 
 =item load_configs
 
-Controls whether or not additional user configurations are to be loaded 
+Controls whether or not additional user configurations are to be loaded
 or not. Defaults to C<true>.
 
 =back
@@ -89,7 +90,7 @@
     sub new {
         my $class   = shift;
         my %hash    = @_;
-        
+
         ### XXX pass on options to ->init() like rescan?
         my ($load);
         my $tmpl    = {
@@ -99,7 +100,7 @@
         check( $tmpl, \%hash ) or (
             warn Params::Check->last_error, return
         );
-        
+
         $Config     ||= CPANPLUS::Config->new;
         my $self    = bless {}, $class;
         $self->conf( $Config );
@@ -108,11 +109,11 @@
         ### these can override things in the default config
         $self->init if $load;
 
-        ### after processing the config files, check what 
+        ### after processing the config files, check what
         ### @INC and PERL5LIB are set to.
         $self->_lib( \@INC );
         $self->_perl5lib( $ENV{'PERL5LIB'} );
-    
+
         return $self;
     }
 }
@@ -143,21 +144,21 @@
         my $self    = shift;
         my $obj     = $self->conf;
         my %hash    = @_;
-        
+
         my ($rescan);
         my $tmpl    = {
             rescan  => { default => 0, store => \$rescan },
         };
-        
+
         check( $tmpl, \%hash ) or (
             warn Params::Check->last_error, return
-        );        
-        
+        );
+
         ### if the base dir is changed, we have to rescan it
         ### for any CPANPLUS::Config::* files as well, so keep
         ### track of it
         my $cur_base = $self->get_conf('base');
-        
+
         ### warn if we find an old style config specified
         ### via environment variables
         {   my $env = ENV_CPANPLUS_CONFIG;
@@ -169,17 +170,17 @@
                           "in the default shell to use custom config files.",
                           $env, "CPANPLUS::Configure->save", 's save'));
             }
-        }            
-        
+        }
+
         {   ### make sure that the homedir is included now
             local @INC = ( LIB_DIR->($cur_base), @INC );
-        
+
             ### only set it up once
-            if( !$loaded++ or $rescan ) {   
+            if( !$loaded++ or $rescan ) {
                 ### find plugins & extra configs
                 ### check $home/.cpanplus/lib as well
                 require Module::Pluggable;
-                
+
                 Module::Pluggable->import(
                     search_path => ['CPANPLUS::Config'],
                     search_dirs => [ LIB_DIR->($cur_base) ],
@@ -187,21 +188,21 @@
                     sub_name    => 'configs'
                 );
             }
-            
-            
+
+
             ### do system config, user config, rest.. in that order
             ### apparently, on a 2nd invocation of -->configs, a
             ### ::ISA::CACHE package can appear.. that's bad...
-            my %confs = map  { $_ => $_ } 
+            my %confs = map  { $_ => $_ }
                         grep { $_ !~ /::ISA::/ } __PACKAGE__->configs;
-            my @confs = grep { defined } 
+            my @confs = grep { defined }
                         map  { delete $confs{$_} } CONFIG_SYSTEM, CONFIG_USER;
-            push @confs, sort keys %confs;                    
-        
+            push @confs, sort keys %confs;
+
             for my $plugin ( @confs ) {
                 msg(loc("Found config '%1'", $plugin),0);
-                
-                ### if we already did this the /last/ time around dont 
+
+                ### if we already did this the /last/ time around dont
                 ### run the setup agian.
                 if( my $loc = Module::Loaded::is_loaded( $plugin ) ) {
                     msg(loc("  Already loaded '%1' (%2)", $plugin, $loc), 0);
@@ -208,25 +209,25 @@
                     next;
                 } else {
                     msg(loc("  Loading config '%1'", $plugin),0);
-                
+
                     if( eval { load $plugin; 1 } ) {
-                        msg(loc("  Loaded '%1' (%2)", 
+                        msg(loc("  Loaded '%1' (%2)",
                             $plugin, Module::Loaded::is_loaded( $plugin ) ), 0);
                     } else {
                         error(loc("  Error loading '%1': %2", $plugin, $@));
-                    }                        
-                }                   
-                
+                    }
+                }
+
                 if( $@ ) {
                     error(loc("Could not load '%1': %2", $plugin, $@));
                     next;
-                }     
-                
+                }
+
                 my $sub = $plugin->can('setup');
                 $sub->( $self ) if $sub;
             }
         }
-        
+
         ### did one of the plugins change the base dir? then we should
         ### scan the dirs again
         if( $cur_base ne $self->get_conf('base') ) {
@@ -233,8 +234,8 @@
             msg(loc("Base dir changed from '%1' to '%2', rescanning",
                     $cur_base, $self->get_conf('base')), 0);
             $self->init( @_, rescan => 1 );
-        }      
-            
+        }
+
         ### clean up the paths once more, just in case
         $obj->_clean_up_paths;
 
@@ -244,10 +245,10 @@
             my %inc = map { $_ => $_ } @INC;
             for my $l ( @$lib ) {
                 push @INC, $l unless $inc{$l};
-            }                
+            }
             $self->_lib( \@INC );
         }
-    
+
         return 1;
     }
 }
@@ -265,7 +266,7 @@
 sub can_save {
     my $self = shift;
     my $file = shift || CONFIG_USER_FILE->();
-    
+
     return 1 unless -e $file;
 
     chmod 0644, $file;
@@ -284,7 +285,7 @@
 If no argument is provided, it will default to your personal
 config.
 
-Returns the full path to the file if the config was saved, 
+Returns the full path to the file if the config was saved,
 false otherwise.
 
 =cut
@@ -298,12 +299,12 @@
     ### so figure out where to save them based on their type
     my $file;
     if( $pm eq CONFIG_USER ) {
-        $file = CONFIG_USER_FILE->();   
+        $file = CONFIG_USER_FILE->();
 
     } elsif ( $pm eq CONFIG_SYSTEM ) {
         $file = CONFIG_SYSTEM_FILE->();
-        
-    ### third party file        
+
+    ### third party file
     } else {
         my $cfg_pkg = CONFIG . '::';
         unless( $pm =~ /^$cfg_pkg/ ) {
@@ -311,13 +312,13 @@
                 "WARNING: Your config package '%1' is not in the '%2' ".
                 "namespace and will not be automatically detected by %3",
                 $pm, $cfg_pkg, 'CPANPLUS'
-            ));        
-        }                        
-    
+            ));
+        }
+
         $file = File::Spec->catfile(
             $dir,
             split( '::', $pm )
-        ) . '.pm';        
+        ) . '.pm';
     }
 
     return $file;
@@ -328,16 +329,16 @@
     my $self    = shift;
     my $pm      = shift || CONFIG_USER;
     my $savedir = shift || '';
-    
+
     my $file = $self->_config_pm_to_file( $pm, $savedir ) or return;
     my $dir  = dirname( $file );
-    
+
     unless( -d $dir ) {
         $self->_mkdir( dir => $dir ) or (
             error(loc("Can not create directory '%1' to save config to",$dir)),
             return
         )
-    }       
+    }
     return unless $self->can_save($file);
 
     ### find only accessors that are not private
@@ -345,18 +346,18 @@
 
     ### for dumping the values
     use Data::Dumper;
-    
+
     my @lines;
     for my $acc ( @acc ) {
-        
+
         push @lines, "### $acc section", $/;
-        
+
         for my $key ( $self->conf->$acc->ls_accessors ) {
             my $val = Dumper( $self->conf->$acc->$key );
-        
+
             $val =~ s/\$VAR1\s+=\s+//;
             $val =~ s/;\n//;
-        
+
             push @lines, '$'. "conf->set_${acc}( $key => $val );", $/;
         }
         push @lines, $/,$/;
@@ -368,13 +369,13 @@
     ### use a variable to make sure the pod parser doesn't snag it
     my $is      = '=';
     my $time    = gmtime;
-   
-    
+
+
     my $msg     = <<_END_OF_CONFIG_;
 ###############################################
-###                                         
-###  Configuration structure for $pm        
-###                                         
+###
+###  Configuration structure for $pm
+###
 ###############################################
 
 #last changed: $time GMT
@@ -399,11 +400,11 @@
 
 sub setup {
     my \$conf = shift;
-    
+
 $str
 
-    return 1;    
-} 
+    return 1;
+}
 
 1;
 
@@ -447,7 +448,7 @@
 
     my %seen;
     return sort grep { !$seen{$_}++ }
-                map { $_->$type->ls_accessors if $_->can($type)  } 
+                map { $_->$type->ls_accessors if $_->can($type)  }
                 $self->conf;
     return;
 }
@@ -523,10 +524,12 @@
     $type .= '_'    if $private;
     $type .= $field if $field;
 
-    unless ( $conf->can($type) ) {
+    my $type_code = $conf->can($type);
+    unless ( $type_code ) {
         error( loc("Invalid method type: '%1'", $name) );
         return;
     }
+    my $type_obj = $type_code->();
 
     unless( scalar @_ ) {
         error( loc("No arguments provided!") );
@@ -539,16 +542,16 @@
             my @list = ();
 
             ### get it from the user config first
-            if( $conf->can($type) and $conf->$type->can($key) ) {
-                push @list, $conf->$type->$key;
+            if( my $code = $type_obj->can($key) ) {
+                push @list, $code->();
 
             ### XXX EU::AI compatibility hack to provide lookups like in
             ### cpanplus 0.04x; we renamed ->_get_build('base') to
             ### ->get_conf('base')
             } elsif ( $type eq '_build' and $key eq 'base' ) {
-                return $self->get_conf($key);  
-                
-            } else {     
+                return $self->get_conf($key);
+
+            } else {
                 error( loc(q[No such key '%1' in field '%2'], $key, $type) );
                 return;
             }
@@ -562,9 +565,9 @@
 
         while( my($key,$val) = each %args ) {
 
-            if( $conf->can($type) and $conf->$type->can($key) ) {
-                $conf->$type->$key( $val );
-                
+            if( my $code = $type_obj->can($key) ) {
+                $code->( $val );
+
             } else {
                 error( loc(q[No such key '%1' in field '%2'], $key, $type) );
                 return;
@@ -579,13 +582,13 @@
 
         while( my($key,$val) = each %args ) {
 
-            if( $conf->$type->can($key) ) {
+            if( $type_obj->can($key) ) {
                 error( loc( q[Key '%1' already exists for field '%2'],
                             $key, $type));
                 return;
             } else {
-                $conf->$type->mk_accessors( $key );
-                $conf->$type->$key( $val );
+                $type_obj->mk_accessors( $key );
+                $type_obj->$key( $val );
             }
         }
         return 1;
@@ -613,10 +616,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Configure.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Autobundle.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Autobundle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Autobundle.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Dist::Autobundle;
+use deprecate;
 
 use strict;
 use warnings;
@@ -5,12 +6,14 @@
 use CPANPLUS::Error             qw[error msg];
 use Params::Check               qw[check];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
+use vars qw[$VERSION];
+$VERSION = "0.9135";
 
 use base qw[CPANPLUS::Dist::Base];
 
 =head1 NAME
 
-CPANPLUS::Dist::Autobundle
+CPANPLUS::Dist::Autobundle - distribution class for installation snapshots
 
 =head1 SYNOPSIS
 
@@ -29,13 +32,13 @@
 sub init {
     my $dist    = shift;
     my $status  = $dist->status;
-   
+
     $status->mk_accessors(
         qw[prepared created installed _prepare_args _create_args _install_args]
     );
-    
+
     return 1;
-}  
+}
 
 sub prepare {
     my $dist = shift;
@@ -50,11 +53,11 @@
 sub create {
     my $dist = shift;
     my $self = $dist->parent;
-    
+
     ### we're also the cpan_dist, since we don't need to have anything
-    ### prepared 
-    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;     
-    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;    
+    ### prepared
+    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;
+    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;
 
     my $cb   = $self->parent;
     my $conf = $cb->configure_object;
@@ -62,25 +65,25 @@
 
     my( $force, $verbose, $prereq_target, $prereq_format, $prereq_build);
 
-    my $args = do {   
+    my $args = do {
         local $Params::Check::ALLOW_UNKNOWN = 1;
         my $tmpl = {
-            force           => {    default => $conf->get_conf('force'), 
+            force           => {    default => $conf->get_conf('force'),
                                     store   => \$force },
-            verbose         => {    default => $conf->get_conf('verbose'), 
+            verbose         => {    default => $conf->get_conf('verbose'),
                                     store   => \$verbose },
-            prereq_target   => {    default => '', store => \$prereq_target }, 
+            prereq_target   => {    default => '', store => \$prereq_target },
 
             ### don't set the default prereq format to 'makemaker' -- wrong!
             prereq_format   => {    #default => $self->status->installer_type,
                                     default => '',
-                                    store   => \$prereq_format },   
-            prereq_build    => {    default => 0, store => \$prereq_build },                                    
-        };                                            
+                                    store   => \$prereq_format },
+            prereq_build    => {    default => 0, store => \$prereq_build },
+        };
 
         check( $tmpl, \%hash ) or return;
     };
-    
+
     ### maybe we already ran a create on this object? ###
     return 1 if $dist->status->created && !$force;
 
@@ -90,7 +93,7 @@
     msg(loc("Resolving prerequisites mentioned in the bundle"), $verbose);
 
     ### this will set the directory back to the start
-    ### dir, so we must chdir /again/           
+    ### dir, so we must chdir /again/
     my $ok = $dist->_resolve_prereqs(
                         format          => $prereq_format,
                         verbose         => $verbose,
@@ -107,7 +110,7 @@
 sub install {
     my $dist = shift;
     my %args = @_;
-    
+
     ### store the arguments, so ->install can use them in recursive loops ###
     $dist->status->_install_args( \%args );
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Autobundle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Base.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 package CPANPLUS::Dist::Base;
+use deprecate;
 
 use strict;
 
 use base    qw[CPANPLUS::Dist];
 use vars    qw[$VERSION];
-$VERSION =  $CPANPLUS::Internals::VERSION = $CPANPLUS::Internals::VERSION;
+$VERSION = "0.9135";
 
-
 =head1 NAME
 
 CPANPLUS::Dist::Base - Base class for custom distribution classes
@@ -19,13 +19,13 @@
 
     sub prepare {
         my $dist = shift;
-        
+
         ### do the 'standard' things
         $dist->SUPER::prepare( @_ ) or return;
-    
+
         ### do MY_IMPLEMENTATION specific things
         ...
-        
+
         ### don't forget to set the status!
         return $dist->status->prepared( $SUCCESS ? 1 : 0 );
     }
@@ -34,7 +34,7 @@
 =head1 DESCRIPTION
 
 CPANPLUS::Dist::Base functions as a base class for all custom
-distribution implementations. It does all the mundane work 
+distribution implementations. It does all the mundane work
 CPANPLUS would have done without a custom distribution, so you
 can override just the parts you need to make your own implementation
 work.
@@ -50,7 +50,7 @@
     $dist->prepare;             # find/write meta information
     $dist->create;              # write the distribution file
     $dist->install;             # install the distribution file
-    
+
     $dist->uninstall;           # remove the distribution (OPTIONAL)
 
 =head1 METHODS
@@ -64,8 +64,8 @@
 
 =cut
 
-sub methods { 
-    return qw[format_available init prepare create install uninstall] 
+sub methods {
+    return qw[format_available init prepare create install uninstall]
 }
 
 =head2 $bool = $Class->format_available
@@ -82,7 +82,7 @@
 
 The C<CPANPLUS::Dist::Base> implementation always returns true.
 
-=cut 
+=cut
 
 sub format_available { return 1 }
 
@@ -91,7 +91,7 @@
 
 This method is called just after the new dist object is set up and
 before the C<prepare> method is called. This is the time to set up
-the object so it can be used with your class. 
+the object so it can be used with your class.
 
 For example, you might want to add extra accessors to the C<status>
 object, which you might do as follows:
@@ -98,14 +98,14 @@
 
     $dist->status->mk_accessors( qw[my_implementation_accessor] );
 
-The C<status> object is implemented as an instance of the 
-C<Object::Accessor> class. Please refer to its documentation for 
+The C<status> object is implemented as an instance of the
+C<Object::Accessor> class. Please refer to its documentation for
 details.
 
 Return true if the initialization was successful, and false if it was
 not.
 
-The C<CPANPLUS::Dist::Base> implementation does not alter your object 
+The C<CPANPLUS::Dist::Base> implementation does not alter your object
 and always returns true.
 
 =cut
@@ -116,14 +116,14 @@
 
 This runs the preparation step of your distribution. This step is meant
 to set up the environment so the C<create> step can create the actual
-distribution(file). 
-A C<prepare> call in the standard C<ExtUtils::MakeMaker> distribution 
+distribution(file).
+A C<prepare> call in the standard C<ExtUtils::MakeMaker> distribution
 would, for example, run C<perl Makefile.PL> to find the dependencies
-for a distribution. For a C<debian> distribution, this is where you 
+for a distribution. For a C<debian> distribution, this is where you
 would write all the metafiles required for the C<dpkg-*> tools.
 
 The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or 
+distribution class (Typically C<CPANPLUS::Dist::MM> or
 C<CPANPLUS::Dist::Build>).
 
 Sets C<< $dist->status->prepared >> to the return value of this function.
@@ -131,7 +131,7 @@
 
 =cut
 
-sub prepare { 
+sub prepare {
     ### just in case you already did a create call for this module object
     ### just via a different dist object
     my $dist        = shift;
@@ -147,18 +147,18 @@
 =head2 $bool = $dist->create
 
 This runs the creation step of your distribution. This step is meant
-to follow up on the C<prepare> call, that set up your environment so 
-the C<create> step can create the actual distribution(file). 
-A C<create> call in the standard C<ExtUtils::MakeMaker> distribution 
+to follow up on the C<prepare> call, that set up your environment so
+the C<create> step can create the actual distribution(file).
+A C<create> call in the standard C<ExtUtils::MakeMaker> distribution
 would, for example, run C<make> and C<make test> to build and test
-a distribution. For a C<debian> distribution, this is where you 
+a distribution. For a C<debian> distribution, this is where you
 would create the actual C<.deb> file using C<dpkg>.
 
 The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or 
+distribution class (Typically C<CPANPLUS::Dist::MM> or
 C<CPANPLUS::Dist::Build>).
 
-Sets C<< $dist->status->dist >> to the location of the created 
+Sets C<< $dist->status->dist >> to the location of the created
 distribution.
 If you override this method, you should make sure to set this value.
 
@@ -167,7 +167,7 @@
 
 =cut
 
-sub create { 
+sub create {
     ### just in case you already did a create call for this module object
     ### just via a different dist object
     my $dist        = shift;
@@ -193,13 +193,13 @@
 This runs the install step of your distribution. This step is meant
 to follow up on the C<create> call, which prepared a distribution(file)
 to install.
-A C<create> call in the standard C<ExtUtils::MakeMaker> distribution 
+A C<create> call in the standard C<ExtUtils::MakeMaker> distribution
 would, for example, run C<make install> to copy the distribution files
-to their final destination. For a C<debian> distribution, this is where 
+to their final destination. For a C<debian> distribution, this is where
 you would run C<dpkg --install> on the created C<.deb> file.
 
 The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or 
+distribution class (Typically C<CPANPLUS::Dist::MM> or
 C<CPANPLUS::Dist::Build>).
 
 Sets C<< $dist->status->installed >> to the return value of this function.
@@ -207,12 +207,12 @@
 
 =cut
 
-sub install { 
+sub install {
     ### just in case you already did a create call for this module object
     ### just via a different dist object
     my $dist        = shift;
     my $self        = $dist->parent;
-    my $dist_cpan   = $self->status->dist_cpan;    
+    my $dist_cpan   = $self->status->dist_cpan;
 
     my $cb   = $self->parent;
     my $conf = $cb->configure_object;
@@ -223,14 +223,14 @@
 =head2 $bool = $dist->uninstall
 
 This runs the uninstall step of your distribution. This step is meant
-to remove the distribution from the file system. 
-A C<uninstall> call in the standard C<ExtUtils::MakeMaker> distribution 
-would, for example, run C<make uninstall> to remove the distribution 
-files the file system. For a C<debian> distribution, this is where you 
+to remove the distribution from the file system.
+A C<uninstall> call in the standard C<ExtUtils::MakeMaker> distribution
+would, for example, run C<make uninstall> to remove the distribution
+files the file system. For a C<debian> distribution, this is where you
 would run C<dpkg --uninstall PACKAGE>.
 
 The C<CPANPLUS::Dist::Base> implementation simply calls the underlying
-distribution class (Typically C<CPANPLUS::Dist::MM> or 
+distribution class (Typically C<CPANPLUS::Dist::MM> or
 C<CPANPLUS::Dist::Build>).
 
 Sets C<< $dist->status->uninstalled >> to the return value of this function.
@@ -238,12 +238,12 @@
 
 =cut
 
-sub uninstall { 
+sub uninstall {
     ### just in case you already did a create call for this module object
     ### just via a different dist object
     my $dist        = shift;
     my $self        = $dist->parent;
-    my $dist_cpan   = $self->status->dist_cpan;    
+    my $dist_cpan   = $self->status->dist_cpan;
 
     my $cb   = $self->parent;
     my $conf = $cb->configure_object;
@@ -251,7 +251,7 @@
     $dist->status->uninstalled( $dist_cpan->uninstall( @_ ) );
 }
 
-1;              
+1;
 
 # Local variables:
 # c-indentation-style: bsd


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/MM.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/MM.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/MM.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,11 @@
 package CPANPLUS::Dist::MM;
+use deprecate;
 
+use strict;
 use warnings;
-use strict;
-use vars    qw[@ISA $STATUS];
+use vars    qw[@ISA $STATUS $VERSION];
 use base    'CPANPLUS::Dist::Base';
+$VERSION = "0.9135";
 
 use CPANPLUS::Internals::Constants;
 use CPANPLUS::Internals::Constants::Report;
@@ -23,12 +25,12 @@
 
 =head1 NAME
 
-CPANPLUS::Dist::MM
+CPANPLUS::Dist::MM - distribution class for MakeMaker related modules
 
 =head1 SYNOPSIS
 
     $mm = CPANPLUS::Dist::MM->new( module => $modobj );
-    
+
     $mm->create;        # runs make && make test
     $mm->install;       # runs make install
 
@@ -37,7 +39,7 @@
 
 C<CPANPLUS::Dist::MM> is a distribution class for MakeMaker related
 modules.
-Using this package, you can create, install and uninstall perl 
+Using this package, you can create, install and uninstall perl
 modules. It inherits from C<CPANPLUS::Dist>.
 
 =head1 ACCESSORS
@@ -55,7 +57,7 @@
 
 =back
 
-=head1 STATUS ACCESSORS 
+=head1 STATUS ACCESSORS
 
 All accessors can be accessed as follows:
     $mm->status->ACCESSOR
@@ -64,7 +66,7 @@
 
 =item makefile ()
 
-Location of the Makefile (or Build file). 
+Location of the Makefile (or Build file).
 Set to 0 explicitly if something went wrong.
 
 =item make ()
@@ -73,7 +75,7 @@
 
 =item test ()
 
-BOOL indicating if the C<make test> (or C<Build test>) command was 
+BOOL indicating if the C<make test> (or C<Build test>) command was
 successful.
 
 =item prepared ()
@@ -84,7 +86,7 @@
 =item distdir ()
 
 Full path to the directory in which the C<prepare> call took place,
-set after a call to C<prepare>. 
+set after a call to C<prepare>.
 
 =item created ()
 
@@ -126,32 +128,32 @@
 ### check if the format is available ###
 sub format_available {
     my $dist = shift;
-  
+
     ### we might be called as $class->format_available =/
     require CPANPLUS::Internals;
-    my $cb   = CPANPLUS::Internals->_retrieve_id( 
+    my $cb   = CPANPLUS::Internals->_retrieve_id(
                     CPANPLUS::Internals->_last_id );
     my $conf = $cb->configure_object;
-  
+
     my $mod = "ExtUtils::MakeMaker";
     unless( can_load( modules => { $mod => 0.0 } ) ) {
         error( loc( "You do not have '%1' -- '%2' not available",
-                    $mod, __PACKAGE__ ) ); 
+                    $mod, __PACKAGE__ ) );
         return;
     }
-    
+
     for my $pgm ( qw[make] ) {
-        unless( $conf->get_program( $pgm ) ) { 
+        unless( $conf->get_program( $pgm ) ) {
             error(loc(
                 "You do not have '%1' in your path -- '%2' not available\n" .
-                "Please check your config entry for '%1'", 
+                "Please check your config entry for '%1'",
                 $pgm, __PACKAGE__ , $pgm
-            )); 
+            ));
             return;
         }
     }
 
-    return 1;     
+    return 1;
 }
 
 =pod
@@ -158,7 +160,7 @@
 
 =head2 $bool = $dist->init();
 
-Sets up the C<CPANPLUS::Dist::MM> object for use. 
+Sets up the C<CPANPLUS::Dist::MM> object for use.
 Effectively creates all the needed status accessors.
 
 Called automatically whenever you create a new C<CPANPLUS::Dist> object.
@@ -168,24 +170,24 @@
 sub init {
     my $dist    = shift;
     my $status  = $dist->status;
-   
+
     $status->mk_accessors(qw[makefile make test created installed uninstalled
                              bin_make _prepare_args _create_args _install_args]
                         );
-    
+
     return 1;
-}    
+}
 
 =pod
 
 =head2 $bool = $dist->prepare([perl => '/path/to/perl', makemakerflags => 'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
 
-C<prepare> preps a distribution for installation. This means it will 
+C<prepare> preps a distribution for installation. This means it will
 run C<perl Makefile.PL> and determine what prerequisites this distribution
 declared.
 
-If you set C<force> to true, it will go over all the stages of the 
-C<prepare> process again, ignoring any previously cached results. 
+If you set C<force> to true, it will go over all the stages of the
+C<prepare> process again, ignoring any previously cached results.
 
 When running C<perl Makefile.PL>, the environment variable
 C<PERL5_CPANPLUS_IS_EXECUTING> will be set to the full path of the
@@ -204,11 +206,11 @@
     ### just via a different dist object
     my $dist = shift;
     my $self = $dist->parent;
-    
+
     ### we're also the cpan_dist, since we don't need to have anything
-    ### prepared 
-    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;     
-    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;    
+    ### prepared
+    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;
+    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;
 
     my $cb   = $self->parent;
     my $conf = $cb->configure_object;
@@ -219,9 +221,9 @@
         error( loc( "No dir found to operate on!" ) );
         return;
     }
-    
+
     my $args;
-    my( $force, $verbose, $perl, @mmflags, $prereq_target, $prereq_format,
+    my( $force, $verbose, $perl, $mmflags, $prereq_target, $prereq_format,
         $prereq_build );
     {   local $Params::Check::ALLOW_UNKNOWN = 1;
         my $tmpl = {
@@ -228,27 +230,28 @@
             perl            => {    default => $^X, store => \$perl },
             makemakerflags  => {    default =>
                                         $conf->get_conf('makemakerflags') || '',
-                                    store => \$mmflags[0] },
-            force           => {    default => $conf->get_conf('force'), 
+                                    store => \$mmflags },
+            force           => {    default => $conf->get_conf('force'),
                                     store   => \$force },
-            verbose         => {    default => $conf->get_conf('verbose'), 
+            verbose         => {    default => $conf->get_conf('verbose'),
                                     store   => \$verbose },
-            prereq_target   => {    default => '', store => \$prereq_target }, 
+            prereq_target   => {    default => '', store => \$prereq_target },
             prereq_format   => {    default => '',
-                                    store   => \$prereq_format },   
-            prereq_build    => {    default => 0, store => \$prereq_build },     
-        };                                            
+                                    store   => \$prereq_format },
+            prereq_build    => {    default => 0, store => \$prereq_build },
+        };
 
         $args = check( $tmpl, \%hash ) or return;
     }
-    
-    
+
+    my @mmflags = $dist->_split_like_shell( $mmflags );
+
     ### maybe we already ran a create on this object? ###
     return 1 if $dist->status->prepared && !$force;
-        
+
     ### store the arguments, so ->install can use them in recursive loops ###
     $dist->status->_prepare_args( $args );
-    
+
     ### chdir to work directory ###
     my $orig = cwd();
     unless( $cb->_chdir( dir => $dir ) ) {
@@ -255,8 +258,8 @@
         error( loc( "Could not chdir to build directory '%1'", $dir ) );
         return;
     }
-    
-    my $fail; 
+
+    my $fail;
     RUN: {
 
         ### we resolve 'configure requires' here, so we can run the 'perl
@@ -266,7 +269,7 @@
         ### on this step or failure
         ### XXX make a separate tarball to test for this scenario: simply
         ### containing a makefile.pl/build.pl for test purposes?
-        {   my $configure_requires = $dist->find_configure_requires;     
+        {   my $configure_requires = $dist->find_configure_requires;
             my $ok = $dist->_resolve_prereqs(
                             format          => $prereq_format,
                             verbose         => $verbose,
@@ -274,61 +277,61 @@
                             target          => $prereq_target,
                             force           => $force,
                             prereq_build    => $prereq_build,
-                    );    
-    
+                    );
+
             unless( $ok ) {
-           
+
                 #### use $dist->flush to reset the cache ###
                 error( loc( "Unable to satisfy '%1' for '%2' " .
-                            "-- aborting install", 
-                            'configure_requires', $self->module ) );    
+                            "-- aborting install",
+                            'configure_requires', $self->module ) );
                 $dist->status->prepared(0);
-                $fail++; 
+                $fail++;
                 last RUN;
-            } 
+            }
             ### end of prereq resolving ###
         }
-        
 
 
-        ### don't run 'perl makefile.pl' again if there's a makefile already 
+
+        ### don't run 'perl makefile.pl' again if there's a makefile already
         if( -e MAKEFILE->() && (-M MAKEFILE->() < -M $dir) && !$force ) {
             msg(loc("'%1' already exists, not running '%2 %3' again ".
                     " unless you force",
                     MAKEFILE->(), $perl, MAKEFILE_PL->() ), $verbose );
-            
+
         } else {
             unless( -e MAKEFILE_PL->() ) {
                 msg(loc("No '%1' found - attempting to generate one",
                         MAKEFILE_PL->() ), $verbose );
-                        
-                $dist->write_makefile_pl( 
-                            verbose => $verbose, 
-                            force   => $force 
+
+                $dist->write_makefile_pl(
+                            verbose => $verbose,
+                            force   => $force
                         );
-                
+
                 ### bail out if there's no makefile.pl ###
                 unless( -e MAKEFILE_PL->() ) {
-                    error( loc( "Could not find '%1' - cannot continue", 
+                    error( loc( "Could not find '%1' - cannot continue",
                                 MAKEFILE_PL->() ) );
-        
+
                     ### mark that we screwed up ###
                     $dist->status->makefile(0);
                     $fail++; last RUN;
                 }
-            }    
-    
+            }
+
             ### you can turn off running this verbose by changing
             ### the config setting below, although it is really not
             ### recommended
-            my $run_verbose = $verbose || 
+            my $run_verbose = $verbose ||
                               $conf->get_conf('allow_build_interactivity') ||
                               0;
-    
+
             ### this makes MakeMaker use defaults if possible, according
             ### to schwern. See ticket 8047 for details.
-            local $ENV{PERL_MM_USE_DEFAULT} = 1 unless $run_verbose; 
-    
+            local $ENV{PERL_MM_USE_DEFAULT} = 1 unless $run_verbose;
+
             ### turn off our PERL5OPT so no modules from CPANPLUS::inc get
             ### included in the makefile.pl -- it should build without
             ### also, modules that run in taint mode break if we leave
@@ -335,55 +338,43 @@
             ### our code ref in perl5opt
             ### XXX we've removed the ENV settings from cp::inc, so only need
             ### to reset the @INC
-            #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt || ''; 
-    
+            #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt || '';
+
             ### make sure it's a string, so that mmflags that have more than
             ### one key value pair are passed as is, rather than as:
             ### perl Makefile.PL "key=val key=>val"
-            
-            
+
+
             #### XXX this needs to be the absolute path to the Makefile.PL
             ### since cpanp-run-perl uses 'do' to execute the file, and do()
             ### checks your @INC.. so, if there's _another_ makefile.pl in
             ### your @INC, it will execute that one...
             my $makefile_pl = MAKEFILE_PL->( $cb->_safe_path( path => $dir ) );
-            
+
             ### setting autoflush to true fixes issue from rt #8047
             ### XXX this means that we need to keep the path to CPANPLUS
             ### in @INC, stopping us from resolving dependencies on CPANPLUS
             ### at bootstrap time properly.
 
-            ### XXX this fails under ipc::run due to the extra quotes,
-            ### but it works in ipc::open3. however, ipc::open3 doesn't work
-            ### on win32/cygwin. XXX TODO get a windows box and sort this out
-            # my $cmd =  qq[$perl -MEnglish -le ] . 
-            #            QUOTE_PERL_ONE_LINER->(
-            #                qq[\$OUTPUT_AUTOFLUSH++,do(q($makefile_pl))]
-            #            ) 
-            #            . $mmflags;
+            my @run_perl    = ( '-e', PERL_WRAPPER );
+            my $cmd         = [$perl, @run_perl, $makefile_pl, @mmflags];
 
-            # my $flush = OPT_AUTOFLUSH;
-            # my $cmd     = "$perl $flush $makefile_pl $mmflags";
-
-            my $run_perl    = $conf->get_program('perlwrapper');
-            my $cmd         = [$perl, $run_perl, $makefile_pl, @mmflags];
-
             ### set ENV var to tell underlying code this is what we're
             ### executing.
-            my $captured; 
+            my $captured;
             my $rv = do {
                 my $env = ENV_CPANPLUS_IS_EXECUTING;
                 local $ENV{$env} = $makefile_pl;
                 scalar run( command => $cmd,
                             buffer  => \$captured,
-                            verbose => $run_verbose, # may be interactive   
+                            verbose => $run_verbose, # may be interactive
                         );
             };
-    
+
             unless( $rv ) {
                 error( loc( "Could not run '%1 %2': %3 -- cannot continue",
                             $perl, MAKEFILE_PL->(), $captured ) );
-                
+
                 $dist->status->makefile(0);
                 $fail++; last RUN;
             }
@@ -391,7 +382,7 @@
             ### put the output on the stack, don't print it
             msg( $captured, 0 );
         }
-        
+
         ### so, nasty feature in Module::Build, that when a Makefile.PL
         ### is a disguised Build.PL, it generates a Build file, not a
         ### Makefile. this breaks everything :( see rt bug #19741
@@ -407,39 +398,50 @@
                     "$^X ".MAKEFILE_PL->(), MAKEFILE->(), BUILD_PL->(),
                     'Module::Build', MAKEFILE_PL->(), 'Build', MAKEFILE->(),
                     'prefer_makefile', BUILD_PL->()
-            ));           
-            
+            ));
+
             $fail++, last RUN;
         }
-        
+
         ### if we got here, we managed to make a 'makefile' ###
-        $dist->status->makefile( MAKEFILE->($dir) );               
-        
+        $dist->status->makefile( MAKEFILE->($dir) );
+
+        ### Make (haha) sure that Makefile.PL is older than the Makefile
+        ### we just generated.
+        eval {
+          my $makestat = ( stat MAKEFILE->( $dir ) )[9];
+          my $mplstat = ( stat MAKEFILE_PL->( $cb->_safe_path( path => $dir ) ) )[9];
+          if ( $makestat < $mplstat ) {
+            my $ftime = $makestat - 60;
+            utime $ftime, $ftime, MAKEFILE_PL->( $cb->_safe_path( path => $dir ) );
+          }
+        };
+
         ### start resolving prereqs ###
         my $prereqs = $self->status->prereqs;
-       
+
         ### a hashref of prereqs on success, undef on failure ###
-        $prereqs    ||= $dist->_find_prereqs( 
+        $prereqs    ||= $dist->_find_prereqs(
                                     verbose => $verbose,
-                                    file    => $dist->status->makefile 
+                                    file    => $dist->status->makefile
                                 );
-        
+
         unless( $prereqs ) {
-            error( loc( "Unable to scan '%1' for prereqs", 
+            error( loc( "Unable to scan '%1' for prereqs",
                         $dist->status->makefile ) );
 
             $fail++; last RUN;
         }
     }
-   
+
 	unless( $cb->_chdir( dir => $orig ) ) {
         error( loc( "Could not chdir back to start dir '%1'", $orig ) );
-    }   
-   
+    }
+
     ### save where we wrote this stuff -- same as extract dir in normal
     ### installer circumstances
     $dist->status->distdir( $self->status->extract );
-   
+
     return $dist->status->prepared( $fail ? 0 : 1);
 }
 
@@ -467,28 +469,28 @@
         verbose => { default => $conf->get_conf('verbose'), store => \$verbose },
         file    => { required => 1, allow => FILE_READABLE, store => \$file },
     };
-    
-    my $args = check( $tmpl, \%hash ) or return;      
 
+    my $args = check( $tmpl, \%hash ) or return;
+
     ### see if we got prereqs from MYMETA
     my $prereqs = $dist->find_mymeta_requires();
-    
+
     ### we found some prereqs, we'll trust MYMETA
     ### but we do need to run it through the callback
     return $cb->_callbacks->filter_prereqs->( $cb, $prereqs ) if keys %$prereqs;
-    
+
     my $fh = FileHandle->new();
     unless( $fh->open( $file ) ) {
         error( loc( "Cannot open '%1': %2", $file, $! ) );
         return;
     }
-    
+
     my %p;
     while( local $_ = <$fh> ) {
-        my ($found) = m|^[\#]\s+PREREQ_PM\s+=>\s+(.+)|;         
-        
+        my ($found) = m|^[\#]\s+PREREQ_PM\s+=>\s+(.+)|;
+
         next unless $found;
-        
+
         while( $found =~ m/(?:\s)([\w\:]+)=>(?:q\[(.*?)\],?|undef)/g ) {
             if( defined $p{$1} ) {
                 my $ver = $cb->_version_to_number(version => $2);
@@ -496,7 +498,7 @@
                   if $cb->_vcmp( $ver, $p{$1} ) > 0;
             }
             else {
-                $p{$1} = $cb->_version_to_number(version => $2);                  
+                $p{$1} = $cb->_version_to_number(version => $2);
             }
         }
         last;
@@ -505,23 +507,23 @@
     my $href = $cb->_callbacks->filter_prereqs->( $cb, \%p );
 
     $self->status->prereqs( $href );
-    
+
     ### just to make sure it's not the same reference ###
-    return { %$href };                              
-}     
+    return { %$href };
+}
 
 =pod
 
 =head2 $bool = $dist->create([perl => '/path/to/perl', make => '/path/to/make', makeflags => 'EXTRA=FLAGS', prereq_target => TARGET, skiptest => BOOL, force => BOOL, verbose => BOOL])
 
-C<create> creates the files necessary for installation. This means 
-it will run C<make> and C<make test>.  This will also scan for and 
-attempt to satisfy any prerequisites the module may have. 
+C<create> creates the files necessary for installation. This means
+it will run C<make> and C<make test>.  This will also scan for and
+attempt to satisfy any prerequisites the module may have.
 
 If you set C<skiptest> to true, it will skip the C<make test> stage.
-If you set C<force> to true, it will go over all the stages of the 
-C<make> process again, ignoring any previously cached results. It 
-will also ignore a bad return value from C<make test> and still allow 
+If you set C<force> to true, it will go over all the stages of the
+C<make> process again, ignoring any previously cached results. It
+will also ignore a bad return value from C<make test> and still allow
 the operation to return true.
 
 Returns true on success and false on failure.
@@ -536,11 +538,11 @@
     ### just via a different dist object
     my $dist = shift;
     my $self = $dist->parent;
-    
+
     ### we're also the cpan_dist, since we don't need to have anything
-    ### prepared 
-    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;     
-    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;    
+    ### prepared
+    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;
+    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;
 
     my $cb   = $self->parent;
     my $conf = $cb->configure_object;
@@ -551,34 +553,36 @@
         error( loc( "No dir found to operate on!" ) );
         return;
     }
-    
+
     my $args;
-    my( $force, $verbose, $make, $makeflags, $skiptest, $prereq_target, $perl, 
+    my( $force, $verbose, $make, $makeflags, $skiptest, $prereq_target, $perl,
         @mmflags, $prereq_format, $prereq_build);
     {   local $Params::Check::ALLOW_UNKNOWN = 1;
         my $tmpl = {
             perl            => {    default => $^X, store => \$perl },
-            force           => {    default => $conf->get_conf('force'), 
+            force           => {    default => $conf->get_conf('force'),
                                     store   => \$force },
-            verbose         => {    default => $conf->get_conf('verbose'), 
+            verbose         => {    default => $conf->get_conf('verbose'),
                                     store   => \$verbose },
-            make            => {    default => $conf->get_program('make'), 
+            make            => {    default => $conf->get_program('make'),
                                     store   => \$make },
-            makeflags       => {    default => $conf->get_conf('makeflags'), 
+            makeflags       => {    default => $conf->get_conf('makeflags'),
                                     store   => \$makeflags },
-            skiptest        => {    default => $conf->get_conf('skiptest'), 
+            skiptest        => {    default => $conf->get_conf('skiptest'),
                                     store   => \$skiptest },
-            prereq_target   => {    default => '', store => \$prereq_target }, 
+            prereq_target   => {    default => '', store => \$prereq_target },
             ### don't set the default prereq format to 'makemaker' -- wrong!
             prereq_format   => {    #default => $self->status->installer_type,
                                     default => '',
-                                    store   => \$prereq_format },   
-            prereq_build    => {    default => 0, store => \$prereq_build },                                    
-        };                                            
+                                    store   => \$prereq_format },
+            prereq_build    => {    default => 0, store => \$prereq_build },
+        };
 
         $args = check( $tmpl, \%hash ) or return;
     }
-    
+
+    my @makeflags = $dist->_split_like_shell( $makeflags );
+
     ### maybe we already ran a create on this object?
     ### make sure we add to include path again, just in case we came from
     ### ->save_state, at which point we need to restore @INC/$PERL5LIB
@@ -585,18 +589,18 @@
     if( $dist->status->created && !$force ) {
         $self->add_to_includepath;
         return 1;
-    }        
-    
+    }
+
     ### store the arguments, so ->install can use them in recursive loops ###
     $dist->status->_create_args( $args );
-    
+
     unless( $dist->status->prepared ) {
         error( loc( "You have not successfully prepared a '%2' distribution ".
                     "yet -- cannot create yet", __PACKAGE__ ) );
         return;
     }
-    
-    
+
+
     ### chdir to work directory ###
     my $orig = cwd();
     unless( $cb->_chdir( dir => $dir ) ) {
@@ -603,11 +607,12 @@
         error( loc( "Could not chdir to build directory '%1'", $dir ) );
         return;
     }
-    
+
     my $fail; my $prereq_fail; my $test_fail;
+    my $status = { };
     RUN: {
         ### this will set the directory back to the start
-        ### dir, so we must chdir /again/           
+        ### dir, so we must chdir /again/
         my $ok = $dist->_resolve_prereqs(
                             format          => $prereq_format,
                             verbose         => $verbose,
@@ -616,40 +621,44 @@
                             force           => $force,
                             prereq_build    => $prereq_build,
                     );
-        
+
         unless( $cb->_chdir( dir => $dir ) ) {
             error( loc( "Could not chdir to build directory '%1'", $dir ) );
             return;
-        }       
-                  
+        }
+
         unless( $ok ) {
-       
+
             #### use $dist->flush to reset the cache ###
             error( loc( "Unable to satisfy prerequisites for '%1' " .
-                        "-- aborting install", $self->module ) );    
+                        "-- aborting install", $self->module ) );
             $dist->status->make(0);
             $fail++; $prereq_fail++;
             last RUN;
-        } 
-        ### end of prereq resolving ###    
-        
+        }
+        ### end of prereq resolving ###
+
         my $captured;
 
-        ### 'make' section ###    
+        ### 'make' section ###
         if( -d BLIB->($dir) && (-M BLIB->($dir) < -M $dir) && !$force ) {
             msg(loc("Already ran '%1' for this module [%2] -- " .
-                    "not running again unless you force", 
+                    "not running again unless you force",
                     $make, $self->module ), $verbose );
         } else {
-            unless(scalar run(  command => [$make, $makeflags],
+            unless(scalar run(  command => [$make, @makeflags],
                                 buffer  => \$captured,
-                                verbose => $verbose ) 
+                                verbose => $verbose )
             ) {
                 error( loc( "MAKE failed: %1 %2", $!, $captured ) );
+                if ( $conf->get_conf('cpantest') ) {
+                  $status->{stage} = 'build';
+                  $status->{capture} = $captured;
+                }
                 $dist->status->make(0);
                 $fail++; last RUN;
             }
-            
+
             ### put the output on the stack, don't print it
             msg( $captured, 0 );
 
@@ -657,12 +666,12 @@
 
             ### add this directory to your lib ###
             $self->add_to_includepath();
-            
+
             ### dont bail out here, there's a conditional later on
             #last RUN if $skiptest;
         }
-        
-        ### 'make test' section ###                                           
+
+        ### 'make test' section ###
         unless( $skiptest ) {
 
             ### turn off our PERL5OPT so no modules from CPANPLUS::inc get
@@ -673,17 +682,17 @@
             #local $ENV{PERL5OPT} = CPANPLUS::inc->original_perl5opt || '';
 
             ### you can turn off running this verbose by changing
-            ### the config setting below, although it is really not 
+            ### the config setting below, although it is really not
             ### recommended
-            my $run_verbose =   
-                        $verbose || 
+            my $run_verbose =
+                        $verbose ||
                         $conf->get_conf('allow_build_interactivity') ||
                         0;
 
-            ### XXX need to add makeflags here too? 
+            ### XXX need to add makeflags here too?
             ### yes, but they should really be split out -- see bug #4143
-            if( scalar run( 
-                        command => [$make, 'test', $makeflags],
+            if( scalar run(
+                        command => [$make, 'test', @makeflags],
                         buffer  => \$captured,
                         verbose => $run_verbose,
             ) ) {
@@ -695,47 +704,59 @@
                 } else {
                     msg( loc( "MAKE TEST passed: %1", $captured ), 0 );
                 }
-            
+
+                if ( $conf->get_conf('cpantest') ) {
+                  $status->{stage} = 'test';
+                  $status->{capture} = $captured;
+                }
+
                 $dist->status->test(1);
             } else {
-                error( loc( "MAKE TEST failed: %1", $captured ) );
-            
+                error( loc( "MAKE TEST failed: %1", $captured ), ( $run_verbose ? 0 : 1 ) );
+
+                if ( $conf->get_conf('cpantest') ) {
+                  $status->{stage} = 'test';
+                  $status->{capture} = $captured;
+                }
+
                 ### send out error report here? or do so at a higher level?
                 ### --higher level --kane.
                 $dist->status->test(0);
-               
+
                 ### mark specifically *test* failure.. so we dont
                 ### send success on force...
                 $test_fail++;
-                
+
                 if( !$force and !$cb->_callbacks->proceed_on_test_failure->(
-                                      $self, $captured ) 
+                                      $self, $captured )
                 ) {
-                    $fail++; last RUN;     
+                    $fail++; last RUN;
                 }
             }
         }
     } #</RUN>
-      
+
     unless( $cb->_chdir( dir => $orig ) ) {
         error( loc( "Could not chdir back to start dir '%1'", $orig ) );
-    }  
-    
+    }
+
+    ### TODO: Add $stage to _send_report()
     ### send out test report?
     ### only do so if the failure is this module, not its prereq
     if( $conf->get_conf('cpantest') and not $prereq_fail) {
-        $cb->_send_report( 
+        $cb->_send_report(
             module  => $self,
             failed  => $test_fail || $fail,
             buffer  => CPANPLUS::Error->stack_as_string,
+            status  => $status,
             verbose => $verbose,
             force   => $force,
         ) or error(loc("Failed to send test report for '%1'",
                     $self->module ) );
-    }            
-            
+    }
+
     return $dist->status->created( $fail ? 0 : 1);
-} 
+}
 
 =pod
 
@@ -744,7 +765,7 @@
 C<install> runs the following command:
     make install
 
-Returns true on success, false on failure.    
+Returns true on success, false on failure.
 
 =cut
 
@@ -754,45 +775,45 @@
     ### to the same module object
     my $dist = shift();
     my $self = $dist->parent;
-    $dist    = $self->status->dist_cpan if $self->status->dist_cpan;       
-   
+    $dist    = $self->status->dist_cpan if $self->status->dist_cpan;
+
     my $cb   = $self->parent;
     my $conf = $cb->configure_object;
     my %hash = @_;
-    
-    
+
+
     unless( $dist->status->created ) {
         error(loc("You have not successfully created a '%2' distribution yet " .
                   "-- cannot install yet", __PACKAGE__ ));
         return;
     }
- 
+
     my $dir;
     unless( $dir = $self->status->extract ) {
         error( loc( "No dir found to operate on!" ) );
         return;
     }
-    
+
     my $args;
     my($force,$verbose,$make,$makeflags);
     {   local $Params::Check::ALLOW_UNKNOWN = 1;
         my $tmpl = {
-            force       => {    default => $conf->get_conf('force'), 
+            force       => {    default => $conf->get_conf('force'),
                                 store   => \$force },
-            verbose     => {    default => $conf->get_conf('verbose'), 
+            verbose     => {    default => $conf->get_conf('verbose'),
                                 store   => \$verbose },
-            make        => {    default => $conf->get_program('make'), 
+            make        => {    default => $conf->get_program('make'),
                                 store   => \$make },
-            makeflags   => {    default => $conf->get_conf('makeflags'), 
+            makeflags   => {    default => $conf->get_conf('makeflags'),
                                 store   => \$makeflags },
-        };      
-    
+        };
+
         $args = check( $tmpl, \%hash ) or return;
     }
 
     ### value set and false -- means failure ###
-    if( defined $self->status->installed && 
-        !$self->status->installed && !$force 
+    if( defined $self->status->installed &&
+        !$self->status->installed && !$force
     ) {
         error( loc( "Module '%1' has failed to install before this session " .
                     "-- aborting install", $self->module ) );
@@ -799,21 +820,22 @@
         return;
     }
 
-            
+    my @makeflags = $dist->_split_like_shell( $makeflags );
+
     $dist->status->_install_args( $args );
-    
+
     my $orig = cwd();
     unless( $cb->_chdir( dir => $dir ) ) {
         error( loc( "Could not chdir to build directory '%1'", $dir ) );
         return;
     }
-    
+
     my $fail; my $captured;
-    
+
     ### 'make install' section ###
-    ### XXX need makeflags here too? 
+    ### XXX need makeflags here too?
     ### yes, but they should really be split out.. see bug #4143
-    my $cmd     = [$make, 'install', $makeflags];
+    my $cmd     = [$make, 'install', @makeflags];
     my $sudo    = $conf->get_program('sudo');
     unshift @$cmd, $sudo if $sudo and $>;
 
@@ -821,20 +843,20 @@
     unless(scalar run(  command => $cmd,
                         verbose => $verbose,
                         buffer  => \$captured,
-    ) ) {                   
+    ) ) {
         error( loc( "MAKE INSTALL failed: %1 %2", $!, $captured ) );
-        $fail++; 
-    }       
+        $fail++;
+    }
 
     ### put the output on the stack, don't print it
     msg( $captured, 0 );
-    
+
     unless( $cb->_chdir( dir => $orig ) ) {
         error( loc( "Could not chdir back to start dir '%1'", $orig ) );
-    }   
-    
+    }
+
     return $dist->status->installed( $fail ? 0 : 1 );
-    
+
 }
 
 =pod
@@ -841,13 +863,13 @@
 
 =head2 $bool = $dist->write_makefile_pl([force => BOOL, verbose => BOOL])
 
-This routine can write a C<Makefile.PL> from the information in a 
+This routine can write a C<Makefile.PL> from the information in a
 module object. It is used to write a C<Makefile.PL> when the original
 author forgot it (!!).
 
 Returns 1 on success and false on failure.
 
-The file gets written to the directory the module's been extracted 
+The file gets written to the directory the module's been extracted
 to.
 
 =cut
@@ -857,9 +879,9 @@
     ### just via a different dist object
     my $dist = shift;
     my $self = $dist->parent;
-    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;     
-    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;    
- 
+    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;
+    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;
+
     my $cb   = $self->parent;
     my $conf = $cb->configure_object;
     my %hash = @_;
@@ -869,23 +891,23 @@
         error( loc( "No dir found to operate on!" ) );
         return;
     }
-    
+
     my ($force, $verbose);
     my $tmpl = {
-        force           => {    default => $conf->get_conf('force'),   
+        force           => {    default => $conf->get_conf('force'),
                                 store => \$force },
-        verbose         => {    default => $conf->get_conf('verbose'), 
-                                store => \$verbose },   
-    };                                          
+        verbose         => {    default => $conf->get_conf('verbose'),
+                                store => \$verbose },
+    };
 
-    my $args = check( $tmpl, \%hash ) or return;    
-    
+    my $args = check( $tmpl, \%hash ) or return;
+
     my $file = MAKEFILE_PL->($dir);
     if( -s $file && !$force ) {
-        msg(loc("Already created '%1' - not doing so again without force", 
+        msg(loc("Already created '%1' - not doing so again without force",
                 $file ), $verbose );
         return 1;
-    }     
+    }
 
     ### due to a bug with AS perl 5.8.4 built 810 (and maybe others)
     ### opening files with content in them already does nasty things;
@@ -899,58 +921,58 @@
         error( loc( "Could not create file '%1': %2", $file, $! ) );
         return;
     }
-    
+
     my $mf      = MAKEFILE_PL->();
     my $name    = $self->module;
     my $version = $self->version;
     my $author  = $self->author->author;
     my $href    = $self->status->prereqs;
-    my $prereqs = join ",\n", map { 
-                                (' ' x 25) . "'$_'\t=> '$href->{$_}'" 
-                            } keys %$href;  
-    $prereqs ||= ''; # just in case there are none;                         
-                             
+    my $prereqs = join ",\n", map {
+                                (' ' x 25) . "'$_'\t=> '$href->{$_}'"
+                            } keys %$href;
+    $prereqs ||= ''; # just in case there are none;
+
     print $fh qq|
     ### Auto-generated $mf by CPANPLUS ###
-    
+
     use ExtUtils::MakeMaker;
-    
+
     WriteMakefile(
         NAME        => '$name',
         VERSION     => '$version',
         AUTHOR      => '$author',
         PREREQ_PM   => {
-$prereqs                       
+$prereqs
                     },
     );
-    \n|;   
-    
+    \n|;
+
     $fh->close;
     return 1;
-}                         
-        
+}
+
 sub dist_dir {
     ### just in case you already did a call for this module object
     ### just via a different dist object
     my $dist = shift;
     my $self = $dist->parent;
-    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;     
-    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;    
- 
+    $dist    = $self->status->dist_cpan if      $self->status->dist_cpan;
+    $self->status->dist_cpan( $dist )   unless  $self->status->dist_cpan;
+
     my $cb   = $self->parent;
     my $conf = $cb->configure_object;
     my %hash = @_;
-    
+
     my $make; my $verbose;
     {   local $Params::Check::ALLOW_UNKNOWN = 1;
         my $tmpl = {
             make    => {    default => $conf->get_program('make'),
-                                    store => \$make },                 
-            verbose => {    default => $conf->get_conf('verbose'), 
+                                    store => \$make },
+            verbose => {    default => $conf->get_conf('verbose'),
                                     store   => \$verbose },
-        };  
-    
-        check( $tmpl, \%hash ) or return;    
+        };
+
+        check( $tmpl, \%hash ) or return;
     }
 
 
@@ -959,7 +981,7 @@
         error( loc( "No dir found to operate on!" ) );
         return;
     }
-    
+
     ### chdir to work directory ###
     my $orig = cwd();
     unless( $cb->_chdir( dir => $dir ) ) {
@@ -968,14 +990,14 @@
     }
 
     my $fail; my $distdir;
-    TRY: {    
+    TRY: {
         $dist->prepare( @_ ) or (++$fail, last TRY);
 
 
-        my $captured;             
+        my $captured;
             unless(scalar run(  command => [$make, 'distdir'],
                             buffer  => \$captured,
-                            verbose => $verbose ) 
+                            verbose => $verbose )
         ) {
             error( loc( "MAKE DISTDIR failed: %1 %2", $!, $captured ) );
             ++$fail, last TRY;
@@ -998,9 +1020,20 @@
 
     return if $fail;
     return $distdir;
-}    
+}
 
+sub _split_like_shell {
+  my ($self, $string) = @_;
 
+  return () unless defined($string);
+  return @$string if ref $string eq 'ARRAY';
+  $string =~ s/^\s+|\s+$//g;
+  return () unless length($string);
+
+  require Text::ParseWords;
+  return Text::ParseWords::shellwords($string);
+}
+
 1;
 
 # Local variables:


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/MM.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Sample.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Sample.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Sample.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,9 @@
 package CPANPLUS::Dist::Sample;
+use deprecate;
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 =pod
 
 =head1 NAME


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist/Sample.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Dist;
+use deprecate;
 
 use strict;
 
@@ -14,6 +15,9 @@
 use Module::Load::Conditional   qw[can_load check_install];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 use base 'Object::Accessor';
 
 local $Params::Check::VERBOSE = 1;
@@ -22,7 +26,7 @@
 
 =head1 NAME
 
-CPANPLUS::Dist
+CPANPLUS::Dist - base class for plugins
 
 =head1 SYNOPSIS
 
@@ -313,7 +317,7 @@
         defaults => $mod->status->$meth || {},
       );
 
-      my @possibles = do { defined $mod->status->extract 
+      my @possibles = do { defined $mod->status->extract
                            ? ( META_JSON->( $mod->status->extract ),
                                META_YML->( $mod->status->extract ) )
                            : ()
@@ -363,7 +367,7 @@
         defaults => $mod->status->$meth || {},
       );
 
-      my @possibles = do { defined $mod->status->extract 
+      my @possibles = do { defined $mod->status->extract
                            ? ( MYMETA_JSON->( $mod->status->extract ),
                                MYMETA_YML->( $mod->status->extract ) )
                            : ()
@@ -418,6 +422,9 @@
 
         ### Parse::CPAN::Meta uses exceptions for errors
         ### hash returned in list context!!!
+
+        local $ENV{PERL_JSON_BACKEND};
+
         my ($doc) = eval { Parse::CPAN::Meta::LoadFile( $meta ) };
 
         unless( $doc ) {
@@ -465,6 +472,9 @@
 
         ### Parse::CPAN::Meta uses exceptions for errors
         ### hash returned in list context!!!
+
+        local $ENV{PERL_JSON_BACKEND};
+
         my ($doc) = eval { Parse::CPAN::Meta->load_file( $meta ) };
 
         unless( $doc ) {
@@ -523,7 +533,7 @@
     my $conf = $cb->configure_object;
     my %hash = @_;
 
-    my ($prereqs, $format, $verbose, $target, $force, $prereq_build);
+    my ($prereqs, $format, $verbose, $target, $force, $prereq_build,$tolerant);
     my $tmpl = {
         ### XXX perhaps this should not be required, since it may not be
         ### packaged, just installed...
@@ -543,6 +553,8 @@
         target          => { default => '', store => \$target,
                                 allow => ['',qw[create ignore install]] },
         prereq_build    => { default => 0, store => \$prereq_build },
+        tolerant        => { default => $conf->get_conf('allow_unknown_prereqs'),
+                                store => \$tolerant },
     };
 
     check( $tmpl, \%hash ) or return;
@@ -594,6 +606,8 @@
     ### list of module objects + desired versions
     my @install_me;
 
+    my $flag;
+
     for my $mod ( @sorted_prereqs ) {
         ( my $version = $prereqs->{$mod} ) =~ s#[^0-9\._]+##g;
 
@@ -600,11 +614,7 @@
         ### 'perl' is a special case, there's no mod object for it
         if( $mod eq PERL_CORE ) {
 
-            ### run a CLI invocation to see if the perl you specified is
-            ### uptodate
-            my $ok = run( command => "$^X -M$version -e1", verbose => 0 );
-
-            unless( $ok ) {
+            unless( $cb->_vcmp( sprintf('v%vd',$^V), $version ) >= 0 ) {
                 error(loc(  "Module '%1' needs perl version '%2', but you ".
                             "only have version '%3' -- can not proceed",
                             $self->module, $version,
@@ -626,6 +636,7 @@
             my $core = $sub->( $mod );
             unless ( defined $core ) {
                error( loc( "No such module '%1' found on CPAN", $mod ) );
+               $flag++ unless $tolerant;
                next;
             }
             if ( $cb->_vcmp( $version, $core ) > 0 ) {
@@ -684,7 +695,6 @@
         }
     }
 
-    my $flag;
     for my $aref (@install_me) {
         my($modobj,$version) = @$aref;
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Dist.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Error.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Error.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Error.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,9 @@
 package CPANPLUS::Error;
+use deprecate;
 
 use strict;
+use vars qw[$VERSION];
+$VERSION = "0.9135";
 
 use Log::Message private => 0;;
 
@@ -8,7 +11,7 @@
 
 =head1 NAME
 
-CPANPLUS::Error
+CPANPLUS::Error - error handling for CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -79,17 +82,17 @@
 
     for my $func ( @EXPORT ) {
         no strict 'refs';
-        
+
         my $prefix  = 'cp_';
         my $name    = $func;
         $name       =~ s/^$prefix//g;
-        
+
         *$func = sub {
                         my $msg     = shift;
-                        
+
                         ### no point storing non-messages
                         return unless defined $msg;
-                        
+
                         $log->store(
                                 message => $msg,
                                 tag     => uc $name,
@@ -143,7 +146,8 @@
 $ERROR_FH   = \*STDERR;
 $MSG_FH     = \*STDOUT;
 
-package Log::Message::Handlers;
+package # Hide from Pause
+  Log::Message::Handlers;
 use Carp ();
 
 {


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Error.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/FAQ.pod
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,10 @@
 
 =head1 NAME
 
+CPANPLUS::FAQ - CPANPLUS Frequently Asked Questions
+
+=head1 NAME
+
 CPANPLUS::FAQ
 
 =head1 DESCRIPTION
@@ -20,10 +24,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Hacking.pod
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Hacking.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Hacking.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 =head1 NAME
 
-CPANPLUS::Hacking
+CPANPLUS::Hacking - developing CPANPLUS
 
 =head1 DESCRIPTION
 
@@ -14,8 +14,8 @@
 
 =head1 OBTAINING CPANPLUS
 
-Checkout CPANPLUS from its Subversion repository at 
-L<http://oss.dwim.org/cpanplus-devel> .
+Checkout CPANPLUS from its GIT repository at
+L<https://github.com/jib/cpanplus-devel> .
 
 =head1 INSTALLING CPANPLUS
 
@@ -73,7 +73,7 @@
 sure you have the B<latest> development snapshot, and the bug still
 persists there. If so, report the bug to this address:
 
-    cpanplus-devel at lists.sourceforge.net
+    bug-cpanplus at rt.cpan.org
 
 A good C<patch> would have the following characteristics:
 
@@ -115,7 +115,7 @@
 
 =item * Including patches for code + tests + docs
 
-=item * Sent per mail to cpanplus-devel at lists.sourceforge.net
+=item * Sent per mail to bug-cpanplus at rt.cpan.org
 
 =item * With subject containing C<[PATCH]> + description of the patch
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Hacking.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants/Report.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants/Report.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants/Report.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Constants::Report;
+use deprecate;
 
 use strict;
 use CPANPLUS::Error;
@@ -14,11 +15,10 @@
 ### for the version
 require CPANPLUS::Internals;
 
-$VERSION    = $CPANPLUS::Internals::VERSION = $CPANPLUS::Internals::VERSION;
+$VERSION = "0.9135";
 @ISA        = qw[Exporter];
 @EXPORT     = Package::Constants->list( __PACKAGE__ );
 
-
 ### OS to regex map ###
 my %OS = (
     Amiga       => 'amigaos',
@@ -100,7 +100,7 @@
                                     return 1;
                                 }
                                 return 0;
-                          };                                            
+                          };
 
 use constant PERL_VERSION_TOO_LOW
                             => sub {
@@ -116,7 +116,7 @@
                                     return 1;
                                 }
                                 return 0;
-                          };                                            
+                          };
 
 use constant NO_TESTS_DEFINED
                             => sub {
@@ -125,10 +125,10 @@
                                   /(No tests defined( for [\w:]+ extension)?\.)/
                                   and $buffer !~ /\*\.t/m and
                                       $buffer !~ /test\.pl/m
-                                ) { 
-                                    return $1 
+                                ) {
+                                    return $1
                                 }
-                                
+
                                 return;
                             };
 
@@ -149,8 +149,8 @@
                                 my @list = map { s/.pm$//; s|/|::|g; $_ }
                                     ($last =~
                                         m/\bCan\'t locate (\S+) in \@INC/g);
-                                
-                                ### make sure every missing prereq is only 
+
+                                ### make sure every missing prereq is only
                                 ### listed once
                                 {   my %seen;
                                     @list = grep { !$seen{$_}++ } @list
@@ -162,7 +162,7 @@
 use constant MISSING_EXTLIBS_LIST
                             => sub {
                                 my $buffer = shift;
-                                my @list = 
+                                my @list =
                                     ($buffer =~
                                         m/No library found for -l([-\w]+)/g);
 
@@ -175,9 +175,9 @@
                                 return << ".";
 
 Dear $author,
-    
+
 This is a computer-generated error report created automatically by
-CPANPLUS, version $version. Testers personal comments may appear 
+CPANPLUS, version $version. Testers personal comments may appear
 at the end of this report.
 
 .
@@ -200,15 +200,32 @@
 .
                             };
 
+use constant REPORT_MESSAGE_PASS_HEADER
+                            => sub {
+                                my($stage, $buffer) = @_;
+                                return << ".";
+
+Thank you for uploading your work to CPAN.  Congratulations!
+All tests were successful.
+
+TEST RESULTS:
+
+Below is the error stack from stage '$stage':
+
+$buffer
+
+.
+                            };
+
 use constant REPORT_MISSING_PREREQS
                             => sub {
                                 my ($author,$email, at missing) = @_;
-                                $author = ($author && $email) 
-                                            ? "$author ($email)" 
+                                $author = ($author && $email)
+                                            ? "$author ($email)"
                                             : 'Your Name Here';
-                                
+
                                 my $modules = join "\n", @missing;
-                                my $prereqs = join "\n", 
+                                my $prereqs = join "\n",
                                     map {"\t'$_'\t=> '0',".
                                          " # or a minimum working version"}
                                     @missing;
@@ -242,7 +259,7 @@
                                 return << ".";
 RECOMMENDATIONS:
 
-It would be very helpful if you could include even a simple test 
+It would be very helpful if you could include even a simple test
 script in the next release, so people can verify which platforms
 can successfully install them, as well as avoid regression bugs?
 
@@ -266,7 +283,7 @@
 .
                             };
 
-use constant REPORT_LOADED_PREREQS 
+use constant REPORT_LOADED_PREREQS
                             => sub {
                                 my $mod = shift;
                                 my $cb  = $mod->parent;
@@ -274,13 +291,13 @@
 
                                 ### not every prereq may be coming from CPAN
                                 ### so maybe we wont find it in our module
-                                ### tree at all... 
+                                ### tree at all...
                                 ### skip ones that cant be found in teh list
                                 ### as reported in #12723
                                 my @prq = grep { defined }
                                           map { $cb->module_tree($_) }
                                           sort keys %$prq;
-                                
+
                                 ### no prereqs?
                                 return '' unless @prq;
 
@@ -288,19 +305,19 @@
                                 my $str = << ".";
 PREREQUISITES:
 
-Here is a list of prerequisites you specified and versions we 
+Here is a list of prerequisites you specified and versions we
 managed to load:
-                                
+
 .
-                                $str .= join '', 
-                                        map { sprintf "\t%s %-30s %8s %8s\n", 
+                                $str .= join '',
+                                        map { sprintf "\t%s %-30s %8s %8s\n",
                                               @$_
-                                        
+
                                         } [' ', 'Module Name', 'Have', 'Want'],
                                           map { my $want = $prq->{$_->name};
-                                              [ do { $_->is_uptodate( 
+                                              [ do { $_->is_uptodate(
                                                     version => $want
-                                                   ) ? ' ' : '!' 
+                                                   ) ? ' ' : '!'
                                                 },
                                                 $_->name,
                                                 $_->installed_version,
@@ -307,8 +324,8 @@
                                                 $want
                                               ],
                                         ### might be empty entries in there
-                                        } grep { $_ } @prq;   
-                                
+                                        } grep { $_ } @prq;
+
                                 return $str;
                             };
 
@@ -330,6 +347,8 @@
                                     ExtUtils::ParseXS
                                     File::Spec
                                     Module::Build
+                                    Pod::Parser
+                                    Pod::Simple
                                     Test::Harness
                                     Test::More
                                     version
@@ -348,10 +367,10 @@
 
 Perl module toolchain versions installed:
 .
-                                $str .= join '', 
-                                        map { sprintf "\t%-30s %8s\n", 
+                                $str .= join '',
+                                        map { sprintf "\t%-30s %8s\n",
                                               @$_
-                                        
+
                                         } ['Module Name', 'Have'],
                                           map {
                                               [ $_->name,
@@ -358,13 +377,13 @@
                                                 $_->installed_version,
                                               ],
                                         ### might be empty entries in there
-                                        } @toolchain;   
-                                
+                                        } @toolchain;
+
                                 return $str;
                             };
 
 
-use constant REPORT_TESTS_SKIPPED 
+use constant REPORT_TESTS_SKIPPED
                             => sub {
                                 return << ".";
 
@@ -376,7 +395,7 @@
 
 .
                             };
-                            
+
 use constant REPORT_MESSAGE_FOOTER
                             => sub {
                                 return << ".";
@@ -384,7 +403,7 @@
 ******************************** NOTE ********************************
 The comments above are created mechanically, possibly without manual
 checking by the sender.  As there are many people performing automatic
-tests on each upload to CPAN, it is likely that you will receive 
+tests on each upload to CPAN, it is likely that you will receive
 identical messages about the same problem.
 
 If you believe that the message is mistaken, please reply to the first
@@ -393,7 +412,7 @@
 **********************************************************************
 
 Additional comments:
- 
+
 .
                              };
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants/Report.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Constants;
+use deprecate;
 
 use strict;
 
@@ -13,18 +14,18 @@
 
 use Package::Constants;
 
+$VERSION = "0.9135";
 @ISA        = qw[Exporter];
 @EXPORT     = Package::Constants->list( __PACKAGE__ );
 
-
 sub constants { @EXPORT };
 
 use constant INSTALLER_BUILD
                             => 'CPANPLUS::Dist::Build';
-use constant INSTALLER_MM   => 'CPANPLUS::Dist::MM';    
-use constant INSTALLER_SAMPLE   
+use constant INSTALLER_MM   => 'CPANPLUS::Dist::MM';
+use constant INSTALLER_SAMPLE
                             => 'CPANPLUS::Dist::Sample';
-use constant INSTALLER_BASE => 'CPANPLUS::Dist::Base';  
+use constant INSTALLER_BASE => 'CPANPLUS::Dist::Base';
 use constant INSTALLER_AUTOBUNDLE
                             => 'CPANPLUS::Dist::Autobundle';
 
@@ -50,26 +51,26 @@
 use constant ON_CYGWIN      => $^O eq 'cygwin';
 use constant ON_VMS         => $^O eq 'VMS';
 
-use constant DOT_CPANPLUS   => ON_VMS ? '_cpanplus' : '.cpanplus'; 
+use constant DOT_CPANPLUS   => ON_VMS ? '_cpanplus' : '.cpanplus';
 
 use constant OPT_AUTOFLUSH  => '-MCPANPLUS::Internals::Utils::Autoflush';
 
 use constant UNKNOWN_DL_LOCATION
-                            => 'UNKNOWN-ORIGIN';   
+                            => 'UNKNOWN-ORIGIN';
 
 use constant NMAKE          => 'nmake.exe';
-use constant NMAKE_URL      => 
+use constant NMAKE_URL      =>
                         'ftp://ftp.microsoft.com/Softlib/MSLFILES/nmake15.exe';
 
-use constant INSTALL_VIA_PACKAGE_MANAGER 
+use constant INSTALL_VIA_PACKAGE_MANAGER
                             => sub { my $fmt = $_[0] or return;
                                      return 1 if $fmt ne INSTALLER_BUILD and
                                                  $fmt ne INSTALLER_MM;
-                            };                                                 
+                            };
 
 use constant IS_CODEREF     => sub { ref $_[-1] eq 'CODE' };
-use constant IS_MODOBJ      => sub { UNIVERSAL::isa($_[-1], 
-                                            'CPANPLUS::Module') }; 
+use constant IS_MODOBJ      => sub { UNIVERSAL::isa($_[-1],
+                                            'CPANPLUS::Module') };
 use constant IS_FAKE_MODOBJ => sub { UNIVERSAL::isa($_[-1],
                                             'CPANPLUS::Module::Fake') };
 use constant IS_AUTHOBJ     => sub { UNIVERSAL::isa($_[-1],
@@ -83,48 +84,48 @@
 
 use constant IS_RVOBJ       => sub { UNIVERSAL::isa($_[-1],
                                             'CPANPLUS::Backend::RV') };
-                                            
+
 use constant IS_INTERNALS_OBJ
                             => sub { UNIVERSAL::isa($_[-1],
-                                            'CPANPLUS::Internals') };                                            
-                                            
-use constant IS_FILE        => sub { return 1 if -e $_[-1] };                                            
+                                            'CPANPLUS::Internals') };
 
-use constant FILE_EXISTS    => sub {  
+use constant IS_FILE        => sub { return 1 if -e $_[-1] };
+
+use constant FILE_EXISTS    => sub {
                                     my $file = $_[-1];
                                     return 1 if IS_FILE->($file);
-                                    local $Carp::CarpLevel = 
+                                    local $Carp::CarpLevel =
                                             $Carp::CarpLevel+2;
                                     error(loc(  q[File '%1' does not exist],
                                                 $file));
                                     return;
-                            };    
+                            };
 
-use constant FILE_READABLE  => sub {  
+use constant FILE_READABLE  => sub {
                                     my $file = $_[-1];
                                     return 1 if -e $file && -r _;
-                                    local $Carp::CarpLevel = 
+                                    local $Carp::CarpLevel =
                                             $Carp::CarpLevel+2;
                                     error( loc( q[File '%1' is not readable ].
                                                 q[or does not exist], $file));
                                     return;
-                            };    
+                            };
 use constant IS_DIR         => sub { return 1 if -d $_[-1] };
 
-use constant DIR_EXISTS     => sub { 
+use constant DIR_EXISTS     => sub {
                                     my $dir = $_[-1];
                                     return 1 if IS_DIR->($dir);
-                                    local $Carp::CarpLevel = 
-                                            $Carp::CarpLevel+2;                                    
+                                    local $Carp::CarpLevel =
+                                            $Carp::CarpLevel+2;
                                     error(loc(q[Dir '%1' does not exist],
                                             $dir));
                                     return;
-                            };   
-                    
-                            ### On VMS, if the $Config{make} is either MMK 
+                            };
+
+                            ### On VMS, if the $Config{make} is either MMK
                             ### or MMS, then the makefile is 'DESCRIP.MMS'.
 use constant MAKEFILE       => sub { my $file =
-                                        (ON_VMS and 
+                                        (ON_VMS and
                                          $Config::Config{make} =~ /MM[S|K]/i)
                                             ? 'DESCRIP.MMS'
                                             : 'Makefile';
@@ -132,27 +133,27 @@
                                     return @_
                                         ? File::Spec->catfile( @_, $file )
                                         : $file;
-                            };                   
+                            };
 use constant MAKEFILE_PL    => sub { return @_
                                         ? File::Spec->catfile( @_,
                                                             'Makefile.PL' )
                                         : 'Makefile.PL';
-                            }; 
+                            };
 use constant BUILD_PL       => sub { return @_
                                         ? File::Spec->catfile( @_,
                                                             'Build.PL' )
                                         : 'Build.PL';
                             };
-                      
+
 use constant META_YML       => sub { return @_
                                         ? File::Spec->catfile( @_, 'META.yml' )
                                         : 'META.yml';
-                            }; 
+                            };
 
 use constant MYMETA_YML     => sub { return @_
                                         ? File::Spec->catfile( @_, 'MYMETA.yml' )
                                         : 'MYMETA.yml';
-                            }; 
+                            };
 
 use constant META_JSON       => sub { return @_
                                         ? File::Spec->catfile( @_, 'META.json' )
@@ -167,41 +168,45 @@
 use constant BLIB           => sub { return @_
                                         ? File::Spec->catfile(@_, 'blib')
                                         : 'blib';
-                            };                  
+                            };
 
 use constant LIB            => 'lib';
 use constant LIB_DIR        => sub { return @_
                                         ? File::Spec->catdir(@_, LIB)
                                         : LIB;
-                            }; 
-use constant AUTO           => 'auto';                            
+                            };
+use constant AUTO           => 'auto';
 use constant LIB_AUTO_DIR   => sub { return @_
                                         ? File::Spec->catdir(@_, LIB, AUTO)
                                         : File::Spec->catdir(LIB, AUTO)
-                            }; 
+                            };
 use constant ARCH           => 'arch';
 use constant ARCH_DIR       => sub { return @_
                                         ? File::Spec->catdir(@_, ARCH)
                                         : ARCH;
-                            }; 
+                            };
 use constant ARCH_AUTO_DIR  => sub { return @_
                                         ? File::Spec->catdir(@_,ARCH,AUTO)
                                         : File::Spec->catdir(ARCH,AUTO)
-                            };                            
+                            };
 
 use constant BLIB_LIBDIR    => sub { return @_
                                         ? File::Spec->catdir(
                                                 @_, BLIB->(), LIB )
                                         : File::Spec->catdir( BLIB->(), LIB );
-                            };  
+                            };
 
-use constant CONFIG_USER_LIB_DIR => sub { 
+use constant BIN            => 'bin';
+
+use constant SCRIPT         => 'script';
+
+use constant CONFIG_USER_LIB_DIR => sub {
                                     require CPANPLUS::Internals::Utils;
                                     LIB_DIR->(
                                         CPANPLUS::Internals::Utils->_home_dir,
                                         DOT_CPANPLUS
                                     );
-                                };        
+                                };
 use constant CONFIG_USER_FILE    => sub {
                                     File::Spec->catfile(
                                         CONFIG_USER_LIB_DIR->(),
@@ -214,13 +219,13 @@
                                     my $dir = File::Basename::dirname(
                                         $INC{'CPANPLUS/Internals.pm'}
                                     );
-                                
+
                                     ### XXX use constants
-                                    File::Spec->catfile( 
+                                    File::Spec->catfile(
                                         $dir, qw[Config System.pm]
                                     );
-                                };        
-      
+                                };
+
 use constant README         => sub { my $obj = $_[0];
                                      my $pkg = $obj->package_name;
                                      $pkg .= '-' . $obj->package_version .
@@ -234,8 +239,8 @@
                                      $pkg .= '-' . $obj->package_version .
                                              '.' . META_EXT;
                                      return $pkg;
-                            };                          
-                            
+                            };
+
 use constant OPEN_FILE      => sub {
                                     my($file, $mode) = (@_, '');
                                     my $fh;
@@ -245,23 +250,23 @@
                                              $file, $!));
                                     return $fh if $fh;
                                     return;
-                            };      
-         
-use constant OPEN_DIR       => sub { 
+                            };
+
+use constant OPEN_DIR       => sub {
                                     my $dir = shift;
                                     my $dh;
                                     opendir $dh, $dir or error(loc(
                                         "Could not open dir '%1': %2", $dir, $!
                                     ));
-                                    
+
                                     return $dh if $dh;
                                     return;
                             };
 
-use constant READ_DIR       => sub { 
+use constant READ_DIR       => sub {
                                     my $dir = shift;
                                     my $dh  = OPEN_DIR->( $dir ) or return;
-                                    
+
                                     ### exclude . and ..
                                     my @files =  grep { $_ !~ /^\.{1,2}/ }
                                                     readdir($dh);
@@ -271,17 +276,17 @@
                                     if( ON_VMS ) {
                                         s/(?<!\^)\.$// for @files;
                                     }
-                                    
+
                                     return @files;
-                            };  
+                            };
 
-use constant STRIP_GZ_SUFFIX 
+use constant STRIP_GZ_SUFFIX
                             => sub {
                                     my $file = $_[0] or return;
                                     $file =~ s/.gz$//i;
                                     return $file;
-                            };            
-                                        
+                            };
+
 use constant CHECKSUMS      => 'CHECKSUMS';
 use constant PGP_HEADER     => '-----BEGIN PGP SIGNED MESSAGE-----';
 use constant ENV_CPANPLUS_CONFIG
@@ -288,10 +293,10 @@
                             => 'PERL5_CPANPLUS_CONFIG';
 use constant ENV_CPANPLUS_IS_EXECUTING
                             => 'PERL5_CPANPLUS_IS_EXECUTING';
-use constant DEFAULT_EMAIL  => 'cpanplus at example.com';   
+use constant DEFAULT_EMAIL  => 'cpanplus at example.com';
 use constant CPANPLUS_UA    => sub { ### for the version number ###
                                      require CPANPLUS::Internals;
-                                     "CPANPLUS/$CPANPLUS::Internals::VERSION" 
+                                     "CPANPLUS/$CPANPLUS::Internals::VERSION"
                                 };
 use constant TESTERS_URL    => sub {
                                     'http://cpantesters.org/distro/'.
@@ -301,15 +306,15 @@
                             => sub {
                                     'http://cpantesters.org/distro/'.
                                     uc(substr($_[0],0,1)) .'/'. $_[0];
-                                };         
+                                };
 
-use constant CREATE_FILE_URI    
-                            => sub { 
+use constant CREATE_FILE_URI
+                            => sub {
                                     my $dir = $_[0] or return;
-                                    return $dir =~ m|^/| 
+                                    return $dir =~ m|^/|
                                         ? 'file://'  . $dir
-                                        : 'file:///' . $dir;   
-                            };        
+                                        : 'file:///' . $dir;
+                            };
 
 use constant EMPTY_DSLIP    => '     ';
 
@@ -318,64 +323,65 @@
 
 use constant DOT_SHELL_DEFAULT_RC
                             => '.shell-default.rc';
-                            
+
 use constant SOURCE_SQLITE_DB
                             => 'db.sql';
 
-use constant PREREQ_IGNORE  => 0;                
+use constant PREREQ_IGNORE  => 0;
 use constant PREREQ_INSTALL => 1;
 use constant PREREQ_ASK     => 2;
 use constant PREREQ_BUILD   => 3;
 use constant BOOLEANS       => [0,1];
-use constant CALLING_FUNCTION   
+use constant CALLING_FUNCTION
                             => sub { my $lvl = $_[0] || 0;
-                                     return join '::', (caller(2+$lvl))[3] 
+                                     return join '::', (caller(2+$lvl))[3]
                                 };
 use constant PERL_CORE      => 'perl';
+use constant PERL_WRAPPER   => 'use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; }';
 use constant STORABLE_EXT   => '.stored';
 
 use constant GET_XS_FILES   => sub { my $dir = $_[0] or return;
                                      require File::Find;
                                      my @files;
-                                     File::Find::find( 
+                                     File::Find::find(
                                         sub { push @files, $File::Find::name
                                                 if $File::Find::name =~ /\.xs$/i
                                         }, $dir );
-                                           
+
                                      return @files;
-                                };  
+                                };
 
-use constant INSTALL_LOG_FILE 
+use constant INSTALL_LOG_FILE
                             => sub { my $obj  = shift or return;
                                      my $name = $obj->name; $name =~ s/::/-/g;
                                      $name .= '-'. $obj->version;
                                      $name .= '-'. scalar(time) . '.log';
                                      return $name;
-                                };                                        
+                                };
 
-use constant ON_OLD_CYGWIN  => do { ON_CYGWIN and $] < 5.008 
+use constant ON_OLD_CYGWIN  => do { ON_CYGWIN and $] < 5.008
                                     ? loc(
                                        "Your perl version for %1 is too low; ".
                                        "Require %2 or higher for this function",
                                        $^O, '5.8.0' )
-                                    : '';                                                                           
+                                    : '';
                                 };
 
 ### XXX these 2 are probably obsolete -- check & remove;
-use constant DOT_EXISTS     => '.exists'; 
+use constant DOT_EXISTS     => '.exists';
 
-use constant QUOTE_PERL_ONE_LINER 
+use constant QUOTE_PERL_ONE_LINER
                             => sub { my $line = shift or return;
 
                                      ### use double quotes on these systems
-                                     return qq["$line"] 
+                                     return qq["$line"]
                                         if ON_WIN32 || ON_NETWARE || ON_VMS;
 
                                      ### single quotes on the rest
                                      return qq['$line'];
-                            };   
+                            };
 
-1;              
+1;
 
 # Local variables:
 # c-indentation-style: bsd


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Extract.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Extract.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Extract.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Extract;
+use deprecate;
 
 use strict;
 
@@ -13,6 +14,9 @@
 use Module::Load::Conditional   qw[can_load check_install];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 local $Params::Check::VERBOSE = 1;
 
 =pod
@@ -19,21 +23,21 @@
 
 =head1 NAME
 
-CPANPLUS::Internals::Extract
+CPANPLUS::Internals::Extract - internals for archive extraction
 
 =head1 SYNOPSIS
 
     ### for source files ###
     $self->_gunzip( file => 'foo.gz', output => 'blah.txt' );
-    
+
     ### for modules/packages ###
-    $dir = $self->_extract( module      => $modobj, 
+    $dir = $self->_extract( module      => $modobj,
                             extractdir  => '/some/where' );
 
 =head1 DESCRIPTION
 
 CPANPLUS::Internals::Extract extracts compressed files for CPANPLUS.
-It can do this by either a pure perl solution (preferred) with the 
+It can do this by either a pure perl solution (preferred) with the
 use of C<Archive::Tar> and C<Compress::Zlib>, or with binaries, like
 C<gzip> and C<tar>.
 
@@ -47,7 +51,7 @@
 =head2 $dir = _extract( module => $modobj, [perl => '/path/to/perl', extractdir => '/path/to/extract/to', prefer_bin => BOOL, verbose => BOOL, force => BOOL] )
 
 C<_extract> will take a module object and extract it to C<extractdir>
-if provided, or the default location which is obtained from your 
+if provided, or the default location which is obtained from your
 config.
 
 The file name is obtained by looking at C<< $modobj->status->fetch >>
@@ -67,7 +71,7 @@
 
 =item extractdir
 
-The directory to extract the archive to. By default this looks 
+The directory to extract the archive to. By default this looks
 something like:
     /CPANPLUS_BASE/PERL_VERSION/BUILD/MODULE_NAME
 
@@ -105,14 +109,14 @@
     my $self = shift;
     my $conf = $self->configure_object;
     my %hash = @_;
-    
+
     local $Params::Check::ALLOW_UNKNOWN = 1;
-    
+
     my( $mod, $verbose, $force );
     my $tmpl = {
-        force       => { default => $conf->get_conf('force'),   
+        force       => { default => $conf->get_conf('force'),
                             store => \$force },
-        verbose     => { default => $conf->get_conf('verbose'), 
+        verbose     => { default => $conf->get_conf('verbose'),
                             store => \$verbose },
         prefer_bin  => { default => $conf->get_conf('prefer_bin') },
         extractdir  => { default => $conf->get_conf('extractdir') },
@@ -119,12 +123,12 @@
         module      => { required => 1, allow => IS_MODOBJ, store => \$mod },
         perl        => { default => $^X },
     };
-    
+
     my $args = check( $tmpl, \%hash ) or return;
-    
+
     ### did we already extract it ? ###
     my $loc = $mod->status->extract();
-    
+
     if( $loc && !$force ) {
         msg(loc("Already extracted '%1' to '%2'. ".
                 "Won't extract again without force",
@@ -135,7 +139,7 @@
     ### did we already fetch the file? ###
     my $file = $mod->status->fetch();
     unless( -s $file ) {
-        error( loc( "File '%1' has zero size: cannot extract", $file ) );    
+        error( loc( "File '%1' has zero size: cannot extract", $file ) );
         return;
     }
 
@@ -146,7 +150,7 @@
                         $self->_perl_version( perl => $args->{'perl'} ),
                         $conf->_get_build('moddir'),
                 );
- 
+
     ### delegate to Archive::Extract ###
     ### set up some flags for archive::extract ###
     local $Archive::Extract::PREFER_BIN = $args->{'prefer_bin'};
@@ -160,7 +164,7 @@
                     $file, $to, $ae->error ) );
         return;
     }
-    
+
     ### if ->files is not filled, we dont know what the hell was
     ### extracted.. try to offer a suggestion and bail :(
     unless ( $ae->files ) {
@@ -168,44 +172,44 @@
                     "files from the archive. Install '%2' and ensure ".
                     "it works properly and try again",
                     $ae->is_zip ? 'Archive::Zip' : 'Archive::Tar' ) );
-        return;                    
-    }                    
-    
-    
-    ### print out what files we extracted ###  
-    msg(loc("Extracted '%1'",$_),$verbose) for @{$ae->files};  
-    
+        return;
+    }
+
+
+    ### print out what files we extracted ###
+    msg(loc("Extracted '%1'",$_),$verbose) for @{$ae->files};
+
     ### set them all to be +w for the owner, so we don't get permission
     ### denied for overwriting files that are just +r
-    
+
     ### this is too rigorous -- just change to +w for the owner [cpan #13358]
     #chmod 0755, map { File::Spec->rel2abs( File::Spec->catdir($to, $_) ) }
     #            @{$ae->files};
-    
-    for my $file ( @{$ae->files} ) { 
+
+    for my $file ( @{$ae->files} ) {
         my $path = File::Spec->rel2abs( File::Spec->catfile($to, $file) );
-    
+
         $self->_mode_plus_w( file => $path );
     }
-    
+
     ### check the return value for the extracted path ###
     ### Make an educated guess if we didn't get an extract_path
     ### back
-    ### XXX apparently some people make their own dists and they 
-    ### pack up '.' which means the leading directory is '.' 
+    ### XXX apparently some people make their own dists and they
+    ### pack up '.' which means the leading directory is '.'
     ### and only the second directory is the actual module directory
-    ### so, we'll have to check if our educated guess exists first, 
+    ### so, we'll have to check if our educated guess exists first,
     ### then see if the extract path works.. and if nothing works...
     ### well, then we really don't know.
 
     my $dir;
     for my $try (
-        File::Spec->rel2abs( 
-            ### _safe_path must be called before catdir because catdir on 
+        File::Spec->rel2abs(
+            ### _safe_path must be called before catdir because catdir on
             ### VMS currently will not handle the extra dots in the directories.
-            File::Spec->catdir( $self->_safe_path( path => $to ) ,  
+            File::Spec->catdir( $self->_safe_path( path => $to ) ,
                                 $self->_safe_path( path =>
-                                             $mod->package_name .'-'. 
+                                             $mod->package_name .'-'.
                                              $mod->package_version
         ) ) ) ,
         File::Spec->rel2abs( $ae->extract_path ),
@@ -212,21 +216,21 @@
     ) {
         ($dir = $try) && last if -d $try;
     }
-                                            
+
     ### test if the dir exists ###
     unless( $dir && -d $dir ) {
         error(loc("Unable to determine extract dir for '%1'",$mod->module));
         return;
-    
-    } else {    
+
+    } else {
         msg(loc("Extracted '%1' to '%2'", $mod->module, $dir), $verbose);
-        
+
         ### register where we extracted the files to,
         ### also store what files were extracted
-        $mod->status->extract( $dir ); 
+        $mod->status->extract( $dir );
         $mod->status->files( $ae->files );
     }
-      
+
     ### also, figure out what kind of install we're dealing with ###
     $mod->get_installer_type();
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Extract.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Fetch.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Fetch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Fetch.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Fetch;
+use deprecate;
 
 use strict;
 
@@ -12,6 +13,8 @@
 use Params::Check               qw[check];
 use Module::Load::Conditional   qw[can_load];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
+use vars qw[$VERSION];
+$VERSION = "0.9135";
 
 $Params::Check::VERBOSE = 1;
 
@@ -19,7 +22,7 @@
 
 =head1 NAME
 
-CPANPLUS::Internals::Fetch
+CPANPLUS::Internals::Fetch - internals for fetching files
 
 =head1 SYNOPSIS
 
@@ -148,20 +151,20 @@
         ### do we already have the file? if so, can we use the cached version,
         ### or do we need to refetch?
         if( -e $local_file ) {
-        
+
             my $unlink      = 0;
             my $use_cached  = 0;
-            
+
             ### if force is in effect, we have to refetch
             if( $force ) {
                 $unlink++
-            
-            ### if you provided a ttl, and it was exceeded, we'll refetch, 
+
+            ### if you provided a ttl, and it was exceeded, we'll refetch,
             } elsif( $ttl and ([stat $local_file]->[9] + $ttl > time) ) {
                 msg(loc("Using cached file '%1' on disk; ".
                         "ttl (%2s) is not exceeded",
                         $local_file, $ttl), $verbose );
-    
+
                 $use_cached++;
 
             ### if you provided a ttl, and the above conditional didn't match,
@@ -168,26 +171,26 @@
             ### we exceeded the ttl, so we refetch
             } elsif ( $ttl ) {
                 $unlink++;
-            
+
             ### otherwise we can use the cached version
             } else {
                 $use_cached++;
-            }                
+            }
 
             if( $unlink ) {
                 ### some fetches will fail if the files exist already, so let's
                 ### delete them first
                 1 while unlink $local_file;
-                
+
                 msg(loc("Could not delete %1, some methods may " .
                         "fail to force a download", $local_file), $verbose)
                     if -e $local_file;
-            
+
             } else {
-    
+
                 ### store where we fetched it ###
                 $modobj->status->fetch( $local_file );
-    
+
                 return $local_file;
             }
         }
@@ -194,16 +197,16 @@
     }
 
 
-    ### we got a custom URI 
+    ### we got a custom URI
     if ( $fetch_from ) {
         my $abs = $self->__file_fetch(  from    => $fetch_from,
                                         to      => $local_path,
                                         verbose => $verbose );
-                                        
+
         unless( $abs ) {
             error(loc("Unable to download '%1'", $fetch_from));
             return;
-        }            
+        }
 
         ### store where we fetched it ###
         $modobj->status->fetch( $abs );
@@ -222,18 +225,18 @@
                 return;
             }
         }
-    
+
         ### see if we even have a host or a method to use to download with ###
         my $found_host;
         my @maybe_bad_host;
-    
+
         HOST: {
-            ### F*CKING PIECE OF F*CKING p4 SHIT makes 
+            ### F*CKING PIECE OF F*CKING p4 SHIT makes
             ### '$File :: Fetch::SOME_VAR'
             ### into a meta variable and starts substituting the file name...
             ### GRAAAAAAAAAAAAAAAAAAAAAAH!
             ### use ' to combat it!
-    
+
             ### set up some flags for File::Fetch ###
             local $File'Fetch::BLACKLIST    = $conf->_get_fetch('blacklist');
             local $File'Fetch::TIMEOUT      = $conf->get_conf('timeout');
@@ -242,41 +245,41 @@
             local $File'Fetch::FROM_EMAIL   = $conf->get_conf('email');
             local $File'Fetch::PREFER_BIN   = $conf->get_conf('prefer_bin');
             local $File'Fetch::WARN         = $verbose;
-    
-    
+
+
             ### loop over all hosts we have ###
             for my $host ( @{$conf->get_conf('hosts')} ) {
                 $found_host++;
-    
+
                 my $where;
 
                 ### file:// uris are special and need parsing
-                if( $host->{'scheme'} eq 'file' ) {    
-    
+                if( $host->{'scheme'} eq 'file' ) {
+
                     ### the full path in the native format of the OS
-                    my $host_spec = 
+                    my $host_spec =
                             File::Spec->file_name_is_absolute( $host->{'path'} )
                                 ? $host->{'path'}
                                 : File::Spec->rel2abs( $host->{'path'} );
-    
+
                     ### there might be volumes involved on vms/win32
                     if( ON_WIN32 or ON_VMS ) {
-                        
-                        ### now extract the volume in order to be Win32 and 
+
+                        ### now extract the volume in order to be Win32 and
                         ### VMS friendly.
                         ### 'no_file' indicates that there's no file part
                         ### of this path, so we only get 2 bits returned.
                         my ($vol, $host_path) = File::Spec->splitpath(
-                                                    $host_spec, 'no_file' 
+                                                    $host_spec, 'no_file'
                                                 );
-                        
+
                         ### and split up the directories
                         my @host_dirs = File::Spec->splitdir( $host_path );
-        
-                        ### if we got a volume we pretend its a directory for 
+
+                        ### if we got a volume we pretend its a directory for
                         ### the sake of the file:// url
                         if( defined $vol and $vol ) {
-    
+
                             ### D:\foo\bar needs to be encoded as D|\foo\bar
                             ### For details, see the following link:
                             ###   http://en.wikipedia.org/wiki/File://
@@ -284,10 +287,10 @@
                             ### descriptors but it does address VMS volume
                             ### descriptors, however wikipedia covers a bit of
                             ### history regarding win32
-                            $vol =~ s/:$/|/ if ON_WIN32; 
-                            
+                            $vol =~ s/:$/|/ if ON_WIN32;
+
                             $vol =~ s/:// if ON_VMS;
-    
+
                             ### XXX i'm not sure what cases this is addressing.
                             ### this comes straight from dmq's file:// patches
                             ### for win32. --kane
@@ -294,72 +297,72 @@
                             ### According to dmq, the best summary is:
                             ### "if file:// urls dont look right on VMS reuse
                             ### the win32 logic and see if that fixes things"
-             
+
                             ### first element not empty? Might happen on VMS.
                             ### prepend the volume in that case.
                             if( $host_dirs[0] ) {
                                 unshift @host_dirs, $vol;
-                            
+
                             ### element empty? reuse it to store the volume
                             ### encoded as a directory name. (Win32/VMS)
                             } else {
                                 $host_dirs[0] = $vol;
-                            }                    
+                            }
                         }
-        
+
                         ### now it's in UNIX format, which is the same format
                         ### as used for URIs
-                        $host_spec = File::Spec::Unix->catdir( @host_dirs ); 
+                        $host_spec = File::Spec::Unix->catdir( @host_dirs );
                     }
 
-                    ### now create the file:// uri from the components               
+                    ### now create the file:// uri from the components
                     $where = CREATE_FILE_URI->(
                                     File::Spec::Unix->catfile(
                                         $host->{'host'} || '',
                                         $host_spec,
                                         $remote_file,
-                                    )      
-                                );     
+                                    )
+                                );
 
                 ### its components will be in unix format, for a http://,
                 ### ftp:// or any other style of URI
-                } else {     
+                } else {
                     my $mirror_path = File::Spec::Unix->catfile(
                                             $host->{'path'}, $remote_file
                                         );
-    
+
                     my %args = ( scheme => $host->{scheme},
                                  host   => $host->{host},
                                  path   => $mirror_path,
                                 );
-                    
+
                     $where = $self->_host_to_uri( %args );
                 }
-    
-                my $abs = $self->__file_fetch(  from    => $where, 
+
+                my $abs = $self->__file_fetch(  from    => $where,
                                                 to      => $local_path,
-                                                verbose => $verbose );    
-                
+                                                verbose => $verbose );
+
                 ### we got a path back?
                 if( $abs ) {
                     ### store where we fetched it ###
                     $modobj->status->fetch( $abs );
-        
+
                     ### this host is good, the previous ones are apparently
                     ### not, so mark them as such.
                     $self->_add_fail_host( host => $_ ) for @maybe_bad_host;
-                        
+
                     return $abs;
                 }
-                
+
                 ### so we tried to get the file but didn't actually fetch it --
-                ### there's a chance this host is bad. mark it as such and 
-                ### actually flag it back if we manage to get the file 
+                ### there's a chance this host is bad. mark it as such and
+                ### actually flag it back if we manage to get the file
                 ### somewhere else
                 push @maybe_bad_host, $host;
             }
         }
-    
+
         $found_host
             ? error(loc("Fetch failed: host list exhausted " .
                         "-- are you connected today?"))
@@ -366,7 +369,7 @@
             : error(loc("No hosts found to download from " .
                         "-- check your config"));
     }
-    
+
     return;
 }
 
@@ -382,7 +385,7 @@
         verbose => { default    => $conf->get_conf('verbose'),
                      store      => \$verbose },
     };
-    
+
     check( $tmpl, \%hash ) or return;
 
     msg(loc("Trying to get '%1'", $where ), $verbose );
@@ -400,10 +403,10 @@
 
         } else {
             my $abs = File::Spec->rel2abs( $file );
-            
+
             ### so TTLs will work
             $self->_update_timestamp( file => $abs );
-            
+
             return $abs;
         }
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Fetch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Report;
+use deprecate;
 
 use strict;
 
@@ -13,6 +14,9 @@
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 use version;
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 $Params::Check::VERBOSE = 1;
 
 ### for the version ###
@@ -20,7 +24,7 @@
 
 =head1 NAME
 
-CPANPLUS::Internals::Report
+CPANPLUS::Internals::Report - internals for sending test reports
 
 =head1 SYNOPSIS
 
@@ -297,11 +301,12 @@
 
     ### check arguments ###
     my ($buffer, $failed, $mod, $verbose, $force, $address, $save,
-        $tests_skipped );
+        $tests_skipped, $status );
     my $tmpl = {
             module  => { required => 1, store => \$mod, allow => IS_MODOBJ },
             buffer  => { required => 1, store => \$buffer },
             failed  => { required => 1, store => \$failed },
+            status  => { default => {}, store => \$status, strict_type => 1 },
             address => { default  => CPAN_TESTERS_EMAIL, store => \$address },
             save    => { default  => 0, store => \$save },
             verbose => { default  => $conf->get_conf('verbose'),
@@ -471,8 +476,9 @@
         return 1 if $cp_conf =~  /\bmaketest_only\b/i
                     and ($stage !~ /\btest\b/);
 
+        my $capture = ( $status && defined $status->{capture} ? $status->{capture} : $buffer );
         ### the bit where we inform what went wrong
-        $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $buffer );
+        $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $capture );
 
         ### was it missing prereqs? ###
         if( my @missing = MISSING_PREREQS_LIST->($buffer) ) {
@@ -507,12 +513,38 @@
         $message .= REPORT_TESTS_SKIPPED->();
     } elsif( $grade eq GRADE_NA) {
 
+        my $capture = ( $status && defined $status->{capture} ? $status->{capture} : $buffer );
+
+        ### add the reason for the NA to the buffer
+        $capture = join $/, $capture, map {
+                        '[' . $_->tag . '] [' . $_->when . '] ' .
+                        $_->message } ( CPANPLUS::Error->stack )[-1];
+
         ### the bit where we inform what went wrong
-        $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $buffer );
+        $message .= REPORT_MESSAGE_FAIL_HEADER->( $stage, $capture );
 
+        ### add a list of what modules have been loaded of your prereqs list
+        $message .= REPORT_LOADED_PREREQS->($mod);
+
+        ### add a list of versions of toolchain modules
+        $message .= REPORT_TOOLCHAIN_VERSIONS->($mod);
+
         ### the footer
         $message .= REPORT_MESSAGE_FOOTER->();
 
+    } elsif ( $grade eq GRADE_PASS and ( $status and defined $status->{capture} ) ) {
+        ### the bit where we inform what went right
+        $message .= REPORT_MESSAGE_PASS_HEADER->( $stage, $status->{capture} );
+
+        ### add a list of what modules have been loaded of your prereqs list
+        $message .= REPORT_LOADED_PREREQS->($mod);
+
+        ### add a list of versions of toolchain modules
+        $message .= REPORT_TOOLCHAIN_VERSIONS->($mod);
+
+        ### the footer
+        $message .= REPORT_MESSAGE_FOOTER->();
+
     }
 
     msg( loc("Sending test report for '%1'", $dist), $verbose);


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Report.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Search.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Search.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Search.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Search;
+use deprecate;
 
 use strict;
 
@@ -13,6 +14,9 @@
 use Params::Check               qw[check allow];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 $Params::Check::VERBOSE = 1;
 
 =pod
@@ -19,7 +23,7 @@
 
 =head1 NAME
 
-CPANPLUS::Internals::Search
+CPANPLUS::Internals::Search - internals for searching for modules
 
 =head1 SYNOPSIS
 
@@ -163,7 +167,7 @@
     } or return;
 
     ### a list of module objects was supplied
-    if( @$mods ) {   
+    if( @$mods ) {
         local $Params::Check::VERBOSE = 0;
 
         my @rv;
@@ -242,7 +246,7 @@
 
     my $args = check( $tmpl, \%hash ) or return;
 
-    if( @$authors ) {   
+    if( @$authors ) {
         local $Params::Check::VERBOSE = 0;
 
         my @rv;
@@ -258,7 +262,7 @@
         my @rv = $self->_source_search_author_tree(
             allow   => $list,
             type    => $type,
-        );            
+        );
         return \@rv;
     }
 }
@@ -302,7 +306,7 @@
     for my $dir (@INC ) {
         next if $dir eq '.';
 
-        ### not a directory after all 
+        ### not a directory after all
         ### may be coderef or some such
         next unless -d $dir;
 
@@ -309,11 +313,11 @@
         ### make sure to clean up the directories just in case,
         ### as we're making assumptions about the length
         ### This solves rt.cpan issue #19738
-        
-        ### John M. notes: On VMS cannonpath can not currently handle 
+
+        ### John M. notes: On VMS cannonpath can not currently handle
         ### the $dir values that are in UNIX format.
         $dir = File::Spec->canonpath( $dir ) unless ON_VMS;
-        
+
         ### have to use F::S::Unix on VMS, or things will break
         my $file_spec = ON_VMS ? 'File::Spec::Unix' : 'File::Spec';
 
@@ -328,8 +332,8 @@
 
                     ### make sure it's in Unix format, as it
                     ### may be in VMS format on VMS;
-                    $mod = VMS::Filespec::unixify( $mod ) if ON_VMS;                    
-                    
+                    $mod = VMS::Filespec::unixify( $mod ) if ON_VMS;
+
                     $mod = substr($mod, length($dir) + 1, -3);
                     $mod = join '::', $file_spec->splitdir($mod);
 
@@ -336,7 +340,7 @@
                     return if $seen{$mod}++;
 
                     my $modobj = $self->module_tree($mod);
-                    
+
                     ### separate return, a list context return with one ''
                     ### in it, is also true!
                     return unless $modobj;


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Search.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/Memory.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/Memory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/Memory.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Source::Memory;
+use deprecate;
 
 use base 'CPANPLUS::Internals::Source';
 
@@ -20,9 +21,12 @@
 use Module::Load::Conditional   qw[can_load];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 $Params::Check::VERBOSE = 1;
 
-=head1 NAME 
+=head1 NAME
 
 CPANPLUS::Internals::Source::Memory - In memory implementation
 
@@ -36,7 +40,7 @@
         my $self = shift;
         my $conf = $self->configure_object;
         my %hash = @_;
-    
+
         my($path,$uptodate,$verbose,$use_stored);
         my $tmpl = {
             path        => { default => $conf->get_conf('base'), store => \$path },
@@ -44,9 +48,9 @@
             uptodate    => { required => 1, store => \$uptodate },
             use_stored  => { default  => 1, store => \$use_stored },
         };
-    
+
         check( $tmpl, \%hash ) or return;
-    
+
         ### retrieve the stored source files ###
         my $stored      = $self->__memory_retrieve_source(
                                 path        => $path,
@@ -53,12 +57,12 @@
                                 uptodate    => $uptodate && $use_stored,
                                 verbose     => $verbose,
                             ) || {};
-    
+
         ### we got this from storable if $stored has keys..
         $from_storable = keys %$stored ? 1 : 0;
-    
+
         ### set up the trees
-        $self->_atree( $stored->{_atree} || {} );                    
+        $self->_atree( $stored->{_atree} || {} );
         $self->_mtree( $stored->{_mtree} || {} );
 
         return 1;
@@ -71,7 +75,7 @@
         my $self = shift;
         my $conf = $self->configure_object;
         my %hash = @_;
-    
+
         my($path,$uptodate,$verbose);
         my $tmpl = {
             path        => { default => $conf->get_conf('base'), store => \$path },
@@ -79,34 +83,34 @@
             uptodate    => { required => 1, store => \$uptodate },
         };
 
-        {   local $Params::Check::ALLOW_UNKNOWN = 1;    
+        {   local $Params::Check::ALLOW_UNKNOWN = 1;
             check( $tmpl, \%hash ) or return;
         }
-        
+
         ### write the stored files to disk, so we can keep using them
         ### from now on, till they become invalid
         ### write them if the original sources weren't uptodate, or
         ### we didn't just load storable files
         $self->__memory_save_source() if !$uptodate or not $from_storable;
-    
+
         return 1;
     }
-    
+
     ### saves current memory state
     sub _save_state {
         my $self = shift;
         return $self->_finalize_trees( @_, uptodate => 0 );
-    }        
+    }
 }
 
 sub _add_author_object {
     my $self = shift;
     my %hash = @_;
-    
+
     my $class;
     my $tmpl = {
         class   => { default => 'CPANPLUS::Module::Author', store => \$class },
-        map { $_ => { required => 1 } } 
+        map { $_ => { required => 1 } }
             qw[ author cpanid email ]
     };
 
@@ -114,53 +118,56 @@
         local $Params::Check::NO_DUPLICATES = 1;
         check( $tmpl, \%hash ) or return;
     };
-    
+
     my $obj = $class->new( %$href, _id => $self->_id );
-    
+
     $self->author_tree->{ $href->{'cpanid'} } = $obj or return;
 
     return $obj;
 }
 
-sub _add_module_object {
-    my $self = shift;
-    my %hash = @_;
-
-    my $class;    
+{
     my $tmpl = {
-        class   => { default => 'CPANPLUS::Module', store => \$class },
-        map { $_ => { required => 1 } } 
-            qw[ module version path comment author package description dslip mtime ]
+        class => { default => 'CPANPLUS::Module' },
+        map { $_ => { required => 1 } } qw[
+           module version path comment author package description dslip mtime
+        ],
     };
 
-    my $href = do {
-        local $Params::Check::NO_DUPLICATES = 1;
-        check( $tmpl, \%hash ) or return;
-    };
-    
-    my $obj = $class->new( %$href, _id => $self->_id );
-    
-    ### Every module get's stored as a module object ###
-    $self->module_tree->{ $href->{module} } = $obj or return;
+    sub _add_module_object {
+        my $self = shift;
+        my %hash = @_;
 
-    return $obj;    
+        my $href = do {
+            local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
+            check( $tmpl, \%hash ) or return;
+        };
+        my $class = delete $href->{class};
+
+        my $obj = $class->new( %$href, _id => $self->_id );
+
+        ### Every module get's stored as a module object ###
+        $self->module_tree->{ $href->{module} } = $obj or return;
+
+        return $obj;
+    }
 }
 
 {   my %map = (
         _source_search_module_tree  => [ module_tree => 'CPANPLUS::Module' ],
         _source_search_author_tree  => [ author_tree => 'CPANPLUS::Module::Author' ],
-    );        
+    );
 
     while( my($sub, $aref) = each %map ) {
         no strict 'refs';
-        
+
         my($meth, $class) = @$aref;
-        
+
         *$sub = sub {
             my $self = shift;
             my $conf = $self->configure_object;
             my %hash = @_;
-        
+
             my($authors,$list,$verbose,$type);
             my $tmpl = {
                 data    => { default    => [],
@@ -172,9 +179,9 @@
                 type    => { required   => 1, allow => [$class->accessors()],
                              store      => \$type },
             };
-        
-            my $args = check( $tmpl, \%hash ) or return;            
-        
+
+            my $args = check( $tmpl, \%hash ) or return;
+
             my @rv;
             for my $obj ( values %{ $self->$meth } ) {
                 #push @rv, $auth if check(
@@ -182,8 +189,8 @@
                 #                        { $type => $auth->$type }
                 #                    );
                 push @rv, $obj if allow( $obj->$type() => $list );
-            }        
-        
+            }
+
             return @rv;
         }
     }
@@ -343,7 +350,7 @@
                         : 0;
 
     return unless $storable;
-    
+
     ### $stored is the name of the frozen data structure ###
     ### changed to use File::Spec->catfile -jmb
     my $stored = File::Spec->rel2abs(
@@ -351,7 +358,7 @@
             $path,                          #base dir
             $conf->_get_source('stored')    #file
             . '.s' .
-            $Storable::VERSION              #the version of storable 
+            $Storable::VERSION              #the version of storable
             . '.c' .
             $self->VERSION                  #the version of CPANPLUS
             . STORABLE_EXT                  #append a suffix


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/Memory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Source::SQLite::Tie;
+use deprecate;
 
 use strict;
 use warnings;
@@ -9,17 +10,14 @@
 use CPANPLUS::Module::Author::Fake;
 use CPANPLUS::Internals::Constants;
 
-
 use Params::Check               qw[check];
 use Module::Load::Conditional   qw[can_load];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[@ISA $VERSION];
+$VERSION = "0.9135";
 
-use Data::Dumper;
-$Data::Dumper::Indent = 1;
-
 require Tie::Hash;
-use vars qw[@ISA];
 push @ISA, 'Tie::StdHash';
 
 
@@ -26,7 +24,7 @@
 sub TIEHASH {
     my $class = shift;
     my %hash  = @_;
-    
+
     my $tmpl = {
         dbh     => { required => 1 },
         table   => { required => 1 },
@@ -34,12 +32,12 @@
         cb      => { required => 1 },
         offset  => { default  => 0 },
     };
-    
+
     my $args = check( $tmpl, \%hash ) or return;
     my $obj  = bless { %$args, store => {} } , $class;
 
     return $obj;
-}    
+}
 
 sub FETCH {
     my $self    = shift;
@@ -47,13 +45,13 @@
     my $dbh     = $self->{dbh};
     my $cb      = $self->{cb};
     my $table   = $self->{table};
-    
-    
+
+
     ### did we look this one up before?
     if( my $obj = $self->{store}->{$key} ) {
         return $obj;
     }
-    
+
     my $res  = $dbh->query(
                     "SELECT * from $table where $self->{key} = ?", $key
                 ) or do {
@@ -60,15 +58,15 @@
                     error( $dbh->error );
                     return;
                 };
-                    
+
     my $href = $res->hash;
-    
+
     ### get rid of the primary key
     delete $href->{'id'};
-    
+
     ### no results?
     return unless keys %$href;
-    
+
     ### expand author if needed
     ### XXX no longer generic :(
     if( $table eq 'module' ) {
@@ -80,16 +78,16 @@
         author  => 'CPANPLUS::Module::Author',
     }->{ $table };
 
-    my $obj = $self->{store}->{$key} = $class->new( %$href, _id => $cb->_id );   
-    
+    my $obj = $self->{store}->{$key} = $class->new( %$href, _id => $cb->_id );
+
     return $obj;
 }
 
-sub STORE { 
+sub STORE {
     my $self = shift;
     my $key  = shift;
     my $val  = shift;
-    
+
     $self->{store}->{$key} = $val;
 }
 
@@ -104,7 +102,7 @@
                );
 
     $self->{offset} = 0;
-    
+
     my $key = $res->flat->[0];
 
     return $key;
@@ -130,7 +128,7 @@
 
 sub EXISTS   { !!$_[0]->FETCH( $_[1] ) }
 
-sub SCALAR   { 
+sub SCALAR   {
     my $self = shift;
     my $dbh  = $self->{'dbh'};
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Source::SQLite;
+use deprecate;
 
 use strict;
 use warnings;
@@ -16,9 +17,12 @@
 use Params::Check               qw[allow check];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 use constant TXN_COMMIT => 1000;
 
-=head1 NAME 
+=head1 NAME
 
 CPANPLUS::Internals::Source::SQLite - SQLite implementation
 
@@ -27,23 +31,23 @@
 {   my $Dbh;
     my $DbFile;
 
-    sub __sqlite_file { 
+    sub __sqlite_file {
         return $DbFile if $DbFile;
 
         my $self = shift;
         my $conf = $self->configure_object;
 
-        $DbFile = File::Spec->catdir( 
+        $DbFile = File::Spec->catdir(
                         $conf->get_conf('base'),
                         SOURCE_SQLITE_DB
             );
-    
+
         return $DbFile;
     };
 
-    sub __sqlite_dbh { 
+    sub __sqlite_dbh {
         return $Dbh if $Dbh;
-        
+
         my $self = shift;
         $Dbh     = DBIx::Simple->connect(
                         "dbi:SQLite:dbname=" . $self->__sqlite_file,
@@ -53,7 +57,7 @@
         #$Dbh->dbh->trace(1);
         $Dbh->query(qq{PRAGMA synchronous = OFF});
 
-        return $Dbh;        
+        return $Dbh;
     };
 
     sub __sqlite_disconnect {
@@ -70,7 +74,7 @@
         my $self = shift;
         my $conf = $self->configure_object;
         my %hash = @_;
-    
+
         my($path,$uptodate,$verbose,$use_stored);
         my $tmpl = {
             path        => { default => $conf->get_conf('base'), store => \$path },
@@ -78,33 +82,33 @@
             uptodate    => { required => 1, store => \$uptodate },
             use_stored  => { default  => 1, store => \$use_stored },
         };
-    
+
         check( $tmpl, \%hash ) or return;
 
         ### if it's not uptodate, or the file doesn't exist, we need to create
         ### a new sqlite db
-        if( not $uptodate or not -e $self->__sqlite_file ) {        
+        if( not $uptodate or not -e $self->__sqlite_file ) {
             $used_old_copy = 0;
 
             ### chuck the file
             $self->__sqlite_disconnect;
             1 while unlink $self->__sqlite_file;
-        
+
             ### and create a new one
             $self->__sqlite_create_db or do {
                 error(loc("Could not create new SQLite DB"));
-                return;    
-            }            
+                return;
+            }
         } else {
             $used_old_copy = 1;
-        }            
-    
+        }
+
         ### set up the author tree
         {   my %at;
             tie %at, 'CPANPLUS::Internals::Source::SQLite::Tie',
-                dbh => $self->__sqlite_dbh, table => 'author', 
+                dbh => $self->__sqlite_dbh, table => 'author',
                 key => 'cpanid',            cb => $self;
-                
+
             $self->_atree( \%at  );
         }
 
@@ -111,19 +115,19 @@
         ### set up the author tree
         {   my %mt;
             tie %mt, 'CPANPLUS::Internals::Source::SQLite::Tie',
-                dbh => $self->__sqlite_dbh, table => 'module', 
+                dbh => $self->__sqlite_dbh, table => 'module',
                 key => 'module',            cb => $self;
 
             $self->_mtree( \%mt  );
         }
-        
+
         ### start a transaction
         $self->__sqlite_dbh->query('BEGIN');
-        
-        return 1;        
-        
+
+        return 1;
+
     }
-    
+
     sub _standard_trees_completed   { return $used_old_copy }
     sub _custom_trees_completed     { return }
     ### finish transaction
@@ -130,8 +134,8 @@
     sub _finalize_trees             { $_[0]->__sqlite_dbh->commit; return 1 }
 
     ### saves current memory state, but not implemented in sqlite
-    sub _save_state                 { 
-        error(loc("%1 has not implemented writing state to disk", __PACKAGE__)); 
+    sub _save_state                 {
+        error(loc("%1 has not implemented writing state to disk", __PACKAGE__));
         return;
     }
 }
@@ -145,7 +149,7 @@
         class   => { default => 'CPANPLUS::Module::Author', store => \$class },
         map { $_ => { required => 1 } } @keys
      };
-    
+
     ### dbix::simple's expansion of (??) is REALLY expensive, so do it manually
     my $ph      = join ',', map { '?' } @keys;
 
@@ -154,9 +158,9 @@
         my $self = shift;
         my %hash = @_;
         my $dbh  = $self->__sqlite_dbh;
-    
+
         my $href = do {
-            local $Params::Check::NO_DUPLICATES         = 1;            
+            local $Params::Check::NO_DUPLICATES         = 1;
             local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
             check( $tmpl, \%hash ) or return;
         };
@@ -167,8 +171,8 @@
             $dbh->commit or error( $dbh->error ); # commit previous transaction
             $dbh->begin_work  or error( $dbh->error ); # and start a new one
         }
-        
-        $dbh->query( 
+
+        $dbh->query(
             "INSERT INTO author (". join(',',keys(%$href)) .") VALUES ($ph)",
             values %$href
         ) or do {
@@ -175,7 +179,7 @@
             error( $dbh->error );
             return;
         };
-        
+
         return 1;
      }
 }
@@ -183,13 +187,13 @@
 {   my $txn_count = 0;
 
     ### XXX move this outside the sub, so we only compute it once
-    my $class;    
+    my $class;
     my @keys = qw[ module version path comment author package description dslip mtime ];
     my $tmpl = {
         class   => { default => 'CPANPLUS::Module', store => \$class },
         map { $_ => { required => 1 } } @keys
     };
-    
+
     ### dbix::simple's expansion of (??) is REALLY expensive, so do it manually
     my $ph      = join ',', map { '?' } @keys;
 
@@ -197,13 +201,13 @@
         my $self = shift;
         my %hash = @_;
         my $dbh  = $self->__sqlite_dbh;
-    
+
         my $href = do {
             local $Params::Check::NO_DUPLICATES         = 1;
             local $Params::Check::SANITY_CHECK_TEMPLATE = 0;
             check( $tmpl, \%hash ) or return;
         };
-        
+
         ### fix up author to be 'plain' string
         $href->{'author'} = $href->{'author'}->cpanid;
 
@@ -213,35 +217,34 @@
             $dbh->commit or error( $dbh->error ); # commit previous transaction
             $dbh->begin_work  or error( $dbh->error ); # and start a new one
         }
-        
-        $dbh->query( 
-            "INSERT INTO module (". join(',',keys(%$href)) .") VALUES ($ph)", 
+
+        $dbh->query(
+            "INSERT INTO module (". join(',',keys(%$href)) .") VALUES ($ph)",
             values %$href
         ) or do {
             error( $dbh->error );
             return;
         };
-        
+
         return 1;
     }
 }
 
 {   my %map = (
-        _source_search_module_tree  
+        _source_search_module_tree
             => [ module => module => 'CPANPLUS::Module' ],
-        _source_search_author_tree  
+        _source_search_author_tree
             => [ author => cpanid => 'CPANPLUS::Module::Author' ],
-    );        
+    );
 
     while( my($sub, $aref) = each %map ) {
         no strict 'refs';
-        
+
         my($table, $key, $class) = @$aref;
         *$sub = sub {
             my $self = shift;
             my %hash = @_;
-            my $dbh  = $self->__sqlite_dbh;
-            
+
             my($list,$type);
             my $tmpl = {
                 allow   => { required   => 1, default   => [ ], strict_type => 1,
@@ -249,19 +252,25 @@
                 type    => { required   => 1, allow => [$class->accessors()],
                              store      => \$type },
             };
-        
+
             check( $tmpl, \%hash ) or return;
-        
-        
+
+
             ### we aliased 'module' to 'name', so change that here too
             $type = 'module' if $type eq 'name';
-        
+
+            my $meth = $table .'_tree';
+
+            {
+              my $throw = $self->$meth;
+            }
+
+            my $dbh  = $self->__sqlite_dbh;
             my $res = $dbh->query( "SELECT * from $table" );
-            
-            my $meth = $table .'_tree';
-            my @rv = map  { $self->$meth( $_->{$key} ) } 
+
+            my @rv = map  { $self->$meth( $_->{$key} ) }
                      grep { allow( $_->{$type} => $list ) } $res->hashes;
-        
+
             return @rv;
         }
     }
@@ -272,29 +281,29 @@
 sub __sqlite_create_db {
     my $self = shift;
     my $dbh  = $self->__sqlite_dbh;
-    
+
     ### we can ignore the result/error; not all sqlite implementations
-    ### support this    
+    ### support this
     $dbh->query( qq[
         DROP TABLE IF EXISTS author;
         \n]
      ) or do {
         msg( $dbh->error );
-    }; 
+    };
     $dbh->query( qq[
         DROP TABLE IF EXISTS module;
         \n]
      ) or do {
         msg( $dbh->error );
-    }; 
+    };
 
 
-    
+
     $dbh->query( qq[
         /* the author information */
         CREATE TABLE author (
             id INTEGER PRIMARY KEY AUTOINCREMENT,
-            
+
             author  varchar(255),
             email   varchar(255),
             cpanid  varchar(255)
@@ -310,7 +319,7 @@
         /* the module information */
         CREATE TABLE module (
             id INTEGER PRIMARY KEY AUTOINCREMENT,
-            
+
             module      varchar(255),
             version     varchar(255),
             path        varchar(255),
@@ -321,13 +330,13 @@
             dslip       varchar(255),
             mtime       varchar(255)
         );
-        
+
         \n]
 
     ) or do {
         error( $dbh->error );
         return;
-    };        
+    };
 
     $dbh->query( qq[
         /* the module index */
@@ -368,7 +377,7 @@
         return;
     };
 
-    return 1;    
+    return 1;
 }
 
 1;


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source/SQLite.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Source;
+use deprecate;
 
 use strict;
 
@@ -18,25 +19,28 @@
 use Module::Load::Conditional   qw[can_load];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 $Params::Check::VERBOSE = 1;
 
 ### list of methods the parent class must implement
-{   for my $sub ( qw[_init_trees _finalize_trees 
+{   for my $sub ( qw[_init_trees _finalize_trees
                      _standard_trees_completed _custom_trees_completed
                      _add_module_object _add_author_object _save_state
-                    ] 
+                    ]
     ) {
         no strict 'refs';
-        *$sub = sub { 
+        *$sub = sub {
             my $self    = shift;
             my $class   = ref $self || $self;
-            
-            require Carp; 
-            Carp::croak( loc( "Class %1 must implement method '%2'", 
+
+            require Carp;
+            Carp::croak( loc( "Class %1 must implement method '%2'",
                               $class, $sub ) );
         }
     }
-}    
+}
 
 {
     my $recurse; # flag to prevent recursive calls to *_tree functions
@@ -74,7 +78,7 @@
 
 =head1 NAME
 
-CPANPLUS::Internals::Source
+CPANPLUS::Internals::Source - internals for updating source files
 
 =head1 SYNOPSIS
 
@@ -98,7 +102,7 @@
         $cb->_check_trees
             $cb->__check_uptodate
                 $cb->_update_source
-            $cb->__update_custom_module_sources 
+            $cb->__update_custom_module_sources
                 $cb->__update_custom_module_source
         $cb->_build_trees
             ### engine methods
@@ -105,7 +109,7 @@
             {   $cb->_init_trees;
                 $cb->_standard_trees_completed
                 $cb->_custom_trees_completed
-            }                
+            }
             $cb->__create_author_tree
                 ### engine methods
                 { $cb->_add_author_object }
@@ -113,7 +117,7 @@
                 $cb->__create_dslip_tree
                 ### engine methods
                 { $cb->_add_module_object }
-            $cb->__create_custom_module_entries                    
+            $cb->__create_custom_module_entries
 
     $cb->_dslip_defs
 
@@ -177,20 +181,20 @@
     ) or do {
         error( loc("Could not initialize trees" ) );
         return;
-    };        
+    };
 
     ### return if we weren't able to build the trees ###
     return unless $self->_mtree && $self->_atree;
- 
+
     ### did we get everything from a stored state? if not,
     ### process them now.
     if( not $self->_standard_trees_completed ) {
-     
+
         ### first, prep the author tree
         $self->__create_author_tree(
                 uptodate    => $uptodate,
                 path        => $path,
-                verbose     => $verbose, 
+                verbose     => $verbose,
         ) or return;
 
         ### and now the module tree
@@ -197,23 +201,23 @@
         $self->_create_mod_tree(
                 uptodate    => $uptodate,
                 path        => $path,
-                verbose     => $verbose, 
+                verbose     => $verbose,
         ) or return;
     }
-    
+
     ### XXX unpleasant hack. since custom sources uses ->parse_module, we
-    ### already have a special module object with extra meta data. that 
+    ### already have a special module object with extra meta data. that
     ### doesn't gelwell with the sqlite storage engine. So, we check 'normal'
     ### trees from separate trees, so the engine can treat them differently.
     ### Effectively this means that with the SQLite engine, for now, custom
     ### sources are continuously reparsed =/ -kane
     if( not $self->_custom_trees_completed ) {
-    
+
         ### update them if the other sources are also deemed out of date
         if( $conf->get_conf('enable_custom_sources') ) {
-            $self->__update_custom_module_sources( verbose => $verbose ) 
+            $self->__update_custom_module_sources( verbose => $verbose )
                 or error(loc("Could not update custom module sources"));
-        }      
+        }
 
         ### add custom sources here if enabled
         if( $conf->get_conf('enable_custom_sources') ) {
@@ -226,13 +230,13 @@
     $self->_finalize_trees(
         path        => $path,
         uptodate    => $uptodate,
-        verbose     => $verbose,    
+        verbose     => $verbose,
         use_stored  => $use_stored,
     ) or do {
         error(loc( "Could not finalize trees" ));
         return;
-    };        
-    
+    };
+
     ### still necessary? can only run one instance now ###
     ### will probably stay that way --kane
 #     my $id = $self->_store_id( $self );
@@ -320,7 +324,7 @@
     ### as well
     ### RT #47820: Don't try to update custom sources if they are disabled
     ### in the configuration.
-    $self->__update_custom_module_sources( verbose => $verbose ) 
+    $self->__update_custom_module_sources( verbose => $verbose )
         if $conf->get_conf('enable_custom_sources') and ( $update_source or !$uptodate );
 
     return $uptodate;
@@ -389,7 +393,7 @@
     if ( $flag or $args->{'update_source'} ) {
 
          if ( $self->_update_source( name => $args->{'name'} ) ) {
-              return 0;       # return 0 so 'uptodate' will be set to 0, meaning no 
+              return 0;       # return 0 so 'uptodate' will be set to 0, meaning no
                               # use of previously stored hashrefs!
          } else {
               msg( loc("Unable to update source, attempting to get away with using old source file!"), $args->{verbose} );
@@ -549,6 +553,15 @@
     ### don't need it anymore ###
     unlink $out;
 
+    my ($tot,$prce,$prc,$idx);
+
+    if ( $args->{verbose} and local $|=1 ) {
+      no warnings;
+      $tot = scalar(split /\n/, $cont);
+      ($prce, $prc, $idx) = (int $tot / 25, 0, 0);
+      print "\t0%";
+    }
+
     for ( split /\n/, $cont ) {
         my($id, $name, $email) = m/^alias \s+
                                     (\S+) \s+
@@ -561,8 +574,24 @@
             cpanid  => $id,             #authors CPAN ID
         ) or error( loc("Could not add author '%1'", $name ) );
 
+   $args->{verbose}
+       and (
+          $idx++,
+
+          ($idx==$prce
+         and ($prc+=4,$idx=0,print ".")),
+
+              (($prc % 10)
+              or $idx
+              or print $prc,'%')
+      );
+
     }
 
+    $args->{verbose}
+   and print "\n";
+
+
     return $self->_atree;
 
 } #__create_author_tree
@@ -604,8 +633,8 @@
     my $self = shift;
     my %hash = @_;
     my $conf = $self->configure_object;
+    my $base = $conf->_get_mirror('base');
 
-
     my $tmpl = {
         path     => { default => $conf->get_conf('base') },
         verbose  => { default => $conf->get_conf('verbose') },
@@ -621,6 +650,8 @@
 
     my $dslip_tree = $self->__create_dslip_tree( %$args );
 
+    my $author_tree = $self->author_tree;
+
     ### extract the file ###
     my $ae      = Archive::Extract->new( archive => $file ) or return;
     my $out     = STRIP_GZ_SUFFIX->($file);
@@ -636,42 +667,49 @@
     ### don't need it anymore ###
     unlink $out;
 
-    my($past_header, $count);
+    my($past_header, $count, $tot, $prce, $prc, $idx);
+
+    if ( $args->{verbose} and local $|=1 ) {
+      no warnings;
+      $tot = scalar(split /\n/, $content);
+      ($prce, $prc, $idx) = (int $tot / 25, 0, 0);
+      print "\t0%";
+    }
+
     for ( split /\n/, $content ) {
 
-        ### quick hack to read past the header of the file ###
-        ### this is still rather evil... fix some time - Kane
-        if( m|^\s*$| ) {
-            unless( $count ) {
-                error(loc("Could not determine line count from %1", $file));
-                return;
-            }
-            $past_header = 1;
-        }            
-        
         ### we're still in the header -- find the amount of lines we expect
         unless( $past_header ) {
-            
+
+            ### header has ended -- did we get the line count?
+            if( m|^\s*$| ) {
+                unless( $count ) {
+                    error(loc("Could not determine line count from %1", $file));
+                    return;
+                }
+                $past_header = 1;
+
             ### if the line count doesn't match what we expect, bail out
             ### this should address: #45644: detect broken index
-            $count = $1 if /^Line-Count:\s+(\d+)/;
-            if( $count ) {
-                if( $lines < $count ) {
-                    error(loc("Expected to read at least %1 lines, but %2 ".
-                              "contains only %3 lines!",
-                              $count, $file, $lines ));
-                    return;
-                }  
+            } else {
+                $count = $1 if /^Line-Count:\s+(\d+)/;
+                if( $count ) {
+                    if( $lines < $count ) {
+                        error(loc("Expected to read at least %1 lines, but %2 ".
+                                  "contains only %3 lines!",
+                                  $count, $file, $lines ));
+                        return;
+                    }
+                }
             }
+
             ### still in the header, keep moving
             next;
         }
-        
-        ### skip empty lines ###
-        next unless /\S/;
-        chomp;
 
         my @data = split /\s+/;
+        ### three fields expected on each line
+        next unless @data == 3;
 
         ### filter out the author and filename as well ###
         ### authors can apparently have digits in their names,
@@ -686,7 +724,7 @@
         ### remove file name from the path
         $data[2] =~ s|/[^/]+$||;
 
-        my $aobj = $self->author_tree($author);
+        my $aobj = $author_tree->{$author};
         unless( $aobj ) {
             error( loc( "No such author '%1' -- can't make module object " .
                         "'%2' that is supposed to belong to this author",
@@ -694,17 +732,16 @@
             next;
         }
 
+        my $dslip_mod = $dslip_tree->{ $data[0] };
+
         ### adding the dslip info
-        ### probably can use some optimization
         my $dslip;
         for my $item ( qw[ statd stats statl stati statp ] ) {
             ### checking if there's an entry in the dslip info before
             ### catting it on. appeasing warnings this way
-            $dslip .=   $dslip_tree->{ $data[0] }->{$item}
-                            ? $dslip_tree->{ $data[0] }->{$item}
-                            : ' ';
+            $dslip .= $dslip_mod->{$item} || ' ';
         }
-        
+
         ### XXX this could be sped up if we used author names, not author
         ### objects in creation, and then look them up in the author tree
         ### when needed. This will need a fix to all the places that create
@@ -713,11 +750,11 @@
         ### callback to store the individual object
         $self->_add_module_object(
             module      => $data[0],            # full module name
-            version     => ($data[1] eq 'undef' # version number 
-                                ? '0.0' 
-                                : $data[1]), 
+            version     => ($data[1] eq 'undef' # version number
+                                ? '0.0'
+                                : $data[1]),
             path        => File::Spec::Unix->catfile(
-                                $conf->_get_mirror('base'),
+                                $base,
                                 $data[2],
                             ),          # extended path on the cpan mirror,
                                         # like /A/AB/ABIGAIL
@@ -725,13 +762,28 @@
             author      => $aobj,
             package     => $package,    # package name, like
                                         # 'foo-bar-baz-1.03.tar.gz'
-            description => $dslip_tree->{ $data[0] }->{'description'},
+            description => $dslip_mod->{'description'},
             dslip       => $dslip,
             mtime       => '',
         ) or error( loc( "Could not add module '%1'", $data[0] ) );
 
+   $args->{verbose}
+       and (
+          $idx++,
+
+          ($idx==$prce
+         and ($prc+=4,$idx=0,print ".")),
+
+              (($prc % 10)
+              or $idx
+              or print $prc,'%')
+      );
+
     } #for
 
+    $args->{verbose}
+   and print "\n";
+
     return $self->_mtree;
 
 } #_create_mod_tree
@@ -822,9 +874,9 @@
     ### use this regex to make sure dslips with ';' in them don't cause
     ### parser errors
     my ($ds_one, $ds_two) = ($in =~ m|.+}\s+
-										(\$(?:CPAN::Modulelist::)?cols.*?)
-										(\$(?:CPAN::Modulelist::)?data.*)
-									|sx);
+                              (\$(?:CPAN::Modulelist::)?cols.*?)
+                              (\$(?:CPAN::Modulelist::)?data.*)
+                           |sx);
 
     ### eval them into existence ###
     ### still not too fond of this solution - kane ###
@@ -925,7 +977,7 @@
     return $aref;
 }
 
-=head2 $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL] ); 
+=head2 $file = $cb->_add_custom_module_source( uri => URI, [verbose => BOOL] );
 
 Adds a custom source index and updates it based on the provided URI.
 
@@ -937,16 +989,16 @@
     my $self = shift;
     my $conf = $self->configure_object;
     my %hash = @_;
-    
+
     my($verbose,$uri);
-    my $tmpl = {   
+    my $tmpl = {
         verbose => { default => $conf->get_conf('verbose'),
                      store   => \$verbose },
         uri     => { required => 1, store => \$uri }
     };
-    
+
     check( $tmpl, \%hash ) or return;
-    
+
     ### what index file should we use on disk?
     my $index = $self->__custom_module_source_index_file( uri => $uri );
 
@@ -954,29 +1006,29 @@
     if( IS_FILE->( $index ) ) {
         msg(loc("Source '%1' already added", $uri));
         return 1;
-    }        
-        
-    ### do we need to create the targe dir?        
+    }
+
+    ### do we need to create the targe dir?
     {   my $dir = dirname( $index );
         unless( IS_DIR->( $dir ) ) {
             $self->_mkdir( dir => $dir ) or return
         }
-    }  
-    
+    }
+
     ### write the file
     my $fh = OPEN_FILE->( $index => '>' ) or do {
         error(loc("Could not open index file for '%1'", $uri));
         return;
     };
-    
-    ### basically we 'touched' it. Check the return value, may be 
+
+    ### basically we 'touched' it. Check the return value, may be
     ### important on win32 and similar OS, where there's file length
     ### limits
     close $fh or do {
         error(loc("Could not write index file to disk for '%1'", $uri));
         return;
-    };        
-        
+    };
+
     $self->__update_custom_module_source(
                 remote  => $uri,
                 local   => $index,
@@ -985,9 +1037,9 @@
                 ### we faild to update it, we probably have an empty
                 ### possibly silly filename on disk now -- remove it
                 1 while unlink $index;
-                return;                
+                return;
             };
-            
+
     return $index;
 }
 
@@ -1002,24 +1054,24 @@
     my $self = shift;
     my $conf = $self->configure_object;
     my %hash = @_;
-    
+
     my($verbose,$uri);
-    my $tmpl = {   
+    my $tmpl = {
         uri     => { required => 1, store => \$uri }
     };
-    
+
     check( $tmpl, \%hash ) or return;
-    
+
     my $index = File::Spec->catfile(
                     $conf->get_conf('base'),
-                    $conf->_get_build('custom_sources'),        
+                    $conf->_get_build('custom_sources'),
                     $self->_uri_encode( uri => $uri ),
-                );     
+                );
 
     return $index;
 }
 
-=head2 $file = $cb->_remove_custom_module_source( uri => URI, [verbose => BOOL] ); 
+=head2 $file = $cb->_remove_custom_module_source( uri => URI, [verbose => BOOL] );
 
 Removes a custom index file based on the URI provided.
 
@@ -1031,19 +1083,19 @@
     my $self = shift;
     my $conf = $self->configure_object;
     my %hash = @_;
-    
+
     my($verbose,$uri);
-    my $tmpl = {   
+    my $tmpl = {
         verbose => { default => $conf->get_conf('verbose'),
                      store   => \$verbose },
         uri     => { required => 1, store => \$uri }
     };
-    
+
     check( $tmpl, \%hash ) or return;
 
     ### use uri => local, instead of the other way around
     my %files = reverse $self->__list_custom_module_sources;
-    
+
     ### On VMS the case of key to %files can be either exact or lower case
     ### XXX abstract this lookup out? --kane
     my $file = $files{ $uri };
@@ -1053,15 +1105,15 @@
         error(loc("No such custom source '%1'", $uri));
         return;
     };
-                
+
     1 while unlink $file;
- 
+
     if( IS_FILE->( $file ) ) {
         error(loc("Could not remove index file '%1' for custom source '%2'",
                     $file, $uri));
         return;
-    }    
-            
+    }
+
     msg(loc("Successfully removed index file for '%1'", $uri), $verbose);
 
     return $file;
@@ -1081,12 +1133,12 @@
 sub __list_custom_module_sources {
     my $self = shift;
     my $conf = $self->configure_object;
-    
+
     my($verbose);
-    my $tmpl = {   
+    my $tmpl = {
         verbose => { default => $conf->get_conf('verbose'),
                      store   => \$verbose },
-    };    
+    };
 
     my $dir = File::Spec->catdir(
                     $conf->get_conf('base'),
@@ -1097,16 +1149,16 @@
         msg(loc("No '%1' dir, skipping custom sources", $dir), $verbose);
         return;
     }
-    
+
     ### unencode the files
     ### skip ones starting with # though
-    my %files = map {            
-        my $org = $_;            
-        my $dec = $self->_uri_decode( uri => $_ );            
+    my %files = map {
+        my $org = $_;
+        my $dec = $self->_uri_decode( uri => $_ );
         File::Spec->catfile( $dir, $org ) => $dec
-    } grep { $_ !~ /^#/ } READ_DIR->( $dir );        
+    } grep { $_ !~ /^#/ } READ_DIR->( $dir );
 
-    return %files;    
+    return %files;
 }
 
 =head2 $bool = $cb->__update_custom_module_sources( [verbose => BOOL] );
@@ -1124,35 +1176,35 @@
     my $self = shift;
     my $conf = $self->configure_object;
     my %hash = @_;
-    
+
     my $verbose;
-    my $tmpl = {   
+    my $tmpl = {
         verbose => { default => $conf->get_conf('verbose'),
                      store   => \$verbose }
     };
-    
+
     check( $tmpl, \%hash ) or return;
-    
+
     my %files = $self->__list_custom_module_sources;
-    
-    ### uptodate check has been done a few levels up.   
+
+    ### uptodate check has been done a few levels up.
     my $fail;
     while( my($local,$remote) = each %files ) {
-        
+
         $self->__update_custom_module_source(
                     remote  => $remote,
                     local   => $local,
                     verbose => $verbose,
-                ) or ( $fail++, next );         
+                ) or ( $fail++, next );
     }
-    
+
     error(loc("Failed updating one or more remote sources files")) if $fail;
-    
+
     return if $fail;
     return 1;
 }
 
-=head2 $ok = $cb->__update_custom_module_source 
+=head2 $ok = $cb->__update_custom_module_source
 
 Attempts to update all the index files to your custom module sources.
 
@@ -1167,9 +1219,9 @@
     my $self = shift;
     my $conf = $self->configure_object;
     my %hash = @_;
-    
+
     my($verbose,$local,$remote);
-    my $tmpl = {   
+    my $tmpl = {
         verbose => { default  => $conf->get_conf('verbose'),
                      store    => \$verbose },
         local   => { store    => \$local, allow => FILE_EXISTS },
@@ -1179,7 +1231,7 @@
     check( $tmpl, \%hash ) or return;
 
     msg( loc("Updating sources from '%1'", $remote), $verbose);
-    
+
     ### if you didn't provide a local file, we'll look in your custom
     ### dir to find the local encoded version for you
     $local ||= do {
@@ -1187,7 +1239,7 @@
         my %files = reverse $self->__list_custom_module_sources or do {
             error(loc("No custom modules sources defined -- need '%1' argument",
                       'local'));
-            return;                      
+            return;
         };
 
         ### On VMS the case of key to %files can be either exact or lower case
@@ -1200,35 +1252,36 @@
             error(loc("Remote source '%1' unknown -- needs '%2' argument",
                       $remote, 'local'));
             return;
-        };         
+        };
     };
-    
+
     my $uri =  join '/', $remote, $conf->_get_source('custom_index');
-    my $ff  =  File::Fetch->new( uri => $uri );           
+    my $ff  =  File::Fetch->new( uri => $uri );
 
     ### tempdir doesn't clean up by default, as opposed to tempfile()
     ### so add it explicitly.
     my $dir =  tempdir( CLEANUP => 1 );
-    
-    my $res =  do {  local $File::Fetch::WARN = 0;
+
+    my $res =  do {
                     local $File::Fetch::WARN = 0;
+                    local $File::Fetch::TIMEOUT = $conf->get_conf('timeout');
                     $ff->fetch( to => $dir );
-                };
+               };
 
     ### couldn't get the file
     unless( $res ) {
-        
+
         ### it's not a local scheme, so can't auto index
         unless( $ff->scheme eq 'file' ) {
             error(loc("Could not update sources from '%1': %2",
                       $remote, $ff->error ));
-            return;   
-                        
+            return;
+
         ### it's a local uri, we can index it ourselves
         } else {
             msg(loc("No index file found at '%1', generating one",
                     $ff->uri), $verbose );
-            
+
             ### ON VMS, if you are working with a UNIX file specification,
             ### you need currently use the UNIX variants of the File::Spec.
             my $ff_path = do {
@@ -1235,7 +1288,7 @@
                 my $file_class = 'File::Spec';
                 $file_class .= '::Unix' if ON_VMS;
                 $file_class->catdir( File::Spec::Unix->splitdir( $ff->path ) );
-            };      
+            };
 
             $self->__write_custom_module_index(
                 path    => $ff_path,
@@ -1242,26 +1295,26 @@
                 to      => $local,
                 verbose => $verbose,
             ) or return;
-            
+
             ### XXX don't write that here, __write_custom_module_index
             ### already prints this out
             #msg(loc("Index file written to '%1'", $to), $verbose);
         }
-    
+
     ### copy it to the real spot and update its timestamp
-    } else {            
+    } else {
         $self->_move( file => $res, to => $local ) or return;
         $self->_update_timestamp( file => $local );
-        
+
         msg(loc("Index file saved to '%1'", $local), $verbose);
     }
-    
+
     return $local;
 }
 
 =head2 $bool = $cb->__write_custom_module_index( path => /path/to/packages, [to => /path/to/index/file, verbose => BOOL] )
 
-Scans the C<path> you provided for packages and writes an index with all 
+Scans the C<path> you provided for packages and writes an index with all
 the available packages to C<$path/packages.txt>. If you'd like the index
 to be written to a different file, provide the C<to> argument.
 
@@ -1273,29 +1326,29 @@
     my $self = shift;
     my $conf = $self->configure_object;
     my %hash = @_;
-    
+
     my ($verbose, $path, $to);
-    my $tmpl = {   
+    my $tmpl = {
         verbose => { default => $conf->get_conf('verbose'),
                      store   => \$verbose },
         path    => { required => 1, allow => DIR_EXISTS, store => \$path },
         to      => { store => \$to },
     };
-    
-    check( $tmpl, \%hash ) or return;    
 
+    check( $tmpl, \%hash ) or return;
+
     ### no explicit to? then we'll use our default
     $to ||= File::Spec->catfile( $path, $conf->_get_source('custom_index') );
 
     my @files;
     require File::Find;
-    File::Find::find( sub { 
+    File::Find::find( sub {
         ### let's see if A::E can even parse it
         my $ae = do {
             local $Archive::Extract::WARN = 0;
             local $Archive::Extract::WARN = 0;
-            Archive::Extract->new( archive => $File::Find::name ) 
-        } or return; 
+            Archive::Extract->new( archive => $File::Find::name )
+        } or return;
 
         ### it's a type A::E recognize, so we can add it
         $ae->type or return;
@@ -1305,11 +1358,11 @@
         ### path, so we have to strip it ourselves
         ### make sure to remove the leading slash as well.
         my $copy = $File::Find::name;
-        my $re   = quotemeta($path);        
+        my $re   = quotemeta($path);
         $copy    =~ s|^$re[\\/]?||i;
-        
+
         push @files, $copy;
-        
+
     }, $path );
 
     ### does the dir exist? if not, create it.
@@ -1317,21 +1370,21 @@
         unless( IS_DIR->( $dir ) ) {
             $self->_mkdir( dir => $dir ) or return
         }
-    }        
+    }
 
     ### create the index file
     my $fh = OPEN_FILE->( $to => '>' ) or return;
-    
+
     print $fh "$_\n" for @files;
     close $fh;
-    
+
     msg(loc("Successfully written index file to '%1'", $to), $verbose);
-    
+
     return $to;
 }
 
 
-=head2 $bool = $cb->__create_custom_module_entries( [verbose => BOOL] ) 
+=head2 $bool = $cb->__create_custom_module_entries( [verbose => BOOL] )
 
 Creates entries in the module tree based upon the files as returned
 by C<__list_custom_module_sources>.
@@ -1338,59 +1391,59 @@
 
 Returns true on success, false on failure.
 
-=cut 
+=cut
 
 ### use $auth_obj as a persistent version, so we don't have to recreate
 ### modules all the time
-{   my $auth_obj; 
+{   my $auth_obj;
 
     sub __create_custom_module_entries {
         my $self    = shift;
         my $conf    = $self->configure_object;
         my %hash    = @_;
-        
+
         my $verbose;
         my $tmpl = {
             verbose     => { default => $conf->get_conf('verbose'), store => \$verbose },
         };
-    
+
         check( $tmpl, \%hash ) or return undef;
-        
-        my %files = $self->__list_custom_module_sources;     
-    
+
+        my %files = $self->__list_custom_module_sources;
+
         while( my($file,$name) = each %files ) {
-            
+
             msg(loc("Adding packages from custom source '%1'", $name), $verbose);
-    
+
             my $fh = OPEN_FILE->( $file ) or next;
-    
+
             while( local $_ = <$fh> ) {
                 chomp;
                 next if /^#/;
                 next unless /\S+/;
-                
+
                 ### join on / -- it's a URI after all!
                 my $parse = join '/', $name, $_;
-    
+
                 ### try to make a module object out of it
                 my $mod = $self->parse_module( module => $parse ) or (
                     error(loc("Could not parse '%1'", $_)),
                     next
                 );
-                
+
                 ### mark this object with a custom author
                 $auth_obj ||= do {
                     my $id = CUSTOM_AUTHOR_ID;
-                    
+
                     ### if the object is being created for the first time,
                     ### make sure there's an entry in the author tree as
                     ### well, so we can search on the CPAN ID
-                    $self->author_tree->{ $id } = 
-                        CPANPLUS::Module::Author::Fake->new( cpanid => $id );          
+                    $self->author_tree->{ $id } =
+                        CPANPLUS::Module::Author::Fake->new( cpanid => $id );
                 };
-                
+
                 $mod->author( $auth_obj );
-                
+
                 ### and now add it to the module tree -- this MAY
                 ### override things of course
                 if( my $old_mod = $self->module_tree( $mod->module ) ) {
@@ -1401,15 +1454,15 @@
                     msg(loc("About to overwrite module tree entry for '%1' with '%2'",
                             $mod->module, $mod->package), $verbose);
                 }
-                
+
                 ### mark where it came from
                 $mod->description( loc("Custom source from '%1'",$name) );
-                
+
                 ### store it in the module tree
                 $self->module_tree->{ $mod->module } = $mod;
             }
         }
-        
+
         return 1;
     }
 }


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Source.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils/Autoflush.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils/Autoflush.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils/Autoflush.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,9 @@
 package CPANPLUS::Internals::Utils::Autoflush;
+use deprecate;
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 BEGIN { $|++ };
 
 1;


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils/Autoflush.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals::Utils;
+use deprecate;
 
 use strict;
 
@@ -10,7 +11,11 @@
 use Params::Check               qw[check];
 use Module::Load::Conditional   qw[can_load];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
+use version;
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 local $Params::Check::VERBOSE = 1;
 
 =pod
@@ -17,7 +22,7 @@
 
 =head1 NAME
 
-CPANPLUS::Internals::Utils
+CPANPLUS::Internals::Utils - convenience functions for CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -59,7 +64,7 @@
 
     my $args = check( $tmpl, \%hash ) or (
         error(loc( Params::Check->last_error ) ), return
-    );       
+    );
 
     unless( can_load( modules => { 'File::Path' => 0.0 } ) ) {
         error( loc("Could not use File::Path! This module should be core!") );
@@ -162,20 +167,20 @@
     };
 
     check( $tmpl, \%hash ) or return;
-    
+
     my $perl_version;
     ### special perl, or the one we are running under?
     if( $perl eq $^X ) {
-        ### just load the config        
+        ### just load the config
         require Config;
         $perl_version = $Config::Config{version};
-        
+
     } else {
         my $cmd  = $perl .
                 ' -MConfig -eprint+Config::config_vars+version';
         ($perl_version) = (`$cmd` =~ /version='(.*)'/);
     }
-    
+
     return $perl_version if defined $perl_version;
     return;
 }
@@ -199,7 +204,11 @@
 
     check( $tmpl, \%hash ) or return;
 
-    return $version if $version =~ /^\.?\d/;
+    $version =~ s!_!!g; # *sigh*
+    return $version if $version =~ /^\d*(?:\.\d+)?$/;
+    if ( my ($vers) = $version =~ /^(v?\d+(?:\.\d+(?:\.\d+)?)?)/ ) {
+      return eval { version->parse($vers)->numify };
+    }
     return '0.0';
 }
 
@@ -282,7 +291,7 @@
 sub _copy {
     my $self = shift;
     my %hash = @_;
-    
+
     my($from,$to);
     my $tmpl = {
         file    =>{ required => 1, allow => [IS_FILE,IS_DIR],
@@ -311,28 +320,28 @@
 sub _mode_plus_w {
     my $self = shift;
     my %hash = @_;
-    
+
     require File::stat;
-    
+
     my $file;
     my $tmpl = {
         file    => { required => 1, allow => IS_FILE, store => \$file },
     };
-    
+
     check( $tmpl, \%hash ) or return;
-    
+
     ### set the mode to +w for a file and +wx for a dir
     my $x       = File::stat::stat( $file );
     my $mask    = -d $file ? 0100 : 0200;
-    
+
     if( $x and chmod( $x->mode|$mask, $file ) ) {
         return 1;
 
-    } else {        
+    } else {
         error(loc("Failed to '%1' '%2': '%3'", 'chmod +w', $file, $!));
         return;
     }
-}    
+}
 
 =head2 $uri = $cb->_host_to_uri( scheme => SCHEME, host => HOST, path => PATH );
 
@@ -345,13 +354,13 @@
 sub _host_to_uri {
     my $self = shift;
     my %hash = @_;
-    
+
     my($scheme, $host, $path);
     my $tmpl = {
         scheme  => { required => 1,             store => \$scheme },
         host    => { default  => 'localhost',   store => \$host },
         path    => { default  => '',            store => \$path },
-    };       
+    };
 
     check( $tmpl, \%hash ) or return;
 
@@ -358,10 +367,10 @@
     ### it's an URI, so unixify the path.
     ### VMS has a special method for just that
     $path = ON_VMS
-                ? VMS::Filespec::unixify($path) 
+                ? VMS::Filespec::unixify($path)
                 : File::Spec::Unix->catdir( File::Spec->splitdir( $path ) );
 
-    return "$scheme://" . File::Spec::Unix->catdir( $host, $path ); 
+    return "$scheme://" . File::Spec::Unix->catdir( $host, $path );
 }
 
 =head2 $cb->_vcmp( VERSION, VERSION );
@@ -373,9 +382,10 @@
 sub _vcmp {
     my $self = shift;
     my ($x, $y) = @_;
-    
-    s/_//g foreach $x, $y;
 
+    $x = $self->_version_to_number(version => $x);
+    $y = $self->_version_to_number(version => $y);
+
     return $x <=> $y;
 }
 
@@ -386,6 +396,15 @@
 =cut
 
 sub _home_dir {
+
+    if ( can_load( modules => { 'File::HomeDir' => 0.0 } ) ) {
+      if ( defined $ENV{APPDATA} && length $ENV{APPDATA} && !ON_WIN32 ) {
+        msg("'APPDATA' env var is set and not on MSWin32, " .
+            "please use 'PERL5_CPANPLUS_HOME' instead to change .cpanplus location", 1 );
+      }
+      return File::HomeDir->my_home if -d File::HomeDir->my_home;
+    }
+
     my @os_home_envs = qw( APPDATA HOME USERPROFILE WINDIR SYS$LOGIN );
 
     for my $env ( @os_home_envs ) {
@@ -399,7 +418,7 @@
 
 =head2 $path = $cb->_safe_path( path => $path );
 
-Returns a path that's safe to us on Win32 and VMS. 
+Returns a path that's safe to us on Win32 and VMS.
 
 Only cleans up the path on Win32 if the path exists.
 
@@ -409,20 +428,20 @@
 
 sub _safe_path {
     my $self = shift;
-    
+
     my %hash = @_;
-    
+
     my $path;
     my $tmpl = {
         path  => { required => 1,     store => \$path },
-    };       
+    };
 
     check( $tmpl, \%hash ) or return;
-    
+
     if( ON_WIN32 ) {
-        ### only need to fix it up if there's spaces in the path   
+        ### only need to fix it up if there's spaces in the path
         return $path unless $path =~ /\s+/;
-        
+
         ### clean up paths if we are on win32
         return Win32::GetShortPathName( $path ) || $path;
 
@@ -429,16 +448,16 @@
     } elsif ( ON_VMS ) {
         ### XXX According to John Malmberg, there's an VMS issue:
         ### catdir on VMS can not currently deal with directory components
-        ### with dots in them.  
-        ### Fixing this is a a three step procedure, which will work for 
-        ### VMS in its traditional ODS-2 mode, and it will also work if 
+        ### with dots in them.
+        ### Fixing this is a a three step procedure, which will work for
+        ### VMS in its traditional ODS-2 mode, and it will also work if
         ### VMS is in the ODS-5 mode that is being implemented.
         ### If the path is already in VMS syntax, assume that we are done.
- 
+
         ### VMS format is a path with a trailing ']' or ':'
         return $path if $path =~ /\:|\]$/;
 
-        ### 1. Make sure that the value to be converted, $path is 
+        ### 1. Make sure that the value to be converted, $path is
         ### in UNIX directory syntax by appending a '/' to it.
         $path .= '/' unless $path =~ m|/$|;
 
@@ -448,17 +467,17 @@
         ### filename translation, as filename translation leaves one dot.
         $path = VMS::Filespec::vmsify( $path );
 
-        ### 3. Use $path = File::Spec->splitdir( VMS::Filespec::vmsify( 
+        ### 3. Use $path = File::Spec->splitdir( VMS::Filespec::vmsify(
         ### $path . '/') to remove the directory delimiters.
 
         ### From John Malmberg:
         ### File::Spec->catdir will put the path back together.
-        ### The '/' trick only works if the string is a directory name 
-        ### with UNIX style directory delimiters or no directory delimiters.  
+        ### The '/' trick only works if the string is a directory name
+        ### with UNIX style directory delimiters or no directory delimiters.
         ### It is to force vmsify to treat the input specification as UNIX.
         ###
         ### There is a VMS::Filespec::unixpath() to do the appending of the '/'
-        ### to the specification, which will do a VMS::Filespec::vmsify() 
+        ### to the specification, which will do a VMS::Filespec::vmsify()
         ### if needed.
         ### However it is not a good idea to call vmsify() on a pathname
         ### returned by unixify(), and it is not a good idea to call unixify()
@@ -469,7 +488,7 @@
         ### trip, but not ones containing filenames.
         $path = File::Spec->catdir( File::Spec->splitdir( $path ) )
     }
-    
+
     return $path;
 }
 
@@ -476,7 +495,7 @@
 
 =head2 ($pkg, $version, $ext) = $cb->_split_package_string( package => PACKAGE_STRING );
 
-Splits the name of a CPAN package string up into its package, version 
+Splits the name of a CPAN package string up into its package, version
 and extension parts.
 
 For example, C<Foo-Bar-1.2.tar.gz> would return the following parts:
@@ -488,17 +507,17 @@
 =cut
 
 {   my $del_re = qr/[-_\+]/i;           # delimiter between elements
-    my $pkg_re = qr/[a-z]               # any letters followed by 
+    my $pkg_re = qr/[a-z]               # any letters followed by
                     [a-z\d]*            # any letters, numbers
                     (?i:\.pm)?          # followed by '.pm'--authors do this :(
                     (?:                 # optionally repeating:
                         $del_re         #   followed by a delimiter
-                        [a-z]           #   any letters followed by 
-                        [a-z\d]*        #   any letters, numbers                        
+                        [a-z]           #   any letters followed by
+                        [a-z\d]*        #   any letters, numbers
                         (?i:\.pm)?      # followed by '.pm'--authors do this :(
                     )*
-                /xi;   
-    
+                /xi;
+
     my $ver_re = qr/[a-z]*\d*?[a-z]*    # contains a digit and possibly letters
                     (?:                 # however, some start with a . only :(
                         [-._]           # followed by a delimiter
@@ -505,10 +524,10 @@
                         [a-z\d]+        # and more digits and or letters
                     )*?
                 /xi;
- 
+
     my $ext_re = qr/[a-z]               # a letter, followed by
                     [a-z\d]*            # letters and or digits, optionally
-                    (?:                 
+                    (?:
                         \.              #   followed by a dot and letters
                         [a-z\d]+        #   and or digits (like .tar.bz2)
                     )?                  #   optionally
@@ -521,20 +540,20 @@
                             ($ext_re)   # extension,
                         )?              # optional, but requires version
                 /xi;
-                
+
     ### composed regex for CPAN packages
     my $full_re = qr/
                     ^
                     (                       # the whole thing
                         ($pkg_re+)          # package
-                        (?: 
+                        (?:
                             $del_re         # delimiter
                             $ver_ext_re     # version + extension
                         )?
                     )
-                    $                    
+                    $
                 /xi;
-                
+
     ### composed regex for perl packages
     my $perl    = PERL_CORE;
     my $perl_re = qr/
@@ -546,28 +565,28 @@
                         )?
                     )
                     $
-                /xi;       
+                /xi;
 
 
 sub _split_package_string {
         my $self = shift;
         my %hash = @_;
-        
+
         my $str;
         my $tmpl = { package => { required => 1, store => \$str } };
         check( $tmpl, \%hash ) or return;
-        
-        
-        ### 2 different regexes, one for the 'perl' package, 
-        ### one for ordinary CPAN packages.. try them both, 
+
+
+        ### 2 different regexes, one for the 'perl' package,
+        ### one for ordinary CPAN packages.. try them both,
         ### first match wins.
         for my $re ( $full_re, $perl_re ) {
-            
+
             ### try the next if the match fails
             $str =~ $re or next;
 
             my $full    = $1 || '';
-            my $pkg     = $2 || ''; 
+            my $pkg     = $2 || '';
             my $ver     = $3 || '';
             my $ext     = $4 || '';
 
@@ -574,13 +593,13 @@
             ### this regex resets the capture markers!
             ### strip the trailing delimiter
             $pkg =~ s/$del_re$//;
-            
+
             ### strip the .pm package suffix some authors insist on adding
             $pkg =~ s/\.pm$//i;
 
             return ($pkg, $ver, $ext, $full );
         }
-        
+
         return;
     }
 }
@@ -587,42 +606,42 @@
 
 {   my %escapes = map {
         chr($_) => sprintf("%%%02X", $_)
-    } 0 .. 255;  
-    
+    } 0 .. 255;
+
     sub _uri_encode {
         my $self = shift;
         my %hash = @_;
-        
+
         my $str;
         my $tmpl = {
             uri => { store => \$str, required => 1 }
         };
-        
+
         check( $tmpl, \%hash ) or return;
 
         ### XXX taken straight from URI::Encode
         ### Default unsafe characters.  RFC 2732 ^(uric - reserved)
         $str =~ s|([^A-Za-z0-9\-_.!~*'()])|$escapes{$1}|g;
-    
-        return $str;          
+
+        return $str;
     }
-    
-    
+
+
     sub _uri_decode {
         my $self = shift;
         my %hash = @_;
-        
+
         my $str;
         my $tmpl = {
             uri => { store => \$str, required => 1 }
         };
-        
+
         check( $tmpl, \%hash ) or return;
-    
+
         ### XXX use unencode routine in utils?
-        $str =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg; 
-    
-        return $str;    
+        $str =~ s/%([0-9A-Fa-f]{2})/chr(hex($1))/eg;
+
+        return $str;
     }
 }
 
@@ -629,14 +648,14 @@
 sub _update_timestamp {
     my $self = shift;
     my %hash = @_;
-    
+
     my $file;
     my $tmpl = {
         file => { required => 1, store => \$file, allow => FILE_EXISTS }
     };
-    
+
     check( $tmpl, \%hash ) or return;
-   
+
     ### `touch` the file, so windoze knows it's new -jmb
     ### works on *nix too, good fix -Kane
     ### make sure it is writable first, otherwise the `touch` will fail
@@ -646,7 +665,7 @@
         error( loc("Couldn't touch %1", $file) );
         return;
     }
-    
+
     return 1;
 }
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Internals;
+use deprecate;
 
 ### we /need/ perl5.6.1 or higher -- we use coderefs in @INC,
 ### and 5.6.0 is just too buggy
@@ -7,7 +8,6 @@
 use strict;
 use Config;
 
-
 use CPANPLUS::Error;
 
 use CPANPLUS::Selfupdate;
@@ -19,7 +19,6 @@
 use CPANPLUS::Internals::Search;
 use CPANPLUS::Internals::Report;
 
-
 require base;
 use Cwd                         qw[cwd];
 use Module::Load                qw[load];
@@ -29,7 +28,6 @@
 
 use Object::Accessor;
 
-
 local $Params::Check::VERBOSE = 1;
 
 use vars qw[@ISA $VERSION];
@@ -42,13 +40,13 @@
             CPANPLUS::Internals::Report
         ];
 
-$VERSION = "0.9103";
+$VERSION = "0.9135";
 
 =pod
 
 =head1 NAME
 
-CPANPLUS::Internals
+CPANPLUS::Internals - CPANPLUS internals
 
 =head1 SYNOPSIS
 
@@ -79,7 +77,7 @@
 =cut
 
 ### autogenerate accessors ###
-for my $key ( qw[_conf _id _modules _hosts _methods _status
+for my $key ( qw[_conf _id _modules _hosts _methods _status _path
                  _callbacks _selfupdate _mtree _atree]
 ) {
     no strict 'refs';
@@ -109,7 +107,7 @@
     ### if extra callbacks are added, don't forget to update the
     ### 02-internals.t test script with them!
     my $callback_map = {
-        ### name                default value    
+        ### name                default value
         install_prerequisite    => 1,   # install prereqs when 'ask' is set?
         edit_test_report        => 0,   # edit the prepared test report?
         send_test_report        => 1,   # send the test report?
@@ -121,7 +119,7 @@
         proceed_on_test_failure => sub { return 0 },
         munge_dist_metafile     => sub { return $_[1] },
     };
-    
+
     my $status = Object::Accessor->new;
     $status->mk_accessors(qw[pending_prereqs]);
 
@@ -139,6 +137,7 @@
         _methods    => { default => {},                 no_override => 1 },
         _status     => { default => '<empty>',          no_override => 1 },
         _callbacks  => { default => '<empty>',          no_override => 1 },
+        _path       => { default => $ENV{PATH} || '',   no_override => 1 },
     };
 
     sub _init {
@@ -169,14 +168,14 @@
         for my $name ( $callback->ls_accessors ) {
             my $rv = ref $callback_map->{$name} ? 'sub return value' :
                          $callback_map->{$name} ? 'true' : 'false';
-        
+
             $args->_callbacks->$name(
                 sub { msg(loc("DEFAULT '%1' HANDLER RETURNING '%2'",
-                              $name, $rv), $args->_conf->get_conf('debug')); 
-                      return ref $callback_map->{$name} 
+                              $name, $rv), $args->_conf->get_conf('debug'));
+                      return ref $callback_map->{$name}
                                 ? $callback_map->{$name}->( @_ )
                                 : $callback_map->{$name};
-                } 
+                }
             );
         }
 
@@ -199,24 +198,24 @@
         }
 
         ### different source engines available now, so set them here
-        {   my $store = $conf->get_conf( 'source_engine' ) 
+        {   my $store = $conf->get_conf( 'source_engine' )
                             || DEFAULT_SOURCE_ENGINE;
 
             unless( can_load( modules => { $store => '0.0' }, verbose => 1 ) ) {
                 error( loc( "Could not load source engine '%1'", $store ) );
-            
+
                 if( $store ne DEFAULT_SOURCE_ENGINE ) {
                     msg( loc("Falling back to %1", DEFAULT_SOURCE_ENGINE), 1 );
-                   
+
                     load DEFAULT_SOURCE_ENGINE;
-                    
+
                     base->import( DEFAULT_SOURCE_ENGINE );
                 } else {
                     return;
-                }     
+                }
             } else {
                  base->import( $store );
-            }                
+            }
         }
 
         return $args;
@@ -254,6 +253,7 @@
             if( $what eq 'lib' ) {
                 $ENV{PERL5LIB}  = $conf->_perl5lib || '';
                 @INC            = @{$conf->_lib};
+                $ENV{PATH}      = $self->_path || '';
 
             ### give all modules a new status object -- this is slightly
             ### costly, but the best way to make sure all statuses are
@@ -268,7 +268,7 @@
             ### File::Fetch's method fail list
             } elsif ( $what eq 'methods' ) {
 
-                ### still fucking p4 :( ###
+                ### still unbelievably p4 :( ###
                 $File'Fetch::METHOD_FAIL = $File'Fetch::METHOD_FAIL = {};
 
             ### blow away the m::l::c cache, so modules can be (re)loaded
@@ -293,7 +293,7 @@
 ### if extra callbacks are added, don't forget to update the
 ### 02-internals.t test script with them!
 
-=pod 
+=pod
 
 =head2 $bool = $internals->_register_callback( name => CALLBACK_NAME, code => CODEREF );
 
@@ -312,20 +312,20 @@
 =item send_test_report
 
 Is called when the user should be prompted if he wishes to send the
-test report. Should return a boolean indicating true to send the 
+test report. Should return a boolean indicating true to send the
 test report and false to skip it.
 
 =item munge_test_report
 
 Is called when the test report message has been composed, giving
-the user a chance to programatically alter it. Should return the 
+the user a chance to programatically alter it. Should return the
 (munged) message to be sent.
 
 =item edit_test_report
 
 Is called when the user should be prompted to edit test reports
-about to be sent out by Test::Reporter. Should return a boolean 
-indicating true to edit the test report in an editor and false 
+about to be sent out by Test::Reporter. Should return a boolean
+indicating true to edit the test report in an editor and false
 to skip it.
 
 =item proceed_on_test_failure
@@ -365,18 +365,18 @@
     }
 
 # =head2 $bool = $internals->_add_callback( name => CALLBACK_NAME, code => CODEREF );
-# 
+#
 # Adds a new callback to be used from anywhere in the system. If the callback
 # is already known, an error is raised and false is returned. If the callback
 # is not yet known, it is added, and the corresponding coderef is registered
 # using the
-# 
+#
 # =cut
-# 
+#
 #     sub _add_callback {
 #         my $self = shift or return;
 #         my %hash = @_;
-#         
+#
 #         my ($name,$code);
 #         my $tmpl = {
 #             name    => { required => 1, store => \$name, },
@@ -383,18 +383,18 @@
 #             code    => { required => 1, allow => IS_CODEREF,
 #                          store => \$code },
 #         };
-# 
+#
 #         check( $tmpl, \%hash ) or return;
-# 
+#
 #         if( $callback->can( $name ) ) {
 #             error(loc("Callback '%1' is already registered"));
 #             return;
 #         }
-# 
+#
 #         $callback->mk_accessor( $name );
-# 
+#
 #         $self->_register_callback( name => $name, code => $code ) or return;
-# 
+#
 #         return 1;
 #     }
 
@@ -424,14 +424,14 @@
     check( $tmpl, \%hash ) or return;
 
     my $s = $Config{'path_sep'};
-    
+
     ### only add if it's not added yet
     for my $lib (@$dirs) {
         push @INC, $lib unless grep { $_ eq $lib } @INC;
         #
-        ### it will be complaining if $ENV{PERL5LIB] is not defined (yet).   
-        local $^W;  
-        $ENV{'PERL5LIB'} .= $s . $lib 
+        ### it will be complaining if $ENV{PERL5LIB] is not defined (yet).
+        local $^W;
+        $ENV{'PERL5LIB'} .= $s . $lib
             unless $ENV{'PERL5LIB'} =~ qr|\Q$s$lib\E|;
     }
 
@@ -440,6 +440,45 @@
 
 =pod
 
+=head2 $bool = $internals->_add_to_path( directories => \@dirs )
+
+Adds a list of directories to the PATH, but only if they actually
+contain anything.
+
+Returns true on success, false on failure.
+
+=cut
+
+sub _add_to_path {
+    my $self = shift;
+    my %hash = @_;
+
+    my $dirs;
+    my $tmpl = {
+        directories => { required => 1, default => [], store => \$dirs,
+                         strict_type => 1 },
+    };
+
+    check( $tmpl, \%hash ) or return;
+
+    my $s = $Config{'path_sep'};
+
+    require File::Glob;
+
+    ### only add if it's not added yet
+    for my $dir (@$dirs) {
+        $dir =~ s![\\/]*$!!g;
+        next if $ENV{PATH} =~ qr|\Q$dir\E|;
+        next unless -d $dir;
+        next unless File::Glob::bsd_glob( $dir . q{/*} );
+        $ENV{PATH} = join $s, $dir, $ENV{PATH};
+    }
+
+    return 1;
+}
+
+=pod
+
 =head2 $id = CPANPLUS::Internals->_last_id
 
 Return the id of the last object stored.


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Internals.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author/Fake.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author/Fake.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author/Fake.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Module::Author::Fake;
+use deprecate;
 
 
 use CPANPLUS::Module::Author;
@@ -6,9 +7,11 @@
 use CPANPLUS::Error;
 
 use strict;
-use vars            qw[@ISA];
+use vars            qw[@ISA $VERSION];
 use Params::Check   qw[check];
 
+$VERSION = "0.9135";
+
 @ISA = qw[CPANPLUS::Module::Author];
 
 $Params::Check::VERBOSE = 1;
@@ -17,7 +20,7 @@
 
 =head1 NAME
 
-CPANPLUS::Module::Author::Fake
+CPANPLUS::Module::Author::Fake - dummy author object for CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -63,7 +66,7 @@
     unless( $obj->_id ) {
         error(loc("No '%1' specified -- No CPANPLUS object associated!",'_id'));
         return;
-    } 
+    }
 
     ### rebless object ###
     return bless $obj, $class;


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author/Fake.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Module::Author;
+use deprecate;
 
 use strict;
 
@@ -6,6 +7,8 @@
 use CPANPLUS::Internals::Constants;
 use Params::Check               qw[check];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
+use vars qw[$VERSION];
+$VERSION = "0.9135";
 
 local $Params::Check::VERBOSE = 1;
 
@@ -13,7 +16,7 @@
 
 =head1 NAME
 
-CPANPLUS::Module::Author
+CPANPLUS::Module::Author - CPAN author object for CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -195,7 +198,7 @@
         my $dist = CPANPLUS::Module::Fake->new(
                         module  =>  do { my $m = $mod->package_name( $name );
                                          $m =~ s/-/::/g; $m;
-                                    },      
+                                    },
                         version =>  $mod->package_version(  $name ),
                         package =>  $name,
                         path    =>  $mod->path,     # same author after all


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Author.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Checksums.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Checksums.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Checksums.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,9 @@
 package CPANPLUS::Module::Checksums;
+use deprecate;
 
 use strict;
-use vars qw[@ISA];
+use vars qw[@ISA $VERSION];
 
-
 use CPANPLUS::Error;
 use CPANPLUS::Internals::Constants;
 
@@ -16,10 +16,11 @@
 $Params::Check::VERBOSE = 1;
 
 @ISA = qw[ CPANPLUS::Module::Signature ];
+$VERSION = "0.9135";
 
 =head1 NAME
 
-CPANPLUS::Module::Checksums
+CPANPLUS::Module::Checksums - checking the checksum of a distribution
 
 =head1 SYNOPSIS
 
@@ -28,7 +29,7 @@
 
 =head1 DESCRIPTION
 
-This is a class that provides functions for checking the checksum 
+This is a class that provides functions for checking the checksum
 of a distribution. Should not be loaded directly, but used via the
 interface provided via C<CPANPLUS::Module>.
 
@@ -102,7 +103,7 @@
     } else {
         msg(loc("Archive size is not known for '%1'",$self->package),$verbose);
     }
-    
+
     my $sha = $href->{ $self->package }->{'sha256'};
 
     unless( defined $sha ) {
@@ -142,7 +143,14 @@
     my $clone = $self->clone;
     $clone->package( CHECKSUMS );
 
-    my $file = $clone->fetch( ttl => 3600, %hash ) or return;
+    # If the user specified a fetchdir, then every CHECKSUMS file will always
+    # be stored there, not in an author-specific subdir.  Thus, in this case,
+    # we need to always re-fetch the CHECKSUMS file and hence need to set the
+    # TTL to something small.
+    my $have_fetchdir =
+        $self->parent->configure_object->get_conf('fetchdir') ne '';
+    my $ttl = $have_fetchdir ? 0.001 : 3600;
+    my $file = $clone->fetch( ttl => $ttl, %hash ) or return;
 
     return $file;
 }


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Checksums.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Fake.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Fake.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Fake.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Module::Fake;
+use deprecate;
 
 
 use CPANPLUS::Error;
@@ -7,9 +8,10 @@
 use CPANPLUS::Internals;
 
 use strict;
-use vars            qw[@ISA];
+use vars            qw[@ISA $VERSION];
 use Params::Check   qw[check];
 
+$VERSION = "0.9135";
 @ISA = qw[CPANPLUS::Module];
 $Params::Check::VERBOSE = 1;
 
@@ -17,7 +19,7 @@
 
 =head1 NAME
 
-CPANPLUS::Module::Fake
+CPANPLUS::Module::Fake - fake module object for internal use
 
 =head1 SYNOPSIS
 
@@ -49,9 +51,9 @@
 sub new {
     my $class = shift;
     my %hash  = @_;
-    
+
     local $Params::Check::ALLOW_UNKNOWN = 1;
-    
+
     my $tmpl = {
         module  => { required => 1 },
         path    => { required => 1 },
@@ -59,22 +61,22 @@
         _id     => { default => CPANPLUS::Internals->_last_id },
         author  => { default => '' },
     };
-    
+
     my $args = check( $tmpl, \%hash ) or return;
-    
-    $args->{author} ||= CPANPLUS::Module::Author::Fake->new( 
+
+    $args->{author} ||= CPANPLUS::Module::Author::Fake->new(
                                                         _id => $args->{_id} );
-    
+
     my $obj = CPANPLUS::Module->new( %$args ) or return;
-    
+
     unless( $obj->_id ) {
         error(loc("No '%1' specified -- No CPANPLUS object associated!",'_id'));
         return;
-    }        
-    
+    }
+
     ### rebless object ###
-    return bless $obj, $class;                                   
-}    
+    return bless $obj, $class;
+}
 
 1;
 
@@ -83,4 +85,4 @@
 # c-basic-offset: 4
 # indent-tabs-mode: nil
 # End:
-# vim: expandtab shiftwidth=4:    
+# vim: expandtab shiftwidth=4:


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Fake.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Signature.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Signature.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Signature.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,15 @@
 package CPANPLUS::Module::Signature;
+use deprecate;
 
 use strict;
 
-
 use Cwd;
 use CPANPLUS::Error;
 use Params::Check               qw[check];
 use Module::Load::Conditional   qw[can_load];
+use vars qw[$VERSION];
+$VERSION = "0.9135";
 
-
 ### detached sig, not actually used afaik --kane ###
 #sub get_signature {
 #    my $self = shift;


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module/Signature.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,10 @@
 package CPANPLUS::Module;
+use deprecate;
 
 use strict;
-use vars qw[@ISA];
+use vars qw[@ISA $VERSION];
+$VERSION = "0.9135";
 
-
 use CPANPLUS::Dist;
 use CPANPLUS::Error;
 use CPANPLUS::Module::Signature;
@@ -27,7 +28,7 @@
 
 =head1 NAME
 
-CPANPLUS::Module
+CPANPLUS::Module - CPAN module objects for CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -87,9 +88,9 @@
     ### autogenerate accessors ###
     for my $key ( keys %$tmpl ) {
         no strict 'refs';
-      
+
         my $sub = $rename{$key} || $key;
-      
+
         *{__PACKAGE__."::$sub"} = sub {
             $_[0]->{$key} = $_[1] if @_ > 1;
             return $_[0]->{$key};
@@ -153,7 +154,7 @@
 =cut
 
 sub dslip {
-    my $self    = shift;   
+    my $self    = shift;
 
     ### if this module has relevant dslip info, return it
     return $self->_dslip if $self->_dslip ne EMPTY_DSLIP;
@@ -163,7 +164,7 @@
     for my $mod ( $self->contains ) {
         return $mod->_dslip if $mod->_dslip ne EMPTY_DSLIP;
     }
-    
+
     ### ok, really no dslip info found, return the default
     return EMPTY_DSLIP;
 }
@@ -334,7 +335,7 @@
 sub status {
     my $self = shift;
     return $self->_status if $self->_status;
-    
+
     my $acc = Object::Accessor->new;
     $acc->mk_accessors( qw[ installer_type dist_cpan dist prereqs
                             signature extract fetch readme uninstall
@@ -395,12 +396,12 @@
 =head2 $mod->is_autobundle;
 
 Returns a boolean indicating if the module you are looking at, is
-actually an autobundle as generated by C<< $cb->autobundle >>. 
+actually an autobundle as generated by C<< $cb->autobundle >>.
 
 =head2 $mod->is_third_party
 
-Returns a boolean indicating whether the package is a known third-party 
-module (i.e. it's not provided by the standard Perl distribution and 
+Returns a boolean indicating whether the package is a known third-party
+module (i.e. it's not provided by the standard Perl distribution and
 is not available on the CPAN, but on a third party software provider).
 See L<Module::ThirdParty> for more details.
 
@@ -407,7 +408,7 @@
 =head2 $mod->third_party_information
 
 Returns a reference to a hash with more information about a third-party
-module. See the documentation about C<module_information()> in 
+module. See the documentation about C<module_information()> in
 L<Module::ThirdParty> for more details.
 
 =cut
@@ -417,22 +418,22 @@
         name        => 0,
         version     => 1,
         extension   => 2,
-    );        
-    
+    );
+
     while ( my($type, $index) = each %map ) {
         my $name    = 'package_' . $type;
-        
+
         no strict 'refs';
         *$name = sub {
             my $self = shift;
             my $val  = shift || $self->package;
             my @res  = $self->parent->_split_package_string( package => $val );
-     
+
             ### return the corresponding index from the result
             return $res[$index] if @res;
             return;
         };
-    }        
+    }
 
     sub package_is_perl_core {
         my $self = shift;
@@ -441,8 +442,8 @@
         ### check if the package looks like a perl core package
         return 1 if $self->package_name eq PERL_CORE;
 
-        ### address #44562: ::Module->package_is_perl_code : problem comparing 
-        ### version strings -- use $cb->_vcmp to avoid warnings when version 
+        ### address #44562: ::Module->package_is_perl_code : problem comparing
+        ### version strings -- use $cb->_vcmp to avoid warnings when version
         ### have _ in them
 
         my $core = $self->module_is_supplied_with_perl_core;
@@ -450,10 +451,10 @@
         if (defined $core) {
             ### if the package is newer than installed, then it's dual-lifed
             return if $cb->_vcmp($self->version, $self->installed_version) > 0;
-            
-            ### if the package is newer or equal to the corelist, 
+
+            ### if the package is newer or equal to the corelist,
             ### then it's dual-lifed
-            return if $cb->_vcmp( $self->version, $core ) >= 0; 
+            return if $cb->_vcmp( $self->version, $core ) >= 0;
 
             ### otherwise, it's older than corelist, thus unsuitable.
             return 1;
@@ -475,9 +476,9 @@
 
         ### check Module::CoreList to see if it's a core package
         require Module::CoreList;
-        
-        ### Address #41157: Module::module_is_supplied_with_perl_core() 
-        ### broken for perl 5.10: Module::CoreList's version key for the 
+
+        ### Address #41157: Module::module_is_supplied_with_perl_core()
+        ### broken for perl 5.10: Module::CoreList's version key for the
         ### hash has a different number of trailing zero than $] aka
         ### $PERL_VERSION.
 
@@ -493,13 +494,13 @@
     ### make sure Bundle-Foo also gets flagged as bundle
     sub is_bundle {
         my $self = shift;
-        
+
         ### cpan'd bundle
         return 1 if $self->module =~ /^bundle(?:-|::)/i;
-    
+
         ### autobundle
         return 1 if $self->is_autobundle;
-    
+
         ### neither
         return;
     }
@@ -516,9 +517,9 @@
 
     sub is_third_party {
         my $self = shift;
-        
+
         return unless can_load( modules => { 'Module::ThirdParty' => 0 } );
-        
+
         return Module::ThirdParty::is_3rd_party( $self->name );
     }
 
@@ -525,7 +526,7 @@
     sub third_party_information {
         my $self = shift;
 
-        return unless $self->is_third_party; 
+        return unless $self->is_third_party;
 
         return Module::ThirdParty::module_information( $self->name );
     }
@@ -543,15 +544,15 @@
 
 {   ### accessors dont change during run time, so only compute once
     my @acc = grep !/status/, __PACKAGE__->accessors();
-    
+
     sub clone {
         my $self = shift;
-    
+
         ### clone the object ###
         my %data = map { $_ => $self->$_ } @acc;
-    
+
         my $obj = CPANPLUS::Module::Fake->new( %data );
-    
+
         return $obj;
     }
 }
@@ -574,13 +575,13 @@
     my %args            = ( module => $self );
 
     ### if a custom fetch location got specified before, add that here
-    $args{fetch_from}   = $self->status->_fetch_from 
+    $args{fetch_from}   = $self->status->_fetch_from
                             if $self->status->_fetch_from;
 
     my $where = $cb->_fetch( @_, %args ) or return;
 
     ### do an md5 check ###
-    if( !$self->status->_fetch_from and 
+    if( !$self->status->_fetch_from and
         $cb->configure_object->get_conf('md5') and
         $self->package ne CHECKSUMS
     ) {
@@ -613,16 +614,16 @@
                     $self->module) );
         return;
     }
-    
+
     ### can't extract these, so just use the basedir for the file
     if( $self->is_autobundle ) {
-    
+
         ### this is expected to be set after an extract call
         $self->get_installer_type;
-    
+
         return $self->status->extract( dirname( $self->status->fetch ) );
     }
-    
+
     return $cb->_extract( @_, module => $self );
 }
 
@@ -649,16 +650,16 @@
         prefer_makefile => { default => $conf->get_conf('prefer_makefile'),
                              store   => \$prefer_makefile, allow => BOOLEANS },
         verbose         => { default => $conf->get_conf('verbose'),
-                             store   => \$verbose },                             
+                             store   => \$verbose },
     };
 
     check( $tmpl, \%hash ) or return;
 
     my $type;
-    
+
     ### autobundles use their own installer, so return that
     if( $self->is_autobundle ) {
-        $type = INSTALLER_AUTOBUNDLE;        
+        $type = INSTALLER_AUTOBUNDLE;
 
     } else {
         my $extract = $self->status->extract();
@@ -669,15 +670,18 @@
             ));
             return;
         }
-    
+
         ### check if it's a makemaker or a module::build type dist ###
         my $found_build     = -e BUILD_PL->( $extract );
         my $found_makefile  = -e MAKEFILE_PL->( $extract );
-    
+
         $type = INSTALLER_BUILD if !$prefer_makefile &&  $found_build;
         $type = INSTALLER_BUILD if  $found_build     && !$found_makefile;
         $type = INSTALLER_MM    if  $prefer_makefile &&  $found_makefile;
         $type = INSTALLER_MM    if  $found_makefile  && !$found_build;
+        # Special case Module::Build to always use INSTALLER_MM
+        $type = INSTALLER_MM    if  $self->package =~ m{^Module-Build-\d};
+
     }
 
     ### ok, so it's a 'build' installer, but you don't /have/ module build
@@ -685,22 +689,22 @@
     if( $type and $type eq INSTALLER_BUILD and (
         not CPANPLUS::Dist->has_dist_type( INSTALLER_BUILD )
         or not $cb->module_tree( INSTALLER_BUILD )
-                    ->is_uptodate( version => '0.24' )
+                    ->is_uptodate( version => '0.60' )
     ) ) {
-    
+
         ### XXX this is for recording purposes only. We *have* to install
         ### these before even creating a dist object, or we'll get an error
         ### saying 'no such dist type';
         ### XXX duplicated from CPANPLUS::Selfupdate. fix somehow?
         my $href = $self->status->configure_requires || {};
-        my $deps = { INSTALLER_BUILD, '0.24', %$href };
-        
+        my $deps = { INSTALLER_BUILD, '0.60', %$href };
+
         $self->status->configure_requires( $deps );
-        
+
         msg(loc("This module requires '%1' and '%2' to be installed first. ".
                 "Adding these modules to your prerequisites list",
                  'Module::Build', INSTALLER_BUILD
-        ), $verbose );                 
+        ), $verbose );
 
 
     ### ok, actually we found neither ###
@@ -747,7 +751,7 @@
         format  => { default => $conf->get_conf('dist_type') ||
                                 $self->status->installer_type,
                      store   => \$type },
-        target  => { default => TARGET_CREATE, store => \$target },                     
+        target  => { default => TARGET_CREATE, store => \$target },
         args    => { default => {}, store => \$args },
     };
 
@@ -761,20 +765,20 @@
         ### XXX we _could_ do this for any type we dont have actually...
         if( $type eq INSTALLER_BUILD ) {
             msg(loc("Bootstrapping installer '%1'", $type));
-        
+
             ### don't propagate the format, it's the one we're trying to
             ### bootstrap, so it'll be an infinite loop if we do
-        
+
             $cb->module_tree( $type )->install( target => $target, %$args ) or
                 do {
                     error(loc("Could not bootstrap installer '%1' -- ".
                               "can not continue", $type));
-                    return;                          
+                    return;
                 };
-        
+
             ### re-scan for available modules now
             CPANPLUS::Dist->rescan_dist_types;
-            
+
             unless( CPANPLUS::Dist->has_dist_type( $type ) ) {
                 error(loc("Newly installed installer type '%1' should be ".
                           "available, but is not! -- aborting", $type));
@@ -782,40 +786,40 @@
             } else {
                 msg(loc("Installer '%1' successfully bootstrapped", $type));
             }
-            
+
         ### some other plugin you dont have. Abort
         } else {
             error(loc("Installer type '%1' not found. Please verify your ".
                       "installation -- aborting", $type ));
             return;
-        }            
+        }
     }
 
-    ### make sure we don't overwrite it, just in case we came 
+    ### make sure we don't overwrite it, just in case we came
     ### back from a ->save_state. This allows restoration to
-    ### work correctly    
+    ### work correctly
     my( $dist, $dist_cpan );
-    
+
     unless( $dist = $self->status->dist ) {
         $dist = $type->new( module => $self ) or return;
         $self->status->dist( $dist );
     }
-    
+
     unless( $dist_cpan = $self->status->dist_cpan ) {
-        
+
         $dist_cpan = $type eq $self->status->installer_type
                         ? $self->status->dist
-                        : $self->status->installer_type->new( module => $self );           
+                        : $self->status->installer_type->new( module => $self );
 
 
         $self->status->dist_cpan(   $dist_cpan );
     }
-    
-    
+
+
     DIST: {
         ### just wanted the $dist object?
         last DIST if $target eq TARGET_INIT;
-    
+
         ### first prepare the dist
         $dist->prepare( %$args ) or return;
         $self->status->prepared(1);
@@ -834,7 +838,7 @@
 
 =head2 $bool = $mod->prepare( )
 
-Convenience method around C<install()> that prepares a module 
+Convenience method around C<install()> that prepares a module
 without actually building it. This is equivalent to invoking C<install>
 with C<target> set to C<prepare>
 
@@ -842,7 +846,7 @@
 
 =cut
 
-sub prepare { 
+sub prepare {
     my $self = shift;
     return $self->install( @_, target => TARGET_PREPARE );
 }
@@ -849,8 +853,8 @@
 
 =head2 $bool = $mod->create( )
 
-Convenience method around C<install()> that creates a module. 
-This is equivalent to invoking C<install> with C<target> set to 
+Convenience method around C<install()> that creates a module.
+This is equivalent to invoking C<install> with C<target> set to
 C<create>
 
 Returns true on success, false on failure.
@@ -857,7 +861,7 @@
 
 =cut
 
-sub create { 
+sub create {
     my $self = shift;
     return $self->install( @_, target => TARGET_CREATE );
 }
@@ -923,7 +927,7 @@
     }
 
 
-    ### if this target isn't 'install', we will need to at least 'create' 
+    ### if this target isn't 'install', we will need to at least 'create'
     ### every prereq, so it can build
     ### XXX prereq_target of 'prepare' will do weird things here, and is
     ### not supported.
@@ -964,7 +968,7 @@
                       $self->version, $self->package ) );
         }
         return;
-    
+
     ### it might be a known 3rd party module
     } elsif ( $self->is_third_party ) {
         my $info = $self->third_party_information;
@@ -978,7 +982,7 @@
             $self->name, $self->name, $info->{name}, $info->{author},
             $info->{url}
         ));
-        
+
         return;
     }
 
@@ -1028,10 +1032,10 @@
                         "-- Not trusting this module, aborting install",
                         $self->module ) );
             $self->status->signature(0);
-            
+
             ### send out test report on broken sig
             if( $conf->get_conf('cpantest') ) {
-                $cb->_send_report( 
+                $cb->_send_report(
                     module  => $self,
                     failed  => 1,
                     buffer  => CPANPLUS::Error->stack_as_string,
@@ -1039,8 +1043,8 @@
                     force   => $args->{force},
                 ) or error(loc("Failed to send test report for '%1'",
                      $self->module ) );
-            }  
-            
+            }
+
             return;
 
         } else {
@@ -1065,8 +1069,8 @@
         }
     }
 
-    my $dist = $self->dist( format  => $format, 
-                            target  => $target, 
+    my $dist = $self->dist( format  => $format,
+                            target  => $target,
                             args    => $args );
     unless( $dist ) {
         error( loc( "Unable to create a new distribution object for '%1' " .
@@ -1105,7 +1109,7 @@
     }
 
     my @files;
-    
+
     ### autobundles are special files generated by CPANPLUS. If we can
     ### read the file, we can determine the prereqs
     if( $self->is_autobundle ) {
@@ -1114,11 +1118,11 @@
             error(loc("Don't know where '%1' was fetched to", $self->package));
             return;
         }
-        
+
         push @files, $where
-    
+
     ### regular bundle::* upload
-    } else {    
+    } else {
         my $dir;
         unless( $dir = $self->status->extract ) {
             error(loc("Don't know where '%1' was extracted to", $self->module));
@@ -1188,7 +1192,7 @@
 
 sub readme {
     my $self = shift;
-    my $conf = $self->parent->configure_object;    
+    my $conf = $self->parent->configure_object;
 
     ### did we already dl the readme once? ###
     return $self->status->readme() if $self->status->readme();
@@ -1207,10 +1211,10 @@
 
     my $file;
     {   ### disable checksum fetches on readme downloads
-        
+
         my $tmp = $conf->get_conf( 'md5' );
         $conf->set_conf( md5 => 0 );
-        
+
         $file = $obj->fetch;
 
         $conf->set_conf( md5 => $tmp );
@@ -1275,7 +1279,7 @@
             #local @INC = CPANPLUS::inc->original_inc;
 
             my $self = shift;
-            
+
             ### make sure check_install is not looking in %INC, as
             ### that may contain some of our sneakily loaded modules
             ### that aren't installed as such. -- kane
@@ -1288,6 +1292,10 @@
                             @_,
                         );
 
+            ### Don't trust modules which are the result of @INC hooks
+            ### FatPacker uses this trickery and it causes WTF moments
+            return $alt_rv if defined $href->{dir} && ref $href->{dir};
+
             return $href->{$key} || $alt_rv;
         }
     }
@@ -1349,7 +1357,7 @@
 
 =head2 @list = $self->contains()
 
-Returns a list of module objects that represent the modules also 
+Returns a list of module objects that represent the modules also
 present in the package of this module.
 
 For example, for C<Archive::Tar> this might return:
@@ -1366,7 +1374,7 @@
     my $pkg  = $self->package;
 
     my @mods = $cb->search( type => 'package', allow => [qr/^$pkg$/] );
-    
+
     return @mods;
 }
 
@@ -1491,10 +1499,10 @@
         #    error( loc( "Could not remove '%1': %2", $dir, $! ) )
         #        unless $^O eq 'MSWin32';
         #}
-        
+
         my @cmd = ($^X, "-e", "rmdir q[$dir]");
         unshift @cmd, $sudo if $sudo;
-        
+
         my $buffer;
         unless ( run(   command => \@cmd,
                         verbose => $verbose,
@@ -1619,19 +1627,19 @@
     my @libs;
     for my $lib ( @{ $conf->get_conf('lib') } ) {
         require Config;
-  
+
         ### and just the standard dir
         push @libs, $lib;
-  
+
         ### figure out what an MM prefix expands to. Basically, it's the
-        ### site install target from %Config, ie: /opt/lib/perl5/site_perl/5.8.8 
+        ### site install target from %Config, ie: /opt/lib/perl5/site_perl/5.8.8
         ### minus the site wide prefix, ie: /opt
         ### this lets users add the dir they have set as their EU::MM PREFIX
         ### to our 'lib' config and it Just Works
         ### the arch specific dir, ie:
-        ### /opt/lib/perl5/site_perl/5.8.8/darwin-2level        
+        ### /opt/lib/perl5/site_perl/5.8.8/darwin-2level
         ### XXX is this the right thing to do?
-        
+
         ### we add all 6 dir combos for prefixes:
         ### /foo/lib
         ### /foo/lib/arch
@@ -1641,7 +1649,7 @@
         ### /foo/vendor/lib/arch
         for my $href ( @config_names ) {
             for my $key ( qw[lib arch] ) {
-            
+
                 ### look up the config value -- use EXP for the EXPANDED
                 ### version, so no ~ etc are found in there
                 my $dir     = $Config::Config{ $href->{ $key } .'exp' } or next;
@@ -1653,15 +1661,15 @@
 
                 ### remove the prefix from it, so we can append to our $lib
                 $dir        =~ s/^\Q$prefix\E//;
-                
+
                 ### do the appending
                 push @libs, File::Spec->catdir( $lib, $dir );
-                
+
             }
         }
-    }        
+    }
 
-    my $inst;    
+    my $inst;
     unless( $inst = ExtUtils::Installed->new( extra_libs => \@libs ) ) {
         error( loc("Could not create an '%1' object", 'ExtUtils::Installed' ) );
 
@@ -1690,19 +1698,22 @@
 Adds the current modules path to C<@INC> and C<$PERL5LIB>. This allows
 you to add the module from its build dir to your path.
 
-You can reset C<@INC> and C<$PERL5LIB> to its original state when you
+It also adds the current modules C<bin> and/or C<script> paths to
+the PATH.
+
+You can reset C<$PATH>, C<@INC> and C<$PERL5LIB> to their original state when you
 started the program, by calling:
 
     $self->parent->flush('lib');
-    
+
 =cut
 
 sub add_to_includepath {
     my $self = shift;
     my $cb   = $self->parent;
-    
+
     if( my $dir = $self->status->extract ) {
-        
+
             $cb->_add_to_includepath(
                     directories => [
                         File::Spec->catdir(BLIB->($dir), LIB),
@@ -1710,7 +1721,14 @@
                         BLIB->($dir),
                     ]
             ) or return;
-        
+
+            $cb->_add_to_path(
+                    directories => [
+                        File::Spec->catdir(BLIB->($dir), SCRIPT),
+                        File::Spec->catdir(BLIB->($dir), BIN),
+                    ]
+            ) or return;
+
     } else {
         error(loc(  "No extract dir registered for '%1' -- can not add ".
                     "add builddir to search path!", $self->module ));
@@ -1769,7 +1787,7 @@
 #         CPANPLUS::inc->path_to('Module::Build') eq
 #         CPANPLUS::inc->installer_path )
 #     ) {
-# 
+#
 #         ### if the module being installed is *not* Module::Build
 #         ### itself -- as that would undoubtedly be newer -- add
 #         ### the path to the installers to @INC
@@ -1798,10 +1816,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Selfupdate.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Selfupdate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Selfupdate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Selfupdate;
+use deprecate;
 
 use strict;
 use Params::Check               qw[check];
@@ -9,29 +10,32 @@
 
 use CPANPLUS::Internals::Constants;
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 $Params::Check::VERBOSE = 1;
 
 =head1 NAME
 
-CPANPLUS::Selfupdate
+CPANPLUS::Selfupdate - self-updating for CPANPLUS
 
 =head1 SYNOPSIS
 
     $su     = $cb->selfupdate_object;
-    
+
     @feats  = $su->list_features;
     @feats  = $su->list_enabled_features;
-    
+
     @mods   = map { $su->modules_for_feature( $_ ) } @feats;
     @mods   = $su->list_core_dependencies;
     @mods   = $su->list_core_modules;
-    
+
     for ( @mods ) {
         print $_->name " should be version " . $_->version_required;
-        print "Installed version is not uptodate!" 
+        print "Installed version is not uptodate!"
             unless $_->is_installed_version_sufficient;
     }
-    
+
     $ok     = $su->selfupdate( update => 'all', latest => 0 );
 
 =cut
@@ -47,13 +51,13 @@
             'Locale::Maketext::Simple'  => '0.01',
             'Log::Message'              => '0.01',
             'Module::Load'              => '0.10',
-            'Module::Load::Conditional' => '0.38', # returns dir for loaded
+            'Module::Load::Conditional' => '0.50', # returns dir for loaded
                                                    # modules
-            'version'                   => '0.73', # needed for M::L::C
-                                                   # addresses #24630 and 
+            'version'                   => '0.77', # needed for M::L::C
+                                                   # addresses #24630 and
                                                    # #24675
                                                    # Address ~0 overflow issue
-            'Params::Check'             => '0.22',
+            'Params::Check'             => '0.36',
             'Package::Constants'        => '0.01',
             'Term::UI'                  => '0.18', # option parsing
             'Test::Harness'             => '2.62', # due to bug #19505
@@ -62,16 +66,16 @@
             'Archive::Extract'          => '0.16', # ./Dir bug fix
             'Archive::Tar'              => '1.23',
             'IO::Zlib'                  => '1.04', # needed for Archive::Tar
-            'Object::Accessor'          => '0.34', # mk_aliases support
+            'Object::Accessor'          => '0.44', # mk_aliases support
             'Module::CoreList'          => '2.22', # deprecated core modules
             'Module::Pluggable'         => '2.4',
             'Module::Loaded'            => '0.01',
             'Parse::CPAN::Meta'         => '1.4200', # config_requires support
             'ExtUtils::Install'         => '1.42', # uninstall outside @INC
-            ( check_install( module => 'CPANPLUS::Dist::Build' ) 
-              ? ( 'CPANPLUS::Dist::Build' => '0.24' ) : () ),
+            ( check_install( module => 'CPANPLUS::Dist::Build' )
+              ? ( 'CPANPLUS::Dist::Build' => '0.60' ) : () ),
         },
-    
+
         features => {
             # config_key_name => [
             #     sub { } to list module key/value pairs
@@ -80,29 +84,29 @@
             prefer_makefile => [
                 sub {
                     my $cb = shift;
-                    $cb->configure_object->get_conf('prefer_makefile') 
+                    $cb->configure_object->get_conf('prefer_makefile')
                         ? { }
-                        : { 'CPANPLUS::Dist::Build' => '0.24'  };
+                        : { 'CPANPLUS::Dist::Build' => '0.60'  };
                 },
                 sub { return 1 },   # always enabled
-            ],            
+            ],
             cpantest        => [
                 { 'Test::Reporter'  => '1.34',
                   'Parse::CPAN::Meta' => '1.4200'
                 },
-                sub { 
+                sub {
                     my $cb = shift;
                     return $cb->configure_object->get_conf('cpantest');
                 },
-            ],                
+            ],
             dist_type => [
-                sub { 
+                sub {
                     my $cb      = shift;
                     my $dist    = $cb->configure_object->get_conf('dist_type');
                     return { $dist => '0.0' } if $dist;
                     return;
-                },            
-                sub { 
+                },
+                sub {
                     my $cb = shift;
                     return $cb->configure_object->get_conf('dist_type');
                 },
@@ -111,17 +115,17 @@
             md5 => [
                 {
                     'Digest::SHA'   => '0.0',
-                },            
-                sub { 
+                },
+                sub {
                     my $cb = shift;
                     return $cb->configure_object->get_conf('md5');
                 },
             ],
             shell => [
-                sub { 
+                sub {
                     my $cb      = shift;
                     my $dist    = $cb->configure_object->get_conf('shell');
-                    
+
                     ### we bundle these shells, so don't bother having a dep
                     ### on them... If we don't do this, CPAN.pm actually detects
                     ### a recursive dependency and breaks (see #26077).
@@ -130,9 +134,9 @@
                     return if $dist eq SHELL_DEFAULT or $dist eq SHELL_CLASSIC;
                     return { $dist => '0.0' } if $dist;
                     return;
-                },            
+                },
                 sub { return 1 },
-            ],                
+            ],
             signature => [
                 sub {
                     my $cb      = shift;
@@ -146,11 +150,11 @@
                     ### this change due to this ticket: #26914
                     # and $cb->configure_object->get_conf('prefer_bin');
 
-                    return { 
-                        'Crypt::OpenPGP'    => '0.0', 
+                    return {
+                        'Crypt::OpenPGP'    => '0.0',
                         'Module::Signature' => '0.06',
                     };
-                },            
+                },
                 sub {
                     my $cb = shift;
                     return $cb->configure_object->get_conf('signature');
@@ -157,8 +161,8 @@
                 },
             ],
             storable => [
-                { 'Storable' => '0.0' },         
-                sub { 
+                { 'Storable' => '0.0' },
+                sub {
                     my $cb = shift;
                     return $cb->configure_object->get_conf('storable');
                 },
@@ -170,10 +174,10 @@
                 sub {
                     my $cb   = shift;
                     my $conf = $cb->configure_object;
-                    return $conf->get_conf('source_engine') 
+                    return $conf->get_conf('source_engine')
                         eq 'CPANPLUS::Internals::Source::SQLite'
-                },                        
-            ],                    
+                },
+            ],
         },
         core => {
             'CPANPLUS' => '0.0',
@@ -196,35 +200,35 @@
     my $class = shift;
     my $cb    = shift or return;
     return bless sub { $cb }, $class;
-}    
+}
 
 
 {   ### cache to find the relevant modules
     my $cache = {
-        core 
+        core
             => sub { my $self = shift;
                      core => [ $self->list_core_modules ]   },
- 
-        dependencies        
+
+        dependencies
             => sub { my $self = shift;
                      dependencies => [ $self->list_core_dependencies ] },
 
-        enabled_features    
+        enabled_features
             => sub { my $self = shift;
                      map { $_ => [ $self->modules_for_feature( $_ ) ] }
-                        $self->list_enabled_features 
+                        $self->list_enabled_features
                    },
         features
             => sub { my $self = shift;
                      map { $_ => [ $self->modules_for_feature( $_ ) ] }
-                        $self->list_features   
+                        $self->list_features
                    },
             ### make sure to do 'core' first, in case
             ### we are out of date ourselves
         all => [ qw|core dependencies enabled_features| ],
     };
-    
-    
+
+
 =head2 @cat = $self->list_categories
 
 Returns a list of categories that the C<selfupdate> method accepts.
@@ -237,7 +241,7 @@
 
 =head2 %list = $self->list_modules_to_update( update => "core|dependencies|enabled_features|features|all", [latest => BOOL] )
 
-List which modules C<selfupdate> would upgrade. You can update either 
+List which modules C<selfupdate> would upgrade. You can update either
 the core (CPANPLUS itself), the core dependencies, all features you have
 currently turned on, or all features available, or everything.
 
@@ -244,7 +248,7 @@
 The C<latest> option determines whether it should update to the latest
 version on CPAN, or if the minimal required version for CPANPLUS is
 good enough.
-    
+
 Returns a hash of feature names and lists of module objects to be
 upgraded based on the category you provided. For example:
 
@@ -254,40 +258,40 @@
 
     ( core => [ $module_object_for_cpanplus ] );
 
-=cut    
-    
+=cut
+
     sub list_modules_to_update {
         my $self = shift;
         my $cb   = $self->();
         my $conf = $cb->configure_object;
         my %hash = @_;
-        
+
         my($type, $latest);
         my $tmpl = {
             update => { required => 1, store => \$type,
                          allow   => [ keys %$cache ], },
-            latest => { default  => 0, store => \$latest, allow => BOOLEANS },                     
-        };    
-    
+            latest => { default  => 0, store => \$latest, allow => BOOLEANS },
+        };
+
         {   local $Params::Check::ALLOW_UNKNOWN = 1;
             check( $tmpl, \%hash ) or return;
         }
-    
+
         my $ref     = $cache->{$type};
 
-        ### a list of ( feature1 => \@mods, feature2 => \@mods, etc )        
+        ### a list of ( feature1 => \@mods, feature2 => \@mods, etc )
         my %list    = UNIVERSAL::isa( $ref, 'ARRAY' )
                             ? map { $cache->{$_}->( $self ) } @$ref
                             : $ref->( $self );
 
         ### filter based on whether we need the latest ones or not
-        for my $aref ( values %list ) {              
-              $aref = [ $latest 
+        for my $aref ( values %list ) {
+              $aref = [ $latest
                         ? grep { !$_->is_uptodate } @$aref
                         : grep { !$_->is_installed_version_sufficient } @$aref
                       ];
         }
-        
+
         return %list;
     }
 
@@ -310,21 +314,21 @@
         my $cb   = $self->();
         my $conf = $cb->configure_object;
         my %hash = @_;
-    
+
         my $force;
         my $tmpl = {
             force  => { default => $conf->get_conf('force'), store => \$force },
-        };    
-    
+        };
+
         {   local $Params::Check::ALLOW_UNKNOWN = 1;
             check( $tmpl, \%hash ) or return;
         }
-    
+
         my %list = $self->list_modules_to_update( %hash ) or return;
 
         ### just the modules please
         my @mods = map { @$_ } values %list;
-        
+
         my $flag;
         for my $mod ( @mods ) {
             unless( $mod->install( force => $force ) ) {
@@ -332,10 +336,10 @@
                 error(loc("Failed to update module '%1'", $mod->name));
             }
         }
-        
+
         return if $flag;
         return 1;
-    }    
+    }
 
 }
 
@@ -360,19 +364,19 @@
 sub list_enabled_features {
     my $self = shift;
     my $cb   = $self->();
-    
+
     my @enabled;
     for my $feat ( $self->list_features ) {
         my $ref = $self->_get_config->{'features'}->{$feat}->[1];
         push @enabled, $feat if $ref->($cb);
     }
-    
+
     return @enabled;
 }
 
 =head2 @mods = $self->modules_for_feature( FEATURE [,AS_HASH] )
 
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which 
+Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
 represent the modules required to support this feature.
 
 For a list of features, call the C<list_features> method.
@@ -388,18 +392,18 @@
     my $feature = shift or return;
     my $as_hash = shift || 0;
     my $cb      = $self->();
-    
+
     unless( exists $self->_get_config->{'features'}->{$feature} ) {
         error(loc("Unknown feature '%1'", $feature));
         return;
     }
-    
+
     my $ref = $self->_get_config->{'features'}->{$feature}->[0];
-    
+
     ### it's either a list of modules/versions or a subroutine that
     ### returns a list of modules/versions
     my $href = UNIVERSAL::isa( $ref, 'HASH' ) ? $ref : $ref->( $cb );
-    
+
     return unless $href;    # nothing needed for the feature?
 
     return $href if $as_hash;
@@ -409,7 +413,7 @@
 
 =head2 @mods = $self->list_core_dependencies( [AS_HASH] )
 
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which 
+Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
 represent the modules that comprise the core dependencies of CPANPLUS.
 
 If the C<AS_HASH> argument is provided, no module objects are
@@ -430,7 +434,7 @@
 
 =head2 @mods = $self->list_core_modules( [AS_HASH] )
 
-Returns a list of C<CPANPLUS::Selfupdate::Module> objects which 
+Returns a list of C<CPANPLUS::Selfupdate::Module> objects which
 represent the modules that comprise the core of CPANPLUS.
 
 If the C<AS_HASH> argument is provided, no module objects are
@@ -453,15 +457,15 @@
     my $self = shift;
     my $cb   = $self->();
     my $href = shift or return;
-    
-    return map { 
+
+    return map {
             CPANPLUS::Selfupdate::Module->new(
                 $cb->module_tree($_) => $href->{$_}
             )
         } keys %$href;
-}        
-    
+}
 
+
 =head1 CPANPLUS::Selfupdate::Module
 
 C<CPANPLUS::Selfupdate::Module> extends C<CPANPLUS::Module> objects
@@ -474,22 +478,22 @@
 
 {   package CPANPLUS::Selfupdate::Module;
     use base 'CPANPLUS::Module';
-    
+
     ### stores module name -> cpanplus required version
     ### XXX only can deal with 1 pair!
     my %Cache = ();
     my $Acc   = 'version_required';
-    
+
     sub new {
         my $class = shift;
         my $mod   = shift or return;
         my $ver   = shift;          return unless defined $ver;
-        
+
         my $obj   = $mod->clone;    # clone the module object
         bless $obj, $class;         # rebless it to our class
-        
+
         $obj->$Acc( $ver );
-        
+
         return $obj;
     }
 
@@ -498,12 +502,12 @@
 Returns the version of this module required for CPANPLUS.
 
 =cut
-    
+
     sub version_required {
         my $self = shift;
         $Cache{ $self->name } = shift() if @_;
         return $Cache{ $self->name };
-    }        
+    }
 
 =head2 $bool = $mod->is_installed_version_sufficient
 
@@ -512,13 +516,13 @@
 
 =cut
 
-    
+
     sub is_installed_version_sufficient {
         my $self = shift;
         return $self->is_uptodate( version => $self->$Acc );
     }
 
-}    
+}
 
 1;
 
@@ -534,10 +538,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Selfupdate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Classic.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Classic.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Classic.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,6 +5,7 @@
 ##################################################
 
 package CPANPLUS::Shell::Classic;
+use deprecate;
 
 use strict;
 
@@ -30,7 +31,7 @@
 BEGIN {
     use vars        qw[ $VERSION @ISA ];
     @ISA        =   qw[ CPANPLUS::Shell::_Base::ReadLine ];
-    $VERSION    =   '0.0562';
+    $VERSION = "0.9135";
 }
 
 load CPANPLUS::Shell;
@@ -97,6 +98,20 @@
             code    => \&__ask_about_test_report,
     );
 
+    if (my $histfile = $self->configure_object->get_conf( 'histfile' )) {
+        my $term = $self->term;
+        if ($term->can('AddHistory')) {
+            if (open my $fh, '<', $histfile) {
+                local $/ = "\n";
+                while (my $line = <$fh>) {
+                    chomp($line);
+                    $term->AddHistory($line);
+                }
+                close($fh);
+            }
+        }
+    }
+
     return $self;
 }
 
@@ -194,7 +209,25 @@
 
 ### displays quit message
 sub _quit {
+    my $self = shift;
+    my $term = $self->term;
 
+    if ($term->can('GetHistory')) {
+        my @history = $term->GetHistory;
+
+        my $histfile = $self->configure_object->get_conf('histfile');
+
+        if (open my $fh, '>', $histfile) {
+            foreach my $line (@history) {
+                print {$fh} "$line\n";
+            }
+            close($fh);
+        }
+        else {
+            warn "Cannot open history file '$histfile' - $!";
+        }
+    }
+
     ### well, that's what CPAN.pm says...
     print "Lockfile removed\n";
 }
@@ -1207,10 +1240,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Classic.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Shell::Default::Plugins::CustomSource;
+use deprecate;
 
 use strict;
 use CPANPLUS::Error                 qw[error msg];
@@ -7,9 +8,12 @@
 use Data::Dumper;
 use Locale::Maketext::Simple        Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 =head1 NAME
 
-CPANPLUS::Shell::Default::Plugins::CustomSource 
+CPANPLUS::Shell::Default::Plugins::CustomSource - add custom sources to CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -18,10 +22,10 @@
 
     ### add a new custom source
     CPAN Terminal> /cs --add file:///path/to/releases
-    
-    ### list all your custom sources by 
+
+    ### list all your custom sources by
     CPAN Terminal> /cs --list
-    
+
     ### display the contents of a custom source by URI or ID
     CPAN Terminal> /cs --contents file:///path/to/releases
     CPAN Terminal> /cs --contents 1
@@ -29,11 +33,11 @@
     ### Update a custom source by URI or ID
     CPAN Terminal> /cs --update file:///path/to/releases
     CPAN Terminal> /cs --update 1
-    
+
     ### Remove a custom source by URI or ID
     CPAN Terminal> /cs --remove file:///path/to/releases
     CPAN Terminal> /cs --remove 1
-    
+
     ### Write an index file for a custom source, to share
     ### with 3rd parties or remote users
     CPAN Terminal> /cs --write file:///path/to/releases
@@ -44,13 +48,13 @@
 
 =head1 DESCRIPTION
 
-This is a C<CPANPLUS::Shell::Default> plugin that can add 
-custom sources to your CPANPLUS installation. This is a 
+This is a C<CPANPLUS::Shell::Default> plugin that can add
+custom sources to your CPANPLUS installation. This is a
 wrapper around the C<custom module sources> code as outlined
 in L<CPANPLUS::Backend/CUSTOM MODULE SOURCES>.
 
 This allows you to extend your index of available modules
-beyond what's available on C<CPAN> with your own local 
+beyond what's available on C<CPAN> with your own local
 distributions, or ones offered by third parties.
 
 =cut
@@ -68,8 +72,8 @@
     my $self    = shift;
     my $input   = shift or return;
 
-    ### you gave us a search number    
-    my $uri = $input =~ /^\d+$/    
+    ### you gave us a search number
+    my $uri = $input =~ /^\d+$/
                 ? $Index[ $input - 1 ] # remember, off by 1!
                 : $input;
 
@@ -79,13 +83,13 @@
     ### VMS can lower case all files, so make sure we check that too
     my $local = $files{ $uri };
        $local = $files{ lc $uri } if !$local && ON_VMS;
-       
+
     if( $local ) {
-        return wantarray 
+        return wantarray
             ? ($uri, $local)
             : $uri;
     }
-    
+
     ### couldn't resolve the input
     error(loc("Unknown URI/index: '%1'", $input));
     return;
@@ -93,11 +97,11 @@
 
 sub _list_custom_sources {
     my $class = shift;
-    
+
     my %files = $Cb->list_custom_sources;
-    
+
     $Shell->__print( loc("Your remote sources:"), $/ ) if keys %files;
-    
+
     my $i = 0;
     while(my($local,$remote) = each %files) {
         $Shell->__printf( "   [%2d] %s\n", ++$i, $remote );
@@ -105,7 +109,7 @@
         ### remember, off by 1!
         push @Index, $remote;
     }
-    
+
     $Shell->__print( $/ );
 }
 
@@ -117,7 +121,7 @@
     unless( $uri ) {
         error(loc("--contents needs URI parameter"));
         return;
-    }        
+    }
 
     my $fh = OPEN_FILE->( $local ) or return;
 
@@ -139,28 +143,28 @@
 
     } elsif ( $opts->{'contents'} ) {
         $class->_list_contents( $input );
-    
-    } elsif ( $opts->{'add'} ) {        
+
+    } elsif ( $opts->{'add'} ) {
         unless( $input ) {
             error(loc("--add needs URI parameter"));
             return;
-        }        
-        
-        $cb->add_custom_source( uri => $input ) 
+        }
+
+        $cb->add_custom_source( uri => $input )
             and $shell->__print(loc("Added remote source '%1'", $input), $/);
-        
+
         $Shell->__print($/, loc("Remote source contains:"), $/, $/);
         $class->_list_contents( $input );
-        
+
     } elsif ( $opts->{'remove'} ) {
         my($uri,$local) = $class->_uri_from_cache( $input );
         unless( $uri ) {
             error(loc("--remove needs URI parameter"));
             return;
-        }        
-    
-        1 while unlink $local;    
-    
+        }
+
+        1 while unlink $local;
+
         $shell->__print( loc("Removed remote source '%1'", $uri), $/ );
 
     } elsif ( $opts->{'update'} ) {
@@ -167,17 +171,17 @@
         ### did we get input? if so, it's a remote part
         my $uri = $class->_uri_from_cache( $input );
 
-        $cb->update_custom_source( $uri ? ( remote => $uri ) : () ) 
-            and do { $shell->__print( loc("Updated remote sources"), $/ ) };      
+        $cb->update_custom_source( $uri ? ( remote => $uri ) : () )
+            and do { $shell->__print( loc("Updated remote sources"), $/ ) };
 
     } elsif ( $opts->{'write'} ) {
         $cb->write_custom_source_index( path => $input ) and
-            $shell->__print( loc("Wrote remote source index for '%1'", $input), $/);              
-            
+            $shell->__print( loc("Wrote remote source index for '%1'", $input), $/);
+
     } else {
         error(loc("Unrecognized command, see '%1' for help", '/? cs'));
     }
-    
+
     return;
 }
 
@@ -192,10 +196,10 @@
         '    /cs --remove    URI | INDEX    # remove source'            . $/ .
         '    /cs --contents  URI | INDEX    # show packages from source'. $/ .
         '    /cs --update   [URI | INDEX]   # update source index'      . $/ .
-        '    /cs --write     PATH           # write source index'       . $/ 
-    );        
+        '    /cs --write     PATH           # write source index'       . $/
+    );
 
 }
 
 1;
-    
+


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,20 +5,20 @@
 =head1 SYNOPSIS
 
     package CPANPLUS::Shell::Default::Plugins::MyPlugin;
-    
+
     ### return command => method mapping
     sub plugins { ( myplugin1 => 'mp1', myplugin2 => 'mp2' ) }
-    
+
     ### method called when the command '/myplugin1' is issued
     sub mp1 { .... }
 
     ### method called when the command '/? myplugin1' is issued
     sub mp1_help { return "Help Text" }
-    
+
 =head1 DESCRIPTION
 
-This pod text explains how to write your own plugins for 
-C<CPANPLUS::Shell::Default>. 
+This pod text explains how to write your own plugins for
+C<CPANPLUS::Shell::Default>.
 
 =head1 HOWTO
 
@@ -34,7 +34,7 @@
 =head2 Registering Plugin Commands
 
 To register any plugin commands, a list of key value pairs must be returned
-by a C<plugins> method in your package. The keys are the commands you wish 
+by a C<plugins> method in your package. The keys are the commands you wish
 to register, the values are the methods in the plugin package you wish to have
 called when the command is issued.
 
@@ -41,11 +41,11 @@
 For example, a simple 'Hello, World!' plugin:
 
     package CPANPLUS::Shell::Default::Plugins::HW;
-    
+
     sub plugins { return ( helloworld => 'hw' ) };
-    
+
     sub hw { print "Hello, world!\n" }
-    
+
 When the user in the default shell now issues the C</helloworld> command,
 this command will be dispatched to the plugin, and its C<hw> method will
 be called
@@ -60,7 +60,7 @@
 the function C<hw_help> will be called, which might look like this:
 
     sub hw_help { "    /helloworld      # prints "Hello, world!\n" }
-    
+
 If you dont provide a corresponding _help function to your commands, the
 default shell will handle it gracefully, but the user will be stuck without
 usage information on your commands, so it's considered undesirable to omit
@@ -90,9 +90,9 @@
 For example, the following command:
 
     /helloworld bob --nofoo --bar=2 joe
-    
-Would yield the following arguments:    
 
+Would yield the following arguments:
+
     sub hw {
         my $class   = shift;    # CPANPLUS::Shell::Default::Plugins::HW
         my $shell   = shift;    # CPANPLUS::Shell::Default object
@@ -115,10 +115,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Shell::Default::Plugins::Remote;
+use deprecate;
 
 use strict;
 
@@ -7,9 +8,12 @@
 use CPANPLUS::Error             qw[error msg];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 =head1 NAME
 
-CPANPLUS::Shell::Default::Plugins::Remote
+CPANPLUS::Shell::Default::Plugins::Remote - connect to a remote CPANPLUS
 
 =head1 SYNOPSIS
 
@@ -29,17 +33,17 @@
     CPAN Terminal> /connect --user=my_user --pass=secret localhost 1337
 
     Connection accepted
-    
+
     Successfully connected to 'localhost' on port '11337'
-    
+
     Note that no output will appear until a command has completed
     -- this may take a while
 
 
     CPAN Terminal at localhost> o; i *
-    
+
     [....]
-    
+
     CPAN Terminal at localhost> /disconnect
 
     CPAN Terminal>
@@ -139,7 +143,7 @@
 }
 
 sub connect_help {
-    return loc( 
+    return loc(
             "    /connect [HOST PORT]   # Connect to the remote machine,\n" .
             "                           # defaults taken from your config\n" .
             "        --user=USER        # Optional username\n" .
@@ -151,8 +155,8 @@
             "    /disconnect            # Disconnect from the remote server" );
 }
 
-1; 
-        
+1;
+
 =pod
 
 =head1 BUG REPORTS
@@ -165,10 +169,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Source.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Source.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,16 @@
 package CPANPLUS::Shell::Default::Plugins::Source;
+use deprecate;
 
 use strict;
 use CPANPLUS::Error             qw[error msg];
 use Locale::Maketext::Simple    Class => 'CPANPLUS', Style => 'gettext';
 
+use vars qw[$VERSION];
+$VERSION = "0.9135";
+
 =head1 NAME
 
-CPANPLUS::Shell::Default::Plugins::Source 
+CPANPLUS::Shell::Default::Plugins::Source - read in CPANPLUS commands
 
 =head1 SYNOPSIS
 
@@ -23,12 +27,12 @@
     # first, update all the source files
     x --update_source
 
-    # find all of my modules that are on the CPAN 
+    # find all of my modules that are on the CPAN
     # test them, and store the error log
     a ^KANE$'
     t *
     p /home/kane/cpan-autotest/log
-    
+
     # and inform us we're good to go
     ! print "Autotest complete, log stored; please enter your commands!"
 
@@ -48,20 +52,20 @@
     my $input   = shift || '';
     my $opts    = shift || {};
     my $verbose = $cb->configure_object->get_conf('verbose');
-    
+
     for my $file ( split /\s+/, $input ) {
-        my $fh = FileHandle->new("$file") or( 
+        my $fh = FileHandle->new("$file") or(
             error(loc("Could not open file '%1': %2", $file, $!)),
             next
         );
-        
+
         while( my $line = <$fh> ) {
             chomp $line;
-            
+
             next if $line !~ /\S+/; # skip empty/whitespace only lines
             next if $line =~ /^#/;  # skip comments
-            
-            msg(loc("Dispatching '%1'", $line), $verbose); 
+
+            msg(loc("Dispatching '%1'", $line), $verbose);
             return 1 if $shell->dispatch_on_input( input => $line );
         }
     }
@@ -86,10 +90,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Shell::Default;
+use deprecate;
 
 use strict;
 
@@ -26,7 +27,7 @@
 BEGIN {
     use vars        qw[ $VERSION @ISA ];
     @ISA        =   qw[ CPANPLUS::Shell::_Base::ReadLine ];
-    $VERSION = "0.9103";
+    $VERSION = "0.9135";
 }
 
 load CPANPLUS::Shell;
@@ -56,6 +57,7 @@
     'u'     => '_uninstall',
     '/'     => '_meta',         # undocumented for now
     'c'     => '_reports',
+    'e'     => '_reload_shell',
 };
 ### free letters: e g j k n y ###
 
@@ -73,7 +75,7 @@
 
 =head1 NAME
 
-CPANPLUS::Shell::Default
+CPANPLUS::Shell::Default - the default CPANPLUS shell
 
 =head1 SYNOPSIS
 
@@ -119,8 +121,8 @@
     cpanp> r Acme::Foo       # view Acme::Foo's README file
     cpanp> o                 # get a list of all installed modules that
                              # are out of date
-    cpanp> o 1..3            # list uptodateness from a previous search 
-                            
+    cpanp> o 1..3            # list uptodateness from a previous search
+
     cpanp> s conf            # show config settings
     cpanp> s conf md5 1      # enable md5 checks
     cpanp> s program         # show program settings
@@ -141,9 +143,10 @@
     cpanp> w                 # show last search results again
 
     cpanp> q                 # quit the shell
+    cpanp> e                 # exit the shell and reload
 
     cpanp> /plugins          # list available plugins
-    cpanp> /? PLUGIN         # list help test of <PLUGIN>                  
+    cpanp> /? PLUGIN         # list help test of <PLUGIN>
 
     ### common options:
     cpanp> i ... --skiptest # skip tests
@@ -211,6 +214,20 @@
     ### load all the plugins
     $self->_plugins_init;
 
+    if (my $histfile = $cb->configure_object->get_conf( 'histfile' )) {
+        my $term = $self->term;
+        if ($term->can('AddHistory')) {
+            if (open my $fh, '<', $histfile) {
+                local $/ = "\n";
+                while (my $line = <$fh>) {
+                    chomp($line);
+                    $term->AddHistory($line);
+                }
+                close($fh);
+            }
+        }
+    }
+
     return $self;
 }
 
@@ -250,11 +267,11 @@
     } continue {
         ### clear the sigint count
         $self->_signals->{INT}{count}--
-            if $self->_signals->{INT}{count};  
-            
+            if $self->_signals->{INT}{count};
+
         ### reset the 'install prereq?' cached answer
-        $self->settings->{'install_all_prereqs'} = undef;                                
-                            
+        $self->settings->{'install_all_prereqs'} = undef;
+
     }
 
     return 1;
@@ -280,7 +297,7 @@
     $self->noninteractive($noninteractive) if defined $noninteractive;
 
     my $rv = 1;
-    
+
     my @cmds = split ';', $string;
     while( my $input = shift @cmds ) {
 
@@ -304,9 +321,9 @@
             if( $input and $input !~ s/^\s+// ) {
                 $self->__print( loc("Could not understand command: %1\n".
                           "Possibly missing command before argument(s)?\n",
-                          $org_input) ); 
+                          $org_input) );
                 return;
-            }     
+            }
 
             ### allow overrides from the config file ###
             if( defined $rc->{$key} ) {
@@ -343,9 +360,9 @@
             if( $key eq 'z' or
                 ($key eq 's' and $input =~ /^\s*edit/)
             ) {
-                $self->__print( "\n", 
+                $self->__print( "\n",
                       loc(  "Command '%1' not supported over remote connection",
-                            join ' ', $key, $input 
+                            join ' ', $key, $input
                       ), "\n\n" );
 
             } else {
@@ -377,7 +394,7 @@
                         unless grep {$key eq $_} qw[! m a v w x p s b / ? h];
 
                 ### keep track of failures
-                $rv *= defined eval { $self->$method(   
+                $rv *= defined eval { $self->$method(
                                         modules => \@mods,
                                         options => $options,
                                         input   => $input,
@@ -502,7 +519,7 @@
     } else {
         $self->__print( loc("No results to display"), "\n" );
     }
-    
+
     return 1;
 }
 
@@ -509,12 +526,29 @@
 
 sub _quit {
     my $self = shift;
+    my $term = $self->term;
 
     $self->dispatch_on_input( input => $rc->{'logout'} )
             if defined $rc->{'logout'};
 
+    if ($term->can('GetHistory')) {
+        my @history = $term->GetHistory;
+
+        my $histfile = $self->backend->configure_object->get_conf('histfile');
+
+        if (open my $fh, '>', $histfile) {
+            foreach my $line (@history) {
+                print {$fh} "$line\n";
+            }
+            close($fh);
+        }
+        else {
+            warn "Cannot open history file '$histfile' - $!";
+        }
+    }
+
     $self->__print( loc("Exiting CPANPLUS shell"), "\n" );
-    
+
     return 1;
 }
 
@@ -529,21 +563,22 @@
     sub _help {
         my $self = shift;
         my %hash    = @_;
-    
+
         my $input;
         {   local $Params::Check::ALLOW_UNKNOWN = 1;
-    
+
             my $tmpl = {
                 input   => { required => 0, store => \$input }
             };
-    
+
             my $args = check( $tmpl, \%hash ) or return;
         }
-    
+
         @help = (
 loc('[General]'                                                                     ),
 loc('    h | ?                  # display help'                                     ),
 loc('    q                      # exit'                                             ),
+loc('    e                      # exit and reload'                                  ),
 loc('    v                      # version information'                              ),
 loc('[Search]'                                                                      ),
 loc('    a AUTHOR ...           # search by author(s)'                              ),
@@ -584,7 +619,7 @@
 loc('   /? [PLUGIN NAME]        # show usage for (a particular) plugin(s)'  ),
 
         ) unless @help;
-    
+
         $self->_pager_open if (@help >= $self->_term_rowcount);
         ### XXX: functional placeholder for actual 'detailed' help.
         $self->__print( "Detailed help for the command '$input' is " .
@@ -592,7 +627,7 @@
         $self->__print( map {"$_\n"} @help );
         $self->__print( $/ );
         $self->_pager_close;
-    
+
         return 1;
     }
 }
@@ -760,7 +795,7 @@
         $self->__print( "\n" );
     }
     $self->_pager_close;
-    
+
     return 1 if $rv;
     return;
 }
@@ -860,7 +895,7 @@
     }
 
     my $rv = $cb->reload_indices( %$opts );
-    
+
     ### so the update failed, but you didnt give it any options either
     if( !$rv and !(keys %$opts) ) {
         $self->__print(
@@ -867,9 +902,9 @@
                 "\nFailure may be due to corrupt source files\n" .
                 "Try this:\n\tx --update_source\n\n" );
     }
-    
+
     return $rv;
-    
+
 }
 
 sub _install {
@@ -906,20 +941,20 @@
         $self->__print( $prompt, $mod->module, " (".$mod->version.")", "\n" );
 
         my $log_length = length CPANPLUS::Error->stack_as_string;
-    
+
         ### store the status for look up when we're done with all
         ### install calls
         $status->{$mod} = $mod->install( %$opts, target => $target );
-        
+
         ### would you like a log file of what happened?
         if( $conf->get_conf('write_install_logs') ) {
 
             if ( ON_WIN32 and !check_install(
-                              module => 'IPC::Run', version => 0.55 ) 
+                              module => 'IPC::Run', version => 0.55 )
                ) {
-               error(loc("IPC::Run version '%1' is required on MSWin32" 
-                         . " in order to capture buffers." 
-                         . " The logfile generated may not contain" 
+               error(loc("IPC::Run version '%1' is required on MSWin32"
+                         . " in order to capture buffers."
+                         . " The logfile generated may not contain"
                          . " any useful data, until it is installed", 0.55));
             }
 
@@ -930,9 +965,9 @@
             ### create the dir if it doesn't exit yet
             $cb->_mkdir( dir => $dir ) unless -d $dir;
 
-            my $file = File::Spec->catfile( 
+            my $file = File::Spec->catfile(
                             $dir,
-                            INSTALL_LOG_FILE->( $mod ) 
+                            INSTALL_LOG_FILE->( $mod )
                         );
             if ( open my $fh, ">$file" ) {
                 my $stack = CPANPLUS::Error->stack_as_string;
@@ -939,17 +974,17 @@
                 ### remove everything in the log that was there *before*
                 ### we started this install
                 substr( $stack, 0, $log_length, '' );
-                
+
                 print $fh $stack;
                 close $fh;
-                
-                $self->__print( 
+
+                $self->__print(
                     loc("*** Install log written to:\n  %1\n\n", $file)
                 );
-            } else {                
+            } else {
                 warn "Could not open '$file': $!\n";
                 next;
-            }                
+            }
         }
     }
 
@@ -961,7 +996,7 @@
             $self->__print(
                 loc("Module '%1' %tense(%2,past) successfully\n",
                 $mod->module, $action)
-            );                
+            );
         } else {
             $flag++;
             $self->__print(
@@ -981,8 +1016,8 @@
             loc("Problem %tense(%1,present) one or more modules", $action)
         );
         $self->__print( "\n" );
-        
-        $self->__print( 
+
+        $self->__print(
             loc("*** You can view the complete error buffer by pressing ".
                 "'%1' ***\n", 'p')
         ) unless $conf->get_conf('verbose') || $self->noninteractive;
@@ -1001,13 +1036,13 @@
     $Shell->__print( loc("Module '%1' requires '%2' to be installed",
                          $mod->module, $prereq->module ) );
     $Shell->__print( "\n\n" );
-    
+
     ### previously cached answer?
     return $Shell->settings->{'install_all_prereqs'}
         if defined $Shell->settings->{'install_all_prereqs'};
-    
-    
-    $Shell->__print( 
+
+
+    $Shell->__print(
         loc(    "If you don't wish to see this question anymore\n".
                 "you can disable it by entering the following ".
                 "commands on the prompt:\n    '%1'",
@@ -1025,9 +1060,9 @@
                     default => $yes,
                 );
 
-    ### if 'all' or 'none', save this, so we can apply it to 
+    ### if 'all' or 'none', save this, so we can apply it to
     ### other prereqs in this chain.
-    $Shell->settings->{'install_all_prereqs'} = 
+    $Shell->settings->{'install_all_prereqs'} =
         $reply eq $all  ? 1 :
         $reply eq $none ? 0 :
         undef;
@@ -1064,7 +1099,7 @@
     my $term    = $Shell->term;
 
     $Shell->__print( "\n" );
-    $Shell->__print( 
+    $Shell->__print(
         loc("Test report prepared for module '%1'. You can edit this ".
             "report if you would like", $mod->module ) );
     $Shell->__print("\n\n");
@@ -1082,11 +1117,11 @@
     my $term        = $Shell->term;
 
     $Shell->__print( "\n" );
-    $Shell->__print( 
+    $Shell->__print(
         loc(    "The tests for '%1' failed. Would you like me to proceed ".
                 "anyway or should we abort?", $mod->module ) );
     $Shell->__print( "\n\n" );
-    
+
     my $bool =  $term->ask_yn(
                     prompt  => loc("Proceed anyway?"),
                     default => 'n',
@@ -1125,7 +1160,7 @@
         my @list = sort { $a->module cmp $b->module } $mod->contains;
 
         unless( $href ) {
-            $self->__print( 
+            $self->__print(
                 loc("No details for %1 - it might be outdated.",
                     $mod->module), "\n" );
             next;
@@ -1135,11 +1170,11 @@
             for my $item ( sort keys %$href ) {
                 $self->__printf( $format, $item, $href->{$item} );
             }
-            
+
             my $showed;
             for my $item ( @list ) {
                 $self->__printf(
-                    $cformat, ($showed ? '' : 'Contains:'), 
+                    $cformat, ($showed ? '' : 'Contains:'),
                              $item->module, $item->version
                 );
                 $showed++;
@@ -1199,7 +1234,7 @@
     ### possible options
     ### XXX hard coded, not optimal :(
     my %types   = (
-        reconfigure => '', 
+        reconfigure => '',
         save        => q([user | system | boxed]),
         edit        => '',
         program     => q([key => val]),
@@ -1238,8 +1273,8 @@
             user    => CONFIG_USER,
             system  => CONFIG_SYSTEM,
             boxed   => CONFIG_BOXED,
-        }->{ $key } || CONFIG_USER;      
-        
+        }->{ $key } || CONFIG_USER;
+
         ### boxed is special, so let's get its value from %INC
         ### so we can tell it where to save
         ### XXX perhaps this logic should be generic for all
@@ -1248,15 +1283,15 @@
         if( $where eq CONFIG_BOXED ) {
             my $file    = join( '/', split( '::', CONFIG_BOXED ) ) . '.pm';
             my $file_re = quotemeta($file);
-            
+
             my $path    = $INC{$file} || '';
-            $path       =~ s/$file_re$//;        
+            $path       =~ s/$file_re$//;
             $dir        = $path;
-        }     
-        
+        }
+
         my $rv = $cb->configure_object->save( $where => $dir );
 
-        $self->__print( 
+        $self->__print(
             $rv
                 ? loc("Configuration successfully saved to %1\n    (%2)\n",
                        $where, $rv)
@@ -1272,7 +1307,7 @@
         my $where = {
             user    => CONFIG_USER,
             system  => CONFIG_SYSTEM,
-        }->{ $key } || CONFIG_USER;      
+        }->{ $key } || CONFIG_USER;
 
         my $file = $conf->_config_pm_to_file( $where );
         system($editor,$file);
@@ -1290,35 +1325,35 @@
         return 1;
 
     } elsif ( $type eq 'mirrors' ) {
-    
-        $self->__print( 
+
+        $self->__print(
             loc("Readonly list of mirrors (in order of preference):\n\n" ) );
-        
+
         my $i;
         for my $host ( @{$conf->get_conf('hosts')} ) {
             my $uri = $cb->_host_to_uri( %$host );
-            
+
             $i++;
             $self->__print( "\t[$i] $uri\n" );
         }
-        
+
         $self->__print(
             loc("\nTo edit this list, please type: '%1'\n", 's edit') );
 
     } elsif ( $type eq 'selfupdate' ) {
-        my %valid = map { $_ => $_ } 
-                        $cb->selfupdate_object->list_categories;    
+        my %valid = map { $_ => $_ }
+                        $cb->selfupdate_object->list_categories;
 
         unless( $valid{$key} ) {
             $self->__print(
                 loc( "To update your current CPANPLUS installation, ".
                         "choose one of the these options:\n%1",
-                        ( join $/, map { 
+                        ( join $/, map {
                              sprintf "\ts selfupdate %-17s " .
-                                     "[--latest=0] [--dryrun]", $_ 
-                          } sort keys %valid ) 
+                                     "[--latest=0] [--dryrun]", $_
+                          } sort keys %valid )
                     )
-            );          
+            );
         } else {
             my %update_args = (
                 update  => $key,
@@ -1331,35 +1366,35 @@
                             ->list_modules_to_update( %update_args );
 
             $self->__print(loc("The following updates will take place:"),$/.$/);
-            
+
             for my $feature ( sort keys %list ) {
                 my $aref = $list{$feature};
-                
+
                 ### is it a 'feature' or a built in?
                 $self->__print(
-                    $valid{$feature} 
+                    $valid{$feature}
                         ? "  " . ucfirst($feature) . ":\n"
                         : "  Modules for '$feature' support:\n"
                 );
-                    
-                ### show what modules would be installed    
+
+                ### show what modules would be installed
                 $self->__print(
                     scalar @$aref
-                        ? map { sprintf "    %-42s %-6s -> %-6s \n", 
+                        ? map { sprintf "    %-42s %-6s -> %-6s \n",
                                 $_->name, $_->installed_version, $_->version
-                          } @$aref      
+                          } @$aref
                         : "    No upgrades required\n"
-                );                                                  
+                );
                 $self->__print( $/ );
             }
-            
-        
-            unless( $opts->{'dryrun'} ) { 
+
+
+            unless( $opts->{'dryrun'} ) {
                 $self->__print( loc("Updating your CPANPLUS installation\n") );
                 $cb->selfupdate_object->selfupdate( %update_args );
             }
         }
-        
+
     } else {
 
         if ( $type eq 'program' or $type eq 'conf' ) {
@@ -1367,7 +1402,7 @@
             my $format = {
                 conf    => '%-25s %s',
                 program => '%-12s %s',
-            }->{ $type };      
+            }->{ $type };
 
             unless( $key ) {
                 my @list =  grep { $_ ne 'hosts' }
@@ -1386,7 +1421,7 @@
                 }
 
             } elsif ( $key eq 'hosts' or $key eq 'lib' ) {
-                $self->__print( 
+                $self->__print(
                     loc(  "Setting %1 is not trivial.\n" .
                           "It is suggested you use '%2' and edit the " .
                           "configuration file manually", $key, 's edit')
@@ -1402,8 +1437,8 @@
             $self->__print( loc("Unknown type '%1'",$type || 'EMPTY' ) );
             $self->__print( $/ );
             $self->__print( loc("Try one of the following:") );
-            $self->__print( $/, join $/, 
-                      map { sprintf "\t%-11s %s", $_, $types{$_} } 
+            $self->__print( $/, join $/,
+                      map { sprintf "\t%-11s %s", $_, $types{$_} }
                       sort keys %types );
         }
     }
@@ -1491,7 +1526,7 @@
 
     my $where = $cb->autobundle( %$opts );
 
-    $self->__print( 
+    $self->__print(
         $where
             ? loc("Wrote autobundle to '%1'", $where)
             : loc("Could not create autobundle" )
@@ -1550,25 +1585,25 @@
     ### then report whether all this went ok or not ###
     for my $mod (@$mods) {
         if( $mod->status->uninstall ) {
-            $self->__print( 
+            $self->__print(
                 loc("Module '%1' %tense(uninstall,past) successfully\n",
                     $mod->module ) );
         } else {
             $flag++;
-            $self->__print( 
+            $self->__print(
                 loc("Error %tense(uninstall,present) '%1'\n", $mod->module) );
         }
     }
 
     if( !$flag ) {
-        $self->__print( 
+        $self->__print(
             loc("All modules %tense(uninstall,past) successfully"), "\n" );
     } else {
-        $self->__print( 
+        $self->__print(
             loc("Problem %tense(uninstall,present) one or more modules" ),
             "\n" );
-            
-        $self->__print( 
+
+        $self->__print(
             loc("*** You can view the complete error buffer by pressing '%1'".
                 "***\n", 'p') ) unless $conf->get_conf('verbose');
     }
@@ -1617,13 +1652,13 @@
 
         my %seen;
         for my $href (@list ) {
-            $self->__print( 
+            $self->__print(
                 "[" . $mod->author->cpanid .'/'. $href->{'dist'} . "]\n"
             ) unless $seen{ $href->{'dist'} }++;
 
-            $self->__printf( 
-                $format, 
-                $href->{'grade'}, 
+            $self->__printf(
+                $format,
+                $href->{'grade'},
                 $href->{'platform'},
                 ($href->{'details'} ? '(*)' : '')
             );
@@ -1641,27 +1676,27 @@
 
 ### Load plugins
 {   my @PluginModules;
-    my %Dispatch = ( 
-        showtip => [ __PACKAGE__, '_show_random_tip'], 
-        plugins => [ __PACKAGE__, '_list_plugins'   ], 
+    my %Dispatch = (
+        showtip => [ __PACKAGE__, '_show_random_tip'],
+        plugins => [ __PACKAGE__, '_list_plugins'   ],
         '?'     => [ __PACKAGE__, '_plugins_usage'  ],
-    );        
+    );
 
     sub plugin_modules  { return @PluginModules }
     sub plugin_table    { return %Dispatch }
-    
+
     my $init_done;
     sub _plugins_init {
 
         ### only initialize once
         return if $init_done++;
-        
+
         ### find all plugins first
         if( check_install( module  => 'Module::Pluggable', version => '2.4') ) {
             require Module::Pluggable;
-    
+
             my $only_re = __PACKAGE__ . '::Plugins::\w+$';
-    
+
             Module::Pluggable->import(
                             sub_name    => '_plugins',
                             search_path => __PACKAGE__,
@@ -1668,35 +1703,35 @@
                             only        => qr/$only_re/,
                             #except      => [ INSTALLER_MM, INSTALLER_SAMPLE ]
                         );
-                        
+
             push @PluginModules, __PACKAGE__->_plugins;
         }
-    
+
         ### now try to load them
         for my $p ( __PACKAGE__->plugin_modules ) {
             my %map = eval { load $p; $p->import; $p->plugins };
             error(loc("Could not load plugin '$p': $@")), next if $@;
-        
+
             ### register each plugin
             while( my($name, $func) = each %map ) {
-                
+
                 if( not length $name or not length $func ) {
                     error(loc("Empty plugin name or dispatch function detected"));
                     next;
-                }                
-                
+                }
+
                 if( exists( $Dispatch{$name} ) ) {
-                    error(loc("'%1' is already registered by '%2'", 
+                    error(loc("'%1' is already registered by '%2'",
                         $name, $Dispatch{$name}->[0]));
-                    next;                    
+                    next;
                 }
-        
+
                 ### register name, package and function
                 $Dispatch{$name} = [ $p, $func ];
             }
         }
     }
-    
+
     ### dispatch a plugin command to its function
     sub _meta {
         my $self = shift;
@@ -1704,69 +1739,69 @@
         my $cb   = $self->backend;
         my $term = $self->term;
         my $conf = $cb->configure_object;
-    
+
         my $opts; my $input;
         {   local $Params::Check::ALLOW_UNKNOWN = 1;
-    
+
             my $tmpl = {
                 options => { default => { }, store => \$opts },
                 input   => { default => '',  store => \$input },
             };
-    
+
              check( $tmpl, \%hash ) or return;
         }
-    
+
         $input =~ s/\s*(\S+)\s*//;
         my $cmd = $1;
-    
+
         ### look up the command, or go to the default
         my $aref = $Dispatch{ $cmd } || [ __PACKAGE__, '_plugin_default' ];
-        
+
         my($pkg,$func) = @$aref;
-        
+
         my $rv = eval { $pkg->$func( $self, $cb, $cmd, $input, $opts ) };
-        
+
         error( $@ ) if $@;
 
         ### return $rv instead, so input loop can be terminated?
         return 1;
     }
-    
+
     sub _plugin_default { error(loc("No such plugin command")) }
 }
 
-### plugin commands 
-{   my $help_format = "    /%-21s # %s\n"; 
-    
+### plugin commands
+{   my $help_format = "    /%-21s # %s\n";
+
     sub _list_plugins   {
         my $self = shift;
-        
+
         $self->__print( loc("Available plugins:\n") );
         $self->__print( loc("    List usage by using: /? PLUGIN_NAME\n" ) );
         $self->__print( $/ );
-        
+
         my %table = __PACKAGE__->plugin_table;
         for my $name( sort keys %table ) {
             my $pkg     = $table{$name}->[0];
             my $this    = __PACKAGE__;
-            
+
             my $who = $pkg eq $this
                 ? "Standard Plugin"
                 : do {  my $v = $self->_format_version($pkg->VERSION) || '';
                         $pkg =~ s/^$this/../;
-                        sprintf "Provided by: %-30s %-10s", $pkg, $v; 
+                        sprintf "Provided by: %-30s %-10s", $pkg, $v;
                     };
-            
+
             $self->__printf( $help_format, $name, $who );
-        }          
-    
+        }
+
         $self->__print( $/.$/ );
-        
+
         $self->__print(
             "    Write your own plugins? Read the documentation of:\n" .
             "        CPANPLUS::Shell::Default::Plugins::HOWTO\n" );
-                
-        $self->__print( $/ );        
+
+        $self->__print( $/ );
     }
 
     sub _list_plugins_help {
@@ -1776,7 +1811,7 @@
     ### registered as a plugin too
     sub _show_random_tip_help {
         return sprintf $help_format, 'showtip', loc("show usage tips" );
-    }   
+    }
 
     sub _plugins_usage {
         my $self    = shift;
@@ -1785,9 +1820,9 @@
         my $cmd     = shift;
         my $input   = shift;
         my %table   = $self->plugin_table;
-        
+
         my @list = length $input ? split /\s+/, $input : sort keys %table;
-        
+
         for my $name( @list ) {
 
             ### no such plugin? skip
@@ -1795,21 +1830,21 @@
 
             my $pkg     = $table{$name}->[0];
             my $func    = $table{$name}->[1] . '_help';
-            
+
             if ( my $sub = $pkg->can( $func ) ) {
                 eval { $self->__print( $sub->() ) };
                 error( $@ ) if $@;
-            
+
             } else {
                 $self->__print("    No usage for '$name' -- try perldoc $pkg");
             }
-            
+
             $self->__print( $/ );
-        }          
-    
-        $self->__print( $/.$/ );      
+        }
+
+        $self->__print( $/.$/ );
     }
-    
+
     sub _plugins_usage_help {
         return sprintf $help_format, '? [NAME ...]',
                                      loc("show usage for plugins");
@@ -1856,8 +1891,8 @@
 
         eval { $href = Config::Auto::parse( $rc_file, format => 'space' ) };
 
-        $self->__print( 
-            loc( "Unable to read in config file '%1': %2", $rc_file, $@ ) 
+        $self->__print(
+            loc( "Unable to read in config file '%1': %2", $rc_file, $@ )
         ) if $@;
     }
 
@@ -1867,35 +1902,39 @@
 {   my @tips = (
         loc( "You can update CPANPLUS by running: '%1'", 's selfupdate' ),
         loc( "You can install modules by URL using '%1'", 'i URL' ),
-        loc( "You can turn off these tips using '%1'", 
+        loc( "You can turn off these tips using '%1'",
              's conf show_startup_tip 0' ),
         loc( "You can use wildcards like '%1' and '%2' on search results",
              '*', '2..5' ) ,
         loc( "You can use plugins. Type '%1' to list available plugins",
              '/plugins' ),
-        loc( "You can show all your out of date modules using '%1'", 'o' ),  
+        loc( "You can show all your out of date modules using '%1'", 'o' ),
         loc( "Many operations take options, like '%1', '%2' or '%3'",
              '--verbose', '--force', '--skiptest' ),
         loc( "The documentation in %1 and %2 is very useful",
              "CPANPLUS::Module", "CPANPLUS::Backend" ),
         loc( "You can type '%1' for help and '%2' to exit", 'h', 'q' ),
-        loc( "You can run an interactive setup using '%1'", 's reconfigure' ),    
+        loc( "You can run an interactive setup using '%1'", 's reconfigure' ),
         loc( "You can add custom sources to your index. See '%1' for details",
              '/cs --help' ),
         loc( "CPANPLUS now has an experimental SQLite backend. You can enable ".
              "it via: '%1'. Update dependencies via '%2'",
              's conf source_engine CPANPLUS::Internals::Source::SQLite; s save',
-             's selfupdate enabled_features ' ),             
+             's selfupdate enabled_features ' ),
     );
-    
+
     sub _show_random_tip {
         my $self = shift;
-        $self->__print( $/, "Did you know...\n    ", 
+        $self->__print( $/, "Did you know...\n    ",
                         $tips[ int rand scalar @tips ], $/ );
         return 1;
     }
-}    
+}
 
+sub _reload_shell {
+  { exec ($^X, '-MCPANPLUS', '-e', 'shell') }; print STDERR "couldn't exec foo: $!";
+}
+
 1;
 
 __END__
@@ -1912,10 +1951,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell/Default.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS::Shell;
+use deprecate;
 
 use strict;
 
@@ -12,8 +13,9 @@
 
 $Params::Check::VERBOSE = 1;
 
-use vars qw[@ISA $SHELL $DEFAULT];
+use vars qw[@ISA $SHELL $DEFAULT $VERSION];
 
+$VERSION = "0.9135";
 $DEFAULT    = SHELL_DEFAULT;
 
 =pod
@@ -20,7 +22,7 @@
 
 =head1 NAME
 
-CPANPLUS::Shell
+CPANPLUS::Shell - base class for CPANPLUS shells
 
 =head1 SYNOPSIS
 
@@ -56,17 +58,17 @@
     ### find out what shell we're supposed to load ###
     $SHELL      = $option
                     ? $class . '::' . $option
-                    : do {  ### XXX this should offer to reconfigure 
+                    : do {  ### XXX this should offer to reconfigure
                             ### CPANPLUS, somehow.  --rs
                             ### XXX load Configure only if we really have to
                             ### as that means any $Conf passed later on will
-                            ### be ignored in favour of the one that was 
+                            ### be ignored in favour of the one that was
                             ### retrieved via ->new --kane
-                        my $conf = CPANPLUS::Configure->new() or 
+                        my $conf = CPANPLUS::Configure->new() or
                         die loc("No configuration available -- aborting") . $/;
                         $conf->get_conf('shell') || $DEFAULT;
                     };
-                    
+
     ### load the shell, fall back to the default if required
     ### and die if even that doesn't work
     EVAL: {
@@ -294,13 +296,13 @@
         my $self = shift;
         print @_;
     }
-    
+
     sub __printf {
         my $self = shift;
         my $fmt  = shift;
-        
+
         ### MUST specify $fmt as a separate param, and not as part
-        ### of @_, as it will then miss the $fmt and return the 
+        ### of @_, as it will then miss the $fmt and return the
         ### number of elements in the list... =/ --kane
         $self->__print( sprintf( $fmt, @_ ) );
     }
@@ -320,10 +322,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS/Shell.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package CPANPLUS;
+use deprecate;
 
 use strict;
 use Carp;
@@ -13,7 +14,7 @@
     use vars        qw( @EXPORT @ISA $VERSION );
     @EXPORT     =   qw( shell fetch get install );
     @ISA        =   qw( Exporter );
-    $VERSION = "0.9103";     #have to hardcode or cpan.org gets unhappy
+    $VERSION = "0.9135";     #have to hardcode or cpan.org gets unhappy
 }
 
 ### purely for backward compatibility, so we can call it from the commandline:
@@ -124,8 +125,8 @@
 
 =head2 GENERAL USAGE
 
-This is the document you are currently reading. It describes 
-basic usage and background information. Its main purpose is to 
+This is the document you are currently reading. It describes
+basic usage and background information. Its main purpose is to
 assist the user who wants to learn how to invoke CPANPLUS
 and install modules from the commandline and to point you
 to more indepth reading if required.
@@ -132,13 +133,13 @@
 
 =head2 API REFERENCE
 
-The C<CPANPLUS> API is meant to let you programmatically 
+The C<CPANPLUS> API is meant to let you programmatically
 interact with the C<CPAN> mirrors. The documentation in
 L<CPANPLUS::Backend> shows you how to create an object
 capable of interacting with those mirrors, letting you
 create & retrieve module objects.
 L<CPANPLUS::Module> shows you how you can use these module
-objects to perform actions like installing and testing. 
+objects to perform actions like installing and testing.
 
 The default shell, documented in L<CPANPLUS::Shell::Default>
 is also scriptable. You can use its API to dispatch calls
@@ -150,7 +151,7 @@
 
 =head2 STARTING AN INTERACTIVE SHELL
 
-You can start an interactive shell by running either of 
+You can start an interactive shell by running either of
 the two following commands:
 
     $ cpanp
@@ -158,16 +159,16 @@
     $ perl -MCPANPLUS -eshell
 
 All commands available are listed in the interactive shells
-help menu. See C<cpanp -h> or L<CPANPLUS::Shell::Default> 
-for instructions on using the default shell.  
+help menu. See C<cpanp -h> or L<CPANPLUS::Shell::Default>
+for instructions on using the default shell.
 
 =head2 CHOOSE A SHELL
 
 By running C<cpanp> without arguments, you will start up
-the shell specified in your config, which defaults to 
+the shell specified in your config, which defaults to
 L<CPANPLUS::Shell::Default>. There are more shells available.
-C<CPANPLUS> itself ships with an emulation shell called 
-L<CPANPLUS::Shell::Classic> that looks and feels just like 
+C<CPANPLUS> itself ships with an emulation shell called
+L<CPANPLUS::Shell::Classic> that looks and feels just like
 the old C<CPAN.pm> shell.
 
 You can start this shell by typing:
@@ -174,18 +175,18 @@
 
     $ perl -MCPANPLUS -e'shell Classic'
 
-Even more shells may be available from C<CPAN>.    
+Even more shells may be available from C<CPAN>.
 
 Note that if you have changed your default shell in your
-configuration, that shell will be used instead. If for 
-some reason there was an error with your specified shell, 
+configuration, that shell will be used instead. If for
+some reason there was an error with your specified shell,
 you will be given the default shell.
 
 =head2 BUILDING PACKAGES
 
-C<cpan2dist> is a commandline tool to convert any distribution 
+C<cpan2dist> is a commandline tool to convert any distribution
 from C<CPAN> into a package in the format of your choice, like
-for example C<.deb> or C<FreeBSD ports>. 
+for example C<.deb> or C<FreeBSD ports>.
 
 See C<cpan2dist -h> for details.
 
@@ -238,10 +239,10 @@
 
 =head1 COPYRIGHT
 
-The CPAN++ interface (of which this module is a part of) is copyright (c) 
+The CPAN++ interface (of which this module is a part of) is copyright (c)
 2001 - 2007, Jos Boumans E<lt>kane at cpan.orgE<gt>. All rights reserved.
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =head1 SEE ALSO
@@ -256,7 +257,7 @@
 I<bug-cpanplus at rt.cpan.org>
 
 =item * Questions & suggestions:
-I<cpanplus-devel at lists.sourceforge.net>
+I<bug-cpanplus at rt.cpan.org>
 
 =back
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/lib/CPANPLUS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -8,7 +8,7 @@
 
 ### make sure to keep the plan -- this is the only test
 ### supported for 'older' T::H (pre 2.28) -- see Makefile.PL for details
-use Test::More tests => 40;
+use Test::More tests => 48;
 
 use Cwd;
 use Data::Dumper;
@@ -67,11 +67,11 @@
 }
 
 ### test _chdir ###
-{   ok( $Class->_chdir( dir => $Dir),   "Chdir to '$Dir'" );    
+{   ok( $Class->_chdir( dir => $Dir),   "Chdir to '$Dir'" );
 
     my $abs = File::Spec->rel2abs(File::Spec->catdir($Cwd,$Dir));
     paths_are_same( File::Spec->rel2abs(cwd()), $abs,
-                                        "   Cwd() is '$Dir'");  
+                                        "   Cwd() is '$Dir'");
 
     ok( $Class->_chdir( dir => $Cwd),   "Chdir back to '$Cwd'" );
     paths_are_same( File::Spec->rel2abs(cwd()), $Cwd,
@@ -83,10 +83,10 @@
                                         "Move from '$Dir' to '$Move'" );
     ok(  -d $Move,                      "   Dir '$Move' exists" );
     ok( !-d $Dir,                       "   Dir '$Dir' no longer exists" );
-    
-    
+
+
     {   local $CPANPLUS::Error::ERROR_FH = output_handle();
-    
+
         ### now try to move it somewhere it can't ###
         ok( !$Class->_move( file => $Move, to => 'inc' ),
                                         "   Impossible move detected" );
@@ -93,8 +93,8 @@
         like( CPANPLUS::Error->stack_as_string, qr/Failed to move/,
                                         "   Expected error found" );
     }
-}                                                                                   
-            
+}
+
 ### test _rmdir ###
 {   ok( -d $Move,                       "Dir '$Move' exists" );
     ok( $Class->_rmdir( dir => $Move ), "   Deleted dir '$Move'" );
@@ -107,71 +107,75 @@
     like( $contents, qr/BEGIN/,         "   Proper contents found" );
     like( $contents, qr/CPANPLUS/,      "   Proper contents found" );
 }
-    
+
 ### _perl_version tests ###
 {   my $version = $Class->_perl_version( perl => $^X );
     ok( $version,                       "Perl version found" );
     like( $version, qr/\d.\d+.\d+/,     "   Looks like a proper version" );
-}    
-        
+}
+
 ### _version_to_number tests ###
 {   my $map = {
-        '1'     => '1',
-        '1.2'   => '1.2',
-        '.2'    => '.2',
-        'foo'   => '0.0',
-        'a.1'   => '0.0',
-    };        
+        '1'      => '1',
+        '1.2'    => '1.2',
+        '.2'     => '.2',
+        'foo'    => '0.0',
+        'a.1'    => '0.0',
+        '1.2.3'  => '1.002003',
+        'v1.2.3' => '1.002003',
+        'v1.5'   => '1.005000',
+        '1.5-a'  => '1.500',
+    };
 
     while( my($try,$expect) = each %$map ) {
         my $ver = $Class->_version_to_number( version => $try );
         ok( $ver,                       "Version returned" );
         is( $ver, $expect,              "   Value as expected" );
-    }         
+    }
 }
 
 ### _whoami tests ###
-{   sub foo { 
-        my $me = $Class->_whoami; 
+{   sub foo {
+        my $me = $Class->_whoami;
         ok( $me,                        "_whoami returned a result" );
-        is( $me, 'foo',                 "   Value as expected" ); 
-    } 
+        is( $me, 'foo',                 "   Value as expected" );
+    }
 
     foo();
 }
-        
+
 ### _mode_plus_w tests ###
 {   open my $fh, ">$File" or die "Could not open $File for writing: $!";
     close $fh;
-    
+
     ### remove perms
     ok( -e $File,               "File '$File' created" );
     ok( chmod( 000, $File ),    "   File permissions set to 000" );
-    
+
     ok( $Class->_mode_plus_w( file => $File ),
                                 "   File permissions set to +w" );
     ok( -w $File,               "   File is writable" );
 
     1 while unlink $File;
-    
+
     ok( !-e $File,              "   File removed" );
 }
 
-### uri encode/decode tests    
+### uri encode/decode tests
 {   my $org = 'file://foo/bar';
 
     my $enc = $Class->_uri_encode( uri => $org );
-    
+
     ok( $enc,                   "String '$org' encoded" );
     like( $enc, qr/%/,          "   Contents as expected" );
-    
+
     my $dec = $Class->_uri_decode( uri => $enc );
     ok( $dec,                   "String '$enc' decoded" );
     is( $dec, $org,             "   Decoded properly" );
-}    
+}
 
-        
-        
+
+
 # Local variables:
 # c-indentation-style: bsd
 # c-basic-offset: 4


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/01_CPANPLUS-Configure.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/01_CPANPLUS-Configure.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/01_CPANPLUS-Configure.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -15,7 +15,7 @@
 
 for my $mod (qw[CPANPLUS::Configure]) {
     use_ok($mod) or diag qq[Can't load $mod];
-}    
+}
 
 my $c = CPANPLUS::Configure->new();
 isa_ok($c, 'CPANPLUS::Configure');
@@ -38,33 +38,33 @@
     ### copy for use on the config object itself
     my $accessor    = $cat;
     my $prepend     = ($cat =~ s/^_//) ? '_' : '';
-    
+
     my $getmeth     = $prepend . 'get_'. $cat;
     my $setmeth     = $prepend . 'set_'. $cat;
     my $addmeth     = $prepend . 'add_'. $cat;
-    
+
     ok( scalar(@options),               "Possible options obtained" );
-    
+
     ### test adding keys too ###
     {   my $add_key = 'test_key';
         my $add_val = [1..3];
-    
+
         my $found = grep { $add_key eq $_ } @options;
         ok( !$found,                    "Key '$add_key' not yet defined" );
         ok( $c->$addmeth( $add_key => $add_val ),
-                                        "   $addmeth('$add_key' => VAL)" ); 
+                                        "   $addmeth('$add_key' => VAL)" );
 
         ### this one now also exists ###
         push @options, $add_key
     }
 
-    ### poke in the object, get the actual hashref out ### 
+    ### poke in the object, get the actual hashref out ###
     my %hash = map {
-        $_ => $r->$accessor->$_     
+        $_ => $r->$accessor->$_
     } $r->$accessor->ls_accessors;
-    
+
     while( my ($key,$val) = each %hash ) {
-        my $is = $c->$getmeth($key); 
+        my $is = $c->$getmeth($key);
         is_deeply( $val, $is,           "deep check for '$key'" );
         ok( $c->$setmeth($key => 1 ),   "   $setmeth('$key' => 1)" );
         is( $c->$getmeth($key), 1,      "   $getmeth('$key')" );
@@ -74,15 +74,15 @@
     ### now check if we found all the keys with options or not ###
     delete $hash{$_} for @options;
     ok( !(scalar keys %hash),          "All possible keys found" );
-    
-}    
 
+}
 
+
 ### see if we can save the config ###
 {   my $dir     = File::Spec->rel2abs('dummy-cpanplus');
     my $pm      = 'CPANPLUS::Config::Test' . $$;
     my $file    = $c->save( $pm, $dir );
-    
+
     ok( $file,                  "Config $pm saved" );
     ok( -e $file,               "   File exists" );
     ok( -s $file,               "   File has size" );
@@ -92,16 +92,16 @@
         ok( $c->init( rescan => 1 ),
                                 "Reran ->init()" );
     }
-    
+
     ### make sure this file is now loaded
     ### XXX can't trust bloody dir separators on Win32 in %INC,
     ### so rather than an exact match, do a grep...
-    my ($found) = grep /\bTest$$/, values %INC; 
+    my ($found) = grep /\bTest$$/, values %INC;
     ok( $found,                 "   Found $file in \%INC" );
     ok( -e $file,               "   File exists" );
     1 while unlink $file;
     ok(!-e $file,               "       File removed" );
-    
+
 }
 
 {   my $env             = ENV_CPANPLUS_CONFIG;
@@ -108,7 +108,7 @@
     local $ENV{$env}    = $$;
     my $ok              = $c->init;
     my $stack           = CPANPLUS::Error->stack_as_string;
-        
+
     ok( $ok,                    "Reran init again" );
     like( $stack, qr/Specifying a config file in your environment/,
                                 "   Warning logged" );
@@ -116,16 +116,16 @@
 
 
 {   CPANPLUS::Error->flush;
-    
-    {   ### try a bogus method call 
+
+    {   ### try a bogus method call
         my $x   = $c->flubber('foo');
         my $err = CPANPLUS::Error->stack_as_string;
         is  ($x, undef,         "Bogus method call returns undef");
         like($err, "/flubber/", "   Bogus method call recognized");
     }
-    
+
     CPANPLUS::Error->flush;
-}    
+}
 
 
 # Local variables:


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/01_CPANPLUS-Configure.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/02_CPANPLUS-Internals.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/02_CPANPLUS-Internals.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/02_CPANPLUS-Internals.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -23,21 +23,21 @@
     ok( $del,                   "ID deleted" );
     isa_ok( $del,               "CPANPLUS::Internals" );
     is( $del, $cb,              "   Deleted ID matches last object" );
-    
+
     my $id = $cb->_store_id( $del );
     ok( $id,                    "ID stored" );
     is( $id, $cb->_id,          "   Stored proper ID" );
-    
+
     my $obj = $cb->_retrieve_id( $id );
     ok( $obj,                   "Object retrieved from ID" );
     isa_ok( $obj,               'CPANPLUS::Internals' );
     is( $obj->_id, $id,         "   Retrieved ID properly" );
-    
+
     my @obs = $cb->_return_all_objects();
     ok( scalar(@obs),           "Returned objects" );
     is( scalar(@obs), 1,        "   Proper amount of objects found" );
     is( $obs[0]->_id, $id,      "   Proper ID found on object" );
-    
+
     my $lid = $cb->_last_id;
     ok( $lid,                   "Found last registered ID" );
     is( $lid, $id,              "   ID matches last object" );
@@ -45,29 +45,29 @@
     my $iid = $cb->_inc_id;
     ok( $iid,                   "Incremented ID" );
     is( $iid, $id+1,            "   ID matched last ID + 1" );
-}    
+}
 
 ### host ok test ###
 {
     my $host = $cb->configure_object->get_conf('hosts')->[0];
-    
+
     is( $cb->_host_ok( host => $host ),     1,  "Host ok" );
     is( $cb->_add_fail_host(host => $host), 1,  "   Host now marked as bad" );
     is( $cb->_host_ok( host => $host ),     0,  "   Host still bad" );
     ok( $cb->_flush( list => ['hosts'] ),       "   Hosts flushed" );
     is( $cb->_host_ok( host => $host ),     1,  "   Host now ok again" );
-}    
+}
 
 ### flush loads test
 {   my $mod     = 'Benchmark';
     my $file    = $mod . '.pm';
-    
+
     ### XXX whitebox test -- mark this module as unloadable
     $Module::Load::Conditional::CACHE->{$mod}->{usable} = 0;
 
     ok( !can_load( modules => { $mod => 0 }, verbose => 0 ),
                                                 "'$mod' not loaded" );
-                                                
+
     ok( $cb->flush('load'),                     "   'load' cache flushed" );
     ok( can_load( modules => { $mod => 0 }, verbose => 0 ),
                                                 "   '$mod' loaded" );
@@ -76,30 +76,30 @@
 ### add to inc path tests
 {   my $meth = '_add_to_includepath';
     can_ok( $cb,                $meth );
-    
+
     my $p5lib   = $ENV{PERL5LIB} || '';
-    my $inc     = "@INC";         
-    ok( $cb->$meth( directories => [$$] ),    
+    my $inc     = "@INC";
+    ok( $cb->$meth( directories => [$$] ),
                                 "   CB->$meth( $$ )" );
-    
+
     my $new_p5lib   = $ENV{PERL5LIB};
-    my $new_inc     = "@INC";    
+    my $new_inc     = "@INC";
     isnt( $p5lib, $new_p5lib,   "       PERL5LIB is now: $new_p5lib" );
     like( $new_p5lib, qr/$$/,   "           Matches $$" );
 
     isnt( $inc, $new_inc,       '       @INC is expanded with: ' . $$ );
     like( $new_inc, qr/$$/,     "           Matches $$" );
-    
-    ok( $cb->$meth( directories => [$$] ),    
+
+    ok( $cb->$meth( directories => [$$] ),
                                 "       CB->$meth( $$ ) again" );
     is( "@INC", $new_inc,       '           @INC unchanged' );
     is( $new_p5lib, $ENV{PERL5LIB},
                                 "           PERL5LIB unchanged" );
-}    
+}
 
 ### callback registering tests ###
 {    my $callback_map = {
-        ### name                default value    
+        ### name                default value
         install_prerequisite    => 1,   # install prereqs when 'ask' is set?
         edit_test_report        => 0,   # edit the prepared test report?
         send_test_report        => 1,   # send the test report?
@@ -110,32 +110,32 @@
     };
 
     for my $callback ( keys %$callback_map ) {
-        
+
         {   my $rv = $callback_map->{$callback};
 
             is( $rv, $cb->_callbacks->$callback->( $0, $$ ),
                                 "Default callback '$callback' called" );
-            like( CPANPLUS::Error->stack_as_string, qr/DEFAULT '\S+' HANDLER/s,  
-                                "   Default handler warning recorded" );       
+            like( CPANPLUS::Error->stack_as_string, qr/DEFAULT '\S+' HANDLER/s,
+                                "   Default handler warning recorded" );
             CPANPLUS::Error->flush;
         }
-        
+
         ### try to register the callback
         my $ok = $cb->_register_callback(
                         name    => $callback,
                         code    => sub { return $callback }
                     );
-                    
+
         ok( $ok,                "Registered callback '$callback' ok" );
-        
+
         my $sub = $cb->_callbacks->$callback;
         ok( $sub,               "   Retrieved callback" );
         ok( IS_CODEREF->($sub), "   Callback is a sub" );
-        
+
         my $rv = $sub->();
         ok( $rv,                "   Callback called ok" );
         is( $rv, $callback,     "   Got expected return value" );
-    }   
+    }
 }
 
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/02_CPANPLUS-Internals.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -7,8 +7,8 @@
 use strict;
 
 use Module::Load;
-use Test::More eval { 
-            load $ENV{CPANPLUS_SOURCE_ENGINE} if $ENV{CPANPLUS_SOURCE_ENGINE}; 1 
+use Test::More eval {
+            load $ENV{CPANPLUS_SOURCE_ENGINE} if $ENV{CPANPLUS_SOURCE_ENGINE}; 1
         } ? 'no_plan'
           : (skip_all => "SQLite engine not available");
 
@@ -20,6 +20,7 @@
 use File::Basename qw[dirname];
 
 my $conf = gimme_conf();
+$conf->set_conf( enable_custom_sources => 1 );
 my $cb   = CPANPLUS::Backend->new( $conf );
 
 ### XXX temp
@@ -35,12 +36,12 @@
 
     ### source files should be copied from the 'server' now
     for my $name (qw[auth mod dslip] ) {
-        my $file = File::Spec->catfile( 
+        my $file = File::Spec->catfile(
                             $conf->get_conf('base'),
                             $conf->_get_source($name)
-                    );            
+                    );
         ok( (-e $file && -f _ && -s _), "$file exists" );
-    }    
+    }
 
     ok( $at,                    "Authortree loaded successfully" );
     ok( scalar keys %$at,       "   Authortree has items in it" );
@@ -55,7 +56,7 @@
 }
 
 ### save state tests
-SKIP: {   
+SKIP: {
     skip "Save state tests for custom engine $ENV{CPANPLUS_SOURCE_ENGINE}", 7
         if $ENV{CPANPLUS_SOURCE_ENGINE};
 
@@ -73,11 +74,11 @@
 
         my $rv = $cb->save_state;
         ok( $rv,                "   State information saved" );
-        
-        like( CPANPLUS::Error->stack_as_string, qr/Writing compiled source/,    
+
+        like( CPANPLUS::Error->stack_as_string, qr/Writing compiled source/,
                                 "       Diagnostics confirmed" );
     }
-    
+
     ### now we rebuild the trees from disk and
     ### check if the module object has a status saved with it
     {   CPANPLUS::Error->flush;
@@ -84,33 +85,33 @@
         ok( $cb->_build_trees( uptodate => 1, use_stored => 1),
                                 "   Trees are rebuilt" );
 
-        like( CPANPLUS::Error->stack_as_string, qr/Retrieving/,    
+        like( CPANPLUS::Error->stack_as_string, qr/Retrieving/,
                                 "       Diagnostics confirmed" );
 
-    
+
         my $mod     = $cb->_module_tree->{$modname};
         ok( $mod->status,       "       Status now set in module object" );
-    }  
+    }
 }
 
 ### check custom sources
 ### XXX whitebox test
-SKIP: {   
+SKIP: {
     ### first, find a file to serve as a source
     my $mod     = $cb->_module_tree->{$modname};
     my $package = File::Spec->rel2abs(
-                        File::Spec->catfile( 
+                        File::Spec->catfile(
                             $FindBin::Bin,
                             TEST_CONF_CPAN_DIR,
                             $mod->path,
                             $mod->package,
                         )
-                    );      
-       
+                    );
+
     ok( $package,               "Found file for custom source" );
     ok( -e $package,            "   File '$package' exists" );
 
-    ### remote uri    
+    ### remote uri
     my $uri      =  $cb->_host_to_uri(
                         scheme  => 'file',
                         host    => '',
@@ -118,25 +119,25 @@
                     );
 
     my $expected_file = $cb->__custom_module_source_index_file( uri => $uri );
-    
+
     ok( $expected_file,         "Sources should be written to '$uri'" );
-    
+
     skip( "Index file size too long (>260 chars). Can't write to disk", 28 )
         if length $expected_file > 260 and ON_WIN32;
-            
 
-    ### local file 
+
+    ### local file
     ### 2 tests
     my $src_file = $cb->_add_custom_module_source( uri => $uri );
-    ok( $src_file,              "Sources written to '$src_file'" );                     
-    ok( -e $src_file,           "   File exists" );                     
-                     
-    ### and write the file  
+    ok( $src_file,              "Sources written to '$src_file'" );
+    ok( -e $src_file,           "   File exists" );
+
+    ### and write the file
     ### 5 tests
     {   my $meth = '__write_custom_module_index';
         can_ok( $cb,    $meth );
 
-        my $rv = $cb->$meth( 
+        my $rv = $cb->$meth(
                         path => dirname( $package ),
                         to   => $src_file
                     );
@@ -145,26 +146,26 @@
         is( $rv, $src_file,     "       Written to expected file" );
         ok( -e $src_file,       "       Source file exists" );
         ok( -s $src_file,       "       File has non-zero size" );
-    }              
-    
+    }
+
     ### let's see if we can find our custom files
     ### 3 tests
     {   my $meth = '__list_custom_module_sources';
         can_ok( $cb,    $meth );
-        
+
         my %files = $cb->$meth;
         ok( scalar(keys(%files)),
                                 "   Got list of sources" );
-        
+
         ### on VMS, we can't predict the case unfortunately
         ### so grep for it instead;
-        my $found = map { 
+        my $found = map {
             my $src_re = quotemeta($src_file);
             $_ =~ /$src_re/i;
         } keys %files;
 
         ok( $found,             "   Found proper entry for $src_file" );
-    }        
+    }
 
     ### now we can have it be loaded in
     ### 6 tests
@@ -178,7 +179,7 @@
         my $add      = $cb->_module_tree->{$add_name};
         ok( $add,               "   Found added module" );
 
-        ok( $add->status->_fetch_from,  
+        ok( $add->status->_fetch_from,
                                 "       Full download path set" );
         is( $add->author->cpanid, CUSTOM_AUTHOR_ID,
                                 "       Attributed to custom author" );
@@ -193,60 +194,60 @@
     ### 3 tests
     {   my $meth    = '__update_custom_module_sources';
         can_ok( $cb,    $meth );
-        
+
         ### mark what time it is now, sleep 1 second for better measuring
-        my $now     = time;        
+        my $now     = time;
         sleep 1;
-        
+
         my $ok      = $cb->$meth;
 
         ok( $ok,                    "Custom sources updated" );
         cmp_ok( [stat $src_file]->[9], '>=', $now,
-                                    "   Timestamp on sourcefile updated" );    
+                                    "   Timestamp on sourcefile updated" );
     }
-    
+
     ### now update it individually
-    ### 3 tests    
+    ### 3 tests
     {   my $meth    = '__update_custom_module_source';
         can_ok( $cb,    $meth );
-        
+
         ### mark what time it is now, sleep 1 second for better measuring
-        my $now     = time;        
+        my $now     = time;
         sleep 1;
-        
+
         my $ok      = $cb->$meth( remote => $uri );
 
         ok( $ok,                    "Custom source for '$uri' updated" );
         cmp_ok( [stat $src_file]->[9], '>=', $now,
-                                    "   Timestamp on sourcefile updated" );    
+                                    "   Timestamp on sourcefile updated" );
     }
 
     ### now update using the higher level API, see if it's part of the update
-    ### 3 tests    
+    ### 3 tests
     {   CPANPLUS::Error->flush;
 
         ### mark what time it is now, sleep 1 second for better measuring
-        my $now = time;        
+        my $now = time;
         sleep 1;
-        
+
         my $ok  = $cb->_build_trees(
                         uptodate    => 0,
                         use_stored  => 0,
                     );
-    
+
         ok( $ok,                    "All sources updated" );
         cmp_ok( [stat $src_file]->[9], '>=', $now,
-                                    "   Timestamp on sourcefile updated" );    
+                                    "   Timestamp on sourcefile updated" );
 
         like( CPANPLUS::Error->stack_as_string, qr/Updating sources from/,
                                     "   Update recorded in the log" );
     }
-    
+
     ### now remove the index file;
-    ### 3 tests    
+    ### 3 tests
     {   my $meth = '_remove_custom_module_source';
         can_ok( $cb,    $meth );
-        
+
         my $file = $cb->$meth( uri => $uri );
         ok( $file,                  "Index file removed" );
         ok( ! -e $file,             "   File '$file' no longer on disk" );


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/03_CPANPLUS-Internals-Source.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/04_CPANPLUS-Module.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/04_CPANPLUS-Module.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/04_CPANPLUS-Module.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -21,7 +21,7 @@
 my $CB      = CPANPLUS::Backend->new( $Conf );
 
 ### start with fresh sources ###
-ok( $CB->reload_indices( update_source => 0 ),  "Rebuilding trees" );  
+ok( $CB->reload_indices( update_source => 0 ),  "Rebuilding trees" );
 
 my $AuthName    = TEST_CONF_AUTHOR;
 my $Auth        = $CB->author_tree( $AuthName );
@@ -48,17 +48,17 @@
         name        =>  $ModName,
         comment     =>  undef,
         package     =>  'Foo-Bar-0.01.tar.gz',
-        path        =>  'authors/id/EUNOXS',      
+        path        =>  'authors/id/EUNOXS',
         version     =>  '0.01',
         dslip       =>  'cdpO ',
-        description =>  'CPANPLUS Test Package', 
+        description =>  'CPANPLUS Test Package',
         mtime       =>  '',
         author      =>  $Auth,
-    );        
+    );
 
     my @acc = $Mod->accessors;
     ok( scalar(@acc),           "Retrieved module accessors" );
-    
+
     ### remove private accessors
     is_deeply( [ sort keys %map ], [ sort grep { $_ !~ /^_/ } @acc ],
                                 "   About to test all accessors" );
@@ -71,7 +71,7 @@
     ### check accessor objects ###
     isa_ok( $Mod->parent,       'CPANPLUS::Backend' );
     isa_ok( $Mod->author,       'CPANPLUS::Module::Author' );
-    is( $Mod->author->author, $Auth->author,            
+    is( $Mod->author->author, $Auth->author,
                                 "Module eq Author" );
 }
 
@@ -89,18 +89,18 @@
 {   my $clone = $Mod->clone;
     ok( $clone,                 "Module cloned" );
     isa_ok( $clone,             'CPANPLUS::Module' );
-    
+
     for my $acc ( $Mod->accessors ) {
         is( $clone->$acc, $Mod->$acc,
                                 "   Clone->$acc matches Mod->$acc " );
     }
-    
-    ### XXX whitebox test 
+
+    ### XXX whitebox test
     ok( !$clone->_status,      "Status object empty on start" );
-    
+
     my $status = $clone->status;
     ok( $status,                "   Status object defined after query" );
-    is( $status, $clone->_status, 
+    is( $status, $clone->_status,
                                 "   Object stored as expected" );
     isa_ok( $status,            'Object::Accessor' );
 }
@@ -109,18 +109,18 @@
     ok( !$Mod->extract(),   "Cannot extract unfetched file" );
     like( CPANPLUS::Error->stack_as_string, qr/You have not fetched/,
                             "   Error properly logged" );
-}      
+}
 
 {   ### fetch tests ###
     ### enable signature checks for checksums ###
     my $old = $Conf->get_conf('signature');
-    $Conf->set_conf(signature => 1);  
-    
+    $Conf->set_conf(signature => 1);
+
     my $where = $Mod->fetch( force => 1 );
     ok( $where,             "Module fetched" );
     ok( -f $where,          "   Module is a file" );
     ok( -s $where,          "   Module has size" );
-    
+
     $Conf->set_conf( signature => $old );
 }
 
@@ -142,7 +142,7 @@
     SKIP: {
         skip(q[You chose not to enable checksum verification], 5)
             unless $Conf->get_conf('md5');
-    
+
         my $cksum_file = $Mod->checksums;
         ok( $cksum_file,    "Checksum file found" );
         is( $cksum_file, $Mod->status->checksums,
@@ -149,19 +149,19 @@
                             "   File stored in module object" );
         ok( -e $cksum_file, "   File exists" );
         ok( -s $cksum_file, "   File has size" );
-    
+
         ### XXX test checksum_value if there's digest::md5 + config wants it
         ok( $Mod->status->checksum_ok,
                             "   Checksum is ok" );
-                            
-        ### check ttl code for checksums; fetching it now means the cache 
+
+        ### check ttl code for checksums; fetching it now means the cache
         ### should kick in
         {   CPANPLUS::Error->flush;
-            ok( $Mod->checksums,       
+            ok( $Mod->checksums,
                             "   Checksums re-fetched" );
             like( CPANPLUS::Error->stack_as_string, qr/Using cached file/,
                             "       Cached file used" );
-        }                            
+        }
     }
 }
 
@@ -177,7 +177,7 @@
     SKIP: {
         skip(q[You chose not to enable signature checks], 1)
             unless $Conf->get_conf('signature');
-            
+
         ok( $Mod->check_signature,
                             "Signature check OK" );
     }
@@ -184,7 +184,7 @@
 }
 
 ### dslip & related
-{   my $dslip = $Mod->dslip;   
+{   my $dslip = $Mod->dslip;
     ok( $dslip,             "Got dslip information from $ModName ($dslip)" );
 
     ### now find it for a submodule
@@ -193,33 +193,33 @@
         ok( $submod->dslip, "   Got dslip info (".$submod->dslip.")" );
         is( $submod->dslip, $dslip,
                             "   It's identical to $ModName" );
-    }                            
+    }
 }
 
-{   ### details() test ###   
+{   ### details() test ###
     my $href = {
         'Support Level'     => 'Developer',
         'Package'           => $Mod->package,
         'Description'       => $Mod->description,
-        'Development Stage' => 
+        'Development Stage' =>
                 'under construction but pre-alpha (not yet released)',
         'Author'            => sprintf("%s (%s)", $Auth->author, $Auth->email),
         'Version on CPAN'   => $Mod->version,
-        'Language Used'     => 
+        'Language Used'     =>
                 'Perl-only, no compiler needed, should be platform independent',
-        'Interface Style'   => 
+        'Interface Style'   =>
                 'Object oriented using blessed references and/or inheritance',
-        'Public License'    => 'Unknown',                
+        'Public License'    => 'Unknown',
         ### XXX we can't really know what you have installed ###
         #'Version Installed' => '0.06',
-    };   
+    };
 
     my $res = $Mod->details;
-    
+
     ### delete they key of which we don't know the value ###
     delete $res->{'Version Installed'};
-    
-    is_deeply( $res, $href, "Details OK" );        
+
+    is_deeply( $res, $href, "Details OK" );
 }
 
 {   ### contians() test ###
@@ -227,9 +227,9 @@
     ### we use 4x the same package name for different modules. So use
     ### the only unique package name here, which is the one for the core mod
     my @list = $CoreMod->contains;
-    
+
     ok( scalar(@list),          "Found modules contained in this one" );
-    is_deeply( \@list, [$CoreMod],  
+    is_deeply( \@list, [$CoreMod],
                                 "   Found all modules expected" );
 }
 
@@ -263,9 +263,9 @@
 
     my @objs = $bundle->bundle_modules;
     is( scalar(@objs), 5,       "   Found all prerequisites" );
-    
+
     for( @objs ) {
-        isa_ok( $_, 'CPANPLUS::Module', 
+        isa_ok( $_, 'CPANPLUS::Module',
                                 "   Prereq " . $_->module  );
         ok( defined $bundle->status->prereqs->{$_->module},
                                 "       Prereq was registered" );
@@ -273,14 +273,14 @@
 }
 
 {   ### testing autobundles
-    my $file    = File::Spec->catfile( 
-                        dummy_cpan_dir(), 
+    my $file    = File::Spec->catfile(
+                        dummy_cpan_dir(),
                         $Conf->_get_build('autobundle'),
-                        'Snapshot.pm' 
+                        'Snapshot.pm'
                     );
     my $uri     = $CB->_host_to_uri( scheme => 'file', path => $file );
     my $bundle  = $CB->parse_module( module => $uri );
-    
+
     ok( -e $file,               "Creating bundle from '$file'" );
     ok( $bundle,                "   Object created" );
     isa_ok( $bundle, 'CPANPLUS::Module',
@@ -287,7 +287,7 @@
                                 "   Object" );
     ok( $bundle->is_bundle,     "   Recognized as bundle" );
     ok( $bundle->is_autobundle, "   Recognized as autobundle" );
-    
+
     my $type = $bundle->get_installer_type;
     ok( $type,                  "   Found installer type" );
     is( $type, INSTALLER_AUTOBUNDLE,
@@ -303,7 +303,7 @@
     is( scalar(@list), 1,       "       Right number of prereqs" );
     isa_ok( $list[0], 'CPANPLUS::Module',
                                 "       Object" );
-                                
+
     ### skiptests to make sure we don't get any test header mismatches
     my $rv = $bundle->create( prereq_target => 'create', skiptest => 1 );
     ok( $rv,                    "   Tested prereqs" );
@@ -313,28 +313,28 @@
 ### test module from perl core ###
 {   isa_ok( $CoreMod, 'CPANPLUS::Module',
                                 "Core module " . $CoreName );
-    ok( $CoreMod->package_is_perl_core, 
+    ok( $CoreMod->package_is_perl_core,
                                 "   Package found in perl core" );
-    
+
     ### check if it's core with 5.6.1
     {   local $] = '5.006001';
         ok( $CoreMod->module_is_supplied_with_perl_core,
                                 "   Module also found in perl core");
     }
-    
+
     ok( !$CoreMod->install,     "   Package not installed" );
     like( CPANPLUS::Error->stack_as_string, qr/core Perl/,
                                 "   Error properly logged" );
-}    
+}
 
 ### test third-party modules
 SKIP: {
-    skip "Module::ThirdParty not installed", 10 
+    skip "Module::ThirdParty not installed", 10
         unless eval { require Module::ThirdParty; 1 };
 
-    ok( !$Mod->is_third_party, 
+    ok( !$Mod->is_third_party,
                                 "Not a 3rd party module: ". $Mod->name );
-    
+
     my $fake = $CB->parse_module( module => 'LOCAL/SVN-Core-1.0' );
     ok( $fake,                  "Created module object for ". $fake->name );
     ok( $fake->is_third_party,
@@ -343,11 +343,11 @@
     my $info = $fake->third_party_information;
     ok( $info,                  "Got 3rd party package information" );
     isa_ok( $info,              'HASH' );
-    
+
     for my $item ( qw[name url author author_url] ) {
         ok( length($info->{$item}),
                                 "   $item field is filled" );
-    }        
+    }
 }
 
 ### testing EU::Installed methods in Dist::MM tests ###


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/04_CPANPLUS-Module.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -26,11 +26,11 @@
 ### fail host tests ###
 {   my $host = {};
     my $rv   = $cb->_add_fail_host( host => $host );
-    
+
     ok( $rv,                    "Failed host added " );
-    ok(!$cb->_host_ok( host => $host),   
+    ok(!$cb->_host_ok( host => $host),
                                 "   Host registered as failed" );
-    ok( $cb->_host_ok( host => {} ),    
+    ok( $cb->_host_ok( host => {} ),
                                 "   Fresh host unregistered" );
 }
 
@@ -38,7 +38,7 @@
 {   my $where = $cb->_fetch( module => $mod, force => 1 );
 
     ok( $where,                 "File downloaded to '$where'" );
-    ok( -s $where,              "   File exists" );                          
+    ok( -s $where,              "   File exists" );
     unlink $where;
     ok(!-e $where,              "   File removed" );
 }
@@ -46,24 +46,24 @@
 ### try to fetch something that doesn't exist ###
 {   ### set up a bogus host first ###
     my $hosts   = $conf->get_conf('hosts');
-    my $fail    = { scheme  => 'file', 
+    my $fail    = { scheme  => 'file',
                     path    => "$0/$0" };
-    
+
     unshift @$hosts, $fail;
     $conf->set_conf( hosts => $hosts );
-    
+
     ### the fallback host will get it ###
     my $where = $cb->_fetch( module => $mod, force => 1, verbose => 0 );
     ok($where,                  "File downloaded to '$where'" );
-    ok( -s $where,              "   File exists" );                          
-    
+    ok( -s $where,              "   File exists" );
+
     ### but the error should be recorded ###
     like( CPANPLUS::Error->stack_as_string, qr/Fetching of .*? failed/s,
-                                "   Error recorded appropriately" ); 
+                                "   Error recorded appropriately" );
 
     ### host marked as bad? ###
-    ok(!$cb->_host_ok( host => $fail ),   
-                                "   Failed host logged properly" );    
+    ok(!$cb->_host_ok( host => $fail ),
+                                "   Failed host logged properly" );
 
     ### restore the hosts ###
     shift @$hosts; $conf->set_conf( hosts => $hosts );
@@ -82,23 +82,23 @@
         : File::Spec::Unix->catfile(
               File::Spec::Unix->catdir( File::Spec->splitdir( $cwd ) ),
               $base
-          ); 
-          
+          );
+
     my $target  = CREATE_FILE_URI->($in_file);
 
     my $fake    = $cb->parse_module( module => $target );
-    
-    ok( IS_FAKE_MODOBJ->(mod => $fake), 
+
+    ok( IS_FAKE_MODOBJ->(mod => $fake),
                                 "Fake module created from $0" );
     is( $fake->status->_fetch_from, $target,
-                                "   Fetch from set ok" );                                 
-                                
+                                "   Fetch from set ok" );
+
     my $where = $fake->fetch;
     ok( $where,                 "   $target fetched ok" );
     ok( -s $where,              "   $where exists" );
     like( $where, '/'. UNKNOWN_DL_LOCATION .'/',
                                 "   Saved to proper location" );
-    like( $where, qr/$base$/,   "   Saved with proper name" );                                
+    like( $where, qr/$base$/,   "   Saved with proper name" );
 }
 
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -40,8 +40,8 @@
 ok( FILE_EXISTS->( file => basename($0) ),      "FILE_EXISTS finds file" );
 ok( FILE_READABLE->( file => basename($0) ),    "FILE_READABLE finds file" );
 ok( DIR_EXISTS->( dir => cwd() ),               "DIR_EXISTS finds dir" );
-            
 
+
 {   no strict 'refs';
 
     my $tmpl = {
@@ -56,18 +56,18 @@
                 : 'Makefile'
         },
     };
-    
+
     while ( my($sub,$res) = each %$tmpl ) {
         is( &{$sub}->(), $res, "$sub returns proper result without args" );
-        
+
         my $long = File::Spec->catfile( cwd(), $res );
         is( &{$sub}->( cwd() ), $long, "$sub returns proper result with args" );
-    }       
-}                               
-      
+    }
+}
+
 # Local variables:
 # c-indentation-style: bsd
 # c-basic-offset: 4
 # indent-tabs-mode: nil
 # End:
-# vim: expandtab shiftwidth=4:          
+# vim: expandtab shiftwidth=4:


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/08_CPANPLUS-Backend.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/08_CPANPLUS-Backend.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/08_CPANPLUS-Backend.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -25,8 +25,8 @@
 
 my $mt = $cb->module_tree;
 my $at = $cb->author_tree;
-ok( scalar keys %$mt,       "Module tree has entries" ); 
-ok( scalar keys %$at,       "Author tree has entries" ); 
+ok( scalar keys %$mt,       "Module tree has entries" );
+ok( scalar keys %$at,       "Author tree has entries" );
 
 ### module_tree tests ###
 my $Name = TEST_CONF_MODULE;
@@ -35,7 +35,7 @@
 ### XXX SOURCEFILES FIX
 {   my @mods = $cb->module_tree($Name,$Name);
     my $none = $cb->module_tree( TEST_CONF_INVALID_MODULE );
-    
+
     ok( IS_MODOBJ->(mod => $mod),           "Module object found" );
     is( scalar(@mods), 2,                   "   Module list found" );
     ok( IS_MODOBJ->(mod => $mods[0]),       "   ISA module object" );
@@ -46,7 +46,7 @@
 {   my @auths = $cb->author_tree( $mod->author->cpanid,
                                   $mod->author->cpanid );
     my $none  = $cb->author_tree( 'fnurk' );
-    
+
     ok( IS_AUTHOBJ->(auth => $mod->author), "Author object found" );
     is( scalar(@auths), 2,                  "   Author list found" );
     ok( IS_AUTHOBJ->( author => $auths[0] ),"   ISA author object" );
@@ -59,122 +59,122 @@
 
 
 ### parse_module tests ###
-{   my @map = (                                  
-        $Name => [ 
+{   my @map = (
+        $Name => [
             $mod->author->cpanid,   # author
             $mod->package_name,     # package name
             $mod->version,          # version
         ],
-        $mod => [ 
-            $mod->author->cpanid,  
-            $mod->package_name, 
-            $mod->version, 
+        $mod => [
+            $mod->author->cpanid,
+            $mod->package_name,
+            $mod->version,
         ],
-        'Foo-Bar-EU-NOXS' => [ 
-            $mod->author->cpanid,  
-            $mod->package_name, 
+        'Foo-Bar-EU-NOXS' => [
+            $mod->author->cpanid,
+            $mod->package_name,
             $mod->version,
         ],
-        'Foo-Bar-EU-NOXS-0.01' => [ 
-            $mod->author->cpanid,  
-            $mod->package_name, 
+        'Foo-Bar-EU-NOXS-0.01' => [
+            $mod->author->cpanid,
+            $mod->package_name,
             '0.01',
         ],
-        'EUNOXS/Foo-Bar-EU-NOXS' => [ 
+        'EUNOXS/Foo-Bar-EU-NOXS' => [
             'EUNOXS',
-            $mod->package_name, 
+            $mod->package_name,
             $mod->version,
         ],
-        'EUNOXS/Foo-Bar-EU-NOXS-0.01' => [ 
-            'EUNOXS',              
-            $mod->package_name, 
+        'EUNOXS/Foo-Bar-EU-NOXS-0.01' => [
+            'EUNOXS',
+            $mod->package_name,
             '0.01',
         ],
         ### existing module, no extension given
         ### this used to create a modobj with no package extension
-        'EUNOXS/Foo-Bar-0.02' => [ 
-            'EUNOXS',              
+        'EUNOXS/Foo-Bar-0.02' => [
+            'EUNOXS',
             'Foo-Bar',
             '0.02',
         ],
-        'Foo-Bar-EU-NOXS-0.09' => [ 
-            $mod->author->cpanid,  
-            $mod->package_name, 
+        'Foo-Bar-EU-NOXS-0.09' => [
+            $mod->author->cpanid,
+            $mod->package_name,
             '0.09',
         ],
-        'MBXS/Foo-Bar-EU-NOXS-0.01' => [ 
-            'MBXS',                
-            $mod->package_name, 
+        'MBXS/Foo-Bar-EU-NOXS-0.01' => [
+            'MBXS',
+            $mod->package_name,
             '0.01',
         ],
-        'EUNOXS/Foo-Bar-EU-NOXS-0.09' => [ 
+        'EUNOXS/Foo-Bar-EU-NOXS-0.09' => [
             'EUNOXS',
-            $mod->package_name, 
+            $mod->package_name,
             '0.09',
         ],
-        'EUNOXS/Foo-Bar-EU-NOXS-0.09.zip' => [ 
+        'EUNOXS/Foo-Bar-EU-NOXS-0.09.zip' => [
             'EUNOXS',
-            $mod->package_name, 
+            $mod->package_name,
             '0.09',
         ],
-        'FROO/Flub-Flob-1.1.zip' => [ 
-            'FROO',    
-            'Flub-Flob',    
-            '1.1',  
+        'FROO/Flub-Flob-1.1.zip' => [
+            'FROO',
+            'Flub-Flob',
+            '1.1',
         ],
-        'G/GO/GOYALI/SMS_API_3_01.tar.gz' => [ 
-            'GOYALI',  
-            'SMS_API',      
-            '3_01', 
+        'G/GO/GOYALI/SMS_API_3_01.tar.gz' => [
+            'GOYALI',
+            'SMS_API',
+            '3_01',
         ],
-        'E/EY/EYCK/Net/Lite/Net-Lite-FTP-0.091' => [ 
-            'EYCK',    
-            'Net-Lite-FTP', 
+        'E/EY/EYCK/Net/Lite/Net-Lite-FTP-0.091' => [
+            'EYCK',
+            'Net-Lite-FTP',
             '0.091',
         ],
-        'EYCK/Net/Lite/Net-Lite-FTP-0.091' => [ 
+        'EYCK/Net/Lite/Net-Lite-FTP-0.091' => [
             'EYCK',
-            'Net-Lite-FTP', 
+            'Net-Lite-FTP',
             '0.091',
         ],
-        'M/MA/MAXDB/DBD-MaxDB-7.5.0.24a' => [ 
+        'M/MA/MAXDB/DBD-MaxDB-7.5.0.24a' => [
             'MAXDB',
             'DBD-MaxDB',
-            '7.5.0.24a', 
+            '7.5.0.24a',
         ],
-        'EUNOXS/perl5.005_03.tar.gz' => [ 
-            'EUNOXS',  
+        'EUNOXS/perl5.005_03.tar.gz' => [
+            'EUNOXS',
             'perl',
             '5.005_03',
         ],
-        'FROO/Flub-Flub-v1.1.0.tbz' => [ 
-            'FROO',    
-            'Flub-Flub',       
-            'v1.1.0', 
+        'FROO/Flub-Flub-v1.1.0.tbz' => [
+            'FROO',
+            'Flub-Flub',
+            'v1.1.0',
         ],
-        'FROO/Flub-Flub-1.1_2.tbz' => [ 
-            'FROO',    
-            'Flub-Flub',       
+        'FROO/Flub-Flub-1.1_2.tbz' => [
+            'FROO',
+            'Flub-Flub',
             '1.1_2',
-        ],   
-        'LDS/CGI.pm-3.27.tar.gz' => [ 
+        ],
+        'LDS/CGI.pm-3.27.tar.gz' => [
             'LDS',
             'CGI',
-            '3.27', 
+            '3.27',
         ],
-        'FROO/Text-Tabs+Wrap-2006.1117.tar.gz' => [ 
-            'FROO',    
+        'FROO/Text-Tabs+Wrap-2006.1117.tar.gz' => [
+            'FROO',
             'Text-Tabs+Wrap',
-            '2006.1117',                                                      
-        ],   
-        'JETTERO/Crypt-PBC-0.7.20.0-0.4.9' => [ 
+            '2006.1117',
+        ],
+        'JETTERO/Crypt-PBC-0.7.20.0-0.4.9' => [
             'JETTERO',
             'Crypt-PBC',
             '0.7.20.0-0.4.9' ,
         ],
-        'GRICHTER/HTML-Embperl-1.2.1.tar.gz' => [ 
-            'GRICHTER',            
-            'HTML-Embperl', 
+        'GRICHTER/HTML-Embperl-1.2.1.tar.gz' => [
+            'GRICHTER',
+            'HTML-Embperl',
             '1.2.1',
         ],
         'KANE/File-Fetch-0.15_03' => [
@@ -186,13 +186,18 @@
             'AUSCHUTZ',
             'IO-Stty',
             '.02',
-        ],            
+        ],
         '.' => [
             'CPANPLUS',
             't',
             '',
-        ],            
-    );       
+        ],
+        'Foo/Bar.pm' => [
+            $mod->author->cpanid,   # author
+            $mod->package_name,     # package name
+            $mod->version,          # version
+        ],
+    );
 
     while ( my($guess, $attr) = splice @map, 0, 2 ) {
         my( $author, $pkg_name, $version ) = @$attr;
@@ -200,11 +205,11 @@
         ok( $guess,             "Attempting to parse $guess" );
 
         my $obj = $cb->parse_module( module => $guess );
-        
+
         ok( $obj,               "   Result returned" );
-        ok( IS_MODOBJ->( mod => $obj ), 
-                                "   parse_module success by '$guess'" );     
-        
+        ok( IS_MODOBJ->( mod => $obj ),
+                                "   parse_module success by '$guess'" );
+
         is( $obj->version, $version,
                                 "   Proper version found: $version" );
         is( $obj->package_version, $version,
@@ -218,10 +223,10 @@
         {   my $ext = $obj->package_extension;
             ok( $ext,           "       Has extension as well: $ext" );
         }
-        
-        like( $obj->author->cpanid, "/$author/i", 
+
+        like( $obj->author->cpanid, "/$author/i",
                                 "   Proper author found: $author");
-        like( $obj->path,           "/$author/i", 
+        like( $obj->path,           "/$author/i",
                                 "   Proper path found: " . $obj->path );
     }
 
@@ -233,27 +238,27 @@
                 [qr/Cannot find .+? in the module tree/,"Unable to find module"]
             ] ],
             [ {}, => [
-                [ qr/module string from reference/,"Unable to parse ref"] 
+                [ qr/module string from reference/,"Unable to parse ref"]
             ] ],
         );
 
         for my $entry ( @map ) {
             my($mod,$aref) = @$entry;
-            
+
             my $none = $cb->parse_module( module => $mod );
-            ok( !IS_MODOBJ->(mod => $none),     
+            ok( !IS_MODOBJ->(mod => $none),
                                 "Non-existent module detected" );
             ok( !IS_FAKE_MODOBJ->(mod => $none),
                                 "Non-existent fake module detected" );
-        
+
             my $str = CPANPLUS::Error->stack_as_string;
             for my $pair (@$aref) {
                 my($re,$diag) = @$pair;
                 like( $str, $re,"   $diag" );
             }
-        }    
+        }
     }
-    
+
     ### test parsing of arbitrary URI
     for my $guess ( qw[ http://foo/bar.gz
                         http://a/b/c/d/e/f/g/h/i/j
@@ -260,22 +265,22 @@
                         flub://floo ]
     ) {
         my $obj = $cb->parse_module( module => $guess );
-        ok( IS_FAKE_MODOBJ->(mod => $obj), 
+        ok( IS_FAKE_MODOBJ->(mod => $obj),
                                 "parse_module success by '$guess'" );
         is( $obj->status->_fetch_from, $guess,
                                 "   Fetch from set ok" );
-    }                                       
-}         
+    }
+}
 
 ### RV tests ###
 {   my $method = 'readme';
-    my %args   = ( modules => [$Name] );  
-    
+    my %args   = ( modules => [$Name] );
+
     my $rv = $cb->$method( %args );
     ok( IS_RVOBJ->( $rv ),              "Got an RV object" );
     ok( $rv->ok,                        "   Overall OK" );
     cmp_ok( $rv, '==', 1,               "   Overload OK" );
-    is( $rv->function, $method,         "   Function stored OK" );     
+    is( $rv->function, $method,         "   Function stored OK" );
     is_deeply( $rv->args, \%args,       "   Arguments stored OK" );
     is( $rv->rv->{$Name}, $mod->readme, "   RV as expected" );
 }
@@ -285,18 +290,18 @@
     my $file = File::Spec->catfile( $conf->get_conf('base'),
                                     $conf->_get_source('mod'),
                                 );
-  
-    ok( $cb->reload_indices( update_source => 0 ),  "Rebuilding trees" );                              
+
+    ok( $cb->reload_indices( update_source => 0 ),  "Rebuilding trees" );
     my $age = -M $file;
-    
+
     ### make sure we are 'newer' on faster machines with a sleep..
     ### apparently Win32's FAT isn't granual enough on intervals
     ### < 2 seconds, so it may give the same answer before and after
     ### the sleep, causing the test to fail. so sleep atleast 2 seconds.
     sleep 2;
-    ok( $cb->reload_indices( update_source => 1 ),  
+    ok( $cb->reload_indices( update_source => 1 ),
                                     "Rebuilding and refetching trees" );
-    cmp_ok( $age, '>', -M $file,    "    Source file '$file' updated" );                                      
+    cmp_ok( $age, '>', -M $file,    "    Source file '$file' updated" );
 }
 
 ### flush tests ###
@@ -308,8 +313,8 @@
 
 ### installed tests ###
 {   ok( scalar($cb->installed), "Found list of installed modules" );
-}    
-                
+}
+
 ### autobudle tests ###
 {
     my $where = $cb->autobundle;
@@ -318,7 +323,7 @@
 }
 
 ### local_mirror tests ###
-{   ### turn off md5 checks for the 'fake' packages we have 
+{   ### turn off md5 checks for the 'fake' packages we have
     my $old_md5 = $conf->get_conf('md5');
     $conf->set_conf( md5 => 0 );
 
@@ -325,10 +330,10 @@
     ### otherwise 'status->fetch' might be undef! ###
     my $rv = $cb->local_mirror( path => 'dummy-localmirror' );
     ok( $rv,                        "Local mirror created" );
-    
+
     for my $mod ( values %{ $cb->module_tree } ) {
         my $name    = $mod->module;
-        
+
         my $cksum   = File::Spec->catfile(
                         dirname($mod->status->fetch),
                         CHECKSUMS );
@@ -336,10 +341,10 @@
         ok( -s _,                   "       Module '$name' has size" );
         ok( -e $cksum,              "   Checksum fetched for '$name'" );
         ok( -s _,                   "       Checksum for '$name' has size" );
-    }      
+    }
 
     $conf->set_conf( md5 => $old_md5 );
-}    
+}
 
 ### check ENV variable
 {   ### process id
@@ -348,23 +353,23 @@
         is( $ENV{$name}, $$,        "   Set to current process id" );
     }
 
-    ### Version    
+    ### Version
     {   my $name = 'PERL5_CPANPLUS_IS_VERSION';
         ok( $ENV{$name},            "Env var '$name' set" );
 
         ### version.pm formats ->VERSION output... *sigh*
-        is( $ENV{$name}, $Class->VERSION,        
+        is( $ENV{$name}, $Class->VERSION,
                                     "   Set to current process version" );
     }
-    
+
 }
 
-__END__    
-                                          
+__END__
+
 # Local variables:
 # c-indentation-style: bsd
 # c-basic-offset: 4
 # indent-tabs-mode: nil
 # End:
-# vim: expandtab shiftwidth=4:                    
-                    
+# vim: expandtab shiftwidth=4:
+


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/08_CPANPLUS-Backend.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/09_CPANPLUS-Internals-Search.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/09_CPANPLUS-Internals-Search.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/09_CPANPLUS-Internals-Search.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -37,7 +37,7 @@
 ### search for authors ###
 my $auth = $Mod->author;
 for my $type ( CPANPLUS::Module::Author->accessors() ) {
-    
+
     ### don't muck around with references/objects
     ### or private identifiers
     next if ref $auth->$type() or $type =~/^_/;


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/09_CPANPLUS-Internals-Search.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/10_CPANPLUS-Error.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/10_CPANPLUS-Error.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/10_CPANPLUS-Error.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -19,7 +19,7 @@
     error       => ["This is just a test error"],
 };
 
-### check if CPANPLUS::Error can do what we expect 
+### check if CPANPLUS::Error can do what we expect
 {   for my $name ( keys %$map ) {
         can_ok('CPANPLUS::Error',   $name);
         can_ok('main',              $name);     # did it get exported?
@@ -28,8 +28,8 @@
 
 ### make sure we start with an empty stack
 {   CPANPLUS::Error->flush;
-    is( scalar(()=CPANPLUS::Error->stack), 0,  
-                        "Starting with empty stack" );        
+    is( scalar(()=CPANPLUS::Error->stack), 0,
+                        "Starting with empty stack" );
 }
 
 ### global variables test ###
@@ -37,9 +37,9 @@
 
     ### this *has* to be set, as we're testing the contents of the file
     ### to see if it matches what's stored in the buffer.
-    local $CPANPLUS::Error::MSG_FH   = output_handle();    
+    local $CPANPLUS::Error::MSG_FH   = output_handle();
     local $CPANPLUS::Error::ERROR_FH = output_handle();
-    
+
     ok( -e $file,           "Output redirect file exists" );
     ok( !-s $file,          "   Output file is empty" );
 
@@ -51,40 +51,40 @@
     }
 
     ### must close it for Win32 tests!
-    close output_handle;           
+    close output_handle;
 
     ok( -s $file,           "   Output file now has size" );
-    
+
     my $fh = FileHandle->new( $file );
     ok( $fh,                "Opened output file for reading " );
-    
+
     my $contents = do { local $/; <$fh> };
     my $string   = CPANPLUS::Error->stack_as_string;
     my $trace    = CPANPLUS::Error->stack_as_string(1);
-    
+
     ok( $contents,          "   Got the file contents" );
     ok( $string,            "Got the error stack as string" );
-    
-    
+
+
     for my $type ( keys %$map ) {
         my $tag = $type; $tag =~ s/.+?_//g;
-    
+
         for my $str (@{ $map->{$type} } ) {
             like( $contents, qr/\U\Q$tag/,
-                            "   Contents matches for '$type'" ); 
+                            "   Contents matches for '$type'" );
             like( $contents, qr/\Q$str/,
-                            "   Contents matches for '$type'" ); 
-                            
+                            "   Contents matches for '$type'" );
+
             like( $string, qr/\U\Q$tag/,
-                            "   String matches for '$type'" );                
+                            "   String matches for '$type'" );
             like( $string, qr/\Q$str/,
                             "   String matches for '$type'" );
 
             like( $trace, qr/\U\Q$tag/,
-                            "   Trace matches for '$type'" );                
+                            "   Trace matches for '$type'" );
             like( $trace, qr/\Q$str/,
                             "   Trace matches for '$type'" );
-    
+
             ### extra trace tests ###
             like( $trace,   qr/\Q$str\E.*?\Q$str/s,
                                 "   Trace holds proper traceback" );
@@ -92,17 +92,17 @@
                                 "   Trace holds program name" );
             like( $trace,   qr/line/,
                                 "   Trace holds line number information" );
-        }      
+        }
     }
 
     ### check the stack, flush it, check again ###
-    is( scalar(()=CPANPLUS::Error->stack), scalar(keys(%$map)),  
+    is( scalar(()=CPANPLUS::Error->stack), scalar(keys(%$map)),
                         "All items on stack" );
     is( scalar(()=CPANPLUS::Error->flush), scalar(keys(%$map)),
                         "All items flushed" );
-    is( scalar(()=CPANPLUS::Error->stack), 0,  
-                        "No items on stack" );                        
-    
+    is( scalar(()=CPANPLUS::Error->stack), 0,
+                        "No items on stack" );
+
 }
 
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/10_CPANPLUS-Error.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/15_CPANPLUS-Shell.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/15_CPANPLUS-Shell.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/15_CPANPLUS-Shell.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ### the shell prints to STDOUT, so capture that here
 ### and we can check the output
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -17,7 +17,7 @@
 
     sub _out        { $out }
     sub _reset_out  { $out = '' }
-}    
+}
 
 use strict;
 use Test::More      'no_plan';
@@ -41,7 +41,7 @@
   ok('We are not on a terminal');
   exit 0;
 }
- 
+
 ### basic load tests
 use_ok( $Class, 'Default' );
 is( $Class->which,  SHELL_DEFAULT,
@@ -52,10 +52,10 @@
 isa_ok( $Shell, $Default,       "   Object" );
 
 ### method tests
-{   
+{
     ### uri to use for /cs tests
     my $cs_path = File::Spec->rel2abs(
-                        File::Spec->catfile( 
+                        File::Spec->catfile(
                             $FindBin::Bin,
                             TEST_CONF_CPAN_DIR,
                         )
@@ -65,10 +65,10 @@
                         host    => '',
                         path    => $cs_path,
                     );
-     
-    my $base = $Conf->get_conf('base');   
 
-    ### XXX have to keep the list ordered, as some methods only work as 
+    my $base = $Conf->get_conf('base');
+
+    ### XXX have to keep the list ordered, as some methods only work as
     ### expected *after* others have run
     my @map = (
         'v'                     => qr/CPANPLUS/,
@@ -95,7 +95,7 @@
         '! die $$; p'           => qr/$$/,
         '/plugins'              => qr/Available plugins:/i,
         '/? ?'                  => qr/usage/i,
-        
+
         ### custom source plugin tests
         ### lower case path matching, as on VMS we can't predict case
         "/? cs"                  => qr|/cs|,
@@ -113,21 +113,21 @@
 
     my $meth = 'dispatch_on_input';
     can_ok( $Shell, $meth );
-    
+
     while( my($input,$out_re) = splice(@map, 0, 2) ) {
 
         ### empty output cache
         __PACKAGE__->_reset_out;
         CPANPLUS::Error->flush;
-        
+
         ok( 1,                  "Testing '$input'" );
         $Shell->$meth( input => $input );
-        
+
         my $out = __PACKAGE__->_out;
-        
+
         ### XXX remove me
         #diag( $out );
-        
+
         ok( $out,               "   Output received" );
         like( $out, $out_re,    "   Output matches '$out_re'" );
     }
@@ -137,16 +137,16 @@
 
 #### test separately, they have side effects
 'q'                     => qr/^$/,          # no output!
-'s save boxed'          => do { my $re = CONFIG_BOXED;       qr/$re/ },        
-### this doens't write any output 
+'s save boxed'          => do { my $re = CONFIG_BOXED;       qr/$re/ },
+### this doens't write any output
 'x --update_source'     => qr/module tree/i,
 s edit
 s reconfigure
-'c'     => '_reports',    
-'i'     => '_install',     
+'c'     => '_reports',
+'i'     => '_install',
 'u'     => '_uninstall',
 'z'     => '_shell',
 ### might not have any out of date modules...
 'o'     => '_uptodate',
 
-    
+


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/15_CPANPLUS-Shell.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/19_CPANPLUS-Dist.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/19_CPANPLUS-Dist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/19_CPANPLUS-Dist.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -21,7 +21,7 @@
     require CPANPLUS::Dist;
     CPANPLUS::Dist->_add_dist_types( __PACKAGE__ );
 
-    sub init                { $_[0]->status->mk_accessors( 
+    sub init                { $_[0]->status->mk_accessors(
                                 qw[prepared created installed
                                    _prepare_args _install_args _create_args]);
                               return $Init };
@@ -50,7 +50,7 @@
 ### obsolete
 #my $Format = '_test';
 my $Module      = 'CPANPLUS::Dist::_Test';
-my $ModName     = TEST_CONF_MODULE; 
+my $ModName     = TEST_CONF_MODULE;
 my $ModPrereq   = TEST_CONF_INST_MODULE;
 ### XXX this version doesn't exist, but we don't check for it either ###
 my $Prereq      = { $ModPrereq => '1000' };
@@ -108,9 +108,9 @@
     }
 
     {   $conf->_set_build('sanity_check' => 1);
-        
+
         my $dist = $Module->new( module => $Mod );
-        
+
         ok( !$dist,             "Dist not created with sanity check on" );
         like( CPANPLUS::Error->stack_as_string,
                 qr/Format '$Module' is not available/,
@@ -122,7 +122,7 @@
 {   local $CPANPLUS::Dist::_Test::Init = 0;
 
     my $dist = $Module->new( module => $Mod );
-    
+
     ok( !$dist,                 "No dist created by failed init" );
     like( CPANPLUS::Error->stack_as_string,
             qr/Dist initialization of '$Module' failed for/s,
@@ -132,36 +132,36 @@
 ### configure_requires tests
 {   my $meta    = META->( $Mod );
     ok( $meta,                  "Reading 'configure_requires' from '$meta'" );
-    
+
     my $clone   = $Mod->clone;
     ok( $clone,                 "   Package cloned" );
 
     ### set the new location to fetch from
     $clone->package( $meta );
-    
+
     my $file = $clone->fetch;
     ok( $file,                  "   Meta file fetched" );
     ok( -e $file,               "       File '$file' exits" );
-    
+
     my $dist = $Module->new( module => $Mod );
 
     ok( $dist,                  "   Dist object created" );
-        
-    my $meth = 'find_configure_requires';    
+
+    my $meth = 'find_configure_requires';
     can_ok( $dist,              $meth );
-    
+
     my $href = $dist->$meth( file => $file );
     ok( $href,                  "   '$meth' returned hashref" );
-    
+
     ok( scalar(keys(%$href)),   "       Contains entries" );
     ok( $href->{ +TEST_CONF_PREREQ },
                                 "       Contains the right prereq" );
-}    
+}
 
 
 ### test _resolve prereqs, in a somewhat simulated set of circumstances
 {   my $old_prereq = $conf->get_conf('prereqs');
-    
+
     my $map = {
         0 => {
             'Previous install failed' => [
@@ -222,10 +222,10 @@
             'Perl binary version too low' => [
                 sub { $cb->module_tree( $ModName )
                         ->status->prereqs({ PERL_CORE, 10000000000 }); '' },
-                sub { like( CPANPLUS::Error->stack_as_string, 
+                sub { like( CPANPLUS::Error->stack_as_string,
                             qr/needs perl version/,
                             "   Perl version not high enough" ) },
-            ],                            
+            ],
         },
         1 => {
             'Simple create'     => [
@@ -316,10 +316,10 @@
             'Perl binary version sufficient' => [
                 sub { $cb->module_tree( $ModName )
                         ->status->prereqs({ PERL_CORE, 1 }); '' },
-                sub { unlike( CPANPLUS::Error->stack_as_string, 
+                sub { unlike( CPANPLUS::Error->stack_as_string,
                             qr/needs perl version/,
                             "   Perl version sufficient" ) },
-            ],                            
+            ],
         },
     };
 
@@ -372,7 +372,7 @@
         0   =>      undef,
         1   =>      undef,
         2   =>      qr/have to resolve/,
-    };       
+    };
 
     my $mod = CPANPLUS::Module::Fake->new(
                     module  => $$,
@@ -382,37 +382,37 @@
 
     ok( $mod,                   "Fake module created" );
     is( $mod->version, 1,       "   Version set correctly" );
-    
+
      my $dist = $Module->new( module => $Mod );
-    
+
     ok( $dist,                  "Dist object created" );
     isa_ok( $dist,              $Module );
-    
-    
+
+
     ### scope it for the locals
     {   local $^W;  # quell sub redefined warnings;
-    
+
         ### is_uptodate will need to return false for this test
         local *CPANPLUS::Module::Fake::is_uptodate = sub { return };
         local *CPANPLUS::Module::Fake::is_uptodate = sub { return };
-        CPANPLUS::Error->flush;    
-    
-    
+        CPANPLUS::Error->flush;
+
+
         ### it's satisfied
         while( my($ver, $re) = each %$map ) {
-        
+
             my $rv = $dist->prereq_satisfied(
                         version => $ver,
                         modobj  => $mod );
-                        
-            ok( 1,                  "Testing ver: $ver" );                    
+
+            ok( 1,                  "Testing ver: $ver" );
             is( $rv, undef,       "   Return value as expected" );
-            
+
             if( $re ) {
                 like( CPANPLUS::Error->stack_as_string, $re,
                                     "   Error as expected" );
             }
-        
+
             CPANPLUS::Error->flush;
         }
     }


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/19_CPANPLUS-Dist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -103,7 +103,7 @@
     ok( $dist,                  "Dist created with target => " . TARGET_INIT );
     ok( !$dist->status->prepared,
                                 "   Prepare was not run" );
-}                                
+}
 
 ok( $Mod->test,                 "Testing module" );
 
@@ -141,20 +141,20 @@
     ### make sure no options are set in PERL5_MM_OPT, as they might
     ### change the installation target and therefor will 1. mess up
     ### the tests and 2. leave an installed copy of our test module
-    ### lying around. This addresses bug #29716: 20_CPANPLUS-Dist-MM.t 
-    ### fails (and leaves test files installed) when EUMM options 
+    ### lying around. This addresses bug #29716: 20_CPANPLUS-Dist-MM.t
+    ### fails (and leaves test files installed) when EUMM options
     ### include INSTALL_BASE
     {   local $ENV{'PERL5_MM_OPT'}; local $ENV{'PERL_MM_OPT'};
-    
+
         ### add the new dir to the configuration too, so eu::installed tests
         ### work as they should
         $conf->set_conf( lib => [ TEST_CONF_INSTALL_DIR ] );
-    
-        ok( $Mod->install(  force           => 1, 
-                            makemakerflags  => 'PREFIX='.TEST_CONF_INSTALL_DIR, 
+
+        ok( $Mod->install(  force           => 1,
+                            makemakerflags  => 'PREFIX='.TEST_CONF_INSTALL_DIR,
                         ),      "Installing module" );
-    }                                
-                                
+    }
+
     ok( $Mod->status->installed,"   Module installed according to status" );
 
 
@@ -164,8 +164,8 @@
         ### #46890: ExtUtils::Installed + EU::MM PREFIX= don't always work
         ### well together
         skip( "ExtUtils::Installed issue #46890 prevents these tests from running reliably", 8 );
-    
-    
+
+
         skip( "Old perl on cygwin detected " .
               "-- tests will fail due to known bugs", 8
         ) if ON_OLD_CYGWIN;
@@ -225,7 +225,7 @@
 ### test exceptions in Dist::MM->create ###
 {   ok( $Mod->status->mk_flush, "Old status info flushed" );
     my $dist = INSTALLER_MM->new( module => $Mod );
-    
+
     ok( $dist,                  "New dist object made" );
     ok(!$dist->prepare,         "   Dist->prepare failed" );
     like( CPANPLUS::Error->stack_as_string, qr/No dir found to operate on/,
@@ -308,7 +308,7 @@
     {   my $unlink_sts = unlink($makefile_pl);
         1 while unlink $makefile_pl;
         ok( $unlink_sts,        "Deleting Makefile.PL");
-    }    
+    }
     ok( !-s $makefile_pl,       "   Makefile.PL deleted" );
     ok( $dist->status->mk_flush,"Dist status flushed" );
     ok( $dist->prepare,         "   Dist->prepare run again" );
@@ -339,7 +339,7 @@
 
     ### now let's write a makefile.pl that just does 'die'
     {   local $^W;
-        local *CPANPLUS::Dist::MM::write_makefile_pl = 
+        local *CPANPLUS::Dist::MM::write_makefile_pl =
             __PACKAGE__->_custom_makefile_pl_sub( "exit 1;" );
 
         ### there's no makefile.pl now, since the previous test failed
@@ -360,8 +360,8 @@
     {   my $unlink_sts = unlink($makefile_pl);
         1 while unlink $makefile_pl;
         ok( $unlink_sts,        "Deleting Makefile.PL");
-    }   
-    
+    }
+
     $dist->status->mk_flush;
 }
 
@@ -370,14 +370,14 @@
     my $env     = ENV_CPANPLUS_IS_EXECUTING;
     my $sub     = __PACKAGE__->_custom_makefile_pl_sub(
                                     "print qq[ENV=\$ENV{$env}\n]; exit 1;" );
-    
+
     my $clone   = $Mod->clone;
     $clone->status->fetch( $Mod->status->fetch );
-    
+
     ok( $clone,                 'Testing ENV settings $dist->prepare' );
     ok( $clone->extract,        '   Files extracted' );
     ok( $clone->prepare,        '   $mod->prepare worked first time' );
-    
+
     my $dist        = $clone->status->dist;
     my $makefile_pl = MAKEFILE_PL->( $clone->status->extract );
 
@@ -384,7 +384,7 @@
     ok( $sub->($dist),          "   Custom Makefile.PL written" );
     ok( -e $makefile_pl,        "       File exists" );
 
-    ### clear errors    
+    ### clear errors
     CPANPLUS::Error->flush;
 
     my $rv = $dist->prepare( force => 1, verbose => 0 );
@@ -401,20 +401,20 @@
 
     ### and the ENV var should no longer be set now
     ok( !$ENV{$env},            "   ENV var now unset" );
-}    
+}
 
 sub _custom_makefile_pl_sub {
     my $pkg = shift;
     my $txt = shift or return;
-    
+
     return sub {
-        my $dist = shift; 
+        my $dist = shift;
         my $self = $dist->parent;
         my $fh   = OPEN_FILE->(
                     MAKEFILE_PL->($self->status->extract), '>' );
         print $fh $txt;
         close $fh;
-    
+
         return 1;
     }
 }


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/20_CPANPLUS-Dist-MM.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -27,27 +27,27 @@
 
 my $Mod = $CB->module_tree( 'Foo::Bar::MB::NOXS' );
 
-ok( $Mod,                       "Module object retrieved" );        
+ok( $Mod,                       "Module object retrieved" );
 ok( not grep { $_ eq $Inst } CPANPLUS::Dist->dist_types,
                                 "   $Inst installer not returned" );
-            
-### fetch the file first            
+
+### fetch the file first
 {   my $where = $Mod->fetch;
     ok( -e $where,              "   Tarball '$where' exists" );
 }
-    
-### extract it, silence warnings/messages    
+
+### extract it, silence warnings/messages
 {   my $where = $Mod->extract;
     ok( -e $where,              "   Tarball extracted to '$where'" );
 }
 
-### check the installer type 
-{   is( $Mod->status->installer_type, $Inst, 
+### check the installer type
+{   is( $Mod->status->installer_type, $Inst,
                                 "Proper installer type found: $Inst" );
 
     my $href = $Mod->status->configure_requires;
     ok( scalar(keys(%$href)),   "   Dependencies recorded" );
-    
+
     ok( defined $href->{$Inst}, "       Dependency on $Inst" );
     cmp_ok( $href->{$Inst}, '>', 0,
                                 "           Minimum version: $href->{$Inst}" );
@@ -55,7 +55,7 @@
     my $err = CPANPLUS::Error->stack_as_string;
     like( $err, qr/$Inst/,      "   Message mentions $Inst" );
     like( $err, qr/prerequisites list/,
-                                "   Message mentions adding prerequisites" );                            
+                                "   Message mentions adding prerequisites" );
 }
 
 ### now run the test, it should trigger the installation of the installer
@@ -65,24 +65,24 @@
     ### bootstrapping creates a call to $cb->module_tree('c::d::build')->install
     ### we need to intercept that call
     my $org_mt = CPANPLUS::Backend->can('module_tree');
-    local *CPANPLUS::Backend::module_tree = sub { 
+    local *CPANPLUS::Backend::module_tree = sub {
         my $self = shift;
         my $mod  = shift;
-        
+
         ### return a dummy object if this is the bootstrap call
         return CPANPLUS::Test::Module->new if $mod eq $Inst;
-        
+
         ### otherwise do a regular call
         return $org_mt->( $self, $mod, @_ );
     };
-    
+
     ### bootstrap install call will abort the ->create() call, so catch
     ### that here
     eval { $Mod->create( skiptest => 1) };
-    
+
     ok( $@,                     "Create call aborted at bootstrap phase" );
     like( $@, qr/$Inst/,        "   Diagnostics confirmed" );
-    
+
     my $diag = CPANPLUS::Error->stack_as_string;
     like( $diag, qr/This module requires.*$Inst/,
                                 "   Dependency on $Inst recorded" );
@@ -97,11 +97,11 @@
 ### place holder package to serve as a module object for C::D::Build
 {   package CPANPLUS::Test::Module;
     sub new     { return bless {} }
-    sub install { 
+    sub install {
         ### at load time we ignored C::D::Build. Reset the ignore here
         ### so a 'rescan' after the 'install' picks up C::D::Build
         CPANPLUS::Dist->_reset_dist_ignore;
-        return 1; 
+        return 1;
     }
 }
 
@@ -108,7 +108,7 @@
 ### test package for cpanplus::dist::build
 {   package CPANPLUS::Dist::Build;
     use base 'CPANPLUS::Dist::Base';
-    
+
     ### shortcut out of the installation procedure
     sub new                 { die __PACKAGE__ };
     sub format_available    { 1 }


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/25_CPANPLUS.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/25_CPANPLUS.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/25_CPANPLUS.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -24,16 +24,16 @@
 for my $meth ( qw[fetch get install] ) {
     my $sub     = $Class->can( $meth );
     ok( $sub,                   "$Class->can( $meth )" );
-    
+
     my %map = (
         0   => qr/failed/,
         1   => qr/successful/,
     );
-    
+
     ok( 1,                  "Trying '$meth' in different configurations" );
-    
+
     while( my($rv, $re) = each %map ) {
-        
+
         ### don't actually install, just test logic
         no warnings 'redefine';
         local *CPANPLUS::Module::install = sub { $rv };
@@ -45,7 +45,7 @@
         is( $ok, $rv,       "   Expected RV: $rv" );
         like( CPANPLUS::Error->stack_as_string, $re,
                             "       With expected diagnostic" );
-    }        
+    }
 
     ### does not take objects / references
     {   CPANPLUS::Error->flush;
@@ -74,15 +74,15 @@
 
     {   ### test package for shell() method
         package CPANPLUS::Shell::Test;
-        
+
         ### ->shell() looks in %INC
         use Module::Loaded qw[mark_as_loaded];
         mark_as_loaded( __PACKAGE__ );
 
-        sub new   { bless {}, __PACKAGE__ };        
+        sub new   { bless {}, __PACKAGE__ };
         sub shell { $$ };
     }
-    
+
     my $rv = $sub->( 'Test' );
     ok( $rv,                "   Shell started" );
     is( $rv, $$,            "       Proper shell called" );


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/25_CPANPLUS.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -35,7 +35,7 @@
 }
 
 
-### check specifically if our bundled shells dont trigger a 
+### check specifically if our bundled shells dont trigger a
 ### dependency (see #26077).
 ### do this _before_ changing the built in conf!
 {   my $meth = 'modules_for_feature';
@@ -44,15 +44,15 @@
     my $cur  = $cobj->get_conf( $type );
 
     for my $shell ( SHELL_DEFAULT, SHELL_CLASSIC ) {
-        ok( $cobj->set_conf( $type => $shell ),         
+        ok( $cobj->set_conf( $type => $shell ),
                             "Testing dependencies for '$shell'" );
 
         my $rv = $CB->$Acc->$meth( $type => 1);
         ok( !$rv,           "   No dependencies for '$shell' -- bundled" );
-    }            
-    
+    }
+
     for my $shell ( 'CPANPLUS::Test::Shell' ) {
-        ok( $cobj->set_conf( $type => $shell ),         
+        ok( $cobj->set_conf( $type => $shell ),
                             "Testing dependencies for '$shell'" );
 
         my $rv = $CB->$Acc->$meth( $type => 1 );
@@ -62,7 +62,7 @@
         is_deeply( $rv, { $shell => '0.0' },
                             "   With the proper entries" );
     }
-}        
+}
 
 ### test the feature list
 {   ### start with defining our OWN type of config, as not all mentioned
@@ -87,10 +87,10 @@
     for my $feat (@feat) {
         my $meth = 'modules_for_feature';
         my @mods = $CB->$Acc->$meth( $feat );
-        
+
         ok( $feat,              "Testing feature '$feat'" );
         ok( scalar( @mods ),    "   Module list returned" );
-    
+
         my $acc = 'is_installed_version_sufficient';
         for my $mod (@mods) {
             isa_ok( $mod,       "CPANPLUS::Module" );
@@ -97,8 +97,8 @@
             isa_ok( $mod,       $ModClass );
             can_ok( $mod,       $acc );
             ok( $mod->$acc,    "   Module uptodate" );
-        }                                    
-        
+        }
+
         ### check if we can get a hashref
         {   my $href = $CB->$Acc->$meth( $feat, 1 );
             ok( $href,          "Got result as hash" );
@@ -106,7 +106,7 @@
             is_deeply( $href, $Prereq,
                                 "   With the proper entries" );
 
-        }        
+        }
     }
 
     ### see if we can get a list of modules to be updated
@@ -124,7 +124,7 @@
 
         cmp_ok( scalar(keys(%list)), '==', 1,
                                 "Got modules for '$cat' from '$meth'" );
-        
+
         my $aref = $list{$cat};
         ok( $aref,              "   Got module list" );
         cmp_ok( scalar(@$aref), '==', 1,
@@ -136,22 +136,22 @@
 
     ### find enabled features
     {   my $meth = 'list_enabled_features';
-        can_ok( $Class,         $meth );        
-        
+        can_ok( $Class,         $meth );
+
         my @list = $CB->$Acc->$meth;
         ok( scalar(@list),      "Retrieved enabled features" );
         is_deeply( [$Feat], \@list,
                                 "   Proper features found" );
     }
-    
+
     ### find dependencies/core modules
     for my $meth ( qw[list_core_dependencies list_core_modules] ) {
-        can_ok( $Class,         $meth );        
-        
+        can_ok( $Class,         $meth );
+
         my @list = $CB->$Acc->$meth;
         ok( scalar(@list),      "Retrieved modules" );
         is( scalar(@list), 1,   "   1 Found" );
-        isa_ok( $list[0],       $ModClass ); 
+        isa_ok( $list[0],       $ModClass );
         is( $list[0]->name, $Dep,
                                 "   Correct module found" );
 
@@ -163,8 +163,8 @@
                                 "   With the proper entries" );
         }
     }
-    
 
+
     ### now selfupdate ourselves
     {   ### XXX just test the mechanics, make sure install returns true
         ### declare twice because warnings are hateful
@@ -171,11 +171,11 @@
         ### declare in a block to quelch 'sub redefined' warnings.
         { local *CPANPLUS::Selfupdate::Module::install = sub { 1 }; }
           local *CPANPLUS::Selfupdate::Module::install = sub { 1 };
-        
+
         my $meth = 'selfupdate';
         can_ok( $Class,         $meth );
-        ok( $CB->$Acc->$meth( update => 'all'),   
+        ok( $CB->$Acc->$meth( update => 'all'),
                                 "   Selfupdate successful" );
     }
-}    
+}
 


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/40_CPANPLUS-Internals-Report.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/40_CPANPLUS-Internals-Report.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/40_CPANPLUS-Internals-Report.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 ### make sure we can find our conf.pl file
-BEGIN { 
-    use FindBin; 
+BEGIN {
+    use FindBin;
     require "$FindBin::Bin/inc/conf.pl";
 }
 
@@ -25,7 +25,7 @@
 my $ModName     = TEST_CONF_MODULE;
 my $ModPrereq   = TEST_CONF_PREREQ;
 
-### pick a high number, but not ~0 as possibly ~0 is unsigned, and we cause 
+### pick a high number, but not ~0 as possibly ~0 is unsigned, and we cause
 ### an overflow, as happens to version.pm 0.7203 among others.
 ### ANOTHER bug in version.pm, this time for 64bit:
 ### https://rt.cpan.org/Ticket/Display.html?id=45241
@@ -53,7 +53,7 @@
         check   => 0,
         skiptests
                 => 1,               # did we skip the tests?
-    },                    
+    },
     missing_prereq  => {
         buffer  => missing_prereq_buffer(),
         failed  => 1,
@@ -87,7 +87,7 @@
                     '/NA/',
                 ],
         check   => 0,
-    },    
+    },
     perl_version_too_low_build1 => {
         buffer  => perl_version_too_low_buffer_build(1),
         failed  => 1,
@@ -96,7 +96,7 @@
                     '/NA/',
                 ],
         check   => 0,
-    },    
+    },
     perl_version_too_low_build2 => {
         buffer  => perl_version_too_low_buffer_build(2),
         failed  => 1,
@@ -105,7 +105,7 @@
                     '/NA/',
                 ],
         check   => 0,
-    },    
+    },
     prereq_versions_too_low => {
         ### set the prereq version incredibly high
         pre_hook    => sub {
@@ -119,14 +119,14 @@
                         '/http://testers.cpan.org/',
                         '/NA/',
                     ],
-        check       => 0,    
+        check       => 0,
     },
     prereq_not_on_cpan => {
         pre_hook    => sub {
                         my $mod     = shift;
                         my $clone   = $mod->clone;
-                        $clone->status->prereqs( 
-                            { TEST_CONF_INVALID_MODULE, 0 } 
+                        $clone->status->prereqs(
+                            { TEST_CONF_INVALID_MODULE, 0 }
                         );
                         return $clone;
                     },
@@ -135,14 +135,14 @@
                         '/http://testers.cpan.org/',
                         '/NA/',
                     ],
-        check       => 0,    
+        check       => 0,
     },
     prereq_not_on_cpan_but_core => {
         pre_hook    => sub {
                         my $mod     = shift;
                         my $clone   = $mod->clone;
-                        $clone->status->prereqs( 
-                            { TEST_CONF_PREREQ, 0 } 
+                        $clone->status->prereqs(
+                            { TEST_CONF_PREREQ, 0 }
                         );
                         return $clone;
                     },
@@ -151,11 +151,11 @@
                         '/http://testers.cpan.org/',
                         '/UNKNOWN/',
                     ],
-        check       => 0,    
+        check       => 0,
     },
 };
 
-### test config settings 
+### test config settings
 {   for my $opt ( qw[cpantest cpantest_mx] ) {
         my $warnings;
         local $SIG{__WARN__} = sub { $warnings .= "@_" };
@@ -167,7 +167,7 @@
                                 "   Retrieved properly" );
         ok( $conf->set_conf( $opt => $org ),
                                 "   Option $opt set back to original" );
-        ok( !$warnings,         "   No warnings" );                                
+        ok( !$warnings,         "   No warnings" );
     }
 }
 
@@ -219,15 +219,15 @@
                                         "Proper test fail stage found" );
     }
 
-    ### test missing prereqs        
+    ### test missing prereqs
     {   my $str = q[Can't locate Foo/Bar.pm in @INC];
-    
+
         ### standard test
         {   my @list = MISSING_PREREQS_LIST->( $str );
             is( scalar(@list),  1,      "   List of missing prereqs found" );
             is( $list[0], 'Foo::Bar',   "       Proper prereq found" );
         }
-    
+
         ### multiple mentions of same prereq
         {   my @list = MISSING_PREREQS_LIST->( $str . $str );
 
@@ -256,7 +256,7 @@
 
     {   my $prereqs = REPORT_MISSING_PREREQS->('foo','bar at example.com','Foo::Bar');
         ok( $prereqs,                   "Test output generated" );
-        like( $prereqs, qr/'foo \(bar\@example\.com\)'/, 
+        like( $prereqs, qr/'foo \(bar\@example\.com\)'/,
                                         "   Proper content found" );
         like( $prereqs, qr/Foo::Bar/,   "   Proper content found" );
         like( $prereqs, qr/prerequisi/, "   Proper content found" );
@@ -263,7 +263,7 @@
         like( $prereqs, qr/PREREQ_PM/,  "   Proper content found" );
     }
 
-    {   my $prereqs = REPORT_MISSING_PREREQS->(undef,undef,'Foo::Bar');    
+    {   my $prereqs = REPORT_MISSING_PREREQS->(undef,undef,'Foo::Bar');
         ok( $prereqs,                   "Test output generated" );
         like( $prereqs, qr/Your Name/,  "   Proper content found" );
         like( $prereqs, qr/Foo::Bar/,   "   Proper content found" );
@@ -291,15 +291,15 @@
         my @list = qw(foo bar);
         is_deeply( \@libs, \@list,      "   Proper content found" );
     }
-    
+
     {   my $clone   = $Mod->clone;
 
         my $prereqs = { $ModPrereq => $HighVersion };
-    
+
         $clone->status->prereqs( $prereqs );
 
         my $str = REPORT_LOADED_PREREQS->( $clone );
-        
+
         like($str, qr/PREREQUISITES:/,  "Listed loaded prerequisites" );
         like($str, qr/\! $ModPrereq\s+\S+\s+\S+/,
                                         "   Proper content found" );
@@ -308,7 +308,7 @@
     {   my $clone   = $Mod->clone;
 
         my $str = REPORT_TOOLCHAIN_VERSIONS->( $clone );
-        
+
         like($str, qr/toolchain/,  "Correct message in report" );
         use Cwd;
         like($str, qr/Cwd\s+\Q$Cwd::VERSION\E/,
@@ -317,10 +317,10 @@
 }
 
 ### callback tests
-{   ### as reported in bug 13086, this callback returned the wrong item 
+{   ### as reported in bug 13086, this callback returned the wrong item
     ### from the list:
-    ### $self->_callbacks->munge_test_report->($Mod, $message, $grade);     
-    my $rv = $CB->_callbacks->munge_test_report->( 1..4 );   
+    ### $self->_callbacks->munge_test_report->($Mod, $message, $grade);
+    my $rv = $CB->_callbacks->munge_test_report->( 1..4 );
     is( $rv, 2,                 "Default 'munge_test_report' callback OK" );
 }
 
@@ -334,14 +334,14 @@
         unless $CB->_have_query_report_modules(verbose => 0);
 
 
-    SKIP: {   
+    SKIP: {
         my $mod = $CB->module_tree( TEST_CONF_PREREQ ); # is released to CPAN
         ok( $mod,                           "Module retrieved" );
-        
+
         ### so we're not pinned down to this specific version of perl
         my @list = $mod->fetch_report( all_versions => 1 );
         skip "Possibly no net connection, or server down", 7 unless @list;
-     
+
         my $href = $list[0];
         ok( scalar(@list),                  "Fetched test report" );
         is( ref $href, ref {},              "   Return value has hashrefs" );
@@ -389,7 +389,7 @@
                     : $Mod;
 
         my $file = do {
-            ### so T::R does not try to resolve our maildomain, which can 
+            ### so T::R does not try to resolve our maildomain, which can
             ### lead to large timeouts for *every* invocation in T::R < 1.51_01
             ### see: http://code.google.com/p/test-reporter/issues/detail?id=15
             local $ENV{MAILDOMAIN} ||= 'example.com';
@@ -477,7 +477,7 @@
 BEGIN failed--compilation aborted at Makefile.PL line 1.
  -- cannot continue
     ];
-}    
+}
 
 sub perl_version_too_low_buffer_build {
     my $type = shift;
@@ -493,7 +493,7 @@
 ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
  of the modules indicated above before proceeding with this installation.
     ]   if($type == 2);
-}    
+}
 
 # Local variables:
 # c-indentation-style: bsd


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/40_CPANPLUS-Internals-Report.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS/t/inc/conf.pl
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS/t/inc/conf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS/t/inc/conf.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,9 +2,9 @@
 ### So reset it here explicitly
 my ($old_env_path, $old_env_perl5lib);
 BEGIN {
-    use FindBin; 
+    use FindBin;
     use File::Spec;
-    
+
     ### paths to our own 'lib' and 'inc' dirs
     ### include them, relative from t/
     my @paths   = map { "$FindBin::Bin/$_" } qw[../lib inc];
@@ -12,12 +12,12 @@
     ### absolute'ify the paths in @INC;
     my @rel2abs = map { File::Spec->rel2abs( $_ ) }
                     grep { not File::Spec->file_name_is_absolute( $_ ) } @INC;
-    
+
     ### use require to make devel::cover happy
     require lib;
-    for ( @paths, @rel2abs ) { 
-        my $l = 'lib'; 
-        $l->import( $_ ) 
+    for ( @paths, @rel2abs ) {
+        my $l = 'lib';
+        $l->import( $_ )
     }
 
     use Config;
@@ -24,18 +24,18 @@
 
     ### and add them to the environment, so shellouts get them
     $old_env_perl5lib = $ENV{'PERL5LIB'};
-    $ENV{'PERL5LIB'}  = join $Config{'path_sep'}, 
+    $ENV{'PERL5LIB'}  = join $Config{'path_sep'},
                         grep { defined } $ENV{'PERL5LIB'}, @paths, @rel2abs;
-    
+
     ### add our own path to the front of $ENV{PATH}, so that cpanp-run-perl
     ### and friends get picked up
     $old_env_path = $ENV{PATH};
     if ( $ENV{PERL_CORE} ) {
-      $ENV{'PATH'}  = join $Config{'path_sep'}, 
+      $ENV{'PATH'}  = join $Config{'path_sep'},
                     grep { defined } "$FindBin::Bin/../../../utils", $ENV{'PATH'};
     }
     else {
-      $ENV{'PATH'}  = join $Config{'path_sep'}, 
+      $ENV{'PATH'}  = join $Config{'path_sep'},
                     grep { defined } "$FindBin::Bin/../bin", $ENV{'PATH'};
     }
 
@@ -42,10 +42,10 @@
     ### Fix up the path to perl, as we're about to chdir
     ### but only under perlcore, or if the path contains delimiters,
     ### meaning it's relative, but not looked up in your $PATH
-    $^X = File::Spec->rel2abs( $^X ) 
+    $^X = File::Spec->rel2abs( $^X )
         if $ENV{PERL_CORE} or ( $^X =~ m|[/\\]| );
 
-    ### chdir to our own test dir, so we know all files are relative 
+    ### chdir to our own test dir, so we know all files are relative
     ### to this point, no matter whether run from perlcore tests or
     ### regular CPAN installs
     chdir "$FindBin::Bin" if -d "$FindBin::Bin"
@@ -53,7 +53,7 @@
 
 BEGIN {
     use IPC::Cmd;
-   
+
     ### Win32 has issues with redirecting FD's properly in IPC::Run:
     ### Can't redirect fd #4 on Win32 at IPC/Run.pm line 2801
     $IPC::Cmd::USE_IPC_RUN = 0 if $^O eq 'MSWin32';
@@ -94,7 +94,7 @@
 my $Env = 'PERL5_CPANPLUS_TEST_VERBOSE';
 
 # prereq has to be in our package file && core!
-use constant TEST_CONF_PREREQ           => 'Cwd';   
+use constant TEST_CONF_PREREQ           => 'Cwd';
 use constant TEST_CONF_MODULE           => 'Foo::Bar::EU::NOXS';
 use constant TEST_CONF_MODULE_SUB       => 'Foo::Bar::EU::NOXS::Sub';
 use constant TEST_CONF_AUTHOR           => 'EUNOXS';
@@ -104,7 +104,7 @@
 use constant TEST_CONF_CPAN_DIR         => 'dummy-CPAN';
 use constant TEST_CONF_CPANPLUS_DIR     => 'dummy-cpanplus';
 use constant TEST_CONF_INSTALL_DIR      => File::Spec->rel2abs(
-                                                File::Spec->catdir(      
+                                                File::Spec->catdir(
                                                     TEST_CONF_CPANPLUS_DIR,
                                                     'install'
                                                 )
@@ -118,8 +118,8 @@
 
     ### Convert to an absolute file specification
     my $abs_test_dir = File::Spec->rel2abs($test_dir);
-    
-    ### According to John M: the hosts path needs to be in UNIX format.  
+
+    ### According to John M: the hosts path needs to be in UNIX format.
     ### File::Spec::Unix->rel2abs does not work at all on VMS
     $abs_test_dir    = VMS::Filespec::unixify( $abs_test_dir ) if $^O eq 'VMS';
 
@@ -126,28 +126,33 @@
     return $abs_test_dir;
 }
 
-sub gimme_conf { 
+sub gimme_conf {
 
     ### don't load any other configs than the heuristic one
     ### during tests. They might hold broken/incorrect data
     ### for our test suite. Bug [perl #43629] showed this.
+    local $ENV{PERL5_CPANPLUS_HOME} = '';
+
     my $conf = CPANPLUS::Configure->new( load_configs => 0 );
 
     my $dummy_cpan = dummy_cpan_dir();
-    
-    $conf->set_conf( hosts  => [ { 
+
+    $conf->set_conf( hosts  => [ {
                         path        => $dummy_cpan,
                         scheme      => 'file',
-                    } ],      
+                    } ],
     );
     $conf->set_conf( base       => File::Spec->rel2abs(TEST_CONF_CPANPLUS_DIR));
     $conf->set_conf( dist_type  => '' );
     $conf->set_conf( signature  => 0 );
+    $conf->set_conf( allow_unknown_prereqs => 1 ); # just to make sure, eh
     $conf->set_conf( verbose    => 1 ) if $ENV{ $Env };
-    
+
     ### never use a pager in the test suite
     $conf->set_program( pager   => '' );
 
+    $conf->set_conf( enable_custom_sources => 0 );
+
     ### dmq tells us that we should run with /nologo
     ### if using nmake, as it's very noisy otherwise.
     {   my $make = $conf->get_program('make');
@@ -176,16 +181,16 @@
 
     $conf->set_conf( source_engine =>  $ENV{CPANPLUS_SOURCE_ENGINE} )
         if $ENV{CPANPLUS_SOURCE_ENGINE};
-    
+
     _clean_test_dir( [
-        $conf->get_conf('base'),     
+        $conf->get_conf('base'),
         TEST_CONF_MIRROR_DIR,
 #         TEST_INSTALL_DIR_LIB,
 #         TEST_INSTALL_DIR_BIN,
-#         TEST_INSTALL_DIR_MAN1, 
+#         TEST_INSTALL_DIR_MAN1,
 #         TEST_INSTALL_DIR_MAN3,
     ], (  $ENV{PERL_CORE} ? 0 : 1 ) );
-        
+
     return $conf;
 };
 
@@ -194,47 +199,47 @@
     my $file = ".".basename($0).".output";
     sub output_handle {
         return $fh if $fh;
-        
+
         $fh = FileHandle->new(">$file")
                     or warn "Could not open output file '$file': $!";
-       
+
         $fh->autoflush(1);
         return $fh;
     }
-    
+
     sub output_file { return $file }
-    
-    
-    
+
+
+
     ### redirect output from msg() and error() output to file
     unless( $ENV{$Env} ) {
-    
+
         print "# To run tests in verbose mode, set ".
               "\$ENV{$Env} = 1\n" unless $ENV{PERL_CORE};
-    
+
         1 while unlink $file;   # just in case
-    
+
         $CPANPLUS::Error::ERROR_FH  =
         $CPANPLUS::Error::ERROR_FH  = output_handle();
-        
+
         $CPANPLUS::Error::MSG_FH    =
         $CPANPLUS::Error::MSG_FH    = output_handle();
-        
-    }        
+
+    }
 }
 
 
 ### clean these files if we're under perl core
-END { 
+END {
     if ( $ENV{PERL_CORE} ) {
         close output_handle(); 1 while unlink output_file();
 
         _clean_test_dir( [
-            gimme_conf->get_conf('base'),   
+            gimme_conf->get_conf('base'),
             TEST_CONF_MIRROR_DIR,
     #         TEST_INSTALL_DIR_LIB,
     #         TEST_INSTALL_DIR_BIN,
-    #         TEST_INSTALL_DIR_MAN1, 
+    #         TEST_INSTALL_DIR_MAN1,
     #         TEST_INSTALL_DIR_MAN3,
         ], 0 ); # DO NOT be verbose under perl core -- makes tests fail
     }
@@ -253,47 +258,47 @@
 
         my $dh;
         opendir $dh, $dir or die "Could not open basedir '$dir': $!";
-        while( my $file = readdir $dh ) { 
+        while( my $file = readdir $dh ) {
             next if $file =~ /^\./;  # skip dot files
-            
+
             my $path = File::Spec->catfile( $dir, $file );
-            
+
             ### directory, rmtree it
             if( -d $path ) {
 
                 ### John Malmberg reports yet another VMS issue:
-                ### A directory name on VMS in VMS format ends with .dir 
+                ### A directory name on VMS in VMS format ends with .dir
                 ### when it is referenced as a file.
                 ### In UNIX format traditionally PERL on VMS does not remove the
                 ### '.dir', however the VMS C library conversion routines do
-                ### remove the '.dir' and the VMS C library routines can not 
+                ### remove the '.dir' and the VMS C library routines can not
                 ### handle the '.dir' being present on UNIX format filenames.
-                ### So code doing the fixup has on VMS has to be able to handle 
-                ### both UNIX format names and VMS format names. 
-                
+                ### So code doing the fixup has on VMS has to be able to handle
+                ### both UNIX format names and VMS format names.
+
                 ### XXX See http://www.xray.mpe.mpg.de/
                 ### mailing-lists/perl5-porters/2007-10/msg00064.html
                 ### for details -- the below regex could use some touchups
-                ### according to John. M.            
+                ### according to John. M.
                 $file =~ s/\.dir$//i if $^O eq 'VMS';
-                
+
                 my $dirpath = File::Spec->catdir( $dir, $file );
 
                 print "# Deleting directory '$dirpath'\n" if $verbose;
                 eval { rmtree( $dirpath ) };
-                warn "Could not delete '$dirpath' while cleaning up '$dir'" 
+                warn "Could not delete '$dirpath' while cleaning up '$dir'"
                     if $@;
-           
+
             ### regular file
             } else {
                 print "# Deleting file '$path'\n" if $verbose;
                 1 while unlink $path;
-            }            
-        }       
-    
+            }
+        }
+
         close $dh;
     }
-    
+
     return 1;
 }
 1;


Property changes on: vendor/perl/dist/cpan/CPANPLUS/t/inc/conf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build/Constants.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
 package CPANPLUS::Dist::Build::Constants;
 
+use if $] > 5.017, 'deprecate';
+
 use strict;
 use warnings;
 use File::Spec;
@@ -8,10 +10,10 @@
 
     require Exporter;
     use vars    qw[$VERSION @ISA @EXPORT];
-  
-    $VERSION    = '0.54';
+
+    $VERSION    = '0.70';
     @ISA        = qw[Exporter];
-    @EXPORT     = qw[ BUILD_DIR BUILD ];
+    @EXPORT     = qw[ BUILD_DIR BUILD CPDB_PERL_WRAPPER];
 }
 
 
@@ -18,18 +20,21 @@
 use constant BUILD_DIR      => sub { return @_
                                         ? File::Spec->catdir($_[0], '_build')
                                         : '_build';
-                            }; 
+                            };
 use constant BUILD          => sub { my $file = @_
                                         ? File::Spec->catfile($_[0], 'Build')
                                         : 'Build';
-                                        
+
                                      ### on VMS, '.com' is appended when
                                      ### creating the Build file
-                                     $file .= '.com' if $^O eq 'VMS';     
-                                     
+                                     $file .= '.com' if $^O eq 'VMS';
+
                                      return $file;
                             };
-                            
+
+
+use constant CPDB_PERL_WRAPPER   => 'use strict; BEGIN { my $old = select STDERR; $|++; select $old; $|++; $0 = shift(@ARGV); my $rv = do($0); die $@ if $@; }';
+
 1;
 
 =head1 NAME


Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build.pm
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
 package CPANPLUS::Dist::Build;
 
+use if $] > 5.017, 'deprecate';
+
 use strict;
 use warnings;
 use vars    qw[@ISA $STATUS $VERSION];
@@ -10,7 +12,7 @@
 ### these constants were exported by CPANPLUS::Internals::Constants
 ### in previous versions.. they do the same though. If we want to have
 ### a normal 'use' here, up the dependency to CPANPLUS 0.056 or higher
-BEGIN { 
+BEGIN {
     require CPANPLUS::Dist::Build::Constants;
     CPANPLUS::Dist::Build::Constants->import()
         if not __PACKAGE__->can('BUILD') && __PACKAGE__->can('BUILD_DIR');
@@ -30,7 +32,7 @@
 
 local $Params::Check::VERBOSE = 1;
 
-$VERSION = '0.54';
+$VERSION = '0.70';
 
 =pod
 
@@ -44,8 +46,8 @@
                                 format  => 'CPANPLUS::Dist::Build',
                                 module  => $modobj,
                             );
-                            
-    $build->prepare;    # runs Build.PL                            
+
+    $build->prepare;    # runs Build.PL
     $build->create;     # runs build && build test
     $build->install;    # runs build install
 
@@ -58,7 +60,7 @@
 modules. It inherits from C<CPANPLUS::Dist>.
 
 Normal users won't have to worry about the interface to this module,
-as it functions transparently as a plug-in to C<CPANPLUS> and will 
+as it functions transparently as a plug-in to C<CPANPLUS> and will
 just C<Do The Right Thing> when it's loaded.
 
 =head1 ACCESSORS
@@ -104,7 +106,7 @@
 =item C<distdir ()>
 
 Full path to the directory in which the C<prepare> call took place,
-set after a call to C<prepare>. 
+set after a call to C<prepare>.
 
 =item C<created ()>
 
@@ -184,11 +186,11 @@
 
 =head2 $bool = $dist->prepare([perl => '/path/to/perl', buildflags => 'EXTRA=FLAGS', force => BOOL, verbose => BOOL])
 
-C<prepare> prepares a distribution, running C<Build.PL> 
+C<prepare> prepares a distribution, running C<Build.PL>
 and establishing any prerequisites this
 distribution has.
 
-The variable C<PERL5_CPANPLUS_IS_EXECUTING> will be set to the full path 
+The variable C<PERL5_CPANPLUS_IS_EXECUTING> will be set to the full path
 of the C<Build.PL> that is being executed. This enables any code inside
 the C<Build.PL> to know that it is being installed via CPANPLUS.
 
@@ -232,9 +234,9 @@
             perl            => {    default => $^X, store => \$perl },
             buildflags      => {    default => $conf->get_conf('buildflags'),
                                     store   => \$buildflags },
-            prereq_target   => {    default => '', store => \$prereq_target }, 
+            prereq_target   => {    default => '', store => \$prereq_target },
             prereq_format   => {    default => '',
-                                    store   => \$prereq_format },   
+                                    store   => \$prereq_format },
             prereq_build    => {    default => 0, store => \$prereq_build },
         };
 
@@ -269,7 +271,8 @@
     my @buildflags = $dist->_buildflags_as_list( $buildflags );
     $dist->status->_buildflags( $buildflags );
 
-    my $fail;
+    my $fail; my $prereq_fail;
+    my $status = { };
     RUN: {
         # 0.85_01
         ### we resolve 'configure requires' here, so we can run the 'perl
@@ -281,7 +284,7 @@
         ### containing a makefile.pl/build.pl for test purposes?
         my $safe_ver = version->new('0.85_01');
         if ( version->new($CPANPLUS::Internals::VERSION) >= $safe_ver )
-        {   my $configure_requires = $dist->find_configure_requires;     
+        {   my $configure_requires = $dist->find_configure_requires;
             my $ok = $dist->_resolve_prereqs(
                             format          => $prereq_format,
                             verbose         => $verbose,
@@ -289,18 +292,19 @@
                             target          => $prereq_target,
                             force           => $force,
                             prereq_build    => $prereq_build,
-                    );    
-    
+                    );
+
             unless( $ok ) {
-           
+
                 #### use $dist->flush to reset the cache ###
                 error( loc( "Unable to satisfy '%1' for '%2' " .
-                            "-- aborting install", 
-                            'configure_requires', $self->module ) );    
+                            "-- aborting install",
+                            'configure_requires', $self->module ) );
                 $dist->status->prepared(0);
-                $fail++; 
+                $prereq_fail++;
+                $fail++;
                 last RUN;
-            } 
+            }
             ### end of prereq resolving ###
         }
 
@@ -310,34 +314,48 @@
 
         my $env = ENV_CPANPLUS_IS_EXECUTING;
         local $ENV{$env} = BUILD_PL->( $dir );
-        my $run_perl    = $conf->get_program('perlwrapper');
-        my $cmd = [$perl, $run_perl, BUILD_PL->($dir), @buildflags];
+        my @run_perl    = ( '-e', CPDB_PERL_WRAPPER );
+        my $cmd = [$perl, @run_perl, BUILD_PL->($dir), @buildflags];
 
         unless ( scalar run(    command => $cmd,
                                 buffer  => \$prep_output,
-                                verbose => $verbose ) 
+                                verbose => $verbose )
         ) {
             error( loc( "Build.PL failed: %1", $prep_output ) );
+            if ( $conf->get_conf('cpantest') ) {
+               $status->{stage} = 'prepare';
+               $status->{capture} = $prep_output;
+            }
             $fail++; last RUN;
         }
 
+        unless ( BUILD->( $dir ) ) {
+            error( loc( "Build.PL failed to generate a Build script: %1", $prep_output ) );
+            if ( $conf->get_conf('cpantest') ) {
+               $status->{stage} = 'prepare';
+               $status->{capture} = $prep_output;
+            }
+            $fail++; last RUN;
+        }
+
         msg( $prep_output, 0 );
 
         my $prereqs = $self->status->prereqs;
 
-        $prereqs ||= $dist->_find_prereqs( verbose => $verbose, 
-                                           dir => $dir, 
+        $prereqs ||= $dist->_find_prereqs( verbose => $verbose,
+                                           dir => $dir,
                                            perl => $perl,
                                            buildflags => $buildflags );
 
     }
-    
+
     ### send out test report? ###
-    if( $fail and $conf->get_conf('cpantest') ) {
-           $cb->_send_report( 
+    if( $fail and $conf->get_conf('cpantest') and not $prereq_fail ) {
+           $cb->_send_report(
             module  => $self,
             failed  => $fail,
             buffer  => CPANPLUS::Error->stack_as_string,
+            status  => $status,
             verbose => $verbose,
             force   => $force,
         ) or error(loc("Failed to send test report for '%1'",
@@ -370,7 +388,7 @@
         buildflags => { default => $conf->get_conf('buildflags'),
                         store   => \$buildflags },
     };
-    
+
     my $args = check( $tmpl, \%hash ) or return;
 
     my $prereqs = {};
@@ -389,11 +407,11 @@
           my @buildflags = $dist->_buildflags_as_list( $buildflags );
 
           # Use the new Build action 'prereq_data'
-          my $run_perl    = $conf->get_program('perlwrapper');
+          my @run_perl    = ( '-e', CPDB_PERL_WRAPPER );
 
-          unless ( scalar run(    command => [$perl, $run_perl, BUILD->($dir), 'prereq_data', @buildflags],
+          unless ( scalar run(    command => [$perl, @run_perl, BUILD->($dir), 'prereq_data', @buildflags],
                                 buffer  => \$content,
-                                verbose => 0 ) 
+                                verbose => 0 )
           ) {
             error( loc( "Build 'prereq_data' failed: %1 %2", $!, $content ) );
             #return;
@@ -413,7 +431,7 @@
           error( loc( "Cannot open '%1': %2", $file, $! ) );
           return;
         }
-        
+
         $content = do { local $/; <$fh> };
 
       }
@@ -511,7 +529,7 @@
             prereq_format   => {    #default => $self->status->installer_type,
                                     default => '',
                                     store   => \$prereq_format },
-            prereq_build    => {    default => 0, store => \$prereq_build },                                    
+            prereq_build    => {    default => 0, store => \$prereq_build },
         };
 
         $args = check( $tmpl, \%hash ) or return;
@@ -567,9 +585,10 @@
     $dist->status->_buildflags( $buildflags );
 
     my $fail; my $prereq_fail; my $test_fail;
+    my $status = { };
     RUN: {
 
-        my $run_perl    = $conf->get_program('perlwrapper');
+        my @run_perl    = ( '-e', CPDB_PERL_WRAPPER );
 
         ### this will set the directory back to the start
         ### dir, so we must chdir /again/
@@ -601,15 +620,19 @@
             $cmd = [$perl, BUILD->($dir), @buildflags];
         }
         else {
-            $cmd = [$perl, $run_perl, BUILD->($dir), @buildflags];
+            $cmd = [$perl, @run_perl, BUILD->($dir), @buildflags];
         }
 
         unless ( scalar run(    command => $cmd,
                                 buffer  => \$captured,
-                                verbose => $verbose ) 
+                                verbose => $verbose )
         ) {
             error( loc( "MAKE failed:\n%1", $captured ) );
             $dist->status->build(0);
+            if ( $conf->get_conf('cpantest') ) {
+               $status->{stage} = 'build';
+               $status->{capture} = $captured;
+            }
             $fail++; last RUN;
         }
 
@@ -620,8 +643,8 @@
         ### add this directory to your lib ###
         $self->add_to_includepath();
 
-        ### this buffer will not include what tests failed due to a 
-        ### M::B/Test::Harness bug. Reported as #9793 with patch 
+        ### this buffer will not include what tests failed due to a
+        ### M::B/Test::Harness bug. Reported as #9793 with patch
         ### against 0.2607 on 26/1/2005
         unless( $skiptest ) {
             my $test_output;
@@ -629,13 +652,13 @@
                 $cmd     = [$perl, BUILD->($dir), "test", @buildflags];
             }
             else {
-                $cmd     = [$perl, $run_perl, BUILD->($dir), "test", @buildflags];
+                $cmd     = [$perl, @run_perl, BUILD->($dir), "test", @buildflags];
             }
             unless ( scalar run(    command => $cmd,
                                     buffer  => \$test_output,
-                                    verbose => $verbose ) 
+                                    verbose => $verbose )
             ) {
-                error( loc( "MAKE TEST failed:\n%1 ", $test_output ) );
+                error( loc( "MAKE TEST failed:\n%1 ", $test_output ), ( $verbose ? 0 : 1 ) );
 
                 ### mark specifically *test* failure.. so we dont
                 ### send success on force...
@@ -645,16 +668,23 @@
                                       $self, $@ )
                 ) {
                     $dist->status->test(0);
+                    if ( $conf->get_conf('cpantest') ) {
+                      $status->{stage} = 'test';
+                      $status->{capture} = $test_output;
+                    }
                     $fail++; last RUN;
                 }
 
-            } 
+            }
             else {
                 msg( loc( "MAKE TEST passed:\n%1", $test_output ), 0 );
-                #msg( $test_output, 0 );
                 $dist->status->test(1);
+                if ( $conf->get_conf('cpantest') ) {
+                   $status->{stage} = 'test';
+                   $status->{capture} = $test_output;
+                }
             }
-        } 
+        }
         else {
             msg(loc("Tests skipped"), $verbose);
         }
@@ -670,6 +700,7 @@
             module          => $self,
             failed          => $test_fail || $fail,
             buffer          => CPANPLUS::Error->stack_as_string,
+            status          => $status,
             verbose         => $verbose,
             force           => $force,
             tests_skipped   => $skiptest,
@@ -702,7 +733,7 @@
     my $conf = $cb->configure_object;
     my %hash = @_;
 
-    
+
     my $verbose; my $perl; my $force; my $buildflags;
     {   local $Params::Check::ALLOW_UNKNOWN = 1;
         my $tmpl = {
@@ -714,7 +745,7 @@
                             store   => \$buildflags },
             perl    => { default => $^X, store   => \$perl },
         };
-    
+
         my $args = check( $tmpl, \%hash ) or return;
         $dist->status->_install_args( $args );
     }
@@ -733,7 +764,7 @@
     }
 
     ### value set and false -- means failure ###
-    if( defined $self->status->installed && 
+    if( defined $self->status->installed &&
         !$self->status->installed && !$force
     ) {
         error( loc( "Module '%1' has failed to install before this session " .
@@ -743,7 +774,7 @@
 
     my $fail;
     my @buildflags = $dist->_buildflags_as_list( $buildflags );
-    my $run_perl    = $conf->get_program('perlwrapper');
+    my @run_perl    = ( '-e', CPDB_PERL_WRAPPER );
 
     ### hmm, how is this going to deal with sudo?
     ### for now, check effective uid, if it's not root,
@@ -758,12 +789,20 @@
             $cmd     = [$perl, BUILD->($dir), "install", @buildflags];
         }
         else {
-            $cmd     = [$perl, $run_perl, BUILD->($dir), "install", @buildflags];
+            $cmd     = [$perl, @run_perl, BUILD->($dir), "install", @buildflags];
         }
+
+        ### Detect local::lib type behaviour. Do not use 'sudo' in these cases
         my $sudo    = $conf->get_program('sudo');
-        unshift @$cmd, $sudo if $sudo;
+        SUDO: {
+          ### Actual local::lib in use
+          last SUDO if defined $ENV{PERL_MB_OPT} and $ENV{PERL_MB_OPT} =~ m!install_base!;
+          ### 'buildflags' is configured with '--install_base'
+          last SUDO if scalar grep { m!install_base! } @buildflags;
+          ### oh well 'sudo make me a sandwich'
+          unshift @$cmd, $sudo;
+        }
 
-
         my $buffer;
         unless( scalar run( command => $cmd,
                             buffer  => \$buffer,
@@ -778,7 +817,7 @@
             $cmd     = [$perl, BUILD->($dir), "install", @buildflags];
         }
         else {
-            $cmd     = [$perl, $run_perl, BUILD->($dir), "install", @buildflags];
+            $cmd     = [$perl, @run_perl, BUILD->($dir), "install", @buildflags];
         }
         unless( scalar run( command => $cmd,
                             buffer  => \$install_output,


Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/lib/CPANPLUS/Dist/Build.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/01_CPANPLUS-Dist-Build-Constants.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/01_CPANPLUS-Dist-Build-Constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/01_CPANPLUS-Dist-Build-Constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/01_CPANPLUS-Dist-Build-Constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/02_CPANPLUS-Dist-Build.t
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/02_CPANPLUS-Dist-Build.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/02_CPANPLUS-Dist-Build.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/02_CPANPLUS-Dist-Build.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/authors/01mailrc.txt.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/authors/01mailrc.txt.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/authors/01mailrc.txt.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/authors/01mailrc.txt.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/02packages.details.txt.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/02packages.details.txt.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/02packages.details.txt.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/02packages.details.txt.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/03modlist.data.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/03modlist.data.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/03modlist.data.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-CPAN/modules/03modlist.data.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-perl/.hidden
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-perl/.hidden	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-perl/.hidden	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/dummy-perl/.hidden
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/inc/conf.pl
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/inc/conf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/inc/conf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/inc/conf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/noxs/Foo-Bar-0.01.tar.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/noxs/Foo-Bar-0.01.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/noxs/Foo-Bar-0.01.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/noxs/Foo-Bar-0.01.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/xs/Foo-Bar-0.01.tar.gz
===================================================================
--- vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/xs/Foo-Bar-0.01.tar.gz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/xs/Foo-Bar-0.01.tar.gz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/CPANPLUS-Dist-Build/t/src/xs/Foo-Bar-0.01.tar.gz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Bzip2/Bzip2.xs
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/Bzip2.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/Bzip2.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
  *
  */
 
-
+#define PERL_NO_GET_CONTEXT
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
@@ -281,9 +281,8 @@
             croak("%s: buffer parameter is a reference to a reference", string) ;
     }
 
-    if (!SvOK(sv)) { 
-        sv = newSVpv("", 0);
-    }
+    if (!SvOK(sv))
+        sv = sv_2mortal(newSVpv("", 0));
 
     return sv ;
 }
@@ -299,6 +298,7 @@
 {
     dTHX;
     bool wipe = 0 ;
+    STRLEN na;
     
     SvGETMAGIC(sv);
     wipe = ! SvOK(sv) ;
@@ -326,10 +326,9 @@
     SvUPGRADE(sv, SVt_PV);
 
     if (wipe)
-        SvCUR_set(sv, 0);
-    
-    SvOOK_off(sv);
-    SvPOK_only(sv);
+        sv_setpv(sv, "") ;
+    else
+        (void)SvPVbyte_force(sv, na) ;
 
     return sv ;
 }
@@ -497,7 +496,7 @@
     if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
          croak("Wide character in " COMPRESS_CLASS "::bzdeflate input parameter");
 #endif         
-    s->stream.next_in = (char*)SvPVbyte_nolen(buf) ;
+    s->stream.next_in = (char*)SvPV_nomg_nolen(buf) ;
     s->stream.avail_in = SvCUR(buf) ;
      
     /* and retrieve the output buffer */
@@ -512,7 +511,7 @@
         /* sv_setpvn(output, "", 0); */
     }
     cur_length =  SvCUR(output) ;
-    s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length;
+    s->stream.next_out = (char*) SvPVX(output) + cur_length;
     increment =  SvLEN(output) -  cur_length;
     s->stream.avail_out =  increment;
     while (s->stream.avail_in != 0) {
@@ -519,9 +518,9 @@
 
         if (s->stream.avail_out == 0) {
 	    /* out of space in the output buffer so make it bigger */
-            Sv_Grow(output, SvLEN(output) + bufinc) ;
+            s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc) ;
             cur_length += increment ;
-            s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length ;
+            s->stream.next_out += cur_length ;
             increment = bufinc ;
             s->stream.avail_out = increment;
             bufinc *= 2 ;
@@ -576,7 +575,7 @@
         /* sv_setpvn(output, "", 0); */
     }
     cur_length =  SvCUR(output) ;
-    s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length;
+    s->stream.next_out = (char*) SvPVX(output) + cur_length;
     increment =  SvLEN(output) -  cur_length;
     s->stream.avail_out =  increment;
 
@@ -583,9 +582,9 @@
     for (;;) {
         if (s->stream.avail_out == 0) {
 	    /* consumed all the available output, so extend it */
-            Sv_Grow(output, SvLEN(output) + bufinc) ;
+            s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc) ;
             cur_length += increment ;
-            s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length ;
+            s->stream.next_out += cur_length ;
             increment = bufinc ;
             s->stream.avail_out = increment;
             bufinc *= 2 ;
@@ -637,7 +636,7 @@
         /* sv_setpvn(output, "", 0); */
     }
     cur_length =  SvCUR(output) ;
-    s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length;
+    s->stream.next_out = (char*) SvPVX(output) + cur_length;
     increment =  SvLEN(output) -  cur_length;
     s->stream.avail_out =  increment;
 
@@ -644,9 +643,9 @@
     for (;;) {
         if (s->stream.avail_out == 0) {
 	    /* consumed all the available output, so extend it */
-            Sv_Grow(output, SvLEN(output) + bufinc) ;
+            s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc) ;
             cur_length += increment ;
-            s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length ;
+            s->stream.next_out += cur_length ;
             increment = bufinc ;
             s->stream.avail_out = increment;
             bufinc *= 2 ;
@@ -724,8 +723,8 @@
     uInt	cur_length = 0;
     uInt	prefix_length = 0;
     uInt	increment = 0;
-    STRLEN  stmp   = NO_INIT
     uInt    bufinc = NO_INIT
+    STRLEN  na = NO_INIT ;
   PREINIT:
 #ifdef UTF8_AVAILABLE    
     bool	out_utf8  = FALSE;
@@ -735,8 +734,11 @@
     /* If the buffer is a reference, dereference it */
     buf = deRef(buf, "bzinflate") ;
 
-    if (s->flags & FLAG_CONSUME_INPUT && SvREADONLY(buf))
-        croak(UNCOMPRESS_CLASS "::bzinflate input parameter cannot be read-only when ConsumeInput is specified");
+    if (s->flags & FLAG_CONSUME_INPUT) {
+        if (SvREADONLY(buf))
+            croak(UNCOMPRESS_CLASS "::bzinflate input parameter cannot be read-only when ConsumeInput is specified");
+        SvPV_force(buf, na);
+    }
 #ifdef UTF8_AVAILABLE    
     if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
          croak("Wide character in " UNCOMPRESS_CLASS "::bzinflate input parameter");
@@ -743,7 +745,7 @@
 #endif         
     
     /* initialise the input buffer */
-    s->stream.next_in = (char*)SvPVbyte_force(buf, stmp) ;
+    s->stream.next_in = (char*)SvPV_nomg_nolen(buf) ;
     s->stream.avail_in = SvCUR(buf);
 	
     /* and retrieve the output buffer */
@@ -774,7 +776,7 @@
         */
         if (SvLEN(output) > cur_length + 1)
         {
-            s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length;
+            s->stream.next_out = (char*) SvPVX(output) + cur_length;
             increment = SvLEN(output) -  cur_length - 1;
             s->stream.avail_out = increment;
         }
@@ -788,9 +790,9 @@
 
         if (s->stream.avail_out == 0) {
 	    /* out of space in the output buffer so make it bigger */
-            Sv_Grow(output, SvLEN(output) + bufinc + 1) ;
+            s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc + 1) ;
             cur_length += increment ;
-            s->stream.next_out = (char*) SvPVbyte_nolen(output) + cur_length ;
+            s->stream.next_out += cur_length ;
             increment = bufinc ;
             s->stream.avail_out = increment;
             bufinc *= 2 ;
@@ -799,7 +801,10 @@
         /* DispStream(s, "pre"); */
         RETVAL = BZ2_bzDecompress (&(s->stream));
 
-        /* DispStream(s, "apres"); */
+        /* 
+        printf("Status %d\n", RETVAL);
+        DispStream(s, "apres"); 
+        */ 
         if (RETVAL != BZ_OK || s->flags & FLAG_LIMIT_OUTPUT) 
             break ;
 
@@ -835,7 +840,7 @@
 	    in = s->stream.avail_in ;
 	    SvCUR_set(buf, in) ;
 	    if (in)
-	        Move(s->stream.next_in, SvPVbyte_nolen(buf), in, char) ;	
+	        Move(s->stream.next_in, SvPVX(buf), in, char) ;	
             *SvEND(buf) = '\0';
             SvSETMAGIC(buf);
 	}


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/Bzip2.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Bzip2/Changes
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,88 @@
 CHANGES
 -------
 
+  2.060 7 January 2013
+
+      * No Changes
+
+  2.059 24 November 2012
+
+      * Copy-on-write support
+        [#81352]
+
+  2.058 12 November 2012
+
+      * No Changes
+
+  2.057 10 November 2012
+
+      * Compress::Raw::Bzip2 needs to use PERL_NO_GET_CONTEXT
+        [#80318]
+
+      * Install to 'site' instead of 'perl' when perl version is 5.11+
+        [#79811]
+
+      * update to ppport.h that includes SvPV_nomg_nolen
+        [#78080] 
+
+  2.055 4 August 2012
+
+      * Fix misuse of magic in API
+        [#78080] 
+
+  2.052 29 April 2012
+
+      * No Changes
+
+  2.049 18 February 2012
+
+      * No Changes
+
+  2.048 29 January 2012
+
+      * No Changes
+
+  2.047 28 January 2012
+
+      * Set minimum Perl version to 5.6
+
+  2.045 3 December 2011
+
+      * Moved FAQ.pod to IO::Compress
+
+  2.044 2 December 2011
+
+      * Moved FAQ.pod under the lib directory so it can get installed
+
+  2.043 20 November 2011
+
+      * No Changes
+
+  2.042 17 November 2011
+
+      * No Changes
+
+  2.040 28 October 2011
+
+      * No Changes
+
+  2.039 28 October 2011
+
+      * croak if attempt to freeze/thaw compression object
+        [RT #69985]
+
+  2.037 22 June 2011
+
+      * No Changes
+
+  2.036 18 June 2011
+
+      * No Changes
+
+  2.035 6 May 2011
+
+      * No Changes
+
   2.033 11 Jan 2011
       * Fixed typos & spelling errors.
         [perl# 81782]


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Bzip2/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #! perl -w
 
 use strict ;
-require 5.004 ;
+require 5.006 ;
 
 use private::MakeUtil;
 use ExtUtils::MakeMaker 5.16 ;
@@ -47,8 +47,14 @@
         : ()
     ),
 
-    INSTALLDIRS => ($] > 5.010 ? 'perl' : 'site'),
+    INSTALLDIRS => ($] > 5.010  && $] < 5.011 ? 'perl' : 'site'),
 
+    META_MERGE => {
+        no_index => {
+            directory => [ 't', 'private' ],
+        },
+    },    
+
     ((ExtUtils::MakeMaker->VERSION() gt '6.30') ?
         ('LICENSE'  => 'perl')         : ()),    
 


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Bzip2/README
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,11 @@
 
-                             Compress-Raw-Bzip2
+                            Compress-Raw-Bzip2
 
-                             Version 2.033
+                         Version 2.060
 
-                             11th January 2011
+                             7th January 2013
 
-       Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+       Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
           This program is free software; you can redistribute it
            and/or modify it under the same terms as Perl itself.
 
@@ -35,7 +35,7 @@
 
     * A C compiler
 
-    * Perl 5.004 or better. 
+    * Perl 5.006 or better. 
 
 BUILDING THE MODULE
 -------------------
@@ -164,7 +164,7 @@
         If you haven't installed Compress-Raw-Bzip2 then search Compress::Raw::Bzip2.pm
         for a line like this:
 
-          $VERSION = "2.033" ;
+          $VERSION = "2.060" ;
 
      c. The version of bzip2 you have used.
         If you have successfully installed Compress-Raw-Bzip2, this one-liner


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/LICENSE
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/blocksort.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/compress.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/crctable.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/decompress.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/huffman.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/bzip2-src/randtable.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.xs
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/fallback/constants.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use strict ;
 use warnings ;
 
-require 5.004 ;
+require 5.006 ;
 require Exporter;
 use AutoLoader;
 use Carp ;
@@ -12,7 +12,7 @@
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
@@ -91,6 +91,31 @@
 #    return wantarray ? ($obj, $status) : $obj;
 #}
 
+sub Compress::Raw::Bzip2::STORABLE_freeze
+{
+    my $type = ref shift;
+    croak "Cannot freeze $type object\n";
+}
+
+sub Compress::Raw::Bzip2::STORABLE_thaw
+{
+    my $type = ref shift;
+    croak "Cannot thaw $type object\n";
+}
+
+sub Compress::Raw::Bunzip2::STORABLE_freeze
+{
+    my $type = ref shift;
+    croak "Cannot freeze $type object\n";
+}
+
+sub Compress::Raw::Bunzip2::STORABLE_thaw
+{
+    my $type = ref shift;
+    croak "Cannot thaw $type object\n";
+}
+
+
 package Compress::Raw::Bzip2;
 
 1;
@@ -334,7 +359,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -354,7 +379,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/pod/FAQ.pod
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/pod/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/pod/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/pod/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/000prereq.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/000prereq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/000prereq.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
 
-    my $VERSION = '2.033';
+    my $VERSION = '2.060';
     my @NAMES = qw(
 			
 			);


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/000prereq.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/01bzip2.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/01bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/01bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/01bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/09limitoutput.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/09limitoutput.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/09limitoutput.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/09limitoutput.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/99pod.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/99pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/99pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/99pod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,6 +25,14 @@
     like $@, @_ ;
 }
 
+BEGIN {
+    eval { 
+       require File::Temp;
+     } ;
+
+}
+
+
 {
     package LexFile ;
 
@@ -36,8 +44,9 @@
         my $self = shift ;
         foreach (@_)
         {
-            # autogenerate the name unless if none supplied
-            $_ = "tst" . $index ++ . ".tmp"
+            Carp::croak "NO!!!!" if defined $_;
+            # autogenerate the name if none supplied
+            $_ = "tst" . $$ . "X" . $index ++ . ".tmp"
                 unless defined $_;
         }
         chmod 0777, @_;
@@ -58,19 +67,70 @@
     package LexDir ;
 
     use File::Path;
+
+    our ($index);
+    $index = '00000';
+    our ($useTempFile) = defined &File::Temp::tempdir;
+    our ($useTempDir) = defined &File::Temp::newdir;
+    
     sub new
     {
         my $self = shift ;
-        foreach (@_) { rmtree $_ }
-        bless [ @_ ], $self ;
+
+        if ( $useTempDir)
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                $_ = File::Temp->newdir(DIR => '.');
+                # Subsequent manipulations assume Unix syntax, metacharacters, etc.
+                if ($^O eq 'VMS')
+                {
+                    $_->{DIRNAME} = VMS::Filespec::unixify($_->{DIRNAME});
+                    $_->{DIRNAME} =~ s/\/$//;
+                }
+            }
+            bless [ @_ ], $self ;
+        }
+        elsif ( $useTempFile)
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                $_ = File::Temp::tempdir(DIR => '.', CLEANUP => 1);
+                # Subsequent manipulations assume Unix syntax, metacharacters, etc.
+                if ($^O eq 'VMS')
+                {
+                    $_ = VMS::Filespec::unixify($_);
+                    $_ =~ s/\/$//;
+                }
+            }
+            bless [ @_ ], $self ;
+        }
+        else
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                # autogenerate the name if none supplied
+                $_ = "tmpdir" . $$ . "X" . $index ++ . ".tmp" ;
+            }
+            foreach (@_) { rmtree $_; mkdir $_, 0777 }
+            bless [ @_ ], $self ;
+        }
+
     }
 
     sub DESTROY
     {
-        my $self = shift ;
-        foreach (@$self) { rmtree $_ }
+        if (! $useTempFile)
+        {
+            my $self = shift ;
+            foreach (@$self) { rmtree $_ }
+        }
     }
 }
+
 sub readFile
 {
     my $f = shift ;


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/t/compress/CompTestUtils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Bzip2/typemap
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Bzip2/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Bzip2/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Bzip2/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/Changes
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,121 @@
 CHANGES
 -------
 
+  2.060 7 January 2013
+
+      * Mention SimpleZip in POD
+
+  2.059 24 November 2012
+
+      * Copy-on-write support
+        [#81353]
+
+  2.058 12 November 2012
+
+      * No Changes
+
+  2.057 10 November 2012
+
+      * Compress::Raw::Zlib needs to use PERL_NO_GET_CONTEXT
+        [#80319]
+
+      * Install to 'site' instead of 'perl' when perl version is 5.11+
+        [#79812]
+
+      * update to ppport.h that includes SvPV_nomg_nolen
+        [#78079] 
+      
+  2.056 10 August 2012
+
+      * Fix C++ build issue
+        Thanks to Karl Williamson for supplying the patch.
+      
+  2.055 4 August 2012
+
+      * Fix misuse of magic in API
+        [#78079] 
+      
+  2.054 8 May 2012
+
+      * Build issue on Win32
+        [#77030] 
+      
+  2.053 6 May 2012
+
+      * Include zlib 1.2.7 source.
+      
+  2.052 29 April 2012
+
+      * Fixed build issue when Perl is built with C++
+      
+  2.051 20 February 2012
+
+      * Bug in Compress::Raw::Zlib on Windows
+        [#75222] 
+      
+  2.050 20 February 2012
+
+      * Build failure on Irix & Solaris.
+        [RT #69985]
+      
+  2.049 18 February 2012
+
+      * Include zlib 1.2.6 source.
+
+  2.048 29 January 2012
+
+      * Set minimum zlib version to 1.2.0
+
+  2.047 28 January 2012
+
+      * Allow flush to be called multiple times without any intermediate 
+        call to deflate and still return Z_OK.
+        In the code below $status was Z_BUF_ERROR before this change.  
+                      
+          $def->flush(...);
+          $status = $def->flush(...); 
+      
+      * Added support for zlibCompileFlags
+
+      * Set minimum Perl version to 5.6
+
+  2.045 3 December 2011
+
+      * Moved FAQ.pod into Zlib.pm
+
+  2.044 2 December 2011
+
+      * Moved FAQ.pod under the lib directory so it can get installed
+
+  2.043 20 November 2011
+
+      * No Changes
+
+  2.042 17 November 2011
+
+      * No Changes
+
+  2.040 28 October 2011
+
+      * No Changes
+
+  2.039 28 October 2011
+
+      * croak if attempt to freeze/thaw compression object
+        [RT #69985]
+
+  2.037 22 June 2011
+
+      * No Changes
+
+  2.036 6 May 2011
+
+      * Added offset patramter to CRC32
+
+  2.035 6 May 2011
+
+      * No Changes
+
   2.033 11 Jan 2011
       * Fixed typos & spelling errors.
         [perl# 81782]


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #! perl -w
 
 use strict ;
-require 5.004 ;
+require 5.006 ;
 
 use private::MakeUtil;
 use ExtUtils::MakeMaker 5.16 ;
@@ -66,7 +66,7 @@
     NAME         => 'Compress::Raw::Zlib',
     VERSION_FROM => 'lib/Compress/Raw/Zlib.pm',
     INC          => "-I$ZLIB_INCLUDE" ,
-    DEFINE       => "-DNO_VIZ $OLD_ZLIB $WALL -DGZIP_OS_CODE=$GZIP_OS_CODE $USE_PPPORT_H" ,
+    DEFINE       => "-DNO_VIZ -DZ_SOLO $OLD_ZLIB $WALL -DGZIP_OS_CODE=$GZIP_OS_CODE $USE_PPPORT_H" ,
     XS           => { 'Zlib.xs' => 'Zlib.c'},
     'depend'     => { 'Makefile'   => 'config.in' },
     'clean'      => { FILES        => '*.c constants.h constants.xs' },
@@ -82,8 +82,14 @@
         : (LIBS => [ "-L$ZLIB_LIB -lz " ])
     ),
       
-    INSTALLDIRS => ($] >= 5.009 ? 'perl' : 'site'),
+    INSTALLDIRS => ($] >= 5.009 && $] < 5.011 ? 'perl' : 'site'),
 
+    META_MERGE => {
+        no_index => {
+            directory => [ 't', 'private' ],
+        },
+    },    
+
     ((ExtUtils::MakeMaker->VERSION() gt '6.30') ?
         ('LICENSE'  => 'perl')         : ()),    
 
@@ -96,7 +102,6 @@
     return [ "#if ZLIB_VERNUM >= 0x$ver\n", "#endif\n" ];
 }
 
-
 my @names = qw(
 
     DEF_WBITS


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/README
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,17 +1,17 @@
 
-                             Compress-Raw-Zlib
+                            Compress-Raw-Zlib
 
-                             Version 2.033
+                         Version 2.060
 
-                             11th January 2011
+                             7th January 2013
 
-       Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+       Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
           This program is free software; you can redistribute it
            and/or modify it under the same terms as Perl itself.
 
               The directory zlib-src contains a subset of the 
-             source files copied directly from zlib version 1.2.5.
-                  These files are Copyright(C) 1995-2010
+             source files copied directly from zlib version 1.2.7.
+                  These files are Copyright(C) 1995-2012
                      Jean-loup Gailly and Mark Adler.
              Full source for the zlib library is available at
                             http://www.zlib.org
@@ -29,7 +29,7 @@
 
     * A C compiler
 
-    * Perl 5.004 or better. 
+    * Perl 5.006 or better. 
 
 By default, Compress-Raw-Zlib will build its own private copy of the 
 zlib library. If you want to use a different version of 
@@ -71,7 +71,7 @@
     3. Use a pre-built zlib library.
 
 Note that if you intend to use either Option 2 or 3, you need to have
-zlib version 1.0.5 or better.
+zlib version 1.2.0 or better.
 
 The contents of the file config.in are used to control which of the
 three options is actually used. This file is read during the
@@ -99,16 +99,16 @@
   
   For option 2, fetch a copy of the zlib source distribution from
   http://www.zlib.org and unpack it into the Compress-Raw-Zlib source 
-  directory. Assuming you have fetched zlib 1.2.5, 
-  it will create a directory called zlib-1.2.5. 
+  directory. Assuming you have fetched zlib 1.2.7, 
+  it will create a directory called zlib-1.2.7. 
   
   Now set the variables in the file config.in as follows (if the version
-  you have fetched isn't 1.2.5, change the INCLUDE and LIB
+  you have fetched isn't 1.2.7, change the INCLUDE and LIB
   variables appropriately):
   
       BUILD_ZLIB   = True
-      INCLUDE      = ./zlib-1.2.5
-      LIB          = ./zlib-1.2.5
+      INCLUDE      = ./zlib-1.2.7
+      LIB          = ./zlib-1.2.7
       OLD_ZLIB     = False
       GZIP_OS_CODE = AUTO_DETECT
   
@@ -355,7 +355,7 @@
         If you haven't installed Compress-Raw-Zlib then search Compress::Raw::Zlib.pm
         for a line like this:
 
-          $VERSION = "2.033" ;
+          $VERSION = "2.060" ;
 
      c. The version of zlib you have used.
         If you have successfully installed Compress-Raw-Zlib, this one-liner


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
  * Created : 22nd January 1996
  * Version : 2.000
  *
- *   Copyright (c) 1995-2010 Paul Marquess. All rights reserved.
+ *   Copyright (c) 1995-2013 Paul Marquess. All rights reserved.
  *   This program is free software; you can redistribute it and/or
  *   modify it under the same terms as Perl itself.
  *
@@ -26,7 +26,7 @@
 */
 
 
-
+#define PERL_NO_GET_CONTEXT
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
@@ -44,6 +44,7 @@
 
 #if  defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1210
 #  define MAGIC_APPEND
+#  define AT_LEAST_ZLIB_1_2_1
 #endif
 
 #if  defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1221
@@ -62,6 +63,13 @@
 #  define AT_LEAST_ZLIB_1_2_3
 #endif
 
+#if  defined(ZLIB_VERNUM) && ZLIB_VERNUM >= 0x1252
+/* 
+    Use Z_SOLO to build source means need own malloc/free
+ */
+#  define AT_LEAST_ZLIB_1_2_5_2
+#endif
+
 #ifdef USE_PPPORT_H
 #  define NEED_sv_2pvbyte
 #  define NEED_sv_2pv_nolen
@@ -424,7 +432,7 @@
 
 #define EnDis(f) (s->flags & f ? "Enabled" : "Disabled")
 
-    printf("DispStream 0x%p", s) ;
+    printf("DispStream %p", s) ;
     if (message)
         printf("- %s \n", message) ;
     printf("\n") ;
@@ -433,15 +441,16 @@
         printf("    stream pointer is NULL\n");
     }
     else     {
-        printf("    stream           0x%p\n", &(s->stream));
-        printf("           zalloc    0x%p\n", s->stream.zalloc);
-        printf("           zfree     0x%p\n", s->stream.zfree);
-        printf("           opaque    0x%p\n", s->stream.opaque);
+        printf("    stream           %p\n", &(s->stream));
+        printf("           zalloc    %p\n", s->stream.zalloc);
+        printf("           zfree     %p\n", s->stream.zfree);
+        printf("           opaque    %p\n", s->stream.opaque);
+        printf("           state     %p\n", s->stream.state);
         if (s->stream.msg)
             printf("           msg       %s\n", s->stream.msg);
         else
             printf("           msg       \n");
-        printf("           next_in   0x%p", s->stream.next_in);
+        printf("           next_in   %p", s->stream.next_in);
         if (s->stream.next_in){
             printf(" =>");
             DispHex(s->stream.next_in, 4);
@@ -448,7 +457,7 @@
         }
         printf("\n");
 
-        printf("           next_out  0x%p", s->stream.next_out);
+        printf("           next_out  %p", s->stream.next_out);
         if (s->stream.next_out){
             printf(" =>");
             DispHex(s->stream.next_out, 4);
@@ -461,7 +470,7 @@
         printf("           total_out %ld\n",  s->stream.total_out);
         printf("           adler     %ld\n",  s->stream.adler    );
         printf("    bufsize          %ld\n",  s->bufsize);
-        printf("    dictionary       0x%p\n", s->dictionary);
+        printf("    dictionary       %p\n",   s->dictionary);
         printf("    dict_adler       0x%ld\n",s->dict_adler);
         printf("    zip_mode         %d\n",   s->zip_mode);
         printf("    crc32            0x%x\n", (unsigned)s->crc32);
@@ -475,7 +484,7 @@
 
 
 #ifdef MAGIC_APPEND
-        printf("    window           0x%p\n", s->window);
+        printf("    window           %p\n", s->window);
 #endif
         printf("\n");
 
@@ -482,6 +491,21 @@
     }
 }
 
+#ifdef AT_LEAST_ZLIB_1_2_5_2
+voidpf my_zcalloc (voidpf opaque, unsigned items, unsigned size)
+{
+    return safemalloc(items * size);
+}
+
+
+void my_zcfree (voidpf opaque, voidpf ptr)
+{
+    safefree(ptr);
+    return; 
+}
+
+#endif
+
 static di_stream *
 #ifdef CAN_PROTOTYPE
 InitStream(void)
@@ -493,8 +517,12 @@
 
     ZMALLOC(s, di_stream) ;
 
+#ifdef AT_LEAST_ZLIB_1_2_5_2
+    s->stream.zalloc = my_zcalloc;
+    s->stream.zfree = my_zcfree;
+#endif
+
     return s ;
-    
 }
 
 static void
@@ -548,9 +576,8 @@
             croak("%s: buffer parameter is a reference to a reference", string) ;
     }
 
-    if (!SvOK(sv)) { 
-        sv = newSVpv("", 0);
-    }
+    if (!SvOK(sv))
+        sv = sv_2mortal(newSVpv("", 0));
 
     return sv ;
 }
@@ -566,6 +593,7 @@
 {
     dTHX;
     bool wipe = 0 ;
+    STRLEN na;
     
     SvGETMAGIC(sv);
     wipe = ! SvOK(sv) ;
@@ -593,10 +621,9 @@
     SvUPGRADE(sv, SVt_PV);
 
     if (wipe)
-        SvCUR_set(sv, 0);
-    
-    SvOOK_off(sv);
-    SvPOK_only(sv);
+        sv_setpv(sv, "") ;
+    else
+        (void)SvPVbyte_force(sv, na) ;
 
     return sv ;
 }
@@ -637,10 +664,19 @@
         RETVAL  = (ZLIB_VERSION[0] - '0') << 12 ;
         RETVAL += (ZLIB_VERSION[2] - '0') <<  8 ;
         RETVAL += (ZLIB_VERSION[4] - '0') <<  4 ;
+        if (strlen(ZLIB_VERSION) > 5)
+            RETVAL += (ZLIB_VERSION[6] - '0')  ;
 #endif
     OUTPUT:
         RETVAL
 
+
+#ifndef AT_LEAST_ZLIB_1_2_1
+#define zlibCompileFlags() 0
+#endif
+uLong
+zlibCompileFlags()
+
 MODULE = Compress::Raw::Zlib	PACKAGE = Compress::Raw::Zlib	PREFIX = Zip_
 
 #define Zip_adler32(buf, adler) adler32(adler, buf, (uInt)len)
@@ -669,13 +705,14 @@
     OUTPUT:
         RETVAL
  
-#define Zip_crc32(buf, crc) crc32(crc, buf, (uInt)len)
+#define Zip_crc32(buf, crc, offset) crc32(crc, buf+offset, (uInt)len-offset)
 
 uLong
-Zip_crc32(buf, crc=crcInitial)
+Zip_crc32(buf, crc=crcInitial, offset=0)
         uLong    crc = NO_INIT
         STRLEN   len = NO_INIT
         Bytef *  buf = NO_INIT
+        int      offset       
 	SV *	 sv = ST(0) ;
 	INIT:
     	/* If the buffer is a reference, dereference it */
@@ -692,8 +729,7 @@
 	  crc = SvUV(ST(1)) ;
 	else
 	  crc = crcInitial;
-
-
+ 
 uLong
 crc32_combine(crc1, crc2, len2)
         uLong    crc1 
@@ -756,15 +792,21 @@
         err = deflateInit2(&(s->stream), level, 
 			   method, windowBits, memLevel, strategy);
 
+        if (trace) {
+            warn(" _deflateInit2 returned %d (state %p)\n", err, s);
+            DispStream(s, "INIT");
+        }
+
 	/* Check if a dictionary has been specified */
-
-	if (err == Z_OK && SvCUR(dictionary)) {
+	SvGETMAGIC(dictionary);
+	if (err == Z_OK && SvPOK(dictionary) && SvCUR(dictionary)) {
 #ifdef UTF8_AVAILABLE    
-        if (DO_UTF8(dictionary) && !sv_utf8_downgrade(dictionary, 1))
-             croak("Wide character in Compress::Raw::Zlib::Deflate::new dicrionary parameter");
+            if (DO_UTF8(dictionary) && !sv_utf8_downgrade(dictionary, 1))
+                croak("Wide character in Compress::Raw::Zlib::Deflate::new dicrionary parameter");
 #endif         
-	    err = deflateSetDictionary(&(s->stream), (const Bytef*) SvPVbyte_nolen(dictionary), 
-					SvCUR(dictionary)) ;
+	    err = deflateSetDictionary(&(s->stream), (const Bytef*) SvPVX(dictionary), SvCUR(dictionary)) ;
+        if (trace) 
+            warn("deflateSetDictionary returned %d\n", err);
 	    s->dict_adler = s->stream.adler ;
 	}
 
@@ -831,7 +873,7 @@
             }
         }
         else
-#endif   
+#endif
             /* Dictionary specified - take a copy for use in inflate */
 	    s->dictionary = newSVsv(dictionary) ;
 	}
@@ -903,7 +945,7 @@
     if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
          croak("Wide character in Compress::Raw::Zlib::Deflate::deflate input parameter");
 #endif         
-    s->stream.next_in = (Bytef*)SvPVbyte_nolen(buf) ;
+    s->stream.next_in = (Bytef*)SvPV_nomg_nolen(buf) ;
     s->stream.avail_in = SvCUR(buf) ;
     
     if (s->flags & FLAG_CRC32)
@@ -924,7 +966,7 @@
         /* sv_setpvn(output, "", 0); */
     }
     prefix = cur_length =  SvCUR(output) ;
-    s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length;
+    s->stream.next_out = (Bytef*) SvPVX(output) + cur_length;
     increment =  SvLEN(output) -  cur_length;
     s->stream.avail_out =  increment;
 #ifdef SETP_BYTE
@@ -955,19 +997,33 @@
 	s->deflateParams_out_length = 0;
     }
 #endif
+    RETVAL = Z_OK ;
     while (s->stream.avail_in != 0) {
 
         if (s->stream.avail_out == 0) {
 	    /* out of space in the output buffer so make it bigger */
-            Sv_Grow(output, SvLEN(output) + bufinc) ;
+            s->stream.next_out = (Bytef*) Sv_Grow(output, SvLEN(output) + bufinc) ;
             cur_length += increment ;
-            s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length ;
+            s->stream.next_out += cur_length ;
             increment = bufinc ;
             s->stream.avail_out = increment;
             bufinc *= 2 ;
         }
 
+        if (trace) {
+          printf("DEFLATE Avail In %d, Out %d\n", s->stream.avail_in, s->stream.avail_out); 
+          DispStream(s, "BEFORE");
+          /* Perl_sv_dump(output); */
+        }
+
         RETVAL = deflate(&(s->stream), Z_NO_FLUSH);
+    
+        if (trace) {
+            printf("DEFLATE returned %d %s, avail in %d, out %d\n", RETVAL,
+           GetErrorString(RETVAL), s->stream.avail_in, s->stream.avail_out); 
+            DispStream(s, "AFTER");
+        }
+
         if (RETVAL != Z_OK) 
             break;
     }
@@ -989,6 +1045,8 @@
 DESTROY(s)
     Compress::Raw::Zlib::deflateStream	s
   CODE:
+    if (trace)
+        printf("Compress::Raw::Zlib::deflateStream::DESTROY %p\n", s);
     deflateEnd(&s->stream) ;
     if (s->dictionary)
 	SvREFCNT_dec(s->dictionary) ;
@@ -1008,6 +1066,7 @@
     uInt	increment = NO_INIT
     uInt	prefix    = NO_INIT
     uLong     bufinc = NO_INIT
+    uLong     availableout = NO_INIT    
   CODE:
     bufinc = s->bufsize;
   
@@ -1024,7 +1083,7 @@
         /* sv_setpvn(output, "", 0); */
     }
     prefix = cur_length =  SvCUR(output) ;
-    s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length;
+    s->stream.next_out = (Bytef*) SvPVX(output) + cur_length;
     increment =  SvLEN(output) -  cur_length;
     s->stream.avail_out =  increment;
 #ifdef SETP_BYTE
@@ -1057,17 +1116,36 @@
 #endif
 
     for (;;) {
-        if (s->stream.avail_out == 0) {
-	    /* consumed all the available output, so extend it */
-            Sv_Grow(output, SvLEN(output) + bufinc) ;
+        if (s->stream.avail_out == 0) {        
+            /* consumed all the available output, so extend it */
+            s->stream.next_out = (Bytef*) Sv_Grow(output, SvLEN(output) + bufinc) ;
             cur_length += increment ;
-            s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length ;
+            s->stream.next_out += cur_length ;
             increment = bufinc ;
             s->stream.avail_out = increment;
             bufinc *= 2 ;
         }
+        
+        availableout = s->stream.avail_out ;
+        
+        if (trace) {
+          printf("flush (%d) DEFLATE Avail In %d, Out %d\n", f, s->stream.avail_in, s->stream.avail_out); 
+          DispStream(s, "BEFORE");
+          /* Perl_sv_dump(output); */
+        }
+
         RETVAL = deflate(&(s->stream), f);
     
+        if (trace) {
+            printf("flush DEFLATE returned %d %s, avail in %d, out %d\n", RETVAL,
+            GetErrorString(RETVAL), s->stream.avail_in, s->stream.avail_out); 
+            DispStream(s, "AFTER");
+        }
+
+        /* Ignore the second of two consecutive flushes: */
+        if (availableout == s->stream.avail_out && RETVAL == Z_BUF_ERROR) 
+            RETVAL = Z_OK; 
+        
         /* deflate has finished flushing only when it hasn't used up
          * all the available space in the output buffer: 
          */
@@ -1277,19 +1355,22 @@
     uInt	cur_length = 0;
     uInt	prefix_length = 0;
     int	    increment = 0;
-    STRLEN  stmp    = NO_INIT
-    uLong     bufinc = NO_INIT
+    uLong   bufinc = NO_INIT
+    STRLEN  na = NO_INIT ;
   PREINIT:
 #ifdef UTF8_AVAILABLE    
     bool	out_utf8  = FALSE;
 #endif    
-  CODE:
+  CODE: 
     bufinc = s->bufsize;
     /* If the buffer is a reference, dereference it */
     buf = deRef(buf, "inflate") ;
 
-    if (s->flags & FLAG_CONSUME_INPUT && SvREADONLY(buf))
-        croak("Compress::Raw::Zlib::Inflate::inflate input parameter cannot be read-only when ConsumeInput is specified");
+    if (s->flags & FLAG_CONSUME_INPUT) {
+        if (SvREADONLY(buf))
+            croak("Compress::Raw::Zlib::Inflate::inflate input parameter cannot be read-only when ConsumeInput is specified");
+        SvPV_force(buf, na);
+    }
 #ifdef UTF8_AVAILABLE    
     if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
          croak("Wide character in Compress::Raw::Zlib::Inflate::inflate input parameter");
@@ -1296,7 +1377,7 @@
 #endif         
     
     /* initialise the input buffer */
-    s->stream.next_in = (Bytef*)SvPVbyte_force(buf, stmp) ;
+    s->stream.next_in = (Bytef*)SvPV_nomg_nolen(buf) ;
     s->stream.avail_in = SvCUR(buf) ;
 	
     /* and retrieve the output buffer */
@@ -1328,7 +1409,7 @@
         */
         if (SvLEN(output) > cur_length + 1)
         {
-            s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length;
+            s->stream.next_out = (Bytef*) SvPV_nomg_nolen(output) + cur_length;
             increment = SvLEN(output) -  cur_length - 1;
             s->stream.avail_out = increment;
         }
@@ -1342,9 +1423,9 @@
     while (RETVAL == Z_OK) {
         if (s->stream.avail_out == 0) {
 	    /* out of space in the output buffer so make it bigger */
-            Sv_Grow(output, SvLEN(output) + bufinc +1) ;
+            s->stream.next_out = (Bytef*) Sv_Grow(output, SvLEN(output) + bufinc +1) ;
             cur_length += increment ;
-            s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length ;
+            s->stream.next_out += cur_length ;
             increment = bufinc ;
             s->stream.avail_out = increment;
             bufinc *= 2 ; 
@@ -1362,7 +1443,7 @@
         if (RETVAL == Z_NEED_DICT && s->dictionary) {
             s->dict_adler = s->stream.adler ;
             RETVAL = inflateSetDictionary(&(s->stream), 
-            (const Bytef*)SvPVbyte_nolen(s->dictionary),
+            (const Bytef*)SvPVX(s->dictionary),
             SvCUR(s->dictionary));
             if (RETVAL == Z_OK)
                 continue;
@@ -1393,9 +1474,9 @@
         s->stream.avail_in = 1;
         if (s->stream.avail_out == 0) {
 	    /* out of space in the output buffer so make it bigger */
-            Sv_Grow(output, SvLEN(output) + bufinc) ;
+            s->stream.next_out = Sv_Grow(output, SvLEN(output) + bufinc) ;
             cur_length += increment ;
-            s->stream.next_out = (Bytef*) SvPVbyte_nolen(output) + cur_length ;
+            s->stream.next_out += cur_length ;
             increment = bufinc ;
             s->stream.avail_out = increment;
             bufinc *= 2 ;
@@ -1425,12 +1506,12 @@
 
         if (s->flags & FLAG_CRC32 )
             s->crc32 = crc32(s->crc32, 
-				(const Bytef*)SvPVbyte_nolen(output)+prefix_length, 
+				(const Bytef*)SvPVX(output)+prefix_length, 
             			SvCUR(output)-prefix_length) ;
 
         if (s->flags & FLAG_ADLER32) 
             s->adler32 = adler32(s->adler32, 
-				(const Bytef*)SvPVbyte_nolen(output)+prefix_length, 
+				(const Bytef*)SvPVX(output)+prefix_length, 
             			SvCUR(output)-prefix_length) ;
 
 	/* fix the input buffer */
@@ -1438,7 +1519,7 @@
 	    in = s->stream.avail_in ;
 	    SvCUR_set(buf, in) ;
 	    if (in)
-	        Move(s->stream.next_in, SvPVbyte_nolen(buf), in, char) ;	
+	        Move(s->stream.next_in, SvPVX(buf), in, char) ;	
             *SvEND(buf) = '\0';
             SvSETMAGIC(buf);
 	}
@@ -1486,7 +1567,7 @@
 #endif         
     
     /* initialise the input buffer */
-    s->stream.next_in = (Bytef*)SvPVbyte_nolen(buf) ;
+    s->stream.next_in = (Bytef*)SvPV_nomg_nolen(buf) ;
     s->stream.avail_in = SvCUR(buf) ;
 	
     /* inflateSync doesn't create any output */
@@ -1501,7 +1582,7 @@
 	unsigned in = s->stream.avail_in ;
  	SvCUR_set(buf, in) ;
  	if (in)
-     	    Move(s->stream.next_in, SvPVbyte_nolen(buf), in, char) ;	
+     	    Move(s->stream.next_in, SvPVX(buf), in, char) ;	
         *SvEND(buf) = '\0';
         SvSETMAGIC(buf);
     }
@@ -1647,7 +1728,6 @@
     bool	eof
     bool	eof_mode = FALSE;
     int    start_len = NO_INIT
-    STRLEN stmp      = NO_INIT
   CODE:
     /* If the input buffer is a reference, dereference it */
 #ifndef MAGIC_APPEND
@@ -1660,7 +1740,7 @@
         croak("Wide character in Compress::Raw::Zlib::InflateScan::scan input parameter");
 #endif         
     /* initialise the input buffer */
-    s->stream.next_in = (Bytef*)SvPVbyte_force(buf, stmp) ;
+    s->stream.next_in = (Bytef*)SvPV_nomg_nolen(buf) ;
     s->stream.avail_in = SvCUR(buf) ;
     start_len = s->stream.avail_in ;
     s->bytesInflated = 0 ; 
@@ -1745,7 +1825,7 @@
             unsigned in = s->stream.avail_in ;
             SvCUR_set(buf, in) ;
             if (in)
-                Move(s->stream.next_in, SvPVbyte_nolen(buf), in, char) ;	
+                Move(s->stream.next_in, SvPVX(buf), in, char) ;	
                 *SvEND(buf) = '\0';
                 SvSETMAGIC(buf);
         }


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/Zlib.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/config.in
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtdef
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtdef	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtdef	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtdef
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtinf
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtinf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtinf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/examples/filtinf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.xs
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/fallback/constants.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,33 +1,66 @@
 
 package Compress::Raw::Zlib;
 
-require 5.004 ;
+require 5.006 ;
 require Exporter;
 use AutoLoader;
 use Carp ;
 
-#use Parse::Parameters;
-
 use strict ;
 use warnings ;
 use bytes ;
-our ($VERSION, $XS_VERSION, @ISA, @EXPORT, $AUTOLOAD);
+our ($VERSION, $XS_VERSION, @ISA, @EXPORT, %EXPORT_TAGS, @EXPORT_OK, $AUTOLOAD, %DEFLATE_CONSTANTS, @DEFLATE_CONSTANTS );
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
 @ISA = qw(Exporter);
+%EXPORT_TAGS = ( flush     => [qw{  
+                                    Z_NO_FLUSH
+                                    Z_PARTIAL_FLUSH
+                                    Z_SYNC_FLUSH
+                                    Z_FULL_FLUSH
+                                    Z_FINISH
+                                    Z_BLOCK
+                              }],
+                 level     => [qw{  
+                                    Z_NO_COMPRESSION
+                                    Z_BEST_SPEED
+                                    Z_BEST_COMPRESSION
+                                    Z_DEFAULT_COMPRESSION
+                              }],
+                 strategy  => [qw{  
+                                    Z_FILTERED
+                                    Z_HUFFMAN_ONLY
+                                    Z_RLE
+                                    Z_FIXED
+                                    Z_DEFAULT_STRATEGY
+                              }],
+                 status   => [qw{  
+                                    Z_OK
+                                    Z_STREAM_END
+                                    Z_NEED_DICT
+                                    Z_ERRNO
+                                    Z_STREAM_ERROR
+                                    Z_DATA_ERROR  
+                                    Z_MEM_ERROR   
+                                    Z_BUF_ERROR 
+                                    Z_VERSION_ERROR 
+                              }],                              
+              );
+
+%DEFLATE_CONSTANTS = %EXPORT_TAGS;
+
 # Items to export into callers namespace by default. Note: do not export
 # names by default without a very good reason. Use EXPORT_OK instead.
 # Do not simply export all your public functions/methods/constants.
+ at DEFLATE_CONSTANTS = 
 @EXPORT = qw(
-        adler32 crc32
-
         ZLIB_VERSION
         ZLIB_VERNUM
 
-        DEF_WBITS
+        
         OS_CODE
 
         MAX_MEM_LEVEL
@@ -68,6 +101,8 @@
         WANT_GZIP_OR_ZLIB
 );
 
+push @EXPORT, qw(crc32 adler32 DEF_WBITS);
+
 use constant WANT_GZIP           => 16;
 use constant WANT_GZIP_OR_ZLIB   => 32;
 
@@ -103,10 +138,10 @@
 use constant Parse_unsigned => 0x02;
 use constant Parse_signed   => 0x04;
 use constant Parse_boolean  => 0x08;
-use constant Parse_string   => 0x10;
-use constant Parse_custom   => 0x12;
+#use constant Parse_string   => 0x10;
+#use constant Parse_custom   => 0x12;
 
-use constant Parse_store_ref => 0x100 ;
+#use constant Parse_store_ref => 0x100 ;
 
 use constant OFF_PARSED     => 0 ;
 use constant OFF_TYPE       => 1 ;
@@ -262,15 +297,15 @@
 
     #local $Carp::CarpLevel = $level ;
     #print "PARSE $type $key $value $validate $sub\n" ;
-    if ( $type & Parse_store_ref)
-    {
-        #$value = $$value
-        #    if ref ${ $value } ;
+#    if ( $type & Parse_store_ref)
+#    {
+#        #$value = $$value
+#        #    if ref ${ $value } ;
+#
+#        $$output = $value ;
+#        return 1;
+#    }
 
-        $$output = $value ;
-        return 1;
-    }
-
     $value = $$value ;
 
     if ($type & Parse_any)
@@ -305,11 +340,11 @@
         $$output =  defined $value ? $value != 0 : 0 ;    
         return 1;
     }
-    elsif ($type & Parse_string)
-    {
-        $$output = defined $value ? $value : "" ;    
-        return 1;
-    }
+#    elsif ($type & Parse_string)
+#    {
+#        $$output = defined $value ? $value : "" ;    
+#        return 1;
+#    }
 
     $$output = $value ;
     return 1;
@@ -340,25 +375,26 @@
     return $self->{Got}{lc $name}[OFF_FIXED] ;
 }
 
+our $OPTIONS_deflate =   
+    {
+        'AppendOutput'  => [1, 1, Parse_boolean,  0],
+        'CRC32'         => [1, 1, Parse_boolean,  0],
+        'ADLER32'       => [1, 1, Parse_boolean,  0],
+        'Bufsize'       => [1, 1, Parse_unsigned, 4096],
+
+        'Level'         => [1, 1, Parse_signed,   Z_DEFAULT_COMPRESSION()],
+        'Method'        => [1, 1, Parse_unsigned, Z_DEFLATED()],
+        'WindowBits'    => [1, 1, Parse_signed,   MAX_WBITS()],
+        'MemLevel'      => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()],
+        'Strategy'      => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()],
+        'Dictionary'    => [1, 1, Parse_any,      ""],
+    };
+
 sub Compress::Raw::Zlib::Deflate::new
 {
     my $pkg = shift ;
-    my ($got) = ParseParameters(0,
-            {
-                'AppendOutput'  => [1, 1, Parse_boolean,  0],
-                'CRC32'         => [1, 1, Parse_boolean,  0],
-                'ADLER32'       => [1, 1, Parse_boolean,  0],
-                'Bufsize'       => [1, 1, Parse_unsigned, 4096],
- 
-                'Level'         => [1, 1, Parse_signed,   Z_DEFAULT_COMPRESSION()],
-                'Method'        => [1, 1, Parse_unsigned, Z_DEFLATED()],
-                'WindowBits'    => [1, 1, Parse_signed,   MAX_WBITS()],
-                'MemLevel'      => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()],
-                'Strategy'      => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()],
-                'Dictionary'    => [1, 1, Parse_any,      ""],
-            }, @_) ;
+    my ($got) = ParseParameters(0, $OPTIONS_deflate, @_);
 
-
     croak "Compress::Raw::Zlib::Deflate::new: Bufsize must be >= 1, you specified " . 
             $got->value('Bufsize')
         unless $got->value('Bufsize') >= 1;
@@ -383,23 +419,37 @@
 
 }
 
+sub Compress::Raw::Zlib::deflateStream::STORABLE_freeze
+{
+    my $type = ref shift;
+    croak "Cannot freeze $type object\n";
+}
+
+sub Compress::Raw::Zlib::deflateStream::STORABLE_thaw
+{
+    my $type = ref shift;
+    croak "Cannot thaw $type object\n";
+}
+
+
+our $OPTIONS_inflate = 
+    {
+        'AppendOutput'  => [1, 1, Parse_boolean,  0],
+        'LimitOutput'   => [1, 1, Parse_boolean,  0],
+        'CRC32'         => [1, 1, Parse_boolean,  0],
+        'ADLER32'       => [1, 1, Parse_boolean,  0],
+        'ConsumeInput'  => [1, 1, Parse_boolean,  1],
+        'Bufsize'       => [1, 1, Parse_unsigned, 4096],
+ 
+        'WindowBits'    => [1, 1, Parse_signed,   MAX_WBITS()],
+        'Dictionary'    => [1, 1, Parse_any,      ""],
+    } ;
+
 sub Compress::Raw::Zlib::Inflate::new
 {
     my $pkg = shift ;
-    my ($got) = ParseParameters(0,
-                    {
-                        'AppendOutput'  => [1, 1, Parse_boolean,  0],
-                        'LimitOutput'   => [1, 1, Parse_boolean,  0],
-                        'CRC32'         => [1, 1, Parse_boolean,  0],
-                        'ADLER32'       => [1, 1, Parse_boolean,  0],
-                        'ConsumeInput'  => [1, 1, Parse_boolean,  1],
-                        'Bufsize'       => [1, 1, Parse_unsigned, 4096],
-                 
-                        'WindowBits'    => [1, 1, Parse_signed,   MAX_WBITS()],
-                        'Dictionary'    => [1, 1, Parse_any,      ""],
-            }, @_) ;
+    my ($got) = ParseParameters(0, $OPTIONS_inflate, @_);
 
-
     croak "Compress::Raw::Zlib::Inflate::new: Bufsize must be >= 1, you specified " . 
             $got->value('Bufsize')
         unless $got->value('Bufsize') >= 1;
@@ -420,6 +470,18 @@
                  $got->value('Dictionary')) ;
 }
 
+sub Compress::Raw::Zlib::inflateStream::STORABLE_freeze
+{
+    my $type = ref shift;
+    croak "Cannot freeze $type object\n";
+}
+
+sub Compress::Raw::Zlib::inflateStream::STORABLE_thaw
+{
+    my $type = ref shift;
+    croak "Cannot thaw $type object\n";
+}
+
 sub Compress::Raw::Zlib::InflateScan::new
 {
     my $pkg = shift ;
@@ -580,6 +642,7 @@
     $crc = crc32_combine($adler1, $adler2, $len2)
 
     my $version = Compress::Raw::Zlib::zlib_version();
+    my $flags = Compress::Raw::Zlib::zlibCompileFlags();
 
 =head1 DESCRIPTION
 
@@ -1241,6 +1304,17 @@
 
 Returns the version of the zlib library.
 
+=head2  my $flags = Compress::Raw::Zlib::zlibCompileFlags();
+
+Returns the flags indicating compile-time options that were used to build 
+the zlib library. See the zlib documentation for a description of the flags
+returned by C<zlibCompileFlags>.
+
+Note that when the zlib sources are built along with this module the
+C<sprintf> flags (bits 24, 25 and 26) should be ignored.
+
+If you are using zlib 1.2.0 or older, C<zlibCompileFlags> will return 0. 
+
 =head1 The LimitOutput option.
 
 By default C<< $i->inflate($input, $output) >> will uncompress I<all> data
@@ -1380,10 +1454,106 @@
 =head1 ACCESSING ZIP FILES
 
 Although it is possible (with some effort on your part) to use this module
-to access .zip files, there are other perl modules available that will
-do all the hard work for you. Check out C<Archive::Zip>,
-C<IO::Compress::Zip> and C<IO::Uncompress::Unzip>.
+to access .zip files, there are other perl modules available that will do
+all the hard work for you. Check out C<Archive::Zip>,
+C<Archive::Zip::SimpleZip>, C<IO::Compress::Zip> and
+C<IO::Uncompress::Unzip>.
 
+=head1 FAQ
+
+=head2 Compatibility with Unix compress/uncompress.
+
+This module is not compatible with Unix C<compress>.
+
+If you have the C<uncompress> program available, you can use this to read
+compressed files
+
+    open F, "uncompress -c $filename |";
+    while (<F>)
+    {
+        ...
+
+Alternatively, if you have the C<gunzip> program available, you can use
+this to read compressed files
+
+    open F, "gunzip -c $filename |";
+    while (<F>)
+    {
+        ...
+
+and this to write compress files, if you have the C<compress> program
+available
+
+    open F, "| compress -c $filename ";
+    print F "data";
+    ...
+    close F ;
+
+=head2 Accessing .tar.Z files
+
+See previous FAQ item.
+
+If the C<Archive::Tar> module is installed and either the C<uncompress> or
+C<gunzip> programs are available, you can use one of these workarounds to
+read C<.tar.Z> files.
+
+Firstly with C<uncompress>
+
+    use strict;
+    use warnings;
+    use Archive::Tar;
+
+    open F, "uncompress -c $filename |";
+    my $tar = Archive::Tar->new(*F);
+    ...
+
+and this with C<gunzip>
+
+    use strict;
+    use warnings;
+    use Archive::Tar;
+
+    open F, "gunzip -c $filename |";
+    my $tar = Archive::Tar->new(*F);
+    ...
+
+Similarly, if the C<compress> program is available, you can use this to
+write a C<.tar.Z> file
+
+    use strict;
+    use warnings;
+    use Archive::Tar;
+    use IO::File;
+
+    my $fh = new IO::File "| compress -c >$filename";
+    my $tar = Archive::Tar->new();
+    ...
+    $tar->write($fh);
+    $fh->close ;
+
+=head2 Zlib Library Version Support
+
+By default C<Compress::Raw::Zlib> will build with a private copy of version
+1.2.5 of the zlib library. (See the F<README> file for details of
+how to override this behaviour)
+
+If you decide to use a different version of the zlib library, you need to be
+aware of the following issues
+
+=over 5
+
+=item *
+
+First off, you must have zlib 1.0.5 or better.
+
+=item *
+
+You need to have zlib 1.2.1 or better if you want to use the C<-Merge>
+option with C<IO::Compress::Gzip>, C<IO::Compress::Deflate> and
+C<IO::Compress::RawDeflate>.
+
+=back
+
 =head1 CONSTANTS
 
 All the I<zlib> constants are automatically imported when you make use
@@ -1393,7 +1563,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1422,7 +1592,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/pod/FAQ.pod
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/pod/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/pod/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/pod/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/01version.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/t/01version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/t/01version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/01version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,13 +24,13 @@
 
     my $count = 0 ;
     if ($] < 5.005) {
-        $count = 230 ;
+        $count = 232 ;
     }
     elsif ($] >= 5.006) {
-        $count = 300 ;
+        $count = 317 ;
     }
     else {
-        $count = 258 ;
+        $count = 275 ;
     }
 
     plan tests => $count + $extra;
@@ -39,6 +39,8 @@
 }
 
 
+my $Zlib_ver = Compress::Raw::Zlib::zlib_version ;
+
 my $hello = <<EOM ;
 hello world
 this is a test
@@ -428,9 +430,13 @@
     
 }
 
+SKIP:
 {
     title 'inflateSync';
 
+    skip "inflateSync needs zlib 1.2.1 or better, you have $Zlib_ver", 22 
+        if ZLIB_VERNUM() < 0x1210 ;
+
     # create a deflate stream with flush points
 
     my $hello = "I am a HAL 9000 computer" x 2001 ;
@@ -728,7 +734,11 @@
     
 }
 
+SKIP:
 {
+    skip "InflateScan needs zlib 1.2.1 or better, you have $Zlib_ver", 1 
+        if ZLIB_VERNUM() < 0x1210 ;
+
     # regression - check that resetLastBlockByte can cope with a NULL
     # pointer.
     Compress::Raw::Zlib::InflateScan->new->resetLastBlockByte(undef);
@@ -735,11 +745,15 @@
     ok 1, "resetLastBlockByte(undef) is ok" ;
 }
 
+SKIP:
 {
 
     title "gzip mode";
     # ================
 
+    skip "gzip mode needs zlib 1.2.1 or better, you have $Zlib_ver", 13 
+        if ZLIB_VERNUM() < 0x1210 ;
+
     my $hello = "I am a HAL 9000 computer" ;
     my @hello = split('', $hello) ;
     my ($err, $x, $X, $status); 
@@ -780,6 +794,7 @@
     is $GOT, $hello, "uncompressed data matches ok" ;
 }
 
+SKIP:
 {
 
     title "gzip error mode";
@@ -788,6 +803,9 @@
     # then read with WANT_GZIP_OR_ZLIB - thi swill work
     # ================
 
+    skip "gzip mode needs zlib 1.2.1 or better, you have $Zlib_ver", 12 
+        if ZLIB_VERNUM() < 0x1210 ;
+
     my $hello = "I am a HAL 9000 computer" ;
     my ($err, $x, $X, $status); 
  
@@ -826,8 +844,8 @@
     is $GOT, $hello, "uncompressed data matches ok" ;
 }
 
+SKIP:
 {
-
     title "gzip/zlib error mode";
     # Create zlib -
     # read with no WANT_GZIP windowbits setting - this will fail
@@ -834,6 +852,9 @@
     # then read with WANT_GZIP_OR_ZLIB - thi swill work
     # ================
 
+    skip "gzip mode needs zlib 1.2.1 or better, you have $Zlib_ver", 12 
+        if ZLIB_VERNUM() < 0x1210 ;
+
     my $hello = "I am a HAL 9000 computer" ;
     my ($err, $x, $X, $status); 
  
@@ -871,6 +892,54 @@
     is $GOT, $hello, "uncompressed data matches ok" ;
 }
 
+{
+    title "zlibCompileFlags";
+
+    my $flags = Compress::Raw::Zlib::zlibCompileFlags;
+
+    if (ZLIB_VERNUM() < 0x1210)
+    {
+        is $flags, 0, "zlibCompileFlags == 0 if < 1.2.1";
+    }
+    else
+    {
+        ok $flags, "zlibCompileFlags != 0 if < 1.2.1";
+    }
+}
+
+{
+    title "repeated calls to flush after some compression";
+
+    my $hello = "I am a HAL 9000 computer" ;
+    my ($err, $x, $X, $status); 
+ 
+    ok( ($x, $err) = new Compress::Raw::Zlib::Deflate ( ), "Create deflate object" );
+    isa_ok $x, "Compress::Raw::Zlib::deflateStream" ;
+    cmp_ok $err, '==', Z_OK, "status is Z_OK" ;
+ 
+    $status = $x->deflate($hello, $X) ;
+    cmp_ok $status, '==', Z_OK, "deflate returned Z_OK" ;
+    
+    cmp_ok  $x->flush($X, Z_SYNC_FLUSH), '==', Z_OK, "flush returned Z_OK" ;    
+    cmp_ok  $x->flush($X, Z_SYNC_FLUSH), '==', Z_OK, "second flush returned Z_OK" ; 
+    is $X, "", "no output from second flush";
+}
+
+{
+    title "repeated calls to flush - no compression";
+
+    my $hello = "I am a HAL 9000 computer" ;
+    my ($err, $x, $X, $status); 
+ 
+    ok( ($x, $err) = new Compress::Raw::Zlib::Deflate ( ), "Create deflate object" );
+    isa_ok $x, "Compress::Raw::Zlib::deflateStream" ;
+    cmp_ok $err, '==', Z_OK, "status is Z_OK" ;
+    
+    cmp_ok  $x->flush($X, Z_SYNC_FLUSH), '==', Z_OK, "flush returned Z_OK" ;    
+    cmp_ok  $x->flush($X, Z_SYNC_FLUSH), '==', Z_OK, "second flush returned Z_OK" ; 
+    is $X, "", "no output from second flush";
+}
+
 exit if $] < 5.006 ;
 
 title 'Looping Append test with substr output - substr the end of the string';


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/02zlib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/07bufsize.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/t/07bufsize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/t/07bufsize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/07bufsize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/09limitoutput.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/t/09limitoutput.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/t/09limitoutput.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/09limitoutput.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/18lvalue.t
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/t/18lvalue.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/t/18lvalue.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/18lvalue.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,6 +25,14 @@
     like $@, @_ ;
 }
 
+BEGIN {
+    eval { 
+       require File::Temp;
+     } ;
+
+}
+
+
 {
     package LexFile ;
 
@@ -36,8 +44,9 @@
         my $self = shift ;
         foreach (@_)
         {
-            # autogenerate the name unless if none supplied
-            $_ = "tst" . $index ++ . ".tmp"
+            Carp::croak "NO!!!!" if defined $_;
+            # autogenerate the name if none supplied
+            $_ = "tst" . $$ . "X" . $index ++ . ".tmp"
                 unless defined $_;
         }
         chmod 0777, @_;
@@ -58,19 +67,70 @@
     package LexDir ;
 
     use File::Path;
+
+    our ($index);
+    $index = '00000';
+    our ($useTempFile) = defined &File::Temp::tempdir;
+    our ($useTempDir) = defined &File::Temp::newdir;
+    
     sub new
     {
         my $self = shift ;
-        foreach (@_) { rmtree $_ }
-        bless [ @_ ], $self ;
+
+        if ( $useTempDir)
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                $_ = File::Temp->newdir(DIR => '.');
+                # Subsequent manipulations assume Unix syntax, metacharacters, etc.
+                if ($^O eq 'VMS')
+                {
+                    $_->{DIRNAME} = VMS::Filespec::unixify($_->{DIRNAME});
+                    $_->{DIRNAME} =~ s/\/$//;
+                }
+            }
+            bless [ @_ ], $self ;
+        }
+        elsif ( $useTempFile)
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                $_ = File::Temp::tempdir(DIR => '.', CLEANUP => 1);
+                # Subsequent manipulations assume Unix syntax, metacharacters, etc.
+                if ($^O eq 'VMS')
+                {
+                    $_ = VMS::Filespec::unixify($_);
+                    $_ =~ s/\/$//;
+                }
+            }
+            bless [ @_ ], $self ;
+        }
+        else
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                # autogenerate the name if none supplied
+                $_ = "tmpdir" . $$ . "X" . $index ++ . ".tmp" ;
+            }
+            foreach (@_) { rmtree $_; mkdir $_, 0777 }
+            bless [ @_ ], $self ;
+        }
+
     }
 
     sub DESTROY
     {
-        my $self = shift ;
-        foreach (@$self) { rmtree $_ }
+        if (! $useTempFile)
+        {
+            my $self = shift ;
+            foreach (@$self) { rmtree $_ }
+        }
     }
 }
+
 sub readFile
 {
     my $f = shift ;


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/t/compress/CompTestUtils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,17 +1,17 @@
 /* adler32.c -- compute the Adler-32 checksum of a data stream
- * Copyright (C) 1995-2007 Mark Adler
+ * Copyright (C) 1995-2011 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
-/* @(#) $Id: adler32.c,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 #include "zutil.h"
 
 #define local static
 
-local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2);
+local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
 
-#define BASE 65521UL    /* largest prime smaller than 65536 */
+#define BASE 65521      /* largest prime smaller than 65536 */
 #define NMAX 5552
 /* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
 
@@ -21,39 +21,44 @@
 #define DO8(buf,i)  DO4(buf,i); DO4(buf,i+4);
 #define DO16(buf)   DO8(buf,0); DO8(buf,8);
 
-/* use NO_DIVIDE if your processor does not do division in hardware */
+/* use NO_DIVIDE if your processor does not do division in hardware --
+   try it both ways to see which is faster */
 #ifdef NO_DIVIDE
-#  define MOD(a) \
+/* note that this assumes BASE is 65521, where 65536 % 65521 == 15
+   (thank you to John Reiser for pointing this out) */
+#  define CHOP(a) \
     do { \
-        if (a >= (BASE << 16)) a -= (BASE << 16); \
-        if (a >= (BASE << 15)) a -= (BASE << 15); \
-        if (a >= (BASE << 14)) a -= (BASE << 14); \
-        if (a >= (BASE << 13)) a -= (BASE << 13); \
-        if (a >= (BASE << 12)) a -= (BASE << 12); \
-        if (a >= (BASE << 11)) a -= (BASE << 11); \
-        if (a >= (BASE << 10)) a -= (BASE << 10); \
-        if (a >= (BASE << 9)) a -= (BASE << 9); \
-        if (a >= (BASE << 8)) a -= (BASE << 8); \
-        if (a >= (BASE << 7)) a -= (BASE << 7); \
-        if (a >= (BASE << 6)) a -= (BASE << 6); \
-        if (a >= (BASE << 5)) a -= (BASE << 5); \
-        if (a >= (BASE << 4)) a -= (BASE << 4); \
-        if (a >= (BASE << 3)) a -= (BASE << 3); \
-        if (a >= (BASE << 2)) a -= (BASE << 2); \
-        if (a >= (BASE << 1)) a -= (BASE << 1); \
+        unsigned long tmp = a >> 16; \
+        a &= 0xffffUL; \
+        a += (tmp << 4) - tmp; \
+    } while (0)
+#  define MOD28(a) \
+    do { \
+        CHOP(a); \
         if (a >= BASE) a -= BASE; \
     } while (0)
-#  define MOD4(a) \
+#  define MOD(a) \
     do { \
-        if (a >= (BASE << 4)) a -= (BASE << 4); \
-        if (a >= (BASE << 3)) a -= (BASE << 3); \
-        if (a >= (BASE << 2)) a -= (BASE << 2); \
-        if (a >= (BASE << 1)) a -= (BASE << 1); \
+        CHOP(a); \
+        MOD28(a); \
+    } while (0)
+#  define MOD63(a) \
+    do { /* this assumes a is not negative */ \
+        z_off64_t tmp = a >> 32; \
+        a &= 0xffffffffL; \
+        a += (tmp << 8) - (tmp << 5) + tmp; \
+        tmp = a >> 16; \
+        a &= 0xffffL; \
+        a += (tmp << 4) - tmp; \
+        tmp = a >> 16; \
+        a &= 0xffffL; \
+        a += (tmp << 4) - tmp; \
         if (a >= BASE) a -= BASE; \
     } while (0)
 #else
 #  define MOD(a) a %= BASE
-#  define MOD4(a) a %= BASE
+#  define MOD28(a) a %= BASE
+#  define MOD63(a) a %= BASE
 #endif
 
 /* ========================================================================= */
@@ -92,7 +97,7 @@
         }
         if (adler >= BASE)
             adler -= BASE;
-        MOD4(sum2);             /* only added so many BASE's */
+        MOD28(sum2);            /* only added so many BASE's */
         return adler | (sum2 << 16);
     }
 
@@ -137,8 +142,13 @@
     unsigned long sum2;
     unsigned rem;
 
+    /* for negative len, return invalid adler32 as a clue for debugging */
+    if (len2 < 0)
+        return 0xffffffffUL;
+
     /* the derivation of this formula is left as an exercise for the reader */
-    rem = (unsigned)(len2 % BASE);
+    MOD63(len2);                /* assumes len2 >= 0 */
+    rem = (unsigned)len2;
     sum1 = adler1 & 0xffff;
     sum2 = rem * sum1;
     MOD(sum2);


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/adler32.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
-/* @(#) $Id: compress.c,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 #define ZLIB_INTERNAL
 #include "zlib.h"


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/compress.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /* crc32.c -- compute the CRC-32 of a data stream
- * Copyright (C) 1995-2006, 2010 Mark Adler
+ * Copyright (C) 1995-2006, 2010, 2011, 2012 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  *
  * Thanks to Rodney Brown <rbrown64 at csc.com.au> for his contribution of faster
@@ -9,7 +9,7 @@
  * factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3.
  */
 
-/* @(#) $Id: crc32.c,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 /*
   Note on the use of DYNAMIC_CRC_TABLE: there is no mutex or semaphore
@@ -17,6 +17,8 @@
   of the crc tables.  Therefore, if you #define DYNAMIC_CRC_TABLE, you should
   first call get_crc_table() to initialize the tables before allowing more than
   one thread to use crc32().
+
+  DYNAMIC_CRC_TABLE and MAKECRCH can be #defined to write out crc32.h.
  */
 
 #ifdef MAKECRCH
@@ -30,31 +32,11 @@
 
 #define local static
 
-/* Find a four-byte integer type for crc32_little() and crc32_big(). */
-#ifndef NOBYFOUR
-#  ifdef STDC           /* need ANSI C limits.h to determine sizes */
-#    include <limits.h>
-#    define BYFOUR
-#    if (UINT_MAX == 0xffffffffUL)
-       typedef unsigned int u4;
-#    else
-#      if (ULONG_MAX == 0xffffffffUL)
-         typedef unsigned long u4;
-#      else
-#        if (USHRT_MAX == 0xffffffffUL)
-           typedef unsigned short u4;
-#        else
-#          undef BYFOUR     /* can't find a four-byte integer type! */
-#        endif
-#      endif
-#    endif
-#  endif /* STDC */
-#endif /* !NOBYFOUR */
-
 /* Definitions for doing the crc four data bytes at a time. */
+#if !defined(NOBYFOUR) && defined(Z_U4)
+#  define BYFOUR
+#endif
 #ifdef BYFOUR
-#  define REV(w) ((((w)>>24)&0xff)+(((w)>>8)&0xff00)+ \
-                (((w)&0xff00)<<8)+(((w)&0xff)<<24))
    local unsigned long crc32_little OF((unsigned long,
                         const unsigned char FAR *, unsigned));
    local unsigned long crc32_big OF((unsigned long,
@@ -68,16 +50,16 @@
 local unsigned long gf2_matrix_times OF((unsigned long *mat,
                                          unsigned long vec));
 local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat));
-local uLong crc32_combine_(uLong crc1, uLong crc2, z_off64_t len2);
+local uLong crc32_combine_ OF((uLong crc1, uLong crc2, z_off64_t len2));
 
 
 #ifdef DYNAMIC_CRC_TABLE
 
 local volatile int crc_table_empty = 1;
-local unsigned long FAR crc_table[TBLS][256];
+local z_crc_t FAR crc_table[TBLS][256];
 local void make_crc_table OF((void));
 #ifdef MAKECRCH
-   local void write_table OF((FILE *, const unsigned long FAR *));
+   local void write_table OF((FILE *, const z_crc_t FAR *));
 #endif /* MAKECRCH */
 /*
   Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
@@ -107,9 +89,9 @@
 */
 local void make_crc_table()
 {
-    unsigned long c;
+    z_crc_t c;
     int n, k;
-    unsigned long poly;                 /* polynomial exclusive-or pattern */
+    z_crc_t poly;                       /* polynomial exclusive-or pattern */
     /* terms of polynomial defining this crc (except x^32): */
     static volatile int first = 1;      /* flag to limit concurrent making */
     static const unsigned char p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
@@ -121,13 +103,13 @@
         first = 0;
 
         /* make exclusive-or pattern from polynomial (0xedb88320UL) */
-        poly = 0UL;
-        for (n = 0; n < sizeof(p)/sizeof(unsigned char); n++)
-            poly |= 1UL << (31 - p[n]);
+        poly = 0;
+        for (n = 0; n < (int)(sizeof(p)/sizeof(unsigned char)); n++)
+            poly |= (z_crc_t)1 << (31 - p[n]);
 
         /* generate a crc for every 8-bit value */
         for (n = 0; n < 256; n++) {
-            c = (unsigned long)n;
+            c = (z_crc_t)n;
             for (k = 0; k < 8; k++)
                 c = c & 1 ? poly ^ (c >> 1) : c >> 1;
             crc_table[0][n] = c;
@@ -138,11 +120,11 @@
            and then the byte reversal of those as well as the first table */
         for (n = 0; n < 256; n++) {
             c = crc_table[0][n];
-            crc_table[4][n] = REV(c);
+            crc_table[4][n] = ZSWAP32(c);
             for (k = 1; k < 4; k++) {
                 c = crc_table[0][c & 0xff] ^ (c >> 8);
                 crc_table[k][n] = c;
-                crc_table[k + 4][n] = REV(c);
+                crc_table[k + 4][n] = ZSWAP32(c);
             }
         }
 #endif /* BYFOUR */
@@ -164,7 +146,7 @@
         if (out == NULL) return;
         fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n");
         fprintf(out, " * Generated automatically by crc32.c\n */\n\n");
-        fprintf(out, "local const unsigned long FAR ");
+        fprintf(out, "local const z_crc_t FAR ");
         fprintf(out, "crc_table[TBLS][256] =\n{\n  {\n");
         write_table(out, crc_table[0]);
 #  ifdef BYFOUR
@@ -184,12 +166,13 @@
 #ifdef MAKECRCH
 local void write_table(
     FILE *out,
-    const unsigned long FAR *table)
+    const z_crc_t FAR *table)
 {
     int n;
 
     for (n = 0; n < 256; n++)
-        fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : "    ", table[n],
+        fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : "    ",
+                (unsigned long)(table[n]),
                 n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", "));
 }
 #endif /* MAKECRCH */
@@ -204,13 +187,13 @@
 /* =========================================================================
  * This function can be used by asm versions of crc32()
  */
-const unsigned long FAR * ZEXPORT get_crc_table()
+const z_crc_t FAR * ZEXPORT get_crc_table()
 {
 #ifdef DYNAMIC_CRC_TABLE
     if (crc_table_empty)
         make_crc_table();
 #endif /* DYNAMIC_CRC_TABLE */
-    return (const unsigned long FAR *)crc_table;
+    return (const z_crc_t FAR *)crc_table;
 }
 
 /* ========================================================================= */
@@ -232,7 +215,7 @@
 
 #ifdef BYFOUR
     if (sizeof(void *) == sizeof(ptrdiff_t)) {
-        u4 endian;
+        z_crc_t endian;
 
         endian = 1;
         if (*((unsigned char *)(&endian)))
@@ -266,10 +249,10 @@
     const unsigned char FAR *buf,
     unsigned len)
 {
-    register u4 c;
-    register const u4 FAR *buf4;
+    register z_crc_t c;
+    register const z_crc_t FAR *buf4;
 
-    c = (u4)crc;
+    c = (z_crc_t)crc;
     c = ~c;
     while (len && ((ptrdiff_t)buf & 3)) {
         c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
@@ -276,7 +259,7 @@
         len--;
     }
 
-    buf4 = (const u4 FAR *)(const void FAR *)buf;
+    buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
     while (len >= 32) {
         DOLIT32;
         len -= 32;
@@ -306,10 +289,10 @@
     const unsigned char FAR *buf,
     unsigned len)
 {
-    register u4 c;
-    register const u4 FAR *buf4;
+    register z_crc_t c;
+    register const z_crc_t FAR *buf4;
 
-    c = REV((u4)crc);
+    c = ZSWAP32((z_crc_t)crc);
     c = ~c;
     while (len && ((ptrdiff_t)buf & 3)) {
         c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
@@ -316,7 +299,7 @@
         len--;
     }
 
-    buf4 = (const u4 FAR *)(const void FAR *)buf;
+    buf4 = (const z_crc_t FAR *)(const void FAR *)buf;
     buf4--;
     while (len >= 32) {
         DOBIG32;
@@ -333,7 +316,7 @@
         c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
     } while (--len);
     c = ~c;
-    return (unsigned long)(REV(c));
+    return (unsigned long)(ZSWAP32(c));
 }
 
 #endif /* BYFOUR */


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
  * Generated automatically by crc32.c
  */
 
-local const unsigned long FAR crc_table[TBLS][256] =
+local const z_crc_t FAR crc_table[TBLS][256] =
 {
   {
     0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL,


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/crc32.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /* deflate.c -- compress data using the deflation algorithm
- * Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
+ * Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -37,7 +37,7 @@
  *  REFERENCES
  *
  *      Deutsch, L.P.,"DEFLATE Compressed Data Format Specification".
- *      Available in http://www.ietf.org/rfc/rfc1951.txt
+ *      Available in http://tools.ietf.org/html/rfc1951
  *
  *      A description of the Rabin and Karp algorithm is given in the book
  *         "Algorithms" by R. Sedgewick, Addison-Wesley, p252.
@@ -47,12 +47,12 @@
  *
  */
 
-/* @(#) $Id: deflate.c,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 #include "deflate.h"
 
 const char deflate_copyright[] =
-   " deflate 1.2.5 Copyright 1995-2010 Jean-loup Gailly and Mark Adler ";
+   " deflate 1.2.7 Copyright 1995-2012 Jean-loup Gailly and Mark Adler ";
 /*
   If you use the zlib library in a product, an acknowledgment is welcome
   in the documentation of your product. If for some reason you cannot
@@ -155,6 +155,9 @@
 struct static_tree_desc_s {int dummy;}; /* for buggy compilers */
 #endif
 
+/* rank Z_BLOCK between Z_NO_FLUSH and Z_PARTIAL_FLUSH */
+#define RANK(f) (((f) << 1) - ((f) > 4 ? 9 : 0))
+
 /* ===========================================================================
  * Update a hash value with the given input byte
  * IN  assertion: all calls to to UPDATE_HASH are made with consecutive
@@ -234,10 +237,19 @@
 
     strm->msg = Z_NULL;
     if (strm->zalloc == (alloc_func)0) {
+#ifdef Z_SOLO
+        return Z_STREAM_ERROR;
+#else
         strm->zalloc = zcalloc;
         strm->opaque = (voidpf)0;
+#endif
     }
-    if (strm->zfree == (free_func)0) strm->zfree = zcfree;
+    if (strm->zfree == (free_func)0)
+#ifdef Z_SOLO
+        return Z_STREAM_ERROR;
+#else
+        strm->zfree = zcfree;
+#endif
 
 #ifdef FASTEST
     if (level != 0) level = 1;
@@ -313,43 +325,70 @@
     uInt  dictLength)
 {
     deflate_state *s;
-    uInt length = dictLength;
-    uInt n;
-    IPos hash_head = 0;
+    uInt str, n;
+    int wrap;
+    unsigned avail;
+    unsigned char *next;
 
-    if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL ||
-        strm->state->wrap == 2 ||
-        (strm->state->wrap == 1 && strm->state->status != INIT_STATE))
+    if (strm == Z_NULL || strm->state == Z_NULL || dictionary == Z_NULL)
         return Z_STREAM_ERROR;
+    s = strm->state;
+    wrap = s->wrap;
+    if (wrap == 2 || (wrap == 1 && s->status != INIT_STATE) || s->lookahead)
+        return Z_STREAM_ERROR;
 
-    s = strm->state;
-    if (s->wrap)
+    /* when using zlib wrappers, compute Adler-32 for provided dictionary */
+    if (wrap == 1)
         strm->adler = adler32(strm->adler, dictionary, dictLength);
+    s->wrap = 0;                    /* avoid computing Adler-32 in read_buf */
 
-    if (length < MIN_MATCH) return Z_OK;
-    if (length > s->w_size) {
-        length = s->w_size;
-        dictionary += dictLength - length; /* use the tail of the dictionary */
+    /* if dictionary would fill window, just replace the history */
+    if (dictLength >= s->w_size) {
+        if (wrap == 0) {            /* already empty otherwise */
+            CLEAR_HASH(s);
+            s->strstart = 0;
+            s->block_start = 0L;
+            s->insert = 0;
+        }
+        dictionary += dictLength - s->w_size;  /* use the tail */
+        dictLength = s->w_size;
     }
-    zmemcpy(s->window, dictionary, length);
-    s->strstart = length;
-    s->block_start = (long)length;
 
-    /* Insert all strings in the hash table (except for the last two bytes).
-     * s->lookahead stays null, so s->ins_h will be recomputed at the next
-     * call of fill_window.
-     */
-    s->ins_h = s->window[0];
-    UPDATE_HASH(s, s->ins_h, s->window[1]);
-    for (n = 0; n <= length - MIN_MATCH; n++) {
-        INSERT_STRING(s, n, hash_head);
+    /* insert dictionary into window and hash */
+    avail = strm->avail_in;
+    next = strm->next_in;
+    strm->avail_in = dictLength;
+    strm->next_in = (Bytef *)dictionary;
+    fill_window(s);
+    while (s->lookahead >= MIN_MATCH) {
+        str = s->strstart;
+        n = s->lookahead - (MIN_MATCH-1);
+        do {
+            UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]);
+#ifndef FASTEST
+            s->prev[str & s->w_mask] = s->head[s->ins_h];
+#endif
+            s->head[s->ins_h] = (Pos)str;
+            str++;
+        } while (--n);
+        s->strstart = str;
+        s->lookahead = MIN_MATCH-1;
+        fill_window(s);
     }
-    if (hash_head) hash_head = 0;  /* to make compiler happy */
+    s->strstart += s->lookahead;
+    s->block_start = (long)s->strstart;
+    s->insert = s->lookahead;
+    s->lookahead = 0;
+    s->match_length = s->prev_length = MIN_MATCH-1;
+    s->match_available = 0;
+    strm->next_in = next;
+    strm->avail_in = avail;
+    s->wrap = wrap;
     return Z_OK;
 }
 
 /* ========================================================================= */
-int ZEXPORT deflateReset (
+int ZEXPORT deflateResetKeep (
     z_streamp strm)
 {
     deflate_state *s;
@@ -379,12 +418,23 @@
     s->last_flush = Z_NO_FLUSH;
 
     _tr_init(s);
-    lm_init(s);
 
     return Z_OK;
 }
 
 /* ========================================================================= */
+int ZEXPORT deflateReset (
+    z_streamp strm)
+{
+    int ret;
+
+    ret = deflateResetKeep(strm);
+    if (ret == Z_OK)
+        lm_init(strm->state);
+    return ret;
+}
+
+/* ========================================================================= */
 int ZEXPORT deflateSetHeader (
     z_streamp strm,
     gz_headerp head)
@@ -396,14 +446,42 @@
 }
 
 /* ========================================================================= */
+int ZEXPORT deflatePending (
+    z_streamp strm,
+    unsigned *pending,
+    int *bits)
+{
+    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    if (pending != Z_NULL)
+        *pending = strm->state->pending;
+    if (bits != Z_NULL)
+        *bits = strm->state->bi_valid;
+    return Z_OK;
+}
+
+/* ========================================================================= */
 int ZEXPORT deflatePrime (
     z_streamp strm,
     int bits,
     int value)
 {
+    deflate_state *s;
+    int put;
+
     if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
-    strm->state->bi_valid = bits;
-    strm->state->bi_buf = (ush)(value & ((1 << bits) - 1));
+    s = strm->state;
+    if ((Bytef *)(s->d_buf) < s->pending_out + ((Buf_size + 7) >> 3))
+        return Z_BUF_ERROR;
+    do {
+        put = Buf_size - s->bi_valid;
+        if (put > bits)
+            put = bits;
+        s->bi_buf |= (ush)((value & ((1 << put) - 1)) << s->bi_valid);
+        s->bi_valid += put;
+        _tr_flush_bits(s);
+        value >>= put;
+        bits -= put;
+    } while (bits);
     return Z_OK;
 }
 
@@ -561,19 +639,22 @@
 local void flush_pending(
     z_streamp strm)
 {
-    unsigned len = strm->state->pending;
+    unsigned len;
+    deflate_state *s = strm->state;
 
+    _tr_flush_bits(s);
+    len = s->pending;
     if (len > strm->avail_out) len = strm->avail_out;
     if (len == 0) return;
 
-    zmemcpy(strm->next_out, strm->state->pending_out, len);
+    zmemcpy(strm->next_out, s->pending_out, len);
     strm->next_out  += len;
-    strm->state->pending_out  += len;
+    s->pending_out  += len;
     strm->total_out += len;
     strm->avail_out  -= len;
-    strm->state->pending -= len;
-    if (strm->state->pending == 0) {
-        strm->state->pending_out = strm->state->pending_buf;
+    s->pending -= len;
+    if (s->pending == 0) {
+        s->pending_out = s->pending_buf;
     }
 }
 
@@ -800,7 +881,7 @@
      * flushes. For repeated and useless calls with Z_FINISH, we keep
      * returning Z_STREAM_END instead of Z_BUF_ERROR.
      */
-    } else if (strm->avail_in == 0 && flush <= old_flush &&
+    } else if (strm->avail_in == 0 && RANK(flush) <= RANK(old_flush) &&
                flush != Z_FINISH) {
         ERR_RETURN(strm, Z_BUF_ERROR);
     }
@@ -849,6 +930,7 @@
                     if (s->lookahead == 0) {
                         s->strstart = 0;
                         s->block_start = 0L;
+                        s->insert = 0;
                     }
                 }
             }
@@ -944,12 +1026,12 @@
 
     ss = source->state;
 
-    zmemcpy(dest, source, sizeof(z_stream));
+    zmemcpy((Bytef*)dest, (Bytef*)source, sizeof(z_stream));
 
     ds = (deflate_state *) ZALLOC(dest, 1, sizeof(deflate_state));
     if (ds == Z_NULL) return Z_MEM_ERROR;
     dest->state = (struct internal_state FAR *) ds;
-    zmemcpy(ds, ss, sizeof(deflate_state));
+    zmemcpy((Bytef*)ds, (Bytef*)ss, sizeof(deflate_state));
     ds->strm = dest;
 
     ds->window = (Bytef *) ZALLOC(dest, ds->w_size, 2*sizeof(Byte));
@@ -965,8 +1047,8 @@
     }
     /* following zmemcpy do not work for 16-bit MSDOS */
     zmemcpy(ds->window, ss->window, ds->w_size * 2 * sizeof(Byte));
-    zmemcpy(ds->prev, ss->prev, ds->w_size * sizeof(Pos));
-    zmemcpy(ds->head, ss->head, ds->hash_size * sizeof(Pos));
+    zmemcpy((Bytef*)ds->prev, (Bytef*)ss->prev, ds->w_size * sizeof(Pos));
+    zmemcpy((Bytef*)ds->head, (Bytef*)ss->head, ds->hash_size * sizeof(Pos));
     zmemcpy(ds->pending_buf, ss->pending_buf, (uInt)ds->pending_buf_size);
 
     ds->pending_out = ds->pending_buf + (ss->pending_out - ss->pending_buf);
@@ -1000,15 +1082,15 @@
 
     strm->avail_in  -= len;
 
+    zmemcpy(buf, strm->next_in, len);
     if (strm->state->wrap == 1) {
-        strm->adler = adler32(strm->adler, strm->next_in, len);
+        strm->adler = adler32(strm->adler, buf, len);
     }
 #ifdef GZIP
     else if (strm->state->wrap == 2) {
-        strm->adler = crc32(strm->adler, strm->next_in, len);
+        strm->adler = crc32(strm->adler, buf, len);
     }
 #endif
-    zmemcpy(buf, strm->next_in, len);
     strm->next_in  += len;
     strm->total_in += len;
 
@@ -1035,6 +1117,7 @@
     s->strstart = 0;
     s->block_start = 0L;
     s->lookahead = 0;
+    s->insert = 0;
     s->match_length = s->prev_length = MIN_MATCH-1;
     s->match_available = 0;
     s->ins_h = 0;
@@ -1310,6 +1393,8 @@
     unsigned more;    /* Amount of free space at the end of the window. */
     uInt wsize = s->w_size;
 
+    Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead");
+
     do {
         more = (unsigned)(s->window_size -(ulg)s->lookahead -(ulg)s->strstart);
 
@@ -1362,7 +1447,7 @@
 #endif
             more += wsize;
         }
-        if (s->strm->avail_in == 0) return;
+        if (s->strm->avail_in == 0) break;
 
         /* If there was no sliding:
          *    strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&
@@ -1381,12 +1466,24 @@
         s->lookahead += n;
 
         /* Initialize the hash value now that we have some input: */
-        if (s->lookahead >= MIN_MATCH) {
-            s->ins_h = s->window[s->strstart];
-            UPDATE_HASH(s, s->ins_h, s->window[s->strstart+1]);
+        if (s->lookahead + s->insert >= MIN_MATCH) {
+            uInt str = s->strstart - s->insert;
+            s->ins_h = s->window[str];
+            UPDATE_HASH(s, s->ins_h, s->window[str + 1]);
 #if MIN_MATCH != 3
             Call UPDATE_HASH() MIN_MATCH-3 more times
 #endif
+            while (s->insert) {
+                UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]);
+#ifndef FASTEST
+                s->prev[str & s->w_mask] = s->head[s->ins_h];
+#endif
+                s->head[s->ins_h] = (Pos)str;
+                str++;
+                s->insert--;
+                if (s->lookahead + s->insert < MIN_MATCH)
+                    break;
+            }
         }
         /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,
          * but this is not important since only literal bytes will be emitted.
@@ -1427,6 +1524,9 @@
             s->high_water += init;
         }
     }
+
+    Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,
+           "not enough room for search");
 }
 
 /* ===========================================================================
@@ -1506,8 +1606,14 @@
             FLUSH_BLOCK(s, 0);
         }
     }
-    FLUSH_BLOCK(s, flush == Z_FINISH);
-    return flush == Z_FINISH ? finish_done : block_done;
+    s->insert = 0;
+    if (flush == Z_FINISH) {
+        FLUSH_BLOCK(s, 1);
+        return finish_done;
+    }
+    if ((long)s->strstart > s->block_start)
+        FLUSH_BLOCK(s, 0);
+    return block_done;
 }
 
 /* ===========================================================================
@@ -1603,8 +1709,14 @@
         }
         if (bflush) FLUSH_BLOCK(s, 0);
     }
-    FLUSH_BLOCK(s, flush == Z_FINISH);
-    return flush == Z_FINISH ? finish_done : block_done;
+    s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
+    if (flush == Z_FINISH) {
+        FLUSH_BLOCK(s, 1);
+        return finish_done;
+    }
+    if (s->last_lit)
+        FLUSH_BLOCK(s, 0);
+    return block_done;
 }
 
 #ifndef FASTEST
@@ -1728,8 +1840,14 @@
         _tr_tally_lit(s, s->window[s->strstart-1], bflush);
         s->match_available = 0;
     }
-    FLUSH_BLOCK(s, flush == Z_FINISH);
-    return flush == Z_FINISH ? finish_done : block_done;
+    s->insert = s->strstart < MIN_MATCH-1 ? s->strstart : MIN_MATCH-1;
+    if (flush == Z_FINISH) {
+        FLUSH_BLOCK(s, 1);
+        return finish_done;
+    }
+    if (s->last_lit)
+        FLUSH_BLOCK(s, 0);
+    return block_done;
 }
 #endif /* FASTEST */
 
@@ -1749,11 +1867,11 @@
     for (;;) {
         /* Make sure that we always have enough lookahead, except
          * at the end of the input file. We need MAX_MATCH bytes
-         * for the longest encodable run.
+         * for the longest run, plus one for the unrolled loop.
          */
-        if (s->lookahead < MAX_MATCH) {
+        if (s->lookahead <= MAX_MATCH) {
             fill_window(s);
-            if (s->lookahead < MAX_MATCH && flush == Z_NO_FLUSH) {
+            if (s->lookahead <= MAX_MATCH && flush == Z_NO_FLUSH) {
                 return need_more;
             }
             if (s->lookahead == 0) break; /* flush the current block */
@@ -1776,6 +1894,7 @@
                 if (s->match_length > s->lookahead)
                     s->match_length = s->lookahead;
             }
+            Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan");
         }
 
         /* Emit match if have run of MIN_MATCH or longer, else emit literal */
@@ -1796,8 +1915,14 @@
         }
         if (bflush) FLUSH_BLOCK(s, 0);
     }
-    FLUSH_BLOCK(s, flush == Z_FINISH);
-    return flush == Z_FINISH ? finish_done : block_done;
+    s->insert = 0;
+    if (flush == Z_FINISH) {
+        FLUSH_BLOCK(s, 1);
+        return finish_done;
+    }
+    if (s->last_lit)
+        FLUSH_BLOCK(s, 0);
+    return block_done;
 }
 
 /* ===========================================================================
@@ -1829,6 +1954,12 @@
         s->strstart++;
         if (bflush) FLUSH_BLOCK(s, 0);
     }
-    FLUSH_BLOCK(s, flush == Z_FINISH);
-    return flush == Z_FINISH ? finish_done : block_done;
+    s->insert = 0;
+    if (flush == Z_FINISH) {
+        FLUSH_BLOCK(s, 1);
+        return finish_done;
+    }
+    if (s->last_lit)
+        FLUSH_BLOCK(s, 0);
+    return block_done;
 }


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /* deflate.h -- internal compression state
- * Copyright (C) 1995-2010 Jean-loup Gailly
+ * Copyright (C) 1995-2012 Jean-loup Gailly
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -8,7 +8,7 @@
    subject to change. Applications should only use zlib.h.
  */
 
-/* @(#) $Id: deflate.h,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 #ifndef DEFLATE_H
 #define DEFLATE_H
@@ -48,6 +48,9 @@
 #define MAX_BITS 15
 /* All codes must not exceed MAX_BITS bits */
 
+#define Buf_size 16
+/* size of bit buffer in bi_buf */
+
 #define INIT_STATE    42
 #define EXTRA_STATE   69
 #define NAME_STATE    73
@@ -188,7 +191,7 @@
     int nice_match; /* Stop searching when current match exceeds this */
 
                 /* used by trees.c: */
-    /* Didn't use ct_data typedef below to supress compiler warning */
+    /* Didn't use ct_data typedef below to suppress compiler warning */
     struct ct_data_s dyn_ltree[HEAP_SIZE];   /* literal and length tree */
     struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
     struct ct_data_s bl_tree[2*BL_CODES+1];  /* Huffman tree for bit lengths */
@@ -244,7 +247,7 @@
     ulg opt_len;        /* bit length of current block with optimal trees */
     ulg static_len;     /* bit length of current block with static trees */
     uInt matches;       /* number of string matches in current block */
-    int last_eob_len;   /* bit length of EOB code for last block */
+    uInt insert;        /* bytes at end of window left to insert */
 
 #ifdef DEBUG
     ulg compressed_len; /* total bit length of compressed file mod 2^32 */
@@ -294,6 +297,7 @@
 int ZLIB_INTERNAL _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
 void ZLIB_INTERNAL _tr_flush_block OF((deflate_state *s, charf *buf,
                         ulg stored_len, int last));
+void ZLIB_INTERNAL _tr_flush_bits OF((deflate_state *s));
 void ZLIB_INTERNAL _tr_align OF((deflate_state *s));
 void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
                         ulg stored_len, int last));


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/deflate.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /* infback.c -- inflate using a call-back interface
- * Copyright (C) 1995-2009 Mark Adler
+ * Copyright (C) 1995-2011 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -42,10 +42,19 @@
         return Z_STREAM_ERROR;
     strm->msg = Z_NULL;                 /* in case we return an error */
     if (strm->zalloc == (alloc_func)0) {
+#ifdef Z_SOLO
+        return Z_STREAM_ERROR;
+#else
         strm->zalloc = zcalloc;
         strm->opaque = (voidpf)0;
+#endif
     }
-    if (strm->zfree == (free_func)0) strm->zfree = zcfree;
+    if (strm->zfree == (free_func)0)
+#ifdef Z_SOLO
+        return Z_STREAM_ERROR;
+#else
+    strm->zfree = zcfree;
+#endif
     state = (struct inflate_state FAR *)ZALLOC(strm, 1,
                                                sizeof(struct inflate_state));
     if (state == Z_NULL) return Z_MEM_ERROR;
@@ -394,7 +403,6 @@
                     PULLBYTE();
                 }
                 if (here.val < 16) {
-                    NEEDBITS(here.bits);
                     DROPBITS(here.bits);
                     state->lens[state->have++] = here.val;
                 }


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/infback.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffast.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffixed.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffixed.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffixed.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,9 +2,9 @@
      * Generated automatically by makefixed().
      */
 
-    /* WARNING: this file should *not* be used by applications. It
-       is part of the implementation of the compression library and
-       is subject to change. Applications should only use zlib.h.
+    /* WARNING: this file should *not* be used by applications.
+       It is part of the implementation of this library and is
+       subject to change. Applications should only use zlib.h.
      */
 
     static const code lenfix[512] = {


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inffixed.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /* inflate.c -- zlib decompression
- * Copyright (C) 1995-2010 Mark Adler
+ * Copyright (C) 1995-2012 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -100,7 +100,7 @@
 local unsigned syncsearch OF((unsigned FAR *have, unsigned char FAR *buf,
                               unsigned len));
 
-int ZEXPORT inflateReset(
+int ZEXPORT inflateResetKeep(
     z_streamp strm)
 {
     struct inflate_state FAR *state;
@@ -109,15 +109,13 @@
     state = (struct inflate_state FAR *)strm->state;
     strm->total_in = strm->total_out = state->total = 0;
     strm->msg = Z_NULL;
-    strm->adler = 1;        /* to support ill-conceived Java test suite */
+    if (state->wrap)        /* to support ill-conceived Java test suite */
+        strm->adler = state->wrap & 1;
     state->mode = HEAD;
     state->last = 0;
     state->havedict = 0;
     state->dmax = 32768U;
     state->head = Z_NULL;
-    state->wsize = 0;
-    state->whave = 0;
-    state->wnext = 0;
     state->hold = 0;
     state->bits = 0;
     state->lencode = state->distcode = state->next = state->codes;
@@ -127,6 +125,19 @@
     return Z_OK;
 }
 
+int ZEXPORT inflateReset(
+    z_streamp strm)
+{
+    struct inflate_state FAR *state;
+
+    if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
+    state = (struct inflate_state FAR *)strm->state;
+    state->wsize = 0;
+    state->whave = 0;
+    state->wnext = 0;
+    return inflateResetKeep(strm);
+}
+
 int ZEXPORT inflateReset2(
     z_streamp strm,
     int windowBits)
@@ -180,10 +191,19 @@
     if (strm == Z_NULL) return Z_STREAM_ERROR;
     strm->msg = Z_NULL;                 /* in case we return an error */
     if (strm->zalloc == (alloc_func)0) {
+#ifdef Z_SOLO
+        return Z_STREAM_ERROR;
+#else
         strm->zalloc = zcalloc;
         strm->opaque = (voidpf)0;
+#endif
     }
-    if (strm->zfree == (free_func)0) strm->zfree = zcfree;
+    if (strm->zfree == (free_func)0)
+#ifdef Z_SOLO
+        return Z_STREAM_ERROR;
+#else
+        strm->zfree = zcfree;
+#endif
     state = (struct inflate_state FAR *)
             ZALLOC(strm, 1, sizeof(struct inflate_state));
     if (state == Z_NULL) return Z_MEM_ERROR;
@@ -321,8 +341,8 @@
     low = 0;
     for (;;) {
         if ((low % 7) == 0) printf("\n        ");
-        printf("{%u,%u,%d}", state.lencode[low].op, state.lencode[low].bits,
-               state.lencode[low].val);
+        printf("{%u,%u,%d}", (low & 127) == 99 ? 64 : state.lencode[low].op,
+               state.lencode[low].bits, state.lencode[low].val);
         if (++low == size) break;
         putchar(',');
     }
@@ -499,11 +519,6 @@
         bits -= bits & 7; \
     } while (0)
 
-/* Reverse the bytes in a 32-bit value */
-#define REVERSE(q) \
-    ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
-     (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
-
 /*
    inflate() uses a state machine to process as much input data and generate as
    much output data as possible before returning.  The state machine is
@@ -797,7 +812,7 @@
 #endif
         case DICTID:
             NEEDBITS(32);
-            strm->adler = state->check = REVERSE(hold);
+            strm->adler = state->check = ZSWAP32(hold);
             INITBITS();
             state->mode = DICT;
         case DICT:
@@ -925,7 +940,6 @@
                     PULLBYTE();
                 }
                 if (here.val < 16) {
-                    NEEDBITS(here.bits);
                     DROPBITS(here.bits);
                     state->lens[state->have++] = here.val;
                 }
@@ -1170,7 +1184,7 @@
 #ifdef GUNZIP
                      state->flags ? hold :
 #endif
-                     REVERSE(hold)) != state->check) {
+                     ZSWAP32(hold)) != state->check) {
                     strm->msg = (char *)"incorrect data check";
                     state->mode = BAD;
                     break;
@@ -1214,7 +1228,8 @@
      */
   inf_leave:
     RESTORE();
-    if (state->wsize || (state->mode < CHECK && out != strm->avail_out))
+    if (state->wsize || (out != strm->avail_out && state->mode < BAD &&
+            (state->mode < CHECK || flush != Z_FINISH)))
         if (updatewindow(strm, out)) {
             state->mode = MEM;
             return Z_MEM_ERROR;
@@ -1255,7 +1270,10 @@
     uInt dictLength)
 {
     struct inflate_state FAR *state;
-    unsigned long id;
+    unsigned long dictid;
+    unsigned char *next;
+    unsigned avail;
+    int ret;
 
     /* check state */
     if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR;
@@ -1263,29 +1281,27 @@
     if (state->wrap != 0 && state->mode != DICT)
         return Z_STREAM_ERROR;
 
-    /* check for correct dictionary id */
+    /* check for correct dictionary identifier */
     if (state->mode == DICT) {
-        id = adler32(0L, Z_NULL, 0);
-        id = adler32(id, dictionary, dictLength);
-        if (id != state->check)
+        dictid = adler32(0L, Z_NULL, 0);
+        dictid = adler32(dictid, dictionary, dictLength);
+        if (dictid != state->check)
             return Z_DATA_ERROR;
     }
 
-    /* copy dictionary to window */
-    if (updatewindow(strm, strm->avail_out)) {
+    /* copy dictionary to window using updatewindow(), which will amend the
+       existing dictionary if appropriate */
+    next = strm->next_out;
+    avail = strm->avail_out;
+    strm->next_out = (Bytef *)dictionary + dictLength;
+    strm->avail_out = 0;
+    ret = updatewindow(strm, dictLength);
+    strm->avail_out = avail;
+    strm->next_out = next;
+    if (ret) {
         state->mode = MEM;
         return Z_MEM_ERROR;
     }
-    if (dictLength > state->wsize) {
-        zmemcpy(state->window, dictionary + dictLength - state->wsize,
-                state->wsize);
-        state->whave = state->wsize;
-    }
-    else {
-        zmemcpy(state->window + state->wsize - dictLength, dictionary,
-                dictLength);
-        state->whave = dictLength;
-    }
     state->havedict = 1;
     Tracev((stderr, "inflate:   dictionary set\n"));
     return Z_OK;
@@ -1433,8 +1449,8 @@
     }
 
     /* copy state */
-    zmemcpy(dest, source, sizeof(z_stream));
-    zmemcpy(copy, state, sizeof(struct inflate_state));
+    zmemcpy((Bytef*)dest, (Bytef*)source, sizeof(z_stream));
+    zmemcpy((Bytef*)copy, (Bytef*)state, sizeof(struct inflate_state));
     if (state->lencode >= state->codes &&
         state->lencode <= state->codes + ENOUGH - 1) {
         copy->lencode = copy->codes + (state->lencode - state->codes);


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inflate.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /* inftrees.c -- generate Huffman trees for efficient decoding
- * Copyright (C) 1995-2010 Mark Adler
+ * Copyright (C) 1995-2012 Mark Adler
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -9,7 +9,7 @@
 #define MAXBITS 15
 
 const char inflate_copyright[] =
-   " inflate 1.2.5 Copyright 1995-2010 Mark Adler ";
+   " inflate 1.2.7 Copyright 1995-2012 Mark Adler ";
 /*
   If you use the zlib library in a product, an acknowledgment is welcome
   in the documentation of your product. If for some reason you cannot
@@ -62,7 +62,7 @@
         35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
     static const unsigned short lext[31] = { /* Length codes 257..285 extra */
         16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
-        19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 73, 195};
+        19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 78, 68};
     static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
         1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
         257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
@@ -289,38 +289,14 @@
         }
     }
 
-    /*
-       Fill in rest of table for incomplete codes.  This loop is similar to the
-       loop above in incrementing huff for table indices.  It is assumed that
-       len is equal to curr + drop, so there is no loop needed to increment
-       through high index bits.  When the current sub-table is filled, the loop
-       drops back to the root table to fill in any remaining entries there.
-     */
-    here.op = (unsigned char)64;                /* invalid code marker */
-    here.bits = (unsigned char)(len - drop);
-    here.val = (unsigned short)0;
-    while (huff != 0) {
-        /* when done with sub-table, drop back to root table */
-        if (drop != 0 && (huff & mask) != low) {
-            drop = 0;
-            len = root;
-            next = *table;
-            here.bits = (unsigned char)len;
-        }
-
-        /* put invalid code marker in table */
-        next[huff >> drop] = here;
-
-        /* backwards increment the len-bit code huff */
-        incr = 1U << (len - 1);
-        while (huff & incr)
-            incr >>= 1;
-        if (incr != 0) {
-            huff &= incr - 1;
-            huff += incr;
-        }
-        else
-            huff = 0;
+    /* fill in remaining table entry if code is incomplete (guaranteed to have
+       at most one remaining entry, since if the code is incomplete, the
+       maximum code length that was allowed to get this far is one bit) */
+    if (huff != 0) {
+        here.op = (unsigned char)64;            /* invalid code marker */
+        here.bits = (unsigned char)(len - drop);
+        here.val = (unsigned short)0;
+        next[huff] = here;
     }
 
     /* set return parameters */


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/inftrees.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /* trees.c -- output deflated data using Huffman coding
- * Copyright (C) 1995-2010 Jean-loup Gailly
+ * Copyright (C) 1995-2012 Jean-loup Gailly
  * detect_data_type() function provided freely by Cosmin Truta, 2006
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
@@ -30,7 +30,7 @@
  *          Addison-Wesley, 1983. ISBN 0-201-06672-6.
  */
 
-/* @(#) $Id: trees.c,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 /* #define GEN_TREES_H */
 
@@ -74,11 +74,6 @@
  * probability, to avoid transmitting the lengths for unused bit length codes.
  */
 
-#define Buf_size (8 * 2*sizeof(char))
-/* Number of bits used within bi_buf. (bi_buf might be implemented on
- * more than 16 bits on some systems.)
- */
-
 /* ===========================================================================
  * Local data. These are initialized only once.
  */
@@ -399,7 +394,6 @@
 
     s->bi_buf = 0;
     s->bi_valid = 0;
-    s->last_eob_len = 8; /* enough lookahead for inflate */
 #ifdef DEBUG
     s->compressed_len = 0L;
     s->bits_sent = 0L;
@@ -885,15 +879,17 @@
 }
 
 /* ===========================================================================
+ * Flush the bits in the bit buffer to pending output (leaves at most 7 bits)
+ */
+void ZLIB_INTERNAL _tr_flush_bits(
+    deflate_state *s)
+{
+    bi_flush(s);
+}
+
+/* ===========================================================================
  * Send one empty static block to give enough lookahead for inflate.
  * This takes 10 bits, of which 7 may remain in the bit buffer.
- * The current inflate code requires 9 bits of lookahead. If the
- * last two codes for the previous block (real code plus EOB) were coded
- * on 5 bits or less, inflate may have only 5+3 bits of lookahead to decode
- * the last real code. In this case we send two empty static blocks instead
- * of one. (There are no problems if the previous block is stored or fixed.)
- * To simplify the code, we assume the worst case of last real code encoded
- * on one bit only.
  */
 void ZLIB_INTERNAL _tr_align(
     deflate_state *s)
@@ -904,20 +900,6 @@
     s->compressed_len += 10L; /* 3 for block type, 7 for EOB */
 #endif
     bi_flush(s);
-    /* Of the 10 bits for the empty block, we have already sent
-     * (10 - bi_valid) bits. The lookahead for the last real code (before
-     * the EOB of the previous block) was thus at least one plus the length
-     * of the EOB plus what we have just sent of the empty static block.
-     */
-    if (1 + s->last_eob_len + 10 - s->bi_valid < 9) {
-        send_bits(s, STATIC_TREES<<1, 3);
-        send_code(s, END_BLOCK, static_ltree);
-#ifdef DEBUG
-        s->compressed_len += 10L;
-#endif
-        bi_flush(s);
-    }
-    s->last_eob_len = 7;
 }
 
 /* ===========================================================================
@@ -1120,7 +1102,6 @@
     } while (lx < s->last_lit);
 
     send_code(s, END_BLOCK, ltree);
-    s->last_eob_len = ltree[END_BLOCK].Len;
 }
 
 /* ===========================================================================
@@ -1228,7 +1209,6 @@
     int      header)
 {
     bi_windup(s);        /* align on byte boundary */
-    s->last_eob_len = 8; /* enough lookahead for inflate */
 
     if (header) {
         put_short(s, (ush)len);


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/trees.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
-/* @(#) $Id: uncompr.c,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 #define ZLIB_INTERNAL
 #include "zlib.h"


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/uncompr.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,9 @@
 /* zconf.h -- configuration of the zlib compression library
- * Copyright (C) 1995-2010 Jean-loup Gailly.
+ * Copyright (C) 1995-2012 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
-/* @(#) $Id: zconf.h,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 #ifndef ZCONF_H
 #define ZCONF_H
@@ -15,6 +15,7 @@
  * this permanently in zconf.h using "./configure --zprefix".
  */
 #ifdef Z_PREFIX     /* may be set to #if 1 by ./configure */
+#  define Z_PREFIX_SET
 
 /* all linked symbols */
 #  define _dist_code            z__dist_code
@@ -27,9 +28,11 @@
 #  define adler32               z_adler32
 #  define adler32_combine       z_adler32_combine
 #  define adler32_combine64     z_adler32_combine64
-#  define compress              z_compress
-#  define compress2             z_compress2
-#  define compressBound         z_compressBound
+#  ifndef Z_SOLO
+#    define compress              z_compress
+#    define compress2             z_compress2
+#    define compressBound         z_compressBound
+#  endif
 #  define crc32                 z_crc32
 #  define crc32_combine         z_crc32_combine
 #  define crc32_combine64       z_crc32_combine64
@@ -40,44 +43,52 @@
 #  define deflateInit2_         z_deflateInit2_
 #  define deflateInit_          z_deflateInit_
 #  define deflateParams         z_deflateParams
+#  define deflatePending        z_deflatePending
 #  define deflatePrime          z_deflatePrime
 #  define deflateReset          z_deflateReset
+#  define deflateResetKeep      z_deflateResetKeep
 #  define deflateSetDictionary  z_deflateSetDictionary
 #  define deflateSetHeader      z_deflateSetHeader
 #  define deflateTune           z_deflateTune
 #  define deflate_copyright     z_deflate_copyright
 #  define get_crc_table         z_get_crc_table
-#  define gz_error              z_gz_error
-#  define gz_intmax             z_gz_intmax
-#  define gz_strwinerror        z_gz_strwinerror
-#  define gzbuffer              z_gzbuffer
-#  define gzclearerr            z_gzclearerr
-#  define gzclose               z_gzclose
-#  define gzclose_r             z_gzclose_r
-#  define gzclose_w             z_gzclose_w
-#  define gzdirect              z_gzdirect
-#  define gzdopen               z_gzdopen
-#  define gzeof                 z_gzeof
-#  define gzerror               z_gzerror
-#  define gzflush               z_gzflush
-#  define gzgetc                z_gzgetc
-#  define gzgets                z_gzgets
-#  define gzoffset              z_gzoffset
-#  define gzoffset64            z_gzoffset64
-#  define gzopen                z_gzopen
-#  define gzopen64              z_gzopen64
-#  define gzprintf              z_gzprintf
-#  define gzputc                z_gzputc
-#  define gzputs                z_gzputs
-#  define gzread                z_gzread
-#  define gzrewind              z_gzrewind
-#  define gzseek                z_gzseek
-#  define gzseek64              z_gzseek64
-#  define gzsetparams           z_gzsetparams
-#  define gztell                z_gztell
-#  define gztell64              z_gztell64
-#  define gzungetc              z_gzungetc
-#  define gzwrite               z_gzwrite
+#  ifndef Z_SOLO
+#    define gz_error              z_gz_error
+#    define gz_intmax             z_gz_intmax
+#    define gz_strwinerror        z_gz_strwinerror
+#    define gzbuffer              z_gzbuffer
+#    define gzclearerr            z_gzclearerr
+#    define gzclose               z_gzclose
+#    define gzclose_r             z_gzclose_r
+#    define gzclose_w             z_gzclose_w
+#    define gzdirect              z_gzdirect
+#    define gzdopen               z_gzdopen
+#    define gzeof                 z_gzeof
+#    define gzerror               z_gzerror
+#    define gzflush               z_gzflush
+#    define gzgetc                z_gzgetc
+#    define gzgetc_               z_gzgetc_
+#    define gzgets                z_gzgets
+#    define gzoffset              z_gzoffset
+#    define gzoffset64            z_gzoffset64
+#    define gzopen                z_gzopen
+#    define gzopen64              z_gzopen64
+#    ifdef _WIN32
+#      define gzopen_w              z_gzopen_w
+#    endif
+#    define gzprintf              z_gzprintf
+#    define gzputc                z_gzputc
+#    define gzputs                z_gzputs
+#    define gzread                z_gzread
+#    define gzrewind              z_gzrewind
+#    define gzseek                z_gzseek
+#    define gzseek64              z_gzseek64
+#    define gzsetparams           z_gzsetparams
+#    define gztell                z_gztell
+#    define gztell64              z_gztell64
+#    define gzungetc              z_gzungetc
+#    define gzwrite               z_gzwrite
+#  endif
 #  define inflate               z_inflate
 #  define inflateBack           z_inflateBack
 #  define inflateBackEnd        z_inflateBackEnd
@@ -95,13 +106,18 @@
 #  define inflateSync           z_inflateSync
 #  define inflateSyncPoint      z_inflateSyncPoint
 #  define inflateUndermine      z_inflateUndermine
+#  define inflateResetKeep      z_inflateResetKeep
 #  define inflate_copyright     z_inflate_copyright
 #  define inflate_fast          z_inflate_fast
 #  define inflate_table         z_inflate_table
-#  define uncompress            z_uncompress
+#  ifndef Z_SOLO
+#    define uncompress            z_uncompress
+#  endif
 #  define zError                z_zError
-#  define zcalloc               z_zcalloc
-#  define zcfree                z_zcfree
+#  ifndef Z_SOLO
+#    define zcalloc               z_zcalloc
+#    define zcfree                z_zcfree
+#  endif
 #  define zlibCompileFlags      z_zlibCompileFlags
 #  define zlibVersion           z_zlibVersion
 
@@ -111,7 +127,9 @@
 #  define alloc_func            z_alloc_func
 #  define charf                 z_charf
 #  define free_func             z_free_func
-#  define gzFile                z_gzFile
+#  ifndef Z_SOLO
+#    define gzFile                z_gzFile
+#  endif
 #  define gz_header             z_gz_header
 #  define gz_headerp            z_gz_headerp
 #  define in_func               z_in_func
@@ -197,6 +215,12 @@
 #  endif
 #endif
 
+#if defined(ZLIB_CONST) && !defined(z_const)
+#  define z_const const
+#else
+#  define z_const
+#endif
+
 /* Some Mac compilers merge all .h files incorrectly: */
 #if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
 #  define NO_DUMMY_DECL
@@ -243,6 +267,14 @@
 #  endif
 #endif
 
+#ifndef Z_ARG /* function prototypes for stdarg */
+#  if defined(STDC) || defined(Z_HAVE_STDARG_H)
+#    define Z_ARG(args)  args
+#  else
+#    define Z_ARG(args)  ()
+#  endif
+#endif
+
 /* The following definitions for FAR are needed only for MSDOS mixed
  * model programming (small or medium model with some far allocations).
  * This was tested only with MSC; for other MSDOS compilers you may have
@@ -356,14 +388,49 @@
    typedef Byte       *voidp;
 #endif
 
+/* ./configure may #define Z_U4 here */
+
+#if !defined(Z_U4) && !defined(Z_SOLO) && defined(STDC)
+#  include <limits.h>
+#  if (UINT_MAX == 0xffffffffUL)
+#    define Z_U4 unsigned
+#  else
+#    if (ULONG_MAX == 0xffffffffUL)
+#      define Z_U4 unsigned long
+#    else
+#      if (USHRT_MAX == 0xffffffffUL)
+#        define Z_U4 unsigned short
+#      endif
+#    endif
+#  endif
+#endif
+
+#ifdef Z_U4
+   typedef Z_U4 z_crc_t;
+#else
+   typedef unsigned long z_crc_t;
+#endif
+
 #ifdef HAVE_UNISTD_H    /* may be set to #if 1 by ./configure */
 #  define Z_HAVE_UNISTD_H
 #endif
 
+#ifdef HAVE_STDARG_H    /* may be set to #if 1 by ./configure */
+#  define Z_HAVE_STDARG_H
+#endif
+
 #ifdef STDC
-#  include <sys/types.h>    /* for off_t */
+#  ifndef Z_SOLO
+#    include <sys/types.h>      /* for off_t */
+#  endif
 #endif
 
+#ifdef _WIN32
+#  ifndef Z_SOLO
+#    include <stddef.h>           /* for wchar_t */
+#  endif
+#endif
+
 /* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
  * "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
  * though the former does not conform to the LFS document), but considering
@@ -370,21 +437,38 @@
  * both "#undef _LARGEFILE64_SOURCE" and "#define _LARGEFILE64_SOURCE 0" as
  * equivalently requesting no 64-bit operations
  */
-#if -_LARGEFILE64_SOURCE - -1 == 1
+#if defined(LARGEFILE64_SOURCE) && -_LARGEFILE64_SOURCE - -1 == 1
 #  undef _LARGEFILE64_SOURCE
 #endif
 
-#if defined(Z_HAVE_UNISTD_H) || defined(_LARGEFILE64_SOURCE)
-#  include <unistd.h>       /* for SEEK_* and off_t */
-#  ifdef VMS
-#    include <unixio.h>     /* for off_t */
+#if defined(__WATCOMC__) && !defined(Z_HAVE_UNISTD_H)
+#  define Z_HAVE_UNISTD_H
+#endif
+#ifndef Z_SOLO
+#  if defined(Z_HAVE_UNISTD_H) || defined(LARGEFILE64_SOURCE)
+#    include <unistd.h>         /* for SEEK_*, off_t, and _LFS64_LARGEFILE */
+#    ifdef VMS
+#      include <unixio.h>       /* for off_t */
+#    endif
+#    ifndef z_off_t
+#      define z_off_t off_t
+#    endif
 #  endif
-#  ifndef z_off_t
-#    define z_off_t off_t
-#  endif
 #endif
 
-#ifndef SEEK_SET
+#if defined(_LFS64_LARGEFILE) && _LFS64_LARGEFILE-0
+#  define Z_LFS64
+#endif
+
+#if defined(_LARGEFILE64_SOURCE) && defined(Z_LFS64)
+#  define Z_LARGE64
+#endif
+
+#if defined(_FILE_OFFSET_BITS) && _FILE_OFFSET_BITS-0 == 64 && defined(Z_LFS64)
+#  define Z_WANT64
+#endif
+
+#if !defined(SEEK_SET) && !defined(Z_SOLO)
 #  define SEEK_SET        0       /* Seek from beginning of file.  */
 #  define SEEK_CUR        1       /* Seek from current position.  */
 #  define SEEK_END        2       /* Set file pointer to EOF plus "offset" */
@@ -394,20 +478,16 @@
 #  define z_off_t long
 #endif
 
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
+#if !defined(_WIN32) && defined(Z_LARGE64)
 #  define z_off64_t off64_t
 #else
-#  define z_off64_t z_off_t
+#  if defined(_WIN32) && !defined(__GNUC__) && !defined(Z_SOLO)
+#    define z_off64_t __int64
+#  else
+#    define z_off64_t z_off_t
+#  endif
 #endif
 
-#if defined(__OS400__)
-#  define NO_vsnprintf
-#endif
-
-#if defined(__MVS__)
-#  define NO_vsnprintf
-#endif
-
 /* MVS linker does not support external names larger than 8 bytes */
 #if defined(__MVS__)
   #pragma map(deflateInit_,"DEIN")


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zconf.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 /* zlib.h -- interface of the 'zlib' general purpose compression library
-  version 1.2.5, April 19th, 2010
+  version 1.2.7, May 2nd, 2012
 
-  Copyright (C) 1995-2010 Jean-loup Gailly and Mark Adler
+  Copyright (C) 1995-2012 Jean-loup Gailly and Mark Adler
 
   This software is provided 'as-is', without any express or implied
   warranty.  In no event will the authors be held liable for any damages
@@ -24,8 +24,8 @@
 
 
   The data format used by the zlib library is described by RFCs (Request for
-  Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt
-  (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).
+  Comments) 1950 to 1952 in the files http://tools.ietf.org/html/rfc1950
+  (zlib format), rfc1951 (deflate format) and rfc1952 (gzip format).
 */
 
 #ifndef ZLIB_H
@@ -37,11 +37,11 @@
 extern "C" {
 #endif
 
-#define ZLIB_VERSION "1.2.5"
-#define ZLIB_VERNUM 0x1250
+#define ZLIB_VERSION "1.2.7"
+#define ZLIB_VERNUM 0x1270
 #define ZLIB_VER_MAJOR 1
 #define ZLIB_VER_MINOR 2
-#define ZLIB_VER_REVISION 5
+#define ZLIB_VER_REVISION 7
 #define ZLIB_VER_SUBREVISION 0
 
 /*
@@ -83,15 +83,15 @@
 struct internal_state;
 
 typedef struct z_stream_s {
-    Bytef    *next_in;  /* next input byte */
+    z_const Bytef *next_in;     /* next input byte */
     uInt     avail_in;  /* number of bytes available at next_in */
-    uLong    total_in;  /* total nb of input bytes read so far */
+    uLong    total_in;  /* total number of input bytes read so far */
 
     Bytef    *next_out; /* next output byte should be put there */
     uInt     avail_out; /* remaining free space at next_out */
-    uLong    total_out; /* total nb of bytes output so far */
+    uLong    total_out; /* total number of bytes output so far */
 
-    char     *msg;      /* last error message, NULL if no error */
+    z_const char *msg;  /* last error message, NULL if no error */
     struct internal_state FAR *state; /* not visible by applications */
 
     alloc_func zalloc;  /* used to allocate the internal state */
@@ -327,8 +327,9 @@
 
     Z_FINISH can be used immediately after deflateInit if all the compression
   is to be done in a single step.  In this case, avail_out must be at least the
-  value returned by deflateBound (see below).  If deflate does not return
-  Z_STREAM_END, then it must be called again as described above.
+  value returned by deflateBound (see below).  Then deflate is guaranteed to
+  return Z_STREAM_END.  If not enough output space is provided, deflate will
+  not return Z_STREAM_END, and it must be called again as described above.
 
     deflate() sets strm->adler to the adler32 checksum of all input read
   so far (that is, total_in bytes).
@@ -451,23 +452,29 @@
   error.  However if all decompression is to be performed in a single step (a
   single call of inflate), the parameter flush should be set to Z_FINISH.  In
   this case all pending input is processed and all pending output is flushed;
-  avail_out must be large enough to hold all the uncompressed data.  (The size
-  of the uncompressed data may have been saved by the compressor for this
-  purpose.) The next operation on this stream must be inflateEnd to deallocate
-  the decompression state.  The use of Z_FINISH is never required, but can be
-  used to inform inflate that a faster approach may be used for the single
-  inflate() call.
+  avail_out must be large enough to hold all of the uncompressed data for the
+  operation to complete.  (The size of the uncompressed data may have been
+  saved by the compressor for this purpose.) The use of Z_FINISH is not
+  required to perform an inflation in one step.  However it may be used to
+  inform inflate that a faster approach can be used for the single inflate()
+  call.  Z_FINISH also informs inflate to not maintain a sliding window if the
+  stream completes, which reduces inflate's memory footprint.  If the stream
+  does not complete, either because not all of the stream is provided or not
+  enough output space is provided, then a sliding window will be allocated and
+  inflate() can be called again to continue the operation as if Z_NO_FLUSH had
+  been used.
 
      In this implementation, inflate() always flushes as much output as
   possible to the output buffer, and always uses the faster approach on the
-  first call.  So the only effect of the flush parameter in this implementation
-  is on the return value of inflate(), as noted below, or when it returns early
-  because Z_BLOCK or Z_TREES is used.
+  first call.  So the effects of the flush parameter in this implementation are
+  on the return value of inflate() as noted below, when inflate() returns early
+  when Z_BLOCK or Z_TREES is used, and when inflate() avoids the allocation of
+  memory for a sliding window when Z_FINISH is used.
 
      If a preset dictionary is needed after this call (see inflateSetDictionary
-  below), inflate sets strm->adler to the adler32 checksum of the dictionary
+  below), inflate sets strm->adler to the Adler-32 checksum of the dictionary
   chosen by the compressor and returns Z_NEED_DICT; otherwise it sets
-  strm->adler to the adler32 checksum of all output produced so far (that is,
+  strm->adler to the Adler-32 checksum of all output produced so far (that is,
   total_out bytes) and returns Z_OK, Z_STREAM_END or an error code as described
   below.  At the end of the stream, inflate() checks that its computed adler32
   checksum is equal to that saved by the compressor and returns Z_STREAM_END
@@ -478,7 +485,9 @@
   initializing with inflateInit2().  Any information contained in the gzip
   header is not retained, so applications that need that information should
   instead use raw inflate, see inflateInit2() below, or inflateBack() and
-  perform their own processing of the gzip header and trailer.
+  perform their own processing of the gzip header and trailer.  When processing
+  gzip-wrapped deflate data, strm->adler32 is set to the CRC-32 of the output
+  producted so far.  The CRC-32 is checked against the gzip trailer.
 
     inflate() returns Z_OK if some progress has been made (more input processed
   or more output produced), Z_STREAM_END if the end of the compressed data has
@@ -580,10 +589,15 @@
                                              uInt  dictLength));
 /*
      Initializes the compression dictionary from the given byte sequence
-   without producing any compressed output.  This function must be called
-   immediately after deflateInit, deflateInit2 or deflateReset, before any call
-   of deflate.  The compressor and decompressor must use exactly the same
-   dictionary (see inflateSetDictionary).
+   without producing any compressed output.  When using the zlib format, this
+   function must be called immediately after deflateInit, deflateInit2 or
+   deflateReset, and before any call of deflate.  When doing raw deflate, this
+   function must be called either before any call of deflate, or immediately
+   after the completion of a deflate block, i.e. after all input has been
+   consumed and all output has been delivered when using any of the flush
+   options Z_BLOCK, Z_PARTIAL_FLUSH, Z_SYNC_FLUSH, or Z_FULL_FLUSH.  The
+   compressor and decompressor must use exactly the same dictionary (see
+   inflateSetDictionary).
 
      The dictionary should consist of strings (byte sequences) that are likely
    to be encountered later in the data to be compressed, with the most commonly
@@ -610,8 +624,8 @@
      deflateSetDictionary returns Z_OK if success, or Z_STREAM_ERROR if a
    parameter is invalid (e.g.  dictionary being Z_NULL) or the stream state is
    inconsistent (for example if deflate has already been called for this stream
-   or if the compression method is bsort).  deflateSetDictionary does not
-   perform any compression: this will be done by deflate().
+   or if not at a block boundary for raw deflate).  deflateSetDictionary does
+   not perform any compression: this will be done by deflate().
 */
 
 ZEXTERN int ZEXPORT deflateCopy OF((z_streamp dest,
@@ -688,9 +702,29 @@
    deflation of sourceLen bytes.  It must be called after deflateInit() or
    deflateInit2(), and after deflateSetHeader(), if used.  This would be used
    to allocate an output buffer for deflation in a single pass, and so would be
-   called before deflate().
+   called before deflate().  If that first deflate() call is provided the
+   sourceLen input bytes, an output buffer allocated to the size returned by
+   deflateBound(), and the flush value Z_FINISH, then deflate() is guaranteed
+   to return Z_STREAM_END.  Note that it is possible for the compressed size to
+   be larger than the value returned by deflateBound() if flush options other
+   than Z_FINISH or Z_NO_FLUSH are used.
 */
 
+ZEXTERN int ZEXPORT deflatePending OF((z_streamp strm,
+                                       unsigned *pending,
+                                       int *bits));
+/*
+     deflatePending() returns the number of bytes and bits of output that have
+   been generated, but not yet provided in the available output.  The bytes not
+   provided would be due to the available output space having being consumed.
+   The number of bits of output not provided are between 0 and 7, where they
+   await more bits to join them in order to fill out a full byte.  If pending
+   or bits are Z_NULL, then those values are not set.
+
+     deflatePending returns Z_OK if success, or Z_STREAM_ERROR if the source
+   stream state was inconsistent.
+ */
+
 ZEXTERN int ZEXPORT deflatePrime OF((z_streamp strm,
                                      int bits,
                                      int value));
@@ -703,8 +737,9 @@
    than or equal to 16, and that many of the least significant bits of value
    will be inserted in the output.
 
-     deflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source
-   stream state was inconsistent.
+     deflatePrime returns Z_OK if success, Z_BUF_ERROR if there was not enough
+   room in the internal buffer to insert the bits, or Z_STREAM_ERROR if the
+   source stream state was inconsistent.
 */
 
 ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm,
@@ -790,10 +825,11 @@
    if that call returned Z_NEED_DICT.  The dictionary chosen by the compressor
    can be determined from the adler32 value returned by that call of inflate.
    The compressor and decompressor must use exactly the same dictionary (see
-   deflateSetDictionary).  For raw inflate, this function can be called
-   immediately after inflateInit2() or inflateReset() and before any call of
-   inflate() to set the dictionary.  The application must insure that the
-   dictionary that was used for compression is provided.
+   deflateSetDictionary).  For raw inflate, this function can be called at any
+   time to set the dictionary.  If the provided dictionary is smaller than the
+   window and there is already data in the window, then the provided dictionary
+   will amend what's there.  The application must insure that the dictionary
+   that was used for compression is provided.
 
      inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a
    parameter is invalid (e.g.  dictionary being Z_NULL) or the stream state is
@@ -805,17 +841,21 @@
 
 ZEXTERN int ZEXPORT inflateSync OF((z_streamp strm));
 /*
-     Skips invalid compressed data until a full flush point (see above the
-   description of deflate with Z_FULL_FLUSH) can be found, or until all
+     Skips invalid compressed data until a possible full flush point (see above
+   for the description of deflate with Z_FULL_FLUSH) can be found, or until all
    available input is skipped.  No output is provided.
 
-     inflateSync returns Z_OK if a full flush point has been found, Z_BUF_ERROR
-   if no more input was provided, Z_DATA_ERROR if no flush point has been
-   found, or Z_STREAM_ERROR if the stream structure was inconsistent.  In the
-   success case, the application may save the current current value of total_in
-   which indicates where valid compressed data was found.  In the error case,
-   the application may repeatedly call inflateSync, providing more input each
-   time, until success or end of the input data.
+     inflateSync searches for a 00 00 FF FF pattern in the compressed data.
+   All full flush points have this pattern, but not all occurences of this
+   pattern are full flush points.
+
+     inflateSync returns Z_OK if a possible full flush point has been found,
+   Z_BUF_ERROR if no more input was provided, Z_DATA_ERROR if no flush point
+   has been found, or Z_STREAM_ERROR if the stream structure was inconsistent.
+   In the success case, the application may save the current current value of
+   total_in which indicates where valid compressed data was found.  In the
+   error case, the application may repeatedly call inflateSync, providing more
+   input each time, until success or end of the input data.
 */
 
 ZEXTERN int ZEXPORT inflateCopy OF((z_streamp dest,
@@ -962,7 +1002,7 @@
      See inflateBack() for the usage of these routines.
 
      inflateBackInit will return Z_OK on success, Z_STREAM_ERROR if any of
-   the paramaters are invalid, Z_MEM_ERROR if the internal state could not be
+   the parameters are invalid, Z_MEM_ERROR if the internal state could not be
    allocated, or Z_VERSION_ERROR if the version of the library does not match
    the version of the header file.
 */
@@ -1088,6 +1128,7 @@
      27-31: 0 (reserved)
  */
 
+#ifndef Z_SOLO
 
                         /* utility functions */
 
@@ -1149,10 +1190,11 @@
 
      uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
    enough memory, Z_BUF_ERROR if there was not enough room in the output
-   buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.
+   buffer, or Z_DATA_ERROR if the input data was corrupted or incomplete.  In
+   the case where there is not enough room, uncompress() will fill the output
+   buffer with the uncompressed data up to that point.
 */
 
-
                         /* gzip file access functions */
 
 /*
@@ -1162,7 +1204,7 @@
    wrapper, documented in RFC 1952, wrapped around a deflate stream.
 */
 
-typedef voidp gzFile;       /* opaque gzip file descriptor */
+typedef struct gzFile_s *gzFile;    /* semi-opaque gzip file descriptor */
 
 /*
 ZEXTERN gzFile ZEXPORT gzopen OF((const char *path, const char *mode));
@@ -1172,13 +1214,28 @@
    a strategy: 'f' for filtered data as in "wb6f", 'h' for Huffman-only
    compression as in "wb1h", 'R' for run-length encoding as in "wb1R", or 'F'
    for fixed code compression as in "wb9F".  (See the description of
-   deflateInit2 for more information about the strategy parameter.) Also "a"
-   can be used instead of "w" to request that the gzip stream that will be
-   written be appended to the file.  "+" will result in an error, since reading
-   and writing to the same gzip file is not supported.
+   deflateInit2 for more information about the strategy parameter.)  'T' will
+   request transparent writing or appending with no compression and not using
+   the gzip format.
 
+     "a" can be used instead of "w" to request that the gzip stream that will
+   be written be appended to the file.  "+" will result in an error, since
+   reading and writing to the same gzip file is not supported.  The addition of
+   "x" when writing will create the file exclusively, which fails if the file
+   already exists.  On systems that support it, the addition of "e" when
+   reading or writing will set the flag to close the file on an execve() call.
+
+     These functions, as well as gzip, will read and decode a sequence of gzip
+   streams in a file.  The append function of gzopen() can be used to create
+   such a file.  (Also see gzflush() for another way to do this.)  When
+   appending, gzopen does not test whether the file begins with a gzip stream,
+   nor does it look for the end of the gzip streams to begin appending.  gzopen
+   will simply append a gzip stream to the existing file.
+
      gzopen can be used to read a file which is not in gzip format; in this
-   case gzread will directly read from the file without decompression.
+   case gzread will directly read from the file without decompression.  When
+   reading, this will be detected automatically by looking for the magic two-
+   byte gzip header.
 
      gzopen returns NULL if the file could not be opened, if there was
    insufficient memory to allocate the gzFile state, or if an invalid mode was
@@ -1197,7 +1254,11 @@
    descriptor fd, just like fclose(fdopen(fd, mode)) closes the file descriptor
    fd.  If you want to keep fd open, use fd = dup(fd_keep); gz = gzdopen(fd,
    mode);.  The duplicated descriptor should be saved to avoid a leak, since
-   gzdopen does not close fd if it fails.
+   gzdopen does not close fd if it fails.  If you are using fileno() to get the
+   file descriptor from a FILE *, then you will have to use dup() to avoid
+   double-close()ing the file descriptor.  Both gzclose() and fclose() will
+   close the associated file descriptor, so they need to have different file
+   descriptors.
 
      gzdopen returns NULL if there was insufficient memory to allocate the
    gzFile state, if an invalid mode was specified (an 'r', 'w', or 'a' was not
@@ -1235,15 +1296,27 @@
 ZEXTERN int ZEXPORT gzread OF((gzFile file, voidp buf, unsigned len));
 /*
      Reads the given number of uncompressed bytes from the compressed file.  If
-   the input file was not in gzip format, gzread copies the given number of
-   bytes into the buffer.
+   the input file is not in gzip format, gzread copies the given number of
+   bytes into the buffer directly from the file.
 
      After reaching the end of a gzip stream in the input, gzread will continue
-   to read, looking for another gzip stream, or failing that, reading the rest
-   of the input file directly without decompression.  The entire input file
-   will be read if gzread is called until it returns less than the requested
-   len.
+   to read, looking for another gzip stream.  Any number of gzip streams may be
+   concatenated in the input file, and will all be decompressed by gzread().
+   If something other than a gzip stream is encountered after a gzip stream,
+   that remaining trailing garbage is ignored (and no error is returned).
 
+     gzread can be used to read a gzip file that is being concurrently written.
+   Upon reaching the end of the input, gzread will return with the available
+   data.  If the error code returned by gzerror is Z_OK or Z_BUF_ERROR, then
+   gzclearerr can be used to clear the end of file indicator in order to permit
+   gzread to be tried again.  Z_OK indicates that a gzip stream was completed
+   on the last gzread.  Z_BUF_ERROR indicates that the input file ended in the
+   middle of a gzip stream.  Note that gzread does not return -1 in the event
+   of an incomplete gzip stream.  This error is deferred until gzclose(), which
+   will return Z_BUF_ERROR if the last gzread ended in the middle of a gzip
+   stream.  Alternatively, gzerror can be used before gzclose to detect this
+   case.
+
      gzread returns the number of uncompressed bytes actually read, less than
    len for end of file, or -1 for error.
 */
@@ -1256,7 +1329,7 @@
    error.
 */
 
-ZEXTERN int ZEXPORTVA gzprintf OF((gzFile file, const char *format, ...));
+ZEXTERN int ZEXPORTVA gzprintf Z_ARG((gzFile file, const char *format, ...));
 /*
      Converts, formats, and writes the arguments to the compressed file under
    control of the format string, as in fprintf.  gzprintf returns the number of
@@ -1301,7 +1374,10 @@
 ZEXTERN int ZEXPORT gzgetc OF((gzFile file));
 /*
      Reads one byte from the compressed file.  gzgetc returns this byte or -1
-   in case of end of file or error.
+   in case of end of file or error.  This is implemented as a macro for speed.
+   As such, it does not do all of the checking the other functions do.  I.e.
+   it does not check to see if file is NULL, nor whether the structure file
+   points to has been clobbered or not.
 */
 
 ZEXTERN int ZEXPORT gzungetc OF((int c, gzFile file));
@@ -1397,9 +1473,7 @@
 ZEXTERN int ZEXPORT gzdirect OF((gzFile file));
 /*
      Returns true (1) if file is being copied directly while reading, or false
-   (0) if file is a gzip stream being decompressed.  This state can change from
-   false to true while reading the input file if the end of a gzip stream is
-   reached, but is followed by data that is not another gzip stream.
+   (0) if file is a gzip stream being decompressed.
 
      If the input file is empty, gzdirect() will return true, since the input
    does not contain a gzip stream.
@@ -1408,6 +1482,13 @@
    cause buffers to be allocated to allow reading the file to determine if it
    is a gzip file.  Therefore if gzbuffer() is used, it should be called before
    gzdirect().
+
+     When writing, gzdirect() returns true (1) if transparent writing was
+   requested ("wT" for the gzopen() mode), or false (0) otherwise.  (Note:
+   gzdirect() is not needed when writing.  Transparent writing must be
+   explicitly requested, so the application already knows the answer.  When
+   linking statically, using gzdirect() will include all of the zlib code for
+   gzip file reading and decompression, which may not be desired.)
 */
 
 ZEXTERN int ZEXPORT    gzclose OF((gzFile file));
@@ -1419,7 +1500,8 @@
    must not be called more than once on the same allocation.
 
      gzclose will return Z_STREAM_ERROR if file is not valid, Z_ERRNO on a
-   file operation error, or Z_OK on success.
+   file operation error, Z_MEM_ERROR if out of memory, Z_BUF_ERROR if the
+   last read ended in the middle of a gzip stream, or Z_OK on success.
 */
 
 ZEXTERN int ZEXPORT gzclose_r OF((gzFile file));
@@ -1457,6 +1539,7 @@
    file that is being written concurrently.
 */
 
+#endif /* !Z_SOLO */
 
                         /* checksum functions */
 
@@ -1492,7 +1575,9 @@
      Combine two Adler-32 checksums into one.  For two sequences of bytes, seq1
    and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for
    each, adler1 and adler2.  adler32_combine() returns the Adler-32 checksum of
-   seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.
+   seq1 and seq2 concatenated, requiring only adler1, adler2, and len2.  Note
+   that the z_off_t type (like off_t) is a signed integer.  If len2 is
+   negative, the result has no meaning or utility.
 */
 
 ZEXTERN uLong ZEXPORT crc32   OF((uLong crc, const Bytef *buf, uInt len));
@@ -1499,9 +1584,8 @@
 /*
      Update a running CRC-32 with the bytes buf[0..len-1] and return the
    updated CRC-32.  If buf is Z_NULL, this function returns the required
-   initial value for the for the crc.  Pre- and post-conditioning (one's
-   complement) is performed within this function so it shouldn't be done by the
-   application.
+   initial value for the crc.  Pre- and post-conditioning (one's complement) is
+   performed within this function so it shouldn't be done by the application.
 
    Usage example:
 
@@ -1544,18 +1628,43 @@
                                          const char *version,
                                          int stream_size));
 #define deflateInit(strm, level) \
-        deflateInit_((strm), (level),       ZLIB_VERSION, sizeof(z_stream))
+        deflateInit_((strm), (level), ZLIB_VERSION, (int)sizeof(z_stream))
 #define inflateInit(strm) \
-        inflateInit_((strm),                ZLIB_VERSION, sizeof(z_stream))
+        inflateInit_((strm), ZLIB_VERSION, (int)sizeof(z_stream))
 #define deflateInit2(strm, level, method, windowBits, memLevel, strategy) \
         deflateInit2_((strm),(level),(method),(windowBits),(memLevel),\
-                      (strategy),           ZLIB_VERSION, sizeof(z_stream))
+                      (strategy), ZLIB_VERSION, (int)sizeof(z_stream))
 #define inflateInit2(strm, windowBits) \
-        inflateInit2_((strm), (windowBits), ZLIB_VERSION, sizeof(z_stream))
+        inflateInit2_((strm), (windowBits), ZLIB_VERSION, \
+                      (int)sizeof(z_stream))
 #define inflateBackInit(strm, windowBits, window) \
         inflateBackInit_((strm), (windowBits), (window), \
-                                            ZLIB_VERSION, sizeof(z_stream))
+                      ZLIB_VERSION, (int)sizeof(z_stream))
 
+#ifndef Z_SOLO
+
+/* gzgetc() macro and its supporting function and exposed data structure.  Note
+ * that the real internal state is much larger than the exposed structure.
+ * This abbreviated structure exposes just enough for the gzgetc() macro.  The
+ * user should not mess with these exposed elements, since their names or
+ * behavior could change in the future, perhaps even capriciously.  They can
+ * only be used by the gzgetc() macro.  You have been warned.
+ */
+struct gzFile_s {
+    unsigned have;
+    unsigned char *next;
+    z_off64_t pos;
+};
+ZEXTERN int ZEXPORT gzgetc_ OF((gzFile file));  /* backward compatibility */
+#ifdef Z_PREFIX_SET
+#  undef z_gzgetc
+#  define z_gzgetc(g) \
+          ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
+#else
+#  define gzgetc(g) \
+          ((g)->have ? ((g)->have--, (g)->pos++, *((g)->next)++) : gzgetc(g))
+#endif
+
 /* provide 64-bit offset functions if _LARGEFILE64_SOURCE defined, and/or
  * change the regular functions to 64 bits if _FILE_OFFSET_BITS is 64 (if
  * both are true, the application gets the *64 functions, and the regular
@@ -1562,7 +1671,7 @@
  * functions are changed to 64 bits) -- in case these are set on systems
  * without large file support, _LFS64_LARGEFILE must also be true
  */
-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
+#ifdef Z_LARGE64
    ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
    ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
    ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
@@ -1571,14 +1680,23 @@
    ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off64_t));
 #endif
 
-#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
-#  define gzopen gzopen64
-#  define gzseek gzseek64
-#  define gztell gztell64
-#  define gzoffset gzoffset64
-#  define adler32_combine adler32_combine64
-#  define crc32_combine crc32_combine64
-#  ifdef _LARGEFILE64_SOURCE
+#if !defined(ZLIB_INTERNAL) && defined(Z_WANT64)
+#  ifdef Z_PREFIX_SET
+#    define z_gzopen z_gzopen64
+#    define z_gzseek z_gzseek64
+#    define z_gztell z_gztell64
+#    define z_gzoffset z_gzoffset64
+#    define z_adler32_combine z_adler32_combine64
+#    define z_crc32_combine z_crc32_combine64
+#  else
+#    define gzopen gzopen64
+#    define gzseek gzseek64
+#    define gztell gztell64
+#    define gzoffset gzoffset64
+#    define adler32_combine adler32_combine64
+#    define crc32_combine crc32_combine64
+#  endif
+#  ifndef Z_LARGE64
      ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
      ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
      ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
@@ -1595,6 +1713,13 @@
    ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
 #endif
 
+#else /* Z_SOLO */
+
+   ZEXTERN uLong ZEXPORT adler32_combine OF((uLong, uLong, z_off_t));
+   ZEXTERN uLong ZEXPORT crc32_combine OF((uLong, uLong, z_off_t));
+
+#endif /* !Z_SOLO */
+
 /* hack for buggy compilers */
 #if !defined(ZUTIL_H) && !defined(NO_DUMMY_DECL)
     struct internal_state {int dummy;};
@@ -1603,8 +1728,14 @@
 /* undocumented functions */
 ZEXTERN const char   * ZEXPORT zError           OF((int));
 ZEXTERN int            ZEXPORT inflateSyncPoint OF((z_streamp));
-ZEXTERN const uLongf * ZEXPORT get_crc_table    OF((void));
+ZEXTERN const z_crc_t FAR * ZEXPORT get_crc_table    OF((void));
 ZEXTERN int            ZEXPORT inflateUndermine OF((z_streamp, int));
+ZEXTERN int            ZEXPORT inflateResetKeep OF((z_streamp));
+ZEXTERN int            ZEXPORT deflateResetKeep OF((z_streamp));
+#if defined(_WIN32) && !defined(Z_SOLO)
+ZEXTERN gzFile         ZEXPORT gzopen_w OF((const wchar_t *path,
+                                            const char *mode));
+#endif
 
 #ifdef __cplusplus
 }


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zlib.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,14 @@
 /* zutil.c -- target dependent utility functions for the compression library
- * Copyright (C) 1995-2005, 2010 Jean-loup Gailly.
+ * Copyright (C) 1995-2005, 2010, 2011, 2012 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
-/* @(#) $Id: zutil.c,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 #include "zutil.h"
+#ifndef Z_SOLO
+#  include "gzguts.h"
+#endif
 
 #ifndef NO_DUMMY_DECL
 struct internal_state      {int dummy;}; /* for buggy compilers */
@@ -85,27 +88,27 @@
 #ifdef FASTEST
     flags += 1L << 21;
 #endif
-#ifdef STDC
+#if defined(STDC) || defined(Z_HAVE_STDARG_H)
 #  ifdef NO_vsnprintf
-        flags += 1L << 25;
+    flags += 1L << 25;
 #    ifdef HAS_vsprintf_void
-        flags += 1L << 26;
+    flags += 1L << 26;
 #    endif
 #  else
 #    ifdef HAS_vsnprintf_void
-        flags += 1L << 26;
+    flags += 1L << 26;
 #    endif
 #  endif
 #else
-        flags += 1L << 24;
+    flags += 1L << 24;
 #  ifdef NO_snprintf
-        flags += 1L << 25;
+    flags += 1L << 25;
 #    ifdef HAS_sprintf_void
-        flags += 1L << 26;
+    flags += 1L << 26;
 #    endif
 #  else
 #    ifdef HAS_snprintf_void
-        flags += 1L << 26;
+    flags += 1L << 26;
 #    endif
 #  endif
 #endif
@@ -181,6 +184,7 @@
 }
 #endif
 
+#ifndef Z_SOLO
 
 #ifdef SYS16BIT
 
@@ -316,3 +320,5 @@
 }
 
 #endif /* MY_ZCALLOC */
+
+#endif /* !Z_SOLO */


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h
===================================================================
--- vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /* zutil.h -- internal interface and configuration of the compression library
- * Copyright (C) 1995-2010 Jean-loup Gailly.
+ * Copyright (C) 1995-2012 Jean-loup Gailly.
  * For conditions of distribution and use, see copyright notice in zlib.h
  */
 
@@ -8,12 +8,16 @@
    subject to change. Applications should only use zlib.h.
  */
 
-/* @(#) $Id: zutil.h,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $ */
+/* @(#) $Id$ */
 
 #ifndef ZUTIL_H
 #define ZUTIL_H
 
-#if ((__GNUC__-0) * 10 + __GNUC_MINOR__-0 >= 33) && !defined(NO_VIZ)
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifdef HAVE_HIDDEN
 #  define ZLIB_INTERNAL __attribute__((visibility ("hidden")))
 #else
 #  define ZLIB_INTERNAL
@@ -21,7 +25,7 @@
 
 #include "zlib.h"
 
-#ifdef STDC
+#if defined(STDC) && !defined(Z_SOLO)
 #  if !(defined(_WIN32_WCE) && defined(_MSC_VER))
 #    include <stddef.h>
 #  endif
@@ -29,6 +33,10 @@
 #  include <stdlib.h>
 #endif
 
+#ifdef Z_SOLO
+   typedef long ptrdiff_t;  /* guess -- will be caught if guess is wrong */
+#endif
+
 #ifndef local
 #  define local static
 #endif
@@ -78,16 +86,18 @@
 
 #if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
 #  define OS_CODE  0x00
-#  if defined(__TURBOC__) || defined(__BORLANDC__)
-#    if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
-       /* Allow compilation with ANSI keywords only enabled */
-       void _Cdecl farfree( void *block );
-       void *_Cdecl farmalloc( unsigned long nbytes );
-#    else
-#      include <alloc.h>
+#  ifndef Z_SOLO
+#    if defined(__TURBOC__) || defined(__BORLANDC__)
+#      if (__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
+         /* Allow compilation with ANSI keywords only enabled */
+         void _Cdecl farfree( void *block );
+         void *_Cdecl farmalloc( unsigned long nbytes );
+#      else
+#        include <alloc.h>
+#      endif
+#    else /* MSC or DJGPP */
+#      include <malloc.h>
 #    endif
-#  else /* MSC or DJGPP */
-#    include <malloc.h>
 #  endif
 #endif
 
@@ -107,7 +117,7 @@
 
 #ifdef OS2
 #  define OS_CODE  0x06
-#  ifdef M_I86
+#  if defined(M_I86) && !defined(Z_SOLO)
 #    include <malloc.h>
 #  endif
 #endif
@@ -114,11 +124,13 @@
 
 #if defined(MACOS) || defined(TARGET_OS_MAC)
 #  define OS_CODE  0x07
-#  if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
-#    include <unix.h> /* for fdopen */
-#  else
-#    ifndef fdopen
-#      define fdopen(fd,mode) NULL /* No fdopen() */
+#  ifndef Z_SOLO
+#    if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
+#      include <unix.h> /* for fdopen */
+#    else
+#      ifndef fdopen
+#        define fdopen(fd,mode) NULL /* No fdopen() */
+#      endif
 #    endif
 #  endif
 #endif
@@ -153,7 +165,7 @@
 #  endif
 #endif
 
-#if defined(__BORLANDC__)
+#if defined(__BORLANDC__) && !defined(MSDOS)
   #pragma warn -8004
   #pragma warn -8008
   #pragma warn -8066
@@ -160,7 +172,7 @@
 #endif
 
 /* provide prototypes for these when building zlib without LFS */
-#if !defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0
+#if !defined(_WIN32) && (!defined(_LARGEFILE64_SOURCE) || _LFS64_LARGEFILE-0 == 0)
     ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
     ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
 #endif
@@ -177,42 +189,7 @@
 
          /* functions */
 
-#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
-#  ifndef HAVE_VSNPRINTF
-#    define HAVE_VSNPRINTF
-#  endif
-#endif
-#if defined(__CYGWIN__)
-#  ifndef HAVE_VSNPRINTF
-#    define HAVE_VSNPRINTF
-#  endif
-#endif
-#ifndef HAVE_VSNPRINTF
-#  ifdef MSDOS
-     /* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
-        but for now we just assume it doesn't. */
-#    define NO_vsnprintf
-#  endif
-#  ifdef __TURBOC__
-#    define NO_vsnprintf
-#  endif
-#  ifdef WIN32
-     /* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
-#    if !defined(vsnprintf) && !defined(NO_vsnprintf)
-#      if !defined(_MSC_VER) || ( defined(_MSC_VER) && _MSC_VER < 1500 )
-#         define vsnprintf _vsnprintf
-#      endif
-#    endif
-#  endif
-#  ifdef __SASC
-#    define NO_vsnprintf
-#  endif
-#endif
-#ifdef VMS
-#  define NO_vsnprintf
-#endif
-
-#if defined(pyr)
+#if defined(pyr) || defined(Z_SOLO)
 #  define NO_MEMCPY
 #endif
 #if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
@@ -261,14 +238,23 @@
 #  define Tracecv(c,x)
 #endif
 
+#ifndef Z_SOLO
+   voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
+                                    unsigned size));
+   void ZLIB_INTERNAL zcfree  OF((voidpf opaque, voidpf ptr));
+#endif
 
-voidpf ZLIB_INTERNAL zcalloc OF((voidpf opaque, unsigned items,
-                        unsigned size));
-void ZLIB_INTERNAL zcfree  OF((voidpf opaque, voidpf ptr));
-
 #define ZALLOC(strm, items, size) \
            (*((strm)->zalloc))((strm)->opaque, (items), (size))
 #define ZFREE(strm, addr)  (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
 #define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
 
+/* Reverse the bytes in a 32-bit value */
+#define ZSWAP32(q) ((((q) >> 24) & 0xff) + (((q) >> 8) & 0xff00) + \
+                    (((q) & 0xff00) << 8) + (((q) & 0xff) << 24))
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* ZUTIL_H */


Property changes on: vendor/perl/dist/cpan/Compress-Raw-Zlib/zlib-src/zutil.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/DB_File/Changes
===================================================================
--- vendor/perl/dist/cpan/DB_File/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,38 @@
+1.827 25 Jan 2012
 
+   * DB_File.pm - Don't use "@_" construct
+     [RT ##79287]
 
+1.826 25 Jan 2012
+
+   * t/db-btree.t - fix use of "length @array"
+     [RT ##74336]
+
+1.825 24 Jan 2012
+
+   * t/db-btree.t - fix use of "length @array"
+     [RT ##74336]
+
+1.824 6 Aug 2011
+
+   * Amendments to tests to work in blead
+     [RT #70108]
+
+1.823 6 Aug 2011
+
+   * croak if attempt to freeze/thaw DB_File object
+     [RT #69985]
+
+1.822 12 March 2011
+
+   * Link rot
+     [rt.cpan.org #69739] 
+
+1.822 12 March 2011
+
+   * Keep DB_File's warnings in sync with perl's
+     [rt.cpan.org #66339] 
+
 1.821 10 January 2011
 
    * Fixed typos & spelling errors.


Property changes on: vendor/perl/dist/cpan/DB_File/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/DB_File/DB_File.pm
===================================================================
--- vendor/perl/dist/cpan/DB_File/DB_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/DB_File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -161,16 +161,22 @@
 use warnings;
 use strict;
 our ($VERSION, @ISA, @EXPORT, $AUTOLOAD, $DB_BTREE, $DB_HASH, $DB_RECNO);
-our ($db_version, $use_XSLoader, $splice_end_array, $Error);
+our ($db_version, $use_XSLoader, $splice_end_array_no_length, $splice_end_array, $Error);
 use Carp;
 
 
-$VERSION = "1.821" ;
+$VERSION = "1.827" ;
 $VERSION = eval $VERSION; # needed for dev releases
 
 {
-    local $SIG{__WARN__} = sub {$splice_end_array = "@_";};
+    local $SIG{__WARN__} = sub {$splice_end_array_no_length = join(" ", at _);};
     my @a =(1); splice(@a, 3);
+    $splice_end_array_no_length = 
+        ($splice_end_array_no_length =~ /^splice\(\) offset past end of array at /);
+}      
+{
+    local $SIG{__WARN__} = sub {$splice_end_array = join(" ", @_);};
+    my @a =(1); splice(@a, 3, 1);
     $splice_end_array = 
         ($splice_end_array =~ /^splice\(\) offset past end of array at /);
 }      
@@ -342,6 +348,7 @@
 	$offset = 0;
     }
 
+    my $has_length = @_;
     my $length = @_ ? shift : 0;
     # Carping about definedness comes _after_ the OFFSET sanity check.
     # This is so we get the same error messages as Perl's splice().
@@ -371,7 +378,7 @@
     if ($offset > $size) {
  	$offset = $size;
 	warnings::warnif('misc', 'splice() offset past end of array')
-            if $splice_end_array;
+            if $has_length ? $splice_end_array : $splice_end_array_no_length;
     }
 
     # 'If LENGTH is omitted, removes everything from OFFSET onward.'
@@ -571,6 +578,20 @@
 }
 
 
+sub STORABLE_freeze
+{
+    my $type = ref shift;
+    croak "Cannot freeze $type object\n";
+}
+
+sub STORABLE_thaw
+{
+    my $type = ref shift;
+    croak "Cannot thaw $type object\n";
+}
+
+
+
 1;
 __END__
 
@@ -2256,13 +2277,9 @@
 Alternatively, Berkeley DB version 1 is available at your nearest CPAN
 archive in F<src/misc/db.1.85.tar.gz>.
 
-If you are running IRIX, then get Berkeley DB version 1 from
-F<http://reality.sgi.com/ariel>. It has the patches necessary to
-compile properly on IRIX 5.3.
-
 =head1 COPYRIGHT
 
-Copyright (c) 1995-2007 Paul Marquess. All rights reserved. This program
+Copyright (c) 1995-2012 Paul Marquess. All rights reserved. This program
 is free software; you can redistribute it and/or modify it under the
 same terms as Perl itself.
 


Property changes on: vendor/perl/dist/cpan/DB_File/DB_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/DB_File/DB_File.xs
===================================================================
--- vendor/perl/dist/cpan/DB_File/DB_File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/DB_File.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
  All comments/suggestions/problems are welcome
 
-     Copyright (c) 1995-2009 Paul Marquess. All rights reserved.
+     Copyright (c) 1995-2012 Paul Marquess. All rights reserved.
      This program is free software; you can redistribute it and/or
      modify it under the same terms as Perl itself.
 


Property changes on: vendor/perl/dist/cpan/DB_File/DB_File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/DB_File/DB_File_BS
===================================================================
--- vendor/perl/dist/cpan/DB_File/DB_File_BS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/DB_File_BS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/DB_File/DB_File_BS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/DB_File/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/DB_File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/DB_File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/DB_File/config.in
===================================================================
--- vendor/perl/dist/cpan/DB_File/config.in	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/config.in	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/DB_File/config.in
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/DB_File/dbinfo
===================================================================
--- vendor/perl/dist/cpan/DB_File/dbinfo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/dbinfo	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 # Version: 	1.06 
 # Date		27th March 2008
 #
-#     Copyright (c) 1998-2008 Paul Marquess. All rights reserved.
+#     Copyright (c) 1998-2012 Paul Marquess. All rights reserved.
 #     This program is free software; you can redistribute it and/or
 #     modify it under the same terms as Perl itself.
 


Property changes on: vendor/perl/dist/cpan/DB_File/dbinfo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/DB_File/hints/dynixptx.pl
===================================================================
--- vendor/perl/dist/cpan/DB_File/hints/dynixptx.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/hints/dynixptx.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/DB_File/hints/dynixptx.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/DB_File/hints/sco.pl
===================================================================
--- vendor/perl/dist/cpan/DB_File/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/DB_File/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/DB_File/t/db-btree.t
===================================================================
--- vendor/perl/dist/cpan/DB_File/t/db-btree.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/t/db-btree.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use Config;
  
 BEGIN {
-    if($ENV{PERL_CORE}) {
+    if(-d "lib" && -f "TEST") {
         if ($Config{'extensions'} !~ /\bDB_File\b/ ) {
             print "1..0 # Skip: DB_File was not built\n";
             exit 0;
@@ -566,9 +566,9 @@
  
     return 0 if @$a != @$b ;
  
-    foreach (1 .. length @$a)
+    foreach (0 .. @$a - 1)
     {
-        return 0 unless $$a[$_] eq $$b[$_] ;
+        return 0 unless $$a[$_] eq $$b[$_];
     }
  
     1 ;


Property changes on: vendor/perl/dist/cpan/DB_File/t/db-btree.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/DB_File/t/db-hash.t
===================================================================
--- vendor/perl/dist/cpan/DB_File/t/db-hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/t/db-hash.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,11 @@
 #!./perl 
- 
+
 use warnings;
 use strict;
 use Config;
  
 BEGIN {
-    if($ENV{PERL_CORE}) {
+    if(-d "lib" && -f "TEST") {
         if ($Config{'extensions'} !~ /\bDB_File\b/ ) {
             print "1..0 # Skip: DB_File was not built\n";
             exit 0;


Property changes on: vendor/perl/dist/cpan/DB_File/t/db-hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/DB_File/t/db-recno.t
===================================================================
--- vendor/perl/dist/cpan/DB_File/t/db-recno.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/t/db-recno.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,10 @@
 #!./perl -w
- 
-use warnings;
+
 use strict;
 use Config;
  
 BEGIN {
-    if($ENV{PERL_CORE}) {
+    if(-d "lib" && -f "TEST") {
         if ($Config{'extensions'} !~ /\bDB_File\b/ ) {
             print "1..0 # Skip: DB_File was not built\n";
             exit 0;


Property changes on: vendor/perl/dist/cpan/DB_File/t/db-recno.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/DB_File/typemap
===================================================================
--- vendor/perl/dist/cpan/DB_File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/DB_File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/DB_File/version.c
===================================================================
--- vendor/perl/dist/cpan/DB_File/version.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/DB_File/version.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/DB_File/version.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/DProf.pm
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/DProf.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/DProf.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/DProf.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/DProf.xs
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/DProf.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/DProf.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/DProf.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/Todo
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/Todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/Todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/Todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/bin/dprofpp
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/bin/dprofpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/bin/dprofpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/bin/dprofpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/V.pm
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/V.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/V.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/V.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test1_t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test1_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test1_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test1_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test1_v
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test1_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test1_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test1_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test2_t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test2_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test2_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test2_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test2_v
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test2_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test2_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test2_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test3_t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test3_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test3_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test3_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test3_v
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test3_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test3_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test3_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test4_t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test4_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test4_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test4_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test4_v
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test4_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test4_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test4_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test5_t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test5_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test5_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test5_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test5_v
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test5_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test5_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test5_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test6_t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test6_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test6_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test6_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test6_v
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test6_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test6_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test6_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test7_t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test7_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test7_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test7_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test7_v
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test7_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test7_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test7_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test8_t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test8_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test8_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test8_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/dprof/test8_v
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/dprof/test8_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/dprof/test8_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/dprof/test8_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-DProf/t/DProf.t
===================================================================
--- vendor/perl/dist/cpan/Devel-DProf/t/DProf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-DProf/t/DProf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-DProf/t/DProf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/Changes
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,37 @@
+3.20 - 2011-09-10
+
+    * fix CPAN #56749: isASCII and isCNTRL macros are buggy
+      (thanks to Karl Williamson for providing a patch and patiently
+       waiting almost two years for me to integrate it)
+    * fix CPAN #70427: RealPPPort.xs:1587: error: lvalue required as unary ‘&’ operand
+
+3.19_03 - 2011-04-13
+
+    * keep up with latest core changes
+
+3.19_02 - 2010-03-07
+
+    * fix a warning emitted by the test suite with older perls
+    * added support for the following API
+        newSVpvs_share
+        get_cvn_flags
+        get_cvs
+      (thanks to Goro Fuji for providing a patch to
+      implement all of these, fixes CPAN #47174)
+
+3.19_01 - 2010-02-20
+
+    * fix CPAN #50763: mistaken use of $[
+      (thanks to Zefram for spotting this)
+    * remove spurious PUSHMARK from Perl_ppaddr_t
+      (thanks to Gerard Goossen for providing a patch)
+    * improved support for newer compilers in buildperl.pl
+      (thanks to Philippe Bruhat (BooK) for providing a patch)
+    * added support for the following API
+        memEQs
+        memNEs
+    * lots of small toolchain updates
+
 3.19 - 2009-06-14
 
     * updated base/todo files


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/HACKERS
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/HACKERS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/HACKERS	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,15 +11,15 @@
 
 =head1 DESCRIPTION
 
-=head2 How to build 114 versions of Perl
+=head2 How to build 136 versions of Perl
 
 C<Devel::PPPort> supports Perl versions between 5.003 and bleadperl.
 To guarantee this support, I need some of these versions on my
-machine. I currently have 114 different Perl version/configuration
+machine. I currently have 136 different Perl version/configuration
 combinations installed on my laptop.
 
 As many of the old Perl distributions need patching to compile
-cleanly on newer systems (and because building 114 Perls by hand
+cleanly on newer systems (and because building 136 Perls by hand
 just isn't fun), I wrote a tool to build all the different
 versions and configurations. You can find it in F<devel/buildperl.pl>.
 It can currently build the following Perl releases:
@@ -148,7 +148,7 @@
 Finally, add the remaining baseline information by running
 
     perl Makefile.PL && make
-    perl devel/scanprov write
+    perl devel/scanprov --mode=write
 
 =back
 
@@ -309,7 +309,7 @@
 
 =head1 COPYRIGHT
 
-Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 
 Version 2.x, Copyright (C) 2001, Paul Marquess.
 


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/HACKERS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/MANIFEST.SKIP
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/MANIFEST.SKIP	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/MANIFEST.SKIP	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/MANIFEST.SKIP
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 32 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:42 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/PPPort.xs
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/PPPort.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/PPPort.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/PPPort.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/PPPort_pm.PL
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/PPPort_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/PPPort_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 67 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:41 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -126,7 +126,7 @@
           {join "\n", @todo}gem;
 
 $data =~ s{__MIN_PERL__}{5.003}g;
-$data =~ s{__MAX_PERL__}{5.10.0}g;
+$data =~ s{__MAX_PERL__}{5.11.5}g;
 
 open FH, ">PPPort.pm" or die "PPPort.pm: $!\n";
 print FH $data;
@@ -372,13 +372,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 67 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:41 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -515,7 +515,7 @@
 
 =head1 COPYRIGHT
 
-Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 
 Version 2.x, Copyright (C) 2001, Paul Marquess.
 
@@ -535,7 +535,7 @@
 use strict;
 use vars qw($VERSION $data);
 
-$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.19 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+$VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.20 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
 
 sub _init_data
 {


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/PPPort_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/PPPort_xs.PL
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/PPPort_xs.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/PPPort_xs.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 16 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:41 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -93,13 +93,13 @@
 *
 ********************************************************************************
 *
-*  $Revision: 1.1.1.1 $
-*  $Author: laffer1 $
-*  $Date: 2011-05-18 13:33:29 $
+*  $Revision: 16 $
+*  $Author: mhx $
+*  $Date: 2010/03/07 13:15:41 +0100 $
 *
 ********************************************************************************
 *
-*  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+*  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 *  Version 2.x, Copyright (C) 2001, Paul Marquess.
 *  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 *


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/PPPort_xs.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/README
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -69,7 +69,7 @@
 5. COPYRIGHT
 ------------
 
-Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 Version 2.x, Copyright (C) 2001, Paul Marquess.
 Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/TODO
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/apicheck_c.PL
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/apicheck_c.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/apicheck_c.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 12 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:41 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/apicheck_c.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/devel/buildperl.pl
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/devel/buildperl.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/devel/buildperl.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,13 +5,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 18 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:42 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -132,6 +132,25 @@
               [ \&patch_sysv ],
             ],
   },
+  {
+    perl => [
+              qr/^5\.004_05$/,
+              qr/^5\.005(?:_0[1-4])?$/,
+              qr/^5\.6\.[01]$/,
+            ],
+    subs => [
+              [ \&patch_configure ],
+              [ \&patch_makedepend_lc ],
+            ],
+  },
+  {
+    perl => [
+              '5.8.0',
+            ],
+    subs => [
+              [ \&patch_makedepend_lc ],
+            ],
+  },
 );
 
 my(%perl, @perls);
@@ -176,7 +195,7 @@
 }
 
 find(sub {
-  /^(perl-?(5\..*))\.tar\.(gz|bz2)$/ or return;
+  /^(perl-?(5\..*))\.tar\.(gz|bz2|lzma)$/ or return;
   $perl{$1} = { version => $2, source => $File::Find::name, compress => $3 };
 }, $opt{source});
 
@@ -338,10 +357,12 @@
   my $perl = shift;
   my $prefix = expand($opt{prefix});
 
+  run_or_die(q{sed -i -e "s:\\*/\\*) finc=\\"-I\\`echo \\$file | sed 's#/\\[^/\\]\\*\\$##\\`\\" ;;:*/*) finc=\\"-I\\`echo \\$file | sed 's#/[^/]\\*\\$##'\\`\\" ;;:" makedepend.SH});
+
   print "building perl $perl->{version} ($current{config})\n";
 
   run_or_die("./Configure $config{$current{config}}{config_args} -Dusedevel -Uinstallusrbinperl -Dprefix=$prefix");
-  run_or_die("sed -i -e '/^.*<built-in>/d' -e '/^.*<command line>/d' makefile x2p/makefile");
+  run_or_die("sed -i -e '/^.*<builtin>/d' -e '/^.*<built-in>/d' -e '/^.*<command line>/d' -e '/^.*<command-line>/d' makefile x2p/makefile");
   run_or_die("make all");
   run("make test") if $opt{test};
   if ($opt{install}) {
@@ -425,6 +446,52 @@
   }
 }
 
+sub patch_configure
+{
+  patch(<<'END');
+--- Configure
++++ Configure
+@@ -3380,6 +3380,18 @@
+ test "X$gfpthkeep" != Xy && gfpth=""
+ EOSC
+ 
++# gcc 3.1 complains about adding -Idirectories that it already knows about,
++# so we will take those off from locincpth.
++case "$gccversion" in
++3*)
++    echo "main(){}">try.c
++    for incdir in `$cc -v -c try.c 2>&1 | \
++       sed '1,/^#include <\.\.\.>/d;/^End of search list/,$d;s/^ //'` ; do
++       locincpth=`echo $locincpth | sed s!$incdir!!`
++    done
++    $rm -f try try.*
++esac
++
+ : What should the include directory be ?
+ echo " "
+ $echo $n "Hmm...  $c"
+END
+}
+
+sub patch_makedepend_lc
+{
+  patch(<<'END');
+--- makedepend.SH
++++ makedepend.SH
+@@ -58,6 +58,10 @@ case $PERL_CONFIG_SH in
+       ;;
+ esac
+ 
++# Avoid localized gcc/cc messages
++LC_ALL=C
++export LC_ALL
++
+ # We need .. when we are in the x2p directory if we are using the
+ # cppstdin wrapper script.
+ # Put .. and . first so that we pick up the present cppstdin, not
+END
+}
+
 sub patch
 {
   my($patch) = @_;
@@ -528,7 +595,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (c) 2004-2009, Marcus Holland-Moritz.
+Copyright (c) 2004-2010, Marcus Holland-Moritz.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/devel/buildperl.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/devel/devtools.pl
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/devel/devtools.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/devel/devtools.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 6 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:42 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/devel/devtools.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/devel/mkapidoc.sh
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/devel/mkapidoc.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/devel/mkapidoc.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,13 +5,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 14 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:43 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/devel/mkapidoc.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,13 +5,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 18 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:43 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -29,21 +29,24 @@
   base    => 0,
   check   => 1,
   verbose => 0,
+  install => '/tmp/perl/install/default',
+  blead   => 'bleadperl',
 );
 
-GetOptions(\%opt, qw( base check! verbose )) or die;
+GetOptions(\%opt, qw( base check! verbose install=s blead=s blead-version=s )) or die;
 
 identify();
 
 my $outdir = 'parts/todo';
 
-my $install = '/tmp/perl/install/default';
-# my $install = '/tmp/perl/install/thread';
-
 my @perls = sort { $b->{version} <=> $a->{version} }
             map { { version => `$_ -e 'printf "%.6f", \$]'`, path => $_ } }
-            ('bleadperl', glob "$install/*/bin/perl5.*");
+            ($opt{blead}, glob "$opt{install}/*/bin/perl5.*");
 
+if (exists $opt{'blead-version'}) {
+  $perls[0]{version} = $opt{'blead-version'};
+}
+
 for (1 .. $#perls) {
   $perls[$_]{todo} = $perls[$_-1]{version};
 }


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo.pl
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,13 +5,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 18 $
+#  $Author: mhx $
+#  $Date: 2011/04/13 09:38:10 +0200 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -316,10 +316,28 @@
 
 sub get_apicheck_symbol_map
 {
-  my $r = run(qw(make apicheck.i));
-  
-  if ($r->{didnotrun} or $r->{status}) {
-    die "cannot run make apicheck.i";
+  my $r;
+
+  while (1) {
+    $r = run(qw(make apicheck.i));
+
+    last unless $r->{didnotrun} or $r->{status};
+
+    my %sym = map { /error: macro "(\w+)" (?:requires|passed) \d+ argument/ ? ($1 => 'A') : () }
+              @{$r->{stderr}};
+
+    if (keys %sym) {
+      for my $s (sort keys %sym) {
+        sym('new', $s, $sym{$s});
+        $all{$s} = $sym{$s};
+      }
+      write_todo($opt{todo}, $opt{version}, \%all);
+      regen_apicheck();
+    }
+    else {
+      die "cannot run make apicheck.i ($r->{didnotrun} / $r->{status}):\n".
+          join('', @{$r->{stdout}})."\n---\n".join('', @{$r->{stderr}});
+    }
   }
 
   my $fh = IO::File->new('apicheck.i')


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/devel/mktodo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/devel/regenerate
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/devel/regenerate	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/devel/regenerate	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,13 +5,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 10 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:42 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -33,7 +33,7 @@
   verbose => 0,
 );
 
-GetOptions(\%opt, qw( check! verbose )) or die pod2usage();
+GetOptions(\%opt, qw( check! verbose install=s blead=s blead-version=s )) or die pod2usage();
 
 identify();
 
@@ -83,9 +83,15 @@
   }
 }
 
+my @perlargs;
+push @perlargs, "--install=$opt{install}" if exists $opt{install};
+push @perlargs, "--blead=$opt{blead}" if exists $opt{blead};
+
 my $T0 = time;
 my @args = ddverbose();
 push @args, '--nocheck' unless $opt{check};
+push @args, "--blead-version=$opt{'blead-version'}" if exists $opt{'blead-version'};
+push @args, @perlargs;
 
 print "\nBuilding baseline files...\n\n";
 
@@ -113,7 +119,7 @@
 
 unless (runperl('Makefile.PL') and
         runtool('make') and
-        runperl('devel/scanprov', 'write')) {
+        runperl('devel/scanprov', '--mode=write', @perlargs)) {
   print "\nSomething went wrong while adding the baseline info.\n";
   quit_now();
 }
@@ -148,7 +154,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (c) 2006-2009, Marcus Holland-Moritz.
+Copyright (c) 2006-2010, Marcus Holland-Moritz.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/devel/regenerate
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/devel/scanprov
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/devel/scanprov	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/devel/scanprov	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,13 +5,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 11 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:42 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -21,11 +21,20 @@
 ################################################################################
 
 use strict;
+use Getopt::Long;
+
 require 'parts/ppptools.pl';
 
-die "Usage: $0 [check|write]\n" unless @ARGV && $ARGV[0] =~ /^(check|write)$/;
-my $mode = $1;
+our %opt = (
+  mode    => 'check',
+  install => '/tmp/perl/install/default',
+  blead   => 'bleadperl',
+);
 
+GetOptions(\%opt, qw( install=s mode=s blead=s )) or die;
+
+my $write = $opt{mode} eq 'write';
+
 my %embed = map { ( $_->{name} => 1 ) }
             parse_embed(qw(parts/embed.fnc parts/apidoc.fnc parts/ppport.fnc ));
 
@@ -33,11 +42,9 @@
                map { /^(\w+)/ ? $1 : () }
                `$^X ppport.h --list-provided`;
 
-my $install = '/tmp/perl/install/default';
-
 my @perls = sort { $b->{version} <=> $a->{version} }
             map { { version => `$_ -e 'printf "%.6f", \$]'`, path => $_ } }
-            ('bleadperl', glob "$install/*/bin/perl5.*");
+            ($opt{blead}, glob "$opt{install}/*/bin/perl5.*");
 
 for (1 .. $#perls) {
   $perls[$_]{todo} = $perls[$_-1]{version};
@@ -68,10 +75,10 @@
   $file = "$out/$file";
   -e $file or die "non-existent: $file\n";
   print "-- $file --\n";
-  $mode eq 'write' and (open F, ">>$file" or die "$file: $!\n");
+  $write and (open F, ">>$file" or die "$file: $!\n");
   for (@new) {
     print "adding $_\n";
-    $mode eq 'write' and printf F "%-30s # added by $0\n", $_;
+    $write and printf F "%-30s # added by $0\n", $_;
   }
-  $mode eq 'write' and close F;
+  $write and close F;
 }


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/devel/scanprov
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/mktests.PL
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/mktests.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/mktests.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 33 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:41 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -77,6 +77,8 @@
 
 BEGIN {
   if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
     require Config; import Config;
     use vars '%Config';
     if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/mktests.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/module2.c
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/module2.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/module2.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 *
 ********************************************************************************
 *
-*  $Revision: 1.1.1.1 $
-*  $Author: laffer1 $
-*  $Date: 2011-05-18 13:33:29 $
+*  $Revision: 13 $
+*  $Author: mhx $
+*  $Date: 2010/03/07 13:15:41 +0100 $
 *
 ********************************************************************************
 *
-*  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+*  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 *  Version 2.x, Copyright (C) 2001, Paul Marquess.
 *  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 *


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/module2.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/module3.c
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/module3.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/module3.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 *
 ********************************************************************************
 *
-*  $Revision: 1.1.1.1 $
-*  $Author: laffer1 $
-*  $Date: 2011-05-18 13:33:29 $
+*  $Revision: 13 $
+*  $Author: mhx $
+*  $Date: 2010/03/07 13:15:41 +0100 $
 *
 ********************************************************************************
 *
-*  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+*  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 *  Version 2.x, Copyright (C) 2001, Paul Marquess.
 *  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 *


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/module3.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/apicheck.pl
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/apicheck.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/apicheck.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,13 +5,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 37 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:43 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -261,7 +261,7 @@
   }
   my $aTHX_args = "$aTHX$args";
 
-  unless ($f->{flags}{'m'} and @arg == 0) {
+  if (!$f->{flags}{'m'} or $f->{flags}{'b'} or @arg > 0) {
     $args = "($args)";
     $aTHX_args = "($aTHX_args)";
   }


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/apicheck.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/apidoc.fnc
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/apidoc.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/apidoc.fnc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,15 +14,19 @@
 :
 
 Ama|char*|savepvs|const char* s
+Ama|char*|savesharedpvs|const char* s
 Ama|SV*|newSVpvs|const char* s
 Ama|SV*|newSVpvs_flags|const char* s|U32 flags
 Ama|SV*|newSVpvs_share|const char* s
-Am|bool|isALNUM|char ch
 Am|bool|isALPHA|char ch
+Am|bool|isASCII|char ch
 Am|bool|isDIGIT|char ch
 Am|bool|isLOWER|char ch
+Am|bool|isOCTAL|char ch
 Am|bool|isSPACE|char ch
 Am|bool|isUPPER|char ch
+Am|bool|isWORDCHAR|char ch
+Am|bool|isXDIGIT|char ch
 Am|bool|strEQ|char* s1|char* s2
 Am|bool|strGE|char* s1|char* s2
 Am|bool|strGT|char* s1|char* s2
@@ -37,14 +41,15 @@
 Am|bool|SvIsCOW|SV* sv
 Am|bool|SvRXOK|SV* sv
 Am|bool|SvTAINTED|SV* sv
+Am|bool|SvTRUE_nomg|SV* sv
 Am|bool|SvTRUE|SV* sv
 Am|bool|SvUOK|SV* sv
 Am|bool|SvVOK|SV* sv
 Am|char*|HePV|HE* he|STRLEN len
-Am|char*|HeUTF8|HE* he|STRLEN len
+Am|char*|HeUTF8|HE* he
+Am|char*|HvENAME|HV* stash
 Am|char*|HvNAME|HV* stash
 Am|char*|SvEND|SV* sv
-Am|char*|SvGAMAGIC|SV* sv
 Am|char *|SvGROW|SV* sv|STRLEN len
 Am|char*|SvPVbyte_force|SV* sv|STRLEN len
 Am|char*|SvPVbyte_nolen|SV* sv
@@ -54,6 +59,7 @@
 Am|char*|SvPV_force_nomg|SV* sv|STRLEN len
 Am|char*|SvPV_force|SV* sv|STRLEN len
 Am|char*|SvPV_nolen|SV* sv
+Am|char*|SvPV_nomg_nolen|SV* sv
 Am|char*|SvPV_nomg|SV* sv|STRLEN len
 Am|char*|SvPV|SV* sv|STRLEN len
 Am|char*|SvPVutf8_force|SV* sv|STRLEN len
@@ -65,6 +71,9 @@
 Am|char*|SvPVx|SV* sv|STRLEN len
 Am|char|toLOWER|char ch
 Am|char|toUPPER|char ch
+Am|const char *|OP_DESC|OP *o
+Am|const char *|OP_NAME|OP *o
+Am|HV *|cop_hints_2hv|const COP *cop|U32 flags
 Am|HV*|CvSTASH|CV* cv
 Am|HV*|gv_stashpvs|const char* name|I32 create
 Am|HV*|SvSTASH|SV* sv
@@ -84,6 +93,9 @@
 Amn|IV|POPi
 Amn|long|POPl
 Amn|NV|POPn
+Amn|peep_t|PL_peepp
+Amn|peep_t|PL_rpeepp
+Amn|Perl_ophook_t|PL_opfreehook
 Amn|STRLEN|PL_na
 Amn|SV|PL_sv_no
 Amn|SV|PL_sv_undef
@@ -91,11 +103,13 @@
 Amn|SV*|POPs
 Amn|U32|GIMME
 Amn|U32|GIMME_V
+Am|NV|SvNV_nomg|SV* sv
 Am|NV|SvNV|SV* sv
 Am|NV|SvNVx|SV* sv
 Am|NV|SvNVX|SV* sv
 Amn|(whatever)|RETVAL
 Amn|(whatever)|THIS
+Am|OP*|LINKLIST|OP *o
 Am|REGEXP *|SvRX|SV *sv
 Ams||dAX
 Ams||dAXMARK
@@ -120,6 +134,10 @@
 Am|STRLEN|HeKLEN|HE* he
 Am|STRLEN|SvCUR|SV* sv
 Am|STRLEN|SvLEN|SV* sv
+Am|SV *|cop_hints_fetch_pv|const COP *cop|const char *key|U32 hash|U32 flags
+Am|SV *|cop_hints_fetch_pvn|const COP *cop|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Am|SV *|cop_hints_fetch_pvs|const COP *cop|const char *key|U32 flags
+Am|SV *|cop_hints_fetch_sv|const COP *cop|SV *key|U32 hash|U32 flags
 Am|SV*|GvSV|GV* gv
 Am|SV*|HeSVKEY_force|HE* he
 Am|SV*|HeSVKEY|HE* he
@@ -135,8 +153,10 @@
 Am|SV*|SvREFCNT_inc_simple|SV* sv
 Am|SV*|SvREFCNT_inc|SV* sv
 Am|SV*|SvRV|SV* sv
+Am|SV *|sv_setref_pvs|SV *rv|const char* classname|const char* s
 Am|svtype|SvTYPE|SV* sv
 Ams||XCPT_RETHROW
+Ams||XS_APIVERSION_BOOTCHECK
 Ams||XSRETURN_EMPTY
 Ams||XSRETURN_NO
 Ams||XSRETURN_UNDEF
@@ -143,6 +163,8 @@
 Ams||XSRETURN_YES
 Ams||XS_VERSION_BOOTCHECK
 Am|U32|HeHASH|HE* he
+Am|U32|OP_CLASS|OP *o
+Am|U32|SvGAMAGIC|SV* sv
 Am|U32|SvIOKp|SV* sv
 Am|U32|SvIOK|SV* sv
 Am|U32|SvNIOKp|SV* sv
@@ -156,6 +178,7 @@
 Am|U32|SvREFCNT|SV* sv
 Am|U32|SvROK|SV* sv
 Am|U32|SvUTF8|SV* sv
+Am|U32|XopFLAGS|XOP *xop
 AmU||G_ARRAY
 AmU||G_DISCARD
 AmU||G_EVAL
@@ -188,8 +211,10 @@
 AmU||XCPT_CATCH
 AmU||XCPT_TRY_END
 AmU||XCPT_TRY_START
+AmUx|Perl_keyword_plugin_t|PL_keyword_plugin
 AmU||XS
 AmU||XS_VERSION
+AmU|yy_parser *|PL_parser
 Am|void *|CopyD|void* src|void* dest|int nitems|type
 Am|void|Copy|void* src|void* dest|int nitems|type
 Am|void|EXTEND|SP|int nitems
@@ -228,6 +253,10 @@
 Am|void|Safefree|void* ptr
 Am|void|StructCopy|type src|type dest|type
 Am|void|sv_catpvn_nomg|SV* sv|const char* ptr|STRLEN len
+Am|void|sv_catpv_nomg|SV* sv|const char* ptr
+Am|void|sv_catpvs_flags|SV* sv|const char* s|I32 flags
+Am|void|sv_catpvs_mg|SV* sv|const char* s
+Am|void|sv_catpvs_nomg|SV* sv|const char* s
 Am|void|sv_catpvs|SV* sv|const char* s
 Am|void|sv_catsv_nomg|SV* dsv|SV* ssv
 Am|void|SvCUR_set|SV* sv|STRLEN len
@@ -262,6 +291,7 @@
 Am|void|SvSetMagicSV_nosteal|SV* dsv|SV* ssv
 Am|void|SvSETMAGIC|SV* sv
 Am|void|SvSetMagicSV|SV* dsb|SV* ssv
+Am|void|sv_setpvs_mg|SV* sv|const char* s
 Am|void|sv_setpvs|SV* sv|const char* s
 Am|void|sv_setsv_nomg|SV* dsv|SV* ssv
 Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv
@@ -276,6 +306,9 @@
 Am|void|SvUTF8_off|SV *sv
 Am|void|SvUTF8_on|SV *sv
 Am|void|SvUV_set|SV* sv|UV val
+Am|void|XopDISABLE|XOP *xop|which
+Am|void|XopENABLE|XOP *xop|which
+Am|void|XopENTRY_set|XOP *xop|which|value
 Am|void|XPUSHi|IV iv
 Am|void|XPUSHmortal
 Am|void|XPUSHn|NV nv
@@ -295,6 +328,31 @@
 Am|void|XST_mYES|int pos
 Am|void *|ZeroD|void* dest|int nitems|type
 Am|void|Zero|void* dest|int nitems|type
+Amx|COPHH *|cophh_copy|COPHH *cophh
+Amx|COPHH *|cophh_delete_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
+Amx|COPHH *|cophh_delete_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Amx|COPHH *|cophh_delete_pvs|const COPHH *cophh|const char *key|U32 flags
+Amx|COPHH *|cophh_delete_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags
+Amx|COPHH *|cophh_new_empty
+Amx|COPHH *|cophh_store_pv|const COPHH *cophh|const char *key|U32 hash|SV *value|U32 flags
+Amx|COPHH *|cophh_store_pvn|COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|SV *value|U32 flags
+Amx|COPHH *|cophh_store_pvs|const COPHH *cophh|const char *key|SV *value|U32 flags
+Amx|COPHH *|cophh_store_sv|const COPHH *cophh|SV *key|U32 hash|SV *value|U32 flags
+Amx|HV *|cophh_2hv|const COPHH *cophh|U32 flags
+Am||XopENTRY|XOP *xop|which
+Amx|SV *|cophh_fetch_pv|const COPHH *cophh|const char *key|U32 hash|U32 flags
+Amx|SV *|cophh_fetch_pvn|const COPHH *cophh|const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Amx|SV *|cophh_fetch_pvs|const COPHH *cophh|const char *key|U32 flags
+Amx|SV *|cophh_fetch_sv|const COPHH *cophh|SV *key|U32 hash|U32 flags
+AmxU|char *|PL_parser-E<gt>bufend
+AmxU|char *|PL_parser-E<gt>bufptr
+AmxU|char *|PL_parser-E<gt>linestart
+AmxU|SV *|PL_parser-E<gt>linestr
+Amx|void|BhkDISABLE|BHK *hk|which
+Amx|void|BhkENABLE|BHK *hk|which
+Amx|void|BhkENTRY_set|BHK *hk|which|void *ptr
+Amx|void|cophh_free|COPHH *cophh
+Amx|void|lex_stuff_pvs|const char *pv|U32 flags
 m|AV *|CvPADLIST|CV *cv
 m|bool|CvWEAKOUTSIDE|CV *cv
 m|char *|PAD_COMPNAME_PV|PADOFFSET po
@@ -310,10 +368,12 @@
 ms||djSP
 m|STRLEN|PAD_COMPNAME_GEN|PADOFFSET po
 m|STRLEN|PAD_COMPNAME_GEN_set|PADOFFSET po|int gen
+m|struct refcounted_he *|refcounted_he_new_pvs|struct refcounted_he *parent|const char *key|SV *value|U32 flags
 m|SV *|CX_CURPAD_SV|struct context|PADOFFSET po
 m|SV *|PAD_BASE_SV	|PADLIST padlist|PADOFFSET po
 m|SV *|PAD_SETSV	|PADOFFSET po|SV* sv
 m|SV *|PAD_SVl	|PADOFFSET po
+m|SV *|refcounted_he_fetch_pvs|const struct refcounted_he *chain|const char *key|U32 flags
 m|U32|PAD_COMPNAME_FLAGS|PADOFFSET po
 mU||LVRET
 m|void|CX_CURPAD_SAVE|struct context
@@ -328,3 +388,6 @@
 m|void|SAVECLEARSV	|SV **svp
 m|void|SAVECOMPPAD
 m|void|SAVEPADSV	|PADOFFSET po
+mx|U32|BhkFLAGS|BHK *hk
+mx|void *|BhkENTRY|BHK *hk|which
+mx|void|CALL_BLOCK_HOOKS|which|arg


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/apidoc.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004000	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,7 +24,7 @@
 block_gimme                    # E
 call_list                      # E
 cv_const_sv                    # E
-delimcpy                       # E
+delimcpy                       # U
 do_open                        # E (Perl_do_open)
 gv_autoload4                   # E
 gv_efullname3                  # U
@@ -39,7 +39,7 @@
 hv_iterkeysv                   # E
 hv_ksplit                      # E
 hv_store_ent                   # U
-ibcmp_locale                   # E
+ibcmp_locale                   # U
 my_failure_exit                # E
 my_memcmp                      # U
 my_pclose                      # E (Perl_my_pclose)


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004010
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004020
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004030
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004040
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004050
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004050	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004050	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 do_binmode                     # E
 newCONSTSUB                    # E
 newSVpvn                       # E
-save_aelem                     # E
+save_aelem                     # U
 save_helem                     # U
 sv_catpv_mg                    # E
 sv_catpvn_mg                   # U
@@ -31,8 +31,6 @@
 PL_errgv                       # added by devel/scanprov
 PL_perl_destruct_level         # added by devel/scanprov
 PL_perldb                      # added by devel/scanprov
-PL_rsfp                        # added by devel/scanprov
-PL_rsfp_filters                # added by devel/scanprov
 PL_stack_base                  # added by devel/scanprov
 PL_stack_sp                    # added by devel/scanprov
 PL_stdingv                     # added by devel/scanprov


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5004050
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005000	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,6 +18,7 @@
 runops_debug                   # E
 runops_standard                # E
 save_iv                        # E (save_iv)
+save_op                        # U
 screaminstr                    # E (Perl_screaminstr)
 sv_iv                          # E
 sv_peek                        # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005010
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005020
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005030
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005040
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5005040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006000	2013-12-01 21:45:02 UTC (rev 6430)
@@ -66,10 +66,10 @@
 gv_dump                        # E
 init_i18nl10n                  # E (perl_init_i18nl10n)
 init_i18nl14n                  # E (perl_init_i18nl14n)
+isASCII                        # U
+isXDIGIT                       # U
 is_uni_alnum                   # E
 is_uni_alnum_lc                # E
-is_uni_alnumc                  # E
-is_uni_alnumc_lc               # E
 is_uni_alpha                   # E
 is_uni_alpha_lc                # E
 is_uni_ascii                   # E
@@ -95,10 +95,9 @@
 is_uni_xdigit                  # E
 is_uni_xdigit_lc               # E
 is_utf8_alnum                  # E
-is_utf8_alnumc                 # E
 is_utf8_alpha                  # E
 is_utf8_ascii                  # E
-is_utf8_char                   # E
+is_utf8_char                   # U
 is_utf8_cntrl                  # E
 is_utf8_digit                  # E
 is_utf8_graph                  # E
@@ -150,7 +149,6 @@
 set_numeric_radix              # E
 set_numeric_standard           # E (perl_set_numeric_standard)
 str_to_version                 # E
-sv_2nv                         # E (Perl_sv_2nv)
 sv_2pv_nolen                   # U
 sv_2pvbyte                     # E
 sv_2pvbyte_nolen               # U
@@ -286,10 +284,8 @@
 dTHXoa                         # added by devel/scanprov
 dXSTARG                        # added by devel/scanprov
 isALNUMC                       # added by devel/scanprov
-isASCII                        # added by devel/scanprov
 isCNTRL                        # added by devel/scanprov
 isGRAPH                        # added by devel/scanprov
 isPUNCT                        # added by devel/scanprov
-isXDIGIT                       # added by devel/scanprov
 pTHX                           # added by devel/scanprov
 pTHX_                          # added by devel/scanprov


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006001
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006002
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5006002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007001
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007002
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007003
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007003	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 5.007003
+OP_DESC                        # U
+OP_NAME                        # U
+PL_peepp                       # E
 PerlIO_clearerr                # U (PerlIO_clearerr)
 PerlIO_close                   # U (PerlIO_close)
 PerlIO_eof                     # U (PerlIO_eof)


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5007003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008001
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008002
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008003
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008004
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008005
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008006
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008006	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008006	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008006
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008007
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008007	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008007	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008007
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008008
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008008	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008008	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5008008
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009001
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009002
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009003
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009003	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,7 +31,6 @@
 newSVpvs                       # U
 newSVpvs_share                 # U
 newWHENOP                      # U
-newWHILEOP                     # E (Perl_newWHILEOP)
 savepvs                        # U
 sortsv_flags                   # U
 sv_catpvs                      # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009004
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009004	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,6 +11,7 @@
 SvREFCNT_inc_void              # U
 SvREFCNT_inc_void_NN           # U
 gv_name_set                    # U
+hv_copy_hints_hv               # U
 hv_stores                      # U
 my_snprintf                    # U
 my_strlcat                     # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009005
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009005	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 5.009005
+PL_parser                      # E
 Perl_signbit                   # U
 SvRX                           # U
 SvRXOK                         # U
@@ -6,6 +7,7 @@
 av_create_and_unshift_one      # U
 get_cvn_flags                  # U
 gv_fetchfile_flags             # U
+lex_start                      # E (Perl_lex_start)
 mro_get_linear_isa             # U
 mro_method_changed_in          # U
 my_dirfd                       # U
@@ -30,6 +32,7 @@
 scan_vstring                   # E (Perl_scan_vstring)
 upg_version                    # E (Perl_upg_version)
 PERL_PV_ESCAPE_RE              # added by devel/scanprov
-PL_parser                      # added by devel/scanprov
 SV_COW_SHARED_HASH_KEYS        # added by devel/scanprov
 SVfARG                         # added by devel/scanprov
+memEQs                         # added by devel/scanprov
+memNEs                         # added by devel/scanprov


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5009005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5010000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5010000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5010000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5010000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5011000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/base/5011000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/base/5011000	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,52 +1,16 @@
 5.011000
-HeUTF8                         # U
-MULTICALL                      # E
-PERL_SYS_TERM                  # E
-POP_MULTICALL                  # E
-PUSH_MULTICALL                 # E
+Gv_AMupdate                    # E (Perl_Gv_AMupdate)
+PL_opfreehook                  # E
 SvOOK_offset                   # U
 av_iter_p                      # U
-croak_xs_usage                 # U
 fetch_cop_label                # U
+gv_add_by_type                 # U
 gv_fetchmethod_flags           # U
-hv_assert                      # U
-mPUSHs                         # U
-mXPUSHs                        # U
-mro_get_from_name              # U
-mro_get_private_data           # U
-mro_register                   # U
-mro_set_mro                    # U
-mro_set_private_data           # U
-newSVpvn_flags                 # U
-newSVpvn_utf8                  # U
-newSVpvs_flags                 # U
-pad_sv                         # U
+is_ascii_string                # U
 pregfree2                      # U
-ref                            # U (Perl_ref)
 save_adelete                   # U
+save_aelem_flags               # U
+save_hdelete                   # U
 save_helem_flags               # U
-save_padsv_and_mortalize       # U
-save_pushptr                   # U
-stashpv_hvname_match           # U
-sv_insert_flags                # U
-sv_magic_portable              # U
 sv_utf8_upgrade_flags_grow     # U
-DEFSV_set                      # added by devel/scanprov
-PERL_BCDVERSION                # added by devel/scanprov
-PERL_MAGIC_glob                # added by devel/scanprov
-PERL_MAGIC_mutex               # added by devel/scanprov
-PL_bufend                      # added by devel/scanprov
-PL_bufptr                      # added by devel/scanprov
-PL_copline                     # added by devel/scanprov
-PL_error_count                 # added by devel/scanprov
-PL_expect                      # added by devel/scanprov
-PL_in_my                       # added by devel/scanprov
-PL_in_my_stash                 # added by devel/scanprov
-PL_lex_state                   # added by devel/scanprov
-PL_lex_stuff                   # added by devel/scanprov
-PL_linestr                     # added by devel/scanprov
-PL_tokenbuf                    # added by devel/scanprov
-WARN_ASSERTIONS                # added by devel/scanprov
-aTHXR                          # added by devel/scanprov
-aTHXR_                         # added by devel/scanprov
-dTHXR                          # added by devel/scanprov
+get_cvs                        # added by devel/scanprov


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/base/5011000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/embed.fnc
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/embed.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/embed.fnc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
-: BEGIN {die "You meant to run embed.pl"} # Stop early if fed to perl.
+: BEGIN{die "You meant to run regen/embed.pl"} # Stop early if fed to perl.
 :
+: This file is processed by regen/embed.pl and autodoc.pl
+:
 : Lines are of the form:
 :    flags|return_type|function_name|arg1|arg2|...|argN
 :
@@ -7,29 +9,110 @@
 : Leading and trailing whitespace will be ignored in each component.
 :
 : flags are single letters with following meanings:
-:	A		member of public API
-:	m		Implemented as a macro - no export, no
-:			proto, no #define
-:	d		function has documentation with its source
-:	s		static function, should have an S_ prefix in
-:			source file; for macros (m), suffix the usage
-:			example with a semicolon
-:	n		has no implicit interpreter/thread context argument
-:	p		function has a Perl_ prefix
-:	f		function takes printf style format string, varargs
-:	r		function never returns
-:	o		has no compatibility macro (#define foo Perl_foo)
-:	x		not exported
-:	X		explicitly exported
-:	M		may change
-:	E		visible to extensions included in the Perl core
-:	b		binary backward compatibility; function is a macro
-:			but has also Perl_ implementation (which is exported)
-:	U		suppress usage example in autogenerated documentation
-:	a		allocates memory a la malloc/calloc.  Is also "R".
-:	R		Return value must not be ignored.
-:	P		pure function: no effects except the return value;
-:			return value depends only on parms and/or globals
+:
+:   A  Member of public API:
+:
+:         add entry to global.sym (unless x or m);
+:         any doc entry goes in perlapi.pod rather than perlintern.pod
+:         makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
+:
+:   a  Allocates memory a la malloc/calloc.  Also implies "R":
+:
+:         proto.h: add __attribute__malloc__
+:
+:   b  Binary backward compatibility; function is a macro
+:      but has also Perl_ implementation (which is exported):
+:
+:         add entry to global.sym;
+:         don't define PERL_ARGS_ASSERT_FOO
+:
+:   D  Function is deprecated:
+:
+:         proto.h: add __attribute__deprecated__
+:
+:   d  Function has documentation with its source:
+:
+:         enables 'no docs for foo" warning in autodoc.pl
+:
+:   E  Visible to extensions included in the Perl core:
+:
+:         in embed.h, change "#ifdef PERL_CORE"
+:         into               "#if defined(PERL_CORE) || defined(PERL_EXT)"
+:
+:      Should always be combined with "X" to be usable from dynamically
+:      loaded extensions.
+:
+:   f  Function takes printf style format string, varargs:
+:
+:         proto.h: add __attribute__format__ (or ...null_ok__)
+:
+:   i  Static inline: function in source code has a S_ prefix:
+:
+:         proto.h: function is declared as S_foo rather than foo,
+:                PERL_STATIC_INLINE is added to declaration;
+:         embed.h: "#define foo S_foo" entries added
+:
+:   M  May change:
+:
+:         any doc entry is marked that function may change
+:
+:   m  Implemented as a macro:
+:
+:         suppress proto.h entry
+:         suppress global.sym entry
+:         suppress embed.h entry
+:
+:   n  Has no implicit interpreter/thread context argument:
+:
+:         suppress the pTHX part of "foo(pTHX...)" in proto.h;
+:         In the PERL_IMPLICIT_SYS branch of embed.h, generates
+:             "#define foo Perl_foo",      rather than
+:             "#define foo(a,b,c) Perl_foo(aTHX_ a,b,c)
+:
+:   O  Has a perl_ compatibility macro.
+:
+:      The really OLD name for API funcs
+:
+:   o  Has no Perl_foo compatibility macro:
+:
+:         embed.h: suppress "#define foo Perl_foo"
+:
+:   P  Pure function: no effects except the return value;
+:      return value depends only on params and/or globals:
+:
+:         proto.h: add __attribute__pure__
+:
+:   p  Function in source code has a Perl_ prefix:
+:
+:         proto.h: function is declared as Perl_foo rather than foo
+:         embed.h: "#define foo Perl_foo" entries added
+:
+:   R  Return value must not be ignored (also implied by 'a' flag):
+:
+:        proto.h: add __attribute__warn_unused_result__
+:
+:   r  Function never returns:
+:
+:        proto.h: add __attribute__noreturn__
+:
+:   s  Static function: function in source code has a S_ prefix:
+:
+:         proto.h: function is declared as S_foo rather than foo,
+:                STATIC is added to declaration;
+:         embed.h: "#define foo S_foo" entries added
+:
+:   U  Suppress usage example in autogenerated documentation
+:
+:         (currently no effect)
+:
+:   X  Explicitly exported:
+:
+:         add entry to global.sym, unless x or m
+:
+:   x  Not exported
+:
+:         suppress entry in global.sym
+:
 : (see also L<perlguts/Internal Functions> for those flags.)
 :
 : Pointer parameters that must not be passed NULLs should be prefixed with NN.
@@ -41,8 +124,6 @@
 :
 : Individual flags may be separated by whitespace.
 
-START_EXTERN_C
-
 #if defined(PERL_IMPLICIT_SYS)
 Ano	|PerlInterpreter*|perl_alloc_using \
 				|NN struct IPerlMem *ipM \
@@ -93,18 +174,16 @@
 AnpR	|void*	|get_context
 Anp	|void	|set_context	|NN void *t
 
-END_EXTERN_C
-
-/* functions with flag 'n' should come before here */
-START_EXTERN_C
-#  include "pp_proto.h"
+XEop	|bool	|try_amagic_bin	|int method|int flags
+XEop	|bool	|try_amagic_un	|int method|int flags
 Ap	|SV*	|amagic_call	|NN SV* left|NN SV* right|int method|int dir
-Ap	|bool	|Gv_AMupdate	|NN HV* stash
+Ap	|SV *	|amagic_deref_call|NN SV *ref|int method
+Ap	|int	|Gv_AMupdate	|NN HV* stash|bool destructing
 ApR	|CV*	|gv_handler	|NULLOK HV* stash|I32 id
-: Used in perly.y
-p	|OP*	|append_elem	|I32 optype|NULLOK OP* first|NULLOK OP* last
-: Used in perly.y
-p	|OP*	|append_list	|I32 optype|NULLOK LISTOP* first|NULLOK LISTOP* last
+Apd	|OP*	|op_append_elem	|I32 optype|NULLOK OP* first|NULLOK OP* last
+Apd	|OP*	|op_append_list	|I32 optype|NULLOK OP* first|NULLOK OP* last
+Apd	|OP*	|op_linklist	|NN OP *o
+Apd	|OP*	|op_prepend_elem|I32 optype|NULLOK OP* first|NULLOK OP* last
 : FIXME - this is only called by pp_chown. They should be merged.
 p	|I32	|apply		|I32 type|NN SV** mark|NN SV** sp
 ApM	|void	|apply_attrs_string|NN const char *stashpv|NN CV *cv|NN const char *attrstr|STRLEN len
@@ -128,7 +207,7 @@
 Apd	|void	|av_unshift	|NN AV *av|I32 num
 Apo	|SV**	|av_arylen_p	|NN AV *av
 Apo	|IV*	|av_iter_p	|NN AV *av
-#if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_AV_C)
 s	|MAGIC*	|get_aux_mg	|NN AV *av
 #endif
 : Used in perly.y
@@ -138,12 +217,15 @@
 ApR	|I32	|block_gimme
 : Used in perly.y
 pR	|int	|block_start	|int full
+Aodp	|void	|blockhook_register |NN BHK *hk
 : Used in perl.c
 p	|void	|boot_core_UNIVERSAL
 : Used in perl.c
 p	|void	|boot_core_PerlIO
 Ap	|void	|call_list	|I32 oldscope|NN AV *paramList
-: Used in serveral source files
+Apd	|const PERL_CONTEXT *	|caller_cx|I32 level \
+				|NULLOK const PERL_CONTEXT **dbcxp
+: Used in several source files
 pR	|bool	|cando		|Mode_t mode|bool effective|NN const Stat_t* statbufp
 ApR	|U32	|cast_ulong	|NV f
 ApR	|I32	|cast_i32	|NV f
@@ -156,15 +238,17 @@
 pR	|OP*	|convert	|I32 optype|I32 flags|NULLOK OP* o
 : Used in op.c and perl.c
 pM	|PERL_CONTEXT*	|create_eval_scope|U32 flags
+Aprd	|void	|croak_sv	|NN SV *baseex
 : croak()'s first parm can be NULL.  Otherwise, mod_perl breaks.
 Afprd	|void	|croak		|NULLOK const char* pat|...
-Apr	|void	|vcroak		|NULLOK const char* pat|NULLOK va_list* args
+Aprd	|void	|vcroak		|NULLOK const char* pat|NULLOK va_list* args
+Aprd	|void	|croak_no_modify
 Aprd	|void	|croak_xs_usage	|NN const CV *const cv \
 				|NN const char *const params
 
 #if defined(PERL_IMPLICIT_CONTEXT)
 Afnrp	|void	|croak_nocontext|NULLOK const char* pat|...
-Afnp	|OP*	|die_nocontext	|NN const char* pat|...
+Afnp	|OP*	|die_nocontext	|NULLOK const char* pat|...
 Afnp	|void	|deb_nocontext	|NN const char* pat|...
 Afnp	|char*	|form_nocontext	|NN const char* pat|...
 Anp	|void	|load_module_nocontext|U32 flags|NN SV* name|NULLOK SV* ver|...
@@ -201,7 +285,7 @@
 pPR	|U32*	|get_opargs
 ApPR	|PPADDR_t*|get_ppaddr
 : Used by CXINC, which appears to be in widespread use
-EXpR	|I32	|cxinc
+ApR	|I32	|cxinc
 Afp	|void	|deb		|NN const char* pat|...
 Ap	|void	|vdeb		|NN const char* pat|NULLOK va_list* args
 Ap	|void	|debprofdump
@@ -208,20 +292,14 @@
 Ap	|I32	|debop		|NN const OP* o
 Ap	|I32	|debstack
 Ap	|I32	|debstackptrs
-Ap	|char*	|delimcpy	|NN char* to|NN const char* toend|NN const char* from \
+Anp	|char*	|delimcpy	|NN char* to|NN const char* toend|NN const char* from \
 				|NN const char* fromend|int delim|NN I32* retlen
 : Used in op.c, perl.c
 pM	|void	|delete_eval_scope
-: Used in various files
-p	|void	|deprecate	|NN const char *const s
-: Used in various files
-p	|void	|deprecate_old	|NN const char *const s
-Afp	|OP*	|die		|NULLOK const char* pat|...
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
-s	|OP*	|vdie		|NULLOK const char* pat|NULLOK va_list* args
-#endif
+Apd	|OP*	|die_sv		|NN SV *baseex
+Afpd	|OP*	|die		|NULLOK const char* pat|...
 : Used in util.c
-p	|OP*	|die_where	|NULLOK const char* message|STRLEN msglen
+pr	|void	|die_unwind	|NN SV* msv
 Ap	|void	|dounwind	|I32 cxix
 : FIXME
 pmb	|bool	|do_aexec	|NULLOK SV* really|NN SV** mark|NN SV** sp
@@ -229,7 +307,6 @@
 p	|bool	|do_aexec5	|NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
 Ap	|int	|do_binmode	|NN PerlIO *fp|int iotype|int mode
 : Used in pp.c
-p	|void	|do_chop	|NN SV *astr|NN SV *sv
 Ap	|bool	|do_close	|NULLOK GV* gv|bool not_implicit
 : Defined in doio.c, used only in pp_sys.c
 p	|bool	|do_eof		|NN GV* gv
@@ -249,7 +326,7 @@
 p	|bool	|do_exec3	|NN const char *incmd|int fd|int do_report
 #endif
 p	|void	|do_execfree
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DOIO_C)
 s	|void	|exec_failed	|NN const char *cmd|int fd|int do_report
 #endif
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
@@ -267,8 +344,8 @@
 p	|I32	|do_shmio	|I32 optype|NN SV** mark|NN SV** sp
 #endif
 Ap	|void	|do_join	|NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
-: Used in pp.c and pp_hot.c
-p	|OP*	|do_kv
+: Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
+: p	|OP*	|do_kv
 Apmb	|bool	|do_open	|NN GV* gv|NN const char* name|I32 len|int as_raw \
 				|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
 Ap	|bool	|do_open9	|NN GV *gv|NN const char *name|I32 len|int as_raw \
@@ -282,8 +359,6 @@
 p	|bool	|do_print	|NULLOK SV* sv|NN PerlIO* fp
 : Used in pp_sys.c
 pR	|OP*	|do_readline
-: Used in pp.c
-p	|I32	|do_chomp	|NN SV* sv
 : Defined in doio.c, used only in pp_sys.c
 p	|bool	|do_seek	|NULLOK GV* gv|Off_t pos|int whence
 Ap	|void	|do_sprintf	|NN SV* sv|I32 len|NN SV** sarg
@@ -303,6 +378,7 @@
 p	|OP*	|dofile		|NN OP* term|I32 force_builtin
 ApR	|I32	|dowantarray
 Ap	|void	|dump_all
+p	|void	|dump_all_perl	|bool justperl
 Ap	|void	|dump_eval
 #if defined(DUMP_FDS)
 Ap	|void	|dump_fds	|NN char* s
@@ -312,7 +388,9 @@
 Ap	|void	|op_dump	|NN const OP *o
 Ap	|void	|pmop_dump	|NULLOK PMOP* pm
 Ap	|void	|dump_packsubs	|NN const HV* stash
+p	|void	|dump_packsubs_perl	|NN const HV* stash|bool justperl
 Ap	|void	|dump_sub	|NN const GV* gv
+p	|void	|dump_sub_perl	|NN const GV* gv|bool justperl
 Apd	|void	|fbm_compile	|NN SV* sv|U32 flags
 ApdR	|char*	|fbm_instr	|NN unsigned char* big|NN unsigned char* bigend \
 				|NN SV* littlestr|U32 flags
@@ -319,7 +397,7 @@
 : Defined in util.c, used only in perl.c
 p	|char*	|find_script	|NN const char *scriptname|bool dosearch \
 				|NULLOK const char *const *const search_ext|I32 flags
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 s	|OP*	|force_list	|NULLOK OP* arg
 : FIXME
 s	|OP*	|fold_constants	|NN OP *o
@@ -327,7 +405,7 @@
 Afpd	|char*	|form		|NN const char* pat|...
 Ap	|char*	|vform		|NN const char* pat|NULLOK va_list* args
 Ap	|void	|free_tmps
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 s	|OP*	|gen_constant_list|NULLOK OP* o
 #endif
 #if !defined(HAS_GETENV_LEN)
@@ -338,9 +416,10 @@
 pox	|void	|get_db_sub	|NULLOK SV **svp|NN CV *cv
 Ap	|void	|gp_free	|NULLOK GV* gv
 Ap	|GP*	|gp_ref		|NULLOK GP* gp
-Ap	|GV*	|gv_AVadd	|NN GV* gv
-Ap	|GV*	|gv_HVadd	|NN GV* gv
-Ap	|GV*	|gv_IOadd	|NN GV* gv
+Ap	|GV*	|gv_add_by_type	|NULLOK GV *gv|svtype type
+Apmb	|GV*	|gv_AVadd	|NULLOK GV *gv
+Apmb	|GV*	|gv_HVadd	|NULLOK GV *gv
+Apmb	|GV*	|gv_IOadd	|NULLOK GV* gv
 ApR	|GV*	|gv_autoload4	|NULLOK HV* stash|NN const char* name|STRLEN len|I32 method
 Ap	|void	|gv_check	|NN const HV* stash
 Ap	|void	|gv_efullname	|NN SV* sv|NN const GV* gv
@@ -354,7 +433,7 @@
 Apdmb	|GV*	|gv_fetchmethod	|NN HV* stash|NN const char* name
 Apd	|GV*	|gv_fetchmethod_autoload|NN HV* stash|NN const char* name \
 				|I32 autoload
-ApdM	|GV*	|gv_fetchmethod_flags|NN HV* stash|NN const char* name \
+ApM	|GV*	|gv_fetchmethod_flags|NN HV* stash|NN const char* name \
 				|U32 flags
 Ap	|GV*	|gv_fetchpv	|NN const char *nambeg|I32 add|const svtype sv_type
 Ap	|void	|gv_fullname	|NN SV* sv|NN const GV* gv
@@ -362,14 +441,17 @@
 Ap	|void	|gv_fullname4	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix|bool keepmain
 : Used in scope.c
 pMox	|GP *	|newGP		|NN GV *const gv
+pX	|void	|cvgv_set	|NN CV* cv|NULLOK GV* gv
+pX	|void	|cvstash_set	|NN CV* cv|NULLOK HV* stash
 Ap	|void	|gv_init	|NN GV* gv|NULLOK HV* stash|NN const char* name|STRLEN len|int multi
 Ap	|void	|gv_name_set	|NN GV* gv|NN const char *name|U32 len|U32 flags
+XMpd	|void	|gv_try_downgrade|NN GV* gv
 Apd	|HV*	|gv_stashpv	|NN const char* name|I32 flags
 Apd	|HV*	|gv_stashpvn	|NN const char* name|U32 namelen|I32 flags
 Apd	|HV*	|gv_stashsv	|NN SV* sv|I32 flags
 Apd	|void	|hv_clear	|NULLOK HV *hv
 : used in SAVEHINTS() and op.c
-poM	|HV *	|hv_copy_hints_hv|NULLOK HV *const ohv
+ApdR	|HV *	|hv_copy_hints_hv|NULLOK HV *const ohv
 Ap	|void	|hv_delayfree_ent|NN HV *hv|NULLOK HE *entry
 Abmd	|SV*	|hv_delete	|NULLOK HV *hv|NN const char *key|I32 klen \
 				|I32 flags
@@ -385,6 +467,7 @@
 Ap	|void*	|hv_common_key_len|NULLOK HV *hv|NN const char *key \
 				|I32 klen_i32|const int action|NULLOK SV *val \
 				|const U32 hash
+Apod	|STRLEN	|hv_fill	|NN HV const *const hv
 Ap	|void	|hv_free_ent	|NN HV *hv|NULLOK HE *entryK
 Apd	|I32	|hv_iterinit	|NN HV *hv
 ApdR	|char*	|hv_iterkey	|NN HE* entry|NN I32* retlen
@@ -395,43 +478,59 @@
 ApdR	|SV*	|hv_iterval	|NN HV *hv|NN HE *entry
 Ap	|void	|hv_ksplit	|NN HV *hv|IV newmax
 Apdbm	|void	|hv_magic	|NN HV *hv|NULLOK GV *gv|int how
-: Used in B.xs
-XEdpoM	|HV *	|refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c
-: Used in APItest.xs
-XEpoM	|SV *	|refcounted_he_fetch|NULLOK const struct refcounted_he *chain \
-				|NULLOK SV *keysv|NULLOK const char *key \
-				|STRLEN klen, int flags, U32 hash
-: Used in various files
-dpoM	|void	|refcounted_he_free|NULLOK struct refcounted_he *he
-: Used in various files
-XEdpoM	|struct refcounted_he *|refcounted_he_new \
-				|NULLOK struct refcounted_he *const parent \
-				|NULLOK SV *const key|NULLOK SV *const value
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
-s	|struct refcounted_he *	|refcounted_he_new_common \
-				|NULLOK struct refcounted_he *const parent \
-				|NN const char *const key_p \
-				|const STRLEN key_len|const char flags \
-				|char value_type|NN const void *value \
-				|const STRLEN value_len
+#if defined(PERL_IN_HV_C)
+s	|SV *	|refcounted_he_value	|NN const struct refcounted_he *he
 #endif
+Xpd	|HV *	|refcounted_he_chain_2hv|NULLOK const struct refcounted_he *c|U32 flags
+Xpd	|SV *	|refcounted_he_fetch_pvn|NULLOK const struct refcounted_he *chain \
+				|NN const char *keypv|STRLEN keylen|U32 hash|U32 flags
+Xpd	|SV *	|refcounted_he_fetch_pv|NULLOK const struct refcounted_he *chain \
+				|NN const char *key|U32 hash|U32 flags
+Xpd	|SV *	|refcounted_he_fetch_sv|NULLOK const struct refcounted_he *chain \
+				|NN SV *key|U32 hash|U32 flags
+Xpd	|struct refcounted_he *|refcounted_he_new_pvn \
+				|NULLOK struct refcounted_he *parent \
+				|NN const char *keypv|STRLEN keylen \
+				|U32 hash|NULLOK SV *value|U32 flags
+Xpd	|struct refcounted_he *|refcounted_he_new_pv \
+				|NULLOK struct refcounted_he *parent \
+				|NN const char *key \
+				|U32 hash|NULLOK SV *value|U32 flags
+Xpd	|struct refcounted_he *|refcounted_he_new_sv \
+				|NULLOK struct refcounted_he *parent \
+				|NN SV *key \
+				|U32 hash|NULLOK SV *value|U32 flags
+Xpd	|void	|refcounted_he_free|NULLOK struct refcounted_he *he
+Xpd	|struct refcounted_he *|refcounted_he_inc|NULLOK struct refcounted_he *he
 Abmd	|SV**	|hv_store	|NULLOK HV *hv|NULLOK const char *key \
 				|I32 klen|NULLOK SV *val|U32 hash
 Abmd	|HE*	|hv_store_ent	|NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
 				|U32 hash
-AbmdM	|SV**	|hv_store_flags	|NULLOK HV *hv|NULLOK const char *key \
+AbmM	|SV**	|hv_store_flags	|NULLOK HV *hv|NULLOK const char *key \
 				|I32 klen|NULLOK SV *val|U32 hash|int flags
-Apd	|void	|hv_undef	|NULLOK HV *hv
-ApP	|I32	|ibcmp		|NN const char* a|NN const char* b|I32 len
-ApP	|I32	|ibcmp_locale	|NN const char* a|NN const char* b|I32 len
-Apd	|I32	|ibcmp_utf8	|NN const char *s1|NULLOK char **pe1|UV l1 \
+Amd	|void	|hv_undef	|NULLOK HV *hv
+poX	|void	|hv_undef_flags	|NULLOK HV *hv|U32 flags
+Am	|I32	|ibcmp		|NN const char* a|NN const char* b|I32 len
+AnpP	|I32	|foldEQ		|NN const char* a|NN const char* b|I32 len
+Am	|I32	|ibcmp_locale	|NN const char* a|NN const char* b|I32 len
+AnpP	|I32	|foldEQ_locale	|NN const char* a|NN const char* b|I32 len
+Am	|I32	|ibcmp_utf8	|NN const char *s1|NULLOK char **pe1|UV l1 \
 				|bool u1|NN const char *s2|NULLOK char **pe2 \
 				|UV l2|bool u2
-#if defined(PERL_IN_DOIO_C) || defined(PERL_DECL_PROT)
+Amd	|I32	|foldEQ_utf8	|NN const char *s1|NULLOK char **pe1|UV l1 \
+				|bool u1|NN const char *s2|NULLOK char **pe2 \
+				|UV l2|bool u2
+AMp	|I32	|foldEQ_utf8_flags |NN const char *s1|NULLOK char **pe1|UV l1 \
+				|bool u1|NN const char *s2|NULLOK char **pe2 \
+				|UV l2|bool u2|U32 flags
+AnpP	|I32	|foldEQ_latin1	|NN const char* a|NN const char* b|I32 len
+#if defined(PERL_IN_DOIO_C)
 sR	|bool	|ingroup	|Gid_t testgid|bool effective
 #endif
 : Used in toke.c
 p	|void	|init_argv_symbols|int argc|NN char **argv
+: Used in pp_ctl.c
+po	|void	|init_dbargs
 : Used in mg.c
 p	|void	|init_debugger
 Ap	|void	|init_stacks
@@ -438,7 +537,7 @@
 Ap	|void	|init_tm	|NN struct tm *ptm
 : Used in perly.y
 pd	|U32	|intro_my
-ApPR	|char*	|instr		|NN const char* big|NN const char* little
+AnpPR	|char*	|instr		|NN const char* big|NN const char* little
 : Used in sv.c
 p	|bool	|io_close	|NN IO* io|bool not_implicit
 : Used in perly.y
@@ -448,7 +547,6 @@
 ApPR	|U32	|to_uni_title_lc|U32 c
 ApPR	|U32	|to_uni_lower_lc|U32 c
 ApPR	|bool	|is_uni_alnum	|UV c
-ApPR	|bool	|is_uni_alnumc	|UV c
 ApPR	|bool	|is_uni_idfirst	|UV c
 ApPR	|bool	|is_uni_alpha	|UV c
 ApPR	|bool	|is_uni_ascii	|UV c
@@ -466,7 +564,6 @@
 Ap	|UV	|to_uni_lower	|UV c|NN U8 *p|NN STRLEN *lenp
 Ap	|UV	|to_uni_fold	|UV c|NN U8 *p|NN STRLEN *lenp
 ApPR	|bool	|is_uni_alnum_lc|UV c
-ApPR	|bool	|is_uni_alnumc_lc|UV c
 ApPR	|bool	|is_uni_idfirst_lc|UV c
 ApPR	|bool	|is_uni_alpha_lc|UV c
 ApPR	|bool	|is_uni_ascii_lc|UV c
@@ -479,19 +576,24 @@
 ApPR	|bool	|is_uni_print_lc|UV c
 ApPR	|bool	|is_uni_punct_lc|UV c
 ApPR	|bool	|is_uni_xdigit_lc|UV c
-Apd	|STRLEN	|is_utf8_char	|NN const U8 *s
-Apd	|bool	|is_utf8_string	|NN const U8 *s|STRLEN len
-Apdmb	|bool	|is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **p
-Apd	|bool	|is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
+Anpd	|bool	|is_ascii_string|NN const U8 *s|STRLEN len
+Anpd	|STRLEN	|is_utf8_char	|NN const U8 *s
+Anpd	|bool	|is_utf8_string	|NN const U8 *s|STRLEN len
+Anpdmb	|bool	|is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **p
+Anpd	|bool	|is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
 ApR	|bool	|is_utf8_alnum	|NN const U8 *p
-ApR	|bool	|is_utf8_alnumc	|NN const U8 *p
 ApR	|bool	|is_utf8_idfirst|NN const U8 *p
+ApR	|bool	|is_utf8_xidfirst|NN const U8 *p
 ApR	|bool	|is_utf8_idcont	|NN const U8 *p
+ApR	|bool	|is_utf8_xidcont	|NN const U8 *p
 ApR	|bool	|is_utf8_alpha	|NN const U8 *p
 ApR	|bool	|is_utf8_ascii	|NN const U8 *p
 ApR	|bool	|is_utf8_space	|NN const U8 *p
+ApR	|bool	|is_utf8_perl_space	|NN const U8 *p
+ApR	|bool	|is_utf8_perl_word	|NN const U8 *p
 ApR	|bool	|is_utf8_cntrl	|NN const U8 *p
 ApR	|bool	|is_utf8_digit	|NN const U8 *p
+ApR	|bool	|is_utf8_posix_digit	|NN const U8 *p
 ApR	|bool	|is_utf8_graph	|NN const U8 *p
 ApR	|bool	|is_utf8_upper	|NN const U8 *p
 ApR	|bool	|is_utf8_lower	|NN const U8 *p
@@ -499,22 +601,56 @@
 ApR	|bool	|is_utf8_punct	|NN const U8 *p
 ApR	|bool	|is_utf8_xdigit	|NN const U8 *p
 ApR	|bool	|is_utf8_mark	|NN const U8 *p
+EXpR	|bool	|is_utf8_X_begin	|NN const U8 *p
+EXpR	|bool	|is_utf8_X_extend	|NN const U8 *p
+EXpR	|bool	|is_utf8_X_prepend	|NN const U8 *p
+EXpR	|bool	|is_utf8_X_non_hangul	|NN const U8 *p
+EXpR	|bool	|is_utf8_X_L		|NN const U8 *p
+EXpR	|bool	|is_utf8_X_LV		|NN const U8 *p
+EXpR	|bool	|is_utf8_X_LVT		|NN const U8 *p
+EXpR	|bool	|is_utf8_X_LV_LVT_V	|NN const U8 *p
+EXpR	|bool	|is_utf8_X_T		|NN const U8 *p
+EXpR	|bool	|is_utf8_X_V		|NN const U8 *p
 : Used in perly.y
 p	|OP*	|jmaybe		|NN OP *o
 : Used in pp.c 
 pP	|I32	|keyword	|NN const char *name|I32 len|bool all_keywords
+#if defined(PERL_IN_OP_C)
+s	|OP*	|opt_scalarhv	|NN OP* rep_op
+s	|OP*	|is_inplace_av	|NN OP* o|NULLOK OP* oright
+#endif
 Ap	|void	|leave_scope	|I32 base
-: Used in pp_ctl.c, and by Data::Alias
-EXp	|void	|lex_end
+: Public lexer API
+AMpd	|void	|lex_start	|NULLOK SV* line|NULLOK PerlIO *rsfp|U32 flags
+AMpd	|bool	|lex_bufutf8
+AMpd	|char*	|lex_grow_linestr|STRLEN len
+AMpd	|void	|lex_stuff_pvn	|NN const char* pv|STRLEN len|U32 flags
+AMpd	|void	|lex_stuff_pv	|NN const char* pv|U32 flags
+AMpd	|void	|lex_stuff_sv	|NN SV* sv|U32 flags
+AMpd	|void	|lex_unstuff	|NN char* ptr
+AMpd	|void	|lex_read_to	|NN char* ptr
+AMpd	|void	|lex_discard_to	|NN char* ptr
+AMpd	|bool	|lex_next_chunk	|U32 flags
+AMpd	|I32	|lex_peek_unichar|U32 flags
+AMpd	|I32	|lex_read_unichar|U32 flags
+AMpd	|void	|lex_read_space	|U32 flags
+: Public parser API
+AMpd	|OP*	|parse_arithexpr|U32 flags
+AMpd	|OP*	|parse_termexpr	|U32 flags
+AMpd	|OP*	|parse_listexpr	|U32 flags
+AMpd	|OP*	|parse_fullexpr	|U32 flags
+AMpd	|OP*	|parse_block	|U32 flags
+AMpd	|OP*	|parse_barestmt	|U32 flags
+AMpd	|SV*	|parse_label	|U32 flags
+AMpd	|OP*	|parse_fullstmt	|U32 flags
+AMpd	|OP*	|parse_stmtseq	|U32 flags
 : Used in various files
-p	|void	|lex_start	|NULLOK SV* line|NULLOK PerlIO *rsfp|bool new_filter
 Ap	|void	|op_null	|NN OP* o
 : FIXME. Used by Data::Alias
 EXp	|void	|op_clear	|NN OP* o
 Ap	|void	|op_refcnt_lock
 Ap	|void	|op_refcnt_unlock
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-s	|OP*	|linklist	|NN OP *o
+#if defined(PERL_IN_OP_C)
 s	|OP*	|listkids	|NULLOK OP* o
 #endif
 : Used in S_doeval in pp_ctl.c
@@ -525,6 +661,10 @@
 p	|OP*	|localize	|NN OP *o|I32 lex
 ApdR	|I32	|looks_like_number|NN SV *const sv
 Apd	|UV	|grok_bin	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
+#ifdef PERL_IN_DQUOTE_STATIC_C
+EMsR	|char	|grok_bslash_c	|const char source|const bool utf8|const bool output_warning
+EMsR	|bool	|grok_bslash_o	|NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning
+#endif
 Apd	|UV	|grok_hex	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
 Apd	|int	|grok_number	|NN const char *pv|STRLEN len|NULLOK UV *valuep
 ApdR	|bool	|grok_numeric_radix|NN const char **sp|NN const char *send
@@ -533,6 +673,7 @@
 p	|int	|magic_clearenv	|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_clear_all_env|NN SV* sv|NN MAGIC* mg
 dp	|int	|magic_clearhint|NN SV* sv|NN MAGIC* mg
+dp	|int	|magic_clearhints|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_clearisa	|NULLOK SV* sv|NN MAGIC* mg
 p	|int	|magic_clearpack|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_clearsig	|NN SV* sv|NN MAGIC* mg
@@ -577,6 +718,9 @@
 p	|int	|magic_set_all_env|NN SV* sv|NN MAGIC* mg
 p	|U32	|magic_sizepack	|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_wipepack	|NN SV* sv|NN MAGIC* mg
+pod	|SV*	|magic_methcall	|NN SV *sv|NN const MAGIC *mg \
+				|NN const char *meth|U32 flags \
+				|U32 argc|...
 Ap	|void	|markstack_grow
 #if defined(USE_LOCALE_COLLATE)
 p	|int	|magic_setcollxfrm|NN SV* sv|NN MAGIC* mg
@@ -583,8 +727,9 @@
 : Defined in locale.c, used only in sv.c
 p	|char*	|mem_collxfrm	|NN const char* s|STRLEN len|NN STRLEN* xlen
 #endif
-Afp	|SV*	|mess		|NN const char* pat|...
-Ap	|SV*	|vmess		|NN const char* pat|NULLOK va_list* args
+Afpd	|SV*	|mess		|NN const char* pat|...
+Apd	|SV*	|mess_sv	|NN SV* basemsg|bool consume
+Apd	|SV*	|vmess		|NN const char* pat|NULLOK va_list* args
 : FIXME - either make it public, or stop exporting it. (Data::Alias uses this)
 : Used in gv.c, op.c, toke.c
 EXp	|void	|qerror		|NN SV* err
@@ -596,7 +741,9 @@
 : Defined in mg.c, used only in scope.c
 pd	|void	|mg_localize	|NN SV* sv|NN SV* nsv|bool setmagic
 ApdR	|MAGIC*	|mg_find	|NULLOK const SV* sv|int type
+ApdR	|MAGIC*	|mg_findext	|NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
 Apd	|int	|mg_free	|NN SV* sv
+Apd	|void	|mg_free_type	|NN SV* sv|int how
 Apd	|int	|mg_get		|NN SV* sv
 Apd	|U32	|mg_length	|NN SV* sv
 Apd	|void	|mg_magical	|NN SV* sv
@@ -603,7 +750,8 @@
 Apd	|int	|mg_set		|NN SV* sv
 Ap	|I32	|mg_size	|NN SV* sv
 Ap	|void	|mini_mktime	|NN struct tm *ptm
-: Used by MOD(), which Data::Alias uses
+AMpd	|OP*	|op_lvalue	|NULLOK OP* o|I32 type
+: To be removed after 5.14 (see [perl #78908]):
 EXp	|OP*	|mod		|NULLOK OP* o|I32 type
 : Used in op.c and pp_sys.c
 p	|int	|mode_from_discipline|NULLOK const char* s|STRLEN len
@@ -621,7 +769,8 @@
 Anp	|Pid_t	|my_fork
 Anp	|void	|atfork_lock
 Anp	|void	|atfork_unlock
-Ap	|I32	|my_lstat
+Apmb	|I32	|my_lstat
+pX	|I32	|my_lstat_flags	|NULLOK const U32 flags
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 AnpP	|I32	|my_memcmp	|NN const char* s1|NN const char* s2|I32 len
 #endif
@@ -632,7 +781,8 @@
 Ap	|PerlIO*|my_popen	|NN const char* cmd|NN const char* mode
 Ap	|PerlIO*|my_popen_list	|NN const char* mode|int n|NN SV ** args
 Ap	|void	|my_setenv	|NULLOK const char* nam|NULLOK const char* val
-Ap	|I32	|my_stat
+Apmb	|I32	|my_stat
+pX	|I32	|my_stat_flags	|NULLOK const U32 flags
 Ap	|char *	|my_strftime	|NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
 #if defined(MYSWAP)
 ApPa	|short	|my_swap	|short s
@@ -644,8 +794,8 @@
 Apa	|OP*	|newANONLIST	|NULLOK OP* o
 Apa	|OP*	|newANONHASH	|NULLOK OP* o
 Ap	|OP*	|newANONSUB	|I32 floor|NULLOK OP* proto|NULLOK OP* block
-Apa	|OP*	|newASSIGNOP	|I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
-Apa	|OP*	|newCONDOP	|I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
+Apda	|OP*	|newASSIGNOP	|I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
+Apda	|OP*	|newCONDOP	|I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
 Apd	|CV*	|newCONSTSUB	|NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
 #ifdef PERL_MAD
 Ap	|OP*	|newFORM	|I32 floor|NULLOK OP* o|NULLOK OP* block
@@ -652,19 +802,19 @@
 #else
 Ap	|void	|newFORM	|I32 floor|NULLOK OP* o|NULLOK OP* block
 #endif
-Apa	|OP*	|newFOROP	|I32 flags|NULLOK char* label|line_t forline \
-				|NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
-Apa	|OP*	|newGIVENOP	|NN OP* cond|NN OP* block|PADOFFSET defsv_off
-Apa	|OP*	|newLOGOP	|I32 optype|I32 flags|NN OP *first|NN OP *other
-Apa	|OP*	|newLOOPEX	|I32 type|NN OP* label
-Apa	|OP*	|newLOOPOP	|I32 flags|I32 debuggable|NULLOK OP* expr|NULLOK OP* block
-Apa	|OP*	|newNULLLIST
-Apa	|OP*	|newOP		|I32 optype|I32 flags
+Apda	|OP*	|newFOROP	|I32 flags|NULLOK OP* sv|NN OP* expr|NULLOK OP* block|NULLOK OP* cont
+Apda	|OP*	|newGIVENOP	|NN OP* cond|NN OP* block|PADOFFSET defsv_off
+Apda	|OP*	|newLOGOP	|I32 optype|I32 flags|NN OP *first|NN OP *other
+Apda	|OP*	|newLOOPEX	|I32 type|NN OP* label
+Apda	|OP*	|newLOOPOP	|I32 flags|I32 debuggable|NULLOK OP* expr|NULLOK OP* block
+Apda	|OP*	|newNULLLIST
+Apda	|OP*	|newOP		|I32 optype|I32 flags
 Ap	|void	|newPROG	|NN OP* o
-Apa	|OP*	|newRANGE	|I32 flags|NN OP* left|NN OP* right
-Apa	|OP*	|newSLICEOP	|I32 flags|NULLOK OP* subscript|NULLOK OP* listop
-Apa	|OP*	|newSTATEOP	|I32 flags|NULLOK char* label|NULLOK OP* o
-Ap	|CV*	|newSUB		|I32 floor|NULLOK OP* o|NULLOK OP* proto|NULLOK OP* block
+Apda	|OP*	|newRANGE	|I32 flags|NN OP* left|NN OP* right
+Apda	|OP*	|newSLICEOP	|I32 flags|NULLOK OP* subscript|NULLOK OP* listop
+Apda	|OP*	|newSTATEOP	|I32 flags|NULLOK char* label|NULLOK OP* o
+Abm	|CV*	|newSUB		|I32 floor|NULLOK OP* o|NULLOK OP* proto \
+				|NULLOK OP* block
 ApM	|CV *	|newXS_flags	|NULLOK const char *name|NN XSUBADDR_t subaddr\
 				|NN const char *const filename \
 				|NULLOK const char *const proto|U32 flags
@@ -672,26 +822,26 @@
 				|NN const char *filename
 AmdbR	|AV*	|newAV
 Apa	|OP*	|newAVREF	|NN OP* o
-Apa	|OP*	|newBINOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
+Apda	|OP*	|newBINOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
 Apa	|OP*	|newCVREF	|I32 flags|NULLOK OP* o
-Apa	|OP*	|newGVOP	|I32 type|I32 flags|NN GV* gv
+Apda	|OP*	|newGVOP	|I32 type|I32 flags|NN GV* gv
 Apa	|GV*	|newGVgen	|NN const char* pack
 Apa	|OP*	|newGVREF	|I32 type|NULLOK OP* o
 ApaR	|OP*	|newHVREF	|NN OP* o
 AmdbR	|HV*	|newHV
 ApaR	|HV*	|newHVhv	|NULLOK HV *hv
-Apa	|IO*	|newIO
-Apa	|OP*	|newLISTOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
+Apabm	|IO*	|newIO
+Apda	|OP*	|newLISTOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
 #ifdef USE_ITHREADS
-Apa	|OP*	|newPADOP	|I32 type|I32 flags|NN SV* sv
+Apda	|OP*	|newPADOP	|I32 type|I32 flags|NN SV* sv
 #endif
-Apa	|OP*	|newPMOP	|I32 type|I32 flags
-Apa	|OP*	|newPVOP	|I32 type|I32 flags|NULLOK char* pv
+Apda	|OP*	|newPMOP	|I32 type|I32 flags
+Apda	|OP*	|newPVOP	|I32 type|I32 flags|NULLOK char* pv
 Apa	|SV*	|newRV		|NN SV *const sv
 Apda	|SV*	|newRV_noinc	|NN SV *const sv
 Apda	|SV*	|newSV		|const STRLEN len
 Apa	|OP*	|newSVREF	|NN OP* o
-Apa	|OP*	|newSVOP	|I32 type|I32 flags|NN SV* sv
+Apda	|OP*	|newSVOP	|I32 type|I32 flags|NN SV* sv
 Apda	|SV*	|newSViv	|const IV i
 Apda	|SV*	|newSVuv	|const UV u
 Apda	|SV*	|newSVnv	|const NV n
@@ -700,23 +850,33 @@
 Apda	|SV*	|newSVpvn_flags	|NULLOK const char *const s|const STRLEN len|const U32 flags
 Apda	|SV*	|newSVhek	|NULLOK const HEK *const hek
 Apda	|SV*	|newSVpvn_share	|NULLOK const char* s|I32 len|U32 hash
+Apda	|SV*	|newSVpv_share	|NULLOK const char* s|U32 hash
 Afpda	|SV*	|newSVpvf	|NN const char *const pat|...
 Apa	|SV*	|vnewSVpvf	|NN const char *const pat|NULLOK va_list *const args
 Apd	|SV*	|newSVrv	|NN SV *const rv|NULLOK const char *const classname
 Apda	|SV*	|newSVsv	|NULLOK SV *const old
 Apda	|SV*	|newSV_type	|const svtype type
-Apa	|OP*	|newUNOP	|I32 type|I32 flags|NULLOK OP* first
-Apa	|OP*	|newWHENOP	|NULLOK OP* cond|NN OP* block
-Apa	|OP*	|newWHILEOP	|I32 flags|I32 debuggable|NULLOK LOOP* loop \
-				|I32 whileline|NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
+Apda	|OP*	|newUNOP	|I32 type|I32 flags|NULLOK OP* first
+Apda	|OP*	|newWHENOP	|NULLOK OP* cond|NN OP* block
+Apda	|OP*	|newWHILEOP	|I32 flags|I32 debuggable|NULLOK LOOP* loop \
+				|NULLOK OP* expr|NULLOK OP* block|NULLOK OP* cont \
 				|I32 has_my
+Apd	|CV*	|rv2cv_op_cv	|NN OP *cvop|U32 flags
+Apd	|OP*	|ck_entersub_args_list|NN OP *entersubop
+Apd	|OP*	|ck_entersub_args_proto|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+Apd	|OP*	|ck_entersub_args_proto_or_list|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+Apd	|void	|cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
+Apd	|void	|cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
 Apa	|PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
 Ap	|char*	|scan_vstring	|NN const char *s|NN const char *const e \
 				|NN SV *sv
 Apd	|const char*	|scan_version	|NN const char *s|NN SV *rv|bool qv
+Apd	|const char*	|prescan_version	|NN const char *s\
+	|bool strict|NULLOK const char** errstr|NULLOK bool *sqv\
+	|NULLOK int *ssaw_decimal|NULLOK int *swidth|NULLOK bool *salpha
 Apd	|SV*	|new_version	|NN SV *ver
 Apd	|SV*	|upg_version	|NN SV *ver|bool qv
-Apd	|bool	|vverify	|NN SV *vs
+Apd	|SV*	|vverify	|NN SV *vs
 Apd	|SV*	|vnumify	|NN SV *vs
 Apd	|SV*	|vnormal	|NN SV *vs
 Apd	|SV*	|vstringify	|NN SV *vs
@@ -723,7 +883,7 @@
 Apd	|int	|vcmp		|NN SV *lhv|NN SV *rhv
 : Used in pp_hot.c and pp_sys.c
 p	|PerlIO*|nextargv	|NN GV* gv
-ApP	|char*	|ninstr		|NN const char* big|NN const char* bigend \
+AnpP	|char*	|ninstr		|NN const char* big|NN const char* bigend \
 				|NN const char* little|NN const char* lend
 Ap	|void	|op_free	|NULLOK OP* arg
 : Used in perly.y
@@ -732,13 +892,18 @@
 #else
 p	|void	|package	|NN OP* o
 #endif
+: Used in perly.y
+p	|void	|package_version|NN OP* v
 : Used in op.c
 pd	|PADOFFSET|pad_alloc	|I32 optype|U32 tmptype
 : Used in toke.c and perly.y
-p	|PADOFFSET|allocmy	|NN const char *const name
+p	|PADOFFSET|allocmy	|NN const char *const name|const STRLEN len\
+				|const U32 flags
 : Used in op.c and toke.c
-pdR	|PADOFFSET|pad_findmy	|NN const char* name
-Ap	|PADOFFSET|find_rundefsvoffset	|
+AMpdR	|PADOFFSET|pad_findmy	|NN const char* name|STRLEN len|U32 flags
+ApD	|PADOFFSET|find_rundefsvoffset	|
+: Used in pp.c
+Ap	|SV*	|find_rundefsv	|
 : Used in perly.y
 pR	|OP*	|oopsAV		|NN OP* o
 : Used in perly.y
@@ -745,16 +910,19 @@
 pR	|OP*	|oopsHV		|NN OP* o
 : Defined in pad.c, used only in op.c
 pd	|void	|pad_leavemy
+#ifdef DEBUGGING
 Apd	|SV*	|pad_sv		|PADOFFSET po
+#endif
 : Defined in pad.c, used only in op.c
 pd	|void	|pad_free	|PADOFFSET po
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
 sd	|void	|pad_reset
 #endif
 : Used in op.c
 pd	|void	|pad_swipe	|PADOFFSET po|bool refadjust
-: FIXME
+: peephole optimiser
 p	|void	|peep		|NULLOK OP* o
+p	|void	|rpeep		|NULLOK OP* o
 : Defined in doio.c, used only in pp_hot.c
 dopM	|PerlIO*|start_glob	|NN SV *tmpglob|NN IO *io
 #if defined(USE_REENTRANT_API)
@@ -763,29 +931,31 @@
 Ap	|void	|reentrant_free
 Anp	|void*	|reentrant_retry|NN const char *f|...
 #endif
+: "Very" special - can't use the O flag for this one:
+: (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
 Ap	|void	|call_atexit	|ATEXIT_t fn|NULLOK void *ptr
-Apd	|I32	|call_argv	|NN const char* sub_name|I32 flags|NN char** argv
-Apd	|I32	|call_method	|NN const char* methname|I32 flags
-Apd	|I32	|call_pv	|NN const char* sub_name|I32 flags
-Apd	|I32	|call_sv	|NN SV* sv|VOL I32 flags
+ApdO	|I32	|call_argv	|NN const char* sub_name|I32 flags|NN char** argv
+ApdO	|I32	|call_method	|NN const char* methname|I32 flags
+ApdO	|I32	|call_pv	|NN const char* sub_name|I32 flags
+ApdO	|I32	|call_sv	|NN SV* sv|VOL I32 flags
 Ap	|void	|despatch_signals
 Ap	|OP *	|doref		|NN OP *o|I32 type|bool set_op_ref
-Apd	|SV*	|eval_pv	|NN const char* p|I32 croak_on_error
-Apd	|I32	|eval_sv	|NN SV* sv|I32 flags
-Apd	|SV*	|get_sv		|NN const char *name|I32 flags
-Apd	|AV*	|get_av		|NN const char *name|I32 flags
-Apd	|HV*	|get_hv		|NN const char *name|I32 flags
-Apd	|CV*	|get_cv		|NN const char* name|I32 flags
+ApdO	|SV*	|eval_pv	|NN const char* p|I32 croak_on_error
+ApdO	|I32	|eval_sv	|NN SV* sv|I32 flags
+ApdO	|SV*	|get_sv		|NN const char *name|I32 flags
+ApdO	|AV*	|get_av		|NN const char *name|I32 flags
+ApdO	|HV*	|get_hv		|NN const char *name|I32 flags
+ApdO	|CV*	|get_cv		|NN const char* name|I32 flags
 Apd	|CV*	|get_cvn_flags	|NN const char* name|STRLEN len|I32 flags
-Ap	|int	|init_i18nl10n	|int printwarn
-Ap	|int	|init_i18nl14n	|int printwarn
-Ap	|void	|new_collate	|NULLOK const char* newcoll
-Ap	|void	|new_ctype	|NN const char* newctype
-Ap	|void	|new_numeric	|NULLOK const char* newcoll
+ApO	|int	|init_i18nl10n	|int printwarn
+ApO	|int	|init_i18nl14n	|int printwarn
+ApO	|void	|new_collate	|NULLOK const char* newcoll
+ApO	|void	|new_ctype	|NN const char* newctype
+ApO	|void	|new_numeric	|NULLOK const char* newcoll
 Ap	|void	|set_numeric_local
 Ap	|void	|set_numeric_radix
 Ap	|void	|set_numeric_standard
-Apd	|void	|require_pv	|NN const char* pv
+ApdO	|void	|require_pv	|NN const char* pv
 Apd	|void	|pack_cat	|NN SV *cat|NN const char *pat|NN const char *patend \
 				|NN SV **beglist|NN SV **endlist|NN SV ***next_in_list|U32 flags
 Apd	|void	|packlist 	|NN SV *cat|NN const char *pat|NN const char *patend|NN SV **beglist|NN SV **endlist
@@ -792,18 +962,15 @@
 #if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
 s	|void	|pidgone	|Pid_t pid|int status
 #endif
-Ap	|void	|pmflag		|NN U32* pmfl|int ch
 : Used in perly.y
 p	|OP*	|pmruntime	|NN OP *o|NN OP *expr|bool isreg
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 s	|OP*	|pmtrans	|NN OP* o|NN OP* expr|NN OP* repl
 #endif
 Ap	|void	|pop_scope
-: Used in perly.y
-p	|OP*	|prepend_elem	|I32 optype|NULLOK OP* head|NULLOK OP* tail
 Ap	|void	|push_scope
 Amb	|OP*	|ref		|NULLOK OP* o|I32 type
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 s	|OP*	|refkids	|NULLOK OP* o|I32 type
 #endif
 Ap	|void	|regdump	|NN const regexp* r
@@ -811,6 +978,11 @@
 Ap	|SV*	|regclass_swash	|NULLOK const regexp *prog \
 				|NN const struct regnode *node|bool doinit \
 				|NULLOK SV **listsvp|NULLOK SV **altsvp
+#ifdef PERL_IN_REGCOMP_C
+EMi	|U8	|set_regclass_bit|NN struct RExC_state_t* pRExC_state|NN regnode* node|const U8 value|NN HV** invlist_ptr|NN AV** alternate_ptr
+EMs	|U8	|set_regclass_bit_fold|NN struct RExC_state_t *pRExC_state|NN regnode* node|const U8 value|NN HV** invlist_ptr|NN AV** alternate_ptr
+EMs	|void	|add_alternate	|NN AV** alternate_ptr|NN U8* string|STRLEN len
+#endif
 Ap	|I32	|pregexec	|NN REGEXP * const prog|NN char* stringarg \
 				|NN char* strend|NN char* strbeg|I32 minend \
 				|NN SV* screamer|U32 nosave
@@ -817,7 +989,7 @@
 Ap	|void	|pregfree	|NULLOK REGEXP* r
 Ap	|void	|pregfree2	|NN REGEXP *rx
 : FIXME - is anything in re using this now?
-EXp	|REGEXP*|reg_temp_copy	|NN REGEXP* r
+EXp	|REGEXP*|reg_temp_copy	|NULLOK REGEXP* ret_x|NN REGEXP* rx
 Ap	|void	|regfree_internal|NN REGEXP *const rx
 #if defined(USE_ITHREADS)
 Ap	|void*	|regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
@@ -828,6 +1000,9 @@
 				|NN char* strend|const U32 flags \
 				|NULLOK re_scream_pos_data *data
 Ap	|SV*	|re_intuit_string|NN REGEXP  *const r
+#if defined(PERL_IN_DQUOTE_STATIC_C)
+EiPR	|I32	|regcurly	|NN const char *s
+#endif
 Ap	|I32	|regexec_flags	|NN REGEXP *const rx|NN char *stringarg \
 				|NN char *strend|NN char *strbeg|I32 minend \
 				|NN SV *sv|NULLOK void *data|U32 flags
@@ -856,8 +1031,8 @@
 
 : FIXME - why the E?
 Ep	|void	|regprop	|NULLOK const regexp *prog|NN SV* sv|NN const regnode* o
-Ap	|void	|repeatcpy	|NN char* to|NN const char* from|I32 len|I32 count
-ApP	|char*	|rninstr	|NN const char* big|NN const char* bigend \
+Anp	|void	|repeatcpy	|NN char* to|NN const char* from|I32 len|I32 count
+AnpP	|char*	|rninstr	|NN const char* big|NN const char* bigend \
 				|NN const char* little|NN const char* lend
 Ap	|Sighandler_t|rsignal	|int i|Sighandler_t t
 : Used in pp_sys.c
@@ -865,7 +1040,7 @@
 : Used in pp_sys.c
 p	|int	|rsignal_save	|int i|Sighandler_t t1|NN Sigsave_t* save
 Ap	|Sighandler_t|rsignal_state|int i
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_CTL_C)
 s	|void	|rxres_free	|NN void** rsp
 s	|void	|rxres_restore	|NN void **rsp|NN REGEXP *rx
 #endif
@@ -879,10 +1054,12 @@
 Apda	|char*	|savepvn	|NULLOK const char* pv|I32 len
 Apda	|char*	|savesharedpv	|NULLOK const char* pv
 Apda	|char*	|savesharedpvn	|NN const char *const pv|const STRLEN len
+Apda	|char*	|savesharedsvpv	|NN SV *sv
 Apda	|char*	|savesvpv	|NN SV* sv
 Ap	|void	|savestack_grow
 Ap	|void	|savestack_grow_cnt	|I32 need
-Ap	|void	|save_aelem	|NN AV* av|I32 idx|NN SV **sptr
+Amp	|void	|save_aelem	|NN AV* av|I32 idx|NN SV **sptr
+Ap	|void	|save_aelem_flags|NN AV* av|I32 idx|NN SV **sptr|const U32 flags
 Ap	|I32	|save_alloc	|I32 size|I32 pad
 Ap	|void	|save_aptr	|NN AV** aptr
 Ap	|AV*	|save_ary	|NN GV* gv
@@ -889,12 +1066,13 @@
 Ap	|void	|save_bool	|NN bool* boolp
 Ap	|void	|save_clearsv	|NN SV** svp
 Ap	|void	|save_delete	|NN HV *hv|NN char *key|I32 klen
+Ap	|void	|save_hdelete	|NN HV *hv|NN SV *keysv
 Ap	|void	|save_adelete	|NN AV *av|I32 key
 Ap	|void	|save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
 Ap	|void	|save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
 Apmb	|void	|save_freesv	|NULLOK SV* sv
 : Used in SAVEFREOP(), used in op.c, pp_ctl.c
-pmb	|void	|save_freeop	|NULLOK OP* o
+Apmb	|void	|save_freeop	|NULLOK OP* o
 Apmb	|void	|save_freepv	|NULLOK char* pv
 Ap	|void	|save_generic_svref|NN SV** sptr
 Ap	|void	|save_generic_pvref|NN char** str
@@ -901,7 +1079,7 @@
 Ap	|void	|save_shared_pvref|NN char** str
 Ap	|void	|save_gp	|NN GV* gv|I32 empty
 Ap	|HV*	|save_hash	|NN GV* gv
-p	|void	|save_hints
+Ap	|void	|save_hints
 Amp	|void	|save_helem	|NN HV *hv|NN SV *key|NN SV **sptr
 Ap	|void	|save_helem_flags|NN HV *hv|NN SV *key|NN SV **sptr|const U32 flags
 Ap	|void	|save_hptr	|NN HV** hptr
@@ -916,7 +1094,7 @@
 Apmb	|void	|save_mortalizesv|NN SV* sv
 Ap	|void	|save_nogv	|NN GV* gv
 : Used in SAVEFREOP(), used in gv.c, op.c, perl.c, pp_ctl.c, pp_sort.c
-pmb	|void	|save_op
+Apmb	|void	|save_op
 Ap	|SV*	|save_scalar	|NN GV* gv
 Ap	|void	|save_pptr	|NN char** pptr
 Ap	|void	|save_vptr	|NN void *ptr
@@ -926,19 +1104,20 @@
 Ap	|SV*	|save_svref	|NN SV** sptr
 Ap	|void	|save_pushptr	|NULLOK void *const ptr|const int type
 : Used by SAVECOPARYBASE() in op.c
-p	|void	|save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
+Ap	|void	|save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
 : Used by SAVESWITCHSTACK() in pp.c
-p	|void	|save_pushptrptr|NULLOK void *const ptr1 \
+Ap	|void	|save_pushptrptr|NULLOK void *const ptr1 \
 				|NULLOK void *const ptr2|const int type
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SCOPE_C)
 s	|void	|save_pushptri32ptr|NULLOK void *const ptr1|const I32 i \
 				|NULLOK void *const ptr2|const int type
 #endif
 : Used in perly.y
 p	|OP*	|sawparens	|NULLOK OP* o
+Apd	|OP*	|op_contextualize|NN OP* o|I32 context
 : Used in perly.y
 p	|OP*	|scalar		|NULLOK OP* o
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_OP_C)
 s	|OP*	|scalarkids	|NULLOK OP* o
 s	|OP*	|scalarseq	|NULLOK OP* o
 #endif
@@ -948,8 +1127,7 @@
 Apd	|NV	|scan_hex	|NN const char* start|STRLEN len|NN STRLEN* retlen
 Ap	|char*	|scan_num	|NN const char* s|NN YYSTYPE *lvalp
 Apd	|NV	|scan_oct	|NN const char* start|STRLEN len|NN STRLEN* retlen
-: Used in perly.y
-p	|OP*	|scope		|NULLOK OP* o
+AMpd	|OP*	|op_scope	|NULLOK OP* o
 Ap	|char*	|screaminstr	|NN SV *bigstr|NN SV *littlestr|I32 start_shift \
 				|I32 end_shift|NN I32 *old_posp|I32 last
 Apd	|void	|setdefout	|NULLOK GV* gv
@@ -966,17 +1144,18 @@
 Ap	|I32	|start_subparse	|I32 is_format|U32 flags
 : Used in pp_ctl.c
 p	|void	|sub_crush_depth|NN CV* cv
-Apd	|bool	|sv_2bool	|NN SV *const sv
+Amd	|bool	|sv_2bool	|NN SV *const sv
+Apd	|bool	|sv_2bool_flags	|NN SV *const sv|const I32 flags
 Apd	|CV*	|sv_2cv		|NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
 				|const I32 lref
 Apd	|IO*	|sv_2io		|NN SV *const sv
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 s	|bool	|glob_2number	|NN GV* const gv
 #endif
 Amb	|IV	|sv_2iv		|NULLOK SV *sv
 Apd	|IV	|sv_2iv_flags	|NULLOK SV *const sv|const I32 flags
 Apd	|SV*	|sv_2mortal	|NULLOK SV *const sv
-Apd	|NV	|sv_2nv		|NULLOK SV *const sv
+Apd	|NV	|sv_2nv_flags	|NULLOK SV *const sv|const I32 flags
 : Used in pp.c, pp_hot.c, sv.c
 pMd	|SV*	|sv_2num	|NN SV *const sv
 Amb	|char*	|sv_2pv		|NULLOK SV *sv|NULLOK STRLEN *lp
@@ -993,7 +1172,7 @@
 Apd	|char*	|sv_pvutf8n	|NN SV *sv|NN STRLEN *lp
 Apd	|char*	|sv_pvbyten	|NN SV *sv|NN STRLEN *lp
 Apd	|I32	|sv_true	|NULLOK SV *const sv
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 sd	|void	|sv_add_arena	|NN char *const ptr|const U32 size \
 				|const U32 flags
 #endif
@@ -1010,20 +1189,35 @@
 pd	|I32	|sv_clean_all
 : Used only in perl.c
 pd	|void	|sv_clean_objs
-Apd	|void	|sv_clear	|NN SV *const sv
-Apd	|I32	|sv_cmp		|NULLOK SV *const sv1|NULLOK SV *const sv2
-Apd	|I32	|sv_cmp_locale	|NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd	|void	|sv_clear	|NN SV *const orig_sv
+#if defined(PERL_IN_SV_C)
+s	|bool	|curse		|NN SV * const sv|const bool check_refcnt
+#endif
+Aopd	|I32	|sv_cmp		|NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd	|I32	|sv_cmp_flags	|NULLOK SV *const sv1|NULLOK SV *const sv2 \
+				|const U32 flags
+Aopd	|I32	|sv_cmp_locale	|NULLOK SV *const sv1|NULLOK SV *const sv2
+Apd	|I32	|sv_cmp_locale_flags	|NULLOK SV *const sv1 \
+				|NULLOK SV *const sv2|const U32 flags
 #if defined(USE_LOCALE_COLLATE)
-Apd	|char*	|sv_collxfrm	|NN SV *const sv|NN STRLEN *const nxp
+Amd	|char*	|sv_collxfrm	|NN SV *const sv|NN STRLEN *const nxp
+Apd	|char*	|sv_collxfrm_flags	|NN SV *const sv|NN STRLEN *const nxp|I32 const flags
 #endif
-Ap	|OP*	|sv_compile_2op	|NN SV *sv|NN OP **startop \
+: Frustratingly, because regcomp.c is also compiled as ext/re/re_comp.c,
+: anything it needs has to be exported. So this has to be X. I'd rather it
+: wasn't.
+Xpo	|OP*	|sv_compile_2op_is_broken|NN SV *sv|NN OP **startop \
 				|NN const char *code|NN PAD **padp
+ApD	|OP*	|sv_compile_2op	|NN SV *sv|NN OP **startop \
+				|NN const char *code|NN PAD **padp
 Apd	|int	|getcwd_sv	|NN SV* sv
 Apd	|void	|sv_dec		|NULLOK SV *const sv
+Apd	|void	|sv_dec_nomg	|NULLOK SV *const sv
 Ap	|void	|sv_dump	|NN SV* sv
 ApdR	|bool	|sv_derived_from|NN SV* sv|NN const char *const name
 ApdR	|bool	|sv_does	|NN SV* sv|NN const char *const name
-Apd	|I32	|sv_eq		|NULLOK SV* sv1|NULLOK SV* sv2
+Amd	|I32	|sv_eq		|NULLOK SV* sv1|NULLOK SV* sv2
+Apd	|I32	|sv_eq_flags	|NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags
 Apd	|void	|sv_free	|NULLOK SV *const sv
 : FIXME Used in SvREFCNT_dec() but only
 : if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
@@ -1033,6 +1227,7 @@
 Apd	|char*	|sv_gets	|NN SV *const sv|NN PerlIO *const fp|I32 append
 Apd	|char*	|sv_grow	|NN SV *const sv|STRLEN newlen
 Apd	|void	|sv_inc		|NULLOK SV *const sv
+Apd	|void	|sv_inc_nomg	|NULLOK SV *const sv
 Amdb	|void	|sv_insert	|NN SV *const bigstr|const STRLEN offset \
 				|const STRLEN len|NN const char *const little \
 				|const STRLEN littlelen
@@ -1052,6 +1247,8 @@
 Apd	|SV*	|sv_newref	|NULLOK SV *const sv
 Ap	|char*	|sv_peek	|NULLOK SV* sv
 Apd	|void	|sv_pos_u2b	|NULLOK SV *const sv|NN I32 *const offsetp|NULLOK I32 *const lenp
+Apd	|STRLEN	|sv_pos_u2b_flags|NN SV *const sv|STRLEN uoffset \
+				|NULLOK STRLEN *const lenp|U32 flags
 Apd	|void	|sv_pos_b2u	|NULLOK SV *const sv|NN I32 *const offsetp
 Amdb	|char*	|sv_pvn_force	|NN SV* sv|NULLOK STRLEN* lp
 Apd	|char*	|sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
@@ -1082,6 +1279,7 @@
 Amdb	|void	|sv_taint	|NN SV* sv
 ApdR	|bool	|sv_tainted	|NN SV *const sv
 Apd	|int	|sv_unmagic	|NN SV *const sv|const int type
+Apd	|int	|sv_unmagicext	|NN SV *const sv|const int type|NULLOK MGVTBL *vtbl
 Apdmb	|void	|sv_unref	|NN SV* sv
 Apd	|void	|sv_unref_flags	|NN SV *const ref|const U32 flags
 Apd	|void	|sv_untaint	|NN SV *const sv
@@ -1098,6 +1296,25 @@
 ApR	|NV	|str_to_version	|NN SV *sv
 Ap	|SV*	|swash_init	|NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
 Ap	|UV	|swash_fetch	|NN SV *swash|NN const U8 *ptr|bool do_utf8
+EXMpR	|HV*	|_swash_inversion_hash	|NN SV* const swash
+EXMpR	|HV*	|_new_invlist	|IV initial_size
+EXMpR	|HV*	|_swash_to_invlist	|NN SV* const swash
+EXMp	|void	|_append_range_to_invlist   |NN HV* const invlist|const UV start|const UV end
+#ifdef PERL_IN_REGCOMP_C
+EiMR	|HV*	|add_cp_to_invlist	|NULLOK HV* invlist|const UV cp
+EsMR	|HV*	|add_range_to_invlist	|NULLOK HV* invlist|const UV start|const UV end
+EiMR	|UV*	|invlist_array	|NN HV* const invlist
+EiM	|void	|invlist_destroy	|NN HV* const invlist
+EsM	|void	|invlist_extend    |NN HV* const invlist|const UV len
+EsMR	|HV*	|invlist_intersection	|NN HV* const a|NN HV* const b
+EiMR	|UV	|invlist_len	|NN HV* const invlist
+EiMR	|UV	|invlist_max	|NN HV* const invlist
+EiM	|void	|invlist_set_array	|NN HV* const invlist|NN const UV* const array
+EiM	|void	|invlist_set_len	|NN HV* const invlist|const UV len
+EiM	|void	|invlist_set_max	|NN HV* const invlist|const UV max
+EiM	|void	|invlist_trim	|NN HV* const invlist
+EsMR	|HV*	|invlist_union	|NN HV* const a|NN HV* const b
+#endif
 Ap	|void	|taint_env
 Ap	|void	|taint_proper	|NULLOK const char* f|NN const char *const s
 Apd	|UV	|to_utf8_case	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp \
@@ -1130,10 +1347,13 @@
 ApdPR	|IV	|utf8_distance	|NN const U8 *a|NN const U8 *b
 ApdPR	|U8*	|utf8_hop	|NN const U8 *s|I32 off
 ApMd	|U8*	|utf8_to_bytes	|NN U8 *s|NN STRLEN *len
+Apd	|int	|bytes_cmp_utf8	|NN const U8 *b|STRLEN blen|NN const U8 *u \
+				|STRLEN ulen
 ApMd	|U8*	|bytes_from_utf8|NN const U8 *s|NN STRLEN *len|NULLOK bool *is_utf8
 ApMd	|U8*	|bytes_to_utf8	|NN const U8 *s|NN STRLEN *len
 Apd	|UV	|utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
 Apd	|UV	|utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
+pM	|bool	|check_utf8_print	|NN const U8 *s|const STRLEN len
 
 #ifdef EBCDIC
 Adp	|UV	|utf8n_to_uvchr	|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
@@ -1166,27 +1386,33 @@
 : Only used in perl.c
 pR	|UV	|get_hash_seed
 : Used in doio.c, pp_hot.c, pp_sys.c
-p	|void	|report_evil_fh	|NULLOK const GV *gv|NULLOK const IO *io|I32 op
+p	|void	|report_evil_fh	|NULLOK const GV *gv
+: Used in doio.c, pp_hot.c, pp_sys.c
+p	|void	|report_wrongway_fh|NULLOK const GV *gv|const char have
 : Used in mg.c, pp.c, pp_hot.c, regcomp.c
 XEpd	|void	|report_uninit	|NULLOK const SV *uninit_sv
+Apd	|void	|warn_sv	|NN SV *baseex
 Afpd	|void	|warn		|NN const char* pat|...
-Ap	|void	|vwarn		|NN const char* pat|NULLOK va_list* args
+Apd	|void	|vwarn		|NN const char* pat|NULLOK va_list* args
 Afp	|void	|warner		|U32 err|NN const char* pat|...
+Afp	|void	|ck_warner	|U32 err|NN const char* pat|...
+Afp	|void	|ck_warner_d	|U32 err|NN const char* pat|...
 Ap	|void	|vwarner	|U32 err|NN const char* pat|NULLOK va_list* args
 : FIXME
 p	|void	|watch		|NN char** addr
 Ap	|I32	|whichsig	|NN const char* sig
 : Used in pp_ctl.c
-p	|void	|write_to_stderr|NN const char* message|int msglen
+p	|void	|write_to_stderr|NN SV* msv
 : Used in op.c
 p	|int	|yyerror	|NN const char *const s
 : Used in perly.y, and by Data::Alias
 EXp	|int	|yylex
+p	|void	|yyunlex
 : Used in perl.c, pp_ctl.c
-p	|int	|yyparse
+p	|int	|yyparse	|int gramtype
 : Only used in scope.c
 p	|void	|parser_free	|NN const yy_parser *parser
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_TOKE_C)
 s	|int	|yywarn		|NN const char *const s
 #endif
 #if defined(MYMALLOC)
@@ -1287,14 +1513,20 @@
 Ap	|void	|re_dup_guts	|NN const REGEXP *sstr|NN REGEXP *dstr \
 				|NN CLONE_PARAMS* param
 Ap	|PerlIO*|fp_dup		|NULLOK PerlIO *const fp|const char type|NN CLONE_PARAMS *const param
-ApR	|DIR*	|dirp_dup	|NULLOK DIR *const dp
+ApR	|DIR*	|dirp_dup	|NULLOK DIR *const dp|NN CLONE_PARAMS *const param
 ApR	|GP*	|gp_dup		|NULLOK GP *const gp|NN CLONE_PARAMS *const param
 ApR	|MAGIC*	|mg_dup		|NULLOK MAGIC *mg|NN CLONE_PARAMS *const param
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 s	|SV **	|sv_dup_inc_multiple|NN SV *const *source|NN SV **dest \
 				|SSize_t items|NN CLONE_PARAMS *const param
 #endif
+#if defined(PERL_IN_SV_C)
+sR	|SV*	|sv_dup_common	|NN const SV *const sstr \
+				|NN CLONE_PARAMS *const param
+#endif
 ApR	|SV*	|sv_dup		|NULLOK const SV *const sstr|NN CLONE_PARAMS *const param
+ApR	|SV*	|sv_dup_inc	|NULLOK const SV *const sstr \
+				|NN CLONE_PARAMS *const param
 Ap	|void	|rvpv_dup	|NN SV *const dstr|NN const SV *const sstr|NN CLONE_PARAMS *const param
 Ap	|yy_parser*|parser_dup	|NULLOK const yy_parser *const proto|NN CLONE_PARAMS *const param
 #endif
@@ -1303,7 +1535,7 @@
 Ap	|void	|ptr_table_store|NN PTR_TBL_t *const tbl|NULLOK const void *const oldsv \
 				|NN void *const newsv
 Ap	|void	|ptr_table_split|NN PTR_TBL_t *const tbl
-Ap	|void	|ptr_table_clear|NULLOK PTR_TBL_t *const tbl
+ApD	|void	|ptr_table_clear|NULLOK PTR_TBL_t *const tbl
 Ap	|void	|ptr_table_free|NULLOK PTR_TBL_t *const tbl
 #if defined(USE_ITHREADS)
 #  if defined(HAVE_INTERP_INTERN)
@@ -1315,8 +1547,11 @@
 Ap	|void	|sys_intern_init
 #endif
 
+AopP	|const XOP *	|custom_op_xop	|NN const OP *o
 ApR	|const char *	|custom_op_name	|NN const OP *o
 ApR	|const char *	|custom_op_desc	|NN const OP *o
+Aop	|void	|custom_op_register	|NN Perl_ppaddr_t ppaddr \
+			|NN const XOP *xop
 
 Adp	|void	|sv_nosharing	|NULLOK SV *sv
 Adpbm	|void	|sv_nolocking	|NULLOK SV *sv
@@ -1328,9 +1563,7 @@
 #endif
 Adp	|int	|nothreadhook
 
-END_EXTERN_C
-
-#if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DOOP_C)
 sR	|I32	|do_trans_simple	|NN SV * const sv
 sR	|I32	|do_trans_count		|NN SV * const sv
 sR	|I32	|do_trans_complex	|NN SV * const sv
@@ -1339,19 +1572,16 @@
 sR	|I32	|do_trans_complex_utf8	|NN SV * const sv
 #endif
 
-#if defined(PERL_IN_GV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_GV_C)
 s	|void	|gv_init_sv	|NN GV *gv|const svtype sv_type
+s	|void	|gv_magicalize_isa	|NN GV *gv
+s	|void	|gv_magicalize_overload	|NN GV *gv
 s	|HV*	|gv_get_super_pkg|NN const char* name|I32 namelen
 s	|HV*	|require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
 				|NN const char *methpv|const U32 flags
 #endif
 
-: #if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
-: Used in hv.c
-paRxo	|void*	|get_arena	|const size_t svtype|const U32 misc
-: #endif
-
-#if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_HV_C)
 s	|void	|hsplit		|NN HV *hv
 s	|void	|hfreeentries	|NN HV *hv
 sa	|HE*	|new_he
@@ -1365,62 +1595,20 @@
 		|NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
 		|U32 hash
 sM	|void	|clear_placeholders	|NN HV *hv|U32 items
-sM	|SV *	|refcounted_he_value	|NN const struct refcounted_he *he
 #endif
 
-#if defined(PERL_IN_MG_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_MG_C)
 s	|void	|save_magic	|I32 mgs_ix|NN SV *sv
-s	|int	|magic_methpack	|NN SV *sv|NN const MAGIC *mg|NN const char *meth
-s	|int	|magic_methcall	|NN SV *sv|NN const MAGIC *mg|NN const char *meth|I32 f \
+-s	|int	|magic_methpack	|NN SV *sv|NN const MAGIC *mg|NN const char *meth
+s	|SV*	|magic_methcall1|NN SV *sv|NN const MAGIC *mg \
+				|NN const char *meth|U32 flags \
 				|int n|NULLOK SV *val
 s	|void	|restore_magic	|NULLOK const void *p
-s	|void	|unwind_handler_stack|NN const void *p
+s	|void	|unwind_handler_stack|NULLOK const void *p
 
 #endif
 
-#if defined(PERL_IN_OP_C) || defined(PERL_DECL_PROT)
-: These are all indirectly referenced by globals.c. This is somewhat annoying.
-pR	|OP*	|ck_anoncode	|NN OP *o
-pR	|OP*	|ck_bitop	|NN OP *o
-pR	|OP*	|ck_concat	|NN OP *o
-pR	|OP*	|ck_defined	|NN OP *o
-pR	|OP*	|ck_delete	|NN OP *o
-pR	|OP*	|ck_die		|NN OP *o
-pR	|OP*	|ck_eof		|NN OP *o
-pR	|OP*	|ck_eval	|NN OP *o
-pR	|OP*	|ck_exec	|NN OP *o
-pR	|OP*	|ck_exists	|NN OP *o
-pR	|OP*	|ck_exit	|NN OP *o
-pR	|OP*	|ck_ftst	|NN OP *o
-pR	|OP*	|ck_fun		|NN OP *o
-pR	|OP*	|ck_glob	|NN OP *o
-pR	|OP*	|ck_grep	|NN OP *o
-pR	|OP*	|ck_index	|NN OP *o
-pR	|OP*	|ck_join	|NN OP *o
-pR	|OP*	|ck_lfun	|NN OP *o
-pR	|OP*	|ck_listiob	|NN OP *o
-pR	|OP*	|ck_match	|NN OP *o
-pR	|OP*	|ck_method	|NN OP *o
-pR	|OP*	|ck_null	|NN OP *o
-pR	|OP*	|ck_open	|NN OP *o
-pR	|OP*	|ck_readline	|NN OP *o
-pR	|OP*	|ck_repeat	|NN OP *o
-pR	|OP*	|ck_require	|NN OP *o
-pR	|OP*	|ck_return	|NN OP *o
-pR	|OP*	|ck_rfun	|NN OP *o
-pR	|OP*	|ck_rvconst	|NN OP *o
-pR	|OP*	|ck_sassign	|NN OP *o
-pR	|OP*	|ck_select	|NN OP *o
-pR	|OP*	|ck_shift	|NN OP *o
-pR	|OP*	|ck_sort	|NN OP *o
-pR	|OP*	|ck_spair	|NN OP *o
-pR	|OP*	|ck_split	|NN OP *o
-pR	|OP*	|ck_subr	|NN OP *o
-pR	|OP*	|ck_substr	|NN OP *o
-pR	|OP*	|ck_svconst	|NN OP *o
-pR	|OP*	|ck_trunc	|NN OP *o
-pR	|OP*	|ck_unpack	|NN OP *o
-pR	|OP*	|ck_each	|NN OP *o
+#if defined(PERL_IN_OP_C)
 sRn	|bool	|is_handle_constructor|NN const OP *o|I32 numargs
 sR	|I32	|is_list_assignment|NULLOK const OP *o
 #  ifdef USE_ITHREADS
@@ -1471,7 +1659,7 @@
 #  endif
 #endif
 
-#if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PERL_C)
 s	|void	|find_beginning	|NN SV* linestr_sv|NN PerlIO *rsfp
 s	|void	|forbid_setid	|const char flag|const bool suidscript
 s	|void	|incpush	|NN const char *const dir|STRLEN len \
@@ -1494,19 +1682,23 @@
 
 s	|void*	|parse_body	|NULLOK char **env|XSINIT_t xsinit
 rs	|void	|run_body	|I32 oldscope
+#  ifndef PERL_IS_MINIPERL
 s	|SV *	|incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
+#  endif
 #endif
 
-#if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_C)
+s	|void	|do_chomp	|NN SV *retval|NN SV *sv|bool chomping
+s	|OP*	|do_delete_local
 sR	|SV*	|refto		|NN SV* sv
 #endif
-#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C)
 : Used in pp_hot.c
 pRxo	|GV*	|softref2xv	|NN SV *const sv|NN const char *const what \
 				|const svtype type|NN SV ***spp
 #endif
 
-#if defined(PERL_IN_PP_PACK_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_PACK_C)
 s	|I32	|unpack_rec	|NN struct tempsym* symptr|NN const char *s \
 				|NN const char *strbeg|NN const char *strend|NULLOK const char **new_s
 s	|SV **	|pack_rec	|NN SV *cat|NN struct tempsym* symptr|NN SV **beglist|NN SV **endlist
@@ -1524,7 +1716,7 @@
 snR	|char *	|bytes_to_uni	|NN const U8 *start|STRLEN len|NN char *dest
 #endif
 
-#if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_CTL_C)
 sR	|OP*	|docatch	|NULLOK OP *o
 sR	|OP*	|dofindlabel	|NN OP *o|NN const char *label|NN OP **opstack|NN OP **oplimit
 sR	|OP*	|doparseform	|NN SV *sv
@@ -1537,9 +1729,9 @@
 sR	|I32	|dopoptowhen	|I32 startingblock
 s	|void	|save_lines	|NULLOK AV *array|NN SV *sv
 s	|bool	|doeval		|int gimme|NULLOK OP** startop|NULLOK CV* outside|U32 seq
-sR	|PerlIO *|check_type_and_open|NN const char *name
+sR	|PerlIO *|check_type_and_open|NN SV *name
 #ifndef PERL_DISABLE_PMC
-sR	|PerlIO *|doopen_pm	|NN const char *name|const STRLEN namelen
+sR	|PerlIO *|doopen_pm	|NN SV *name
 #endif
 sRn	|bool	|path_is_absolute|NN const char *name
 sR	|I32	|run_user_filter|int idx|NN SV *buf_sv|int maxlen
@@ -1549,12 +1741,12 @@
 s	|OP*	|do_smartmatch	|NULLOK HV* seen_this|NULLOK HV* seen_other
 #endif
 
-#if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_HOT_C)
 s	|void	|do_oddball	|NN HV *hash|NN SV **relem|NN SV **firstrelem
 sR	|SV*	|method_common	|NN SV* meth|NULLOK U32* hashp
 #endif
 
-#if defined(PERL_IN_PP_SORT_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SORT_C)
 s	|I32	|sv_ncmp	|NN SV *const a|NN SV *const b
 s	|I32	|sv_i_ncmp	|NN SV *const a|NN SV *const b
 s	|I32	|amagic_ncmp	|NN SV *const a|NN SV *const b
@@ -1567,7 +1759,7 @@
 s	|void	|qsortsvu	|NULLOK SV** array|size_t num_elts|NN SVCOMPARE_t compare
 #endif
 
-#if defined(PERL_IN_PP_SYS_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PP_SYS_C)
 s	|OP*	|doform		|NN CV *cv|NN GV *gv|NN OP *retop
 #  if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)
 sR	|int	|dooneliner	|NN const char *cmd|NN const char *filename
@@ -1574,8 +1766,11 @@
 #  endif
 s	|SV *	|space_join_names_mortal|NN char *const *array
 #endif
+p	|OP *	|tied_method|NN const char *const methname|NN SV **sp \
+				|NN SV *const sv|NN const MAGIC *const mg \
+				|const U32 flags|U32 argc|...
 
-#if defined(PERL_IN_REGCOMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_REGCOMP_C)
 Es	|regnode*|reg		|NN struct RExC_state_t *pRExC_state \
 				|I32 paren|NN I32 *flagp|U32 depth
 Es	|regnode*|reganode	|NN struct RExC_state_t *pRExC_state|U8 op \
@@ -1587,13 +1782,12 @@
 Es	|STRLEN	|reguni		|NN const struct RExC_state_t *pRExC_state \
 				|UV uv|NN char *s
 Es	|regnode*|regclass	|NN struct RExC_state_t *pRExC_state|U32 depth
-ERsn	|I32	|regcurly	|NN const char *s
 Es	|regnode*|reg_node	|NN struct RExC_state_t *pRExC_state|U8 op
 Es	|UV	|reg_recode	|const char value|NN SV **encp
 Es	|regnode*|regpiece	|NN struct RExC_state_t *pRExC_state \
 				|NN I32 *flagp|U32 depth
 Es	|regnode*|reg_namedseq	|NN struct RExC_state_t *pRExC_state \
-				|NULLOK UV *valuep
+				|NULLOK UV *valuep|NULLOK I32 *flagp|U32 depth
 Es	|void	|reginsert	|NN struct RExC_state_t *pRExC_state \
 				|U8 op|NN regnode *opnd|U32 depth
 Es	|void	|regtail	|NN struct RExC_state_t *pRExC_state \
@@ -1614,8 +1808,6 @@
 EsRn	|int	|cl_is_anything	|NN const struct regnode_charclass_class *cl
 Esn	|void	|cl_init	|NN const struct RExC_state_t *pRExC_state \
 				|NN struct regnode_charclass_class *cl
-Esn	|void	|cl_init_zero	|NN const struct RExC_state_t *pRExC_state \
-				|NN struct regnode_charclass_class *cl
 Esn	|void	|cl_and		|NN struct regnode_charclass_class *cl \
 				|NN const struct regnode_charclass_class *and_with
 Esn	|void	|cl_or		|NN const struct RExC_state_t *pRExC_state \
@@ -1662,12 +1854,12 @@
 #  endif
 #endif
 
-#if defined(PERL_IN_REGEXEC_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_REGEXEC_C)
 ERs	|I32	|regmatch	|NN regmatch_info *reginfo|NN regnode *prog
 ERs	|I32	|regrepeat	|NN const regexp *prog|NN const regnode *p|I32 max|int depth
 ERs	|I32	|regtry		|NN regmatch_info *reginfo|NN char **startpos
-ERs	|bool	|reginclass	|NULLOK const regexp *prog|NN const regnode *n|NN const U8 *p|NULLOK STRLEN *lenp\
-				|bool do_utf8sv_is_utf8
+ERs	|bool	|reginclass	|NULLOK const regexp * const prog|NN const regnode * const n|NN const U8 * const p|NULLOK STRLEN *lenp\
+				|bool const do_utf8sv_is_utf8
 Es	|CHECKPOINT|regcppush	|I32 parenfloor
 Es	|char*	|regcppop	|NN const regexp *rex
 ERsn	|U8*	|reghop3	|NN U8 *s|I32 off|NN const U8 *lim
@@ -1677,7 +1869,6 @@
 #endif
 ERsn	|U8*	|reghopmaybe3	|NN U8 *s|I32 off|NN const U8 *lim
 ERs	|char*	|find_byclass	|NN regexp * prog|NN const regnode *c|NN char *s|NN const char *strend|NULLOK regmatch_info *reginfo
-Es	|void	|swap_match_buff|NN regexp * prog
 Es	|void	|to_utf8_substr	|NN regexp * prog
 Es	|void	|to_byte_substr	|NN regexp * prog
 ERs	|I32	|reg_check_named_buff_matched	|NN const regexp *rex \
@@ -1691,7 +1882,7 @@
 #  endif
 #endif
 
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C)
 s	|CV*	|deb_curcv	|const I32 ix
 s	|void	|debprof	|NN const OP *o
 s	|void	|sequence	|NULLOK const OP *o
@@ -1700,26 +1891,26 @@
 s	|SV*	|pm_description	|NN const PMOP *pm
 #endif
 
-#if defined(PERL_IN_SCOPE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SCOPE_C)
 s	|SV*	|save_scalar_at	|NN SV **sptr|const U32 flags
 #endif
 
-#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_GV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_PAD_C) || defined(PERL_IN_OP_C)
 : Used in gv.c
 po	|void	|sv_add_backref	|NN SV *const tsv|NN SV *const sv
 #endif
 
-#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_MG_C) || defined(PERL_IN_SV_C)
 : Used in hv.c and mg.c
-poM	|int	|sv_kill_backrefs	|NN SV *const sv|NN AV *const av
+poM	|void	|sv_kill_backrefs	|NN SV *const sv|NULLOK AV *const av
 #endif
 
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+pX	|void	|sv_del_backref	|NN SV *const tsv|NN SV *const sv
+#if defined(PERL_IN_SV_C)
 nsR	|char *	|uiv_2buf	|NN char *const buf|const IV iv|UV uv|const int is_uv|NN char **const peob
 s	|void	|sv_unglob	|NN SV *const sv
 s	|void	|not_a_number	|NN SV *const sv
 s	|I32	|visit		|NN SVFUNC_t f|const U32 flags|const U32 mask
-s	|void	|sv_del_backref	|NN SV *const tsv|NN SV *const sv
 sR	|SV *	|varname	|NULLOK const GV *const gv|const char gvtype \
 				|PADOFFSET targ|NULLOK const SV *const keyname \
 				|I32 aindex|int subscript_type
@@ -1734,35 +1925,44 @@
 #    endif
 #  endif
 sR	|I32	|expect_number	|NN char **const pattern
-#
 sn	|STRLEN	|sv_pos_u2b_forwards|NN const U8 *const start \
-		|NN const U8 *const send|STRLEN uoffset
+		|NN const U8 *const send|NN STRLEN *const uoffset \
+		|NN bool *const at_end
 sn	|STRLEN	|sv_pos_u2b_midway|NN const U8 *const start \
-		|NN const U8 *send|const STRLEN uoffset|const STRLEN uend
+		|NN const U8 *send|STRLEN uoffset|const STRLEN uend
 s	|STRLEN	|sv_pos_u2b_cached|NN SV *const sv|NN MAGIC **const mgp \
 		|NN const U8 *const start|NN const U8 *const send \
-		|const STRLEN uoffset|STRLEN uoffset0|STRLEN boffset0
+		|STRLEN uoffset|STRLEN uoffset0|STRLEN boffset0
+s	|void	|utf8_mg_len_cache_update|NN SV *const sv|NN MAGIC **const mgp \
+		|const STRLEN ulen
 s	|void	|utf8_mg_pos_cache_update|NN SV *const sv|NN MAGIC **const mgp \
 		|const STRLEN byte|const STRLEN utf8|const STRLEN blen
 s	|STRLEN	|sv_pos_b2u_midway|NN const U8 *const s|NN const U8 *const target \
 		|NN const U8 *end|STRLEN endu
+s	|void	|assert_uft8_cache_coherent|NN const char *const func \
+		|STRLEN from_cache|STRLEN real|NN SV *const sv
 sn	|char *	|F0convert	|NV nv|NN char *const endbuf|NN STRLEN *const len
 #  if defined(PERL_OLD_COPY_ON_WRITE)
 sM	|void	|sv_release_COW	|NN SV *sv|NN const char *pvx|NN SV *after
 #  endif
 s	|SV *	|more_sv
-s	|void *	|more_bodies	|const svtype sv_type
 s	|bool	|sv_2iuv_common	|NN SV *const sv
 s	|void	|glob_assign_glob|NN SV *const dstr|NN SV *const sstr \
 		|const int dtype
 s	|void	|glob_assign_ref|NN SV *const dstr|NN SV *const sstr
 sRn	|PTR_TBL_ENT_t *|ptr_table_find|NN PTR_TBL_t *const tbl|NULLOK const void *const sv
+s	|void	|anonymise_cv_maybe	|NN GV *gv|NN CV *cv
 #endif
 
-#if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+: Used in sv.c and hv.c
+po	|void *	|more_bodies	|const svtype sv_type|const size_t body_size \
+				|const size_t arena_size
+
+#if defined(PERL_IN_TOKE_C)
 s	|void	|check_uni
 s	|void	|force_next	|I32 type
 s	|char*	|force_version	|NN char *s|int guessing
+s	|char*	|force_strict_version	|NN char *s
 s	|char*	|force_word	|NN char *start|int token|int check_keyword \
 				|int allow_pack|int allow_tick
 s	|SV*	|tokeq		|NN SV *sv
@@ -1783,9 +1983,12 @@
 				|NULLOK const char *const buf|STRLEN len
 sR	|char*	|skipspace	|NN char *s
 sR	|char*	|swallow_bom	|NN U8 *s
+#ifndef PERL_NO_UTF16_FILTER
+s	|I32	|utf16_textfilter|int idx|NN SV *sv|int maxlen
+s	|U8*	|add_utf16_textfilter|NN U8 *const s|bool reversed
+#endif
 s	|void	|checkcomma	|NN const char *s|NN const char *name \
 				|NN const char *what
-s	|bool	|feature_is_enabled|NN const char *const name|STRLEN namelen
 s	|void	|force_ident	|NN const char *s|int kind
 s	|void	|incline	|NN const char *s
 s	|int	|intuit_method	|NN char *s|NULLOK GV *gv|NULLOK CV *cv
@@ -1796,7 +1999,7 @@
 sR	|I32	|sublex_done
 sR	|I32	|sublex_push
 sR	|I32	|sublex_start
-sR	|char *	|filter_gets	|NN SV *sv|NN PerlIO *fp|STRLEN append
+sR	|char *	|filter_gets	|NN SV *sv|STRLEN append
 sR	|HV *	|find_in_my_stash|NN const char *pkgname|STRLEN len
 sR	|char *	|tokenize_use	|int is_use|NN char *s
 so	|SV*	|new_constant	|NULLOK const char *s|STRLEN len \
@@ -1803,6 +2006,7 @@
 				|NN const char *key|STRLEN keylen|NN SV *sv \
 				|NULLOK SV *pv|NULLOK const char *type \
 				|STRLEN typelen
+s	|int	|deprecate_commaless_var_list
 s	|int	|ao		|int toketype
 #  if defined(PERL_CR_FILTER)
 s	|I32	|cr_textfilter	|int idx|NULLOK SV *sv|int maxlen
@@ -1814,26 +2018,23 @@
 #  endif
 #endif
 
-#if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UNIVERSAL_C)
 s	|bool|isa_lookup	|NN HV *stash|NN const char * const name
-so	|HV *	|get_isa_hash	|NN HV *const stash
 #endif
 
-#if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_LOCALE_C)
 #if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
 s	|char*	|stdize_locale	|NN char* locs
 #endif
 #endif
 
-#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTIL_C)
 s	|const COP*|closest_cop	|NN const COP *cop|NULLOK const OP *o
 s	|SV*	|mess_alloc
-s	|const char *|vdie_croak_common|NULLOK const char *pat|NULLOK va_list *args \
-				|NULLOK STRLEN *msglen|NULLOK I32* utf8
-s	|bool	|vdie_common	|NULLOK const char *message|STRLEN msglen\
-				|I32 utf8|bool warn
+s	|SV *|with_queued_errors|NN SV *ex
+s	|bool	|invoke_exception_hook|NULLOK SV *ex|bool warn
 sr	|char *	|write_no_mem
-#if defined(PERL_MEM_LOG) && defined(PERL_MEM_LOG_STDERR)
+#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
 sn	|void	|mem_log_common	|enum mem_log_type mlt|const UV n|const UV typesize \
 				|NN const char *type_name|NULLOK const SV *sv \
 				|Malloc_t oldalloc|Malloc_t newalloc \
@@ -1842,24 +2043,24 @@
 #endif
 #endif
 
-#if defined(PERL_IN_NUMERIC_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_NUMERIC_C)
 sn	|NV|mulexp10	|NV value|I32 exponent
 #endif
 
-#if defined(PERL_IN_UTF8_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_UTF8_C)
 sRn	|STRLEN	|is_utf8_char_slow|NN const U8 *s|const STRLEN len
 sR	|bool	|is_utf8_common	|NN const U8 *const p|NN SV **swash|NN const char * const swashname
 sR	|SV*	|swash_get	|NN SV* swash|UV start|UV span
 #endif
 
-START_EXTERN_C
-
 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 \
 				|const I32 flags
+Apd	|void	|sv_catpv_flags	|NN SV *dstr|NN const char *sstr \
+				|const I32 flags
 Apd	|void	|sv_catsv_flags	|NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
 Apmd	|STRLEN	|sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
-Apd	|STRLEN	|sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
+Ap	|STRLEN	|sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
 Apd	|char*	|sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
 Apd	|void	|sv_copypv	|NN SV *const dsv|NN SV *const ssv
 Ap	|char*	|my_atof2	|NN const char *s|NN NV* value
@@ -1905,7 +2106,7 @@
 
 : Only used in dump.c
 p	|void	|deb_stack_all
-#if defined(PERL_IN_DEB_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DEB_C)
 s	|void	|deb_stack_n	|NN SV** stack_base|I32 stack_min \
 				|I32 stack_max|I32 mark_min|I32 mark_max
 #endif
@@ -1913,14 +2114,15 @@
 : Used in perl.c, pp_ctl.c, toke.c
 pda	|PADLIST*|pad_new	|int flags
 : Only used in op.c
-pd	|void	|pad_undef	|NN CV* cv
+Mpd	|PADOFFSET|pad_add_name	|NN const char *name|const STRLEN len\
+				|const U32 flags|NULLOK HV *typestash\
+				|NULLOK HV *ourstash
 : Only used in op.c
-pd	|PADOFFSET|pad_add_name	|NN const char *name\
-				|NULLOK HV* typestash|NULLOK HV* ourstash|bool clone|bool state
-: Only used in op.c
 pd	|PADOFFSET|pad_add_anon	|NN SV* sv|OPCODE op_type
-: Only used in op.c
-pd	|void	|pad_check_dup	|NN const char* name|bool is_our|NN const HV* ourstash
+#if defined(PERL_IN_PAD_C)
+sd	|void	|pad_check_dup	|NN SV *name|const U32 flags \
+				|NULLOK const HV *ourstash
+#endif
 #ifdef DEBUGGING
 : Only used PAD_SETSV() in op.c
 pd	|void	|pad_setsv	|PADOFFSET po|NN SV* sv
@@ -1938,11 +2140,18 @@
 pdX	|void	|pad_push	|NN PADLIST *padlist|int depth
 : Only used in PAD_COMPNAME_TYPE() in op.c
 pR	|HV*	|pad_compname_type|const PADOFFSET po
+: Used in sv.c
+#if defined(USE_ITHREADS)
+pR	|AV*	|padlist_dup	|NULLOK AV *const srcpad \
+				|NN CLONE_PARAMS *const param
+#endif
 
-#if defined(PERL_IN_PAD_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_PAD_C)
 sd	|PADOFFSET|pad_findlex	|NN const char *name|NN const CV* cv|U32 seq|int warn \
 				|NULLOK SV** out_capture|NN SV** out_name_sv \
 				|NN int *out_flags
+s	|PADOFFSET|pad_add_name_sv|NN SV *namesv|const U32 flags \
+				|NULLOK HV *typestash|NULLOK HV *ourstash
 #  if defined(DEBUGGING)
 sd	|void	|cv_dump	|NN const CV *cv|NN const char *title
 #  endif
@@ -1955,7 +2164,9 @@
 pR	|int	|get_debug_opts	|NN const char **s|bool givehelp
 #endif
 Ap	|void	|save_set_svflags|NN SV *sv|U32 mask|U32 val
+#ifdef DEBUGGING
 Apod	|void	|hv_assert	|NN HV *hv
+#endif
 
 ApdR	|SV*	|hv_scalar	|NN HV *hv
 ApoR	|I32*	|hv_riter_p	|NN HV *hv
@@ -1963,9 +2174,13 @@
 Apo	|void	|hv_riter_set	|NN HV *hv|I32 riter
 Apo	|void	|hv_eiter_set	|NN HV *hv|NULLOK HE *eiter
 Ap	|void	|hv_name_set	|NN HV *hv|NULLOK const char *name|U32 len|U32 flags
+p	|void	|hv_ename_add	|NN HV *hv|NN const char *name|U32 len \
+				|U32 flags
+p	|void	|hv_ename_delete|NN HV *hv|NN const char *name|U32 len \
+				|U32 flags
 : Used in dump.c and hv.c
 poM	|AV**	|hv_backreferences_p	|NN HV *hv
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
 : Only used in sv.c
 poM	|void	|hv_kill_backrefs	|NN HV *hv
 #endif
@@ -1977,7 +2192,7 @@
 : This is indirectly referenced by globals.c. This is somewhat annoying.
 p	|SV*	|magic_scalarpack|NN HV *hv|NN MAGIC *mg
 
-#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_SV_C)
 s	|SV *	|find_hash_subscript|NULLOK const HV *const hv \
 		|NN const SV *const val
 s	|I32	|find_array_subscript|NULLOK const AV *const av \
@@ -2077,8 +2292,11 @@
 #endif
 
 #ifdef PERL_DONT_CREATE_GVSV
-Ap	|GV*	|gv_SVadd	|NN GV* gv
+Apbm	|GV*	|gv_SVadd	|NULLOK GV *gv
 #endif
+#if defined(PERL_IN_UTIL_C)
+s	|bool	|ckwarn_common	|U32 w
+#endif
 Apo	|bool	|ckwarn		|U32 w
 Apo	|bool	|ckwarn_d	|U32 w
 : FIXME - exported for ByteLoader - public or private?
@@ -2085,9 +2303,6 @@
 XEopMa	|STRLEN *|new_warnings_bitfield|NULLOK STRLEN *buffer \
 				|NN const char *const bits|STRLEN size
 
-: Used in av.c, hv.c
-p	|void	|offer_nice_chunk	|NN void *const chunk|const U32 chunk_size
-
 #ifndef SPRINTF_RETURNS_STRLEN
 Apnod	|int	|my_sprintf	|NN char *buffer|NN const char *pat|...
 #endif
@@ -2107,6 +2322,15 @@
 #endif
 #endif
 
+: This function is an implementation detail. The public API for this is
+: XS_VERSION_BOOTCHECK
+Xpo	|void	|xs_version_bootcheck|U32 items|U32 ax|NN const char *xs_p \
+				|STRLEN xs_len
+: This function is an implementation detail. The public API for this is
+: XS_APIVERSION_BOOTCHECK
+Xpo	|void	|xs_apiversion_bootcheck|NN SV *module|NN const char *api_p \
+				|STRLEN api_len
+
 #ifndef HAS_STRLCAT
 Apno	|Size_t	|my_strlcat	|NULLOK char *dst|NULLOK const char *src|Size_t size
 #endif
@@ -2117,7 +2341,7 @@
 
 #ifdef PERL_MAD
 Mnp	|void	|pad_peg	|NN const char* s
-#if defined(PERL_IN_DUMP_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_DUMP_C)
 sf	|void	|xmldump_attr	|I32 level|NN PerlIO *file|NN const char* pat \
 				|...
 #endif
@@ -2126,12 +2350,16 @@
 Mp	|void	|xmldump_vindent|I32 level|NN PerlIO *file|NN const char* pat \
 				|NULLOK va_list *args
 Mp	|void	|xmldump_all
+p	|void	|xmldump_all_perl	|bool justperl
 Mp	|void	|xmldump_packsubs	|NN const HV* stash
+p	|void	|xmldump_packsubs_perl	|NN const HV* stash|bool justperl
 Mp	|void	|xmldump_sub	|NN const GV* gv
+Mp	|void	|xmldump_sub_perl	|NN const GV* gv|bool justperl
 Mp	|void	|xmldump_form	|NN const GV* gv
 Mp	|void	|xmldump_eval
 Mp	|char*	|sv_catxmlsv	|NN SV *dsv|NN SV *ssv
 Mp	|char*	|sv_catxmlpvn	|NN SV *dsv|NN const char *pv|STRLEN len|int utf8
+Mp	|char*	|sv_catxmlpv	|NN SV *dsv|NN const char *pv|int utf8
 Mp	|char*	|sv_xmlpeek	|NN SV* sv
 Mp	|void	|do_pmop_xmldump|I32 level|NN PerlIO *file \
 				|NULLOK const PMOP *pm
@@ -2150,11 +2378,11 @@
 Mp	|void	|addmad		|NULLOK MADPROP* tm|NULLOK MADPROP** root \
 				|char slot
 Mp	|MADPROP*|newMADsv	|char key|NN SV* sv
-Mp	|MADPROP*|newMADPROP	|char key|char type|NULLOK const void* val \
+Mp	|MADPROP*|newMADPROP	|char key|char type|NULLOK void* val \
 				|I32 vlen
 Mp	|void	|mad_free	|NULLOK MADPROP* mp
 
-#  if defined(PERL_IN_TOKE_C) || defined(PERL_DECL_PROT)
+#  if defined(PERL_IN_TOKE_C)
 s	|char*	|skipspace0	|NN char *s
 s	|char*	|skipspace1	|NN char *s
 s	|char*	|skipspace2	|NN char *s|NULLOK SV **sv
@@ -2162,7 +2390,7 @@
 s	|void	|curmad		|char slot|NULLOK SV *sv
 #  endif
 Mp	|int	|madlex
-Mp	|int	|madparse
+Mp	|int	|madparse	|int gramtype
 #endif
 #if !defined(HAS_SIGNBIT)
 AMdnoP	|int	|Perl_signbit	|NV f
@@ -2189,24 +2417,50 @@
 p	|struct mro_meta*	|mro_meta_dup	|NN struct mro_meta* smeta|NN CLONE_PARAMS* param
 #endif
 Apd	|AV*	|mro_get_linear_isa|NN HV* stash
-#if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
+#if defined(PERL_IN_MRO_C)
 sd	|AV*	|mro_get_linear_isa_dfs|NN HV* stash|U32 level
+s	|void	|mro_clean_isarev|NN HV * const isa   \
+				 |NN const char * const name \
+				 |const STRLEN len \
+				 |NULLOK HV * const exceptions
+s	|void	|mro_gather_and_rename|NN HV * const stashes \
+				      |NN HV * const seen_stashes \
+				      |NULLOK HV *stash \
+				      |NULLOK HV *oldstash \
+				      |NN SV *namesv
 #endif
 : Used in hv.c, mg.c, pp.c, sv.c
 pd	|void   |mro_isa_changed_in|NN HV* stash
 Apd	|void	|mro_method_changed_in	|NN HV* stash
+pdx	|void	|mro_package_moved	|NULLOK HV * const stash|NULLOK HV * const oldstash|NN const GV * const gv|U32 flags
 : Only used in perl.c
 p	|void   |boot_core_mro
 Apon	|void	|sys_init	|NN int* argc|NN char*** argv
 Apon	|void	|sys_init3	|NN int* argc|NN char*** argv|NN char*** env
 Apon	|void	|sys_term
-ApoM	|const char *|fetch_cop_label|NULLOK struct refcounted_he *const chain \
+ApoM	|const char *|fetch_cop_label|NN COP *const cop \
 		|NULLOK STRLEN *len|NULLOK U32 *flags
 : Only used  in op.c
-xpoM	|struct refcounted_he *|store_cop_label \
-		|NULLOK struct refcounted_he *const chain|NN const char *label
+xpoM	|void|store_cop_label \
+		|NN COP *const cop|NN const char *label|STRLEN len|U32 flags
 
-END_EXTERN_C
-/*
- * ex: set ts=8 sts=4 sw=4 noet:
- */
+xpo	|int	|keyword_plugin_standard|NN char* keyword_ptr|STRLEN keyword_len|NN OP** op_ptr
+: Used in perly.y
+xp	|void	|munge_qwlist_to_paren_list|NN OP* qwlist
+
+#if defined(USE_ITHREADS)
+#  if defined(PERL_IN_SV_C)
+s	|void	|unreferenced_to_tmp_stack|NN AV *const unreferenced
+#  endif
+Aanop	|CLONE_PARAMS *|clone_params_new|NN PerlInterpreter *const from \
+		|NN PerlInterpreter *const to
+Anop	|void	|clone_params_del|NN CLONE_PARAMS *param
+#endif
+
+: Used in perl.c and toke.c
+op	|void	|populate_isa	|NN const char *name|STRLEN len|...
+
+: Used in keywords.c and toke.c
+op	|bool	|feature_is_enabled|NN const char *const name|STRLEN namelen
+
+: ex: set ts=8 sts=4 sw=4 noet:


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/embed.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/HvNAME
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/HvNAME	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/HvNAME	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 2 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:44 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/HvNAME
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/MY_CXT
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/MY_CXT	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/MY_CXT	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 17 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:48 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/MY_CXT
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvPV
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvPV	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvPV	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 23 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:47 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvPV
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvREFCNT
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvREFCNT	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvREFCNT	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 6 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:45 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/SvREFCNT
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/Sv_set
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/Sv_set	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/Sv_set	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 8 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:46 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/Sv_set
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/call
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/call	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/call	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 20 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:46 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/call
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/cop
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/cop	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/cop	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 9 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:47 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/cop
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/exception
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/exception	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/exception	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 8 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:46 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/exception
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/format
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/format	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/format	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 10 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:48 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/format
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/grok
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/grok	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/grok	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 17 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:49 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/grok
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/gv
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/gv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/gv	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 4 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:44 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##
@@ -23,7 +23,11 @@
 
 __UNDEFINED__ GvSVn(gv)        GvSV(gv)
 __UNDEFINED__ isGV_with_GP(gv) isGV(gv)
+__UNDEFINED__ gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
+__UNDEFINED__ gv_fetchsv(name, flags, svt) gv_fetchpv(SvPV_nolen_const(name), flags, svt)
 
+__UNDEFINED__ get_cvn_flags(name, namelen, flags) get_cv(name, flags)
+
 =xsubs
 
 int
@@ -58,9 +62,44 @@
 	OUTPUT:
 		RETVAL
 
+int
+get_cvn_flags()
+	PREINIT:
+		CV* xv;
+	CODE:
+		RETVAL = 0;
+		xv = get_cvn_flags("Devel::PPPort::foobar", sizeof("Devel::PPPort::foobar")-1, 0);
+		if(xv == NULL) RETVAL++;
+		xv = get_cvn_flags("Devel::PPPort::foobar", sizeof("Devel::PPPort::foobar")-1, GV_ADDMULTI);
+		if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+		xv = get_cvn_flags("Devel::PPPort::get_cvn_flags", sizeof("Devel::PPPort::get_cvn_flags")-1, 0);
+		if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+	OUTPUT:
+		RETVAL
 
-=tests plan => 2
+SV*
+gv_fetchpvn_flags()
+	CODE:
+		RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", sizeof("Devel::PPPort::VERSION")-1, 0, SVt_PV));
+	OUTPUT:
+		RETVAL
 
+SV*
+gv_fetchsv(name)
+	SV *name
+	CODE:
+		RETVAL = newRV_inc((SV*)gv_fetchsv(name, 0, SVt_PV));
+	OUTPUT:
+		RETVAL
+
+=tests plan => 5
+
 ok(Devel::PPPort::GvSVn(), 1);
 
-ok(Devel::PPPort::isGV_with_GP(), 2)
+ok(Devel::PPPort::isGV_with_GP(), 2);
+
+ok(Devel::PPPort::get_cvn_flags(), 3);
+
+ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/gv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/limits
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/limits	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/limits	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 8 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:47 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/limits
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/mPUSH
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/mPUSH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/mPUSH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 12 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:47 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/mPUSH
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/magic
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/magic	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/magic	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 21 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:49 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##
@@ -358,9 +358,10 @@
 &Devel::PPPort::sv_usepvn_mg($h{sv}, 'Perl');
 ok($h{sv}, 'Perl');
 
-my $ver = eval qq[qv("v1.2.0")];
-ok($[ < 5.009 || $@ eq '');
-ok($@ || Devel::PPPort::SvVSTRING_mg($ver));
+# v1 is treated as a bareword in older perls...
+my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] };
+ok($] < 5.009 || $@ eq '');
+ok($] < 5.009 || Devel::PPPort::SvVSTRING_mg($ver));
 ok(!Devel::PPPort::SvVSTRING_mg(4711));
 
 my $foo = 'bar';


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/magic
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/memory
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/memory	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/memory	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 7 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:46 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##
@@ -29,6 +29,10 @@
 __UNDEFINED__  memEQ(s1,s2,l)  (!bcmp(s1,s2,l))
 #endif
 
+__UNDEFINED__  memEQs(s1, l, s2) \
+                   (sizeof(s2)-1 == l && memEQ(s1, (s2 ""), (sizeof(s2)-1)))
+__UNDEFINED__  memNEs(s1, l, s2) !memEQs(s1, l, s2)
+
 __UNDEFINED__  MoveD(s,d,n,t)  memmove((char*)(d),(char*)(s), (n) * sizeof(t))
 __UNDEFINED__  CopyD(s,d,n,t)  memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
 #ifdef HAS_MEMSET
@@ -62,9 +66,13 @@
     ZeroD(p, 6, char);
     if (memEQ(p, "\0\0\0\0\0\0", 6))
       RETVAL++;
+    if (memEQs(p, 6, "\0\0\0\0\0\0"))
+      RETVAL++;
     Poison(p, 6, char);
     if (memNE(p, "\0\0\0\0\0\0", 6))
       RETVAL++;
+    if (memNEs(p, 6, "\0\0\0\0\0\0"))
+      RETVAL++;
     Safefree(p);
 
     Newxz(p, 6, char);
@@ -80,5 +88,5 @@
 
 =tests plan => 1
 
-ok(Devel::PPPort::checkmem(), 4);
+ok(Devel::PPPort::checkmem(), 6);
 


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/memory
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/misc
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/misc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/misc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 56 $
+##  $Author: mhx $
+##  $Date: 2011/09/10 20:38:10 +0200 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##
@@ -275,8 +275,8 @@
 #  undef isPRINT
 # endif
 __UNDEFINED__ isALNUMC(c)	(isALPHA(c) || isDIGIT(c))
-__UNDEFINED__ isASCII(c)	((c) <= 127)
-__UNDEFINED__ isCNTRL(c)	((c) < ' ' || (c) == 127)
+__UNDEFINED__ isASCII(c)	((U8) (c) <= 127)
+__UNDEFINED__ isCNTRL(c)	((U8) (c) < ' ' || (c) == 127)
 __UNDEFINED__ isGRAPH(c)	(isALNUM(c) || isPUNCT(c))
 __UNDEFINED__ isPRINT(c)	(((c) >= 32 && (c) < 127))
 __UNDEFINED__ isPUNCT(c)	(((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64)  || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
@@ -475,7 +475,6 @@
 		Perl_ppaddr_t lower;
 	PPCODE:
 		lower = PL_ppaddr[OP_LC];
-		PUSHMARK(SP);
 		mXPUSHs(newSVpv(string, 0));
 		PUTBACK;
 		ENTER;
@@ -497,6 +496,7 @@
 
 if ($] >= 5.009002) {
   eval q{
+    no if $^V > v5.17.9, warnings => "experimental::lexical_topic";
     my $_ = "Tony";
     ok(&Devel::PPPort::DEFSV(), "Fred");
     ok(&Devel::PPPort::UNDERBAR(), "Tony");


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/misc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newCONSTSUB
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newCONSTSUB	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newCONSTSUB	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 16 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:48 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newCONSTSUB
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newRV
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newRV	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newRV	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 10 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:48 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newRV
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSV_type
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSV_type	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSV_type	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 2 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:44 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSV_type
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSVpv
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSVpv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSVpv	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 7 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:44 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/newSVpv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/podtest
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/podtest	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/podtest	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 10 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:45 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/podtest
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphbin
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphbin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphbin	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 51 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:48 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphbin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphdoc
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphdoc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphdoc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 33 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:47 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##
@@ -336,7 +336,7 @@
 
 =head1 COPYRIGHT
 
-Version 3.x, Copyright (c) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (c) 2004-2010, Marcus Holland-Moritz.
 
 Version 2.x, Copyright (C) 2001, Paul Marquess.
 


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphdoc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphtest
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphtest	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphtest	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 47 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:46 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/ppphtest
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pv_tools
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pv_tools	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pv_tools	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 6 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:44 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pv_tools
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pvs
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pvs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pvs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 14 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:45 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##
@@ -30,15 +30,21 @@
 
 __UNDEFINED__  newSVpvs(str)               newSVpvn(str "", sizeof(str) - 1)
 __UNDEFINED__  newSVpvs_flags(str, flags)  newSVpvn_flags(str "", sizeof(str) - 1, flags)
+__UNDEFINED__  newSVpvs_share(str)         newSVpvn_share(str "", sizeof(str) - 1, 0)
 __UNDEFINED__  sv_catpvs(sv, str)          sv_catpvn(sv, str "", sizeof(str) - 1)
 __UNDEFINED__  sv_setpvs(sv, str)          sv_setpvn(sv, str "", sizeof(str) - 1)
 __UNDEFINED__  hv_fetchs(hv, key, lval)    hv_fetch(hv, key "", sizeof(key) - 1, lval)
 __UNDEFINED__  hv_stores(hv, key, val)     hv_store(hv, key "", sizeof(key) - 1, val, 0)
 
-__UNDEFINED__  gv_fetchpvn_flags(name, len, flags, svt) gv_fetchpv(name, flags, svt)
 __UNDEFINED__  gv_fetchpvs(name, flags, svt)            gv_fetchpvn_flags(name "", sizeof(name) - 1, flags, svt)
 __UNDEFINED__  gv_stashpvs(name, flags)                 gv_stashpvn(name "", sizeof(name) - 1, flags)
 
+__UNDEFINED__  get_cvs(name, flags)                     get_cvn_flags(name "", sizeof(name)-1, flags)
+
+=xsinit
+
+#define NEED_newSVpvn_share
+
 =xsubs
 
 void
@@ -53,6 +59,22 @@
 		XPUSHs(newSVpvs_flags("newSVpvs_flags", SVs_TEMP));
 		XSRETURN(1);
 
+int
+newSVpvs_share()
+	PREINIT:
+		SV *sv;
+		U32 hash;
+	CODE:
+		RETVAL = 0;
+		PERL_HASH(hash, "pvs", 3);
+		sv = newSVpvs_share("pvs");
+		RETVAL += strEQ(SvPV_nolen_const(sv), "pvs");
+		RETVAL += SvCUR(sv) == 3;
+		RETVAL += SvSHARED_HASH(sv) == hash;
+		SvREFCNT_dec(sv);
+	OUTPUT:
+		RETVAL
+
 void
 sv_catpvs(sv)
 	SV *sv
@@ -83,13 +105,6 @@
 		(void) hv_stores((HV *) SvRV(hv), "hv_stores", SvREFCNT_inc_simple(sv));
 
 SV*
-gv_fetchpvn_flags()
-	CODE:
-		RETVAL = newRV_inc((SV*)gv_fetchpvn_flags("Devel::PPPort::VERSION", sizeof("Devel::PPPort::VERSION")-1, 0, SVt_PV));
-	OUTPUT:
-		RETVAL
-
-SV*
 gv_fetchpvs()
 	CODE:
 		RETVAL = newRV_inc((SV*)gv_fetchpvs("Devel::PPPort::VERSION", 0, SVt_PV));
@@ -103,13 +118,29 @@
 	OUTPUT:
 		RETVAL
 
+int
+get_cvs()
+	PREINIT:
+		CV* xv;
+	CODE:
+		RETVAL = 0;
+		xv = get_cvs("Devel::PPPort::foobar", 0);
+		if(xv == NULL) RETVAL++;
+		xv = get_cvs("Devel::PPPort::foobar", GV_ADDMULTI);
+		if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+		xv = get_cvs("Devel::PPPort::get_cvs", 0);
+		if(xv && SvTYPE(xv) == SVt_PVCV) RETVAL++;
+OUTPUT:
+	RETVAL
 
-=tests plan => 11
 
+=tests plan => 12
+
 my $x = 'foo';
 
 ok(Devel::PPPort::newSVpvs(), "newSVpvs");
 ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
+ok(Devel::PPPort::newSVpvs_share(), 3);
 
 Devel::PPPort::sv_catpvs($x);
 ok($x, "foosv_catpvs");
@@ -123,6 +154,7 @@
 ok(exists $h{'hv_stores'});
 ok($h{'hv_stores'}, 4711);
 ok(Devel::PPPort::hv_fetchs(\%h), 42);
-ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
-ok(Devel::PPPort::gv_fetchpvs(),       \*Devel::PPPort::VERSION);
-ok(Devel::PPPort::gv_stashpvs(),       \%Devel::PPPort::);
+ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
+ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
+
+ok(Devel::PPPort::get_cvs(), 3);


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/pvs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/shared_pv
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/shared_pv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/shared_pv	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 7 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:44 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##
@@ -22,6 +22,12 @@
 
 =implementation
 
+/* Hint: newSVpvn_share
+ * The SVs created by this function only mimic the behaviour of
+ * shared PVs without really being shared. Only use if you know
+ * what you're doing.
+ */
+
 #ifndef newSVpvn_share
 
 #if { NEED newSVpvn_share }


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/shared_pv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/snprintf
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/snprintf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/snprintf	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 7 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:45 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/snprintf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sprintf
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sprintf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sprintf	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 3 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:44 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sprintf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/strlfuncs
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/strlfuncs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/strlfuncs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 7 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:45 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/strlfuncs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sv_xpvf
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sv_xpvf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sv_xpvf	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 11 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:46 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/sv_xpvf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/threads
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/threads	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/threads	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 12 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:47 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/threads
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/uv
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/uv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/uv	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 18 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:47 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/uv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/variables
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/variables	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/variables	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 22 $
+##  $Author: mhx $
+##  $Date: 2011/04/13 09:39:16 +0200 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##
@@ -383,8 +383,10 @@
 		ppp_TESTVAR(PL_debstash);
 		ppp_TESTVAR(PL_defgv);
 		ppp_TESTVAR(PL_diehook);
-#if defined(PL_phase) || defined(PL_Iphase)
-		ppp_PARSERVAR_dummy;
+#if { VERSION >= 5.13.7 }
+                /* can't get a pointer any longer */
+                mXPUSHi(PL_dirty ? 1 : 1);
+                count++;
 #else
 		ppp_TESTVAR(PL_dirty);
 #endif


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/variables
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/version
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/version	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/version	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 11 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:48 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/version
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/warn
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/inc/warn	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/inc/warn	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 ################################################################################
 ##
-##  $Revision: 1.1.1.1 $
-##  $Author: laffer1 $
-##  $Date: 2011-05-18 13:33:29 $
+##  $Revision: 8 $
+##  $Author: mhx $
+##  $Date: 2010/03/07 13:15:45 +0100 $
 ##
 ################################################################################
 ##
-##  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+##  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 ##  Version 2.x, Copyright (C) 2001, Paul Marquess.
 ##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 ##


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/inc/warn
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/ppport.fnc
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/ppport.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/ppport.fnc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 :
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :
-:  $Revision: 1.1.1.1 $
-:  $Author: laffer1 $
-:  $Date: 2011-05-18 13:33:29 $
+:  $Revision: 4 $
+:  $Author: mhx $
+:  $Date: 2010/03/07 13:15:43 +0100 $
 :
 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
 :
-:  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+:  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 :  Version 2.x, Copyright (C) 2001, Paul Marquess.
 :  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 :


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/ppport.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/ppptools.pl
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/ppptools.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/ppptools.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 29 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:43 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -312,17 +312,22 @@
         my @e = split /\s*\|\s*/, $line;
         if( @e >= 3 ) {
           my($flags, $ret, $name, @args) = @e;
-          for (@args) {
-            $_ = [trim_arg($_)];
+          if ($name =~ /^[^\W\d]\w*$/) {
+            for (@args) {
+              $_ = [trim_arg($_)];
+            }
+            ($ret) = trim_arg($ret);
+            push @func, {
+              name  => $name,
+              flags => { map { $_, 1 } $flags =~ /./g },
+              ret   => $ret,
+              args  => \@args,
+              cond  => ppcond(\@pps),
+            };
           }
-          ($ret) = trim_arg($ret);
-          push @func, {
-            name  => $name,
-            flags => { map { $_, 1 } $flags =~ /./g },
-            ret   => $ret,
-            args  => \@args,
-            cond  => ppcond(\@pps),
-          };
+          else {
+            warn "mysterious name [$name] in $file, line $.\n";
+          }
         }
       }
     }


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/ppptools.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004010
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004020
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004030
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004040
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004050
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004050	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004050	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5004050
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005000	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,6 +18,7 @@
 runops_debug                   # U
 runops_standard                # U
 save_iv                        # U (save_iv)
+save_op                        # U
 screaminstr                    # E (Perl_screaminstr)
 sv_iv                          # U
 sv_nv                          # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005010
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005020
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005030
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005040
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5005040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006000	2013-12-01 21:45:02 UTC (rev 6430)
@@ -45,8 +45,6 @@
 init_i18nl14n                  # U (perl_init_i18nl14n)
 is_uni_alnum                   # U
 is_uni_alnum_lc                # U
-is_uni_alnumc                  # U
-is_uni_alnumc_lc               # U
 is_uni_alpha                   # U
 is_uni_alpha_lc                # U
 is_uni_ascii                   # U
@@ -72,7 +70,6 @@
 is_uni_xdigit                  # U
 is_uni_xdigit_lc               # U
 is_utf8_alnum                  # U
-is_utf8_alnumc                 # U
 is_utf8_alpha                  # U
 is_utf8_ascii                  # U
 is_utf8_char                   # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006001
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006002
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5006002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007001
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007002
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007003
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007003	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 5.007003
+OP_DESC                        # U
+OP_NAME                        # U
+PL_peepp                       # E
 PerlIO_clearerr                # U (PerlIO_clearerr)
 PerlIO_close                   # U (PerlIO_close)
 PerlIO_eof                     # U (PerlIO_eof)


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5007003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008001
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008002
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008003
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008004
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008005
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008006
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008006	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008006	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008006
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008007
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008007	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008007	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008007
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008008
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008008	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008008	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5008008
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009001
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009002
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009002	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,6 @@
 5.009002
 SvPVbyte_force                 # U
 find_rundefsvoffset            # U
-gv_fetchsv                     # U
 op_refcnt_lock                 # U
 op_refcnt_unlock               # U
 savesvpv                       # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009003
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009003	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,9 +17,7 @@
 is_utf8_string_loclen          # U
 newGIVENOP                     # U
 newSVhek                       # U
-newSVpvs_share                 # U
 newWHENOP                      # U
-newWHILEOP                     # E (Perl_newWHILEOP)
 savepvs                        # U
 sortsv_flags                   # U
 vverify                        # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009004
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009004	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,7 @@
 5.009004
 PerlIO_context_layers          # U
 gv_name_set                    # U
+hv_copy_hints_hv               # U
 my_vsnprintf                   # U
 newXS_flags                    # U
 regclass_swash                 # E (Perl_regclass_swash)


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009005
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009005	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,12 @@
 5.009005
+PL_parser                      # E
 Perl_signbit                   # U
 SvRX                           # U
 SvRXOK                         # U
 av_create_and_push             # U
 av_create_and_unshift_one      # U
-get_cvn_flags                  # U
 gv_fetchfile_flags             # U
+lex_start                      # E (Perl_lex_start)
 mro_get_linear_isa             # U
 mro_method_changed_in          # U
 my_dirfd                       # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5009005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5010000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5010000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5010000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5010000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5011000
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5011000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5011000	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,27 +1,15 @@
 5.011000
-HeUTF8                         # U
-MULTICALL                      # E
-PERL_SYS_TERM                  # E
-POP_MULTICALL                  # E
-PUSH_MULTICALL                 # E
+Gv_AMupdate                    # E (Perl_Gv_AMupdate)
+PL_opfreehook                  # E
 SvOOK_offset                   # U
 av_iter_p                      # U
-croak_xs_usage                 # U
 fetch_cop_label                # U
+gv_add_by_type                 # U
 gv_fetchmethod_flags           # U
-hv_assert                      # U
-mro_get_from_name              # U
-mro_get_private_data           # U
-mro_register                   # U
-mro_set_mro                    # U
-mro_set_private_data           # U
-pad_sv                         # U
+is_ascii_string                # U
 pregfree2                      # U
-ref                            # U (Perl_ref)
 save_adelete                   # U
+save_aelem_flags               # U
+save_hdelete                   # U
 save_helem_flags               # U
-save_padsv_and_mortalize       # U
-save_pushptr                   # U
-stashpv_hvname_match           # U
-sv_insert_flags                # U
 sv_utf8_upgrade_flags_grow     # U


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/parts/todo/5011000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/ppport_h.PL
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/ppport_h.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/ppport_h.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 8 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:16:55 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2006, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/ppport_h.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/soak
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/soak	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/soak	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,13 +7,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 20 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:42 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #
@@ -33,7 +33,7 @@
 use List::Util qw(max);
 use Config;
 
-my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.19 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
+my $VERSION = do { my @r = '$Snapshot: /Devel-PPPort/3.20 $' =~ /(\d+\.\d+(?:_\d+)?)/; @r ? $r[0] : '9.99' };
 
 $| = 1;
 my %OPT = (
@@ -589,7 +589,7 @@
 
 =head1 COPYRIGHT
 
-Version 3.x, Copyright (c) 2004-2009, Marcus Holland-Moritz.
+Version 3.x, Copyright (c) 2004-2010, Marcus Holland-Moritz.
 
 Version 2.x, Copyright (C) 2001, Paul Marquess.
 


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/soak
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/HvNAME.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/HvNAME.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/HvNAME.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/HvNAME.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/MY_CXT.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/MY_CXT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/MY_CXT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/MY_CXT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/SvPV.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/SvPV.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/SvPV.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/SvPV.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/SvREFCNT.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/SvREFCNT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/SvREFCNT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/SvREFCNT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/Sv_set.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/Sv_set.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/Sv_set.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/Sv_set.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/call.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/call.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/call.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/call.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/cop.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/cop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/cop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/cop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/exception.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/exception.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/exception.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/exception.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/format.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/format.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/format.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/format.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/grok.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/grok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/grok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/grok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/t/gv.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/gv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/gv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,9 +30,9 @@
     require 'testutil.pl' if $@;
   }
 
-  if (2) {
+  if (5) {
     load();
-    plan(tests => 2);
+    plan(tests => 5);
   }
 }
 
@@ -50,5 +50,11 @@
 
 ok(Devel::PPPort::GvSVn(), 1);
 
-ok(Devel::PPPort::isGV_with_GP(), 2)
+ok(Devel::PPPort::isGV_with_GP(), 2);
 
+ok(Devel::PPPort::get_cvn_flags(), 3);
+
+ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
+
+ok(Devel::PPPort::gv_fetchsv("Devel::PPPort::VERSION"), \*Devel::PPPort::VERSION);
+


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/gv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/limits.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/limits.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/limits.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/limits.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/mPUSH.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/mPUSH.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/mPUSH.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/mPUSH.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/t/magic.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/magic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -84,9 +84,10 @@
 &Devel::PPPort::sv_usepvn_mg($h{sv}, 'Perl');
 ok($h{sv}, 'Perl');
 
-my $ver = eval qq[qv("v1.2.0")];
-ok($[ < 5.009 || $@ eq '');
-ok($@ || Devel::PPPort::SvVSTRING_mg($ver));
+# v1 is treated as a bareword in older perls...
+my $ver = do { local $SIG{'__WARN__'} = sub {}; eval qq[v1.2.0] };
+ok($] < 5.009 || $@ eq '');
+ok($] < 5.009 || Devel::PPPort::SvVSTRING_mg($ver));
 ok(!Devel::PPPort::SvVSTRING_mg(4711));
 
 my $foo = 'bar';


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/magic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/t/memory.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/memory.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/memory.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -48,5 +48,5 @@
 
 package main;
 
-ok(Devel::PPPort::checkmem(), 4);
+ok(Devel::PPPort::checkmem(), 6);
 


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/memory.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/t/misc.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/misc.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -59,6 +59,7 @@
 
 if ($] >= 5.009002) {
   eval q{
+    no if $^V > v5.17.9, warnings => "experimental::lexical_topic";
     my $_ = "Tony";
     ok(&Devel::PPPort::DEFSV(), "Fred");
     ok(&Devel::PPPort::UNDERBAR(), "Tony");


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/misc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/newCONSTSUB.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/newCONSTSUB.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/newCONSTSUB.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/newCONSTSUB.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/newRV.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/newRV.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/newRV.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/newRV.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/newSV_type.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/newSV_type.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/newSV_type.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/newSV_type.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/newSVpv.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/newSVpv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/newSVpv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/newSVpv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/podtest.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/podtest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/podtest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/podtest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/t/ppphtest.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/ppphtest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/ppphtest.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,6 +12,8 @@
 
 BEGIN {
   if ($ENV{'PERL_CORE'}) {
+    chdir 't' if -d 't';
+    @INC = ('../lib', '../ext/Devel-PPPort/t') if -d '../lib' && -d '../ext';
     require Config; import Config;
     use vars '%Config';
     if (" $Config{'extensions'} " !~ m[ Devel/PPPort ]) {


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/ppphtest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/pv_tools.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/pv_tools.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/pv_tools.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/pv_tools.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/t/pvs.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/pvs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/pvs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,9 +30,9 @@
     require 'testutil.pl' if $@;
   }
 
-  if (11) {
+  if (12) {
     load();
-    plan(tests => 11);
+    plan(tests => 12);
   }
 }
 
@@ -52,6 +52,7 @@
 
 ok(Devel::PPPort::newSVpvs(), "newSVpvs");
 ok(Devel::PPPort::newSVpvs_flags(), "newSVpvs_flags");
+ok(Devel::PPPort::newSVpvs_share(), 3);
 
 Devel::PPPort::sv_catpvs($x);
 ok($x, "foosv_catpvs");
@@ -65,7 +66,8 @@
 ok(exists $h{'hv_stores'});
 ok($h{'hv_stores'}, 4711);
 ok(Devel::PPPort::hv_fetchs(\%h), 42);
-ok(Devel::PPPort::gv_fetchpvn_flags(), \*Devel::PPPort::VERSION);
-ok(Devel::PPPort::gv_fetchpvs(),       \*Devel::PPPort::VERSION);
-ok(Devel::PPPort::gv_stashpvs(),       \%Devel::PPPort::);
+ok(Devel::PPPort::gv_fetchpvs(), \*Devel::PPPort::VERSION);
+ok(Devel::PPPort::gv_stashpvs(), \%Devel::PPPort::);
 
+ok(Devel::PPPort::get_cvs(), 3);
+


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/pvs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/shared_pv.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/shared_pv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/shared_pv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/shared_pv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/snprintf.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/snprintf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/snprintf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/snprintf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/sprintf.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/sprintf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/sprintf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/sprintf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/strlfuncs.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/strlfuncs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/strlfuncs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/strlfuncs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/sv_xpvf.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/sv_xpvf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/sv_xpvf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/sv_xpvf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/testutil.pl
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/testutil.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/testutil.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/testutil.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/threads.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/uv.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/uv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/uv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/uv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/variables.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/variables.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/variables.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/variables.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Devel-PPPort/t/warn.t
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/t/warn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/t/warn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Devel-PPPort/t/warn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Devel-PPPort/typemap
===================================================================
--- vendor/perl/dist/cpan/Devel-PPPort/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Devel-PPPort/typemap	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,13 @@
 #
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 10 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 13:15:40 +0100 $
 #
 ################################################################################
 #
-#  Version 3.x, Copyright (C) 2004-2009, Marcus Holland-Moritz.
+#  Version 3.x, Copyright (C) 2004-2010, Marcus Holland-Moritz.
 #  Version 2.x, Copyright (C) 2001, Paul Marquess.
 #  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
 #


Property changes on: vendor/perl/dist/cpan/Devel-PPPort/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest/Changes
===================================================================
--- vendor/perl/dist/cpan/Digest/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,24 @@
+2011-10-02   Gisle Aas <gisle at ActiveState.com>
+
+   Release 1.17.
+
+   Gisle Aas (6):
+      Less noisy 'git status' output
+      Merge pull request #1 from schwern/bug/require_eval
+      Don't clobber $@ in Digest->new [RT#50663]
+      More meta info added to Makefile.PL
+      Fix typo in RIPEMD160 [RT#50629]
+      Add schwern's test files
+
+   Michael G. Schwern (5):
+      Turn on strict.
+      Convert tests to use Test::More
+      Untabify
+      Turn Digest::Dummy into a real file which exercises the Digest->new() require logic.
+      Close the eval "require $module" security hole in Digest->new($algorithm)
+
+
+
 2009-06-09   Gisle Aas <gisle at ActiveState.com>
 
    Release 1.16.


Property changes on: vendor/perl/dist/cpan/Digest/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest/Digest/base.pm
===================================================================
--- vendor/perl/dist/cpan/Digest/Digest/base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest/Digest/base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest/Digest/base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest/Digest/file.pm
===================================================================
--- vendor/perl/dist/cpan/Digest/Digest/file.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest/Digest/file.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest/Digest/file.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest/Digest.pm
===================================================================
--- vendor/perl/dist/cpan/Digest/Digest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest/Digest.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use vars qw($VERSION %MMAP $AUTOLOAD);
 
-$VERSION = "1.16";
+$VERSION = "1.17";
 
 %MMAP = (
   "SHA-1"      => [["Digest::SHA", 1], "Digest::SHA1", ["Digest::SHA2", 1]],
@@ -16,7 +16,7 @@
   "CRC-16"     => [["Digest::CRC", type => "crc16"]],
   "CRC-32"     => [["Digest::CRC", type => "crc32"]],
   "CRC-CCITT"  => [["Digest::CRC", type => "crcccitt"]],
-  "RIPEMD-160" => "Crypt::PIPEMD160",
+  "RIPEMD-160" => "Crypt::RIPEMD160",
 );
 
 sub new
@@ -24,24 +24,27 @@
     shift;  # class ignored
     my $algorithm = shift;
     my $impl = $MMAP{$algorithm} || do {
-	$algorithm =~ s/\W+//;
-	"Digest::$algorithm";
+        $algorithm =~ s/\W+//g;
+        "Digest::$algorithm";
     };
     $impl = [$impl] unless ref($impl);
+    local $@;  # don't clobber it for our caller
     my $err;
     for  (@$impl) {
-	my $class = $_;
-	my @args;
-	($class, @args) = @$class if ref($class);
-	no strict 'refs';
-	unless (exists ${"$class\::"}{"VERSION"}) {
-	    eval "require $class";
-	    if ($@) {
-		$err ||= $@;
-		next;
-	    }
-	}
-	return $class->new(@args, @_);
+        my $class = $_;
+        my @args;
+        ($class, @args) = @$class if ref($class);
+        no strict 'refs';
+        unless (exists ${"$class\::"}{"VERSION"}) {
+            my $pm_file = $class . ".pm";
+            $pm_file =~ s{::}{/}g;
+            eval { require $pm_file };
+            if ($@) {
+                $err ||= $@;
+                next;
+            }
+        }
+        return $class->new(@args, @_);
     }
     die $err;
 }


Property changes on: vendor/perl/dist/cpan/Digest/Digest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest/t/base.t
===================================================================
--- vendor/perl/dist/cpan/Digest/t/base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest/t/base.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,6 @@
 #!perl -w
 
-use Test qw(plan ok);
-plan tests => 12;
+use Test::More tests => 12;
 
 {
    package LenDigest;
@@ -31,26 +30,26 @@
 }
 
 my $ctx = LenDigest->new;
-ok($ctx->digest, "X0000");
+is($ctx->digest, "X0000");
 
 my $EBCDIC = ord('A') == 193;
 
 if ($EBCDIC) {
-    ok($ctx->hexdigest, "e7f0f0f0f0");
-    ok($ctx->b64digest, "5/Dw8PA");
+    is($ctx->hexdigest, "e7f0f0f0f0");
+    is($ctx->b64digest, "5/Dw8PA");
 } else {
-    ok($ctx->hexdigest, "5830303030");
-    ok($ctx->b64digest, "WDAwMDA");
+    is($ctx->hexdigest, "5830303030");
+    is($ctx->b64digest, "WDAwMDA");
 }
 
 $ctx->add("foo");
-ok($ctx->digest, "f0003");
+is($ctx->digest, "f0003");
 
 $ctx->add("foo");
-ok($ctx->hexdigest, $EBCDIC ? "86f0f0f0f3" : "6630303033");
+is($ctx->hexdigest, $EBCDIC ? "86f0f0f0f3" : "6630303033");
 
 $ctx->add("foo");
-ok($ctx->b64digest, $EBCDIC ? "hvDw8PM" : "ZjAwMDM");
+is($ctx->b64digest, $EBCDIC ? "hvDw8PM" : "ZjAwMDM");
 
 open(F, ">xxtest$$") || die;
 binmode(F);
@@ -62,23 +61,23 @@
 close(F);
 unlink("xxtest$$") || warn;
 
-ok($ctx->digest, "a0301");
+is($ctx->digest, "a0301");
 
 eval {
     $ctx->add_bits("1010");
 };
-ok($@ =~ /^Number of bits must be multiple of 8/);
+like($@, '/^Number of bits must be multiple of 8/');
 
 $ctx->add_bits($EBCDIC ? "11100100" : "01010101");
-ok($ctx->digest, "U0001");
+is($ctx->digest, "U0001");
 
 eval {
     $ctx->add_bits("abc", 12);
 };
-ok($@ =~ /^Number of bits must be multiple of 8/);
+like($@, '/^Number of bits must be multiple of 8/');
 
 $ctx->add_bits("abc", 16);
-ok($ctx->digest, "a0002");
+is($ctx->digest, "a0002");
 
 $ctx->add_bits("abc", 32);
-ok($ctx->digest, "a0003");
+is($ctx->digest, "a0003");


Property changes on: vendor/perl/dist/cpan/Digest/t/base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest/t/digest.t
===================================================================
--- vendor/perl/dist/cpan/Digest/t/digest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest/t/digest.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,36 +1,22 @@
-print "1..3\n";
+#!/usr/bin/env perl
 
-use Digest;
+use strict;
+use Test::More tests => 4;
 
-{
-    package Digest::Dummy;
-    use vars qw($VERSION @ISA);
-    $VERSION = 1;
+# To find Digest::Dummy
+use lib 't/lib';
 
-    require Digest::base;
-    @ISA = qw(Digest::base);
+use Digest;
 
-    sub new {
-	my $class = shift;
-	my $d = shift || "ooo";
-	bless { d => $d }, $class;
-    }
-    sub add {}
-    sub digest { shift->{d} }
-}
-
+$@ = "rt#50663";
 my $d;
 $d = Digest->new("Dummy");
-print "not " unless $d->digest eq "ooo";
-print "ok 1\n";
+is $@, "rt#50663";
+is $d->digest, "ooo";
 
 $d = Digest->Dummy;
-print "not " unless $d->digest eq "ooo";
-print "ok 2\n";
+is $d->digest, "ooo";
 
 $Digest::MMAP{"Dummy-24"} = [["NotThere"], "NotThereEither", ["Digest::Dummy", 24]];
 $d = Digest->new("Dummy-24");
-print "not " unless $d->digest eq "24";
-print "ok 3\n";
-
-
+is $d->digest, "24";


Property changes on: vendor/perl/dist/cpan/Digest/t/digest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest/t/file.t
===================================================================
--- vendor/perl/dist/cpan/Digest/t/file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest/t/file.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,6 @@
 #!perl -w
 
-use Test qw(plan ok);
-plan tests => 5;
+use Test::More tests => 5;
 
 {
    package Digest::Foo;
@@ -36,17 +35,17 @@
 print F "foo\0\n";
 close(F) || die "Can't write '$file': $!";
 
-ok(digest_file($file, "Foo"), "0005");
+is(digest_file($file, "Foo"), "0005");
 
 if (ord('A') == 193) { # EBCDIC.
-    ok(digest_file_hex($file, "Foo"), "f0f0f0f5");
-    ok(digest_file_base64($file, "Foo"), "8PDw9Q");
+    is(digest_file_hex($file, "Foo"), "f0f0f0f5");
+    is(digest_file_base64($file, "Foo"), "8PDw9Q");
 } else {
-    ok(digest_file_hex($file, "Foo"), "30303035");
-    ok(digest_file_base64($file, "Foo"), "MDAwNQ");
+    is(digest_file_hex($file, "Foo"), "30303035");
+    is(digest_file_base64($file, "Foo"), "MDAwNQ");
 }
 
 unlink($file) || warn "Can't unlink '$file': $!";
 
-ok(eval { digest_file("not-there.txt", "Foo") }, undef);
-ok($@);
+ok !eval { digest_file("not-there.txt", "Foo") };
+ok $@;


Property changes on: vendor/perl/dist/cpan/Digest/t/file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-MD5/Changes
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,30 @@
+2012-06-08   Gisle Aas <gisle at ActiveState.com>
+
+   Gisle Aas (3):
+      Wrong version number in the changelog
+      The t/threads.t was missing from the MANIFEST
+      Update expected digests for files
+
+   Andrew Fresh (1):
+      Remove double the
+
+   Lyle Hopkins (1):
+      Digest::Perl::MD5 OO fallback didn't work [RT#66634]
+
+   Peter J. Acklam (1):
+      Fix typos (spelling errors) in cpan/Digest-MD5/*
+
+   Shlomi Fish (1):
+      Modernize the code in the POD.
+
+   Zefram (1):
+      Makes Digest::MD5 work on Perl 5.6 [RT#75032]
+
+
+
 2010-09-30   Gisle Aas <gisle at ActiveState.com>
 
-   Release 2.50
+   Release 2.51
 
    Florian Ragwitz (1):
       Fix compilation with c++ compilers
@@ -68,7 +92,7 @@
 
    Applied warning fix from Geoff Richards [RT#19643]
 
-   Applied compatiblity fix from Alexandr Ciornii [RT#30348]
+   Applied compatibility fix from Alexandr Ciornii [RT#30348]
 
 
 
@@ -412,7 +436,7 @@
    Avoid LONG and BYTE types in SHA.xs as they was in conflict
    with similar definitions in <winnt.h>.
 
-   Patch by Marko Asplund <aspa at hip.fi> to make the the alignment
+   Patch by Marko Asplund <aspa at hip.fi> to make the alignment
    test program link successfully with sfio-perl.
 
    Fixed a typo in MD5.xs that might have affected 64-bit systems.
@@ -594,7 +618,7 @@
 
    Release 1.99_55
 
-   Grahams HMAC_MD5.pm splitted into two modules.  Digest::HMAC and
+   Grahams HMAC_MD5.pm split into two modules.  Digest::HMAC and
    Digest::HMAC_MD5.  Also provide functional interface.  Documentation
    is still lacking.
 


Property changes on: vendor/perl/dist/cpan/Digest-MD5/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-MD5/MD5.pm
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/MD5.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/MD5.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use vars qw($VERSION @ISA @EXPORT_OK);
 
-$VERSION = '2.51';
+$VERSION = '2.52';
 
 require Exporter;
 *import = \&Exporter::import;
@@ -30,7 +30,7 @@
 	require Digest::Perl::MD5;
 
 	Digest::Perl::MD5->import(qw(md5 md5_hex md5_base64));
-	push(@ISA, "Digest::Perl::MD5");  # make OO interface work
+	unshift(@ISA, "Digest::Perl::MD5");  # make OO interface work
     };
     if ($@) {
 	# restore the original error
@@ -63,7 +63,7 @@
  $ctx = Digest::MD5->new;
 
  $ctx->add($data);
- $ctx->addfile(*FILE);
+ $ctx->addfile($file_handle);
 
  $digest = $ctx->digest;
  $digest = $ctx->hexdigest;
@@ -253,7 +253,7 @@
     
     print "Digest is $digest\n";
 
-With OO style you can break the message arbitrary.  This means that we
+With OO style, you can break the message arbitrarily.  This means that we
 are no longer limited to have space for the whole message in memory, i.e.
 we can handle messages of any size.
 
@@ -261,16 +261,16 @@
 
     use Digest::MD5;
 
-    my $file = shift || "/etc/passwd";
-    open(FILE, $file) or die "Can't open '$file': $!";
-    binmode(FILE);
+    my $filename = shift || "/etc/passwd";
+    open (my $fh, '<', $filename) or die "Can't open '$filename': $!";
+    binmode($fh);
 
     $md5 = Digest::MD5->new;
-    while (<FILE>) {
+    while (<$fh>) {
         $md5->add($_);
     }
-    close(FILE);
-    print $md5->b64digest, " $file\n";
+    close($fh);
+    print $md5->b64digest, " $filename\n";
 
 Or we can use the addfile method for more efficient reading of
 the file:
@@ -277,11 +277,11 @@
 
     use Digest::MD5;
 
-    my $file = shift || "/etc/passwd";
-    open(FILE, $file) or die "Can't open '$file': $!";
-    binmode(FILE);
+    my $filename = shift || "/etc/passwd";
+    open (my $fh, '<', $filename) or die "Can't open '$filename': $!";
+    binmode ($fh);
 
-    print Digest::MD5->new->addfile(*FILE)->hexdigest, " $file\n";
+    print Digest::MD5->new->addfile($fh)->hexdigest, " $filename\n";
 
 Perl 5.8 support Unicode characters in strings.  Since the MD5
 algorithm is only defined for strings of bytes, it can not be used on


Property changes on: vendor/perl/dist/cpan/Digest-MD5/MD5.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-MD5/MD5.xs
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/MD5.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/MD5.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -43,6 +43,51 @@
 }
 #endif
 
+#ifndef PERL_UNUSED_VAR
+# define PERL_UNUSED_VAR(x) ((void)x)
+#endif
+
+#ifndef PERL_MAGIC_ext
+# define PERL_MAGIC_ext '~'
+#endif
+
+#ifndef Newxz
+# define Newxz(v,n,t) Newz(0,v,n,t)
+#endif
+
+#ifndef SvMAGIC_set
+# define SvMAGIC_set(sv, mg) (SvMAGIC(sv) = (mg))
+#endif
+
+#ifndef sv_magicext
+# define sv_magicext(sv, obj, type, vtbl, name, namlen) \
+    THX_sv_magicext(aTHX_ sv, obj, type, vtbl, name, namlen)
+static MAGIC *THX_sv_magicext(pTHX_ SV *sv, SV *obj, int type,
+    MGVTBL const *vtbl, char const *name, I32 namlen)
+{
+    MAGIC *mg;
+    if (obj || namlen)
+	/* exceeded intended usage of this reserve implementation */
+	return NULL;
+    Newxz(mg, 1, MAGIC);
+    mg->mg_virtual = (MGVTBL*)vtbl;
+    mg->mg_type = type;
+    mg->mg_ptr = (char *)name;
+    mg->mg_len = -1;
+    (void) SvUPGRADE(sv, SVt_PVMG);
+    mg->mg_moremagic = SvMAGIC(sv);
+    SvMAGIC_set(sv, mg);
+    SvMAGICAL_off(sv);
+    mg_magical(sv);
+    return mg;
+}
+#endif
+
+#if PERL_VERSION < 8
+# undef SvPVbyte
+# define SvPVbyte(sv, lp) (sv_utf8_downgrade((sv), 0), SvPV((sv), (lp)))
+#endif
+
 /* Perl does not guarantee that U32 is exactly 32 bits.  Some system
  * has no integral type with exactly 32 bits.  For instance, A Cray has
  * short, int and long all at 64 bits so we need to apply this macro
@@ -89,7 +134,7 @@
                         ((U32)(*(s+3)) << 24))
 #endif
 
-/* This stucture keeps the current state of algorithm.
+/* This structure keeps the current state of algorithm.
  */
 typedef struct {
   U32 A, B, C, D;  /* current digest */
@@ -98,7 +143,7 @@
   U8 buffer[128];  /* collect complete 64 byte blocks */
 } MD5_CTX;
 
-#ifdef USE_ITHREADS
+#if defined(USE_ITHREADS) && defined(MGf_DUP)
 STATIC int dup_md5_ctx(pTHX_ MAGIC *mg, CLONE_PARAMS *params)
 {
     MD5_CTX *new_ctx;
@@ -482,7 +527,7 @@
 #endif
 	sv_magicext(sv, NULL, PERL_MAGIC_ext, &vtbl_md5, (const char *)context, 0);
 
-#ifdef USE_ITHREADS
+#if defined(USE_ITHREADS) && defined(MGf_DUP)
     mg->mg_flags |= MGf_DUP;
 #endif
 
@@ -555,7 +600,7 @@
 	len = 22;
 	break;
     default:
-	croak("Bad convertion type (%d)", type);
+	croak("Bad conversion type (%d)", type);
 	break;
     }
     return sv_2mortal(newSVpv(ret,len));


Property changes on: vendor/perl/dist/cpan/Digest-MD5/MD5.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-MD5/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,7 +23,7 @@
     'ABSTRACT'     => 'Perl interface to the MD-5 algorithm',
     'AUTHOR'       => 'Gisle Aas <gisle at activestate.com>',
     'LICENSE'      => 'perl',
-    'MIN_PERL_VERSION' => 5.008,
+    'MIN_PERL_VERSION' => 5.006,
     'PREREQ_PM'    => { 'File::Spec' => 0,
 			'Digest::base' => '1.00',
 			'XSLoader' => 0,


Property changes on: vendor/perl/dist/cpan/Digest-MD5/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-MD5/README
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,8 +4,6 @@
 output a 128-bit "fingerprint" or "message digest" of the input.
 MD5 is described in RFC 1321.
 
-You will need perl version 5.8 or better to install this module.
-
 Copyright 1998-2003 Gisle Aas.
 Copyright 1995-1996 Neil Winton.
 Copyright 1990-1992 RSA Data Security, Inc.


Property changes on: vendor/perl/dist/cpan/Digest-MD5/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/hints/MacOS.pl
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/hints/MacOS.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/hints/MacOS.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/hints/MacOS.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/hints/dec_osf.pl
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/hints/dec_osf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/hints/dec_osf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/hints/dec_osf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/hints/irix_6.pl
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/hints/irix_6.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/hints/irix_6.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/hints/irix_6.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/t/align.t
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/t/align.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/t/align.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/t/align.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/t/badfile.t
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/t/badfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/t/badfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/t/badfile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/t/bits.t
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/t/bits.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/t/bits.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/t/bits.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/t/clone.t
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/t/clone.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/t/clone.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/t/clone.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-MD5/t/files.t
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/t/files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/t/files.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,15 +13,15 @@
 my $EXPECT;
 if (ord "A" == 193) { # EBCDIC
     $EXPECT = <<EOT;
-4f932585bed0cc942186fb51daff4839  README
-b0f7cb93ec1b43f9417f089bb7b87bb0  MD5.xs
+0956ffb4f6416082b27d6680b4cf73fc  README
+b349234bb1005785bb6e377990209dc7  MD5.xs
 276da0aa4e9a08b7fe09430c9c5690aa  rfc1321.txt
 EOT
 } else {
     # This is the output of: 'md5sum README MD5.xs rfc1321.txt'
     $EXPECT = <<EOT;
-c8d3f8457a2d6983253d771ffddb9f4c  README
-14b929c388c5a9bd8eca3d37160e1b8a  MD5.xs
+2f93400875dbb56f36691d5f69f3eba5  README
+f908acbcf6bd32042f282b0deed61264  MD5.xs
 754b9db19f79dbc4992f7166eb0f37ce  rfc1321.txt
 EOT
 }


Property changes on: vendor/perl/dist/cpan/Digest-MD5/t/files.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/t/md5-aaa.t
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/t/md5-aaa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/t/md5-aaa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/t/md5-aaa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/t/threads.t
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/t/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/t/threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/t/threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/t/utf8.t
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-MD5/typemap
===================================================================
--- vendor/perl/dist/cpan/Digest-MD5/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-MD5/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-MD5/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/Changes
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,85 @@
 Revision history for Perl extension Digest::SHA.
 
+5.84  Sat Mar  9 17:36:08 MST 2013
+	- untweaked Makefile.PL to remove dependencies of SHA.c
+		-- dependencies were breaking builds on VMS
+		-- retaining dependencies provides too little benefit
+			for cost of portable workaround
+
+5.83  Mon Mar  4 08:12:00 MST 2013
+	- removed code for standalone C operation (no longer used)
+		-- eliminates need for external symbols
+		-- consolidates SHA and HMAC code
+		-- reduces size of object files
+		-- thanks to Marc Lehmann for suggestions
+	- tweaked Makefile.PL to show dependencies of SHA.c
+
+5.82  Thu Jan 24 04:54:12 MST 2013
+	- introduced workaround to SvPVbyte bug in Perl 5.6
+		-- module behavior now consistent under all Perls 5.6+
+			-- ref: new test script t/unicode.t
+		-- SHA routines now always croak on wide chars (5.6+)
+	- removed "static" message schedules from C code
+		-- default "auto" is now just as fast
+		-- thread-safe option (-t) no longer necessary
+			-- still allowed, but ignored
+		-- simplifies source and header files
+			-- eliminates SHA_STO_CLASS and SHA_THREAD_SAFE
+			-- ref. Bug #82784
+		-- thanks to Steve Hay for initial patch
+	- provided documentation to describe Unicode handling
+		-- ref: Bug #82378
+	- updated documentation of NIST statement on SHA-1
+
+5.81  Mon Jan 14 05:17:08 MST 2013
+	- corrected load subroutine (SHA.pm) to prevent double-free
+		-- Bug #82655: Security issue - segfault
+		-- thanks to Victor Efimov and Nicholas Clark
+			for technical expertise and suggestions
+
+5.80  Mon Dec 10 14:15:26 MST 2012
+	- obtained noticeable speedup on Intel/gcc
+		-- by setting -O1 and -fomit-frame-pointer
+		-- SHA-1 about 63% faster, SHA-2 improves 11-20%
+
+5.74  Sat Nov 24 03:10:18 MST 2012
+	- handle wide-string input by converting to bytes first
+		-- viz. use SvPVbyte instead of SvPV in SHA.xs
+		-- thanks to Eric Brine for summary and code
+
+5.73  Wed Oct 31 04:32:44 MST 2012
+	- provided workaround for DEC compiler bug (ref. Makefile.PL)
+
+5.72  Mon Sep 24 15:22:08 MST 2012
+	- adjusted module installation directory for later Perls
+		-- As of 5.11 Perl searches 'site' first, so use that
+			-- ref. INSTALLDIRS in Makefile.PL
+		-- thanks to Robert Sedlacek for patch
+
+5.71  Wed Feb 29 04:06:10 MST 2012
+	- prevented $! from getting clobbered in _bail() routine
+		-- thanks to Zefram for patch
+	- added example of BITS mode usage to shasum documentation
+
+5.70  Wed Dec 14 02:32:10 MST 2011
+	- added BITS mode to addfile method and shasum
+		-- partial-byte inputs now possible via files/STDIN
+		-- allows shasum to check all 8074 NIST Msg vectors
+			-- previously required special programming
+
+5.63  Tue Nov  8 02:36:42 MST 2011
+	- added code to allow very large data inputs all at once
+		-- previously limited to several hundred MB at a time
+		-- many thanks to Thomas Drugeon for his elegant patch
+	- removed outdated reference URLs from several test scripts
+		-- these URLs aren't essential, and often go stale
+		-- thanks to Leon Brocard for spotting this
+			-- ref. rt.cpan.org #68740
+
+5.62  Sat May 14 04:00:34 MST 2011
+	- removed unnecessary loading of MIME::Base64 module
+		-- thanks to dolmen for pointing this out
+
 5.61  Wed Mar  9 05:26:36 MST 2011
 	- corrected bug in 'algorithm' method
 	- fixed -x option in Makefile.PL


Property changes on: vendor/perl/dist/cpan/Digest-SHA/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,29 +3,36 @@
 use strict;
 use ExtUtils::MakeMaker;
 use Getopt::Std;
-use Config;
+use Config qw(%Config);
 
 my $PM = 'lib/Digest/SHA.pm';
 
 my %opts;
-getopts('tx', \%opts);
+getopts('tx', \%opts);	# -t is no longer used, but allow it anyway
 
 my @defines;
-push(@defines, '-DSHA_PERL_MODULE') if $] >= 5.004;
-push(@defines, '-DSHA_THREAD_SAFE') if $opts{'t'};
+push(@defines, '-DSHA_PerlIO') if $] >= 5.004;
 push(@defines, '-DNO_SHA_384_512')  if $opts{'x'};
+my $define = join(' ', @defines);
 
-	# Configure SHA source to use static arrays for
-	# message schedules if compiling on Intel platforms.
-	# This seems to speed things up a bit.  However,
-	# DON'T do this if thread-safe option is in force.
-	
-if ($Config{archname} =~ /^i[3456]86/) {
-	push(@defines, '-DSHA_STO_CLASS=static') unless $opts{'t'};
+	# Workaround for DEC compiler bug, adapted from Digest::MD5
+
+my @extra = ();
+if ($^O eq 'VMS') {
+	if (defined($Config{ccname})) {
+		if (grep(/VMS_VAX/, @INC) && ($Config{ccname} eq 'DEC')) {
+			# VAX compiler optimizer even up to v6.4 gets stuck
+			push(@extra, OPTIMIZE => "/Optimize=(NODISJOINT)");
+		}
+	}
 }
 
-my $define = join(' ', @defines);
+	# Enhance performance on Intel when using gcc
 
+if ($Config{archname} =~ /^i[3456]86/ && $Config{ccname} eq 'gcc') {
+	push(@extra, OPTIMIZE => '-O1 -fomit-frame-pointer');
+}
+
 my %att = (
 	'NAME'		=> 'Digest::SHA',
 	'VERSION_FROM'	=> $PM,
@@ -33,7 +40,8 @@
 	'DEFINE'	=> $define,
 	'INC'		=> '-I.',
 	'EXE_FILES'	=> [ 'shasum' ],
-	'INSTALLDIRS'	=> ($] >= 5.010) ? 'perl' : 'site',
+	'INSTALLDIRS'	=> ($] >= 5.010 and $] < 5.011) ? 'perl' : 'site',
+	@extra,
 );
 
 my $MMversion = $ExtUtils::MakeMaker::VERSION || 0;


Property changes on: vendor/perl/dist/cpan/Digest-SHA/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/README
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-Digest::SHA version 5.61
+Digest::SHA version 5.84
 ========================
 
 Digest::SHA is a complete implementation of the NIST Secure Hash
@@ -28,6 +28,8 @@
 	-t : build a thread-safe version of module
 	-x : exclude support for SHA-384/512
 
+	NOTE: Option -t is still allowed but no longer necessary.
+
 DEPENDENCIES
 
 	None
@@ -34,7 +36,7 @@
 
 COPYRIGHT AND LICENSE
 
-Copyright (C) 2003-2011 Mark Shelor
+Copyright (C) 2003-2013 Mark Shelor
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Digest-SHA/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/SHA.xs
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/SHA.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/SHA.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,8 +2,17 @@
 #include "perl.h"
 #include "XSUB.h"
 
+#ifdef SvPVbyte
+	#if PERL_REVISION == 5 && PERL_VERSION < 8
+		#undef SvPVbyte
+		#define SvPVbyte(sv, lp) \
+			(sv_utf8_downgrade((sv), 0), SvPV((sv), (lp)))
+	#endif
+#else
+	#define SvPVbyte SvPV
+#endif
+
 #include "src/sha.c"
-#include "src/hmac.c"
 
 static int ix2alg[] =
 	{1,1,1,224,224,224,256,256,256,384,384,384,512,512,512,
@@ -13,16 +22,18 @@
 
 PROTOTYPES: ENABLE
 
-#include "src/sha.h"
-#include "src/hmac.h"
-
 #ifndef INT2PTR
 #define INT2PTR(p, i) (p) (i)
 #endif
 
+#define MAX_WRITE_SIZE 16384
+
 int
 shaclose(s)
 	SHA *	s
+CODE:
+       RETVAL = shaclose(s);
+       sv_setiv(SvRV(ST(0)), 0);
 
 int
 shadump(file, s)
@@ -85,7 +96,12 @@
 	if ((state = shaopen(ix2alg[ix])) == NULL)
 		XSRETURN_UNDEF;
 	for (i = 0; i < items; i++) {
-		data = (unsigned char *) (SvPV(ST(i), len));
+		data = (unsigned char *) (SvPVbyte(ST(i), len));
+		while (len > MAX_WRITE_SIZE) {
+			shawrite(data, MAX_WRITE_SIZE << 3, state);
+			data += MAX_WRITE_SIZE;
+			len  -= MAX_WRITE_SIZE;
+		}
 		shawrite(data, len << 3, state);
 	}
 	shafinish(state);
@@ -134,11 +150,16 @@
 	HMAC *state;
 	char *result;
 PPCODE:
-	key = (unsigned char *) (SvPV(ST(items-1), len));
+	key = (unsigned char *) (SvPVbyte(ST(items-1), len));
 	if ((state = hmacopen(ix2alg[ix], key, len)) == NULL)
 		XSRETURN_UNDEF;
 	for (i = 0; i < items - 1; i++) {
-		data = (unsigned char *) (SvPV(ST(i), len));
+		data = (unsigned char *) (SvPVbyte(ST(i), len));
+		while (len > MAX_WRITE_SIZE) {
+			hmacwrite(data, MAX_WRITE_SIZE << 3, state);
+			data += MAX_WRITE_SIZE;
+			len  -= MAX_WRITE_SIZE;
+		}
 		hmacwrite(data, len << 3, state);
 	}
 	hmacfinish(state);
@@ -181,7 +202,12 @@
 PPCODE:
 	state = INT2PTR(SHA *, SvIV(SvRV(SvRV(self))));
 	for (i = 1; i < items; i++) {
-		data = (unsigned char *) (SvPV(ST(i), len));
+		data = (unsigned char *) (SvPVbyte(ST(i), len));
+		while (len > MAX_WRITE_SIZE) {
+			shawrite(data, MAX_WRITE_SIZE << 3, state);
+			data += MAX_WRITE_SIZE;
+			len  -= MAX_WRITE_SIZE;
+		}
 		shawrite(data, len << 3, state);
 	}
 	XSRETURN(1);


Property changes on: vendor/perl/dist/cpan/Digest-SHA/SHA.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 use Fcntl;
 use integer;
 
-$VERSION = '5.61';
+$VERSION = '5.84_01';
 
 require Exporter;
 require DynaLoader;
@@ -28,20 +28,17 @@
 	sha512224	sha512224_base64	sha512224_hex
 	sha512256	sha512256_base64	sha512256_hex);
 
-# If possible, inherit from Digest::base (which depends on MIME::Base64)
+# If possible, inherit from Digest::base
 
-*addfile = \&Addfile;
-
 eval {
-	require MIME::Base64;
 	require Digest::base;
 	push(@ISA, 'Digest::base');
 };
-if ($@) {
-	*hexdigest = \&Hexdigest;
-	*b64digest = \&B64digest;
-}
 
+*addfile   = \&Addfile;
+*hexdigest = \&Hexdigest;
+*b64digest = \&B64digest;
+
 # The following routines aren't time-critical, so they can be left in Perl
 
 sub new {
@@ -52,8 +49,8 @@
 			sharewind($$class);
 			return($class);
 		}
-		shaclose($$class) if $$class;
-		$$class = shaopen($alg) || return;
+		if ($$class) { shaclose($$class); $$class = undef }
+		return unless $$class = shaopen($alg);
 		return($class);
 	}
 	$alg = 1 unless defined $alg;
@@ -65,7 +62,7 @@
 
 sub DESTROY {
 	my $self = shift;
-	shaclose($$self) if $$self;
+	if ($$self) { shaclose($$self); $$self = undef }
 }
 
 sub clone {
@@ -84,6 +81,7 @@
 		$nbits = length($data);
 		$data = pack("B*", $data);
 	}
+	$nbits = length($data) * 8 if $nbits > length($data) * 8;
 	shawrite($data, $nbits, $$self);
 	return($self);
 }
@@ -91,8 +89,9 @@
 sub _bail {
 	my $msg = shift;
 
+	$msg .= ": $!";
         require Carp;
-        Carp::croak("$msg: $!");
+        Carp::croak($msg);
 }
 
 sub _addfile {  # this is "addfile" from Digest::base 1.00
@@ -115,7 +114,7 @@
 	return(_addfile($self, $file)) unless ref(\$file) eq 'SCALAR';
 
 	$mode = defined($mode) ? $mode : "";
-	my ($binary, $portable) = map { $_ eq $mode } ("b", "p");
+	my ($binary, $portable, $BITS) = map { $_ eq $mode } ("b", "p", "0");
 
 		## Always interpret "-" to mean STDIN; otherwise use
 		## sysopen to handle full range of POSIX file names
@@ -123,8 +122,19 @@
 	$file eq '-' and open(FH, '< -')
 		or sysopen(FH, $file, O_RDONLY)
 			or _bail('Open failed');
+
+	if ($BITS) {
+		my ($n, $buf) = (0, "");
+		while (($n = read(FH, $buf, 4096))) {
+			$buf =~ s/[^01]//g;
+			$self->add_bits($buf);
+		}
+		_bail("Read failed") unless defined $n;
+		close(FH);
+		return($self);
+	}
+
 	binmode(FH) if $binary || $portable;
-
 	unless ($portable && -T $file) {
 		$self->_addfile(*FH);
 		close(FH);
@@ -153,8 +163,9 @@
 
 sub dump {
 	my $self = shift;
-	my $file = shift || "";
+	my $file = shift;
 
+	$file = "" unless defined $file;
 	shadump($file, $$self) || return;
 	return($self);
 }
@@ -161,10 +172,12 @@
 
 sub load {
 	my $class = shift;
-	my $file = shift || "";
+	my $file = shift;
+
+	$file = "" unless defined $file;
 	if (ref($class)) {	# instance method
-		shaclose($$class) if $$class;
-		$$class = shaload($file) || return;
+		if ($$class) { shaclose($$class); $$class = undef }
+		return unless $$class = shaload($file);
 		return($class);
 	}
 	my $state = shaload($file) || return;
@@ -311,22 +324,45 @@
 	use Digest::SHA qw(hmac_sha256_hex);
 	print hmac_sha256_hex("Hi There", chr(0x0b) x 32), "\n";
 
+=head1 UNICODE AND SIDE EFFECTS
+
+Perl supports Unicode strings as of version 5.6.  Such strings may
+contain wide characters, namely, characters whose ordinal values are
+greater than 255.  This can cause problems for digest algorithms such
+as SHA that are specified to operate on sequences of bytes.
+
+The rule by which Digest::SHA handles a Unicode string is easy
+to state, but potentially confusing to grasp: the string is interpreted
+as a sequence of byte values, where each byte value is equal to the
+ordinal value (viz. code point) of its corresponding Unicode character.
+That way, the Unicode string 'abc' has exactly the same digest value as
+the ordinary string 'abc'.
+
+Since a wide character does not fit into a byte, the Digest::SHA
+routines croak if they encounter one.  Whereas if a Unicode string
+contains no wide characters, the module accepts it quite happily.
+The following code illustrates the two cases:
+
+	$str1 = pack('U*', (0..255));
+	print sha1_hex($str1);		# ok
+
+	$str2 = pack('U*', (0..256));
+	print sha1_hex($str2);		# croaks
+
+Be aware that the digest routines silently convert UTF-8 input into its
+equivalent byte sequence in the native encoding (cf. utf8::downgrade).
+This side effect influences only the way Perl stores the data internally,
+but otherwise leaves the actual value of the data intact.
+
 =head1 NIST STATEMENT ON SHA-1
 
-I<NIST was recently informed that researchers had discovered a way
-to "break" the current Federal Information Processing Standard SHA-1
-algorithm, which has been in effect since 1994. The researchers
-have not yet published their complete results, so NIST has not
-confirmed these findings. However, the researchers are a reputable
-research team with expertise in this area.>
+NIST acknowledges that the work of Prof. Xiaoyun Wang constitutes a
+practical collision attack on SHA-1.  Therefore, NIST encourages the
+rapid adoption of the SHA-2 hash functions (e.g. SHA-256) for applications
+requiring strong collision resistance, such as digital signatures.
 
-I<Due to advances in computing power, NIST already planned to phase
-out SHA-1 in favor of the larger and stronger hash functions (SHA-224,
-SHA-256, SHA-384 and SHA-512) by 2010. New developments should use
-the larger and stronger hash functions.>
+ref. L<http://csrc.nist.gov/groups/ST/hash/statement.html>
 
-ref. L<http://www.csrc.nist.gov/pki/HashWorkshop/NIST%20Statement/Burr_Mar2005.html>
-
 =head1 PADDING OF BASE64 DIGESTS
 
 By convention, CPAN Digest modules do B<not> pad their Base64 output.
@@ -514,16 +550,21 @@
 
 	"p"	use portable mode
 
-The "p" mode is handy since it ensures that the digest value of
-I<$filename> will be the same when computed on different operating
-systems.  It accomplishes this by internally translating all newlines in
-text files to UNIX format before calculating the digest.  Binary files
-are read in raw mode with no translation whatsoever.
+	"0"	use BITS mode
 
-For a fuller discussion of newline formats, refer to CPAN module
-L<File::LocalizeNewlines>.  Its "universal line separator" regex forms
-the basis of I<addfile>'s portable mode processing.
+The "p" mode ensures that the digest value of I<$filename> will be the
+same when computed on different operating systems.  It accomplishes
+this by internally translating all newlines in text files to UNIX format
+before calculating the digest.  Binary files are read in raw mode with
+no translation whatsoever.
 
+The BITS mode ("0") interprets the contents of I<$filename> as a logical
+stream of bits, where each ASCII '0' or '1' character represents a 0 or
+1 bit, respectively.  All other characters are ignored.  This provides
+a convenient way to calculate the digest values of partial-byte data by
+using files, rather than having to write programs using the I<add_bits>
+method.
+
 =item B<dump($filename)>
 
 Provides persistent storage of intermediate SHA states by writing
@@ -672,6 +713,7 @@
 	Chris Carey
 	Alexandr Ciornii
 	Jim Doble
+	Thomas Drugeon
 	Julius Duque
 	Jeffrey Friedl
 	Robert Gilmour
@@ -691,7 +733,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2003-2011 Mark Shelor
+Copyright (C) 2003-2013 Mark Shelor
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Digest-SHA/lib/Digest/SHA.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/shasum
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/shasum	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/shasum	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,14 +2,15 @@
 
 	## shasum: filter for computing SHA digests (ref. sha1sum/md5sum)
 	##
-	## Copyright (C) 2003-2011 Mark Shelor, All Rights Reserved
+	## Copyright (C) 2003-2013 Mark Shelor, All Rights Reserved
 	##
-	## Version: 5.61
-	## Wed Mar  9 05:26:36 MST 2011
+	## Version: 5.84
+	## Sat Mar  9 17:36:08 MST 2013
 
 	## shasum SYNOPSIS adapted from GNU Coreutils sha1sum.
-	## Include an "-a" option for algorithm selection, and a
-	## "-p" option for portable digest computation.
+	## Add an "-a" option for algorithm selection, a "-p"
+	## option for portable digest computation, and a "-0"
+	## option for reading bit strings.
 
 my $POD = <<'END_OF_POD';
 
@@ -26,9 +27,13 @@
    -a, --algorithm   1 (default), 224, 256, 384, 512, 512224, 512256
    -b, --binary      read in binary mode
    -c, --check       read SHA sums from the FILEs and check them
-   -p, --portable    read files in portable mode
+   -t, --text        read in text mode (default)
+   -p, --portable    read in portable mode
                          produces same digest on Windows/Unix/Mac
-   -t, --text        read in text mode (default)
+   -0, --01          read in BITS mode
+                         ASCII '0' interpreted as 0-bit,
+                         ASCII '1' interpreted as 1-bit,
+                         all other characters ignored
 
  The following two options are useful only when verifying checksums:
    -s, --status      don't output anything, status code shows success
@@ -45,7 +50,7 @@
  The sums are computed as described in FIPS-180-4.  When checking, the
  input should be a former output of this program.  The default mode is to
  print a line with checksum, a character indicating type (`*' for binary,
- ` ' for text, `?' for portable), and name for each FILE.
+ ` ' for text, `?' for portable, `^' for BITS), and name for each FILE.
 
  Report shasum bugs to mshelor at cpan.org
 
@@ -55,8 +60,8 @@
 digests.  The user simply feeds data to the script through files or
 standard input, and then collects the results from standard output.
 
-The following command shows how easy it is to compute digests for typical
-inputs such as the NIST test vector "abc":
+The following command shows how to compute digests for typical inputs
+such as the NIST test vector "abc":
 
 	perl -e "print qq(abc)" | shasum
 
@@ -68,9 +73,16 @@
 I<sha224sum>, I<sha256sum>, I<sha384sum>, and I<sha512sum> programs,
 you can install this script as a convenient drop-in replacement.
 
+Unlike the GNU programs, I<shasum> encompasses the full SHA standard by
+allowing partial-byte inputs.  This is accomplished through the BITS
+option (I<-0>).  The following example computes the SHA-224 digest of
+the 7-bit message I<0001100>:
+
+	perl -e "print qq(0001100)" | shasum -0 -a 224
+
 =head1 AUTHOR
 
-Copyright (c) 2003-2011 Mark Shelor <mshelor at cpan.org>.
+Copyright (c) 2003-2013 Mark Shelor <mshelor at cpan.org>.
 
 =head1 SEE ALSO
 
@@ -85,7 +97,7 @@
 use Fcntl;
 use Getopt::Long;
 
-my $VERSION = "5.61";
+my $VERSION = "5.84";
 
 
 	## Try to use Digest::SHA.  If not installed, use the slower
@@ -127,7 +139,7 @@
 	## Collect options from command line
 
 my ($alg, $binary, $check, $text, $status, $warn, $help, $version);
-my ($portable);
+my ($portable, $BITS);
 
 eval { Getopt::Long::Configure ("bundling") };
 GetOptions(
@@ -135,7 +147,8 @@
 	't|text' => \$text, 'a|algorithm=i' => \$alg,
 	's|status' => \$status, 'w|warn' => \$warn,
 	'h|help' => \$help, 'v|version' => \$version,
-	'p|portable' => \$portable
+	'p|portable' => \$portable,
+	'0|01' => \$BITS
 ) or usage(1, "");
 
 
@@ -144,7 +157,7 @@
 usage(0)
 	if $help;
 usage(1, "shasum: Ambiguous file mode\n")
-	if scalar(grep { defined $_ } ($binary, $portable, $text)) > 1;
+	if scalar(grep {defined $_} ($binary, $portable, $text, $BITS)) > 1;
 usage(1, "shasum: --warn option used only when verifying checksums\n")
 	if $warn && !$check;
 usage(1, "shasum: --status option used only when verifying checksums\n")
@@ -174,7 +187,7 @@
 my $isDOSish = ($^O =~ /^(MSWin\d\d|os2|dos|mint|cygwin)$/);
 if ($isDOSish) { $binary = 1 unless $text || $portable }
 
-my $modesym = $binary ? '*' : ($portable ? '?' : ' ');
+my $modesym = $binary ? '*' : ($portable ? '?' : ($BITS ? '^' : ' '));
 
 
 	## Read from STDIN (-) if no files listed on command line
@@ -187,7 +200,7 @@
 sub sumfile {
 	my $file = shift;
 
-	my $mode = $portable ? 'p' : ($binary ? 'b' : '');
+	my $mode = $portable ? 'p' : ($binary ? 'b' : ($BITS ? '0' : ''));
 	my $digest = eval { $module->new($alg)->addfile($file, $mode) };
 	if ($@) { warn "shasum: $file: $!\n"; return }
 	$digest->hexdigest;
@@ -230,7 +243,7 @@
 		next if /^#/; s/\n$//; s/^[ \t]+//; $num_lines++;
 		$bslash = s/^\\//;
 		($sum, $modesym, $fname) =
-			/^([\da-fA-F]+)[ \t]([ *?])([^\0]*)/;
+			/^([\da-fA-F]+)[ \t]([ *?^])([^\0]*)/;
 		$alg = defined $sum ? $len2alg{length($sum)} : undef;
 		$fname = unescape($fname) if defined $fname && $bslash;
 		if (grep { ! defined $_ } ($alg, $sum, $modesym, $fname)) {
@@ -242,8 +255,8 @@
 		}
 		$fname =~ s/\r$// unless -e $fname;
 		$rsp = "$fname: "; $num_files++;
-		($binary, $portable, $text) =
-			map { $_ eq $modesym } ('*', '?', ' ');
+		($binary, $portable, $text, $BITS) =
+			map { $_ eq $modesym } ('*', '?', ' ', '^');
 		unless ($digest = sumfile($fname)) {
 			$rsp .= "FAILED open or read\n";
 			$err = 1; $read_errs++;


Property changes on: vendor/perl/dist/cpan/Digest-SHA/shasum
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/src/hmac.c
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/hmac.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/src/hmac.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/src/hmac.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/src/hmac.h
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/hmac.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/src/hmac.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/src/hmac.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/src/hmacxtra.c
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/hmacxtra.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/src/hmacxtra.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/src/hmacxtra.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/src/sha.c
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/sha.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/src/sha.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-2 Secure Hash Standard
  *
- * Copyright (C) 2003-2011 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2013 Mark Shelor, All Rights Reserved
  *
- * Version: 5.61
- * Wed Mar  9 05:26:36 MST 2011
+ * Version: 5.84
+ * Sat Mar  9 17:36:08 MST 2013
  *
  */
 
@@ -86,7 +86,7 @@
 static void sha1(SHA *s, UCHR *block)		/* SHA-1 transform */
 {
 	W32 a, b, c, d, e;
-	SHA_STO_CLASS W32 W[16];
+	W32 W[16];
 	W32 *wp = W;
 	W32 *H = (W32 *) s->H;
 
@@ -153,7 +153,7 @@
 static void sha256(SHA *s, UCHR *block)		/* SHA-224/256 transform */
 {
 	W32 a, b, c, d, e, f, g, h, T1;
-	SHA_STO_CLASS W32 W[16];
+	W32 W[16];
 	W32 *kp = K256;
 	W32 *wp = W;
 	W32 *H = (W32 *) s->H;
@@ -216,7 +216,7 @@
 
 #define SETBIT(s, pos)	s[(pos) >> 3] |=  (0x01 << (7 - (pos) % 8))
 #define CLRBIT(s, pos)	s[(pos) >> 3] &= ~(0x01 << (7 - (pos) % 8))
-#define NBYTES(nbits)	((nbits) > 0 ? 1 + (((nbits) - 1) >> 3) : 0)
+#define NBYTES(nbits)	(((nbits) + 7) >> 3)
 #define HEXLEN(nbytes)	((nbytes) << 1)
 #define B64LEN(nbytes)	(((nbytes) % 3 == 0) ? ((nbytes) / 3) * 4 \
 			: ((nbytes) / 3) * 4 + ((nbytes) % 3) + 1)
@@ -258,7 +258,7 @@
 	} while (0)
 
 /* sharewind: re-initializes the digest object */
-void sharewind(SHA *s)
+static void sharewind(SHA *s)
 {
 	if      (s->alg == SHA1)   SHA_INIT(1, 1);
 	else if (s->alg == SHA224) SHA_INIT(224, 256);
@@ -270,9 +270,9 @@
 }
 
 /* shaopen: creates a new digest object */
-SHA *shaopen(int alg)
+static SHA *shaopen(int alg)
 {
-	SHA *s;
+	SHA *s = NULL;
 
 	if (alg != SHA1 && alg != SHA224 && alg != SHA256 &&
 		alg != SHA384    && alg != SHA512 &&
@@ -288,6 +288,16 @@
 	return(s);
 }
 
+/* shaclose: de-allocates digest object */
+static int shaclose(SHA *s)
+{
+	if (s != NULL) {
+		memset(s, 0, sizeof(SHA));
+		SHA_free(s);
+	}
+	return(0);
+}
+
 /* shadirect: updates state directly (w/o going through s->block) */
 static ULNG shadirect(UCHR *bitstr, ULNG bitcnt, SHA *s)
 {
@@ -365,7 +375,7 @@
 }
 
 /* shawrite: triggers a state update using data in bitstr/bitcnt */
-ULNG shawrite(UCHR *bitstr, ULNG bitcnt, SHA *s)
+static ULNG shawrite(UCHR *bitstr, ULNG bitcnt, SHA *s)
 {
 	if (bitcnt < 1)
 		return(0);
@@ -382,7 +392,7 @@
 }
 
 /* shafinish: pads remaining block(s) and computes final digest state */
-void shafinish(SHA *s)
+static void shafinish(SHA *s)
 {
 	UINT lenpos, lhpos, llpos;
 
@@ -407,7 +417,7 @@
 }
 
 /* shadigest: returns pointer to current digest (binary) */
-UCHR *shadigest(SHA *s)
+static UCHR *shadigest(SHA *s)
 {
 	digcpy(s);
 	return(s->digest);
@@ -414,7 +424,7 @@
 }
 
 /* shahex: returns pointer to current digest (hexadecimal) */
-char *shahex(SHA *s)
+static char *shahex(SHA *s)
 {
 	int i;
 
@@ -448,7 +458,7 @@
 }
 
 /* shabase64: returns pointer to current digest (Base 64) */
-char *shabase64(SHA *s)
+static char *shabase64(SHA *s)
 {
 	int n;
 	UCHR *q;
@@ -456,7 +466,7 @@
 
 	digcpy(s);
 	s->base64[0] = '\0';
-	if (B64LEN(s->digestlen) >= sizeof(s->base64))
+	if (B64LEN((size_t) s->digestlen) >= sizeof(s->base64))
 		return(s->base64);
 	for (n = s->digestlen, q = s->digest; n > 3; n -= 3, q += 3) {
 		encbase64(q, 3, out);
@@ -468,19 +478,19 @@
 }
 
 /* shadsize: returns length of digest in bytes */
-int shadsize(SHA *s)
+static int shadsize(SHA *s)
 {
 	return(s->digestlen);
 }
 
 /* shaalg: returns which SHA algorithm is being used */
-int shaalg(SHA *s)
+static int shaalg(SHA *s)
 {
 	return(s->alg);
 }
 
 /* shadup: duplicates current digest object */
-SHA *shadup(SHA *s)
+static SHA *shadup(SHA *s)
 {
 	SHA *p;
 
@@ -492,7 +502,7 @@
 }
 
 /* shadump: dumps digest object to a human-readable ASCII file */
-int shadump(char *file, SHA *s)
+static int shadump(char *file, SHA *s)
 {
 	int i, j;
 	SHA_FILE *f;
@@ -608,7 +618,7 @@
 }
 
 /* shaload: creates digest object corresponding to contents of dump file */
-SHA *shaload(char *file)
+static SHA *shaload(char *file)
 {
 	int alg;
 	SHA *s = NULL;
@@ -638,12 +648,88 @@
 	return(s);
 }
 
-/* shaclose: de-allocates digest object */
-int shaclose(SHA *s)
+/* hmacopen: creates a new HMAC-SHA digest object */
+static HMAC *hmacopen(int alg, UCHR *key, UINT keylen)
 {
-	if (s != NULL) {
-		memset(s, 0, sizeof(SHA));
-		SHA_free(s);
+	UINT i;
+	HMAC *h;
+
+	SHA_newz(0, h, 1, HMAC);
+	if (h == NULL)
+		return(NULL);
+	if ((h->isha = shaopen(alg)) == NULL) {
+		SHA_free(h);
+		return(NULL);
 	}
+	if ((h->osha = shaopen(alg)) == NULL) {
+		shaclose(h->isha);
+		SHA_free(h);
+		return(NULL);
+	}
+	if (keylen <= h->osha->blocksize / 8)
+		memcpy(h->key, key, keylen);
+	else {
+		if ((h->ksha = shaopen(alg)) == NULL) {
+			shaclose(h->isha);
+			shaclose(h->osha);
+			SHA_free(h);
+			return(NULL);
+		}
+		shawrite(key, keylen * 8, h->ksha);
+		shafinish(h->ksha);
+		memcpy(h->key, shadigest(h->ksha), h->ksha->digestlen);
+		shaclose(h->ksha);
+	}
+	for (i = 0; i < h->osha->blocksize / 8; i++)
+		h->key[i] ^= 0x5c;
+	shawrite(h->key, h->osha->blocksize, h->osha);
+	for (i = 0; i < h->isha->blocksize / 8; i++)
+		h->key[i] ^= (0x5c ^ 0x36);
+	shawrite(h->key, h->isha->blocksize, h->isha);
+	memset(h->key, 0, sizeof(h->key));
+	return(h);
+}
+
+/* hmacwrite: triggers a state update using data in bitstr/bitcnt */
+static ULNG hmacwrite(UCHR *bitstr, ULNG bitcnt, HMAC *h)
+{
+	return(shawrite(bitstr, bitcnt, h->isha));
+}
+
+/* hmacfinish: computes final digest state */
+static void hmacfinish(HMAC *h)
+{
+	shafinish(h->isha);
+	shawrite(shadigest(h->isha), h->isha->digestlen * 8, h->osha);
+	shaclose(h->isha);
+	shafinish(h->osha);
+}
+
+/* hmacdigest: returns pointer to digest (binary) */
+static UCHR *hmacdigest(HMAC *h)
+{
+	return(shadigest(h->osha));
+}
+
+/* hmachex: returns pointer to digest (hexadecimal) */
+static char *hmachex(HMAC *h)
+{
+	return(shahex(h->osha));
+}
+
+/* hmacbase64: returns pointer to digest (Base 64) */
+static char *hmacbase64(HMAC *h)
+{
+	return(shabase64(h->osha));
+}
+
+/* hmacclose: de-allocates digest object */
+static int hmacclose(HMAC *h)
+{
+	if (h != NULL) {
+		shaclose(h->osha);
+		memset(h, 0, sizeof(HMAC));
+		SHA_free(h);
+	}
 	return(0);
 }


Property changes on: vendor/perl/dist/cpan/Digest-SHA/src/sha.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/src/sha.h
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/sha.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/src/sha.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,10 +3,10 @@
  *
  * Ref: NIST FIPS PUB 180-2 Secure Hash Standard
  *
- * Copyright (C) 2003-2011 Mark Shelor, All Rights Reserved
+ * Copyright (C) 2003-2013 Mark Shelor, All Rights Reserved
  *
- * Version: 5.61
- * Wed Mar  9 05:26:36 MST 2011
+ * Version: 5.84
+ * Sat Mar  9 17:36:08 MST 2013
  *
  */
 
@@ -102,27 +102,11 @@
 			(SHA64) b[6] <<  8 | (SHA64) b[7]; }
 #endif
 
-/*
- * SHA_STO_CLASS: default to auto storage class for message schedule
- * arrays inside transform routines.  Note that redefining this to
- * static might improve performance on some platforms (e.g. Intel).
- */
+#define SHA_new		New
+#define SHA_newz	Newz
+#define SHA_free	Safefree
 
-#if !defined(SHA_STO_CLASS)
-	#define SHA_STO_CLASS	auto
-#endif
-
-/* Override use of static arrays if compiling for thread-safety */
-#ifdef SHA_THREAD_SAFE
-	#undef  SHA_STO_CLASS
-	#define SHA_STO_CLASS	auto
-#endif
-
-/* Configure memory management and I/O for Perl or standalone C */
-#ifdef SHA_PERL_MODULE
-	#define SHA_new			New
-	#define SHA_newz		Newz
-	#define SHA_free		Safefree
+#ifdef SHA_PerlIO
 	#define SHA_FILE		PerlIO
 	#define SHA_stdin()		PerlIO_stdin()
 	#define SHA_stdout()		PerlIO_stdout()
@@ -132,9 +116,6 @@
 	#define SHA_feof		PerlIO_eof
 	#define SHA_getc		PerlIO_getc
 #else
-	#define SHA_new(id, p, n, t)	p = (t *) malloc(sizeof(t))
-	#define SHA_newz(id, p, n, t)	p = (t *) calloc(n, sizeof(t))
-	#define SHA_free		free
 	#define SHA_FILE		FILE
 	#define SHA_stdin()		stdin
 	#define SHA_stdout()		stdout
@@ -194,53 +175,11 @@
 	char base64[SHA_MAX_BASE64_LEN+1];
 } SHA;
 
-#define SHA_FMT_RAW 1
-#define SHA_FMT_HEX 2
-#define SHA_FMT_BASE64 3
+typedef struct {
+	SHA *ksha;
+	SHA *isha;
+	SHA *osha;
+	unsigned char key[SHA_MAX_BLOCK_BITS/8];
+} HMAC;
 
-#define _SHA_STATE	SHA *s
-#define _SHA_ALG	int alg
-#define _SHA_DATA	unsigned char *bitstr, unsigned long bitcnt
-#define _SHA_FNAME	char *filename
-
-SHA		*shaopen	(_SHA_ALG);
-unsigned long	 shawrite	(_SHA_DATA, _SHA_STATE);
-void		 shafinish	(_SHA_STATE);
-void		 sharewind	(_SHA_STATE);
-unsigned char	*shadigest	(_SHA_STATE);
-char		*shahex		(_SHA_STATE);
-char		*shabase64	(_SHA_STATE);
-int		 shadsize	(_SHA_STATE);
-int		 shaalg		(_SHA_STATE);
-SHA		*shadup		(_SHA_STATE);
-int		 shadump	(_SHA_FNAME, _SHA_STATE);
-SHA		*shaload	(_SHA_FNAME);
-int		 shaclose	(_SHA_STATE);
-
-#ifndef SHA_PERL_MODULE
-
-unsigned char	*sha1digest		(_SHA_DATA);
-char		*sha1hex		(_SHA_DATA);
-char		*sha1base64		(_SHA_DATA);
-unsigned char	*sha224digest		(_SHA_DATA);
-char		*sha224hex		(_SHA_DATA);
-char		*sha224base64		(_SHA_DATA);
-unsigned char	*sha256digest		(_SHA_DATA);
-char		*sha256hex		(_SHA_DATA);
-char		*sha256base64		(_SHA_DATA);
-unsigned char	*sha384digest		(_SHA_DATA);
-char		*sha384hex		(_SHA_DATA);
-char		*sha384base64		(_SHA_DATA);
-unsigned char	*sha512digest		(_SHA_DATA);
-char		*sha512hex		(_SHA_DATA);
-char		*sha512base64		(_SHA_DATA);
-unsigned char	*sha512224digest	(_SHA_DATA);
-char		*sha512224hex		(_SHA_DATA);
-char		*sha512224base64	(_SHA_DATA);
-unsigned char	*sha512256digest	(_SHA_DATA);
-char		*sha512256hex		(_SHA_DATA);
-char		*sha512256base64	(_SHA_DATA);
-
-#endif
-
 #endif	/* _INCLUDE_SHA_H_ */


Property changes on: vendor/perl/dist/cpan/Digest-SHA/src/sha.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -95,7 +95,7 @@
 static void sha512(SHA *s, unsigned char *block) /* SHA-384/512 transform */
 {
 	W64 a, b, c, d, e, f, g, h, T1, T2;
-	SHA_STO_CLASS W64 W[80];
+	W64 W[80];
 	W64 *H = (W64 *) s->H;
 	int t;
 


Property changes on: vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/src/sha64bit.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/src/shaxtra.c
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/src/shaxtra.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/src/shaxtra.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/src/shaxtra.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/allfcns.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/base64.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/base64.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/base64.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,7 +31,7 @@
 	unless ($skip) {
 		print "not " unless &$fcn($in) eq $rsp;
 	}
-	print "ok ", $testnum++, $skip ? " # skip: no 64 bit" : "", "\n";
+	print "ok ", $testnum++, $skip ? " # skip: no 64-bit" : "", "\n";
 }
 
 __DATA__


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/base64.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/bitbuf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/dumpload.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/dumpload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/dumpload.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -51,7 +51,7 @@
 	if ($alg == 384) { $skip = sha384_hex("") ? 0 : 1 }
 	if ($alg == 512) { $skip = sha512_hex("") ? 0 : 1 }
 	if ($skip) {
-		print "ok ", $testnum++, " # skip: no 64 bit\n";
+		print "ok ", $testnum++, " # skip: no 64-bit\n";
 		next;
 	}
 	my $digest;


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/dumpload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,7 +31,7 @@
 			sha512224_hex($data) : sha512256_hex($data);
 		print "not " unless $rsp eq $digest;
 	}
-	print "ok ", $_, $skip ? " # skip: no 64 bit" : "", "\n";
+	print "ok ", $_, $skip ? " # skip: no 64-bit" : "", "\n";
 }
 
 __DATA__


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/fips180-4.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/fips198.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/fips198.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/fips198.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/fips198.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/gg.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/gg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/gg.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,4 @@
 # Test against short bitwise vectors from Jim Gillogly and Francois Grieu
-#
-# http://www.chiark.greenend.org.uk/pipermail/ukcrypto/1999-February/003538.html
 
 use strict;
 


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/gg.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/gglong.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/gglong.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/gglong.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,4 @@
 # Test against long bitwise vectors from Jim Gillogly and Francois Grieu
-#
-# http://www.chiark.greenend.org.uk/pipermail/ukcrypto/1999-February/003538.html
 
 use strict;
 use FileHandle;


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/gglong.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/hmacsha.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/ireland.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/ireland.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/ireland.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/ireland.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/methods.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/methods.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/methods.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,7 +21,7 @@
 	"248d6a61d20638b8e5c026930c3e6039a33ce45964ff2167f6ecedd419db06c1",
 );
 
-my $numtests = 6 + scalar @out;
+my $numtests = 8 + scalar @out;
 print "1..$numtests\n";
 
 	# attempt to use an invalid algorithm, and check for failure
@@ -100,3 +100,22 @@
 print "not " unless $sha->new(1)->addfile($tempfile, "p")->hexdigest eq
 	"d449e19c1b0b0c191294c8dc9fa2e4a6ff77fc51";
 print "ok ", $testnum++, "\n";
+
+	# test addfile BITS mode
+
+$fh = FileHandle->new($tempfile, "w");
+print $fh "0100010";			# using NIST 7-bit test vector
+$fh->close;
+
+print "not " unless $sha->new(1)->addfile($tempfile, "0")->hexdigest eq
+	"04f31807151181ad0db278a1660526b0aeef64c2";
+print "ok ", $testnum++, "\n";
+
+$fh = FileHandle->new($tempfile, "w");
+binmode($fh);
+print $fh map(chr, (0..127));		# this is actually NIST 2-bit test
+$fh->close;				# vector "01" (other chars ignored)
+
+print "not " unless $sha->new(1)->addfile($tempfile, "0")->hexdigest eq
+	"ec6b39952e1a3ec3ab3507185cf756181c84bbe2";
+print "ok ", $testnum++, "\n";


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/methods.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,4 @@
 # Test against SHA-1 Sample Vectors from NIST
-#
-#	ref: http://www.nsrl.nist.gov/testdata/
 
 use strict;
 


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/nistbit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,4 @@
 # Test against SHA-1 Sample Vectors from NIST
-#
-#	ref: http://www.nsrl.nist.gov/testdata/
 
 use strict;
 


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/nistbyte.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/rfc2202.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/sha1.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/sha1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/sha224.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha224.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha224.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/sha224.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/t/sha256.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha256.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha256.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/sha256.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/sha384.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha384.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha384.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -29,7 +29,7 @@
 	unless ($skip) {
 		print "not " unless sha384_hex($data) eq $digest;
 	}
-	print "ok ", $_, $skip ? " # skip: no 64 bit" : "", "\n";
+	print "ok ", $_, $skip ? " # skip: no 64-bit" : "", "\n";
 }
 
 __DATA__


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/sha384.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/sha512.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/sha512.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/sha512.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -29,7 +29,7 @@
 	unless ($skip) {
 		print "not " unless sha512_hex($data) eq $digest;
 	}
-	print "ok ", $_, $skip ? " # skip: no 64 bit" : "", "\n";
+	print "ok ", $_, $skip ? " # skip: no 64-bit" : "", "\n";
 }
 
 __DATA__


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/sha512.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -54,7 +54,7 @@
 while (@data_bs1024) {
 	if ($skip) {
 		print "ok ", $testnum++,
-			$skip ? " # skip: no 64 bit" : "", "\n";
+			$skip ? " # skip: no 64-bit" : "", "\n";
 		shift @data_bs1024;
 		next;
 	}
@@ -67,7 +67,7 @@
 while (@dat2_bs1024) {
 	if ($skip) {
 		print "ok ", $testnum++,
-			$skip ? " # skip: no 64 bit" : "", "\n";
+			$skip ? " # skip: no 64-bit" : "", "\n";
 		shift @dat2_bs1024;
 		next;
 	}


Property changes on: vendor/perl/dist/cpan/Digest-SHA/t/woodbury.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Digest-SHA/typemap
===================================================================
--- vendor/perl/dist/cpan/Digest-SHA/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Digest-SHA/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Digest-SHA/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/AUTHORS
===================================================================
--- vendor/perl/dist/cpan/Encode/AUTHORS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/AUTHORS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/AUTHORS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Byte/Byte.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/Byte/Byte.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Byte/Byte.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 use Encode;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );


Property changes on: vendor/perl/dist/cpan/Encode/Byte/Byte.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/Byte/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/Byte/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Byte/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/Byte/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/CN/CN.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/CN/CN.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/CN/CN.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 use strict;
 use warnings;
 use Encode;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );
 


Property changes on: vendor/perl/dist/cpan/Encode/CN/CN.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/CN/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/CN/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/CN/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/CN/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Changes
===================================================================
--- vendor/perl/dist/cpan/Encode/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,102 @@
 # Revision history for Perl extension Encode.
 #
-# $Id: Changes,v 1.1.1.1 2011-05-19 23:03:37 laffer1 Exp $
+# $Id: Changes,v 2.49 2013/03/05 03:12:49 dankogai Exp dankogai $
 #
-$Revision: 1.1.1.1 $ $Date: 2011-05-19 23:03:37 $
+$Revision: 2.49 $ $Date: 2013/03/05 03:12:49 $
 ! Encode.xs
+  Addressed: Encoding objects leak memory if decoding fails
+  https://github.com/dankogai/p5-encode/issues/8
+
+2.48 2013/02/18 02:23:56
+! encoding.pm 
+  t/Mod_EUCJP.pm t/enc_data.t t/enc_eucjp.t t/enc_module.t t/enc_utf8.t
+  t/encoding.t t/jperl.t
+  [PATCH] Deprecate encoding.pm
+  https://rt.cpan.org/Ticket/Display.html?id=81255
+! Encode/Supported.pod
+  Fixed: Pod errors
+  https://rt.cpan.org/Ticket/Display.html?id=81426
+! Encode.pm t/Encode.t
+  [PATCH] Fix for shared hash key scalars
+  https://rt.cpan.org/Ticket/Display.html?id=80608
+! Encode.pm
+  Fixed: Uninitialized value warning from Encode->encodings()
+  https://rt.cpan.org/Ticket/Display.html?id=80181
+! Makefile.PL
+  Install to 'site' instead of 'perl' when perl version is 5.11+
+  https://rt.cpan.org/Ticket/Display.html?id=78917
+! Encode/Makefile_PL.e2x
+  find enc2xs.bat if it works on windows.
+  https://github.com/dankogai/p5-encode/pull/7
+! t/piconv.t
+  Fix finding piconv in t/piconv.t
+  https://github.com/dankogai/p5-encode/pull/6
+
+2.47 2012/08/15 05:36:16
+! Encode.pm
+  POD Fixes: Copyright and mail address
+! Makefile.PL
+  Added LICENSE => 'perl'
+! lib/Encode/GSM0338.pm t/gsm0338.t
+  REALLY fixed RT#75670: Wrong decoding for GSM 3.38 character \x09
+  ucm/gsm0338.ucm is dropped from MANIFEST since 2.25
+  but I was fixing the wrong file!
+  https://rt.cpan.org/Ticket/Display.html?id=75670
+
+! 2.46 2012/08/12 05:49:30
+! Encode.pm
+  Fixed: RT#78917 for I18N-Charset: Fails with Encode 2.45
+  To be more exact, 2.45 broke Encode->encodings(':all')
+  https://rt.cpan.org/Ticket/Display.html?id=78917
+
+2.45 2012/08/05 23:08:49
+! lib/Encode/Alias.pm
+  Addressed RT#78125: Missed Mac Alias x-mac-ce
+  https://rt.cpan.org/Ticket/Display.html?id=78125
+! lib/Encode/Unicode/UTF7.pm
+  Applied the patch in RT#76711
+  https://rt.cpan.org/Ticket/Display.html?id=76711
+! ucm/gsm0338.ucm
+  Addressed RT#75670: Wrong decoding for GSM 3.38 character \x09
+  https://rt.cpan.org/Ticket/Display.html?id=75670
+! Encode.pm
+  Applied the patch in RT#72519
+  https://rt.cpan.org/Ticket/Display.html?id=72519
 ! Unicode/Unicode.xs
+  t/Unicode.t
+  Bug fixes in Unicode.xs by chansen
+  https://github.com/dankogai/p5-encode/pull/5
+! Encode.pm
+  various POD improvements by daxim
+  https://github.com/dankogai/p5-encode/pull/4
+
+2.44 2011/08/09 07:49:44
+! Unicode/Unicode.xs
+  Addressed the following:
+    Date: Fri, 22 Jul 2011 13:58:43 +0200
+    From: Robert Zacek <zacek at avast.com>
+    To: perl5-security-report at perl.org
+    Subject: Unicode.xs!decode_xs n-byte heap-overflow
+! Encode.pm encoding.pm
+! lib/Encode/Alias.pm lib/Encode/Encoder.pm lib/Encode/Guess.pm
+  Applied: RT#69735: patch for use constant DEBUG =>
+  https://rt.cpan.org/Ticket/Update.html?id=69735
+
+2.43 2011/05/21 23:14:43
+! lib/Encode/Alias.pm
+  Addressed RT#68361: Encode::Bytes x-mac-... aliases missing
+  https://rt.cpan.org/Ticket/Display.html?id=68361
+! Encode.pm
+  Applied the 0001-Fix-typo-in-pod.patch
+  https://rt.cpan.org/Ticket/Update.html?id=64381
+  Addressed RT#65796 Deep recursion error finding invalid charset
+  https://rt.cpan.org/Ticket/Update.html?id=65796
+  Applied a jumbo doc patch by Tom Christiansen
+  Message-Id: <14795.1304618434 at chthon>
+
+2.42 2010/12/31 22:48:48
+! Encode.xs
+! Unicode/Unicode.xs
   Applied: RT#64371: Update for 5.14 API changes
   http://rt.cpan.org/Ticket/Display.html?id=64371
 


Property changes on: vendor/perl/dist/cpan/Encode/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/EBCDIC/EBCDIC.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/EBCDIC/EBCDIC.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/EBCDIC/EBCDIC.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 use Encode;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );


Property changes on: vendor/perl/dist/cpan/Encode/EBCDIC/EBCDIC.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/EBCDIC/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/EBCDIC/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/EBCDIC/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/EBCDIC/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Encode/Changes.e2x
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode/Changes.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode/Changes.e2x	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: Changes.e2x,v 1.1.1.1 2011-05-19 23:03:38 laffer1 Exp $
+# $Id: Changes.e2x,v 2.0 2004/05/16 20:55:15 dankogai Exp $
 # Revision history for Perl extension Encode::$_Name_.
 #
 


Property changes on: vendor/perl/dist/cpan/Encode/Encode/Changes.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/Encode/ConfigLocal_PM.e2x
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode/ConfigLocal_PM.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode/ConfigLocal_PM.e2x	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/Encode/ConfigLocal_PM.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Encode/Makefile_PL.e2x
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode/Makefile_PL.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode/Makefile_PL.e2x	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,12 +17,17 @@
 #### DO NOT EDIT BEYOND THIS POINT!
 require File::Spec;
 my ($enc2xs, $encode_h) = ();
+my @path_ext = ('');
+ at path_ext = split(';', $ENV{PATHEXT}) if $^O eq 'MSWin32';
 PATHLOOP:
 for my $d (@Config{qw/bin sitebin vendorbin/}, 
        (split /$Config{path_sep}/o, $ENV{PATH})){
     for my $f (qw/enc2xs enc2xs5.7.3/){
         my $path = File::Spec->catfile($d, $f);
-        -r $path and $enc2xs = $path and last PATHLOOP;
+        for my $ext (@path_ext) {
+            my $bin = "$path$ext";
+            -r "$bin" and $enc2xs = $bin and last PATHLOOP;
+        }
     }
 }
 $enc2xs or die "enc2xs not found!";


Property changes on: vendor/perl/dist/cpan/Encode/Encode/Makefile_PL.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/Encode/README.e2x
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode/README.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode/README.e2x	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/Encode/README.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/Encode/_PM.e2x
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode/_PM.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode/_PM.e2x	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/Encode/_PM.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/Encode/_T.e2x
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode/_T.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode/_T.e2x	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/Encode/_T.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/Encode/encode.h
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode/encode.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode/encode.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/Encode/encode.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Encode.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,11 @@
 #
-# $Id: Encode.pm,v 1.1.1.2 2012-03-28 04:40:27 laffer1 Exp $
+# $Id: Encode.pm,v 2.49 2013/03/05 03:13:47 dankogai Exp dankogai $
 #
 package Encode;
 use strict;
 use warnings;
-our $VERSION = sprintf "%d.%02d_01", q$Revision: 1.1.1.2 $ =~ /(\d+)/g;
-sub DEBUG () { 0 }
+our $VERSION = sprintf "%d.%02d", q$Revision: 2.49 $ =~ /(\d+)/g;
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 use XSLoader ();
 XSLoader::load( __PACKAGE__, $VERSION );
 
@@ -61,14 +61,14 @@
 };
 
 sub encodings {
-    my $class = shift;
     my %enc;
-    if ( @_ and $_[0] eq ":all" ) {
+    my $arg  = $_[1] || '';
+    if ( $arg eq ":all" ) {
         %enc = ( %Encoding, %ExtModule );
     }
     else {
         %enc = %Encoding;
-        for my $mod ( map { m/::/o ? $_ : "Encode::$_" } @_ ) {
+        for my $mod ( map { m/::/ ? $_ : "Encode::$_" } @_ ) {
             DEBUG and warn $mod;
             for my $enc ( keys %ExtModule ) {
                 $ExtModule{$enc} eq $mod and $enc{$enc} = $mod;
@@ -101,6 +101,8 @@
 sub getEncoding {
     my ( $class, $name, $skip_external ) = @_;
 
+    $name =~ s/\s+//g; # https://rt.cpan.org/Ticket/Display.html?id=65796
+
     ref($name) && $name->can('renew') and return $name;
     exists $Encoding{$name} and return $Encoding{$name};
     my $lc = lc $name;
@@ -144,7 +146,7 @@
 sub encode($$;$) {
     my ( $name, $string, $check ) = @_;
     return undef unless defined $string;
-    $string .= '' if ref $string;    # stringify;
+    $string .= '';    # stringify;
     $check ||= 0;
     unless ( defined $name ) {
         require Carp;
@@ -164,7 +166,7 @@
 sub decode($$;$) {
     my ( $name, $octets, $check ) = @_;
     return undef unless defined $octets;
-    $octets .= '' if ref $octets;
+    $octets .= '';
     $check ||= 0;
     my $enc = find_encoding($name);
     unless ( defined $enc ) {
@@ -245,7 +247,7 @@
         package Encode::UTF_EBCDIC;
         push @Encode::UTF_EBCDIC::ISA, 'Encode::Encoding';
         *decode = sub {
-            my ( $obj, $str, $chk ) = @_;
+            my ( undef, $str, $chk ) = @_;
             my $res = '';
             for ( my $i = 0 ; $i < length($str) ; $i++ ) {
                 $res .=
@@ -257,7 +259,7 @@
             return $res;
         };
         *encode = sub {
-            my ( $obj, $str, $chk ) = @_;
+            my ( undef, $str, $chk ) = @_;
             my $res = '';
             for ( my $i = 0 ; $i < length($str) ; $i++ ) {
                 $res .=
@@ -276,7 +278,7 @@
         package Encode::Internal;
         push @Encode::Internal::ISA, 'Encode::Encoding';
         *decode = sub {
-            my ( $obj, $str, $chk ) = @_;
+            my ( undef, $str, $chk ) = @_;
             utf8::upgrade($str);
             $_[1] = '' if $chk;
             return $str;
@@ -301,7 +303,7 @@
         else {
             Encode::DEBUG and warn __PACKAGE__, " XS off";
             *decode = sub {
-                my ( $obj, $octets, $chk ) = @_;
+                my ( undef, $octets, $chk ) = @_;
                 my $str = Encode::decode_utf8($octets);
                 if ( defined $str ) {
                     $_[1] = '' if $chk;
@@ -310,7 +312,7 @@
                 return undef;
             };
             *encode = sub {
-                my ( $obj, $string, $chk ) = @_;
+                my ( undef, $string, $chk ) = @_;
                 my $octets = Encode::encode_utf8($string);
                 $_[1] = '' if $chk;
                 return $octets;
@@ -318,7 +320,7 @@
         }
         *cat_decode = sub {    # ($obj, $dst, $src, $pos, $trm, $chk)
                                # currently ignores $chk
-            my ( $obj, undef, undef, $pos, $trm ) = @_;
+            my ( undef, undef, undef, $pos, $trm ) = @_;
             my ( $rdst, $rsrc, $rpos ) = \@_[ 1, 2, 3 ];
             use bytes;
             if ( ( my $npos = index( $$rsrc, $trm, $pos ) ) >= 0 ) {
@@ -334,8 +336,8 @@
         $Encode::Encoding{utf8} =
           bless { Name => "utf8" } => "Encode::utf8";
         $Encode::Encoding{"utf-8-strict"} =
-          bless { Name => "utf-8-strict", strict_utf8 => 1 } =>
-          "Encode::utf8";
+          bless { Name => "utf-8-strict", strict_utf8 => 1 } 
+            => "Encode::utf8";
     }
 }
 
@@ -345,149 +347,166 @@
 
 =head1 NAME
 
-Encode - character encodings
+Encode - character encodings in Perl
 
 =head1 SYNOPSIS
 
-    use Encode;
+    use Encode qw(decode encode);
+    $characters = decode('UTF-8', $octets,     Encode::FB_CROAK);
+    $octets     = encode('UTF-8', $characters, Encode::FB_CROAK);
 
 =head2 Table of Contents
 
-Encode consists of a collection of modules whose details are too big
-to fit in one document.  This POD itself explains the top-level APIs
+Encode consists of a collection of modules whose details are too extensive
+to fit in one document.  This one itself explains the top-level APIs
 and general topics at a glance.  For other topics and more details,
-see the PODs below:
+see the documentation for these modules:
 
-  Name			        Description
-  --------------------------------------------------------
-  Encode::Alias         Alias definitions to encodings
-  Encode::Encoding      Encode Implementation Base Class
-  Encode::Supported     List of Supported Encodings
-  Encode::CN            Simplified Chinese Encodings
-  Encode::JP            Japanese Encodings
-  Encode::KR            Korean Encodings
-  Encode::TW            Traditional Chinese Encodings
-  --------------------------------------------------------
+=over 2
 
+=item L<Encode::Alias> - Alias definitions to encodings
+
+=item L<Encode::Encoding> - Encode Implementation Base Class
+
+=item L<Encode::Supported> - List of Supported Encodings
+
+=item L<Encode::CN> - Simplified Chinese Encodings
+
+=item L<Encode::JP> - Japanese Encodings
+
+=item L<Encode::KR> - Korean Encodings
+
+=item L<Encode::TW> - Traditional Chinese Encodings
+
+=back
+
 =head1 DESCRIPTION
 
-The C<Encode> module provides the interfaces between Perl's strings
+The C<Encode> module provides the interface between Perl strings
 and the rest of the system.  Perl strings are sequences of
-B<characters>.
+I<characters>.
 
-The repertoire of characters that Perl can represent is at least that
+The repertoire of characters that Perl can represent is a superset of those
 defined by the Unicode Consortium. On most platforms the ordinal
-values of the characters (as returned by C<ord(ch)>) is the "Unicode
-codepoint" for the character (the exceptions are those platforms where
-the legacy encoding is some variant of EBCDIC rather than a super-set
-of ASCII - see L<perlebcdic>).
+values of a character as returned by C<ord(I<S>)> is the I<Unicode
+codepoint> for that character. The exceptions are platforms where
+the legacy encoding is some variant of EBCDIC rather than a superset
+of ASCII; see L<perlebcdic>.
 
-Traditionally, computer data has been moved around in 8-bit chunks
-often called "bytes". These chunks are also known as "octets" in
-networking standards. Perl is widely used to manipulate data of many
-types - not only strings of characters representing human or computer
-languages but also "binary" data being the machine's representation of
-numbers, pixels in an image - or just about anything.
+During recent history, data is moved around a computer in 8-bit chunks,
+often called "bytes" but also known as "octets" in standards documents.
+Perl is widely used to manipulate data of many types: not only strings of
+characters representing human or computer languages, but also "binary"
+data, being the machine's representation of numbers, pixels in an image, or
+just about anything.
 
 When Perl is processing "binary data", the programmer wants Perl to
-process "sequences of bytes". This is not a problem for Perl - as a
+process "sequences of bytes". This is not a problem for Perl: because a
 byte has 256 possible values, it easily fits in Perl's much larger
 "logical character".
 
+This document mostly explains the I<how>. L<perlunitut> and L<perlunifaq>
+explain the I<why>.
+
 =head2 TERMINOLOGY
 
-=over 2
+=head3 character
 
-=item *
+A character in the range 0 .. 2**32-1 (or more);
+what Perl's strings are made of.
 
-I<character>: a character in the range 0..(2**32-1) (or more).
-(What Perl's strings are made of.)
+=head3 byte
 
-=item *
+A character in the range 0..255;
+a special case of a Perl character.
 
-I<byte>: a character in the range 0..255
-(A special case of a Perl character.)
+=head3 octet
 
-=item *
+8 bits of data, with ordinal values 0..255;
+term for bytes passed to or from a non-Perl context, such as a disk file,
+standard I/O stream, database, command-line argument, environment variable,
+socket etc.
 
-I<octet>: 8 bits of data, with ordinal values 0..255
-(Term for bytes passed to or from a non-Perl context, e.g. a disk file.)
+=head1 THE PERL ENCODING API
 
-=back
+=head2 Basic methods
 
-=head1 PERL ENCODING API
+=head3 encode
 
-=over 2
+  $octets  = encode(ENCODING, STRING[, CHECK])
 
-=item $octets  = encode(ENCODING, $string [, CHECK])
+Encodes the scalar value I<STRING> from Perl's internal form into
+I<ENCODING> and returns a sequence of octets.  I<ENCODING> can be either a
+canonical name or an alias.  For encoding names and aliases, see
+L</"Defining Aliases">.  For CHECK, see L</"Handling Malformed Data">.
 
-Encodes a string from Perl's internal form into I<ENCODING> and returns
-a sequence of octets.  ENCODING can be either a canonical name or
-an alias.  For encoding names and aliases, see L</"Defining Aliases">.
-For CHECK, see L</"Handling Malformed Data">.
+For example, to convert a string from Perl's internal format into
+ISO-8859-1, also known as Latin1:
 
-For example, to convert a string from Perl's internal format to
-iso-8859-1 (also known as Latin1),
-
   $octets = encode("iso-8859-1", $string);
 
 B<CAVEAT>: When you run C<$octets = encode("utf8", $string)>, then
-$octets B<may not be equal to> $string.  Though they both contain the
-same data, the UTF8 flag for $octets is B<always> off.  When you
-encode anything, UTF8 flag of the result is always off, even when it
-contains completely valid utf8 string. See L</"The UTF8 flag"> below.
+$octets I<might not be equal to> $string.  Though both contain the
+same data, the UTF8 flag for $octets is I<always> off.  When you
+encode anything, the UTF8 flag on the result is always off, even when it
+contains a completely valid utf8 string. See L</"The UTF8 flag"> below.
 
-If the $string is C<undef> then C<undef> is returned.
+If the $string is C<undef>, then C<undef> is returned.
 
-=item $string = decode(ENCODING, $octets [, CHECK])
+=head3 decode
 
-Decodes a sequence of octets assumed to be in I<ENCODING> into Perl's
-internal form and returns the resulting string.  As in encode(),
-ENCODING can be either a canonical name or an alias. For encoding names
-and aliases, see L</"Defining Aliases">.  For CHECK, see
-L</"Handling Malformed Data">.
+  $string = decode(ENCODING, OCTETS[, CHECK])
 
-For example, to convert ISO-8859-1 data to a string in Perl's internal format:
+This function returns the string that results from decoding the scalar
+value I<OCTETS>, assumed to be a sequence of octets in I<ENCODING>, into
+Perl's internal form.  The returns the resulting string.  As with encode(),
+I<ENCODING> can be either a canonical name or an alias. For encoding names
+and aliases, see L</"Defining Aliases">; for I<CHECK>, see L</"Handling
+Malformed Data">.
 
+For example, to convert ISO-8859-1 data into a string in Perl's
+internal format:
+
   $string = decode("iso-8859-1", $octets);
 
 B<CAVEAT>: When you run C<$string = decode("utf8", $octets)>, then $string
-B<may not be equal to> $octets.  Though they both contain the same data,
-the UTF8 flag for $string is on unless $octets entirely consists of
-ASCII data (or EBCDIC on EBCDIC machines).  See L</"The UTF8 flag">
+I<might not be equal to> $octets.  Though both contain the same data, the
+UTF8 flag for $string is on unless $octets consists entirely of ASCII data
+on ASCII machines or EBCDIC on EBCDIC machines.  See L</"The UTF8 flag">
 below.
 
-If the $string is C<undef> then C<undef> is returned.
+If the $string is C<undef>, then C<undef> is returned.
 
-=item [$obj =] find_encoding(ENCODING)
+=head3 find_encoding
 
-Returns the I<encoding object> corresponding to ENCODING.  Returns
-undef if no matching ENCODING is find.
+  [$obj =] find_encoding(ENCODING)
 
-This object is what actually does the actual (en|de)coding.
+Returns the I<encoding object> corresponding to I<ENCODING>.  Returns
+C<undef> if no matching I<ENCODING> is find.  The returned object is
+what does the actual encoding or decoding.
 
   $utf8 = decode($name, $bytes);
 
 is in fact
 
-  $utf8 = do{
-    $obj = find_encoding($name);
-    croak qq(encoding "$name" not found) unless ref $obj;
-    $obj->decode($bytes)
-  };
+    $utf8 = do {
+        $obj = find_encoding($name);
+        croak qq(encoding "$name" not found) unless ref $obj;
+        $obj->decode($bytes);
+    };
 
 with more error checking.
 
-Therefore you can save time by reusing this object as follows;
+You can therefore save time by reusing this object as follows;
 
-  my $enc = find_encoding("iso-8859-1");
-  while(<>){
-     my $utf8 = $enc->decode($_);
-     # and do someting with $utf8;
-  }
+    my $enc = find_encoding("iso-8859-1");
+    while(<>) {
+        my $utf8 = $enc->decode($_);
+        ... # now do something with $utf8;
+    }
 
-Besides C<< ->decode >> and C<< ->encode >>, other methods are
-available as well.  For instance, C<< -> name >> returns the canonical
+Besides L</decode> and L</encode>, other methods are
+available as well.  For instance, C<name()> returns the canonical
 name of the encoding object.
 
   find_encoding("latin1")->name; # iso-8859-1
@@ -494,11 +513,13 @@
 
 See L<Encode::Encoding> for details.
 
-=item [$length =] from_to($octets, FROM_ENC, TO_ENC [, CHECK])
+=head3 from_to
 
-Converts B<in-place> data between two encodings. The data in $octets
-must be encoded as octets and not as characters in Perl's internal
-format. For example, to convert ISO-8859-1 data to Microsoft's CP1250
+  [$length =] from_to($octets, FROM_ENC, TO_ENC [, CHECK])
+
+Converts I<in-place> data between two encodings. The data in $octets
+must be encoded as octets and I<not> as characters in Perl's internal
+format. For example, to convert ISO-8859-1 data into Microsoft's CP1250
 encoding:
 
   from_to($octets, "iso-8859-1", "cp1250");
@@ -507,56 +528,57 @@
 
   from_to($octets, "cp1250", "iso-8859-1");
 
-Note that because the conversion happens in place, the data to be
-converted cannot be a string constant; it must be a scalar variable.
+Because the conversion happens in place, the data to be
+converted cannot be a string constant: it must be a scalar variable.
 
-from_to() returns the length of the converted string in octets on
-success, I<undef> on error.
+C<from_to()> returns the length of the converted string in octets on success,
+and C<undef> on error.
 
-B<CAVEAT>: The following operations look the same but are not quite so;
+B<CAVEAT>: The following operations may look the same, but are not:
 
   from_to($data, "iso-8859-1", "utf8"); #1
   $data = decode("iso-8859-1", $data);  #2
 
-Both #1 and #2 make $data consist of a completely valid UTF-8 string
-but only #2 turns UTF8 flag on.  #1 is equivalent to
+Both #1 and #2 make $data consist of a completely valid UTF-8 string,
+but only #2 turns the UTF8 flag on.  #1 is equivalent to:
 
   $data = encode("utf8", decode("iso-8859-1", $data));
 
 See L</"The UTF8 flag"> below.
 
-Also note that
+Also note that:
 
   from_to($octets, $from, $to, $check);
 
-is equivalent to
+is equivalent t:o
 
   $octets = encode($to, decode($from, $octets), $check);
 
-Yes, it does not respect the $check during decoding.  It is
-deliberately done that way.  If you need minute control, C<decode>
-then C<encode> as follows;
+Yes, it does I<not> respect the $check during decoding.  It is
+deliberately done that way.  If you need minute control, use C<decode>
+followed by C<encode> as follows:
 
   $octets = encode($to, decode($from, $octets, $check_from), $check_to);
 
-=item $octets = encode_utf8($string);
+=head3 encode_utf8
 
-Equivalent to C<$octets = encode("utf8", $string);> The characters
-that comprise $string are encoded in Perl's internal format and the
-result is returned as a sequence of octets. All possible
-characters have a UTF-8 representation so this function cannot fail.
+  $octets = encode_utf8($string);
 
+Equivalent to C<$octets = encode("utf8", $string)>.  The characters in
+$string are encoded in Perl's internal format, and the result is returned
+as a sequence of octets.  Because all possible characters in Perl have a
+(loose, not strict) UTF-8 representation, this function cannot fail.
 
-=item $string = decode_utf8($octets [, CHECK]);
+=head3 decode_utf8
 
-equivalent to C<$string = decode("utf8", $octets [, CHECK])>.
-The sequence of octets represented by
-$octets is decoded from UTF-8 into a sequence of logical
-characters. Not all sequences of octets form valid UTF-8 encodings, so
-it is possible for this call to fail.  For CHECK, see
-L</"Handling Malformed Data">.
+  $string = decode_utf8($octets [, CHECK]);
 
-=back
+Equivalent to C<$string = decode("utf8", $octets [, CHECK])>.
+The sequence of octets represented by $octets is decoded
+from UTF-8 into a sequence of logical characters.
+Because not all sequences of octets are valid UTF-8,
+it is quite possible for this function to fail.
+For CHECK, see L</"Handling Malformed Data">.
 
 =head2 Listing available encodings
 
@@ -563,17 +585,17 @@
   use Encode;
   @list = Encode->encodings();
 
-Returns a list of the canonical names of the available encodings that
-are loaded.  To get a list of all available encodings including the
-ones that are not loaded yet, say
+Returns a list of canonical names of available encodings that have already
+been loaded.  To get a list of all available encodings including those that
+have not yet been loaded, say:
 
   @all_encodings = Encode->encodings(":all");
 
-Or you can give the name of a specific module.
+Or you can give the name of a specific module:
 
   @with_jp = Encode->encodings("Encode::JP");
 
-When "::" is not in the name, "Encode::" is assumed.
+When "C<::>" is not in the name, "C<Encode::>" is assumed.
 
   @ebcdic = Encode->encodings("EBCDIC");
 
@@ -586,22 +608,22 @@
 
   use Encode;
   use Encode::Alias;
-  define_alias(newName => ENCODING);
+  define_alias(NEWNAME => ENCODING);
 
-After that, newName can be used as an alias for ENCODING.
-ENCODING may be either the name of an encoding or an
-I<encoding object>
+After that, I<NEWNAME> can be used as an alias for I<ENCODING>.
+I<ENCODING> may be either the name of an encoding or an
+I<encoding object>.
 
-But before you do so, make sure the alias is nonexistent with
+Before you do that, first make sure the alias is nonexistent using
 C<resolve_alias()>, which returns the canonical name thereof.
-i.e.
+For example:
 
   Encode::resolve_alias("latin1") eq "iso-8859-1" # true
   Encode::resolve_alias("iso-8859-12")   # false; nonexistent
   Encode::resolve_alias($name) eq $name  # true if $name is canonical
 
-resolve_alias() does not need C<use Encode::Alias>; it can be
-exported via C<use Encode qw(resolve_alias)>.
+C<resolve_alias()> does not need C<use Encode::Alias>; it can be
+imported via C<use Encode qw(resolve_alias)>.
 
 See L<Encode::Alias> for details.
 
@@ -608,14 +630,14 @@
 =head2 Finding IANA Character Set Registry names
 
 The canonical name of a given encoding does not necessarily agree with
-IANA IANA Character Set Registry, commonly seen as C<< Content-Type:
-text/plain; charset=I<whatever> >>.  For most cases canonical names
-work but sometimes it does not (notably 'utf-8-strict').
+IANA Character Set Registry, commonly seen as C<< Content-Type:
+text/plain; charset=I<WHATEVER> >>.  For most cases, the canonical name
+works, but sometimes it does not, most notably with "utf-8-strict".
 
-Therefore as of Encode version 2.21, a new method C<mime_name()> is added.
+As of C<Encode> version 2.21, a new method C<mime_name()> is therefore added.
 
   use Encode;
-  my $enc = find_encoding('UTF-8');
+  my $enc = find_encoding("UTF-8");
   warn $enc->name;      # utf-8-strict
   warn $enc->mime_name; # UTF-8
 
@@ -623,94 +645,115 @@
 
 =head1 Encoding via PerlIO
 
-If your perl supports I<PerlIO> (which is the default), you can use a
-PerlIO layer to decode and encode directly via a filehandle.  The
-following two examples are totally identical in their functionality.
+If your perl supports C<PerlIO> (which is the default), you can use a
+C<PerlIO> layer to decode and encode directly via a filehandle.  The
+following two examples are fully identical in functionality:
 
-  # via PerlIO
-  open my $in,  "<:encoding(shiftjis)", $infile  or die;
-  open my $out, ">:encoding(euc-jp)",   $outfile or die;
-  while(<$in>){ print $out $_; }
+  ### Version 1 via PerlIO
+    open(INPUT,  "< :encoding(shiftjis)", $infile)
+        || die "Can't open < $infile for reading: $!";
+    open(OUTPUT, "> :encoding(euc-jp)",  $outfile)
+        || die "Can't open > $output for writing: $!";
+    while (<INPUT>) {   # auto decodes $_
+        print OUTPUT;   # auto encodes $_
+    }
+    close(INPUT)   || die "can't close $infile: $!";
+    close(OUTPUT)  || die "can't close $outfile: $!";
 
-  # via from_to
-  open my $in,  "<", $infile  or die;
-  open my $out, ">", $outfile or die;
-  while(<$in>){
-    from_to($_, "shiftjis", "euc-jp", 1);
-    print $out $_;
-  }
+  ### Version 2 via from_to()
+    open(INPUT,  "< :raw", $infile)
+        || die "Can't open < $infile for reading: $!";
+    open(OUTPUT, "> :raw",  $outfile)
+        || die "Can't open > $output for writing: $!";
 
-Unfortunately, it may be that encodings are PerlIO-savvy.  You can check
-if your encoding is supported by PerlIO by calling the C<perlio_ok>
-method.
+    while (<INPUT>) {
+        from_to($_, "shiftjis", "euc-jp", 1);  # switch encoding
+        print OUTPUT;   # emit raw (but properly encoded) data
+    }
+    close(INPUT)   || die "can't close $infile: $!";
+    close(OUTPUT)  || die "can't close $outfile: $!";
 
-  Encode::perlio_ok("hz");             # False
-  find_encoding("euc-cn")->perlio_ok;  # True where PerlIO is available
+In the first version above, you let the appropriate encoding layer
+handle the conversion.  In the second, you explicitly translate
+from one encoding to the other.
 
-  use Encode qw(perlio_ok);            # exported upon request
+Unfortunately, it may be that encodings are C<PerlIO>-savvy.  You can check
+to see whether your encoding is supported by C<PerlIO> by invoking the
+C<perlio_ok> method on it:
+
+  Encode::perlio_ok("hz");             # false
+  find_encoding("euc-cn")->perlio_ok;  # true wherever PerlIO is available
+
+  use Encode qw(perlio_ok);            # imported upon request
   perlio_ok("euc-jp")
 
-Fortunately, all encodings that come with Encode core are PerlIO-savvy
-except for hz and ISO-2022-kr.  For gory details, see
+Fortunately, all encodings that come with C<Encode> core are C<PerlIO>-savvy
+except for C<hz> and C<ISO-2022-kr>.  For the gory details, see
 L<Encode::Encoding> and L<Encode::PerlIO>.
 
 =head1 Handling Malformed Data
 
-The optional I<CHECK> argument tells Encode what to do when it
-encounters malformed data.  Without CHECK, Encode::FB_DEFAULT ( == 0 )
-is assumed.
+The optional I<CHECK> argument tells C<Encode> what to do when
+encountering malformed data.  Without I<CHECK>, C<Encode::FB_DEFAULT>
+(== 0) is assumed.
 
-As of version 2.12 Encode supports coderef values for CHECK.  See below.
+As of version 2.12, C<Encode> supports coderef values for C<CHECK>;
+see below.
 
-=over 2
+B<NOTE:> Not all encodings support this feature.
+Some encodings ignore the I<CHECK> argument.  For example,
+L<Encode::Unicode> ignores I<CHECK> and it always croaks on error.
 
-=item B<NOTE:> Not all encoding support this feature
+=head2 List of I<CHECK> values
 
-Some encodings ignore I<CHECK> argument.  For example,
-L<Encode::Unicode> ignores I<CHECK> and it always croaks on error.
+=head3 FB_DEFAULT
 
-=back
+  I<CHECK> = Encode::FB_DEFAULT ( == 0)
 
-Now here is the list of I<CHECK> values available
+If I<CHECK> is 0, encoding and decoding replace any malformed character
+with a I<substitution character>.  When you encode, I<SUBCHAR> is used.
+When you decode, the Unicode REPLACEMENT CHARACTER, code point U+FFFD, is
+used.  If the data is supposed to be UTF-8, an optional lexical warning of
+warning category C<"utf8"> is given.
 
-=over 2
+=head3 FB_CROAK
 
-=item I<CHECK> = Encode::FB_DEFAULT ( == 0)
+  I<CHECK> = Encode::FB_CROAK ( == 1)
 
-If I<CHECK> is 0, (en|de)code will put a I<substitution character> in
-place of a malformed character.  When you encode, E<lt>subcharE<gt>
-will be used.  When you decode the code point C<0xFFFD> is used.  If
-the data is supposed to be UTF-8, an optional lexical warning
-(category utf8) is given.
+If I<CHECK> is 1, methods immediately die with an error
+message.  Therefore, when I<CHECK> is 1, you should trap
+exceptions with C<eval{}>, unless you really want to let it C<die>.
 
-=item I<CHECK> = Encode::FB_CROAK ( == 1)
+=head3 FB_QUIET
 
-If I<CHECK> is 1, methods will die on error immediately with an error
-message.  Therefore, when I<CHECK> is set to 1,  you should trap the
-error with eval{} unless you really want to let it die.
+  I<CHECK> = Encode::FB_QUIET
 
-=item I<CHECK> = Encode::FB_QUIET
-
-If I<CHECK> is set to Encode::FB_QUIET, (en|de)code will immediately
+If I<CHECK> is set to C<Encode::FB_QUIET>, encoding and decoding immediately
 return the portion of the data that has been processed so far when an
-error occurs. The data argument will be overwritten with everything
-after that point (that is, the unprocessed part of data).  This is
-handy when you have to call decode repeatedly in the case where your
+error occurs. The data argument is overwritten with everything
+after that point; that is, the unprocessed portion of the data.  This is
+handy when you have to call C<decode> repeatedly in the case where your
 source data may contain partial multi-byte character sequences,
-(i.e. you are reading with a fixed-width buffer). Here is a sample
-code that does exactly this:
+(that is, you are reading with a fixed-width buffer). Here's some sample
+code to do exactly that:
 
-  my $buffer = ''; my $string = '';
-  while(read $fh, $buffer, 256, length($buffer)){
-    $string .= decode($encoding, $buffer, Encode::FB_QUIET);
-    # $buffer now contains the unprocessed partial character
-  }
+    my($buffer, $string) = ("", "");
+    while (read($fh, $buffer, 256, length($buffer))) {
+        $string .= decode($encoding, $buffer, Encode::FB_QUIET);
+        # $buffer now contains the unprocessed partial character
+    }
 
-=item I<CHECK> = Encode::FB_WARN
+=head3 FB_WARN
 
-This is the same as above, except that it warns on error.  Handy when
-you are debugging the mode above.
+  I<CHECK> = Encode::FB_WARN
 
+This is the same as C<FB_QUIET> above, except that instead of being silent
+on errors, it issues a warning.  This is handy for when you are debugging.
+
+=head3 FB_PERLQQ FB_HTMLCREF FB_XMLCREF
+
+=over 2
+
 =item perlqq mode (I<CHECK> = Encode::FB_PERLQQ)
 
 =item HTML charref mode (I<CHECK> = Encode::FB_HTMLCREF)
@@ -717,26 +760,28 @@
 
 =item XML charref mode (I<CHECK> = Encode::FB_XMLCREF)
 
-For encodings that are implemented by Encode::XS, CHECK ==
-Encode::FB_PERLQQ turns (en|de)code into C<perlqq> fallback mode.
+=back
 
-When you decode, C<\xI<HH>> will be inserted for a malformed character,
-where I<HH> is the hex representation of the octet  that could not be
-decoded to utf8.  And when you encode, C<\x{I<HHHH>}> will be inserted,
-where I<HHHH> is the Unicode ID of the character that cannot be found
-in the character repertoire of the encoding.
+For encodings that are implemented by the C<Encode::XS> module, C<CHECK> C<==>
+C<Encode::FB_PERLQQ> puts C<encode> and C<decode> into C<perlqq> fallback mode.
 
-HTML/XML character reference modes are about the same, in place of
-C<\x{I<HHHH>}>, HTML uses C<&#I<NNN>;> where I<NNN> is a decimal number and
+When you decode, C<\xI<HH>> is inserted for a malformed character, where
+I<HH> is the hex representation of the octet that could not be decoded to
+utf8.  When you encode, C<\x{I<HHHH>}> will be inserted, where I<HHHH> is
+the Unicode code point (in any number of hex digits) of the character that
+cannot be found in the character repertoire of the encoding.
+
+The HTML/XML character reference modes are about the same. In place of
+C<\x{I<HHHH>}>, HTML uses C<&#I<NNN>;> where I<NNN> is a decimal number, and
 XML uses C<&#xI<HHHH>;> where I<HHHH> is the hexadecimal number.
 
-In Encode 2.10 or later, C<LEAVE_SRC> is also implied.
+In C<Encode> 2.10 or later, C<LEAVE_SRC> is also implied.
 
-=item The bitmask
+=head3 The bitmask
 
-These modes are actually set via a bitmask.  Here is how the FB_XX
-constants are laid out.  You can import the FB_XX constants via
-C<use Encode qw(:fallbacks)>; you can import the generic bitmask
+These modes are all actually set via a bitmask.  Here is how the C<FB_I<XXX>>
+constants are laid out.  You can import the C<FB_I<XXX>> constants via
+C<use Encode qw(:fallbacks)>, and you can import the generic bitmask
 constants via C<use Encode qw(:fallback_all)>.
 
                      FB_DEFAULT FB_CROAK FB_QUIET FB_WARN  FB_PERLQQ
@@ -748,28 +793,23 @@
  HTMLCREF      0x0200
  XMLCREF       0x0400
 
-=back
+=head3 LEAVE_SRC
 
-=over 2
+  Encode::LEAVE_SRC
 
-=item Encode::LEAVE_SRC
+If the C<Encode::LEAVE_SRC> bit is I<not> set but I<CHECK> is set, then the
+source string to encode() or decode() will be overwritten in place.
+If you're not interested in this, then bitwise-OR it with the bitmask.
 
-If the C<Encode::LEAVE_SRC> bit is not set, but I<CHECK> is, then the second
-argument to C<encode()> or C<decode()> may be assigned to by the functions. If
-you're not interested in this, then bitwise-or the bitmask with it.
-
-=back
-
 =head2 coderef for CHECK
 
-As of Encode 2.12 CHECK can also be a code reference which takes the
-ord value of unmapped caharacter as an argument and returns a string
-that represents the fallback character.  For instance,
+As of C<Encode> 2.12, C<CHECK> can also be a code reference which takes the
+ordinal value of the unmapped character as an argument and returns a string
+that represents the fallback character.  For instance:
 
   $ascii = encode("ascii", $utf8, sub{ sprintf "<U+%04X>", shift });
 
-Acts like FB_PERLQQ but E<lt>U+I<XXXX>E<gt> is used instead of
-\x{I<XXXX>}.
+Acts like C<FB_PERLQQ> but U+I<XXXX> is used instead of C<\x{I<XXXX>}>.
 
 =head1 Defining Encodings
 
@@ -776,22 +816,22 @@
 To define a new encoding, use:
 
     use Encode qw(define_encoding);
-    define_encoding($object, 'canonicalName' [, alias...]);
+    define_encoding($object, CANONICAL_NAME [, alias...]);
 
-I<canonicalName> will be associated with I<$object>.  The object
+I<CANONICAL_NAME> will be associated with I<$object>.  The object
 should provide the interface described in L<Encode::Encoding>.
-If more than two arguments are provided then additional
-arguments are taken as aliases for I<$object>.
+If more than two arguments are provided, additional
+arguments are considered aliases for I<$object>.
 
-See L<Encode::Encoding> for more details.
+See L<Encode::Encoding> for details.
 
 =head1 The UTF8 flag
 
-Before the introduction of Unicode support in perl, The C<eq> operator
+Before the introduction of Unicode support in Perl, The C<eq> operator
 just compared the strings represented by two scalars. Beginning with
-perl 5.8, C<eq> compares two strings with simultaneous consideration of
-I<the UTF8 flag>. To explain why we made it so, I will quote page 402 of
-C<Programming Perl, 3rd ed.>
+Perl 5.8, C<eq> compares two strings with simultaneous consideration of
+I<the UTF8 flag>. To explain why we made it so, I quote from page 402 of
+I<Programming Perl, 3rd ed.>
 
 =over 2
 
@@ -817,29 +857,28 @@
 
 =back
 
-Back when C<Programming Perl, 3rd ed.> was written, not even Perl 5.6.0
-was born and many features documented in the book remained
-unimplemented for a long time.  Perl 5.8 corrected this and the introduction
-of the UTF8 flag is one of them.  You can think of this perl notion as of a
-byte-oriented mode (UTF8 flag off) and a character-oriented mode (UTF8
-flag on).
+When I<Programming Perl, 3rd ed.> was written, not even Perl 5.6.0 had been
+born yet, many features documented in the book remained unimplemented for a
+long time.  Perl 5.8 corrected much of this, and the introduction of the
+UTF8 flag is one of them.  You can think of there being two fundamentally
+different kinds of strings and string-operations in Perl: one a
+byte-oriented mode  for when the internal UTF8 flag is off, and the other a
+character-oriented mode for when the internal UTF8 flag is on.
 
-Here is how Encode takes care of the UTF8 flag.
+Here is how C<Encode> handles the UTF8 flag.
 
 =over 2
 
 =item *
 
-When you encode, the resulting UTF8 flag is always off.
+When you I<encode>, the resulting UTF8 flag is always B<off>.
 
 =item *
 
-When you decode, the resulting UTF8 flag is on unless you can
-unambiguously represent data.  Here is the definition of
-dis-ambiguity.
+When you I<decode>, the resulting UTF8 flag is B<on>--I<unless> you can
+unambiguously represent data.  Here is what we mean by "unambiguously".
+After C<$utf8 = decode("foo", $octet)>,
 
-After C<$utf8 = decode('foo', $octet);>,
-
   When $octet is...   The UTF8 flag in $utf8 is
   ---------------------------------------------
   In ASCII only (or EBCDIC only)            OFF
@@ -847,14 +886,14 @@
   In any other Encoding                      ON
   ---------------------------------------------
 
-As you see, there is one exception, In ASCII.  That way you can assume
-Goal #1.  And with Encode Goal #2 is assumed but you still have to be
-careful in such cases mentioned in B<CAVEAT> paragraphs.
+As you see, there is one exception: in ASCII.  That way you can assume
+Goal #1.  And with C<Encode>, Goal #2 is assumed but you still have to be
+careful in the cases mentioned in the B<CAVEAT> paragraphs above.
 
-This UTF8 flag is not visible in perl scripts, exactly for the same
-reason you cannot (or you I<don't have to>) see if a scalar contains a
-string, integer, or floating point number.   But you can still peek
-and poke these if you will.  See the section below.
+This UTF8 flag is not visible in Perl scripts, exactly for the same reason
+you cannot (or rather, you I<don't have to>) see whether a scalar contains
+a string, an integer, or a floating-point number.   But you can still peek
+and poke these if you will.  See the next section.
 
 =back
 
@@ -861,39 +900,44 @@
 =head2 Messing with Perl's Internals
 
 The following API uses parts of Perl's internals in the current
-implementation.  As such, they are efficient but may change.
+implementation.  As such, they are efficient but may change in a future
+release.
 
-=over 2
+=head3 is_utf8
 
-=item is_utf8(STRING [, CHECK])
+  is_utf8(STRING [, CHECK])
 
-[INTERNAL] Tests whether the UTF8 flag is turned on in the STRING.
-If CHECK is true, also checks the data in STRING for being well-formed
+[INTERNAL] Tests whether the UTF8 flag is turned on in the I<STRING>.
+If I<CHECK> is true, also checks whether I<STRING> contains well-formed
 UTF-8.  Returns true if successful, false otherwise.
 
-As of perl 5.8.1, L<utf8> also has utf8::is_utf8().
+As of Perl 5.8.1, L<utf8> also has the C<utf8::is_utf8> function.
 
-=item _utf8_on(STRING)
+=head3 _utf8_on
 
-[INTERNAL] Turns on the UTF8 flag in STRING.  The data in STRING is
-B<not> checked for being well-formed UTF-8.  Do not use unless you
-B<know> that the STRING is well-formed UTF-8.  Returns the previous
-state of the UTF8 flag (so please don't treat the return value as
-indicating success or failure), or C<undef> if STRING is not a string.
+  _utf8_on(STRING)
 
-This function does not work on tainted values.
+[INTERNAL] Turns the I<STRING>'s internal UTF8 flag B<on>.  The I<STRING>
+is I<not> checked for containing only well-formed UTF-8.  Do not use this
+unless you I<know with absolute certainty> that the STRING holds only
+well-formed UTF-8.  Returns the previous state of the UTF8 flag (so please
+don't treat the return value as indicating success or failure), or C<undef>
+if I<STRING> is not a string.
 
-=item _utf8_off(STRING)
+B<NOTE>: For security reasons, this function does not work on tainted values.
 
-[INTERNAL] Turns off the UTF8 flag in STRING.  Do not use frivolously.
-Returns the previous state of the UTF8 flag (so please don't treat the
-return value as indicating success or failure), or C<undef> if STRING is
-not a string.
+=head3 _utf8_off
 
-This function does not work on tainted values.
+  _utf8_off(STRING)
 
-=back
+[INTERNAL] Turns the I<STRING>'s internal UTF8 flag B<off>.  Do not use
+frivolously.  Returns the previous state of the UTF8 flag, or C<undef> if
+I<STRING> is not a string.  Do not treat the return value as indicative of
+success or failure, because that isn't what it means: it is only the
+previous setting.
 
+B<NOTE>: For security reasons, this function does not work on tainted values.
+
 =head1 UTF-8 vs. utf8 vs. UTF8
 
   ....We now view strings not as sequences of bytes, but as sequences
@@ -900,11 +944,17 @@
   of numbers in the range 0 .. 2**32-1 (or in the case of 64-bit
   computers, 0 .. 2**64-1) -- Programming Perl, 3rd ed.
 
-That has been the perl's notion of UTF-8 but official UTF-8 is more
-strict; Its ranges is much narrower (0 .. 10FFFF), some sequences are
-not allowed (i.e. Those used in the surrogate pair, 0xFFFE, et al).
+That has historically been Perl's notion of UTF-8, as that is how UTF-8 was
+first conceived by Ken Thompson when he invented it. However, thanks to
+later revisions to the applicable standards, official UTF-8 is now rather
+stricter than that. For example, its range is much narrower (0 .. 0x10_FFFF
+to cover only 21 bits instead of 32 or 64 bits) and some sequences
+are not allowed, like those used in surrogate pairs, the 31 non-character
+code points 0xFDD0 .. 0xFDEF, the last two code points in I<any> plane
+(0xI<XX>_FFFE and 0xI<XX>_FFFF), all non-shortest encodings, etc.
 
-Now that is overruled by Larry Wall himself.
+The former default in which Perl would always use a loose interpretation of
+UTF-8 has now been overruled:
 
   From: Larry Wall <larry at wall.org>
   Date: December 04, 2004 11:51:58 JST
@@ -911,38 +961,40 @@
   To: perl-unicode at perl.org
   Subject: Re: Make Encode.pm support the real UTF-8
   Message-Id: <20041204025158.GA28754 at wall.org>
-  
+
   On Fri, Dec 03, 2004 at 10:12:12PM +0000, Tim Bunce wrote:
   : I've no problem with 'utf8' being perl's unrestricted uft8 encoding,
   : but "UTF-8" is the name of the standard and should give the
   : corresponding behaviour.
-  
+
   For what it's worth, that's how I've always kept them straight in my
   head.
-  
+
   Also for what it's worth, Perl 6 will mostly default to strict but
   make it easy to switch back to lax.
-  
+
   Larry
 
-Do you copy?  As of Perl 5.8.7, B<UTF-8> means strict, official UTF-8
-while B<utf8> means liberal, lax, version thereof.  And Encode version
-2.10 or later thus groks the difference between C<UTF-8> and C"utf8".
+Got that?  As of Perl 5.8.7, B<"UTF-8"> means UTF-8 in its current
+sense, which is conservative and strict and security-conscious, whereas
+B<"utf8"> means UTF-8 in its former sense, which was liberal and loose and
+lax.  C<Encode> version 2.10 or later thus groks this subtle but critically
+important distinction between C<"UTF-8"> and C<"utf8">.
 
   encode("utf8",  "\x{FFFF_FFFF}", 1); # okay
   encode("UTF-8", "\x{FFFF_FFFF}", 1); # croaks
 
-C<UTF-8> in Encode is actually a canonical name for C<utf-8-strict>.
-Yes, the hyphen between "UTF" and "8" is important.  Without it Encode
-goes "liberal"
+In the C<Encode> module, C<"UTF-8"> is actually a canonical name for
+C<"utf-8-strict">.  That hyphen between the C<"UTF"> and the C<"8"> is
+critical; without it, C<Encode> goes "liberal" and (perhaps overly-)permissive:
 
   find_encoding("UTF-8")->name # is 'utf-8-strict'
   find_encoding("utf-8")->name # ditto. names are case insensitive
-  find_encoding("utf_8")->name  # ditto. "_" are treated as "-"
+  find_encoding("utf_8")->name # ditto. "_" are treated as "-"
   find_encoding("UTF8")->name  # is 'utf8'.
 
-The UTF8 flag is internally called UTF8, without a hyphen. It indicates
-whether a string is internally encoded as utf8, also without a hypen.
+Perl's internal UTF8 flag is called "UTF8", without a hyphen. It indicates
+whether a string is internally encoded as "utf8", also without a hyphen.
 
 =head1 SEE ALSO
 
@@ -954,22 +1006,22 @@
 L<perlfunc/open>,
 L<perlunicode>, L<perluniintro>, L<perlunifaq>, L<perlunitut>
 L<utf8>,
-the Perl Unicode Mailing List E<lt>perl-unicode at perl.orgE<gt>
+the Perl Unicode Mailing List L<http://lists.perl.org/list/perl-unicode.html>
 
 =head1 MAINTAINER
 
-This project was originated by Nick Ing-Simmons and later maintained
-by Dan Kogai E<lt>dankogai at dan.co.jpE<gt>.  See AUTHORS for a full
-list of people involved.  For any questions, use
-E<lt>perl-unicode at perl.orgE<gt> so we can all share.
+This project was originated by the late Nick Ing-Simmons and later
+maintained by Dan Kogai I<< <dankogai at cpan.org> >>.  See AUTHORS
+for a full list of people involved.  For any questions, send mail to
+I<< <perl-unicode at perl.org> >> so that we can all share.
 
-While Dan Kogai retains the copyright as a maintainer, the credit
-should go to all those involoved.  See AUTHORS for those submitted
-codes.
+While Dan Kogai retains the copyright as a maintainer, credit
+should go to all those involved.  See AUTHORS for a list of those
+who submitted code to the project.
 
 =head1 COPYRIGHT
 
-Copyright 2002-2006 Dan Kogai E<lt>dankogai at dan.co.jpE<gt>
+Copyright 2002-2012 Dan Kogai I<< <dankogai at cpan.org> >>.
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Encode/Encode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Encode.xs
===================================================================
--- vendor/perl/dist/cpan/Encode/Encode.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Encode.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /*
- $Id: Encode.xs,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+ $Id: Encode.xs,v 2.21 2013/03/05 03:12:49 dankogai Exp dankogai $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -440,7 +440,6 @@
     if (src == &PL_sv_undef || SvROK(src)) src = sv_2mortal(newSV(0));
     s = (U8 *) SvPV(src, slen);
     e = (U8 *) SvEND(src);
-    dst = newSV(slen>0?slen:1); /* newSV() abhors 0 -- inaba */
     check = SvROK(check_sv) ? ENCODE_PERLQQ|ENCODE_LEAVE_SRC : SvIV(check_sv);
     /* 
      * PerlIO check -- we assume the object is of PerlIO if renewed
@@ -471,6 +470,7 @@
     }
     }
 
+    dst = sv_2mortal(newSV(slen>0?slen:1)); /* newSV() abhors 0 -- inaba */
     s = process_utf8(aTHX_ dst, s, e, check_sv, 0, strict_utf8(aTHX_ obj), renewed);
 
     /* Clear out translated part of source unless asked not to */
@@ -482,7 +482,7 @@
     SvCUR_set(src, slen);
     }
     SvUTF8_on(dst);
-    ST(0) = sv_2mortal(dst);
+    ST(0) = dst;
     XSRETURN(1);
 }
 
@@ -504,7 +504,7 @@
     if (src == &PL_sv_undef || SvROK(src)) src = sv_2mortal(newSV(0));
     s = (U8 *) SvPV(src, slen);
     e = (U8 *) SvEND(src);
-    dst = newSV(slen>0?slen:1); /* newSV() abhors 0 -- inaba */
+    dst = sv_2mortal(newSV(slen>0?slen:1)); /* newSV() abhors 0 -- inaba */
     if (SvUTF8(src)) {
     /* Already encoded */
     if (strict_utf8(aTHX_ obj)) {
@@ -543,7 +543,7 @@
     }
     SvPOK_only(dst);
     SvUTF8_off(dst);
-    ST(0) = sv_2mortal(dst);
+    ST(0) = dst;
     XSRETURN(1);
 }
 


Property changes on: vendor/perl/dist/cpan/Encode/Encode.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/JP/JP.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/JP/JP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/JP/JP.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 use strict;
 use warnings;
 use Encode;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );


Property changes on: vendor/perl/dist/cpan/Encode/JP/JP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/JP/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/JP/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/JP/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/JP/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/KR/KR.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/KR/KR.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/KR/KR.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 use strict;
 use warnings;
 use Encode;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );
 


Property changes on: vendor/perl/dist/cpan/Encode/KR/KR.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/KR/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/KR/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/KR/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/KR/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/MANIFEST
===================================================================
--- vendor/perl/dist/cpan/Encode/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)
@@ -202,3 +202,4 @@
 ucm/shiftjis.ucm	Unicode Character Map
 ucm/symbol.ucm	Unicode Character Map
 ucm/viscii.ucm	Unicode Character Map
+META.json                                Module JSON meta-data (added by MakeMaker)


Property changes on: vendor/perl/dist/cpan/Encode/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/META.yml
===================================================================
--- vendor/perl/dist/cpan/Encode/META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/META.yml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,20 +1,21 @@
---- #YAML:1.0
-name:               Encode
-version:            2.42
-abstract:           ~
-author:  []
-license:            unknown
-distribution_type:  module
+---
+abstract: unknown
+author:
+  - unknown
+build_requires:
+  ExtUtils::MakeMaker: 0
 configure_requires:
-    ExtUtils::MakeMaker:  0
-build_requires:
-    ExtUtils::MakeMaker:  0
-requires:  {}
+  ExtUtils::MakeMaker: 0
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 6.64, CPAN::Meta::Converter version 2.120921'
+license: perl
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Encode
 no_index:
-    directory:
-        - t
-        - inc
-generated_by:       ExtUtils::MakeMaker version 6.56
-meta-spec:
-    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
-    version:  1.4
+  directory:
+    - t
+    - inc
+requires: {}
+version: 2.49


Property changes on: vendor/perl/dist/cpan/Encode/META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: Makefile.PL,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: Makefile.PL,v 2.10 2013/02/18 02:23:56 dankogai Exp $
 #
 use 5.007003;
 use strict;
@@ -43,8 +43,9 @@
         DIST_DEFAULT => 'all tardist',
     },
     INC         => '-I' . File::Spec->catfile( '.', 'Encode' ),
+    LICENSE     => 'perl',
     PMLIBDIRS   => \@pmlibdirs,
-    INSTALLDIRS => 'perl',
+    INSTALLDIRS => ($] < 5.011 ? 'perl' : 'site'),
 );
 
 package MY;


Property changes on: vendor/perl/dist/cpan/Encode/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/README
===================================================================
--- vendor/perl/dist/cpan/Encode/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/Symbol/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/Symbol/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Symbol/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/Symbol/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Symbol/Symbol.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/Symbol/Symbol.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Symbol/Symbol.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 use strict;
 use warnings;
 use Encode;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );


Property changes on: vendor/perl/dist/cpan/Encode/Symbol/Symbol.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/TW/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/TW/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/TW/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/TW/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/TW/TW.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/TW/TW.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/TW/TW.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 use strict;
 use warnings;
 use Encode;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );
 


Property changes on: vendor/perl/dist/cpan/Encode/TW/TW.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/Unicode/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Encode/Unicode/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Unicode/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/Unicode/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use warnings;
 no warnings 'redefine';
 
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.7 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use XSLoader;
 XSLoader::load( __PACKAGE__, $VERSION );


Property changes on: vendor/perl/dist/cpan/Encode/Unicode/Unicode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs
===================================================================
--- vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 /*
- $Id: Unicode.xs,v 1.1.1.2 2012-03-28 04:40:27 laffer1 Exp $
+ $Id: Unicode.xs,v 2.9 2012/08/05 23:08:49 dankogai Exp $
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -199,10 +199,6 @@
 			  *hv_fetch((HV *)SvRV(obj),"Name",4,0),
 			  ord);
 		}
-		if (s+size <= e) {
-		    /* skip the next one as well */
-		    enc_unpack(aTHX_ &s,e,size,endian);
-		}
 		ord = FBCHAR;
 	    }
 	    else {
@@ -217,12 +213,23 @@
 			ord = FBCHAR;
 		    }
 		}
+		else if (s+size > e) {
+		    if (check) {
+		        if (check & ENCODE_STOP_AT_PARTIAL) {
+		             s -= size;
+		             break;
+		        }
+		        else {
+		             croak("%"SVf":Malformed HI surrogate %"UVxf,
+				   *hv_fetch((HV *)SvRV(obj),"Name",4,0),
+				   ord);
+		        }
+		    }
+		    else {
+		        ord = FBCHAR;
+		    }
+		}
 		else {
-		    if (s+size > e) {
-			/* Partial character */
-			s -= size;   /* back up to 1st half */
-			break;       /* And exit loop */
-		    }
 		    lo = enc_unpack(aTHX_ &s,e,size,endian);
 		    if (!isLoSurrogate(lo)) {
 			if (check) {
@@ -231,6 +238,7 @@
 				  ord);
 			}
 			else {
+			    s -= size;
 			    ord = FBCHAR;
 			}
 		    }
@@ -256,9 +264,9 @@
 	       This prevents allocating too much in the rogue case of a large
 	       input consisting initially of long sequence uft8-byte unicode
 	       chars followed by single utf8-byte chars. */
-	    /* +1
-	       fixes  Unicode.xs!decode_xs n-byte heap-overflow
-	    */
+            /* +1 
+               fixes  Unicode.xs!decode_xs n-byte heap-overflow
+              */
 	    STRLEN remaining = (e - s)/usize + 1; /* +1 to avoid the leak */
 	    STRLEN max_alloc = remaining + (8*1024*1024);
 	    STRLEN est_alloc = remaining * UTF8_MAXLEN;
@@ -348,7 +356,7 @@
 		if (ucs2 == -1) {
 		    ucs2 = SvTRUE(attr("ucs2", 4));
 		}
-		if (ucs2) {
+		if (ucs2 || ord > 0x10FFFF) {
 		    if (check) {
 			croak("%"SVf":code point \"\\x{%"UVxf"}\" too high",
 				  *hv_fetch((HV *)SvRV(obj),"Name",4,0),ord);


Property changes on: vendor/perl/dist/cpan/Encode/Unicode/Unicode.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/bin/enc2xs
===================================================================
--- vendor/perl/dist/cpan/Encode/bin/enc2xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/bin/enc2xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 use Getopt::Std;
 use Config;
 my @orig_ARGV = @ARGV;
-our $VERSION  = do { my @r = (q$Revision: 1.1.1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our $VERSION  = do { my @r = (q$Revision: 2.7 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
 
 # These may get re-ordered.
 # RAW is a do_now as inserted by &enter


Property changes on: vendor/perl/dist/cpan/Encode/bin/enc2xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/bin/piconv
===================================================================
--- vendor/perl/dist/cpan/Encode/bin/piconv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/bin/piconv	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #!./perl
-# $Id: piconv,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: piconv,v 2.4 2009/07/08 13:34:15 dankogai Exp $
 #
 use 5.8.0;
 use strict;


Property changes on: vendor/perl/dist/cpan/Encode/bin/piconv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/bin/ucm2table
===================================================================
--- vendor/perl/dist/cpan/Encode/bin/ucm2table	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/bin/ucm2table	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl
-# $Id: ucm2table,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: ucm2table,v 2.1 2006/05/03 18:24:10 dankogai Exp $
 #
 
 use 5.006;


Property changes on: vendor/perl/dist/cpan/Encode/bin/ucm2table
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/bin/ucmlint
===================================================================
--- vendor/perl/dist/cpan/Encode/bin/ucmlint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/bin/ucmlint	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 #!/usr/local/bin/perl
 #
-# $Id: ucmlint,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: ucmlint,v 2.2 2008/03/12 09:51:11 dankogai Exp $
 #
 
 use strict;
-our  $VERSION = do { my @r = (q$Revision: 1.1.1.1 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
+our  $VERSION = do { my @r = (q$Revision: 2.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
 
 use Getopt::Std;
 our %Opt;


Property changes on: vendor/perl/dist/cpan/Encode/bin/ucmlint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/bin/ucmsort
===================================================================
--- vendor/perl/dist/cpan/Encode/bin/ucmsort	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/bin/ucmsort	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!/usr/local/bin/perl
 #
-# $Id: ucmsort,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: ucmsort,v 2.2 2006/05/03 18:24:10 dankogai Exp $
 #
 use strict;
 my @lines;


Property changes on: vendor/perl/dist/cpan/Encode/bin/ucmsort
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/bin/unidump
===================================================================
--- vendor/perl/dist/cpan/Encode/bin/unidump	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/bin/unidump	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/bin/unidump
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/encengine.c
===================================================================
--- vendor/perl/dist/cpan/Encode/encengine.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/encengine.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/encengine.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/encoding.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/encoding.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/encoding.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-# $Id: encoding.pm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: encoding.pm,v 2.11 2013/02/18 02:23:56 dankogai Exp $
 package encoding;
 our $VERSION = '2.6_01';
 
@@ -6,7 +6,7 @@
 use strict;
 use warnings;
 
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 
 BEGIN {
     if ( ord("A") == 193 ) {
@@ -102,8 +102,16 @@
 }
 
 sub import {
+    if ($] >= 5.017) {
+	warnings::warnif("deprecated",
+			 "Use of the encoding pragma is deprecated")
+    }
     my $class = shift;
     my $name  = shift;
+    if (!$name){
+	require Carp;
+        Carp::croak("encoding: no encoding specified.");
+    }
     if ( $name eq ':_get_locale_encoding' ) {    # used by lib/open.pm
         my $caller = caller();
         {
@@ -199,6 +207,12 @@
 
 encoding - allows you to write your script in non-ascii or non-utf8
 
+=head1 WARNING
+
+This module is deprecated under perl 5.18.  It uses a mechanism provided by
+perl that is deprecated under 5.18 and higher, and may be removed in a
+future version.
+
 =head1 SYNOPSIS
 
   use encoding "greek";  # Perl like Greek to you?


Property changes on: vendor/perl/dist/cpan/Encode/encoding.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,8 +2,8 @@
 use strict;
 use warnings;
 no warnings 'redefine';
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
-sub DEBUG () { 0 }
+our $VERSION = do { my @r = ( q$Revision: 2.16 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 
 use base qw(Exporter);
 
@@ -206,10 +206,11 @@
     # Mac Mappings
     # predefined in *.ucm; unneeded
     # define_alias( qr/\bmacIcelandic$/i => '"macIceland"');
-    define_alias( qr/^mac_(.*)$/i => '"mac$1"' );
+    define_alias( qr/^(?:x[_-])?mac[_-](.*)$/i => '"mac$1"' );
     # http://rt.cpan.org/Ticket/Display.html?id=36326
     define_alias( qr/^macintosh$/i => '"MacRoman"' );
-
+    # https://rt.cpan.org/Ticket/Display.html?id=78125
+    define_alias( qr/^macce$/i => '"MacCentralEurRoman"' );
     # Ououououou. gone.  They are differente!
     # define_alias( qr/\bmacRomanian$/i => '"macRumanian"');
 


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/Alias.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/CJKConstants.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/CJKConstants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/CJKConstants.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: CJKConstants.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: CJKConstants.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $
 #
 
 package Encode::CJKConstants;
@@ -6,8 +6,8 @@
 
 use strict;
 use warnings;
-our $RCSID = q$Id: CJKConstants.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $RCSID = q$Id: CJKConstants.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $;
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Carp;
 


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/CJKConstants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use utf8 ();
 
 use vars qw($VERSION);
-$VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+$VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
 


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/CN/HZ.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Config.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 # Demand-load module list
 #
 package Encode::Config;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Encoder.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Encoder.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Encoder.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 #
-# $Id: Encoder.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: Encoder.pm,v 2.2 2011/08/09 07:49:44 dankogai Exp $
 #
 package Encode::Encoder;
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 require Exporter;
 our @ISA       = qw(Exporter);
@@ -11,7 +11,7 @@
 our @EXPORT_OK = qw ( encoder );
 
 our $AUTOLOAD;
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 use Encode qw(encode decode find_encoding from_to);
 use Carp;
 


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/Encoder.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 # Base class for classes which implement encodings
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 require Encode;
 


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/Encoding.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: GSM0338.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: GSM0338.pm,v 2.2 2012/08/15 05:36:16 dankogai Exp $
 #
 package Encode::GSM0338;
 
@@ -8,7 +8,7 @@
 use Carp;
 
 use vars qw($VERSION);
-$VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+$VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
 
@@ -138,7 +138,8 @@
     "\x{00E4}" => "\x7B",        # LATIN SMALL LETTER A WITH DIAERESIS
     "\x{00E5}" => "\x0F",        # LATIN SMALL LETTER A WITH RING ABOVE
     "\x{00E6}" => "\x1D",        # LATIN SMALL LETTER AE
-    "\x{00E7}" => "\x09",        # LATIN SMALL LETTER C WITH CEDILLA
+    #"\x{00E7}" => "\x09",        # LATIN SMALL LETTER C WITH CEDILLA
+    "\x{00C7}" => "\x09",        # LATIN CAPITAL LETTER C WITH CEDILLA
     "\x{00E8}" => "\x04",        # LATIN SMALL LETTER E WITH GRAVE
     "\x{00E9}" => "\x05",        # LATIN SMALL LETTER E WITH ACUTE
     "\x{00EC}" => "\x07",        # LATIN SMALL LETTER I WITH GRAVE


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/GSM0338.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,10 +2,10 @@
 use strict;
 use warnings;
 use Encode qw(:fallbacks find_encoding);
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.5 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 my $Canon = 'Guess';
-sub DEBUG () { 0 }
+use constant DEBUG => !!$ENV{PERL_ENCODE_DEBUG};
 our %DEF_SUSPECTS = map { $_ => find_encoding($_) } qw(ascii utf8);
 $Encode::Encoding{$Canon} = bless {
     Name     => $Canon,


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/Guess.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/JP/H2Z.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/JP/H2Z.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/JP/H2Z.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: H2Z.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: H2Z.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $
 #
 
 package Encode::JP::H2Z;
@@ -7,8 +7,8 @@
 use strict;
 use warnings;
 
-our $RCSID = q$Id: H2Z.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $RCSID = q$Id: H2Z.pm,v 2.2 2006/06/03 20:28:48 dankogai Exp $;
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode::CJKConstants qw(:all);
 


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/JP/H2Z.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package Encode::JP::JIS7;
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.4 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
 


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/JP/JIS7.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package Encode::KR::2022_KR;
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.2 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 use Encode qw(:fallbacks);
 


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/KR/2022_KR.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 
 use Encode::CJKConstants qw(%RE);
 
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 1.3 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 # I owe the below codes totally to
 #   Jcode by Dan Kogai & http://www.din.or.jp/~ohzaki/perl.htm#JP_Base64


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use warnings;
 no warnings 'redefine';
 
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.13 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use Encode qw(find_encoding encode_utf8 decode_utf8);
 use MIME::Base64;
 use Carp;


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Header.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package Encode::MIME::Name;
 use strict;
 use warnings;
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 
 our %MIME_NAME_OF = (
     'AdobeStandardEncoding' => 'Adobe-Standard-Encoding',


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/MIME/Name.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/lib/Encode/PerlIO.pod
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/PerlIO.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/PerlIO.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/PerlIO.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Supported.pod
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Supported.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Supported.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -94,7 +94,7 @@
 see L<Encode::Unicode>. 
 
 UTF-7 is a special encoding which "re-encodes" UTF-16BE into a 7-bit
-encoding.  It is implemented seperately by Encode::Unicode::UTF7.
+encoding.  It is implemented separately by Encode::Unicode::UTF7.
 
 =head2 Encode::Byte -- Extended ASCII
 
@@ -420,7 +420,7 @@
 =item (Mac) Indic encodings
 
 The maps for the following are available at L<http://www.unicode.org/>
-but remain unsupport because those encodings need algorithmical
+but remain unsupported because those encodings need an algorithmical
 approach, currently unsupported by F<enc2xs>:
 
   MacDevanagari


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/Supported.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: UTF7.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: UTF7.pm,v 2.6 2012/08/05 23:08:49 dankogai Exp $
 #
 package Encode::Unicode::UTF7;
 use strict;
@@ -7,7 +7,7 @@
 no warnings 'redefine';
 use base qw(Encode::Encoding);
 __PACKAGE__->Define('UTF-7');
-our $VERSION = do { my @r = ( q$Revision: 1.1.1.1 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
+our $VERSION = do { my @r = ( q$Revision: 2.6 $ =~ /\d+/g ); sprintf "%d." . "%02d" x $#r, @r };
 use MIME::Base64;
 use Encode;
 
@@ -62,6 +62,7 @@
     my ( $obj, $bytes, $chk ) = @_;
     my $len = length($bytes);
     my $str = "";
+    pos($bytes) = 0;
     no warnings 'uninitialized';
     while ( pos($bytes) < $len ) {
         if ( $bytes =~ /\G([^+]+)/ogc ) {


Property changes on: vendor/perl/dist/cpan/Encode/lib/Encode/Unicode/UTF7.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/Aliases.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/Aliases.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/Aliases.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/Aliases.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/CJKT.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/CJKT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/CJKT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/CJKT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/Encode.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/Encode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/Encode.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,7 +25,7 @@
 my @source = qw(ascii iso8859-1 cp1250);
 my @destiny = qw(cp1047 cp37 posix-bc);
 my @ebcdic_sets = qw(cp1047 cp37 posix-bc);
-plan test => 38+$n*@encodings + 2*@source*@destiny*@character_set + 2*@ebcdic_sets*256 + 6 + 2;
+plan test => 38+$n*@encodings + 2*@source*@destiny*@character_set + 2*@ebcdic_sets*256 + 6 + 4;
 my $str = join('',map(chr($_),0x20..0x7E));
 my $cpy = $str;
 ok(length($str),from_to($cpy,'iso8859-1','Unicode'),"Length Wrong");
@@ -149,3 +149,14 @@
 package main;
 ok(decode(latin1 => Encode::Dummy->new("foobar")), "foobar");
 ok(encode(utf8   => Encode::Dummy->new("foobar")), "foobar");
+
+# hash keys
+my $key = (keys %{{ "whatever\x{100}" => '' }})[0];
+my $kopy = $key;
+encode("UTF-16LE", $kopy, Encode::FB_CROAK);
+ok $key, "whatever\x{100}", 'encode with shared hash key scalars';
+undef $key;
+$key = (keys %{{ "whatever" => '' }})[0];
+$kopy = $key;
+decode("UTF-16LE", $kopy, Encode::FB_CROAK);
+ok $key, "whatever", 'decode with shared hash key scalars';


Property changes on: vendor/perl/dist/cpan/Encode/t/Encode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/Encoder.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/Encoder.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/Encoder.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: Encoder.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: Encoder.t,v 2.0 2004/05/16 20:55:17 dankogai Exp $
 #
 
 BEGIN {


Property changes on: vendor/perl/dist/cpan/Encode/t/Encoder.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/Mod_EUCJP.pm
===================================================================
--- vendor/perl/dist/cpan/Encode/t/Mod_EUCJP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/Mod_EUCJP.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,7 @@
-# $Id: Mod_EUCJP.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: Mod_EUCJP.pm,v 2.1 2013/02/18 02:23:56 dankogai Exp $
 # This file is in euc-jp
 package Mod_EUCJP;
+no warnings "deprecated";
 use encoding "euc-jp";
 sub new {
   my $class = shift;


Property changes on: vendor/perl/dist/cpan/Encode/t/Mod_EUCJP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/Unicode.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/Unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/Unicode.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: Unicode.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: Unicode.t,v 2.3 2012/08/05 23:08:49 dankogai Exp $
 #
 # This script is written entirely in ASCII, even though quoted literals
 # do include non-BMP unicode characters -- Are you happy, jhi?
@@ -20,7 +20,7 @@
 
 use strict;
 #use Test::More 'no_plan';
-use Test::More tests => 38;
+use Test::More tests => 56;
 use Encode qw(encode decode find_encoding);
 
 #
@@ -30,7 +30,7 @@
 
 my $dankogai   = "\x{5c0f}\x{98fc}\x{3000}\x{5f3e}";
 my $nasty      = "$dankogai\x{1abcd}";
-my $fallback   = "$dankogai\x{fffd}";
+my $fallback   = "$dankogai\x{fffd}\x{fffd}";
 
 #hi: (0x1abcd - 0x10000) / 0x400 + 0xD800 = 0xd82a
 #lo: (0x1abcd - 0x10000) % 0x400 + 0xDC00 = 0xdfcd
@@ -85,6 +85,50 @@
 eval { encode('UCS-2LE', $nasty, 1) }; 
 is(index($@, 'UCS-2LE'), 0, "encode UCS-2LE: exception");
 
+{
+    my %tests = (
+        'UCS-2BE'  => 'n*',
+        'UCS-2LE'  => 'v*',
+        'UTF-16BE' => 'n*',
+        'UTF-16LE' => 'v*',
+        'UTF-32BE' => 'N*',
+        'UTF-32LE' => 'V*',
+    );
+
+    while (my ($enc, $pack) = each(%tests)) {
+        is(decode($enc, pack($pack, 0xD800, 0x263A)), "\x{FFFD}\x{263A}",
+          "decode $enc (HI surrogate followed by WHITE SMILING FACE)");
+        is(decode($enc, pack($pack, 0xDC00, 0x263A)), "\x{FFFD}\x{263A}", 
+          "decode $enc (LO surrogate followed by WHITE SMILING FACE)");
+    }
+}
+
+{
+    my %tests = (
+        'UTF-16BE' => 'n*',
+        'UTF-16LE' => 'v*',
+    );
+
+    while (my ($enc, $pack) = each(%tests)) {
+        is(decode($enc, pack($pack, 0xD800)), "\x{FFFD}",
+          "decode $enc (HI surrogate)");
+        is(decode($enc, pack($pack, 0x263A, 0xD800)), "\x{263A}\x{FFFD}",
+          "decode $enc (WHITE SMILING FACE followed by HI surrogate)");
+    }
+}
+
+{
+    my %tests = (
+        'UTF-16BE' => 'n*',
+        'UTF-16LE' => 'v*',
+    );
+
+    while (my ($enc, $pack) = each(%tests)) {
+        is(encode($enc, "\x{110000}"), pack($pack, 0xFFFD), 
+          "ordinals greater than U+10FFFF is replaced with U+FFFD");
+    }
+}
+
 #
 # SvGROW test for (en|de)code_xs
 #


Property changes on: vendor/perl/dist/cpan/Encode/t/Unicode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/at-cn.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/at-cn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/at-cn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/at-cn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/at-tw.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/at-tw.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/at-tw.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/at-tw.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/big5-eten.enc
===================================================================
--- vendor/perl/dist/cpan/Encode/t/big5-eten.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/big5-eten.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/big5-eten.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/big5-eten.utf
===================================================================
--- vendor/perl/dist/cpan/Encode/t/big5-eten.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/big5-eten.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/big5-eten.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/big5-hkscs.enc
===================================================================
--- vendor/perl/dist/cpan/Encode/t/big5-hkscs.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/big5-hkscs.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/big5-hkscs.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/big5-hkscs.utf
===================================================================
--- vendor/perl/dist/cpan/Encode/t/big5-hkscs.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/big5-hkscs.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/big5-hkscs.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/enc_data.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/enc_data.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-# $Id: enc_data.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: enc_data.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 
 BEGIN {
     require Config; import Config;
@@ -22,6 +22,7 @@
 
 
 use strict;
+no warnings "deprecated";
 use encoding 'euc-jp';
 use Test::More tests => 4;
 


Property changes on: vendor/perl/dist/cpan/Encode/t/enc_data.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/enc_eucjp.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_eucjp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/enc_eucjp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-# $Id: enc_eucjp.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: enc_eucjp.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 # This is the twin of enc_utf8.t .
 
 BEGIN {
@@ -21,6 +21,7 @@
     }
 }
 
+no warnings "deprecated";
 use encoding 'euc-jp';
 
 my @c = (127, 128, 255, 256);


Property changes on: vendor/perl/dist/cpan/Encode/t/enc_eucjp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/enc_module.enc
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_module.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/enc_module.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/enc_module.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/enc_module.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_module.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/enc_module.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-# $Id: enc_module.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: enc_module.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 # This file is in euc-jp
 BEGIN {
     require Config; import Config;
@@ -21,6 +21,7 @@
 }
 use lib qw(t ext/Encode/t ../ext/Encode/t); # latter 2 for perl core
 use Mod_EUCJP;
+no warnings "deprecated";
 use encoding "euc-jp";
 use Test::More tests => 3;
 use File::Basename;


Property changes on: vendor/perl/dist/cpan/Encode/t/enc_module.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/enc_utf8.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/enc_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/enc_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-# $Id: enc_utf8.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: enc_utf8.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 # This is the twin of enc_eucjp.t .
 
 BEGIN {
@@ -17,6 +17,7 @@
     }
 }
 
+no warnings "deprecated";
 use encoding 'utf8';
 
 my @c = (127, 128, 255, 256);


Property changes on: vendor/perl/dist/cpan/Encode/t/enc_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/encoding.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/encoding.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,6 +16,7 @@
 
 print "1..31\n";
 
+no warnings "deprecated";
 use encoding "latin1"; # ignored (overwritten by the next line)
 use encoding "greek";  # iso 8859-7 (no "latin" alias, surprise...)
 


Property changes on: vendor/perl/dist/cpan/Encode/t/encoding.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/fallback.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/fallback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/fallback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/fallback.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/from_to.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/from_to.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/from_to.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-# $Id: from_to.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: from_to.t,v 1.1 2006/01/15 15:06:36 dankogai Exp $
 use strict;
 use Test::More tests => 3;
 use Encode qw(encode from_to);


Property changes on: vendor/perl/dist/cpan/Encode/t/from_to.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/gb2312.enc
===================================================================
--- vendor/perl/dist/cpan/Encode/t/gb2312.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/gb2312.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/gb2312.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/gb2312.utf
===================================================================
--- vendor/perl/dist/cpan/Encode/t/gb2312.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/gb2312.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/gb2312.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/grow.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/grow.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/grow.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/grow.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/gsm0338.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/gsm0338.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/gsm0338.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
 
 use strict;
 use utf8;
-use Test::More tests => 778;
+use Test::More tests => 780;
 use Encode;
 use Encode::GSM0338;
 
@@ -87,6 +87,10 @@
     }
 }
 
+# https://rt.cpan.org/Ticket/Display.html?id=75670
+is decode("gsm0338", "\x09") => chr(0xC7), 'RT75670: decode';
+is encode("gsm0338", chr(0xC7)) => "\x09", 'RT75670: encode';
+
 __END__
 for my $c (map { chr } 0..127){
     my $b = "\x1b$c";


Property changes on: vendor/perl/dist/cpan/Encode/t/gsm0338.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/guess.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/guess.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/guess.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/guess.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/jis7-fallback.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jis7-fallback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/jis7-fallback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/jis7-fallback.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/jisx0201.enc
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jisx0201.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/jisx0201.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/jisx0201.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/jisx0201.utf
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jisx0201.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/jisx0201.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/jisx0201.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/jisx0208.enc
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jisx0208.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/jisx0208.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/jisx0208.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/jisx0208.utf
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jisx0208.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/jisx0208.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/jisx0208.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/jisx0212.enc
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jisx0212.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/jisx0212.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/jisx0212.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/jisx0212.utf
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jisx0212.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/jisx0212.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/jisx0212.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/jperl.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/jperl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/jperl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: jperl.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: jperl.t,v 2.2 2013/02/18 02:23:56 dankogai Exp $
 #
 # This script is written in euc-jp
 
@@ -27,6 +27,7 @@
 use Test::More tests => 15; # black magic tests commented out
 my $Debug = shift;
 
+no warnings "deprecated";
 no encoding; # ensure
 my $Enamae = "\xbe\xae\xbb\xf4\x20\xc3\xc6"; # euc-jp, with \x escapes
 use encoding "euc-jp";


Property changes on: vendor/perl/dist/cpan/Encode/t/jperl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/ksc5601.enc
===================================================================
--- vendor/perl/dist/cpan/Encode/t/ksc5601.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/ksc5601.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/ksc5601.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/ksc5601.utf
===================================================================
--- vendor/perl/dist/cpan/Encode/t/ksc5601.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/ksc5601.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/ksc5601.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/mime-header.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/mime-header.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/mime-header.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: mime-header.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: mime-header.t,v 2.5 2010/09/18 18:39:51 dankogai Exp $
 # This script is written in utf8
 #
 BEGIN {


Property changes on: vendor/perl/dist/cpan/Encode/t/mime-header.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/mime-name.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/mime-name.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/mime-name.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: mime-name.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: mime-name.t,v 1.1 2007/05/12 06:42:19 dankogai Exp $
 # This script is written in utf8
 #
 BEGIN {


Property changes on: vendor/perl/dist/cpan/Encode/t/mime-name.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/mime_header_iso2022jp.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/mime_header_iso2022jp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/mime_header_iso2022jp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/mime_header_iso2022jp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/perlio.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/perlio.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/perlio.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/perlio.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/piconv.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/piconv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/piconv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: piconv.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: piconv.t,v 0.4 2013/02/18 02:23:56 dankogai Exp $
 #
 
 BEGIN {
@@ -27,8 +27,8 @@
 
 my $blib =
   File::Spec->rel2abs(
-    File::Spec->catdir( $FindBin::RealBin, File::Spec->updir, 'blib' ) );
-my $script = File::Spec->catdir($blib, 'script', 'piconv');
+    File::Spec->catdir( $FindBin::RealBin, File::Spec->updir ) );
+my $script = File::Spec->catdir($blib, 'bin', 'piconv');
 my @base_cmd = ( $^X, "-Mblib=$blib", $script );
 
 plan tests => 5;


Property changes on: vendor/perl/dist/cpan/Encode/t/piconv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/rt.pl
===================================================================
--- vendor/perl/dist/cpan/Encode/t/rt.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/rt.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!/usr/local/bin/perl
 #
-# $Id: rt.pl,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: rt.pl,v 2.1 2006/05/03 18:24:10 dankogai Exp $
 #
 
 BEGIN {


Property changes on: vendor/perl/dist/cpan/Encode/t/rt.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/unibench.pl
===================================================================
--- vendor/perl/dist/cpan/Encode/t/unibench.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/unibench.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/unibench.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/t/utf8ref.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/utf8ref.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/utf8ref.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: utf8ref.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: utf8ref.t,v 1.1 2010/09/18 18:39:51 dankogai Exp $
 #
 
 use strict;


Property changes on: vendor/perl/dist/cpan/Encode/t/utf8ref.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Encode/t/utf8strict.t
===================================================================
--- vendor/perl/dist/cpan/Encode/t/utf8strict.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/t/utf8strict.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Encode/t/utf8strict.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-1.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-1.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-1.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-1.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-1.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-1.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-1.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-10.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-10.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-10.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-10.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: 8859-10.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-10.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-11.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-11.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-11.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-11.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-11.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-11.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-11.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-13.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-13.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-13.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-13.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-13.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-13.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-14.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-14.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-14.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-14.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-14.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-14.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-15.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-15.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-15.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-15.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-15.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-15.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-15.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-16.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-16.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-16.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-16.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: 8859-16.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-16.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-2.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-2.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-2.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-2.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-2.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-2.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-2.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-3.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-3.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-3.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-3.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-3.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-3.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-4.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-4.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-4.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-4.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-4.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-4.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-5.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-5.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-5.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-5.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-5.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-5.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-6.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-6.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-6.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-6.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-6.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-6.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-7.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-7.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-7.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-7.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-7.ucm,v 2.1 2005/09/08 14:17:17 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-7.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-8.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-8.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-8.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-8.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: 8859-8.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-8.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/8859-9.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/8859-9.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/8859-9.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: 8859-9.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: 8859-9.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/8859-9.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/adobeStdenc.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/adobeStdenc.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/adobeStdenc.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 ##
-# $Id: adobeStdenc.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: adobeStdenc.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/stdenc.txt


Property changes on: vendor/perl/dist/cpan/Encode/ucm/adobeStdenc.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/adobeSymbol.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/adobeSymbol.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/adobeSymbol.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: adobeSymbol.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: adobeSymbol.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/symbol.txt


Property changes on: vendor/perl/dist/cpan/Encode/ucm/adobeSymbol.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/adobeZdingbat.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/adobeZdingbat.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/adobeZdingbat.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: adobeZdingbat.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: adobeZdingbat.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/ADOBE/zdingbat.txt


Property changes on: vendor/perl/dist/cpan/Encode/ucm/adobeZdingbat.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/ascii.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/ascii.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/ascii.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: ascii.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: ascii.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 <code_set_name>  "ascii"
 <code_set_alias> "US-ascii"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/ascii.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/big5-eten.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/big5-eten.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/big5-eten.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: big5-eten.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: big5-eten.ucm,v 2.0 2004/05/16 20:55:19 dankogai Exp $
 #
 # ./compile -n big5-eten -o Encode/big5-eten.ucm Encode/big5-eten.enc
 <code_set_name> "big5-eten"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/big5-eten.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/big5-hkscs.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/big5-hkscs.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/big5-hkscs.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: big5-hkscs.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: big5-hkscs.ucm,v 2.1 2004/08/31 10:55:34 dankogai Exp $
 #
 <code_set_name> "big5-hkscs"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/big5-hkscs.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp037.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp037.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp037.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp037.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp037.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP037.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp037.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1006.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1006.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1006.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1006.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: cp1006.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP1006.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1006.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1026.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1026.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1026.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1026.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp1026.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP1026.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1026.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1047.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1047.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1047.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1047.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: cp1047.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # compile -n cp1047 -o Encode/cp1047.ucm Encode/cp1047.enc
 <code_set_name> "cp1047"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1047.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1250.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1250.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1250.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1250.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp1250.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1250.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1250.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1251.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1251.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1251.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1251.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp1251.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1251.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1251.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1252.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1252.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1252.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1252.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp1252.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1252.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1252.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1253.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1253.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1253.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1253.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp1253.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1253.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1254.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1254.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1254.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1254.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp1254.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1254.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1255.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1255.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1255.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1255.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp1255.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1255.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1256.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1256.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1256.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1256.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: cp1256.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1256.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1257.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1257.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1257.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1257.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: cp1257.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1257.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp1258.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp1258.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp1258.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp1258.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp1258.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp1258.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp424.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp424.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp424.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp424.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp424.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP424.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp424.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp437.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp437.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp437.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp437.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: cp437.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP437.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp437.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp500.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp500.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp500.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp500.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp500.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP500.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp500.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp737.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp737.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp737.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp737.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp737.ucm,v 2.0 2004/05/16 20:55:20 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP737.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp737.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp775.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp775.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp775.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp775.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp775.ucm,v 2.0 2004/05/16 20:55:21 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP775.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp775.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp850.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp850.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp850.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp850.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: cp850.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP850.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp850.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp852.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp852.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp852.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp852.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp852.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP852.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp852.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp855.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp855.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp855.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp855.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp855.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP855.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp855.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp856.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp856.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp856.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp856.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp856.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/CP856.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp856.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp857.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp857.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp857.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp857.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp857.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP857.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp857.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp858.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp858.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp858.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp858.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp858.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # cf. http://en.wikipedia.org/wiki/Code_page_858
 #


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp858.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp860.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp860.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp860.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp860.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp860.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP860.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp860.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp861.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp861.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp861.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp861.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp861.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP861.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp861.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp862.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp862.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp862.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp862.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp862.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP862.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp862.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp863.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp863.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp863.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp863.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp863.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP863.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp863.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp864.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp864.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp864.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp864.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp864.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP864.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp864.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp865.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp865.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp865.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp865.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: cp865.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP865.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp865.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp866.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp866.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp866.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp866.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp866.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP866.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp866.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp869.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp869.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp869.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp869.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp869.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/CP869.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp869.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp874.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp874.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp874.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp874.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp874.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp874.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp875.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp875.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp875.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp875.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp875.ucm,v 1.1 2008/05/07 20:56:05 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/EBCDIC/CP875.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp875.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp932.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp932.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp932.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp932.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp932.ucm,v 2.0 2004/05/16 20:55:21 dankogai Exp $
 #
 # Original table can be obtained at
 # http://oss.software.ibm.com/cvs/icu/charset/data/ucm/windows-932-2000.ucm


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp932.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp936.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp936.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp936.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp936.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp936.ucm,v 2.0 2004/05/16 20:55:21 dankogai Exp $
 #
 # Original table can be obtained at
 # http://oss.software.ibm.com/cvs/icu/charset/data/ucm/windows-936-2000.ucm


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp936.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp949.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp949.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp949.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp949.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp949.ucm,v 2.0 2004/05/16 20:55:22 dankogai Exp $
 #
 # Original table can be obtained at
 # http://oss.software.ibm.com/cvs/icu/charset/data/ucm/windows-949-2000.ucm


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp949.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/cp950.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/cp950.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/cp950.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: cp950.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: cp950.ucm,v 2.0 2004/05/16 20:55:22 dankogai Exp $
 #
 # Original table can be obtained at
 # http://oss.software.ibm.com/cvs/icu/charset/data/ucm/windows-950-2000.ucm


Property changes on: vendor/perl/dist/cpan/Encode/ucm/cp950.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/ctrl.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/ctrl.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/ctrl.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: ctrl.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: ctrl.ucm,v 2.0 2004/05/16 20:55:23 dankogai Exp $
 #
 <code_set_name>  "ascii-ctrl"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/ctrl.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/dingbats.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/dingbats.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/dingbats.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: dingbats.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: dingbats.ucm,v 2.0 2004/05/16 20:55:23 dankogai Exp $
 #
 <code_set_name> "dingbats"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/dingbats.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/euc-cn.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/euc-cn.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/euc-cn.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: euc-cn.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: euc-cn.ucm,v 2.0 2004/05/16 20:55:23 dankogai Exp $
 #
 # ./compile -n euc-cn -o Encode/euc-cn.ucm Encode/euc-cn.enc
 <code_set_name> "euc-cn"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/euc-cn.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/euc-jp.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/euc-jp.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/euc-jp.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: euc-jp.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: euc-jp.ucm,v 2.0 2004/05/16 20:55:23 dankogai Exp $
 #
 <code_set_name> "euc-jp"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/euc-jp.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/euc-kr.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/euc-kr.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/euc-kr.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: euc-kr.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: euc-kr.ucm,v 2.0 2004/05/16 20:55:24 dankogai Exp $
 #
 # ./compile -n euc-kr -o Encode/euc-kr.ucm Encode/euc-kr.enc
 <code_set_name> "euc-kr"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/euc-kr.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/gb12345.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/gb12345.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/gb12345.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: gb12345.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: gb12345.ucm,v 2.0 2004/05/16 20:55:24 dankogai Exp $
 #
 # ./compile -n gb12345 -o Encode/gb12345.ucm Encode/gb12345.enc
 #


Property changes on: vendor/perl/dist/cpan/Encode/ucm/gb12345.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/gb2312.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/gb2312.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/gb2312.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: gb2312.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: gb2312.ucm,v 2.0 2004/05/16 20:55:24 dankogai Exp $
 #
 # ./compile -n gb2312 -o Encode/gb2312.ucm Encode/gb2312.enc
 #


Property changes on: vendor/perl/dist/cpan/Encode/ucm/gb2312.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/hp-roman8.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/hp-roman8.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/hp-roman8.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #
-# $Id: hp-roman8.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: hp-roman8.ucm,v 2.0 2004/05/16 20:55:24 dankogai Exp $
 #
-# Written $Id: hp-roman8.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# Written $Id: hp-roman8.ucm,v 2.0 2004/05/16 20:55:24 dankogai Exp $
 # ./compile -n roman8 -o Encode/roman8.ucm Encode/roman8.enc
 <code_set_name> "hp-roman8"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/hp-roman8.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/ir-165.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/ir-165.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/ir-165.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: ir-165.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: ir-165.ucm,v 2.0 2004/05/16 20:55:25 dankogai Exp $
 #
 # ./compile -n iso-ir-165 -o Encode/iso-ir-165.ucm Encode/iso-ir-165.enc
 <code_set_name> "iso-ir-165"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/ir-165.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/jis0201.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/jis0201.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/jis0201.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: jis0201.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: jis0201.ucm,v 2.0 2004/05/16 20:55:25 dankogai Exp $
 #
 <code_set_name>  "jis0201-raw"
 <code_set_alias> "jis0201"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/jis0201.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/jis0208.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/jis0208.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/jis0208.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: jis0208.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: jis0208.ucm,v 2.0 2004/05/16 20:55:25 dankogai Exp $
 #
 <code_set_name>  "jis0208-raw"
 <code_set_alias> "jis0208"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/jis0208.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/jis0212.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/jis0212.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/jis0212.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: jis0212.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: jis0212.ucm,v 2.0 2004/05/16 20:55:25 dankogai Exp $
 #
 <code_set_name>  "jis0212-raw"
 <code_set_alias> "jis0212"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/jis0212.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/johab.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/johab.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/johab.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: johab.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: johab.ucm,v 2.0 2004/05/16 20:55:25 dankogai Exp $
 #
 # ./compile -o johab.ucm johab.enc
 <code_set_name> "johab"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/johab.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/koi8-f.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/koi8-f.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/koi8-f.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #
-# $Id: koi8-f.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: koi8-f.ucm,v 2.0 2004/05/16 20:55:26 dankogai Exp $
 #
-# Written $Id: koi8-f.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# Written $Id: koi8-f.ucm,v 2.0 2004/05/16 20:55:26 dankogai Exp $
 # ./compile -n koi8-f -o Encode/koi8-f.ucm Encode/koi8-f.enc
 <code_set_name> "koi8-f"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/koi8-f.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/koi8-r.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/koi8-r.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/koi8-r.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: koi8-r.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: koi8-r.ucm,v 2.0 2004/05/16 20:55:26 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/MISC/KOI8-R.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/koi8-r.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/koi8-u.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/koi8-u.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/koi8-u.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #
-# $Id: koi8-u.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: koi8-u.ucm,v 2.0 2004/05/16 20:55:26 dankogai Exp $
 #
-# Written $Id: koi8-u.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# Written $Id: koi8-u.ucm,v 2.0 2004/05/16 20:55:26 dankogai Exp $
 # ./compile -n koi8-u -o Encode/koi8-u.ucm Encode/koi8-u.enc
 <code_set_name> "koi8-u"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/koi8-u.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/ksc5601.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/ksc5601.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/ksc5601.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: ksc5601.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: ksc5601.ucm,v 2.0 2004/05/16 20:55:26 dankogai Exp $
 #
 # ./compile -n ksc5601 -o Encode/ksc5601.ucm Encode/ksc5601.enc
 <code_set_name> "ksc5601-raw"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/ksc5601.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macArabic.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macArabic.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macArabic.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macArabic.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macArabic.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ARABIC.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macArabic.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macCentEuro.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macCentEuro.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macCentEuro.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macCentEuro.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macCentEuro.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CENTEURO.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macCentEuro.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macChinsimp.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macChinsimp.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macChinsimp.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macChinsimp.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macChinsimp.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CHINSIMP.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macChinsimp.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macChintrad.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macChintrad.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macChintrad.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macChintrad.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macChintrad.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CHINTRAD.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macChintrad.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macCroatian.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macCroatian.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macCroatian.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macCroatian.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macCroatian.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CROATIAN.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macCroatian.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macCyrillic.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macCyrillic.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macCyrillic.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macCyrillic.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macCyrillic.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/CYRILLIC.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macCyrillic.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macDingbats.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macDingbats.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macDingbats.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macDingbats.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macDingbats.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/DINGBATS.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macDingbats.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macFarsi.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macFarsi.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macFarsi.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macFarsi.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macFarsi.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/FARSI.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macFarsi.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macGreek.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macGreek.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macGreek.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macGreek.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macGreek.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/GREEK.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macGreek.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macHebrew.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macHebrew.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macHebrew.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macHebrew.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macHebrew.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/HEBREW.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macHebrew.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macIceland.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macIceland.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macIceland.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macIceland.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macIceland.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ICELAND.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macIceland.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macJapanese.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macJapanese.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macJapanese.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macJapanese.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macJapanese.ucm,v 2.1 2008/03/12 09:51:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/JAPANESE.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macJapanese.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macKorean.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macKorean.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macKorean.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macKorean.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macKorean.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/KOREAN.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macKorean.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macROMnn.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macROMnn.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macROMnn.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macROMnn.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macROMnn.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMANIAN.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macROMnn.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macRUMnn.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macRUMnn.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macRUMnn.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macRUMnn.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: macRUMnn.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # ./compile -n macRumanian -o Encode/macRumanian.ucm Encode/macRumanian.enc
 <code_set_name> "MacRumanian"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macRUMnn.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macRoman.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macRoman.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macRoman.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macRoman.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: macRoman.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macRoman.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macSami.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macSami.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macSami.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macSami.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macSami.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # ./compile -n macSami -o Encode/macSami.ucm Encode/macSami.enc
 <code_set_name> "MacSami"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macSami.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macSymbol.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macSymbol.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macSymbol.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macSymbol.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: macSymbol.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/SYMBOL.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macSymbol.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macThai.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macThai.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macThai.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macThai.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: macThai.ucm,v 2.1 2004/10/22 06:23:11 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/THAI.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macThai.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macTurkish.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macTurkish.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macTurkish.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macTurkish.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macTurkish.ucm,v 2.0 2004/05/16 20:55:27 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/TURKISH.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macTurkish.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/macUkraine.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/macUkraine.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/macUkraine.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: macUkraine.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: macUkraine.ucm,v 2.0 2004/05/16 20:55:28 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/UKRAINE.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/macUkraine.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/nextstep.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/nextstep.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/nextstep.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: nextstep.ucm,v 1.1.1.1 2011-05-18 13:33:27 laffer1 Exp $
+# $Id: nextstep.ucm,v 2.1 2010/09/18 18:39:51 dankogai Exp $
 #
 # Original table can be obtained at
 # http://www.unicode.org/Public/MAPPINGS/VENDORS/NEXT/NEXTSTEP.TXT


Property changes on: vendor/perl/dist/cpan/Encode/ucm/nextstep.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/null.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/null.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/null.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: null.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: null.ucm,v 2.0 2004/05/16 20:55:28 dankogai Exp $
 #
 <code_set_name>  "null"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/null.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/posix-bc.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/posix-bc.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/posix-bc.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: posix-bc.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: posix-bc.ucm,v 2.0 2004/05/16 20:55:28 dankogai Exp $
 #
 # compile -n posix-bc -o Encode/posix-bc.ucm Encode/posix-bc.enc
 <code_set_name> "posix-bc"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/posix-bc.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/shiftjis.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/shiftjis.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/shiftjis.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: shiftjis.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: shiftjis.ucm,v 2.0 2004/05/16 20:55:28 dankogai Exp $
 #
 # ./compile -n shiftjis -o Encode/shiftjis.ucm Encode/shiftjis.enc
 <code_set_name> "shiftjis"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/shiftjis.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/symbol.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/symbol.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/symbol.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #
-# $Id: symbol.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: symbol.ucm,v 2.0 2004/05/16 20:55:28 dankogai Exp $
 #
 # compile -n symbol -o Encode/symbol.ucm Encode/symbol.enc
 <code_set_name> "symbol"


Property changes on: vendor/perl/dist/cpan/Encode/ucm/symbol.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Encode/ucm/viscii.ucm
===================================================================
--- vendor/perl/dist/cpan/Encode/ucm/viscii.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Encode/ucm/viscii.ucm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #
-# $Id: viscii.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: viscii.ucm,v 2.0 2004/05/16 20:55:28 dankogai Exp $
 #
-# Written $Id: viscii.ucm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# Written $Id: viscii.ucm,v 2.0 2004/05/16 20:55:28 dankogai Exp $
 # ./compile -n viscii -o Encode/viscii.ucm Encode/viscii.enc
 <code_set_name> "viscii"
 <mb_cur_min> 1


Property changes on: vendor/perl/dist/cpan/Encode/ucm/viscii.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/ProxySubs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant/XS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-Constant/lib/ExtUtils/Constant.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-Constant/t/Constant.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-Constant/t/Constant.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-Constant/t/Constant.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-Constant/t/Constant.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/Changes
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,253 @@
+6.66 Fri Apr 19 17:53:13 BST 2013
+    No changes from 6.65_03
+
+6.65_03 Mon Apr 15 13:44:24 BST 2013
+    Test Fixes
+    * Use File::Temp in parse_* tests to resolve race conditions
+      on 64bit Windows
+      (bingos)
+
+6.65_02 Sun Apr 14 10:56:41 BST 2013
+    Test Fixes
+    * t/xs.t is now running tests against the XS build.
+      (Michael G Schwern) (Leon Timmermans)
+
+
+6.65_01 Tue Mar 19 00:06:17 CET 2013
+    New Features
+    * Improvements perlcritic support. (M. Schwern)
+    * Improvements to dynamic linking for gcc (Tobias Leich)
+      [github #43]
+    * Change $(PERL_HDRS) from a hard coded list of headers to
+      reading install directory for available header files. Allows
+      us to work with any version of Perl properly.
+      (Yves Orton, Craig A. Berry) [github #47]
+
+    Doc Fixes
+    * Numerous typo fixes. (Ben Bullock)
+      [github #33] [github #34] [github #35]
+    * Various FAQ and doc improvements (M. Schwern, Ivan Bessarabov)
+      [github #44]
+
+    Bug Fixes
+    * fixes relating to hash ordering (Yves Orton)
+      [github #46] [rt.cpan.org #83441] [rt.perl.org #116857]
+    * fixes to Mksymlists (Ben Bullock, Yves Orton)
+      [github #48] [github #49] [github #51]
+
+
+6.64  Sun Dec 16 18:27:40 PST 2012
+    Build Fixes
+    * Update the home page in the meta file.  makemaker.org has been
+      unmaintained for a while.
+
+
+6.63_04  Thu Nov 22 13:18:06 PST 2012
+    Test Fixes
+    * Eliminated the problematic and not very useful PASTHRU test
+      on Windows.  A better test will come after stable. [github 41]
+      (Michael G Schwern)
+    * Avoid a new regex warning in 5.17.x in t/MM_OS2.t. (Craig A. Berry)
+
+    VMS Fixes
+    * Better ignore files due to non-case-preserving filesystems.
+      (Craig A. Berry)
+
+
+6.63_03  Thu Nov  1 19:52:30 PDT 2012
+    New Features
+    * Added TEST_REQUIRES keyword to specify prerequisites only needed
+      for testing.  [github 29] (Ricardo Signes)
+
+    Bug Fixes
+    * Update bundled modules: ExtUtils::Install to 1.54, ExtUtils::Manifest
+      to 1.60.
+    * Update CPAN::Meta::YAML to 0.08 for compatibility with older versions
+      of Scalar::Util.
+
+    Misc
+    * Change 'Note' to 'Warning' when libraries aren't found since people
+      often fail to realise that this is the cause of a build failure.
+      [github 20] (Matt Trout)
+
+    Test Fixes
+    * Added an early test to check for a common 5.6 bug where 0.01 is
+      incorrectly stringified to 1.e-02.  [rt.cpan.org 74095]
+
+    Doc Fixes
+    * Clarified NAME. [rt.cpan.org 73361]
+    * SYNOPSIS is a bit more useful.
+
+
+6.63_02  Tue Nov  1 17:02:40 PDT 2011
+    Test Fixes
+    * Inform BSDPAN (on FreeBSD) to not register modules installed while
+      testing. [rt.cpan.org 70232]
+    * Fix t/echo.t test on Win32. [rt.cpan.org 72097]
+    * Fix t/echo.t test on VMS. (Craig A. Berry)
+    * Fix t/Win32.t to handle the change to init_others(). [rt.cpan.org 72096]
+
+    Bug Fixes
+    * Fix VMS's echo() for the interface changes. (Craig A. Berry)
+    * Fix VMS's dollar sign escaping. (Craig A. Berry)
+
+    Misc
+    * my::bundle::copy_bundles() will only load File::Copy::Recursive if
+      it needs it, allowing vendors packaging MakeMaker to just delete
+      bundled/*
+    * Bundling can be overridden by setting the BUILDING_AS_PACKAGE
+      environment variable.  This makes life easier for vendor packagers.
+    * Stripped the Windows newlines off Parse::CPAN::Meta to avoid
+      confusing old versions of Module::Signature.
+
+    Docs
+    * README.packaging explains how to package MakeMaker
+    * bundled/README explains what the bundled directory is about.
+    
+
+6.63_01  Sun Oct 23 16:57:24 PDT 2011
+    Bug Fixes
+    * Stray $ in the PPD and meta files (for example, from the ABSTRACT)
+      are now escaped.  [rt.cpan.org 71847]
+
+    Possibly incompatible changes
+    * echo() now escapes all dollar signs by default
+
+    New Features
+    * echo() has an option to allow make variable expansion.
+    * echo() is now passed a hash of options (old style $appending flag
+      still works for compatibility).
+    * quote_literal() now escapes dollar signs, but allows make variables.
+    * quote_literal() has an option to escape make variables.
+    * escape_dollarsigns() to escape dollar signs but allow variables
+    * escape_all_dollarsigns() to escape all dollar signs
+
+    Improvements
+    * The PPD VERSION is now derived from the VERSION variable in the Makefile
+      rather than hard coded.
+
+    Bundled Modules
+    * Updated CPAN::Meta to 2.112621
+    * Updated CPAN::Meta::YAML to 0.004
+    * Updated JSON::PP to 2.27200
+
+
+6.62  Sun Oct 23 16:43:36 PDT 2011
+    No changes from 6.61_01
+
+
+6.61_01  Sat Sep 24 22:16:13 PDT 2011
+    Win32
+    * Liblist::Kid now checks the ActiveState MinGW library path environment
+      variable [MITHALDU]
+    * Further fixes to the Win32 quoting rules.  Fixes failures on VC8+.
+      [rt.cpan.org #69528] [SHAY]
+
+
+6.59  Fri Aug  5 12:09:00 BST
+    No changes since 6.58_01
+
+
+6.58_01  Wed Aug  3 21:12:00 BST
+    Doc Fixes
+    * Corrected the repository location [chorny]
+
+    Bug Fixes
+    * Removed the %INC check from _has_cpan_meta and updated the CPAN::Meta
+      bundled with EUMM to one that doesn't set $VERSION in a begin block
+      so it can't appear to be loaded, thus causing us to mistakenly try
+      and call methods on CPAN::Meta modules - this is due to older versions
+      in site_perl shadowing our installation of other bundled modules.
+      [rt.cpan.org 69465] [rt.cpan.org 69900] [MSTROUT]
+
+
+6.58  Wed Jul  6 14:17:06 PDT 2011
+    No changes since 6.57_11
+
+
+6.57_11  Thu May 19 17:26:31 PDT 2011
+    Bug Fixes
+    * Changed CPAN::Meta to accept version objects. [github #16]
+    * Massage bad versions and warn the user about them. [github #15]
+    * Protect against CPAN::Meta dying during metafile validation
+      and generation.
+
+    VMS
+    * Fix prereq.t to work around "local %ENV = %ENV" bug
+
+    Win32
+    * Liblist::Kid can now recognize long compiler paths
+      (Christian Walde) [github #11]
+
+
+6.57_10  Sun, 03 Apr 2011 19:36:38 +1000
+    Bug Fixes
+    * Relaxed strictures on prerequisite versions.  Invalid versions now
+      issue a warning and are set to 0 rather than dying. [github #7]
+    * Upgraded CPAN::Meta to 2.110930 which fixes a glitch in writing
+      MYMETA.yml if your module's version number was 1.4. [github #9]
+    * Convert LICENSE entries which are unknown to CPAN::Meta to
+      "unknown" rather than dying. [github #10]
+
+
+6.57_09  Mon, 28 Mar 2011 11:13:39 +1100
+    Misc
+    * Make CPAN ignore bundled modules
+    * Accidentally rolled Version::Requirements into the version bundle
+    * Deleted now unused ExtUtils::MakeMaker::YAML
+
+
+6.57_08  Sun, 27 Mar 2011 21:52:47 +1100
+    VMS
+    * Removed dependency on cc_runtime.h for VMS as well.
+
+    Misc
+    * Changed how modules are bundled to avoid replacing XS version of
+      Scalar::Util with a pure Perl version [github #4]
+
+
+6.57_07  Fri, 25 Mar 2011 14:31:31 +1100
+    Enhancements
+    * Generates META.json and MYMETA.json in addition to
+      META.yml and MYMETA.yml (David Golden)
+    * MYMETA has the runtime requirements made priority over META_*
+      keys to allow generation of a correct META.* into the dist while
+      still generating an accurate MYMETA.* locally (Matt S Trout)
+    * Distributions should not depend on cc_runtime.h from core as it is
+      only needed for B::CC
+    * Now uses CPAN::Meta to generate META files.
+
+    Bug Fixes
+    * MYMETA.yml generation from META.yml actually works (Matt S Trout)
+    * All required META fields are generated, even if they must be filled
+      with "unknown" in place of real data (David Golden)
+
+    Test Fixes
+    * miniperl.t is no longer run outside of the perl core.  Its only relevant
+      to bleadperl and requires no backwards compatibility [rt.cpan.org 61868]
+
+    Cygwin
+    * Rebase behaviour was improved (Reini Urban)
+    * Build man pages (Reini Urban)
+
+    Win32
+    * Spot valid lib files on Win32 when .a and .lib are mixed.
+      (Christian Walde) [github #3]
+    * Extensive testing of ExtUtils::Liblist::Kid for Win32
+      (Christian Walde)
+    * Implemented proper emulation of DOS escaping rules in ExtUtils::MM_Win32
+      (Christian Walde)
+
+
+6.57_06  Wed Oct 06 13:49:00 EEST 2010
+    Win32
+    * Work around dmake's limitations on how long a "line" can be.
+      [rt.cpan.org 61286]
+    * ActivePerl 1007 can now see gcc. [rt.cpan.org 55752] (Christian Walde)
+
+    Bug Fixes
+    * Fix for AUTHOR and undocumented usage of MM->new() (Alexandr Ciornii)
+
 6.57_05  Sat Sep 11 23:24:00 EEST 2010
     Bug Fixes
     * AUTHOR compatibility code should also be called after CONFIGURE callback
@@ -14,7 +264,7 @@
 6.57_02  Wed Sep 08 02:40:00 EEST 2010
     Bug Fixes
     * Don't do MANIFEST checks in PERL_CORE (Robin Barker)
-
+    
     New Features
     * Accept several values (arrayref) in AUTHOR (Alexandr Ciornii)
     * Add MYMETA.yml support (Adam Kennedy, Alexandr Ciornii)
@@ -499,7 +749,7 @@
 
     Doc Improvements
     - Typo fixes.  $(TOUNIX) -> $(TO_UNIX).  [rt.cpan.org 23495]
-    - The example for setting $VERSION from $Revision: 1.1.1.1 $ in SVN was
+    - The example for setting $VERSION from $Revision$ in SVN was
       incorrect. (Thanks to ROBERTMAY at cpan.org) [rt.cpan.org 26995]
     - Document what's wrong with PREFIX and what to use instead.
       [rt.cpan.org 12919]
@@ -580,10 +830,10 @@
       Unix).  Looks like a very old bug.  [bugs.perl.org 36128]
     - $ExtUtils::MakeMaker::Revision accidentally left in a stray "Revision".
       [thanks pdx.pm for noticing this]
-    - Fixed the $VERSION = $Revision: 1.1.1.1 $ example in the MakeMaker docs and the
+    - Fixed the $VERSION = $Revision$ example in the MakeMaker docs and the
       FAQ. [thanks again, pdx.pm]
     - Elaborated on the differences between CVS, SVN and others when using
-      $Revision: 1.1.1.1 $ based $VERSIONs.
+      $Revision$ based $VERSIONs.
     * ExtUtils::Command, ExtUtils::Install, ExtUtils::Manifest,
       ExtUtils::Mkbootstrap, ExtUtils::Mksymlists and ExtUtils::Packlist
       are all now considered to be separate distributions.  To avoid a 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/MANIFEST
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,36 @@
-.gitignore
+.perlcriticrc
 bin/instmodsh
+bundled/CPAN-Meta-YAML/CPAN/Meta/YAML.pm
+bundled/CPAN-Meta/CPAN/Meta.pm
+bundled/CPAN-Meta/CPAN/Meta/Converter.pm
+bundled/CPAN-Meta/CPAN/Meta/Feature.pm
+bundled/CPAN-Meta/CPAN/Meta/History.pm
+bundled/CPAN-Meta/CPAN/Meta/Prereqs.pm
+bundled/CPAN-Meta/CPAN/Meta/Spec.pm
+bundled/CPAN-Meta/CPAN/Meta/Validator.pm
+bundled/ExtUtils-Command/ExtUtils/Command.pm
+bundled/ExtUtils-Install/ExtUtils/Install.pm
+bundled/ExtUtils-Install/ExtUtils/Installed.pm
+bundled/ExtUtils-Install/ExtUtils/Packlist.pm
+bundled/ExtUtils-Manifest/ExtUtils/Manifest.pm
+bundled/ExtUtils-Manifest/ExtUtils/MANIFEST.SKIP
+bundled/File-Copy-Recursive/File/Copy/Recursive.pm
+bundled/File-Temp/File/Temp.pm
+bundled/JSON-PP-Compat5006/JSON/PP/Compat5006.pm
+bundled/JSON-PP/JSON/PP.pm
+bundled/JSON-PP/JSON/PP/Boolean.pm
+bundled/Parse-CPAN-Meta/Parse/CPAN/Meta.pm
+bundled/README
+bundled/Scalar-List-Utils/List/Util.pm
+bundled/Scalar-List-Utils/List/Util/PP.pm
+bundled/Scalar-List-Utils/Scalar/Util.pm
+bundled/Scalar-List-Utils/Scalar/Util/PP.pm
+bundled/Version-Requirements/Version/Requirements.pm
+bundled/version/version.pm
+bundled/version/version.pod
+bundled/version/version/Internals.pod
+bundled/version/version/vpp.pm
 Changes
-inc/ExtUtils/Command.pm
-inc/ExtUtils/Install.pm
-inc/ExtUtils/Installed.pm
-inc/ExtUtils/Manifest.pm
-inc/ExtUtils/MANIFEST.SKIP
-inc/ExtUtils/Packlist.pm
 INSTALL
 lib/ExtUtils/Command/MM.pm
 lib/ExtUtils/Liblist.pm
@@ -15,7 +39,6 @@
 lib/ExtUtils/MakeMaker/Config.pm
 lib/ExtUtils/MakeMaker/FAQ.pod
 lib/ExtUtils/MakeMaker/Tutorial.pod
-lib/ExtUtils/MakeMaker/YAML.pm
 lib/ExtUtils/Mkbootstrap.pm
 lib/ExtUtils/Mksymlists.pm
 lib/ExtUtils/MM.pm
@@ -38,12 +61,15 @@
 lib/ExtUtils/MY.pm
 lib/ExtUtils/testlib.pm
 Makefile.PL
-MANIFEST			This list of files
+MANIFEST
 MANIFEST.SKIP
+my/bundles.pm
 NOTES
 PATCHING
 README
+README.packaging
 t/00compile.t
+t/01perl_bugs.t
 t/arch_check.t
 t/backwards.t
 t/basic.t
@@ -51,6 +77,7 @@
 t/cd.t
 t/config.t
 t/dir_target.t
+t/echo.t
 t/FIRST_MAKEFILE.t
 t/fix_libs.t
 t/fixin.t
@@ -77,9 +104,31 @@
 t/lib/TieIn.pm
 t/lib/TieOut.pm
 t/Liblist.t
+t/liblist/win32/__test.lib
+'t/liblist/win32/di r/dir_test.lib'
+t/liblist/win32/dir/dir_test.lib
+t/liblist/win32/double.lib
+t/liblist/win32/imp.dll.a
+t/liblist/win32/lib/CORE/c_test.lib
+t/liblist/win32/lib/CORE/double.lib
+t/liblist/win32/lib__test.lib
+t/liblist/win32/lib_test.lib
+t/liblist/win32/libpath/lp_test.lib
+t/liblist/win32/pl.lib
+'t/liblist/win32/space lib.lib'
+t/liblist/win32/test.a.lib
+t/liblist/win32/test.lib
+t/liblist/win32/test.meep
+t/liblist/win32/test2.lib
+t/liblist/win32/vc/vctest.lib
+t/Liblist_Kid.t
 t/make.t
 t/MakeMaker_Parameters.t
 t/maketext_filter.t
+t/meta_convert.t
+t/META_for_testing.json
+t/META_for_testing.yml
+t/META_for_testing_tricky_version.yml
 t/metafile_data.t
 t/metafile_file.t
 t/min_perl_version.t
@@ -119,4 +168,3 @@
 t/writemakefile_args.t
 t/xs.t
 TODO
-META.yml                                 Module meta-data (added by MakeMaker)


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/NOTES
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/NOTES	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/NOTES	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/NOTES
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/PATCHING
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/PATCHING	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/PATCHING	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/PATCHING
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/README
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/TODO
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/bin/instmodsh
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/bin/instmodsh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/bin/instmodsh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/bin/instmodsh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,9 +8,9 @@
 require Exporter;
 our @ISA = qw(Exporter);
 
-our @EXPORT  = qw(test_harness pod2man perllocal_install uninstall
+our @EXPORT  = qw(test_harness pod2man perllocal_install uninstall 
                   warn_if_old_packlist);
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 my $Is_VMS = $^O eq 'VMS';
 
@@ -99,7 +99,7 @@
         if( !eval { require Pod::Man } ) {
             warn "Pod::Man is not available: $@".
                  "Man pages will not be generated during this install.\n";
-            return undef;
+            return 0;
         }
     }
     require Getopt::Long;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Command/MM.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,214 +6,241 @@
 # $self is not a Makemaker.
 
 use 5.006;
+
 # Broken out of MakeMaker from version 4.11
 
 use strict;
-our $VERSION = 6.57_05;
+use warnings;
+our $VERSION = '6.66';
 
-use Config;
+use ExtUtils::MakeMaker::Config;
 use Cwd 'cwd';
 use File::Basename;
 use File::Spec;
 
 sub ext {
-  if   ($^O eq 'VMS')     { return &_vms_ext;      }
-  elsif($^O eq 'MSWin32') { return &_win32_ext;    }
-  else                    { return &_unix_os2_ext; }
+    if    ( $^O eq 'VMS' )     { return &_vms_ext; }
+    elsif ( $^O eq 'MSWin32' ) { return &_win32_ext; }
+    else                       { return &_unix_os2_ext; }
 }
 
 sub _unix_os2_ext {
-    my($self,$potential_libs, $verbose, $give_libs) = @_;
+    my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
     $verbose ||= 0;
 
-    if ($^O =~ 'os2' and $Config{perllibs}) { 
-	# Dynamic libraries are not transitive, so we may need including
-	# the libraries linked against perl.dll again.
+    if ( $^O =~ 'os2' and $Config{perllibs} ) {
 
-	$potential_libs .= " " if $potential_libs;
-	$potential_libs .= $Config{perllibs};
+        # Dynamic libraries are not transitive, so we may need including
+        # the libraries linked against perl.dll again.
+
+        $potential_libs .= " " if $potential_libs;
+        $potential_libs .= $Config{perllibs};
     }
-    return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs;
+    return ( "", "", "", "", ( $give_libs ? [] : () ) ) unless $potential_libs;
     warn "Potential libraries are '$potential_libs':\n" if $verbose;
 
-    my($so)   = $Config{so};
-    my($libs) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs};
+    my ( $so ) = $Config{so};
+    my ( $libs ) = defined $Config{perllibs} ? $Config{perllibs} : $Config{libs};
     my $Config_libext = $Config{lib_ext} || ".a";
     my $Config_dlext = $Config{dlext};
 
-
     # compute $extralibs, $bsloadlibs and $ldloadlibs from
     # $potential_libs
     # this is a rewrite of Andy Dougherty's extliblist in perl
 
-    my(@searchpath); # from "-L/path" entries in $potential_libs
-    my(@libpath) = split " ", $Config{'libpth'};
-    my(@ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen);
-    my(@libs, %libs_seen);
-    my($fullname, @fullname);
-    my($pwd) = cwd(); # from Cwd.pm
-    my($found) = 0;
+    my ( @searchpath );    # from "-L/path" entries in $potential_libs
+    my ( @libpath ) = split " ", $Config{'libpth'};
+    my ( @ldloadlibs, @bsloadlibs, @extralibs, @ld_run_path, %ld_run_path_seen );
+    my ( @libs,       %libs_seen );
+    my ( $fullname,   @fullname );
+    my ( $pwd )   = cwd();    # from Cwd.pm
+    my ( $found ) = 0;
 
-    foreach my $thislib (split ' ', $potential_libs) {
+    foreach my $thislib ( split ' ', $potential_libs ) {
 
-	# Handle possible linker path arguments.
-	if ($thislib =~ s/^(-[LR]|-Wl,-R)//){	# save path flag type
-	    my($ptype) = $1;
-	    unless (-d $thislib){
-		warn "$ptype$thislib ignored, directory does not exist\n"
-			if $verbose;
-		next;
-	    }
-	    my($rtype) = $ptype;
-	    if (($ptype eq '-R') or ($ptype eq '-Wl,-R')) {
-		if ($Config{'lddlflags'} =~ /-Wl,-R/) {
-		    $rtype = '-Wl,-R';
-		} elsif ($Config{'lddlflags'} =~ /-R/) {
-		    $rtype = '-R';
-		}
-	    }
-	    unless (File::Spec->file_name_is_absolute($thislib)) {
-	      warn "Warning: $ptype$thislib changed to $ptype$pwd/$thislib\n";
-	      $thislib = $self->catdir($pwd,$thislib);
-	    }
-	    push(@searchpath, $thislib);
-	    push(@extralibs,  "$ptype$thislib");
-	    push(@ldloadlibs, "$rtype$thislib");
-	    next;
-	}
+        # Handle possible linker path arguments.
+        if ( $thislib =~ s/^(-[LR]|-Wl,-R)// ) {    # save path flag type
+            my ( $ptype ) = $1;
+            unless ( -d $thislib ) {
+                warn "$ptype$thislib ignored, directory does not exist\n"
+                  if $verbose;
+                next;
+            }
+            my ( $rtype ) = $ptype;
+            if ( ( $ptype eq '-R' ) or ( $ptype eq '-Wl,-R' ) ) {
+                if ( $Config{'lddlflags'} =~ /-Wl,-R/ ) {
+                    $rtype = '-Wl,-R';
+                }
+                elsif ( $Config{'lddlflags'} =~ /-R/ ) {
+                    $rtype = '-R';
+                }
+            }
+            unless ( File::Spec->file_name_is_absolute( $thislib ) ) {
+                warn "Warning: $ptype$thislib changed to $ptype$pwd/$thislib\n";
+                $thislib = $self->catdir( $pwd, $thislib );
+            }
+            push( @searchpath, $thislib );
+            push( @extralibs,  "$ptype$thislib" );
+            push( @ldloadlibs, "$rtype$thislib" );
+            next;
+        }
 
-	# Handle possible library arguments.
-	unless ($thislib =~ s/^-l//){
-	  warn "Unrecognized argument in LIBS ignored: '$thislib'\n";
-	  next;
-	}
+        # Handle possible library arguments.
+        unless ( $thislib =~ s/^-l// ) {
+            warn "Unrecognized argument in LIBS ignored: '$thislib'\n";
+            next;
+        }
 
-	my($found_lib)=0;
-	foreach my $thispth (@searchpath, @libpath) {
+        my ( $found_lib ) = 0;
+        foreach my $thispth ( @searchpath, @libpath ) {
 
-		# Try to find the full name of the library.  We need this to
-		# determine whether it's a dynamically-loadable library or not.
-		# This tends to be subject to various os-specific quirks.
-		# For gcc-2.6.2 on linux (March 1995), DLD can not load
-		# .sa libraries, with the exception of libm.sa, so we
-		# deliberately skip them.
-	    if (@fullname =
-		    $self->lsdir($thispth,"^\Qlib$thislib.$so.\E[0-9]+")){
-		# Take care that libfoo.so.10 wins against libfoo.so.9.
-		# Compare two libraries to find the most recent version
-		# number.  E.g.  if you have libfoo.so.9.0.7 and
-		# libfoo.so.10.1, first convert all digits into two
-		# decimal places.  Then we'll add ".00" to the shorter
-		# strings so that we're comparing strings of equal length
-		# Thus we'll compare libfoo.so.09.07.00 with
-		# libfoo.so.10.01.00.  Some libraries might have letters
-		# in the version.  We don't know what they mean, but will
-		# try to skip them gracefully -- we'll set any letter to
-		# '0'.  Finally, sort in reverse so we can take the
-		# first element.
+            # Try to find the full name of the library.  We need this to
+            # determine whether it's a dynamically-loadable library or not.
+            # This tends to be subject to various os-specific quirks.
+            # For gcc-2.6.2 on linux (March 1995), DLD can not load
+            # .sa libraries, with the exception of libm.sa, so we
+            # deliberately skip them.
+            if ( @fullname = $self->lsdir( $thispth, "^\Qlib$thislib.$so.\E[0-9]+" ) ) {
 
-		#TODO: iterate through the directory instead of sorting
+                # Take care that libfoo.so.10 wins against libfoo.so.9.
+                # Compare two libraries to find the most recent version
+                # number.  E.g.  if you have libfoo.so.9.0.7 and
+                # libfoo.so.10.1, first convert all digits into two
+                # decimal places.  Then we'll add ".00" to the shorter
+                # strings so that we're comparing strings of equal length
+                # Thus we'll compare libfoo.so.09.07.00 with
+                # libfoo.so.10.01.00.  Some libraries might have letters
+                # in the version.  We don't know what they mean, but will
+                # try to skip them gracefully -- we'll set any letter to
+                # '0'.  Finally, sort in reverse so we can take the
+                # first element.
 
-		$fullname = "$thispth/" .
-		(sort { my($ma) = $a;
-			my($mb) = $b;
-			$ma =~ tr/A-Za-z/0/s;
-			$ma =~ s/\b(\d)\b/0$1/g;
-			$mb =~ tr/A-Za-z/0/s;
-			$mb =~ s/\b(\d)\b/0$1/g;
-			while (length($ma) < length($mb)) { $ma .= ".00"; }
-			while (length($mb) < length($ma)) { $mb .= ".00"; }
-			# Comparison deliberately backwards
-			$mb cmp $ma;} @fullname)[0];
-	    } elsif (-f ($fullname="$thispth/lib$thislib.$so")
-		 && (($Config{'dlsrc'} ne "dl_dld.xs") || ($thislib eq "m"))){
-	    } elsif (-f ($fullname="$thispth/lib${thislib}_s$Config_libext")
-                 && ($Config{'archname'} !~ /RM\d\d\d-svr4/)
-		 && ($thislib .= "_s") ){ # we must explicitly use _s version
-	    } elsif (-f ($fullname="$thispth/lib$thislib$Config_libext")){
-	    } elsif (defined($Config_dlext)
-                 && -f ($fullname="$thispth/lib$thislib.$Config_dlext")){
-	    } elsif (-f ($fullname="$thispth/$thislib$Config_libext")){
-	    } elsif (-f ($fullname="$thispth/lib$thislib.dll$Config_libext")){
-	    } elsif (-f ($fullname="$thispth/Slib$thislib$Config_libext")){
-	    } elsif ($^O eq 'dgux'
-		 && -l ($fullname="$thispth/lib$thislib$Config_libext")
-		 && readlink($fullname) =~ /^elink:/s) {
-		 # Some of DG's libraries look like misconnected symbolic
-		 # links, but development tools can follow them.  (They
-		 # look like this:
-		 #
-		 #    libm.a -> elink:${SDE_PATH:-/usr}/sde/\
-		 #    ${TARGET_BINARY_INTERFACE:-m88kdgux}/usr/lib/libm.a
-		 #
-		 # , the compilation tools expand the environment variables.)
-	    } else {
-		warn "$thislib not found in $thispth\n" if $verbose;
-		next;
-	    }
-	    warn "'-l$thislib' found at $fullname\n" if $verbose;
-	    push @libs, $fullname unless $libs_seen{$fullname}++;
-	    $found++;
-	    $found_lib++;
+                #TODO: iterate through the directory instead of sorting
 
-	    # Now update library lists
+                $fullname = "$thispth/" . (
+                    sort {
+                        my ( $ma ) = $a;
+                        my ( $mb ) = $b;
+                        $ma =~ tr/A-Za-z/0/s;
+                        $ma =~ s/\b(\d)\b/0$1/g;
+                        $mb =~ tr/A-Za-z/0/s;
+                        $mb =~ s/\b(\d)\b/0$1/g;
+                        while ( length( $ma ) < length( $mb ) ) { $ma .= ".00"; }
+                        while ( length( $mb ) < length( $ma ) ) { $mb .= ".00"; }
 
-	    # what do we know about this library...
-	    my $is_dyna = ($fullname !~ /\Q$Config_libext\E\z/);
-	    my $in_perl = ($libs =~ /\B-l\Q${thislib}\E\b/s);
+                        # Comparison deliberately backwards
+                        $mb cmp $ma;
+                      } @fullname
+                )[0];
+            }
+            elsif ( -f ( $fullname = "$thispth/lib$thislib.$so" )
+                && ( ( $Config{'dlsrc'} ne "dl_dld.xs" ) || ( $thislib eq "m" ) ) )
+            {
+            }
+            elsif (-f ( $fullname = "$thispth/lib${thislib}_s$Config_libext" )
+                && ( $Config{'archname'} !~ /RM\d\d\d-svr4/ )
+                && ( $thislib .= "_s" ) )
+            {    # we must explicitly use _s version
+            }
+            elsif ( -f ( $fullname = "$thispth/lib$thislib$Config_libext" ) ) {
+            }
+            elsif ( defined( $Config_dlext )
+                && -f ( $fullname = "$thispth/lib$thislib.$Config_dlext" ) )
+            {
+            }
+            elsif ( -f ( $fullname = "$thispth/$thislib$Config_libext" ) ) {
+            }
+            elsif ( -f ( $fullname = "$thispth/lib$thislib.dll$Config_libext" ) ) {
+            }
+            elsif ( -f ( $fullname = "$thispth/Slib$thislib$Config_libext" ) ) {
+            }
+            elsif ($^O eq 'dgux'
+                && -l ( $fullname = "$thispth/lib$thislib$Config_libext" )
+                && readlink( $fullname ) =~ /^elink:/s )
+            {
 
+                # Some of DG's libraries look like misconnected symbolic
+                # links, but development tools can follow them.  (They
+                # look like this:
+                #
+                #    libm.a -> elink:${SDE_PATH:-/usr}/sde/\
+                #    ${TARGET_BINARY_INTERFACE:-m88kdgux}/usr/lib/libm.a
+                #
+                # , the compilation tools expand the environment variables.)
+            }
+            else {
+                warn "$thislib not found in $thispth\n" if $verbose;
+                next;
+            }
+            warn "'-l$thislib' found at $fullname\n" if $verbose;
+            push @libs, $fullname unless $libs_seen{$fullname}++;
+            $found++;
+            $found_lib++;
+
+            # Now update library lists
+
+            # what do we know about this library...
+            my $is_dyna = ( $fullname !~ /\Q$Config_libext\E\z/ );
+            my $in_perl = ( $libs =~ /\B-l\Q${thislib}\E\b/s );
+
             # include the path to the lib once in the dynamic linker path
             # but only if it is a dynamic lib and not in Perl itself
-            my($fullnamedir) = dirname($fullname);
+            my ( $fullnamedir ) = dirname( $fullname );
             push @ld_run_path, $fullnamedir
-                 if $is_dyna && !$in_perl &&
-                    !$ld_run_path_seen{$fullnamedir}++;
+              if $is_dyna
+                  && !$in_perl
+                  && !$ld_run_path_seen{$fullnamedir}++;
 
-	    # Do not add it into the list if it is already linked in
-	    # with the main perl executable.
-	    # We have to special-case the NeXT, because math and ndbm 
-	    # are both in libsys_s
-	    unless ($in_perl || 
-		($Config{'osname'} eq 'next' &&
-		    ($thislib eq 'm' || $thislib eq 'ndbm')) ){
-		push(@extralibs, "-l$thislib");
-	    }
+            # Do not add it into the list if it is already linked in
+            # with the main perl executable.
+            # We have to special-case the NeXT, because math and ndbm
+            # are both in libsys_s
+            unless (
+                $in_perl
+                || ( $Config{'osname'} eq 'next'
+                    && ( $thislib eq 'm' || $thislib eq 'ndbm' ) )
+              )
+            {
+                push( @extralibs, "-l$thislib" );
+            }
 
-	    # We might be able to load this archive file dynamically
-	    if ( ($Config{'dlsrc'} =~ /dl_next/ && $Config{'osvers'} lt '4_0')
-	    ||   ($Config{'dlsrc'} =~ /dl_dld/) )
-	    {
-		# We push -l$thislib instead of $fullname because
-		# it avoids hardwiring a fixed path into the .bs file.
-		# Mkbootstrap will automatically add dl_findfile() to
-		# the .bs file if it sees a name in the -l format.
-		# USE THIS, when dl_findfile() is fixed: 
-		# push(@bsloadlibs, "-l$thislib");
-		# OLD USE WAS while checking results against old_extliblist
-		push(@bsloadlibs, "$fullname");
-	    } else {
-		if ($is_dyna){
+            # We might be able to load this archive file dynamically
+            if (   ( $Config{'dlsrc'} =~ /dl_next/ && $Config{'osvers'} lt '4_0' )
+                || ( $Config{'dlsrc'} =~ /dl_dld/ ) )
+            {
+
+                # We push -l$thislib instead of $fullname because
+                # it avoids hardwiring a fixed path into the .bs file.
+                # Mkbootstrap will automatically add dl_findfile() to
+                # the .bs file if it sees a name in the -l format.
+                # USE THIS, when dl_findfile() is fixed:
+                # push(@bsloadlibs, "-l$thislib");
+                # OLD USE WAS while checking results against old_extliblist
+                push( @bsloadlibs, "$fullname" );
+            }
+            else {
+                if ( $is_dyna ) {
+
                     # For SunOS4, do not add in this shared library if
                     # it is already linked in the main perl executable
-		    push(@ldloadlibs, "-l$thislib")
-			unless ($in_perl and $^O eq 'sunos');
-		} else {
-		    push(@ldloadlibs, "-l$thislib");
-		}
-	    }
-	    last;	# found one here so don't bother looking further
-	}
-	warn "Note (probably harmless): "
-		     ."No library found for -l$thislib\n"
-	    unless $found_lib>0;
+                    push( @ldloadlibs, "-l$thislib" )
+                      unless ( $in_perl and $^O eq 'sunos' );
+                }
+                else {
+                    push( @ldloadlibs, "-l$thislib" );
+                }
+            }
+            last;    # found one here so don't bother looking further
+        }
+        warn "Warning (mostly harmless): " . "No library found for -l$thislib\n"
+          unless $found_lib > 0;
     }
 
-    unless( $found ) {
-        return ('','','','', ($give_libs ? \@libs : ()));
+    unless ( $found ) {
+        return ( '', '', '', '', ( $give_libs ? \@libs : () ) );
     }
     else {
-        return ("@extralibs", "@bsloadlibs", "@ldloadlibs",
-                join(":", at ld_run_path), ($give_libs ? \@libs : ()));
+        return ( "@extralibs", "@bsloadlibs", "@ldloadlibs", join( ":", @ld_run_path ), ( $give_libs ? \@libs : () ) );
     }
 }
 
@@ -221,329 +248,379 @@
 
     require Text::ParseWords;
 
-    my($self, $potential_libs, $verbose, $give_libs) = @_;
+    my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
     $verbose ||= 0;
 
     # If user did not supply a list, we punt.
     # (caller should probably use the list in $Config{libs})
-    return ("", "", "", "", ($give_libs ? [] : ())) unless $potential_libs;
+    return ( "", "", "", "", ( $give_libs ? [] : () ) ) unless $potential_libs;
 
-    my $cc		= $Config{cc};
-    my $VC		= $cc =~ /^cl/i;
-    my $BC		= $cc =~ /^bcc/i;
-    my $GC		= $cc =~ /^gcc/i;
-    my $so		= $Config{'so'};
-    my $libs		= $Config{'perllibs'};
-    my $libpth		= $Config{'libpth'};
-    my $libext		= $Config{'lib_ext'} || ".lib";
-    my(@libs, %libs_seen);
+    # TODO: make this use MM_Win32.pm's compiler detection
+    my %libs_seen;
+    my @extralibs;
+    my $cc = $Config{cc} || '';
+    my $VC = $cc =~ /\bcl\b/i;
+    my $GC = $cc =~ /\bgcc\b/i;
 
-    if ($libs and $potential_libs !~ /:nodefault/i) { 
-	# If Config.pm defines a set of default libs, we always
-	# tack them on to the user-supplied list, unless the user
-	# specified :nodefault
+    my $libext     = _win32_lib_extensions();
+    my @searchpath = ( '' );                                    # from "-L/path" entries in $potential_libs
+    my @libpath    = _win32_default_search_paths( $VC, $GC );
+    my $pwd        = cwd();                                     # from Cwd.pm
+    my $search     = 1;
 
-	$potential_libs .= " " if $potential_libs;
-	$potential_libs .= $libs;
-    }
-    warn "Potential libraries are '$potential_libs':\n" if $verbose;
+    # compute @extralibs from $potential_libs
+    my @lib_search_list = _win32_make_lib_search_list( $potential_libs, $verbose );
+    for ( @lib_search_list ) {
 
-    # normalize to forward slashes
-    $libpth =~ s,\\,/,g;
-    $potential_libs =~ s,\\,/,g;
+        my $thislib = $_;
 
-    # compute $extralibs from $potential_libs
+        # see if entry is a flag
+        if ( /^:\w+$/ ) {
+            $search = 0 if lc eq ':nosearch';
+            $search = 1 if lc eq ':search';
+            _debug( "Ignoring unknown flag '$thislib'\n", $verbose ) if !/^:(no)?(search|default)$/i;
+            next;
+        }
 
-    my @searchpath;		    # from "-L/path" in $potential_libs
-    my @libpath		= Text::ParseWords::quotewords('\s+', 0, $libpth);
-    my @extralibs;
-    my $pwd		= cwd();    # from Cwd.pm
-    my $lib		= '';
-    my $found		= 0;
-    my $search		= 1;
-    my($fullname);
+        # if searching is disabled, do compiler-specific translations
+        unless ( $search ) {
+            s/^-l(.+)$/$1.lib/ unless $GC;
+            s/^-L/-libpath:/ if $VC;
+            push( @extralibs, $_ );
+            next;
+        }
 
-    # add "$Config{installarchlib}/CORE" to default search path
-    push @libpath, "$Config{installarchlib}/CORE";
+        # handle possible linker path arguments
+        if ( s/^-L// and not -d ) {
+            _debug( "$thislib ignored, directory does not exist\n", $verbose );
+            next;
+        }
+        elsif ( -d ) {
+            unless ( File::Spec->file_name_is_absolute( $_ ) ) {
+                warn "Warning: '$thislib' changed to '-L$pwd/$_'\n";
+                $_ = $self->catdir( $pwd, $_ );
+            }
+            push( @searchpath, $_ );
+            next;
+        }
 
-    if ($VC and exists $ENV{LIB} and $ENV{LIB}) {
-        push @libpath, split /;/, $ENV{LIB};
+        my @paths = ( @searchpath, @libpath );
+        my ( $fullname, $path ) = _win32_search_file( $thislib, $libext, \@paths, $verbose, $GC );
+
+        if ( !$fullname ) {
+            warn "Warning (mostly harmless): No library found for $thislib\n";
+            next;
+        }
+
+        _debug( "'$thislib' found as '$fullname'\n", $verbose );
+        push( @extralibs, $fullname );
+        $libs_seen{$fullname} = 1 if $path;    # why is this a special case?
     }
 
-    foreach (Text::ParseWords::quotewords('\s+', 0, $potential_libs)){
+    my @libs = keys %libs_seen;
 
-	my $thislib = $_;
+    return ( '', '', '', '', ( $give_libs ? \@libs : () ) ) unless @extralibs;
 
-        # see if entry is a flag
-	if (/^:\w+$/) {
-	    $search	= 0 if lc eq ':nosearch';
-	    $search	= 1 if lc eq ':search';
-	    warn "Ignoring unknown flag '$thislib'\n"
-		if $verbose and !/^:(no)?(search|default)$/i;
-	    next;
-	}
+    # make sure paths with spaces are properly quoted
+    @extralibs = map { /\s/ ? qq["$_"] : $_ } @extralibs;
+    @libs      = map { /\s/ ? qq["$_"] : $_ } @libs;
 
-	# if searching is disabled, do compiler-specific translations
-	unless ($search) {
-	    s/^-l(.+)$/$1.lib/ unless $GC;
-	    s/^-L/-libpath:/ if $VC;
-	    push(@extralibs, $_);
-	    $found++;
-	    next;
-	}
+    my $lib = join( ' ', @extralibs );
 
-	# handle possible linker path arguments
-	if (s/^-L// and not -d) {
-	    warn "$thislib ignored, directory does not exist\n"
-		if $verbose;
-	    next;
-	}
-	elsif (-d) {
-	    unless (File::Spec->file_name_is_absolute($_)) {
-	      warn "Warning: '$thislib' changed to '-L$pwd/$_'\n";
-	      $_ = $self->catdir($pwd,$_);
-	    }
-	    push(@searchpath, $_);
-	    next;
-	}
+    # normalize back to backward slashes (to help braindead tools)
+    # XXX this may break equally braindead GNU tools that don't understand
+    # backslashes, either.  Seems like one can't win here.  Cursed be CP/M.
+    $lib =~ s,/,\\,g;
 
-	# handle possible library arguments
-	if (s/^-l// and $GC and !/^lib/i) {
-	    $_ = "lib$_";
-	}
-	$_ .= $libext if !/\Q$libext\E$/i;
+    _debug( "Result: $lib\n", $verbose );
+    wantarray ? ( $lib, '', $lib, '', ( $give_libs ? \@libs : () ) ) : $lib;
+}
 
-	my $secondpass = 0;
-    LOOKAGAIN:
+sub _win32_make_lib_search_list {
+    my ( $potential_libs, $verbose ) = @_;
 
-        # look for the file itself
-	if (-f) {
-	    warn "'$thislib' found as '$_'\n" if $verbose;
-	    $found++;
-	    push(@extralibs, $_);
-	    next;
-	}
+    # If Config.pm defines a set of default libs, we always
+    # tack them on to the user-supplied list, unless the user
+    # specified :nodefault
+    my $libs = $Config{'perllibs'};
+    $potential_libs = join( ' ', $potential_libs, $libs ) if $libs and $potential_libs !~ /:nodefault/i;
+    _debug( "Potential libraries are '$potential_libs':\n", $verbose );
 
-	my $found_lib = 0;
-	foreach my $thispth (@searchpath, @libpath){
-	    unless (-f ($fullname="$thispth\\$_")) {
-		warn "'$thislib' not found as '$fullname'\n" if $verbose;
-		next;
-	    }
-	    warn "'$thislib' found as '$fullname'\n" if $verbose;
-	    $found++;
-	    $found_lib++;
-	    push(@extralibs, $fullname);
-	    push @libs, $fullname unless $libs_seen{$fullname}++;
-	    last;
-	}
+    $potential_libs =~ s,\\,/,g;    # normalize to forward slashes
 
-	# do another pass with (or without) leading 'lib' if they used -l
-	if (!$found_lib and $thislib =~ /^-l/ and !$secondpass++) {
-	    if ($GC) {
-		goto LOOKAGAIN if s/^lib//i;
-	    }
-	    elsif (!/^lib/i) {
-		$_ = "lib$_";
-		goto LOOKAGAIN;
-	    }
-	}
+    my @list = Text::ParseWords::quotewords( '\s+', 0, $potential_libs );
 
-	# give up
-	warn "Note (probably harmless): "
-		     ."No library found for $thislib\n"
-	    unless $found_lib>0;
+    return @list;
+}
 
-    }
+sub _win32_default_search_paths {
+    my ( $VC, $GC ) = @_;
 
-    return ('','','','', ($give_libs ? \@libs : ())) unless $found;
+    my $libpth = $Config{'libpth'} || '';
+    $libpth =~ s,\\,/,g;            # normalize to forward slashes
 
-    # make sure paths with spaces are properly quoted
-    @extralibs = map { (/\s/ && !/^".*"$/) ? qq["$_"] : $_ } @extralibs;
-    @libs = map { (/\s/ && !/^".*"$/) ? qq["$_"] : $_ } @libs;
-    $lib = join(' ', at extralibs);
+    my @libpath = Text::ParseWords::quotewords( '\s+', 0, $libpth );
+    push @libpath, "$Config{installarchlib}/CORE";    # add "$Config{installarchlib}/CORE" to default search path
 
-    # normalize back to backward slashes (to help braindead tools)
-    # XXX this may break equally braindead GNU tools that don't understand
-    # backslashes, either.  Seems like one can't win here.  Cursed be CP/M.
-    $lib =~ s,/,\\,g;
+    push @libpath, split /;/, $ENV{LIB}          if $VC and $ENV{LIB};
+    push @libpath, split /;/, $ENV{LIBRARY_PATH} if $GC and $ENV{LIBRARY_PATH};
 
-    warn "Result: $lib\n" if $verbose;
-    wantarray ? ($lib, '', $lib, '', ($give_libs ? \@libs : ())) : $lib;
+    return @libpath;
 }
 
+sub _win32_search_file {
+    my ( $thislib, $libext, $paths, $verbose, $GC ) = @_;
 
-sub _vms_ext {
-  my($self, $potential_libs, $verbose, $give_libs) = @_;
-  $verbose ||= 0;
+    my @file_list = _win32_build_file_list( $thislib, $GC, $libext );
 
-  my(@crtls,$crtlstr);
-  @crtls = ( ($Config{'ldflags'} =~ m-/Debug-i ? $Config{'dbgprefix'} : '')
-              . 'PerlShr/Share' );
-  push(@crtls, grep { not /\(/ } split /\s+/, $Config{'perllibs'});
-  push(@crtls, grep { not /\(/ } split /\s+/, $Config{'libc'});
-  # In general, we pass through the basic libraries from %Config unchanged.
-  # The one exception is that if we're building in the Perl source tree, and
-  # a library spec could be resolved via a logical name, we go to some trouble
-  # to insure that the copy in the local tree is used, rather than one to
-  # which a system-wide logical may point.
-  if ($self->{PERL_SRC}) {
-    my($locspec,$type);
-    foreach my $lib (@crtls) { 
-      if (($locspec,$type) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i) {
-        if    (lc $type eq '/share')   { $locspec .= $Config{'exe_ext'}; }
-        elsif (lc $type eq '/library') { $locspec .= $Config{'lib_ext'}; }
-        else                           { $locspec .= $Config{'obj_ext'}; }
-        $locspec = $self->catfile($self->{PERL_SRC},$locspec);
-        $lib = "$locspec$type" if -e $locspec;
-      }
+    for my $lib_file ( @file_list ) {
+        for my $path ( @{$paths} ) {
+            my $fullname = $lib_file;
+            $fullname = "$path\\$fullname" if $path;
+
+            return ( $fullname, $path ) if -f $fullname;
+
+            _debug( "'$thislib' not found as '$fullname'\n", $verbose );
+        }
     }
-  }
-  $crtlstr = @crtls ? join(' ', at crtls) : '';
 
-  unless ($potential_libs) {
-    warn "Result:\n\tEXTRALIBS: \n\tLDLOADLIBS: $crtlstr\n" if $verbose;
-    return ('', '', $crtlstr, '', ($give_libs ? [] : ()));
-  }
+    return;
+}
 
-  my(%found, at fndlibs,$ldlib);
-  my $cwd = cwd();
-  my($so,$lib_ext,$obj_ext) = @Config{'so','lib_ext','obj_ext'};
-  # List of common Unix library names and their VMS equivalents
-  # (VMS equivalent of '' indicates that the library is automatically
-  # searched by the linker, and should be skipped here.)
-  my(@flibs, %libs_seen);
-  my %libmap = ( 'm' => '', 'f77' => '', 'F77' => '', 'V77' => '', 'c' => '',
-                 'malloc' => '', 'crypt' => '', 'resolv' => '', 'c_s' => '',
-                 'socket' => '', 'X11' => 'DECW$XLIBSHR',
-                 'Xt' => 'DECW$XTSHR', 'Xm' => 'DECW$XMLIBSHR',
-                 'Xmu' => 'DECW$XMULIBSHR');
-  if ($Config{'vms_cc_type'} ne 'decc') { $libmap{'curses'} = 'VAXCCURSE'; }
+sub _win32_build_file_list {
+    my ( $lib, $GC, $extensions ) = @_;
 
-  warn "Potential libraries are '$potential_libs'\n" if $verbose;
+    my @pre_fixed = _win32_build_prefixed_list( $lib, $GC );
+    return map _win32_attach_extensions( $_, $extensions ), @pre_fixed;
+}
 
-  # First, sort out directories and library names in the input
-  my(@dirs, @libs);
-  foreach my $lib (split ' ',$potential_libs) {
-    push(@dirs,$1),   next if $lib =~ /^-L(.*)/;
-    push(@dirs,$lib), next if $lib =~ /[:>\]]$/;
-    push(@dirs,$lib), next if -d $lib;
-    push(@libs,$1),   next if $lib =~ /^-l(.*)/;
-    push(@libs,$lib);
-  }
-  push(@dirs,split(' ',$Config{'libpth'}));
+sub _win32_build_prefixed_list {
+    my ( $lib, $GC ) = @_;
 
-  # Now make sure we've got VMS-syntax absolute directory specs
-  # (We don't, however, check whether someone's hidden a relative
-  # path in a logical name.)
-  foreach my $dir (@dirs) {
-    unless (-d $dir) {
-      warn "Skipping nonexistent Directory $dir\n" if $verbose > 1;
-      $dir = '';
-      next;
+    return $lib if $lib !~ s/^-l//;
+    return $lib if $lib =~ /^lib/ and !$GC;
+
+    ( my $no_prefix = $lib ) =~ s/^lib//i;
+    $lib = "lib$lib" if $no_prefix eq $lib;
+
+    return ( $lib, $no_prefix ) if $GC;
+    return ( $no_prefix, $lib );
+}
+
+sub _win32_attach_extensions {
+    my ( $lib, $extensions ) = @_;
+    return map _win32_try_attach_extension( $lib, $_ ), @{$extensions};
+}
+
+sub _win32_try_attach_extension {
+    my ( $lib, $extension ) = @_;
+
+    return $lib if $lib =~ /\Q$extension\E$/i;
+    return "$lib$extension";
+}
+
+sub _win32_lib_extensions {
+    my %extensions;
+    $extensions{ $Config{'lib_ext'} } = 1 if $Config{'lib_ext'};
+    $extensions{".dll.a"} = 1 if $extensions{".a"};
+    $extensions{".lib"}   = 1;
+    return [ keys %extensions ];
+}
+
+sub _debug {
+    my ( $message, $verbose ) = @_;
+    return if !$verbose;
+    warn $message;
+    return;
+}
+
+sub _vms_ext {
+    my ( $self, $potential_libs, $verbose, $give_libs ) = @_;
+    $verbose ||= 0;
+
+    my ( @crtls, $crtlstr );
+    @crtls = ( ( $Config{'ldflags'} =~ m-/Debug-i ? $Config{'dbgprefix'} : '' ) . 'PerlShr/Share' );
+    push( @crtls, grep { not /\(/ } split /\s+/, $Config{'perllibs'} );
+    push( @crtls, grep { not /\(/ } split /\s+/, $Config{'libc'} );
+
+    # In general, we pass through the basic libraries from %Config unchanged.
+    # The one exception is that if we're building in the Perl source tree, and
+    # a library spec could be resolved via a logical name, we go to some trouble
+    # to insure that the copy in the local tree is used, rather than one to
+    # which a system-wide logical may point.
+    if ( $self->{PERL_SRC} ) {
+        my ( $locspec, $type );
+        foreach my $lib ( @crtls ) {
+            if ( ( $locspec, $type ) = $lib =~ m{^([\w\$-]+)(/\w+)?} and $locspec =~ /perl/i ) {
+                if    ( lc $type eq '/share' )   { $locspec .= $Config{'exe_ext'}; }
+                elsif ( lc $type eq '/library' ) { $locspec .= $Config{'lib_ext'}; }
+                else                             { $locspec .= $Config{'obj_ext'}; }
+                $locspec = $self->catfile( $self->{PERL_SRC}, $locspec );
+                $lib = "$locspec$type" if -e $locspec;
+            }
+        }
     }
-    warn "Resolving directory $dir\n" if $verbose;
-    if (File::Spec->file_name_is_absolute($dir)) { 
-        $dir = $self->fixpath($dir,1); 
-    }
-    else { 
-        $dir = $self->catdir($cwd,$dir); 
-    }
-  }
-  @dirs = grep { length($_) } @dirs;
-  unshift(@dirs,''); # Check each $lib without additions first
+    $crtlstr = @crtls ? join( ' ', @crtls ) : '';
 
-  LIB: foreach my $lib (@libs) {
-    if (exists $libmap{$lib}) {
-      next unless length $libmap{$lib};
-      $lib = $libmap{$lib};
+    unless ( $potential_libs ) {
+        warn "Result:\n\tEXTRALIBS: \n\tLDLOADLIBS: $crtlstr\n" if $verbose;
+        return ( '', '', $crtlstr, '', ( $give_libs ? [] : () ) );
     }
 
-    my(@variants,$cand);
-    my($ctype) = '';
+    my ( %found, @fndlibs, $ldlib );
+    my $cwd = cwd();
+    my ( $so, $lib_ext, $obj_ext ) = @Config{ 'so', 'lib_ext', 'obj_ext' };
 
-    # If we don't have a file type, consider it a possibly abbreviated name and
-    # check for common variants.  We try these first to grab libraries before
-    # a like-named executable image (e.g. -lperl resolves to perlshr.exe
-    # before perl.exe).
-    if ($lib !~ /\.[^:>\]]*$/) {
-      push(@variants,"${lib}shr","${lib}rtl","${lib}lib");
-      push(@variants,"lib$lib") if $lib !~ /[:>\]]/;
+    # List of common Unix library names and their VMS equivalents
+    # (VMS equivalent of '' indicates that the library is automatically
+    # searched by the linker, and should be skipped here.)
+    my ( @flibs, %libs_seen );
+    my %libmap = (
+        'm'      => '',
+        'f77'    => '',
+        'F77'    => '',
+        'V77'    => '',
+        'c'      => '',
+        'malloc' => '',
+        'crypt'  => '',
+        'resolv' => '',
+        'c_s'    => '',
+        'socket' => '',
+        'X11'    => 'DECW$XLIBSHR',
+        'Xt'     => 'DECW$XTSHR',
+        'Xm'     => 'DECW$XMLIBSHR',
+        'Xmu'    => 'DECW$XMULIBSHR'
+    );
+    if ( $Config{'vms_cc_type'} ne 'decc' ) { $libmap{'curses'} = 'VAXCCURSE'; }
+
+    warn "Potential libraries are '$potential_libs'\n" if $verbose;
+
+    # First, sort out directories and library names in the input
+    my ( @dirs, @libs );
+    foreach my $lib ( split ' ', $potential_libs ) {
+        push( @dirs, $1 ),   next if $lib =~ /^-L(.*)/;
+        push( @dirs, $lib ), next if $lib =~ /[:>\]]$/;
+        push( @dirs, $lib ), next if -d $lib;
+        push( @libs, $1 ),   next if $lib =~ /^-l(.*)/;
+        push( @libs, $lib );
     }
-    push(@variants,$lib);
-    warn "Looking for $lib\n" if $verbose;
-    foreach my $variant (@variants) {
-      my($fullname, $name);
+    push( @dirs, split( ' ', $Config{'libpth'} ) );
 
-      foreach my $dir (@dirs) {
-        my($type);
-
-        $name = "$dir$variant";
-        warn "\tChecking $name\n" if $verbose > 2;
-        $fullname = VMS::Filespec::rmsexpand($name);
-        if (defined $fullname and -f $fullname) {
-          # It's got its own suffix, so we'll have to figure out the type
-          if    ($fullname =~ /(?:$so|exe)$/i)      { $type = 'SHR'; }
-          elsif ($fullname =~ /(?:$lib_ext|olb)$/i) { $type = 'OLB'; }
-          elsif ($fullname =~ /(?:$obj_ext|obj)$/i) {
-            warn "Note (probably harmless): "
-                ."Plain object file $fullname found in library list\n";
-            $type = 'OBJ';
-          }
-          else {
-            warn "Note (probably harmless): "
-                ."Unknown library type for $fullname; assuming shared\n";
-            $type = 'SHR';
-          }
+    # Now make sure we've got VMS-syntax absolute directory specs
+    # (We don't, however, check whether someone's hidden a relative
+    # path in a logical name.)
+    foreach my $dir ( @dirs ) {
+        unless ( -d $dir ) {
+            warn "Skipping nonexistent Directory $dir\n" if $verbose > 1;
+            $dir = '';
+            next;
         }
-        elsif (-f ($fullname = VMS::Filespec::rmsexpand($name,$so))      or
-               -f ($fullname = VMS::Filespec::rmsexpand($name,'.exe')))     {
-          $type = 'SHR';
-          $name = $fullname unless $fullname =~ /exe;?\d*$/i;
+        warn "Resolving directory $dir\n" if $verbose;
+        if ( File::Spec->file_name_is_absolute( $dir ) ) {
+            $dir = $self->fixpath( $dir, 1 );
         }
-        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;
+        else {
+            $dir = $self->catdir( $cwd, $dir );
         }
-        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'))))  {
-          warn "Note (probably harmless): "
-		       ."Plain object file $fullname found in library list\n";
-          $type = 'OBJ';
-          $name = $fullname unless $fullname =~ /obj;?\d*$/i;
+    }
+    @dirs = grep { length( $_ ) } @dirs;
+    unshift( @dirs, '' );    # Check each $lib without additions first
+
+  LIB: foreach my $lib ( @libs ) {
+        if ( exists $libmap{$lib} ) {
+            next unless length $libmap{$lib};
+            $lib = $libmap{$lib};
         }
-        if (defined $type) {
-          $ctype = $type; $cand = $name;
-          last if $ctype eq 'SHR';
+
+        my ( @variants, $cand );
+        my ( $ctype ) = '';
+
+        # If we don't have a file type, consider it a possibly abbreviated name and
+        # check for common variants.  We try these first to grab libraries before
+        # a like-named executable image (e.g. -lperl resolves to perlshr.exe
+        # before perl.exe).
+        if ( $lib !~ /\.[^:>\]]*$/ ) {
+            push( @variants, "${lib}shr", "${lib}rtl", "${lib}lib" );
+            push( @variants, "lib$lib" ) if $lib !~ /[:>\]]/;
         }
-      }
-      if ($ctype) { 
-        # This has to precede any other CRTLs, so just make it first
-        if ($cand eq 'VAXCCURSE') { unshift @{$found{$ctype}}, $cand; }  
-        else                      { push    @{$found{$ctype}}, $cand; }
-        warn "\tFound as $cand (really $fullname), type $ctype\n" 
-          if $verbose > 1;
-	push @flibs, $name unless $libs_seen{$fullname}++;
-        next LIB;
-      }
+        push( @variants, $lib );
+        warn "Looking for $lib\n" if $verbose;
+        foreach my $variant ( @variants ) {
+            my ( $fullname, $name );
+
+            foreach my $dir ( @dirs ) {
+                my ( $type );
+
+                $name = "$dir$variant";
+                warn "\tChecking $name\n" if $verbose > 2;
+                $fullname = VMS::Filespec::rmsexpand( $name );
+                if ( defined $fullname and -f $fullname ) {
+
+                    # It's got its own suffix, so we'll have to figure out the type
+                    if    ( $fullname =~ /(?:$so|exe)$/i )      { $type = 'SHR'; }
+                    elsif ( $fullname =~ /(?:$lib_ext|olb)$/i ) { $type = 'OLB'; }
+                    elsif ( $fullname =~ /(?:$obj_ext|obj)$/i ) {
+                        warn "Warning (mostly harmless): " . "Plain object file $fullname found in library list\n";
+                        $type = 'OBJ';
+                    }
+                    else {
+                        warn "Warning (mostly harmless): " . "Unknown library type for $fullname; assuming shared\n";
+                        $type = 'SHR';
+                    }
+                }
+                elsif (-f ( $fullname = VMS::Filespec::rmsexpand( $name, $so ) )
+                    or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.exe' ) ) )
+                {
+                    $type = 'SHR';
+                    $name = $fullname unless $fullname =~ /exe;?\d*$/i;
+                }
+                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,
+                                                # don't bother
+                    ( -f ( $fullname = VMS::Filespec::rmsexpand( $name, $obj_ext ) ) or -f ( $fullname = VMS::Filespec::rmsexpand( $name, '.obj' ) ) )
+                  )
+                {
+                    warn "Warning (mostly harmless): " . "Plain object file $fullname found in library list\n";
+                    $type = 'OBJ';
+                    $name = $fullname unless $fullname =~ /obj;?\d*$/i;
+                }
+                if ( defined $type ) {
+                    $ctype = $type;
+                    $cand  = $name;
+                    last if $ctype eq 'SHR';
+                }
+            }
+            if ( $ctype ) {
+
+                # This has to precede any other CRTLs, so just make it first
+                if ( $cand eq 'VAXCCURSE' ) { unshift @{ $found{$ctype} }, $cand; }
+                else                        { push @{ $found{$ctype} }, $cand; }
+                warn "\tFound as $cand (really $fullname), type $ctype\n"
+                  if $verbose > 1;
+                push @flibs, $name unless $libs_seen{$fullname}++;
+                next LIB;
+            }
+        }
+        warn "Warning (mostly harmless): " . "No library found for $lib\n";
     }
-    warn "Note (probably harmless): "
-		 ."No library found for $lib\n";
-  }
 
-  push @fndlibs, @{$found{OBJ}}                      if exists $found{OBJ};
-  push @fndlibs, map { "$_/Library" } @{$found{OLB}} if exists $found{OLB};
-  push @fndlibs, map { "$_/Share"   } @{$found{SHR}} if exists $found{SHR};
-  my $lib = join(' ', at fndlibs);
+    push @fndlibs, @{ $found{OBJ} } if exists $found{OBJ};
+    push @fndlibs, map { "$_/Library" } @{ $found{OLB} } if exists $found{OLB};
+    push @fndlibs, map { "$_/Share" } @{ $found{SHR} }   if exists $found{SHR};
+    my $lib = join( ' ', @fndlibs );
 
-  $ldlib = $crtlstr ? "$lib $crtlstr" : $lib;
-  warn "Result:\n\tEXTRALIBS: $lib\n\tLDLOADLIBS: $ldlib\n" if $verbose;
-  wantarray ? ($lib, '', $ldlib, '', ($give_libs ? \@flibs : ())) : $lib;
+    $ldlib = $crtlstr ? "$lib $crtlstr" : $lib;
+    warn "Result:\n\tEXTRALIBS: $lib\n\tLDLOADLIBS: $ldlib\n" if $verbose;
+    wantarray ? ( $lib, '', $ldlib, '', ( $give_libs ? \@flibs : () ) ) : $lib;
 }
 
 1;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 use File::Spec;
 require ExtUtils::Liblist::Kid;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use ExtUtils::MakeMaker::Config;
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require ExtUtils::Liblist;
 require ExtUtils::MakeMaker;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_AIX;
 
 use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_AIX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_Any;
 
 use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 use Carp;
 use File::Spec;
@@ -206,25 +206,40 @@
 
     my @commands = $MM->echo($text);
     my @commands = $MM->echo($text, $file);
-    my @commands = $MM->echo($text, $file, $appending);
+    my @commands = $MM->echo($text, $file, \%opts);
 
 Generates a set of @commands which print the $text to a $file.
 
 If $file is not given, output goes to STDOUT.
 
-If $appending is true the $file will be appended to rather than
-overwritten.
+If $opts{append} is true the $file will be appended to rather than
+overwritten.  Default is to overwrite.
 
+If $opts{allow_variables} is true, make variables of the form
+C<$(...)> will not be escaped.  Other C<$> will.  Default is to escape
+all C<$>.
+
+Example of use:
+
+    my $make = map "\t$_\n", $MM->echo($text, $file);
+
 =cut
 
 sub echo {
-    my($self, $text, $file, $appending) = @_;
-    $appending ||= 0;
+    my($self, $text, $file, $opts) = @_;
 
-    my @cmds = map { '$(NOECHO) $(ECHO) '.$self->quote_literal($_) } 
+    # Compatibility with old options
+    if( !ref $opts ) {
+        my $append = $opts;
+        $opts = { append => $append || 0 };
+    }
+    $opts->{allow_variables} = 0 unless defined $opts->{allow_variables};
+
+    my $ql_opts = { allow_variables => $opts->{allow_variables} };
+    my @cmds = map { '$(NOECHO) $(ECHO) '.$self->quote_literal($_, $ql_opts) } 
                split /\n/, $text;
     if( $file ) {
-        my $redirect = $appending ? '>>' : '>';
+        my $redirect = $opts->{append} ? '>>' : '>';
         $cmds[0] .= " $redirect $file";
         $_ .= " >> $file" foreach @cmds[1..$#cmds];
     }
@@ -334,6 +349,7 @@
 =head3 quote_literal  I<Abstract>
 
     my $safe_text = $MM->quote_literal($text);
+    my $safe_text = $MM->quote_literal($text, \%options);
 
 This will quote $text so it is interpreted literally in the shell.
 
@@ -340,7 +356,48 @@
 For example, on Unix this would escape any single-quotes in $text and
 put single-quotes around the whole thing.
 
+If $options{allow_variables} is true it will leave C<'$(FOO)'> make
+variables untouched.  If false they will be escaped like any other
+C<$>.  Defaults to true.
 
+=head3 escape_dollarsigns
+
+    my $escaped_text = $MM->escape_dollarsigns($text);
+
+Escapes stray C<$> so they are not interpreted as make variables.
+
+It lets by C<$(...)>.
+
+=cut
+
+sub escape_dollarsigns {
+    my($self, $text) = @_;
+
+    # Escape dollar signs which are not starting a variable
+    $text =~ s{\$ (?!\() }{\$\$}gx;
+
+    return $text;
+}
+
+
+=head3 escape_all_dollarsigns
+
+    my $escaped_text = $MM->escape_all_dollarsigns($text);
+
+Escapes all C<$> so they are not interpreted as make variables.
+
+=cut
+
+sub escape_all_dollarsigns {
+    my($self, $text) = @_;
+
+    # Escape dollar signs
+    $text =~ s{\$}{\$\$}gx;
+
+    return $text;
+}
+
+
 =head3 escape_newlines  I<Abstract>
 
     my $escaped_text = $MM->escape_newlines($text);
@@ -486,8 +543,8 @@
                         split /\s+/, $attribs{FILES}   ;
     }
 
-    push(@files, qw[$(MAKE_APERL_FILE)
-                    MYMETA.yml perlmain.c tmon.out mon.out so_locations
+    push(@files, qw[$(MAKE_APERL_FILE) 
+                    MYMETA.json MYMETA.yml perlmain.c tmon.out mon.out so_locations
                     blibdirs.ts pm_to_blib pm_to_blib.ts
                     *$(OBJ_EXT) *$(LIB_EXT) perl.exe perl perl$(EXE_EXT)
                     $(BOOTSTRAP) $(BASEEXT).bso
@@ -728,6 +785,13 @@
     return $manify;
 }
 
+sub _has_cpan_meta {
+    return eval {
+      require CPAN::Meta;
+      CPAN::Meta->VERSION(2.112150);
+      1;
+    };
+}
 
 =head3 metafile_target
 
@@ -743,29 +807,112 @@
 
 sub metafile_target {
     my $self = shift;
-
-    return <<'MAKE_FRAG' if $self->{NO_META};
+    return <<'MAKE_FRAG' if $self->{NO_META} or ! _has_cpan_meta();
 metafile :
 	$(NOECHO) $(NOOP)
 MAKE_FRAG
 
-    my @metadata   = $self->metafile_data(
+    my %metadata   = $self->metafile_data(
         $self->{META_ADD}   || {},
         $self->{META_MERGE} || {},
     );
-    my $meta       = $self->metafile_file(@metadata);
-    my @write_meta = $self->echo($meta, 'META_new.yml');
+    
+    _fix_metadata_before_conversion( \%metadata );
 
-    return sprintf <<'MAKE_FRAG', join("\n\t", @write_meta);
+    # paper over validation issues, but still complain, necessary because
+    # there's no guarantee that the above will fix ALL errors
+    my $meta = eval { CPAN::Meta->create( \%metadata, { lazy_validation => 1 } ) };
+    warn $@ if $@ and 
+               $@ !~ /encountered CODE.*, but JSON can only represent references to arrays or hashes/;
+
+    # use the original metadata straight if the conversion failed
+    # or if it can't be stringified.
+    if( !$meta                                                  ||
+        !eval { $meta->as_string( { version => "1.4" } ) }      ||
+        !eval { $meta->as_string }
+    )
+    {
+        $meta = bless \%metadata, 'CPAN::Meta';
+    }
+
+    my @write_metayml = $self->echo(
+      $meta->as_string({version => "1.4"}), 'META_new.yml'
+    );
+    my @write_metajson = $self->echo(
+      $meta->as_string(), 'META_new.json'
+    );
+
+    my $metayml = join("\n\t", @write_metayml);
+    my $metajson = join("\n\t", @write_metajson);
+    return sprintf <<'MAKE_FRAG', $metayml, $metajson;
 metafile : create_distdir
 	$(NOECHO) $(ECHO) Generating META.yml
 	%s
 	-$(NOECHO) $(MV) META_new.yml $(DISTVNAME)/META.yml
+	$(NOECHO) $(ECHO) Generating META.json
+	%s
+	-$(NOECHO) $(MV) META_new.json $(DISTVNAME)/META.json
 MAKE_FRAG
 
 }
 
+=begin private
 
+=head3 _fix_metadata_before_conversion
+
+    _fix_metadata_before_conversion( \%metadata );
+
+Fixes errors in the metadata before it's handed off to CPAN::Meta for
+conversion. This hopefully results in something that can be used further
+on, no guarantee is made though.
+
+=end private
+
+=cut
+
+sub _fix_metadata_before_conversion {
+    my ( $metadata ) = @_;
+
+    # we should never be called unless this already passed but
+    # prefer to be defensive in case somebody else calls this
+
+    return unless _has_cpan_meta;
+
+    my $bad_version = $metadata->{version} &&
+                      !CPAN::Meta::Validator->new->version( 'version', $metadata->{version} );
+
+    # just delete all invalid versions
+    if( $bad_version ) {
+        warn "Can't parse version '$metadata->{version}'\n";
+        $metadata->{version} = '';
+    }
+
+    my $validator = CPAN::Meta::Validator->new( $metadata );
+    return if $validator->is_valid;
+
+    # fix non-camelcase custom resource keys (only other trick we know)
+    for my $error ( $validator->errors ) {
+        my ( $key ) = ( $error =~ /Custom resource '(.*)' must be in CamelCase./ );
+        next if !$key;
+
+        # first try to remove all non-alphabetic chars
+        ( my $new_key = $key ) =~ s/[^_a-zA-Z]//g;
+
+        # if that doesn't work, uppercase first one
+        $new_key = ucfirst $new_key if !$validator->custom_1( $new_key );
+
+        # copy to new key if that worked
+        $metadata->{resources}{$new_key} = $metadata->{resources}{$key}
+          if $validator->custom_1( $new_key );
+
+        # and delete old one in any case
+        delete $metadata->{resources}{$key};
+    }
+
+    return;
+}
+
+
 =begin private
 
 =head3 _sort_pairs
@@ -816,58 +963,17 @@
     my $self = shift;
     my($meta_add, $meta_merge) = @_;
 
-    # The order in which standard meta keys should be written.
-    my @meta_order = qw(
-        name
-        version
-        abstract
-        author
-        license
-        distribution_type
-
-        configure_requires
-        build_requires
-        requires
-
-        resources
-
-        provides
-        no_index
-
-        generated_by
-        meta-spec
-    );
-
-    # Check the original args so we can tell between the user setting it
-    # to an empty hash and it just being initialized.
-    my $configure_requires;
-    if( $self->{ARGS}{CONFIGURE_REQUIRES} ) {
-        $configure_requires = $self->{CONFIGURE_REQUIRES};
-    } else {
-        $configure_requires = {
-            'ExtUtils::MakeMaker'       => 0,
-        };
-    }
-    my $build_requires;
-    if( $self->{ARGS}{BUILD_REQUIRES} ) {
-        $build_requires = $self->{BUILD_REQUIRES};
-    } else {
-        $build_requires = {
-            'ExtUtils::MakeMaker'       => 0,
-        };
-    }
-
     my %meta = (
+        # required
         name         => $self->{DISTNAME},
-        version      => $self->{VERSION},
-        abstract     => $self->{ABSTRACT},
+        version      => _normalize_version($self->{VERSION}),
+        abstract     => $self->{ABSTRACT} || 'unknown',
         license      => $self->{LICENSE} || 'unknown',
+        dynamic_config => 1,
+
+        # optional
         distribution_type => $self->{PM} ? 'module' : 'script',
 
-        configure_requires => $configure_requires,
-
-        build_requires => $build_requires,
-
         no_index     => {
             directory   => [qw(t inc)]
         },
@@ -882,9 +988,19 @@
     # The author key is required and it takes a list.
     $meta{author}   = defined $self->{AUTHOR}    ? $self->{AUTHOR} : [];
 
-    $meta{requires} = $self->{PREREQ_PM} if defined $self->{PREREQ_PM};
-    $meta{requires}{perl} = $self->{MIN_PERL_VERSION} if $self->{MIN_PERL_VERSION};
+    # Check the original args so we can tell between the user setting it
+    # to an empty hash and it just being initialized.
+    if( $self->{ARGS}{CONFIGURE_REQUIRES} ) {
+        $meta{configure_requires}
+            = _normalize_prereqs($self->{CONFIGURE_REQUIRES});
+    } else {
+        $meta{configure_requires} = {
+            'ExtUtils::MakeMaker'       => 0,
+        };
+    }
 
+    %meta = $self->_add_requirements_to_meta_v1_4( %meta );
+
     while( my($key, $val) = each %$meta_add ) {
         $meta{$key} = $val;
     }
@@ -893,25 +1009,94 @@
         $self->_hash_merge(\%meta, $key, $val);
     }
 
-    my @meta_pairs;
+    return %meta;
+}
 
-    # Put the standard keys first in the proper order.
-    for my $key (@meta_order) {
-        next unless exists $meta{$key};
 
-        push @meta_pairs, $key, delete $meta{$key};
+=begin private
+
+=cut
+
+sub _add_requirements_to_meta_v1_4 {
+    my ( $self, %meta ) = @_;
+
+    # Check the original args so we can tell between the user setting it
+    # to an empty hash and it just being initialized.
+    if( $self->{ARGS}{BUILD_REQUIRES} ) {
+        $meta{build_requires} = _normalize_prereqs($self->{BUILD_REQUIRES});
+    } else {
+        $meta{build_requires} = {
+            'ExtUtils::MakeMaker'       => 0,
+        };
     }
 
-    # Then tack everything else onto the end, alpha sorted.
-    for my $key (sort {lc $a cmp lc $b} keys %meta) {
-        push @meta_pairs, $key, $meta{$key};
+    if( $self->{ARGS}{TEST_REQUIRES} ) {
+        $meta{build_requires} = {
+          %{ $meta{build_requires} },
+          %{ _normalize_prereqs($self->{TEST_REQUIRES}) },
+        };
     }
 
-    return @meta_pairs
+    $meta{requires} = _normalize_prereqs($self->{PREREQ_PM})
+        if defined $self->{PREREQ_PM};
+    $meta{requires}{perl} = _normalize_version($self->{MIN_PERL_VERSION})
+        if $self->{MIN_PERL_VERSION};
+
+    return %meta;
 }
 
-=begin private
+sub _add_requirements_to_meta_v2 {
+    my ( $self, %meta ) = @_;
 
+    # Check the original args so we can tell between the user setting it
+    # to an empty hash and it just being initialized.
+    if( $self->{ARGS}{BUILD_REQUIRES} ) {
+        $meta{prereqs}{build}{requires} = _normalize_prereqs($self->{BUILD_REQUIRES});
+    } else {
+        $meta{prereqs}{build}{requires} = {
+            'ExtUtils::MakeMaker'       => 0,
+        };
+    }
+
+    if( $self->{ARGS}{TEST_REQUIRES} ) {
+        $meta{prereqs}{test}{requires} = _normalize_prereqs($self->{TEST_REQUIRES});
+    }
+
+    $meta{prereqs}{runtime}{requires} = _normalize_prereqs($self->{PREREQ_PM})
+        if defined $self->{PREREQ_PM};
+    $meta{prereqs}{runtime}{requires}{perl} = _normalize_version($self->{MIN_PERL_VERSION})
+        if $self->{MIN_PERL_VERSION};
+
+    return %meta;
+}
+
+sub _normalize_prereqs {
+  my ($hash) = @_;
+  my %prereqs;
+  while ( my ($k,$v) = each %$hash ) {
+    $prereqs{$k} = _normalize_version($v);
+  }
+  return \%prereqs;
+}
+
+# Adapted from Module::Build::Base
+sub _normalize_version {
+  my ($version) = @_;
+  $version = 0 unless defined $version;
+
+  if ( ref $version eq 'version' ) { # version objects
+    $version = $version->is_qv ? $version->normal : $version->stringify;
+  }
+  elsif ( $version =~ /^[^v][^.]*\.[^.]+\./ ) { # no leading v, multiple dots
+    # normalize string tuples without "v": "1.2.3" -> "v1.2.3"
+    $version = "v$version";
+  }
+  else {
+    # leave alone
+  }
+  return $version;
+}
+
 =head3 _dump_hash
 
     $yaml = _dump_hash(\%options, %hash);
@@ -1069,16 +1254,25 @@
 sub distmeta_target {
     my $self = shift;
 
-    my $add_meta = $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd']);
-eval { maniadd({q{META.yml} => q{Module meta-data (added by MakeMaker)}}) } 
+    my @add_meta = (
+      $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd']),
+exit unless -e q{META.yml};
+eval { maniadd({q{META.yml} => q{Module YAML meta-data (added by MakeMaker)}}) }
     or print "Could not add META.yml to MANIFEST: $${'@'}\n"
 CODE
+      $self->oneliner(<<'CODE', ['-MExtUtils::Manifest=maniadd'])
+exit unless -f q{META.json};
+eval { maniadd({q{META.json} => q{Module JSON meta-data (added by MakeMaker)}}) }
+    or print "Could not add META.json to MANIFEST: $${'@'}\n"
+CODE
+    );
 
-    my $add_meta_to_distdir = $self->cd('$(DISTVNAME)', $add_meta);
+    my @add_meta_to_distdir = map { $self->cd('$(DISTVNAME)', $_) } @add_meta;
 
-    return sprintf <<'MAKE', $add_meta_to_distdir;
+    return sprintf <<'MAKE', @add_meta_to_distdir;
 distmeta : create_distdir metafile
 	$(NOECHO) %s
+	$(NOECHO) %s
 
 MAKE
 
@@ -1096,13 +1290,11 @@
 
 sub mymeta {
     my $self = shift;
+    my $file = shift || ''; # for testing
 
-    my $mymeta;
+    my $mymeta = $self->_mymeta_from_meta($file);
+    my $v2 = 1;
 
-    if ( -e 'META.yml' ) {
-        $mymeta = $self->_mymeta_from_meta();
-    }
-
     unless ( $mymeta ) {
         my @metadata = $self->metafile_data(
             $self->{META_ADD}   || {},
@@ -1109,8 +1301,17 @@
             $self->{META_MERGE} || {},
         );
         $mymeta = {@metadata};
+        $v2 = 0;
     }
 
+    # Overwrite the non-configure dependency hashes
+
+    my $method = $v2
+               ? '_add_requirements_to_meta_v2'
+               : '_add_requirements_to_meta_v1_4';
+
+    $mymeta = { $self->$method( %$mymeta ) };
+
     $mymeta->{dynamic_config} = 0;
 
     return $mymeta;
@@ -1119,13 +1320,19 @@
 
 sub _mymeta_from_meta {
     my $self = shift;
+    my $metafile = shift || ''; # for testing
 
+    return unless _has_cpan_meta();
+
     my $meta;
-    eval {
-        my @yaml = ExtUtils::MakeMaker::YAML::LoadFile('META.yml');
-        $meta = $yaml[0];
-    };
-    return undef unless $meta;
+    for my $file ( $metafile, "META.json", "META.yml" ) {
+      next unless -e $file;
+      eval {
+          $meta = CPAN::Meta->load_file($file)->as_struct( { version => 2 } );
+      };
+      last if $meta;
+    }
+    return unless $meta;
 
     # META.yml before 6.25_01 cannot be trusted.  META.yml lived in the source directory.
     # There was a good chance the author accidentally uploaded a stale META.yml if they
@@ -1134,24 +1341,13 @@
         $meta->{generated_by} =~ /ExtUtils::MakeMaker version ([\d\._]+)/) {
         my $eummv = do { local $^W = 0; $1+0; };
         if ($eummv < 6.2501) {
-            return undef;
+            return;
         }
     }
 
-    # Overwrite the non-configure dependency hashs
-    delete $meta->{requires};
-    delete $meta->{build_requires};
-    delete $meta->{recommends};
-    if ( exists $self->{PREREQ_PM} ) {
-        $meta->{requires} = $self->{PREREQ_PM} || {};
-    }
-    if ( exists $self->{BUILD_REQUIRES} ) {
-        $meta->{build_requires} = $self->{BUILD_REQUIRES} || {};
-    }
     return $meta;
 }
 
-
 =head3 write_mymeta
 
     $self->write_mymeta( $mymeta );
@@ -1166,18 +1362,19 @@
     my $self = shift;
     my $mymeta = shift;
 
-    require ExtUtils::MakeMaker::YAML;
-    my $mymeta_content = ExtUtils::MakeMaker::YAML::Dump($mymeta);
+    return unless _has_cpan_meta();
 
-    open(my $myfh, ">", "MYMETA.yml")
-      or die "Unable to open MYMETA.yml: $!";
-    print $myfh $mymeta_content;
-    close $myfh;
-
-    return;
+    _fix_metadata_before_conversion( $mymeta );
+    
+    # this can still blow up
+    # not sure if i should just eval this and skip file creation if it
+    # blows up
+    my $meta_obj = CPAN::Meta->new( $mymeta, { lazy_validation => 1 } );
+    $meta_obj->save( 'MYMETA.json' );
+    $meta_obj->save( 'MYMETA.yml', { version => "1.4" } );
+    return 1;
 }
 
-
 =head3 realclean (o)
 
 Defines the realclean target.
@@ -1193,7 +1390,7 @@
     # Special exception for the perl core where INST_* is not in blib.
     # This cleans up the files built from the ext/ directory (all XS).
     if( $self->{PERL_CORE} ) {
-	push @dirs, qw($(INST_AUTODIR) $(INST_ARCHAUTODIR));
+        push @dirs, qw($(INST_AUTODIR) $(INST_ARCHAUTODIR));
         push @files, values %{$self->{PM}};
     }
 
@@ -1398,7 +1595,7 @@
     # perl has been built and installed. Setting INST_LIB allows
     # you to build directly into, say $Config{privlibexp}.
     unless ($self->{INST_LIB}){
-	if ($self->{PERL_CORE}) {
+        if ($self->{PERL_CORE}) {
             if (defined $Cross::platform) {
                 $self->{INST_LIB} = $self->{INST_ARCHLIB} = 
                   $self->catdir($self->{PERL_LIB},"..","xlib",
@@ -1407,9 +1604,9 @@
             else {
                 $self->{INST_LIB} = $self->{INST_ARCHLIB} = $self->{PERL_LIB};
             }
-	} else {
-	    $self->{INST_LIB} = $self->catdir($Curdir,"blib","lib");
-	}
+        } else {
+            $self->{INST_LIB} = $self->catdir($Curdir,"blib","lib");
+        }
     }
 
     my @parentdir = split(/::/, $self->{PARENT_NAME});
@@ -1651,7 +1848,7 @@
         my($s, $t, $d, $style) = @{$layout}{qw(s t d style)};
         my $r = '$('.$type2prefix{$t}.')';
 
-        print STDERR "Prefixing $var\n" if $Verbose >= 2;
+        warn "Prefixing $var\n" if $Verbose >= 2;
 
         my $installvar = "install$var";
         my $Installvar = uc $installvar;
@@ -1660,7 +1857,7 @@
         $d = "$style/$d" if $style;
         $self->prefixify($installvar, $s, $r, $d);
 
-        print STDERR "  $Installvar == $self->{$Installvar}\n" 
+        warn "  $Installvar == $self->{$Installvar}\n" 
           if $Verbose >= 2;
     }
 
@@ -1790,16 +1987,15 @@
 }
 
 
-=head3 init_others
+=head3 init_tools
 
-    $MM->init_others();
+    $MM->init_tools();
 
-Initializes the macro definitions used by tools_other() and places them
-in the $MM object.
+Initializes the simple macro definitions used by tools_other() and
+places them in the $MM object.  These use conservative cross platform
+versions and should be overridden with platform specific versions for
+performance.
 
-If there is no description, its the same as the parameter to
-WriteMakefile() documented in ExtUtils::MakeMaker.
-
 Defines at least these macros.
 
   Macro             Description
@@ -1807,11 +2003,6 @@
   NOOP              Do nothing
   NOECHO            Tell make not to display the command itself
 
-  MAKEFILE
-  FIRST_MAKEFILE
-  MAKEFILE_OLD
-  MAKE_APERL_FILE   File used by MAKE_APERL
-
   SHELL             Program used to run shell commands
 
   ECHO              Print text adding a newline on the end
@@ -1830,7 +2021,7 @@
 
 =cut
 
-sub init_others {
+sub init_tools {
     my $self = shift;
 
     $self->{ECHO}     ||= $self->oneliner('print qq{@ARGV}', ['-l']);
@@ -1863,6 +2054,18 @@
     $self->{UNINST}     ||= 0;
     $self->{VERBINST}   ||= 0;
 
+    $self->{SHELL}              ||= $Config{sh};
+
+    # UMASK_NULL is not used by MakeMaker but some CPAN modules
+    # make use of it.
+    $self->{UMASK_NULL}         ||= "umask 0";
+
+    # Not the greatest default, but its something.
+    $self->{DEV_NULL}           ||= "> /dev/null 2>&1";
+
+    $self->{NOOP}               ||= '$(TRUE)';
+    $self->{NOECHO}             = '@' unless defined $self->{NOECHO};
+
     $self->{FIRST_MAKEFILE}     ||= $self->{MAKEFILE} || 'Makefile';
     $self->{MAKEFILE}           ||= $self->{FIRST_MAKEFILE};
     $self->{MAKEFILE_OLD}       ||= $self->{MAKEFILE}.'.old';
@@ -1876,18 +2079,25 @@
     $self->{MACROSTART}         ||= '';
     $self->{MACROEND}           ||= '';
 
-    $self->{SHELL}              ||= $Config{sh};
+    return;
+}
 
-    # UMASK_NULL is not used by MakeMaker but some CPAN modules
-    # make use of it.
-    $self->{UMASK_NULL}         ||= "umask 0";
 
-    # Not the greatest default, but its something.
-    $self->{DEV_NULL}           ||= "> /dev/null 2>&1";
+=head3 init_others
 
-    $self->{NOOP}               ||= '$(TRUE)';
-    $self->{NOECHO}             = '@' unless defined $self->{NOECHO};
+    $MM->init_others();
 
+Initializes the macro definitions having to do with compiling and
+linking used by tools_other() and places them in the $MM object.
+
+If there is no description, its the same as the parameter to
+WriteMakefile() documented in ExtUtils::MakeMaker.
+
+=cut
+
+sub init_others {
+    my $self = shift;
+
     $self->{LD_RUN_PATH} = "";
 
     $self->{LIBS} = $self->_fix_libs($self->{LIBS});
@@ -1927,7 +2137,7 @@
                         : ($Config{usedl} ? 'dynamic' : 'static');
     }
 
-    return 1;
+    return;
 }
 
 
@@ -2210,7 +2420,7 @@
 
         my $arch = (grep length, $self->splitdir($pthinks))[-1];
 
-        print STDOUT <<END unless $self->{UNINSTALLED_PERL};
+        print <<END unless $self->{UNINSTALLED_PERL};
 Your perl and your Config.pm seem to have different ideas about the 
 architecture they are running on.
 Perl thinks: [$arch]
@@ -2414,7 +2624,67 @@
     return { %{$self->{PREREQ_PM}}, %{$self->{BUILD_REQUIRES}} };
 }
 
+=begin private
 
+=head3 _perl_header_files
+
+  my $perl_header_files= $self->_perl_header_files;
+
+returns a sorted list of header files as found in PERL_SRC or $archlibexp/CORE.
+
+Used by perldepend() in MM_Unix and MM_VMS via _perl_header_files_fragment()
+
+=end private
+
+=cut
+
+sub _perl_header_files {
+    my $self = shift;
+
+    my $header_dir = $self->{PERL_SRC} || $self->catdir($Config{archlibexp}, 'CORE');
+    opendir my $dh, $header_dir
+        or die "Failed to opendir '$header_dir' to find header files: $!";
+
+    # we need to use a temporary here as the sort in scalar context would have undefined results.
+    my @perl_headers= sort grep { /\.h\z/ } readdir($dh);
+
+    closedir $dh;
+
+    return @perl_headers;
+}
+
+=begin private
+
+=head3 _perl_header_files_fragment ($o, $separator)
+
+  my $perl_header_files_fragment= $self->_perl_header_files_fragment("/");
+
+return a Makefile fragment which holds the list of perl header files which
+XS code depends on $(PERL_INC), and sets up the dependency for the $(OBJECT) file.
+
+The $separator argument defaults to "". MM_VMS will set it to "" and MM_UNIX to "/"
+in perldepend(). This reason child subclasses need to control this is that in
+VMS the $(PERL_INC) directory will already have delimiters in it, but in
+UNIX $(PERL_INC) will need a slash between it an the filename. Hypothetically
+win32 could use "\\" (but it doesn't need to).
+
+=end private
+
+=cut
+
+sub _perl_header_files_fragment {
+    my ($self, $separator)= @_;
+    $separator ||= "";
+    return join("\\\n",
+                "PERL_HDRS = ",
+                map {
+                    sprintf( "        \$(PERL_INC)%s%s            ", $separator, $_ )
+                } $self->_perl_header_files()
+           ) . "\n\n"
+           . "\$(OBJECT) : \$(PERL_HDRS)\n";
+}
+
+
 =head1 AUTHOR
 
 Michael G Schwern <schwern at pobox.com> and the denizens of


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Any.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,7 +26,7 @@
 require ExtUtils::MM_Unix;
 
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 
 =item os_flavor


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_BeOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 require ExtUtils::MM_Win32;
 our @ISA = qw( ExtUtils::MM_Unix );
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 
 =head1 NAME


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = 6.57_05;
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_DOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
     our @ISA = qw( ExtUtils::MM_Unix );
 }
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 
 =head1 NAME


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Darwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = 6.57_05;
+our $VERSION = '6.66';
 
 sub new {
     die <<'UNSUPPORTED';


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_MacOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,7 +22,7 @@
 use ExtUtils::MakeMaker::Config;
 use File::Basename;
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Win32;
 our @ISA = qw(ExtUtils::MM_Win32);


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_NW5.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use ExtUtils::MakeMaker qw(neatvalue);
 use File::Spec;
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
@@ -84,7 +84,7 @@
 	system "emximp -o tmpimp$Config::Config{lib_ext} tmpimp.imp" 
 	    and die "Cannot make import library: $!, \$?=$?";
 	# May be running under miniperl, so have no glob...
-	eval "unlink <tmp_imp/*>; 1" or system "rm tmp_imp/*";
+	eval { unlink <tmp_imp/*>; 1 } or system "rm tmp_imp/*";
 	system "cd tmp_imp; $Config::Config{ar} x ../tmpimp$Config::Config{lib_ext}" 
 	    and die "Cannot extract import objects: $!, \$?=$?";      
     }


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_OS2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_QNX;
 
 use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_QNX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_UWIN;
 
 use strict;
-our $VERSION = 6.57_05;
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_UWIN.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,7 +15,8 @@
 
 # If we make $VERSION an our variable parse_version() breaks
 use vars qw($VERSION);
-$VERSION = '6.57_05';
+$VERSION = '6.66';
+$VERSION = eval $VERSION;  ## no critic [BuiltinFunctions::ProhibitStringyEval]
 
 require ExtUtils::MM_Any;
 our @ISA = qw(ExtUtils::MM_Any);
@@ -216,7 +217,7 @@
     ( $name = $self->{NAME} . "_cflags" ) =~ s/:/_/g ;
     if ($prog = $Config{$name}) {
 	# Expand hints for this extension via the shell
-	print STDOUT "Processing $name hint:\n" if $Verbose;
+	print "Processing $name hint:\n" if $Verbose;
 	my(@o)=`cc=\"$cflags{cc}\"
 	  ccflags=\"$cflags{ccflags}\"
 	  optimize=\"$cflags{optimize}\"
@@ -233,9 +234,9 @@
 	    chomp $line;
 	    if ($line =~ /(.*?)=\s*(.*)\s*$/){
 		$cflags{$1} = $2;
-		print STDOUT "	$1 = $2\n" if $Verbose;
+		print "	$1 = $2\n" if $Verbose;
 	    } else {
-		print STDOUT "Unrecognised result from hint: '$line'\n";
+		print "Unrecognised result from hint: '$line'\n";
 	    }
 	}
     }
@@ -1063,7 +1064,7 @@
             }
         }
     }
-    print STDOUT "Unable to find a perl $ver (by these names: @$names, in these dirs: @$dirs)\n";
+    print "Unable to find a perl $ver (by these names: @$names, in these dirs: @$dirs)\n";
     0; # false and not empty
 }
 
@@ -1176,7 +1177,7 @@
     my ($does_shbang) = $Config{'sharpbang'} =~ /^\s*\#\!/;
     my ($shb) = "";
     if ($interpreter) {
-        print STDOUT "Changing sharpbang in $file to $interpreter"
+        print "Changing sharpbang in $file to $interpreter"
             if $Verbose;
          # this is probably value-free on DOSISH platforms
         if ($does_shbang) {
@@ -1192,7 +1193,7 @@
     else {
         warn "Can't find $cmd in PATH, $file unchanged"
             if $Verbose;
-        return undef;
+        return;
     }
     return $shb
 }
@@ -1274,6 +1275,7 @@
 
     foreach my $name ($self->lsdir($Curdir)){
 	next if $name =~ /\#/;
+	$name = lc($name) if $Is{VMS};
 	next if $name eq $Curdir or $name eq $Updir or $ignore{$name};
 	next unless $self->libscan($name);
 	if (-d $name){
@@ -1681,7 +1683,7 @@
 		$self->{PERL_ARCHLIB}	   = $lib;
 		$self->{PERL_INC}	   = $inc;
 		$self->{UNINSTALLED_PERL}  = 1;
-		print STDOUT <<EOP;
+		print <<EOP;
 ... Detected uninstalled Perl.  Trying to continue.
 EOP
 	      }
@@ -1700,7 +1702,7 @@
     $self->{MAN3EXT} ||= $Config{man3ext};
 
     # Get some stuff out of %Config if we haven't yet done so
-    print STDOUT "CONFIG must be an array ref\n"
+    print "CONFIG must be an array ref\n"
         if ($self->{CONFIG} and ref $self->{CONFIG} ne 'ARRAY');
     $self->{CONFIG} = [] unless (ref $self->{CONFIG});
     push(@{$self->{CONFIG}}, @ExtUtils::MakeMaker::Get_from_Config);
@@ -1708,7 +1710,7 @@
     my(%once_only);
     foreach my $m (@{$self->{CONFIG}}){
         next if $once_only{$m};
-        print STDOUT "CONFIG key '$m' does not exist in Config.pm\n"
+        print "CONFIG key '$m' does not exist in Config.pm\n"
                 unless exists $Config{$m};
         $self->{uc $m} ||= $Config{$m};
         $once_only{$m} = 1;
@@ -1738,17 +1740,14 @@
                $self->{NAME} eq "ExtUtils::MakeMaker";
 }
 
-=item init_others
+=item init_tools
 
-Initializes EXTRALIBS, BSLOADLIBS, LDLOADLIBS, LIBS, LD_RUN_PATH, LD,
-OBJECT, BOOTDEP, PERLMAINCC, LDFROM, LINKTYPE, SHELL, NOOP,
-FIRST_MAKEFILE, MAKEFILE_OLD, NOECHO, RM_F, RM_RF, TEST_F,
-TOUCH, CP, MV, CHMOD, UMASK_NULL, ECHO, ECHO_N
+Initializes tools to use their common (and faster) Unix commands.
 
 =cut
 
-sub init_others {	# --- Initialize Other Attributes
-    my($self) = shift;
+sub init_tools {
+    my $self = shift;
 
     $self->{ECHO}       ||= 'echo';
     $self->{ECHO_N}     ||= 'echo -n';
@@ -1764,13 +1763,13 @@
 
     $self->{LD}         ||= 'ld';
 
-    $self->SUPER::init_others(@_);
+    return $self->SUPER::init_tools(@_);
 
-    # After SUPER::init_others so $Config{shell} has a
+    # After SUPER::init_tools so $Config{shell} has a
     # chance to get set.
     $self->{SHELL}      ||= '/bin/sh';
 
-    return 1;
+    return;
 }
 
 
@@ -1821,11 +1820,11 @@
             $self->prefixify($Arch,$ilib,$self->{$Lib});
 
             unless (-d $self->{$Arch}) {
-                print STDOUT "Directory $self->{$Arch} not found\n" 
+                print "Directory $self->{$Arch} not found\n" 
                   if $Verbose;
                 $self->{$Arch} = $self->{$Lib};
             }
-            print STDOUT "Defaulting $Arch to $self->{$Arch}\n" if $Verbose;
+            print "Defaulting $Arch to $self->{$Arch}\n" if $Verbose;
         }
     }
 }
@@ -2425,7 +2424,7 @@
           }
         }
 
-	print STDOUT "Warning: $libperl not found
+	print "Warning: $libperl not found
     If you're going to build a static perl binary, make sure perl is installed
     otherwise ignore this warning\n"
 		unless (-f $lperl || defined($self->{PERL_SRC}));
@@ -2755,55 +2754,15 @@
 
     return join "", @m unless $self->needs_linking;
 
-    push @m, q{
-PERL_HDRS = \
-	$(PERL_INC)/EXTERN.h		\
-	$(PERL_INC)/INTERN.h		\
-	$(PERL_INC)/XSUB.h		\
-	$(PERL_INC)/av.h		\
-	$(PERL_INC)/config.h		\
-	$(PERL_INC)/cop.h		\
-	$(PERL_INC)/cv.h		\
-	$(PERL_INC)/dosish.h		\
-	$(PERL_INC)/embed.h		\
-	$(PERL_INC)/embedvar.h		\
-	$(PERL_INC)/fakethr.h		\
-	$(PERL_INC)/form.h		\
-	$(PERL_INC)/gv.h		\
-	$(PERL_INC)/handy.h		\
-	$(PERL_INC)/hv.h		\
-	$(PERL_INC)/intrpvar.h		\
-	$(PERL_INC)/iperlsys.h		\
-	$(PERL_INC)/keywords.h		\
-	$(PERL_INC)/mg.h		\
-	$(PERL_INC)/nostdio.h		\
-	$(PERL_INC)/op.h		\
-	$(PERL_INC)/opcode.h		\
-	$(PERL_INC)/patchlevel.h	\
-	$(PERL_INC)/perl.h		\
-	$(PERL_INC)/perlio.h		\
-	$(PERL_INC)/perlsdio.h		\
-	$(PERL_INC)/perlsfio.h		\
-	$(PERL_INC)/perlvars.h		\
-	$(PERL_INC)/perly.h		\
-	$(PERL_INC)/pp.h		\
-	$(PERL_INC)/pp_proto.h		\
-	$(PERL_INC)/proto.h		\
-	$(PERL_INC)/regcomp.h		\
-	$(PERL_INC)/regexp.h		\
-	$(PERL_INC)/regnodes.h		\
-	$(PERL_INC)/scope.h		\
-	$(PERL_INC)/sv.h		\
-	$(PERL_INC)/thread.h		\
-	$(PERL_INC)/unixish.h		\
-	$(PERL_INC)/util.h
+    if ($self->{OBJECT}) {
+        # Need to add an object file dependency on the perl headers.
+        # this is very important for XS modules in perl.git development.
+        push @m, $self->_perl_header_files_fragment("/"); # Directory separator between $(PERL_INC)/header.h
+    }
 
-$(OBJECT) : $(PERL_HDRS)
-} if $self->{OBJECT};
-
     push @m, join(" ", values %{$self->{XS}})." : \$(XSUBPPDEPS)\n"  if %{$self->{XS}};
 
-    join "\n", @m;
+    return join "\n", @m;
 }
 
 
@@ -2894,8 +2853,13 @@
     $author =~ s/</</g;
     $author =~ s/>/>/g;
 
-    my $ppd_xml = sprintf <<'PPD_HTML', $self->{VERSION}, $abstract, $author;
-<SOFTPKG NAME="$(DISTNAME)" VERSION="%s">
+    my $ppd_file = '$(DISTNAME).ppd';
+
+    my @ppd_cmds = $self->echo(<<'PPD_HTML', $ppd_file, { append => 0, allow_variables => 1 });
+<SOFTPKG NAME="$(DISTNAME)" VERSION="$(VERSION)">
+PPD_HTML
+
+    my $ppd_xml = sprintf <<'PPD_HTML', $abstract, $author;
     <ABSTRACT>%s</ABSTRACT>
     <AUTHOR>%s</AUTHOR>
 PPD_HTML
@@ -2957,7 +2921,7 @@
 </SOFTPKG>
 PPD_XML
 
-    my @ppd_cmds = $self->echo($ppd_xml, '$(DISTNAME).ppd');
+    push @ppd_cmds, $self->echo($ppd_xml, $ppd_file, { append => 1 });
 
     return sprintf <<'PPD_OUT', join "\n\t", @ppd_cmds;
 # Creates a PPD (Perl Package Description) for a binary distribution.
@@ -3001,15 +2965,15 @@
 
     $rprefix .= '/' if $sprefix =~ m|/$|;
 
-    print STDERR "  prefixify $var => $path\n" if $Verbose >= 2;
-    print STDERR "    from $sprefix to $rprefix\n" if $Verbose >= 2;
+    warn "  prefixify $var => $path\n" if $Verbose >= 2;
+    warn "    from $sprefix to $rprefix\n" if $Verbose >= 2;
 
     if( $self->{ARGS}{PREFIX} &&
         $path !~ s{^\Q$sprefix\E\b}{$rprefix}s ) 
     {
 
-        print STDERR "    cannot prefix, using default.\n" if $Verbose >= 2;
-        print STDERR "    no default!\n" if !$default && $Verbose >= 2;
+        warn "    cannot prefix, using default.\n" if $Verbose >= 2;
+        warn "    no default!\n" if !$default && $Verbose >= 2;
 
         $path = $self->catdir($rprefix, $default) if $default;
     }
@@ -3148,12 +3112,15 @@
 =cut
 
 sub quote_literal {
-    my($self, $text) = @_;
+    my($self, $text, $opts) = @_;
+    $opts->{allow_variables} = 1 unless defined $opts->{allow_variables};
 
-    # I think all we have to quote is single quotes and I think
-    # this is a safe way to do it.
+    # Quote single quotes
     $text =~ s{'}{'\\''}g;
 
+    $text = $opts->{allow_variables}
+      ? $self->escape_dollarsigns($text) : $self->escape_all_dollarsigns($text);
+
     return "'$text'";
 }
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,7 +15,7 @@
 
 use File::Basename;
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
@@ -134,13 +134,13 @@
                 last;
             }
         }
-        print STDOUT "Warning (non-fatal): Couldn't find package name in ${defpm}.pm;\n\t",
+        print "Warning (non-fatal): Couldn't find package name in ${defpm}.pm;\n\t",
                      "defaulting package name to $defname\n"
             if eof($pm);
         close $pm;
     }
     else {
-        print STDOUT "Warning (non-fatal): Couldn't find ${defpm}.pm;\n\t",
+        print "Warning (non-fatal): Couldn't find ${defpm}.pm;\n\t",
                      "defaulting package name to $defname\n";
     }
     $defname =~ s#[\d.\-_]+$##;
@@ -244,7 +244,7 @@
             return "MCR $vmsfile";
         }
     }
-    print STDOUT "Unable to find a perl $ver (by these names: @$names, in these dirs: @$dirs)\n";
+    print "Unable to find a perl $ver (by these names: @$names, in these dirs: @$dirs)\n";
     0; # false and not empty
 }
 
@@ -447,14 +447,13 @@
     }
 }
 
-=item init_others (override)
+=item init_tools (override)
 
-Provide VMS-specific forms of various utility commands, then hand
-off to the default MM_Unix method.
+Provide VMS-specific forms of various utility commands.
 
-DEV_NULL should probably be overriden with something.
+Sets DEV_NULL to nothing because I don't know how to do it on VMS.
 
-Also changes EQUALIZE_TIMESTAMP to set revision date of target file to
+Changes EQUALIZE_TIMESTAMP to set revision date of target file to
 one second later than source file, since MMK interprets precisely
 equal revision dates for a source and target file as a sign that the
 target needs to be updated.
@@ -461,7 +460,7 @@
 
 =cut
 
-sub init_others {
+sub init_tools {
     my($self) = @_;
 
     $self->{NOOP}               = 'Continue';
@@ -493,30 +492,21 @@
 install([ from_to => {split(' ', <STDIN>)}, verbose => '$(VERBINST)', uninstall_shadows => '$(UNINST)', dir_mode => '$(PERM_DIR)' ]);
 CODE
 
-    $self->SUPER::init_others;
+    $self->{UMASK_NULL} = '! ';
 
+    $self->SUPER::init_tools;
+
+    # Use the default shell
     $self->{SHELL}    ||= 'Posix';
 
-    $self->{UMASK_NULL} = '! ';  
-
     # Redirection on VMS goes before the command, not after as on Unix.
     # $(DEV_NULL) is used once and its not worth going nuts over making
     # it work.  However, Unix's DEV_NULL is quite wrong for VMS.
     $self->{DEV_NULL}   = '';
 
-    if ($self->{OBJECT} =~ /\s/) {
-        $self->{OBJECT} =~ s/(\\)?\n+\s+/ /g;
-        $self->{OBJECT} = $self->wraplist(
-            map $self->fixpath($_,0), split /,?\s+/, $self->{OBJECT}
-        );
-    }
-
-    $self->{LDFROM} = $self->wraplist(
-        map $self->fixpath($_,0), split /,?\s+/, $self->{LDFROM}
-    );
+    return;
 }
 
-
 =item init_platform (override)
 
 Add PERL_VMS, MM_VMS_REVISION and MM_VMS_VERSION.
@@ -610,7 +600,7 @@
     # Fixup files for MMS macros
     # XXX is this list complete?
     for my $macro (qw/
-                   FULLEXT VERSION_FROM OBJECT LDFROM
+                   FULLEXT VERSION_FROM
 	      /	) {
         next unless defined $self->{$macro};
         $self->{$macro} = $self->fixpath($self->{$macro},0);
@@ -617,6 +607,24 @@
     }
 
 
+    for my $macro (qw/
+                   OBJECT LDFROM
+	      /	) {
+        next unless defined $self->{$macro};
+
+        # Must expand macros before splitting on unescaped whitespace.
+        $self->{$macro} = $self->eliminate_macros($self->{$macro});
+        if ($self->{$macro} =~ /(?<!\^)\s/) {
+            $self->{$macro} =~ s/(\\)?\n+\s+/ /g;
+            $self->{$macro} = $self->wraplist(
+                map $self->fixpath($_,0), split /,?(?<!\^)\s+/, $self->{$macro}
+            );
+        }
+        else {
+            $self->{$macro} = $self->fixpath($self->{$macro},0);
+        }
+    }
+
     for my $macro (qw/ XS MAN1PODS MAN3PODS PM /) {
         # Where is the space coming from? --jhi
         next unless $self ne " " && defined $self->{$macro};
@@ -679,7 +687,7 @@
     my($name,$sys, at m);
 
     ( $name = $self->{NAME} . "_cflags" ) =~ s/:/_/g ;
-    print STDOUT "Unix shell script ".$Config{"$self->{'BASEEXT'}_cflags"}.
+    print "Unix shell script ".$Config{"$self->{'BASEEXT'}_cflags"}.
          " required to modify CC command for $self->{'BASEEXT'}\n"
     if ($Config{$name});
 
@@ -1280,23 +1288,12 @@
     my($self) = @_;
     my(@m);
 
-    push @m, '
-$(OBJECT) : $(PERL_INC)EXTERN.h, $(PERL_INC)INTERN.h, $(PERL_INC)XSUB.h
-$(OBJECT) : $(PERL_INC)av.h, $(PERL_INC)config.h
-$(OBJECT) : $(PERL_INC)cop.h, $(PERL_INC)cv.h, $(PERL_INC)embed.h
-$(OBJECT) : $(PERL_INC)embedvar.h, $(PERL_INC)form.h
-$(OBJECT) : $(PERL_INC)gv.h, $(PERL_INC)handy.h, $(PERL_INC)hv.h
-$(OBJECT) : $(PERL_INC)intrpvar.h, $(PERL_INC)iperlsys.h, $(PERL_INC)keywords.h
-$(OBJECT) : $(PERL_INC)mg.h, $(PERL_INC)nostdio.h, $(PERL_INC)op.h
-$(OBJECT) : $(PERL_INC)opcode.h, $(PERL_INC)patchlevel.h
-$(OBJECT) : $(PERL_INC)perl.h, $(PERL_INC)perlio.h
-$(OBJECT) : $(PERL_INC)perlsdio.h, $(PERL_INC)perlvars.h
-$(OBJECT) : $(PERL_INC)perly.h, $(PERL_INC)pp.h, $(PERL_INC)pp_proto.h
-$(OBJECT) : $(PERL_INC)proto.h, $(PERL_INC)regcomp.h, $(PERL_INC)regexp.h
-$(OBJECT) : $(PERL_INC)regnodes.h, $(PERL_INC)scope.h, $(PERL_INC)sv.h
-$(OBJECT) : $(PERL_INC)thread.h, $(PERL_INC)util.h, $(PERL_INC)vmsish.h
+    if ($self->{OBJECT}) {
+        # Need to add an object file dependency on the perl headers.
+        # this is very important for XS modules in perl.git development.
 
-' if $self->{OBJECT}; 
+        push @m, $self->_perl_header_files_fragment(""); # empty separator on VMS as its in the $(PERL_INC)
+    }
 
     if ($self->{PERL_SRC}) {
 	my(@macros);
@@ -1495,7 +1492,7 @@
     push @optlibs, grep { !/PerlShr/i } split ' ', +($self->ext())[2];
     if ($libperl) {
 	unless (-f $libperl || -f ($libperl = $self->catfile($Config{'installarchlib'},'CORE',$libperl))) {
-	    print STDOUT "Warning: $libperl not found\n";
+	    print "Warning: $libperl not found\n";
 	    undef $libperl;
 	}
     }
@@ -1504,7 +1501,7 @@
 	    $libperl = $self->catfile($self->{PERL_SRC},"libperl$self->{LIB_EXT}");
 	} elsif (-f ($libperl = $self->catfile($Config{'installarchlib'},'CORE',"libperl$self->{LIB_EXT}")) ) {
 	} else {
-	    print STDOUT "Warning: $libperl not found
+	    print "Warning: $libperl not found
     If you're going to build a static perl binary, make sure perl is installed
     otherwise ignore this warning\n";
 	}
@@ -1633,7 +1630,7 @@
                $Config{lc $var} || $Config{lc $var_no_install};
 
     if( !$path ) {
-        print STDERR "  no Config found for $var.\n" if $Verbose >= 2;
+        warn "  no Config found for $var.\n" if $Verbose >= 2;
         $path = $self->_prefixify_default($rprefix, $default);
     }
     elsif( !$self->{ARGS}{PREFIX} || !$self->file_name_is_absolute($path) ) {
@@ -1640,16 +1637,16 @@
         # do nothing if there's no prefix or if its relative
     }
     elsif( $sprefix eq $rprefix ) {
-        print STDERR "  no new prefix.\n" if $Verbose >= 2;
+        warn "  no new prefix.\n" if $Verbose >= 2;
     }
     else {
 
-        print STDERR "  prefixify $var => $path\n"     if $Verbose >= 2;
-        print STDERR "    from $sprefix to $rprefix\n" if $Verbose >= 2;
+        warn "  prefixify $var => $path\n"     if $Verbose >= 2;
+        warn "    from $sprefix to $rprefix\n" if $Verbose >= 2;
 
         my($path_vol, $path_dirs) = $self->splitpath( $path );
         if( $path_vol eq $Config{vms_prefix}.':' ) {
-            print STDERR "  $Config{vms_prefix}: seen\n" if $Verbose >= 2;
+            warn "  $Config{vms_prefix}: seen\n" if $Verbose >= 2;
 
             $path_dirs =~ s{^\[}{\[.} unless $path_dirs =~ m{^\[\.};
             $path = $self->_catprefix($rprefix, $path_dirs);
@@ -1667,14 +1664,14 @@
 sub _prefixify_default {
     my($self, $rprefix, $default) = @_;
 
-    print STDERR "  cannot prefix, using default.\n" if $Verbose >= 2;
+    warn "  cannot prefix, using default.\n" if $Verbose >= 2;
 
     if( !$default ) {
-        print STDERR "No default!\n" if $Verbose >= 1;
+        warn "No default!\n" if $Verbose >= 1;
         return;
     }
     if( !$rprefix ) {
-        print STDERR "No replacement prefix!\n" if $Verbose >= 1;
+        warn "No replacement prefix!\n" if $Verbose >= 1;
         return '';
     }
 
@@ -1753,13 +1750,21 @@
 =cut
 
 sub echo {
-    my($self, $text, $file, $appending) = @_;
-    $appending ||= 0;
+    my($self, $text, $file, $opts) = @_;
 
-    my $opencmd = $appending ? 'Open/Append' : 'Open/Write';
+    # Compatibility with old options
+    if( !ref $opts ) {
+        my $append = $opts;
+        $opts = { append => $append || 0 };
+    }
+    my $opencmd = $opts->{append} ? 'Open/Append' : 'Open/Write';
 
+    $opts->{allow_variables} = 0 unless defined $opts->{allow_variables};
+
+    my $ql_opts = { allow_variables => $opts->{allow_variables} };
+
     my @cmds = ("\$(NOECHO) $opencmd MMECHOFILE $file ");
-    push @cmds, map { '$(NOECHO) Write MMECHOFILE '.$self->quote_literal($_) } 
+    push @cmds, map { '$(NOECHO) Write MMECHOFILE '.$self->quote_literal($_, $ql_opts) } 
                 split /\n/, $text;
     push @cmds, '$(NOECHO) Close MMECHOFILE';
     return @cmds;
@@ -1771,14 +1776,49 @@
 =cut
 
 sub quote_literal {
-    my($self, $text) = @_;
+    my($self, $text, $opts) = @_;
+    $opts->{allow_variables} = 1 unless defined $opts->{allow_variables};
 
     # I believe this is all we should need.
     $text =~ s{"}{""}g;
 
+    $text = $opts->{allow_variables}
+      ? $self->escape_dollarsigns($text) : $self->escape_all_dollarsigns($text);
+
     return qq{"$text"};
 }
 
+=item escape_dollarsigns
+
+Quote, don't escape.
+
+=cut
+
+sub escape_dollarsigns {
+    my($self, $text) = @_;
+
+    # Quote dollar signs which are not starting a variable
+    $text =~ s{\$ (?!\() }{"\$"}gx;
+
+    return $text;
+}
+
+
+=item escape_all_dollarsigns
+
+Quote, don't escape.
+
+=cut
+
+sub escape_all_dollarsigns {
+    my($self, $text) = @_;
+
+    # Quote dollar signs
+    $text =~ s{\$}{"\$\"}gx;
+
+    return $text;
+}
+
 =item escape_newlines
 
 =cut


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VMS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package ExtUtils::MM_VOS;
 
 use strict;
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Unix;
 our @ISA = qw(ExtUtils::MM_Unix);


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_VOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,15 +27,23 @@
 require ExtUtils::MM_Any;
 require ExtUtils::MM_Unix;
 our @ISA = qw( ExtUtils::MM_Any ExtUtils::MM_Unix );
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 $ENV{EMXSHELL} = 'sh'; # to run `commands`
 
-my $BORLAND = $Config{'cc'} =~ /^bcc/i ? 1 : 0;
-my $GCC     = $Config{'cc'} =~ /\bgcc$/i ? 1 : 0;
-my $DLLTOOL = $Config{'dlltool'} || 'dlltool';
+my ( $BORLAND, $GCC, $DLLTOOL ) = _identify_compiler_environment( \%Config );
 
+sub _identify_compiler_environment {
+	my ( $config ) = @_;
 
+	my $BORLAND = $config->{cc} =~ /^bcc/i ? 1 : 0;
+	my $GCC     = $config->{cc} =~ /\bgcc\b/i ? 1 : 0;
+	my $DLLTOOL = $config->{dlltool} || 'dlltool';
+
+	return ( $BORLAND, $GCC, $DLLTOOL );
+}
+
+
 =head2 Overridden methods
 
 =over 4
@@ -133,21 +141,13 @@
                                                        : '\\';
 }
 
-=item B<init_others>
+=item init_tools
 
-Override some of the Unix specific commands with portable
-ExtUtils::Command ones.
+Override some of the slower, portable commands with Windows specific ones.
 
-Also provide defaults for LD and AR in case the %Config values aren't
-set.
-
-LDLOADLIBS's default is changed to $Config{libs}.
-
-Adjustments are made for Borland's quirks needing -L to come first.
-
 =cut
 
-sub init_others {
+sub init_tools {
     my ($self) = @_;
 
     $self->{NOOP}     ||= 'rem';
@@ -157,14 +157,33 @@
       "\$(PERLRUN) $self->{PERL_SRC}/win32/bin/pl2bat.pl" : 
       'pl2bat.bat';
 
+    $self->SUPER::init_tools;
+
+    # Setting SHELL from $Config{sh} can break dmake.  Its ok without it.
+    delete $self->{SHELL};
+
+    return;
+}
+
+
+=item init_others
+
+Override the default link and compile tools.
+
+LDLOADLIBS's default is changed to $Config{libs}.
+
+Adjustments are made for Borland's quirks needing -L to come first.
+
+=cut
+
+sub init_others {
+    my $self = shift;
+
     $self->{LD}     ||= 'link';
     $self->{AR}     ||= 'lib';
 
     $self->SUPER::init_others;
 
-    # Setting SHELL from $Config{sh} can break dmake.  Its ok without it.
-    delete $self->{SHELL};
-
     $self->{LDLOADLIBS} ||= $Config{libs};
     # -Lfoo must come first for Borland, so we put it in LDDLFLAGS
     if ($BORLAND) {
@@ -179,7 +198,7 @@
         $self->{LDDLFLAGS} .= " $libpath";
     }
 
-    return 1;
+    return;
 }
 
 
@@ -195,6 +214,8 @@
     my($self) = shift;
 
     $self->{MM_Win32_VERSION} = $VERSION;
+
+    return;
 }
 
 sub platform_constants {
@@ -211,6 +232,36 @@
 }
 
 
+=item constants
+
+Add MAXLINELENGTH for dmake before all the constants are output.
+
+=cut
+
+sub constants {
+    my $self = shift;
+
+    my $make_text = $self->SUPER::constants;
+    return $make_text unless $self->is_make_type('dmake');
+
+    # dmake won't read any single "line" (even those with escaped newlines)
+    # larger than a certain size which can be as small as 8k.  PM_TO_BLIB
+    # on large modules like DateTime::TimeZone can create lines over 32k.
+    # So we'll crank it up to a <ironic>WHOPPING</ironic> 64k.
+    #
+    # This has to come here before all the constants and not in
+    # platform_constants which is after constants.
+    my $size = $self->{MAXLINELENGTH} || 64 * 1024;
+    my $prefix = qq{
+# Get dmake to read long commands like PM_TO_BLIB
+MAXLINELENGTH = $size
+
+};
+
+    return $prefix . $make_text;
+}
+
+
 =item special_targets
 
 Add .USESHELL target for dmake.
@@ -445,22 +496,34 @@
 
 
 sub quote_literal {
-    my($self, $text) = @_;
+    my($self, $text, $opts) = @_;
+    $opts->{allow_variables} = 1 unless defined $opts->{allow_variables};
 
-    # I don't know if this is correct, but it seems to work on
-    # Win98's command.com
-    $text =~ s{"}{\\"}g;
+    # See: http://www.autohotkey.net/~deleyd/parameters/parameters.htm#CPP
 
-    # dmake eats '{' inside double quotes and leaves alone { outside double
-    # quotes; however it transforms {{ into { either inside and outside double
-    # quotes.  It also translates }} into }.  The escaping below is not
-    # 100% correct.
+    # Apply the Microsoft C/C++ parsing rules
+    $text =~ s{\\\\"}{\\\\\\\\\\"}g;  # \\" -> \\\\\"
+    $text =~ s{(?<!\\)\\"}{\\\\\\"}g; # \"  -> \\\"
+    $text =~ s{(?<!\\)"}{\\"}g;       # "   -> \"
+    $text = qq{"$text"} if $text =~ /[ \t]/;
+
+    # Apply the Command Prompt parsing rules (cmd.exe)
+    my @text = split /("[^"]*")/, $text;
+    # We should also escape parentheses, but it breaks one-liners containing
+    # $(MACRO)s in makefiles.
+    s{([<>|&^@!])}{^$1}g foreach grep { !/^"[^"]*"$/ } @text;
+    $text = join('', @text);
+    
+    # dmake expands {{ to { and }} to }.
     if( $self->is_make_type('dmake') ) {
         $text =~ s/{/{{/g;
-        $text =~ s/}}/}}}/g;
+        $text =~ s/}/}}/g;
     }
 
-    return qq{"$text"};
+    $text = $opts->{allow_variables}
+      ? $self->escape_dollarsigns($text) : $self->escape_all_dollarsigns($text);
+
+    return $text;
 }
 
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win32.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require ExtUtils::MM_Win32;
 our @ISA = qw(ExtUtils::MM_Win32);


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Win95.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 require ExtUtils::MM;
 
-our $VERSION = 6.57_05;
+our $VERSION = '6.66';
 our @ISA = qw(ExtUtils::MM);
 
 {


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MY.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 use Config ();
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::FAQ;
 
-our $VERSION = '6.57_01';
+our $VERSION = '6.66';
 
 1;
 __END__
@@ -47,6 +47,9 @@
 Module::Build, as of 0.28, supports two ways to install to the same
 location as MakeMaker.
 
+We highly recommend the install_base method, its the simplest and most
+closely approximates the expected behavior of an installation prefix.
+
 1) Use INSTALL_BASE / C<--install_base>
 
 MakeMaker (as of 6.31) and Module::Build (as of 0.28) both can install
@@ -58,6 +61,9 @@
     perl Makefile.PL INSTALL_BASE=/whatever
     perl Build.PL    --install_base /whatever
 
+This works most like other language's behavior when you specify a
+prefix.  We recommend this method.
+
 2) Use PREFIX / C<--prefix>
 
 Module::Build 0.28 added support for C<--prefix> which works like
@@ -66,10 +72,14 @@
     perl Makefile.PL PREFIX=/whatever
     perl Build.PL    --prefix /whatever
 
+We highly discourage this method.  It should only be used if you know
+what you're doing and specifically need the PREFIX behavior.  The
+PREFIX algorithm is complicated and focused on matching the system
+installation.
 
 =item How do I keep from installing man pages?
 
-Recent versions of MakeMaker will only install man pages on Unix like
+Recent versions of MakeMaker will only install man pages on Unix-like
 operating systems.
 
 For an individual module:
@@ -119,7 +129,23 @@
 
 =back
 
+=head2 Common errors and problems
 
+=over 4
+
+=item "No rule to make target `/usr/lib/perl5/CORE/config.h', needed by `Makefile'"
+
+Just what it says, you're missing that file.  MakeMaker uses it to
+determine if perl has been rebuilt since the Makefile was made.  It's
+a bit of a bug that it halts installation.
+
+Some operating systems don't ship the CORE directory with their base
+perl install.  To solve the problem, you likely need to install a perl
+development package such as perl-devel (CentOS, Fedora and other
+Redhat systems) or perl (Ubuntu and other Debian systems).
+
+=back
+
 =head2 Philosophy and History
 
 =over 4
@@ -181,32 +207,32 @@
 Simplest way to do it automatically is to use your version control
 system's revision number (you are using version control, right?).
 
-In CVS, RCS and SVN you use $Revision: 1.1.1.1 $ (see the documentation of your
+In CVS, RCS and SVN you use $Revision$ (see the documentation of your
 version control system for details).  Every time the file is checked
-in the $Revision: 1.1.1.1 $ will be updated, updating your $VERSION.
+in the $Revision$ will be updated, updating your $VERSION.
 
-SVN uses a simple integer for $Revision: 1.1.1.1 $ so you can adapt it for your
+SVN uses a simple integer for $Revision$ so you can adapt it for your
 $VERSION like so:
 
-    ($VERSION) = q$Revision: 1.1.1.1 $ =~ /(\d+)/;
+    ($VERSION) = q$Revision$ =~ /(\d+)/;
 
 In CVS and RCS version 1.9 is followed by 1.10.  Since CPAN compares
 version numbers numerically we use a sprintf() to convert 1.9 to 1.009
 and 1.10 to 1.010 which compare properly.
 
-    $VERSION = sprintf "%d.%03d", q$Revision: 1.1.1.1 $ =~ /(\d+)\.(\d+)/g;
+    $VERSION = sprintf "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/g;
 
-If branches are involved (ie. $Revision: 1.1.1.1 $) its a little more
+If branches are involved (ie. $Revision: 1.5.3.4$) it's a little more
 complicated.
 
     # must be all on one line or MakeMaker will get confused.
-    $VERSION = do { my @r = (q$Revision: 1.1.1.1 $ =~ /\d+/g); sprintf "%d."."%03d" x $#r, @r };
+    $VERSION = do { my @r = (q$Revision$ =~ /\d+/g); sprintf "%d."."%03d" x $#r, @r };
 
-In SVN, $Revision: 1.1.1.1 $ should be the same for every file in the project so
+In SVN, $Revision$ should be the same for every file in the project so
 they would all have the same $VERSION.  CVS and RCS have a different
-$Revision: 1.1.1.1 $ per file so each file will have a differnt $VERSION.
+$Revision$ per file so each file will have a different $VERSION.
 Distributed version control systems, such as SVK, may have a different
-$Revision: 1.1.1.1 $ based on who checks out the file leading to a different $VERSION
+$Revision$ based on who checks out the file, leading to a different $VERSION
 on each machine!  Finally, some distributed version control systems, such
 as darcs, have no concept of revision number at all.
 
@@ -222,7 +248,7 @@
 
 =item How do I delete everything not in my F<MANIFEST>?
 
-Some folks are surpried that C<make distclean> does not delete
+Some folks are surprised that C<make distclean> does not delete
 everything not listed in their MANIFEST (thus making a clean
 distribution) but only tells them what they need to delete.  This is
 done because it is considered too dangerous.  While developing your
@@ -269,7 +295,7 @@
 
 =item Which tar should I use on Windows?
 
-We recommend ptar from Archive::Tar not older that 1.66 with '-C' option. 
+We recommend ptar from Archive::Tar not older than 1.66 with '-C' option. 
 
 =item Which zip should I use on Windows for '[nd]make zipdist'?
 
@@ -282,12 +308,12 @@
 
 =over 4
 
-=item How to I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?
+=item How do I prevent "object version X.XX does not match bootstrap parameter Y.YY" errors?
 
 XS code is very sensitive to the module version number and will
 complain if the version number in your Perl module doesn't match.  If
 you change your module's version # without rerunning Makefile.PL the old
-version number will remain in the Makefile causing the XS code to be built
+version number will remain in the Makefile, causing the XS code to be built
 with the wrong number.
 
 To avoid this, you can force the Makefile to be rebuilt whenever you


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package ExtUtils::MakeMaker::Tutorial;
 
-our $VERSION = 6.57_01;
+our $VERSION = '6.66';
 
 
 =head1 NAME
@@ -19,7 +19,7 @@
 =head1 DESCRIPTION
 
 This is a short tutorial on writing a simple module with MakeMaker.
-Its really not that hard.
+It's really not that hard.
 
 
 =head2 The Mantra
@@ -95,8 +95,8 @@
 
 =item lib/
 
-This is the directory where your .pm and .pod files you wish to have
-installed go.  They are layed out according to namespace.  So Foo::Bar
+This is the directory where the .pm and .pod files you wish to have
+installed go.  They are laid out according to namespace.  So Foo::Bar
 is F<lib/Foo/Bar.pm>.
 
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/Tutorial.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/YAML.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/YAML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/YAML.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker/YAML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-# $Id: MakeMaker.pm,v 1.1.1.1 2011-05-18 13:33:31 laffer1 Exp $
+# $Id$
 package ExtUtils::MakeMaker;
 
 use strict;
@@ -7,7 +7,7 @@
 
 require Exporter;
 use ExtUtils::MakeMaker::Config;
-use Carp ();
+use Carp;
 use File::Path;
 
 our $Verbose = 0;       # exported
@@ -18,9 +18,10 @@
 my @Prepend_parent;
 my %Recognized_Att_Keys;
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
+$VERSION = eval $VERSION;  ## no critic [BuiltinFunctions::ProhibitStringyEval]
 
-# Emulate something resembling CVS $Revision: 1.1.1.1 $
+# Emulate something resembling CVS $Revision$
 (our $Revision = $VERSION) =~ s{_}{};
 $Revision = int $Revision * 10000;
 
@@ -47,13 +48,13 @@
 
 
 sub WriteMakefile {
-    Carp::croak "WriteMakefile: Need even number of args" if @_ % 2;
+    croak "WriteMakefile: Need even number of args" if @_ % 2;
 
     require ExtUtils::MY;
     my %att = @_;
 
     _convert_compat_attrs(\%att);
-
+    
     _verify_att(\%att);
 
     my $mm = MM->new(\%att);
@@ -93,6 +94,7 @@
  PREREQ_PM          => 'HASH',
  BUILD_REQUIRES     => 'HASH',
  CONFIGURE_REQUIRES => 'HASH',
+ TEST_REQUIRES      => 'HASH',
  SKIP               => 'ARRAY',
  TYPEMAPS           => 'ARRAY',
  XS                 => 'HASH',
@@ -114,7 +116,7 @@
 @Att_Sigs{keys %Recognized_Att_Keys} = ('') x keys %Recognized_Att_Keys;
 @Att_Sigs{keys %Special_Sigs} = values %Special_Sigs;
 
-sub _convert_compat_attrs {
+sub _convert_compat_attrs { #result of running several times should be same
     my($att) = @_;
     if (exists $att->{AUTHOR}) {
         if ($att->{AUTHOR}) {
@@ -176,7 +178,7 @@
 
 sub prompt ($;$) {  ## no critic
     my($mess, $def) = @_;
-    Carp::confess("prompt function called without an argument") 
+    confess("prompt function called without an argument") 
         unless defined $mess;
 
     my $isa_tty = -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT)) ;
@@ -224,7 +226,7 @@
 
 sub eval_in_x {
     my($self,$dir) = @_;
-    chdir $dir or Carp::carp("Couldn't change to directory $dir: $!");
+    chdir $dir or carp("Couldn't change to directory $dir: $!");
 
     {
         package main;
@@ -273,12 +275,13 @@
     INC INCLUDE_EXT LDFROM LIB LIBPERL_A LIBS LICENSE
     LINKTYPE MAKE MAKEAPERL MAKEFILE MAKEFILE_OLD MAN1PODS MAN3PODS MAP_TARGET
     META_ADD META_MERGE MIN_PERL_VERSION BUILD_REQUIRES CONFIGURE_REQUIRES
-    MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NO_MYMETA NORECURS NO_VC OBJECT
-    OPTIMIZE PERL_MALLOC_OK PERL PERLMAINCC PERLRUN PERLRUNINST PERL_CORE
+    MYEXTLIB NAME NEEDS_LINKING NOECHO NO_META NO_MYMETA
+    NORECURS NO_VC OBJECT OPTIMIZE PERL_MALLOC_OK PERL PERLMAINCC PERLRUN
+    PERLRUNINST PERL_CORE
     PERL_SRC PERM_DIR PERM_RW PERM_RWX
     PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC
     PPM_INSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
-    SIGN SKIP TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
+    SIGN SKIP TEST_REQUIRES TYPEMAPS VERSION VERSION_FROM XS XSOPT XSPROTOARG
     XS_VERSION clean depend dist dynamic_lib linkext macro realclean
     tool_autosplit
 
@@ -401,6 +404,8 @@
     my($class,$self) = @_;
     my($key);
 
+    _convert_compat_attrs($self) if defined $self && $self;
+
     # Store the original args passed to WriteMakefile()
     foreach my $k (keys %$self) {
         $self->{ARGS}{$k} = $self->{$k};
@@ -408,13 +413,17 @@
 
     $self = {} unless defined $self;
 
-    $self->{PREREQ_PM}      ||= {};
-    $self->{BUILD_REQUIRES} ||= {};
-
     # Temporarily bless it into MM so it can be used as an
     # object.  It will be blessed into a temp package later.
     bless $self, "MM";
 
+    # Cleanup all the module requirement bits
+    for my $key (qw(PREREQ_PM BUILD_REQUIRES CONFIGURE_REQUIRES TEST_REQUIRES)) {
+        $self->{$key}      ||= {};
+        $self->clean_versions( $key );
+    }
+
+
     if ("@ARGV" =~ /\bPREREQ_PRINT\b/) {
         $self->_PREREQ_PRINT;
     }
@@ -424,7 +433,7 @@
         $self->_PRINT_PREREQ;
    }
 
-    print STDOUT "MakeMaker (v$VERSION)\n" if $Verbose;
+    print "MakeMaker (v$VERSION)\n" if $Verbose;
     if (-f "MANIFEST" && ! -f "Makefile" && ! $ENV{PERL_CORE}){
         check_manifest();
     }
@@ -446,7 +455,7 @@
     };
     if (!$perl_version_ok) {
         if (!defined $perl_version_ok) {
-            warn <<'END';
+            die <<'END';
 Warning: MIN_PERL_VERSION is not in a recognized format.
 Recommended is a quoted numerical value like '5.005' or '5.008001'.
 END
@@ -515,13 +524,13 @@
             _convert_compat_attrs(\%configure_att);
             $self = { %$self, %configure_att };
         } else {
-            Carp::croak "Attribute 'CONFIGURE' to WriteMakefile() not a code reference\n";
+            croak "Attribute 'CONFIGURE' to WriteMakefile() not a code reference\n";
         }
     }
 
     # This is for old Makefiles written pre 5.00, will go away
     if ( Carp::longmess("") =~ /runsubdirpl/s ){
-        Carp::carp("WARNING: Please rerun 'perl Makefile.PL' to regenerate your Makefiles\n");
+        carp("WARNING: Please rerun 'perl Makefile.PL' to regenerate your Makefiles\n");
     }
 
     my $newclass = ++$PACKNAME;
@@ -606,6 +615,7 @@
         $self->catfile($Config{'archlibexp'}, "Config.pm")
     );
 
+    $self->init_tools();
     $self->init_others();
     $self->init_platform();
     $self->init_PERM();
@@ -692,11 +702,11 @@
 }
 
 sub WriteEmptyMakefile {
-    Carp::croak "WriteEmptyMakefile: Need an even number of args" if @_ % 2;
+    croak "WriteEmptyMakefile: Need an even number of args" if @_ % 2;
 
     my %att = @_;
     my $self = MM->new(\%att);
-    
+
     my $new = $self->{MAKEFILE};
     my $old = $self->{MAKEFILE_OLD};
     if (-f $old) {
@@ -772,7 +782,11 @@
         if ($key eq 'PREREQ_PM') {
             # CPAN.pm takes prereqs from this field in 'Makefile'
             # and does not know about BUILD_REQUIRES
-            $v = neatvalue({ %{ $att->{PREREQ_PM} || {} }, %{ $att->{BUILD_REQUIRES} || {} } });
+            $v = neatvalue({
+                %{ $att->{PREREQ_PM} || {} },
+                %{ $att->{BUILD_REQUIRES} || {} },
+                %{ $att->{TEST_REQUIRES} || {} },
+            });
         } else {
             $v = neatvalue($att->{$key});
         }
@@ -787,18 +801,18 @@
 
 
 sub check_manifest {
-    print STDOUT "Checking if your kit is complete...\n";
+    print "Checking if your kit is complete...\n";
     require ExtUtils::Manifest;
     # avoid warning
     $ExtUtils::Manifest::Quiet = $ExtUtils::Manifest::Quiet = 1;
     my(@missed) = ExtUtils::Manifest::manicheck();
     if (@missed) {
-        print STDOUT "Warning: the following files are missing in your kit:\n";
+        print "Warning: the following files are missing in your kit:\n";
         print "\t", join "\n\t", @missed;
-        print STDOUT "\n";
-        print STDOUT "Please inform the author.\n";
+        print "\n";
+        print "Please inform the author.\n";
     } else {
-        print STDOUT "Looks good\n";
+        print "Looks good\n";
     }
 }
 
@@ -826,9 +840,9 @@
     if (defined $self->{potential_libs}){
         my($msg)="'potential_libs' => '$self->{potential_libs}' should be";
         if ($self->{potential_libs}){
-            print STDOUT "$msg changed to:\n\t'LIBS' => ['$self->{potential_libs}']\n";
+            print "$msg changed to:\n\t'LIBS' => ['$self->{potential_libs}']\n";
         } else {
-            print STDOUT "$msg deleted.\n";
+            print "$msg deleted.\n";
         }
         $self->{LIBS} = [$self->{potential_libs}];
         delete $self->{potential_libs};
@@ -836,7 +850,7 @@
     # catch old-style 'ARMAYBE' and inform user how to 'upgrade'
     if (defined $self->{ARMAYBE}){
         my($armaybe) = $self->{ARMAYBE};
-        print STDOUT "ARMAYBE => '$armaybe' should be changed to:\n",
+        print "ARMAYBE => '$armaybe' should be changed to:\n",
                         "\t'dynamic_lib' => {ARMAYBE => '$armaybe'}\n";
         my(%dl) = %{$self->{dynamic_lib} || {}};
         $self->{dynamic_lib} = { %dl, ARMAYBE => $armaybe};
@@ -843,7 +857,7 @@
         delete $self->{ARMAYBE};
     }
     if (defined $self->{LDTARGET}){
-        print STDOUT "LDTARGET should be changed to LDFROM\n";
+        print "LDTARGET should be changed to LDFROM\n";
         $self->{LDFROM} = $self->{LDTARGET};
         delete $self->{LDTARGET};
     }
@@ -865,8 +879,8 @@
 
     foreach my $mmkey (sort keys %$self){
         next if $mmkey eq 'ARGS';
-        print STDOUT "  $mmkey => ", neatvalue($self->{$mmkey}), "\n" if $Verbose;
-        print STDOUT "'$mmkey' is not a known MakeMaker parameter name.\n"
+        print "  $mmkey => ", neatvalue($self->{$mmkey}), "\n" if $Verbose;
+        print "'$mmkey' is not a known MakeMaker parameter name.\n"
             unless exists $Recognized_Att_Keys{$mmkey};
     }
     $| = 1 if $Verbose;
@@ -907,7 +921,7 @@
     my($hint_file) = shift;
 
     local($@, $!);
-    print STDERR "Processing hints file $hint_file\n";
+    warn "Processing hints file $hint_file\n";
 
     # Just in case the ./ isn't on the hint file, which File::Spec can
     # often strip off, we bung the curdir into @INC
@@ -915,7 +929,7 @@
     my $ret = do $hint_file;
     if( !defined $ret ) {
         my $error = $@ || $!;
-        print STDERR $error;
+        warn $error;
     }
 }
 
@@ -985,20 +999,20 @@
     my($self) = shift;
     my($section) = @_;
     if ($section eq 'dynamic') {
-        print STDOUT "Warning (non-fatal): Target 'dynamic' depends on targets ",
+        print "Warning (non-fatal): Target 'dynamic' depends on targets ",
         "in skipped section 'dynamic_bs'\n"
             if $self->{SKIPHASH}{dynamic_bs} && $Verbose;
-        print STDOUT "Warning (non-fatal): Target 'dynamic' depends on targets ",
+        print "Warning (non-fatal): Target 'dynamic' depends on targets ",
         "in skipped section 'dynamic_lib'\n"
             if $self->{SKIPHASH}{dynamic_lib} && $Verbose;
     }
     if ($section eq 'dynamic_lib') {
-        print STDOUT "Warning (non-fatal): Target '\$(INST_DYNAMIC)' depends on ",
+        print "Warning (non-fatal): Target '\$(INST_DYNAMIC)' depends on ",
         "targets in skipped section 'dynamic_bs'\n"
             if $self->{SKIPHASH}{dynamic_bs} && $Verbose;
     }
     if ($section eq 'static') {
-        print STDOUT "Warning (non-fatal): Target 'static' depends on targets ",
+        print "Warning (non-fatal): Target 'static' depends on targets ",
         "in skipped section 'static_lib'\n"
             if $self->{SKIPHASH}{static_lib} && $Verbose;
     }
@@ -1010,7 +1024,7 @@
     my $self = shift;
 
     my $finalname = $self->{MAKEFILE};
-    print STDOUT "Writing $finalname for $self->{NAME}\n";
+    print "Writing $finalname for $self->{NAME}\n";
 
     unlink($finalname, "MakeMaker.tmp", $Is_VMS ? 'Descrip.MMS' : ());
     open(my $fh,">", "MakeMaker.tmp")
@@ -1029,9 +1043,10 @@
 
     unless ($self->{NO_MYMETA}) {
         # Write MYMETA.yml to communicate metadata up to the CPAN clients
-        print STDOUT "Writing MYMETA.yml\n";
+        if ( $self->write_mymeta( $self->mymeta ) ) {
+            print "Writing MYMETA.yml and MYMETA.json\n";
+        }
 
-        $self->write_mymeta( $self->mymeta );
     }
     my %keep = map { ($_ => 1) } qw(NEEDS_LINKING HAS_LINK_CODE);
     if ($self->{PARENT} && !$self->{_KEEP_AFTER_FLUSH}) {
@@ -1103,6 +1118,22 @@
     return "{ ".join(', ', at m)." }";
 }
 
+# Look for weird version numbers, warn about them and set them to 0
+# before CPAN::Meta chokes.
+sub clean_versions {
+    my($self, $key) = @_;
+
+    my $reqs = $self->{$key};
+    for my $module (keys %$reqs) {
+        my $version = $reqs->{$module};
+
+        if( !defined $version or $version !~ /^[\d_\.]+$/ ) {
+            carp "Unparsable version '$version' for prerequisite $module";
+            $reqs->{$module} = 0;
+        }
+    }
+}
+
 sub selfdocument {
     my($self) = @_;
     my(@m);
@@ -1131,7 +1162,10 @@
 
   use ExtUtils::MakeMaker;
 
-  WriteMakefile( ATTRIBUTE => VALUE [, ...] );
+  WriteMakefile(
+      NAME              => "Foo::Bar",
+      VERSION_FROM      => "lib/Foo/Bar.pm",
+  );
 
 =head1 DESCRIPTION
 
@@ -1143,6 +1177,18 @@
 that can be individually overridden.  Each subroutine returns the text
 it wishes to have written to the Makefile.
 
+As there are various Make programs with incompatible syntax, which
+use operating system shells, again with incompatible syntax, it is
+important for users of this module to know which flavour of Make
+a Makefile has been written for so they'll use the correct one and
+won't have to face the possibly bewildering errors resulting from
+using the wrong one.
+
+On POSIX systems, that program will likely be GNU Make; on Microsoft
+Windows, it will be either Microsoft NMake or DMake. Note that this
+module does not support generating Makefiles for GNU Make on Windows.
+See the section on the L</"MAKE"> parameter for details.
+
 MakeMaker is object oriented. Each directory below the current
 directory that contains a Makefile.PL is treated as a separate
 object. This makes it possible to write an unlimited number of
@@ -1150,7 +1196,7 @@
 
 =head2 How To Write A Makefile.PL
 
-See ExtUtils::MakeMaker::Tutorial.
+See L<ExtUtils::MakeMaker::Tutorial>.
 
 The long answer is the rest of the manpage :-)
 
@@ -1179,7 +1225,7 @@
 =head2 make test
 
 MakeMaker checks for the existence of a file named F<test.pl> in the
-current directory and if it exists it execute the script with the
+current directory, and if it exists it executes the script with the
 proper set of perl C<-I> options.
 
 MakeMaker also checks for any files matching glob("t/*.t"). It will
@@ -1338,7 +1384,7 @@
     make test
     make install
 
-make install per default writes some documentation of what has been
+make install by default writes some documentation of what has been
 done into the file C<$(INSTALLARCHLIB)/perllocal.pod>. This feature
 can be bypassed by calling make pure_install.
 
@@ -1370,9 +1416,9 @@
 That produces a new perl binary in the current directory with all
 extensions linked in that can be found in INST_ARCHLIB, SITELIBEXP,
 and PERL_ARCHLIB. To do that, MakeMaker writes a new Makefile, on
-UNIX, this is called Makefile.aperl (may be system dependent). If you
-want to force the creation of a new perl, it is recommended, that you
-delete this Makefile.aperl, so the directories are searched-through
+UNIX, this is called F<Makefile.aperl> (may be system dependent). If you
+want to force the creation of a new perl, it is recommended that you
+delete this F<Makefile.aperl>, so the directories are searched through
 for linkable libraries again.
 
 The binary can be installed into the directory where perl normally
@@ -1395,7 +1441,7 @@
 In any case you will be prompted with the correct invocation of the
 C<inst_perl> target that installs the new binary into INSTALLBIN.
 
-make inst_perl per default writes some documentation of what has been
+make inst_perl by default writes some documentation of what has been
 done into the file C<$(INSTALLARCHLIB)/perllocal.pod>. This
 can be bypassed by calling make pure_inst_perl.
 
@@ -1460,12 +1506,12 @@
 by Configure at perl compilation time. MakeMaker supports the user who
 sets INSTALLPRIVLIB. If INSTALLPRIVLIB is set, but INSTALLARCHLIB not,
 then MakeMaker defaults the latter to be the same subdirectory of
-INSTALLPRIVLIB as Configure decided for the counterparts in %Config ,
+INSTALLPRIVLIB as Configure decided for the counterparts in %Config,
 otherwise it defaults to INSTALLPRIVLIB. The same relationship holds
 for INSTALLSITELIB and INSTALLSITEARCH.
 
 MakeMaker gives you much more freedom than needed to configure
-internal variables and get different results. It is worth to mention,
+internal variables and get different results. It is worth mentioning
 that make(1) also lets you configure most of the variables that are
 used in the Makefile. But in the majority of situations this will not
 be necessary, and should only be done if the author of a package
@@ -1491,8 +1537,8 @@
 =item AUTHOR
 
 Array of strings containing name (and email address) of package author(s).
-Is used in META.yml and PPD (Perl Package Description) files for PPM (Perl
-Package Manager).
+Is used in CPAN Meta files (META.yml or META.json) and PPD
+(Perl Package Description) files for PPM (Perl Package Manager).
 
 =item BINARY_LOCATION
 
@@ -1509,7 +1555,8 @@
 
 A hash of modules that are needed to build your module but not run it.
 
-This will go into the C<build_requires> field of your F<META.yml>.
+This will go into the C<build_requires> field of your CPAN Meta file.
+(F<META.yml> or F<META.json>).
 
 The format is the same as PREREQ_PM.
 
@@ -1556,7 +1603,8 @@
 A hash of modules that are required to run Makefile.PL itself, but not
 to run your distribution.
 
-This will go into the C<configure_requires> field of your F<META.yml>.
+This will go into the C<configure_requires> field of your CPAN Meta file
+(F<META.yml> or F<META.json>)
 
 Defaults to C<<< { "ExtUtils::MakeMaker" => 0 } >>>
 
@@ -1587,7 +1635,7 @@
 
 A safe filename for the package. 
 
-Defaults to NAME above but with :: replaced with -.
+Defaults to NAME below but with :: replaced with -.
 
 For example, Foo::Bar becomes Foo-Bar.
 
@@ -1827,7 +1875,7 @@
 
 =item INST_SCRIPT
 
-Directory, where executable files should be installed during
+Directory where executable files should be installed during
 'make'. Defaults to "./blib/script", just to have a dummy location during
 testing. make install will copy the files in INST_SCRIPT to
 INSTALLSCRIPT.
@@ -1888,7 +1936,7 @@
 
 =item LICENSE
 
-The licensing terms of your distribution.  Generally its "perl" for the
+The licensing terms of your distribution.  Generally it's "perl" for the
 same license as Perl itself.
 
 See L<Module::Build::API> for the list of options.
@@ -1908,16 +1956,24 @@
 generating the Makefile.
 
 MakeMaker also honors the MAKE environment variable.  This parameter
-takes precedent.
+takes precedence.
 
 Currently the only significant values are 'dmake' and 'nmake' for Windows
-users.
+users, instructing MakeMaker to generate a Makefile in the flavour of
+DMake ("Dennis Vadura's Make") or Microsoft NMake respectively.
 
-Defaults to $Config{make}.
+Defaults to $Config{make}, which may go looking for a Make program
+in your environment.
 
+How are you supposed to know what flavour of Make a Makefile has
+been generated for if you didn't specify a value explicitly? Search
+the generated Makefile for the definition of the MAKE variable,
+which is used to recursively invoke the Make utility. That will tell
+you what Make you're supposed to invoke the Makefile with.
+
 =item MAKEAPERL
 
-Boolean which tells MakeMaker, that it should include the rules to
+Boolean which tells MakeMaker that it should include the rules to
 make a perl. This is handled automatically as a switch by
 MakeMaker. The user normally does not need it.
 
@@ -1956,7 +2012,7 @@
 
 =item MAP_TARGET
 
-If it is intended, that a new perl binary be produced, this variable
+If it is intended that a new perl binary be produced, this variable
 may hold a name for that binary. Defaults to perl
 
 =item META_ADD
@@ -1963,7 +2019,8 @@
 
 =item META_MERGE
 
-A hashrefs of items to add to the F<META.yml>.
+A hashref of items to add to the CPAN Meta file (F<META.yml> or
+F<META.json>).
 
 They differ in how they behave if they have the same key as the
 default metadata.  META_ADD will override the default value with its
@@ -1976,19 +2033,28 @@
 
 The minimum required version of Perl for this distribution.
 
-Either 5.006001 or 5.6.1 format is acceptable.
+Either the 5.006001 or the 5.6.1 format is acceptable.
 
 =item MYEXTLIB
 
-If the extension links to a library that it builds set this to the
+If the extension links to a library that it builds, set this to the
 name of the library (see SDBM_File)
 
 =item NAME
 
-Perl module name for this extension (DBD::Oracle). This will default
-to the directory name but should be explicitly defined in the
-Makefile.PL.
+The package representing the distribution. For example, C<Test::More>
+or C<ExtUtils::MakeMaker>. It will be used to derive information about
+the distribution such as the L<DISTNAME>, installation locations
+within the Perl library and where XS files will be looked for by
+default (see L<XS>).
 
+C<NAME> I<must> be a valid Perl package name and it I<must> have an
+associated C<.pm> file. For example, C<Foo::Bar> is a valid C<NAME>
+and there must exist F<Foo/Bar.pm>.  Any XS code should be in
+F<Bar.xs> unless stated otherwise.
+
+Your distribution B<must> have a C<NAME>.
+
 =item NEEDS_LINKING
 
 MakeMaker will figure out if an extension contains linkable code
@@ -1998,7 +2064,7 @@
 
 =item NOECHO
 
-Command so make does not print the literal commands its running.
+Command so make does not print the literal commands it's running.
 
 By setting it to an empty string you can generate a Makefile that
 prints all commands. Mainly used in debugging MakeMaker itself.
@@ -2012,14 +2078,14 @@
 =item NO_META
 
 When true, suppresses the generation and addition to the MANIFEST of
-the META.yml module meta-data file during 'make distdir'.
+the META.yml and META.json module meta-data files during 'make distdir'.
 
 Defaults to false.
 
 =item NO_MYMETA
 
-When true, suppresses the generation of MYMETA.yml module meta-data file
-during 'perl Makefile.PL'.
+When true, suppresses the generation of MYMETA.yml and MYMETA.json module
+meta-data files during 'perl Makefile.PL'.
 
 Defaults to false.
 
@@ -2045,7 +2111,7 @@
 
 =item PERL
 
-Perl binary for tasks that can be done by miniperl
+Perl binary for tasks that can be done by miniperl.
 
 =item PERL_CORE
 
@@ -2096,7 +2162,7 @@
 
 =back
 
-B<NOTE.>  Negligence to set this flag in I<any one> of loaded extension
+B<NOTE.>  Neglecting to set this flag in I<any one> of the loaded extension
 nullifies many advantages of Perl's malloc(), such as better usage of
 system resources, error detection, memory usage reporting, catchable failure
 of memory allocations, etc.
@@ -2105,7 +2171,7 @@
 
 Directory under which core modules are to be installed.
 
-Defaults to $Config{installprefixexp} falling back to
+Defaults to $Config{installprefixexp}, falling back to
 $Config{installprefix}, $Config{prefixexp} or $Config{prefix} should
 $Config{installprefixexp} not exist.
 
@@ -2168,11 +2234,11 @@
     perl bin/foobar.PL bin/foobar2
 
 PL files are normally run B<after> pm_to_blib and include INST_LIB and
-INST_ARCH in its C<@INC> so the just built modules can be
+INST_ARCH in their C<@INC>, so the just built modules can be
 accessed... unless the PL file is making a module (or anything else in
 PM) in which case it is run B<before> pm_to_blib and does not include
 INST_LIB and INST_ARCH in its C<@INC>.  This apparently odd behavior
-is there for backwards compatibility (and its somewhat DWIM).
+is there for backwards compatibility (and it's somewhat DWIM).
 
 
 =item PM
@@ -2247,7 +2313,7 @@
 Config defaults.  Failing that, it will fall back to a structure
 which should be sensible for your platform.
 
-If you specify LIB or any INSTALL* variables they will not be effected
+If you specify LIB or any INSTALL* variables they will not be affected
 by the PREFIX.
 
 =item PREREQ_FATAL
@@ -2259,7 +2325,7 @@
 It is I<extremely> rare to have to use C<PREREQ_FATAL>. Its use by module
 authors is I<strongly discouraged> and should never be used lightly.
 
-Module installation tools have ways of resolving umet dependencies but
+Module installation tools have ways of resolving unmet dependencies but
 to do that they need a F<Makefile>.  Using C<PREREQ_FATAL> breaks this.
 That's bad.
 
@@ -2276,7 +2342,8 @@
 the module names ie. Test::More, and the minimum version is the
 value. If the required version number is 0 any version will do.
 
-This will go into the C<requires> field of your F<META.yml>.
+This will go into the C<requires> field of your CPAN Meta file
+(F<META.yml> or F<META.json>).
 
     PREREQ_PM => {
         # Require Test::More at least 0.47
@@ -2303,7 +2370,7 @@
 
   $MIN_PERL_VERSION = '5.008001';
 
-If BUILD_REQUIRES is not empty, it will be dumped as $BUILD_REQUIRES hasref.
+If BUILD_REQUIRES is not empty, it will be dumped as $BUILD_REQUIRES hashref.
 
 =item PRINT_PREREQ
 
@@ -2343,6 +2410,16 @@
 speedup. It may seriously damage the resulting Makefile. Only use it
 if you really need it.
 
+=item TEST_REQUIRES
+
+A hash of modules that are needed to test your module but not run or
+build it.
+
+This will go into the C<test_requires> field of your CPAN Meta file.
+(F<META.yml> or F<META.json>).
+
+The format is the same as PREREQ_PM.
+
 =item TYPEMAPS
 
 Ref to array of typemap file names.  Use this when the typemaps are
@@ -2382,7 +2459,7 @@
     package Foo::Bar 1.23;                      # 1.23
     $VERSION   = '1.00';                        # 1.00
     *VERSION   = \'1.01';                       # 1.01
-    ($VERSION) = q$Revision: 1.1.1.1 $ =~ /(\d+)/g;       # The digits in $Revision: 1.1.1.1 $
+    ($VERSION) = q$Revision$ =~ /(\d+)/g;       # The digits in $Revision$
     $FOO::VERSION = '1.10';                     # 1.10
     *FOO::VERSION = \'1.11';                    # 1.11
 
@@ -2393,7 +2470,7 @@
     local $VERSION      = '1.02';
     local $FOO::VERSION = '1.30';
 
-"Version strings" are incompatible should not be used.
+"Version strings" are incompatible and should not be used.
 
     # Bad
     $VERSION = 1.2.3;
@@ -2588,7 +2665,7 @@
 
 =head2 Hintsfile support
 
-MakeMaker.pm uses the architecture specific information from
+MakeMaker.pm uses the architecture-specific information from
 Config.pm. In addition it evaluates architecture specific hints files
 in a C<hints/> directory. The hints files are expected to be named
 like their counterparts in C<PERL_SRC/hints>, but with an C<.pl> file
@@ -2641,8 +2718,8 @@
 directory with the name C<$(DISTNAME)-$(VERSION)>. If that directory
 exists, it will be removed first.
 
-Additionally, it will create a META.yml module meta-data file in the
-distdir and add this to the distdir's MANIFEST.  You can shut this
+Additionally, it will create META.yml and META.json module meta-data file
+in the distdir and add this to the distdir's MANIFEST.  You can shut this
 behavior off with the NO_META flag.
 
 =item   make disttest
@@ -2716,26 +2793,37 @@
     );
 
 
-=head2 Module Meta-Data
+=head2 Module Meta-Data (META and MYMETA)
 
 Long plaguing users of MakeMaker based modules has been the problem of
 getting basic information about the module out of the sources
 I<without> running the F<Makefile.PL> and doing a bunch of messy
-heuristics on the resulting F<Makefile>.  To this end a simple module
-meta-data file has been introduced, F<META.yml>.
+heuristics on the resulting F<Makefile>.  Over the years, it has become
+standard to keep this information in one or more CPAN Meta files
+distributed with each distribution.
 
-F<META.yml> is a YAML document (see http://www.yaml.org) containing
-basic information about the module (name, version, prerequisites...)
-in an easy to read format.  The format is developed and defined by the
-Module::Build developers (see 
-http://module-build.sourceforge.net/META-spec.html)
+The original format of CPAN Meta files was L<YAML> and the corresponding
+file was called F<META.yml>.  In 2010, version 2 of the L<CPAN::Meta::Spec>
+was released, which mandates JSON format for the metadata in order to
+overcome certain compatibility issues between YAML serializers and to
+avoid breaking older clients unable to handle a new version of the spec.
+The L<CPAN::Meta> library is now standard for accessing old and new-style
+Meta files.
 
-MakeMaker will automatically generate a F<META.yml> file for you and
-add it to your F<MANIFEST> as part of the 'distdir' target (and thus
-the 'dist' target).  This is intended to seamlessly and rapidly
-populate CPAN with module meta-data.  If you wish to shut this feature
-off, set the C<NO_META> C<WriteMakefile()> flag to true.
+If L<CPAN::Meta> is installed, MakeMaker will automatically generate
+F<META.json> and F<META.yml> files for you and add them to your F<MANIFEST> as
+part of the 'distdir' target (and thus the 'dist' target).  This is intended to
+seamlessly and rapidly populate CPAN with module meta-data.  If you wish to
+shut this feature off, set the C<NO_META> C<WriteMakefile()> flag to true.
 
+At the 2008 QA Hackathon in Oslo, Perl module toolchain maintainers agrees
+to use the CPAN Meta format to communicate post-configuration requirements
+between toolchain components.  These files, F<MYMETA.json> and F<MYMETA.yml>,
+are generated when F<Makefile.PL> generates a F<Makefile> (if L<CPAN::Meta>
+is installed).  Clients like L<CPAN> or L<CPANPLUS> will read this
+files to see what prerequisites must be fulfilled before building or testing
+the distribution.  If you with to shut this feature off, set the C<NO_MYMETA>
+C<WriteMakeFile()> flag to true.
 
 =head2 Disabling an extension
 
@@ -2812,6 +2900,8 @@
 L<ExtUtils::ModuleMaker> and L<Module::Starter> are both modules to
 help you setup your distribution.
 
+L<CPAN::Meta> and L<CPAN::Meta::Spec> explain CPAN Meta files in detail.
+
 =head1 AUTHORS
 
 Andy Dougherty C<doughera at lafayette.edu>, Andreas KE<ouml>nig
@@ -2828,7 +2918,7 @@
 
 For more up-to-date information, see L<http://www.makemaker.org>.
 
-Repository available at L<http://github.com/schwern/extutils-makemaker>.
+Repository available at L<https://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker>.
 
 =head1 LICENSE
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 # There's just too much Dynaloader incest here to turn on strict vars.
 use strict 'refs';
 
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 require Exporter;
 our @ISA = ('Exporter');
@@ -18,7 +18,7 @@
     my($baseext, @bsloadlibs)=@_;
     @bsloadlibs = grep($_, @bsloadlibs); # strip empty libs
 
-    print STDOUT "	bsloadlibs=@bsloadlibs\n" if $Verbose;
+    print "	bsloadlibs=@bsloadlibs\n" if $Verbose;
 
     # We need DynaLoader here because we and/or the *_BS file may
     # call dl_findfile(). We don't say `use' here because when
@@ -50,8 +50,8 @@
     if (@all){
 	open my $bs, ">", "$baseext.bs"
 		or die "Unable to open $baseext.bs: $!";
-	print STDOUT "Writing $baseext.bs\n";
-	print STDOUT "	containing: @all" if $Verbose;
+	print "Writing $baseext.bs\n";
+	print "	containing: @all" if $Verbose;
 	print $bs "# $baseext DynaLoader bootstrap file for $^O architecture.\n";
 	print $bs "# Do not edit this file, changes will be lost.\n";
 	print $bs "# This file was automatically generated by the\n";


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mkbootstrap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 our @ISA = qw(Exporter);
 our @EXPORT = qw(&Mksymlists);
-our $VERSION = '6.57_05';
+our $VERSION = '6.66';
 
 sub Mksymlists {
     my(%spec) = @_;
@@ -27,7 +27,7 @@
         unless ( ($spec{DL_FUNCS} and keys %{$spec{DL_FUNCS}}) or
                  @{$spec{FUNCLIST}});
     if (defined $spec{DL_FUNCS}) {
-        foreach my $package (keys %{$spec{DL_FUNCS}}) {
+        foreach my $package (sort keys %{$spec{DL_FUNCS}}) {
             my($packprefix,$bootseen);
             ($packprefix = $package) =~ s/\W/_/g;
             foreach my $sym (@{$spec{DL_FUNCS}->{$package}}) {
@@ -106,14 +106,20 @@
     print $def "EXPORTS\n  ";
     print $def join("\n  ",@{$data->{DL_VARS}}, "\n") if @{$data->{DL_VARS}};
     print $def join("\n  ",@{$data->{FUNCLIST}}, "\n") if @{$data->{FUNCLIST}};
-    if (%{$data->{IMPORTS}}) {
+    _print_imports($def, $data);
+    close $def;
+}
+
+sub _print_imports {
+    my ($def, $data)= @_;
+    my $imports= $data->{IMPORTS}
+        or return;
+    if ( keys %$imports ) {
         print $def "IMPORTS\n";
-        my ($name, $exp);
-        while (($name, $exp)= each %{$data->{IMPORTS}}) {
-            print $def "  $name=$exp\n";
+        foreach my $name (sort keys %$imports) {
+            print $def "  $name=$imports->{$name}\n";
         }
     }
-    close $def;
 }
 
 sub _write_win32 {
@@ -150,13 +156,7 @@
         }
     }
     print $def join("\n  ", at syms, "\n") if @syms;
-    if (%{$data->{IMPORTS}}) {
-        print $def "IMPORTS\n";
-        my ($name, $exp);
-        while (($name, $exp)= each %{$data->{IMPORTS}}) {
-            print $def "  $name=$exp\n";
-        }
-    }
+    _print_imports($def, $data);
     close $def;
 }
 
@@ -212,10 +212,10 @@
 =head1 SYNOPSIS
 
     use ExtUtils::Mksymlists;
-    Mksymlists({ NAME     => $name ,
+    Mksymlists(  NAME     => $name ,
                  DL_VARS  => [ $var1, $var2, $var3 ],
                  DL_FUNCS => { $pkg1 => [ $func1, $func2 ],
-                               $pkg2 => [ $func3 ] });
+                               $pkg2 => [ $func3 ] );
 
 =head1 DESCRIPTION
 
@@ -281,9 +281,9 @@
 the bootstrap name you have to specify the package name in the
 DL_FUNCS hash:
 
-    Mksymlists({ NAME     => $name ,
+    Mksymlists(  NAME     => $name ,
 		 FUNCLIST => [ $func1, $func2 ],
-                 DL_FUNCS => { $pkg => [] } });
+                 DL_FUNCS => { $pkg => [] } );
 
 
 =item IMPORTS


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Mksymlists.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = 6.57_05;
+our $VERSION = '6.66';
 
 use Cwd;
 use File::Spec;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/lib/ExtUtils/testlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/00compile.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/00compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/00compile.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,11 @@
     $Has_Test_Pod = eval 'use Test::Pod 0.95; 1';
 }
 
+plan skip_all => 'No MANIFEST'
+  unless -e "../MANIFEST";
+  
 chdir "..";
+
 my $manifest = "MANIFEST";
 open(my $manifest_fh, "<", $manifest) or die "Can't open $manifest: $!";
 my @modules = map  { m{^lib/(\S+)}; $1 } 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/00compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,4 +31,4 @@
 ok( -e 'jakefile', 'FIRST_MAKEFILE honored' );
 
 ok( grep(/^Writing jakefile(?:\.)? for Big::Dummy/, @mpl_out) == 1,
-					'Makefile.PL output looks right' );
+    'Makefile.PL output looks right' );


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/FIRST_MAKEFILE.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -46,12 +46,12 @@
 );
 like( $stdout->read, qr{
                         Writing\ $Makefile\ for\ Big::Liar\n
-                        Writing\ MYMETA.yml\n
+                        (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
                         Big::Liar's\ vars\n
                         INST_LIB\ =\ \S+\n
                         INST_ARCHLIB\ =\ \S+\n
                         Writing\ $Makefile\ for\ Big::Dummy\n
-                        Writing\ MYMETA.yml\n
+                        (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
 }x );
 undef $stdout;
 untie *STDOUT;
@@ -128,12 +128,12 @@
 );
 like( $stdout->read, qr{
                         Writing\ $Makefile\ for\ Big::Liar\n
-			Writing\ MYMETA.yml\n
+                        (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
                         Big::Liar's\ vars\n
                         INST_LIB\ =\ \S+\n
                         INST_ARCHLIB\ =\ \S+\n
                         Writing\ $Makefile\ for\ Big::Dummy\n
-			Writing\ MYMETA.yml\n
+                        (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
 }x );
 undef $stdout;
 untie *STDOUT;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INSTALL_BASE.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -50,12 +50,12 @@
 
 like( $stdout->read, qr{
                         Writing\ $Makefile\ for\ Big::Liar\n
-			Writing\ MYMETA.yml\n
+                        (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
                         Big::Liar's\ vars\n
                         INST_LIB\ =\ \S+\n
                         INST_ARCHLIB\ =\ \S+\n
                         Writing\ $Makefile\ for\ Big::Dummy\n
-			Writing\ MYMETA.yml\n
+                        (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
 }x );
 
 is( $mm->{PREFIX}, '$(SITEPREFIX)', 'PREFIX set based on INSTALLDIRS' );
@@ -80,12 +80,12 @@
 );
 like( $stdout->read, qr{
                         Writing\ $Makefile\ for\ Big::Liar\n
-			Writing\ MYMETA.yml\n
+                        (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
                         Big::Liar's\ vars\n
                         INST_LIB\ =\ \S+\n
                         INST_ARCHLIB\ =\ \S+\n
                         Writing\ $Makefile\ for\ Big::Dummy\n
-			Writing\ MYMETA.yml\n
+                        (?:Writing\ MYMETA.yml\ and\ MYMETA.json\n)?
 }x );
 undef $stdout;
 untie *STDOUT;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/INST_PREFIX.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Liblist.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Liblist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Liblist.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,5 +24,5 @@
     unlike( $out[2], qr/-ln0tt43r3_perl/, 'bogus library not added' );
     ok( @warn, 'had warning');
 
-    is( grep(/\QNote (probably harmless): No library found for \E(-l)?n0tt43r3_perl/, map { @$_ } @warn), 1 ) || diag join "\n", @warn;
+    is( grep(/\QWarning (mostly harmless): No library found for \E(-l)?n0tt43r3_perl/, map { @$_ } @warn), 1 ) || diag join "\n", @warn;
 }


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Liblist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Any.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Any.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Any.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Any.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_BeOS.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_BeOS.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_BeOS.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_BeOS.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -115,9 +115,11 @@
 }
 
 # Our copy of Perl (with a unix-path) should always be executable.
-ok(MM->maybe_command($Config{perlpath}), qq{'$Config{perlpath}' should be executable});
+SKIP: {
+  skip "The Perl may not be installed yet when in core" if $ENV{PERL_CORE};
+  ok(MM->maybe_command($Config{perlpath}), qq{'$Config{perlpath}' should be executable});
+}
 
-
 package FakeOut;
 
 sub TIEHANDLE {


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_NW5.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_NW5.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_NW5.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_NW5.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_OS2.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_OS2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_OS2.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -42,7 +42,7 @@
 my $res = $mm->dlsyms();
 like( $res, qr/baseext\.def: Makefile/,
 	'... without flag, should return make targets' );
-like( $res, qr/"DL_FUNCS" => {  }/, 
+like( $res, qr/"DL_FUNCS" => \{  \}/, 
 	'... should provide empty hash refs where necessary' );
 like( $res, qr/"DL_VARS" => \[]/, '... and empty array refs too' );
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_OS2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Unix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_VMS.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_VMS.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_VMS.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_VMS.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Win32.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Win32.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Win32.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,11 +9,9 @@
 use Test::More;
 
 BEGIN {
-	if ($^O =~ /MSWin32/i) {
-		plan tests => 49;
-	} else {
-		plan skip_all => 'This is not Win32';
-	}
+    if ($^O !~ /MSWin32/i) {
+        plan skip_all => 'This is not Win32';
+    }
 }
 
 use Config;
@@ -104,13 +102,20 @@
         'catfile() eq File::Spec->catfile()' );
 }
 
-# init_others(): check if all keys are created and set?
-# qw( TOUCH CHMOD CP RM_F RM_RF MV NOOP TEST_F LD AR LDLOADLIBS DEV_NUL )
-{
-    my $mm_w32 = bless( { BASEEXT => 'Foo' }, 'MM' );
+# init_tools(): check if all keys are created and set?
+note "init_tools creates expected keys"; {
+    my $mm_w32 = bless( { BASEEXT => 'Foo', MAKE => $Config{make} }, 'MM' );
+    $mm_w32->init_tools();
+    my @keys = qw( TOUCH CHMOD CP RM_F RM_RF MV NOOP NOECHO ECHO ECHO_N TEST_F DEV_NULL );
+    for my $key ( @keys ) {
+        ok( $mm_w32->{ $key }, "init_tools: $key" );
+    }
+}
+
+note "init_others creates expected keys"; {
+    my $mm_w32 = bless( { BASEEXT => 'Foo', MAKE => $Config{make} }, 'MM' );
     $mm_w32->init_others();
-    my @keys = qw( TOUCH CHMOD CP RM_F RM_RF MV NOOP 
-                   TEST_F LD AR LDLOADLIBS DEV_NULL );
+    my @keys = qw( LD AR LDLOADLIBS );
     for my $key ( @keys ) {
         ok( $mm_w32->{ $key }, "init_others: $key" );
     }
@@ -124,6 +129,7 @@
         NAME         => 'TestMM_Win32', 
         VERSION      => '1.00',
         PM           => { 'MM_Win32.pm' => 1 },
+        MAKE         => $Config{make},
     }, 'MM';
 
     # XXX Hack until we have a proper init method.
@@ -184,7 +190,7 @@
 {
     my $path = 'c:\\Program Files/SomeApp\\Progje.exe';
     is( $MM->canonpath( $path ), File::Spec->canonpath( $path ),
-	    'canonpath() eq File::Spec->canonpath' );
+        'canonpath() eq File::Spec->canonpath' );
 }
 
 # perl_script()
@@ -234,7 +240,7 @@
     SKIP: {
         skip("Not using 'nmake'", 2) unless $Config{make} eq 'nmake';
         ok(   $MM->is_make_type('nmake'), '->is_make_type(nmake) true'  );
-	ok( ! $MM->is_make_type('dmake'), '->is_make_type(dmake) false' );
+        ok( ! $MM->is_make_type('dmake'), '->is_make_type(dmake) false' );
     }
 
     # Check for literal nmake
@@ -241,7 +247,7 @@
     SKIP: {
         skip("Not using /nmake/", 2) unless $Config{make} =~ /nmake/;
         ok(   $MM->is_make_type('nmake'), '->is_make_type(nmake) true'  );
-	ok( ! $MM->is_make_type('dmake'), '->is_make_type(dmake) false' );
+        ok( ! $MM->is_make_type('dmake'), '->is_make_type(dmake) false' );
     }
 
     # Check for literal dmake
@@ -248,7 +254,7 @@
     SKIP: {
         skip("Not using 'dmake'", 2) unless $Config{make} eq 'dmake';
         ok(   $MM->is_make_type('dmake'), '->is_make_type(dmake) true'  );
-	ok( ! $MM->is_make_type('nmake'), '->is_make_type(nmake) false' );
+        ok( ! $MM->is_make_type('nmake'), '->is_make_type(nmake) false' );
     }
 
     # Check for literal dmake
@@ -255,7 +261,7 @@
     SKIP: {
         skip("Not using /dmake/", 2) unless $Config{make} =~ /dmake/;
         ok(   $MM->is_make_type('dmake'), '->is_make_type(dmake) true'  );
-	ok( ! $MM->is_make_type('nmake'), '->is_make_type(nmake) false' );
+        ok( ! $MM->is_make_type('nmake'), '->is_make_type(nmake) false' );
     }
 
 }
@@ -266,42 +272,110 @@
 # dist_ci() should look into that
 # dist_core() should look into that
 
-# pasthru()
+# _identify_compiler_environment()
 {
-    my $pastru = "PASTHRU = " . ($Config{make} =~ /^nmake/i ? "-nologo" : "");
-    is( $MM->pasthru(), $pastru, 'pasthru()' );
-}
+    sub _run_cc_id {
+        my ( $config ) = @_;
 
-package FakeOut;
+        $config->{cc} ||= '';
 
-sub TIEHANDLE {
-	bless(\(my $scalar), $_[0]);
-}
+        my @cc_env = ExtUtils::MM_Win32::_identify_compiler_environment( $config );
 
-sub PRINT {
-	my $self = shift;
-	$$self .= shift;
-}
+        my %cc_env = ( BORLAND => $cc_env[0], GCC => $cc_env[1], DLLTOOL => $cc_env[2] );
 
-__END__
+        return \%cc_env;
+    }
 
-=head1 NAME
+    sub _check_cc_id_value {
+        my ( $test ) = @_;
 
-MM_Win32.t - Tests for ExtUtils::MM_Win32
+        my $res = _run_cc_id( $test->{config} );
 
-=head1 TODO
+        fail( "unknown key '$test->{key}'" ) if !exists $res->{$test->{key}};
+        my $val = $res->{$test->{key}};
 
- - Methods to still be checked:
- # static_lib() should look into that
- # dynamic_bs() should look into that
- # dynamic_lib() should look into that
- # xs_o() should look into that
- # top_targets() should look into that
- # dist_ci() should look into that
- # dist_core() should look into that
+        is( $val, $test->{expect}, $test->{desc} );
 
-=head1 AUTHOR
+        return;
+    }
 
-20011228 Abe Timmerman <abe at ztreet.demon.nl>
+    my @tests = (
+        {
+            config => {},
+            key => 'DLLTOOL', expect => 'dlltool',
+            desc => 'empty dlltool defaults to "dlltool"',
+        },
+        {
+            config => { dlltool => 'test' },
+            key => 'DLLTOOL', expect => 'test',
+            desc => 'dlltool value is taken over verbatim from %Config, if set',
+        },
+        {
+            config => {},
+            key => 'GCC', expect => 0,
+            desc => 'empty cc is not recognized as gcc',
+        },
+        {
+            config => { cc => 'gcc' },
+            key => 'GCC', expect => 1,
+            desc => 'plain "gcc" is recognized',
+        },
+        {
+            config => { cc => 'C:/MinGW/bin/gcc.exe' },
+            key => 'GCC', expect => 1,
+            desc => 'fully qualified "gcc" is recognized',
+        },
+        {
+            config => { cc => 'C:/MinGW/bin/gcc-1.exe' },
+            key => 'GCC', expect => 1,
+            desc => 'dash-extended gcc is recognized',
+        },
+        {
+            config => { cc => 'C:/MinGW/bin/gcc_1.exe' },
+            key => 'GCC', expect => 0,
+            desc => 'underscore-extended gcc is not recognized',
+        },
+        {
+            config => {},
+            key => 'BORLAND', expect => 0,
+            desc => 'empty cc is not recognized as borland',
+        },
+        {
+            config => { cc => 'bcc' },
+            key => 'BORLAND', expect => 1,
+            desc => 'plain "bcc" is recognized',
+        },
+        {
+            config => { cc => 'C:/Borland/bin/bcc.exe' },
+            key => 'BORLAND', expect => 0,
+            desc => 'fully qualified borland cc is not recognized',
+        },
+        {
+            config => { cc => 'bcc-1.exe' },
+            key => 'BORLAND', expect => 1,
+            desc => 'dash-extended borland cc is recognized',
+        },
+        {
+            config => { cc => 'bcc_1.exe' },
+            key => 'BORLAND', expect => 1,
+            desc => 'underscore-extended borland cc is recognized',
+        },
+    );
 
-=cut
+    _check_cc_id_value($_) for @tests;
+}
+
+
+done_testing;
+
+
+package FakeOut;
+
+sub TIEHANDLE {
+    bless(\(my $scalar), $_[0]);
+}
+
+sub PRINT {
+    my $self = shift;
+    $$self .= shift;
+}


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MM_Win32.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MakeMaker_Parameters.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MakeMaker_Parameters.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MakeMaker_Parameters.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/MakeMaker_Parameters.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/PL_FILES.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/PL_FILES.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/PL_FILES.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/VERSION_FROM.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/VERSION_FROM.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/VERSION_FROM.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/VERSION_FROM.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/WriteEmptyMakefile.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/WriteEmptyMakefile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/WriteEmptyMakefile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/WriteEmptyMakefile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/arch_check.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/arch_check.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/arch_check.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/arch_check.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/backwards.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/backwards.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/backwards.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/backwards.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
 use Config;
 use ExtUtils::MakeMaker;
 
-use Test::More tests => 98;
+use Test::More tests => 171;
 use MakeMaker::Test::Utils;
 use MakeMaker::Test::Setup::BFD;
 use File::Find;
@@ -31,8 +31,8 @@
 
 ok( setup_recurs(), 'setup' );
 END {
-    ok( chdir File::Spec->updir );
-    ok( teardown_recurs(), 'teardown' );
+    ok chdir File::Spec->updir or die;
+    ok teardown_recurs, "teardown";
 }
 
 ok( chdir('Big-Dummy'), "chdir'd to Big-Dummy" ) ||
@@ -73,7 +73,6 @@
 
 END { unlink 'MANIFEST'; }
 
-
 my $ppd_out = run("$make ppd");
 is( $?, 0,                      '  exited normally' ) || diag $ppd_out;
 ok( open(PPD, 'Big-Dummy.ppd'), '  .ppd file generated' );
@@ -82,7 +81,8 @@
 close PPD;
 like( $ppd_html, qr{^<SOFTPKG NAME="Big-Dummy" VERSION="0.01">}m, 
                                                            '  <SOFTPKG>' );
-like( $ppd_html, qr{^\s*<ABSTRACT>Try "our" hot dog's</ABSTRACT>}m,         
+like( $ppd_html,
+      qr{^\s*<ABSTRACT>Try "our" hot dog's, \$andwiche\$ and \$\(ub\)\$!</ABSTRACT>}m,
                                                            '  <ABSTRACT>');
 like( $ppd_html, 
       qr{^\s*<AUTHOR>Michael G Schwern <schwern\@pobox.com></AUTHOR>}m,
@@ -230,125 +230,164 @@
 $distdir =~ s/\./_/g if $Is_VMS;
 my $meta_yml = "$distdir/META.yml";
 my $mymeta_yml = "$distdir/MYMETA.yml";
+my $meta_json = "$distdir/META.json";
+my $mymeta_json = "$distdir/MYMETA.json";
 
-ok( !-f 'META.yml',  'META.yml not written to source dir' );
-ok( -f $meta_yml,    'META.yml written to dist dir' );
-ok( !-e "META_new.yml", 'temp META.yml file not left around' );
+note "META file validity"; {
+    require CPAN::Meta;
 
-ok( -f 'MYMETA.yml',  'MYMETA.yml is written to source dir' );
-ok( -f $mymeta_yml,    'MYMETA.yml is written to dist dir on disttest' );
+    ok( !-f 'META.yml',  'META.yml not written to source dir' );
+    ok( -f $meta_yml,    'META.yml written to dist dir' );
+    ok( !-e "META_new.yml", 'temp META.yml file not left around' );
 
-SKIP: {
-    # META.yml spec 1.4 was added in 0.11
-    skip "Test::YAML::Meta >= 0.11 required", 4
-      unless eval { require Test::YAML::Meta }   and
-             Test::YAML::Meta->VERSION >= 0.11;
+    ok( -f 'MYMETA.yml',  'MYMETA.yml is written to source dir' );
+    ok( -f $mymeta_yml,    'MYMETA.yml is written to dist dir on disttest' );
 
-    Test::YAML::Meta::meta_spec_ok($meta_yml);
-    Test::YAML::Meta::meta_spec_ok($mymeta_yml);
-}
+    ok( !-f 'META.json',  'META.json not written to source dir' );
+    ok( -f $meta_json,    'META.json written to dist dir' );
+    ok( !-e "META_new.json", 'temp META.json file not left around' );
 
-ok open META, $meta_yml or diag $!;
-my $meta = join '', <META>;
-ok close META;
+    ok( -f 'MYMETA.json',  'MYMETA.json is written to source dir' );
+    ok( -f $mymeta_json,    'MYMETA.json is written to dist dir on disttest' );
 
-is $meta, <<"END";
---- #YAML:1.0
-name:               Big-Dummy
-version:            0.01
-abstract:           Try "our" hot dog's
-author:
-    - Michael G Schwern <schwern\@pobox.com>
-license:            unknown
-distribution_type:  module
-configure_requires:
-    ExtUtils::MakeMaker:  0
-build_requires:
-    warnings:  0
-requires:
-    strict:  0
-no_index:
-    directory:
-        - t
-        - inc
-generated_by:       ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION
-meta-spec:
-    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
-    version:  1.4
-END
+    for my $case (
+      ['META.yml', $meta_yml],
+      ['MYMETA.yml', $mymeta_yml],
+      ['META.json', $meta_json],
+      ['MYMETA.json', $mymeta_json],
+      ['MYMETA.yml', 'MYMETA.yml'],
+      ['MYMETA.json', 'MYMETA.json'],
+    ) {
+      my ($label, $meta_name) = @$case;
+      ok(
+        my $obj = eval {
+          CPAN::Meta->load_file($meta_name, {lazy_validation => 0})
+        },
+        "$label validates"
+      );
+      my $is = sub {
+        my ($m,$e) = @_;
+        is($obj->$m, $e, "$label -> $m")
+      };
+      my $is_list = sub {
+        my ($m,$e) = @_;
+        is_deeply([$obj->$m], $e, "$label -> $m")
+      };
+      my $is_map = sub {
+        my ($m,$e) = @_;
+        is_deeply($obj->$m, $e, "$label -> $m")
+      };
+      $is->( name => "Big-Dummy" );
+      $is->( version => "0.01" );
+      $is->( abstract => q{Try "our" hot dog's, $andwiche$ and $(ub)$!} );
+      $is_list->( licenses => [q{unknown}] );
+      $is_list->( authors => [ q{Michael G Schwern <schwern at pobox.com>} ] );
+      $is_map->( prereqs => {
+          configure => {
+            requires => {
+              'ExtUtils::MakeMaker' => 0
+            },
+          },
+          build => {
+            requires => {
+              'warnings' => 0
+            }
+          },
+          runtime => {
+            requires => {
+              'strict' => 0
+            }
+          },
+        }
+      );
+      $is_map->(
+        no_index => {
+          directory => [qw/t inc/],
+        }
+      );
+      $is->( dynamic_config => ($label =~ /MYMETA/) ? 0 : 1 );
+    }
 
-my $mymeta_expected_content=<<"END";
----
-abstract: "Try \\"our\\" hot dog's"
-author:
-  - 'Michael G Schwern <schwern\@pobox.com>'
-build_requires:
-  warnings: 0
-configure_requires:
-  ExtUtils::MakeMaker: 0
-distribution_type: module
-dynamic_config: 0
-generated_by: 'ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION'
-license: unknown
-meta-spec:
-  url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
-name: Big-Dummy
-no_index:
-  directory:
-    - t
-    - inc
-requires:
-  strict: 0
-version: 0.01
-END
+    my $manifest = maniread("$distdir/MANIFEST");
+    # VMS is non-case preserving, so we can't know what the MANIFEST will
+    # look like. :(
+    _normalize($manifest);
+    is( $manifest->{'meta.yml'}, 'Module YAML meta-data (added by MakeMaker)',
+      "MANIFEST has META.yml"
+    );
+    is( $manifest->{'meta.json'}, 'Module JSON meta-data (added by MakeMaker)',
+      "MANFIEST has META.json"
+    );
 
-{
-ok open META, $mymeta_yml or diag $!;
-my $mymeta_content = join '', <META>;
-ok close META;
+    # Test NO_META META.yml suppression
+    for my $f ( $meta_yml, $meta_json, 'MYMETA.yml', 'MYMETA.json' ) {
+      1 while unlink $f;
+    }
+    ok( !-f $meta_yml,   'META.yml deleted' );
+    ok( !-f 'MYMETA.yml','MYMETA.yml deleted' );
+    ok( !-f $meta_json,   'META.json deleted' );
+    ok( !-f 'MYMETA.json','MYMETA.json deleted' );
 
-is($mymeta_content,$mymeta_expected_content,"MYMETA.yml (using Parse::CPAN::Meta) content is correct");
-}
+    @mpl_out = run(qq{$perl Makefile.PL "NO_META=1"});
+    ok( -f 'MYMETA.yml', 'MYMETA.yml generation not suppressed by NO_META' );
+    ok( -f 'MYMETA.json', 'MYMETA.json generation not suppressed by NO_META' );
+    cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
+    ok( !-f $meta_yml,   'META.yml generation suppressed by NO_META' );
+    ok( !-f $meta_json,   'META.json generation suppressed by NO_META' );
+    my $distdir_out = run("$make distdir");
+    is( $?, 0, 'distdir' ) || diag($distdir_out);
+    ok( !-f $meta_yml,   'META.yml generation suppressed by NO_META' );
+    ok( !-f $meta_json,   'META.json generation suppressed by NO_META' );
 
-{
-ok open META, 'MYMETA.yml' or diag $!;
-my $mymeta_content = join '', <META>;
-ok close META;
+    for my $f ( 'MYMETA.yml', 'MYMETA.json' ) {
+      1 while unlink $f;
+    }
+    ok( !-f 'MYMETA.yml','MYMETA.yml deleted' );
+    ok( !-f 'MYMETA.json','MYMETA.json deleted' );
 
-is($mymeta_content,$mymeta_expected_content,"MYMETA.yml (generated from scratch)content is correct");
+    @mpl_out = run(qq{$perl Makefile.PL "NO_MYMETA=1"});
+    cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
+    $distdir_out = run("$make distdir");
+    is( $?, 0, 'distdir' ) || diag($distdir_out);
+    ok( !-f 'MYMETA.yml','MYMETA.yml generation suppressed by NO_MYMETA' );
+    ok( !-f 'MYMETA.json','MYMETA.json generation suppressed by NO_MYMETA' );
+    ok( -f $meta_yml,    'META.yml generation not suppressed by NO_MYMETA' );
+    ok( -f $meta_json,    'META.json generation not suppressed by NO_MYMETA' );
+
+    # Test MYMETA really comes from META except for prereqs
+    for my $f ( $meta_yml, $meta_json, 'MYMETA.yml', 'MYMETA.json' ) {
+      1 while unlink $f;
+    }
+    @mpl_out = run(qq{$perl Makefile.PL});
+    cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
+    $distdir_out = run("$make distdir");
+    is( $?, 0, 'distdir' ) || diag($distdir_out);
+    ok( -f $meta_yml,    'META.yml generated in distdir' );
+    ok( -f $meta_json,    'META.json generated in distdir' );
+    ok( ! -f $mymeta_yml,    'MYMETA.yml not yet generated in distdir' );
+    ok( ! -f $mymeta_json,    'MYMETA.json generated in distdir' );
+    my $edit_meta = CPAN::Meta->load_file($meta_json)->as_struct;
+    $edit_meta->{abstract} = "New abstract";
+    my $meta_obj = CPAN::Meta->new($edit_meta);
+    is( $meta_obj->abstract, "New abstract", "MYMETA abstract from META, not Makefile.PL");
+    ok( $meta_obj->save($meta_json), "Saved edited META.json in distdir" );
+    ok( $meta_obj->save($meta_yml, {version => 1.4}), "Saved edited META.yml in distdir");
+    ok( chdir $distdir );
+    ok( -f 'META.yml',    'META.yml confirmed in distdir' );
+    ok( -f 'META.json',    'META.json confirmed in distdir' );
+    @mpl_out = run(qq{$perl Makefile.PL});
+    cmp_ok( $?, '==', 0, 'Makefile.PL in distdir exited with zero' ) || diag(@mpl_out);
+    ok( chdir File::Spec->updir );
+    ok( -f $mymeta_yml,    'MYMETA.yml generated in distdir' );
+    ok( -f $mymeta_json,    'MYMETA.json generated in distdir' );
+    $meta_obj = CPAN::Meta->load_file($meta_json);
+    is( $meta_obj->abstract, "New abstract", "META abstract is same as was saved");
+    $meta_obj = CPAN::Meta->load_file($mymeta_json);
+    is( $meta_obj->abstract, "New abstract", "MYMETA abstract from META, not Makefile.PL");
 }
 
-my $manifest = maniread("$distdir/MANIFEST");
-# VMS is non-case preserving, so we can't know what the MANIFEST will
-# look like. :(
-_normalize($manifest);
-is( $manifest->{'meta.yml'}, 'Module meta-data (added by MakeMaker)' );
 
 
-# Test NO_META META.yml suppression
-unlink $meta_yml;
-unlink 'MYMETA.yml';
-ok( !-f $meta_yml,   'META.yml deleted' );
-ok( !-f 'MYMETA.yml','MYMETA.yml deleted' );
- at mpl_out = run(qq{$perl Makefile.PL "NO_META=1"});
-ok( -f 'MYMETA.yml', 'MYMETA.yml generation not suppressed by NO_META' );
-cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
-ok( !-f $meta_yml,   'META.yml generation suppressed by NO_META' );
-my $distdir_out = run("$make distdir");
-is( $?, 0, 'distdir' ) || diag($distdir_out);
-ok( !-f $meta_yml,   'META.yml generation suppressed by NO_META' );
-unlink 'MYMETA.yml';
-
-ok( !-f 'MYMETA.yml','MYMETA.yml deleted' );
- at mpl_out = run(qq{$perl Makefile.PL "NO_MYMETA=1"});
-cmp_ok( $?, '==', 0, 'Makefile.PL exited with zero' ) || diag(@mpl_out);
-$distdir_out = run("$make distdir");
-is( $?, 0, 'distdir' ) || diag($distdir_out);
-ok( !-f 'MYMETA.yml','MYMETA.yml generation suppressed by NO_MYMETA' );
-ok( -f $meta_yml,    'META.yml generation not suppressed by NO_MYMETA' );
-
-
 # Make sure init_dirscan doesn't go into the distdir
 @mpl_out = run(qq{$perl Makefile.PL "PREFIX=../dummy-install"});
 
@@ -373,8 +412,5 @@
 sub _normalize {
     my $hash = shift;
 
-    while(my($k,$v) = each %$hash) {
-        delete $hash->{$k};
-        $hash->{lc $k} = $v;
-    }
+    %$hash= map { lc($_) => $hash->{$_} } keys %$hash;
 }


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/build_man.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/build_man.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/build_man.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/build_man.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/cd.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/cd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/cd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/cd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/config.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/dir_target.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/dir_target.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/dir_target.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/dir_target.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fix_libs.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fix_libs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fix_libs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fix_libs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fixin.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fixin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fixin.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/fixin.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/hints.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/hints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/hints.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,9 @@
 #!/usr/bin/perl -w
 
-BEGIN {
-    unshift @INC, 't/lib/';
-}
+use strict;
+use warnings;
+
+use lib 't/lib';
 chdir 't';
 
 use File::Spec;
@@ -13,36 +14,55 @@
 my $curdir = File::Spec->curdir;
 @INC = grep { $_ ne $curdir && $_ ne '.' } @INC;
 
+use ExtUtils::MakeMaker;
+
+# Make a hints directory for testing
 mkdir('hints', 0777);
 (my $os = $^O) =~ s/\./_/g;
-my $hint_file = File::Spec->catfile('hints', "$os.pl");
+my $Hint_File = File::Spec->catfile('hints', "$os.pl");
 
-open(HINT, ">$hint_file") || die "Can't write dummy hints file $hint_file: $!";
-print HINT <<'CLOO';
+
+my $mm = bless {}, 'ExtUtils::MakeMaker';
+
+# Write a hints file for testing
+{
+    open my $hint_fh, ">", $Hint_File || die "Can't write dummy hints file $Hint_File: $!";
+    print $hint_fh <<'CLOO';
 $self->{CCFLAGS} = 'basset hounds got long ears';
 CLOO
-close HINT;
+}
 
-use TieOut;
-use ExtUtils::MakeMaker;
+# Test our hint file is detected
+{
+    my $stderr = '';
+    local $SIG{__WARN__} = sub { $stderr .= join '', @_ };
 
-my $out = tie *STDERR, 'TieOut';
-my $mm = bless {}, 'ExtUtils::MakeMaker';
-$mm->check_hints;
-is( $mm->{CCFLAGS}, 'basset hounds got long ears' );
-is( $out->read, "Processing hints file $hint_file\n" );
+    $mm->check_hints;
+    is( $mm->{CCFLAGS}, 'basset hounds got long ears' );
+    is( $stderr, "Processing hints file $Hint_File\n" );
+}
 
-open(HINT, ">$hint_file") || die "Can't write dummy hints file $hint_file: $!";
-print HINT <<'CLOO';
+
+# Test a hint file which dies
+{
+    open my $hint_fh, ">", $Hint_File || die "Can't write dummy hints file $Hint_File: $!";
+    print $hint_fh <<'CLOO';
 die "Argh!\n";
 CLOO
-close HINT;
+}
 
-$mm->check_hints;
-is( $out->read, <<OUT, 'hint files produce errors' );
-Processing hints file $hint_file
+
+# Test the hint file which produces errors
+{
+    my $stderr = '';
+    local $SIG{__WARN__} = sub { $stderr .= join '', @_ };
+
+    $mm->check_hints;
+    is( $stderr, <<OUT, 'hint files produce errors' );
+Processing hints file $Hint_File
 Argh!
 OUT
+}
 
 END {
     use File::Path;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/hints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/installed_file.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/installed_file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/installed_file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/installed_file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/is_of_type.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/is_of_type.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/is_of_type.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/is_of_type.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/NoXS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/NoXS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/NoXS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/NoXS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
 
 =head1 NAME
 
-Big::Dummy - Try "our" hot dog's
+Big::Dummy - Try "our" hot dog's, $andwiche$ and $(ub)$!
 
 =cut
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/BFD.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/MPV.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/MPV.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/MPV.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/MPV.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/PL_FILES.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/PL_FILES.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/PL_FILES.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/PL_FILES.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Problem.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Problem.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Problem.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Problem.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Recurs.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Recurs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Recurs.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/Recurs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/SAS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/SAS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/SAS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,67 +1,67 @@
-package MakeMaker::Test::Setup::SAS;
-
- at ISA = qw(Exporter);
-require Exporter;
- at EXPORT = qw(setup_recurs teardown_recurs);
-
-use strict;
-use File::Path;
-use File::Basename;
-
-our $dirname='Multiple-Authors';
-my %Files = (
-             $dirname.'/Makefile.PL'   => <<'END',
-use ExtUtils::MakeMaker;
-
-WriteMakefile(
-    NAME             => 'Multiple::Authors',
-    AUTHOR           => ['John Doe <jd at example.com>', 'Jane Doe <jd at example.com>'],
-    VERSION_FROM     => 'lib/Multiple/Authors.pm',
-    PREREQ_PM        => { strict => 0 },
-);
-END
-
-             $dirname.'/lib/Multiple/Authors.pm'    => <<'END',
-package Multiple::Authors;
-
-$VERSION = 0.05;
-
-=head1 NAME
-
-Multiple::Authors - several authors
-
-=cut
-
-1;
-END
-
-);
-
-
-sub setup_recurs {
-    while(my($file, $text) = each %Files) {
-        # Convert to a relative, native file path.
-        $file = File::Spec->catfile(File::Spec->curdir, split m{\/}, $file);
-
-        my $dir = dirname($file);
-        mkpath $dir;
-        open(FILE, ">$file") || die "Can't create $file: $!";
-        print FILE $text;
-        close FILE;
-    }
-
-    return 1;
-}
-
-sub teardown_recurs {
-    foreach my $file (keys %Files) {
-        my $dir = dirname($file);
-        if( -e $dir ) {
-            rmtree($dir) || return;
-        }
-    }
-    return 1;
-}
-
-
-1;
+package MakeMaker::Test::Setup::SAS;
+
+ at ISA = qw(Exporter);
+require Exporter;
+ at EXPORT = qw(setup_recurs teardown_recurs);
+
+use strict;
+use File::Path;
+use File::Basename;
+
+our $dirname='Multiple-Authors';
+my %Files = (
+             $dirname.'/Makefile.PL'   => <<'END',
+use ExtUtils::MakeMaker;
+
+WriteMakefile(
+    NAME             => 'Multiple::Authors',
+    AUTHOR           => ['John Doe <jd at example.com>', 'Jane Doe <jd at example.com>'],
+    VERSION_FROM     => 'lib/Multiple/Authors.pm',
+    PREREQ_PM        => { strict => 0 },
+);
+END
+
+             $dirname.'/lib/Multiple/Authors.pm'    => <<'END',
+package Multiple::Authors;
+
+$VERSION = 0.05;
+
+=head1 NAME
+
+Multiple::Authors - several authors
+
+=cut
+
+1;
+END
+
+);
+
+
+sub setup_recurs {
+    while(my($file, $text) = each %Files) {
+        # Convert to a relative, native file path.
+        $file = File::Spec->catfile(File::Spec->curdir, split m{\/}, $file);
+
+        my $dir = dirname($file);
+        mkpath $dir;
+        open(FILE, ">$file") || die "Can't create $file: $!";
+        print FILE $text;
+        close FILE;
+    }
+
+    return 1;
+}
+
+sub teardown_recurs {
+    foreach my $file (keys %Files) {
+        my $dir = dirname($file);
+        if( -e $dir ) {
+            rmtree($dir) || return;
+        }
+    }
+    return 1;
+}
+
+
+1;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/SAS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Setup/XS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,8 +7,9 @@
 require Exporter;
 our @ISA = qw(Exporter);
 
-our $Is_VMS   = $^O eq 'VMS';
-our $Is_MacOS = $^O eq 'MacOS';
+our $Is_VMS     = $^O eq 'VMS';
+our $Is_MacOS   = $^O eq 'MacOS';
+our $Is_FreeBSD = $^O eq 'freebsd';
 
 our @EXPORT = qw(which_perl perl_lib makefile_name makefile_backup
                  make make_run run make_macro calibrate_mtime
@@ -32,11 +33,20 @@
         MAKEFLAGS
     );
 
+    my %default_env_keys;
+
+    # Inform the BSDPAN hacks not to register modules installed for testing.
+    $default_env_keys{PORTOBJFORMAT} = 1 if $Is_FreeBSD;
+
     # Remember the ENV values because on VMS %ENV is global
     # to the user, not the process.
     my %restore_env_keys;
 
     sub clean_env {
+        for my $key (keys %default_env_keys) {
+            $ENV{$key} = $default_env_keys{$key} unless $ENV{$key};
+        }
+
         for my $key (@delete_env_keys) {
             if( exists $ENV{$key} ) {
                 $restore_env_keys{$key} = delete $ENV{$key};


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/MakeMaker/Test/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieIn.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieIn.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieIn.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieIn.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieOut.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieOut.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieOut.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/lib/TieOut.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/make.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/make.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/make.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/make.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/maketext_filter.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/maketext_filter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/maketext_filter.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/maketext_filter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,12 +3,51 @@
 }
 
 use strict;
-use Test::More tests => 7;
+use Test::More tests => 22;
 
 use Data::Dumper;
+use File::Temp;
+use Cwd;
+use Parse::CPAN::Meta;
 
 require ExtUtils::MM_Any;
 
+sub in_dir(&;$) {
+    my $code = shift;
+    my $dir = shift || File::Temp->newdir;
+
+    # chdir to the new directory
+    my $orig_dir = cwd();
+    chdir $dir or die "Can't chdir to $dir: $!";
+
+    # Run the code, but trap the error so we can chdir back
+    my $return;
+    my $ok = eval { $return = $code->(); 1; };
+    my $err = $@;
+
+    # chdir back
+    chdir $orig_dir or die "Can't chdir to $orig_dir: $!";
+
+    # rethrow if necessary
+    die $err unless $ok;
+
+    return $return;
+}
+
+sub mymeta_ok {
+    my($have, $want, $name) = @_;
+
+    local $Test::Builder::Level = $Test::Builder::Level + 1;
+
+    my $have_gen = delete $have->{generated_by};
+    my $want_gen = delete $want->{generated_by};
+
+    is_deeply $have, $want, $name;
+    like $have_gen, qr{CPAN::Meta}, "CPAN::Meta mentioned in the generated_by";
+
+    return;
+}
+
 my $new_mm = sub {
     return bless { ARGS => {@_}, @_ }, 'ExtUtils::MM_Any';
 };
@@ -22,12 +61,13 @@
         },
     );
 
-    is_deeply [$mm->metafile_data], [
+    is_deeply {$mm->metafile_data}, {
         name            => 'Foo-Bar',
         version         => 1.23,
-        abstract        => undef,
+        abstract        => 'unknown',
         author          => [],
         license         => 'unknown',
+        dynamic_config  => 1,
         distribution_type       => 'module',
 
         configure_requires      => {
@@ -46,15 +86,16 @@
             url         => 'http://module-build.sourceforge.net/META-spec-v1.4.html', 
             version     => 1.4
         },
-    ];
+    };
 
 
-    is_deeply [$mm->metafile_data({}, { no_index => { directory => [qw(foo)] } })], [
+    is_deeply {$mm->metafile_data({}, { no_index => { directory => [qw(foo)] } })}, {
         name            => 'Foo-Bar',
         version         => 1.23,
-        abstract        => undef,
+        abstract        => 'unknown',
         author          => [],
         license         => 'unknown',
+        dynamic_config  => 1,
         distribution_type       => 'module',
 
         configure_requires      => {
@@ -73,7 +114,7 @@
             url         => 'http://module-build.sourceforge.net/META-spec-v1.4.html', 
             version     => 1.4
         },
-    ], 'rt.cpan.org 39348';
+    }, 'rt.cpan.org 39348';
 }
 
 
@@ -88,7 +129,7 @@
         },
     );
 
-    is_deeply [$mm->metafile_data(
+    is_deeply {$mm->metafile_data(
         {
             configure_requires => {
                 Stuff   => 2.34
@@ -101,13 +142,14 @@
             },
             wibble      => 23
         },
-    )],
-    [
+    )},
+    {
         name            => 'Foo-Bar',
         version         => 1.23,
-        abstract        => undef,
+        abstract        => 'unknown',
         author          => ['Some Guy'],
         license         => 'unknown',
+        dynamic_config  => 1,
         distribution_type       => 'script',
 
         configure_requires      => {
@@ -135,7 +177,7 @@
 
         wibble  => 23,
         wobble  => 42,
-    ];
+    };
 }
 
 
@@ -150,12 +192,13 @@
         MIN_PERL_VERSION => 5.006,
     );
 
-    is_deeply [$mm->metafile_data], [
+    is_deeply {$mm->metafile_data}, {
         name            => 'Foo-Bar',
         version         => 1.23,
-        abstract        => undef,
+        abstract        => 'unknown',
         author          => [],
         license         => 'unknown',
+        dynamic_config  => 1,
         distribution_type       => 'module',
 
         configure_requires      => {
@@ -178,7 +221,7 @@
             url         => 'http://module-build.sourceforge.net/META-spec-v1.4.html', 
             version     => 1.4
         },
-    ];
+    };
 }
 
 
@@ -196,12 +239,13 @@
         },
     );
 
-    is_deeply [$mm->metafile_data], [
+    is_deeply {$mm->metafile_data}, {
         name            => 'Foo-Bar',
         version         => 1.23,
-        abstract        => undef,
+        abstract        => 'unknown',
         author          => [],
         license         => 'unknown',
+        dynamic_config  => 1,
         distribution_type       => 'module',
 
         configure_requires      => {
@@ -225,7 +269,7 @@
             url         => 'http://module-build.sourceforge.net/META-spec-v1.4.html', 
             version     => 1.4
         },
-    ];
+    };
 }
 
 # Test CONFIGURE_REQUIRES
@@ -241,12 +285,13 @@
         },
     );
 
-    is_deeply [$mm->metafile_data], [
+    is_deeply {$mm->metafile_data}, {
         name            => 'Foo-Bar',
         version         => 1.23,
-        abstract        => undef,
+        abstract        => 'unknown',
         author          => [],
         license         => 'unknown',
+        dynamic_config  => 1,
         distribution_type       => 'module',
 
         configure_requires      => {
@@ -265,7 +310,7 @@
             url         => 'http://module-build.sourceforge.net/META-spec-v1.4.html', 
             version     => 1.4
         },
-    ],'CONFIGURE_REQUIRES';
+    },'CONFIGURE_REQUIRES';
 }
 
 # Test BUILD_REQUIRES
@@ -281,12 +326,13 @@
         },
     );
 
-    is_deeply [$mm->metafile_data], [
+    is_deeply {$mm->metafile_data}, {
         name            => 'Foo-Bar',
         version         => 1.23,
-        abstract        => undef,
+        abstract        => 'unknown',
         author          => [],
         license         => 'unknown',
+        dynamic_config  => 1,
         distribution_type       => 'module',
 
         configure_requires      => {
@@ -305,5 +351,178 @@
             url         => 'http://module-build.sourceforge.net/META-spec-v1.4.html', 
             version     => 1.4
         },
-    ],'CONFIGURE_REQUIRES';
+    },'CONFIGURE_REQUIRES';
 }
+
+# Test _REQUIRES key priority over META_ADD
+
+{
+    my $mm = $new_mm->(
+        DISTNAME        => 'Foo-Bar',
+        VERSION         => 1.23,
+        BUILD_REQUIRES => {
+            "Fake::Module1" => 1.01,
+        },
+        META_ADD => (my $meta_add = { build_requires => {} }),
+        PM              => {
+            "Foo::Bar"          => 'lib/Foo/Bar.pm',
+        },
+    );
+
+    is_deeply {$mm->metafile_data($meta_add)}, {
+        name            => 'Foo-Bar',
+        version         => 1.23,
+        abstract        => 'unknown',
+        author          => [],
+        license         => 'unknown',
+        dynamic_config  => 1,
+        distribution_type       => 'module',
+
+        configure_requires      => {
+            'ExtUtils::MakeMaker'       => 0,
+        },
+        build_requires      => { },
+
+        no_index        => {
+            directory           => [qw(t inc)],
+        },
+
+        generated_by => "ExtUtils::MakeMaker version $ExtUtils::MakeMaker::VERSION",
+        'meta-spec'  => {
+            url         => 'http://module-build.sourceforge.net/META-spec-v1.4.html', 
+            version     => 1.4
+        },
+    },'META.yml data (META_ADD wins)';
+
+
+    # Yes, this is all hard coded.
+    require CPAN::Meta;
+    my $want_mymeta = {
+        name            => 'ExtUtils-MakeMaker',
+        version         => '6.57_07',
+        abstract        => 'Create a module Makefile',
+        author          => ['Michael G Schwern <schwern at pobox.com>'],
+        license         => ['perl_5'],
+        dynamic_config  => 0,
+
+        prereqs         => {
+            runtime => {
+                requires => {
+                    "DirHandle"         => 0,
+                    "File::Basename"    => 0,
+                    "File::Spec"        => "0.8",
+                    "Pod::Man"          => 0,
+                    "perl"              => "5.006",
+                },
+            },
+            configure => {
+                requires => {
+                },
+            },
+            build    => {
+                requires => {
+                    'Fake::Module1'       => 1.01,
+                },
+            },
+        },
+
+        release_status => 'testing',
+        resources => {
+            license     =>  [ 'http://dev.perl.org/licenses/' ],
+            homepage    =>  'http://makemaker.org',
+            bugtracker  =>  { web => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=ExtUtils-MakeMaker' },
+            repository  =>  { url => 'http://github.com/Perl-Toolchain-Gang/ExtUtils-MakeMaker' },
+            x_MailingList => 'makemaker at perl.org',
+        },
+
+        no_index        => {
+            directory           => [qw(t inc)],
+            package             => ["DynaLoader", "in"],
+        },
+
+        generated_by => "ExtUtils::MakeMaker version 6.5707, CPAN::Meta::Converter version 2.110580",
+        'meta-spec'  => {
+            url         => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
+            version     => 2,
+        },
+    };
+
+    mymeta_ok $mm->mymeta("t/META_for_testing.json"),
+              $want_mymeta,
+              'MYMETA JSON data (BUILD_REQUIRES wins)';
+
+    mymeta_ok $mm->mymeta("t/META_for_testing.yml"),
+              $want_mymeta,
+              'MYMETA YAML data (BUILD_REQUIRES wins)';
+}
+
+{
+    my $mm = $new_mm->(
+        DISTNAME       => 'Foo-Bar',
+        VERSION        => 1.23,
+        BUILD_REQUIRES => { "Fake::Module1" => 1.01 },
+        TEST_REQUIRES  => { "Fake::Module2" => 1.23 },
+    );
+
+    my $meta = $mm->mymeta('t/META_for_testing.json');
+    is($meta->{build_requires}, undef, "no build_requires in v2 META");
+    is_deeply(
+        $meta->{prereqs}{build}{requires},
+        { "Fake::Module1" => 1.01 },
+        "build requires are one thing in META v2...",
+    );
+
+    is_deeply(
+        $meta->{prereqs}{test}{requires},
+        { "Fake::Module2" => 1.23 },
+        "...and test requires are another",
+    );
+}
+
+note "CPAN::Meta bug using the module version instead of the meta spec version"; {
+    my $mm = $new_mm->(
+        NAME      => 'GD::Barcode::Code93',
+        AUTHOR    => 'Chris DiMartino',
+        ABSTRACT  => 'Code 93 implementation of GD::Barcode family',
+        PREREQ_PM => {
+            'GD::Barcode' => 0,
+            'GD'          => 0
+        },
+        VERSION   => '1.4',
+    );
+
+    my $meta = $mm->mymeta("t/META_for_testing_tricky_version.yml");
+    is $meta->{'meta-spec'}{version}, 2, "internally, our MYMETA struct is v2";
+
+    in_dir {
+        $mm->write_mymeta($meta);
+        ok -e "MYMETA.yml";
+        ok -e "MYMETA.json";
+
+        my $meta_yml = Parse::CPAN::Meta->load_file("MYMETA.yml");
+        is $meta_yml->{'meta-spec'}{version}, 1.4, "MYMETA.yml correctly downgraded to 1.4";
+
+        my $meta_json = Parse::CPAN::Meta->load_file("MYMETA.json");
+        cmp_ok $meta_json->{'meta-spec'}{version}, ">=", 2, "MYMETA.json at 2 or better";
+    };
+}
+
+
+note "A bad license string"; {
+    my $mm = $new_mm->(
+        DISTNAME  => 'Foo::Bar',
+        VERSION   => '1.4',
+        LICENSE   => 'death and retribution',
+    );
+
+    in_dir {
+        my $meta = $mm->mymeta;
+        $mm->write_mymeta($meta);
+
+        my $meta_yml = Parse::CPAN::Meta->load_file("MYMETA.yml");
+        is $meta_yml->{license}, "unknown", "in yaml";
+
+        my $meta_json = Parse::CPAN::Meta->load_file("MYMETA.json");
+        is_deeply $meta_json->{license}, ["unknown"], "in json";
+    };
+}


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_data.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_file.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/metafile_file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/min_perl_version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/min_perl_version.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 }
 
 use strict;
-use Test::More tests => 35;
+use Test::More tests => 32;
 
 use TieOut;
 use MakeMaker::Test::Utils;
@@ -37,9 +37,7 @@
 ok( chdir 'Min-PerlVers', 'entering dir Min-PerlVers' ) ||
     diag("chdir failed: $!");
 
-{
-    # ----- argument verification -----
-
+note "Argument verification"; {
     my $stdout = tie *STDOUT, 'TieOut';
     ok( $stdout, 'capturing stdout' );
     my $warnings = '';
@@ -102,18 +100,15 @@
             MIN_PERL_VERSION => 'foobar',
         );
     };
-    ok( '' ne $warnings,    'MIN_PERL_VERSION=foobar triggers a warning' );
-    is( $warnings, <<'END', '  with expected message text' );
+    is( $@, <<'END', 'Invalid MIN_PERL_VERSION is fatal' );
 Warning: MIN_PERL_VERSION is not in a recognized format.
 Recommended is a quoted numerical value like '5.005' or '5.008001'.
 END
 
-    is( $@, '',             '  and without a hard failure' );
 }
 
 
-# ----- PREREQ_PRINT output -----
-{
+note "PREREQ_PRINT output"; {
     my $prereq_out = run(qq{$perl Makefile.PL "PREREQ_PRINT=1"});
     is( $?, 0,            'PREREQ_PRINT exiting normally' );
     my $prereq_out_sane = $prereq_out =~ /^\s*\$PREREQ_PM\s*=/;
@@ -137,8 +132,7 @@
 }
 
 
-# ----- PRINT_PREREQ output -----
-{
+note "PRINT_PREREQ output"; {
     my $prereq_out = run(qq{$perl Makefile.PL "PRINT_PREREQ=1"});
     is( $?, 0,                      'PRINT_PREREQ exiting normally' );
     ok( $prereq_out !~ /^warning/i, '  and not complaining loudly' );
@@ -148,8 +142,7 @@
 }
 
 
-# ----- generated files verification -----
-{
+note "generated files verification"; {
     unlink $makefile;
     my @mpl_out = run(qq{$perl Makefile.PL});
     END { unlink $makefile, makefile_backup() }
@@ -159,8 +152,7 @@
 }
 
 
-# ----- ppd output -----
-{
+note "ppd output"; {
     my $ppd_file = 'Min-PerlVers.ppd';
     my @make_out = run(qq{$make ppd});
     END { unlink $ppd_file }
@@ -175,29 +167,29 @@
 }
 
 
-# ----- META.yml output -----
-{
+note "META.yml output"; {
     my $distdir  = 'Min-PerlVers-0.05';
     $distdir =~ s{\.}{_}g if $Is_VMS;
 
-    my $mymeta_yml = "MYMETA.yml";
-    my $mymeta = slurp($mymeta_yml);
-
-    ok( defined($mymeta),  '  MYMETA.yml present' );
-
-    like( $mymeta, qr{\nrequires:[^\S\n]*\n\s+perl:\s+5\.005\n\s+strict:\s+0\n},
-                         '  MYMETA.yml content good');
-
     my $meta_yml = "$distdir/META.yml";
+    my $meta_json = "$distdir/META.json";
     my @make_out    = run(qq{$make metafile});
     END { rmtree $distdir }
 
-    cmp_ok( $?, '==', 0, 'Make metafile exiting normally' ) || diag(@make_out);
-    my $meta = slurp($meta_yml);
-    ok( defined($meta),  '  META.yml present' );
-
-    like( $meta, qr{\nrequires:[^\S\n]*\n\s+perl:\s+5\.005\n\s+strict:\s+0\n},
-                         '  META.yml content good');
+    for my $case (
+        ['META.yml', $meta_yml],
+        ['META.json', $meta_json],
+    ) {
+        my ($label, $meta_name) = @$case;
+        ok(
+          my $obj = eval {
+            CPAN::Meta->load_file($meta_name, {lazy_validation => 0})
+          },
+          "$label validates"
+        );
+        is( $obj->prereqs->{runtime}{requires}{perl}, '5.005',
+          "$label has runtime/requires perl 5.005"
+        );
+    }
 }
 
-__END__


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/min_perl_version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/miniperl.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/miniperl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/miniperl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,9 +6,17 @@
 use strict;
 use lib 't/lib';
 
-use Test::More 'no_plan';
+use Test::More;
 
+# In a BEGIN block so the END tests aren't registered.
 BEGIN {
+    plan skip_all => "miniperl test only necessary for the perl core"
+      if !$ENV{PERL_CORE};
+    
+    plan "no_plan";
+}
+
+BEGIN {
     ok !$INC{"ExtUtils/MakeMaker.pm"}, "MakeMaker is not yet loaded";
 }
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/miniperl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/oneliner.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/oneliner.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/oneliner.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,8 +6,9 @@
 
 chdir 't';
 
+use Config;
 use MakeMaker::Test::Utils;
-use Test::More tests => 6;
+use Test::More tests => 16;
 use File::Spec;
 
 my $TB = Test::More->builder;
@@ -14,7 +15,7 @@
 
 BEGIN { use_ok('ExtUtils::MM') }
 
-my $mm = bless { NAME => "Foo" }, 'MM';
+my $mm = bless { NAME => "Foo", MAKE => $Config{make} }, 'MM';
 isa_ok($mm, 'ExtUtils::MakeMaker');
 isa_ok($mm, 'ExtUtils::MM_Any');
 
@@ -40,6 +41,20 @@
 # switches?
 try_oneliner(q{print 'foo'}, ['-l'],           "foo\n",       'switches' );
 
+# some DOS-specific things
+try_oneliner(q{print " \" "}, [],  q{ " },  'single quote' );
+try_oneliner(q{print " < \" "}, [],  q{ < " },  'bracket, then quote' );
+try_oneliner(q{print " \" < "}, [],  q{ " < },  'quote, then bracket' );
+try_oneliner(q{print " < \"\" < \" < \" < "}, [],  q{ < "" < " < " < },  'quotes and brackets mixed' );
+try_oneliner(q{print " < \" | \" < | \" < \" < "}, [],  q{ < " | " < | " < " < },  'brackets, pipes and quotes' );
+
+# some examples from http://www.autohotkey.net/~deleyd/parameters/parameters.htm#CPP
+try_oneliner(q{print q[ &<>^|()@ ! ]}, [],  q{ &<>^|()@ ! },  'example 8.1' );
+try_oneliner(q{print q[ &<>^|@()!"&<>^|@()! ]}, [],  q{ &<>^|@()!"&<>^|@()! },  'example 8.2' );
+try_oneliner(q{print q[ "&<>^|@() !"&<>^|@() !" ]}, [],  q{ "&<>^|@() !"&<>^|@() !" },  'example 8.3' );
+try_oneliner(q{print q[ "C:\TEST A\" ]}, [],  q{ "C:\TEST A\" },  'example 8.4' );
+try_oneliner(q{print q[ "C:\TEST %&^ A\" ]}, [],  q{ "C:\TEST %&^ A\" },  'example 8.5' );
+
 # XXX gotta rethink the newline test.  The Makefile does newline
 # escaping, then the shell.
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/oneliner.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_abstract.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_abstract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_abstract.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,8 +3,9 @@
 use strict;
 use warnings;
 
+use lib 't/lib';
 use ExtUtils::MakeMaker;
-
+use File::Temp qw[tempfile];
 use Test::More 'no_plan';
 
 sub test_abstract {
@@ -12,12 +13,9 @@
 
     local $Test::Builder::Level = $Test::Builder::Level + 1;
 
-    my $file = "t/abstract.tmp";
-    {
-        open my $fh, ">", $file or die "Can't open $file";
-        print $fh $code;
-        close $fh;
-    }
+    my ($fh,$file) = tempfile( DIR => 't', UNLINK => 1 );
+    print $fh $code;
+    close $fh;
 
     # Hack up a minimal MakeMaker object.
     my $mm = bless { DISTNAME => $package }, "MM";
@@ -25,9 +23,6 @@
 
     my $ok = is( $have, $want, $name );
 
-    # Clean up the temp file, VMS style
-    1 while unlink $file;
-
     return $ok;
 }
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_abstract.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,12 +7,13 @@
 
 use Test::More;
 use ExtUtils::MakeMaker;
+use File::Temp qw[tempfile];
 
 my $Has_Version = eval 'require version; "version"->import; 1';
 
 my %versions = (q[$VERSION = '1.00']            => '1.00',
                 q[*VERSION = \'1.01']           => '1.01',
-                q[($VERSION) = q$Revision: 1.1.1.1 $ =~ /(\d+)/g;] => 32208,
+                q[($VERSION) = q$Revision: 32208 $ =~ /(\d+)/g;] => 32208,
                 q[$FOO::VERSION = '1.10';]      => '1.10',
                 q[*FOO::VERSION = \'1.11';]     => '1.11',
                 '$VERSION = 0.02'               => 0.02,
@@ -34,8 +35,8 @@
                 qq[\$Something::VERSION == 1.0\n\$VERSION = 2.3\n]                     => '2.3',
                 qq[\$Something::VERSION == 1.0\n\$VERSION = 2.3\n\$VERSION = 4.5\n]    => '2.3',
 
-                '$VERSION = sprintf("%d.%03d", q$Revision: 1.1.1.1 $ =~ /(\d+)\.(\d+)/);' => '3.074',
-                '$VERSION = substr(q$Revision: 1.1.1.1 $, 10) + 2 . "";'                   => '4.8',
+                '$VERSION = sprintf("%d.%03d", q$Revision: 3.74 $ =~ /(\d+)\.(\d+)/);' => '3.074',
+                '$VERSION = substr(q$Revision: 2.8 $, 10) + 2 . "";'                   => '4.8',
                 'elsif ( $Something::VERSION >= 1.99 )' => 'undef',
 
                );
@@ -88,16 +89,14 @@
 sub parse_version_string {
     my $code = shift;
 
-    open(FILE, ">VERSION.tmp") || die $!;
-    print FILE "$code\n";
-    close FILE;
+    my ($fh,$file) = tempfile( DIR => '.', UNLINK => 1 );
+    print $fh "$code\n";
+    close $fh;
 
     $_ = 'foo';
-    my $version = MM->parse_version('VERSION.tmp');
+    my $version = MM->parse_version( $file );
     is( $_, 'foo', '$_ not leaked by parse_version' );
 
-    unlink "VERSION.tmp";
-
     return $version;
 }
 


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/parse_version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pm_to_blib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pod2man.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pod2man.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pod2man.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -38,7 +38,7 @@
         $warnings .= join '', @_;
     };
 
-    is pod2man(), undef;
+    ok !pod2man();
     is $warnings, <<'END'
 Pod::Man is not available: Simulated Pod::Man failure
 Man pages will not be generated during this install.


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/pod2man.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/postamble.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/postamble.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/postamble.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/postamble.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prefixify.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prefixify.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prefixify.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prefixify.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 }
 
 use strict;
-use Test::More tests => 13;
+use Test::More tests => 16;
 
 use TieOut;
 use MakeMaker::Test::Utils;
@@ -36,7 +36,7 @@
         $warnings .= join '', @_;
     };
     # prerequisite warnings are disabled while building the perl core:
-    local $ENV{PERL_CORE} = undef;
+    local $ENV{PERL_CORE} = 0;
 
     WriteMakefile(
         NAME            => 'Big::Dummy',
@@ -67,10 +67,24 @@
     is $warnings, 
     "Warning: prerequisite I::Do::Not::Exist 0 not found.\n";
 
+
     $warnings = '';
     WriteMakefile(
         NAME            => 'Big::Dummy',
         PREREQ_PM       => {
+            "I::Do::Not::Exist" => "",
+        }
+    );
+    my @warnings = split /\n/, $warnings;
+    is @warnings, 2;
+    like $warnings[0], qr{^Unparsable version '' for prerequisite I::Do::Not::Exist\b};
+    is $warnings[1], "Warning: prerequisite I::Do::Not::Exist 0 not found.";
+
+
+    $warnings = '';
+    WriteMakefile(
+        NAME            => 'Big::Dummy',
+        PREREQ_PM       => {
             "I::Do::Not::Exist" => 0,
             "strict"            => 99999,
         }


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq_print.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq_print.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq_print.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prereq_print.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/problems.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/problems.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/problems.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/problems.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prompt.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prompt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prompt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/prompt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/recurs.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/recurs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/recurs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/recurs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/revision.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/revision.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/revision.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/revision.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/several_authors.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/several_authors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/several_authors.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,130 +1,137 @@
-#!/usr/bin/perl -w
-
-# This is a test checking various aspects of the optional argument
-# MIN_PERL_VERSION to WriteMakefile.
-
-BEGIN {
-    unshift @INC, 't/lib';
-}
-
-use strict;
-use Test::More tests => 18;
-
-use TieOut;
-use MakeMaker::Test::Utils;
-use MakeMaker::Test::Setup::SAS;
-use File::Path;
-
-use ExtUtils::MakeMaker;
-
-# avoid environment variables interfering with our make runs
-delete @ENV{qw(LIB MAKEFLAGS)};
-
-my $perl     = which_perl();
-my $make     = make_run();
-my $makefile = makefile_name();
-
-chdir 't';
-
-perl_lib();
-
-ok( setup_recurs(), 'setup' );
-END {
-    ok( chdir(File::Spec->updir), 'leaving dir' );
-    ok( teardown_recurs(), 'teardown' );
-}
-
-ok( chdir $MakeMaker::Test::Setup::SAS::dirname, "entering dir $MakeMaker::Test::Setup::SAS::dirname" ) ||
-    diag("chdir failed: $!");
-
-{
-    # ----- argument verification -----
-
-    my $stdout = tie *STDOUT, 'TieOut';
-    ok( $stdout, 'capturing stdout' );
-    my $warnings = '';
-    local $SIG{__WARN__} = sub {
-        $warnings .= join '', @_;
-    };
-
-    eval {
-        WriteMakefile(
-            NAME             => 'Multiple::Authors',
-            AUTHOR           => ['John Doe <jd at example.com>', 'Jane Doe <jd at example.com>'],
-        );
-    };
-    is( $warnings, '', 'arrayref in AUTHOR does not trigger a warning' );
-    is( $@, '',        '  nor a hard failure' );
-
-}
-
-
-{
-    # ----- argument verification -----
-
-    my $stdout = tie *STDOUT, 'TieOut';
-    ok( $stdout, 'capturing stdout' );
-    my $warnings = '';
-    local $SIG{__WARN__} = sub {
-        $warnings .= join '', @_;
-    };
-
-    eval {
-        WriteMakefile(
-            NAME             => 'Multiple::Authors',
-            CONFIGURE => sub { 
-               return {AUTHOR => 'John Doe <jd at example.com>',};
-            },
-        );
-    };
-    is( $warnings, '', 'scalar in AUTHOR inside CONFIGURE does not trigger a warning' );
-    is( $@, '',        '  nor a hard failure' );
-
-}
-
-
-# ----- generated files verification -----
-{
-    unlink $makefile;
-    my @mpl_out = run(qq{$perl Makefile.PL});
-    END { unlink $makefile, makefile_backup() }
-
-    cmp_ok( $?, '==', 0, 'Makefile.PL exiting normally' ) || diag(@mpl_out);
-    ok( -e $makefile, 'Makefile present' );
-}
-
-
-# ----- ppd output -----
-{
-    my $ppd_file = 'Multiple-Authors.ppd';
-    my @make_out = run(qq{$make ppd});
-    END { unlink $ppd_file }
-
-    cmp_ok( $?, '==', 0,    'Make ppd exiting normally' ) || diag(@make_out);
-
-    my $ppd_html = slurp($ppd_file);
-    ok( defined($ppd_html), '  .ppd file present' );
-
-    like( $ppd_html, qr{John Doe <jd\@example.com>, Jane Doe <jd\@example.com>},
-                            '  .ppd file content good' );
-}
-
-
-# ----- META.yml output -----
-{
-    my $distdir  = 'Multiple-Authors-0.05';
-    $distdir =~ s{\.}{_}g if $Is_VMS;
-
-    my $meta_yml = "$distdir/META.yml";
-    my @make_out    = run(qq{$make metafile});
-    END { rmtree $distdir }
-
-    cmp_ok( $?, '==', 0, 'Make metafile exiting normally' ) || diag(@make_out);
-    my $meta = slurp($meta_yml);
-    ok( defined($meta),  '  META.yml present' );
-
-    like( $meta, qr{\nauthor:\n\s+- John Doe <jd\@example.com>\n\s+- Jane Doe <jd\@example.com>\n},
-                         '  META.yml content good');
-}
-
-__END__
+#!/usr/bin/perl -w
+
+# This is a test checking various aspects of the optional argument
+# MIN_PERL_VERSION to WriteMakefile.
+
+BEGIN {
+    unshift @INC, 't/lib';
+}
+
+use strict;
+use Test::More tests => 20;
+
+use TieOut;
+use MakeMaker::Test::Utils;
+use MakeMaker::Test::Setup::SAS;
+use File::Path;
+
+use ExtUtils::MakeMaker;
+
+# avoid environment variables interfering with our make runs
+delete @ENV{qw(LIB MAKEFLAGS)};
+
+my $perl     = which_perl();
+my $make     = make_run();
+my $makefile = makefile_name();
+
+chdir 't';
+
+perl_lib();
+
+ok( setup_recurs(), 'setup' );
+END {
+    ok( chdir(File::Spec->updir), 'leaving dir' );
+    ok( teardown_recurs(), 'teardown' );
+}
+
+ok( chdir $MakeMaker::Test::Setup::SAS::dirname, "entering dir $MakeMaker::Test::Setup::SAS::dirname" ) ||
+    diag("chdir failed: $!");
+
+note "argument verification"; {
+    my $stdout = tie *STDOUT, 'TieOut';
+    ok( $stdout, 'capturing stdout' );
+    my $warnings = '';
+    local $SIG{__WARN__} = sub {
+        $warnings .= join '', @_;
+    };
+
+    eval {
+        WriteMakefile(
+            NAME             => 'Multiple::Authors',
+            AUTHOR           => ['John Doe <jd at example.com>', 'Jane Doe <jd at example.com>'],
+        );
+    };
+    is( $warnings, '', 'arrayref in AUTHOR does not trigger a warning' );
+    is( $@, '',        '  nor a hard failure' );
+
+}
+
+
+note "argument verification via CONFIGURE"; {
+    my $stdout = tie *STDOUT, 'TieOut';
+    ok( $stdout, 'capturing stdout' );
+    my $warnings = '';
+    local $SIG{__WARN__} = sub {
+        $warnings .= join '', @_;
+    };
+
+    eval {
+        WriteMakefile(
+            NAME             => 'Multiple::Authors',
+            CONFIGURE => sub { 
+               return {AUTHOR => 'John Doe <jd at example.com>',};
+            },
+        );
+    };
+    is( $warnings, '', 'scalar in AUTHOR inside CONFIGURE does not trigger a warning' );
+    is( $@, '',        '  nor a hard failure' );
+
+}
+
+
+note "generated files verification"; {
+    unlink $makefile;
+    my @mpl_out = run(qq{$perl Makefile.PL});
+    END { unlink $makefile, makefile_backup() }
+
+    cmp_ok( $?, '==', 0, 'Makefile.PL exiting normally' ) || diag(@mpl_out);
+    ok( -e $makefile, 'Makefile present' );
+}
+
+
+note "ppd output"; {
+    my $ppd_file = 'Multiple-Authors.ppd';
+    my @make_out = run(qq{$make ppd});
+    END { unlink $ppd_file }
+
+    cmp_ok( $?, '==', 0,    'Make ppd exiting normally' ) || diag(@make_out);
+
+    my $ppd_html = slurp($ppd_file);
+    ok( defined($ppd_html), '  .ppd file present' );
+
+    like( $ppd_html, qr{John Doe <jd\@example.com>, Jane Doe <jd\@example.com>},
+                            '  .ppd file content good' );
+}
+
+
+note "META.yml output"; {
+    my $distdir  = 'Multiple-Authors-0.05';
+    $distdir =~ s{\.}{_}g if $Is_VMS;
+
+    my $meta_yml = "$distdir/META.yml";
+    my $meta_json = "$distdir/META.json";
+    my @make_out    = run(qq{$make metafile});
+    END { rmtree $distdir }
+
+    cmp_ok( $?, '==', 0, 'Make metafile exiting normally' ) || diag(@make_out);
+
+    for my $case (
+        ['META.yml', $meta_yml],
+        ['META.json', $meta_json],
+    ) {
+        my ($label, $meta_name) = @$case;
+        ok(
+          my $obj = eval {
+            CPAN::Meta->load_file($meta_name, {lazy_validation => 0})
+          },
+          "$label validates"
+        );
+        is_deeply( [ $obj->authors ],
+          [
+            q{John Doe <jd at example.com>},
+            q{Jane Doe <jd at example.com>},
+          ],
+          "$label content good"
+        );
+    }
+}


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/several_authors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/split_command.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/split_command.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/split_command.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,7 @@
 
 chdir 't';
 
+use Config;
 use ExtUtils::MM;
 use MakeMaker::Test::Utils;
 
@@ -15,7 +16,7 @@
 use Test::More tests => 7;
 
 my $perl = which_perl;
-my $mm = bless { NAME => "Foo" }, "MM";
+my $mm = bless { NAME => "Foo", MAKE => $Config{make} }, "MM";
 
 # I don't expect anything to have a length shorter than 256 chars.
 cmp_ok( $mm->max_exec_len, '>=', 256,   'max_exec_len' );


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/split_command.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/test_boilerplate.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/test_boilerplate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/test_boilerplate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/test_boilerplate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch1/Config.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch1/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch1/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch1/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch2/Config.pm
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch2/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch2/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testdata/reallylongdirectoryname/arch2/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testlib.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testlib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testlib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/testlib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -225,8 +225,8 @@
     };
     is( $warnings, '' );
     is_deeply( $mm->{AUTHOR},  ["test"] );
+    
 
-
     # AUTHOR / array
     $warnings = '';
     eval {
@@ -238,5 +238,5 @@
     };
     is( $warnings, '' );
     is_deeply( $mm->{AUTHOR},  ["test1","test2"] );
-
+    
 }


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/writemakefile_args.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/xs.t
===================================================================
--- vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/xs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -53,6 +53,6 @@
 is( $?, 0,                                 '  make exited normally' ) || 
     diag $make_out;
 
-my $test_out = run("$make");
+my $test_out = run("$make test");
 is( $?, 0,                                 '  make test exited normally' ) || 
     diag $test_out;


Property changes on: vendor/perl/dist/cpan/ExtUtils-MakeMaker/t/xs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm
===================================================================
--- vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,7 +22,7 @@
                 $FTP_PASSIVE $TIMEOUT $DEBUG $WARN
             ];
 
-$VERSION        = '0.32';
+$VERSION        = '0.38';
 $VERSION        = eval $VERSION;    # avoid warnings with development releases
 $PREFER_BIN     = 0;                # XXX TODO implement
 $FROM_EMAIL     = 'File-Fetch at example.com';
@@ -50,7 +50,7 @@
 
 ### see what OS we are on, important for file:// uris ###
 use constant ON_WIN     => ($^O eq 'MSWin32');
-use constant ON_VMS     => ($^O eq 'VMS');                                
+use constant ON_VMS     => ($^O eq 'VMS');
 use constant ON_UNIX    => (!ON_WIN);
 use constant HAS_VOL    => (ON_WIN);
 use constant HAS_SHARE  => (ON_WIN);
@@ -107,7 +107,7 @@
 
 =item $ff->host
 
-The hostname in the uri.  Will be empty if host was originally 
+The hostname in the uri.  Will be empty if host was originally
 'localhost' for a 'file://' url.
 
 =item $ff->vol
@@ -117,8 +117,8 @@
 Thus on Win32 this routine returns the volume, on other operating
 systems this returns nothing.
 
-On Windows this value may be empty if the uri is to a network share, in 
-which case the 'share' property will be defined. Additionally, volume 
+On Windows this value may be empty if the uri is to a network share, in
+which case the 'share' property will be defined. Additionally, volume
 specifications that use '|' as ':' will be converted on read to use ':'.
 
 On VMS, which has a volume concept, this field will be empty because VMS
@@ -127,7 +127,7 @@
 
 =item $ff->share
 
-On systems with the concept of a network share (currently only Windows) returns 
+On systems with the concept of a network share (currently only Windows) returns
 the sharename from a file://// url.  On other operating systems returns empty.
 
 =item $ff->path
@@ -137,8 +137,15 @@
 =item $ff->file
 
 The name of the remote file. For the local file name, the
-result of $ff->output_file will be used. 
+result of $ff->output_file will be used.
 
+=item $ff->file_default
+
+The name of the default local file, that $ff->output_file falls back to if
+it would otherwise return no filename. For example when fetching a URI like
+http://www.abc.net.au/ the contents retrieved may be from a remote file called
+'index.html'. The default value of this attribute is literally 'file_default'.
+
 =cut
 
 
@@ -156,10 +163,12 @@
         uri             => { required => 1 },
         vol             => { default => '' }, # windows for file:// uris
         share           => { default => '' }, # windows for file:// uris
+        file_default    => { default => 'file_default' },
+        tempdir_root    => { required => 1 }, # Should be lazy-set at ->new()
         _error_msg      => { no_override => 1 },
         _error_msg_long => { no_override => 1 },
     };
-    
+
     for my $method ( keys %$Tmpl ) {
         no strict 'refs';
         *$method = sub {
@@ -168,28 +177,28 @@
                         return $self->{$method};
                     }
     }
-    
+
     sub _create {
         my $class = shift;
         my %hash  = @_;
-        
+
         my $args = check( $Tmpl, \%hash ) or return;
-        
+
         bless $args, $class;
-    
+
         if( lc($args->scheme) ne 'file' and not $args->host ) {
             return $class->_error(loc(
                 "Hostname required when fetching from '%1'",$args->scheme));
         }
-        
-        for (qw[path file]) {
+
+        for (qw[path]) {
             unless( $args->$_() ) { # 5.5.x needs the ()
                 return $class->_error(loc("No '%1' specified",$_));
             }
         }
-        
+
         return $args;
-    }    
+    }
 }
 
 =item $ff->output_file
@@ -199,7 +208,7 @@
 
     http://example.com/index.html?x=y
 
-would make the output file be C<index.html> rather than 
+would make the output file be C<index.html> rather than
 C<index.html?x=y>.
 
 =back
@@ -209,47 +218,49 @@
 sub output_file {
     my $self = shift;
     my $file = $self->file;
-    
+
     $file =~ s/\?.*$//g;
-    
+
+    $file ||= $self->file_default;
+
     return $file;
 }
 
 ### XXX do this or just point to URI::Escape?
 # =head2 $esc_uri = $ff->escaped_uri
-# 
+#
 # =cut
-# 
+#
 # ### most of this is stolen straight from URI::escape
 # {   ### Build a char->hex map
 #     my %escapes = map { chr($_) => sprintf("%%%02X", $_) } 0..255;
-# 
+#
 #     sub escaped_uri {
 #         my $self = shift;
 #         my $uri  = $self->uri;
-# 
+#
 #         ### Default unsafe characters.  RFC 2732 ^(uric - reserved)
 #         $uri =~ s/([^A-Za-z0-9\-_.!~*'()])/
 #                     $escapes{$1} || $self->_fail_hi($1)/ge;
-# 
+#
 #         return $uri;
 #     }
-# 
+#
 #     sub _fail_hi {
 #         my $self = shift;
 #         my $char = shift;
-#         
+#
 #         $self->_error(loc(
-#             "Can't escape '%1', try using the '%2' module instead", 
+#             "Can't escape '%1', try using the '%2' module instead",
 #             sprintf("\\x{%04X}", ord($char)), 'URI::Escape'
-#         ));            
+#         ));
 #     }
-# 
+#
 #     sub output_file {
-#     
+#
 #     }
-#     
-#     
+#
+#
 # }
 
 =head1 METHODS
@@ -267,9 +278,11 @@
     my $class = shift;
     my %hash  = @_;
 
-    my ($uri);
+    my ($uri, $file_default, $tempdir_root);
     my $tmpl = {
-        uri => { required => 1, store => \$uri },
+        uri          => { required => 1, store => \$uri },
+        file_default => { required => 0, store => \$file_default },
+        tempdir_root => { required => 0, store => \$tempdir_root },
     };
 
     check( $tmpl, \%hash ) or return;
@@ -277,6 +290,10 @@
     ### parse the uri to usable parts ###
     my $href    = $class->_parse_uri( $uri ) or return;
 
+    $href->{file_default} = $file_default if $file_default;
+    $href->{tempdir_root} = File::Spec->rel2abs( $tempdir_root ) if $tempdir_root;
+    $href->{tempdir_root} = File::Spec->rel2abs( Cwd::cwd      ) if not $href->{tempdir_root};
+
     ### make it into a FFI object ###
     my $ff      = $class->_create( %$href ) or return;
 
@@ -300,7 +317,7 @@
 ###
 ### In the case of file:// urls there maybe be additional fields
 ###
-### For systems with volume specifications such as Win32 there will be 
+### For systems with volume specifications such as Win32 there will be
 ### a volume specifier provided in the 'vol' field.
 ###
 ###   'vol' => 'volumename'
@@ -307,15 +324,15 @@
 ###
 ### For windows file shares there may be a 'share' key specified
 ###
-###   'share' => 'sharename' 
+###   'share' => 'sharename'
 ###
-### Note that the rules of what a file:// url means vary by the operating system 
+### Note that the rules of what a file:// url means vary by the operating system
 ### of the host being addressed. Thus file:///d|/foo/bar.txt means the obvious
-### 'D:\foo\bar.txt' on windows, but on unix it means '/d|/foo/bar.txt' and 
+### 'D:\foo\bar.txt' on windows, but on unix it means '/d|/foo/bar.txt' and
 ### not '/foo/bar.txt'
 ###
-### Similarly if the host interpreting the url is VMS then 
-### file:///disk$user/my/notes/note12345.txt' means 
+### Similarly if the host interpreting the url is VMS then
+### file:///disk$user/my/notes/note12345.txt' means
 ### 'DISK$USER:[MY.NOTES]NOTE123456.TXT' but will be returned the same as
 ### if it is unix where it means /disk$user/my/notes/note12345.txt'.
 ### Except for some cases in the File::Spec methods, Perl on VMS will generally
@@ -341,7 +358,7 @@
     ### And wikipedia for more on windows file:// urls
     ### http://en.wikipedia.org/wiki/File://
     if( $href->{scheme} eq 'file' ) {
-        
+
         my @parts = split '/',$uri;
 
         ### file://hostname/...
@@ -350,13 +367,13 @@
         $href->{host} = $parts[0] || '';
 
         ### index in @parts where the path components begin;
-        my $index = 1;  
+        my $index = 1;
 
-        ### file:////hostname/sharename/blah.txt        
+        ### file:////hostname/sharename/blah.txt
         if ( HAS_SHARE and not length $parts[0] and not length $parts[1] ) {
-            
+
             $href->{host}   = $parts[2] || '';  # avoid warnings
-            $href->{share}  = $parts[3] || '';  # avoid warnings        
+            $href->{share}  = $parts[3] || '';  # avoid warnings
 
             $index          = 4         # index after the share
 
@@ -363,10 +380,10 @@
         ### file:///D|/blah.txt
         ### file:///D:/blah.txt
         } elsif (HAS_VOL) {
-        
+
             ### this code comes from dmq's patch, but:
             ### XXX if volume is empty, wouldn't that be an error? --kane
-            ### if so, our file://localhost test needs to be fixed as wel            
+            ### if so, our file://localhost test needs to be fixed as wel
             $href->{vol}    = $parts[1] || '';
 
             ### correct D| style colume descriptors
@@ -373,13 +390,13 @@
             $href->{vol}    =~ s/\A([A-Z])\|\z/$1:/i if ON_WIN;
 
             $index          = 2;        # index after the volume
-        } 
+        }
 
         ### rebuild the path from the leftover parts;
         $href->{path} = join '/', '', splice( @parts, $index, $#parts );
 
     } else {
-        ### using anything but qw() in hash slices may produce warnings 
+        ### using anything but qw() in hash slices may produce warnings
         ### in older perls :-(
         @{$href}{ qw(host path) } = $uri =~ m|([^/]*)(/.*)$|s;
     }
@@ -390,7 +407,7 @@
         $href->{file} = $parts[2];
     }
 
-    ### host will be empty if the target was 'localhost' and the 
+    ### host will be empty if the target was 'localhost' and the
     ### scheme was 'file'
     $href->{host} = '' if   ($href->{host}      eq 'localhost') and
                             ($href->{scheme}    eq 'file');
@@ -402,7 +419,7 @@
 
 Fetches the file you requested and returns the full path to the file.
 
-By default it writes to C<cwd()>, but you can override that by specifying 
+By default it writes to C<cwd()>, but you can override that by specifying
 the C<to> argument:
 
     ### file fetch to /tmp, full path to the file in $where
@@ -431,7 +448,7 @@
     my ($to, $fh);
     ### you want us to slurp the contents
     if( ref $target and UNIVERSAL::isa( $target, 'SCALAR' ) ) {
-        $to = tempdir( 'FileFetch.XXXXXX', CLEANUP => 1 );
+        $to = tempdir( 'FileFetch.XXXXXX', DIR => $self->tempdir_root, CLEANUP => 1 );
 
     ### plain old fetch
     } else {
@@ -443,7 +460,7 @@
         ### create the path if it doesn't exist yet ###
         unless( -d $to ) {
             eval { mkpath( $to ) };
-    
+
             return $self->_error(loc("Could not create path '%1'",$to)) if $@;
         }
     }
@@ -453,9 +470,9 @@
 
     ### we dont use catfile on win32 because if we are using a cygwin tool
     ### under cmd.exe they wont understand windows style separators.
-    my $out_to = ON_WIN ? $to.'/'.$self->output_file 
+    my $out_to = ON_WIN ? $to.'/'.$self->output_file
                         : File::Spec->catfile( $to, $self->output_file );
-    
+
     for my $method ( @{ $METHODS->{$self->scheme} } ) {
         my $sub =  '_'.$method.'_fetch';
 
@@ -473,13 +490,13 @@
 
         ### there's serious issues with IPC::Run and quoting of command
         ### line arguments. using quotes in the wrong place breaks things,
-        ### and in the case of say, 
+        ### and in the case of say,
         ### C:\cygwin\bin\wget.EXE --quiet --passive-ftp --output-document
         ### "index.html" "http://www.cpan.org/index.html?q=1&y=2"
         ### it doesn't matter how you quote, it always fails.
         local $IPC::Cmd::USE_IPC_RUN = 0;
-        
-        if( my $file = $self->$sub( 
+
+        if( my $file = $self->$sub(
                         to => $out_to
         )){
 
@@ -496,19 +513,19 @@
 
                 ### slurp mode?
                 if( ref $target and UNIVERSAL::isa( $target, 'SCALAR' ) ) {
-                    
+
                     ### open the file
                     open my $fh, "<$file" or do {
                         $self->_error(
                             loc("Could not open '%1': %2", $file, $!));
-                        return;                            
+                        return;
                     };
-                    
+
                     ### slurp
                     $$target = do { local $/; <$fh> };
-                
-                } 
 
+                }
+
                 my $abs = File::Spec->rel2abs( $file );
                 return $abs;
 
@@ -547,41 +564,40 @@
 
     };
 
-    if( can_load(modules => $use_list) ) {
+    unless( can_load( modules => $use_list ) ) {
+        $METHOD_FAIL->{'lwp'} = 1;
+        return;
+    }
 
-        ### setup the uri object
-        my $uri = URI->new( File::Spec::Unix->catfile(
-                                    $self->path, $self->file
-                        ) );
+    ### setup the uri object
+    my $uri = URI->new( File::Spec::Unix->catfile(
+                                $self->path, $self->file
+                    ) );
 
-        ### special rules apply for file:// uris ###
-        $uri->scheme( $self->scheme );
-        $uri->host( $self->scheme eq 'file' ? '' : $self->host );
-        $uri->userinfo("anonymous:$FROM_EMAIL") if $self->scheme ne 'file';
+    ### special rules apply for file:// uris ###
+    $uri->scheme( $self->scheme );
+    $uri->host( $self->scheme eq 'file' ? '' : $self->host );
+    $uri->userinfo("anonymous:$FROM_EMAIL") if $self->scheme ne 'file';
 
-        ### set up the useragent object
-        my $ua = LWP::UserAgent->new();
-        $ua->timeout( $TIMEOUT ) if $TIMEOUT;
-        $ua->agent( $USER_AGENT );
-        $ua->from( $FROM_EMAIL );
-        $ua->env_proxy;
+    ### set up the useragent object
+    my $ua = LWP::UserAgent->new();
+    $ua->timeout( $TIMEOUT ) if $TIMEOUT;
+    $ua->agent( $USER_AGENT );
+    $ua->from( $FROM_EMAIL );
+    $ua->env_proxy;
 
-        my $res = $ua->mirror($uri, $to) or return;
+    my $res = $ua->mirror($uri, $to) or return;
 
-        ### uptodate or fetched ok ###
-        if ( $res->code == 304 or $res->code == 200 ) {
-            return $to;
+    ### uptodate or fetched ok ###
+    if ( $res->code == 304 or $res->code == 200 ) {
+        return $to;
 
-        } else {
-            return $self->_error(loc("Fetch failed! HTTP response: %1 %2 [%3]",
-                        $res->code, HTTP::Status::status_message($res->code),
-                        $res->status_line));
-        }
-
     } else {
-        $METHOD_FAIL->{'lwp'} = 1;
-        return;
+        return $self->_error(loc("Fetch failed! HTTP response: %1 %2 [%3]",
+                    $res->code, HTTP::Status::status_message($res->code),
+                    $res->status_line));
     }
+
 }
 
 ### HTTP::Tiny fetching ###
@@ -600,28 +616,26 @@
 
     };
 
-    if( can_load(modules => $use_list) ) {
+    unless( can_load(modules => $use_list) ) {
+        $METHOD_FAIL->{'httptiny'} = 1;
+        return;
+    }
 
-        my $uri = $self->uri;
+    my $uri = $self->uri;
 
-        my $http = HTTP::Tiny->new( ( $TIMEOUT ? ( timeout => $TIMEOUT ) : () ) );
+    my $http = HTTP::Tiny->new( ( $TIMEOUT ? ( timeout => $TIMEOUT ) : () ) );
 
-        my $rc = $http->mirror( $uri, $to );
+    my $rc = $http->mirror( $uri, $to );
 
-        unless ( $rc->{success} ) {
+    unless ( $rc->{success} ) {
 
-            return $self->_error(loc( "Fetch failed! HTTP response: %1 [%2]",
-                        $rc->{status}, $rc->{reason} ) );
+        return $self->_error(loc( "Fetch failed! HTTP response: %1 [%2]",
+                    $rc->{status}, $rc->{reason} ) );
 
-        }
+    }
 
-        return $to;
+    return $to;
 
-    }
-    else {
-        $METHOD_FAIL->{'httptiny'} = 1;
-        return;
-    }
 }
 
 ### HTTP::Lite fetching ###
@@ -641,66 +655,63 @@
 
     };
 
-    # https://github.com/dagolden/cpanpm/compare/master...private%2Fuse-http-lite
+    unless( can_load(modules => $use_list) ) {
+        $METHOD_FAIL->{'httplite'} = 1;
+        return;
+    }
 
-    if( can_load(modules => $use_list) ) {
+    my $uri = $self->uri;
+    my $retries = 0;
 
-        my $uri = $self->uri;
-        my $retries = 0;
+    RETRIES: while ( $retries++ < 5 ) {
 
-        RETRIES: while ( $retries++ < 5 ) {
+      my $http = HTTP::Lite->new();
+      # Naughty naughty but there isn't any accessor/setter
+      $http->{timeout} = $TIMEOUT if $TIMEOUT;
+      $http->http11_mode(1);
 
-          my $http = HTTP::Lite->new();
-          # Naughty naughty but there isn't any accessor/setter
-          $http->{timeout} = $TIMEOUT if $TIMEOUT;
-          $http->http11_mode(1);
+      my $fh = FileHandle->new;
 
-          my $fh = FileHandle->new;
+      unless ( $fh->open($to,'>') ) {
+        return $self->_error(loc(
+             "Could not open '%1' for writing: %2",$to,$!));
+      }
 
-          unless ( $fh->open($to,'>') ) {
-            return $self->_error(loc(
-                 "Could not open '%1' for writing: %2",$to,$!));
-          }
+      $fh->autoflush(1);
 
-          $fh->autoflush(1);
+      binmode $fh;
 
-          binmode $fh;
+      my $rc = $http->request( $uri, sub { my ($self,$dref,$cbargs) = @_; local $\; print {$cbargs} $$dref }, $fh );
 
-          my $rc = $http->request( $uri, sub { my ($self,$dref,$cbargs) = @_; local $\; print {$cbargs} $$dref }, $fh );
+      close $fh;
 
-          close $fh;
-
-          if ( $rc == 301 || $rc == 302 ) {
-              my $loc;
-              HEADERS: for ($http->headers_array) {
-                /Location: (\S+)/ and $loc = $1, last HEADERS;
-              }
-              #$loc or last; # Think we should squeal here.
-              if ($loc =~ m!^/!) {
-                $uri =~ s{^(\w+?://[^/]+)/.*$}{$1};
-                $uri .= $loc;
-              } 
-              else {
-                $uri = $loc;
-              }
-              next RETRIES;
+      if ( $rc == 301 || $rc == 302 ) {
+          my $loc;
+          HEADERS: for ($http->headers_array) {
+            /Location: (\S+)/ and $loc = $1, last HEADERS;
           }
-          elsif ( $rc == 200 ) {
-              return $to;
+          #$loc or last; # Think we should squeal here.
+          if ($loc =~ m!^/!) {
+            $uri =~ s{^(\w+?://[^/]+)/.*$}{$1};
+            $uri .= $loc;
           }
           else {
-            return $self->_error(loc("Fetch failed! HTTP response: %1 [%2]",
-                        $rc, $http->status_message));
+            $uri = $loc;
           }
+          next RETRIES;
+      }
+      elsif ( $rc == 200 ) {
+          return $to;
+      }
+      else {
+        return $self->_error(loc("Fetch failed! HTTP response: %1 [%2]",
+                    $rc, $http->status_message));
+      }
 
-        } # Loop for 5 retries.
+    } # Loop for 5 retries.
 
-        return $self->_error("Fetch failed! Gave up after 5 tries");
+    return $self->_error("Fetch failed! Gave up after 5 tries");
 
-    } else {
-        $METHOD_FAIL->{'httplite'} = 1;
-        return;
-    }
 }
 
 ### Simple IO::Socket::INET fetching ###
@@ -719,74 +730,73 @@
         'IO::Select'       => '0.0',
     };
 
-    if( can_load(modules => $use_list) ) {
-        my $sock = IO::Socket::INET->new( 
-            PeerHost => $self->host,
-            ( $self->host =~ /:/ ? () : ( PeerPort => 80 ) ),
-        );
+    unless( can_load(modules => $use_list) ) {
+        $METHOD_FAIL->{'iosock'} = 1;
+        return;
+    }
 
-        unless ( $sock ) {
-            return $self->_error(loc("Could not open socket to '%1', '%2'",$self->host,$!));
-        }
+    my $sock = IO::Socket::INET->new(
+        PeerHost => $self->host,
+        ( $self->host =~ /:/ ? () : ( PeerPort => 80 ) ),
+    );
 
-        my $fh = FileHandle->new;
+    unless ( $sock ) {
+        return $self->_error(loc("Could not open socket to '%1', '%2'",$self->host,$!));
+    }
 
-        # Check open()
+    my $fh = FileHandle->new;
 
-        unless ( $fh->open($to,'>') ) {
-            return $self->_error(loc(
-                 "Could not open '%1' for writing: %2",$to,$!));
-        }
+    # Check open()
 
-        $fh->autoflush(1);
-        binmode $fh;
+    unless ( $fh->open($to,'>') ) {
+        return $self->_error(loc(
+             "Could not open '%1' for writing: %2",$to,$!));
+    }
 
-        my $path = File::Spec::Unix->catfile( $self->path, $self->file );
-        my $req = "GET $path HTTP/1.0\x0d\x0aHost: " . $self->host . "\x0d\x0a\x0d\x0a";
-        $sock->send( $req );
+    $fh->autoflush(1);
+    binmode $fh;
 
-        my $select = IO::Select->new( $sock );
+    my $path = File::Spec::Unix->catfile( $self->path, $self->file );
+    my $req = "GET $path HTTP/1.0\x0d\x0aHost: " . $self->host . "\x0d\x0a\x0d\x0a";
+    $sock->send( $req );
 
-        my $resp = '';
-        my $normal = 0;
-        while ( $select->can_read( $TIMEOUT || 60 ) ) {
-          my $ret = $sock->sysread( $resp, 4096, length($resp) );
-          if ( !defined $ret or $ret == 0 ) {
-            $select->remove( $sock );
-            $normal++;
-          }
-        }
-        close $sock;
+    my $select = IO::Select->new( $sock );
 
-        unless ( $normal ) {
-            return $self->_error(loc("Socket timed out after '%1' seconds", ( $TIMEOUT || 60 )));
-        }
+    my $resp = '';
+    my $normal = 0;
+    while ( $select->can_read( $TIMEOUT || 60 ) ) {
+      my $ret = $sock->sysread( $resp, 4096, length($resp) );
+      if ( !defined $ret or $ret == 0 ) {
+        $select->remove( $sock );
+        $normal++;
+      }
+    }
+    close $sock;
 
-        # Check the "response"
-        # Strip preceding blank lines apparently they are allowed (RFC 2616 4.1)
-        $resp =~ s/^(\x0d?\x0a)+//;
-        # Check it is an HTTP response
-        unless ( $resp =~ m!^HTTP/(\d+)\.(\d+)!i ) {
-            return $self->_error(loc("Did not get a HTTP response from '%1'",$self->host));
-        }
+    unless ( $normal ) {
+        return $self->_error(loc("Socket timed out after '%1' seconds", ( $TIMEOUT || 60 )));
+    }
 
-        # Check for OK
-        my ($code) = $resp =~ m!^HTTP/\d+\.\d+\s+(\d+)!i;
-        unless ( $code eq '200' ) {
-            return $self->_error(loc("Got a '%1' from '%2' expected '200'",$code,$self->host));
-        }
+    # Check the "response"
+    # Strip preceding blank lines apparently they are allowed (RFC 2616 4.1)
+    $resp =~ s/^(\x0d?\x0a)+//;
+    # Check it is an HTTP response
+    unless ( $resp =~ m!^HTTP/(\d+)\.(\d+)!i ) {
+        return $self->_error(loc("Did not get a HTTP response from '%1'",$self->host));
+    }
 
-        {
-          local $\;
-          print $fh +($resp =~ m/\x0d\x0a\x0d\x0a(.*)$/s )[0];
-        }
-        close $fh;
-        return $to;
+    # Check for OK
+    my ($code) = $resp =~ m!^HTTP/\d+\.\d+\s+(\d+)!i;
+    unless ( $code eq '200' ) {
+        return $self->_error(loc("Got a '%1' from '%2' expected '200'",$code,$self->host));
+    }
 
-    } else {
-        $METHOD_FAIL->{'iosock'} = 1;
-        return;
+    {
+      local $\;
+      print $fh +($resp =~ m/\x0d\x0a\x0d\x0a(.*)$/s )[0];
     }
+    close $fh;
+    return $to;
 }
 
 ### Net::FTP fetching
@@ -803,44 +813,43 @@
     ### required modules ###
     my $use_list = { 'Net::FTP' => 0 };
 
-    if( can_load( modules => $use_list ) ) {
+    unless( can_load( modules => $use_list ) ) {
+        $METHOD_FAIL->{'netftp'} = 1;
+        return;
+    }
 
-        ### make connection ###
-        my $ftp;
-        my @options = ($self->host);
-        push(@options, Timeout => $TIMEOUT) if $TIMEOUT;
-        unless( $ftp = Net::FTP->new( @options ) ) {
-            return $self->_error(loc("Ftp creation failed: %1",$@));
-        }
+    ### make connection ###
+    my $ftp;
+    my @options = ($self->host);
+    push(@options, Timeout => $TIMEOUT) if $TIMEOUT;
+    unless( $ftp = Net::FTP->new( @options ) ) {
+        return $self->_error(loc("Ftp creation failed: %1",$@));
+    }
 
-        ### login ###
-        unless( $ftp->login( anonymous => $FROM_EMAIL ) ) {
-            return $self->_error(loc("Could not login to '%1'",$self->host));
-        }
+    ### login ###
+    unless( $ftp->login( anonymous => $FROM_EMAIL ) ) {
+        return $self->_error(loc("Could not login to '%1'",$self->host));
+    }
 
-        ### set binary mode, just in case ###
-        $ftp->binary;
+    ### set binary mode, just in case ###
+    $ftp->binary;
 
-        ### create the remote path 
-        ### remember remote paths are unix paths! [#11483]
-        my $remote = File::Spec::Unix->catfile( $self->path, $self->file );
+    ### create the remote path
+    ### remember remote paths are unix paths! [#11483]
+    my $remote = File::Spec::Unix->catfile( $self->path, $self->file );
 
-        ### fetch the file ###
-        my $target;
-        unless( $target = $ftp->get( $remote, $to ) ) {
-            return $self->_error(loc("Could not fetch '%1' from '%2'",
-                        $remote, $self->host));
-        }
+    ### fetch the file ###
+    my $target;
+    unless( $target = $ftp->get( $remote, $to ) ) {
+        return $self->_error(loc("Could not fetch '%1' from '%2'",
+                    $remote, $self->host));
+    }
 
-        ### log out ###
-        $ftp->quit;
+    ### log out ###
+    $ftp->quit;
 
-        return $target;
+    return $target;
 
-    } else {
-        $METHOD_FAIL->{'netftp'} = 1;
-        return;
-    }
 }
 
 ### /bin/wget fetch ###
@@ -854,47 +863,46 @@
     };
     check( $tmpl, \%hash ) or return;
 
+    my $wget;
     ### see if we have a wget binary ###
-    if( my $wget = can_run('wget') ) {
+    unless( $wget = can_run('wget') ) {
+        $METHOD_FAIL->{'wget'} = 1;
+        return;
+    }
 
-        ### no verboseness, thanks ###
-        my $cmd = [ $wget, '--quiet' ];
+    ### no verboseness, thanks ###
+    my $cmd = [ $wget, '--quiet' ];
 
-        ### if a timeout is set, add it ###
-        push(@$cmd, '--timeout=' . $TIMEOUT) if $TIMEOUT;
+    ### if a timeout is set, add it ###
+    push(@$cmd, '--timeout=' . $TIMEOUT) if $TIMEOUT;
 
-        ### run passive if specified ###
-        push @$cmd, '--passive-ftp' if $FTP_PASSIVE;
+    ### run passive if specified ###
+    push @$cmd, '--passive-ftp' if $FTP_PASSIVE;
 
-        ### set the output document, add the uri ###
-        push @$cmd, '--output-document', $to, $self->uri;
+    ### set the output document, add the uri ###
+    push @$cmd, '--output-document', $to, $self->uri;
 
-        ### with IPC::Cmd > 0.41, this is fixed in teh library,
-        ### and there's no need for special casing any more.
-        ### DO NOT quote things for IPC::Run, it breaks stuff.
-        # $IPC::Cmd::USE_IPC_RUN
-        #    ? ($to, $self->uri)
-        #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
+    ### with IPC::Cmd > 0.41, this is fixed in teh library,
+    ### and there's no need for special casing any more.
+    ### DO NOT quote things for IPC::Run, it breaks stuff.
+    # $IPC::Cmd::USE_IPC_RUN
+    #    ? ($to, $self->uri)
+    #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
 
-        ### shell out ###
-        my $captured;
-        unless(run( command => $cmd, 
-                    buffer  => \$captured, 
-                    verbose => $DEBUG  
-        )) {
-            ### wget creates the output document always, even if the fetch
-            ### fails.. so unlink it in that case
-            1 while unlink $to;
-            
-            return $self->_error(loc( "Command failed: %1", $captured || '' ));
-        }
+    ### shell out ###
+    my $captured;
+    unless(run( command => $cmd,
+                buffer  => \$captured,
+                verbose => $DEBUG
+    )) {
+        ### wget creates the output document always, even if the fetch
+        ### fails.. so unlink it in that case
+        1 while unlink $to;
 
-        return $to;
+        return $self->_error(loc( "Command failed: %1", $captured || '' ));
+    }
 
-    } else {
-        $METHOD_FAIL->{'wget'} = 1;
-        return;
-    }
+    return $to;
 }
 
 ### /bin/lftp fetch ###
@@ -908,67 +916,66 @@
     };
     check( $tmpl, \%hash ) or return;
 
-    ### see if we have a wget binary ###
-    if( my $lftp = can_run('lftp') ) {
+    ### see if we have a lftp binary ###
+    my $lftp;
+    unless( $lftp = can_run('lftp') ) {
+        $METHOD_FAIL->{'lftp'} = 1;
+        return;
+    }
 
-        ### no verboseness, thanks ###
-        my $cmd = [ $lftp, '-f' ];
+    ### no verboseness, thanks ###
+    my $cmd = [ $lftp, '-f' ];
 
-        my $fh = File::Temp->new;
-        
-        my $str;
-        
-        ### if a timeout is set, add it ###
-        $str .= "set net:timeout $TIMEOUT;\n" if $TIMEOUT;
+    my $fh = File::Temp->new;
 
-        ### run passive if specified ###
-        $str .= "set ftp:passive-mode 1;\n" if $FTP_PASSIVE;
+    my $str;
 
-        ### set the output document, add the uri ###
-        ### quote the URI, because lftp supports certain shell
-        ### expansions, most notably & for backgrounding.
-        ### ' quote does nto work, must be "
-        $str .= q[get ']. $self->uri .q[' -o ]. $to . $/;
+    ### if a timeout is set, add it ###
+    $str .= "set net:timeout $TIMEOUT;\n" if $TIMEOUT;
 
-        if( $DEBUG ) {
-            my $pp_str = join ' ', split $/, $str;
-            print "# lftp command: $pp_str\n";
-        }              
+    ### run passive if specified ###
+    $str .= "set ftp:passive-mode 1;\n" if $FTP_PASSIVE;
 
-        ### write straight to the file.
-        $fh->autoflush(1);
-        print $fh $str;
+    ### set the output document, add the uri ###
+    ### quote the URI, because lftp supports certain shell
+    ### expansions, most notably & for backgrounding.
+    ### ' quote does nto work, must be "
+    $str .= q[get ']. $self->uri .q[' -o ]. $to . $/;
 
-        ### the command needs to be 1 string to be executed
-        push @$cmd, $fh->filename;
+    if( $DEBUG ) {
+        my $pp_str = join ' ', split $/, $str;
+        print "# lftp command: $pp_str\n";
+    }
 
-        ### with IPC::Cmd > 0.41, this is fixed in teh library,
-        ### and there's no need for special casing any more.
-        ### DO NOT quote things for IPC::Run, it breaks stuff.
-        # $IPC::Cmd::USE_IPC_RUN
-        #    ? ($to, $self->uri)
-        #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
+    ### write straight to the file.
+    $fh->autoflush(1);
+    print $fh $str;
 
+    ### the command needs to be 1 string to be executed
+    push @$cmd, $fh->filename;
 
-        ### shell out ###
-        my $captured;
-        unless(run( command => $cmd,
-                    buffer  => \$captured,
-                    verbose => $DEBUG
-        )) {
-            ### wget creates the output document always, even if the fetch
-            ### fails.. so unlink it in that case
-            1 while unlink $to;
+    ### with IPC::Cmd > 0.41, this is fixed in teh library,
+    ### and there's no need for special casing any more.
+    ### DO NOT quote things for IPC::Run, it breaks stuff.
+    # $IPC::Cmd::USE_IPC_RUN
+    #    ? ($to, $self->uri)
+    #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
 
-            return $self->_error(loc( "Command failed: %1", $captured || '' ));
-        }
 
-        return $to;
+    ### shell out ###
+    my $captured;
+    unless(run( command => $cmd,
+                buffer  => \$captured,
+                verbose => $DEBUG
+    )) {
+        ### wget creates the output document always, even if the fetch
+        ### fails.. so unlink it in that case
+        1 while unlink $to;
 
-    } else {
-        $METHOD_FAIL->{'lftp'} = 1;
-        return;
+        return $self->_error(loc( "Command failed: %1", $captured || '' ));
     }
+
+    return $to;
 }
 
 
@@ -985,32 +992,35 @@
     check( $tmpl, \%hash ) or return;
 
     ### see if we have a ftp binary ###
-    if( my $ftp = can_run('ftp') ) {
+    my $ftp;
+    unless( $ftp = can_run('ftp') ) {
+        $METHOD_FAIL->{'ftp'} = 1;
+        return;
+    }
 
-        my $fh = FileHandle->new;
+    my $fh = FileHandle->new;
 
-        local $SIG{CHLD} = 'IGNORE';
+    local $SIG{CHLD} = 'IGNORE';
 
-        unless ($fh->open("|$ftp -n")) {
-            return $self->_error(loc("%1 creation failed: %2", $ftp, $!));
-        }
+    unless ($fh->open("$ftp -n", '|-')) {
+        return $self->_error(loc("%1 creation failed: %2", $ftp, $!));
+    }
 
-        my @dialog = (
-            "lcd " . dirname($to),
-            "open " . $self->host,
-            "user anonymous $FROM_EMAIL",
-            "cd /",
-            "cd " . $self->path,
-            "binary",
-            "get " . $self->file . " " . $self->output_file,
-            "quit",
-        );
+    my @dialog = (
+        "lcd " . dirname($to),
+        "open " . $self->host,
+        "user anonymous $FROM_EMAIL",
+        "cd /",
+        "cd " . $self->path,
+        "binary",
+        "get " . $self->file . " " . $self->output_file,
+        "quit",
+    );
 
-        foreach (@dialog) { $fh->print($_, "\n") }
-        $fh->close or return;
+    foreach (@dialog) { $fh->print($_, "\n") }
+    $fh->close or return;
 
-        return $to;
-    }
+    return $to;
 }
 
 ### lynx is stupid - it decompresses any .gz file it finds to be text
@@ -1026,51 +1036,25 @@
     check( $tmpl, \%hash ) or return;
 
     ### see if we have a lynx binary ###
-    if( my $lynx = can_run('lynx') ) {
+    my $lynx;
+    unless ( $lynx = can_run('lynx') ){
+        $METHOD_FAIL->{'lynx'} = 1;
+        return;
+    }
 
-        unless( IPC::Cmd->can_capture_buffer ) {
-            $METHOD_FAIL->{'lynx'} = 1;
+    unless( IPC::Cmd->can_capture_buffer ) {
+        $METHOD_FAIL->{'lynx'} = 1;
 
-            return $self->_error(loc( 
-                "Can not capture buffers. Can not use '%1' to fetch files",
-                'lynx' ));
-        }            
+        return $self->_error(loc(
+            "Can not capture buffers. Can not use '%1' to fetch files",
+            'lynx' ));
+    }
 
-        ### check if the HTTP resource exists ###
-        if ($self->uri =~ /^https?:\/\//i) {
-            my $cmd = [
-                $lynx,
-                '-head',
-                '-source',
-                "-auth=anonymous:$FROM_EMAIL",
-            ];
-
-            push @$cmd, "-connect_timeout=$TIMEOUT" if $TIMEOUT;
-
-            push @$cmd, $self->uri;
-
-            ### shell out ###
-            my $head;
-            unless(run( command => $cmd,
-                        buffer  => \$head,
-                        verbose => $DEBUG )
-            ) {
-                return $self->_error(loc("Command failed: %1", $head || ''));
-            }
-
-            unless($head =~ /^HTTP\/\d+\.\d+ 200\b/) {
-                return $self->_error(loc("Command failed: %1", $head || ''));
-            }
-        }
-
-        ### write to the output file ourselves, since lynx ass_u_mes to much
-        my $local = FileHandle->new(">$to")
-                        or return $self->_error(loc(
-                            "Could not open '%1' for writing: %2",$to,$!));
-
-        ### dump to stdout ###
+    ### check if the HTTP resource exists ###
+    if ($self->uri =~ /^https?:\/\//i) {
         my $cmd = [
             $lynx,
+            '-head',
             '-source',
             "-auth=anonymous:$FROM_EMAIL",
         ];
@@ -1077,43 +1061,68 @@
 
         push @$cmd, "-connect_timeout=$TIMEOUT" if $TIMEOUT;
 
-        ### DO NOT quote things for IPC::Run, it breaks stuff.
         push @$cmd, $self->uri;
-        
-        ### with IPC::Cmd > 0.41, this is fixed in teh library,
-        ### and there's no need for special casing any more.
-        ### DO NOT quote things for IPC::Run, it breaks stuff.
-        # $IPC::Cmd::USE_IPC_RUN
-        #    ? $self->uri
-        #    : QUOTE. $self->uri .QUOTE;
 
-
         ### shell out ###
-        my $captured;
+        my $head;
         unless(run( command => $cmd,
-                    buffer  => \$captured,
+                    buffer  => \$head,
                     verbose => $DEBUG )
         ) {
-            return $self->_error(loc("Command failed: %1", $captured || ''));
+            return $self->_error(loc("Command failed: %1", $head || ''));
         }
 
-        ### print to local file ###
-        ### XXX on a 404 with a special error page, $captured will actually
-        ### hold the contents of that page, and make it *appear* like the
-        ### request was a success, when really it wasn't :(
-        ### there doesn't seem to be an option for lynx to change the exit
-        ### code based on a 4XX status or so.
-        ### the closest we can come is using --error_file and parsing that,
-        ### which is very unreliable ;(
-        $local->print( $captured );
-        $local->close or return;
+        unless($head =~ /^HTTP\/\d+\.\d+ 200\b/) {
+            return $self->_error(loc("Command failed: %1", $head || ''));
+        }
+    }
 
-        return $to;
+    ### write to the output file ourselves, since lynx ass_u_mes to much
+    my $local = FileHandle->new( $to, 'w' )
+                    or return $self->_error(loc(
+                        "Could not open '%1' for writing: %2",$to,$!));
 
-    } else {
-        $METHOD_FAIL->{'lynx'} = 1;
-        return;
+    ### dump to stdout ###
+    my $cmd = [
+        $lynx,
+        '-source',
+        "-auth=anonymous:$FROM_EMAIL",
+    ];
+
+    push @$cmd, "-connect_timeout=$TIMEOUT" if $TIMEOUT;
+
+    ### DO NOT quote things for IPC::Run, it breaks stuff.
+    push @$cmd, $self->uri;
+
+    ### with IPC::Cmd > 0.41, this is fixed in teh library,
+    ### and there's no need for special casing any more.
+    ### DO NOT quote things for IPC::Run, it breaks stuff.
+    # $IPC::Cmd::USE_IPC_RUN
+    #    ? $self->uri
+    #    : QUOTE. $self->uri .QUOTE;
+
+
+    ### shell out ###
+    my $captured;
+    unless(run( command => $cmd,
+                buffer  => \$captured,
+                verbose => $DEBUG )
+    ) {
+        return $self->_error(loc("Command failed: %1", $captured || ''));
     }
+
+    ### print to local file ###
+    ### XXX on a 404 with a special error page, $captured will actually
+    ### hold the contents of that page, and make it *appear* like the
+    ### request was a success, when really it wasn't :(
+    ### there doesn't seem to be an option for lynx to change the exit
+    ### code based on a 4XX status or so.
+    ### the closest we can come is using --error_file and parsing that,
+    ### which is very unreliable ;(
+    $local->print( $captured );
+    $local->close or return;
+
+    return $to;
 }
 
 ### use /bin/ncftp to fetch files
@@ -1132,38 +1141,38 @@
     return if $FTP_PASSIVE;
 
     ### see if we have a ncftp binary ###
-    if( my $ncftp = can_run('ncftp') ) {
+    my $ncftp;
+    unless( $ncftp = can_run('ncftp') ) {
+        $METHOD_FAIL->{'ncftp'} = 1;
+        return;
+    }
 
-        my $cmd = [
-            $ncftp,
-            '-V',                   # do not be verbose
-            '-p', $FROM_EMAIL,      # email as password
-            $self->host,            # hostname
-            dirname($to),           # local dir for the file
-                                    # remote path to the file
-            ### DO NOT quote things for IPC::Run, it breaks stuff.
-            $IPC::Cmd::USE_IPC_RUN
-                        ? File::Spec::Unix->catdir( $self->path, $self->file )
-                        : QUOTE. File::Spec::Unix->catdir( 
-                                        $self->path, $self->file ) .QUOTE
-            
-        ];
+    my $cmd = [
+        $ncftp,
+        '-V',                   # do not be verbose
+        '-p', $FROM_EMAIL,      # email as password
+        $self->host,            # hostname
+        dirname($to),           # local dir for the file
+                                # remote path to the file
+        ### DO NOT quote things for IPC::Run, it breaks stuff.
+        $IPC::Cmd::USE_IPC_RUN
+                    ? File::Spec::Unix->catdir( $self->path, $self->file )
+                    : QUOTE. File::Spec::Unix->catdir(
+                                    $self->path, $self->file ) .QUOTE
 
-        ### shell out ###
-        my $captured;
-        unless(run( command => $cmd,
-                    buffer  => \$captured,
-                    verbose => $DEBUG )
-        ) {
-            return $self->_error(loc("Command failed: %1", $captured || ''));
-        }
+    ];
 
-        return $to;
+    ### shell out ###
+    my $captured;
+    unless(run( command => $cmd,
+                buffer  => \$captured,
+                verbose => $DEBUG )
+    ) {
+        return $self->_error(loc("Command failed: %1", $captured || ''));
+    }
 
-    } else {
-        $METHOD_FAIL->{'ncftp'} = 1;
-        return;
-    }
+    return $to;
+
 }
 
 ### use /bin/curl to fetch files
@@ -1176,48 +1185,47 @@
         to  => { required => 1, store => \$to }
     };
     check( $tmpl, \%hash ) or return;
+    my $curl;
+    unless ( $curl = can_run('curl') ) {
+        $METHOD_FAIL->{'curl'} = 1;
+        return;
+    }
 
-    if (my $curl = can_run('curl')) {
+    ### these long opts are self explanatory - I like that -jmb
+    my $cmd = [ $curl, '-q' ];
 
-        ### these long opts are self explanatory - I like that -jmb
-	    my $cmd = [ $curl, '-q' ];
+    push(@$cmd, '--connect-timeout', $TIMEOUT) if $TIMEOUT;
 
-	    push(@$cmd, '--connect-timeout', $TIMEOUT) if $TIMEOUT;
+    push(@$cmd, '--silent') unless $DEBUG;
 
-	    push(@$cmd, '--silent') unless $DEBUG;
+    ### curl does the right thing with passive, regardless ###
+    if ($self->scheme eq 'ftp') {
+        push(@$cmd, '--user', "anonymous:$FROM_EMAIL");
+    }
 
-        ### curl does the right thing with passive, regardless ###
-    	if ($self->scheme eq 'ftp') {
-    		push(@$cmd, '--user', "anonymous:$FROM_EMAIL");
-    	}
+    ### curl doesn't follow 302 (temporarily moved) etc automatically
+    ### so we add --location to enable that.
+    push @$cmd, '--fail', '--location', '--output', $to, $self->uri;
 
-        ### curl doesn't follow 302 (temporarily moved) etc automatically
-        ### so we add --location to enable that.
-        push @$cmd, '--fail', '--location', '--output', $to, $self->uri;
+    ### with IPC::Cmd > 0.41, this is fixed in teh library,
+    ### and there's no need for special casing any more.
+    ### DO NOT quote things for IPC::Run, it breaks stuff.
+    # $IPC::Cmd::USE_IPC_RUN
+    #    ? ($to, $self->uri)
+    #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
 
-        ### with IPC::Cmd > 0.41, this is fixed in teh library,
-        ### and there's no need for special casing any more.
-        ### DO NOT quote things for IPC::Run, it breaks stuff.
-        # $IPC::Cmd::USE_IPC_RUN
-        #    ? ($to, $self->uri)
-        #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
 
+    my $captured;
+    unless(run( command => $cmd,
+                buffer  => \$captured,
+                verbose => $DEBUG )
+    ) {
 
-        my $captured;
-        unless(run( command => $cmd,
-                    buffer  => \$captured,
-                    verbose => $DEBUG )
-        ) {
+        return $self->_error(loc("Command failed: %1", $captured || ''));
+    }
 
-            return $self->_error(loc("Command failed: %1", $captured || ''));
-        }
+    return $to;
 
-        return $to;
-
-    } else {
-        $METHOD_FAIL->{'curl'} = 1;
-        return;
-    }
 }
 
 ### /usr/bin/fetch fetch! ###
@@ -1231,48 +1239,47 @@
     };
     check( $tmpl, \%hash ) or return;
 
-    ### see if we have a wget binary ###
-    if( HAS_FETCH and my $fetch = can_run('fetch') ) {
+    ### see if we have a fetch binary ###
+    my $fetch;
+    unless( HAS_FETCH and $fetch = can_run('fetch') ) {
+        $METHOD_FAIL->{'fetch'} = 1;
+        return;
+    }
 
-        ### no verboseness, thanks ###
-        my $cmd = [ $fetch, '-q' ];
+    ### no verboseness, thanks ###
+    my $cmd = [ $fetch, '-q' ];
 
-        ### if a timeout is set, add it ###
-        push(@$cmd, '-T', $TIMEOUT) if $TIMEOUT;
+    ### if a timeout is set, add it ###
+    push(@$cmd, '-T', $TIMEOUT) if $TIMEOUT;
 
-        ### run passive if specified ###
-        #push @$cmd, '-p' if $FTP_PASSIVE;
-        local $ENV{'FTP_PASSIVE_MODE'} = 1 if $FTP_PASSIVE;
+    ### run passive if specified ###
+    #push @$cmd, '-p' if $FTP_PASSIVE;
+    local $ENV{'FTP_PASSIVE_MODE'} = 1 if $FTP_PASSIVE;
 
-        ### set the output document, add the uri ###
-        push @$cmd, '-o', $to, $self->uri;
+    ### set the output document, add the uri ###
+    push @$cmd, '-o', $to, $self->uri;
 
-        ### with IPC::Cmd > 0.41, this is fixed in teh library,
-        ### and there's no need for special casing any more.
-        ### DO NOT quote things for IPC::Run, it breaks stuff.
-        # $IPC::Cmd::USE_IPC_RUN
-        #    ? ($to, $self->uri)
-        #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
+    ### with IPC::Cmd > 0.41, this is fixed in teh library,
+    ### and there's no need for special casing any more.
+    ### DO NOT quote things for IPC::Run, it breaks stuff.
+    # $IPC::Cmd::USE_IPC_RUN
+    #    ? ($to, $self->uri)
+    #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
 
-        ### shell out ###
-        my $captured;
-        unless(run( command => $cmd, 
-                    buffer  => \$captured, 
-                    verbose => $DEBUG  
-        )) {
-            ### wget creates the output document always, even if the fetch
-            ### fails.. so unlink it in that case
-            1 while unlink $to;
-            
-            return $self->_error(loc( "Command failed: %1", $captured || '' ));
-        }
+    ### shell out ###
+    my $captured;
+    unless(run( command => $cmd,
+                buffer  => \$captured,
+                verbose => $DEBUG
+    )) {
+        ### wget creates the output document always, even if the fetch
+        ### fails.. so unlink it in that case
+        1 while unlink $to;
 
-        return $to;
+        return $self->_error(loc( "Command failed: %1", $captured || '' ));
+    }
 
-    } else {
-        $METHOD_FAIL->{'wget'} = 1;
-        return;
-    }
+    return $to;
 }
 
 ### use File::Copy for fetching file:// urls ###
@@ -1280,7 +1287,7 @@
 ### See section 3.10 of RFC 1738 (http://www.faqs.org/rfcs/rfc1738.html)
 ### Also see wikipedia on file:// (http://en.wikipedia.org/wiki/File://)
 ###
-    
+
 sub _file_fetch {
     my $self = shift;
     my %hash = @_;
@@ -1291,8 +1298,8 @@
     };
     check( $tmpl, \%hash ) or return;
 
-    
-    
+
+
     ### prefix a / on unix systems with a file uri, since it would
     ### look somewhat like this:
     ###     file:///home/kane/file
@@ -1301,11 +1308,11 @@
     ###     file:///C|/some/dir/file
     ### or for a network share '\\host\share\some\dir\file':
     ###     file:////host/share/some/dir/file
-    ###    
+    ###
     ### VMS file uri's for 'DISK$USER:[MY.NOTES]NOTE123456.TXT' might look like:
     ###     file://vms.host.edu/disk$user/my/notes/note12345.txt
     ###
-    
+
     my $path    = $self->path;
     my $vol     = $self->vol;
     my $share   = $self->share;
@@ -1312,12 +1319,12 @@
 
     my $remote;
     if (!$share and $self->host) {
-        return $self->_error(loc( 
+        return $self->_error(loc(
             "Currently %1 cannot handle hosts in %2 urls",
             'File::Fetch', 'file://'
-        ));            
+        ));
     }
-    
+
     if( $vol ) {
         $path   = File::Spec->catdir( split /\//, $path );
         $remote = File::Spec->catpath( $vol, $path, $self->file);
@@ -1358,42 +1365,41 @@
         to  => { required => 1, store => \$to }
     };
     check( $tmpl, \%hash ) or return;
+    my $rsync;
+    unless ( $rsync = can_run('rsync') ) {
+        $METHOD_FAIL->{'rsync'} = 1;
+        return;
+    }
 
-    if (my $rsync = can_run('rsync')) {
+    my $cmd = [ $rsync ];
 
-        my $cmd = [ $rsync ];
+    ### XXX: rsync has no I/O timeouts at all, by default
+    push(@$cmd, '--timeout=' . $TIMEOUT) if $TIMEOUT;
 
-        ### XXX: rsync has no I/O timeouts at all, by default
-        push(@$cmd, '--timeout=' . $TIMEOUT) if $TIMEOUT;
+    push(@$cmd, '--quiet') unless $DEBUG;
 
-        push(@$cmd, '--quiet') unless $DEBUG;
+    ### DO NOT quote things for IPC::Run, it breaks stuff.
+    push @$cmd, $self->uri, $to;
 
-        ### DO NOT quote things for IPC::Run, it breaks stuff.
-        push @$cmd, $self->uri, $to;
+    ### with IPC::Cmd > 0.41, this is fixed in teh library,
+    ### and there's no need for special casing any more.
+    ### DO NOT quote things for IPC::Run, it breaks stuff.
+    # $IPC::Cmd::USE_IPC_RUN
+    #    ? ($to, $self->uri)
+    #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
 
-        ### with IPC::Cmd > 0.41, this is fixed in teh library,
-        ### and there's no need for special casing any more.
-        ### DO NOT quote things for IPC::Run, it breaks stuff.
-        # $IPC::Cmd::USE_IPC_RUN
-        #    ? ($to, $self->uri)
-        #    : (QUOTE. $to .QUOTE, QUOTE. $self->uri .QUOTE);
+    my $captured;
+    unless(run( command => $cmd,
+                buffer  => \$captured,
+                verbose => $DEBUG )
+    ) {
 
-        my $captured;
-        unless(run( command => $cmd,
-                    buffer  => \$captured,
-                    verbose => $DEBUG )
-        ) {
+        return $self->_error(loc("Command %1 failed: %2",
+            "@$cmd" || '', $captured || ''));
+    }
 
-            return $self->_error(loc("Command %1 failed: %2", 
-                "@$cmd" || '', $captured || ''));
-        }
+    return $to;
 
-        return $to;
-
-    } else {
-        $METHOD_FAIL->{'rsync'} = 1;
-        return;
-    }
 }
 
 #################################
@@ -1415,10 +1421,10 @@
 sub _error {
     my $self    = shift;
     my $error   = shift;
-    
+
     $self->_error_msg( $error );
     $self->_error_msg_long( Carp::longmess($error) );
-    
+
     if( $WARN ) {
         carp $DEBUG ? $self->_error_msg_long : $self->_error_msg;
     }
@@ -1458,7 +1464,7 @@
 exhausted, and it was not able to retrieve the file.
 
 The C<fetch> utility is available on FreeBSD. NetBSD and Dragonfly BSD
-may also have it from C<pkgsrc>. We only check for C<fetch> on those 
+may also have it from C<pkgsrc>. We only check for C<fetch> on those
 three platforms.
 
 C<iosock> is a very limited L<IO::Socket::INET> based mechanism for
@@ -1597,19 +1603,19 @@
 code on non-C<200 OK> status, giving us no way to tell the difference
 between a 'successful' fetch and a custom error page.
 
-Therefor, we recommend to only use C<lynx> as a last resort. This is 
+Therefor, we recommend to only use C<lynx> as a last resort. This is
 why it is at the back of our list of methods to try as well.
 
 =head2 Files I'm trying to fetch have reserved characters or non-ASCII characters in them. What do I do?
 
-C<File::Fetch> is relatively smart about things. When trying to write 
-a file to disk, it removes the C<query parameters> (see the 
+C<File::Fetch> is relatively smart about things. When trying to write
+a file to disk, it removes the C<query parameters> (see the
 C<output_file> method for details) from the file name before creating
 it. In most cases this suffices.
 
-If you have any other characters you need to escape, please install 
+If you have any other characters you need to escape, please install
 the C<URI::Escape> module from CPAN, and pre-encode your URI before
-passing it to C<File::Fetch>. You can read about the details of URIs 
+passing it to C<File::Fetch>. You can read about the details of URIs
 and URI encoding here:
 
   http://www.faqs.org/rfcs/rfc2396.html
@@ -1634,7 +1640,7 @@
 
 =head1 COPYRIGHT
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 


Property changes on: vendor/perl/dist/cpan/File-Fetch/lib/File/Fetch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t
===================================================================
--- vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,16 +35,18 @@
 ### show us the tools IPC::Cmd will use to run binary programs
 if( $File::Fetch::DEBUG ) {
     ### stupid 'used only once' warnings ;(
-    diag( "IPC::Run enabled: " . 
+    diag( "IPC::Run enabled: " .
             $IPC::Cmd::USE_IPC_RUN || $IPC::Cmd::USE_IPC_RUN );
     diag( "IPC::Run available: " . IPC::Cmd->can_use_ipc_run );
     diag( "IPC::Run vesion: $IPC::Run::VERSION" );
-    diag( "IPC::Open3 enabled: " . 
+    diag( "IPC::Open3 enabled: " .
             $IPC::Cmd::USE_IPC_OPEN3 || $IPC::Cmd::USE_IPC_OPEN3 );
     diag( "IPC::Open3 available: " . IPC::Cmd->can_use_ipc_open3 );
     diag( "IPC::Open3 vesion: $IPC::Open3::VERSION" );
 }
 
+### Heuristics
+my %heuristics = map { $_ => 1 } qw(http ftp rsync file);
 ### _parse_uri tests
 ### these go on all platforms
 my @map = (
@@ -62,15 +64,15 @@
     },
     {   uri     => 'http://localhost/tmp/index.txt',
         scheme  => 'http',
-        host    => 'localhost',          # host is empty only on 'file://' 
+        host    => 'localhost',          # host is empty only on 'file://'
         path    => '/tmp/',
         file    => 'index.txt',
-    },  
-    
+    },
+
     ### only test host part, the rest is OS dependant
     {   uri     => 'file://localhost/tmp/index.txt',
         host    => '',                  # host should be empty on 'file://'
-    },        
+    },
 );
 
 ### these only if we're not on win32/vms
@@ -86,7 +88,7 @@
         host    => 'hostname',
         path    => '/tmp/',
         file    => 'foo.txt',
-    },    
+    },
 ) if not &File::Fetch::ON_WIN and not &File::Fetch::ON_VMS;
 
 ### these only on win32
@@ -104,7 +106,7 @@
         vol     => 'D:',
         path    => '/tmp/',
         file    => 'foo.txt',
-    },    
+    },
     {   uri     => 'file:///D|/tmp/foo.txt',
         scheme  => 'file',
         host    => '',
@@ -111,18 +113,18 @@
         vol     => 'D:',
         path    => '/tmp/',
         file    => 'foo.txt',
-    },    
+    },
 ) if &File::Fetch::ON_WIN;
 
 
 ### sanity tests
-{   
+{
     no warnings;
     like( $File::Fetch::USER_AGENT, qr/$File::Fetch::VERSION/,
                                 "User agent contains version" );
     like( $File::Fetch::FROM_EMAIL, qr/@/,
                                 q[Email contains '@'] );
-}                                
+}
 
 ### parse uri tests ###
 for my $entry (@map ) {
@@ -162,6 +164,13 @@
     }
 }
 
+### Heuristics
+{
+  require IO::Socket::INET;
+  my $sock = IO::Socket::INET->new( PeerAddr => 'ftp.funet.fi', PeerPort => 21, Timeout => 20 )
+     or $heuristics{ftp} = 0;
+}
+
 ### ftp:// tests ###
 {   my $uri = 'ftp://ftp.funet.fi/pub/CPAN/index.html';
     for (qw[lwp netftp wget curl lftp fetch ncftp]) {
@@ -174,6 +183,13 @@
     }
 }
 
+### Heuristics
+{
+  require IO::Socket::INET;
+  my $sock = IO::Socket::INET->new( PeerAddr => 'www.cpan.org', PeerPort => 80, Timeout => 20 )
+     or $heuristics{http} = 0;
+}
+
 ### http:// tests ###
 {   for my $uri ( 'http://www.cpan.org/index.html',
                   'http://www.cpan.org/index.html?q=1',
@@ -185,6 +201,13 @@
     }
 }
 
+### Heuristics
+{
+  require IO::Socket::INET;
+  my $sock = IO::Socket::INET->new( PeerAddr => 'cpan.pair.com', PeerPort => 873, Timeout => 20 )
+     or $heuristics{rsync} = 0;
+}
+
 ### rsync:// tests ###
 {   my $uri = 'rsync://cpan.pair.com/CPAN/MIRRORING.FROM';
 
@@ -201,34 +224,37 @@
     SKIP: {
         skip "'$method' fetching tests disabled under perl core", 4
                 if $ENV{PERL_CORE};
-    
+
+        skip "'$type' fetching tests disabled due to heuristic failure", 4
+                unless $heuristics{ $type };
+
         ### stupid warnings ###
         $File::Fetch::METHODS =
         $File::Fetch::METHODS = { $type => [$method] };
-    
+
         ### fetch regularly
         my $ff  = File::Fetch->new( uri => $uri );
-        
+
         ok( $ff,                "FF object for $uri (fetch with $method)" );
-        
+
         for my $to ( 'tmp', do { \my $o } ) { SKIP: {
-        
-            
+
+
             my $how     = ref $to ? 'slurp' : 'file';
             my $skip    = ref $to ? 4       : 3;
-        
+
             ok( 1,              "   Fetching '$uri' in $how mode" );
-         
+
             my $file = $ff->fetch( to => $to );
-        
+
             skip "You do not have '$method' installed/available", $skip
                 if $File::Fetch::METHOD_FAIL->{$method} &&
                    $File::Fetch::METHOD_FAIL->{$method};
-                
-            ### if the file wasn't fetched, it may be a network/firewall issue                
-            skip "Fetch failed; no network connectivity for '$type'?", $skip 
+
+            ### if the file wasn't fetched, it may be a network/firewall issue
+            skip "Fetch failed; no network connectivity for '$type'?", $skip
                 unless $file;
-                
+
             ok( $file,          "   File ($file) fetched with $method ($uri)" );
 
             ### check we got some contents if we were meant to slurp
@@ -236,11 +262,11 @@
                 ok( $$to,       "   Contents slurped" );
             }
 
-            ok( $file && -s $file,   
+            ok( $file && -s $file,
                                 "   File has size" );
             is( $file && basename($file), $ff->output_file,
                                 "   File has expected name" );
-    
+
             unlink $file;
         }}
     }


Property changes on: vendor/perl/dist/cpan/File-Fetch/t/01_File-Fetch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/File-Fetch/t/null_subclass.t
===================================================================
--- vendor/perl/dist/cpan/File-Fetch/t/null_subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Fetch/t/null_subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/File-Fetch/t/null_subclass.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Path/lib/File/Path.pm
===================================================================
--- vendor/perl/dist/cpan/File-Path/lib/File/Path.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Path/lib/File/Path.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,7 +17,7 @@
 
 use Exporter ();
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
-$VERSION   = '2.08_01';
+$VERSION   = '2.09';
 @ISA       = qw(Exporter);
 @EXPORT    = qw(mkpath rmtree);
 @EXPORT_OK = qw(make_path remove_tree);
@@ -455,8 +455,8 @@
 
 =head1 VERSION
 
-This document describes version 2.08 of File::Path, released
-2009-10-04.
+This document describes version 2.09 of File::Path, released
+2013-01-17.
 
 =head1 SYNOPSIS
 
@@ -953,6 +953,10 @@
 
 L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=File-Path>
 
+You can also send pull requests to the Github repository:
+
+L<https://github.com/dland/File-Path>
+
 =head1 ACKNOWLEDGEMENTS
 
 Paul Szabo identified the race condition originally, and Brendan
@@ -971,7 +975,7 @@
 =head1 COPYRIGHT
 
 This module is copyright (C) Charles Bailey, Tim Bunce and
-David Landgren 1995-2009. All rights reserved.
+David Landgren 1995-2013. All rights reserved.
 
 =head1 LICENSE
 


Property changes on: vendor/perl/dist/cpan/File-Path/lib/File/Path.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/File-Path/t/Path.t
===================================================================
--- vendor/perl/dist/cpan/File-Path/t/Path.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Path/t/Path.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/File-Path/t/Path.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/File-Path/t/taint.t
===================================================================
--- vendor/perl/dist/cpan/File-Path/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Path/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/File-Path/t/taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/File-Temp/Temp.pm
===================================================================
--- vendor/perl/dist/cpan/File-Temp/Temp.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/Temp.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/File-Temp/Temp.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Temp/t/cmp.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/cmp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/cmp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,51 @@
 #!perl -w
 # Test overloading
 
-use Test::More tests => 3;
+use Test::More tests => 19;
 use strict;
 
 BEGIN {use_ok( "File::Temp" ); }
 
-my $fh = new File::Temp();
-ok( "$fh" ne "foo", "compare stringified object with string");
-ok( $fh ne "foo", "compare object with string");
\ No newline at end of file
+{
+  my $fh = new File::Temp();
+  isa_ok ($fh, 'File::Temp');
+
+  ok( "$fh" ne "foo", "compare stringified object with string");
+  ok( $fh ne "foo", "compare object with string");
+  ok( $fh eq $fh, "compare eq with self");
+
+  ok( $fh != 0, "compare != 0");
+  ok( $fh == $fh, "compare == with self");
+  ok( $fh != \*STDOUT, "compare != \*STDOUT");
+
+  {
+    my $num = $fh+0;
+    like ($num, qr/^\d+$/, '+0 is a number');
+  }
+  {
+    my $str = "$fh";
+    unlike ($str, qr/^\d+$/, '"" is not a number');
+  }
+}
+
+{
+  my $fh = File::Temp->newdir();
+  isa_ok ($fh, 'File::Temp::Dir');
+
+  ok( "$fh" ne "foo", "compare stringified object with string");
+  ok( $fh ne "foo", "compare object with string");
+  ok( $fh eq $fh, "compare eq with self");
+
+  ok( $fh != 0, "compare != 0");
+  ok( $fh == $fh, "compare == with self");
+  ok( $fh != \*STDOUT, "compare != \*STDOUT");
+
+  {
+    my $num = $fh+0;
+    like ($num, qr/^\d+$/, '+0 is a number');
+  }
+  {
+    my $str = "$fh";
+    unlike ($str, qr/^\d+$/, '"" is not a number');
+  }
+}


Property changes on: vendor/perl/dist/cpan/File-Temp/t/cmp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/File-Temp/t/fork.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/fork.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/fork.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/File-Temp/t/fork.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/File-Temp/t/lock.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/lock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/lock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/File-Temp/t/lock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Temp/t/mktemp.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/mktemp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/mktemp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,8 +4,7 @@
 # Use STANDARD safe level for these tests
 
 use strict;
-use Test;
-BEGIN { plan tests => 9 }
+use Test::More tests => 9;
 
 use File::Spec;
 use File::Path;


Property changes on: vendor/perl/dist/cpan/File-Temp/t/mktemp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Temp/t/object.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/object.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/object.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 # Test for File::Temp - OO interface
 
 use strict;
-use Test::More tests => 30;
+use Test::More tests => 35;
 use File::Spec;
 
 # Will need to check that all files were unlinked correctly
@@ -33,6 +33,12 @@
 # removes them
 BEGIN {use_ok( "File::Temp" ); }
 
+# Check for misuse
+eval { File::Temp->tempfile };
+like( $@, qr/can't be called as a method/, "File::Temp->tempfile error" );
+eval { File::Temp->tempdir };
+like( $@, qr/can't be called as a method/, "File::Temp->tempfile error" );
+
 # Tempfile
 # Open tempfile in some directory, unlink at end
 my $fh = new File::Temp( SUFFIX => '.txt' );
@@ -51,6 +57,15 @@
 undef $tdir;
 ok( !-d $dirname, "Directory should now be gone");
 
+# with template
+$tdir = File::Temp->newdir( TEMPLATE => 'helloXXXXX' );
+like( "$tdir", qr/hello/, "Directory with TEMPLATE" );
+undef $tdir;
+
+$tdir = File::Temp->newdir( 'helloXXXXX' );
+like( "$tdir", qr/hello/, "Directory with leading template" );
+undef $tdir;
+
 # Quick basic tempfile test
 my $qfh = File::Temp->new();
 my $qfname = "$qfh";
@@ -102,10 +117,20 @@
 
 print "# TEMPFILE: Created $fh\n";
 
-ok( (-f "$fh"), "File $fh exists? [from template]" );
+# and with a leading template
+$fh = File::Temp->new( 'helloXXXXXXX',
+		      DIR => $tempdir,
+		      SUFFIX => '.dat',
+		    );
+
+print "# TEMPFILE: Created $fh\n";
+
+ok( (-f "$fh"), "File $fh exists? [from leading template]" );
+like( "$fh", qr/hello/, "saw template" );
 push(@files, "$fh");
 
 
+
 # Create a temporary file that should stay around after
 # it has been closed
 $fh = new File::Temp( TEMPLATE => 'permXXXXXXX', UNLINK => 0);


Property changes on: vendor/perl/dist/cpan/File-Temp/t/object.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Temp/t/posix.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/posix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/posix.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,8 +2,7 @@
 # Test for File::Temp - POSIX functions
 
 use strict;
-use Test;
-BEGIN { plan tests => 7}
+use Test::More tests => 7;
 
 use File::Temp qw/ :POSIX unlink0 /;
 use FileHandle;


Property changes on: vendor/perl/dist/cpan/File-Temp/t/posix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Temp/t/security.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/security.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/security.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,8 +5,7 @@
 # Test a simple open in the cwd and tmpdir foreach of the
 # security levels
 
-use Test;
-BEGIN { plan tests => 13 }
+use Test::More tests => 12;
 
 use strict;
 use File::Spec;
@@ -18,7 +17,6 @@
 END { foreach (@files) { ok( !(-e $_) )} }
 
 use File::Temp qw/ tempfile unlink0 /;
-ok(1);
 
 # The high security tests must currently be skipped on some platforms
 my $skipplat = ( (
@@ -32,9 +30,9 @@
 # Determine whether we need to skip things and why
 my $skip = 0;
 if ($skipplat) {
-  $skip = "Skip Not supported on this platform";
+  $skip = "Not supported on this platform";
 } elsif ($skipperl) {
-  $skip = "Skip Perl version must be v5.6.0 for these tests";
+  $skip = "Perl version must be v5.6.0 for these tests";
 
 }
 
@@ -46,27 +44,29 @@
 
 print "# Testing with STANDARD security...\n";
 
-&test_security(0);
+test_security();
 
-# Try medium
+SKIP: {
+  skip $skip, 8 if $skip;
 
-File::Temp->safe_level( File::Temp::MEDIUM )
-  unless $skip;
+  # Try medium
 
-print "# Testing with MEDIUM security...\n";
+  File::Temp->safe_level( File::Temp::MEDIUM );
 
-# Now we need to start skipping tests
-&test_security($skip);
+  print "# Testing with MEDIUM security...\n";
 
-# Try HIGH
+  # Now we need to start skipping tests
+  test_security();
 
-File::Temp->safe_level( File::Temp::HIGH )
-  unless $skip;
+  # Try HIGH
 
-print "# Testing with HIGH security...\n";
+  File::Temp->safe_level( File::Temp::HIGH );
 
-&test_security($skip);
+  print "# Testing with HIGH security...\n";
 
+  test_security();
+}
+
 exit;
 
 # Subroutine to open two temporary files.
@@ -74,23 +74,6 @@
 
 sub test_security {
 
-  # Read in the skip flag
-  my $skip = shift;
-
-  # If we are skipping we need to simply fake the correct number
-  # of tests -- we dont use skip since the tempfile() commands will
-  # fail with MEDIUM/HIGH security before the skip() command would be run
-  if ($skip) {
-
-    skip($skip,1);
-    skip($skip,1);
-
-    # plus we need an end block so the tests come out in the right order
-    eval q{ END { skip($skip,1); skip($skip,1)  } 1; } || die;
-
-    return;
-  }
-
   # Create the tempfile
   my $template = "tmpXXXXX";
   my ($fh1, $fname1) = eval { tempfile ( $template, 
@@ -99,42 +82,40 @@
 				);
 			    };
 
-  if (defined $fname1) {
-      print "# fname1 = $fname1\n";
-      ok( (-e $fname1) );
-      push(@files, $fname1); # store for end block
-  } elsif (File::Temp->safe_level() != File::Temp::STANDARD) {
-      chomp($@);
-      my $skip2 = "Skip: " . File::Spec->tmpdir() . " possibly insecure:  $@.  " .
-	 "See INSTALL under 'make test'";
-      skip($skip2, 1);
-      # plus we need an end block so the tests come out in the right order
-      eval q{ END { skip($skip2,1); } 1; } || die;
-  } else {
-      ok(0);
+  SKIP: {
+    if (defined $fname1) {
+        print "# fname1 = $fname1\n";
+        ok( (-e $fname1) );
+        push(@files, $fname1); # store for end block
+    } elsif (File::Temp->safe_level() != File::Temp::STANDARD) {
+        chomp($@);
+        my $msg = File::Spec->tmpdir() . " possibly insecure: $@";
+        skip $msg, 2; # one here and one in END
+    } else {
+        ok(0);
+    }
   }
 
-  # Explicitly 
-  if ( $< < File::Temp->top_system_uid() ){
-      skip("Skip Test inappropriate for root", 1);
-      eval q{ END { skip($skip,1); } 1; } || die;
-      return;
+  SKIP: {
+    # Explicitly 
+    if ( $< < File::Temp->top_system_uid() ){
+        skip("Skip Test inappropriate for root", 2);
+        return;
+    }
+    my ($fh2, $fname2) = eval { tempfile ($template,  UNLINK => 1 ); };
+    if (defined $fname2) {
+        print "# fname2 = $fname2\n";
+        ok( (-e $fname2) );
+        push(@files, $fname2); # store for end block
+        close($fh2);
+    } elsif (File::Temp->safe_level() != File::Temp::STANDARD) {
+        chomp($@);
+        my $msg = "current directory possibly insecure: $@";
+        skip $msg, 2; # one here and one in END
+    } else {
+        ok(0);
+    }
   }
-  my ($fh2, $fname2) = eval { tempfile ($template,  UNLINK => 1 ); };
-  if (defined $fname2) {
-      print "# fname2 = $fname2\n";
-      ok( (-e $fname2) );
-      push(@files, $fname2); # store for end block
-      close($fh2);
-  } elsif (File::Temp->safe_level() != File::Temp::STANDARD) {
-      chomp($@);
-      my $skip2 = "Skip: current directory possibly insecure: $@.  " .
-	 "See INSTALL under 'make test'";
-      skip($skip2, 1);
-      # plus we need an end block so the tests come out in the right order
-      eval q{ END { skip($skip2,1); } 1; } || die;
-  } else {
-      ok(0);
-  }
+}
 
-}
+# vim: ts=2 sts=2 sw=2 et:


Property changes on: vendor/perl/dist/cpan/File-Temp/t/security.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/File-Temp/t/seekable.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/seekable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/seekable.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/File-Temp/t/seekable.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/File-Temp/t/tempfile.t
===================================================================
--- vendor/perl/dist/cpan/File-Temp/t/tempfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/File-Temp/t/tempfile.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,9 +2,9 @@
 # Test for File::Temp - tempfile function
 
 use strict;
-use Test;
-BEGIN { plan tests => 22}
+use Test::More tests => 28;
 use File::Spec;
+use Cwd qw/ cwd /;
 
 # Will need to check that all files were unlinked correctly
 # Set up an END block here to do it
@@ -16,17 +16,18 @@
 # These are tidied up
 END {
   foreach (@still_there) {
-    ok( -f $_ );
-    ok( unlink( $_ ) );
-    ok( !(-f $_) );
+    ($_) = /(^.*)/; # untaint for testing under taint mode
+    ok( -f $_, "File $_ is still present" );
+    ok( unlink( $_ ), "Unlink file" );
+    ok( !(-f $_), "File is no longer present" );
   }
 }
 
 # Loop over an array hoping that the files dont exist
-END { foreach (@files) { ok( !(-e $_) )} }
+END { foreach (@files) { ok( !(-e $_), "File $_ should not be present" )} }
 
 # And a test for directories
-END { foreach (@dirs)  { ok( !(-d $_) )} }
+END { foreach (@dirs)  { ok( !(-d $_), "Dir $_ should not be present" )} }
 
 # Need to make sure that the END blocks are setup before
 # the ones that File::Temp configures since END blocks are evaluated
@@ -35,7 +36,7 @@
 use File::Temp qw/ tempfile tempdir/;
 
 # Now we start the tests properly
-ok(1);
+ok(1, "Start test");
 
 
 # Tempfile
@@ -45,10 +46,10 @@
 			       SUFFIX => '.txt',
 			      );
 
-ok( (-f $tempfile) );
+ok( (-f $tempfile), "Tempfile exists" );
 # Should still be around after closing
-ok( close( $fh ) ); 
-ok( (-f $tempfile) );
+ok( close( $fh ), "Tempfile closed" );
+ok( (-f $tempfile), "Tempfile exists" );
 # Check again at exit
 push(@files, $tempfile);
 
@@ -63,9 +64,19 @@
 
 print "# TEMPDIR: $tempdir\n";
 
-ok( (-d $tempdir) );
-push(@dirs, $tempdir);
+ok( (-d $tempdir), "Local tempdir exists" );
+push(@dirs, File::Spec->rel2abs($tempdir));
 
+my $tempdir2 = tempdir( TEMPLATE => "customXXXXX",
+		       DIR => File::Spec->curdir,
+		       CLEANUP => 1,
+		     );
+
+print "# TEMPDIR2: $tempdir2\n";
+
+like( $tempdir2, qr/custom/, "tempdir with TEMPLATE" );
+push(@dirs, File::Spec->rel2abs($tempdir));
+
 # Create file in the temp dir
 ($fh, $tempfile) = tempfile(
 			    DIR => $tempdir,
@@ -75,8 +86,8 @@
 
 print "# TEMPFILE: Created $tempfile\n";
 
-ok( (-f $tempfile));
-push(@files, $tempfile);
+ok( (-f $tempfile), "Local temp file exists with .dat extension");
+push(@files, File::Spec->rel2abs($tempfile));
 
 # Test tempfile
 # ..and again
@@ -85,8 +96,8 @@
 			   );
 
 
-ok( (-f $tempfile ));
-push(@files, $tempfile);
+ok( (-f $tempfile ), "Local tempfile in tempdir exists");
+push(@files, File::Spec->rel2abs($tempfile));
 
 # Test tempfile
 # ..and another with changed permissions (read-only)
@@ -95,8 +106,8 @@
                           );
 chmod 0444, $tempfile;
 
-ok( (-f $tempfile ));
-push(@files, $tempfile);
+ok( (-f $tempfile ), "Local tempfile in tempdir exists read-only");
+push(@files, File::Spec->rel2abs($tempfile));
 
 print "# TEMPFILE: Created $tempfile\n";
 
@@ -110,17 +121,30 @@
 
 print "# TEMPFILE: Created $tempfile\n";
 
-ok( (-f $tempfile) );
-push(@files, $tempfile);
+ok( (-f $tempfile), "Local tempfile in tempdir with .dat extension exists" );
+push(@files, File::Spec->rel2abs($tempfile));
 
 
+# and another (with TEMPLATE)
+
+($fh, $tempfile) = tempfile( TEMPLATE => 'goodbyeXXXXXXX',
+			    DIR => $tempdir,
+			    UNLINK => 1,
+			    SUFFIX => '.dat',
+			   );
+
+print "# TEMPFILE: Created $tempfile\n";
+
+ok( (-f $tempfile), "Local tempfile in tempdir with TEMPLATE" );
+push(@files, File::Spec->rel2abs($tempfile));
+
 # Create a temporary file that should stay around after
 # it has been closed
 ($fh, $tempfile) = tempfile( 'permXXXXXXX', UNLINK => 0 );
 print "# TEMPFILE: Created $tempfile\n";
-ok( -f $tempfile );
-ok( close( $fh ) );
-push( @still_there, $tempfile); # check at END
+ok( -f $tempfile, "Long-lived temp file" );
+ok( close( $fh ), "Close long-lived temp file" );
+push( @still_there, File::Spec->rel2abs($tempfile) ); # check at END
 
 # Would like to create a temp file and just retrieve the handle
 # but the test is problematic since:
@@ -135,10 +159,10 @@
 if ($fh) {
 
   # print something to it to make sure something is there
-  ok( print $fh "Test\n" );
+  ok( print($fh "Test\n"), "Write to temp file" );
 
   # Close it - can not check it is gone since we dont know the name
-  ok( close($fh) );
+  ok( close($fh), "Close temp file" );
 
 } else {
   skip "Skip Failed probably due to NFS", 1;
@@ -145,6 +169,15 @@
   skip "Skip Failed probably due to NFS", 1;
 }
 
+# Create temp directory and chdir to it; it should still be removed on exit.
+$tempdir = tempdir(CLEANUP => 1);
+
+print "# TEMPDIR: $tempdir\n";
+
+ok( (-d $tempdir), "Temp directory in temp dir" );
+chdir $tempdir or die $!;
+push(@dirs, File::Spec->rel2abs($tempdir));
+
 # Now END block will execute to test the removal of directories
-print "# End of tests. Execute END blocks\n";
+print "# End of tests. Execute END blocks in directory ". cwd() ."\n";
 


Property changes on: vendor/perl/dist/cpan/File-Temp/t/tempfile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Filter-Util-Call/Call.pm
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/Call.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Filter-Util-Call/Call.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 
 # Call.pm
 #
-# Copyright (c) 1995-2009 Paul Marquess. All rights reserved.
+# Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the same terms as Perl itself.
@@ -18,7 +18,7 @@
 
 @ISA = qw(Exporter DynaLoader);
 @EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
-$VERSION = "1.08" ;
+$VERSION = "1.45" ;
 
 sub filter_read_exact($)
 {
@@ -483,8 +483,7 @@
 Filter::Util::Call does, it should be adequate for the majority of
 applications. It's available at
 
-   http://www.cpan.org/modules/by-author/Damian_Conway/Filter-Simple.tar.gz
-   http://www.csse.monash.edu.au/~damian/CPAN/Filter-Simple.tar.gz
+   http://search.cpan.org/dist/Filter-Simple/
 
 =head1 AUTHOR
 


Property changes on: vendor/perl/dist/cpan/Filter-Util-Call/Call.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Filter-Util-Call/Call.xs
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/Call.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Filter-Util-Call/Call.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,10 +2,10 @@
  * Filename : Call.xs
  * 
  * Author   : Paul Marquess 
- * Date     : 25th February 2009
- * Version  : 1.08
+ * Date     : 24th April 2011
+ * Version  : 1.43
  *
- *    Copyright (c) 1995-2009 Paul Marquess. All rights reserved.
+ *    Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
  *       This program is free software; you can redistribute it and/or
  *              modify it under the same terms as Perl itself.
  *


Property changes on: vendor/perl/dist/cpan/Filter-Util-Call/Call.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Filter-Util-Call/filter-util.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Filter-Util-Call/t/call.t
===================================================================
--- vendor/perl/dist/cpan/Filter-Util-Call/t/call.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Filter-Util-Call/t/call.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -786,7 +786,7 @@
 {
 
 # no without use
-# see Message-ID: <20021106212427.A15377 at ttul.org>
+# see Message-ID: <2002110621.427.A15377 at ttul.org>
 ####################
 
 writeFile("${module6}.pm", <<EOM);


Property changes on: vendor/perl/dist/cpan/Filter-Util-Call/t/call.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Getopt-Long/CHANGES
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/CHANGES	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/CHANGES	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,30 @@
+Changes in version 2.39
+-----------------------
+
+* Fix unneccessary warnings when @ARGV contains undefs (yes, it
+  happens).
+
+* Passing an object as first argument to the callback handler for <>
+  turned out to be a problem in cases where the argument was passed to
+  other modules, e.g., Archive::Tar. Revert the change since the added
+  functionality of the object is not really relevant for the <>
+  callback function.
+
+* Silence the deprecation warnings from newgetopt.pl for the purpose
+  of testing. These tests will be removed along with newgetopt.pl in
+  the next major release of perl.
+  http://perl5.git.perl.org/perl.git/commit/b814bbfa9a2087bc
+
+* Eliminiate spurious warning.
+
+* Retain taintedness of command line option values.
+
+* Document that you need to check GetOptions return value :).
+
+* Several other minor documentation fixes and enhancements.
+
+* Fix bug  #67577 Parsing of type 'o' not correct for multiple values
+
 Changes in version 2.38
 -----------------------
 
@@ -10,6 +37,9 @@
 
 * Bugfix for Ticket 24941: Autoabbrev with + incorrect.
 
+* Bugfix: Reject syntax 'foo|!' for option spec. This was illegal
+  anyway.
+
 Changes in version 2.37
 -----------------------
 
@@ -71,7 +101,7 @@
 
   prefix_pattern has now been complemented by a new configuration
   option 'long_prefix_pattern' that allows the user to specify what
-  prefix patterns should have long option style sematics applied.
+  prefix patterns should have long option style semantics applied.
   This will enable people to do things like
 
     foo.pl /option=value
@@ -259,7 +289,7 @@
   generated. E.g., GetOptions('foo', 'foo').
   Thanks to Wolfgang Laun.
 
-* Lots of internal restructoring to make room for extensions.
+* Lots of internal restructuring to make room for extensions.
 
 * Redesigned the regression tests.
 


Property changes on: vendor/perl/dist/cpan/Getopt-Long/CHANGES
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Getopt-Long/README
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Getopt-Long/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,26 +1,26 @@
+#! perl
+
 # Getopt::Long.pm -- Universal options parsing
-
-package Getopt::Long;
-
-# RCS Status      : $Id: Long.pm,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $
 # Author          : Johan Vromans
 # Created On      : Tue Sep 11 15:00:12 1990
 # Last Modified By: Johan Vromans
-# Last Modified On: Mon Mar 30 22:51:17 2009
-# Update Count    : 1601
+# Last Modified On: Tue Mar 12 14:42:25 2013
+# Update Count    : 1638
 # Status          : Released
 
 ################ Module Preamble ################
 
+package Getopt::Long;
+
 use 5.004;
 
 use strict;
 
 use vars qw($VERSION);
-$VERSION        =  2.38;
+$VERSION        =  2.39;
 # For testing versions only.
-#use vars qw($VERSION_STRING);
-#$VERSION_STRING = "2.38";
+use vars qw($VERSION_STRING);
+$VERSION_STRING = "2.39";
 
 use Exporter;
 use vars qw(@ISA @EXPORT @EXPORT_OK);
@@ -110,6 +110,7 @@
     # Hide one level and call super.
     local $Exporter::ExportLevel = 1;
     push(@syms, qw(&GetOptions)) if @syms; # always export GetOptions
+    $requested_version = 0;
     $pkg->SUPER::import(@syms);
     # And configure.
     Configure(@config) if @config;
@@ -176,6 +177,12 @@
 sub getoptions {
     my ($self) = shift;
 
+    return $self->getoptionsfromarray(\@ARGV, @_);
+}
+
+sub getoptionsfromarray {
+    my ($self) = shift;
+
     # Restore config settings.
     my $save = Getopt::Long::Configure ($self->{settings});
 
@@ -188,7 +195,7 @@
 	# be called implicitly here, and again explicitly when we try
 	# to deliver the messages.
 	local ($SIG{__DIE__}) = 'DEFAULT';
-	$ret = Getopt::Long::GetOptions (@_);
+	$ret = Getopt::Long::GetOptionsFromArray (@_);
     };
 
     # Restore saved settings.
@@ -249,7 +256,7 @@
 sub GetOptions(@) {
     # Shift in default array.
     unshift(@_, \@ARGV);
-    # Try to keep caller() and Carp consitent.
+    # Try to keep caller() and Carp consistent.
     goto &GetOptionsFromArray;
 }
 
@@ -286,8 +293,7 @@
 	# Avoid some warnings if debugging.
 	local ($^W) = 0;
 	print STDERR
-	  ("Getopt::Long $Getopt::Long::VERSION (",
-	   '$Revision: 1.1.1.1 $', ") ",
+	  ("Getopt::Long $Getopt::Long::VERSION ",
 	   "called from package \"$pkg\".",
 	   "\n  ",
 	   "argv: (@$argv)",
@@ -491,7 +497,7 @@
 	print STDERR ("=> arg \"", $opt, "\"\n") if $debug;
 
 	# Double dash is option list terminator.
-	if ( $opt eq $argend ) {
+	if ( defined($opt) && $opt eq $argend ) {
 	  push (@ret, $argend) if $passthrough;
 	  last;
 	}
@@ -662,7 +668,12 @@
 		    if ( @$argv ) {
 			if ( ValidValue($ctl, $argv->[0], 1, $argend, $prefix) ) {
 			    $arg = shift(@$argv);
-			    $arg =~ tr/_//d if $ctl->[CTL_TYPE] =~ /^[iIo]$/;
+			    if ( $ctl->[CTL_TYPE] =~ /^[iIo]$/ ) {
+				$arg =~ tr/_//d;
+				$arg = $ctl->[CTL_TYPE] eq 'o' && $arg =~ /^0/
+				  ? oct($arg)
+				  : 0+$arg
+			    }
 			    ($key,$arg) = $arg =~ /^([^=]+)=(.*)/
 			      if $ctl->[CTL_DEST] == CTL_DEST_HASH;
 			    next;
@@ -679,7 +690,12 @@
 		# Any more args?
 		if ( @$argv && ValidValue($ctl, $argv->[0], 0, $argend, $prefix) ) {
 		    $arg = shift(@$argv);
-		    $arg =~ tr/_//d if $ctl->[CTL_TYPE] =~ /^[iIo]$/;
+		    if ( $ctl->[CTL_TYPE] =~ /^[iIo]$/ ) {
+			$arg =~ tr/_//d;
+			$arg = $ctl->[CTL_TYPE] eq 'o' && $arg =~ /^0/
+			  ? oct($arg)
+			  : 0+$arg
+		    }
 		    ($key,$arg) = $arg =~ /^([^=]+)=(.*)/
 		      if $ctl->[CTL_DEST] == CTL_DEST_HASH;
 		    next;
@@ -698,14 +714,11 @@
 		    local $@;
 		    local $SIG{__DIE__}  = 'DEFAULT';
 		    eval {
-			&$cb
-			  (Getopt::Long::CallBack->new
-			   (name    => $tryopt,
-			    ctl     => $ctl,
-			    opctl   => \%opctl,
-			    linkage => \%linkage,
-			    prefix  => $prefix,
-			   ));
+			# The arg to <> cannot be the CallBack object
+			# since it may be passed to other modules that
+			# get confused (e.g., Archive::Tar). Well,
+			# it's not relevant for this callback anyway.
+			&$cb($tryopt);
 		    };
 		    $@;
 		};
@@ -777,6 +790,8 @@
 		     (?: \w+[-\w]* )
 		     # Alias names, or "?"
 		     (?: \| (?: \? | \w[-\w]* ) )*
+		     # Aliases
+		     (?: \| (?: [^-|!+=:][^|!+=:]* )? )*
 		   )?
 		   (
 		     # Either modifiers ...
@@ -899,10 +914,11 @@
 
     print STDERR ("=> find \"$opt\"\n") if $debug;
 
-    return (0) unless $opt =~ /^$prefix(.*)$/s;
+    return (0) unless defined($opt);
+    return (0) unless $opt =~ /^($prefix)(.*)$/s;
     return (0) if $opt eq "-" && !defined $opctl->{''};
 
-    $opt = $+;
+    $opt = substr( $opt, length($1) ); # retain taintedness
     my $starter = $1;
 
     print STDERR ("=> split \"$starter\"+\"$opt\"\n") if $debug;
@@ -913,10 +929,11 @@
     # If it is a long option, it may include the value.
     # With getopt_compat, only if not bundling.
     if ( ($starter=~/^$longprefix$/
-          || ($getopt_compat && ($bundling == 0 || $bundling == 2)))
-	  && $opt =~ /^([^=]+)=(.*)$/s ) {
-	$opt = $1;
-	$optarg = $2;
+	  || ($getopt_compat && ($bundling == 0 || $bundling == 2)))
+	 && (my $oppos = index($opt, '=', 1)) > 0) {
+	my $optorg = $opt;
+	$opt = substr($optorg, 0, $oppos);
+	$optarg = substr($optorg, $oppos + 1); # retain tainedness
 	print STDERR ("=> option \"", $opt,
 		      "\", optarg = \"$optarg\"\n") if $debug;
     }
@@ -1346,7 +1363,7 @@
 	    # Turn into regexp. Needs to be parenthesized!
 	    $genprefix = "(" . quotemeta($genprefix) . ")";
 	    eval { '' =~ /$genprefix/; };
-	    die("Getopt::Long: invalid pattern \"$genprefix\"") if $@;
+	    die("Getopt::Long: invalid pattern \"$genprefix\"\n") if $@;
 	}
 	elsif ( $try =~ /^prefix_pattern=(.+)$/ && $action ) {
 	    $genprefix = $1;
@@ -1354,7 +1371,7 @@
 	    $genprefix = "(" . $genprefix . ")"
 	      unless $genprefix =~ /^\(.*\)$/;
 	    eval { '' =~ m"$genprefix"; };
-	    die("Getopt::Long: invalid pattern \"$genprefix\"") if $@;
+	    die("Getopt::Long: invalid pattern \"$genprefix\"\n") if $@;
 	}
 	elsif ( $try =~ /^long_prefix_pattern=(.+)$/ && $action ) {
 	    $longprefix = $1;
@@ -1362,13 +1379,13 @@
 	    $longprefix = "(" . $longprefix . ")"
 	      unless $longprefix =~ /^\(.*\)$/;
 	    eval { '' =~ m"$longprefix"; };
-	    die("Getopt::Long: invalid long prefix pattern \"$longprefix\"") if $@;
+	    die("Getopt::Long: invalid long prefix pattern \"$longprefix\"\n") if $@;
 	}
 	elsif ( $try eq 'debug' ) {
 	    $debug = $action;
 	}
 	else {
-	    die("Getopt::Long: unknown config parameter \"$opt\"")
+	    die("Getopt::Long: unknown or erroneous config parameter \"$opt\"\n")
 	}
     }
     $prevconfig;
@@ -1503,14 +1520,18 @@
   my $data   = "file.dat";
   my $length = 24;
   my $verbose;
-  $result = GetOptions ("length=i" => \$length,    # numeric
-                        "file=s"   => \$data,      # string
-			"verbose"  => \$verbose);  # flag
+  GetOptions ("length=i" => \$length,    # numeric
+              "file=s"   => \$data,      # string
+              "verbose"  => \$verbose)   # flag
+  or die("Error in command line arguments\n");
 
 =head1 DESCRIPTION
 
 The Getopt::Long module implements an extended getopt function called
-GetOptions(). This function adheres to the POSIX syntax for command
+GetOptions(). It parses the command line from C<@ARGV>, recognizing
+and removing specified options and their possible values.
+
+This function adheres to the POSIX syntax for command
 line options, with GNU extensions. In general, this means that options
 have long names instead of single letters, and are introduced with a
 double dash "--". Support for bundling of command line options, as was
@@ -1562,13 +1583,9 @@
 
 Getopt::Long is the Perl5 successor of C<newgetopt.pl>. This was the
 first Perl module that provided support for handling the new style of
-command line options, hence the name Getopt::Long. This module also
-supports single-character options and bundling. Single character
-options may be any alphabetic character, a question mark, and a dash.
-Long options may consist of a series of letters, digits, and dashes.
-Although this is currently not enforced by Getopt::Long, multiple
-consecutive dashes are not allowed, and the option name must not end
-with a dash.
+command line options, in particular long option names, hence the Perl5
+name Getopt::Long. This module also supports single-character options
+and bundling.
 
 To use Getopt::Long from a Perl program, you must include the
 following line in your Perl program:
@@ -1610,8 +1627,8 @@
 variable is called the option I<destination>.
 
 GetOptions() will return a true value if the command line could be
-processed successfully. Otherwise, it will write error messages to
-STDERR, and return a false result.
+processed successfully. Otherwise, it will write error messages using
+die() and warn(), and return a false result.
 
 =head2 A little bit less simple options
 
@@ -1701,7 +1718,7 @@
     GetOptions ("library=s@" => \$libfiles);
 
 Used with the example above, C<@libfiles> (or C<@$libfiles>) would
-contain two strings upon completion: C<"lib/srdlib"> and
+contain two strings upon completion: C<"lib/stdlib"> and
 C<"lib/extlib">, in that order. It is also possible to specify that
 only integer or floating point numbers are acceptable values.
 
@@ -1732,7 +1749,7 @@
 
 It is also possible to specify the minimal and maximal number of
 arguments an option takes. C<foo=s{2,4}> indicates an option that
-takes at least two and at most 4 arguments. C<foo=s{,}> indicates one
+takes at least two and at most 4 arguments. C<foo=s{1,}> indicates one
 or more values; C<foo:s{,}> indicates zero or more option values.
 
 =head2 Options with hash values
@@ -1766,7 +1783,7 @@
 argument is the name of the option. (Actually, it is an object that
 stringifies to the name of the option.) For a scalar or array destination,
 the second argument is the value to be stored. For a hash destination,
-the second arguments is the key to the hash, and the third argument
+the second argument is the key to the hash, and the third argument
 the value to be stored. It is up to the subroutine to store the value,
 or do whatever it thinks is appropriate.
 
@@ -1796,6 +1813,15 @@
 option name so this change should not introduce compatibility
 problems.
 
+Here is an example of how to access the option name and value from within
+a subroutine:
+
+    GetOptions ('opt=i' => \&handler);
+    sub handler {
+        my ($opt_name, $opt_value) = @_;
+        print("Option name is $opt_name and value is $opt_value\n");
+    }
+
 =head2 Options with multiple names
 
 Often it is user friendly to supply alternate mnemonic names for
@@ -1937,9 +1963,10 @@
 Getopt::Long can be used in an object oriented way as well:
 
     use Getopt::Long;
-    $p = new Getopt::Long::Parser;
+    $p = Getopt::Long::Parser->new;
     $p->configure(...configuration options...);
     if ($p->getoptions(...options descriptions...)) ...
+    if ($p->getoptionsfromarray( \@array, ...options descriptions...)) ...
 
 Configuration options can be passed to the constructor:
 
@@ -1965,7 +1992,7 @@
 
     GetOptions('help|?' => \$help, man => \$man) or pod2usage(2);
     pod2usage(1) if $help;
-    pod2usage(-exitstatus => 0, -verbose => 2) if $man;
+    pod2usage(-exitval => 0, -verbose => 2) if $man;
 
     __END__
 
@@ -2013,7 +2040,8 @@
     use Getopt::Long qw(GetOptionsFromArray);
     $ret = GetOptionsFromArray(\@myopts, ...);
 
-When used like this, the global C<@ARGV> is not touched at all.
+When used like this, options and their possible values are removed
+from C<@myopts>, the global C<@ARGV> is not touched at all.
 
 The following two calls behave identically:
 
@@ -2020,6 +2048,12 @@
     $ret = GetOptions( ... );
     $ret = GetOptionsFromArray(\@ARGV, ... );
 
+This also means that a first argument hash reference now becomes the
+second argument:
+
+    $ret = GetOptions(\%opts, ... );
+    $ret = GetOptionsFromArray(\@ARGV, \%opts, ... );
+
 =head2 Parsing options from an arbitrary string
 
 A special entry C<GetOptionsFromString> can be used to parse options
@@ -2043,6 +2077,9 @@
 list context, a message will be given and C<GetOptionsFromString> will
 return failure.
 
+As with GetOptionsFromArray, a first argument hash reference now
+becomes the second argument.
+
 =head2 Storing options values in a hash
 
 Sometimes, for example when there are a lot of options, having a
@@ -2317,9 +2354,9 @@
 
 =item ignore_case  (default: enabled)
 
-If enabled, case is ignored when matching long option names. If,
-however, bundling is enabled as well, single character options will be
-treated case-sensitive.
+If enabled, case is ignored when matching option names. If, however,
+bundling is enabled as well, single character options will be treated
+case-sensitive.
 
 With C<ignore_case>, option specifications for options that only
 differ in case, e.g., C<"foo"> and C<"Foo">, will be flagged as
@@ -2623,6 +2660,14 @@
     use Getopt::Long;
     GetOptions ("help|?");    # -help and -? will both set $opt_help
 
+Other characters that can't appear in Perl identifiers are also supported
+as aliases with Getopt::Long of at least version 2.39.
+
+As of version 2.32 Getopt::Long provides auto-help, a quick and easy way
+to add the options --help and -? to your program, and handle them.
+
+See C<auto_help> in section L<Configuring Getopt::Long>.
+
 =head1 AUTHOR
 
 Johan Vromans <jvromans at squirrel.nl>
@@ -2629,7 +2674,7 @@
 
 =head1 COPYRIGHT AND DISCLAIMER
 
-This program is Copyright 1990,2009 by Johan Vromans.
+This program is Copyright 1990,2010 by Johan Vromans.
 This program is free software; you can redistribute it and/or
 modify it under the terms of the Perl Artistic License or the
 GNU General Public License as published by the Free Software


Property changes on: vendor/perl/dist/cpan/Getopt-Long/lib/Getopt/Long.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Getopt-Long/t/gol-basic.t
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/t/gol-basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/t/gol-basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Getopt-Long/t/gol-basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Getopt-Long/t/gol-compat.t
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/t/gol-compat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/t/gol-compat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Getopt-Long/t/gol-compat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Getopt-Long/t/gol-linkage.t
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/t/gol-linkage.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/t/gol-linkage.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Getopt-Long/t/gol-linkage.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Getopt-Long/t/gol-oo.t
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/t/gol-oo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/t/gol-oo.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 die("Getopt::Long version $want_version required--this is only version ".
     $Getopt::Long::VERSION)
   unless $Getopt::Long::VERSION ge $want_version;
-print "1..9\n";
+print "1..14\n";
 
 @ARGV = qw(-Foo -baR --foo bar);
 my $p = new Getopt::Long::Parser (config => ["no_ignore_case"]);
@@ -29,3 +29,11 @@
 print (($ARGV[0] eq "bar")  ? "" : "not ", "ok 7\n");
 print (!(defined $opt_baR)  ? "" : "not ", "ok 8\n");
 print (!(defined $opt_bar)  ? "" : "not ", "ok 9\n");
+
+my @args = (qw[-test 1]);
+my $o = Getopt::Long::Parser->new;
+print "ok 10\n" if $o->getoptionsfromarray(\@args, "test=i");
+print ((defined $opt_test) ? "" : "not ", "ok 11\n");
+print (($opt_test == 1)    ? "" : "not ", "ok 12\n");
+print ((@ARGV == 1)        ? "" : "not ", "ok 13\n");
+print ((@args == 0)        ? "" : "not ", "ok 14\n");


Property changes on: vendor/perl/dist/cpan/Getopt-Long/t/gol-oo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Getopt-Long/t/gol-xargv.t
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/t/gol-xargv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/t/gol-xargv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Getopt-Long/t/gol-xargv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Getopt-Long/t/gol-xstring.t
===================================================================
--- vendor/perl/dist/cpan/Getopt-Long/t/gol-xstring.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Getopt-Long/t/gol-xstring.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Getopt-Long/t/gol-xstring.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,19 +1,9 @@
 # vim: ts=4 sts=4 sw=4 et:
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 package HTTP::Tiny;
-BEGIN {
-  $HTTP::Tiny::VERSION = '0.012';
-}
 use strict;
 use warnings;
 # ABSTRACT: A small, simple, correct HTTP/1.1 client
+our $VERSION = '0.025'; # VERSION
 
 use Carp ();
 
@@ -20,7 +10,7 @@
 
 my @attributes;
 BEGIN {
-    @attributes = qw(agent default_headers max_redirect max_size proxy timeout);
+    @attributes = qw(agent default_headers local_address max_redirect max_size proxy timeout SSL_options verify_SSL);
     no strict 'refs';
     for my $accessor ( @attributes ) {
         *{$accessor} = sub {
@@ -31,45 +21,93 @@
 
 sub new {
     my($class, %args) = @_;
-    (my $agent = $class) =~ s{::}{-}g;
+
+    (my $default_agent = $class) =~ s{::}{-}g;
+    $default_agent .= "/" . ($class->VERSION || 0);
+
     my $self = {
-        agent        => $agent . "/" . ($class->VERSION || 0),
+        agent        => $default_agent,
         max_redirect => 5,
         timeout      => 60,
+        verify_SSL   => $args{verify_SSL} || $args{verify_ssl} || 0, # no verification by default
     };
+
+    $args{agent} .= $default_agent
+        if defined $args{agent} && $args{agent} =~ / $/;
+
     for my $key ( @attributes ) {
         $self->{$key} = $args{$key} if exists $args{$key}
     }
+
+    # Never override proxy argument as this breaks backwards compat.
+    if (!exists $self->{proxy} && (my $http_proxy = $ENV{http_proxy})) {
+        if ($http_proxy =~ m{\Ahttp://[^/?#:@]+:\d+/?\z}) {
+            $self->{proxy} = $http_proxy;
+        }
+        else {
+            Carp::croak(qq{Environment 'http_proxy' must be in format http://<host>:<port>/\n});
+        }
+    }
+
     return bless $self, $class;
 }
 
 
-sub get {
-    my ($self, $url, $args) = @_;
-    @_ == 2 || (@_ == 3 && ref $args eq 'HASH')
-      or Carp::croak(q/Usage: $http->get(URL, [HASHREF])/);
-    return $self->request('GET', $url, $args || {});
+for my $sub_name ( qw/get head put post delete/ ) {
+    my $req_method = uc $sub_name;
+    no strict 'refs';
+    eval <<"HERE"; ## no critic
+    sub $sub_name {
+        my (\$self, \$url, \$args) = \@_;
+        \@_ == 2 || (\@_ == 3 && ref \$args eq 'HASH')
+        or Carp::croak(q/Usage: \$http->$sub_name(URL, [HASHREF])/ . "\n");
+        return \$self->request('$req_method', \$url, \$args || {});
+    }
+HERE
 }
 
 
+sub post_form {
+    my ($self, $url, $data, $args) = @_;
+    (@_ == 3 || @_ == 4 && ref $args eq 'HASH')
+        or Carp::croak(q/Usage: $http->post_form(URL, DATAREF, [HASHREF])/ . "\n");
+
+    my $headers = {};
+    while ( my ($key, $value) = each %{$args->{headers} || {}} ) {
+        $headers->{lc $key} = $value;
+    }
+    delete $args->{headers};
+
+    return $self->request('POST', $url, {
+            %$args,
+            content => $self->www_form_urlencode($data),
+            headers => {
+                %$headers,
+                'content-type' => 'application/x-www-form-urlencoded'
+            },
+        }
+    );
+}
+
+
 sub mirror {
     my ($self, $url, $file, $args) = @_;
     @_ == 3 || (@_ == 4 && ref $args eq 'HASH')
-      or Carp::croak(q/Usage: $http->mirror(URL, FILE, [HASHREF])/);
+      or Carp::croak(q/Usage: $http->mirror(URL, FILE, [HASHREF])/ . "\n");
     if ( -e $file and my $mtime = (stat($file))[9] ) {
         $args->{headers}{'if-modified-since'} ||= $self->_http_date($mtime);
     }
     my $tempfile = $file . int(rand(2**31));
     open my $fh, ">", $tempfile
-        or Carp::croak(qq/Error: Could not open temporary file $tempfile for downloading: $!/);
+        or Carp::croak(qq/Error: Could not open temporary file $tempfile for downloading: $!\n/);
     binmode $fh;
     $args->{data_callback} = sub { print {$fh} $_[0] };
     my $response = $self->request('GET', $url, $args);
     close $fh
-        or Carp::croak(qq/Error: Could not close temporary file $tempfile: $!/);
+        or Carp::croak(qq/Error: Could not close temporary file $tempfile: $!\n/);
     if ( $response->{success} ) {
         rename $tempfile, $file
-            or Carp::croak "Error replacing $file with $tempfile: $!\n";
+            or Carp::croak(qq/Error replacing $file with $tempfile: $!\n/);
         my $lm = $response->{headers}{'last-modified'};
         if ( $lm and my $mtime = $self->_parse_http_date($lm) ) {
             utime $mtime, $mtime, $file;
@@ -86,7 +124,7 @@
 sub request {
     my ($self, $method, $url, $args) = @_;
     @_ == 3 || (@_ == 4 && ref $args eq 'HASH')
-      or Carp::croak(q/Usage: $http->request(METHOD, URL, [HASHREF])/);
+      or Carp::croak(q/Usage: $http->request(METHOD, URL, [HASHREF])/ . "\n");
     $args ||= {}; # we keep some state in this during _request
 
     # RFC 2616 Section 8.1.4 mandates a single retry on broken socket
@@ -99,6 +137,7 @@
 
     if (my $e = "$@") {
         $response = {
+            url     => $url,
             success => q{},
             status  => 599,
             reason  => 'Internal Exception',
@@ -112,6 +151,36 @@
     return $response;
 }
 
+
+sub www_form_urlencode {
+    my ($self, $data) = @_;
+    (@_ == 2 && ref $data)
+        or Carp::croak(q/Usage: $http->www_form_urlencode(DATAREF)/ . "\n");
+    (ref $data eq 'HASH' || ref $data eq 'ARRAY')
+        or Carp::croak("form data must be a hash or array reference");
+
+    my @params = ref $data eq 'HASH' ? %$data : @$data;
+    @params % 2 == 0
+        or Carp::croak("form data reference must have an even number of terms\n");
+
+    my @terms;
+    while( @params ) {
+        my ($key, $value) = splice(@params, 0, 2);
+        if ( ref $value eq 'ARRAY' ) {
+            unshift @params, map { $key => $_ } @$value;
+        }
+        else {
+            push @terms, join("=", map { $self->_uri_escape($_) } $key, $value);
+        }
+    }
+
+    return join("&", sort @terms);
+}
+
+#--------------------------------------------------------------------------#
+# private methods
+#--------------------------------------------------------------------------#
+
 my %DefaultPort = (
     http => 80,
     https => 443,
@@ -130,11 +199,16 @@
         headers   => {},
     };
 
-    my $handle  = HTTP::Tiny::Handle->new(timeout => $self->{timeout});
+    my $handle  = HTTP::Tiny::Handle->new(
+        timeout         => $self->{timeout},
+        SSL_options     => $self->{SSL_options},
+        verify_SSL      => $self->{verify_SSL},
+        local_address   => $self->{local_address},
+    );
 
     if ($self->{proxy}) {
         $request->{uri} = "$scheme://$request->{host_port}$path_query";
-        croak(qq/HTTPS via proxy is not supported/)
+        die(qq/HTTPS via proxy is not supported\n/)
             if $request->{scheme} eq 'https';
         $handle->connect(($self->_split_url($self->{proxy}))[0..2]);
     }
@@ -164,6 +238,7 @@
 
     $handle->close;
     $response->{success} = substr($response->{status},0,1) eq '2';
+    $response->{url} = $url;
     return $response;
 }
 
@@ -192,7 +267,7 @@
             my $content = $args->{content};
             if ( $] ge '5.008' ) {
                 utf8::downgrade($content, 1)
-                    or Carp::croak(q/Wide character in request message body/);
+                    or die(qq/Wide character in request message body\n/);
             }
             $request->{headers}{'content-length'} = length $content
               unless $request->{headers}{'content-length'}
@@ -246,7 +321,7 @@
 
     # URI regex adapted from the URI module
     my ($scheme, $authority, $path_query) = $url =~ m<\A([^:/?#]+)://([^/?#]*)([^#]*)>
-      or Carp::croak(qq/Cannot parse URL: '$url'/);
+      or die(qq/Cannot parse URL: '$url'\n/);
 
     $scheme     = lc $scheme;
     $path_query = "/$path_query" unless $path_query =~ m<\A/>;
@@ -293,16 +368,36 @@
     };
 }
 
+# URI escaping adapted from URI::Escape
+# c.f. http://www.w3.org/TR/html4/interact/forms.html#h-17.13.4.1
+# perl 5.6 ready UTF-8 encoding adapted from JSON::PP
+my %escapes = map { chr($_) => sprintf("%%%02X", $_) } 0..255;
+$escapes{' '}="+";
+my $unsafe_char = qr/[^A-Za-z0-9\-\._~]/;
+
+sub _uri_escape {
+    my ($self, $str) = @_;
+    if ( $] ge '5.008' ) {
+        utf8::encode($str);
+    }
+    else {
+        $str = pack("U*", unpack("C*", $str)) # UTF-8 encode a byte string
+            if ( length $str == do { use bytes; length $str } );
+        $str = pack("C*", unpack("C*", $str)); # clear UTF-8 flag
+    }
+    $str =~ s/($unsafe_char)/$escapes{$1}/ge;
+    return $str;
+}
+
 package
     HTTP::Tiny::Handle; # hide from PAUSE/indexers
 use strict;
 use warnings;
 
-use Carp       qw[croak];
 use Errno      qw[EINTR EPIPE];
 use IO::Socket qw[SOCK_STREAM];
 
-sub BUFSIZE () { 32768 }
+sub BUFSIZE () { 32768 } ## no critic
 
 my $Printable = sub {
     local $_ = shift;
@@ -322,47 +417,53 @@
         timeout          => 60,
         max_line_size    => 16384,
         max_header_lines => 64,
+        verify_SSL       => 0,
+        SSL_options      => {},
         %args
     }, $class;
 }
 
-my $ssl_verify_args = {
-    check_cn => "when_only",
-    wildcards_in_alt => "anywhere",
-    wildcards_in_cn => "anywhere"
-};
-
 sub connect {
-    @_ == 4 || croak(q/Usage: $handle->connect(scheme, host, port)/);
+    @_ == 4 || die(q/Usage: $handle->connect(scheme, host, port)/ . "\n");
     my ($self, $scheme, $host, $port) = @_;
 
     if ( $scheme eq 'https' ) {
-        eval "require IO::Socket::SSL"
-            unless exists $INC{'IO/Socket/SSL.pm'};
-        croak(qq/IO::Socket::SSL must be installed for https support\n/)
-            unless $INC{'IO/Socket/SSL.pm'};
+        die(qq/IO::Socket::SSL 1.56 must be installed for https support\n/)
+            unless eval {require IO::Socket::SSL; IO::Socket::SSL->VERSION(1.56)};
+        die(qq/Net::SSLeay 1.49 must be installed for https support\n/)
+            unless eval {require Net::SSLeay; Net::SSLeay->VERSION(1.49)};
     }
     elsif ( $scheme ne 'http' ) {
-      croak(qq/Unsupported URL scheme '$scheme'/);
+      die(qq/Unsupported URL scheme '$scheme'\n/);
     }
-
     $self->{fh} = 'IO::Socket::INET'->new(
         PeerHost  => $host,
         PeerPort  => $port,
+        $self->{local_address} ?
+            ( LocalAddr => $self->{local_address} ) : (),
         Proto     => 'tcp',
         Type      => SOCK_STREAM,
         Timeout   => $self->{timeout}
-    ) or croak(qq/Could not connect to '$host:$port': $@/);
+    ) or die(qq/Could not connect to '$host:$port': $@\n/);
 
     binmode($self->{fh})
-      or croak(qq/Could not binmode() socket: '$!'/);
+      or die(qq/Could not binmode() socket: '$!'\n/);
 
     if ( $scheme eq 'https') {
-        IO::Socket::SSL->start_SSL($self->{fh});
-        ref($self->{fh}) eq 'IO::Socket::SSL'
-            or die(qq/SSL connection failed for $host\n/);
-        $self->{fh}->verify_hostname( $host, $ssl_verify_args )
-            or die(qq/SSL certificate not valid for $host\n/);
+        my $ssl_args = $self->_ssl_args($host);
+        IO::Socket::SSL->start_SSL(
+            $self->{fh},
+            %$ssl_args,
+            SSL_create_ctx_callback => sub {
+                my $ctx = shift;
+                Net::SSLeay::CTX_set_mode($ctx, Net::SSLeay::MODE_AUTO_RETRY());
+            },
+        );
+
+        unless ( ref($self->{fh}) eq 'IO::Socket::SSL' ) {
+            my $ssl_err = IO::Socket::SSL->errstr;
+            die(qq/SSL connection failed for $host: $ssl_err\n/);
+        }
     }
 
     $self->{host} = $host;
@@ -372,19 +473,19 @@
 }
 
 sub close {
-    @_ == 1 || croak(q/Usage: $handle->close()/);
+    @_ == 1 || die(q/Usage: $handle->close()/ . "\n");
     my ($self) = @_;
     CORE::close($self->{fh})
-      or croak(qq/Could not close socket: '$!'/);
+      or die(qq/Could not close socket: '$!'\n/);
 }
 
 sub write {
-    @_ == 2 || croak(q/Usage: $handle->write(buf)/);
+    @_ == 2 || die(q/Usage: $handle->write(buf)/ . "\n");
     my ($self, $buf) = @_;
 
     if ( $] ge '5.008' ) {
         utf8::downgrade($buf, 1)
-            or croak(q/Wide character in write()/);
+            or die(qq/Wide character in write()\n/);
     }
 
     my $len = length $buf;
@@ -394,7 +495,7 @@
 
     while () {
         $self->can_write
-          or croak(q/Timed out while waiting for socket to become ready for writing/);
+          or die(qq/Timed out while waiting for socket to become ready for writing\n/);
         my $r = syswrite($self->{fh}, $buf, $len, $off);
         if (defined $r) {
             $len -= $r;
@@ -402,10 +503,17 @@
             last unless $len > 0;
         }
         elsif ($! == EPIPE) {
-            croak(qq/Socket closed by remote server: $!/);
+            die(qq/Socket closed by remote server: $!\n/);
         }
         elsif ($! != EINTR) {
-            croak(qq/Could not write to socket: '$!'/);
+            if ($self->{fh}->can('errstr')){
+                my $err = $self->{fh}->errstr();
+                die (qq/Could not write to SSL socket: '$err'\n /);
+            }
+            else {
+                die(qq/Could not write to socket: '$!'\n/);
+            }
+
         }
     }
     return $off;
@@ -412,7 +520,7 @@
 }
 
 sub read {
-    @_ == 2 || @_ == 3 || croak(q/Usage: $handle->read(len [, allow_partial])/);
+    @_ == 2 || @_ == 3 || die(q/Usage: $handle->read(len [, allow_partial])/ . "\n");
     my ($self, $len, $allow_partial) = @_;
 
     my $buf  = '';
@@ -426,7 +534,7 @@
 
     while ($len > 0) {
         $self->can_read
-          or croak(q/Timed out while waiting for socket to become ready for reading/);
+          or die(q/Timed out while waiting for socket to become ready for reading/ . "\n");
         my $r = sysread($self->{fh}, $buf, $len, length $buf);
         if (defined $r) {
             last unless $r;
@@ -433,17 +541,23 @@
             $len -= $r;
         }
         elsif ($! != EINTR) {
-            croak(qq/Could not read from socket: '$!'/);
+            if ($self->{fh}->can('errstr')){
+                my $err = $self->{fh}->errstr();
+                die (qq/Could not read from SSL socket: '$err'\n /);
+            }
+            else {
+                die(qq/Could not read from socket: '$!'\n/);
+            }
         }
     }
     if ($len && !$allow_partial) {
-        croak(q/Unexpected end of stream/);
+        die(qq/Unexpected end of stream\n/);
     }
     return $buf;
 }
 
 sub readline {
-    @_ == 1 || croak(q/Usage: $handle->readline()/);
+    @_ == 1 || die(q/Usage: $handle->readline()/ . "\n");
     my ($self) = @_;
 
     while () {
@@ -451,23 +565,29 @@
             return $1;
         }
         if (length $self->{rbuf} >= $self->{max_line_size}) {
-            croak(qq/Line size exceeds the maximum allowed size of $self->{max_line_size}/);
+            die(qq/Line size exceeds the maximum allowed size of $self->{max_line_size}\n/);
         }
         $self->can_read
-          or croak(q/Timed out while waiting for socket to become ready for reading/);
+          or die(qq/Timed out while waiting for socket to become ready for reading\n/);
         my $r = sysread($self->{fh}, $self->{rbuf}, BUFSIZE, length $self->{rbuf});
         if (defined $r) {
             last unless $r;
         }
         elsif ($! != EINTR) {
-            croak(qq/Could not read from socket: '$!'/);
+            if ($self->{fh}->can('errstr')){
+                my $err = $self->{fh}->errstr();
+                die (qq/Could not read from SSL socket: '$err'\n /);
+            }
+            else {
+                die(qq/Could not read from socket: '$!'\n/);
+            }
         }
     }
-    croak(q/Unexpected end of stream while looking for line/);
+    die(qq/Unexpected end of stream while looking for line\n/);
 }
 
 sub read_header_lines {
-    @_ == 1 || @_ == 2 || croak(q/Usage: $handle->read_header_lines([headers])/);
+    @_ == 1 || @_ == 2 || die(q/Usage: $handle->read_header_lines([headers])/ . "\n");
     my ($self, $headers) = @_;
     $headers ||= {};
     my $lines   = 0;
@@ -477,7 +597,7 @@
          my $line = $self->readline;
 
          if (++$lines >= $self->{max_header_lines}) {
-             croak(qq/Header lines exceeds maximum number allowed of $self->{max_header_lines}/);
+             die(qq/Header lines exceeds maximum number allowed of $self->{max_header_lines}\n/);
          }
          elsif ($line =~ /\A ([^\x00-\x1F\x7F:]+) : [\x09\x20]* ([^\x0D\x0A]*)/x) {
              my ($field_name) = lc $1;
@@ -494,7 +614,7 @@
          }
          elsif ($line =~ /\A [\x09\x20]+ ([^\x0D\x0A]*)/x) {
              $val
-               or croak(q/Unexpected header continuation line/);
+               or die(qq/Unexpected header continuation line\n/);
              next unless length $1;
              $$val .= ' ' if length $$val;
              $$val .= $1;
@@ -503,7 +623,7 @@
             last;
          }
          else {
-            croak(q/Malformed header line: / . $Printable->($line));
+            die(q/Malformed header line: / . $Printable->($line) . "\n");
          }
     }
     return $headers;
@@ -510,7 +630,7 @@
 }
 
 sub write_request {
-    @_ == 2 || croak(q/Usage: $handle->write_request(request)/);
+    @_ == 2 || die(q/Usage: $handle->write_request(request)/ . "\n");
     my($self, $request) = @_;
     $self->write_request_header(@{$request}{qw/method uri headers/});
     $self->write_body($request) if $request->{cb};
@@ -526,7 +646,7 @@
 );
 
 sub write_header_lines {
-    (@_ == 2 && ref $_[1] eq 'HASH') || croak(q/Usage: $handle->write_header_lines(headers)/);
+    (@_ == 2 && ref $_[1] eq 'HASH') || die(q/Usage: $handle->write_header_lines(headers)/ . "\n");
     my($self, $headers) = @_;
 
     my $buf = '';
@@ -537,13 +657,13 @@
         }
         else {
             $field_name =~ /\A $Token+ \z/xo
-              or croak(q/Invalid HTTP header field name: / . $Printable->($field_name));
+              or die(q/Invalid HTTP header field name: / . $Printable->($field_name) . "\n");
             $field_name =~ s/\b(\w)/\u$1/g;
             $HeaderCase{lc $field_name} = $field_name;
         }
         for (ref $v eq 'ARRAY' ? @$v : $v) {
             /[^\x0D\x0A]/
-              or croak(qq/Invalid HTTP header field value ($field_name): / . $Printable->($_));
+              or die(qq/Invalid HTTP header field value ($field_name): / . $Printable->($_). "\n");
             $buf .= "$field_name: $_\x0D\x0A";
         }
     }
@@ -552,7 +672,7 @@
 }
 
 sub read_body {
-    @_ == 3 || croak(q/Usage: $handle->read_body(callback, response)/);
+    @_ == 3 || die(q/Usage: $handle->read_body(callback, response)/ . "\n");
     my ($self, $cb, $response) = @_;
     my $te = $response->{headers}{'transfer-encoding'} || '';
     if ( grep { /chunked/i } ( ref $te eq 'ARRAY' ? @$te : $te ) ) {
@@ -565,7 +685,7 @@
 }
 
 sub write_body {
-    @_ == 2 || croak(q/Usage: $handle->write_body(request)/);
+    @_ == 2 || die(q/Usage: $handle->write_body(request)/ . "\n");
     my ($self, $request) = @_;
     if ($request->{headers}{'content-length'}) {
         return $self->write_content_body($request);
@@ -576,7 +696,7 @@
 }
 
 sub read_content_body {
-    @_ == 3 || @_ == 4 || croak(q/Usage: $handle->read_content_body(callback, response, [read_length])/);
+    @_ == 3 || @_ == 4 || die(q/Usage: $handle->read_content_body(callback, response, [read_length])/ . "\n");
     my ($self, $cb, $response, $content_length) = @_;
     $content_length ||= $response->{headers}{'content-length'};
 
@@ -597,7 +717,7 @@
 }
 
 sub write_content_body {
-    @_ == 2 || croak(q/Usage: $handle->write_content_body(request)/);
+    @_ == 2 || die(q/Usage: $handle->write_content_body(request)/ . "\n");
     my ($self, $request) = @_;
 
     my ($len, $content_length) = (0, $request->{headers}{'content-length'});
@@ -609,7 +729,7 @@
 
         if ( $] ge '5.008' ) {
             utf8::downgrade($data, 1)
-                or croak(q/Wide character in write_content()/);
+                or die(qq/Wide character in write_content()\n/);
         }
 
         $len += $self->write($data);
@@ -616,13 +736,13 @@
     }
 
     $len == $content_length
-      or croak(qq/Content-Length missmatch (got: $len expected: $content_length)/);
+      or die(qq/Content-Length missmatch (got: $len expected: $content_length)\n/);
 
     return $len;
 }
 
 sub read_chunked_body {
-    @_ == 3 || croak(q/Usage: $handle->read_chunked_body(callback, $response)/);
+    @_ == 3 || die(q/Usage: $handle->read_chunked_body(callback, $response)/ . "\n");
     my ($self, $cb, $response) = @_;
 
     while () {
@@ -629,7 +749,7 @@
         my $head = $self->readline;
 
         $head =~ /\A ([A-Fa-f0-9]+)/x
-          or croak(q/Malformed chunk head: / . $Printable->($head));
+          or die(q/Malformed chunk head: / . $Printable->($head) . "\n");
 
         my $len = hex($1)
           or last;
@@ -637,7 +757,7 @@
         $self->read_content_body($cb, $response, $len);
 
         $self->read(2) eq "\x0D\x0A"
-          or croak(q/Malformed chunk: missing CRLF after chunk data/);
+          or die(qq/Malformed chunk: missing CRLF after chunk data\n/);
     }
     $self->read_header_lines($response->{headers});
     return;
@@ -644,7 +764,7 @@
 }
 
 sub write_chunked_body {
-    @_ == 2 || croak(q/Usage: $handle->write_chunked_body(request)/);
+    @_ == 2 || die(q/Usage: $handle->write_chunked_body(request)/ . "\n");
     my ($self, $request) = @_;
 
     my $len = 0;
@@ -656,7 +776,7 @@
 
         if ( $] ge '5.008' ) {
             utf8::downgrade($data, 1)
-                or croak(q/Wide character in write_chunked_body()/);
+                or die(qq/Wide character in write_chunked_body()\n/);
         }
 
         $len += length $data;
@@ -675,17 +795,17 @@
 }
 
 sub read_response_header {
-    @_ == 1 || croak(q/Usage: $handle->read_response_header()/);
+    @_ == 1 || die(q/Usage: $handle->read_response_header()/ . "\n");
     my ($self) = @_;
 
     my $line = $self->readline;
 
     $line =~ /\A (HTTP\/(0*\d+\.0*\d+)) [\x09\x20]+ ([0-9]{3}) [\x09\x20]+ ([^\x0D\x0A]*) \x0D?\x0A/x
-      or croak(q/Malformed Status-Line: / . $Printable->($line));
+      or die(q/Malformed Status-Line: / . $Printable->($line). "\n");
 
     my ($protocol, $version, $status, $reason) = ($1, $2, $3, $4);
 
-    croak (qq/Unsupported HTTP protocol: $protocol/)
+    die (qq/Unsupported HTTP protocol: $protocol\n/)
         unless $version =~ /0*1\.0*[01]/;
 
     return {
@@ -697,7 +817,7 @@
 }
 
 sub write_request_header {
-    @_ == 4 || croak(q/Usage: $handle->write_request_header(method, request_uri, headers)/);
+    @_ == 4 || die(q/Usage: $handle->write_request_header(method, request_uri, headers)/ . "\n");
     my ($self, $method, $request_uri, $headers) = @_;
 
     return $self->write("$method $request_uri HTTP/1.1\x0D\x0A")
@@ -711,7 +831,7 @@
 
     my $fd = fileno $self->{fh};
     defined $fd && $fd >= 0
-      or croak(q/select(2): 'Bad file descriptor'/);
+      or die(qq/select(2): 'Bad file descriptor'\n/);
 
     my $initial = time;
     my $pending = $timeout;
@@ -725,7 +845,7 @@
             : select(undef, $fdset, undef, $pending) ;
         if ($nfound == -1) {
             $! == EINTR
-              or croak(qq/select(2): '$!'/);
+              or die(qq/select(2): '$!'\n/);
             redo if !$timeout || ($pending = $timeout - (time - $initial)) > 0;
             $nfound = 0;
         }
@@ -736,22 +856,71 @@
 }
 
 sub can_read {
-    @_ == 1 || @_ == 2 || croak(q/Usage: $handle->can_read([timeout])/);
+    @_ == 1 || @_ == 2 || die(q/Usage: $handle->can_read([timeout])/ . "\n");
     my $self = shift;
     return $self->_do_timeout('read', @_)
 }
 
 sub can_write {
-    @_ == 1 || @_ == 2 || croak(q/Usage: $handle->can_write([timeout])/);
+    @_ == 1 || @_ == 2 || die(q/Usage: $handle->can_write([timeout])/ . "\n");
     my $self = shift;
     return $self->_do_timeout('write', @_)
 }
 
-1;
+# Try to find a CA bundle to validate the SSL cert,
+# prefer Mozilla::CA or fallback to a system file
+sub _find_CA_file {
+    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};
 
+    return Mozilla::CA::SSL_ca_file()
+        if eval { require Mozilla::CA };
 
+    foreach my $ca_bundle (qw{
+        /etc/ssl/certs/ca-certificates.crt
+        /etc/pki/tls/certs/ca-bundle.crt
+        /etc/ssl/ca-bundle.pem
+        }
+    ) {
+        return $ca_bundle if -e $ca_bundle;
+    }
+
+    die qq/Couldn't find a CA bundle with which to verify the SSL certificate.\n/
+      . qq/Try installing Mozilla::CA from CPAN\n/;
+}
+
+sub _ssl_args {
+    my ($self, $host) = @_;
+
+    my %ssl_args = (
+        SSL_hostname        => $host,  # SNI
+    );
+
+    if ($self->{verify_SSL}) {
+        $ssl_args{SSL_verifycn_scheme}  = 'http'; # enable CN validation
+        $ssl_args{SSL_verifycn_name}    = $host;  # set validation hostname
+        $ssl_args{SSL_verify_mode}      = 0x01;   # enable cert validation
+        $ssl_args{SSL_ca_file}          = $self->_find_CA_file;
+    }
+    else {
+        $ssl_args{SSL_verifycn_scheme}  = 'none'; # disable CN validation
+        $ssl_args{SSL_verify_mode}      = 0x00;   # disable cert validation
+    }
+
+    # user options override settings from verify_SSL
+    for my $k ( keys %{$self->{SSL_options}} ) {
+        $ssl_args{$k} = $self->{SSL_options}{$k} if $k =~ m/^SSL_/;
+    }
+
+    return \%ssl_args;
+}
+
+1;
+
 __END__
+
 =pod
 
 =head1 NAME
@@ -760,7 +929,7 @@
 
 =head1 VERSION
 
-version 0.012
+version 0.025
 
 =head1 SYNOPSIS
 
@@ -782,7 +951,7 @@
 
 =head1 DESCRIPTION
 
-This is a very simple HTTP/1.1 client, designed primarily for doing simple GET
+This is a very simple HTTP/1.1 client, designed for doing simple GET
 requests without the overhead of a large framework like L<LWP::UserAgent>.
 
 It is more correct and more complete than L<HTTP::Lite>.  It supports
@@ -801,53 +970,96 @@
 
 =item *
 
-agent
+C<agent>
 
-A user-agent string (defaults to 'HTTP::Tiny/$VERSION')
+A user-agent string (defaults to 'HTTP-Tiny/$VERSION'). If C<agent> ends in a space character, the default user-agent string is appended.
 
 =item *
 
-default_headers
+C<default_headers>
 
 A hashref of default headers to apply to requests
 
 =item *
 
-max_redirect
+C<local_address>
 
+The local IP address to bind to
+
+=item *
+
+C<max_redirect>
+
 Maximum number of redirects allowed (defaults to 5)
 
 =item *
 
-max_size
+C<max_size>
 
 Maximum response size (only when not using a data callback).  If defined,
-responses larger than this will die with an error message
+responses larger than this will return an exception.
 
 =item *
 
-proxy
+C<proxy>
 
-URL of a proxy server to use.
+URL of a proxy server to use (default is C<$ENV{http_proxy}> if set)
 
 =item *
 
-timeout
+C<timeout>
 
 Request timeout in seconds (default is 60)
 
+=item *
+
+C<verify_SSL>
+
+A boolean that indicates whether to validate the SSL certificate of an C<https>
+connection (default is false)
+
+=item *
+
+C<SSL_options>
+
+A hashref of C<SSL_*> options to pass through to L<IO::Socket::SSL>
+
 =back
 
-=head2 get
+Exceptions from C<max_size>, C<timeout> or other errors will result in a
+pseudo-HTTP status code of 599 and a reason of "Internal Exception". The
+content field in the response will contain the text of the exception.
 
+See L</SSL SUPPORT> for more on the C<verify_SSL> and C<SSL_options> attributes.
+
+=head2 get|head|put|post|delete
+
     $response = $http->get($url);
     $response = $http->get($url, \%options);
+    $response = $http->head($url);
 
-Executes a C<GET> request for the given URL.  The URL must have unsafe
-characters escaped and international domain names encoded.  Internally, it just
-calls C<request()> with 'GET' as the method.  See C<request()> for valid
-options and a description of the response.
+These methods are shorthand for calling C<request()> for the given method.  The
+URL must have unsafe characters escaped and international domain names encoded.
+See C<request()> for valid options and a description of the response.
 
+The C<success> field of the response will be true if the status code is 2XX.
+
+=head2 post_form
+
+    $response = $http->post_form($url, $form_data);
+    $response = $http->post_form($url, $form_data, \%options);
+
+This method executes a C<POST> request and sends the key/value pairs from a
+form data hash or array reference to the given URL with a C<content-type> of
+C<application/x-www-form-urlencoded>.  See documentation for the
+C<www_form_urlencode> method for details on the encoding.
+
+The URL must have unsafe characters escaped and international domain names
+encoded.  See C<request()> for valid options and a description of the response.
+Any C<content-type> header or content in the options hashref will be ignored.
+
+The C<success> field of the response will be true if the status code is 2XX.
+
 =head2 mirror
 
     $response = $http->mirror($url, $file, \%options)
@@ -859,11 +1071,11 @@
 name provided.  The URL must have unsafe characters escaped and international
 domain names encoded.  If the file already exists, the request will includes an
 C<If-Modified-Since> header with the modification timestamp of the file.  You
-may specificy a different C<If-Modified-Since> header yourself in the C<<
+may specify a different C<If-Modified-Since> header yourself in the C<<
 $options->{headers} >> hash.
 
 The C<success> field of the response will be true if the status code is 2XX
-or 304 (unmodified).
+or if the status code is 304 (unmodified).
 
 If the file was modified and the server response includes a properly
 formatted C<Last-Modified> header, the file modification time will
@@ -885,7 +1097,7 @@
 
 =item *
 
-headers
+C<headers>
 
 A hashref containing headers to include with the request.  If the value for
 a header is an array reference, the header will be output multiple times with
@@ -893,14 +1105,14 @@
 
 =item *
 
-content
+C<content>
 
 A scalar to include as the body of the request OR a code reference
-that will be called iteratively to produce the body of the response
+that will be called iteratively to produce the body of the request
 
 =item *
 
-trailer_callback
+C<trailer_callback>
 
 A code reference that will be called if it exists to provide a hashref
 of trailing headers (only used with chunked transfer-encoding)
@@ -907,7 +1119,7 @@
 
 =item *
 
-data_callback
+C<data_callback>
 
 A code reference that will be called for each chunks of the response
 body received.
@@ -932,25 +1144,33 @@
 
 =item *
 
-success
+C<success>
 
 Boolean indicating whether the operation returned a 2XX status code
 
 =item *
 
-status
+C<url>
 
+URL that provided the response. This is the URL of the request unless
+there were redirections, in which case it is the last URL queried
+in a redirection chain
+
+=item *
+
+C<status>
+
 The HTTP status code of the response
 
 =item *
 
-reason
+C<reason>
 
 The response phrase returned by the server
 
 =item *
 
-content
+C<content>
 
 The body of the response.  If the response does not have any content
 or if a data callback is provided to consume the response body,
@@ -958,7 +1178,7 @@
 
 =item *
 
-headers
+C<headers>
 
 A hashref of header fields.  All header field names will be normalized
 to be lower case. If a header is repeated, the value will be an arrayref;
@@ -969,13 +1189,111 @@
 On an exception during the execution of the request, the C<status> field will
 contain 599, and the C<content> field will contain the text of the exception.
 
+=head2 www_form_urlencode
+
+    $params = $http->www_form_urlencode( $data );
+    $response = $http->get("http://example.com/query?$params");
+
+This method converts the key/value pairs from a data hash or array reference
+into a C<x-www-form-urlencoded> string.  The keys and values from the data
+reference will be UTF-8 encoded and escaped per RFC 3986.  If a value is an
+array reference, the key will be repeated with each of the values of the array
+reference.  The key/value pairs in the resulting string will be sorted by key
+and value.
+
 =for Pod::Coverage agent
 default_headers
+local_address
 max_redirect
 max_size
 proxy
 timeout
+verify_SSL
+SSL_options
 
+=head1 SSL SUPPORT
+
+Direct C<https> connections are supported only if L<IO::Socket::SSL> 1.56 or
+greater and L<Net::SSLeay> 1.49 or greater are installed. An exception will be
+thrown if a new enough versions of these modules not installed or if the SSL
+encryption fails. There is no support for C<https> connections via proxy (i.e.
+RFC 2817).
+
+SSL provides two distinct capabilities:
+
+=over 4
+
+=item *
+
+Encrypted communication channel
+
+=item *
+
+Verification of server identity
+
+=back
+
+B<By default, HTTP::Tiny does not verify server identity>.
+
+Server identity verification is controversial and potentially tricky because it
+depends on a (usually paid) third-party Certificate Authority (CA) trust model
+to validate a certificate as legitimate.  This discriminates against servers
+with self-signed certificates or certificates signed by free, community-driven
+CA's such as L<CAcert.org|http://cacert.org>.
+
+By default, HTTP::Tiny does not make any assumptions about your trust model,
+threat level or risk tolerance.  It just aims to give you an encrypted channel
+when you need one.
+
+Setting the C<verify_SSL> attribute to a true value will make HTTP::Tiny verify
+that an SSL connection has a valid SSL certificate corresponding to the host
+name of the connection and that the SSL certificate has been verified by a CA.
+Assuming you trust the CA, this will protect against a L<man-in-the-middle
+attack|http://en.wikipedia.org/wiki/Man-in-the-middle_attack>.  If you are
+concerned about security, you should enable this option.
+
+Certificate verification requires a file containing trusted CA certificates.
+If the L<Mozilla::CA> module is installed, HTTP::Tiny will use the CA file
+included with it as a source of trusted CA's.  (This means you trust Mozilla,
+the author of Mozilla::CA, the CPAN mirror where you got Mozilla::CA, the
+toolchain used to install it, and your operating system security, right?)
+
+If that module is not available, then HTTP::Tiny will search several
+system-specific default locations for a CA certificate file:
+
+=over 4
+
+=item *
+
+/etc/ssl/certs/ca-certificates.crt
+
+=item *
+
+/etc/pki/tls/certs/ca-bundle.crt
+
+=item *
+
+/etc/ssl/ca-bundle.pem
+
+=back
+
+An exception will be raised if C<verify_SSL> is true and no CA certificate file
+is available.
+
+If you desire complete control over SSL connections, the C<SSL_options> attribute
+lets you provide a hash reference that will be passed through to
+C<IO::Socket::SSL::start_SSL()>, overriding any options set by HTTP::Tiny. For
+example, to provide your own trusted CA file:
+
+    SSL_options => {
+        SSL_ca_file => $file_path,
+    }
+
+The C<SSL_options> attribute could also be used for such things as providing a
+client certificate for authentication to a server or controlling the choice of
+cipher used for the SSL connection. See L<IO::Socket::SSL> documentation for
+details.
+
 =head1 LIMITATIONS
 
 HTTP::Tiny is I<conditionally compliant> with the
@@ -1009,18 +1327,11 @@
 
 =item *
 
-Persistant connections are not supported.  The C<Connection> header will
+Persistent connections are not supported.  The C<Connection> header will
 always be set to C<close>.
 
 =item *
 
-Direct C<https> connections are supported only if L<IO::Socket::SSL> is
-installed.  There is no support for C<https> connections via proxy.
-Any SSL certificate that matches the host is accepted -- SSL certificates
-are not verified against certificate authorities.
-
-=item *
-
 Cookies are not directly supported.  Users that set a C<Cookie> header
 should also set C<max_redirect> to zero to ensure cookies are not
 inappropriately re-transmitted.
@@ -1027,7 +1338,9 @@
 
 =item *
 
-Proxy environment variables are not supported.
+Only the C<http_proxy> environment variable is supported in the format
+C<http://HOST:PORT/>.  If a C<proxy> argument is passed to C<new> (including
+undef), then the C<http_proxy> environment variable is ignored.
 
 =item *
 
@@ -1042,6 +1355,10 @@
 
 There is no support for a Request-URI of '*' for the 'OPTIONS' request.
 
+=item *
+
+There is no support for IPv6 of any kind.
+
 =back
 
 =head1 SEE ALSO
@@ -1052,17 +1369,29 @@
 
 L<LWP::UserAgent>
 
+=item *
+
+L<IO::Socket::SSL>
+
+=item *
+
+L<Mozilla::CA>
+
+=item *
+
+L<Net::SSLeay>
+
 =back
 
-=for :stopwords cpan testmatrix url annocpan anno bugtracker rt cpants kwalitee diff irc mailto metadata placeholders
+=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 by email to C<bug-http-tiny at rt.cpan.org>, or through
-the web interface at L<http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny>. You will be automatically notified of any
-progress on the request by the system.
+Please report any bugs or feature requests through the issue tracker
+at L<https://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny>.
+You will be notified automatically of any progress on your issue.
 
 =head2 Source Code
 
@@ -1069,9 +1398,9 @@
 This is open source software.  The code repository is available for
 public review and contribution under the terms of the license.
 
-L<http://github.com/dagolden/p5-http-tiny/tree>
+L<https://github.com/dagolden/http-tiny>
 
-  git clone git://github.com/dagolden/p5-http-tiny.git
+  git clone git://github.com/dagolden/http-tiny.git
 
 =head1 AUTHORS
 
@@ -1085,14 +1414,17 @@
 
 David Golden <dagolden at cpan.org>
 
+=item *
+
+Mike Doherty <doherty at cpan.org>
+
 =back
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2011 by Christian Hansen.
+This software is copyright (c) 2012 by Christian Hansen.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 =cut
-


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/lib/HTTP/Tiny.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/00-compile.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/00-compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/00-compile.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;
@@ -32,8 +24,33 @@
   'lib',
 );
 
-my @scripts = glob "bin/*";
+sub _find_scripts {
+    my $dir = shift @_;
 
+    my @found_scripts = ();
+    find(
+      sub {
+        return unless -f;
+        my $found = $File::Find::name;
+        # nothing to skip
+        open my $FH, '<', $_ or do {
+          note( "Unable to open $found in ( $! ), skipping" );
+          return;
+        };
+        my $shebang = <$FH>;
+        return unless $shebang =~ /^#!.*?\bperl\b\s*$/;
+        push @found_scripts, $found;
+      },
+      $dir,
+    );
+
+    return @found_scripts;
+}
+
+my @scripts;
+do { push @scripts, _find_scripts($_) if -d $_ }
+    for qw{ bin script scripts };
+
 my $plan = scalar(@modules) + scalar(@scripts);
 $plan ? (plan tests => $plan) : (plan skip_all => "no tests to run");
 


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/00-compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/000_load.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/000_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/000_load.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/000_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/001_api.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/001_api.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/001_api.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;
@@ -14,12 +6,16 @@
 use Test::More tests => 2;
 use HTTP::Tiny;
 
-my @accessors = qw(agent default_headers max_redirect max_size proxy timeout);
-my @methods   = qw(new get request mirror);
+my @accessors = qw(
+  agent default_headers local_address max_redirect max_size proxy timeout SSL_options verify_SSL
+);
+my @methods   = qw(
+  new get head put post delete post_form request mirror www_form_urlencode
+);
 
 my %api;
 @api{@accessors} = (1) x @accessors;
- at api{@methods} = (1) x @accessors;
+ at api{@methods} = (1) x @methods;
 
 can_ok('HTTP::Tiny', @methods, @accessors);
 
@@ -31,4 +27,3 @@
 
 ok( ! scalar @extra, "No unexpected subroutines defined" )
   or diag "Found: @extra";
-


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/001_api.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/002_croakage.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/002_croakage.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/002_croakage.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/002_croakage.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/010_url.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/010_url.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/010_url.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/010_url.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/020_headers.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/020_headers.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/020_headers.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/020_headers.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/030_response.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/030_response.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/030_response.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/030_response.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/040_content.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/040_content.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/040_content.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/040_content.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/050_chunked_body.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/050_chunked_body.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/050_chunked_body.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/050_chunked_body.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/060_http_date.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/060_http_date.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/060_http_date.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/060_http_date.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/100_get.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/100_get.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/100_get.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;
@@ -83,6 +75,8 @@
     ok( ! $response->{success}, "$label success flag false" );
   }
 
+  is ( $response->{url}, $url, "$label response URL" );
+
   if (defined $case->{expected_headers}) {
     my %expected = hashify( $case->{expected_headers} );
     is_deeply($response->{headers}, \%expected, "$label expected headers");
@@ -101,6 +95,8 @@
       }
     ;
 
+
+
   if ( $options{data_callback} ) {
     $check_expected->( $main::data, "$label cb got content" );
     is ( $response->{content}, '', "$label resp content empty" );


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/100_get.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/110_mirror.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/110_mirror.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/110_mirror.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/110_mirror.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/120_put.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/120_put.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/120_put.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/120_put.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/130_redirect.t
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/130_redirect.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/130_redirect.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,4 @@
 #!perl
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 
 use strict;
 use warnings;
@@ -73,6 +65,11 @@
                   ? join("$CRLF", @{$case->{expected}}) : '';
 
   is ( $response->{content}, $exp_content, "$label content" );
+
+  if ( $case->{expected_url} ) {
+    is ( $response->{url}, $case->{expected_url}[0], "$label response URL" );
+  }
+
 }
 
 done_testing;


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/130_redirect.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/Util.pm
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,3 @@
-#
-# This file is part of HTTP-Tiny
-#
-# This software is copyright (c) 2011 by Christian Hansen.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 package t::Util;
 
 use strict;
@@ -172,6 +164,8 @@
             $self->{fh} = shift @res_fh;
         };
         *HTTP::Tiny::Handle::close = sub { 1 }; # don't close our temps
+        
+        delete $ENV{http_proxy}; # don't try to proxy in mock-mode
     }
 }
 


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-01.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-01.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-01.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-01.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-02.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-02.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-02.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-02.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-03.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-03.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-03.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-03.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-04.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-04.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-04.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-04.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-05.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-05.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-05.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-05.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-06.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-06.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-06.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-06.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-07.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-07.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-07.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-07.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-08.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-08.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-08.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-08.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-09.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-09.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-09.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-09.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-10.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-10.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-10.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-10.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-11.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-11.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-11.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-11.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-12.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-12.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-12.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-12.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-13.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-13.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-13.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-13.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-14.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-14.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-14.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-14.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-15.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-15.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-15.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-15.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-16.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-16.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-16.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-16.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-17.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-17.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-17.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-17.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-18.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-18.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-18.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-18.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-19.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-19.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-19.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-19.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-20.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-20.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-20.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-20.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-21.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-21.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-21.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/get-21.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-01.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-01.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-01.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-01.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-02.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-02.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-02.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-02.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-03.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-03.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-03.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-03.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-04.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-04.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-04.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-04.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-05.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-05.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-05.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/mirror-05.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-01.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-01.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-01.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-01.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-02.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-02.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-02.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-02.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-03.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-03.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-03.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-03.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-04.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-04.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-04.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-04.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-05.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-05.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-05.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/put-05.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-01.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-01.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-01.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,8 @@
   http://example.com/index.html
 expected
   abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
 ----------
 GET /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-01.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-02.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-02.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-02.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
   http://example.com/index.html
 expected
   <a href="http://example.com/index2.html">redirect</a>
+expected_url
+  http://example.com/index.html
 ----------
 GET /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-02.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-03.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-03.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-03.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
   http://example.com/index.html
 expected
   <a href="http://example.com/index3.html">redirect</a>
+expected_url
+  http://example.com/index2.html
 ----------
 GET /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-03.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-04.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-04.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-04.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
   http://example.com/index.html
 expected
   abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index3.html
 ----------
 GET /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-04.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-05.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-05.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-05.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,8 @@
   http://example.com/index.html
 expected
   abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index3.html
 ----------
 GET /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-05.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-06.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-06.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-06.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,8 @@
   http://example.com/index.html
 expected
   abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
 ----------
 GET /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-06.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-07.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-07.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-07.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,8 @@
   http://example.com/index.html
 expected
   abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
 ----------
 GET /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-07.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-08.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-08.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-08.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,8 @@
   http://example.com/index.html
 expected
   <a href="http://example.com/index2.html">redirect</a>
+expected_url
+  http://example.com/index.html
 ----------
 GET /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-08.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-09.txt
===================================================================
--- vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-09.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-09.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
   POST
 expected
   abcdefghijklmnopqrstuvwxyz1234567890abcdef
+expected_url
+  http://example.com/index2.html
 ----------
 POST /index.html HTTP/1.1
 Host: example.com


Property changes on: vendor/perl/dist/cpan/HTTP-Tiny/t/cases/redirect-09.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/Changes
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,212 @@
 CHANGES
 -------
 
+  2.060 7 January 2013
+
+      * Updated POD
+        RT# 82138: Example code not clear - gunzip() takes filenames!
+
+      * IO::Compress::Base
+        Remove the flush call when opening a filehandle. 
+
+  2.059 10 December 2012
+
+      * IO::Compress::Base
+        Added "Encode" option.
+        Fixes the encoding half of RT# 42656. Decode is still TODO
+
+  2.058 12 November 2012
+
+      * RT# 81119: Latest IO::Compress 2.057 fails tests on 5.8.x
+
+  2.057 10 November 2012
+
+      * IO::Compress::Zip
+        Allow member name & Zip Comment to be "0"
+   
+      * IO::Compress::Base::Common
+        Remove "-r" test - the file open will catch this.
+        RT# 80855: IO::Compress::Base::Common returns that it cannot read readable files in NFS
+
+      * RT# 79820: Install to 'site' instead of 'perl' when perl version is 5.11+
+      
+      * General Performance improvements.
+                
+  2.055 5 August 2012
+
+      * FAQ
+        Added a few paragraphs on how to deal with pbzip2 files
+        [RT# #77743: Interoperability problems with pbzip2]
+
+      * Compress::Zip
+        speed up compress, uncompress, memGzip & memGunzip.
+        [RT# #77350: Compress::Zlib::uncompress() is slowed down needlessly 
+                     by parameter validation
+
+  2.052 29 April 2012
+
+      * IO::Compress::Zip
+        Force a ZIP64 archive when it contains >= 0xFFFF entries.
+        
+      * Typos in POD
+        [RT# #76130: Gunzip Pod typo in OO section: $$output instead of $$input
+
+  2.049 18 February 2012
+
+      * IO::Compress::Zip
+        Error in t/cz-03zlib-v1.t that caused warnings with 5.15
+        [RT# 110736: warnings from cpan/IO-Compress/t/cz-03zlib-v1.t]
+
+  2.048 29 January 2012
+
+      * Set minimum zlib version to 1.2.0
+      
+      * IO::Compress test suite fails with Compress::Raw::Zlib 2.047 
+        and zlib < 1.2.4
+        [RT# 74503]
+      
+  2.047 28 January 2012
+
+      * Set minimum Perl version to 5.6
+
+      * IO::Compress::Zip
+        - In one-shot zip, set the Text Flag if "-T" thinks the file is a
+          text file.
+        - In one-shot mode, wrote mod time & access time in wrong order 
+          in the "UT" extended field.
+
+  2.046 18 December 2011
+
+      * Minor update to bin/zipdetails
+
+      * Typo in name of IO::Compress::FAQ.pod
+
+      * IO::Uncompress::Unzip
+        - Example for walking a zip file used eof to control the outer
+          loop. This is wrong.
+
+      * IO::Compress::Zip
+        - Change default for CanonicalName to false.
+          [RT# 72974]
+
+  2.045 3 December 2011
+
+      * Restructured IO::Compress::FAQ.pod
+
+  2.044 2 December 2011
+
+      * Moved FAQ.pod under the lib directory so it can get installed
+
+      * Added bin/zipdetails
+
+      * IO::Compress::Zip
+        - In one-shot mode enable Zip64 mode if the input file/buffer 
+          >= 0xFFFFFFFF bytes.
+
+      * IO::Compress::FAQ
+        - Updates 
+
+  2.043 20 November 2011
+
+      * IO::Compress::Base
+        - Fixed issue that with handling of Zip files with two (or more) 
+          entries that were STORED. Symptom is the first is uncompressed
+          ok, but the next will terminate early if the size of the file is
+          greater than BlockSize.
+          Regression test added to t/006zip.t
+          [RT# 72548]
+
+  2.042 17 November 2011
+
+      * IO::Compress::Zip
+        - Added exUnixN option to allow creation of the "ux" extra field.
+          This allows 32-bit UID/GID to be stored.
+        - In one-shot mode use exUnixN rather than exUnix2 for the UID/GID.
+
+      * IO::Compress::Zlib::Extra::parseExtraField
+        - Fixed bad test for length of ID field
+          [RT# 72329 & #72505]
+
+  2.040 28 October 2011
+
+      * t/105oneshot-zip-only.t
+        - CanonicalName test failure on Windows
+          [RT# 68926]
+
+      * IO::Compress::Zip
+        - ExtAttr now populates MSDOS attributes 
+
+  2.039 28 October 2011
+
+      * IO::Compress::Zip
+        - Added CanonicalName option.
+          Note this option is set to true by default.
+        - Added FilterName option
+
+      * IO::Unompress::Base
+        - Fixed issue where setting $\ would corrupt the uncompressed data.
+          Thanks to Steffen Goeldner for reporting the issue.
+
+      * t/050interop-*.t
+        - Handle case when external command contains a whitespace
+          RT #71335
+
+  2.037 22 June 2011
+
+      * IO::Uncompress
+        - get globmapper tests working on VMS
+          [RT# 68926]
+
+      * IO::Uncompress::Unzip
+        - Fixed limitation where Streamed Stored content was not supported.
+
+  2.036 18 June 2011
+
+      * IO::Compress::Zip & IO::Uncompress::Unzip
+        - Added support for LZMA (method 14) compression/uncompresion.  
+
+      * IO::Compress::Unzip
+        - Fixed CRC issue when compression is Store or Bzip2 and Strict option
+          is set.
+
+      * IO::Compress::Zip
+        - Fixed Zip64 issue where the content size is exactly 0xFFFFFFFF
+
+  2.035 6 May 2011
+
+      * RT #67931: Test failure on Windows
+
+  2.034 2 May 2011
+
+      * Compress::Zlib
+        - Silence pod warnings.
+          [RT# 64876]
+
+        - Removed duplicate words in pod.
+
+      * IO::Compress::Base
+
+        - RT #56942: Testsuite fails when being run in parallel
+
+        - Reduce symbol import - patch from J. Nick Koston
+
+        - If the output buffer parameter passed to read has a value of
+          undef, and Append mode was specified when the file was opened,
+          and eof is reached, then the buffer paramer was left as undef.  
+          This is different from when Append isn't specified - the buffer 
+          parameter is set to an empty string.
+
+        - There area couple of issues with reading a file that contains an 
+          empty file that is compressed. 
+          Create with -- touch /tmp/empty; gzip /tmp/empty.
+          Issue 1 - eof is not true immediately. Have to read from the file
+                    to trigger eof.
+          Issue 2 - readline incorrectly returns an empty string the first 
+                    time it is called, and (correctly) undef thereafter.
+          [RT #67554]
+
   2.033 11 Jan 2011
+
       * Fixed typos & spelling errors.
         [perl# 81816]
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,9 @@
 #! perl -w
 
 use strict ;
-require 5.004 ;
+require 5.006 ;
 
-$::VERSION = '2.033' ;
+$::VERSION = '2.060' ;
 
 use private::MakeUtil;
 use ExtUtils::MakeMaker 5.16 ;
@@ -39,7 +39,9 @@
         : ()
     ),
 
-    INSTALLDIRS => ($] >= 5.009 ? 'perl' : 'site'),
+    INSTALLDIRS => ($] >= 5.009 && $] < 5.011 ? 'perl' : 'site'),
+
+    EXE_FILES => ['bin/zipdetails'],
     
     (
     $] >= 5.009 && $] <= 5.011001 && ! $ENV{PERL_CORE}
@@ -47,6 +49,12 @@
         : ()
     ),
 
+    META_MERGE => {
+        no_index => {
+            directory => [ 't', 'private' ],
+        },
+    },    
+
     ((ExtUtils::MakeMaker->VERSION() gt '6.30') ?
         ('LICENSE'  => 'perl')         : ()),    
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/README
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,11 @@
 
-                             IO-Compress
+                            IO-Compress
 
-                             Version 2.033
+                         Version 2.060
 
-                             11th January 2011
+                             7th January 2013
 
-       Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
+       Copyright (c) 1995-2013 Paul Marquess. All rights reserved.
           This program is free software; you can redistribute it
            and/or modify it under the same terms as Perl itself.
 
@@ -32,7 +32,7 @@
 Before you can build IO-Compress you need to have the following
 installed on your system:
 
-    * Perl 5.004 or better. 
+    * Perl 5.006 or better. 
     * Compress::Raw::Zlib
     * Compress::Raw::Bzip2
 
@@ -89,7 +89,7 @@
         If you haven't installed IO-Compress then search IO::Compress::Gzip.pm
         for a line like this:
 
-          $VERSION = "2.033" ;
+          $VERSION = "2.060" ;
 
  2. If you are having problems building IO-Compress, send me a
     complete log of what happened. Start by unpacking the IO-Compress


Property changes on: vendor/perl/dist/cpan/IO-Compress/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtdef
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtdef	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtdef	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtdef
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtinf
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtinf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtinf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/filtinf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzcat
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzcat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzcat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzcat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzgrep
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzgrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzgrep	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzgrep
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzstream
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzstream	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzstream	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/compress-zlib/gzstream
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/io/anycat
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/io/anycat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/io/anycat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/io/anycat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzcat
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzcat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzcat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzcat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzgrep
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzgrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzgrep	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzgrep
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzstream
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzstream	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzstream	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/io/bzip2/bzstream
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzappend
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzappend	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzappend	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzappend
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzcat
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzcat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzcat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzcat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzgrep
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzgrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzgrep	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzgrep
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzstream
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzstream	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzstream	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/examples/io/gzip/gzstream
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/Compress/Zlib.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/Compress/Zlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/Compress/Zlib.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,16 +1,16 @@
 
 package Compress::Zlib;
 
-require 5.004 ;
+require 5.006 ;
 require Exporter;
 use Carp ;
 use IO::Handle ;
 use Scalar::Util qw(dualvar);
 
-use IO::Compress::Base::Common 2.033 ;
-use Compress::Raw::Zlib 2.033 ;
-use IO::Compress::Gzip 2.033 ;
-use IO::Uncompress::Gunzip 2.033 ;
+use IO::Compress::Base::Common 2.060 ;
+use Compress::Raw::Zlib 2.060 ;
+use IO::Compress::Gzip 2.060 ;
+use IO::Uncompress::Gunzip 2.060 ;
 
 use strict ;
 use warnings ;
@@ -17,7 +17,7 @@
 use bytes ;
 our ($VERSION, $XS_VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $XS_VERSION = $VERSION; 
 $VERSION = eval $VERSION;
 
@@ -87,6 +87,7 @@
     _set_gzerr(@_);
     return undef;
 }
+
 sub _save_gzerr
 {
     my $gz = shift ;
@@ -93,9 +94,9 @@
     my $test_eof = shift ;
 
     my $value = $gz->errorNo() || 0 ;
+    my $eof = $gz->eof() ;
 
     if ($test_eof) {
-        #my $gz = $self->[0] ;
         # gzread uses Z_STREAM_END to denote a successful end
         $value = Z_STREAM_END() if $gz->eof() && $value == 0 ;
     }
@@ -162,13 +163,14 @@
 
     my $len = defined $_[1] ? $_[1] : 4096 ; 
 
+    my $gz = $self->[0] ;
     if ($self->gzeof() || $len == 0) {
         # Zap the output buffer to match ver 1 behaviour.
         $_[0] = "" ;
+        _save_gzerr($gz, 1);
         return 0 ;
     }
 
-    my $gz = $self->[0] ;
     my $status = $gz->read($_[0], $len) ; 
     _save_gzerr($gz, 1);
     return $status ;
@@ -313,7 +315,14 @@
 
     my $level = (@_ == 2 ? $_[1] : Z_DEFAULT_COMPRESSION() );
 
-    $x = new Compress::Raw::Zlib::Deflate -AppendOutput => 1, -Level => $level
+    $x = Compress::Raw::Zlib::_deflateInit(FLAG_APPEND,
+                                           $level,
+                                           Z_DEFLATED,
+                                           MAX_WBITS,
+                                           MAX_MEM_LEVEL,
+                                           Z_DEFAULT_STRATEGY,
+                                           4096,
+                                           '') 
             or return undef ;
 
     $err = $x->deflate($in, $output) ;
@@ -323,12 +332,11 @@
     return undef unless $err == Z_OK() ;
     
     return $output ;
-
 }
 
 sub uncompress($)
 {
-    my ($x, $output, $err, $in) =('', '', '', '') ;
+    my ($output, $in) =('', '') ;
 
     if (ref $_[0] ) {
         $in = $_[0] ;
@@ -339,34 +347,36 @@
     }
 
     $] >= 5.008 and (utf8::downgrade($$in, 1) 
-        or croak "Wide character in uncompress");
-
-    $x = new Compress::Raw::Zlib::Inflate -ConsumeInput => 0 or return undef ;
- 
-    $err = $x->inflate($in, $output) ;
-    return undef unless $err == Z_STREAM_END() ;
- 
-    return $output ;
+        or croak "Wide character in uncompress");    
+        
+    my ($obj, $status) = Compress::Raw::Zlib::_inflateInit(0,
+                                MAX_WBITS, 4096, "") ;   
+                                
+    $status == Z_OK 
+        or return undef;
+    
+    $obj->inflate($in, $output) == Z_STREAM_END 
+        or return undef;
+    
+    return $output;
 }
-
-
  
 sub deflateInit(@)
 {
     my ($got) = ParseParameters(0,
                 {
-                'Bufsize'       => [1, 1, Parse_unsigned, 4096],
-                'Level'         => [1, 1, Parse_signed,   Z_DEFAULT_COMPRESSION()],
-                'Method'        => [1, 1, Parse_unsigned, Z_DEFLATED()],
-                'WindowBits'    => [1, 1, Parse_signed,   MAX_WBITS()],
-                'MemLevel'      => [1, 1, Parse_unsigned, MAX_MEM_LEVEL()],
-                'Strategy'      => [1, 1, Parse_unsigned, Z_DEFAULT_STRATEGY()],
-                'Dictionary'    => [1, 1, Parse_any,      ""],
+                'bufsize'       => [IO::Compress::Base::Common::Parse_unsigned, 4096],
+                'level'         => [IO::Compress::Base::Common::Parse_signed,   Z_DEFAULT_COMPRESSION()],
+                'method'        => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFLATED()],
+                'windowbits'    => [IO::Compress::Base::Common::Parse_signed,   MAX_WBITS()],
+                'memlevel'      => [IO::Compress::Base::Common::Parse_unsigned, MAX_MEM_LEVEL()],
+                'strategy'      => [IO::Compress::Base::Common::Parse_unsigned, Z_DEFAULT_STRATEGY()],
+                'dictionary'    => [IO::Compress::Base::Common::Parse_any,      ""],
                 }, @_ ) ;
 
     croak "Compress::Zlib::deflateInit: Bufsize must be >= 1, you specified " . 
-            $got->value('Bufsize')
-        unless $got->value('Bufsize') >= 1;
+            $got->getValue('bufsize')
+        unless $got->getValue('bufsize') >= 1;
 
     my $obj ;
  
@@ -373,13 +383,13 @@
     my $status = 0 ;
     ($obj, $status) = 
       Compress::Raw::Zlib::_deflateInit(0,
-                $got->value('Level'), 
-                $got->value('Method'), 
-                $got->value('WindowBits'), 
-                $got->value('MemLevel'), 
-                $got->value('Strategy'), 
-                $got->value('Bufsize'),
-                $got->value('Dictionary')) ;
+                $got->getValue('level'), 
+                $got->getValue('method'), 
+                $got->getValue('windowbits'), 
+                $got->getValue('memlevel'), 
+                $got->getValue('strategy'), 
+                $got->getValue('bufsize'),
+                $got->getValue('dictionary')) ;
 
     my $x = ($status == Z_OK() ? bless $obj, "Zlib::OldDeflate"  : undef) ;
     return wantarray ? ($x, $status) : $x ;
@@ -389,22 +399,22 @@
 {
     my ($got) = ParseParameters(0,
                 {
-                'Bufsize'       => [1, 1, Parse_unsigned, 4096],
-                'WindowBits'    => [1, 1, Parse_signed,   MAX_WBITS()],
-                'Dictionary'    => [1, 1, Parse_any,      ""],
+                'bufsize'       => [IO::Compress::Base::Common::Parse_unsigned, 4096],
+                'windowbits'    => [IO::Compress::Base::Common::Parse_signed,   MAX_WBITS()],
+                'dictionary'    => [IO::Compress::Base::Common::Parse_any,      ""],
                 }, @_) ;
 
 
     croak "Compress::Zlib::inflateInit: Bufsize must be >= 1, you specified " . 
-            $got->value('Bufsize')
-        unless $got->value('Bufsize') >= 1;
+            $got->getValue('bufsize')
+        unless $got->getValue('bufsize') >= 1;
 
     my $status = 0 ;
     my $obj ;
     ($obj, $status) = Compress::Raw::Zlib::_inflateInit(FLAG_CONSUME_INPUT,
-                                $got->value('WindowBits'), 
-                                $got->value('Bufsize'), 
-                                $got->value('Dictionary')) ;
+                                $got->getValue('windowbits'), 
+                                $got->getValue('bufsize'), 
+                                $got->getValue('dictionary')) ;
 
     my $x = ($status == Z_OK() ? bless $obj, "Zlib::OldInflate"  : undef) ;
 
@@ -451,28 +461,42 @@
 
 package Compress::Zlib ;
 
-use IO::Compress::Gzip::Constants 2.033 ;
+use IO::Compress::Gzip::Constants 2.060 ;
 
 sub memGzip($)
 {
-  my $out;
+    _set_gzerr(0);
+    my $x = Compress::Raw::Zlib::_deflateInit(FLAG_APPEND|FLAG_CRC,
+                                           Z_BEST_COMPRESSION,
+                                           Z_DEFLATED,
+                                           -MAX_WBITS(),
+                                           MAX_MEM_LEVEL,
+                                           Z_DEFAULT_STRATEGY,
+                                           4096,
+                                           '') 
+            or return undef ;
+ 
+    # if the deflation buffer isn't a reference, make it one
+    my $string = (ref $_[0] ? $_[0] : \$_[0]) ;
 
-  # if the deflation buffer isn't a reference, make it one
-  my $string = (ref $_[0] ? $_[0] : \$_[0]) ;
+    $] >= 5.008 and (utf8::downgrade($$string, 1) 
+        or croak "Wide character in memGzip");
 
-  $] >= 5.008 and (utf8::downgrade($$string, 1) 
-      or croak "Wide character in memGzip");
+    my $out;
+    my $status ;
 
-  _set_gzerr(0);
-  if ( ! IO::Compress::Gzip::gzip($string, \$out, Minimal => 1) )
-  {
-      $Compress::Zlib::gzerrno = $IO::Compress::Gzip::GzipError;
-      return undef ;
-  }
-
-  return $out;
+    $x->deflate($string, $out) == Z_OK
+        or return undef ;
+ 
+    $x->flush($out) == Z_OK
+        or return undef ;
+ 
+    return IO::Compress::Gzip::Constants::GZIP_MINIMUM_HEADER . 
+           $out . 
+           pack("V V", $x->crc32(), $x->total_in());
 }
 
+
 sub _removeGzipHeader($)
 {
     my $string = shift ;
@@ -553,12 +577,11 @@
         or return _set_gzerr_undef($status);
      
     my $bufsize = length $$string > 4096 ? length $$string : 4096 ;
-    my $x = new Compress::Raw::Zlib::Inflate({-WindowBits => - MAX_WBITS(),
-                         -Bufsize => $bufsize}) 
-
+    my $x = Compress::Raw::Zlib::_inflateInit(FLAG_CRC | FLAG_CONSUME_INPUT,
+                                -MAX_WBITS(), $bufsize, '') 
               or return _ret_gun_error();
 
-    my $output = "" ;
+    my $output = '' ;
     $status = $x->inflate($string, $output);
     
     if ( $status == Z_OK() )
@@ -576,7 +599,7 @@
         substr($$string, 0, 8) = '';
         return _set_gzerr_undef(Z_DATA_ERROR())
             unless $len == length($output) and
-                   $crc == crc32($output);
+                   $crc == Compress::Raw::Zlib::crc32($output);
     }
     else
     {
@@ -698,7 +721,7 @@
 
 =item 1
 
-If you want to to open either STDIN or STDOUT with C<gzopen>, you can now
+If you want to open either STDIN or STDOUT with C<gzopen>, you can now
 optionally use the special filename "C<->" as a synonym for C<\*STDIN> and
 C<\*STDOUT>.
 
@@ -1447,7 +1470,7 @@
 
 L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1476,7 +1499,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
+Copyright (c) 1995-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/Compress/Zlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/lib/File/GlobMapper.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/File/GlobMapper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/File/GlobMapper.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/File/GlobMapper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,12 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.033 qw(:Status);
+use IO::Compress::Base::Common  2.060 qw(:Status);
 
-#use Compress::Bzip2 ;
-use Compress::Raw::Bzip2  2.033 ;
+use Compress::Raw::Bzip2  2.060 ;
 
 our ($VERSION);
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 sub mkCompObject
 {
@@ -18,11 +17,12 @@
     my $WorkFactor = shift ;
     my $Verbosity  = shift ;
 
+    $BlockSize100K = 1 if ! defined $BlockSize100K ;
+    $WorkFactor    = 0 if ! defined $WorkFactor ;
+    $Verbosity     = 0 if ! defined $Verbosity ;
+
     my ($def, $status) = new Compress::Raw::Bzip2(1, $BlockSize100K,
                                                  $WorkFactor, $Verbosity);
-    #my ($def, $status) = bzdeflateInit();
-                        #-BlockSize100K => $params->value('BlockSize100K'),
-                        #-WorkFactor    => $params->value('WorkFactor');
 
     return (undef, "Could not create Deflate object: $status", $status)
         if $status != BZ_OK ;
@@ -39,7 +39,6 @@
 
     my $def   = $self->{Def};
 
-    #my ($out, $status) = $def->bzdeflate(defined ${$_[0]} ? ${$_[0]} : "") ;
     my $status = $def->bzdeflate($_[0], $_[1]) ;
     $self->{ErrorNo} = $status;
 
@@ -49,8 +48,6 @@
         return STATUS_ERROR;
     }
 
-    #${ $_[1] } .= $out if defined $out;
-
     return STATUS_OK;    
 }
 
@@ -60,8 +57,6 @@
 
     my $def   = $self->{Def};
 
-    #my ($out, $status) = $def->bzflush($opt);
-    #my $status = $def->bzflush($_[0], $opt);
     my $status = $def->bzflush($_[0]);
     $self->{ErrorNo} = $status;
 
@@ -71,7 +66,6 @@
         return STATUS_ERROR;
     }
 
-    #${ $_[0] } .= $out if defined $out ;
     return STATUS_OK;    
     
 }
@@ -82,7 +76,6 @@
 
     my $def   = $self->{Def};
 
-    #my ($out, $status) = $def->bzclose();
     my $status = $def->bzclose($_[0]);
     $self->{ErrorNo} = $status;
 
@@ -92,7 +85,6 @@
         return STATUS_ERROR;
     }
 
-    #${ $_[0] } .= $out if defined $out ;
     return STATUS_OK;    
     
 }


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,19 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.033 qw(:Status);
+use IO::Compress::Base::Common 2.060 qw(:Status);
+use Compress::Raw::Zlib  2.060 qw( !crc32 !adler32 ) ;
+                                  
+require Exporter;                                     
+our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, @EXPORT, %DEFLATE_CONSTANTS);
 
-use Compress::Raw::Zlib  2.033 qw(Z_OK Z_FINISH MAX_WBITS) ;
-our ($VERSION);
+$VERSION = '2.060';
+ at ISA = qw(Exporter);
+ at EXPORT_OK = @Compress::Raw::Zlib::DEFLATE_CONSTANTS;
+%EXPORT_TAGS = %Compress::Raw::Zlib::DEFLATE_CONSTANTS;
+ at EXPORT = @EXPORT_OK;
+%DEFLATE_CONSTANTS = %EXPORT_TAGS ;
 
-$VERSION = '2.033';
-
 sub mkCompObject
 {
     my $crc32    = shift ;
@@ -68,8 +74,7 @@
         return STATUS_ERROR;
     }
 
-    return STATUS_OK;    
-    
+    return STATUS_OK;        
 }
 
 sub close


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,10 +4,10 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.033 qw(:Status);
+use IO::Compress::Base::Common  2.060 qw(:Status);
 our ($VERSION);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 sub mkCompObject
 {


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,15 +11,19 @@
 require Exporter;
 our ($VERSION, @ISA, @EXPORT, %EXPORT_TAGS, $HAS_ENCODE);
 @ISA = qw(Exporter);
-$VERSION = '2.033';
+$VERSION = '2.060';
 
- at EXPORT = qw( isaFilehandle isaFilename whatIsInput whatIsOutput 
+ at EXPORT = qw( isaFilehandle isaFilename isaScalar
+              whatIsInput whatIsOutput 
               isaFileGlobString cleanFileGlobString oneTarget
               setBinModeInput setBinModeOutput
               ckInOutParams 
               createSelfTiedObject
-              getEncoding
+              
+              isGeMax32
 
+              MAX32
+
               WANT_CODE
               WANT_EXT
               WANT_UNDEF
@@ -42,7 +46,16 @@
 use constant STATUS_ENDSTREAM => 1;
 use constant STATUS_EOF       => 2;
 use constant STATUS_ERROR     => -1;
+use constant MAX16            => 0xFFFF ;  
+use constant MAX32            => 0xFFFFFFFF ;  
+use constant MAX32cmp         => 0xFFFFFFFF + 1 - 1; # for 5.6.x on 32-bit need to force an non-IV value 
           
+
+sub isGeMax32
+{
+    return $_[0] >= MAX32cmp ;
+}
+
 sub hasEncode()
 {
     if (! defined $HAS_ENCODE) {
@@ -92,7 +105,7 @@
 {
     my $handle = shift ;
 
-    binmode $handle 
+    binmode $handle
         if  $needBinmode;
 }
 
@@ -106,6 +119,11 @@
           )
 }
 
+sub isaScalar
+{
+    return ( defined($_[0]) and ref($_[0]) eq 'SCALAR' and defined ${ $_[0] } ) ;
+}
+
 sub isaFilename($)
 {
     return (defined $_[0] and 
@@ -358,10 +376,10 @@
             return $self->saveErrorString("input file '$filename' is a directory");
         }
 
-        if (! -r _ )
-        {
-            return $self->saveErrorString("cannot open file '$filename': $!");
-        }
+#        if (! -r _ )
+#        {
+#            return $self->saveErrorString("cannot open file '$filename': $!");
+#        }
     }
 
     return 1 ;
@@ -451,8 +469,9 @@
 
 $EXPORT_TAGS{Parse} = [qw( ParseParameters 
                            Parse_any Parse_unsigned Parse_signed 
-                           Parse_boolean Parse_custom Parse_string
-                           Parse_multiple Parse_writable_scalar
+                           Parse_boolean Parse_string
+                           Parse_code
+                           Parse_writable_scalar
                          )
                       ];              
 
@@ -463,10 +482,10 @@
 use constant Parse_signed   => 0x04;
 use constant Parse_boolean  => 0x08;
 use constant Parse_string   => 0x10;
-use constant Parse_custom   => 0x12;
+use constant Parse_code     => 0x20;
 
 #use constant Parse_store_ref        => 0x100 ;
-use constant Parse_multiple         => 0x100 ;
+#use constant Parse_multiple         => 0x100 ;
 use constant Parse_writable         => 0x200 ;
 use constant Parse_writable_scalar  => 0x400 | Parse_writable ;
 
@@ -474,11 +493,12 @@
 use constant OFF_TYPE       => 1 ;
 use constant OFF_DEFAULT    => 2 ;
 use constant OFF_FIXED      => 3 ;
-use constant OFF_FIRST_ONLY => 4 ;
-use constant OFF_STICKY     => 5 ;
+#use constant OFF_FIRST_ONLY => 4 ;
+#use constant OFF_STICKY     => 5 ;
 
+use constant IxError => 0;
+use constant IxGot   => 1 ;
 
-
 sub ParseParameters
 {
     my $level = shift || 0 ; 
@@ -491,26 +511,60 @@
     
     my $p = new IO::Compress::Base::Parameters() ;            
     $p->parse(@_)
-        or croak "$sub: $p->{Error}" ;
+        or croak "$sub: $p->[IxError]" ;
 
     return $p;
 }
 
-#package IO::Compress::Base::Parameters;
 
 use strict;
+
 use warnings;
 use Carp;
 
+
+sub Init
+{
+    my $default = shift ;
+    my %got ;
+    
+    my $obj = IO::Compress::Base::Parameters::new();
+    while (my ($key, $v) = each %$default)
+    {
+        croak "need 2 params [@$v]"
+            if @$v != 2 ;
+
+        my ($type, $value) = @$v ;
+#        my ($first_only, $sticky, $type, $value) = @$v ;
+        my $sticky = 0;
+        my $x ;
+        $obj->_checkType($key, \$value, $type, 0, \$x) 
+            or return undef ;
+
+        $key = lc $key;
+
+#        if (! $sticky) {
+#            $x = []
+#                if $type & Parse_multiple;
+
+#            $got{$key} = [0, $type, $value, $x, $first_only, $sticky] ;
+            $got{$key} = [0, $type, $value, $x] ;            
+#        }
+#
+#        $got{$key}[OFF_PARSED] = 0 ;
+    }
+    
+    return bless \%got, "IO::Compress::Base::Parameters::Defaults" ;
+}
+
 sub IO::Compress::Base::Parameters::new
 {
-    my $class = shift ;
+    #my $class = shift ;
 
-    my $obj = { Error => '',
-                Got   => {},
-              } ;
+    my $obj;
+    $obj->[IxError] = '';
+    $obj->[IxGot] = {} ;          
 
-    #return bless $obj, ref($class) || $class || __PACKAGE__ ;
     return bless $obj, 'IO::Compress::Base::Parameters' ;
 }
 
@@ -520,25 +574,24 @@
     my $error = shift ;
     my $retval = @_ ? shift : undef ;
 
-    $self->{Error} = $error ;
+
+    $self->[IxError] = $error ;
     return $retval;
 }
           
-#sub getError
-#{
-#    my $self = shift ;
-#    return $self->{Error} ;
-#}
+sub IO::Compress::Base::Parameters::getError
+{
+    my $self = shift ;
+    return $self->[IxError] ;
+}
           
 sub IO::Compress::Base::Parameters::parse
 {
     my $self = shift ;
-
     my $default = shift ;
 
-    my $got = $self->{Got} ;
+    my $got = $self->[IxGot] ;
     my $firstTime = keys %{ $got } == 0 ;
-    my $other;
 
     my (@Bad) ;
     my @entered = () ;
@@ -560,63 +613,35 @@
         }
     }
     else {
+       
         my $count = @_;
         return $self->setError("Expected even number of parameters, got $count")
             if $count % 2 != 0 ;
         
         for my $i (0.. $count / 2 - 1) {
-            if ($_[2 * $i] eq '__xxx__') {
-                $other = $_[2 * $i + 1] ;
-            }
-            else {
-                push @entered, $_[2 * $i] ;
-                push @entered, \$_[2 * $i + 1] ;
-            }
+            push @entered, $_[2 * $i] ;
+            push @entered, \$_[2 * $i + 1] ;
         }
     }
 
-
-    while (my ($key, $v) = each %$default)
-    {
-        croak "need 4 params [@$v]"
-            if @$v != 4 ;
-
-        my ($first_only, $sticky, $type, $value) = @$v ;
-        my $x ;
-        $self->_checkType($key, \$value, $type, 0, \$x) 
-            or return undef ;
-
-        $key = lc $key;
-
-        if ($firstTime || ! $sticky) {
-            $x = []
-                if $type & Parse_multiple;
-
-            $got->{$key} = [0, $type, $value, $x, $first_only, $sticky] ;
+        foreach my $key (keys %$default)
+        {
+    
+            my ($type, $value) = @{ $default->{$key} } ;
+  
+            if ($firstTime) {   
+                $got->{$key} = [0, $type, $value, $value] ;               
+            }
+            else
+            {
+                $got->{$key}[OFF_PARSED] = 0 ;      
+            }               
         }
 
-        $got->{$key}[OFF_PARSED] = 0 ;
-    }
 
     my %parsed = ();
     
-    if ($other) 
-    {
-        for my $key (keys %$default)  
-        {
-            my $canonkey = lc $key;
-            if ($other->parsed($canonkey))
-            {
-                my $value = $other->value($canonkey);
-#print "SET '$canonkey' to $value [$$value]\n";
-                ++ $parsed{$canonkey};
-                $got->{$canonkey}[OFF_PARSED]  = 1;
-                $got->{$canonkey}[OFF_DEFAULT] = $value;
-                $got->{$canonkey}[OFF_FIXED]   = $value;
-            }
-        }
-    }
-    
+   
     for my $i (0.. @entered / 2 - 1) {
         my $key = $entered[2* $i] ;
         my $value = $entered[2* $i+1] ;
@@ -627,8 +652,7 @@
         $key =~ s/^-// ;
         my $canonkey = lc $key;
  
-        if ($got->{$canonkey} && ($firstTime ||
-                                  ! $got->{$canonkey}[OFF_FIRST_ONLY]  ))
+        if ($got->{$canonkey})                                  
         {
             my $type = $got->{$canonkey}[OFF_TYPE] ;
             my $parsed = $parsed{$canonkey};
@@ -635,7 +659,7 @@
             ++ $parsed{$canonkey};
 
             return $self->setError("Muliple instances of '$key' found") 
-                if $parsed && ($type & Parse_multiple) == 0 ;
+                if $parsed ; 
 
             my $s ;
             $self->_checkType($key, $value, $type, 1, \$s)
@@ -642,13 +666,8 @@
                 or return undef ;
 
             $value = $$value ;
-            if ($type & Parse_multiple) {
-                $got->{$canonkey}[OFF_PARSED] = 1;
-                push @{ $got->{$canonkey}[OFF_FIXED] }, $s ;
-            }
-            else {
-                $got->{$canonkey} = [1, $type, $value, $s] ;
-            }
+            $got->{$canonkey} = [1, $type, $value, $s] ;
+
         }
         else
           { push (@Bad, $key) }
@@ -678,12 +697,12 @@
     if ($type & Parse_writable_scalar)
     {
         return $self->setError("Parameter '$key' not writable")
-            if $validate &&  readonly $$value ;
+            if  readonly $$value ;
 
         if (ref $$value) 
         {
             return $self->setError("Parameter '$key' not a scalar reference")
-                if $validate &&  ref $$value ne 'SCALAR' ;
+                if ref $$value ne 'SCALAR' ;
 
             $$output = $$value ;
         }
@@ -690,7 +709,7 @@
         else  
         {
             return $self->setError("Parameter '$key' not a scalar")
-                if $validate &&  ref $value ne 'SCALAR' ;
+                if ref $value ne 'SCALAR' ;
 
             $$output = $value ;
         }
@@ -698,14 +717,6 @@
         return 1;
     }
 
-#    if ($type & Parse_store_ref)
-#    {
-#        #$value = $$value
-#        #    if ref ${ $value } ;
-#
-#        $$output = $value ;
-#        return 1;
-#    }
 
     $value = $$value ;
 
@@ -716,11 +727,12 @@
     }
     elsif ($type & Parse_unsigned)
     {
+     
         return $self->setError("Parameter '$key' must be an unsigned int, got 'undef'")
-            if $validate && ! defined $value ;
+            if ! defined $value ;
         return $self->setError("Parameter '$key' must be an unsigned int, got '$value'")
-            if $validate && $value !~ /^\d+$/;
-
+            if $value !~ /^\d+$/;
+    
         $$output = defined $value ? $value : 0 ;    
         return 1;
     }
@@ -727,9 +739,9 @@
     elsif ($type & Parse_signed)
     {
         return $self->setError("Parameter '$key' must be a signed int, got 'undef'")
-            if $validate && ! defined $value ;
+            if ! defined $value ;
         return $self->setError("Parameter '$key' must be a signed int, got '$value'")
-            if $validate && $value !~ /^-?\d+$/;
+            if $value !~ /^-?\d+$/;
 
         $$output = defined $value ? $value : 0 ;    
         return 1 ;
@@ -737,43 +749,50 @@
     elsif ($type & Parse_boolean)
     {
         return $self->setError("Parameter '$key' must be an int, got '$value'")
-            if $validate && defined $value && $value !~ /^\d*$/;
-        $$output =  defined $value ? $value != 0 : 0 ;    
+            if defined $value && $value !~ /^\d*$/;
+
+        $$output =  defined $value && $value != 0 ? 1 : 0 ;    
         return 1;
     }
+
     elsif ($type & Parse_string)
     {
         $$output = defined $value ? $value : "" ;    
         return 1;
     }
+    elsif ($type & Parse_code)
+    {
+        return $self->setError("Parameter '$key' must be a code reference, got '$value'")
+            if (! defined $value || ref $value ne 'CODE') ;
 
+        $$output = defined $value ? $value : "" ;    
+        return 1;
+    }
+    
     $$output = $value ;
     return 1;
 }
 
+sub IO::Compress::Base::Parameters::parsed
+{
+    return $_[0]->[IxGot]{$_[1]}[OFF_PARSED] ;
+}
 
 
-sub IO::Compress::Base::Parameters::parsed
+sub IO::Compress::Base::Parameters::getValue
 {
-    my $self = shift ;
-    my $name = shift ;
-
-    return $self->{Got}{lc $name}[OFF_PARSED] ;
+    return  $_[0]->[IxGot]{$_[1]}[OFF_FIXED] ;
 }
+sub IO::Compress::Base::Parameters::setValue
+{
+    $_[0]->[IxGot]{$_[1]}[OFF_PARSED]  = 1;
+    $_[0]->[IxGot]{$_[1]}[OFF_DEFAULT] = $_[2] ;
+    $_[0]->[IxGot]{$_[1]}[OFF_FIXED]   = $_[2] ;            
+}
 
-sub IO::Compress::Base::Parameters::value
+sub IO::Compress::Base::Parameters::valueRef
 {
-    my $self = shift ;
-    my $name = shift ;
-
-    if (@_)
-    {
-        $self->{Got}{lc $name}[OFF_PARSED]  = 1;
-        $self->{Got}{lc $name}[OFF_DEFAULT] = $_[0] ;
-        $self->{Got}{lc $name}[OFF_FIXED]   = $_[0] ;
-    }
-
-    return $self->{Got}{lc $name}[OFF_FIXED] ;
+    return  $_[0]->[IxGot]{$_[1]}[OFF_FIXED]  ;
 }
 
 sub IO::Compress::Base::Parameters::valueOrDefault
@@ -782,8 +801,8 @@
     my $name = shift ;
     my $default = shift ;
 
-    my $value = $self->{Got}{lc $name}[OFF_DEFAULT] ;
-
+    my $value = $self->[IxGot]{$name}[OFF_DEFAULT] ;
+    
     return $value if defined $value ;
     return $default ;
 }
@@ -790,25 +809,23 @@
 
 sub IO::Compress::Base::Parameters::wantValue
 {
-    my $self = shift ;
-    my $name = shift ;
-
-    return defined $self->{Got}{lc $name}[OFF_DEFAULT] ;
-
+    return defined $_[0]->[IxGot]{$_[1]}[OFF_DEFAULT] ;
 }
 
 sub IO::Compress::Base::Parameters::clone
 {
     my $self = shift ;
-    my $obj = { };
+    my $obj = [] ;
     my %got ;
 
-    while (my ($k, $v) = each %{ $self->{Got} }) {
-        $got{$k} = [ @$v ];
+    my $hash = $self->[IxGot] ;
+    for my $k (keys %{ $hash })
+    {
+        $got{$k} = [ @{ $hash->{$k} } ];
     }
 
-    $obj->{Error} = $self->{Error};
-    $obj->{Got} = \%got ;
+    $obj->[IxError] = $self->[IxError];
+    $obj->[IxGot] = \%got ;
 
     return bless $obj, 'IO::Compress::Base::Parameters' ;
 }
@@ -822,27 +839,19 @@
 
 sub new
 {
-    my $class = shift ;
-
-    my $high = 0 ;
-    my $low  = 0 ;
-
-    if (@_ == 2) {
-        $high = shift ;
-        $low  = shift ;
-    }
-    elsif (@_ == 1) {
-        $low  = shift ;
-    }
-
-    bless [$low, $high], $class;
+    return bless [ 0, 0 ], $_[0]
+        if @_ == 1 ;
+        
+    return bless [ $_[1], 0 ], $_[0]
+        if @_ == 2 ;
+        
+    return bless [ $_[2], $_[1] ], $_[0]      
+        if @_ == 3 ;  
 }
 
 sub newUnpack_V64
 {
-    my $string = shift;
-
-    my ($low, $hi) = unpack "V V", $string ;
+    my ($low, $hi) = unpack "V V", $_[0] ;
     bless [ $low, $hi ], "U64";
 }
 
@@ -856,62 +865,107 @@
 
 sub reset
 {
-    my $self = shift;
-    $self->[HIGH] = $self->[LOW] = 0;
+    $_[0]->[HIGH] = $_[0]->[LOW] = 0;
 }
 
 sub clone
 {
-    my $self = shift;
-    bless [ @$self ], ref $self ;
+    bless [ @{$_[0]}  ], ref $_[0] ;    
 }
 
 sub getHigh
 {
-    my $self = shift;
-    return $self->[HIGH];
+    return $_[0]->[HIGH];
 }
 
 sub getLow
 {
-    my $self = shift;
-    return $self->[LOW];
+    return $_[0]->[LOW];
 }
 
 sub get32bit
 {
-    my $self = shift;
-    return $self->[LOW];
+    return $_[0]->[LOW];
 }
 
 sub get64bit
 {
-    my $self = shift;
     # Not using << here because the result will still be
     # a 32-bit value on systems where int size is 32-bits
-    return $self->[HIGH] * HI_1 + $self->[LOW];
+    return $_[0]->[HIGH] * HI_1 + $_[0]->[LOW];
 }
 
 sub add
 {
-    my $self = shift;
-    my $value = shift;
+#    my $self = shift;
+    my $value = $_[1];
 
     if (ref $value eq 'U64') {
-        $self->[HIGH] += $value->[HIGH] ;
+        $_[0]->[HIGH] += $value->[HIGH] ;
         $value = $value->[LOW];
     }
+    elsif ($value > MAX32) {      
+        $_[0]->[HIGH] += int($value / HI_1) ;
+        $value = $value % HI_1;
+    }
      
-    my $available = MAX32 - $self->[LOW] ;
+    my $available = MAX32 - $_[0]->[LOW] ;
+ 
+    if ($value > $available) {
+       ++ $_[0]->[HIGH] ;
+       $_[0]->[LOW] = $value - $available - 1;
+    }
+    else {
+       $_[0]->[LOW] += $value ;
+    }
+}
 
+sub add32
+{
+#    my $self = shift;
+    my $value = $_[1];
+
+    if ($value > MAX32) {      
+        $_[0]->[HIGH] += int($value / HI_1) ;
+        $value = $value % HI_1;
+    }
+     
+    my $available = MAX32 - $_[0]->[LOW] ;
+ 
     if ($value > $available) {
-       ++ $self->[HIGH] ;
-       $self->[LOW] = $value - $available - 1;
+       ++ $_[0]->[HIGH] ;
+       $_[0]->[LOW] = $value - $available - 1;
     }
     else {
-       $self->[LOW] += $value ;
+       $_[0]->[LOW] += $value ;
     }
+}
 
+sub subtract
+{
+    my $self = shift;
+    my $value = shift;
+
+    if (ref $value eq 'U64') {
+
+        if ($value->[HIGH]) {
+            die "bad"
+                if $self->[HIGH] == 0 ||
+                   $value->[HIGH] > $self->[HIGH] ;
+
+           $self->[HIGH] -= $value->[HIGH] ;
+        }
+
+        $value = $value->[LOW] ;
+    }
+
+    if ($value > $self->[LOW]) {
+       -- $self->[HIGH] ;
+       $self->[LOW] = MAX32 - $value + $self->[LOW] + 1 ;
+    }
+    else {
+       $self->[LOW] -= $value;
+    }
 }
 
 sub equal
@@ -923,34 +977,69 @@
            $self->[HIGH] == $other->[HIGH] ;
 }
 
-sub is64bit
+sub gt
 {
     my $self = shift;
-    return $self->[HIGH] > 0 ;
+    my $other = shift;
+
+    return $self->cmp($other) > 0 ;
 }
 
-sub getPacked_V64
+sub cmp
 {
     my $self = shift;
+    my $other = shift ;
 
-    return pack "V V", @$self ;
+    if ($self->[LOW] == $other->[LOW]) {
+        return $self->[HIGH] - $other->[HIGH] ;
+    }
+    else {
+        return $self->[LOW] - $other->[LOW] ;
+    }
 }
+    
 
-sub getPacked_V32
+sub is64bit
 {
-    my $self = shift;
+    return $_[0]->[HIGH] > 0 ;
+}
 
-    return pack "V", $self->[LOW] ;
+sub isAlmost64bit
+{
+    return $_[0]->[HIGH] > 0 ||  $_[0]->[LOW] == MAX32 ;
 }
 
+sub getPacked_V64
+{
+    return pack "V V", @{ $_[0] } ;
+}
+
+sub getPacked_V32
+{
+    return pack "V", $_[0]->[LOW] ;
+}
+
 sub pack_V64
 {
-    my $low  = shift;
+    return pack "V V", $_[0], 0;
+}
 
-    return pack "V V", $low, 0;
+
+sub full32 
+{
+    return $_[0] == MAX32 ;
 }
 
+sub Value_VV64
+{
+    my $buffer = shift;
 
+    my ($lo, $hi) = unpack ("V V" , $buffer);
+    no warnings 'uninitialized';
+    return $hi * HI_1 + $lo;
+}
+
+
 package IO::Compress::Base::Common;
 
 1;


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base/Common.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,26 +1,26 @@
 
 package IO::Compress::Base ;
 
-require 5.004 ;
+require 5.006 ;
 
 use strict ;
 use warnings;
 
-use IO::Compress::Base::Common 2.033 ;
+use IO::Compress::Base::Common 2.060 ;
 
-use IO::File ;
-use Scalar::Util qw(blessed readonly);
+use IO::File (); ;
+use Scalar::Util ();
 
 #use File::Glob;
 #require Exporter ;
-use Carp ;
-use Symbol;
-use bytes;
+use Carp() ;
+use Symbol();
+#use bytes;
 
 our (@ISA, $VERSION);
 @ISA    = qw(Exporter IO::File);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 #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.
 
@@ -48,7 +48,7 @@
 {
     my $self   = shift ;
     $self->saveErrorString(0, $_[0]);
-    croak $_[0];
+    Carp::croak $_[0];
 }
 
 sub closeError
@@ -92,11 +92,11 @@
         my $here = tell(*$self->{FH});
         return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) 
             if $here < 0 ;
-        seek(*$self->{FH}, $offset, SEEK_SET)
+        seek(*$self->{FH}, $offset, IO::Handle::SEEK_SET)
             or return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
         defined *$self->{FH}->write($data, length $data)
             or return $self->saveErrorString(undef, $!, $!) ;
-        seek(*$self->{FH}, $here, SEEK_SET)
+        seek(*$self->{FH}, $here, IO::Handle::SEEK_SET)
             or return $self->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
     }
     else {
@@ -106,6 +106,14 @@
     return 1;
 }
 
+sub outputPayload
+{
+
+    my $self = shift ;
+    return $self->output(@_);
+}
+
+
 sub output
 {
     my $self = shift ;
@@ -115,9 +123,9 @@
     return 1 
         if length $data == 0 && ! $last ;
 
-    if ( *$self->{FilterEnvelope} ) {
+    if ( *$self->{FilterContainer} ) {
         *_ = \$data;
-        &{ *$self->{FilterEnvelope} }();
+        &{ *$self->{FilterContainer} }();
     }
 
     if (length $data) {
@@ -135,10 +143,21 @@
 
 sub getOneShotParams
 {
-    return ( 'MultiStream' => [1, 1, Parse_boolean,   1],
+    return ( 'multistream' => [IO::Compress::Base::Common::Parse_boolean,   1],
            );
 }
 
+our %PARAMS = (
+            # Generic Parameters
+            'autoclose' => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'encode'    => [IO::Compress::Base::Common::Parse_any,       undef],
+            'strict'    => [IO::Compress::Base::Common::Parse_boolean,   1],
+            'append'    => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'binmodein' => [IO::Compress::Base::Common::Parse_boolean,   0],
+
+            'filtercontainer' => [IO::Compress::Base::Common::Parse_code,  undef],
+        );
+        
 sub checkParams
 {
     my $self = shift ;
@@ -148,20 +167,14 @@
 
     $got->parse(
         {
-            # Generic Parameters
-            'AutoClose' => [1, 1, Parse_boolean,   0],
-            #'Encode'    => [1, 1, Parse_any,       undef],
-            'Strict'    => [0, 1, Parse_boolean,   1],
-            'Append'    => [1, 1, Parse_boolean,   0],
-            'BinModeIn' => [1, 1, Parse_boolean,   0],
+            %PARAMS,
 
-            'FilterEnvelope' => [1, 1, Parse_any,   undef],
 
             $self->getExtraParams(),
             *$self->{OneShot} ? $self->getOneShotParams() 
                               : (),
         }, 
-        @_) or $self->croakError("${class}: $got->{Error}")  ;
+        @_) or $self->croakError("${class}: " . $got->getError())  ;
 
     return $got ;
 }
@@ -187,9 +200,9 @@
             or return undef ;
     }
 
-    my $lax = ! $got->value('Strict') ;
+    my $lax = ! $got->getValue('strict') ;
 
-    my $outType = whatIsOutput($outValue);
+    my $outType = IO::Compress::Base::Common::whatIsOutput($outValue);
 
     $obj->ckOutputParam($class, $outValue)
         or return undef ;
@@ -203,10 +216,10 @@
     }
 
     # Merge implies Append
-    my $merge = $got->value('Merge') ;
-    my $appendOutput = $got->value('Append') || $merge ;
+    my $merge = $got->getValue('merge') ;
+    my $appendOutput = $got->getValue('append') || $merge ;
     *$obj->{Append} = $appendOutput;
-    *$obj->{FilterEnvelope} = $got->value('FilterEnvelope') ;
+    *$obj->{FilterContainer} = $got->getValue('filtercontainer') ;
 
     if ($merge)
     {
@@ -221,17 +234,18 @@
     #if ($outType eq 'filename' && -e $outValue && ! -w _)
     #  { return $obj->saveErrorString(undef, "Output file '$outValue' is not writable" ) }
 
-
-
-    if ($got->parsed('Encode')) { 
-        my $want_encoding = $got->value('Encode');
-        *$obj->{Encoding} = getEncoding($obj, $class, $want_encoding);
-    }
-
     $obj->ckParams($got)
         or $obj->croakError("${class}: " . $obj->error());
 
-
+    if ($got->getValue('encode')) { 
+        my $want_encoding = $got->getValue('encode');
+        *$obj->{Encoding} = IO::Compress::Base::Common::getEncoding($obj, $class, $want_encoding);
+        my $x = *$obj->{Encoding}; 
+    }
+    else {
+        *$obj->{Encoding} = undef; 
+    }
+    
     $obj->saveStatus(STATUS_OK) ;
 
     my $status ;
@@ -251,11 +265,11 @@
             if ($outType eq 'handle') {
                 *$obj->{FH} = $outValue ;
                 setBinModeOutput(*$obj->{FH}) ;
-                $outValue->flush() ;
+                #$outValue->flush() ;
                 *$obj->{Handle} = 1 ;
                 if ($appendOutput)
                 {
-                    seek(*$obj->{FH}, 0, SEEK_END)
+                    seek(*$obj->{FH}, 0, IO::Handle::SEEK_END)
                         or return $obj->saveErrorString(undef, "Cannot seek to end of output filehandle: $!", $!) ;
 
                 }
@@ -275,6 +289,7 @@
         *$obj->{Header} = $obj->mkHeader($got) ;
         $obj->output( *$obj->{Header} )
             or return undef;
+        $obj->beforePayload();
     }
     else
     {
@@ -283,7 +298,7 @@
     }
 
     *$obj->{Closed} = 0 ;
-    *$obj->{AutoClose} = $got->value('AutoClose') ;
+    *$obj->{AutoClose} = $got->getValue('autoclose') ;
     *$obj->{Output} = $outValue;
     *$obj->{ClassName} = $class;
     *$obj->{Got} = $got;
@@ -296,7 +311,7 @@
 {
     my $self = shift ;
     my $from = shift ;
-    my $outType = whatIsOutput($_[0]);
+    my $outType = IO::Compress::Base::Common::whatIsOutput($_[0]);
 
     $self->croakError("$from: output parameter not a filename, filehandle or scalar ref")
         if ! $outType ;
@@ -305,7 +320,7 @@
         #if $outType eq 'filename' && (! defined $_[0] || $_[0] eq '')  ;
 
     $self->croakError("$from: output buffer is read-only")
-        if $outType eq 'buffer' && readonly(${ $_[0] });
+        if $outType eq 'buffer' && Scalar::Util::readonly(${ $_[0] });
     
     return 1;    
 }
@@ -392,7 +407,7 @@
     # finally the 1 to 1 and n to 1
     return $obj->_singleTarget($x, 1, $input, $output, @_);
 
-    croak "should not be here" ;
+    Carp::croak "should not be here" ;
 }
 
 sub _singleTarget
@@ -405,7 +420,7 @@
     if ($x->{oneInput})
     {
         $obj->getFileInfo($x->{Got}, $input)
-            if isaFilename($input) and $inputIsFilename ;
+            if isaScalar($input) || (isaFilename($input) and $inputIsFilename) ;
 
         my $z = $obj->_create($x->{Got}, @_)
             or return undef ;
@@ -435,7 +450,7 @@
             else
             {
                 $obj->getFileInfo($x->{Got}, $element)
-                    if $isFilename;
+                    if isaScalar($element) || $isFilename;
 
                 $obj->_create($x->{Got}, @_)
                     or return undef ;
@@ -481,7 +496,7 @@
             $fh = new IO::File "<$input"
                 or return $self->saveErrorString(undef, "cannot open file '$input': $!", $!) ;
         }
-        binmode $fh if *$self->{Got}->valueOrDefault('BinModeIn') ;
+        binmode $fh if *$self->{Got}->valueOrDefault('binmodein') ;
 
         my $status ;
         my $buff ;
@@ -504,7 +519,7 @@
         return $count ;
     }
 
-    croak "Should not be here";
+    Carp::croak "Should not be here";
     return undef;
 }
 
@@ -514,16 +529,16 @@
     my $input = shift ;
     my $inputIsFilename = shift ;
 
-    if (*$self->{Got}->value('MultiStream'))
+    if (*$self->{Got}->getValue('multistream'))
     {
         $self->getFileInfo(*$self->{Got}, $input)
             #if isaFilename($input) and $inputIsFilename ;
-            if isaFilename($input) ;
+            if isaScalar($input) || isaFilename($input) ;
 
         # TODO -- newStream needs to allow gzip/zip header to be modified
         return $self->newStream();
     }
-    elsif (*$self->{Got}->value('AutoFlush'))
+    elsif (*$self->{Got}->getValue('autoflush'))
     {
         #return $self->flush(Z_FULL_FLUSH);
     }
@@ -580,10 +595,6 @@
         $buffer = \$_[0] ;
     }
 
-    $] >= 5.008 and ( utf8::downgrade($$buffer, 1) 
-        or croak "Wide character in " .  *$self->{ClassName} . "::write:");
-
-
     if (@_ > 1) {
         my $slen = defined $$buffer ? length($$buffer) : 0;
         my $len = $slen;
@@ -605,11 +616,23 @@
         $buffer = \substr($$buffer, $offset, $len) ;
     }
 
-    return 0 if ! defined $$buffer || length $$buffer == 0 ;
-
-    if (*$self->{Encoding}) {
+    return 0 if (! defined $$buffer || length $$buffer == 0) && ! *$self->{FlushPending};
+    
+#    *$self->{Pending} .= $$buffer ;
+#    
+#    return length $$buffer
+#        if (length *$self->{Pending} < 1024 * 16 && ! *$self->{FlushPending}) ;
+#
+#    $$buffer = *$self->{Pending} ; 
+#    *$self->{Pending} = '';
+    
+    if (*$self->{Encoding}) {      
         $$buffer = *$self->{Encoding}->encode($$buffer);
     }
+    else {
+        $] >= 5.008 and ( utf8::downgrade($$buffer, 1) 
+            or Carp::croak "Wide character in " .  *$self->{ClassName} . "::write:");
+    }
 
     $self->filterUncompressed($buffer);
 
@@ -625,7 +648,7 @@
 
     *$self->{CompSize}->add(length $outBuffer) ;
 
-    $self->output($outBuffer)
+    $self->outputPayload($outBuffer)
         or return undef;
 
     return $buffer_length;
@@ -661,9 +684,7 @@
     defined $self->syswrite(sprintf($fmt, @_));
 }
 
-
-
-sub flush
+sub _flushCompressed
 {
     my $self = shift ;
 
@@ -679,9 +700,18 @@
 
     *$self->{CompSize}->add(length $outBuffer) ;
 
-    $self->output($outBuffer)
+    $self->outputPayload($outBuffer)
         or return 0;
+    return 1;        
+}
 
+sub flush
+{   
+    my $self = shift ;
+
+    $self->_flushCompressed(@_)
+        or return 0;        
+
     if ( defined *$self->{FH} ) {
         defined *$self->{FH}->flush()
             or return $self->saveErrorString(0, $!, $!); 
@@ -690,19 +720,31 @@
     return 1;
 }
 
-sub newStream
+sub beforePayload
 {
+}
+
+sub _newStream
+{
     my $self = shift ;
-  
+    my $got  = shift;
+
+    my $class = ref $self;
+
     $self->_writeTrailer()
         or return 0 ;
 
-    my $got = $self->checkParams('newStream', *$self->{Got}, @_)
-        or return 0 ;    
-
     $self->ckParams($got)
         or $self->croakError("newStream: $self->{Error}");
 
+    if ($got->getValue('encode')) { 
+        my $want_encoding = $got->getValue('encode');
+        *$self->{Encoding} = IO::Compress::Base::Common::getEncoding($self, $class, $want_encoding);
+    }
+    else {
+        *$self->{Encoding} = undef;
+    }
+    
     *$self->{Compress} = $self->mkComp($got)
         or return 0;
 
@@ -713,9 +755,35 @@
     *$self->{UnCompSize}->reset();
     *$self->{CompSize}->reset();
 
+    $self->beforePayload();
+
     return 1 ;
 }
 
+sub newStream
+{
+    my $self = shift ;
+  
+    my $got = $self->checkParams('newStream', *$self->{Got}, @_)
+        or return 0 ;    
+
+    $self->_newStream($got);
+
+#    *$self->{Compress} = $self->mkComp($got)
+#        or return 0;
+#
+#    *$self->{Header} = $self->mkHeader($got) ;
+#    $self->output(*$self->{Header} )
+#        or return 0;
+#    
+#    *$self->{UnCompSize}->reset();
+#    *$self->{CompSize}->reset();
+#
+#    $self->beforePayload();
+#
+#    return 1 ;
+}
+
 sub reset
 {
     my $self = shift ;
@@ -751,7 +819,6 @@
 sub close
 {
     my $self = shift ;
-
     return 1 if *$self->{Closed} || ! *$self->{Compress} ;
     *$self->{Closed} = 1 ;
 
@@ -758,6 +825,7 @@
     untie *$self 
         if $] >= 5.008 ;
 
+    *$self->{FlushPending} = 1 ;
     $self->_writeTrailer()
         or return 0 ;
 
@@ -769,7 +837,6 @@
 
     if (defined *$self->{FH}) {
 
-        #if (! *$self->{Handle} || *$self->{AutoClose}) {
         if ((! *$self->{Handle} || *$self->{AutoClose}) && ! *$self->{StdIO}) {
             $! = 0 ;
             *$self->{FH}->close()
@@ -913,7 +980,7 @@
 sub _notAvailable
 {
     my $name = shift ;
-    return sub { croak "$name Not Available: File opened only for output" ; } ;
+    return sub { Carp::croak "$name Not Available: File opened only for output" ; } ;
 }
 
 *read     = _notAvailable('read');
@@ -958,7 +1025,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -974,7 +1041,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,16 +5,16 @@
 use bytes;
 require Exporter ;
 
-use IO::Compress::Base 2.033 ;
+use IO::Compress::Base 2.060 ;
 
-use IO::Compress::Base::Common  2.033 qw(createSelfTiedObject);
-use IO::Compress::Adapter::Bzip2 2.033 ;
+use IO::Compress::Base::Common  2.060 qw();
+use IO::Compress::Adapter::Bzip2 2.060 ;
 
 
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bzip2Error);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $Bzip2Error = '';
 
 @ISA    = qw(Exporter IO::Compress::Base);
@@ -29,13 +29,13 @@
 {
     my $class = shift ;
 
-    my $obj = createSelfTiedObject($class, \$Bzip2Error);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$Bzip2Error);
     return $obj->_create(undef, @_);
 }
 
 sub bzip2
 {
-    my $obj = createSelfTiedObject(undef, \$Bzip2Error);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$Bzip2Error);
     $obj->_def(@_);
 }
 
@@ -51,12 +51,12 @@
 {
     my $self = shift ;
 
-    use IO::Compress::Base::Common  2.033 qw(:Parse);
+    use IO::Compress::Base::Common  2.060 qw(:Parse);
     
-    return (
-            'BlockSize100K' => [0, 1, Parse_unsigned,  1],
-            'WorkFactor'    => [0, 1, Parse_unsigned,  0],
-            'Verbosity'     => [0, 1, Parse_boolean,   0],
+    return (  
+            'blocksize100k' => [IO::Compress::Base::Common::Parse_unsigned,  1],
+            'workfactor'    => [IO::Compress::Base::Common::Parse_unsigned,  0],
+            'verbosity'     => [IO::Compress::Base::Common::Parse_boolean,   0],
         );
 }
 
@@ -68,8 +68,8 @@
     my $got = shift;
     
     # check that BlockSize100K is a number between 1 & 9
-    if ($got->parsed('BlockSize100K')) {
-        my $value = $got->value('BlockSize100K');
+    if ($got->parsed('blocksize100k')) {
+        my $value = $got->getValue('blocksize100k');
         return $self->saveErrorString(undef, "Parameter 'BlockSize100K' not between 1 and 9, got $value")
             unless defined $value && $value >= 1 && $value <= 9;
 
@@ -76,8 +76,8 @@
     }
 
     # check that WorkFactor between 0 & 250
-    if ($got->parsed('WorkFactor')) {
-        my $value = $got->value('WorkFactor');
+    if ($got->parsed('workfactor')) {
+        my $value = $got->getValue('workfactor');
         return $self->saveErrorString(undef, "Parameter 'WorkFactor' not between 0 and 250, got $value")
             unless $value >= 0 && $value <= 250;
     }
@@ -91,9 +91,9 @@
     my $self = shift ;
     my $got = shift ;
 
-    my $BlockSize100K = $got->value('BlockSize100K');
-    my $WorkFactor    = $got->value('WorkFactor');
-    my $Verbosity     = $got->value('Verbosity');
+    my $BlockSize100K = $got->getValue('blocksize100k');
+    my $WorkFactor    = $got->getValue('workfactor');
+    my $Verbosity     = $got->getValue('verbosity');
 
     my ($obj, $errstr, $errno) = IO::Compress::Adapter::Bzip2::mkCompObject(
                                                $BlockSize100K, $WorkFactor,


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Bzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Deflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Deflate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
 package IO::Compress::Deflate ;
 
+require 5.006 ;
+
 use strict ;
 use warnings;
 use bytes;
@@ -6,21 +8,22 @@
 
 require Exporter ;
 
-use IO::Compress::RawDeflate 2.033 ;
+use IO::Compress::RawDeflate 2.060 ();
+use IO::Compress::Adapter::Deflate 2.060 ;
 
-use Compress::Raw::Zlib  2.033 ;
-use IO::Compress::Zlib::Constants 2.033 ;
-use IO::Compress::Base::Common  2.033 qw(createSelfTiedObject);
+use IO::Compress::Zlib::Constants 2.060 ;
+use IO::Compress::Base::Common  2.060 qw();
 
 
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $DeflateError);
+our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $DeflateError);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $DeflateError = '';
 
 @ISA    = qw(Exporter IO::Compress::RawDeflate);
 @EXPORT_OK = qw( $DeflateError deflate ) ;
 %EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
+
 push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
 Exporter::export_ok_tags('all');
 
@@ -29,13 +32,13 @@
 {
     my $class = shift ;
 
-    my $obj = createSelfTiedObject($class, \$DeflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$DeflateError);
     return $obj->_create(undef, @_);
 }
 
 sub deflate
 {
-    my $obj = createSelfTiedObject(undef, \$DeflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$DeflateError);
     return $obj->_def(@_);
 }
 
@@ -82,8 +85,8 @@
     my $self = shift ;
     my $param = shift ;
 
-    my $level = $param->value('Level');
-    my $strategy = $param->value('Strategy');
+    my $level = $param->getValue('level');
+    my $strategy = $param->getValue('strategy');
 
     my $lflag ;
     $level = 6 
@@ -116,7 +119,7 @@
     my $self = shift ;
     my $got = shift;
     
-    $got->value('ADLER32' => 1);
+    $got->setValue('adler32' => 1);
     return 1 ;
 }
 
@@ -230,7 +233,7 @@
 
     use IO::Compress::Deflate qw(deflate $DeflateError) ;
 
-    deflate $input => $output [,OPTS] 
+    deflate $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "deflate failed: $DeflateError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -237,12 +240,13 @@
 
 =head2 deflate $input => $output [, OPTS]
 
-C<deflate> expects at least two parameters, C<$input> and C<$output>.
+C<deflate> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the uncompressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the uncompressed data. 
 
 It can take one of the following forms:
 
@@ -250,25 +254,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -277,65 +281,72 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<deflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<deflate> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the compressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the compressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+compressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+compressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+compressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the compressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<deflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<deflate> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple files/buffers and C<$output> is a single
+When C<$input_filename_or_reference> maps to multiple files/buffers and
+C<$output_filename_or_reference> is a single
 file/buffer the input files/buffers will be stored
-in C<$output> as a concatenated series of compressed data streams.
+in C<$output_filename_or_reference> as a concatenated series of compressed data streams.
 
 =head2 Optional Parameters
 
@@ -774,7 +785,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -884,8 +895,6 @@
 
 See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
 
-    
-
 =head2 Working with Net::FTP
 
 See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
@@ -894,7 +903,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -923,7 +932,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Deflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 our ($VERSION, @ISA, @EXPORT, %GZIP_OS_Names);
 our ($GZIP_FNAME_INVALID_CHAR_RE, $GZIP_FCOMMENT_INVALID_CHAR_RE);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 @ISA = qw(Exporter);
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,19 +1,19 @@
-
 package IO::Compress::Gzip ;
 
-require 5.004 ;
+require 5.006 ;
 
 use strict ;
 use warnings;
 use bytes;
 
+require Exporter ;
 
-use IO::Compress::RawDeflate 2.033 ;
+use IO::Compress::RawDeflate 2.060 () ; 
+use IO::Compress::Adapter::Deflate 2.060 ;
 
-use Compress::Raw::Zlib  2.033 ;
-use IO::Compress::Base::Common  2.033 qw(:Status :Parse createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.033 ;
-use IO::Compress::Zlib::Extra 2.033 ;
+use IO::Compress::Base::Common  2.060 qw(:Status );
+use IO::Compress::Gzip::Constants 2.060 ;
+use IO::Compress::Zlib::Extra 2.060 ;
 
 BEGIN
 {
@@ -23,16 +23,15 @@
       { *noUTF8 = sub {} }  
 }
 
-require Exporter ;
+our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $GzipError);
 
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $GzipError);
-
-$VERSION = '2.033';
+$VERSION = '2.060';
 $GzipError = '' ;
 
 @ISA    = qw(Exporter IO::Compress::RawDeflate);
 @EXPORT_OK = qw( $GzipError gzip ) ;
 %EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
+
 push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
 Exporter::export_ok_tags('all');
 
@@ -40,7 +39,7 @@
 {
     my $class = shift ;
 
-    my $obj = createSelfTiedObject($class, \$GzipError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$GzipError);
 
     $obj->_create(undef, @_);
 }
@@ -48,7 +47,7 @@
 
 sub gzip
 {
-    my $obj = createSelfTiedObject(undef, \$GzipError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$GzipError);
     return $obj->_def(@_);
 }
 
@@ -66,17 +65,17 @@
     return (
             # zlib behaviour
             $self->getZlibParams(),
-
+           
             # Gzip header fields
-            'Minimal'   => [0, 1, Parse_boolean,   0],
-            'Comment'   => [0, 1, Parse_any,       undef],
-            'Name'      => [0, 1, Parse_any,       undef],
-            'Time'      => [0, 1, Parse_any,       undef],
-            'TextFlag'  => [0, 1, Parse_boolean,   0],
-            'HeaderCRC' => [0, 1, Parse_boolean,   0],
-            'OS_Code'   => [0, 1, Parse_unsigned,  $Compress::Raw::Zlib::gzip_os_code],
-            'ExtraField'=> [0, 1, Parse_any,       undef],
-            'ExtraFlags'=> [0, 1, Parse_any,       undef],
+            'minimal'   => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'comment'   => [IO::Compress::Base::Common::Parse_any,       undef],
+            'name'      => [IO::Compress::Base::Common::Parse_any,       undef],
+            'time'      => [IO::Compress::Base::Common::Parse_any,       undef],
+            'textflag'  => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'headercrc' => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'os_code'   => [IO::Compress::Base::Common::Parse_unsigned,  $Compress::Raw::Zlib::gzip_os_code],
+            'extrafield'=> [IO::Compress::Base::Common::Parse_any,       undef],
+            'extraflags'=> [IO::Compress::Base::Common::Parse_any,       undef],
 
         );
 }
@@ -88,24 +87,24 @@
     my $got = shift ;
 
     # gzip always needs crc32
-    $got->value('CRC32' => 1);
+    $got->setValue('crc32' => 1);
 
     return 1
-        if $got->value('Merge') ;
+        if $got->getValue('merge') ;
 
-    my $strict = $got->value('Strict') ;
+    my $strict = $got->getValue('strict') ;
 
 
     {
-        if (! $got->parsed('Time') ) {
+        if (! $got->parsed('time') ) {
             # Modification time defaults to now.
-            $got->value('Time' => time) ;
+            $got->setValue(time => time) ;
         }
 
         # Check that the Name & Comment don't have embedded NULLs
         # Also check that they only contain ISO 8859-1 chars.
-        if ($got->parsed('Name') && defined $got->value('Name')) {
-            my $name = $got->value('Name');
+        if ($got->parsed('name') && defined $got->getValue('name')) {
+            my $name = $got->getValue('name');
                 
             return $self->saveErrorString(undef, "Null Character found in Name",
                                                 Z_DATA_ERROR)
@@ -116,8 +115,8 @@
                 if $strict && $name =~ /$GZIP_FNAME_INVALID_CHAR_RE/o ;
         }
 
-        if ($got->parsed('Comment') && defined $got->value('Comment')) {
-            my $comment = $got->value('Comment');
+        if ($got->parsed('comment') && defined $got->getValue('comment')) {
+            my $comment = $got->getValue('comment');
 
             return $self->saveErrorString(undef, "Null Character found in Comment",
                                                 Z_DATA_ERROR)
@@ -128,8 +127,8 @@
                 if $strict && $comment =~ /$GZIP_FCOMMENT_INVALID_CHAR_RE/o;
         }
 
-        if ($got->parsed('OS_Code') ) {
-            my $value = $got->value('OS_Code');
+        if ($got->parsed('os_code') ) {
+            my $value = $got->getValue('os_code');
 
             return $self->saveErrorString(undef, "OS_Code must be between 0 and 255, got '$value'")
                 if $value < 0 || $value > 255 ;
@@ -137,22 +136,22 @@
         }
 
         # gzip only supports Deflate at present
-        $got->value('Method' => Z_DEFLATED) ;
+        $got->setValue('method' => Z_DEFLATED) ;
 
-        if ( ! $got->parsed('ExtraFlags')) {
-            $got->value('ExtraFlags' => 2) 
-                if $got->value('Level') == Z_BEST_COMPRESSION ;
-            $got->value('ExtraFlags' => 4) 
-                if $got->value('Level') == Z_BEST_SPEED ;
+        if ( ! $got->parsed('extraflags')) {
+            $got->setValue('extraflags' => 2) 
+                if $got->getValue('level') == Z_BEST_COMPRESSION ;
+            $got->setValue('extraflags' => 4) 
+                if $got->getValue('level') == Z_BEST_SPEED ;
         }
 
-        my $data = $got->value('ExtraField') ;
+        my $data = $got->getValue('extrafield') ;
         if (defined $data) {
             my $bad = IO::Compress::Zlib::Extra::parseExtraField($data, $strict, 1) ;
             return $self->saveErrorString(undef, "Error with ExtraField Parameter: $bad", Z_DATA_ERROR)
                 if $bad ;
 
-            $got->value('ExtraField', $data) ;
+            $got->setValue('extrafield' => $data) ;
         }
     }
 
@@ -178,13 +177,15 @@
     my $params = shift;
     my $filename = shift ;
 
+    return if IO::Compress::Base::Common::isaScalar($filename);
+
     my $defaultTime = (stat($filename))[9] ;
 
-    $params->value('Name' => $filename)
-        if ! $params->parsed('Name') ;
+    $params->setValue('name' => $filename)
+        if ! $params->parsed('name') ;
 
-    $params->value('Time' => $defaultTime) 
-        if ! $params->parsed('Time') ;
+    $params->setValue('time' => $defaultTime) 
+        if ! $params->parsed('time') ;
 }
 
 
@@ -194,27 +195,27 @@
     my $param = shift ;
 
     # stort-circuit if a minimal header is requested.
-    return GZIP_MINIMUM_HEADER if $param->value('Minimal') ;
+    return GZIP_MINIMUM_HEADER if $param->getValue('minimal') ;
 
     # METHOD
-    my $method = $param->valueOrDefault('Method', GZIP_CM_DEFLATED) ;
+    my $method = $param->valueOrDefault('method', GZIP_CM_DEFLATED) ;
 
     # FLAGS
     my $flags       = GZIP_FLG_DEFAULT ;
-    $flags |= GZIP_FLG_FTEXT    if $param->value('TextFlag') ;
-    $flags |= GZIP_FLG_FHCRC    if $param->value('HeaderCRC') ;
-    $flags |= GZIP_FLG_FEXTRA   if $param->wantValue('ExtraField') ;
-    $flags |= GZIP_FLG_FNAME    if $param->wantValue('Name') ;
-    $flags |= GZIP_FLG_FCOMMENT if $param->wantValue('Comment') ;
+    $flags |= GZIP_FLG_FTEXT    if $param->getValue('textflag') ;
+    $flags |= GZIP_FLG_FHCRC    if $param->getValue('headercrc') ;
+    $flags |= GZIP_FLG_FEXTRA   if $param->wantValue('extrafield') ;
+    $flags |= GZIP_FLG_FNAME    if $param->wantValue('name') ;
+    $flags |= GZIP_FLG_FCOMMENT if $param->wantValue('comment') ;
     
     # MTIME
-    my $time = $param->valueOrDefault('Time', GZIP_MTIME_DEFAULT) ;
+    my $time = $param->valueOrDefault('time', GZIP_MTIME_DEFAULT) ;
 
     # EXTRA FLAGS
-    my $extra_flags = $param->valueOrDefault('ExtraFlags', GZIP_XFL_DEFAULT);
+    my $extra_flags = $param->valueOrDefault('extraflags', GZIP_XFL_DEFAULT);
 
     # OS CODE
-    my $os_code = $param->valueOrDefault('OS_Code', GZIP_OS_DEFAULT) ;
+    my $os_code = $param->valueOrDefault('os_code', GZIP_OS_DEFAULT) ;
 
 
     my $out = pack("C4 V C C", 
@@ -229,13 +230,13 @@
 
     # EXTRA
     if ($flags & GZIP_FLG_FEXTRA) {
-        my $extra = $param->value('ExtraField') ;
+        my $extra = $param->getValue('extrafield') ;
         $out .= pack("v", length $extra) . $extra ;
     }
 
     # NAME
     if ($flags & GZIP_FLG_FNAME) {
-        my $name .= $param->value('Name') ;
+        my $name .= $param->getValue('name') ;
         $name =~ s/\x00.*$//;
         $out .= $name ;
         # Terminate the filename with NULL unless it already is
@@ -246,7 +247,7 @@
 
     # COMMENT
     if ($flags & GZIP_FLG_FCOMMENT) {
-        my $comment .= $param->value('Comment') ;
+        my $comment .= $param->getValue('comment') ;
         $comment =~ s/\x00.*$//;
         $out .= $comment ;
         # Terminate the comment with NULL unless it already is
@@ -256,7 +257,7 @@
     }
 
     # HEADER CRC
-    $out .= pack("v", crc32($out) & 0x00FF ) if $param->value('HeaderCRC') ;
+    $out .= pack("v", Compress::Raw::Zlib::crc32($out) & 0x00FF ) if $param->getValue('headercrc') ;
 
     noUTF8($out);
 
@@ -341,7 +342,7 @@
 
     use IO::Compress::Gzip qw(gzip $GzipError) ;
 
-    gzip $input => $output [,OPTS] 
+    gzip $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "gzip failed: $GzipError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -348,12 +349,13 @@
 
 =head2 gzip $input => $output [, OPTS]
 
-C<gzip> expects at least two parameters, C<$input> and C<$output>.
+C<gzip> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the uncompressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the uncompressed data. 
 
 It can take one of the following forms:
 
@@ -361,25 +363,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -388,17 +390,20 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<gzip> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<gzip> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-In addition, if C<$input> is a simple filename, the default values for
+In addition, if C<$input_filename_or_reference> is a simple filename, 
+the default values for
 the C<Name> and C<Time> options will be sourced from that file.
 
 If you do not want to use these defaults they can be overridden by
@@ -405,55 +410,60 @@
 explicitly setting the C<Name> and C<Time> options or by setting the
 C<Minimal> parameter.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the compressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the compressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+compressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+compressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+compressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the compressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<gzip> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<gzip> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple files/buffers and C<$output> is a single
+When C<$input_filename_or_reference> maps to multiple files/buffers and
+C<$output_filename_or_reference> is a single
 file/buffer the input files/buffers will be stored
-in C<$output> as a concatenated series of compressed data streams.
+in C<$output_filename_or_reference> as a concatenated series of compressed data streams.
 
 =head2 Optional Parameters
 
@@ -1086,7 +1096,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -1196,8 +1206,6 @@
 
 See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
 
-    
-
 =head2 Working with Net::FTP
 
 See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
@@ -1206,7 +1214,7 @@
 
 L<Compress::Zlib>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1235,7 +1243,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Gzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,45 +6,23 @@
 use warnings;
 use bytes;
 
+use IO::Compress::Base 2.060 ;
+use IO::Compress::Base::Common  2.060 qw(:Status );
+use IO::Compress::Adapter::Deflate 2.060 ;
 
-use IO::Compress::Base 2.033 ;
-use IO::Compress::Base::Common  2.033 qw(:Status createSelfTiedObject);
-use IO::Compress::Adapter::Deflate  2.033 ;
-
 require Exporter ;
 
-
 our ($VERSION, @ISA, @EXPORT_OK, %DEFLATE_CONSTANTS, %EXPORT_TAGS, $RawDeflateError);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $RawDeflateError = '';
 
 @ISA = qw(Exporter IO::Compress::Base);
 @EXPORT_OK = qw( $RawDeflateError rawdeflate ) ;
+push @EXPORT_OK, @IO::Compress::Adapter::Deflate::EXPORT_OK ;
 
-%EXPORT_TAGS = ( flush     => [qw{  
-                                    Z_NO_FLUSH
-                                    Z_PARTIAL_FLUSH
-                                    Z_SYNC_FLUSH
-                                    Z_FULL_FLUSH
-                                    Z_FINISH
-                                    Z_BLOCK
-                              }],
-                 level     => [qw{  
-                                    Z_NO_COMPRESSION
-                                    Z_BEST_SPEED
-                                    Z_BEST_COMPRESSION
-                                    Z_DEFAULT_COMPRESSION
-                              }],
-                 strategy  => [qw{  
-                                    Z_FILTERED
-                                    Z_HUFFMAN_ONLY
-                                    Z_RLE
-                                    Z_FIXED
-                                    Z_DEFAULT_STRATEGY
-                              }],
+%EXPORT_TAGS = %IO::Compress::Adapter::Deflate::DEFLATE_CONSTANTS;
 
-              );
 
 {
     my %seen;
@@ -60,7 +38,7 @@
 
 %DEFLATE_CONSTANTS = %EXPORT_TAGS;
 
-push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
+#push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
 
 Exporter::export_ok_tags('all');
               
@@ -70,7 +48,7 @@
 {
     my $class = shift ;
 
-    my $obj = createSelfTiedObject($class, \$RawDeflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$RawDeflateError);
 
     return $obj->_create(undef, @_);
 }
@@ -77,7 +55,7 @@
 
 sub rawdeflate
 {
-    my $obj = createSelfTiedObject(undef, \$RawDeflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$RawDeflateError);
     return $obj->_def(@_);
 }
 
@@ -95,10 +73,10 @@
     my $got = shift ;
 
     my ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject(
-                                                 $got->value('CRC32'),
-                                                 $got->value('Adler32'),
-                                                 $got->value('Level'),
-                                                 $got->value('Strategy')
+                                                 $got->getValue('crc32'),
+                                                 $got->getValue('adler32'),
+                                                 $got->getValue('level'),
+                                                 $got->getValue('strategy')
                                                  );
 
    return $self->saveErrorString(undef, $errstr, $errno)
@@ -135,30 +113,24 @@
 sub getExtraParams
 {
     my $self = shift ;
-    return $self->getZlibParams();
+    return getZlibParams();
 }
 
+use IO::Compress::Base::Common  2.060 qw(:Parse);
+use Compress::Raw::Zlib  2.060 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
+our %PARAMS = (
+            #'method'   => [IO::Compress::Base::Common::Parse_unsigned,  Z_DEFLATED],
+            'level'     => [IO::Compress::Base::Common::Parse_signed,    Z_DEFAULT_COMPRESSION],
+            'strategy'  => [IO::Compress::Base::Common::Parse_signed,    Z_DEFAULT_STRATEGY],
+
+            'crc32'     => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'adler32'   => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'merge'     => [IO::Compress::Base::Common::Parse_boolean,   0], 
+        );
+        
 sub getZlibParams
 {
-    my $self = shift ;
-
-    use IO::Compress::Base::Common  2.033 qw(:Parse);
-    use Compress::Raw::Zlib  2.033 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
-
-    
-    return (
-        
-            # zlib behaviour
-            #'Method'   => [0, 1, Parse_unsigned,  Z_DEFLATED],
-            'Level'     => [0, 1, Parse_signed,    Z_DEFAULT_COMPRESSION],
-            'Strategy'  => [0, 1, Parse_signed,    Z_DEFAULT_STRATEGY],
-
-            'CRC32'     => [0, 1, Parse_boolean,   0],
-            'ADLER32'   => [0, 1, Parse_boolean,   0],
-            'Merge'     => [1, 1, Parse_boolean,   0],
-        );
-    
-    
+    return %PARAMS;    
 }
 
 sub getInverseClass
@@ -317,7 +289,7 @@
 
     use IO::Compress::RawDeflate qw(rawdeflate $RawDeflateError) ;
 
-    rawdeflate $input => $output [,OPTS] 
+    rawdeflate $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "rawdeflate failed: $RawDeflateError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -324,12 +296,13 @@
 
 =head2 rawdeflate $input => $output [, OPTS]
 
-C<rawdeflate> expects at least two parameters, C<$input> and C<$output>.
+C<rawdeflate> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the uncompressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the uncompressed data. 
 
 It can take one of the following forms:
 
@@ -337,25 +310,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -364,65 +337,72 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<rawdeflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<rawdeflate> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the compressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the compressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+compressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+compressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+compressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the compressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<rawdeflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<rawdeflate> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple files/buffers and C<$output> is a single
+When C<$input_filename_or_reference> maps to multiple files/buffers and
+C<$output_filename_or_reference> is a single
 file/buffer the input files/buffers will be stored
-in C<$output> as a concatenated series of compressed data streams.
+in C<$output_filename_or_reference> as a concatenated series of compressed data streams.
 
 =head2 Optional Parameters
 
@@ -861,7 +841,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -971,8 +951,6 @@
 
 See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
 
-    
-
 =head2 Working with Net::FTP
 
 See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
@@ -981,7 +959,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1010,7 +988,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/RawDeflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 
 our ($VERSION, @ISA, @EXPORT, %ZIP_CM_MIN_VERSIONS);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 @ISA = qw(Exporter);
 
@@ -38,7 +38,9 @@
     ZIP_EXTRA_ID_ZIP64
     ZIP_EXTRA_ID_EXT_TIMESTAMP
     ZIP_EXTRA_ID_INFO_ZIP_UNIX2
-    ZIP_EXTRA_ID_INFO_ZIP_UNIXn
+    ZIP_EXTRA_ID_INFO_ZIP_UNIXN
+    ZIP_EXTRA_ID_INFO_ZIP_Upath
+    ZIP_EXTRA_ID_INFO_ZIP_Ucom        
     ZIP_EXTRA_ID_JAVA_EXE
 
     ZIP_OS_CODE_UNIX
@@ -49,6 +51,12 @@
     %ZIP_CM_MIN_VERSIONS
     ZIP64_MIN_VERSION
 
+    ZIP_A_RONLY
+    ZIP_A_HIDDEN
+    ZIP_A_SYSTEM
+    ZIP_A_LABEL
+    ZIP_A_DIR 
+    ZIP_A_ARCHIVE
     );
 
 # Compression types supported
@@ -72,6 +80,7 @@
 # Signatures for each of the headers
 use constant ZIP_LOCAL_HDR_SIG                 => 0x04034b50;
 use constant ZIP_DATA_HDR_SIG                  => 0x08074b50;
+use constant packed_ZIP_DATA_HDR_SIG           => pack "V", ZIP_DATA_HDR_SIG;
 use constant ZIP_CENTRAL_HDR_SIG               => 0x02014b50;
 use constant ZIP_END_CENTRAL_HDR_SIG           => 0x06054b50;
 use constant ZIP64_END_CENTRAL_REC_HDR_SIG     => 0x06064b50;
@@ -86,16 +95,27 @@
 use constant ZIP_EXTRA_ID_ZIP64                => pack "v", 1;
 use constant ZIP_EXTRA_ID_EXT_TIMESTAMP        => "UT";
 use constant ZIP_EXTRA_ID_INFO_ZIP_UNIX2       => "Ux";
-use constant ZIP_EXTRA_ID_INFO_ZIP_UNIXn       => "ux";
+use constant ZIP_EXTRA_ID_INFO_ZIP_UNIXN       => "ux";
+use constant ZIP_EXTRA_ID_INFO_ZIP_Upath       => "up";
+use constant ZIP_EXTRA_ID_INFO_ZIP_Ucom        => "uc";
 use constant ZIP_EXTRA_ID_JAVA_EXE             => pack "v", 0xCAFE;
 
+# DOS Attributes
+use constant ZIP_A_RONLY                       => 0x01;
+use constant ZIP_A_HIDDEN                      => 0x02;
+use constant ZIP_A_SYSTEM                      => 0x04;
+use constant ZIP_A_LABEL                       => 0x08;
+use constant ZIP_A_DIR                         => 0x10;
+use constant ZIP_A_ARCHIVE                     => 0x20;
+
 use constant ZIP64_MIN_VERSION                 => 45;
 
 %ZIP_CM_MIN_VERSIONS = (
-            ZIP_CM_STORE()                      => 20,
-            ZIP_CM_DEFLATE()                    => 20,
-            ZIP_CM_BZIP2()                      => 46,
-            ZIP_CM_LZMA()                       => 63,
+            ZIP_CM_STORE()                     => 20,
+            ZIP_CM_DEFLATE()                   => 20,
+            ZIP_CM_BZIP2()                     => 46,
+            ZIP_CM_LZMA()                      => 63,
+            ZIP_CM_PPMD()                      => 63,
             );
 
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,40 +4,45 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.033 qw(:Status createSelfTiedObject);
-use IO::Compress::RawDeflate 2.033 ;
-use IO::Compress::Adapter::Deflate 2.033 ;
-use IO::Compress::Adapter::Identity 2.033 ;
-use IO::Compress::Zlib::Extra 2.033 ;
-use IO::Compress::Zip::Constants 2.033 ;
+use IO::Compress::Base::Common  2.060 qw(:Status );
+use IO::Compress::RawDeflate 2.060 ();
+use IO::Compress::Adapter::Deflate 2.060 ;
+use IO::Compress::Adapter::Identity 2.060 ;
+use IO::Compress::Zlib::Extra 2.060 ;
+use IO::Compress::Zip::Constants 2.060 ;
 
+use File::Spec();
+use Config;
 
-use Compress::Raw::Zlib  2.033 qw(crc32) ;
+use Compress::Raw::Zlib  2.060 (); 
+
 BEGIN
 {
     eval { require IO::Compress::Adapter::Bzip2 ; 
-           import  IO::Compress::Adapter::Bzip2 2.033 ; 
+           import  IO::Compress::Adapter::Bzip2 2.060 ; 
            require IO::Compress::Bzip2 ; 
-           import  IO::Compress::Bzip2 2.033 ; 
+           import  IO::Compress::Bzip2 2.060 ; 
          } ;
-#    eval { require IO::Compress::Adapter::Lzma ; 
-#           import  IO::Compress::Adapter::Lzma 2.020 ; 
-#           require IO::Compress::Lzma ; 
-#           import  IO::Compress::Lzma 2.033 ; 
-#         } ;
+         
+    eval { require IO::Compress::Adapter::Lzma ; 
+           import  IO::Compress::Adapter::Lzma 2.060 ; 
+           require IO::Compress::Lzma ; 
+           import  IO::Compress::Lzma 2.060 ; 
+         } ;
 }
 
 
 require Exporter ;
 
-our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $ZipError);
+our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $ZipError);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $ZipError = '';
 
 @ISA = qw(Exporter IO::Compress::RawDeflate);
 @EXPORT_OK = qw( $ZipError zip ) ;
 %EXPORT_TAGS = %IO::Compress::RawDeflate::DEFLATE_CONSTANTS ;
+
 push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
 
 $EXPORT_TAGS{zip_method} = [qw( ZIP_CM_STORE ZIP_CM_DEFLATE ZIP_CM_BZIP2 ZIP_CM_LZMA)];
@@ -49,16 +54,57 @@
 {
     my $class = shift ;
 
-    my $obj = createSelfTiedObject($class, \$ZipError);    
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$ZipError);    
     $obj->_create(undef, @_);
+
 }
 
 sub zip
 {
-    my $obj = createSelfTiedObject(undef, \$ZipError);    
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$ZipError);    
     return $obj->_def(@_);
 }
 
+sub isMethodAvailable
+{
+    my $method = shift;
+    
+    # Store & Deflate are always available
+    return 1
+        if $method == ZIP_CM_STORE || $method == ZIP_CM_DEFLATE ;
+        
+    return 1 
+        if $method == ZIP_CM_BZIP2 and 
+           defined $IO::Compress::Adapter::Bzip2::VERSION;
+           
+    return 1
+        if $method == ZIP_CM_LZMA and
+           defined $IO::Compress::Adapter::Lzma::VERSION;
+           
+    return 0;       
+}
+
+sub beforePayload
+{
+    my $self = shift ;
+
+    if (*$self->{ZipData}{Sparse} ) {
+        my $inc = 1024 * 100 ;
+        my $NULLS = ("\x00" x $inc) ;
+        my $sparse = *$self->{ZipData}{Sparse} ;
+        *$self->{CompSize}->add( $sparse );
+        *$self->{UnCompSize}->add( $sparse );
+        
+        *$self->{FH}->seek($sparse, IO::Handle::SEEK_CUR);
+        
+        *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32($NULLS, *$self->{ZipData}{CRC32})
+            for 1 .. int $sparse / $inc;
+        *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(substr($NULLS, 0,  $sparse % $inc), 
+                                         *$self->{ZipData}{CRC32})
+            if $sparse % $inc;
+    }
+}
+
 sub mkComp
 {
     my $self = shift ;
@@ -68,31 +114,33 @@
 
     if (*$self->{ZipData}{Method} == ZIP_CM_STORE) {
         ($obj, $errstr, $errno) = IO::Compress::Adapter::Identity::mkCompObject(
-                                                 $got->value('Level'),
-                                                 $got->value('Strategy')
+                                                 $got->getValue('level'),
+                                                 $got->getValue('strategy')
                                                  );
-        *$self->{ZipData}{CRC32} = crc32(undef);
+        *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
     }
     elsif (*$self->{ZipData}{Method} == ZIP_CM_DEFLATE) {
         ($obj, $errstr, $errno) = IO::Compress::Adapter::Deflate::mkCompObject(
-                                                 $got->value('CRC32'),
-                                                 $got->value('Adler32'),
-                                                 $got->value('Level'),
-                                                 $got->value('Strategy')
+                                                 $got->getValue('crc32'),
+                                                 $got->getValue('adler32'),
+                                                 $got->getValue('level'),
+                                                 $got->getValue('strategy')
                                                  );
     }
     elsif (*$self->{ZipData}{Method} == ZIP_CM_BZIP2) {
         ($obj, $errstr, $errno) = IO::Compress::Adapter::Bzip2::mkCompObject(
-                                                $got->value('BlockSize100K'),
-                                                $got->value('WorkFactor'),
-                                                $got->value('Verbosity')
+                                                $got->getValue('blocksize100k'),
+                                                $got->getValue('workfactor'),
+                                                $got->getValue('verbosity')
                                                );
-        *$self->{ZipData}{CRC32} = crc32(undef);
+        *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
     }
-#    elsif (*$self->{ZipData}{Method} == ZIP_CM_LZMA) {
-#        ($obj, $errstr, $errno) = IO::Compress::Adapter::Lzma::mkCompObject();
-#        *$self->{ZipData}{CRC32} = crc32(undef);
-#    }
+    elsif (*$self->{ZipData}{Method} == ZIP_CM_LZMA) {
+        ($obj, $errstr, $errno) = IO::Compress::Adapter::Lzma::mkRawZipCompObject($got->getValue('preset'),
+                                                                                 $got->getValue('extreme'),
+                                                                                 );
+        *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
+    }
 
     return $self->saveErrorString(undef, $errstr, $errno)
        if ! defined $obj;
@@ -126,41 +174,103 @@
         *$self->{ZipData}{CRC32} = *$self->{Compress}->crc32();
     }
     else {
-        *$self->{ZipData}{CRC32} = crc32(${$_[0]}, *$self->{ZipData}{CRC32});
+        *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(${$_[0]}, *$self->{ZipData}{CRC32});
 
     }
 }
 
+sub canonicalName
+{
+    # This sub is derived from Archive::Zip::_asZipDirName
+
+    # Return the normalized name as used in a zip file (path
+    # separators become slashes, etc.).
+    # Will translate internal slashes in path components (i.e. on Macs) to
+    # underscores.  Discards volume names.
+    # When $forceDir is set, returns paths with trailing slashes 
+    #
+    # input         output
+    # .             '.'
+    # ./a           a
+    # ./a/b         a/b
+    # ./a/b/        a/b
+    # a/b/          a/b
+    # /a/b/         a/b
+    # c:\a\b\c.doc  a/b/c.doc      # on Windows
+    # "i/o maps:whatever"   i_o maps/whatever   # on Macs
+
+    my $name      = shift;
+    my $forceDir  = shift ;
+
+    my ( $volume, $directories, $file ) =
+      File::Spec->splitpath( File::Spec->canonpath($name), $forceDir );
+      
+    my @dirs = map { $_ =~ s{/}{_}g; $_ } 
+               File::Spec->splitdir($directories);
+
+    if ( @dirs > 0 ) { pop (@dirs) if $dirs[-1] eq '' }   # remove empty component
+    push @dirs, defined($file) ? $file : '' ;
+
+    my $normalised_path = join '/', @dirs;
+
+    # Leading directory separators should not be stored in zip archives.
+    # Example:
+    #   C:\a\b\c\      a/b/c
+    #   C:\a\b\c.txt   a/b/c.txt
+    #   /a/b/c/        a/b/c
+    #   /a/b/c.txt     a/b/c.txt
+    $normalised_path =~ s{^/}{};  # remove leading separator
+
+    return $normalised_path;
+}
+
+
 sub mkHeader
 {
     my $self  = shift;
     my $param = shift ;
     
-
     *$self->{ZipData}{LocalHdrOffset} = U64::clone(*$self->{ZipData}{Offset});
+        
+    my $comment = '';
+    $comment = $param->valueOrDefault('comment') ;
 
     my $filename = '';
-    $filename = $param->value('Name') || '';
+    $filename = $param->valueOrDefault('name') ;
 
-    my $comment = '';
-    $comment = $param->value('Comment') || '';
+    $filename = canonicalName($filename)
+        if length $filename && $param->getValue('canonicalname') ;
 
+    if (defined *$self->{ZipData}{FilterName} ) {
+        local *_ = \$filename ;
+        &{ *$self->{ZipData}{FilterName} }() ;
+    }
+
+#    if ( $param->getValue('utf8') ) {
+#        require Encode ;
+#        $filename = Encode::encode_utf8($filename)
+#            if length $filename ;
+#        $comment = Encode::encode_utf8($comment)
+#            if length $comment ;
+#    }
+
     my $hdr = '';
 
-    my $time = _unixToDosTime($param->value('Time'));
+    my $time = _unixToDosTime($param->getValue('time'));
 
     my $extra = '';
     my $ctlExtra = '';
     my $empty = 0;
-    my $osCode = $param->value('OS_Code') ;
+    my $osCode = $param->getValue('os_code') ;
     my $extFileAttr = 0 ;
     
     # This code assumes Unix.
+    # TODO - revisit this
     $extFileAttr = 0100644 << 16 
         if $osCode == ZIP_OS_CODE_UNIX ;
 
     if (*$self->{ZipData}{Zip64}) {
-        $empty = 0xFFFFFFFF;
+        $empty = IO::Compress::Base::Common::MAX32;
 
         my $x = '';
         $x .= pack "V V", 0, 0 ; # uncompressedLength   
@@ -168,42 +278,58 @@
         $extra .= IO::Compress::Zlib::Extra::mkSubField(ZIP_EXTRA_ID_ZIP64, $x);
     }
 
-    if (! $param->value('Minimal')) {
-        if (defined $param->value('exTime'))
+    if (! $param->getValue('minimal')) {
+        if ($param->parsed('mtime'))
         {
-            $extra .= mkExtendedTime($param->value('MTime'), 
-                                    $param->value('ATime'), 
-                                    $param->value('CTime'));
+            $extra .= mkExtendedTime($param->getValue('mtime'), 
+                                    $param->getValue('atime'), 
+                                    $param->getValue('ctime'));
 
-            $ctlExtra .= mkExtendedTime($param->value('MTime'));
+            $ctlExtra .= mkExtendedTime($param->getValue('mtime'));
         }
 
-        if ( $param->value('UID') && $osCode == ZIP_OS_CODE_UNIX)
+        if ( $osCode == ZIP_OS_CODE_UNIX )
         {
-            $extra    .= mkUnix2Extra( $param->value('UID'), $param->value('GID'));
-            $ctlExtra .= mkUnix2Extra();
+            if ( $param->getValue('want_exunixn') )
+            {
+                    my $ux3 = mkUnixNExtra( @{ $param->getValue('want_exunixn') }); 
+                    $extra    .= $ux3;
+                    $ctlExtra .= $ux3;
+            }
+
+            if ( $param->getValue('exunix2') )
+            {
+                    $extra    .= mkUnix2Extra( @{ $param->getValue('exunix2') }); 
+                    $ctlExtra .= mkUnix2Extra();
+            }
         }
 
-        $extFileAttr = $param->value('ExtAttr') 
-            if defined $param->value('ExtAttr') ;
+        $extFileAttr = $param->getValue('extattr') 
+            if defined $param->getValue('extattr') ;
 
-        $extra .= $param->value('ExtraFieldLocal') 
-            if defined $param->value('ExtraFieldLocal');
+        $extra .= $param->getValue('extrafieldlocal') 
+            if defined $param->getValue('extrafieldlocal');
 
-        $ctlExtra .= $param->value('ExtraFieldCentral') 
-            if defined $param->value('ExtraFieldCentral');
+        $ctlExtra .= $param->getValue('extrafieldcentral') 
+            if defined $param->getValue('extrafieldcentral');
     }
 
+    my $method = *$self->{ZipData}{Method} ;
     my $gpFlag = 0 ;    
     $gpFlag |= ZIP_GP_FLAG_STREAMING_MASK
         if *$self->{ZipData}{Stream} ;
 
-    my $method = *$self->{ZipData}{Method} ;
+    $gpFlag |= ZIP_GP_FLAG_LZMA_EOS_PRESENT
+        if $method == ZIP_CM_LZMA ;
 
+#    $gpFlag |= ZIP_GP_FLAG_LANGUAGE_ENCODING
+#        if  $param->getValue('utf8') && (length($filename) || length($comment));
+
     my $version = $ZIP_CM_MIN_VERSIONS{$method};
     $version = ZIP64_MIN_VERSION
         if ZIP64_MIN_VERSION > $version && *$self->{ZipData}{Zip64};
-    my $madeBy = ($param->value('OS_Code') << 8) + $version;
+
+    my $madeBy = ($param->getValue('os_code') << 8) + $version;
     my $extract = $version;
 
     *$self->{ZipData}{Version} = $version;
@@ -211,7 +337,7 @@
 
     my $ifa = 0;
     $ifa |= ZIP_IFA_TEXT_MASK
-        if $param->value('TextFlag');
+        if $param->getValue('textflag');
 
     $hdr .= pack "V", ZIP_LOCAL_HDR_SIG ; # signature
     $hdr .= pack 'v', $extract   ; # extract Version & OS
@@ -264,7 +390,7 @@
 
     # offset to local hdr
     if (*$self->{ZipData}{LocalHdrOffset}->is64bit() ) { 
-        $ctl .= pack 'V', 0xFFFFFFFF ;
+        $ctl .= pack 'V', IO::Compress::Base::Common::MAX32 ;
     }
     else {
         $ctl .= *$self->{ZipData}{LocalHdrOffset}->getPacked_V32() ; 
@@ -274,10 +400,11 @@
     $ctl .= $ctlExtra ;
     $ctl .= $comment ;
 
-    *$self->{ZipData}{Offset}->add(length $hdr) ;
+    *$self->{ZipData}{Offset}->add32(length $hdr) ;
 
     *$self->{ZipData}{CentralHeader} = $ctl;
 
+
     return $hdr;
 }
 
@@ -307,6 +434,7 @@
 
     my $data = $crc32 . $sizes ;
 
+
     my $xtrasize  = *$self->{UnCompSize}->getPacked_V64() ; # Uncompressed size
        $xtrasize .= *$self->{CompSize}->getPacked_V64() ;   # Compressed size
 
@@ -331,7 +459,7 @@
     my $x = '';
 
     # uncompressed length
-    if (*$self->{UnCompSize}->is64bit() ) {
+    if (*$self->{UnCompSize}->isAlmost64bit() || *$self->{ZipData}{Zip64} > 1) {
         $x .= *$self->{UnCompSize}->getPacked_V64() ; 
     } else {
         substr($ctl, 24, 4) = *$self->{UnCompSize}->getPacked_V32() ;
@@ -338,7 +466,7 @@
     }
 
     # compressed length
-    if (*$self->{CompSize}->is64bit() ) {
+    if (*$self->{CompSize}->isAlmost64bit() || *$self->{ZipData}{Zip64} > 1) {
         $x .= *$self->{CompSize}->getPacked_V64() ; 
     } else {
         substr($ctl, 20, 4) = *$self->{CompSize}->getPacked_V32() ;
@@ -360,7 +488,7 @@
         *$self->{ZipData}{AnyZip64} = 1;
     }
 
-    *$self->{ZipData}{Offset}->add(length($hdr));
+    *$self->{ZipData}{Offset}->add32(length($hdr));
     *$self->{ZipData}{Offset}->add( *$self->{CompSize} );
     push @{ *$self->{ZipData}{CentralDir} }, $ctl ;
 
@@ -370,7 +498,7 @@
 sub mkFinalTrailer
 {
     my $self = shift ;
-
+        
     my $comment = '';
     $comment = *$self->{ZipData}{ZipComment} ;
 
@@ -377,6 +505,10 @@
     my $cd_offset = *$self->{ZipData}{Offset}->get32bit() ; # offset to start central dir
 
     my $entries = @{ *$self->{ZipData}{CentralDir} };
+    
+    *$self->{ZipData}{AnyZip64} = 1 
+        if *$self->{ZipData}{Offset}->is64bit || $entries >= 0xFFFF ;      
+           
     my $cd = join '', @{ *$self->{ZipData}{CentralDir} };
     my $cd_len = length $cd ;
 
@@ -399,7 +531,7 @@
               .  U64::pack_V64(length $z64e)
               .  $z64e ;
 
-        *$self->{ZipData}{Offset}->add(length $cd) ; 
+        *$self->{ZipData}{Offset}->add32(length $cd) ; 
 
         $z64e .= pack "V", ZIP64_END_CENTRAL_LOC_HDR_SIG; # signature
         $z64e .= pack 'V', 0              ; # number of disk with central dir
@@ -406,8 +538,8 @@
         $z64e .= *$self->{ZipData}{Offset}->getPacked_V64() ; # offset to end zip64 central dir
         $z64e .= pack 'V', 1              ; # Total number of disks 
 
-        $cd_offset = 0xFFFFFFFF ;
-        $cd_len = 0xFFFFFFFF if $cd_len >= 0xFFFFFFFF ;
+        $cd_offset = IO::Compress::Base::Common::MAX32 ;
+        $cd_len = IO::Compress::Base::Common::MAX32 if IO::Compress::Base::Common::isGeMax32 $cd_len ;
         $entries = 0xFFFF if $entries >= 0xFFFF ;
     }
 
@@ -430,43 +562,47 @@
     my $self = shift ;
     my $got = shift;
     
-    $got->value('CRC32' => 1);
+    $got->setValue('crc32' => 1);
 
-    if (! $got->parsed('Time') ) {
+    if (! $got->parsed('time') ) {
         # Modification time defaults to now.
-        $got->value('Time' => time) ;
+        $got->setValue('time' => time) ;
     }
 
-    if ($got->parsed('exTime') ) {
-        my $timeRef = $got->value('exTime');
+    if ($got->parsed('extime') ) {
+        my $timeRef = $got->getValue('extime');
         if ( defined $timeRef) {
             return $self->saveErrorString(undef, "exTime not a 3-element array ref")   
                 if ref $timeRef ne 'ARRAY' || @$timeRef != 3;
         }
 
-        $got->value("MTime", $timeRef->[1]);
-        $got->value("ATime", $timeRef->[0]);
-        $got->value("CTime", $timeRef->[2]);
+        $got->setValue("mtime", $timeRef->[1]);
+        $got->setValue("atime", $timeRef->[0]);
+        $got->setValue("ctime", $timeRef->[2]);
     }
     
-    # Unix2 Extended Attribute
-    if ($got->parsed('exUnix2') ) {
-        my $timeRef = $got->value('exUnix2');
-        if ( defined $timeRef) {
-            return $self->saveErrorString(undef, "exUnix2 not a 2-element array ref")   
-                if ref $timeRef ne 'ARRAY' || @$timeRef != 2;
+    # Unix2/3 Extended Attribute
+    for my $name (qw(exunix2 exunixn))
+    {
+        if ($got->parsed($name) ) {
+            my $idRef = $got->getValue($name);
+            if ( defined $idRef) {
+                return $self->saveErrorString(undef, "$name not a 2-element array ref")   
+                    if ref $idRef ne 'ARRAY' || @$idRef != 2;
+            }
+
+            $got->setValue("uid", $idRef->[0]);
+            $got->setValue("gid", $idRef->[1]);
+            $got->setValue("want_$name", $idRef);
         }
-
-        $got->value("UID", $timeRef->[0]);
-        $got->value("GID", $timeRef->[1]);
     }
 
     *$self->{ZipData}{AnyZip64} = 1
-        if $got->value('Zip64');
-    *$self->{ZipData}{Zip64} = $got->value('Zip64');
-    *$self->{ZipData}{Stream} = $got->value('Stream');
+        if $got->getValue('zip64');
+    *$self->{ZipData}{Zip64} = $got->getValue('zip64');
+    *$self->{ZipData}{Stream} = $got->getValue('stream');
 
-    my $method = $got->value('Method');
+    my $method = $got->getValue('method');
     return $self->saveErrorString(undef, "Unknown Method '$method'")   
         if ! defined $ZIP_CM_MIN_VERSIONS{$method};
 
@@ -475,23 +611,22 @@
            ! defined $IO::Compress::Adapter::Bzip2::VERSION;
 
     return $self->saveErrorString(undef, "Lzma not available")
-        if $method == ZIP_CM_LZMA ;
-        #and 
-           #! defined $IO::Compress::Adapter::Lzma::VERSION;
+        if $method == ZIP_CM_LZMA 
+        and ! defined $IO::Compress::Adapter::Lzma::VERSION;
 
     *$self->{ZipData}{Method} = $method;
 
-    *$self->{ZipData}{ZipComment} = $got->value('ZipComment') ;
+    *$self->{ZipData}{ZipComment} = $got->getValue('zipcomment') ;
 
-    for my $name (qw( ExtraFieldLocal ExtraFieldCentral ))
+    for my $name (qw( extrafieldlocal extrafieldcentral ))
     {
-        my $data = $got->value($name) ;
+        my $data = $got->getValue($name) ;
         if (defined $data) {
             my $bad = IO::Compress::Zlib::Extra::parseExtraField($data, 1, 0) ;
             return $self->saveErrorString(undef, "Error with $name Parameter: $bad")
                 if $bad ;
 
-            $got->value($name, $data) ;
+            $got->setValue($name, $data) ;
         }
     }
 
@@ -499,9 +634,28 @@
         if defined $IO::Compress::Bzip2::VERSION
             and ! IO::Compress::Bzip2::ckParams($self, $got);
 
+    if ($got->parsed('sparse') ) {
+        *$self->{ZipData}{Sparse} = $got->getValue('sparse') ;
+        *$self->{ZipData}{Method} = ZIP_CM_STORE;
+    }
+
+    if ($got->parsed('filtername')) {
+        my $v = $got->getValue('filtername') ;
+        *$self->{ZipData}{FilterName} = $v
+            if ref $v eq 'CODE' ;
+    }
+
     return 1 ;
 }
 
+sub outputPayload
+{
+    my $self = shift ;
+    return 1 if *$self->{ZipData}{Sparse} ;
+    return $self->output(@_);
+}
+
+
 #sub newHeader
 #{
 #    my $self = shift ;
@@ -509,47 +663,53 @@
 #    return $self->mkHeader(*$self->{Got});
 #}
 
-sub getExtraParams
-{
-    my $self = shift ;
 
-    use IO::Compress::Base::Common  2.033 qw(:Parse);
-    use Compress::Raw::Zlib  2.033 qw(Z_DEFLATED Z_DEFAULT_COMPRESSION Z_DEFAULT_STRATEGY);
-
-    my @Bzip2 = ();
-    
-    @Bzip2 = IO::Compress::Bzip2::getExtraParams($self)
-        if defined $IO::Compress::Bzip2::VERSION;
-    
-    return (
-            # zlib behaviour
-            $self->getZlibParams(),
-
-            'Stream'    => [1, 1, Parse_boolean,   1],
-           #'Store'     => [0, 1, Parse_boolean,   0],
-            'Method'    => [0, 1, Parse_unsigned,  ZIP_CM_DEFLATE],
+our %PARAMS = (            
+            'stream'    => [IO::Compress::Base::Common::Parse_boolean,   1],
+           #'store'     => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'method'    => [IO::Compress::Base::Common::Parse_unsigned,  ZIP_CM_DEFLATE],
             
 #            # Zip header fields
-            'Minimal'   => [0, 1, Parse_boolean,   0],
-            'Zip64'     => [0, 1, Parse_boolean,   0],
-            'Comment'   => [0, 1, Parse_any,       ''],
-            'ZipComment'=> [0, 1, Parse_any,       ''],
-            'Name'      => [0, 1, Parse_any,       ''],
-            'Time'      => [0, 1, Parse_any,       undef],
-            'exTime'    => [0, 1, Parse_any,       undef],
-            'exUnix2'   => [0, 1, Parse_any,       undef], 
-            'ExtAttr'   => [0, 1, Parse_any, 
+            'minimal'   => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'zip64'     => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'comment'   => [IO::Compress::Base::Common::Parse_any,       ''],
+            'zipcomment'=> [IO::Compress::Base::Common::Parse_any,       ''],
+            'name'      => [IO::Compress::Base::Common::Parse_any,       ''],
+            'filtername'=> [IO::Compress::Base::Common::Parse_code,      undef],
+            'canonicalname'=> [IO::Compress::Base::Common::Parse_boolean,   0],
+#            'utf8'      => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'time'      => [IO::Compress::Base::Common::Parse_any,       undef],
+            'extime'    => [IO::Compress::Base::Common::Parse_any,       undef],
+            'exunix2'   => [IO::Compress::Base::Common::Parse_any,       undef], 
+            'exunixn'   => [IO::Compress::Base::Common::Parse_any,       undef], 
+            'extattr'   => [IO::Compress::Base::Common::Parse_any, 
                     $Compress::Raw::Zlib::gzip_os_code == 3 
                         ? 0100644 << 16 
                         : 0],
-            'OS_Code'   => [0, 1, Parse_unsigned,  $Compress::Raw::Zlib::gzip_os_code],
+            'os_code'   => [IO::Compress::Base::Common::Parse_unsigned,  $Compress::Raw::Zlib::gzip_os_code],
             
-           'TextFlag'  => [0, 1, Parse_boolean,   0],
-           'ExtraFieldLocal'  => [0, 1, Parse_any,    undef],
-           'ExtraFieldCentral'=> [0, 1, Parse_any,    undef],
+            'textflag'  => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'extrafieldlocal'  => [IO::Compress::Base::Common::Parse_any,    undef],
+            'extrafieldcentral'=> [IO::Compress::Base::Common::Parse_any,    undef],
 
-            @Bzip2,
-        );
+            # Lzma
+            'preset'   => [IO::Compress::Base::Common::Parse_unsigned, 6],
+            'extreme'  => [IO::Compress::Base::Common::Parse_boolean,  0],
+
+            # For internal use only         
+            'sparse'    => [IO::Compress::Base::Common::Parse_unsigned,  0],
+
+            IO::Compress::RawDeflate::getZlibParams(),
+            defined $IO::Compress::Bzip2::VERSION
+                ? IO::Compress::Bzip2::getExtraParams()
+                : ()
+                
+  
+                );
+
+sub getExtraParams
+{
+    return %PARAMS ;
 }
 
 sub getInverseClass
@@ -564,29 +724,60 @@
     my $params = shift;
     my $filename = shift ;
 
-    my ($mode, $uid, $gid, $atime, $mtime, $ctime) 
-                = (stat($filename))[2, 4,5, 8,9,10] ;
+    if (IO::Compress::Base::Common::isaScalar($filename))
+    {
+        $params->setValue(zip64 => 1)
+            if IO::Compress::Base::Common::isGeMax32 length (${ $filename }) ;
 
-    $params->value('Name' => $filename)
-        if ! $params->parsed('Name') ;
+        return ;
+    }
 
-    $params->value('Time' => $mtime) 
-        if ! $params->parsed('Time') ;
+    my ($mode, $uid, $gid, $size, $atime, $mtime, $ctime) ;
+    if ( $params->parsed('storelinks') )
+    {
+        ($mode, $uid, $gid, $size, $atime, $mtime, $ctime) 
+                = (lstat($filename))[2, 4,5,7, 8,9,10] ;
+    }
+    else
+    {
+        ($mode, $uid, $gid, $size, $atime, $mtime, $ctime) 
+                = (stat($filename))[2, 4,5,7, 8,9,10] ;
+    }
+
+    $params->setValue(textflag => -T $filename )
+        if ! $params->parsed('textflag');
+
+    $params->setValue(zip64 => 1)
+        if IO::Compress::Base::Common::isGeMax32 $size ;
+
+    $params->setValue('name' => $filename)
+        if ! $params->parsed('name') ;
+
+    $params->setValue('time' => $mtime) 
+        if ! $params->parsed('time') ;
     
-    if ( ! $params->parsed('exTime'))
+    if ( ! $params->parsed('extime'))
     {
-        $params->value('MTime' => $mtime) ;
-        $params->value('ATime' => $atime) ;
-        $params->value('CTime' => undef) ; # No Creation time
-        $params->value("exTime", [$mtime, $atime, undef]);
+        $params->setValue('mtime' => $mtime) ;
+        $params->setValue('atime' => $atime) ;
+        $params->setValue('ctime' => undef) ; # No Creation time
+        # TODO - see if can fillout creation time on non-Unix
     }
 
     # NOTE - Unix specific code alert
-    $params->value('ExtAttr' => $mode << 16) 
-        if ! $params->parsed('ExtAttr');
+    if (! $params->parsed('extattr'))
+    {
+        use Fcntl qw(:mode) ;
+        my $attr = $mode << 16;
+        $attr |= ZIP_A_RONLY if ($mode & S_IWRITE) == 0 ;
+        $attr |= ZIP_A_DIR   if ($mode & S_IFMT  ) == S_IFDIR ;
+        
+        $params->setValue('extattr' => $attr);
+    }
 
-    $params->value('UID' => $uid) ;
-    $params->value('GID' => $gid) ;
+    $params->setValue('want_exunixn', [$uid, $gid]);
+    $params->setValue('uid' => $uid) ;
+    $params->setValue('gid' => $gid) ;
     
 }
 
@@ -625,11 +816,29 @@
                                                  $ids);
 }
 
+sub mkUnixNExtra
+{
+    my $uid = shift;
+    my $gid = shift;
 
+    # Assumes UID/GID are 32-bit
+    my $ids ;
+    $ids .= pack "C", 1; # version
+    $ids .= pack "C", $Config{uidsize};
+    $ids .= pack "V", $uid;
+    $ids .= pack "C", $Config{gidsize};
+    $ids .= pack "V", $gid;
+
+    return IO::Compress::Zlib::Extra::mkSubField(ZIP_EXTRA_ID_INFO_ZIP_UNIXN, 
+                                                 $ids);
+}
+
+
 # from Archive::Zip
 sub _unixToDosTime    # Archive::Zip::Member
 {
 	my $time_t = shift;
+    
     # TODO - add something to cope with unix time < 1980 
 	my ( $sec, $min, $hour, $mday, $mon, $year ) = localtime($time_t);
 	my $dt = 0;
@@ -705,11 +914,14 @@
 is what you want, check out C<Archive::Zip>.
 
 At present three compression methods are supported by IO::Compress::Zip,
-namely Store (no compression at all), Deflate and Bzip2.
+namely Store (no compression at all), Deflate, Bzip2 and LZMA.
 
 Note that to create Bzip2 content, the module C<IO::Compress::Bzip2> must
 be installed.
 
+Note that to create LZMA content, the module C<IO::Compress::Lzma> must
+be installed.
+
 For reading zip files/buffers, see the companion module 
 L<IO::Uncompress::Unzip|IO::Uncompress::Unzip>.
 
@@ -722,7 +934,7 @@
 
     use IO::Compress::Zip qw(zip $ZipError) ;
 
-    zip $input => $output [,OPTS] 
+    zip $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "zip failed: $ZipError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -729,12 +941,13 @@
 
 =head2 zip $input => $output [, OPTS]
 
-C<zip> expects at least two parameters, C<$input> and C<$output>.
+C<zip> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the uncompressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the uncompressed data. 
 
 It can take one of the following forms:
 
@@ -742,25 +955,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -769,72 +982,80 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<zip> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<zip> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-In addition, if C<$input> is a simple filename, the default values for
-the C<Name>, C<Time>, C<ExtAttr> and C<exTime> options will be sourced from that file.
+In addition, if C<$input_filename_or_reference> is a simple filename, 
+the default values for
+the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options will be sourced from that file.
 
 If you do not want to use these defaults they can be overridden by
-explicitly setting the C<Name>, C<Time>, C<ExtAttr> and C<exTime> options or by setting the
+explicitly setting the C<Name>, C<Time>, C<TextFlag>, C<ExtAttr>, C<exUnixN> and C<exTime> options or by setting the
 C<Minimal> parameter.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-compressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the compressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the compressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+compressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the compressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+compressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the compressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+compressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the compressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the compressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<zip> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<zip> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple files/buffers and C<$output> is a single
+When C<$input_filename_or_reference> maps to multiple files/buffers and
+C<$output_filename_or_reference> is a single
 file/buffer the input files/buffers will each be stored
-in C<$output> as a distinct entry.
+in C<$output_filename_or_reference> as a distinct entry.
 
 =head2 Optional Parameters
 
@@ -1060,12 +1281,67 @@
 
 Stores the contents of C<$string> in the zip filename header field. 
 
-If C<Name> is not specified and the C<$input> parameter is a filename that
-will be used for the zip filename header field.
+If C<Name> is not specified and the C<$input> parameter is a filename, the
+value of C<$input> will be used for the zip filename header field.
 
 If C<Name> is not specified and the C<$input> parameter is not a filename,
 no zip filename field will be created.
 
+Note that both the C<CanonicalName> and C<FilterName> options
+can modify the value used for the zip filename header field.
+
+=item C<< CanonicalName => 0|1 >>
+
+This option controls whether the filename field in the zip header is
+I<normalized> into Unix format before being written to the zip file.
+
+It is recommended that you enable this option unless you really need
+to create a non-standard Zip file.
+
+This is what APPNOTE.TXT has to say on what should be stored in the zip
+filename header field.
+
+    The name of the file, with optional relative path.          
+    The path stored should not contain a drive or
+    device letter, or a leading slash.  All slashes
+    should be forward slashes '/' as opposed to
+    backwards slashes '\' for compatibility with Amiga
+    and UNIX file systems etc.
+
+This option defaults to B<false>.
+
+=item C<< FilterName => sub { ... }  >>
+
+This option allow the filename field in the zip header to be modified
+before it is written to the zip file.
+
+This option takes a parameter that must be a reference to a sub.  On entry
+to the sub the C<$_> variable will contain the name to be filtered. If no
+filename is available C<$_> will contain an empty string.
+
+The value of C<$_> when the sub returns will be  stored in the filename
+header field.
+
+Note that if C<CanonicalName> is enabled, a
+normalized filename will be passed to the sub.
+
+If you use C<FilterName> to modify the filename, it is your responsibility
+to keep the filename in Unix format.
+
+Although this option can be used with the OO ointerface, it is of most use
+with the one-shot interface. For example, the code below shows how
+C<FilterName> can be used to remove the path component from a series of
+filenames before they are stored in C<$zipfile>.
+
+    sub compressTxtFiles
+    {
+        my $zipfile = shift ;
+        my $dir     = shift ;
+
+        zip [ <$dir/*.txt> ] => $zipfile,
+            FilterName => sub { s[^$dir/][] } ;  
+    }    
+
 =item C<< Time => $number >>
 
 Sets the last modified time field in the zip header to $number.
@@ -1111,18 +1387,37 @@
 =item C<< exUnix2 => [$uid, $gid] >>
 
 This option expects an array reference with exactly two elements: C<$uid>
-and C<$gid>. These values correspond to the numeric user ID and group ID
-of the owner of the files respectively.
+and C<$gid>. These values correspond to the numeric User ID (UID) and Group ID
+(GID) of the owner of the files respectively.
 
 When the C<exUnix2> option is present it will trigger the creation of a
-Unix2 extra field (ID is "Ux") in the local zip. This will be populated
-with C<$uid> and C<$gid>. In addition an empty Unix2 extra field will also
-be created in the central zip header
+Unix2 extra field (ID is "Ux") in the local zip header. This will be populated
+with C<$uid> and C<$gid>. An empty Unix2 extra field will also
+be created in the central zip header. 
 
+Note - The UID & GID are stored as 16-bit
+integers in the "Ux" field. Use C<< exUnixN >> if your UID or GID are
+32-bit.
+
 If the C<Minimal> option is set to true, this option will be ignored.
 
 By default no Unix2 extra field is created.
 
+=item C<< exUnixN => [$uid, $gid] >>
+
+This option expects an array reference with exactly two elements: C<$uid>
+and C<$gid>. These values correspond to the numeric User ID (UID) and Group ID
+(GID) of the owner of the files respectively.
+
+When the C<exUnixN> option is present it will trigger the creation of a
+UnixN extra field (ID is "ux") in bothe the local and central zip headers. 
+This will be populated with C<$uid> and C<$gid>. 
+The UID & GID are stored as 32-bit integers.
+
+If the C<Minimal> option is set to true, this option will be ignored.
+
+By default no UnixN extra field is created.
+
 =item C<< Comment => $comment >>
 
 Stores the contents of C<$comment> in the Central File Header of
@@ -1139,12 +1434,12 @@
 
 =item C<< Method => $method >>
 
-Controls which compression method is used. At present three compression
-methods are supported, namely Store (no compression at all), Deflate and
-Bzip2.
+Controls which compression method is used. At present four compression
+methods are supported, namely Store (no compression at all), Deflate, 
+Bzip2 and Lzma.
 
-The symbols, ZIP_CM_STORE, ZIP_CM_DEFLATE and ZIP_CM_BZIP2 are used to
-select the compression method.
+The symbols, ZIP_CM_STORE, ZIP_CM_DEFLATE, ZIP_CM_BZIP2 and ZIP_CM_LZMA 
+are used to select the compression method.
 
 These constants are not imported by C<IO::Compress::Zip> by default.
 
@@ -1156,6 +1451,10 @@
 be installed. A fatal error will be thrown if you attempt to create Bzip2
 content when C<IO::Compress::Bzip2> is not available.
 
+Note that to create Lzma content, the module C<IO::Compress::Lzma> must
+be installed. A fatal error will be thrown if you attempt to create Lzma
+content when C<IO::Compress::Lzma> is not available.
+
 The default method is ZIP_CM_DEFLATE.
 
 =item C<< Stream => 0|1 >>
@@ -1170,11 +1469,15 @@
 
 =item C<< Zip64 => 0|1 >>
 
-Create a Zip64 zip file/buffer. This option should only be used if you want
-to store files larger than 4 Gig.
+Create a Zip64 zip file/buffer. This option is used if you want
+to store files larger than 4 Gig or store more than 64K files in a single
+zip archive.. 
 
+C<Zip64> will be automatically set, as needed, if working with the one-shot 
+interface when the input is either a filename or a scalar reference.
+
 If you intend to manipulate the Zip64 zip files created with this module
-using an external zip/unzip make sure that it supports Zip64.  
+using an external zip/unzip, make sure that it supports Zip64.  
 
 In particular, if you are using Info-Zip you need to have zip version 3.x
 or better to update a Zip64 archive and unzip version 6.x to read a zip64
@@ -1188,9 +1491,13 @@
 is used to signal that the data stored in the zip file/buffer is probably
 text.
 
+In one-shot mode this flag will be set to true if the Perl C<-T> operator thinks
+the file contains text.
+
 The default is 0. 
 
 =item C<< ExtraFieldLocal => $data >>
+
 =item C<< ExtraFieldCentral => $data >>
 
 The C<ExtraFieldLocal> option is used to store additional metadata in the
@@ -1227,6 +1534,9 @@
 
     ExtraField => $rawdata
 
+In this case C<IO::Compress::Zip> will check that C<$rawdata> consists of 
+zero or more conformant sub-fields. 
+
 The Extended Time field (ID "UT"), set using the C<exTime> option, and the
 Unix2 extra field (ID "Ux), set using the C<exUnix2> option, are examples
 of extra fields.
@@ -1239,7 +1549,8 @@
 
 If specified, this option will disable the creation of all extra fields
 in the zip local and central headers. So the C<exTime>, C<exUnix2>,
-C<ExtraFieldLocal> and C<ExtraFieldCentral> options will be ignored.
+C<exUnixN>, C<ExtraFieldLocal> and C<ExtraFieldCentral> options will 
+be ignored.
 
 This parameter defaults to 0.
 
@@ -1266,6 +1577,32 @@
 
 The default is 0.
 
+=item C<< Preset => number >>
+
+Used to choose the LZMA compression preset.
+
+Valid values are 0-9 and C<LZMA_PRESET_DEFAULT>.
+
+0 is the fastest compression with the lowest memory usage and the lowest
+compression.
+
+9 is the slowest compession with the highest memory usage but with the best
+compression.
+
+This option is only valid if the C<Method> is ZIP_CM_LZMA. It is ignored
+otherwise.
+
+Defaults to C<LZMA_PRESET_DEFAULT> (6).
+
+=item C<< Extreme => 0|1 >>
+
+Makes LZMA compression a lot slower, but a small compression gain.
+
+This option is only valid if the C<Method> is ZIP_CM_LZMA. It is ignored
+otherwise.
+
+Defaults to 0.
+
 =item -Level 
 
 Defines the compression level used by zlib. The value should either be
@@ -1460,7 +1797,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -1579,8 +1916,6 @@
 
 See L<IO::Compress::FAQ|IO::Compress::FAQ/"Apache::GZip Revisited">
 
-    
-
 =head2 Working with Net::FTP
 
 See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
@@ -1589,7 +1924,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1618,7 +1953,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 
 our ($VERSION, @ISA, @EXPORT);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 @ISA = qw(Exporter);
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package IO::Compress::Zlib::Extra;
 
-require 5.004 ;
+require 5.006 ;
 
 use strict ;
 use warnings;
@@ -8,9 +8,9 @@
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
-use IO::Compress::Gzip::Constants 2.033 ;
+use IO::Compress::Gzip::Constants 2.060 ;
 
 sub ExtraFieldError
 {
@@ -98,7 +98,39 @@
     return undef ;
 }
 
+sub findID
+{
+    my $id_want = shift ;
+    my $data    = shift;
 
+    my $XLEN = length $data ;
+
+    my $offset = 0 ;
+    while ($offset < $XLEN) {
+
+        return undef
+            if $offset + GZIP_FEXTRA_SUBFIELD_HEADER_SIZE  > $XLEN ;
+
+        my $id = substr($data, $offset, GZIP_FEXTRA_SUBFIELD_ID_SIZE);    
+        $offset += GZIP_FEXTRA_SUBFIELD_ID_SIZE;
+
+        my $subLen =  unpack("v", substr($data, $offset,
+                                            GZIP_FEXTRA_SUBFIELD_LEN_SIZE));
+        $offset += GZIP_FEXTRA_SUBFIELD_LEN_SIZE ;
+
+        return undef
+            if $offset + $subLen > $XLEN ;
+
+        return substr($data, $offset, $subLen)
+            if $id eq $id_want ;
+
+        $offset += $subLen ;
+    }
+        
+    return undef ;
+}
+
+
 sub mkSubField
 {
     my $id = shift ;
@@ -142,7 +174,6 @@
         return parseRawExtra($dataRef, undef, 1, $gzipMode);
     }
 
-    #my $data = $$dataRef;
     my $data = $dataRef;
     my $out = '' ;
 
@@ -163,7 +194,7 @@
             return ExtraFieldError("Not even number of elements")
                 unless @$data % 2  == 0;
 
-            for (my $ix = 0; $ix <= length(@$data) -1 ; $ix += 2) {
+            for (my $ix = 0; $ix <= @$data -1 ; $ix += 2) {
                 my $bad = validateExtraFieldPair([$data->[$ix],
                                                   $data->[$ix+1]], 
                                                  $strict, $gzipMode) ;


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,12 +4,12 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.033 qw(:Status);
+use IO::Compress::Base::Common 2.060 qw(:Status);
 
-use Compress::Raw::Bzip2 2.033 ;
+use Compress::Raw::Bzip2 2.060 ;
 
 our ($VERSION, @ISA);
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 sub mkUncompObject
 {


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,20 +4,24 @@
 use strict;
 use bytes;
 
-use IO::Compress::Base::Common  2.033 qw(:Status);
+use IO::Compress::Base::Common  2.060 qw(:Status);
+use IO::Compress::Zip::Constants ;
 
 our ($VERSION);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
-use Compress::Raw::Zlib  2.033 ();
+use Compress::Raw::Zlib  2.060 ();
 
 sub mkUncompObject
 {
+    my $streaming = shift;
+    my $zip64 = shift;
+
     my $crc32 = 1; #shift ;
     my $adler32 = shift;
 
-    bless { 'CompSize'   => 0,
+    bless { 'CompSize'   => new U64 , # 0,
             'UnCompSize' => 0,
             'wantCRC32'  => $crc32,
             'CRC32'      => Compress::Raw::Zlib::crc32(''),
@@ -24,27 +28,107 @@
             'wantADLER32'=> $adler32,
             'ADLER32'    => Compress::Raw::Zlib::adler32(''),
             'ConsumesInput' => 1,
+            'Streaming'  => $streaming,
+            'Zip64'      => $zip64,
+            'DataHdrSize'  => $zip64 ? 24 :  16,
+            'Pending'   => '',
 
           } ;
 }
 
+
 sub uncompr
 {
     my $self = shift;
+    my $in = $_[0];
     my $eof = $_[2];
 
-    if (defined ${ $_[0] } && length ${ $_[0] }) {
-        $self->{CompSize} += length ${ $_[0] } ;
-        $self->{UnCompSize} = $self->{CompSize} ;
+    my $len = length $$in;
+    my $remainder = '';
 
-        $self->{CRC32} = Compress::Raw::Zlib::crc32($_[0],  $self->{CRC32})
-            if $self->{wantCRC32};
+    if (defined $$in && $len) {
 
-        $self->{ADLER32} = Compress::Zlib::adler32($_[0],  $self->{ADLER32})
-            if $self->{wantADLER32};
+        if ($self->{Streaming}) {
 
-        ${ $_[1] } .= ${ $_[0] };
-        ${ $_[0] } = "";
+            if (length $self->{Pending}) {
+                $$in = $self->{Pending} . $$in ;
+                $len = length $$in;
+                $self->{Pending} = '';
+            }
+
+            my $ind = index($$in, "\x50\x4b\x07\x08");
+
+            if ($ind < 0) {
+                $len = length $$in;
+                if ($len >= 3 && substr($$in, -3) eq "\x50\x4b\x07") {
+                    $ind = $len - 3 ;
+                }
+                elsif ($len >= 2 && substr($$in, -2) eq "\x50\x4b") {
+                    $ind = $len - 2 ;
+                }
+                elsif ($len >= 1 && substr($$in, -1) eq "\x50") {
+                    $ind = $len - 1 ;
+                }
+            }
+           
+            if ($ind >= 0) {
+                $remainder = substr($$in, $ind) ;
+                substr($$in, $ind) = '' ;
+            }
+        }
+
+        if (length $remainder && length $remainder < $self->{DataHdrSize}) {
+            $self->{Pending} = $remainder ;
+            $remainder = '';
+        }
+        elsif (length $remainder >= $self->{DataHdrSize}) {
+            my $crc = unpack "V", substr($remainder, 4);
+            if ($crc == Compress::Raw::Zlib::crc32($$in,  $self->{CRC32})) {
+                my ($l1, $l2) ;
+
+                if ($self->{Zip64}) {
+                    $l1 = U64::newUnpack_V64(substr($remainder, 8));
+                    $l2 = U64::newUnpack_V64(substr($remainder, 16));
+                }
+                else {
+                    $l1 = U64::newUnpack_V32(substr($remainder, 8));
+                    $l2 = U64::newUnpack_V32(substr($remainder, 12));
+                }
+                    
+                my $newLen = $self->{CompSize}->clone();
+                $newLen->add(length $$in);
+                if ($l1->equal($l2) && $l1->equal($newLen) ) {
+                    $eof = 1;
+                }
+                else {
+                    $$in .= substr($remainder, 0, 4) ;
+                    $remainder       = substr($remainder, 4);
+                    #$self->{Pending} = substr($remainder, 4);
+                    #$remainder = '';
+                    $eof = 0;
+                }
+            }
+            else {
+                $$in .= substr($remainder, 0, 4) ;
+                $remainder       = substr($remainder, 4);
+                #$self->{Pending} = substr($remainder, 4);
+                #$remainder = '';
+                $eof = 0;
+            }
+        }
+
+        if (length $$in) {
+            $self->{CompSize}->add(length $$in) ;
+
+            $self->{CRC32} = Compress::Raw::Zlib::crc32($$in,  $self->{CRC32})
+                if $self->{wantCRC32};
+
+            $self->{ADLER32} = Compress::Zlib::adler32($$in,  $self->{ADLER32})
+                if $self->{wantADLER32};
+        }
+
+        ${ $_[1] } .= $$in;
+        $$in  = $remainder;
     }
 
     return STATUS_ENDSTREAM if $eof;
@@ -63,7 +147,6 @@
     return STATUS_OK ;
 }
 
-
 #sub count
 #{
 #    my $self = shift ;
@@ -73,13 +156,13 @@
 sub compressedBytes
 {
     my $self = shift ;
-    return $self->{UnCompSize} ;
+    return $self->{CompSize} ;
 }
 
 sub uncompressedBytes
 {
     my $self = shift ;
-    return $self->{UnCompSize} ;
+    return $self->{CompSize} ;
 }
 
 sub sync


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,13 +2,13 @@
 
 use strict;
 use warnings;
-use bytes;
+#use bytes;
 
-use IO::Compress::Base::Common  2.033 qw(:Status);
-use Compress::Raw::Zlib  2.033 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
+use IO::Compress::Base::Common  2.060 qw(:Status);
+use Compress::Raw::Zlib  2.060 qw(Z_OK Z_BUF_ERROR Z_STREAM_END Z_FINISH MAX_WBITS);
 
 our ($VERSION);
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,22 +6,22 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.033 qw(createSelfTiedObject);
+use IO::Compress::Base::Common  2.060 ();
 
-use IO::Uncompress::Adapter::Inflate  2.033 ();
+use IO::Uncompress::Adapter::Inflate  2.060 ();
 
 
-use IO::Uncompress::Base  2.033 ;
-use IO::Uncompress::Gunzip  2.033 ;
-use IO::Uncompress::Inflate  2.033 ;
-use IO::Uncompress::RawInflate  2.033 ;
-use IO::Uncompress::Unzip  2.033 ;
+use IO::Uncompress::Base  2.060 ;
+use IO::Uncompress::Gunzip  2.060 ;
+use IO::Uncompress::Inflate  2.060 ;
+use IO::Uncompress::RawInflate  2.060 ;
+use IO::Uncompress::Unzip  2.060 ;
 
 require Exporter ;
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyInflateError);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $AnyInflateError = '';
 
 @ISA = qw( Exporter IO::Uncompress::Base );
@@ -36,20 +36,20 @@
 sub new
 {
     my $class = shift ;
-    my $obj = createSelfTiedObject($class, \$AnyInflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$AnyInflateError);
     $obj->_create(undef, 0, @_);
 }
 
 sub anyinflate
 {
-    my $obj = createSelfTiedObject(undef, \$AnyInflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$AnyInflateError);
     return $obj->_inf(@_) ;
 }
 
 sub getExtraParams
 {
-    use IO::Compress::Base::Common  2.033 qw(:Parse);
-    return ( 'RawInflate' => [1, 1, Parse_boolean,  0] ) ;
+    use IO::Compress::Base::Common  2.060 qw(:Parse);
+    return ( 'rawinflate' => [Parse_boolean,  0] ) ;
 }
 
 sub ckParams
@@ -58,8 +58,8 @@
     my $got = shift ;
 
     # any always needs both crc32 and adler32
-    $got->value('CRC32' => 1);
-    $got->value('ADLER32' => 1);
+    $got->setValue('crc32' => 1);
+    $got->setValue('adler32' => 1);
 
     return 1;
 }
@@ -78,7 +78,7 @@
     
      my @possible = qw( Inflate Gunzip Unzip );
      unshift @possible, 'RawInflate' 
-        if 1 || $got->value('RawInflate');
+        if 1 || $got->getValue('rawinflate');
 
      my $magic = $self->ckMagic( @possible );
 
@@ -205,7 +205,7 @@
 
     use IO::Uncompress::AnyInflate qw(anyinflate $AnyInflateError) ;
 
-    anyinflate $input => $output [,OPTS] 
+    anyinflate $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "anyinflate failed: $AnyInflateError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -212,12 +212,13 @@
 
 =head2 anyinflate $input => $output [, OPTS]
 
-C<anyinflate> expects at least two parameters, C<$input> and C<$output>.
+C<anyinflate> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the compressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the compressed data. 
 
 It can take one of the following forms:
 
@@ -225,25 +226,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -252,64 +253,71 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<anyinflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<anyinflate> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the uncompressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the uncompressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+uncompressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+uncompressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+uncompressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the uncompressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<anyinflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<anyinflate> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
+When C<$input_filename_or_reference> maps to multiple compressed
+files/buffers and C<$output_filename_or_reference> is
+a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a
 concatenation of all the uncompressed data from each of the input
 files/buffers.
 
@@ -507,7 +515,7 @@
 =item A scalar reference 
 
 If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
+C<$$input>.
 
 =back
 
@@ -799,6 +807,13 @@
 that it is only legal to seek forward in the input file/buffer.
 It is a fatal error to attempt to seek backward.
 
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It  works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
 The C<$whence> parameter takes one the usual values, namely SEEK_SET,
 SEEK_CUR or SEEK_END.
 
@@ -856,7 +871,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -945,13 +960,13 @@
 
 =head2 Working with Net::FTP
 
-See L<IO::Uncompress::AnyInflate::FAQ|IO::Uncompress::AnyInflate::FAQ/"Compressed files and Net::FTP">
+See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
 
 =head1 SEE ALSO
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -980,7 +995,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,9 +4,9 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.033 qw(createSelfTiedObject);
+use IO::Compress::Base::Common 2.060 ();
 
-use IO::Uncompress::Base 2.033 ;
+use IO::Uncompress::Base 2.060 ;
 
 
 require Exporter ;
@@ -13,7 +13,7 @@
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $AnyUncompressError);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $AnyUncompressError = '';
 
 @ISA = qw( Exporter IO::Uncompress::Base );
@@ -27,42 +27,41 @@
 
 BEGIN
 {
-   eval ' use IO::Uncompress::Adapter::Inflate 2.033 ;';
-   eval ' use IO::Uncompress::Adapter::Bunzip2 2.033 ;';
-   eval ' use IO::Uncompress::Adapter::LZO 2.033 ;';
-   eval ' use IO::Uncompress::Adapter::Lzf 2.033 ;';
-   eval ' use IO::Uncompress::Adapter::UnLzma 2.020 ;';
-   eval ' use IO::Uncompress::Adapter::UnXz 2.020 ;';
+   eval ' use IO::Uncompress::Adapter::Inflate 2.060 ;';
+   eval ' use IO::Uncompress::Adapter::Bunzip2 2.060 ;';
+   eval ' use IO::Uncompress::Adapter::LZO 2.060 ;';
+   eval ' use IO::Uncompress::Adapter::Lzf 2.060 ;';
+   eval ' use IO::Uncompress::Adapter::UnLzma 2.060 ;';
+   eval ' use IO::Uncompress::Adapter::UnXz 2.060 ;';
 
-   eval ' use IO::Uncompress::Bunzip2 2.033 ;';
-   eval ' use IO::Uncompress::UnLzop 2.033 ;';
-   eval ' use IO::Uncompress::Gunzip 2.033 ;';
-   eval ' use IO::Uncompress::Inflate 2.033 ;';
-   eval ' use IO::Uncompress::RawInflate 2.033 ;';
-   eval ' use IO::Uncompress::Unzip 2.033 ;';
-   eval ' use IO::Uncompress::UnLzf 2.033 ;';
-   eval ' use IO::Uncompress::UnLzma 2.033 ;';
-   eval ' use IO::Uncompress::UnXz 2.033 ;';
+   eval ' use IO::Uncompress::Bunzip2 2.060 ;';
+   eval ' use IO::Uncompress::UnLzop 2.060 ;';
+   eval ' use IO::Uncompress::Gunzip 2.060 ;';
+   eval ' use IO::Uncompress::Inflate 2.060 ;';
+   eval ' use IO::Uncompress::RawInflate 2.060 ;';
+   eval ' use IO::Uncompress::Unzip 2.060 ;';
+   eval ' use IO::Uncompress::UnLzf 2.060 ;';
+   eval ' use IO::Uncompress::UnLzma 2.060 ;';
+   eval ' use IO::Uncompress::UnXz 2.060 ;';
 }
 
 sub new
 {
     my $class = shift ;
-    my $obj = createSelfTiedObject($class, \$AnyUncompressError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$AnyUncompressError);
     $obj->_create(undef, 0, @_);
 }
 
 sub anyuncompress
 {
-    my $obj = createSelfTiedObject(undef, \$AnyUncompressError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$AnyUncompressError);
     return $obj->_inf(@_) ;
 }
 
 sub getExtraParams
-{
-    use IO::Compress::Base::Common 2.033 qw(:Parse);
-    return ( 'RawInflate' => [1, 1, Parse_boolean,  0] ,
-             'UnLzma'     => [1, 1, Parse_boolean,  0] ) ;
+{ 
+    return ( 'rawinflate' => [IO::Compress::Base::Common::Parse_boolean,  0] ,
+             'unlzma'     => [IO::Compress::Base::Common::Parse_boolean,  0] ) ;
 }
 
 sub ckParams
@@ -71,8 +70,8 @@
     my $got = shift ;
 
     # any always needs both crc32 and adler32
-    $got->value('CRC32' => 1);
-    $got->value('ADLER32' => 1);
+    $got->setValue('crc32' => 1);
+    $got->setValue('adler32' => 1);
 
     return 1;
 }
@@ -96,7 +95,7 @@
         
         my @possible = qw( Inflate Gunzip Unzip );
         unshift @possible, 'RawInflate' 
-            if $got->value('RawInflate');
+            if $got->getValue('rawinflate');
 
         $magic = $self->ckMagic( @possible );
         
@@ -108,7 +107,7 @@
         }
      }
 
-    if (defined $IO::Uncompress::UnLzma::VERSION && $got->value('UnLzma'))
+    if (defined $IO::Uncompress::UnLzma::VERSION && $got->getValue('unlzma'))
     {
         my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::UnLzma::mkUncompObject();
 
@@ -119,7 +118,7 @@
         
         my @possible = qw( UnLzma );
         #unshift @possible, 'RawInflate' 
-        #    if $got->value('RawInflate');
+        #    if $got->getValue('rawinflate');
 
         if ( *$self->{Info} = $self->ckMagic( @possible ))
         {
@@ -314,7 +313,7 @@
 
     use IO::Uncompress::AnyUncompress qw(anyuncompress $AnyUncompressError) ;
 
-    anyuncompress $input => $output [,OPTS] 
+    anyuncompress $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "anyuncompress failed: $AnyUncompressError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -321,12 +320,13 @@
 
 =head2 anyuncompress $input => $output [, OPTS]
 
-C<anyuncompress> expects at least two parameters, C<$input> and C<$output>.
+C<anyuncompress> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the compressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the compressed data. 
 
 It can take one of the following forms:
 
@@ -334,25 +334,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -361,64 +361,71 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<anyuncompress> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<anyuncompress> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the uncompressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the uncompressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+uncompressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+uncompressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+uncompressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the uncompressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<anyuncompress> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<anyuncompress> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
+When C<$input_filename_or_reference> maps to multiple compressed
+files/buffers and C<$output_filename_or_reference> is
+a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a
 concatenation of all the uncompressed data from each of the input
 files/buffers.
 
@@ -616,7 +623,7 @@
 =item A scalar reference 
 
 If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
+C<$$input>.
 
 =back
 
@@ -847,6 +854,13 @@
 that it is only legal to seek forward in the input file/buffer.
 It is a fatal error to attempt to seek backward.
 
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It  works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
 The C<$whence> parameter takes one the usual values, namely SEEK_SET,
 SEEK_CUR or SEEK_END.
 
@@ -904,7 +918,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -995,7 +1009,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1011,7 +1025,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,38 +3,33 @@
 
 use strict ;
 use warnings;
-use bytes;
+#use bytes;
 
 our (@ISA, $VERSION, @EXPORT_OK, %EXPORT_TAGS);
 @ISA    = qw(Exporter IO::File);
 
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 use constant G_EOF => 0 ;
 use constant G_ERR => -1 ;
 
-use IO::Compress::Base::Common 2.033 ;
-#use Parse::Parameters ;
+use IO::Compress::Base::Common 2.060 ;
 
 use IO::File ;
 use Symbol;
-use Scalar::Util qw(readonly);
-use List::Util qw(min);
+use Scalar::Util ();
+use List::Util ();
 use Carp ;
 
 %EXPORT_TAGS = ( );
 push @{ $EXPORT_TAGS{all} }, @EXPORT_OK ;
-#Exporter::export_ok_tags('all') ;
 
-
-
 sub smartRead
 {
     my $self = $_[0];
     my $out = $_[1];
     my $size = $_[2];
-    #$$out = "" ;
     $$out = "" ;
 
     my $offset = 0 ;
@@ -44,11 +39,10 @@
     if (defined *$self->{InputLength}) {
         return 0
             if *$self->{InputLengthRemaining} <= 0 ;
-        $size = min($size, *$self->{InputLengthRemaining});
+        $size = List::Util::min($size, *$self->{InputLengthRemaining});
     }
 
     if ( length *$self->{Prime} ) {
-        #$$out = substr(*$self->{Prime}, 0, $size, '') ;
         $$out = substr(*$self->{Prime}, 0, $size) ;
         substr(*$self->{Prime}, 0, $size) =  '' ;
         if (length $$out == $size) {
@@ -86,7 +80,6 @@
         }
 
         if (length $$out > $size ) {
-            #*$self->{Prime} = substr($$out, $size, length($$out), '');
             *$self->{Prime} = substr($$out, $size, length($$out));
             substr($$out, $size, length($$out)) =  '';
         }
@@ -97,7 +90,6 @@
        no warnings 'uninitialized';
        my $buf = *$self->{Buffer} ;
        $$buf = '' unless defined $$buf ;
-       #$$out = '' unless defined $$out ;
        substr($$out, $offset) = substr($$buf, *$self->{BufferOffset}, $get_size);
        if (*$self->{ConsumeInput})
          { substr($$buf, 0, $get_size) = '' }
@@ -148,13 +140,22 @@
     my $self   = shift ;
     my $offset = shift ;
     my $truncate = shift;
-    #print "smartSeek to $offset\n";
+    my $position = shift || SEEK_SET;
 
     # TODO -- need to take prime into account
     if (defined *$self->{FH})
-      { *$self->{FH}->seek($offset, SEEK_SET) }
+      { *$self->{FH}->seek($offset, $position) }
     else {
-        *$self->{BufferOffset} = $offset ;
+        if ($position == SEEK_END) {
+            *$self->{BufferOffset} = length ${ *$self->{Buffer} } + $offset ;
+        }
+        elsif ($position == SEEK_CUR) {
+            *$self->{BufferOffset} += $offset ;
+        }
+        else {
+            *$self->{BufferOffset} = $offset ;
+        }
+
         substr(${ *$self->{Buffer} }, *$self->{BufferOffset}) = ''
             if $truncate;
         return 1;
@@ -161,6 +162,16 @@
     }
 }
 
+sub smartTell
+{
+    my $self   = shift ;
+
+    if (defined *$self->{FH})
+      { return *$self->{FH}->tell() }
+    else 
+      { return *$self->{BufferOffset} }
+}
+
 sub smartWrite
 {
     my $self   = shift ;
@@ -199,7 +210,8 @@
         #
         # here, but this can cause trouble if
         # the filehandle is itself a tied handle, but it uses sysread.
-        # Then we get into mixing buffered & non-buffered IO, which will cause trouble
+        # Then we get into mixing buffered & non-buffered IO, 
+        # which will cause trouble
 
         my $info = $self->getErrInfo();
         
@@ -207,7 +219,7 @@
         my $status = $self->smartRead(\$buffer, 1);
         $self->pushBack($buffer) if length $buffer;
         $self->setErrInfo($info);
-        
+
         return $status == 0 ;
     }
     elsif (defined *$self->{InputEvent})
@@ -244,8 +256,6 @@
 {
     my $self   = shift ;
     my $errno = shift() + 0 ;
-    #return $errno unless $errno || ! defined *$self->{ErrorNo};
-    #return $errno unless $errno ;
 
     *$self->{ErrorNo}  = $errno;
     ${ *$self->{Error} } = '' ;
@@ -259,12 +269,9 @@
     my $self   = shift ;
     my $retval = shift ;
 
-    #return $retval if ${ *$self->{Error} };
-
     ${ *$self->{Error} } = shift ;
-    *$self->{ErrorNo} = shift() + 0 if @_ ;
+    *$self->{ErrorNo} = @_ ? shift() + 0 : STATUS_ERROR ;
 
-    #warn "saveErrorString: " . ${ *$self->{Error} } . " " . *$self->{Error} . "\n" ;
     return $retval;
 }
 
@@ -341,20 +348,20 @@
     my $got = shift || IO::Compress::Base::Parameters::new();
     
     my $Valid = {
-                    'BlockSize'     => [1, 1, Parse_unsigned, 16 * 1024],
-                    'AutoClose'     => [1, 1, Parse_boolean,  0],
-                    'Strict'        => [1, 1, Parse_boolean,  0],
-                    'Append'        => [1, 1, Parse_boolean,  0],
-                    'Prime'         => [1, 1, Parse_any,      undef],
-                    'MultiStream'   => [1, 1, Parse_boolean,  0],
-                    'Transparent'   => [1, 1, Parse_any,      1],
-                    'Scan'          => [1, 1, Parse_boolean,  0],
-                    'InputLength'   => [1, 1, Parse_unsigned, undef],
-                    'BinModeOut'    => [1, 1, Parse_boolean,  0],
-                    #'Encode'        => [1, 1, Parse_any,       undef],
+                    'blocksize'     => [IO::Compress::Base::Common::Parse_unsigned, 16 * 1024],
+                    'autoclose'     => [IO::Compress::Base::Common::Parse_boolean,  0],
+                    'strict'        => [IO::Compress::Base::Common::Parse_boolean,  0],
+                    'append'        => [IO::Compress::Base::Common::Parse_boolean,  0],
+                    'prime'         => [IO::Compress::Base::Common::Parse_any,      undef],
+                    'multistream'   => [IO::Compress::Base::Common::Parse_boolean,  0],
+                    'transparent'   => [IO::Compress::Base::Common::Parse_any,      1],
+                    'scan'          => [IO::Compress::Base::Common::Parse_boolean,  0],
+                    'inputlength'   => [IO::Compress::Base::Common::Parse_unsigned, undef],
+                    'binmodeout'    => [IO::Compress::Base::Common::Parse_boolean,  0],
+                   #'decode'        => [IO::Compress::Base::Common::Parse_any,      undef],
 
-                   #'ConsumeInput'  => [1, 1, Parse_boolean,  0],
-
+                   #'consumeinput'  => [IO::Compress::Base::Common::Parse_boolean,  0],
+                   
                     $self->getExtraParams(),
 
                     #'Todo - Revert to ordinary file on end Z_STREAM_END'=> 0,
@@ -361,14 +368,14 @@
                     # ContinueAfterEof
                 } ;
 
-    $Valid->{TrailingData} = [1, 1, Parse_writable_scalar, undef]
+    $Valid->{trailingdata} = [IO::Compress::Base::Common::Parse_writable_scalar, undef]
         if  *$self->{OneShot} ;
         
     $got->parse($Valid, @_ ) 
-        or $self->croakError("${class}: $got->{Error}")  ;
+        or $self->croakError("${class}: " . $got->getError()) ;
 
     $self->postCheckParams($got) 
-        or $self->croakError("${class}: " . $self->error())  ;
+        or $self->croakError("${class}: " . $self->error()) ;
 
     return $got;
 }
@@ -385,7 +392,7 @@
 
     my $inValue = shift ;
 
-    *$obj->{OneShot}           = 0 ;
+    *$obj->{OneShot} = 0 ;
 
     if (! $got)
     {
@@ -415,12 +422,12 @@
 
             # Need to rewind for Scan
             *$obj->{FH}->seek(0, SEEK_SET) 
-                if $got->value('Scan');
+                if $got->getValue('scan');
         }  
         else {    
             no warnings ;
             my $mode = '<';
-            $mode = '+<' if $got->value('Scan');
+            $mode = '+<' if $got->getValue('scan');
             *$obj->{StdIO} = ($inValue eq '-');
             *$obj->{FH} = new IO::File "$mode $inValue"
                 or return $obj->saveErrorString(undef, "cannot open file '$inValue': $!", $!) ;
@@ -433,32 +440,34 @@
         *$obj->{Buffer} = \$buff ;
     }
 
-    if ($got->parsed('Encode')) { 
-        my $want_encoding = $got->value('Encode');
-        *$obj->{Encoding} = getEncoding($obj, $class, $want_encoding);
-    }
+#    if ($got->getValue('decode')) { 
+#        my $want_encoding = $got->getValue('decode');
+#        *$obj->{Encoding} = IO::Compress::Base::Common::getEncoding($obj, $class, $want_encoding);
+#    }
+#    else {
+#        *$obj->{Encoding} = undef;
+#    }
 
-
-    *$obj->{InputLength}       = $got->parsed('InputLength') 
-                                    ? $got->value('InputLength')
+    *$obj->{InputLength}       = $got->parsed('inputlength') 
+                                    ? $got->getValue('inputlength')
                                     : undef ;
-    *$obj->{InputLengthRemaining} = $got->value('InputLength');
+    *$obj->{InputLengthRemaining} = $got->getValue('inputlength');
     *$obj->{BufferOffset}      = 0 ;
-    *$obj->{AutoClose}         = $got->value('AutoClose');
-    *$obj->{Strict}            = $got->value('Strict');
-    *$obj->{BlockSize}         = $got->value('BlockSize');
-    *$obj->{Append}            = $got->value('Append');
-    *$obj->{AppendOutput}      = $append_mode || $got->value('Append');
-    *$obj->{ConsumeInput}      = $got->value('ConsumeInput');
-    *$obj->{Transparent}       = $got->value('Transparent');
-    *$obj->{MultiStream}       = $got->value('MultiStream');
+    *$obj->{AutoClose}         = $got->getValue('autoclose');
+    *$obj->{Strict}            = $got->getValue('strict');
+    *$obj->{BlockSize}         = $got->getValue('blocksize');
+    *$obj->{Append}            = $got->getValue('append');
+    *$obj->{AppendOutput}      = $append_mode || $got->getValue('append');
+    *$obj->{ConsumeInput}      = $got->getValue('consumeinput');
+    *$obj->{Transparent}       = $got->getValue('transparent');
+    *$obj->{MultiStream}       = $got->getValue('multistream');
 
     # TODO - move these two into RawDeflate
-    *$obj->{Scan}              = $got->value('Scan');
-    *$obj->{ParseExtra}        = $got->value('ParseExtra') 
-                                  || $got->value('Strict')  ;
+    *$obj->{Scan}              = $got->getValue('scan');
+    *$obj->{ParseExtra}        = $got->getValue('parseextra') 
+                                  || $got->getValue('strict')  ;
     *$obj->{Type}              = '';
-    *$obj->{Prime}             = $got->value('Prime') || '' ;
+    *$obj->{Prime}             = $got->getValue('prime') || '' ;
     *$obj->{Pending}           = '';
     *$obj->{Plain}             = 0;
     *$obj->{PlainBytesRead}    = 0;
@@ -482,7 +491,26 @@
     return undef
         unless defined $status;
 
-    if ( !  $status) {
+    *$obj->{InNew} = 0;
+    *$obj->{Closed} = 0;
+
+    if ($status) {
+        # Need to try uncompressing to catch the case
+        # where the compressed file uncompresses to an
+        # empty string - so eof is set immediately.
+        
+        my $out_buffer = '';
+
+        $status = $obj->read(\$out_buffer);
+    
+        if ($status < 0) {
+            *$obj->{ReadStatus} = [ $status, $obj->error(), $obj->errorNo() ];
+        }
+
+        $obj->ungetc($out_buffer)
+            if length $out_buffer;
+    }
+    else {
         return undef 
             unless *$obj->{Transparent};
 
@@ -489,7 +517,6 @@
         $obj->clearError();
         *$obj->{Type} = 'plain';
         *$obj->{Plain} = 1;
-        #$status = $obj->mkIdentityUncomp($class, $got);
         $obj->pushBack(*$obj->{HeaderPending})  ;
     }
 
@@ -552,13 +579,36 @@
     my $got = $obj->checkParams($name, undef, @_)
         or return undef ;
 
-    if ($got->parsed('TrailingData'))
+    if ($got->parsed('trailingdata'))
     {
-        *$obj->{TrailingData} = $got->value('TrailingData');
+#        my $value = $got->valueRef('TrailingData');
+#        warn "TD $value ";
+#        #$value = $$value;
+##                warn "TD $value $$value ";
+#       
+#        return retErr($obj, "Parameter 'TrailingData' not writable")
+#            if readonly $$value ;          
+#
+#        if (ref $$value) 
+#        {
+#            return retErr($obj,"Parameter 'TrailingData' not a scalar reference")
+#                if ref $$value ne 'SCALAR' ;
+#              
+#            *$obj->{TrailingData} = $$value ;
+#        }
+#        else  
+#        {
+#            return retErr($obj,"Parameter 'TrailingData' not a scalar")
+#                if ref $value ne 'SCALAR' ;               
+#
+#            *$obj->{TrailingData} = $value ;
+#        }
+        
+        *$obj->{TrailingData} = $got->getValue('trailingdata');
     }
 
-    *$obj->{MultiStream} = $got->value('MultiStream');
-    $got->value('MultiStream', 0);
+    *$obj->{MultiStream} = $got->getValue('multistream');
+    $got->setValue('multistream', 0);
 
     $x->{Got} = $got ;
 
@@ -638,17 +688,17 @@
     if ($x->{outType} eq 'filename') {
         my $mode = '>' ;
         $mode = '>>'
-            if $x->{Got}->value('Append') ;
+            if $x->{Got}->getValue('append') ;
         $x->{fh} = new IO::File "$mode $output" 
             or return retErr($x, "cannot open file '$output': $!") ;
-        binmode $x->{fh} if $x->{Got}->valueOrDefault('BinModeOut');
+        binmode $x->{fh} if $x->{Got}->valueOrDefault('binmodeout');
 
     }
 
     elsif ($x->{outType} eq 'handle') {
         $x->{fh} = $output;
-        binmode $x->{fh} if $x->{Got}->valueOrDefault('BinModeOut');
-        if ($x->{Got}->value('Append')) {
+        binmode $x->{fh} if $x->{Got}->valueOrDefault('binmodeout');
+        if ($x->{Got}->getValue('append')) {
                 seek($x->{fh}, 0, SEEK_END)
                     or return retErr($x, "Cannot seek to end of output filehandle: $!") ;
             }
@@ -658,7 +708,7 @@
     elsif ($x->{outType} eq 'buffer' )
     {
         $$output = '' 
-            unless $x->{Got}->value('Append');
+            unless $x->{Got}->getValue('append');
         $x->{buff} = $output ;
     }
 
@@ -678,7 +728,7 @@
 
 
     if ( ($x->{outType} eq 'filename' && $output ne '-') || 
-         ($x->{outType} eq 'handle' && $x->{Got}->value('AutoClose'))) {
+         ($x->{outType} eq 'handle' && $x->{Got}->getValue('autoclose'))) {
         $x->{fh}->close() 
             or return retErr($x, $!); 
         delete $x->{fh};
@@ -694,7 +744,7 @@
     my $input     = shift;
     my $output    = shift;
         
-    my $z = createSelfTiedObject($x->{Class}, *$self->{Error});
+    my $z = IO::Compress::Base::Common::createSelfTiedObject($x->{Class}, *$self->{Error});
     
     $z->_create($x->{Got}, 1, $input, @_)
         or return undef ;
@@ -706,7 +756,7 @@
 
         while (($status = $z->read($x->{buff})) > 0) {
             if ($fh) {
-                print $fh ${ $x->{buff} }
+                syswrite $fh, ${ $x->{buff} }
                     or return $z->saveErrorString(undef, "Error writing to output file: $!", $!);
                 ${ $x->{buff} } = '' ;
             }
@@ -725,7 +775,6 @@
         }
 
         last if $status < 0 || $z->smartEof();
-        #last if $status < 0 ;
 
         last 
             unless *$self->{MultiStream};
@@ -779,12 +828,12 @@
             *$self->{CompressedInputLengthDone} = 1;
             return STATUS_OK ;
         }
-        $size = min($size, *$self->{CompressedInputLengthRemaining} );
+        $size = List::Util::min($size, *$self->{CompressedInputLengthRemaining} );
         *$self->{CompressedInputLengthRemaining} -= $size ;
     }
     
     my $status = $self->smartRead($buff, $size) ;
-    return $self->saveErrorString(STATUS_ERROR, "Error Reading Data: $!")
+    return $self->saveErrorString(STATUS_ERROR, "Error Reading Data: $!", $!)
         if $status == STATUS_ERROR  ;
 
     if ($status == 0 ) {
@@ -811,7 +860,6 @@
     my $self = shift ;
 
     return G_EOF if *$self->{Closed} ;
-    #return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ;
     return G_EOF if *$self->{EndStream} ;
 
     my $buffer = shift ;
@@ -851,6 +899,7 @@
     my $temp_buf = '';
     my $outSize = 0;
     my $status = $self->readBlock(\$temp_buf, *$self->{BlockSize}, $outSize) ;
+    
     return G_ERR
         if $status == STATUS_ERROR  ;
 
@@ -879,18 +928,19 @@
         *$self->{TotalInflatedBytesRead} += $buf_len ;
         *$self->{UnCompSize}->add($buf_len) ;
 
-        $self->filterUncompressed($buffer);
+        $self->filterUncompressed($buffer, $before_len);
 
-        if (*$self->{Encoding}) {
-            $$buffer = *$self->{Encoding}->decode($$buffer);
-        }
+#        if (*$self->{Encoding}) {
+#            use Encode ;
+#            *$self->{PendingDecode} .= substr($$buffer, $before_len) ;
+#            my $got = *$self->{Encoding}->decode(*$self->{PendingDecode}, Encode::FB_QUIET) ;
+#            substr($$buffer, $before_len) = $got;
+#        }
     }
 
     if ($status == STATUS_ENDSTREAM) {
 
         *$self->{EndStream} = 1 ;
-#$self->pushBack($temp_buf)  ;
-#$temp_buf = '';
 
         my $trailer;
         my $trailer_size = *$self->{Info}{TrailerLength} ;
@@ -980,12 +1030,13 @@
 
     *$self->{NewStream} = 0 ;
     *$self->{EndStream} = 0 ;
+    *$self->{CompressedInputLengthDone} = undef ;
+    *$self->{CompressedInputLength} = undef ;
     $self->reset();
     *$self->{UnCompSize}->reset();
     *$self->{CompSize}->reset();
 
     my $magic = $self->ckMagic();
-    #*$self->{EndStream} = 0 ;
 
     if ( ! defined $magic) {
         if (! *$self->{Transparent} || $self->eof())
@@ -1021,6 +1072,13 @@
     return scalar @{ *$self->{InfoList} }  ;
 }
 
+#sub read
+#{
+#    my $status = myRead(@_);
+#    return undef if $status < 0;
+#    return $status;
+#}
+
 sub read
 {
     # return codes
@@ -1030,6 +1088,13 @@
     
     my $self = shift ;
 
+    if (defined *$self->{ReadStatus} ) {
+        my $status = *$self->{ReadStatus}[0];
+        $self->saveErrorString( @{ *$self->{ReadStatus} } );
+        delete  *$self->{ReadStatus} ;
+        return $status ;
+    }
+
     return G_EOF if *$self->{Closed} ;
 
     my $buffer ;
@@ -1036,7 +1101,7 @@
 
     if (ref $_[0] ) {
         $self->croakError(*$self->{ClassName} . "::read: buffer parameter is read-only")
-            if readonly(${ $_[0] });
+            if Scalar::Util::readonly(${ $_[0] });
 
         $self->croakError(*$self->{ClassName} . "::read: not a scalar reference $_[0]" )
             unless ref $_[0] eq 'SCALAR' ;
@@ -1044,7 +1109,7 @@
     }
     else {
         $self->croakError(*$self->{ClassName} . "::read: buffer parameter is read-only")
-            if readonly($_[0]);
+            if Scalar::Util::readonly($_[0]);
 
         $buffer = \$_[0] ;
     }
@@ -1065,6 +1130,9 @@
             }
         }
     }
+    elsif (! defined $$buffer) {
+        $$buffer = '' ;
+    }
 
     return G_EOF if !length *$self->{Pending} && *$self->{EndStream} ;
 
@@ -1121,7 +1189,6 @@
     *$self->{Pending} = $out_buffer;
     $out_buffer = \*$self->{Pending} ;
 
-    #substr($$buffer, $offset) = substr($$out_buffer, 0, $length, '') ;
     substr($$buffer, $offset) = substr($$out_buffer, 0, $length) ;
     substr($$out_buffer, 0, $length) =  '' ;
 
@@ -1137,7 +1204,7 @@
     if ( ! defined $/ ) {
         my $data ;
         1 while ($status = $self->read($data)) > 0 ;
-        return $status < 0 ? \undef : \$data ;
+        return ($status, \$data);
     }
 
     # Record Mode
@@ -1145,7 +1212,7 @@
         my $reclen = ${$/} ;
         my $data ;
         $status = $self->read($data, $reclen) ;
-        return $status < 0 ? \undef : \$data ;
+        return ($status, \$data);
     }
 
     # Paragraph Mode
@@ -1155,25 +1222,16 @@
             if ($paragraph =~ s/^(.*?\n\n+)//s) {
                 *$self->{Pending}  = $paragraph ;
                 my $par = $1 ;
-                return \$par ;
+                return (1, \$par);
             }
         }
-        return $status < 0 ? \undef : \$paragraph;
+        return ($status, \$paragraph);
     }
 
     # $/ isn't empty, or a reference, so it's Line Mode.
     {
         my $line ;    
-        my $offset;
         my $p = \*$self->{Pending}  ;
-
-        if (length(*$self->{Pending}) && 
-                    ($offset = index(*$self->{Pending}, $/)) >=0) {
-            my $l = substr(*$self->{Pending}, 0, $offset + length $/ );
-            substr(*$self->{Pending}, 0, $offset + length $/) = '';    
-            return \$l;
-        }
-
         while (($status = $self->read($line)) > 0 ) {
             my $offset = index($line, $/);
             if ($offset >= 0) {
@@ -1180,11 +1238,11 @@
                 my $l = substr($line, 0, $offset + length $/ );
                 substr($line, 0, $offset + length $/) = '';    
                 $$p = $line;
-                return \$l;
+                return (1, \$l);
             }
         }
 
-        return $status < 0 ? \undef : \$line;
+        return ($status, \$line);
     }
 }
 
@@ -1191,11 +1249,27 @@
 sub getline
 {
     my $self = shift;
+
+    if (defined *$self->{ReadStatus} ) {
+        $self->saveErrorString( @{ *$self->{ReadStatus} } );
+        delete  *$self->{ReadStatus} ;
+        return undef;
+    }
+
+    return undef 
+        if *$self->{Closed} || (!length *$self->{Pending} && *$self->{EndStream}) ;
+
     my $current_append = *$self->{AppendOutput} ;
     *$self->{AppendOutput} = 1;
-    my $lineref = $self->_getline();
-    $. = ++ *$self->{LineNo} if defined $$lineref ;
+
+    my ($status, $lineref) = $self->_getline();
     *$self->{AppendOutput} = $current_append;
+
+    return undef 
+        if $status < 0 || length $$lineref == 0 ;
+
+    $. = ++ *$self->{LineNo} ;
+
     return $$lineref ;
 }
 
@@ -1289,7 +1363,6 @@
 
     if (defined *$self->{FH}) {
         if ((! *$self->{Handle} || *$self->{AutoClose}) && ! *$self->{StdIO}) {
-        #if ( *$self->{AutoClose}) {
             local $.; 
             $! = 0 ;
             $status = *$self->{FH}->close();
@@ -1357,7 +1430,7 @@
     my $offset = $target - $here ;
 
     my $got;
-    while (($got = $self->read(my $buffer, min($offset, *$self->{BlockSize})) ) > 0)
+    while (($got = $self->read(my $buffer, List::Util::min($offset, *$self->{BlockSize})) ) > 0)
     {
         $offset -= $got;
         last if $offset == 0 ;
@@ -1420,7 +1493,6 @@
 sub _notAvailable
 {
     my $name = shift ;
-    #return sub { croak "$name Not Available" ; } ;
     return sub { croak "$name Not Available: File opened only for intput" ; } ;
 }
 
@@ -1460,7 +1532,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1476,7 +1548,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,15 +4,15 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
+use IO::Compress::Base::Common 2.060 qw(:Status );
 
-use IO::Uncompress::Base 2.033 ;
-use IO::Uncompress::Adapter::Bunzip2 2.033 ;
+use IO::Uncompress::Base 2.060 ;
+use IO::Uncompress::Adapter::Bunzip2 2.060 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $Bunzip2Error);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $Bunzip2Error = '';
 
 @ISA    = qw( Exporter IO::Uncompress::Base );
@@ -25,7 +25,7 @@
 sub new
 {
     my $class = shift ;
-    my $obj = createSelfTiedObject($class, \$Bunzip2Error);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$Bunzip2Error);
 
     $obj->_create(undef, 0, @_);
 }
@@ -32,19 +32,15 @@
 
 sub bunzip2
 {
-    my $obj = createSelfTiedObject(undef, \$Bunzip2Error);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$Bunzip2Error);
     return $obj->_inf(@_);
 }
 
 sub getExtraParams
 {
-    my $self = shift ;
-
-    use IO::Compress::Base::Common 2.033 qw(:Parse);
-    
     return (
-            'Verbosity'     => [1, 1, Parse_boolean,   0],
-            'Small'         => [1, 1, Parse_boolean,   0],
+            'verbosity'     => [IO::Compress::Base::Common::Parse_boolean,   0],
+            'small'         => [IO::Compress::Base::Common::Parse_boolean,   0],
         );
 }
 
@@ -68,8 +64,8 @@
     *$self->{Info} = $self->readHeader($magic)
         or return undef ;
 
-    my $Small     = $got->value('Small');
-    my $Verbosity = $got->value('Verbosity');
+    my $Small     = $got->getValue('small');
+    my $Verbosity = $got->getValue('verbosity');
 
     my ($obj, $errstr, $errno) =  IO::Uncompress::Adapter::Bunzip2::mkUncompObject(
                                                     $Small, $Verbosity);


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 
 package IO::Uncompress::Gunzip ;
 
-require 5.004 ;
+require 5.006 ;
 
 # for RFC1952
 
@@ -9,12 +9,12 @@
 use warnings;
 use bytes;
 
-use IO::Uncompress::RawInflate 2.033 ;
+use IO::Uncompress::RawInflate 2.060 ;
 
-use Compress::Raw::Zlib 2.033 qw( crc32 ) ;
-use IO::Compress::Base::Common 2.033 qw(:Status createSelfTiedObject);
-use IO::Compress::Gzip::Constants 2.033 ;
-use IO::Compress::Zlib::Extra 2.033 ;
+use Compress::Raw::Zlib 2.060 () ;
+use IO::Compress::Base::Common 2.060 qw(:Status );
+use IO::Compress::Gzip::Constants 2.060 ;
+use IO::Compress::Zlib::Extra 2.060 ;
 
 require Exporter ;
 
@@ -28,13 +28,13 @@
 
 $GunzipError = '';
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 
 sub new
 {
     my $class = shift ;
     $GunzipError = '';
-    my $obj = createSelfTiedObject($class, \$GunzipError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$GunzipError);
 
     $obj->_create(undef, 0, @_);
 }
@@ -41,14 +41,13 @@
 
 sub gunzip
 {
-    my $obj = createSelfTiedObject(undef, \$GunzipError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$GunzipError);
     return $obj->_inf(@_) ;
 }
 
 sub getExtraParams
 {
-    use IO::Compress::Base::Common  2.033 qw(:Parse);
-    return ( 'ParseExtra' => [1, 1, Parse_boolean,  0] ) ;
+    return ( 'parseextra' => [IO::Compress::Base::Common::Parse_boolean,  0] ) ;
 }
 
 sub ckParams
@@ -57,7 +56,7 @@
     my $got = shift ;
 
     # gunzip always needs crc32
-    $got->value('CRC32' => 1);
+    $got->setValue('crc32' => 1);
 
     return 1;
 }
@@ -222,7 +221,7 @@
             or return $self->TruncatedHeader("FHCRC");
 
         $HeaderCRC = unpack("v", $buffer) ;
-        my $crc16 = crc32($keep) & 0xFF ;
+        my $crc16 = Compress::Raw::Zlib::crc32($keep) & 0xFF ;
 
         return $self->HeaderError("CRC16 mismatch.")
             if *$self->{Strict} && $crc16 != $HeaderCRC;
@@ -341,7 +340,7 @@
 
     use IO::Uncompress::Gunzip qw(gunzip $GunzipError) ;
 
-    gunzip $input => $output [,OPTS] 
+    gunzip $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "gunzip failed: $GunzipError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -348,12 +347,13 @@
 
 =head2 gunzip $input => $output [, OPTS]
 
-C<gunzip> expects at least two parameters, C<$input> and C<$output>.
+C<gunzip> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the compressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the compressed data. 
 
 It can take one of the following forms:
 
@@ -361,25 +361,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -388,64 +388,71 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<gunzip> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<gunzip> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the uncompressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the uncompressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+uncompressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+uncompressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+uncompressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the uncompressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<gunzip> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<gunzip> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
+When C<$input_filename_or_reference> maps to multiple compressed
+files/buffers and C<$output_filename_or_reference> is
+a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a
 concatenation of all the uncompressed data from each of the input
 files/buffers.
 
@@ -643,7 +650,7 @@
 =item A scalar reference 
 
 If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
+C<$$input>.
 
 =back
 
@@ -923,6 +930,13 @@
 that it is only legal to seek forward in the input file/buffer.
 It is a fatal error to attempt to seek backward.
 
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It  works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
 The C<$whence> parameter takes one the usual values, namely SEEK_SET,
 SEEK_CUR or SEEK_END.
 
@@ -980,7 +994,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -1069,13 +1083,13 @@
 
 =head2 Working with Net::FTP
 
-See L<IO::Uncompress::Gunzip::FAQ|IO::Uncompress::Gunzip::FAQ/"Compressed files and Net::FTP">
+See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
 
 =head1 SEE ALSO
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1104,7 +1118,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Gunzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,15 +5,15 @@
 use warnings;
 use bytes;
 
-use IO::Compress::Base::Common  2.033 qw(:Status createSelfTiedObject);
-use IO::Compress::Zlib::Constants 2.033 ;
+use IO::Compress::Base::Common  2.060 qw(:Status );
+use IO::Compress::Zlib::Constants 2.060 ;
 
-use IO::Uncompress::RawInflate  2.033 ;
+use IO::Uncompress::RawInflate  2.060 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $InflateError);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $InflateError = '';
 
 @ISA    = qw( Exporter IO::Uncompress::RawInflate );
@@ -26,7 +26,7 @@
 sub new
 {
     my $class = shift ;
-    my $obj = createSelfTiedObject($class, \$InflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$InflateError);
 
     $obj->_create(undef, 0, @_);
 }
@@ -33,7 +33,7 @@
 
 sub inflate
 {
-    my $obj = createSelfTiedObject(undef, \$InflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$InflateError);
     return $obj->_inf(@_);
 }
 
@@ -48,7 +48,7 @@
     my $got = shift ;
 
     # gunzip always needs adler32
-    $got->value('ADLER32' => 1);
+    $got->setValue('adler32' => 1);
 
     return 1;
 }
@@ -262,7 +262,7 @@
 
     use IO::Uncompress::Inflate qw(inflate $InflateError) ;
 
-    inflate $input => $output [,OPTS] 
+    inflate $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "inflate failed: $InflateError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -269,12 +269,13 @@
 
 =head2 inflate $input => $output [, OPTS]
 
-C<inflate> expects at least two parameters, C<$input> and C<$output>.
+C<inflate> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the compressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the compressed data. 
 
 It can take one of the following forms:
 
@@ -282,25 +283,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -309,64 +310,71 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<inflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<inflate> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the uncompressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the uncompressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+uncompressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+uncompressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+uncompressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the uncompressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<inflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<inflate> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
+When C<$input_filename_or_reference> maps to multiple compressed
+files/buffers and C<$output_filename_or_reference> is
+a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a
 concatenation of all the uncompressed data from each of the input
 files/buffers.
 
@@ -564,7 +572,7 @@
 =item A scalar reference 
 
 If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
+C<$$input>.
 
 =back
 
@@ -794,6 +802,13 @@
 that it is only legal to seek forward in the input file/buffer.
 It is a fatal error to attempt to seek backward.
 
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It  works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
 The C<$whence> parameter takes one the usual values, namely SEEK_SET,
 SEEK_CUR or SEEK_END.
 
@@ -851,7 +866,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -940,13 +955,13 @@
 
 =head2 Working with Net::FTP
 
-See L<IO::Uncompress::Inflate::FAQ|IO::Uncompress::Inflate::FAQ/"Compressed files and Net::FTP">
+See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
 
 =head1 SEE ALSO
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -975,7 +990,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Inflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,18 +3,18 @@
 
 use strict ;
 use warnings;
-use bytes;
+#use bytes;
 
-use Compress::Raw::Zlib  2.033 ;
-use IO::Compress::Base::Common  2.033 qw(:Status createSelfTiedObject);
+use Compress::Raw::Zlib  2.060 ;
+use IO::Compress::Base::Common  2.060 qw(:Status );
 
-use IO::Uncompress::Base  2.033 ;
-use IO::Uncompress::Adapter::Inflate  2.033 ;
+use IO::Uncompress::Base  2.060 ;
+use IO::Uncompress::Adapter::Inflate  2.060 ;
 
 require Exporter ;
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, %DEFLATE_CONSTANTS, $RawInflateError);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $RawInflateError = '';
 
 @ISA    = qw( Exporter IO::Uncompress::Base );
@@ -45,13 +45,13 @@
 sub new
 {
     my $class = shift ;
-    my $obj = createSelfTiedObject($class, \$RawInflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$RawInflateError);
     $obj->_create(undef, 0, @_);
 }
 
 sub rawinflate
 {
-    my $obj = createSelfTiedObject(undef, \$RawInflateError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$RawInflateError);
     return $obj->_inf(@_);
 }
 
@@ -74,9 +74,9 @@
     my $got = shift ;
 
     my ($obj, $errstr, $errno) = IO::Uncompress::Adapter::Inflate::mkUncompObject(
-                                                                $got->value('CRC32'),
-                                                                $got->value('ADLER32'),
-                                                                $got->value('Scan'),
+                                                                $got->getValue('crc32'),
+                                                                $got->getValue('adler32'),
+                                                                $got->getValue('scan'),
                                                             );
 
     return $self->saveErrorString(undef, $errstr, $errno)
@@ -332,8 +332,8 @@
     my ($def, $status) = *$self->{Uncomp}->createDeflateStream(
                                     -AppendOutput   => 1,
                                     -WindowBits => - MAX_WBITS,
-                                    -CRC32      => *$self->{Params}->value('CRC32'),
-                                    -ADLER32    => *$self->{Params}->value('ADLER32'),
+                                    -CRC32      => *$self->{Params}->getValue('crc32'),
+                                    -ADLER32    => *$self->{Params}->getValue('adler32'),
                                 );
     
     return wantarray ? ($status, $def) : $def ;                                
@@ -410,7 +410,7 @@
 
     use IO::Uncompress::RawInflate qw(rawinflate $RawInflateError) ;
 
-    rawinflate $input => $output [,OPTS] 
+    rawinflate $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "rawinflate failed: $RawInflateError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -417,12 +417,13 @@
 
 =head2 rawinflate $input => $output [, OPTS]
 
-C<rawinflate> expects at least two parameters, C<$input> and C<$output>.
+C<rawinflate> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the compressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the compressed data. 
 
 It can take one of the following forms:
 
@@ -430,25 +431,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -457,64 +458,71 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<rawinflate> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<rawinflate> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the uncompressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the uncompressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+uncompressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+uncompressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+uncompressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the uncompressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<rawinflate> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<rawinflate> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
+When C<$input_filename_or_reference> maps to multiple compressed
+files/buffers and C<$output_filename_or_reference> is
+a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a
 concatenation of all the uncompressed data from each of the input
 files/buffers.
 
@@ -709,7 +717,7 @@
 =item A scalar reference 
 
 If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
+C<$$input>.
 
 =back
 
@@ -922,6 +930,13 @@
 that it is only legal to seek forward in the input file/buffer.
 It is a fatal error to attempt to seek backward.
 
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It  works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
 The C<$whence> parameter takes one the usual values, namely SEEK_SET,
 SEEK_CUR or SEEK_END.
 
@@ -979,7 +994,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -1068,13 +1083,13 @@
 
 =head2 Working with Net::FTP
 
-See L<IO::Uncompress::RawInflate::FAQ|IO::Uncompress::RawInflate::FAQ/"Compressed files and Net::FTP">
+See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
 
 =head1 SEE ALSO
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1103,7 +1118,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/RawInflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,28 +1,29 @@
 package IO::Uncompress::Unzip;
 
-require 5.004 ;
+require 5.006 ;
 
 # for RFC1952
 
 use strict ;
 use warnings;
-use bytes;
+#use bytes;
 
-use IO::Uncompress::RawInflate  2.033 ;
-use IO::Compress::Base::Common  2.033 qw(:Status createSelfTiedObject);
-use IO::Uncompress::Adapter::Inflate  2.033 ;
-use IO::Uncompress::Adapter::Identity 2.033 ;
-use IO::Compress::Zlib::Extra 2.033 ;
-use IO::Compress::Zip::Constants 2.033 ;
+use IO::File;
+use IO::Uncompress::RawInflate  2.060 ;
+use IO::Compress::Base::Common  2.060 qw(:Status );
+use IO::Uncompress::Adapter::Inflate  2.060 ;
+use IO::Uncompress::Adapter::Identity 2.060 ;
+use IO::Compress::Zlib::Extra 2.060 ;
+use IO::Compress::Zip::Constants 2.060 ;
 
-use Compress::Raw::Zlib  2.033 qw(crc32) ;
+use Compress::Raw::Zlib  2.060 () ;
 
 BEGIN
 {
-    eval { require IO::Uncompress::Adapter::Bunzip2 ;
+    eval{ require IO::Uncompress::Adapter::Bunzip2 ;
            import  IO::Uncompress::Adapter::Bunzip2 } ;
-#   eval { require IO::Uncompress::Adapter::UnLzma ;
-#           import  IO::Uncompress::Adapter::UnLzma } ;
+    eval{ require IO::Uncompress::Adapter::UnLzma ;
+          import  IO::Uncompress::Adapter::UnLzma } ;
 }
 
 
@@ -30,7 +31,7 @@
 
 our ($VERSION, @ISA, @EXPORT_OK, %EXPORT_TAGS, $UnzipError, %headerLookup);
 
-$VERSION = '2.033';
+$VERSION = '2.060';
 $UnzipError = '';
 
 @ISA    = qw(Exporter IO::Uncompress::RawInflate);
@@ -51,27 +52,26 @@
 sub new
 {
     my $class = shift ;
-    my $obj = createSelfTiedObject($class, \$UnzipError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject($class, \$UnzipError);
     $obj->_create(undef, 0, @_);
 }
 
 sub unzip
 {
-    my $obj = createSelfTiedObject(undef, \$UnzipError);
+    my $obj = IO::Compress::Base::Common::createSelfTiedObject(undef, \$UnzipError);
     return $obj->_inf(@_) ;
 }
 
 sub getExtraParams
 {
-    use IO::Compress::Base::Common  2.033 qw(:Parse);
-
-    
+   
     return (
 #            # Zip header fields
-            'Name'    => [1, 1, Parse_any,       undef],
+            'name'    => [IO::Compress::Base::Common::Parse_any,       undef],
 
-#            'Stream' => [1, 1, Parse_boolean,   1],
-            # This means reading the central directory to get
+            'stream'  => [IO::Compress::Base::Common::Parse_boolean,   0],
+            
+            # TODO - This means reading the central directory to get
             # 1. the local header offsets
             # 2. The compressed data length
         );    
@@ -83,9 +83,9 @@
     my $got = shift ;
 
     # unzip always needs crc32
-    $got->value('CRC32' => 1);
+    $got->setValue('crc32' => 1);
 
-    *$self->{UnzipData}{Name} = $got->value('Name');
+    *$self->{UnzipData}{Name} = $got->getValue('name');
 
     return 1;
 }
@@ -415,7 +415,7 @@
     my $keep = $magic . $buffer ;
 
     my ($sizeLo, $sizeHi)  = unpack ("V V", $buffer);
-    my $size = $sizeHi * 0xFFFFFFFF + $sizeLo;
+    my $size = $sizeHi * U64::MAX32 + $sizeLo;
 
     $self->fastForward($size)
         or return $self->TrailerError("Minimum header size is " . 
@@ -473,8 +473,8 @@
    #my $cntrlDirDiskNo     = unpack ("v", substr($buffer, 6-4,  2));
    #my $entriesInThisCD    = unpack ("v", substr($buffer, 8-4,  2));
    #my $entriesInCD        = unpack ("v", substr($buffer, 10-4, 2));
-   #my $sizeOfCD           = unpack ("V", substr($buffer, 12-4, 2));
-   #my $offsetToCD         = unpack ("V", substr($buffer, 16-4, 2));
+   #my $sizeOfCD           = unpack ("V", substr($buffer, 12-4, 4));
+   #my $offsetToCD         = unpack ("V", substr($buffer, 16-4, 4));
     my $comment_length     = unpack ("v", substr($buffer, 20-4, 2));
 
     
@@ -549,9 +549,6 @@
     my @EXTRA = ();
     my $streamingMode = ($gpFlag & ZIP_GP_FLAG_STREAMING_MASK) ? 1 : 0 ;
 
-    return $self->HeaderError("Streamed Stored content not supported")
-        if $streamingMode && $compressedMethod == 0 ;
-
     return $self->HeaderError("Encrypted content not supported")
         if $gpFlag & (ZIP_GP_FLAG_ENCRYPTED_MASK|ZIP_GP_FLAG_STRONG_ENCRYPTED_MASK);
 
@@ -601,7 +598,7 @@
             if (! $streamingMode) {
                 my $offset = 0 ;
 
-                if ($uncompressedLength->get32bit() == 0xFFFFFFFF ) {
+                if (U64::full32 $uncompressedLength->get32bit() ) {
                     $uncompressedLength 
                             = U64::newUnpack_V64 substr($buff, 0, 8);
 
@@ -608,7 +605,7 @@
                     $offset += 8 ;
                 }
 
-                if ($compressedLength->get32bit() == 0xFFFFFFFF) {
+                if (U64::full32 $compressedLength->get32bit() ) {
 
                     $compressedLength 
                         = U64::newUnpack_V64 substr($buff, $offset, 8);
@@ -630,7 +627,7 @@
             *$self->{CompressedInputLength} = $compressedLength->get64bit();
     }
 
-    *$self->{ZipData}{CRC32} = crc32(undef);
+    *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(undef);
     *$self->{ZipData}{Method} = $compressedMethod;
     if ($compressedMethod == ZIP_CM_DEFLATE)
     {
@@ -650,41 +647,41 @@
 
         *$self->{Uncomp} = $obj;
     }
-#    elsif ($compressedMethod == ZIP_CM_LZMA)
-#    {
-#        return $self->HeaderError("Unsupported Compression format $compressedMethod")
-#            if ! defined $IO::Uncompress::Adapter::UnLzma::VERSION ;
-#        
-#        *$self->{Type} = 'zip-lzma';
-#        my $LzmaHeader;
-#        $self->smartReadExact(\$LzmaHeader, 4)
-#                or return $self->saveErrorString(undef, "Truncated file");
-#        my ($verHi, $verLo)   = unpack ("CC", substr($LzmaHeader, 0, 2));
-#        my $LzmaPropertiesSize   = unpack ("v", substr($LzmaHeader, 2, 2));
-#
-#
-#        my $LzmaPropertyData;
-#        $self->smartReadExact(\$LzmaPropertyData, $LzmaPropertiesSize)
-#                or return $self->saveErrorString(undef, "Truncated file");
-#        #my $LzmaInfo = unpack ("C", substr($LzmaPropertyData, 0, 1));    
-#        #my $LzmaDictSize = unpack ("V", substr($LzmaPropertyData, 1, 4));    
-#
-#        # Create an LZMA_Alone header 
-#        $self->pushBack($LzmaPropertyData . 
-#                $uncompressedLength->getPacked_V64());
-#
-#        my $obj =
-#        IO::Uncompress::Adapter::UnLzma::mkUncompObject();
-#
-#        *$self->{Uncomp} = $obj;
-#    }
+    elsif ($compressedMethod == ZIP_CM_LZMA)
+    {
+        return $self->HeaderError("Unsupported Compression format $compressedMethod")
+            if ! defined $IO::Uncompress::Adapter::UnLzma::VERSION ;
+        
+        *$self->{Type} = 'zip-lzma';
+        my $LzmaHeader;
+        $self->smartReadExact(\$LzmaHeader, 4)
+                or return $self->saveErrorString(undef, "Truncated file");
+        my ($verHi, $verLo)   = unpack ("CC", substr($LzmaHeader, 0, 2));
+        my $LzmaPropertiesSize   = unpack ("v", substr($LzmaHeader, 2, 2));
+
+
+        my $LzmaPropertyData;
+        $self->smartReadExact(\$LzmaPropertyData, $LzmaPropertiesSize)
+                or return $self->saveErrorString(undef, "Truncated file");
+
+        if (! $streamingMode) {
+            *$self->{ZipData}{CompressedLen}->subtract(4 + $LzmaPropertiesSize) ;
+            *$self->{CompressedInputLengthRemaining} =
+                *$self->{CompressedInputLength} = *$self->{ZipData}{CompressedLen}->get64bit();
+        }
+
+        my $obj =
+            IO::Uncompress::Adapter::UnLzma::mkUncompZipObject($LzmaPropertyData);
+
+        *$self->{Uncomp} = $obj;
+    }
     elsif ($compressedMethod == ZIP_CM_STORE)
     {
-        # TODO -- add support for reading uncompressed
-
         *$self->{Type} = 'zip-stored';
         
-        my $obj = IO::Uncompress::Adapter::Identity::mkUncompObject();
+        my $obj =
+        IO::Uncompress::Adapter::Identity::mkUncompObject($streamingMode,
+                                                          $zip64);
 
         *$self->{Uncomp} = $obj;
     }
@@ -746,7 +743,7 @@
         *$self->{ZipData}{CRC32} = *$self->{Uncomp}->crc32() ;
     }
     else {
-        *$self->{ZipData}{CRC32} = crc32(${$_[0]}, *$self->{ZipData}{CRC32});
+        *$self->{ZipData}{CRC32} = Compress::Raw::Zlib::crc32(${$_[0]}, *$self->{ZipData}{CRC32}, $_[1]);
     }
 }    
 
@@ -772,7 +769,263 @@
 	return $time_t;
 }
 
+#sub scanCentralDirectory
+#{
+#    # Use cases
+#    # 1 32-bit CD
+#    # 2 64-bit CD
+#
+#    my $self = shift ;
+#
+#    my @CD = ();
+#    my $offset = $self->findCentralDirectoryOffset();
+#
+#    return 0
+#        if ! defined $offset;
+#
+#    $self->smarkSeek($offset, 0, SEEK_SET) ;
+#
+#    # Now walk the Central Directory Records
+#    my $buffer ;
+#    while ($self->smartReadExact(\$buffer, 46) && 
+#           unpack("V", $buffer) == ZIP_CENTRAL_HDR_SIG) {
+#
+#        my $compressedLength   = unpack ("V", substr($buffer, 20, 4));
+#        my $filename_length    = unpack ("v", substr($buffer, 28, 2));
+#        my $extra_length       = unpack ("v", substr($buffer, 30, 2));
+#        my $comment_length     = unpack ("v", substr($buffer, 32, 2));
+#
+#        $self->smarkSeek($filename_length + $extra_length + $comment_length, 0, SEEK_CUR) 
+#            if $extra_length || $comment_length || $filename_length;
+#        push @CD, $compressedLength ;
+#    }
+#
+#}
+#
+#sub findCentralDirectoryOffset
+#{
+#    my $self = shift ;
+#
+#    # Most common use-case is where there is no comment, so
+#    # know exactly where the end of central directory record
+#    # should be.
+#
+#    $self->smarkSeek(-22, 0, SEEK_END) ;
+#
+#    my $buffer;
+#    $self->smartReadExact(\$buffer, 22) ;
+#
+#    my $zip64 = 0;                             
+#    my $centralDirOffset ;
+#    if ( unpack("V", $buffer) == ZIP_END_CENTRAL_HDR_SIG ) {
+#        $centralDirOffset = unpack ("V", substr($buffer, 16, 2));
+#    }
+#    else {
+#        die "xxxx";
+#    }
+#
+#    return $centralDirOffset ;
+#}
+#
+#sub is84BitCD
+#{
+#    # TODO
+#    my $self = shift ;
+#}
 
+
+sub skip
+{
+    my $self = shift;
+    my $size = shift;
+
+    use Fcntl qw(SEEK_CUR);
+    if (ref $size eq 'U64') {
+        $self->smartSeek($size->get64bit(), SEEK_CUR);
+    }
+    else {
+        $self->smartSeek($size, SEEK_CUR);
+    }
+    
+}
+
+
+sub scanCentralDirectory
+{
+    my $self = shift;
+
+    my $here = $self->tell();
+
+    # Use cases
+    # 1 32-bit CD
+    # 2 64-bit CD
+
+    my @CD = ();
+    my $offset = $self->findCentralDirectoryOffset();
+
+    return ()
+        if ! defined $offset;
+
+    $self->smarkSeek($offset, 0, SEEK_SET) ;
+
+    # Now walk the Central Directory Records
+    my $buffer ;
+    while ($self->smartReadExact(\$buffer, 46) && 
+           unpack("V", $buffer) == ZIP_CENTRAL_HDR_SIG) {
+
+        my $compressedLength   = unpack("V", substr($buffer, 20, 4));
+        my $uncompressedLength = unpack("V", substr($buffer, 24, 4));
+        my $filename_length    = unpack("v", substr($buffer, 28, 2));
+        my $extra_length       = unpack("v", substr($buffer, 30, 2));
+        my $comment_length     = unpack("v", substr($buffer, 32, 2));
+
+        $self->skip($filename_length ) ;
+
+        my $v64 = new U64 $compressedLength ;
+
+        if (U64::full32 $compressedLength ) {
+            $self->smartReadExact(\$buffer, $extra_length) ;
+            die "xxx $offset $comment_length $filename_length $extra_length" . length($buffer) 
+                if length($buffer) != $extra_length;
+            my $got = $self->get64Extra($buffer, U64::full32 $uncompressedLength);
+
+            # If not Zip64 extra field, assume size is 0xFFFFFFFF
+            $v64 = $got if defined $got;
+        }
+        else {
+            $self->skip($extra_length) ;
+        }
+
+        $self->skip($comment_length ) ;
+            
+        push @CD, $v64 ;
+    }
+
+    $self->smartSeek($here, 0, SEEK_SET) ;
+
+    return @CD;
+}
+
+sub get64Extra
+{
+    my $self = shift ;
+
+    my $buffer = shift;
+    my $is_uncomp = shift ;
+
+    my $extra = IO::Compress::Zlib::Extra::findID(0x0001, $buffer);
+                                            
+    if (! defined $extra)
+    {
+        return undef;
+    }
+    else
+    {
+        my $u64 = U64::newUnpack_V64(substr($extra,  $is_uncomp ? 8 : 0)) ;
+        return $u64;
+    }    
+}
+
+sub offsetFromZip64
+{
+    my $self = shift ;
+    my $here = shift;
+
+    $self->smartSeek($here - 20, 0, SEEK_SET) 
+        or die "xx $!" ;
+
+    my $buffer;
+    my $got = 0;
+    $self->smartReadExact(\$buffer, 20)  
+        or die "xxx $here $got $!" ;
+
+    if ( unpack("V", $buffer) == ZIP64_END_CENTRAL_LOC_HDR_SIG ) {
+        my $cd64 = U64::Value_VV64 substr($buffer,  8, 8);
+       
+        $self->smartSeek($cd64, 0, SEEK_SET) ;
+
+        $self->smartReadExact(\$buffer, 4) 
+            or die "xxx" ;
+
+        if ( unpack("V", $buffer) == ZIP64_END_CENTRAL_REC_HDR_SIG ) {
+
+            $self->smartReadExact(\$buffer, 8)
+                or die "xxx" ;
+            my $size  = U64::Value_VV64($buffer);
+            $self->smartReadExact(\$buffer, $size)
+                or die "xxx" ;
+
+            my $cd64 =  U64::Value_VV64 substr($buffer,  36, 8);
+
+            return $cd64 ;
+        }
+        
+        die "zzz";
+    }
+
+    die "zzz";
+}
+
+use constant Pack_ZIP_END_CENTRAL_HDR_SIG => pack("V", ZIP_END_CENTRAL_HDR_SIG);
+
+sub findCentralDirectoryOffset
+{
+    my $self = shift ;
+
+    # Most common use-case is where there is no comment, so
+    # know exactly where the end of central directory record
+    # should be.
+
+    $self->smartSeek(-22, 0, SEEK_END) ;
+    my $here = $self->tell();
+
+    my $buffer;
+    $self->smartReadExact(\$buffer, 22) 
+        or die "xxx" ;
+
+    my $zip64 = 0;                             
+    my $centralDirOffset ;
+    if ( unpack("V", $buffer) == ZIP_END_CENTRAL_HDR_SIG ) {
+        $centralDirOffset = unpack("V", substr($buffer, 16,  4));
+    }
+    else {
+        $self->smartSeek(0, 0, SEEK_END) ;
+
+        my $fileLen = $self->tell();
+        my $want = 0 ;
+
+        while(1) {
+            $want += 1024;
+            my $seekTo = $fileLen - $want;
+            if ($seekTo < 0 ) {
+                $seekTo = 0;
+                $want = $fileLen ;
+            }
+            $self->smartSeek( $seekTo, 0, SEEK_SET) 
+                or die "xxx $!" ;
+            my $got;
+            $self->smartReadExact($buffer, $want)
+                or die "xxx " ;
+            my $pos = rindex( $buffer, Pack_ZIP_END_CENTRAL_HDR_SIG);
+
+            if ($pos >= 0) {
+                #$here = $self->tell();
+                $here = $seekTo + $pos ;
+                $centralDirOffset = unpack("V", substr($buffer, $pos + 16,  4));
+                last ;
+            }
+
+            return undef
+                if $want == $fileLen;
+        }
+    }
+
+    $centralDirOffset = $self->offsetFromZip64($here)
+        if U64::full32 $centralDirOffset ;
+
+    return $centralDirOffset ;
+}
+
 1;
 
 __END__
@@ -843,7 +1096,7 @@
 
     use IO::Uncompress::Unzip qw(unzip $UnzipError) ;
 
-    unzip $input => $output [,OPTS] 
+    unzip $input_filename_or_reference => $output_filename_or_reference [,OPTS] 
         or die "unzip failed: $UnzipError\n";
 
 The functional interface needs Perl5.005 or better.
@@ -850,12 +1103,13 @@
 
 =head2 unzip $input => $output [, OPTS]
 
-C<unzip> expects at least two parameters, C<$input> and C<$output>.
+C<unzip> expects at least two parameters,
+C<$input_filename_or_reference> and C<$output_filename_or_reference>.
 
-=head3 The C<$input> parameter
+=head3 The C<$input_filename_or_reference> parameter
 
-The parameter, C<$input>, is used to define the source of
-the compressed data. 
+The parameter, C<$input_filename_or_reference>, is used to define the
+source of the compressed data. 
 
 It can take one of the following forms:
 
@@ -863,25 +1117,25 @@
 
 =item A filename
 
-If the C<$input> parameter is a simple scalar, it is assumed to be a
-filename. This file will be opened for reading and the input data
-will be read from it.
+If the <$input_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename. This file will be opened for reading and the
+input data will be read from it.
 
 =item A filehandle
 
-If the C<$input> parameter is a filehandle, the input data will be
-read from it.
-The string '-' can be used as an alias for standard input.
+If the C<$input_filename_or_reference> parameter is a filehandle, the input
+data will be read from it.  The string '-' can be used as an alias for
+standard input.
 
 =item A scalar reference 
 
-If C<$input> is a scalar reference, the input data will be read
-from C<$$input>.
+If C<$input_filename_or_reference> is a scalar reference, the input data
+will be read from C<$$input_filename_or_reference>.
 
 =item An array reference 
 
-If C<$input> is an array reference, each element in the array must be a
-filename.
+If C<$input_filename_or_reference> is an array reference, each element in
+the array must be a filename.
 
 The input data will be read from each file in turn. 
 
@@ -890,64 +1144,71 @@
 
 =item An Input FileGlob string
 
-If C<$input> is a string that is delimited by the characters "<" and ">"
-C<unzip> will assume that it is an I<input fileglob string>. The
-input is the list of files that match the fileglob.
+If C<$input_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<unzip> will assume that it is an 
+I<input fileglob string>. The input is the list of files that match the 
+fileglob.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$input> parameter is any other type, C<undef> will be returned.
+If the C<$input_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
-=head3 The C<$output> parameter
+=head3 The C<$output_filename_or_reference> parameter
 
-The parameter C<$output> is used to control the destination of the
-uncompressed data. This parameter can take one of these forms.
+The parameter C<$output_filename_or_reference> is used to control the
+destination of the uncompressed data. This parameter can take one of
+these forms.
 
 =over 5
 
 =item A filename
 
-If the C<$output> parameter is a simple scalar, it is assumed to be a
-filename.  This file will be opened for writing and the uncompressed
-data will be written to it.
+If the C<$output_filename_or_reference> parameter is a simple scalar, it is
+assumed to be a filename.  This file will be opened for writing and the 
+uncompressed data will be written to it.
 
 =item A filehandle
 
-If the C<$output> parameter is a filehandle, the uncompressed data
-will be written to it.
-The string '-' can be used as an alias for standard output.
+If the C<$output_filename_or_reference> parameter is a filehandle, the
+uncompressed data will be written to it.  The string '-' can be used as
+an alias for standard output.
 
 =item A scalar reference 
 
-If C<$output> is a scalar reference, the uncompressed data will be
-stored in C<$$output>.
+If C<$output_filename_or_reference> is a scalar reference, the
+uncompressed data will be stored in C<$$output_filename_or_reference>.
 
 =item An Array Reference
 
-If C<$output> is an array reference, the uncompressed data will be
-pushed onto the array.
+If C<$output_filename_or_reference> is an array reference, 
+the uncompressed data will be pushed onto the array.
 
 =item An Output FileGlob
 
-If C<$output> is a string that is delimited by the characters "<" and ">"
-C<unzip> will assume that it is an I<output fileglob string>. The
-output is the list of files that match the fileglob.
+If C<$output_filename_or_reference> is a string that is delimited by the
+characters "<" and ">" C<unzip> will assume that it is an
+I<output fileglob string>. The output is the list of files that match the
+fileglob.
 
-When C<$output> is an fileglob string, C<$input> must also be a fileglob
-string. Anything else is an error.
+When C<$output_filename_or_reference> is an fileglob string,
+C<$input_filename_or_reference> must also be a fileglob string. Anything
+else is an error.
 
 See L<File::GlobMapper|File::GlobMapper> for more details.
 
 =back
 
-If the C<$output> parameter is any other type, C<undef> will be returned.
+If the C<$output_filename_or_reference> parameter is any other type,
+C<undef> will be returned.
 
 =head2 Notes
 
-When C<$input> maps to multiple compressed files/buffers and C<$output> is
-a single file/buffer, after uncompression C<$output> will contain a
+When C<$input_filename_or_reference> maps to multiple compressed
+files/buffers and C<$output_filename_or_reference> is
+a single file/buffer, after uncompression C<$output_filename_or_reference> will contain a
 concatenation of all the uncompressed data from each of the input
 files/buffers.
 
@@ -1148,7 +1409,7 @@
 =item A scalar reference 
 
 If C<$input> is a scalar reference, the compressed data will be read from
-C<$$output>.
+C<$$input>.
 
 =back
 
@@ -1368,6 +1629,13 @@
 that it is only legal to seek forward in the input file/buffer.
 It is a fatal error to attempt to seek backward.
 
+Note that the implementation of C<seek> in this module does not provide
+true random access to a compressed file/buffer. It  works by uncompressing
+data from the current offset in the file/buffer until it reaches the
+ucompressed offset specified in the parameters to C<seek>. For very small
+files this may be acceptable behaviour. For large files it may cause an
+unacceptable delay.
+
 The C<$whence> parameter takes one the usual values, namely SEEK_SET,
 SEEK_CUR or SEEK_END.
 
@@ -1425,7 +1693,7 @@
 will return the underlying file descriptor. Once the C<close> method is
 called C<fileno> will return C<undef>.
 
-If the C<$z> object is is associated with a buffer, this method will return
+If the C<$z> object is associated with a buffer, this method will return
 C<undef>.
 
 =head2 close
@@ -1514,7 +1782,7 @@
 
 =head2 Working with Net::FTP
 
-See L<IO::Uncompress::Unzip::FAQ|IO::Uncompress::Unzip::FAQ/"Compressed files and Net::FTP">
+See L<IO::Compress::FAQ|IO::Compress::FAQ/"Compressed files and Net::FTP">
 
 =head2 Walking through a zip file
 
@@ -1528,7 +1796,7 @@
         or die "Cannot open $zipfile: $UnzipError";
 
     my $status;
-    for ($status = 1; ! $u->eof(); $status = $u->nextStream())
+    for ($status = 1; $status > 0; $status = $u->nextStream())
     {
  
         my $name = $u->getHeaderInfo()->{Name};
@@ -1557,7 +1825,7 @@
 
 L<Compress::Zlib>, L<IO::Compress::Gzip>, L<IO::Uncompress::Gunzip>, L<IO::Compress::Deflate>, L<IO::Uncompress::Inflate>, L<IO::Compress::RawDeflate>, L<IO::Uncompress::RawInflate>, L<IO::Compress::Bzip2>, L<IO::Uncompress::Bunzip2>, L<IO::Compress::Lzma>, L<IO::Uncompress::UnLzma>, L<IO::Compress::Xz>, L<IO::Uncompress::UnXz>, L<IO::Compress::Lzop>, L<IO::Uncompress::UnLzop>, L<IO::Compress::Lzf>, L<IO::Uncompress::UnLzf>, L<IO::Uncompress::AnyInflate>, L<IO::Uncompress::AnyUncompress>
 
-L<Compress::Zlib::FAQ|Compress::Zlib::FAQ>
+L<IO::Compress::FAQ|IO::Compress::FAQ>
 
 L<File::GlobMapper|File::GlobMapper>, L<Archive::Zip|Archive::Zip>,
 L<Archive::Tar|Archive::Tar>,
@@ -1586,7 +1854,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (c) 2005-2011 Paul Marquess. All rights reserved.
+Copyright (c) 2005-2013 Paul Marquess. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/IO-Compress/lib/IO/Uncompress/Unzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/pod/FAQ.pod
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/pod/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/pod/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/pod/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/000prereq.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/000prereq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/000prereq.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,7 +25,7 @@
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
 
-    my $VERSION = '2.033';
+    my $VERSION = '2.060';
     my @NAMES = qw(
 			Compress::Raw::Bzip2
 			Compress::Raw::Zlib
@@ -64,7 +64,7 @@
 			
 			);
 
-    plan tests => 2 + @NAMES + @OPT + $extra ;
+    plan tests => 1 + 2 + @NAMES + @OPT + $extra ;
 
     foreach my $name (@NAMES)
     {
@@ -87,6 +87,11 @@
         }         
     }
 
+    # need zlib 1.2.0 or better
+    
+    cmp_ok Compress::Raw::Zlib::ZLIB_VERNUM(), ">=", 0x1200
+        or diag "IO::Compress needs zlib 1.2.0 or better, you have " . Compress::Raw::Zlib::zlib_version(); 
+    
     use_ok('Scalar::Util') ;
 
 }


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/000prereq.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/001bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/001bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/001bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/001bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/001zlib-generic-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/002any-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/002any-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/002any-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/002any-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/002any-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/002any-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/002any-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/002any-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/002any-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/002any-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/002any-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/002any-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/002any-transparent.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/002any-transparent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/002any-transparent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/002any-transparent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/002any-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/002any-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/002any-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/002any-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/004gziphdr.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/004gziphdr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/004gziphdr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,7 +20,7 @@
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
 
-    plan tests => 910 + $extra ;
+    plan tests => 918 + $extra ;
 
     use_ok('Compress::Raw::Zlib') ;
     use_ok('IO::Compress::Gzip::Constants') ;
@@ -479,23 +479,25 @@
 }
 
 {
-    # Check Minimal + no compressed data
+    title "Check Minimal + no compressed data";
     # This is the smallest possible gzip file (20 bytes)
 
     ok my $x = new IO::Compress::Gzip $name, -Minimal => 1;
-    ok $x->close ;
-    #ok GZreadFile($name) eq '' ;
+    isa_ok $x, "IO::Compress::Gzip";
+    ok $x->close, "closed" ;
 
-    ok $x = new IO::Uncompress::Gunzip $name, -Append => 1 ;
+    ok $x = new IO::Uncompress::Gunzip $name, -Append => 0 ;
+    isa_ok $x, "IO::Uncompress::Gunzip";
     my $data ;
     my $status  = 1;
 
+    ok $x->eof(), "eof" ;
     $status = $x->read($data)
         while $status >  0;
-    is $status, 0 ;
-    is $data, '';
-    ok ! $x->error() ;
-    ok $x->eof() ;
+    is $status, 0, "status == 0" ;
+    is $data, '', "empty string";
+    ok ! $x->error(), "no error" ;
+    ok $x->eof(), "eof" ;
 
     my $hdr = $x->getHeaderInfo();
     ok $hdr;
@@ -519,7 +521,7 @@
 }
 
 {
-    # Header Corruption Tests
+    title "Header Corruption Tests";
 
     my $string = <<EOM;
 some text
@@ -584,8 +586,10 @@
     title "ExtraField max raw size";
     my $x ;
     my $store = "x" x GZIP_FEXTRA_MAX_SIZE ;
-    my $z = new IO::Compress::Gzip(\$x, ExtraField => $store, Strict => 0) ;
-    ok $z,  "Created IO::Compress::Gzip object" ;
+    {
+        my $z = new IO::Compress::Gzip(\$x, ExtraField => $store, Strict => 0) ;
+        ok $z,  "Created IO::Compress::Gzip object" ;
+    }
     my $gunz = new IO::Uncompress::Gunzip \$x, Strict => 0;
     ok $gunz, "Created IO::Uncompress::Gunzip object" ;
     my $hdr = $gunz->getHeaderInfo();
@@ -812,6 +816,7 @@
     my $string = <<EOM;
 some text
 EOM
+    $string = $string x 1000;
 
     my $good ;
     {
@@ -843,19 +848,22 @@
 
         foreach my $strict (0, 1)
         {
-            ok my $gunz = new IO::Uncompress::Gunzip $name, -Strict   => $strict ;
+            ok my $gunz = new IO::Uncompress::Gunzip $name, Append => 1, -Strict   => $strict ;
             my $uncomp ;
+            my $status = 1;
+            $status = $gunz->read($uncomp) while $status > 0;
             if ($strict)
             {
-                ok $gunz->read($uncomp) < 0 ;
+                cmp_ok $status, '<', 0 ;
                 like $GunzipError, "/Trailer Error: trailer truncated. Expected 8 bytes, got $got/";
             }
             else
             {
-                ok   $gunz->read($uncomp) > 0 ;
-                ok ! $GunzipError ;
+                is $status, 0, "status 0";
+                ok ! $GunzipError, "no error" 
+                    or diag "$GunzipError";
                 my $expected = substr($buffer, - $got);
-                is  $gunz->trailingData(),  $expected_trailing;
+                is  $gunz->trailingData(),  $expected_trailing, "trailing data";
             }
             ok $gunz->eof() ;
             ok $uncomp eq $string;
@@ -874,17 +882,20 @@
         foreach my $strict (0, 1)
         {
             ok my $gunz = new IO::Uncompress::Gunzip $name, 
+                                               Append   => 1,
                                                -Strict   => $strict ;
             my $uncomp ;
+            my $status = 1;
+            $status = $gunz->read($uncomp) while $status > 0;
             if ($strict)
             {
-                ok $gunz->read($uncomp) < 0 ;
+                cmp_ok $status, '<', 0 ;
                 my $got_len = $actual_len + 1;
                 like $GunzipError, "/Trailer Error: ISIZE mismatch. Got $got_len, expected $actual_len/";
             }
             else
             {
-                ok   $gunz->read($uncomp) > 0 ;
+                is $status, 0;
                 ok ! $GunzipError ;
                 #is   $gunz->trailingData(), substr($buffer, - $got) ;
             }
@@ -906,16 +917,19 @@
         foreach my $strict (0, 1)
         {
             ok my $gunz = new IO::Uncompress::Gunzip $name, 
+                                               -Append   => 1,
                                                -Strict   => $strict ;
             my $uncomp ;
+            my $status = 1;
+            $status = $gunz->read($uncomp) while $status > 0;
             if ($strict)
             {
-                ok $gunz->read($uncomp) < 0 ;
+                cmp_ok $status, '<', 0 ;
                 like $GunzipError, '/Trailer Error: CRC mismatch/';
             }
             else
             {
-                ok   $gunz->read($uncomp) > 0 ;
+                is $status, 0;
                 ok ! $GunzipError ;
             }
             ok ! $gunz->trailingData() ;
@@ -938,16 +952,19 @@
         foreach my $strict (0, 1)
         {
             ok my $gunz = new IO::Uncompress::Gunzip $name, 
+                                               -Append   => 1,
                                                -Strict   => $strict ;
             my $uncomp ;
+            my $status = 1;
+            $status = $gunz->read($uncomp) while $status > 0;
             if ($strict)
             {
-                ok $gunz->read($uncomp) < 0 ;
+                cmp_ok $status, '<', 0 ;
                 like $GunzipError, '/Trailer Error: CRC mismatch/';
             }
             else
             {
-                ok   $gunz->read($uncomp) > 0 ;
+                is $status, 0;
                 ok ! $GunzipError ;
             }
             ok $gunz->eof() ;
@@ -956,6 +973,20 @@
         }
 
     }
+
+    {
+        # RT #72329
+        my $error = 'Error with ExtraField Parameter: ' .
+                    'SubField ID not two chars long' ;
+        my $buffer ;
+        my $x ;
+        eval { $x = new IO::Compress::Gzip \$buffer, 
+                -ExtraField  => [ at => 'mouse', bad => 'dog'] ;
+             };
+        like $@, mkErr("$error");  
+        like $GzipError, "/$error/";  
+        ok ! $x ;
+    }
 }
 
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/004gziphdr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/005defhdr.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/005defhdr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/005defhdr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -38,12 +38,12 @@
 
     my $buffer ;
     ok my $def = new IO::Compress::Deflate \$buffer, %opts ;
-    is $def->write($string), length($string) ;
-    ok $def->close ;
+    is $def->write($string), length($string), "write" ;
+    ok $def->close, "closed" ;
     #print "ReadHeaderInfo\n"; hexDump(\$buffer);
 
     ok my $inf = new IO::Uncompress::Inflate \$buffer, Append => 1  ;
-    my $uncomp ;
+    my $uncomp = "";
     #ok $inf->read($uncomp) ;
     my $actual = 0 ;
     my $status = 1 ;
@@ -53,8 +53,8 @@
 
     is $actual, length($string) ;
     is $uncomp, $string;
-    ok ! $inf->error() ;
-    ok $inf->eof() ;
+    ok ! $inf->error(), "! error" ;
+    ok $inf->eof(), "eof" ;
     ok my $hdr = $inf->getHeaderInfo();
     ok $inf->close ;
 
@@ -107,7 +107,7 @@
 # Check the Deflate Header Parameters
 #========================================
 
-my $lex = new LexFile my $name ;
+#my $lex = new LexFile my $name ;
 
 {
     title "Check default header settings" ;
@@ -275,6 +275,7 @@
 some text
 EOM
 
+    $string = $string x 1000;
     my $good ;
     ok my $x = new IO::Compress::Deflate \$good ;
     ok $x->write($string) ;
@@ -286,6 +287,7 @@
         foreach my $s (0, 1)
         {
             title "Trailer Corruption - Trailer truncated to $got bytes, strict $s" ;
+		my $lex = new LexFile my $name ;
             my $buffer = $good ;
             my $expected_trailing = substr($good, -4, 4) ;
             substr($expected_trailing, $trim) = '';
@@ -293,17 +295,20 @@
             substr($buffer, $trim) = '';
             writeFile($name, $buffer) ;
 
-            ok my $gunz = new IO::Uncompress::Inflate $name, Strict => $s;
+            ok my $gunz = new IO::Uncompress::Inflate $name, Append => 1, Strict => $s;
             my $uncomp ;
             if ($s)
             {
-                ok $gunz->read($uncomp) < 0 ;
+                my $status ;
+                1 while ($status = $gunz->read($uncomp)) > 0;
+                cmp_ok $status, "<", 0 ;
                 like $IO::Uncompress::Inflate::InflateError,"/Trailer Error: trailer truncated. Expected 4 bytes, got $got/",
                     "Trailer Error";
             }
             else
             {
-                is $gunz->read($uncomp), length $string ;
+                1 while $gunz->read($uncomp) > 0;
+                is $uncomp, $string ;
             }
             ok $gunz->eof() ;
             ok $uncomp eq $string;
@@ -317,11 +322,14 @@
         my $buffer = $good ;
         my $crc = unpack("N", substr($buffer, -4, 4));
         substr($buffer, -4, 4) = pack('N', $crc+1);
+		my $lex = new LexFile my $name ;
         writeFile($name, $buffer) ;
 
-        ok my $gunz = new IO::Uncompress::Inflate $name, Strict => 1;
+        ok my $gunz = new IO::Uncompress::Inflate $name, Append => 1, Strict => 1;
         my $uncomp ;
-        ok $gunz->read($uncomp) < 0 ;
+        my $status ;
+        1 while ($status = $gunz->read($uncomp)) > 0;
+        cmp_ok $status, "<", 0 ;
         like $IO::Uncompress::Inflate::InflateError,'/Trailer Error: CRC mismatch/',
             "Trailer Error: CRC mismatch";
         ok $gunz->eof() ;
@@ -335,11 +343,14 @@
         my $buffer = $good ;
         my $crc = unpack("N", substr($buffer, -4, 4));
         substr($buffer, -4, 4) = pack('N', $crc+1);
+		my $lex = new LexFile my $name ;
         writeFile($name, $buffer) ;
 
-        ok my $gunz = new IO::Uncompress::Inflate $name, Strict => 0;
+        ok my $gunz = new IO::Uncompress::Inflate $name, Append => 1, Strict => 0;
         my $uncomp ;
-        ok $gunz->read($uncomp) >= 0  ;
+        my $status ;
+        1 while ($status = $gunz->read($uncomp)) > 0;
+        cmp_ok $status, '>=', 0  ;
         ok $gunz->eof() ;
         ok ! $gunz->trailingData() ;
         ok $uncomp eq $string;


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/005defhdr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/006zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/006zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/006zip.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 77 + $extra ;
+    plan tests => 101 + $extra ;
 
     use_ok('IO::Compress::Zip', qw(:all)) ;
     use_ok('IO::Uncompress::Unzip', qw(unzip $UnzipError)) ;
@@ -38,7 +38,7 @@
 {
     my $filename = shift;
 
-    my $u = new IO::Uncompress::Unzip $filename, Append => 1
+    my $u = new IO::Uncompress::Unzip $filename, Append => 1, @_
         or die "Cannot open $filename: $UnzipError";
 
     isa_ok $u, "IO::Uncompress::Unzip";
@@ -46,7 +46,7 @@
     my @content;
     my $status ;
 
-    for ($status = 1; ! $u->eof(); $status = $u->nextStream())
+    for ($status = 1; $status > 0 ; $status = $u->nextStream())
     {
         my $name = $u->getHeaderInfo()->{Name};
         #warn "Processing member $name\n" ;
@@ -247,7 +247,54 @@
     is $got[2], $content[2], "Got 3nd entry";
 }
 
+{
+    title "RT #72548";
 
+    my $lex = new LexFile my $file1;
+
+    my $blockSize = 1024 * 16;
+
+    my @content = (
+                   'hello',
+                   "x" x ($blockSize + 1)
+                   );
+
+    my $zip = new IO::Compress::Zip $file1,
+                    Name => "one", Method => ZIP_CM_STORE, Stream => 0;
+    isa_ok $zip, "IO::Compress::Zip";
+
+    is $zip->write($content[0]), length($content[0]), "write"; 
+
+    $zip->newStream(Name=> "two", Method => ZIP_CM_STORE);
+    is $zip->write($content[1]), length($content[1]), "write"; 
+
+    ok $zip->close(), "closed";                    
+
+    my @got = getContent($file1, BlockSize => $blockSize);
+
+    is $got[0], $content[0], "Got 1st entry";
+    is $got[1], $content[1], "Got 2nd entry";
+}
+
+{
+    title "Zip file with a single zero-length file";
+
+    my $lex = new LexFile my $file1;
+
+
+    my $zip = new IO::Compress::Zip $file1,
+                    Name => "one", Method => ZIP_CM_STORE, Stream => 0;
+    isa_ok $zip, "IO::Compress::Zip";
+
+    $zip->newStream(Name=> "two", Method => ZIP_CM_STORE);
+    ok $zip->close(), "closed";                    
+
+    my @got = getContent($file1);
+
+    is $got[0], "", "no content";
+    is $got[1], "", "no content";
+}
+
 SKIP:
 for my $method (ZIP_CM_DEFLATE, ZIP_CM_STORE, ZIP_CM_BZIP2)
 {
@@ -273,3 +320,41 @@
 
 
 }
+
+{
+    title "isMethodAvailable" ;
+    
+    ok IO::Compress::Zip::isMethodAvailable(ZIP_CM_STORE), "ZIP_CM_STORE available";
+    ok IO::Compress::Zip::isMethodAvailable(ZIP_CM_DEFLATE), "ZIP_CM_DEFLATE available";
+    #ok IO::Compress::Zip::isMethodAvailable(ZIP_CM_STORE), "ZIP_CM_STORE available";
+    
+    ok ! IO::Compress::Zip::isMethodAvailable(999), "999 not available";    
+}
+
+{
+    title "Memember & Comment 0";
+
+    my $lex = new LexFile my $file1;
+
+    my $content = 'hello' ;
+                 
+
+    my $zip = new IO::Compress::Zip $file1,
+                    Name => "0", Comment => "0" ;
+    isa_ok $zip, "IO::Compress::Zip";
+
+    is $zip->write($content), length($content), "write"; 
+
+    ok $zip->close(), "closed";                    
+
+
+
+    my $u = new IO::Uncompress::Unzip $file1, Append => 1, @_
+        or die "Cannot open $file1: $UnzipError";
+
+    isa_ok $u, "IO::Uncompress::Unzip";
+
+    my $name = $u->getHeaderInfo()->{Name};
+    
+    is $u->getHeaderInfo()->{Name}, "0", "Name is '0'";
+}


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/006zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/010examples-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/010examples-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/010examples-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -66,13 +66,9 @@
 
 my @hello2 = grep(s/$/\n/, split(/\n/, $hello2)) ;
 
-my $file1 = "hello1.gz" ;
-my $file2 = "hello2.gz" ;
-my $stderr = "err.out" ;
+my ($file1, $file2, $stderr) ;
+my $lex = new LexFile $file1, $file2, $stderr ;
 
-for ($file1, $file2, $stderr) { 1 while unlink $_ } ;
-
-
 bzip2 \$hello1 => $file1 ;
 bzip2 \$hello2 => $file2 ;
 
@@ -81,8 +77,7 @@
     my $command = shift ;
     my $expected = shift ;
 
-    my $stderr = 'err.out';
-    1 while unlink $stderr;
+    my $lex = new LexFile my $stderr ;
 
     my $cmd = "$command 2>$stderr";
     my $stdout = `$cmd` ;
@@ -137,9 +132,3 @@
     title "bzcat" ;
     check "$Perl ${examples}/bzcat $file2", $hello1 ;
 }
-
-END
-{
-    for ($file1, $file2, $stderr) { 1 while unlink $_ } ;
-}
-


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/010examples-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/010examples-zlib.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/010examples-zlib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/010examples-zlib.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -66,13 +66,9 @@
 
 my @hello2 = grep(s/$/\n/, split(/\n/, $hello2)) ;
 
-my $file1 = "hello1.gz" ;
-my $file2 = "hello2.gz" ;
-my $stderr = "err.out" ;
+my ($file1, $file2, $stderr) ;
+my $lex = new LexFile $file1, $file2, $stderr ;
 
-for ($file1, $file2, $stderr) { 1 while unlink $_ } ;
-
-
 gzip \$hello1 => $file1 ;
 gzip \$hello2 => $file2 ;
 
@@ -81,9 +77,9 @@
     my $command = shift ;
     my $expected = shift ;
 
-    my $stderr = 'err.out';
-    1 while unlink $stderr;
+    my $lex = new LexFile my $stderr ;
 
+
     my $cmd = "$command 2>$stderr";
     my $stdout = `$cmd` ;
 
@@ -137,9 +133,3 @@
     title "gzcat" ;
     check "$Perl ${examples}/gzcat $file2", $hello1 ;
 }
-
-END
-{
-    for ($file1, $file2, $stderr) { 1 while unlink $_ } ;
-}
-


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/010examples-zlib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/01misc.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/01misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/01misc.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 112 + $extra ;
+    plan tests => 163 + $extra ;
 
     use_ok('Scalar::Util');
     use_ok('IO::Compress::Base::Common');
@@ -47,110 +47,145 @@
     like $@, mkErr(': Expected even number of parameters, got 1'), 
             "Trap odd number of params";
 
-    eval { ParseParameters(1, {'Fred' => [1, 1, Parse_boolean, 0]}, Fred => 'joe') ; };
-    like $@, mkErr("Parameter 'Fred' must be an int, got 'joe'"), 
+    eval { ParseParameters(1, {'fred' => [Parse_boolean, 0]}, fred => 'joe') ; };
+    like $@, mkErr("Parameter 'fred' must be an int, got 'joe'"), 
             "wanted unsigned, got undef";
 
-    eval { ParseParameters(1, {'Fred' => [1, 1, Parse_unsigned, 0]}, Fred => undef) ; };
-    like $@, mkErr("Parameter 'Fred' must be an unsigned int, got 'undef'"), 
+    eval { ParseParameters(1, {'fred' => [Parse_unsigned, 0]}, fred => undef) ; };
+    like $@, mkErr("Parameter 'fred' must be an unsigned int, got 'undef'"), 
             "wanted unsigned, got undef";
 
-    eval { ParseParameters(1, {'Fred' => [1, 1, Parse_signed, 0]}, Fred => undef) ; };
-    like $@, mkErr("Parameter 'Fred' must be a signed int, got 'undef'"), 
+    eval { ParseParameters(1, {'fred' => [Parse_signed, 0]}, fred => undef) ; };
+    like $@, mkErr("Parameter 'fred' must be a signed int, got 'undef'"), 
             "wanted signed, got undef";
 
-    eval { ParseParameters(1, {'Fred' => [1, 1, Parse_signed, 0]}, Fred => 'abc') ; };
-    like $@, mkErr("Parameter 'Fred' must be a signed int, got 'abc'"), 
+    eval { ParseParameters(1, {'fred' => [Parse_signed, 0]}, fred => 'abc') ; };
+    like $@, mkErr("Parameter 'fred' must be a signed int, got 'abc'"), 
             "wanted signed, got 'abc'";
 
+    eval { ParseParameters(1, {'fred' => [Parse_code, undef]}, fred => 'abc') ; };
+    like $@, mkErr("Parameter 'fred' must be a code reference, got 'abc'"), 
+            "wanted code, got 'abc'";
 
+
     SKIP:
     {
         use Config;
 
-        skip 'readonly + threads', 1
+        skip 'readonly + threads', 2
             if $Config{useithreads};
 
-        eval { ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, 0]}, Fred => 'abc') ; };
-        like $@, mkErr("Parameter 'Fred' not writable"), 
+        eval { ParseParameters(1, {'fred' => [Parse_writable_scalar, 0]}, fred => 'abc') ; };
+        like $@, mkErr("Parameter 'fred' not writable"), 
                 "wanted writable, got readonly";
+
+        eval { ParseParameters(1, {'fred' => [Parse_writable_scalar, 0]}, fred => \'abc') ; };
+        like $@, mkErr("Parameter 'fred' not writable"), 
+                "wanted writable, got readonly";
     }
 
     my @xx;
-    eval { ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, 0]}, Fred => \@xx) ; };
-    like $@, mkErr("Parameter 'Fred' not a scalar reference"), 
+    eval { ParseParameters(1, {'fred' => [Parse_writable_scalar, 0]}, fred => \@xx) ; };
+    like $@, mkErr("Parameter 'fred' not a scalar reference"), 
             "wanted scalar reference";
 
     local *ABC;
-    eval { ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, 0]}, Fred => *ABC) ; };
-    like $@, mkErr("Parameter 'Fred' not a scalar"), 
+    eval { ParseParameters(1, {'fred' => [Parse_writable_scalar, 0]}, fred => *ABC) ; };
+    like $@, mkErr("Parameter 'fred' not a scalar"), 
             "wanted scalar";
 
-    eval { ParseParameters(1, {'Fred' => [1, 1, Parse_any, 0]}, Fred => 1, Fred => 2) ; };
-    like $@, mkErr("Muliple instances of 'Fred' found"),
+    eval { ParseParameters(1, {'fred' => [Parse_any, 0]}, fred => 1, fred => 2) ; };
+    like $@, mkErr("Muliple instances of 'fred' found"),
         "multiple instances";
 
-    my $g = ParseParameters(1, {'Fred' => [1, 1, Parse_unsigned|Parse_multiple, 7]}, Fred => 1, Fred => 2) ;
-    is_deeply $g->value('Fred'), [ 1, 2 ] ;
+#    my $g = ParseParameters(1, {'fred' => [Parse_unsigned|Parse_multiple, 7]}, fred => 1, fred => 2) ;
+#    is_deeply $g->value('fred'), [ 1, 2 ] ;
+    ok 1;
 
     #ok 1;
 
-    my $got = ParseParameters(1, {'Fred' => [1, 1, 0x1000000, 0]}, Fred => 'abc') ;
-    is $got->value('Fred'), "abc", "other" ;
+    my $got = ParseParameters(1, {'fred' => [0x1000000, 0]}, fred => 'abc') ;
+    is $got->getValue('fred'), "abc", "other" ;
 
-    $got = ParseParameters(1, {'Fred' => [0, 1, Parse_any, undef]}, Fred => undef) ;
-    ok $got->parsed('Fred'), "undef" ;
-    ok ! defined $got->value('Fred'), "undef" ;
+    $got = ParseParameters(1, {'fred' => [Parse_any, undef]}, fred => undef) ;
+    ok $got->parsed('fred'), "undef" ;
+    ok ! defined $got->getValue('fred'), "undef" ;
 
-    $got = ParseParameters(1, {'Fred' => [0, 1, Parse_string, undef]}, Fred => undef) ;
-    ok $got->parsed('Fred'), "undef" ;
-    is $got->value('Fred'), "", "empty string" ;
+    $got = ParseParameters(1, {'fred' => [Parse_string, undef]}, fred => undef) ;
+    ok $got->parsed('fred'), "undef" ;
+    is $got->getValue('fred'), "", "empty string" ;
 
     my $xx;
-    $got = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, Fred => $xx) ;
+    $got = ParseParameters(1, {'fred' => [Parse_writable_scalar, undef]}, fred => $xx) ;
 
-    ok $got->parsed('Fred'), "parsed" ;
-    my $xx_ref = $got->value('Fred');
+    ok $got->parsed('fred'), "parsed" ;
+    my $xx_ref = $got->getValue('fred');
     $$xx_ref = 77 ;
     is $xx, 77;
 
-    $got = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, Fred => \$xx) ;
+    $got = ParseParameters(1, {'fred' => [Parse_writable_scalar, undef]}, fred => \$xx) ;
 
-    ok $got->parsed('Fred'), "parsed" ;
-    $xx_ref = $got->value('Fred');
+    ok $got->parsed('fred'), "parsed" ;
+    $xx_ref = $got->getValue('fred');
 
     $$xx_ref = 666 ;
     is $xx, 666;
 
     {
-        my $got1 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, $got) ;
+        my $got1 = ParseParameters(1, {'fred' => [Parse_writable_scalar, undef]}, $got) ;
         is $got1, $got, "Same object";
     
-        ok $got1->parsed('Fred'), "parsed" ;
-        $xx_ref = $got1->value('Fred');
+        ok $got1->parsed('fred'), "parsed" ;
+        $xx_ref = $got1->getValue('fred');
         
         $$xx_ref = 777 ;
         is $xx, 777;
     }
+
+    for my $type (Parse_unsigned, Parse_signed, Parse_any)    
+    {
+        my $value = 0;
+        my $got1 ;
+        eval { $got1 = ParseParameters(1, {'fred' => [$type, 1]}, fred => $value) } ;
     
-##    my $got2 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, '__xxx__' => $got) ;
-##    isnt $got2, $got, "not the Same object";
-##
-##    ok $got2->parsed('Fred'), "parsed" ;
-##    $xx_ref = $got2->value('Fred');
-##    $$xx_ref = 888 ;
-##    is $xx, 888;  
-##      
-##    my $other;
-##    my $got3 = ParseParameters(1, {'Fred' => [1, 1, Parse_writable_scalar, undef]}, '__xxx__' => $got, Fred => \$other) ;
-##    isnt $got3, $got, "not the Same object";
-##
-##        exit;
-##    ok $got3->parsed('Fred'), "parsed" ;
-##    $xx_ref = $got3->value('Fred');
-##    $$xx_ref = 999 ;
-##    is $other, 999;  
-##    is $xx, 888;  
+        ok ! $@;
+        ok $got1->parsed('fred'), "parsed ok" ;
+        is $got1->getValue('fred'), 0;
+    }    
+
+    {
+        # setValue/getValue
+        my $value = 0;
+        my $got1 ;
+        eval { $got1 = ParseParameters(1, {'fred' => [Parse_any, 1]}, fred => $value) } ;
+    
+        ok ! $@;
+        ok $got1->parsed('fred'), "parsed ok" ;
+        is $got1->getValue('fred'), 0;
+        $got1->setValue('fred' => undef);
+        is $got1->getValue('fred'), undef;        
+    }  
+    
+    {
+        # twice
+        my $value = 0;
+        
+        my $got = IO::Compress::Base::Parameters::new();
+
+       
+        ok $got->parse({'fred' => [Parse_any, 1]}, fred => $value) ;
+
+        ok $got->parsed('fred'), "parsed ok" ;
+        is $got->getValue('fred'), 0;
+        
+        ok $got->parse({'fred' => [Parse_any, 1]}, fred => undef) ;  
+        ok $got->parsed('fred'), "parsed ok" ;
+        is $got->getValue('fred'), undef;   
+        
+        ok $got->parse({'fred' => [Parse_any, 1]}, fred => 7) ;  
+        ok $got->parsed('fred'), "parsed ok" ;
+        is $got->getValue('fred'), 7;   
+    }      
 }
 
 
@@ -290,6 +325,48 @@
     is $x->getLow, 1, "  getLow is 1";
     ok $x->is64bit(), " is64bit";
 
+    title "U64 - subtract" ;
+
+    $x = new U64(0, 1);
+    is $x->getHigh, 0, "  getHigh is 0";
+    is $x->getLow, 1, "  getLow is 1";
+    ok ! $x->is64bit(), " ! is64bit";
+
+    $x->subtract(1);
+    is $x->getHigh, 0, "  getHigh is 0";
+    is $x->getLow, 0, "  getLow is 0";
+    ok ! $x->is64bit(), " ! is64bit";
+
+    $x = new U64(1, 0);
+    is $x->getHigh, 1, "  getHigh is 1";
+    is $x->getLow, 0, "  getLow is 0";
+    is $x->get32bit(),  0, "  get32bit is 0xFFFFFFFE";
+    is $x->get64bit(),  0xFFFFFFFF+1, "  get64bit is 0x100000000";
+    ok $x->is64bit(), " is64bit";
+
+    $x->subtract(1);
+    is $x->getHigh, 0, "  getHigh is 0";
+    is $x->getLow, 0xFFFFFFFF, "  getLow is 0xFFFFFFFF";
+    is $x->get32bit(),  0xFFFFFFFF, "  get32bit is 0xFFFFFFFF";
+    is $x->get64bit(),  0xFFFFFFFF, "  get64bit is 0xFFFFFFFF";
+    ok ! $x->is64bit(), " ! is64bit";
+
+    $x = new U64(2, 2);
+    $y = new U64(1, 3);
+
+    $x->subtract($y);
+    is $x->getHigh, 0, "  getHigh is 0";
+    is $x->getLow, 0xFFFFFFFF, "  getLow is 1";
+    ok ! $x->is64bit(), " ! is64bit";
+
+    $x = new U64(0x01CADCE2, 0x4E815983);
+    $y = new U64(0x19DB1DE, 0xD53E8000); # NTFS to Unix time delta
+
+    $x->subtract($y);
+    is $x->getHigh, 0x2D2B03, "  getHigh is 2D2B03";
+    is $x->getLow, 0x7942D983, "  getLow is 7942D983";
+    ok $x->is64bit(), " is64bit";
+
     title "U64 - equal" ;
 
     $x = new U64(0, 1);
@@ -315,4 +392,12 @@
     $z =  U64::clone($x);
     is $z->getHigh, 21, "  getHigh is 21";
     is $z->getLow, 77, "  getLow is 77";
+
+    title "U64 - cmp.gt" ;
+    $x = new U64 1;
+    $y = new U64 0;
+    cmp_ok $x->cmp($y), '>', 0, "  cmp > 0";
+    is $x->gt($y), 1, "  gt";
+    cmp_ok $y->cmp($x), '<', 0, "  cmp < 0";
+
 }


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/01misc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/020isize.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/020isize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/020isize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/020isize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/050interop-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/050interop-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/050interop-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,6 +10,7 @@
 use warnings;
 use bytes;
 
+use File::Spec ;
 use Test::More ;
 use CompTestUtils;
 
@@ -91,10 +92,13 @@
 
     for my $dir (reverse split $split, $ENV{PATH})    
     {
-        $GZIP = "$dir/$name"
-            if -x "$dir/$name" ;
+        $GZIP = File::Spec->catfile($dir,$name)
+            if -x File::Spec->catfile($dir,$name)
     }
 
+    # Handle spaces in path to gzip 
+    $GZIP = "\"$GZIP\"" if defined $GZIP && $GZIP =~ /\s/;    
+
     plan(skip_all => "Cannot find $name")
         if ! $GZIP ;
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/050interop-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/100generic-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/100generic-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/100generic-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/100generic-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/100generic-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/100generic-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/100generic-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/100generic-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/100generic-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/100generic-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/100generic-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/100generic-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/100generic-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/100generic-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/100generic-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/100generic-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/100generic-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/100generic-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/100generic-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/100generic-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/101truncate-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/101truncate-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/101truncate-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,7 +17,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 3308 + $extra;
+    plan tests => 4012 + $extra;
 
 };
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/101truncate-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/101truncate-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/101truncate-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/101truncate-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,7 +17,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 2552 + $extra;
+    plan tests => 3056 + $extra;
 
 };
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/101truncate-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/101truncate-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/101truncate-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/101truncate-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 3040 + $extra;
+    plan tests => 3544 + $extra;
 
 };
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/101truncate-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/101truncate-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/101truncate-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/101truncate-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/101truncate-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/101truncate-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/101truncate-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/101truncate-zip.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 7732 + $extra;
+    plan tests => 9156 + $extra;
 
 };
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/101truncate-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/102tied-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/102tied-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/102tied-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/102tied-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/102tied-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/102tied-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/102tied-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/102tied-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/102tied-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/102tied-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/102tied-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/102tied-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/102tied-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/102tied-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/102tied-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/102tied-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/102tied-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/102tied-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/102tied-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/102tied-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/103newtied-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/103newtied-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/103newtied-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/103newtied-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/103newtied-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/103newtied-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/103newtied-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/103newtied-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/103newtied-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/103newtied-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/103newtied-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/103newtied-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/103newtied-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/103newtied-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/103newtied-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/103newtied-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/103newtied-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/103newtied-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/103newtied-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/103newtied-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/104destroy-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/104destroy-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/104destroy-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/104destroy-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/104destroy-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/104destroy-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/104destroy-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/104destroy-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/104destroy-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/104destroy-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/104destroy-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/104destroy-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/104destroy-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/104destroy-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/104destroy-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/104destroy-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/104destroy-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/104destroy-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/104destroy-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/104destroy-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/105oneshot-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/105oneshot-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/105oneshot-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/105oneshot-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip-only.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip-only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip-only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip-only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/105oneshot-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/105oneshot-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-bzip2-only.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-bzip2-only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-bzip2-only.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,7 +28,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 144 + $extra ;
+    plan tests => 248 + $extra ;
 
     #use_ok('IO::Compress::Zip', qw(zip $ZipError :zip_method)) ;
     use_ok('IO::Compress::Zip', qw(:all)) ;
@@ -67,49 +67,55 @@
 }
 
 
-for my $stream (0, 1)
+for my $input (0, 1)
 {
-    for my $zip64 (0, 1)
+    for my $stream (0, 1)
     {
-        #next if $zip64 && ! $stream;
-
-        for my $method (ZIP_CM_STORE, ZIP_CM_DEFLATE, ZIP_CM_BZIP2)
+        for my $zip64 (0, 1)
         {
-            title "Stream $stream, Zip64 $zip64, Method $method";
+            #next if $zip64 && ! $stream;
 
-            my $lex = new LexFile my $file1;
+            for my $method (ZIP_CM_STORE, ZIP_CM_DEFLATE, ZIP_CM_BZIP2)
+            {
+                title "Input $input, Stream $stream, Zip64 $zip64, Method $method";
 
-            my $content = "hello ";
-            #writeFile($file1, $content);
+                my $lex1 = new LexFile my $file1;
+                my $lex2 = new LexFile my $file2;
+                my $content = "hello ";
+                my $in ;
 
-            ok zip(\$content => $file1 , Method => $method, 
-                                         Zip64  => $zip64,
-                                         Stream => $stream), " zip ok" 
-                or diag $ZipError ;
+                if ($input)
+                {
+                    writeFile($file2, $content);
+                    $in = $file2;
+                }
+                else
+                {
+                    $in = \$content;
+                }
 
-            my $got ;
-            if ($stream && $method == ZIP_CM_STORE ) {
-                #eval ' unzip($file1 => \$got) ';
-                ok ! unzip($file1 => \$got), "  unzip fails"; 
-                like $UnzipError, "/Streamed Stored content not supported/",
-                    "  Streamed Stored content not supported";
-                    next ;
-            }
 
-            ok unzip($file1 => \$got), "  unzip ok"
-                or diag $UnzipError ;
+                ok zip($in => $file1 , Method => $method, 
+                                       Zip64  => $zip64,
+                                       Stream => $stream), " zip ok" 
+                    or diag $ZipError ;
 
-            is $got, $content, "  content ok";
+                my $got ;
+                ok unzip($file1 => \$got), "  unzip ok"
+                    or diag $UnzipError ;
 
-            my $u = new IO::Uncompress::Unzip $file1
-                or diag $ZipError ;
+                is $got, $content, "  content ok";
 
-            my $hdr = $u->getHeaderInfo();
-            ok $hdr, "  got header";
+                my $u = new IO::Uncompress::Unzip $file1
+                    or diag $ZipError ;
 
-            is $hdr->{Stream}, $stream, "  stream is $stream" ;
-            is $hdr->{MethodID}, $method, "  MethodID is $method" ;
-            is $hdr->{Zip64}, $zip64, "  Zip64 is $zip64" ;
+                my $hdr = $u->getHeaderInfo();
+                ok $hdr, "  got header";
+
+                is $hdr->{Stream}, $stream, "  stream is $stream" ;
+                is $hdr->{MethodID}, $method, "  MethodID is $method" ;
+                is $hdr->{Zip64}, $zip64, "  Zip64 is $zip64" ;
+            }
         }
     }
 }
@@ -147,14 +153,6 @@
             for my $file ($file1, $file2)
             {
                 my $got ;
-                if ($stream &&  $method == ZIP_CM_STORE ) {
-                    #eval ' unzip($zipfile => \$got) ';
-                    ok ! unzip($zipfile => \$got, Name => $file), "  unzip fails"; 
-                    like $UnzipError, "/Streamed Stored content not supported/",
-                        "  Streamed Stored content not supported";
-                        next ;
-                }
-
                 ok unzip($zipfile => \$got, Name => $file), "  unzip $file ok"
                     or diag $UnzipError ;
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-bzip2-only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-only.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-only.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,6 +11,7 @@
 use bytes;
 
 use Test::More ;
+use File::Spec ;
 use CompTestUtils;
 
 BEGIN {
@@ -23,13 +24,11 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 162 + $extra ;
+    plan tests => 216 + $extra ;
 
     #use_ok('IO::Compress::Zip', qw(zip $ZipError :zip_method)) ;
     use_ok('IO::Compress::Zip', qw(:all)) ;
     use_ok('IO::Uncompress::Unzip', qw(unzip $UnzipError)) ;
-
-
 }
 
 
@@ -133,6 +132,36 @@
     cmp_ok $hdr->{Time} >> 1, '<=', $after >> 1, "  Time is ok";
 }
 
+{
+    title "Check CanonicalName & FilterName";
+
+    my $lex = new LexFile my $file1;
+
+    my $content = "hello" ;
+    writeFile($file1, $content);
+    my $hdr;
+
+    my $abs = File::Spec->catfile("", "fred", "joe");
+    $hdr = zipGetHeader($file1, $content, Name => $abs, CanonicalName => 1) ;
+    is $hdr->{Name}, "fred/joe", "  Name is 'fred/joe'" ;
+
+    $hdr = zipGetHeader($file1, $content, Name => $abs, CanonicalName => 0) ;
+    is $hdr->{Name}, File::Spec->catfile("", "fred", "joe"), "  Name is '/fred/joe'" ;
+
+    $hdr = zipGetHeader($file1, $content, FilterName => sub {$_ = "abcde"});
+    is $hdr->{Name}, "abcde", "  Name is 'abcde'" ;
+
+    $hdr = zipGetHeader($file1, $content, Name => $abs, 
+         CanonicalName => 1,
+         FilterName => sub { s/joe/jim/ });
+    is $hdr->{Name}, "fred/jim", "  Name is 'fred/jim'" ;
+
+    $hdr = zipGetHeader($file1, $content, Name => $abs, 
+         CanonicalName => 0,
+         FilterName => sub { s/joe/jim/ });
+    is $hdr->{Name}, File::Spec->catfile("", "fred", "jim"), "  Name is '/fred/jim'" ;
+}
+
 for my $stream (0, 1)
 {
     for my $zip64 (0, 1)
@@ -158,14 +187,6 @@
                 or diag $ZipError ;
 
             my $got ;
-            if ($stream && $method == ZIP_CM_STORE ) {
-                #eval ' unzip($file1 => \$got) ';
-                ok ! unzip($file1 => \$got), "  unzip fails"; 
-                like $UnzipError, "/Streamed Stored content not supported/",
-                    "  Streamed Stored content not supported";
-                    next ;
-            }
-
             ok unzip($file1 => \$got), "  unzip ok"
                 or diag $UnzipError ;
 
@@ -216,14 +237,6 @@
             for my $file ($file1, $file2)
             {
                 my $got ;
-                if ($stream &&  $method == ZIP_CM_STORE ) {
-                    #eval ' unzip($zipfile => \$got) ';
-                    ok ! unzip($zipfile => \$got, Name => $file), "  unzip fails"; 
-                    like $UnzipError, "/Streamed Stored content not supported/",
-                        "  Streamed Stored content not supported";
-                        next ;
-                }
-
                 ok unzip($zipfile => \$got, Name => $file), "  unzip $file ok"
                     or diag $UnzipError ;
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip-only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/105oneshot-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/106prime-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/106prime-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/106prime-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/106prime-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/106prime-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/106prime-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/106prime-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/106prime-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/106prime-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/106prime-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/106prime-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/106prime-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/106prime-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/106prime-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/106prime-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/106prime-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/106prime-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/106prime-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/106prime-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/106prime-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/107multi-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/107multi-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/107multi-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/107multi-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/107multi-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/107multi-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/107multi-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/107multi-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/107multi-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/107multi-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/107multi-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/107multi-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/107multi-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/107multi-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/107multi-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/107multi-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/107multi-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/107multi-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/107multi-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/107multi-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/108anyunc-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/108anyunc-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/108anyunc-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/108anyunc-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/108anyunc-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/108anyunc-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/108anyunc-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/108anyunc-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-transparent.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/108anyunc-transparent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/108anyunc-transparent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-transparent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/108anyunc-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/108anyunc-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/108anyunc-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/109merge-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/109merge-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/109merge-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/109merge-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/109merge-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/109merge-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/109merge-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/109merge-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/109merge-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/109merge-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/109merge-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/109merge-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/109merge-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/109merge-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/109merge-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/109merge-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/110encode-bzip2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/110encode-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/110encode-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/110encode-bzip2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/110encode-deflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/110encode-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/110encode-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/110encode-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/110encode-gzip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/110encode-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/110encode-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/110encode-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/110encode-rawdeflate.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/110encode-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/110encode-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/110encode-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/110encode-zip.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/110encode-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/110encode-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/110encode-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/999pod.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/999pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/999pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/999pod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/compress/CompTestUtils.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/CompTestUtils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/CompTestUtils.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,6 +25,14 @@
     like $@, @_ ;
 }
 
+BEGIN {
+    eval { 
+       require File::Temp;
+     } ;
+
+}
+
+
 {
     package LexFile ;
 
@@ -36,8 +44,9 @@
         my $self = shift ;
         foreach (@_)
         {
-            # autogenerate the name unless if none supplied
-            $_ = "tst" . $index ++ . ".tmp"
+            Carp::croak "NO!!!!" if defined $_;
+            # autogenerate the name if none supplied
+            $_ = "tst" . $$ . "X" . $index ++ . ".tmp"
                 unless defined $_;
         }
         chmod 0777, @_;
@@ -58,19 +67,70 @@
     package LexDir ;
 
     use File::Path;
+
+    our ($index);
+    $index = '00000';
+    our ($useTempFile) = defined &File::Temp::tempdir;
+    our ($useTempDir) = defined &File::Temp::newdir;
+    
     sub new
     {
         my $self = shift ;
-        foreach (@_) { rmtree $_ }
-        bless [ @_ ], $self ;
+
+        if ( $useTempDir)
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                $_ = File::Temp->newdir(DIR => '.');
+                # Subsequent manipulations assume Unix syntax, metacharacters, etc.
+                if ($^O eq 'VMS')
+                {
+                    $_->{DIRNAME} = VMS::Filespec::unixify($_->{DIRNAME});
+                    $_->{DIRNAME} =~ s/\/$//;
+                }
+            }
+            bless [ @_ ], $self ;
+        }
+        elsif ( $useTempFile)
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                $_ = File::Temp::tempdir(DIR => '.', CLEANUP => 1);
+                # Subsequent manipulations assume Unix syntax, metacharacters, etc.
+                if ($^O eq 'VMS')
+                {
+                    $_ = VMS::Filespec::unixify($_);
+                    $_ =~ s/\/$//;
+                }
+            }
+            bless [ @_ ], $self ;
+        }
+        else
+        {
+            foreach (@_)
+            {
+                Carp::croak "NO!!!!" if defined $_;
+                # autogenerate the name if none supplied
+                $_ = "tmpdir" . $$ . "X" . $index ++ . ".tmp" ;
+            }
+            foreach (@_) { rmtree $_; mkdir $_, 0777 }
+            bless [ @_ ], $self ;
+        }
+
     }
 
     sub DESTROY
     {
-        my $self = shift ;
-        foreach (@$self) { rmtree $_ }
+        if (! $useTempFile)
+        {
+            my $self = shift ;
+            foreach (@$self) { rmtree $_ }
+        }
     }
 }
+
 sub readFile
 {
     my $f = shift ;


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/CompTestUtils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/compress/any.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/any.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/any.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/any.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/compress/anyunc.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/anyunc.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/anyunc.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/anyunc.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/compress/destroy.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/destroy.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/destroy.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/destroy.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/compress/encode.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/encode.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/encode.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 
 use strict;
 use warnings;
-use bytes;
+#use bytes;
 
 use Test::More ;
 use CompTestUtils;
@@ -23,7 +23,7 @@
     $extra = 1
         if $st ;
 
-    plan(tests => 7 + $extra) ;
+    plan(tests => 29 + $extra) ;
 }
 
 sub run
@@ -34,7 +34,7 @@
     my $UnError         = getErrorRef($UncompressClass);
 
 
-    my $string = "\x{df}\x{100}"; 
+    my $string = "\x{df}\x{100}\x80"; 
     my $encString = Encode::encode_utf8($string);
     my $buffer = $encString;
 
@@ -92,10 +92,13 @@
             my $ucs = new $UncompressClass($input, Append => 1);
             my $got;
             1 while $ucs->read($got) > 0 ;
+            
+            is  $got, $encString, "  Expected output";
+            
             my $decode = Encode::decode_utf8($got);
 
 
-            is $string, $decode, "  Expected output";
+            is $decode, $string, "  Expected output";
 
 
         }
@@ -110,11 +113,83 @@
         eval { $cs->syswrite($a) };
         like($@, qr/Wide character in ${CompressClass}::write/, 
                  "  wide characters in ${CompressClass}::write");
-        eval { syswrite($cs, $a) };
-        like($@, qr/Wide character in ${CompressClass}::write/, 
-                 "  wide characters in ${CompressClass}::write");
+
     }
+    
+    {
+        title "Unknown encoding";
+        my $output;
+        eval { my $cs = new $CompressClass(\$output, Encode => 'fred'); } ;
+        like($@, qr/${CompressClass}: Encoding 'fred' is not available/, 
+                 "  Encoding 'fred' is not available");
+    }
+    
+    {
+        title "Encode option";
+        
+        for my $to ( qw(filehandle filename buffer))
+        {
+            title "Encode: To $to, Encode option";
 
+            my $lex2 = new LexFile my $name2 ;
+            my $output;
+            my $buffer;
+
+            if ($to eq 'buffer')
+            { 
+                $output = \$buffer 
+            }
+            elsif ($to eq 'filename')
+            {
+                $output = $name2 ;
+            }
+            elsif ($to eq 'filehandle')
+            {
+                $output = new IO::File ">$name2" ;
+            }
+
+            my $out ;
+            my $cs = new $CompressClass($output, AutoClose =>1, Encode => 'utf8');
+            ok $cs->print($string);
+            ok $cs->close();
+
+            my $input;
+            if ($to eq 'buffer')
+            { 
+                $input = \$buffer 
+            }
+            elsif ($to eq 'filename')
+            {
+                $input = $name2 ;
+            }
+            else
+            {
+                $input = new IO::File "<$name2" ;
+            }
+            
+            {
+                my $ucs = new $UncompressClass($input, AutoClose =>1, Append => 1);
+                my $got;
+                1 while $ucs->read($got) > 0 ;
+                ok length($got) > 0;
+                is  $got, $encString, "  Expected output";
+                
+                my $decode = Encode::decode_utf8($got);
+    
+                is  $decode, $string, "  Expected output";
+            }
+            
+     
+#            {
+#                my $ucs = new $UncompressClass($input, Append => 1, Decode => 'utf8');
+#                my $got;
+#                1 while $ucs->read($got) > 0 ;
+#                ok length($got) > 0;    
+#                is  $got, $string, "  Expected output";
+#            }            
+        }        
+    }
+
 }
 
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/encode.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/compress/generic.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/generic.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/generic.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,9 +4,9 @@
 use bytes;
 
 use Test::More ;
-use CompTestUtils;
 
 use IO::Handle qw(SEEK_SET SEEK_CUR SEEK_END);
+use CompTestUtils;
 
 our ($UncompressClass);
 BEGIN 
@@ -18,7 +18,7 @@
     $extra = 1
         if $st ;
 
-    plan(tests => 666 + $extra) ;
+    plan(tests => 794 + $extra) ;
 }
 
 sub myGZreadFile
@@ -677,13 +677,13 @@
             {
                 local $/;  # slurp mode
                 my $io = $UncompressClass->new($name);
-                is $., 0; 
+                is $., 0, "line 0"; 
                 is $io->input_line_number, 0; 
-                ok ! $io->eof;
+                ok ! $io->eof, "eof";
                 my @lines = $io->getlines;
-                is $., 1; 
-                is $io->input_line_number, 1; 
-                ok $io->eof;
+                is $., 1, "line 1"; 
+                is $io->input_line_number, 1, "line number 1"; 
+                ok $io->eof, "eof" ;
                 ok @lines == 1 && $lines[0] eq $str;
             
                 $io = $UncompressClass->new($name);
@@ -830,7 +830,6 @@
 and a single line.
 
 EOT
-
             my $lex = new LexFile my $name ;
 
             writeFile($name, $str);
@@ -839,11 +838,11 @@
             {
                 my $io = new $UncompressClass $name, -Transparent => 1 ;
             
-                ok defined $io;
-                ok ! $io->eof;
-                ok $io->tell() == 0 ;
+                isa_ok $io, $UncompressClass ;
+                ok ! $io->eof, "eof";
+                is $io->tell(), 0, "tell == 0" ;
                 my @lines = $io->getlines();
-                is @lines, 6; 
+                is @lines, 6, "got 6 lines"; 
                 ok $lines[1] eq "of a paragraph\n" ;
                 ok join('', @lines) eq $str ;
                 is $., 6; 
@@ -875,7 +874,7 @@
                 my $line = $io->getline;
                 is $., 1; 
                 is $io->input_line_number, 1; 
-                ok $line eq $str;
+                is $line, $str;
                 ok $io->eof;
             }
             
@@ -1580,11 +1579,129 @@
     #    }
     }
 
-}
+    {
+        # Check can handle empty compressed files
+        # Test is for rt.cpan #67554
 
-1;
+        foreach my $type (qw(filename filehandle buffer ))
+        {
+            foreach my $append (0, 1)
+            {
+                title "$UncompressClass -- empty file read from $type, Append => $append";
 
+                my $appended = "append";
+                my $string = "some data";
+                my $compressed ; 
 
+                my $c = new $CompressClass(\$compressed);
+                $c->close();
 
+                my $comp_len = length $compressed;
+                $compressed .= $appended if $append ;
 
+                my $lex = new LexFile my $name ;
+                my $input ;
+                writeFile ($name, $compressed);
 
+                if ($type eq 'buffer')
+                {
+                    $input = \$compressed;
+                }
+                elsif ($type eq 'filename')
+                {
+                    $input = $name;
+                }
+                elsif ($type eq 'filehandle')
+                {
+                    my $fh = new IO::File "<$name" ;
+                    ok $fh, "opened file $name ok";
+                    $input = $fh ;
+                }
+
+                {
+                    # Check that eof is true immediately after creating the
+                    # uncompression object.
+
+                    # Check that readline returns undef
+
+                    my $x = new $UncompressClass $input, Transparent => 0
+                        or diag "$$UnError" ;
+                    isa_ok $x, $UncompressClass;
+
+                    # should be EOF immediately
+                    is $x->eof(), 1, "eof true";
+
+                    is <$x>, undef, "getline is undef";
+
+                    is $x->eof(), 1, "eof true";
+                }
+
+                {
+                    # Check that read return an empty string
+                    if ($type eq 'filehandle')
+                    {
+                        my $fh = new IO::File "<$name" ;
+                        ok $fh, "opened file $name ok";
+                        $input = $fh ;
+                    }
+
+                    my $x = new $UncompressClass $input, Transparent => 0 
+                        or diag "$$UnError" ;
+                    isa_ok $x, $UncompressClass;
+
+                    my $buffer;
+                    is $x->read($buffer), 0, "read 0 bytes";
+                    ok defined $buffer, "buffer is defined";
+                    is $buffer, "", "buffer is empty string";
+
+                    is $x->eof(), 1, "eof true";
+                }
+
+                {
+                    # Check that read return an empty string in Append Mode
+                    # to empty string
+
+                    if ($type eq 'filehandle')
+                    {
+                        my $fh = new IO::File "<$name" ;
+                        ok $fh, "opened file $name ok";
+                        $input = $fh ;
+                    }
+                    my $x = new $UncompressClass $input, Transparent => 0,
+                                                         Append => 1 
+                        or diag "$$UnError" ;
+                    isa_ok $x, $UncompressClass;
+
+                    my $buffer;
+                    is $x->read($buffer), 0, "read 0 bytes";
+                    ok defined $buffer, "buffer is defined";
+                    is $buffer, "", "buffer is empty string";
+
+                    is $x->eof(), 1, "eof true";
+                }
+                {
+                    # Check that read return an empty string in Append Mode
+                    # to non-empty string
+
+                    if ($type eq 'filehandle')
+                    {
+                        my $fh = new IO::File "<$name" ;
+                        ok $fh, "opened file $name ok";
+                        $input = $fh ;
+                    }
+                    my $x = new $UncompressClass($input, Append => 1 );
+                    isa_ok $x, $UncompressClass;
+
+                    my $buffer = "123";
+                    is $x->read($buffer), 0, "read 0 bytes";
+                    ok defined $buffer, "buffer is defined";
+                    is $buffer, "123", "buffer orig string";
+
+                    is $x->eof(), 1, "eof true";
+                }
+            }
+        }
+    }
+}
+
+1;


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/generic.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/compress/merge.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/merge.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/merge.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -129,7 +129,7 @@
 
             ok ! $CompressClass->new($buffer, Merge => 1), "  constructor fails";
             {
-                like $$Error, '/Cannot create InflateScan object: (Header Error|unexpected end of file|Inflation Error: data error)/', "  got Bad Magic" ;
+                like $$Error, '/Cannot create InflateScan object: (Header Error|unexpected end of file|Inflation Error: data error)?/', "  got Bad Magic" ;
             }
 
         }


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/merge.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/compress/multi.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/multi.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/multi.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/multi.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/compress/newtied.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/newtied.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/newtied.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/newtied.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/compress/oneshot.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/oneshot.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/oneshot.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 986 + $extra ;
+    plan tests => 989 + $extra ;
 
     use_ok('IO::Uncompress::AnyUncompress', qw(anyuncompress $AnyUncompressError)) ;
 
@@ -79,18 +79,18 @@
         }
 
         {
-            my $dir = "tmpdir";
+            my $dir ;
             my $lex = new LexDir $dir ;
-            mkdir $dir, 0777 ;
+            my $d = quotemeta $dir;
 
-            $a = $Func->($dir, \$x) ;
+            $a = $Func->("$dir", \$x) ;
             is $a, undef, "  $TopType returned undef";
-            like $$Error, "/input file '$dir' is a directory/",
+            like $$Error, "/input file '$d' is a directory/",
                 '  Input filename is a directory';
 
-            $a = $Func->(\$x, $dir) ;
+            $a = $Func->(\$x, "$dir") ;
             is $a, undef, "  $TopType returned undef";
-            like $$Error, "/output file '$dir' is a directory/",
+            like $$Error, "/output file '$d' is a directory/",
                 '  Output filename is a directory';
         }
 
@@ -890,21 +890,19 @@
         for my $files ( [qw(a1)], [qw(a1 a2 a3)] )
         {
 
-            my $tmpDir1 = 'tmpdir1';
-            my $tmpDir2 = 'tmpdir2';
+            my $tmpDir1 ;
+            my $tmpDir2 ;
             my $lex = new LexDir($tmpDir1, $tmpDir2) ;
+            my $d1 = quotemeta $tmpDir1 ;
+            my $d2 = quotemeta $tmpDir2 ;
 
-            mkdir $tmpDir1, 0777;
-            mkdir $tmpDir2, 0777;
-
             ok   -d $tmpDir1, "  Temp Directory $tmpDir1 exists";
-            #ok ! -d $tmpDir2, "  Temp Directory $tmpDir2 does not exist";
 
             my @files = map { "$tmpDir1/$_.tmp" } @$files ;
             foreach (@files) { writeFile($_, "abc $_") }
 
             my @expected = map { "abc $_" } @files ;
-            my @outFiles = map { s/$tmpDir1/$tmpDir2/; $_ } @files ;
+            my @outFiles = map { s/$d1/$tmpDir2/; $_ } @files ;
 
             {
                 title "$TopType - From FileGlob to FileGlob files [@$files]" ;
@@ -961,8 +959,7 @@
                 {
                     title "$TopType - From FileGlob to Filename files [@$files], MS $ms" ;
 
-                    my $filename = "abcde";
-                    my $lex = new LexFile($filename) ;
+                    my $lex = new LexFile(my $filename) ;
                     
                     ok &$Func("<$tmpDir1/a*.tmp>" => $filename,
                               MultiStream => $ms), '  Compressed ok' 
@@ -980,8 +977,7 @@
                 {
                     title "$TopType - From FileGlob to Filehandle files [@$files], MS $ms" ;
 
-                    my $filename = "abcde";
-                    my $lex = new LexFile($filename) ;
+                    my $lex = new LexFile(my $filename) ;
                     my $fh = new IO::File ">$filename";
                     
                     ok &$Func("<$tmpDir1/a*.tmp>" => $fh, 
@@ -1399,25 +1395,23 @@
         my $Func = getTopFuncRef($bit);
         my $TopType = getTopFuncName($bit);
 
-        my $tmpDir1 = 'tmpdir1';
-        my $tmpDir2 = 'tmpdir2';
+        my $tmpDir1 ;
+        my $tmpDir2 ;
         my $lex = new LexDir($tmpDir1, $tmpDir2) ;
+        my $d1 = quotemeta $tmpDir1 ;
+        my $d2 = quotemeta $tmpDir2 ;
 
-        mkdir $tmpDir1, 0777;
-        mkdir $tmpDir2, 0777;
-
         my @opts = ();
         @opts = (RawInflate => 1, UnLzma => 1)
             if $bit eq 'IO::Uncompress::AnyUncompress';
 
         ok   -d $tmpDir1, "  Temp Directory $tmpDir1 exists";
-        #ok ! -d $tmpDir2, "  Temp Directory $tmpDir2 does not exist";
 
         my @files = map { "$tmpDir1/$_.tmp" } qw( a1 a2 a3) ;
         foreach (@files) { writeFile($_, compressBuffer($UncompressClass, "abc $_")) }
 
         my @expected = map { "abc $_" } @files ;
-        my @outFiles = map { s/$tmpDir1/$tmpDir2/; $_ } @files ;
+        my @outFiles = map { s/$d1/$tmpDir2/; $_ } @files ;
 
         {
             title "$TopType - From FileGlob to FileGlob" ;
@@ -1475,8 +1469,7 @@
         {
             title "$TopType - From FileGlob to Filehandle" ;
 
-            my $output = 'abc' ;
-            my $lex = new LexFile $output ;
+            my $lex = new LexFile my $output ;
             my $fh = new IO::File ">$output" ;
             ok &$Func("<$tmpDir1/a*.tmp>" => $fh, AutoClose => 1, @opts), '  UnCompressed ok' 
                 or diag $$Error ;
@@ -1585,8 +1578,26 @@
         }
     }
 
+
+    {
+        # check setting $/ 
+
+        my $CompFunc = getTopFuncRef($CompressClass);
+        my $UncompFunc = getTopFuncRef($UncompressClass);
+        my $lex = new LexFile my $file ;
+
+        local $\ = "\n" ;
+        my $input = "hello world";
+        my $compressed ;
+        my $output;
+        ok &$CompFunc(\$input => \$compressed), '  Compressed ok' ;
+        ok &$UncompFunc(\$compressed => $file), '  UnCompressed ok' ;
+        my $content = readFile($file) ;
+        is $content, $input, "round trip ok" ;
+
+    }
+
 }
-
 # TODO add more error cases
 
 1;


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/oneshot.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/compress/prime.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/prime.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/prime.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/prime.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/compress/tied.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/tied.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/tied.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/tied.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/compress/truncate.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/truncate.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/truncate.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -226,6 +226,7 @@
                         1 while <$gz> ;
                     }
                     ok $gz->error() ;
+                    cmp_ok $gz->errorNo(), '<', 0 ;
                     ok $gz->eof() ;
                     $gz->close();
                 }


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/truncate.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/compress/zlib-generic.pl
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/compress/zlib-generic.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/compress/zlib-generic.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/compress/zlib-generic.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/cz-01version.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/cz-01version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/cz-01version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/cz-01version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/cz-03zlib-v1.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/cz-03zlib-v1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/cz-03zlib-v1.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,10 +23,10 @@
 
     my $count = 0 ;
     if ($] < 5.005) {
-        $count = 445 ;
+        $count = 453 ;
     }
     else {
-        $count = 456 ;
+        $count = 471 ;
     }
 
 
@@ -336,7 +336,8 @@
 
 title 'memGzip & memGunzip';
 {
-    my $name = "test.gz" ;
+    my ($name, $name1, $name2, $name3);
+    my $lex = new LexFile $name, $name1, $name2, $name3 ;
     my $buffer = <<EOM;
 some sample 
 text
@@ -368,7 +369,7 @@
 
     ok $uncomp eq $buffer ;
  
-    1 while unlink $name ;
+    #1 while unlink $name ;
 
     # now check that memGunzip can deal with it.
     my $ungzip = memGunzip($dest) ;
@@ -383,13 +384,13 @@
     is $gzerrno, 0;
 
     # write it to disk
-    ok open(FH, ">$name") ;
+    ok open(FH, ">$name1") ;
     binmode(FH);
     print FH $dest ;
     close FH ;
 
     # uncompress with gzopen
-    ok $fil = gzopen($name, "rb") ;
+    ok $fil = gzopen($name1, "rb") ;
  
     ok (($x = $fil->gzread($uncomp)) == $len) ;
  
@@ -459,7 +460,7 @@
     cmp_ok $gzerrno, "==", Z_DATA_ERROR ;
 
  
-    1 while unlink $name ;
+    #1 while unlink $name ;
 
     # check corrupt header -- too short
     $dest = "x" ;
@@ -1226,3 +1227,42 @@
     ok ! $fil->gzflush(), "flush ok" ;
     ok ! $fil->gzclose(), "Closed";
 }
+
+
+
+{
+    title "repeated calls to flush - no compression";
+
+    my ($err, $x, $X, $status, $data); 
+ 
+    ok( ($x, $err) = deflateInit ( ), "Create deflate object" );
+    isa_ok $x, "Compress::Raw::Zlib::deflateStream" ;
+    cmp_ok $err, '==', Z_OK, "status is Z_OK" ;
+
+    
+    ($data, $status) = $x->flush(Z_SYNC_FLUSH) ;
+    cmp_ok  $status, '==', Z_OK, "flush returned Z_OK" ;    
+    ($data, $status) = $x->flush(Z_SYNC_FLUSH) ;
+    cmp_ok  $status, '==', Z_OK, "second flush returned Z_OK" ;    
+    is $data, "", "no output from second flush";
+}
+
+{
+    title "repeated calls to flush - after compression";
+
+    my $hello = "I am a HAL 9000 computer" ;
+    my ($err, $x, $X, $status, $data); 
+ 
+    ok( ($x, $err) = deflateInit ( ), "Create deflate object" );
+    isa_ok $x, "Compress::Raw::Zlib::deflateStream" ;
+    cmp_ok $err, '==', Z_OK, "status is Z_OK" ;
+ 
+    ($data, $status) = $x->deflate($hello) ;
+    cmp_ok $status, '==', Z_OK, "deflate returned Z_OK" ;
+    
+    ($data, $status) = $x->flush(Z_SYNC_FLUSH) ;
+    cmp_ok  $status, '==', Z_OK, "flush returned Z_OK" ;    
+    ($data, $status) = $x->flush(Z_SYNC_FLUSH) ;
+    cmp_ok  $status, '==', Z_OK, "second flush returned Z_OK" ;    
+    is $data, "", "no output from second flush";
+}


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/cz-03zlib-v1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/cz-05examples.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/cz-05examples.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/cz-05examples.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/cz-05examples.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/cz-06gzsetp.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/cz-06gzsetp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/cz-06gzsetp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -119,17 +119,18 @@
     ok my $x = new $CompressClass(\$compressed) ;
 
     my $input .= $hello;
-    is $x->write($hello), $len_hello ;
+    is $x->write($hello), $len_hello, "wrote $len_hello bytes" ;
     
     # Change both Level & Strategy
-    ok $x->deflateParams(Z_BEST_SPEED, Z_HUFFMAN_ONLY);
+    ok $x->deflateParams(Z_BEST_SPEED, Z_HUFFMAN_ONLY), "deflateParams ok";
 
     $input .= $goodbye;
-    is $x->write($goodbye), $len_goodbye ;
+    is $x->write($goodbye), $len_goodbye, "wrote  $len_goodbye bytes" ;
     
-    ok $x->close ;
+    ok $x->close, "closed  $CompressClass object" ;
 
-    ok my $k = new $UncompressClass(\$compressed);
+    my $k = new $UncompressClass(\$compressed);
+    isa_ok $k, $UncompressClass;
      
     my $len = length $input ;
     my $uncompressed;
@@ -136,8 +137,10 @@
     is $k->read($uncompressed, $len), $len 
        or diag "$IO::Uncompress::Gunzip::GunzipError" ;
 
-    ok $uncompressed eq  $input ;
-    ok $k->eof ;
-    ok $k->close ;
-    ok $k->eof  ;
+    ok $uncompressed eq  $input, "got expected uncompressed data" 
+        or diag("unc len = " . length($uncompressed) . ", input len = " .  
+                length($input) . "\n") ;
+    ok $k->eof, "eof" ;
+    ok $k->close, "closed" ;
+    ok $k->eof, "eof"  ;
 }


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/cz-06gzsetp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Compress/t/cz-08encoding.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/cz-08encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/cz-08encoding.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Compress/t/cz-08encoding.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/cz-14gzopen.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/cz-14gzopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/cz-14gzopen.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,7 +20,7 @@
     $extra = 1
         if eval { require Test::NoWarnings ;  import Test::NoWarnings; 1 };
 
-    plan tests => 255 + $extra ;
+    plan tests => 264 + $extra ;
 
     use_ok('Compress::Zlib', 2) ;
     use_ok('IO::Compress::Gzip::Constants') ;
@@ -489,9 +489,13 @@
 
     SKIP:
     {
+        skip "Cannot create non-writable file", 3 
+            if $^O eq 'cygwin';
+
         my $lex = new LexFile my $name ;
         writeFile($name, "abc");
-        chmod 0444, $name ;
+        chmod 0444, $name 
+            or skip "Cannot create non-writable file", 3 ;
 
         skip "Cannot create non-writable file", 3 
             if -w $name ;
@@ -648,3 +652,30 @@
         is $/, $delim, '  $/ unchanged by gzreadline';
     }
 }
+
+{
+    title 'gzflush called twice with Z_SYNC_FLUSH - no compression';
+
+    my $lex = new LexFile my $name ;
+
+    ok my $a = gzopen($name, "w");
+    
+    is $a->gzflush(Z_SYNC_FLUSH), Z_OK, "gzflush returns Z_OK";
+    is $a->gzflush(Z_SYNC_FLUSH), Z_OK, "gzflush returns Z_OK";    
+}
+
+
+
+{
+    title 'gzflush called twice - after compression';
+
+    my $lex = new LexFile my $name ;
+
+    ok my $a = gzopen($name, "w");
+    my $text = "fred\n";
+    my $len = length $text;
+    is $a->gzwrite($text), length($text), "gzwrite ok";
+    
+    is $a->gzflush(Z_SYNC_FLUSH), Z_OK, "gzflush returns Z_OK";
+    is $a->gzflush(Z_SYNC_FLUSH), Z_OK, "gzflush returns Z_OK";    
+}


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/cz-14gzopen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IO-Compress/t/globmapper.t
===================================================================
--- vendor/perl/dist/cpan/IO-Compress/t/globmapper.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Compress/t/globmapper.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -56,10 +56,12 @@
 {
     title "input glob matches zero files";
 
-    my $tmpDir = 'td';
+    #my $tmpDir = 'td';
+    my $tmpDir ;
     my $lex = new LexDir $tmpDir;
+    my $d = quotemeta $tmpDir;
 
-    my $gm = new File::GlobMapper("$tmpDir/Z*", '*.X');
+    my $gm = new File::GlobMapper("$d/Z*", '*.X');
     ok $gm, "  created GlobMapper object" ;
 
     my $map = $gm->getFileMap() ;
@@ -73,9 +75,10 @@
 {
     title 'test wildcard mapping of * in destination';
 
-    my $tmpDir = 'td';
+    #my $tmpDir = 'td';
+    my $tmpDir ;
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch map { "$tmpDir/$_.tmp" } qw( abc1 abc2 abc3 ) ;
 
@@ -101,9 +104,10 @@
 {
     title 'no wildcards in input or destination';
 
-    my $tmpDir = 'td';
+    #my $tmpDir = 'td';
+    my $tmpDir ;
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch map { "$tmpDir/$_.tmp" } qw( abc1 abc2 abc3 ) ;
 
@@ -125,9 +129,9 @@
 {
     title 'test wildcard mapping of {} in destination';
 
-    my $tmpDir = 'td';
+    my $tmpDir ;#= 'td';
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch map { "$tmpDir/$_.tmp" } qw( abc1 abc2 abc3 ) ;
 
@@ -160,9 +164,9 @@
 {
     title 'test wildcard mapping of multiple * to #';
 
-    my $tmpDir = 'td';
+    my $tmpDir ;#= 'td';
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch map { "$tmpDir/$_.tmp" } qw( abc1 abc2 abc3 ) ;
 
@@ -182,9 +186,9 @@
 {
     title 'test wildcard mapping of multiple ? to #';
 
-    my $tmpDir = 'td';
+    my $tmpDir ;#= 'td';
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch map { "$tmpDir/$_.tmp" } qw( abc1 abc2 abc3 ) ;
 
@@ -203,13 +207,13 @@
 {
     title 'test wildcard mapping of multiple ?,* and [] to #';
 
-    my $tmpDir = 'td';
+    my $tmpDir ;#= 'td';
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch map { "$tmpDir/$_.tmp" } qw( abc1 abc2 abc3 ) ;
 
-    my $gm = new File::GlobMapper("./$tmpDir/?b[a-z]*.tmp", "./$tmpDir/X-#3-#2-#1-X");
+    my $gm = new File::GlobMapper("$tmpDir/?b[a-z]*.tmp", "$tmpDir/X-#3-#2-#1-X");
     ok $gm, "  created GlobMapper object" ;
 
     #diag "Input pattern is $gm->{InputPattern}";
@@ -216,9 +220,9 @@
     my $map = $gm->getFileMap() ;
     is @{ $map }, 3, "  returned 3 maps";
     is_deeply $map,
-        [ [map { "./$tmpDir/$_" } qw(abc1.tmp X-1-c-a-X)],
-          [map { "./$tmpDir/$_" } qw(abc2.tmp X-2-c-a-X)],
-          [map { "./$tmpDir/$_" } qw(abc3.tmp X-3-c-a-X)],
+        [ [map { "$tmpDir/$_" } qw(abc1.tmp X-1-c-a-X)],
+          [map { "$tmpDir/$_" } qw(abc2.tmp X-2-c-a-X)],
+          [map { "$tmpDir/$_" } qw(abc3.tmp X-3-c-a-X)],
         ], "  got mapping";
 }
 
@@ -225,9 +229,9 @@
 {
     title 'input glob matches a file multiple times';
 
-    my $tmpDir = 'td';
+    my $tmpDir ;#= 'td';
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch "$tmpDir/abc.tmp";
 
@@ -248,9 +252,9 @@
 {
     title 'multiple input files map to one output file';
 
-    my $tmpDir = 'td';
+    my $tmpDir ;#= 'td';
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch map { "$tmpDir/$_.tmp" } qw( abc def) ;
 
@@ -268,9 +272,9 @@
 {
     title "globmap" ;
 
-    my $tmpDir = 'td';
+    my $tmpDir ;#= 'td';
     my $lex = new LexDir $tmpDir;
-    mkdir $tmpDir, 0777 ;
+    #mkdir $tmpDir, 0777 ;
 
     touch map { "$tmpDir/$_.tmp" } qw( abc1 abc2 abc3 ) ;
 


Property changes on: vendor/perl/dist/cpan/IO-Compress/t/globmapper.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/Zlib.pm
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/Zlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/Zlib.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/Zlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/external.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/external.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/external.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/external.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/getc.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/getc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/getc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/getc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/getline.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/getline.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/getline.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/getline.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/import.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/import.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/import.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/import.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/large.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/large.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/large.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/large.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/tied.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/tied.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/tied.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/tied.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/uncomp1.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/uncomp1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/uncomp1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/uncomp1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IO-Zlib/t/uncomp2.t
===================================================================
--- vendor/perl/dist/cpan/IO-Zlib/t/uncomp2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IO-Zlib/t/uncomp2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IO-Zlib/t/uncomp2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm
===================================================================
--- vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,25 +4,26 @@
 
 BEGIN {
 
-    use constant IS_VMS         => $^O eq 'VMS'                       ? 1 : 0;    
+    use constant IS_VMS         => $^O eq 'VMS'                       ? 1 : 0;
     use constant IS_WIN32       => $^O eq 'MSWin32'                   ? 1 : 0;
     use constant IS_WIN98       => (IS_WIN32 and !Win32::IsWinNT())   ? 1 : 0;
     use constant ALARM_CLASS    => __PACKAGE__ . '::TimeOut';
     use constant SPECIAL_CHARS  => qw[< > | &];
-    use constant QUOTE          => do { IS_WIN32 ? q["] : q['] };            
+    use constant QUOTE          => do { IS_WIN32 ? q["] : q['] };
 
     use Exporter    ();
     use vars        qw[ @ISA $VERSION @EXPORT_OK $VERBOSE $DEBUG
                         $USE_IPC_RUN $USE_IPC_OPEN3 $CAN_USE_RUN_FORKED $WARN
-                        $INSTANCES
+                        $INSTANCES $ALLOW_NULL_ARGS
                     ];
 
-    $VERSION        = '0.70';
+    $VERSION        = '0.80';
     $VERBOSE        = 0;
     $DEBUG          = 0;
     $WARN           = 1;
     $USE_IPC_RUN    = IS_WIN32 && !IS_WIN98;
     $USE_IPC_OPEN3  = not IS_VMS;
+    $ALLOW_NULL_ARGS = 0;
 
     $CAN_USE_RUN_FORKED = 0;
     eval {
@@ -42,6 +43,7 @@
 }
 
 require Carp;
+use Socket;
 use File::Spec;
 use Params::Check               qw[check];
 use Text::ParseWords            ();             # import ONLY if needed!
@@ -85,15 +87,15 @@
     }
 
     ### check for features
-    print "IPC::Open3 available: "  . IPC::Cmd->can_use_ipc_open3;      
-    print "IPC::Run available: "    . IPC::Cmd->can_use_ipc_run;      
-    print "Can capture buffer: "    . IPC::Cmd->can_capture_buffer;     
+    print "IPC::Open3 available: "  . IPC::Cmd->can_use_ipc_open3;
+    print "IPC::Run available: "    . IPC::Cmd->can_use_ipc_run;
+    print "Can capture buffer: "    . IPC::Cmd->can_capture_buffer;
 
     ### don't have IPC::Cmd be verbose, ie don't print to stdout or
     ### stderr when running commands -- default is '0'
     $IPC::Cmd::VERBOSE = 0;
-         
 
+
 =head1 DESCRIPTION
 
 IPC::Cmd allows you to run commands platform independently,
@@ -104,11 +106,11 @@
 of the commands you give it and give you a clear return value, as well
 as adhere to your verbosity settings.
 
-=head1 CLASS METHODS 
+=head1 CLASS METHODS
 
 =head2 $ipc_run_version = IPC::Cmd->can_use_ipc_run( [VERBOSE] )
 
-Utility function that tells you if C<IPC::Run> is available. 
+Utility function that tells you if C<IPC::Run> is available.
 If the C<verbose> flag is passed, it will print diagnostic messages
 if L<IPC::Run> can not be found or loaded.
 
@@ -115,26 +117,26 @@
 =cut
 
 
-sub can_use_ipc_run     { 
+sub can_use_ipc_run     {
     my $self    = shift;
     my $verbose = shift || 0;
-    
+
     ### IPC::Run doesn't run on win98
     return if IS_WIN98;
 
     ### if we dont have ipc::run, we obviously can't use it.
     return unless can_load(
-                        modules => { 'IPC::Run' => '0.55' },        
+                        modules => { 'IPC::Run' => '0.55' },
                         verbose => ($WARN && $verbose),
                     );
-                    
+
     ### otherwise, we're good to go
-    return $IPC::Run::VERSION;                    
+    return $IPC::Run::VERSION;
 }
 
 =head2 $ipc_open3_version = IPC::Cmd->can_use_ipc_open3( [VERBOSE] )
 
-Utility function that tells you if C<IPC::Open3> is available. 
+Utility function that tells you if C<IPC::Open3> is available.
 If the verbose flag is passed, it will print diagnostic messages
 if C<IPC::Open3> can not be found or loaded.
 
@@ -141,7 +143,7 @@
 =cut
 
 
-sub can_use_ipc_open3   { 
+sub can_use_ipc_open3   {
     my $self    = shift;
     my $verbose = shift || 0;
 
@@ -148,13 +150,13 @@
     ### IPC::Open3 is not working on VMS because of a lack of fork.
     return if IS_VMS;
 
-    ### IPC::Open3 works on every non-VMS platform platform, but it can't 
+    ### IPC::Open3 works on every non-VMS platform platform, but it can't
     ### capture buffers on win32 :(
     return unless can_load(
         modules => { map {$_ => '0.0'} qw|IPC::Open3 IO::Select Symbol| },
         verbose => ($WARN && $verbose),
     );
-    
+
     return $IPC::Open3::VERSION;
 }
 
@@ -168,8 +170,8 @@
 sub can_capture_buffer {
     my $self    = shift;
 
-    return 1 if $USE_IPC_RUN    && $self->can_use_ipc_run; 
-    return 1 if $USE_IPC_OPEN3  && $self->can_use_ipc_open3 && !IS_WIN32; 
+    return 1 if $USE_IPC_RUN    && $self->can_use_ipc_run;
+    return 1 if $USE_IPC_OPEN3  && $self->can_use_ipc_open3;
     return;
 }
 
@@ -210,7 +212,6 @@
         return $command if scalar $syms->getsym( uc $command );
     }
 
-    require Config;
     require File::Spec;
     require ExtUtils::MakeMaker;
 
@@ -221,7 +222,7 @@
 
     } else {
         for my $dir (
-            (split /\Q$Config::Config{path_sep}\E/, $ENV{PATH}),
+            File::Spec->path,
             File::Spec->curdir
         ) {
             next if ! $dir || ! -d $dir;
@@ -274,7 +275,7 @@
 
 Sets the maximum time the command is allowed to run before aborting,
 using the built-in C<alarm()> call. If the timeout is triggered, the
-C<errorcode> in the return value will be set to an object of the 
+C<errorcode> in the return value will be set to an object of the
 C<IPC::Cmd::TimeOut> class. See the L<"error message"> section below for
 details.
 
@@ -297,8 +298,8 @@
 
 If the first element of the return value (C<success>) was 0, then some
 error occurred. This second element is the error message the command
-you requested exited with, if available. This is generally a pretty 
-printed value of C<$?> or C<$@>. See C<perldoc perlvar> for details on 
+you requested exited with, if available. This is generally a pretty
+printed value of C<$?> or C<$@>. See C<perldoc perlvar> for details on
 what they can contain.
 If the error was a timeout, the C<error message> will be prefixed with
 the string C<IPC::Cmd::TimeOut>, the timeout class.
@@ -330,7 +331,7 @@
 =cut
 
 {   my @acc = qw[ok error _fds];
-    
+
     ### autogenerate accessors ###
     for my $key ( @acc ) {
         no strict 'refs';
@@ -361,7 +362,7 @@
 
   my $sig_handler = sub {
     my ($called_sig_name, @sig_param) = @_;
-    
+
     # $s is a closure referring to real signal name
     # for which this handler is being installed.
     # it is used to distinguish between
@@ -397,12 +398,14 @@
 # and killing it with KILL
 sub kill_gently {
   my ($pid, $opts) = @_;
-  
+
+  require POSIX;
+
   $opts = {} unless $opts;
   $opts->{'wait_time'} = 2 unless defined($opts->{'wait_time'});
   $opts->{'first_kill_type'} = 'just_process' unless $opts->{'first_kill_type'};
   $opts->{'final_kill_type'} = 'just_process' unless $opts->{'final_kill_type'};
-  
+
   if ($opts->{'first_kill_type'} eq 'just_process') {
     kill(15, $pid);
   }
@@ -409,12 +412,12 @@
   elsif ($opts->{'first_kill_type'} eq 'process_group') {
     kill(-15, $pid);
   }
-  
+
   my $child_finished = 0;
   my $wait_start_time = time();
 
   while (!$child_finished && $wait_start_time + $opts->{'wait_time'} > time()) {
-    my $waitpid = waitpid($pid, WNOHANG);
+    my $waitpid = waitpid($pid, POSIX::WNOHANG);
     if ($waitpid eq -1) {
       $child_finished = 1;
     }
@@ -435,7 +438,7 @@
   my ($cmd, $opts) = @_;
 
   $opts = {} unless $opts;
-  
+
   my $child_in = FileHandle->new;
   my $child_out = FileHandle->new;
   my $child_err = FileHandle->new;
@@ -464,7 +467,7 @@
     # absolutely needed to catch piped commands errors.
     #
     local $SIG{'PIPE'} = sub { 1; };
-    
+
     print $child_in $opts->{'child_stdin'};
   }
   close($child_in);
@@ -525,7 +528,7 @@
       #
       kill(-9, $$);
 
-      exit 1;
+      POSIX::_exit 1;
     }
 
     if ($got_sig_child) {
@@ -644,19 +647,19 @@
 
 =item C<stdout_handler>
 
-Coderef of a subroutine to call when a portion of data is received on 
+Coderef of a subroutine to call when a portion of data is received on
 STDOUT from the executing program.
 
 =item C<stderr_handler>
 
-Coderef of a subroutine to call when a portion of data is received on 
+Coderef of a subroutine to call when a portion of data is received on
 STDERR from the executing program.
 
 
 =item C<discard_output>
 
-Discards the buffering of the standard output and standard errors for return by run_forked(). 
-With this option you have to use the std*_handlers to read what the command outputs. 
+Discards the buffering of the standard output and standard errors for return by run_forked().
+With this option you have to use the std*_handlers to read what the command outputs.
 Useful for commands that send a lot of output.
 
 =item C<terminate_on_parent_sudden_death>
@@ -680,12 +683,12 @@
 
 =item C<stdout>
 
-Holds the standard output of the executed command (or empty string if 
+Holds the standard output of the executed command (or empty string if
 there was no STDOUT output or if C<discard_output> was used; it's always defined!)
 
 =item C<stderr>
 
-Holds the standard error of the executed command (or empty string if 
+Holds the standard error of the executed command (or empty string if
 there was no STDERR output or if C<discard_output> was used; it's always defined!)
 
 =item C<merged>
@@ -705,6 +708,8 @@
     ### container to store things in
     my $self = bless {}, __PACKAGE__;
 
+    require POSIX;
+
     if (!can_use_run_forked()) {
         Carp::carp("run_forked is not available: $CAN_USE_RUN_FORKED");
         return;
@@ -731,7 +736,7 @@
     # sockets to pass child stderr to parent
     my $child_stderr_socket;
     my $parent_stderr_socket;
-    
+
     # sockets for child -> parent internal communication
     my $child_info_socket;
     my $parent_info_socket;
@@ -765,19 +770,19 @@
       # prepare sockets to read from child
 
       $flags = 0;
-      fcntl($child_stdout_socket, F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
-      $flags |= O_NONBLOCK;
-      fcntl($child_stdout_socket, F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+      fcntl($child_stdout_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+      $flags |= POSIX::O_NONBLOCK;
+      fcntl($child_stdout_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
 
       $flags = 0;
-      fcntl($child_stderr_socket, F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
-      $flags |= O_NONBLOCK;
-      fcntl($child_stderr_socket, F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+      fcntl($child_stderr_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+      $flags |= POSIX::O_NONBLOCK;
+      fcntl($child_stderr_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
 
       $flags = 0;
-      fcntl($child_info_socket, F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
-      $flags |= O_NONBLOCK;
-      fcntl($child_info_socket, F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
+      fcntl($child_info_socket, POSIX::F_GETFL, $flags) || die "can't fnctl F_GETFL: $!";
+      $flags |= POSIX::O_NONBLOCK;
+      fcntl($child_info_socket, POSIX::F_SETFL, $flags) || die "can't fnctl F_SETFL: $!";
 
   #    print "child $pid started\n";
 
@@ -856,7 +861,7 @@
           $child_finished = 1;
         }
 
-        my $waitpid = waitpid($pid, WNOHANG);
+        my $waitpid = waitpid($pid, POSIX::WNOHANG);
 
         # child finished, catch it's exit status
         if ($waitpid ne 0 && $waitpid ne -1) {
@@ -1040,7 +1045,7 @@
         $opts->{'child_END'}->();
       }
 
-      exit $child_exit_code;
+      POSIX::_exit $child_exit_code;
     }
 }
 
@@ -1049,30 +1054,35 @@
     my $self = bless {}, __PACKAGE__;
 
     my %hash = @_;
-    
+
     ### if the user didn't provide a buffer, we'll store it here.
     my $def_buf = '';
-    
+
     my($verbose,$cmd,$buffer,$timeout);
     my $tmpl = {
         verbose => { default  => $VERBOSE,  store => \$verbose },
         buffer  => { default  => \$def_buf, store => \$buffer },
         command => { required => 1,         store => \$cmd,
-                     allow    => sub { !ref($_[0]) or ref($_[0]) eq 'ARRAY' }, 
+                     allow    => sub { !ref($_[0]) or ref($_[0]) eq 'ARRAY' },
         },
-        timeout => { default  => 0,         store => \$timeout },                    
+        timeout => { default  => 0,         store => \$timeout },
     };
-    
+
     unless( check( $tmpl, \%hash, $VERBOSE ) ) {
         Carp::carp( loc( "Could not validate input: %1",
                          Params::Check->last_error ) );
         return;
-    };        
+    };
 
     $cmd = _quote_args_vms( $cmd ) if IS_VMS;
 
     ### strip any empty elements from $cmd if present
-    $cmd = [ grep { defined && length } @$cmd ] if ref $cmd;
+    if ( $ALLOW_NULL_ARGS ) {
+      $cmd = [ grep { defined } @$cmd ] if ref $cmd;
+    }
+    else {
+      $cmd = [ grep { defined && length } @$cmd ] if ref $cmd;
+    }
 
     my $pp_cmd = (ref $cmd ? "@$cmd" : $cmd);
     print loc("Running [%1]...\n", $pp_cmd ) if $verbose;
@@ -1082,7 +1092,7 @@
     ### XXX this is now being ignored. in the future, we could add diagnostic
     ### messages based on this logic
     #my $user_provided_buffer = $buffer == \$def_buf ? 0 : 1;
-    
+
     ### buffers that are to be captured
     my( @buffer, @buff_err, @buff_out );
 
@@ -1090,64 +1100,67 @@
     my $_out_handler = sub {
         my $buf = shift;
         return unless defined $buf;
-       
+
         print STDOUT $buf if $verbose;
         push @buffer,   $buf;
         push @buff_out, $buf;
     };
-    
+
     ### capture STDERR
     my $_err_handler = sub {
         my $buf = shift;
         return unless defined $buf;
-        
+
         print STDERR $buf if $verbose;
         push @buffer,   $buf;
         push @buff_err, $buf;
     };
-    
 
+
     ### flag to indicate we have a buffer captured
     my $have_buffer = $self->can_capture_buffer ? 1 : 0;
-    
+
     ### flag indicating if the subcall went ok
     my $ok;
-    
+
     ### dont look at previous errors:
-    local $?;  
+    local $?;
     local $@;
     local $!;
 
     ### we might be having a timeout set
-    eval {   
-        local $SIG{ALRM} = sub { die bless sub { 
-            ALARM_CLASS . 
+    eval {
+        local $SIG{ALRM} = sub { die bless sub {
+            ALARM_CLASS .
             qq[: Command '$pp_cmd' aborted by alarm after $timeout seconds]
         }, ALARM_CLASS } if $timeout;
         alarm $timeout || 0;
-    
+
         ### IPC::Run is first choice if $USE_IPC_RUN is set.
-        if( $USE_IPC_RUN and $self->can_use_ipc_run( 1 ) ) {
+        if( !IS_WIN32 and $USE_IPC_RUN and $self->can_use_ipc_run( 1 ) ) {
             ### ipc::run handlers needs the command as a string or an array ref
-    
+
             $self->_debug( "# Using IPC::Run. Have buffer: $have_buffer" )
                 if $DEBUG;
-                
+
             $ok = $self->_ipc_run( $cmd, $_out_handler, $_err_handler );
-    
+
         ### since IPC::Open3 works on all platforms, and just fails on
         ### win32 for capturing buffers, do that ideally
         } elsif ( $USE_IPC_OPEN3 and $self->can_use_ipc_open3( 1 ) ) {
-    
+
             $self->_debug("# Using IPC::Open3. Have buffer: $have_buffer")
                 if $DEBUG;
-    
+
             ### in case there are pipes in there;
-            ### IPC::Open3 will call exec and exec will do the right thing 
-            $ok = $self->_open3_run( 
-                                    $cmd, $_out_handler, $_err_handler, $verbose 
+            ### IPC::Open3 will call exec and exec will do the right thing
+
+            my $method = IS_WIN32 ? '_open3_run_win32' : '_open3_run';
+
+            $ok = $self->$method(
+                                    $cmd, $_out_handler, $_err_handler, $verbose
                                 );
-            
+
         ### if we are allowed to run verbose, just dispatch the system command
         } else {
             $self->_debug( "# Using system(). Have buffer: $have_buffer" )
@@ -1154,14 +1167,14 @@
                 if $DEBUG;
             $ok = $self->_system_run( $cmd, $verbose );
         }
-        
+
         alarm 0;
     };
-   
+
     ### restore STDIN after duping, or STDIN will be closed for
-    ### this current perl process!   
+    ### this current perl process!
     $self->__reopen_fds( @{ $self->_fds} ) if $self->_fds;
-    
+
     my $err;
     unless( $ok ) {
         ### alarm happened
@@ -1173,10 +1186,10 @@
             $err = $self->error;
         }
     }
-    
+
     ### fill the buffer;
     $$buffer = join '', @buffer if @buffer;
-    
+
     ### return a list of flags and buffers (if available) in list
     ### context, or just a simple 'ok' in scalar
     return wantarray
@@ -1184,11 +1197,88 @@
                     ? ($ok, $err, \@buffer, \@buff_out, \@buff_err)
                     : ($ok, $err )
                 : $ok
-    
-    
+
+
 }
 
-sub _open3_run { 
+sub _open3_run_win32 {
+  my $self    = shift;
+  my $cmd     = shift;
+  my $outhand = shift;
+  my $errhand = shift;
+
+  my $pipe = sub {
+    socketpair($_[0], $_[1], AF_UNIX, SOCK_STREAM, PF_UNSPEC)
+        or return undef;
+    shutdown($_[0], 1);  # No more writing for reader
+    shutdown($_[1], 0);  # No more reading for writer
+    return 1;
+  };
+
+  my $open3 = sub {
+    local (*TO_CHLD_R,     *TO_CHLD_W);
+    local (*FR_CHLD_R,     *FR_CHLD_W);
+    local (*FR_CHLD_ERR_R, *FR_CHLD_ERR_W);
+
+    $pipe->(*TO_CHLD_R,     *TO_CHLD_W    ) or die $^E;
+    $pipe->(*FR_CHLD_R,     *FR_CHLD_W    ) or die $^E;
+    $pipe->(*FR_CHLD_ERR_R, *FR_CHLD_ERR_W) or die $^E;
+
+    my $pid = IPC::Open3::open3('>&TO_CHLD_R', '<&FR_CHLD_W', '<&FR_CHLD_ERR_W', @_);
+
+    return ( $pid, *TO_CHLD_W, *FR_CHLD_R, *FR_CHLD_ERR_R );
+  };
+
+  $cmd = [ grep { defined && length } @$cmd ] if ref $cmd;
+  $cmd = $self->__fix_cmd_whitespace_and_special_chars( $cmd );
+
+  my ($pid, $to_chld, $fr_chld, $fr_chld_err) =
+    $open3->( ( ref $cmd ? @$cmd : $cmd ) );
+
+  my $in_sel  = IO::Select->new();
+  my $out_sel = IO::Select->new();
+
+  my %objs;
+
+  $objs{ fileno( $fr_chld ) } = $outhand;
+  $objs{ fileno( $fr_chld_err ) } = $errhand;
+  $in_sel->add( $fr_chld );
+  $in_sel->add( $fr_chld_err );
+
+  close($to_chld);
+
+  while ($in_sel->count() + $out_sel->count()) {
+    my ($ins, $outs) = IO::Select::select($in_sel, $out_sel, undef);
+
+    for my $fh (@$ins) {
+        my $obj = $objs{ fileno($fh) };
+        my $buf;
+        my $bytes_read = sysread($fh, $buf, 64*1024 ); #, length($buf));
+        if (!$bytes_read) {
+            $in_sel->remove($fh);
+        }
+        else {
+	          $obj->( "$buf" );
+	      }
+      }
+
+      for my $fh (@$outs) {
+      }
+  }
+
+  waitpid($pid, 0);
+
+  ### some error occurred
+  if( $? ) {
+        $self->error( $self->_pp_child_error( $cmd, $? ) );
+        $self->ok( 0 );
+        return;
+  } else {
+        return $self->ok( 1 );
+  }
+}
+
+sub _open3_run {
     my $self            = shift;
     my $cmd             = shift;
     my $_out_handler    = shift;
@@ -1202,7 +1292,7 @@
 
     ### define them beforehand, so we always have defined FH's
     ### to read from.
-    use Symbol;    
+    use Symbol;
     my $kidout      = Symbol::gensym();
     my $kiderror    = Symbol::gensym();
 
@@ -1212,20 +1302,20 @@
     ### to revive the FH afterwards, as IPC::Open3 closes it.
     ### We'll do the same for STDOUT and STDERR. It works without
     ### duping them on non-unix derivatives, but not on win32.
-    my @fds_to_dup = ( IS_WIN32 && !$verbose 
-                            ? qw[STDIN STDOUT STDERR] 
+    my @fds_to_dup = ( IS_WIN32 && !$verbose
+                            ? qw[STDIN STDOUT STDERR]
                             : qw[STDIN]
                         );
     $self->_fds( \@fds_to_dup );
     $self->__dup_fds( @fds_to_dup );
-    
+
     ### pipes have to come in a quoted string, and that clashes with
     ### whitespace. This sub fixes up such commands so they run properly
     $cmd = $self->__fix_cmd_whitespace_and_special_chars( $cmd );
-        
+
     ### dont stringify @$cmd, so spaces in filenames/paths are
     ### treated properly
-    my $pid = eval { 
+    my $pid = eval {
         IPC::Open3::open3(
                     '<&STDIN',
                     (IS_WIN32 ? '>&STDOUT' : $kidout),
@@ -1233,8 +1323,8 @@
                     ( ref $cmd ? @$cmd : $cmd ),
                 );
     };
-    
-    ### open3 error occurred 
+
+    ### open3 error occurred
     if( $@ and $@ =~ /^open3:/ ) {
         $self->ok( 0 );
         $self->error( $@ );
@@ -1245,10 +1335,10 @@
     ### we never get the input.. so jump through
     ### some hoops to do it :(
     my $selector = IO::Select->new(
-                        (IS_WIN32 ? \*STDERR : $kiderror), 
-                        \*STDIN,   
-                        (IS_WIN32 ? \*STDOUT : $kidout)     
-                    );              
+                        (IS_WIN32 ? \*STDERR : $kiderror),
+                        \*STDIN,
+                        (IS_WIN32 ? \*STDOUT : $kidout)
+                    );
 
     STDOUT->autoflush(1);   STDERR->autoflush(1);   STDIN->autoflush(1);
     $kidout->autoflush(1)   if UNIVERSAL::can($kidout,   'autoflush');
@@ -1262,10 +1352,10 @@
 
         for my $h ( @ready ) {
             my $buf;
-            
+
             ### $len is the amount of bytes read
             my $len = sysread( $h, $buf, 4096 );    # try to read 4096 bytes
-            
+
             ### see perldoc -f sysread: it returns undef on error,
             ### so bail out.
             if( not defined $len ) {
@@ -1293,10 +1383,10 @@
     ### this current perl process!
     ### done in the parent call now
     # $self->__reopen_fds( @fds_to_dup );
-    
+
     ### some error occurred
     if( $? ) {
-        $self->error( $self->_pp_child_error( $cmd, $? ) );   
+        $self->error( $self->_pp_child_error( $cmd, $? ) );
         $self->ok( 0 );
         return;
     } else {
@@ -1306,16 +1396,16 @@
 
 ### Text::ParseWords::shellwords() uses unix semantics. that will break
 ### on win32
-{   my $parse_sub = IS_WIN32 
+{   my $parse_sub = IS_WIN32
                         ? __PACKAGE__->can('_split_like_shell_win32')
                         : Text::ParseWords->can('shellwords');
 
-    sub _ipc_run {  
+    sub _ipc_run {
         my $self            = shift;
         my $cmd             = shift;
         my $_out_handler    = shift;
         my $_err_handler    = shift;
-        
+
         STDOUT->autoflush(1); STDERR->autoflush(1);
 
         ### a command like:
@@ -1335,10 +1425,10 @@
         #     ['/usr/bin/tar', '-tf -']
         # ]
 
-    
-        my @command; 
+
+        my @command;
         my $special_chars;
-    
+
         my $re = do { my $x = join '', SPECIAL_CHARS; qr/([$x])/ };
         if( ref $cmd ) {
             my $aref = [];
@@ -1362,7 +1452,7 @@
                         } split( /\s*$re\s*/, $cmd );
         }
 
-        ### if there's a pipe in the command, *STDIN needs to 
+        ### if there's a pipe in the command, *STDIN needs to
         ### be inserted *BEFORE* the pipe, to work on win32
         ### this also works on *nix, so we should do it when possible
         ### this should *also* work on multiple pipes in the command
@@ -1373,16 +1463,16 @@
         #     if( $special_chars and $special_chars =~ /\|/ ) {
         #         ### only add STDIN the first time..
         #         my $i;
-        #         @command = map { ($_ eq '|' && not $i++) 
-        #                             ? ( \*STDIN, $_ ) 
-        #                             : $_ 
-        #                         } @command; 
+        #         @command = map { ($_ eq '|' && not $i++)
+        #                             ? ( \*STDIN, $_ )
+        #                             : $_
+        #                         } @command;
         #     } else {
         #         push @command, \*STDIN;
         #     }
-  
+
         # \*STDIN is already included in the @command, see a few lines up
-        my $ok = eval { IPC::Run::run(   @command, 
+        my $ok = eval { IPC::Run::run(   @command,
                                 fileno(STDOUT).'>',
                                 $_out_handler,
                                 fileno(STDERR).'>',
@@ -1399,11 +1489,11 @@
             $self->ok( 0 );
 
             ### if the eval fails due to an exception, deal with it
-            ### unless it's an alarm 
-            if( $@ and not UNIVERSAL::isa( $@, ALARM_CLASS ) ) {        
+            ### unless it's an alarm
+            if( $@ and not UNIVERSAL::isa( $@, ALARM_CLASS ) ) {
                 $self->error( $@ );
 
-            ### if it *is* an alarm, propagate        
+            ### if it *is* an alarm, propagate
             } elsif( $@ ) {
                 die $@;
 
@@ -1411,13 +1501,13 @@
             } else {
                 $self->error( $self->_pp_child_error( $cmd, $? ) );
             }
-    
+
             return;
         }
     }
 }
 
-sub _system_run { 
+sub _system_run {
     my $self    = shift;
     my $cmd     = shift;
     my $verbose = shift || 0;
@@ -1453,15 +1543,15 @@
 
         ### command has a special char in it
         if( ref $cmd and grep { $sc_lookup{$_} } @$cmd ) {
-            
+
             ### since we have special chars, we have to quote white space
             ### this *may* conflict with the parsing :(
             my $fixed;
             my @cmd = map { / / ? do { $fixed++; QUOTE.$_.QUOTE } : $_ } @$cmd;
-            
+
             $self->_debug( "# Quoted $fixed arguments containing whitespace" )
                     if $DEBUG && $fixed;
-            
+
             ### stringify it, so the special char isn't escaped as argument
             ### to the program
             $cmd = join ' ', @cmd;
@@ -1518,20 +1608,20 @@
   # into words.  The algorithm below was bashed out by Randy and Ken
   # (mostly Randy), and there are a lot of regression tests, so we
   # should feel free to adjust if desired.
-  
+
   local $_ = shift;
-  
+
   my @argv;
   return @argv unless defined() && length();
-  
+
   my $arg = '';
   my( $i, $quote_mode ) = ( 0, 0 );
-  
+
   while ( $i < length() ) {
-    
+
     my $ch      = substr( $_, $i  , 1 );
     my $next_ch = substr( $_, $i+1, 1 );
-    
+
     if ( $ch eq '\\' && $next_ch eq '"' ) {
       $arg .= '"';
       $i++;
@@ -1558,10 +1648,10 @@
     } else {
       $arg .= $ch;
     }
-    
+
     $i++;
   }
-  
+
   push( @argv, $arg ) if defined( $arg ) && length( $arg );
   return @argv;
 }
@@ -1587,15 +1677,15 @@
         for my $name ( @fds ) {
             my($redir, $fh, $glob) = @{$Map{$name}} or (
                 Carp::carp(loc("No such FD: '%1'", $name)), next );
-            
-            ### MUST use the 2-arg version of open for dup'ing for 
+
+            ### MUST use the 2-arg version of open for dup'ing for
             ### 5.6.x compatibility. 5.8.x can use 3-arg open
-            ### see perldoc5.6.2 -f open for details            
+            ### see perldoc5.6.2 -f open for details
             open $glob, $redir . fileno($fh) or (
                         Carp::carp(loc("Could not dup '$name': %1", $!)),
                         return
-                    );        
-                
+                    );
+
             ### we should re-open this filehandle right now, not
             ### just dup it
             ### Use 2-arg version of open, as 5.5.x doesn't support
@@ -1607,11 +1697,11 @@
                 );
             }
         }
-        
+
         return 1;
     }
 
-    ### reopens FDs from the cache    
+    ### reopens FDs from the cache
     sub __reopen_fds {
         my $self    = shift;
         my @fds     = @_;
@@ -1622,30 +1712,30 @@
             my($redir, $fh, $glob) = @{$Map{$name}} or (
                 Carp::carp(loc("No such FD: '%1'", $name)), next );
 
-            ### MUST use the 2-arg version of open for dup'ing for 
+            ### MUST use the 2-arg version of open for dup'ing for
             ### 5.6.x compatibility. 5.8.x can use 3-arg open
             ### see perldoc5.6.2 -f open for details
             open( $fh, $redir . fileno($glob) ) or (
                     Carp::carp(loc("Could not restore '$name': %1", $!)),
                     return
-                ); 
-           
+                );
+
             ### close this FD, we're not using it anymore
-            close $glob;                
-        }                
-        return 1;                
-    
+            close $glob;
+        }
+        return 1;
+
     }
-}    
+}
 
 sub _debug {
     my $self    = shift;
     my $msg     = shift or return;
     my $level   = shift || 0;
-    
+
     local $Carp::CarpLevel += $level;
     Carp::carp($msg);
-    
+
     return 1;
 }
 
@@ -1654,8 +1744,8 @@
     my $cmd     = shift or return;
     my $ce      = shift or return;
     my $pp_cmd  = ref $cmd ? "@$cmd" : $cmd;
-    
-            
+
+
     my $str;
     if( $ce == -1 ) {
         ### Include $! in the error message, so that the user can
@@ -1663,7 +1753,7 @@
         ### versus 'Cannot fork' or whatever the cause was.
         $str = "Failed to execute '$pp_cmd': $!";
 
-    } elsif ( $ce & 127 ) {       
+    } elsif ( $ce & 127 ) {
         ### some signal
         $str = loc( "'%1' died with signal %d, %s coredump\n",
                $pp_cmd, ($ce & 127), ($ce & 128) ? 'with' : 'without');
@@ -1672,9 +1762,9 @@
         ### Otherwise, the command run but gave error status.
         $str = "'$pp_cmd' exited with value " . ($ce >> 8);
     }
-  
+
     $self->_debug( "# Child error '$ce' translated to: $str" ) if $DEBUG;
-    
+
     return $str;
 }
 
@@ -1684,7 +1774,7 @@
 
 Returns the character used for quoting strings on this platform. This is
 usually a C<'> (single quote) on most systems, but some systems use different
-quotes. For example, C<Win32> uses C<"> (double quote). 
+quotes. For example, C<Win32> uses C<"> (double quote).
 
 You can use it as follows:
 
@@ -1705,15 +1795,16 @@
 =item *
 
 If you have C<IPC::Run> installed, and the variable C<$IPC::Cmd::USE_IPC_RUN>
-is set to true (See the L<"Global Variables"> section) use that to execute 
-the command. You will have the full output available in buffers, interactive commands are sure to work  and you are guaranteed to have your verbosity
+is set to true (See the L<"Global Variables"> section) use that to execute
+the command. You will have the full output available in buffers, interactive commands
+are sure to work  and you are guaranteed to have your verbosity
 settings honored cleanly.
 
 =item *
 
-Otherwise, if the variable C<$IPC::Cmd::USE_IPC_OPEN3> is set to true 
+Otherwise, if the variable C<$IPC::Cmd::USE_IPC_OPEN3> is set to true
 (See the L<"Global Variables"> section), try to execute the command using
-L<IPC::Open3>. Buffers will be available on all platforms except C<Win32>,
+L<IPC::Open3>. Buffers will be available on all platforms,
 interactive commands will still execute cleanly, and also your verbosity
 settings will be adhered to nicely;
 
@@ -1745,7 +1836,7 @@
 =head2 $IPC::Cmd::USE_IPC_RUN
 
 This variable controls whether IPC::Cmd will try to use L<IPC::Run>
-when available and suitable. Defaults to true if you are on C<Win32>.
+when available and suitable.
 
 =head2 $IPC::Cmd::USE_IPC_OPEN3
 
@@ -1766,6 +1857,14 @@
 
 Defaults to false, set to true to enable the described behaviour.
 
+=head2 $IPC::Cmd::ALLOW_NULL_ARGS
+
+This variable controls whether C<run> will remove any empty/null arguments
+it finds in command arguments.
+
+Defaults to false, so it will remove null arguments. Set to true to allow
+them.
+
 =head1 Caveats
 
 =over 4
@@ -1782,15 +1881,15 @@
 special characters are escaped and passed as arguments instead of retaining
 their special meaning.
 
-However, if the command contained arguments that contained whitespace, 
-stringifying the command would loose the significance of the whitespace.
+However, if the command contained arguments that contained whitespace,
+stringifying the command would lose the significance of the whitespace.
 Therefore, C<IPC::Cmd> will quote any arguments containing whitespace in your
 command if the command is passed as an arrayref and contains special characters.
 
 =item Whitespace and IPC::Run
 
-When using C<IPC::Run>, if you provide a string as the C<command> argument, 
-the string will be split on whitespace to determine the individual elements 
+When using C<IPC::Run>, if you provide a string as the C<command> argument,
+the string will be split on whitespace to determine the individual elements
 of your command. Although this will usually just Do What You Mean, it may
 break if you have files or commands with whitespace in them.
 
@@ -1835,7 +1934,7 @@
         $_ % 2 ? print STDOUT $_ : print STDERR $_;
     }
 
-IPC::[Run|Open3] will first read all of STDOUT, then all of STDERR, meaning 
+IPC::[Run|Open3] will first read all of STDOUT, then all of STDERR, meaning
 the output looks like '13' on STDOUT and '24' on STDERR, instead of
 
     1
@@ -1870,7 +1969,7 @@
 
 =head1 COPYRIGHT
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/IPC-Cmd/lib/IPC/Cmd.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-Cmd/t/01_IPC-Cmd.t
===================================================================
--- vendor/perl/dist/cpan/IPC-Cmd/t/01_IPC-Cmd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-Cmd/t/01_IPC-Cmd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-Cmd/t/01_IPC-Cmd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-Cmd/t/02_Interactive.t
===================================================================
--- vendor/perl/dist/cpan/IPC-Cmd/t/02_Interactive.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-Cmd/t/02_Interactive.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-Cmd/t/02_Interactive.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-Cmd/t/src/child.pl
===================================================================
--- vendor/perl/dist/cpan/IPC-Cmd/t/src/child.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-Cmd/t/src/child.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-Cmd/t/src/child.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-Cmd/t/src/output.pl
===================================================================
--- vendor/perl/dist/cpan/IPC-Cmd/t/src/output.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-Cmd/t/src/output.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-Cmd/t/src/output.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-Cmd/t/src/x.tgz
===================================================================
--- vendor/perl/dist/cpan/IPC-Cmd/t/src/x.tgz	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-Cmd/t/src/x.tgz	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-Cmd/t/src/x.tgz
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-SysV/Changes
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-SysV/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-SysV/MANIFEST.SKIP
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/MANIFEST.SKIP	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/MANIFEST.SKIP	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-SysV/MANIFEST.SKIP
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 20 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:41 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-SysV/README
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-SysV/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/SysV.xs
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/SysV.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/SysV.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 /*******************************************************************************
 *
-*  $Revision: 1.1.1.1 $
-*  $Author: laffer1 $
-*  $Date: 2011-05-18 13:33:29 $
+*  $Revision: 33 $
+*  $Author: mhx $
+*  $Date: 2010/03/07 16:01:40 +0100 $
 *
 ********************************************************************************
 *


Property changes on: vendor/perl/dist/cpan/IPC-SysV/SysV.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-SysV/TODO
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-SysV/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-SysV/hints/cygwin.pl
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/hints/cygwin.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/hints/cygwin.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-SysV/hints/cygwin.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-SysV/hints/next_3.pl
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/hints/next_3.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/hints/next_3.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-SysV/hints/next_3.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Msg.pm
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Msg.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Msg.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 19 $
+#  $Author: mhx $
+#  $Date: 2010/05/23 10:37:46 +0200 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Msg.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Semaphore.pm
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Semaphore.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Semaphore.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 19 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:43 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/lib/IPC/Semaphore.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SharedMem.pm
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SharedMem.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SharedMem.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 4 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:42 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SharedMem.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SysV.pm
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SysV.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SysV.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 25 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:43 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/lib/IPC/SysV.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-SysV/regen.pl
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/regen.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/regen.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-SysV/regen.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/t/ipcsysv.t
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/t/ipcsysv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/t/ipcsysv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 15 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:53:32 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/t/ipcsysv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/t/msg.t
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/t/msg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/t/msg.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 12 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:42 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/t/msg.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/t/pod.t
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/t/pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/t/pod.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 4 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:42 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/t/pod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/t/podcov.t
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/t/podcov.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/t/podcov.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 3 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:41 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/t/podcov.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/t/sem.t
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/t/sem.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/t/sem.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 16 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:42 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/t/sem.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/IPC-SysV/t/shm.t
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/t/shm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/t/shm.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 ################################################################################
 #
-#  $Revision: 1.1.1.1 $
-#  $Author: laffer1 $
-#  $Date: 2011-05-18 13:33:29 $
+#  $Revision: 6 $
+#  $Author: mhx $
+#  $Date: 2010/03/07 16:01:42 +0100 $
 #
 ################################################################################
 #


Property changes on: vendor/perl/dist/cpan/IPC-SysV/t/shm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/IPC-SysV/typemap
===================================================================
--- vendor/perl/dist/cpan/IPC-SysV/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/IPC-SysV/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/IPC-SysV/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/bin/json_pp
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/bin/json_pp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/bin/json_pp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/bin/json_pp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP/Boolean.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
 use B ();
 #use Devel::Peek;
 
-$JSON::PP::VERSION = '2.27105';
+$JSON::PP::VERSION = '2.27202';
 
 @JSON::PP::EXPORT = qw(encode_json decode_json from_json to_json);
 
@@ -1459,7 +1459,7 @@
 
     if ( defined wantarray ) {
 
-        $self->{incr_mode} = INCR_M_WS;
+        $self->{incr_mode} = INCR_M_WS unless defined $self->{incr_mode};
 
         if ( wantarray ) {
             my @ret;
@@ -1470,10 +1470,10 @@
                 push @ret, $self->_incr_parse( $coder, $self->{incr_text} );
 
                 unless ( !$self->{incr_nest} and $self->{incr_mode} == INCR_M_JSON ) {
-                    $self->{incr_mode} = INCR_M_WS;
+                    $self->{incr_mode} = INCR_M_WS if $self->{incr_mode} != INCR_M_STR;
                 }
 
-            } until ( !$self->{incr_text} );
+            } until ( length $self->{incr_text} >= $self->{incr_p} );
 
             $self->{incr_parsing} = 0;
 
@@ -1512,6 +1512,10 @@
         my $s = substr( $text, $p++, 1 );
 
         if ( $s eq '"' ) {
+            if (substr( $text, $p - 2, 1 ) eq '\\' ) {
+                next;
+            }
+
             if ( $self->{incr_mode} != INCR_M_STR  ) {
                 $self->{incr_mode} = INCR_M_STR;
             }
@@ -1545,6 +1549,7 @@
 
     $self->{incr_p} = $p;
 
+    return if ( $self->{incr_mode} == INCR_M_STR and not $self->{incr_nest} );
     return if ( $self->{incr_mode} == INCR_M_JSON and $self->{incr_nest} > 0 );
 
     return '' unless ( length substr( $self->{incr_text}, 0, $p ) );
@@ -1625,33 +1630,15 @@
 
 =head1 VERSION
 
-    2.27105
+    2.27202
 
-L<JSON::XS> 2.27 compatible.
+L<JSON::XS> 2.27 (~2.30) compatible.
 
 =head1 NOTE
 
-JSON::PP was inculded in JSON distribution (CPAN module).
-It comes to be a perl core module in Perl 5.14.
+JSON::PP had been inculded in JSON distribution (CPAN module).
+It was a perl core module in Perl 5.14.
 
-    [STEPS]
-
-    * release this module as JSON::PPdev.
-
-    * release other PP::* modules as JSON::PP::Compat*.
-
-    * JSON distribution will inculde yet another JSON::PP modules.
-      They are JSNO::backportPP. So JSON.pm should work as it did at all!
-
-    * remove JSON::PP and JSON::PP::* modules from JSON distribution
-       and release it as developer version.
-
-    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-    * release JSON distribution as stable version.
-
-    * rename JSON::PPdev into JSON::PP and release on CPAN. <<<< HERE
-
 =head1 DESCRIPTION
 
 This module is L<JSON::XS> compatible pure Perl module.
@@ -1826,7 +1813,7 @@
 
 =head2 new
 
-    $json = new JSON::PP
+    $json = JSON::PP->new
 
 Rturns a new JSON::PP object that can be used to de/encode JSON
 strings.
@@ -2804,7 +2791,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 2007-2010 by Makamaka Hannyaharamitu
+Copyright 2007-2013 by Makamaka Hannyaharamitu
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself. 


Property changes on: vendor/perl/dist/cpan/JSON-PP/lib/JSON/PP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/000_load.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/000_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/000_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/000_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/001_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/002_error.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/002_error.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/002_error.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/002_error.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/003_types.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/003_types.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/003_types.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/003_types.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/006_pc_pretty.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/007_pc_esc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/008_pc_base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/009_pc_extra_number.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/010_pc_keysort.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/011_pc_expo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/012_blessed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/013_limit.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/013_limit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/013_limit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/013_limit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/014_latin1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/015_prefix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/016_tied.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/016_tied.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/016_tied.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/016_tied.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/017_relaxed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/018_json_checker.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/JSON-PP/t/019_incr.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/019_incr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/019_incr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,11 +13,13 @@
 
 if ( $] >= 5.006 ) {
 
-eval <<'TEST';
+eval <<'TEST' or die "Failed to eval test code for version $]: $@";
 
 sub splitter {
    my ($coder, $text) = @_;
 
+   $coder->canonical(1) if $] >= 5.017009;
+
    for (0 .. length $text) {
       my $a = substr $text, 0, $_;
       my $b = substr $text, $_;
@@ -27,7 +29,7 @@
 
       my $data = $coder->incr_parse;
       ok ($data);
-      ok ($coder->encode ($data) eq $coder->encode ($coder->decode ($text)), "data");
+      is ($coder->encode ($data), $coder->encode ($coder->decode ($text)), "data");
       ok ($coder->incr_text =~ /^\s*$/, "tailws");
    }
 }
@@ -75,16 +77,15 @@
    ok ('[5]' eq $coder->encode (scalar $coder->incr_parse), "sparse3");
 }
 
-
+1
 TEST
 
-print $@;
 
 }
 else {
 
 
-eval <<'TEST';
+eval <<'TEST' or die "Failed to eval test code for version $]: $@";
 
 my $incr_text;
 
@@ -148,8 +149,6 @@
 
 TEST
 
-print $@;
-
 } # for 5.005
 
 


Property changes on: vendor/perl/dist/cpan/JSON-PP/t/019_incr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/020_unknown.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/021_evans_bugrep.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/022_comment_at_eof.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/022_comment_at_eof.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/022_comment_at_eof.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/022_comment_at_eof.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/099_binary.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/099_binary.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/099_binary.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/099_binary.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/104_sortby.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/104_sortby.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/104_sortby.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/104_sortby.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/105_esc_slash.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/105_esc_slash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/105_esc_slash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/105_esc_slash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/106_allow_barekey.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/106_allow_barekey.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/106_allow_barekey.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/106_allow_barekey.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/107_allow_singlequote.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/107_allow_singlequote.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/107_allow_singlequote.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/107_allow_singlequote.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/108_decode.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/108_decode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/108_decode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/108_decode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/109_encode.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/109_encode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/109_encode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/109_encode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/110_bignum.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/112_upgrade.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/112_upgrade.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/112_upgrade.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/112_upgrade.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/113_overloaded_eq.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/114_decode_prefix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/115_tie_ixhash.t
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/115_tie_ixhash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/115_tie_ixhash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/115_tie_ixhash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/JSON-PP/t/_unicode_handling.pm
===================================================================
--- vendor/perl/dist/cpan/JSON-PP/t/_unicode_handling.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/JSON-PP/t/_unicode_handling.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/JSON-PP/t/_unicode_handling.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/Changes
===================================================================
--- vendor/perl/dist/cpan/List-Util/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,55 @@
+1.26_001 -- Sun Dec 23 15:58
+
+  * Fix multicall refcount bug RT#80646
+
+1.26 -- Sun Dec 16 19:39
+
+  * Merge patch from JDHEDDEN - Add Scalar::Util::isdual() RT#76150
+
+1.25_01 -- Wed Nov 21 09:47
+
+  * Fix a hash order dependency bug t/tainted.t
+    (Currently this is a core only version to fix perl5 smokes)
+
+1.25 -- Sat Mar 24 13:10:13 UTC 2012
+
+  * Restore back-compat. to perl 5.6 (thanks to Zefram)
+
+1.24 -- Thu Mar 22 18:10:10 UTC 2012
+
+  * Update to 1.24 release version (no other changes since 1.23_04).
+
+1.23_04 -- Sat Mar 10 00:16:16 UTC 2012
+
+  * RT#72700 Fix off-by-two on string literal length
+
+1.23_03 -- Tue Sep 14 10:09:59 CDT 2010
+
+  * Min perl version supported for build is not 5.008
+  * Dropped the pure-Perl implementation of both Scalar::- and List::Util.
+  * RT#61118 Fix assumption in sum() that once magic, always magic
+
+1.23_02 -- Tue Mar 30 11:09:15 CDT 2010
+
+  * Fix first() and reduce() to check the callback first; &first(1) is now illigal. [gfx]
+  * Fix reduce() to allow XSUB callbacks [gfx]
+  * Fix first() to allow XSUB callbacks [gfx]
+  * Resolve RT #55763: tainted() doesn't do SvGETMAGIC(sv) [gfx]
+  * define CvISXSUB so older perl versions will still compile
+
+1.23_01 -- Mon Mar 22 08:24:11 CDT 2010
+
+  * Add failing tests; SVt_RV is not directly SvROK [gfx]
+  * Implement openhandle() in XS (with extra tests) [gfx]
+  * Modernize *.pm [gfx]
+  * Modernize ListUtil.xs [gfx]
+  * Add ppport.h [gfx]
+  * Fix an overloading issue on sum(), and add tests for overloading [gfx]
+  * Small tweaks for minstr()/maxstr() [gfx]
+  * Optimize dualvar() [gfx]
+  * Use sv_copypv() instead of SvPV() and sv_setpv() [gfx]
+  * avoid non-portable warnings
+
 1.23 -- Wed Mar 10 20:50:00 CST 2010
 
   * Add a test file to ensure 'GETMAGIC' called once [gfx]


Property changes on: vendor/perl/dist/cpan/List-Util/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/ListUtil.xs
===================================================================
--- vendor/perl/dist/cpan/List-Util/ListUtil.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/ListUtil.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,31 +7,23 @@
 #include <perl.h>
 #include <XSUB.h>
 
-#ifndef PERL_VERSION
-#    include <patchlevel.h>
-#    if !(defined(PERL_VERSION) || (SUBVERSION > 0 && defined(PATCHLEVEL)))
-#        include <could_not_find_Perl_patchlevel.h>
-#    endif
-#    define PERL_REVISION	5
-#    define PERL_VERSION	PATCHLEVEL
-#    define PERL_SUBVERSION	SUBVERSION
-#endif
+#define NEED_sv_2pv_flags 1
+#include "ppport.h"
 
-#if PERL_VERSION >= 6
+#if PERL_BCDVERSION >= 0x5006000
 #  include "multicall.h"
 #endif
 
-#ifndef aTHX
-#  define aTHX
-#  define pTHX
+#ifndef CvISXSUB
+#  define CvISXSUB(cv) CvXSUB(cv)
 #endif
+
 /* Some platforms have strict exports. And before 5.7.3 cxinc (or Perl_cxinc)
    was not exported. Therefore platforms like win32, VMS etc have problems
    so we redefine it here -- GMB
 */
-#if PERL_VERSION < 7
+#if PERL_BCDVERSION < 0x5007000
 /* Not in 5.6.1. */
-#  define SvUOK(sv)           SvIOK_UV(sv)
 #  ifdef cxinc
 #    undef cxinc
 #  endif
@@ -40,13 +32,24 @@
 my_cxinc(pTHX)
 {
     cxstack_max = cxstack_max * 3 / 2;
-    Renew(cxstack, cxstack_max + 1, struct context);      /* XXX should fix CXINC macro */
+    Renew(cxstack, cxstack_max + 1, struct context); /* fencepost bug in older CXINC macros requires +1 here */
     return cxstack_ix + 1;
 }
 #endif
 
-#if PERL_VERSION < 6
-#    define NV double
+#ifndef sv_copypv
+#define sv_copypv(a, b) my_sv_copypv(aTHX_ a, b)
+static void
+my_sv_copypv(pTHX_ SV *const dsv, SV *const ssv)
+{
+    STRLEN len;
+    const char * const s = SvPV_const(ssv,len);
+    sv_setpvn(dsv,s,len);
+    if (SvUTF8(ssv))
+        SvUTF8_on(dsv);
+    else
+        SvUTF8_off(dsv);
+}
 #endif
 
 #ifdef SVf_IVisUV
@@ -55,81 +58,10 @@
 #  define slu_sv_value(sv) (SvIOK(sv)) ? (NV)(SvIVX(sv)) : (SvNV(sv))
 #endif
 
-#ifndef Drand01
-#    define Drand01()		((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))
+#if PERL_VERSION < 13 || (PERL_VERSION == 13 && PERL_SUBVERSION < 9)
+#  define PERL_HAS_BAD_MULTICALL_REFCOUNT
 #endif
 
-#if PERL_VERSION < 5
-#  ifndef gv_stashpvn
-#    define gv_stashpvn(n,l,c) gv_stashpv(n,c)
-#  endif
-#  ifndef SvTAINTED
-
-static bool
-sv_tainted(pTHX_ SV *sv)
-{
-    if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
-	MAGIC *mg = mg_find(sv, 't');
-	if (mg && ((mg->mg_len & 1) || (mg->mg_len & 2) && mg->mg_obj == sv))
-	    return TRUE;
-    }
-    return FALSE;
-}
-
-#    define SvTAINTED_on(sv) sv_magic((sv), Nullsv, 't', Nullch, 0)
-#    define SvTAINTED(sv) (SvMAGICAL(sv) && sv_tainted(aTHX_ sv))
-#  endif
-#  define PL_defgv defgv
-#  define PL_op op
-#  define PL_curpad curpad
-#  define CALLRUNOPS runops
-#  define PL_curpm curpm
-#  define PL_sv_undef sv_undef
-#  define PERL_CONTEXT struct context
-#endif
-#if (PERL_VERSION < 5) || (PERL_VERSION == 5 && PERL_SUBVERSION <50)
-#  ifndef PL_tainting
-#    define PL_tainting tainting
-#  endif
-#  ifndef PL_stack_base
-#    define PL_stack_base stack_base
-#  endif
-#  ifndef PL_stack_sp
-#    define PL_stack_sp stack_sp
-#  endif
-#  ifndef PL_ppaddr
-#    define PL_ppaddr ppaddr
-#  endif
-#endif
-
-#ifndef PTR2UV
-#  define PTR2UV(ptr) (UV)(ptr)
-#endif
-
-#ifndef SvUV_set
-#  define SvUV_set(sv, val) (((XPVUV*)SvANY(sv))->xuv_uv = (val))
-#endif
-
-#ifndef PERL_UNUSED_DECL
-#  ifdef HASATTRIBUTE
-#    if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER)
-#      define PERL_UNUSED_DECL
-#    else
-#      define PERL_UNUSED_DECL __attribute__((unused))
-#    endif
-#  else
-#    define PERL_UNUSED_DECL
-#  endif
-#endif
-
-#ifndef dNOOP
-#define dNOOP extern int Perl___notused PERL_UNUSED_DECL
-#endif
-
-#ifndef GvSVn
-#  define GvSVn GvSV
-#endif
-
 MODULE=List::Util	PACKAGE=List::Util
 
 void
@@ -187,16 +119,19 @@
 PROTOTYPE: @
 CODE:
 {
+    dXSTARG;
     SV *sv;
     SV *retsv = NULL;
     int index;
     NV retval = 0;
+    int magic;
     if(!items) {
 	XSRETURN_UNDEF;
     }
-    sv = ST(0);
-    if (SvAMAGIC(sv)) {
-        retsv = sv_newmortal();
+    sv    = ST(0);
+    magic = SvAMAGIC(sv);
+    if (magic) {
+        retsv = TARG;
         sv_setsv(retsv, sv);
     }
     else {
@@ -203,14 +138,28 @@
         retval = slu_sv_value(sv);
     }
     for(index = 1 ; index < items ; index++) {
-	sv = ST(index);
-        if (retsv || SvAMAGIC(sv)) {
-            if (!retsv) {
-                retsv = sv_newmortal();
-                sv_setnv(retsv,retval);
+        sv = ST(index);
+        if(!magic && SvAMAGIC(sv)){
+            magic = TRUE;
+            if (!retsv)
+                retsv = TARG;
+            sv_setnv(retsv,retval);
+        }
+        if (magic) {
+            SV* const tmpsv = amagic_call(retsv, sv, add_amg, SvAMAGIC(retsv) ? AMGf_assign : 0);
+            if(tmpsv) {
+                magic = SvAMAGIC(tmpsv);
+                if (!magic) {
+                    retval = slu_sv_value(tmpsv);
+                }
+                else {
+                    retsv = tmpsv;
+                }
             }
-            if (!amagic_call(retsv, sv, add_amg, AMGf_assign)) {
-                sv_setnv(retsv, SvNV(retsv) + SvNV(sv));
+            else {
+                /* fall back to default */
+                magic = FALSE;
+                retval = SvNV(retsv) + SvNV(sv);
             }
         }
         else {
@@ -217,8 +166,9 @@
           retval += slu_sv_value(sv);
         }
     }
-    if (!retsv) {
-        retsv = sv_newmortal();
+    if (!magic) {
+        if (!retsv)
+            retsv = TARG;
         sv_setnv(retsv,retval);
     }
     ST(0) = retsv;
@@ -225,13 +175,15 @@
     XSRETURN(1);
 }
 
+#define SLU_CMP_LARGER   1
+#define SLU_CMP_SMALLER -1
 
 void
 minstr(...)
 PROTOTYPE: @
 ALIAS:
-    minstr = 2
-    maxstr = 0
+    minstr = SLU_CMP_LARGER
+    maxstr = SLU_CMP_SMALLER
 CODE:
 {
     SV *left;
@@ -239,12 +191,6 @@
     if(!items) {
 	XSRETURN_UNDEF;
     }
-    /*
-      sv_cmp & sv_cmp_locale return 1,0,-1 for gt,eq,lt
-      so we set ix to the value we are looking for
-      xsubpp does not allow -ve values, so we start with 0,2 and subtract 1
-    */
-    ix -= 1;
     left = ST(0);
 #ifdef OPpLOCALE
     if(MAXARG & OPpLOCALE) {
@@ -278,35 +224,56 @@
 PROTOTYPE: &@
 CODE:
 {
-    dMULTICALL;
     SV *ret = sv_newmortal();
     int index;
     GV *agv,*bgv,*gv;
     HV *stash;
-    I32 gimme = G_SCALAR;
     SV **args = &PL_stack_base[ax];
-    CV *cv;
+    CV* cv    = sv_2cv(block, &stash, &gv, 0);
 
+    if (cv == Nullcv) {
+       croak("Not a subroutine reference");
+    }
+
     if(items <= 1) {
 	XSRETURN_UNDEF;
     }
-    cv = sv_2cv(block, &stash, &gv, 0);
-    if (cv == Nullcv) {
-       croak("Not a subroutine reference");
-    }
-    PUSH_MULTICALL(cv);
-    agv = gv_fetchpv("a", TRUE, SVt_PV);
-    bgv = gv_fetchpv("b", TRUE, SVt_PV);
+
+    agv = gv_fetchpv("a", GV_ADD, SVt_PV);
+    bgv = gv_fetchpv("b", GV_ADD, SVt_PV);
     SAVESPTR(GvSV(agv));
     SAVESPTR(GvSV(bgv));
     GvSV(agv) = ret;
     SvSetSV(ret, args[1]);
-    for(index = 2 ; index < items ; index++) {
-	GvSV(bgv) = args[index];
-	MULTICALL;
-	SvSetSV(ret, *PL_stack_sp);
+
+    if(!CvISXSUB(cv)) {
+        dMULTICALL;
+        I32 gimme = G_SCALAR;
+
+        PUSH_MULTICALL(cv);
+        for(index = 2 ; index < items ; index++) {
+            GvSV(bgv) = args[index];
+            MULTICALL;
+            SvSetSV(ret, *PL_stack_sp);
+        }
+#ifdef PERL_HAS_BAD_MULTICALL_REFCOUNT
+	if (CvDEPTH(multicall_cv) > 1)
+	    SvREFCNT_inc_simple_void_NN(multicall_cv);
+#endif
+        POP_MULTICALL;
     }
-    POP_MULTICALL;
+    else {
+        for(index = 2 ; index < items ; index++) {
+            dSP;
+            GvSV(bgv) = args[index];
+
+            PUSHMARK(SP);
+            call_sv((SV*)cv, G_SCALAR);
+
+            SvSetSV(ret, *PL_stack_sp);
+        }
+    }
+
     ST(0) = ret;
     XSRETURN(1);
 }
@@ -317,34 +284,58 @@
 PROTOTYPE: &@
 CODE:
 {
-    dMULTICALL;
     int index;
     GV *gv;
     HV *stash;
-    I32 gimme = G_SCALAR;
     SV **args = &PL_stack_base[ax];
-    CV *cv;
+    CV *cv    = sv_2cv(block, &stash, &gv, 0);
+    if (cv == Nullcv) {
+       croak("Not a subroutine reference");
+    }
 
     if(items <= 1) {
 	XSRETURN_UNDEF;
     }
-    cv = sv_2cv(block, &stash, &gv, 0);
-    if (cv == Nullcv) {
-       croak("Not a subroutine reference");
-    }
-    PUSH_MULTICALL(cv);
+
     SAVESPTR(GvSV(PL_defgv));
 
-    for(index = 1 ; index < items ; index++) {
-	GvSV(PL_defgv) = args[index];
-	MULTICALL;
-	if (SvTRUE(*PL_stack_sp)) {
-	  POP_MULTICALL;
-	  ST(0) = ST(index);
-	  XSRETURN(1);
-	}
+    if(!CvISXSUB(cv)) {
+        dMULTICALL;
+        I32 gimme = G_SCALAR;
+        PUSH_MULTICALL(cv);
+
+        for(index = 1 ; index < items ; index++) {
+            GvSV(PL_defgv) = args[index];
+            MULTICALL;
+            if (SvTRUEx(*PL_stack_sp)) {
+#ifdef PERL_HAS_BAD_MULTICALL_REFCOUNT
+		if (CvDEPTH(multicall_cv) > 1)
+		    SvREFCNT_inc_simple_void_NN(multicall_cv);
+#endif
+                POP_MULTICALL;
+                ST(0) = ST(index);
+                XSRETURN(1);
+            }
+        }
+#ifdef PERL_HAS_BAD_MULTICALL_REFCOUNT
+	if (CvDEPTH(multicall_cv) > 1)
+	    SvREFCNT_inc_simple_void_NN(multicall_cv);
+#endif
+        POP_MULTICALL;
     }
-    POP_MULTICALL;
+    else {
+        for(index = 1 ; index < items ; index++) {
+            dSP;
+            GvSV(PL_defgv) = args[index];
+
+            PUSHMARK(SP);
+            call_sv((SV*)cv, G_SCALAR);
+            if (SvTRUEx(*PL_stack_sp)) {
+                ST(0) = ST(index);
+                XSRETURN(1);
+            }
+        }
+    }
     XSRETURN_UNDEF;
 }
 
@@ -398,33 +389,40 @@
 PROTOTYPE: $$
 CODE:
 {
-    STRLEN len;
-    char *ptr = SvPV(str,len);
-    ST(0) = sv_newmortal();
-    (void)SvUPGRADE(ST(0),SVt_PVNV);
-    sv_setpvn(ST(0),ptr,len);
-    if (SvUTF8(str))
-        SvUTF8_on(ST(0));
+    dXSTARG;
+    (void)SvUPGRADE(TARG, SVt_PVNV);
+    sv_copypv(TARG,str);
     if(SvNOK(num) || SvPOK(num) || SvMAGICAL(num)) {
-	SvNV_set(ST(0), SvNV(num));
-	SvNOK_on(ST(0));
+	SvNV_set(TARG, SvNV(num));
+	SvNOK_on(TARG);
     }
 #ifdef SVf_IVisUV
     else if (SvUOK(num)) {
-	SvUV_set(ST(0), SvUV(num));
-	SvIOK_on(ST(0));
-	SvIsUV_on(ST(0));
+	SvUV_set(TARG, SvUV(num));
+	SvIOK_on(TARG);
+	SvIsUV_on(TARG);
     }
 #endif
     else {
-	SvIV_set(ST(0), SvIV(num));
-	SvIOK_on(ST(0));
+	SvIV_set(TARG, SvIV(num));
+	SvIOK_on(TARG);
     }
     if(PL_tainting && (SvTAINTED(num) || SvTAINTED(str)))
-	SvTAINTED_on(ST(0));
+	SvTAINTED_on(TARG);
+	ST(0) = TARG;
     XSRETURN(1);
 }
 
+void
+isdual(sv)
+	SV *sv
+PROTOTYPE: $
+CODE:
+    if (SvMAGICAL(sv))
+    mg_get(sv);
+    ST(0) = boolSV((SvPOK(sv) || SvPOKp(sv)) && (SvNIOK(sv) || SvNIOKp(sv)));
+    XSRETURN(1);
+
 char *
 blessed(sv)
     SV * sv
@@ -431,8 +429,7 @@
 PROTOTYPE: $
 CODE:
 {
-    if (SvMAGICAL(sv))
-	mg_get(sv);
+    SvGETMAGIC(sv);
     if(!(SvROK(sv) && SvOBJECT(SvRV(sv)))) {
 	XSRETURN_UNDEF;
     }
@@ -447,8 +444,7 @@
 PROTOTYPE: $
 CODE:
 {
-    if (SvMAGICAL(sv))
-	mg_get(sv);
+    SvGETMAGIC(sv);
     if(!SvROK(sv)) {
 	XSRETURN_UNDEF;
     }
@@ -463,8 +459,7 @@
 PROTOTYPE: $
 CODE:
 {
-    if (SvMAGICAL(sv))
-	mg_get(sv);
+    SvGETMAGIC(sv);
     if(!SvROK(sv)) {
 	XSRETURN_UNDEF;
     }
@@ -501,6 +496,7 @@
 	SV *sv
 PROTOTYPE: $
 CODE:
+  SvGETMAGIC(sv);
   RETVAL = SvREADONLY(sv);
 OUTPUT:
   RETVAL
@@ -510,6 +506,7 @@
 	SV *sv
 PROTOTYPE: $
 CODE:
+  SvGETMAGIC(sv);
   RETVAL = SvTAINTED(sv);
 OUTPUT:
   RETVAL
@@ -520,6 +517,7 @@
 PROTOTYPE: $
 CODE:
 #ifdef SvVOK
+  SvGETMAGIC(sv);
   ST(0) = boolSV(SvVOK(sv));
   XSRETURN(1);
 #else
@@ -532,13 +530,11 @@
 PROTOTYPE: $
 CODE:
   SV *tempsv;
+  SvGETMAGIC(sv);
   if (SvAMAGIC(sv) && (tempsv = AMG_CALLun(sv, numer))) {
     sv = tempsv;
   }
-  else if (SvMAGICAL(sv)) {
-      SvGETMAGIC(sv);
-  }
-#if (PERL_VERSION < 8) || (PERL_VERSION == 8 && PERL_SUBVERSION <5)
+#if PERL_BCDVERSION < 0x5008005
   if (SvPOK(sv) || SvPOKp(sv)) {
     RETVAL = looks_like_number(sv);
   }
@@ -566,9 +562,7 @@
 	}
 	if (SvPOK(proto)) {
 	    /* set the prototype */
-	    STRLEN len;
-	    char *ptr = SvPV(proto, len);
-	    sv_setpvn(sv, ptr, len);
+	    sv_copypv(sv, proto);
 	}
 	else {
 	    /* delete the prototype */
@@ -581,6 +575,35 @@
     XSRETURN(1);
 }
 
+void
+openhandle(SV* sv)
+PROTOTYPE: $
+CODE:
+{
+    IO* io = NULL;
+    SvGETMAGIC(sv);
+    if(SvROK(sv)){
+        /* deref first */
+        sv = SvRV(sv);
+    }
+
+    /* must be GLOB or IO */
+    if(isGV(sv)){
+        io = GvIO((GV*)sv);
+    }
+    else if(SvTYPE(sv) == SVt_PVIO){
+        io = (IO*)sv;
+    }
+
+    if(io){
+        /* real or tied filehandle? */
+        if(IoIFP(io) || SvTIED_mg((SV*)io, PERL_MAGIC_tiedscalar)){
+            XSRETURN(1);
+        }
+    }
+    XSRETURN_UNDEF;
+}
+
 BOOT:
 {
     HV *lu_stash = gv_stashpvn("List::Util", 10, TRUE);
@@ -595,7 +618,7 @@
     varav = GvAVn(vargv);
 #endif
     if (SvTYPE(rmcgv) != SVt_PVGV)
-	gv_init(rmcgv, lu_stash, "List::Util", 12, TRUE);
+	gv_init(rmcgv, lu_stash, "List::Util", 10, TRUE);
     rmcsv = GvSVn(rmcgv);
 #ifndef SvWEAKREF
     av_push(varav, newSVpv("weaken",6));


Property changes on: vendor/perl/dist/cpan/List-Util/ListUtil.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/List-Util/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 # -*- perl -*-
-BEGIN { require 5.006; } # allow CPAN testers to get the point
+BEGIN { require 5.006; }
 use strict;
 use warnings;
 use Config;
@@ -7,13 +7,6 @@
 use ExtUtils::MakeMaker;
 my $PERL_CORE = grep { $_ eq 'PERL_CORE=1' } @ARGV;
 
-my $do_xs = $PERL_CORE || can_cc();
-
-for (@ARGV) {
-  /^-pm/ and $do_xs = 0;
-  /^-xs/ and $do_xs = 1;
-}
-
 WriteMakefile(
   NAME         => q[List::Util],
   ABSTRACT     => q[Common Scalar and List utility subroutines],
@@ -35,14 +28,13 @@
   ( $PERL_CORE
     ? ()
     : (
-      INSTALLDIRS => q[perl],
+      INSTALLDIRS => ($] < 5.011 ? q[perl] : q[site]),
       PREREQ_PM   => {'Test::More' => 0,},
       (eval { ExtUtils::MakeMaker->VERSION(6.31) } ? (LICENSE => 'perl') : ()),
-      ($do_xs ? () : (XS => {}, C => [], OBJECT => '')),
       ( eval { ExtUtils::MakeMaker->VERSION(6.46) } ? (
           META_MERGE => {
             resources => {    ##
-              repository => 'http://github.com/gbarr/Scalar-List-Utils',
+              repository => 'https://github.com/Scalar-List-Utils/Scalar-List-Utils',
             },
           }
           )
@@ -52,35 +44,3 @@
   ),
 );
 
-
-sub can_cc {
-
-    foreach my $cmd (split(/ /, $Config::Config{cc})) {
-        my $_cmd = $cmd;
-        return $_cmd if (-x $_cmd or $_cmd = MM->maybe_command($_cmd));
-
-        for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') {
-            my $abs = File::Spec->catfile($dir, $_[1]);
-            return $abs if (-x $abs or $abs = MM->maybe_command($abs));
-        }
-    }
-
-    return;
-}
-
-package MY;
-
-sub init_PM  {
-  my $self = shift;
-
-  $self->SUPER::init_PM(@_);
-
-  return if $do_xs;
-
-  my $pm = $self->{PM};
-  my $pm_file = File::Spec->catfile(qw(lib List Util XS.pm));
-
-  # When installing pure perl, install XS.pp as XS.pm
-  $self->{PM}{'XS.pp'} = delete $self->{PM}{$pm_file};
-}
-


Property changes on: vendor/perl/dist/cpan/List-Util/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/README
===================================================================
--- vendor/perl/dist/cpan/List-Util/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/XS.pp
===================================================================
--- vendor/perl/dist/cpan/List-Util/XS.pp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/XS.pp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/XS.pp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/lib/List/Util/PP.pm
===================================================================
--- vendor/perl/dist/cpan/List-Util/lib/List/Util/PP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/lib/List/Util/PP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/lib/List/Util/PP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/lib/List/Util/XS.pm
===================================================================
--- vendor/perl/dist/cpan/List-Util/lib/List/Util/XS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/lib/List/Util/XS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,18 +1,10 @@
 package List::Util::XS;
 use strict;
-use vars qw($VERSION);
 use List::Util;
 
-$VERSION = "1.23";           # FIXUP
+our $VERSION = "1.27";       # FIXUP
 $VERSION = eval $VERSION;    # FIXUP
 
-sub _VERSION { # FIXUP
-  require Carp;
-  Carp::croak("You need to install Scalar-List-Utils with a C compiler to ensure the XS is compiled")
-    if defined $_[1];
-  $VERSION;
-}
-
 1;
 __END__
 
@@ -32,6 +24,10 @@
 During installation C<$List::Util::XS::VERSION> will be set to
 C<undef> if the XS was not compiled.
 
+Starting with release 1.23_03, Scalar-List-Util is B<always> using
+the XS implementation, but for backwards compatibility, we still
+ship the C<List::Util::XS> module which just loads C<List::Util>.
+
 =head1 SEE ALSO
 
 L<Scalar::Util>, L<List::Util>, L<List::MoreUtils>


Property changes on: vendor/perl/dist/cpan/List-Util/lib/List/Util/XS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/lib/List/Util.pm
===================================================================
--- vendor/perl/dist/cpan/List-Util/lib/List/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/lib/List/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,34 +9,21 @@
 package List::Util;
 
 use strict;
-use vars qw(@ISA @EXPORT_OK $VERSION $XS_VERSION $TESTING_PERL_ONLY);
 require Exporter;
 
- at ISA        = qw(Exporter);
- at EXPORT_OK  = qw(first min max minstr maxstr reduce sum shuffle);
-$VERSION    = "1.23";
-$XS_VERSION = $VERSION;
+our @ISA        = qw(Exporter);
+our @EXPORT_OK  = qw(first min max minstr maxstr reduce sum sum0 shuffle);
+our $VERSION    = "1.27";
+our $XS_VERSION = $VERSION;
 $VERSION    = eval $VERSION;
 
-eval {
-  # PERL_DL_NONLAZY must be false, or any errors in loading will just
-  # cause the perl code to be tested
-  local $ENV{PERL_DL_NONLAZY} = 0 if $ENV{PERL_DL_NONLAZY};
-  eval {
-    require XSLoader;
-    XSLoader::load('List::Util', $XS_VERSION);
-    1;
-  } or do {
-    require DynaLoader;
-    local @ISA = qw(DynaLoader);
-    bootstrap List::Util $XS_VERSION;
-  };
-} unless $TESTING_PERL_ONLY;
+require XSLoader;
+XSLoader::load('List::Util', $XS_VERSION);
 
-
-if (!defined &sum) {
-  require List::Util::PP;
-  List::Util::PP->import;
+sub sum0
+{
+   return 0 unless @_;
+   goto ∑
 }
 
 1;
@@ -183,6 +170,11 @@
 
   $foo = sum 0, @values;
 
+=item sum0 LIST
+
+Similar to C<sum>, except this returns 0 when given an empty list, rather
+than C<undef>.
+
 =back
 
 =head1 KNOWN BUGS


Property changes on: vendor/perl/dist/cpan/List-Util/lib/List/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/lib/Scalar/Util/PP.pm
===================================================================
--- vendor/perl/dist/cpan/List-Util/lib/Scalar/Util/PP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/lib/Scalar/Util/PP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/lib/Scalar/Util/PP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/lib/Scalar/Util.pm
===================================================================
--- vendor/perl/dist/cpan/List-Util/lib/Scalar/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/lib/Scalar/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,37 +7,47 @@
 package Scalar::Util;
 
 use strict;
-use vars qw(@ISA @EXPORT_OK $VERSION @EXPORT_FAIL);
 require Exporter;
 require List::Util; # List::Util loads the XS
 
- at ISA       = qw(Exporter);
- at EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted readonly openhandle refaddr isvstring looks_like_number set_prototype);
-$VERSION    = "1.23";
+our @ISA       = qw(Exporter);
+our @EXPORT_OK = qw(
+  blessed
+  dualvar
+  isdual
+  isvstring
+  isweak
+  looks_like_number
+  openhandle
+  readonly
+  refaddr
+  reftype
+  set_prototype
+  tainted
+  weaken
+);
+our $VERSION    = "1.27";
 $VERSION   = eval $VERSION;
 
-unless (defined &dualvar) {
-  # Load Pure Perl version if XS not loaded
-  require Scalar::Util::PP;
-  Scalar::Util::PP->import;
-  push @EXPORT_FAIL, qw(weaken isweak dualvar isvstring set_prototype);
+our @EXPORT_FAIL;
+
+unless (defined &weaken) {
+  push @EXPORT_FAIL, qw(weaken);
 }
+unless (defined &isweak) {
+  push @EXPORT_FAIL, qw(isweak isvstring);
+}
+unless (defined &isvstring) {
+  push @EXPORT_FAIL, qw(isvstring);
+}
 
 sub export_fail {
-  if (grep { /dualvar/ } @EXPORT_FAIL) { # no XS loaded
-    my $pat = join("|", @EXPORT_FAIL);
-    if (my ($err) = grep { /^($pat)$/ } @_ ) {
-      require Carp;
-      Carp::croak("$err is only available with the XS version of Scalar::Util");
-    }
-  }
-
-  if (grep { /^(weaken|isweak)$/ } @_ ) {
+  if (grep { /^(?:weaken|isweak)$/ } @_ ) {
     require Carp;
     Carp::croak("Weak references are not implemented in the version of perl");
   }
 
-  if (grep { /^(isvstring)$/ } @_ ) {
+  if (grep { /^isvstring$/ } @_ ) {
     require Carp;
     Carp::croak("Vstrings are not implemented in the version of perl");
   }
@@ -45,24 +55,6 @@
   @_;
 }
 
-sub openhandle ($) {
-  my $fh = shift;
-  my $rt = reftype($fh) || '';
-
-  return defined(fileno($fh)) ? $fh : undef
-    if $rt eq 'IO';
-
-  if (reftype(\$fh) eq 'GLOB') { # handle  openhandle(*DATA)
-    $fh = \(my $tmp=$fh);
-  }
-  elsif ($rt ne 'GLOB') {
-    return undef;
-  }
-
-  (tied(*$fh) or defined(fileno($fh)))
-    ? $fh : undef;
-}
-
 1;
 
 __END__
@@ -73,8 +65,9 @@
 
 =head1 SYNOPSIS
 
-    use Scalar::Util qw(blessed dualvar isweak readonly refaddr reftype tainted
-                        weaken isvstring looks_like_number set_prototype);
+    use Scalar::Util qw(blessed dualvar isdual readonly refaddr reftype
+                        tainted weaken isweak isvstring looks_like_number
+                        set_prototype);
                         # and other useful utils appearing below
 
 =head1 DESCRIPTION
@@ -112,6 +105,33 @@
     $num = $foo + 2;                    # 12
     $str = $foo . " world";             # Hello world
 
+=item isdual EXPR
+
+If EXPR is a scalar that is a dualvar, the result is true.
+
+    $foo = dualvar 86, "Nix";
+    $dual = isdual($foo);               # true
+
+Note that a scalar can be made to have both string and numeric content
+through numeric operations:
+
+    $foo = "10";
+    $dual = isdual($foo);               # false
+    $bar = $foo + 0;
+    $dual = isdual($foo);               # true
+
+Note that although C<$!> appears to be dual-valued variable, it is
+actually implemented using a tied scalar:
+
+    $! = 1;
+    print("$!\n");                      # "Operation not permitted"
+    $dual = isdual($!);                 # false
+
+You can capture its numeric and string content using:
+
+    $err = dualvar $!, $!;
+    $dual = isdual($err);               # true
+
 =item isvstring EXPR
 
 If EXPR is a scalar which was coded as a vstring the result is true.
@@ -120,20 +140,6 @@
     $fmt  = isvstring($vs) ? "%vd" : "%s"; #true
     printf($fmt,$vs);
 
-=item isweak EXPR
-
-If EXPR is a scalar which is a weak reference the result is true.
-
-    $ref  = \$foo;
-    $weak = isweak($ref);               # false
-    weaken($ref);
-    $weak = isweak($ref);               # true
-
-B<NOTE>: Copying a weak reference creates a normal, strong, reference.
-
-    $copy = $ref;
-    $weak = isweak($copy);              # false
-
 =item looks_like_number EXPR
 
 Returns true if perl thinks EXPR is a number. See
@@ -144,11 +150,11 @@
 Returns FH if FH may be used as a filehandle and is open, or FH is a tied
 handle. Otherwise C<undef> is returned.
 
-    $fh = openhandle(*STDIN);		# \*STDIN
-    $fh = openhandle(\*STDIN);		# \*STDIN
-    $fh = openhandle(*NOTOPEN);		# undef
-    $fh = openhandle("scalar");		# undef
-    
+    $fh = openhandle(*STDIN);           # \*STDIN
+    $fh = openhandle(\*STDIN);          # \*STDIN
+    $fh = openhandle(*NOTOPEN);         # undef
+    $fh = openhandle("scalar");         # undef
+
 =item readonly SCALAR
 
 Returns true if SCALAR is readonly.
@@ -231,6 +237,20 @@
 be destroyed because there is now always a strong reference to them in the
 @object array.
 
+=item isweak EXPR
+
+If EXPR is a scalar which is a weak reference the result is true.
+
+    $ref  = \$foo;
+    $weak = isweak($ref);               # false
+    weaken($ref);
+    $weak = isweak($ref);               # true
+
+B<NOTE>: Copying a weak reference creates a normal, strong, reference.
+
+    $copy = $ref;
+    $weak = isweak($copy);              # false
+
 =back
 
 =head1 DIAGNOSTICS


Property changes on: vendor/perl/dist/cpan/List-Util/lib/Scalar/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/multicall.h
===================================================================
--- vendor/perl/dist/cpan/List-Util/multicall.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/multicall.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/multicall.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/00version.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/00version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/00version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/00version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/blessed.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/blessed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/dualvar.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/dualvar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/dualvar.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,22 +16,27 @@
 use Scalar::Util ();
 use Test::More  (grep { /dualvar/ } @Scalar::Util::EXPORT_FAIL)
 			? (skip_all => 'dualvar requires XS version')
-			: (tests => 13);
+			: (tests => 41);
+use Config;
 
 Scalar::Util->import('dualvar');
+Scalar::Util->import('isdual');
 
 $var = dualvar( 2.2,"string");
 
+ok( isdual($var),	'Is a dualvar');
 ok( $var == 2.2,	'Numeric value');
 ok( $var eq "string",	'String value');
 
 $var2 = $var;
 
+ok( isdual($var2),	'Is a dualvar');
 ok( $var2 == 2.2,	'copy Numeric value');
 ok( $var2 eq "string",	'copy String value');
 
 $var++;
 
+ok( ! isdual($var),	'No longer dualvar');
 ok( $var == 3.2,	'inc Numeric value');
 ok( $var ne "string",	'inc String value');
 
@@ -40,15 +45,23 @@
 
 $var = dualvar($numstr, "");
 
+ok( isdual($var),	'Is a dualvar');
 ok( $var == $numstr,	'NV');
 
 SKIP: {
   skip("dualvar with UV value known to fail with $]",2) if $] < 5.006_001;
-  $var = dualvar(1<<31, "");
-  ok( $var == (1<<31),	'UV 1');
-  ok( $var > 0,		'UV 2');
+  my $bits = ($Config{'use64bitint'}) ? 63 : 31;
+  $var = dualvar(1<<$bits, "");
+  ok( isdual($var),		'Is a dualvar');
+  ok( $var == (1<<$bits),	'UV 1');
+  ok( $var > 0,			'UV 2');
 }
 
+# Create a dualvar "the old fashioned way"
+$var = "10";
+ok( ! isdual($var),	'Not a dualvar');
+my $foo = $var + 0;
+ok( isdual($var),	'Is a dualvar');
 
 {
   package Tied;
@@ -59,12 +72,54 @@
 
 tie my $tied, 'Tied';
 $var = dualvar($tied, "ok");
+ok(isdual($var),	'Is a dualvar');
 ok($var == 7.5,		'Tied num');
 ok($var eq 'ok',	'Tied str');
 
 
 SKIP: {
-  skip("need utf8::is_utf8",2) unless defined &utf8::is_utf8;
+  skip("need utf8::is_utf8",3) unless defined &utf8::is_utf8;
   ok(!!utf8::is_utf8(dualvar(1,chr(400))), 'utf8');
   ok( !utf8::is_utf8(dualvar(1,"abc")),    'not utf8');
 }
+
+
+SKIP: {
+  skip("Perl not compiled with 'useithreads'",20) unless ($Config{'useithreads'});
+  require threads; import threads;
+  require threads::shared; import threads::shared;
+  skip("Requires threads::shared v1.42 or later",20) unless ($threads::shared::VERSION >= 1.42);
+
+  my $siv :shared = dualvar(42, 'Fourty-Two');
+  my $snv :shared = dualvar(3.14, 'PI');
+  my $bits = ($Config{'use64bitint'}) ? 63 : 31;
+  my $suv :shared = dualvar(1<<$bits, 'Large unsigned int');
+
+  ok($siv == 42, 'Shared IV number preserved');
+  ok($siv eq 'Fourty-Two', 'Shared string preserved');
+  ok(isdual($siv), 'Is a dualvar');
+  ok($snv == 3.14, 'Shared NV number preserved');
+  ok($snv eq 'PI', 'Shared string preserved');
+  ok(isdual($snv), 'Is a dualvar');
+  ok($suv == (1<<$bits), 'Shared UV number preserved');
+  ok($suv > 0, 'Shared UV number preserved');
+  ok($suv eq 'Large unsigned int', 'Shared string preserved');
+  ok(isdual($suv), 'Is a dualvar');
+
+  my @ary :shared;
+  $ary[0] = $siv;
+  $ary[1] = $snv;
+  $ary[2] = $suv;
+
+  ok($ary[0] == 42, 'Shared IV number preserved');
+  ok($ary[0] eq 'Fourty-Two', 'Shared string preserved');
+  ok(isdual($ary[0]), 'Is a dualvar');
+  ok($ary[1] == 3.14, 'Shared NV number preserved');
+  ok($ary[1] eq 'PI', 'Shared string preserved');
+  ok(isdual($ary[1]), 'Is a dualvar');
+  ok($ary[2] == (1<<$bits), 'Shared UV number preserved');
+  ok($ary[2] > 0, 'Shared UV number preserved');
+  ok($ary[2] eq 'Large unsigned int', 'Shared string preserved');
+  ok(isdual($ary[2]), 'Is a dualvar');
+}
+


Property changes on: vendor/perl/dist/cpan/List-Util/t/dualvar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/expfail.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/expfail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/expfail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/expfail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/first.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/first.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/first.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,7 +15,7 @@
 
 use List::Util qw(first);
 use Test::More;
-plan tests => 19 + ($::PERL_ONLY ? 0 : 2);
+plan tests => 22 + ($::PERL_ONLY ? 0 : 2);
 my $v;
 
 ok(defined &first,	'defined');
@@ -114,6 +114,15 @@
 
 } }
 
+use constant XSUBC_TRUE  => 1;
+use constant XSUBC_FALSE => 0;
+
+is first(\&XSUBC_TRUE,  42, 1, 2, 3), 42,    'XSUB callbacks';
+is first(\&XSUBC_FALSE, 42, 1, 2, 3), undef, 'XSUB callbacks';
+
+
+eval { &first(1) };
+ok($@ =~ /^Not a subroutine reference/, 'check for code reference');
 eval { &first(1,2) };
 ok($@ =~ /^Not a subroutine reference/, 'check for code reference');
 eval { &first(qw(a b)) };


Property changes on: vendor/perl/dist/cpan/List-Util/t/first.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/isvstring.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/isvstring.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/isvstring.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/isvstring.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/lln.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/lln.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/lln.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/lln.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/max.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/max.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/max.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 }
 
 use strict;
-use Test::More tests => 8;
+use Test::More tests => 10;
 use List::Util qw(max);
 
 my $v;
@@ -45,6 +45,7 @@
 $v = max($thr,$two,$one);
 is($v, 3, 'overload');
 
+
 { package Foo;
 
 use overload
@@ -59,12 +60,17 @@
   }
 }
 
-SKIP: {
-  eval { require bignum; } or skip("Need bignum for testing overloading",1);
+use Math::BigInt;
 
-  my $v1 = 2**65;
-  my $v2 = $v1 - 1;
-  my $v3 = $v2 - 1;
-  $v = max($v1,$v2,$v1,$v3,$v1);
-  is($v, $v1, 'bigint');
-}
+my $v1 = Math::BigInt->new(2) ** Math::BigInt->new(65);
+my $v2 = $v1 - 1;
+my $v3 = $v2 - 1;
+$v = max($v1,$v2,$v1,$v3,$v1);
+is($v, $v1, 'bigint');
+
+$v = max($v1, 1, 2, 3);
+is($v, $v1, 'bigint and normal int');
+
+$v = max(1, 2, $v1, 3);
+is($v, $v1, 'bigint and normal int');
+


Property changes on: vendor/perl/dist/cpan/List-Util/t/max.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/maxstr.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/maxstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/maxstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/maxstr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/min.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/min.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/min.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 }
 
 use strict;
-use Test::More tests => 8;
+use Test::More tests => 10;
 use List::Util qw(min);
 
 my $v;
@@ -59,12 +59,17 @@
   }
 }
 
-SKIP: {
-  eval { require bignum; } or skip("Need bignum for testing overloading",1);
+use Math::BigInt;
 
-  my $v1 = 2**65;
-  my $v2 = $v1 - 1;
-  my $v3 = $v2 - 1;
-  $v = min($v1,$v2,$v1,$v3,$v1);
-  is($v, $v3, 'bigint');
-}
+my $v1 = Math::BigInt->new(2) ** Math::BigInt->new(65);
+my $v2 = $v1 - 1;
+my $v3 = $v2 - 1;
+$v = min($v1,$v2,$v1,$v3,$v1);
+is($v, $v3, 'bigint');
+
+$v = min($v1, 1, 2, 3);
+is($v, 1, 'bigint and normal int');
+
+$v = min(1, 2, $v1, 3);
+is($v, 1, 'bigint and normal int');
+


Property changes on: vendor/perl/dist/cpan/List-Util/t/min.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/minstr.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/minstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/minstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/minstr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/openhan.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/openhan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/openhan.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,7 +15,7 @@
 
 use strict;
 
-use Test::More tests => 14;
+use Test::More tests => 21;
 use Scalar::Util qw(openhandle);
 
 ok(defined &openhandle, 'defined');
@@ -36,16 +36,20 @@
     skip "3-arg open only on 5.6 or later", 1 if $]<5.006;
 
     open my $fh, "<", $0;
-    skip "could not open $0 for reading: $!", 1 unless $fh;
+    skip "could not open $0 for reading: $!", 2 unless $fh;
     is(openhandle($fh), $fh, "works with indirect filehandles");
+    close($fh);
+    is(openhandle($fh), undef, "works with indirect filehandles");
 }
 
 SKIP: {
-    skip "in-memory files only on 5.8 or later", 1 if $]<5.008;
+    skip "in-memory files only on 5.8 or later", 2 if $]<5.008;
 
     open my $fh, "<", \"in-memory file";
-    skip "could not open in-memory file: $!", 1 unless $fh;
+    skip "could not open in-memory file: $!", 2 unless $fh;
     is(openhandle($fh), $fh, "works with in-memory files");
+    close($fh);
+    is(openhandle($fh), undef, "works with in-memory files");
 }
 
 ok(openhandle(\*DATA), "works for \*DATA");
@@ -55,7 +59,7 @@
 {
     require IO::Handle;
     my $fh = IO::Handle->new_from_fd(fileno(*STDERR), 'w');
-    skip "new_from_fd(fileno(*STDERR)) failed", 1 unless $fh;
+    skip "new_from_fd(fileno(*STDERR)) failed", 2 unless $fh;
     ok(openhandle($fh), "works for IO::Handle objects");
 
     ok(!openhandle(IO::Handle->new), "unopened IO::Handle");
@@ -65,14 +69,16 @@
     require IO::File;
     my $fh = IO::File->new;
     $fh->open("< $0")
-        or skip "could not open $0: $!", 1;
+        or skip "could not open $0: $!", 3;
     ok(openhandle($fh), "works for IO::File objects");
+    close($fh);
+    ok(!openhandle($fh), "works for IO::File objects");
 
     ok(!openhandle(IO::File->new), "unopened IO::File" );
 }
 
 SKIP: {
-    skip( "Tied handles only on 5.8 or later", 1) if $]<5.008;
+    skip( "Tied handles only on 5.8 or later", 2) if $]<5.008;
 
     use vars qw(*H);
 
@@ -84,6 +90,12 @@
     package main;
     tie *H, 'My::Tie';
     ok(openhandle(*H), "tied handles are always ok");
+    ok(openhandle(\*H), "tied handle refs are always ok");
 }
 
+ok !openhandle(undef),   "undef is not a filehandle";
+ok !openhandle("STDIN"), "strings are not filehandles";
+ok !openhandle(0),       "integers are not filehandles";
+
+
 __DATA__


Property changes on: vendor/perl/dist/cpan/List-Util/t/openhan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_00version.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_00version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_00version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_00version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_blessed.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_blessed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_first.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_first.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_first.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_first.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_lln.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_lln.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_lln.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_lln.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_max.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_max.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_max.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_max.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_maxstr.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_maxstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_maxstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_maxstr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_min.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_min.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_min.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_min.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_minstr.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_minstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_minstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_minstr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_openhan.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_openhan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_openhan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_openhan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_readonly.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_readonly.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_readonly.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_readonly.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_reduce.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_reduce.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_reduce.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_reduce.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_refaddr.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_refaddr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_refaddr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_refaddr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_reftype.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_reftype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_reftype.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_reftype.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_shuffle.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_shuffle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_shuffle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_shuffle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_sum.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_sum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_sum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_sum.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/p_tainted.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/p_tainted.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/p_tainted.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/p_tainted.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/proto.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/proto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/proto.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/proto.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/readonly.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/readonly.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/readonly.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/readonly.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/reduce.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/reduce.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/reduce.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 
 use List::Util qw(reduce min);
 use Test::More;
-plan tests => 27 + ($::PERL_ONLY ? 0 : 2);
+plan tests => 29 + ($::PERL_ONLY ? 0 : 2);
 
 my $v = reduce {};
 
@@ -151,6 +151,13 @@
 
 } }
 
+# XSUB callback
+use constant XSUBC => 42;
+
+is reduce(\&XSUBC, 1, 2, 3), 42, "xsub callbacks";
+
+eval { &reduce(1) };
+ok($@ =~ /^Not a subroutine reference/, 'check for code reference');
 eval { &reduce(1,2) };
 ok($@ =~ /^Not a subroutine reference/, 'check for code reference');
 eval { &reduce(qw(a b)) };


Property changes on: vendor/perl/dist/cpan/List-Util/t/reduce.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/refaddr.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/refaddr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/refaddr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/refaddr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/reftype.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/reftype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/reftype.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
     }
 }
 
-use Test::More tests => 29;
+use Test::More tests => 32;
 
 use Scalar::Util qw(reftype);
 use vars qw($t $y $x *F);
@@ -23,6 +23,9 @@
 tie *F, 'MyTie';
 my $RE = $] < 5.011 ? 'SCALAR' : 'REGEXP';
 
+my $s = []; # SvTYPE($s) is SVt_RV, and SvROK($s) is true
+$s = undef; # SvTYPE($s) is SVt_RV, but SvROK($s) is false
+
 @test = (
  [ undef, 1,		'number'	],
  [ undef, 'A',		'string'	],
@@ -29,6 +32,7 @@
  [ HASH   => {},	'HASH ref'	],
  [ ARRAY  => [],	'ARRAY ref'	],
  [ SCALAR => \$t,	'SCALAR ref'	],
+ [ SCALAR => \$s,	'SCALAR ref (but SVt_RV)' ],
  [ REF    => \(\$t),	'REF ref'	],
  [ GLOB   => \*F,	'tied GLOB ref'	],
  [ GLOB   => gensym,	'GLOB ref'	],


Property changes on: vendor/perl/dist/cpan/List-Util/t/reftype.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/shuffle.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/shuffle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/shuffle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/shuffle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/stack-corruption.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/stack-corruption.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/stack-corruption.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/stack-corruption.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/sum.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/sum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/sum.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
     }
 }
 
-use Test::More tests => 8;
+use Test::More tests => 13;
 
 use List::Util qw(sum);
 
@@ -58,12 +58,40 @@
   }
 }
 
-SKIP: {
-  eval { require bignum; } or skip("Need bignum for testing overloading",1);
+use Math::BigInt;
+my $v1 = Math::BigInt->new(2) ** Math::BigInt->new(65);
+my $v2 = $v1 - 1;
+$v = sum($v1,$v2);
+is($v, $v1 + $v2, 'bigint');
 
-  my $v1 = 2**65;
-  my $v2 = 2**65;
-  my $v3 = $v1 + $v2;
-  $v = sum($v1,$v2);
-  is($v, $v3, 'bignum');
+$v = sum(42, $v1);
+is($v, $v1 + 42, 'bigint + builtin int');
+
+$v = sum(42, $v1, 2);
+is($v, $v1 + 42 + 2, 'bigint + builtin int');
+
+{ package example;
+
+  use overload
+    '0+' => sub { $_[0][0] },
+    '""' => sub { my $r = "$_[0][0]"; $r = "+$r" unless $r =~ m/^\-/; $r .= " [$_[0][1]]"; $r },
+    fallback => 1;
+
+  sub new {
+    my $class = shift;
+
+    my $this = bless [@_], $class;
+
+    return $this;
+  }
 }
+
+{
+  my $e1 = example->new(7, "test");
+  $t = sum($e1, 7, 7);
+  is($t, 21, 'overload returning non-overload');
+  $t = sum(8, $e1, 8);
+  is($t, 23, 'overload returning non-overload');
+  $t = sum(9, 9, $e1);
+  is($t, 25, 'overload returning non-overload');
+}


Property changes on: vendor/perl/dist/cpan/List-Util/t/sum.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/List-Util/t/tainted.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/tainted.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/tainted.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
     }
 }
 
-use Test::More tests => 4;
+use Test::More tests => 5;
 
 use Scalar::Util qw(tainted);
 
@@ -26,9 +26,18 @@
 
 ok( !tainted($var), 'known variable');
 
-my $key = (keys %ENV)[0];
+my $key = (grep { !/^PERL/ } keys %ENV)[0];
 
 ok( tainted($ENV{$key}),	'environment variable');
 
 $var = $ENV{$key};
 ok( tainted($var),	'copy of environment variable');
+
+{
+    package Tainted;
+    sub TIESCALAR { bless {} }
+    sub FETCH { $^X }
+}
+
+tie my $tiedvar, 'Tainted';
+ok( tainted($tiedvar), 'for magic variables');


Property changes on: vendor/perl/dist/cpan/List-Util/t/tainted.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/List-Util/t/weak.t
===================================================================
--- vendor/perl/dist/cpan/List-Util/t/weak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/List-Util/t/weak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/List-Util/t/weak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/ChangeLog
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,257 +1,3 @@
-ChangeLog for Locale-Codes Distribution
+The ChangeLog has been moved to the Locale::Codes::Changes manual.
+Please refer to it.
 
-As of 3.00, the codes are autogenerated from the standards. With each release, codes will
-be re-generated and tested to see if any code changed. Any time there are any changes to
-the codes, it will be flagged below with a change: NEW CODE(s).
-
-I intende to check for new codes at least twice a year (in June and December). I will
-also check on request, so if a code changes that you use, feel free to contact me.
-Any time there are new codes, I will add them to the module and release a new version.
-        sbeck at cpan.org
-
-3.17
-
-3.16  2011-03-01 sbeck
-	* NEW CODE(s)
-
-3.15  2010-12-02 sbeck
-        * NEW CODE(s)
-        * Added version number to Makefile.PL/Build.PL requirement
-          for POD testing modules.  RT 62247
-        * Changed 'use vars' to 'our'
-
-3.14  2010-09-28 sbeck
-        * NEW CODE(s)
-        * Stripped out some HTML that got included with some codes.
-
-3.13  2010-06-04 sbeck
-        * NEW CODE(s)
-
-3.12  2010-04-06 sbeck
-        * NEW CODE(s)
-        * Renamed test.pl to testfunc.pl to avoid causing an error
-          when built as part of perl.
-
-3.11  2010-03-01 sbeck
-        * NEW CODE(s)
-        * Added the IANA domain names to Country
-        * Fixed a problem that produced warnings with perl 5.11.5.
-          Jerry D. Hedden
-
-3.10  2010-02-18 sbeck
-        * NEW CODE(s)
-        * Moved support files into the Locale::Codes namespace.
-        * The work done in each of the Locale::XXX modules was
-          virtually identical to each other. It has all been
-          moved to a central module and the Locale::XXX moduels
-          are now just wrappers.
-        * The XXX_code2code functions would return undef if the
-          same codeset were passed in for both the 2nd and
-          3rd arguments. This doesn't make sense and has
-          been changed.
-        * Added all semi-private routines (except for the
-          couple that were already present):
-             rename_XXX
-             add_XXX
-             delete_XXX
-             add_XXX_alias
-             delete_XXX_alias
-             rename_XXX_code
-             add_XXX_code_alias
-             delete_XXX_code_alias
-        * Added "UK" alias. Steve Hay
-
-3.01  2010-02-15 sbeck
-        * Fixed Makefile.PL and Build.PL to install as core
-          modules.
-
-3.00  2010-02-10 sbeck
-        * NEW CODE(s)
-        * Took over maintenance of the code
-        * All codes and country names come from the official
-          standards
-        * code2country now returns the name of the country specified
-          in the standard (if the different standards refer
-          to the country by different variations in the name,
-          the results will differe based on the CODESET)
-        * Added code sets
-          FIPS 10 country codes
-          Alpha-3 and Term language codes
-          Numeric currency codes
-        * The rename_country funcion from 2.07 would guess the
-          CODESET (unlike all other functions which used
-          a default of LOCALE_CODE_ALPHA_2). The guess can
-          cause problems since (with the addition of FIPS)
-          codes may appear in different codesets for different
-          countries. The behavior has been changed to be
-          the same as other functions (default to
-          LOCALE_CODE_ALPHA_2).
-        * Dropped support for _alias_code
-        * Added language_code2code, currency_code2code
-
-2.07  2004-06-10 neilb
-        * made $_ local in the initialisation code for each module
-          change back-propagated from Perl distribution
-        * removed two non ISO-8859-1 characters from language names
-          change back-propagated from Perl distribution
-        * added the following aliases, with a test case for each
-           - Burma added to Myanmar
-           - French Southern and Antarctic Lands to
-             French Southern Territories
-          patch from TJ Mather
-        * "Canadian Dollar" was mis-spelled as "Candian Dollar"
-           - noted by Nick Cabatoff, patch from Michael Hennecke
-        * Changes to Locale::Country reflecting changes in ISO 3166
-           - added Aland Islands (ax, ala, 248)
-           - YUGOSLAVIA is now SERBIA AND MONTENEGRO
-              YU => CS
-              YUG => SCG
-              891 => 891 (unchanged)
-              (YUGOSLAVIA retained as an alias)
-           - EAST TIMOR changed to TIMOR-LESTE
-              (old name retained as an alias)
-           - three letter code for Romania changed from ROM to ROU
-        * ZAIRE is now CONGO, THE DEMOCRATIC REPUBLIC OF THE
-              ZR  => CD
-              ZAR => COD
-              180 => 180 (unchanged)
-              (ZAIRE retained as alias)
-
-2.06  2002-07-15 neilb
-
-        * The four modules which have data after __DATA__ weren't
-          closing the DATA filehandle after reading from it,
-          which they should. Bug and patch from Steve Hay.
-
-2.05  2002-07-08 neilb
-
-        * Added three letter codes for the countries that were missing
-          them. Patch from TJ Mather.
-        * Documentation bug: one of the examples used => where the
-          lvalue was a constant, which isn't allowed, unless you
-          put the () with the constant to force the right interpretation.
-          Pointed out by TJ Mather and MYT.
-        * Updated the URL for the appendix in the CIA world factbook.
-          Patch from TJ Mather.
-
-2.04  2002-05-23 neilb
-
-        * updated according to changes in ISO 3166-1 described
-          in ISO 3166-1 newsletters V-4 and V-5, dated 2002-05-20:
-           - Kazakstan is now "Kazakhstan"
-           - Macau is now "Macao"
-          The old names are retained as aliases.
-
-          The alpha-2 and alpha-3 codes for East Timor have changed:
-           tp -> tl
-           tmp -> tls
-          the numeric code stays 626. If you want to support the old
-          codes, you can use the semi-private function alias_code().
-
-2.03  2002-03-24 neilb
-
-        * Fixed a typo in the alias for the Vatican, reported (with patch)
-          by Philip Newton.
-        * Added "Moldova" as an alias for "Moldova, Republic of"
-        * Updated Makefile.PL to include AUTHOR and ABSTRACT
-
-2.02  2002-03-09 neilb
-
-        * added semi-private routine rename_country() to Locale::Country,
-          based on a patch from Iain Chalmers.
-        * added test rename.t for the above function.
-        * renamed _alias_code to be alias_code. Have retained the old
-          name for backwards compatibility. Will remove it when the
-          major version number next changes.
-
-2.01  2002-02-18 neilb
-
-        * Split the documentation for all modules into separate pod files.
-        * Made sure all =over were =over 4; some were other values.
-        * The code2code() methods had one more shift than was needed.
-
-2.00  2002-02-17 neilb
-
-        * Created Locale::Script which provides an interface to the
-          ISO codes for identification of scripts (writing scripts,
-          rather than perl style scripts). The codes are defined
-          by ISO 15924, which is currently in final draft.
-          Thanks to Jarkko for pointing out this new standard.
-          All three code sets are supported, and a test-suite added.
-
-        * Added support for country name variants to Locale::Country,
-          so that
-           country2code('USA')
-           country2code('United States')
-           country2code('United States of America')
-          will all return 'us'.
-          This had been in the LIMITATIONS section since the first version.
-          Patch from TJ Mather <tjmather at tjmather.com> with additional
-          variants from me. Added test-cases for these.
-
-        * Added VERSION to Locale::Constants. Thanks to Jarkko for
-          pointing that it was missing.
-
-        * Should really have bumped major version with previous release,
-          since there was a change to the API.
-
-1.06  2001-03-04 neilb
-
-        Added Locale::Constants, which defines three symbols
-        for identifying which codeset is being used:
-
-           LOCALE_CODE_ALPHA_2
-           LOCALE_CODE_ALPHA_3
-           LOCALE_CODE_NUMERIC
-
-        Updated Locale::Country to support all three code sets
-        defined by ISO 3166. This was requested by Keith Wall.
-        I haven't added multiple codeset support to the other
-        modules yet - I'll wait until someone asks for them.
-
-1.05  Feb 2001
-
-        Added Locale::Currency, contribution from Michael Hennecke.
-        Added testsuite for it (t/currency.t) and added testcases
-        to t/all.t for the all_* functions.
-
-1.04  Dec 2000
-
-        Fixed very minor typos from 1.03!
-
-1.03  Dec 2000
-
-        Updated Locale::Country:
-           - fixed spelling of a few countries
-           - added link to a relevant page from CIA world factbook
-
-        Updated Locale::Language:
-           - fixed typo in the documentation (ISO 939 should be 639)
-
-1.02  May 2000
-
-        Updated Locale::Country and Locale::Language to reflect changes
-        in the relevant ISO standards. These mainly reflect languages
-        which are new to the relevant standard, and changes in the
-        spelling of some country names.
-
-        Added official URLs for the standards to the SEE ALSO sections
-        of the doc for each module.
-
-        Thanks to Jarkko Hietaniemi for pointing me at the pages
-        with latest versions of ISO 3166 and 639.
-
-1.00  March 1998
-
-        Added Locale::Country::_alias_code() so that 'uk' can be added
-        as the code for "United Kingdom", if you want it.
-        This was prompted by Ed Jordan <ed at chronos.net>
-
-        Added a new testsuite for handling this case, and extended the
-        existing test-suite to include testing of the case where
-        'uk' hasn't been defined as a valid code.
-
-0.003 May 1997
-
-        First public release to CPAN
-


Property changes on: vendor/perl/dist/cpan/Locale-Codes/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Codes/LICENSE
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/LICENSE	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/LICENSE	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Codes/LICENSE
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/README.first
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/README.first	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/README.first	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,54 +1,24 @@
 
 			Locale-Codes Distribution
 
-For changes prior to 3.00, please see the ChangeLog file.
-
-For majore changes in this release, please refer to the Locale::Changes
-man-page (small changes are still listed in the ChangeLog file).
-
 This distribution contains Perl modules which can be used to process
 ISO codes for identifying languages, countries, scripts,
 and currencies & funds.
 
-    Locale::Language
+It consists of a number of modules used for each of the different
+types of codes.
 
-	Codes for language identification including ISO 639.
+For example, to deal with country codes, use the:
 
-	For example, 'en' is the code for 'English'.
+    Locale::Codes::Country
 
-    Locale::Country
+module.  Please refer to the Locale::Codes manual for a list of
+modules included in this distribution.
 
-	Codes for country identification including ISO 3166
-        and FIPS 10.
-
-	For example, 'us' is the code for 'United States'.
-
-    Locale::Currency
-
-	Codes for currency and fund identification including
-        ISO 4217.
-
-	For example, 'sek' is the code for 'Swedish Krona'.
-
-    Locale::Script
-
-	Codes for script identification including ISO 15924.
-
-        For example, 'Phnx' is the code for 'Phoenician'.
-
 The modules are documented using pod. When you "make install", you
 will get man-pages: Local::Codes and each of the modules listed above.
 
-The first version of Locale::Currency was written by Michael Hennecke,
-with modifications by Neil Bowers for inclusion.
-
-The first versions of Locale::Language, Locale::Country, and Locale::Script
-were written by Neil Bowers.
-
-Please let me know if you experience any problems with these modules,
-or have any ideas for additions.
-
-Also, I plan on releasing a new version a couple of times a year to make
+I plan on releasing a new version about several times a year to make
 sure that all of the codes are current. If a code changes in any standard,
 and you want a new release, just email me and I'll put out a new release.
 


Property changes on: vendor/perl/dist/cpan/Locale-Codes/README.first
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,14 +2,267 @@
 
 =head1 NAME
 
-Locale::Codes::Changes - details important changes after 2.07
+Locale::Codes::Changes - details changes to Locale::Codes
 
-=head1 3.10
+=head1 SYNOPSIS
 
+This describes the changes made to modules in the Locale-Codes
+distribution.  Major changes are marked with asterisks (*).  For the
+most part, all modules have remained backward compatible at every
+release, but occasionally a change is made which is backward
+incompatible. These are marked with an exclamation mark (!).
+
+As of 3.00, the codes are autogenerated from the standards. With each
+release, codes will be re-generated and tested to see if any code
+changed. Any time there are any changes to the codes, it will be
+flagged below with a change: NEW CODE(s).
+
+I intend to check for new codes four times a year (March, June,
+September, December). I will also check on request, so if a code
+changes that you use, feel free to contact me.  Any time there are new
+codes, I will add them to the module and release a new version.
+
+=head1 VERSION 3.28  (planned 2013-12-01; sbeck)
+
+=head1 VERSION 3.27  (planned 2013-09-01; sbeck)
+
+=head1 VERSION 3.26  (planned 2013-06-01; sbeck)
+
+=head1 VERSION 3.25  (2013-03-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.24  (2012-12-03; sbeck)
+
+NEW CODE(s)
+
 =over 4
 
-=item B<Changed XXX_code2code behavior slightly>
+=item B<Syria alias>
 
+Syria added as an alias.  RT 82747
+
+=item B<FIPS-10 country codes deprecated>
+
+The FIPS-10 document is being withdrawn.  It was deprecated in 2008,
+and is being updated now only until all the agencies that use it have
+switched to something else.  The current version no longer lists the
+long names for countries.  These long names (such as 'Republic of
+Albania' for Albania) only appeared in the old FIPS-10 document which
+is no longer available, so they are no longer available in this module.
+
+I will continue to support the FIPS-10 codeset as long as it is available,
+but at that point, it will be withdrawn immediately.  If an official
+end-of-life date is announced, I will include a notice here.  Otherwise, support
+for the codeset will be discontinued when the document is withdrawn.
+
+You are encouraged to no longer use the FIPS-10 codeset.
+
+=item B<Domain country codes now come from ISO 3166>
+
+The IANA domain codes have changed slightly.  The IANA no longer
+publishes a list of countries associated with their codes.  Instead,
+they use the ISO 3166 codes and country names.  However, they support
+a few non-standard codes, so I will continue to maintain this codeset.
+The domain codes are now lowercase to correspond to the ISO 3166 codes.
+
+=back
+
+=head1 VERSION 3.23  (2012-09-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.22  (2012-06-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Updated perl version required>
+
+Changed 'require 5.002' (which dated back to the version 2.xx Locale-Codes)
+to 'require 5.006'.  Some features used in Locale-Codes are not supported that
+far back.  Nicholas Clark
+
+=item B<Sorted deprecated codes>
+
+The codes in the generated deprecated codes modules were not sorted making version
+diffs bigger than they should be.  Nicholas Clark
+
+=back
+
+=head1 VERSION 3.21  (2012-03-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.20  (2011-12-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added limited support for deprecated codes>
+
+The code2XXX, XXX2code, all_XXX_codes, and all_XXX_names functions
+now support retired codes.  RT 71124
+
+=item B<Fixed capitalization>
+
+The 'South Sudan' country was all caps.  RT 71024
+
+=item B<Pod tests off by default>
+
+The pod tests will not run at install time.  RT 71122
+
+=item B<Codesets may be specified by name>
+
+All codesets may be specified by a constant or by their name now.  Previously,
+they were specified only by a constant.
+
+=item B<alias_code deprecated>
+
+The alias_code function exists for backward compatibility.  It has been replaced
+by rename_country_code .  The alias_code function will be removed sometime
+after September, 2013 .
+
+=item B<Code cleanup>
+
+All work is now done in the central module (Locale::Codes).  Previously, some
+was still done in the wrapper modules (Locale::Codes::*) but that is gone now.
+
+=item B<Added LangFam module>
+
+Added Language Family codes (langfam) as defined in ISO 639-5.
+
+=back
+
+=head1 VERSION 3.18  (2011-08-31; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<No longer use CIA data>
+
+The CIA world added non-standard values, so I no longer use it as
+a source of data.  Based on a report by Michiel Beijen.
+
+=back
+
+=head1 VERSION 3.17  (2011-06-28; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added new types of codes>
+
+Added Language Extension codes (langext) and Language Variation codes
+(langvar) as defined in the IANA language registry.
+
+=item B<Added new codeset(s)>
+
+Added language codes from ISO 639-5
+
+Added language/script codes from the IANA language subtag
+registry
+
+=item B<Bug fixes>
+
+Fixed an uninitialized value warning.  RT 67438
+
+Fixed the return value for the all_XXX_codes and all_XXX_names functions.  RT 69100
+
+=item B<Reorganized code>
+
+Reorganized modules to move Locale::MODULE to Locale::Codes::MODULE to
+allow for cleaner future additions.  The original four modules (Locale::Language,
+Locale::Currency, Locale::Country, Locale::Script) will continue to work, but
+all new sets of codes will be added in the Locale::Codes namespace.
+
+=back
+
+=head1 VERSION 3.16  (2011-03-01; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.15  (2010-12-02; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Minor fixes>
+
+Added version number to Makefile.PL/Build.PL requirement
+for POD testing modules.  RT 62247
+
+Changed 'use vars' to 'our'
+
+=back
+
+=head1 VERSION 3.14  (2010-09-28; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Bug fixes>
+
+Stripped out some HTML that got included with some codes.
+
+=back
+
+=head1 VERSION 3.13  (2010-06-04; sbeck)
+
+NEW CODE(s)
+
+=head1 VERSION 3.12  (2010-04-06; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Reorganized code>
+
+Renamed test.pl to testfunc.pl to avoid causing an error
+when built as part of perl.
+
+=back
+
+=head1 VERSION 3.11  (2010-03-01; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Added new codeset(s)>
+
+Added the IANA domain names to Country
+
+=item B<Bug fixes>
+
+Fixed a problem that produced warnings with perl 5.11.5.
+Jerry D. Hedden
+
+=back
+
+=head1 VERSION 3.10  (2010-02-18; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
+=item B<Reorganized code>
+
+Moved support files into the Locale::Codes namespace.
+
+The work done in each of the Locale::XXX modules was virtually
+identical to each other. It has all been moved to a central module and
+the Locale::XXX modules are now just wrappers.
+
+=item B<(!) Changed XXX_code2code behavior slightly>
+
 In previous versions, passing in the same code set for both code set
 arguments would automatically return undef. For example:
 
@@ -78,12 +331,29 @@
    delete_currency_code_alias
    delete_script_code_alias
 
+=item B<New aliases>
+
+Added "UK" alias. Steve Hay
+
 =back
 
-=head1 3.00
+=head1 VERSION 3.01  (2010-02-15; sbeck)
 
 =over 4
 
+=item B<Fixed Makefile.PL and Build.PL>
+
+They now install as core modules as they are supposed to.  Reported in
+RT 54526
+
+=back
+
+=head1 VERSION 3.00  (2010-02-10; sbeck)
+
+NEW CODE(s)
+
+=over 4
+
 =item B<New maintainer>
 
 From 1997 to 2004, Locale::Codes was maintained by Neil
@@ -94,7 +364,7 @@
 I contacted Neil to get his permission to assume maintenance of
 the module, and he kindly agreed.
 
-=item B<All codes are generated from standards>
+=item B<(*) (!) All codes are generated from standards>
 
 All of the values returned by the various functions are now values
 directly from the standards. This means that the values returned in
@@ -115,16 +385,16 @@
 "Congo", but the country changed it's name, and "Zaire" is not in the
 standard, so it has been dropped in 3.00.
 
-=item B<Added several code sets from standards>
+=item B<Added new codeset(s)>
 
-I've added the following code sets:
+FIPS 10 country codes (requested in RT 1755)
 
-   FIPS 10 country codes
-   Alpha-3 and Term language codes
-   Numeric currency codes
+Alpha-3 and Term language codes (requested in RT 11730)
 
-=item B<Locale::Script changed>
+Numeric currency codes (requested in RT 18797)
 
+=item B<(*) (!) Locale::Script changed>
+
 In 2.xx, Locale::Script assigned scripts to country codes, which is NOT
 how it is done currently in the standards. It appears that an older version
 of ISO 15924 did this, but I haven't found an old version to confirm
@@ -144,13 +414,208 @@
 
 so the interfaces for each type of codes are consistent.
 
-=item B<Dropped support for _alias_code>
+=item B<(!) Dropped support for _alias_code>
 
 In Locale::Country, _alias_code was an allowed, but deprecated function
 which was documented to be supported in the 2.xx series. I've removed it.
 
+=item B<(!) All functions return the standard value>
+
+code2country (and other equivalent functions) now returns the name of
+the country specified in the standard (if the different standards
+refer to the country by different variations in the name, the results
+will differ based on the CODESET)
+
+=item B<(!) rename_country function altered>
+
+The rename_country function from 2.07 would guess the CODESET (unlike
+all other functions which used a default of LOCALE_CODE_ALPHA_2). The
+guess can cause problems since (with the addition of FIPS) codes may
+appear in different codesets for different countries. The behavior has
+been changed to be the same as other functions (default to
+LOCALE_CODE_ALPHA_2).
+
 =back
 
+=head1 VERSION 2.07  (2004-06-10; neilb)
+
+Made $_ local in the initialization code for each module
+change back-propagated from Perl distribution
+
+Removed two non ISO-8859-1 characters from language names
+change back-propagated from Perl distribution
+
+Added the following aliases, with a test case for each
+   - Burma added to Myanmar
+   - French Southern and Antarctic Lands to
+     French Southern Territories
+patch from TJ Mather
+
+"Canadian Dollar" was misspelled as "Candian Dollar"
+   - noted by Nick Cabatoff, patch from Michael Hennecke
+
+Changes to Locale::Country reflecting changes in ISO 3166
+   - added Aland Islands (ax, ala, 248)
+   - YUGOSLAVIA is now SERBIA AND MONTENEGRO
+      YU => CS
+      YUG => SCG
+      891 => 891 (unchanged)
+      (YUGOSLAVIA retained as an alias)
+   - EAST TIMOR changed to TIMOR-LESTE
+      (old name retained as an alias)
+   - three letter code for Romania changed from ROM to ROU
+
+ZAIRE is now CONGO, THE DEMOCRATIC REPUBLIC OF THE
+    ZR  => CD
+    ZAR => COD
+    180 => 180 (unchanged)
+    (ZAIRE retained as alias)
+
+=head1 VERSION 2.06  (2002-07-15; neilb)
+
+The four modules which have data after __DATA__ weren't closing the
+DATA filehandle after reading from it, which they should. Bug and
+patch from Steve Hay.
+
+=head1 VERSION 2.05  (2002-07-08; neilb)
+
+Added three letter codes for the countries that were missing
+them. Patch from TJ Mather.
+
+Documentation bug: one of the examples used => where the
+lvalue was a constant, which isn't allowed, unless you
+put the () with the constant to force the right interpretation.
+Pointed out by TJ Mather and MYT.
+
+Updated the URL for the appendix in the CIA world factbook.
+Patch from TJ Mather.
+
+=head1 VERSION 2.04  (2002-05-23; neilb)
+
+Updated according to changes in ISO 3166-1 described
+in ISO 3166-1 newsletters V-4 and V-5, dated 2002-05-20:
+   - Kazakstan is now "Kazakhstan"
+   - Macau is now "Macao"
+The old names are retained as aliases.
+
+The alpha-2 and alpha-3 codes for East Timor have changed:
+   tp -> tl
+   tmp -> tls
+the numeric code stays 626. If you want to support the old
+codes, you can use the semi-private function alias_code().
+
+=head1 VERSION 2.03  (2002-03-24; neilb)
+
+Fixed a typo in the alias for the Vatican, reported (with patch)
+by Philip Newton.
+
+Added "Moldova" as an alias for "Moldova, Republic of"
+
+Updated Makefile.PL to include AUTHOR and ABSTRACT
+
+=head1 VERSION 2.02  (2002-03-09; neilb)
+
+Added semi-private routine rename_country() to Locale::Country,
+based on a patch from Iain Chalmers.
+
+Added test rename.t for the above function.
+
+Renamed _alias_code to be alias_code. Have retained the old
+name for backwards compatibility. Will remove it when the
+major version number next changes.
+
+=head1 VERSION 2.01  (2002-02-18; neilb)
+
+Split the documentation for all modules into separate pod files.
+
+Made sure all =over were =over 4; some were other values.
+
+The code2code() methods had one more shift than was needed.
+
+=head1 VERSION 2.00  (2002-02-17; neilb)
+
+Created Locale::Script which provides an interface to the ISO codes
+for identification of scripts (writing scripts, rather than perl style
+scripts). The codes are defined by ISO 15924, which is currently in
+final draft.  Thanks to Jarkko for pointing out this new standard.
+All three code sets are supported, and a test-suite added.
+
+Added support for country name variants to Locale::Country,
+so that
+   country2code('USA')
+   country2code('United States')
+   country2code('United States of America')
+will all return 'us'.  This had been in the LIMITATIONS section since
+the first version.  Patch from TJ Mather with additional variants from
+me. Added test-cases for these.
+
+Added VERSION to Locale::Constants. Thanks to Jarkko for
+pointing that it was missing.
+
+Should really have bumped major version with previous release,
+since there was a change to the API.
+
+=head1 VERSION 1.06  (2001-03-04; neilb)
+
+Added Locale::Constants, which defines three symbols for identifying
+which codeset is being used:
+
+   LOCALE_CODE_ALPHA_2
+   LOCALE_CODE_ALPHA_3
+   LOCALE_CODE_NUMERIC
+
+Updated Locale::Country to support all three code sets defined by ISO
+3166. This was requested by Keith Wall.  I haven't added multiple
+codeset support to the other modules yet - I'll wait until someone
+asks for them.
+
+=head1 VERSION 1.05  (2001-02-13; neilb)
+
+Added Locale::Currency, contribution from Michael Hennecke.
+
+Added test suite for it (t/currency.t) and added test cases
+to t/all.t for the all_* functions.
+
+=head1 VERSION 1.04  (2000-12-21; neilb)
+
+Fixed very minor typos from 1.03!
+
+=head1 VERSION 1.03  (2000-12-??; neilb)
+
+Updated Locale::Country:
+   - fixed spelling of a few countries
+   - added link to a relevant page from CIA world factbook
+
+Updated Locale::Language:
+   - fixed typo in the documentation (ISO 939 should be 639)
+
+=head1 VERSION 1.02  (2000-05-04; neilb)
+
+Updated Locale::Country and Locale::Language to reflect changes in the
+relevant ISO standards. These mainly reflect languages which are new
+to the relevant standard, and changes in the spelling of some country
+names.
+
+Added official URLs for the standards to the SEE ALSO sections of the
+doc for each module.
+
+Thanks to Jarkko Hietaniemi for pointing me at the pages with latest
+versions of ISO 3166 and 639.
+
+=head1 VERSION 1.00  (1998-03-09; neilb)
+
+Added Locale::Country::_alias_code() so that 'uk' can be added as the
+code for "United Kingdom", if you want it.  This was prompted by Ed
+Jordan.
+
+Added a new test suite for handling this case, and extended the
+existing test-suite to include testing of the case where 'uk' hasn't
+been defined as a valid code.
+
+=head1 VERSION 0.003  (1997-05-09; neilb)
+
+First public release to CPAN
+
 =head1 SEE ALSO
 
 Locale::Codes
@@ -163,7 +628,8 @@
 
 =head1 COPYRIGHT
 
-   Copyright (c) 2010-2011 Sullivan Beck
+   Copyright (c) 2001-2010 Neil Bowers
+   Copyright (c) 2010-2013 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Changes.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9690 +1,114 @@
 package Locale::Codes::Country;
+# Copyright (C) 2001      Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2013 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
 
-# This file was automatically generated.  Any changes to this file will
-# be lost the next time 'get_codes' is run.
-#    Generated on: Tue Mar  1 13:37:25 EST 2011
+use strict;
+require 5.006;
+use warnings;
 
-=pod
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::Country_Codes;
+use Locale::Codes::Country_Retired;
 
-=head1 NAME
+#=======================================================================
+#       Public Global Variables
+#=======================================================================
 
-Locale::Codes::Country - country codes for the Locale::Country module
+our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
 
-=head1 SYNOPSIS
+$VERSION='3.25';
+ at ISA       = qw(Exporter);
+ at EXPORT    = qw(code2country
+                country2code
+                all_country_codes
+                all_country_names
+                country_code2code
+                LOCALE_CODE_ALPHA_2
+                LOCALE_CODE_ALPHA_3
+                LOCALE_CODE_NUMERIC
+                LOCALE_CODE_FIPS
+                LOCALE_CODE_DOM
+               );
 
-This module contains data used by the Locale::Country module. It is
-not intended to be used directly, and contains no calleable routines.
+sub code2country {
+   return Locale::Codes::_code2name('country', at _);
+}
 
-=head1 AUTHOR
+sub country2code {
+   return Locale::Codes::_name2code('country', at _);
+}
 
-See Locale::Codes for full author history.
+sub country_code2code {
+   return Locale::Codes::_code2code('country', at _);
+}
 
-Currently maintained by Sullivan Beck (sbeck at cpan.org).
+sub all_country_codes {
+   return Locale::Codes::_all_codes('country', at _);
+}
 
-=head1 COPYRIGHT
+sub all_country_names {
+   return Locale::Codes::_all_names('country', at _);
+}
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+sub rename_country {
+   return Locale::Codes::_rename('country', at _);
+}
 
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
+sub add_country {
+   return Locale::Codes::_add_code('country', at _);
+}
 
-=cut
+sub delete_country {
+   return Locale::Codes::_delete_code('country', at _);
+}
 
-use strict;
-use warnings;
-require 5.002;
+sub add_country_alias {
+   return Locale::Codes::_add_alias('country', at _);
+}
 
-our($VERSION);
-$VERSION='3.16';
+sub delete_country_alias {
+   return Locale::Codes::_delete_alias('country', at _);
+}
 
-$Locale::Codes::Data{'country'}{'id'} = '0281';
+sub rename_country_code {
+   return Locale::Codes::_rename_code('country', at _);
+}
 
-$Locale::Codes::Data{'country'}{'id2names'} = {
-   q(0001) => [
-      q(Afghanistan),
-      q(Islamic State of Afghanistan),
-      ],
-   q(0002) => [
-      q(Aland Islands),
-      ],
-   q(0003) => [
-      q(Albania),
-      q(Republic of Albania),
-      ],
-   q(0004) => [
-      q(Algeria),
-      q(People's Democratic Republic of Algeria),
-      ],
-   q(0005) => [
-      q(American Samoa),
-      q(Territory of American Samoa),
-      ],
-   q(0006) => [
-      q(Andorra),
-      q(Principality of Andorra),
-      ],
-   q(0007) => [
-      q(Angola),
-      q(Republic of Angola),
-      ],
-   q(0008) => [
-      q(Anguilla),
-      ],
-   q(0009) => [
-      q(Antarctica),
-      ],
-   q(0010) => [
-      q(Antigua and Barbuda),
-      ],
-   q(0011) => [
-      q(Argentina),
-      q(Argentine Republic),
-      ],
-   q(0012) => [
-      q(Armenia),
-      q(Republic of Armenia),
-      ],
-   q(0013) => [
-      q(Aruba),
-      ],
-   q(0014) => [
-      q(Australia),
-      q(Commonwealth of Australia),
-      ],
-   q(0015) => [
-      q(Austria),
-      q(Republic of Austria),
-      ],
-   q(0016) => [
-      q(Azerbaijan),
-      q(Republic of Azerbaijan),
-      ],
-   q(0017) => [
-      q(Bahamas),
-      q(Bahamas, The),
-      q(Commonwealth of the Bahamas),
-      q(The Bahamas),
-      ],
-   q(0018) => [
-      q(Bahrain),
-      q(State of Bahrain),
-      ],
-   q(0019) => [
-      q(Bangladesh),
-      q(People's Republic of Bangladesh),
-      ],
-   q(0020) => [
-      q(Barbados),
-      ],
-   q(0021) => [
-      q(Belarus),
-      q(Republic of Belarus),
-      ],
-   q(0022) => [
-      q(Belgium),
-      q(Kingdom of Belgium),
-      ],
-   q(0023) => [
-      q(Belize),
-      ],
-   q(0024) => [
-      q(Benin),
-      q(Republic of Benin),
-      ],
-   q(0025) => [
-      q(Bermuda),
-      ],
-   q(0026) => [
-      q(Bhutan),
-      q(Kingdom of Bhutan),
-      ],
-   q(0027) => [
-      q(Bolivia, Plurinational State of),
-      q(Bolivia (Plurinational State of)),
-      q(Bolivia),
-      q(Republic of Bolivia),
-      ],
-   q(0028) => [
-      q(Bonaire, Saint Eustatius and Saba),
-      ],
-   q(0029) => [
-      q(Bosnia and Herzegovina),
-      ],
-   q(0030) => [
-      q(Botswana),
-      q(Republic of Botswana),
-      ],
-   q(0031) => [
-      q(Bouvet Island),
-      ],
-   q(0032) => [
-      q(Brazil),
-      q(Federative Republic of Brazil),
-      ],
-   q(0033) => [
-      q(British Indian Ocean Territory),
-      ],
-   q(0034) => [
-      q(Brunei Darussalam),
-      q(Brunei),
-      q(Negara Brunei Darussalam),
-      ],
-   q(0035) => [
-      q(Bulgaria),
-      ],
-   q(0036) => [
-      q(Burkina Faso),
-      ],
-   q(0037) => [
-      q(Burundi),
-      q(Republic of Burundi),
-      ],
-   q(0038) => [
-      q(Cambodia),
-      q(Kingdom of Cambodia),
-      ],
-   q(0039) => [
-      q(Cameroon),
-      q(Republic of Cameroon),
-      ],
-   q(0040) => [
-      q(Canada),
-      ],
-   q(0041) => [
-      q(Cape Verde),
-      q(Republic of Cape Verde),
-      ],
-   q(0042) => [
-      q(Cayman Islands),
-      ],
-   q(0043) => [
-      q(Central African Republic),
-      ],
-   q(0044) => [
-      q(Chad),
-      q(Republic of Chad),
-      ],
-   q(0045) => [
-      q(Chile),
-      q(Republic of Chile),
-      ],
-   q(0046) => [
-      q(China),
-      q(People's Republic of China),
-      ],
-   q(0047) => [
-      q(Christmas Island),
-      q(Territory of Christmas Island),
-      ],
-   q(0048) => [
-      q(Cocos (Keeling) Islands),
-      q(Territory of Cocos (Keeling) Islands),
-      q(Keeling Islands),
-      q(Cocos Islands),
-      ],
-   q(0049) => [
-      q(Colombia),
-      q(Republic of Colombia),
-      ],
-   q(0050) => [
-      q(Comoros),
-      q(Federal Islamic Republic of the Comoros),
-      ],
-   q(0051) => [
-      q(Congo),
-      q(Congo (Brazzaville)),
-      q(Republic of the Congo),
-      q(Congo, Republic of the),
-      q(The Republic of the Congo),
-      ],
-   q(0052) => [
-      q(Congo, The Democratic Republic of the),
-      q(Democratic Republic of the Congo),
-      q(Congo (Kinshasa)),
-      q(Congo, Democratic Republic of the),
-      q(The Democratic Republic of the Congo),
-      ],
-   q(0053) => [
-      q(Cook Islands),
-      ],
-   q(0054) => [
-      q(Costa Rica),
-      q(Republic of Costa Rica),
-      ],
-   q(0055) => [
-      q(Cote d'Ivoire),
-      q(Republic of Cote D'Ivoire),
-      ],
-   q(0056) => [
-      q(Croatia),
-      q(Republic of Croatia),
-      ],
-   q(0057) => [
-      q(Cuba),
-      q(Republic of Cuba),
-      ],
-   q(0058) => [
-      q(Curacao),
-      ],
-   q(0059) => [
-      q(Cyprus),
-      q(Republic of Cyprus),
-      ],
-   q(0060) => [
-      q(Czech Republic),
-      ],
-   q(0061) => [
-      q(Denmark),
-      q(Kingdom of Denmark),
-      ],
-   q(0062) => [
-      q(Djibouti),
-      q(Republic of Djibouti),
-      ],
-   q(0063) => [
-      q(Dominica),
-      q(Commonwealth of Dominica),
-      ],
-   q(0064) => [
-      q(Dominican Republic),
-      ],
-   q(0065) => [
-      q(Ecuador),
-      q(Republic of Ecuador),
-      ],
-   q(0066) => [
-      q(Egypt),
-      q(Arab Republic of Egypt),
-      ],
-   q(0067) => [
-      q(El Salvador),
-      q(Republic of El Salvador),
-      ],
-   q(0068) => [
-      q(Equatorial Guinea),
-      q(Republic of Equatorial Guinea),
-      ],
-   q(0069) => [
-      q(Eritrea),
-      q(State of Eritrea),
-      ],
-   q(0070) => [
-      q(Estonia),
-      q(Republic of Estonia),
-      ],
-   q(0071) => [
-      q(Ethiopia),
-      q(Federal Democratic Republic of Ethiopia),
-      ],
-   q(0072) => [
-      q(Falkland Islands (Malvinas)),
-      q(Falkland Islands (Islas Malvinas)),
-      ],
-   q(0073) => [
-      q(Faroe Islands),
-      q(Faeroe Islands),
-      ],
-   q(0074) => [
-      q(Fiji),
-      q(Republic of the Fiji Islands),
-      ],
-   q(0075) => [
-      q(Finland),
-      q(Republic of Finland),
-      ],
-   q(0076) => [
-      q(France),
-      q(French Republic),
-      ],
-   q(0077) => [
-      q(French Guiana),
-      q(Department of Guiana),
-      ],
-   q(0078) => [
-      q(French Polynesia),
-      q(Territory of French Polynesia),
-      ],
-   q(0079) => [
-      q(French Southern Territories),
-      q(French Southern and Antarctic Lands),
-      q(Territory of the French Southern and Antarctic Lands),
-      ],
-   q(0080) => [
-      q(Gabon),
-      q(Gabonese Republic),
-      ],
-   q(0081) => [
-      q(Gambia),
-      q(Gambia, The),
-      q(Republic of the Gambia),
-      ],
-   q(0082) => [
-      q(Georgia),
-      ],
-   q(0083) => [
-      q(Germany),
-      q(Federal Republic of Germany),
-      ],
-   q(0084) => [
-      q(Ghana),
-      q(Republic of Ghana),
-      ],
-   q(0085) => [
-      q(Gibraltar),
-      ],
-   q(0086) => [
-      q(Greece),
-      q(Hellenic Republic),
-      ],
-   q(0087) => [
-      q(Greenland),
-      ],
-   q(0088) => [
-      q(Grenada),
-      ],
-   q(0089) => [
-      q(Guadeloupe),
-      q(Department of Guadeloupe),
-      ],
-   q(0090) => [
-      q(Guam),
-      q(Territory of Guam),
-      ],
-   q(0091) => [
-      q(Guatemala),
-      q(Republic of Guatemala),
-      ],
-   q(0092) => [
-      q(Guernsey),
-      q(Bailiwick of Guernsey),
-      ],
-   q(0093) => [
-      q(Guinea),
-      q(Republic of Guinea),
-      ],
-   q(0094) => [
-      q(Guinea-Bissau),
-      q(Republic of Guinea-Bissau),
-      ],
-   q(0095) => [
-      q(Guyana),
-      q(Co-operative Republic of Guyana),
-      ],
-   q(0096) => [
-      q(Haiti),
-      q(Republic of Haiti),
-      ],
-   q(0097) => [
-      q(Heard Island and Mcdonald Islands),
-      q(Territory of Heard Island and McDonald Islands),
-      ],
-   q(0098) => [
-      q(Holy See (Vatican City State)),
-      q(Holy See),
-      q(Vatican City),
-      q(State of the Vatican City),
-      q(Holy See (Vatican City)),
-      ],
-   q(0099) => [
-      q(Honduras),
-      q(Republic of Honduras),
-      ],
-   q(0100) => [
-      q(Hong Kong),
-      q(China, Hong Kong Special Administrative Region),
-      q(Hong Kong S.A.R.),
-      q(Hong Kong Special Administrative Region),
-      q(Hong Kong Special Administrative Region of China),
-      ],
-   q(0101) => [
-      q(Hungary),
-      q(Republic of Hungary),
-      ],
-   q(0102) => [
-      q(Iceland),
-      q(Republic of Iceland),
-      ],
-   q(0103) => [
-      q(India),
-      q(Republic of India),
-      ],
-   q(0104) => [
-      q(Indonesia),
-      q(Republic of Indonesia),
-      ],
-   q(0105) => [
-      q(Iran, Islamic Republic of),
-      q(Iran (Islamic Republic of)),
-      q(Iran),
-      q(Islamic Republic of Iran),
-      ],
-   q(0106) => [
-      q(Iraq),
-      q(Republic of Iraq),
-      ],
-   q(0107) => [
-      q(Ireland),
-      ],
-   q(0108) => [
-      q(Isle of Man),
-      ],
-   q(0109) => [
-      q(Israel),
-      q(State of Israel),
-      ],
-   q(0110) => [
-      q(Italy),
-      q(Italian Republic),
-      ],
-   q(0111) => [
-      q(Jamaica),
-      ],
-   q(0112) => [
-      q(Japan),
-      ],
-   q(0113) => [
-      q(Jersey),
-      q(Bailiwick of Jersey),
-      ],
-   q(0114) => [
-      q(Jordan),
-      q(Hashemite Kingdom of Jordan),
-      ],
-   q(0115) => [
-      q(Kazakhstan),
-      q(Republic of Kazakhstan),
-      q(Kazakstan),
-      ],
-   q(0116) => [
-      q(Kenya),
-      q(Republic of Kenya),
-      ],
-   q(0117) => [
-      q(Kiribati),
-      q(Republic of Kiribati),
-      ],
-   q(0118) => [
-      q(Korea, Democratic People's Republic of),
-      q(Democratic People's Republic of Korea),
-      q(Korea, North),
-      q(North Korea),
-      ],
-   q(0119) => [
-      q(Korea, Republic of),
-      q(Republic of Korea),
-      q(Korea, South),
-      q(South Korea),
-      ],
-   q(0120) => [
-      q(Kuwait),
-      q(State of Kuwait),
-      ],
-   q(0121) => [
-      q(Kyrgyzstan),
-      q(Kyrgyz Republic),
-      ],
-   q(0122) => [
-      q(Lao People's Democratic Republic),
-      q(Laos),
-      ],
-   q(0123) => [
-      q(Latvia),
-      q(Republic of Latvia),
-      ],
-   q(0124) => [
-      q(Lebanon),
-      q(Lebanese Republic),
-      ],
-   q(0125) => [
-      q(Lesotho),
-      q(Republic of Lesotho),
-      ],
-   q(0126) => [
-      q(Liberia),
-      q(Republic of Liberia),
-      ],
-   q(0127) => [
-      q(Libyan Arab Jamahiriya),
-      q(Libya),
-      q(Great Socialist People's Libyan Arab Jamahiriya),
-      ],
-   q(0128) => [
-      q(Liechtenstein),
-      q(Principality of Liechtenstein),
-      ],
-   q(0129) => [
-      q(Lithuania),
-      q(Republic of Lithuania),
-      ],
-   q(0130) => [
-      q(Luxembourg),
-      q(Grand Duchy of Luxembourg),
-      ],
-   q(0131) => [
-      q(Macao),
-      q(China, Macao Special Administrative Region),
-      q(Macau S.A.R),
-      q(Macau Special Administrative Region),
-      q(Macau),
-      q(Macau S.A.R.),
-      q(Macao Special Administrative Region of China),
-      ],
-   q(0132) => [
-      q(Macedonia, The Former Yugoslav Republic of),
-      q(The former Yugoslav Republic of Macedonia),
-      q(Macedonia),
-      q(Republic of Macedonia),
-      q(Macedonia, Former Yugoslav Republic of),
-      ],
-   q(0133) => [
-      q(Madagascar),
-      q(Republic of Madagascar),
-      ],
-   q(0134) => [
-      q(Malawi),
-      q(Republic of Malawi),
-      ],
-   q(0135) => [
-      q(Malaysia),
-      ],
-   q(0136) => [
-      q(Maldives),
-      q(Republic of Maldives),
-      ],
-   q(0137) => [
-      q(Mali),
-      q(Republic of Mali),
-      ],
-   q(0138) => [
-      q(Malta),
-      q(Republic of Malta),
-      ],
-   q(0139) => [
-      q(Marshall Islands),
-      q(Republic of the Marshall Islands),
-      ],
-   q(0140) => [
-      q(Martinique),
-      q(Department of Martinique),
-      ],
-   q(0141) => [
-      q(Mauritania),
-      q(Islamic Republic of Mauritania),
-      ],
-   q(0142) => [
-      q(Mauritius),
-      q(Republic of Mauritius),
-      ],
-   q(0143) => [
-      q(Mayotte),
-      q(Territorial Collectivity of Mayotte),
-      ],
-   q(0144) => [
-      q(Mexico),
-      q(United Mexican States),
-      ],
-   q(0145) => [
-      q(Micronesia, Federated States of),
-      q(Micronesia (Federated States of)),
-      q(Federated States of Micronesia),
-      ],
-   q(0146) => [
-      q(Moldova, Republic of),
-      q(Republic of Moldova),
-      q(Moldova),
-      ],
-   q(0147) => [
-      q(Monaco),
-      q(Principality of Monaco),
-      ],
-   q(0148) => [
-      q(Mongolia),
-      ],
-   q(0149) => [
-      q(Montenegro),
-      ],
-   q(0150) => [
-      q(Montserrat),
-      ],
-   q(0151) => [
-      q(Morocco),
-      q(Kingdom of Morocco),
-      ],
-   q(0152) => [
-      q(Mozambique),
-      q(Republic of Mozambique),
-      ],
-   q(0153) => [
-      q(Myanmar),
-      q(Burma),
-      q(Union of Burma),
-      ],
-   q(0154) => [
-      q(Namibia),
-      q(Republic of Namibia),
-      ],
-   q(0155) => [
-      q(Nauru),
-      q(Republic of Nauru),
-      ],
-   q(0156) => [
-      q(Nepal),
-      q(Kingdom of Nepal),
-      ],
-   q(0157) => [
-      q(Netherlands),
-      q(Kingdom of the Netherlands),
-      ],
-   q(0158) => [
-      q(New Caledonia),
-      q(Territory of New Caledonia and Dependencies),
-      ],
-   q(0159) => [
-      q(New Zealand),
-      ],
-   q(0160) => [
-      q(Nicaragua),
-      q(Republic of Nicaragua),
-      ],
-   q(0161) => [
-      q(Niger),
-      q(Republic of Niger),
-      ],
-   q(0162) => [
-      q(Nigeria),
-      q(Federal Republic of Nigeria),
-      ],
-   q(0163) => [
-      q(Niue),
-      ],
-   q(0164) => [
-      q(Norfolk Island),
-      q(Territory of Norfolk Island),
-      ],
-   q(0165) => [
-      q(Northern Mariana Islands),
-      q(Commonwealth of the Northern Mariana Islands),
-      ],
-   q(0166) => [
-      q(Norway),
-      q(Kingdom of Norway),
-      ],
-   q(0167) => [
-      q(Oman),
-      q(Sultanate of Oman),
-      ],
-   q(0168) => [
-      q(Pakistan),
-      q(Islamic Republic of Pakistan),
-      ],
-   q(0169) => [
-      q(Palau),
-      q(Republic of Palau),
-      ],
-   q(0170) => [
-      q(Palestinian Territory, Occupied),
-      q(Occupied Palestinian Territory),
-      ],
-   q(0171) => [
-      q(Panama),
-      q(Republic of Panama),
-      ],
-   q(0172) => [
-      q(Papua New Guinea),
-      q(Independent State of Papua New Guinea),
-      ],
-   q(0173) => [
-      q(Paraguay),
-      q(Republic of Paraguay),
-      ],
-   q(0174) => [
-      q(Peru),
-      q(Republic of Peru),
-      ],
-   q(0175) => [
-      q(Philippines),
-      q(Republic of the Philippines),
-      ],
-   q(0176) => [
-      q(Pitcairn),
-      q(Pitcairn Islands),
-      q(Pitcairn, Henderson, Ducie and Oeno Islands),
-      q(Pitcairn Island),
-      ],
-   q(0177) => [
-      q(Poland),
-      q(Republic of Poland),
-      ],
-   q(0178) => [
-      q(Portugal),
-      q(Portuguese Republic),
-      ],
-   q(0179) => [
-      q(Puerto Rico),
-      q(Commonwealth of Puerto Rico),
-      ],
-   q(0180) => [
-      q(Qatar),
-      q(State of Qatar),
-      ],
-   q(0181) => [
-      q(Reunion),
-      q(Department of Reunion),
-      ],
-   q(0182) => [
-      q(Romania),
-      ],
-   q(0183) => [
-      q(Russian Federation),
-      q(Russia),
-      ],
-   q(0184) => [
-      q(Rwanda),
-      q(Rwandese Republic),
-      ],
-   q(0185) => [
-      q(Saint Barthelemy),
-      q(Saint-Barthelemy),
-      ],
-   q(0186) => [
-      q(Saint Helena, Ascension and Tristan da Cunha),
-      q(Saint Helena),
-      ],
-   q(0187) => [
-      q(Saint Kitts and Nevis),
-      q(Federation of Saint Kitts and Nevis),
-      ],
-   q(0188) => [
-      q(Saint Lucia),
-      ],
-   q(0189) => [
-      q(Saint Martin (French part)),
-      q(Saint-Martin (French part)),
-      q(Saint Martin),
-      q(Saint-Martin),
-      ],
-   q(0190) => [
-      q(Saint Pierre and Miquelon),
-      q(Territorial Collectivity of Saint Pierre and Miquelon),
-      ],
-   q(0191) => [
-      q(Saint Vincent and the Grenadines),
-      ],
-   q(0192) => [
-      q(Samoa),
-      q(Independent State of Samoa),
-      ],
-   q(0193) => [
-      q(San Marino),
-      q(Republic of San Marino),
-      ],
-   q(0194) => [
-      q(Sao Tome and Principe),
-      q(Democratic Republic of Sao Tome and Principe),
-      ],
-   q(0195) => [
-      q(Saudi Arabia),
-      q(Kingdom of Saudi Arabia),
-      ],
-   q(0196) => [
-      q(Senegal),
-      q(Republic of Senegal),
-      ],
-   q(0197) => [
-      q(Serbia),
-      ],
-   q(0198) => [
-      q(Seychelles),
-      q(Republic of Seychelles),
-      ],
-   q(0199) => [
-      q(Sierra Leone),
-      q(Republic of Sierra Leone),
-      ],
-   q(0200) => [
-      q(Singapore),
-      q(Republic of Singapore),
-      ],
-   q(0201) => [
-      q(Sint Maarten (Dutch part)),
-      q(Sint Maarten),
-      ],
-   q(0202) => [
-      q(Slovakia),
-      q(Slovak Republic),
-      ],
-   q(0203) => [
-      q(Slovenia),
-      q(Republic of Slovenia),
-      ],
-   q(0204) => [
-      q(Solomon Islands),
-      ],
-   q(0205) => [
-      q(Somalia),
-      ],
-   q(0206) => [
-      q(South Africa),
-      q(Republic of South Africa),
-      ],
-   q(0207) => [
-      q(South Georgia and the South Sandwich Islands),
-      q(South Georgia and the Islands),
-      ],
-   q(0208) => [
-      q(Spain),
-      q(Kingdom of Spain),
-      ],
-   q(0209) => [
-      q(Sri Lanka),
-      q(Democratic Socialist Republic of Sri Lanka),
-      ],
-   q(0210) => [
-      q(Sudan),
-      q(Republic of the Sudan),
-      ],
-   q(0211) => [
-      q(Suriname),
-      q(Republic of Suriname),
-      ],
-   q(0212) => [
-      q(Svalbard and Jan Mayen),
-      q(Svalbard and Jan Mayen Islands),
-      ],
-   q(0213) => [
-      q(Swaziland),
-      q(Kingdom of Swaziland),
-      ],
-   q(0214) => [
-      q(Sweden),
-      q(Kingdom of Sweden),
-      ],
-   q(0215) => [
-      q(Switzerland),
-      q(Swiss Confederation),
-      ],
-   q(0216) => [
-      q(Syrian Arab Republic),
-      q(Syria),
-      q(Golan Heights (Israeli-occupied)),
-      ],
-   q(0217) => [
-      q(Taiwan, Province of China),
-      q(Taiwan),
-      ],
-   q(0218) => [
-      q(Tajikistan),
-      q(Republic of Tajikistan),
-      ],
-   q(0219) => [
-      q(Tanzania, United Republic of),
-      q(United Republic of Tanzania),
-      q(Tanzania),
-      ],
-   q(0220) => [
-      q(Thailand),
-      q(Kingdom of Thailand),
-      ],
-   q(0221) => [
-      q(Timor-Leste),
-      q(East Timor),
-      ],
-   q(0222) => [
-      q(Togo),
-      q(Togolese Republic),
-      ],
-   q(0223) => [
-      q(Tokelau),
-      ],
-   q(0224) => [
-      q(Tonga),
-      q(Kingdom of Tonga),
-      ],
-   q(0225) => [
-      q(Trinidad and Tobago),
-      q(Republic of Trinidad and Tobago),
-      ],
-   q(0226) => [
-      q(Tunisia),
-      q(Republic of Tunisia),
-      ],
-   q(0227) => [
-      q(Turkey),
-      q(Republic of Turkey),
-      ],
-   q(0228) => [
-      q(Turkmenistan),
-      ],
-   q(0229) => [
-      q(Turks and Caicos Islands),
-      ],
-   q(0230) => [
-      q(Tuvalu),
-      ],
-   q(0231) => [
-      q(Uganda),
-      ],
-   q(0232) => [
-      q(Ukraine),
-      ],
-   q(0233) => [
-      q(United Arab Emirates),
-      ],
-   q(0234) => [
-      q(United Kingdom),
-      q(United Kingdom of Great Britain and Northern Ireland),
-      q(Great Britain),
-      q(UK),
-      ],
-   q(0235) => [
-      q(United States),
-      q(United States of America),
-      q(US),
-      q(USA),
-      ],
-   q(0236) => [
-      q(United States Minor Outlying Islands),
-      ],
-   q(0237) => [
-      q(Uruguay),
-      q(Oriental Republic of Uruguay),
-      ],
-   q(0238) => [
-      q(Uzbekistan),
-      q(Republic of Uzbekistan),
-      ],
-   q(0239) => [
-      q(Vanuatu),
-      q(Republic of Vanuatu),
-      ],
-   q(0240) => [
-      q(Venezuela, Bolivarian Republic of),
-      q(Venezuela (Bolivarian Republic of)),
-      q(Venezuela),
-      q(Bolivarian Republic of Venezuela),
-      ],
-   q(0241) => [
-      q(Viet Nam),
-      q(Vietnam),
-      q(Socialist Republic of Vietnam),
-      ],
-   q(0242) => [
-      q(Virgin Islands, British),
-      q(British Virgin Islands),
-      q(Virgin Islands (UK)),
-      ],
-   q(0243) => [
-      q(Virgin Islands, U.S.),
-      q(United States Virgin Islands),
-      q(Virgin Islands),
-      q(Virgin Islands of the United States),
-      q(Virgin Islands (US)),
-      ],
-   q(0244) => [
-      q(Wallis and Futuna),
-      q(Wallis and Futuna Islands),
-      q(Territory of the Wallis and Futuna Islands),
-      ],
-   q(0245) => [
-      q(Western Sahara),
-      ],
-   q(0246) => [
-      q(Yemen),
-      q(Republic of Yemen),
-      ],
-   q(0247) => [
-      q(Zambia),
-      q(Republic of Zambia),
-      ],
-   q(0248) => [
-      q(Zimbabwe),
-      q(Republic of Zimbabwe),
-      ],
-   q(0249) => [
-      q(Channel Islands),
-      ],
-   q(0250) => [
-      q(Serbia and Montenegro),
-      ],
-   q(0251) => [
-      q(Ashmore and Cartier Islands),
-      q(Territory of Ashmore and Cartier Islands),
-      ],
-   q(0252) => [
-      q(Baker Island),
-      ],
-   q(0253) => [
-      q(Bassas da India),
-      ],
-   q(0254) => [
-      q(Clipperton Island),
-      ],
-   q(0255) => [
-      q(Coral Sea Islands),
-      q(Coral Sea Islands Territory),
-      ],
-   q(0256) => [
-      q(Europa Island),
-      ],
-   q(0257) => [
-      q(Gaza Strip),
-      ],
-   q(0258) => [
-      q(Glorioso Islands),
-      ],
-   q(0259) => [
-      q(Howland Island),
-      ],
-   q(0260) => [
-      q(Jan Mayen),
-      ],
-   q(0261) => [
-      q(Jarvis Island),
-      ],
-   q(0262) => [
-      q(Johnston Atoll),
-      ],
-   q(0263) => [
-      q(Juan De Nova Island),
-      ],
-   q(0264) => [
-      q(Kingman Reef),
-      ],
-   q(0265) => [
-      q(Midway Islands),
-      ],
-   q(0266) => [
-      q(Navassa Island),
-      ],
-   q(0267) => [
-      q(Netherlands Antilles),
-      ],
-   q(0268) => [
-      q(Palmyra Atoll),
-      ],
-   q(0269) => [
-      q(Paracel Islands),
-      ],
-   q(0270) => [
-      q(Spratly Islands),
-      ],
-   q(0271) => [
-      q(Svalbard),
-      ],
-   q(0272) => [
-      q(Tromelin Island),
-      ],
-   q(0273) => [
-      q(Wake Atoll),
-      q(Wake Island),
-      ],
-   q(0274) => [
-      q(West Bank),
-      ],
-   q(0275) => [
-      q(Ascension Island),
-      ],
-   q(0276) => [
-      q(European Union),
-      ],
-   q(0277) => [
-      q(Soviet Union),
-      ],
-   q(0278) => [
-      q(Portuguese Timor),
-      ],
-   q(0279) => [
-      q(France, Metropolitan),
-      ],
-   q(0280) => [
-      q(Kosovo),
-      ],
-};
+sub add_country_code_alias {
+   return Locale::Codes::_add_code_alias('country', at _);
+}
 
-$Locale::Codes::Data{'country'}{'alias2id'} = {
-   q(afghanistan) => [
-      q(0001),
-      q(0),
-      ],
-   q(aland islands) => [
-      q(0002),
-      q(0),
-      ],
-   q(albania) => [
-      q(0003),
-      q(0),
-      ],
-   q(algeria) => [
-      q(0004),
-      q(0),
-      ],
-   q(american samoa) => [
-      q(0005),
-      q(0),
-      ],
-   q(andorra) => [
-      q(0006),
-      q(0),
-      ],
-   q(angola) => [
-      q(0007),
-      q(0),
-      ],
-   q(anguilla) => [
-      q(0008),
-      q(0),
-      ],
-   q(antarctica) => [
-      q(0009),
-      q(0),
-      ],
-   q(antigua and barbuda) => [
-      q(0010),
-      q(0),
-      ],
-   q(arab republic of egypt) => [
-      q(0066),
-      q(1),
-      ],
-   q(argentina) => [
-      q(0011),
-      q(0),
-      ],
-   q(argentine republic) => [
-      q(0011),
-      q(1),
-      ],
-   q(armenia) => [
-      q(0012),
-      q(0),
-      ],
-   q(aruba) => [
-      q(0013),
-      q(0),
-      ],
-   q(ascension island) => [
-      q(0275),
-      q(0),
-      ],
-   q(ashmore and cartier islands) => [
-      q(0251),
-      q(0),
-      ],
-   q(australia) => [
-      q(0014),
-      q(0),
-      ],
-   q(austria) => [
-      q(0015),
-      q(0),
-      ],
-   q(azerbaijan) => [
-      q(0016),
-      q(0),
-      ],
-   q(bahamas) => [
-      q(0017),
-      q(0),
-      ],
-   q(bahamas, the) => [
-      q(0017),
-      q(1),
-      ],
-   q(bahrain) => [
-      q(0018),
-      q(0),
-      ],
-   q(bailiwick of guernsey) => [
-      q(0092),
-      q(1),
-      ],
-   q(bailiwick of jersey) => [
-      q(0113),
-      q(1),
-      ],
-   q(baker island) => [
-      q(0252),
-      q(0),
-      ],
-   q(bangladesh) => [
-      q(0019),
-      q(0),
-      ],
-   q(barbados) => [
-      q(0020),
-      q(0),
-      ],
-   q(bassas da india) => [
-      q(0253),
-      q(0),
-      ],
-   q(belarus) => [
-      q(0021),
-      q(0),
-      ],
-   q(belgium) => [
-      q(0022),
-      q(0),
-      ],
-   q(belize) => [
-      q(0023),
-      q(0),
-      ],
-   q(benin) => [
-      q(0024),
-      q(0),
-      ],
-   q(bermuda) => [
-      q(0025),
-      q(0),
-      ],
-   q(bhutan) => [
-      q(0026),
-      q(0),
-      ],
-   q(bolivarian republic of venezuela) => [
-      q(0240),
-      q(3),
-      ],
-   q(bolivia) => [
-      q(0027),
-      q(2),
-      ],
-   q(bolivia (plurinational state of)) => [
-      q(0027),
-      q(1),
-      ],
-   q(bolivia, plurinational state of) => [
-      q(0027),
-      q(0),
-      ],
-   q(bonaire, saint eustatius and saba) => [
-      q(0028),
-      q(0),
-      ],
-   q(bosnia and herzegovina) => [
-      q(0029),
-      q(0),
-      ],
-   q(botswana) => [
-      q(0030),
-      q(0),
-      ],
-   q(bouvet island) => [
-      q(0031),
-      q(0),
-      ],
-   q(brazil) => [
-      q(0032),
-      q(0),
-      ],
-   q(british indian ocean territory) => [
-      q(0033),
-      q(0),
-      ],
-   q(british virgin islands) => [
-      q(0242),
-      q(1),
-      ],
-   q(brunei) => [
-      q(0034),
-      q(1),
-      ],
-   q(brunei darussalam) => [
-      q(0034),
-      q(0),
-      ],
-   q(bulgaria) => [
-      q(0035),
-      q(0),
-      ],
-   q(burkina faso) => [
-      q(0036),
-      q(0),
-      ],
-   q(burma) => [
-      q(0153),
-      q(1),
-      ],
-   q(burundi) => [
-      q(0037),
-      q(0),
-      ],
-   q(cambodia) => [
-      q(0038),
-      q(0),
-      ],
-   q(cameroon) => [
-      q(0039),
-      q(0),
-      ],
-   q(canada) => [
-      q(0040),
-      q(0),
-      ],
-   q(cape verde) => [
-      q(0041),
-      q(0),
-      ],
-   q(cayman islands) => [
-      q(0042),
-      q(0),
-      ],
-   q(central african republic) => [
-      q(0043),
-      q(0),
-      ],
-   q(chad) => [
-      q(0044),
-      q(0),
-      ],
-   q(channel islands) => [
-      q(0249),
-      q(0),
-      ],
-   q(chile) => [
-      q(0045),
-      q(0),
-      ],
-   q(china) => [
-      q(0046),
-      q(0),
-      ],
-   q(china, hong kong special administrative region) => [
-      q(0100),
-      q(1),
-      ],
-   q(china, macao special administrative region) => [
-      q(0131),
-      q(1),
-      ],
-   q(christmas island) => [
-      q(0047),
-      q(0),
-      ],
-   q(clipperton island) => [
-      q(0254),
-      q(0),
-      ],
-   q(co-operative republic of guyana) => [
-      q(0095),
-      q(1),
-      ],
-   q(cocos (keeling) islands) => [
-      q(0048),
-      q(0),
-      ],
-   q(cocos islands) => [
-      q(0048),
-      q(3),
-      ],
-   q(colombia) => [
-      q(0049),
-      q(0),
-      ],
-   q(commonwealth of australia) => [
-      q(0014),
-      q(1),
-      ],
-   q(commonwealth of dominica) => [
-      q(0063),
-      q(1),
-      ],
-   q(commonwealth of puerto rico) => [
-      q(0179),
-      q(1),
-      ],
-   q(commonwealth of the bahamas) => [
-      q(0017),
-      q(2),
-      ],
-   q(commonwealth of the northern mariana islands) => [
-      q(0165),
-      q(1),
-      ],
-   q(comoros) => [
-      q(0050),
-      q(0),
-      ],
-   q(congo) => [
-      q(0051),
-      q(0),
-      ],
-   q(congo (brazzaville)) => [
-      q(0051),
-      q(1),
-      ],
-   q(congo (kinshasa)) => [
-      q(0052),
-      q(2),
-      ],
-   q(congo, democratic republic of the) => [
-      q(0052),
-      q(3),
-      ],
-   q(congo, republic of the) => [
-      q(0051),
-      q(3),
-      ],
-   q(congo, the democratic republic of the) => [
-      q(0052),
-      q(0),
-      ],
-   q(cook islands) => [
-      q(0053),
-      q(0),
-      ],
-   q(coral sea islands) => [
-      q(0255),
-      q(0),
-      ],
-   q(coral sea islands territory) => [
-      q(0255),
-      q(1),
-      ],
-   q(costa rica) => [
-      q(0054),
-      q(0),
-      ],
-   q(cote d'ivoire) => [
-      q(0055),
-      q(0),
-      ],
-   q(croatia) => [
-      q(0056),
-      q(0),
-      ],
-   q(cuba) => [
-      q(0057),
-      q(0),
-      ],
-   q(curacao) => [
-      q(0058),
-      q(0),
-      ],
-   q(cyprus) => [
-      q(0059),
-      q(0),
-      ],
-   q(czech republic) => [
-      q(0060),
-      q(0),
-      ],
-   q(democratic people's republic of korea) => [
-      q(0118),
-      q(1),
-      ],
-   q(democratic republic of sao tome and principe) => [
-      q(0194),
-      q(1),
-      ],
-   q(democratic republic of the congo) => [
-      q(0052),
-      q(1),
-      ],
-   q(democratic socialist republic of sri lanka) => [
-      q(0209),
-      q(1),
-      ],
-   q(denmark) => [
-      q(0061),
-      q(0),
-      ],
-   q(department of guadeloupe) => [
-      q(0089),
-      q(1),
-      ],
-   q(department of guiana) => [
-      q(0077),
-      q(1),
-      ],
-   q(department of martinique) => [
-      q(0140),
-      q(1),
-      ],
-   q(department of reunion) => [
-      q(0181),
-      q(1),
-      ],
-   q(djibouti) => [
-      q(0062),
-      q(0),
-      ],
-   q(dominica) => [
-      q(0063),
-      q(0),
-      ],
-   q(dominican republic) => [
-      q(0064),
-      q(0),
-      ],
-   q(east timor) => [
-      q(0221),
-      q(1),
-      ],
-   q(ecuador) => [
-      q(0065),
-      q(0),
-      ],
-   q(egypt) => [
-      q(0066),
-      q(0),
-      ],
-   q(el salvador) => [
-      q(0067),
-      q(0),
-      ],
-   q(equatorial guinea) => [
-      q(0068),
-      q(0),
-      ],
-   q(eritrea) => [
-      q(0069),
-      q(0),
-      ],
-   q(estonia) => [
-      q(0070),
-      q(0),
-      ],
-   q(ethiopia) => [
-      q(0071),
-      q(0),
-      ],
-   q(europa island) => [
-      q(0256),
-      q(0),
-      ],
-   q(european union) => [
-      q(0276),
-      q(0),
-      ],
-   q(faeroe islands) => [
-      q(0073),
-      q(1),
-      ],
-   q(falkland islands (islas malvinas)) => [
-      q(0072),
-      q(1),
-      ],
-   q(falkland islands (malvinas)) => [
-      q(0072),
-      q(0),
-      ],
-   q(faroe islands) => [
-      q(0073),
-      q(0),
-      ],
-   q(federal democratic republic of ethiopia) => [
-      q(0071),
-      q(1),
-      ],
-   q(federal islamic republic of the comoros) => [
-      q(0050),
-      q(1),
-      ],
-   q(federal republic of germany) => [
-      q(0083),
-      q(1),
-      ],
-   q(federal republic of nigeria) => [
-      q(0162),
-      q(1),
-      ],
-   q(federated states of micronesia) => [
-      q(0145),
-      q(2),
-      ],
-   q(federation of saint kitts and nevis) => [
-      q(0187),
-      q(1),
-      ],
-   q(federative republic of brazil) => [
-      q(0032),
-      q(1),
-      ],
-   q(fiji) => [
-      q(0074),
-      q(0),
-      ],
-   q(finland) => [
-      q(0075),
-      q(0),
-      ],
-   q(france) => [
-      q(0076),
-      q(0),
-      ],
-   q(france, metropolitan) => [
-      q(0279),
-      q(0),
-      ],
-   q(french guiana) => [
-      q(0077),
-      q(0),
-      ],
-   q(french polynesia) => [
-      q(0078),
-      q(0),
-      ],
-   q(french republic) => [
-      q(0076),
-      q(1),
-      ],
-   q(french southern and antarctic lands) => [
-      q(0079),
-      q(1),
-      ],
-   q(french southern territories) => [
-      q(0079),
-      q(0),
-      ],
-   q(gabon) => [
-      q(0080),
-      q(0),
-      ],
-   q(gabonese republic) => [
-      q(0080),
-      q(1),
-      ],
-   q(gambia) => [
-      q(0081),
-      q(0),
-      ],
-   q(gambia, the) => [
-      q(0081),
-      q(1),
-      ],
-   q(gaza strip) => [
-      q(0257),
-      q(0),
-      ],
-   q(georgia) => [
-      q(0082),
-      q(0),
-      ],
-   q(germany) => [
-      q(0083),
-      q(0),
-      ],
-   q(ghana) => [
-      q(0084),
-      q(0),
-      ],
-   q(gibraltar) => [
-      q(0085),
-      q(0),
-      ],
-   q(glorioso islands) => [
-      q(0258),
-      q(0),
-      ],
-   q(golan heights (israeli-occupied)) => [
-      q(0216),
-      q(2),
-      ],
-   q(grand duchy of luxembourg) => [
-      q(0130),
-      q(1),
-      ],
-   q(great britain) => [
-      q(0234),
-      q(2),
-      ],
-   q(great socialist people's libyan arab jamahiriya) => [
-      q(0127),
-      q(2),
-      ],
-   q(greece) => [
-      q(0086),
-      q(0),
-      ],
-   q(greenland) => [
-      q(0087),
-      q(0),
-      ],
-   q(grenada) => [
-      q(0088),
-      q(0),
-      ],
-   q(guadeloupe) => [
-      q(0089),
-      q(0),
-      ],
-   q(guam) => [
-      q(0090),
-      q(0),
-      ],
-   q(guatemala) => [
-      q(0091),
-      q(0),
-      ],
-   q(guernsey) => [
-      q(0092),
-      q(0),
-      ],
-   q(guinea) => [
-      q(0093),
-      q(0),
-      ],
-   q(guinea-bissau) => [
-      q(0094),
-      q(0),
-      ],
-   q(guyana) => [
-      q(0095),
-      q(0),
-      ],
-   q(haiti) => [
-      q(0096),
-      q(0),
-      ],
-   q(hashemite kingdom of jordan) => [
-      q(0114),
-      q(1),
-      ],
-   q(heard island and mcdonald islands) => [
-      q(0097),
-      q(0),
-      ],
-   q(hellenic republic) => [
-      q(0086),
-      q(1),
-      ],
-   q(holy see) => [
-      q(0098),
-      q(1),
-      ],
-   q(holy see (vatican city state)) => [
-      q(0098),
-      q(0),
-      ],
-   q(holy see (vatican city)) => [
-      q(0098),
-      q(4),
-      ],
-   q(honduras) => [
-      q(0099),
-      q(0),
-      ],
-   q(hong kong) => [
-      q(0100),
-      q(0),
-      ],
-   q(hong kong s.a.r.) => [
-      q(0100),
-      q(2),
-      ],
-   q(hong kong special administrative region) => [
-      q(0100),
-      q(3),
-      ],
-   q(hong kong special administrative region of china) => [
-      q(0100),
-      q(4),
-      ],
-   q(howland island) => [
-      q(0259),
-      q(0),
-      ],
-   q(hungary) => [
-      q(0101),
-      q(0),
-      ],
-   q(iceland) => [
-      q(0102),
-      q(0),
-      ],
-   q(independent state of papua new guinea) => [
-      q(0172),
-      q(1),
-      ],
-   q(independent state of samoa) => [
-      q(0192),
-      q(1),
-      ],
-   q(india) => [
-      q(0103),
-      q(0),
-      ],
-   q(indonesia) => [
-      q(0104),
-      q(0),
-      ],
-   q(iran) => [
-      q(0105),
-      q(2),
-      ],
-   q(iran (islamic republic of)) => [
-      q(0105),
-      q(1),
-      ],
-   q(iran, islamic republic of) => [
-      q(0105),
-      q(0),
-      ],
-   q(iraq) => [
-      q(0106),
-      q(0),
-      ],
-   q(ireland) => [
-      q(0107),
-      q(0),
-      ],
-   q(islamic republic of iran) => [
-      q(0105),
-      q(3),
-      ],
-   q(islamic republic of mauritania) => [
-      q(0141),
-      q(1),
-      ],
-   q(islamic republic of pakistan) => [
-      q(0168),
-      q(1),
-      ],
-   q(islamic state of afghanistan) => [
-      q(0001),
-      q(1),
-      ],
-   q(isle of man) => [
-      q(0108),
-      q(0),
-      ],
-   q(israel) => [
-      q(0109),
-      q(0),
-      ],
-   q(italian republic) => [
-      q(0110),
-      q(1),
-      ],
-   q(italy) => [
-      q(0110),
-      q(0),
-      ],
-   q(jamaica) => [
-      q(0111),
-      q(0),
-      ],
-   q(jan mayen) => [
-      q(0260),
-      q(0),
-      ],
-   q(japan) => [
-      q(0112),
-      q(0),
-      ],
-   q(jarvis island) => [
-      q(0261),
-      q(0),
-      ],
-   q(jersey) => [
-      q(0113),
-      q(0),
-      ],
-   q(johnston atoll) => [
-      q(0262),
-      q(0),
-      ],
-   q(jordan) => [
-      q(0114),
-      q(0),
-      ],
-   q(juan de nova island) => [
-      q(0263),
-      q(0),
-      ],
-   q(kazakhstan) => [
-      q(0115),
-      q(0),
-      ],
-   q(kazakstan) => [
-      q(0115),
-      q(2),
-      ],
-   q(keeling islands) => [
-      q(0048),
-      q(2),
-      ],
-   q(kenya) => [
-      q(0116),
-      q(0),
-      ],
-   q(kingdom of belgium) => [
-      q(0022),
-      q(1),
-      ],
-   q(kingdom of bhutan) => [
-      q(0026),
-      q(1),
-      ],
-   q(kingdom of cambodia) => [
-      q(0038),
-      q(1),
-      ],
-   q(kingdom of denmark) => [
-      q(0061),
-      q(1),
-      ],
-   q(kingdom of morocco) => [
-      q(0151),
-      q(1),
-      ],
-   q(kingdom of nepal) => [
-      q(0156),
-      q(1),
-      ],
-   q(kingdom of norway) => [
-      q(0166),
-      q(1),
-      ],
-   q(kingdom of saudi arabia) => [
-      q(0195),
-      q(1),
-      ],
-   q(kingdom of spain) => [
-      q(0208),
-      q(1),
-      ],
-   q(kingdom of swaziland) => [
-      q(0213),
-      q(1),
-      ],
-   q(kingdom of sweden) => [
-      q(0214),
-      q(1),
-      ],
-   q(kingdom of thailand) => [
-      q(0220),
-      q(1),
-      ],
-   q(kingdom of the netherlands) => [
-      q(0157),
-      q(1),
-      ],
-   q(kingdom of tonga) => [
-      q(0224),
-      q(1),
-      ],
-   q(kingman reef) => [
-      q(0264),
-      q(0),
-      ],
-   q(kiribati) => [
-      q(0117),
-      q(0),
-      ],
-   q(korea, democratic people's republic of) => [
-      q(0118),
-      q(0),
-      ],
-   q(korea, north) => [
-      q(0118),
-      q(2),
-      ],
-   q(korea, republic of) => [
-      q(0119),
-      q(0),
-      ],
-   q(korea, south) => [
-      q(0119),
-      q(2),
-      ],
-   q(kosovo) => [
-      q(0280),
-      q(0),
-      ],
-   q(kuwait) => [
-      q(0120),
-      q(0),
-      ],
-   q(kyrgyz republic) => [
-      q(0121),
-      q(1),
-      ],
-   q(kyrgyzstan) => [
-      q(0121),
-      q(0),
-      ],
-   q(lao people's democratic republic) => [
-      q(0122),
-      q(0),
-      ],
-   q(laos) => [
-      q(0122),
-      q(1),
-      ],
-   q(latvia) => [
-      q(0123),
-      q(0),
-      ],
-   q(lebanese republic) => [
-      q(0124),
-      q(1),
-      ],
-   q(lebanon) => [
-      q(0124),
-      q(0),
-      ],
-   q(lesotho) => [
-      q(0125),
-      q(0),
-      ],
-   q(liberia) => [
-      q(0126),
-      q(0),
-      ],
-   q(libya) => [
-      q(0127),
-      q(1),
-      ],
-   q(libyan arab jamahiriya) => [
-      q(0127),
-      q(0),
-      ],
-   q(liechtenstein) => [
-      q(0128),
-      q(0),
-      ],
-   q(lithuania) => [
-      q(0129),
-      q(0),
-      ],
-   q(luxembourg) => [
-      q(0130),
-      q(0),
-      ],
-   q(macao) => [
-      q(0131),
-      q(0),
-      ],
-   q(macao special administrative region of china) => [
-      q(0131),
-      q(6),
-      ],
-   q(macau) => [
-      q(0131),
-      q(4),
-      ],
-   q(macau s.a.r) => [
-      q(0131),
-      q(2),
-      ],
-   q(macau s.a.r.) => [
-      q(0131),
-      q(5),
-      ],
-   q(macau special administrative region) => [
-      q(0131),
-      q(3),
-      ],
-   q(macedonia) => [
-      q(0132),
-      q(2),
-      ],
-   q(macedonia, former yugoslav republic of) => [
-      q(0132),
-      q(4),
-      ],
-   q(macedonia, the former yugoslav republic of) => [
-      q(0132),
-      q(0),
-      ],
-   q(madagascar) => [
-      q(0133),
-      q(0),
-      ],
-   q(malawi) => [
-      q(0134),
-      q(0),
-      ],
-   q(malaysia) => [
-      q(0135),
-      q(0),
-      ],
-   q(maldives) => [
-      q(0136),
-      q(0),
-      ],
-   q(mali) => [
-      q(0137),
-      q(0),
-      ],
-   q(malta) => [
-      q(0138),
-      q(0),
-      ],
-   q(marshall islands) => [
-      q(0139),
-      q(0),
-      ],
-   q(martinique) => [
-      q(0140),
-      q(0),
-      ],
-   q(mauritania) => [
-      q(0141),
-      q(0),
-      ],
-   q(mauritius) => [
-      q(0142),
-      q(0),
-      ],
-   q(mayotte) => [
-      q(0143),
-      q(0),
-      ],
-   q(mexico) => [
-      q(0144),
-      q(0),
-      ],
-   q(micronesia (federated states of)) => [
-      q(0145),
-      q(1),
-      ],
-   q(micronesia, federated states of) => [
-      q(0145),
-      q(0),
-      ],
-   q(midway islands) => [
-      q(0265),
-      q(0),
-      ],
-   q(moldova) => [
-      q(0146),
-      q(2),
-      ],
-   q(moldova, republic of) => [
-      q(0146),
-      q(0),
-      ],
-   q(monaco) => [
-      q(0147),
-      q(0),
-      ],
-   q(mongolia) => [
-      q(0148),
-      q(0),
-      ],
-   q(montenegro) => [
-      q(0149),
-      q(0),
-      ],
-   q(montserrat) => [
-      q(0150),
-      q(0),
-      ],
-   q(morocco) => [
-      q(0151),
-      q(0),
-      ],
-   q(mozambique) => [
-      q(0152),
-      q(0),
-      ],
-   q(myanmar) => [
-      q(0153),
-      q(0),
-      ],
-   q(namibia) => [
-      q(0154),
-      q(0),
-      ],
-   q(nauru) => [
-      q(0155),
-      q(0),
-      ],
-   q(navassa island) => [
-      q(0266),
-      q(0),
-      ],
-   q(negara brunei darussalam) => [
-      q(0034),
-      q(2),
-      ],
-   q(nepal) => [
-      q(0156),
-      q(0),
-      ],
-   q(netherlands) => [
-      q(0157),
-      q(0),
-      ],
-   q(netherlands antilles) => [
-      q(0267),
-      q(0),
-      ],
-   q(new caledonia) => [
-      q(0158),
-      q(0),
-      ],
-   q(new zealand) => [
-      q(0159),
-      q(0),
-      ],
-   q(nicaragua) => [
-      q(0160),
-      q(0),
-      ],
-   q(niger) => [
-      q(0161),
-      q(0),
-      ],
-   q(nigeria) => [
-      q(0162),
-      q(0),
-      ],
-   q(niue) => [
-      q(0163),
-      q(0),
-      ],
-   q(norfolk island) => [
-      q(0164),
-      q(0),
-      ],
-   q(north korea) => [
-      q(0118),
-      q(3),
-      ],
-   q(northern mariana islands) => [
-      q(0165),
-      q(0),
-      ],
-   q(norway) => [
-      q(0166),
-      q(0),
-      ],
-   q(occupied palestinian territory) => [
-      q(0170),
-      q(1),
-      ],
-   q(oman) => [
-      q(0167),
-      q(0),
-      ],
-   q(oriental republic of uruguay) => [
-      q(0237),
-      q(1),
-      ],
-   q(pakistan) => [
-      q(0168),
-      q(0),
-      ],
-   q(palau) => [
-      q(0169),
-      q(0),
-      ],
-   q(palestinian territory, occupied) => [
-      q(0170),
-      q(0),
-      ],
-   q(palmyra atoll) => [
-      q(0268),
-      q(0),
-      ],
-   q(panama) => [
-      q(0171),
-      q(0),
-      ],
-   q(papua new guinea) => [
-      q(0172),
-      q(0),
-      ],
-   q(paracel islands) => [
-      q(0269),
-      q(0),
-      ],
-   q(paraguay) => [
-      q(0173),
-      q(0),
-      ],
-   q(people's democratic republic of algeria) => [
-      q(0004),
-      q(1),
-      ],
-   q(people's republic of bangladesh) => [
-      q(0019),
-      q(1),
-      ],
-   q(people's republic of china) => [
-      q(0046),
-      q(1),
-      ],
-   q(peru) => [
-      q(0174),
-      q(0),
-      ],
-   q(philippines) => [
-      q(0175),
-      q(0),
-      ],
-   q(pitcairn) => [
-      q(0176),
-      q(0),
-      ],
-   q(pitcairn island) => [
-      q(0176),
-      q(3),
-      ],
-   q(pitcairn islands) => [
-      q(0176),
-      q(1),
-      ],
-   q(pitcairn, henderson, ducie and oeno islands) => [
-      q(0176),
-      q(2),
-      ],
-   q(poland) => [
-      q(0177),
-      q(0),
-      ],
-   q(portugal) => [
-      q(0178),
-      q(0),
-      ],
-   q(portuguese republic) => [
-      q(0178),
-      q(1),
-      ],
-   q(portuguese timor) => [
-      q(0278),
-      q(0),
-      ],
-   q(principality of andorra) => [
-      q(0006),
-      q(1),
-      ],
-   q(principality of liechtenstein) => [
-      q(0128),
-      q(1),
-      ],
-   q(principality of monaco) => [
-      q(0147),
-      q(1),
-      ],
-   q(puerto rico) => [
-      q(0179),
-      q(0),
-      ],
-   q(qatar) => [
-      q(0180),
-      q(0),
-      ],
-   q(republic of albania) => [
-      q(0003),
-      q(1),
-      ],
-   q(republic of angola) => [
-      q(0007),
-      q(1),
-      ],
-   q(republic of armenia) => [
-      q(0012),
-      q(1),
-      ],
-   q(republic of austria) => [
-      q(0015),
-      q(1),
-      ],
-   q(republic of azerbaijan) => [
-      q(0016),
-      q(1),
-      ],
-   q(republic of belarus) => [
-      q(0021),
-      q(1),
-      ],
-   q(republic of benin) => [
-      q(0024),
-      q(1),
-      ],
-   q(republic of bolivia) => [
-      q(0027),
-      q(3),
-      ],
-   q(republic of botswana) => [
-      q(0030),
-      q(1),
-      ],
-   q(republic of burundi) => [
-      q(0037),
-      q(1),
-      ],
-   q(republic of cameroon) => [
-      q(0039),
-      q(1),
-      ],
-   q(republic of cape verde) => [
-      q(0041),
-      q(1),
-      ],
-   q(republic of chad) => [
-      q(0044),
-      q(1),
-      ],
-   q(republic of chile) => [
-      q(0045),
-      q(1),
-      ],
-   q(republic of colombia) => [
-      q(0049),
-      q(1),
-      ],
-   q(republic of costa rica) => [
-      q(0054),
-      q(1),
-      ],
-   q(republic of cote d'ivoire) => [
-      q(0055),
-      q(1),
-      ],
-   q(republic of croatia) => [
-      q(0056),
-      q(1),
-      ],
-   q(republic of cuba) => [
-      q(0057),
-      q(1),
-      ],
-   q(republic of cyprus) => [
-      q(0059),
-      q(1),
-      ],
-   q(republic of djibouti) => [
-      q(0062),
-      q(1),
-      ],
-   q(republic of ecuador) => [
-      q(0065),
-      q(1),
-      ],
-   q(republic of el salvador) => [
-      q(0067),
-      q(1),
-      ],
-   q(republic of equatorial guinea) => [
-      q(0068),
-      q(1),
-      ],
-   q(republic of estonia) => [
-      q(0070),
-      q(1),
-      ],
-   q(republic of finland) => [
-      q(0075),
-      q(1),
-      ],
-   q(republic of ghana) => [
-      q(0084),
-      q(1),
-      ],
-   q(republic of guatemala) => [
-      q(0091),
-      q(1),
-      ],
-   q(republic of guinea) => [
-      q(0093),
-      q(1),
-      ],
-   q(republic of guinea-bissau) => [
-      q(0094),
-      q(1),
-      ],
-   q(republic of haiti) => [
-      q(0096),
-      q(1),
-      ],
-   q(republic of honduras) => [
-      q(0099),
-      q(1),
-      ],
-   q(republic of hungary) => [
-      q(0101),
-      q(1),
-      ],
-   q(republic of iceland) => [
-      q(0102),
-      q(1),
-      ],
-   q(republic of india) => [
-      q(0103),
-      q(1),
-      ],
-   q(republic of indonesia) => [
-      q(0104),
-      q(1),
-      ],
-   q(republic of iraq) => [
-      q(0106),
-      q(1),
-      ],
-   q(republic of kazakhstan) => [
-      q(0115),
-      q(1),
-      ],
-   q(republic of kenya) => [
-      q(0116),
-      q(1),
-      ],
-   q(republic of kiribati) => [
-      q(0117),
-      q(1),
-      ],
-   q(republic of korea) => [
-      q(0119),
-      q(1),
-      ],
-   q(republic of latvia) => [
-      q(0123),
-      q(1),
-      ],
-   q(republic of lesotho) => [
-      q(0125),
-      q(1),
-      ],
-   q(republic of liberia) => [
-      q(0126),
-      q(1),
-      ],
-   q(republic of lithuania) => [
-      q(0129),
-      q(1),
-      ],
-   q(republic of macedonia) => [
-      q(0132),
-      q(3),
-      ],
-   q(republic of madagascar) => [
-      q(0133),
-      q(1),
-      ],
-   q(republic of malawi) => [
-      q(0134),
-      q(1),
-      ],
-   q(republic of maldives) => [
-      q(0136),
-      q(1),
-      ],
-   q(republic of mali) => [
-      q(0137),
-      q(1),
-      ],
-   q(republic of malta) => [
-      q(0138),
-      q(1),
-      ],
-   q(republic of mauritius) => [
-      q(0142),
-      q(1),
-      ],
-   q(republic of moldova) => [
-      q(0146),
-      q(1),
-      ],
-   q(republic of mozambique) => [
-      q(0152),
-      q(1),
-      ],
-   q(republic of namibia) => [
-      q(0154),
-      q(1),
-      ],
-   q(republic of nauru) => [
-      q(0155),
-      q(1),
-      ],
-   q(republic of nicaragua) => [
-      q(0160),
-      q(1),
-      ],
-   q(republic of niger) => [
-      q(0161),
-      q(1),
-      ],
-   q(republic of palau) => [
-      q(0169),
-      q(1),
-      ],
-   q(republic of panama) => [
-      q(0171),
-      q(1),
-      ],
-   q(republic of paraguay) => [
-      q(0173),
-      q(1),
-      ],
-   q(republic of peru) => [
-      q(0174),
-      q(1),
-      ],
-   q(republic of poland) => [
-      q(0177),
-      q(1),
-      ],
-   q(republic of san marino) => [
-      q(0193),
-      q(1),
-      ],
-   q(republic of senegal) => [
-      q(0196),
-      q(1),
-      ],
-   q(republic of seychelles) => [
-      q(0198),
-      q(1),
-      ],
-   q(republic of sierra leone) => [
-      q(0199),
-      q(1),
-      ],
-   q(republic of singapore) => [
-      q(0200),
-      q(1),
-      ],
-   q(republic of slovenia) => [
-      q(0203),
-      q(1),
-      ],
-   q(republic of south africa) => [
-      q(0206),
-      q(1),
-      ],
-   q(republic of suriname) => [
-      q(0211),
-      q(1),
-      ],
-   q(republic of tajikistan) => [
-      q(0218),
-      q(1),
-      ],
-   q(republic of the congo) => [
-      q(0051),
-      q(2),
-      ],
-   q(republic of the fiji islands) => [
-      q(0074),
-      q(1),
-      ],
-   q(republic of the gambia) => [
-      q(0081),
-      q(2),
-      ],
-   q(republic of the marshall islands) => [
-      q(0139),
-      q(1),
-      ],
-   q(republic of the philippines) => [
-      q(0175),
-      q(1),
-      ],
-   q(republic of the sudan) => [
-      q(0210),
-      q(1),
-      ],
-   q(republic of trinidad and tobago) => [
-      q(0225),
-      q(1),
-      ],
-   q(republic of tunisia) => [
-      q(0226),
-      q(1),
-      ],
-   q(republic of turkey) => [
-      q(0227),
-      q(1),
-      ],
-   q(republic of uzbekistan) => [
-      q(0238),
-      q(1),
-      ],
-   q(republic of vanuatu) => [
-      q(0239),
-      q(1),
-      ],
-   q(republic of yemen) => [
-      q(0246),
-      q(1),
-      ],
-   q(republic of zambia) => [
-      q(0247),
-      q(1),
-      ],
-   q(republic of zimbabwe) => [
-      q(0248),
-      q(1),
-      ],
-   q(reunion) => [
-      q(0181),
-      q(0),
-      ],
-   q(romania) => [
-      q(0182),
-      q(0),
-      ],
-   q(russia) => [
-      q(0183),
-      q(1),
-      ],
-   q(russian federation) => [
-      q(0183),
-      q(0),
-      ],
-   q(rwanda) => [
-      q(0184),
-      q(0),
-      ],
-   q(rwandese republic) => [
-      q(0184),
-      q(1),
-      ],
-   q(saint barthelemy) => [
-      q(0185),
-      q(0),
-      ],
-   q(saint helena) => [
-      q(0186),
-      q(1),
-      ],
-   q(saint helena, ascension and tristan da cunha) => [
-      q(0186),
-      q(0),
-      ],
-   q(saint kitts and nevis) => [
-      q(0187),
-      q(0),
-      ],
-   q(saint lucia) => [
-      q(0188),
-      q(0),
-      ],
-   q(saint martin) => [
-      q(0189),
-      q(2),
-      ],
-   q(saint martin (french part)) => [
-      q(0189),
-      q(0),
-      ],
-   q(saint pierre and miquelon) => [
-      q(0190),
-      q(0),
-      ],
-   q(saint vincent and the grenadines) => [
-      q(0191),
-      q(0),
-      ],
-   q(saint-barthelemy) => [
-      q(0185),
-      q(1),
-      ],
-   q(saint-martin) => [
-      q(0189),
-      q(3),
-      ],
-   q(saint-martin (french part)) => [
-      q(0189),
-      q(1),
-      ],
-   q(samoa) => [
-      q(0192),
-      q(0),
-      ],
-   q(san marino) => [
-      q(0193),
-      q(0),
-      ],
-   q(sao tome and principe) => [
-      q(0194),
-      q(0),
-      ],
-   q(saudi arabia) => [
-      q(0195),
-      q(0),
-      ],
-   q(senegal) => [
-      q(0196),
-      q(0),
-      ],
-   q(serbia) => [
-      q(0197),
-      q(0),
-      ],
-   q(serbia and montenegro) => [
-      q(0250),
-      q(0),
-      ],
-   q(seychelles) => [
-      q(0198),
-      q(0),
-      ],
-   q(sierra leone) => [
-      q(0199),
-      q(0),
-      ],
-   q(singapore) => [
-      q(0200),
-      q(0),
-      ],
-   q(sint maarten) => [
-      q(0201),
-      q(1),
-      ],
-   q(sint maarten (dutch part)) => [
-      q(0201),
-      q(0),
-      ],
-   q(slovak republic) => [
-      q(0202),
-      q(1),
-      ],
-   q(slovakia) => [
-      q(0202),
-      q(0),
-      ],
-   q(slovenia) => [
-      q(0203),
-      q(0),
-      ],
-   q(socialist republic of vietnam) => [
-      q(0241),
-      q(2),
-      ],
-   q(solomon islands) => [
-      q(0204),
-      q(0),
-      ],
-   q(somalia) => [
-      q(0205),
-      q(0),
-      ],
-   q(south africa) => [
-      q(0206),
-      q(0),
-      ],
-   q(south georgia and the islands) => [
-      q(0207),
-      q(1),
-      ],
-   q(south georgia and the south sandwich islands) => [
-      q(0207),
-      q(0),
-      ],
-   q(south korea) => [
-      q(0119),
-      q(3),
-      ],
-   q(soviet union) => [
-      q(0277),
-      q(0),
-      ],
-   q(spain) => [
-      q(0208),
-      q(0),
-      ],
-   q(spratly islands) => [
-      q(0270),
-      q(0),
-      ],
-   q(sri lanka) => [
-      q(0209),
-      q(0),
-      ],
-   q(state of bahrain) => [
-      q(0018),
-      q(1),
-      ],
-   q(state of eritrea) => [
-      q(0069),
-      q(1),
-      ],
-   q(state of israel) => [
-      q(0109),
-      q(1),
-      ],
-   q(state of kuwait) => [
-      q(0120),
-      q(1),
-      ],
-   q(state of qatar) => [
-      q(0180),
-      q(1),
-      ],
-   q(state of the vatican city) => [
-      q(0098),
-      q(3),
-      ],
-   q(sudan) => [
-      q(0210),
-      q(0),
-      ],
-   q(sultanate of oman) => [
-      q(0167),
-      q(1),
-      ],
-   q(suriname) => [
-      q(0211),
-      q(0),
-      ],
-   q(svalbard) => [
-      q(0271),
-      q(0),
-      ],
-   q(svalbard and jan mayen) => [
-      q(0212),
-      q(0),
-      ],
-   q(svalbard and jan mayen islands) => [
-      q(0212),
-      q(1),
-      ],
-   q(swaziland) => [
-      q(0213),
-      q(0),
-      ],
-   q(sweden) => [
-      q(0214),
-      q(0),
-      ],
-   q(swiss confederation) => [
-      q(0215),
-      q(1),
-      ],
-   q(switzerland) => [
-      q(0215),
-      q(0),
-      ],
-   q(syria) => [
-      q(0216),
-      q(1),
-      ],
-   q(syrian arab republic) => [
-      q(0216),
-      q(0),
-      ],
-   q(taiwan) => [
-      q(0217),
-      q(1),
-      ],
-   q(taiwan, province of china) => [
-      q(0217),
-      q(0),
-      ],
-   q(tajikistan) => [
-      q(0218),
-      q(0),
-      ],
-   q(tanzania) => [
-      q(0219),
-      q(2),
-      ],
-   q(tanzania, united republic of) => [
-      q(0219),
-      q(0),
-      ],
-   q(territorial collectivity of mayotte) => [
-      q(0143),
-      q(1),
-      ],
-   q(territorial collectivity of saint pierre and miquelon) => [
-      q(0190),
-      q(1),
-      ],
-   q(territory of american samoa) => [
-      q(0005),
-      q(1),
-      ],
-   q(territory of ashmore and cartier islands) => [
-      q(0251),
-      q(1),
-      ],
-   q(territory of christmas island) => [
-      q(0047),
-      q(1),
-      ],
-   q(territory of cocos (keeling) islands) => [
-      q(0048),
-      q(1),
-      ],
-   q(territory of french polynesia) => [
-      q(0078),
-      q(1),
-      ],
-   q(territory of guam) => [
-      q(0090),
-      q(1),
-      ],
-   q(territory of heard island and mcdonald islands) => [
-      q(0097),
-      q(1),
-      ],
-   q(territory of new caledonia and dependencies) => [
-      q(0158),
-      q(1),
-      ],
-   q(territory of norfolk island) => [
-      q(0164),
-      q(1),
-      ],
-   q(territory of the french southern and antarctic lands) => [
-      q(0079),
-      q(2),
-      ],
-   q(territory of the wallis and futuna islands) => [
-      q(0244),
-      q(2),
-      ],
-   q(thailand) => [
-      q(0220),
-      q(0),
-      ],
-   q(the bahamas) => [
-      q(0017),
-      q(3),
-      ],
-   q(the democratic republic of the congo) => [
-      q(0052),
-      q(4),
-      ],
-   q(the former yugoslav republic of macedonia) => [
-      q(0132),
-      q(1),
-      ],
-   q(the republic of the congo) => [
-      q(0051),
-      q(4),
-      ],
-   q(timor-leste) => [
-      q(0221),
-      q(0),
-      ],
-   q(togo) => [
-      q(0222),
-      q(0),
-      ],
-   q(togolese republic) => [
-      q(0222),
-      q(1),
-      ],
-   q(tokelau) => [
-      q(0223),
-      q(0),
-      ],
-   q(tonga) => [
-      q(0224),
-      q(0),
-      ],
-   q(trinidad and tobago) => [
-      q(0225),
-      q(0),
-      ],
-   q(tromelin island) => [
-      q(0272),
-      q(0),
-      ],
-   q(tunisia) => [
-      q(0226),
-      q(0),
-      ],
-   q(turkey) => [
-      q(0227),
-      q(0),
-      ],
-   q(turkmenistan) => [
-      q(0228),
-      q(0),
-      ],
-   q(turks and caicos islands) => [
-      q(0229),
-      q(0),
-      ],
-   q(tuvalu) => [
-      q(0230),
-      q(0),
-      ],
-   q(uganda) => [
-      q(0231),
-      q(0),
-      ],
-   q(uk) => [
-      q(0234),
-      q(3),
-      ],
-   q(ukraine) => [
-      q(0232),
-      q(0),
-      ],
-   q(union of burma) => [
-      q(0153),
-      q(2),
-      ],
-   q(united arab emirates) => [
-      q(0233),
-      q(0),
-      ],
-   q(united kingdom) => [
-      q(0234),
-      q(0),
-      ],
-   q(united kingdom of great britain and northern ireland) => [
-      q(0234),
-      q(1),
-      ],
-   q(united mexican states) => [
-      q(0144),
-      q(1),
-      ],
-   q(united republic of tanzania) => [
-      q(0219),
-      q(1),
-      ],
-   q(united states) => [
-      q(0235),
-      q(0),
-      ],
-   q(united states minor outlying islands) => [
-      q(0236),
-      q(0),
-      ],
-   q(united states of america) => [
-      q(0235),
-      q(1),
-      ],
-   q(united states virgin islands) => [
-      q(0243),
-      q(1),
-      ],
-   q(uruguay) => [
-      q(0237),
-      q(0),
-      ],
-   q(us) => [
-      q(0235),
-      q(2),
-      ],
-   q(usa) => [
-      q(0235),
-      q(3),
-      ],
-   q(uzbekistan) => [
-      q(0238),
-      q(0),
-      ],
-   q(vanuatu) => [
-      q(0239),
-      q(0),
-      ],
-   q(vatican city) => [
-      q(0098),
-      q(2),
-      ],
-   q(venezuela) => [
-      q(0240),
-      q(2),
-      ],
-   q(venezuela (bolivarian republic of)) => [
-      q(0240),
-      q(1),
-      ],
-   q(venezuela, bolivarian republic of) => [
-      q(0240),
-      q(0),
-      ],
-   q(viet nam) => [
-      q(0241),
-      q(0),
-      ],
-   q(vietnam) => [
-      q(0241),
-      q(1),
-      ],
-   q(virgin islands) => [
-      q(0243),
-      q(2),
-      ],
-   q(virgin islands (uk)) => [
-      q(0242),
-      q(2),
-      ],
-   q(virgin islands (us)) => [
-      q(0243),
-      q(4),
-      ],
-   q(virgin islands of the united states) => [
-      q(0243),
-      q(3),
-      ],
-   q(virgin islands, british) => [
-      q(0242),
-      q(0),
-      ],
-   q(virgin islands, u.s.) => [
-      q(0243),
-      q(0),
-      ],
-   q(wake atoll) => [
-      q(0273),
-      q(0),
-      ],
-   q(wake island) => [
-      q(0273),
-      q(1),
-      ],
-   q(wallis and futuna) => [
-      q(0244),
-      q(0),
-      ],
-   q(wallis and futuna islands) => [
-      q(0244),
-      q(1),
-      ],
-   q(west bank) => [
-      q(0274),
-      q(0),
-      ],
-   q(western sahara) => [
-      q(0245),
-      q(0),
-      ],
-   q(yemen) => [
-      q(0246),
-      q(0),
-      ],
-   q(zambia) => [
-      q(0247),
-      q(0),
-      ],
-   q(zimbabwe) => [
-      q(0248),
-      q(0),
-      ],
-};
+sub delete_country_code_alias {
+   return Locale::Codes::_delete_code_alias('country', at _);
+}
 
-$Locale::Codes::Data{'country'}{'code2id'} = {
-   q(alpha2) => {
-      q(ad) => [
-         q(0006),
-         q(0),
-         ],
-      q(ae) => [
-         q(0233),
-         q(0),
-         ],
-      q(af) => [
-         q(0001),
-         q(0),
-         ],
-      q(ag) => [
-         q(0010),
-         q(0),
-         ],
-      q(ai) => [
-         q(0008),
-         q(0),
-         ],
-      q(al) => [
-         q(0003),
-         q(0),
-         ],
-      q(am) => [
-         q(0012),
-         q(0),
-         ],
-      q(an) => [
-         q(0267),
-         q(0),
-         ],
-      q(ao) => [
-         q(0007),
-         q(0),
-         ],
-      q(aq) => [
-         q(0009),
-         q(0),
-         ],
-      q(ar) => [
-         q(0011),
-         q(0),
-         ],
-      q(as) => [
-         q(0005),
-         q(0),
-         ],
-      q(at) => [
-         q(0015),
-         q(0),
-         ],
-      q(au) => [
-         q(0014),
-         q(0),
-         ],
-      q(aw) => [
-         q(0013),
-         q(0),
-         ],
-      q(ax) => [
-         q(0002),
-         q(0),
-         ],
-      q(az) => [
-         q(0016),
-         q(0),
-         ],
-      q(ba) => [
-         q(0029),
-         q(0),
-         ],
-      q(bb) => [
-         q(0020),
-         q(0),
-         ],
-      q(bd) => [
-         q(0019),
-         q(0),
-         ],
-      q(be) => [
-         q(0022),
-         q(0),
-         ],
-      q(bf) => [
-         q(0036),
-         q(0),
-         ],
-      q(bg) => [
-         q(0035),
-         q(0),
-         ],
-      q(bh) => [
-         q(0018),
-         q(0),
-         ],
-      q(bi) => [
-         q(0037),
-         q(0),
-         ],
-      q(bj) => [
-         q(0024),
-         q(0),
-         ],
-      q(bl) => [
-         q(0185),
-         q(0),
-         ],
-      q(bm) => [
-         q(0025),
-         q(0),
-         ],
-      q(bn) => [
-         q(0034),
-         q(0),
-         ],
-      q(bo) => [
-         q(0027),
-         q(0),
-         ],
-      q(bq) => [
-         q(0028),
-         q(0),
-         ],
-      q(br) => [
-         q(0032),
-         q(0),
-         ],
-      q(bs) => [
-         q(0017),
-         q(0),
-         ],
-      q(bt) => [
-         q(0026),
-         q(0),
-         ],
-      q(bv) => [
-         q(0031),
-         q(0),
-         ],
-      q(bw) => [
-         q(0030),
-         q(0),
-         ],
-      q(by) => [
-         q(0021),
-         q(0),
-         ],
-      q(bz) => [
-         q(0023),
-         q(0),
-         ],
-      q(ca) => [
-         q(0040),
-         q(0),
-         ],
-      q(cc) => [
-         q(0048),
-         q(0),
-         ],
-      q(cd) => [
-         q(0052),
-         q(0),
-         ],
-      q(cf) => [
-         q(0043),
-         q(0),
-         ],
-      q(cg) => [
-         q(0051),
-         q(0),
-         ],
-      q(ch) => [
-         q(0215),
-         q(0),
-         ],
-      q(ci) => [
-         q(0055),
-         q(0),
-         ],
-      q(ck) => [
-         q(0053),
-         q(0),
-         ],
-      q(cl) => [
-         q(0045),
-         q(0),
-         ],
-      q(cm) => [
-         q(0039),
-         q(0),
-         ],
-      q(cn) => [
-         q(0046),
-         q(0),
-         ],
-      q(co) => [
-         q(0049),
-         q(0),
-         ],
-      q(cr) => [
-         q(0054),
-         q(0),
-         ],
-      q(cu) => [
-         q(0057),
-         q(0),
-         ],
-      q(cv) => [
-         q(0041),
-         q(0),
-         ],
-      q(cw) => [
-         q(0058),
-         q(0),
-         ],
-      q(cx) => [
-         q(0047),
-         q(0),
-         ],
-      q(cy) => [
-         q(0059),
-         q(0),
-         ],
-      q(cz) => [
-         q(0060),
-         q(0),
-         ],
-      q(de) => [
-         q(0083),
-         q(0),
-         ],
-      q(dj) => [
-         q(0062),
-         q(0),
-         ],
-      q(dk) => [
-         q(0061),
-         q(0),
-         ],
-      q(dm) => [
-         q(0063),
-         q(0),
-         ],
-      q(do) => [
-         q(0064),
-         q(0),
-         ],
-      q(dz) => [
-         q(0004),
-         q(0),
-         ],
-      q(ec) => [
-         q(0065),
-         q(0),
-         ],
-      q(ee) => [
-         q(0070),
-         q(0),
-         ],
-      q(eg) => [
-         q(0066),
-         q(0),
-         ],
-      q(eh) => [
-         q(0245),
-         q(0),
-         ],
-      q(er) => [
-         q(0069),
-         q(0),
-         ],
-      q(es) => [
-         q(0208),
-         q(0),
-         ],
-      q(et) => [
-         q(0071),
-         q(0),
-         ],
-      q(fi) => [
-         q(0075),
-         q(0),
-         ],
-      q(fj) => [
-         q(0074),
-         q(0),
-         ],
-      q(fk) => [
-         q(0072),
-         q(0),
-         ],
-      q(fm) => [
-         q(0145),
-         q(0),
-         ],
-      q(fo) => [
-         q(0073),
-         q(0),
-         ],
-      q(fr) => [
-         q(0076),
-         q(0),
-         ],
-      q(fx) => [
-         q(0279),
-         q(0),
-         ],
-      q(ga) => [
-         q(0080),
-         q(0),
-         ],
-      q(gb) => [
-         q(0234),
-         q(0),
-         ],
-      q(gd) => [
-         q(0088),
-         q(0),
-         ],
-      q(ge) => [
-         q(0082),
-         q(0),
-         ],
-      q(gf) => [
-         q(0077),
-         q(0),
-         ],
-      q(gg) => [
-         q(0092),
-         q(0),
-         ],
-      q(gh) => [
-         q(0084),
-         q(0),
-         ],
-      q(gi) => [
-         q(0085),
-         q(0),
-         ],
-      q(gl) => [
-         q(0087),
-         q(0),
-         ],
-      q(gm) => [
-         q(0081),
-         q(0),
-         ],
-      q(gn) => [
-         q(0093),
-         q(0),
-         ],
-      q(gp) => [
-         q(0089),
-         q(0),
-         ],
-      q(gq) => [
-         q(0068),
-         q(0),
-         ],
-      q(gr) => [
-         q(0086),
-         q(0),
-         ],
-      q(gs) => [
-         q(0207),
-         q(0),
-         ],
-      q(gt) => [
-         q(0091),
-         q(0),
-         ],
-      q(gu) => [
-         q(0090),
-         q(0),
-         ],
-      q(gw) => [
-         q(0094),
-         q(0),
-         ],
-      q(gy) => [
-         q(0095),
-         q(0),
-         ],
-      q(hk) => [
-         q(0100),
-         q(0),
-         ],
-      q(hm) => [
-         q(0097),
-         q(0),
-         ],
-      q(hn) => [
-         q(0099),
-         q(0),
-         ],
-      q(hr) => [
-         q(0056),
-         q(0),
-         ],
-      q(ht) => [
-         q(0096),
-         q(0),
-         ],
-      q(hu) => [
-         q(0101),
-         q(0),
-         ],
-      q(id) => [
-         q(0104),
-         q(0),
-         ],
-      q(ie) => [
-         q(0107),
-         q(0),
-         ],
-      q(il) => [
-         q(0109),
-         q(0),
-         ],
-      q(im) => [
-         q(0108),
-         q(0),
-         ],
-      q(in) => [
-         q(0103),
-         q(0),
-         ],
-      q(io) => [
-         q(0033),
-         q(0),
-         ],
-      q(iq) => [
-         q(0106),
-         q(0),
-         ],
-      q(ir) => [
-         q(0105),
-         q(0),
-         ],
-      q(is) => [
-         q(0102),
-         q(0),
-         ],
-      q(it) => [
-         q(0110),
-         q(0),
-         ],
-      q(je) => [
-         q(0113),
-         q(0),
-         ],
-      q(jm) => [
-         q(0111),
-         q(0),
-         ],
-      q(jo) => [
-         q(0114),
-         q(0),
-         ],
-      q(jp) => [
-         q(0112),
-         q(0),
-         ],
-      q(ke) => [
-         q(0116),
-         q(0),
-         ],
-      q(kg) => [
-         q(0121),
-         q(0),
-         ],
-      q(kh) => [
-         q(0038),
-         q(0),
-         ],
-      q(ki) => [
-         q(0117),
-         q(0),
-         ],
-      q(km) => [
-         q(0050),
-         q(0),
-         ],
-      q(kn) => [
-         q(0187),
-         q(0),
-         ],
-      q(kp) => [
-         q(0118),
-         q(0),
-         ],
-      q(kr) => [
-         q(0119),
-         q(0),
-         ],
-      q(kw) => [
-         q(0120),
-         q(0),
-         ],
-      q(ky) => [
-         q(0042),
-         q(0),
-         ],
-      q(kz) => [
-         q(0115),
-         q(0),
-         ],
-      q(la) => [
-         q(0122),
-         q(0),
-         ],
-      q(lb) => [
-         q(0124),
-         q(0),
-         ],
-      q(lc) => [
-         q(0188),
-         q(0),
-         ],
-      q(li) => [
-         q(0128),
-         q(0),
-         ],
-      q(lk) => [
-         q(0209),
-         q(0),
-         ],
-      q(lr) => [
-         q(0126),
-         q(0),
-         ],
-      q(ls) => [
-         q(0125),
-         q(0),
-         ],
-      q(lt) => [
-         q(0129),
-         q(0),
-         ],
-      q(lu) => [
-         q(0130),
-         q(0),
-         ],
-      q(lv) => [
-         q(0123),
-         q(0),
-         ],
-      q(ly) => [
-         q(0127),
-         q(0),
-         ],
-      q(ma) => [
-         q(0151),
-         q(0),
-         ],
-      q(mc) => [
-         q(0147),
-         q(0),
-         ],
-      q(md) => [
-         q(0146),
-         q(0),
-         ],
-      q(me) => [
-         q(0149),
-         q(0),
-         ],
-      q(mf) => [
-         q(0189),
-         q(0),
-         ],
-      q(mg) => [
-         q(0133),
-         q(0),
-         ],
-      q(mh) => [
-         q(0139),
-         q(0),
-         ],
-      q(mk) => [
-         q(0132),
-         q(0),
-         ],
-      q(ml) => [
-         q(0137),
-         q(0),
-         ],
-      q(mm) => [
-         q(0153),
-         q(0),
-         ],
-      q(mn) => [
-         q(0148),
-         q(0),
-         ],
-      q(mo) => [
-         q(0131),
-         q(0),
-         ],
-      q(mp) => [
-         q(0165),
-         q(0),
-         ],
-      q(mq) => [
-         q(0140),
-         q(0),
-         ],
-      q(mr) => [
-         q(0141),
-         q(0),
-         ],
-      q(ms) => [
-         q(0150),
-         q(0),
-         ],
-      q(mt) => [
-         q(0138),
-         q(0),
-         ],
-      q(mu) => [
-         q(0142),
-         q(0),
-         ],
-      q(mv) => [
-         q(0136),
-         q(0),
-         ],
-      q(mw) => [
-         q(0134),
-         q(0),
-         ],
-      q(mx) => [
-         q(0144),
-         q(0),
-         ],
-      q(my) => [
-         q(0135),
-         q(0),
-         ],
-      q(mz) => [
-         q(0152),
-         q(0),
-         ],
-      q(na) => [
-         q(0154),
-         q(0),
-         ],
-      q(nc) => [
-         q(0158),
-         q(0),
-         ],
-      q(ne) => [
-         q(0161),
-         q(0),
-         ],
-      q(nf) => [
-         q(0164),
-         q(0),
-         ],
-      q(ng) => [
-         q(0162),
-         q(0),
-         ],
-      q(ni) => [
-         q(0160),
-         q(0),
-         ],
-      q(nl) => [
-         q(0157),
-         q(0),
-         ],
-      q(no) => [
-         q(0166),
-         q(0),
-         ],
-      q(np) => [
-         q(0156),
-         q(0),
-         ],
-      q(nr) => [
-         q(0155),
-         q(0),
-         ],
-      q(nu) => [
-         q(0163),
-         q(0),
-         ],
-      q(nz) => [
-         q(0159),
-         q(0),
-         ],
-      q(om) => [
-         q(0167),
-         q(0),
-         ],
-      q(pa) => [
-         q(0171),
-         q(0),
-         ],
-      q(pe) => [
-         q(0174),
-         q(0),
-         ],
-      q(pf) => [
-         q(0078),
-         q(0),
-         ],
-      q(pg) => [
-         q(0172),
-         q(0),
-         ],
-      q(ph) => [
-         q(0175),
-         q(0),
-         ],
-      q(pk) => [
-         q(0168),
-         q(0),
-         ],
-      q(pl) => [
-         q(0177),
-         q(0),
-         ],
-      q(pm) => [
-         q(0190),
-         q(0),
-         ],
-      q(pn) => [
-         q(0176),
-         q(0),
-         ],
-      q(pr) => [
-         q(0179),
-         q(0),
-         ],
-      q(ps) => [
-         q(0170),
-         q(0),
-         ],
-      q(pt) => [
-         q(0178),
-         q(0),
-         ],
-      q(pw) => [
-         q(0169),
-         q(0),
-         ],
-      q(py) => [
-         q(0173),
-         q(0),
-         ],
-      q(qa) => [
-         q(0180),
-         q(0),
-         ],
-      q(re) => [
-         q(0181),
-         q(0),
-         ],
-      q(ro) => [
-         q(0182),
-         q(0),
-         ],
-      q(rs) => [
-         q(0197),
-         q(0),
-         ],
-      q(ru) => [
-         q(0183),
-         q(0),
-         ],
-      q(rw) => [
-         q(0184),
-         q(0),
-         ],
-      q(sa) => [
-         q(0195),
-         q(0),
-         ],
-      q(sb) => [
-         q(0204),
-         q(0),
-         ],
-      q(sc) => [
-         q(0198),
-         q(0),
-         ],
-      q(sd) => [
-         q(0210),
-         q(0),
-         ],
-      q(se) => [
-         q(0214),
-         q(0),
-         ],
-      q(sg) => [
-         q(0200),
-         q(0),
-         ],
-      q(sh) => [
-         q(0186),
-         q(0),
-         ],
-      q(si) => [
-         q(0203),
-         q(0),
-         ],
-      q(sj) => [
-         q(0212),
-         q(0),
-         ],
-      q(sk) => [
-         q(0202),
-         q(0),
-         ],
-      q(sl) => [
-         q(0199),
-         q(0),
-         ],
-      q(sm) => [
-         q(0193),
-         q(0),
-         ],
-      q(sn) => [
-         q(0196),
-         q(0),
-         ],
-      q(so) => [
-         q(0205),
-         q(0),
-         ],
-      q(sr) => [
-         q(0211),
-         q(0),
-         ],
-      q(st) => [
-         q(0194),
-         q(0),
-         ],
-      q(sv) => [
-         q(0067),
-         q(0),
-         ],
-      q(sx) => [
-         q(0201),
-         q(0),
-         ],
-      q(sy) => [
-         q(0216),
-         q(0),
-         ],
-      q(sz) => [
-         q(0213),
-         q(0),
-         ],
-      q(tc) => [
-         q(0229),
-         q(0),
-         ],
-      q(td) => [
-         q(0044),
-         q(0),
-         ],
-      q(tf) => [
-         q(0079),
-         q(0),
-         ],
-      q(tg) => [
-         q(0222),
-         q(0),
-         ],
-      q(th) => [
-         q(0220),
-         q(0),
-         ],
-      q(tj) => [
-         q(0218),
-         q(0),
-         ],
-      q(tk) => [
-         q(0223),
-         q(0),
-         ],
-      q(tl) => [
-         q(0221),
-         q(0),
-         ],
-      q(tm) => [
-         q(0228),
-         q(0),
-         ],
-      q(tn) => [
-         q(0226),
-         q(0),
-         ],
-      q(to) => [
-         q(0224),
-         q(0),
-         ],
-      q(tr) => [
-         q(0227),
-         q(0),
-         ],
-      q(tt) => [
-         q(0225),
-         q(0),
-         ],
-      q(tv) => [
-         q(0230),
-         q(0),
-         ],
-      q(tw) => [
-         q(0217),
-         q(0),
-         ],
-      q(tz) => [
-         q(0219),
-         q(0),
-         ],
-      q(ua) => [
-         q(0232),
-         q(0),
-         ],
-      q(ug) => [
-         q(0231),
-         q(0),
-         ],
-      q(um) => [
-         q(0236),
-         q(0),
-         ],
-      q(us) => [
-         q(0235),
-         q(0),
-         ],
-      q(uy) => [
-         q(0237),
-         q(0),
-         ],
-      q(uz) => [
-         q(0238),
-         q(0),
-         ],
-      q(va) => [
-         q(0098),
-         q(0),
-         ],
-      q(vc) => [
-         q(0191),
-         q(0),
-         ],
-      q(ve) => [
-         q(0240),
-         q(0),
-         ],
-      q(vg) => [
-         q(0242),
-         q(0),
-         ],
-      q(vi) => [
-         q(0243),
-         q(0),
-         ],
-      q(vn) => [
-         q(0241),
-         q(0),
-         ],
-      q(vu) => [
-         q(0239),
-         q(0),
-         ],
-      q(wf) => [
-         q(0244),
-         q(0),
-         ],
-      q(ws) => [
-         q(0192),
-         q(0),
-         ],
-      q(ye) => [
-         q(0246),
-         q(0),
-         ],
-      q(yt) => [
-         q(0143),
-         q(0),
-         ],
-      q(za) => [
-         q(0206),
-         q(0),
-         ],
-      q(zm) => [
-         q(0247),
-         q(0),
-         ],
-      q(zw) => [
-         q(0248),
-         q(0),
-         ],
-      },
-   q(alpha3) => {
-      q(abw) => [
-         q(0013),
-         q(0),
-         ],
-      q(afg) => [
-         q(0001),
-         q(0),
-         ],
-      q(ago) => [
-         q(0007),
-         q(0),
-         ],
-      q(aia) => [
-         q(0008),
-         q(0),
-         ],
-      q(ala) => [
-         q(0002),
-         q(0),
-         ],
-      q(alb) => [
-         q(0003),
-         q(0),
-         ],
-      q(and) => [
-         q(0006),
-         q(0),
-         ],
-      q(ant) => [
-         q(0267),
-         q(0),
-         ],
-      q(are) => [
-         q(0233),
-         q(0),
-         ],
-      q(arg) => [
-         q(0011),
-         q(0),
-         ],
-      q(arm) => [
-         q(0012),
-         q(0),
-         ],
-      q(asm) => [
-         q(0005),
-         q(0),
-         ],
-      q(ata) => [
-         q(0009),
-         q(0),
-         ],
-      q(atf) => [
-         q(0079),
-         q(1),
-         ],
-      q(atg) => [
-         q(0010),
-         q(0),
-         ],
-      q(aus) => [
-         q(0014),
-         q(0),
-         ],
-      q(aut) => [
-         q(0015),
-         q(0),
-         ],
-      q(aze) => [
-         q(0016),
-         q(0),
-         ],
-      q(bdi) => [
-         q(0037),
-         q(0),
-         ],
-      q(bel) => [
-         q(0022),
-         q(0),
-         ],
-      q(ben) => [
-         q(0024),
-         q(0),
-         ],
-      q(bes) => [
-         q(0028),
-         q(0),
-         ],
-      q(bfa) => [
-         q(0036),
-         q(0),
-         ],
-      q(bgd) => [
-         q(0019),
-         q(0),
-         ],
-      q(bgr) => [
-         q(0035),
-         q(0),
-         ],
-      q(bhr) => [
-         q(0018),
-         q(0),
-         ],
-      q(bhs) => [
-         q(0017),
-         q(0),
-         ],
-      q(bih) => [
-         q(0029),
-         q(0),
-         ],
-      q(blm) => [
-         q(0185),
-         q(1),
-         ],
-      q(blr) => [
-         q(0021),
-         q(0),
-         ],
-      q(blz) => [
-         q(0023),
-         q(0),
-         ],
-      q(bmu) => [
-         q(0025),
-         q(0),
-         ],
-      q(bol) => [
-         q(0027),
-         q(1),
-         ],
-      q(bra) => [
-         q(0032),
-         q(0),
-         ],
-      q(brb) => [
-         q(0020),
-         q(0),
-         ],
-      q(brn) => [
-         q(0034),
-         q(0),
-         ],
-      q(btn) => [
-         q(0026),
-         q(0),
-         ],
-      q(bvt) => [
-         q(0031),
-         q(0),
-         ],
-      q(bwa) => [
-         q(0030),
-         q(0),
-         ],
-      q(caf) => [
-         q(0043),
-         q(0),
-         ],
-      q(can) => [
-         q(0040),
-         q(0),
-         ],
-      q(cck) => [
-         q(0048),
-         q(0),
-         ],
-      q(che) => [
-         q(0215),
-         q(0),
-         ],
-      q(chl) => [
-         q(0045),
-         q(0),
-         ],
-      q(chn) => [
-         q(0046),
-         q(0),
-         ],
-      q(civ) => [
-         q(0055),
-         q(0),
-         ],
-      q(cmr) => [
-         q(0039),
-         q(0),
-         ],
-      q(cod) => [
-         q(0052),
-         q(1),
-         ],
-      q(cog) => [
-         q(0051),
-         q(0),
-         ],
-      q(cok) => [
-         q(0053),
-         q(0),
-         ],
-      q(col) => [
-         q(0049),
-         q(0),
-         ],
-      q(com) => [
-         q(0050),
-         q(0),
-         ],
-      q(cpv) => [
-         q(0041),
-         q(0),
-         ],
-      q(cri) => [
-         q(0054),
-         q(0),
-         ],
-      q(cub) => [
-         q(0057),
-         q(0),
-         ],
-      q(cuw) => [
-         q(0058),
-         q(0),
-         ],
-      q(cxr) => [
-         q(0047),
-         q(0),
-         ],
-      q(cym) => [
-         q(0042),
-         q(0),
-         ],
-      q(cyp) => [
-         q(0059),
-         q(0),
-         ],
-      q(cze) => [
-         q(0060),
-         q(0),
-         ],
-      q(deu) => [
-         q(0083),
-         q(0),
-         ],
-      q(dji) => [
-         q(0062),
-         q(0),
-         ],
-      q(dma) => [
-         q(0063),
-         q(0),
-         ],
-      q(dnk) => [
-         q(0061),
-         q(0),
-         ],
-      q(dom) => [
-         q(0064),
-         q(0),
-         ],
-      q(dza) => [
-         q(0004),
-         q(0),
-         ],
-      q(ecu) => [
-         q(0065),
-         q(0),
-         ],
-      q(egy) => [
-         q(0066),
-         q(0),
-         ],
-      q(eri) => [
-         q(0069),
-         q(0),
-         ],
-      q(esh) => [
-         q(0245),
-         q(0),
-         ],
-      q(esp) => [
-         q(0208),
-         q(0),
-         ],
-      q(est) => [
-         q(0070),
-         q(0),
-         ],
-      q(eth) => [
-         q(0071),
-         q(0),
-         ],
-      q(fin) => [
-         q(0075),
-         q(0),
-         ],
-      q(fji) => [
-         q(0074),
-         q(0),
-         ],
-      q(flk) => [
-         q(0072),
-         q(0),
-         ],
-      q(fra) => [
-         q(0076),
-         q(0),
-         ],
-      q(fro) => [
-         q(0073),
-         q(1),
-         ],
-      q(fsm) => [
-         q(0145),
-         q(1),
-         ],
-      q(fxx) => [
-         q(0279),
-         q(0),
-         ],
-      q(gab) => [
-         q(0080),
-         q(0),
-         ],
-      q(gbr) => [
-         q(0234),
-         q(1),
-         ],
-      q(geo) => [
-         q(0082),
-         q(0),
-         ],
-      q(ggy) => [
-         q(0092),
-         q(0),
-         ],
-      q(gha) => [
-         q(0084),
-         q(0),
-         ],
-      q(gib) => [
-         q(0085),
-         q(0),
-         ],
-      q(gin) => [
-         q(0093),
-         q(0),
-         ],
-      q(glp) => [
-         q(0089),
-         q(0),
-         ],
-      q(gmb) => [
-         q(0081),
-         q(0),
-         ],
-      q(gnb) => [
-         q(0094),
-         q(0),
-         ],
-      q(gnq) => [
-         q(0068),
-         q(0),
-         ],
-      q(grc) => [
-         q(0086),
-         q(0),
-         ],
-      q(grd) => [
-         q(0088),
-         q(0),
-         ],
-      q(grl) => [
-         q(0087),
-         q(0),
-         ],
-      q(gtm) => [
-         q(0091),
-         q(0),
-         ],
-      q(guf) => [
-         q(0077),
-         q(0),
-         ],
-      q(gum) => [
-         q(0090),
-         q(0),
-         ],
-      q(guy) => [
-         q(0095),
-         q(0),
-         ],
-      q(hkg) => [
-         q(0100),
-         q(1),
-         ],
-      q(hmd) => [
-         q(0097),
-         q(0),
-         ],
-      q(hnd) => [
-         q(0099),
-         q(0),
-         ],
-      q(hrv) => [
-         q(0056),
-         q(0),
-         ],
-      q(hti) => [
-         q(0096),
-         q(0),
-         ],
-      q(hun) => [
-         q(0101),
-         q(0),
-         ],
-      q(idn) => [
-         q(0104),
-         q(0),
-         ],
-      q(imn) => [
-         q(0108),
-         q(0),
-         ],
-      q(ind) => [
-         q(0103),
-         q(0),
-         ],
-      q(iot) => [
-         q(0033),
-         q(0),
-         ],
-      q(irl) => [
-         q(0107),
-         q(0),
-         ],
-      q(irn) => [
-         q(0105),
-         q(1),
-         ],
-      q(irq) => [
-         q(0106),
-         q(0),
-         ],
-      q(isl) => [
-         q(0102),
-         q(0),
-         ],
-      q(isr) => [
-         q(0109),
-         q(0),
-         ],
-      q(ita) => [
-         q(0110),
-         q(0),
-         ],
-      q(jam) => [
-         q(0111),
-         q(0),
-         ],
-      q(jey) => [
-         q(0113),
-         q(0),
-         ],
-      q(jor) => [
-         q(0114),
-         q(0),
-         ],
-      q(jpn) => [
-         q(0112),
-         q(0),
-         ],
-      q(kaz) => [
-         q(0115),
-         q(0),
-         ],
-      q(ken) => [
-         q(0116),
-         q(0),
-         ],
-      q(kgz) => [
-         q(0121),
-         q(0),
-         ],
-      q(khm) => [
-         q(0038),
-         q(0),
-         ],
-      q(kir) => [
-         q(0117),
-         q(0),
-         ],
-      q(kna) => [
-         q(0187),
-         q(0),
-         ],
-      q(kor) => [
-         q(0119),
-         q(1),
-         ],
-      q(kwt) => [
-         q(0120),
-         q(0),
-         ],
-      q(lao) => [
-         q(0122),
-         q(0),
-         ],
-      q(lbn) => [
-         q(0124),
-         q(0),
-         ],
-      q(lbr) => [
-         q(0126),
-         q(0),
-         ],
-      q(lby) => [
-         q(0127),
-         q(0),
-         ],
-      q(lca) => [
-         q(0188),
-         q(0),
-         ],
-      q(lie) => [
-         q(0128),
-         q(0),
-         ],
-      q(lka) => [
-         q(0209),
-         q(0),
-         ],
-      q(lso) => [
-         q(0125),
-         q(0),
-         ],
-      q(ltu) => [
-         q(0129),
-         q(0),
-         ],
-      q(lux) => [
-         q(0130),
-         q(0),
-         ],
-      q(lva) => [
-         q(0123),
-         q(0),
-         ],
-      q(mac) => [
-         q(0131),
-         q(1),
-         ],
-      q(maf) => [
-         q(0189),
-         q(1),
-         ],
-      q(mar) => [
-         q(0151),
-         q(0),
-         ],
-      q(mco) => [
-         q(0147),
-         q(0),
-         ],
-      q(mda) => [
-         q(0146),
-         q(1),
-         ],
-      q(mdg) => [
-         q(0133),
-         q(0),
-         ],
-      q(mdv) => [
-         q(0136),
-         q(0),
-         ],
-      q(mex) => [
-         q(0144),
-         q(0),
-         ],
-      q(mhl) => [
-         q(0139),
-         q(0),
-         ],
-      q(mkd) => [
-         q(0132),
-         q(1),
-         ],
-      q(mli) => [
-         q(0137),
-         q(0),
-         ],
-      q(mlt) => [
-         q(0138),
-         q(0),
-         ],
-      q(mmr) => [
-         q(0153),
-         q(0),
-         ],
-      q(mne) => [
-         q(0149),
-         q(0),
-         ],
-      q(mng) => [
-         q(0148),
-         q(0),
-         ],
-      q(mnp) => [
-         q(0165),
-         q(0),
-         ],
-      q(moz) => [
-         q(0152),
-         q(0),
-         ],
-      q(mrt) => [
-         q(0141),
-         q(0),
-         ],
-      q(msr) => [
-         q(0150),
-         q(0),
-         ],
-      q(mtq) => [
-         q(0140),
-         q(0),
-         ],
-      q(mus) => [
-         q(0142),
-         q(0),
-         ],
-      q(mwi) => [
-         q(0134),
-         q(0),
-         ],
-      q(mys) => [
-         q(0135),
-         q(0),
-         ],
-      q(myt) => [
-         q(0143),
-         q(0),
-         ],
-      q(nam) => [
-         q(0154),
-         q(0),
-         ],
-      q(ncl) => [
-         q(0158),
-         q(0),
-         ],
-      q(ner) => [
-         q(0161),
-         q(0),
-         ],
-      q(nfk) => [
-         q(0164),
-         q(0),
-         ],
-      q(nga) => [
-         q(0162),
-         q(0),
-         ],
-      q(nic) => [
-         q(0160),
-         q(0),
-         ],
-      q(niu) => [
-         q(0163),
-         q(0),
-         ],
-      q(nld) => [
-         q(0157),
-         q(0),
-         ],
-      q(nor) => [
-         q(0166),
-         q(0),
-         ],
-      q(npl) => [
-         q(0156),
-         q(0),
-         ],
-      q(nru) => [
-         q(0155),
-         q(0),
-         ],
-      q(nzl) => [
-         q(0159),
-         q(0),
-         ],
-      q(omn) => [
-         q(0167),
-         q(0),
-         ],
-      q(pak) => [
-         q(0168),
-         q(0),
-         ],
-      q(pan) => [
-         q(0171),
-         q(0),
-         ],
-      q(pcn) => [
-         q(0176),
-         q(0),
-         ],
-      q(per) => [
-         q(0174),
-         q(0),
-         ],
-      q(phl) => [
-         q(0175),
-         q(0),
-         ],
-      q(plw) => [
-         q(0169),
-         q(0),
-         ],
-      q(png) => [
-         q(0172),
-         q(0),
-         ],
-      q(pol) => [
-         q(0177),
-         q(0),
-         ],
-      q(pri) => [
-         q(0179),
-         q(0),
-         ],
-      q(prk) => [
-         q(0118),
-         q(1),
-         ],
-      q(prt) => [
-         q(0178),
-         q(0),
-         ],
-      q(pry) => [
-         q(0173),
-         q(0),
-         ],
-      q(pse) => [
-         q(0170),
-         q(1),
-         ],
-      q(pyf) => [
-         q(0078),
-         q(0),
-         ],
-      q(qat) => [
-         q(0180),
-         q(0),
-         ],
-      q(reu) => [
-         q(0181),
-         q(0),
-         ],
-      q(rou) => [
-         q(0182),
-         q(0),
-         ],
-      q(rus) => [
-         q(0183),
-         q(0),
-         ],
-      q(rwa) => [
-         q(0184),
-         q(0),
-         ],
-      q(sau) => [
-         q(0195),
-         q(0),
-         ],
-      q(sdn) => [
-         q(0210),
-         q(0),
-         ],
-      q(sen) => [
-         q(0196),
-         q(0),
-         ],
-      q(sgp) => [
-         q(0200),
-         q(0),
-         ],
-      q(shn) => [
-         q(0186),
-         q(1),
-         ],
-      q(sjm) => [
-         q(0212),
-         q(1),
-         ],
-      q(slb) => [
-         q(0204),
-         q(0),
-         ],
-      q(sle) => [
-         q(0199),
-         q(0),
-         ],
-      q(slv) => [
-         q(0067),
-         q(0),
-         ],
-      q(smr) => [
-         q(0193),
-         q(0),
-         ],
-      q(som) => [
-         q(0205),
-         q(0),
-         ],
-      q(spm) => [
-         q(0190),
-         q(0),
-         ],
-      q(srb) => [
-         q(0197),
-         q(0),
-         ],
-      q(stp) => [
-         q(0194),
-         q(0),
-         ],
-      q(sur) => [
-         q(0211),
-         q(0),
-         ],
-      q(svk) => [
-         q(0202),
-         q(0),
-         ],
-      q(svn) => [
-         q(0203),
-         q(0),
-         ],
-      q(swe) => [
-         q(0214),
-         q(0),
-         ],
-      q(swz) => [
-         q(0213),
-         q(0),
-         ],
-      q(sxm) => [
-         q(0201),
-         q(0),
-         ],
-      q(syc) => [
-         q(0198),
-         q(0),
-         ],
-      q(syr) => [
-         q(0216),
-         q(0),
-         ],
-      q(tca) => [
-         q(0229),
-         q(0),
-         ],
-      q(tcd) => [
-         q(0044),
-         q(0),
-         ],
-      q(tgo) => [
-         q(0222),
-         q(0),
-         ],
-      q(tha) => [
-         q(0220),
-         q(0),
-         ],
-      q(tjk) => [
-         q(0218),
-         q(0),
-         ],
-      q(tkl) => [
-         q(0223),
-         q(0),
-         ],
-      q(tkm) => [
-         q(0228),
-         q(0),
-         ],
-      q(tls) => [
-         q(0221),
-         q(0),
-         ],
-      q(ton) => [
-         q(0224),
-         q(0),
-         ],
-      q(tto) => [
-         q(0225),
-         q(0),
-         ],
-      q(tun) => [
-         q(0226),
-         q(0),
-         ],
-      q(tur) => [
-         q(0227),
-         q(0),
-         ],
-      q(tuv) => [
-         q(0230),
-         q(0),
-         ],
-      q(twn) => [
-         q(0217),
-         q(1),
-         ],
-      q(tza) => [
-         q(0219),
-         q(1),
-         ],
-      q(uga) => [
-         q(0231),
-         q(0),
-         ],
-      q(ukr) => [
-         q(0232),
-         q(0),
-         ],
-      q(umi) => [
-         q(0236),
-         q(0),
-         ],
-      q(ury) => [
-         q(0237),
-         q(0),
-         ],
-      q(usa) => [
-         q(0235),
-         q(1),
-         ],
-      q(uzb) => [
-         q(0238),
-         q(0),
-         ],
-      q(vat) => [
-         q(0098),
-         q(1),
-         ],
-      q(vct) => [
-         q(0191),
-         q(0),
-         ],
-      q(ven) => [
-         q(0240),
-         q(1),
-         ],
-      q(vgb) => [
-         q(0242),
-         q(1),
-         ],
-      q(vir) => [
-         q(0243),
-         q(1),
-         ],
-      q(vnm) => [
-         q(0241),
-         q(0),
-         ],
-      q(vut) => [
-         q(0239),
-         q(0),
-         ],
-      q(wlf) => [
-         q(0244),
-         q(1),
-         ],
-      q(wsm) => [
-         q(0192),
-         q(0),
-         ],
-      q(yem) => [
-         q(0246),
-         q(0),
-         ],
-      q(zaf) => [
-         q(0206),
-         q(0),
-         ],
-      q(zmb) => [
-         q(0247),
-         q(0),
-         ],
-      q(zwe) => [
-         q(0248),
-         q(0),
-         ],
-      },
-   q(dom) => {
-      q(AC) => [
-         q(0275),
-         q(0),
-         ],
-      q(AD) => [
-         q(0006),
-         q(0),
-         ],
-      q(AE) => [
-         q(0233),
-         q(0),
-         ],
-      q(AF) => [
-         q(0001),
-         q(0),
-         ],
-      q(AG) => [
-         q(0010),
-         q(0),
-         ],
-      q(AI) => [
-         q(0008),
-         q(0),
-         ],
-      q(AL) => [
-         q(0003),
-         q(0),
-         ],
-      q(AM) => [
-         q(0012),
-         q(0),
-         ],
-      q(AN) => [
-         q(0267),
-         q(0),
-         ],
-      q(AO) => [
-         q(0007),
-         q(0),
-         ],
-      q(AQ) => [
-         q(0009),
-         q(0),
-         ],
-      q(AR) => [
-         q(0011),
-         q(0),
-         ],
-      q(AS) => [
-         q(0005),
-         q(0),
-         ],
-      q(AT) => [
-         q(0015),
-         q(0),
-         ],
-      q(AU) => [
-         q(0014),
-         q(0),
-         ],
-      q(AW) => [
-         q(0013),
-         q(0),
-         ],
-      q(AX) => [
-         q(0002),
-         q(0),
-         ],
-      q(AZ) => [
-         q(0016),
-         q(0),
-         ],
-      q(BA) => [
-         q(0029),
-         q(0),
-         ],
-      q(BB) => [
-         q(0020),
-         q(0),
-         ],
-      q(BD) => [
-         q(0019),
-         q(0),
-         ],
-      q(BE) => [
-         q(0022),
-         q(0),
-         ],
-      q(BF) => [
-         q(0036),
-         q(0),
-         ],
-      q(BG) => [
-         q(0035),
-         q(0),
-         ],
-      q(BH) => [
-         q(0018),
-         q(0),
-         ],
-      q(BI) => [
-         q(0037),
-         q(0),
-         ],
-      q(BJ) => [
-         q(0024),
-         q(0),
-         ],
-      q(BL) => [
-         q(0185),
-         q(0),
-         ],
-      q(BM) => [
-         q(0025),
-         q(0),
-         ],
-      q(BN) => [
-         q(0034),
-         q(0),
-         ],
-      q(BO) => [
-         q(0027),
-         q(2),
-         ],
-      q(BQ) => [
-         q(0028),
-         q(0),
-         ],
-      q(BR) => [
-         q(0032),
-         q(0),
-         ],
-      q(BS) => [
-         q(0017),
-         q(0),
-         ],
-      q(BT) => [
-         q(0026),
-         q(0),
-         ],
-      q(BV) => [
-         q(0031),
-         q(0),
-         ],
-      q(BW) => [
-         q(0030),
-         q(0),
-         ],
-      q(BY) => [
-         q(0021),
-         q(0),
-         ],
-      q(BZ) => [
-         q(0023),
-         q(0),
-         ],
-      q(CA) => [
-         q(0040),
-         q(0),
-         ],
-      q(CC) => [
-         q(0048),
-         q(0),
-         ],
-      q(CD) => [
-         q(0052),
-         q(0),
-         ],
-      q(CF) => [
-         q(0043),
-         q(0),
-         ],
-      q(CG) => [
-         q(0051),
-         q(0),
-         ],
-      q(CH) => [
-         q(0215),
-         q(0),
-         ],
-      q(CI) => [
-         q(0055),
-         q(0),
-         ],
-      q(CK) => [
-         q(0053),
-         q(0),
-         ],
-      q(CL) => [
-         q(0045),
-         q(0),
-         ],
-      q(CM) => [
-         q(0039),
-         q(0),
-         ],
-      q(CN) => [
-         q(0046),
-         q(0),
-         ],
-      q(CO) => [
-         q(0049),
-         q(0),
-         ],
-      q(CR) => [
-         q(0054),
-         q(0),
-         ],
-      q(CU) => [
-         q(0057),
-         q(0),
-         ],
-      q(CV) => [
-         q(0041),
-         q(0),
-         ],
-      q(CW) => [
-         q(0058),
-         q(0),
-         ],
-      q(CX) => [
-         q(0047),
-         q(0),
-         ],
-      q(CY) => [
-         q(0059),
-         q(0),
-         ],
-      q(CZ) => [
-         q(0060),
-         q(0),
-         ],
-      q(DE) => [
-         q(0083),
-         q(0),
-         ],
-      q(DJ) => [
-         q(0062),
-         q(0),
-         ],
-      q(DK) => [
-         q(0061),
-         q(0),
-         ],
-      q(DM) => [
-         q(0063),
-         q(0),
-         ],
-      q(DO) => [
-         q(0064),
-         q(0),
-         ],
-      q(DZ) => [
-         q(0004),
-         q(0),
-         ],
-      q(EC) => [
-         q(0065),
-         q(0),
-         ],
-      q(EE) => [
-         q(0070),
-         q(0),
-         ],
-      q(EG) => [
-         q(0066),
-         q(0),
-         ],
-      q(EH) => [
-         q(0245),
-         q(0),
-         ],
-      q(ER) => [
-         q(0069),
-         q(0),
-         ],
-      q(ES) => [
-         q(0208),
-         q(0),
-         ],
-      q(ET) => [
-         q(0071),
-         q(0),
-         ],
-      q(EU) => [
-         q(0276),
-         q(0),
-         ],
-      q(FI) => [
-         q(0075),
-         q(0),
-         ],
-      q(FJ) => [
-         q(0074),
-         q(0),
-         ],
-      q(FK) => [
-         q(0072),
-         q(0),
-         ],
-      q(FM) => [
-         q(0145),
-         q(0),
-         ],
-      q(FO) => [
-         q(0073),
-         q(0),
-         ],
-      q(FR) => [
-         q(0076),
-         q(0),
-         ],
-      q(FX) => [
-         q(0279),
-         q(0),
-         ],
-      q(GA) => [
-         q(0080),
-         q(0),
-         ],
-      q(GB) => [
-         q(0234),
-         q(0),
-         ],
-      q(GD) => [
-         q(0088),
-         q(0),
-         ],
-      q(GE) => [
-         q(0082),
-         q(0),
-         ],
-      q(GF) => [
-         q(0077),
-         q(0),
-         ],
-      q(GG) => [
-         q(0092),
-         q(0),
-         ],
-      q(GH) => [
-         q(0084),
-         q(0),
-         ],
-      q(GI) => [
-         q(0085),
-         q(0),
-         ],
-      q(GL) => [
-         q(0087),
-         q(0),
-         ],
-      q(GM) => [
-         q(0081),
-         q(0),
-         ],
-      q(GN) => [
-         q(0093),
-         q(0),
-         ],
-      q(GP) => [
-         q(0089),
-         q(0),
-         ],
-      q(GQ) => [
-         q(0068),
-         q(0),
-         ],
-      q(GR) => [
-         q(0086),
-         q(0),
-         ],
-      q(GS) => [
-         q(0207),
-         q(0),
-         ],
-      q(GT) => [
-         q(0091),
-         q(0),
-         ],
-      q(GU) => [
-         q(0090),
-         q(0),
-         ],
-      q(GW) => [
-         q(0094),
-         q(0),
-         ],
-      q(GY) => [
-         q(0095),
-         q(0),
-         ],
-      q(HK) => [
-         q(0100),
-         q(0),
-         ],
-      q(HM) => [
-         q(0097),
-         q(0),
-         ],
-      q(HN) => [
-         q(0099),
-         q(0),
-         ],
-      q(HR) => [
-         q(0056),
-         q(0),
-         ],
-      q(HT) => [
-         q(0096),
-         q(0),
-         ],
-      q(HU) => [
-         q(0101),
-         q(0),
-         ],
-      q(ID) => [
-         q(0104),
-         q(0),
-         ],
-      q(IE) => [
-         q(0107),
-         q(0),
-         ],
-      q(IL) => [
-         q(0109),
-         q(0),
-         ],
-      q(IM) => [
-         q(0108),
-         q(0),
-         ],
-      q(IN) => [
-         q(0103),
-         q(0),
-         ],
-      q(IO) => [
-         q(0033),
-         q(0),
-         ],
-      q(IQ) => [
-         q(0106),
-         q(0),
-         ],
-      q(IR) => [
-         q(0105),
-         q(0),
-         ],
-      q(IS) => [
-         q(0102),
-         q(0),
-         ],
-      q(IT) => [
-         q(0110),
-         q(0),
-         ],
-      q(JE) => [
-         q(0113),
-         q(0),
-         ],
-      q(JM) => [
-         q(0111),
-         q(0),
-         ],
-      q(JO) => [
-         q(0114),
-         q(0),
-         ],
-      q(JP) => [
-         q(0112),
-         q(0),
-         ],
-      q(KE) => [
-         q(0116),
-         q(0),
-         ],
-      q(KG) => [
-         q(0121),
-         q(0),
-         ],
-      q(KH) => [
-         q(0038),
-         q(0),
-         ],
-      q(KI) => [
-         q(0117),
-         q(0),
-         ],
-      q(KM) => [
-         q(0050),
-         q(0),
-         ],
-      q(KN) => [
-         q(0187),
-         q(0),
-         ],
-      q(KP) => [
-         q(0118),
-         q(0),
-         ],
-      q(KR) => [
-         q(0119),
-         q(0),
-         ],
-      q(KW) => [
-         q(0120),
-         q(0),
-         ],
-      q(KY) => [
-         q(0042),
-         q(0),
-         ],
-      q(KZ) => [
-         q(0115),
-         q(0),
-         ],
-      q(LA) => [
-         q(0122),
-         q(0),
-         ],
-      q(LB) => [
-         q(0124),
-         q(0),
-         ],
-      q(LC) => [
-         q(0188),
-         q(0),
-         ],
-      q(LI) => [
-         q(0128),
-         q(0),
-         ],
-      q(LK) => [
-         q(0209),
-         q(0),
-         ],
-      q(LR) => [
-         q(0126),
-         q(0),
-         ],
-      q(LS) => [
-         q(0125),
-         q(0),
-         ],
-      q(LT) => [
-         q(0129),
-         q(0),
-         ],
-      q(LU) => [
-         q(0130),
-         q(0),
-         ],
-      q(LV) => [
-         q(0123),
-         q(0),
-         ],
-      q(LY) => [
-         q(0127),
-         q(0),
-         ],
-      q(MA) => [
-         q(0151),
-         q(0),
-         ],
-      q(MC) => [
-         q(0147),
-         q(0),
-         ],
-      q(MD) => [
-         q(0146),
-         q(0),
-         ],
-      q(ME) => [
-         q(0149),
-         q(0),
-         ],
-      q(MF) => [
-         q(0189),
-         q(0),
-         ],
-      q(MG) => [
-         q(0133),
-         q(0),
-         ],
-      q(MH) => [
-         q(0139),
-         q(0),
-         ],
-      q(MK) => [
-         q(0132),
-         q(0),
-         ],
-      q(ML) => [
-         q(0137),
-         q(0),
-         ],
-      q(MM) => [
-         q(0153),
-         q(0),
-         ],
-      q(MN) => [
-         q(0148),
-         q(0),
-         ],
-      q(MO) => [
-         q(0131),
-         q(0),
-         ],
-      q(MP) => [
-         q(0165),
-         q(0),
-         ],
-      q(MQ) => [
-         q(0140),
-         q(0),
-         ],
-      q(MR) => [
-         q(0141),
-         q(0),
-         ],
-      q(MS) => [
-         q(0150),
-         q(0),
-         ],
-      q(MT) => [
-         q(0138),
-         q(0),
-         ],
-      q(MU) => [
-         q(0142),
-         q(0),
-         ],
-      q(MV) => [
-         q(0136),
-         q(0),
-         ],
-      q(MW) => [
-         q(0134),
-         q(0),
-         ],
-      q(MX) => [
-         q(0144),
-         q(0),
-         ],
-      q(MY) => [
-         q(0135),
-         q(0),
-         ],
-      q(MZ) => [
-         q(0152),
-         q(0),
-         ],
-      q(NA) => [
-         q(0154),
-         q(0),
-         ],
-      q(NC) => [
-         q(0158),
-         q(0),
-         ],
-      q(NE) => [
-         q(0161),
-         q(0),
-         ],
-      q(NF) => [
-         q(0164),
-         q(0),
-         ],
-      q(NG) => [
-         q(0162),
-         q(0),
-         ],
-      q(NI) => [
-         q(0160),
-         q(0),
-         ],
-      q(NL) => [
-         q(0157),
-         q(0),
-         ],
-      q(NO) => [
-         q(0166),
-         q(0),
-         ],
-      q(NP) => [
-         q(0156),
-         q(0),
-         ],
-      q(NR) => [
-         q(0155),
-         q(0),
-         ],
-      q(NU) => [
-         q(0163),
-         q(0),
-         ],
-      q(NZ) => [
-         q(0159),
-         q(0),
-         ],
-      q(OM) => [
-         q(0167),
-         q(0),
-         ],
-      q(PA) => [
-         q(0171),
-         q(0),
-         ],
-      q(PE) => [
-         q(0174),
-         q(0),
-         ],
-      q(PF) => [
-         q(0078),
-         q(0),
-         ],
-      q(PG) => [
-         q(0172),
-         q(0),
-         ],
-      q(PH) => [
-         q(0175),
-         q(0),
-         ],
-      q(PK) => [
-         q(0168),
-         q(0),
-         ],
-      q(PL) => [
-         q(0177),
-         q(0),
-         ],
-      q(PM) => [
-         q(0190),
-         q(0),
-         ],
-      q(PN) => [
-         q(0176),
-         q(0),
-         ],
-      q(PR) => [
-         q(0179),
-         q(0),
-         ],
-      q(PS) => [
-         q(0170),
-         q(0),
-         ],
-      q(PT) => [
-         q(0178),
-         q(0),
-         ],
-      q(PW) => [
-         q(0169),
-         q(0),
-         ],
-      q(PY) => [
-         q(0173),
-         q(0),
-         ],
-      q(QA) => [
-         q(0180),
-         q(0),
-         ],
-      q(RE) => [
-         q(0181),
-         q(0),
-         ],
-      q(RO) => [
-         q(0182),
-         q(0),
-         ],
-      q(RS) => [
-         q(0197),
-         q(0),
-         ],
-      q(RU) => [
-         q(0183),
-         q(0),
-         ],
-      q(RW) => [
-         q(0184),
-         q(0),
-         ],
-      q(SA) => [
-         q(0195),
-         q(0),
-         ],
-      q(SB) => [
-         q(0204),
-         q(0),
-         ],
-      q(SC) => [
-         q(0198),
-         q(0),
-         ],
-      q(SD) => [
-         q(0210),
-         q(0),
-         ],
-      q(SE) => [
-         q(0214),
-         q(0),
-         ],
-      q(SG) => [
-         q(0200),
-         q(0),
-         ],
-      q(SH) => [
-         q(0186),
-         q(1),
-         ],
-      q(SI) => [
-         q(0203),
-         q(0),
-         ],
-      q(SJ) => [
-         q(0212),
-         q(0),
-         ],
-      q(SK) => [
-         q(0202),
-         q(0),
-         ],
-      q(SL) => [
-         q(0199),
-         q(0),
-         ],
-      q(SM) => [
-         q(0193),
-         q(0),
-         ],
-      q(SN) => [
-         q(0196),
-         q(0),
-         ],
-      q(SO) => [
-         q(0205),
-         q(0),
-         ],
-      q(SR) => [
-         q(0211),
-         q(0),
-         ],
-      q(ST) => [
-         q(0194),
-         q(0),
-         ],
-      q(SU) => [
-         q(0277),
-         q(0),
-         ],
-      q(SV) => [
-         q(0067),
-         q(0),
-         ],
-      q(SX) => [
-         q(0201),
-         q(0),
-         ],
-      q(SY) => [
-         q(0216),
-         q(0),
-         ],
-      q(SZ) => [
-         q(0213),
-         q(0),
-         ],
-      q(TC) => [
-         q(0229),
-         q(0),
-         ],
-      q(TD) => [
-         q(0044),
-         q(0),
-         ],
-      q(TF) => [
-         q(0079),
-         q(0),
-         ],
-      q(TG) => [
-         q(0222),
-         q(0),
-         ],
-      q(TH) => [
-         q(0220),
-         q(0),
-         ],
-      q(TJ) => [
-         q(0218),
-         q(0),
-         ],
-      q(TK) => [
-         q(0223),
-         q(0),
-         ],
-      q(TL) => [
-         q(0221),
-         q(0),
-         ],
-      q(TM) => [
-         q(0228),
-         q(0),
-         ],
-      q(TN) => [
-         q(0226),
-         q(0),
-         ],
-      q(TO) => [
-         q(0224),
-         q(0),
-         ],
-      q(TP) => [
-         q(0278),
-         q(0),
-         ],
-      q(TR) => [
-         q(0227),
-         q(0),
-         ],
-      q(TT) => [
-         q(0225),
-         q(0),
-         ],
-      q(TV) => [
-         q(0230),
-         q(0),
-         ],
-      q(TW) => [
-         q(0217),
-         q(1),
-         ],
-      q(TZ) => [
-         q(0219),
-         q(0),
-         ],
-      q(UA) => [
-         q(0232),
-         q(0),
-         ],
-      q(UG) => [
-         q(0231),
-         q(0),
-         ],
-      q(UK) => [
-         q(0234),
-         q(0),
-         ],
-      q(UM) => [
-         q(0236),
-         q(0),
-         ],
-      q(US) => [
-         q(0235),
-         q(0),
-         ],
-      q(UY) => [
-         q(0237),
-         q(0),
-         ],
-      q(UZ) => [
-         q(0238),
-         q(0),
-         ],
-      q(VA) => [
-         q(0098),
-         q(0),
-         ],
-      q(VC) => [
-         q(0191),
-         q(0),
-         ],
-      q(VE) => [
-         q(0240),
-         q(0),
-         ],
-      q(VG) => [
-         q(0242),
-         q(0),
-         ],
-      q(VI) => [
-         q(0243),
-         q(0),
-         ],
-      q(VN) => [
-         q(0241),
-         q(0),
-         ],
-      q(VU) => [
-         q(0239),
-         q(0),
-         ],
-      q(WF) => [
-         q(0244),
-         q(0),
-         ],
-      q(WS) => [
-         q(0192),
-         q(0),
-         ],
-      q(YE) => [
-         q(0246),
-         q(0),
-         ],
-      q(YT) => [
-         q(0143),
-         q(0),
-         ],
-      q(ZA) => [
-         q(0206),
-         q(0),
-         ],
-      q(ZM) => [
-         q(0247),
-         q(0),
-         ],
-      q(ZW) => [
-         q(0248),
-         q(0),
-         ],
-      },
-   q(fips) => {
-      q(AA) => [
-         q(0013),
-         q(0),
-         ],
-      q(AC) => [
-         q(0010),
-         q(0),
-         ],
-      q(AE) => [
-         q(0233),
-         q(0),
-         ],
-      q(AF) => [
-         q(0001),
-         q(1),
-         ],
-      q(AG) => [
-         q(0004),
-         q(1),
-         ],
-      q(AJ) => [
-         q(0016),
-         q(1),
-         ],
-      q(AL) => [
-         q(0003),
-         q(1),
-         ],
-      q(AM) => [
-         q(0012),
-         q(1),
-         ],
-      q(AN) => [
-         q(0006),
-         q(1),
-         ],
-      q(AO) => [
-         q(0007),
-         q(1),
-         ],
-      q(AQ) => [
-         q(0005),
-         q(1),
-         ],
-      q(AR) => [
-         q(0011),
-         q(1),
-         ],
-      q(AS) => [
-         q(0014),
-         q(1),
-         ],
-      q(AT) => [
-         q(0251),
-         q(1),
-         ],
-      q(AU) => [
-         q(0015),
-         q(1),
-         ],
-      q(AV) => [
-         q(0008),
-         q(0),
-         ],
-      q(AY) => [
-         q(0009),
-         q(0),
-         ],
-      q(BA) => [
-         q(0018),
-         q(1),
-         ],
-      q(BB) => [
-         q(0020),
-         q(0),
-         ],
-      q(BC) => [
-         q(0030),
-         q(1),
-         ],
-      q(BD) => [
-         q(0025),
-         q(0),
-         ],
-      q(BE) => [
-         q(0022),
-         q(1),
-         ],
-      q(BF) => [
-         q(0017),
-         q(2),
-         ],
-      q(BG) => [
-         q(0019),
-         q(1),
-         ],
-      q(BH) => [
-         q(0023),
-         q(0),
-         ],
-      q(BK) => [
-         q(0029),
-         q(0),
-         ],
-      q(BL) => [
-         q(0027),
-         q(3),
-         ],
-      q(BM) => [
-         q(0153),
-         q(2),
-         ],
-      q(BN) => [
-         q(0024),
-         q(1),
-         ],
-      q(BO) => [
-         q(0021),
-         q(1),
-         ],
-      q(BP) => [
-         q(0204),
-         q(0),
-         ],
-      q(BQ) => [
-         q(0266),
-         q(0),
-         ],
-      q(BR) => [
-         q(0032),
-         q(1),
-         ],
-      q(BS) => [
-         q(0253),
-         q(0),
-         ],
-      q(BT) => [
-         q(0026),
-         q(1),
-         ],
-      q(BU) => [
-         q(0035),
-         q(0),
-         ],
-      q(BV) => [
-         q(0031),
-         q(0),
-         ],
-      q(BX) => [
-         q(0034),
-         q(2),
-         ],
-      q(BY) => [
-         q(0037),
-         q(1),
-         ],
-      q(CA) => [
-         q(0040),
-         q(0),
-         ],
-      q(CB) => [
-         q(0038),
-         q(1),
-         ],
-      q(CD) => [
-         q(0044),
-         q(1),
-         ],
-      q(CE) => [
-         q(0209),
-         q(1),
-         ],
-      q(CF) => [
-         q(0051),
-         q(2),
-         ],
-      q(CG) => [
-         q(0052),
-         q(2),
-         ],
-      q(CH) => [
-         q(0046),
-         q(1),
-         ],
-      q(CI) => [
-         q(0045),
-         q(1),
-         ],
-      q(CJ) => [
-         q(0042),
-         q(0),
-         ],
-      q(CK) => [
-         q(0048),
-         q(1),
-         ],
-      q(CM) => [
-         q(0039),
-         q(1),
-         ],
-      q(CN) => [
-         q(0050),
-         q(1),
-         ],
-      q(CO) => [
-         q(0049),
-         q(1),
-         ],
-      q(CQ) => [
-         q(0165),
-         q(1),
-         ],
-      q(CR) => [
-         q(0255),
-         q(1),
-         ],
-      q(CS) => [
-         q(0054),
-         q(1),
-         ],
-      q(CT) => [
-         q(0043),
-         q(0),
-         ],
-      q(CU) => [
-         q(0057),
-         q(1),
-         ],
-      q(CV) => [
-         q(0041),
-         q(1),
-         ],
-      q(CW) => [
-         q(0053),
-         q(0),
-         ],
-      q(CY) => [
-         q(0059),
-         q(1),
-         ],
-      q(DA) => [
-         q(0061),
-         q(1),
-         ],
-      q(DJ) => [
-         q(0062),
-         q(1),
-         ],
-      q(DO) => [
-         q(0063),
-         q(1),
-         ],
-      q(DQ) => [
-         q(0261),
-         q(0),
-         ],
-      q(DR) => [
-         q(0064),
-         q(0),
-         ],
-      q(EC) => [
-         q(0065),
-         q(1),
-         ],
-      q(EG) => [
-         q(0066),
-         q(1),
-         ],
-      q(EI) => [
-         q(0107),
-         q(0),
-         ],
-      q(EK) => [
-         q(0068),
-         q(1),
-         ],
-      q(EN) => [
-         q(0070),
-         q(1),
-         ],
-      q(ER) => [
-         q(0069),
-         q(1),
-         ],
-      q(ES) => [
-         q(0067),
-         q(1),
-         ],
-      q(ET) => [
-         q(0071),
-         q(1),
-         ],
-      q(EU) => [
-         q(0256),
-         q(0),
-         ],
-      q(EZ) => [
-         q(0060),
-         q(0),
-         ],
-      q(FG) => [
-         q(0077),
-         q(1),
-         ],
-      q(FI) => [
-         q(0075),
-         q(1),
-         ],
-      q(FJ) => [
-         q(0074),
-         q(1),
-         ],
-      q(FK) => [
-         q(0072),
-         q(1),
-         ],
-      q(FM) => [
-         q(0145),
-         q(2),
-         ],
-      q(FO) => [
-         q(0073),
-         q(0),
-         ],
-      q(FP) => [
-         q(0078),
-         q(1),
-         ],
-      q(FQ) => [
-         q(0252),
-         q(0),
-         ],
-      q(FR) => [
-         q(0076),
-         q(1),
-         ],
-      q(FS) => [
-         q(0079),
-         q(2),
-         ],
-      q(GA) => [
-         q(0081),
-         q(2),
-         ],
-      q(GB) => [
-         q(0080),
-         q(1),
-         ],
-      q(GG) => [
-         q(0082),
-         q(0),
-         ],
-      q(GH) => [
-         q(0084),
-         q(1),
-         ],
-      q(GI) => [
-         q(0085),
-         q(0),
-         ],
-      q(GJ) => [
-         q(0088),
-         q(0),
-         ],
-      q(GK) => [
-         q(0092),
-         q(1),
-         ],
-      q(GL) => [
-         q(0087),
-         q(0),
-         ],
-      q(GM) => [
-         q(0083),
-         q(1),
-         ],
-      q(GO) => [
-         q(0258),
-         q(0),
-         ],
-      q(GP) => [
-         q(0089),
-         q(1),
-         ],
-      q(GQ) => [
-         q(0090),
-         q(1),
-         ],
-      q(GR) => [
-         q(0086),
-         q(1),
-         ],
-      q(GT) => [
-         q(0091),
-         q(1),
-         ],
-      q(GV) => [
-         q(0093),
-         q(1),
-         ],
-      q(GY) => [
-         q(0095),
-         q(1),
-         ],
-      q(GZ) => [
-         q(0257),
-         q(0),
-         ],
-      q(HA) => [
-         q(0096),
-         q(1),
-         ],
-      q(HK) => [
-         q(0100),
-         q(3),
-         ],
-      q(HM) => [
-         q(0097),
-         q(1),
-         ],
-      q(HO) => [
-         q(0099),
-         q(1),
-         ],
-      q(HQ) => [
-         q(0259),
-         q(0),
-         ],
-      q(HR) => [
-         q(0056),
-         q(1),
-         ],
-      q(HU) => [
-         q(0101),
-         q(1),
-         ],
-      q(IC) => [
-         q(0102),
-         q(1),
-         ],
-      q(ID) => [
-         q(0104),
-         q(1),
-         ],
-      q(IM) => [
-         q(0108),
-         q(0),
-         ],
-      q(IN) => [
-         q(0103),
-         q(1),
-         ],
-      q(IO) => [
-         q(0033),
-         q(0),
-         ],
-      q(IP) => [
-         q(0254),
-         q(0),
-         ],
-      q(IR) => [
-         q(0105),
-         q(3),
-         ],
-      q(IS) => [
-         q(0109),
-         q(1),
-         ],
-      q(IT) => [
-         q(0110),
-         q(1),
-         ],
-      q(IV) => [
-         q(0055),
-         q(1),
-         ],
-      q(IZ) => [
-         q(0106),
-         q(1),
-         ],
-      q(JA) => [
-         q(0112),
-         q(0),
-         ],
-      q(JE) => [
-         q(0113),
-         q(1),
-         ],
-      q(JM) => [
-         q(0111),
-         q(0),
-         ],
-      q(JN) => [
-         q(0260),
-         q(0),
-         ],
-      q(JO) => [
-         q(0114),
-         q(1),
-         ],
-      q(JQ) => [
-         q(0262),
-         q(0),
-         ],
-      q(JU) => [
-         q(0263),
-         q(0),
-         ],
-      q(KE) => [
-         q(0116),
-         q(1),
-         ],
-      q(KG) => [
-         q(0121),
-         q(1),
-         ],
-      q(KN) => [
-         q(0118),
-         q(2),
-         ],
-      q(KQ) => [
-         q(0264),
-         q(0),
-         ],
-      q(KR) => [
-         q(0117),
-         q(1),
-         ],
-      q(KS) => [
-         q(0119),
-         q(2),
-         ],
-      q(KT) => [
-         q(0047),
-         q(1),
-         ],
-      q(KU) => [
-         q(0120),
-         q(1),
-         ],
-      q(KV) => [
-         q(0280),
-         q(0),
-         ],
-      q(KZ) => [
-         q(0115),
-         q(1),
-         ],
-      q(LA) => [
-         q(0122),
-         q(1),
-         ],
-      q(LE) => [
-         q(0124),
-         q(1),
-         ],
-      q(LG) => [
-         q(0123),
-         q(1),
-         ],
-      q(LH) => [
-         q(0129),
-         q(1),
-         ],
-      q(LI) => [
-         q(0126),
-         q(1),
-         ],
-      q(LO) => [
-         q(0202),
-         q(1),
-         ],
-      q(LQ) => [
-         q(0268),
-         q(0),
-         ],
-      q(LS) => [
-         q(0128),
-         q(1),
-         ],
-      q(LT) => [
-         q(0125),
-         q(1),
-         ],
-      q(LU) => [
-         q(0130),
-         q(1),
-         ],
-      q(LY) => [
-         q(0127),
-         q(2),
-         ],
-      q(MA) => [
-         q(0133),
-         q(1),
-         ],
-      q(MB) => [
-         q(0140),
-         q(1),
-         ],
-      q(MC) => [
-         q(0131),
-         q(3),
-         ],
-      q(MD) => [
-         q(0146),
-         q(2),
-         ],
-      q(MF) => [
-         q(0143),
-         q(1),
-         ],
-      q(MG) => [
-         q(0148),
-         q(0),
-         ],
-      q(MH) => [
-         q(0150),
-         q(0),
-         ],
-      q(MI) => [
-         q(0134),
-         q(1),
-         ],
-      q(MJ) => [
-         q(0149),
-         q(0),
-         ],
-      q(MK) => [
-         q(0132),
-         q(3),
-         ],
-      q(ML) => [
-         q(0137),
-         q(1),
-         ],
-      q(MN) => [
-         q(0147),
-         q(1),
-         ],
-      q(MO) => [
-         q(0151),
-         q(1),
-         ],
-      q(MP) => [
-         q(0142),
-         q(1),
-         ],
-      q(MQ) => [
-         q(0265),
-         q(0),
-         ],
-      q(MR) => [
-         q(0141),
-         q(1),
-         ],
-      q(MT) => [
-         q(0138),
-         q(1),
-         ],
-      q(MU) => [
-         q(0167),
-         q(1),
-         ],
-      q(MV) => [
-         q(0136),
-         q(1),
-         ],
-      q(MX) => [
-         q(0144),
-         q(1),
-         ],
-      q(MY) => [
-         q(0135),
-         q(0),
-         ],
-      q(MZ) => [
-         q(0152),
-         q(1),
-         ],
-      q(NC) => [
-         q(0158),
-         q(1),
-         ],
-      q(NE) => [
-         q(0163),
-         q(0),
-         ],
-      q(NF) => [
-         q(0164),
-         q(1),
-         ],
-      q(NG) => [
-         q(0161),
-         q(1),
-         ],
-      q(NH) => [
-         q(0239),
-         q(1),
-         ],
-      q(NI) => [
-         q(0162),
-         q(1),
-         ],
-      q(NL) => [
-         q(0157),
-         q(1),
-         ],
-      q(NO) => [
-         q(0166),
-         q(1),
-         ],
-      q(NP) => [
-         q(0156),
-         q(1),
-         ],
-      q(NR) => [
-         q(0155),
-         q(1),
-         ],
-      q(NS) => [
-         q(0211),
-         q(1),
-         ],
-      q(NT) => [
-         q(0267),
-         q(0),
-         ],
-      q(NU) => [
-         q(0160),
-         q(1),
-         ],
-      q(NZ) => [
-         q(0159),
-         q(0),
-         ],
-      q(PA) => [
-         q(0173),
-         q(1),
-         ],
-      q(PC) => [
-         q(0176),
-         q(2),
-         ],
-      q(PE) => [
-         q(0174),
-         q(1),
-         ],
-      q(PF) => [
-         q(0269),
-         q(0),
-         ],
-      q(PG) => [
-         q(0270),
-         q(0),
-         ],
-      q(PK) => [
-         q(0168),
-         q(1),
-         ],
-      q(PL) => [
-         q(0177),
-         q(1),
-         ],
-      q(PM) => [
-         q(0171),
-         q(1),
-         ],
-      q(PO) => [
-         q(0178),
-         q(1),
-         ],
-      q(PP) => [
-         q(0172),
-         q(1),
-         ],
-      q(PS) => [
-         q(0169),
-         q(1),
-         ],
-      q(PU) => [
-         q(0094),
-         q(1),
-         ],
-      q(QA) => [
-         q(0180),
-         q(1),
-         ],
-      q(RE) => [
-         q(0181),
-         q(1),
-         ],
-      q(RI) => [
-         q(0197),
-         q(0),
-         ],
-      q(RM) => [
-         q(0139),
-         q(1),
-         ],
-      q(RN) => [
-         q(0189),
-         q(2),
-         ],
-      q(RO) => [
-         q(0182),
-         q(0),
-         ],
-      q(RP) => [
-         q(0175),
-         q(1),
-         ],
-      q(RQ) => [
-         q(0179),
-         q(1),
-         ],
-      q(RS) => [
-         q(0183),
-         q(1),
-         ],
-      q(RW) => [
-         q(0184),
-         q(1),
-         ],
-      q(SA) => [
-         q(0195),
-         q(1),
-         ],
-      q(SB) => [
-         q(0190),
-         q(1),
-         ],
-      q(SC) => [
-         q(0187),
-         q(1),
-         ],
-      q(SE) => [
-         q(0198),
-         q(1),
-         ],
-      q(SF) => [
-         q(0206),
-         q(1),
-         ],
-      q(SG) => [
-         q(0196),
-         q(1),
-         ],
-      q(SH) => [
-         q(0186),
-         q(1),
-         ],
-      q(SI) => [
-         q(0203),
-         q(1),
-         ],
-      q(SL) => [
-         q(0199),
-         q(1),
-         ],
-      q(SM) => [
-         q(0193),
-         q(1),
-         ],
-      q(SN) => [
-         q(0200),
-         q(1),
-         ],
-      q(SO) => [
-         q(0205),
-         q(0),
-         ],
-      q(SP) => [
-         q(0208),
-         q(1),
-         ],
-      q(ST) => [
-         q(0188),
-         q(0),
-         ],
-      q(SU) => [
-         q(0210),
-         q(1),
-         ],
-      q(SV) => [
-         q(0271),
-         q(0),
-         ],
-      q(SW) => [
-         q(0214),
-         q(1),
-         ],
-      q(SX) => [
-         q(0207),
-         q(0),
-         ],
-      q(SY) => [
-         q(0216),
-         q(1),
-         ],
-      q(SZ) => [
-         q(0215),
-         q(1),
-         ],
-      q(TB) => [
-         q(0185),
-         q(0),
-         ],
-      q(TD) => [
-         q(0225),
-         q(1),
-         ],
-      q(TE) => [
-         q(0272),
-         q(0),
-         ],
-      q(TH) => [
-         q(0220),
-         q(1),
-         ],
-      q(TI) => [
-         q(0218),
-         q(1),
-         ],
-      q(TK) => [
-         q(0229),
-         q(0),
-         ],
-      q(TL) => [
-         q(0223),
-         q(0),
-         ],
-      q(TN) => [
-         q(0224),
-         q(1),
-         ],
-      q(TO) => [
-         q(0222),
-         q(1),
-         ],
-      q(TP) => [
-         q(0194),
-         q(1),
-         ],
-      q(TS) => [
-         q(0226),
-         q(1),
-         ],
-      q(TT) => [
-         q(0221),
-         q(1),
-         ],
-      q(TU) => [
-         q(0227),
-         q(1),
-         ],
-      q(TV) => [
-         q(0230),
-         q(0),
-         ],
-      q(TW) => [
-         q(0217),
-         q(1),
-         ],
-      q(TX) => [
-         q(0228),
-         q(0),
-         ],
-      q(TZ) => [
-         q(0219),
-         q(2),
-         ],
-      q(UC) => [
-         q(0058),
-         q(0),
-         ],
-      q(UG) => [
-         q(0231),
-         q(0),
-         ],
-      q(UK) => [
-         q(0234),
-         q(0),
-         ],
-      q(UP) => [
-         q(0232),
-         q(0),
-         ],
-      q(US) => [
-         q(0235),
-         q(0),
-         ],
-      q(UV) => [
-         q(0036),
-         q(0),
-         ],
-      q(UY) => [
-         q(0237),
-         q(1),
-         ],
-      q(UZ) => [
-         q(0238),
-         q(1),
-         ],
-      q(VC) => [
-         q(0191),
-         q(0),
-         ],
-      q(VE) => [
-         q(0240),
-         q(3),
-         ],
-      q(VI) => [
-         q(0242),
-         q(1),
-         ],
-      q(VM) => [
-         q(0241),
-         q(2),
-         ],
-      q(VQ) => [
-         q(0243),
-         q(3),
-         ],
-      q(VT) => [
-         q(0098),
-         q(3),
-         ],
-      q(WA) => [
-         q(0154),
-         q(1),
-         ],
-      q(WE) => [
-         q(0274),
-         q(0),
-         ],
-      q(WF) => [
-         q(0244),
-         q(2),
-         ],
-      q(WI) => [
-         q(0245),
-         q(0),
-         ],
-      q(WQ) => [
-         q(0273),
-         q(0),
-         ],
-      q(WS) => [
-         q(0192),
-         q(1),
-         ],
-      q(WZ) => [
-         q(0213),
-         q(1),
-         ],
-      q(YI) => [
-         q(0250),
-         q(0),
-         ],
-      q(YM) => [
-         q(0246),
-         q(1),
-         ],
-      q(ZA) => [
-         q(0247),
-         q(1),
-         ],
-      q(ZI) => [
-         q(0248),
-         q(1),
-         ],
-      },
-   q(num) => {
-      q(004) => [
-         q(0001),
-         q(0),
-         ],
-      q(008) => [
-         q(0003),
-         q(0),
-         ],
-      q(010) => [
-         q(0009),
-         q(0),
-         ],
-      q(012) => [
-         q(0004),
-         q(0),
-         ],
-      q(016) => [
-         q(0005),
-         q(0),
-         ],
-      q(020) => [
-         q(0006),
-         q(0),
-         ],
-      q(024) => [
-         q(0007),
-         q(0),
-         ],
-      q(028) => [
-         q(0010),
-         q(0),
-         ],
-      q(031) => [
-         q(0016),
-         q(0),
-         ],
-      q(032) => [
-         q(0011),
-         q(0),
-         ],
-      q(036) => [
-         q(0014),
-         q(0),
-         ],
-      q(040) => [
-         q(0015),
-         q(0),
-         ],
-      q(044) => [
-         q(0017),
-         q(0),
-         ],
-      q(048) => [
-         q(0018),
-         q(0),
-         ],
-      q(050) => [
-         q(0019),
-         q(0),
-         ],
-      q(051) => [
-         q(0012),
-         q(0),
-         ],
-      q(052) => [
-         q(0020),
-         q(0),
-         ],
-      q(056) => [
-         q(0022),
-         q(0),
-         ],
-      q(060) => [
-         q(0025),
-         q(0),
-         ],
-      q(064) => [
-         q(0026),
-         q(0),
-         ],
-      q(068) => [
-         q(0027),
-         q(1),
-         ],
-      q(070) => [
-         q(0029),
-         q(0),
-         ],
-      q(072) => [
-         q(0030),
-         q(0),
-         ],
-      q(074) => [
-         q(0031),
-         q(0),
-         ],
-      q(076) => [
-         q(0032),
-         q(0),
-         ],
-      q(084) => [
-         q(0023),
-         q(0),
-         ],
-      q(086) => [
-         q(0033),
-         q(0),
-         ],
-      q(090) => [
-         q(0204),
-         q(0),
-         ],
-      q(092) => [
-         q(0242),
-         q(1),
-         ],
-      q(096) => [
-         q(0034),
-         q(0),
-         ],
-      q(100) => [
-         q(0035),
-         q(0),
-         ],
-      q(104) => [
-         q(0153),
-         q(0),
-         ],
-      q(108) => [
-         q(0037),
-         q(0),
-         ],
-      q(112) => [
-         q(0021),
-         q(0),
-         ],
-      q(116) => [
-         q(0038),
-         q(0),
-         ],
-      q(120) => [
-         q(0039),
-         q(0),
-         ],
-      q(124) => [
-         q(0040),
-         q(0),
-         ],
-      q(132) => [
-         q(0041),
-         q(0),
-         ],
-      q(136) => [
-         q(0042),
-         q(0),
-         ],
-      q(140) => [
-         q(0043),
-         q(0),
-         ],
-      q(144) => [
-         q(0209),
-         q(0),
-         ],
-      q(148) => [
-         q(0044),
-         q(0),
-         ],
-      q(152) => [
-         q(0045),
-         q(0),
-         ],
-      q(156) => [
-         q(0046),
-         q(0),
-         ],
-      q(158) => [
-         q(0217),
-         q(1),
-         ],
-      q(162) => [
-         q(0047),
-         q(0),
-         ],
-      q(166) => [
-         q(0048),
-         q(0),
-         ],
-      q(170) => [
-         q(0049),
-         q(0),
-         ],
-      q(174) => [
-         q(0050),
-         q(0),
-         ],
-      q(175) => [
-         q(0143),
-         q(0),
-         ],
-      q(178) => [
-         q(0051),
-         q(0),
-         ],
-      q(180) => [
-         q(0052),
-         q(1),
-         ],
-      q(184) => [
-         q(0053),
-         q(0),
-         ],
-      q(188) => [
-         q(0054),
-         q(0),
-         ],
-      q(191) => [
-         q(0056),
-         q(0),
-         ],
-      q(192) => [
-         q(0057),
-         q(0),
-         ],
-      q(196) => [
-         q(0059),
-         q(0),
-         ],
-      q(203) => [
-         q(0060),
-         q(0),
-         ],
-      q(204) => [
-         q(0024),
-         q(0),
-         ],
-      q(208) => [
-         q(0061),
-         q(0),
-         ],
-      q(212) => [
-         q(0063),
-         q(0),
-         ],
-      q(214) => [
-         q(0064),
-         q(0),
-         ],
-      q(218) => [
-         q(0065),
-         q(0),
-         ],
-      q(222) => [
-         q(0067),
-         q(0),
-         ],
-      q(226) => [
-         q(0068),
-         q(0),
-         ],
-      q(231) => [
-         q(0071),
-         q(0),
-         ],
-      q(232) => [
-         q(0069),
-         q(0),
-         ],
-      q(233) => [
-         q(0070),
-         q(0),
-         ],
-      q(234) => [
-         q(0073),
-         q(1),
-         ],
-      q(238) => [
-         q(0072),
-         q(0),
-         ],
-      q(242) => [
-         q(0074),
-         q(0),
-         ],
-      q(246) => [
-         q(0075),
-         q(0),
-         ],
-      q(248) => [
-         q(0002),
-         q(0),
-         ],
-      q(249) => [
-         q(0279),
-         q(0),
-         ],
-      q(250) => [
-         q(0076),
-         q(0),
-         ],
-      q(254) => [
-         q(0077),
-         q(0),
-         ],
-      q(258) => [
-         q(0078),
-         q(0),
-         ],
-      q(260) => [
-         q(0079),
-         q(1),
-         ],
-      q(262) => [
-         q(0062),
-         q(0),
-         ],
-      q(266) => [
-         q(0080),
-         q(0),
-         ],
-      q(268) => [
-         q(0082),
-         q(0),
-         ],
-      q(270) => [
-         q(0081),
-         q(0),
-         ],
-      q(275) => [
-         q(0170),
-         q(1),
-         ],
-      q(276) => [
-         q(0083),
-         q(0),
-         ],
-      q(288) => [
-         q(0084),
-         q(0),
-         ],
-      q(292) => [
-         q(0085),
-         q(0),
-         ],
-      q(296) => [
-         q(0117),
-         q(0),
-         ],
-      q(300) => [
-         q(0086),
-         q(0),
-         ],
-      q(304) => [
-         q(0087),
-         q(0),
-         ],
-      q(308) => [
-         q(0088),
-         q(0),
-         ],
-      q(312) => [
-         q(0089),
-         q(0),
-         ],
-      q(316) => [
-         q(0090),
-         q(0),
-         ],
-      q(320) => [
-         q(0091),
-         q(0),
-         ],
-      q(324) => [
-         q(0093),
-         q(0),
-         ],
-      q(328) => [
-         q(0095),
-         q(0),
-         ],
-      q(332) => [
-         q(0096),
-         q(0),
-         ],
-      q(334) => [
-         q(0097),
-         q(0),
-         ],
-      q(336) => [
-         q(0098),
-         q(1),
-         ],
-      q(340) => [
-         q(0099),
-         q(0),
-         ],
-      q(344) => [
-         q(0100),
-         q(1),
-         ],
-      q(348) => [
-         q(0101),
-         q(0),
-         ],
-      q(352) => [
-         q(0102),
-         q(0),
-         ],
-      q(356) => [
-         q(0103),
-         q(0),
-         ],
-      q(360) => [
-         q(0104),
-         q(0),
-         ],
-      q(364) => [
-         q(0105),
-         q(1),
-         ],
-      q(368) => [
-         q(0106),
-         q(0),
-         ],
-      q(372) => [
-         q(0107),
-         q(0),
-         ],
-      q(376) => [
-         q(0109),
-         q(0),
-         ],
-      q(380) => [
-         q(0110),
-         q(0),
-         ],
-      q(384) => [
-         q(0055),
-         q(0),
-         ],
-      q(388) => [
-         q(0111),
-         q(0),
-         ],
-      q(392) => [
-         q(0112),
-         q(0),
-         ],
-      q(398) => [
-         q(0115),
-         q(0),
-         ],
-      q(400) => [
-         q(0114),
-         q(0),
-         ],
-      q(404) => [
-         q(0116),
-         q(0),
-         ],
-      q(408) => [
-         q(0118),
-         q(1),
-         ],
-      q(410) => [
-         q(0119),
-         q(1),
-         ],
-      q(414) => [
-         q(0120),
-         q(0),
-         ],
-      q(417) => [
-         q(0121),
-         q(0),
-         ],
-      q(418) => [
-         q(0122),
-         q(0),
-         ],
-      q(422) => [
-         q(0124),
-         q(0),
-         ],
-      q(426) => [
-         q(0125),
-         q(0),
-         ],
-      q(428) => [
-         q(0123),
-         q(0),
-         ],
-      q(430) => [
-         q(0126),
-         q(0),
-         ],
-      q(434) => [
-         q(0127),
-         q(0),
-         ],
-      q(438) => [
-         q(0128),
-         q(0),
-         ],
-      q(440) => [
-         q(0129),
-         q(0),
-         ],
-      q(442) => [
-         q(0130),
-         q(0),
-         ],
-      q(446) => [
-         q(0131),
-         q(1),
-         ],
-      q(450) => [
-         q(0133),
-         q(0),
-         ],
-      q(454) => [
-         q(0134),
-         q(0),
-         ],
-      q(458) => [
-         q(0135),
-         q(0),
-         ],
-      q(462) => [
-         q(0136),
-         q(0),
-         ],
-      q(466) => [
-         q(0137),
-         q(0),
-         ],
-      q(470) => [
-         q(0138),
-         q(0),
-         ],
-      q(474) => [
-         q(0140),
-         q(0),
-         ],
-      q(478) => [
-         q(0141),
-         q(0),
-         ],
-      q(480) => [
-         q(0142),
-         q(0),
-         ],
-      q(484) => [
-         q(0144),
-         q(0),
-         ],
-      q(492) => [
-         q(0147),
-         q(0),
-         ],
-      q(496) => [
-         q(0148),
-         q(0),
-         ],
-      q(498) => [
-         q(0146),
-         q(1),
-         ],
-      q(499) => [
-         q(0149),
-         q(0),
-         ],
-      q(500) => [
-         q(0150),
-         q(0),
-         ],
-      q(504) => [
-         q(0151),
-         q(0),
-         ],
-      q(508) => [
-         q(0152),
-         q(0),
-         ],
-      q(512) => [
-         q(0167),
-         q(0),
-         ],
-      q(516) => [
-         q(0154),
-         q(0),
-         ],
-      q(520) => [
-         q(0155),
-         q(0),
-         ],
-      q(524) => [
-         q(0156),
-         q(0),
-         ],
-      q(528) => [
-         q(0157),
-         q(0),
-         ],
-      q(530) => [
-         q(0267),
-         q(0),
-         ],
-      q(531) => [
-         q(0058),
-         q(0),
-         ],
-      q(533) => [
-         q(0013),
-         q(0),
-         ],
-      q(534) => [
-         q(0201),
-         q(0),
-         ],
-      q(535) => [
-         q(0028),
-         q(0),
-         ],
-      q(540) => [
-         q(0158),
-         q(0),
-         ],
-      q(548) => [
-         q(0239),
-         q(0),
-         ],
-      q(554) => [
-         q(0159),
-         q(0),
-         ],
-      q(558) => [
-         q(0160),
-         q(0),
-         ],
-      q(562) => [
-         q(0161),
-         q(0),
-         ],
-      q(566) => [
-         q(0162),
-         q(0),
-         ],
-      q(570) => [
-         q(0163),
-         q(0),
-         ],
-      q(574) => [
-         q(0164),
-         q(0),
-         ],
-      q(578) => [
-         q(0166),
-         q(0),
-         ],
-      q(580) => [
-         q(0165),
-         q(0),
-         ],
-      q(581) => [
-         q(0236),
-         q(0),
-         ],
-      q(583) => [
-         q(0145),
-         q(1),
-         ],
-      q(584) => [
-         q(0139),
-         q(0),
-         ],
-      q(585) => [
-         q(0169),
-         q(0),
-         ],
-      q(586) => [
-         q(0168),
-         q(0),
-         ],
-      q(591) => [
-         q(0171),
-         q(0),
-         ],
-      q(598) => [
-         q(0172),
-         q(0),
-         ],
-      q(600) => [
-         q(0173),
-         q(0),
-         ],
-      q(604) => [
-         q(0174),
-         q(0),
-         ],
-      q(608) => [
-         q(0175),
-         q(0),
-         ],
-      q(612) => [
-         q(0176),
-         q(0),
-         ],
-      q(616) => [
-         q(0177),
-         q(0),
-         ],
-      q(620) => [
-         q(0178),
-         q(0),
-         ],
-      q(624) => [
-         q(0094),
-         q(0),
-         ],
-      q(626) => [
-         q(0221),
-         q(0),
-         ],
-      q(630) => [
-         q(0179),
-         q(0),
-         ],
-      q(634) => [
-         q(0180),
-         q(0),
-         ],
-      q(638) => [
-         q(0181),
-         q(0),
-         ],
-      q(642) => [
-         q(0182),
-         q(0),
-         ],
-      q(643) => [
-         q(0183),
-         q(0),
-         ],
-      q(646) => [
-         q(0184),
-         q(0),
-         ],
-      q(652) => [
-         q(0185),
-         q(1),
-         ],
-      q(654) => [
-         q(0186),
-         q(1),
-         ],
-      q(659) => [
-         q(0187),
-         q(0),
-         ],
-      q(660) => [
-         q(0008),
-         q(0),
-         ],
-      q(662) => [
-         q(0188),
-         q(0),
-         ],
-      q(663) => [
-         q(0189),
-         q(1),
-         ],
-      q(666) => [
-         q(0190),
-         q(0),
-         ],
-      q(670) => [
-         q(0191),
-         q(0),
-         ],
-      q(674) => [
-         q(0193),
-         q(0),
-         ],
-      q(678) => [
-         q(0194),
-         q(0),
-         ],
-      q(682) => [
-         q(0195),
-         q(0),
-         ],
-      q(686) => [
-         q(0196),
-         q(0),
-         ],
-      q(688) => [
-         q(0197),
-         q(0),
-         ],
-      q(690) => [
-         q(0198),
-         q(0),
-         ],
-      q(694) => [
-         q(0199),
-         q(0),
-         ],
-      q(702) => [
-         q(0200),
-         q(0),
-         ],
-      q(703) => [
-         q(0202),
-         q(0),
-         ],
-      q(704) => [
-         q(0241),
-         q(0),
-         ],
-      q(705) => [
-         q(0203),
-         q(0),
-         ],
-      q(706) => [
-         q(0205),
-         q(0),
-         ],
-      q(710) => [
-         q(0206),
-         q(0),
-         ],
-      q(716) => [
-         q(0248),
-         q(0),
-         ],
-      q(724) => [
-         q(0208),
-         q(0),
-         ],
-      q(732) => [
-         q(0245),
-         q(0),
-         ],
-      q(736) => [
-         q(0210),
-         q(0),
-         ],
-      q(740) => [
-         q(0211),
-         q(0),
-         ],
-      q(744) => [
-         q(0212),
-         q(1),
-         ],
-      q(748) => [
-         q(0213),
-         q(0),
-         ],
-      q(752) => [
-         q(0214),
-         q(0),
-         ],
-      q(756) => [
-         q(0215),
-         q(0),
-         ],
-      q(760) => [
-         q(0216),
-         q(0),
-         ],
-      q(762) => [
-         q(0218),
-         q(0),
-         ],
-      q(764) => [
-         q(0220),
-         q(0),
-         ],
-      q(768) => [
-         q(0222),
-         q(0),
-         ],
-      q(772) => [
-         q(0223),
-         q(0),
-         ],
-      q(776) => [
-         q(0224),
-         q(0),
-         ],
-      q(780) => [
-         q(0225),
-         q(0),
-         ],
-      q(784) => [
-         q(0233),
-         q(0),
-         ],
-      q(788) => [
-         q(0226),
-         q(0),
-         ],
-      q(792) => [
-         q(0227),
-         q(0),
-         ],
-      q(795) => [
-         q(0228),
-         q(0),
-         ],
-      q(796) => [
-         q(0229),
-         q(0),
-         ],
-      q(798) => [
-         q(0230),
-         q(0),
-         ],
-      q(800) => [
-         q(0231),
-         q(0),
-         ],
-      q(804) => [
-         q(0232),
-         q(0),
-         ],
-      q(807) => [
-         q(0132),
-         q(1),
-         ],
-      q(818) => [
-         q(0066),
-         q(0),
-         ],
-      q(826) => [
-         q(0234),
-         q(1),
-         ],
-      q(830) => [
-         q(0249),
-         q(0),
-         ],
-      q(831) => [
-         q(0092),
-         q(0),
-         ],
-      q(832) => [
-         q(0113),
-         q(0),
-         ],
-      q(833) => [
-         q(0108),
-         q(0),
-         ],
-      q(834) => [
-         q(0219),
-         q(1),
-         ],
-      q(840) => [
-         q(0235),
-         q(1),
-         ],
-      q(850) => [
-         q(0243),
-         q(1),
-         ],
-      q(854) => [
-         q(0036),
-         q(0),
-         ],
-      q(858) => [
-         q(0237),
-         q(0),
-         ],
-      q(860) => [
-         q(0238),
-         q(0),
-         ],
-      q(862) => [
-         q(0240),
-         q(1),
-         ],
-      q(876) => [
-         q(0244),
-         q(1),
-         ],
-      q(882) => [
-         q(0192),
-         q(0),
-         ],
-      q(887) => [
-         q(0246),
-         q(0),
-         ],
-      q(894) => [
-         q(0247),
-         q(0),
-         ],
-      },
-};
+#=======================================================================
+#
+# Old function for backward compatibility
+#
+#=======================================================================
 
-$Locale::Codes::Data{'country'}{'id2code'} = {
-   q(alpha2) => {
-      q(0001) => q(af),
-      q(0002) => q(ax),
-      q(0003) => q(al),
-      q(0004) => q(dz),
-      q(0005) => q(as),
-      q(0006) => q(ad),
-      q(0007) => q(ao),
-      q(0008) => q(ai),
-      q(0009) => q(aq),
-      q(0010) => q(ag),
-      q(0011) => q(ar),
-      q(0012) => q(am),
-      q(0013) => q(aw),
-      q(0014) => q(au),
-      q(0015) => q(at),
-      q(0016) => q(az),
-      q(0017) => q(bs),
-      q(0018) => q(bh),
-      q(0019) => q(bd),
-      q(0020) => q(bb),
-      q(0021) => q(by),
-      q(0022) => q(be),
-      q(0023) => q(bz),
-      q(0024) => q(bj),
-      q(0025) => q(bm),
-      q(0026) => q(bt),
-      q(0027) => q(bo),
-      q(0028) => q(bq),
-      q(0029) => q(ba),
-      q(0030) => q(bw),
-      q(0031) => q(bv),
-      q(0032) => q(br),
-      q(0033) => q(io),
-      q(0034) => q(bn),
-      q(0035) => q(bg),
-      q(0036) => q(bf),
-      q(0037) => q(bi),
-      q(0038) => q(kh),
-      q(0039) => q(cm),
-      q(0040) => q(ca),
-      q(0041) => q(cv),
-      q(0042) => q(ky),
-      q(0043) => q(cf),
-      q(0044) => q(td),
-      q(0045) => q(cl),
-      q(0046) => q(cn),
-      q(0047) => q(cx),
-      q(0048) => q(cc),
-      q(0049) => q(co),
-      q(0050) => q(km),
-      q(0051) => q(cg),
-      q(0052) => q(cd),
-      q(0053) => q(ck),
-      q(0054) => q(cr),
-      q(0055) => q(ci),
-      q(0056) => q(hr),
-      q(0057) => q(cu),
-      q(0058) => q(cw),
-      q(0059) => q(cy),
-      q(0060) => q(cz),
-      q(0061) => q(dk),
-      q(0062) => q(dj),
-      q(0063) => q(dm),
-      q(0064) => q(do),
-      q(0065) => q(ec),
-      q(0066) => q(eg),
-      q(0067) => q(sv),
-      q(0068) => q(gq),
-      q(0069) => q(er),
-      q(0070) => q(ee),
-      q(0071) => q(et),
-      q(0072) => q(fk),
-      q(0073) => q(fo),
-      q(0074) => q(fj),
-      q(0075) => q(fi),
-      q(0076) => q(fr),
-      q(0077) => q(gf),
-      q(0078) => q(pf),
-      q(0079) => q(tf),
-      q(0080) => q(ga),
-      q(0081) => q(gm),
-      q(0082) => q(ge),
-      q(0083) => q(de),
-      q(0084) => q(gh),
-      q(0085) => q(gi),
-      q(0086) => q(gr),
-      q(0087) => q(gl),
-      q(0088) => q(gd),
-      q(0089) => q(gp),
-      q(0090) => q(gu),
-      q(0091) => q(gt),
-      q(0092) => q(gg),
-      q(0093) => q(gn),
-      q(0094) => q(gw),
-      q(0095) => q(gy),
-      q(0096) => q(ht),
-      q(0097) => q(hm),
-      q(0098) => q(va),
-      q(0099) => q(hn),
-      q(0100) => q(hk),
-      q(0101) => q(hu),
-      q(0102) => q(is),
-      q(0103) => q(in),
-      q(0104) => q(id),
-      q(0105) => q(ir),
-      q(0106) => q(iq),
-      q(0107) => q(ie),
-      q(0108) => q(im),
-      q(0109) => q(il),
-      q(0110) => q(it),
-      q(0111) => q(jm),
-      q(0112) => q(jp),
-      q(0113) => q(je),
-      q(0114) => q(jo),
-      q(0115) => q(kz),
-      q(0116) => q(ke),
-      q(0117) => q(ki),
-      q(0118) => q(kp),
-      q(0119) => q(kr),
-      q(0120) => q(kw),
-      q(0121) => q(kg),
-      q(0122) => q(la),
-      q(0123) => q(lv),
-      q(0124) => q(lb),
-      q(0125) => q(ls),
-      q(0126) => q(lr),
-      q(0127) => q(ly),
-      q(0128) => q(li),
-      q(0129) => q(lt),
-      q(0130) => q(lu),
-      q(0131) => q(mo),
-      q(0132) => q(mk),
-      q(0133) => q(mg),
-      q(0134) => q(mw),
-      q(0135) => q(my),
-      q(0136) => q(mv),
-      q(0137) => q(ml),
-      q(0138) => q(mt),
-      q(0139) => q(mh),
-      q(0140) => q(mq),
-      q(0141) => q(mr),
-      q(0142) => q(mu),
-      q(0143) => q(yt),
-      q(0144) => q(mx),
-      q(0145) => q(fm),
-      q(0146) => q(md),
-      q(0147) => q(mc),
-      q(0148) => q(mn),
-      q(0149) => q(me),
-      q(0150) => q(ms),
-      q(0151) => q(ma),
-      q(0152) => q(mz),
-      q(0153) => q(mm),
-      q(0154) => q(na),
-      q(0155) => q(nr),
-      q(0156) => q(np),
-      q(0157) => q(nl),
-      q(0158) => q(nc),
-      q(0159) => q(nz),
-      q(0160) => q(ni),
-      q(0161) => q(ne),
-      q(0162) => q(ng),
-      q(0163) => q(nu),
-      q(0164) => q(nf),
-      q(0165) => q(mp),
-      q(0166) => q(no),
-      q(0167) => q(om),
-      q(0168) => q(pk),
-      q(0169) => q(pw),
-      q(0170) => q(ps),
-      q(0171) => q(pa),
-      q(0172) => q(pg),
-      q(0173) => q(py),
-      q(0174) => q(pe),
-      q(0175) => q(ph),
-      q(0176) => q(pn),
-      q(0177) => q(pl),
-      q(0178) => q(pt),
-      q(0179) => q(pr),
-      q(0180) => q(qa),
-      q(0181) => q(re),
-      q(0182) => q(ro),
-      q(0183) => q(ru),
-      q(0184) => q(rw),
-      q(0185) => q(bl),
-      q(0186) => q(sh),
-      q(0187) => q(kn),
-      q(0188) => q(lc),
-      q(0189) => q(mf),
-      q(0190) => q(pm),
-      q(0191) => q(vc),
-      q(0192) => q(ws),
-      q(0193) => q(sm),
-      q(0194) => q(st),
-      q(0195) => q(sa),
-      q(0196) => q(sn),
-      q(0197) => q(rs),
-      q(0198) => q(sc),
-      q(0199) => q(sl),
-      q(0200) => q(sg),
-      q(0201) => q(sx),
-      q(0202) => q(sk),
-      q(0203) => q(si),
-      q(0204) => q(sb),
-      q(0205) => q(so),
-      q(0206) => q(za),
-      q(0207) => q(gs),
-      q(0208) => q(es),
-      q(0209) => q(lk),
-      q(0210) => q(sd),
-      q(0211) => q(sr),
-      q(0212) => q(sj),
-      q(0213) => q(sz),
-      q(0214) => q(se),
-      q(0215) => q(ch),
-      q(0216) => q(sy),
-      q(0217) => q(tw),
-      q(0218) => q(tj),
-      q(0219) => q(tz),
-      q(0220) => q(th),
-      q(0221) => q(tl),
-      q(0222) => q(tg),
-      q(0223) => q(tk),
-      q(0224) => q(to),
-      q(0225) => q(tt),
-      q(0226) => q(tn),
-      q(0227) => q(tr),
-      q(0228) => q(tm),
-      q(0229) => q(tc),
-      q(0230) => q(tv),
-      q(0231) => q(ug),
-      q(0232) => q(ua),
-      q(0233) => q(ae),
-      q(0234) => q(gb),
-      q(0235) => q(us),
-      q(0236) => q(um),
-      q(0237) => q(uy),
-      q(0238) => q(uz),
-      q(0239) => q(vu),
-      q(0240) => q(ve),
-      q(0241) => q(vn),
-      q(0242) => q(vg),
-      q(0243) => q(vi),
-      q(0244) => q(wf),
-      q(0245) => q(eh),
-      q(0246) => q(ye),
-      q(0247) => q(zm),
-      q(0248) => q(zw),
-      q(0267) => q(an),
-      q(0279) => q(fx),
-      },
-   q(alpha3) => {
-      q(0001) => q(afg),
-      q(0002) => q(ala),
-      q(0003) => q(alb),
-      q(0004) => q(dza),
-      q(0005) => q(asm),
-      q(0006) => q(and),
-      q(0007) => q(ago),
-      q(0008) => q(aia),
-      q(0009) => q(ata),
-      q(0010) => q(atg),
-      q(0011) => q(arg),
-      q(0012) => q(arm),
-      q(0013) => q(abw),
-      q(0014) => q(aus),
-      q(0015) => q(aut),
-      q(0016) => q(aze),
-      q(0017) => q(bhs),
-      q(0018) => q(bhr),
-      q(0019) => q(bgd),
-      q(0020) => q(brb),
-      q(0021) => q(blr),
-      q(0022) => q(bel),
-      q(0023) => q(blz),
-      q(0024) => q(ben),
-      q(0025) => q(bmu),
-      q(0026) => q(btn),
-      q(0027) => q(bol),
-      q(0028) => q(bes),
-      q(0029) => q(bih),
-      q(0030) => q(bwa),
-      q(0031) => q(bvt),
-      q(0032) => q(bra),
-      q(0033) => q(iot),
-      q(0034) => q(brn),
-      q(0035) => q(bgr),
-      q(0036) => q(bfa),
-      q(0037) => q(bdi),
-      q(0038) => q(khm),
-      q(0039) => q(cmr),
-      q(0040) => q(can),
-      q(0041) => q(cpv),
-      q(0042) => q(cym),
-      q(0043) => q(caf),
-      q(0044) => q(tcd),
-      q(0045) => q(chl),
-      q(0046) => q(chn),
-      q(0047) => q(cxr),
-      q(0048) => q(cck),
-      q(0049) => q(col),
-      q(0050) => q(com),
-      q(0051) => q(cog),
-      q(0052) => q(cod),
-      q(0053) => q(cok),
-      q(0054) => q(cri),
-      q(0055) => q(civ),
-      q(0056) => q(hrv),
-      q(0057) => q(cub),
-      q(0058) => q(cuw),
-      q(0059) => q(cyp),
-      q(0060) => q(cze),
-      q(0061) => q(dnk),
-      q(0062) => q(dji),
-      q(0063) => q(dma),
-      q(0064) => q(dom),
-      q(0065) => q(ecu),
-      q(0066) => q(egy),
-      q(0067) => q(slv),
-      q(0068) => q(gnq),
-      q(0069) => q(eri),
-      q(0070) => q(est),
-      q(0071) => q(eth),
-      q(0072) => q(flk),
-      q(0073) => q(fro),
-      q(0074) => q(fji),
-      q(0075) => q(fin),
-      q(0076) => q(fra),
-      q(0077) => q(guf),
-      q(0078) => q(pyf),
-      q(0079) => q(atf),
-      q(0080) => q(gab),
-      q(0081) => q(gmb),
-      q(0082) => q(geo),
-      q(0083) => q(deu),
-      q(0084) => q(gha),
-      q(0085) => q(gib),
-      q(0086) => q(grc),
-      q(0087) => q(grl),
-      q(0088) => q(grd),
-      q(0089) => q(glp),
-      q(0090) => q(gum),
-      q(0091) => q(gtm),
-      q(0092) => q(ggy),
-      q(0093) => q(gin),
-      q(0094) => q(gnb),
-      q(0095) => q(guy),
-      q(0096) => q(hti),
-      q(0097) => q(hmd),
-      q(0098) => q(vat),
-      q(0099) => q(hnd),
-      q(0100) => q(hkg),
-      q(0101) => q(hun),
-      q(0102) => q(isl),
-      q(0103) => q(ind),
-      q(0104) => q(idn),
-      q(0105) => q(irn),
-      q(0106) => q(irq),
-      q(0107) => q(irl),
-      q(0108) => q(imn),
-      q(0109) => q(isr),
-      q(0110) => q(ita),
-      q(0111) => q(jam),
-      q(0112) => q(jpn),
-      q(0113) => q(jey),
-      q(0114) => q(jor),
-      q(0115) => q(kaz),
-      q(0116) => q(ken),
-      q(0117) => q(kir),
-      q(0118) => q(prk),
-      q(0119) => q(kor),
-      q(0120) => q(kwt),
-      q(0121) => q(kgz),
-      q(0122) => q(lao),
-      q(0123) => q(lva),
-      q(0124) => q(lbn),
-      q(0125) => q(lso),
-      q(0126) => q(lbr),
-      q(0127) => q(lby),
-      q(0128) => q(lie),
-      q(0129) => q(ltu),
-      q(0130) => q(lux),
-      q(0131) => q(mac),
-      q(0132) => q(mkd),
-      q(0133) => q(mdg),
-      q(0134) => q(mwi),
-      q(0135) => q(mys),
-      q(0136) => q(mdv),
-      q(0137) => q(mli),
-      q(0138) => q(mlt),
-      q(0139) => q(mhl),
-      q(0140) => q(mtq),
-      q(0141) => q(mrt),
-      q(0142) => q(mus),
-      q(0143) => q(myt),
-      q(0144) => q(mex),
-      q(0145) => q(fsm),
-      q(0146) => q(mda),
-      q(0147) => q(mco),
-      q(0148) => q(mng),
-      q(0149) => q(mne),
-      q(0150) => q(msr),
-      q(0151) => q(mar),
-      q(0152) => q(moz),
-      q(0153) => q(mmr),
-      q(0154) => q(nam),
-      q(0155) => q(nru),
-      q(0156) => q(npl),
-      q(0157) => q(nld),
-      q(0158) => q(ncl),
-      q(0159) => q(nzl),
-      q(0160) => q(nic),
-      q(0161) => q(ner),
-      q(0162) => q(nga),
-      q(0163) => q(niu),
-      q(0164) => q(nfk),
-      q(0165) => q(mnp),
-      q(0166) => q(nor),
-      q(0167) => q(omn),
-      q(0168) => q(pak),
-      q(0169) => q(plw),
-      q(0170) => q(pse),
-      q(0171) => q(pan),
-      q(0172) => q(png),
-      q(0173) => q(pry),
-      q(0174) => q(per),
-      q(0175) => q(phl),
-      q(0176) => q(pcn),
-      q(0177) => q(pol),
-      q(0178) => q(prt),
-      q(0179) => q(pri),
-      q(0180) => q(qat),
-      q(0181) => q(reu),
-      q(0182) => q(rou),
-      q(0183) => q(rus),
-      q(0184) => q(rwa),
-      q(0185) => q(blm),
-      q(0186) => q(shn),
-      q(0187) => q(kna),
-      q(0188) => q(lca),
-      q(0189) => q(maf),
-      q(0190) => q(spm),
-      q(0191) => q(vct),
-      q(0192) => q(wsm),
-      q(0193) => q(smr),
-      q(0194) => q(stp),
-      q(0195) => q(sau),
-      q(0196) => q(sen),
-      q(0197) => q(srb),
-      q(0198) => q(syc),
-      q(0199) => q(sle),
-      q(0200) => q(sgp),
-      q(0201) => q(sxm),
-      q(0202) => q(svk),
-      q(0203) => q(svn),
-      q(0204) => q(slb),
-      q(0205) => q(som),
-      q(0206) => q(zaf),
-      q(0208) => q(esp),
-      q(0209) => q(lka),
-      q(0210) => q(sdn),
-      q(0211) => q(sur),
-      q(0212) => q(sjm),
-      q(0213) => q(swz),
-      q(0214) => q(swe),
-      q(0215) => q(che),
-      q(0216) => q(syr),
-      q(0217) => q(twn),
-      q(0218) => q(tjk),
-      q(0219) => q(tza),
-      q(0220) => q(tha),
-      q(0221) => q(tls),
-      q(0222) => q(tgo),
-      q(0223) => q(tkl),
-      q(0224) => q(ton),
-      q(0225) => q(tto),
-      q(0226) => q(tun),
-      q(0227) => q(tur),
-      q(0228) => q(tkm),
-      q(0229) => q(tca),
-      q(0230) => q(tuv),
-      q(0231) => q(uga),
-      q(0232) => q(ukr),
-      q(0233) => q(are),
-      q(0234) => q(gbr),
-      q(0235) => q(usa),
-      q(0236) => q(umi),
-      q(0237) => q(ury),
-      q(0238) => q(uzb),
-      q(0239) => q(vut),
-      q(0240) => q(ven),
-      q(0241) => q(vnm),
-      q(0242) => q(vgb),
-      q(0243) => q(vir),
-      q(0244) => q(wlf),
-      q(0245) => q(esh),
-      q(0246) => q(yem),
-      q(0247) => q(zmb),
-      q(0248) => q(zwe),
-      q(0267) => q(ant),
-      q(0279) => q(fxx),
-      },
-   q(dom) => {
-      q(0001) => q(AF),
-      q(0002) => q(AX),
-      q(0003) => q(AL),
-      q(0004) => q(DZ),
-      q(0005) => q(AS),
-      q(0006) => q(AD),
-      q(0007) => q(AO),
-      q(0008) => q(AI),
-      q(0009) => q(AQ),
-      q(0010) => q(AG),
-      q(0011) => q(AR),
-      q(0012) => q(AM),
-      q(0013) => q(AW),
-      q(0014) => q(AU),
-      q(0015) => q(AT),
-      q(0016) => q(AZ),
-      q(0017) => q(BS),
-      q(0018) => q(BH),
-      q(0019) => q(BD),
-      q(0020) => q(BB),
-      q(0021) => q(BY),
-      q(0022) => q(BE),
-      q(0023) => q(BZ),
-      q(0024) => q(BJ),
-      q(0025) => q(BM),
-      q(0026) => q(BT),
-      q(0027) => q(BO),
-      q(0028) => q(BQ),
-      q(0029) => q(BA),
-      q(0030) => q(BW),
-      q(0031) => q(BV),
-      q(0032) => q(BR),
-      q(0033) => q(IO),
-      q(0034) => q(BN),
-      q(0035) => q(BG),
-      q(0036) => q(BF),
-      q(0037) => q(BI),
-      q(0038) => q(KH),
-      q(0039) => q(CM),
-      q(0040) => q(CA),
-      q(0041) => q(CV),
-      q(0042) => q(KY),
-      q(0043) => q(CF),
-      q(0044) => q(TD),
-      q(0045) => q(CL),
-      q(0046) => q(CN),
-      q(0047) => q(CX),
-      q(0048) => q(CC),
-      q(0049) => q(CO),
-      q(0050) => q(KM),
-      q(0051) => q(CG),
-      q(0052) => q(CD),
-      q(0053) => q(CK),
-      q(0054) => q(CR),
-      q(0055) => q(CI),
-      q(0056) => q(HR),
-      q(0057) => q(CU),
-      q(0058) => q(CW),
-      q(0059) => q(CY),
-      q(0060) => q(CZ),
-      q(0061) => q(DK),
-      q(0062) => q(DJ),
-      q(0063) => q(DM),
-      q(0064) => q(DO),
-      q(0065) => q(EC),
-      q(0066) => q(EG),
-      q(0067) => q(SV),
-      q(0068) => q(GQ),
-      q(0069) => q(ER),
-      q(0070) => q(EE),
-      q(0071) => q(ET),
-      q(0072) => q(FK),
-      q(0073) => q(FO),
-      q(0074) => q(FJ),
-      q(0075) => q(FI),
-      q(0076) => q(FR),
-      q(0077) => q(GF),
-      q(0078) => q(PF),
-      q(0079) => q(TF),
-      q(0080) => q(GA),
-      q(0081) => q(GM),
-      q(0082) => q(GE),
-      q(0083) => q(DE),
-      q(0084) => q(GH),
-      q(0085) => q(GI),
-      q(0086) => q(GR),
-      q(0087) => q(GL),
-      q(0088) => q(GD),
-      q(0089) => q(GP),
-      q(0090) => q(GU),
-      q(0091) => q(GT),
-      q(0092) => q(GG),
-      q(0093) => q(GN),
-      q(0094) => q(GW),
-      q(0095) => q(GY),
-      q(0096) => q(HT),
-      q(0097) => q(HM),
-      q(0098) => q(VA),
-      q(0099) => q(HN),
-      q(0100) => q(HK),
-      q(0101) => q(HU),
-      q(0102) => q(IS),
-      q(0103) => q(IN),
-      q(0104) => q(ID),
-      q(0105) => q(IR),
-      q(0106) => q(IQ),
-      q(0107) => q(IE),
-      q(0108) => q(IM),
-      q(0109) => q(IL),
-      q(0110) => q(IT),
-      q(0111) => q(JM),
-      q(0112) => q(JP),
-      q(0113) => q(JE),
-      q(0114) => q(JO),
-      q(0115) => q(KZ),
-      q(0116) => q(KE),
-      q(0117) => q(KI),
-      q(0118) => q(KP),
-      q(0119) => q(KR),
-      q(0120) => q(KW),
-      q(0121) => q(KG),
-      q(0122) => q(LA),
-      q(0123) => q(LV),
-      q(0124) => q(LB),
-      q(0125) => q(LS),
-      q(0126) => q(LR),
-      q(0127) => q(LY),
-      q(0128) => q(LI),
-      q(0129) => q(LT),
-      q(0130) => q(LU),
-      q(0131) => q(MO),
-      q(0132) => q(MK),
-      q(0133) => q(MG),
-      q(0134) => q(MW),
-      q(0135) => q(MY),
-      q(0136) => q(MV),
-      q(0137) => q(ML),
-      q(0138) => q(MT),
-      q(0139) => q(MH),
-      q(0140) => q(MQ),
-      q(0141) => q(MR),
-      q(0142) => q(MU),
-      q(0143) => q(YT),
-      q(0144) => q(MX),
-      q(0145) => q(FM),
-      q(0146) => q(MD),
-      q(0147) => q(MC),
-      q(0148) => q(MN),
-      q(0149) => q(ME),
-      q(0150) => q(MS),
-      q(0151) => q(MA),
-      q(0152) => q(MZ),
-      q(0153) => q(MM),
-      q(0154) => q(NA),
-      q(0155) => q(NR),
-      q(0156) => q(NP),
-      q(0157) => q(NL),
-      q(0158) => q(NC),
-      q(0159) => q(NZ),
-      q(0160) => q(NI),
-      q(0161) => q(NE),
-      q(0162) => q(NG),
-      q(0163) => q(NU),
-      q(0164) => q(NF),
-      q(0165) => q(MP),
-      q(0166) => q(NO),
-      q(0167) => q(OM),
-      q(0168) => q(PK),
-      q(0169) => q(PW),
-      q(0170) => q(PS),
-      q(0171) => q(PA),
-      q(0172) => q(PG),
-      q(0173) => q(PY),
-      q(0174) => q(PE),
-      q(0175) => q(PH),
-      q(0176) => q(PN),
-      q(0177) => q(PL),
-      q(0178) => q(PT),
-      q(0179) => q(PR),
-      q(0180) => q(QA),
-      q(0181) => q(RE),
-      q(0182) => q(RO),
-      q(0183) => q(RU),
-      q(0184) => q(RW),
-      q(0185) => q(BL),
-      q(0186) => q(SH),
-      q(0187) => q(KN),
-      q(0188) => q(LC),
-      q(0189) => q(MF),
-      q(0190) => q(PM),
-      q(0191) => q(VC),
-      q(0192) => q(WS),
-      q(0193) => q(SM),
-      q(0194) => q(ST),
-      q(0195) => q(SA),
-      q(0196) => q(SN),
-      q(0197) => q(RS),
-      q(0198) => q(SC),
-      q(0199) => q(SL),
-      q(0200) => q(SG),
-      q(0201) => q(SX),
-      q(0202) => q(SK),
-      q(0203) => q(SI),
-      q(0204) => q(SB),
-      q(0205) => q(SO),
-      q(0206) => q(ZA),
-      q(0207) => q(GS),
-      q(0208) => q(ES),
-      q(0209) => q(LK),
-      q(0210) => q(SD),
-      q(0211) => q(SR),
-      q(0212) => q(SJ),
-      q(0213) => q(SZ),
-      q(0214) => q(SE),
-      q(0215) => q(CH),
-      q(0216) => q(SY),
-      q(0217) => q(TW),
-      q(0218) => q(TJ),
-      q(0219) => q(TZ),
-      q(0220) => q(TH),
-      q(0221) => q(TL),
-      q(0222) => q(TG),
-      q(0223) => q(TK),
-      q(0224) => q(TO),
-      q(0225) => q(TT),
-      q(0226) => q(TN),
-      q(0227) => q(TR),
-      q(0228) => q(TM),
-      q(0229) => q(TC),
-      q(0230) => q(TV),
-      q(0231) => q(UG),
-      q(0232) => q(UA),
-      q(0233) => q(AE),
-      q(0234) => q(UK),
-      q(0235) => q(US),
-      q(0236) => q(UM),
-      q(0237) => q(UY),
-      q(0238) => q(UZ),
-      q(0239) => q(VU),
-      q(0240) => q(VE),
-      q(0241) => q(VN),
-      q(0242) => q(VG),
-      q(0243) => q(VI),
-      q(0244) => q(WF),
-      q(0245) => q(EH),
-      q(0246) => q(YE),
-      q(0247) => q(ZM),
-      q(0248) => q(ZW),
-      q(0267) => q(AN),
-      q(0275) => q(AC),
-      q(0276) => q(EU),
-      q(0277) => q(SU),
-      q(0278) => q(TP),
-      q(0279) => q(FX),
-      },
-   q(fips) => {
-      q(0001) => q(AF),
-      q(0003) => q(AL),
-      q(0004) => q(AG),
-      q(0005) => q(AQ),
-      q(0006) => q(AN),
-      q(0007) => q(AO),
-      q(0008) => q(AV),
-      q(0009) => q(AY),
-      q(0010) => q(AC),
-      q(0011) => q(AR),
-      q(0012) => q(AM),
-      q(0013) => q(AA),
-      q(0014) => q(AS),
-      q(0015) => q(AU),
-      q(0016) => q(AJ),
-      q(0017) => q(BF),
-      q(0018) => q(BA),
-      q(0019) => q(BG),
-      q(0020) => q(BB),
-      q(0021) => q(BO),
-      q(0022) => q(BE),
-      q(0023) => q(BH),
-      q(0024) => q(BN),
-      q(0025) => q(BD),
-      q(0026) => q(BT),
-      q(0027) => q(BL),
-      q(0029) => q(BK),
-      q(0030) => q(BC),
-      q(0031) => q(BV),
-      q(0032) => q(BR),
-      q(0033) => q(IO),
-      q(0034) => q(BX),
-      q(0035) => q(BU),
-      q(0036) => q(UV),
-      q(0037) => q(BY),
-      q(0038) => q(CB),
-      q(0039) => q(CM),
-      q(0040) => q(CA),
-      q(0041) => q(CV),
-      q(0042) => q(CJ),
-      q(0043) => q(CT),
-      q(0044) => q(CD),
-      q(0045) => q(CI),
-      q(0046) => q(CH),
-      q(0047) => q(KT),
-      q(0048) => q(CK),
-      q(0049) => q(CO),
-      q(0050) => q(CN),
-      q(0051) => q(CF),
-      q(0052) => q(CG),
-      q(0053) => q(CW),
-      q(0054) => q(CS),
-      q(0055) => q(IV),
-      q(0056) => q(HR),
-      q(0057) => q(CU),
-      q(0058) => q(UC),
-      q(0059) => q(CY),
-      q(0060) => q(EZ),
-      q(0061) => q(DA),
-      q(0062) => q(DJ),
-      q(0063) => q(DO),
-      q(0064) => q(DR),
-      q(0065) => q(EC),
-      q(0066) => q(EG),
-      q(0067) => q(ES),
-      q(0068) => q(EK),
-      q(0069) => q(ER),
-      q(0070) => q(EN),
-      q(0071) => q(ET),
-      q(0072) => q(FK),
-      q(0073) => q(FO),
-      q(0074) => q(FJ),
-      q(0075) => q(FI),
-      q(0076) => q(FR),
-      q(0077) => q(FG),
-      q(0078) => q(FP),
-      q(0079) => q(FS),
-      q(0080) => q(GB),
-      q(0081) => q(GA),
-      q(0082) => q(GG),
-      q(0083) => q(GM),
-      q(0084) => q(GH),
-      q(0085) => q(GI),
-      q(0086) => q(GR),
-      q(0087) => q(GL),
-      q(0088) => q(GJ),
-      q(0089) => q(GP),
-      q(0090) => q(GQ),
-      q(0091) => q(GT),
-      q(0092) => q(GK),
-      q(0093) => q(GV),
-      q(0094) => q(PU),
-      q(0095) => q(GY),
-      q(0096) => q(HA),
-      q(0097) => q(HM),
-      q(0098) => q(VT),
-      q(0099) => q(HO),
-      q(0100) => q(HK),
-      q(0101) => q(HU),
-      q(0102) => q(IC),
-      q(0103) => q(IN),
-      q(0104) => q(ID),
-      q(0105) => q(IR),
-      q(0106) => q(IZ),
-      q(0107) => q(EI),
-      q(0108) => q(IM),
-      q(0109) => q(IS),
-      q(0110) => q(IT),
-      q(0111) => q(JM),
-      q(0112) => q(JA),
-      q(0113) => q(JE),
-      q(0114) => q(JO),
-      q(0115) => q(KZ),
-      q(0116) => q(KE),
-      q(0117) => q(KR),
-      q(0118) => q(KN),
-      q(0119) => q(KS),
-      q(0120) => q(KU),
-      q(0121) => q(KG),
-      q(0122) => q(LA),
-      q(0123) => q(LG),
-      q(0124) => q(LE),
-      q(0125) => q(LT),
-      q(0126) => q(LI),
-      q(0127) => q(LY),
-      q(0128) => q(LS),
-      q(0129) => q(LH),
-      q(0130) => q(LU),
-      q(0131) => q(MC),
-      q(0132) => q(MK),
-      q(0133) => q(MA),
-      q(0134) => q(MI),
-      q(0135) => q(MY),
-      q(0136) => q(MV),
-      q(0137) => q(ML),
-      q(0138) => q(MT),
-      q(0139) => q(RM),
-      q(0140) => q(MB),
-      q(0141) => q(MR),
-      q(0142) => q(MP),
-      q(0143) => q(MF),
-      q(0144) => q(MX),
-      q(0145) => q(FM),
-      q(0146) => q(MD),
-      q(0147) => q(MN),
-      q(0148) => q(MG),
-      q(0149) => q(MJ),
-      q(0150) => q(MH),
-      q(0151) => q(MO),
-      q(0152) => q(MZ),
-      q(0153) => q(BM),
-      q(0154) => q(WA),
-      q(0155) => q(NR),
-      q(0156) => q(NP),
-      q(0157) => q(NL),
-      q(0158) => q(NC),
-      q(0159) => q(NZ),
-      q(0160) => q(NU),
-      q(0161) => q(NG),
-      q(0162) => q(NI),
-      q(0163) => q(NE),
-      q(0164) => q(NF),
-      q(0165) => q(CQ),
-      q(0166) => q(NO),
-      q(0167) => q(MU),
-      q(0168) => q(PK),
-      q(0169) => q(PS),
-      q(0171) => q(PM),
-      q(0172) => q(PP),
-      q(0173) => q(PA),
-      q(0174) => q(PE),
-      q(0175) => q(RP),
-      q(0176) => q(PC),
-      q(0177) => q(PL),
-      q(0178) => q(PO),
-      q(0179) => q(RQ),
-      q(0180) => q(QA),
-      q(0181) => q(RE),
-      q(0182) => q(RO),
-      q(0183) => q(RS),
-      q(0184) => q(RW),
-      q(0185) => q(TB),
-      q(0186) => q(SH),
-      q(0187) => q(SC),
-      q(0188) => q(ST),
-      q(0189) => q(RN),
-      q(0190) => q(SB),
-      q(0191) => q(VC),
-      q(0192) => q(WS),
-      q(0193) => q(SM),
-      q(0194) => q(TP),
-      q(0195) => q(SA),
-      q(0196) => q(SG),
-      q(0197) => q(RI),
-      q(0198) => q(SE),
-      q(0199) => q(SL),
-      q(0200) => q(SN),
-      q(0202) => q(LO),
-      q(0203) => q(SI),
-      q(0204) => q(BP),
-      q(0205) => q(SO),
-      q(0206) => q(SF),
-      q(0207) => q(SX),
-      q(0208) => q(SP),
-      q(0209) => q(CE),
-      q(0210) => q(SU),
-      q(0211) => q(NS),
-      q(0213) => q(WZ),
-      q(0214) => q(SW),
-      q(0215) => q(SZ),
-      q(0216) => q(SY),
-      q(0217) => q(TW),
-      q(0218) => q(TI),
-      q(0219) => q(TZ),
-      q(0220) => q(TH),
-      q(0221) => q(TT),
-      q(0222) => q(TO),
-      q(0223) => q(TL),
-      q(0224) => q(TN),
-      q(0225) => q(TD),
-      q(0226) => q(TS),
-      q(0227) => q(TU),
-      q(0228) => q(TX),
-      q(0229) => q(TK),
-      q(0230) => q(TV),
-      q(0231) => q(UG),
-      q(0232) => q(UP),
-      q(0233) => q(AE),
-      q(0234) => q(UK),
-      q(0235) => q(US),
-      q(0237) => q(UY),
-      q(0238) => q(UZ),
-      q(0239) => q(NH),
-      q(0240) => q(VE),
-      q(0241) => q(VM),
-      q(0242) => q(VI),
-      q(0243) => q(VQ),
-      q(0244) => q(WF),
-      q(0245) => q(WI),
-      q(0246) => q(YM),
-      q(0247) => q(ZA),
-      q(0248) => q(ZI),
-      q(0250) => q(YI),
-      q(0251) => q(AT),
-      q(0252) => q(FQ),
-      q(0253) => q(BS),
-      q(0254) => q(IP),
-      q(0255) => q(CR),
-      q(0256) => q(EU),
-      q(0257) => q(GZ),
-      q(0258) => q(GO),
-      q(0259) => q(HQ),
-      q(0260) => q(JN),
-      q(0261) => q(DQ),
-      q(0262) => q(JQ),
-      q(0263) => q(JU),
-      q(0264) => q(KQ),
-      q(0265) => q(MQ),
-      q(0266) => q(BQ),
-      q(0267) => q(NT),
-      q(0268) => q(LQ),
-      q(0269) => q(PF),
-      q(0270) => q(PG),
-      q(0271) => q(SV),
-      q(0272) => q(TE),
-      q(0273) => q(WQ),
-      q(0274) => q(WE),
-      q(0280) => q(KV),
-      },
-   q(num) => {
-      q(0001) => q(004),
-      q(0002) => q(248),
-      q(0003) => q(008),
-      q(0004) => q(012),
-      q(0005) => q(016),
-      q(0006) => q(020),
-      q(0007) => q(024),
-      q(0008) => q(660),
-      q(0009) => q(010),
-      q(0010) => q(028),
-      q(0011) => q(032),
-      q(0012) => q(051),
-      q(0013) => q(533),
-      q(0014) => q(036),
-      q(0015) => q(040),
-      q(0016) => q(031),
-      q(0017) => q(044),
-      q(0018) => q(048),
-      q(0019) => q(050),
-      q(0020) => q(052),
-      q(0021) => q(112),
-      q(0022) => q(056),
-      q(0023) => q(084),
-      q(0024) => q(204),
-      q(0025) => q(060),
-      q(0026) => q(064),
-      q(0027) => q(068),
-      q(0028) => q(535),
-      q(0029) => q(070),
-      q(0030) => q(072),
-      q(0031) => q(074),
-      q(0032) => q(076),
-      q(0033) => q(086),
-      q(0034) => q(096),
-      q(0035) => q(100),
-      q(0036) => q(854),
-      q(0037) => q(108),
-      q(0038) => q(116),
-      q(0039) => q(120),
-      q(0040) => q(124),
-      q(0041) => q(132),
-      q(0042) => q(136),
-      q(0043) => q(140),
-      q(0044) => q(148),
-      q(0045) => q(152),
-      q(0046) => q(156),
-      q(0047) => q(162),
-      q(0048) => q(166),
-      q(0049) => q(170),
-      q(0050) => q(174),
-      q(0051) => q(178),
-      q(0052) => q(180),
-      q(0053) => q(184),
-      q(0054) => q(188),
-      q(0055) => q(384),
-      q(0056) => q(191),
-      q(0057) => q(192),
-      q(0058) => q(531),
-      q(0059) => q(196),
-      q(0060) => q(203),
-      q(0061) => q(208),
-      q(0062) => q(262),
-      q(0063) => q(212),
-      q(0064) => q(214),
-      q(0065) => q(218),
-      q(0066) => q(818),
-      q(0067) => q(222),
-      q(0068) => q(226),
-      q(0069) => q(232),
-      q(0070) => q(233),
-      q(0071) => q(231),
-      q(0072) => q(238),
-      q(0073) => q(234),
-      q(0074) => q(242),
-      q(0075) => q(246),
-      q(0076) => q(250),
-      q(0077) => q(254),
-      q(0078) => q(258),
-      q(0079) => q(260),
-      q(0080) => q(266),
-      q(0081) => q(270),
-      q(0082) => q(268),
-      q(0083) => q(276),
-      q(0084) => q(288),
-      q(0085) => q(292),
-      q(0086) => q(300),
-      q(0087) => q(304),
-      q(0088) => q(308),
-      q(0089) => q(312),
-      q(0090) => q(316),
-      q(0091) => q(320),
-      q(0092) => q(831),
-      q(0093) => q(324),
-      q(0094) => q(624),
-      q(0095) => q(328),
-      q(0096) => q(332),
-      q(0097) => q(334),
-      q(0098) => q(336),
-      q(0099) => q(340),
-      q(0100) => q(344),
-      q(0101) => q(348),
-      q(0102) => q(352),
-      q(0103) => q(356),
-      q(0104) => q(360),
-      q(0105) => q(364),
-      q(0106) => q(368),
-      q(0107) => q(372),
-      q(0108) => q(833),
-      q(0109) => q(376),
-      q(0110) => q(380),
-      q(0111) => q(388),
-      q(0112) => q(392),
-      q(0113) => q(832),
-      q(0114) => q(400),
-      q(0115) => q(398),
-      q(0116) => q(404),
-      q(0117) => q(296),
-      q(0118) => q(408),
-      q(0119) => q(410),
-      q(0120) => q(414),
-      q(0121) => q(417),
-      q(0122) => q(418),
-      q(0123) => q(428),
-      q(0124) => q(422),
-      q(0125) => q(426),
-      q(0126) => q(430),
-      q(0127) => q(434),
-      q(0128) => q(438),
-      q(0129) => q(440),
-      q(0130) => q(442),
-      q(0131) => q(446),
-      q(0132) => q(807),
-      q(0133) => q(450),
-      q(0134) => q(454),
-      q(0135) => q(458),
-      q(0136) => q(462),
-      q(0137) => q(466),
-      q(0138) => q(470),
-      q(0139) => q(584),
-      q(0140) => q(474),
-      q(0141) => q(478),
-      q(0142) => q(480),
-      q(0143) => q(175),
-      q(0144) => q(484),
-      q(0145) => q(583),
-      q(0146) => q(498),
-      q(0147) => q(492),
-      q(0148) => q(496),
-      q(0149) => q(499),
-      q(0150) => q(500),
-      q(0151) => q(504),
-      q(0152) => q(508),
-      q(0153) => q(104),
-      q(0154) => q(516),
-      q(0155) => q(520),
-      q(0156) => q(524),
-      q(0157) => q(528),
-      q(0158) => q(540),
-      q(0159) => q(554),
-      q(0160) => q(558),
-      q(0161) => q(562),
-      q(0162) => q(566),
-      q(0163) => q(570),
-      q(0164) => q(574),
-      q(0165) => q(580),
-      q(0166) => q(578),
-      q(0167) => q(512),
-      q(0168) => q(586),
-      q(0169) => q(585),
-      q(0170) => q(275),
-      q(0171) => q(591),
-      q(0172) => q(598),
-      q(0173) => q(600),
-      q(0174) => q(604),
-      q(0175) => q(608),
-      q(0176) => q(612),
-      q(0177) => q(616),
-      q(0178) => q(620),
-      q(0179) => q(630),
-      q(0180) => q(634),
-      q(0181) => q(638),
-      q(0182) => q(642),
-      q(0183) => q(643),
-      q(0184) => q(646),
-      q(0185) => q(652),
-      q(0186) => q(654),
-      q(0187) => q(659),
-      q(0188) => q(662),
-      q(0189) => q(663),
-      q(0190) => q(666),
-      q(0191) => q(670),
-      q(0192) => q(882),
-      q(0193) => q(674),
-      q(0194) => q(678),
-      q(0195) => q(682),
-      q(0196) => q(686),
-      q(0197) => q(688),
-      q(0198) => q(690),
-      q(0199) => q(694),
-      q(0200) => q(702),
-      q(0201) => q(534),
-      q(0202) => q(703),
-      q(0203) => q(705),
-      q(0204) => q(090),
-      q(0205) => q(706),
-      q(0206) => q(710),
-      q(0208) => q(724),
-      q(0209) => q(144),
-      q(0210) => q(736),
-      q(0211) => q(740),
-      q(0212) => q(744),
-      q(0213) => q(748),
-      q(0214) => q(752),
-      q(0215) => q(756),
-      q(0216) => q(760),
-      q(0217) => q(158),
-      q(0218) => q(762),
-      q(0219) => q(834),
-      q(0220) => q(764),
-      q(0221) => q(626),
-      q(0222) => q(768),
-      q(0223) => q(772),
-      q(0224) => q(776),
-      q(0225) => q(780),
-      q(0226) => q(788),
-      q(0227) => q(792),
-      q(0228) => q(795),
-      q(0229) => q(796),
-      q(0230) => q(798),
-      q(0231) => q(800),
-      q(0232) => q(804),
-      q(0233) => q(784),
-      q(0234) => q(826),
-      q(0235) => q(840),
-      q(0236) => q(581),
-      q(0237) => q(858),
-      q(0238) => q(860),
-      q(0239) => q(548),
-      q(0240) => q(862),
-      q(0241) => q(704),
-      q(0242) => q(092),
-      q(0243) => q(850),
-      q(0244) => q(876),
-      q(0245) => q(732),
-      q(0246) => q(887),
-      q(0247) => q(894),
-      q(0248) => q(716),
-      q(0249) => q(830),
-      q(0267) => q(530),
-      q(0279) => q(249),
-      },
-};
+sub alias_code {
+   my($alias,$code, at args) = @_;
+   my $success = rename_country_code($code,$alias, at args);
+   return 0  if (! $success);
+   return $alias;
+}
 
 1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Country.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,2954 +1,98 @@
 package Locale::Codes::Currency;
+# Copyright (C) 2001      Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2013 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
 
-# This file was automatically generated.  Any changes to this file will
-# be lost the next time 'get_codes' is run.
-#    Generated on: Tue Mar  1 14:45:12 EST 2011
+use strict;
+require 5.006;
+use warnings;
 
-=pod
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::Currency_Codes;
+use Locale::Codes::Currency_Retired;
 
-=head1 NAME
+#=======================================================================
+#       Public Global Variables
+#=======================================================================
 
-Locale::Codes::Currency - currency codes for the Locale::Currency module
+our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
 
-=head1 SYNOPSIS
+$VERSION='3.25';
+ at ISA       = qw(Exporter);
+ at EXPORT    = qw(code2currency
+                currency2code
+                all_currency_codes
+                all_currency_names
+                currency_code2code
+                LOCALE_CURR_ALPHA
+                LOCALE_CURR_NUMERIC
+               );
 
-This module contains data used by the Locale::Currency module. It is
-not intended to be used directly, and contains no calleable routines.
+sub code2currency {
+   return Locale::Codes::_code2name('currency', at _);
+}
 
-=head1 AUTHOR
+sub currency2code {
+   return Locale::Codes::_name2code('currency', at _);
+}
 
-See Locale::Codes for full author history.
+sub currency_code2code {
+   return Locale::Codes::_code2code('currency', at _);
+}
 
-Currently maintained by Sullivan Beck (sbeck at cpan.org).
+sub all_currency_codes {
+   return Locale::Codes::_all_codes('currency', at _);
+}
 
-=head1 COPYRIGHT
+sub all_currency_names {
+   return Locale::Codes::_all_names('currency', at _);
+}
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+sub rename_currency {
+   return Locale::Codes::_rename('currency', at _);
+}
 
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
+sub add_currency {
+   return Locale::Codes::_add_code('currency', at _);
+}
 
-=cut
+sub delete_currency {
+   return Locale::Codes::_delete_code('currency', at _);
+}
 
-use strict;
-use warnings;
-require 5.002;
+sub add_currency_alias {
+   return Locale::Codes::_add_alias('currency', at _);
+}
 
-our($VERSION);
-$VERSION='3.16';
+sub delete_currency_alias {
+   return Locale::Codes::_delete_alias('currency', at _);
+}
 
-$Locale::Codes::Data{'currency'}{'id'} = '0171';
+sub rename_currency_code {
+   return Locale::Codes::_rename_code('currency', at _);
+}
 
-$Locale::Codes::Data{'currency'}{'id2names'} = {
-   q(0001) => [
-      q(Afghani),
-      ],
-   q(0002) => [
-      q(Euro),
-      ],
-   q(0003) => [
-      q(Lek),
-      ],
-   q(0004) => [
-      q(Algerian Dinar),
-      ],
-   q(0005) => [
-      q(US Dollar),
-      ],
-   q(0006) => [
-      q(Kwanza),
-      ],
-   q(0007) => [
-      q(East Caribbean Dollar),
-      ],
-   q(0008) => [
-      q(Argentine Peso),
-      ],
-   q(0009) => [
-      q(Armenian Dram),
-      ],
-   q(0010) => [
-      q(Aruban Guilder),
-      ],
-   q(0011) => [
-      q(Australian Dollar),
-      ],
-   q(0012) => [
-      q(Azerbaijanian Manat),
-      ],
-   q(0013) => [
-      q(Bahamian Dollar),
-      ],
-   q(0014) => [
-      q(Bahraini Dinar),
-      ],
-   q(0015) => [
-      q(Taka),
-      ],
-   q(0016) => [
-      q(Barbados Dollar),
-      ],
-   q(0017) => [
-      q(Belarussian Ruble),
-      ],
-   q(0018) => [
-      q(Belize Dollar),
-      ],
-   q(0019) => [
-      q(CFA Franc BCEAO),
-      ],
-   q(0020) => [
-      q(Bermudian Dollar),
-      ],
-   q(0021) => [
-      q(Ngultrum),
-      ],
-   q(0022) => [
-      q(Indian Rupee),
-      ],
-   q(0023) => [
-      q(Boliviano),
-      ],
-   q(0024) => [
-      q(Mvdol),
-      ],
-   q(0025) => [
-      q(Convertible Mark),
-      ],
-   q(0026) => [
-      q(Pula),
-      ],
-   q(0027) => [
-      q(Norwegian Krone),
-      ],
-   q(0028) => [
-      q(Brazilian Real),
-      ],
-   q(0029) => [
-      q(Brunei Dollar),
-      ],
-   q(0030) => [
-      q(Bulgarian Lev),
-      ],
-   q(0031) => [
-      q(Burundi Franc),
-      ],
-   q(0032) => [
-      q(Riel),
-      ],
-   q(0033) => [
-      q(CFA Franc BEAC),
-      ],
-   q(0034) => [
-      q(Canadian Dollar),
-      ],
-   q(0035) => [
-      q(Cape Verde Escudo),
-      ],
-   q(0036) => [
-      q(Cayman Islands Dollar),
-      ],
-   q(0037) => [
-      q(Unidades de fomento),
-      ],
-   q(0038) => [
-      q(Chilean Peso),
-      ],
-   q(0039) => [
-      q(Yuan Renminbi),
-      ],
-   q(0040) => [
-      q(Colombian Peso),
-      ],
-   q(0041) => [
-      q(Unidad de Valor Real),
-      ],
-   q(0042) => [
-      q(Comoro Franc),
-      ],
-   q(0043) => [
-      q(Congolese Franc),
-      ],
-   q(0044) => [
-      q(New Zealand Dollar),
-      ],
-   q(0045) => [
-      q(Costa Rican Colon),
-      ],
-   q(0046) => [
-      q(Croatian Kuna),
-      ],
-   q(0047) => [
-      q(Peso Convertible),
-      ],
-   q(0048) => [
-      q(Cuban Peso),
-      ],
-   q(0049) => [
-      q(Netherlands Antillean Guilder),
-      ],
-   q(0050) => [
-      q(Czech Koruna),
-      ],
-   q(0051) => [
-      q(Danish Krone),
-      ],
-   q(0052) => [
-      q(Djibouti Franc),
-      ],
-   q(0053) => [
-      q(Dominican Peso),
-      ],
-   q(0054) => [
-      q(Egyptian Pound),
-      ],
-   q(0055) => [
-      q(El Salvador Colon),
-      ],
-   q(0056) => [
-      q(Nakfa),
-      ],
-   q(0057) => [
-      q(Ethiopian Birr),
-      ],
-   q(0058) => [
-      q(Falkland Islands Pound),
-      ],
-   q(0059) => [
-      q(Fiji Dollar),
-      ],
-   q(0060) => [
-      q(CFP Franc),
-      ],
-   q(0061) => [
-      q(Dalasi),
-      ],
-   q(0062) => [
-      q(Lari),
-      ],
-   q(0063) => [
-      q(Cedi),
-      ],
-   q(0064) => [
-      q(Gibraltar Pound),
-      ],
-   q(0065) => [
-      q(Quetzal),
-      ],
-   q(0066) => [
-      q(Pound Sterling),
-      ],
-   q(0067) => [
-      q(Guinea Franc),
-      ],
-   q(0068) => [
-      q(Guyana Dollar),
-      ],
-   q(0069) => [
-      q(Gourde),
-      ],
-   q(0070) => [
-      q(Lempira),
-      ],
-   q(0071) => [
-      q(Hong Kong Dollar),
-      ],
-   q(0072) => [
-      q(Forint),
-      ],
-   q(0073) => [
-      q(Iceland Krona),
-      ],
-   q(0074) => [
-      q(Rupiah),
-      ],
-   q(0075) => [
-      q(Iranian Rial),
-      ],
-   q(0076) => [
-      q(Iraqi Dinar),
-      ],
-   q(0077) => [
-      q(New Israeli Sheqel),
-      ],
-   q(0078) => [
-      q(Jamaican Dollar),
-      ],
-   q(0079) => [
-      q(Yen),
-      ],
-   q(0080) => [
-      q(Jordanian Dinar),
-      ],
-   q(0081) => [
-      q(Tenge),
-      ],
-   q(0082) => [
-      q(Kenyan Shilling),
-      ],
-   q(0083) => [
-      q(North Korean Won),
-      ],
-   q(0084) => [
-      q(Won),
-      ],
-   q(0085) => [
-      q(Kuwaiti Dinar),
-      ],
-   q(0086) => [
-      q(Som),
-      ],
-   q(0087) => [
-      q(Kip),
-      ],
-   q(0088) => [
-      q(Latvian Lats),
-      ],
-   q(0089) => [
-      q(Lebanese Pound),
-      ],
-   q(0090) => [
-      q(Loti),
-      ],
-   q(0091) => [
-      q(Rand),
-      ],
-   q(0092) => [
-      q(Liberian Dollar),
-      ],
-   q(0093) => [
-      q(Libyan Dinar),
-      ],
-   q(0094) => [
-      q(Swiss Franc),
-      ],
-   q(0095) => [
-      q(Lithuanian Litas),
-      ],
-   q(0096) => [
-      q(Pataca),
-      ],
-   q(0097) => [
-      q(Denar),
-      ],
-   q(0098) => [
-      q(Malagasy Ariary),
-      ],
-   q(0099) => [
-      q(Kwacha),
-      ],
-   q(0100) => [
-      q(Malaysian Ringgit),
-      ],
-   q(0101) => [
-      q(Rufiyaa),
-      ],
-   q(0102) => [
-      q(Ouguiya),
-      ],
-   q(0103) => [
-      q(Mauritius Rupee),
-      ],
-   q(0104) => [
-      q(Mexican Peso),
-      ],
-   q(0105) => [
-      q(Mexican Unidad de Inversion (UDI)),
-      ],
-   q(0106) => [
-      q(Moldovan Leu),
-      ],
-   q(0107) => [
-      q(Tugrik),
-      ],
-   q(0108) => [
-      q(Moroccan Dirham),
-      ],
-   q(0109) => [
-      q(Metical),
-      ],
-   q(0110) => [
-      q(Kyat),
-      ],
-   q(0111) => [
-      q(Namibia Dollar),
-      ],
-   q(0112) => [
-      q(Nepalese Rupee),
-      ],
-   q(0113) => [
-      q(Cordoba Oro),
-      ],
-   q(0114) => [
-      q(Naira),
-      ],
-   q(0115) => [
-      q(Rial Omani),
-      ],
-   q(0116) => [
-      q(Pakistan Rupee),
-      ],
-   q(0117) => [
-      q(Balboa),
-      ],
-   q(0118) => [
-      q(Kina),
-      ],
-   q(0119) => [
-      q(Guarani),
-      ],
-   q(0120) => [
-      q(Nuevo Sol),
-      ],
-   q(0121) => [
-      q(Philippine Peso),
-      ],
-   q(0122) => [
-      q(Zloty),
-      ],
-   q(0123) => [
-      q(Qatari Rial),
-      ],
-   q(0124) => [
-      q(Leu),
-      ],
-   q(0125) => [
-      q(Russian Ruble),
-      ],
-   q(0126) => [
-      q(Rwanda Franc),
-      ],
-   q(0127) => [
-      q(Saint Helena Pound),
-      ],
-   q(0128) => [
-      q(Tala),
-      ],
-   q(0129) => [
-      q(Dobra),
-      ],
-   q(0130) => [
-      q(Saudi Riyal),
-      ],
-   q(0131) => [
-      q(Serbian Dinar),
-      ],
-   q(0132) => [
-      q(Seychelles Rupee),
-      ],
-   q(0133) => [
-      q(Leone),
-      ],
-   q(0134) => [
-      q(Singapore Dollar),
-      ],
-   q(0135) => [
-      q(Sucre),
-      ],
-   q(0136) => [
-      q(Solomon Islands Dollar),
-      ],
-   q(0137) => [
-      q(Somali Shilling),
-      ],
-   q(0138) => [
-      q(Sri Lanka Rupee),
-      ],
-   q(0139) => [
-      q(Sudanese Pound),
-      ],
-   q(0140) => [
-      q(Surinam Dollar),
-      ],
-   q(0141) => [
-      q(Lilangeni),
-      ],
-   q(0142) => [
-      q(Swedish Krona),
-      ],
-   q(0143) => [
-      q(WIR Euro),
-      ],
-   q(0144) => [
-      q(WIR Franc),
-      ],
-   q(0145) => [
-      q(Syrian Pound),
-      ],
-   q(0146) => [
-      q(New Taiwan Dollar),
-      ],
-   q(0147) => [
-      q(Somoni),
-      ],
-   q(0148) => [
-      q(Tanzanian Shilling),
-      ],
-   q(0149) => [
-      q(Baht),
-      ],
-   q(0150) => [
-      q(Pa'anga),
-      ],
-   q(0151) => [
-      q(Trinidad and Tobago Dollar),
-      ],
-   q(0152) => [
-      q(Tunisian Dinar),
-      ],
-   q(0153) => [
-      q(Turkish Lira),
-      ],
-   q(0154) => [
-      q(New Manat),
-      ],
-   q(0155) => [
-      q(Uganda Shilling),
-      ],
-   q(0156) => [
-      q(Hryvnia),
-      ],
-   q(0157) => [
-      q(UAE Dirham),
-      ],
-   q(0158) => [
-      q(US Dollar (Next day)),
-      ],
-   q(0159) => [
-      q(US Dollar (Same day)),
-      ],
-   q(0160) => [
-      q(Uruguay Peso en Unidades Indexadas (URUIURUI)),
-      ],
-   q(0161) => [
-      q(Peso Uruguayo),
-      ],
-   q(0162) => [
-      q(Uzbekistan Sum),
-      ],
-   q(0163) => [
-      q(Vatu),
-      ],
-   q(0164) => [
-      q(Bolivar Fuerte),
-      ],
-   q(0165) => [
-      q(Dong),
-      ],
-   q(0166) => [
-      q(Yemeni Rial),
-      ],
-   q(0167) => [
-      q(Zambian Kwacha),
-      ],
-   q(0168) => [
-      q(Zimbabwe Dollar),
-      ],
-   q(0169) => [
-      q(Gold),
-      ],
-   q(0170) => [
-      q(SDR (Special Drawing Right)),
-      ],
-};
+sub add_currency_code_alias {
+   return Locale::Codes::_add_code_alias('currency', at _);
+}
 
-$Locale::Codes::Data{'currency'}{'alias2id'} = {
-   q(afghani) => [
-      q(0001),
-      q(0),
-      ],
-   q(algerian dinar) => [
-      q(0004),
-      q(0),
-      ],
-   q(argentine peso) => [
-      q(0008),
-      q(0),
-      ],
-   q(armenian dram) => [
-      q(0009),
-      q(0),
-      ],
-   q(aruban guilder) => [
-      q(0010),
-      q(0),
-      ],
-   q(australian dollar) => [
-      q(0011),
-      q(0),
-      ],
-   q(azerbaijanian manat) => [
-      q(0012),
-      q(0),
-      ],
-   q(bahamian dollar) => [
-      q(0013),
-      q(0),
-      ],
-   q(bahraini dinar) => [
-      q(0014),
-      q(0),
-      ],
-   q(baht) => [
-      q(0149),
-      q(0),
-      ],
-   q(balboa) => [
-      q(0117),
-      q(0),
-      ],
-   q(barbados dollar) => [
-      q(0016),
-      q(0),
-      ],
-   q(belarussian ruble) => [
-      q(0017),
-      q(0),
-      ],
-   q(belize dollar) => [
-      q(0018),
-      q(0),
-      ],
-   q(bermudian dollar) => [
-      q(0020),
-      q(0),
-      ],
-   q(bolivar fuerte) => [
-      q(0164),
-      q(0),
-      ],
-   q(boliviano) => [
-      q(0023),
-      q(0),
-      ],
-   q(brazilian real) => [
-      q(0028),
-      q(0),
-      ],
-   q(brunei dollar) => [
-      q(0029),
-      q(0),
-      ],
-   q(bulgarian lev) => [
-      q(0030),
-      q(0),
-      ],
-   q(burundi franc) => [
-      q(0031),
-      q(0),
-      ],
-   q(canadian dollar) => [
-      q(0034),
-      q(0),
-      ],
-   q(cape verde escudo) => [
-      q(0035),
-      q(0),
-      ],
-   q(cayman islands dollar) => [
-      q(0036),
-      q(0),
-      ],
-   q(cedi) => [
-      q(0063),
-      q(0),
-      ],
-   q(cfa franc bceao) => [
-      q(0019),
-      q(0),
-      ],
-   q(cfa franc beac) => [
-      q(0033),
-      q(0),
-      ],
-   q(cfp franc) => [
-      q(0060),
-      q(0),
-      ],
-   q(chilean peso) => [
-      q(0038),
-      q(0),
-      ],
-   q(colombian peso) => [
-      q(0040),
-      q(0),
-      ],
-   q(comoro franc) => [
-      q(0042),
-      q(0),
-      ],
-   q(congolese franc) => [
-      q(0043),
-      q(0),
-      ],
-   q(convertible mark) => [
-      q(0025),
-      q(0),
-      ],
-   q(cordoba oro) => [
-      q(0113),
-      q(0),
-      ],
-   q(costa rican colon) => [
-      q(0045),
-      q(0),
-      ],
-   q(croatian kuna) => [
-      q(0046),
-      q(0),
-      ],
-   q(cuban peso) => [
-      q(0048),
-      q(0),
-      ],
-   q(czech koruna) => [
-      q(0050),
-      q(0),
-      ],
-   q(dalasi) => [
-      q(0061),
-      q(0),
-      ],
-   q(danish krone) => [
-      q(0051),
-      q(0),
-      ],
-   q(denar) => [
-      q(0097),
-      q(0),
-      ],
-   q(djibouti franc) => [
-      q(0052),
-      q(0),
-      ],
-   q(dobra) => [
-      q(0129),
-      q(0),
-      ],
-   q(dominican peso) => [
-      q(0053),
-      q(0),
-      ],
-   q(dong) => [
-      q(0165),
-      q(0),
-      ],
-   q(east caribbean dollar) => [
-      q(0007),
-      q(0),
-      ],
-   q(egyptian pound) => [
-      q(0054),
-      q(0),
-      ],
-   q(el salvador colon) => [
-      q(0055),
-      q(0),
-      ],
-   q(ethiopian birr) => [
-      q(0057),
-      q(0),
-      ],
-   q(euro) => [
-      q(0002),
-      q(0),
-      ],
-   q(falkland islands pound) => [
-      q(0058),
-      q(0),
-      ],
-   q(fiji dollar) => [
-      q(0059),
-      q(0),
-      ],
-   q(forint) => [
-      q(0072),
-      q(0),
-      ],
-   q(gibraltar pound) => [
-      q(0064),
-      q(0),
-      ],
-   q(gold) => [
-      q(0169),
-      q(0),
-      ],
-   q(gourde) => [
-      q(0069),
-      q(0),
-      ],
-   q(guarani) => [
-      q(0119),
-      q(0),
-      ],
-   q(guinea franc) => [
-      q(0067),
-      q(0),
-      ],
-   q(guyana dollar) => [
-      q(0068),
-      q(0),
-      ],
-   q(hong kong dollar) => [
-      q(0071),
-      q(0),
-      ],
-   q(hryvnia) => [
-      q(0156),
-      q(0),
-      ],
-   q(iceland krona) => [
-      q(0073),
-      q(0),
-      ],
-   q(indian rupee) => [
-      q(0022),
-      q(0),
-      ],
-   q(iranian rial) => [
-      q(0075),
-      q(0),
-      ],
-   q(iraqi dinar) => [
-      q(0076),
-      q(0),
-      ],
-   q(jamaican dollar) => [
-      q(0078),
-      q(0),
-      ],
-   q(jordanian dinar) => [
-      q(0080),
-      q(0),
-      ],
-   q(kenyan shilling) => [
-      q(0082),
-      q(0),
-      ],
-   q(kina) => [
-      q(0118),
-      q(0),
-      ],
-   q(kip) => [
-      q(0087),
-      q(0),
-      ],
-   q(kuwaiti dinar) => [
-      q(0085),
-      q(0),
-      ],
-   q(kwacha) => [
-      q(0099),
-      q(0),
-      ],
-   q(kwanza) => [
-      q(0006),
-      q(0),
-      ],
-   q(kyat) => [
-      q(0110),
-      q(0),
-      ],
-   q(lari) => [
-      q(0062),
-      q(0),
-      ],
-   q(latvian lats) => [
-      q(0088),
-      q(0),
-      ],
-   q(lebanese pound) => [
-      q(0089),
-      q(0),
-      ],
-   q(lek) => [
-      q(0003),
-      q(0),
-      ],
-   q(lempira) => [
-      q(0070),
-      q(0),
-      ],
-   q(leone) => [
-      q(0133),
-      q(0),
-      ],
-   q(leu) => [
-      q(0124),
-      q(0),
-      ],
-   q(liberian dollar) => [
-      q(0092),
-      q(0),
-      ],
-   q(libyan dinar) => [
-      q(0093),
-      q(0),
-      ],
-   q(lilangeni) => [
-      q(0141),
-      q(0),
-      ],
-   q(lithuanian litas) => [
-      q(0095),
-      q(0),
-      ],
-   q(loti) => [
-      q(0090),
-      q(0),
-      ],
-   q(malagasy ariary) => [
-      q(0098),
-      q(0),
-      ],
-   q(malaysian ringgit) => [
-      q(0100),
-      q(0),
-      ],
-   q(mauritius rupee) => [
-      q(0103),
-      q(0),
-      ],
-   q(metical) => [
-      q(0109),
-      q(0),
-      ],
-   q(mexican peso) => [
-      q(0104),
-      q(0),
-      ],
-   q(mexican unidad de inversion (udi)) => [
-      q(0105),
-      q(0),
-      ],
-   q(moldovan leu) => [
-      q(0106),
-      q(0),
-      ],
-   q(moroccan dirham) => [
-      q(0108),
-      q(0),
-      ],
-   q(mvdol) => [
-      q(0024),
-      q(0),
-      ],
-   q(naira) => [
-      q(0114),
-      q(0),
-      ],
-   q(nakfa) => [
-      q(0056),
-      q(0),
-      ],
-   q(namibia dollar) => [
-      q(0111),
-      q(0),
-      ],
-   q(nepalese rupee) => [
-      q(0112),
-      q(0),
-      ],
-   q(netherlands antillean guilder) => [
-      q(0049),
-      q(0),
-      ],
-   q(new israeli sheqel) => [
-      q(0077),
-      q(0),
-      ],
-   q(new manat) => [
-      q(0154),
-      q(0),
-      ],
-   q(new taiwan dollar) => [
-      q(0146),
-      q(0),
-      ],
-   q(new zealand dollar) => [
-      q(0044),
-      q(0),
-      ],
-   q(ngultrum) => [
-      q(0021),
-      q(0),
-      ],
-   q(north korean won) => [
-      q(0083),
-      q(0),
-      ],
-   q(norwegian krone) => [
-      q(0027),
-      q(0),
-      ],
-   q(nuevo sol) => [
-      q(0120),
-      q(0),
-      ],
-   q(ouguiya) => [
-      q(0102),
-      q(0),
-      ],
-   q(pa'anga) => [
-      q(0150),
-      q(0),
-      ],
-   q(pakistan rupee) => [
-      q(0116),
-      q(0),
-      ],
-   q(pataca) => [
-      q(0096),
-      q(0),
-      ],
-   q(peso convertible) => [
-      q(0047),
-      q(0),
-      ],
-   q(peso uruguayo) => [
-      q(0161),
-      q(0),
-      ],
-   q(philippine peso) => [
-      q(0121),
-      q(0),
-      ],
-   q(pound sterling) => [
-      q(0066),
-      q(0),
-      ],
-   q(pula) => [
-      q(0026),
-      q(0),
-      ],
-   q(qatari rial) => [
-      q(0123),
-      q(0),
-      ],
-   q(quetzal) => [
-      q(0065),
-      q(0),
-      ],
-   q(rand) => [
-      q(0091),
-      q(0),
-      ],
-   q(rial omani) => [
-      q(0115),
-      q(0),
-      ],
-   q(riel) => [
-      q(0032),
-      q(0),
-      ],
-   q(rufiyaa) => [
-      q(0101),
-      q(0),
-      ],
-   q(rupiah) => [
-      q(0074),
-      q(0),
-      ],
-   q(russian ruble) => [
-      q(0125),
-      q(0),
-      ],
-   q(rwanda franc) => [
-      q(0126),
-      q(0),
-      ],
-   q(saint helena pound) => [
-      q(0127),
-      q(0),
-      ],
-   q(saudi riyal) => [
-      q(0130),
-      q(0),
-      ],
-   q(sdr (special drawing right)) => [
-      q(0170),
-      q(0),
-      ],
-   q(serbian dinar) => [
-      q(0131),
-      q(0),
-      ],
-   q(seychelles rupee) => [
-      q(0132),
-      q(0),
-      ],
-   q(singapore dollar) => [
-      q(0134),
-      q(0),
-      ],
-   q(solomon islands dollar) => [
-      q(0136),
-      q(0),
-      ],
-   q(som) => [
-      q(0086),
-      q(0),
-      ],
-   q(somali shilling) => [
-      q(0137),
-      q(0),
-      ],
-   q(somoni) => [
-      q(0147),
-      q(0),
-      ],
-   q(sri lanka rupee) => [
-      q(0138),
-      q(0),
-      ],
-   q(sucre) => [
-      q(0135),
-      q(0),
-      ],
-   q(sudanese pound) => [
-      q(0139),
-      q(0),
-      ],
-   q(surinam dollar) => [
-      q(0140),
-      q(0),
-      ],
-   q(swedish krona) => [
-      q(0142),
-      q(0),
-      ],
-   q(swiss franc) => [
-      q(0094),
-      q(0),
-      ],
-   q(syrian pound) => [
-      q(0145),
-      q(0),
-      ],
-   q(taka) => [
-      q(0015),
-      q(0),
-      ],
-   q(tala) => [
-      q(0128),
-      q(0),
-      ],
-   q(tanzanian shilling) => [
-      q(0148),
-      q(0),
-      ],
-   q(tenge) => [
-      q(0081),
-      q(0),
-      ],
-   q(trinidad and tobago dollar) => [
-      q(0151),
-      q(0),
-      ],
-   q(tugrik) => [
-      q(0107),
-      q(0),
-      ],
-   q(tunisian dinar) => [
-      q(0152),
-      q(0),
-      ],
-   q(turkish lira) => [
-      q(0153),
-      q(0),
-      ],
-   q(uae dirham) => [
-      q(0157),
-      q(0),
-      ],
-   q(uganda shilling) => [
-      q(0155),
-      q(0),
-      ],
-   q(unidad de valor real) => [
-      q(0041),
-      q(0),
-      ],
-   q(unidades de fomento) => [
-      q(0037),
-      q(0),
-      ],
-   q(uruguay peso en unidades indexadas (uruiurui)) => [
-      q(0160),
-      q(0),
-      ],
-   q(us dollar) => [
-      q(0005),
-      q(0),
-      ],
-   q(us dollar (next day)) => [
-      q(0158),
-      q(0),
-      ],
-   q(us dollar (same day)) => [
-      q(0159),
-      q(0),
-      ],
-   q(uzbekistan sum) => [
-      q(0162),
-      q(0),
-      ],
-   q(vatu) => [
-      q(0163),
-      q(0),
-      ],
-   q(wir euro) => [
-      q(0143),
-      q(0),
-      ],
-   q(wir franc) => [
-      q(0144),
-      q(0),
-      ],
-   q(won) => [
-      q(0084),
-      q(0),
-      ],
-   q(yemeni rial) => [
-      q(0166),
-      q(0),
-      ],
-   q(yen) => [
-      q(0079),
-      q(0),
-      ],
-   q(yuan renminbi) => [
-      q(0039),
-      q(0),
-      ],
-   q(zambian kwacha) => [
-      q(0167),
-      q(0),
-      ],
-   q(zimbabwe dollar) => [
-      q(0168),
-      q(0),
-      ],
-   q(zloty) => [
-      q(0122),
-      q(0),
-      ],
-};
+sub delete_currency_code_alias {
+   return Locale::Codes::_delete_code_alias('currency', at _);
+}
 
-$Locale::Codes::Data{'currency'}{'code2id'} = {
-   q(alpha) => {
-      q(AED) => [
-         q(0157),
-         q(0),
-         ],
-      q(AFN) => [
-         q(0001),
-         q(0),
-         ],
-      q(ALL) => [
-         q(0003),
-         q(0),
-         ],
-      q(AMD) => [
-         q(0009),
-         q(0),
-         ],
-      q(ANG) => [
-         q(0049),
-         q(0),
-         ],
-      q(AOA) => [
-         q(0006),
-         q(0),
-         ],
-      q(ARS) => [
-         q(0008),
-         q(0),
-         ],
-      q(AUD) => [
-         q(0011),
-         q(0),
-         ],
-      q(AWG) => [
-         q(0010),
-         q(0),
-         ],
-      q(AZN) => [
-         q(0012),
-         q(0),
-         ],
-      q(BAM) => [
-         q(0025),
-         q(0),
-         ],
-      q(BBD) => [
-         q(0016),
-         q(0),
-         ],
-      q(BDT) => [
-         q(0015),
-         q(0),
-         ],
-      q(BGN) => [
-         q(0030),
-         q(0),
-         ],
-      q(BHD) => [
-         q(0014),
-         q(0),
-         ],
-      q(BIF) => [
-         q(0031),
-         q(0),
-         ],
-      q(BMD) => [
-         q(0020),
-         q(0),
-         ],
-      q(BND) => [
-         q(0029),
-         q(0),
-         ],
-      q(BOB) => [
-         q(0023),
-         q(0),
-         ],
-      q(BOV) => [
-         q(0024),
-         q(0),
-         ],
-      q(BRL) => [
-         q(0028),
-         q(0),
-         ],
-      q(BSD) => [
-         q(0013),
-         q(0),
-         ],
-      q(BTN) => [
-         q(0021),
-         q(0),
-         ],
-      q(BWP) => [
-         q(0026),
-         q(0),
-         ],
-      q(BYR) => [
-         q(0017),
-         q(0),
-         ],
-      q(BZD) => [
-         q(0018),
-         q(0),
-         ],
-      q(CAD) => [
-         q(0034),
-         q(0),
-         ],
-      q(CDF) => [
-         q(0043),
-         q(0),
-         ],
-      q(CHE) => [
-         q(0143),
-         q(0),
-         ],
-      q(CHF) => [
-         q(0094),
-         q(0),
-         ],
-      q(CHW) => [
-         q(0144),
-         q(0),
-         ],
-      q(CLF) => [
-         q(0037),
-         q(0),
-         ],
-      q(CLP) => [
-         q(0038),
-         q(0),
-         ],
-      q(CNY) => [
-         q(0039),
-         q(0),
-         ],
-      q(COP) => [
-         q(0040),
-         q(0),
-         ],
-      q(COU) => [
-         q(0041),
-         q(0),
-         ],
-      q(CRC) => [
-         q(0045),
-         q(0),
-         ],
-      q(CUC) => [
-         q(0047),
-         q(0),
-         ],
-      q(CUP) => [
-         q(0048),
-         q(0),
-         ],
-      q(CVE) => [
-         q(0035),
-         q(0),
-         ],
-      q(CZK) => [
-         q(0050),
-         q(0),
-         ],
-      q(DJF) => [
-         q(0052),
-         q(0),
-         ],
-      q(DKK) => [
-         q(0051),
-         q(0),
-         ],
-      q(DOP) => [
-         q(0053),
-         q(0),
-         ],
-      q(DZD) => [
-         q(0004),
-         q(0),
-         ],
-      q(EGP) => [
-         q(0054),
-         q(0),
-         ],
-      q(ERN) => [
-         q(0056),
-         q(0),
-         ],
-      q(ETB) => [
-         q(0057),
-         q(0),
-         ],
-      q(EUR) => [
-         q(0002),
-         q(0),
-         ],
-      q(FJD) => [
-         q(0059),
-         q(0),
-         ],
-      q(FKP) => [
-         q(0058),
-         q(0),
-         ],
-      q(GBP) => [
-         q(0066),
-         q(0),
-         ],
-      q(GEL) => [
-         q(0062),
-         q(0),
-         ],
-      q(GHS) => [
-         q(0063),
-         q(0),
-         ],
-      q(GIP) => [
-         q(0064),
-         q(0),
-         ],
-      q(GMD) => [
-         q(0061),
-         q(0),
-         ],
-      q(GNF) => [
-         q(0067),
-         q(0),
-         ],
-      q(GTQ) => [
-         q(0065),
-         q(0),
-         ],
-      q(GYD) => [
-         q(0068),
-         q(0),
-         ],
-      q(HKD) => [
-         q(0071),
-         q(0),
-         ],
-      q(HNL) => [
-         q(0070),
-         q(0),
-         ],
-      q(HRK) => [
-         q(0046),
-         q(0),
-         ],
-      q(HTG) => [
-         q(0069),
-         q(0),
-         ],
-      q(HUF) => [
-         q(0072),
-         q(0),
-         ],
-      q(IDR) => [
-         q(0074),
-         q(0),
-         ],
-      q(ILS) => [
-         q(0077),
-         q(0),
-         ],
-      q(INR) => [
-         q(0022),
-         q(0),
-         ],
-      q(IQD) => [
-         q(0076),
-         q(0),
-         ],
-      q(IRR) => [
-         q(0075),
-         q(0),
-         ],
-      q(ISK) => [
-         q(0073),
-         q(0),
-         ],
-      q(JMD) => [
-         q(0078),
-         q(0),
-         ],
-      q(JOD) => [
-         q(0080),
-         q(0),
-         ],
-      q(JPY) => [
-         q(0079),
-         q(0),
-         ],
-      q(KES) => [
-         q(0082),
-         q(0),
-         ],
-      q(KGS) => [
-         q(0086),
-         q(0),
-         ],
-      q(KHR) => [
-         q(0032),
-         q(0),
-         ],
-      q(KMF) => [
-         q(0042),
-         q(0),
-         ],
-      q(KPW) => [
-         q(0083),
-         q(0),
-         ],
-      q(KRW) => [
-         q(0084),
-         q(0),
-         ],
-      q(KWD) => [
-         q(0085),
-         q(0),
-         ],
-      q(KYD) => [
-         q(0036),
-         q(0),
-         ],
-      q(KZT) => [
-         q(0081),
-         q(0),
-         ],
-      q(LAK) => [
-         q(0087),
-         q(0),
-         ],
-      q(LBP) => [
-         q(0089),
-         q(0),
-         ],
-      q(LKR) => [
-         q(0138),
-         q(0),
-         ],
-      q(LRD) => [
-         q(0092),
-         q(0),
-         ],
-      q(LSL) => [
-         q(0090),
-         q(0),
-         ],
-      q(LTL) => [
-         q(0095),
-         q(0),
-         ],
-      q(LVL) => [
-         q(0088),
-         q(0),
-         ],
-      q(LYD) => [
-         q(0093),
-         q(0),
-         ],
-      q(MAD) => [
-         q(0108),
-         q(0),
-         ],
-      q(MDL) => [
-         q(0106),
-         q(0),
-         ],
-      q(MGA) => [
-         q(0098),
-         q(0),
-         ],
-      q(MKD) => [
-         q(0097),
-         q(0),
-         ],
-      q(MMK) => [
-         q(0110),
-         q(0),
-         ],
-      q(MNT) => [
-         q(0107),
-         q(0),
-         ],
-      q(MOP) => [
-         q(0096),
-         q(0),
-         ],
-      q(MRO) => [
-         q(0102),
-         q(0),
-         ],
-      q(MUR) => [
-         q(0103),
-         q(0),
-         ],
-      q(MVR) => [
-         q(0101),
-         q(0),
-         ],
-      q(MWK) => [
-         q(0099),
-         q(0),
-         ],
-      q(MXN) => [
-         q(0104),
-         q(0),
-         ],
-      q(MXV) => [
-         q(0105),
-         q(0),
-         ],
-      q(MYR) => [
-         q(0100),
-         q(0),
-         ],
-      q(MZN) => [
-         q(0109),
-         q(0),
-         ],
-      q(NAD) => [
-         q(0111),
-         q(0),
-         ],
-      q(NGN) => [
-         q(0114),
-         q(0),
-         ],
-      q(NIO) => [
-         q(0113),
-         q(0),
-         ],
-      q(NOK) => [
-         q(0027),
-         q(0),
-         ],
-      q(NPR) => [
-         q(0112),
-         q(0),
-         ],
-      q(NZD) => [
-         q(0044),
-         q(0),
-         ],
-      q(OMR) => [
-         q(0115),
-         q(0),
-         ],
-      q(PAB) => [
-         q(0117),
-         q(0),
-         ],
-      q(PEN) => [
-         q(0120),
-         q(0),
-         ],
-      q(PGK) => [
-         q(0118),
-         q(0),
-         ],
-      q(PHP) => [
-         q(0121),
-         q(0),
-         ],
-      q(PKR) => [
-         q(0116),
-         q(0),
-         ],
-      q(PLN) => [
-         q(0122),
-         q(0),
-         ],
-      q(PYG) => [
-         q(0119),
-         q(0),
-         ],
-      q(QAR) => [
-         q(0123),
-         q(0),
-         ],
-      q(RON) => [
-         q(0124),
-         q(0),
-         ],
-      q(RSD) => [
-         q(0131),
-         q(0),
-         ],
-      q(RUB) => [
-         q(0125),
-         q(0),
-         ],
-      q(RWF) => [
-         q(0126),
-         q(0),
-         ],
-      q(SAR) => [
-         q(0130),
-         q(0),
-         ],
-      q(SBD) => [
-         q(0136),
-         q(0),
-         ],
-      q(SCR) => [
-         q(0132),
-         q(0),
-         ],
-      q(SDG) => [
-         q(0139),
-         q(0),
-         ],
-      q(SEK) => [
-         q(0142),
-         q(0),
-         ],
-      q(SGD) => [
-         q(0134),
-         q(0),
-         ],
-      q(SHP) => [
-         q(0127),
-         q(0),
-         ],
-      q(SLL) => [
-         q(0133),
-         q(0),
-         ],
-      q(SOS) => [
-         q(0137),
-         q(0),
-         ],
-      q(SRD) => [
-         q(0140),
-         q(0),
-         ],
-      q(STD) => [
-         q(0129),
-         q(0),
-         ],
-      q(SVC) => [
-         q(0055),
-         q(0),
-         ],
-      q(SYP) => [
-         q(0145),
-         q(0),
-         ],
-      q(SZL) => [
-         q(0141),
-         q(0),
-         ],
-      q(THB) => [
-         q(0149),
-         q(0),
-         ],
-      q(TJS) => [
-         q(0147),
-         q(0),
-         ],
-      q(TMT) => [
-         q(0154),
-         q(0),
-         ],
-      q(TND) => [
-         q(0152),
-         q(0),
-         ],
-      q(TOP) => [
-         q(0150),
-         q(0),
-         ],
-      q(TRY) => [
-         q(0153),
-         q(0),
-         ],
-      q(TTD) => [
-         q(0151),
-         q(0),
-         ],
-      q(TWD) => [
-         q(0146),
-         q(0),
-         ],
-      q(TZS) => [
-         q(0148),
-         q(0),
-         ],
-      q(UAH) => [
-         q(0156),
-         q(0),
-         ],
-      q(UGX) => [
-         q(0155),
-         q(0),
-         ],
-      q(USD) => [
-         q(0005),
-         q(0),
-         ],
-      q(USN) => [
-         q(0158),
-         q(0),
-         ],
-      q(USS) => [
-         q(0159),
-         q(0),
-         ],
-      q(UYI) => [
-         q(0160),
-         q(0),
-         ],
-      q(UYU) => [
-         q(0161),
-         q(0),
-         ],
-      q(UZS) => [
-         q(0162),
-         q(0),
-         ],
-      q(VEF) => [
-         q(0164),
-         q(0),
-         ],
-      q(VND) => [
-         q(0165),
-         q(0),
-         ],
-      q(VUV) => [
-         q(0163),
-         q(0),
-         ],
-      q(WST) => [
-         q(0128),
-         q(0),
-         ],
-      q(XAF) => [
-         q(0033),
-         q(0),
-         ],
-      q(XAU) => [
-         q(0169),
-         q(0),
-         ],
-      q(XCD) => [
-         q(0007),
-         q(0),
-         ],
-      q(XDR) => [
-         q(0170),
-         q(0),
-         ],
-      q(XOF) => [
-         q(0019),
-         q(0),
-         ],
-      q(XPF) => [
-         q(0060),
-         q(0),
-         ],
-      q(XSU) => [
-         q(0135),
-         q(0),
-         ],
-      q(YER) => [
-         q(0166),
-         q(0),
-         ],
-      q(ZAR) => [
-         q(0091),
-         q(0),
-         ],
-      q(ZMK) => [
-         q(0167),
-         q(0),
-         ],
-      q(ZWL) => [
-         q(0168),
-         q(0),
-         ],
-      },
-   q(num) => {
-      q(008) => [
-         q(0003),
-         q(0),
-         ],
-      q(012) => [
-         q(0004),
-         q(0),
-         ],
-      q(032) => [
-         q(0008),
-         q(0),
-         ],
-      q(036) => [
-         q(0011),
-         q(0),
-         ],
-      q(044) => [
-         q(0013),
-         q(0),
-         ],
-      q(048) => [
-         q(0014),
-         q(0),
-         ],
-      q(050) => [
-         q(0015),
-         q(0),
-         ],
-      q(051) => [
-         q(0009),
-         q(0),
-         ],
-      q(052) => [
-         q(0016),
-         q(0),
-         ],
-      q(060) => [
-         q(0020),
-         q(0),
-         ],
-      q(064) => [
-         q(0021),
-         q(0),
-         ],
-      q(068) => [
-         q(0023),
-         q(0),
-         ],
-      q(072) => [
-         q(0026),
-         q(0),
-         ],
-      q(084) => [
-         q(0018),
-         q(0),
-         ],
-      q(090) => [
-         q(0136),
-         q(0),
-         ],
-      q(096) => [
-         q(0029),
-         q(0),
-         ],
-      q(104) => [
-         q(0110),
-         q(0),
-         ],
-      q(108) => [
-         q(0031),
-         q(0),
-         ],
-      q(116) => [
-         q(0032),
-         q(0),
-         ],
-      q(124) => [
-         q(0034),
-         q(0),
-         ],
-      q(132) => [
-         q(0035),
-         q(0),
-         ],
-      q(136) => [
-         q(0036),
-         q(0),
-         ],
-      q(144) => [
-         q(0138),
-         q(0),
-         ],
-      q(152) => [
-         q(0038),
-         q(0),
-         ],
-      q(156) => [
-         q(0039),
-         q(0),
-         ],
-      q(170) => [
-         q(0040),
-         q(0),
-         ],
-      q(174) => [
-         q(0042),
-         q(0),
-         ],
-      q(188) => [
-         q(0045),
-         q(0),
-         ],
-      q(191) => [
-         q(0046),
-         q(0),
-         ],
-      q(192) => [
-         q(0048),
-         q(0),
-         ],
-      q(203) => [
-         q(0050),
-         q(0),
-         ],
-      q(208) => [
-         q(0051),
-         q(0),
-         ],
-      q(214) => [
-         q(0053),
-         q(0),
-         ],
-      q(222) => [
-         q(0055),
-         q(0),
-         ],
-      q(230) => [
-         q(0057),
-         q(0),
-         ],
-      q(232) => [
-         q(0056),
-         q(0),
-         ],
-      q(238) => [
-         q(0058),
-         q(0),
-         ],
-      q(242) => [
-         q(0059),
-         q(0),
-         ],
-      q(262) => [
-         q(0052),
-         q(0),
-         ],
-      q(270) => [
-         q(0061),
-         q(0),
-         ],
-      q(292) => [
-         q(0064),
-         q(0),
-         ],
-      q(320) => [
-         q(0065),
-         q(0),
-         ],
-      q(324) => [
-         q(0067),
-         q(0),
-         ],
-      q(328) => [
-         q(0068),
-         q(0),
-         ],
-      q(332) => [
-         q(0069),
-         q(0),
-         ],
-      q(340) => [
-         q(0070),
-         q(0),
-         ],
-      q(344) => [
-         q(0071),
-         q(0),
-         ],
-      q(348) => [
-         q(0072),
-         q(0),
-         ],
-      q(352) => [
-         q(0073),
-         q(0),
-         ],
-      q(356) => [
-         q(0022),
-         q(0),
-         ],
-      q(360) => [
-         q(0074),
-         q(0),
-         ],
-      q(364) => [
-         q(0075),
-         q(0),
-         ],
-      q(368) => [
-         q(0076),
-         q(0),
-         ],
-      q(376) => [
-         q(0077),
-         q(0),
-         ],
-      q(388) => [
-         q(0078),
-         q(0),
-         ],
-      q(392) => [
-         q(0079),
-         q(0),
-         ],
-      q(398) => [
-         q(0081),
-         q(0),
-         ],
-      q(400) => [
-         q(0080),
-         q(0),
-         ],
-      q(404) => [
-         q(0082),
-         q(0),
-         ],
-      q(408) => [
-         q(0083),
-         q(0),
-         ],
-      q(410) => [
-         q(0084),
-         q(0),
-         ],
-      q(414) => [
-         q(0085),
-         q(0),
-         ],
-      q(417) => [
-         q(0086),
-         q(0),
-         ],
-      q(418) => [
-         q(0087),
-         q(0),
-         ],
-      q(422) => [
-         q(0089),
-         q(0),
-         ],
-      q(426) => [
-         q(0090),
-         q(0),
-         ],
-      q(428) => [
-         q(0088),
-         q(0),
-         ],
-      q(430) => [
-         q(0092),
-         q(0),
-         ],
-      q(434) => [
-         q(0093),
-         q(0),
-         ],
-      q(440) => [
-         q(0095),
-         q(0),
-         ],
-      q(446) => [
-         q(0096),
-         q(0),
-         ],
-      q(454) => [
-         q(0099),
-         q(0),
-         ],
-      q(458) => [
-         q(0100),
-         q(0),
-         ],
-      q(462) => [
-         q(0101),
-         q(0),
-         ],
-      q(478) => [
-         q(0102),
-         q(0),
-         ],
-      q(480) => [
-         q(0103),
-         q(0),
-         ],
-      q(484) => [
-         q(0104),
-         q(0),
-         ],
-      q(496) => [
-         q(0107),
-         q(0),
-         ],
-      q(498) => [
-         q(0106),
-         q(0),
-         ],
-      q(504) => [
-         q(0108),
-         q(0),
-         ],
-      q(512) => [
-         q(0115),
-         q(0),
-         ],
-      q(516) => [
-         q(0111),
-         q(0),
-         ],
-      q(524) => [
-         q(0112),
-         q(0),
-         ],
-      q(532) => [
-         q(0049),
-         q(0),
-         ],
-      q(533) => [
-         q(0010),
-         q(0),
-         ],
-      q(548) => [
-         q(0163),
-         q(0),
-         ],
-      q(554) => [
-         q(0044),
-         q(0),
-         ],
-      q(558) => [
-         q(0113),
-         q(0),
-         ],
-      q(566) => [
-         q(0114),
-         q(0),
-         ],
-      q(578) => [
-         q(0027),
-         q(0),
-         ],
-      q(586) => [
-         q(0116),
-         q(0),
-         ],
-      q(590) => [
-         q(0117),
-         q(0),
-         ],
-      q(598) => [
-         q(0118),
-         q(0),
-         ],
-      q(600) => [
-         q(0119),
-         q(0),
-         ],
-      q(604) => [
-         q(0120),
-         q(0),
-         ],
-      q(608) => [
-         q(0121),
-         q(0),
-         ],
-      q(634) => [
-         q(0123),
-         q(0),
-         ],
-      q(643) => [
-         q(0125),
-         q(0),
-         ],
-      q(646) => [
-         q(0126),
-         q(0),
-         ],
-      q(654) => [
-         q(0127),
-         q(0),
-         ],
-      q(678) => [
-         q(0129),
-         q(0),
-         ],
-      q(682) => [
-         q(0130),
-         q(0),
-         ],
-      q(690) => [
-         q(0132),
-         q(0),
-         ],
-      q(694) => [
-         q(0133),
-         q(0),
-         ],
-      q(702) => [
-         q(0134),
-         q(0),
-         ],
-      q(704) => [
-         q(0165),
-         q(0),
-         ],
-      q(706) => [
-         q(0137),
-         q(0),
-         ],
-      q(710) => [
-         q(0091),
-         q(0),
-         ],
-      q(748) => [
-         q(0141),
-         q(0),
-         ],
-      q(752) => [
-         q(0142),
-         q(0),
-         ],
-      q(756) => [
-         q(0094),
-         q(0),
-         ],
-      q(760) => [
-         q(0145),
-         q(0),
-         ],
-      q(764) => [
-         q(0149),
-         q(0),
-         ],
-      q(776) => [
-         q(0150),
-         q(0),
-         ],
-      q(780) => [
-         q(0151),
-         q(0),
-         ],
-      q(784) => [
-         q(0157),
-         q(0),
-         ],
-      q(788) => [
-         q(0152),
-         q(0),
-         ],
-      q(800) => [
-         q(0155),
-         q(0),
-         ],
-      q(807) => [
-         q(0097),
-         q(0),
-         ],
-      q(818) => [
-         q(0054),
-         q(0),
-         ],
-      q(826) => [
-         q(0066),
-         q(0),
-         ],
-      q(834) => [
-         q(0148),
-         q(0),
-         ],
-      q(840) => [
-         q(0005),
-         q(0),
-         ],
-      q(858) => [
-         q(0161),
-         q(0),
-         ],
-      q(860) => [
-         q(0162),
-         q(0),
-         ],
-      q(882) => [
-         q(0128),
-         q(0),
-         ],
-      q(886) => [
-         q(0166),
-         q(0),
-         ],
-      q(894) => [
-         q(0167),
-         q(0),
-         ],
-      q(901) => [
-         q(0146),
-         q(0),
-         ],
-      q(931) => [
-         q(0047),
-         q(0),
-         ],
-      q(932) => [
-         q(0168),
-         q(0),
-         ],
-      q(934) => [
-         q(0154),
-         q(0),
-         ],
-      q(936) => [
-         q(0063),
-         q(0),
-         ],
-      q(937) => [
-         q(0164),
-         q(0),
-         ],
-      q(938) => [
-         q(0139),
-         q(0),
-         ],
-      q(940) => [
-         q(0160),
-         q(0),
-         ],
-      q(941) => [
-         q(0131),
-         q(0),
-         ],
-      q(943) => [
-         q(0109),
-         q(0),
-         ],
-      q(944) => [
-         q(0012),
-         q(0),
-         ],
-      q(946) => [
-         q(0124),
-         q(0),
-         ],
-      q(947) => [
-         q(0143),
-         q(0),
-         ],
-      q(948) => [
-         q(0144),
-         q(0),
-         ],
-      q(949) => [
-         q(0153),
-         q(0),
-         ],
-      q(950) => [
-         q(0033),
-         q(0),
-         ],
-      q(951) => [
-         q(0007),
-         q(0),
-         ],
-      q(952) => [
-         q(0019),
-         q(0),
-         ],
-      q(953) => [
-         q(0060),
-         q(0),
-         ],
-      q(959) => [
-         q(0169),
-         q(0),
-         ],
-      q(960) => [
-         q(0170),
-         q(0),
-         ],
-      q(968) => [
-         q(0140),
-         q(0),
-         ],
-      q(969) => [
-         q(0098),
-         q(0),
-         ],
-      q(970) => [
-         q(0041),
-         q(0),
-         ],
-      q(971) => [
-         q(0001),
-         q(0),
-         ],
-      q(972) => [
-         q(0147),
-         q(0),
-         ],
-      q(973) => [
-         q(0006),
-         q(0),
-         ],
-      q(974) => [
-         q(0017),
-         q(0),
-         ],
-      q(975) => [
-         q(0030),
-         q(0),
-         ],
-      q(976) => [
-         q(0043),
-         q(0),
-         ],
-      q(977) => [
-         q(0025),
-         q(0),
-         ],
-      q(978) => [
-         q(0002),
-         q(0),
-         ],
-      q(979) => [
-         q(0105),
-         q(0),
-         ],
-      q(980) => [
-         q(0156),
-         q(0),
-         ],
-      q(981) => [
-         q(0062),
-         q(0),
-         ],
-      q(984) => [
-         q(0024),
-         q(0),
-         ],
-      q(985) => [
-         q(0122),
-         q(0),
-         ],
-      q(986) => [
-         q(0028),
-         q(0),
-         ],
-      q(990) => [
-         q(0037),
-         q(0),
-         ],
-      q(994) => [
-         q(0135),
-         q(0),
-         ],
-      q(997) => [
-         q(0158),
-         q(0),
-         ],
-      q(998) => [
-         q(0159),
-         q(0),
-         ],
-      },
-};
-
-$Locale::Codes::Data{'currency'}{'id2code'} = {
-   q(alpha) => {
-      q(0001) => q(AFN),
-      q(0002) => q(EUR),
-      q(0003) => q(ALL),
-      q(0004) => q(DZD),
-      q(0005) => q(USD),
-      q(0006) => q(AOA),
-      q(0007) => q(XCD),
-      q(0008) => q(ARS),
-      q(0009) => q(AMD),
-      q(0010) => q(AWG),
-      q(0011) => q(AUD),
-      q(0012) => q(AZN),
-      q(0013) => q(BSD),
-      q(0014) => q(BHD),
-      q(0015) => q(BDT),
-      q(0016) => q(BBD),
-      q(0017) => q(BYR),
-      q(0018) => q(BZD),
-      q(0019) => q(XOF),
-      q(0020) => q(BMD),
-      q(0021) => q(BTN),
-      q(0022) => q(INR),
-      q(0023) => q(BOB),
-      q(0024) => q(BOV),
-      q(0025) => q(BAM),
-      q(0026) => q(BWP),
-      q(0027) => q(NOK),
-      q(0028) => q(BRL),
-      q(0029) => q(BND),
-      q(0030) => q(BGN),
-      q(0031) => q(BIF),
-      q(0032) => q(KHR),
-      q(0033) => q(XAF),
-      q(0034) => q(CAD),
-      q(0035) => q(CVE),
-      q(0036) => q(KYD),
-      q(0037) => q(CLF),
-      q(0038) => q(CLP),
-      q(0039) => q(CNY),
-      q(0040) => q(COP),
-      q(0041) => q(COU),
-      q(0042) => q(KMF),
-      q(0043) => q(CDF),
-      q(0044) => q(NZD),
-      q(0045) => q(CRC),
-      q(0046) => q(HRK),
-      q(0047) => q(CUC),
-      q(0048) => q(CUP),
-      q(0049) => q(ANG),
-      q(0050) => q(CZK),
-      q(0051) => q(DKK),
-      q(0052) => q(DJF),
-      q(0053) => q(DOP),
-      q(0054) => q(EGP),
-      q(0055) => q(SVC),
-      q(0056) => q(ERN),
-      q(0057) => q(ETB),
-      q(0058) => q(FKP),
-      q(0059) => q(FJD),
-      q(0060) => q(XPF),
-      q(0061) => q(GMD),
-      q(0062) => q(GEL),
-      q(0063) => q(GHS),
-      q(0064) => q(GIP),
-      q(0065) => q(GTQ),
-      q(0066) => q(GBP),
-      q(0067) => q(GNF),
-      q(0068) => q(GYD),
-      q(0069) => q(HTG),
-      q(0070) => q(HNL),
-      q(0071) => q(HKD),
-      q(0072) => q(HUF),
-      q(0073) => q(ISK),
-      q(0074) => q(IDR),
-      q(0075) => q(IRR),
-      q(0076) => q(IQD),
-      q(0077) => q(ILS),
-      q(0078) => q(JMD),
-      q(0079) => q(JPY),
-      q(0080) => q(JOD),
-      q(0081) => q(KZT),
-      q(0082) => q(KES),
-      q(0083) => q(KPW),
-      q(0084) => q(KRW),
-      q(0085) => q(KWD),
-      q(0086) => q(KGS),
-      q(0087) => q(LAK),
-      q(0088) => q(LVL),
-      q(0089) => q(LBP),
-      q(0090) => q(LSL),
-      q(0091) => q(ZAR),
-      q(0092) => q(LRD),
-      q(0093) => q(LYD),
-      q(0094) => q(CHF),
-      q(0095) => q(LTL),
-      q(0096) => q(MOP),
-      q(0097) => q(MKD),
-      q(0098) => q(MGA),
-      q(0099) => q(MWK),
-      q(0100) => q(MYR),
-      q(0101) => q(MVR),
-      q(0102) => q(MRO),
-      q(0103) => q(MUR),
-      q(0104) => q(MXN),
-      q(0105) => q(MXV),
-      q(0106) => q(MDL),
-      q(0107) => q(MNT),
-      q(0108) => q(MAD),
-      q(0109) => q(MZN),
-      q(0110) => q(MMK),
-      q(0111) => q(NAD),
-      q(0112) => q(NPR),
-      q(0113) => q(NIO),
-      q(0114) => q(NGN),
-      q(0115) => q(OMR),
-      q(0116) => q(PKR),
-      q(0117) => q(PAB),
-      q(0118) => q(PGK),
-      q(0119) => q(PYG),
-      q(0120) => q(PEN),
-      q(0121) => q(PHP),
-      q(0122) => q(PLN),
-      q(0123) => q(QAR),
-      q(0124) => q(RON),
-      q(0125) => q(RUB),
-      q(0126) => q(RWF),
-      q(0127) => q(SHP),
-      q(0128) => q(WST),
-      q(0129) => q(STD),
-      q(0130) => q(SAR),
-      q(0131) => q(RSD),
-      q(0132) => q(SCR),
-      q(0133) => q(SLL),
-      q(0134) => q(SGD),
-      q(0135) => q(XSU),
-      q(0136) => q(SBD),
-      q(0137) => q(SOS),
-      q(0138) => q(LKR),
-      q(0139) => q(SDG),
-      q(0140) => q(SRD),
-      q(0141) => q(SZL),
-      q(0142) => q(SEK),
-      q(0143) => q(CHE),
-      q(0144) => q(CHW),
-      q(0145) => q(SYP),
-      q(0146) => q(TWD),
-      q(0147) => q(TJS),
-      q(0148) => q(TZS),
-      q(0149) => q(THB),
-      q(0150) => q(TOP),
-      q(0151) => q(TTD),
-      q(0152) => q(TND),
-      q(0153) => q(TRY),
-      q(0154) => q(TMT),
-      q(0155) => q(UGX),
-      q(0156) => q(UAH),
-      q(0157) => q(AED),
-      q(0158) => q(USN),
-      q(0159) => q(USS),
-      q(0160) => q(UYI),
-      q(0161) => q(UYU),
-      q(0162) => q(UZS),
-      q(0163) => q(VUV),
-      q(0164) => q(VEF),
-      q(0165) => q(VND),
-      q(0166) => q(YER),
-      q(0167) => q(ZMK),
-      q(0168) => q(ZWL),
-      q(0169) => q(XAU),
-      q(0170) => q(XDR),
-      },
-   q(num) => {
-      q(0001) => q(971),
-      q(0002) => q(978),
-      q(0003) => q(008),
-      q(0004) => q(012),
-      q(0005) => q(840),
-      q(0006) => q(973),
-      q(0007) => q(951),
-      q(0008) => q(032),
-      q(0009) => q(051),
-      q(0010) => q(533),
-      q(0011) => q(036),
-      q(0012) => q(944),
-      q(0013) => q(044),
-      q(0014) => q(048),
-      q(0015) => q(050),
-      q(0016) => q(052),
-      q(0017) => q(974),
-      q(0018) => q(084),
-      q(0019) => q(952),
-      q(0020) => q(060),
-      q(0021) => q(064),
-      q(0022) => q(356),
-      q(0023) => q(068),
-      q(0024) => q(984),
-      q(0025) => q(977),
-      q(0026) => q(072),
-      q(0027) => q(578),
-      q(0028) => q(986),
-      q(0029) => q(096),
-      q(0030) => q(975),
-      q(0031) => q(108),
-      q(0032) => q(116),
-      q(0033) => q(950),
-      q(0034) => q(124),
-      q(0035) => q(132),
-      q(0036) => q(136),
-      q(0037) => q(990),
-      q(0038) => q(152),
-      q(0039) => q(156),
-      q(0040) => q(170),
-      q(0041) => q(970),
-      q(0042) => q(174),
-      q(0043) => q(976),
-      q(0044) => q(554),
-      q(0045) => q(188),
-      q(0046) => q(191),
-      q(0047) => q(931),
-      q(0048) => q(192),
-      q(0049) => q(532),
-      q(0050) => q(203),
-      q(0051) => q(208),
-      q(0052) => q(262),
-      q(0053) => q(214),
-      q(0054) => q(818),
-      q(0055) => q(222),
-      q(0056) => q(232),
-      q(0057) => q(230),
-      q(0058) => q(238),
-      q(0059) => q(242),
-      q(0060) => q(953),
-      q(0061) => q(270),
-      q(0062) => q(981),
-      q(0063) => q(936),
-      q(0064) => q(292),
-      q(0065) => q(320),
-      q(0066) => q(826),
-      q(0067) => q(324),
-      q(0068) => q(328),
-      q(0069) => q(332),
-      q(0070) => q(340),
-      q(0071) => q(344),
-      q(0072) => q(348),
-      q(0073) => q(352),
-      q(0074) => q(360),
-      q(0075) => q(364),
-      q(0076) => q(368),
-      q(0077) => q(376),
-      q(0078) => q(388),
-      q(0079) => q(392),
-      q(0080) => q(400),
-      q(0081) => q(398),
-      q(0082) => q(404),
-      q(0083) => q(408),
-      q(0084) => q(410),
-      q(0085) => q(414),
-      q(0086) => q(417),
-      q(0087) => q(418),
-      q(0088) => q(428),
-      q(0089) => q(422),
-      q(0090) => q(426),
-      q(0091) => q(710),
-      q(0092) => q(430),
-      q(0093) => q(434),
-      q(0094) => q(756),
-      q(0095) => q(440),
-      q(0096) => q(446),
-      q(0097) => q(807),
-      q(0098) => q(969),
-      q(0099) => q(454),
-      q(0100) => q(458),
-      q(0101) => q(462),
-      q(0102) => q(478),
-      q(0103) => q(480),
-      q(0104) => q(484),
-      q(0105) => q(979),
-      q(0106) => q(498),
-      q(0107) => q(496),
-      q(0108) => q(504),
-      q(0109) => q(943),
-      q(0110) => q(104),
-      q(0111) => q(516),
-      q(0112) => q(524),
-      q(0113) => q(558),
-      q(0114) => q(566),
-      q(0115) => q(512),
-      q(0116) => q(586),
-      q(0117) => q(590),
-      q(0118) => q(598),
-      q(0119) => q(600),
-      q(0120) => q(604),
-      q(0121) => q(608),
-      q(0122) => q(985),
-      q(0123) => q(634),
-      q(0124) => q(946),
-      q(0125) => q(643),
-      q(0126) => q(646),
-      q(0127) => q(654),
-      q(0128) => q(882),
-      q(0129) => q(678),
-      q(0130) => q(682),
-      q(0131) => q(941),
-      q(0132) => q(690),
-      q(0133) => q(694),
-      q(0134) => q(702),
-      q(0135) => q(994),
-      q(0136) => q(090),
-      q(0137) => q(706),
-      q(0138) => q(144),
-      q(0139) => q(938),
-      q(0140) => q(968),
-      q(0141) => q(748),
-      q(0142) => q(752),
-      q(0143) => q(947),
-      q(0144) => q(948),
-      q(0145) => q(760),
-      q(0146) => q(901),
-      q(0147) => q(972),
-      q(0148) => q(834),
-      q(0149) => q(764),
-      q(0150) => q(776),
-      q(0151) => q(780),
-      q(0152) => q(788),
-      q(0153) => q(949),
-      q(0154) => q(934),
-      q(0155) => q(800),
-      q(0156) => q(980),
-      q(0157) => q(784),
-      q(0158) => q(997),
-      q(0159) => q(998),
-      q(0160) => q(940),
-      q(0161) => q(858),
-      q(0162) => q(860),
-      q(0163) => q(548),
-      q(0164) => q(937),
-      q(0165) => q(704),
-      q(0166) => q(886),
-      q(0167) => q(894),
-      q(0168) => q(932),
-      q(0169) => q(959),
-      q(0170) => q(960),
-      },
-};
-
 1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Currency.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7303 +1,99 @@
 package Locale::Codes::Language;
+# Copyright (C) 2001      Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2013 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
 
-# This file was automatically generated.  Any changes to this file will
-# be lost the next time 'get_codes' is run.
-#    Generated on: Tue Mar  1 13:38:49 EST 2011
+use strict;
+require 5.006;
+use warnings;
 
-=pod
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::Language_Codes;
+use Locale::Codes::Language_Retired;
 
-=head1 NAME
+#=======================================================================
+#       Public Global Variables
+#=======================================================================
 
-Locale::Codes::Language - language codes for the Locale::Language module
+our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
 
-=head1 SYNOPSIS
+$VERSION='3.25';
+ at ISA       = qw(Exporter);
+ at EXPORT    = qw(code2language
+                language2code
+                all_language_codes
+                all_language_names
+                language_code2code
+                LOCALE_LANG_ALPHA_2
+                LOCALE_LANG_ALPHA_3
+                LOCALE_LANG_TERM
+               );
 
-This module contains data used by the Locale::Language module. It is
-not intended to be used directly, and contains no calleable routines.
+sub code2language {
+   return Locale::Codes::_code2name('language', at _);
+}
 
-=head1 AUTHOR
+sub language2code {
+   return Locale::Codes::_name2code('language', at _);
+}
 
-See Locale::Codes for full author history.
+sub language_code2code {
+   return Locale::Codes::_code2code('language', at _);
+}
 
-Currently maintained by Sullivan Beck (sbeck at cpan.org).
+sub all_language_codes {
+   return Locale::Codes::_all_codes('language', at _);
+}
 
-=head1 COPYRIGHT
+sub all_language_names {
+   return Locale::Codes::_all_names('language', at _);
+}
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+sub rename_language {
+   return Locale::Codes::_rename('language', at _);
+}
 
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
+sub add_language {
+   return Locale::Codes::_add_code('language', at _);
+}
 
-=cut
+sub delete_language {
+   return Locale::Codes::_delete_code('language', at _);
+}
 
-use strict;
-use warnings;
-require 5.002;
+sub add_language_alias {
+   return Locale::Codes::_add_alias('language', at _);
+}
 
-our($VERSION);
-$VERSION='3.16';
+sub delete_language_alias {
+   return Locale::Codes::_delete_alias('language', at _);
+}
 
-$Locale::Codes::Data{'language'}{'id'} = '0486';
+sub rename_language_code {
+   return Locale::Codes::_rename_code('language', at _);
+}
 
-$Locale::Codes::Data{'language'}{'id2names'} = {
-   q(0001) => [
-      q(Afar),
-      ],
-   q(0002) => [
-      q(Abkhazian),
-      ],
-   q(0003) => [
-      q(Achinese),
-      ],
-   q(0004) => [
-      q(Acoli),
-      ],
-   q(0005) => [
-      q(Adangme),
-      ],
-   q(0006) => [
-      q(Adyghe),
-      q(Adygei),
-      ],
-   q(0007) => [
-      q(Afro-Asiatic languages),
-      ],
-   q(0008) => [
-      q(Afrihili),
-      ],
-   q(0009) => [
-      q(Afrikaans),
-      ],
-   q(0010) => [
-      q(Ainu),
-      ],
-   q(0011) => [
-      q(Akan),
-      ],
-   q(0012) => [
-      q(Akkadian),
-      ],
-   q(0013) => [
-      q(Albanian),
-      ],
-   q(0014) => [
-      q(Aleut),
-      ],
-   q(0015) => [
-      q(Algonquian languages),
-      ],
-   q(0016) => [
-      q(Southern Altai),
-      ],
-   q(0017) => [
-      q(Amharic),
-      ],
-   q(0018) => [
-      q(English, Old (ca.450-1100)),
-      ],
-   q(0019) => [
-      q(Angika),
-      ],
-   q(0020) => [
-      q(Apache languages),
-      ],
-   q(0021) => [
-      q(Arabic),
-      ],
-   q(0022) => [
-      q(Official Aramaic (700-300 BCE)),
-      q(Imperial Aramaic (700-300 BCE)),
-      ],
-   q(0023) => [
-      q(Aragonese),
-      ],
-   q(0024) => [
-      q(Armenian),
-      ],
-   q(0025) => [
-      q(Mapudungun),
-      q(Mapuche),
-      ],
-   q(0026) => [
-      q(Arapaho),
-      ],
-   q(0027) => [
-      q(Artificial languages),
-      ],
-   q(0028) => [
-      q(Arawak),
-      ],
-   q(0029) => [
-      q(Assamese),
-      ],
-   q(0030) => [
-      q(Asturian),
-      q(Bable),
-      q(Leonese),
-      q(Asturleonese),
-      ],
-   q(0031) => [
-      q(Athapascan languages),
-      ],
-   q(0032) => [
-      q(Australian languages),
-      ],
-   q(0033) => [
-      q(Avaric),
-      ],
-   q(0034) => [
-      q(Avestan),
-      ],
-   q(0035) => [
-      q(Awadhi),
-      ],
-   q(0036) => [
-      q(Aymara),
-      ],
-   q(0037) => [
-      q(Azerbaijani),
-      ],
-   q(0038) => [
-      q(Banda languages),
-      ],
-   q(0039) => [
-      q(Bamileke languages),
-      ],
-   q(0040) => [
-      q(Bashkir),
-      ],
-   q(0041) => [
-      q(Baluchi),
-      ],
-   q(0042) => [
-      q(Bambara),
-      ],
-   q(0043) => [
-      q(Balinese),
-      ],
-   q(0044) => [
-      q(Basque),
-      ],
-   q(0045) => [
-      q(Basa),
-      ],
-   q(0046) => [
-      q(Baltic languages),
-      ],
-   q(0047) => [
-      q(Beja),
-      q(Bedawiyet),
-      ],
-   q(0048) => [
-      q(Belarusian),
-      ],
-   q(0049) => [
-      q(Bemba),
-      ],
-   q(0050) => [
-      q(Bengali),
-      ],
-   q(0051) => [
-      q(Berber languages),
-      ],
-   q(0052) => [
-      q(Bhojpuri),
-      ],
-   q(0053) => [
-      q(Bihari languages),
-      ],
-   q(0054) => [
-      q(Bikol),
-      ],
-   q(0055) => [
-      q(Bini),
-      q(Edo),
-      ],
-   q(0056) => [
-      q(Bislama),
-      ],
-   q(0057) => [
-      q(Siksika),
-      ],
-   q(0058) => [
-      q(Bantu (Other)),
-      ],
-   q(0059) => [
-      q(Bosnian),
-      ],
-   q(0060) => [
-      q(Braj),
-      ],
-   q(0061) => [
-      q(Breton),
-      ],
-   q(0062) => [
-      q(Batak languages),
-      ],
-   q(0063) => [
-      q(Buriat),
-      ],
-   q(0064) => [
-      q(Buginese),
-      ],
-   q(0065) => [
-      q(Bulgarian),
-      ],
-   q(0066) => [
-      q(Burmese),
-      ],
-   q(0067) => [
-      q(Blin),
-      q(Bilin),
-      ],
-   q(0068) => [
-      q(Caddo),
-      ],
-   q(0069) => [
-      q(Central American Indian languages),
-      ],
-   q(0070) => [
-      q(Galibi Carib),
-      ],
-   q(0071) => [
-      q(Catalan),
-      q(Valencian),
-      ],
-   q(0072) => [
-      q(Caucasian languages),
-      ],
-   q(0073) => [
-      q(Cebuano),
-      ],
-   q(0074) => [
-      q(Celtic languages),
-      ],
-   q(0075) => [
-      q(Chamorro),
-      ],
-   q(0076) => [
-      q(Chibcha),
-      ],
-   q(0077) => [
-      q(Chechen),
-      ],
-   q(0078) => [
-      q(Chagatai),
-      ],
-   q(0079) => [
-      q(Chinese),
-      ],
-   q(0080) => [
-      q(Chuukese),
-      ],
-   q(0081) => [
-      q(Mari),
-      ],
-   q(0082) => [
-      q(Chinook jargon),
-      ],
-   q(0083) => [
-      q(Choctaw),
-      ],
-   q(0084) => [
-      q(Chipewyan),
-      q(Dene Suline),
-      ],
-   q(0085) => [
-      q(Cherokee),
-      ],
-   q(0086) => [
-      q(Church Slavic),
-      q(Old Slavonic),
-      q(Church Slavonic),
-      q(Old Bulgarian),
-      q(Old Church Slavonic),
-      ],
-   q(0087) => [
-      q(Chuvash),
-      ],
-   q(0088) => [
-      q(Cheyenne),
-      ],
-   q(0089) => [
-      q(Chamic languages),
-      ],
-   q(0090) => [
-      q(Coptic),
-      ],
-   q(0091) => [
-      q(Cornish),
-      ],
-   q(0092) => [
-      q(Corsican),
-      ],
-   q(0093) => [
-      q(Creoles and pidgins, English based),
-      ],
-   q(0094) => [
-      q(Creoles and pidgins, French-based ),
-      ],
-   q(0095) => [
-      q(Creoles and pidgins, Portuguese-based ),
-      ],
-   q(0096) => [
-      q(Cree),
-      ],
-   q(0097) => [
-      q(Crimean Tatar),
-      q(Crimean Turkish),
-      ],
-   q(0098) => [
-      q(Creoles and pidgins ),
-      ],
-   q(0099) => [
-      q(Kashubian),
-      ],
-   q(0100) => [
-      q(Cushitic languages),
-      ],
-   q(0101) => [
-      q(Czech),
-      ],
-   q(0102) => [
-      q(Dakota),
-      ],
-   q(0103) => [
-      q(Danish),
-      ],
-   q(0104) => [
-      q(Dargwa),
-      ],
-   q(0105) => [
-      q(Land Dayak languages),
-      ],
-   q(0106) => [
-      q(Delaware),
-      ],
-   q(0107) => [
-      q(Slave (Athapascan)),
-      ],
-   q(0108) => [
-      q(Dogrib),
-      ],
-   q(0109) => [
-      q(Dinka),
-      ],
-   q(0110) => [
-      q(Divehi),
-      q(Dhivehi),
-      q(Maldivian),
-      ],
-   q(0111) => [
-      q(Dogri),
-      ],
-   q(0112) => [
-      q(Dravidian languages),
-      ],
-   q(0113) => [
-      q(Lower Sorbian),
-      ],
-   q(0114) => [
-      q(Duala),
-      ],
-   q(0115) => [
-      q(Dutch, Middle (ca.1050-1350)),
-      ],
-   q(0116) => [
-      q(Dutch),
-      q(Flemish),
-      ],
-   q(0117) => [
-      q(Dyula),
-      ],
-   q(0118) => [
-      q(Dzongkha),
-      ],
-   q(0119) => [
-      q(Efik),
-      ],
-   q(0120) => [
-      q(Egyptian (Ancient)),
-      ],
-   q(0121) => [
-      q(Ekajuk),
-      ],
-   q(0122) => [
-      q(Elamite),
-      ],
-   q(0123) => [
-      q(English),
-      ],
-   q(0124) => [
-      q(English, Middle (1100-1500)),
-      ],
-   q(0125) => [
-      q(Esperanto),
-      ],
-   q(0126) => [
-      q(Estonian),
-      ],
-   q(0127) => [
-      q(Ewe),
-      ],
-   q(0128) => [
-      q(Ewondo),
-      ],
-   q(0129) => [
-      q(Fang),
-      ],
-   q(0130) => [
-      q(Faroese),
-      ],
-   q(0131) => [
-      q(Fanti),
-      ],
-   q(0132) => [
-      q(Fijian),
-      ],
-   q(0133) => [
-      q(Filipino),
-      q(Pilipino),
-      ],
-   q(0134) => [
-      q(Finnish),
-      ],
-   q(0135) => [
-      q(Finno-Ugrian languages),
-      ],
-   q(0136) => [
-      q(Fon),
-      ],
-   q(0137) => [
-      q(French),
-      ],
-   q(0138) => [
-      q(French, Middle (ca.1400-1600)),
-      ],
-   q(0139) => [
-      q(French, Old (842-ca.1400)),
-      ],
-   q(0140) => [
-      q(Northern Frisian),
-      ],
-   q(0141) => [
-      q(Eastern Frisian),
-      ],
-   q(0142) => [
-      q(Western Frisian),
-      ],
-   q(0143) => [
-      q(Fulah),
-      ],
-   q(0144) => [
-      q(Friulian),
-      ],
-   q(0145) => [
-      q(Ga),
-      ],
-   q(0146) => [
-      q(Gayo),
-      ],
-   q(0147) => [
-      q(Gbaya),
-      ],
-   q(0148) => [
-      q(Germanic languages),
-      ],
-   q(0149) => [
-      q(Georgian),
-      ],
-   q(0150) => [
-      q(German),
-      ],
-   q(0151) => [
-      q(Geez),
-      ],
-   q(0152) => [
-      q(Gilbertese),
-      ],
-   q(0153) => [
-      q(Gaelic),
-      q(Scottish Gaelic),
-      ],
-   q(0154) => [
-      q(Irish),
-      ],
-   q(0155) => [
-      q(Galician),
-      ],
-   q(0156) => [
-      q(Manx),
-      ],
-   q(0157) => [
-      q(German, Middle High (ca.1050-1500)),
-      ],
-   q(0158) => [
-      q(German, Old High (ca.750-1050)),
-      ],
-   q(0159) => [
-      q(Gondi),
-      ],
-   q(0160) => [
-      q(Gorontalo),
-      ],
-   q(0161) => [
-      q(Gothic),
-      ],
-   q(0162) => [
-      q(Grebo),
-      ],
-   q(0163) => [
-      q(Greek, Ancient (to 1453)),
-      ],
-   q(0164) => [
-      q(Greek, Modern (1453-)),
-      q(Greek),
-      ],
-   q(0165) => [
-      q(Guarani),
-      ],
-   q(0166) => [
-      q(Swiss German),
-      q(Alemannic),
-      q(Alsatian),
-      ],
-   q(0167) => [
-      q(Gujarati),
-      ],
-   q(0168) => [
-      q(Gwich'in),
-      ],
-   q(0169) => [
-      q(Haida),
-      ],
-   q(0170) => [
-      q(Haitian),
-      q(Haitian Creole),
-      ],
-   q(0171) => [
-      q(Hausa),
-      ],
-   q(0172) => [
-      q(Hawaiian),
-      ],
-   q(0173) => [
-      q(Hebrew),
-      ],
-   q(0174) => [
-      q(Herero),
-      ],
-   q(0175) => [
-      q(Hiligaynon),
-      ],
-   q(0176) => [
-      q(Himachali languages),
-      q(Western Pahari languages),
-      ],
-   q(0177) => [
-      q(Hindi),
-      ],
-   q(0178) => [
-      q(Hittite),
-      ],
-   q(0179) => [
-      q(Hmong),
-      q(Mong),
-      ],
-   q(0180) => [
-      q(Hiri Motu),
-      ],
-   q(0181) => [
-      q(Croatian),
-      ],
-   q(0182) => [
-      q(Upper Sorbian),
-      ],
-   q(0183) => [
-      q(Hungarian),
-      ],
-   q(0184) => [
-      q(Hupa),
-      ],
-   q(0185) => [
-      q(Iban),
-      ],
-   q(0186) => [
-      q(Igbo),
-      ],
-   q(0187) => [
-      q(Icelandic),
-      ],
-   q(0188) => [
-      q(Ido),
-      ],
-   q(0189) => [
-      q(Sichuan Yi),
-      q(Nuosu),
-      ],
-   q(0190) => [
-      q(Ijo languages),
-      ],
-   q(0191) => [
-      q(Inuktitut),
-      ],
-   q(0192) => [
-      q(Interlingue),
-      q(Occidental),
-      ],
-   q(0193) => [
-      q(Iloko),
-      ],
-   q(0194) => [
-      q(Interlingua (International Auxiliary Language Association)),
-      ],
-   q(0195) => [
-      q(Indic languages),
-      ],
-   q(0196) => [
-      q(Indonesian),
-      ],
-   q(0197) => [
-      q(Indo-European languages),
-      ],
-   q(0198) => [
-      q(Ingush),
-      ],
-   q(0199) => [
-      q(Inupiaq),
-      ],
-   q(0200) => [
-      q(Iranian languages),
-      ],
-   q(0201) => [
-      q(Iroquoian languages),
-      ],
-   q(0202) => [
-      q(Italian),
-      ],
-   q(0203) => [
-      q(Javanese),
-      ],
-   q(0204) => [
-      q(Lojban),
-      ],
-   q(0205) => [
-      q(Japanese),
-      ],
-   q(0206) => [
-      q(Judeo-Persian),
-      ],
-   q(0207) => [
-      q(Judeo-Arabic),
-      ],
-   q(0208) => [
-      q(Kara-Kalpak),
-      ],
-   q(0209) => [
-      q(Kabyle),
-      ],
-   q(0210) => [
-      q(Kachin),
-      q(Jingpho),
-      ],
-   q(0211) => [
-      q(Kalaallisut),
-      q(Greenlandic),
-      ],
-   q(0212) => [
-      q(Kamba),
-      ],
-   q(0213) => [
-      q(Kannada),
-      ],
-   q(0214) => [
-      q(Karen languages),
-      ],
-   q(0215) => [
-      q(Kashmiri),
-      ],
-   q(0216) => [
-      q(Kanuri),
-      ],
-   q(0217) => [
-      q(Kawi),
-      ],
-   q(0218) => [
-      q(Kazakh),
-      ],
-   q(0219) => [
-      q(Kabardian),
-      ],
-   q(0220) => [
-      q(Khasi),
-      ],
-   q(0221) => [
-      q(Khoisan languages),
-      ],
-   q(0222) => [
-      q(Central Khmer),
-      ],
-   q(0223) => [
-      q(Khotanese),
-      q(Sakan),
-      ],
-   q(0224) => [
-      q(Kikuyu),
-      q(Gikuyu),
-      ],
-   q(0225) => [
-      q(Kinyarwanda),
-      ],
-   q(0226) => [
-      q(Kirghiz),
-      q(Kyrgyz),
-      ],
-   q(0227) => [
-      q(Kimbundu),
-      ],
-   q(0228) => [
-      q(Konkani),
-      ],
-   q(0229) => [
-      q(Komi),
-      ],
-   q(0230) => [
-      q(Kongo),
-      ],
-   q(0231) => [
-      q(Korean),
-      ],
-   q(0232) => [
-      q(Kosraean),
-      ],
-   q(0233) => [
-      q(Kpelle),
-      ],
-   q(0234) => [
-      q(Karachay-Balkar),
-      ],
-   q(0235) => [
-      q(Karelian),
-      ],
-   q(0236) => [
-      q(Kru languages),
-      ],
-   q(0237) => [
-      q(Kurukh),
-      ],
-   q(0238) => [
-      q(Kuanyama),
-      q(Kwanyama),
-      ],
-   q(0239) => [
-      q(Kumyk),
-      ],
-   q(0240) => [
-      q(Kurdish),
-      ],
-   q(0241) => [
-      q(Kutenai),
-      ],
-   q(0242) => [
-      q(Ladino),
-      ],
-   q(0243) => [
-      q(Lahnda),
-      ],
-   q(0244) => [
-      q(Lamba),
-      ],
-   q(0245) => [
-      q(Lao),
-      ],
-   q(0246) => [
-      q(Latin),
-      ],
-   q(0247) => [
-      q(Latvian),
-      ],
-   q(0248) => [
-      q(Lezghian),
-      ],
-   q(0249) => [
-      q(Limburgan),
-      q(Limburger),
-      q(Limburgish),
-      ],
-   q(0250) => [
-      q(Lingala),
-      ],
-   q(0251) => [
-      q(Lithuanian),
-      ],
-   q(0252) => [
-      q(Mongo),
-      ],
-   q(0253) => [
-      q(Lozi),
-      ],
-   q(0254) => [
-      q(Luxembourgish),
-      q(Letzeburgesch),
-      ],
-   q(0255) => [
-      q(Luba-Lulua),
-      ],
-   q(0256) => [
-      q(Luba-Katanga),
-      ],
-   q(0257) => [
-      q(Ganda),
-      ],
-   q(0258) => [
-      q(Luiseno),
-      ],
-   q(0259) => [
-      q(Lunda),
-      ],
-   q(0260) => [
-      q(Luo (Kenya and Tanzania)),
-      ],
-   q(0261) => [
-      q(Lushai),
-      ],
-   q(0262) => [
-      q(Macedonian),
-      ],
-   q(0263) => [
-      q(Madurese),
-      ],
-   q(0264) => [
-      q(Magahi),
-      ],
-   q(0265) => [
-      q(Marshallese),
-      ],
-   q(0266) => [
-      q(Maithili),
-      ],
-   q(0267) => [
-      q(Makasar),
-      ],
-   q(0268) => [
-      q(Malayalam),
-      ],
-   q(0269) => [
-      q(Mandingo),
-      ],
-   q(0270) => [
-      q(Maori),
-      ],
-   q(0271) => [
-      q(Austronesian languages),
-      ],
-   q(0272) => [
-      q(Marathi),
-      ],
-   q(0273) => [
-      q(Masai),
-      ],
-   q(0274) => [
-      q(Malay),
-      ],
-   q(0275) => [
-      q(Moksha),
-      ],
-   q(0276) => [
-      q(Mandar),
-      ],
-   q(0277) => [
-      q(Mende),
-      ],
-   q(0278) => [
-      q(Irish, Middle (900-1200)),
-      ],
-   q(0279) => [
-      q(Mi'kmaq),
-      q(Micmac),
-      ],
-   q(0280) => [
-      q(Minangkabau),
-      ],
-   q(0281) => [
-      q(Uncoded languages),
-      ],
-   q(0282) => [
-      q(Mon-Khmer languages),
-      ],
-   q(0283) => [
-      q(Malagasy),
-      ],
-   q(0284) => [
-      q(Maltese),
-      ],
-   q(0285) => [
-      q(Manchu),
-      ],
-   q(0286) => [
-      q(Manipuri),
-      ],
-   q(0287) => [
-      q(Manobo languages),
-      ],
-   q(0288) => [
-      q(Mohawk),
-      ],
-   q(0289) => [
-      q(Mongolian),
-      ],
-   q(0290) => [
-      q(Mossi),
-      ],
-   q(0291) => [
-      q(Multiple languages),
-      ],
-   q(0292) => [
-      q(Munda languages),
-      ],
-   q(0293) => [
-      q(Creek),
-      ],
-   q(0294) => [
-      q(Mirandese),
-      ],
-   q(0295) => [
-      q(Marwari),
-      ],
-   q(0296) => [
-      q(Mayan languages),
-      ],
-   q(0297) => [
-      q(Erzya),
-      ],
-   q(0298) => [
-      q(Nahuatl languages),
-      ],
-   q(0299) => [
-      q(North American Indian languages),
-      ],
-   q(0300) => [
-      q(Neapolitan),
-      ],
-   q(0301) => [
-      q(Nauru),
-      ],
-   q(0302) => [
-      q(Navajo),
-      q(Navaho),
-      ],
-   q(0303) => [
-      q(Ndebele, South),
-      q(South Ndebele),
-      ],
-   q(0304) => [
-      q(Ndebele, North),
-      q(North Ndebele),
-      ],
-   q(0305) => [
-      q(Ndonga),
-      ],
-   q(0306) => [
-      q(Low German),
-      q(Low Saxon),
-      q(German, Low),
-      q(Saxon, Low),
-      ],
-   q(0307) => [
-      q(Nepali),
-      ],
-   q(0308) => [
-      q(Nepal Bhasa),
-      q(Newari),
-      ],
-   q(0309) => [
-      q(Nias),
-      ],
-   q(0310) => [
-      q(Niger-Kordofanian languages),
-      ],
-   q(0311) => [
-      q(Niuean),
-      ],
-   q(0312) => [
-      q(Norwegian Nynorsk),
-      q(Nynorsk, Norwegian),
-      ],
-   q(0313) => [
-      q(Bokmal, Norwegian),
-      q(Norwegian Bokmal),
-      ],
-   q(0314) => [
-      q(Nogai),
-      ],
-   q(0315) => [
-      q(Norse, Old),
-      ],
-   q(0316) => [
-      q(Norwegian),
-      ],
-   q(0317) => [
-      q(N'Ko),
-      ],
-   q(0318) => [
-      q(Pedi),
-      q(Sepedi),
-      q(Northern Sotho),
-      ],
-   q(0319) => [
-      q(Nubian languages),
-      ],
-   q(0320) => [
-      q(Classical Newari),
-      q(Old Newari),
-      q(Classical Nepal Bhasa),
-      ],
-   q(0321) => [
-      q(Chichewa),
-      q(Chewa),
-      q(Nyanja),
-      ],
-   q(0322) => [
-      q(Nyamwezi),
-      ],
-   q(0323) => [
-      q(Nyankole),
-      ],
-   q(0324) => [
-      q(Nyoro),
-      ],
-   q(0325) => [
-      q(Nzima),
-      ],
-   q(0326) => [
-      q(Occitan (post 1500)),
-      q(Provencal),
-      ],
-   q(0327) => [
-      q(Ojibwa),
-      ],
-   q(0328) => [
-      q(Oriya),
-      ],
-   q(0329) => [
-      q(Oromo),
-      ],
-   q(0330) => [
-      q(Osage),
-      ],
-   q(0331) => [
-      q(Ossetian),
-      q(Ossetic),
-      ],
-   q(0332) => [
-      q(Turkish, Ottoman (1500-1928)),
-      ],
-   q(0333) => [
-      q(Otomian languages),
-      ],
-   q(0334) => [
-      q(Papuan languages),
-      ],
-   q(0335) => [
-      q(Pangasinan),
-      ],
-   q(0336) => [
-      q(Pahlavi),
-      ],
-   q(0337) => [
-      q(Pampanga),
-      q(Kapampangan),
-      ],
-   q(0338) => [
-      q(Panjabi),
-      q(Punjabi),
-      ],
-   q(0339) => [
-      q(Papiamento),
-      ],
-   q(0340) => [
-      q(Palauan),
-      ],
-   q(0341) => [
-      q(Persian, Old (ca.600-400 B.C.)),
-      ],
-   q(0342) => [
-      q(Persian),
-      ],
-   q(0343) => [
-      q(Philippine languages),
-      ],
-   q(0344) => [
-      q(Phoenician),
-      ],
-   q(0345) => [
-      q(Pali),
-      ],
-   q(0346) => [
-      q(Polish),
-      ],
-   q(0347) => [
-      q(Pohnpeian),
-      ],
-   q(0348) => [
-      q(Portuguese),
-      ],
-   q(0349) => [
-      q(Prakrit languages),
-      ],
-   q(0350) => [
-      q(Provencal, Old (to 1500)),
-      ],
-   q(0351) => [
-      q(Pushto),
-      q(Pashto),
-      ],
-   q(0352) => [
-      q(Reserved for local use),
-      ],
-   q(0353) => [
-      q(Quechua),
-      ],
-   q(0354) => [
-      q(Rajasthani),
-      ],
-   q(0355) => [
-      q(Rapanui),
-      ],
-   q(0356) => [
-      q(Rarotongan),
-      q(Cook Islands Maori),
-      ],
-   q(0357) => [
-      q(Romance languages),
-      ],
-   q(0358) => [
-      q(Romansh),
-      ],
-   q(0359) => [
-      q(Romany),
-      ],
-   q(0360) => [
-      q(Romanian),
-      q(Moldavian),
-      q(Moldovan),
-      ],
-   q(0361) => [
-      q(Rundi),
-      ],
-   q(0362) => [
-      q(Aromanian),
-      q(Arumanian),
-      q(Macedo-Romanian),
-      ],
-   q(0363) => [
-      q(Russian),
-      ],
-   q(0364) => [
-      q(Sandawe),
-      ],
-   q(0365) => [
-      q(Sango),
-      ],
-   q(0366) => [
-      q(Yakut),
-      ],
-   q(0367) => [
-      q(South American Indian (Other)),
-      ],
-   q(0368) => [
-      q(Salishan languages),
-      ],
-   q(0369) => [
-      q(Samaritan Aramaic),
-      ],
-   q(0370) => [
-      q(Sanskrit),
-      ],
-   q(0371) => [
-      q(Sasak),
-      ],
-   q(0372) => [
-      q(Santali),
-      ],
-   q(0373) => [
-      q(Sicilian),
-      ],
-   q(0374) => [
-      q(Scots),
-      ],
-   q(0375) => [
-      q(Selkup),
-      ],
-   q(0376) => [
-      q(Semitic languages),
-      ],
-   q(0377) => [
-      q(Irish, Old (to 900)),
-      ],
-   q(0378) => [
-      q(Sign Languages),
-      ],
-   q(0379) => [
-      q(Shan),
-      ],
-   q(0380) => [
-      q(Sidamo),
-      ],
-   q(0381) => [
-      q(Sinhala),
-      q(Sinhalese),
-      ],
-   q(0382) => [
-      q(Siouan languages),
-      ],
-   q(0383) => [
-      q(Sino-Tibetan languages),
-      ],
-   q(0384) => [
-      q(Slavic languages),
-      ],
-   q(0385) => [
-      q(Slovak),
-      ],
-   q(0386) => [
-      q(Slovenian),
-      ],
-   q(0387) => [
-      q(Southern Sami),
-      ],
-   q(0388) => [
-      q(Northern Sami),
-      ],
-   q(0389) => [
-      q(Sami languages),
-      ],
-   q(0390) => [
-      q(Lule Sami),
-      ],
-   q(0391) => [
-      q(Inari Sami),
-      ],
-   q(0392) => [
-      q(Samoan),
-      ],
-   q(0393) => [
-      q(Skolt Sami),
-      ],
-   q(0394) => [
-      q(Shona),
-      ],
-   q(0395) => [
-      q(Sindhi),
-      ],
-   q(0396) => [
-      q(Soninke),
-      ],
-   q(0397) => [
-      q(Sogdian),
-      ],
-   q(0398) => [
-      q(Somali),
-      ],
-   q(0399) => [
-      q(Songhai languages),
-      ],
-   q(0400) => [
-      q(Sotho, Southern),
-      ],
-   q(0401) => [
-      q(Spanish),
-      q(Castilian),
-      ],
-   q(0402) => [
-      q(Sardinian),
-      ],
-   q(0403) => [
-      q(Sranan Tongo),
-      ],
-   q(0404) => [
-      q(Serbian),
-      ],
-   q(0405) => [
-      q(Serer),
-      ],
-   q(0406) => [
-      q(Nilo-Saharan languages),
-      ],
-   q(0407) => [
-      q(Swati),
-      ],
-   q(0408) => [
-      q(Sukuma),
-      ],
-   q(0409) => [
-      q(Sundanese),
-      ],
-   q(0410) => [
-      q(Susu),
-      ],
-   q(0411) => [
-      q(Sumerian),
-      ],
-   q(0412) => [
-      q(Swahili),
-      ],
-   q(0413) => [
-      q(Swedish),
-      ],
-   q(0414) => [
-      q(Classical Syriac),
-      ],
-   q(0415) => [
-      q(Syriac),
-      ],
-   q(0416) => [
-      q(Tahitian),
-      ],
-   q(0417) => [
-      q(Tai languages),
-      ],
-   q(0418) => [
-      q(Tamil),
-      ],
-   q(0419) => [
-      q(Tatar),
-      ],
-   q(0420) => [
-      q(Telugu),
-      ],
-   q(0421) => [
-      q(Timne),
-      ],
-   q(0422) => [
-      q(Tereno),
-      ],
-   q(0423) => [
-      q(Tetum),
-      ],
-   q(0424) => [
-      q(Tajik),
-      ],
-   q(0425) => [
-      q(Tagalog),
-      ],
-   q(0426) => [
-      q(Thai),
-      ],
-   q(0427) => [
-      q(Tibetan),
-      ],
-   q(0428) => [
-      q(Tigre),
-      ],
-   q(0429) => [
-      q(Tigrinya),
-      ],
-   q(0430) => [
-      q(Tiv),
-      ],
-   q(0431) => [
-      q(Tokelau),
-      ],
-   q(0432) => [
-      q(Klingon),
-      q(tlhIngan-Hol),
-      ],
-   q(0433) => [
-      q(Tlingit),
-      ],
-   q(0434) => [
-      q(Tamashek),
-      ],
-   q(0435) => [
-      q(Tonga (Nyasa)),
-      ],
-   q(0436) => [
-      q(Tonga (Tonga Islands)),
-      q(Tonga),
-      ],
-   q(0437) => [
-      q(Tok Pisin),
-      ],
-   q(0438) => [
-      q(Tsimshian),
-      ],
-   q(0439) => [
-      q(Tswana),
-      ],
-   q(0440) => [
-      q(Tsonga),
-      ],
-   q(0441) => [
-      q(Turkmen),
-      ],
-   q(0442) => [
-      q(Tumbuka),
-      ],
-   q(0443) => [
-      q(Tupi languages),
-      ],
-   q(0444) => [
-      q(Turkish),
-      ],
-   q(0445) => [
-      q(Altaic languages),
-      ],
-   q(0446) => [
-      q(Tuvalu),
-      ],
-   q(0447) => [
-      q(Twi),
-      ],
-   q(0448) => [
-      q(Tuvinian),
-      ],
-   q(0449) => [
-      q(Udmurt),
-      ],
-   q(0450) => [
-      q(Ugaritic),
-      ],
-   q(0451) => [
-      q(Uighur),
-      q(Uyghur),
-      ],
-   q(0452) => [
-      q(Ukrainian),
-      ],
-   q(0453) => [
-      q(Umbundu),
-      ],
-   q(0454) => [
-      q(Undetermined),
-      ],
-   q(0455) => [
-      q(Urdu),
-      ],
-   q(0456) => [
-      q(Uzbek),
-      ],
-   q(0457) => [
-      q(Vai),
-      ],
-   q(0458) => [
-      q(Venda),
-      ],
-   q(0459) => [
-      q(Vietnamese),
-      ],
-   q(0460) => [
-      q(Volapuk),
-      ],
-   q(0461) => [
-      q(Votic),
-      ],
-   q(0462) => [
-      q(Wakashan languages),
-      ],
-   q(0463) => [
-      q(Walamo),
-      ],
-   q(0464) => [
-      q(Waray),
-      ],
-   q(0465) => [
-      q(Washo),
-      ],
-   q(0466) => [
-      q(Welsh),
-      ],
-   q(0467) => [
-      q(Sorbian languages),
-      ],
-   q(0468) => [
-      q(Walloon),
-      ],
-   q(0469) => [
-      q(Wolof),
-      ],
-   q(0470) => [
-      q(Kalmyk),
-      q(Oirat),
-      ],
-   q(0471) => [
-      q(Xhosa),
-      ],
-   q(0472) => [
-      q(Yao),
-      ],
-   q(0473) => [
-      q(Yapese),
-      ],
-   q(0474) => [
-      q(Yiddish),
-      ],
-   q(0475) => [
-      q(Yoruba),
-      ],
-   q(0476) => [
-      q(Yupik languages),
-      ],
-   q(0477) => [
-      q(Zapotec),
-      ],
-   q(0478) => [
-      q(Blissymbols),
-      q(Blissymbolics),
-      q(Bliss),
-      ],
-   q(0479) => [
-      q(Zenaga),
-      ],
-   q(0480) => [
-      q(Zhuang),
-      q(Chuang),
-      ],
-   q(0481) => [
-      q(Zande languages),
-      ],
-   q(0482) => [
-      q(Zulu),
-      ],
-   q(0483) => [
-      q(Zuni),
-      ],
-   q(0484) => [
-      q(No linguistic content),
-      q(Not applicable),
-      ],
-   q(0485) => [
-      q(Zaza),
-      q(Dimili),
-      q(Dimli),
-      q(Kirdki),
-      q(Kirmanjki),
-      q(Zazaki),
-      ],
-};
+sub add_language_code_alias {
+   return Locale::Codes::_add_code_alias('language', at _);
+}
 
-$Locale::Codes::Data{'language'}{'alias2id'} = {
-   q(abkhazian) => [
-      q(0002),
-      q(0),
-      ],
-   q(achinese) => [
-      q(0003),
-      q(0),
-      ],
-   q(acoli) => [
-      q(0004),
-      q(0),
-      ],
-   q(adangme) => [
-      q(0005),
-      q(0),
-      ],
-   q(adygei) => [
-      q(0006),
-      q(1),
-      ],
-   q(adyghe) => [
-      q(0006),
-      q(0),
-      ],
-   q(afar) => [
-      q(0001),
-      q(0),
-      ],
-   q(afrihili) => [
-      q(0008),
-      q(0),
-      ],
-   q(afrikaans) => [
-      q(0009),
-      q(0),
-      ],
-   q(afro-asiatic languages) => [
-      q(0007),
-      q(0),
-      ],
-   q(ainu) => [
-      q(0010),
-      q(0),
-      ],
-   q(akan) => [
-      q(0011),
-      q(0),
-      ],
-   q(akkadian) => [
-      q(0012),
-      q(0),
-      ],
-   q(albanian) => [
-      q(0013),
-      q(0),
-      ],
-   q(alemannic) => [
-      q(0166),
-      q(1),
-      ],
-   q(aleut) => [
-      q(0014),
-      q(0),
-      ],
-   q(algonquian languages) => [
-      q(0015),
-      q(0),
-      ],
-   q(alsatian) => [
-      q(0166),
-      q(2),
-      ],
-   q(altaic languages) => [
-      q(0445),
-      q(0),
-      ],
-   q(amharic) => [
-      q(0017),
-      q(0),
-      ],
-   q(angika) => [
-      q(0019),
-      q(0),
-      ],
-   q(apache languages) => [
-      q(0020),
-      q(0),
-      ],
-   q(arabic) => [
-      q(0021),
-      q(0),
-      ],
-   q(aragonese) => [
-      q(0023),
-      q(0),
-      ],
-   q(arapaho) => [
-      q(0026),
-      q(0),
-      ],
-   q(arawak) => [
-      q(0028),
-      q(0),
-      ],
-   q(armenian) => [
-      q(0024),
-      q(0),
-      ],
-   q(aromanian) => [
-      q(0362),
-      q(0),
-      ],
-   q(artificial languages) => [
-      q(0027),
-      q(0),
-      ],
-   q(arumanian) => [
-      q(0362),
-      q(1),
-      ],
-   q(assamese) => [
-      q(0029),
-      q(0),
-      ],
-   q(asturian) => [
-      q(0030),
-      q(0),
-      ],
-   q(asturleonese) => [
-      q(0030),
-      q(3),
-      ],
-   q(athapascan languages) => [
-      q(0031),
-      q(0),
-      ],
-   q(australian languages) => [
-      q(0032),
-      q(0),
-      ],
-   q(austronesian languages) => [
-      q(0271),
-      q(0),
-      ],
-   q(avaric) => [
-      q(0033),
-      q(0),
-      ],
-   q(avestan) => [
-      q(0034),
-      q(0),
-      ],
-   q(awadhi) => [
-      q(0035),
-      q(0),
-      ],
-   q(aymara) => [
-      q(0036),
-      q(0),
-      ],
-   q(azerbaijani) => [
-      q(0037),
-      q(0),
-      ],
-   q(bable) => [
-      q(0030),
-      q(1),
-      ],
-   q(balinese) => [
-      q(0043),
-      q(0),
-      ],
-   q(baltic languages) => [
-      q(0046),
-      q(0),
-      ],
-   q(baluchi) => [
-      q(0041),
-      q(0),
-      ],
-   q(bambara) => [
-      q(0042),
-      q(0),
-      ],
-   q(bamileke languages) => [
-      q(0039),
-      q(0),
-      ],
-   q(banda languages) => [
-      q(0038),
-      q(0),
-      ],
-   q(bantu (other)) => [
-      q(0058),
-      q(0),
-      ],
-   q(basa) => [
-      q(0045),
-      q(0),
-      ],
-   q(bashkir) => [
-      q(0040),
-      q(0),
-      ],
-   q(basque) => [
-      q(0044),
-      q(0),
-      ],
-   q(batak languages) => [
-      q(0062),
-      q(0),
-      ],
-   q(bedawiyet) => [
-      q(0047),
-      q(1),
-      ],
-   q(beja) => [
-      q(0047),
-      q(0),
-      ],
-   q(belarusian) => [
-      q(0048),
-      q(0),
-      ],
-   q(bemba) => [
-      q(0049),
-      q(0),
-      ],
-   q(bengali) => [
-      q(0050),
-      q(0),
-      ],
-   q(berber languages) => [
-      q(0051),
-      q(0),
-      ],
-   q(bhojpuri) => [
-      q(0052),
-      q(0),
-      ],
-   q(bihari languages) => [
-      q(0053),
-      q(0),
-      ],
-   q(bikol) => [
-      q(0054),
-      q(0),
-      ],
-   q(bilin) => [
-      q(0067),
-      q(1),
-      ],
-   q(bini) => [
-      q(0055),
-      q(0),
-      ],
-   q(bislama) => [
-      q(0056),
-      q(0),
-      ],
-   q(blin) => [
-      q(0067),
-      q(0),
-      ],
-   q(bliss) => [
-      q(0478),
-      q(2),
-      ],
-   q(blissymbolics) => [
-      q(0478),
-      q(1),
-      ],
-   q(blissymbols) => [
-      q(0478),
-      q(0),
-      ],
-   q(bokmal, norwegian) => [
-      q(0313),
-      q(0),
-      ],
-   q(bosnian) => [
-      q(0059),
-      q(0),
-      ],
-   q(braj) => [
-      q(0060),
-      q(0),
-      ],
-   q(breton) => [
-      q(0061),
-      q(0),
-      ],
-   q(buginese) => [
-      q(0064),
-      q(0),
-      ],
-   q(bulgarian) => [
-      q(0065),
-      q(0),
-      ],
-   q(buriat) => [
-      q(0063),
-      q(0),
-      ],
-   q(burmese) => [
-      q(0066),
-      q(0),
-      ],
-   q(caddo) => [
-      q(0068),
-      q(0),
-      ],
-   q(castilian) => [
-      q(0401),
-      q(1),
-      ],
-   q(catalan) => [
-      q(0071),
-      q(0),
-      ],
-   q(caucasian languages) => [
-      q(0072),
-      q(0),
-      ],
-   q(cebuano) => [
-      q(0073),
-      q(0),
-      ],
-   q(celtic languages) => [
-      q(0074),
-      q(0),
-      ],
-   q(central american indian languages) => [
-      q(0069),
-      q(0),
-      ],
-   q(central khmer) => [
-      q(0222),
-      q(0),
-      ],
-   q(chagatai) => [
-      q(0078),
-      q(0),
-      ],
-   q(chamic languages) => [
-      q(0089),
-      q(0),
-      ],
-   q(chamorro) => [
-      q(0075),
-      q(0),
-      ],
-   q(chechen) => [
-      q(0077),
-      q(0),
-      ],
-   q(cherokee) => [
-      q(0085),
-      q(0),
-      ],
-   q(chewa) => [
-      q(0321),
-      q(1),
-      ],
-   q(cheyenne) => [
-      q(0088),
-      q(0),
-      ],
-   q(chibcha) => [
-      q(0076),
-      q(0),
-      ],
-   q(chichewa) => [
-      q(0321),
-      q(0),
-      ],
-   q(chinese) => [
-      q(0079),
-      q(0),
-      ],
-   q(chinook jargon) => [
-      q(0082),
-      q(0),
-      ],
-   q(chipewyan) => [
-      q(0084),
-      q(0),
-      ],
-   q(choctaw) => [
-      q(0083),
-      q(0),
-      ],
-   q(chuang) => [
-      q(0480),
-      q(1),
-      ],
-   q(church slavic) => [
-      q(0086),
-      q(0),
-      ],
-   q(church slavonic) => [
-      q(0086),
-      q(2),
-      ],
-   q(chuukese) => [
-      q(0080),
-      q(0),
-      ],
-   q(chuvash) => [
-      q(0087),
-      q(0),
-      ],
-   q(classical nepal bhasa) => [
-      q(0320),
-      q(2),
-      ],
-   q(classical newari) => [
-      q(0320),
-      q(0),
-      ],
-   q(classical syriac) => [
-      q(0414),
-      q(0),
-      ],
-   q(cook islands maori) => [
-      q(0356),
-      q(1),
-      ],
-   q(coptic) => [
-      q(0090),
-      q(0),
-      ],
-   q(cornish) => [
-      q(0091),
-      q(0),
-      ],
-   q(corsican) => [
-      q(0092),
-      q(0),
-      ],
-   q(cree) => [
-      q(0096),
-      q(0),
-      ],
-   q(creek) => [
-      q(0293),
-      q(0),
-      ],
-   q(creoles and pidgins ) => [
-      q(0098),
-      q(0),
-      ],
-   q(creoles and pidgins, english based) => [
-      q(0093),
-      q(0),
-      ],
-   q(creoles and pidgins, french-based ) => [
-      q(0094),
-      q(0),
-      ],
-   q(creoles and pidgins, portuguese-based ) => [
-      q(0095),
-      q(0),
-      ],
-   q(crimean tatar) => [
-      q(0097),
-      q(0),
-      ],
-   q(crimean turkish) => [
-      q(0097),
-      q(1),
-      ],
-   q(croatian) => [
-      q(0181),
-      q(0),
-      ],
-   q(cushitic languages) => [
-      q(0100),
-      q(0),
-      ],
-   q(czech) => [
-      q(0101),
-      q(0),
-      ],
-   q(dakota) => [
-      q(0102),
-      q(0),
-      ],
-   q(danish) => [
-      q(0103),
-      q(0),
-      ],
-   q(dargwa) => [
-      q(0104),
-      q(0),
-      ],
-   q(delaware) => [
-      q(0106),
-      q(0),
-      ],
-   q(dene suline) => [
-      q(0084),
-      q(1),
-      ],
-   q(dhivehi) => [
-      q(0110),
-      q(1),
-      ],
-   q(dimili) => [
-      q(0485),
-      q(1),
-      ],
-   q(dimli) => [
-      q(0485),
-      q(2),
-      ],
-   q(dinka) => [
-      q(0109),
-      q(0),
-      ],
-   q(divehi) => [
-      q(0110),
-      q(0),
-      ],
-   q(dogri) => [
-      q(0111),
-      q(0),
-      ],
-   q(dogrib) => [
-      q(0108),
-      q(0),
-      ],
-   q(dravidian languages) => [
-      q(0112),
-      q(0),
-      ],
-   q(duala) => [
-      q(0114),
-      q(0),
-      ],
-   q(dutch) => [
-      q(0116),
-      q(0),
-      ],
-   q(dutch, middle (ca.1050-1350)) => [
-      q(0115),
-      q(0),
-      ],
-   q(dyula) => [
-      q(0117),
-      q(0),
-      ],
-   q(dzongkha) => [
-      q(0118),
-      q(0),
-      ],
-   q(eastern frisian) => [
-      q(0141),
-      q(0),
-      ],
-   q(edo) => [
-      q(0055),
-      q(1),
-      ],
-   q(efik) => [
-      q(0119),
-      q(0),
-      ],
-   q(egyptian (ancient)) => [
-      q(0120),
-      q(0),
-      ],
-   q(ekajuk) => [
-      q(0121),
-      q(0),
-      ],
-   q(elamite) => [
-      q(0122),
-      q(0),
-      ],
-   q(english) => [
-      q(0123),
-      q(0),
-      ],
-   q(english, middle (1100-1500)) => [
-      q(0124),
-      q(0),
-      ],
-   q(english, old (ca.450-1100)) => [
-      q(0018),
-      q(0),
-      ],
-   q(erzya) => [
-      q(0297),
-      q(0),
-      ],
-   q(esperanto) => [
-      q(0125),
-      q(0),
-      ],
-   q(estonian) => [
-      q(0126),
-      q(0),
-      ],
-   q(ewe) => [
-      q(0127),
-      q(0),
-      ],
-   q(ewondo) => [
-      q(0128),
-      q(0),
-      ],
-   q(fang) => [
-      q(0129),
-      q(0),
-      ],
-   q(fanti) => [
-      q(0131),
-      q(0),
-      ],
-   q(faroese) => [
-      q(0130),
-      q(0),
-      ],
-   q(fijian) => [
-      q(0132),
-      q(0),
-      ],
-   q(filipino) => [
-      q(0133),
-      q(0),
-      ],
-   q(finnish) => [
-      q(0134),
-      q(0),
-      ],
-   q(finno-ugrian languages) => [
-      q(0135),
-      q(0),
-      ],
-   q(flemish) => [
-      q(0116),
-      q(1),
-      ],
-   q(fon) => [
-      q(0136),
-      q(0),
-      ],
-   q(french) => [
-      q(0137),
-      q(0),
-      ],
-   q(french, middle (ca.1400-1600)) => [
-      q(0138),
-      q(0),
-      ],
-   q(french, old (842-ca.1400)) => [
-      q(0139),
-      q(0),
-      ],
-   q(friulian) => [
-      q(0144),
-      q(0),
-      ],
-   q(fulah) => [
-      q(0143),
-      q(0),
-      ],
-   q(ga) => [
-      q(0145),
-      q(0),
-      ],
-   q(gaelic) => [
-      q(0153),
-      q(0),
-      ],
-   q(galibi carib) => [
-      q(0070),
-      q(0),
-      ],
-   q(galician) => [
-      q(0155),
-      q(0),
-      ],
-   q(ganda) => [
-      q(0257),
-      q(0),
-      ],
-   q(gayo) => [
-      q(0146),
-      q(0),
-      ],
-   q(gbaya) => [
-      q(0147),
-      q(0),
-      ],
-   q(geez) => [
-      q(0151),
-      q(0),
-      ],
-   q(georgian) => [
-      q(0149),
-      q(0),
-      ],
-   q(german) => [
-      q(0150),
-      q(0),
-      ],
-   q(german, low) => [
-      q(0306),
-      q(2),
-      ],
-   q(german, middle high (ca.1050-1500)) => [
-      q(0157),
-      q(0),
-      ],
-   q(german, old high (ca.750-1050)) => [
-      q(0158),
-      q(0),
-      ],
-   q(germanic languages) => [
-      q(0148),
-      q(0),
-      ],
-   q(gikuyu) => [
-      q(0224),
-      q(1),
-      ],
-   q(gilbertese) => [
-      q(0152),
-      q(0),
-      ],
-   q(gondi) => [
-      q(0159),
-      q(0),
-      ],
-   q(gorontalo) => [
-      q(0160),
-      q(0),
-      ],
-   q(gothic) => [
-      q(0161),
-      q(0),
-      ],
-   q(grebo) => [
-      q(0162),
-      q(0),
-      ],
-   q(greek) => [
-      q(0164),
-      q(1),
-      ],
-   q(greek, ancient (to 1453)) => [
-      q(0163),
-      q(0),
-      ],
-   q(greek, modern (1453-)) => [
-      q(0164),
-      q(0),
-      ],
-   q(greenlandic) => [
-      q(0211),
-      q(1),
-      ],
-   q(guarani) => [
-      q(0165),
-      q(0),
-      ],
-   q(gujarati) => [
-      q(0167),
-      q(0),
-      ],
-   q(gwich'in) => [
-      q(0168),
-      q(0),
-      ],
-   q(haida) => [
-      q(0169),
-      q(0),
-      ],
-   q(haitian) => [
-      q(0170),
-      q(0),
-      ],
-   q(haitian creole) => [
-      q(0170),
-      q(1),
-      ],
-   q(hausa) => [
-      q(0171),
-      q(0),
-      ],
-   q(hawaiian) => [
-      q(0172),
-      q(0),
-      ],
-   q(hebrew) => [
-      q(0173),
-      q(0),
-      ],
-   q(herero) => [
-      q(0174),
-      q(0),
-      ],
-   q(hiligaynon) => [
-      q(0175),
-      q(0),
-      ],
-   q(himachali languages) => [
-      q(0176),
-      q(0),
-      ],
-   q(hindi) => [
-      q(0177),
-      q(0),
-      ],
-   q(hiri motu) => [
-      q(0180),
-      q(0),
-      ],
-   q(hittite) => [
-      q(0178),
-      q(0),
-      ],
-   q(hmong) => [
-      q(0179),
-      q(0),
-      ],
-   q(hungarian) => [
-      q(0183),
-      q(0),
-      ],
-   q(hupa) => [
-      q(0184),
-      q(0),
-      ],
-   q(iban) => [
-      q(0185),
-      q(0),
-      ],
-   q(icelandic) => [
-      q(0187),
-      q(0),
-      ],
-   q(ido) => [
-      q(0188),
-      q(0),
-      ],
-   q(igbo) => [
-      q(0186),
-      q(0),
-      ],
-   q(ijo languages) => [
-      q(0190),
-      q(0),
-      ],
-   q(iloko) => [
-      q(0193),
-      q(0),
-      ],
-   q(imperial aramaic (700-300 bce)) => [
-      q(0022),
-      q(1),
-      ],
-   q(inari sami) => [
-      q(0391),
-      q(0),
-      ],
-   q(indic languages) => [
-      q(0195),
-      q(0),
-      ],
-   q(indo-european languages) => [
-      q(0197),
-      q(0),
-      ],
-   q(indonesian) => [
-      q(0196),
-      q(0),
-      ],
-   q(ingush) => [
-      q(0198),
-      q(0),
-      ],
-   q(interlingua (international auxiliary language association)) => [
-      q(0194),
-      q(0),
-      ],
-   q(interlingue) => [
-      q(0192),
-      q(0),
-      ],
-   q(inuktitut) => [
-      q(0191),
-      q(0),
-      ],
-   q(inupiaq) => [
-      q(0199),
-      q(0),
-      ],
-   q(iranian languages) => [
-      q(0200),
-      q(0),
-      ],
-   q(irish) => [
-      q(0154),
-      q(0),
-      ],
-   q(irish, middle (900-1200)) => [
-      q(0278),
-      q(0),
-      ],
-   q(irish, old (to 900)) => [
-      q(0377),
-      q(0),
-      ],
-   q(iroquoian languages) => [
-      q(0201),
-      q(0),
-      ],
-   q(italian) => [
-      q(0202),
-      q(0),
-      ],
-   q(japanese) => [
-      q(0205),
-      q(0),
-      ],
-   q(javanese) => [
-      q(0203),
-      q(0),
-      ],
-   q(jingpho) => [
-      q(0210),
-      q(1),
-      ],
-   q(judeo-arabic) => [
-      q(0207),
-      q(0),
-      ],
-   q(judeo-persian) => [
-      q(0206),
-      q(0),
-      ],
-   q(kabardian) => [
-      q(0219),
-      q(0),
-      ],
-   q(kabyle) => [
-      q(0209),
-      q(0),
-      ],
-   q(kachin) => [
-      q(0210),
-      q(0),
-      ],
-   q(kalaallisut) => [
-      q(0211),
-      q(0),
-      ],
-   q(kalmyk) => [
-      q(0470),
-      q(0),
-      ],
-   q(kamba) => [
-      q(0212),
-      q(0),
-      ],
-   q(kannada) => [
-      q(0213),
-      q(0),
-      ],
-   q(kanuri) => [
-      q(0216),
-      q(0),
-      ],
-   q(kapampangan) => [
-      q(0337),
-      q(1),
-      ],
-   q(kara-kalpak) => [
-      q(0208),
-      q(0),
-      ],
-   q(karachay-balkar) => [
-      q(0234),
-      q(0),
-      ],
-   q(karelian) => [
-      q(0235),
-      q(0),
-      ],
-   q(karen languages) => [
-      q(0214),
-      q(0),
-      ],
-   q(kashmiri) => [
-      q(0215),
-      q(0),
-      ],
-   q(kashubian) => [
-      q(0099),
-      q(0),
-      ],
-   q(kawi) => [
-      q(0217),
-      q(0),
-      ],
-   q(kazakh) => [
-      q(0218),
-      q(0),
-      ],
-   q(khasi) => [
-      q(0220),
-      q(0),
-      ],
-   q(khoisan languages) => [
-      q(0221),
-      q(0),
-      ],
-   q(khotanese) => [
-      q(0223),
-      q(0),
-      ],
-   q(kikuyu) => [
-      q(0224),
-      q(0),
-      ],
-   q(kimbundu) => [
-      q(0227),
-      q(0),
-      ],
-   q(kinyarwanda) => [
-      q(0225),
-      q(0),
-      ],
-   q(kirdki) => [
-      q(0485),
-      q(3),
-      ],
-   q(kirghiz) => [
-      q(0226),
-      q(0),
-      ],
-   q(kirmanjki) => [
-      q(0485),
-      q(4),
-      ],
-   q(klingon) => [
-      q(0432),
-      q(0),
-      ],
-   q(komi) => [
-      q(0229),
-      q(0),
-      ],
-   q(kongo) => [
-      q(0230),
-      q(0),
-      ],
-   q(konkani) => [
-      q(0228),
-      q(0),
-      ],
-   q(korean) => [
-      q(0231),
-      q(0),
-      ],
-   q(kosraean) => [
-      q(0232),
-      q(0),
-      ],
-   q(kpelle) => [
-      q(0233),
-      q(0),
-      ],
-   q(kru languages) => [
-      q(0236),
-      q(0),
-      ],
-   q(kuanyama) => [
-      q(0238),
-      q(0),
-      ],
-   q(kumyk) => [
-      q(0239),
-      q(0),
-      ],
-   q(kurdish) => [
-      q(0240),
-      q(0),
-      ],
-   q(kurukh) => [
-      q(0237),
-      q(0),
-      ],
-   q(kutenai) => [
-      q(0241),
-      q(0),
-      ],
-   q(kwanyama) => [
-      q(0238),
-      q(1),
-      ],
-   q(kyrgyz) => [
-      q(0226),
-      q(1),
-      ],
-   q(ladino) => [
-      q(0242),
-      q(0),
-      ],
-   q(lahnda) => [
-      q(0243),
-      q(0),
-      ],
-   q(lamba) => [
-      q(0244),
-      q(0),
-      ],
-   q(land dayak languages) => [
-      q(0105),
-      q(0),
-      ],
-   q(lao) => [
-      q(0245),
-      q(0),
-      ],
-   q(latin) => [
-      q(0246),
-      q(0),
-      ],
-   q(latvian) => [
-      q(0247),
-      q(0),
-      ],
-   q(leonese) => [
-      q(0030),
-      q(2),
-      ],
-   q(letzeburgesch) => [
-      q(0254),
-      q(1),
-      ],
-   q(lezghian) => [
-      q(0248),
-      q(0),
-      ],
-   q(limburgan) => [
-      q(0249),
-      q(0),
-      ],
-   q(limburger) => [
-      q(0249),
-      q(1),
-      ],
-   q(limburgish) => [
-      q(0249),
-      q(2),
-      ],
-   q(lingala) => [
-      q(0250),
-      q(0),
-      ],
-   q(lithuanian) => [
-      q(0251),
-      q(0),
-      ],
-   q(lojban) => [
-      q(0204),
-      q(0),
-      ],
-   q(low german) => [
-      q(0306),
-      q(0),
-      ],
-   q(low saxon) => [
-      q(0306),
-      q(1),
-      ],
-   q(lower sorbian) => [
-      q(0113),
-      q(0),
-      ],
-   q(lozi) => [
-      q(0253),
-      q(0),
-      ],
-   q(luba-katanga) => [
-      q(0256),
-      q(0),
-      ],
-   q(luba-lulua) => [
-      q(0255),
-      q(0),
-      ],
-   q(luiseno) => [
-      q(0258),
-      q(0),
-      ],
-   q(lule sami) => [
-      q(0390),
-      q(0),
-      ],
-   q(lunda) => [
-      q(0259),
-      q(0),
-      ],
-   q(luo (kenya and tanzania)) => [
-      q(0260),
-      q(0),
-      ],
-   q(lushai) => [
-      q(0261),
-      q(0),
-      ],
-   q(luxembourgish) => [
-      q(0254),
-      q(0),
-      ],
-   q(macedo-romanian) => [
-      q(0362),
-      q(2),
-      ],
-   q(macedonian) => [
-      q(0262),
-      q(0),
-      ],
-   q(madurese) => [
-      q(0263),
-      q(0),
-      ],
-   q(magahi) => [
-      q(0264),
-      q(0),
-      ],
-   q(maithili) => [
-      q(0266),
-      q(0),
-      ],
-   q(makasar) => [
-      q(0267),
-      q(0),
-      ],
-   q(malagasy) => [
-      q(0283),
-      q(0),
-      ],
-   q(malay) => [
-      q(0274),
-      q(0),
-      ],
-   q(malayalam) => [
-      q(0268),
-      q(0),
-      ],
-   q(maldivian) => [
-      q(0110),
-      q(2),
-      ],
-   q(maltese) => [
-      q(0284),
-      q(0),
-      ],
-   q(manchu) => [
-      q(0285),
-      q(0),
-      ],
-   q(mandar) => [
-      q(0276),
-      q(0),
-      ],
-   q(mandingo) => [
-      q(0269),
-      q(0),
-      ],
-   q(manipuri) => [
-      q(0286),
-      q(0),
-      ],
-   q(manobo languages) => [
-      q(0287),
-      q(0),
-      ],
-   q(manx) => [
-      q(0156),
-      q(0),
-      ],
-   q(maori) => [
-      q(0270),
-      q(0),
-      ],
-   q(mapuche) => [
-      q(0025),
-      q(1),
-      ],
-   q(mapudungun) => [
-      q(0025),
-      q(0),
-      ],
-   q(marathi) => [
-      q(0272),
-      q(0),
-      ],
-   q(mari) => [
-      q(0081),
-      q(0),
-      ],
-   q(marshallese) => [
-      q(0265),
-      q(0),
-      ],
-   q(marwari) => [
-      q(0295),
-      q(0),
-      ],
-   q(masai) => [
-      q(0273),
-      q(0),
-      ],
-   q(mayan languages) => [
-      q(0296),
-      q(0),
-      ],
-   q(mende) => [
-      q(0277),
-      q(0),
-      ],
-   q(mi'kmaq) => [
-      q(0279),
-      q(0),
-      ],
-   q(micmac) => [
-      q(0279),
-      q(1),
-      ],
-   q(minangkabau) => [
-      q(0280),
-      q(0),
-      ],
-   q(mirandese) => [
-      q(0294),
-      q(0),
-      ],
-   q(mohawk) => [
-      q(0288),
-      q(0),
-      ],
-   q(moksha) => [
-      q(0275),
-      q(0),
-      ],
-   q(moldavian) => [
-      q(0360),
-      q(1),
-      ],
-   q(moldovan) => [
-      q(0360),
-      q(2),
-      ],
-   q(mon-khmer languages) => [
-      q(0282),
-      q(0),
-      ],
-   q(mong) => [
-      q(0179),
-      q(1),
-      ],
-   q(mongo) => [
-      q(0252),
-      q(0),
-      ],
-   q(mongolian) => [
-      q(0289),
-      q(0),
-      ],
-   q(mossi) => [
-      q(0290),
-      q(0),
-      ],
-   q(multiple languages) => [
-      q(0291),
-      q(0),
-      ],
-   q(munda languages) => [
-      q(0292),
-      q(0),
-      ],
-   q(n'ko) => [
-      q(0317),
-      q(0),
-      ],
-   q(nahuatl languages) => [
-      q(0298),
-      q(0),
-      ],
-   q(nauru) => [
-      q(0301),
-      q(0),
-      ],
-   q(navaho) => [
-      q(0302),
-      q(1),
-      ],
-   q(navajo) => [
-      q(0302),
-      q(0),
-      ],
-   q(ndebele, north) => [
-      q(0304),
-      q(0),
-      ],
-   q(ndebele, south) => [
-      q(0303),
-      q(0),
-      ],
-   q(ndonga) => [
-      q(0305),
-      q(0),
-      ],
-   q(neapolitan) => [
-      q(0300),
-      q(0),
-      ],
-   q(nepal bhasa) => [
-      q(0308),
-      q(0),
-      ],
-   q(nepali) => [
-      q(0307),
-      q(0),
-      ],
-   q(newari) => [
-      q(0308),
-      q(1),
-      ],
-   q(nias) => [
-      q(0309),
-      q(0),
-      ],
-   q(niger-kordofanian languages) => [
-      q(0310),
-      q(0),
-      ],
-   q(nilo-saharan languages) => [
-      q(0406),
-      q(0),
-      ],
-   q(niuean) => [
-      q(0311),
-      q(0),
-      ],
-   q(no linguistic content) => [
-      q(0484),
-      q(0),
-      ],
-   q(nogai) => [
-      q(0314),
-      q(0),
-      ],
-   q(norse, old) => [
-      q(0315),
-      q(0),
-      ],
-   q(north american indian languages) => [
-      q(0299),
-      q(0),
-      ],
-   q(north ndebele) => [
-      q(0304),
-      q(1),
-      ],
-   q(northern frisian) => [
-      q(0140),
-      q(0),
-      ],
-   q(northern sami) => [
-      q(0388),
-      q(0),
-      ],
-   q(northern sotho) => [
-      q(0318),
-      q(2),
-      ],
-   q(norwegian) => [
-      q(0316),
-      q(0),
-      ],
-   q(norwegian bokmal) => [
-      q(0313),
-      q(1),
-      ],
-   q(norwegian nynorsk) => [
-      q(0312),
-      q(0),
-      ],
-   q(not applicable) => [
-      q(0484),
-      q(1),
-      ],
-   q(nubian languages) => [
-      q(0319),
-      q(0),
-      ],
-   q(nuosu) => [
-      q(0189),
-      q(1),
-      ],
-   q(nyamwezi) => [
-      q(0322),
-      q(0),
-      ],
-   q(nyanja) => [
-      q(0321),
-      q(2),
-      ],
-   q(nyankole) => [
-      q(0323),
-      q(0),
-      ],
-   q(nynorsk, norwegian) => [
-      q(0312),
-      q(1),
-      ],
-   q(nyoro) => [
-      q(0324),
-      q(0),
-      ],
-   q(nzima) => [
-      q(0325),
-      q(0),
-      ],
-   q(occidental) => [
-      q(0192),
-      q(1),
-      ],
-   q(occitan (post 1500)) => [
-      q(0326),
-      q(0),
-      ],
-   q(official aramaic (700-300 bce)) => [
-      q(0022),
-      q(0),
-      ],
-   q(oirat) => [
-      q(0470),
-      q(1),
-      ],
-   q(ojibwa) => [
-      q(0327),
-      q(0),
-      ],
-   q(old bulgarian) => [
-      q(0086),
-      q(3),
-      ],
-   q(old church slavonic) => [
-      q(0086),
-      q(4),
-      ],
-   q(old newari) => [
-      q(0320),
-      q(1),
-      ],
-   q(old slavonic) => [
-      q(0086),
-      q(1),
-      ],
-   q(oriya) => [
-      q(0328),
-      q(0),
-      ],
-   q(oromo) => [
-      q(0329),
-      q(0),
-      ],
-   q(osage) => [
-      q(0330),
-      q(0),
-      ],
-   q(ossetian) => [
-      q(0331),
-      q(0),
-      ],
-   q(ossetic) => [
-      q(0331),
-      q(1),
-      ],
-   q(otomian languages) => [
-      q(0333),
-      q(0),
-      ],
-   q(pahlavi) => [
-      q(0336),
-      q(0),
-      ],
-   q(palauan) => [
-      q(0340),
-      q(0),
-      ],
-   q(pali) => [
-      q(0345),
-      q(0),
-      ],
-   q(pampanga) => [
-      q(0337),
-      q(0),
-      ],
-   q(pangasinan) => [
-      q(0335),
-      q(0),
-      ],
-   q(panjabi) => [
-      q(0338),
-      q(0),
-      ],
-   q(papiamento) => [
-      q(0339),
-      q(0),
-      ],
-   q(papuan languages) => [
-      q(0334),
-      q(0),
-      ],
-   q(pashto) => [
-      q(0351),
-      q(1),
-      ],
-   q(pedi) => [
-      q(0318),
-      q(0),
-      ],
-   q(persian) => [
-      q(0342),
-      q(0),
-      ],
-   q(persian, old (ca.600-400 b.c.)) => [
-      q(0341),
-      q(0),
-      ],
-   q(philippine languages) => [
-      q(0343),
-      q(0),
-      ],
-   q(phoenician) => [
-      q(0344),
-      q(0),
-      ],
-   q(pilipino) => [
-      q(0133),
-      q(1),
-      ],
-   q(pohnpeian) => [
-      q(0347),
-      q(0),
-      ],
-   q(polish) => [
-      q(0346),
-      q(0),
-      ],
-   q(portuguese) => [
-      q(0348),
-      q(0),
-      ],
-   q(prakrit languages) => [
-      q(0349),
-      q(0),
-      ],
-   q(provencal) => [
-      q(0326),
-      q(1),
-      ],
-   q(provencal, old (to 1500)) => [
-      q(0350),
-      q(0),
-      ],
-   q(punjabi) => [
-      q(0338),
-      q(1),
-      ],
-   q(pushto) => [
-      q(0351),
-      q(0),
-      ],
-   q(quechua) => [
-      q(0353),
-      q(0),
-      ],
-   q(rajasthani) => [
-      q(0354),
-      q(0),
-      ],
-   q(rapanui) => [
-      q(0355),
-      q(0),
-      ],
-   q(rarotongan) => [
-      q(0356),
-      q(0),
-      ],
-   q(reserved for local use) => [
-      q(0352),
-      q(0),
-      ],
-   q(romance languages) => [
-      q(0357),
-      q(0),
-      ],
-   q(romanian) => [
-      q(0360),
-      q(0),
-      ],
-   q(romansh) => [
-      q(0358),
-      q(0),
-      ],
-   q(romany) => [
-      q(0359),
-      q(0),
-      ],
-   q(rundi) => [
-      q(0361),
-      q(0),
-      ],
-   q(russian) => [
-      q(0363),
-      q(0),
-      ],
-   q(sakan) => [
-      q(0223),
-      q(1),
-      ],
-   q(salishan languages) => [
-      q(0368),
-      q(0),
-      ],
-   q(samaritan aramaic) => [
-      q(0369),
-      q(0),
-      ],
-   q(sami languages) => [
-      q(0389),
-      q(0),
-      ],
-   q(samoan) => [
-      q(0392),
-      q(0),
-      ],
-   q(sandawe) => [
-      q(0364),
-      q(0),
-      ],
-   q(sango) => [
-      q(0365),
-      q(0),
-      ],
-   q(sanskrit) => [
-      q(0370),
-      q(0),
-      ],
-   q(santali) => [
-      q(0372),
-      q(0),
-      ],
-   q(sardinian) => [
-      q(0402),
-      q(0),
-      ],
-   q(sasak) => [
-      q(0371),
-      q(0),
-      ],
-   q(saxon, low) => [
-      q(0306),
-      q(3),
-      ],
-   q(scots) => [
-      q(0374),
-      q(0),
-      ],
-   q(scottish gaelic) => [
-      q(0153),
-      q(1),
-      ],
-   q(selkup) => [
-      q(0375),
-      q(0),
-      ],
-   q(semitic languages) => [
-      q(0376),
-      q(0),
-      ],
-   q(sepedi) => [
-      q(0318),
-      q(1),
-      ],
-   q(serbian) => [
-      q(0404),
-      q(0),
-      ],
-   q(serer) => [
-      q(0405),
-      q(0),
-      ],
-   q(shan) => [
-      q(0379),
-      q(0),
-      ],
-   q(shona) => [
-      q(0394),
-      q(0),
-      ],
-   q(sichuan yi) => [
-      q(0189),
-      q(0),
-      ],
-   q(sicilian) => [
-      q(0373),
-      q(0),
-      ],
-   q(sidamo) => [
-      q(0380),
-      q(0),
-      ],
-   q(sign languages) => [
-      q(0378),
-      q(0),
-      ],
-   q(siksika) => [
-      q(0057),
-      q(0),
-      ],
-   q(sindhi) => [
-      q(0395),
-      q(0),
-      ],
-   q(sinhala) => [
-      q(0381),
-      q(0),
-      ],
-   q(sinhalese) => [
-      q(0381),
-      q(1),
-      ],
-   q(sino-tibetan languages) => [
-      q(0383),
-      q(0),
-      ],
-   q(siouan languages) => [
-      q(0382),
-      q(0),
-      ],
-   q(skolt sami) => [
-      q(0393),
-      q(0),
-      ],
-   q(slave (athapascan)) => [
-      q(0107),
-      q(0),
-      ],
-   q(slavic languages) => [
-      q(0384),
-      q(0),
-      ],
-   q(slovak) => [
-      q(0385),
-      q(0),
-      ],
-   q(slovenian) => [
-      q(0386),
-      q(0),
-      ],
-   q(sogdian) => [
-      q(0397),
-      q(0),
-      ],
-   q(somali) => [
-      q(0398),
-      q(0),
-      ],
-   q(songhai languages) => [
-      q(0399),
-      q(0),
-      ],
-   q(soninke) => [
-      q(0396),
-      q(0),
-      ],
-   q(sorbian languages) => [
-      q(0467),
-      q(0),
-      ],
-   q(sotho, southern) => [
-      q(0400),
-      q(0),
-      ],
-   q(south american indian (other)) => [
-      q(0367),
-      q(0),
-      ],
-   q(south ndebele) => [
-      q(0303),
-      q(1),
-      ],
-   q(southern altai) => [
-      q(0016),
-      q(0),
-      ],
-   q(southern sami) => [
-      q(0387),
-      q(0),
-      ],
-   q(spanish) => [
-      q(0401),
-      q(0),
-      ],
-   q(sranan tongo) => [
-      q(0403),
-      q(0),
-      ],
-   q(sukuma) => [
-      q(0408),
-      q(0),
-      ],
-   q(sumerian) => [
-      q(0411),
-      q(0),
-      ],
-   q(sundanese) => [
-      q(0409),
-      q(0),
-      ],
-   q(susu) => [
-      q(0410),
-      q(0),
-      ],
-   q(swahili) => [
-      q(0412),
-      q(0),
-      ],
-   q(swati) => [
-      q(0407),
-      q(0),
-      ],
-   q(swedish) => [
-      q(0413),
-      q(0),
-      ],
-   q(swiss german) => [
-      q(0166),
-      q(0),
-      ],
-   q(syriac) => [
-      q(0415),
-      q(0),
-      ],
-   q(tagalog) => [
-      q(0425),
-      q(0),
-      ],
-   q(tahitian) => [
-      q(0416),
-      q(0),
-      ],
-   q(tai languages) => [
-      q(0417),
-      q(0),
-      ],
-   q(tajik) => [
-      q(0424),
-      q(0),
-      ],
-   q(tamashek) => [
-      q(0434),
-      q(0),
-      ],
-   q(tamil) => [
-      q(0418),
-      q(0),
-      ],
-   q(tatar) => [
-      q(0419),
-      q(0),
-      ],
-   q(telugu) => [
-      q(0420),
-      q(0),
-      ],
-   q(tereno) => [
-      q(0422),
-      q(0),
-      ],
-   q(tetum) => [
-      q(0423),
-      q(0),
-      ],
-   q(thai) => [
-      q(0426),
-      q(0),
-      ],
-   q(tibetan) => [
-      q(0427),
-      q(0),
-      ],
-   q(tigre) => [
-      q(0428),
-      q(0),
-      ],
-   q(tigrinya) => [
-      q(0429),
-      q(0),
-      ],
-   q(timne) => [
-      q(0421),
-      q(0),
-      ],
-   q(tiv) => [
-      q(0430),
-      q(0),
-      ],
-   q(tlhingan-hol) => [
-      q(0432),
-      q(1),
-      ],
-   q(tlingit) => [
-      q(0433),
-      q(0),
-      ],
-   q(tok pisin) => [
-      q(0437),
-      q(0),
-      ],
-   q(tokelau) => [
-      q(0431),
-      q(0),
-      ],
-   q(tonga) => [
-      q(0436),
-      q(1),
-      ],
-   q(tonga (nyasa)) => [
-      q(0435),
-      q(0),
-      ],
-   q(tonga (tonga islands)) => [
-      q(0436),
-      q(0),
-      ],
-   q(tsimshian) => [
-      q(0438),
-      q(0),
-      ],
-   q(tsonga) => [
-      q(0440),
-      q(0),
-      ],
-   q(tswana) => [
-      q(0439),
-      q(0),
-      ],
-   q(tumbuka) => [
-      q(0442),
-      q(0),
-      ],
-   q(tupi languages) => [
-      q(0443),
-      q(0),
-      ],
-   q(turkish) => [
-      q(0444),
-      q(0),
-      ],
-   q(turkish, ottoman (1500-1928)) => [
-      q(0332),
-      q(0),
-      ],
-   q(turkmen) => [
-      q(0441),
-      q(0),
-      ],
-   q(tuvalu) => [
-      q(0446),
-      q(0),
-      ],
-   q(tuvinian) => [
-      q(0448),
-      q(0),
-      ],
-   q(twi) => [
-      q(0447),
-      q(0),
-      ],
-   q(udmurt) => [
-      q(0449),
-      q(0),
-      ],
-   q(ugaritic) => [
-      q(0450),
-      q(0),
-      ],
-   q(uighur) => [
-      q(0451),
-      q(0),
-      ],
-   q(ukrainian) => [
-      q(0452),
-      q(0),
-      ],
-   q(umbundu) => [
-      q(0453),
-      q(0),
-      ],
-   q(uncoded languages) => [
-      q(0281),
-      q(0),
-      ],
-   q(undetermined) => [
-      q(0454),
-      q(0),
-      ],
-   q(upper sorbian) => [
-      q(0182),
-      q(0),
-      ],
-   q(urdu) => [
-      q(0455),
-      q(0),
-      ],
-   q(uyghur) => [
-      q(0451),
-      q(1),
-      ],
-   q(uzbek) => [
-      q(0456),
-      q(0),
-      ],
-   q(vai) => [
-      q(0457),
-      q(0),
-      ],
-   q(valencian) => [
-      q(0071),
-      q(1),
-      ],
-   q(venda) => [
-      q(0458),
-      q(0),
-      ],
-   q(vietnamese) => [
-      q(0459),
-      q(0),
-      ],
-   q(volapuk) => [
-      q(0460),
-      q(0),
-      ],
-   q(votic) => [
-      q(0461),
-      q(0),
-      ],
-   q(wakashan languages) => [
-      q(0462),
-      q(0),
-      ],
-   q(walamo) => [
-      q(0463),
-      q(0),
-      ],
-   q(walloon) => [
-      q(0468),
-      q(0),
-      ],
-   q(waray) => [
-      q(0464),
-      q(0),
-      ],
-   q(washo) => [
-      q(0465),
-      q(0),
-      ],
-   q(welsh) => [
-      q(0466),
-      q(0),
-      ],
-   q(western frisian) => [
-      q(0142),
-      q(0),
-      ],
-   q(western pahari languages) => [
-      q(0176),
-      q(1),
-      ],
-   q(wolof) => [
-      q(0469),
-      q(0),
-      ],
-   q(xhosa) => [
-      q(0471),
-      q(0),
-      ],
-   q(yakut) => [
-      q(0366),
-      q(0),
-      ],
-   q(yao) => [
-      q(0472),
-      q(0),
-      ],
-   q(yapese) => [
-      q(0473),
-      q(0),
-      ],
-   q(yiddish) => [
-      q(0474),
-      q(0),
-      ],
-   q(yoruba) => [
-      q(0475),
-      q(0),
-      ],
-   q(yupik languages) => [
-      q(0476),
-      q(0),
-      ],
-   q(zande languages) => [
-      q(0481),
-      q(0),
-      ],
-   q(zapotec) => [
-      q(0477),
-      q(0),
-      ],
-   q(zaza) => [
-      q(0485),
-      q(0),
-      ],
-   q(zazaki) => [
-      q(0485),
-      q(5),
-      ],
-   q(zenaga) => [
-      q(0479),
-      q(0),
-      ],
-   q(zhuang) => [
-      q(0480),
-      q(0),
-      ],
-   q(zulu) => [
-      q(0482),
-      q(0),
-      ],
-   q(zuni) => [
-      q(0483),
-      q(0),
-      ],
-};
+sub delete_language_code_alias {
+   return Locale::Codes::_delete_code_alias('language', at _);
+}
 
-$Locale::Codes::Data{'language'}{'code2id'} = {
-   q(alpha2) => {
-      q(aa) => [
-         q(0001),
-         q(0),
-         ],
-      q(ab) => [
-         q(0002),
-         q(0),
-         ],
-      q(ae) => [
-         q(0034),
-         q(0),
-         ],
-      q(af) => [
-         q(0009),
-         q(0),
-         ],
-      q(ak) => [
-         q(0011),
-         q(0),
-         ],
-      q(am) => [
-         q(0017),
-         q(0),
-         ],
-      q(an) => [
-         q(0023),
-         q(0),
-         ],
-      q(ar) => [
-         q(0021),
-         q(0),
-         ],
-      q(as) => [
-         q(0029),
-         q(0),
-         ],
-      q(av) => [
-         q(0033),
-         q(0),
-         ],
-      q(ay) => [
-         q(0036),
-         q(0),
-         ],
-      q(az) => [
-         q(0037),
-         q(0),
-         ],
-      q(ba) => [
-         q(0040),
-         q(0),
-         ],
-      q(be) => [
-         q(0048),
-         q(0),
-         ],
-      q(bg) => [
-         q(0065),
-         q(0),
-         ],
-      q(bh) => [
-         q(0053),
-         q(0),
-         ],
-      q(bi) => [
-         q(0056),
-         q(0),
-         ],
-      q(bm) => [
-         q(0042),
-         q(0),
-         ],
-      q(bn) => [
-         q(0050),
-         q(0),
-         ],
-      q(bo) => [
-         q(0427),
-         q(0),
-         ],
-      q(br) => [
-         q(0061),
-         q(0),
-         ],
-      q(bs) => [
-         q(0059),
-         q(0),
-         ],
-      q(ca) => [
-         q(0071),
-         q(0),
-         ],
-      q(ce) => [
-         q(0077),
-         q(0),
-         ],
-      q(ch) => [
-         q(0075),
-         q(0),
-         ],
-      q(co) => [
-         q(0092),
-         q(0),
-         ],
-      q(cr) => [
-         q(0096),
-         q(0),
-         ],
-      q(cs) => [
-         q(0101),
-         q(0),
-         ],
-      q(cu) => [
-         q(0086),
-         q(0),
-         ],
-      q(cv) => [
-         q(0087),
-         q(0),
-         ],
-      q(cy) => [
-         q(0466),
-         q(0),
-         ],
-      q(da) => [
-         q(0103),
-         q(0),
-         ],
-      q(de) => [
-         q(0150),
-         q(0),
-         ],
-      q(dv) => [
-         q(0110),
-         q(0),
-         ],
-      q(dz) => [
-         q(0118),
-         q(0),
-         ],
-      q(ee) => [
-         q(0127),
-         q(0),
-         ],
-      q(el) => [
-         q(0164),
-         q(0),
-         ],
-      q(en) => [
-         q(0123),
-         q(0),
-         ],
-      q(eo) => [
-         q(0125),
-         q(0),
-         ],
-      q(es) => [
-         q(0401),
-         q(0),
-         ],
-      q(et) => [
-         q(0126),
-         q(0),
-         ],
-      q(eu) => [
-         q(0044),
-         q(0),
-         ],
-      q(fa) => [
-         q(0342),
-         q(0),
-         ],
-      q(ff) => [
-         q(0143),
-         q(0),
-         ],
-      q(fi) => [
-         q(0134),
-         q(0),
-         ],
-      q(fj) => [
-         q(0132),
-         q(0),
-         ],
-      q(fo) => [
-         q(0130),
-         q(0),
-         ],
-      q(fr) => [
-         q(0137),
-         q(0),
-         ],
-      q(fy) => [
-         q(0142),
-         q(0),
-         ],
-      q(ga) => [
-         q(0154),
-         q(0),
-         ],
-      q(gd) => [
-         q(0153),
-         q(0),
-         ],
-      q(gl) => [
-         q(0155),
-         q(0),
-         ],
-      q(gn) => [
-         q(0165),
-         q(0),
-         ],
-      q(gu) => [
-         q(0167),
-         q(0),
-         ],
-      q(gv) => [
-         q(0156),
-         q(0),
-         ],
-      q(ha) => [
-         q(0171),
-         q(0),
-         ],
-      q(he) => [
-         q(0173),
-         q(0),
-         ],
-      q(hi) => [
-         q(0177),
-         q(0),
-         ],
-      q(ho) => [
-         q(0180),
-         q(0),
-         ],
-      q(hr) => [
-         q(0181),
-         q(0),
-         ],
-      q(ht) => [
-         q(0170),
-         q(0),
-         ],
-      q(hu) => [
-         q(0183),
-         q(0),
-         ],
-      q(hy) => [
-         q(0024),
-         q(0),
-         ],
-      q(hz) => [
-         q(0174),
-         q(0),
-         ],
-      q(ia) => [
-         q(0194),
-         q(0),
-         ],
-      q(id) => [
-         q(0196),
-         q(0),
-         ],
-      q(ie) => [
-         q(0192),
-         q(0),
-         ],
-      q(ig) => [
-         q(0186),
-         q(0),
-         ],
-      q(ii) => [
-         q(0189),
-         q(0),
-         ],
-      q(ik) => [
-         q(0199),
-         q(0),
-         ],
-      q(io) => [
-         q(0188),
-         q(0),
-         ],
-      q(is) => [
-         q(0187),
-         q(0),
-         ],
-      q(it) => [
-         q(0202),
-         q(0),
-         ],
-      q(iu) => [
-         q(0191),
-         q(0),
-         ],
-      q(ja) => [
-         q(0205),
-         q(0),
-         ],
-      q(jv) => [
-         q(0203),
-         q(0),
-         ],
-      q(ka) => [
-         q(0149),
-         q(0),
-         ],
-      q(kg) => [
-         q(0230),
-         q(0),
-         ],
-      q(ki) => [
-         q(0224),
-         q(0),
-         ],
-      q(kj) => [
-         q(0238),
-         q(0),
-         ],
-      q(kk) => [
-         q(0218),
-         q(0),
-         ],
-      q(kl) => [
-         q(0211),
-         q(0),
-         ],
-      q(km) => [
-         q(0222),
-         q(0),
-         ],
-      q(kn) => [
-         q(0213),
-         q(0),
-         ],
-      q(ko) => [
-         q(0231),
-         q(0),
-         ],
-      q(kr) => [
-         q(0216),
-         q(0),
-         ],
-      q(ks) => [
-         q(0215),
-         q(0),
-         ],
-      q(ku) => [
-         q(0240),
-         q(0),
-         ],
-      q(kv) => [
-         q(0229),
-         q(0),
-         ],
-      q(kw) => [
-         q(0091),
-         q(0),
-         ],
-      q(ky) => [
-         q(0226),
-         q(0),
-         ],
-      q(la) => [
-         q(0246),
-         q(0),
-         ],
-      q(lb) => [
-         q(0254),
-         q(0),
-         ],
-      q(lg) => [
-         q(0257),
-         q(0),
-         ],
-      q(li) => [
-         q(0249),
-         q(0),
-         ],
-      q(ln) => [
-         q(0250),
-         q(0),
-         ],
-      q(lo) => [
-         q(0245),
-         q(0),
-         ],
-      q(lt) => [
-         q(0251),
-         q(0),
-         ],
-      q(lu) => [
-         q(0256),
-         q(0),
-         ],
-      q(lv) => [
-         q(0247),
-         q(0),
-         ],
-      q(mg) => [
-         q(0283),
-         q(0),
-         ],
-      q(mh) => [
-         q(0265),
-         q(0),
-         ],
-      q(mi) => [
-         q(0270),
-         q(0),
-         ],
-      q(mk) => [
-         q(0262),
-         q(0),
-         ],
-      q(ml) => [
-         q(0268),
-         q(0),
-         ],
-      q(mn) => [
-         q(0289),
-         q(0),
-         ],
-      q(mr) => [
-         q(0272),
-         q(0),
-         ],
-      q(ms) => [
-         q(0274),
-         q(0),
-         ],
-      q(mt) => [
-         q(0284),
-         q(0),
-         ],
-      q(my) => [
-         q(0066),
-         q(0),
-         ],
-      q(na) => [
-         q(0301),
-         q(0),
-         ],
-      q(nb) => [
-         q(0313),
-         q(0),
-         ],
-      q(nd) => [
-         q(0304),
-         q(0),
-         ],
-      q(ne) => [
-         q(0307),
-         q(0),
-         ],
-      q(ng) => [
-         q(0305),
-         q(0),
-         ],
-      q(nl) => [
-         q(0116),
-         q(0),
-         ],
-      q(nn) => [
-         q(0312),
-         q(0),
-         ],
-      q(no) => [
-         q(0316),
-         q(0),
-         ],
-      q(nr) => [
-         q(0303),
-         q(0),
-         ],
-      q(nv) => [
-         q(0302),
-         q(0),
-         ],
-      q(ny) => [
-         q(0321),
-         q(0),
-         ],
-      q(oc) => [
-         q(0326),
-         q(0),
-         ],
-      q(oj) => [
-         q(0327),
-         q(0),
-         ],
-      q(om) => [
-         q(0329),
-         q(0),
-         ],
-      q(or) => [
-         q(0328),
-         q(0),
-         ],
-      q(os) => [
-         q(0331),
-         q(0),
-         ],
-      q(pa) => [
-         q(0338),
-         q(0),
-         ],
-      q(pi) => [
-         q(0345),
-         q(0),
-         ],
-      q(pl) => [
-         q(0346),
-         q(0),
-         ],
-      q(ps) => [
-         q(0351),
-         q(0),
-         ],
-      q(pt) => [
-         q(0348),
-         q(0),
-         ],
-      q(qu) => [
-         q(0353),
-         q(0),
-         ],
-      q(rm) => [
-         q(0358),
-         q(0),
-         ],
-      q(rn) => [
-         q(0361),
-         q(0),
-         ],
-      q(ro) => [
-         q(0360),
-         q(0),
-         ],
-      q(ru) => [
-         q(0363),
-         q(0),
-         ],
-      q(rw) => [
-         q(0225),
-         q(0),
-         ],
-      q(sa) => [
-         q(0370),
-         q(0),
-         ],
-      q(sc) => [
-         q(0402),
-         q(0),
-         ],
-      q(sd) => [
-         q(0395),
-         q(0),
-         ],
-      q(se) => [
-         q(0388),
-         q(0),
-         ],
-      q(sg) => [
-         q(0365),
-         q(0),
-         ],
-      q(si) => [
-         q(0381),
-         q(0),
-         ],
-      q(sk) => [
-         q(0385),
-         q(0),
-         ],
-      q(sl) => [
-         q(0386),
-         q(0),
-         ],
-      q(sm) => [
-         q(0392),
-         q(0),
-         ],
-      q(sn) => [
-         q(0394),
-         q(0),
-         ],
-      q(so) => [
-         q(0398),
-         q(0),
-         ],
-      q(sq) => [
-         q(0013),
-         q(0),
-         ],
-      q(sr) => [
-         q(0404),
-         q(0),
-         ],
-      q(ss) => [
-         q(0407),
-         q(0),
-         ],
-      q(st) => [
-         q(0400),
-         q(0),
-         ],
-      q(su) => [
-         q(0409),
-         q(0),
-         ],
-      q(sv) => [
-         q(0413),
-         q(0),
-         ],
-      q(sw) => [
-         q(0412),
-         q(0),
-         ],
-      q(ta) => [
-         q(0418),
-         q(0),
-         ],
-      q(te) => [
-         q(0420),
-         q(0),
-         ],
-      q(tg) => [
-         q(0424),
-         q(0),
-         ],
-      q(th) => [
-         q(0426),
-         q(0),
-         ],
-      q(ti) => [
-         q(0429),
-         q(0),
-         ],
-      q(tk) => [
-         q(0441),
-         q(0),
-         ],
-      q(tl) => [
-         q(0425),
-         q(0),
-         ],
-      q(tn) => [
-         q(0439),
-         q(0),
-         ],
-      q(to) => [
-         q(0436),
-         q(0),
-         ],
-      q(tr) => [
-         q(0444),
-         q(0),
-         ],
-      q(ts) => [
-         q(0440),
-         q(0),
-         ],
-      q(tt) => [
-         q(0419),
-         q(0),
-         ],
-      q(tw) => [
-         q(0447),
-         q(0),
-         ],
-      q(ty) => [
-         q(0416),
-         q(0),
-         ],
-      q(ug) => [
-         q(0451),
-         q(0),
-         ],
-      q(uk) => [
-         q(0452),
-         q(0),
-         ],
-      q(ur) => [
-         q(0455),
-         q(0),
-         ],
-      q(uz) => [
-         q(0456),
-         q(0),
-         ],
-      q(ve) => [
-         q(0458),
-         q(0),
-         ],
-      q(vi) => [
-         q(0459),
-         q(0),
-         ],
-      q(vo) => [
-         q(0460),
-         q(0),
-         ],
-      q(wa) => [
-         q(0468),
-         q(0),
-         ],
-      q(wo) => [
-         q(0469),
-         q(0),
-         ],
-      q(xh) => [
-         q(0471),
-         q(0),
-         ],
-      q(yi) => [
-         q(0474),
-         q(0),
-         ],
-      q(yo) => [
-         q(0475),
-         q(0),
-         ],
-      q(za) => [
-         q(0480),
-         q(0),
-         ],
-      q(zh) => [
-         q(0079),
-         q(0),
-         ],
-      q(zu) => [
-         q(0482),
-         q(0),
-         ],
-      },
-   q(alpha3) => {
-      q(aar) => [
-         q(0001),
-         q(0),
-         ],
-      q(abk) => [
-         q(0002),
-         q(0),
-         ],
-      q(ace) => [
-         q(0003),
-         q(0),
-         ],
-      q(ach) => [
-         q(0004),
-         q(0),
-         ],
-      q(ada) => [
-         q(0005),
-         q(0),
-         ],
-      q(ady) => [
-         q(0006),
-         q(0),
-         ],
-      q(afa) => [
-         q(0007),
-         q(0),
-         ],
-      q(afh) => [
-         q(0008),
-         q(0),
-         ],
-      q(afr) => [
-         q(0009),
-         q(0),
-         ],
-      q(ain) => [
-         q(0010),
-         q(0),
-         ],
-      q(aka) => [
-         q(0011),
-         q(0),
-         ],
-      q(akk) => [
-         q(0012),
-         q(0),
-         ],
-      q(alb) => [
-         q(0013),
-         q(0),
-         ],
-      q(ale) => [
-         q(0014),
-         q(0),
-         ],
-      q(alg) => [
-         q(0015),
-         q(0),
-         ],
-      q(alt) => [
-         q(0016),
-         q(0),
-         ],
-      q(amh) => [
-         q(0017),
-         q(0),
-         ],
-      q(ang) => [
-         q(0018),
-         q(0),
-         ],
-      q(anp) => [
-         q(0019),
-         q(0),
-         ],
-      q(apa) => [
-         q(0020),
-         q(0),
-         ],
-      q(ara) => [
-         q(0021),
-         q(0),
-         ],
-      q(arc) => [
-         q(0022),
-         q(0),
-         ],
-      q(arg) => [
-         q(0023),
-         q(0),
-         ],
-      q(arm) => [
-         q(0024),
-         q(0),
-         ],
-      q(arn) => [
-         q(0025),
-         q(0),
-         ],
-      q(arp) => [
-         q(0026),
-         q(0),
-         ],
-      q(art) => [
-         q(0027),
-         q(0),
-         ],
-      q(arw) => [
-         q(0028),
-         q(0),
-         ],
-      q(asm) => [
-         q(0029),
-         q(0),
-         ],
-      q(ast) => [
-         q(0030),
-         q(0),
-         ],
-      q(ath) => [
-         q(0031),
-         q(0),
-         ],
-      q(aus) => [
-         q(0032),
-         q(0),
-         ],
-      q(ava) => [
-         q(0033),
-         q(0),
-         ],
-      q(ave) => [
-         q(0034),
-         q(0),
-         ],
-      q(awa) => [
-         q(0035),
-         q(0),
-         ],
-      q(aym) => [
-         q(0036),
-         q(0),
-         ],
-      q(aze) => [
-         q(0037),
-         q(0),
-         ],
-      q(bad) => [
-         q(0038),
-         q(0),
-         ],
-      q(bai) => [
-         q(0039),
-         q(0),
-         ],
-      q(bak) => [
-         q(0040),
-         q(0),
-         ],
-      q(bal) => [
-         q(0041),
-         q(0),
-         ],
-      q(bam) => [
-         q(0042),
-         q(0),
-         ],
-      q(ban) => [
-         q(0043),
-         q(0),
-         ],
-      q(baq) => [
-         q(0044),
-         q(0),
-         ],
-      q(bas) => [
-         q(0045),
-         q(0),
-         ],
-      q(bat) => [
-         q(0046),
-         q(0),
-         ],
-      q(bej) => [
-         q(0047),
-         q(0),
-         ],
-      q(bel) => [
-         q(0048),
-         q(0),
-         ],
-      q(bem) => [
-         q(0049),
-         q(0),
-         ],
-      q(ben) => [
-         q(0050),
-         q(0),
-         ],
-      q(ber) => [
-         q(0051),
-         q(0),
-         ],
-      q(bho) => [
-         q(0052),
-         q(0),
-         ],
-      q(bih) => [
-         q(0053),
-         q(0),
-         ],
-      q(bik) => [
-         q(0054),
-         q(0),
-         ],
-      q(bin) => [
-         q(0055),
-         q(0),
-         ],
-      q(bis) => [
-         q(0056),
-         q(0),
-         ],
-      q(bla) => [
-         q(0057),
-         q(0),
-         ],
-      q(bnt) => [
-         q(0058),
-         q(0),
-         ],
-      q(bos) => [
-         q(0059),
-         q(0),
-         ],
-      q(bra) => [
-         q(0060),
-         q(0),
-         ],
-      q(bre) => [
-         q(0061),
-         q(0),
-         ],
-      q(btk) => [
-         q(0062),
-         q(0),
-         ],
-      q(bua) => [
-         q(0063),
-         q(0),
-         ],
-      q(bug) => [
-         q(0064),
-         q(0),
-         ],
-      q(bul) => [
-         q(0065),
-         q(0),
-         ],
-      q(bur) => [
-         q(0066),
-         q(0),
-         ],
-      q(byn) => [
-         q(0067),
-         q(0),
-         ],
-      q(cad) => [
-         q(0068),
-         q(0),
-         ],
-      q(cai) => [
-         q(0069),
-         q(0),
-         ],
-      q(car) => [
-         q(0070),
-         q(0),
-         ],
-      q(cat) => [
-         q(0071),
-         q(0),
-         ],
-      q(cau) => [
-         q(0072),
-         q(0),
-         ],
-      q(ceb) => [
-         q(0073),
-         q(0),
-         ],
-      q(cel) => [
-         q(0074),
-         q(0),
-         ],
-      q(cha) => [
-         q(0075),
-         q(0),
-         ],
-      q(chb) => [
-         q(0076),
-         q(0),
-         ],
-      q(che) => [
-         q(0077),
-         q(0),
-         ],
-      q(chg) => [
-         q(0078),
-         q(0),
-         ],
-      q(chi) => [
-         q(0079),
-         q(0),
-         ],
-      q(chk) => [
-         q(0080),
-         q(0),
-         ],
-      q(chm) => [
-         q(0081),
-         q(0),
-         ],
-      q(chn) => [
-         q(0082),
-         q(0),
-         ],
-      q(cho) => [
-         q(0083),
-         q(0),
-         ],
-      q(chp) => [
-         q(0084),
-         q(0),
-         ],
-      q(chr) => [
-         q(0085),
-         q(0),
-         ],
-      q(chu) => [
-         q(0086),
-         q(0),
-         ],
-      q(chv) => [
-         q(0087),
-         q(0),
-         ],
-      q(chy) => [
-         q(0088),
-         q(0),
-         ],
-      q(cmc) => [
-         q(0089),
-         q(0),
-         ],
-      q(cop) => [
-         q(0090),
-         q(0),
-         ],
-      q(cor) => [
-         q(0091),
-         q(0),
-         ],
-      q(cos) => [
-         q(0092),
-         q(0),
-         ],
-      q(cpe) => [
-         q(0093),
-         q(0),
-         ],
-      q(cpf) => [
-         q(0094),
-         q(0),
-         ],
-      q(cpp) => [
-         q(0095),
-         q(0),
-         ],
-      q(cre) => [
-         q(0096),
-         q(0),
-         ],
-      q(crh) => [
-         q(0097),
-         q(0),
-         ],
-      q(crp) => [
-         q(0098),
-         q(0),
-         ],
-      q(csb) => [
-         q(0099),
-         q(0),
-         ],
-      q(cus) => [
-         q(0100),
-         q(0),
-         ],
-      q(cze) => [
-         q(0101),
-         q(0),
-         ],
-      q(dak) => [
-         q(0102),
-         q(0),
-         ],
-      q(dan) => [
-         q(0103),
-         q(0),
-         ],
-      q(dar) => [
-         q(0104),
-         q(0),
-         ],
-      q(day) => [
-         q(0105),
-         q(0),
-         ],
-      q(del) => [
-         q(0106),
-         q(0),
-         ],
-      q(den) => [
-         q(0107),
-         q(0),
-         ],
-      q(dgr) => [
-         q(0108),
-         q(0),
-         ],
-      q(din) => [
-         q(0109),
-         q(0),
-         ],
-      q(div) => [
-         q(0110),
-         q(0),
-         ],
-      q(doi) => [
-         q(0111),
-         q(0),
-         ],
-      q(dra) => [
-         q(0112),
-         q(0),
-         ],
-      q(dsb) => [
-         q(0113),
-         q(0),
-         ],
-      q(dua) => [
-         q(0114),
-         q(0),
-         ],
-      q(dum) => [
-         q(0115),
-         q(0),
-         ],
-      q(dut) => [
-         q(0116),
-         q(0),
-         ],
-      q(dyu) => [
-         q(0117),
-         q(0),
-         ],
-      q(dzo) => [
-         q(0118),
-         q(0),
-         ],
-      q(efi) => [
-         q(0119),
-         q(0),
-         ],
-      q(egy) => [
-         q(0120),
-         q(0),
-         ],
-      q(eka) => [
-         q(0121),
-         q(0),
-         ],
-      q(elx) => [
-         q(0122),
-         q(0),
-         ],
-      q(eng) => [
-         q(0123),
-         q(0),
-         ],
-      q(enm) => [
-         q(0124),
-         q(0),
-         ],
-      q(epo) => [
-         q(0125),
-         q(0),
-         ],
-      q(est) => [
-         q(0126),
-         q(0),
-         ],
-      q(ewe) => [
-         q(0127),
-         q(0),
-         ],
-      q(ewo) => [
-         q(0128),
-         q(0),
-         ],
-      q(fan) => [
-         q(0129),
-         q(0),
-         ],
-      q(fao) => [
-         q(0130),
-         q(0),
-         ],
-      q(fat) => [
-         q(0131),
-         q(0),
-         ],
-      q(fij) => [
-         q(0132),
-         q(0),
-         ],
-      q(fil) => [
-         q(0133),
-         q(0),
-         ],
-      q(fin) => [
-         q(0134),
-         q(0),
-         ],
-      q(fiu) => [
-         q(0135),
-         q(0),
-         ],
-      q(fon) => [
-         q(0136),
-         q(0),
-         ],
-      q(fre) => [
-         q(0137),
-         q(0),
-         ],
-      q(frm) => [
-         q(0138),
-         q(0),
-         ],
-      q(fro) => [
-         q(0139),
-         q(0),
-         ],
-      q(frr) => [
-         q(0140),
-         q(0),
-         ],
-      q(frs) => [
-         q(0141),
-         q(0),
-         ],
-      q(fry) => [
-         q(0142),
-         q(0),
-         ],
-      q(ful) => [
-         q(0143),
-         q(0),
-         ],
-      q(fur) => [
-         q(0144),
-         q(0),
-         ],
-      q(gaa) => [
-         q(0145),
-         q(0),
-         ],
-      q(gay) => [
-         q(0146),
-         q(0),
-         ],
-      q(gba) => [
-         q(0147),
-         q(0),
-         ],
-      q(gem) => [
-         q(0148),
-         q(0),
-         ],
-      q(geo) => [
-         q(0149),
-         q(0),
-         ],
-      q(ger) => [
-         q(0150),
-         q(0),
-         ],
-      q(gez) => [
-         q(0151),
-         q(0),
-         ],
-      q(gil) => [
-         q(0152),
-         q(0),
-         ],
-      q(gla) => [
-         q(0153),
-         q(0),
-         ],
-      q(gle) => [
-         q(0154),
-         q(0),
-         ],
-      q(glg) => [
-         q(0155),
-         q(0),
-         ],
-      q(glv) => [
-         q(0156),
-         q(0),
-         ],
-      q(gmh) => [
-         q(0157),
-         q(0),
-         ],
-      q(goh) => [
-         q(0158),
-         q(0),
-         ],
-      q(gon) => [
-         q(0159),
-         q(0),
-         ],
-      q(gor) => [
-         q(0160),
-         q(0),
-         ],
-      q(got) => [
-         q(0161),
-         q(0),
-         ],
-      q(grb) => [
-         q(0162),
-         q(0),
-         ],
-      q(grc) => [
-         q(0163),
-         q(0),
-         ],
-      q(gre) => [
-         q(0164),
-         q(0),
-         ],
-      q(grn) => [
-         q(0165),
-         q(0),
-         ],
-      q(gsw) => [
-         q(0166),
-         q(0),
-         ],
-      q(guj) => [
-         q(0167),
-         q(0),
-         ],
-      q(gwi) => [
-         q(0168),
-         q(0),
-         ],
-      q(hai) => [
-         q(0169),
-         q(0),
-         ],
-      q(hat) => [
-         q(0170),
-         q(0),
-         ],
-      q(hau) => [
-         q(0171),
-         q(0),
-         ],
-      q(haw) => [
-         q(0172),
-         q(0),
-         ],
-      q(heb) => [
-         q(0173),
-         q(0),
-         ],
-      q(her) => [
-         q(0174),
-         q(0),
-         ],
-      q(hil) => [
-         q(0175),
-         q(0),
-         ],
-      q(him) => [
-         q(0176),
-         q(0),
-         ],
-      q(hin) => [
-         q(0177),
-         q(0),
-         ],
-      q(hit) => [
-         q(0178),
-         q(0),
-         ],
-      q(hmn) => [
-         q(0179),
-         q(0),
-         ],
-      q(hmo) => [
-         q(0180),
-         q(0),
-         ],
-      q(hrv) => [
-         q(0181),
-         q(0),
-         ],
-      q(hsb) => [
-         q(0182),
-         q(0),
-         ],
-      q(hun) => [
-         q(0183),
-         q(0),
-         ],
-      q(hup) => [
-         q(0184),
-         q(0),
-         ],
-      q(iba) => [
-         q(0185),
-         q(0),
-         ],
-      q(ibo) => [
-         q(0186),
-         q(0),
-         ],
-      q(ice) => [
-         q(0187),
-         q(0),
-         ],
-      q(ido) => [
-         q(0188),
-         q(0),
-         ],
-      q(iii) => [
-         q(0189),
-         q(0),
-         ],
-      q(ijo) => [
-         q(0190),
-         q(0),
-         ],
-      q(iku) => [
-         q(0191),
-         q(0),
-         ],
-      q(ile) => [
-         q(0192),
-         q(0),
-         ],
-      q(ilo) => [
-         q(0193),
-         q(0),
-         ],
-      q(ina) => [
-         q(0194),
-         q(0),
-         ],
-      q(inc) => [
-         q(0195),
-         q(0),
-         ],
-      q(ind) => [
-         q(0196),
-         q(0),
-         ],
-      q(ine) => [
-         q(0197),
-         q(0),
-         ],
-      q(inh) => [
-         q(0198),
-         q(0),
-         ],
-      q(ipk) => [
-         q(0199),
-         q(0),
-         ],
-      q(ira) => [
-         q(0200),
-         q(0),
-         ],
-      q(iro) => [
-         q(0201),
-         q(0),
-         ],
-      q(ita) => [
-         q(0202),
-         q(0),
-         ],
-      q(jav) => [
-         q(0203),
-         q(0),
-         ],
-      q(jbo) => [
-         q(0204),
-         q(0),
-         ],
-      q(jpn) => [
-         q(0205),
-         q(0),
-         ],
-      q(jpr) => [
-         q(0206),
-         q(0),
-         ],
-      q(jrb) => [
-         q(0207),
-         q(0),
-         ],
-      q(kaa) => [
-         q(0208),
-         q(0),
-         ],
-      q(kab) => [
-         q(0209),
-         q(0),
-         ],
-      q(kac) => [
-         q(0210),
-         q(0),
-         ],
-      q(kal) => [
-         q(0211),
-         q(0),
-         ],
-      q(kam) => [
-         q(0212),
-         q(0),
-         ],
-      q(kan) => [
-         q(0213),
-         q(0),
-         ],
-      q(kar) => [
-         q(0214),
-         q(0),
-         ],
-      q(kas) => [
-         q(0215),
-         q(0),
-         ],
-      q(kau) => [
-         q(0216),
-         q(0),
-         ],
-      q(kaw) => [
-         q(0217),
-         q(0),
-         ],
-      q(kaz) => [
-         q(0218),
-         q(0),
-         ],
-      q(kbd) => [
-         q(0219),
-         q(0),
-         ],
-      q(kha) => [
-         q(0220),
-         q(0),
-         ],
-      q(khi) => [
-         q(0221),
-         q(0),
-         ],
-      q(khm) => [
-         q(0222),
-         q(0),
-         ],
-      q(kho) => [
-         q(0223),
-         q(0),
-         ],
-      q(kik) => [
-         q(0224),
-         q(0),
-         ],
-      q(kin) => [
-         q(0225),
-         q(0),
-         ],
-      q(kir) => [
-         q(0226),
-         q(0),
-         ],
-      q(kmb) => [
-         q(0227),
-         q(0),
-         ],
-      q(kok) => [
-         q(0228),
-         q(0),
-         ],
-      q(kom) => [
-         q(0229),
-         q(0),
-         ],
-      q(kon) => [
-         q(0230),
-         q(0),
-         ],
-      q(kor) => [
-         q(0231),
-         q(0),
-         ],
-      q(kos) => [
-         q(0232),
-         q(0),
-         ],
-      q(kpe) => [
-         q(0233),
-         q(0),
-         ],
-      q(krc) => [
-         q(0234),
-         q(0),
-         ],
-      q(krl) => [
-         q(0235),
-         q(0),
-         ],
-      q(kro) => [
-         q(0236),
-         q(0),
-         ],
-      q(kru) => [
-         q(0237),
-         q(0),
-         ],
-      q(kua) => [
-         q(0238),
-         q(0),
-         ],
-      q(kum) => [
-         q(0239),
-         q(0),
-         ],
-      q(kur) => [
-         q(0240),
-         q(0),
-         ],
-      q(kut) => [
-         q(0241),
-         q(0),
-         ],
-      q(lad) => [
-         q(0242),
-         q(0),
-         ],
-      q(lah) => [
-         q(0243),
-         q(0),
-         ],
-      q(lam) => [
-         q(0244),
-         q(0),
-         ],
-      q(lao) => [
-         q(0245),
-         q(0),
-         ],
-      q(lat) => [
-         q(0246),
-         q(0),
-         ],
-      q(lav) => [
-         q(0247),
-         q(0),
-         ],
-      q(lez) => [
-         q(0248),
-         q(0),
-         ],
-      q(lim) => [
-         q(0249),
-         q(0),
-         ],
-      q(lin) => [
-         q(0250),
-         q(0),
-         ],
-      q(lit) => [
-         q(0251),
-         q(0),
-         ],
-      q(lol) => [
-         q(0252),
-         q(0),
-         ],
-      q(loz) => [
-         q(0253),
-         q(0),
-         ],
-      q(ltz) => [
-         q(0254),
-         q(0),
-         ],
-      q(lua) => [
-         q(0255),
-         q(0),
-         ],
-      q(lub) => [
-         q(0256),
-         q(0),
-         ],
-      q(lug) => [
-         q(0257),
-         q(0),
-         ],
-      q(lui) => [
-         q(0258),
-         q(0),
-         ],
-      q(lun) => [
-         q(0259),
-         q(0),
-         ],
-      q(luo) => [
-         q(0260),
-         q(0),
-         ],
-      q(lus) => [
-         q(0261),
-         q(0),
-         ],
-      q(mac) => [
-         q(0262),
-         q(0),
-         ],
-      q(mad) => [
-         q(0263),
-         q(0),
-         ],
-      q(mag) => [
-         q(0264),
-         q(0),
-         ],
-      q(mah) => [
-         q(0265),
-         q(0),
-         ],
-      q(mai) => [
-         q(0266),
-         q(0),
-         ],
-      q(mak) => [
-         q(0267),
-         q(0),
-         ],
-      q(mal) => [
-         q(0268),
-         q(0),
-         ],
-      q(man) => [
-         q(0269),
-         q(0),
-         ],
-      q(mao) => [
-         q(0270),
-         q(0),
-         ],
-      q(map) => [
-         q(0271),
-         q(0),
-         ],
-      q(mar) => [
-         q(0272),
-         q(0),
-         ],
-      q(mas) => [
-         q(0273),
-         q(0),
-         ],
-      q(may) => [
-         q(0274),
-         q(0),
-         ],
-      q(mdf) => [
-         q(0275),
-         q(0),
-         ],
-      q(mdr) => [
-         q(0276),
-         q(0),
-         ],
-      q(men) => [
-         q(0277),
-         q(0),
-         ],
-      q(mga) => [
-         q(0278),
-         q(0),
-         ],
-      q(mic) => [
-         q(0279),
-         q(0),
-         ],
-      q(min) => [
-         q(0280),
-         q(0),
-         ],
-      q(mis) => [
-         q(0281),
-         q(0),
-         ],
-      q(mkh) => [
-         q(0282),
-         q(0),
-         ],
-      q(mlg) => [
-         q(0283),
-         q(0),
-         ],
-      q(mlt) => [
-         q(0284),
-         q(0),
-         ],
-      q(mnc) => [
-         q(0285),
-         q(0),
-         ],
-      q(mni) => [
-         q(0286),
-         q(0),
-         ],
-      q(mno) => [
-         q(0287),
-         q(0),
-         ],
-      q(moh) => [
-         q(0288),
-         q(0),
-         ],
-      q(mon) => [
-         q(0289),
-         q(0),
-         ],
-      q(mos) => [
-         q(0290),
-         q(0),
-         ],
-      q(mul) => [
-         q(0291),
-         q(0),
-         ],
-      q(mun) => [
-         q(0292),
-         q(0),
-         ],
-      q(mus) => [
-         q(0293),
-         q(0),
-         ],
-      q(mwl) => [
-         q(0294),
-         q(0),
-         ],
-      q(mwr) => [
-         q(0295),
-         q(0),
-         ],
-      q(myn) => [
-         q(0296),
-         q(0),
-         ],
-      q(myv) => [
-         q(0297),
-         q(0),
-         ],
-      q(nah) => [
-         q(0298),
-         q(0),
-         ],
-      q(nai) => [
-         q(0299),
-         q(0),
-         ],
-      q(nap) => [
-         q(0300),
-         q(0),
-         ],
-      q(nau) => [
-         q(0301),
-         q(0),
-         ],
-      q(nav) => [
-         q(0302),
-         q(0),
-         ],
-      q(nbl) => [
-         q(0303),
-         q(0),
-         ],
-      q(nde) => [
-         q(0304),
-         q(0),
-         ],
-      q(ndo) => [
-         q(0305),
-         q(0),
-         ],
-      q(nds) => [
-         q(0306),
-         q(0),
-         ],
-      q(nep) => [
-         q(0307),
-         q(0),
-         ],
-      q(new) => [
-         q(0308),
-         q(0),
-         ],
-      q(nia) => [
-         q(0309),
-         q(0),
-         ],
-      q(nic) => [
-         q(0310),
-         q(0),
-         ],
-      q(niu) => [
-         q(0311),
-         q(0),
-         ],
-      q(nno) => [
-         q(0312),
-         q(0),
-         ],
-      q(nob) => [
-         q(0313),
-         q(0),
-         ],
-      q(nog) => [
-         q(0314),
-         q(0),
-         ],
-      q(non) => [
-         q(0315),
-         q(0),
-         ],
-      q(nor) => [
-         q(0316),
-         q(0),
-         ],
-      q(nqo) => [
-         q(0317),
-         q(0),
-         ],
-      q(nso) => [
-         q(0318),
-         q(0),
-         ],
-      q(nub) => [
-         q(0319),
-         q(0),
-         ],
-      q(nwc) => [
-         q(0320),
-         q(0),
-         ],
-      q(nya) => [
-         q(0321),
-         q(0),
-         ],
-      q(nym) => [
-         q(0322),
-         q(0),
-         ],
-      q(nyn) => [
-         q(0323),
-         q(0),
-         ],
-      q(nyo) => [
-         q(0324),
-         q(0),
-         ],
-      q(nzi) => [
-         q(0325),
-         q(0),
-         ],
-      q(oci) => [
-         q(0326),
-         q(0),
-         ],
-      q(oji) => [
-         q(0327),
-         q(0),
-         ],
-      q(ori) => [
-         q(0328),
-         q(0),
-         ],
-      q(orm) => [
-         q(0329),
-         q(0),
-         ],
-      q(osa) => [
-         q(0330),
-         q(0),
-         ],
-      q(oss) => [
-         q(0331),
-         q(0),
-         ],
-      q(ota) => [
-         q(0332),
-         q(0),
-         ],
-      q(oto) => [
-         q(0333),
-         q(0),
-         ],
-      q(paa) => [
-         q(0334),
-         q(0),
-         ],
-      q(pag) => [
-         q(0335),
-         q(0),
-         ],
-      q(pal) => [
-         q(0336),
-         q(0),
-         ],
-      q(pam) => [
-         q(0337),
-         q(0),
-         ],
-      q(pan) => [
-         q(0338),
-         q(0),
-         ],
-      q(pap) => [
-         q(0339),
-         q(0),
-         ],
-      q(pau) => [
-         q(0340),
-         q(0),
-         ],
-      q(peo) => [
-         q(0341),
-         q(0),
-         ],
-      q(per) => [
-         q(0342),
-         q(0),
-         ],
-      q(phi) => [
-         q(0343),
-         q(0),
-         ],
-      q(phn) => [
-         q(0344),
-         q(0),
-         ],
-      q(pli) => [
-         q(0345),
-         q(0),
-         ],
-      q(pol) => [
-         q(0346),
-         q(0),
-         ],
-      q(pon) => [
-         q(0347),
-         q(0),
-         ],
-      q(por) => [
-         q(0348),
-         q(0),
-         ],
-      q(pra) => [
-         q(0349),
-         q(0),
-         ],
-      q(pro) => [
-         q(0350),
-         q(0),
-         ],
-      q(pus) => [
-         q(0351),
-         q(0),
-         ],
-      q(qtz) => [
-         q(0352),
-         q(0),
-         ],
-      q(que) => [
-         q(0353),
-         q(0),
-         ],
-      q(raj) => [
-         q(0354),
-         q(0),
-         ],
-      q(rap) => [
-         q(0355),
-         q(0),
-         ],
-      q(rar) => [
-         q(0356),
-         q(0),
-         ],
-      q(roa) => [
-         q(0357),
-         q(0),
-         ],
-      q(roh) => [
-         q(0358),
-         q(0),
-         ],
-      q(rom) => [
-         q(0359),
-         q(0),
-         ],
-      q(rum) => [
-         q(0360),
-         q(0),
-         ],
-      q(run) => [
-         q(0361),
-         q(0),
-         ],
-      q(rup) => [
-         q(0362),
-         q(0),
-         ],
-      q(rus) => [
-         q(0363),
-         q(0),
-         ],
-      q(sad) => [
-         q(0364),
-         q(0),
-         ],
-      q(sag) => [
-         q(0365),
-         q(0),
-         ],
-      q(sah) => [
-         q(0366),
-         q(0),
-         ],
-      q(sai) => [
-         q(0367),
-         q(0),
-         ],
-      q(sal) => [
-         q(0368),
-         q(0),
-         ],
-      q(sam) => [
-         q(0369),
-         q(0),
-         ],
-      q(san) => [
-         q(0370),
-         q(0),
-         ],
-      q(sas) => [
-         q(0371),
-         q(0),
-         ],
-      q(sat) => [
-         q(0372),
-         q(0),
-         ],
-      q(scn) => [
-         q(0373),
-         q(0),
-         ],
-      q(sco) => [
-         q(0374),
-         q(0),
-         ],
-      q(sel) => [
-         q(0375),
-         q(0),
-         ],
-      q(sem) => [
-         q(0376),
-         q(0),
-         ],
-      q(sga) => [
-         q(0377),
-         q(0),
-         ],
-      q(sgn) => [
-         q(0378),
-         q(0),
-         ],
-      q(shn) => [
-         q(0379),
-         q(0),
-         ],
-      q(sid) => [
-         q(0380),
-         q(0),
-         ],
-      q(sin) => [
-         q(0381),
-         q(0),
-         ],
-      q(sio) => [
-         q(0382),
-         q(0),
-         ],
-      q(sit) => [
-         q(0383),
-         q(0),
-         ],
-      q(sla) => [
-         q(0384),
-         q(0),
-         ],
-      q(slo) => [
-         q(0385),
-         q(0),
-         ],
-      q(slv) => [
-         q(0386),
-         q(0),
-         ],
-      q(sma) => [
-         q(0387),
-         q(0),
-         ],
-      q(sme) => [
-         q(0388),
-         q(0),
-         ],
-      q(smi) => [
-         q(0389),
-         q(0),
-         ],
-      q(smj) => [
-         q(0390),
-         q(0),
-         ],
-      q(smn) => [
-         q(0391),
-         q(0),
-         ],
-      q(smo) => [
-         q(0392),
-         q(0),
-         ],
-      q(sms) => [
-         q(0393),
-         q(0),
-         ],
-      q(sna) => [
-         q(0394),
-         q(0),
-         ],
-      q(snd) => [
-         q(0395),
-         q(0),
-         ],
-      q(snk) => [
-         q(0396),
-         q(0),
-         ],
-      q(sog) => [
-         q(0397),
-         q(0),
-         ],
-      q(som) => [
-         q(0398),
-         q(0),
-         ],
-      q(son) => [
-         q(0399),
-         q(0),
-         ],
-      q(sot) => [
-         q(0400),
-         q(0),
-         ],
-      q(spa) => [
-         q(0401),
-         q(0),
-         ],
-      q(srd) => [
-         q(0402),
-         q(0),
-         ],
-      q(srn) => [
-         q(0403),
-         q(0),
-         ],
-      q(srp) => [
-         q(0404),
-         q(0),
-         ],
-      q(srr) => [
-         q(0405),
-         q(0),
-         ],
-      q(ssa) => [
-         q(0406),
-         q(0),
-         ],
-      q(ssw) => [
-         q(0407),
-         q(0),
-         ],
-      q(suk) => [
-         q(0408),
-         q(0),
-         ],
-      q(sun) => [
-         q(0409),
-         q(0),
-         ],
-      q(sus) => [
-         q(0410),
-         q(0),
-         ],
-      q(sux) => [
-         q(0411),
-         q(0),
-         ],
-      q(swa) => [
-         q(0412),
-         q(0),
-         ],
-      q(swe) => [
-         q(0413),
-         q(0),
-         ],
-      q(syc) => [
-         q(0414),
-         q(0),
-         ],
-      q(syr) => [
-         q(0415),
-         q(0),
-         ],
-      q(tah) => [
-         q(0416),
-         q(0),
-         ],
-      q(tai) => [
-         q(0417),
-         q(0),
-         ],
-      q(tam) => [
-         q(0418),
-         q(0),
-         ],
-      q(tat) => [
-         q(0419),
-         q(0),
-         ],
-      q(tel) => [
-         q(0420),
-         q(0),
-         ],
-      q(tem) => [
-         q(0421),
-         q(0),
-         ],
-      q(ter) => [
-         q(0422),
-         q(0),
-         ],
-      q(tet) => [
-         q(0423),
-         q(0),
-         ],
-      q(tgk) => [
-         q(0424),
-         q(0),
-         ],
-      q(tgl) => [
-         q(0425),
-         q(0),
-         ],
-      q(tha) => [
-         q(0426),
-         q(0),
-         ],
-      q(tib) => [
-         q(0427),
-         q(0),
-         ],
-      q(tig) => [
-         q(0428),
-         q(0),
-         ],
-      q(tir) => [
-         q(0429),
-         q(0),
-         ],
-      q(tiv) => [
-         q(0430),
-         q(0),
-         ],
-      q(tkl) => [
-         q(0431),
-         q(0),
-         ],
-      q(tlh) => [
-         q(0432),
-         q(0),
-         ],
-      q(tli) => [
-         q(0433),
-         q(0),
-         ],
-      q(tmh) => [
-         q(0434),
-         q(0),
-         ],
-      q(tog) => [
-         q(0435),
-         q(0),
-         ],
-      q(ton) => [
-         q(0436),
-         q(0),
-         ],
-      q(tpi) => [
-         q(0437),
-         q(0),
-         ],
-      q(tsi) => [
-         q(0438),
-         q(0),
-         ],
-      q(tsn) => [
-         q(0439),
-         q(0),
-         ],
-      q(tso) => [
-         q(0440),
-         q(0),
-         ],
-      q(tuk) => [
-         q(0441),
-         q(0),
-         ],
-      q(tum) => [
-         q(0442),
-         q(0),
-         ],
-      q(tup) => [
-         q(0443),
-         q(0),
-         ],
-      q(tur) => [
-         q(0444),
-         q(0),
-         ],
-      q(tut) => [
-         q(0445),
-         q(0),
-         ],
-      q(tvl) => [
-         q(0446),
-         q(0),
-         ],
-      q(twi) => [
-         q(0447),
-         q(0),
-         ],
-      q(tyv) => [
-         q(0448),
-         q(0),
-         ],
-      q(udm) => [
-         q(0449),
-         q(0),
-         ],
-      q(uga) => [
-         q(0450),
-         q(0),
-         ],
-      q(uig) => [
-         q(0451),
-         q(0),
-         ],
-      q(ukr) => [
-         q(0452),
-         q(0),
-         ],
-      q(umb) => [
-         q(0453),
-         q(0),
-         ],
-      q(und) => [
-         q(0454),
-         q(0),
-         ],
-      q(urd) => [
-         q(0455),
-         q(0),
-         ],
-      q(uzb) => [
-         q(0456),
-         q(0),
-         ],
-      q(vai) => [
-         q(0457),
-         q(0),
-         ],
-      q(ven) => [
-         q(0458),
-         q(0),
-         ],
-      q(vie) => [
-         q(0459),
-         q(0),
-         ],
-      q(vol) => [
-         q(0460),
-         q(0),
-         ],
-      q(vot) => [
-         q(0461),
-         q(0),
-         ],
-      q(wak) => [
-         q(0462),
-         q(0),
-         ],
-      q(wal) => [
-         q(0463),
-         q(0),
-         ],
-      q(war) => [
-         q(0464),
-         q(0),
-         ],
-      q(was) => [
-         q(0465),
-         q(0),
-         ],
-      q(wel) => [
-         q(0466),
-         q(0),
-         ],
-      q(wen) => [
-         q(0467),
-         q(0),
-         ],
-      q(wln) => [
-         q(0468),
-         q(0),
-         ],
-      q(wol) => [
-         q(0469),
-         q(0),
-         ],
-      q(xal) => [
-         q(0470),
-         q(0),
-         ],
-      q(xho) => [
-         q(0471),
-         q(0),
-         ],
-      q(yao) => [
-         q(0472),
-         q(0),
-         ],
-      q(yap) => [
-         q(0473),
-         q(0),
-         ],
-      q(yid) => [
-         q(0474),
-         q(0),
-         ],
-      q(yor) => [
-         q(0475),
-         q(0),
-         ],
-      q(ypk) => [
-         q(0476),
-         q(0),
-         ],
-      q(zap) => [
-         q(0477),
-         q(0),
-         ],
-      q(zbl) => [
-         q(0478),
-         q(0),
-         ],
-      q(zen) => [
-         q(0479),
-         q(0),
-         ],
-      q(zha) => [
-         q(0480),
-         q(0),
-         ],
-      q(znd) => [
-         q(0481),
-         q(0),
-         ],
-      q(zul) => [
-         q(0482),
-         q(0),
-         ],
-      q(zun) => [
-         q(0483),
-         q(0),
-         ],
-      q(zxx) => [
-         q(0484),
-         q(0),
-         ],
-      q(zza) => [
-         q(0485),
-         q(0),
-         ],
-      },
-   q(term) => {
-      q(bod) => [
-         q(0427),
-         q(0),
-         ],
-      q(ces) => [
-         q(0101),
-         q(0),
-         ],
-      q(cym) => [
-         q(0466),
-         q(0),
-         ],
-      q(deu) => [
-         q(0150),
-         q(0),
-         ],
-      q(ell) => [
-         q(0164),
-         q(0),
-         ],
-      q(eus) => [
-         q(0044),
-         q(0),
-         ],
-      q(fas) => [
-         q(0342),
-         q(0),
-         ],
-      q(fra) => [
-         q(0137),
-         q(0),
-         ],
-      q(hye) => [
-         q(0024),
-         q(0),
-         ],
-      q(isl) => [
-         q(0187),
-         q(0),
-         ],
-      q(kat) => [
-         q(0149),
-         q(0),
-         ],
-      q(mkd) => [
-         q(0262),
-         q(0),
-         ],
-      q(mri) => [
-         q(0270),
-         q(0),
-         ],
-      q(msa) => [
-         q(0274),
-         q(0),
-         ],
-      q(mya) => [
-         q(0066),
-         q(0),
-         ],
-      q(nld) => [
-         q(0116),
-         q(0),
-         ],
-      q(ron) => [
-         q(0360),
-         q(0),
-         ],
-      q(slk) => [
-         q(0385),
-         q(0),
-         ],
-      q(sqi) => [
-         q(0013),
-         q(0),
-         ],
-      q(zho) => [
-         q(0079),
-         q(0),
-         ],
-      },
-};
-
-$Locale::Codes::Data{'language'}{'id2code'} = {
-   q(alpha2) => {
-      q(0001) => q(aa),
-      q(0002) => q(ab),
-      q(0009) => q(af),
-      q(0011) => q(ak),
-      q(0013) => q(sq),
-      q(0017) => q(am),
-      q(0021) => q(ar),
-      q(0023) => q(an),
-      q(0024) => q(hy),
-      q(0029) => q(as),
-      q(0033) => q(av),
-      q(0034) => q(ae),
-      q(0036) => q(ay),
-      q(0037) => q(az),
-      q(0040) => q(ba),
-      q(0042) => q(bm),
-      q(0044) => q(eu),
-      q(0048) => q(be),
-      q(0050) => q(bn),
-      q(0053) => q(bh),
-      q(0056) => q(bi),
-      q(0059) => q(bs),
-      q(0061) => q(br),
-      q(0065) => q(bg),
-      q(0066) => q(my),
-      q(0071) => q(ca),
-      q(0075) => q(ch),
-      q(0077) => q(ce),
-      q(0079) => q(zh),
-      q(0086) => q(cu),
-      q(0087) => q(cv),
-      q(0091) => q(kw),
-      q(0092) => q(co),
-      q(0096) => q(cr),
-      q(0101) => q(cs),
-      q(0103) => q(da),
-      q(0110) => q(dv),
-      q(0116) => q(nl),
-      q(0118) => q(dz),
-      q(0123) => q(en),
-      q(0125) => q(eo),
-      q(0126) => q(et),
-      q(0127) => q(ee),
-      q(0130) => q(fo),
-      q(0132) => q(fj),
-      q(0134) => q(fi),
-      q(0137) => q(fr),
-      q(0142) => q(fy),
-      q(0143) => q(ff),
-      q(0149) => q(ka),
-      q(0150) => q(de),
-      q(0153) => q(gd),
-      q(0154) => q(ga),
-      q(0155) => q(gl),
-      q(0156) => q(gv),
-      q(0164) => q(el),
-      q(0165) => q(gn),
-      q(0167) => q(gu),
-      q(0170) => q(ht),
-      q(0171) => q(ha),
-      q(0173) => q(he),
-      q(0174) => q(hz),
-      q(0177) => q(hi),
-      q(0180) => q(ho),
-      q(0181) => q(hr),
-      q(0183) => q(hu),
-      q(0186) => q(ig),
-      q(0187) => q(is),
-      q(0188) => q(io),
-      q(0189) => q(ii),
-      q(0191) => q(iu),
-      q(0192) => q(ie),
-      q(0194) => q(ia),
-      q(0196) => q(id),
-      q(0199) => q(ik),
-      q(0202) => q(it),
-      q(0203) => q(jv),
-      q(0205) => q(ja),
-      q(0211) => q(kl),
-      q(0213) => q(kn),
-      q(0215) => q(ks),
-      q(0216) => q(kr),
-      q(0218) => q(kk),
-      q(0222) => q(km),
-      q(0224) => q(ki),
-      q(0225) => q(rw),
-      q(0226) => q(ky),
-      q(0229) => q(kv),
-      q(0230) => q(kg),
-      q(0231) => q(ko),
-      q(0238) => q(kj),
-      q(0240) => q(ku),
-      q(0245) => q(lo),
-      q(0246) => q(la),
-      q(0247) => q(lv),
-      q(0249) => q(li),
-      q(0250) => q(ln),
-      q(0251) => q(lt),
-      q(0254) => q(lb),
-      q(0256) => q(lu),
-      q(0257) => q(lg),
-      q(0262) => q(mk),
-      q(0265) => q(mh),
-      q(0268) => q(ml),
-      q(0270) => q(mi),
-      q(0272) => q(mr),
-      q(0274) => q(ms),
-      q(0283) => q(mg),
-      q(0284) => q(mt),
-      q(0289) => q(mn),
-      q(0301) => q(na),
-      q(0302) => q(nv),
-      q(0303) => q(nr),
-      q(0304) => q(nd),
-      q(0305) => q(ng),
-      q(0307) => q(ne),
-      q(0312) => q(nn),
-      q(0313) => q(nb),
-      q(0316) => q(no),
-      q(0321) => q(ny),
-      q(0326) => q(oc),
-      q(0327) => q(oj),
-      q(0328) => q(or),
-      q(0329) => q(om),
-      q(0331) => q(os),
-      q(0338) => q(pa),
-      q(0342) => q(fa),
-      q(0345) => q(pi),
-      q(0346) => q(pl),
-      q(0348) => q(pt),
-      q(0351) => q(ps),
-      q(0353) => q(qu),
-      q(0358) => q(rm),
-      q(0360) => q(ro),
-      q(0361) => q(rn),
-      q(0363) => q(ru),
-      q(0365) => q(sg),
-      q(0370) => q(sa),
-      q(0381) => q(si),
-      q(0385) => q(sk),
-      q(0386) => q(sl),
-      q(0388) => q(se),
-      q(0392) => q(sm),
-      q(0394) => q(sn),
-      q(0395) => q(sd),
-      q(0398) => q(so),
-      q(0400) => q(st),
-      q(0401) => q(es),
-      q(0402) => q(sc),
-      q(0404) => q(sr),
-      q(0407) => q(ss),
-      q(0409) => q(su),
-      q(0412) => q(sw),
-      q(0413) => q(sv),
-      q(0416) => q(ty),
-      q(0418) => q(ta),
-      q(0419) => q(tt),
-      q(0420) => q(te),
-      q(0424) => q(tg),
-      q(0425) => q(tl),
-      q(0426) => q(th),
-      q(0427) => q(bo),
-      q(0429) => q(ti),
-      q(0436) => q(to),
-      q(0439) => q(tn),
-      q(0440) => q(ts),
-      q(0441) => q(tk),
-      q(0444) => q(tr),
-      q(0447) => q(tw),
-      q(0451) => q(ug),
-      q(0452) => q(uk),
-      q(0455) => q(ur),
-      q(0456) => q(uz),
-      q(0458) => q(ve),
-      q(0459) => q(vi),
-      q(0460) => q(vo),
-      q(0466) => q(cy),
-      q(0468) => q(wa),
-      q(0469) => q(wo),
-      q(0471) => q(xh),
-      q(0474) => q(yi),
-      q(0475) => q(yo),
-      q(0480) => q(za),
-      q(0482) => q(zu),
-      },
-   q(alpha3) => {
-      q(0001) => q(aar),
-      q(0002) => q(abk),
-      q(0003) => q(ace),
-      q(0004) => q(ach),
-      q(0005) => q(ada),
-      q(0006) => q(ady),
-      q(0007) => q(afa),
-      q(0008) => q(afh),
-      q(0009) => q(afr),
-      q(0010) => q(ain),
-      q(0011) => q(aka),
-      q(0012) => q(akk),
-      q(0013) => q(alb),
-      q(0014) => q(ale),
-      q(0015) => q(alg),
-      q(0016) => q(alt),
-      q(0017) => q(amh),
-      q(0018) => q(ang),
-      q(0019) => q(anp),
-      q(0020) => q(apa),
-      q(0021) => q(ara),
-      q(0022) => q(arc),
-      q(0023) => q(arg),
-      q(0024) => q(arm),
-      q(0025) => q(arn),
-      q(0026) => q(arp),
-      q(0027) => q(art),
-      q(0028) => q(arw),
-      q(0029) => q(asm),
-      q(0030) => q(ast),
-      q(0031) => q(ath),
-      q(0032) => q(aus),
-      q(0033) => q(ava),
-      q(0034) => q(ave),
-      q(0035) => q(awa),
-      q(0036) => q(aym),
-      q(0037) => q(aze),
-      q(0038) => q(bad),
-      q(0039) => q(bai),
-      q(0040) => q(bak),
-      q(0041) => q(bal),
-      q(0042) => q(bam),
-      q(0043) => q(ban),
-      q(0044) => q(baq),
-      q(0045) => q(bas),
-      q(0046) => q(bat),
-      q(0047) => q(bej),
-      q(0048) => q(bel),
-      q(0049) => q(bem),
-      q(0050) => q(ben),
-      q(0051) => q(ber),
-      q(0052) => q(bho),
-      q(0053) => q(bih),
-      q(0054) => q(bik),
-      q(0055) => q(bin),
-      q(0056) => q(bis),
-      q(0057) => q(bla),
-      q(0058) => q(bnt),
-      q(0059) => q(bos),
-      q(0060) => q(bra),
-      q(0061) => q(bre),
-      q(0062) => q(btk),
-      q(0063) => q(bua),
-      q(0064) => q(bug),
-      q(0065) => q(bul),
-      q(0066) => q(bur),
-      q(0067) => q(byn),
-      q(0068) => q(cad),
-      q(0069) => q(cai),
-      q(0070) => q(car),
-      q(0071) => q(cat),
-      q(0072) => q(cau),
-      q(0073) => q(ceb),
-      q(0074) => q(cel),
-      q(0075) => q(cha),
-      q(0076) => q(chb),
-      q(0077) => q(che),
-      q(0078) => q(chg),
-      q(0079) => q(chi),
-      q(0080) => q(chk),
-      q(0081) => q(chm),
-      q(0082) => q(chn),
-      q(0083) => q(cho),
-      q(0084) => q(chp),
-      q(0085) => q(chr),
-      q(0086) => q(chu),
-      q(0087) => q(chv),
-      q(0088) => q(chy),
-      q(0089) => q(cmc),
-      q(0090) => q(cop),
-      q(0091) => q(cor),
-      q(0092) => q(cos),
-      q(0093) => q(cpe),
-      q(0094) => q(cpf),
-      q(0095) => q(cpp),
-      q(0096) => q(cre),
-      q(0097) => q(crh),
-      q(0098) => q(crp),
-      q(0099) => q(csb),
-      q(0100) => q(cus),
-      q(0101) => q(cze),
-      q(0102) => q(dak),
-      q(0103) => q(dan),
-      q(0104) => q(dar),
-      q(0105) => q(day),
-      q(0106) => q(del),
-      q(0107) => q(den),
-      q(0108) => q(dgr),
-      q(0109) => q(din),
-      q(0110) => q(div),
-      q(0111) => q(doi),
-      q(0112) => q(dra),
-      q(0113) => q(dsb),
-      q(0114) => q(dua),
-      q(0115) => q(dum),
-      q(0116) => q(dut),
-      q(0117) => q(dyu),
-      q(0118) => q(dzo),
-      q(0119) => q(efi),
-      q(0120) => q(egy),
-      q(0121) => q(eka),
-      q(0122) => q(elx),
-      q(0123) => q(eng),
-      q(0124) => q(enm),
-      q(0125) => q(epo),
-      q(0126) => q(est),
-      q(0127) => q(ewe),
-      q(0128) => q(ewo),
-      q(0129) => q(fan),
-      q(0130) => q(fao),
-      q(0131) => q(fat),
-      q(0132) => q(fij),
-      q(0133) => q(fil),
-      q(0134) => q(fin),
-      q(0135) => q(fiu),
-      q(0136) => q(fon),
-      q(0137) => q(fre),
-      q(0138) => q(frm),
-      q(0139) => q(fro),
-      q(0140) => q(frr),
-      q(0141) => q(frs),
-      q(0142) => q(fry),
-      q(0143) => q(ful),
-      q(0144) => q(fur),
-      q(0145) => q(gaa),
-      q(0146) => q(gay),
-      q(0147) => q(gba),
-      q(0148) => q(gem),
-      q(0149) => q(geo),
-      q(0150) => q(ger),
-      q(0151) => q(gez),
-      q(0152) => q(gil),
-      q(0153) => q(gla),
-      q(0154) => q(gle),
-      q(0155) => q(glg),
-      q(0156) => q(glv),
-      q(0157) => q(gmh),
-      q(0158) => q(goh),
-      q(0159) => q(gon),
-      q(0160) => q(gor),
-      q(0161) => q(got),
-      q(0162) => q(grb),
-      q(0163) => q(grc),
-      q(0164) => q(gre),
-      q(0165) => q(grn),
-      q(0166) => q(gsw),
-      q(0167) => q(guj),
-      q(0168) => q(gwi),
-      q(0169) => q(hai),
-      q(0170) => q(hat),
-      q(0171) => q(hau),
-      q(0172) => q(haw),
-      q(0173) => q(heb),
-      q(0174) => q(her),
-      q(0175) => q(hil),
-      q(0176) => q(him),
-      q(0177) => q(hin),
-      q(0178) => q(hit),
-      q(0179) => q(hmn),
-      q(0180) => q(hmo),
-      q(0181) => q(hrv),
-      q(0182) => q(hsb),
-      q(0183) => q(hun),
-      q(0184) => q(hup),
-      q(0185) => q(iba),
-      q(0186) => q(ibo),
-      q(0187) => q(ice),
-      q(0188) => q(ido),
-      q(0189) => q(iii),
-      q(0190) => q(ijo),
-      q(0191) => q(iku),
-      q(0192) => q(ile),
-      q(0193) => q(ilo),
-      q(0194) => q(ina),
-      q(0195) => q(inc),
-      q(0196) => q(ind),
-      q(0197) => q(ine),
-      q(0198) => q(inh),
-      q(0199) => q(ipk),
-      q(0200) => q(ira),
-      q(0201) => q(iro),
-      q(0202) => q(ita),
-      q(0203) => q(jav),
-      q(0204) => q(jbo),
-      q(0205) => q(jpn),
-      q(0206) => q(jpr),
-      q(0207) => q(jrb),
-      q(0208) => q(kaa),
-      q(0209) => q(kab),
-      q(0210) => q(kac),
-      q(0211) => q(kal),
-      q(0212) => q(kam),
-      q(0213) => q(kan),
-      q(0214) => q(kar),
-      q(0215) => q(kas),
-      q(0216) => q(kau),
-      q(0217) => q(kaw),
-      q(0218) => q(kaz),
-      q(0219) => q(kbd),
-      q(0220) => q(kha),
-      q(0221) => q(khi),
-      q(0222) => q(khm),
-      q(0223) => q(kho),
-      q(0224) => q(kik),
-      q(0225) => q(kin),
-      q(0226) => q(kir),
-      q(0227) => q(kmb),
-      q(0228) => q(kok),
-      q(0229) => q(kom),
-      q(0230) => q(kon),
-      q(0231) => q(kor),
-      q(0232) => q(kos),
-      q(0233) => q(kpe),
-      q(0234) => q(krc),
-      q(0235) => q(krl),
-      q(0236) => q(kro),
-      q(0237) => q(kru),
-      q(0238) => q(kua),
-      q(0239) => q(kum),
-      q(0240) => q(kur),
-      q(0241) => q(kut),
-      q(0242) => q(lad),
-      q(0243) => q(lah),
-      q(0244) => q(lam),
-      q(0245) => q(lao),
-      q(0246) => q(lat),
-      q(0247) => q(lav),
-      q(0248) => q(lez),
-      q(0249) => q(lim),
-      q(0250) => q(lin),
-      q(0251) => q(lit),
-      q(0252) => q(lol),
-      q(0253) => q(loz),
-      q(0254) => q(ltz),
-      q(0255) => q(lua),
-      q(0256) => q(lub),
-      q(0257) => q(lug),
-      q(0258) => q(lui),
-      q(0259) => q(lun),
-      q(0260) => q(luo),
-      q(0261) => q(lus),
-      q(0262) => q(mac),
-      q(0263) => q(mad),
-      q(0264) => q(mag),
-      q(0265) => q(mah),
-      q(0266) => q(mai),
-      q(0267) => q(mak),
-      q(0268) => q(mal),
-      q(0269) => q(man),
-      q(0270) => q(mao),
-      q(0271) => q(map),
-      q(0272) => q(mar),
-      q(0273) => q(mas),
-      q(0274) => q(may),
-      q(0275) => q(mdf),
-      q(0276) => q(mdr),
-      q(0277) => q(men),
-      q(0278) => q(mga),
-      q(0279) => q(mic),
-      q(0280) => q(min),
-      q(0281) => q(mis),
-      q(0282) => q(mkh),
-      q(0283) => q(mlg),
-      q(0284) => q(mlt),
-      q(0285) => q(mnc),
-      q(0286) => q(mni),
-      q(0287) => q(mno),
-      q(0288) => q(moh),
-      q(0289) => q(mon),
-      q(0290) => q(mos),
-      q(0291) => q(mul),
-      q(0292) => q(mun),
-      q(0293) => q(mus),
-      q(0294) => q(mwl),
-      q(0295) => q(mwr),
-      q(0296) => q(myn),
-      q(0297) => q(myv),
-      q(0298) => q(nah),
-      q(0299) => q(nai),
-      q(0300) => q(nap),
-      q(0301) => q(nau),
-      q(0302) => q(nav),
-      q(0303) => q(nbl),
-      q(0304) => q(nde),
-      q(0305) => q(ndo),
-      q(0306) => q(nds),
-      q(0307) => q(nep),
-      q(0308) => q(new),
-      q(0309) => q(nia),
-      q(0310) => q(nic),
-      q(0311) => q(niu),
-      q(0312) => q(nno),
-      q(0313) => q(nob),
-      q(0314) => q(nog),
-      q(0315) => q(non),
-      q(0316) => q(nor),
-      q(0317) => q(nqo),
-      q(0318) => q(nso),
-      q(0319) => q(nub),
-      q(0320) => q(nwc),
-      q(0321) => q(nya),
-      q(0322) => q(nym),
-      q(0323) => q(nyn),
-      q(0324) => q(nyo),
-      q(0325) => q(nzi),
-      q(0326) => q(oci),
-      q(0327) => q(oji),
-      q(0328) => q(ori),
-      q(0329) => q(orm),
-      q(0330) => q(osa),
-      q(0331) => q(oss),
-      q(0332) => q(ota),
-      q(0333) => q(oto),
-      q(0334) => q(paa),
-      q(0335) => q(pag),
-      q(0336) => q(pal),
-      q(0337) => q(pam),
-      q(0338) => q(pan),
-      q(0339) => q(pap),
-      q(0340) => q(pau),
-      q(0341) => q(peo),
-      q(0342) => q(per),
-      q(0343) => q(phi),
-      q(0344) => q(phn),
-      q(0345) => q(pli),
-      q(0346) => q(pol),
-      q(0347) => q(pon),
-      q(0348) => q(por),
-      q(0349) => q(pra),
-      q(0350) => q(pro),
-      q(0351) => q(pus),
-      q(0352) => q(qtz),
-      q(0353) => q(que),
-      q(0354) => q(raj),
-      q(0355) => q(rap),
-      q(0356) => q(rar),
-      q(0357) => q(roa),
-      q(0358) => q(roh),
-      q(0359) => q(rom),
-      q(0360) => q(rum),
-      q(0361) => q(run),
-      q(0362) => q(rup),
-      q(0363) => q(rus),
-      q(0364) => q(sad),
-      q(0365) => q(sag),
-      q(0366) => q(sah),
-      q(0367) => q(sai),
-      q(0368) => q(sal),
-      q(0369) => q(sam),
-      q(0370) => q(san),
-      q(0371) => q(sas),
-      q(0372) => q(sat),
-      q(0373) => q(scn),
-      q(0374) => q(sco),
-      q(0375) => q(sel),
-      q(0376) => q(sem),
-      q(0377) => q(sga),
-      q(0378) => q(sgn),
-      q(0379) => q(shn),
-      q(0380) => q(sid),
-      q(0381) => q(sin),
-      q(0382) => q(sio),
-      q(0383) => q(sit),
-      q(0384) => q(sla),
-      q(0385) => q(slo),
-      q(0386) => q(slv),
-      q(0387) => q(sma),
-      q(0388) => q(sme),
-      q(0389) => q(smi),
-      q(0390) => q(smj),
-      q(0391) => q(smn),
-      q(0392) => q(smo),
-      q(0393) => q(sms),
-      q(0394) => q(sna),
-      q(0395) => q(snd),
-      q(0396) => q(snk),
-      q(0397) => q(sog),
-      q(0398) => q(som),
-      q(0399) => q(son),
-      q(0400) => q(sot),
-      q(0401) => q(spa),
-      q(0402) => q(srd),
-      q(0403) => q(srn),
-      q(0404) => q(srp),
-      q(0405) => q(srr),
-      q(0406) => q(ssa),
-      q(0407) => q(ssw),
-      q(0408) => q(suk),
-      q(0409) => q(sun),
-      q(0410) => q(sus),
-      q(0411) => q(sux),
-      q(0412) => q(swa),
-      q(0413) => q(swe),
-      q(0414) => q(syc),
-      q(0415) => q(syr),
-      q(0416) => q(tah),
-      q(0417) => q(tai),
-      q(0418) => q(tam),
-      q(0419) => q(tat),
-      q(0420) => q(tel),
-      q(0421) => q(tem),
-      q(0422) => q(ter),
-      q(0423) => q(tet),
-      q(0424) => q(tgk),
-      q(0425) => q(tgl),
-      q(0426) => q(tha),
-      q(0427) => q(tib),
-      q(0428) => q(tig),
-      q(0429) => q(tir),
-      q(0430) => q(tiv),
-      q(0431) => q(tkl),
-      q(0432) => q(tlh),
-      q(0433) => q(tli),
-      q(0434) => q(tmh),
-      q(0435) => q(tog),
-      q(0436) => q(ton),
-      q(0437) => q(tpi),
-      q(0438) => q(tsi),
-      q(0439) => q(tsn),
-      q(0440) => q(tso),
-      q(0441) => q(tuk),
-      q(0442) => q(tum),
-      q(0443) => q(tup),
-      q(0444) => q(tur),
-      q(0445) => q(tut),
-      q(0446) => q(tvl),
-      q(0447) => q(twi),
-      q(0448) => q(tyv),
-      q(0449) => q(udm),
-      q(0450) => q(uga),
-      q(0451) => q(uig),
-      q(0452) => q(ukr),
-      q(0453) => q(umb),
-      q(0454) => q(und),
-      q(0455) => q(urd),
-      q(0456) => q(uzb),
-      q(0457) => q(vai),
-      q(0458) => q(ven),
-      q(0459) => q(vie),
-      q(0460) => q(vol),
-      q(0461) => q(vot),
-      q(0462) => q(wak),
-      q(0463) => q(wal),
-      q(0464) => q(war),
-      q(0465) => q(was),
-      q(0466) => q(wel),
-      q(0467) => q(wen),
-      q(0468) => q(wln),
-      q(0469) => q(wol),
-      q(0470) => q(xal),
-      q(0471) => q(xho),
-      q(0472) => q(yao),
-      q(0473) => q(yap),
-      q(0474) => q(yid),
-      q(0475) => q(yor),
-      q(0476) => q(ypk),
-      q(0477) => q(zap),
-      q(0478) => q(zbl),
-      q(0479) => q(zen),
-      q(0480) => q(zha),
-      q(0481) => q(znd),
-      q(0482) => q(zul),
-      q(0483) => q(zun),
-      q(0484) => q(zxx),
-      q(0485) => q(zza),
-      },
-   q(term) => {
-      q(0013) => q(sqi),
-      q(0024) => q(hye),
-      q(0044) => q(eus),
-      q(0066) => q(mya),
-      q(0079) => q(zho),
-      q(0101) => q(ces),
-      q(0116) => q(nld),
-      q(0137) => q(fra),
-      q(0149) => q(kat),
-      q(0150) => q(deu),
-      q(0164) => q(ell),
-      q(0187) => q(isl),
-      q(0262) => q(mkd),
-      q(0270) => q(mri),
-      q(0274) => q(msa),
-      q(0342) => q(fas),
-      q(0360) => q(ron),
-      q(0385) => q(slk),
-      q(0427) => q(bod),
-      q(0466) => q(cym),
-      },
-};
-
 1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Language.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,2699 +1,98 @@
 package Locale::Codes::Script;
+# Copyright (C) 2001      Canon Research Centre Europe (CRE).
+# Copyright (C) 2002-2009 Neil Bowers
+# Copyright (c) 2010-2013 Sullivan Beck
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
 
-# This file was automatically generated.  Any changes to this file will
-# be lost the next time 'get_codes' is run.
-#    Generated on: Tue Mar  1 15:02:24 EST 2011
+use strict;
+require 5.006;
+use warnings;
 
-=pod
+require Exporter;
+use Carp;
+use Locale::Codes;
+use Locale::Codes::Constants;
+use Locale::Codes::Script_Codes;
+use Locale::Codes::Script_Retired;
 
-=head1 NAME
+#=======================================================================
+#       Public Global Variables
+#=======================================================================
 
-Locale::Codes::Script - script codes for the Locale::Script module
+our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
 
-=head1 SYNOPSIS
+$VERSION='3.25';
+ at ISA       = qw(Exporter);
+ at EXPORT    = qw(code2script
+                script2code
+                all_script_codes
+                all_script_names
+                script_code2code
+                LOCALE_SCRIPT_ALPHA
+                LOCALE_SCRIPT_NUMERIC
+               );
 
-This module contains data used by the Locale::Script module. It is
-not intended to be used directly, and contains no calleable routines.
+sub code2script {
+   return Locale::Codes::_code2name('script', at _);
+}
 
-=head1 AUTHOR
+sub script2code {
+   return Locale::Codes::_name2code('script', at _);
+}
 
-See Locale::Codes for full author history.
+sub script_code2code {
+   return Locale::Codes::_code2code('script', at _);
+}
 
-Currently maintained by Sullivan Beck (sbeck at cpan.org).
+sub all_script_codes {
+   return Locale::Codes::_all_codes('script', at _);
+}
 
-=head1 COPYRIGHT
+sub all_script_names {
+   return Locale::Codes::_all_names('script', at _);
+}
 
-   Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
-   Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+sub rename_script {
+   return Locale::Codes::_rename('script', at _);
+}
 
-This module is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
+sub add_script {
+   return Locale::Codes::_add_code('script', at _);
+}
 
-=cut
+sub delete_script {
+   return Locale::Codes::_delete_code('script', at _);
+}
 
-use strict;
-use warnings;
-require 5.002;
+sub add_script_alias {
+   return Locale::Codes::_add_alias('script', at _);
+}
 
-our($VERSION);
-$VERSION='3.16';
+sub delete_script_alias {
+   return Locale::Codes::_delete_alias('script', at _);
+}
 
-$Locale::Codes::Data{'script'}{'id'} = '0156';
+sub rename_script_code {
+   return Locale::Codes::_rename_code('script', at _);
+}
 
-$Locale::Codes::Data{'script'}{'id2names'} = {
-   q(0001) => [
-      q(Afaka),
-      ],
-   q(0002) => [
-      q(Arabic),
-      ],
-   q(0003) => [
-      q(Imperial Aramaic),
-      ],
-   q(0004) => [
-      q(Armenian),
-      ],
-   q(0005) => [
-      q(Avestan),
-      ],
-   q(0006) => [
-      q(Balinese),
-      ],
-   q(0007) => [
-      q(Bamum),
-      ],
-   q(0008) => [
-      q(Bassa Vah),
-      ],
-   q(0009) => [
-      q(Batak),
-      ],
-   q(0010) => [
-      q(Bengali),
-      ],
-   q(0011) => [
-      q(Blissymbols),
-      ],
-   q(0012) => [
-      q(Bopomofo),
-      ],
-   q(0013) => [
-      q(Brahmi),
-      ],
-   q(0014) => [
-      q(Braille),
-      ],
-   q(0015) => [
-      q(Buginese),
-      ],
-   q(0016) => [
-      q(Buhid),
-      ],
-   q(0017) => [
-      q(Chakma),
-      ],
-   q(0018) => [
-      q(Unified Canadian Aboriginal Syllabics),
-      ],
-   q(0019) => [
-      q(Carian),
-      ],
-   q(0020) => [
-      q(Cham),
-      ],
-   q(0021) => [
-      q(Cherokee),
-      ],
-   q(0022) => [
-      q(Cirth),
-      ],
-   q(0023) => [
-      q(Coptic),
-      ],
-   q(0024) => [
-      q(Cypriot),
-      ],
-   q(0025) => [
-      q(Cyrillic),
-      ],
-   q(0026) => [
-      q(Cyrillic (Old Church Slavonic variant)),
-      ],
-   q(0027) => [
-      q(Devanagari (Nagari)),
-      ],
-   q(0028) => [
-      q(Deseret (Mormon)),
-      ],
-   q(0029) => [
-      q(Duployan shorthand, Duployan stenography),
-      ],
-   q(0030) => [
-      q(Egyptian demotic),
-      ],
-   q(0031) => [
-      q(Egyptian hieratic),
-      ],
-   q(0032) => [
-      q(Egyptian hieroglyphs),
-      ],
-   q(0033) => [
-      q(Elbasan),
-      ],
-   q(0034) => [
-      q(Ethiopic (Geez)),
-      ],
-   q(0035) => [
-      q(Georgian (Mkhedruli)),
-      ],
-   q(0036) => [
-      q(Khutsuri (Asomtavruli and Nuskhuri)),
-      ],
-   q(0037) => [
-      q(Glagolitic),
-      ],
-   q(0038) => [
-      q(Gothic),
-      ],
-   q(0039) => [
-      q(Grantha),
-      ],
-   q(0040) => [
-      q(Greek),
-      ],
-   q(0041) => [
-      q(Gujarati),
-      ],
-   q(0042) => [
-      q(Gurmukhi),
-      ],
-   q(0043) => [
-      q(Hangul (Hangul, Hangeul)),
-      ],
-   q(0044) => [
-      q(Han (Hanzi, Kanji, Hanja)),
-      ],
-   q(0045) => [
-      q(Hanunoo (Hanunoo)),
-      ],
-   q(0046) => [
-      q(Han (Simplified variant)),
-      ],
-   q(0047) => [
-      q(Han (Traditional variant)),
-      ],
-   q(0048) => [
-      q(Hebrew),
-      ],
-   q(0049) => [
-      q(Hiragana),
-      ],
-   q(0050) => [
-      q(Pahawh Hmong),
-      ],
-   q(0051) => [
-      q((alias for Hiragana + Katakana)),
-      ],
-   q(0052) => [
-      q(Old Hungarian),
-      ],
-   q(0053) => [
-      q(Indus (Harappan)),
-      ],
-   q(0054) => [
-      q(Old Italic (Etruscan, Oscan, etc.)),
-      ],
-   q(0055) => [
-      q(Javanese),
-      ],
-   q(0056) => [
-      q(Japanese (alias for Han + Hiragana + Katakana)),
-      ],
-   q(0057) => [
-      q(Jurchen),
-      ],
-   q(0058) => [
-      q(Kayah Li),
-      ],
-   q(0059) => [
-      q(Katakana),
-      ],
-   q(0060) => [
-      q(Kharoshthi),
-      ],
-   q(0061) => [
-      q(Khmer),
-      ],
-   q(0062) => [
-      q(Kannada),
-      ],
-   q(0063) => [
-      q(Korean (alias for Hangul + Han)),
-      ],
-   q(0064) => [
-      q(Kpelle),
-      ],
-   q(0065) => [
-      q(Kaithi),
-      ],
-   q(0066) => [
-      q(Tai Tham (Lanna)),
-      ],
-   q(0067) => [
-      q(Lao),
-      ],
-   q(0068) => [
-      q(Latin (Fraktur variant)),
-      ],
-   q(0069) => [
-      q(Latin (Gaelic variant)),
-      ],
-   q(0070) => [
-      q(Latin),
-      ],
-   q(0071) => [
-      q(Lepcha (Rong)),
-      ],
-   q(0072) => [
-      q(Limbu),
-      ],
-   q(0073) => [
-      q(Linear A),
-      ],
-   q(0074) => [
-      q(Linear B),
-      ],
-   q(0075) => [
-      q(Lisu (Fraser)),
-      ],
-   q(0076) => [
-      q(Loma),
-      ],
-   q(0077) => [
-      q(Lycian),
-      ],
-   q(0078) => [
-      q(Lydian),
-      ],
-   q(0079) => [
-      q(Mandaic, Mandaean),
-      ],
-   q(0080) => [
-      q(Manichaean),
-      ],
-   q(0081) => [
-      q(Mayan hieroglyphs),
-      ],
-   q(0082) => [
-      q(Mende),
-      ],
-   q(0083) => [
-      q(Meroitic Cursive),
-      ],
-   q(0084) => [
-      q(Meroitic Hieroglyphs),
-      ],
-   q(0085) => [
-      q(Malayalam),
-      ],
-   q(0086) => [
-      q(Moon (Moon code, Moon script, Moon type)),
-      ],
-   q(0087) => [
-      q(Mongolian),
-      ],
-   q(0088) => [
-      q(Mro, Mru),
-      ],
-   q(0089) => [
-      q(Meitei Mayek (Meithei, Meetei)),
-      ],
-   q(0090) => [
-      q(Myanmar (Burmese)),
-      ],
-   q(0091) => [
-      q(Old North Arabian (Ancient North Arabian)),
-      ],
-   q(0092) => [
-      q(Nabataean),
-      ],
-   q(0093) => [
-      q(Nakhi Geba ('Na-'Khi Ggo-baw, Naxi Geba)),
-      ],
-   q(0094) => [
-      q(N'Ko),
-      ],
-   q(0095) => [
-      q(Nushu),
-      ],
-   q(0096) => [
-      q(Ogham),
-      ],
-   q(0097) => [
-      q(Ol Chiki (Ol Cemet, Ol, Santali)),
-      ],
-   q(0098) => [
-      q(Old Turkic, Orkhon Runic),
-      ],
-   q(0099) => [
-      q(Oriya),
-      ],
-   q(0100) => [
-      q(Osmanya),
-      ],
-   q(0101) => [
-      q(Palmyrene),
-      ],
-   q(0102) => [
-      q(Old Permic),
-      ],
-   q(0103) => [
-      q(Phags-pa),
-      ],
-   q(0104) => [
-      q(Inscriptional Pahlavi),
-      ],
-   q(0105) => [
-      q(Psalter Pahlavi),
-      ],
-   q(0106) => [
-      q(Book Pahlavi),
-      ],
-   q(0107) => [
-      q(Phoenician),
-      ],
-   q(0108) => [
-      q(Miao (Pollard)),
-      ],
-   q(0109) => [
-      q(Inscriptional Parthian),
-      ],
-   q(0110) => [
-      q(Reserved for private use (start)),
-      ],
-   q(0111) => [
-      q(Reserved for private use (end)),
-      ],
-   q(0112) => [
-      q(Rejang (Redjang, Kaganga)),
-      ],
-   q(0113) => [
-      q(Rongorongo),
-      ],
-   q(0114) => [
-      q(Runic),
-      ],
-   q(0115) => [
-      q(Samaritan),
-      ],
-   q(0116) => [
-      q(Sarati),
-      ],
-   q(0117) => [
-      q(Old South Arabian),
-      ],
-   q(0118) => [
-      q(Saurashtra),
-      ],
-   q(0119) => [
-      q(SignWriting),
-      ],
-   q(0120) => [
-      q(Shavian (Shaw)),
-      ],
-   q(0121) => [
-      q(Sharada, Sarada),
-      ],
-   q(0122) => [
-      q(Khudawadi, Sindhi),
-      ],
-   q(0123) => [
-      q(Sinhala),
-      ],
-   q(0124) => [
-      q(Sora Sompeng),
-      ],
-   q(0125) => [
-      q(Sundanese),
-      ],
-   q(0126) => [
-      q(Syloti Nagri),
-      ],
-   q(0127) => [
-      q(Syriac),
-      ],
-   q(0128) => [
-      q(Syriac (Estrangelo variant)),
-      ],
-   q(0129) => [
-      q(Syriac (Western variant)),
-      ],
-   q(0130) => [
-      q(Syriac (Eastern variant)),
-      ],
-   q(0131) => [
-      q(Tagbanwa),
-      ],
-   q(0132) => [
-      q(Takri, Takri, Tankri),
-      ],
-   q(0133) => [
-      q(Tai Le),
-      ],
-   q(0134) => [
-      q(New Tai Lue),
-      ],
-   q(0135) => [
-      q(Tamil),
-      ],
-   q(0136) => [
-      q(Tangut),
-      ],
-   q(0137) => [
-      q(Tai Viet),
-      ],
-   q(0138) => [
-      q(Telugu),
-      ],
-   q(0139) => [
-      q(Tengwar),
-      ],
-   q(0140) => [
-      q(Tifinagh (Berber)),
-      ],
-   q(0141) => [
-      q(Tagalog (Baybayin, Alibata)),
-      ],
-   q(0142) => [
-      q(Thaana),
-      ],
-   q(0143) => [
-      q(Thai),
-      ],
-   q(0144) => [
-      q(Tibetan),
-      ],
-   q(0145) => [
-      q(Ugaritic),
-      ],
-   q(0146) => [
-      q(Vai),
-      ],
-   q(0147) => [
-      q(Visible Speech),
-      ],
-   q(0148) => [
-      q(Warang Citi (Varang Kshiti)),
-      ],
-   q(0149) => [
-      q(Woleai),
-      ],
-   q(0150) => [
-      q(Old Persian),
-      ],
-   q(0151) => [
-      q(Cuneiform, Sumero-Akkadian),
-      ],
-   q(0152) => [
-      q(Yi),
-      ],
-   q(0153) => [
-      q(Code for inherited script),
-      ],
-   q(0154) => [
-      q(Mathematical notation),
-      ],
-   q(0155) => [
-      q(Symbols),
-      ],
-};
+sub add_script_code_alias {
+   return Locale::Codes::_add_code_alias('script', at _);
+}
 
-$Locale::Codes::Data{'script'}{'alias2id'} = {
-   q((alias for hiragana + katakana)) => [
-      q(0051),
-      q(0),
-      ],
-   q(afaka) => [
-      q(0001),
-      q(0),
-      ],
-   q(arabic) => [
-      q(0002),
-      q(0),
-      ],
-   q(armenian) => [
-      q(0004),
-      q(0),
-      ],
-   q(avestan) => [
-      q(0005),
-      q(0),
-      ],
-   q(balinese) => [
-      q(0006),
-      q(0),
-      ],
-   q(bamum) => [
-      q(0007),
-      q(0),
-      ],
-   q(bassa vah) => [
-      q(0008),
-      q(0),
-      ],
-   q(batak) => [
-      q(0009),
-      q(0),
-      ],
-   q(bengali) => [
-      q(0010),
-      q(0),
-      ],
-   q(blissymbols) => [
-      q(0011),
-      q(0),
-      ],
-   q(book pahlavi) => [
-      q(0106),
-      q(0),
-      ],
-   q(bopomofo) => [
-      q(0012),
-      q(0),
-      ],
-   q(brahmi) => [
-      q(0013),
-      q(0),
-      ],
-   q(braille) => [
-      q(0014),
-      q(0),
-      ],
-   q(buginese) => [
-      q(0015),
-      q(0),
-      ],
-   q(buhid) => [
-      q(0016),
-      q(0),
-      ],
-   q(carian) => [
-      q(0019),
-      q(0),
-      ],
-   q(chakma) => [
-      q(0017),
-      q(0),
-      ],
-   q(cham) => [
-      q(0020),
-      q(0),
-      ],
-   q(cherokee) => [
-      q(0021),
-      q(0),
-      ],
-   q(cirth) => [
-      q(0022),
-      q(0),
-      ],
-   q(code for inherited script) => [
-      q(0153),
-      q(0),
-      ],
-   q(coptic) => [
-      q(0023),
-      q(0),
-      ],
-   q(cuneiform, sumero-akkadian) => [
-      q(0151),
-      q(0),
-      ],
-   q(cypriot) => [
-      q(0024),
-      q(0),
-      ],
-   q(cyrillic) => [
-      q(0025),
-      q(0),
-      ],
-   q(cyrillic (old church slavonic variant)) => [
-      q(0026),
-      q(0),
-      ],
-   q(deseret (mormon)) => [
-      q(0028),
-      q(0),
-      ],
-   q(devanagari (nagari)) => [
-      q(0027),
-      q(0),
-      ],
-   q(duployan shorthand, duployan stenography) => [
-      q(0029),
-      q(0),
-      ],
-   q(egyptian demotic) => [
-      q(0030),
-      q(0),
-      ],
-   q(egyptian hieratic) => [
-      q(0031),
-      q(0),
-      ],
-   q(egyptian hieroglyphs) => [
-      q(0032),
-      q(0),
-      ],
-   q(elbasan) => [
-      q(0033),
-      q(0),
-      ],
-   q(ethiopic (geez)) => [
-      q(0034),
-      q(0),
-      ],
-   q(georgian (mkhedruli)) => [
-      q(0035),
-      q(0),
-      ],
-   q(glagolitic) => [
-      q(0037),
-      q(0),
-      ],
-   q(gothic) => [
-      q(0038),
-      q(0),
-      ],
-   q(grantha) => [
-      q(0039),
-      q(0),
-      ],
-   q(greek) => [
-      q(0040),
-      q(0),
-      ],
-   q(gujarati) => [
-      q(0041),
-      q(0),
-      ],
-   q(gurmukhi) => [
-      q(0042),
-      q(0),
-      ],
-   q(han (hanzi, kanji, hanja)) => [
-      q(0044),
-      q(0),
-      ],
-   q(han (simplified variant)) => [
-      q(0046),
-      q(0),
-      ],
-   q(han (traditional variant)) => [
-      q(0047),
-      q(0),
-      ],
-   q(hangul (hangul, hangeul)) => [
-      q(0043),
-      q(0),
-      ],
-   q(hanunoo (hanunoo)) => [
-      q(0045),
-      q(0),
-      ],
-   q(hebrew) => [
-      q(0048),
-      q(0),
-      ],
-   q(hiragana) => [
-      q(0049),
-      q(0),
-      ],
-   q(imperial aramaic) => [
-      q(0003),
-      q(0),
-      ],
-   q(indus (harappan)) => [
-      q(0053),
-      q(0),
-      ],
-   q(inscriptional pahlavi) => [
-      q(0104),
-      q(0),
-      ],
-   q(inscriptional parthian) => [
-      q(0109),
-      q(0),
-      ],
-   q(japanese (alias for han + hiragana + katakana)) => [
-      q(0056),
-      q(0),
-      ],
-   q(javanese) => [
-      q(0055),
-      q(0),
-      ],
-   q(jurchen) => [
-      q(0057),
-      q(0),
-      ],
-   q(kaithi) => [
-      q(0065),
-      q(0),
-      ],
-   q(kannada) => [
-      q(0062),
-      q(0),
-      ],
-   q(katakana) => [
-      q(0059),
-      q(0),
-      ],
-   q(kayah li) => [
-      q(0058),
-      q(0),
-      ],
-   q(kharoshthi) => [
-      q(0060),
-      q(0),
-      ],
-   q(khmer) => [
-      q(0061),
-      q(0),
-      ],
-   q(khudawadi, sindhi) => [
-      q(0122),
-      q(0),
-      ],
-   q(khutsuri (asomtavruli and nuskhuri)) => [
-      q(0036),
-      q(0),
-      ],
-   q(korean (alias for hangul + han)) => [
-      q(0063),
-      q(0),
-      ],
-   q(kpelle) => [
-      q(0064),
-      q(0),
-      ],
-   q(lao) => [
-      q(0067),
-      q(0),
-      ],
-   q(latin) => [
-      q(0070),
-      q(0),
-      ],
-   q(latin (fraktur variant)) => [
-      q(0068),
-      q(0),
-      ],
-   q(latin (gaelic variant)) => [
-      q(0069),
-      q(0),
-      ],
-   q(lepcha (rong)) => [
-      q(0071),
-      q(0),
-      ],
-   q(limbu) => [
-      q(0072),
-      q(0),
-      ],
-   q(linear a) => [
-      q(0073),
-      q(0),
-      ],
-   q(linear b) => [
-      q(0074),
-      q(0),
-      ],
-   q(lisu (fraser)) => [
-      q(0075),
-      q(0),
-      ],
-   q(loma) => [
-      q(0076),
-      q(0),
-      ],
-   q(lycian) => [
-      q(0077),
-      q(0),
-      ],
-   q(lydian) => [
-      q(0078),
-      q(0),
-      ],
-   q(malayalam) => [
-      q(0085),
-      q(0),
-      ],
-   q(mandaic, mandaean) => [
-      q(0079),
-      q(0),
-      ],
-   q(manichaean) => [
-      q(0080),
-      q(0),
-      ],
-   q(mathematical notation) => [
-      q(0154),
-      q(0),
-      ],
-   q(mayan hieroglyphs) => [
-      q(0081),
-      q(0),
-      ],
-   q(meitei mayek (meithei, meetei)) => [
-      q(0089),
-      q(0),
-      ],
-   q(mende) => [
-      q(0082),
-      q(0),
-      ],
-   q(meroitic cursive) => [
-      q(0083),
-      q(0),
-      ],
-   q(meroitic hieroglyphs) => [
-      q(0084),
-      q(0),
-      ],
-   q(miao (pollard)) => [
-      q(0108),
-      q(0),
-      ],
-   q(mongolian) => [
-      q(0087),
-      q(0),
-      ],
-   q(moon (moon code, moon script, moon type)) => [
-      q(0086),
-      q(0),
-      ],
-   q(mro, mru) => [
-      q(0088),
-      q(0),
-      ],
-   q(myanmar (burmese)) => [
-      q(0090),
-      q(0),
-      ],
-   q(n'ko) => [
-      q(0094),
-      q(0),
-      ],
-   q(nabataean) => [
-      q(0092),
-      q(0),
-      ],
-   q(nakhi geba ('na-'khi ggo-baw, naxi geba)) => [
-      q(0093),
-      q(0),
-      ],
-   q(new tai lue) => [
-      q(0134),
-      q(0),
-      ],
-   q(nushu) => [
-      q(0095),
-      q(0),
-      ],
-   q(ogham) => [
-      q(0096),
-      q(0),
-      ],
-   q(ol chiki (ol cemet, ol, santali)) => [
-      q(0097),
-      q(0),
-      ],
-   q(old hungarian) => [
-      q(0052),
-      q(0),
-      ],
-   q(old italic (etruscan, oscan, etc.)) => [
-      q(0054),
-      q(0),
-      ],
-   q(old north arabian (ancient north arabian)) => [
-      q(0091),
-      q(0),
-      ],
-   q(old permic) => [
-      q(0102),
-      q(0),
-      ],
-   q(old persian) => [
-      q(0150),
-      q(0),
-      ],
-   q(old south arabian) => [
-      q(0117),
-      q(0),
-      ],
-   q(old turkic, orkhon runic) => [
-      q(0098),
-      q(0),
-      ],
-   q(oriya) => [
-      q(0099),
-      q(0),
-      ],
-   q(osmanya) => [
-      q(0100),
-      q(0),
-      ],
-   q(pahawh hmong) => [
-      q(0050),
-      q(0),
-      ],
-   q(palmyrene) => [
-      q(0101),
-      q(0),
-      ],
-   q(phags-pa) => [
-      q(0103),
-      q(0),
-      ],
-   q(phoenician) => [
-      q(0107),
-      q(0),
-      ],
-   q(psalter pahlavi) => [
-      q(0105),
-      q(0),
-      ],
-   q(rejang (redjang, kaganga)) => [
-      q(0112),
-      q(0),
-      ],
-   q(reserved for private use (end)) => [
-      q(0111),
-      q(0),
-      ],
-   q(reserved for private use (start)) => [
-      q(0110),
-      q(0),
-      ],
-   q(rongorongo) => [
-      q(0113),
-      q(0),
-      ],
-   q(runic) => [
-      q(0114),
-      q(0),
-      ],
-   q(samaritan) => [
-      q(0115),
-      q(0),
-      ],
-   q(sarati) => [
-      q(0116),
-      q(0),
-      ],
-   q(saurashtra) => [
-      q(0118),
-      q(0),
-      ],
-   q(sharada, sarada) => [
-      q(0121),
-      q(0),
-      ],
-   q(shavian (shaw)) => [
-      q(0120),
-      q(0),
-      ],
-   q(signwriting) => [
-      q(0119),
-      q(0),
-      ],
-   q(sinhala) => [
-      q(0123),
-      q(0),
-      ],
-   q(sora sompeng) => [
-      q(0124),
-      q(0),
-      ],
-   q(sundanese) => [
-      q(0125),
-      q(0),
-      ],
-   q(syloti nagri) => [
-      q(0126),
-      q(0),
-      ],
-   q(symbols) => [
-      q(0155),
-      q(0),
-      ],
-   q(syriac) => [
-      q(0127),
-      q(0),
-      ],
-   q(syriac (eastern variant)) => [
-      q(0130),
-      q(0),
-      ],
-   q(syriac (estrangelo variant)) => [
-      q(0128),
-      q(0),
-      ],
-   q(syriac (western variant)) => [
-      q(0129),
-      q(0),
-      ],
-   q(tagalog (baybayin, alibata)) => [
-      q(0141),
-      q(0),
-      ],
-   q(tagbanwa) => [
-      q(0131),
-      q(0),
-      ],
-   q(tai le) => [
-      q(0133),
-      q(0),
-      ],
-   q(tai tham (lanna)) => [
-      q(0066),
-      q(0),
-      ],
-   q(tai viet) => [
-      q(0137),
-      q(0),
-      ],
-   q(takri, takri, tankri) => [
-      q(0132),
-      q(0),
-      ],
-   q(tamil) => [
-      q(0135),
-      q(0),
-      ],
-   q(tangut) => [
-      q(0136),
-      q(0),
-      ],
-   q(telugu) => [
-      q(0138),
-      q(0),
-      ],
-   q(tengwar) => [
-      q(0139),
-      q(0),
-      ],
-   q(thaana) => [
-      q(0142),
-      q(0),
-      ],
-   q(thai) => [
-      q(0143),
-      q(0),
-      ],
-   q(tibetan) => [
-      q(0144),
-      q(0),
-      ],
-   q(tifinagh (berber)) => [
-      q(0140),
-      q(0),
-      ],
-   q(ugaritic) => [
-      q(0145),
-      q(0),
-      ],
-   q(unified canadian aboriginal syllabics) => [
-      q(0018),
-      q(0),
-      ],
-   q(vai) => [
-      q(0146),
-      q(0),
-      ],
-   q(visible speech) => [
-      q(0147),
-      q(0),
-      ],
-   q(warang citi (varang kshiti)) => [
-      q(0148),
-      q(0),
-      ],
-   q(woleai) => [
-      q(0149),
-      q(0),
-      ],
-   q(yi) => [
-      q(0152),
-      q(0),
-      ],
-};
+sub delete_script_code_alias {
+   return Locale::Codes::_delete_code_alias('script', at _);
+}
 
-$Locale::Codes::Data{'script'}{'code2id'} = {
-   q(alpha) => {
-      q(Afak) => [
-         q(0001),
-         q(0),
-         ],
-      q(Arab) => [
-         q(0002),
-         q(0),
-         ],
-      q(Armi) => [
-         q(0003),
-         q(0),
-         ],
-      q(Armn) => [
-         q(0004),
-         q(0),
-         ],
-      q(Avst) => [
-         q(0005),
-         q(0),
-         ],
-      q(Bali) => [
-         q(0006),
-         q(0),
-         ],
-      q(Bamu) => [
-         q(0007),
-         q(0),
-         ],
-      q(Bass) => [
-         q(0008),
-         q(0),
-         ],
-      q(Batk) => [
-         q(0009),
-         q(0),
-         ],
-      q(Beng) => [
-         q(0010),
-         q(0),
-         ],
-      q(Blis) => [
-         q(0011),
-         q(0),
-         ],
-      q(Bopo) => [
-         q(0012),
-         q(0),
-         ],
-      q(Brah) => [
-         q(0013),
-         q(0),
-         ],
-      q(Brai) => [
-         q(0014),
-         q(0),
-         ],
-      q(Bugi) => [
-         q(0015),
-         q(0),
-         ],
-      q(Buhd) => [
-         q(0016),
-         q(0),
-         ],
-      q(Cakm) => [
-         q(0017),
-         q(0),
-         ],
-      q(Cans) => [
-         q(0018),
-         q(0),
-         ],
-      q(Cari) => [
-         q(0019),
-         q(0),
-         ],
-      q(Cham) => [
-         q(0020),
-         q(0),
-         ],
-      q(Cher) => [
-         q(0021),
-         q(0),
-         ],
-      q(Cirt) => [
-         q(0022),
-         q(0),
-         ],
-      q(Copt) => [
-         q(0023),
-         q(0),
-         ],
-      q(Cprt) => [
-         q(0024),
-         q(0),
-         ],
-      q(Cyrl) => [
-         q(0025),
-         q(0),
-         ],
-      q(Cyrs) => [
-         q(0026),
-         q(0),
-         ],
-      q(Deva) => [
-         q(0027),
-         q(0),
-         ],
-      q(Dsrt) => [
-         q(0028),
-         q(0),
-         ],
-      q(Dupl) => [
-         q(0029),
-         q(0),
-         ],
-      q(Egyd) => [
-         q(0030),
-         q(0),
-         ],
-      q(Egyh) => [
-         q(0031),
-         q(0),
-         ],
-      q(Egyp) => [
-         q(0032),
-         q(0),
-         ],
-      q(Elba) => [
-         q(0033),
-         q(0),
-         ],
-      q(Ethi) => [
-         q(0034),
-         q(0),
-         ],
-      q(Geok) => [
-         q(0036),
-         q(0),
-         ],
-      q(Geor) => [
-         q(0035),
-         q(0),
-         ],
-      q(Glag) => [
-         q(0037),
-         q(0),
-         ],
-      q(Goth) => [
-         q(0038),
-         q(0),
-         ],
-      q(Gran) => [
-         q(0039),
-         q(0),
-         ],
-      q(Grek) => [
-         q(0040),
-         q(0),
-         ],
-      q(Gujr) => [
-         q(0041),
-         q(0),
-         ],
-      q(Guru) => [
-         q(0042),
-         q(0),
-         ],
-      q(Hang) => [
-         q(0043),
-         q(0),
-         ],
-      q(Hani) => [
-         q(0044),
-         q(0),
-         ],
-      q(Hano) => [
-         q(0045),
-         q(0),
-         ],
-      q(Hans) => [
-         q(0046),
-         q(0),
-         ],
-      q(Hant) => [
-         q(0047),
-         q(0),
-         ],
-      q(Hebr) => [
-         q(0048),
-         q(0),
-         ],
-      q(Hira) => [
-         q(0049),
-         q(0),
-         ],
-      q(Hmng) => [
-         q(0050),
-         q(0),
-         ],
-      q(Hrkt) => [
-         q(0051),
-         q(0),
-         ],
-      q(Hung) => [
-         q(0052),
-         q(0),
-         ],
-      q(Inds) => [
-         q(0053),
-         q(0),
-         ],
-      q(Ital) => [
-         q(0054),
-         q(0),
-         ],
-      q(Java) => [
-         q(0055),
-         q(0),
-         ],
-      q(Jpan) => [
-         q(0056),
-         q(0),
-         ],
-      q(Jurc) => [
-         q(0057),
-         q(0),
-         ],
-      q(Kali) => [
-         q(0058),
-         q(0),
-         ],
-      q(Kana) => [
-         q(0059),
-         q(0),
-         ],
-      q(Khar) => [
-         q(0060),
-         q(0),
-         ],
-      q(Khmr) => [
-         q(0061),
-         q(0),
-         ],
-      q(Knda) => [
-         q(0062),
-         q(0),
-         ],
-      q(Kore) => [
-         q(0063),
-         q(0),
-         ],
-      q(Kpel) => [
-         q(0064),
-         q(0),
-         ],
-      q(Kthi) => [
-         q(0065),
-         q(0),
-         ],
-      q(Lana) => [
-         q(0066),
-         q(0),
-         ],
-      q(Laoo) => [
-         q(0067),
-         q(0),
-         ],
-      q(Latf) => [
-         q(0068),
-         q(0),
-         ],
-      q(Latg) => [
-         q(0069),
-         q(0),
-         ],
-      q(Latn) => [
-         q(0070),
-         q(0),
-         ],
-      q(Lepc) => [
-         q(0071),
-         q(0),
-         ],
-      q(Limb) => [
-         q(0072),
-         q(0),
-         ],
-      q(Lina) => [
-         q(0073),
-         q(0),
-         ],
-      q(Linb) => [
-         q(0074),
-         q(0),
-         ],
-      q(Lisu) => [
-         q(0075),
-         q(0),
-         ],
-      q(Loma) => [
-         q(0076),
-         q(0),
-         ],
-      q(Lyci) => [
-         q(0077),
-         q(0),
-         ],
-      q(Lydi) => [
-         q(0078),
-         q(0),
-         ],
-      q(Mand) => [
-         q(0079),
-         q(0),
-         ],
-      q(Mani) => [
-         q(0080),
-         q(0),
-         ],
-      q(Maya) => [
-         q(0081),
-         q(0),
-         ],
-      q(Mend) => [
-         q(0082),
-         q(0),
-         ],
-      q(Merc) => [
-         q(0083),
-         q(0),
-         ],
-      q(Mero) => [
-         q(0084),
-         q(0),
-         ],
-      q(Mlym) => [
-         q(0085),
-         q(0),
-         ],
-      q(Mong) => [
-         q(0087),
-         q(0),
-         ],
-      q(Moon) => [
-         q(0086),
-         q(0),
-         ],
-      q(Mroo) => [
-         q(0088),
-         q(0),
-         ],
-      q(Mtei) => [
-         q(0089),
-         q(0),
-         ],
-      q(Mymr) => [
-         q(0090),
-         q(0),
-         ],
-      q(Narb) => [
-         q(0091),
-         q(0),
-         ],
-      q(Nbat) => [
-         q(0092),
-         q(0),
-         ],
-      q(Nkgb) => [
-         q(0093),
-         q(0),
-         ],
-      q(Nkoo) => [
-         q(0094),
-         q(0),
-         ],
-      q(Nshu) => [
-         q(0095),
-         q(0),
-         ],
-      q(Ogam) => [
-         q(0096),
-         q(0),
-         ],
-      q(Olck) => [
-         q(0097),
-         q(0),
-         ],
-      q(Orkh) => [
-         q(0098),
-         q(0),
-         ],
-      q(Orya) => [
-         q(0099),
-         q(0),
-         ],
-      q(Osma) => [
-         q(0100),
-         q(0),
-         ],
-      q(Palm) => [
-         q(0101),
-         q(0),
-         ],
-      q(Perm) => [
-         q(0102),
-         q(0),
-         ],
-      q(Phag) => [
-         q(0103),
-         q(0),
-         ],
-      q(Phli) => [
-         q(0104),
-         q(0),
-         ],
-      q(Phlp) => [
-         q(0105),
-         q(0),
-         ],
-      q(Phlv) => [
-         q(0106),
-         q(0),
-         ],
-      q(Phnx) => [
-         q(0107),
-         q(0),
-         ],
-      q(Plrd) => [
-         q(0108),
-         q(0),
-         ],
-      q(Prti) => [
-         q(0109),
-         q(0),
-         ],
-      q(Qaaa) => [
-         q(0110),
-         q(0),
-         ],
-      q(Qabx) => [
-         q(0111),
-         q(0),
-         ],
-      q(Rjng) => [
-         q(0112),
-         q(0),
-         ],
-      q(Roro) => [
-         q(0113),
-         q(0),
-         ],
-      q(Runr) => [
-         q(0114),
-         q(0),
-         ],
-      q(Samr) => [
-         q(0115),
-         q(0),
-         ],
-      q(Sara) => [
-         q(0116),
-         q(0),
-         ],
-      q(Sarb) => [
-         q(0117),
-         q(0),
-         ],
-      q(Saur) => [
-         q(0118),
-         q(0),
-         ],
-      q(Sgnw) => [
-         q(0119),
-         q(0),
-         ],
-      q(Shaw) => [
-         q(0120),
-         q(0),
-         ],
-      q(Shrd) => [
-         q(0121),
-         q(0),
-         ],
-      q(Sind) => [
-         q(0122),
-         q(0),
-         ],
-      q(Sinh) => [
-         q(0123),
-         q(0),
-         ],
-      q(Sora) => [
-         q(0124),
-         q(0),
-         ],
-      q(Sund) => [
-         q(0125),
-         q(0),
-         ],
-      q(Sylo) => [
-         q(0126),
-         q(0),
-         ],
-      q(Syrc) => [
-         q(0127),
-         q(0),
-         ],
-      q(Syre) => [
-         q(0128),
-         q(0),
-         ],
-      q(Syrj) => [
-         q(0129),
-         q(0),
-         ],
-      q(Syrn) => [
-         q(0130),
-         q(0),
-         ],
-      q(Tagb) => [
-         q(0131),
-         q(0),
-         ],
-      q(Takr) => [
-         q(0132),
-         q(0),
-         ],
-      q(Tale) => [
-         q(0133),
-         q(0),
-         ],
-      q(Talu) => [
-         q(0134),
-         q(0),
-         ],
-      q(Taml) => [
-         q(0135),
-         q(0),
-         ],
-      q(Tang) => [
-         q(0136),
-         q(0),
-         ],
-      q(Tavt) => [
-         q(0137),
-         q(0),
-         ],
-      q(Telu) => [
-         q(0138),
-         q(0),
-         ],
-      q(Teng) => [
-         q(0139),
-         q(0),
-         ],
-      q(Tfng) => [
-         q(0140),
-         q(0),
-         ],
-      q(Tglg) => [
-         q(0141),
-         q(0),
-         ],
-      q(Thaa) => [
-         q(0142),
-         q(0),
-         ],
-      q(Thai) => [
-         q(0143),
-         q(0),
-         ],
-      q(Tibt) => [
-         q(0144),
-         q(0),
-         ],
-      q(Ugar) => [
-         q(0145),
-         q(0),
-         ],
-      q(Vaii) => [
-         q(0146),
-         q(0),
-         ],
-      q(Visp) => [
-         q(0147),
-         q(0),
-         ],
-      q(Wara) => [
-         q(0148),
-         q(0),
-         ],
-      q(Wole) => [
-         q(0149),
-         q(0),
-         ],
-      q(Xpeo) => [
-         q(0150),
-         q(0),
-         ],
-      q(Xsux) => [
-         q(0151),
-         q(0),
-         ],
-      q(Yiii) => [
-         q(0152),
-         q(0),
-         ],
-      q(Zinh) => [
-         q(0153),
-         q(0),
-         ],
-      q(Zmth) => [
-         q(0154),
-         q(0),
-         ],
-      q(Zsym) => [
-         q(0155),
-         q(0),
-         ],
-      },
-   q(num) => {
-      q(020) => [
-         q(0151),
-         q(0),
-         ],
-      q(030) => [
-         q(0150),
-         q(0),
-         ],
-      q(040) => [
-         q(0145),
-         q(0),
-         ],
-      q(050) => [
-         q(0032),
-         q(0),
-         ],
-      q(060) => [
-         q(0031),
-         q(0),
-         ],
-      q(070) => [
-         q(0030),
-         q(0),
-         ],
-      q(090) => [
-         q(0081),
-         q(0),
-         ],
-      q(095) => [
-         q(0119),
-         q(0),
-         ],
-      q(100) => [
-         q(0084),
-         q(0),
-         ],
-      q(101) => [
-         q(0083),
-         q(0),
-         ],
-      q(105) => [
-         q(0117),
-         q(0),
-         ],
-      q(106) => [
-         q(0091),
-         q(0),
-         ],
-      q(115) => [
-         q(0107),
-         q(0),
-         ],
-      q(116) => [
-         q(0078),
-         q(0),
-         ],
-      q(120) => [
-         q(0140),
-         q(0),
-         ],
-      q(123) => [
-         q(0115),
-         q(0),
-         ],
-      q(124) => [
-         q(0003),
-         q(0),
-         ],
-      q(125) => [
-         q(0048),
-         q(0),
-         ],
-      q(126) => [
-         q(0101),
-         q(0),
-         ],
-      q(130) => [
-         q(0109),
-         q(0),
-         ],
-      q(131) => [
-         q(0104),
-         q(0),
-         ],
-      q(132) => [
-         q(0105),
-         q(0),
-         ],
-      q(133) => [
-         q(0106),
-         q(0),
-         ],
-      q(134) => [
-         q(0005),
-         q(0),
-         ],
-      q(135) => [
-         q(0127),
-         q(0),
-         ],
-      q(136) => [
-         q(0130),
-         q(0),
-         ],
-      q(137) => [
-         q(0129),
-         q(0),
-         ],
-      q(138) => [
-         q(0128),
-         q(0),
-         ],
-      q(139) => [
-         q(0080),
-         q(0),
-         ],
-      q(140) => [
-         q(0079),
-         q(0),
-         ],
-      q(145) => [
-         q(0087),
-         q(0),
-         ],
-      q(159) => [
-         q(0092),
-         q(0),
-         ],
-      q(160) => [
-         q(0002),
-         q(0),
-         ],
-      q(165) => [
-         q(0094),
-         q(0),
-         ],
-      q(170) => [
-         q(0142),
-         q(0),
-         ],
-      q(175) => [
-         q(0098),
-         q(0),
-         ],
-      q(176) => [
-         q(0052),
-         q(0),
-         ],
-      q(199) => [
-         q(0088),
-         q(0),
-         ],
-      q(200) => [
-         q(0040),
-         q(0),
-         ],
-      q(201) => [
-         q(0019),
-         q(0),
-         ],
-      q(202) => [
-         q(0077),
-         q(0),
-         ],
-      q(204) => [
-         q(0023),
-         q(0),
-         ],
-      q(206) => [
-         q(0038),
-         q(0),
-         ],
-      q(210) => [
-         q(0054),
-         q(0),
-         ],
-      q(211) => [
-         q(0114),
-         q(0),
-         ],
-      q(212) => [
-         q(0096),
-         q(0),
-         ],
-      q(215) => [
-         q(0070),
-         q(0),
-         ],
-      q(216) => [
-         q(0069),
-         q(0),
-         ],
-      q(217) => [
-         q(0068),
-         q(0),
-         ],
-      q(218) => [
-         q(0086),
-         q(0),
-         ],
-      q(220) => [
-         q(0025),
-         q(0),
-         ],
-      q(221) => [
-         q(0026),
-         q(0),
-         ],
-      q(225) => [
-         q(0037),
-         q(0),
-         ],
-      q(226) => [
-         q(0033),
-         q(0),
-         ],
-      q(227) => [
-         q(0102),
-         q(0),
-         ],
-      q(230) => [
-         q(0004),
-         q(0),
-         ],
-      q(240) => [
-         q(0035),
-         q(0),
-         ],
-      q(241) => [
-         q(0036),
-         q(0),
-         ],
-      q(250) => [
-         q(0028),
-         q(0),
-         ],
-      q(259) => [
-         q(0008),
-         q(0),
-         ],
-      q(260) => [
-         q(0100),
-         q(0),
-         ],
-      q(261) => [
-         q(0097),
-         q(0),
-         ],
-      q(262) => [
-         q(0148),
-         q(0),
-         ],
-      q(280) => [
-         q(0147),
-         q(0),
-         ],
-      q(281) => [
-         q(0120),
-         q(0),
-         ],
-      q(282) => [
-         q(0108),
-         q(0),
-         ],
-      q(285) => [
-         q(0012),
-         q(0),
-         ],
-      q(286) => [
-         q(0043),
-         q(0),
-         ],
-      q(287) => [
-         q(0063),
-         q(0),
-         ],
-      q(290) => [
-         q(0139),
-         q(0),
-         ],
-      q(291) => [
-         q(0022),
-         q(0),
-         ],
-      q(292) => [
-         q(0116),
-         q(0),
-         ],
-      q(300) => [
-         q(0013),
-         q(0),
-         ],
-      q(305) => [
-         q(0060),
-         q(0),
-         ],
-      q(310) => [
-         q(0042),
-         q(0),
-         ],
-      q(315) => [
-         q(0027),
-         q(0),
-         ],
-      q(316) => [
-         q(0126),
-         q(0),
-         ],
-      q(317) => [
-         q(0065),
-         q(0),
-         ],
-      q(318) => [
-         q(0122),
-         q(0),
-         ],
-      q(319) => [
-         q(0121),
-         q(0),
-         ],
-      q(320) => [
-         q(0041),
-         q(0),
-         ],
-      q(321) => [
-         q(0132),
-         q(0),
-         ],
-      q(325) => [
-         q(0010),
-         q(0),
-         ],
-      q(327) => [
-         q(0099),
-         q(0),
-         ],
-      q(330) => [
-         q(0144),
-         q(0),
-         ],
-      q(331) => [
-         q(0103),
-         q(0),
-         ],
-      q(335) => [
-         q(0071),
-         q(0),
-         ],
-      q(336) => [
-         q(0072),
-         q(0),
-         ],
-      q(337) => [
-         q(0089),
-         q(0),
-         ],
-      q(340) => [
-         q(0138),
-         q(0),
-         ],
-      q(343) => [
-         q(0039),
-         q(0),
-         ],
-      q(344) => [
-         q(0118),
-         q(0),
-         ],
-      q(345) => [
-         q(0062),
-         q(0),
-         ],
-      q(346) => [
-         q(0135),
-         q(0),
-         ],
-      q(347) => [
-         q(0085),
-         q(0),
-         ],
-      q(348) => [
-         q(0123),
-         q(0),
-         ],
-      q(349) => [
-         q(0017),
-         q(0),
-         ],
-      q(350) => [
-         q(0090),
-         q(0),
-         ],
-      q(351) => [
-         q(0066),
-         q(0),
-         ],
-      q(352) => [
-         q(0143),
-         q(0),
-         ],
-      q(353) => [
-         q(0133),
-         q(0),
-         ],
-      q(354) => [
-         q(0134),
-         q(0),
-         ],
-      q(355) => [
-         q(0061),
-         q(0),
-         ],
-      q(356) => [
-         q(0067),
-         q(0),
-         ],
-      q(357) => [
-         q(0058),
-         q(0),
-         ],
-      q(358) => [
-         q(0020),
-         q(0),
-         ],
-      q(359) => [
-         q(0137),
-         q(0),
-         ],
-      q(360) => [
-         q(0006),
-         q(0),
-         ],
-      q(361) => [
-         q(0055),
-         q(0),
-         ],
-      q(362) => [
-         q(0125),
-         q(0),
-         ],
-      q(363) => [
-         q(0112),
-         q(0),
-         ],
-      q(365) => [
-         q(0009),
-         q(0),
-         ],
-      q(367) => [
-         q(0015),
-         q(0),
-         ],
-      q(370) => [
-         q(0141),
-         q(0),
-         ],
-      q(371) => [
-         q(0045),
-         q(0),
-         ],
-      q(372) => [
-         q(0016),
-         q(0),
-         ],
-      q(373) => [
-         q(0131),
-         q(0),
-         ],
-      q(398) => [
-         q(0124),
-         q(0),
-         ],
-      q(399) => [
-         q(0075),
-         q(0),
-         ],
-      q(400) => [
-         q(0073),
-         q(0),
-         ],
-      q(401) => [
-         q(0074),
-         q(0),
-         ],
-      q(403) => [
-         q(0024),
-         q(0),
-         ],
-      q(410) => [
-         q(0049),
-         q(0),
-         ],
-      q(411) => [
-         q(0059),
-         q(0),
-         ],
-      q(412) => [
-         q(0051),
-         q(0),
-         ],
-      q(413) => [
-         q(0056),
-         q(0),
-         ],
-      q(420) => [
-         q(0093),
-         q(0),
-         ],
-      q(430) => [
-         q(0034),
-         q(0),
-         ],
-      q(435) => [
-         q(0007),
-         q(0),
-         ],
-      q(436) => [
-         q(0064),
-         q(0),
-         ],
-      q(437) => [
-         q(0076),
-         q(0),
-         ],
-      q(438) => [
-         q(0082),
-         q(0),
-         ],
-      q(439) => [
-         q(0001),
-         q(0),
-         ],
-      q(440) => [
-         q(0018),
-         q(0),
-         ],
-      q(445) => [
-         q(0021),
-         q(0),
-         ],
-      q(450) => [
-         q(0050),
-         q(0),
-         ],
-      q(460) => [
-         q(0152),
-         q(0),
-         ],
-      q(470) => [
-         q(0146),
-         q(0),
-         ],
-      q(480) => [
-         q(0149),
-         q(0),
-         ],
-      q(499) => [
-         q(0095),
-         q(0),
-         ],
-      q(500) => [
-         q(0044),
-         q(0),
-         ],
-      q(501) => [
-         q(0046),
-         q(0),
-         ],
-      q(502) => [
-         q(0047),
-         q(0),
-         ],
-      q(510) => [
-         q(0057),
-         q(0),
-         ],
-      q(520) => [
-         q(0136),
-         q(0),
-         ],
-      q(550) => [
-         q(0011),
-         q(0),
-         ],
-      q(570) => [
-         q(0014),
-         q(0),
-         ],
-      q(610) => [
-         q(0053),
-         q(0),
-         ],
-      q(620) => [
-         q(0113),
-         q(0),
-         ],
-      q(755) => [
-         q(0029),
-         q(0),
-         ],
-      q(900) => [
-         q(0110),
-         q(0),
-         ],
-      q(949) => [
-         q(0111),
-         q(0),
-         ],
-      q(994) => [
-         q(0153),
-         q(0),
-         ],
-      q(995) => [
-         q(0154),
-         q(0),
-         ],
-      q(996) => [
-         q(0155),
-         q(0),
-         ],
-      },
-};
-
-$Locale::Codes::Data{'script'}{'id2code'} = {
-   q(alpha) => {
-      q(0001) => q(Afak),
-      q(0002) => q(Arab),
-      q(0003) => q(Armi),
-      q(0004) => q(Armn),
-      q(0005) => q(Avst),
-      q(0006) => q(Bali),
-      q(0007) => q(Bamu),
-      q(0008) => q(Bass),
-      q(0009) => q(Batk),
-      q(0010) => q(Beng),
-      q(0011) => q(Blis),
-      q(0012) => q(Bopo),
-      q(0013) => q(Brah),
-      q(0014) => q(Brai),
-      q(0015) => q(Bugi),
-      q(0016) => q(Buhd),
-      q(0017) => q(Cakm),
-      q(0018) => q(Cans),
-      q(0019) => q(Cari),
-      q(0020) => q(Cham),
-      q(0021) => q(Cher),
-      q(0022) => q(Cirt),
-      q(0023) => q(Copt),
-      q(0024) => q(Cprt),
-      q(0025) => q(Cyrl),
-      q(0026) => q(Cyrs),
-      q(0027) => q(Deva),
-      q(0028) => q(Dsrt),
-      q(0029) => q(Dupl),
-      q(0030) => q(Egyd),
-      q(0031) => q(Egyh),
-      q(0032) => q(Egyp),
-      q(0033) => q(Elba),
-      q(0034) => q(Ethi),
-      q(0035) => q(Geor),
-      q(0036) => q(Geok),
-      q(0037) => q(Glag),
-      q(0038) => q(Goth),
-      q(0039) => q(Gran),
-      q(0040) => q(Grek),
-      q(0041) => q(Gujr),
-      q(0042) => q(Guru),
-      q(0043) => q(Hang),
-      q(0044) => q(Hani),
-      q(0045) => q(Hano),
-      q(0046) => q(Hans),
-      q(0047) => q(Hant),
-      q(0048) => q(Hebr),
-      q(0049) => q(Hira),
-      q(0050) => q(Hmng),
-      q(0051) => q(Hrkt),
-      q(0052) => q(Hung),
-      q(0053) => q(Inds),
-      q(0054) => q(Ital),
-      q(0055) => q(Java),
-      q(0056) => q(Jpan),
-      q(0057) => q(Jurc),
-      q(0058) => q(Kali),
-      q(0059) => q(Kana),
-      q(0060) => q(Khar),
-      q(0061) => q(Khmr),
-      q(0062) => q(Knda),
-      q(0063) => q(Kore),
-      q(0064) => q(Kpel),
-      q(0065) => q(Kthi),
-      q(0066) => q(Lana),
-      q(0067) => q(Laoo),
-      q(0068) => q(Latf),
-      q(0069) => q(Latg),
-      q(0070) => q(Latn),
-      q(0071) => q(Lepc),
-      q(0072) => q(Limb),
-      q(0073) => q(Lina),
-      q(0074) => q(Linb),
-      q(0075) => q(Lisu),
-      q(0076) => q(Loma),
-      q(0077) => q(Lyci),
-      q(0078) => q(Lydi),
-      q(0079) => q(Mand),
-      q(0080) => q(Mani),
-      q(0081) => q(Maya),
-      q(0082) => q(Mend),
-      q(0083) => q(Merc),
-      q(0084) => q(Mero),
-      q(0085) => q(Mlym),
-      q(0086) => q(Moon),
-      q(0087) => q(Mong),
-      q(0088) => q(Mroo),
-      q(0089) => q(Mtei),
-      q(0090) => q(Mymr),
-      q(0091) => q(Narb),
-      q(0092) => q(Nbat),
-      q(0093) => q(Nkgb),
-      q(0094) => q(Nkoo),
-      q(0095) => q(Nshu),
-      q(0096) => q(Ogam),
-      q(0097) => q(Olck),
-      q(0098) => q(Orkh),
-      q(0099) => q(Orya),
-      q(0100) => q(Osma),
-      q(0101) => q(Palm),
-      q(0102) => q(Perm),
-      q(0103) => q(Phag),
-      q(0104) => q(Phli),
-      q(0105) => q(Phlp),
-      q(0106) => q(Phlv),
-      q(0107) => q(Phnx),
-      q(0108) => q(Plrd),
-      q(0109) => q(Prti),
-      q(0110) => q(Qaaa),
-      q(0111) => q(Qabx),
-      q(0112) => q(Rjng),
-      q(0113) => q(Roro),
-      q(0114) => q(Runr),
-      q(0115) => q(Samr),
-      q(0116) => q(Sara),
-      q(0117) => q(Sarb),
-      q(0118) => q(Saur),
-      q(0119) => q(Sgnw),
-      q(0120) => q(Shaw),
-      q(0121) => q(Shrd),
-      q(0122) => q(Sind),
-      q(0123) => q(Sinh),
-      q(0124) => q(Sora),
-      q(0125) => q(Sund),
-      q(0126) => q(Sylo),
-      q(0127) => q(Syrc),
-      q(0128) => q(Syre),
-      q(0129) => q(Syrj),
-      q(0130) => q(Syrn),
-      q(0131) => q(Tagb),
-      q(0132) => q(Takr),
-      q(0133) => q(Tale),
-      q(0134) => q(Talu),
-      q(0135) => q(Taml),
-      q(0136) => q(Tang),
-      q(0137) => q(Tavt),
-      q(0138) => q(Telu),
-      q(0139) => q(Teng),
-      q(0140) => q(Tfng),
-      q(0141) => q(Tglg),
-      q(0142) => q(Thaa),
-      q(0143) => q(Thai),
-      q(0144) => q(Tibt),
-      q(0145) => q(Ugar),
-      q(0146) => q(Vaii),
-      q(0147) => q(Visp),
-      q(0148) => q(Wara),
-      q(0149) => q(Wole),
-      q(0150) => q(Xpeo),
-      q(0151) => q(Xsux),
-      q(0152) => q(Yiii),
-      q(0153) => q(Zinh),
-      q(0154) => q(Zmth),
-      q(0155) => q(Zsym),
-      },
-   q(num) => {
-      q(0001) => q(439),
-      q(0002) => q(160),
-      q(0003) => q(124),
-      q(0004) => q(230),
-      q(0005) => q(134),
-      q(0006) => q(360),
-      q(0007) => q(435),
-      q(0008) => q(259),
-      q(0009) => q(365),
-      q(0010) => q(325),
-      q(0011) => q(550),
-      q(0012) => q(285),
-      q(0013) => q(300),
-      q(0014) => q(570),
-      q(0015) => q(367),
-      q(0016) => q(372),
-      q(0017) => q(349),
-      q(0018) => q(440),
-      q(0019) => q(201),
-      q(0020) => q(358),
-      q(0021) => q(445),
-      q(0022) => q(291),
-      q(0023) => q(204),
-      q(0024) => q(403),
-      q(0025) => q(220),
-      q(0026) => q(221),
-      q(0027) => q(315),
-      q(0028) => q(250),
-      q(0029) => q(755),
-      q(0030) => q(070),
-      q(0031) => q(060),
-      q(0032) => q(050),
-      q(0033) => q(226),
-      q(0034) => q(430),
-      q(0035) => q(240),
-      q(0036) => q(241),
-      q(0037) => q(225),
-      q(0038) => q(206),
-      q(0039) => q(343),
-      q(0040) => q(200),
-      q(0041) => q(320),
-      q(0042) => q(310),
-      q(0043) => q(286),
-      q(0044) => q(500),
-      q(0045) => q(371),
-      q(0046) => q(501),
-      q(0047) => q(502),
-      q(0048) => q(125),
-      q(0049) => q(410),
-      q(0050) => q(450),
-      q(0051) => q(412),
-      q(0052) => q(176),
-      q(0053) => q(610),
-      q(0054) => q(210),
-      q(0055) => q(361),
-      q(0056) => q(413),
-      q(0057) => q(510),
-      q(0058) => q(357),
-      q(0059) => q(411),
-      q(0060) => q(305),
-      q(0061) => q(355),
-      q(0062) => q(345),
-      q(0063) => q(287),
-      q(0064) => q(436),
-      q(0065) => q(317),
-      q(0066) => q(351),
-      q(0067) => q(356),
-      q(0068) => q(217),
-      q(0069) => q(216),
-      q(0070) => q(215),
-      q(0071) => q(335),
-      q(0072) => q(336),
-      q(0073) => q(400),
-      q(0074) => q(401),
-      q(0075) => q(399),
-      q(0076) => q(437),
-      q(0077) => q(202),
-      q(0078) => q(116),
-      q(0079) => q(140),
-      q(0080) => q(139),
-      q(0081) => q(090),
-      q(0082) => q(438),
-      q(0083) => q(101),
-      q(0084) => q(100),
-      q(0085) => q(347),
-      q(0086) => q(218),
-      q(0087) => q(145),
-      q(0088) => q(199),
-      q(0089) => q(337),
-      q(0090) => q(350),
-      q(0091) => q(106),
-      q(0092) => q(159),
-      q(0093) => q(420),
-      q(0094) => q(165),
-      q(0095) => q(499),
-      q(0096) => q(212),
-      q(0097) => q(261),
-      q(0098) => q(175),
-      q(0099) => q(327),
-      q(0100) => q(260),
-      q(0101) => q(126),
-      q(0102) => q(227),
-      q(0103) => q(331),
-      q(0104) => q(131),
-      q(0105) => q(132),
-      q(0106) => q(133),
-      q(0107) => q(115),
-      q(0108) => q(282),
-      q(0109) => q(130),
-      q(0110) => q(900),
-      q(0111) => q(949),
-      q(0112) => q(363),
-      q(0113) => q(620),
-      q(0114) => q(211),
-      q(0115) => q(123),
-      q(0116) => q(292),
-      q(0117) => q(105),
-      q(0118) => q(344),
-      q(0119) => q(095),
-      q(0120) => q(281),
-      q(0121) => q(319),
-      q(0122) => q(318),
-      q(0123) => q(348),
-      q(0124) => q(398),
-      q(0125) => q(362),
-      q(0126) => q(316),
-      q(0127) => q(135),
-      q(0128) => q(138),
-      q(0129) => q(137),
-      q(0130) => q(136),
-      q(0131) => q(373),
-      q(0132) => q(321),
-      q(0133) => q(353),
-      q(0134) => q(354),
-      q(0135) => q(346),
-      q(0136) => q(520),
-      q(0137) => q(359),
-      q(0138) => q(340),
-      q(0139) => q(290),
-      q(0140) => q(120),
-      q(0141) => q(370),
-      q(0142) => q(170),
-      q(0143) => q(352),
-      q(0144) => q(330),
-      q(0145) => q(040),
-      q(0146) => q(470),
-      q(0147) => q(280),
-      q(0148) => q(262),
-      q(0149) => q(480),
-      q(0150) => q(030),
-      q(0151) => q(020),
-      q(0152) => q(460),
-      q(0153) => q(994),
-      q(0154) => q(995),
-      q(0155) => q(996),
-      },
-};
-
 1;
+# Local Variables:
+# mode: cperl
+# indent-tabs-mode: nil
+# cperl-indent-level: 3
+# cperl-continued-statement-offset: 2
+# cperl-continued-brace-offset: 0
+# cperl-brace-offset: 0
+# cperl-brace-imaginary-offset: 0
+# cperl-label-offset: -2
+# End:


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes/Script.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,16 @@
 package Locale::Codes;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2013 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
 use strict;
+require 5.006;
 use warnings;
-require 5.002;
 
 use Carp;
+use Locale::Codes::Constants;
 
 #=======================================================================
 #       Public Global Variables
@@ -18,7 +19,7 @@
 # This module is not called directly... %Data is filled in by the
 # calling modules.
 
-our($VERSION,%Data);
+our($VERSION,%Data,%Retired);
 
 # $Data{ TYPE }{ code2id   }{ CODESET } { CODE }  = [ ID, I ]
 #              { id2code   }{ CODESET } { ID }    = CODE
@@ -26,18 +27,72 @@
 #              { alias2id  }{ NAME }              = [ ID, I ]
 #              { id        }                      = FIRST_UNUSED_ID
 #              { codealias }{ CODESET } { ALIAS } = CODE
+#
+# $Retired{ TYPE }{ CODESET }{ code }{ CODE } = NAME
+#                            { name }{ NAME } = [CODE,NAME]  (the key is lowercase)
 
-$VERSION='3.16';
+$VERSION='3.25';
 
 #=======================================================================
 #
-# _code2name ( TYPE,CODE,CODESET )
+# _code ( TYPE,CODE,CODESET )
 #
 #=======================================================================
 
-sub _code2name {
+sub _code {
+   return 1  if (@_ > 3);
+
    my($type,$code,$codeset) = @_;
+   $code = ''  if (! $code);
 
+   # Determine the codeset
+
+   $codeset = $ALL_CODESETS{$type}{'default'}
+     if (! defined($codeset)  ||  $codeset eq '');
+   $codeset = lc($codeset);
+   return 1  if (! exists $ALL_CODESETS{$type}{'codesets'}{$codeset});
+   return (0,$code,$codeset)  if (! $code);
+
+   # Determine the properties of the codeset
+
+   my($op, at args) = @{ $ALL_CODESETS{$type}{'codesets'}{$codeset} };
+
+   if      ($op eq 'lc') {
+      $code = lc($code);
+
+   } elsif ($op eq 'uc') {
+      $code = uc($code);
+
+   } elsif ($op eq 'ucfirst') {
+      $code = ucfirst(lc($code));
+
+   } elsif ($op eq 'numeric') {
+      return (1)  unless ($code =~ /^\d+$/);
+      my $l = $args[0];
+      $code    = sprintf("%.${l}d", $code);
+   }
+
+   return (0,$code,$codeset);
+}
+
+#=======================================================================
+#
+# _code2name ( TYPE,CODE [,CODESET] [,'retired'] )
+#
+#=======================================================================
+
+sub _code2name {
+   my($type, at args)         = @_;
+   my $retired             = 0;
+   if (@args > 0  &&  $args[$#args]  &&  $args[$#args] eq 'retired') {
+      pop(@args);
+      $retired             = 1;
+   }
+
+   my($err,$code,$codeset) = _code($type, at args);
+   return undef  if ($err  ||
+                     ! defined $code);
+
    $code = $Data{$type}{'codealias'}{$codeset}{$code}
      if (exists $Data{$type}{'codealias'}{$codeset}{$code});
 
@@ -46,10 +101,11 @@
       my ($id,$i) = @{ $Data{$type}{'code2id'}{$codeset}{$code} };
       my $name    = $Data{$type}{'id2names'}{$id}[$i];
       return $name;
+
+   } elsif ($retired  &&  exists $Retired{$type}{$codeset}{'code'}{$code}) {
+      return $Retired{$type}{$codeset}{'code'}{$code};
+
    } else {
-      #---------------------------------------------------------------
-      # no such code!
-      #---------------------------------------------------------------
       return undef;
    }
 }
@@ -56,27 +112,36 @@
 
 #=======================================================================
 #
-# _name2code ( TYPE,NAME,CODESET )
+# _name2code ( TYPE,NAME [,CODESET] [,'retired'] )
 #
 #=======================================================================
 
 sub _name2code {
-   my($type,$name,$codeset) = @_;
-   $name = ""  if (! $name);
-   $name = lc($name);
+   my($type,$name, at args)   = @_;
+   return undef  if (! $name);
+   $name                   = lc($name);
 
+   my $retired             = 0;
+   if (@args > 0  &&  $args[$#args]  &&  $args[$#args] eq 'retired') {
+      pop(@args);
+      $retired             = 1;
+   }
+
+   my($err,$tmp,$codeset) = _code($type,'', at args);
+   return undef  if ($err);
+
    if (exists $Data{$type}{'alias2id'}{$name}) {
       my $id = $Data{$type}{'alias2id'}{$name}[0];
       if (exists $Data{$type}{'id2code'}{$codeset}{$id}) {
          return $Data{$type}{'id2code'}{$codeset}{$id};
       }
+
+   } elsif ($retired  &&  exists $Retired{$type}{$codeset}{'name'}{$name}) {
+      return $Retired{$type}{$codeset}{'name'}{$name}[0];
    }
 
-   #---------------------------------------------------------------
-   # no such name!
-   #---------------------------------------------------------------
    return undef;
-  }
+}
 
 #=======================================================================
 #
@@ -85,8 +150,16 @@
 #=======================================================================
 
 sub _code2code {
-   my($type,$code,$inset,$outset) = @_;
+   my($type, at args) = @_;
+   (@args == 3) or croak "${type}_code2code() takes 3 arguments!";
 
+   my($code,$inset,$outset) = @args;
+   my($err,$tmp);
+   ($err,$code,$inset) = _code($type,$code,$inset);
+   return undef  if ($err);
+   ($err,$tmp,$outset) = _code($type,'',$outset);
+   return undef  if ($err);
+
    my $name    = _code2name($type,$code,$inset);
    my $outcode = _name2code($type,$name,$outset);
    return $outcode;
@@ -94,31 +167,47 @@
 
 #=======================================================================
 #
-# _all_codes ( TYPE,CODESET )
+# _all_codes ( TYPE [,CODESET] [,'retired'] )
 #
 #=======================================================================
 
 sub _all_codes {
-   my($type,$codeset) = @_;
+   my($type, at args)         = @_;
+   my $retired             = 0;
+   if (@args > 0  &&  $args[$#args]  &&  $args[$#args] eq 'retired') {
+      pop(@args);
+      $retired             = 1;
+   }
 
+   my ($err,$tmp,$codeset) = _code($type,'', at args);
+   return ()  if ($err);
+
    if (! exists $Data{$type}{'code2id'}{$codeset}) {
       return ();
    }
    my @codes = keys %{ $Data{$type}{'code2id'}{$codeset} };
+   push(@codes,keys %{ $Retired{$type}{$codeset}{'code'} })  if ($retired);
    return (sort @codes);
 }
 
 #=======================================================================
 #
-# _all_names ( TYPE,CODESET )
+# _all_names ( TYPE [,CODESET] [,'retired'] )
 #
 #=======================================================================
 
 sub _all_names {
-   my($type,$codeset) = @_;
+   my($type, at args)         = @_;
+   my $retired             = 0;
+   if (@args > 0  &&  $args[$#args]  &&  $args[$#args] eq 'retired') {
+      pop(@args);
+      $retired             = 1;
+   }
 
+   my ($err,$tmp,$codeset) = _code($type,'', at args);
+   return ()  if ($err);
+
    my @codes = _all_codes($type,$codeset);
-   return ()  if (! @codes);
    my @names;
 
    foreach my $code (@codes) {
@@ -126,6 +215,12 @@
       my $name   = $Data{$type}{'id2names'}{$id}[$i];
       push(@names,$name);
    }
+   if ($retired) {
+      foreach my $lc (keys %{ $Retired{$type}{$codeset}{'name'} }) {
+         my $name = $Retired{$type}{$codeset}{'name'}{$lc}[1];
+         push @names,$name;
+      }
+   }
    return (sort @names);
 }
 
@@ -140,8 +235,15 @@
 #=======================================================================
 
 sub _rename {
-   my($type,$code,$new_name,$codeset,$nowarn) = @_;
+   my($type,$code,$new_name, at args) = @_;
 
+   my $nowarn   = 0;
+   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
+
+   my $codeset  = shift(@args);
+   my $err;
+   ($err,$code,$codeset) = _code($type,$code,$codeset);
+
    if (! $codeset) {
       carp "rename_$type(): unknown codeset\n"  unless ($nowarn);
       return 0;
@@ -209,8 +311,15 @@
 #=======================================================================
 
 sub _add_code {
-   my($type,$code,$name,$codeset,$nowarn) = @_;
+   my($type,$code,$name, at args) = @_;
 
+   my $nowarn   = 0;
+   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
+
+   my $codeset  = shift(@args);
+   my $err;
+   ($err,$code,$codeset) = _code($type,$code,$codeset);
+
    if (! $codeset) {
       carp "add_$type(): unknown codeset\n"  unless ($nowarn);
       return 0;
@@ -260,8 +369,15 @@
 #=======================================================================
 
 sub _delete_code {
-   my($type,$code,$codeset,$nowarn) = @_;
+   my($type,$code, at args) = @_;
 
+   my $nowarn   = 0;
+   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
+
+   my $codeset  = shift(@args);
+   my $err;
+   ($err,$code,$codeset) = _code($type,$code,$codeset);
+
    if (! $codeset) {
       carp "delete_$type(): unknown codeset\n"  unless ($nowarn);
       return 0;
@@ -317,6 +433,8 @@
 sub _add_alias {
    my($type,$name,$new_name,$nowarn) = @_;
 
+   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
+
    # Check that $name is used and $new_name is new.
 
    my($id);
@@ -356,6 +474,8 @@
 sub _delete_alias {
    my($type,$name,$nowarn) = @_;
 
+   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
+
    # Check that $name is used.
 
    my($id,$i);
@@ -366,7 +486,7 @@
       return 0;
    }
 
-   my $n = $#{ $Data{$type}{'id2names'}{$id} };
+   my $n = $#{ $Data{$type}{'id2names'}{$id} } + 1;
    if ($n == 1) {
       carp "delete_${type}_alias(): only one name defined (use _delete_${type} instead)\n"
         unless ($nowarn);
@@ -409,8 +529,17 @@
 #=======================================================================
 
 sub _rename_code {
-   my($type,$code,$new_code,$codeset,$nowarn) = @_;
+   my($type,$code,$new_code, at args) = @_;
 
+   my $nowarn   = 0;
+   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
+
+   my $codeset  = shift(@args);
+   my $err;
+   ($err,$code,$codeset)     = _code($type,$code,$codeset);
+   ($err,$new_code,$codeset) = _code($type,$new_code,$codeset)
+     if (! $err);
+
    if (! $codeset) {
       carp "rename_$type(): unknown codeset\n"  unless ($nowarn);
       return 0;
@@ -481,8 +610,17 @@
 #=======================================================================
 
 sub _add_code_alias {
-   my($type,$code,$new_code,$codeset,$nowarn) = @_;
+   my($type,$code,$new_code, at args) = @_;
 
+   my $nowarn   = 0;
+   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
+
+   my $codeset  = shift(@args);
+   my $err;
+   ($err,$code,$codeset)     = _code($type,$code,$codeset);
+   ($err,$new_code,$codeset) = _code($type,$new_code,$codeset)
+     if (! $err);
+
    if (! $codeset) {
       carp "add_${type}_code_alias(): unknown codeset\n"  unless ($nowarn);
       return 0;
@@ -521,8 +659,15 @@
 #=======================================================================
 
 sub _delete_code_alias {
-   my($type,$code,$codeset,$nowarn) = @_;
+   my($type,$code, at args) = @_;
 
+   my $nowarn   = 0;
+   $nowarn      = 1, pop(@args)  if (@args  &&  $args[$#args] eq "nowarn");
+
+   my $codeset  = shift(@args);
+   my $err;
+   ($err,$code,$codeset)     = Locale::Codes::_code($type,$code,$codeset);
+
    if (! $codeset) {
       carp "delete_${type}_code_alias(): unknown codeset\n"  unless ($nowarn);
       return 0;
@@ -542,79 +687,6 @@
    return 1;
 }
 
-#=======================================================================
-#
-# alias_code ( ALIAS => CODE [ , CODESET ] )
-#
-# Add an alias for an existing code. If the CODESET isn't specified,
-# then we use the default (currently the alpha-2 codeset).
-#
-#   Locale::Country::alias_code('uk' => 'gb');
-#
-#=======================================================================
-
-# sub alias_code {
-#    my $nowarn   = 0;
-#    $nowarn      = 1, pop  if ($_[$#_] eq "nowarn");
-#    my $alias    = shift;
-#    my $code     = shift;
-#    my $codeset  = @_ > 0 ? shift : LOCALE_CODE_DEFAULT;
-
-#    return 0  if ($codeset !~ /^\d+$/);
-
-#    if      ($codeset == LOCALE_CODE_ALPHA_2) {
-#       $codeset = "alpha2";
-#       $alias   = lc($alias);
-#    } elsif ($codeset == LOCALE_CODE_ALPHA_3) {
-#       $codeset = "alpha3";
-#       $alias   = lc($alias);
-#    } elsif ($codeset == LOCALE_CODE_FIPS) {
-#       $codeset = "fips";
-#       $alias   = uc($alias);
-#    } elsif ($codeset == LOCALE_CODE_NUMERIC) {
-#       $codeset = "num";
-#       return undef if ($alias =~ /\D/);
-#       $alias   = sprintf("%.3d", $alias);
-#    } else {
-#       carp "rename_country(): unknown codeset\n"  unless ($nowarn);
-#       return 0;
-#    }
-
-#    # Check that $code exists in the codeset.
-
-#    my ($id,$i);
-#    if (exists $Data{$type}{'code2id'}{$codeset}{$code}) {
-#       ($id,$i) = @{ $Data{$type}{'code2id'}{$codeset}{$code} };
-#    } else {
-#       carp "alias_code: attempt to alias \"$alias\" to unknown country code \"$code\"\n"
-#       unless ($nowarn);
-#       return 0;
-#    }
-
-#    # Cases:
-#    #   The alias already exists.
-#    #      Error
-#    #
-#    #   It's new
-#    #      Create a new entry in Code2CountryID
-#    #      Replace the entiry in CountryID2Code
-#    #      Regenerate %Codes
-
-#    if (exists $Data{$type}{'code2id'}{$codeset}{$alias}) {
-#       carp "alias_code: attempt to alias \"$alias\" which is already in use\n"
-#       unless ($nowarn);
-#       return 0;
-#    }
-
-#    $Data{$type}{'code2id'}{$codeset}{$alias} = [ $id, $i ];
-#    $Data{$type}{'id2names'}ID2Code{$codeset}{$id} = $alias;
-
-#    my @codes = keys %{ $Data{$type}{'code2id'}{$codeset} };
-#    $Locale::CountryCodes::Codes{$codeset} = [ sort @codes ];
-
-#    return $alias;
-# }
-
 1;
 # Local Variables:
 # mode: cperl


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 
 =head1 DESCRIPTION
 
-B<Locale::Codes> is a distribution containing a set of modules.  The
+B<Locale-Codes> is a distribution containing a set of modules.  The
 modules each deal with different types of codes which identify parts
 of the locale including languages, countries, currency, etc.
 
@@ -14,45 +14,100 @@
 
 =over 4
 
-=item B<Locale::Country>
+=item B<Locale::Codes::Country, Locale::Country>
 
 This includes support for country codes (such as those listed in ISO-3166)
 to specify the country.
 
-=item B<Locale::Language>
+Because this module was originally distributed as Locale::Country, it is
+also available under that name.
 
+=item B<Locale::Codes::Language, Locale::Language>
+
 This includes support for language codes (such as those listed in ISO-639)
 to specify the language.
 
-=item B<Locale::Currency>
+Because this module was originally distributed as Locale::Language, it is
+also available under that name.
 
+=item B<Locale::Codes::Currency, Locale::Currency>
+
 This includes support for currency codes (such as those listed in ISO-4217)
 to specify the currency.
 
-=item B<Locale::Script>
+Because this module was originally distributed as Locale::Currency, it is
+also available under that name.
 
+=item B<Locale::Codes::Script, Locale::Script>
+
 This includes support for script codes (such as those listed in ISO-15924)
 to specify the script.
 
+Because this module was originally distributed as Locale::Script, it is
+also available under that name.
+
+=item B<Locale::Codes::LangExt>
+
+This includes support for language extension codes (such as those listed
+in the IANA language registry) to specify the language extension.
+
+=item B<Locale::Codes::LangVar>
+
+This includes support for language variation codes (such as those listed
+in the IANA language registry) to specify the language variation.
+
+=item B<Locale::Codes::LangFam>
+
+This includes support for language family codes (such as those listed
+in ISO 639-5) to specify families of languages.
+
 =back
 
 Each module can support an arbitrary number of code sets, and it it
 not required that the relationship between these code sets be
-one-to-one.  For example, the Locale::Country module supports code
-sets from ISO-3166 and the FIPS 10 standard, and they do not break the
-world down into exactly the same sets of countries. This does not
-cause any problem (though converting codes from ISO-3166 to FIPS or
-back will not work except for countries that are one-to-one).
+one-to-one.  For example, the Locale::Codes::Country module supports
+code sets from ISO-3166 and the FIPS 10 standard, and they do not
+break the world down into exactly the same sets of countries. This
+does not cause any problem (though converting codes from ISO-3166 to
+FIPS or back will not work except for countries that are one-to-one).
 
 All data in all of these modules comes directly from the original
 standards (or as close to direct as possible), so it should be
 up-to-date at the time of release.
 
-I plan on releasing a new version a couple of times a year to
-incorporate any changes made in the standards. However, I don't always
-know about changes that occur, so if any of the standards change, and
-you want a new release sooner, just email me and I'll get one out.
+I plan on releasing a new version several times a year to incorporate
+any changes made in the standards. However, I don't always know about
+changes that occur, so if any of the standards change, and you want a
+new release sooner, just email me and I'll get one out.
 
+In addition to the modules above, there are a number of support modules included
+in the distribution including:
+
+=over 4
+
+=item B<Locale::Codes>
+
+=item B<Locale::Codes::Constants>
+
+=item B<Locale::Codes::Country_codes>
+
+=item B<Locale::Codes::Language_codes>
+
+=item B<Locale::Codes::Currency_codes>
+
+=item B<Locale::Codes::Script_codes>
+
+=item B<Locale::Codes::LangExt_codes>
+
+=item B<Locale::Codes::LangVar_codes>
+
+=item B<Locale::Codes::LangFam_codes>
+
+=back
+
+These modules are not intended to be used by programmers. They contain functions
+or data that are used by the modules listed above.
+
 =head1 NEW CODE SETS
 
 I'm always open to suggestions for new code sets.
@@ -76,11 +131,15 @@
 is not possible. For example the ISO standards are not typically
 available for free, so I may have to get some of that data from
 alternate sources that I'm confident are getting their data from the
-official source.
+official source.  However, I will always be hesitant to accept a
+non-official source.
 
-As an example, I get some country data from the CIA World
+As an example, I used to get some country data from the CIA World
 Factbook. Given the nature of the source, I'm sure they're updating
 data from the official sources and I consider it "nearly" official.
+However, even in this case, I found that they were adding codes that
+were not part of the standard, so I have stopped using them as a
+source.
 
 There are many 3rd party sites which maintain lists (many of which are
 actually in a more convenient form than the official sites).
@@ -139,376 +198,70 @@
 country (please don't request this... I've already added it).
 
 On the other hand, a request to add Zaire as an alias for "Congo, The
-Democratic Republic of" may not be honored. The country's official
-name is not Zaire, so adding it as an alias violates the standard.
+Democratic Republic of" will not be honored. The country's official
+name is no longer Zaire, so adding it as an alias violates the standard.
 Zaire was kept as an alias in versions prior to 3.00, but it has been
 removed. Other aliases (if any) which no longer appear in any standard
+(and which are not common variations of the name in the standards)
 have also been removed.
 
-=head1 ROUTINES
+=head1 DEPRECATED CODES
 
-As of 3.10, the interface for all of the modules listed above are
-identical (as a matter of fact, they are all just wrappers around a
-central module which does all the real work).
+Occasionally, a code is deprecated, but it may still be desirable to
+have access to it.
 
-In order to maintain the documentation for the modules consistently,
-the functions are all documented here, rather than in the documentation
-for the separate modules.
+Although there is no way to see every code that has ever existed and
+been deprecated (since most codesets do not have that information
+available), as of version 3.20, every code which has ever been included
+in these modules can be referenced.
 
-The name of the function depends on the module. For example, every module
-contains a function "code2XXX" where XXX refers to the type of data
-(country, language, currency, or script). So, the Locale::Country module
-contains the function code2country, the Locale::Language module contains
-the function code2language, etc.
+For more information, refer to the documentation on the code2XXX, XXX2code,
+all_XXX_codes, and all_XXX_names function in the B<Locale::Codes::API>
+documentation.
 
-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.
+=head1 SEE ALSO
 
-CODESET refers to a constant specified in the documentation for each
-module to label the various code sets. For example, in the
-Locale::Language module, CODESET could be LOCALE_CODE_ALPHA_2 or
-LOCALE_CODE_ALPHA_3 (among others). Most functions have a default one,
-so they do not need to be specified. So the following calls are valid:
-
-   code2country("fi");
-   code2country("fi",LOCALE_CODE_ALPHA_2);
-   code2country("fin",LOCALE_CODE_ALPHA_3);
-
-Since LOCALE_CODE_ALPHA_2 is the default code set, the first two are
-identical.
-
 =over 4
 
-=item B<code2country ( CODE [,CODESET] )>
+=item B<Locale::Codes::API>
 
-=item B<code2language( CODE [,CODESET] )>
+The list of functions available in each of the modules listed below.
+The APIs for each module are exactly identical.
 
-=item B<code2currency( CODE [,CODESET] )>
+=item B<Locale::Codes::Country>
 
-=item B<code2script  ( CODE [,CODESET] )>
+Codes for identification of countries.
 
-These functions take a code and returns a string which contains
-the name of the element identified.  If the code is not a valid
-code in the CODESET specified then C<undef> will be returned.
+=item B<Locale::Codes::Language>
 
-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.
+Codes for identification of languages.
 
-For example, the B<alpha-2> country code set defines the two-letter
-code "bo" to be "Bolivia, Plurinational State of", whereas the
-B<alpha-3> code set defines the code 'bol' to be the country "Bolivia
-(Plurinational State of)". So:
+=item B<Locale::Codes::Script>
 
-   code2country('bo',LOCALE_CODE_ALPHA_2);
-      => 'Bolivia, Plurinational State of'
+Codes for identification of scripts.
 
-   code2country('bol',LOCALE_CODE_ALPHA_3);
-      => 'Bolivia (Plurinational State of)'
+=item B<Locale::Codes::Currency>
 
-=item B<country2code ( NAME [,CODESET] )>
+Codes for identification of currencies and funds.
 
-=item B<language2code( NAME [,CODESET] )>
+=item B<Locale::Codes::LangExt>
 
-=item B<currency2code( NAME [,CODESET] )>
+Codes for identification of language extensions.
 
-=item B<script2code  ( NAME [,CODESET] )>
+=item B<Locale::Codes::LangVar>
 
-These functions takes the name of an element (or any of it's aliases)
-and returns the code that corresponds to it, if it exists. If NAME
-could not be identified as the name of one of the elements, then
-C<undef> will be returned.
+Codes for identification of language variations.
 
-The name is not case sensitive. Also, any known variation of a name
-may be passed in.
+=item B<Locale::Codes::LangFam>
 
-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:
+Codes for identification of language families.
 
-   country2code('Bolivia, Plurinational State of',
-                LOCALE_CODE_ALPHA_2);
-      => bo
+=item B<Locale::Codes::Changes>
 
-   country2code('Bolivia (Plurinational State of)',
-                LOCALE_CODE_ALPHA_2);
-      => bo
+A history of changes made to this distribution.
 
-   country2code('Bolivia',LOCALE_CODE_ALPHA_2);
-      => bo
-
-=item B<country_code2code ( CODE ,CODESET ,CODESET2 )>
-
-=item B<language_code2code( CODE ,CODESET ,CODESET2 )>
-
-=item B<currency_code2code( CODE ,CODESET ,CODESET2 )>
-
-=item B<script_code2code  ( CODE ,CODESET ,CODESET2 )>
-
-These functions takes a a code from one code set, and returns the
-corresponding code from another code set. CODE must exists in the code
-set specified by CODESET and must have a corresponding code in the
-code set specified by CODESET2 or C<undef> will be returned.
-
-Both CODESETs must be explicitly entered.
-
-   country_code2code('fin', LOCALE_CODE_ALPHA_3,
-                     LOCALE_CODE_ALPHA_2);
-      => 'fi'
-
-=item B<all_country_codes ( [CODESET] )>
-
-=item B<all_language_codes( [CODESET] )>
-
-=item B<all_currency_codes( [CODESET] )>
-
-=item B<all_script_codes  ( [CODESET] )>
-
-These returns a list of all code in the code set. The codes will be
-sorted.
-
-=item B<all_country_names ( [CODESET] )>
-
-=item B<all_language_names( [CODESET] )>
-
-=item B<all_currency_names( [CODESET] )>
-
-=item B<all_script_names  ( [CODESET] )>
-
-These return a list of all elements names for which there is a
-corresponding code in the specified code set.
-
-The names returned are exactly as they are specified in the standard,
-and are sorted.
-
-Since not all elements are listed in all code sets, the list of
-elements may differ depending on the code set specified.
-
 =back
 
-=head1 SEMI-PRIVATE ROUTINES
-
-Additional semi-private routines which may be used to modify the
-internal data are also available.  Given their status, they aren't
-exported, and so need to be called by prefixing the function name with
-the package name.
-
-=over 4
-
-=item B<Locale::Country::rename_country  ( CODE ,NEW_NAME [,CODESET] )>
-
-=item B<Locale::Language::rename_language( CODE ,NEW_NAME [,CODESET] )>
-
-=item B<Locale::Currency::rename_currency( CODE ,NEW_NAME [,CODESET] )>
-
-=item B<Locale::Script::rename_script    ( CODE ,NEW_NAME [,CODESET] )>
-
-These routines are used to change the official name of an element. At
-that point, the name returned by the code2XXX routine would be
-NEW_NAME instead of the name specified in the standard.
-
-The original name will remain as an alias.
-
-For example, the official country name for code 'gb' is 'United
-Kingdom'.  If you want to change that, you might call:
-
-   Locale::Country::rename_country('gb', 'Great Britain');
-
-This means that calling code2country('gb') will now return 'Great
-Britain' instead of 'United Kingdom'.
-
-If any error occurs, a warning is issued and 0 is returned. An error
-occurs if CODE doesn't exist in the specified code set, or if
-NEW_NAME is already in use but for a different element.
-
-If the routine succeeds, 1 is returned.
-
-=item B<Locale::Country::add_country  ( CODE ,NAME [,CODESET] )>
-
-=item B<Locale::Language::add_language( CODE ,NAME [,CODESET] )>
-
-=item B<Locale::Currency::add_currency( CODE ,NAME [,CODESET] )>
-
-=item B<Locale::Script::add_script    ( CODE ,NAME [,CODESET] )>
-
-These routines are used to add a new code and name to the data.
-
-Both CODE and NAME must be unused in the data set or an error
-occurs (though NAME may be used in a different data set).
-
-For example, to create the fictitious country named "Duchy of
-Grand Fenwick" with codes "gf" and "fen", use the following:
-
-   Locale::Country::add_country("fe","Duchy of Grand Fenwick",
-                                LOCALE_CODE_ALPHA_2);
-
-   Locale::Country::add_country("fen","Duchy of Grand Fenwick",
-                                LOCALE_CODE_ALPHA_3);
-
-The return value is 1 on success, 0 on an error.
-
-=item B<Locale::Country::delete_country  ( CODE [,CODESET] )>
-
-=item B<Locale::Language::delete_language( CODE [,CODESET] )>
-
-=item B<Locale::Currency::delete_currency( CODE [,CODESET] )>
-
-=item B<Locale::Script::delete_script    ( CODE [,CODESET] )>
-
-These routines are used to delete a code from the data.
-
-CODE must refer to an existing code in the code set.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<Locale::Country::add_country_alias  ( NAME ,NEW_NAME )>
-
-=item B<Locale::Language::add_language_alias( NAME ,NEW_NAME )>
-
-=item B<Locale::Currency::add_currency_alias( NAME ,NEW_NAME )>
-
-=item B<Locale::Script::add_script_alias    ( NAME ,NEW_NAME )>
-
-These routines are used to add a new alias to the data. They do
-not alter the return value of the code2XXX function.
-
-NAME must be an existing element name, and NEW_NAME must
-be unused or an error occurs.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<Locale::Country::delete_country_alias  ( NAME )>
-
-=item B<Locale::Language::delete_language_alias( NAME )>
-
-=item B<Locale::Currency::delete_currency_alias( NAME )>
-
-=item B<Locale::Script::delete_script_alias    ( NAME )>
-
-These routines are used to delete an alias from the data. Once
-removed, the element may not be referred to by NAME.
-
-NAME must be one of a list of at least two names that may be used to
-specify an element. If the element may only be referred to by a single
-name, you'll need to use the add_XXX_alias function to add a new alias
-first, or the remove_XXX function to remove the element entirely.
-
-If the alias is used as the name in any code set, one of the other
-names will be used instead. Predicting exactly which one will
-be used requires you to know the order in which the standards
-were read, which is not reliable, so you may want to use the
-rename_XXX function to force one of the alternate names to be
-used.
-
-The return value is 1 on success, 0 on an error.
-
-=item B<Locale::Country::rename_country_code  ( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Language::rename_language_code( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Currency::rename_currency_code( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Script::rename_script_code    ( CODE ,NEW_CODE [,CODESET] )>
-
-These routines are used to change the official code for an element. At
-that point, the code returned by the XXX2code routine would be
-NEW_CODE instead of the code specified in the standard.
-
-NEW_CODE may either be a code that is not in use, or it may be an
-alias for CODE (in which case, CODE becomes and alias and NEW_CODE
-becomes the "real" code).
-
-The original code is kept as an alias, so that the code2XXX routines
-will work with either the code from the standard or the new code.
-
-However, the all_XXX_codes routine will only return the codes which
-are considered "real" (which means that the list of codes will now
-contain NEW_CODE, but will not contain CODE).
-
-=item B<Locale::Country::add_country_code_alias  ( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Language::add_language_code_alias( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Currency::add_currency_code_alias( CODE ,NEW_CODE [,CODESET] )>
-
-=item B<Locale::Script::add_script_code_alias    ( CODE ,NEW_CODE [,CODESET] )>
-
-These routines add an alias for the code. At that point, NEW_CODE and CODE
-will both work in the code2XXX routines. However, the XXX2code routines will
-still return the original code.
-
-=item B<Locale::Country::delete_country_code_alias  ( CODE [,CODESET] )>
-
-=item B<Locale::Language::delete_language_code_alias( CODE [,CODESET] )>
-
-=item B<Locale::Currency::delete_currency_code_alias( CODE [,CODESET] )>
-
-=item B<Locale::Script::delete_script_code_alias    ( CODE [,CODESET] )>
-
-These routines delete an alias for the code.
-
-These will only work if CODE is actually an alias. If it is the "real"
-code, it will not be deleted. You will need to use the rename_XXX_code
-function to switch the real code with one of the aliases, and then
-delete the alias.
-
-=back
-
-=head1 KNOWN BUGS AND LIMITATIONS
-
-=over 4
-
-=item B<*>
-
-Because each code set uses a slightly different list of elements, and
-they are not necessarily one-to-one, there may be some confusion
-about the relationship between codes from different code sets.
-
-For example, ISO 3166 assigns one code to the country "United States
-Minor Outlying Islands", but the FIPS 10 codes give different codes
-to different islands (Baker Island, Howland Island, etc.).
-
-This may cause some confusion... I've done the best that I could do
-to minimize it.
-
-=item B<*>
-
-Currently all names must be all ASCII. I plan on relaxing that
-limitation in the future.
-
-=back
-
-=head1 SEE ALSO
-
-=over 4
-
-=item B<Locale::Constants>
-
-Constants for Locale codes.
-
-=item B<Locale::Country>
-
-Codes for identification of countries.
-
-=item B<Locale::Language>
-
-Codes for identification of languages.
-
-=item B<Locale::Script>
-
-Codes for identification of scripts.
-
-=item B<Locale::Currency>
-
-Codes for identification of currencies and funds.
-
-=back
-
 =head1 AUTHOR
 
 Locale::Country and Locale::Language were originally written by Neil
@@ -515,7 +268,8 @@
 Bowers at the Canon Research Centre Europe (CRE). They maintained the
 distribution from 1997 to 2001.
 
-Locale::Currency was originally written by Michael Hennecke.
+Locale::Currency was originally written by Michael Hennecke and was
+modified by Neil Bowers for inclusion in the distribution.
 
 From 2001 to 2004, maintenance was continued by Neil Bowers.  He
 modified Locale::Currency for inclusion in the distribution. He also
@@ -524,17 +278,20 @@
 From 2004-2009, the module was unmaintained.
 
 In 2010, maintenance was taken over by Sullivan Beck (sbeck at cpan.org)
-with Neil Bower's permission.
+with Neil Bower's permission.  All problems or comments should be
+sent there.  Alternately, problems can be reported using the
+perl problem tracker at:
 
+   https://rt.cpan.org/Dist/Display.html?Queue=Locale-Codes
+
 =head1 COPYRIGHT
 
    Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
    Copyright (c) 2001      Michael Hennecke (Locale::Currency)
    Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+   Copyright (c) 2010-2013 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
 
 =cut
-


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Codes.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Constants.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,302 +1,42 @@
 package Locale::Country;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2013 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
 use strict;
 use warnings;
-require 5.002;
+use Exporter;
 
-require Exporter;
-use Carp;
-use Locale::Codes;
-use Locale::Constants;
-use Locale::Codes::Country;
+our $VERSION;
+$VERSION='3.25';
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
+our (@ISA, at EXPORT);
 
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
+my $backend     = 'Locale::Codes::Country';
+my $backend_exp = $backend . "::EXPORT";
 
-$VERSION='3.16';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2country
-                country2code
-                all_country_codes
-                all_country_names
-                country_code2code
-                LOCALE_CODE_ALPHA_2
-                LOCALE_CODE_ALPHA_3
-                LOCALE_CODE_NUMERIC
-                LOCALE_CODE_FIPS
-                LOCALE_CODE_DOM
-               );
+eval "require $backend; $backend->import(); return 1;";
 
-sub _code {
-   my($code,$codeset) = @_;
-   $code = ""  if (! $code);
-
-   $codeset = LOCALE_CODE_DEFAULT  if (! defined($codeset)  ||  $codeset eq "");
-
-   if ($codeset =~ /^\d+$/) {
-      if      ($codeset ==  LOCALE_CODE_ALPHA_2) {
-         $codeset = "alpha2";
-      } elsif ($codeset ==  LOCALE_CODE_ALPHA_3) {
-         $codeset = "alpha3";
-      } elsif ($codeset ==  LOCALE_CODE_NUMERIC) {
-         $codeset = "num";
-      } elsif ($codeset ==  LOCALE_CODE_FIPS) {
-         $codeset = "fips";
-      } elsif ($codeset ==  LOCALE_CODE_DOM) {
-         $codeset = "dom";
-      } else {
-         return (1);
-      }
-   }
-
-   if      ($codeset eq "alpha2"  ||
-            $codeset eq "alpha3") {
-      $code    = lc($code);
-   } elsif ($codeset eq "num") {
-      if (defined($code)  &&  $code ne "") {
-         return (1)  unless ($code =~ /^\d+$/);
-         $code    = sprintf("%.3d", $code);
-      }
-   } elsif ($codeset eq "fips"  ||
-            $codeset eq "dom") {
-      $code    = uc($code);
-   } else {
-      return (1);
-   }
-
-   return (0,$code,$codeset);
+{
+   no strict 'refs';
+   @EXPORT = @{ $backend_exp };
 }
 
-#=======================================================================
-#
-# code2country ( CODE [,CODESET] )
-#
-#=======================================================================
+unshift (@ISA, $backend);
 
-sub code2country {
-   my($err,$code,$codeset) = _code(@_);
-   return undef  if ($err  ||
-                     ! defined $code);
+sub alias_code                { Locale::Codes::Country::alias_code(@_) }
 
-   return Locale::Codes::_code2name("country",$code,$codeset);
-}
+sub rename_country            { Locale::Codes::Country::rename_country(@_) }
+sub add_country               { Locale::Codes::Country::add_country(@_) }
+sub delete_country            { Locale::Codes::Country::delete_country(@_) }
+sub add_country_alias         { Locale::Codes::Country::add_country_alias(@_) }
+sub delete_country_alias      { Locale::Codes::Country::delete_country_alias(@_) }
+sub rename_country_code       { Locale::Codes::Country::rename_country_code(@_) }
+sub add_country_code_alias    { Locale::Codes::Country::add_country_code_alias(@_) }
+sub delete_country_code_alias { Locale::Codes::Country::delete_country_code_alias(@_) }
 
-#=======================================================================
-#
-# country2code ( COUNTRY [,CODESET] )
-#
-#=======================================================================
-
-sub country2code {
-   my($country,$codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err  ||
-                     ! defined $country);
-
-   return Locale::Codes::_name2code("country",$country,$codeset);
-}
-
-#=======================================================================
-#
-# country_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
-sub country_code2code {
-   (@_ == 3) or croak "country_code2code() takes 3 arguments!";
-   my($code,$inset,$outset) = @_;
-   my($err,$tmp);
-   ($err,$code,$inset) = _code($code,$inset);
-   return undef  if ($err);
-   ($err,$tmp,$outset) = _code("",$outset);
-   return undef  if ($err);
-
-   return Locale::Codes::_code2code("country",$code,$inset,$outset);
-}
-
-#=======================================================================
-#
-# all_country_codes ( [CODESET] )
-#
-#=======================================================================
-
-sub all_country_codes {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err);
-
-   return Locale::Codes::_all_codes("country",$codeset);
-}
-
-
-#=======================================================================
-#
-# all_country_names ( [CODESET] )
-#
-#=======================================================================
-
-sub all_country_names {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err);
-
-   return Locale::Codes::_all_names("country",$codeset);
-}
-
-#=======================================================================
-#
-# rename_country ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub rename_country {
-   my($code,$new_name, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_rename("country",$code,$new_name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_country ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub add_country {
-   my($code,$name, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_add_code("country",$code,$name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_country ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_country {
-   my($code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code("country",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_country_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
-sub add_country_alias {
-   my($name,$new_name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_add_alias("country",$name,$new_name,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_country_alias ( NAME )
-#
-#=======================================================================
-
-sub delete_country_alias {
-   my($name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_delete_alias("country",$name,$nowarn);
-}
-
-#=======================================================================
-#
-# rename_country_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub rename_country_code {
-   my($code,$new_code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_rename_code("country",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_country_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub add_country_code_alias {
-   my($code,$new_code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_add_code_alias("country",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_country_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_country_code_alias {
-   my($code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code_alias("country",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# Old function for backward compatibility
-#
-#=======================================================================
-
-sub alias_code {
-   my($alias,$code, at args) = @_;
-   my $success = rename_country_code($code,$alias, at args);
-   return 0  if (! $success);
-   return $alias;
-}
-
 1;
 # Local Variables:
 # mode: cperl


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,29 +31,33 @@
 =head1 SUPPORTED CODE SETS
 
 There are several different code sets you can use for identifying
-countries. The ones currently supported are:
+countries. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
 
+For example, the two are equivalent:
+
+   $country = code2country('jp','alpha-2');
+   $country = code2country('jp',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
+
 =over 4
 
-=item B<alpha-2>
+=item B<alpha-2, LOCALE_CODE_ALPHA_2>
 
 This is the set of two-letter (lowercase) codes from ISO 3166-1, such
 as 'tv' for Tuvalu.
 
-This code set is identified with the symbol C<LOCALE_CODE_ALPHA_2>.
-
 This is the default code set.
 
-=item B<alpha-3>
+=item B<alpha-3, LOCALE_CODE_ALPHA_3>
 
 This is the set of three-letter (lowercase) codes from ISO 3166-1,
 such as 'brb' for Barbados. These codes are actually defined and
 maintained by the U.N. Statistics division.
 
-This code set is identified with the symbol C<LOCALE_CODE_ALPHA_3>.
+=item B<numeric, LOCALE_CODE_NUMERIC>
 
-=item B<numeric>
-
 This is the set of three-digit numeric codes from ISO 3166-1, such as
 064 for Bhutan. These codes are actually defined and maintained by the
 U.N. Statistics division.
@@ -61,22 +65,17 @@
 If a 2-digit code is entered, it is converted to 3 digits by prepending
 a 0.
 
-This code set is identified with the symbol C<LOCALE_CODE_NUMERIC>.
+=item B<fips-10, LOCALE_CODE_FIPS>
 
-=item B<fips-10>
-
 The FIPS 10 data are two-letter (uppercase) codes assigned by the
 National Geospatial-Intelligence Agency.
 
-This code set is identified with the symbol C<LOCALE_CODE_FIPS>.
+=item B<dom, LOCALE_CODE_DOM>
 
-=item B<dom>
+The IANA is responsible for delegating management of the top level country
+domains.  The country domains are the two-letter (lowercase) codes from ISO 3166
+with a few other additions.
 
-The IANA is responsible for assigning two-letter (uppercase) top-level
-domain names to each country.
-
-This code set is identified with the symbol C<LOCALE_CODE_DOM>.
-
 =back
 
 =head1 ROUTINES
@@ -109,7 +108,7 @@
 
 =item B<Locale::Country::delete_country_code_alias  ( CODE [,CODESET] )>
 
-These routines are all documented in the Locale::Codes man page.
+These routines are all documented in the Locale::Codes::API man page.
 
 =item B<alias_code ( ALIAS, CODE [,CODESET] )>
 
@@ -127,8 +126,8 @@
 
 and the latter should be used for consistency.
 
-The alias_code function is deprecated (though there is no currently no
-plan to remove it).
+The alias_code function is deprecated and will be removed at some point
+in the future.
 
 B<Note:> this function was previously called _alias_code, but the
 leading underscore has been dropped. The old name was supported for
@@ -142,10 +141,12 @@
 
 =item B<Locale::Codes>
 
-=item B<Locale::Constants>
-
 The Locale-Codes distribution.
 
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
 =item B<Locale::SubCountry>
 
 ISO codes for country sub-divisions (states, counties, provinces,
@@ -162,6 +163,8 @@
 
 =item B<http://www.iso.org/iso/list-en1-semic-3.txt>
 
+=item B<http://www.iso.org/iso/home/standards/country_codes/iso-3166-1_decoding_table.htm>
+
 The source of ISO 3166-1 two-letter codes used by this
 module.
 
@@ -184,11 +187,9 @@
 
 =item B<https://www.cia.gov/library/publications/the-world-factbook/appendix/print_appendix-d.html>
 
-Although not the official source of any of the data, the World
-Factbook maintained by the CIA is a great source of the data,
-especially since I can't get the official data from the ISO. Since
-it's maintained by the CIA, and since it's updated every two weeks, I
-use this as the source for some missing data.
+The World Factbook maintained by the CIA is a potential source of
+the data.  Unfortunately, it adds/preserves non-standard codes, so it is no
+longer used as a source of data.
 
 =item B<http://www.statoids.com/wab.html>
 
@@ -208,7 +209,7 @@
 
    Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
    Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+   Copyright (c) 2010-2013 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Country.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,276 +1,40 @@
 package Locale::Currency;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2013 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
 use strict;
 use warnings;
-require 5.002;
+use Exporter;
 
-require Exporter;
-use Carp;
-use Locale::Codes;
-use Locale::Constants;
-use Locale::Codes::Currency;
+our $VERSION;
+$VERSION='3.25';
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
+our (@ISA, at EXPORT);
 
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
+my $backend     = 'Locale::Codes::Currency';
+my $backend_exp = $backend . "::EXPORT";
 
-$VERSION='3.16';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2currency
-                currency2code
-                all_currency_codes
-                all_currency_names
-                currency_code2code
-                LOCALE_CURR_ALPHA
-                LOCALE_CURR_NUMERIC
-               );
+eval "require $backend; $backend->import(); return 1;";
 
-sub _code {
-   my($code,$codeset) = @_;
-   $code = ""  if (! $code);
-
-   $codeset = LOCALE_CURR_DEFAULT  if (! defined($codeset)  ||  $codeset eq "");
-
-   if ($codeset =~ /^\d+$/) {
-      if      ($codeset ==  LOCALE_CURR_ALPHA) {
-         $codeset = "alpha";
-      } elsif ($codeset ==  LOCALE_CURR_NUMERIC) {
-         $codeset = "num";
-      } else {
-         return (1);
-      }
-   }
-
-   if      ($codeset eq "alpha") {
-      $code    = uc($code);
-   } elsif ($codeset eq "num") {
-      if (defined($code)  &&  $code ne "") {
-         return (1)  unless ($code =~ /^\d+$/);
-         $code    = sprintf("%.3d", $code);
-      }
-   } else {
-      return (1);
-   }
-
-   return (0,$code,$codeset);
+{
+   no strict 'refs';
+   @EXPORT = @{ $backend_exp };
 }
 
-#=======================================================================
-#
-# code2currency ( CODE [,CODESET] )
-#
-#=======================================================================
+unshift (@ISA, $backend);
 
-sub code2currency {
-   my($err,$code,$codeset) = _code(@_);
-   return undef  if ($err  ||
-                     ! defined $code);
+sub rename_currency            { Locale::Codes::Currency::rename_currency(@_) }
+sub add_currency               { Locale::Codes::Currency::add_currency(@_) }
+sub delete_currency            { Locale::Codes::Currency::delete_currency(@_) }
+sub add_currency_alias         { Locale::Codes::Currency::add_currency_alias(@_) }
+sub delete_currency_alias      { Locale::Codes::Currency::delete_currency_alias(@_) }
+sub rename_currency_code       { Locale::Codes::Currency::rename_currency_code(@_) }
+sub add_currency_code_alias    { Locale::Codes::Currency::add_currency_code_alias(@_) }
+sub delete_currency_code_alias { Locale::Codes::Currency::delete_currency_code_alias(@_) }
 
-   return Locale::Codes::_code2name("currency",$code,$codeset);
-}
-
-#=======================================================================
-#
-# currency2code ( CURRENCY [,CODESET] )
-#
-#=======================================================================
-
-sub currency2code {
-   my($currency,$codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err  ||
-                     ! defined $currency);
-
-   return Locale::Codes::_name2code("currency",$currency,$codeset);
-}
-
-#=======================================================================
-#
-# currency_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
-sub currency_code2code {
-   (@_ == 3) or croak "currency_code2code() takes 3 arguments!";
-   my($code,$inset,$outset) = @_;
-   my($err,$tmp);
-   ($err,$code,$inset) = _code($code,$inset);
-   return undef  if ($err);
-   ($err,$tmp,$outset) = _code("",$outset);
-   return undef  if ($err);
-
-   return Locale::Codes::_code2code("currency",$code,$inset,$outset);
-}
-
-#=======================================================================
-#
-# all_currency_codes ( [CODESET] )
-#
-#=======================================================================
-
-sub all_currency_codes {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err);
-
-   return Locale::Codes::_all_codes("currency",$codeset);
-}
-
-
-#=======================================================================
-#
-# all_currency_names ( [CODESET] )
-#
-#=======================================================================
-
-sub all_currency_names {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err);
-
-   return Locale::Codes::_all_names("currency",$codeset);
-}
-
-#=======================================================================
-#
-# rename_currency ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub rename_currency {
-   my($code,$new_name, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_rename("currency",$code,$new_name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_currency ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub add_currency {
-   my($code,$name, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_add_code("currency",$code,$name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_currency ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_currency {
-   my($code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code("currency",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_currency_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
-sub add_currency_alias {
-   my($name,$new_name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_add_alias("currency",$name,$new_name,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_currency_alias ( NAME )
-#
-#=======================================================================
-
-sub delete_currency_alias {
-   my($name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_delete_alias("currency",$name,$nowarn);
-}
-
-#=======================================================================
-#
-# rename_currency_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub rename_currency_code {
-   my($code,$new_code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_rename_code("currency",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_currency_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub add_currency_code_alias {
-   my($code,$new_code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_add_code_alias("currency",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_currency_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_currency_code_alias {
-   my($code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code_alias("currency",$code,$codeset,$nowarn);
-}
-
 1;
 # Local Variables:
 # mode: cperl


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,11 +27,19 @@
 =head1 SUPPORTED CODE SETS
 
 There are several different code sets you can use for identifying
-currencies. The ones currently supported are:
+currencies. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
 
+For example, the two are equivalent:
+
+   $curr = code2currency('usd','alpha');
+   $curr = code2currency('usd',LOCALE_CURR_ALPHA);
+
+The codesets currently supported are:
+
 =over 4
 
-=item B<alpha>
+=item B<alpha, LOCALE_CURR_ALPHA>
 
 This is a set of three-letter (uppercase) codes from ISO 4217 such
 as EUR for Euro.
@@ -40,16 +48,12 @@
 for testing purposes and XXX which is for transactions where no
 currency is involved) are omitted.
 
-This code set is identified with the symbol C<LOCALE_CURR_ALPHA>.
-
 This is the default code set.
 
-=item B<num>
+=item B<num, LOCALE_CURR_NUMERIC>
 
 This is the set of three-digit numeric codes from ISO 4217.
 
-This code set is identified with the symbol C<LOCALE_CURR_NUMERIC>.
-
 =back
 
 =head1 ROUTINES
@@ -82,7 +86,7 @@
 
 =item B<Locale::Currency::delete_currency_code_alias  ( CODE [,CODESET] )>
 
-These routines are all documented in the Locale::Codes man page.
+These routines are all documented in the Locale::Codes::API man page.
 
 =back
 
@@ -92,8 +96,12 @@
 
 =item B<Locale::Codes>
 
-=item B<Locale::Constants>
+The Locale-Codes distribution.
 
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
 =item B<http://www.iso.org/iso/support/currency_codes_list-1.htm>
 
 The ISO 4217 data.
@@ -111,7 +119,7 @@
    Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
    Copyright (c) 2001      Michael Hennecke
    Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+   Copyright (c) 2010-2013 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Currency.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,276 +1,40 @@
 package Locale::Language;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2013 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
 use strict;
 use warnings;
-require 5.002;
+use Exporter;
 
-require Exporter;
-use Carp;
-use Locale::Codes;
-use Locale::Constants;
-use Locale::Codes::Language;
+our $VERSION;
+$VERSION='3.25';
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
+our (@ISA, at EXPORT);
 
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
+my $backend     = 'Locale::Codes::Language';
+my $backend_exp = $backend . "::EXPORT";
 
-$VERSION='3.16';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2language
-                language2code
-                all_language_codes
-                all_language_names
-                language_code2code
-                LOCALE_LANG_ALPHA_2
-                LOCALE_LANG_ALPHA_3
-                LOCALE_LANG_TERM
-               );
+eval "require $backend; $backend->import(); return 1;";
 
-sub _code {
-   my($code,$codeset) = @_;
-   $code = ""  if (! $code);
-
-   $codeset = LOCALE_LANG_DEFAULT  if (! defined($codeset)  ||  $codeset eq "");
-
-   if ($codeset =~ /^\d+$/) {
-      if      ($codeset ==  LOCALE_LANG_ALPHA_2) {
-         $codeset = "alpha2";
-      } elsif ($codeset ==  LOCALE_LANG_ALPHA_3) {
-         $codeset = "alpha3";
-      } elsif ($codeset ==  LOCALE_LANG_TERM) {
-         $codeset = "term";
-      } else {
-         return (1);
-      }
-   }
-
-   if      ($codeset eq "alpha2"  ||
-            $codeset eq "alpha3"  ||
-            $codeset eq "term") {
-      $code    = lc($code);
-   } else {
-      return (1);
-   }
-
-   return (0,$code,$codeset);
+{
+   no strict 'refs';
+   @EXPORT = @{ $backend_exp };
 }
 
-#=======================================================================
-#
-# code2language ( CODE [,CODESET] )
-#
-#=======================================================================
+unshift (@ISA, $backend);
 
-sub code2language {
-   my($err,$code,$codeset) = _code(@_);
-   return undef  if ($err  ||
-                     ! defined $code);
+sub rename_language            { Locale::Codes::Language::rename_language(@_) }
+sub add_language               { Locale::Codes::Language::add_language(@_) }
+sub delete_language            { Locale::Codes::Language::delete_language(@_) }
+sub add_language_alias         { Locale::Codes::Language::add_language_alias(@_) }
+sub delete_language_alias      { Locale::Codes::Language::delete_language_alias(@_) }
+sub rename_language_code       { Locale::Codes::Language::rename_language_code(@_) }
+sub add_language_code_alias    { Locale::Codes::Language::add_language_code_alias(@_) }
+sub delete_language_code_alias { Locale::Codes::Language::delete_language_code_alias(@_) }
 
-   return Locale::Codes::_code2name("language",$code,$codeset);
-}
-
-#=======================================================================
-#
-# language2code ( LANGUAGE [,CODESET] )
-#
-#=======================================================================
-
-sub language2code {
-   my($language,$codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err  ||
-                     ! defined $language);
-
-   return Locale::Codes::_name2code("language",$language,$codeset);
-}
-
-#=======================================================================
-#
-# language_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
-sub language_code2code {
-   (@_ == 3) or croak "language_code2code() takes 3 arguments!";
-   my($code,$inset,$outset) = @_;
-   my($err,$tmp);
-   ($err,$code,$inset) = _code($code,$inset);
-   return undef  if ($err);
-   ($err,$tmp,$outset) = _code("",$outset);
-   return undef  if ($err);
-
-   return Locale::Codes::_code2code("language",$code,$inset,$outset);
-}
-
-#=======================================================================
-#
-# all_language_codes ( [CODESET] )
-#
-#=======================================================================
-
-sub all_language_codes {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err);
-
-   return Locale::Codes::_all_codes("language",$codeset);
-}
-
-
-#=======================================================================
-#
-# all_language_names ( [CODESET] )
-#
-#=======================================================================
-
-sub all_language_names {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err);
-
-   return Locale::Codes::_all_names("language",$codeset);
-}
-
-#=======================================================================
-#
-# rename_language ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub rename_language {
-   my($code,$new_name, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_rename("language",$code,$new_name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_language ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub add_language {
-   my($code,$name, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_add_code("language",$code,$name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_language ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_language {
-   my($code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code("language",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_language_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
-sub add_language_alias {
-   my($name,$new_name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_add_alias("language",$name,$new_name,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_language_alias ( NAME )
-#
-#=======================================================================
-
-sub delete_language_alias {
-   my($name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_delete_alias("language",$name,$nowarn);
-}
-
-#=======================================================================
-#
-# rename_language_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub rename_language_code {
-   my($code,$new_code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_rename_code("language",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_language_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub add_language_code_alias {
-   my($code,$new_code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_add_code_alias("language",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_language_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_language_code_alias {
-   my($code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code_alias("language",$code,$codeset,$nowarn);
-}
-
 1;
 # Local Variables:
 # mode: cperl


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,33 +26,37 @@
 =head1 SUPPORTED CODE SETS
 
 There are several different code sets you can use for identifying
-languages. The ones currently supported are:
+languages. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
 
+For example, the two are equivalent:
+
+   $lang = code2language('en','alpha-2');
+   $lang = code2language('en',LOCALE_CODE_ALPHA_2);
+
+The codesets currently supported are:
+
 =over 4
 
-=item B<alpha-2>
+=item B<alpha-2, LOCALE_LANG_ALPHA_2>
 
-This is the set of two-letter (lowercase) codes from ISO 639, such
-as 'he' for Hebrew.
+This is the set of two-letter (lowercase) codes from ISO 639-1, such
+as 'he' for Hebrew.  It also includes additions to this set included
+in the IANA language registry.
 
-This code set is identified with the symbol C<LOCALE_LANG_ALPHA_2>.
-
 This is the default code set.
 
-=item B<alpha-3>
+=item B<alpha-3, LOCALE_LANG_ALPHA_3>
 
 This is the set of three-letter (lowercase) bibliographic codes from
-ISO 639, such as 'heb' for Hebrew.
+ISO 639-2 and 639-5, such as 'heb' for Hebrew.  It also includes
+additions to this set included in the IANA language registry.
 
-This code set is identified with the symbol C<LOCALE_LANG_ALPHA_3>.
+=item B<term, LOCALE_LANG_TERM>
 
-=item B<term>
-
 This is the set of three-letter (lowercase) terminologic codes from
 ISO 639.
 
-This code set is identified with the symbol C<LOCALE_LANG_TERM>.
-
 =back
 
 =head1 ROUTINES
@@ -85,7 +89,7 @@
 
 =item B<Locale::Language::delete_language_code_alias  ( CODE [,CODESET] )>
 
-These routines are all documented in the Locale::Codes man page.
+These routines are all documented in the Locale::Codes::API man page.
 
 =back
 
@@ -95,12 +99,24 @@
 
 =item B<Locale::Codes>
 
-=item B<Locale::Constants>
+The Locale-Codes distribution.
 
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
 =item B<http://www.loc.gov/standards/iso639-2/>
 
-Source of the ISO 639 codes.
+Source of the ISO 639-2 codes.
 
+=item B<http://www.loc.gov/standards/iso639-5/>
+
+Source of the ISO 639-5 codes.
+
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
 =back
 
 =head1 AUTHOR
@@ -113,7 +129,7 @@
 
    Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
    Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+   Copyright (c) 2010-2013 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Language.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,276 +1,40 @@
 package Locale::Script;
 # Copyright (C) 2001      Canon Research Centre Europe (CRE).
 # Copyright (C) 2002-2009 Neil Bowers
-# Copyright (c) 2010-2011 Sullivan Beck
+# Copyright (c) 2010-2013 Sullivan Beck
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
 use strict;
 use warnings;
-require 5.002;
+use Exporter;
 
-require Exporter;
-use Carp;
-use Locale::Codes;
-use Locale::Constants;
-use Locale::Codes::Script;
+our $VERSION;
+$VERSION='3.25';
 
-#=======================================================================
-#       Public Global Variables
-#=======================================================================
+our (@ISA, at EXPORT);
 
-our($VERSION, at ISA, at EXPORT, at EXPORT_OK);
+my $backend     = 'Locale::Codes::Script';
+my $backend_exp = $backend . "::EXPORT";
 
-$VERSION='3.16';
- at ISA       = qw(Exporter);
- at EXPORT    = qw(code2script
-                script2code
-                all_script_codes
-                all_script_names
-                script_code2code
-                LOCALE_SCRIPT_ALPHA
-                LOCALE_SCRIPT_NUMERIC
-               );
+eval "require $backend; $backend->import(); return 1;";
 
-sub _code {
-   my($code,$codeset) = @_;
-   $code = ""  if (! $code);
-
-   $codeset = LOCALE_SCRIPT_DEFAULT  if (! defined($codeset)  ||  $codeset eq "");
-
-   if ($codeset =~ /^\d+$/) {
-      if      ($codeset ==  LOCALE_SCRIPT_ALPHA) {
-         $codeset = "alpha";
-      } elsif ($codeset ==  LOCALE_SCRIPT_NUMERIC) {
-         $codeset = "num";
-      } else {
-         return (1);
-      }
-   }
-
-   if      ($codeset eq "alpha") {
-      $code    = ucfirst(lc($code));
-   } elsif ($codeset eq "num") {
-      if (defined($code)  &&  $code ne "") {
-         return (1)  unless ($code =~ /^\d+$/);
-         $code    = sprintf("%.3d", $code);
-      }
-   } else {
-      return (1);
-   }
-
-   return (0,$code,$codeset);
+{
+   no strict 'refs';
+   @EXPORT = @{ $backend_exp };
 }
 
-#=======================================================================
-#
-# code2script ( CODE [,CODESET] )
-#
-#=======================================================================
+unshift (@ISA, $backend);
 
-sub code2script {
-   my($err,$code,$codeset) = _code(@_);
-   return undef  if ($err  ||
-                     ! defined $code);
+sub rename_script            { Locale::Codes::Script::rename_script(@_) }
+sub add_script               { Locale::Codes::Script::add_script(@_) }
+sub delete_script            { Locale::Codes::Script::delete_script(@_) }
+sub add_script_alias         { Locale::Codes::Script::add_script_alias(@_) }
+sub delete_script_alias      { Locale::Codes::Script::delete_script_alias(@_) }
+sub rename_script_code       { Locale::Codes::Script::rename_script_code(@_) }
+sub add_script_code_alias    { Locale::Codes::Script::add_script_code_alias(@_) }
+sub delete_script_code_alias { Locale::Codes::Script::delete_script_code_alias(@_) }
 
-   return Locale::Codes::_code2name("script",$code,$codeset);
-}
-
-#=======================================================================
-#
-# script2code ( SCRIPT [,CODESET] )
-#
-#=======================================================================
-
-sub script2code {
-   my($script,$codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err  ||
-                     ! defined $script);
-
-   return Locale::Codes::_name2code("script",$script,$codeset);
-}
-
-#=======================================================================
-#
-# script_code2code ( CODE,CODESET_IN,CODESET_OUT )
-#
-#=======================================================================
-
-sub script_code2code {
-   (@_ == 3) or croak "script_code2code() takes 3 arguments!";
-   my($code,$inset,$outset) = @_;
-   my($err,$tmp);
-   ($err,$code,$inset) = _code($code,$inset);
-   return undef  if ($err);
-   ($err,$tmp,$outset) = _code("",$outset);
-   return undef  if ($err);
-
-   return Locale::Codes::_code2code("script",$code,$inset,$outset);
-}
-
-#=======================================================================
-#
-# all_script_codes ( [CODESET] )
-#
-#=======================================================================
-
-sub all_script_codes {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err);
-
-   return Locale::Codes::_all_codes("script",$codeset);
-}
-
-
-#=======================================================================
-#
-# all_script_names ( [CODESET] )
-#
-#=======================================================================
-
-sub all_script_names {
-   my($codeset) = @_;
-   my($err,$tmp);
-   ($err,$tmp,$codeset) = _code("",$codeset);
-   return undef  if ($err);
-
-   return Locale::Codes::_all_names("script",$codeset);
-}
-
-#=======================================================================
-#
-# rename_script ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub rename_script {
-   my($code,$new_name, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_rename("script",$code,$new_name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_script ( CODE,NAME [,CODESET] )
-#
-#=======================================================================
-
-sub add_script {
-   my($code,$name, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_add_code("script",$code,$name,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_script ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_script {
-   my($code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset) = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code("script",$code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_script_alias ( NAME,NEW_NAME )
-#
-#=======================================================================
-
-sub add_script_alias {
-   my($name,$new_name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_add_alias("script",$name,$new_name,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_script_alias ( NAME )
-#
-#=======================================================================
-
-sub delete_script_alias {
-   my($name,$nowarn) = @_;
-   $nowarn   = (defined($nowarn)  &&  $nowarn eq "nowarn" ? 1 : 0);
-
-   return Locale::Codes::_delete_alias("script",$name,$nowarn);
-}
-
-#=======================================================================
-#
-# rename_script_code ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub rename_script_code {
-   my($code,$new_code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_rename_code("script",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# add_script_code_alias ( CODE,NEW_CODE [,CODESET] )
-#
-#=======================================================================
-
-sub add_script_code_alias {
-   my($code,$new_code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-   ($err,$new_code,$codeset) = _code($new_code,$codeset)  if (! $err);
-
-   return Locale::Codes::_add_code_alias("script",$code,$new_code,$codeset,$nowarn);
-}
-
-#=======================================================================
-#
-# delete_script_code_alias ( CODE [,CODESET] )
-#
-#=======================================================================
-
-sub delete_script_code_alias {
-   my($code, at args) = @_;
-   my $nowarn   = 0;
-   $nowarn      = 1, pop(@args)  if ($args[$#args] eq "nowarn");
-   my $codeset  = shift(@args);
-   my $err;
-   ($err,$code,$codeset)     = _code($code,$codeset);
-
-   return Locale::Codes::_delete_code_alias("script",$code,$codeset,$nowarn);
-}
-
 1;
 # Local Variables:
 # mode: cperl


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,28 +28,33 @@
 =head1 SUPPORTED CODE SETS
 
 There are several different code sets you can use for identifying
-scripts. The ones currently supported are:
+scripts. A code set may be specified using either a name, or a
+constant that is automatically exported by this module.
 
+For example, the two are equivalent:
+
+   $script = code2script('phnx','alpha');
+   $script = code2script('phnx',LOCALE_SCRIPT_ALPHA);
+
+The codesets currently supported are:
+
 =over 4
 
-=item B<alpha>
+=item B<alpha, LOCALE_SCRIPT_ALPHA>
 
 This is a set of four-letter (capitalized) codes from ISO 15924
-such as 'Phnx' for Phoenician.
+such as 'Phnx' for Phoenician.  It also includes additions to this
+set included in the IANA language registry.
 
-This code set is identified with the symbol C<LOCALE_SCRIPT_ALPHA>.
-
 The Zxxx, Zyyy, and Zzzz codes are not used.
 
 This is the default code set.
 
-=item B<numeric>
+=item B<num, LOCALE_SCRIPT_NUMERIC>
 
 This is a set of three-digit numeric codes from ISO 15924 such as 115
 for Phoenician.
 
-This code set is identified with the symbol C<LOCALE_SCRIPT_NUMERIC>.
-
 =back
 
 =head1 ROUTINES
@@ -82,7 +87,7 @@
 
 =item B<Locale::Script::delete_script_code_alias  ( CODE [,CODESET] )>
 
-These routines are all documented in the Locale::Codes man page.
+These routines are all documented in the Locale::Codes::API man page.
 
 =back
 
@@ -92,12 +97,20 @@
 
 =item B<Locale::Codes>
 
-=item B<Locale::Constants>
+The Locale-Codes distribution.
 
+=item B<Locale::Codes::API>
+
+The list of functions supported by this module.
+
 =item B<http://www.unicode.org/iso15924/>
 
 Home page for ISO 15924.
 
+=item B<http://www.iana.org/assignments/language-subtag-registry>
+
+The IANA language subtag registry.
+
 =back
 
 =head1 AUTHOR
@@ -110,7 +123,7 @@
 
    Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
    Copyright (c) 2001-2010 Neil Bowers
-   Copyright (c) 2010-2011 Sullivan Beck
+   Copyright (c) 2010-2013 Sullivan Beck
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Locale-Codes/lib/Locale/Script.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/alias_code.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/alias_code.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/alias_code.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Country;
+use Locale::Codes::Country;
 
 %type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
           "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,
@@ -30,7 +30,7 @@
       shift(@test);
       $test[2]  = $type{$test[2]}
         if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Country::alias_code(@test,"nowarn");
+      return Locale::Codes::Country::alias_code(@test,"nowarn");
 
    } elsif ($test[0] eq "country2code") {
       shift(@test);


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/alias_code.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/code2country.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/code2country.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/code2country.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Country;
+use Locale::Codes::Country;
 
 %type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
           "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,
@@ -125,6 +125,10 @@
 
 rou LOCALE_CODE_ALPHA_3 ~ Romania
 
+zr  ~ _undef_
+
+zr retired  ~ Zaire
+
 ";
 
 print "code2country...\n";


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/code2country.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/code2currency.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/code2currency.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/code2currency.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,10 +16,10 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Currency;
+use Locale::Codes::Currency;
 
-%type = ( "LOCALE_CODE_ALPHA"    => LOCALE_CODE_ALPHA,
-          "LOCALE_CODE_NUMERIC"  => LOCALE_CODE_NUMERIC,
+%type = ( "LOCALE_CURR_ALPHA"    => LOCALE_CURR_ALPHA,
+          "LOCALE_CURR_NUMERIC"  => LOCALE_CURR_NUMERIC,
         );
 
 sub test {
@@ -99,7 +99,7 @@
    ~
    Russian Ruble
 
-zmk
+zmw
    ~
    Zambian Kwacha
 


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/code2currency.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/code2language.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/code2language.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/code2language.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,11 +16,11 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Language;
+use Locale::Codes::Language;
 
-%type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
-          "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,
-          "LOCALE_CODE_TERM"    => LOCALE_CODE_TERM,
+%type = ( "LOCALE_LANG_ALPHA_2" => LOCALE_LANG_ALPHA_2,
+          "LOCALE_LANG_ALPHA_3" => LOCALE_LANG_ALPHA_3,
+          "LOCALE_LANG_TERM"    => LOCALE_LANG_TERM,
         );
 
 sub test {
@@ -40,8 +40,6 @@
 
 jp ~ _undef_
 
-sh ~ _undef_
-
 zz ~ _undef_
 
 ~ _undef_


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/code2language.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/code2script.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/code2script.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/code2script.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Script;
+use Locale::Codes::Script;
 
 %type = ( "LOCALE_SCRIPT_ALPHA"   => LOCALE_SCRIPT_ALPHA,
           "LOCALE_SCRIPT_NUMERIC" => LOCALE_SCRIPT_NUMERIC,


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/code2script.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/country.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/country.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/country.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Country;
+use Locale::Codes::Country;
 
 %type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
           "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,
@@ -31,45 +31,45 @@
       shift(@test);
       $test[2]  = $type{$test[2]}
         if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Country::rename_country(@test,"nowarn");
+      return Locale::Codes::Country::rename_country(@test,"nowarn");
 
    } elsif ($test[0] eq "add_country") {
       shift(@test);
       $test[2]  = $type{$test[2]}
         if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Country::add_country(@test,"nowarn");
+      return Locale::Codes::Country::add_country(@test,"nowarn");
 
    } elsif ($test[0] eq "delete_country") {
       shift(@test);
       $test[1]  = $type{$test[1]}
         if (@test == 2  &&  $test[1]  &&  exists $type{$test[1]});
-      return Locale::Country::delete_country(@test,"nowarn");
+      return Locale::Codes::Country::delete_country(@test,"nowarn");
 
    } elsif ($test[0] eq "add_country_alias") {
       shift(@test);
-      return Locale::Country::add_country_alias(@test,"nowarn");
+      return Locale::Codes::Country::add_country_alias(@test,"nowarn");
 
    } elsif ($test[0] eq "delete_country_alias") {
       shift(@test);
-      return Locale::Country::delete_country_alias(@test,"nowarn");
+      return Locale::Codes::Country::delete_country_alias(@test,"nowarn");
 
    } elsif ($test[0] eq "rename_country_code") {
       shift(@test);
       $test[2]  = $type{$test[2]}
         if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Country::rename_country_code(@test,"nowarn");
+      return Locale::Codes::Country::rename_country_code(@test,"nowarn");
 
    } elsif ($test[0] eq "add_country_code_alias") {
       shift(@test);
       $test[2]  = $type{$test[2]}
         if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Country::add_country_code_alias(@test,"nowarn");
+      return Locale::Codes::Country::add_country_code_alias(@test,"nowarn");
 
    } elsif ($test[0] eq "delete_country_code_alias") {
       shift(@test);
       $test[1]  = $type{$test[1]}
         if (@test == 2  &&  $test[1]  &&  exists $type{$test[1]});
-      return Locale::Country::delete_country_code_alias(@test,"nowarn");
+      return Locale::Codes::Country::delete_country_code_alias(@test,"nowarn");
 
    } elsif ($test[0] eq "country2code") {
       shift(@test);


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/country.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/country2code.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/country2code.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/country2code.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,11 +16,13 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Country;
+use Locale::Codes::Country;
 
 %type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
           "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,
           "LOCALE_CODE_NUMERIC" => LOCALE_CODE_NUMERIC,
+          "LOCALE_CODE_FIPS"    => LOCALE_CODE_FIPS,
+          "LOCALE_CODE_DOM"     => LOCALE_CODE_DOM,
         );
 
 sub test {
@@ -98,7 +100,7 @@
    ~
    ly
 
-Syria
+Syrian Arab Republic
    ~
    sy
 
@@ -150,6 +152,11 @@
    ~
    _undef_
 
+Zaire
+retired
+   ~
+   zr
+
 Congo, The Democratic Republic of the
    ~
    cd
@@ -164,6 +171,38 @@
    ~
    180
 
+Syria
+   ~
+   sy
+
+# Last codes in each set (we'll assume that if we got these, there's a good
+# possiblity that we got all the others).
+
+Zimbabwe
+LOCALE_CODE_ALPHA_2
+   ~
+   zw
+
+Zimbabwe
+LOCALE_CODE_ALPHA_3
+   ~
+   zwe
+
+Zimbabwe
+LOCALE_CODE_NUMERIC
+   ~
+   716
+
+Zimbabwe
+LOCALE_CODE_FIPS
+   ~
+   ZI
+
+Zimbabwe
+LOCALE_CODE_DOM
+   ~
+   zw
+
 ";
 
 print "country2code...\n";


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/country2code.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/country_code2code.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/country_code2code.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/country_code2code.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,8 +16,8 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Country;
-use Locale::Constants;
+use Locale::Codes::Country;
+use Locale::Codes::Constants;
 
 %type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
           "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/country_code2code.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/currency2code.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/currency2code.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/currency2code.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,10 +16,10 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Currency;
+use Locale::Codes::Currency;
 
-%type = ( "LOCALE_CODE_ALPHA"    => LOCALE_CODE_ALPHA,
-          "LOCALE_CODE_NUMERIC"  => LOCALE_CODE_NUMERIC,
+%type = ( "LOCALE_CURR_ALPHA"    => LOCALE_CURR_ALPHA,
+          "LOCALE_CURR_NUMERIC"  => LOCALE_CURR_NUMERIC,
         );
 
 sub test {


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/currency2code.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/language.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/language.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/language.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Language;
+use Locale::Codes::Language;
 
 %type = ( "LOCALE_LANG_ALPHA_2" => LOCALE_LANG_ALPHA_2,
           "LOCALE_LANG_ALPHA_3" => LOCALE_LANG_ALPHA_3,
@@ -30,27 +30,27 @@
       shift(@test);
       $test[2]  = $type{$test[2]}
         if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Language::rename_language(@test,"nowarn");
+      return Locale::Codes::Language::rename_language(@test,"nowarn");
 
    } elsif ($test[0] eq "add_language") {
       shift(@test);
       $test[2]  = $type{$test[2]}
         if (@test == 3  &&  $test[2]  &&  exists $type{$test[2]});
-      return Locale::Language::add_language(@test,"nowarn");
+      return Locale::Codes::Language::add_language(@test,"nowarn");
 
    } elsif ($test[0] eq "delete_language") {
       shift(@test);
       $test[1]  = $type{$test[1]}
         if (@test == 2  &&  $test[1]  &&  exists $type{$test[1]});
-      return Locale::Language::delete_language(@test,"nowarn");
+      return Locale::Codes::Language::delete_language(@test,"nowarn");
 
    } elsif ($test[0] eq "add_language_alias") {
       shift(@test);
-      return Locale::Language::add_language_alias(@test,"nowarn");
+      return Locale::Codes::Language::add_language_alias(@test,"nowarn");
 
    } elsif ($test[0] eq "delete_language_alias") {
       shift(@test);
-      return Locale::Language::delete_language_alias(@test,"nowarn");
+      return Locale::Codes::Language::delete_language_alias(@test,"nowarn");
 
    } elsif ($test[0] eq "language2code") {
       shift(@test);


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/language.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/language2code.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/language2code.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/language2code.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,11 +16,11 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Language;
+use Locale::Codes::Language;
 
-%type = ( "LOCALE_CODE_ALPHA_2" => LOCALE_CODE_ALPHA_2,
-          "LOCALE_CODE_ALPHA_3" => LOCALE_CODE_ALPHA_3,
-          "LOCALE_CODE_TERM"    => LOCALE_CODE_TERM,
+%type = ( "LOCALE_LANG_ALPHA_2" => LOCALE_LANG_ALPHA_2,
+          "LOCALE_LANG_ALPHA_3" => LOCALE_LANG_ALPHA_3,
+          "LOCALE_LANG_TERM"    => LOCALE_LANG_TERM,
         );
 
 sub test {
@@ -70,6 +70,33 @@
    ~
    ja
 
+# Last ones in the list
+
+Zulu
+LOCALE_LANG_ALPHA_2
+   ~
+   zu
+
+Zaza
+LOCALE_LANG_ALPHA_3
+   ~
+   zza
+
+Welsh
+LOCALE_LANG_TERM
+   ~
+   cym
+
+Zande languages
+LOCALE_LANG_ALPHA_3
+   ~
+   znd
+
+Zuojiang Zhuang
+LOCALE_LANG_ALPHA_3
+   ~
+   zzj
+
 ";
 
 print "language2code...\n";


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/language2code.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/script2code.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/script2code.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/script2code.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 }
 
 unshift(@INC,$dir);
-use Locale::Script;
+use Locale::Codes::Script;
 
 %type = ( "LOCALE_SCRIPT_ALPHA"     => LOCALE_SCRIPT_ALPHA,
           "LOCALE_SCRIPT_NUMERIC" => LOCALE_SCRIPT_NUMERIC,


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/script2code.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl
===================================================================
--- vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 #!/usr/bin/perl -w
-# Copyright (c) 1996-2011 Sullivan Beck. All rights reserved.
+# Copyright (c) 1996-2013 Sullivan Beck. All rights reserved.
 # This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 


Property changes on: vendor/perl/dist/cpan/Locale-Codes/t/testfunc.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/lib/Locale/Maketext/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/0-signature.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/0-signature.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/0-signature.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/0-signature.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/1-basic.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/1-basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/1-basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/1-basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/2-load_po_without_i_default.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/2-load_po_without_i_default.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/2-load_po_without_i_default.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/2-load_po_without_i_default.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/3-load_po_with_i_default.t
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/3-load_po_with_i_default.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/3-load_po_with_i_default.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/3-load_po_with_i_default.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/en.po
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/en.po	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/en.po	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/en.po
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/fr.po
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/fr.po	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/fr.po	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/fr.po
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/i_default.po
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/i_default.po	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/i_default.po	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_with_i_default/i_default.po
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/en.po
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/en.po	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/en.po	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/en.po
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/fr.po
===================================================================
--- vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/fr.po	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/fr.po	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Locale-Maketext-Simple/t/po_without_i_default/fr.po
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Config.pm
===================================================================
--- vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package Log::Message::Config;
+use if $] > 5.017, 'deprecate';
 use strict;
 
 use Params::Check qw[check];
@@ -8,7 +9,7 @@
 
 BEGIN {
     use vars        qw[$VERSION $AUTOLOAD];
-    $VERSION    =   0.04;
+    $VERSION    =   '0.06';
 }
 
 sub new {


Property changes on: vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Handlers.pm
===================================================================
--- vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Handlers.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Handlers.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,9 @@
 package Log::Message::Handlers;
+use if $] > 5.017, 'deprecate';
 use strict;
 use vars qw[$VERSION];
 
-$VERSION = '0.04';
+$VERSION = '0.06';
 
 =pod
 


Property changes on: vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Handlers.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Item.pm
===================================================================
--- vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Item.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Item.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package Log::Message::Item;
+use if $] > 5.017, 'deprecate';
 
 use strict;
 use vars qw[$VERSION];
@@ -11,7 +12,7 @@
 BEGIN {
     use vars qw[$AUTOLOAD $VERSION];
 
-    $VERSION    =   '0.04';
+    $VERSION    =   '0.06';
 }
 
 ### create a new item.


Property changes on: vendor/perl/dist/cpan/Log-Message/lib/Log/Message/Item.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message/lib/Log/Message.pm
===================================================================
--- vendor/perl/dist/cpan/Log-Message/lib/Log/Message.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message/lib/Log/Message.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 package Log::Message;
+use if $] > 5.017, 'deprecate';
 
 use strict;
 
@@ -11,9 +12,7 @@
 
 BEGIN {
     use vars        qw[$VERSION @ISA $STACK $CONFIG];
-
-    $VERSION    =   0.04;
-
+    $VERSION    =   '0.06';
     $STACK      =   [];
 }
 
@@ -89,7 +88,7 @@
 
 These are individual message items, which are objects that contain
 the user message as well as the meta-data described above.
-See the L<Log::Message::Item> manpage to see how to extract this 
+See the L<Log::Message::Item> manpage to see how to extract this
 meta-data and how to work with the Item objects.
 You should never need to create your own Item objects, but knowing
 about their methods and accessors is important if you want to write
@@ -179,8 +178,8 @@
 =item verbose
 
 Log::Message makes use of another module to validate its arguments,
-which is called L<Params::Check>, which is a lightweight, yet 
-powerful input checker and parser. (See the L<Params::Check> 
+which is called L<Params::Check>, which is a lightweight, yet
+powerful input checker and parser. (See the L<Params::Check>
 manpage for details).
 
 The verbose setting will control whether this module will
@@ -314,7 +313,7 @@
     };
 
     my $args = check( $tmpl, \%hash, $CONFIG->verbose ) or (
-        warn(loc(q[Could not create a new stack object: %1], 
+        warn(loc(q[Could not create a new stack object: %1],
                 Params::Check->last_error)
         ),
         return
@@ -399,9 +398,9 @@
         %hash = @_;
     }
 
-    my $args = check( $tmpl, \%hash ) or ( 
-        warn( loc(q[Could not store error: %1], Params::Check->last_error) ), 
-        return 
+    my $args = check( $tmpl, \%hash ) or (
+        warn( loc(q[Could not store error: %1], Params::Check->last_error) ),
+        return
     );
 
     my $extra = delete $args->{extra};
@@ -488,10 +487,10 @@
     }
 
     my $args = check( $tmpl, \%hash ) or (
-        warn( loc(q[Could not parse input: %1], Params::Check->last_error) ), 
-        return 
+        warn( loc(q[Could not parse input: %1], Params::Check->last_error) ),
+        return
     );
-    
+
     my @list =
             grep { $_->tag      =~ /$args->{tag}/       ? 1 : 0 }
             grep { $_->level    =~ /$args->{level}/     ? 1 : 0 }
@@ -561,7 +560,7 @@
 
 sub flush {
     my $self = shift;
-    
+
     return splice @{$self->{STACK}};
 }
 


Property changes on: vendor/perl/dist/cpan/Log-Message/lib/Log/Message.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message/t/01_Log-Message-Config.t
===================================================================
--- vendor/perl/dist/cpan/Log-Message/t/01_Log-Message-Config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message/t/01_Log-Message-Config.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 ### Log::Message::Config test suite ###
-BEGIN { 
+BEGIN {
     if( $ENV{PERL_CORE} ) {
         chdir '../lib/Log/Message' if -d '../lib/Log/Message';
         unshift @INC, '../../..';
     }
-} 
+}
 
 BEGIN { chdir 't' if -d 't' }
 
@@ -81,4 +81,4 @@
                 );
     is_deeply( $mixed, $log->{CONFIG}, q[Config creation from file & options] );
 }
-           
+


Property changes on: vendor/perl/dist/cpan/Log-Message/t/01_Log-Message-Config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message/t/02_Log-Message.t
===================================================================
--- vendor/perl/dist/cpan/Log-Message/t/02_Log-Message.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message/t/02_Log-Message.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 ### Log::Message test suite ###
-BEGIN { 
+BEGIN {
     if( $ENV{PERL_CORE} ) {
         chdir '../lib/Log/Message' if -d '../lib/Log/Message';
         unshift @INC, '../../..';
     }
-} 
+}
 
 BEGIN { chdir 't' if -d 't' }
 
@@ -18,7 +18,7 @@
                   Log::Message::Item    Log::Message::Handlers]
 ) {
     use_ok( $pkg ) or diag "'$pkg' not found. Dying";
-}    
+}
 
 ### test global stack
 {
@@ -69,11 +69,11 @@
     );
 
     {
-        ok( $log->retrieve( message => qr/baz/ ),   
+        ok( $log->retrieve( message => qr/baz/ ),
                                         q[  Retrieving based on message] );
-        ok( $log->retrieve( tag     => qr/TAG/ ),   
+        ok( $log->retrieve( tag     => qr/TAG/ ),
                                         q[  Retrieving based on tag] );
-        ok( $log->retrieve( level   => qr/test/ ),  
+        ok( $log->retrieve( level   => qr/test/ ),
                                         q[  Retrieving based on level] );
     }
 
@@ -95,7 +95,7 @@
         like(   $item->shortmess, qr/\w+/,
                 q[  Item shortmess stored properly]
         );
-        
+
         ok(     $item->longmess,        q[Item longmess stored] );
         like(   $item->longmess, qr/Log::Message::store/s,
                 q[  Item longmess stored properly]
@@ -118,7 +118,7 @@
 
     {
         ok( $item->remove,          q[Removing item from stack] );
-        ok( (!grep{ $item eq $_ } $log->retrieve), 
+        ok( (!grep{ $item eq $_ } $log->retrieve),
                                     q[  Item removed from stack] );
     }
 
@@ -127,36 +127,36 @@
         ok( @{$log->{STACK}} == 0,  q[Flushing stack] );
     }
 }
-    
-### test errors 
+
+### test errors
 {   my $log = Log::Message->new( private => 1 );
 
-    
+
     ### store errors
     {   ### dont make it print
         my $warnings;
         local $SIG{__WARN__} = sub { $warnings .= "@_" };
-    
+
         my $rv  = $log->store();
         ok( !$rv,                       q[Logging empty message failed] );
         like( $warnings, qr/message/,   q[  Spotted the error] );
     }
-    
+
     ### retrieve errors
     {   ### dont make it print
         my $warnings;
         local $SIG{__WARN__} = sub { $warnings .= "@_" };
-    
+
         ### XXX whitebox test!
         local $Params::Check::VERBOSE = 1; # so the warnings are emitted
         local $Params::Check::VERBOSE = 1; # so the warnings are emitted
-    
+
         my $rv  = $log->retrieve( frobnitz => $$ );
         ok( !$rv,                       q[Retrieval with bogus args] );
-        like( $warnings, qr/not a valid key/,   
+        like( $warnings, qr/not a valid key/,
                                         qq[  Spotted the error] );
     }
-}    
+}
 
 
 


Property changes on: vendor/perl/dist/cpan/Log-Message/t/02_Log-Message.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Log-Message/t/conf/LoadMe.pl
===================================================================
--- vendor/perl/dist/cpan/Log-Message/t/conf/LoadMe.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message/t/conf/LoadMe.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Log-Message/t/conf/LoadMe.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message/t/conf/config_file
===================================================================
--- vendor/perl/dist/cpan/Log-Message/t/conf/config_file	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message/t/conf/config_file	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,4 +27,4 @@
 
     # retrieve errors in chronological order, or not?
     # if none provided, set to '1'
-    chrono = 0
+    chrono = 0
\ No newline at end of file


Property changes on: vendor/perl/dist/cpan/Log-Message/t/conf/config_file
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message-Simple/lib/Log/Message/Simple.pm
===================================================================
--- vendor/perl/dist/cpan/Log-Message-Simple/lib/Log/Message/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message-Simple/lib/Log/Message/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,15 @@
 package Log::Message::Simple;
+use if $] > 5.017, 'deprecate';
 
 use strict;
 use Log::Message private => 0;;
 
-BEGIN { 
-    use vars qw[$VERSION]; 
-    $VERSION = 0.08;
+BEGIN {
+    use vars qw[$VERSION];
+    $VERSION = '0.10';
 }
-        
 
+
 =pod
 
 =head1 NAME
@@ -45,7 +46,7 @@
     local $Log::Message::Simple::MSG_FH     = \*STDERR;
     local $Log::Message::Simple::ERROR_FH   = \*STDERR;
     local $Log::Message::Simple::DEBUG_FH   = \*STDERR;
-    
+
     ### force a stacktrace on error
     local $Log::Message::Simple::STACKTRACE_ON_ERROR = 1
 
@@ -68,7 +69,7 @@
 =head2 debug("message string" [,VERBOSE])
 
 Records a debug message on the stack, and prints it to C<STDOUT> (or
-actually C<$DEBUG_FH>, see the C<GLOBAL VARIABLES> section below), 
+actually C<$DEBUG_FH>, see the C<GLOBAL VARIABLES> section below),
 if the C<VERBOSE> option is true.
 The C<VERBOSE> option defaults to false.
 
@@ -83,10 +84,10 @@
 
 Exported by default, or using the C<:STD> tag.
 
-=cut 
+=cut
 
 {   package Log::Message::Handlers;
-    
+
     sub msg {
         my $self    = shift;
         my $verbose = shift || 0;
@@ -127,8 +128,8 @@
 
         my $msg     = '['. $self->tag . '] ' . $self->message;
 
-        print $Log::Message::Simple::STACKTRACE_ON_ERROR 
-                    ? Carp::shortmess($msg) 
+        print $Log::Message::Simple::STACKTRACE_ON_ERROR
+                    ? Carp::shortmess($msg)
                     : $msg . "\n";
 
         select $old_fh;
@@ -197,23 +198,23 @@
     @ISA            = 'Exporter';
     @EXPORT         = qw[error msg debug];
     @EXPORT_OK      = qw[carp cluck croak confess];
-    
+
     %EXPORT_TAGS    = (
         STD     => \@EXPORT,
         CARP    => \@EXPORT_OK,
         ALL     => [ @EXPORT, @EXPORT_OK ],
-    );        
+    );
 
     my $log         = new Log::Message;
 
     for my $func ( @EXPORT, @EXPORT_OK ) {
         no strict 'refs';
-        
+
                         ### up the carplevel for the carp emulation
                         ### functions
         *$func = sub {  local $Carp::CarpLevel += 2
                             if grep { $_ eq $func } @EXPORT_OK;
-                            
+
                         my $msg     = shift;
                         $log->store(
                                 message => $msg,
@@ -265,7 +266,7 @@
 
 =item $STACKTRACE_ON_ERROR
 
-If this option is set to C<true>, every call to C<error()> will 
+If this option is set to C<true>, every call to C<error()> will
 generate a stacktrace using C<Carp::shortmess()>.
 Defaults to C<false>
 
@@ -280,7 +281,7 @@
     $ERROR_FH               = \*STDERR;
     $MSG_FH                 = \*STDOUT;
     $DEBUG_FH               = \*STDOUT;
-    
+
     $STACKTRACE_ON_ERROR    = 0;
 }
 


Property changes on: vendor/perl/dist/cpan/Log-Message-Simple/lib/Log/Message/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Log-Message-Simple/t/01_use.t
===================================================================
--- vendor/perl/dist/cpan/Log-Message-Simple/t/01_use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message-Simple/t/01_use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Log-Message-Simple/t/01_use.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message-Simple/t/02_imports.t
===================================================================
--- vendor/perl/dist/cpan/Log-Message-Simple/t/02_imports.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message-Simple/t/02_imports.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,16 +9,16 @@
 
 ### test empty import
 {   package Test::A;
-    
 
+
     eval "use $Class ()";
     Test::More::ok( !$@,        "using $Class with no import" );
-    
+
     for my $func ( @Carp, @Msg ) {
         Test::More::ok( !__PACKAGE__->can( $func ),
                                 "   $func not imported" );
     }
-}    
+}
 
 ### test :STD import
 {   package Test::B;
@@ -25,17 +25,17 @@
 
     eval "use $Class ':STD'";
     Test::More::ok( !$@,        "using $Class with :STD  import" );
-    
+
     for my $func ( @Carp ) {
         Test::More::ok( !__PACKAGE__->can( $func ),
                                 "   $func not imported" );
     }
-    
+
     for my $func ( @Msg ) {
         Test::More::ok( __PACKAGE__->can( $func ),
                                 "   $func imported" );
-    }                                
-}    
+    }
+}
 
 ### test :CARP import
 {   package Test::C;
@@ -42,17 +42,17 @@
 
     eval "use $Class ':CARP'";
     Test::More::ok( !$@,        "using $Class with :CARP  import" );
-    
+
     for my $func ( @Msg ) {
         Test::More::ok( !__PACKAGE__->can( $func ),
                                 "   $func not imported" );
     }
-    
+
     for my $func ( @Carp ) {
         Test::More::ok( __PACKAGE__->can( $func ),
                                 "   $func imported" );
-    }                                
-}    
+    }
+}
 
 ### test all import
 
@@ -60,9 +60,9 @@
 
     eval "use $Class ':ALL'";
     Test::More::ok( !$@,        "using $Class with :ALL  import" );
-    
+
     for my $func ( @Carp, @Msg ) {
         Test::More::ok( __PACKAGE__->can( $func ),
                                 "   $func imported" );
-    }                                
-}    
+    }
+}


Property changes on: vendor/perl/dist/cpan/Log-Message-Simple/t/02_imports.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Log-Message-Simple/t/03_functions.t
===================================================================
--- vendor/perl/dist/cpan/Log-Message-Simple/t/03_functions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Log-Message-Simple/t/03_functions.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
     ### & friends will print there
     for my $name (@Carp, @Msg) {
         no strict 'refs';
-        *$name = sub {  
+        *$name = sub {
                     local $^W;
 
                     ### do the block twice to avoid 'used only once'
@@ -36,17 +36,17 @@
 
                     local *STDERR;
                     local $SIG{__WARN__} = sub { };
-                    
+
                     my $ref = $Class->can( $name );
 
 
                     $ref->( @_ );
                 };
-    }      
+    }
 }
 
 for my $name (@Carp, @Msg) {
-    
+
     my $ref = $Pkg->can( $name );
     ok( $ref,                   "Found function for '$name'" );
 
@@ -53,24 +53,24 @@
     ### start with an empty stack?
     cmp_ok( scalar @{[$Class->stack]}, '==', 0,
                                 "   Starting with empty stack" );
-    ok(!$Class->stack_as_string,"   Stringified stack empty" );                                
-    
+    ok(!$Class->stack_as_string,"   Stringified stack empty" );
+
     ### call the func... no output should appear
     ### eval this -- the croak/confess functions die
     eval { $ref->( $Text ); };
-    
+
     my @stack = $Class->stack;
     cmp_ok( scalar(@stack), '==', 1,
                                 "   Text logged to stack" );
-                                
-    for my $re ( $Text, quotemeta '['.uc($name).']' ) {                               
+
+    for my $re ( $Text, quotemeta '['.uc($name).']' ) {
         like( $Class->stack_as_string, qr/$re/,
                                 "   Text as expected" );
     }
 
-    ### empty stack again ###    
+    ### empty stack again ###
     ok( $Class->flush,          "   Stack flushed" );
     cmp_ok( scalar @{[$Class->stack]}, '==', 0,
                                 "   Starting with empty stack" );
-    ok(!$Class->stack_as_string,"   Stringified stack empty" );                                
+    ok(!$Class->stack_as_string,"   Stringified stack empty" );
 }


Property changes on: vendor/perl/dist/cpan/Log-Message-Simple/t/03_functions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/Base64.pm
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/Base64.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/Base64.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/Base64.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/Base64.xs
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/Base64.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/Base64.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/Base64.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/Changes
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/QuotedPrint.pm
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/QuotedPrint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/QuotedPrint.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/QuotedPrint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/README
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/t/base64.t
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/t/base64.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/t/base64.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/t/base64.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/t/length.t
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/t/length.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/t/length.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/t/length.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/t/quoted-print.t
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/t/quoted-print.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/t/quoted-print.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/t/quoted-print.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/MIME-Base64/t/unicode.t
===================================================================
--- vendor/perl/dist/cpan/MIME-Base64/t/unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/MIME-Base64/t/unicode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/MIME-Base64/t/unicode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Math-Complex/lib/Math/Complex.pm
===================================================================
--- vendor/perl/dist/cpan/Math-Complex/lib/Math/Complex.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Math-Complex/lib/Math/Complex.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,14 +7,14 @@
 
 package Math::Complex;
 
+{ use 5.006; }
 use strict;
 
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $Inf $ExpInf);
+our $VERSION = 1.59;
 
-$VERSION = 1.56;
-
 use Config;
 
+our($Inf, $ExpInf);
 BEGIN {
     my %DBL_MAX =
 	(
@@ -96,7 +96,7 @@
 
 require Exporter;
 
- at ISA = qw(Exporter);
+our @ISA = qw(Exporter);
 
 my @trig = qw(
 	      pi
@@ -110,7 +110,7 @@
 	      acsch acosech asech acoth acotanh
 	     );
 
- at EXPORT = (qw(
+our @EXPORT = (qw(
 	     i Re Im rho theta arg
 	     sqrt log ln
 	     log10 logn cbrt root
@@ -121,18 +121,24 @@
 
 my @pi = qw(pi pi2 pi4 pip2 pip4 Inf);
 
- at EXPORT_OK = @pi;
+our @EXPORT_OK = @pi;
 
-%EXPORT_TAGS = (
+our %EXPORT_TAGS = (
     'trig' => [@trig],
     'pi' => [@pi],
 );
 
 use overload
+	'='	=> \&_copy,
+	'+='	=> \&_plus,
 	'+'	=> \&_plus,
+	'-='	=> \&_minus,
 	'-'	=> \&_minus,
+	'*='	=> \&_multiply,
 	'*'	=> \&_multiply,
+	'/='	=> \&_divide,
 	'/'	=> \&_divide,
+	'**='	=> \&_power,
 	'**'	=> \&_power,
 	'=='	=> \&_numeq,
 	'<=>'	=> \&_spaceship,
@@ -144,7 +150,6 @@
 	'log'	=> \&log,
 	'sin'	=> \&sin,
 	'cos'	=> \&cos,
-	'tan'	=> \&tan,
 	'atan2'	=> \&atan2,
         '""'    => \&_stringify;
 
@@ -217,6 +222,19 @@
     return ($p, $q);
 }
 
+sub _copy {
+    my $self = shift;
+    my $clone = {%$self};
+    if ($self->{'cartesian'}) {
+	$clone->{'cartesian'} = [@{$self->{'cartesian'}}];
+    }
+    if ($self->{'polar'}) {
+	$clone->{'polar'} = [@{$self->{'polar'}}];
+    }
+    bless $clone,__PACKAGE__;
+    return $clone;
+}
+
 #
 # ->make
 #
@@ -1539,7 +1557,7 @@
 
         if (defined $format) {
 	    $r     = sprintf($format, $r);
-	    $theta = sprintf($format, $theta) unless defined $theta;
+	    $theta = sprintf($format, $t) unless defined $theta;
 	} else {
 	    $theta = $t unless defined $theta;
 	}
@@ -2077,9 +2095,10 @@
 
 =head1 AUTHORS
 
-Daniel S. Lewart <F<lewart!at!uiuc.edu>>
-Jarkko Hietaniemi <F<jhi!at!iki.fi>>
-Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>
+Daniel S. Lewart <F<lewart!at!uiuc.edu>>,
+Jarkko Hietaniemi <F<jhi!at!iki.fi>>,
+Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>,
+Zefram <zefram at fysh.org>
 
 =head1 LICENSE
 


Property changes on: vendor/perl/dist/cpan/Math-Complex/lib/Math/Complex.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Math-Complex/lib/Math/Trig.pm
===================================================================
--- vendor/perl/dist/cpan/Math-Complex/lib/Math/Trig.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Math-Complex/lib/Math/Trig.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,21 +4,19 @@
 # -- Raphael Manfredi, September 1996 (indirectly: because of Math::Complex)
 #
 
-require Exporter;
 package Math::Trig;
 
-use 5.005;
+{ use 5.006; }
 use strict;
 
-use Math::Complex 1.56;
+use Math::Complex 1.59;
 use Math::Complex qw(:trig :pi);
+require Exporter;
 
-use vars qw($VERSION $PACKAGE @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
+our @ISA = qw(Exporter);
 
- at ISA = qw(Exporter);
+our $VERSION = 1.23;
 
-$VERSION = 1.20;
-
 my @angcnv = qw(rad2deg rad2grad
 		deg2rad deg2grad
 		grad2rad grad2deg);
@@ -25,7 +23,7 @@
 
 my @areal = qw(asin_real acos_real);
 
- at EXPORT = (@{$Math::Complex::EXPORT_TAGS{'trig'}},
+our @EXPORT = (@{$Math::Complex::EXPORT_TAGS{'trig'}},
 	   @angcnv, @areal);
 
 my @rdlcnv = qw(cartesian_to_cylindrical
@@ -46,13 +44,13 @@
 
 my @pi = qw(pi pi2 pi4 pip2 pip4);
 
- at EXPORT_OK = (@rdlcnv, @greatcircle, @pi, 'Inf');
+our @EXPORT_OK = (@rdlcnv, @greatcircle, @pi, 'Inf');
 
 # See e.g. the following pages:
 # http://www.movable-type.co.uk/scripts/LatLong.html
 # http://williams.best.vwh.net/avform.htm
 
-%EXPORT_TAGS = ('radial' => [ @rdlcnv ],
+our %EXPORT_TAGS = ('radial' => [ @rdlcnv ],
 	        'great_circle' => [ @greatcircle ],
 	        'pi'     => [ @pi ]);
 
@@ -166,19 +164,13 @@
 sub great_circle_direction {
     my ( $theta0, $phi0, $theta1, $phi1 ) = @_;
 
-    my $distance = great_circle_distance($theta0, $phi0, $theta1, $phi1);
-
     my $lat0 = pip2 - $phi0;
     my $lat1 = pip2 - $phi1;
 
-    my $direction =
- 	acos_real((sin($lat1) - sin($lat0) * cos($distance)) /
-		  (cos($lat0) * sin($distance)));
-  
-    $direction = pi2 - $direction
-	if sin($theta1 - $theta0) < 0;
-
-    return rad2rad($direction);
+    return rad2rad(pi2 -
+	atan2(sin($theta0-$theta1) * cos($lat1),
+		cos($lat0) * sin($lat1) -
+		    sin($lat0) * cos($lat1) * cos($theta0-$theta1)));
 }
 
 *great_circle_bearing         = \&great_circle_direction;
@@ -755,8 +747,9 @@
 
 =head1 AUTHORS
 
-Jarkko Hietaniemi <F<jhi!at!iki.fi>> and 
-Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>.
+Jarkko Hietaniemi <F<jhi!at!iki.fi>>,
+Raphael Manfredi <F<Raphael_Manfredi!at!pobox.com>>,
+Zefram <zefram at fysh.org>
 
 =head1 LICENSE
 


Property changes on: vendor/perl/dist/cpan/Math-Complex/lib/Math/Trig.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Math-Complex/t/Complex.t
===================================================================
--- vendor/perl/dist/cpan/Math-Complex/t/Complex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Math-Complex/t/Complex.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,19 +6,8 @@
 # -- Jarkko Hietaniemi	since Mar 1997
 # -- Daniel S. Lewart	since Sep 1997
 
-BEGIN {
-    if ($ENV{PERL_CORE}) {
-	chdir 't' if -d 't';
-	#@INC = '../lib';
-    }
-}
-
 use Math::Complex 1.54;
 
-use vars qw($VERSION);
-
-$VERSION = 1.92;
-
 my ($args, $op, $target, $test, $test_set, $try, $val, $zvalue, @set, @val);
 
 $test = 0;
@@ -34,6 +23,15 @@
 }			# cos(), sin(), cosh(), sinh().  The division
 			# of doubles is the current suspect.
 
+$test++;
+push @script, "{ my \$t=$test; ".q{
+    my $a = Math::Complex->new(1);
+    my $b = $a;
+    $a += 2;
+    print "not " unless "$a" eq "3" && "$b" eq "1";
+    print "ok $t\n";
+}."}";
+
 while (<DATA>) {
 	s/^\s+//;
 	next if $_ eq '' || /^\#/;
@@ -287,6 +285,15 @@
     print "not " unless "\$j" =~ /^\\[1,2\\.09439510\\d+\\]\$/;
     print "ok $test\n";
 
+    \$j->display_format('style' => 'polar', 'format' => "%.4g");
+EOS
+
+    $test++;
+    push @script, <<EOS;
+    print "# j = \$j\n";
+    print "not " unless "\$j" =~ /^\\[1,2\\.094\\]\$/;
+    print "ok $test\n";
+
     \$j->display_format('style' => 'cartesian', 'format' => '(%.5g)');
 EOS
 
@@ -698,6 +705,7 @@
 [1, pi/3]:"[1,pi/3]"
 [6, -2*pi/3]:"[6,-2pi/3]"
 [0.5, -9*pi/11]:"[0.5,-9pi/11]"
+[1, 0.5]:"[1, 0.5]"
 
 { (4,3); [3,2]; (-3,4); (0,2); [2,1] }
 


Property changes on: vendor/perl/dist/cpan/Math-Complex/t/Complex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Math-Complex/t/Trig.t
===================================================================
--- vendor/perl/dist/cpan/Math-Complex/t/Trig.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Math-Complex/t/Trig.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,26 +8,8 @@
 # 
 # -- Jarkko Hietaniemi, April 1997
 
-BEGIN {
-    if ($ENV{PERL_CORE}) {
-	chdir 't' if -d 't';
-	#@INC = '../lib';
-    }
-}
+use Test::More tests => 153;
 
-BEGIN {
-    eval { require Test::More };
-    if ($@) {
-	# We are willing to lose testing in e.g. 5.00504.
-	print "1..0 # No Test::More, skipping\n";
-	exit(0);
-    } else {
-	import Test::More;
-    }
-}
-
-plan(tests => 153);
-
 use Math::Trig 1.18;
 use Math::Trig 1.18 qw(:pi Inf);
 
@@ -35,7 +17,7 @@
 
 use strict;
 
-use vars qw($x $y $z);
+our($x, $y, $z);
 
 my $eps = 1e-11;
 


Property changes on: vendor/perl/dist/cpan/Math-Complex/t/Trig.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Math-Complex/t/underbar.t
===================================================================
--- vendor/perl/dist/cpan/Math-Complex/t/underbar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Math-Complex/t/underbar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Math-Complex/t/underbar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/Memoize/AnyDBM_File.pm
===================================================================
--- vendor/perl/dist/cpan/Memoize/Memoize/AnyDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/Memoize/AnyDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
 =cut
 
 use vars qw(@ISA $VERSION);
-$VERSION = '1.02';
+$VERSION = '1.03';
 @ISA = qw(DB_File GDBM_File Memoize::NDBM_File Memoize::SDBM_File ODBM_File) unless @ISA;
 
 my $verbose = 1;


Property changes on: vendor/perl/dist/cpan/Memoize/Memoize/AnyDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/Memoize/Expire.pm
===================================================================
--- vendor/perl/dist/cpan/Memoize/Memoize/Expire.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/Memoize/Expire.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 # require 5.00556;
 use Carp;
 $DEBUG = 0;
-$VERSION = '1.02';
+$VERSION = '1.03';
 
 # This package will implement expiration by prepending a fixed-length header
 # to the font of the cached data.  The format of the header will be:


Property changes on: vendor/perl/dist/cpan/Memoize/Memoize/Expire.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/Memoize/ExpireFile.pm
===================================================================
--- vendor/perl/dist/cpan/Memoize/Memoize/ExpireFile.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/Memoize/ExpireFile.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 =cut
 
-$VERSION = '1.02';
+$VERSION = '1.03';
 use Carp;
 
 my $Zero = pack("N", 0);


Property changes on: vendor/perl/dist/cpan/Memoize/Memoize/ExpireFile.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/Memoize/ExpireTest.pm
===================================================================
--- vendor/perl/dist/cpan/Memoize/Memoize/ExpireTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/Memoize/ExpireTest.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
 
 =cut
 
-$VERSION = '1.02';
+$VERSION = '1.03';
 my %cache;
 
 sub TIEHASH {	


Property changes on: vendor/perl/dist/cpan/Memoize/Memoize/ExpireTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/Memoize/NDBM_File.pm
===================================================================
--- vendor/perl/dist/cpan/Memoize/Memoize/NDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/Memoize/NDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 
 use NDBM_File;
 @ISA = qw(NDBM_File);
-$VERSION = '1.02';
+$VERSION = '1.03';
 
 $Verbose = 0;
 


Property changes on: vendor/perl/dist/cpan/Memoize/Memoize/NDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/Memoize/SDBM_File.pm
===================================================================
--- vendor/perl/dist/cpan/Memoize/Memoize/SDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/Memoize/SDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 
 use SDBM_File;
 @ISA = qw(SDBM_File);
-$VERSION = '1.02';
+$VERSION = '1.03';
 
 $Verbose = 0;
 


Property changes on: vendor/perl/dist/cpan/Memoize/Memoize/SDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/Memoize/Storable.pm
===================================================================
--- vendor/perl/dist/cpan/Memoize/Memoize/Storable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/Memoize/Storable.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
 =cut
 
 use Storable ();
-$VERSION = '1.02';
+$VERSION = '1.03';
 $Verbose = 0;
 
 sub TIEHASH {


Property changes on: vendor/perl/dist/cpan/Memoize/Memoize/Storable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/Memoize.pm
===================================================================
--- vendor/perl/dist/cpan/Memoize/Memoize.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/Memoize.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,13 +3,13 @@
 #
 # Transparent memoization of idempotent functions
 #
-# Copyright 1998, 1999, 2000, 2001 M-J. Dominus.
+# Copyright 1998, 1999, 2000, 2001, 2012 M. J. Dominus.
 # You may copy and distribute this program under the
 # same terms as Perl itself.  If in doubt, 
 # write to mjd-perl-memoize+ at plover.com for a license.
 
 package Memoize;
-$VERSION = '1.02';
+$VERSION = '1.03';
 
 # Compile-time constants
 sub SCALAR () { 0 } 
@@ -132,10 +132,9 @@
   # Perhaps I should check here that you didn't supply *both* merge
   # options.  But if you did, it does do something reasonable: They
   # both get merged to the same in-memory hash.
-  if ($options{SCALAR_CACHE} eq 'MERGE') {
+  if ($options{SCALAR_CACHE} eq 'MERGE' || $options{LIST_CACHE} eq 'MERGE') {
+    $options{MERGED} = 1;
     $caches{SCALAR} = $caches{LIST};
-  } elsif ($options{LIST_CACHE} eq 'MERGE') {
-    $caches{LIST} = $caches{SCALAR};
   }
 
   # Now deal with the TIE options
@@ -240,11 +239,12 @@
     my $cache = $info->{S};
     _crap_out($info->{NAME}, 'scalar') unless $cache;
     if (exists $cache->{$argstr}) { 
-      return $cache->{$argstr};
+      return $info->{O}{MERGED}
+        ? $cache->{$argstr}[0] : $cache->{$argstr};
     } else {
       my $val = &{$info->{U}}(@_);
       # Scalars are considered to be lists; store appropriately
-      if ($info->{O}{SCALAR_CACHE} eq 'MERGE') {
+      if ($info->{O}{MERGED}) {
 	$cache->{$argstr} = [$val];
       } else {
 	$cache->{$argstr} = $val;
@@ -255,17 +255,10 @@
     my $cache = $info->{L};
     _crap_out($info->{NAME}, 'list') unless $cache;
     if (exists $cache->{$argstr}) {
-      my $val = $cache->{$argstr};
-      # If LISTCONTEXT=>MERGE, then the function never returns lists,
-      # so we have a scalar value cached, so just return it straightaway:
-      return ($val) if $info->{O}{LIST_CACHE} eq 'MERGE';
-      # Maybe in a later version we can use a faster test.
-
-      # Otherwise, we cached an array containing the returned list:
-      return @$val;
+      return @{$cache->{$argstr}};
     } else {
       my @q = &{$info->{U}}(@_);
-      $cache->{$argstr} = $info->{O}{LIST_CACHE} eq 'MERGE' ? $q [0] : \@q;
+      $cache->{$argstr} = \@q;
       @q;
     }
   } else {
@@ -360,7 +353,7 @@
 
 =head1 SYNOPSIS
 
-        # This is the documentation for Memoize 1.02
+        # This is the documentation for Memoize 1.03
 	use Memoize;
 	memoize('slow_function');
 	slow_function(arguments);    # Is faster than it was before
@@ -652,7 +645,7 @@
 	MERGE
         HASH
 
-or else it must be a reference to a list whose first element is one of
+or else it must be a reference to an array whose first element is one of
 these four strings, such as C<[HASH, arguments...]>.
 
 =over 4
@@ -690,6 +683,10 @@
 come to run your real program the memoized function will be fast
 because all its results have been precomputed.
 
+Another reason to use C<HASH> is to provide your own hash variable.
+You can then inspect or modify the contents of the hash to gain finer
+control over the cache management.
+
 =item C<TIE>
 
 This option is no longer supported.  It is still documented only to
@@ -696,15 +693,14 @@
 aid in the debugging of old programs that use it.  Old programs should
 be converted to use the C<HASH> option instead.
 
-        memoize ... [TIE, PACKAGE, ARGS...]
+        memoize ... ['TIE', PACKAGE, ARGS...]
 
 is merely a shortcut for
 
         require PACKAGE;
-	{ my %cache;
-          tie %cache, PACKAGE, ARGS...;
-	}
-        memoize ... [HASH => \%cache];
+	{ tie my %cache, PACKAGE, ARGS...;
+          memoize ... [HASH => \%cache];
+        }
 
 =item C<FAULT>
 
@@ -717,36 +713,67 @@
 
 =item C<MERGE>
 
-C<MERGE> normally means the function does not distinguish between list
-and sclar context, and that return values in both contexts should be
-stored together.  C<LIST_CACHE =E<gt> MERGE> means that list context
-return values should be stored in the same hash that is used for
-scalar context returns, and C<SCALAR_CACHE =E<gt> MERGE> means the
-same, mutatis mutandis.  It is an error to specify C<MERGE> for both,
-but it probably does something useful.
+C<MERGE> normally means that the memoized function does not
+distinguish between list and sclar context, and that return values in
+both contexts should be stored together.  Both C<LIST_CACHE =E<gt>
+MERGE> and C<SCALAR_CACHE =E<gt> MERGE> mean the same thing.
 
 Consider this function:
 
-	sub pi { 3; }
+	sub complicated {
+          # ... time-consuming calculation of $result
+          return $result;
+        }
 
-Normally, the following code will result in two calls to C<pi>:
+The C<complicated> function will return the same numeric C<$result>
+regardless of whether it is called in list or in scalar context.
 
-    $x = pi();
-    ($y) = pi();
-    $z = pi();
+Normally, the following code will result in two calls to C<complicated>, even
+if C<complicated> is memoized:
 
-The first call caches the value C<3> in the scalar cache; the second
-caches the list C<(3)> in the list cache.  The third call doesn't call
-the real C<pi> function; it gets the value from the scalar cache.
+    $x = complicated(142);
+    ($y) = complicated(142);
+    $z = complicated(142);
 
-Obviously, the second call to C<pi> is a waste of time, and storing
-its return value is a waste of space.  Specifying C<LIST_CACHE =E<gt>
-MERGE> will make C<memoize> use the same cache for scalar and list
-context return values, so that the second call uses the scalar cache
-that was populated by the first call.  C<pi> ends up being called only
-once, and both subsequent calls return C<3> from the cache, regardless
-of the calling context.
+The first call will cache the result, say 37, in the scalar cache; the
+second will cach the list C<(37)> in the list cache.  The third call
+doesn't call the real C<complicated> function; it gets the value 37
+from the scalar cache.
 
+Obviously, the second call to C<complicated> is a waste of time, and
+storing its return value is a waste of space.  Specifying C<LIST_CACHE
+=E<gt> MERGE> will make C<memoize> use the same cache for scalar and
+list context return values, so that the second call uses the scalar
+cache that was populated by the first call.  C<complicated> ends up
+being called only once, and both subsequent calls return C<3> from the
+cache, regardless of the calling context.
+
+=head3 List values in scalar context
+
+Consider this function:
+
+    sub iota { return reverse (1..$_[0]) }
+
+This function normally returns a list.  Suppose you memoize it and
+merge the caches:
+
+    memoize 'iota', SCALAR_CACHE => 'MERGE';
+
+    @i7 = iota(7);
+    $i7 = iota(7);
+
+Here the first call caches the list (1,2,3,4,5,6,7).  The second call
+does not really make sense. C<Memoize> cannot guess what behavior
+C<iota> should have in scalar context without actually calling it in
+scalar context.  Normally C<Memoize> I<would> call C<iota> in scalar
+context and cache the result, but the C<SCALAR_CACHE =E<gt> 'MERGE'>
+option says not to do that, but to use the cache list-context value
+instead. But it cannot return a list of seven elements in a scalar
+context. In this case C<$i7> will receive the B<first element> of the
+cached list value, namely 7.
+
+=head3 Merged disk caches
+
 Another use for C<MERGE> is when you want both kinds of return values
 stored in the same disk file; this saves you from having to deal with
 two disk files instead of one.  You can use a normalizer function to
@@ -757,7 +784,7 @@
 	memoize 'myfunc',
 	  NORMALIZER => 'n',
 	  SCALAR_CACHE => [HASH => \%cache],
-	  LIST_CACHE => MERGE,
+	  LIST_CACHE => 'MERGE',
 	;
 
 	sub n {
@@ -994,26 +1021,26 @@
 
 Mark-Jason Dominus (C<mjd-perl-memoize+ at plover.com>), Plover Systems co.
 
-See the C<Memoize.pm> Page at http://www.plover.com/~mjd/perl/Memoize/
+See the C<Memoize.pm> Page at http://perl.plover.com/Memoize/
 for news and upgrades.  Near this page, at
-http://www.plover.com/~mjd/perl/MiniMemoize/ there is an article about
+http://perl.plover.com/MiniMemoize/ there is an article about
 memoization and about the internals of Memoize that appeared in The
 Perl Journal, issue #13.  (This article is also included in the
 Memoize distribution as `article.html'.)
 
-The author's book I<Higher Order Perl> (2005, ISBN 1558607013, published
-by Morgan Kaufmann) discusses memoization (and many other fascinating
-topics) in tremendous detail. It will also be available on-line for free.
-For more information, visit http://perl.plover.com/book/ .
+The author's book I<Higher-Order Perl> (2005, ISBN 1558607013, published
+by Morgan Kaufmann) discusses memoization (and many other 
+topics) in tremendous detail. It is available on-line for free.
+For more information, visit http://hop.perl.plover.com/ .
 
 To join a mailing list for announcements about C<Memoize>, send an
 empty message to C<mjd-perl-memoize-request at plover.com>.  This mailing
-list is for announcements only and has extremely low traffic---about
+list is for announcements only and has extremely low traffic---fewer than
 two messages per year.
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 1998, 1999, 2000, 2001  by Mark Jason Dominus
+Copyright 1998, 1999, 2000, 2001, 2012  by Mark Jason Dominus
 
 This library is free software; you may redistribute it and/or modify
 it under the same terms as Perl itself.
@@ -1020,23 +1047,24 @@
 
 =head1 THANK YOU
 
-Many thanks to Jonathan Roy for bug reports and suggestions, to
-Michael Schwern for other bug reports and patches, to Mike Cariaso for
-helping me to figure out the Right Thing to Do About Expiration, to
-Joshua Gerth, Joshua Chamas, Jonathan Roy (again), Mark D. Anderson,
-and Andrew Johnson for more suggestions about expiration, to Brent
-Powers for the Memoize::ExpireLRU module, to Ariel Scolnicov for
-delightful messages about the Fibonacci function, to Dion Almaer for
-thought-provoking suggestions about the default normalizer, to Walt
-Mankowski and Kurt Starsinic for much help investigating problems
-under threaded Perl, to Alex Dudkevich for reporting the bug in
-prototyped functions and for checking my patch, to Tony Bass for many
-helpful suggestions, to Jonathan Roy (again) for finding a use for
-C<unmemoize()>, to Philippe Verdret for enlightening discussion of
-C<Hook::PrePostCall>, to Nat Torkington for advice I ignored, to Chris
-Nandor for portability advice, to Randal Schwartz for suggesting the
-'C<flush_cache> function, and to Jenda Krynicky for being a light in
-the world.
+Many thanks to Florian Ragwitz for administration and packaging
+assistance, to John Tromp for bug reports, to Jonathan Roy for bug reports
+and suggestions, to Michael Schwern for other bug reports and patches,
+to Mike Cariaso for helping me to figure out the Right Thing to Do
+About Expiration, to Joshua Gerth, Joshua Chamas, Jonathan Roy
+(again), Mark D. Anderson, and Andrew Johnson for more suggestions
+about expiration, to Brent Powers for the Memoize::ExpireLRU module,
+to Ariel Scolnicov for delightful messages about the Fibonacci
+function, to Dion Almaer for thought-provoking suggestions about the
+default normalizer, to Walt Mankowski and Kurt Starsinic for much help
+investigating problems under threaded Perl, to Alex Dudkevich for
+reporting the bug in prototyped functions and for checking my patch,
+to Tony Bass for many helpful suggestions, to Jonathan Roy (again) for
+finding a use for C<unmemoize()>, to Philippe Verdret for enlightening
+discussion of C<Hook::PrePostCall>, to Nat Torkington for advice I
+ignored, to Chris Nandor for portability advice, to Randal Schwartz
+for suggesting the 'C<flush_cache> function, and to Jenda Krynicky for
+being a light in the world.
 
 Special thanks to Jarkko Hietaniemi, the 5.8.0 pumpking, for including
 this module in the core and for his patient and helpful guidance


Property changes on: vendor/perl/dist/cpan/Memoize/Memoize.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/TODO
===================================================================
--- vendor/perl/dist/cpan/Memoize/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/TODO	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-# Version 0.05 alpha $Revision: 1.1.1.1 $ $Date: 2011-05-18 13:33:29 $
+# Version 0.05 alpha $Revision: 1.6 $ $Date: 2001/06/24 17:11:26 $
 
 =head1 TO DO
 
@@ -7,7 +7,7 @@
 =item * 
 
 LIST_CACHE doesn't work with ties to most DBM implementations, because
-Memouze tries to save a listref, and DB_File etc. can only store
+Memoize tries to save a listref, and DB_File etc. can only store
 strings.  This should at least be documented.  Maybe Memoize could
 detect the problem at TIE time and throw a fatal error.
 
@@ -329,7 +329,7 @@
 
 =item *
 
-20010517 Option to have normalizer *modify* @_ for use by memoized
+20010517 Option to have normalizer I<modify> @_ for use by memoized
 function.  This would save code and time in cases like the one in the
 manual under 'NORMALIZER', where both f() and normalize_f() do the
 same analysis and make the same adjustments to the hash.  If the


Property changes on: vendor/perl/dist/cpan/Memoize/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/array.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/array.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/array.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/array.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Memoize/t/array_confusion.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/array_confusion.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/array_confusion.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,7 @@
 
 use lib '..';
 use Memoize 'memoize', 'unmemoize';
+use Test::More;
 
 sub reff {
   return [1,2,3];
@@ -12,20 +13,20 @@
   return (1,2,3);
 }
 
-print "1..6\n";
+sub f17 { return 17 }
 
+plan tests => 7;
+
 memoize 'reff', LIST_CACHE => 'MERGE';
-print "ok 1\n";
 memoize 'listf';
-print "ok 2\n";
 
 $s = reff();
 @a = reff();
-print @a == 1 ? "ok 3\n" : "not ok 3\n";
+is(scalar(@a), 1, "reff list context");
 
 $s = listf();
 @a = listf();
-print @a == 3 ? "ok 4\n" : "not ok 4\n";
+is(scalar(@a), 3, "listf list context");
 
 unmemoize 'reff';
 memoize 'reff', LIST_CACHE => 'MERGE';
@@ -34,10 +35,13 @@
 
 @a = reff();
 $s = reff();
-print @a == 1 ? "ok 5\n" : "not ok 5\n";
+is(scalar @a, 1, "reff list context");
 
 @a = listf();
 $s = listf();
-print @a == 3 ? "ok 6\n" : "not ok 6\n";
+is(scalar @a, 3, "listf list context");
 
-
+memoize 'f17', SCALAR_CACHE => 'MERGE';
+is(f17(), 17, "f17 first call");
+is(f17(), 17, "f17 second call");
+is(scalar(f17()), 17, "f17 scalar context call");


Property changes on: vendor/perl/dist/cpan/Memoize/t/array_confusion.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/correctness.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/correctness.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/correctness.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/correctness.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/errors.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/errors.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/errors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/expfile.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/expfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/expfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/expfile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/expire.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/expire.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/expire.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/expire.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/expmod_n.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/expmod_n.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/expmod_n.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/expmod_n.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/expmod_t.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/expmod_t.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/expmod_t.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/expmod_t.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/flush.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/flush.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/flush.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/flush.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/normalize.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/normalize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/normalize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/normalize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/prototype.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/prototype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/prototype.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/prototype.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/speed.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/speed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/speed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/speed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/tie.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/tie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/tie_gdbm.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/tie_gdbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/tie_gdbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/tie_gdbm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/tie_ndbm.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/tie_ndbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/tie_ndbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/tie_ndbm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/tie_sdbm.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/tie_sdbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/tie_sdbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/tie_sdbm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/tie_storable.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/tie_storable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/tie_storable.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/tie_storable.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/tiefeatures.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/tiefeatures.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/tiefeatures.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/tiefeatures.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Memoize/t/unmemoize.t
===================================================================
--- vendor/perl/dist/cpan/Memoize/t/unmemoize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Memoize/t/unmemoize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Memoize/t/unmemoize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/Changes
===================================================================
--- vendor/perl/dist/cpan/Module-Build/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,91 @@
 Revision history for Perl extension Module::Build.
 
+0.4003 - Sat Aug 18 11:17:49 CEST 2012
+
+  [BUG FIXES]
+
+  - Get rid of outdated metadata tests [Steve Hay]
+
+0.4002 - Fri Jul 27 20:04:09 EEST 2012
+
+  [BUG FIXES]
+
+  - Test for TAP::Harness version properly [Leon Timmermans]
+
+  - Install to 'site' on 5.12+ [Leon Timmermans]
+
+  [DOCUMENTATION]
+
+  - Document extra_{compiler|linker}_flags accessors [Nick Wellnhofer]
+
+0.4001 - Tue Jun 26 20:54:15 CEST 2012
+  [BUG FIXES]
+
+  - Parse Pod name a litte more leniently [Paul Evans]
+
+  [DOCUMENTATION]
+
+  - Various spelling fixes [Leon Timmermans, Jonathan Yu]
+
+  - Fixes configuration keys used for script location [Leon Timmermans, reported by Samuel Ferencik]
+
+  [OTHER]
+
+  - use warnings
+
+0.40 - Fri Feb 24 18:47:48 CET 2012
+
+  - Released 0.39_02 as 0.40 without any code changes
+
+0.39_02 - Thu Feb 17 00:33:18 MET 2012
+
+  [BUG FIXES]
+
+  - Fixed bug where modules without $VERSION might have a version of '0'
+    listed in 'provides' metadata, which will be rejected by PAUSE
+    [David Golden, reported by Christopher Fields]
+
+  - Fixed bug in PodParser to allow numerals in module names
+    [Tokuhirom]
+
+  - Fixed bug where giving arguments twice led to them becoming arrays,
+    resulting in install paths like "ARRAY(0xdeadbeef)/lib/Foo.pm"
+    [Leon Timmermans]
+
+  [DOCUMENTATION]
+
+  - Fixed deviance from alphabetical order in documentation of
+    constructor parameters. [Eric Brine]
+
+  - Add documentation for configure_requires constructor parameter.
+    [Eric Brine]
+
+  - Change some of the docs' language describing relationship to
+    MakeMaker. [Ken Williams]
+
+  [OTHER]
+
+    - List Perl-Toolchain-Gang repo as official repo
+
+0.39_01 - Thu Jul 21 16:48:48 EDT 2011
+
+  [BUG FIXES]
+
+  - Fixed bug with a nested directory named 'share' inside a ShareDir
+    (RT#68585) [David Golden]
+
+  - Fixed failing tilde.t when run under UID without passwd entry
+    (RT#67893) [Dominic Hargreaves]
+
+  [DOCUMENTATION]
+
+  - Fixed typo in Module::Build (RT#67008) [David Golden]
+
+  [OTHER]
+
+  - Pod to HTML internals changed to support new Pod::Html work
+    in the Perl core
+
 0.3800 - Sat Mar  5 15:11:41 EST 2011
 
   Summary of major changes since 0.3624:


Property changes on: vendor/perl/dist/cpan/Module-Build/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/bin/config_data
===================================================================
--- vendor/perl/dist/cpan/Module-Build/bin/config_data	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/bin/config_data	2013-12-01 21:45:02 UTC (rev 6430)
@@ -162,13 +162,13 @@
 Wardley (C<Template::Config>), and Larry Wall (perl's own Config.pm)
 have developed independently.
 
-The configuration system emplyed here was developed in the context of
+The configuration system employed here was developed in the context of
 C<Module::Build>.  Under this system, configuration information for a
 module C<Foo>, for example, is stored in a module called
 C<Foo::ConfigData>) (I would have called it C<Foo::Config>, but that
 was taken by all those other systems mentioned in the previous
 paragraph...).  These C<...::ConfigData> modules contain the
-configuration data, as well as publically accessible methods for
+configuration data, as well as publicly accessible methods for
 querying and setting (yes, actually re-writing) the configuration
 data.  The C<config_data> script (whose docs you are currently
 reading) is merely a front-end for those methods.  If you wish, you


Property changes on: vendor/perl/dist/cpan/Module-Build/bin/config_data
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/API.pod
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/API.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/API.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -157,6 +157,24 @@
 See the documentation for L<Module::Build::Authoring/"PREREQUISITES">
 for the details of how requirements can be specified.
 
+=item configure_requires
+
+[version 0.30]
+
+Modules listed in this section must be installed I<before> configuring
+this distribution (i.e. before running the F<Build.PL> script).
+This might be a specific minimum version of C<Module::Build> or any
+other module the F<Build.PL> needs in order to do its stuff.  Clients
+like C<CPAN.pm> or C<CPANPLUS> will be expected to pick
+C<configure_requires> out of the F<META.yml> file and install these
+items before running the C<Build.PL>.
+
+Module::Build may automatically add itself to configure_requires.
+See L</auto_configure_requires> for details.
+
+See the documentation for L<Module::Build::Authoring/"PREREQUISITES">
+for the details of how requirements can be specified.
+
 =item create_packlist
 
 [version 0.28]
@@ -612,7 +630,7 @@
 [version 0.36]
 
 The C<needs_compiler> parameter indicates whether a compiler is required to
-build the distsribution.  The default is false, unless XS files are found or
+build the distribution.  The default is false, unless XS files are found or
 the C<c_source> parameter is set, in which case it is true.  If true,
 L<ExtUtils::CBuilder> is automatically added to C<build_requires> if needed.
 
@@ -834,6 +852,17 @@
 The default value is false.  In the future, the default may change to
 true if you have C<Module::Signature> installed on your system.
 
+=item tap_harness_args
+
+[version 0.2808_03]
+
+An optional parameter specifying parameters to be passed to TAP::Harness when
+running tests. Must be given as a hash reference of parameters; see the
+L<TAP::Harness|TAP::Harness> documentation for details. Note that specifying
+this parameter will implicitly set C<use_tap_harness> to a true value. You
+must therefore be sure to add TAP::Harness as a requirement for your module in
+L</build_requires>.
+
 =item test_files
 
 [version 0.23]
@@ -862,17 +891,6 @@
 L</build_requires>. Implicitly set to a true value if C<tap_harness_args> is
 specified.
 
-=item tap_harness_args
-
-[version 0.2808_03]
-
-An optional parameter specifying parameters to be passed to TAP::Harness when
-running tests. Must be given as a hash reference of parameters; see the
-L<TAP::Harness|TAP::Harness> documentation for details. Note that specifying
-this parameter will implicitly set C<use_tap_harness> to a true value. You
-must therefore be sure to add TAP::Harness as a requirement for your module in
-L</build_requires>.
-
 =item xs_files
 
 [version 0.19]
@@ -1382,6 +1400,22 @@
 arguments, no shell will get involved and the command will be executed
 directly.
 
+=item extra_compiler_flags()
+
+=item extra_compiler_flags(@flags)
+
+[version 0.25]
+
+Set or retrieve the extra compiler flags. Returns an arrayref of flags.
+
+=item extra_linker_flags()
+
+=item extra_linker_flags(@flags)
+
+[version 0.25]
+
+Set or retrieve the extra linker flags. Returns an arrayref of flags.
+
 =item feature($name)
 
 =item feature($name => $value)


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/API.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Authoring.pod
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Authoring.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Authoring.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -304,7 +304,7 @@
 <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Build>.
 
 The latest development version is available from the Git
-repository at <https://github.com/dagolden/module-build/>
+repository at <https://github.com/Perl-Toolchain-Gang/Module-Build>
 
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Authoring.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Base.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,9 +4,11 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+use warnings;
+
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
-BEGIN { require 5.00503 }
+BEGIN { require 5.006001 }
 
 use Carp;
 use Cwd ();
@@ -38,7 +40,9 @@
 
   $self->check_manifest;
   $self->auto_require;
-  if ( $self->check_prereq + $self->check_autofeatures != 2) {
+
+  # All checks must run regardless if one fails, so no short circuiting!
+  if( grep { !$_ } $self->check_prereq, $self->check_autofeatures ) {
     $self->log_warn(<<EOF);
 
 ERRORS/WARNINGS FOUND IN PREREQUISITES.  You may wish to install the versions
@@ -142,16 +146,16 @@
   my $config = delete $input{config} || {};
 
   my $self = bless {
-		    args => {%$args},
-		    config => Module::Build::Config->new(values => $config),
-		    properties => {
-				   base_dir        => $package->cwd,
-				   mb_version      => $Module::Build::VERSION,
-				   %input,
-				  },
-		    phash => {},
-                    stash => {}, # temporary caching, not stored in _build
-		   }, $package;
+      args => {%$args},
+      config => Module::Build::Config->new(values => $config),
+      properties => {
+          base_dir        => $package->cwd,
+          mb_version      => $Module::Build::VERSION,
+          %input,
+      },
+      phash => {},
+      stash => {}, # temporary caching, not stored in _build
+  }, $package;
 
   $self->_set_defaults;
   my ($p, $ph) = ($self->{properties}, $self->{phash});
@@ -163,7 +167,7 @@
     if (exists $p->{$_}) {
       my $vals = delete $p->{$_};
       while (my ($k, $v) = each %$vals) {
-	$self->$_($k, $v);
+        $self->$_($k, $v);
       }
     }
   }
@@ -250,37 +254,37 @@
   $p->{install_sets} =
     {
      core   => {
-		lib     => $c->get('installprivlib'),
-		arch    => $c->get('installarchlib'),
-		bin     => $c->get('installbin'),
-		script  => $c->get('installscript'),
-		bindoc  => $bindoc,
-		libdoc  => $libdoc,
-		binhtml => $binhtml,
-		libhtml => $libhtml,
-	       },
+       lib     => $c->get('installprivlib'),
+       arch    => $c->get('installarchlib'),
+       bin     => $c->get('installbin'),
+       script  => $c->get('installscript'),
+       bindoc  => $bindoc,
+       libdoc  => $libdoc,
+       binhtml => $binhtml,
+       libhtml => $libhtml,
+     },
      site   => {
-		lib     => $c->get('installsitelib'),
-		arch    => $c->get('installsitearch'),
-		bin     => $c->get('installsitebin') || $c->get('installbin'),
-		script  => $c->get('installsitescript') ||
-		           $c->get('installsitebin') || $c->get('installscript'),
-		bindoc  => $c->get('installsiteman1dir') || $bindoc,
-		libdoc  => $c->get('installsiteman3dir') || $libdoc,
-		binhtml => $c->get('installsitehtml1dir') || $binhtml,
-		libhtml => $c->get('installsitehtml3dir') || $libhtml,
-	       },
+       lib     => $c->get('installsitelib'),
+       arch    => $c->get('installsitearch'),
+       bin     => $c->get('installsitebin')      || $c->get('installbin'),
+       script  => $c->get('installsitescript')   ||
+         $c->get('installsitebin') || $c->get('installscript'),
+       bindoc  => $c->get('installsiteman1dir')  || $bindoc,
+       libdoc  => $c->get('installsiteman3dir')  || $libdoc,
+       binhtml => $c->get('installsitehtml1dir') || $binhtml,
+       libhtml => $c->get('installsitehtml3dir') || $libhtml,
+     },
      vendor => {
-		lib     => $c->get('installvendorlib'),
-		arch    => $c->get('installvendorarch'),
-		bin     => $c->get('installvendorbin') || $c->get('installbin'),
-		script  => $c->get('installvendorscript') ||
-		           $c->get('installvendorbin') || $c->get('installscript'),
-		bindoc  => $c->get('installvendorman1dir') || $bindoc,
-		libdoc  => $c->get('installvendorman3dir') || $libdoc,
-		binhtml => $c->get('installvendorhtml1dir') || $binhtml,
-		libhtml => $c->get('installvendorhtml3dir') || $libhtml,
-	       },
+       lib     => $c->get('installvendorlib'),
+       arch    => $c->get('installvendorarch'),
+       bin     => $c->get('installvendorbin')      || $c->get('installbin'),
+       script  => $c->get('installvendorscript')   ||
+         $c->get('installvendorbin') || $c->get('installscript'),
+       bindoc  => $c->get('installvendorman1dir')  || $bindoc,
+       libdoc  => $c->get('installvendorman3dir')  || $libdoc,
+       binhtml => $c->get('installvendorhtml1dir') || $binhtml,
+       libhtml => $c->get('installvendorhtml3dir') || $libhtml,
+     },
     };
 
   $p->{original_prefix} =
@@ -311,35 +315,35 @@
   $p->{prefix_relpaths} =
     {
      core => {
-	      lib        => [@libstyle],
-	      arch       => [@libstyle, $version, $arch],
-	      bin        => ['bin'],
-	      script     => ['bin'],
-	      bindoc     => ['man', 'man1'],
-	      libdoc     => ['man', 'man3'],
-	      binhtml    => ['html'],
-	      libhtml    => ['html'],
-	     },
+       lib        => [@libstyle],
+       arch       => [@libstyle, $version, $arch],
+       bin        => ['bin'],
+       script     => ['bin'],
+       bindoc     => ['man', 'man1'],
+       libdoc     => ['man', 'man3'],
+       binhtml    => ['html'],
+       libhtml    => ['html'],
+     },
      vendor => {
-		lib        => [@libstyle],
-		arch       => [@libstyle, $version, $arch],
-		bin        => ['bin'],
-		script     => ['bin'],
-		bindoc     => ['man', 'man1'],
-		libdoc     => ['man', 'man3'],
-		binhtml    => ['html'],
-		libhtml    => ['html'],
-	       },
+       lib        => [@libstyle],
+       arch       => [@libstyle, $version, $arch],
+       bin        => ['bin'],
+       script     => ['bin'],
+       bindoc     => ['man', 'man1'],
+       libdoc     => ['man', 'man3'],
+       binhtml    => ['html'],
+       libhtml    => ['html'],
+     },
      site => {
-	      lib        => [@libstyle, 'site_perl'],
-	      arch       => [@libstyle, 'site_perl', $version, $arch],
-	      bin        => ['bin'],
-	      script     => ['bin'],
-	      bindoc     => ['man', 'man1'],
-	      libdoc     => ['man', 'man3'],
-	      binhtml    => ['html'],
-	      libhtml    => ['html'],
-	     },
+       lib        => [@libstyle, 'site_perl'],
+       arch       => [@libstyle, 'site_perl', $version, $arch],
+       bin        => ['bin'],
+       script     => ['bin'],
+       bindoc     => ['man', 'man1'],
+       libdoc     => ['man', 'man3'],
+       binhtml    => ['html'],
+       libhtml    => ['html'],
+     },
     };
     return $p
 }
@@ -523,24 +527,24 @@
 
 # Adapted from IPC::Cmd::can_run()
 sub find_command {
-    my ($self, $command) = @_;
+  my ($self, $command) = @_;
 
-    if( File::Spec->file_name_is_absolute($command) ) {
-        return $self->_maybe_command($command);
+  if( File::Spec->file_name_is_absolute($command) ) {
+    return $self->_maybe_command($command);
 
-    } else {
-        for my $dir ( File::Spec->path ) {
-            my $abs = File::Spec->catfile($dir, $command);
-            return $abs if $abs = $self->_maybe_command($abs);
-        }
+  } else {
+    for my $dir ( File::Spec->path ) {
+      my $abs = File::Spec->catfile($dir, $command);
+      return $abs if $abs = $self->_maybe_command($abs);
     }
+  }
 }
 
 # Copied from ExtUtils::MM_Unix::maybe_command
 sub _maybe_command {
-    my($self,$file) = @_;
-    return $file if -x $file && ! -d $file;
-    return;
+  my($self,$file) = @_;
+  return $file if -x $file && ! -d $file;
+  return;
 }
 
 sub _is_interactive {
@@ -657,7 +661,7 @@
   while (my ($name, $info) = each %auto_features) {
     my $failures = $self->prereq_failures($info);
     my $disabled = grep( /^(?:\w+_)?(?:requires|conflicts)$/,
-			 keys %$failures ) ? 1 : 0;
+                        keys %$failures ) ? 1 : 0;
     $features{$name} = $disabled ? 0 : 1;
   }
   %features = (%features, $ph->{features}->access());
@@ -705,22 +709,22 @@
   my $notes_pm = File::Spec->catfile($self->blib, 'lib', split /::/, "$notes_name.pm");
 
   return if $self->up_to_date(['Build.PL',
-			       $self->config_file('config_data'),
-			       $self->config_file('features')
-			      ], $notes_pm);
+                               $self->config_file('config_data'),
+                               $self->config_file('features')
+                              ], $notes_pm);
 
   $self->log_verbose("Writing config notes to $notes_pm\n");
   File::Path::mkpath(File::Basename::dirname($notes_pm));
 
   Module::Build::Notes->write_config_data
-      (
-       file => $notes_pm,
-       module => $module_name,
-       config_module => $notes_name,
-       config_data => scalar $self->config_data,
-       feature => scalar $self->{phash}{features}->access(),
-       auto_features => scalar $self->auto_features,
-      );
+    (
+     file => $notes_pm,
+     module => $module_name,
+     config_module => $notes_name,
+     config_data => scalar $self->config_data,
+     feature => scalar $self->{phash}{features}->access(),
+     auto_features => scalar $self->auto_features,
+    );
 }
 
 ########################################################################
@@ -1173,7 +1177,7 @@
   my $p = $self->{properties};
   if ($self->module_name) {
     $p->{dist_version_from} ||=
-	join( '/', 'lib', split(/::/, $self->module_name) ) . '.pm';
+      join( '/', 'lib', split(/::/, $self->module_name) ) . '.pm';
   }
   return $p->{dist_version_from} || undef;
 }
@@ -1557,17 +1561,17 @@
       my $status = $self->check_installed_status($modname, $spec);
 
       if ($type =~ /^(?:\w+_)?conflicts$/) {
-	next if !$status->{ok};
-	$status->{conflicts} = delete $status->{need};
-	$status->{message} = "$modname ($status->{have}) conflicts with this distribution";
+        next if !$status->{ok};
+        $status->{conflicts} = delete $status->{need};
+        $status->{message} = "$modname ($status->{have}) conflicts with this distribution";
 
       } elsif ($type =~ /^(?:\w+_)?recommends$/) {
-	next if $status->{ok};
-	$status->{message} = (!ref($status->{have}) && $status->{have} eq '<none>'
-			      ? "$modname is not installed"
-			      : "$modname ($status->{have}) is installed, but we prefer to have $spec");
+        next if $status->{ok};
+        $status->{message} = (!ref($status->{have}) && $status->{have} eq '<none>'
+                              ? "$modname is not installed"
+                              : "$modname ($status->{have}) is installed, but we prefer to have $spec");
       } else {
-	next if $status->{ok};
+        next if $status->{ok};
       }
 
       $out->{$type}{$modname} = $status;
@@ -1638,6 +1642,7 @@
 sub _parse_conditions {
   my ($self, $spec) = @_;
 
+  return ">= 0" if not defined $spec;
   if ($spec =~ /^\s*([\w.]+)\s*$/) { # A plain number, maybe with dots, letters, and underscores
     return (">= $spec");
   } else {
@@ -1986,8 +1991,8 @@
   $self->log_verbose("Checking whether your kit is complete...\n");
   if (my @missed = ExtUtils::Manifest::manicheck()) {
     $self->log_warn("WARNING: the following files are missing in your kit:\n",
-		    "\t", join("\n\t", @missed), "\n",
-		    "Please inform the author.\n\n");
+                    "\t", join("\n\t", @missed), "\n",
+                    "Please inform the author.\n\n");
   } else {
     $self->log_verbose("Looks good\n\n");
   }
@@ -2077,8 +2082,8 @@
   my @out;
   while (my ($k, $v) = each %$args) {
     push @out, (UNIVERSAL::isa($v, 'HASH')  ? map {+"--$k", "$_=$v->{$_}"} keys %$v :
-		UNIVERSAL::isa($v, 'ARRAY') ? map {+"--$k", $_} @$v :
-		("--$k", $v));
+                UNIVERSAL::isa($v, 'ARRAY') ? map {+"--$k", $_} @$v :
+                ("--$k", $v));
   }
   return @out;
 }
@@ -2119,12 +2124,14 @@
   return $opt;
 }
 
+my %singular_argument = map { ($_ => 1) } qw/install_base prefix destdir installdir verbose quiet uninst debug sign/;
+
 sub _read_arg {
   my ($self, $args, $key, $val) = @_;
 
   $key = $self->_translate_option($key);
 
-  if ( exists $args->{$key} ) {
+  if ( exists $args->{$key} and not $singular_argument{$key} ) {
     $args->{$key} = [ $args->{$key} ] unless ref $args->{$key};
     push @{$args->{$key}}, $val;
   } else {
@@ -2215,7 +2222,7 @@
     $args{$_} = [ $args{$_} ] unless ref $args{$_};
     foreach my $arg ( @{$args{$_}} ) {
       $arg =~ /($opt_re)=(.*)/
-	or die "Malformed '$_' argument: '$arg' should be something like 'foo=bar'";
+        or die "Malformed '$_' argument: '$arg' should be something like 'foo=bar'";
       $hash{$1} = $2;
     }
     $args{$_} = \%hash;
@@ -2234,10 +2241,10 @@
       next if !defined $args{$key}{$subkey};
       my $subkey_ext = $self->_detildefy($args{$key}{$subkey});
       if ( $subkey eq 'html' ) { # translate for compatibility
-	$args{$key}{binhtml} = $subkey_ext;
-	$args{$key}{libhtml} = $subkey_ext;
+        $args{$key}{binhtml} = $subkey_ext;
+        $args{$key}{libhtml} = $subkey_ext;
       } else {
-	$args{$key}{$subkey} = $subkey_ext;
+        $args{$key}{$subkey} = $subkey_ext;
       }
     }
   }
@@ -2267,8 +2274,8 @@
     if ( exists( $opts1->{$key} ) ) {
       if ( ref( $val ) eq 'HASH' ) {
         while (my ($k, $v) = each %$val) {
-	  $new_opts{$key}{$k} = $v unless exists( $opts1->{$key}{$k} );
-	}
+          $new_opts{$key}{$k} = $v unless exists( $opts1->{$key}{$k} );
+        }
       }
     } else {
       $new_opts{$key} = $val
@@ -2318,8 +2325,8 @@
     $modulebuildrc = $ENV{MODULEBUILDRC};
   } elsif ( exists($ENV{MODULEBUILDRC}) ) {
     $self->log_warn("WARNING: Can't find resource file " .
-		    "'$ENV{MODULEBUILDRC}' defined in environment.\n" .
-		    "No options loaded\n");
+                    "'$ENV{MODULEBUILDRC}' defined in environment.\n" .
+                    "No options loaded\n");
     return ();
   } else {
     $modulebuildrc = $self->_find_user_config( '.modulebuildrc' );
@@ -2337,9 +2344,9 @@
 
     if ( $line =~ /^\S/ ) {
       if ( $buffer ) {
-	my( $action, $options ) = split( /\s+/, $buffer, 2 );
-	$options{$action} .= $options . ' ';
-	$buffer = '';
+        my( $action, $options ) = split( /\s+/, $buffer, 2 );
+        $options{$action} .= $options . ' ';
+        $buffer = '';
       }
       $buffer = $line;
     } else {
@@ -2394,9 +2401,9 @@
                    $self->{args}               ;
 
       if ($additive{$key}) {
-	$add_to->{$_} = $val->{$_} foreach keys %$val;
+        $add_to->{$_} = $val->{$_} foreach keys %$val;
       } else {
-	$add_to->{$key} = $val;
+        $add_to->{$key} = $val;
       }
     }
   }
@@ -2687,7 +2694,7 @@
 
   # Make sure we test the module in blib/
   unshift @INC, (File::Spec->catdir($p->{base_dir}, $self->blib, 'lib'),
-		 File::Spec->catdir($p->{base_dir}, $self->blib, 'arch'));
+                 File::Spec->catdir($p->{base_dir}, $self->blib, 'arch'));
 
   # Filter out nonsensical @INC entries - some versions of
   # Test::Harness will really explode the number of entries here
@@ -2825,7 +2832,7 @@
 
     $self->do_system(qw(cover -delete))
       unless $self->up_to_date($pm_files,         $cover_files)
-	  && $self->up_to_date($self->test_files, $cover_files);
+          && $self->up_to_date($self->test_files, $cover_files);
   }
 
   local $Test::Harness::switches    =
@@ -2940,7 +2947,7 @@
   my %files;
   for my $dir ( @$list ) {
     for my $f ( @{ $self->rscan_dir( $dir, sub {-f} )} ) {
-      $f =~ s{\A.*\Q$dir\E/}{};
+      $f =~ s{\A.*?\Q$dir\E/}{};
       $files{"$dir/$f"} = "$prefix/$f";
     }
   }
@@ -2996,14 +3003,14 @@
 
     if (UNIVERSAL::isa($files, 'ARRAY')) {
       return { map {$_, [/^(.*)\.PL$/]}
-	       map $self->localize_file_path($_),
-	       @$files };
+               map $self->localize_file_path($_),
+               @$files };
 
     } elsif (UNIVERSAL::isa($files, 'HASH')) {
       my %out;
       while (my ($file, $to) = each %$files) {
-	$out{ $self->localize_file_path($file) } = [ map $self->localize_file_path($_),
-						     ref $to ? @$to : ($to) ];
+        $out{ $self->localize_file_path($file) } = [ map $self->localize_file_path($_),
+                                                     ref $to ? @$to : ($to) ];
       }
       return \%out;
 
@@ -3042,8 +3049,8 @@
   if (my $files = $p->{test_files}) {
     $files = [keys %$files] if UNIVERSAL::isa($files, 'HASH');
     $files = [map { -d $_ ? $self->expand_test_dir($_) : $_ }
-	      map glob,
-	      $self->split_like_shell($files)];
+              map glob,
+              $self->split_like_shell($files)];
 
     # Always given as a Unix file spec.
     return [ map $self->localize_file_path($_), @$files ];
@@ -3067,9 +3074,9 @@
 
   return {} unless -d $dir;
   return { map {$_, $_}
-	   map $self->localize_file_path($_),
-	   grep !/\.\#/,
-	   @{ $self->rscan_dir($dir, $self->file_qr("\\.$type\$")) } };
+           map $self->localize_file_path($_),
+           grep !/\.\#/,
+           @{ $self->rscan_dir($dir, $self->file_qr("\\.$type\$")) } };
 }
 
 sub localize_file_path {
@@ -3192,8 +3199,8 @@
   my $type = shift;
   return ( $self->install_destination($type) &&
            ( $self->install_path($type) ||
-	     $self->install_sets($self->installdirs)->{$type} )
-	 ) ? 1 : 0;
+             $self->install_sets($self->installdirs)->{$type} )
+         ) ? 1 : 0;
 }
 
 sub _is_ActivePerl {
@@ -3248,7 +3255,7 @@
     # This is expected to change in a future version (Pod::Simple > 3.03).
     my $parser  = Pod::Man->new( section => 1 ); # binaries go in section 1
     my $manpage = $self->man1page_name( $file ) . '.' .
-	          $self->config( 'man1ext' );
+                  $self->config( 'man1ext' );
     my $outfile = File::Spec->catfile($mandir, $manpage);
     next if $self->up_to_date( $file, $outfile );
     $self->log_verbose("Manifying $file -> $outfile\n");
@@ -3273,7 +3280,7 @@
     # This is expected to change in a future version (Pod::Simple > 3.03).
     my $parser  = Pod::Man->new( section => 3 ); # libraries go in section 3
     my $manpage = $self->man3page_name( $relfile ) . '.' .
-	          $self->config( 'man3ext' );
+                  $self->config( 'man3ext' );
     my $outfile = File::Spec->catfile( $mandir, $manpage);
     next if $self->up_to_date( $file, $outfile );
     $self->log_verbose("Manifying $file -> $outfile\n");
@@ -3292,7 +3299,7 @@
 
     FILE: foreach my $file ( @{ $self->rscan_dir( $dir ) } ) {
       foreach my $regexp ( @{ $args{exclude} } ) {
-	next FILE if $file =~ $regexp;
+        next FILE if $file =~ $regexp;
       }
       $files{$file} = File::Spec->abs2rel($file, $dir) if $self->contains_pod( $file )
     }
@@ -3428,7 +3435,6 @@
       $title .= " - $abstract" if $abstract;
 
       my @opts = (
-        '--flush',
         "--title=$title",
         "--podpath=$podpath",
         "--infile=$infile",
@@ -3437,7 +3443,13 @@
         "--htmlroot=$path2root",
       );
 
-      if ( eval{Pod::Html->VERSION(1.03)} ) {
+      unless ( eval{Pod::Html->VERSION(1.12)} ) {
+        push( @opts, ('--flush') ); # caching removed in 1.12
+      }
+
+      if ( eval{Pod::Html->VERSION(1.12)} ) {
+        push( @opts, ('--header', '--backlink') );
+      } elsif ( eval{Pod::Html->VERSION(1.03)} ) {
         push( @opts, ('--header', '--backlink=Back to Top') );
       }
 
@@ -3537,8 +3549,8 @@
       my $installed = Module::Build::ModuleInfo->find_module_by_name(
                         join('::', @parts), \@myINC );
       if (not $installed) {
-	print "Only in lib: $file\n";
-	next;
+        print "Only in lib: $file\n";
+        next;
       }
 
       my $status = File::Compare::compare($installed, $file);
@@ -3546,9 +3558,9 @@
       die "Can't compare $installed and $file: $!" if $status == -1;
 
       if ($file =~ $text_suffix) {
-	$self->do_system('diff', @flags, $installed, $file);
+        $self->do_system('diff', @flags, $installed, $file);
       } else {
-	print "Binary files $file and $installed differ\n";
+        print "Binary files $file and $installed differ\n";
       }
     }
   }
@@ -3737,12 +3749,12 @@
     foreach my $file ( @$files ) {
       next unless -f $file;
       my $rel_file =
-	File::Spec->abs2rel( File::Spec->rel2abs( $file ),
-			     File::Spec->rel2abs( $dir  ) );
+        File::Spec->abs2rel( File::Spec->rel2abs( $file ),
+                             File::Spec->rel2abs( $dir  ) );
       my $to_file  =
-	File::Spec->catfile( $ppm, 'blib',
-			    exists( $types{$type} ) ? $types{$type} : $type,
-			    $rel_file );
+        File::Spec->catfile( $ppm, 'blib',
+                            exists( $types{$type} ) ? $types{$type} : $type,
+                            $rel_file );
       $self->copy_if_modified( from => $file, to => $to_file );
     }
   }
@@ -3991,14 +4003,14 @@
 
       my $old_parse_file;
       $old_parse_file = \&{"Pod::Simple::parse_file"}
-	and
+        and
       local *{"Pod::Simple::parse_file"} = sub {
-	my $self = shift;
-	$self->output_fh($_[1]) if $_[1];
-	$self->$old_parse_file($_[0]);
+        my $self = shift;
+        $self->output_fh($_[1]) if $_[1];
+        $self->$old_parse_file($_[0]);
       }
         if $Pod::Text::VERSION
-	  == 3.01; # Split line to avoid evil version-finder
+          == 3.01; # Split line to avoid evil version-finder
 
       Pod::Text::pod2text( $docfile, $fh );
 
@@ -4078,14 +4090,14 @@
   $self->_do_in_dir
     ( $self->dist_dir,
       sub {
-	# XXX could be different names for scripts
+        # XXX could be different names for scripts
 
-	$self->run_perl_script('Build.PL') # XXX Should this be run w/ --nouse-rcfile
-	  or die "Error executing 'Build.PL' in dist directory: $!";
-	$self->run_perl_script('Build')
-	  or die "Error executing 'Build' in dist directory: $!";
-	$self->run_perl_script('Build', [], ['test'])
-	  or die "Error executing 'Build test' in dist directory";
+        $self->run_perl_script('Build.PL') # XXX Should this be run w/ --nouse-rcfile
+          or die "Error executing 'Build.PL' in dist directory: $!";
+        $self->run_perl_script('Build')
+          or die "Error executing 'Build' in dist directory: $!";
+        $self->run_perl_script('Build', [], ['test'])
+          or die "Error executing 'Build test' in dist directory";
       });
 }
 
@@ -4724,7 +4736,7 @@
   my $pkgs = eval { $self->find_dist_packages };
   if ($@) {
     $self->log_warn("$@\nWARNING: Possible missing or corrupt 'MANIFEST' file.\n" .
-		    "Nothing to enter for 'provides' field in metafile.\n");
+                    "Nothing to enter for 'provides' field in metafile.\n");
   } else {
     $node->{provides} = $pkgs if %$pkgs;
   }
@@ -4736,9 +4748,9 @@
   $add_node->('generated_by', "Module::Build version $Module::Build::VERSION");
 
   $add_node->('meta-spec',
-	      {version => '1.4',
-	       url     => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
-	      });
+              {version => '1.4',
+               url     => 'http://module-build.sourceforge.net/META-spec-v1.4.html',
+              });
 
   while (my($k, $v) = each %{$self->meta_add}) {
     $add_node->($k, $v);
@@ -4829,42 +4841,42 @@
     if ( exists( $prime{$package} ) ) { # primary package selected
 
       if ( $result->{err} ) {
-	# Use the selected primary package, but there are conflicting
-	# errors among multiple alternative packages that need to be
-	# reported
+        # Use the selected primary package, but there are conflicting
+        # errors among multiple alternative packages that need to be
+        # reported
         $self->log_warn(
-	  "Found conflicting versions for package '$package'\n" .
-	  "  $prime{$package}{file} ($prime{$package}{version})\n" .
-	  $result->{err}
+          "Found conflicting versions for package '$package'\n" .
+          "  $prime{$package}{file} ($prime{$package}{version})\n" .
+          $result->{err}
         );
 
       } elsif ( defined( $result->{version} ) ) {
-	# There is a primary package selected, and exactly one
-	# alternative package
+        # There is a primary package selected, and exactly one
+        # alternative package
 
-	if ( exists( $prime{$package}{version} ) &&
-	     defined( $prime{$package}{version} ) ) {
-	  # Unless the version of the primary package agrees with the
-	  # version of the alternative package, report a conflict
-	  if ( $self->compare_versions( $prime{$package}{version}, '!=',
-					$result->{version} ) ) {
+        if ( exists( $prime{$package}{version} ) &&
+             defined( $prime{$package}{version} ) ) {
+          # Unless the version of the primary package agrees with the
+          # version of the alternative package, report a conflict
+          if ( $self->compare_versions( $prime{$package}{version}, '!=',
+                                        $result->{version} ) ) {
             $self->log_warn(
               "Found conflicting versions for package '$package'\n" .
-	      "  $prime{$package}{file} ($prime{$package}{version})\n" .
-	      "  $result->{file} ($result->{version})\n"
+              "  $prime{$package}{file} ($prime{$package}{version})\n" .
+              "  $result->{file} ($result->{version})\n"
             );
-	  }
+          }
 
-	} else {
-	  # The prime package selected has no version so, we choose to
-	  # use any alternative package that does have a version
-	  $prime{$package}{file}    = $result->{file};
-	  $prime{$package}{version} = $result->{version};
-	}
+        } else {
+          # The prime package selected has no version so, we choose to
+          # use any alternative package that does have a version
+          $prime{$package}{file}    = $result->{file};
+          $prime{$package}{version} = $result->{version};
+        }
 
       } else {
-	# no alt package found with a version, but we have a prime
-	# package so we use it whether it has a version or not
+        # no alt package found with a version, but we have a prime
+        # package so we use it whether it has a version or not
       }
 
     } else { # No primary package was selected, use the best alternative
@@ -4872,7 +4884,7 @@
       if ( $result->{err} ) {
         $self->log_warn(
           "Found conflicting versions for package '$package'\n" .
-	  $result->{err}
+          $result->{err}
         );
       }
 
@@ -4880,14 +4892,18 @@
       # something rather than nothing
       $prime{$package}{file}    = $result->{file};
       $prime{$package}{version} = $result->{version}
-	  if defined( $result->{version} );
+          if defined( $result->{version} );
     }
   }
 
-  # Normalize versions.  Can't use exists() here because of bug in YAML::Node.
-  # XXX "bug in YAML::Node" comment seems irrelvant -- dagolden, 2009-05-18
-  for (grep defined $_->{version}, values %prime) {
-    $_->{version} = $self->normalize_version( $_->{version} );
+  # Normalize versions or delete them if undef/0
+  for my $provides ( values %prime ) {
+    if ( $provides->{version} ) {
+      $provides->{version} = $self->normalize_version( $provides->{version} )
+    }
+    else {
+      delete $provides->{version};
+    }
   }
 
   return \%prime;
@@ -4905,16 +4921,16 @@
   my $err = '';
     foreach my $p ( @$packages ) {
       if ( defined( $p->{version} ) ) {
-	if ( defined( $version ) ) {
- 	  if ( $self->compare_versions( $version, '!=', $p->{version} ) ) {
-	    $err .= "  $p->{file} ($p->{version})\n";
-	  } else {
-	    # same version declared multiple times, ignore
-	  }
-	} else {
-	  $file    = $p->{file};
-	  $version = $p->{version};
-	}
+        if ( defined( $version ) ) {
+          if ( $self->compare_versions( $version, '!=', $p->{version} ) ) {
+            $err .= "  $p->{file} ($p->{version})\n";
+          } else {
+            # same version declared multiple times, ignore
+          }
+        } else {
+          $file    = $p->{file};
+          $version = $p->{version};
+        }
       }
       $file ||= $p->{file} if defined( $p->{file} );
     }
@@ -5101,9 +5117,9 @@
   my $relpath = $self->install_sets($installdirs)->{$type};
 
   return $self->_prefixify($relpath,
-			   $self->original_prefix($installdirs),
-			   $type,
-			  );
+                           $self->original_prefix($installdirs),
+                           $type,
+                          );
 }
 
 # Translated from ExtUtils::MM_Unix::prefixify()
@@ -5257,8 +5273,8 @@
   local $_; # find() can overwrite $_, so protect ourselves
   my $subr = !$pattern ? sub {push @result, $File::Find::name} :
              !ref($pattern) || (ref $pattern eq 'Regexp') ? sub {push @result, $File::Find::name if /$pattern/} :
-	     ref($pattern) eq 'CODE' ? sub {push @result, $File::Find::name if $pattern->()} :
-	     die "Unknown pattern type";
+             ref($pattern) eq 'CODE' ? sub {push @result, $File::Find::name if $pattern->()} :
+             die "Unknown pattern type";
 
   File::Find::find({wanted => $subr, no_chdir => 1}, $dir);
   return \@result;
@@ -5324,11 +5340,11 @@
   return $obj_file if $self->up_to_date($file, $obj_file);
 
   $b->compile(source => $file,
-	      defines => $args{defines},
-	      object_file => $obj_file,
-	      include_dirs => $self->include_dirs,
-	      extra_compiler_flags => $self->extra_compiler_flags,
-	     );
+              defines => $args{defines},
+              object_file => $obj_file,
+              include_dirs => $self->include_dirs,
+              extra_compiler_flags => $self->extra_compiler_flags,
+             );
 
   return $obj_file;
 }
@@ -5343,7 +5359,7 @@
 
   return $spec->{lib_file}
     if $self->up_to_date([$spec->{obj_file}, @$objects],
-			 $spec->{lib_file});
+                         $spec->{lib_file});
 
   my $module_name = $spec->{module_name} || $self->module_name;
 
@@ -5364,10 +5380,10 @@
   if (eval {require ExtUtils::ParseXS; 1}) {
 
     ExtUtils::ParseXS::process_file(
-				    filename => $file,
-				    prototypes => 0,
-				    output => $args{outfile},
-				   );
+                                    filename => $file,
+                                    prototypes => 0,
+                                    output => $args{outfile},
+                                   );
   } else {
     # Ok, I give up.  Just use backticks.
 
@@ -5388,7 +5404,7 @@
     my $perl = $self->{properties}{perl};
 
     my @command = ($perl, "-I".$cf->get('installarchlib'), "-I".$cf->get('installprivlib'), $xsubpp, '-noprototypes',
-		   @typemaps, $file);
+                   @typemaps, $file);
 
     $self->log_info("@command\n");
     my $fh = IO::File->new("> $args{outfile}") or die "Couldn't write $args{outfile}: $!";
@@ -5475,18 +5491,18 @@
   $spec{module_name} = join( '::', (@d, $file_base) );
 
   $spec{archdir} = File::Spec->catdir($self->blib, 'arch', 'auto',
-				      @d, $file_base);
+                                      @d, $file_base);
 
   $spec{bs_file} = File::Spec->catfile($spec{archdir}, "${file_base}.bs");
 
   $spec{lib_file} = File::Spec->catfile($spec{archdir},
-					"${file_base}.".$cf->get('dlext'));
+                                        "${file_base}.".$cf->get('dlext'));
 
   $spec{c_file} = File::Spec->catfile( $spec{src_dir},
-				       "${file_base}.c" );
+                                       "${file_base}.c" );
 
   $spec{obj_file} = File::Spec->catfile( $spec{src_dir},
-					 "${file_base}".$cf->get('obj_ext') );
+                                         "${file_base}".$cf->get('obj_ext') );
 
   return \%spec;
 }
@@ -5509,7 +5525,7 @@
   # .c -> .o
   my $v = $self->dist_version;
   $self->compile_c($spec->{c_file},
-		   defines => {VERSION => qq{"$v"}, XS_VERSION => qq{"$v"}});
+                   defines => {VERSION => qq{"$v"}, XS_VERSION => qq{"$v"}});
 
   # archdir
   File::Path::mkpath($spec->{archdir}, 0, oct(777)) unless -d $spec->{archdir};
@@ -5554,9 +5570,9 @@
 sub copy_if_modified {
   my $self = shift;
   my %args = (@_ > 3
-	      ? ( @_ )
-	      : ( from => shift, to_dir => shift, flatten => shift )
-	     );
+              ? ( @_ )
+              : ( from => shift, to_dir => shift, flatten => shift )
+             );
   $args{verbose} = !$self->quiet
     unless exists $args{verbose};
 
@@ -5573,8 +5589,8 @@
     $to_path = $args{to};
   } elsif (defined $args{to_dir} and length $args{to_dir}) {
     $to_path = File::Spec->catfile( $args{to_dir}, $args{flatten}
-				    ? File::Basename::basename($file)
-				    : $file );
+                                    ? File::Basename::basename($file)
+                                    : $file );
   } else {
     die "No 'to' or 'to_dir' parameter given to copy_if_modified";
   }
@@ -5640,8 +5656,8 @@
   return 0 if @second_dirs < @first_dirs;
 
   my $is_same = ( $self->_case_tolerant
-		  ? sub {lc(shift()) eq lc(shift())}
-		  : sub {shift() eq shift()} );
+                  ? sub {lc(shift()) eq lc(shift())}
+                  : sub {shift() eq shift()} );
 
   while (@first_dirs) {
     return 0 unless $is_same->(shift @first_dirs, shift @second_dirs);


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Bundling.pod
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Bundling.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Bundling.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Bundling.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Compat.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Compat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Compat.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 
 use File::Basename ();
 use File::Spec;


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Compat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Config.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Config;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ConfigData.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ConfigData.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ConfigData.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ConfigData.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Cookbook.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Cookbook.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Cookbook.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package Module::Build::Cookbook;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 
 
 =head1 NAME


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Cookbook.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Dumper.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Dumper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Dumper.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package Module::Build::Dumper;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 
 # This is just a split-out of a wrapper function to do Data::Dumper
 # stuff "the right way".  See:


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Dumper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 
 require Module::Metadata;


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Notes.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Notes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Notes.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Data::Dumper;
 use IO::File;


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Notes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PPMMaker.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PPMMaker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PPMMaker.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use vars qw($VERSION);
 use IO::File;
 
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 
 # This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PPMMaker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Default.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Default.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Default.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Default.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 use vars qw(@ISA);


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 use Config;


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Base;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 
 use Config;


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/aix.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/aix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/aix.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/aix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/os2.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/os2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/os2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use Module::Build::Platform::Unix;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Platform/os2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PodParser.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PodParser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PodParser.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 use vars qw(@ISA);
 
@@ -11,18 +11,9 @@
   my $package = shift;
 
   my $self;
+  @ISA = ();
+  $self = bless {have_pod_parser => 0, @_}, $package;
 
-  # Try using Pod::Parser first
-  if (eval{ require Pod::Parser; 1; }) {
-    @ISA = qw(Pod::Parser);
-    $self = $package->SUPER::new(@_);
-    $self->{have_pod_parser} = 1;
-  } else {
-    @ISA = ();
-    *parse_from_filehandle = \&_myparse_from_filehandle;
-    $self = bless {have_pod_parser => 0, @_}, $package;
-  }
-
   unless ($self->{fh}) {
     die "No 'file' or 'fh' parameter given" unless $self->{file};
     $self->{fh} = IO::File->new($self->{file}) or die "Couldn't open $self->{file}: $!";
@@ -31,13 +22,14 @@
   return $self;
 }
 
-sub _myparse_from_filehandle {
+sub parse_from_filehandle {
   my ($self, $fh) = @_;
 
   local $_;
   while (<$fh>) {
     next unless /^=(?!cut)/ .. /^=cut/;  # in POD
-    last if ($self->{abstract}) = /^  (?:  [a-z:]+  \s+ - \s+  )  (.*\S)  /ix;
+    # Accept Name - abstract or C<Name> - abstract
+    last if ($self->{abstract}) = /^ (?: [a-z0-9:]+ | [BCIF] < [a-z0-9:]+ > ) \s+ - \s+ (.*\S) /ix;
   }
 
   my @author;
@@ -71,36 +63,3 @@
 
   return $self->{author} || [];
 }
-
-################## Pod::Parser overrides ###########
-sub initialize {
-  my $self = shift;
-  $self->{_head} = '';
-  $self->SUPER::initialize();
-}
-
-sub command {
-  my ($self, $cmd, $text) = @_;
-  if ( $cmd eq 'head1' ) {
-    $text =~ s/^\s+//;
-    $text =~ s/\s+$//;
-    $self->{_head} = $text;
-  }
-}
-
-sub textblock {
-  my ($self, $text) = @_;
-  $text =~ s/^\s+//;
-  $text =~ s/\s+$//;
-  if (uc $self->{_head} eq 'NAME') {
-    my ($name, $abstract) = split( /\s+-\s+/, $text, 2 );
-    $self->{abstract} = $abstract;
-  } elsif ($self->{_head} =~ /^AUTHORS?$/i) {
-    push @{$self->{author}}, $text if $text =~ /\@/;
-  }
-}
-
-sub verbatim {}
-sub interior_sequence {}
-
-1;


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/PodParser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Version.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Version.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Version.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/Version.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/YAML.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build/YAML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build/YAML.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build/YAML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/Module/Build.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/Module/Build.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/Module/Build.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 
 use vars qw($VERSION @ISA);
 @ISA = qw(Module::Build::Base);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 
 
@@ -139,7 +139,7 @@
 
 =head1 GUIDE TO DOCUMENTATION
 
-The documentation for C<Module::Build> is broken up into three sections:
+The documentation for C<Module::Build> is broken up into sections:
 
 =over
 
@@ -878,7 +878,7 @@
 
   lib     => installprivlib  installsitelib      installvendorlib
   arch    => installarchlib  installsitearch     installvendorarch
-  script  => installscript   installsitebin      installvendorbin
+  script  => installscript   installsitescript   installvendorscript
   bin     => installbin      installsitebin      installvendorbin
   bindoc  => installman1dir  installsiteman1dir  installvendorman1dir
   libdoc  => installman3dir  installsiteman3dir  installvendorman3dir
@@ -967,9 +967,9 @@
 =item prefix
 
 Provided for compatibility with C<ExtUtils::MakeMaker>'s PREFIX argument.
-C<prefix> should be used when you wish Module::Build to install your
-modules, documentation and scripts in the same place
-C<ExtUtils::MakeMaker> does.
+C<prefix> should be used when you want Module::Build to install your
+modules, documentation, and scripts in the same place as
+C<ExtUtils::MakeMaker>'s PREFIX mechanism.
 
 The following are equivalent.
 
@@ -976,15 +976,19 @@
     perl Build.PL --prefix /tmp/foo
     perl Makefile.PL PREFIX=/tmp/foo
 
-Because of the very complex nature of the prefixification logic, the
+Because of the complex nature of the prefixification logic, the
 behavior of PREFIX in C<MakeMaker> has changed subtly over time.
 Module::Build's --prefix logic is equivalent to the PREFIX logic found
 in C<ExtUtils::MakeMaker> 6.30.
 
-If you do not need to retain compatibility with C<ExtUtils::MakeMaker> or
+The maintainers of C<MakeMaker> do understand the troubles with the
+PREFIX mechanism, and added INSTALL_BASE support in version 6.31 of
+C<MakeMaker>, which was released in 2006.
+
+If you don't need to retain compatibility with old versions (pre-6.31) of C<ExtUtils::MakeMaker> or
 are starting a fresh Perl installation we recommend you use
 C<install_base> instead (and C<INSTALL_BASE> in C<ExtUtils::MakeMaker>).
-See L<Module::Build::Cookbook/Instaling in the same location as
+See L<Module::Build::Cookbook/Installing in the same location as
 ExtUtils::MakeMaker> for further information.
 
 
@@ -1046,14 +1050,14 @@
 It is risky to make major changes to C<MakeMaker>, since it does so many
 things, is so important, and generally works.  C<Module::Build> is an
 entirely separate package so that I can work on it all I want, without
-worrying about backward compatibility.
+worrying about backward compatibility with C<MakeMaker>.
 
 =item *
 
 Finally, Perl is said to be a language for system administration.
 Could it really be the case that Perl isn't up to the task of building
-and installing software?  Even if that software is a bunch of stupid
-little C<.pm> files that just need to be copied from one place to
+and installing software?  Even if that software is a bunch of
+C<.pm> files that just need to be copied from one place to
 another?  My sense was that we could design a system to accomplish
 this in a flexible, extensible, and friendly manner.  Or die trying.
 
@@ -1083,7 +1087,7 @@
 <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Build>.
 
 The latest development version is available from the Git
-repository at <https://github.com/dagolden/module-build/>
+repository at <https://github.com/Perl-Toolchain-Gang/Module-Build>
 
 
 =head1 COPYRIGHT


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/Module/Build.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/inc/latest/private.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/inc/latest/private.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/inc/latest/private.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package inc::latest::private;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 
 use File::Spec;


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/inc/latest/private.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/lib/inc/latest.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/lib/inc/latest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/lib/inc/latest.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package inc::latest;
 use strict;
 use vars qw($VERSION);
-$VERSION = '0.3800';
+$VERSION = '0.4003';
 $VERSION = eval $VERSION;
 
 use Carp;
@@ -132,7 +132,7 @@
 
 Arguments to C<inc::latest> are module names that are checked against both the
 current C<@INC> array and against specially-named directories in C<inc>.  If
-the bundled verison is newer than the installed one (or the module isn't
+the bundled version is newer than the installed one (or the module isn't
 installed, then, the bundled directory is added to the start of <@INC> and the
 module is loaded from there.
 
@@ -192,7 +192,7 @@
   my @list = inc::latest->loaded_modules;
 
 This takes no arguments and always returns a list of module names requested for
-loading via "use inc::latest 'MODULE'", regardless of wether the load was
+loading via "use inc::latest 'MODULE'", regardless of whether the load was
 successful or not.
 
 =item write()


Property changes on: vendor/perl/dist/cpan/Module-Build/lib/inc/latest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/00-compile.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/00-compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/00-compile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/00-compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/PL_files.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/PL_files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/PL_files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/PL_files.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/README.pod
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/README.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/README.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/README.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/actions/installdeps.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/actions/installdeps.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/actions/installdeps.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/actions/installdeps.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/actions/manifest_skip.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/actions/manifest_skip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/actions/manifest_skip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/actions/manifest_skip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/add_property.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/add_property.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/add_property.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/add_property.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/bundle_inc.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/bundle_inc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/bundle_inc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/bundle_inc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/bundled/Software/License.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/bundled/Software/License.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/bundled/Software/License.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/bundled/Software/License.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/t/bundled/Tie/CPHash.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/bundled/Tie/CPHash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/bundled/Tie/CPHash.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 #
 # Author: Christopher J. Madsen <cjm at pobox.com>
 # Created: 08 Nov 1997
-# $Revision: 1.1.1.1 $  $Date: 2011-05-18 13:33:30 $
+# $Revision$  $Date$
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Module-Build/t/bundled/Tie/CPHash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/compat/exit.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/compat/exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/compat/exit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/compat/exit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/compat.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/compat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/compat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/compat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/debug.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/debug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/debug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/debug.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/destinations.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/destinations.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/destinations.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/destinations.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/ext.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/ext.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/ext.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/ext.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/extend.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/extend.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/extend.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/extend.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/files.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/files.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/help.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/help.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/help.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/help.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/t/install.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/install.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/install.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use lib 't/lib';
-use MBTest tests => 34;
+use MBTest tests => 35;
 
 blib_load('Module::Build');
 
@@ -166,6 +166,10 @@
 					      '--install_base', $basedir])};
   is $@, '';
 
+  eval {$mb->run_perl_script($cmd, [], ['install', '--destdir', $destdir,
+					      '--install_base', $basedir, '--install_base', $basedir])};
+  is $@, '';
+
   $install_to = File::Spec->catfile($destdir, $libdir, $dist->name ) . '.pm';
   is -e $install_to, 1, "Look for file at $install_to";
 


Property changes on: vendor/perl/dist/cpan/Module-Build/t/install.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/install_extra_target.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/install_extra_target.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/install_extra_target.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/install_extra_target.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/lib/DistGen.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/lib/DistGen.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/lib/DistGen.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/lib/DistGen.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/lib/MBTest.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/lib/MBTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/lib/MBTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/lib/MBTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/lib/Module/Signature.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/lib/Module/Signature.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/lib/Module/Signature.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/lib/Module/Signature.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/lib/Software/License/VaporWare.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/lib/Software/License/VaporWare.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/lib/Software/License/VaporWare.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/lib/Software/License/VaporWare.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/manifypods.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/manifypods.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/manifypods.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/manifypods.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/t/metadata.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/metadata.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/metadata.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use lib 't/lib';
-use MBTest tests => 52;
+use MBTest tests => 51;
 
 blib_load('Module::Build');
 blib_load('Module::Build::ConfigData');
@@ -63,7 +63,7 @@
 {
   my $mb_prereq = { 'Module::Build' => $Module::Build::VERSION };
   my $mb_config_req = {
-    'Module::Build' => int($Module::Build::VERSION * 100)/100
+    'Module::Build' => sprintf '%2.2f', int($Module::Build::VERSION * 100)/100
   };
   my $node;
   my $output = stdout_stderr_of( sub {
@@ -177,9 +177,9 @@
 {
   $dist->change_file( 'lib/Simple.pm', <<'---' );
 package Simple;
-$VERSION = version->new('0.60.' . (qw$Revision: 1.1.1.1 $)[1]);
+$VERSION = version->new('0.60.' . (qw$Revision: 128 $)[1]);
 package Simple::Simon;
-$VERSION = version->new('0.61.' . (qw$Revision: 1.1.1.1 $)[1]);
+$VERSION = version->new('0.61.' . (qw$Revision: 129 $)[1]);
 ---
   $dist->regen;
   my $provides = new_build()->get_metadata()->{provides};
@@ -275,7 +275,6 @@
 is_deeply($provides,
 	  {'Simple' => { file => $simple_file,
 			 version => '1.23' }}); # XXX should be 2.34?
-like( $err, qr/already declared/, '  with conflicting versions reported' );
 
 
 # (Same as above three cases except with no corresponding package)
@@ -294,9 +293,21 @@
 is_deeply($provides,
 	  {'Foo' => { file => $simple_file,
 		      version => '1.23' }}); # XXX should be 2.34?
-like( $err, qr/already declared/, '  with conflicting versions reported' );
 
+# Missing version should not show up in provides as version "0"
 
+$dist->change_file( 'lib/Simple.pm', <<'---' );
+package Foo;
+$VERSION = undef;
+1;
+---
+$dist->regen( clean => 1 );
+$err = stderr_of( sub { $mb = new_build() } );
+$err = stderr_of( sub { $provides = $mb->find_dist_packages } );
+is_deeply($provides,
+    {'Foo' => { file => $simple_file } },
+    "undef \$VERSION is omitted from 'provides'"
+);
 
 ############################## Multiple Modules
 


Property changes on: vendor/perl/dist/cpan/Module-Build/t/metadata.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/metadata2.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/metadata2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/metadata2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/metadata2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/t/mymeta.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/mymeta.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/mymeta.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,7 @@
 use lib 't/lib';
 use MBTest;
 use CPAN::Meta 2.110420;
+use CPAN::Meta::YAML;
 use Parse::CPAN::Meta 1.4401;
 plan tests => 39;
 


Property changes on: vendor/perl/dist/cpan/Module-Build/t/mymeta.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/new_from_context.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/new_from_context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/new_from_context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/new_from_context.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/notes.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/notes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/notes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/notes.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/parents.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/parents.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/parents.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/parents.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/perl_mb_opt.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/perl_mb_opt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/perl_mb_opt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/perl_mb_opt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/t/pod_parser.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/pod_parser.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/pod_parser.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use lib 't/lib';
-use MBTest tests => 9;
+use MBTest tests => 12;
 
 blib_load('Module::Build::PodParser');
 
@@ -88,3 +88,28 @@
   is $pp->get_author->[0], 'C<Foo::Bar> was written by Engelbert Humperdinck I<E<lt>eh at example.comE<gt>> in 2004.', 'author';
   is $pp->get_abstract, 'Perl extension for blah blah blah', 'abstract';
 }
+
+
+{
+    # Now with C<Module::Name>
+  untie *FH;
+  tie *FH, 'IO::StringBased', <<'EOF';
+=head1 Name
+
+C<Foo::Bar> - Perl extension for blah blah blah
+
+=head1 Author
+
+C<Foo::Bar> was written by Engelbert Humperdinck I<E<lt>eh at example.comE<gt>> in 2004.
+
+Home page: http://example.com/~eh/
+
+=cut
+EOF
+
+  my $pp = Module::Build::PodParser->new(fh => \*FH);
+  ok $pp, 'object created';
+
+  is $pp->get_author->[0], 'C<Foo::Bar> was written by Engelbert Humperdinck I<E<lt>eh at example.comE<gt>> in 2004.', 'author';
+  is $pp->get_abstract, 'Perl extension for blah blah blah', 'abstract';
+}


Property changes on: vendor/perl/dist/cpan/Module-Build/t/pod_parser.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/ppm.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/ppm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/ppm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/ppm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/properties/dist_suffix.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/properties/dist_suffix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/properties/dist_suffix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/properties/dist_suffix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/properties/license.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/properties/license.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/properties/license.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/properties/license.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/properties/module_name.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/properties/module_name.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/properties/module_name.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/properties/module_name.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/properties/needs_compiler.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/properties/needs_compiler.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/properties/needs_compiler.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/properties/needs_compiler.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/properties/release_status.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/properties/release_status.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/properties/release_status.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/properties/release_status.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/properties/requires.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/properties/requires.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/properties/requires.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/properties/requires.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/t/properties/share_dir.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/properties/share_dir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/properties/share_dir.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 # Begin testing
 #--------------------------------------------------------------------------#
 
-plan tests => 21;
+plan tests => 23;
 
 blib_load('Module::Build');
 
@@ -43,11 +43,19 @@
 $dist->add_file('share/foo.txt',<< '---');
 This is foo.txt
 ---
+$dist->add_file('share/subdir/share/anotherbar.txt',<< '---');
+This is anotherbar.txt in a subdir - test for a bug in M::B 0.38 when full path contains 'share/.../*share/...' subdir
+---
+$dist->add_file('share/subdir/whatever/anotherfoo.txt',<< '---');
+This is anotherfoo.txt in a subdir - this shoud work on M::B 0.38
+---
 $dist->add_file('other/share/bar.txt',<< '---');
 This is bar.txt
 ---
 $dist->regen;
 ok( -e catfile(qw/share foo.txt/), "Created 'share' directory" );
+ok( -d catfile(qw/share subdir share/), "Created 'share/subdir/share' directory" );
+ok( -d catfile(qw/share subdir whatever/), "Created 'share/subdir/whatever' directory" );
 ok( -e catfile(qw/other share bar.txt/), "Created 'other/share' directory" );
 
 # Check default when share_dir is not given
@@ -163,6 +171,8 @@
 is_deeply( $mb->_find_share_dir_files,
   {
     "share/foo.txt" => "dist/Simple-Share/foo.txt",
+    "share/subdir/share/anotherbar.txt" => "dist/Simple-Share/subdir/share/anotherbar.txt",
+    "share/subdir/whatever/anotherfoo.txt" => "dist/Simple-Share/subdir/whatever/anotherfoo.txt",
     "other/share/bar.txt" => "module/Simple-Share/bar.txt",
   },
   "share_dir filemap for copying to lib complete"
@@ -187,6 +197,8 @@
 is_deeply(
   [ sort @$share_list ], [
     'blib/lib/auto/share/dist/Simple-Share/foo.txt',
+    'blib/lib/auto/share/dist/Simple-Share/subdir/share/anotherbar.txt',
+    'blib/lib/auto/share/dist/Simple-Share/subdir/whatever/anotherfoo.txt',
     'blib/lib/auto/share/module/Simple-Share/bar.txt',
   ],
   "share_dir files copied to blib"
@@ -217,6 +229,8 @@
 is_deeply(
   [ sort @$share_list ], [
     "$temp_install/lib/perl5/auto/share/dist/Simple-Share/foo.txt",
+    "$temp_install/lib/perl5/auto/share/dist/Simple-Share/subdir/share/anotherbar.txt",
+    "$temp_install/lib/perl5/auto/share/dist/Simple-Share/subdir/whatever/anotherfoo.txt",
     "$temp_install/lib/perl5/auto/share/module/Simple-Share/bar.txt",
   ],
   "share_dir files correctly installed"


Property changes on: vendor/perl/dist/cpan/Module-Build/t/properties/share_dir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/resume.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/resume.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/resume.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/resume.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/runthrough.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/runthrough.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/runthrough.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/runthrough.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/sample.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/sample.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/sample.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/sample.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/script_dist.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/script_dist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/script_dist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/script_dist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/test_file_exts.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/test_file_exts.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/test_file_exts.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/test_file_exts.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/test_type.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/test_type.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/test_type.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/test_type.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/test_types.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/test_types.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/test_types.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/test_types.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/t/tilde.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/tilde.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/tilde.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -46,7 +46,8 @@
 
     unless (defined $home) {
       my @info = eval { getpwuid $> };
-      skip "No home directory for tilde-expansion tests", 15 if $@;
+      skip "No home directory for tilde-expansion tests", 15 if $@
+        or !defined $info[7];
       $home = $info[7];
     }
 
@@ -95,7 +96,8 @@
 # Again, with named users
 SKIP: {
     my @info = eval { getpwuid $> };
-    skip "No home directory for tilde-expansion tests", 1 if $@;
+    skip "No home directory for tilde-expansion tests", 1 if $@
+        or !defined $info[7] or !defined $info[0];
     my ($me, $home) = @info[0,7];
 
     my $expected = "$home/fooxzy";


Property changes on: vendor/perl/dist/cpan/Module-Build/t/tilde.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Build/t/use_tap_harness.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/use_tap_harness.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/use_tap_harness.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use Test::More;
 use lib 't/lib';
-if (eval { require TAP::Harness } && TAP::Harness->VERSION >= 3) {
+if (eval { require TAP::Harness && TAP::Harness->VERSION(3) }) {
     plan tests => 9;
 } else {
     plan skip_all => 'TAP::Harness 3+ not installed'


Property changes on: vendor/perl/dist/cpan/Module-Build/t/use_tap_harness.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/versions.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/versions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/versions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/versions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/write_default_maniskip.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/write_default_maniskip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/write_default_maniskip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/write_default_maniskip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Build/t/xs.t
===================================================================
--- vendor/perl/dist/cpan/Module-Build/t/xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Build/t/xs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Build/t/xs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Load/lib/Module/Load.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load/lib/Module/Load.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load/lib/Module/Load.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package Module::Load;
 
-$VERSION = '0.18';
+$VERSION = '0.24';
 
 use strict;
 use File::Spec ();
@@ -30,8 +30,8 @@
             die $err if $err;
         }
     }
-    
-    ### This addresses #41883: Module::Load cannot import 
+
+    ### This addresses #41883: Module::Load cannot import
     ### non-Exporter module. ->import() routines weren't
     ### properly called when load() was used.
     {   no strict 'refs';
@@ -47,7 +47,10 @@
     local $_    = shift;
     my $pm      = shift || '';
 
-    my @parts = split /::/;
+    ## trailing blanks ignored by default. [rt #69886]
+    my @parts = split /::|'/, $_, -1;
+    ## make sure that we can't hop out of @INC
+    shift @parts if @parts && !$parts[0];
 
     ### because of [perl #19213], see caveats ###
     my $file = $^O eq 'MSWin32'
@@ -55,7 +58,7 @@
                     : File::Spec->catfile( @parts );
 
     $file   .= '.pm' if $pm;
-    
+
     ### on perl's before 5.10 (5.9.5 at 31746) if you require
     ### a file in VMS format, it's stored in %INC in VMS
     ### format. Therefor, better unixify it first
@@ -95,16 +98,16 @@
     load Data::Dumper;      # loads that module
     load 'Data::Dumper';    # ditto
     load $module            # tritto
-    
+
     my $script = 'some/script.pl'
     load $script;
     load 'some/script.pl';	# use quotes because of punctuations
-    
+
     load thing;             # try 'thing' first, then 'thing.pm'
 
     load CGI, ':standard'   # like 'use CGI qw[:standard]'
-    
 
+
 =head1 DESCRIPTION
 
 C<load> eliminates the need to know whether you are trying to require
@@ -174,8 +177,8 @@
 
 =head1 COPYRIGHT
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 
-=cut                               
+=cut


Property changes on: vendor/perl/dist/cpan/Module-Load/lib/Module/Load.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Load/t/01_Module-Load.t
===================================================================
--- vendor/perl/dist/cpan/Module-Load/t/01_Module-Load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load/t/01_Module-Load.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,6 +17,7 @@
 {   my @Map = (
         # module               flag diagnostic
         [q|Must::Be::Loaded|,   1,  'module'],
+        [q|::Must::Be::Loaded|, 1,  'module'],
         [q|LoadMe.pl|,          0,  'file'  ],
         [q|LoadIt|,             1,  'ambiguous module'  ],
         [q|ToBeLoaded|,         0,  'ambiguous file'    ],


Property changes on: vendor/perl/dist/cpan/Module-Load/t/01_Module-Load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load/t/to_load/LoadIt.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load/t/to_load/LoadIt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load/t/to_load/LoadIt.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load/t/to_load/LoadIt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load/t/to_load/LoadMe.pl
===================================================================
--- vendor/perl/dist/cpan/Module-Load/t/to_load/LoadMe.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load/t/to_load/LoadMe.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load/t/to_load/LoadMe.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load/t/to_load/Must/Be/Loaded.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load/t/to_load/Must/Be/Loaded.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load/t/to_load/Must/Be/Loaded.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load/t/to_load/Must/Be/Loaded.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load/t/to_load/TestModule.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load/t/to_load/TestModule.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load/t/to_load/TestModule.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load/t/to_load/TestModule.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load/t/to_load/ToBeLoaded
===================================================================
--- vendor/perl/dist/cpan/Module-Load/t/to_load/ToBeLoaded	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load/t/to_load/ToBeLoaded	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load/t/to_load/ToBeLoaded
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load/t/to_load/config_file
===================================================================
--- vendor/perl/dist/cpan/Module-Load/t/to_load/config_file	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load/t/to_load/config_file	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load/t/to_load/config_file
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Load-Conditional/lib/Module/Load/Conditional.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/lib/Module/Load/Conditional.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/lib/Module/Load/Conditional.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,6 +11,8 @@
 use FileHandle  ();
 use version;
 
+use Module::Metadata ();
+
 use constant ON_VMS  => $^O eq 'VMS';
 
 BEGIN {
@@ -18,7 +20,7 @@
                         $FIND_VERSION $ERROR $CHECK_INC_HASH];
     use Exporter;
     @ISA            = qw[Exporter];
-    $VERSION        = '0.44';
+    $VERSION        = '0.54';
     $VERBOSE        = 0;
     $DEPRECATED     = 0;
     $FIND_VERSION   = 1;
@@ -137,7 +139,7 @@
 If no parsable version was found in the module, uptodate will also be
 true, since C<check_install> had no way to verify clearly.
 
-See also C<$Module::Load::Conditional::DEPRECATED>, which affects 
+See also C<$Module::Load::Conditional::DEPRECATED>, which affects
 the outcome of this value.
 
 =back
@@ -168,8 +170,8 @@
     }
 
     my $file     = File::Spec->catfile( split /::/, $args->{module} ) . '.pm';
-    my $file_inc = File::Spec::Unix->catfile( 
-                        split /::/, $args->{module} 
+    my $file_inc = File::Spec::Unix->catfile(
+                        split /::/, $args->{module}
                     ) . '.pm';
 
     ### where we store the return value ###
@@ -178,20 +180,20 @@
             version     => undef,
             uptodate    => undef,
     };
-    
+
     my $filename;
 
     ### check the inc hash if we're allowed to
     if( $CHECK_INC_HASH ) {
-        $filename = $href->{'file'} = 
+        $filename = $href->{'file'} =
             $INC{ $file_inc } if defined $INC{ $file_inc };
 
         ### find the version by inspecting the package
         if( defined $filename && $FIND_VERSION ) {
             no strict 'refs';
-            $href->{version} = ${ "$args->{module}"."::VERSION" }; 
+            $href->{version} = ${ "$args->{module}"."::VERSION" };
         }
-    }     
+    }
 
     ### we didnt find the filename yet by looking in %INC,
     ### so scan the dirs
@@ -198,39 +200,39 @@
     unless( $filename ) {
 
         DIR: for my $dir ( @INC ) {
-    
+
             my $fh;
-    
+
             if ( ref $dir ) {
                 ### @INC hook -- we invoke it and get the filehandle back
                 ### this is actually documented behaviour as of 5.8 ;)
 
                 my $existed_in_inc = $INC{$file_inc};
-    
+
                 if (UNIVERSAL::isa($dir, 'CODE')) {
                     ($fh) = $dir->($dir, $file);
-    
+
                 } elsif (UNIVERSAL::isa($dir, 'ARRAY')) {
                     ($fh) = $dir->[0]->($dir, $file, @{$dir}{1..$#{$dir}})
-    
+
                 } elsif (UNIVERSAL::can($dir, 'INC')) {
                     ($fh) = $dir->INC($file);
                 }
-    
+
                 if (!UNIVERSAL::isa($fh, 'GLOB')) {
                     warn loc(q[Cannot open file '%1': %2], $file, $!)
                             if $args->{verbose};
                     next;
                 }
-    
+
                 $filename = $INC{$file_inc} || $file;
 
                 delete $INC{$file_inc} if not $existed_in_inc;
-    
+
             } else {
                 $filename = File::Spec->catfile($dir, $file);
                 next unless -e $filename;
-    
+
                 $fh = new FileHandle;
                 if (!$fh->open($filename)) {
                     warn loc(q[Cannot open file '%1': %2], $file, $!)
@@ -238,45 +240,31 @@
                     next;
                 }
             }
-    
+
             ### store the directory we found the file in
             $href->{dir} = $dir;
-    
+
             ### files need to be in unix format under vms,
             ### or they might be loaded twice
             $href->{file} = ON_VMS
                 ? VMS::Filespec::unixify( $filename )
                 : $filename;
-    
-            ### user wants us to find the version from files
-            if( $FIND_VERSION ) {
-                
-                my $in_pod = 0;
-                while ( my $line = <$fh> ) {
-    
-                    ### stolen from EU::MM_Unix->parse_version to address
-                    ### #24062: "Problem with CPANPLUS 0.076 misidentifying
-                    ### versions after installing Text::NSP 1.03" where a 
-                    ### VERSION mentioned in the POD was found before
-                    ### the real $VERSION declaration.
-                    $in_pod = $line =~ /^=(?!cut)/  ? 1 : 
-                              $line =~ /^=cut/      ? 0 : 
-                              $in_pod;
-                    next if $in_pod;
-                    
-                    ### try to find a version declaration in this string.
-                    my $ver = __PACKAGE__->_parse_version( $line );
 
-                    if( defined $ver ) {
-                        $href->{version} = $ver;
-        
-                        last DIR;
-                    }
-                }
+            ### if we don't need the version, we're done
+            last DIR unless $FIND_VERSION;
+
+            ### otherwise, the user wants us to find the version from files
+            my $mod_info = Module::Metadata->new_from_handle( $fh, $filename );
+            my $ver      = $mod_info->version( $args->{module} );
+
+            if( defined $ver ) {
+                $href->{version} = $ver;
+
+                last DIR;
             }
         }
     }
-    
+
     ### if we couldn't find the file, return undef ###
     return unless defined $href->{file};
 
@@ -294,7 +282,7 @@
     } else {
         ### don't warn about the 'not numeric' stuff ###
         local $^W;
-        
+
         ### use qv(), as it will deal with developer release number
         ### ie ones containing _ as well. This addresses bug report
         ### #29348: Version compare logic doesn't handle alphas?
@@ -308,19 +296,19 @@
 
         eval {
 
-          $href->{uptodate} = 
+          $href->{uptodate} =
             version->new( $args->{version} ) <= version->new( $href->{version} )
-                ? 1 
+                ? 1
                 : 0;
 
         };
     }
 
-    if ( $DEPRECATED and version->new($]) >= version->new('5.011') ) {
+    if ( $DEPRECATED and "$]" >= 5.011 ) {
         require Module::CoreList;
         require Config;
 
-        $href->{uptodate} = 0 if 
+        $href->{uptodate} = 0 if
            exists $Module::CoreList::version{ 0+$] }{ $args->{module} } and
            Module::CoreList::is_deprecated( $args->{module} ) and
            $Config::Config{privlibexp} eq $href->{dir};
@@ -329,67 +317,6 @@
     return $href;
 }
 
-sub _parse_version {
-    my $self    = shift;
-    my $str     = shift or return;
-    my $verbose = shift or 0;
-
-    ### skip lines which doesn't contain VERSION
-    return unless $str =~ /VERSION/;
-
-    ### skip commented out lines, they won't eval to anything.
-    return if $str =~ /^\s*#/;
-        
-    ### the following regexp & eval statement comes from the 
-    ### ExtUtils::MakeMaker source (EU::MM_Unix->parse_version) 
-    ### Following #18892, which tells us the original
-    ### regex breaks under -T, we must modify it so
-    ### it captures the entire expression, and eval /that/
-    ### rather than $_, which is insecure.
-    my $taint_safe_str = do { $str =~ /(^.*$)/sm; $1 };
-        
-    if( $str =~ /(?<!\\)([\$*])(([\w\:\']*)\bVERSION)\b.*\=/ ) {
-        
-        print "Evaluating: $str\n" if $verbose;
-        
-        ### this creates a string to be eval'd, like:
-        # package Module::Load::Conditional::_version;
-        # no strict;
-        # 
-        # local $VERSION;
-        # $VERSION=undef; do {
-        #     use version; $VERSION = qv('0.0.3');
-        # }; $VERSION        
-        
-        my $eval = qq{
-            package Module::Load::Conditional::_version;
-            no strict;
-
-            local $1$2;
-            \$$2=undef; do {
-                $taint_safe_str
-            }; \$$2
-        };
-        
-        print "Evaltext: $eval\n" if $verbose;
-        
-        my $result = do {
-            local $^W = 0;
-            eval($eval); 
-        };
-        
-        
-        my $rv = defined $result ? $result : '0.0';
-
-        print( $@ ? "Error: $@\n" : "Result: $rv\n" ) if $verbose;
-
-        return $rv;
-    }
-    
-    ### unable to find a version in this string
-    return;
-}
-
 =head2 $bool = can_load( modules => { NAME => VERSION [,NAME => VERSION] }, [verbose => BOOL, nocache => BOOL] )
 
 C<can_load> will take a list of modules, optionally with version
@@ -475,10 +402,10 @@
             ###
             ### Update from JPeacock: apparently qv() and version->new
             ### are different things, and we *must* use version->new
-            ### here, or things like #30056 might start happening            
+            ### here, or things like #30056 might start happening
             if (    !$args->{nocache}
                     && defined $CACHE->{$mod}->{usable}
-                    && (version->new( $CACHE->{$mod}->{version}||0 ) 
+                    && (version->new( $CACHE->{$mod}->{version}||0 )
                         >= version->new( $href->{$mod} ) )
             ) {
                 $error = loc( q[Already tried to use '%1', which was unsuccessful], $mod);
@@ -568,7 +495,7 @@
     }
 
     my $lib = join " ", map { qq["-I$_"] } @INC;
-    my $cmd = qq[$^X $lib -M$who -e"print(join(qq[\\n],keys(%INC)))"];
+    my $cmd = qq["$^X" $lib -M$who -e"print(join(qq[\\n],keys(%INC)))"];
 
     return  sort
                 grep { !/^$who$/  }
@@ -596,12 +523,12 @@
 =head2 $Module::Load::Conditional::FIND_VERSION
 
 This controls whether Module::Load::Conditional will try to parse
-(and eval) the version from the module you're trying to load. 
+(and eval) the version from the module you're trying to load.
 
 If you don't wish to do this, set this variable to C<false>. Understand
 then that version comparisons are not possible, and Module::Load::Conditional
 can not tell you what module version you have installed.
-This may be desirable from a security or performance point of view. 
+This may be desirable from a security or performance point of view.
 Note that C<$FIND_VERSION> code runs safely under C<taint mode>.
 
 The default is 1;
@@ -631,9 +558,9 @@
 
 =head2 $Module::Load::Conditional::DEPRECATED
 
-This controls whether C<Module::Load::Conditional> checks if 
+This controls whether C<Module::Load::Conditional> checks if
 a dual-life core module has been deprecated. If this is set to
-true C<check_install> will return false to C<uptodate>, if 
+true C<check_install> will return false to C<uptodate>, if
 a dual-life module is found to be loaded from C<$Config{privlibexp}>
 
 The default is 0;
@@ -652,7 +579,7 @@
 
 =head1 COPYRIGHT
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/lib/Module/Load/Conditional.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Load-Conditional/t/01_Module_Load_Conditional.t
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/t/01_Module_Load_Conditional.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/t/01_Module_Load_Conditional.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,15 @@
 ### Module::Load::Conditional test suite ###
 ### this should no longer be needed
-# BEGIN { 
+# BEGIN {
 #     if( $ENV{PERL_CORE} ) {
-#         chdir '../lib/Module/Load/Conditional' 
+#         chdir '../lib/Module/Load/Conditional'
 #             if -d '../lib/Module/Load/Conditional';
 #         unshift @INC, '../../../..';
-#     
+#
 #         ### fix perl location too
 #         $^X = '../../../../../t/' . $^X;
 #     }
-# } 
+# }
 
 BEGIN { use FindBin; }
 BEGIN { chdir 't' if -d 't' }
@@ -26,7 +26,7 @@
 use_ok( 'Module::Load::Conditional' );
 
 ### stupid stupid warnings ###
-{   $Module::Load::Conditional::VERBOSE =   
+{   $Module::Load::Conditional::VERBOSE =
     $Module::Load::Conditional::VERBOSE = 0;
 
     *can_load       = *Module::Load::Conditional::can_load
@@ -44,10 +44,10 @@
                 );
 
     ok( $rv->{uptodate},    q[Verify self] );
-    is( $rv->{version}, $Module::Load::Conditional::VERSION,  
+    is( $rv->{version}, $Module::Load::Conditional::VERSION,
                             q[  Found proper version] );
     ok( $rv->{dir},         q[  Found directory information] );
-    
+
     {   my $dir = File::Spec->canonpath( $rv->{dir} );
 
         ### special rules apply on VMS, as always...
@@ -56,8 +56,8 @@
             $dir = VMS::Filespec::pathify($dir);
             ### Remove the trailing VMS specific directory delimiter
             $dir =~ s/\]//;
-        }    
-    
+        }
+
         ### quote for Win32 paths, use | to avoid slash confusion
         my $dir_re = qr|^\Q$dir\E|i;
         like( File::Spec->canonpath( $rv->{file} ), $dir_re,
@@ -70,7 +70,7 @@
         ### Use the UNIX specific method, as the VMS one currently
         ### converts the file spec back to VMS format.
         my $class = ON_VMS ? 'File::Spec::Unix' : 'File::Spec';
-        
+
         my($vol, $path, $file) = $class->splitpath( $rv->{'file'} );
 
         my @path = ($vol, $class->splitdir( $path ), $file );
@@ -78,7 +78,7 @@
         ### First element could be blank for some system types like VMS
         shift @path if $vol eq '';
 
-        ### and return it    
+        ### and return it
         @path;
     };
     my $inc_path = $INC{'Module/Load/Conditional.pm'};
@@ -90,9 +90,9 @@
             File::Spec::Unix->catfile(@rv_path),
                             q[  Found proper file]
     );
-    
-    
 
+
+
 }
 
 ### the version may contain an _, which means perl will warn about 'not
@@ -132,34 +132,73 @@
     is( $rv->{version}, 2,          "   Version is correct" );
 }
 
+### test that no package statement means $VERSION is $main::VERSION
+{
+    my $rv = check_install( module => 'NotMain' );
+    ok( $rv,                   'Testing $VERSION without package' );
+    is( $rv->{version}, undef, "   No version info returned" );
+}
+
+### test that the right $VERSION is picked when there are several packages
+{
+    my $rv = check_install( module => 'NotX' );
+    ok( $rv,               'Testing $VERSION with many packages' );
+    ok( $rv->{version},    "   Version found" );
+    is( $rv->{version}, 3, "   Version is correct" );
+}
+
 ### test beta/developer release versions
 {   my $test_ver = $Module::Load::Conditional::VERSION;
-    
+
     ### strip beta tags
     $test_ver =~ s/_\d+//g;
     $test_ver .= '_99';
-    
-    my $rv = check_install( 
-                    module  => 'Module::Load::Conditional', 
+
+    my $rv = check_install(
+                    module  => 'Module::Load::Conditional',
                     version => $test_ver,
                 );
 
     ok( $rv,                "Checking beta versions" );
     ok( !$rv->{'uptodate'}, "   Beta version is higher" );
-    
-}    
 
+}
+
 ### test $FIND_VERSION
-{   local $Module::Load::Conditional::FIND_VERSION = 0;
+{
     local $Module::Load::Conditional::FIND_VERSION = 0;
-    
+
     my $rv = check_install( module  => 'Module::Load::Conditional' );
 
     ok( $rv,                        'Testing $FIND_VERSION' );
     is( $rv->{version}, undef,      "   No version info returned" );
     ok( $rv->{uptodate},            "   Module marked as uptodate" );
-}    
+}
 
+### test that check_install() picks up the first match
+{
+    my ($dir_a, $dir_b) = map File::Spec->catdir($FindBin::Bin, 'test_lib', $_),
+                              qw[a b];
+    my $x_pm = File::Spec->catfile($dir_a, 'X.pm');
+    $x_pm = VMS::Filespec::unixify($x_pm) if ON_VMS;
+
+    local @INC = ($dir_a, $dir_b);
+
+    my $rv = check_install( module => 'X' );
+
+    ok( $rv,                    'Testing the file picked by check_install ($FIND_VERSION == 1)' );
+    is( $rv->{file},    $x_pm,  "   First file was picked" );
+    is( $rv->{version}, '0.01', "   Correct version for first file" );
+
+    local $Module::Load::Conditional::FIND_VERSION = 0;
+
+    $rv = check_install( module => 'X' );
+
+    ok( $rv,                    'Testing the file picked by check_install ($FIND_VERSION == 0)' );
+    is( $rv->{file},    $x_pm,  "   First file was also picked" );
+    is( $rv->{version}, undef,  "   But its VERSION was not required" );
+}
+
 ### test 'can_load' ###
 
 {
@@ -198,11 +237,11 @@
 
 ### test 'requires' ###
 SKIP:{
-    skip "Depends on \$^X, which doesn't work well when testing the Perl core", 
+    skip "Depends on \$^X, which doesn't work well when testing the Perl core",
         1 if $ENV{PERL_CORE};
 
     my %list = map { $_ => 1 } requires('Carp');
-    
+
     my $flag;
     $flag++ unless delete $list{'Exporter'};
 
@@ -212,15 +251,15 @@
 ### test using the %INC lookup for check_install
 {   local $Module::Load::Conditional::CHECK_INC_HASH = 1;
     local $Module::Load::Conditional::CHECK_INC_HASH = 1;
-    
-    {   package A::B::C::D; 
-        $A::B::C::D::VERSION = $$; 
+
+    {   package A::B::C::D;
+        $A::B::C::D::VERSION = $$;
         $INC{'A/B/C/D.pm'}   = $$.$$;
-        
+
         ### XXX this is no longer needed with M::Load 0.11_01
         #$INC{'[.A.B.C]D.pm'} = $$.$$ if $^O eq 'VMS';
     }
-    
+
     my $href = check_install( module => 'A::B::C::D', version => 0 );
 
     ok( $href,                  'Found package in %INC' );


Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/t/01_Module_Load_Conditional.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load-Conditional/t/02_Parse_Version.t
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/t/02_Parse_Version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/t/02_Parse_Version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/t/02_Parse_Version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/Commented.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/Commented.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/Commented.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+package Commented;
+
 # $VERSION = 1;
 $VERSION = 2;
 


Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/Commented.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/InPod.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/InPod.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/InPod.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/InPod.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadIt.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadIt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadIt.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+package LoadIt;
+
 $VERSION = 1;
 
 1;


Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadIt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadMe.pl
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadMe.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadMe.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/LoadMe.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/MustBe/Loaded.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/MustBe/Loaded.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/MustBe/Loaded.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+package MustBe::Loaded;
+
 $VERSION = 0.01;
 
 1;


Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/MustBe/Loaded.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/ToBeLoaded
===================================================================
--- vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/ToBeLoaded	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/ToBeLoaded	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Load-Conditional/t/to_load/ToBeLoaded
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Loaded/lib/Module/Loaded.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Loaded/lib/Module/Loaded.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Loaded/lib/Module/Loaded.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,12 +5,12 @@
 
 BEGIN { use base 'Exporter';
         use vars qw[@EXPORT $VERSION];
-        
-        $VERSION = '0.06';
+
+        $VERSION = '0.08';
         @EXPORT  = qw[mark_as_loaded mark_as_unloaded is_loaded];
 }
 
-=head1 NAME 
+=head1 NAME
 
 Module::Loaded - mark modules as loaded or unloaded
 
@@ -17,9 +17,9 @@
 =head1 SYNOPSIS
 
     use Module::Loaded;
-    
+
     $bool = mark_as_loaded('Foo');   # Foo.pm is now marked as loaded
-    $loc  = is_loaded('Foo');        # location of Foo.pm set to the 
+    $loc  = is_loaded('Foo');        # location of Foo.pm set to the
                                      # loaders location
     eval "require 'Foo'";            # is now a no-op
 
@@ -51,21 +51,21 @@
     my $pm      = shift;
     my $file    = __PACKAGE__->_pm_to_file( $pm ) or return;
     my $who     = [caller]->[1];
-    
+
     my $where   = is_loaded( $pm );
     if ( defined $where ) {
         carp "'$pm' already marked as loaded ('$where')";
-    
+
     } else {
         $INC{$file} = $who;
     }
-    
+
     return 1;
 }
 
 =head2 $bool = mark_as_unloaded( PACKAGE );
 
-Marks the package as unloaded to perl, which is the exact opposite 
+Marks the package as unloaded to perl, which is the exact opposite
 of C<mark_as_loaded>. C<PACKAGE> can be a bareword or string.
 
 If the module is already unloaded, C<mark_as_unloaded> will carp about
@@ -73,7 +73,7 @@
 
 =cut
 
-sub mark_as_unloaded (*) { 
+sub mark_as_unloaded (*) {
     my $pm      = shift;
     my $file    = __PACKAGE__->_pm_to_file( $pm ) or return;
 
@@ -83,7 +83,7 @@
     } else {
         delete $INC{ $file };
     }
-    
+
     return 1;
 }
 
@@ -92,17 +92,17 @@
 C<is_loaded> tells you if C<PACKAGE> has been marked as loaded yet.
 C<PACKAGE> can be a bareword or string.
 
-It returns falls if C<PACKAGE> has not been loaded yet and the location 
+It returns falls if C<PACKAGE> has not been loaded yet and the location
 from where it is said to be loaded on success.
 
 =cut
 
-sub is_loaded (*) { 
+sub is_loaded (*) {
     my $pm      = shift;
     my $file    = __PACKAGE__->_pm_to_file( $pm ) or return;
 
     return $INC{$file} if exists $INC{$file};
-    
+
     return;
 }
 
@@ -110,12 +110,12 @@
 sub _pm_to_file {
     my $pkg = shift;
     my $pm  = shift or return;
-    
+
     my $file = join '/', split '::', $pm;
     $file .= '.pm';
-    
+
     return $file;
-}    
+}
 
 =head1 BUG REPORTS
 
@@ -127,7 +127,7 @@
 
 =head1 COPYRIGHT
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/Module-Loaded/lib/Module/Loaded.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Loaded/t/01_Module-Loaded.t
===================================================================
--- vendor/perl/dist/cpan/Module-Loaded/t/01_Module-Loaded.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Loaded/t/01_Module-Loaded.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,12 +10,12 @@
 ### load the thing
 {   use_ok( $Class );
     can_ok( $Class, @Funcs );
-}    
+}
 
 {   ok( !is_loaded($Mod),       "$Mod not loaded yet" );
     ok( mark_as_loaded($Mod),   "   $Mod now marked as loaded" );
     is( is_loaded($Mod), $0,    "   $Mod is loaded from $0" );
-    
+
     my $rv = eval "require $Mod; 1";
     ok( $rv,                    "$Mod required" );
     ok( !$@,                    "   require did not die" );
@@ -42,7 +42,7 @@
         my $rv = eval "require $Strict; 1";
         ok( $rv,                "$Strict loaded again" );
     }
-    
-    is( is_loaded( $Strict ), $where, 
+
+    is( is_loaded( $Strict ), $where,
                                 "   $Strict is loaded" );
 }


Property changes on: vendor/perl/dist/cpan/Module-Loaded/t/01_Module-Loaded.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Metadata/lib/Module/Metadata.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Metadata/lib/Module/Metadata.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Metadata/lib/Module/Metadata.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,9 +11,10 @@
 
 use strict;
 use vars qw($VERSION);
-$VERSION = '1.000004';
+$VERSION = '1.000011';
 $VERSION = eval $VERSION;
 
+use Carp qw/croak/;
 use File::Spec;
 use IO::File;
 use version 0.87;
@@ -36,7 +37,7 @@
   \s*                   # optional whitespace
   ($V_NUM_REGEXP)?        # optional version number
   \s*                   # optional whitesapce
-  ;                     # semicolon line terminator
+  [;\{]                 # semicolon line terminator or block start (since 5.16)
 }x;
 
 my $VARNAME_REGEXP = qr{ # match fully-qualified VERSION name
@@ -60,7 +61,6 @@
   =[^=~]  # = but not ==, nor =~
 }x;
 
-
 sub new_from_file {
   my $class    = shift;
   my $filename = File::Spec->rel2abs( shift );
@@ -69,6 +69,18 @@
   return $class->_init(undef, $filename, @_);
 }
 
+sub new_from_handle {
+  my $class    = shift;
+  my $handle   = shift;
+  my $filename = shift;
+  return undef unless defined($handle) && defined($filename);
+  $filename = File::Spec->rel2abs( $filename );
+
+  return $class->_init(undef, $filename, @_, handle => $handle);
+
+}
+
+
 sub new_from_module {
   my $class   = shift;
   my $module  = shift;
@@ -148,6 +160,44 @@
     return \%result;
   };
 
+  sub provides {
+    my $class = shift;
+
+    croak "provides() requires key/value pairs \n" if @_ % 2;
+    my %args = @_;
+
+    croak "provides() takes only one of 'dir' or 'files'\n"
+      if $args{dir} && $args{files};
+
+    croak "provides() requires a 'version' argument"
+      unless defined $args{version};
+
+    croak "provides() does not support version '$args{version}' metadata"
+        unless grep { $args{version} eq $_ } qw/1.4 2/;
+
+    $args{prefix} = 'lib' unless defined $args{prefix};
+
+    my $p;
+    if ( $args{dir} ) {
+      $p = $class->package_versions_from_directory($args{dir});
+    }
+    else {
+      croak "provides() requires 'files' to be an array reference\n"
+        unless ref $args{files} eq 'ARRAY';
+      $p = $class->package_versions_from_directory($args{files});
+    }
+
+    # Now, fix up files with prefix
+    if ( length $args{prefix} ) { # check in case disabled with q{}
+      $args{prefix} =~ s{/$}{};
+      for my $v ( values %$p ) {
+        $v->{file} = "$args{prefix}/$v->{file}";
+      }
+    }
+
+    return $p
+  }
+
   sub package_versions_from_directory {
     my ( $class, $dir, $files ) = @_;
 
@@ -168,7 +218,7 @@
     # separating into primary & alternative candidates
     my( %prime, %alt );
     foreach my $file (@files) {
-      my $mapped_filename = File::Spec->abs2rel( $file, $dir );
+      my $mapped_filename = File::Spec::Unix->abs2rel( $file, $dir );
       my @path = split( /\//, $mapped_filename );
       (my $prime_package = join( '::', @path )) =~ s/\.pm$//;
   
@@ -181,11 +231,12 @@
   
         my $version = $pm_info->version( $package );
   
+        $prime_package = $package if lc($prime_package) eq lc($package);
         if ( $package eq $prime_package ) {
           if ( exists( $prime{$package} ) ) {
-            # M::B::ModuleInfo will handle this conflict
-            die "Unexpected conflict in '$package'; multiple versions found.\n";
+            croak "Unexpected conflict in '$package'; multiple versions found.\n";
           } else {
+            $mapped_filename = "$package.pm" if lc("$package.pm") eq lc($mapped_filename);
             $prime{$package}{file} = $mapped_filename;
             $prime{$package}{version} = $version if defined( $version );
           }
@@ -282,6 +333,7 @@
   my $filename = shift;
   my %props = @_;
 
+  my $handle = delete $props{handle};
   my( %valid_props, @valid_props );
   @valid_props = qw( collect_pod inc );
   @valid_props{@valid_props} = delete( @props{@valid_props} );
@@ -302,7 +354,12 @@
 
   my $self = bless(\%data, $class);
 
-  $self->_parse_file();
+  if ( $handle ) {
+    $self->_parse_fh($handle);
+  }
+  else {
+    $self->_parse_file();
+  }
 
   unless($self->{module} and length($self->{module})) {
     my ($v, $d, $f) = File::Spec->splitpath($self->{filename});
@@ -330,7 +387,7 @@
 # class method
 sub _do_find_module {
   my $class   = shift;
-  my $module  = shift || die 'find_module_by_name() requires a package name';
+  my $module  = shift || croak 'find_module_by_name() requires a package name';
   my $dirs    = shift || \@INC;
 
   my $file = File::Spec->catfile(split( /::/, $module));
@@ -364,7 +421,7 @@
   my $line = shift;
 
   my( $sig, $var, $pkg );
-  if ( $line =~ $VERS_REGEXP ) {
+  if ( $line =~ /$VERS_REGEXP/o ) {
     ( $sig, $var, $pkg ) = $2 ? ( $1, $2, $3 ) : ( $4, $5, $6 );
     if ( $pkg ) {
       $pkg = ($pkg eq '::') ? 'main' : $pkg;
@@ -380,11 +437,51 @@
 
   my $filename = $self->{filename};
   my $fh = IO::File->new( $filename )
-    or die( "Can't open '$filename': $!" );
+    or croak( "Can't open '$filename': $!" );
 
+  $self->_handle_bom($fh, $filename);
+
   $self->_parse_fh($fh);
 }
 
+# Look for a UTF-8/UTF-16BE/UTF-16LE BOM at the beginning of the stream.
+# If there's one, then skip it and set the :encoding layer appropriately.
+sub _handle_bom {
+  my ($self, $fh, $filename) = @_;
+
+  my $pos = $fh->getpos;
+  return unless defined $pos;
+
+  my $buf = ' ' x 2;
+  my $count = $fh->read( $buf, length $buf );
+  return unless defined $count and $count >= 2;
+
+  my $encoding;
+  if ( $buf eq "\x{FE}\x{FF}" ) {
+    $encoding = 'UTF-16BE';
+  } elsif ( $buf eq "\x{FF}\x{FE}" ) {
+    $encoding = 'UTF-16LE';
+  } elsif ( $buf eq "\x{EF}\x{BB}" ) {
+    $buf = ' ';
+    $count = $fh->read( $buf, length $buf );
+    if ( defined $count and $count >= 1 and $buf eq "\x{BF}" ) {
+      $encoding = 'UTF-8';
+    }
+  }
+
+  if ( defined $encoding ) {
+    if ( "$]" >= 5.008 ) {
+      # $fh->binmode requires perl 5.10
+      binmode( $fh, ":encoding($encoding)" );
+    }
+  } else {
+    $fh->setpos($pos)
+      or croak( sprintf "Can't reset position to the top of '$filename'" );
+  }
+
+  return $encoding;
+}
+
 sub _parse_fh {
   my ($self, $fh) = @_;
 
@@ -398,16 +495,21 @@
     my $line_num = $.;
 
     chomp( $line );
-    next if $line =~ /^\s*#/;
 
-    $in_pod = ($line =~ /^=(?!cut)/) ? 1 : ($line =~ /^=cut/) ? 0 : $in_pod;
+    # From toke.c : any line that begins by "=X", where X is an alphabetic
+    # character, introduces a POD segment.
+    my $is_cut;
+    if ( $line =~ /^=([a-zA-Z].*)/ ) {
+      my $cmd = $1;
+      # Then it goes back to Perl code for "=cutX" where X is a non-alphabetic
+      # character (which includes the newline, but here we chomped it away).
+      $is_cut = $cmd =~ /^cut(?:[^a-zA-Z]|$)/;
+      $in_pod = !$is_cut;
+    }
 
-    # Would be nice if we could also check $in_string or something too
-    last if !$in_pod && $line =~ /^__(?:DATA|END)__$/;
+    if ( $in_pod ) {
 
-    if ( $in_pod || $line =~ /^=cut/ ) {
-
-      if ( $line =~ /^=head\d\s+(.+)\s*$/ ) {
+      if ( $line =~ /^=head[1-4]\s+(.+)\s*$/ ) {
 	push( @pod, $1 );
 	if ( $self->{collect_pod} && length( $pod_data ) ) {
           $pod{$pod_sect} = $pod_data;
@@ -415,25 +517,37 @@
         }
 	$pod_sect = $1;
 
-
       } elsif ( $self->{collect_pod} ) {
 	$pod_data .= "$line\n";
 
       }
 
-    } else {
+    } elsif ( $is_cut ) {
 
+      if ( $self->{collect_pod} && length( $pod_data ) ) {
+        $pod{$pod_sect} = $pod_data;
+        $pod_data = '';
+      }
       $pod_sect = '';
-      $pod_data = '';
 
+    } else {
+
+      # Skip comments in code
+      next if $line =~ /^\s*#/;
+
+      # Would be nice if we could also check $in_string or something too
+      last if $line =~ /^__(?:DATA|END)__$/;
+
       # parse $line to see if it's a $VERSION declaration
       my( $vers_sig, $vers_fullname, $vers_pkg ) =
-	  $self->_parse_version_expression( $line );
+          ($line =~ /VERSION/)
+              ? $self->_parse_version_expression( $line )
+              : ();
 
-      if ( $line =~ $PKG_REGEXP ) {
+      if ( $line =~ /$PKG_REGEXP/o ) {
         $pkg = $1;
         push( @pkgs, $pkg ) unless grep( $pkg eq $_, @pkgs );
-        $vers{$pkg} = (defined $2 ? $2 : undef)  unless exists( $vers{$pkg} );
+        $vers{$pkg} = $2 unless exists( $vers{$pkg} );
         $need_vers = defined $2 ? 0 : 1;
 
       # VERSION defined with full package spec, i.e. $Module::VERSION
@@ -444,14 +558,6 @@
 	unless ( defined $vers{$vers_pkg} && length $vers{$vers_pkg} ) {
 	  $vers{$vers_pkg} =
 	    $self->_evaluate_version_line( $vers_sig, $vers_fullname, $line );
-	} else {
-	  # Warn unless the user is using the "$VERSION = eval
-	  # $VERSION" idiom (though there are probably other idioms
-	  # that we should watch out for...)
-	  warn <<"EOM" unless $line =~ /=\s*eval/;
-Package '$vers_pkg' already declared with version '$vers{$vers_pkg}',
-ignoring subsequent declaration on line $line_num.
-EOM
 	}
 
       # first non-comment line in undeclared package main is VERSION
@@ -477,12 +583,7 @@
 
 	unless ( defined $vers{$pkg} && length $vers{$pkg} ) {
 	  $vers{$pkg} = $v;
-	} else {
-	  warn <<"EOM";
-Package '$pkg' already declared with version '$vers{$pkg}'
-ignoring new version '$v' on line $line_num.
-EOM
-	}
+	} 
 
       }
 
@@ -517,9 +618,9 @@
     use version;
     no strict;
 
-    local $sigil$var;
-    \$$var=undef;
       \$vsub = sub {
+        local $sigil$var;
+        \$$var=undef;
         $line;
         \$$var
       };
@@ -537,15 +638,15 @@
   warn "Error evaling version line '$eval' in $self->{filename}: $@\n"
     if $@;
   (ref($vsub) eq 'CODE') or
-    die "failed to build version sub for $self->{filename}";
+    croak "failed to build version sub for $self->{filename}";
   my $result = eval { $vsub->() };
-  die "Could not get version from $self->{filename} by executing:\n$eval\n\nThe fatal error was: $@\n"
+  croak "Could not get version from $self->{filename} by executing:\n$eval\n\nThe fatal error was: $@\n"
     if $@;
 
   # Upgrade it into a version object
   my $version = eval { _dwim_version($result) };
 
-  die "Version '$result' from $self->{filename} does not appear to be valid:\n$eval\n\nThe fatal error was: $@\n"
+  croak "Version '$result' from $self->{filename} does not appear to be valid:\n$eval\n\nThe fatal error was: $@\n"
     unless defined $version; # "0" is OK!
 
   return $version;
@@ -603,7 +704,7 @@
       last if defined $version;
     }
 
-    die $error unless defined $version;
+    croak $error unless defined $version;
 
     return $version;
   }
@@ -648,61 +749,72 @@
 
 Module::Metadata - Gather package and POD information from perl module files
 
-=head1 DESCRIPTION
+=head1 SYNOPSIS
 
-=over 4
+  use Module::Metadata;
 
-=item new_from_file($filename, collect_pod => 1)
+  # information about a .pm file
+  my $info = Module::Metadata->new_from_file( $file );
+  my $version = $info->version;
 
-Construct a C<ModuleInfo> object given the path to a file. Takes an optional
-argument C<collect_pod> which is a boolean that determines whether
-POD data is collected and stored for reference. POD data is not
-collected by default. POD headings are always collected.
+  # CPAN META 'provides' field for .pm files in a directory
+  my $provides = Module::Metadata->provides(
+    dir => 'lib', version => 2
+  );
 
-=item new_from_module($module, collect_pod => 1, inc => \@dirs)
+=head1 DESCRIPTION
 
-Construct a C<ModuleInfo> object given a module or package name. In addition
-to accepting the C<collect_pod> argument as described above, this
-method accepts a C<inc> argument which is a reference to an array of
-of directories to search for the module. If none are given, the
-default is @INC.
+This module provides a standard way to gather metadata about a .pm file
+without executing unsafe code.
 
-=item name()
+=head1 USAGE
 
-Returns the name of the package represented by this module. If there
-are more than one packages, it makes a best guess based on the
-filename. If it's a script (i.e. not a *.pm) the package name is
-'main'.
+=head2 Class methods
 
-=item version($package)
+=over 4
 
-Returns the version as defined by the $VERSION variable for the
-package as returned by the C<name> method if no arguments are
-given. If given the name of a package it will attempt to return the
-version of that package if it is specified in the file.
+=item C<< new_from_file($filename, collect_pod => 1) >>
 
-=item filename()
+Constructs a C<Module::Metadata> object given the path to a file.  Returns
+undef if the filename does not exist.
 
-Returns the absolute path to the file.
+C<collect_pod> is a optional boolean argument that determines whether POD
+data is collected and stored for reference.  POD data is not collected by
+default.  POD headings are always collected.
 
-=item packages_inside()
+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.
 
-Returns a list of packages.
+=item C<< new_from_handle($handle, $filename, collect_pod => 1) >>
 
-=item pod_inside()
+This works just like C<new_from_file>, except that a handle can be provided
+as the first argument.
 
-Returns a list of POD sections.
+Note that there is no validation to confirm that the handle is a handle or
+something that can act like one.  Passing something that isn't a handle will
+cause a exception when trying to read from it.  The C<filename> argument is
+mandatory or undef will be returned.
 
-=item contains_pod()
+You are responsible for setting the decoding layers on C<$handle> if
+required.
 
-Returns true if there is any POD in the file.
+=item C<< new_from_module($module, collect_pod => 1, inc => \@dirs) >>
 
-=item pod($section)
+Constructs a C<Module::Metadata> object given a module or package name.
+Returns undef if the module cannot be found.
 
-Returns the POD data in the given section.
+In addition to accepting the C<collect_pod> argument as described above,
+this method accepts a C<inc> argument which is a reference to an array of
+directories to search for the module.  If none are given, the default is
+ at INC.
 
-=item find_module_by_name($module, \@dirs)
+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) >>
+
 Returns the path to a module given the module or package name. A list
 of directories can be passed in as an optional parameter, otherwise
 @INC is searched.
@@ -709,7 +821,7 @@
 
 Can be called as either an object or a class method.
 
-=item find_module_dir_by_name($module, \@dirs)
+=item 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
@@ -717,8 +829,57 @@
 
 Can be called as either an object or a class method.
 
-=item package_versions_from_directory($dir, \@files?)
+=item C<< provides( %options ) >>
 
+This is a convenience wrapper around C<package_versions_from_directory>
+to generate a CPAN META C<provides> data structure.  It takes key/value
+pairs.  Valid option keys include:
+
+=over
+
+=item version B<(required)>
+
+Specifies which version of the L<CPAN::Meta::Spec> should be used as
+the format of the C<provides> output.  Currently only '1.4' and '2'
+are supported (and their format is identical).  This may change in
+the future as the definition of C<provides> changes.
+
+The C<version> option is required.  If it is omitted or if
+an unsupported version is given, then C<provides> will throw an error.
+
+=item dir
+
+Directory to search recursively for F<.pm> files.  May not be specified with
+C<files>.
+
+=item files
+
+Array reference of files to examine.  May not be specified with C<dir>.
+
+=item prefix
+
+String to prepend to the C<file> field of the resulting output. This defaults
+to F<lib>, which is the common case for most CPAN distributions with their
+F<.pm> files in F<lib>.  This option ensures the META information has the
+correct relative path even when the C<dir> or C<files> arguments are
+absolute or have relative paths from a location other than the distribution
+root.
+
+=back
+
+For example, given C<dir> of 'lib' and C<prefix> of 'lib', the return value
+is a hashref of the form:
+
+  {
+    'Package::Name' => {
+      version => '0.123',
+      file => 'lib/Package/Name.pm'
+    },
+    'OtherPackage::Name' => ...
+  }
+
+=item 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,
 returning a hashref of the form:
@@ -731,23 +892,77 @@
     'OtherPackage::Name' => ...
   }
 
-=item log_info (internal)
+The C<DB> and C<main> packages are always omitted, as are any "private"
+packages that have leading underscores in the namespace (e.g.
+C<Foo::_private>)
 
+Note that the file path is relative to C<$dir> if that is specified.
+This B<must not> be used directly for CPAN META C<provides>.  See
+the C<provides> method instead.
+
+=item 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
+
+=over 4
+
+=item C<< name() >>
+
+Returns the name of the package represented by this module. If there
+are more than one packages, it makes a best guess based on the
+filename. If it's a script (i.e. not a *.pm) the package name is
+'main'.
+
+=item C<< version($package) >>
+
+Returns the version as defined by the $VERSION variable for the
+package as returned by the C<name> method if no arguments are
+given. If given the name of a package it will attempt to return the
+version of that package if it is specified in the file.
+
+=item C<< filename() >>
+
+Returns the absolute path to the file.
+
+=item C<< packages_inside() >>
+
+Returns a list of packages. Note: this is a raw list of packages
+discovered (or assumed, in the case of C<main>).  It is not
+filtered for C<DB>, C<main> or private packages the way the
+C<provides> method does.
+
+=item C<< pod_inside() >>
+
+Returns a list of POD sections.
+
+=item C<< contains_pod() >>
+
+Returns true if there is any POD in the file.
+
+=item C<< pod($section) >>
+
+Returns the POD data in the given section.
+
+=back
+
 =head1 AUTHOR
 
-Ken Williams <kwilliams at cpan.org>, Randy W. Sims <RandyS at ThePierianSpring.org>
+Original code from Module::Build::ModuleInfo by Ken Williams
+<kwilliams at cpan.org>, Randy W. Sims <RandyS at ThePierianSpring.org>
 
 Released as Module::Metadata by Matt S Trout (mst) <mst at shadowcat.co.uk> with
-assistance from David Golden (xdg) <dagolden at cpan.org>
+assistance from David Golden (xdg) <dagolden at cpan.org>.
 
-=head1 COPYRIGHT
+=head1 COPYRIGHT & LICENSE
 
-Copyright (c) 2001-2011 Ken Williams.  All rights reserved.
+Original code Copyright (c) 2001-2011 Ken Williams.
+Additional code Copyright (c) 2010-2011 Matt Trout and David Golden.
+All rights reserved.
 
 This library is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Module-Metadata/lib/Module/Metadata.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Metadata/t/lib/DistGen.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Metadata/t/lib/DistGen.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Metadata/t/lib/DistGen.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Metadata/t/lib/DistGen.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Metadata/t/lib/MBTest.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Metadata/t/lib/MBTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Metadata/t/lib/MBTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Metadata/t/lib/MBTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Metadata/t/lib/Tie/CPHash.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Metadata/t/lib/Tie/CPHash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Metadata/t/lib/Tie/CPHash.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 #
 # Author: Christopher J. Madsen <cjm at pobox.com>
 # Created: 08 Nov 1997
-# $Revision: 1.1.1.1 $  $Date: 2011-05-18 13:33:29 $
+# $Revision$  $Date$
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Module-Metadata/t/lib/Tie/CPHash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Metadata/t/metadata.t
===================================================================
--- vendor/perl/dist/cpan/Module-Metadata/t/metadata.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Metadata/t/metadata.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,11 +4,21 @@
 
 use strict;
 use lib 't/lib';
+use IO::File;
 use MBTest;
 
+my $undef;
+
 # parse various module $VERSION lines
 # these will be reversed later to create %modules
 my @modules = (
+  $undef => <<'---', # no $VERSION line
+package Simple;
+---
+  $undef => <<'---', # undefined $VERSION
+package Simple;
+our $VERSION;
+---
   '1.23' => <<'---', # declared & defined on same line with 'our'
 package Simple;
 our $VERSION = '1.23';
@@ -18,6 +28,15 @@
 our $VERSION;
 $VERSION = '1.23';
 ---
+  '1.23' => <<'---', # commented & defined on same line
+package Simple;
+our $VERSION = '1.23'; # our $VERSION = '4.56';
+---
+  '1.23' => <<'---', # commented & defined on separate lines
+package Simple;
+# our $VERSION = '4.56';
+our $VERSION = '1.23';
+---
   '1.23' => <<'---', # use vars
 package Simple;
 use vars qw( $VERSION );
@@ -170,10 +189,30 @@
   our $VERSION;
   $VERSION = 'onetwothree';
 ---
+  $undef => <<'---', # package NAME BLOCK, undef $VERSION
+package Simple {
+  our $VERSION;
+}
+---
+  '1.23' => <<'---', # package NAME BLOCK, with $VERSION
+package Simple {
+  our $VERSION = '1.23';
+}
+---
+  '1.23' => <<'---', # package NAME VERSION BLOCK
+package Simple 1.23 {
+  1;
+}
+---
+  'v1.2.3_4' => <<'---', # package NAME VERSION BLOCK
+package Simple v1.2.3_4 {
+  1;
+}
+---
 );
 my %modules = reverse @modules;
 
-plan tests => 37 + 2 * keys( %modules );
+plan tests => 54 + 2 * keys( %modules );
 
 require_ok('Module::Metadata');
 
@@ -210,6 +249,14 @@
 $pm_info = Module::Metadata->new_from_file( $file );
 ok( defined( $pm_info ), 'new_from_file() succeeds' );
 
+# construct from filehandle
+my $handle = IO::File->new($file);
+$pm_info = Module::Metadata->new_from_handle( $handle, $file );
+ok( defined( $pm_info ), 'new_from_handle() succeeds' );
+$pm_info = Module::Metadata->new_from_handle( $handle );
+is( $pm_info, undef, "new_from_handle() without filename returns undef" );
+close($handle);
+
 # construct from module name, using custom include path
 $pm_info = Module::Metadata->new_from_module(
 	     $dist->name, inc => [ 'lib', @INC ] );
@@ -233,11 +280,18 @@
 
     # Test::Builder will prematurely numify objects, so use this form
     my $errs;
-    ok( $pm_info->version eq $expected,
-        "correct module version (expected '$expected')" )
-        or $errs++;
+    my $got = $pm_info->version;
+    if ( defined $expected ) {
+        ok( $got eq $expected,
+            "correct module version (expected '$expected')" )
+            or $errs++;
+    } else {
+        ok( !defined($got),
+            "correct module version (expected undef)" )
+            or $errs++;
+    }
     is( $warnings, '', 'no warnings from parsing' ) or $errs++;
-    diag "Got: '@{[$pm_info->version]}'\nModule contents:\n$module" if $errs;
+    diag "Got: '$got'\nModule contents:\n$module" if $errs;
   }
 }
 
@@ -366,6 +420,7 @@
 $VERSION = '0.01';
 package Simple::Ex;
 $VERSION = '0.02';
+
 =head1 NAME
 
 Simple - It's easy.
@@ -374,6 +429,9 @@
 
 Simple Simon
 
+You can find me on the IRC channel
+#simon on irc.perl.org.
+
 =cut
 ---
 $dist->regen;
@@ -413,14 +471,60 @@
 $pm_info = Module::Metadata->new_from_module(
              $dist->name, inc => [ 'lib', @INC ], collect_pod => 1 );
 
-my $name = $pm_info->pod('NAME');
-if ( $name ) {
-  $name =~ s/^\s+//;
-  $name =~ s/\s+$//;
+{
+  my %pod;
+  for my $section (qw(NAME AUTHOR)) {
+    my $content = $pm_info->pod( $section );
+    if ( $content ) {
+      $content =~ s/^\s+//;
+      $content =~ s/\s+$//;
+    }
+    $pod{$section} = $content;
+  }
+  my %expected = (
+    NAME   => q|Simple - It's easy.|,
+    AUTHOR => <<'EXPECTED'
+Simple Simon
+
+You can find me on the IRC channel
+#simon on irc.perl.org.
+EXPECTED
+  );
+  for my $text (values %expected) {
+    $text =~ s/^\s+//;
+    $text =~ s/\s+$//;
+  }
+  is( $pod{NAME},   $expected{NAME},   'collected NAME pod section' );
+  is( $pod{AUTHOR}, $expected{AUTHOR}, 'collected AUTHOR pod section' );
 }
-is( $name, q|Simple - It's easy.|, 'collected pod section' );
 
+{
+  # test things that look like POD, but aren't
+$dist->change_file( 'lib/Simple.pm', <<'---' );
+package Simple;
 
+=YES THIS STARTS POD
+
+our $VERSION = '999';
+
+=cute
+
+our $VERSION = '666';
+
+=cut
+
+*foo
+=*no_this_does_not_start_pod;
+
+our $VERSION = '1.23';
+
+---
+  $dist->regen;
+  $pm_info = Module::Metadata->new_from_file('lib/Simple.pm');
+  is( $pm_info->name, 'Simple', 'found default package' );
+  is( $pm_info->version, '1.23', 'version for default package' );
+}
+
 {
   # Make sure processing stops after __DATA__
   $dist->change_file( 'lib/Simple.pm', <<'---' );
@@ -444,9 +548,9 @@
   # Make sure we handle version.pm $VERSIONs well
   $dist->change_file( 'lib/Simple.pm', <<'---' );
 package Simple;
-$VERSION = version->new('0.60.' . (qw$Revision: 1.1.1.1 $)[1]);
+$VERSION = version->new('0.60.' . (qw$Revision: 128 $)[1]);
 package Simple::Simon;
-$VERSION = version->new('0.61.' . (qw$Revision: 1.1.1.1 $)[1]);
+$VERSION = version->new('0.61.' . (qw$Revision: 129 $)[1]);
 ---
   $dist->regen;
 
@@ -458,3 +562,113 @@
   is( $pm_info->version('Simple::Simon'), '0.61.129', 'version for embedded package' );
 }
 
+# check that package_versions_from_directory works
+
+$dist->change_file( 'lib/Simple.pm', <<'---' );
+package Simple;
+$VERSION = '0.01';
+package Simple::Ex;
+$VERSION = '0.02';
+{
+  package main; # should ignore this
+}
+{
+  package DB; # should ignore this
+}
+{
+  package Simple::_private; # should ignore this
+}
+
+=head1 NAME
+
+Simple - It's easy.
+
+=head1 AUTHOR
+
+Simple Simon
+
+=cut
+---
+$dist->regen;
+
+my $exp_pvfd = {
+  'Simple' => {
+    'file' => 'Simple.pm',
+    'version' => '0.01'
+  },
+  'Simple::Ex' => {
+    'file' => 'Simple.pm',
+    'version' => '0.02'
+  }
+};
+
+my $got_pvfd = Module::Metadata->package_versions_from_directory('lib');
+
+is_deeply( $got_pvfd, $exp_pvfd, "package_version_from_directory()" )
+  or diag explain $got_pvfd;
+
+{
+  my $got_provides = Module::Metadata->provides(dir => 'lib', version => 2);
+  my $exp_provides = {
+    'Simple' => {
+      'file' => 'lib/Simple.pm',
+      'version' => '0.01'
+    },
+    'Simple::Ex' => {
+      'file' => 'lib/Simple.pm',
+      'version' => '0.02'
+    }
+  };
+
+  is_deeply( $got_provides, $exp_provides, "provides()" )
+    or diag explain $got_provides;
+}
+
+{
+  my $got_provides = Module::Metadata->provides(dir => 'lib', prefix => 'other', version => 1.4);
+  my $exp_provides = {
+    'Simple' => {
+      'file' => 'other/Simple.pm',
+      'version' => '0.01'
+    },
+    'Simple::Ex' => {
+      'file' => 'other/Simple.pm',
+      'version' => '0.02'
+    }
+  };
+
+  is_deeply( $got_provides, $exp_provides, "provides()" )
+    or diag explain $got_provides;
+}
+
+# Check package_versions_from_directory with regard to case-sensitivity
+{
+  $dist->change_file( 'lib/Simple.pm', <<'---' );
+package simple;
+$VERSION = '0.01';
+---
+  $dist->regen;
+
+  $pm_info = Module::Metadata->new_from_file('lib/Simple.pm');
+  is( $pm_info->name, undef, 'no default package' );
+  is( $pm_info->version, undef, 'version for default package' );
+  is( $pm_info->version('simple'), '0.01', 'version for lower-case package' );
+  is( $pm_info->version('Simple'), undef, 'version for capitalized package' );
+
+  $dist->change_file( 'lib/Simple.pm', <<'---' );
+package simple;
+$VERSION = '0.01';
+package Simple;
+$VERSION = '0.02';
+package SiMpLe;
+$VERSION = '0.03';
+---
+  $dist->regen;
+
+  $pm_info = Module::Metadata->new_from_file('lib/Simple.pm');
+  is( $pm_info->name, 'Simple', 'found default package' );
+  is( $pm_info->version, '0.02', 'version for default package' );
+  is( $pm_info->version('simple'), '0.01', 'version for lower-case package' );
+  is( $pm_info->version('Simple'), '0.02', 'version for capitalized package' );
+  is( $pm_info->version('SiMpLe'), '0.03', 'version for mixed-case package' );
+}


Property changes on: vendor/perl/dist/cpan/Module-Metadata/t/metadata.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Pluggable/lib/Devel/InnerPackage.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/lib/Devel/InnerPackage.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/lib/Devel/InnerPackage.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,9 @@
 use base qw(Exporter);
 use vars qw($VERSION @EXPORT_OK);
 
-$VERSION = '0.3';
+use if $] > 5.017, 'deprecate';
+
+$VERSION = '0.4';
 @EXPORT_OK = qw(list_packages);
 
 =pod
@@ -11,7 +13,6 @@
 
 =head1 NAME
 
-
 Devel::InnerPackage - find all the inner packages of a package
 
 =head1 SYNOPSIS
@@ -83,12 +84,12 @@
 sub _loaded {
        my ($class, $name) = @_;
 
-    no strict 'refs';
+        no strict 'refs';
 
        # Handle by far the two most common cases
        # This is very fast and handles 99% of cases.
        return 1 if defined ${"${name}::VERSION"};
-       return 1 if defined @{"${name}::ISA"};
+       return 1 if @{"${name}::ISA"};
 
        # Are there any symbol table entries other than other namespaces
        foreach ( keys %{"${name}::"} ) {


Property changes on: vendor/perl/dist/cpan/Module-Pluggable/lib/Devel/InnerPackage.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,15 @@
 use File::Find ();
 use File::Basename;
 use File::Spec::Functions qw(splitdir catdir curdir catfile abs2rel);
-use Carp qw(croak carp);
+use Carp qw(croak carp confess);
 use Devel::InnerPackage;
 use vars qw($VERSION);
 
-$VERSION = '3.9';
+use if $] > 5.017, 'deprecate';
 
+$VERSION = '4.6';
 
+
 sub new {
     my $class = shift;
     my %opts  = @_;
@@ -25,64 +27,74 @@
 
 
 sub plugins {
-        my $self = shift;
+    my $self = shift;
+    my @args = @_;
 
-        # override 'require'
-        $self->{'require'} = 1 if $self->{'inner'};
+    # override 'require'
+    $self->{'require'} = 1 if $self->{'inner'};
 
-        my $filename   = $self->{'filename'};
-        my $pkg        = $self->{'package'};
+    my $filename   = $self->{'filename'};
+    my $pkg        = $self->{'package'};
 
-        # Get the exception params instantiated
-        $self->_setup_exceptions;
+    # Get the exception params instantiated
+    $self->_setup_exceptions;
 
-        # automatically turn a scalar search path or namespace into a arrayref
-        for (qw(search_path search_dirs)) {
-            $self->{$_} = [ $self->{$_} ] if exists $self->{$_} && !ref($self->{$_});
-        }
+    # automatically turn a scalar search path or namespace into a arrayref
+    for (qw(search_path search_dirs)) {
+        $self->{$_} = [ $self->{$_} ] if exists $self->{$_} && !ref($self->{$_});
+    }
 
-        # default search path is '<Module>::<Name>::Plugin'
-        $self->{'search_path'} = ["${pkg}::Plugin"] unless $self->{'search_path'}; 
+    # default search path is '<Module>::<Name>::Plugin'
+    $self->{'search_path'} ||= ["${pkg}::Plugin"]; 
 
+    # default error handler
+    $self->{'on_require_error'} ||= sub { my ($plugin, $err) = @_; carp "Couldn't require $plugin : $err"; return 0 };
+    $self->{'on_instantiate_error'} ||= sub { my ($plugin, $err) = @_; carp "Couldn't instantiate $plugin: $err"; return 0 };
 
-        #my %opts = %$self;
+    # default whether to follow symlinks
+    $self->{'follow_symlinks'} = 1 unless exists $self->{'follow_symlinks'};
 
+    # check to see if we're running under test
+    my @SEARCHDIR = exists $INC{"blib.pm"} && defined $filename && $filename =~ m!(^|/)blib/! && !$self->{'force_search_all_paths'} ? grep {/blib/} @INC : @INC;
 
-        # check to see if we're running under test
-        my @SEARCHDIR = exists $INC{"blib.pm"} && defined $filename && $filename =~ m!(^|/)blib/! ? grep {/blib/} @INC : @INC;
+    # add any search_dir params
+    unshift @SEARCHDIR, @{$self->{'search_dirs'}} if defined $self->{'search_dirs'};
 
-        # add any search_dir params
-        unshift @SEARCHDIR, @{$self->{'search_dirs'}} if defined $self->{'search_dirs'};
+    # set our @INC up to include and prefer our search_dirs if necessary
+    my @tmp = @INC;
+    unshift @tmp, @{$self->{'search_dirs'} || []};
+    local @INC = @tmp if defined $self->{'search_dirs'};
 
+    my @plugins = $self->search_directories(@SEARCHDIR);
+    push(@plugins, $self->handle_innerpackages($_)) for @{$self->{'search_path'}};
+    
+    # return blank unless we've found anything
+    return () unless @plugins;
 
-        my @plugins = $self->search_directories(@SEARCHDIR);
-        push(@plugins, $self->handle_innerpackages($_)) for @{$self->{'search_path'}};
+    # remove duplicates
+    # probably not necessary but hey ho
+    my %plugins;
+    for(@plugins) {
+        next unless $self->_is_legit($_);
+        $plugins{$_} = 1;
+    }
 
-        # push @plugins, map { print STDERR "$_\n"; $_->require } list_packages($_) for (@{$self->{'search_path'}});
-        
-        # return blank unless we've found anything
-        return () unless @plugins;
-
-
-
-        # remove duplicates
-        # probably not necessary but hey ho
-        my %plugins;
-        for(@plugins) {
-            next unless $self->_is_legit($_);
-            $plugins{$_} = 1;
+    # are we instantiating or requring?
+    if (defined $self->{'instantiate'}) {
+        my $method = $self->{'instantiate'};
+        my @objs   = ();
+        foreach my $package (sort keys %plugins) {
+            next unless $package->can($method);
+            my $obj = eval { $package->$method(@_) };
+            $self->{'on_instantiate_error'}->($package, $@) if $@;
+            push @objs, $obj if $obj;           
         }
-
-        # are we instantiating or requring?
-        if (defined $self->{'instantiate'}) {
-            my $method = $self->{'instantiate'};
-            return map { ($_->can($method)) ? $_->$method(@_) : () } keys %plugins;
-        } else { 
-            # no? just return the names
-            return keys %plugins;
-        }
-
-
+        return @objs;
+    } else { 
+        # no? just return the names
+        my @objs= sort keys %plugins;
+        return @objs;
+    }
 }
 
 sub _setup_exceptions {
@@ -127,6 +139,7 @@
     my %except = %{$self->{_exceptions}->{except_hash}||{}};
     my $only   = $self->{_exceptions}->{only};
     my $except = $self->{_exceptions}->{except};
+    my $depth  = () = split '::', $plugin, -1;
 
     return 0 if     (keys %only   && !$only{$plugin}     );
     return 0 unless (!defined $only || $plugin =~ m!$only!     );
@@ -133,6 +146,9 @@
 
     return 0 if     (keys %except &&  $except{$plugin}   );
     return 0 if     (defined $except &&  $plugin =~ m!$except! );
+    
+    return 0 if     defined $self->{max_depth} && $depth>$self->{max_depth};
+    return 0 if     defined $self->{min_depth} && $depth<$self->{min_depth};
 
     return 1;
 }
@@ -193,7 +209,7 @@
                     next if ($in_pod || $line =~ /^=cut/);  # skip pod text
                     next if $line =~ /^\s*#/;               # and comments
                     if ( $line =~ m/^\s*package\s+(.*::)?($name)\s*;/i ) {
-                        @pkg_dirs = split /::/, $1;
+                        @pkg_dirs = split /::/, $1 if defined $1;;
                         $name = $2;
                         last;
                     }
@@ -220,10 +236,7 @@
 
             next unless $plugin =~ m!(?:[a-z\d]+)[a-z\d]!i;
 
-            my $err = $self->handle_finding_plugin($plugin);
-            carp "Couldn't require $plugin : $err" if $err;
-             
-            push @plugins, $plugin;
+            $self->handle_finding_plugin($plugin, \@plugins)
         }
 
         # now add stuff that may have been in package
@@ -252,12 +265,33 @@
 }
 
 sub handle_finding_plugin {
-    my $self   = shift;
-    my $plugin = shift;
+    my $self    = shift;
+    my $plugin  = shift;
+    my $plugins = shift;
+    my $no_req  = shift || 0;
+    
+    return unless $self->_is_legit($plugin);
+    unless (defined $self->{'instantiate'} || $self->{'require'}) {
+        push @$plugins, $plugin;
+        return;
+    } 
 
-    return unless (defined $self->{'instantiate'} || $self->{'require'}); 
-    return unless $self->_is_legit($plugin);
-    $self->_require($plugin);
+    $self->{before_require}->($plugin) || return if defined $self->{before_require};
+    unless ($no_req) {
+        my $tmp = $@;
+        my $res = eval { $self->_require($plugin) };
+        my $err = $@;
+        $@      = $tmp;
+        if ($err) {
+            if (defined $self->{on_require_error}) {
+                $self->{on_require_error}->($plugin, $err) || return; 
+            } else {
+                return;
+            }
+        }
+    }
+    $self->{after_require}->($plugin) || return if defined $self->{after_require};
+    push @$plugins, $plugin;
 }
 
 sub find_files {
@@ -273,7 +307,8 @@
     { # for the benefit of perl 5.6.1's Find, localize topic
         local $_;
         File::Find::find( { no_chdir => 1, 
-                           wanted => sub { 
+                            follow   => $self->{'follow_symlinks'}, 
+                            wanted   => sub { 
                              # Inlined from File::Find::Rule C< name => '*.pm' >
                              return unless $File::Find::name =~ /$file_regex/;
                              (my $path = $File::Find::name) =~ s#^\\./##;
@@ -294,10 +329,7 @@
     my @plugins;
 
     foreach my $plugin (Devel::InnerPackage::list_packages($path)) {
-        my $err = $self->handle_finding_plugin($plugin);
-        #next if $err;
-        #next unless $INC{$plugin};
-        push @plugins, $plugin;
+        $self->handle_finding_plugin($plugin, \@plugins, 1);
     }
     return @plugins;
 
@@ -305,11 +337,11 @@
 
 
 sub _require {
-    my $self = shift;
-    my $pack = shift;
-    local $@;
+    my $self   = shift;
+    my $pack   = shift;
     eval "CORE::require $pack";
-    return $@;
+    die ($@) if $@;
+    return 1;
 }
 
 


Property changes on: vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,18 @@
 package Module::Pluggable;
 
 use strict;
-use vars qw($VERSION);
+use vars qw($VERSION $FORCE_SEARCH_ALL_PATHS);
 use Module::Pluggable::Object;
 
+use if $] > 5.017, 'deprecate';
+
 # ObQuote:
 # Bob Porter: Looks like you've been missing a lot of work lately. 
 # Peter Gibbons: I wouldn't say I've been missing it, Bob! 
 
 
-$VERSION = '3.9';
+$VERSION = '4.7';
+$FORCE_SEARCH_ALL_PATHS = 0;
 
 sub import {
     my $class        = shift;
@@ -22,6 +25,7 @@
     my ($package)    = $opts{'package'} || $pkg;
     $opts{filename}  = $file;
     $opts{package}   = $package;
+    $opts{force_search_all_paths} = $FORCE_SEARCH_ALL_PATHS unless exists $opts{force_search_all_paths};
 
 
     my $finder       = Module::Pluggable::Object->new(%opts);
@@ -152,9 +156,8 @@
 
 =head1 ADVANCED USAGE
 
-    
 Alternatively, if you don't want to use 'plugins' as the method ...
-    
+
     package MyClass;
     use Module::Pluggable sub_name => 'foo';
 
@@ -227,7 +230,22 @@
 
     my @filters = $self->filters;
     my @plugins = $self->plugins;
+    
+=head1 PLUGIN SEARCHING
 
+Every time you call 'plugins' the whole search path is walked again. This allows 
+for dynamically loading plugins even at run time. However this can get expensive 
+and so if you don't expect to want to add new plugins at run time you could do
+
+
+  package Foo;
+  use strict;
+  use Module::Pluggable sub_name => '_plugins';
+
+  our @PLUGINS;
+  sub plugins { @PLUGINS ||= shift->_plugins }
+  1;
+
 =head1 INNER PACKAGES
 
 If you have, for example, a file B<lib/Something/Plugin/Foo.pm> that
@@ -307,7 +325,63 @@
 Setting C<include_editor_junk> changes C<Module::Pluggable> so it does
 not ignore any files it finds.
 
+=head2 follow_symlinks
 
+Whether, when searching directories, to follow symlinks.
+
+Defaults to 1 i.e do follow symlinks.
+
+=head2 min_depth, max_depth
+
+This will allow you to set what 'depth' of plugin will be allowed.
+
+So, for example, C<MyClass::Plugin::Foo> will have a depth of 3 and 
+C<MyClass::Plugin::Foo::Bar> will have a depth of 4 so to only get the former 
+(i.e C<MyClass::Plugin::Foo>) do
+
+        package MyClass;
+        use Module::Pluggable max_depth => 3;
+        
+and to only get the latter (i.e C<MyClass::Plugin::Foo::Bar>)
+
+        package MyClass;
+        use Module::Pluggable min_depth => 4;
+
+
+=head1 TRIGGERS
+
+Various triggers can also be passed in to the options.
+
+If any of these triggers return 0 then the plugin will not be returned.
+
+=head2 before_require <plugin>
+
+Gets passed the plugin name. 
+
+If 0 is returned then this plugin will not be required either.
+
+=head2 on_require_error <plugin> <err>
+
+Gets called when there's an error on requiring the plugin.
+
+Gets passed the plugin name and the error. 
+
+The default on_require_error handler is to C<carp> the error and return 0.
+
+=head2 on_instantiate_error <plugin> <err>
+
+Gets called when there's an error on instantiating the plugin.
+
+Gets passed the plugin name and the error. 
+
+The default on_instantiate_error handler is to C<carp> the error and return 0.
+
+=head2 after_require <plugin>
+
+Gets passed the plugin name. 
+
+If 0 is returned then this plugin will be required but not returned as a plugin.
+
 =head1 METHODs
 
 =head2 search_path
@@ -319,8 +393,30 @@
     $self->search_path( add => "New::Path" ); # add
     $self->search_path( new => "New::Path" ); # replace
 
+=head1 BEHAVIOUR UNDER TEST ENVIRONMENT
 
+In order to make testing reliable we exclude anything not from blib if blib.pm is 
+in %INC. 
 
+However if the module being tested used another module that itself used C<Module::Pluggable> 
+then the second module would fail. This was fixed by checking to see if the caller 
+had (^|/)blib/ in their filename.
+
+There's an argument that this is the wrong behaviour and that modules should explicitly
+trigger this behaviour but that particular code has been around for 7 years now and I'm 
+reluctant to change the default behaviour.
+
+You can now (as of version 4.1) force Module::Pluggable to look outside blib in a test environment by doing either
+
+        require Module::Pluggable;
+        $Module::Pluggable::FORCE_SEARCH_ALL_PATHS = 1;
+        import Module::Pluggable;
+
+or
+
+        use Module::Pluggable force_search_all_paths => 1;
+        
+
 =head1 FUTURE PLANS
 
 This does everything I need and I can't really think of any other 
@@ -332,6 +428,12 @@
 
 However suggestions (and patches) are welcome.
 
+=head1 DEVELOPMENT
+
+The master repo for this module is at
+
+https://github.com/simonwistow/Module-Pluggable
+
 =head1 AUTHOR
 
 Simon Wistow <simon at thegestalt.org>


Property changes on: vendor/perl/dist/cpan/Module-Pluggable/lib/Module/Pluggable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/01use.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/01use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/01use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/01use.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/02alsoworks.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/02alsoworks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/02alsoworks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/02alsoworks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/02works.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/02works.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/02works.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/02works.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/02works_taint.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/02works_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/02works_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/02works_taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/03diffname.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/03diffname.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/03diffname.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/03diffname.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir_single.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir_single.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir_single.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/04acmedir_single.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath_single.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath_single.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath_single.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/04acmepath_single.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/05postpath.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/05postpath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/05postpath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/05postpath.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/06multipath.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/06multipath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/06multipath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/06multipath.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/07instantiate.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/07instantiate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/07instantiate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/07instantiate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/08nothing.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/08nothing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/08nothing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/08nothing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/09require.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/09require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/09require.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/09require.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_inner.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_inner.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_inner.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_inner.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_noinner.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_noinner.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_noinner.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_noinner.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_onefile.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_onefile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_onefile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_onefile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_override.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_override.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_override.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_override.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_super.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/10innerpack_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/11usetwice.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/11usetwice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/11usetwice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/11usetwice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/12only.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/12only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/12only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/12only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/12onlyarray.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/12onlyarray.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/12onlyarray.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/12onlyarray.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/12onlyregex.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/12onlyregex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/12onlyregex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/12onlyregex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/12onlyrequire.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/12onlyrequire.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/12onlyrequire.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/12onlyrequire.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/13except.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/13except.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/13except.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/13except.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/13exceptarray.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/13exceptarray.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/13exceptarray.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/13exceptarray.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/13exceptregex.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/13exceptregex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/13exceptregex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/13exceptregex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/14package.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/14package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/14package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/14package.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/15topicsafe.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/15topicsafe.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/15topicsafe.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/15topicsafe.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/16different_extension.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/16different_extension.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/16different_extension.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/16different_extension.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/17devel_inner_package.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/17devel_inner_package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/17devel_inner_package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/17devel_inner_package.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/18skipped_package.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/18skipped_package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/18skipped_package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/18skipped_package.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Module-Pluggable/t/19can_ok_clobber.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/19can_ok_clobber.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/19can_ok_clobber.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 #use_ok( 'MyTest' );
 #diag "Module::Pluggable::VERSION $Module::Pluggable::VERSION";
 
-my @plugins = MyTest->plugins;
+my @plugins = sort MyTest->plugins;
 my @plugins_after;
 
 use_ok( 'MyTest::Plugin::Foo' );
@@ -21,16 +21,16 @@
     \@plugins_after,
     \@plugins,
     "plugins haven't been clobbered",
-);
+) or diag Dumper(\@plugins_after,\@plugins);
 
 can_ok ($foo, 'frobnitz');
 
- at plugins_after = MyTest->plugins;
+ at plugins_after = sort MyTest->plugins;
 is_deeply(
     \@plugins_after,
     \@plugins,
     "plugins haven't been clobbered",
-) or diag Dumper ;
+) or diag Dumper(\@plugins_after,\@plugins);
 
 
 


Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/19can_ok_clobber.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/20dodgy_files.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/20dodgy_files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/20dodgy_files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/20dodgy_files.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/21editor_junk.t
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/21editor_junk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/21editor_junk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/21editor_junk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/Foo-Bar.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/Foo-Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/Foo-Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/Foo-Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/No/Middle.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/No/Middle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/No/Middle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/No/Middle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/TA/C/A/I.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/TA/C/A/I.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/TA/C/A/I.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/TA/C/A/I.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Module-Pluggable/t/lib/Zot/.Zork.pm
===================================================================
--- vendor/perl/dist/cpan/Module-Pluggable/t/lib/Zot/.Zork.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Module-Pluggable/t/lib/Zot/.Zork.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Module-Pluggable/t/lib/Zot/.Zork.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/NEXT/lib/NEXT.pm
===================================================================
--- vendor/perl/dist/cpan/NEXT/lib/NEXT.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/NEXT/lib/NEXT.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/NEXT/lib/NEXT.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/NEXT/t/actual.t
===================================================================
--- vendor/perl/dist/cpan/NEXT/t/actual.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/NEXT/t/actual.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/NEXT/t/actual.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/NEXT/t/actuns.t
===================================================================
--- vendor/perl/dist/cpan/NEXT/t/actuns.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/NEXT/t/actuns.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/NEXT/t/actuns.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/NEXT/t/dynamically_scoped_regex_vars.t
===================================================================
--- vendor/perl/dist/cpan/NEXT/t/dynamically_scoped_regex_vars.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/NEXT/t/dynamically_scoped_regex_vars.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/NEXT/t/dynamically_scoped_regex_vars.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/NEXT/t/next.t
===================================================================
--- vendor/perl/dist/cpan/NEXT/t/next.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/NEXT/t/next.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/NEXT/t/next.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/NEXT/t/stringify.t
===================================================================
--- vendor/perl/dist/cpan/NEXT/t/stringify.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/NEXT/t/stringify.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/NEXT/t/stringify.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/NEXT/t/unseen.t
===================================================================
--- vendor/perl/dist/cpan/NEXT/t/unseen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/NEXT/t/unseen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/NEXT/t/unseen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Object-Accessor/lib/Object/Accessor.pm
===================================================================
--- vendor/perl/dist/cpan/Object-Accessor/lib/Object/Accessor.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Object-Accessor/lib/Object/Accessor.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,16 +1,16 @@
 package Object::Accessor;
+use if $] > 5.017, 'deprecate';
 
 use strict;
 use Carp            qw[carp croak];
 use vars            qw[$FATAL $DEBUG $AUTOLOAD $VERSION];
 use Params::Check   qw[allow];
-use Data::Dumper;
 
 ### some objects might have overload enabled, we'll need to
 ### disable string overloading for callbacks
 require overload;
 
-$VERSION    = '0.38';
+$VERSION    = '0.46';
 $FATAL      = 0;
 $DEBUG      = 0;
 
@@ -36,7 +36,7 @@
 
     $bool   = $obj->mk_aliases(          # create an alias to an existing
                 alias_name => 'method'); # method name
-                
+
     $clone  = $obj->mk_clone;            # create a clone of original
                                          # object without data
     $bool   = $obj->mk_flush;            # clean out all data
@@ -69,11 +69,11 @@
     ### advanced usage -- callbacks
     {   my $obj = Object::Accessor->new('foo');
         $obj->register_callback( sub { ... } );
-        
+
         $obj->foo( 1 ); # these calls invoke the callback you registered
-        $obj->foo()     # which allows you to change the get/set 
+        $obj->foo()     # which allows you to change the get/set
                         # behaviour and what is returned to the caller.
-    }        
+    }
 
     ### advanced usage -- lvalue attributes
     {   my $obj = Object::Accessor::Lvalue->new('foo');
@@ -82,12 +82,12 @@
 
     ### advanced usage -- scoped attribute values
     {   my $obj = Object::Accessor->new('foo');
-        
+
         $obj->foo( 1 );
         print $obj->foo;                # will print 1
 
         ### bind the scope of the value of attribute 'foo'
-        ### to the scope of '$x' -- when $x goes out of 
+        ### to the scope of '$x' -- when $x goes out of
         ### scope, 'foo's previous value will be restored
         {   $obj->foo( 2 => \my $x );
             print $obj->foo, ' ', $x;   # will print '2 2'
@@ -117,7 +117,7 @@
 Any arguments given to C<new> are passed straight to C<mk_accessors>.
 
 If you want to be able to assign to your accessors as if they
-were C<lvalue>s, you should create your object in the 
+were C<lvalue>s, you should create your object in the
 C<Object::Accessor::Lvalue> namespace instead. See the section
 on C<LVALUE ACCESSORS> below.
 
@@ -126,9 +126,9 @@
 sub new {
     my $class   = shift;
     my $obj     = bless {}, $class;
-    
+
     $obj->mk_accessors( @_ ) if @_;
-    
+
     return $obj;
 }
 
@@ -151,7 +151,7 @@
         foo     => qr/^\d+$/,       # digits only
         bar     => [0,1],           # booleans
         zot     => \&my_sub         # a custom verification sub
-    } );        
+    } );
 
 Returns true on success, false on failure.
 
@@ -161,28 +161,28 @@
 VARIABLES> for details.
 
 Note that you can bind the values of attributes to a scope. This allows
-you to C<temporarily> change a value of an attribute, and have it's 
+you to C<temporarily> change a value of an attribute, and have it's
 original value restored up on the end of it's bound variable's scope;
 
-For example, in this snippet of code, the attribute C<foo> will 
-temporarily be set to C<2>, until the end of the scope of C<$x>, at 
+For example, in this snippet of code, the attribute C<foo> will
+temporarily be set to C<2>, until the end of the scope of C<$x>, at
 which point the original value of C<1> will be restored.
 
     my $obj = Object::Accessor->new;
-    
+
     $obj->mk_accessors('foo');
     $obj->foo( 1 );
     print $obj->foo;                # will print 1
 
     ### bind the scope of the value of attribute 'foo'
-    ### to the scope of '$x' -- when $x goes out of 
+    ### to the scope of '$x' -- when $x goes out of
     ### scope, 'foo' previous value will be restored
     {   $obj->foo( 2 => \my $x );
         print $obj->foo, ' ', $x;   # will print '2 2'
     }
     print $obj->foo;                # will print 1
-    
 
+
 Note that all accessors are read/write for everyone. See the C<TODO>
 section for details.
 
@@ -191,11 +191,11 @@
 sub mk_accessors {
     my $self    = $_[0];
     my $is_hash = UNIVERSAL::isa( $_[1], 'HASH' );
-    
+
     ### first argument is a hashref, which means key/val pairs
     ### as keys + allow handlers
     for my $acc ( $is_hash ? keys %{$_[1]} : @_[1..$#_] ) {
-    
+
         ### already created apparently
         if( exists $self->{$acc} ) {
             __PACKAGE__->___debug( "Accessor '$acc' already exists");
@@ -206,7 +206,7 @@
 
         ### explicitly vivify it, so that exists works in ls_accessors()
         $self->{$acc}->[VALUE] = undef;
-        
+
         ### set the allow handler only if one was specified
         $self->{$acc}->[ALLOW] = $_[1]->{$acc} if $is_hash;
     }
@@ -223,7 +223,7 @@
 =cut
 
 sub ls_accessors {
-    ### metainformation is stored in the stringified 
+    ### metainformation is stored in the stringified
     ### key of the object, so skip that when listing accessors
     return sort grep { $_ ne "$_[0]" } keys %{$_[0]};
 }
@@ -240,7 +240,7 @@
     my $self = shift;
     my $key  = shift or return;
     return exists $self->{$key}->[ALLOW]
-                ? $self->{$key}->[ALLOW] 
+                ? $self->{$key}->[ALLOW]
                 : sub { 1 };
 }
 
@@ -256,7 +256,7 @@
 
   $self->mk_accessors('foo');
   $self->mk_aliases( bar => 'foo' );
-  
+
   $self->bar( 42 );
   print $self->foo;     # will print 42
 
@@ -265,7 +265,7 @@
 sub mk_aliases {
     my $self    = shift;
     my %aliases = @_;
-    
+
     while( my($alias, $method) = each %aliases ) {
 
         ### already created apparently
@@ -294,7 +294,7 @@
     my $class   = ref $self;
 
     my $clone   = $class->new;
-    
+
     ### split out accessors with and without allow handlers, so we
     ### don't install dummy allow handers (which makes O::A::lvalue
     ### warn for example)
@@ -348,7 +348,7 @@
 
 sub mk_verify {
     my $self = $_[0];
-    
+
     my $fail;
     for my $name ( $self->ls_accessors ) {
         unless( allow( $self->$name, $self->ls_allow( $name ) ) ) {
@@ -361,7 +361,7 @@
 
     return if $fail;
     return 1;
-}   
+}
 
 =head2 $bool = $self->register_callback( sub { ... } );
 
@@ -373,24 +373,24 @@
 data is even stored in the object.
 
 Below is an example of the use of a callback.
-    
+
     $object->some_method( "some_value" );
-    
+
     my $callback = sub {
         my $self    = shift; # the object
         my $meth    = shift; # "some_method"
-        my $val     = shift; # ["some_value"]  
+        my $val     = shift; # ["some_value"]
                              # could be undef -- check 'exists';
                              # if scalar @$val is empty, it was a 'get'
-    
+
         # your code here
 
         return $new_val;     # the value you want to be set/returned
-    }        
+    }
 
 To access the values stored in the object, circumventing the
 callback structure, you should use the C<___get> and C<___set> methods
-documented further down. 
+documented further down.
 
 =cut
 
@@ -397,7 +397,7 @@
 sub register_callback {
     my $self    = shift;
     my $sub     = shift or return;
-    
+
     ### use the memory address as key, it's not used EVER as an
     ### accessor --kane
     $self->___callback( $sub );
@@ -430,19 +430,20 @@
     my($self, $method) = @_;
 
     ### it's one of our regular methods
-    if( $self->UNIVERSAL::can($method) ) {
-        __PACKAGE__->___debug( "Can '$method' -- provided by package" );
-        return $self->UNIVERSAL::can($method);
+    my $code = $self->UNIVERSAL::can($method);
+    if( $code ) {
+        carp( "Can '$method' -- provided by package" ) if $DEBUG;
+        return $code;
     }
 
     ### it's an accessor we provide;
     if( UNIVERSAL::isa( $self, 'HASH' ) and exists $self->{$method} ) {
-        __PACKAGE__->___debug( "Can '$method' -- provided by object" );
+        carp( "Can '$method' -- provided by object" ) if $DEBUG;
         return sub { $self->$method(@_); }
     }
 
     ### we don't support it
-    __PACKAGE__->___debug( "Cannot '$method'" );
+    carp( "Cannot '$method'" ) if $DEBUG;
     return;
 }
 
@@ -470,21 +471,21 @@
         if ( not exists $self->{$method} ) {
             __PACKAGE__->___error("No such accessor '$method'", 1);
             return;
-        } 
-   
+        }
+
     ### a method on something else, die with a descriptive error;
-    } else {     
+    } else {
         local $FATAL = 1;
-        __PACKAGE__->___error( 
+        __PACKAGE__->___error(
                 "You called '$AUTOLOAD' on '$self' which was interpreted by ".
                 __PACKAGE__ . " as an object call. Did you mean to include ".
                 "'$method' from somewhere else?", 1 );
-    }        
+    }
 
     ### is this is an alias, redispatch to the original method
     if( my $original = $self->{ $method }->[ALIAS] ) {
         return $self->___autoload( $original, @_ );
-    }        
+    }
 
     ### assign?
     my $val = $assign ? shift(@_) : $self->___get( $method );
@@ -494,43 +495,43 @@
         ### any binding?
         if( $_[0] ) {
             if( ref $_[0] and UNIVERSAL::isa( $_[0], 'SCALAR' ) ) {
-            
+
                 ### tie the reference, so we get an object and
                 ### we can use it's going out of scope to restore
                 ### the old value
                 my $cur = $self->{$method}->[VALUE];
-                
-                tie ${$_[0]}, __PACKAGE__ . '::TIE', 
+
+                tie ${$_[0]}, __PACKAGE__ . '::TIE',
                         sub { $self->$method( $cur ) };
-    
+
                 ${$_[0]} = $val;
-            
+
             } else {
-                __PACKAGE__->___error( 
-                    "Can not bind '$method' to anything but a SCALAR", 1 
+                __PACKAGE__->___error(
+                    "Can not bind '$method' to anything but a SCALAR", 1
                 );
             }
         }
-        
+
         ### need to check the value?
-        if( exists $self->{$method}->[ALLOW] ) {
+        if( defined $self->{$method}->[ALLOW] ) {
 
             ### double assignment due to 'used only once' warnings
             local $Params::Check::VERBOSE = 0;
             local $Params::Check::VERBOSE = 0;
-            
+
             allow( $val, $self->{$method}->[ALLOW] ) or (
-                __PACKAGE__->___error( 
-                    "'$val' is an invalid value for '$method'", 1), 
-                return 
-            ); 
+                __PACKAGE__->___error(
+                    "'$val' is an invalid value for '$method'", 1),
+                return
+            );
         }
     }
-    
+
     ### callbacks?
     if( my $sub = $self->___callback ) {
         $val = eval { $sub->( $self, $method, ($assign ? [$val] : []) ) };
-        
+
         ### register the error
         $self->___error( $@, 1 ), return if $@;
     }
@@ -539,7 +540,7 @@
     if( $assign ) {
         $self->___set( $method, $val ) or return;
     }
-    
+
     return [$val];
 }
 
@@ -548,7 +549,7 @@
 Method to directly access the value of the given accessor in the
 object. It circumvents all calls to allow checks, callbacks, etc.
 
-Use only if you C<Know What You Are Doing>! General usage for 
+Use only if you C<Know What You Are Doing>! General usage for
 this functionality would be in your own custom callbacks.
 
 =cut
@@ -566,19 +567,19 @@
 Method to directly set the value of the given accessor in the
 object. It circumvents all calls to allow checks, callbacks, etc.
 
-Use only if you C<Know What You Are Doing>! General usage for 
+Use only if you C<Know What You Are Doing>! General usage for
 this functionality would be in your own custom callbacks.
 
-=cut 
+=cut
 
 sub ___set {
     my $self    = shift;
     my $method  = shift or return;
-   
+
     ### you didn't give us a value to set!
-    exists $_[0] or return;
+    @_ or return;
     my $val     = shift;
- 
+
     ### if there's more arguments than $self, then
     ### replace the method called by the accessor.
     ### XXX implement rw vs ro accessors!
@@ -592,7 +593,7 @@
 Method to directly alias one accessor to another for
 this object. It circumvents all sanity checks, etc.
 
-Use only if you C<Know What You Are Doing>! 
+Use only if you C<Know What You Are Doing>!
 
 =cut
 
@@ -600,9 +601,9 @@
     my $self    = shift;
     my $alias   = shift or return;
     my $method  = shift or return;
-    
+
     $self->{ $alias }->[ALIAS] = $method;
-    
+
     return 1;
 }
 
@@ -611,10 +612,9 @@
 
     my $self = shift;
     my $msg  = shift;
-    my $lvl  = shift || 0;
 
     local $Carp::CarpLevel += 1;
-    
+
     carp($msg);
 }
 
@@ -632,13 +632,13 @@
 sub ___callback {
     my $self = shift;
     my $sub  = shift;
-    
+
     my $mem  = overload::Overloaded( $self )
                 ? overload::StrVal( $self )
                 : "$self";
 
     $self->{$mem} = $sub if $sub;
-    
+
     return $self->{$mem};
 }
 
@@ -651,7 +651,7 @@
     my $obj = Object::Accessor::Lvalue->new('foo');
     $obj->foo += 1;
     print $obj->foo;
-    
+
 will actually print C<1> and work as expected. Since this is an
 optional feature, that's not desirable in all cases, we require
 you to explicitly use the C<Object::Accessor::Lvalue> class.
@@ -685,7 +685,7 @@
 Due to the nature of C<lvalue subs>, we never get access to the
 value you are assigning, so we can not check provide this value
 to your callback. Furthermore, we can not distinguish between
-a C<get> and a C<set> call. Callbacks are therefor unsupported 
+a C<get> and a C<set> call. Callbacks are therefor unsupported
 under C<lvalue> conditions.
 
 See C<perldoc perlsub> for details.
@@ -702,7 +702,7 @@
     *VALUE = *Object::Accessor::VALUE;
     *ALLOW = *Object::Accessor::ALLOW;
 
-    ### largely copied from O::A::Autoload 
+    ### largely copied from O::A::Autoload
     sub AUTOLOAD : lvalue {
         my $self    = shift;
         my($method) = ($AUTOLOAD =~ /([^:']+$)/);
@@ -720,14 +720,14 @@
     sub mk_accessors {
         my $self    = shift;
         my $is_hash = UNIVERSAL::isa( $_[0], 'HASH' );
-        
+
         $self->___error(
             "Allow handlers are not supported for '". __PACKAGE__ ."' objects"
         ) if $is_hash;
-        
+
         return $self->SUPER::mk_accessors( @_ );
-    }                    
-    
+    }
+
     sub register_callback {
         my $self = shift;
         $self->___error(
@@ -734,14 +734,13 @@
             "Callbacks are not supported for '". __PACKAGE__ ."' objects"
         );
         return;
-    }        
-}    
+    }
+}
 
 
 ### standard tie class for bound attributes
 {   package Object::Accessor::TIE;
     use Tie::Scalar;
-    use Data::Dumper;
     use base 'Tie::StdScalar';
 
     my %local = ();
@@ -752,18 +751,18 @@
         my $ref     = undef;
         my $obj     =  bless \$ref, $class;
 
-        ### store the restore sub 
+        ### store the restore sub
         $local{ $obj } = $sub;
         return $obj;
     }
-    
+
     sub DESTROY {
         my $tied    = shift;
         my $sub     = delete $local{ $tied };
 
         ### run the restore sub to set the old value back
-        return $sub->();        
-    }              
+        return $sub->();
+    }
 }
 
 =back
@@ -793,11 +792,11 @@
 If you use codereferences for your allow handlers, you will not be able
 to freeze the data structures using C<Storable>.
 
-Due to a bug in storable (until at least version 2.15), C<qr//> compiled 
-regexes also don't de-serialize properly. Although this bug has been 
+Due to a bug in storable (until at least version 2.15), C<qr//> compiled
+regexes also don't de-serialize properly. Although this bug has been
 reported, you should be aware of this issue when serializing your objects.
 
-You can track the bug here: 
+You can track the bug here:
 
     http://rt.cpan.org/Ticket/Display.html?id=1827
 
@@ -811,7 +810,7 @@
 
 =head1 COPYRIGHT
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/Object-Accessor/lib/Object/Accessor.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Object-Accessor/t/00_Object-Accessor.t
===================================================================
--- vendor/perl/dist/cpan/Object-Accessor/t/00_Object-Accessor.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Object-Accessor/t/00_Object-Accessor.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Object-Accessor/t/00_Object-Accessor.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Object-Accessor/t/01_Object-Accessor-Subclassed.t
===================================================================
--- vendor/perl/dist/cpan/Object-Accessor/t/01_Object-Accessor-Subclassed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Object-Accessor/t/01_Object-Accessor-Subclassed.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 ### establish another package that subclasses our own
 {   package My::Class;
     use base 'Object::Accessor';
-}    
+}
 
 my $Object  = $MyClass->new;
 
@@ -22,24 +22,24 @@
 {   ok( $Object,                "Object created" );
     isa_ok( $Object,            $MyClass );
     isa_ok( $Object,            $Class );
-}    
+}
 
-### create an accessor 
+### create an accessor
 {   ok( $Object->mk_accessors( $Acc ),
                                 "Accessor '$Acc' created" );
     ok( $Object->can( $Acc ),   "   Object can '$Acc'" );
     ok( $Object->$Acc(1),       "   Objects '$Acc' set" );
     ok( $Object->$Acc(),        "   Objects '$Acc' retrieved" );
-}    
-    
+}
+
 ### check if we do the right thing when we call an accessor that's
-### not a defined function in the base class, and not an accessors 
+### not a defined function in the base class, and not an accessors
 ### in the object either
 {   my $sub = eval { $MyClass->can( $$ ); };
 
     ok( !$sub,                  "No sub from non-existing function" );
     ok( !$@,                    "   Code handled it gracefully" );
-}    
+}
 
 ### check if a method called on a class, that's not actually there
 ### doesn't get confused as an object call;
@@ -48,4 +48,4 @@
     ok( $@,                     "Calling '$$' on '$MyClass' dies" );
     like( $@, qr/from somewhere else/,
                                 "   Dies with an informative message" );
-}                                
+}


Property changes on: vendor/perl/dist/cpan/Object-Accessor/t/01_Object-Accessor-Subclassed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Object-Accessor/t/02_Object-Accessor-allow.t
===================================================================
--- vendor/perl/dist/cpan/Object-Accessor/t/02_Object-Accessor-allow.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Object-Accessor/t/02_Object-Accessor-allow.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -44,15 +44,15 @@
 {   ### bad
     {   my $warning;
         local $SIG{__WARN__} = sub { $warning .= "@_" };
-    
+
         ok( !$Object->$Acc( $0 ),   "'$Acc' NOT set to '$0'" );
         is( $Object->$Acc(), undef, "   '$Acc' still holds '<undef>'" );
         like( $warning, $Err_re,    "   Warnings logged" );
-    
+
         ### reset warnings;
         undef $warning;
-        
-    
+
+
         my $ok = $Object->mk_verify;
         ok( !$ok,                   "   Internal verify fails" );
         like( $warning, $Ver_re,    "       Warning logged" );
@@ -63,7 +63,7 @@
     ### good
     {   my $warning;
         local $SIG{__WARN__} = sub { $warning .= "@_" };
-    
+
         ok( $Object->$Acc( $$ ),    "'$Acc' set to '$$'" );
         is( $Object->$Acc(), $$,    "   '$Acc' still holds '$$'" );
         ok(!$warning,               "   No warnings logged" );
@@ -70,7 +70,7 @@
 
         ### reset warnings;
         undef $warning;
-        
+
         my $ok = $Object->mk_verify;
         ok( $ok,                    "   Internal verify succeeds" );
         ok( !$warning,              "       No warnings" );


Property changes on: vendor/perl/dist/cpan/Object-Accessor/t/02_Object-Accessor-allow.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Object-Accessor/t/03_Object-Accessor-local.t
===================================================================
--- vendor/perl/dist/cpan/Object-Accessor/t/03_Object-Accessor-local.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Object-Accessor/t/03_Object-Accessor-local.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -40,11 +40,11 @@
 
     $Object->$Acc( $$ );
     is( $Object->$Acc, $$,      "   Value set to $$" );
-    
+
     ### set it to a scope
     {   $Object->$Acc( $0 => \my $temp );
         is( $Object->$Acc, $0,  "   Value set to $0" );
     }
-    
+
     is( $Object->$Acc, $$,      "   Value restored to $$" );
-}    
+}


Property changes on: vendor/perl/dist/cpan/Object-Accessor/t/03_Object-Accessor-local.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Object-Accessor/t/04_Object-Accessor-lvalue.t
===================================================================
--- vendor/perl/dist/cpan/Object-Accessor/t/04_Object-Accessor-lvalue.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Object-Accessor/t/04_Object-Accessor-lvalue.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,10 +6,10 @@
 
 BEGIN {
     require Test::More;
-    Test::More->import( 
+    Test::More->import(
         # silly bbedit [
-        $] >= 5.008         
-            ? 'no_plan' 
+        $] >= 5.008
+            ? 'no_plan'
             : ( skip_all => "Lvalue objects require perl >= 5.8" )
     );
 }
@@ -37,7 +37,7 @@
 ### create an accessor;
 {   ok( $Object->mk_accessors( $Acc ),
                                 "Accessor '$Acc' created" );
-    
+
     eval { $Object->$Acc = $$ };
     ok( !$@,                    "lvalue assign successful $@" );
     ok( $Object->$Acc,          "Accessor '$Acc' set" );
@@ -60,8 +60,8 @@
                                 "       Got warning about allow handlers" );
     }
 
-    ok( eval{ $clone->$acc = $$ },      
-                                "   Allow handler ignored" );       
+    ok( eval{ $clone->$acc = $$ },
+                                "   Allow handler ignored" );
     ok( ! $@,                   "   No error occurred" );
     is( $clone->$acc, $$,       "   Setting '$acc' worked" );
 }
@@ -69,7 +69,7 @@
 ### test registering callbacks
 {   my $clone = $Object->mk_clone;
     ok( $clone,                 "Cloned the lvalue object" );
-    
+
     {   my $warnings;
         local $SIG{__WARN__} = sub { $warnings .= "@_" };
         ok( ! $clone->register_callback( sub { } ),
@@ -77,6 +77,6 @@
 
         like( $warnings, qr/not supported/,
                                 "   Got warning about callbacks" );
-    }                                
+    }
 }
 


Property changes on: vendor/perl/dist/cpan/Object-Accessor/t/04_Object-Accessor-lvalue.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Object-Accessor/t/05_Object-Accessor-callback.t
===================================================================
--- vendor/perl/dist/cpan/Object-Accessor/t/05_Object-Accessor-callback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Object-Accessor/t/05_Object-Accessor-callback.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,18 +26,18 @@
         my $obj     = shift;
         my $meth    = shift;
         my $val     = shift;
-    
+
         $Called++;
-        
+
         ok( 1,                  "   In callback now" );
         ok( $obj,               "       Object received" );
         isa_ok( $obj, $Class,   "       Object");
         is( $meth, $Acc,        "       Method is '$Acc'" );
         isa_ok( $val, "ARRAY",  "       Value" );
-        scalar @$val 
+        scalar @$val
             ? is( $val->[0], $SetVal,
                                 "       Attempted to set $SetVal" )
-            : ok( ! exists $val->[0],
+            : ok( ! scalar @$val,
                                 "       This was a GET request" );
 
         return $RetVal;
@@ -57,7 +57,7 @@
 
     my $clone = $Object->mk_clone;
     ok( $clone,                 "Object cloned" );
-    
+
     my $val = $clone->___get($Acc);
     is( $val, undef,            "   Direct get returns <undef>" );
     ok( $clone->___set( $Acc => $SetVal ),
@@ -64,7 +64,7 @@
                                 "   Direct set is able to set the value" );
     is( $clone->___get( $Acc ), $SetVal,
                                 "   Direct get returns $SetVal" );
-    ok( !$Called,               "   Callbacks didn't get called" );                                
+    ok( !$Called,               "   Callbacks didn't get called" );
 }
 
 ### test callbacks on regular objects
@@ -71,16 +71,16 @@
 ### XXX callbacks DO NOT work on lvalue objects. This is verified
 ### in the lvalue test file, so we dont test here
 {   #diag("Running GET tests on regular objects");
-    
+
     my $clone   = $Object->mk_clone;
 
     $Called = 0;
     is( $clone->$Acc, $RetVal,   "   Method '$Acc' returns '$RetVal' " );
     is( $clone->___get($Acc), undef,
-                                "   Direct get returns <undef>" );    
+                                "   Direct get returns <undef>" );
     ok( $Called,                "   Callback called" );
 
-    
+
     #diag("Running SET tests on regular objects");
     $Called = 0;
     ok( $clone->$Acc($SetVal),  "   Setting $Acc" );


Property changes on: vendor/perl/dist/cpan/Object-Accessor/t/05_Object-Accessor-callback.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Object-Accessor/t/06_Object-Accessor-alias.t
===================================================================
--- vendor/perl/dist/cpan/Object-Accessor/t/06_Object-Accessor-alias.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Object-Accessor/t/06_Object-Accessor-alias.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Object-Accessor/t/06_Object-Accessor-alias.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Package-Constants/lib/Package/Constants.pm
===================================================================
--- vendor/perl/dist/cpan/Package-Constants/lib/Package/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Package-Constants/lib/Package/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Package-Constants/lib/Package/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Package-Constants/t/01_list.t
===================================================================
--- vendor/perl/dist/cpan/Package-Constants/t/01_list.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Package-Constants/t/01_list.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Package-Constants/t/01_list.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Params-Check/lib/Params/Check.pm
===================================================================
--- vendor/perl/dist/cpan/Params-Check/lib/Params/Check.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Params-Check/lib/Params/Check.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,8 +5,6 @@
 use Carp                        qw[carp croak];
 use Locale::Maketext::Simple    Style => 'gettext';
 
-use Data::Dumper;
-
 BEGIN {
     use Exporter    ();
     use vars        qw[ @ISA $VERSION @EXPORT_OK $VERBOSE $ALLOW_UNKNOWN
@@ -18,7 +16,7 @@
     @ISA        =   qw[ Exporter ];
     @EXPORT_OK  =   qw[check allow last_error];
 
-    $VERSION                = '0.28';
+    $VERSION                = '0.36';
     $VERBOSE                = $^W ? 1 : 0;
     $NO_DUPLICATES          = 0;
     $STRIP_LEADING_DASHES   = 0;
@@ -247,15 +245,19 @@
 sub check {
     my ($utmpl, $href, $verbose) = @_;
 
+    ### clear the current error string ###
+    _clear_error();
+
     ### did we get the arguments we need? ###
-    return if !$utmpl or !$href;
+    if ( !$utmpl or !$href ) {
+      _store_error(loc('check() expects two arguments'));
+      return unless $WARNINGS_FATAL;
+      croak(__PACKAGE__->last_error);
+    }
 
     ### sensible defaults ###
     $verbose ||= $VERBOSE || 0;
 
-    ### clear the current error string ###
-    _clear_error();
-
     ### XXX what type of template is it? ###
     ### { key => { } } ?
     #if (ref $args eq 'HASH') {
@@ -263,31 +265,89 @@
     #}
 
     ### clean up the template ###
-    my $args = _clean_up_args( $href ) or return;
+    my $args;
 
+    ### don't even bother to loop, if there's nothing to clean up ###
+    if( $PRESERVE_CASE and !$STRIP_LEADING_DASHES ) {
+        $args = $href;
+    } else {
+        ### keys are not aliased ###
+        for my $key (keys %$href) {
+            my $org = $key;
+            $key = lc $key unless $PRESERVE_CASE;
+            $key =~ s/^-// if $STRIP_LEADING_DASHES;
+            $args->{$key} = $href->{$org};
+        }
+    }
+
+    my %defs;
+
+    ### which template entries have a 'store' member
+    my @want_store;
+
     ### sanity check + defaults + required keys set? ###
-    my $defs = _sanity_check_and_defaults( $utmpl, $args, $verbose )
-                    or return;
+    my $fail;
+    for my $key (keys %$utmpl) {
+        my $tmpl = $utmpl->{$key};
 
-    ### deref only once ###
-    my %utmpl   = %$utmpl;
-    my %args    = %$args;
-    my %defs    = %$defs;
+        ### check if required keys are provided
+        ### keys are now lower cased, unless preserve case was enabled
+        ### at which point, the utmpl keys must match, but that's the users
+        ### problem.
+        if( $tmpl->{'required'} and not exists $args->{$key} ) {
+            _store_error(
+                loc(q|Required option '%1' is not provided for %2 by %3|,
+                    $key, _who_was_it(), _who_was_it(1)), $verbose );
 
+            ### mark the error ###
+            $fail++;
+            next;
+        }
+
+        ### next, set the default, make sure the key exists in %defs ###
+        $defs{$key} = $tmpl->{'default'}
+                        if exists $tmpl->{'default'};
+
+        if( $SANITY_CHECK_TEMPLATE ) {
+            ### last, check if they provided any weird template keys
+            ### -- do this last so we don't always execute this code.
+            ### just a small optimization.
+            map {   _store_error(
+                        loc(q|Template type '%1' not supported [at key '%2']|,
+                        $_, $key), 1, 0 );
+            } grep {
+                not $known_keys{$_}
+            } keys %$tmpl;
+
+            ### make sure you passed a ref, otherwise, complain about it!
+            if ( exists $tmpl->{'store'} ) {
+                _store_error( loc(
+                    q|Store variable for '%1' is not a reference!|, $key
+                ), 1, 0 ) unless ref $tmpl->{'store'};
+            }
+        }
+
+        push @want_store, $key if $tmpl->{'store'};
+    }
+
+    ### errors found ###
+    return if $fail;
+
     ### flag to see if anything went wrong ###
-    my $wrong; 
-    
+    my $wrong;
+
     ### flag to see if we warned for anything, needed for warnings_fatal
     my $warned;
 
-    for my $key (keys %args) {
+    for my $key (keys %$args) {
+        my $arg = $args->{$key};
 
         ### you gave us this key, but it's not in the template ###
-        unless( $utmpl{$key} ) {
+        unless( $utmpl->{$key} ) {
 
             ### but we'll allow it anyway ###
             if( $ALLOW_UNKNOWN ) {
-                $defs{$key} = $args{$key};
+                $defs{$key} = $arg;
 
             ### warn about the error ###
             } else {
@@ -299,8 +359,11 @@
             next;
         }
 
+        ### copy of this keys template instructions, to save derefs ###
+        my %tmpl = %{$utmpl->{$key}};
+
         ### check if you're even allowed to override this key ###
-        if( $utmpl{$key}->{'no_override'} ) {
+        if( $tmpl{'no_override'} ) {
             _store_error(
                 loc(q[You are not allowed to override key '%1'].
                     q[for %2 from %3], $key, _who_was_it(), _who_was_it(1)),
@@ -310,13 +373,8 @@
             next;
         }
 
-        ### copy of this keys template instructions, to save derefs ###
-        my %tmpl = %{$utmpl{$key}};
-
         ### check if you were supposed to provide defined() values ###
-        if( ($tmpl{'defined'} || $ONLY_ALLOW_DEFINED) and
-            not defined $args{$key}
-        ) {
+        if( ($tmpl{'defined'} || $ONLY_ALLOW_DEFINED) and not defined $arg ) {
             _store_error(loc(q|Key '%1' must be defined when passed|, $key),
                 $verbose );
             $wrong ||= 1;
@@ -325,7 +383,7 @@
 
         ### check if they should be of a strict type, and if it is ###
         if( ($tmpl{'strict_type'} || $STRICT_TYPE) and
-            (ref $args{$key} ne ref $tmpl{'default'})
+            (ref $arg ne ref $tmpl{'default'})
         ) {
             _store_error(loc(q|Key '%1' needs to be of type '%2'|,
                         $key, ref $tmpl{'default'} || 'SCALAR'), $verbose );
@@ -337,14 +395,14 @@
         ### allow() will report its own errors ###
         if( exists $tmpl{'allow'} and not do {
                 local $_ERROR_STRING;
-                allow( $args{$key}, $tmpl{'allow'} )
-            }         
+                allow( $arg, $tmpl{'allow'} )
+            }
         ) {
             ### stringify the value in the error report -- we don't want dumps
             ### of objects, but we do want to see *roughly* what we passed
             _store_error(loc(q|Key '%1' (%2) is of invalid type for '%3' |.
                              q|provided by %4|,
-                            $key, "$args{$key}", _who_was_it(),
+                            $key, "$arg", _who_was_it(),
                             _who_was_it(1)), $verbose);
             $wrong ||= 1;
             next;
@@ -351,11 +409,11 @@
         }
 
         ### we got here, then all must be OK ###
-        $defs{$key} = $args{$key};
+        $defs{$key} = $arg;
 
     }
 
-    ### croak with the collected errors if there were errors and 
+    ### croak with the collected errors if there were errors and
     ### we have the fatal flag toggled.
     croak(__PACKAGE__->last_error) if ($wrong || $warned) && $WARNINGS_FATAL;
 
@@ -366,10 +424,10 @@
     ### check if we need to store any of the keys ###
     ### can't do it before, because something may go wrong later,
     ### leaving the user with a few set variables
-    for my $key (keys %defs) {
-        if( my $ref = $utmpl{$key}->{'store'} ) {
-            $$ref = $NO_DUPLICATES ? delete $defs{$key} : $defs{$key};
-        }
+    for my $key (@want_store) {
+        next unless exists $defs{$key};
+        my $ref = $utmpl->{$key}{'store'};
+        $$ref = $NO_DUPLICATES ? delete $defs{$key} : $defs{$key};
     }
 
     return \%defs;
@@ -439,7 +497,7 @@
         for ( @{$_[1]} ) {
             return 1 if allow( $_[0], $_ );
         }
-        
+
         return;
 
     ### fall back to a simple, but safe 'eq' ###
@@ -453,80 +511,6 @@
 
 ### helper functions ###
 
-### clean up the template ###
-sub _clean_up_args {
-    ### don't even bother to loop, if there's nothing to clean up ###
-    return $_[0] if $PRESERVE_CASE and !$STRIP_LEADING_DASHES;
-
-    my %args = %{$_[0]};
-
-    ### keys are note aliased ###
-    for my $key (keys %args) {
-        my $org = $key;
-        $key = lc $key unless $PRESERVE_CASE;
-        $key =~ s/^-// if $STRIP_LEADING_DASHES;
-        $args{$key} = delete $args{$org} if $key ne $org;
-    }
-
-    ### return references so we always return 'true', even on empty
-    ### arguments
-    return \%args;
-}
-
-sub _sanity_check_and_defaults {
-    my %utmpl   = %{$_[0]};
-    my %args    = %{$_[1]};
-    my $verbose = $_[2];
-
-    my %defs; my $fail;
-    for my $key (keys %utmpl) {
-
-        ### check if required keys are provided
-        ### keys are now lower cased, unless preserve case was enabled
-        ### at which point, the utmpl keys must match, but that's the users
-        ### problem.
-        if( $utmpl{$key}->{'required'} and not exists $args{$key} ) {
-            _store_error(
-                loc(q|Required option '%1' is not provided for %2 by %3|,
-                    $key, _who_was_it(1), _who_was_it(2)), $verbose );
-
-            ### mark the error ###
-            $fail++;
-            next;
-        }
-
-        ### next, set the default, make sure the key exists in %defs ###
-        $defs{$key} = $utmpl{$key}->{'default'}
-                        if exists $utmpl{$key}->{'default'};
-
-        if( $SANITY_CHECK_TEMPLATE ) {
-            ### last, check if they provided any weird template keys
-            ### -- do this last so we don't always execute this code.
-            ### just a small optimization.
-            map {   _store_error(
-                        loc(q|Template type '%1' not supported [at key '%2']|,
-                        $_, $key), 1, 1 );
-            } grep {
-                not $known_keys{$_}
-            } keys %{$utmpl{$key}};
-        
-            ### make sure you passed a ref, otherwise, complain about it!
-            if ( exists $utmpl{$key}->{'store'} ) {
-                _store_error( loc(
-                    q|Store variable for '%1' is not a reference!|, $key
-                ), 1, 1 ) unless ref $utmpl{$key}->{'store'};
-            }
-        }
-    }
-
-    ### errors found ###
-    return if $fail;
-
-    ### return references so we always return 'true', even on empty
-    ### defaults
-    return \%defs;
-}
-
 sub _safe_eq {
     ### only do a straight 'eq' if they're both defined ###
     return defined($_[0]) && defined($_[1])
@@ -654,7 +638,7 @@
 
 =head2 $Params::Check::WARNINGS_FATAL
 
-If set to true, L<Params::Check> will C<croak> when an error during 
+If set to true, L<Params::Check> will C<croak> when an error during
 template validation occurs, rather than return C<false>.
 
 Default is 0;


Property changes on: vendor/perl/dist/cpan/Params-Check/lib/Params/Check.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Params-Check/t/01_Params-Check.t
===================================================================
--- vendor/perl/dist/cpan/Params-Check/t/01_Params-Check.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Params-Check/t/01_Params-Check.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 BEGIN {
     use_ok( 'Params::Check' );
     Params::Check->import(qw|check last_error allow|);
-}    
+}
 
 ### verbose is good for debugging ###
 $Params::Check::VERBOSE = $Params::Check::VERBOSE = $ARGV[0] ? 1 : 0;
@@ -27,25 +27,25 @@
     ok(!allow( 42, [50,sub{0}]),"   Disallowing based on list containing sub");
     ok(!allow( 42, FALSE ),     "   Disallowing based on constant sub" );
 
-    ### check that allow short circuits where required 
+    ### check that allow short circuits where required
     {   my $sub_called;
         allow( 1, [ 1, sub { $sub_called++ } ] );
         ok( !$sub_called,       "Allow short-circuits properly" );
-    }        
+    }
 
     ### check if the subs for allow get what you expect ###
     for my $thing (1,'foo',[1]) {
-        allow( $thing, 
-           sub { is_deeply(+shift,$thing,  "Allow coderef gets proper args") } 
+        allow( $thing,
+           sub { is_deeply(+shift,$thing,  "Allow coderef gets proper args") }
         );
     }
 }
 ### default tests ###
-{   
+{
     my $tmpl =  {
         foo => { default => 1 }
     };
-    
+
     ### empty args first ###
     {   my $args = check( $tmpl, {} );
 
@@ -52,11 +52,11 @@
         ok( $args,              "check() call with empty args" );
         is( $args->{'foo'}, 1,  "   got default value" );
     }
-    
+
     ### now provide an alternate value ###
     {   my $try  = { foo => 2 };
         my $args = check( $tmpl, $try );
-        
+
         ok( $args,              "check() call with defined args" );
         is_deeply( $args, $try, "   found provided value in rv" );
     }
@@ -72,7 +72,7 @@
     {   local $Params::Check::STRIP_LEADING_DASHES = 1;
         my $try  = { -foo => 2 };
         my $get  = { foo  => 2 };
-        
+
         my $args = check( $tmpl, $try );
         ok( $args,              "check() call with leading dashes" );
         is_deeply( $args, $get, "   found provided value in rv" );
@@ -81,35 +81,35 @@
 
 ### preserve case tests ###
 {   my $tmpl = { Foo => { default => 1 } };
-    
+
     for (1,0) {
         local $Params::Check::PRESERVE_CASE = $_;
-        
+
         my $expect = $_ ? { Foo => 42 } : { Foo => 1 };
-        
+
         my $rv = check( $tmpl, { Foo => 42 } );
         ok( $rv,                "check() call using PRESERVE_CASE: $_" );
         is_deeply($rv, $expect, "   found provided value in rv" );
-    }             
+    }
 }
 
 
 ### unknown tests ###
-{   
+{
     ### disallow unknowns ###
-    {        
+    {
         my $rv = check( {}, { foo => 42 } );
-    
-        is_deeply( $rv, {},     "check() call with unknown arguments" ); 
+
+        is_deeply( $rv, {},     "check() call with unknown arguments" );
         like( last_error(), qr/^Key 'foo' is not a valid key/,
                                 "   warning recorded ok" );
     }
-    
+
     ### allow unknown ###
     {
         local   $Params::Check::ALLOW_UNKNOWN = 1;
-        my $rv = check( {}, { foo => 42 } );        
-        
+        my $rv = check( {}, { foo => 42 } );
+
         is_deeply( $rv, { foo => 42 },
                                 "check call() with unknown args allowed" );
     }
@@ -124,26 +124,26 @@
     ### with/without store duplicates ###
     for( 1, 0 ) {
         local   $Params::Check::NO_DUPLICATES = $_;
-        
+
         my $expect = $_ ? undef : 42;
-        
+
         my $rv = check( $tmpl, { foo => 42 } );
         ok( $rv,                    "check() call with store key, no_dup: $_" );
         is( $foo, 42,               "   found provided value in variable" );
         is( $rv->{foo}, $expect,    "   found provided value in variable" );
     }
-}    
+}
 
 ### no_override tests ###
 {   my $tmpl = {
         foo => { no_override => 1, default => 42 },
     };
-    
-    my $rv = check( $tmpl, { foo => 13 } );        
+
+    my $rv = check( $tmpl, { foo => 13 } );
     ok( $rv,                    "check() call with no_override key" );
     is( $rv->{'foo'}, 42,       "   found default value in rv" );
 
-    like( last_error(), qr/^You are not allowed to override key/, 
+    like( last_error(), qr/^You are not allowed to override key/,
                                 "   warning recorded ok" );
 }
 
@@ -158,39 +158,39 @@
 
         my $tmpl = { foo => $aref->[0] };
         local   $Params::Check::STRICT_TYPE = $aref->[1];
-                
-        ### proper value ###    
+
+        ### proper value ###
         {   my $rv = check( $tmpl, { foo => [] } );
             ok( $rv,                "check() call with strict_type enabled" );
             is( ref $rv->{foo}, 'ARRAY',
                                     "   found provided value in rv" );
         }
-        
+
         ### improper value ###
         {   my $rv = check( $tmpl, { foo => {} } );
             ok( !$rv,               "check() call with strict_type violated" );
-            like( last_error(), qr/^Key 'foo' needs to be of type 'ARRAY'/, 
+            like( last_error(), qr/^Key 'foo' needs to be of type 'ARRAY'/,
                                     "   warning recorded ok" );
         }
     }
-}          
+}
 
 ### required tests ###
 {   my $tmpl = {
         foo => { required => 1 }
     };
-    
+
     ### required value provided ###
     {   my $rv = check( $tmpl, { foo => 42 } );
         ok( $rv,                    "check() call with required key" );
         is( $rv->{foo}, 42,         "   found provided value in rv" );
     }
-    
+
     ### required value omitted ###
     {   my $rv = check( $tmpl, { } );
         ok( !$rv,                   "check() call with required key omitted" );
         like( last_error, qr/^Required option 'foo' is not provided/,
-                                    "   warning recorded ok" );            
+                                    "   warning recorded ok" );
     }
 }
 
@@ -205,19 +205,19 @@
 
         my $tmpl = { foo => $aref->[0] };
         local   $Params::Check::ONLY_ALLOW_DEFINED = $aref->[1];
-                
+
         ### value provided defined ###
         {   my $rv = check( $tmpl, { foo => 42 } );
             ok( $rv,                "check() call with defined key" );
             is( $rv->{foo}, 42,     "   found provided value in rv" );
         }
-        
+
         ### value provided undefined ###
         {   my $rv = check( $tmpl, { foo => undef } );
             ok( !$rv,               "check() call with defined key undefined" );
             like( last_error, qr/^Key 'foo' must be defined when passed/,
                                     "   warning recorded ok" );
-        }                                             
+        }
     }
 }
 
@@ -226,35 +226,46 @@
     for my $thing (1,'foo',[1]) {
         my $tmpl = {
             foo => { allow =>
-                    sub { is_deeply(+shift,$thing,  
-                                    "   Allow coderef gets proper args") } 
+                    sub { is_deeply(+shift,$thing,
+                                    "   Allow coderef gets proper args") }
             }
         };
-        
+
         my $rv = check( $tmpl, { foo => $thing } );
-        ok( $rv,                    "check() call using allow key" );  
+        ok( $rv,                    "check() call using allow key" );
     }
 }
 
-### invalid key tests 
+### invalid key tests
 {   my $tmpl = { foo => { allow => sub { 0 } } };
-    
+
     for my $val ( 1, 'foo', [], bless({},__PACKAGE__) ) {
         my $rv      = check( $tmpl, { foo => $val } );
         my $text    = "Key 'foo' ($val) is of invalid type";
         my $re      = quotemeta $text;
-        
+
         ok(!$rv,                    "check() fails with unallowed value" );
         like(last_error(), qr/$re/, "   $text" );
     }
 }
 
+### warnings [rt.cpan.org #69626]
+{
+    local $Params::Check::WARNINGS_FATAL = 1;
+
+    eval { check() };
+
+    ok( $@,             "Call dies with fatal toggled" );
+    like( $@,           qr/expects two arguments/,
+                            "   error stored ok" );
+}
+
 ### warnings fatal test
 {   my $tmpl = { foo => { allow => sub { 0 } } };
 
     local $Params::Check::WARNINGS_FATAL = 1;
 
-    eval { check( $tmpl, { foo => 1 } ) };      
+    eval { check( $tmpl, { foo => 1 } ) };
 
     ok( $@,             "Call dies with fatal toggled" );
     like( $@,           qr/invalid type/,
@@ -264,20 +275,20 @@
 ### store => \$foo tests
 {   ### quell warnings
     local $SIG{__WARN__} = sub {};
-    
+
     my $tmpl = { foo => { store => '' } };
     check( $tmpl, {} );
-    
+
     my $re = quotemeta q|Store variable for 'foo' is not a reference!|;
     like(last_error(), qr/$re/, "Caught non-reference 'store' variable" );
-}    
+}
 
 ### edge case tests ###
 {   ### if key is not provided, and value is '', will P::C treat
-    ### that correctly? 
+    ### that correctly?
     my $tmpl = { foo => { default => '' } };
     my $rv   = check( $tmpl, {} );
-    
+
     ok( $rv,                    "check() call with default = ''" );
     ok( exists $rv->{foo},      "   rv exists" );
     ok( defined $rv->{foo},     "   rv defined" );
@@ -288,7 +299,7 @@
 ### big template test ###
 {
     my $lastname;
-    
+
     ### the template to check against ###
     my $tmpl = {
         firstname   => { required   => 1, defined => 1 },
@@ -324,10 +335,10 @@
     my $get = { %$try, bureau => 'NSA' };
 
     my $rv = check( $tmpl, $try );
-    
+
     ok( $rv,                "elaborate check() call" );
     is_deeply( $rv, $get,   "   found provided values in rv" );
-    is( $rv->{lastname}, $lastname, 
+    is( $rv->{lastname}, $lastname,
                             "   found provided values in rv" );
 }
 
@@ -350,21 +361,21 @@
 
 ### test: #23824: Bug concerning the loss of the last_error
 ### message when checking recursively.
-{   ok( 1,                      "Test last_error() on recursive check() call" ); 
-    
+{   ok( 1,                      "Test last_error() on recursive check() call" );
+
     ### allow sub to call
     my $clear   = sub { check( {}, {} ) if shift; 1; };
 
     ### recursively call check() or not?
-    for my $recurse ( 0, 1 ) {         
-  
-        check(  
+    for my $recurse ( 0, 1 ) {
+
+        check(
             { a => { defined => 1 },
               b => { allow   => sub { $clear->( $recurse ) } },
             },
             { a => undef, b => undef }
-        );       
-    
+        );
+
         ok( last_error(),       "   last_error() with recurse: $recurse" );
     }
 }


Property changes on: vendor/perl/dist/cpan/Params-Check/t/01_Params-Check.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Parse-CPAN-Meta/Changes
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,14 @@
 Changes for Perl programming language extension Parse-CPAN-Meta
 
+1.4404 Sun Apr 05 2012
+      - Protected tests from user PERL_YAML/JSON_BACKEND
+
+1.4403 Sun Apr 01 2012
+      - Bumped prereqs: JSON::PP to 2.27200 and CPAN::Meta::YAML to 0.008
+
+1.4402 Tue Feb 07 2012
+      - Minor maintenance: standardized newlines to Unix style
+
 1.4401 Fri Feb 04 2011
       - Removed Module::Load::Conditional dependency
 


Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 
 # UTF Support?
 sub HAVE_UTF8 () { $] >= 5.007003 }
-sub IO_LAYER () { $] >= 5.008001 ? ":utf8" : "" }
+sub IO_LAYER () { $] >= 5.008001 ? ":utf8" : "" }  
 
 BEGIN {
 	if ( HAVE_UTF8 ) {
@@ -17,7 +17,7 @@
 	# Class structure
 	require 5.004;
 	require Exporter;
-	$Parse::CPAN::Meta::VERSION   = '1.4401';
+	$Parse::CPAN::Meta::VERSION   = '1.4404';
 	@Parse::CPAN::Meta::ISA       = qw{ Exporter      };
 	@Parse::CPAN::Meta::EXPORT_OK = qw{ Load LoadFile };
 }
@@ -40,7 +40,7 @@
   my ($class, $string) = @_;
   my $backend = $class->yaml_backend();
   my $data = eval { no strict 'refs'; &{"$backend\::Load"}($string) };
-  if ( $@ ) {
+  if ( $@ ) { 
     croak $backend->can('errstr') ? $backend->errstr : $@
   }
   return $data || {}; # in case document was valid but empty
@@ -88,7 +88,7 @@
     or die "can't open $_[0] for reading: $!";
   return do { local $/; <$fh> };
 }
-
+  
 sub _can_load {
   my ($module, $version) = @_;
   (my $file = $module) =~ s{::}{/}g;
@@ -133,21 +133,21 @@
 
     #############################################
     # In your file
-
+    
     ---
     name: My-Distribution
     version: 1.23
     resources:
       homepage: "http://example.com/dist/My-Distribution"
-
-
+    
+    
     #############################################
     # In your program
-
+    
     use Parse::CPAN::Meta;
-
+    
     my $distmeta = Parse::CPAN::Meta->load_file('META.yml');
-
+    
     # Reading properties
     my $name     = $distmeta->{name};
     my $version  = $distmeta->{version};
@@ -196,7 +196,7 @@
 
   my $metadata_structure = Parse::CPAN::Meta->load_json_string($json_string);
 
-This method deserializes the given string of JSON and the result.
+This method deserializes the given string of JSON and the result.  
 If the source was UTF-8 encoded, the string must be decoded before calling
 C<load_json_string>.
 


Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/lib/Parse/CPAN/Meta.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/01_compile.t
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/t/01_compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/t/01_compile.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,8 @@
 #!/usr/bin/perl
 
+delete $ENV{PERL_YAML_BACKEND};
+delete $ENV{PERL_JSON_BACKEND};
+
 BEGIN {
 	if( $ENV{PERL_CORE} ) {
 		chdir 't';


Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/01_compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/02_api.t
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/t/02_api.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/t/02_api.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,8 @@
 #!/usr/bin/perl
 
+delete $ENV{PERL_YAML_BACKEND};
+delete $ENV{PERL_JSON_BACKEND};
+
 # Testing of a known-bad file from an editor
 
 BEGIN {


Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/02_api.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/03_functions.t
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/t/03_functions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/t/03_functions.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,8 @@
 #!/usr/bin/perl
 
+delete $ENV{PERL_YAML_BACKEND};
+delete $ENV{PERL_JSON_BACKEND};
+
 # Testing of basic document structures
 
 BEGIN {


Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/03_functions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/04_export.t
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/t/04_export.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/t/04_export.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,8 @@
 #!/usr/bin/perl
 
+delete $ENV{PERL_YAML_BACKEND};
+delete $ENV{PERL_JSON_BACKEND};
+
 # Testing of basic document structures
 
 BEGIN {


Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/04_export.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/05_errors.t
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/t/05_errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/t/05_errors.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,8 @@
 #!/usr/bin/perl
 
+delete $ENV{PERL_YAML_BACKEND};
+delete $ENV{PERL_JSON_BACKEND};
+
 # Testing of basic document structures
 
 BEGIN {


Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/05_errors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.json
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.json	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.json	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.json
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.yml
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/data/VR-META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm
===================================================================
--- vendor/perl/dist/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Parse-CPAN-Meta/t/lib/Parse/CPAN/Meta/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Perl-OSType/lib/Perl/OSType.pm
===================================================================
--- vendor/perl/dist/cpan/Perl-OSType/lib/Perl/OSType.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Perl-OSType/lib/Perl/OSType.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,18 +1,8 @@
-#
-# This file is part of Perl-OSType
-#
-# This software is copyright (c) 2010 by David Golden.
-#
-# This is free software; you can redistribute it and/or modify it under
-# the same terms as the Perl 5 programming language system itself.
-#
 use strict;
 use warnings;
 package Perl::OSType;
-BEGIN {
-  $Perl::OSType::VERSION = '1.002';
-}
 # ABSTRACT: Map Perl operating system names to generic types
+our $VERSION = '1.003'; # VERSION
 
 require Exporter;
 our @ISA = qw(Exporter);
@@ -71,7 +61,7 @@
 
   MacOS       MacOS
   VMS         VMS
-  VOS         VOS
+  vos         VOS
   riscos      RiscOS
   amigaos     Amiga
   mpeix       MPEiX
@@ -92,6 +82,7 @@
 
 1;
 
+__END__
 
 =pod
 
@@ -101,7 +92,7 @@
 
 =head1 VERSION
 
-version 1.002
+version 1.003
 
 =head1 SYNOPSIS
 
@@ -155,20 +146,48 @@
 
 =back
 
+=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<https://github.com/dagolden/perl-ostype/issues>.
+You will be notified automatically of any progress on your issue.
+
+=head2 Source Code
+
+This is open source software.  The code repository is available for
+public review and contribution under the terms of the license.
+
+L<https://github.com/dagolden/perl-ostype>
+
+  git clone git://github.com/dagolden/perl-ostype.git
+
 =head1 AUTHOR
 
 David Golden <dagolden at cpan.org>
 
+=head1 CONTRIBUTORS
+
+=over 4
+
+=item *
+
+Jonas B. Nielsen <jonasbn at hoarfrost.local>
+
+=item *
+
+Paul Green <Paul.Green at stratus.com>
+
+=back
+
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2010 by David Golden.
+This software is copyright (c) 2013 by David Golden.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
 
 =cut
-
-
-__END__
-
-


Property changes on: vendor/perl/dist/cpan/Perl-OSType/lib/Perl/OSType.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Perl-OSType/t/00-compile.t
===================================================================
--- vendor/perl/dist/cpan/Perl-OSType/t/00-compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Perl-OSType/t/00-compile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Perl-OSType/t/00-compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Perl-OSType/t/OSType.t
===================================================================
--- vendor/perl/dist/cpan/Perl-OSType/t/OSType.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Perl-OSType/t/OSType.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -61,7 +61,7 @@
 
   is(is_os_type('Unix', NON_EXISTENT_OS), '', "$fcn: non-existent OS is false");
 
-  local $^O = 'VOS';
+  local $^O = 'vos';
   ok( ! is_os_type( 'Unix' ), "$fcn: false" );
   ok( is_os_type( 'VOS' ),    "$fcn: true" );
   ok( ! is_os_type(), "$fcn: false if no type provided" );


Property changes on: vendor/perl/dist/cpan/Perl-OSType/t/OSType.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/lib/PerlIO/via/QuotedPrint.pm
===================================================================
--- vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/lib/PerlIO/via/QuotedPrint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/lib/PerlIO/via/QuotedPrint.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,20 +1,21 @@
 package PerlIO::via::QuotedPrint;
 
-# Set the version info
-# Make sure we do things by the book from now on
+$VERSION= '0.07';
 
-$VERSION = '0.06';
+# be as strict as possible
 use strict;
 
-# Make sure the encoding/decoding stuff is available
-
+# modules that we need
 use MIME::QuotedPrint (); # no need to pollute this namespace
 
-# Satisfy -require-
-
+# satisfy -require-
 1;
 
-#-----------------------------------------------------------------------
+#-------------------------------------------------------------------------------
+#
+# Standard Perl features
+#
+#-------------------------------------------------------------------------------
 #  IN: 1 class to bless with
 #      2 mode string (ignored)
 #      3 file handle of PerlIO layer below (ignored)
@@ -22,7 +23,7 @@
 
 sub PUSHED { bless \*PUSHED,$_[0] } #PUSHED
 
-#-----------------------------------------------------------------------
+#-------------------------------------------------------------------------------
 #  IN: 1 instantiated object (ignored)
 #      2 handle to read from
 # OUT: 1 decoded string
@@ -29,14 +30,14 @@
 
 sub FILL {
 
-# Read the line from the handle
-# Decode if there is something decode and return result or signal eof
-
-    my $line = readline( $_[1] );
-    (defined $line) ? MIME::QuotedPrint::decode_qp( $line ) : undef;
+    # decode and return
+    my $line= readline( $_[1] );
+    return ( defined $line )
+      ? MIME::QuotedPrint::decode_qp($line)
+      : undef;
 } #FILL
 
-#-----------------------------------------------------------------------
+#-------------------------------------------------------------------------------
 #  IN: 1 instantiated object (ignored)
 #      2 buffer to be written
 #      3 handle to write to
@@ -44,11 +45,14 @@
 
 sub WRITE {
 
-# Encode whatever needs to be encoded and write to handle: indicate result
-
-    (print {$_[2]} MIME::QuotedPrint::encode_qp($_[1])) ? length($_[1]) : -1;
+    # encode and write to handle: indicate result
+    return ( print { $_[2] } MIME::QuotedPrint::encode_qp( $_[1] ) )
+      ? length( $_[1] )
+      : -1;
 } #WRITE
 
+#-------------------------------------------------------------------------------
+
 __END__
 
 =head1 NAME
@@ -59,12 +63,16 @@
 
  use PerlIO::via::QuotedPrint;
 
- open( my $in,'<:via(QuotedPrint)','file.qp' )
-  or die "Can't open file.qp for reading: $!\n";
+ open( my $in, '<:via(QuotedPrint)', 'file.qp' )
+   or die "Can't open file.qp for reading: $!\n";
  
- open( my $out,'>:via(QuotedPrint)','file.qp' )
-  or die "Can't open file.qp for writing: $!\n";
+ open( my $out, '>:via(QuotedPrint)', 'file.qp' )
+   or die "Can't open file.qp for writing: $!\n";
 
+=head1 VERSION
+
+This documentation describes version 0.07.
+
 =head1 DESCRIPTION
 
 This module implements a PerlIO layer that works on files encoded in the
@@ -87,8 +95,8 @@
 
 =head1 COPYRIGHT
 
-Copyright (c) 2002-2003 Elizabeth Mattijsen.  All rights reserved.  This
-library is free software; you can redistribute it and/or modify it under
+Copyright (c) 2002, 2003, 2004, 2012 Elizabeth Mattijsen.  All rights reserved.
+This library is free software; you can redistribute it and/or modify it under
 the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/lib/PerlIO/via/QuotedPrint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/t/QuotedPrint.t
===================================================================
--- vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/t/QuotedPrint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/t/QuotedPrint.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,11 +3,6 @@
         print "1..0 # Skip: PerlIO not used\n";
         exit 0;
     }
-    require Config;
-    if (($Config::Config{'extensions'} !~ m!\bPerlIO/via\b!) ){
-        print "1..0 # Skip -- Perl configured without PerlIO::via module\n";
-        exit 0;
-    }
     if (ord("A") == 193) {
         print "1..0 # Skip: EBCDIC\n";
     }
@@ -26,21 +21,11 @@
 in it.
 EOD
 
-my $encoded;
-
-if (ord('A') == 193) { # EBCDIC.
-    $encoded = <<EOD;
-This is a t=51st for quoted-printable text that has h=44rdly any spe=48ial =
-characters
-in it.
-EOD
-} else {
-    $encoded = <<EOD;
+my $encoded = <<EOD;
 This is a t=E9st for quoted-printable text that has h=E0rdly any spe=E7ial =
 characters
 in it.
 EOD
-}
 
 # Create the encoded test-file
 
@@ -73,3 +58,4 @@
 # Remove whatever we created now
 
 ok( unlink( $file ),			"remove test file '$file'" );
+1 while unlink $file; # multiversioned filesystems


Property changes on: vendor/perl/dist/cpan/PerlIO-via-QuotedPrint/t/QuotedPrint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Escapes/ChangeLog
===================================================================
--- vendor/perl/dist/cpan/Pod-Escapes/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Escapes/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Escapes/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Escapes/README
===================================================================
--- vendor/perl/dist/cpan/Pod-Escapes/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Escapes/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Escapes/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Escapes/lib/Pod/Escapes.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Escapes/lib/Pod/Escapes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Escapes/lib/Pod/Escapes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Escapes/lib/Pod/Escapes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Escapes/t/01_about_verbose.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Escapes/t/01_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Escapes/t/01_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Escapes/t/01_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Escapes/t/10_main.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Escapes/t/10_main.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Escapes/t/10_main.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Escapes/t/10_main.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Escapes/t/15_name2charnum.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Escapes/t/15_name2charnum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Escapes/t/15_name2charnum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Escapes/t/15_name2charnum.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-LaTeX/lib/Pod/LaTeX.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-LaTeX/lib/Pod/LaTeX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-LaTeX/lib/Pod/LaTeX.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,12 +28,14 @@
 require Pod::ParseUtils;
 use base qw/ Pod::Select /;
 
+use if $] > 5.017, 'deprecate';
+
 # use Data::Dumper; # for debugging
 use Carp;
 
 use vars qw/ $VERSION %HTML_Escapes @LatexSections /;
 
-$VERSION = '0.59';
+$VERSION = '0.61';
 
 # Definitions of =headN -> latex mapping
 @LatexSections = (qw/
@@ -263,7 +265,7 @@
      'prod'     => q|$\prod$|,                   # n-ary product = product sign
      # prod is NOT the same character as 'greek capital letter pi' though the
      # same glyph might be used for both
-     'sum'      => q|$\sum$|,                    # n-ary sumation
+     'sum'      => q|$\sum$|,                    # n-ary summation
      # sum is NOT the same character as 'greek capital letter sigma' though
      # the same glyph might be used for both
      'minus'    => q|$-$|,                       # minus sign
@@ -414,7 +416,7 @@
   $self->{StartWithNewPage} = 0    # Start new page for pod section
     unless exists $self->{StartWithNewPage};
   $self->{TableOfContents}  = 0    # Add table of contents
-    unless exists $self->{TableOfContents};  # only relevent if AddPreamble=1
+    unless exists $self->{TableOfContents};  # only relevant if AddPreamble=1
    $self->{AddPostamble}     = 1          # Add closing latex code at end
     unless exists $self->{AddPostamble}; #  effectively end{document} and index
   $self->{MakeIndex}        = 1         # Add index (only relevant AddPostamble
@@ -446,7 +448,7 @@
   $self->{Label}            = undef # label to be used as prefix
     unless exists $self->{Label};   # to all internal section names
 
-  # These allow the caller to add arbritrary latex code to
+  # These allow the caller to add arbitrary latex code to
   # start and end of document. AddPreamble and AddPostamble are ignored
   # if these are set.
   # Also MakeIndex and TableOfContents are also ignored.
@@ -1057,7 +1059,7 @@
 
     } else {
       # Suppress all subsequent paragraphs unless 
-      # it is explcitly intended for latex
+      # it is explicitly intended for latex
       $self->{_suppress_all_para} = 1;
     }
 
@@ -1382,7 +1384,7 @@
   # What to write depends on list type
   my $type = $self->lists->[-1]->type;
 
-  # Dont write anything if the list type is not set
+  # Don't write anything if the list type is not set
   # iomplying that a list was created but no entries were
   # placed in it (eg because of a =begin/=end combination)
   $self->_output("\\end{$type}\n")
@@ -1418,7 +1420,7 @@
     return;
   }
 
-  # If paragraphs printing is turned off via =begin/=end or whatver
+  # If paragraphs printing is turned off via =begin/=end or whatever
   # simply return immediately
   return if $self->{_suppress_all_para};
 
@@ -1621,6 +1623,10 @@
 
   # Now add the dollars around each \backslash
   $paragraph =~ s/(\\backslash)/\$$1\$/g;
+
+  # Convert ------ to -{}-{}-{}-{}-{}-
+  $paragraph =~ s/-(?=-)/-{}/g;
+
   return $paragraph;
 }
 
@@ -1868,7 +1874,7 @@
 
 =head1 REVISION
 
-$Id: LaTeX.pm,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+$Id$
 
 =end __PRIVATE__
 


Property changes on: vendor/perl/dist/cpan/Pod-LaTeX/lib/Pod/LaTeX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-LaTeX/pod2latex.PL
===================================================================
--- vendor/perl/dist/cpan/Pod-LaTeX/pod2latex.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-LaTeX/pod2latex.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -141,7 +141,7 @@
 
 # If the output file is not specified it is assumed that
 # a single output file is required per input file using
-# a .tex extension rather than any exisiting extension
+# a .tex extension rather than any existing extension
 
 if ($multi_documents) {
 


Property changes on: vendor/perl/dist/cpan/Pod-LaTeX/pod2latex.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-LaTeX/t/pod2latex.t
===================================================================
--- vendor/perl/dist/cpan/Pod-LaTeX/t/pod2latex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-LaTeX/t/pod2latex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-LaTeX/t/pod2latex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-LaTeX/t/user.t
===================================================================
--- vendor/perl/dist/cpan/Pod-LaTeX/t/user.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-LaTeX/t/user.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-LaTeX/t/user.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Checker.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Checker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Checker.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Checker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Find.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Find.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Find.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,535 +1,549 @@
-#############################################################################  
-# Pod/Find.pm -- finds files containing POD documentation
-#
-# Author: Marek Rouchal <marekr at cpan.org>
-# 
-# Copyright (C) 1999-2000 by Marek Rouchal (and borrowing code
-# from Nick Ing-Simmon's PodToHtml). All rights reserved.
-# This file is part of "PodParser". Pod::Find is free software;
-# you can redistribute it and/or modify it under the same terms
-# as Perl itself.
-#############################################################################
-
-package Pod::Find;
-use strict;
-
-use vars qw($VERSION);
-$VERSION = '1.35';   ## Current version of this package
-require  5.005;   ## requires this Perl version or later
-use Carp;
-
-BEGIN {
-   if ($] < 5.006) {
-      require Symbol;
-      import Symbol;
-   }
-}
-
-#############################################################################
-
-=head1 NAME
-
-Pod::Find - find POD documents in directory trees
-
-=head1 SYNOPSIS
-
-  use Pod::Find qw(pod_find simplify_name);
-  my %pods = pod_find({ -verbose => 1, -inc => 1 });
-  foreach(keys %pods) {
-     print "found library POD `$pods{$_}' in $_\n";
-  }
-
-  print "podname=",simplify_name('a/b/c/mymodule.pod'),"\n";
-
-  $location = pod_where( { -inc => 1 }, "Pod::Find" );
-
-=head1 DESCRIPTION
-
-B<Pod::Find> provides a set of functions to locate POD files.  Note that
-no function is exported by default to avoid pollution of your namespace,
-so be sure to specify them in the B<use> statement if you need them:
-
-  use Pod::Find qw(pod_find);
-
-From this version on the typical SCM (software configuration management)
-files/directories like RCS, CVS, SCCS, .svn are ignored.
-
-=cut
-
-#use diagnostics;
-use Exporter;
-use File::Spec;
-use File::Find;
-use Cwd;
-
-use vars qw(@ISA @EXPORT_OK $VERSION);
- at ISA = qw(Exporter);
- at EXPORT_OK = qw(&pod_find &simplify_name &pod_where &contains_pod);
-
-# package global variables
-my $SIMPLIFY_RX;
-
-=head2 C<pod_find( { %opts } , @directories )>
-
-The function B<pod_find> searches for POD documents in a given set of
-files and/or directories. It returns a hash with the file names as keys
-and the POD name as value. The POD name is derived from the file name
-and its position in the directory tree.
-
-E.g. when searching in F<$HOME/perl5lib>, the file
-F<$HOME/perl5lib/MyModule.pm> would get the POD name I<MyModule>,
-whereas F<$HOME/perl5lib/Myclass/Subclass.pm> would be
-I<Myclass::Subclass>. The name information can be used for POD
-translators.
-
-Only text files containing at least one valid POD command are found.
-
-A warning is printed if more than one POD file with the same POD name
-is found, e.g. F<CPAN.pm> in different directories. This usually
-indicates duplicate occurrences of modules in the I<@INC> search path.
-
-B<OPTIONS> The first argument for B<pod_find> may be a hash reference
-with options. The rest are either directories that are searched
-recursively or files.  The POD names of files are the plain basenames
-with any Perl-like extension (.pm, .pl, .pod) stripped.
-
-=over 4
-
-=item C<-verbose =E<gt> 1>
-
-Print progress information while scanning.
-
-=item C<-perl =E<gt> 1>
-
-Apply Perl-specific heuristics to find the correct PODs. This includes
-stripping Perl-like extensions, omitting subdirectories that are numeric
-but do I<not> match the current Perl interpreter's version id, suppressing
-F<site_perl> as a module hierarchy name etc.
-
-=item C<-script =E<gt> 1>
-
-Search for PODs in the current Perl interpreter's installation 
-B<scriptdir>. This is taken from the local L<Config|Config> module.
-
-=item C<-inc =E<gt> 1>
-
-Search for PODs in the current Perl interpreter's I<@INC> paths. This
-automatically considers paths specified in the C<PERL5LIB> environment
-as this is included in I<@INC> by the Perl interpreter itself.
-
-=back
-
-=cut
-
-# return a hash of the POD files found
-# first argument may be a hashref (options),
-# rest is a list of directories to search recursively
-sub pod_find
-{
-    my %opts;
-    if(ref $_[0]) {
-        %opts = %{shift()};
-    }
-
-    $opts{-verbose} ||= 0;
-    $opts{-perl}    ||= 0;
-
-    my (@search) = @_;
-
-    if($opts{-script}) {
-        require Config;
-        push(@search, $Config::Config{scriptdir})
-            if -d $Config::Config{scriptdir};
-        $opts{-perl} = 1;
-    }
-
-    if($opts{-inc}) {
-        if ($^O eq 'MacOS') {
-            # tolerate '.', './some_dir' and '(../)+some_dir' on Mac OS
-            my @new_INC = @INC;
-            for (@new_INC) {
-                if ( $_ eq '.' ) {
-                    $_ = ':';
-                } elsif ( $_ =~ s{^((?:\.\./)+)}{':' x (length($1)/3)}e ) {
-                    $_ = ':'. $_;
-                } else {
-                    $_ =~ s{^\./}{:};
-                }
-            }
-            push(@search, grep($_ ne File::Spec->curdir, @new_INC));
-        } else {
-            push(@search, grep($_ ne File::Spec->curdir, @INC));
-        }
-
-        $opts{-perl} = 1;
-    }
-
-    if($opts{-perl}) {
-        require Config;
-        # this code simplifies the POD name for Perl modules:
-        # * remove "site_perl"
-        # * remove e.g. "i586-linux" (from 'archname')
-        # * remove e.g. 5.00503
-        # * remove pod/ if followed by *.pod (e.g. in pod/perlfunc.pod)
-
-        # Mac OS:
-        # * remove ":?site_perl:"
-        # * remove :?pod: if followed by *.pod (e.g. in :pod:perlfunc.pod)
-
-        if ($^O eq 'MacOS') {
-            $SIMPLIFY_RX =
-              qq!^(?i:\:?site_perl\:|\:?pod\:(?=.*?\\.pod\\z))*!;
-        } else {
-            $SIMPLIFY_RX =
-              qq!^(?i:site(_perl)?/|\Q$Config::Config{archname}\E/|\\d+\\.\\d+([_.]?\\d+)?/|pod/(?=.*?\\.pod\\z))*!;
-        }
-    }
-
-    my %dirs_visited;
-    my %pods;
-    my %names;
-    my $pwd = cwd();
-
-    foreach my $try (@search) {
-        unless(File::Spec->file_name_is_absolute($try)) {
-            # make path absolute
-            $try = File::Spec->catfile($pwd,$try);
-        }
-        # simplify path
-        # on VMS canonpath will vmsify:[the.path], but File::Find::find
-        # wants /unixy/paths
-        $try = File::Spec->canonpath($try) if ($^O ne 'VMS');
-        $try = VMS::Filespec::unixify($try) if ($^O eq 'VMS');
-        my $name;
-        if(-f $try) {
-            if($name = _check_and_extract_name($try, $opts{-verbose})) {
-                _check_for_duplicates($try, $name, \%names, \%pods);
-            }
-            next;
-        }
-        my $root_rx = $^O eq 'MacOS' ? qq!^\Q$try\E! : qq!^\Q$try\E/!;
-        File::Find::find( sub {
-            my $item = $File::Find::name;
-            if(-d) {
-                if($item =~ m{/(?:RCS|CVS|SCCS|\.svn)$}) {
-                    $File::Find::prune = 1;
-                    return;
-                }
-                elsif($dirs_visited{$item}) {
-                    warn "Directory '$item' already seen, skipping.\n"
-                        if($opts{-verbose});
-                    $File::Find::prune = 1;
-                    return;
-                }
-                else {
-                    $dirs_visited{$item} = 1;
-                }
-                if($opts{-perl} && /^(\d+\.[\d_]+)\z/s && eval "$1" != $]) {
-                    $File::Find::prune = 1;
-                    warn "Perl $] version mismatch on $_, skipping.\n"
-                        if($opts{-verbose});
-                }
-                return;
-            }
-            if($name = _check_and_extract_name($item, $opts{-verbose}, $root_rx)) {
-                _check_for_duplicates($item, $name, \%names, \%pods);
-            }
-        }, $try); # end of File::Find::find
-    }
-    chdir $pwd;
-    return %pods;
-}
-
-sub _check_for_duplicates {
-    my ($file, $name, $names_ref, $pods_ref) = @_;
-    if($$names_ref{$name}) {
-        warn "Duplicate POD found (shadowing?): $name ($file)\n";
-        warn '    Already seen in ',
-            join(' ', grep($$pods_ref{$_} eq $name, keys %$pods_ref)),"\n";
-    }
-    else {
-        $$names_ref{$name} = 1;
-    }
-    return $$pods_ref{$file} = $name;
-}
-
-sub _check_and_extract_name {
-    my ($file, $verbose, $root_rx) = @_;
-
-    # check extension or executable flag
-    # this involves testing the .bat extension on Win32!
-    unless(-f $file && -T $file && ($file =~ /\.(pod|pm|plx?)\z/i || -x $file )) {
-      return;
-    }
-
-    return unless contains_pod($file,$verbose);
-
-    # strip non-significant path components
-    # TODO what happens on e.g. Win32?
-    my $name = $file;
-    if(defined $root_rx) {
-        $name =~ s/$root_rx//s;
-        $name =~ s/$SIMPLIFY_RX//s if(defined $SIMPLIFY_RX);
-    }
-    else {
-        if ($^O eq 'MacOS') {
-            $name =~ s/^.*://s;
-        } else {
-            $name =~ s{^.*/}{}s;
-        }
-    }
-    _simplify($name);
-    $name =~ s{/+}{::}g;
-    if ($^O eq 'MacOS') {
-        $name =~ s{:+}{::}g; # : -> ::
-    } else {
-        $name =~ s{/+}{::}g; # / -> ::
-    }
-    return $name;
-}
-
-=head2 C<simplify_name( $str )>
-
-The function B<simplify_name> is equivalent to B<basename>, but also
-strips Perl-like extensions (.pm, .pl, .pod) and extensions like
-F<.bat>, F<.cmd> on Win32 and OS/2, or F<.com> on VMS, respectively.
-
-=cut
-
-# basic simplification of the POD name:
-# basename & strip extension
-sub simplify_name {
-    my ($str) = @_;
-    # remove all path components
-    if ($^O eq 'MacOS') {
-        $str =~ s/^.*://s;
-    } else {
-        $str =~ s{^.*/}{}s;
-    }
-    _simplify($str);
-    return $str;
-}
-
-# internal sub only
-sub _simplify {
-    # strip Perl's own extensions
-    $_[0] =~ s/\.(pod|pm|plx?)\z//i;
-    # strip meaningless extensions on Win32 and OS/2
-    $_[0] =~ s/\.(bat|exe|cmd)\z//i if($^O =~ /mswin|os2/i);
-    # strip meaningless extensions on VMS
-    $_[0] =~ s/\.(com)\z//i if($^O eq 'VMS');
-}
-
-# contribution from Tim Jenness <t.jenness at jach.hawaii.edu>
-
-=head2 C<pod_where( { %opts }, $pod )>
-
-Returns the location of a pod document given a search directory
-and a module (e.g. C<File::Find>) or script (e.g. C<perldoc>) name.
-
-Options:
-
-=over 4
-
-=item C<-inc =E<gt> 1>
-
-Search @INC for the pod and also the C<scriptdir> defined in the
-L<Config|Config> module.
-
-=item C<-dirs =E<gt> [ $dir1, $dir2, ... ]>
-
-Reference to an array of search directories. These are searched in order
-before looking in C<@INC> (if B<-inc>). Current directory is used if
-none are specified.
-
-=item C<-verbose =E<gt> 1>
-
-List directories as they are searched
-
-=back
-
-Returns the full path of the first occurrence to the file.
-Package names (eg 'A::B') are automatically converted to directory
-names in the selected directory. (eg on unix 'A::B' is converted to
-'A/B'). Additionally, '.pm', '.pl' and '.pod' are appended to the
-search automatically if required.
-
-A subdirectory F<pod/> is also checked if it exists in any of the given
-search directories. This ensures that e.g. L<perlfunc|perlfunc> is
-found.
-
-It is assumed that if a module name is supplied, that that name
-matches the file name. Pods are not opened to check for the 'NAME'
-entry.
-
-A check is made to make sure that the file that is found does 
-contain some pod documentation.
-
-=cut
-
-sub pod_where {
-
-  # default options
-  my %options = (
-         '-inc' => 0,
-         '-verbose' => 0,
-         '-dirs' => [ File::Spec->curdir ],
-        );
-
-  # Check for an options hash as first argument
-  if (defined $_[0] && ref($_[0]) eq 'HASH') {
-    my $opt = shift;
-
-    # Merge default options with supplied options
-    %options = (%options, %$opt);
-  }
-
-  # Check usage
-  carp 'Usage: pod_where({options}, $pod)' unless (scalar(@_));
-
-  # Read argument
-  my $pod = shift;
-
-  # Split on :: and then join the name together using File::Spec
-  my @parts = split (/::/, $pod);
-
-  # Get full directory list
-  my @search_dirs = @{ $options{'-dirs'} };
-
-  if ($options{'-inc'}) {
-
-    require Config;
-
-    # Add @INC
-    if ($^O eq 'MacOS' && $options{'-inc'}) {
-        # tolerate '.', './some_dir' and '(../)+some_dir' on Mac OS
-        my @new_INC = @INC;
-        for (@new_INC) {
-            if ( $_ eq '.' ) {
-                $_ = ':';
-            } elsif ( $_ =~ s{^((?:\.\./)+)}{':' x (length($1)/3)}e ) {
-                $_ = ':'. $_;
-            } else {
-                $_ =~ s{^\./}{:};
-            }
-        }
-        push (@search_dirs, @new_INC);
-    } elsif ($options{'-inc'}) {
-        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'})
-      if -d $Config::Config{'scriptdir'};
-  }
-
-  warn 'Search path is: '.join(' ', @search_dirs)."\n"
-        if $options{'-verbose'};
-
-  # Loop over directories
-  Dir: foreach my $dir ( @search_dirs ) {
-
-    # Don't bother if can't find the directory
-    if (-d $dir) {
-      warn "Looking in directory $dir\n"
-        if $options{'-verbose'};
-
-      # Now concatenate this directory with the pod we are searching for
-      my $fullname = File::Spec->catfile($dir, @parts);
-      warn "Filename is now $fullname\n"
-        if $options{'-verbose'};
-
-      # Loop over possible extensions
-      foreach my $ext ('', '.pod', '.pm', '.pl') {
-        my $fullext = $fullname . $ext;
-        if (-f $fullext &&
-         contains_pod($fullext, $options{'-verbose'}) ) {
-          warn "FOUND: $fullext\n" if $options{'-verbose'};
-          return $fullext;
-        }
-      }
-    } else {
-      warn "Directory $dir does not exist\n"
-        if $options{'-verbose'};
-      next Dir;
-    }
-    # for some strange reason the path on MacOS/darwin/cygwin is
-    # 'pods' not 'pod'
-    # this could be the case also for other systems that
-    # have a case-tolerant file system, but File::Spec
-    # does not recognize 'darwin' yet. And cygwin also has "pods",
-    # but is not case tolerant. Oh well...
-    if((File::Spec->case_tolerant || $^O =~ /macos|darwin|cygwin/i)
-     && -d File::Spec->catdir($dir,'pods')) {
-      $dir = File::Spec->catdir($dir,'pods');
-      redo Dir;
-    }
-    if(-d File::Spec->catdir($dir,'pod')) {
-      $dir = File::Spec->catdir($dir,'pod');
-      redo Dir;
-    }
-  }
-  # No match;
-  return;
-}
-
-=head2 C<contains_pod( $file , $verbose )>
-
-Returns true if the supplied filename (not POD module) contains some pod
-information.
-
-=cut
-
-sub contains_pod {
-  my $file = shift;
-  my $verbose = 0;
-  $verbose = shift if @_;
-
-  # check for one line of POD
-  my $podfh;
-  if ($] < 5.006) {
-    $podfh = gensym();
-  }
-
-  unless(open($podfh,"<$file")) {
-    warn "Error: $file is unreadable: $!\n";
-    return;
-  }
-  
-  local $/ = undef;
-  my $pod = <$podfh>;
-  close($podfh) || die "Error closing $file: $!\n";
-  unless($pod =~ /^=(head\d|pod|over|item|cut)\b/m) {
-    warn "No POD in $file, skipping.\n"
-      if($verbose);
-    return 0;
-  }
-
-  return 1;
-}
-
-=head1 AUTHOR
-
-Please report bugs using L<http://rt.cpan.org>.
-
-Marek Rouchal E<lt>marekr at cpan.orgE<gt>,
-heavily borrowing code from Nick Ing-Simmons' PodToHtml.
-
-Tim Jenness E<lt>t.jenness at jach.hawaii.eduE<gt> provided
-C<pod_where> and C<contains_pod>.
-
-=head1 SEE ALSO
-
-L<Pod::Parser>, L<Pod::Checker>, L<perldoc>
-
-=cut
-
-1;
-
+#############################################################################  
+# Pod/Find.pm -- finds files containing POD documentation
+#
+# Author: Marek Rouchal <marekr at cpan.org>
+# 
+# Copyright (C) 1999-2000 by Marek Rouchal (and borrowing code
+# from Nick Ing-Simmon's PodToHtml). All rights reserved.
+# This file is part of "PodParser". Pod::Find is free software;
+# you can redistribute it and/or modify it under the same terms
+# as Perl itself.
+#############################################################################
+
+package Pod::Find;
+use strict;
+
+use vars qw($VERSION);
+$VERSION = '1.60';   ## Current version of this package
+require  5.005;   ## requires this Perl version or later
+use Carp;
+
+BEGIN {
+   if ($] < 5.006) {
+      require Symbol;
+      import Symbol;
+   }
+}
+
+#############################################################################
+
+=head1 NAME
+
+Pod::Find - find POD documents in directory trees
+
+=head1 SYNOPSIS
+
+  use Pod::Find qw(pod_find simplify_name);
+  my %pods = pod_find({ -verbose => 1, -inc => 1 });
+  foreach(keys %pods) {
+     print "found library POD `$pods{$_}' in $_\n";
+  }
+
+  print "podname=",simplify_name('a/b/c/mymodule.pod'),"\n";
+
+  $location = pod_where( { -inc => 1 }, "Pod::Find" );
+
+=head1 DESCRIPTION
+
+B<Pod::Find> provides a set of functions to locate POD files.  Note that
+no function is exported by default to avoid pollution of your namespace,
+so be sure to specify them in the B<use> statement if you need them:
+
+  use Pod::Find qw(pod_find);
+
+From this version on the typical SCM (software configuration management)
+files/directories like RCS, CVS, SCCS, .svn are ignored.
+
+=cut
+
+#use diagnostics;
+use Exporter;
+use File::Spec;
+use File::Find;
+use Cwd qw(abs_path cwd);
+
+use vars qw(@ISA @EXPORT_OK $VERSION);
+ at ISA = qw(Exporter);
+ at EXPORT_OK = qw(&pod_find &simplify_name &pod_where &contains_pod);
+
+# package global variables
+my $SIMPLIFY_RX;
+
+=head2 C<pod_find( { %opts } , @directories )>
+
+The function B<pod_find> searches for POD documents in a given set of
+files and/or directories. It returns a hash with the file names as keys
+and the POD name as value. The POD name is derived from the file name
+and its position in the directory tree.
+
+E.g. when searching in F<$HOME/perl5lib>, the file
+F<$HOME/perl5lib/MyModule.pm> would get the POD name I<MyModule>,
+whereas F<$HOME/perl5lib/Myclass/Subclass.pm> would be
+I<Myclass::Subclass>. The name information can be used for POD
+translators.
+
+Only text files containing at least one valid POD command are found.
+
+A warning is printed if more than one POD file with the same POD name
+is found, e.g. F<CPAN.pm> in different directories. This usually
+indicates duplicate occurrences of modules in the I<@INC> search path.
+
+B<OPTIONS> The first argument for B<pod_find> may be a hash reference
+with options. The rest are either directories that are searched
+recursively or files.  The POD names of files are the plain basenames
+with any Perl-like extension (.pm, .pl, .pod) stripped.
+
+=over 4
+
+=item C<-verbose =E<gt> 1>
+
+Print progress information while scanning.
+
+=item C<-perl =E<gt> 1>
+
+Apply Perl-specific heuristics to find the correct PODs. This includes
+stripping Perl-like extensions, omitting subdirectories that are numeric
+but do I<not> match the current Perl interpreter's version id, suppressing
+F<site_perl> as a module hierarchy name etc.
+
+=item C<-script =E<gt> 1>
+
+Search for PODs in the current Perl interpreter's installation 
+B<scriptdir>. This is taken from the local L<Config|Config> module.
+
+=item C<-inc =E<gt> 1>
+
+Search for PODs in the current Perl interpreter's I<@INC> paths. This
+automatically considers paths specified in the C<PERL5LIB> environment
+as this is included in I<@INC> by the Perl interpreter itself.
+
+=back
+
+=cut
+
+# return a hash of the POD files found
+# first argument may be a hashref (options),
+# rest is a list of directories to search recursively
+sub pod_find
+{
+    my %opts;
+    if(ref $_[0]) {
+        %opts = %{shift()};
+    }
+
+    $opts{-verbose} ||= 0;
+    $opts{-perl}    ||= 0;
+
+    my (@search) = @_;
+
+    if($opts{-script}) {
+        require Config;
+        push(@search, $Config::Config{scriptdir})
+            if -d $Config::Config{scriptdir};
+        $opts{-perl} = 1;
+    }
+
+    if($opts{-inc}) {
+        if ($^O eq 'MacOS') {
+            # tolerate '.', './some_dir' and '(../)+some_dir' on Mac OS
+            my @new_INC = @INC;
+            for (@new_INC) {
+                if ( $_ eq '.' ) {
+                    $_ = ':';
+                } elsif ( $_ =~ s{^((?:\.\./)+)}{':' x (length($1)/3)}e ) {
+                    $_ = ':'. $_;
+                } else {
+                    $_ =~ s{^\./}{:};
+                }
+            }
+            push(@search, grep($_ ne File::Spec->curdir, @new_INC));
+        } else {
+            my %seen;
+            my $curdir = File::Spec->curdir;
+	    foreach(@INC) {
+                next if $_ eq $curdir;
+		my $path = abs_path($_);
+                push(@search, $path) unless $seen{$path}++;
+            }
+        }
+
+        $opts{-perl} = 1;
+    }
+
+    if($opts{-perl}) {
+        require Config;
+        # this code simplifies the POD name for Perl modules:
+        # * remove "site_perl"
+        # * remove e.g. "i586-linux" (from 'archname')
+        # * remove e.g. 5.00503
+        # * remove pod/ if followed by *.pod (e.g. in pod/perlfunc.pod)
+
+        # Mac OS:
+        # * remove ":?site_perl:"
+        # * remove :?pod: if followed by *.pod (e.g. in :pod:perlfunc.pod)
+
+        if ($^O eq 'MacOS') {
+            $SIMPLIFY_RX =
+              qq!^(?i:\:?site_perl\:|\:?pod\:(?=.*?\\.pod\\z))*!;
+        } else {
+            $SIMPLIFY_RX =
+              qq!^(?i:site(_perl)?/|\Q$Config::Config{archname}\E/|\\d+\\.\\d+([_.]?\\d+)?/|pod/(?=.*?\\.pod\\z))*!;
+        }
+    }
+
+    my %dirs_visited;
+    my %pods;
+    my %names;
+    my $pwd = cwd();
+
+    foreach my $try (@search) {
+        unless(File::Spec->file_name_is_absolute($try)) {
+            # make path absolute
+            $try = File::Spec->catfile($pwd,$try);
+        }
+        # simplify path
+        # on VMS canonpath will vmsify:[the.path], but File::Find::find
+        # wants /unixy/paths
+        if ($^O eq 'VMS') {
+            $try = VMS::Filespec::unixify($try);
+        }
+        else {
+            $try = File::Spec->canonpath($try);
+        }
+        my $name;
+        if(-f $try) {
+            if($name = _check_and_extract_name($try, $opts{-verbose})) {
+                _check_for_duplicates($try, $name, \%names, \%pods);
+            }
+            next;
+        }
+        my $root_rx = $^O eq 'MacOS' ? qq!^\Q$try\E! : qq!^\Q$try\E/!;
+        $root_rx=~ s|//$|/|;  # remove trailing double slash
+        File::Find::find( sub {
+            my $item = $File::Find::name;
+            if(-d) {
+                if($item =~ m{/(?:RCS|CVS|SCCS|\.svn)$}) {
+                    $File::Find::prune = 1;
+                    return;
+                }
+                elsif($dirs_visited{$item}) {
+                    warn "Directory '$item' already seen, skipping.\n"
+                        if($opts{-verbose});
+                    $File::Find::prune = 1;
+                    return;
+                }
+                else {
+                    $dirs_visited{$item} = 1;
+                }
+                if($opts{-perl} && /^(\d+\.[\d_]+)\z/s && eval "$1" != $]) {
+                    $File::Find::prune = 1;
+                    warn "Perl $] version mismatch on $_, skipping.\n"
+                        if($opts{-verbose});
+                }
+                return;
+            }
+            if($name = _check_and_extract_name($item, $opts{-verbose}, $root_rx)) {
+                _check_for_duplicates($item, $name, \%names, \%pods);
+            }
+        }, $try); # end of File::Find::find
+    }
+    chdir $pwd;
+    return %pods;
+}
+
+sub _check_for_duplicates {
+    my ($file, $name, $names_ref, $pods_ref) = @_;
+    if($$names_ref{$name}) {
+        warn "Duplicate POD found (shadowing?): $name ($file)\n";
+        warn '    Already seen in ',
+            join(' ', grep($$pods_ref{$_} eq $name, keys %$pods_ref)),"\n";
+    }
+    else {
+        $$names_ref{$name} = 1;
+    }
+    return $$pods_ref{$file} = $name;
+}
+
+sub _check_and_extract_name {
+    my ($file, $verbose, $root_rx) = @_;
+
+    # check extension or executable flag
+    # this involves testing the .bat extension on Win32!
+    unless(-f $file && -T $file && ($file =~ /\.(pod|pm|plx?)\z/i || -x $file )) {
+      return;
+    }
+
+    return unless contains_pod($file,$verbose);
+
+    # strip non-significant path components
+    # TODO what happens on e.g. Win32?
+    my $name = $file;
+    if(defined $root_rx) {
+        $name =~ s/$root_rx//is;
+        $name =~ s/$SIMPLIFY_RX//is if(defined $SIMPLIFY_RX);
+    }
+    else {
+        if ($^O eq 'MacOS') {
+            $name =~ s/^.*://s;
+        } else {
+            $name =~ s{^.*/}{}s;
+        }
+    }
+    _simplify($name);
+    $name =~ s{/+}{::}g;
+    if ($^O eq 'MacOS') {
+        $name =~ s{:+}{::}g; # : -> ::
+    } else {
+        $name =~ s{/+}{::}g; # / -> ::
+    }
+    return $name;
+}
+
+=head2 C<simplify_name( $str )>
+
+The function B<simplify_name> is equivalent to B<basename>, but also
+strips Perl-like extensions (.pm, .pl, .pod) and extensions like
+F<.bat>, F<.cmd> on Win32 and OS/2, or F<.com> on VMS, respectively.
+
+=cut
+
+# basic simplification of the POD name:
+# basename & strip extension
+sub simplify_name {
+    my ($str) = @_;
+    # remove all path components
+    if ($^O eq 'MacOS') {
+        $str =~ s/^.*://s;
+    } else {
+        $str =~ s{^.*/}{}s;
+    }
+    _simplify($str);
+    return $str;
+}
+
+# internal sub only
+sub _simplify {
+    # strip Perl's own extensions
+    $_[0] =~ s/\.(pod|pm|plx?)\z//i;
+    # strip meaningless extensions on Win32 and OS/2
+    $_[0] =~ s/\.(bat|exe|cmd)\z//i if($^O =~ /mswin|os2/i);
+    # strip meaningless extensions on VMS
+    $_[0] =~ s/\.(com)\z//i if($^O eq 'VMS');
+}
+
+# contribution from Tim Jenness <t.jenness at jach.hawaii.edu>
+
+=head2 C<pod_where( { %opts }, $pod )>
+
+Returns the location of a pod document given a search directory
+and a module (e.g. C<File::Find>) or script (e.g. C<perldoc>) name.
+
+Options:
+
+=over 4
+
+=item C<-inc =E<gt> 1>
+
+Search @INC for the pod and also the C<scriptdir> defined in the
+L<Config|Config> module.
+
+=item C<-dirs =E<gt> [ $dir1, $dir2, ... ]>
+
+Reference to an array of search directories. These are searched in order
+before looking in C<@INC> (if B<-inc>). Current directory is used if
+none are specified.
+
+=item C<-verbose =E<gt> 1>
+
+List directories as they are searched
+
+=back
+
+Returns the full path of the first occurrence to the file.
+Package names (eg 'A::B') are automatically converted to directory
+names in the selected directory. (eg on unix 'A::B' is converted to
+'A/B'). Additionally, '.pm', '.pl' and '.pod' are appended to the
+search automatically if required.
+
+A subdirectory F<pod/> is also checked if it exists in any of the given
+search directories. This ensures that e.g. L<perlfunc|perlfunc> is
+found.
+
+It is assumed that if a module name is supplied, that that name
+matches the file name. Pods are not opened to check for the 'NAME'
+entry.
+
+A check is made to make sure that the file that is found does 
+contain some pod documentation.
+
+=cut
+
+sub pod_where {
+
+  # default options
+  my %options = (
+         '-inc' => 0,
+         '-verbose' => 0,
+         '-dirs' => [ File::Spec->curdir ],
+        );
+
+  # Check for an options hash as first argument
+  if (defined $_[0] && ref($_[0]) eq 'HASH') {
+    my $opt = shift;
+
+    # Merge default options with supplied options
+    %options = (%options, %$opt);
+  }
+
+  # Check usage
+  carp 'Usage: pod_where({options}, $pod)' unless (scalar(@_));
+
+  # Read argument
+  my $pod = shift;
+
+  # Split on :: and then join the name together using File::Spec
+  my @parts = split (/::/, $pod);
+
+  # Get full directory list
+  my @search_dirs = @{ $options{'-dirs'} };
+
+  if ($options{'-inc'}) {
+
+    require Config;
+
+    # Add @INC
+    if ($^O eq 'MacOS' && $options{'-inc'}) {
+        # tolerate '.', './some_dir' and '(../)+some_dir' on Mac OS
+        my @new_INC = @INC;
+        for (@new_INC) {
+            if ( $_ eq '.' ) {
+                $_ = ':';
+            } elsif ( $_ =~ s{^((?:\.\./)+)}{':' x (length($1)/3)}e ) {
+                $_ = ':'. $_;
+            } else {
+                $_ =~ s{^\./}{:};
+            }
+        }
+        push (@search_dirs, @new_INC);
+    } elsif ($options{'-inc'}) {
+        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'})
+      if -d $Config::Config{'scriptdir'};
+  }
+
+  warn 'Search path is: '.join(' ', @search_dirs)."\n"
+        if $options{'-verbose'};
+
+  # Loop over directories
+  Dir: foreach my $dir ( @search_dirs ) {
+
+    # Don't bother if can't find the directory
+    if (-d $dir) {
+      warn "Looking in directory $dir\n"
+        if $options{'-verbose'};
+
+      # Now concatenate this directory with the pod we are searching for
+      my $fullname = File::Spec->catfile($dir, @parts);
+      $fullname = VMS::Filespec::unixify($fullname) if $^O eq 'VMS';
+      warn "Filename is now $fullname\n"
+        if $options{'-verbose'};
+
+      # Loop over possible extensions
+      foreach my $ext ('', '.pod', '.pm', '.pl') {
+        my $fullext = $fullname . $ext;
+        if (-f $fullext &&
+         contains_pod($fullext, $options{'-verbose'}) ) {
+          warn "FOUND: $fullext\n" if $options{'-verbose'};
+          return $fullext;
+        }
+      }
+    } else {
+      warn "Directory $dir does not exist\n"
+        if $options{'-verbose'};
+      next Dir;
+    }
+    # for some strange reason the path on MacOS/darwin/cygwin is
+    # 'pods' not 'pod'
+    # this could be the case also for other systems that
+    # have a case-tolerant file system, but File::Spec
+    # does not recognize 'darwin' yet. And cygwin also has "pods",
+    # but is not case tolerant. Oh well...
+    if((File::Spec->case_tolerant || $^O =~ /macos|darwin|cygwin/i)
+     && -d File::Spec->catdir($dir,'pods')) {
+      $dir = File::Spec->catdir($dir,'pods');
+      redo Dir;
+    }
+    if(-d File::Spec->catdir($dir,'pod')) {
+      $dir = File::Spec->catdir($dir,'pod');
+      redo Dir;
+    }
+  }
+  # No match;
+  return;
+}
+
+=head2 C<contains_pod( $file , $verbose )>
+
+Returns true if the supplied filename (not POD module) contains some pod
+information.
+
+=cut
+
+sub contains_pod {
+  my $file = shift;
+  my $verbose = 0;
+  $verbose = shift if @_;
+
+  # check for one line of POD
+  my $podfh;
+  if ($] < 5.006) {
+    $podfh = gensym();
+  }
+
+  unless(open($podfh,"<$file")) {
+    warn "Error: $file is unreadable: $!\n";
+    return;
+  }
+  
+  local $/ = undef;
+  my $pod = <$podfh>;
+  close($podfh) || die "Error closing $file: $!\n";
+  unless($pod =~ /^=(head\d|pod|over|item|cut)\b/m) {
+    warn "No POD in $file, skipping.\n"
+      if($verbose);
+    return 0;
+  }
+
+  return 1;
+}
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Marek Rouchal E<lt>marekr at cpan.orgE<gt>,
+heavily borrowing code from Nick Ing-Simmons' PodToHtml.
+
+Tim Jenness E<lt>t.jenness at jach.hawaii.eduE<gt> provided
+C<pod_where> and C<contains_pod>.
+
+B<Pod::Find> is part of the L<Pod::Parser> distribution.
+
+=head1 SEE ALSO
+
+L<Pod::Parser>, L<Pod::Checker>, L<perldoc>
+
+=cut
+
+1;
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Find.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/InputObjects.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/lib/Pod/InputObjects.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/lib/Pod/InputObjects.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,936 +1,942 @@
-#############################################################################
-# Pod/InputObjects.pm -- package which defines objects for input streams
-# and paragraphs and commands when parsing 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.
-#############################################################################
-
-package Pod::InputObjects;
-use strict;
-
-use vars qw($VERSION);
-$VERSION = '1.31';  ## Current version of this package
-require  5.005;    ## requires this Perl version or later
-
-#############################################################################
-
-=head1 NAME
-
-Pod::InputObjects - objects representing POD input paragraphs, commands, etc.
-
-=head1 SYNOPSIS
-
-    use Pod::InputObjects;
-
-=head1 REQUIRES
-
-perl5.004, Carp
-
-=head1 EXPORTS
-
-Nothing.
-
-=head1 DESCRIPTION
-
-This module defines some basic input objects used by B<Pod::Parser> when
-reading and parsing POD text from an input source. The following objects
-are defined:
-
-=over 4
-
-=begin __PRIVATE__
-
-=item package B<Pod::InputSource>
-
-An object corresponding to a source of POD input text. It is mostly a
-wrapper around a filehandle or C<IO::Handle>-type object (or anything
-that implements the C<getline()> method) which keeps track of some
-additional information relevant to the parsing of PODs.
-
-=end __PRIVATE__
-
-=item package B<Pod::Paragraph>
-
-An object corresponding to a paragraph of POD input text. It may be a
-plain paragraph, a verbatim paragraph, or a command paragraph (see
-L<perlpod>).
-
-=item package B<Pod::InteriorSequence>
-
-An object corresponding to an interior sequence command from the POD
-input text (see L<perlpod>).
-
-=item package B<Pod::ParseTree>
-
-An object corresponding to a tree of parsed POD text. Each "node" in
-a parse-tree (or I<ptree>) is either a text-string or a reference to
-a B<Pod::InteriorSequence> object. The nodes appear in the parse-tree
-in the order in which they were parsed from left-to-right.
-
-=back
-
-Each of these input objects are described in further detail in the
-sections which follow.
-
-=cut
-
-#############################################################################
-
-package Pod::InputSource;
-
-##---------------------------------------------------------------------------
-
-=begin __PRIVATE__
-
-=head1 B<Pod::InputSource>
-
-This object corresponds to an input source or stream of POD
-documentation. When parsing PODs, it is necessary to associate and store
-certain context information with each input source. All of this
-information is kept together with the stream itself in one of these
-C<Pod::InputSource> objects. Each such object is merely a wrapper around
-an C<IO::Handle> object of some kind (or at least something that
-implements the C<getline()> method). They have the following
-methods/attributes:
-
-=end __PRIVATE__
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=begin __PRIVATE__
-
-=head2 B<new()>
-
-        my $pod_input1 = Pod::InputSource->new(-handle => $filehandle);
-        my $pod_input2 = new Pod::InputSource(-handle => $filehandle,
-                                              -name   => $name);
-        my $pod_input3 = new Pod::InputSource(-handle => \*STDIN);
-        my $pod_input4 = Pod::InputSource->new(-handle => \*STDIN,
-                                               -name => "(STDIN)");
-
-This is a class method that constructs a C<Pod::InputSource> object and
-returns a reference to the new input source object. It takes one or more
-keyword arguments in the form of a hash. The keyword C<-handle> is
-required and designates the corresponding input handle. The keyword
-C<-name> is optional and specifies the name associated with the input
-handle (typically a file name).
-
-=end __PRIVATE__
-
-=cut
-
-sub new {
-    ## Determine if we were called via an object-ref or a classname
-    my $this = shift;
-    my $class = ref($this) || $this;
-
-    ## Any remaining arguments are treated as initial values for the
-    ## hash that is used to represent this object. Note that we default
-    ## certain values by specifying them *before* the arguments passed.
-    ## If they are in the argument list, they will override the defaults.
-    my $self = { -name        => '(unknown)',
-                 -handle      => undef,
-                 -was_cutting => 0,
-                 @_ };
-
-    ## Bless ourselves into the desired class and perform any initialization
-    bless $self, $class;
-    return $self;
-}
-
-##---------------------------------------------------------------------------
-
-=begin __PRIVATE__
-
-=head2 B<name()>
-
-        my $filename = $pod_input->name();
-        $pod_input->name($new_filename_to_use);
-
-This method gets/sets the name of the input source (usually a filename).
-If no argument is given, it returns a string containing the name of
-the input source; otherwise it sets the name of the input source to the
-contents of the given argument.
-
-=end __PRIVATE__
-
-=cut
-
-sub name {
-   (@_ > 1)  and  $_[0]->{'-name'} = $_[1];
-   return $_[0]->{'-name'};
-}
-
-## allow 'filename' as an alias for 'name'
-*filename = \&name;
-
-##---------------------------------------------------------------------------
-
-=begin __PRIVATE__
-
-=head2 B<handle()>
-
-        my $handle = $pod_input->handle();
-
-Returns a reference to the handle object from which input is read (the
-one used to contructed this input source object).
-
-=end __PRIVATE__
-
-=cut
-
-sub handle {
-   return $_[0]->{'-handle'};
-}
-
-##---------------------------------------------------------------------------
-
-=begin __PRIVATE__
-
-=head2 B<was_cutting()>
-
-        print "Yes.\n" if ($pod_input->was_cutting());
-
-The value of the C<cutting> state (that the B<cutting()> method would
-have returned) immediately before any input was read from this input
-stream. After all input from this stream has been read, the C<cutting>
-state is restored to this value.
-
-=end __PRIVATE__
-
-=cut
-
-sub was_cutting {
-   (@_ > 1)  and  $_[0]->{-was_cutting} = $_[1];
-   return $_[0]->{-was_cutting};
-}
-
-##---------------------------------------------------------------------------
-
-#############################################################################
-
-package Pod::Paragraph;
-
-##---------------------------------------------------------------------------
-
-=head1 B<Pod::Paragraph>
-
-An object representing a paragraph of POD input text.
-It has the following methods/attributes:
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=head2 Pod::Paragraph-E<gt>B<new()>
-
-        my $pod_para1 = Pod::Paragraph->new(-text => $text);
-        my $pod_para2 = Pod::Paragraph->new(-name => $cmd,
-                                            -text => $text);
-        my $pod_para3 = new Pod::Paragraph(-text => $text);
-        my $pod_para4 = new Pod::Paragraph(-name => $cmd,
-                                           -text => $text);
-        my $pod_para5 = Pod::Paragraph->new(-name => $cmd,
-                                            -text => $text,
-                                            -file => $filename,
-                                            -line => $line_number);
-
-This is a class method that constructs a C<Pod::Paragraph> object and
-returns a reference to the new paragraph object. It may be given one or
-two keyword arguments. The C<-text> keyword indicates the corresponding
-text of the POD paragraph. The C<-name> keyword indicates the name of
-the corresponding POD command, such as C<head1> or C<item> (it should
-I<not> contain the C<=> prefix); this is needed only if the POD
-paragraph corresponds to a command paragraph. The C<-file> and C<-line>
-keywords indicate the filename and line number corresponding to the
-beginning of the paragraph 
-
-=cut
-
-sub new {
-    ## Determine if we were called via an object-ref or a classname
-    my $this = shift;
-    my $class = ref($this) || $this;
-
-    ## Any remaining arguments are treated as initial values for the
-    ## hash that is used to represent this object. Note that we default
-    ## certain values by specifying them *before* the arguments passed.
-    ## If they are in the argument list, they will override the defaults.
-    my $self = {
-          -name       => undef,
-          -text       => (@_ == 1) ? shift : undef,
-          -file       => '<unknown-file>',
-          -line       => 0,
-          -prefix     => '=',
-          -separator  => ' ',
-          -ptree => [],
-          @_
-    };
-
-    ## Bless ourselves into the desired class and perform any initialization
-    bless $self, $class;
-    return $self;
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_para-E<gt>B<cmd_name()>
-
-        my $para_cmd = $pod_para->cmd_name();
-
-If this paragraph is a command paragraph, then this method will return 
-the name of the command (I<without> any leading C<=> prefix).
-
-=cut
-
-sub cmd_name {
-   (@_ > 1)  and  $_[0]->{'-name'} = $_[1];
-   return $_[0]->{'-name'};
-}
-
-## let name() be an alias for cmd_name()
-*name = \&cmd_name;
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_para-E<gt>B<text()>
-
-        my $para_text = $pod_para->text();
-
-This method will return the corresponding text of the paragraph.
-
-=cut
-
-sub text {
-   (@_ > 1)  and  $_[0]->{'-text'} = $_[1];
-   return $_[0]->{'-text'};
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_para-E<gt>B<raw_text()>
-
-        my $raw_pod_para = $pod_para->raw_text();
-
-This method will return the I<raw> text of the POD paragraph, exactly
-as it appeared in the input.
-
-=cut
-
-sub raw_text {
-   return $_[0]->{'-text'}  unless (defined $_[0]->{'-name'});
-   return $_[0]->{'-prefix'} . $_[0]->{'-name'} .
-          $_[0]->{'-separator'} . $_[0]->{'-text'};
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_para-E<gt>B<cmd_prefix()>
-
-        my $prefix = $pod_para->cmd_prefix();
-
-If this paragraph is a command paragraph, then this method will return 
-the prefix used to denote the command (which should be the string "="
-or "==").
-
-=cut
-
-sub cmd_prefix {
-   return $_[0]->{'-prefix'};
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_para-E<gt>B<cmd_separator()>
-
-        my $separator = $pod_para->cmd_separator();
-
-If this paragraph is a command paragraph, then this method will return
-the text used to separate the command name from the rest of the
-paragraph (if any).
-
-=cut
-
-sub cmd_separator {
-   return $_[0]->{'-separator'};
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_para-E<gt>B<parse_tree()>
-
-        my $ptree = $pod_parser->parse_text( $pod_para->text() );
-        $pod_para->parse_tree( $ptree );
-        $ptree = $pod_para->parse_tree();
-
-This method will get/set the corresponding parse-tree of the paragraph's text.
-
-=cut
-
-sub parse_tree {
-   (@_ > 1)  and  $_[0]->{'-ptree'} = $_[1];
-   return $_[0]->{'-ptree'};
-}
-
-## let ptree() be an alias for parse_tree()
-*ptree = \&parse_tree;
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_para-E<gt>B<file_line()>
-
-        my ($filename, $line_number) = $pod_para->file_line();
-        my $position = $pod_para->file_line();
-
-Returns the current filename and line number for the paragraph
-object.  If called in a list context, it returns a list of two
-elements: first the filename, then the line number. If called in
-a scalar context, it returns a string containing the filename, followed
-by a colon (':'), followed by the line number.
-
-=cut
-
-sub file_line {
-   my @loc = ($_[0]->{'-file'} || '<unknown-file>',
-              $_[0]->{'-line'} || 0);
-   return (wantarray) ? @loc : join(':', @loc);
-}
-
-##---------------------------------------------------------------------------
-
-#############################################################################
-
-package Pod::InteriorSequence;
-
-##---------------------------------------------------------------------------
-
-=head1 B<Pod::InteriorSequence>
-
-An object representing a POD interior sequence command.
-It has the following methods/attributes:
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=head2 Pod::InteriorSequence-E<gt>B<new()>
-
-        my $pod_seq1 = Pod::InteriorSequence->new(-name => $cmd
-                                                  -ldelim => $delimiter);
-        my $pod_seq2 = new Pod::InteriorSequence(-name => $cmd,
-                                                 -ldelim => $delimiter);
-        my $pod_seq3 = new Pod::InteriorSequence(-name => $cmd,
-                                                 -ldelim => $delimiter,
-                                                 -file => $filename,
-                                                 -line => $line_number);
-
-        my $pod_seq4 = new Pod::InteriorSequence(-name => $cmd, $ptree);
-        my $pod_seq5 = new Pod::InteriorSequence($cmd, $ptree);
-
-This is a class method that constructs a C<Pod::InteriorSequence> object
-and returns a reference to the new interior sequence object. It should
-be given two keyword arguments.  The C<-ldelim> keyword indicates the
-corresponding left-delimiter of the interior sequence (e.g. 'E<lt>').
-The C<-name> keyword indicates the name of the corresponding interior
-sequence command, such as C<I> or C<B> or C<C>. The C<-file> and
-C<-line> keywords indicate the filename and line number corresponding
-to the beginning of the interior sequence. If the C<$ptree> argument is
-given, it must be the last argument, and it must be either string, or
-else an array-ref suitable for passing to B<Pod::ParseTree::new> (or
-it may be a reference to a Pod::ParseTree object).
-
-=cut
-
-sub new {
-    ## Determine if we were called via an object-ref or a classname
-    my $this = shift;
-    my $class = ref($this) || $this;
-
-    ## See if first argument has no keyword
-    if (((@_ <= 2) or (@_ % 2)) and $_[0] !~ /^-\w/) {
-       ## Yup - need an implicit '-name' before first parameter
-       unshift @_, '-name';
-    }
-
-    ## See if odd number of args
-    if ((@_ % 2) != 0) {
-       ## Yup - need an implicit '-ptree' before the last parameter
-       splice @_, $#_, 0, '-ptree';
-    }
-
-    ## Any remaining arguments are treated as initial values for the
-    ## hash that is used to represent this object. Note that we default
-    ## certain values by specifying them *before* the arguments passed.
-    ## If they are in the argument list, they will override the defaults.
-    my $self = {
-          -name       => (@_ == 1) ? $_[0] : undef,
-          -file       => '<unknown-file>',
-          -line       => 0,
-          -ldelim     => '<',
-          -rdelim     => '>',
-          @_
-    };
-
-    ## Initialize contents if they havent been already
-    my $ptree = $self->{'-ptree'} || new Pod::ParseTree();
-    if ( ref $ptree =~ /^(ARRAY)?$/ ) {
-        ## We have an array-ref, or a normal scalar. Pass it as an
-        ## an argument to the ptree-constructor
-        $ptree = new Pod::ParseTree($1 ? [$ptree] : $ptree);
-    }
-    $self->{'-ptree'} = $ptree;
-
-    ## Bless ourselves into the desired class and perform any initialization
-    bless $self, $class;
-    return $self;
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<cmd_name()>
-
-        my $seq_cmd = $pod_seq->cmd_name();
-
-The name of the interior sequence command.
-
-=cut
-
-sub cmd_name {
-   (@_ > 1)  and  $_[0]->{'-name'} = $_[1];
-   return $_[0]->{'-name'};
-}
-
-## let name() be an alias for cmd_name()
-*name = \&cmd_name;
-
-##---------------------------------------------------------------------------
-
-## Private subroutine to set the parent pointer of all the given
-## children that are interior-sequences to be $self
-
-sub _set_child2parent_links {
-   my ($self, @children) = @_;
-   ## Make sure any sequences know who their parent is
-   for (@children) {
-      next  unless (length  and  ref  and  ref ne 'SCALAR');
-      if (UNIVERSAL::isa($_, 'Pod::InteriorSequence') or
-          UNIVERSAL::can($_, 'nested'))
-      {
-          $_->nested($self);
-      }
-   }
-}
-
-## Private subroutine to unset child->parent links
-
-sub _unset_child2parent_links {
-   my $self = shift;
-   $self->{'-parent_sequence'} = undef;
-   my $ptree = $self->{'-ptree'};
-   for (@$ptree) {
-      next  unless (length  and  ref  and  ref ne 'SCALAR');
-      $_->_unset_child2parent_links()
-          if UNIVERSAL::isa($_, 'Pod::InteriorSequence');
-   }
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<prepend()>
-
-        $pod_seq->prepend($text);
-        $pod_seq1->prepend($pod_seq2);
-
-Prepends the given string or parse-tree or sequence object to the parse-tree
-of this interior sequence.
-
-=cut
-
-sub prepend {
-   my $self  = shift;
-   $self->{'-ptree'}->prepend(@_);
-   _set_child2parent_links($self, @_);
-   return $self;
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<append()>
-
-        $pod_seq->append($text);
-        $pod_seq1->append($pod_seq2);
-
-Appends the given string or parse-tree or sequence object to the parse-tree
-of this interior sequence.
-
-=cut
-
-sub append {
-   my $self = shift;
-   $self->{'-ptree'}->append(@_);
-   _set_child2parent_links($self, @_);
-   return $self;
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<nested()>
-
-        $outer_seq = $pod_seq->nested || print "not nested";
-
-If this interior sequence is nested inside of another interior
-sequence, then the outer/parent sequence that contains it is
-returned. Otherwise C<undef> is returned.
-
-=cut
-
-sub nested {
-   my $self = shift;
-  (@_ == 1)  and  $self->{'-parent_sequence'} = shift;
-   return  $self->{'-parent_sequence'} || undef;
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<raw_text()>
-
-        my $seq_raw_text = $pod_seq->raw_text();
-
-This method will return the I<raw> text of the POD interior sequence,
-exactly as it appeared in the input.
-
-=cut
-
-sub raw_text {
-   my $self = shift;
-   my $text = $self->{'-name'} . $self->{'-ldelim'};
-   for ( $self->{'-ptree'}->children ) {
-      $text .= (ref $_) ? $_->raw_text : $_;
-   }
-   $text .= $self->{'-rdelim'};
-   return $text;
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<left_delimiter()>
-
-        my $ldelim = $pod_seq->left_delimiter();
-
-The leftmost delimiter beginning the argument text to the interior
-sequence (should be "<").
-
-=cut
-
-sub left_delimiter {
-   (@_ > 1)  and  $_[0]->{'-ldelim'} = $_[1];
-   return $_[0]->{'-ldelim'};
-}
-
-## let ldelim() be an alias for left_delimiter()
-*ldelim = \&left_delimiter;
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<right_delimiter()>
-
-The rightmost delimiter beginning the argument text to the interior
-sequence (should be ">").
-
-=cut
-
-sub right_delimiter {
-   (@_ > 1)  and  $_[0]->{'-rdelim'} = $_[1];
-   return $_[0]->{'-rdelim'};
-}
-
-## let rdelim() be an alias for right_delimiter()
-*rdelim = \&right_delimiter;
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<parse_tree()>
-
-        my $ptree = $pod_parser->parse_text($paragraph_text);
-        $pod_seq->parse_tree( $ptree );
-        $ptree = $pod_seq->parse_tree();
-
-This method will get/set the corresponding parse-tree of the interior
-sequence's text.
-
-=cut
-
-sub parse_tree {
-   (@_ > 1)  and  $_[0]->{'-ptree'} = $_[1];
-   return $_[0]->{'-ptree'};
-}
-
-## let ptree() be an alias for parse_tree()
-*ptree = \&parse_tree;
-
-##---------------------------------------------------------------------------
-
-=head2 $pod_seq-E<gt>B<file_line()>
-
-        my ($filename, $line_number) = $pod_seq->file_line();
-        my $position = $pod_seq->file_line();
-
-Returns the current filename and line number for the interior sequence
-object.  If called in a list context, it returns a list of two
-elements: first the filename, then the line number. If called in
-a scalar context, it returns a string containing the filename, followed
-by a colon (':'), followed by the line number.
-
-=cut
-
-sub file_line {
-   my @loc = ($_[0]->{'-file'}  || '<unknown-file>',
-              $_[0]->{'-line'}  || 0);
-   return (wantarray) ? @loc : join(':', @loc);
-}
-
-##---------------------------------------------------------------------------
-
-=head2 Pod::InteriorSequence::B<DESTROY()>
-
-This method performs any necessary cleanup for the interior-sequence.
-If you override this method then it is B<imperative> that you invoke
-the parent method from within your own method, otherwise
-I<interior-sequence storage will not be reclaimed upon destruction!>
-
-=cut
-
-sub DESTROY {
-   ## We need to get rid of all child->parent pointers throughout the
-   ## tree so their reference counts will go to zero and they can be
-   ## garbage-collected
-   _unset_child2parent_links(@_);
-}
-
-##---------------------------------------------------------------------------
-
-#############################################################################
-
-package Pod::ParseTree;
-
-##---------------------------------------------------------------------------
-
-=head1 B<Pod::ParseTree>
-
-This object corresponds to a tree of parsed POD text. As POD text is
-scanned from left to right, it is parsed into an ordered list of
-text-strings and B<Pod::InteriorSequence> objects (in order of
-appearance). A B<Pod::ParseTree> object corresponds to this list of
-strings and sequences. Each interior sequence in the parse-tree may
-itself contain a parse-tree (since interior sequences may be nested).
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=head2 Pod::ParseTree-E<gt>B<new()>
-
-        my $ptree1 = Pod::ParseTree->new;
-        my $ptree2 = new Pod::ParseTree;
-        my $ptree4 = Pod::ParseTree->new($array_ref);
-        my $ptree3 = new Pod::ParseTree($array_ref);
-
-This is a class method that constructs a C<Pod::Parse_tree> object and
-returns a reference to the new parse-tree. If a single-argument is given,
-it must be a reference to an array, and is used to initialize the root
-(top) of the parse tree.
-
-=cut
-
-sub new {
-    ## Determine if we were called via an object-ref or a classname
-    my $this = shift;
-    my $class = ref($this) || $this;
-
-    my $self = (@_ == 1  and  ref $_[0]) ? $_[0] : [];
-
-    ## Bless ourselves into the desired class and perform any initialization
-    bless $self, $class;
-    return $self;
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $ptree-E<gt>B<top()>
-
-        my $top_node = $ptree->top();
-        $ptree->top( $top_node );
-        $ptree->top( @children );
-
-This method gets/sets the top node of the parse-tree. If no arguments are
-given, it returns the topmost node in the tree (the root), which is also
-a B<Pod::ParseTree>. If it is given a single argument that is a reference,
-then the reference is assumed to a parse-tree and becomes the new top node.
-Otherwise, if arguments are given, they are treated as the new list of
-children for the top node.
-
-=cut
-
-sub top {
-   my $self = shift;
-   if (@_ > 0) {
-      @{ $self } = (@_ == 1  and  ref $_[0]) ? ${ @_ } : @_;
-   }
-   return $self;
-}
-
-## let parse_tree() & ptree() be aliases for the 'top' method
-*parse_tree = *ptree = \⊤
-
-##---------------------------------------------------------------------------
-
-=head2 $ptree-E<gt>B<children()>
-
-This method gets/sets the children of the top node in the parse-tree.
-If no arguments are given, it returns the list (array) of children
-(each of which should be either a string or a B<Pod::InteriorSequence>.
-Otherwise, if arguments are given, they are treated as the new list of
-children for the top node.
-
-=cut
-
-sub children {
-   my $self = shift;
-   if (@_ > 0) {
-      @{ $self } = (@_ == 1  and  ref $_[0]) ? ${ @_ } : @_;
-   }
-   return @{ $self };
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $ptree-E<gt>B<prepend()>
-
-This method prepends the given text or parse-tree to the current parse-tree.
-If the first item on the parse-tree is text and the argument is also text,
-then the text is prepended to the first item (not added as a separate string).
-Otherwise the argument is added as a new string or parse-tree I<before>
-the current one.
-
-=cut
-
-use vars qw(@ptree);  ## an alias used for performance reasons
-
-sub prepend {
-   my $self = shift;
-   local *ptree = $self;
-   for (@_) {
-      next  unless length;
-      if (@ptree && !(ref $ptree[0]) && !(ref $_)) {
-         $ptree[0] = $_ . $ptree[0];
-      }
-      else {
-         unshift @ptree, $_;
-      }
-   }
-}
-
-##---------------------------------------------------------------------------
-
-=head2 $ptree-E<gt>B<append()>
-
-This method appends the given text or parse-tree to the current parse-tree.
-If the last item on the parse-tree is text and the argument is also text,
-then the text is appended to the last item (not added as a separate string).
-Otherwise the argument is added as a new string or parse-tree I<after>
-the current one.
-
-=cut
-
-sub append {
-   my $self = shift;
-   local *ptree = $self;
-   my $can_append = @ptree && !(ref $ptree[-1]);
-   for (@_) {
-      if (ref) {
-         push @ptree, $_;
-      }
-      elsif(!length) {
-         next;
-      }
-      elsif ($can_append) {
-         $ptree[-1] .= $_;
-      }
-      else {
-         push @ptree, $_;
-      }
-   }
-}
-
-=head2 $ptree-E<gt>B<raw_text()>
-
-        my $ptree_raw_text = $ptree->raw_text();
-
-This method will return the I<raw> text of the POD parse-tree
-exactly as it appeared in the input.
-
-=cut
-
-sub raw_text {
-   my $self = shift;
-   my $text = '';
-   for ( @$self ) {
-      $text .= (ref $_) ? $_->raw_text : $_;
-   }
-   return $text;
-}
-
-##---------------------------------------------------------------------------
-
-## Private routines to set/unset child->parent links
-
-sub _unset_child2parent_links {
-   my $self = shift;
-   local *ptree = $self;
-   for (@ptree) {
-       next  unless (defined and length  and  ref  and  ref ne 'SCALAR');
-       $_->_unset_child2parent_links()
-           if UNIVERSAL::isa($_, 'Pod::InteriorSequence');
-   }
-}
-
-sub _set_child2parent_links {
-    ## nothing to do, Pod::ParseTrees cant have parent pointers
-}
-
-=head2 Pod::ParseTree::B<DESTROY()>
-
-This method performs any necessary cleanup for the parse-tree.
-If you override this method then it is B<imperative>
-that you invoke the parent method from within your own method,
-otherwise I<parse-tree storage will not be reclaimed upon destruction!>
-
-=cut
-
-sub DESTROY {
-   ## We need to get rid of all child->parent pointers throughout the
-   ## tree so their reference counts will go to zero and they can be
-   ## garbage-collected
-   _unset_child2parent_links(@_);
-}
-
-#############################################################################
-
-=head1 SEE ALSO
-
-See L<Pod::Parser>, L<Pod::Select>
-
-=head1 AUTHOR
-
-Please report bugs using L<http://rt.cpan.org>.
-
-Brad Appleton E<lt>bradapp at enteract.comE<gt>
-
-=cut
-
-1;
+#############################################################################
+# Pod/InputObjects.pm -- package which defines objects for input streams
+# and paragraphs and commands when parsing 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.
+#############################################################################
+
+package Pod::InputObjects;
+use strict;
+
+use vars qw($VERSION);
+$VERSION = '1.60';  ## Current version of this package
+require  5.005;    ## requires this Perl version or later
+
+#############################################################################
+
+=head1 NAME
+
+Pod::InputObjects - objects representing POD input paragraphs, commands, etc.
+
+=head1 SYNOPSIS
+
+    use Pod::InputObjects;
+
+=head1 REQUIRES
+
+perl5.004, Carp
+
+=head1 EXPORTS
+
+Nothing.
+
+=head1 DESCRIPTION
+
+This module defines some basic input objects used by B<Pod::Parser> when
+reading and parsing POD text from an input source. The following objects
+are defined:
+
+=begin __PRIVATE__
+
+=over 4
+
+=item package B<Pod::InputSource>
+
+An object corresponding to a source of POD input text. It is mostly a
+wrapper around a filehandle or C<IO::Handle>-type object (or anything
+that implements the C<getline()> method) which keeps track of some
+additional information relevant to the parsing of PODs.
+
+=back
+
+=end __PRIVATE__
+
+=over 4
+
+=item package B<Pod::Paragraph>
+
+An object corresponding to a paragraph of POD input text. It may be a
+plain paragraph, a verbatim paragraph, or a command paragraph (see
+L<perlpod>).
+
+=item package B<Pod::InteriorSequence>
+
+An object corresponding to an interior sequence command from the POD
+input text (see L<perlpod>).
+
+=item package B<Pod::ParseTree>
+
+An object corresponding to a tree of parsed POD text. Each "node" in
+a parse-tree (or I<ptree>) is either a text-string or a reference to
+a B<Pod::InteriorSequence> object. The nodes appear in the parse-tree
+in the order in which they were parsed from left-to-right.
+
+=back
+
+Each of these input objects are described in further detail in the
+sections which follow.
+
+=cut
+
+#############################################################################
+
+package Pod::InputSource;
+
+##---------------------------------------------------------------------------
+
+=begin __PRIVATE__
+
+=head1 B<Pod::InputSource>
+
+This object corresponds to an input source or stream of POD
+documentation. When parsing PODs, it is necessary to associate and store
+certain context information with each input source. All of this
+information is kept together with the stream itself in one of these
+C<Pod::InputSource> objects. Each such object is merely a wrapper around
+an C<IO::Handle> object of some kind (or at least something that
+implements the C<getline()> method). They have the following
+methods/attributes:
+
+=end __PRIVATE__
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=begin __PRIVATE__
+
+=head2 B<new()>
+
+        my $pod_input1 = Pod::InputSource->new(-handle => $filehandle);
+        my $pod_input2 = new Pod::InputSource(-handle => $filehandle,
+                                              -name   => $name);
+        my $pod_input3 = new Pod::InputSource(-handle => \*STDIN);
+        my $pod_input4 = Pod::InputSource->new(-handle => \*STDIN,
+                                               -name => "(STDIN)");
+
+This is a class method that constructs a C<Pod::InputSource> object and
+returns a reference to the new input source object. It takes one or more
+keyword arguments in the form of a hash. The keyword C<-handle> is
+required and designates the corresponding input handle. The keyword
+C<-name> is optional and specifies the name associated with the input
+handle (typically a file name).
+
+=end __PRIVATE__
+
+=cut
+
+sub new {
+    ## Determine if we were called via an object-ref or a classname
+    my $this = shift;
+    my $class = ref($this) || $this;
+
+    ## Any remaining arguments are treated as initial values for the
+    ## hash that is used to represent this object. Note that we default
+    ## certain values by specifying them *before* the arguments passed.
+    ## If they are in the argument list, they will override the defaults.
+    my $self = { -name        => '(unknown)',
+                 -handle      => undef,
+                 -was_cutting => 0,
+                 @_ };
+
+    ## Bless ourselves into the desired class and perform any initialization
+    bless $self, $class;
+    return $self;
+}
+
+##---------------------------------------------------------------------------
+
+=begin __PRIVATE__
+
+=head2 B<name()>
+
+        my $filename = $pod_input->name();
+        $pod_input->name($new_filename_to_use);
+
+This method gets/sets the name of the input source (usually a filename).
+If no argument is given, it returns a string containing the name of
+the input source; otherwise it sets the name of the input source to the
+contents of the given argument.
+
+=end __PRIVATE__
+
+=cut
+
+sub name {
+   (@_ > 1)  and  $_[0]->{'-name'} = $_[1];
+   return $_[0]->{'-name'};
+}
+
+## allow 'filename' as an alias for 'name'
+*filename = \&name;
+
+##---------------------------------------------------------------------------
+
+=begin __PRIVATE__
+
+=head2 B<handle()>
+
+        my $handle = $pod_input->handle();
+
+Returns a reference to the handle object from which input is read (the
+one used to contructed this input source object).
+
+=end __PRIVATE__
+
+=cut
+
+sub handle {
+   return $_[0]->{'-handle'};
+}
+
+##---------------------------------------------------------------------------
+
+=begin __PRIVATE__
+
+=head2 B<was_cutting()>
+
+        print "Yes.\n" if ($pod_input->was_cutting());
+
+The value of the C<cutting> state (that the B<cutting()> method would
+have returned) immediately before any input was read from this input
+stream. After all input from this stream has been read, the C<cutting>
+state is restored to this value.
+
+=end __PRIVATE__
+
+=cut
+
+sub was_cutting {
+   (@_ > 1)  and  $_[0]->{-was_cutting} = $_[1];
+   return $_[0]->{-was_cutting};
+}
+
+##---------------------------------------------------------------------------
+
+#############################################################################
+
+package Pod::Paragraph;
+
+##---------------------------------------------------------------------------
+
+=head1 B<Pod::Paragraph>
+
+An object representing a paragraph of POD input text.
+It has the following methods/attributes:
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=head2 Pod::Paragraph-E<gt>B<new()>
+
+        my $pod_para1 = Pod::Paragraph->new(-text => $text);
+        my $pod_para2 = Pod::Paragraph->new(-name => $cmd,
+                                            -text => $text);
+        my $pod_para3 = new Pod::Paragraph(-text => $text);
+        my $pod_para4 = new Pod::Paragraph(-name => $cmd,
+                                           -text => $text);
+        my $pod_para5 = Pod::Paragraph->new(-name => $cmd,
+                                            -text => $text,
+                                            -file => $filename,
+                                            -line => $line_number);
+
+This is a class method that constructs a C<Pod::Paragraph> object and
+returns a reference to the new paragraph object. It may be given one or
+two keyword arguments. The C<-text> keyword indicates the corresponding
+text of the POD paragraph. The C<-name> keyword indicates the name of
+the corresponding POD command, such as C<head1> or C<item> (it should
+I<not> contain the C<=> prefix); this is needed only if the POD
+paragraph corresponds to a command paragraph. The C<-file> and C<-line>
+keywords indicate the filename and line number corresponding to the
+beginning of the paragraph 
+
+=cut
+
+sub new {
+    ## Determine if we were called via an object-ref or a classname
+    my $this = shift;
+    my $class = ref($this) || $this;
+
+    ## Any remaining arguments are treated as initial values for the
+    ## hash that is used to represent this object. Note that we default
+    ## certain values by specifying them *before* the arguments passed.
+    ## If they are in the argument list, they will override the defaults.
+    my $self = {
+          -name       => undef,
+          -text       => (@_ == 1) ? shift : undef,
+          -file       => '<unknown-file>',
+          -line       => 0,
+          -prefix     => '=',
+          -separator  => ' ',
+          -ptree => [],
+          @_
+    };
+
+    ## Bless ourselves into the desired class and perform any initialization
+    bless $self, $class;
+    return $self;
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_para-E<gt>B<cmd_name()>
+
+        my $para_cmd = $pod_para->cmd_name();
+
+If this paragraph is a command paragraph, then this method will return 
+the name of the command (I<without> any leading C<=> prefix).
+
+=cut
+
+sub cmd_name {
+   (@_ > 1)  and  $_[0]->{'-name'} = $_[1];
+   return $_[0]->{'-name'};
+}
+
+## let name() be an alias for cmd_name()
+*name = \&cmd_name;
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_para-E<gt>B<text()>
+
+        my $para_text = $pod_para->text();
+
+This method will return the corresponding text of the paragraph.
+
+=cut
+
+sub text {
+   (@_ > 1)  and  $_[0]->{'-text'} = $_[1];
+   return $_[0]->{'-text'};
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_para-E<gt>B<raw_text()>
+
+        my $raw_pod_para = $pod_para->raw_text();
+
+This method will return the I<raw> text of the POD paragraph, exactly
+as it appeared in the input.
+
+=cut
+
+sub raw_text {
+   return $_[0]->{'-text'}  unless (defined $_[0]->{'-name'});
+   return $_[0]->{'-prefix'} . $_[0]->{'-name'} .
+          $_[0]->{'-separator'} . $_[0]->{'-text'};
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_para-E<gt>B<cmd_prefix()>
+
+        my $prefix = $pod_para->cmd_prefix();
+
+If this paragraph is a command paragraph, then this method will return 
+the prefix used to denote the command (which should be the string "="
+or "==").
+
+=cut
+
+sub cmd_prefix {
+   return $_[0]->{'-prefix'};
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_para-E<gt>B<cmd_separator()>
+
+        my $separator = $pod_para->cmd_separator();
+
+If this paragraph is a command paragraph, then this method will return
+the text used to separate the command name from the rest of the
+paragraph (if any).
+
+=cut
+
+sub cmd_separator {
+   return $_[0]->{'-separator'};
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_para-E<gt>B<parse_tree()>
+
+        my $ptree = $pod_parser->parse_text( $pod_para->text() );
+        $pod_para->parse_tree( $ptree );
+        $ptree = $pod_para->parse_tree();
+
+This method will get/set the corresponding parse-tree of the paragraph's text.
+
+=cut
+
+sub parse_tree {
+   (@_ > 1)  and  $_[0]->{'-ptree'} = $_[1];
+   return $_[0]->{'-ptree'};
+}
+
+## let ptree() be an alias for parse_tree()
+*ptree = \&parse_tree;
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_para-E<gt>B<file_line()>
+
+        my ($filename, $line_number) = $pod_para->file_line();
+        my $position = $pod_para->file_line();
+
+Returns the current filename and line number for the paragraph
+object.  If called in a list context, it returns a list of two
+elements: first the filename, then the line number. If called in
+a scalar context, it returns a string containing the filename, followed
+by a colon (':'), followed by the line number.
+
+=cut
+
+sub file_line {
+   my @loc = ($_[0]->{'-file'} || '<unknown-file>',
+              $_[0]->{'-line'} || 0);
+   return (wantarray) ? @loc : join(':', @loc);
+}
+
+##---------------------------------------------------------------------------
+
+#############################################################################
+
+package Pod::InteriorSequence;
+
+##---------------------------------------------------------------------------
+
+=head1 B<Pod::InteriorSequence>
+
+An object representing a POD interior sequence command.
+It has the following methods/attributes:
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=head2 Pod::InteriorSequence-E<gt>B<new()>
+
+        my $pod_seq1 = Pod::InteriorSequence->new(-name => $cmd
+                                                  -ldelim => $delimiter);
+        my $pod_seq2 = new Pod::InteriorSequence(-name => $cmd,
+                                                 -ldelim => $delimiter);
+        my $pod_seq3 = new Pod::InteriorSequence(-name => $cmd,
+                                                 -ldelim => $delimiter,
+                                                 -file => $filename,
+                                                 -line => $line_number);
+
+        my $pod_seq4 = new Pod::InteriorSequence(-name => $cmd, $ptree);
+        my $pod_seq5 = new Pod::InteriorSequence($cmd, $ptree);
+
+This is a class method that constructs a C<Pod::InteriorSequence> object
+and returns a reference to the new interior sequence object. It should
+be given two keyword arguments.  The C<-ldelim> keyword indicates the
+corresponding left-delimiter of the interior sequence (e.g. 'E<lt>').
+The C<-name> keyword indicates the name of the corresponding interior
+sequence command, such as C<I> or C<B> or C<C>. The C<-file> and
+C<-line> keywords indicate the filename and line number corresponding
+to the beginning of the interior sequence. If the C<$ptree> argument is
+given, it must be the last argument, and it must be either string, or
+else an array-ref suitable for passing to B<Pod::ParseTree::new> (or
+it may be a reference to a Pod::ParseTree object).
+
+=cut
+
+sub new {
+    ## Determine if we were called via an object-ref or a classname
+    my $this = shift;
+    my $class = ref($this) || $this;
+
+    ## See if first argument has no keyword
+    if (((@_ <= 2) or (@_ % 2)) and $_[0] !~ /^-\w/) {
+       ## Yup - need an implicit '-name' before first parameter
+       unshift @_, '-name';
+    }
+
+    ## See if odd number of args
+    if ((@_ % 2) != 0) {
+       ## Yup - need an implicit '-ptree' before the last parameter
+       splice @_, $#_, 0, '-ptree';
+    }
+
+    ## Any remaining arguments are treated as initial values for the
+    ## hash that is used to represent this object. Note that we default
+    ## certain values by specifying them *before* the arguments passed.
+    ## If they are in the argument list, they will override the defaults.
+    my $self = {
+          -name       => (@_ == 1) ? $_[0] : undef,
+          -file       => '<unknown-file>',
+          -line       => 0,
+          -ldelim     => '<',
+          -rdelim     => '>',
+          @_
+    };
+
+    ## Initialize contents if they havent been already
+    my $ptree = $self->{'-ptree'} || new Pod::ParseTree();
+    if ( ref $ptree =~ /^(ARRAY)?$/ ) {
+        ## We have an array-ref, or a normal scalar. Pass it as an
+        ## an argument to the ptree-constructor
+        $ptree = new Pod::ParseTree($1 ? [$ptree] : $ptree);
+    }
+    $self->{'-ptree'} = $ptree;
+
+    ## Bless ourselves into the desired class and perform any initialization
+    bless $self, $class;
+    return $self;
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<cmd_name()>
+
+        my $seq_cmd = $pod_seq->cmd_name();
+
+The name of the interior sequence command.
+
+=cut
+
+sub cmd_name {
+   (@_ > 1)  and  $_[0]->{'-name'} = $_[1];
+   return $_[0]->{'-name'};
+}
+
+## let name() be an alias for cmd_name()
+*name = \&cmd_name;
+
+##---------------------------------------------------------------------------
+
+## Private subroutine to set the parent pointer of all the given
+## children that are interior-sequences to be $self
+
+sub _set_child2parent_links {
+   my ($self, @children) = @_;
+   ## Make sure any sequences know who their parent is
+   for (@children) {
+      next  unless (length  and  ref  and  ref ne 'SCALAR');
+      if (UNIVERSAL::isa($_, 'Pod::InteriorSequence') or
+          UNIVERSAL::can($_, 'nested'))
+      {
+          $_->nested($self);
+      }
+   }
+}
+
+## Private subroutine to unset child->parent links
+
+sub _unset_child2parent_links {
+   my $self = shift;
+   $self->{'-parent_sequence'} = undef;
+   my $ptree = $self->{'-ptree'};
+   for (@$ptree) {
+      next  unless (length  and  ref  and  ref ne 'SCALAR');
+      $_->_unset_child2parent_links()
+          if UNIVERSAL::isa($_, 'Pod::InteriorSequence');
+   }
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<prepend()>
+
+        $pod_seq->prepend($text);
+        $pod_seq1->prepend($pod_seq2);
+
+Prepends the given string or parse-tree or sequence object to the parse-tree
+of this interior sequence.
+
+=cut
+
+sub prepend {
+   my $self  = shift;
+   $self->{'-ptree'}->prepend(@_);
+   _set_child2parent_links($self, @_);
+   return $self;
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<append()>
+
+        $pod_seq->append($text);
+        $pod_seq1->append($pod_seq2);
+
+Appends the given string or parse-tree or sequence object to the parse-tree
+of this interior sequence.
+
+=cut
+
+sub append {
+   my $self = shift;
+   $self->{'-ptree'}->append(@_);
+   _set_child2parent_links($self, @_);
+   return $self;
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<nested()>
+
+        $outer_seq = $pod_seq->nested || print "not nested";
+
+If this interior sequence is nested inside of another interior
+sequence, then the outer/parent sequence that contains it is
+returned. Otherwise C<undef> is returned.
+
+=cut
+
+sub nested {
+   my $self = shift;
+  (@_ == 1)  and  $self->{'-parent_sequence'} = shift;
+   return  $self->{'-parent_sequence'} || undef;
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<raw_text()>
+
+        my $seq_raw_text = $pod_seq->raw_text();
+
+This method will return the I<raw> text of the POD interior sequence,
+exactly as it appeared in the input.
+
+=cut
+
+sub raw_text {
+   my $self = shift;
+   my $text = $self->{'-name'} . $self->{'-ldelim'};
+   for ( $self->{'-ptree'}->children ) {
+      $text .= (ref $_) ? $_->raw_text : $_;
+   }
+   $text .= $self->{'-rdelim'};
+   return $text;
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<left_delimiter()>
+
+        my $ldelim = $pod_seq->left_delimiter();
+
+The leftmost delimiter beginning the argument text to the interior
+sequence (should be "<").
+
+=cut
+
+sub left_delimiter {
+   (@_ > 1)  and  $_[0]->{'-ldelim'} = $_[1];
+   return $_[0]->{'-ldelim'};
+}
+
+## let ldelim() be an alias for left_delimiter()
+*ldelim = \&left_delimiter;
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<right_delimiter()>
+
+The rightmost delimiter beginning the argument text to the interior
+sequence (should be ">").
+
+=cut
+
+sub right_delimiter {
+   (@_ > 1)  and  $_[0]->{'-rdelim'} = $_[1];
+   return $_[0]->{'-rdelim'};
+}
+
+## let rdelim() be an alias for right_delimiter()
+*rdelim = \&right_delimiter;
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<parse_tree()>
+
+        my $ptree = $pod_parser->parse_text($paragraph_text);
+        $pod_seq->parse_tree( $ptree );
+        $ptree = $pod_seq->parse_tree();
+
+This method will get/set the corresponding parse-tree of the interior
+sequence's text.
+
+=cut
+
+sub parse_tree {
+   (@_ > 1)  and  $_[0]->{'-ptree'} = $_[1];
+   return $_[0]->{'-ptree'};
+}
+
+## let ptree() be an alias for parse_tree()
+*ptree = \&parse_tree;
+
+##---------------------------------------------------------------------------
+
+=head2 $pod_seq-E<gt>B<file_line()>
+
+        my ($filename, $line_number) = $pod_seq->file_line();
+        my $position = $pod_seq->file_line();
+
+Returns the current filename and line number for the interior sequence
+object.  If called in a list context, it returns a list of two
+elements: first the filename, then the line number. If called in
+a scalar context, it returns a string containing the filename, followed
+by a colon (':'), followed by the line number.
+
+=cut
+
+sub file_line {
+   my @loc = ($_[0]->{'-file'}  || '<unknown-file>',
+              $_[0]->{'-line'}  || 0);
+   return (wantarray) ? @loc : join(':', @loc);
+}
+
+##---------------------------------------------------------------------------
+
+=head2 Pod::InteriorSequence::B<DESTROY()>
+
+This method performs any necessary cleanup for the interior-sequence.
+If you override this method then it is B<imperative> that you invoke
+the parent method from within your own method, otherwise
+I<interior-sequence storage will not be reclaimed upon destruction!>
+
+=cut
+
+sub DESTROY {
+   ## We need to get rid of all child->parent pointers throughout the
+   ## tree so their reference counts will go to zero and they can be
+   ## garbage-collected
+   _unset_child2parent_links(@_);
+}
+
+##---------------------------------------------------------------------------
+
+#############################################################################
+
+package Pod::ParseTree;
+
+##---------------------------------------------------------------------------
+
+=head1 B<Pod::ParseTree>
+
+This object corresponds to a tree of parsed POD text. As POD text is
+scanned from left to right, it is parsed into an ordered list of
+text-strings and B<Pod::InteriorSequence> objects (in order of
+appearance). A B<Pod::ParseTree> object corresponds to this list of
+strings and sequences. Each interior sequence in the parse-tree may
+itself contain a parse-tree (since interior sequences may be nested).
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=head2 Pod::ParseTree-E<gt>B<new()>
+
+        my $ptree1 = Pod::ParseTree->new;
+        my $ptree2 = new Pod::ParseTree;
+        my $ptree4 = Pod::ParseTree->new($array_ref);
+        my $ptree3 = new Pod::ParseTree($array_ref);
+
+This is a class method that constructs a C<Pod::Parse_tree> object and
+returns a reference to the new parse-tree. If a single-argument is given,
+it must be a reference to an array, and is used to initialize the root
+(top) of the parse tree.
+
+=cut
+
+sub new {
+    ## Determine if we were called via an object-ref or a classname
+    my $this = shift;
+    my $class = ref($this) || $this;
+
+    my $self = (@_ == 1  and  ref $_[0]) ? $_[0] : [];
+
+    ## Bless ourselves into the desired class and perform any initialization
+    bless $self, $class;
+    return $self;
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $ptree-E<gt>B<top()>
+
+        my $top_node = $ptree->top();
+        $ptree->top( $top_node );
+        $ptree->top( @children );
+
+This method gets/sets the top node of the parse-tree. If no arguments are
+given, it returns the topmost node in the tree (the root), which is also
+a B<Pod::ParseTree>. If it is given a single argument that is a reference,
+then the reference is assumed to a parse-tree and becomes the new top node.
+Otherwise, if arguments are given, they are treated as the new list of
+children for the top node.
+
+=cut
+
+sub top {
+   my $self = shift;
+   if (@_ > 0) {
+      @{ $self } = (@_ == 1  and  ref $_[0]) ? ${ @_ } : @_;
+   }
+   return $self;
+}
+
+## let parse_tree() & ptree() be aliases for the 'top' method
+*parse_tree = *ptree = \⊤
+
+##---------------------------------------------------------------------------
+
+=head2 $ptree-E<gt>B<children()>
+
+This method gets/sets the children of the top node in the parse-tree.
+If no arguments are given, it returns the list (array) of children
+(each of which should be either a string or a B<Pod::InteriorSequence>.
+Otherwise, if arguments are given, they are treated as the new list of
+children for the top node.
+
+=cut
+
+sub children {
+   my $self = shift;
+   if (@_ > 0) {
+      @{ $self } = (@_ == 1  and  ref $_[0]) ? ${ @_ } : @_;
+   }
+   return @{ $self };
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $ptree-E<gt>B<prepend()>
+
+This method prepends the given text or parse-tree to the current parse-tree.
+If the first item on the parse-tree is text and the argument is also text,
+then the text is prepended to the first item (not added as a separate string).
+Otherwise the argument is added as a new string or parse-tree I<before>
+the current one.
+
+=cut
+
+use vars qw(@ptree);  ## an alias used for performance reasons
+
+sub prepend {
+   my $self = shift;
+   local *ptree = $self;
+   for (@_) {
+      next  unless length;
+      if (@ptree && !(ref $ptree[0]) && !(ref $_)) {
+         $ptree[0] = $_ . $ptree[0];
+      }
+      else {
+         unshift @ptree, $_;
+      }
+   }
+}
+
+##---------------------------------------------------------------------------
+
+=head2 $ptree-E<gt>B<append()>
+
+This method appends the given text or parse-tree to the current parse-tree.
+If the last item on the parse-tree is text and the argument is also text,
+then the text is appended to the last item (not added as a separate string).
+Otherwise the argument is added as a new string or parse-tree I<after>
+the current one.
+
+=cut
+
+sub append {
+   my $self = shift;
+   local *ptree = $self;
+   my $can_append = @ptree && !(ref $ptree[-1]);
+   for (@_) {
+      if (ref) {
+         push @ptree, $_;
+      }
+      elsif(!length) {
+         next;
+      }
+      elsif ($can_append) {
+         $ptree[-1] .= $_;
+      }
+      else {
+         push @ptree, $_;
+      }
+   }
+}
+
+=head2 $ptree-E<gt>B<raw_text()>
+
+        my $ptree_raw_text = $ptree->raw_text();
+
+This method will return the I<raw> text of the POD parse-tree
+exactly as it appeared in the input.
+
+=cut
+
+sub raw_text {
+   my $self = shift;
+   my $text = '';
+   for ( @$self ) {
+      $text .= (ref $_) ? $_->raw_text : $_;
+   }
+   return $text;
+}
+
+##---------------------------------------------------------------------------
+
+## Private routines to set/unset child->parent links
+
+sub _unset_child2parent_links {
+   my $self = shift;
+   local *ptree = $self;
+   for (@ptree) {
+       next  unless (defined and length  and  ref  and  ref ne 'SCALAR');
+       $_->_unset_child2parent_links()
+           if UNIVERSAL::isa($_, 'Pod::InteriorSequence');
+   }
+}
+
+sub _set_child2parent_links {
+    ## nothing to do, Pod::ParseTrees cant have parent pointers
+}
+
+=head2 Pod::ParseTree::B<DESTROY()>
+
+This method performs any necessary cleanup for the parse-tree.
+If you override this method then it is B<imperative>
+that you invoke the parent method from within your own method,
+otherwise I<parse-tree storage will not be reclaimed upon destruction!>
+
+=cut
+
+sub DESTROY {
+   ## We need to get rid of all child->parent pointers throughout the
+   ## tree so their reference counts will go to zero and they can be
+   ## garbage-collected
+   _unset_child2parent_links(@_);
+}
+
+#############################################################################
+
+=head1 SEE ALSO
+
+B<Pod::InputObjects> is part of the L<Pod::Parser> distribution.
+
+See L<Pod::Parser>, L<Pod::Select>
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Brad Appleton E<lt>bradapp at enteract.comE<gt>
+
+=cut
+
+1;


Property changes on: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/InputObjects.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/ParseUtils.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/lib/Pod/ParseUtils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/lib/Pod/ParseUtils.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,855 +1,857 @@
-#############################################################################
-# Pod/ParseUtils.pm -- helpers for POD parsing and conversion
-#
-# Copyright (C) 1999-2000 by Marek Rouchal. 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.
-#############################################################################
-
-package Pod::ParseUtils;
-use strict;
-
-use vars qw($VERSION);
-$VERSION = '1.36'; ## Current version of this package
-require  5.005;    ## requires this Perl version or later
-
-=head1 NAME
-
-Pod::ParseUtils - helpers for POD parsing and conversion
-
-=head1 SYNOPSIS
-
-  use Pod::ParseUtils;
-
-  my $list = new Pod::List;
-  my $link = Pod::Hyperlink->new('Pod::Parser');
-
-=head1 DESCRIPTION
-
-B<Pod::ParseUtils> contains a few object-oriented helper packages for
-POD parsing and processing (i.e. in POD formatters and translators).
-
-=cut
-
-#-----------------------------------------------------------------------------
-# Pod::List
-#
-# class to hold POD list info (=over, =item, =back)
-#-----------------------------------------------------------------------------
-
-package Pod::List;
-
-use Carp;
-
-=head2 Pod::List
-
-B<Pod::List> can be used to hold information about POD lists
-(written as =over ... =item ... =back) for further processing.
-The following methods are available:
-
-=over 4
-
-=item Pod::List-E<gt>new()
-
-Create a new list object. Properties may be specified through a hash
-reference like this:
-
-  my $list = Pod::List->new({ -start => $., -indent => 4 });
-
-See the individual methods/properties for details.
-
-=cut
-
-sub new {
-    my $this = shift;
-    my $class = ref($this) || $this;
-    my %params = @_;
-    my $self = {%params};
-    bless $self, $class;
-    $self->initialize();
-    return $self;
-}
-
-sub initialize {
-    my $self = shift;
-    $self->{-file} ||= 'unknown';
-    $self->{-start} ||= 'unknown';
-    $self->{-indent} ||= 4; # perlpod: "should be the default"
-    $self->{_items} = [];
-    $self->{-type} ||= '';
-}
-
-=item $list-E<gt>file()
-
-Without argument, retrieves the file name the list is in. This must
-have been set before by either specifying B<-file> in the B<new()>
-method or by calling the B<file()> method with a scalar argument.
-
-=cut
-
-# The POD file name the list appears in
-sub file {
-   return (@_ > 1) ? ($_[0]->{-file} = $_[1]) : $_[0]->{-file};
-}
-
-=item $list-E<gt>start()
-
-Without argument, retrieves the line number where the list started.
-This must have been set before by either specifying B<-start> in the
-B<new()> method or by calling the B<start()> method with a scalar
-argument.
-
-=cut
-
-# The line in the file the node appears
-sub start {
-   return (@_ > 1) ? ($_[0]->{-start} = $_[1]) : $_[0]->{-start};
-}
-
-=item $list-E<gt>indent()
-
-Without argument, retrieves the indent level of the list as specified
-in C<=over n>. This must have been set before by either specifying
-B<-indent> in the B<new()> method or by calling the B<indent()> method
-with a scalar argument.
-
-=cut
-
-# indent level
-sub indent {
-   return (@_ > 1) ? ($_[0]->{-indent} = $_[1]) : $_[0]->{-indent};
-}
-
-=item $list-E<gt>type()
-
-Without argument, retrieves the list type, which can be an arbitrary value,
-e.g. C<OL>, C<UL>, ... when thinking the HTML way.
-This must have been set before by either specifying
-B<-type> in the B<new()> method or by calling the B<type()> method
-with a scalar argument.
-
-=cut
-
-# The type of the list (UL, OL, ...)
-sub type {
-   return (@_ > 1) ? ($_[0]->{-type} = $_[1]) : $_[0]->{-type};
-}
-
-=item $list-E<gt>rx()
-
-Without argument, retrieves a regular expression for simplifying the 
-individual item strings once the list type has been determined. Usage:
-E.g. when converting to HTML, one might strip the leading number in
-an ordered list as C<E<lt>OLE<gt>> already prints numbers itself.
-This must have been set before by either specifying
-B<-rx> in the B<new()> method or by calling the B<rx()> method
-with a scalar argument.
-
-=cut
-
-# The regular expression to simplify the items
-sub rx {
-   return (@_ > 1) ? ($_[0]->{-rx} = $_[1]) : $_[0]->{-rx};
-}
-
-=item $list-E<gt>item()
-
-Without argument, retrieves the array of the items in this list.
-The items may be represented by any scalar.
-If an argument has been given, it is pushed on the list of items.
-
-=cut
-
-# The individual =items of this list
-sub item {
-    my ($self,$item) = @_;
-    if(defined $item) {
-        push(@{$self->{_items}}, $item);
-        return $item;
-    }
-    else {
-        return @{$self->{_items}};
-    }
-}
-
-=item $list-E<gt>parent()
-
-Without argument, retrieves information about the parent holding this
-list, which is represented as an arbitrary scalar.
-This must have been set before by either specifying
-B<-parent> in the B<new()> method or by calling the B<parent()> method
-with a scalar argument.
-
-=cut
-
-# possibility for parsers/translators to store information about the
-# lists's parent object
-sub parent {
-   return (@_ > 1) ? ($_[0]->{-parent} = $_[1]) : $_[0]->{-parent};
-}
-
-=item $list-E<gt>tag()
-
-Without argument, retrieves information about the list tag, which can be
-any scalar.
-This must have been set before by either specifying
-B<-tag> in the B<new()> method or by calling the B<tag()> method
-with a scalar argument.
-
-=back
-
-=cut
-
-# possibility for parsers/translators to store information about the
-# list's object
-sub tag {
-   return (@_ > 1) ? ($_[0]->{-tag} = $_[1]) : $_[0]->{-tag};
-}
-
-#-----------------------------------------------------------------------------
-# Pod::Hyperlink
-#
-# class to manipulate POD hyperlinks (L<>)
-#-----------------------------------------------------------------------------
-
-package Pod::Hyperlink;
-
-=head2 Pod::Hyperlink
-
-B<Pod::Hyperlink> is a class for manipulation of POD hyperlinks. Usage:
-
-  my $link = Pod::Hyperlink->new('alternative text|page/"section in page"');
-
-The B<Pod::Hyperlink> class is mainly designed to parse the contents of the
-C<LE<lt>...E<gt>> sequence, providing a simple interface for accessing the
-different parts of a POD hyperlink for further processing. It can also be
-used to construct hyperlinks.
-
-=over 4
-
-=item Pod::Hyperlink-E<gt>new()
-
-The B<new()> method can either be passed a set of key/value pairs or a single
-scalar value, namely the contents of a C<LE<lt>...E<gt>> sequence. An object
-of the class C<Pod::Hyperlink> is returned. The value C<undef> indicates a
-failure, the error message is stored in C<$@>.
-
-=cut
-
-use Carp;
-
-sub new {
-    my $this = shift;
-    my $class = ref($this) || $this;
-    my $self = +{};
-    bless $self, $class;
-    $self->initialize();
-    if(defined $_[0]) {
-        if(ref($_[0])) {
-            # called with a list of parameters
-            %$self = %{$_[0]};
-            $self->_construct_text();
-        }
-        else {
-            # called with L<> contents
-            return unless($self->parse($_[0]));
-        }
-    }
-    return $self;
-}
-
-sub initialize {
-    my $self = shift;
-    $self->{-line} ||= 'undef';
-    $self->{-file} ||= 'undef';
-    $self->{-page} ||= '';
-    $self->{-node} ||= '';
-    $self->{-alttext} ||= '';
-    $self->{-type} ||= 'undef';
-    $self->{_warnings} = [];
-}
-
-=item $link-E<gt>parse($string)
-
-This method can be used to (re)parse a (new) hyperlink, i.e. the contents
-of a C<LE<lt>...E<gt>> sequence. The result is stored in the current object.
-Warnings are stored in the B<warnings> property.
-E.g. sections like C<LE<lt>open(2)E<gt>> are deprecated, as they do not point
-to Perl documents. C<LE<lt>DBI::foo(3p)E<gt>> is wrong as well, the manpage
-section can simply be dropped.
-
-=cut
-
-sub parse {
-    my $self = shift;
-    local($_) = $_[0];
-    # syntax check the link and extract destination
-    my ($alttext,$page,$node,$type,$quoted) = (undef,'','','',0);
-
-    $self->{_warnings} = [];
-
-    # collapse newlines with whitespace
-    s/\s*\n+\s*/ /g;
-
-    # strip leading/trailing whitespace
-    if(s/^[\s\n]+//) {
-        $self->warning('ignoring leading whitespace in link');
-    }
-    if(s/[\s\n]+$//) {
-        $self->warning('ignoring trailing whitespace in link');
-    }
-    unless(length($_)) {
-        _invalid_link('empty link');
-        return;
-    }
-
-    ## Check for different possibilities. This is tedious and error-prone
-    # we match all possibilities (alttext, page, section/item)
-    #warn "DEBUG: link=$_\n";
-
-    # only page
-    # problem: a lot of people use (), or (1) or the like to indicate
-    # man page sections. But this collides with L<func()> that is supposed
-    # to point to an internal funtion...
-    my $page_rx = '[\w.-]+(?:::[\w.-]+)*(?:[(](?:\d\w*|)[)]|)';
-    # page name only
-    if(/^($page_rx)$/o) {
-        $page = $1;
-        $type = 'page';
-    }
-    # alttext, page and "section"
-    elsif(m{^(.*?)\s*[|]\s*($page_rx)\s*/\s*"(.+)"$}o) {
-        ($alttext, $page, $node) = ($1, $2, $3);
-        $type = 'section';
-        $quoted = 1; #... therefore | and / are allowed
-    }
-    # alttext and page
-    elsif(/^(.*?)\s*[|]\s*($page_rx)$/o) {
-        ($alttext, $page) = ($1, $2);
-        $type = 'page';
-    }
-    # alttext and "section"
-    elsif(m{^(.*?)\s*[|]\s*(?:/\s*|)"(.+)"$}) {
-        ($alttext, $node) = ($1,$2);
-        $type = 'section';
-        $quoted = 1;
-    }
-    # page and "section"
-    elsif(m{^($page_rx)\s*/\s*"(.+)"$}o) {
-        ($page, $node) = ($1, $2);
-        $type = 'section';
-        $quoted = 1;
-    }
-    # page and item
-    elsif(m{^($page_rx)\s*/\s*(.+)$}o) {
-        ($page, $node) = ($1, $2);
-        $type = 'item';
-    }
-    # only "section"
-    elsif(m{^/?"(.+)"$}) {
-        $node = $1;
-        $type = 'section';
-        $quoted = 1;
-    }
-    # only item
-    elsif(m{^\s*/(.+)$}) {
-        $node = $1;
-        $type = 'item';
-    }
-
-    # non-standard: Hyperlink with alt-text - doesn't remove protocol prefix, maybe it should?
-    elsif(/^ \s* (.*?) \s* [|] \s* (\w+:[^:\s] [^\s|]*?) \s* $/ix) {
-      ($alttext,$node) = ($1,$2);
-      $type = 'hyperlink';
-    }
-
-    # non-standard: Hyperlink
-    elsif(/^(\w+:[^:\s]\S*)$/i) {
-        $node = $1;
-        $type = 'hyperlink';
-    }
-    # alttext, page and item
-    elsif(m{^(.*?)\s*[|]\s*($page_rx)\s*/\s*(.+)$}o) {
-        ($alttext, $page, $node) = ($1, $2, $3);
-        $type = 'item';
-    }
-    # alttext and item
-    elsif(m{^(.*?)\s*[|]\s*/(.+)$}) {
-        ($alttext, $node) = ($1,$2);
-    }
-    # must be an item or a "malformed" section (without "")
-    else {
-        $node = $_;
-        $type = 'item';
-    }
-    # collapse whitespace in nodes
-    $node =~ s/\s+/ /gs;
-
-    # empty alternative text expands to node name
-    if(defined $alttext) {
-        if(!length($alttext)) {
-          $alttext = $node || $page;
-        }
-    }
-    else {
-        $alttext = '';
-    }
-
-    if($page =~ /[(]\w*[)]$/) {
-        $self->warning("(section) in '$page' deprecated");
-    }
-    if(!$quoted && $node =~ m{[|/]} && $type ne 'hyperlink') {
-        $self->warning("node '$node' contains non-escaped | or /");
-    }
-    if($alttext =~ m{[|/]}) {
-        $self->warning("alternative text '$node' contains non-escaped | or /");
-    }
-    $self->{-page} = $page;
-    $self->{-node} = $node;
-    $self->{-alttext} = $alttext;
-    #warn "DEBUG: page=$page section=$section item=$item alttext=$alttext\n";
-    $self->{-type} = $type;
-    $self->_construct_text();
-    1;
-}
-
-sub _construct_text {
-    my $self = shift;
-    my $alttext = $self->alttext();
-    my $type = $self->type();
-    my $section = $self->node();
-    my $page = $self->page();
-    my $page_ext = '';
-    $page =~ s/([(]\w*[)])$// && ($page_ext = $1);
-    if($alttext) {
-        $self->{_text} = $alttext;
-    }
-    elsif($type eq 'hyperlink') {
-        $self->{_text} = $section;
-    }
-    else {
-        $self->{_text} = ($section || '') .
-            (($page && $section) ? ' in ' : '') .
-            "$page$page_ext";
-    }
-    # for being marked up later
-    # use the non-standard markers P<> and Q<>, so that the resulting
-    # text can be parsed by the translators. It's their job to put
-    # the correct hypertext around the linktext
-    if($alttext) {
-        $self->{_markup} = "Q<$alttext>";
-    }
-    elsif($type eq 'hyperlink') {
-        $self->{_markup} = "Q<$section>";
-    }
-    else {
-        $self->{_markup} = (!$section ? '' : "Q<$section>") .
-            ($page ? ($section ? ' in ':'') . "P<$page>$page_ext" : '');
-    }
-}
-
-=item $link-E<gt>markup($string)
-
-Set/retrieve the textual value of the link. This string contains special
-markers C<PE<lt>E<gt>> and C<QE<lt>E<gt>> that should be expanded by the
-translator's interior sequence expansion engine to the
-formatter-specific code to highlight/activate the hyperlink. The details
-have to be implemented in the translator.
-
-=cut
-
-#' retrieve/set markuped text
-sub markup {
-    return (@_ > 1) ? ($_[0]->{_markup} = $_[1]) : $_[0]->{_markup};
-}
-
-=item $link-E<gt>text()
-
-This method returns the textual representation of the hyperlink as above,
-but without markers (read only). Depending on the link type this is one of
-the following alternatives (the + and * denote the portions of the text
-that are marked up):
-
-  +perl+                    L<perl>
-  *$|* in +perlvar+         L<perlvar/$|>
-  *OPTIONS* in +perldoc+    L<perldoc/"OPTIONS">
-  *DESCRIPTION*             L<"DESCRIPTION">
-
-=cut
-
-# The complete link's text
-sub text {
-    return $_[0]->{_text};
-}
-
-=item $link-E<gt>warning()
-
-After parsing, this method returns any warnings encountered during the
-parsing process.
-
-=cut
-
-# Set/retrieve warnings
-sub warning {
-    my $self = shift;
-    if(@_) {
-        push(@{$self->{_warnings}}, @_);
-        return @_;
-    }
-    return @{$self->{_warnings}};
-}
-
-=item $link-E<gt>file()
-
-=item $link-E<gt>line()
-
-Just simple slots for storing information about the line and the file
-the link was encountered in. Has to be filled in manually.
-
-=cut
-
-# The line in the file the link appears
-sub line {
-    return (@_ > 1) ? ($_[0]->{-line} = $_[1]) : $_[0]->{-line};
-}
-
-# The POD file name the link appears in
-sub file {
-    return (@_ > 1) ? ($_[0]->{-file} = $_[1]) : $_[0]->{-file};
-}
-
-=item $link-E<gt>page()
-
-This method sets or returns the POD page this link points to.
-
-=cut
-
-# The POD page the link appears on
-sub page {
-    if (@_ > 1) {
-        $_[0]->{-page} = $_[1];
-        $_[0]->_construct_text();
-    }
-    return $_[0]->{-page};
-}
-
-=item $link-E<gt>node()
-
-As above, but the destination node text of the link.
-
-=cut
-
-# The link destination
-sub node {
-    if (@_ > 1) {
-        $_[0]->{-node} = $_[1];
-        $_[0]->_construct_text();
-    }
-    return $_[0]->{-node};
-}
-
-=item $link-E<gt>alttext()
-
-Sets or returns an alternative text specified in the link.
-
-=cut
-
-# Potential alternative text
-sub alttext {
-    if (@_ > 1) {
-        $_[0]->{-alttext} = $_[1];
-        $_[0]->_construct_text();
-    }
-    return $_[0]->{-alttext};
-}
-
-=item $link-E<gt>type()
-
-The node type, either C<section> or C<item>. As an unofficial type,
-there is also C<hyperlink>, derived from e.g. C<LE<lt>http://perl.comE<gt>>
-
-=cut
-
-# The type: item or headn
-sub type {
-    return (@_ > 1) ? ($_[0]->{-type} = $_[1]) : $_[0]->{-type};
-}
-
-=item $link-E<gt>link()
-
-Returns the link as contents of C<LE<lt>E<gt>>. Reciprocal to B<parse()>.
-
-=back
-
-=cut
-
-# The link itself
-sub link {
-    my $self = shift;
-    my $link = $self->page() || '';
-    if($self->node()) {
-        my $node = $self->node();
-        $node =~ s/\|/E<verbar>/g;
-        $node =~ s{/}{E<sol>}g;
-        if($self->type() eq 'section') {
-            $link .= ($link ? '/' : '') . '"' . $node . '"';
-        }
-        elsif($self->type() eq 'hyperlink') {
-            $link = $self->node();
-        }
-        else { # item
-            $link .= '/' . $node;
-        }
-    }
-    if($self->alttext()) {
-        my $text = $self->alttext();
-        $text =~ s/\|/E<verbar>/g;
-        $text =~ s{/}{E<sol>}g;
-        $link = "$text|$link";
-    }
-    return $link;
-}
-
-sub _invalid_link {
-    my ($msg) = @_;
-    # this sets @_
-    #eval { die "$msg\n" };
-    #chomp $@;
-    $@ = $msg; # this seems to work, too!
-    return;
-}
-
-#-----------------------------------------------------------------------------
-# Pod::Cache
-#
-# class to hold POD page details
-#-----------------------------------------------------------------------------
-
-package Pod::Cache;
-
-=head2 Pod::Cache
-
-B<Pod::Cache> holds information about a set of POD documents,
-especially the nodes for hyperlinks.
-The following methods are available:
-
-=over 4
-
-=item Pod::Cache-E<gt>new()
-
-Create a new cache object. This object can hold an arbitrary number of
-POD documents of class Pod::Cache::Item.
-
-=cut
-
-sub new {
-    my $this = shift;
-    my $class = ref($this) || $this;
-    my $self = [];
-    bless $self, $class;
-    return $self;
-}
-
-=item $cache-E<gt>item()
-
-Add a new item to the cache. Without arguments, this method returns a
-list of all cache elements.
-
-=cut
-
-sub item {
-    my ($self,%param) = @_;
-    if(%param) {
-        my $item = Pod::Cache::Item->new(%param);
-        push(@$self, $item);
-        return $item;
-    }
-    else {
-        return @{$self};
-    }
-}
-
-=item $cache-E<gt>find_page($name)
-
-Look for a POD document named C<$name> in the cache. Returns the
-reference to the corresponding Pod::Cache::Item object or undef if
-not found.
-
-=back
-
-=cut
-
-sub find_page {
-    my ($self,$page) = @_;
-    foreach(@$self) {
-        if($_->page() eq $page) {
-            return $_;
-        }
-    }
-    return;
-}
-
-package Pod::Cache::Item;
-
-=head2 Pod::Cache::Item
-
-B<Pod::Cache::Item> holds information about individual POD documents,
-that can be grouped in a Pod::Cache object.
-It is intended to hold information about the hyperlink nodes of POD
-documents.
-The following methods are available:
-
-=over 4
-
-=item Pod::Cache::Item-E<gt>new()
-
-Create a new object.
-
-=cut
-
-sub new {
-    my $this = shift;
-    my $class = ref($this) || $this;
-    my %params = @_;
-    my $self = {%params};
-    bless $self, $class;
-    $self->initialize();
-    return $self;
-}
-
-sub initialize {
-    my $self = shift;
-    $self->{-nodes} = [] unless(defined $self->{-nodes});
-}
-
-=item $cacheitem-E<gt>page()
-
-Set/retrieve the POD document name (e.g. "Pod::Parser").
-
-=cut
-
-# The POD page
-sub page {
-   return (@_ > 1) ? ($_[0]->{-page} = $_[1]) : $_[0]->{-page};
-}
-
-=item $cacheitem-E<gt>description()
-
-Set/retrieve the POD short description as found in the C<=head1 NAME>
-section.
-
-=cut
-
-# The POD description, taken out of NAME if present
-sub description {
-   return (@_ > 1) ? ($_[0]->{-description} = $_[1]) : $_[0]->{-description};
-}
-
-=item $cacheitem-E<gt>path()
-
-Set/retrieve the POD file storage path.
-
-=cut
-
-# The file path
-sub path {
-   return (@_ > 1) ? ($_[0]->{-path} = $_[1]) : $_[0]->{-path};
-}
-
-=item $cacheitem-E<gt>file()
-
-Set/retrieve the POD file name.
-
-=cut
-
-# The POD file name
-sub file {
-   return (@_ > 1) ? ($_[0]->{-file} = $_[1]) : $_[0]->{-file};
-}
-
-=item $cacheitem-E<gt>nodes()
-
-Add a node (or a list of nodes) to the document's node list. Note that
-the order is kept, i.e. start with the first node and end with the last.
-If no argument is given, the current list of nodes is returned in the
-same order the nodes have been added.
-A node can be any scalar, but usually is a pair of node string and
-unique id for the C<find_node> method to work correctly.
-
-=cut
-
-# The POD nodes
-sub nodes {
-    my ($self, at nodes) = @_;
-    if(@nodes) {
-        push(@{$self->{-nodes}}, @nodes);
-        return @nodes;
-    }
-    else {
-        return @{$self->{-nodes}};
-    }
-}
-
-=item $cacheitem-E<gt>find_node($name)
-
-Look for a node or index entry named C<$name> in the object.
-Returns the unique id of the node (i.e. the second element of the array
-stored in the node array) or undef if not found.
-
-=cut
-
-sub find_node {
-    my ($self,$node) = @_;
-    my @search;
-    push(@search, @{$self->{-nodes}}) if($self->{-nodes});
-    push(@search, @{$self->{-idx}}) if($self->{-idx});
-    foreach(@search) {
-        if($_->[0] eq $node) {
-            return $_->[1]; # id
-        }
-    }
-    return;
-}
-
-=item $cacheitem-E<gt>idx()
-
-Add an index entry (or a list of them) to the document's index list. Note that
-the order is kept, i.e. start with the first node and end with the last.
-If no argument is given, the current list of index entries is returned in the
-same order the entries have been added.
-An index entry can be any scalar, but usually is a pair of string and
-unique id.
-
-=back
-
-=cut
-
-# The POD index entries
-sub idx {
-    my ($self, at idx) = @_;
-    if(@idx) {
-        push(@{$self->{-idx}}, @idx);
-        return @idx;
-    }
-    else {
-        return @{$self->{-idx}};
-    }
-}
-
-=head1 AUTHOR
-
-Please report bugs using L<http://rt.cpan.org>.
-
-Marek Rouchal E<lt>marekr at cpan.orgE<gt>, borrowing
-a lot of things from L<pod2man> and L<pod2roff> as well as other POD
-processing tools by Tom Christiansen, Brad Appleton and Russ Allbery.
-
-=head1 SEE ALSO
-
-L<pod2man>, L<pod2roff>, L<Pod::Parser>, L<Pod::Checker>,
-L<pod2html>
-
-=cut
-
-1;
+#############################################################################
+# Pod/ParseUtils.pm -- helpers for POD parsing and conversion
+#
+# Copyright (C) 1999-2000 by Marek Rouchal. 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.
+#############################################################################
+
+package Pod::ParseUtils;
+use strict;
+
+use vars qw($VERSION);
+$VERSION = '1.60'; ## Current version of this package
+require  5.005;    ## requires this Perl version or later
+
+=head1 NAME
+
+Pod::ParseUtils - helpers for POD parsing and conversion
+
+=head1 SYNOPSIS
+
+  use Pod::ParseUtils;
+
+  my $list = new Pod::List;
+  my $link = Pod::Hyperlink->new('Pod::Parser');
+
+=head1 DESCRIPTION
+
+B<Pod::ParseUtils> contains a few object-oriented helper packages for
+POD parsing and processing (i.e. in POD formatters and translators).
+
+=cut
+
+#-----------------------------------------------------------------------------
+# Pod::List
+#
+# class to hold POD list info (=over, =item, =back)
+#-----------------------------------------------------------------------------
+
+package Pod::List;
+
+use Carp;
+
+=head2 Pod::List
+
+B<Pod::List> can be used to hold information about POD lists
+(written as =over ... =item ... =back) for further processing.
+The following methods are available:
+
+=over 4
+
+=item Pod::List-E<gt>new()
+
+Create a new list object. Properties may be specified through a hash
+reference like this:
+
+  my $list = Pod::List->new({ -start => $., -indent => 4 });
+
+See the individual methods/properties for details.
+
+=cut
+
+sub new {
+    my $this = shift;
+    my $class = ref($this) || $this;
+    my %params = @_;
+    my $self = {%params};
+    bless $self, $class;
+    $self->initialize();
+    return $self;
+}
+
+sub initialize {
+    my $self = shift;
+    $self->{-file} ||= 'unknown';
+    $self->{-start} ||= 'unknown';
+    $self->{-indent} ||= 4; # perlpod: "should be the default"
+    $self->{_items} = [];
+    $self->{-type} ||= '';
+}
+
+=item $list-E<gt>file()
+
+Without argument, retrieves the file name the list is in. This must
+have been set before by either specifying B<-file> in the B<new()>
+method or by calling the B<file()> method with a scalar argument.
+
+=cut
+
+# The POD file name the list appears in
+sub file {
+   return (@_ > 1) ? ($_[0]->{-file} = $_[1]) : $_[0]->{-file};
+}
+
+=item $list-E<gt>start()
+
+Without argument, retrieves the line number where the list started.
+This must have been set before by either specifying B<-start> in the
+B<new()> method or by calling the B<start()> method with a scalar
+argument.
+
+=cut
+
+# The line in the file the node appears
+sub start {
+   return (@_ > 1) ? ($_[0]->{-start} = $_[1]) : $_[0]->{-start};
+}
+
+=item $list-E<gt>indent()
+
+Without argument, retrieves the indent level of the list as specified
+in C<=over n>. This must have been set before by either specifying
+B<-indent> in the B<new()> method or by calling the B<indent()> method
+with a scalar argument.
+
+=cut
+
+# indent level
+sub indent {
+   return (@_ > 1) ? ($_[0]->{-indent} = $_[1]) : $_[0]->{-indent};
+}
+
+=item $list-E<gt>type()
+
+Without argument, retrieves the list type, which can be an arbitrary value,
+e.g. C<OL>, C<UL>, ... when thinking the HTML way.
+This must have been set before by either specifying
+B<-type> in the B<new()> method or by calling the B<type()> method
+with a scalar argument.
+
+=cut
+
+# The type of the list (UL, OL, ...)
+sub type {
+   return (@_ > 1) ? ($_[0]->{-type} = $_[1]) : $_[0]->{-type};
+}
+
+=item $list-E<gt>rx()
+
+Without argument, retrieves a regular expression for simplifying the 
+individual item strings once the list type has been determined. Usage:
+E.g. when converting to HTML, one might strip the leading number in
+an ordered list as C<E<lt>OLE<gt>> already prints numbers itself.
+This must have been set before by either specifying
+B<-rx> in the B<new()> method or by calling the B<rx()> method
+with a scalar argument.
+
+=cut
+
+# The regular expression to simplify the items
+sub rx {
+   return (@_ > 1) ? ($_[0]->{-rx} = $_[1]) : $_[0]->{-rx};
+}
+
+=item $list-E<gt>item()
+
+Without argument, retrieves the array of the items in this list.
+The items may be represented by any scalar.
+If an argument has been given, it is pushed on the list of items.
+
+=cut
+
+# The individual =items of this list
+sub item {
+    my ($self,$item) = @_;
+    if(defined $item) {
+        push(@{$self->{_items}}, $item);
+        return $item;
+    }
+    else {
+        return @{$self->{_items}};
+    }
+}
+
+=item $list-E<gt>parent()
+
+Without argument, retrieves information about the parent holding this
+list, which is represented as an arbitrary scalar.
+This must have been set before by either specifying
+B<-parent> in the B<new()> method or by calling the B<parent()> method
+with a scalar argument.
+
+=cut
+
+# possibility for parsers/translators to store information about the
+# lists's parent object
+sub parent {
+   return (@_ > 1) ? ($_[0]->{-parent} = $_[1]) : $_[0]->{-parent};
+}
+
+=item $list-E<gt>tag()
+
+Without argument, retrieves information about the list tag, which can be
+any scalar.
+This must have been set before by either specifying
+B<-tag> in the B<new()> method or by calling the B<tag()> method
+with a scalar argument.
+
+=back
+
+=cut
+
+# possibility for parsers/translators to store information about the
+# list's object
+sub tag {
+   return (@_ > 1) ? ($_[0]->{-tag} = $_[1]) : $_[0]->{-tag};
+}
+
+#-----------------------------------------------------------------------------
+# Pod::Hyperlink
+#
+# class to manipulate POD hyperlinks (L<>)
+#-----------------------------------------------------------------------------
+
+package Pod::Hyperlink;
+
+=head2 Pod::Hyperlink
+
+B<Pod::Hyperlink> is a class for manipulation of POD hyperlinks. Usage:
+
+  my $link = Pod::Hyperlink->new('alternative text|page/"section in page"');
+
+The B<Pod::Hyperlink> class is mainly designed to parse the contents of the
+C<LE<lt>...E<gt>> sequence, providing a simple interface for accessing the
+different parts of a POD hyperlink for further processing. It can also be
+used to construct hyperlinks.
+
+=over 4
+
+=item Pod::Hyperlink-E<gt>new()
+
+The B<new()> method can either be passed a set of key/value pairs or a single
+scalar value, namely the contents of a C<LE<lt>...E<gt>> sequence. An object
+of the class C<Pod::Hyperlink> is returned. The value C<undef> indicates a
+failure, the error message is stored in C<$@>.
+
+=cut
+
+use Carp;
+
+sub new {
+    my $this = shift;
+    my $class = ref($this) || $this;
+    my $self = +{};
+    bless $self, $class;
+    $self->initialize();
+    if(defined $_[0]) {
+        if(ref($_[0])) {
+            # called with a list of parameters
+            %$self = %{$_[0]};
+            $self->_construct_text();
+        }
+        else {
+            # called with L<> contents
+            return unless($self->parse($_[0]));
+        }
+    }
+    return $self;
+}
+
+sub initialize {
+    my $self = shift;
+    $self->{-line} ||= 'undef';
+    $self->{-file} ||= 'undef';
+    $self->{-page} ||= '';
+    $self->{-node} ||= '';
+    $self->{-alttext} ||= '';
+    $self->{-type} ||= 'undef';
+    $self->{_warnings} = [];
+}
+
+=item $link-E<gt>parse($string)
+
+This method can be used to (re)parse a (new) hyperlink, i.e. the contents
+of a C<LE<lt>...E<gt>> sequence. The result is stored in the current object.
+Warnings are stored in the B<warnings> property.
+E.g. sections like C<LE<lt>open(2)E<gt>> are deprecated, as they do not point
+to Perl documents. C<LE<lt>DBI::foo(3p)E<gt>> is wrong as well, the manpage
+section can simply be dropped.
+
+=cut
+
+sub parse {
+    my $self = shift;
+    local($_) = $_[0];
+    # syntax check the link and extract destination
+    my ($alttext,$page,$node,$type,$quoted) = (undef,'','','',0);
+
+    $self->{_warnings} = [];
+
+    # collapse newlines with whitespace
+    s/\s*\n+\s*/ /g;
+
+    # strip leading/trailing whitespace
+    if(s/^[\s\n]+//) {
+        $self->warning('ignoring leading whitespace in link');
+    }
+    if(s/[\s\n]+$//) {
+        $self->warning('ignoring trailing whitespace in link');
+    }
+    unless(length($_)) {
+        _invalid_link('empty link');
+        return;
+    }
+
+    ## Check for different possibilities. This is tedious and error-prone
+    # we match all possibilities (alttext, page, section/item)
+    #warn "DEBUG: link=$_\n";
+
+    # only page
+    # problem: a lot of people use (), or (1) or the like to indicate
+    # man page sections. But this collides with L<func()> that is supposed
+    # to point to an internal funtion...
+    my $page_rx = '[\w.-]+(?:::[\w.-]+)*(?:[(](?:\d\w*|)[)]|)';
+    # page name only
+    if(/^($page_rx)$/o) {
+        $page = $1;
+        $type = 'page';
+    }
+    # alttext, page and "section"
+    elsif(m{^(.*?)\s*[|]\s*($page_rx)\s*/\s*"(.+)"$}o) {
+        ($alttext, $page, $node) = ($1, $2, $3);
+        $type = 'section';
+        $quoted = 1; #... therefore | and / are allowed
+    }
+    # alttext and page
+    elsif(/^(.*?)\s*[|]\s*($page_rx)$/o) {
+        ($alttext, $page) = ($1, $2);
+        $type = 'page';
+    }
+    # alttext and "section"
+    elsif(m{^(.*?)\s*[|]\s*(?:/\s*|)"(.+)"$}) {
+        ($alttext, $node) = ($1,$2);
+        $type = 'section';
+        $quoted = 1;
+    }
+    # page and "section"
+    elsif(m{^($page_rx)\s*/\s*"(.+)"$}o) {
+        ($page, $node) = ($1, $2);
+        $type = 'section';
+        $quoted = 1;
+    }
+    # page and item
+    elsif(m{^($page_rx)\s*/\s*(.+)$}o) {
+        ($page, $node) = ($1, $2);
+        $type = 'item';
+    }
+    # only "section"
+    elsif(m{^/?"(.+)"$}) {
+        $node = $1;
+        $type = 'section';
+        $quoted = 1;
+    }
+    # only item
+    elsif(m{^\s*/(.+)$}) {
+        $node = $1;
+        $type = 'item';
+    }
+
+    # non-standard: Hyperlink with alt-text - doesn't remove protocol prefix, maybe it should?
+    elsif(/^ \s* (.*?) \s* [|] \s* (\w+:[^:\s] [^\s|]*?) \s* $/ix) {
+      ($alttext,$node) = ($1,$2);
+      $type = 'hyperlink';
+    }
+
+    # non-standard: Hyperlink
+    elsif(/^(\w+:[^:\s]\S*)$/i) {
+        $node = $1;
+        $type = 'hyperlink';
+    }
+    # alttext, page and item
+    elsif(m{^(.*?)\s*[|]\s*($page_rx)\s*/\s*(.+)$}o) {
+        ($alttext, $page, $node) = ($1, $2, $3);
+        $type = 'item';
+    }
+    # alttext and item
+    elsif(m{^(.*?)\s*[|]\s*/(.+)$}) {
+        ($alttext, $node) = ($1,$2);
+    }
+    # must be an item or a "malformed" section (without "")
+    else {
+        $node = $_;
+        $type = 'item';
+    }
+    # collapse whitespace in nodes
+    $node =~ s/\s+/ /gs;
+
+    # empty alternative text expands to node name
+    if(defined $alttext) {
+        if(!length($alttext)) {
+          $alttext = $node || $page;
+        }
+    }
+    else {
+        $alttext = '';
+    }
+
+    if($page =~ /[(]\w*[)]$/) {
+        $self->warning("(section) in '$page' deprecated");
+    }
+    if(!$quoted && $node =~ m{[|/]} && $type ne 'hyperlink') {
+        $self->warning("node '$node' contains non-escaped | or /");
+    }
+    if($alttext =~ m{[|/]}) {
+        $self->warning("alternative text '$node' contains non-escaped | or /");
+    }
+    $self->{-page} = $page;
+    $self->{-node} = $node;
+    $self->{-alttext} = $alttext;
+    #warn "DEBUG: page=$page section=$section item=$item alttext=$alttext\n";
+    $self->{-type} = $type;
+    $self->_construct_text();
+    1;
+}
+
+sub _construct_text {
+    my $self = shift;
+    my $alttext = $self->alttext();
+    my $type = $self->type();
+    my $section = $self->node();
+    my $page = $self->page();
+    my $page_ext = '';
+    $page =~ s/([(]\w*[)])$// && ($page_ext = $1);
+    if($alttext) {
+        $self->{_text} = $alttext;
+    }
+    elsif($type eq 'hyperlink') {
+        $self->{_text} = $section;
+    }
+    else {
+        $self->{_text} = ($section || '') .
+            (($page && $section) ? ' in ' : '') .
+            "$page$page_ext";
+    }
+    # for being marked up later
+    # use the non-standard markers P<> and Q<>, so that the resulting
+    # text can be parsed by the translators. It's their job to put
+    # the correct hypertext around the linktext
+    if($alttext) {
+        $self->{_markup} = "Q<$alttext>";
+    }
+    elsif($type eq 'hyperlink') {
+        $self->{_markup} = "Q<$section>";
+    }
+    else {
+        $self->{_markup} = (!$section ? '' : "Q<$section>") .
+            ($page ? ($section ? ' in ':'') . "P<$page>$page_ext" : '');
+    }
+}
+
+=item $link-E<gt>markup($string)
+
+Set/retrieve the textual value of the link. This string contains special
+markers C<PE<lt>E<gt>> and C<QE<lt>E<gt>> that should be expanded by the
+translator's interior sequence expansion engine to the
+formatter-specific code to highlight/activate the hyperlink. The details
+have to be implemented in the translator.
+
+=cut
+
+#' retrieve/set markuped text
+sub markup {
+    return (@_ > 1) ? ($_[0]->{_markup} = $_[1]) : $_[0]->{_markup};
+}
+
+=item $link-E<gt>text()
+
+This method returns the textual representation of the hyperlink as above,
+but without markers (read only). Depending on the link type this is one of
+the following alternatives (the + and * denote the portions of the text
+that are marked up):
+
+  +perl+                    L<perl>
+  *$|* in +perlvar+         L<perlvar/$|>
+  *OPTIONS* in +perldoc+    L<perldoc/"OPTIONS">
+  *DESCRIPTION*             L<"DESCRIPTION">
+
+=cut
+
+# The complete link's text
+sub text {
+    return $_[0]->{_text};
+}
+
+=item $link-E<gt>warning()
+
+After parsing, this method returns any warnings encountered during the
+parsing process.
+
+=cut
+
+# Set/retrieve warnings
+sub warning {
+    my $self = shift;
+    if(@_) {
+        push(@{$self->{_warnings}}, @_);
+        return @_;
+    }
+    return @{$self->{_warnings}};
+}
+
+=item $link-E<gt>file()
+
+=item $link-E<gt>line()
+
+Just simple slots for storing information about the line and the file
+the link was encountered in. Has to be filled in manually.
+
+=cut
+
+# The line in the file the link appears
+sub line {
+    return (@_ > 1) ? ($_[0]->{-line} = $_[1]) : $_[0]->{-line};
+}
+
+# The POD file name the link appears in
+sub file {
+    return (@_ > 1) ? ($_[0]->{-file} = $_[1]) : $_[0]->{-file};
+}
+
+=item $link-E<gt>page()
+
+This method sets or returns the POD page this link points to.
+
+=cut
+
+# The POD page the link appears on
+sub page {
+    if (@_ > 1) {
+        $_[0]->{-page} = $_[1];
+        $_[0]->_construct_text();
+    }
+    return $_[0]->{-page};
+}
+
+=item $link-E<gt>node()
+
+As above, but the destination node text of the link.
+
+=cut
+
+# The link destination
+sub node {
+    if (@_ > 1) {
+        $_[0]->{-node} = $_[1];
+        $_[0]->_construct_text();
+    }
+    return $_[0]->{-node};
+}
+
+=item $link-E<gt>alttext()
+
+Sets or returns an alternative text specified in the link.
+
+=cut
+
+# Potential alternative text
+sub alttext {
+    if (@_ > 1) {
+        $_[0]->{-alttext} = $_[1];
+        $_[0]->_construct_text();
+    }
+    return $_[0]->{-alttext};
+}
+
+=item $link-E<gt>type()
+
+The node type, either C<section> or C<item>. As an unofficial type,
+there is also C<hyperlink>, derived from e.g. C<LE<lt>http://perl.comE<gt>>
+
+=cut
+
+# The type: item or headn
+sub type {
+    return (@_ > 1) ? ($_[0]->{-type} = $_[1]) : $_[0]->{-type};
+}
+
+=item $link-E<gt>link()
+
+Returns the link as contents of C<LE<lt>E<gt>>. Reciprocal to B<parse()>.
+
+=back
+
+=cut
+
+# The link itself
+sub link {
+    my $self = shift;
+    my $link = $self->page() || '';
+    if($self->node()) {
+        my $node = $self->node();
+        $node =~ s/\|/E<verbar>/g;
+        $node =~ s{/}{E<sol>}g;
+        if($self->type() eq 'section') {
+            $link .= ($link ? '/' : '') . '"' . $node . '"';
+        }
+        elsif($self->type() eq 'hyperlink') {
+            $link = $self->node();
+        }
+        else { # item
+            $link .= '/' . $node;
+        }
+    }
+    if($self->alttext()) {
+        my $text = $self->alttext();
+        $text =~ s/\|/E<verbar>/g;
+        $text =~ s{/}{E<sol>}g;
+        $link = "$text|$link";
+    }
+    return $link;
+}
+
+sub _invalid_link {
+    my ($msg) = @_;
+    # this sets @_
+    #eval { die "$msg\n" };
+    #chomp $@;
+    $@ = $msg; # this seems to work, too!
+    return;
+}
+
+#-----------------------------------------------------------------------------
+# Pod::Cache
+#
+# class to hold POD page details
+#-----------------------------------------------------------------------------
+
+package Pod::Cache;
+
+=head2 Pod::Cache
+
+B<Pod::Cache> holds information about a set of POD documents,
+especially the nodes for hyperlinks.
+The following methods are available:
+
+=over 4
+
+=item Pod::Cache-E<gt>new()
+
+Create a new cache object. This object can hold an arbitrary number of
+POD documents of class Pod::Cache::Item.
+
+=cut
+
+sub new {
+    my $this = shift;
+    my $class = ref($this) || $this;
+    my $self = [];
+    bless $self, $class;
+    return $self;
+}
+
+=item $cache-E<gt>item()
+
+Add a new item to the cache. Without arguments, this method returns a
+list of all cache elements.
+
+=cut
+
+sub item {
+    my ($self,%param) = @_;
+    if(%param) {
+        my $item = Pod::Cache::Item->new(%param);
+        push(@$self, $item);
+        return $item;
+    }
+    else {
+        return @{$self};
+    }
+}
+
+=item $cache-E<gt>find_page($name)
+
+Look for a POD document named C<$name> in the cache. Returns the
+reference to the corresponding Pod::Cache::Item object or undef if
+not found.
+
+=back
+
+=cut
+
+sub find_page {
+    my ($self,$page) = @_;
+    foreach(@$self) {
+        if($_->page() eq $page) {
+            return $_;
+        }
+    }
+    return;
+}
+
+package Pod::Cache::Item;
+
+=head2 Pod::Cache::Item
+
+B<Pod::Cache::Item> holds information about individual POD documents,
+that can be grouped in a Pod::Cache object.
+It is intended to hold information about the hyperlink nodes of POD
+documents.
+The following methods are available:
+
+=over 4
+
+=item Pod::Cache::Item-E<gt>new()
+
+Create a new object.
+
+=cut
+
+sub new {
+    my $this = shift;
+    my $class = ref($this) || $this;
+    my %params = @_;
+    my $self = {%params};
+    bless $self, $class;
+    $self->initialize();
+    return $self;
+}
+
+sub initialize {
+    my $self = shift;
+    $self->{-nodes} = [] unless(defined $self->{-nodes});
+}
+
+=item $cacheitem-E<gt>page()
+
+Set/retrieve the POD document name (e.g. "Pod::Parser").
+
+=cut
+
+# The POD page
+sub page {
+   return (@_ > 1) ? ($_[0]->{-page} = $_[1]) : $_[0]->{-page};
+}
+
+=item $cacheitem-E<gt>description()
+
+Set/retrieve the POD short description as found in the C<=head1 NAME>
+section.
+
+=cut
+
+# The POD description, taken out of NAME if present
+sub description {
+   return (@_ > 1) ? ($_[0]->{-description} = $_[1]) : $_[0]->{-description};
+}
+
+=item $cacheitem-E<gt>path()
+
+Set/retrieve the POD file storage path.
+
+=cut
+
+# The file path
+sub path {
+   return (@_ > 1) ? ($_[0]->{-path} = $_[1]) : $_[0]->{-path};
+}
+
+=item $cacheitem-E<gt>file()
+
+Set/retrieve the POD file name.
+
+=cut
+
+# The POD file name
+sub file {
+   return (@_ > 1) ? ($_[0]->{-file} = $_[1]) : $_[0]->{-file};
+}
+
+=item $cacheitem-E<gt>nodes()
+
+Add a node (or a list of nodes) to the document's node list. Note that
+the order is kept, i.e. start with the first node and end with the last.
+If no argument is given, the current list of nodes is returned in the
+same order the nodes have been added.
+A node can be any scalar, but usually is a pair of node string and
+unique id for the C<find_node> method to work correctly.
+
+=cut
+
+# The POD nodes
+sub nodes {
+    my ($self, at nodes) = @_;
+    if(@nodes) {
+        push(@{$self->{-nodes}}, @nodes);
+        return @nodes;
+    }
+    else {
+        return @{$self->{-nodes}};
+    }
+}
+
+=item $cacheitem-E<gt>find_node($name)
+
+Look for a node or index entry named C<$name> in the object.
+Returns the unique id of the node (i.e. the second element of the array
+stored in the node array) or undef if not found.
+
+=cut
+
+sub find_node {
+    my ($self,$node) = @_;
+    my @search;
+    push(@search, @{$self->{-nodes}}) if($self->{-nodes});
+    push(@search, @{$self->{-idx}}) if($self->{-idx});
+    foreach(@search) {
+        if($_->[0] eq $node) {
+            return $_->[1]; # id
+        }
+    }
+    return;
+}
+
+=item $cacheitem-E<gt>idx()
+
+Add an index entry (or a list of them) to the document's index list. Note that
+the order is kept, i.e. start with the first node and end with the last.
+If no argument is given, the current list of index entries is returned in the
+same order the entries have been added.
+An index entry can be any scalar, but usually is a pair of string and
+unique id.
+
+=back
+
+=cut
+
+# The POD index entries
+sub idx {
+    my ($self, at idx) = @_;
+    if(@idx) {
+        push(@{$self->{-idx}}, @idx);
+        return @idx;
+    }
+    else {
+        return @{$self->{-idx}};
+    }
+}
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Marek Rouchal E<lt>marekr at cpan.orgE<gt>, borrowing
+a lot of things from L<pod2man> and L<pod2roff> as well as other POD
+processing tools by Tom Christiansen, Brad Appleton and Russ Allbery.
+
+B<Pod::ParseUtils> is part of the L<Pod::Parser> distribution.
+
+=head1 SEE ALSO
+
+L<pod2man>, L<pod2roff>, L<Pod::Parser>, L<Pod::Checker>,
+L<pod2html>
+
+=cut
+
+1;


Property changes on: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/ParseUtils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Parser.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Parser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Parser.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,1829 +1,1836 @@
-#############################################################################
-# Pod/Parser.pm -- package which defines a base class for parsing 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.
-#############################################################################
-
-package Pod::Parser;
-use strict;
-
-## These "variables" are used as local "glob aliases" for performance
-use vars qw($VERSION @ISA %myData %myOpts @input_stack);
-$VERSION = '1.37';  ## Current version of this package
-require  5.005;    ## requires this Perl version or later
-
-#############################################################################
-
-=head1 NAME
-
-Pod::Parser - base class for creating POD filters and translators
-
-=head1 SYNOPSIS
-
-    use Pod::Parser;
-
-    package MyParser;
-    @ISA = qw(Pod::Parser);
-
-    sub command { 
-        my ($parser, $command, $paragraph, $line_num) = @_;
-        ## Interpret the command and its text; sample actions might be:
-        if ($command eq 'head1') { ... }
-        elsif ($command eq 'head2') { ... }
-        ## ... other commands and their actions
-        my $out_fh = $parser->output_handle();
-        my $expansion = $parser->interpolate($paragraph, $line_num);
-        print $out_fh $expansion;
-    }
-
-    sub verbatim { 
-        my ($parser, $paragraph, $line_num) = @_;
-        ## Format verbatim paragraph; sample actions might be:
-        my $out_fh = $parser->output_handle();
-        print $out_fh $paragraph;
-    }
-
-    sub textblock { 
-        my ($parser, $paragraph, $line_num) = @_;
-        ## Translate/Format this block of text; sample actions might be:
-        my $out_fh = $parser->output_handle();
-        my $expansion = $parser->interpolate($paragraph, $line_num);
-        print $out_fh $expansion;
-    }
-
-    sub interior_sequence { 
-        my ($parser, $seq_command, $seq_argument) = @_;
-        ## Expand an interior sequence; sample actions might be:
-        return "*$seq_argument*"     if ($seq_command eq 'B');
-        return "`$seq_argument'"     if ($seq_command eq 'C');
-        return "_${seq_argument}_'"  if ($seq_command eq 'I');
-        ## ... other sequence commands and their resulting text
-    }
-
-    package main;
-
-    ## Create a parser object and have it parse file whose name was
-    ## given on the command-line (use STDIN if no files were given).
-    $parser = new MyParser();
-    $parser->parse_from_filehandle(\*STDIN)  if (@ARGV == 0);
-    for (@ARGV) { $parser->parse_from_file($_); }
-
-=head1 REQUIRES
-
-perl5.005, Pod::InputObjects, Exporter, Symbol, Carp
-
-=head1 EXPORTS
-
-Nothing.
-
-=head1 DESCRIPTION
-
-B<Pod::Parser> is a base class for creating POD filters and translators.
-It handles most of the effort involved with parsing the POD sections
-from an input stream, leaving subclasses free to be concerned only with
-performing the actual translation of text.
-
-B<Pod::Parser> parses PODs, and makes method calls to handle the various
-components of the POD. Subclasses of B<Pod::Parser> override these methods
-to translate the POD into whatever output format they desire.
-
-=head1 QUICK OVERVIEW
-
-To create a POD filter for translating POD documentation into some other
-format, you create a subclass of B<Pod::Parser> which typically overrides
-just the base class implementation for the following methods:
-
-=over 2
-
-=item *
-
-B<command()>
-
-=item *
-
-B<verbatim()>
-
-=item *
-
-B<textblock()>
-
-=item *
-
-B<interior_sequence()>
-
-=back
-
-You may also want to override the B<begin_input()> and B<end_input()>
-methods for your subclass (to perform any needed per-file and/or
-per-document initialization or cleanup).
-
-If you need to perform any preprocessing of input before it is parsed
-you may want to override one or more of B<preprocess_line()> and/or
-B<preprocess_paragraph()>.
-
-Sometimes it may be necessary to make more than one pass over the input
-files. If this is the case you have several options. You can make the
-first pass using B<Pod::Parser> and override your methods to store the
-intermediate results in memory somewhere for the B<end_pod()> method to
-process. You could use B<Pod::Parser> for several passes with an
-appropriate state variable to control the operation for each pass. If
-your input source can't be reset to start at the beginning, you can
-store it in some other structure as a string or an array and have that
-structure implement a B<getline()> method (which is all that
-B<parse_from_filehandle()> uses to read input).
-
-Feel free to add any member data fields you need to keep track of things
-like current font, indentation, horizontal or vertical position, or
-whatever else you like. Be sure to read L<"PRIVATE METHODS AND DATA">
-to avoid name collisions.
-
-For the most part, the B<Pod::Parser> base class should be able to
-do most of the input parsing for you and leave you free to worry about
-how to interpret the commands and translate the result.
-
-Note that all we have described here in this quick overview is the
-simplest most straightforward use of B<Pod::Parser> to do stream-based
-parsing. It is also possible to use the B<Pod::Parser::parse_text> function
-to do more sophisticated tree-based parsing. See L<"TREE-BASED PARSING">.
-
-=head1 PARSING OPTIONS
-
-A I<parse-option> is simply a named option of B<Pod::Parser> with a
-value that corresponds to a certain specified behavior. These various
-behaviors of B<Pod::Parser> may be enabled/disabled by setting
-or unsetting one or more I<parse-options> using the B<parseopts()> method.
-The set of currently accepted parse-options is as follows:
-
-=over 3
-
-=item B<-want_nonPODs> (default: unset)
-
-Normally (by default) B<Pod::Parser> will only provide access to
-the POD sections of the input. Input paragraphs that are not part
-of the POD-format documentation are not made available to the caller
-(not even using B<preprocess_paragraph()>). Setting this option to a
-non-empty, non-zero value will allow B<preprocess_paragraph()> to see
-non-POD sections of the input as well as POD sections. The B<cutting()>
-method can be used to determine if the corresponding paragraph is a POD
-paragraph, or some other input paragraph.
-
-=item B<-process_cut_cmd> (default: unset)
-
-Normally (by default) B<Pod::Parser> handles the C<=cut> POD directive
-by itself and does not pass it on to the caller for processing. Setting
-this option to a non-empty, non-zero value will cause B<Pod::Parser> to
-pass the C<=cut> directive to the caller just like any other POD command
-(and hence it may be processed by the B<command()> method).
-
-B<Pod::Parser> will still interpret the C<=cut> directive to mean that
-"cutting mode" has been (re)entered, but the caller will get a chance
-to capture the actual C<=cut> paragraph itself for whatever purpose
-it desires.
-
-=item B<-warnings> (default: unset)
-
-Normally (by default) B<Pod::Parser> recognizes a bare minimum of
-pod syntax errors and warnings and issues diagnostic messages
-for errors, but not for warnings. (Use B<Pod::Checker> to do more
-thorough checking of POD syntax.) Setting this option to a non-empty,
-non-zero value will cause B<Pod::Parser> to issue diagnostics for
-the few warnings it recognizes as well as the errors.
-
-=back
-
-Please see L<"parseopts()"> for a complete description of the interface
-for the setting and unsetting of parse-options.
-
-=cut
-
-#############################################################################
-
-#use diagnostics;
-use Pod::InputObjects;
-use Carp;
-use Exporter;
-BEGIN {
-   if ($] < 5.006) {
-      require Symbol;
-      import Symbol;
-   }
-}
- at ISA = qw(Exporter);
-
-#############################################################################
-
-=head1 RECOMMENDED SUBROUTINE/METHOD OVERRIDES
-
-B<Pod::Parser> provides several methods which most subclasses will probably
-want to override. These methods are as follows:
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=head1 B<command()>
-
-            $parser->command($cmd,$text,$line_num,$pod_para);
-
-This method should be overridden by subclasses to take the appropriate
-action when a POD command paragraph (denoted by a line beginning with
-"=") is encountered. When such a POD directive is seen in the input,
-this method is called and is passed:
-
-=over 3
-
-=item C<$cmd>
-
-the name of the command for this POD paragraph
-
-=item C<$text>
-
-the paragraph text for the given POD paragraph command.
-
-=item C<$line_num>
-
-the line-number of the beginning of the paragraph
-
-=item C<$pod_para>
-
-a reference to a C<Pod::Paragraph> object which contains further
-information about the paragraph command (see L<Pod::InputObjects>
-for details).
-
-=back
-
-B<Note> that this method I<is> called for C<=pod> paragraphs.
-
-The base class implementation of this method simply treats the raw POD
-command as normal block of paragraph text (invoking the B<textblock()>
-method with the command paragraph).
-
-=cut
-
-sub command {
-    my ($self, $cmd, $text, $line_num, $pod_para)  = @_;
-    ## Just treat this like a textblock
-    $self->textblock($pod_para->raw_text(), $line_num, $pod_para);
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<verbatim()>
-
-            $parser->verbatim($text,$line_num,$pod_para);
-
-This method may be overridden by subclasses to take the appropriate
-action when a block of verbatim text is encountered. It is passed the
-following parameters:
-
-=over 3
-
-=item C<$text>
-
-the block of text for the verbatim paragraph
-
-=item C<$line_num>
-
-the line-number of the beginning of the paragraph
-
-=item C<$pod_para>
-
-a reference to a C<Pod::Paragraph> object which contains further
-information about the paragraph (see L<Pod::InputObjects>
-for details).
-
-=back
-
-The base class implementation of this method simply prints the textblock
-(unmodified) to the output filehandle.
-
-=cut
-
-sub verbatim {
-    my ($self, $text, $line_num, $pod_para) = @_;
-    my $out_fh = $self->{_OUTPUT};
-    print $out_fh $text;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<textblock()>
-
-            $parser->textblock($text,$line_num,$pod_para);
-
-This method may be overridden by subclasses to take the appropriate
-action when a normal block of POD text is encountered (although the base
-class method will usually do what you want). It is passed the following
-parameters:
-
-=over 3
-
-=item C<$text>
-
-the block of text for the a POD paragraph
-
-=item C<$line_num>
-
-the line-number of the beginning of the paragraph
-
-=item C<$pod_para>
-
-a reference to a C<Pod::Paragraph> object which contains further
-information about the paragraph (see L<Pod::InputObjects>
-for details).
-
-=back
-
-In order to process interior sequences, subclasses implementations of
-this method will probably want to invoke either B<interpolate()> or
-B<parse_text()>, passing it the text block C<$text>, and the corresponding
-line number in C<$line_num>, and then perform any desired processing upon
-the returned result.
-
-The base class implementation of this method simply prints the text block
-as it occurred in the input stream).
-
-=cut
-
-sub textblock {
-    my ($self, $text, $line_num, $pod_para) = @_;
-    my $out_fh = $self->{_OUTPUT};
-    print $out_fh $self->interpolate($text, $line_num);
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<interior_sequence()>
-
-            $parser->interior_sequence($seq_cmd,$seq_arg,$pod_seq);
-
-This method should be overridden by subclasses to take the appropriate
-action when an interior sequence is encountered. An interior sequence is
-an embedded command within a block of text which appears as a command
-name (usually a single uppercase character) followed immediately by a
-string of text which is enclosed in angle brackets. This method is
-passed the sequence command C<$seq_cmd> and the corresponding text
-C<$seq_arg>. It is invoked by the B<interpolate()> method for each interior
-sequence that occurs in the string that it is passed. It should return
-the desired text string to be used in place of the interior sequence.
-The C<$pod_seq> argument is a reference to a C<Pod::InteriorSequence>
-object which contains further information about the interior sequence.
-Please see L<Pod::InputObjects> for details if you need to access this
-additional information.
-
-Subclass implementations of this method may wish to invoke the 
-B<nested()> method of C<$pod_seq> to see if it is nested inside
-some other interior-sequence (and if so, which kind).
-
-The base class implementation of the B<interior_sequence()> method
-simply returns the raw text of the interior sequence (as it occurred
-in the input) to the caller.
-
-=cut
-
-sub interior_sequence {
-    my ($self, $seq_cmd, $seq_arg, $pod_seq) = @_;
-    ## Just return the raw text of the interior sequence
-    return  $pod_seq->raw_text();
-}
-
-#############################################################################
-
-=head1 OPTIONAL SUBROUTINE/METHOD OVERRIDES
-
-B<Pod::Parser> provides several methods which subclasses may want to override
-to perform any special pre/post-processing. These methods do I<not> have to
-be overridden, but it may be useful for subclasses to take advantage of them.
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=head1 B<new()>
-
-            my $parser = Pod::Parser->new();
-
-This is the constructor for B<Pod::Parser> and its subclasses. You
-I<do not> need to override this method! It is capable of constructing
-subclass objects as well as base class objects, provided you use
-any of the following constructor invocation styles:
-
-    my $parser1 = MyParser->new();
-    my $parser2 = new MyParser();
-    my $parser3 = $parser2->new();
-
-where C<MyParser> is some subclass of B<Pod::Parser>.
-
-Using the syntax C<MyParser::new()> to invoke the constructor is I<not>
-recommended, but if you insist on being able to do this, then the
-subclass I<will> need to override the B<new()> constructor method. If
-you do override the constructor, you I<must> be sure to invoke the
-B<initialize()> method of the newly blessed object.
-
-Using any of the above invocations, the first argument to the
-constructor is always the corresponding package name (or object
-reference). No other arguments are required, but if desired, an
-associative array (or hash-table) my be passed to the B<new()>
-constructor, as in:
-
-    my $parser1 = MyParser->new( MYDATA => $value1, MOREDATA => $value2 );
-    my $parser2 = new MyParser( -myflag => 1 );
-
-All arguments passed to the B<new()> constructor will be treated as
-key/value pairs in a hash-table. The newly constructed object will be
-initialized by copying the contents of the given hash-table (which may
-have been empty). The B<new()> constructor for this class and all of its
-subclasses returns a blessed reference to the initialized object (hash-table).
-
-=cut
-
-sub new {
-    ## Determine if we were called via an object-ref or a classname
-    my ($this,%params) = @_;
-    my $class = ref($this) || $this;
-    ## Any remaining arguments are treated as initial values for the
-    ## hash that is used to represent this object.
-    my $self = { %params };
-    ## Bless ourselves into the desired class and perform any initialization
-    bless $self, $class;
-    $self->initialize();
-    return $self;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<initialize()>
-
-            $parser->initialize();
-
-This method performs any necessary object initialization. It takes no
-arguments (other than the object instance of course, which is typically
-copied to a local variable named C<$self>). If subclasses override this
-method then they I<must> be sure to invoke C<$self-E<gt>SUPER::initialize()>.
-
-=cut
-
-sub initialize {
-    #my $self = shift;
-    #return;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<begin_pod()>
-
-            $parser->begin_pod();
-
-This method is invoked at the beginning of processing for each POD
-document that is encountered in the input. Subclasses should override
-this method to perform any per-document initialization.
-
-=cut
-
-sub begin_pod {
-    #my $self = shift;
-    #return;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<begin_input()>
-
-            $parser->begin_input();
-
-This method is invoked by B<parse_from_filehandle()> immediately I<before>
-processing input from a filehandle. The base class implementation does
-nothing, however, subclasses may override it to perform any per-file
-initializations.
-
-Note that if multiple files are parsed for a single POD document
-(perhaps the result of some future C<=include> directive) this method
-is invoked for every file that is parsed. If you wish to perform certain
-initializations once per document, then you should use B<begin_pod()>.
-
-=cut
-
-sub begin_input {
-    #my $self = shift;
-    #return;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<end_input()>
-
-            $parser->end_input();
-
-This method is invoked by B<parse_from_filehandle()> immediately I<after>
-processing input from a filehandle. The base class implementation does
-nothing, however, subclasses may override it to perform any per-file
-cleanup actions.
-
-Please note that if multiple files are parsed for a single POD document
-(perhaps the result of some kind of C<=include> directive) this method
-is invoked for every file that is parsed. If you wish to perform certain
-cleanup actions once per document, then you should use B<end_pod()>.
-
-=cut
-
-sub end_input {
-    #my $self = shift;
-    #return;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<end_pod()>
-
-            $parser->end_pod();
-
-This method is invoked at the end of processing for each POD document
-that is encountered in the input. Subclasses should override this method
-to perform any per-document finalization.
-
-=cut
-
-sub end_pod {
-    #my $self = shift;
-    #return;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<preprocess_line()>
-
-          $textline = $parser->preprocess_line($text, $line_num);
-
-This method should be overridden by subclasses that wish to perform
-any kind of preprocessing for each I<line> of input (I<before> it has
-been determined whether or not it is part of a POD paragraph). The
-parameter C<$text> is the input line; and the parameter C<$line_num> is
-the line number of the corresponding text line.
-
-The value returned should correspond to the new text to use in its
-place.  If the empty string or an undefined value is returned then no
-further processing will be performed for this line.
-
-Please note that the B<preprocess_line()> method is invoked I<before>
-the B<preprocess_paragraph()> method. After all (possibly preprocessed)
-lines in a paragraph have been assembled together and it has been
-determined that the paragraph is part of the POD documentation from one
-of the selected sections, then B<preprocess_paragraph()> is invoked.
-
-The base class implementation of this method returns the given text.
-
-=cut
-
-sub preprocess_line {
-    my ($self, $text, $line_num) = @_;
-    return  $text;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<preprocess_paragraph()>
-
-            $textblock = $parser->preprocess_paragraph($text, $line_num);
-
-This method should be overridden by subclasses that wish to perform any
-kind of preprocessing for each block (paragraph) of POD documentation
-that appears in the input stream. The parameter C<$text> is the POD
-paragraph from the input file; and the parameter C<$line_num> is the
-line number for the beginning of the corresponding paragraph.
-
-The value returned should correspond to the new text to use in its
-place If the empty string is returned or an undefined value is
-returned, then the given C<$text> is ignored (not processed).
-
-This method is invoked after gathering up all the lines in a paragraph
-and after determining the cutting state of the paragraph,
-but before trying to further parse or interpret them. After
-B<preprocess_paragraph()> returns, the current cutting state (which
-is returned by C<$self-E<gt>cutting()>) is examined. If it evaluates
-to true then input text (including the given C<$text>) is cut (not
-processed) until the next POD directive is encountered.
-
-Please note that the B<preprocess_line()> method is invoked I<before>
-the B<preprocess_paragraph()> method. After all (possibly preprocessed)
-lines in a paragraph have been assembled together and either it has been
-determined that the paragraph is part of the POD documentation from one
-of the selected sections or the C<-want_nonPODs> option is true,
-then B<preprocess_paragraph()> is invoked.
-
-The base class implementation of this method returns the given text.
-
-=cut
-
-sub preprocess_paragraph {
-    my ($self, $text, $line_num) = @_;
-    return  $text;
-}
-
-#############################################################################
-
-=head1 METHODS FOR PARSING AND PROCESSING
-
-B<Pod::Parser> provides several methods to process input text. These
-methods typically won't need to be overridden (and in some cases they
-can't be overridden), but subclasses may want to invoke them to exploit
-their functionality.
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=head1 B<parse_text()>
-
-            $ptree1 = $parser->parse_text($text, $line_num);
-            $ptree2 = $parser->parse_text({%opts}, $text, $line_num);
-            $ptree3 = $parser->parse_text(\%opts, $text, $line_num);
-
-This method is useful if you need to perform your own interpolation 
-of interior sequences and can't rely upon B<interpolate> to expand
-them in simple bottom-up order.
-
-The parameter C<$text> is a string or block of text to be parsed
-for interior sequences; and the parameter C<$line_num> is the
-line number corresponding to the beginning of C<$text>.
-
-B<parse_text()> will parse the given text into a parse-tree of "nodes."
-and interior-sequences.  Each "node" in the parse tree is either a
-text-string, or a B<Pod::InteriorSequence>.  The result returned is a
-parse-tree of type B<Pod::ParseTree>. Please see L<Pod::InputObjects>
-for more information about B<Pod::InteriorSequence> and B<Pod::ParseTree>.
-
-If desired, an optional hash-ref may be specified as the first argument
-to customize certain aspects of the parse-tree that is created and
-returned. The set of recognized option keywords are:
-
-=over 3
-
-=item B<-expand_seq> =E<gt> I<code-ref>|I<method-name>
-
-Normally, the parse-tree returned by B<parse_text()> will contain an
-unexpanded C<Pod::InteriorSequence> object for each interior-sequence
-encountered. Specifying B<-expand_seq> tells B<parse_text()> to "expand"
-every interior-sequence it sees by invoking the referenced function
-(or named method of the parser object) and using the return value as the
-expanded result.
-
-If a subroutine reference was given, it is invoked as:
-
-  &$code_ref( $parser, $sequence )
-
-and if a method-name was given, it is invoked as:
-
-  $parser->method_name( $sequence )
-
-where C<$parser> is a reference to the parser object, and C<$sequence>
-is a reference to the interior-sequence object.
-[I<NOTE>: If the B<interior_sequence()> method is specified, then it is
-invoked according to the interface specified in L<"interior_sequence()">].
-
-=item B<-expand_text> =E<gt> I<code-ref>|I<method-name>
-
-Normally, the parse-tree returned by B<parse_text()> will contain a
-text-string for each contiguous sequence of characters outside of an
-interior-sequence. Specifying B<-expand_text> tells B<parse_text()> to
-"preprocess" every such text-string it sees by invoking the referenced
-function (or named method of the parser object) and using the return value
-as the preprocessed (or "expanded") result. [Note that if the result is
-an interior-sequence, then it will I<not> be expanded as specified by the
-B<-expand_seq> option; Any such recursive expansion needs to be handled by
-the specified callback routine.]
-
-If a subroutine reference was given, it is invoked as:
-
-  &$code_ref( $parser, $text, $ptree_node )
-
-and if a method-name was given, it is invoked as:
-
-  $parser->method_name( $text, $ptree_node )
-
-where C<$parser> is a reference to the parser object, C<$text> is the
-text-string encountered, and C<$ptree_node> is a reference to the current
-node in the parse-tree (usually an interior-sequence object or else the
-top-level node of the parse-tree).
-
-=item B<-expand_ptree> =E<gt> I<code-ref>|I<method-name>
-
-Rather than returning a C<Pod::ParseTree>, pass the parse-tree as an
-argument to the referenced subroutine (or named method of the parser
-object) and return the result instead of the parse-tree object.
-
-If a subroutine reference was given, it is invoked as:
-
-  &$code_ref( $parser, $ptree )
-
-and if a method-name was given, it is invoked as:
-
-  $parser->method_name( $ptree )
-
-where C<$parser> is a reference to the parser object, and C<$ptree>
-is a reference to the parse-tree object.
-
-=back
-
-=cut
-
-sub parse_text {
-    my $self = shift;
-    local $_ = '';
-
-    ## Get options and set any defaults
-    my %opts = (ref $_[0]) ? %{ shift() } : ();
-    my $expand_seq   = $opts{'-expand_seq'}   || undef;
-    my $expand_text  = $opts{'-expand_text'}  || undef;
-    my $expand_ptree = $opts{'-expand_ptree'} || undef;
-
-    my $text = shift;
-    my $line = shift;
-    my $file = $self->input_file();
-    my $cmd  = "";
-
-    ## Convert method calls into closures, for our convenience
-    my $xseq_sub   = $expand_seq;
-    my $xtext_sub  = $expand_text;
-    my $xptree_sub = $expand_ptree;
-    if (defined $expand_seq  and  $expand_seq eq 'interior_sequence') {
-        ## If 'interior_sequence' is the method to use, we have to pass
-        ## more than just the sequence object, we also need to pass the
-        ## sequence name and text.
-        $xseq_sub = sub {
-            my ($sself, $iseq) = @_;
-            my $args = join('', $iseq->parse_tree->children);
-            return  $sself->interior_sequence($iseq->name, $args, $iseq);
-        };
-    }
-    ref $xseq_sub    or  $xseq_sub   = sub { shift()->$expand_seq(@_) };
-    ref $xtext_sub   or  $xtext_sub  = sub { shift()->$expand_text(@_) };
-    ref $xptree_sub  or  $xptree_sub = sub { shift()->$expand_ptree(@_) };
-
-    ## Keep track of the "current" interior sequence, and maintain a stack
-    ## of "in progress" sequences.
-    ##
-    ## NOTE that we push our own "accumulator" at the very beginning of the
-    ## stack. It's really a parse-tree, not a sequence; but it implements
-    ## the methods we need so we can use it to gather-up all the sequences
-    ## and strings we parse. Thus, by the end of our parsing, it should be
-    ## the only thing left on our stack and all we have to do is return it!
-    ##
-    my $seq       = Pod::ParseTree->new();
-    my @seq_stack = ($seq);
-    my ($ldelim, $rdelim) = ('', '');
-
-    ## Iterate over all sequence starts text (NOTE: split with
-    ## capturing parens keeps the delimiters)
-    $_ = $text;
-    my @tokens = split /([A-Z]<(?:<+\s)?)/;
-    while ( @tokens ) {
-        $_ = shift @tokens;
-        ## Look for the beginning of a sequence
-        if ( /^([A-Z])(<(?:<+\s)?)$/ ) {
-            ## Push a new sequence onto the stack of those "in-progress"
-            my $ldelim_orig;
-            ($cmd, $ldelim_orig) = ($1, $2);
-            ($ldelim = $ldelim_orig) =~ s/\s+$//;
-            ($rdelim = $ldelim) =~ tr/</>/;
-            $seq = Pod::InteriorSequence->new(
-                       -name   => $cmd,
-                       -ldelim => $ldelim_orig,  -rdelim => $rdelim,
-                       -file   => $file,    -line   => $line
-                   );
-            (@seq_stack > 1)  and  $seq->nested($seq_stack[-1]);
-            push @seq_stack, $seq;
-        }
-        ## Look for sequence ending
-        elsif ( @seq_stack > 1 ) {
-            ## Make sure we match the right kind of closing delimiter
-            my ($seq_end, $post_seq) = ('', '');
-            if ( ($ldelim eq '<'   and  /\A(.*?)(>)/s)
-                 or  /\A(.*?)(\s+$rdelim)/s )
-            {
-                ## Found end-of-sequence, capture the interior and the
-                ## closing the delimiter, and put the rest back on the
-                ## token-list
-                $post_seq = substr($_, length($1) + length($2));
-                ($_, $seq_end) = ($1, $2);
-                (length $post_seq)  and  unshift @tokens, $post_seq;
-            }
-            if (length) {
-                ## In the middle of a sequence, append this text to it, and
-                ## dont forget to "expand" it if that's what the caller wanted
-                $seq->append($expand_text ? &$xtext_sub($self,$_,$seq) : $_);
-                $_ .= $seq_end;
-            }
-            if (length $seq_end) {
-                ## End of current sequence, record terminating delimiter
-                $seq->rdelim($seq_end);
-                ## Pop it off the stack of "in progress" sequences
-                pop @seq_stack;
-                ## Append result to its parent in current parse tree
-                $seq_stack[-1]->append($expand_seq ? &$xseq_sub($self,$seq)
-                                                   : $seq);
-                ## Remember the current cmd-name and left-delimiter
-                if(@seq_stack > 1) {
-                    $cmd = $seq_stack[-1]->name;
-                    $ldelim = $seq_stack[-1]->ldelim;
-                    $rdelim = $seq_stack[-1]->rdelim;
-                } else {
-                    $cmd = $ldelim = $rdelim = '';
-                }
-            }
-        }
-        elsif (length) {
-            ## In the middle of a sequence, append this text to it, and
-            ## dont forget to "expand" it if that's what the caller wanted
-            $seq->append($expand_text ? &$xtext_sub($self,$_,$seq) : $_);
-        }
-        ## Keep track of line count
-        $line += s/\r*\n//;
-        ## Remember the "current" sequence
-        $seq = $seq_stack[-1];
-    }
-
-    ## Handle unterminated sequences
-    my $errorsub = (@seq_stack > 1) ? $self->errorsub() : undef;
-    while (@seq_stack > 1) {
-       ($cmd, $file, $line) = ($seq->name, $seq->file_line);
-       $ldelim  = $seq->ldelim;
-       ($rdelim = $ldelim) =~ tr/</>/;
-       $rdelim  =~ s/^(\S+)(\s*)$/$2$1/;
-       pop @seq_stack;
-       my $errmsg = "*** ERROR: unterminated ${cmd}${ldelim}...${rdelim}".
-                    " at line $line in file $file\n";
-       (ref $errorsub) and &{$errorsub}($errmsg)
-           or (defined $errorsub) and $self->$errorsub($errmsg)
-               or  carp($errmsg);
-       $seq_stack[-1]->append($expand_seq ? &$xseq_sub($self,$seq) : $seq);
-       $seq = $seq_stack[-1];
-    }
-
-    ## Return the resulting parse-tree
-    my $ptree = (pop @seq_stack)->parse_tree;
-    return  $expand_ptree ? &$xptree_sub($self, $ptree) : $ptree;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<interpolate()>
-
-            $textblock = $parser->interpolate($text, $line_num);
-
-This method translates all text (including any embedded interior sequences)
-in the given text string C<$text> and returns the interpolated result. The
-parameter C<$line_num> is the line number corresponding to the beginning
-of C<$text>.
-
-B<interpolate()> merely invokes a private method to recursively expand
-nested interior sequences in bottom-up order (innermost sequences are
-expanded first). If there is a need to expand nested sequences in
-some alternate order, use B<parse_text> instead.
-
-=cut
-
-sub interpolate {
-    my($self, $text, $line_num) = @_;
-    my %parse_opts = ( -expand_seq => 'interior_sequence' );
-    my $ptree = $self->parse_text( \%parse_opts, $text, $line_num );
-    return  join '', $ptree->children();
-}
-
-##---------------------------------------------------------------------------
-
-=begin __PRIVATE__
-
-=head1 B<parse_paragraph()>
-
-            $parser->parse_paragraph($text, $line_num);
-
-This method takes the text of a POD paragraph to be processed, along
-with its corresponding line number, and invokes the appropriate method
-(one of B<command()>, B<verbatim()>, or B<textblock()>).
-
-For performance reasons, this method is invoked directly without any
-dynamic lookup; Hence subclasses may I<not> override it!
-
-=end __PRIVATE__
-
-=cut
-
-sub parse_paragraph {
-    my ($self, $text, $line_num) = @_;
-    local *myData = $self;  ## alias to avoid deref-ing overhead
-    local *myOpts = ($myData{_PARSEOPTS} ||= {});  ## get parse-options
-    local $_;
-
-    ## See if we want to preprocess nonPOD paragraphs as well as POD ones.
-    my $wantNonPods = $myOpts{'-want_nonPODs'};
-
-    ## Update cutting status
-    $myData{_CUTTING} = 0 if $text =~ /^={1,2}\S/;
-
-    ## Perform any desired preprocessing if we wanted it this early
-    $wantNonPods  and  $text = $self->preprocess_paragraph($text, $line_num);
-
-    ## Ignore up until next POD directive if we are cutting
-    return if $myData{_CUTTING};
-
-    ## Now we know this is block of text in a POD section!
-
-    ##-----------------------------------------------------------------
-    ## This is a hook (hack ;-) for Pod::Select to do its thing without
-    ## having to override methods, but also without Pod::Parser assuming
-    ## $self is an instance of Pod::Select (if the _SELECTED_SECTIONS
-    ## field exists then we assume there is an is_selected() method for
-    ## us to invoke (calling $self->can('is_selected') could verify this
-    ## but that is more overhead than I want to incur)
-    ##-----------------------------------------------------------------
-
-    ## Ignore this block if it isnt in one of the selected sections
-    if (exists $myData{_SELECTED_SECTIONS}) {
-        $self->is_selected($text)  or  return ($myData{_CUTTING} = 1);
-    }
-
-    ## If we havent already, perform any desired preprocessing and
-    ## then re-check the "cutting" state
-    unless ($wantNonPods) {
-       $text = $self->preprocess_paragraph($text, $line_num);
-       return 1  unless ((defined $text) and (length $text));
-       return 1  if ($myData{_CUTTING});
-    }
-
-    ## Look for one of the three types of paragraphs
-    my ($pfx, $cmd, $arg, $sep) = ('', '', '', '');
-    my $pod_para = undef;
-    if ($text =~ /^(={1,2})(?=\S)/) {
-        ## Looks like a command paragraph. Capture the command prefix used
-        ## ("=" or "=="), as well as the command-name, its paragraph text,
-        ## and whatever sequence of characters was used to separate them
-        $pfx = $1;
-        $_ = substr($text, length $pfx);
-        ($cmd, $sep, $text) = split /(\s+)/, $_, 2;
-        ## If this is a "cut" directive then we dont need to do anything
-        ## except return to "cutting" mode.
-        if ($cmd eq 'cut') {
-           $myData{_CUTTING} = 1;
-           return  unless $myOpts{'-process_cut_cmd'};
-        }
-    }
-    ## Save the attributes indicating how the command was specified.
-    $pod_para = new Pod::Paragraph(
-          -name      => $cmd,
-          -text      => $text,
-          -prefix    => $pfx,
-          -separator => $sep,
-          -file      => $myData{_INFILE},
-          -line      => $line_num
-    );
-    # ## Invoke appropriate callbacks
-    # if (exists $myData{_CALLBACKS}) {
-    #    ## Look through the callback list, invoke callbacks,
-    #    ## then see if we need to do the default actions
-    #    ## (invoke_callbacks will return true if we do).
-    #    return  1  unless $self->invoke_callbacks($cmd, $text, $line_num, $pod_para);
-    # }
-
-    # If the last paragraph ended in whitespace, and we're not between verbatim blocks, carp
-    if ($myData{_WHITESPACE} and $myOpts{'-warnings'}
-            and not ($text =~ /^\s+/ and ($myData{_PREVIOUS}||"") eq "verbatim")) {
-        my $errorsub = $self->errorsub();
-        my $line = $line_num - 1;
-        my $errmsg = "*** WARNING: line containing nothing but whitespace".
-                     " in paragraph at line $line in file $myData{_INFILE}\n";
-        (ref $errorsub) and &{$errorsub}($errmsg)
-            or (defined $errorsub) and $self->$errorsub($errmsg)
-                or  carp($errmsg);
-    }
-
-    if (length $cmd) {
-        ## A command paragraph
-        $self->command($cmd, $text, $line_num, $pod_para);
-        $myData{_PREVIOUS} = $cmd;
-    }
-    elsif ($text =~ /^\s+/) {
-        ## Indented text - must be a verbatim paragraph
-        $self->verbatim($text, $line_num, $pod_para);
-        $myData{_PREVIOUS} = "verbatim";
-    }
-    else {
-        ## Looks like an ordinary block of text
-        $self->textblock($text, $line_num, $pod_para);
-        $myData{_PREVIOUS} = "textblock";
-    }
-
-    # Update the whitespace for the next time around
-    $myData{_WHITESPACE} = $text =~ /^[^\S\r\n]+\Z/m ? 1 : 0;
-
-    return  1;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<parse_from_filehandle()>
-
-            $parser->parse_from_filehandle($in_fh,$out_fh);
-
-This method takes an input filehandle (which is assumed to already be
-opened for reading) and reads the entire input stream looking for blocks
-(paragraphs) of POD documentation to be processed. If no first argument
-is given the default input filehandle C<STDIN> is used.
-
-The C<$in_fh> parameter may be any object that provides a B<getline()>
-method to retrieve a single line of input text (hence, an appropriate
-wrapper object could be used to parse PODs from a single string or an
-array of strings).
-
-Using C<$in_fh-E<gt>getline()>, input is read line-by-line and assembled
-into paragraphs or "blocks" (which are separated by lines containing
-nothing but whitespace). For each block of POD documentation
-encountered it will invoke a method to parse the given paragraph.
-
-If a second argument is given then it should correspond to a filehandle where
-output should be sent (otherwise the default output filehandle is
-C<STDOUT> if no output filehandle is currently in use).
-
-B<NOTE:> For performance reasons, this method caches the input stream at
-the top of the stack in a local variable. Any attempts by clients to
-change the stack contents during processing when in the midst executing
-of this method I<will not affect> the input stream used by the current
-invocation of this method.
-
-This method does I<not> usually need to be overridden by subclasses.
-
-=cut
-
-sub parse_from_filehandle {
-    my $self = shift;
-    my %opts = (ref $_[0] eq 'HASH') ? %{ shift() } : ();
-    my ($in_fh, $out_fh) = @_;
-    $in_fh = \*STDIN  unless ($in_fh);
-    local *myData = $self;  ## alias to avoid deref-ing overhead
-    local *myOpts = ($myData{_PARSEOPTS} ||= {});  ## get parse-options
-    local $_;
-
-    ## Put this stream at the top of the stack and do beginning-of-input
-    ## processing. NOTE that $in_fh might be reset during this process.
-    my $topstream = $self->_push_input_stream($in_fh, $out_fh);
-    (exists $opts{-cutting})  and  $self->cutting( $opts{-cutting} );
-
-    ## Initialize line/paragraph
-    my ($textline, $paragraph) = ('', '');
-    my ($nlines, $plines) = (0, 0);
-
-    ## Use <$fh> instead of $fh->getline where possible (for speed)
-    $_ = ref $in_fh;
-    my $tied_fh = (/^(?:GLOB|FileHandle|IO::\w+)$/  or  tied $in_fh);
-
-    ## Read paragraphs line-by-line
-    while (defined ($textline = $tied_fh ? <$in_fh> : $in_fh->getline)) {
-        $textline = $self->preprocess_line($textline, ++$nlines);
-        next  unless ((defined $textline)  &&  (length $textline));
-
-        if ((! length $paragraph) && ($textline =~ /^==/)) {
-            ## '==' denotes a one-line command paragraph
-            $paragraph = $textline;
-            $plines    = 1;
-            $textline  = '';
-        } else {
-            ## Append this line to the current paragraph
-            $paragraph .= $textline;
-            ++$plines;
-        }
-
-        ## See if this line is blank and ends the current paragraph.
-        ## If it isnt, then keep iterating until it is.
-        next unless (($textline =~ /^([^\S\r\n]*)[\r\n]*$/)
-                                     && (length $paragraph));
-
-        ## Now process the paragraph
-        parse_paragraph($self, $paragraph, ($nlines - $plines) + 1);
-        $paragraph = '';
-        $plines = 0;
-    }
-    ## Dont forget about the last paragraph in the file
-    if (length $paragraph) {
-       parse_paragraph($self, $paragraph, ($nlines - $plines) + 1)
-    }
-
-    ## Now pop the input stream off the top of the input stack.
-    $self->_pop_input_stream();
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<parse_from_file()>
-
-            $parser->parse_from_file($filename,$outfile);
-
-This method takes a filename and does the following:
-
-=over 2
-
-=item *
-
-opens the input and output files for reading
-(creating the appropriate filehandles)
-
-=item *
-
-invokes the B<parse_from_filehandle()> method passing it the
-corresponding input and output filehandles.
-
-=item *
-
-closes the input and output files.
-
-=back
-
-If the special input filename "-" or "<&STDIN" is given then the STDIN
-filehandle is used for input (and no open or close is performed). If no
-input filename is specified then "-" is implied. Filehandle references,
-or objects that support the regular IO operations (like C<E<lt>$fhE<gt>>
-or C<$fh-<Egt>getline>) are also accepted; the handles must already be 
-opened.
-
-If a second argument is given then it should be the name of the desired
-output file. If the special output filename "-" or ">&STDOUT" is given
-then the STDOUT filehandle is used for output (and no open or close is
-performed). If the special output filename ">&STDERR" is given then the
-STDERR filehandle is used for output (and no open or close is
-performed). If no output filehandle is currently in use and no output
-filename is specified, then "-" is implied.
-Alternatively, filehandle references or objects that support the regular
-IO operations (like C<print>, e.g. L<IO::String>) are also accepted;
-the object must already be opened.
-
-This method does I<not> usually need to be overridden by subclasses.
-
-=cut
-
-sub parse_from_file {
-    my $self = shift;
-    my %opts = (ref $_[0] eq 'HASH') ? %{ shift() } : ();
-    my ($infile, $outfile) = @_;
-    my ($in_fh,  $out_fh);
-    if ($] < 5.006) {
-      ($in_fh,  $out_fh) = (gensym(), gensym());
-    }
-    my ($close_input, $close_output) = (0, 0);
-    local *myData = $self;
-    local *_;
-
-    ## Is $infile a filename or a (possibly implied) filehandle
-    if (defined $infile && ref $infile) {
-        if (ref($infile) =~ /^(SCALAR|ARRAY|HASH|CODE|REF)$/) {
-            croak "Input from $1 reference not supported!\n";
-        }
-        ## Must be a filehandle-ref (or else assume its a ref to an object
-        ## that supports the common IO read operations).
-        $myData{_INFILE} = ${$infile};
-        $in_fh = $infile;
-    }
-    elsif (!defined($infile) || !length($infile) || ($infile eq '-')
-        || ($infile =~ /^<&(?:STDIN|0)$/i))
-    {
-        ## Not a filename, just a string implying STDIN
-        $infile ||= '-';
-        $myData{_INFILE} = '<standard input>';
-        $in_fh = \*STDIN;
-    }
-    else {
-        ## We have a filename, open it for reading
-        $myData{_INFILE} = $infile;
-        open($in_fh, "< $infile")  or
-             croak "Can't open $infile for reading: $!\n";
-        $close_input = 1;
-    }
-
-    ## NOTE: we need to be *very* careful when "defaulting" the output
-    ## file. We only want to use a default if this is the beginning of
-    ## the entire document (but *not* if this is an included file). We
-    ## determine this by seeing if the input stream stack has been set-up
-    ## already
-
-    ## Is $outfile a filename, a (possibly implied) filehandle, maybe a ref?
-    if (ref $outfile) {
-        ## we need to check for ref() first, as other checks involve reading
-        if (ref($outfile) =~ /^(ARRAY|HASH|CODE)$/) {
-            croak "Output to $1 reference not supported!\n";
-        }
-        elsif (ref($outfile) eq 'SCALAR') {
-#           # NOTE: IO::String isn't a part of the perl distribution,
-#           #       so probably we shouldn't support this case...
-#           require IO::String;
-#           $myData{_OUTFILE} = "$outfile";
-#           $out_fh = IO::String->new($outfile);
-            croak "Output to SCALAR reference not supported!\n";
-        }
-        else {
-            ## Must be a filehandle-ref (or else assume its a ref to an
-            ## object that supports the common IO write operations).
-            $myData{_OUTFILE} = ${$outfile};
-            $out_fh = $outfile;
-        }
-    }
-    elsif (!defined($outfile) || !length($outfile) || ($outfile eq '-')
-        || ($outfile =~ /^>&?(?:STDOUT|1)$/i))
-    {
-        if (defined $myData{_TOP_STREAM}) {
-            $out_fh = $myData{_OUTPUT};
-        }
-        else {
-            ## Not a filename, just a string implying STDOUT
-            $outfile ||= '-';
-            $myData{_OUTFILE} = '<standard output>';
-            $out_fh  = \*STDOUT;
-        }
-    }
-    elsif ($outfile =~ /^>&(STDERR|2)$/i) {
-        ## Not a filename, just a string implying STDERR
-        $myData{_OUTFILE} = '<standard error>';
-        $out_fh  = \*STDERR;
-    }
-    else {
-        ## We have a filename, open it for writing
-        $myData{_OUTFILE} = $outfile;
-        (-d $outfile) and croak "$outfile is a directory, not POD input!\n";
-        open($out_fh, "> $outfile")  or
-             croak "Can't open $outfile for writing: $!\n";
-        $close_output = 1;
-    }
-
-    ## Whew! That was a lot of work to set up reasonably/robust behavior
-    ## in the case of a non-filename for reading and writing. Now we just
-    ## have to parse the input and close the handles when we're finished.
-    $self->parse_from_filehandle(\%opts, $in_fh, $out_fh);
-
-    $close_input  and
-        close($in_fh) || croak "Can't close $infile after reading: $!\n";
-    $close_output  and
-        close($out_fh) || croak "Can't close $outfile after writing: $!\n";
-}
-
-#############################################################################
-
-=head1 ACCESSOR METHODS
-
-Clients of B<Pod::Parser> should use the following methods to access
-instance data fields:
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=head1 B<errorsub()>
-
-            $parser->errorsub("method_name");
-            $parser->errorsub(\&warn_user);
-            $parser->errorsub(sub { print STDERR, @_ });
-
-Specifies the method or subroutine to use when printing error messages
-about POD syntax. The supplied method/subroutine I<must> return TRUE upon
-successful printing of the message. If C<undef> is given, then the B<carp>
-builtin is used to issue error messages (this is the default behavior).
-
-            my $errorsub = $parser->errorsub()
-            my $errmsg = "This is an error message!\n"
-            (ref $errorsub) and &{$errorsub}($errmsg)
-                or (defined $errorsub) and $parser->$errorsub($errmsg)
-                    or  carp($errmsg);
-
-Returns a method name, or else a reference to the user-supplied subroutine
-used to print error messages. Returns C<undef> if the B<carp> builtin
-is used to issue error messages (this is the default behavior).
-
-=cut
-
-sub errorsub {
-   return (@_ > 1) ? ($_[0]->{_ERRORSUB} = $_[1]) : $_[0]->{_ERRORSUB};
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<cutting()>
-
-            $boolean = $parser->cutting();
-
-Returns the current C<cutting> state: a boolean-valued scalar which
-evaluates to true if text from the input file is currently being "cut"
-(meaning it is I<not> considered part of the POD document).
-
-            $parser->cutting($boolean);
-
-Sets the current C<cutting> state to the given value and returns the
-result.
-
-=cut
-
-sub cutting {
-   return (@_ > 1) ? ($_[0]->{_CUTTING} = $_[1]) : $_[0]->{_CUTTING};
-}
-
-##---------------------------------------------------------------------------
-
-##---------------------------------------------------------------------------
-
-=head1 B<parseopts()>
-
-When invoked with no additional arguments, B<parseopts> returns a hashtable
-of all the current parsing options.
-
-            ## See if we are parsing non-POD sections as well as POD ones
-            my %opts = $parser->parseopts();
-            $opts{'-want_nonPODs}' and print "-want_nonPODs\n";
-
-When invoked using a single string, B<parseopts> treats the string as the
-name of a parse-option and returns its corresponding value if it exists
-(returns C<undef> if it doesn't).
-
-            ## Did we ask to see '=cut' paragraphs?
-            my $want_cut = $parser->parseopts('-process_cut_cmd');
-            $want_cut and print "-process_cut_cmd\n";
-
-When invoked with multiple arguments, B<parseopts> treats them as
-key/value pairs and the specified parse-option names are set to the
-given values. Any unspecified parse-options are unaffected.
-
-            ## Set them back to the default
-            $parser->parseopts(-warnings => 0);
-
-When passed a single hash-ref, B<parseopts> uses that hash to completely
-reset the existing parse-options, all previous parse-option values
-are lost.
-
-            ## Reset all options to default 
-            $parser->parseopts( { } );
-
-See L<"PARSING OPTIONS"> for more information on the name and meaning of each
-parse-option currently recognized.
-
-=cut
-
-sub parseopts {
-   local *myData = shift;
-   local *myOpts = ($myData{_PARSEOPTS} ||= {});
-   return %myOpts  if (@_ == 0);
-   if (@_ == 1) {
-      local $_ = shift;
-      return  ref($_)  ?  $myData{_PARSEOPTS} = $_  :  $myOpts{$_};
-   }
-   my @newOpts = (%myOpts, @_);
-   $myData{_PARSEOPTS} = { @newOpts };
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<output_file()>
-
-            $fname = $parser->output_file();
-
-Returns the name of the output file being written.
-
-=cut
-
-sub output_file {
-   return $_[0]->{_OUTFILE};
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<output_handle()>
-
-            $fhandle = $parser->output_handle();
-
-Returns the output filehandle object.
-
-=cut
-
-sub output_handle {
-   return $_[0]->{_OUTPUT};
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<input_file()>
-
-            $fname = $parser->input_file();
-
-Returns the name of the input file being read.
-
-=cut
-
-sub input_file {
-   return $_[0]->{_INFILE};
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<input_handle()>
-
-            $fhandle = $parser->input_handle();
-
-Returns the current input filehandle object.
-
-=cut
-
-sub input_handle {
-   return $_[0]->{_INPUT};
-}
-
-##---------------------------------------------------------------------------
-
-=begin __PRIVATE__
-
-=head1 B<input_streams()>
-
-            $listref = $parser->input_streams();
-
-Returns a reference to an array which corresponds to the stack of all
-the input streams that are currently in the middle of being parsed.
-
-While parsing an input stream, it is possible to invoke
-B<parse_from_file()> or B<parse_from_filehandle()> to parse a new input
-stream and then return to parsing the previous input stream. Each input
-stream to be parsed is pushed onto the end of this input stack
-before any of its input is read. The input stream that is currently
-being parsed is always at the end (or top) of the input stack. When an
-input stream has been exhausted, it is popped off the end of the
-input stack.
-
-Each element on this input stack is a reference to C<Pod::InputSource>
-object. Please see L<Pod::InputObjects> for more details.
-
-This method might be invoked when printing diagnostic messages, for example,
-to obtain the name and line number of the all input files that are currently
-being processed.
-
-=end __PRIVATE__
-
-=cut
-
-sub input_streams {
-   return $_[0]->{_INPUT_STREAMS};
-}
-
-##---------------------------------------------------------------------------
-
-=begin __PRIVATE__
-
-=head1 B<top_stream()>
-
-            $hashref = $parser->top_stream();
-
-Returns a reference to the hash-table that represents the element
-that is currently at the top (end) of the input stream stack
-(see L<"input_streams()">). The return value will be the C<undef>
-if the input stack is empty.
-
-This method might be used when printing diagnostic messages, for example,
-to obtain the name and line number of the current input file.
-
-=end __PRIVATE__
-
-=cut
-
-sub top_stream {
-   return $_[0]->{_TOP_STREAM} || undef;
-}
-
-#############################################################################
-
-=head1 PRIVATE METHODS AND DATA
-
-B<Pod::Parser> makes use of several internal methods and data fields
-which clients should not need to see or use. For the sake of avoiding
-name collisions for client data and methods, these methods and fields
-are briefly discussed here. Determined hackers may obtain further
-information about them by reading the B<Pod::Parser> source code.
-
-Private data fields are stored in the hash-object whose reference is
-returned by the B<new()> constructor for this class. The names of all
-private methods and data-fields used by B<Pod::Parser> begin with a
-prefix of "_" and match the regular expression C</^_\w+$/>.
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=begin _PRIVATE_
-
-=head1 B<_push_input_stream()>
-
-            $hashref = $parser->_push_input_stream($in_fh,$out_fh);
-
-This method will push the given input stream on the input stack and
-perform any necessary beginning-of-document or beginning-of-file
-processing. The argument C<$in_fh> is the input stream filehandle to
-push, and C<$out_fh> is the corresponding output filehandle to use (if
-it is not given or is undefined, then the current output stream is used,
-which defaults to standard output if it doesnt exist yet).
-
-The value returned will be reference to the hash-table that represents
-the new top of the input stream stack. I<Please Note> that it is
-possible for this method to use default values for the input and output
-file handles. If this happens, you will need to look at the C<INPUT>
-and C<OUTPUT> instance data members to determine their new values.
-
-=end _PRIVATE_
-
-=cut
-
-sub _push_input_stream {
-    my ($self, $in_fh, $out_fh) = @_;
-    local *myData = $self;
-
-    ## Initialize stuff for the entire document if this is *not*
-    ## an included file.
-    ##
-    ## NOTE: we need to be *very* careful when "defaulting" the output
-    ## filehandle. We only want to use a default value if this is the
-    ## beginning of the entire document (but *not* if this is an included
-    ## file).
-    unless (defined  $myData{_TOP_STREAM}) {
-        $out_fh  = \*STDOUT  unless (defined $out_fh);
-        $myData{_CUTTING}       = 1;   ## current "cutting" state
-        $myData{_INPUT_STREAMS} = [];  ## stack of all input streams
-    }
-
-    ## Initialize input indicators
-    $myData{_OUTFILE} = '(unknown)'  unless (defined  $myData{_OUTFILE});
-    $myData{_OUTPUT}  = $out_fh      if (defined  $out_fh);
-    $in_fh            = \*STDIN      unless (defined  $in_fh);
-    $myData{_INFILE}  = '(unknown)'  unless (defined  $myData{_INFILE});
-    $myData{_INPUT}   = $in_fh;
-    my $input_top     = $myData{_TOP_STREAM}
-                      = new Pod::InputSource(
-                            -name        => $myData{_INFILE},
-                            -handle      => $in_fh,
-                            -was_cutting => $myData{_CUTTING}
-                        );
-    local *input_stack = $myData{_INPUT_STREAMS};
-    push(@input_stack, $input_top);
-
-    ## Perform beginning-of-document and/or beginning-of-input processing
-    $self->begin_pod()  if (@input_stack == 1);
-    $self->begin_input();
-
-    return  $input_top;
-}
-
-##---------------------------------------------------------------------------
-
-=begin _PRIVATE_
-
-=head1 B<_pop_input_stream()>
-
-            $hashref = $parser->_pop_input_stream();
-
-This takes no arguments. It will perform any necessary end-of-file or
-end-of-document processing and then pop the current input stream from
-the top of the input stack.
-
-The value returned will be reference to the hash-table that represents
-the new top of the input stream stack.
-
-=end _PRIVATE_
-
-=cut
-
-sub _pop_input_stream {
-    my ($self) = @_;
-    local *myData = $self;
-    local *input_stack = $myData{_INPUT_STREAMS};
-
-    ## Perform end-of-input and/or end-of-document processing
-    $self->end_input()  if (@input_stack > 0);
-    $self->end_pod()    if (@input_stack == 1);
-
-    ## Restore cutting state to whatever it was before we started
-    ## parsing this file.
-    my $old_top = pop(@input_stack);
-    $myData{_CUTTING} = $old_top->was_cutting();
-
-    ## Dont forget to reset the input indicators
-    my $input_top = undef;
-    if (@input_stack > 0) {
-       $input_top = $myData{_TOP_STREAM} = $input_stack[-1];
-       $myData{_INFILE}  = $input_top->name();
-       $myData{_INPUT}   = $input_top->handle();
-    } else {
-       delete $myData{_TOP_STREAM};
-       delete $myData{_INPUT_STREAMS};
-    }
-
-    return  $input_top;
-}
-
-#############################################################################
-
-=head1 TREE-BASED PARSING
-
-If straightforward stream-based parsing wont meet your needs (as is
-likely the case for tasks such as translating PODs into structured
-markup languages like HTML and XML) then you may need to take the
-tree-based approach. Rather than doing everything in one pass and
-calling the B<interpolate()> method to expand sequences into text, it
-may be desirable to instead create a parse-tree using the B<parse_text()>
-method to return a tree-like structure which may contain an ordered
-list of children (each of which may be a text-string, or a similar
-tree-like structure).
-
-Pay special attention to L<"METHODS FOR PARSING AND PROCESSING"> and
-to the objects described in L<Pod::InputObjects>. The former describes
-the gory details and parameters for how to customize and extend the
-parsing behavior of B<Pod::Parser>. B<Pod::InputObjects> provides
-several objects that may all be used interchangeably as parse-trees. The
-most obvious one is the B<Pod::ParseTree> object. It defines the basic
-interface and functionality that all things trying to be a POD parse-tree
-should do. A B<Pod::ParseTree> is defined such that each "node" may be a
-text-string, or a reference to another parse-tree.  Each B<Pod::Paragraph>
-object and each B<Pod::InteriorSequence> object also supports the basic
-parse-tree interface.
-
-The B<parse_text()> method takes a given paragraph of text, and
-returns a parse-tree that contains one or more children, each of which
-may be a text-string, or an InteriorSequence object. There are also
-callback-options that may be passed to B<parse_text()> to customize
-the way it expands or transforms interior-sequences, as well as the
-returned result. These callbacks can be used to create a parse-tree
-with custom-made objects (which may or may not support the parse-tree
-interface, depending on how you choose to do it).
-
-If you wish to turn an entire POD document into a parse-tree, that process
-is fairly straightforward. The B<parse_text()> method is the key to doing
-this successfully. Every paragraph-callback (i.e. the polymorphic methods
-for B<command()>, B<verbatim()>, and B<textblock()> paragraphs) takes
-a B<Pod::Paragraph> object as an argument. Each paragraph object has a
-B<parse_tree()> method that can be used to get or set a corresponding
-parse-tree. So for each of those paragraph-callback methods, simply call
-B<parse_text()> with the options you desire, and then use the returned
-parse-tree to assign to the given paragraph object.
-
-That gives you a parse-tree for each paragraph - so now all you need is
-an ordered list of paragraphs. You can maintain that yourself as a data
-element in the object/hash. The most straightforward way would be simply
-to use an array-ref, with the desired set of custom "options" for each
-invocation of B<parse_text>. Let's assume the desired option-set is
-given by the hash C<%options>. Then we might do something like the
-following:
-
-    package MyPodParserTree;
-
-    @ISA = qw( Pod::Parser );
-
-    ...
-
-    sub begin_pod {
-        my $self = shift;
-        $self->{'-paragraphs'} = [];  ## initialize paragraph list
-    }
-
-    sub command { 
-        my ($parser, $command, $paragraph, $line_num, $pod_para) = @_;
-        my $ptree = $parser->parse_text({%options}, $paragraph, ...);
-        $pod_para->parse_tree( $ptree );
-        push @{ $self->{'-paragraphs'} }, $pod_para;
-    }
-
-    sub verbatim { 
-        my ($parser, $paragraph, $line_num, $pod_para) = @_;
-        push @{ $self->{'-paragraphs'} }, $pod_para;
-    }
-
-    sub textblock { 
-        my ($parser, $paragraph, $line_num, $pod_para) = @_;
-        my $ptree = $parser->parse_text({%options}, $paragraph, ...);
-        $pod_para->parse_tree( $ptree );
-        push @{ $self->{'-paragraphs'} }, $pod_para;
-    }
-
-    ...
-
-    package main;
-    ...
-    my $parser = new MyPodParserTree(...);
-    $parser->parse_from_file(...);
-    my $paragraphs_ref = $parser->{'-paragraphs'};
-
-Of course, in this module-author's humble opinion, I'd be more inclined to
-use the existing B<Pod::ParseTree> object than a simple array. That way
-everything in it, paragraphs and sequences, all respond to the same core
-interface for all parse-tree nodes. The result would look something like:
-
-    package MyPodParserTree2;
-
-    ...
-
-    sub begin_pod {
-        my $self = shift;
-        $self->{'-ptree'} = new Pod::ParseTree;  ## initialize parse-tree
-    }
-
-    sub parse_tree {
-        ## convenience method to get/set the parse-tree for the entire POD
-        (@_ > 1)  and  $_[0]->{'-ptree'} = $_[1];
-        return $_[0]->{'-ptree'};
-    }
-
-    sub command { 
-        my ($parser, $command, $paragraph, $line_num, $pod_para) = @_;
-        my $ptree = $parser->parse_text({<<options>>}, $paragraph, ...);
-        $pod_para->parse_tree( $ptree );
-        $parser->parse_tree()->append( $pod_para );
-    }
-
-    sub verbatim { 
-        my ($parser, $paragraph, $line_num, $pod_para) = @_;
-        $parser->parse_tree()->append( $pod_para );
-    }
-
-    sub textblock { 
-        my ($parser, $paragraph, $line_num, $pod_para) = @_;
-        my $ptree = $parser->parse_text({<<options>>}, $paragraph, ...);
-        $pod_para->parse_tree( $ptree );
-        $parser->parse_tree()->append( $pod_para );
-    }
-
-    ...
-
-    package main;
-    ...
-    my $parser = new MyPodParserTree2(...);
-    $parser->parse_from_file(...);
-    my $ptree = $parser->parse_tree;
-    ...
-
-Now you have the entire POD document as one great big parse-tree. You
-can even use the B<-expand_seq> option to B<parse_text> to insert
-whole different kinds of objects. Just don't expect B<Pod::Parser>
-to know what to do with them after that. That will need to be in your
-code. Or, alternatively, you can insert any object you like so long as
-it conforms to the B<Pod::ParseTree> interface.
-
-One could use this to create subclasses of B<Pod::Paragraphs> and
-B<Pod::InteriorSequences> for specific commands (or to create your own
-custom node-types in the parse-tree) and add some kind of B<emit()>
-method to each custom node/subclass object in the tree. Then all you'd
-need to do is recursively walk the tree in the desired order, processing
-the children (most likely from left to right) by formatting them if
-they are text-strings, or by calling their B<emit()> method if they
-are objects/references.
-
-=head1 CAVEATS
-
-Please note that POD has the notion of "paragraphs": this is something
-starting I<after> a blank (read: empty) line, with the single exception
-of the file start, which is also starting a paragraph. That means that
-especially a command (e.g. C<=head1>) I<must> be preceded with a blank
-line; C<__END__> is I<not> a blank line.
-
-=head1 SEE ALSO
-
-L<Pod::InputObjects>, L<Pod::Select>
-
-B<Pod::InputObjects> defines POD input objects corresponding to
-command paragraphs, parse-trees, and interior-sequences.
-
-B<Pod::Select> is a subclass of B<Pod::Parser> which provides the ability
-to selectively include and/or exclude sections of a POD document from being
-translated based upon the current heading, subheading, subsubheading, etc.
-
-=for __PRIVATE__
-B<Pod::Callbacks> is a subclass of B<Pod::Parser> which gives its users
-the ability the employ I<callback functions> instead of, or in addition
-to, overriding methods of the base class.
-
-=for __PRIVATE__
-B<Pod::Select> and B<Pod::Callbacks> do not override any
-methods nor do they define any new methods with the same name. Because
-of this, they may I<both> be used (in combination) as a base class of
-the same subclass in order to combine their functionality without
-causing any namespace clashes due to multiple inheritance.
-
-=head1 AUTHOR
-
-Please report bugs using L<http://rt.cpan.org>.
-
-Brad Appleton E<lt>bradapp at enteract.comE<gt>
-
-Based on code for B<Pod::Text> written by
-Tom Christiansen E<lt>tchrist at mox.perl.comE<gt>
-
-=head1 LICENSE
-
-Pod-Parser is free software; you can redistribute it and/or modify it
-under the terms of the Artistic License distributed with Perl version
-5.000 or (at your option) any later version. Please refer to the
-Artistic License that came with your Perl distribution for more
-details. If your version of Perl was not distributed under the
-terms of the Artistic License, than you may distribute PodParser
-under the same terms as Perl itself.
-
-=cut
-
-1;
-# vim: ts=4 sw=4 et
+#############################################################################
+# Pod/Parser.pm -- package which defines a base class for parsing 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.
+#############################################################################
+
+package Pod::Parser;
+use strict;
+
+## These "variables" are used as local "glob aliases" for performance
+use vars qw($VERSION @ISA %myData %myOpts @input_stack);
+$VERSION = '1.60';  ## Current version of this package
+require  5.005;    ## requires this Perl version or later
+
+#############################################################################
+
+=head1 NAME
+
+Pod::Parser - base class for creating POD filters and translators
+
+=head1 SYNOPSIS
+
+    use Pod::Parser;
+
+    package MyParser;
+    @ISA = qw(Pod::Parser);
+
+    sub command { 
+        my ($parser, $command, $paragraph, $line_num) = @_;
+        ## Interpret the command and its text; sample actions might be:
+        if ($command eq 'head1') { ... }
+        elsif ($command eq 'head2') { ... }
+        ## ... other commands and their actions
+        my $out_fh = $parser->output_handle();
+        my $expansion = $parser->interpolate($paragraph, $line_num);
+        print $out_fh $expansion;
+    }
+
+    sub verbatim { 
+        my ($parser, $paragraph, $line_num) = @_;
+        ## Format verbatim paragraph; sample actions might be:
+        my $out_fh = $parser->output_handle();
+        print $out_fh $paragraph;
+    }
+
+    sub textblock { 
+        my ($parser, $paragraph, $line_num) = @_;
+        ## Translate/Format this block of text; sample actions might be:
+        my $out_fh = $parser->output_handle();
+        my $expansion = $parser->interpolate($paragraph, $line_num);
+        print $out_fh $expansion;
+    }
+
+    sub interior_sequence { 
+        my ($parser, $seq_command, $seq_argument) = @_;
+        ## Expand an interior sequence; sample actions might be:
+        return "*$seq_argument*"     if ($seq_command eq 'B');
+        return "`$seq_argument'"     if ($seq_command eq 'C');
+        return "_${seq_argument}_'"  if ($seq_command eq 'I');
+        ## ... other sequence commands and their resulting text
+    }
+
+    package main;
+
+    ## Create a parser object and have it parse file whose name was
+    ## given on the command-line (use STDIN if no files were given).
+    $parser = new MyParser();
+    $parser->parse_from_filehandle(\*STDIN)  if (@ARGV == 0);
+    for (@ARGV) { $parser->parse_from_file($_); }
+
+=head1 REQUIRES
+
+perl5.005, Pod::InputObjects, Exporter, Symbol, Carp
+
+=head1 EXPORTS
+
+Nothing.
+
+=head1 DESCRIPTION
+
+B<Pod::Parser> is a base class for creating POD filters and translators.
+It handles most of the effort involved with parsing the POD sections
+from an input stream, leaving subclasses free to be concerned only with
+performing the actual translation of text.
+
+B<Pod::Parser> parses PODs, and makes method calls to handle the various
+components of the POD. Subclasses of B<Pod::Parser> override these methods
+to translate the POD into whatever output format they desire.
+
+Note: This module is considered as legacy; modern Perl releases (5.18 and
+higher) are going to remove Pod::Parser from core and use L<Pod::Simple>
+for all things POD.
+
+=head1 QUICK OVERVIEW
+
+To create a POD filter for translating POD documentation into some other
+format, you create a subclass of B<Pod::Parser> which typically overrides
+just the base class implementation for the following methods:
+
+=over 2
+
+=item *
+
+B<command()>
+
+=item *
+
+B<verbatim()>
+
+=item *
+
+B<textblock()>
+
+=item *
+
+B<interior_sequence()>
+
+=back
+
+You may also want to override the B<begin_input()> and B<end_input()>
+methods for your subclass (to perform any needed per-file and/or
+per-document initialization or cleanup).
+
+If you need to perform any preprocessing of input before it is parsed
+you may want to override one or more of B<preprocess_line()> and/or
+B<preprocess_paragraph()>.
+
+Sometimes it may be necessary to make more than one pass over the input
+files. If this is the case you have several options. You can make the
+first pass using B<Pod::Parser> and override your methods to store the
+intermediate results in memory somewhere for the B<end_pod()> method to
+process. You could use B<Pod::Parser> for several passes with an
+appropriate state variable to control the operation for each pass. If
+your input source can't be reset to start at the beginning, you can
+store it in some other structure as a string or an array and have that
+structure implement a B<getline()> method (which is all that
+B<parse_from_filehandle()> uses to read input).
+
+Feel free to add any member data fields you need to keep track of things
+like current font, indentation, horizontal or vertical position, or
+whatever else you like. Be sure to read L<"PRIVATE METHODS AND DATA">
+to avoid name collisions.
+
+For the most part, the B<Pod::Parser> base class should be able to
+do most of the input parsing for you and leave you free to worry about
+how to interpret the commands and translate the result.
+
+Note that all we have described here in this quick overview is the
+simplest most straightforward use of B<Pod::Parser> to do stream-based
+parsing. It is also possible to use the B<Pod::Parser::parse_text> function
+to do more sophisticated tree-based parsing. See L<"TREE-BASED PARSING">.
+
+=head1 PARSING OPTIONS
+
+A I<parse-option> is simply a named option of B<Pod::Parser> with a
+value that corresponds to a certain specified behavior. These various
+behaviors of B<Pod::Parser> may be enabled/disabled by setting
+or unsetting one or more I<parse-options> using the B<parseopts()> method.
+The set of currently accepted parse-options is as follows:
+
+=over 3
+
+=item B<-want_nonPODs> (default: unset)
+
+Normally (by default) B<Pod::Parser> will only provide access to
+the POD sections of the input. Input paragraphs that are not part
+of the POD-format documentation are not made available to the caller
+(not even using B<preprocess_paragraph()>). Setting this option to a
+non-empty, non-zero value will allow B<preprocess_paragraph()> to see
+non-POD sections of the input as well as POD sections. The B<cutting()>
+method can be used to determine if the corresponding paragraph is a POD
+paragraph, or some other input paragraph.
+
+=item B<-process_cut_cmd> (default: unset)
+
+Normally (by default) B<Pod::Parser> handles the C<=cut> POD directive
+by itself and does not pass it on to the caller for processing. Setting
+this option to a non-empty, non-zero value will cause B<Pod::Parser> to
+pass the C<=cut> directive to the caller just like any other POD command
+(and hence it may be processed by the B<command()> method).
+
+B<Pod::Parser> will still interpret the C<=cut> directive to mean that
+"cutting mode" has been (re)entered, but the caller will get a chance
+to capture the actual C<=cut> paragraph itself for whatever purpose
+it desires.
+
+=item B<-warnings> (default: unset)
+
+Normally (by default) B<Pod::Parser> recognizes a bare minimum of
+pod syntax errors and warnings and issues diagnostic messages
+for errors, but not for warnings. (Use B<Pod::Checker> to do more
+thorough checking of POD syntax.) Setting this option to a non-empty,
+non-zero value will cause B<Pod::Parser> to issue diagnostics for
+the few warnings it recognizes as well as the errors.
+
+=back
+
+Please see L<"parseopts()"> for a complete description of the interface
+for the setting and unsetting of parse-options.
+
+=cut
+
+#############################################################################
+
+#use diagnostics;
+use Pod::InputObjects;
+use Carp;
+use Exporter;
+BEGIN {
+   if ($] < 5.006) {
+      require Symbol;
+      import Symbol;
+   }
+}
+ at ISA = qw(Exporter);
+
+#############################################################################
+
+=head1 RECOMMENDED SUBROUTINE/METHOD OVERRIDES
+
+B<Pod::Parser> provides several methods which most subclasses will probably
+want to override. These methods are as follows:
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=head1 B<command()>
+
+            $parser->command($cmd,$text,$line_num,$pod_para);
+
+This method should be overridden by subclasses to take the appropriate
+action when a POD command paragraph (denoted by a line beginning with
+"=") is encountered. When such a POD directive is seen in the input,
+this method is called and is passed:
+
+=over 3
+
+=item C<$cmd>
+
+the name of the command for this POD paragraph
+
+=item C<$text>
+
+the paragraph text for the given POD paragraph command.
+
+=item C<$line_num>
+
+the line-number of the beginning of the paragraph
+
+=item C<$pod_para>
+
+a reference to a C<Pod::Paragraph> object which contains further
+information about the paragraph command (see L<Pod::InputObjects>
+for details).
+
+=back
+
+B<Note> that this method I<is> called for C<=pod> paragraphs.
+
+The base class implementation of this method simply treats the raw POD
+command as normal block of paragraph text (invoking the B<textblock()>
+method with the command paragraph).
+
+=cut
+
+sub command {
+    my ($self, $cmd, $text, $line_num, $pod_para)  = @_;
+    ## Just treat this like a textblock
+    $self->textblock($pod_para->raw_text(), $line_num, $pod_para);
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<verbatim()>
+
+            $parser->verbatim($text,$line_num,$pod_para);
+
+This method may be overridden by subclasses to take the appropriate
+action when a block of verbatim text is encountered. It is passed the
+following parameters:
+
+=over 3
+
+=item C<$text>
+
+the block of text for the verbatim paragraph
+
+=item C<$line_num>
+
+the line-number of the beginning of the paragraph
+
+=item C<$pod_para>
+
+a reference to a C<Pod::Paragraph> object which contains further
+information about the paragraph (see L<Pod::InputObjects>
+for details).
+
+=back
+
+The base class implementation of this method simply prints the textblock
+(unmodified) to the output filehandle.
+
+=cut
+
+sub verbatim {
+    my ($self, $text, $line_num, $pod_para) = @_;
+    my $out_fh = $self->{_OUTPUT};
+    print $out_fh $text;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<textblock()>
+
+            $parser->textblock($text,$line_num,$pod_para);
+
+This method may be overridden by subclasses to take the appropriate
+action when a normal block of POD text is encountered (although the base
+class method will usually do what you want). It is passed the following
+parameters:
+
+=over 3
+
+=item C<$text>
+
+the block of text for the a POD paragraph
+
+=item C<$line_num>
+
+the line-number of the beginning of the paragraph
+
+=item C<$pod_para>
+
+a reference to a C<Pod::Paragraph> object which contains further
+information about the paragraph (see L<Pod::InputObjects>
+for details).
+
+=back
+
+In order to process interior sequences, subclasses implementations of
+this method will probably want to invoke either B<interpolate()> or
+B<parse_text()>, passing it the text block C<$text>, and the corresponding
+line number in C<$line_num>, and then perform any desired processing upon
+the returned result.
+
+The base class implementation of this method simply prints the text block
+as it occurred in the input stream).
+
+=cut
+
+sub textblock {
+    my ($self, $text, $line_num, $pod_para) = @_;
+    my $out_fh = $self->{_OUTPUT};
+    print $out_fh $self->interpolate($text, $line_num);
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<interior_sequence()>
+
+            $parser->interior_sequence($seq_cmd,$seq_arg,$pod_seq);
+
+This method should be overridden by subclasses to take the appropriate
+action when an interior sequence is encountered. An interior sequence is
+an embedded command within a block of text which appears as a command
+name (usually a single uppercase character) followed immediately by a
+string of text which is enclosed in angle brackets. This method is
+passed the sequence command C<$seq_cmd> and the corresponding text
+C<$seq_arg>. It is invoked by the B<interpolate()> method for each interior
+sequence that occurs in the string that it is passed. It should return
+the desired text string to be used in place of the interior sequence.
+The C<$pod_seq> argument is a reference to a C<Pod::InteriorSequence>
+object which contains further information about the interior sequence.
+Please see L<Pod::InputObjects> for details if you need to access this
+additional information.
+
+Subclass implementations of this method may wish to invoke the 
+B<nested()> method of C<$pod_seq> to see if it is nested inside
+some other interior-sequence (and if so, which kind).
+
+The base class implementation of the B<interior_sequence()> method
+simply returns the raw text of the interior sequence (as it occurred
+in the input) to the caller.
+
+=cut
+
+sub interior_sequence {
+    my ($self, $seq_cmd, $seq_arg, $pod_seq) = @_;
+    ## Just return the raw text of the interior sequence
+    return  $pod_seq->raw_text();
+}
+
+#############################################################################
+
+=head1 OPTIONAL SUBROUTINE/METHOD OVERRIDES
+
+B<Pod::Parser> provides several methods which subclasses may want to override
+to perform any special pre/post-processing. These methods do I<not> have to
+be overridden, but it may be useful for subclasses to take advantage of them.
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=head1 B<new()>
+
+            my $parser = Pod::Parser->new();
+
+This is the constructor for B<Pod::Parser> and its subclasses. You
+I<do not> need to override this method! It is capable of constructing
+subclass objects as well as base class objects, provided you use
+any of the following constructor invocation styles:
+
+    my $parser1 = MyParser->new();
+    my $parser2 = new MyParser();
+    my $parser3 = $parser2->new();
+
+where C<MyParser> is some subclass of B<Pod::Parser>.
+
+Using the syntax C<MyParser::new()> to invoke the constructor is I<not>
+recommended, but if you insist on being able to do this, then the
+subclass I<will> need to override the B<new()> constructor method. If
+you do override the constructor, you I<must> be sure to invoke the
+B<initialize()> method of the newly blessed object.
+
+Using any of the above invocations, the first argument to the
+constructor is always the corresponding package name (or object
+reference). No other arguments are required, but if desired, an
+associative array (or hash-table) my be passed to the B<new()>
+constructor, as in:
+
+    my $parser1 = MyParser->new( MYDATA => $value1, MOREDATA => $value2 );
+    my $parser2 = new MyParser( -myflag => 1 );
+
+All arguments passed to the B<new()> constructor will be treated as
+key/value pairs in a hash-table. The newly constructed object will be
+initialized by copying the contents of the given hash-table (which may
+have been empty). The B<new()> constructor for this class and all of its
+subclasses returns a blessed reference to the initialized object (hash-table).
+
+=cut
+
+sub new {
+    ## Determine if we were called via an object-ref or a classname
+    my ($this,%params) = @_;
+    my $class = ref($this) || $this;
+    ## Any remaining arguments are treated as initial values for the
+    ## hash that is used to represent this object.
+    my $self = { %params };
+    ## Bless ourselves into the desired class and perform any initialization
+    bless $self, $class;
+    $self->initialize();
+    return $self;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<initialize()>
+
+            $parser->initialize();
+
+This method performs any necessary object initialization. It takes no
+arguments (other than the object instance of course, which is typically
+copied to a local variable named C<$self>). If subclasses override this
+method then they I<must> be sure to invoke C<$self-E<gt>SUPER::initialize()>.
+
+=cut
+
+sub initialize {
+    #my $self = shift;
+    #return;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<begin_pod()>
+
+            $parser->begin_pod();
+
+This method is invoked at the beginning of processing for each POD
+document that is encountered in the input. Subclasses should override
+this method to perform any per-document initialization.
+
+=cut
+
+sub begin_pod {
+    #my $self = shift;
+    #return;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<begin_input()>
+
+            $parser->begin_input();
+
+This method is invoked by B<parse_from_filehandle()> immediately I<before>
+processing input from a filehandle. The base class implementation does
+nothing, however, subclasses may override it to perform any per-file
+initializations.
+
+Note that if multiple files are parsed for a single POD document
+(perhaps the result of some future C<=include> directive) this method
+is invoked for every file that is parsed. If you wish to perform certain
+initializations once per document, then you should use B<begin_pod()>.
+
+=cut
+
+sub begin_input {
+    #my $self = shift;
+    #return;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<end_input()>
+
+            $parser->end_input();
+
+This method is invoked by B<parse_from_filehandle()> immediately I<after>
+processing input from a filehandle. The base class implementation does
+nothing, however, subclasses may override it to perform any per-file
+cleanup actions.
+
+Please note that if multiple files are parsed for a single POD document
+(perhaps the result of some kind of C<=include> directive) this method
+is invoked for every file that is parsed. If you wish to perform certain
+cleanup actions once per document, then you should use B<end_pod()>.
+
+=cut
+
+sub end_input {
+    #my $self = shift;
+    #return;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<end_pod()>
+
+            $parser->end_pod();
+
+This method is invoked at the end of processing for each POD document
+that is encountered in the input. Subclasses should override this method
+to perform any per-document finalization.
+
+=cut
+
+sub end_pod {
+    #my $self = shift;
+    #return;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<preprocess_line()>
+
+          $textline = $parser->preprocess_line($text, $line_num);
+
+This method should be overridden by subclasses that wish to perform
+any kind of preprocessing for each I<line> of input (I<before> it has
+been determined whether or not it is part of a POD paragraph). The
+parameter C<$text> is the input line; and the parameter C<$line_num> is
+the line number of the corresponding text line.
+
+The value returned should correspond to the new text to use in its
+place.  If the empty string or an undefined value is returned then no
+further processing will be performed for this line.
+
+Please note that the B<preprocess_line()> method is invoked I<before>
+the B<preprocess_paragraph()> method. After all (possibly preprocessed)
+lines in a paragraph have been assembled together and it has been
+determined that the paragraph is part of the POD documentation from one
+of the selected sections, then B<preprocess_paragraph()> is invoked.
+
+The base class implementation of this method returns the given text.
+
+=cut
+
+sub preprocess_line {
+    my ($self, $text, $line_num) = @_;
+    return  $text;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<preprocess_paragraph()>
+
+            $textblock = $parser->preprocess_paragraph($text, $line_num);
+
+This method should be overridden by subclasses that wish to perform any
+kind of preprocessing for each block (paragraph) of POD documentation
+that appears in the input stream. The parameter C<$text> is the POD
+paragraph from the input file; and the parameter C<$line_num> is the
+line number for the beginning of the corresponding paragraph.
+
+The value returned should correspond to the new text to use in its
+place If the empty string is returned or an undefined value is
+returned, then the given C<$text> is ignored (not processed).
+
+This method is invoked after gathering up all the lines in a paragraph
+and after determining the cutting state of the paragraph,
+but before trying to further parse or interpret them. After
+B<preprocess_paragraph()> returns, the current cutting state (which
+is returned by C<$self-E<gt>cutting()>) is examined. If it evaluates
+to true then input text (including the given C<$text>) is cut (not
+processed) until the next POD directive is encountered.
+
+Please note that the B<preprocess_line()> method is invoked I<before>
+the B<preprocess_paragraph()> method. After all (possibly preprocessed)
+lines in a paragraph have been assembled together and either it has been
+determined that the paragraph is part of the POD documentation from one
+of the selected sections or the C<-want_nonPODs> option is true,
+then B<preprocess_paragraph()> is invoked.
+
+The base class implementation of this method returns the given text.
+
+=cut
+
+sub preprocess_paragraph {
+    my ($self, $text, $line_num) = @_;
+    return  $text;
+}
+
+#############################################################################
+
+=head1 METHODS FOR PARSING AND PROCESSING
+
+B<Pod::Parser> provides several methods to process input text. These
+methods typically won't need to be overridden (and in some cases they
+can't be overridden), but subclasses may want to invoke them to exploit
+their functionality.
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=head1 B<parse_text()>
+
+            $ptree1 = $parser->parse_text($text, $line_num);
+            $ptree2 = $parser->parse_text({%opts}, $text, $line_num);
+            $ptree3 = $parser->parse_text(\%opts, $text, $line_num);
+
+This method is useful if you need to perform your own interpolation 
+of interior sequences and can't rely upon B<interpolate> to expand
+them in simple bottom-up order.
+
+The parameter C<$text> is a string or block of text to be parsed
+for interior sequences; and the parameter C<$line_num> is the
+line number corresponding to the beginning of C<$text>.
+
+B<parse_text()> will parse the given text into a parse-tree of "nodes."
+and interior-sequences.  Each "node" in the parse tree is either a
+text-string, or a B<Pod::InteriorSequence>.  The result returned is a
+parse-tree of type B<Pod::ParseTree>. Please see L<Pod::InputObjects>
+for more information about B<Pod::InteriorSequence> and B<Pod::ParseTree>.
+
+If desired, an optional hash-ref may be specified as the first argument
+to customize certain aspects of the parse-tree that is created and
+returned. The set of recognized option keywords are:
+
+=over 3
+
+=item B<-expand_seq> =E<gt> I<code-ref>|I<method-name>
+
+Normally, the parse-tree returned by B<parse_text()> will contain an
+unexpanded C<Pod::InteriorSequence> object for each interior-sequence
+encountered. Specifying B<-expand_seq> tells B<parse_text()> to "expand"
+every interior-sequence it sees by invoking the referenced function
+(or named method of the parser object) and using the return value as the
+expanded result.
+
+If a subroutine reference was given, it is invoked as:
+
+  &$code_ref( $parser, $sequence )
+
+and if a method-name was given, it is invoked as:
+
+  $parser->method_name( $sequence )
+
+where C<$parser> is a reference to the parser object, and C<$sequence>
+is a reference to the interior-sequence object.
+[I<NOTE>: If the B<interior_sequence()> method is specified, then it is
+invoked according to the interface specified in L<"interior_sequence()">].
+
+=item B<-expand_text> =E<gt> I<code-ref>|I<method-name>
+
+Normally, the parse-tree returned by B<parse_text()> will contain a
+text-string for each contiguous sequence of characters outside of an
+interior-sequence. Specifying B<-expand_text> tells B<parse_text()> to
+"preprocess" every such text-string it sees by invoking the referenced
+function (or named method of the parser object) and using the return value
+as the preprocessed (or "expanded") result. [Note that if the result is
+an interior-sequence, then it will I<not> be expanded as specified by the
+B<-expand_seq> option; Any such recursive expansion needs to be handled by
+the specified callback routine.]
+
+If a subroutine reference was given, it is invoked as:
+
+  &$code_ref( $parser, $text, $ptree_node )
+
+and if a method-name was given, it is invoked as:
+
+  $parser->method_name( $text, $ptree_node )
+
+where C<$parser> is a reference to the parser object, C<$text> is the
+text-string encountered, and C<$ptree_node> is a reference to the current
+node in the parse-tree (usually an interior-sequence object or else the
+top-level node of the parse-tree).
+
+=item B<-expand_ptree> =E<gt> I<code-ref>|I<method-name>
+
+Rather than returning a C<Pod::ParseTree>, pass the parse-tree as an
+argument to the referenced subroutine (or named method of the parser
+object) and return the result instead of the parse-tree object.
+
+If a subroutine reference was given, it is invoked as:
+
+  &$code_ref( $parser, $ptree )
+
+and if a method-name was given, it is invoked as:
+
+  $parser->method_name( $ptree )
+
+where C<$parser> is a reference to the parser object, and C<$ptree>
+is a reference to the parse-tree object.
+
+=back
+
+=cut
+
+sub parse_text {
+    my $self = shift;
+    local $_ = '';
+
+    ## Get options and set any defaults
+    my %opts = (ref $_[0]) ? %{ shift() } : ();
+    my $expand_seq   = $opts{'-expand_seq'}   || undef;
+    my $expand_text  = $opts{'-expand_text'}  || undef;
+    my $expand_ptree = $opts{'-expand_ptree'} || undef;
+
+    my $text = shift;
+    my $line = shift;
+    my $file = $self->input_file();
+    my $cmd  = "";
+
+    ## Convert method calls into closures, for our convenience
+    my $xseq_sub   = $expand_seq;
+    my $xtext_sub  = $expand_text;
+    my $xptree_sub = $expand_ptree;
+    if (defined $expand_seq  and  $expand_seq eq 'interior_sequence') {
+        ## If 'interior_sequence' is the method to use, we have to pass
+        ## more than just the sequence object, we also need to pass the
+        ## sequence name and text.
+        $xseq_sub = sub {
+            my ($sself, $iseq) = @_;
+            my $args = join('', $iseq->parse_tree->children);
+            return  $sself->interior_sequence($iseq->name, $args, $iseq);
+        };
+    }
+    ref $xseq_sub    or  $xseq_sub   = sub { shift()->$expand_seq(@_) };
+    ref $xtext_sub   or  $xtext_sub  = sub { shift()->$expand_text(@_) };
+    ref $xptree_sub  or  $xptree_sub = sub { shift()->$expand_ptree(@_) };
+
+    ## Keep track of the "current" interior sequence, and maintain a stack
+    ## of "in progress" sequences.
+    ##
+    ## NOTE that we push our own "accumulator" at the very beginning of the
+    ## stack. It's really a parse-tree, not a sequence; but it implements
+    ## the methods we need so we can use it to gather-up all the sequences
+    ## and strings we parse. Thus, by the end of our parsing, it should be
+    ## the only thing left on our stack and all we have to do is return it!
+    ##
+    my $seq       = Pod::ParseTree->new();
+    my @seq_stack = ($seq);
+    my ($ldelim, $rdelim) = ('', '');
+
+    ## Iterate over all sequence starts text (NOTE: split with
+    ## capturing parens keeps the delimiters)
+    $_ = $text;
+    my @tokens = split /([A-Z]<(?:<+(?:\r?\n|[ \t]))?)/;
+    while ( @tokens ) {
+        $_ = shift @tokens;
+        ## Look for the beginning of a sequence
+        if ( /^([A-Z])(<(?:<+(?:\r?\n|[ \t]))?)$/ ) {
+            ## Push a new sequence onto the stack of those "in-progress"
+            my $ldelim_orig;
+            ($cmd, $ldelim_orig) = ($1, $2);
+            ($ldelim = $ldelim_orig) =~ s/\s+$//;
+            ($rdelim = $ldelim) =~ tr/</>/;
+            $seq = Pod::InteriorSequence->new(
+                       -name   => $cmd,
+                       -ldelim => $ldelim_orig,  -rdelim => $rdelim,
+                       -file   => $file,    -line   => $line
+                   );
+            (@seq_stack > 1)  and  $seq->nested($seq_stack[-1]);
+            push @seq_stack, $seq;
+        }
+        ## Look for sequence ending
+        elsif ( @seq_stack > 1 ) {
+            ## Make sure we match the right kind of closing delimiter
+            my ($seq_end, $post_seq) = ('', '');
+            if ( ($ldelim eq '<'   and  /\A(.*?)(>)/s)
+                 or  /\A(.*?)(\s+$rdelim)/s )
+            {
+                ## Found end-of-sequence, capture the interior and the
+                ## closing the delimiter, and put the rest back on the
+                ## token-list
+                $post_seq = substr($_, length($1) + length($2));
+                ($_, $seq_end) = ($1, $2);
+                (length $post_seq)  and  unshift @tokens, $post_seq;
+            }
+            if (length) {
+                ## In the middle of a sequence, append this text to it, and
+                ## dont forget to "expand" it if that's what the caller wanted
+                $seq->append($expand_text ? &$xtext_sub($self,$_,$seq) : $_);
+                $_ .= $seq_end;
+            }
+            if (length $seq_end) {
+                ## End of current sequence, record terminating delimiter
+                $seq->rdelim($seq_end);
+                ## Pop it off the stack of "in progress" sequences
+                pop @seq_stack;
+                ## Append result to its parent in current parse tree
+                $seq_stack[-1]->append($expand_seq ? &$xseq_sub($self,$seq)
+                                                   : $seq);
+                ## Remember the current cmd-name and left-delimiter
+                if(@seq_stack > 1) {
+                    $cmd = $seq_stack[-1]->name;
+                    $ldelim = $seq_stack[-1]->ldelim;
+                    $rdelim = $seq_stack[-1]->rdelim;
+                } else {
+                    $cmd = $ldelim = $rdelim = '';
+                }
+            }
+        }
+        elsif (length) {
+            ## In the middle of a sequence, append this text to it, and
+            ## dont forget to "expand" it if that's what the caller wanted
+            $seq->append($expand_text ? &$xtext_sub($self,$_,$seq) : $_);
+        }
+        ## Keep track of line count
+        $line += /\n/;
+        ## Remember the "current" sequence
+        $seq = $seq_stack[-1];
+    }
+
+    ## Handle unterminated sequences
+    my $errorsub = (@seq_stack > 1) ? $self->errorsub() : undef;
+    while (@seq_stack > 1) {
+       ($cmd, $file, $line) = ($seq->name, $seq->file_line);
+       $ldelim  = $seq->ldelim;
+       ($rdelim = $ldelim) =~ tr/</>/;
+       $rdelim  =~ s/^(\S+)(\s*)$/$2$1/;
+       pop @seq_stack;
+       my $errmsg = "*** ERROR: unterminated ${cmd}${ldelim}...${rdelim}".
+                    " at line $line in file $file\n";
+       (ref $errorsub) and &{$errorsub}($errmsg)
+           or (defined $errorsub) and $self->$errorsub($errmsg)
+               or  carp($errmsg);
+       $seq_stack[-1]->append($expand_seq ? &$xseq_sub($self,$seq) : $seq);
+       $seq = $seq_stack[-1];
+    }
+
+    ## Return the resulting parse-tree
+    my $ptree = (pop @seq_stack)->parse_tree;
+    return  $expand_ptree ? &$xptree_sub($self, $ptree) : $ptree;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<interpolate()>
+
+            $textblock = $parser->interpolate($text, $line_num);
+
+This method translates all text (including any embedded interior sequences)
+in the given text string C<$text> and returns the interpolated result. The
+parameter C<$line_num> is the line number corresponding to the beginning
+of C<$text>.
+
+B<interpolate()> merely invokes a private method to recursively expand
+nested interior sequences in bottom-up order (innermost sequences are
+expanded first). If there is a need to expand nested sequences in
+some alternate order, use B<parse_text> instead.
+
+=cut
+
+sub interpolate {
+    my($self, $text, $line_num) = @_;
+    my %parse_opts = ( -expand_seq => 'interior_sequence' );
+    my $ptree = $self->parse_text( \%parse_opts, $text, $line_num );
+    return  join '', $ptree->children();
+}
+
+##---------------------------------------------------------------------------
+
+=begin __PRIVATE__
+
+=head1 B<parse_paragraph()>
+
+            $parser->parse_paragraph($text, $line_num);
+
+This method takes the text of a POD paragraph to be processed, along
+with its corresponding line number, and invokes the appropriate method
+(one of B<command()>, B<verbatim()>, or B<textblock()>).
+
+For performance reasons, this method is invoked directly without any
+dynamic lookup; Hence subclasses may I<not> override it!
+
+=end __PRIVATE__
+
+=cut
+
+sub parse_paragraph {
+    my ($self, $text, $line_num) = @_;
+    local *myData = $self;  ## alias to avoid deref-ing overhead
+    local *myOpts = ($myData{_PARSEOPTS} ||= {});  ## get parse-options
+    local $_;
+
+    ## See if we want to preprocess nonPOD paragraphs as well as POD ones.
+    my $wantNonPods = $myOpts{'-want_nonPODs'};
+
+    ## Update cutting status
+    $myData{_CUTTING} = 0 if $text =~ /^={1,2}\S/;
+
+    ## Perform any desired preprocessing if we wanted it this early
+    $wantNonPods  and  $text = $self->preprocess_paragraph($text, $line_num);
+
+    ## Ignore up until next POD directive if we are cutting
+    return if $myData{_CUTTING};
+
+    ## Now we know this is block of text in a POD section!
+
+    ##-----------------------------------------------------------------
+    ## This is a hook (hack ;-) for Pod::Select to do its thing without
+    ## having to override methods, but also without Pod::Parser assuming
+    ## $self is an instance of Pod::Select (if the _SELECTED_SECTIONS
+    ## field exists then we assume there is an is_selected() method for
+    ## us to invoke (calling $self->can('is_selected') could verify this
+    ## but that is more overhead than I want to incur)
+    ##-----------------------------------------------------------------
+
+    ## Ignore this block if it isnt in one of the selected sections
+    if (exists $myData{_SELECTED_SECTIONS}) {
+        $self->is_selected($text)  or  return ($myData{_CUTTING} = 1);
+    }
+
+    ## If we havent already, perform any desired preprocessing and
+    ## then re-check the "cutting" state
+    unless ($wantNonPods) {
+       $text = $self->preprocess_paragraph($text, $line_num);
+       return 1  unless ((defined $text) and (length $text));
+       return 1  if ($myData{_CUTTING});
+    }
+
+    ## Look for one of the three types of paragraphs
+    my ($pfx, $cmd, $arg, $sep) = ('', '', '', '');
+    my $pod_para = undef;
+    if ($text =~ /^(={1,2})(?=\S)/) {
+        ## Looks like a command paragraph. Capture the command prefix used
+        ## ("=" or "=="), as well as the command-name, its paragraph text,
+        ## and whatever sequence of characters was used to separate them
+        $pfx = $1;
+        $_ = substr($text, length $pfx);
+        ($cmd, $sep, $text) = split /(\s+)/, $_, 2;
+        $sep = '' unless defined $sep;
+        $text = '' unless defined $text;
+        ## If this is a "cut" directive then we dont need to do anything
+        ## except return to "cutting" mode.
+        if ($cmd eq 'cut') {
+           $myData{_CUTTING} = 1;
+           return  unless $myOpts{'-process_cut_cmd'};
+        }
+    }
+    ## Save the attributes indicating how the command was specified.
+    $pod_para = new Pod::Paragraph(
+          -name      => $cmd,
+          -text      => $text,
+          -prefix    => $pfx,
+          -separator => $sep,
+          -file      => $myData{_INFILE},
+          -line      => $line_num
+    );
+    # ## Invoke appropriate callbacks
+    # if (exists $myData{_CALLBACKS}) {
+    #    ## Look through the callback list, invoke callbacks,
+    #    ## then see if we need to do the default actions
+    #    ## (invoke_callbacks will return true if we do).
+    #    return  1  unless $self->invoke_callbacks($cmd, $text, $line_num, $pod_para);
+    # }
+
+    # If the last paragraph ended in whitespace, and we're not between verbatim blocks, carp
+    if ($myData{_WHITESPACE} and $myOpts{'-warnings'}
+            and not ($text =~ /^\s+/ and ($myData{_PREVIOUS}||"") eq "verbatim")) {
+        my $errorsub = $self->errorsub();
+        my $line = $line_num - 1;
+        my $errmsg = "*** WARNING: line containing nothing but whitespace".
+                     " in paragraph at line $line in file $myData{_INFILE}\n";
+        (ref $errorsub) and &{$errorsub}($errmsg)
+            or (defined $errorsub) and $self->$errorsub($errmsg)
+                or  carp($errmsg);
+    }
+
+    if (length $cmd) {
+        ## A command paragraph
+        $self->command($cmd, $text, $line_num, $pod_para);
+        $myData{_PREVIOUS} = $cmd;
+    }
+    elsif ($text =~ /^\s+/) {
+        ## Indented text - must be a verbatim paragraph
+        $self->verbatim($text, $line_num, $pod_para);
+        $myData{_PREVIOUS} = "verbatim";
+    }
+    else {
+        ## Looks like an ordinary block of text
+        $self->textblock($text, $line_num, $pod_para);
+        $myData{_PREVIOUS} = "textblock";
+    }
+
+    # Update the whitespace for the next time around
+    #$myData{_WHITESPACE} = $text =~ /^[^\S\r\n]+\Z/m ? 1 : 0;
+    $myData{_WHITESPACE} = $text =~ /^[^\S\r\n]+\r*\Z/m ? 1 : 0;
+
+    return  1;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<parse_from_filehandle()>
+
+            $parser->parse_from_filehandle($in_fh,$out_fh);
+
+This method takes an input filehandle (which is assumed to already be
+opened for reading) and reads the entire input stream looking for blocks
+(paragraphs) of POD documentation to be processed. If no first argument
+is given the default input filehandle C<STDIN> is used.
+
+The C<$in_fh> parameter may be any object that provides a B<getline()>
+method to retrieve a single line of input text (hence, an appropriate
+wrapper object could be used to parse PODs from a single string or an
+array of strings).
+
+Using C<$in_fh-E<gt>getline()>, input is read line-by-line and assembled
+into paragraphs or "blocks" (which are separated by lines containing
+nothing but whitespace). For each block of POD documentation
+encountered it will invoke a method to parse the given paragraph.
+
+If a second argument is given then it should correspond to a filehandle where
+output should be sent (otherwise the default output filehandle is
+C<STDOUT> if no output filehandle is currently in use).
+
+B<NOTE:> For performance reasons, this method caches the input stream at
+the top of the stack in a local variable. Any attempts by clients to
+change the stack contents during processing when in the midst executing
+of this method I<will not affect> the input stream used by the current
+invocation of this method.
+
+This method does I<not> usually need to be overridden by subclasses.
+
+=cut
+
+sub parse_from_filehandle {
+    my $self = shift;
+    my %opts = (ref $_[0] eq 'HASH') ? %{ shift() } : ();
+    my ($in_fh, $out_fh) = @_;
+    $in_fh = \*STDIN  unless ($in_fh);
+    local *myData = $self;  ## alias to avoid deref-ing overhead
+    local *myOpts = ($myData{_PARSEOPTS} ||= {});  ## get parse-options
+    local $_;
+
+    ## Put this stream at the top of the stack and do beginning-of-input
+    ## processing. NOTE that $in_fh might be reset during this process.
+    my $topstream = $self->_push_input_stream($in_fh, $out_fh);
+    (exists $opts{-cutting})  and  $self->cutting( $opts{-cutting} );
+
+    ## Initialize line/paragraph
+    my ($textline, $paragraph) = ('', '');
+    my ($nlines, $plines) = (0, 0);
+
+    ## Use <$fh> instead of $fh->getline where possible (for speed)
+    $_ = ref $in_fh;
+    my $tied_fh = (/^(?:GLOB|FileHandle|IO::\w+)$/  or  tied $in_fh);
+
+    ## Read paragraphs line-by-line
+    while (defined ($textline = $tied_fh ? <$in_fh> : $in_fh->getline)) {
+        $textline = $self->preprocess_line($textline, ++$nlines);
+        next  unless ((defined $textline)  &&  (length $textline));
+
+        if ((! length $paragraph) && ($textline =~ /^==/)) {
+            ## '==' denotes a one-line command paragraph
+            $paragraph = $textline;
+            $plines    = 1;
+            $textline  = '';
+        } else {
+            ## Append this line to the current paragraph
+            $paragraph .= $textline;
+            ++$plines;
+        }
+
+        ## See if this line is blank and ends the current paragraph.
+        ## If it isnt, then keep iterating until it is.
+        next unless (($textline =~ /^[^\S\r\n]*[\r\n]*$/)
+                                     && (length $paragraph));
+
+        ## Now process the paragraph
+        parse_paragraph($self, $paragraph, ($nlines - $plines) + 1);
+        $paragraph = '';
+        $plines = 0;
+    }
+    ## Dont forget about the last paragraph in the file
+    if (length $paragraph) {
+       parse_paragraph($self, $paragraph, ($nlines - $plines) + 1)
+    }
+
+    ## Now pop the input stream off the top of the input stack.
+    $self->_pop_input_stream();
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<parse_from_file()>
+
+            $parser->parse_from_file($filename,$outfile);
+
+This method takes a filename and does the following:
+
+=over 2
+
+=item *
+
+opens the input and output files for reading
+(creating the appropriate filehandles)
+
+=item *
+
+invokes the B<parse_from_filehandle()> method passing it the
+corresponding input and output filehandles.
+
+=item *
+
+closes the input and output files.
+
+=back
+
+If the special input filename "-" or "<&STDIN" is given then the STDIN
+filehandle is used for input (and no open or close is performed). If no
+input filename is specified then "-" is implied. Filehandle references,
+or objects that support the regular IO operations (like C<E<lt>$fhE<gt>>
+or C<$fh-<Egt>getline>) are also accepted; the handles must already be 
+opened.
+
+If a second argument is given then it should be the name of the desired
+output file. If the special output filename "-" or ">&STDOUT" is given
+then the STDOUT filehandle is used for output (and no open or close is
+performed). If the special output filename ">&STDERR" is given then the
+STDERR filehandle is used for output (and no open or close is
+performed). If no output filehandle is currently in use and no output
+filename is specified, then "-" is implied.
+Alternatively, filehandle references or objects that support the regular
+IO operations (like C<print>, e.g. L<IO::String>) are also accepted;
+the object must already be opened.
+
+This method does I<not> usually need to be overridden by subclasses.
+
+=cut
+
+sub parse_from_file {
+    my $self = shift;
+    my %opts = (ref $_[0] eq 'HASH') ? %{ shift() } : ();
+    my ($infile, $outfile) = @_;
+    my ($in_fh,  $out_fh);
+    if ($] < 5.006) {
+      ($in_fh,  $out_fh) = (gensym(), gensym());
+    }
+    my ($close_input, $close_output) = (0, 0);
+    local *myData = $self;
+    local *_;
+
+    ## Is $infile a filename or a (possibly implied) filehandle
+    if (defined $infile && ref $infile) {
+        if (ref($infile) =~ /^(SCALAR|ARRAY|HASH|CODE|REF)$/) {
+            croak "Input from $1 reference not supported!\n";
+        }
+        ## Must be a filehandle-ref (or else assume its a ref to an object
+        ## that supports the common IO read operations).
+        $myData{_INFILE} = ${$infile};
+        $in_fh = $infile;
+    }
+    elsif (!defined($infile) || !length($infile) || ($infile eq '-')
+        || ($infile =~ /^<&(?:STDIN|0)$/i))
+    {
+        ## Not a filename, just a string implying STDIN
+        $infile ||= '-';
+        $myData{_INFILE} = '<standard input>';
+        $in_fh = \*STDIN;
+    }
+    else {
+        ## We have a filename, open it for reading
+        $myData{_INFILE} = $infile;
+        open($in_fh, "< $infile")  or
+             croak "Can't open $infile for reading: $!\n";
+        $close_input = 1;
+    }
+
+    ## NOTE: we need to be *very* careful when "defaulting" the output
+    ## file. We only want to use a default if this is the beginning of
+    ## the entire document (but *not* if this is an included file). We
+    ## determine this by seeing if the input stream stack has been set-up
+    ## already
+
+    ## Is $outfile a filename, a (possibly implied) filehandle, maybe a ref?
+    if (ref $outfile) {
+        ## we need to check for ref() first, as other checks involve reading
+        if (ref($outfile) =~ /^(ARRAY|HASH|CODE)$/) {
+            croak "Output to $1 reference not supported!\n";
+        }
+        elsif (ref($outfile) eq 'SCALAR') {
+#           # NOTE: IO::String isn't a part of the perl distribution,
+#           #       so probably we shouldn't support this case...
+#           require IO::String;
+#           $myData{_OUTFILE} = "$outfile";
+#           $out_fh = IO::String->new($outfile);
+            croak "Output to SCALAR reference not supported!\n";
+        }
+        else {
+            ## Must be a filehandle-ref (or else assume its a ref to an
+            ## object that supports the common IO write operations).
+            $myData{_OUTFILE} = ${$outfile};
+            $out_fh = $outfile;
+        }
+    }
+    elsif (!defined($outfile) || !length($outfile) || ($outfile eq '-')
+        || ($outfile =~ /^>&?(?:STDOUT|1)$/i))
+    {
+        if (defined $myData{_TOP_STREAM}) {
+            $out_fh = $myData{_OUTPUT};
+        }
+        else {
+            ## Not a filename, just a string implying STDOUT
+            $outfile ||= '-';
+            $myData{_OUTFILE} = '<standard output>';
+            $out_fh  = \*STDOUT;
+        }
+    }
+    elsif ($outfile =~ /^>&(STDERR|2)$/i) {
+        ## Not a filename, just a string implying STDERR
+        $myData{_OUTFILE} = '<standard error>';
+        $out_fh  = \*STDERR;
+    }
+    else {
+        ## We have a filename, open it for writing
+        $myData{_OUTFILE} = $outfile;
+        (-d $outfile) and croak "$outfile is a directory, not POD input!\n";
+        open($out_fh, "> $outfile")  or
+             croak "Can't open $outfile for writing: $!\n";
+        $close_output = 1;
+    }
+
+    ## Whew! That was a lot of work to set up reasonably/robust behavior
+    ## in the case of a non-filename for reading and writing. Now we just
+    ## have to parse the input and close the handles when we're finished.
+    $self->parse_from_filehandle(\%opts, $in_fh, $out_fh);
+
+    $close_input  and
+        close($in_fh) || croak "Can't close $infile after reading: $!\n";
+    $close_output  and
+        close($out_fh) || croak "Can't close $outfile after writing: $!\n";
+}
+
+#############################################################################
+
+=head1 ACCESSOR METHODS
+
+Clients of B<Pod::Parser> should use the following methods to access
+instance data fields:
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=head1 B<errorsub()>
+
+            $parser->errorsub("method_name");
+            $parser->errorsub(\&warn_user);
+            $parser->errorsub(sub { print STDERR, @_ });
+
+Specifies the method or subroutine to use when printing error messages
+about POD syntax. The supplied method/subroutine I<must> return TRUE upon
+successful printing of the message. If C<undef> is given, then the B<carp>
+builtin is used to issue error messages (this is the default behavior).
+
+            my $errorsub = $parser->errorsub()
+            my $errmsg = "This is an error message!\n"
+            (ref $errorsub) and &{$errorsub}($errmsg)
+                or (defined $errorsub) and $parser->$errorsub($errmsg)
+                    or  carp($errmsg);
+
+Returns a method name, or else a reference to the user-supplied subroutine
+used to print error messages. Returns C<undef> if the B<carp> builtin
+is used to issue error messages (this is the default behavior).
+
+=cut
+
+sub errorsub {
+   return (@_ > 1) ? ($_[0]->{_ERRORSUB} = $_[1]) : $_[0]->{_ERRORSUB};
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<cutting()>
+
+            $boolean = $parser->cutting();
+
+Returns the current C<cutting> state: a boolean-valued scalar which
+evaluates to true if text from the input file is currently being "cut"
+(meaning it is I<not> considered part of the POD document).
+
+            $parser->cutting($boolean);
+
+Sets the current C<cutting> state to the given value and returns the
+result.
+
+=cut
+
+sub cutting {
+   return (@_ > 1) ? ($_[0]->{_CUTTING} = $_[1]) : $_[0]->{_CUTTING};
+}
+
+##---------------------------------------------------------------------------
+
+##---------------------------------------------------------------------------
+
+=head1 B<parseopts()>
+
+When invoked with no additional arguments, B<parseopts> returns a hashtable
+of all the current parsing options.
+
+            ## See if we are parsing non-POD sections as well as POD ones
+            my %opts = $parser->parseopts();
+            $opts{'-want_nonPODs}' and print "-want_nonPODs\n";
+
+When invoked using a single string, B<parseopts> treats the string as the
+name of a parse-option and returns its corresponding value if it exists
+(returns C<undef> if it doesn't).
+
+            ## Did we ask to see '=cut' paragraphs?
+            my $want_cut = $parser->parseopts('-process_cut_cmd');
+            $want_cut and print "-process_cut_cmd\n";
+
+When invoked with multiple arguments, B<parseopts> treats them as
+key/value pairs and the specified parse-option names are set to the
+given values. Any unspecified parse-options are unaffected.
+
+            ## Set them back to the default
+            $parser->parseopts(-warnings => 0);
+
+When passed a single hash-ref, B<parseopts> uses that hash to completely
+reset the existing parse-options, all previous parse-option values
+are lost.
+
+            ## Reset all options to default 
+            $parser->parseopts( { } );
+
+See L<"PARSING OPTIONS"> for more information on the name and meaning of each
+parse-option currently recognized.
+
+=cut
+
+sub parseopts {
+   local *myData = shift;
+   local *myOpts = ($myData{_PARSEOPTS} ||= {});
+   return %myOpts  if (@_ == 0);
+   if (@_ == 1) {
+      local $_ = shift;
+      return  ref($_)  ?  $myData{_PARSEOPTS} = $_  :  $myOpts{$_};
+   }
+   my @newOpts = (%myOpts, @_);
+   $myData{_PARSEOPTS} = { @newOpts };
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<output_file()>
+
+            $fname = $parser->output_file();
+
+Returns the name of the output file being written.
+
+=cut
+
+sub output_file {
+   return $_[0]->{_OUTFILE};
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<output_handle()>
+
+            $fhandle = $parser->output_handle();
+
+Returns the output filehandle object.
+
+=cut
+
+sub output_handle {
+   return $_[0]->{_OUTPUT};
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<input_file()>
+
+            $fname = $parser->input_file();
+
+Returns the name of the input file being read.
+
+=cut
+
+sub input_file {
+   return $_[0]->{_INFILE};
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<input_handle()>
+
+            $fhandle = $parser->input_handle();
+
+Returns the current input filehandle object.
+
+=cut
+
+sub input_handle {
+   return $_[0]->{_INPUT};
+}
+
+##---------------------------------------------------------------------------
+
+=begin __PRIVATE__
+
+=head1 B<input_streams()>
+
+            $listref = $parser->input_streams();
+
+Returns a reference to an array which corresponds to the stack of all
+the input streams that are currently in the middle of being parsed.
+
+While parsing an input stream, it is possible to invoke
+B<parse_from_file()> or B<parse_from_filehandle()> to parse a new input
+stream and then return to parsing the previous input stream. Each input
+stream to be parsed is pushed onto the end of this input stack
+before any of its input is read. The input stream that is currently
+being parsed is always at the end (or top) of the input stack. When an
+input stream has been exhausted, it is popped off the end of the
+input stack.
+
+Each element on this input stack is a reference to C<Pod::InputSource>
+object. Please see L<Pod::InputObjects> for more details.
+
+This method might be invoked when printing diagnostic messages, for example,
+to obtain the name and line number of the all input files that are currently
+being processed.
+
+=end __PRIVATE__
+
+=cut
+
+sub input_streams {
+   return $_[0]->{_INPUT_STREAMS};
+}
+
+##---------------------------------------------------------------------------
+
+=begin __PRIVATE__
+
+=head1 B<top_stream()>
+
+            $hashref = $parser->top_stream();
+
+Returns a reference to the hash-table that represents the element
+that is currently at the top (end) of the input stream stack
+(see L<"input_streams()">). The return value will be the C<undef>
+if the input stack is empty.
+
+This method might be used when printing diagnostic messages, for example,
+to obtain the name and line number of the current input file.
+
+=end __PRIVATE__
+
+=cut
+
+sub top_stream {
+   return $_[0]->{_TOP_STREAM} || undef;
+}
+
+#############################################################################
+
+=head1 PRIVATE METHODS AND DATA
+
+B<Pod::Parser> makes use of several internal methods and data fields
+which clients should not need to see or use. For the sake of avoiding
+name collisions for client data and methods, these methods and fields
+are briefly discussed here. Determined hackers may obtain further
+information about them by reading the B<Pod::Parser> source code.
+
+Private data fields are stored in the hash-object whose reference is
+returned by the B<new()> constructor for this class. The names of all
+private methods and data-fields used by B<Pod::Parser> begin with a
+prefix of "_" and match the regular expression C</^_\w+$/>.
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=begin _PRIVATE_
+
+=head1 B<_push_input_stream()>
+
+            $hashref = $parser->_push_input_stream($in_fh,$out_fh);
+
+This method will push the given input stream on the input stack and
+perform any necessary beginning-of-document or beginning-of-file
+processing. The argument C<$in_fh> is the input stream filehandle to
+push, and C<$out_fh> is the corresponding output filehandle to use (if
+it is not given or is undefined, then the current output stream is used,
+which defaults to standard output if it doesnt exist yet).
+
+The value returned will be reference to the hash-table that represents
+the new top of the input stream stack. I<Please Note> that it is
+possible for this method to use default values for the input and output
+file handles. If this happens, you will need to look at the C<INPUT>
+and C<OUTPUT> instance data members to determine their new values.
+
+=end _PRIVATE_
+
+=cut
+
+sub _push_input_stream {
+    my ($self, $in_fh, $out_fh) = @_;
+    local *myData = $self;
+
+    ## Initialize stuff for the entire document if this is *not*
+    ## an included file.
+    ##
+    ## NOTE: we need to be *very* careful when "defaulting" the output
+    ## filehandle. We only want to use a default value if this is the
+    ## beginning of the entire document (but *not* if this is an included
+    ## file).
+    unless (defined  $myData{_TOP_STREAM}) {
+        $out_fh  = \*STDOUT  unless (defined $out_fh);
+        $myData{_CUTTING}       = 1;   ## current "cutting" state
+        $myData{_INPUT_STREAMS} = [];  ## stack of all input streams
+    }
+
+    ## Initialize input indicators
+    $myData{_OUTFILE} = '(unknown)'  unless (defined  $myData{_OUTFILE});
+    $myData{_OUTPUT}  = $out_fh      if (defined  $out_fh);
+    $in_fh            = \*STDIN      unless (defined  $in_fh);
+    $myData{_INFILE}  = '(unknown)'  unless (defined  $myData{_INFILE});
+    $myData{_INPUT}   = $in_fh;
+    my $input_top     = $myData{_TOP_STREAM}
+                      = new Pod::InputSource(
+                            -name        => $myData{_INFILE},
+                            -handle      => $in_fh,
+                            -was_cutting => $myData{_CUTTING}
+                        );
+    local *input_stack = $myData{_INPUT_STREAMS};
+    push(@input_stack, $input_top);
+
+    ## Perform beginning-of-document and/or beginning-of-input processing
+    $self->begin_pod()  if (@input_stack == 1);
+    $self->begin_input();
+
+    return  $input_top;
+}
+
+##---------------------------------------------------------------------------
+
+=begin _PRIVATE_
+
+=head1 B<_pop_input_stream()>
+
+            $hashref = $parser->_pop_input_stream();
+
+This takes no arguments. It will perform any necessary end-of-file or
+end-of-document processing and then pop the current input stream from
+the top of the input stack.
+
+The value returned will be reference to the hash-table that represents
+the new top of the input stream stack.
+
+=end _PRIVATE_
+
+=cut
+
+sub _pop_input_stream {
+    my ($self) = @_;
+    local *myData = $self;
+    local *input_stack = $myData{_INPUT_STREAMS};
+
+    ## Perform end-of-input and/or end-of-document processing
+    $self->end_input()  if (@input_stack > 0);
+    $self->end_pod()    if (@input_stack == 1);
+
+    ## Restore cutting state to whatever it was before we started
+    ## parsing this file.
+    my $old_top = pop(@input_stack);
+    $myData{_CUTTING} = $old_top->was_cutting();
+
+    ## Dont forget to reset the input indicators
+    my $input_top = undef;
+    if (@input_stack > 0) {
+       $input_top = $myData{_TOP_STREAM} = $input_stack[-1];
+       $myData{_INFILE}  = $input_top->name();
+       $myData{_INPUT}   = $input_top->handle();
+    } else {
+       delete $myData{_TOP_STREAM};
+       delete $myData{_INPUT_STREAMS};
+    }
+
+    return  $input_top;
+}
+
+#############################################################################
+
+=head1 TREE-BASED PARSING
+
+If straightforward stream-based parsing wont meet your needs (as is
+likely the case for tasks such as translating PODs into structured
+markup languages like HTML and XML) then you may need to take the
+tree-based approach. Rather than doing everything in one pass and
+calling the B<interpolate()> method to expand sequences into text, it
+may be desirable to instead create a parse-tree using the B<parse_text()>
+method to return a tree-like structure which may contain an ordered
+list of children (each of which may be a text-string, or a similar
+tree-like structure).
+
+Pay special attention to L<"METHODS FOR PARSING AND PROCESSING"> and
+to the objects described in L<Pod::InputObjects>. The former describes
+the gory details and parameters for how to customize and extend the
+parsing behavior of B<Pod::Parser>. B<Pod::InputObjects> provides
+several objects that may all be used interchangeably as parse-trees. The
+most obvious one is the B<Pod::ParseTree> object. It defines the basic
+interface and functionality that all things trying to be a POD parse-tree
+should do. A B<Pod::ParseTree> is defined such that each "node" may be a
+text-string, or a reference to another parse-tree.  Each B<Pod::Paragraph>
+object and each B<Pod::InteriorSequence> object also supports the basic
+parse-tree interface.
+
+The B<parse_text()> method takes a given paragraph of text, and
+returns a parse-tree that contains one or more children, each of which
+may be a text-string, or an InteriorSequence object. There are also
+callback-options that may be passed to B<parse_text()> to customize
+the way it expands or transforms interior-sequences, as well as the
+returned result. These callbacks can be used to create a parse-tree
+with custom-made objects (which may or may not support the parse-tree
+interface, depending on how you choose to do it).
+
+If you wish to turn an entire POD document into a parse-tree, that process
+is fairly straightforward. The B<parse_text()> method is the key to doing
+this successfully. Every paragraph-callback (i.e. the polymorphic methods
+for B<command()>, B<verbatim()>, and B<textblock()> paragraphs) takes
+a B<Pod::Paragraph> object as an argument. Each paragraph object has a
+B<parse_tree()> method that can be used to get or set a corresponding
+parse-tree. So for each of those paragraph-callback methods, simply call
+B<parse_text()> with the options you desire, and then use the returned
+parse-tree to assign to the given paragraph object.
+
+That gives you a parse-tree for each paragraph - so now all you need is
+an ordered list of paragraphs. You can maintain that yourself as a data
+element in the object/hash. The most straightforward way would be simply
+to use an array-ref, with the desired set of custom "options" for each
+invocation of B<parse_text>. Let's assume the desired option-set is
+given by the hash C<%options>. Then we might do something like the
+following:
+
+    package MyPodParserTree;
+
+    @ISA = qw( Pod::Parser );
+
+    ...
+
+    sub begin_pod {
+        my $self = shift;
+        $self->{'-paragraphs'} = [];  ## initialize paragraph list
+    }
+
+    sub command { 
+        my ($parser, $command, $paragraph, $line_num, $pod_para) = @_;
+        my $ptree = $parser->parse_text({%options}, $paragraph, ...);
+        $pod_para->parse_tree( $ptree );
+        push @{ $self->{'-paragraphs'} }, $pod_para;
+    }
+
+    sub verbatim { 
+        my ($parser, $paragraph, $line_num, $pod_para) = @_;
+        push @{ $self->{'-paragraphs'} }, $pod_para;
+    }
+
+    sub textblock { 
+        my ($parser, $paragraph, $line_num, $pod_para) = @_;
+        my $ptree = $parser->parse_text({%options}, $paragraph, ...);
+        $pod_para->parse_tree( $ptree );
+        push @{ $self->{'-paragraphs'} }, $pod_para;
+    }
+
+    ...
+
+    package main;
+    ...
+    my $parser = new MyPodParserTree(...);
+    $parser->parse_from_file(...);
+    my $paragraphs_ref = $parser->{'-paragraphs'};
+
+Of course, in this module-author's humble opinion, I'd be more inclined to
+use the existing B<Pod::ParseTree> object than a simple array. That way
+everything in it, paragraphs and sequences, all respond to the same core
+interface for all parse-tree nodes. The result would look something like:
+
+    package MyPodParserTree2;
+
+    ...
+
+    sub begin_pod {
+        my $self = shift;
+        $self->{'-ptree'} = new Pod::ParseTree;  ## initialize parse-tree
+    }
+
+    sub parse_tree {
+        ## convenience method to get/set the parse-tree for the entire POD
+        (@_ > 1)  and  $_[0]->{'-ptree'} = $_[1];
+        return $_[0]->{'-ptree'};
+    }
+
+    sub command { 
+        my ($parser, $command, $paragraph, $line_num, $pod_para) = @_;
+        my $ptree = $parser->parse_text({<<options>>}, $paragraph, ...);
+        $pod_para->parse_tree( $ptree );
+        $parser->parse_tree()->append( $pod_para );
+    }
+
+    sub verbatim { 
+        my ($parser, $paragraph, $line_num, $pod_para) = @_;
+        $parser->parse_tree()->append( $pod_para );
+    }
+
+    sub textblock { 
+        my ($parser, $paragraph, $line_num, $pod_para) = @_;
+        my $ptree = $parser->parse_text({<<options>>}, $paragraph, ...);
+        $pod_para->parse_tree( $ptree );
+        $parser->parse_tree()->append( $pod_para );
+    }
+
+    ...
+
+    package main;
+    ...
+    my $parser = new MyPodParserTree2(...);
+    $parser->parse_from_file(...);
+    my $ptree = $parser->parse_tree;
+    ...
+
+Now you have the entire POD document as one great big parse-tree. You
+can even use the B<-expand_seq> option to B<parse_text> to insert
+whole different kinds of objects. Just don't expect B<Pod::Parser>
+to know what to do with them after that. That will need to be in your
+code. Or, alternatively, you can insert any object you like so long as
+it conforms to the B<Pod::ParseTree> interface.
+
+One could use this to create subclasses of B<Pod::Paragraphs> and
+B<Pod::InteriorSequences> for specific commands (or to create your own
+custom node-types in the parse-tree) and add some kind of B<emit()>
+method to each custom node/subclass object in the tree. Then all you'd
+need to do is recursively walk the tree in the desired order, processing
+the children (most likely from left to right) by formatting them if
+they are text-strings, or by calling their B<emit()> method if they
+are objects/references.
+
+=head1 CAVEATS
+
+Please note that POD has the notion of "paragraphs": this is something
+starting I<after> a blank (read: empty) line, with the single exception
+of the file start, which is also starting a paragraph. That means that
+especially a command (e.g. C<=head1>) I<must> be preceded with a blank
+line; C<__END__> is I<not> a blank line.
+
+=head1 SEE ALSO
+
+L<Pod::InputObjects>, L<Pod::Select>
+
+B<Pod::InputObjects> defines POD input objects corresponding to
+command paragraphs, parse-trees, and interior-sequences.
+
+B<Pod::Select> is a subclass of B<Pod::Parser> which provides the ability
+to selectively include and/or exclude sections of a POD document from being
+translated based upon the current heading, subheading, subsubheading, etc.
+
+=for __PRIVATE__
+B<Pod::Callbacks> is a subclass of B<Pod::Parser> which gives its users
+the ability the employ I<callback functions> instead of, or in addition
+to, overriding methods of the base class.
+
+=for __PRIVATE__
+B<Pod::Select> and B<Pod::Callbacks> do not override any
+methods nor do they define any new methods with the same name. Because
+of this, they may I<both> be used (in combination) as a base class of
+the same subclass in order to combine their functionality without
+causing any namespace clashes due to multiple inheritance.
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Brad Appleton E<lt>bradapp at enteract.comE<gt>
+
+Based on code for B<Pod::Text> written by
+Tom Christiansen E<lt>tchrist at mox.perl.comE<gt>
+
+=head1 LICENSE
+
+Pod-Parser is free software; you can redistribute it and/or modify it
+under the terms of the Artistic License distributed with Perl version
+5.000 or (at your option) any later version. Please refer to the
+Artistic License that came with your Perl distribution for more
+details. If your version of Perl was not distributed under the
+terms of the Artistic License, than you may distribute PodParser
+under the same terms as Perl itself.
+
+=cut
+
+1;
+# vim: ts=4 sw=4 et


Property changes on: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Parser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/PlainText.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/lib/Pod/PlainText.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/lib/Pod/PlainText.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,738 +1,744 @@
-# Pod::PlainText -- Convert POD data to formatted ASCII text.
-# $Id: PlainText.pm,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $
-#
-# Copyright 1999-2000 by Russ Allbery <rra at stanford.edu>
-#
-# This program is free software; you can redistribute it and/or modify it
-# under the same terms as Perl itself.
-#
-# This module is intended to be a replacement for Pod::Text, and attempts to
-# match its output except for some specific circumstances where other
-# decisions seemed to produce better output.  It uses Pod::Parser and is
-# designed to be very easy to subclass.
-
-############################################################################
-# Modules and declarations
-############################################################################
-
-package Pod::PlainText;
-use strict;
-
-require 5.005;
-
-use Carp qw(carp croak);
-use Pod::Select ();
-
-use vars qw(@ISA %ESCAPES $VERSION);
-
-# We inherit from Pod::Select instead of Pod::Parser so that we can be used
-# by Pod::Usage.
- at ISA = qw(Pod::Select);
-
-$VERSION = '2.04';
-
-BEGIN {
-   if ($] < 5.006) {
-      require Symbol;
-      import Symbol;
-   }
-}
-
-############################################################################
-# Table of supported E<> escapes
-############################################################################
-
-# This table is taken near verbatim from Pod::PlainText in Pod::Parser,
-# which got it near verbatim from the original Pod::Text.  It is therefore
-# credited to Tom Christiansen, and I'm glad I didn't have to write it.  :)
-%ESCAPES = (
-    'amp'       =>    '&',      # ampersand
-    'lt'        =>    '<',      # left chevron, less-than
-    'gt'        =>    '>',      # right chevron, greater-than
-    'quot'      =>    '"',      # double quote
-
-    "Aacute"    =>    "\xC1",   # capital A, acute accent
-    "aacute"    =>    "\xE1",   # small a, acute accent
-    "Acirc"     =>    "\xC2",   # capital A, circumflex accent
-    "acirc"     =>    "\xE2",   # small a, circumflex accent
-    "AElig"     =>    "\xC6",   # capital AE diphthong (ligature)
-    "aelig"     =>    "\xE6",   # small ae diphthong (ligature)
-    "Agrave"    =>    "\xC0",   # capital A, grave accent
-    "agrave"    =>    "\xE0",   # small a, grave accent
-    "Aring"     =>    "\xC5",   # capital A, ring
-    "aring"     =>    "\xE5",   # small a, ring
-    "Atilde"    =>    "\xC3",   # capital A, tilde
-    "atilde"    =>    "\xE3",   # small a, tilde
-    "Auml"      =>    "\xC4",   # capital A, dieresis or umlaut mark
-    "auml"      =>    "\xE4",   # small a, dieresis or umlaut mark
-    "Ccedil"    =>    "\xC7",   # capital C, cedilla
-    "ccedil"    =>    "\xE7",   # small c, cedilla
-    "Eacute"    =>    "\xC9",   # capital E, acute accent
-    "eacute"    =>    "\xE9",   # small e, acute accent
-    "Ecirc"     =>    "\xCA",   # capital E, circumflex accent
-    "ecirc"     =>    "\xEA",   # small e, circumflex accent
-    "Egrave"    =>    "\xC8",   # capital E, grave accent
-    "egrave"    =>    "\xE8",   # small e, grave accent
-    "ETH"       =>    "\xD0",   # capital Eth, Icelandic
-    "eth"       =>    "\xF0",   # small eth, Icelandic
-    "Euml"      =>    "\xCB",   # capital E, dieresis or umlaut mark
-    "euml"      =>    "\xEB",   # small e, dieresis or umlaut mark
-    "Iacute"    =>    "\xCD",   # capital I, acute accent
-    "iacute"    =>    "\xED",   # small i, acute accent
-    "Icirc"     =>    "\xCE",   # capital I, circumflex accent
-    "icirc"     =>    "\xEE",   # small i, circumflex accent
-    "Igrave"    =>    "\xCD",   # capital I, grave accent
-    "igrave"    =>    "\xED",   # small i, grave accent
-    "Iuml"      =>    "\xCF",   # capital I, dieresis or umlaut mark
-    "iuml"      =>    "\xEF",   # small i, dieresis or umlaut mark
-    "Ntilde"    =>    "\xD1",   # capital N, tilde
-    "ntilde"    =>    "\xF1",   # small n, tilde
-    "Oacute"    =>    "\xD3",   # capital O, acute accent
-    "oacute"    =>    "\xF3",   # small o, acute accent
-    "Ocirc"     =>    "\xD4",   # capital O, circumflex accent
-    "ocirc"     =>    "\xF4",   # small o, circumflex accent
-    "Ograve"    =>    "\xD2",   # capital O, grave accent
-    "ograve"    =>    "\xF2",   # small o, grave accent
-    "Oslash"    =>    "\xD8",   # capital O, slash
-    "oslash"    =>    "\xF8",   # small o, slash
-    "Otilde"    =>    "\xD5",   # capital O, tilde
-    "otilde"    =>    "\xF5",   # small o, tilde
-    "Ouml"      =>    "\xD6",   # capital O, dieresis or umlaut mark
-    "ouml"      =>    "\xF6",   # small o, dieresis or umlaut mark
-    "szlig"     =>    "\xDF",   # small sharp s, German (sz ligature)
-    "THORN"     =>    "\xDE",   # capital THORN, Icelandic
-    "thorn"     =>    "\xFE",   # small thorn, Icelandic
-    "Uacute"    =>    "\xDA",   # capital U, acute accent
-    "uacute"    =>    "\xFA",   # small u, acute accent
-    "Ucirc"     =>    "\xDB",   # capital U, circumflex accent
-    "ucirc"     =>    "\xFB",   # small u, circumflex accent
-    "Ugrave"    =>    "\xD9",   # capital U, grave accent
-    "ugrave"    =>    "\xF9",   # small u, grave accent
-    "Uuml"      =>    "\xDC",   # capital U, dieresis or umlaut mark
-    "uuml"      =>    "\xFC",   # small u, dieresis or umlaut mark
-    "Yacute"    =>    "\xDD",   # capital Y, acute accent
-    "yacute"    =>    "\xFD",   # small y, acute accent
-    "yuml"      =>    "\xFF",   # small y, dieresis or umlaut mark
-
-    "lchevron"  =>    "\xAB",   # left chevron (double less than)
-    "rchevron"  =>    "\xBB",   # right chevron (double greater than)
-);
-
-
-############################################################################
-# Initialization
-############################################################################
-
-# Initialize the object.  Must be sure to call our parent initializer.
-sub initialize {
-    my $self = shift;
-
-    $$self{alt}      = 0  unless defined $$self{alt};
-    $$self{indent}   = 4  unless defined $$self{indent};
-    $$self{loose}    = 0  unless defined $$self{loose};
-    $$self{sentence} = 0  unless defined $$self{sentence};
-    $$self{width}    = 76 unless defined $$self{width};
-
-    $$self{INDENTS}  = [];              # Stack of indentations.
-    $$self{MARGIN}   = $$self{indent};  # Current left margin in spaces.
-
-    return $self->SUPER::initialize;
-}
-
-
-############################################################################
-# Core overrides
-############################################################################
-
-# Called for each command paragraph.  Gets the command, the associated
-# paragraph, the line number, and a Pod::Paragraph object.  Just dispatches
-# the command to a method named the same as the command.  =cut is handled
-# internally by Pod::Parser.
-sub command {
-    my $self = shift;
-    my $command = shift;
-    return if $command eq 'pod';
-    return if ($$self{EXCLUDE} && $command ne 'end');
-    if (defined $$self{ITEM}) {
-      $self->item ("\n");
-      local $_ = "\n";
-      $self->output($_) if($command eq 'back');
-    }
-    $command = 'cmd_' . $command;
-    return $self->$command (@_);
-}
-
-# Called for a verbatim paragraph.  Gets the paragraph, the line number, and
-# a Pod::Paragraph object.  Just output it verbatim, but with tabs converted
-# to spaces.
-sub verbatim {
-    my $self = shift;
-    return if $$self{EXCLUDE};
-    $self->item if defined $$self{ITEM};
-    local $_ = shift;
-    return if /^\s*$/;
-    s/^(\s*\S+)/(' ' x $$self{MARGIN}) . $1/gme;
-    return $self->output($_);
-}
-
-# Called for a regular text block.  Gets the paragraph, the line number, and
-# a Pod::Paragraph object.  Perform interpolation and output the results.
-sub textblock {
-    my $self = shift;
-    return if $$self{EXCLUDE};
-    if($$self{VERBATIM}) {
-      $self->output($_[0]);
-      return;
-    }
-    local $_ = shift;
-    my $line = shift;
-
-    # Perform a little magic to collapse multiple L<> references.  This is
-    # here mostly for backwards-compatibility.  We'll just rewrite the whole
-    # thing into actual text at this part, bypassing the whole internal
-    # sequence parsing thing.
-    s{
-        (
-          L<                    # A link of the form L</something>.
-              /
-              (
-                  [:\w]+        # The item has to be a simple word...
-                  (\(\))?       # ...or simple function.
-              )
-          >
-          (
-              ,?\s+(and\s+)?    # Allow lots of them, conjuncted.
-              L<  
-                  /
-                  (
-                      [:\w]+
-                      (\(\))?
-                  )
-              >
-          )+
-        )
-    } {
-        local $_ = $1;
-        s%L</([^>]+)>%$1%g;
-        my @items = split /(?:,?\s+(?:and\s+)?)/;
-        my $string = "the ";
-        my $i;
-        for ($i = 0; $i < @items; $i++) {
-            $string .= $items[$i];
-            $string .= ", " if @items > 2 && $i != $#items;
-            $string .= " and " if ($i == $#items - 1);
-        }
-        $string .= " entries elsewhere in this document";
-        $string;
-    }gex;
-
-    # Now actually interpolate and output the paragraph.
-    $_ = $self->interpolate ($_, $line);
-    s/\s*$/\n/s;
-    if (defined $$self{ITEM}) {
-        $self->item ($_ . "\n");
-    } else {
-        $self->output ($self->reformat ($_ . "\n"));
-    }
-}
-
-# Called for an interior sequence.  Gets the command, argument, and a
-# Pod::InteriorSequence object and is expected to return the resulting text.
-# Calls code, bold, italic, file, and link to handle those types of
-# sequences, and handles S<>, E<>, X<>, and Z<> directly.
-sub interior_sequence {
-    my $self = shift;
-    my $command = shift;
-    local $_ = shift;
-    return '' if ($command eq 'X' || $command eq 'Z');
-
-    # Expand escapes into the actual character now, carping if invalid.
-    if ($command eq 'E') {
-        return $ESCAPES{$_} if defined $ESCAPES{$_};
-        carp "Unknown escape: E<$_>";
-        return "E<$_>";
-    }
-
-    # For all the other sequences, empty content produces no output.
-    return if $_ eq '';
-
-    # For S<>, compress all internal whitespace and then map spaces to \01.
-    # When we output the text, we'll map this back.
-    if ($command eq 'S') {
-        s/\s{2,}/ /g;
-        tr/ /\01/;
-        return $_;
-    }
-
-    # Anything else needs to get dispatched to another method.
-    if    ($command eq 'B') { return $self->seq_b ($_) }
-    elsif ($command eq 'C') { return $self->seq_c ($_) }
-    elsif ($command eq 'F') { return $self->seq_f ($_) }
-    elsif ($command eq 'I') { return $self->seq_i ($_) }
-    elsif ($command eq 'L') { return $self->seq_l ($_) }
-    else { carp "Unknown sequence $command<$_>" }
-}
-
-# Called for each paragraph that's actually part of the POD.  We take
-# advantage of this opportunity to untabify the input.
-sub preprocess_paragraph {
-    my $self = shift;
-    local $_ = shift;
-    1 while s/^(.*?)(\t+)/$1 . ' ' x (length ($2) * 8 - length ($1) % 8)/me;
-    return $_;
-}
-
-
-############################################################################
-# Command paragraphs
-############################################################################
-
-# All command paragraphs take the paragraph and the line number.
-
-# First level heading.
-sub cmd_head1 {
-    my $self = shift;
-    local $_ = shift;
-    s/\s+$//s;
-    $_ = $self->interpolate ($_, shift);
-    if ($$self{alt}) {
-        $self->output ("\n==== $_ ====\n\n");
-    } else {
-        $_ .= "\n" if $$self{loose};
-        $self->output ($_ . "\n");
-    }
-}
-
-# Second level heading.
-sub cmd_head2 {
-    my $self = shift;
-    local $_ = shift;
-    s/\s+$//s;
-    $_ = $self->interpolate ($_, shift);
-    if ($$self{alt}) {
-        $self->output ("\n==   $_   ==\n\n");
-    } else {
-        $_ .= "\n" if $$self{loose};
-        $self->output (' ' x ($$self{indent} / 2) . $_ . "\n");
-    }
-}
-
-# third level heading - not strictly perlpodspec compliant
-sub cmd_head3 {
-    my $self = shift;
-    local $_ = shift;
-    s/\s+$//s;
-    $_ = $self->interpolate ($_, shift);
-    if ($$self{alt}) {
-        $self->output ("\n= $_ =\n");
-    } else {
-        $_ .= "\n" if $$self{loose};
-        $self->output (' ' x ($$self{indent}) . $_ . "\n");
-    }
-}
-
-# fourth level heading - not strictly perlpodspec compliant
-# just like head3
-*cmd_head4 = \&cmd_head3;
-
-# Start a list.
-sub cmd_over {
-    my $self = shift;
-    local $_ = shift;
-    unless (/^[-+]?\d+\s+$/) { $_ = $$self{indent} }
-    push (@{ $$self{INDENTS} }, $$self{MARGIN});
-    $$self{MARGIN} += ($_ + 0);
-}
-
-# End a list.
-sub cmd_back {
-    my $self = shift;
-    $$self{MARGIN} = pop @{ $$self{INDENTS} };
-    unless (defined $$self{MARGIN}) {
-        carp 'Unmatched =back';
-        $$self{MARGIN} = $$self{indent};
-    }
-}
-
-# An individual list item.
-sub cmd_item {
-    my $self = shift;
-    if (defined $$self{ITEM}) { $self->item }
-    local $_ = shift;
-    s/\s+$//s;
-    $$self{ITEM} = $self->interpolate ($_);
-}
-
-# Begin a block for a particular translator.  Setting VERBATIM triggers
-# special handling in textblock().
-sub cmd_begin {
-    my $self = shift;
-    local $_ = shift;
-    my ($kind) = /^(\S+)/ or return;
-    if ($kind eq 'text') {
-        $$self{VERBATIM} = 1;
-    } else {
-        $$self{EXCLUDE} = 1;
-    }
-}
-
-# End a block for a particular translator.  We assume that all =begin/=end
-# pairs are properly closed.
-sub cmd_end {
-    my $self = shift;
-    $$self{EXCLUDE} = 0;
-    $$self{VERBATIM} = 0;
-}
-
-# One paragraph for a particular translator.  Ignore it unless it's intended
-# for text, in which case we treat it as a verbatim text block.
-sub cmd_for {
-    my $self = shift;
-    local $_ = shift;
-    my $line = shift;
-    return unless s/^text\b[ \t]*\n?//;
-    $self->verbatim ($_, $line);
-}
-
-
-############################################################################
-# Interior sequences
-############################################################################
-
-# The simple formatting ones.  These are here mostly so that subclasses can
-# override them and do more complicated things.
-sub seq_b { return $_[0]{alt} ? "``$_[1]''" : $_[1] }
-sub seq_c { return $_[0]{alt} ? "``$_[1]''" : "`$_[1]'" }
-sub seq_f { return $_[0]{alt} ? "\"$_[1]\"" : $_[1] }
-sub seq_i { return '*' . $_[1] . '*' }
-
-# The complicated one.  Handle links.  Since this is plain text, we can't
-# actually make any real links, so this is all to figure out what text we
-# print out.
-sub seq_l {
-    my $self = shift;
-    local $_ = shift;
-
-    # Smash whitespace in case we were split across multiple lines.
-    s/\s+/ /g;
-
-    # If we were given any explicit text, just output it.
-    if (/^([^|]+)\|/) { return $1 }
-
-    # Okay, leading and trailing whitespace isn't important; get rid of it.
-    s/^\s+//;
-    s/\s+$//;
-
-    # Default to using the whole content of the link entry as a section
-    # name.  Note that L<manpage/> forces a manpage interpretation, as does
-    # something looking like L<manpage(section)>.  The latter is an
-    # enhancement over the original Pod::Text.
-    my ($manpage, $section) = ('', $_);
-    if (/^(?:https?|ftp|news):/) {
-        # a URL
-        return $_;
-    } elsif (/^"\s*(.*?)\s*"$/) {
-        $section = '"' . $1 . '"';
-    } elsif (m/^[-:.\w]+(?:\(\S+\))?$/) {
-        ($manpage, $section) = ($_, '');
-    } elsif (m{/}) {
-        ($manpage, $section) = split (/\s*\/\s*/, $_, 2);
-    }
-
-    my $text = '';
-    # Now build the actual output text.
-    if (!length $section) {
-        $text = "the $manpage manpage" if length $manpage;
-    } elsif ($section =~ /^[:\w]+(?:\(\))?/) {
-        $text .= 'the ' . $section . ' entry';
-        $text .= (length $manpage) ? " in the $manpage manpage"
-                                   : ' elsewhere in this document';
-    } else {
-        $section =~ s/^\"\s*//;
-        $section =~ s/\s*\"$//;
-        $text .= 'the section on "' . $section . '"';
-        $text .= " in the $manpage manpage" if length $manpage;
-    }
-    return $text;
-}
-
-
-############################################################################
-# List handling
-############################################################################
-
-# This method is called whenever an =item command is complete (in other
-# words, we've seen its associated paragraph or know for certain that it
-# doesn't have one).  It gets the paragraph associated with the item as an
-# argument.  If that argument is empty, just output the item tag; if it
-# contains a newline, output the item tag followed by the newline.
-# Otherwise, see if there's enough room for us to output the item tag in the
-# margin of the text or if we have to put it on a separate line.
-sub item {
-    my $self = shift;
-    local $_ = shift;
-    my $tag = $$self{ITEM};
-    unless (defined $tag) {
-        carp 'item called without tag';
-        return;
-    }
-    undef $$self{ITEM};
-    my $indent = $$self{INDENTS}[-1];
-    unless (defined $indent) { $indent = $$self{indent} }
-    my $space = ' ' x $indent;
-    $space =~ s/^ /:/ if $$self{alt};
-    if (!$_ || /^\s+$/ || ($$self{MARGIN} - $indent < length ($tag) + 1)) {
-        my $margin = $$self{MARGIN};
-        $$self{MARGIN} = $indent;
-        my $output = $self->reformat ($tag);
-        $output =~ s/\n*$/\n/;
-        $self->output ($output);
-        $$self{MARGIN} = $margin;
-        $self->output ($self->reformat ($_)) if /\S/;
-    } else {
-        $_ = $self->reformat ($_);
-        s/^ /:/ if ($$self{alt} && $indent > 0);
-        my $tagspace = ' ' x length $tag;
-        s/^($space)$tagspace/$1$tag/ or carp 'Bizarre space in item';
-        $self->output ($_);
-    }
-}
-
-
-############################################################################
-# Output formatting
-############################################################################
-
-# Wrap a line, indenting by the current left margin.  We can't use
-# Text::Wrap because it plays games with tabs.  We can't use formline, even
-# though we'd really like to, because it screws up non-printing characters.
-# So we have to do the wrapping ourselves.
-sub wrap {
-    my $self = shift;
-    local $_ = shift;
-    my $output = '';
-    my $spaces = ' ' x $$self{MARGIN};
-    my $width = $$self{width} - $$self{MARGIN};
-    while (length > $width) {
-        if (s/^([^\n]{0,$width})\s+// || s/^([^\n]{$width})//) {
-            $output .= $spaces . $1 . "\n";
-        } else {
-            last;
-        }
-    }
-    $output .= $spaces . $_;
-    $output =~ s/\s+$/\n\n/;
-    return $output;
-}
-
-# Reformat a paragraph of text for the current margin.  Takes the text to
-# reformat and returns the formatted text.
-sub reformat {
-    my $self = shift;
-    local $_ = shift;
-
-    # If we're trying to preserve two spaces after sentences, do some
-    # munging to support that.  Otherwise, smash all repeated whitespace.
-    if ($$self{sentence}) {
-        s/ +$//mg;
-        s/\.\n/. \n/g;
-        s/\n/ /g;
-        s/   +/  /g;
-    } else {
-        s/\s+/ /g;
-    }
-    return $self->wrap($_);
-}
-
-# Output text to the output device.
-sub output { $_[1] =~ tr/\01/ /; print { $_[0]->output_handle } $_[1] }
-
-
-############################################################################
-# Backwards compatibility
-############################################################################
-
-# The old Pod::Text module did everything in a pod2text() function.  This
-# tries to provide the same interface for legacy applications.
-sub pod2text {
-    my @args;
-
-    # This is really ugly; I hate doing option parsing in the middle of a
-    # module.  But the old Pod::Text module supported passing flags to its
-    # entry function, so handle -a and -<number>.
-    while ($_[0] =~ /^-/) {
-        my $flag = shift;
-        if    ($flag eq '-a')       { push (@args, alt => 1)    }
-        elsif ($flag =~ /^-(\d+)$/) { push (@args, width => $1) }
-        else {
-            unshift (@_, $flag);
-            last;
-        }
-    }
-
-    # Now that we know what arguments we're using, create the parser.
-    my $parser = Pod::PlainText->new (@args);
-
-    # If two arguments were given, the second argument is going to be a file
-    # handle.  That means we want to call parse_from_filehandle(), which
-    # means we need to turn the first argument into a file handle.  Magic
-    # open will handle the <&STDIN case automagically.
-    if (defined $_[1]) {
-        my $infh;
-        if ($] < 5.006) {
-          $infh = gensym();
-        }
-        unless (open ($infh, $_[0])) {
-            croak ("Can't open $_[0] for reading: $!\n");
-        }
-        $_[0] = $infh;
-        return $parser->parse_from_filehandle (@_);
-    } else {
-        return $parser->parse_from_file (@_);
-    }
-}
-
-
-############################################################################
-# Module return value and documentation
-############################################################################
-
-1;
-__END__
-
-=head1 NAME
-
-Pod::PlainText - Convert POD data to formatted ASCII text
-
-=head1 SYNOPSIS
-
-    use Pod::PlainText;
-    my $parser = Pod::PlainText->new (sentence => 0, width => 78);
-
-    # Read POD from STDIN and write to STDOUT.
-    $parser->parse_from_filehandle;
-
-    # Read POD from file.pod and write to file.txt.
-    $parser->parse_from_file ('file.pod', 'file.txt');
-
-=head1 DESCRIPTION
-
-Pod::PlainText is a module that can convert documentation in the POD format (the
-preferred language for documenting Perl) into formatted ASCII.  It uses no
-special formatting controls or codes whatsoever, and its output is therefore
-suitable for nearly any device.
-
-As a derived class from Pod::Parser, Pod::PlainText supports the same methods and
-interfaces.  See L<Pod::Parser> for all the details; briefly, one creates a
-new parser with C<Pod::PlainText-E<gt>new()> and then calls either
-parse_from_filehandle() or parse_from_file().
-
-new() can take options, in the form of key/value pairs, that control the
-behavior of the parser.  The currently recognized options are:
-
-=over 4
-
-=item alt
-
-If set to a true value, selects an alternate output format that, among other
-things, uses a different heading style and marks C<=item> entries with a
-colon in the left margin.  Defaults to false.
-
-=item indent
-
-The number of spaces to indent regular text, and the default indentation for
-C<=over> blocks.  Defaults to 4.
-
-=item loose
-
-If set to a true value, a blank line is printed after a C<=headN> headings.
-If set to false (the default), no blank line is printed after C<=headN>.
-This is the default because it's the expected formatting for manual pages;
-if you're formatting arbitrary text documents, setting this to true may
-result in more pleasing output.
-
-=item sentence
-
-If set to a true value, Pod::PlainText will assume that each sentence ends in two
-spaces, and will try to preserve that spacing.  If set to false, all
-consecutive whitespace in non-verbatim paragraphs is compressed into a
-single space.  Defaults to true.
-
-=item width
-
-The column at which to wrap text on the right-hand side.  Defaults to 76.
-
-=back
-
-The standard Pod::Parser method parse_from_filehandle() takes up to two
-arguments, the first being the file handle to read POD from and the second
-being the file handle to write the formatted output to.  The first defaults
-to STDIN if not given, and the second defaults to STDOUT.  The method
-parse_from_file() is almost identical, except that its two arguments are the
-input and output disk files instead.  See L<Pod::Parser> for the specific
-details.
-
-=head1 DIAGNOSTICS
-
-=over 4
-
-=item Bizarre space in item
-
-(W) Something has gone wrong in internal C<=item> processing.  This message
-indicates a bug in Pod::PlainText; you should never see it.
-
-=item Can't open %s for reading: %s
-
-(F) Pod::PlainText was invoked via the compatibility mode pod2text() interface
-and the input file it was given could not be opened.
-
-=item Unknown escape: %s
-
-(W) The POD source contained an C<EE<lt>E<gt>> escape that Pod::PlainText didn't
-know about.
-
-=item Unknown sequence: %s
-
-(W) The POD source contained a non-standard internal sequence (something of
-the form C<XE<lt>E<gt>>) that Pod::PlainText didn't know about.
-
-=item Unmatched =back
-
-(W) Pod::PlainText encountered a C<=back> command that didn't correspond to an
-C<=over> command.
-
-=back
-
-=head1 RESTRICTIONS
-
-Embedded Ctrl-As (octal 001) in the input will be mapped to spaces on
-output, due to an internal implementation detail.
-
-=head1 NOTES
-
-This is a replacement for an earlier Pod::Text module written by Tom
-Christiansen.  It has a revamped interface, since it now uses Pod::Parser,
-but an interface roughly compatible with the old Pod::Text::pod2text()
-function is still available.  Please change to the new calling convention,
-though.
-
-The original Pod::Text contained code to do formatting via termcap
-sequences, although it wasn't turned on by default and it was problematic to
-get it to work at all.  This rewrite doesn't even try to do that, but a
-subclass of it does.  Look for L<Pod::Text::Termcap|Pod::Text::Termcap>.
-
-=head1 SEE ALSO
-
-L<Pod::Parser|Pod::Parser>, L<Pod::Text::Termcap|Pod::Text::Termcap>,
-pod2text(1)
-
-=head1 AUTHOR
-
-Please report bugs using L<http://rt.cpan.org>.
-
-Russ Allbery E<lt>rra at stanford.eduE<gt>, based I<very> heavily on the
-original Pod::Text by Tom Christiansen E<lt>tchrist at mox.perl.comE<gt> and
-its conversion to Pod::Parser by Brad Appleton
-E<lt>bradapp at enteract.comE<gt>.
-
-=cut
+# Pod::PlainText -- Convert POD data to formatted ASCII text.
+# $Id: Text.pm,v 2.1 1999/09/20 11:53:33 eagle Exp $
+#
+# Copyright 1999-2000 by Russ Allbery <rra at stanford.edu>
+#
+# This program is free software; you can redistribute it and/or modify it
+# under the same terms as Perl itself.
+#
+# This module is intended to be a replacement for Pod::Text, and attempts to
+# match its output except for some specific circumstances where other
+# decisions seemed to produce better output.  It uses Pod::Parser and is
+# designed to be very easy to subclass.
+
+############################################################################
+# Modules and declarations
+############################################################################
+
+package Pod::PlainText;
+use strict;
+
+require 5.005;
+
+use Carp qw(carp croak);
+use Pod::Select ();
+
+use vars qw(@ISA %ESCAPES $VERSION);
+
+# We inherit from Pod::Select instead of Pod::Parser so that we can be used
+# by Pod::Usage.
+ at ISA = qw(Pod::Select);
+
+$VERSION = '2.06';
+
+BEGIN {
+   if ($] < 5.006) {
+      require Symbol;
+      import Symbol;
+   }
+}
+
+############################################################################
+# Table of supported E<> escapes
+############################################################################
+
+# This table is taken near verbatim from Pod::PlainText in Pod::Parser,
+# which got it near verbatim from the original Pod::Text.  It is therefore
+# credited to Tom Christiansen, and I'm glad I didn't have to write it.  :)
+%ESCAPES = (
+    'amp'       =>    '&',      # ampersand
+    'lt'        =>    '<',      # left chevron, less-than
+    'gt'        =>    '>',      # right chevron, greater-than
+    'quot'      =>    '"',      # double quote
+
+    "Aacute"    =>    "\xC1",   # capital A, acute accent
+    "aacute"    =>    "\xE1",   # small a, acute accent
+    "Acirc"     =>    "\xC2",   # capital A, circumflex accent
+    "acirc"     =>    "\xE2",   # small a, circumflex accent
+    "AElig"     =>    "\xC6",   # capital AE diphthong (ligature)
+    "aelig"     =>    "\xE6",   # small ae diphthong (ligature)
+    "Agrave"    =>    "\xC0",   # capital A, grave accent
+    "agrave"    =>    "\xE0",   # small a, grave accent
+    "Aring"     =>    "\xC5",   # capital A, ring
+    "aring"     =>    "\xE5",   # small a, ring
+    "Atilde"    =>    "\xC3",   # capital A, tilde
+    "atilde"    =>    "\xE3",   # small a, tilde
+    "Auml"      =>    "\xC4",   # capital A, dieresis or umlaut mark
+    "auml"      =>    "\xE4",   # small a, dieresis or umlaut mark
+    "Ccedil"    =>    "\xC7",   # capital C, cedilla
+    "ccedil"    =>    "\xE7",   # small c, cedilla
+    "Eacute"    =>    "\xC9",   # capital E, acute accent
+    "eacute"    =>    "\xE9",   # small e, acute accent
+    "Ecirc"     =>    "\xCA",   # capital E, circumflex accent
+    "ecirc"     =>    "\xEA",   # small e, circumflex accent
+    "Egrave"    =>    "\xC8",   # capital E, grave accent
+    "egrave"    =>    "\xE8",   # small e, grave accent
+    "ETH"       =>    "\xD0",   # capital Eth, Icelandic
+    "eth"       =>    "\xF0",   # small eth, Icelandic
+    "Euml"      =>    "\xCB",   # capital E, dieresis or umlaut mark
+    "euml"      =>    "\xEB",   # small e, dieresis or umlaut mark
+    "Iacute"    =>    "\xCD",   # capital I, acute accent
+    "iacute"    =>    "\xED",   # small i, acute accent
+    "Icirc"     =>    "\xCE",   # capital I, circumflex accent
+    "icirc"     =>    "\xEE",   # small i, circumflex accent
+    "Igrave"    =>    "\xCD",   # capital I, grave accent
+    "igrave"    =>    "\xED",   # small i, grave accent
+    "Iuml"      =>    "\xCF",   # capital I, dieresis or umlaut mark
+    "iuml"      =>    "\xEF",   # small i, dieresis or umlaut mark
+    "Ntilde"    =>    "\xD1",   # capital N, tilde
+    "ntilde"    =>    "\xF1",   # small n, tilde
+    "Oacute"    =>    "\xD3",   # capital O, acute accent
+    "oacute"    =>    "\xF3",   # small o, acute accent
+    "Ocirc"     =>    "\xD4",   # capital O, circumflex accent
+    "ocirc"     =>    "\xF4",   # small o, circumflex accent
+    "Ograve"    =>    "\xD2",   # capital O, grave accent
+    "ograve"    =>    "\xF2",   # small o, grave accent
+    "Oslash"    =>    "\xD8",   # capital O, slash
+    "oslash"    =>    "\xF8",   # small o, slash
+    "Otilde"    =>    "\xD5",   # capital O, tilde
+    "otilde"    =>    "\xF5",   # small o, tilde
+    "Ouml"      =>    "\xD6",   # capital O, dieresis or umlaut mark
+    "ouml"      =>    "\xF6",   # small o, dieresis or umlaut mark
+    "szlig"     =>    "\xDF",   # small sharp s, German (sz ligature)
+    "THORN"     =>    "\xDE",   # capital THORN, Icelandic
+    "thorn"     =>    "\xFE",   # small thorn, Icelandic
+    "Uacute"    =>    "\xDA",   # capital U, acute accent
+    "uacute"    =>    "\xFA",   # small u, acute accent
+    "Ucirc"     =>    "\xDB",   # capital U, circumflex accent
+    "ucirc"     =>    "\xFB",   # small u, circumflex accent
+    "Ugrave"    =>    "\xD9",   # capital U, grave accent
+    "ugrave"    =>    "\xF9",   # small u, grave accent
+    "Uuml"      =>    "\xDC",   # capital U, dieresis or umlaut mark
+    "uuml"      =>    "\xFC",   # small u, dieresis or umlaut mark
+    "Yacute"    =>    "\xDD",   # capital Y, acute accent
+    "yacute"    =>    "\xFD",   # small y, acute accent
+    "yuml"      =>    "\xFF",   # small y, dieresis or umlaut mark
+
+    "lchevron"  =>    "\xAB",   # left chevron (double less than)
+    "rchevron"  =>    "\xBB",   # right chevron (double greater than)
+);
+
+
+############################################################################
+# Initialization
+############################################################################
+
+# Initialize the object.  Must be sure to call our parent initializer.
+sub initialize {
+    my $self = shift;
+
+    $$self{alt}      = 0  unless defined $$self{alt};
+    $$self{indent}   = 4  unless defined $$self{indent};
+    $$self{loose}    = 0  unless defined $$self{loose};
+    $$self{sentence} = 0  unless defined $$self{sentence};
+    $$self{width}    = 76 unless defined $$self{width};
+
+    $$self{INDENTS}  = [];              # Stack of indentations.
+    $$self{MARGIN}   = $$self{indent};  # Current left margin in spaces.
+
+    return $self->SUPER::initialize;
+}
+
+
+############################################################################
+# Core overrides
+############################################################################
+
+# Called for each command paragraph.  Gets the command, the associated
+# paragraph, the line number, and a Pod::Paragraph object.  Just dispatches
+# the command to a method named the same as the command.  =cut is handled
+# internally by Pod::Parser.
+sub command {
+    my $self = shift;
+    my $command = shift;
+    return if $command eq 'pod';
+    return if ($$self{EXCLUDE} && $command ne 'end');
+    if (defined $$self{ITEM}) {
+      $self->item ("\n");
+      local $_ = "\n";
+      $self->output($_) if($command eq 'back');
+    }
+    $command = 'cmd_' . $command;
+    return $self->$command (@_);
+}
+
+# Called for a verbatim paragraph.  Gets the paragraph, the line number, and
+# a Pod::Paragraph object.  Just output it verbatim, but with tabs converted
+# to spaces.
+sub verbatim {
+    my $self = shift;
+    return if $$self{EXCLUDE};
+    $self->item if defined $$self{ITEM};
+    local $_ = shift;
+    return if /^\s*$/;
+    s/^(\s*\S+)/(' ' x $$self{MARGIN}) . $1/gme;
+    return $self->output($_);
+}
+
+# Called for a regular text block.  Gets the paragraph, the line number, and
+# a Pod::Paragraph object.  Perform interpolation and output the results.
+sub textblock {
+    my $self = shift;
+    return if $$self{EXCLUDE};
+    if($$self{VERBATIM}) {
+      $self->output($_[0]);
+      return;
+    }
+    local $_ = shift;
+    my $line = shift;
+
+    # Perform a little magic to collapse multiple L<> references.  This is
+    # here mostly for backwards-compatibility.  We'll just rewrite the whole
+    # thing into actual text at this part, bypassing the whole internal
+    # sequence parsing thing.
+    s{
+        (
+          L<                    # A link of the form L</something>.
+              /
+              (
+                  [:\w]+        # The item has to be a simple word...
+                  (\(\))?       # ...or simple function.
+              )
+          >
+          (
+              ,?\s+(and\s+)?    # Allow lots of them, conjuncted.
+              L<  
+                  /
+                  (
+                      [:\w]+
+                      (\(\))?
+                  )
+              >
+          )+
+        )
+    } {
+        local $_ = $1;
+        s%L</([^>]+)>%$1%g;
+        my @items = split /(?:,?\s+(?:and\s+)?)/;
+        my $string = "the ";
+        my $i;
+        for ($i = 0; $i < @items; $i++) {
+            $string .= $items[$i];
+            $string .= ", " if @items > 2 && $i != $#items;
+            $string .= " and " if ($i == $#items - 1);
+        }
+        $string .= " entries elsewhere in this document";
+        $string;
+    }gex;
+
+    # Now actually interpolate and output the paragraph.
+    $_ = $self->interpolate ($_, $line);
+    s/\s*$/\n/s;
+    if (defined $$self{ITEM}) {
+        $self->item ($_ . "\n");
+    } else {
+        $self->output ($self->reformat ($_ . "\n"));
+    }
+}
+
+# Called for an interior sequence.  Gets the command, argument, and a
+# Pod::InteriorSequence object and is expected to return the resulting text.
+# Calls code, bold, italic, file, and link to handle those types of
+# sequences, and handles S<>, E<>, X<>, and Z<> directly.
+sub interior_sequence {
+    my $self = shift;
+    my $command = shift;
+    local $_ = shift;
+    return '' if ($command eq 'X' || $command eq 'Z');
+
+    # Expand escapes into the actual character now, carping if invalid.
+    if ($command eq 'E') {
+        return $ESCAPES{$_} if defined $ESCAPES{$_};
+        carp "Unknown escape: E<$_>";
+        return "E<$_>";
+    }
+
+    # For all the other sequences, empty content produces no output.
+    return if $_ eq '';
+
+    # For S<>, compress all internal whitespace and then map spaces to \01.
+    # When we output the text, we'll map this back.
+    if ($command eq 'S') {
+        s/\s{2,}/ /g;
+        tr/ /\01/;
+        return $_;
+    }
+
+    # Anything else needs to get dispatched to another method.
+    if    ($command eq 'B') { return $self->seq_b ($_) }
+    elsif ($command eq 'C') { return $self->seq_c ($_) }
+    elsif ($command eq 'F') { return $self->seq_f ($_) }
+    elsif ($command eq 'I') { return $self->seq_i ($_) }
+    elsif ($command eq 'L') { return $self->seq_l ($_) }
+    else { carp "Unknown sequence $command<$_>" }
+}
+
+# Called for each paragraph that's actually part of the POD.  We take
+# advantage of this opportunity to untabify the input.
+sub preprocess_paragraph {
+    my $self = shift;
+    local $_ = shift;
+    1 while s/^(.*?)(\t+)/$1 . ' ' x (length ($2) * 8 - length ($1) % 8)/me;
+    return $_;
+}
+
+
+############################################################################
+# Command paragraphs
+############################################################################
+
+# All command paragraphs take the paragraph and the line number.
+
+# First level heading.
+sub cmd_head1 {
+    my $self = shift;
+    local $_ = shift;
+    s/\s+$//s;
+    $_ = $self->interpolate ($_, shift);
+    if ($$self{alt}) {
+        $self->output ("\n==== $_ ====\n\n");
+    } else {
+        $_ .= "\n" if $$self{loose};
+        $self->output ($_ . "\n");
+    }
+}
+
+# Second level heading.
+sub cmd_head2 {
+    my $self = shift;
+    local $_ = shift;
+    s/\s+$//s;
+    $_ = $self->interpolate ($_, shift);
+    if ($$self{alt}) {
+        $self->output ("\n==   $_   ==\n\n");
+    } else {
+        $_ .= "\n" if $$self{loose};
+        $self->output (' ' x ($$self{indent} / 2) . $_ . "\n");
+    }
+}
+
+# third level heading - not strictly perlpodspec compliant
+sub cmd_head3 {
+    my $self = shift;
+    local $_ = shift;
+    s/\s+$//s;
+    $_ = $self->interpolate ($_, shift);
+    if ($$self{alt}) {
+        $self->output ("\n= $_ =\n");
+    } else {
+        $_ .= "\n" if $$self{loose};
+        $self->output (' ' x ($$self{indent}) . $_ . "\n");
+    }
+}
+
+# fourth level heading - not strictly perlpodspec compliant
+# just like head3
+*cmd_head4 = \&cmd_head3;
+
+# Start a list.
+sub cmd_over {
+    my $self = shift;
+    local $_ = shift;
+    unless (/^[-+]?\d+\s+$/) { $_ = $$self{indent} }
+    push (@{ $$self{INDENTS} }, $$self{MARGIN});
+    $$self{MARGIN} += ($_ + 0);
+}
+
+# End a list.
+sub cmd_back {
+    my $self = shift;
+    $$self{MARGIN} = pop @{ $$self{INDENTS} };
+    unless (defined $$self{MARGIN}) {
+        carp 'Unmatched =back';
+        $$self{MARGIN} = $$self{indent};
+    }
+}
+
+# An individual list item.
+sub cmd_item {
+    my $self = shift;
+    if (defined $$self{ITEM}) { $self->item }
+    local $_ = shift;
+    s/\s+$//s;
+    $$self{ITEM} = $self->interpolate ($_);
+}
+
+# Begin a block for a particular translator.  Setting VERBATIM triggers
+# special handling in textblock().
+sub cmd_begin {
+    my $self = shift;
+    local $_ = shift;
+    my ($kind) = /^(\S+)/ or return;
+    if ($kind eq 'text') {
+        $$self{VERBATIM} = 1;
+    } else {
+        $$self{EXCLUDE} = 1;
+    }
+}
+
+# End a block for a particular translator.  We assume that all =begin/=end
+# pairs are properly closed.
+sub cmd_end {
+    my $self = shift;
+    $$self{EXCLUDE} = 0;
+    $$self{VERBATIM} = 0;
+}
+
+# One paragraph for a particular translator.  Ignore it unless it's intended
+# for text, in which case we treat it as a verbatim text block.
+sub cmd_for {
+    my $self = shift;
+    local $_ = shift;
+    my $line = shift;
+    return unless s/^text\b[ \t]*\r?\n?//;
+    $self->verbatim ($_, $line);
+}
+
+# just a dummy method for the time being
+sub cmd_encoding {
+  return;
+}
+
+############################################################################
+# Interior sequences
+############################################################################
+
+# The simple formatting ones.  These are here mostly so that subclasses can
+# override them and do more complicated things.
+sub seq_b { return $_[0]{alt} ? "``$_[1]''" : $_[1] }
+sub seq_c { return $_[0]{alt} ? "``$_[1]''" : "`$_[1]'" }
+sub seq_f { return $_[0]{alt} ? "\"$_[1]\"" : $_[1] }
+sub seq_i { return '*' . $_[1] . '*' }
+
+# The complicated one.  Handle links.  Since this is plain text, we can't
+# actually make any real links, so this is all to figure out what text we
+# print out.
+sub seq_l {
+    my $self = shift;
+    local $_ = shift;
+
+    # Smash whitespace in case we were split across multiple lines.
+    s/\s+/ /g;
+
+    # If we were given any explicit text, just output it.
+    if (/^([^|]+)\|/) { return $1 }
+
+    # Okay, leading and trailing whitespace isn't important; get rid of it.
+    s/^\s+//;
+    s/\s+$//;
+
+    # Default to using the whole content of the link entry as a section
+    # name.  Note that L<manpage/> forces a manpage interpretation, as does
+    # something looking like L<manpage(section)>.  The latter is an
+    # enhancement over the original Pod::Text.
+    my ($manpage, $section) = ('', $_);
+    if (/^(?:https?|ftp|news):/) {
+        # a URL
+        return $_;
+    } elsif (/^"\s*(.*?)\s*"$/) {
+        $section = '"' . $1 . '"';
+    } elsif (m/^[-:.\w]+(?:\(\S+\))?$/) {
+        ($manpage, $section) = ($_, '');
+    } elsif (m{/}) {
+        ($manpage, $section) = split (/\s*\/\s*/, $_, 2);
+    }
+
+    my $text = '';
+    # Now build the actual output text.
+    if (!length $section) {
+        $text = "the $manpage manpage" if length $manpage;
+    } elsif ($section =~ /^[:\w]+(?:\(\))?/) {
+        $text .= 'the ' . $section . ' entry';
+        $text .= (length $manpage) ? " in the $manpage manpage"
+                                   : ' elsewhere in this document';
+    } else {
+        $section =~ s/^\"\s*//;
+        $section =~ s/\s*\"$//;
+        $text .= 'the section on "' . $section . '"';
+        $text .= " in the $manpage manpage" if length $manpage;
+    }
+    return $text;
+}
+
+
+############################################################################
+# List handling
+############################################################################
+
+# This method is called whenever an =item command is complete (in other
+# words, we've seen its associated paragraph or know for certain that it
+# doesn't have one).  It gets the paragraph associated with the item as an
+# argument.  If that argument is empty, just output the item tag; if it
+# contains a newline, output the item tag followed by the newline.
+# Otherwise, see if there's enough room for us to output the item tag in the
+# margin of the text or if we have to put it on a separate line.
+sub item {
+    my $self = shift;
+    local $_ = shift;
+    my $tag = $$self{ITEM};
+    unless (defined $tag) {
+        carp 'item called without tag';
+        return;
+    }
+    undef $$self{ITEM};
+    my $indent = $$self{INDENTS}[-1];
+    unless (defined $indent) { $indent = $$self{indent} }
+    my $space = ' ' x $indent;
+    $space =~ s/^ /:/ if $$self{alt};
+    if (!$_ || /^\s+$/ || ($$self{MARGIN} - $indent < length ($tag) + 1)) {
+        my $margin = $$self{MARGIN};
+        $$self{MARGIN} = $indent;
+        my $output = $self->reformat ($tag);
+        $output =~ s/[\r\n]*$/\n/;
+        $self->output ($output);
+        $$self{MARGIN} = $margin;
+        $self->output ($self->reformat ($_)) if /\S/;
+    } else {
+        $_ = $self->reformat ($_);
+        s/^ /:/ if ($$self{alt} && $indent > 0);
+        my $tagspace = ' ' x length $tag;
+        s/^($space)$tagspace/$1$tag/ or carp 'Bizarre space in item';
+        $self->output ($_);
+    }
+}
+
+
+############################################################################
+# Output formatting
+############################################################################
+
+# Wrap a line, indenting by the current left margin.  We can't use
+# Text::Wrap because it plays games with tabs.  We can't use formline, even
+# though we'd really like to, because it screws up non-printing characters.
+# So we have to do the wrapping ourselves.
+sub wrap {
+    my $self = shift;
+    local $_ = shift;
+    my $output = '';
+    my $spaces = ' ' x $$self{MARGIN};
+    my $width = $$self{width} - $$self{MARGIN};
+    while (length > $width) {
+        if (s/^([^\r\n]{0,$width})\s+// || s/^([^\r\n]{$width})//) {
+            $output .= $spaces . $1 . "\n";
+        } else {
+            last;
+        }
+    }
+    $output .= $spaces . $_;
+    $output =~ s/\s+$/\n\n/;
+    return $output;
+}
+
+# Reformat a paragraph of text for the current margin.  Takes the text to
+# reformat and returns the formatted text.
+sub reformat {
+    my $self = shift;
+    local $_ = shift;
+
+    # If we're trying to preserve two spaces after sentences, do some
+    # munging to support that.  Otherwise, smash all repeated whitespace.
+    if ($$self{sentence}) {
+        s/ +$//mg;
+        s/\.\r?\n/. \n/g;
+        s/[\r\n]+/ /g;
+        s/   +/  /g;
+    } else {
+        s/\s+/ /g;
+    }
+    return $self->wrap($_);
+}
+
+# Output text to the output device.
+sub output { $_[1] =~ tr/\01/ /; print { $_[0]->output_handle } $_[1] }
+
+
+############################################################################
+# Backwards compatibility
+############################################################################
+
+# The old Pod::Text module did everything in a pod2text() function.  This
+# tries to provide the same interface for legacy applications.
+sub pod2text {
+    my @args;
+
+    # This is really ugly; I hate doing option parsing in the middle of a
+    # module.  But the old Pod::Text module supported passing flags to its
+    # entry function, so handle -a and -<number>.
+    while ($_[0] =~ /^-/) {
+        my $flag = shift;
+        if    ($flag eq '-a')       { push (@args, alt => 1)    }
+        elsif ($flag =~ /^-(\d+)$/) { push (@args, width => $1) }
+        else {
+            unshift (@_, $flag);
+            last;
+        }
+    }
+
+    # Now that we know what arguments we're using, create the parser.
+    my $parser = Pod::PlainText->new (@args);
+
+    # If two arguments were given, the second argument is going to be a file
+    # handle.  That means we want to call parse_from_filehandle(), which
+    # means we need to turn the first argument into a file handle.  Magic
+    # open will handle the <&STDIN case automagically.
+    if (defined $_[1]) {
+        my $infh;
+        if ($] < 5.006) {
+          $infh = gensym();
+        }
+        unless (open ($infh, $_[0])) {
+            croak ("Can't open $_[0] for reading: $!\n");
+        }
+        $_[0] = $infh;
+        return $parser->parse_from_filehandle (@_);
+    } else {
+        return $parser->parse_from_file (@_);
+    }
+}
+
+
+############################################################################
+# Module return value and documentation
+############################################################################
+
+1;
+__END__
+
+=head1 NAME
+
+Pod::PlainText - Convert POD data to formatted ASCII text
+
+=head1 SYNOPSIS
+
+    use Pod::PlainText;
+    my $parser = Pod::PlainText->new (sentence => 0, width => 78);
+
+    # Read POD from STDIN and write to STDOUT.
+    $parser->parse_from_filehandle;
+
+    # Read POD from file.pod and write to file.txt.
+    $parser->parse_from_file ('file.pod', 'file.txt');
+
+=head1 DESCRIPTION
+
+Pod::PlainText is a module that can convert documentation in the POD format (the
+preferred language for documenting Perl) into formatted ASCII.  It uses no
+special formatting controls or codes whatsoever, and its output is therefore
+suitable for nearly any device.
+
+As a derived class from Pod::Parser, Pod::PlainText supports the same methods and
+interfaces.  See L<Pod::Parser> for all the details; briefly, one creates a
+new parser with C<Pod::PlainText-E<gt>new()> and then calls either
+parse_from_filehandle() or parse_from_file().
+
+new() can take options, in the form of key/value pairs, that control the
+behavior of the parser.  The currently recognized options are:
+
+=over 4
+
+=item alt
+
+If set to a true value, selects an alternate output format that, among other
+things, uses a different heading style and marks C<=item> entries with a
+colon in the left margin.  Defaults to false.
+
+=item indent
+
+The number of spaces to indent regular text, and the default indentation for
+C<=over> blocks.  Defaults to 4.
+
+=item loose
+
+If set to a true value, a blank line is printed after a C<=headN> headings.
+If set to false (the default), no blank line is printed after C<=headN>.
+This is the default because it's the expected formatting for manual pages;
+if you're formatting arbitrary text documents, setting this to true may
+result in more pleasing output.
+
+=item sentence
+
+If set to a true value, Pod::PlainText will assume that each sentence ends in two
+spaces, and will try to preserve that spacing.  If set to false, all
+consecutive whitespace in non-verbatim paragraphs is compressed into a
+single space.  Defaults to true.
+
+=item width
+
+The column at which to wrap text on the right-hand side.  Defaults to 76.
+
+=back
+
+The standard Pod::Parser method parse_from_filehandle() takes up to two
+arguments, the first being the file handle to read POD from and the second
+being the file handle to write the formatted output to.  The first defaults
+to STDIN if not given, and the second defaults to STDOUT.  The method
+parse_from_file() is almost identical, except that its two arguments are the
+input and output disk files instead.  See L<Pod::Parser> for the specific
+details.
+
+=head1 DIAGNOSTICS
+
+=over 4
+
+=item Bizarre space in item
+
+(W) Something has gone wrong in internal C<=item> processing.  This message
+indicates a bug in Pod::PlainText; you should never see it.
+
+=item Can't open %s for reading: %s
+
+(F) Pod::PlainText was invoked via the compatibility mode pod2text() interface
+and the input file it was given could not be opened.
+
+=item Unknown escape: %s
+
+(W) The POD source contained an C<EE<lt>E<gt>> escape that Pod::PlainText didn't
+know about.
+
+=item Unknown sequence: %s
+
+(W) The POD source contained a non-standard internal sequence (something of
+the form C<XE<lt>E<gt>>) that Pod::PlainText didn't know about.
+
+=item Unmatched =back
+
+(W) Pod::PlainText encountered a C<=back> command that didn't correspond to an
+C<=over> command.
+
+=back
+
+=head1 RESTRICTIONS
+
+Embedded Ctrl-As (octal 001) in the input will be mapped to spaces on
+output, due to an internal implementation detail.
+
+=head1 NOTES
+
+This is a replacement for an earlier Pod::Text module written by Tom
+Christiansen.  It has a revamped interface, since it now uses Pod::Parser,
+but an interface roughly compatible with the old Pod::Text::pod2text()
+function is still available.  Please change to the new calling convention,
+though.
+
+The original Pod::Text contained code to do formatting via termcap
+sequences, although it wasn't turned on by default and it was problematic to
+get it to work at all.  This rewrite doesn't even try to do that, but a
+subclass of it does.  Look for L<Pod::Text::Termcap|Pod::Text::Termcap>.
+
+=head1 SEE ALSO
+
+B<Pod::PlainText> is part of the L<Pod::Parser> distribution.
+
+L<Pod::Parser|Pod::Parser>, L<Pod::Text::Termcap|Pod::Text::Termcap>,
+pod2text(1)
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Russ Allbery E<lt>rra at stanford.eduE<gt>, based I<very> heavily on the
+original Pod::Text by Tom Christiansen E<lt>tchrist at mox.perl.comE<gt> and
+its conversion to Pod::Parser by Brad Appleton
+E<lt>bradapp at enteract.comE<gt>.
+
+=cut


Property changes on: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/PlainText.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Select.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Select.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Select.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,746 +1,748 @@
-#############################################################################
-# Pod/Select.pm -- function to select portions of 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.
-#############################################################################
-
-package Pod::Select;
-use strict;
-
-use vars qw($VERSION @ISA @EXPORT $MAX_HEADING_LEVEL %myData @section_headings @selected_sections);
-$VERSION = '1.36'; ## Current version of this package
-require  5.005;    ## requires this Perl version or later
-
-#############################################################################
-
-=head1 NAME
-
-Pod::Select, podselect() - extract selected sections of POD from input
-
-=head1 SYNOPSIS
-
-    use Pod::Select;
-
-    ## Select all the POD sections for each file in @filelist
-    ## and print the result on standard output.
-    podselect(@filelist);
-
-    ## Same as above, but write to tmp.out
-    podselect({-output => "tmp.out"}, @filelist):
-
-    ## Select from the given filelist, only those POD sections that are
-    ## within a 1st level section named any of: NAME, SYNOPSIS, OPTIONS.
-    podselect({-sections => ["NAME|SYNOPSIS", "OPTIONS"]}, @filelist):
-
-    ## Select the "DESCRIPTION" section of the PODs from STDIN and write
-    ## the result to STDERR.
-    podselect({-output => ">&STDERR", -sections => ["DESCRIPTION"]}, \*STDIN);
-
-or
-
-    use Pod::Select;
-
-    ## Create a parser object for selecting POD sections from the input
-    $parser = new Pod::Select();
-
-    ## Select all the POD sections for each file in @filelist
-    ## and print the result to tmp.out.
-    $parser->parse_from_file("<&STDIN", "tmp.out");
-
-    ## Select from the given filelist, only those POD sections that are
-    ## within a 1st level section named any of: NAME, SYNOPSIS, OPTIONS.
-    $parser->select("NAME|SYNOPSIS", "OPTIONS");
-    for (@filelist) { $parser->parse_from_file($_); }
-
-    ## Select the "DESCRIPTION" and "SEE ALSO" sections of the PODs from
-    ## STDIN and write the result to STDERR.
-    $parser->select("DESCRIPTION");
-    $parser->add_selection("SEE ALSO");
-    $parser->parse_from_filehandle(\*STDIN, \*STDERR);
-
-=head1 REQUIRES
-
-perl5.005, Pod::Parser, Exporter, Carp
-
-=head1 EXPORTS
-
-podselect()
-
-=head1 DESCRIPTION
-
-B<podselect()> is a function which will extract specified sections of
-pod documentation from an input stream. This ability is provided by the
-B<Pod::Select> module which is a subclass of B<Pod::Parser>.
-B<Pod::Select> provides a method named B<select()> to specify the set of
-POD sections to select for processing/printing. B<podselect()> merely
-creates a B<Pod::Select> object and then invokes the B<podselect()>
-followed by B<parse_from_file()>.
-
-=head1 SECTION SPECIFICATIONS
-
-B<podselect()> and B<Pod::Select::select()> may be given one or more
-"section specifications" to restrict the text processed to only the
-desired set of sections and their corresponding subsections.  A section
-specification is a string containing one or more Perl-style regular
-expressions separated by forward slashes ("/").  If you need to use a
-forward slash literally within a section title you can escape it with a
-backslash ("\/").
-
-The formal syntax of a section specification is:
-
-=over 4
-
-=item *
-
-I<head1-title-regex>/I<head2-title-regex>/...
-
-=back
-
-Any omitted or empty regular expressions will default to ".*".
-Please note that each regular expression given is implicitly
-anchored by adding "^" and "$" to the beginning and end.  Also, if a
-given regular expression starts with a "!" character, then the
-expression is I<negated> (so C<!foo> would match anything I<except>
-C<foo>).
-
-Some example section specifications follow.
-
-=over 4
-
-=item *
-
-Match the C<NAME> and C<SYNOPSIS> sections and all of their subsections:
-
-C<NAME|SYNOPSIS>
-
-=item *
-
-Match only the C<Question> and C<Answer> subsections of the C<DESCRIPTION>
-section:
-
-C<DESCRIPTION/Question|Answer>
-
-=item *
-
-Match the C<Comments> subsection of I<all> sections:
-
-C</Comments>
-
-=item *
-
-Match all subsections of C<DESCRIPTION> I<except> for C<Comments>:
-
-C<DESCRIPTION/!Comments>
-
-=item *
-
-Match the C<DESCRIPTION> section but do I<not> match any of its subsections:
-
-C<DESCRIPTION/!.+>
-
-=item *
-
-Match all top level sections but none of their subsections:
-
-C</!.+>
-
-=back 
-
-=begin _NOT_IMPLEMENTED_
-
-=head1 RANGE SPECIFICATIONS
-
-B<podselect()> and B<Pod::Select::select()> may be given one or more
-"range specifications" to restrict the text processed to only the
-desired ranges of paragraphs in the desired set of sections. A range
-specification is a string containing a single Perl-style regular
-expression (a regex), or else two Perl-style regular expressions
-(regexs) separated by a ".." (Perl's "range" operator is "..").
-The regexs in a range specification are delimited by forward slashes
-("/").  If you need to use a forward slash literally within a regex you
-can escape it with a backslash ("\/").
-
-The formal syntax of a range specification is:
-
-=over 4
-
-=item *
-
-/I<start-range-regex>/[../I<end-range-regex>/]
-
-=back
-
-Where each the item inside square brackets (the ".." followed by the
-end-range-regex) is optional. Each "range-regex" is of the form:
-
-    =cmd-expr text-expr
-
-Where I<cmd-expr> is intended to match the name of one or more POD
-commands, and I<text-expr> is intended to match the paragraph text for
-the command. If a range-regex is supposed to match a POD command, then
-the first character of the regex (the one after the initial '/')
-absolutely I<must> be a single '=' character; it may not be anything
-else (not even a regex meta-character) if it is supposed to match
-against the name of a POD command.
-
-If no I<=cmd-expr> is given then the text-expr will be matched against
-plain textblocks unless it is preceded by a space, in which case it is
-matched against verbatim text-blocks. If no I<text-expr> is given then
-only the command-portion of the paragraph is matched against.
-
-Note that these two expressions are each implicitly anchored. This
-means that when matching against the command-name, there will be an
-implicit '^' and '$' around the given I<=cmd-expr>; and when matching
-against the paragraph text there will be an implicit '\A' and '\Z'
-around the given I<text-expr>.
-
-Unlike with section-specs, the '!' character does I<not> have any special
-meaning (negation or otherwise) at the beginning of a range-spec!
-
-Some example range specifications follow.
-
-=over 4
-
-=item
-Match all C<=for html> paragraphs:
-
-C</=for html/>
-
-=item
-Match all paragraphs between C<=begin html> and C<=end html>
-(note that this will I<not> work correctly if such sections
-are nested):
-
-C</=begin html/../=end html/>
-
-=item
-Match all paragraphs between the given C<=item> name until the end of the
-current section:
-
-C</=item mine/../=head\d/>
-
-=item
-Match all paragraphs between the given C<=item> until the next item, or
-until the end of the itemized list (note that this will I<not> work as
-desired if the item contains an itemized list nested within it):
-
-C</=item mine/../=(item|back)/>
-
-=back 
-
-=end _NOT_IMPLEMENTED_
-
-=cut
-
-#############################################################################
-
-#use diagnostics;
-use Carp;
-use Pod::Parser 1.04;
-
- at ISA = qw(Pod::Parser);
- at EXPORT = qw(&podselect);
-
-## Maximum number of heading levels supported for '=headN' directives
-*MAX_HEADING_LEVEL = \3;
-
-#############################################################################
-
-=head1 OBJECT METHODS
-
-The following methods are provided in this module. Each one takes a
-reference to the object itself as an implicit first parameter.
-
-=cut
-
-##---------------------------------------------------------------------------
-
-## =begin _PRIVATE_
-## 
-## =head1 B<_init_headings()>
-## 
-## Initialize the current set of active section headings.
-## 
-## =cut
-## 
-## =end _PRIVATE_
-
-sub _init_headings {
-    my $self = shift;
-    local *myData = $self;
-
-    ## Initialize current section heading titles if necessary
-    unless (defined $myData{_SECTION_HEADINGS}) {
-        local *section_headings = $myData{_SECTION_HEADINGS} = [];
-        for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
-            $section_headings[$i] = '';
-        }
-    }
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<curr_headings()>
-
-            ($head1, $head2, $head3, ...) = $parser->curr_headings();
-            $head1 = $parser->curr_headings(1);
-
-This method returns a list of the currently active section headings and
-subheadings in the document being parsed. The list of headings returned
-corresponds to the most recently parsed paragraph of the input.
-
-If an argument is given, it must correspond to the desired section
-heading number, in which case only the specified section heading is
-returned. If there is no current section heading at the specified
-level, then C<undef> is returned.
-
-=cut
-
-sub curr_headings {
-    my $self = shift;
-    $self->_init_headings()  unless (defined $self->{_SECTION_HEADINGS});
-    my @headings = @{ $self->{_SECTION_HEADINGS} };
-    return (@_ > 0  and  $_[0] =~ /^\d+$/) ? $headings[$_[0] - 1] : @headings;
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<select()>
-
-            $parser->select($section_spec1,$section_spec2,...);
-
-This method is used to select the particular sections and subsections of
-POD documentation that are to be printed and/or processed. The existing
-set of selected sections is I<replaced> with the given set of sections.
-See B<add_selection()> for adding to the current set of selected
-sections.
-
-Each of the C<$section_spec> arguments should be a section specification
-as described in L<"SECTION SPECIFICATIONS">.  The section specifications
-are parsed by this method and the resulting regular expressions are
-stored in the invoking object.
-
-If no C<$section_spec> arguments are given, then the existing set of
-selected sections is cleared out (which means C<all> sections will be
-processed).
-
-This method should I<not> normally be overridden by subclasses.
-
-=cut
-
-sub select {
-    my ($self, @sections) = @_;
-    local *myData = $self;
-    local $_;
-
-### NEED TO DISCERN A SECTION-SPEC FROM A RANGE-SPEC (look for m{^/.+/$}?)
-
-    ##---------------------------------------------------------------------
-    ## The following is a blatant hack for backward compatibility, and for
-    ## implementing add_selection(). If the *first* *argument* is the
-    ## string "+", then the remaining section specifications are *added*
-    ## to the current set of selections; otherwise the given section
-    ## specifications will *replace* the current set of selections.
-    ##
-    ## This should probably be fixed someday, but for the present time,
-    ## it seems incredibly unlikely that "+" would ever correspond to
-    ## a legitimate section heading
-    ##---------------------------------------------------------------------
-    my $add = ($sections[0] eq '+') ? shift(@sections) : '';
-
-    ## Reset the set of sections to use
-    unless (@sections) {
-        delete $myData{_SELECTED_SECTIONS}  unless ($add);
-        return;
-    }
-    $myData{_SELECTED_SECTIONS} = []
-        unless ($add  &&  exists $myData{_SELECTED_SECTIONS});
-    local *selected_sections = $myData{_SELECTED_SECTIONS};
-
-    ## Compile each spec
-    for my $spec (@sections) {
-        if ( defined($_ = _compile_section_spec($spec)) ) {
-            ## Store them in our sections array
-            push(@selected_sections, $_);
-        }
-        else {
-            carp qq{Ignoring section spec "$spec"!\n};
-        }
-    }
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<add_selection()>
-
-            $parser->add_selection($section_spec1,$section_spec2,...);
-
-This method is used to add to the currently selected sections and
-subsections of POD documentation that are to be printed and/or
-processed. See <select()> for replacing the currently selected sections.
-
-Each of the C<$section_spec> arguments should be a section specification
-as described in L<"SECTION SPECIFICATIONS">. The section specifications
-are parsed by this method and the resulting regular expressions are
-stored in the invoking object.
-
-This method should I<not> normally be overridden by subclasses.
-
-=cut
-
-sub add_selection {
-    my $self = shift;
-    return $self->select('+', @_);
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<clear_selections()>
-
-            $parser->clear_selections();
-
-This method takes no arguments, it has the exact same effect as invoking
-<select()> with no arguments.
-
-=cut
-
-sub clear_selections {
-    my $self = shift;
-    return $self->select();
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<match_section()>
-
-            $boolean = $parser->match_section($heading1,$heading2,...);
-
-Returns a value of true if the given section and subsection heading
-titles match any of the currently selected section specifications in
-effect from prior calls to B<select()> and B<add_selection()> (or if
-there are no explicitly selected/deselected sections).
-
-The arguments C<$heading1>, C<$heading2>, etc. are the heading titles of
-the corresponding sections, subsections, etc. to try and match.  If
-C<$headingN> is omitted then it defaults to the current corresponding
-section heading title in the input.
-
-This method should I<not> normally be overridden by subclasses.
-
-=cut
-
-sub match_section {
-    my $self = shift;
-    my (@headings) = @_;
-    local *myData = $self;
-
-    ## Return true if no restrictions were explicitly specified
-    my $selections = (exists $myData{_SELECTED_SECTIONS})
-                       ?  $myData{_SELECTED_SECTIONS}  :  undef;
-    return  1  unless ((defined $selections) && @{$selections});
-
-    ## Default any unspecified sections to the current one
-    my @current_headings = $self->curr_headings();
-    for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
-        (defined $headings[$i])  or  $headings[$i] = $current_headings[$i];
-    }
-
-    ## Look for a match against the specified section expressions
-    for my $section_spec ( @{$selections} ) {
-        ##------------------------------------------------------
-        ## Each portion of this spec must match in order for
-        ## the spec to be matched. So we will start with a 
-        ## match-value of 'true' and logically 'and' it with
-        ## the results of matching a given element of the spec.
-        ##------------------------------------------------------
-        my $match = 1;
-        for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
-            my $regex   = $section_spec->[$i];
-            my $negated = ($regex =~ s/^\!//);
-            $match  &= ($negated ? ($headings[$i] !~ /${regex}/)
-                                 : ($headings[$i] =~ /${regex}/));
-            last unless ($match);
-        }
-        return  1  if ($match);
-    }
-    return  0;  ## no match
-}
-
-##---------------------------------------------------------------------------
-
-=head1 B<is_selected()>
-
-            $boolean = $parser->is_selected($paragraph);
-
-This method is used to determine if the block of text given in
-C<$paragraph> falls within the currently selected set of POD sections
-and subsections to be printed or processed. This method is also
-responsible for keeping track of the current input section and
-subsections. It is assumed that C<$paragraph> is the most recently read
-(but not yet processed) input paragraph.
-
-The value returned will be true if the C<$paragraph> and the rest of the
-text in the same section as C<$paragraph> should be selected (included)
-for processing; otherwise a false value is returned.
-
-=cut
-
-sub is_selected {
-    my ($self, $paragraph) = @_;
-    local $_;
-    local *myData = $self;
-
-    $self->_init_headings()  unless (defined $myData{_SECTION_HEADINGS});
-
-    ## Keep track of current sections levels and headings
-    $_ = $paragraph;
-    if (/^=((?:sub)*)(?:head(?:ing)?|sec(?:tion)?)(\d*)\s+(.*?)\s*$/)
-    {
-        ## This is a section heading command
-        my ($level, $heading) = ($2, $3);
-        $level = 1 + (length($1) / 3)  if ((! length $level) || (length $1));
-        ## Reset the current section heading at this level
-        $myData{_SECTION_HEADINGS}->[$level - 1] = $heading;
-        ## Reset subsection headings of this one to empty
-        for (my $i = $level; $i < $MAX_HEADING_LEVEL; ++$i) {
-            $myData{_SECTION_HEADINGS}->[$i] = '';
-        }
-    }
-
-    return  $self->match_section();
-}
-
-#############################################################################
-
-=head1 EXPORTED FUNCTIONS
-
-The following functions are exported by this module. Please note that
-these are functions (not methods) and therefore C<do not> take an
-implicit first argument.
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=head1 B<podselect()>
-
-            podselect(\%options, at filelist);
-
-B<podselect> will print the raw (untranslated) POD paragraphs of all
-POD sections in the given input files specified by C<@filelist>
-according to the given options.
-
-If any argument to B<podselect> is a reference to a hash
-(associative array) then the values with the following keys are
-processed as follows:
-
-=over 4
-
-=item B<-output>
-
-A string corresponding to the desired output file (or ">&STDOUT"
-or ">&STDERR"). The default is to use standard output.
-
-=item B<-sections>
-
-A reference to an array of sections specifications (as described in
-L<"SECTION SPECIFICATIONS">) which indicate the desired set of POD
-sections and subsections to be selected from input. If no section
-specifications are given, then all sections of the PODs are used.
-
-=begin _NOT_IMPLEMENTED_
-
-=item B<-ranges>
-
-A reference to an array of range specifications (as described in
-L<"RANGE SPECIFICATIONS">) which indicate the desired range of POD
-paragraphs to be selected from the desired input sections. If no range
-specifications are given, then all paragraphs of the desired sections
-are used.
-
-=end _NOT_IMPLEMENTED_
-
-=back
-
-All other arguments should correspond to the names of input files
-containing POD sections. A file name of "-" or "<&STDIN" will
-be interpreted to mean standard input (which is the default if no
-filenames are given).
-
-=cut 
-
-sub podselect {
-    my(@argv) = @_;
-    my %defaults = ();
-    my $pod_parser = new Pod::Select(%defaults);
-    my $num_inputs = 0;
-    my $output = '>&STDOUT';
-    my %opts;
-    local $_;
-    for (@argv) {
-        if (ref($_)) {
-        next unless (ref($_) eq 'HASH');
-            %opts = (%defaults, %{$_});
-
-            ##-------------------------------------------------------------
-            ## Need this for backward compatibility since we formerly used
-            ## options that were all uppercase words rather than ones that
-            ## looked like Unix command-line options.
-            ## to be uppercase keywords)
-            ##-------------------------------------------------------------
-            %opts = map {
-                my ($key, $val) = (lc $_, $opts{$_});
-                $key =~ s/^(?=\w)/-/;
-                $key =~ /^-se[cl]/  and  $key  = '-sections';
-                #! $key eq '-range'    and  $key .= 's';
-                ($key => $val);
-            } (keys %opts);
-
-            ## Process the options
-            (exists $opts{'-output'})  and  $output = $opts{'-output'};
-
-            ## Select the desired sections
-            $pod_parser->select(@{ $opts{'-sections'} })
-                if ( (defined $opts{'-sections'})
-                     && ((ref $opts{'-sections'}) eq 'ARRAY') );
-
-            #! ## Select the desired paragraph ranges
-            #! $pod_parser->select(@{ $opts{'-ranges'} })
-            #!     if ( (defined $opts{'-ranges'})
-            #!          && ((ref $opts{'-ranges'}) eq 'ARRAY') );
-        }
-        else {
-            $pod_parser->parse_from_file($_, $output);
-            ++$num_inputs;
-        }
-    }
-    $pod_parser->parse_from_file('-')  unless ($num_inputs > 0);
-}
-
-#############################################################################
-
-=head1 PRIVATE METHODS AND DATA
-
-B<Pod::Select> makes uses a number of internal methods and data fields
-which clients should not need to see or use. For the sake of avoiding
-name collisions with client data and methods, these methods and fields
-are briefly discussed here. Determined hackers may obtain further
-information about them by reading the B<Pod::Select> source code.
-
-Private data fields are stored in the hash-object whose reference is
-returned by the B<new()> constructor for this class. The names of all
-private methods and data-fields used by B<Pod::Select> begin with a
-prefix of "_" and match the regular expression C</^_\w+$/>.
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=begin _PRIVATE_
-
-=head1 B<_compile_section_spec()>
-
-            $listref = $parser->_compile_section_spec($section_spec);
-
-This function (note it is a function and I<not> a method) takes a
-section specification (as described in L<"SECTION SPECIFICATIONS">)
-given in C<$section_sepc>, and compiles it into a list of regular
-expressions. If C<$section_spec> has no syntax errors, then a reference
-to the list (array) of corresponding regular expressions is returned;
-otherwise C<undef> is returned and an error message is printed (using
-B<carp>) for each invalid regex.
-
-=end _PRIVATE_
-
-=cut
-
-sub _compile_section_spec {
-    my ($section_spec) = @_;
-    my (@regexs, $negated);
-
-    ## Compile the spec into a list of regexs
-    local $_ = $section_spec;
-    s{\\\\}{\001}g;  ## handle escaped backward slashes
-    s{\\/}{\002}g;   ## handle escaped forward slashes
-
-    ## Parse the regexs for the heading titles
-    @regexs = split(/\//, $_, $MAX_HEADING_LEVEL);
-
-    ## Set default regex for ommitted levels
-    for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
-        $regexs[$i]  = '.*'  unless ((defined $regexs[$i])
-                                     && (length $regexs[$i]));
-    }
-    ## Modify the regexs as needed and validate their syntax
-    my $bad_regexs = 0;
-    for (@regexs) {
-        $_ .= '.+'  if ($_ eq '!');
-        s{\001}{\\\\}g;       ## restore escaped backward slashes
-        s{\002}{\\/}g;        ## restore escaped forward slashes
-        $negated = s/^\!//;   ## check for negation
-        eval "m{$_}";         ## check regex syntax
-        if ($@) {
-            ++$bad_regexs;
-            carp qq{Bad regular expression /$_/ in "$section_spec": $@\n};
-        }
-        else {
-            ## Add the forward and rear anchors (and put the negator back)
-            $_ = '^' . $_  unless (/^\^/);
-            $_ = $_ . '$'  unless (/\$$/);
-            $_ = '!' . $_  if ($negated);
-        }
-    }
-    return  (! $bad_regexs) ? [ @regexs ] : undef;
-}
-
-##---------------------------------------------------------------------------
-
-=begin _PRIVATE_
-
-=head2 $self->{_SECTION_HEADINGS}
-
-A reference to an array of the current section heading titles for each
-heading level (note that the first heading level title is at index 0).
-
-=end _PRIVATE_
-
-=cut
-
-##---------------------------------------------------------------------------
-
-=begin _PRIVATE_
-
-=head2 $self->{_SELECTED_SECTIONS}
-
-A reference to an array of references to arrays. Each subarray is a list
-of anchored regular expressions (preceded by a "!" if the expression is to
-be negated). The index of the expression in the subarray should correspond
-to the index of the heading title in C<$self-E<gt>{_SECTION_HEADINGS}>
-that it is to be matched against.
-
-=end _PRIVATE_
-
-=cut
-
-#############################################################################
-
-=head1 SEE ALSO
-
-L<Pod::Parser>
-
-=head1 AUTHOR
-
-Please report bugs using L<http://rt.cpan.org>.
-
-Brad Appleton E<lt>bradapp at enteract.comE<gt>
-
-Based on code for B<pod2text> written by
-Tom Christiansen E<lt>tchrist at mox.perl.comE<gt>
-
-=cut
-
-1;
-# vim: ts=4 sw=4 et
+#############################################################################
+# Pod/Select.pm -- function to select portions of 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.
+#############################################################################
+
+package Pod::Select;
+use strict;
+
+use vars qw($VERSION @ISA @EXPORT $MAX_HEADING_LEVEL %myData @section_headings @selected_sections);
+$VERSION = '1.60'; ## Current version of this package
+require  5.005;    ## requires this Perl version or later
+
+#############################################################################
+
+=head1 NAME
+
+Pod::Select, podselect() - extract selected sections of POD from input
+
+=head1 SYNOPSIS
+
+    use Pod::Select;
+
+    ## Select all the POD sections for each file in @filelist
+    ## and print the result on standard output.
+    podselect(@filelist);
+
+    ## Same as above, but write to tmp.out
+    podselect({-output => "tmp.out"}, @filelist):
+
+    ## Select from the given filelist, only those POD sections that are
+    ## within a 1st level section named any of: NAME, SYNOPSIS, OPTIONS.
+    podselect({-sections => ["NAME|SYNOPSIS", "OPTIONS"]}, @filelist):
+
+    ## Select the "DESCRIPTION" section of the PODs from STDIN and write
+    ## the result to STDERR.
+    podselect({-output => ">&STDERR", -sections => ["DESCRIPTION"]}, \*STDIN);
+
+or
+
+    use Pod::Select;
+
+    ## Create a parser object for selecting POD sections from the input
+    $parser = new Pod::Select();
+
+    ## Select all the POD sections for each file in @filelist
+    ## and print the result to tmp.out.
+    $parser->parse_from_file("<&STDIN", "tmp.out");
+
+    ## Select from the given filelist, only those POD sections that are
+    ## within a 1st level section named any of: NAME, SYNOPSIS, OPTIONS.
+    $parser->select("NAME|SYNOPSIS", "OPTIONS");
+    for (@filelist) { $parser->parse_from_file($_); }
+
+    ## Select the "DESCRIPTION" and "SEE ALSO" sections of the PODs from
+    ## STDIN and write the result to STDERR.
+    $parser->select("DESCRIPTION");
+    $parser->add_selection("SEE ALSO");
+    $parser->parse_from_filehandle(\*STDIN, \*STDERR);
+
+=head1 REQUIRES
+
+perl5.005, Pod::Parser, Exporter, Carp
+
+=head1 EXPORTS
+
+podselect()
+
+=head1 DESCRIPTION
+
+B<podselect()> is a function which will extract specified sections of
+pod documentation from an input stream. This ability is provided by the
+B<Pod::Select> module which is a subclass of B<Pod::Parser>.
+B<Pod::Select> provides a method named B<select()> to specify the set of
+POD sections to select for processing/printing. B<podselect()> merely
+creates a B<Pod::Select> object and then invokes the B<podselect()>
+followed by B<parse_from_file()>.
+
+=head1 SECTION SPECIFICATIONS
+
+B<podselect()> and B<Pod::Select::select()> may be given one or more
+"section specifications" to restrict the text processed to only the
+desired set of sections and their corresponding subsections.  A section
+specification is a string containing one or more Perl-style regular
+expressions separated by forward slashes ("/").  If you need to use a
+forward slash literally within a section title you can escape it with a
+backslash ("\/").
+
+The formal syntax of a section specification is:
+
+=over 4
+
+=item *
+
+I<head1-title-regex>/I<head2-title-regex>/...
+
+=back
+
+Any omitted or empty regular expressions will default to ".*".
+Please note that each regular expression given is implicitly
+anchored by adding "^" and "$" to the beginning and end.  Also, if a
+given regular expression starts with a "!" character, then the
+expression is I<negated> (so C<!foo> would match anything I<except>
+C<foo>).
+
+Some example section specifications follow.
+
+=over 4
+
+=item *
+
+Match the C<NAME> and C<SYNOPSIS> sections and all of their subsections:
+
+C<NAME|SYNOPSIS>
+
+=item *
+
+Match only the C<Question> and C<Answer> subsections of the C<DESCRIPTION>
+section:
+
+C<DESCRIPTION/Question|Answer>
+
+=item *
+
+Match the C<Comments> subsection of I<all> sections:
+
+C</Comments>
+
+=item *
+
+Match all subsections of C<DESCRIPTION> I<except> for C<Comments>:
+
+C<DESCRIPTION/!Comments>
+
+=item *
+
+Match the C<DESCRIPTION> section but do I<not> match any of its subsections:
+
+C<DESCRIPTION/!.+>
+
+=item *
+
+Match all top level sections but none of their subsections:
+
+C</!.+>
+
+=back 
+
+=begin _NOT_IMPLEMENTED_
+
+=head1 RANGE SPECIFICATIONS
+
+B<podselect()> and B<Pod::Select::select()> may be given one or more
+"range specifications" to restrict the text processed to only the
+desired ranges of paragraphs in the desired set of sections. A range
+specification is a string containing a single Perl-style regular
+expression (a regex), or else two Perl-style regular expressions
+(regexs) separated by a ".." (Perl's "range" operator is "..").
+The regexs in a range specification are delimited by forward slashes
+("/").  If you need to use a forward slash literally within a regex you
+can escape it with a backslash ("\/").
+
+The formal syntax of a range specification is:
+
+=over 4
+
+=item *
+
+/I<start-range-regex>/[../I<end-range-regex>/]
+
+=back
+
+Where each the item inside square brackets (the ".." followed by the
+end-range-regex) is optional. Each "range-regex" is of the form:
+
+    =cmd-expr text-expr
+
+Where I<cmd-expr> is intended to match the name of one or more POD
+commands, and I<text-expr> is intended to match the paragraph text for
+the command. If a range-regex is supposed to match a POD command, then
+the first character of the regex (the one after the initial '/')
+absolutely I<must> be a single '=' character; it may not be anything
+else (not even a regex meta-character) if it is supposed to match
+against the name of a POD command.
+
+If no I<=cmd-expr> is given then the text-expr will be matched against
+plain textblocks unless it is preceded by a space, in which case it is
+matched against verbatim text-blocks. If no I<text-expr> is given then
+only the command-portion of the paragraph is matched against.
+
+Note that these two expressions are each implicitly anchored. This
+means that when matching against the command-name, there will be an
+implicit '^' and '$' around the given I<=cmd-expr>; and when matching
+against the paragraph text there will be an implicit '\A' and '\Z'
+around the given I<text-expr>.
+
+Unlike with section-specs, the '!' character does I<not> have any special
+meaning (negation or otherwise) at the beginning of a range-spec!
+
+Some example range specifications follow.
+
+=over 4
+
+=item
+Match all C<=for html> paragraphs:
+
+C</=for html/>
+
+=item
+Match all paragraphs between C<=begin html> and C<=end html>
+(note that this will I<not> work correctly if such sections
+are nested):
+
+C</=begin html/../=end html/>
+
+=item
+Match all paragraphs between the given C<=item> name until the end of the
+current section:
+
+C</=item mine/../=head\d/>
+
+=item
+Match all paragraphs between the given C<=item> until the next item, or
+until the end of the itemized list (note that this will I<not> work as
+desired if the item contains an itemized list nested within it):
+
+C</=item mine/../=(item|back)/>
+
+=back 
+
+=end _NOT_IMPLEMENTED_
+
+=cut
+
+#############################################################################
+
+#use diagnostics;
+use Carp;
+use Pod::Parser 1.04;
+
+ at ISA = qw(Pod::Parser);
+ at EXPORT = qw(&podselect);
+
+## Maximum number of heading levels supported for '=headN' directives
+*MAX_HEADING_LEVEL = \3;
+
+#############################################################################
+
+=head1 OBJECT METHODS
+
+The following methods are provided in this module. Each one takes a
+reference to the object itself as an implicit first parameter.
+
+=cut
+
+##---------------------------------------------------------------------------
+
+## =begin _PRIVATE_
+## 
+## =head1 B<_init_headings()>
+## 
+## Initialize the current set of active section headings.
+## 
+## =cut
+## 
+## =end _PRIVATE_
+
+sub _init_headings {
+    my $self = shift;
+    local *myData = $self;
+
+    ## Initialize current section heading titles if necessary
+    unless (defined $myData{_SECTION_HEADINGS}) {
+        local *section_headings = $myData{_SECTION_HEADINGS} = [];
+        for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
+            $section_headings[$i] = '';
+        }
+    }
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<curr_headings()>
+
+            ($head1, $head2, $head3, ...) = $parser->curr_headings();
+            $head1 = $parser->curr_headings(1);
+
+This method returns a list of the currently active section headings and
+subheadings in the document being parsed. The list of headings returned
+corresponds to the most recently parsed paragraph of the input.
+
+If an argument is given, it must correspond to the desired section
+heading number, in which case only the specified section heading is
+returned. If there is no current section heading at the specified
+level, then C<undef> is returned.
+
+=cut
+
+sub curr_headings {
+    my $self = shift;
+    $self->_init_headings()  unless (defined $self->{_SECTION_HEADINGS});
+    my @headings = @{ $self->{_SECTION_HEADINGS} };
+    return (@_ > 0  and  $_[0] =~ /^\d+$/) ? $headings[$_[0] - 1] : @headings;
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<select()>
+
+            $parser->select($section_spec1,$section_spec2,...);
+
+This method is used to select the particular sections and subsections of
+POD documentation that are to be printed and/or processed. The existing
+set of selected sections is I<replaced> with the given set of sections.
+See B<add_selection()> for adding to the current set of selected
+sections.
+
+Each of the C<$section_spec> arguments should be a section specification
+as described in L<"SECTION SPECIFICATIONS">.  The section specifications
+are parsed by this method and the resulting regular expressions are
+stored in the invoking object.
+
+If no C<$section_spec> arguments are given, then the existing set of
+selected sections is cleared out (which means C<all> sections will be
+processed).
+
+This method should I<not> normally be overridden by subclasses.
+
+=cut
+
+sub select {
+    my ($self, @sections) = @_;
+    local *myData = $self;
+    local $_;
+
+### NEED TO DISCERN A SECTION-SPEC FROM A RANGE-SPEC (look for m{^/.+/$}?)
+
+    ##---------------------------------------------------------------------
+    ## The following is a blatant hack for backward compatibility, and for
+    ## implementing add_selection(). If the *first* *argument* is the
+    ## string "+", then the remaining section specifications are *added*
+    ## to the current set of selections; otherwise the given section
+    ## specifications will *replace* the current set of selections.
+    ##
+    ## This should probably be fixed someday, but for the present time,
+    ## it seems incredibly unlikely that "+" would ever correspond to
+    ## a legitimate section heading
+    ##---------------------------------------------------------------------
+    my $add = ($sections[0] eq '+') ? shift(@sections) : '';
+
+    ## Reset the set of sections to use
+    unless (@sections) {
+        delete $myData{_SELECTED_SECTIONS}  unless ($add);
+        return;
+    }
+    $myData{_SELECTED_SECTIONS} = []
+        unless ($add  &&  exists $myData{_SELECTED_SECTIONS});
+    local *selected_sections = $myData{_SELECTED_SECTIONS};
+
+    ## Compile each spec
+    for my $spec (@sections) {
+        if ( defined($_ = _compile_section_spec($spec)) ) {
+            ## Store them in our sections array
+            push(@selected_sections, $_);
+        }
+        else {
+            carp qq{Ignoring section spec "$spec"!\n};
+        }
+    }
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<add_selection()>
+
+            $parser->add_selection($section_spec1,$section_spec2,...);
+
+This method is used to add to the currently selected sections and
+subsections of POD documentation that are to be printed and/or
+processed. See <select()> for replacing the currently selected sections.
+
+Each of the C<$section_spec> arguments should be a section specification
+as described in L<"SECTION SPECIFICATIONS">. The section specifications
+are parsed by this method and the resulting regular expressions are
+stored in the invoking object.
+
+This method should I<not> normally be overridden by subclasses.
+
+=cut
+
+sub add_selection {
+    my $self = shift;
+    return $self->select('+', @_);
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<clear_selections()>
+
+            $parser->clear_selections();
+
+This method takes no arguments, it has the exact same effect as invoking
+<select()> with no arguments.
+
+=cut
+
+sub clear_selections {
+    my $self = shift;
+    return $self->select();
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<match_section()>
+
+            $boolean = $parser->match_section($heading1,$heading2,...);
+
+Returns a value of true if the given section and subsection heading
+titles match any of the currently selected section specifications in
+effect from prior calls to B<select()> and B<add_selection()> (or if
+there are no explicitly selected/deselected sections).
+
+The arguments C<$heading1>, C<$heading2>, etc. are the heading titles of
+the corresponding sections, subsections, etc. to try and match.  If
+C<$headingN> is omitted then it defaults to the current corresponding
+section heading title in the input.
+
+This method should I<not> normally be overridden by subclasses.
+
+=cut
+
+sub match_section {
+    my $self = shift;
+    my (@headings) = @_;
+    local *myData = $self;
+
+    ## Return true if no restrictions were explicitly specified
+    my $selections = (exists $myData{_SELECTED_SECTIONS})
+                       ?  $myData{_SELECTED_SECTIONS}  :  undef;
+    return  1  unless ((defined $selections) && @{$selections});
+
+    ## Default any unspecified sections to the current one
+    my @current_headings = $self->curr_headings();
+    for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
+        (defined $headings[$i])  or  $headings[$i] = $current_headings[$i];
+    }
+
+    ## Look for a match against the specified section expressions
+    for my $section_spec ( @{$selections} ) {
+        ##------------------------------------------------------
+        ## Each portion of this spec must match in order for
+        ## the spec to be matched. So we will start with a 
+        ## match-value of 'true' and logically 'and' it with
+        ## the results of matching a given element of the spec.
+        ##------------------------------------------------------
+        my $match = 1;
+        for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
+            my $regex   = $section_spec->[$i];
+            my $negated = ($regex =~ s/^\!//);
+            $match  &= ($negated ? ($headings[$i] !~ /${regex}/)
+                                 : ($headings[$i] =~ /${regex}/));
+            last unless ($match);
+        }
+        return  1  if ($match);
+    }
+    return  0;  ## no match
+}
+
+##---------------------------------------------------------------------------
+
+=head1 B<is_selected()>
+
+            $boolean = $parser->is_selected($paragraph);
+
+This method is used to determine if the block of text given in
+C<$paragraph> falls within the currently selected set of POD sections
+and subsections to be printed or processed. This method is also
+responsible for keeping track of the current input section and
+subsections. It is assumed that C<$paragraph> is the most recently read
+(but not yet processed) input paragraph.
+
+The value returned will be true if the C<$paragraph> and the rest of the
+text in the same section as C<$paragraph> should be selected (included)
+for processing; otherwise a false value is returned.
+
+=cut
+
+sub is_selected {
+    my ($self, $paragraph) = @_;
+    local $_;
+    local *myData = $self;
+
+    $self->_init_headings()  unless (defined $myData{_SECTION_HEADINGS});
+
+    ## Keep track of current sections levels and headings
+    $_ = $paragraph;
+    if (/^=((?:sub)*)(?:head(?:ing)?|sec(?:tion)?)(\d*)\s+(.*?)\s*$/)
+    {
+        ## This is a section heading command
+        my ($level, $heading) = ($2, $3);
+        $level = 1 + (length($1) / 3)  if ((! length $level) || (length $1));
+        ## Reset the current section heading at this level
+        $myData{_SECTION_HEADINGS}->[$level - 1] = $heading;
+        ## Reset subsection headings of this one to empty
+        for (my $i = $level; $i < $MAX_HEADING_LEVEL; ++$i) {
+            $myData{_SECTION_HEADINGS}->[$i] = '';
+        }
+    }
+
+    return  $self->match_section();
+}
+
+#############################################################################
+
+=head1 EXPORTED FUNCTIONS
+
+The following functions are exported by this module. Please note that
+these are functions (not methods) and therefore C<do not> take an
+implicit first argument.
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=head1 B<podselect()>
+
+            podselect(\%options, at filelist);
+
+B<podselect> will print the raw (untranslated) POD paragraphs of all
+POD sections in the given input files specified by C<@filelist>
+according to the given options.
+
+If any argument to B<podselect> is a reference to a hash
+(associative array) then the values with the following keys are
+processed as follows:
+
+=over 4
+
+=item B<-output>
+
+A string corresponding to the desired output file (or ">&STDOUT"
+or ">&STDERR"). The default is to use standard output.
+
+=item B<-sections>
+
+A reference to an array of sections specifications (as described in
+L<"SECTION SPECIFICATIONS">) which indicate the desired set of POD
+sections and subsections to be selected from input. If no section
+specifications are given, then all sections of the PODs are used.
+
+=begin _NOT_IMPLEMENTED_
+
+=item B<-ranges>
+
+A reference to an array of range specifications (as described in
+L<"RANGE SPECIFICATIONS">) which indicate the desired range of POD
+paragraphs to be selected from the desired input sections. If no range
+specifications are given, then all paragraphs of the desired sections
+are used.
+
+=end _NOT_IMPLEMENTED_
+
+=back
+
+All other arguments should correspond to the names of input files
+containing POD sections. A file name of "-" or "<&STDIN" will
+be interpreted to mean standard input (which is the default if no
+filenames are given).
+
+=cut 
+
+sub podselect {
+    my(@argv) = @_;
+    my %defaults = ();
+    my $pod_parser = new Pod::Select(%defaults);
+    my $num_inputs = 0;
+    my $output = '>&STDOUT';
+    my %opts;
+    local $_;
+    for (@argv) {
+        if (ref($_)) {
+        next unless (ref($_) eq 'HASH');
+            %opts = (%defaults, %{$_});
+
+            ##-------------------------------------------------------------
+            ## Need this for backward compatibility since we formerly used
+            ## options that were all uppercase words rather than ones that
+            ## looked like Unix command-line options.
+            ## to be uppercase keywords)
+            ##-------------------------------------------------------------
+            %opts = map {
+                my ($key, $val) = (lc $_, $opts{$_});
+                $key =~ s/^(?=\w)/-/;
+                $key =~ /^-se[cl]/  and  $key  = '-sections';
+                #! $key eq '-range'    and  $key .= 's';
+                ($key => $val);
+            } (keys %opts);
+
+            ## Process the options
+            (exists $opts{'-output'})  and  $output = $opts{'-output'};
+
+            ## Select the desired sections
+            $pod_parser->select(@{ $opts{'-sections'} })
+                if ( (defined $opts{'-sections'})
+                     && ((ref $opts{'-sections'}) eq 'ARRAY') );
+
+            #! ## Select the desired paragraph ranges
+            #! $pod_parser->select(@{ $opts{'-ranges'} })
+            #!     if ( (defined $opts{'-ranges'})
+            #!          && ((ref $opts{'-ranges'}) eq 'ARRAY') );
+        }
+        else {
+            $pod_parser->parse_from_file($_, $output);
+            ++$num_inputs;
+        }
+    }
+    $pod_parser->parse_from_file('-')  unless ($num_inputs > 0);
+}
+
+#############################################################################
+
+=head1 PRIVATE METHODS AND DATA
+
+B<Pod::Select> makes uses a number of internal methods and data fields
+which clients should not need to see or use. For the sake of avoiding
+name collisions with client data and methods, these methods and fields
+are briefly discussed here. Determined hackers may obtain further
+information about them by reading the B<Pod::Select> source code.
+
+Private data fields are stored in the hash-object whose reference is
+returned by the B<new()> constructor for this class. The names of all
+private methods and data-fields used by B<Pod::Select> begin with a
+prefix of "_" and match the regular expression C</^_\w+$/>.
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=begin _PRIVATE_
+
+=head1 B<_compile_section_spec()>
+
+            $listref = $parser->_compile_section_spec($section_spec);
+
+This function (note it is a function and I<not> a method) takes a
+section specification (as described in L<"SECTION SPECIFICATIONS">)
+given in C<$section_sepc>, and compiles it into a list of regular
+expressions. If C<$section_spec> has no syntax errors, then a reference
+to the list (array) of corresponding regular expressions is returned;
+otherwise C<undef> is returned and an error message is printed (using
+B<carp>) for each invalid regex.
+
+=end _PRIVATE_
+
+=cut
+
+sub _compile_section_spec {
+    my ($section_spec) = @_;
+    my (@regexs, $negated);
+
+    ## Compile the spec into a list of regexs
+    local $_ = $section_spec;
+    s{\\\\}{\001}g;  ## handle escaped backward slashes
+    s{\\/}{\002}g;   ## handle escaped forward slashes
+
+    ## Parse the regexs for the heading titles
+    @regexs = split(/\//, $_, $MAX_HEADING_LEVEL);
+
+    ## Set default regex for ommitted levels
+    for (my $i = 0; $i < $MAX_HEADING_LEVEL; ++$i) {
+        $regexs[$i]  = '.*'  unless ((defined $regexs[$i])
+                                     && (length $regexs[$i]));
+    }
+    ## Modify the regexs as needed and validate their syntax
+    my $bad_regexs = 0;
+    for (@regexs) {
+        $_ .= '.+'  if ($_ eq '!');
+        s{\001}{\\\\}g;       ## restore escaped backward slashes
+        s{\002}{\\/}g;        ## restore escaped forward slashes
+        $negated = s/^\!//;   ## check for negation
+        eval "m{$_}";         ## check regex syntax
+        if ($@) {
+            ++$bad_regexs;
+            carp qq{Bad regular expression /$_/ in "$section_spec": $@\n};
+        }
+        else {
+            ## Add the forward and rear anchors (and put the negator back)
+            $_ = '^' . $_  unless (/^\^/);
+            $_ = $_ . '$'  unless (/\$$/);
+            $_ = '!' . $_  if ($negated);
+        }
+    }
+    return  (! $bad_regexs) ? [ @regexs ] : undef;
+}
+
+##---------------------------------------------------------------------------
+
+=begin _PRIVATE_
+
+=head2 $self->{_SECTION_HEADINGS}
+
+A reference to an array of the current section heading titles for each
+heading level (note that the first heading level title is at index 0).
+
+=end _PRIVATE_
+
+=cut
+
+##---------------------------------------------------------------------------
+
+=begin _PRIVATE_
+
+=head2 $self->{_SELECTED_SECTIONS}
+
+A reference to an array of references to arrays. Each subarray is a list
+of anchored regular expressions (preceded by a "!" if the expression is to
+be negated). The index of the expression in the subarray should correspond
+to the index of the heading title in C<$self-E<gt>{_SECTION_HEADINGS}>
+that it is to be matched against.
+
+=end _PRIVATE_
+
+=cut
+
+#############################################################################
+
+=head1 SEE ALSO
+
+L<Pod::Parser>
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Brad Appleton E<lt>bradapp at enteract.comE<gt>
+
+Based on code for B<pod2text> written by
+Tom Christiansen E<lt>tchrist at mox.perl.comE<gt>
+
+B<Pod::Select> is part of the L<Pod::Parser> distribution.
+
+=cut
+
+1;
+# vim: ts=4 sw=4 et


Property changes on: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Select.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Usage.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Usage.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Usage.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/lib/Pod/Usage.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/scripts/pod2usage.PL
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/scripts/pod2usage.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/scripts/pod2usage.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/scripts/pod2usage.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/scripts/podchecker.PL
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/scripts/podchecker.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/scripts/podchecker.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/scripts/podchecker.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/scripts/podselect.PL
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/scripts/podselect.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/scripts/podselect.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,143 +1,143 @@
-#!/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!';
-
-#############################################################################
-# podselect -- command to invoke the podselect function in Pod::Select
-#
-# 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
-
-podselect - print selected sections of pod documentation on standard output
-
-=head1 SYNOPSIS
-
-B<podselect> [B<-help>] [B<-man>] [B<-section>S< >I<section-spec>]
-[I<file>S< >...]
-
-=head1 OPTIONS AND ARGUMENTS
-
-=over 8
-
-=item B<-help>
-
-Print a brief help message and exit.
-
-=item B<-man>
-
-Print the manual page and exit.
-
-=item B<-section>S< >I<section-spec>
-
-Specify a section to include in the output.
-See L<Pod::Parser/"SECTION SPECIFICATIONS">
-for the format to use for I<section-spec>.
-This option may be given multiple times on the command line.
-
-=item I<file>
-
-The pathname of a file from which to select sections of pod
-documentation (defaults to standard input).
-
-=back
-
-=head1 DESCRIPTION
-
-B<podselect> will read the given input files looking for pod
-documentation and will print out (in raw pod format) all sections that
-match one ore more of the given section specifications. If no section
-specifications are given than all pod sections encountered are output.
-
-B<podselect> invokes the B<podselect()> function exported by B<Pod::Select>
-Please see L<Pod::Select/podselect()> for more details.
-
-=head1 SEE ALSO
-
-L<Pod::Parser> and L<Pod::Select>
-
-=head1 AUTHOR
-
-Please report bugs using L<http://rt.cpan.org>.
-
-Brad Appleton E<lt>bradapp at enteract.comE<gt>
-
-Based on code for B<Pod::Text::pod2text(1)> written by
-Tom Christiansen E<lt>tchrist at mox.perl.comE<gt>
-
-=cut
-
-use Pod::Select;
-use Pod::Usage;
-use Getopt::Long;
-
-## Define options
-my %options = (
-        'help'     => 0,
-        'man'      => 0,
-        'sections' => [],
-);
-
-## Parse options
-GetOptions(\%options, 'help', 'man', 'sections|select=s@')  ||  pod2usage(2);
-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));
-
-## Invoke podselect().
-if (@{ $options{'sections'} } > 0) {
-    podselect({ -sections => $options{'sections'} }, @ARGV);
-}
-else {
-    podselect(@ARGV);
-}
-
-
-!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!';
+
+#############################################################################
+# podselect -- command to invoke the podselect function in Pod::Select
+#
+# 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
+
+podselect - print selected sections of pod documentation on standard output
+
+=head1 SYNOPSIS
+
+B<podselect> [B<-help>] [B<-man>] [B<-section>S< >I<section-spec>]
+[I<file>S< >...]
+
+=head1 OPTIONS AND ARGUMENTS
+
+=over 8
+
+=item B<-help>
+
+Print a brief help message and exit.
+
+=item B<-man>
+
+Print the manual page and exit.
+
+=item B<-section>S< >I<section-spec>
+
+Specify a section to include in the output.
+See L<Pod::Parser/"SECTION SPECIFICATIONS">
+for the format to use for I<section-spec>.
+This option may be given multiple times on the command line.
+
+=item I<file>
+
+The pathname of a file from which to select sections of pod
+documentation (defaults to standard input).
+
+=back
+
+=head1 DESCRIPTION
+
+B<podselect> will read the given input files looking for pod
+documentation and will print out (in raw pod format) all sections that
+match one ore more of the given section specifications. If no section
+specifications are given than all pod sections encountered are output.
+
+B<podselect> invokes the B<podselect()> function exported by B<Pod::Select>
+Please see L<Pod::Select/podselect()> for more details.
+
+=head1 SEE ALSO
+
+L<Pod::Parser> and L<Pod::Select>
+
+=head1 AUTHOR
+
+Please report bugs using L<http://rt.cpan.org>.
+
+Brad Appleton E<lt>bradapp at enteract.comE<gt>
+
+Based on code for B<Pod::Text::pod2text(1)> written by
+Tom Christiansen E<lt>tchrist at mox.perl.comE<gt>
+
+=cut
+
+use Pod::Select;
+use Pod::Usage;
+use Getopt::Long;
+
+## Define options
+my %options = (
+        'help'     => 0,
+        'man'      => 0,
+        'sections' => [],
+);
+
+## Parse options
+GetOptions(\%options, 'help', 'man', 'sections|select=s@')  ||  pod2usage(2);
+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));
+
+## Invoke podselect().
+if (@{ $options{'sections'} } > 0) {
+    podselect({ -sections => $options{'sections'} }, @ARGV);
+}
+else {
+    podselect(@ARGV);
+}
+
+
+!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;


Property changes on: vendor/perl/dist/cpan/Pod-Parser/scripts/podselect.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_bad_pod.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_bad_pod.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_bad_pod.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
-=head foo
-
-bar baz.
-
-=cut
+=head foo
+
+bar baz.
+
+=cut


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_bad_pod.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,19 +1,19 @@
-#!/usr/bin/env perl
-
-# Copyright (C) 2005  Joshua Hoblitt
-#
-# $Id: contains_pod.t,v 1.1.1.1 2011-05-18 13:33:29 laffer1 Exp $
-
-use strict;
-
-use Test::More tests => 2;
-
-use Pod::Find qw( contains_pod );
-
-{
-    ok(contains_pod('t/pod/contains_pod.xr'), "contains pod");
-}
-
-{
-    ok(contains_pod('t/pod/contains_bad_pod.xr'), "contains bad pod");
-}
+#!/usr/bin/env perl
+
+# Copyright (C) 2005  Joshua Hoblitt
+#
+# $Id$
+
+use strict;
+
+use Test::More tests => 2;
+
+use Pod::Find qw( contains_pod );
+
+{
+    ok(contains_pod('t/pod/contains_pod.xr'), "contains pod");
+}
+
+{
+    ok(contains_pod('t/pod/contains_bad_pod.xr'), "contains bad pod");
+}


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
-=head1 foo
-
-bar baz.
-
-=cut
+=head1 foo
+
+bar baz.
+
+=cut


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/contains_pod.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,21 +1,21 @@
-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__
-
-=pod
-
-= this is a test
-of the emergency
-broadcast system
-
-=cut
+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__
+
+=pod
+
+= this is a test
+of the emergency
+broadcast system
+
+=cut


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,2 +1,2 @@
-    = this is a test of the emergency broadcast system
-
+    = this is a test of the emergency broadcast system
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/emptycmd.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/find.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/find.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/find.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,147 +1,101 @@
-# Testing of Pod::Find
-# Author: Marek Rouchal <marek at saftsack.fs.uni-bayreuth.de>
-
-$| = 1;
-
-BEGIN {
-  if ($^O eq 'VMS') {
-    print "1..0 # needs upstream patch from https://rt.cpan.org/Ticket/Display.html?id=55121";
-    exit 0;
-  }
-}
-
-use Test::More tests => 4;
-
-BEGIN {
-  # 1. load successful
-  use_ok('Pod::Find', qw(pod_find pod_where));
-}
-
-use File::Spec;
-
-require Cwd;
-my $THISDIR = Cwd::cwd();
-my $VERBOSE = $ENV{PERL_CORE} ? 0 : ($ENV{TEST_VERBOSE} || 0);
-my $lib_dir = File::Spec->catdir($THISDIR,'lib');
-
-my $vms_unix_rpt = 0;
-my $vms_efs = 0;
-my $unix_mode = 1;
-
-if ($^O eq 'VMS') {
-    $lib_dir = VMS::Filespec::unixify(File::Spec->catdir($THISDIR,'-','lib','pod'));
-    $Qlib_dir = $lib_dir;
-    $Qlib_dir =~ s#\/#::#g;
-
-    $unix_mode = 0;
-    if (eval 'require VMS::Feature') {
-        $vms_unix_rpt = VMS::Feature::current("filename_unix_report");
-        $vms_efs = VMS::Feature::current("efs_charset");
-    } else {
-        my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
-        my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || '';
-        $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i; 
-        $vms_efs = $efs_charset =~ /^[ET1]/i; 
-    }
-
-    # Traditional VMS mode only if VMS is not in UNIX compatible mode.
-    $unix_mode = ($vms_efs && $vms_unix_rpt);
-}
-
-print "### 2. searching $lib_dir\n";
-my %pods = pod_find($lib_dir);
-my $result = join(',', sort values %pods);
-print "### found $result\n";
-my $compare = join(',', sort qw(
-    Pod::Checker
-    Pod::Find
-    Pod::InputObjects
-    Pod::ParseUtils
-    Pod::Parser
-    Pod::PlainText
-    Pod::Select
-    Pod::Usage
-));
-if ($^O eq 'VMS') {
-    $compare = lc($compare);
-    my $undollared = $Qlib_dir;
-    $undollared =~ s/\$/\\\$/g;
-    $undollared =~ s/\-/\\\-/g;
-    $result =~ s/$undollared/pod::/g;
-    $result =~ s/\$//g;
-    my $count = 0;
-    my @result = split(/,/,$result);
-    my @compare = split(/,/,$compare);
-    foreach(@compare) {
-        $count += grep {/$_/} @result;
-    }
-    is($count/($#result+1)-1,$#compare);
-}
-elsif (File::Spec->case_tolerant || $^O eq 'dos') {
-    is(lc $result,lc $compare);
-}
-else {
-    is($result,$compare);
-}
-
-print "### 3. searching for File::Find\n";
-$result = pod_where({ -inc => 1, -verbose => $VERBOSE }, 'File::Find')
-  || 'undef - pod not found!';
-print "### found $result\n";
-
-require Config;
-if ($^O eq 'VMS') { # privlib is perl_root:[lib] OK but not under mms
-    if ($unix_mode) {
-        $compare = "../lib/File/Find.pm";
-    } else {
-        $compare = "lib.File]Find.pm";
-    }
-    $result =~ s/perl_root:\[\-?\.?//i;
-    $result =~ s/\[\-?\.?//i; # needed under `mms test`
-    is($result,$compare);
-}
-else {
-    $compare = $ENV{PERL_CORE} ?
-      File::Spec->catfile(File::Spec->updir, File::Spec->updir, 'lib','File','Find.pm')
-      : File::Spec->catfile($Config::Config{privlibexp},"File","Find.pm");
-    my $resfile = _canon($result);
-    my $cmpfile = _canon($compare);
-    if($^O =~ /dos|win32/i && $resfile =~ /~\d(?=\\|$)/) {
-      # we have ~1 short filenames
-      $resfile = quotemeta($resfile);
-      $resfile =~ s/\\~\d(?=\\|$)/[^\\\\]+/g;
-      ok($cmpfile =~ /^$resfile$/, "pod_where found File::Find (with long filename matching)") ||
-        diag("'$cmpfile' does not match /^$resfile\$/");
-    } else {
-      is($resfile,$cmpfile,"pod_where found File::Find");
-    }
-}
-
-# Search for a documentation pod rather than a module
-my $searchpod = 'Stuff';
-print "### 4. searching for $searchpod.pod\n";
-$result = pod_where(
-  { -dirs => [ File::Spec->catdir( qw(t), 'pod', 'testpods', 'lib', 'Pod') ],
-    -verbose => $VERBOSE }, $searchpod)
-  || "undef - $searchpod.pod not found!";
-print "### found $result\n";
-
-$compare = File::Spec->catfile(
-    qw(t), 'pod', 'testpods', 'lib', 'Pod' ,'Stuff.pm');
-is(_canon($result),_canon($compare));
-
-
-# make the path as generic as possible
-sub _canon
-{
-  my ($path) = @_;
-  $path = File::Spec->canonpath($path);
-  my @comp = File::Spec->splitpath($path);
-  my @dir = File::Spec->splitdir($comp[1]);
-  $comp[1] = File::Spec->catdir(@dir);
-  $path = File::Spec->catpath(@comp);
-  $path = uc($path) if File::Spec->case_tolerant;
-  print "### general path: $path\n" if $VERBOSE;
-  $path;
-}
-
+# Testing of Pod::Find
+# Author: Marek Rouchal <marek at saftsack.fs.uni-bayreuth.de>
+
+$| = 1;
+
+BEGIN {
+  if ($^O eq 'VMS') {
+    print "1..0 # needs upstream patch from https://rt.cpan.org/Ticket/Display.html?id=55121";
+    exit 0;
+  }
+}
+
+use strict;
+use Test::More tests => 4;
+
+BEGIN {
+  # 1. load successful
+  use_ok('Pod::Find', qw(pod_find pod_where));
+}
+
+use File::Spec;
+
+require Cwd;
+my $THISDIR = Cwd::cwd();
+my $VERBOSE = $ENV{PERL_CORE} ? 0 : ($ENV{TEST_VERBOSE} || 0);
+my $lib_dir = File::Spec->catdir($THISDIR,'lib');
+
+if ($^O eq 'VMS') {
+    $lib_dir = VMS::Filespec::unixify($lib_dir);
+}
+
+print "### 2. searching $lib_dir\n";
+my %pods = pod_find($lib_dir);
+my @results = values %pods;
+print "### found @results\n";
+my @compare = qw(
+    Pod::Find
+    Pod::InputObjects
+    Pod::ParseUtils
+    Pod::Parser
+    Pod::PlainText
+    Pod::Select
+);
+if (File::Spec->case_tolerant || $^O eq 'dos') {
+    # must downcase before sorting
+    map {$_ = lc $_} @compare;
+    map {$_ = lc $_} @results;
+}
+my $compare = join(',', sort @compare);
+my $result = join(',', sort @results);
+is($result, $compare);
+
+print "### 3. searching for File::Find\n";
+$result = pod_where({ -inc => 1, -verbose => $VERBOSE }, 'File::Find')
+  || 'undef - pod not found!';
+print "### found $result\n";
+
+require Config;
+$compare = $ENV{PERL_CORE} ?
+      File::Spec->catfile(File::Spec->updir, File::Spec->updir, 'lib','File','Find.pm')
+      : File::Spec->catfile($Config::Config{privlibexp},"File","Find.pm");
+my $resfile = _canon($result);
+my $cmpfile = _canon($compare);
+if($^O =~ /dos|win32/i && $resfile =~ /~\d(?=\\|$)/) {
+    # we have ~1 short filenames
+    $resfile = quotemeta($resfile);
+    $resfile =~ s/\\~\d(?=\\|$)/[^\\\\]+/g;
+    ok($cmpfile =~ /^$resfile$/, "pod_where found File::Find (with long filename matching)") ||
+      diag("'$cmpfile' does not match /^$resfile\$/");
+} else {
+    is($resfile,$cmpfile,"pod_where found File::Find");
+}
+
+# Search for a documentation pod rather than a module
+my $searchpod = 'Stuff';
+print "### 4. searching for $searchpod.pod\n";
+$result = pod_where(
+  { -dirs => [ File::Spec->catdir( qw(t), 'pod', 'testpods', 'lib', 'Pod') ],
+    -verbose => $VERBOSE }, $searchpod)
+  || "undef - $searchpod.pod not found!";
+print "### found $result\n";
+
+$compare = File::Spec->catfile(
+    qw(t), 'pod', 'testpods', 'lib', 'Pod' ,'Stuff.pm');
+is(_canon($result),_canon($compare));
+
+
+# make the path as generic as possible
+sub _canon
+{
+  my ($path) = @_;
+  $path = File::Spec->canonpath($path);
+  my @comp = File::Spec->splitpath($path);
+  my @dir = File::Spec->splitdir($comp[1]);
+  $comp[1] = File::Spec->catdir(@dir);
+  $path = File::Spec->catpath(@comp);
+  $path = uc($path) if File::Spec->case_tolerant;
+  print "### general path: $path\n" if $VERBOSE;
+  $path;
+}
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/find.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/for.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/for.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/for.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,59 +1,59 @@
-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__
-
-
-=pod
-
-This is a test
-
-=for theloveofpete
-You shouldn't see this
-or this
-or this
-
-=for text
-pod2text should see this
-and this
-and this
-
-and everything should see this!
-
-=begin text
-
-Similarly, this line ...
-
-and this one ...
-
-as well this one,
-
-should all be in pod2text output
-
-=end text
-
-Tweedley-deedley-dee, Im as happy as can be!
-Tweedley-deedley-dum, cuz youre my honey sugar plum!
-
-=begin atthebeginning
-
-But I expect to see neither hide ...
-
-nor tail ...
-
-of this text
-
-=end atthebeginning
-
-The rest of this should show up in everything.
-
+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__
+
+
+=pod
+
+This is a test
+
+=for theloveofpete
+You shouldn't see this
+or this
+or this
+
+=for text
+pod2text should see this
+and this
+and this
+
+and everything should see this!
+
+=begin text
+
+Similarly, this line ...
+
+and this one ...
+
+as well this one,
+
+should all be in pod2text output
+
+=end text
+
+Tweedley-deedley-dee, Im as happy as can be!
+Tweedley-deedley-dum, cuz youre my honey sugar plum!
+
+=begin atthebeginning
+
+But I expect to see neither hide ...
+
+nor tail ...
+
+of this text
+
+=end atthebeginning
+
+The rest of this should show up in everything.
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/for.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/for.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/for.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/for.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,21 +1,21 @@
-    This is a test
-
-    pod2text should see this
-    and this
-    and this
-
-    and everything should see this!
-
-Similarly, this line ...
-
-and this one ...
-
-as well this one,
-
-should all be in pod2text output
-
-    Tweedley-deedley-dee, Im as happy as can be! Tweedley-deedley-dum, cuz
-    youre my honey sugar plum!
-
-    The rest of this should show up in everything.
-
+    This is a test
+
+    pod2text should see this
+    and this
+    and this
+
+    and everything should see this!
+
+Similarly, this line ...
+
+and this one ...
+
+as well this one,
+
+should all be in pod2text output
+
+    Tweedley-deedley-dee, Im as happy as can be! Tweedley-deedley-dum, cuz
+    youre my honey sugar plum!
+
+    The rest of this should show up in everything.
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/for.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,140 +1,140 @@
-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__
-
-
-#################################################################
-  use Pod::Usage;
-  pod2usage( VERBOSE => 2, EXIT => 1 );
-
-=pod
-
-=head1 NAME
-
-B<rdb2pg> - insert an rdb table into a PostgreSQL database
-
-=head1 SYNOPSIS
-
-B<rdb2pg>  [I<param>=I<value> ...]
-
-=head1 PARAMETERS
-
-B<rdb2pg> uses an IRAF-compatible parameter interface.  
-A template parameter file is in F</proj/axaf/simul/lib/uparm/rdb2pg.par>.
-
-=over 4
-
-=item B<input> I<file>
-
-The B<RDB> file to insert into the database. If the given name
-is the string C<stdin>, it reads from the UNIX standard input stream.
-
-
-=back
-
-=head1 DESCRIPTION
-
-B<rdb2pg> will enter the data from an B<RDB> database into a
-PostgreSQL database table, optionally creating the database and the
-table if they do not exist.  It automatically determines the
-PostgreSQL data type from the column definition in the B<RDB> file,
-but may be overriden via a series of definition files or directly
-via one of its parameters.
-
-The target database and table are specified by the C<db> and C<table>
-parameters.  If they do not exist, and the C<createdb> parameter is
-set, they will be created.  Table field definitions are determined
-in the following order:
-
-=cut
-
-#################################################################
-
-results in:
-
-
-#################################################################
-
-    rdb2pg - insert an rdb table into a PostgreSQL database
-
-    rdb2pg [*param*=*value* ...]
-
-    rdb2pg uses an IRAF-compatible parameter interface. A template
-    parameter file is in /proj/axaf/simul/lib/uparm/rdb2pg.par.
-
-    The RDB file to insert into the database. If the given name is
-    the string `stdin', it reads from the UNIX standard input
-    stream.
-
-    rdb2pg will enter the data from an RDB database into a
-    PostgreSQL database table, optionally creating the database and
-    the table if they do not exist. It automatically determines the
-    PostgreSQL data type from the column definition in the RDB file,
-    but may be overriden via a series of definition files or
-    directly via one of its parameters.
-
-    The target database and table are specified by the `db' and
-    `table' parameters. If they do not exist, and the `createdb'
-    parameter is set, they will be created. Table field definitions
-    are determined in the following order:
-
-
-#################################################################
-
-while the original version of Text (using pod2text) gives
-
-#################################################################
-
-NAME
-    rdb2pg - insert an rdb table into a PostgreSQL database
-
-SYNOPSIS
-    rdb2pg [*param*=*value* ...]
-
-PARAMETERS
-    rdb2pg uses an IRAF-compatible parameter interface. A template
-    parameter file is in /proj/axaf/simul/lib/uparm/rdb2pg.par.
-
-    input *file*
-        The RDB file to insert into the database. If the given name
-        is the string `stdin', it reads from the UNIX standard input
-        stream.
-
-DESCRIPTION
-    rdb2pg will enter the data from an RDB database into a
-    PostgreSQL database table, optionally creating the database and
-    the table if they do not exist. It automatically determines the
-    PostgreSQL data type from the column definition in the RDB file,
-    but may be overriden via a series of definition files or
-    directly via one of its parameters.
-
-    The target database and table are specified by the `db' and
-    `table' parameters. If they do not exist, and the `createdb'
-    parameter is set, they will be created. Table field definitions
-    are determined in the following order:
-
-
-#################################################################
-
-
-Thanks for any help.  If, as your email indicates, you've not much
-time to look at this, I can work around things by calling pod2text()
-directly using the official Text.pm.
-
-Diab
-
--------------
-Diab Jerius
-djerius at cfa.harvard.edu
-
+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__
+
+
+#################################################################
+  use Pod::Usage;
+  pod2usage( VERBOSE => 2, EXIT => 1 );
+
+=pod
+
+=head1 NAME
+
+B<rdb2pg> - insert an rdb table into a PostgreSQL database
+
+=head1 SYNOPSIS
+
+B<rdb2pg>  [I<param>=I<value> ...]
+
+=head1 PARAMETERS
+
+B<rdb2pg> uses an IRAF-compatible parameter interface.  
+A template parameter file is in F</proj/axaf/simul/lib/uparm/rdb2pg.par>.
+
+=over 4
+
+=item B<input> I<file>
+
+The B<RDB> file to insert into the database. If the given name
+is the string C<stdin>, it reads from the UNIX standard input stream.
+
+
+=back
+
+=head1 DESCRIPTION
+
+B<rdb2pg> will enter the data from an B<RDB> database into a
+PostgreSQL database table, optionally creating the database and the
+table if they do not exist.  It automatically determines the
+PostgreSQL data type from the column definition in the B<RDB> file,
+but may be overriden via a series of definition files or directly
+via one of its parameters.
+
+The target database and table are specified by the C<db> and C<table>
+parameters.  If they do not exist, and the C<createdb> parameter is
+set, they will be created.  Table field definitions are determined
+in the following order:
+
+=cut
+
+#################################################################
+
+results in:
+
+
+#################################################################
+
+    rdb2pg - insert an rdb table into a PostgreSQL database
+
+    rdb2pg [*param*=*value* ...]
+
+    rdb2pg uses an IRAF-compatible parameter interface. A template
+    parameter file is in /proj/axaf/simul/lib/uparm/rdb2pg.par.
+
+    The RDB file to insert into the database. If the given name is
+    the string `stdin', it reads from the UNIX standard input
+    stream.
+
+    rdb2pg will enter the data from an RDB database into a
+    PostgreSQL database table, optionally creating the database and
+    the table if they do not exist. It automatically determines the
+    PostgreSQL data type from the column definition in the RDB file,
+    but may be overriden via a series of definition files or
+    directly via one of its parameters.
+
+    The target database and table are specified by the `db' and
+    `table' parameters. If they do not exist, and the `createdb'
+    parameter is set, they will be created. Table field definitions
+    are determined in the following order:
+
+
+#################################################################
+
+while the original version of Text (using pod2text) gives
+
+#################################################################
+
+NAME
+    rdb2pg - insert an rdb table into a PostgreSQL database
+
+SYNOPSIS
+    rdb2pg [*param*=*value* ...]
+
+PARAMETERS
+    rdb2pg uses an IRAF-compatible parameter interface. A template
+    parameter file is in /proj/axaf/simul/lib/uparm/rdb2pg.par.
+
+    input *file*
+        The RDB file to insert into the database. If the given name
+        is the string `stdin', it reads from the UNIX standard input
+        stream.
+
+DESCRIPTION
+    rdb2pg will enter the data from an RDB database into a
+    PostgreSQL database table, optionally creating the database and
+    the table if they do not exist. It automatically determines the
+    PostgreSQL data type from the column definition in the RDB file,
+    but may be overriden via a series of definition files or
+    directly via one of its parameters.
+
+    The target database and table are specified by the `db' and
+    `table' parameters. If they do not exist, and the `createdb'
+    parameter is set, they will be created. Table field definitions
+    are determined in the following order:
+
+
+#################################################################
+
+
+Thanks for any help.  If, as your email indicates, you've not much
+time to look at this, I can work around things by calling pod2text()
+directly using the official Text.pm.
+
+Diab
+
+-------------
+Diab Jerius
+djerius at cfa.harvard.edu
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,26 +1,26 @@
-NAME
-    rdb2pg - insert an rdb table into a PostgreSQL database
-
-SYNOPSIS
-    rdb2pg [*param*=*value* ...]
-
-PARAMETERS
-    rdb2pg uses an IRAF-compatible parameter interface. A template parameter
-    file is in /proj/axaf/simul/lib/uparm/rdb2pg.par.
-
-    input *file*
-        The RDB file to insert into the database. If the given name is the
-        string `stdin', it reads from the UNIX standard input stream.
-
-DESCRIPTION
-    rdb2pg will enter the data from an RDB database into a PostgreSQL
-    database table, optionally creating the database and the table if they
-    do not exist. It automatically determines the PostgreSQL data type from
-    the column definition in the RDB file, but may be overriden via a series
-    of definition files or directly via one of its parameters.
-
-    The target database and table are specified by the `db' and `table'
-    parameters. If they do not exist, and the `createdb' parameter is set,
-    they will be created. Table field definitions are determined in the
-    following order:
-
+NAME
+    rdb2pg - insert an rdb table into a PostgreSQL database
+
+SYNOPSIS
+    rdb2pg [*param*=*value* ...]
+
+PARAMETERS
+    rdb2pg uses an IRAF-compatible parameter interface. A template parameter
+    file is in /proj/axaf/simul/lib/uparm/rdb2pg.par.
+
+    input *file*
+        The RDB file to insert into the database. If the given name is the
+        string `stdin', it reads from the UNIX standard input stream.
+
+DESCRIPTION
+    rdb2pg will enter the data from an RDB database into a PostgreSQL
+    database table, optionally creating the database and the table if they
+    do not exist. It automatically determines the PostgreSQL data type from
+    the column definition in the RDB file, but may be overriden via a series
+    of definition files or directly via one of its parameters.
+
+    The target database and table are specified by the `db' and `table'
+    parameters. If they do not exist, and the `createdb' parameter is set,
+    they will be created. Table field definitions are determined in the
+    following order:
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/headings.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/include.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/include.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/include.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,36 +1,36 @@
-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__
-
-
-=pod
-
-This file tries to demonstrate a simple =include directive
-for pods. It is used as follows:
-
-   =include filename
-
-where "filename" is expected to be an absolute pathname, or else
-reside be relative to the directory in which the current processed
-podfile resides, or be relative to the current directory.
-
-Lets try it out with the file "included.t" shall we.
-
-***THIS TEXT IS IMMEDIATELY BEFORE THE INCLUDE***
-
-=include included.t
-
-***THIS TEXT IS IMMEDIATELY AFTER THE INCLUDE***
-
-So how did we do???
+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__
+
+
+=pod
+
+This file tries to demonstrate a simple =include directive
+for pods. It is used as follows:
+
+   =include filename
+
+where "filename" is expected to be an absolute pathname, or else
+reside be relative to the directory in which the current processed
+podfile resides, or be relative to the current directory.
+
+Lets try it out with the file "included.t" shall we.
+
+***THIS TEXT IS IMMEDIATELY BEFORE THE INCLUDE***
+
+=include included.t
+
+***THIS TEXT IS IMMEDIATELY AFTER THE INCLUDE***
+
+So how did we do???


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/include.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/include.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/include.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/include.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,22 +1,22 @@
-    This file tries to demonstrate a simple =include directive for pods. It
-    is used as follows:
-
-       =include filename
-
-    where "filename" is expected to be an absolute pathname, or else reside
-    be relative to the directory in which the current processed podfile
-    resides, or be relative to the current directory.
-
-    Lets try it out with the file "included.t" shall we.
-
-    ***THIS TEXT IS IMMEDIATELY BEFORE THE INCLUDE***
-
-###### begin =include included.t #####
-    This is the text of the included file named "included.t". It should
-    appear in the final pod document from pod2xxx
-
-###### end =include included.t #####
-    ***THIS TEXT IS IMMEDIATELY AFTER THE INCLUDE***
-
-    So how did we do???
-
+    This file tries to demonstrate a simple =include directive for pods. It
+    is used as follows:
+
+       =include filename
+
+    where "filename" is expected to be an absolute pathname, or else reside
+    be relative to the directory in which the current processed podfile
+    resides, or be relative to the current directory.
+
+    Lets try it out with the file "included.t" shall we.
+
+    ***THIS TEXT IS IMMEDIATELY BEFORE THE INCLUDE***
+
+###### begin =include included.t #####
+    This is the text of the included file named "included.t". It should
+    appear in the final pod document from pod2xxx
+
+###### end =include included.t #####
+    ***THIS TEXT IS IMMEDIATELY AFTER THE INCLUDE***
+
+    So how did we do???
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/include.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/included.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/included.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/included.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,35 +1,35 @@
-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__
-
-
-##------------------------------------------------------------
-# This file is =included by "include.t"
-#
-# This text should NOT be in the resultant pod document
-# because we havent seen an =xxx pod directive in this file!
-##------------------------------------------------------------
-
-=pod
-
-This is the text of the included file named "included.t".
-It should appear in the final pod document from pod2xxx
-
-=cut
-
-##------------------------------------------------------------
-# This text should NOT be in the resultant pod document
-# because it is *after* an =cut an no other pod directives
-# proceed it!
-##------------------------------------------------------------
+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__
+
+
+##------------------------------------------------------------
+# This file is =included by "include.t"
+#
+# This text should NOT be in the resultant pod document
+# because we havent seen an =xxx pod directive in this file!
+##------------------------------------------------------------
+
+=pod
+
+This is the text of the included file named "included.t".
+It should appear in the final pod document from pod2xxx
+
+=cut
+
+##------------------------------------------------------------
+# This text should NOT be in the resultant pod document
+# because it is *after* an =cut an no other pod directives
+# proceed it!
+##------------------------------------------------------------


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/included.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/included.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/included.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/included.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,3 @@
-    This is the text of the included file named "included.t". It should
-    appear in the final pod document from pod2xxx
-
+    This is the text of the included file named "included.t". It should
+    appear in the final pod document from pod2xxx
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/included.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,66 +1,66 @@
-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__
-
-
-=pod
-
-Try out I<LOTS> of different ways of specifying references:
-
-Reference the L<manpage/section>
-
-Reference the L<manpage / section>
-
-Reference the L<manpage/ section>
-
-Reference the L<manpage /section>
-
-Reference the L<"manpage/section">
-
-Reference the L<"manpage"/section>
-
-Reference the L<manpage/"section">
-
-Reference the L<manpage/
-section>
-
-Reference the L<manpage
-/section>
-
-Now try it using the new "|" stuff ...
-
-Reference the L<thistext|manpage/section>
-
-Reference the L<thistext | manpage / section>
-
-Reference the L<thistext| manpage/ section>
-
-Reference the L<thistext |manpage /section>
-
-Reference the L<thistext|
-"manpage/section">
-
-Reference the L<thistext
-|"manpage"/section>
-
-Reference the L<thistext|manpage/"section">
-
-Reference the L<thistext|
-manpage/
-section>
-
-Reference the L<thistext
-|manpage
-/section>
-
+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__
+
+
+=pod
+
+Try out I<LOTS> of different ways of specifying references:
+
+Reference the L<manpage/section>
+
+Reference the L<manpage / section>
+
+Reference the L<manpage/ section>
+
+Reference the L<manpage /section>
+
+Reference the L<"manpage/section">
+
+Reference the L<"manpage"/section>
+
+Reference the L<manpage/"section">
+
+Reference the L<manpage/
+section>
+
+Reference the L<manpage
+/section>
+
+Now try it using the new "|" stuff ...
+
+Reference the L<thistext|manpage/section>
+
+Reference the L<thistext | manpage / section>
+
+Reference the L<thistext| manpage/ section>
+
+Reference the L<thistext |manpage /section>
+
+Reference the L<thistext|
+"manpage/section">
+
+Reference the L<thistext
+|"manpage"/section>
+
+Reference the L<thistext|manpage/"section">
+
+Reference the L<thistext|
+manpage/
+section>
+
+Reference the L<thistext
+|manpage
+/section>
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,40 +1,40 @@
-    Try out *LOTS* of different ways of specifying references:
-
-    Reference the the section entry in the manpage manpage
-
-    Reference the the section entry in the manpage manpage
-
-    Reference the the section entry in the manpage manpage
-
-    Reference the the section entry in the manpage manpage
-
-    Reference the the section on "manpage/section"
-
-    Reference the the section entry in the "manpage" manpage
-
-    Reference the the section on "section" in the manpage manpage
-
-    Reference the the section entry in the manpage manpage
-
-    Reference the the section entry in the manpage manpage
-
-    Now try it using the new "|" stuff ...
-
-    Reference the thistext
-
-    Reference the thistext
-
-    Reference the thistext
-
-    Reference the thistext
-
-    Reference the thistext
-
-    Reference the thistext
-
-    Reference the thistext
-
-    Reference the thistext
-
-    Reference the thistext
-
+    Try out *LOTS* of different ways of specifying references:
+
+    Reference the the section entry in the manpage manpage
+
+    Reference the the section entry in the manpage manpage
+
+    Reference the the section entry in the manpage manpage
+
+    Reference the the section entry in the manpage manpage
+
+    Reference the the section on "manpage/section"
+
+    Reference the the section entry in the "manpage" manpage
+
+    Reference the the section on "section" in the manpage manpage
+
+    Reference the the section entry in the manpage manpage
+
+    Reference the the section entry in the manpage manpage
+
+    Now try it using the new "|" stuff ...
+
+    Reference the thistext
+
+    Reference the thistext
+
+    Reference the thistext
+
+    Reference the thistext
+
+    Reference the thistext
+
+    Reference the thistext
+
+    Reference the thistext
+
+    Reference the thistext
+
+    Reference the thistext
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/lref.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,31 +1,31 @@
-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__
-
-
-=head1 Test multiline item lists
-
-This is a test to ensure that multiline =item paragraphs
-get indented appropriately.
-
-=over 4 
-
-=item This 
-is
-a
-test.
-
-=back
-
-=cut
+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__
+
+
+=head1 Test multiline item lists
+
+This is a test to ensure that multiline =item paragraphs
+get indented appropriately.
+
+=over 4 
+
+=item This 
+is
+a
+test.
+
+=back
+
+=cut


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
-Test multiline item lists
-    This is a test to ensure that multiline =item paragraphs get indented
-    appropriately.
-
-    This is a test.
-
+Test multiline item lists
+    This is a test to ensure that multiline =item paragraphs get indented
+    appropriately.
+
+    This is a test.
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/multiline_items.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,64 +1,64 @@
-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__
-
-
-=head1 Test nested item lists
-
-This is a test to ensure the nested =item paragraphs
-get indented appropriately.
-
-=over 2
-
-=item 1
-
-First section.
-
-=over 2
-
-=item a
-
-this is item a
-
-=item b
-
-this is item b
-
-=back
-
-=item 2
-
-Second section.
-
-=over 2
-
-=item a
-
-this is item a
-
-=item b
-
-this is item b
-
-=item c
-
-=item d
-
-This is item c & d.
-
-=back
-
-=back
-
-=cut
+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__
+
+
+=head1 Test nested item lists
+
+This is a test to ensure the nested =item paragraphs
+get indented appropriately.
+
+=over 2
+
+=item 1
+
+First section.
+
+=over 2
+
+=item a
+
+this is item a
+
+=item b
+
+this is item b
+
+=back
+
+=item 2
+
+Second section.
+
+=over 2
+
+=item a
+
+this is item a
+
+=item b
+
+this is item b
+
+=item c
+
+=item d
+
+This is item c & d.
+
+=back
+
+=back
+
+=cut


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,19 +1,19 @@
-Test nested item lists
-    This is a test to ensure the nested =item paragraphs get indented
-    appropriately.
-
-    1 First section.
-
-      a this is item a
-
-      b this is item b
-
-    2 Second section.
-
-      a this is item a
-
-      b this is item b
-
-      c
-      d This is item c & d.
-
+Test nested item lists
+    This is a test to ensure the nested =item paragraphs get indented
+    appropriately.
+
+    1 First section.
+
+      a this is item a
+
+      b this is item b
+
+    2 Second section.
+
+      a this is item a
+
+      b this is item b
+
+      c
+      d This is item c & d.
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_items.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,23 +1,23 @@
-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__
-
-
-=pod
-
-The statement: C<This is dog kind's I<finest> hour!> is a parody of a
-quotation from Winston Churchill.
-
-=cut
-
+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__
+
+
+=pod
+
+The statement: C<This is dog kind's I<finest> hour!> is a parody of a
+quotation from Winston Churchill.
+
+=cut
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,3 @@
-    The statement: `This is dog kind's *finest* hour!' is a parody of a
-    quotation from Winston Churchill.
-
+    The statement: `This is dog kind's *finest* hour!' is a parody of a
+    quotation from Winston Churchill.
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/nested_seqs.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,46 +1,46 @@
-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__
-
-
-==head1 NAME
-B<rdb2pg> - insert an rdb table into a PostgreSQL database
-
-==head1 SYNOPSIS
-B<rdb2pg>  [I<param>=I<value> ...]
-
-==head1 PARAMETERS
-B<rdb2pg> uses an IRAF-compatible parameter interface.  
-A template parameter file is in F</proj/axaf/simul/lib/uparm/rdb2pg.par>.
-
-==over 4
-==item B<input> I<file>
-The B<RDB> file to insert into the database. If the given name
-is the string C<stdin>, it reads from the UNIX standard input stream.
-
-==back
-
-==head1 DESCRIPTION
-B<rdb2pg> will enter the data from an B<RDB> database into a
-PostgreSQL database table, optionally creating the database and the
-table if they do not exist.  It automatically determines the
-PostgreSQL data type from the column definition in the B<RDB> file,
-but may be overriden via a series of definition files or directly
-via one of its parameters.
-
-The target database and table are specified by the C<db> and C<table>
-parameters.  If they do not exist, and the C<createdb> parameter is
-set, they will be created.  Table field definitions are determined
-in the following order:
-
+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__
+
+
+==head1 NAME
+B<rdb2pg> - insert an rdb table into a PostgreSQL database
+
+==head1 SYNOPSIS
+B<rdb2pg>  [I<param>=I<value> ...]
+
+==head1 PARAMETERS
+B<rdb2pg> uses an IRAF-compatible parameter interface.  
+A template parameter file is in F</proj/axaf/simul/lib/uparm/rdb2pg.par>.
+
+==over 4
+==item B<input> I<file>
+The B<RDB> file to insert into the database. If the given name
+is the string C<stdin>, it reads from the UNIX standard input stream.
+
+==back
+
+==head1 DESCRIPTION
+B<rdb2pg> will enter the data from an B<RDB> database into a
+PostgreSQL database table, optionally creating the database and the
+table if they do not exist.  It automatically determines the
+PostgreSQL data type from the column definition in the B<RDB> file,
+but may be overriden via a series of definition files or directly
+via one of its parameters.
+
+The target database and table are specified by the C<db> and C<table>
+parameters.  If they do not exist, and the C<createdb> parameter is
+set, they will be created.  Table field definitions are determined
+in the following order:
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,26 +1,26 @@
-NAME
-    rdb2pg - insert an rdb table into a PostgreSQL database
-
-SYNOPSIS
-    rdb2pg [*param*=*value* ...]
-
-PARAMETERS
-    rdb2pg uses an IRAF-compatible parameter interface. A template parameter
-    file is in /proj/axaf/simul/lib/uparm/rdb2pg.par.
-
-    input *file*
-        The RDB file to insert into the database. If the given name is the
-        string `stdin', it reads from the UNIX standard input stream.
-
-DESCRIPTION
-    rdb2pg will enter the data from an RDB database into a PostgreSQL
-    database table, optionally creating the database and the table if they
-    do not exist. It automatically determines the PostgreSQL data type from
-    the column definition in the RDB file, but may be overriden via a series
-    of definition files or directly via one of its parameters.
-
-    The target database and table are specified by the `db' and `table'
-    parameters. If they do not exist, and the `createdb' parameter is set,
-    they will be created. Table field definitions are determined in the
-    following order:
-
+NAME
+    rdb2pg - insert an rdb table into a PostgreSQL database
+
+SYNOPSIS
+    rdb2pg [*param*=*value* ...]
+
+PARAMETERS
+    rdb2pg uses an IRAF-compatible parameter interface. A template parameter
+    file is in /proj/axaf/simul/lib/uparm/rdb2pg.par.
+
+    input *file*
+        The RDB file to insert into the database. If the given name is the
+        string `stdin', it reads from the UNIX standard input stream.
+
+DESCRIPTION
+    rdb2pg will enter the data from an RDB database into a PostgreSQL
+    database table, optionally creating the database and the table if they
+    do not exist. It automatically determines the PostgreSQL data type from
+    the column definition in the RDB file, but may be overriden via a series
+    of definition files or directly via one of its parameters.
+
+    The target database and table are specified by the `db' and `table'
+    parameters. If they do not exist, and the `createdb' parameter is set,
+    they will be created. Table field definitions are determined in the
+    following order:
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/oneline_cmds.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/p2u_data.pl
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/p2u_data.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/p2u_data.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/p2u_data.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage2.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/pod2usage2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/podchkenc.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/poderrs.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -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 podselect.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 podselect.PL
+
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,44 +1,44 @@
-###### begin =include podselect.PL #####
-NAME
-    podselect - print selected sections of pod documentation on standard
-    output
-
-SYNOPSIS
-    podselect [-help] [-man] [-section *section-spec*] [*file* ...]
-
-OPTIONS AND ARGUMENTS
-    -help   Print a brief help message and exit.
-
-    -man    Print the manual page and exit.
-
-    -section *section-spec*
-            Specify a section to include in the output. See the section on
-            "SECTION SPECIFICATIONS" in the Pod::Parser manpage for the
-            format to use for *section-spec*. This option may be given
-            multiple times on the command line.
-
-    *file*  The pathname of a file from which to select sections of pod
-            documentation (defaults to standard input).
-
-DESCRIPTION
-    podselect will read the given input files looking for pod documentation
-    and will print out (in raw pod format) all sections that match one ore
-    more of the given section specifications. If no section specifications
-    are given than all pod sections encountered are output.
-
-    podselect invokes the podselect() function exported by Pod::Select
-    Please see the podselect() entry in the Pod::Select manpage for more
-    details.
-
-SEE ALSO
-    the Pod::Parser manpage and the Pod::Select manpage
-
-AUTHOR
-    Please report bugs using http://rt.cpan.org.
-
-    Brad Appleton <bradapp at enteract.com>
-
-    Based on code for Pod::Text::pod2text(1) written by Tom Christiansen
-    <tchrist at mox.perl.com>
-
-###### end =include podselect.PL #####
+###### begin =include podselect.PL #####
+NAME
+    podselect - print selected sections of pod documentation on standard
+    output
+
+SYNOPSIS
+    podselect [-help] [-man] [-section *section-spec*] [*file* ...]
+
+OPTIONS AND ARGUMENTS
+    -help   Print a brief help message and exit.
+
+    -man    Print the manual page and exit.
+
+    -section *section-spec*
+            Specify a section to include in the output. See the section on
+            "SECTION SPECIFICATIONS" in the Pod::Parser manpage for the
+            format to use for *section-spec*. This option may be given
+            multiple times on the command line.
+
+    *file*  The pathname of a file from which to select sections of pod
+            documentation (defaults to standard input).
+
+DESCRIPTION
+    podselect will read the given input files looking for pod documentation
+    and will print out (in raw pod format) all sections that match one ore
+    more of the given section specifications. If no section specifications
+    are given than all pod sections encountered are output.
+
+    podselect invokes the podselect() function exported by Pod::Select
+    Please see the podselect() entry in the Pod::Select manpage for more
+    details.
+
+SEE ALSO
+    the Pod::Parser manpage and the Pod::Select manpage
+
+AUTHOR
+    Please report bugs using http://rt.cpan.org.
+
+    Brad Appleton <bradapp at enteract.com>
+
+    Based on code for Pod::Text::pod2text(1) written by Tom Christiansen
+    <tchrist at mox.perl.com>
+
+###### end =include podselect.PL #####


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/podselect.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,46 +1,46 @@
-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__
-
-
-=pod
-
-This is a test to see if I can do not only C<$self> and C<method()>, but
-also C<< $self->method() >> and C<< $self->{FIELDNAME} >> and
-C<< $Foo <=> $Bar >> without resorting to escape sequences. If 
-I want to refer to the right-shift operator I can do something
-like C<<< $x >> 3 >>> or even C<<<< $y >> 5 >>>>.
-
-Now for the grand finale of C<< $self->method()->{FIELDNAME} = {FOO=>BAR} >>.
-And I also want to make sure that newlines work like this
-C<<<
-$self->{FOOBAR} >> 3 and [$b => $a]->[$a <=> $b]
->>>
-
-Of course I should still be able to do all this I<with> escape sequences
-too: C<$self-E<gt>method()> and C<$self-E<gt>{FIELDNAME}> and C<{FOO=E<gt>BAR}>.
-
-Dont forget C<$self-E<gt>method()-E<gt>{FIELDNAME} = {FOO=E<gt>BAR}>.
-
-And make sure that C<0> works too!
-
-Now, if I use << or >> as my delimiters, then I have to use whitespace.
-So things like C<<$self->method()>> and C<<$self->{FIELDNAME}>> wont end
-up doing what you might expect since the first > will still terminate
-the first < seen.
-
-Lets make sure these work for empty ones too, like C<<  >> and C<< >> >>
-(just to be obnoxious)
-
-=cut
+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__
+
+
+=pod
+
+This is a test to see if I can do not only C<$self> and C<method()>, but
+also C<< $self->method() >> and C<< $self->{FIELDNAME} >> and
+C<< $Foo <=> $Bar >> without resorting to escape sequences. If 
+I want to refer to the right-shift operator I can do something
+like C<<< $x >> 3 >>> or even C<<<< $y >> 5 >>>>.
+
+Now for the grand finale of C<< $self->method()->{FIELDNAME} = {FOO=>BAR} >>.
+And I also want to make sure that newlines work like this
+C<<<
+$self->{FOOBAR} >> 3 and [$b => $a]->[$a <=> $b]
+>>>
+
+Of course I should still be able to do all this I<with> escape sequences
+too: C<$self-E<gt>method()> and C<$self-E<gt>{FIELDNAME}> and C<{FOO=E<gt>BAR}>.
+
+Dont forget C<$self-E<gt>method()-E<gt>{FIELDNAME} = {FOO=E<gt>BAR}>.
+
+And make sure that C<0> works too!
+
+Now, if I use << or >> as my delimiters, then I have to use whitespace.
+So things like C<<$self->method()>> and C<<$self->{FIELDNAME}>> wont end
+up doing what you might expect since the first > will still terminate
+the first < seen.
+
+Lets make sure these work for empty ones too, like C<<  >> and C<< >> >>
+(just to be obnoxious)
+
+=cut


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.xr
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.xr	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,25 +1,25 @@
-    This is a test to see if I can do not only `$self' and `method()', but
-    also `$self->method()' and `$self->{FIELDNAME}' and `$Foo <=> $Bar'
-    without resorting to escape sequences. If I want to refer to the
-    right-shift operator I can do something like `$x >> 3' or even `$y >>
-    5'.
-
-    Now for the grand finale of `$self->method()->{FIELDNAME} = {FOO=>BAR}'.
-    And I also want to make sure that newlines work like this
-    `$self->{FOOBAR} >> 3 and [$b => $a]->[$a <=> $b]'
-
-    Of course I should still be able to do all this *with* escape sequences
-    too: `$self->method()' and `$self->{FIELDNAME}' and `{FOO=>BAR}'.
-
-    Dont forget `$self->method()->{FIELDNAME} = {FOO=>BAR}'.
-
-    And make sure that `0' works too!
-
-    Now, if I use << or >> as my delimiters, then I have to use whitespace.
-    So things like `<$self-'method()>> and `<$self-'{FIELDNAME}>> wont end
-    up doing what you might expect since the first > will still terminate
-    the first < seen.
-
-    Lets make sure these work for empty ones too, like and `>>' (just to be
-    obnoxious)
-
+    This is a test to see if I can do not only `$self' and `method()', but
+    also `$self->method()' and `$self->{FIELDNAME}' and `$Foo <=> $Bar'
+    without resorting to escape sequences. If I want to refer to the
+    right-shift operator I can do something like `$x >> 3' or even `$y >>
+    5'.
+
+    Now for the grand finale of `$self->method()->{FIELDNAME} = {FOO=>BAR}'.
+    And I also want to make sure that newlines work like this
+    `$self->{FOOBAR} >> 3 and [$b => $a]->[$a <=> $b]'
+
+    Of course I should still be able to do all this *with* escape sequences
+    too: `$self->method()' and `$self->{FIELDNAME}' and `{FOO=>BAR}'.
+
+    Dont forget `$self->method()->{FIELDNAME} = {FOO=>BAR}'.
+
+    And make sure that `0' works too!
+
+    Now, if I use << or >> as my delimiters, then I have to use whitespace.
+    So things like `<$self-'method()>> and `<$self-'{FIELDNAME}>> wont end
+    up doing what you might expect since the first > will still terminate
+    the first < seen.
+
+    Lets make sure these work for empty ones too, like and `>>' (just to be
+    obnoxious)
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/special_seqs.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/testcmp.pl
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/testcmp.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/testcmp.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -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;
-
- at ISA = qw(Exporter);
- at 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;
+
+ at ISA = qw(Exporter);
+ at 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;


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/testcmp.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/testp2pt.pl
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/testp2pt.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/testp2pt.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -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] };
- at 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
- at 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] };
+ at 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
+ at 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;


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/testp2pt.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/testpchk.pl
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/testpchk.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/testpchk.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,129 +1,130 @@
-package TestPodChecker;
-
-BEGIN {
-   use File::Basename;
-   use File::Spec;
-   push @INC, '..';
-   my $THISDIR = dirname $0;
-   unshift @INC, $THISDIR;
-   require "testcmp.pl";
-   import TestCompare;
-   my $PARENTDIR = dirname $THISDIR;
-   push @INC, map { File::Spec->catfile($_, 'lib') } ($PARENTDIR, $THISDIR);
-   require VMS::Filespec if $^O eq 'VMS';
-}
-
-use Pod::Checker;
-use vars qw(@ISA @EXPORT $MYPKG);
-#use strict;
-#use diagnostics;
-use Carp;
-use Exporter;
-#use File::Compare;
-
- at ISA = qw(Exporter);
- at EXPORT = qw(&testpodchecker);
-$MYPKG = eval { (caller)[0] };
-
-sub stripname( $ ) {
-   local $_ = shift;
-   return /(\w[.\w]*)\s*$/ ? $1 : $_;
-}
-
-sub msgcmp( $ $ ) {
-   ## filter out platform-dependent aspects of error messages
-   my ($line1, $line2) = @_;
-   for ($line1, $line2) {
-      ## remove filenames from error messages to avoid any
-      ## filepath naming differences between OS platforms
-      s/(at line \S+ in file) .*\W(\w+\.[tT])\s*$/$1 \L$2\E/;
-      s/.*\W(\w+\.[tT]) (has \d+ pod syntax error)/\L$1\E $2/;
-   }
-   return ($line1 ne $line2);
-}
-
-sub testpodcheck( @ ) {
-   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 podchecker for '$testname'...\n";
-   ## Compare the output against the expected result
-   if ($^O eq 'VMS') {
-      for ($infile, $outfile, $cmpfile) {
-         $_ = VMS::Filespec::unixify($_)  unless  ref;
-      }
-   }
-   podchecker($infile, $outfile);
-   if ( testcmp({'-cmplines' => \&msgcmp}, $outfile, $cmpfile) ) {
-       $different = "$outfile is different from $cmpfile";
-   }
-   else {
-       unlink($outfile);
-   }
-   return  $different;
-}
-
-sub testpodchecker( @ ) {
-   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\"" .
-                   " podchecker test ...\n";
-             podchecker($podfile, $cmpfile);
-          }
-          else {
-             print "# File $cmpfile already exists" .
-                   " (use '-force' to regenerate it).\n";
-          }
-          next;
-      }
-
-      my $failmsg = testpodcheck
-                        -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 TestPodChecker;
+
+BEGIN {
+   use File::Basename;
+   use File::Spec;
+   push @INC, '..';
+   my $THISDIR = dirname $0;
+   unshift @INC, $THISDIR;
+   require "testcmp.pl";
+   import TestCompare;
+   my $PARENTDIR = dirname $THISDIR;
+   push @INC, map { File::Spec->catfile($_, 'lib') } ($PARENTDIR, $THISDIR);
+   require VMS::Filespec if $^O eq 'VMS';
+}
+
+use Pod::Checker;
+use vars qw(@ISA @EXPORT $MYPKG);
+#use strict;
+#use diagnostics;
+use Carp;
+use Exporter;
+#use File::Compare;
+
+ at ISA = qw(Exporter);
+ at EXPORT = qw(&testpodchecker);
+ at EXPORT_OK = qw(&testpodcheck);
+$MYPKG = eval { (caller)[0] };
+
+sub stripname( $ ) {
+   local $_ = shift;
+   return /(\w[.\w]*)\s*$/ ? $1 : $_;
+}
+
+sub msgcmp( $ $ ) {
+   ## filter out platform-dependent aspects of error messages
+   my ($line1, $line2) = @_;
+   for ($line1, $line2) {
+      ## remove filenames from error messages to avoid any
+      ## filepath naming differences between OS platforms
+      s/(at line \S+ in file) .*\W(\w+\.[tT])\s*$/$1 \L$2\E/;
+      s/.*\W(\w+\.[tT]) (has \d+ pod syntax error)/\L$1\E $2/;
+   }
+   return ($line1 ne $line2);
+}
+
+sub testpodcheck( @ ) {
+   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 $infile, '.t', '.xr';
+
+   unless (-e $cmpfile) {
+      my $msg = "*** Can't find comparison file $cmpfile for testing $infile";
+      warn  "$msg\n";
+      return  $msg;
+   }
+
+   print "# Running podchecker for '$testname'...\n";
+   ## Compare the output against the expected result
+   if ($^O eq 'VMS') {
+      for ($infile, $outfile, $cmpfile) {
+         $_ = VMS::Filespec::unixify($_)  unless  ref;
+      }
+   }
+   podchecker($infile, $outfile);
+   if ( testcmp({'-cmplines' => \&msgcmp}, $outfile, $cmpfile) ) {
+       $different = "$outfile is different from $cmpfile";
+   }
+   else {
+       unlink($outfile);
+   }
+   return  $different;
+}
+
+sub testpodchecker( @ ) {
+   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\"" .
+                   " podchecker test ...\n";
+             podchecker($podfile, $cmpfile);
+          }
+          else {
+             print "# File $cmpfile already exists" .
+                   " (use '-force' to regenerate it).\n";
+          }
+          next;
+      }
+
+      my $failmsg = testpodcheck
+                        -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;


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/testpchk.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/testpods/lib/Pod/Stuff.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/testpods/lib/Pod/Stuff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/testpods/lib/Pod/Stuff.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,20 +1,20 @@
-=head1 NAME
-
-Pod::Stuff - dummy testing pod
-
-=head1 DESCRIPTION
-
-This isn't really anything, its just some dummy pod code.
-And stuff.
-
-Lots of stuff.
-
-=head2 STUFF
-
-For all your stuff [tm]
-
-Stuffit
-
-Mmmm, stuffed pizza bread.
-
-=cut
+=head1 NAME
+
+Pod::Stuff - dummy testing pod
+
+=head1 DESCRIPTION
+
+This isn't really anything, its just some dummy pod code.
+And stuff.
+
+Lots of stuff.
+
+=head2 STUFF
+
+For all your stuff [tm]
+
+Stuffit
+
+Mmmm, stuffed pizza bread.
+
+=cut


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/testpods/lib/Pod/Stuff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Parser/t/pod/twice.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/twice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/twice.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,36 +1,36 @@
-use strict;
-use Test;
-use File::Spec;
-
-BEGIN { plan tests => 1 }
-
-use Pod::Parser;
-use Carp;
-$SIG{__DIE__} = \&Carp::confess;
-
-eval {require IO::String;};
-skip($@ ? 'no IO::String' : '', sub {
-  {
-    my $pod_string = 'some I<silly> text';
-    my $handle = IO::String->new( \$pod_string );
-    my $parser = Pod::Parser->new();
-    $parser->parse_from_file( $0, $handle );
-  }
-  # free the reference
-  {
-    my $parser = Pod::Parser->new();
-    $parser->parse_from_file( $0, File::Spec->devnull );
-  }
-  1;
-});
-
-exit 0;
-
-__END__
-
-=head1 EXAMPLE
-
-This test makes sure the parse_from_file is re-entrant
-
-=cut
-
+use strict;
+use Test;
+use File::Spec;
+
+BEGIN { plan tests => 1 }
+
+use Pod::Parser;
+use Carp;
+$SIG{__DIE__} = \&Carp::confess;
+
+eval {require IO::String;};
+skip($@ ? 'no IO::String' : '', sub {
+  {
+    my $pod_string = 'some I<silly> text';
+    my $handle = IO::String->new( \$pod_string );
+    my $parser = Pod::Parser->new();
+    $parser->parse_from_file( $0, $handle );
+  }
+  # free the reference
+  {
+    my $parser = Pod::Parser->new();
+    $parser->parse_from_file( $0, File::Spec->devnull );
+  }
+  1;
+});
+
+exit 0;
+
+__END__
+
+=head1 EXAMPLE
+
+This test makes sure the parse_from_file is re-entrant
+
+=cut
+


Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/twice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/usage.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/usage.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/usage.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/usage.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Parser/t/pod/usage2.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Parser/t/pod/usage2.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Parser/t/pod/usage2.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Parser/t/pod/usage2.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/ChangeLog
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,258 @@
 # ChangeLog for Pod::Simple dist
 #---------------------------------------------------------------------------
 
+2013-05-04   David E. Wheeler <david at justatheory.org>
+	* Release 3.28
+
+	Removed use of 'done_testing' in t/white.t, which was added in
+	v3.27. Thanks to Paul Howarth for the catch.
+
+	Fixed inproperly calculated number of skipped tests in t/xhtml01.t
+	when HTML::Entities is not intalled.
+
+2013-05-03   David E. Wheeler <david at justatheory.org>
+	* Release 3.27
+
+	Added new warnings as defined by Pod::Checker, thanks to RJBS:
+	+ "=over" without "=back"
+	+ "L<>" starts or ends with whitespace
+	+ raw "|" or "/" in "L<text|link>" text
+
+	Added ->keep_encoding_directive, which is false by default, to
+	prevent formatters from emitting a document's '=encoding'
+	directive in most cases. That they emitted the encoding was a bug
+	introduced in v3.26 (RT #84093). Now, only the DumpAsText and
+	DumpAsXML formats set it to true. Patch from Patrice Dumas.
+
+2013-02-27   David E. Wheeler <david at justatheory.org>
+	* Release 3.26
+
+	Fixed another test script to skip all tests when Encode is not
+	installed.
+
+	Added 'encoding()' and 'detected_encoding()' to return the current
+	encoding and the encoding actually to decode the input file. The
+	value from "=encoding" is also now kept in the output tree. Patch
+	from Patrice Dumas (RT #74390).
+
+2013-02-16   David E. Wheeler <david at justatheory.org>
+	* Release 3.25
+
+	Improved the warning when "=item" types mismatch within one
+	"=over"/"=back" block.
+
+2013-02-14   David E. Wheeler <david at justatheory.org>
+	* Release 3.24
+
+	Fixed corner case bug for unlikely scenario in which non-UTF-8
+	text could be parsed as UTF-8. Grant McLean.
+
+	XHTML IDs can no longer end with punctuation. Thanks to Smylers
+	for the patch.
+
+	Fixed test failure on Perl 5.6.2.
+
+	Changed the default installation location from "perl" to "site" on
+	5.12 and higher, since as of that version of Perl, dual-life
+	modules no longer need to be installed in "perl" to replace
+	in-core versions. Patch from tzccinct.
+
+	Fixed hash order dependency test failures on Perl 5.17. Thanks to
+	Yves Orton for the patch.
+
+	Inlined the code that tries to guess a Pod file's encoding. This
+	reduces the time Pod::Simple takes to build the core Perl
+	documentation by 15-20%. Thanks to Dagfinn Ilmari Mannsåker for
+	the patch!
+
+	Added a warning when "=item" types mismatch within one
+	"=over"/"=back" block. Marc Green/Google Summer of Code, with
+	assist from RJBS.
+
+	Fixed regression introduced in 3.22 in which "C< >" tags were
+	incorrectly treated as verbatim text in table of contents items
+	emitted by Pod::Simple::XHTML. Thanks to Randy Stauner for the
+	report and to Thomas Sibley for the fix!
+
+	Loosened up the matching of "L< >" tags for man pages so that they
+	allow names with dots, underscores, and any other chararacters
+	other than "/", just so long as they end in '[(][-a-zA-Z0-9]+[)]'.
+	Thanks to Dave Rolsky and Kevin Ryde for the reports (RT #82975 &
+	RT #82972).
+
+	Fixed inverted mapping of "keyboard" to "kbd" in
+	Pod::Simple::HTML. Thanks to Robert Boisvert for the bug report
+	(RT #79201).
+
+	Added two new Tagmap entries to Pod::Simple::HTML: "preformat"
+	maps to "pre", and "teletype" maps to "tt". Suggested by Robert
+	Boisvert (RT #79201).
+
+	"X< >" tags are now ignored by the pull parser when it searches
+	for titles, as is any trailing whitespace. Thanks to Patrice Dumas
+	for the report (RT #74389).
+
+2012-08-14   David E. Wheeler <david at justatheory.org>
+	* Release 3.23
+
+	Eliminated nested elements in table of contents (index) items
+	output of Pod::Simple::XHTML. This was especially problematic for
+	headers that included links, as the TOC then got nested anchor
+	elements, which simply would not work. Thanks to Ben Bullock for
+	the report and test case (RT #77686).
+
+	Fixed semantically invalid nested XHTML generated by
+	Pod::Simple::XHTML since v3.21. Gisle Aas.
+
+	Improved support for nested "C< >" tags in Pod::Simple::XHTML.
+	Gisle Aas.
+
+	No longer tries to decode a string with the "utf8" flag set, as
+	the double-decoding only triggered an error. Grant McLean.
+
+	Added documentation note that the API expects encoded text
+	(octets). Grant McLean.
+
+	Added "parse_characters()" option to specify that strings to are
+	already decoded from octets into characters. Grant McLean.
+
+2012-05-27   David E. Wheeler <david at justatheory.org>
+	* Release 3.22
+
+	Fix but where Pod::Simple would whine about non-ASCII bytes in
+	code or comments. Now only does so for Pod (in the absence of an
+	"=encoding" tag. Broken in 3.21. Grant McLean.
+
+2012-05-23   David E. Wheeler <david at justatheory.org>
+	* Release 3.21
+
+	NOTE: COMPATABILITY CHANGE: The 'codes_in_verbatim' option in
+	Pod::Simple::XHTML is no longer enabled by default. This brings it
+	agreement with the other formatting classes, and eliminates
+	unexpected behavior in XHTML-formatted Pod. Users who depended on
+	this functionality can still get it by enabling
+	'codes_in_verbatim' in their code.
+
+	Fixed some typos in the documentation. Thanks to Jonathan Yu via
+	the Debian packagers via Florian Ragwitz (RT #75532).
+
+	Now emit a warning the first time a non-ASCII byte is encountered
+	when no "=encoding" has been seen. Grant McLean.
+
+	When a non-ASCII byte is encounted before an "=encoding" line has
+	been seen, a heuristic (as described in perlpodspec) is applied to
+	select UTF-8 encoding if the non-ASCII bytes form a valid UTF-8
+	byte sequence, or Latin-1 otherwise. Grant McLean.
+
+	Added 'handle_code' method to Pod::Simple::XHTML. This allows
+	subclasses to override the handling of verbatim blocks, and makes
+	for a more cohesive interface, to boot. Gisle Aas.
+
+	Subsequent text segments are now joined together and passed as a
+	single unit to text handling code. This makes it easier for custom
+	handlers to process complete blocks of text in a single call to
+	'handle_text', rather than in dribs and drabs. Gisle Aas.
+
+	Replaced naive text wrapping code in Pod::Simple::DumpAsXML with
+	Text::Wrap, which was already used for similar purposes elsewhere
+	in Pod::Simple. Gisle Aas.
+
+2012-03-01   David E. Wheeler <david at justatheory.org>
+	* Release 3.20
+
+	Removed use of 'done_testing' in t/xhtml15.t, which was added in
+	v3.19. Thanks to Paul Howarth for the catch.
+
+	Fixed quoting of links in a regular expression Pod::Simple::Text.
+	Reported by Father Chrysostomos.
+
+	Fix test failure on case-insensitive, non-case-preserving file systems
+	(VMS I'm looking at *you*). Patch from Craig A. Berry.
+
+	Pod::Simple::HTML no longer emits "href='#___top'" if a TOC
+	(index) is not output. Patch from Rick Myers.
+
+	Fixed links in the TOC of XHTML output to use IDs derived from encoded
+	text, rather than raw Pod, so that it will link to the ID actually
+	generated for the section. Thanks to Randy Stauner for the report
+	(with test case!) (RT #72544).
+
+	PullParser now throws an exception on an attempt to set a source
+	more than once. Necessary because data from the previous source
+	will be cached, so the new source would be ignored anyway. Create a
+	new PullParser, instead. Thanks to Paul Boldra for the report (RT
+	#74265).
+
+2011-08-23   David E. Wheeler <david at justatheory.org>
+	* Release 3.19
+
+	Fixed occasional test failure when tests are run in parallel
+	(HARNESS_OPTIONS=j6:c). Thanks to Alexei Znamensky for the report and
+	Marc Green for the fix.
+
+	Added "pod_handler" option. This is a callback that can be used to
+	inspect the content on a "=pod" line. Marc Green/Google Summer of
+	Code.
+
+	Added tests for proper line-ending parsing from the previous
+	release. The tests were in the repository, but didn't make it into
+	the MANIFEST or, therefore, the release. Reported by Marc Green.
+
+	Added the "parse_empty_lists" option. When enabled, Pod::Simple
+	will recognize empty lists (that is, a blocks with '=over' and
+	'=back' but nothing in between). Disabled by default. Marc
+	Green/Google Summer of Code.
+
+	Added the "whiteline_handler" attribute. It's much like
+	"code_handler", "cut_handler", and "pod_handler", except it's
+	triggered on lines that contain only whitespace characters. Marc
+	Green/Google Summer of Code.
+
+	Added "raw" attribute to L<> treelet that contains the L<>'s raw
+	contents. Marc Green/Google Summer of Code.
+
+	Pod directives autoclosed by Pod::Simple are now denoted as such
+	by the new "fake_closer" attribue. Marc Green/Google Summer of
+	Code.
+
+	Fixed incompatibility with Pod::Simple::HTMLBatch in
+	Pod::Simple::XHTML. Patch by Eric Johnson.
+
+2011-07-16   David E. Wheeler <david at justatheory.org>
+	* Release 3.18
+
+	Pod::Simple now properly parses Pod files using Mac OS Classic line-
+	endings (\r). Marc Green/Google Summer of Code.
+
+	Fixed test failure in 't/search50.t when the test finds a .pod but
+	the module is in a .pm. Thanks to the cpan-testers who reported
+	this when the test searched for Capture::Tiny.
+
+2011-07-09   David E. Wheeler <david at justatheory.org>
+	* Release 3.17
+
+	Documented tertiary methods. Patch from Shawn H Corey.
+
+	Added "backlink" option to Pod::Simple::XHTML. Thanks to Marc
+	Green/Google Summer of Code for the pull request.
+
+	Typos fixed in Pod::Simple::HTMLBatch. Reported by Shawn H Corey.
+
+	Fixed quoting of value returned by a "strip_verbatim_indent()"
+	code reference so that regex meta characters are properly escaped.
+
+	Added "anchor_items" option to Pod::Simple::XHMTL. This allows
+	text items (which are output as <dt> elements) to have IDs that
+	can be referenced in the "#" part of a URL. Marc Green/Google
+	Summer of Code.
+
+	Added "recurse" option to Pod::Simple::Search. It's enabled by
+	default; disable it to turn off recursion into subdirectories.
+	Marc Green/Google Summer of Code.
+
+	Added documentation to clarify the behavior of the "content_seen"
+	method. Thanks to Olaf Alders for the pull request.
+
 2011-03-14   David E. Wheeler <david at justatheory.org>
 	* Release 3.16
 
@@ -28,7 +280,7 @@
 	spelled "=encode"). Thanks to "TTY" for the patch. (RT #24820).
 
 2010-11-11   David E. Wheeler <david at justatheory.org>
-	* Release 3.16
+	* Release 3.15
 
 	Removed "perlpod.pod" and "perlpodspec.pod". These now just live
 	in the Perl core.
@@ -290,7 +542,6 @@
 
 	Just fixing some typos in the CSS generated by Pod::Simple:HTMLBatch.
 
-	
 2004-05-24   Sean M. Burke <sburke at cpan.org>
 	* Release 3.01
 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/README
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-=head1 Pod::Simple version 3.16
+=head1 Pod::Simple version 3.28
 
 Pod::Simple is a Perl library for parsing text in the Pod ("plain old
 documentation") markup language that is typically used for writing
@@ -24,7 +24,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,7 +23,7 @@
 use strict;
 use Carp ();
 use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 #use constant DEBUG => 7;
 BEGIN {
   require Pod::Simple;
@@ -42,6 +42,7 @@
 
   my $code_handler = $self->{'code_handler'};
   my $cut_handler  = $self->{'cut_handler'};
+  my $wl_handler   = $self->{'whiteline_handler'};
   $self->{'line_count'} ||= 0;
  
   my $scratch;
@@ -90,6 +91,7 @@
       if( ($line = $source_line) =~ s/^\xEF\xBB\xBF//s ) {
         DEBUG and print "UTF-8 BOM seen.  Faking a '=encoding utf8'.\n";
         $self->_handle_encoding_line( "=encoding utf8" );
+        delete $self->{'_processed_encoding'};
         $line =~ tr/\n\r//d;
         
       } elsif( $line =~ s/^\xFE\xFF//s ) {
@@ -122,7 +124,23 @@
       }
     }
 
+    # Try to guess encoding. Inlined for performance reasons.
+    if(!$self->{'parse_characters'} && !$self->{'encoding'}
+      && ($self->{'in_pod'} || $line =~ /^=/s)
+      && $line =~ /[^\x00-\x7f]/
+    ) {
+      my $encoding = $line =~ /^[\x00-\x7f]*[\xC0-\xFD][\x80-\xBF]/ ? 'UTF-8' : 'ISO8859-1';
+      $self->_handle_encoding_line( "=encoding $encoding" );
+      $self->{'_transcoder'} && $self->{'_transcoder'}->($line);
 
+      my ($word) = $line =~ /(\S*[^\x00-\x7f]\S*)/;
+
+      $self->whine(
+        $self->{'line_count'},
+        "Non-ASCII character seen before =encoding in '$word'. Assuming $encoding"
+      );
+    }
+
     DEBUG > 5 and print "# Parsing line: [$line]\n";
 
     if(!$self->{'in_pod'}) {
@@ -175,6 +193,7 @@
 
     # HERE WE CATCH =encoding EARLY!
     if( $line =~ m/^=encoding\s+\S+\s*$/s ) {
+      next if $self->parse_characters;   # Ignore this line
       $line = $self->_handle_encoding_line( $line );
     }
 
@@ -191,7 +210,12 @@
       # TODO: add to docs: Note: this may cause cuts to be processed out
       #  of order relative to pods, but in order relative to code.
       
-    } elsif($line =~ m/^\s*$/s) {  # it's a blank line
+    } elsif($line =~ m/^(\s*)$/s) {  # it's a blank line
+      if (defined $1 and $1 =~ /[^\S\r\n]/) { # it's a white line
+        $wl_handler->(map $_, $line, $self->{'line_count'}, $self)
+          if $wl_handler;
+      }
+
       if(!$self->{'start_of_pod_block'} and @$paras and $paras->[-1][0] eq '~Verbatim') {
         DEBUG > 1 and print "Saving blank line at line ${$self}{'line_count'}\n";
         push @{$paras->[-1]}, $line;
@@ -263,6 +287,8 @@
 sub _handle_encoding_line {
   my($self, $line) = @_;
   
+  return if $self->parse_characters;
+
   # The point of this routine is to set $self->{'_transcoder'} as indicated.
 
   return $line unless $line =~ m/^=encoding\s+(\S+)\s*$/s;
@@ -318,6 +344,7 @@
     $@ && die( $enc_error =
       "Really unexpected error setting up encoding $e: $@\nAborting"
     );
+    $self->{'detected_encoding'} = $e;
 
   } else {
     my @supported = Pod::Simple::Transcode::->all_encodings;
@@ -348,8 +375,13 @@
     $self->scream( $self->{'line_count'}, $enc_error );
   }
   push @{ $self->{'encoding_command_statuses'} }, $enc_error;
+  if (defined($self->{'_processed_encoding'})) {
+    # Should never happen
+    die "Nested processed encoding.";
+  }
+  $self->{'_processed_encoding'} = $orig;
 
-  return '=encoding ALREADYDONE';
+  return $line;
 }
 
 # - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@@ -365,7 +397,11 @@
 
   DEBUG > 2 and print "Ogling encoding directive: =encoding $content\n";
   
-  if($content eq 'ALREADYDONE') {
+  if (defined($self->{'_processed_encoding'})) {
+    #if($content ne $self->{'_processed_encoding'}) {
+    #  Could it happen?
+    #}
+    delete $self->{'_processed_encoding'};
     # It's already been handled.  Check for errors.
     if(! $self->{'encoding_command_statuses'} ) {
       DEBUG > 2 and print " CRAZY ERROR: It wasn't really handled?!\n";
@@ -592,7 +628,8 @@
       if($para_type eq '=item') {
 
         my $over;
-        unless(@$curr_open and ($over = $curr_open->[-1])->[0] eq '=over') {
+        unless(@$curr_open and
+               $over = (grep { $_->[0] eq '=over' } @$curr_open)[-1]) {
           $self->whine(
             $para->[1]{'start_line'},
             "'=item' outside of any '=over'"
@@ -635,8 +672,10 @@
           if($item_type eq 'text') {
             # Nothing special needs doing for 'text'
           } elsif($item_type eq 'number' or $item_type eq 'bullet') {
-            die "Unknown item type $item_type"
-             unless $item_type eq 'number' or $item_type eq 'bullet';
+            $self->whine(
+              $para->[1]{'start_line'},
+              "Expected text after =item, not a $item_type"
+            );
             # Undo our clobbering:
             push @$para, $para->[1]{'~orig_content'};
             delete $para->[1]{'number'};
@@ -765,8 +804,8 @@
       } elsif($para_type eq '=encoding') {
         # Not actually acted on here, but we catch errors here.
         $self->_handle_encoding_second_level($para);
-
-        next;  # and skip
+        next unless $self->keep_encoding_directive;
+        $para_type = 'Plain';
       } elsif($para_type eq '~Verbatim') {
         $para->[0] = 'Verbatim';
         $para_type = '?Verbatim';
@@ -917,7 +956,7 @@
   $para->[1]{'title'} = $title if ($title);
   $para->[1]{'target'} = $target;  # without any ':'
   $content = $target; # strip off the title
-
+  
   $content =~ s/^:!/!:/s;
   my $neg;  # whether this is a negation-match
   $neg = 1        if $content =~ s/^!//s;
@@ -983,7 +1022,7 @@
   $content =~ s/^\s+//s;
   $content =~ s/\s+$//s;
   DEBUG and print "Ogling '=end $content' directive\n";
-  
+
   unless(length($content)) {
     $self->whine(
       $para->[1]{'start_line'},
@@ -1039,7 +1078,7 @@
       # what's that for?
     
     $self->{'content_seen'} ||= 1;
-    $self->_handle_element_end( my $scratch = 'for' );
+    $self->_handle_element_end( my $scratch = 'for', $para->[1]);
   }
   DEBUG > 1 and print "Popping $curr_open->[-1][0] $curr_open->[-1][1]{'target'} because of =end $content\n";
   pop @$curr_open;
@@ -1092,7 +1131,18 @@
     "=pod directives shouldn't be over one line long!  Ignoring all "
      . (@$para - 2) . " lines of content"
   ) if @$para > 3;
-  # Content is always ignored.
+
+  # Content ignored unless 'pod_handler' is set
+  if (my $pod_handler = $self->{'pod_handler'}) {
+      my ($line_num, $line) = map $_, $para->[1]{'start_line'}, $para->[2];
+      $line = $line eq '' ? "=pod" : "=pod $line"; # imitate cut_handler output
+      $pod_handler->($line, $line_num, $self);
+  }
+
+  # The surrounding methods set content_seen, so let us remain consistent.
+  # I do not know why it was not here before -- should it not be here?
+  # $self->{'content_seen'} ||= 1;
+
   return;
 }
 
@@ -1105,10 +1155,13 @@
     $list_type = $self->_get_initial_item_type($paras->[0]);
 
   } elsif($paras->[0][0] eq '=back') {
-    # Ignore empty lists.  TODO: make this an option?
-    shift @$paras;
-    return 1;
-    
+    # Ignore empty lists by default
+    if ($self->{'parse_empty_lists'}) {
+      $list_type = 'empty';
+    } else {
+      shift @$paras;
+      return 1;
+    }
   } elsif($paras->[0][0] eq '~end') {
     $self->whine(
       $para->[1]{'start_line'},
@@ -1169,7 +1222,7 @@
     #my $over = pop @$curr_open;
     $self->{'content_seen'} ||= 1;
     $self->_handle_element_end( my $scratch =
-      'over-' . ( (pop @$curr_open)->[1]{'~type'} )
+      'over-' . ( (pop @$curr_open)->[1]{'~type'} ), $para->[1]
     );
   } else {
     DEBUG > 1 and print "=back found without a matching =over.  Stack: (",
@@ -1185,7 +1238,8 @@
 sub _ponder_item {
   my ($self,$para,$curr_open,$paras) = @_;
   my $over;
-  unless(@$curr_open and ($over = $curr_open->[-1])->[0] eq '=over') {
+  unless(@$curr_open and
+         $over = (grep { $_->[0] eq '=over' } @$curr_open)[-1]) {
     $self->whine(
       $para->[1]{'start_line'},
       "'=item' outside of any '=over'"
@@ -1228,8 +1282,10 @@
     if($item_type eq 'text') {
       # Nothing special needs doing for 'text'
     } elsif($item_type eq 'number' or $item_type eq 'bullet') {
-      die "Unknown item type $item_type"
-       unless $item_type eq 'number' or $item_type eq 'bullet';
+      $self->whine(
+          $para->[1]{'start_line'},
+          "Expected text after =item, not a $item_type"
+      );
       # Undo our clobbering:
       push @$para, $para->[1]{'~orig_content'};
       delete $para->[1]{'number'};
@@ -1383,7 +1439,7 @@
   for(my $i = 2; $i < @$para; $i++) {
     foreach my $line ($para->[$i]) { # just for aliasing
       # Strip indentation.
-      $line =~ s/^\E$indent// if $indent
+      $line =~ s/^\Q$indent// if $indent
           && !($self->{accept_codes} && $self->{accept_codes}{VerbatimFormatted});
       while( $line =~
         # Sort of adapted from Text::Tabs -- yes, it's hardwired in that
@@ -1437,10 +1493,12 @@
   my $scratch;
   $self->_handle_element_start(($scratch=$name), shift @_);
   
-  foreach my $x (@_) {
-    if(ref($x)) {
+  while (@_) {
+    my $x = shift;
+    if (ref($x)) {
       &_traverse_treelet_bit($self, @$x);
     } else {
+      $x .= shift while @_ && !ref($_[0]);
       $self->_handle_text($x);
     }
   }
@@ -1461,6 +1519,11 @@
     if($copy[0] eq '=for') {
       $copy[0] = '=end';
     } elsif($copy[0] eq '=over') {
+      $self->whine(
+        $still_open->[1]{start_line} ,
+        "=over without closing =back"
+      );
+
       $copy[0] = '=back';
     } else {
       die "I don't know how to auto-close an open $copy[0] region";
@@ -1471,7 +1534,9 @@
       $copy[-1] = '' unless defined $copy[-1];
        # since =over's don't have targets
     }
-    
+
+    $copy[1]{'fake-closer'} = 1;
+
     DEBUG and print "Queuing up fake-o event: ", pretty(\@copy), "\n";
     unshift @closers, \@copy;
   }
@@ -1638,6 +1703,10 @@
   
   my @stack;
   my @lineage = ($treelet);
+  my $raw = ''; # raw content of L<> fcode before splitting/processing
+    # XXX 'raw' is not 100% accurate: all surrounding whitespace is condensed
+    # into just 1 ' '. Is this the regex's doing or 'raw's?
+  my $inL = 0;
 
   DEBUG > 4 and print "Paragraph:\n$para\n\n";
  
@@ -1709,7 +1778,13 @@
       }
       push @lineage, [ substr($1,0,1), {}, ];  # new node object
       push @{ $lineage[-2] }, $lineage[-1];
-      
+      if ('L' eq substr($1,0,1)) {
+        $raw = $inL ? $raw.$1 : ''; # reset raw content accumulator
+        $inL = 1;
+      } else {
+        $raw .= $1 if $inL;
+      }
+
     } elsif(defined $4) {
       DEBUG > 3 and print "Found apparent complex end-text code \"$3$4\"\n";
       # This is where it gets messy...
@@ -1743,6 +1818,14 @@
       
       pop @stack;
       pop @lineage;
+
+      unless (@stack) { # not in an L if there are no open fcodes
+        $inL = 0;
+        if (ref $lineage[-1][-1] && $lineage[-1][-1][0] eq 'L') {
+          $lineage[-1][-1][1]{'raw'} = $raw
+        }
+      }
+      $raw .= $3.$4 if $inL;
       
     } elsif(defined $5) {
       DEBUG > 3 and print "Found apparent simple end-text code \"$5\"\n";
@@ -1764,10 +1847,21 @@
         push @{ $lineage[-1] }, $5;
       }
 
+      unless (@stack) { # not in an L if there are no open fcodes
+        $inL = 0;
+        if (ref $lineage[-1][-1] && $lineage[-1][-1][0] eq 'L') {
+          $lineage[-1][-1][1]{'raw'} = $raw
+        }
+      }
+      $raw .= $5 if $inL;
+
     } elsif(defined $6) {
       DEBUG > 3 and print "Found stuff \"$6\"\n";
       push @{ $lineage[-1] }, $6;
-      
+      $raw .= $6 if $inL;
+        # XXX does not capture multiplace whitespaces -- 'raw' ends up with
+        #     at most 1 leading/trailing whitespace, why not all of it?
+
     } else {
       # should never ever ever ever happen
       DEBUG and print "AYYAYAAAAA at line ", __LINE__, "\n";
@@ -1795,7 +1889,7 @@
       "Unterminated $x sequence",
     );
   }
-  
+
   return $treelet;
 }
 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/BlackBox.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 use Pod::Simple::Methody ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 @ISA = ('Pod::Simple::Methody');
 BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
           ? \&Pod::Simple::DEBUG
@@ -159,7 +159,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Checker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 package Pod::Simple::Debug;
 use strict;
 use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 sub import {
   my($value,$variable);
@@ -141,7 +141,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Debug.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::DumpAsText;
-$VERSION = '3.16';
+$VERSION = '3.28';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
@@ -16,6 +16,7 @@
   my $new = $self->SUPER::new(@_);
   $new->{'output_fh'} ||= *STDOUT{IO};
   $new->accept_codes('VerbatimFormatted');
+  $new->keep_encoding_directive(1);
   return $new;
 }
 
@@ -118,7 +119,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsText.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::DumpAsXML;
-$VERSION = '3.16';
+$VERSION = '3.28';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
@@ -8,6 +8,7 @@
 use strict;
 
 use Carp ();
+use Text::Wrap qw(wrap);
 
 BEGIN { *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG }
 
@@ -16,6 +17,7 @@
   my $new = $self->SUPER::new(@_);
   $new->{'output_fh'} ||= *STDOUT{IO};
   $new->accept_codes('VerbatimFormatted');
+  $new->keep_encoding_directive(1);
   return $new;
 }
 
@@ -49,15 +51,8 @@
     my $indent = '  ' x $_[0]{'indent'};
     my $text = $_[1];
     _xml_escape($text);
-    $text =~  # A not-totally-brilliant wrapping algorithm:
-      s/(
-         [^\n]{55}         # Snare some characters from a line
-         [^\n\ ]{0,50}     #  and finish any current word
-        )
-        \x20{1,10}(?!\n)   # capture some spaces not at line-end
-       /$1\n$indent/gx     # => line-break here
-    ;
-    
+    local $Text::Wrap::huge = 'overflow';
+    $text = wrap('', $indent, $text);
     print {$_[0]{'output_fh'}} $indent, $text, "\n";
   }
   return;
@@ -133,7 +128,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/DumpAsXML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
   $Doctype_decl  $Content_decl
 );
 @ISA = ('Pod::Simple::PullParser');
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 BEGIN {
   if(defined &DEBUG) { } # no-op
@@ -134,7 +134,7 @@
     qw[
       sample=samp
       definition=dfn
-      kbd=keyboard
+      keyboard=kbd
       variable=var
       citation=cite
       abbreviation=abbr
@@ -145,6 +145,8 @@
       small=small
       underline=u
       strikethrough=s
+      preformat=pre
+      teletype=tt
     ]  # no point in providing a way to get <q>...</q>, I think
   ),
   
@@ -491,8 +493,11 @@
         $name = $self->do_section($name, $token) if defined $name;
 
         print $fh "<a ";
-        print $fh "class='u' href='#___top' title='click to go to top of document'\n"
-         if $tagname =~ m/^head\d$/s;
+        if ($tagname =~ m/^head\d$/s) {
+            print $fh "class='u'", $self->index
+                ? " href='#___top' title='click to go to top of document'\n"
+                : "\n";
+        }
         
         if(defined $name) {
           my $esc = esc(  $self->section_name_tidy( $name ) );
@@ -1086,7 +1091,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use vars qw( $VERSION $HTML_RENDER_CLASS $HTML_EXTENSION
  $CSS $JAVASCRIPT $SLEEPY $SEARCH_CLASS @ISA
 );
-$VERSION = '3.16';
+$VERSION = '3.28';
 @ISA = ();  # Yup, we're NOT a subclass of Pod::Simple::HTML!
 
 # TODO: nocontents stylesheets. Strike some of the color variations?
@@ -1082,7 +1082,7 @@
   % mkdir out_html
   % perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go @INC out_html
       (to convert the pod from Perl's @INC
-       files under the directory ../htmlversion)
+       files under the directory ./out_html)
 
 (Note that the command line there contains a literal atsign-I-N-C.  This
 is handled as a special case by batch_convert, in order to save you having
@@ -1093,9 +1093,9 @@
 
   % mkdir ../seekrut
   % chmod og-rx ../seekrut
-  % perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go . ../htmlversion
+  % perl -MPod::Simple::HTMLBatch -e Pod::Simple::HTMLBatch::go . ../seekrut
       (to convert the pod under the current dir into HTML
-       files under the directory ../htmlversion)
+       files under the directory ./seekrut)
 
 Example:
 
@@ -1333,7 +1333,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLBatch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLLegacy.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLLegacy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLLegacy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/HTMLLegacy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,12 +3,12 @@
 package Pod::Simple::LinkSection;
   # Based somewhat dimly on Array::Autojoin
 use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 use strict;
 use Pod::Simple::BlackBox;
 use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 use overload( # So it'll stringify nice
   '""'   => \&Pod::Simple::BlackBox::stringify_lol,
@@ -137,7 +137,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/LinkSection.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use strict;
 use Pod::Simple ();
 use vars qw(@ISA $VERSION);
-$VERSION = '3.16';
+$VERSION = '3.28';
 @ISA = ('Pod::Simple');
 
 # Yes, we could use named variables, but I want this to be impose
@@ -32,7 +32,7 @@
   ( $_[0]->can( 'end_' . $_[1] )
     || return
   )->(
-    $_[0]
+    $_[0], $_[2]
   );
 }
 
@@ -115,7 +115,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Methody.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::Progress;
-$VERSION = '3.16';
+$VERSION = '3.28';
 use strict;
 
 # Objects of this class are used for noting progress of an


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Progress.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 
 require 5;
 package Pod::Simple::PullParser;
-$VERSION = '3.16';
+$VERSION = '3.28';
 use Pod::Simple ();
 BEGIN {@ISA = ('Pod::Simple')}
 
@@ -231,6 +231,8 @@
 sub set_source {
   my $self = shift @_;
   return $self->{'source_fh'} unless @_;
+  Carp::croak("Cannot assign new source to pull parser; create a new instance, instead")
+      if $self->{'source_fh'} || $self->{'source_scalar_ref'} || $self->{'source_arrayref'};
   my $handle;
   if(!defined $_[0]) {
     Carp::croak("Can't use empty-string as a source for set_source");
@@ -345,6 +347,7 @@
 
   my $head1_text_content;
   my $para_text_content;
+  my $skipX;
 
   while(
     ++$token_count <= ($max_token || 1_000_000)
@@ -362,8 +365,14 @@
 
     elsif($state == 1) { # accumulating text until end of head1
       if( $token->is_text ) {
-        DEBUG and print "   Adding \"", $token->text, "\" to head1-content.\n";
-        $head1_text_content .= $token->text;
+          unless ($skipX) {
+            DEBUG and print "   Adding \"", $token->text, "\" to head1-content.\n";
+            $head1_text_content .= $token->text;
+          }
+      } elsif( $token->is_tagname('X') ) {
+          # We're going to want to ignore X<> stuff.
+          $skipX = $token->is_start;
+          DEBUG and print +($skipX ? 'Start' : 'End'), 'ing ignoring of X<> tag';
       } elsif( $token->is_end and $token->tagname eq 'head1' ) {
         DEBUG and print "  Found end of head1.  Considering content...\n";
         $head1_text_content = uc $head1_text_content if $nocase;
@@ -390,9 +399,9 @@
             ? (length($head1_text_content) <= $max_content_length) # sanity
             : 1)
         ) {
-          DEBUG and print "  It looks titular: \"$head1_text_content\".\n",
-            "\n  Using that.\n";
-          $title = $head1_text_content;
+          # Looks good; trim it
+          ($title = $head1_text_content) =~ s/\s+$//;
+          DEBUG and print "  It looks titular: \"$title\".\n\n  Using that.\n";
           last;
         } else {
           --$state;
@@ -734,7 +743,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 sub new {  # Class->new(tagname);
   my $class = shift;
@@ -83,7 +83,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserEndToken.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 sub new {  # Class->new(tagname, optional_attrhash);
   my $class = shift;
@@ -124,7 +124,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserStartToken.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use strict;
 use vars qw(@ISA $VERSION);
 @ISA = ('Pod::Simple::PullParserToken');
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 sub new {  # Class->new(text);
   my $class = shift;
@@ -91,7 +91,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserTextToken.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 package Pod::Simple::PullParserToken;
  # Base class for tokens gotten from Pod::Simple::PullParser's $parser->get_token
 @ISA = ();
-$VERSION = '3.16';
+$VERSION = '3.28';
 use strict;
 
 sub new {  # Class->new('type', stuff...);  ## Overridden in derived classes anyway
@@ -126,7 +126,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/PullParserToken.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 use strict;
 use vars qw($VERSION @ISA %Escape $WRAP %Tagmap);
-$VERSION = '3.16';
+$VERSION = '3.28';
 use Pod::Simple::PullParser ();
 BEGIN {@ISA = ('Pod::Simple::PullParser')}
 
@@ -662,7 +662,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/RTF.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Search.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Search.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Search.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use strict;
 
 use vars qw($VERSION $MAX_VERSION_WITHIN $SLEEPY);
-$VERSION = '3.16';   ## Current version of this package
+$VERSION = '3.28';   ## Current version of this package
 
 BEGIN { *DEBUG = sub () {0} unless defined &DEBUG; }   # set DEBUG level
 use Carp ();
@@ -25,7 +25,7 @@
 #==========================================================================
 __PACKAGE__->_accessorize(  # Make my dumb accessor methods
  'callback', 'progress', 'dir_prefix', 'inc', 'laborious', 'limit_glob',
- 'limit_re', 'shadows', 'verbose', 'name2path', 'path2name', 
+ 'limit_re', 'shadows', 'verbose', 'name2path', 'path2name', 'recurse',
 );
 #==========================================================================
 
@@ -39,6 +39,7 @@
 sub init {
   my $self = shift;
   $self->inc(1);
+  $self->recurse(1);
   $self->verbose(DEBUG);
   return $self;
 }
@@ -127,9 +128,11 @@
   my $self = $_[0];
 
   # Put the options in variables, for easy access
-  my(  $laborious, $verbose, $shadows, $limit_re, $callback, $progress,$path2name,$name2path) =
+  my( $laborious, $verbose, $shadows, $limit_re, $callback, $progress,
+      $path2name, $name2path, $recurse) =
     map scalar($self->$_()),
-     qw(laborious   verbose   shadows   limit_re   callback   progress  path2name  name2path);
+     qw(laborious verbose shadows limit_re callback progress
+        path2name name2path recurse);
 
   my($file, $shortname, $isdir, $modname_bits);
   return sub {
@@ -137,6 +140,11 @@
 
     if($isdir) { # this never gets called on the startdir itself, just subdirs
 
+      unless( $recurse ) {
+        $verbose and print "Not recursing into '$file' as per requested.\n";
+        return 'PRUNE';
+      }
+
       if( $self->{'_dirs_visited'}{$file} ) {
         $verbose and print "Directory '$file' already seen, skipping.\n";
         return 'PRUNE';
@@ -400,15 +408,15 @@
           $_ = "v$1"
             if m{^v?["']?([0-9_]+(\.[0-9_]+)*)["']?$}s
              # like in $VERSION = "3.14159";
-             or m{\$Revision: 1.1.1.1 $}s
-             # like in sprintf("%d.%02d", q$Revision: 1.1.1.1 $ =~ /(\d+)\.(\d+)/);
+             or m{\$Revision:\s*([0-9_]+(?:\.[0-9_]+)*)\s*\$}s
+             # like in sprintf("%d.%02d", q$Revision: 4.13 $ =~ /(\d+)\.(\d+)/);
           ;
            
-          # Like in sprintf("%d.%s", map {s/_//g; $_} q$Name: not supported by cvs2svn $ =~ /-(\d+)_([\d_]+)/)
+          # Like in sprintf("%d.%s", map {s/_//g; $_} q$Name: release-0_55-public $ =~ /-(\d+)_([\d_]+)/)
           $_ = sprintf("v%d.%s",
             map {s/_//g; $_}
               $1 =~ m/-(\d+)_([\d_]+)/) # snare just the numeric part
-           if m{\$Name: not supported by cvs2svn $]+)\$}s 
+           if m{\$Name:\s*([^\$]+)\$}s 
           ;
           $version = $_;
           DEBUG and print "Noting $version as version\n";
@@ -1003,7 +1011,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Search.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 use Carp ();
 use Pod::Simple ();
 use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.16';
+$VERSION = '3.28';
 BEGIN {
   @ISA = ('Pod::Simple');
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
@@ -143,7 +143,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/SimpleTree.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,18 +12,22 @@
   use strict;
 
   sub _handle_element_start {
-    my($parser, $element_name, $attr_hash_r) = @_;
-    ...
+	my($parser, $element_name, $attr_hash_r) = @_;
+	...
   }
 
   sub _handle_element_end {
-    my($parser, $element_name) = @_;
-    ...
+	my($parser, $element_name, $attr_hash_r) = @_;
+	# NOTE: $attr_hash_r is only present when $element_name is "over" or "begin"
+	# The remaining code excerpts will mostly ignore this $attr_hash_r, as it is
+	# mostly useless. It is documented where "over-*" and "begin" events are
+	# documented.
+	...
   }
 
   sub _handle_text {
-    my($parser, $text) = @_;
-    ...
+	my($parser, $text) = @_;
+	...
   }
   1;
 
@@ -101,13 +105,13 @@
 Parsing a document produces this event structure:
 
   <Document start_line="543">
-    ...all events...
+	...all events...
   </Document>
 
 The value of the I<start_line> attribute will be the line number of the first
 Pod directive in the document.
 
-If there is no Pod in the given document, then the 
+If there is no Pod in the given document, then the
 event structure will be this:
 
   <Document contentless="1" start_line="543">
@@ -122,9 +126,9 @@
 Parsing a plain (non-verbatim, non-directive, non-data) paragraph in
 a Pod document produces this event structure:
 
-    <Para start_line="543">
-      ...all events in this paragraph...
-    </Para>
+	<Para start_line="543">
+	  ...all events in this paragraph...
+	</Para>
 
 The value of the I<start_line> attribute will be the line number of the start
 of the paragraph.
@@ -136,14 +140,14 @@
 
 produces this event structure:
 
-    <Para start_line="129">
-      The value of the 
-      <I>
-        start_line
-      </I>
-       attribute will be the line number of the first Pod directive
-      in the document.
-    </Para>
+	<Para start_line="129">
+	  The value of the
+	  <I>
+		start_line
+	  </I>
+	   attribute will be the line number of the first Pod directive
+	  in the document.
+	</Para>
 
 =item events with an element_name of B, C, F, or I.
 
@@ -153,9 +157,9 @@
 or S<BE<lt>E<lt>E<lt>E<lt> ... E<gt>E<gt>E<gt>E<gt>>, etc.)
 produces this event structure:
 
-      <B>
-        ...stuff...
-      </B>
+	  <B>
+		...stuff...
+	  </B>
 
 Currently, there are no attributes conveyed.
 
@@ -171,9 +175,9 @@
 Normally, parsing an SE<lt>...E<gt> sequence produces this event
 structure, just as if it were a B/C/F/I code:
 
-      <S>
-        ...stuff...
-      </S>
+	  <S>
+		...stuff...
+	  </S>
 
 However, Pod::Simple (and presumably all derived parsers) offers the
 C<nbsp_for_S> option which, if enabled, will suppress all S events, and
@@ -187,9 +191,9 @@
 Normally, parsing an XE<lt>...E<gt> sequence produces this event
 structure, just as if it were a B/C/F/I code:
 
-      <X>
-        ...stuff...
-      </X>
+	  <X>
+		...stuff...
+	  </X>
 
 However, Pod::Simple (and presumably all derived parsers) offers the
 C<nix_X_codes> option which, if enabled, will suppress all X events
@@ -214,8 +218,8 @@
 When a LE<lt>I<some_url>E<gt> code is parsed, it produces this event
 structure:
 
-  <L content-implicit="yes" to="that_url" type="url">
-    that_url
+  <L content-implicit="yes" raw="that_url" to="that_url" type="url">
+	that_url
   </L>
 
 The C<type="url"> attribute is always specified for this type of
@@ -227,15 +231,15 @@
 
 produces this event structure:
 
-  <L content-implicit="yes" to="http://www.perl.com/CPAN/authors/" type="url">
-    http://www.perl.com/CPAN/authors/
+  <L content-implicit="yes" raw="http://www.perl.com/CPAN/authors/" to="http://www.perl.com/CPAN/authors/" type="url">
+	http://www.perl.com/CPAN/authors/
   </L>
 
 When a LE<lt>I<manpage(section)>E<gt> code is parsed (and these are
 fairly rare and not terribly useful), it produces this event structure:
 
-  <L content-implicit="yes" to="manpage(section)" type="man">
-    manpage(section)
+  <L content-implicit="yes" raw="manpage(section)" to="manpage(section)" type="man">
+	manpage(section)
   </L>
 
 The C<type="man"> attribute is always specified for this type of
@@ -247,8 +251,8 @@
 
 produces this event structure:
 
-  <L content-implicit="yes" to="crontab(5)" type="man">
-    crontab(5)
+  <L content-implicit="yes" raw="crontab(5)" to="crontab(5)" type="man">
+	crontab(5)
   </L>
 
 In the rare cases where a man page link has a specified, that text appears
@@ -258,8 +262,8 @@
 
 will produce this event structure:
 
-  <L content-implicit="yes" section="ENVIRONMENT" to="crontab(5)" type="man">
-    "ENVIRONMENT" in crontab(5)
+  <L content-implicit="yes" raw="crontab(5)/"ENVIRONMENT"" section="ENVIRONMENT" to="crontab(5)" type="man">
+	"ENVIRONMENT" in crontab(5)
   </L>
 
 In the rare case where the Pod document has code like
@@ -278,8 +282,8 @@
 
 will produce this event structure:
 
-  <L to="crontab(5)" type="man">
-    hell itself!
+  <L raw="hell itself!|crontab(5)" to="crontab(5)" type="man">
+	hell itself!
   </L>
 
 The last type of L structure is for links to/within Pod documents. It is
@@ -290,8 +294,8 @@
 In the most common case, the simple case of a LE<lt>podpageE<gt> code
 produces this event structure:
 
-  <L content-implicit="yes" to="Net::Ping" type="pod">
-    podpage
+  <L content-implicit="yes" raw="podpage" to="podpage" type="pod">
+	podpage
   </L>
 
 For example, this Pod source:
@@ -300,8 +304,8 @@
 
 produces this event structure:
 
-  <L content-implicit="yes" to="Net::Ping" type="pod">
-    Net::Ping
+  <L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">
+	Net::Ping
   </L>
 
 In cases where there is link-text explicitly specified, it
@@ -313,8 +317,8 @@
 
 produces this event structure:
 
-  <L to="perldiag" type="pod">
-    Perl Error Messages
+  <L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">
+	Perl Error Messages
   </L>
 
 In cases of links to a section in the current Pod document,
@@ -325,8 +329,8 @@
 
 produces this event structure:
 
-  <L content-implicit="yes" section="Member Data" type="pod">
-    "Member Data"
+  <L content-implicit="yes" raw="/"Member Data"" section="Member Data" type="pod">
+	"Member Data"
   </L>
 
 As another example, this Pod source:
@@ -335,8 +339,8 @@
 
 produces this event structure:
 
-  <L section="Member Data" type="pod">
-    the various attributes
+  <L raw="the various attributes|/"Member Data"" section="Member Data" type="pod">
+	the various attributes
   </L>
 
 In cases of links to a section in a different Pod document,
@@ -347,8 +351,8 @@
 
 produces this event structure:
 
-  <L content-implicit="yes" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
-    "Basic BLOCKs and Switch Statements" in perlsyn
+  <L content-implicit="yes" raw="perlsyn/"Basic BLOCKs and Switch Statements"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
+	"Basic BLOCKs and Switch Statements" in perlsyn
   </L>
 
 As another example, this Pod source:
@@ -357,8 +361,8 @@
 
 produces this event structure:
 
-  <L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
-    SWITCH statements
+  <L raw="SWITCH statements|perlsyn/"Basic BLOCKs and Switch Statements"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">
+	SWITCH statements
   </L>
 
 Incidentally, note that we do not distinguish between these syntaxes:
@@ -368,12 +372,33 @@
   L</Member Data>
   L<Member Data>    [deprecated syntax]
 
-That is, they all produce the same event structure, namely:
+That is, they all produce the same event structure (for the most part), namely:
 
-  <L content-implicit="yes" section="Member Data" type="pod">
-    "Member Data"
+  <L content-implicit="yes" raw="$depends_on_syntax" section="Member Data" type="pod">
+	"Member Data"
   </L>
 
+The I<raw> attribute depends on what the raw content of the C<LE<lt>E<gt>> is,
+so that is why the event structure is the same "for the most part".
+
+If you have not guessed it yet, the I<raw> attribute contains the raw,
+original, unescaped content of the C<LE<lt>E<gt>> formatting code. In addition
+to the examples above, take notice of the following event structure produced
+by the following C<LE<lt>E<gt>> formatting code.
+
+  L<click B<here>|page/About the C<-M> switch>
+
+  <L raw="click B<here>|page/About the C<-M> switch" section="About the -M switch" to="page" type="pod">
+	click B<here>
+  </L>
+
+Specifically, notice that the formatting codes are present and unescaped
+in I<raw>.
+
+There is a known bug in the I<raw> attribute where any surrounding whitespace
+is condensed into a single ' '. For example, given LE<60>   linkE<62>, I<raw>
+will be " link".
+
 =item events with an element_name of E or Z
 
 While there are Pod codes EE<lt>...E<gt> and ZE<lt>E<gt>, these
@@ -386,7 +411,7 @@
 produces this event structure:
 
   <Verbatim start_line="543" xml:space="preserve">
-    ...text...
+	...text...
   </Verbatim>
 
 The value of the I<start_line> attribute will be the line number of the
@@ -402,7 +427,7 @@
 structure:
 
   <head1>
-    ...stuff...
+	...stuff...
   </head1>
 
 For example, a directive consisting of this:
@@ -412,16 +437,23 @@
 will produce this event structure:
 
   <head1 start_line="543">
-    Options to 
-    <C>
-      new
-    </C>
-     et al.
+	Options to
+	<C>
+	  new
+	</C>
+	 et al.
   </head1>
 
 "=head2" thru "=head4" directives are the same, except for the element
 names in the event structure.
 
+=item events with an element_name of encoding
+
+In the default case, the events corresponding to C<=encoding> directives
+are not emitted. They are emitted if C<keep_encoding_directive> is true.
+In that case they produce event structures like
+L</"events with an element_name of head1 .. head4"> above.
+
 =item events with an element_name of over-bullet
 
 When an "=over ... Z<>=back" block is parsed where the items are
@@ -428,12 +460,41 @@
 a bulleted list, it will produce this event structure:
 
   <over-bullet indent="4" start_line="543">
-    <item-bullet start_line="545">
-      ...Stuff...
-    </item-bullet>
-    ...more item-bullets...
-  </over-bullet>
+	<item-bullet start_line="545">
+	  ...Stuff...
+	</item-bullet>
+	...more item-bullets...
+  </over-bullet fake-closer="1">
 
+The attribute I<fake-closer> is only present if it is a true value; it is not
+present if it is a false value. It is shown in the above example to illustrate
+where the attribute is (in the B<closing> tag). It signifies that the C<=over>
+did not have a matching C<=back>, and thus Pod::Simple had to create a fake
+closer.
+
+For example, this Pod source:
+
+  =over
+
+  =item *
+
+  Something
+
+  =back
+
+Would produce an event structure that does B<not> have the I<fake-closer>
+attribute, whereas this Pod source:
+
+  =over
+
+  =item *
+
+  Gasp! An unclosed =over block!
+
+would. The rest of the over-* examples will not demonstrate this attribute,
+but they all can have it. See L<Pod::Checker>'s source for an example of this
+attribute being used.
+
 The value of the I<indent> attribute is whatever value is after the
 "=over" directive, as in "=over 8".  If no such value is specified
 in the directive, then the I<indent> attribute has the value "4".
@@ -455,12 +516,12 @@
 produces this event structure:
 
   <over-bullet indent="4" start_line="10">
-    <item-bullet start_line="12">
-      Stuff
-    </item-bullet>
-    <item-bullet start_line="14">
-      Bar <I>baz</I>!
-    </item-bullet>
+	<item-bullet start_line="12">
+	  Stuff
+	</item-bullet>
+	<item-bullet start_line="14">
+	  Bar <I>baz</I>!
+	</item-bullet>
   </over-bullet>
 
 =item events with an element_name of over-number
@@ -469,10 +530,10 @@
 a numbered list, it will produce this event structure:
 
   <over-number indent="4" start_line="543">
-    <item-number number="1" start_line="545">
-      ...Stuff...
-    </item-number>
-    ...more item-number...
+	<item-number number="1" start_line="545">
+	  ...Stuff...
+	</item-number>
+	...more item-number...
   </over-bullet>
 
 This is like the "over-bullet" event structure; but note that the contents
@@ -490,21 +551,21 @@
 
 =item events with an element_name of over-text
 
-These events are are somewhat unlike the other over-*
+These events are somewhat unlike the other over-*
 structures, as far as what their contents are.  When
 an "=over ... Z<>=back" block is parsed where the items are
 a list of text "subheadings", it will produce this event structure:
 
   <over-text indent="4" start_line="543">
-    <item-text>
-      ...stuff...
-    </item-text>
-    ...stuff (generally Para or Verbatim elements)...
-    <item-text>
-    ...more item-text and/or stuff...
+	<item-text>
+	  ...stuff...
+	</item-text>
+	...stuff (generally Para or Verbatim elements)...
+	<item-text>
+	...more item-text and/or stuff...
   </over-text>
 
-The I<indent> attribute is as with the other over-* events.
+The I<indent> and I<fake-closer> attributes are as with the other over-* events.
 
 For example, this Pod source:
 
@@ -523,22 +584,22 @@
 produces this event structure:
 
   <over-text indent="4" start_line="20">
-    <item-text start_line="22">
-      Foo
-    </item-text>
-    <Para start_line="24">
-      Stuff
-    </Para>
-    <item-text start_line="26">
-      Bar
-        <I>
-          baz
-        </I>
-      !
-    </item-text>
-    <Para start_line="28">
-      Quux
-    </Para>
+	<item-text start_line="22">
+	  Foo
+	</item-text>
+	<Para start_line="24">
+	  Stuff
+	</Para>
+	<item-text start_line="26">
+	  Bar
+		<I>
+		  baz
+		</I>
+	  !
+	</item-text>
+	<Para start_line="28">
+	  Quux
+	</Para>
   </over-text>
 
 
@@ -545,16 +606,16 @@
 
 =item events with an element_name of over-block
 
-These events are are somewhat unlike the other over-*
+These events are somewhat unlike the other over-*
 structures, as far as what their contents are.  When
 an "=over ... Z<>=back" block is parsed where there are no items,
 it will produce this event structure:
 
   <over-block indent="4" start_line="543">
-    ...stuff (generally Para or Verbatim elements)...
+	...stuff (generally Para or Verbatim elements)...
   </over-block>
 
-The I<indent> attribute is as with the other over-* events.
+The I<indent> and I<fake-closer> attributes are as with the other over-* events.
 
 For example, this Pod source:
 
@@ -569,22 +630,57 @@
   circumstances of cruelty and perfidy scarcely paralleled in the most
   barbarous ages, and totally unworthy the head of a civilized nation.
 
-  =cut
+  =back
 
 will produce this event structure:
 
   <over-block indent="4" start_line="2">
-    <Para start_line="4">
-      For cutting off our trade with all parts of the world
-    </Para>
-    <Para start_line="6">
-      For transporting us beyond seas to be tried for pretended offenses
-    </Para>
-    <Para start_line="8">
-      He is at this time transporting large armies of [...more text...]
-    </Para>
+	<Para start_line="4">
+	  For cutting off our trade with all parts of the world
+	</Para>
+	<Para start_line="6">
+	  For transporting us beyond seas to be tried for pretended offenses
+	</Para>
+	<Para start_line="8">
+	  He is at this time transporting large armies of [...more text...]
+	</Para>
   </over-block>
 
+=item events with an element_name of over-empty
+
+B<Note: These events are only triggered if C<parse_empty_lists()> is set to a
+true value.>
+
+These events are somewhat unlike the other over-* structures, as far as what
+their contents are.  When an "=over ... Z<>=back" block is parsed where there
+is no content, it will produce this event structure:
+
+  <over-empty indent="4" start_line="543">
+  </over-empty>
+
+The I<indent> and I<fake-closer> attributes are as with the other over-* events.
+
+For example, this Pod source:
+
+  =over
+
+  =over
+
+  =back
+
+  =back
+
+will produce this event structure:
+
+  <over-block indent="4" start_line="1">
+	<over-empty indent="4" start_line="3">
+	</over-empty>
+  </over-block>
+
+Note that the outer C<=over> is a block because it has no C<=item>s but still
+has content: the inner C<=over>. The inner C<=over>, in turn, is completely
+empty, and is treated as such.
+
 =item events with an element_name of item-bullet
 
 See L</"events with an element_name of over-bullet">, above.
@@ -625,21 +721,21 @@
 
 As the parser sees sections like:
 
-    =for html  <img src="fig1.jpg">
+	=for html  <img src="fig1.jpg">
 
 or
 
-    =begin html
+	=begin html
 
-      <img src="fig1.jpg">
+	  <img src="fig1.jpg">
 
-    =end html
+	=end html
 
 ...the parser will ignore these sections unless your subclass has
-specified that it wants to see sections targetted to "html" (or whatever
+specified that it wants to see sections targeted to "html" (or whatever
 the formatter name is).
 
-If you want to process all sections, even if they're not targetted for you,
+If you want to process all sections, even if they're not targeted for you,
 call this before you start parsing:
 
   $parser->accept_targets('*');
@@ -660,7 +756,7 @@
 you don't actually see in the parse tree, Z and E). For example, to also
 accept codes "N", "R", and "W":
 
-    $parser->accept_codes( qw( N R W ) );
+	$parser->accept_codes( qw( N R W ) );
 
 B<TODO: document how this interacts with =extend, and long element names>
 
@@ -673,7 +769,7 @@
 
 In the unlikely situation that you need to tell the parser that you will
 accept additional directives ("=foo" things), you need to first set the
-parset to treat its content as data (i.e., not really processed at
+parser to treat its content as data (i.e., not really processed at
 all), or as verbatim (mostly just expanding tabs), or as processed text
 (parsing formatting codes like BE<lt>...E<gt>).
 
@@ -680,11 +776,11 @@
 For example, to accept a new directive "=method", you'd presumably
 use:
 
-    $parser->accept_directive_as_processed("method");
+	$parser->accept_directive_as_processed("method");
 
 so that you could have Pod lines like:
 
-    =method I<$whatever> thing B<um>
+	=method I<$whatever> thing B<um>
 
 Making up your own directives breaks compatibility with other Pod
 formatters, in a way that using "=for I<target> ..." lines doesn't;
@@ -698,11 +794,11 @@
 turn "SE<lt>...E<gt>" sequences into sequences of words separated by
 C<\xA0> (non-breaking space) characters. For example, it will take this:
 
-    I like S<Dutch apple pie>, don't you?
+	I like S<Dutch apple pie>, don't you?
 
 and treat it as if it were:
 
-    I like DutchE<nbsp>appleE<nbsp>pie, don't you?
+	I like DutchE<nbsp>appleE<nbsp>pie, don't you?
 
 This is handy for output formats that don't have anything quite like an
 "SE<lt>...E<gt>" code, but which do have a code for non-breaking space.
@@ -719,7 +815,7 @@
 this detail in a comment in the output format.  For example, for
 some kind of SGML output format:
 
-    print OUT "<!-- \n", $parser->version_report, "\n -->";
+	print OUT "<!-- \n", $parser->version_report, "\n -->";
 
 
 =item C<< $parser->pod_para_count() >>
@@ -740,7 +836,16 @@
 Many formats don't actually use the content of these codes, so have
 no reason to process them.
 
+=item C<< $parser->keep_encoding_directive(  I<SOMEVALUE>  ) >>
 
+This attribute, when set to a true value (it is false by default)
+will keep C<=encoding> and its content in the event structure. Most
+formats don't actually need to process the content of an C<=encoding>
+directive, even when this directive sets the encoding and the
+processor makes use of the encoding information. Indeed, it is
+possible to know the encoding without processing the directive
+content.
+
 =item C<< $parser->merge_text(  I<SOMEVALUE>  ) >>
 
 This attribute, when set to a true value (and it is false by default)
@@ -748,7 +853,7 @@
 for any single contiguous sequence of text.  For example, consider
 this somewhat contrived example:
 
-    I just LOVE Z<>hotE<32>apple pie!
+	I just LOVE Z<>hotE<32>apple pie!
 
 When that is parsed and events are about to be called on it, it may
 actually seem to be four different text events, one right after another:
@@ -764,10 +869,10 @@
 that no code should be called.  If you provide a routine, it should
 start out like this:
 
-    sub get_code_line {  # or whatever you'll call it
-      my($line, $line_number, $parser) = @_;
-      ...
-    }
+	sub get_code_line {  # or whatever you'll call it
+	  my($line, $line_number, $parser) = @_;
+	  ...
+	}
 
 Note, however, that sometimes the Pod events aren't processed in exactly
 the same order as the code lines are -- i.e., if you have a file with
@@ -783,6 +888,21 @@
 unlikely to be interesting, but this is included for completeness.
 
 
+=item C<< $parser->pod_handler(  I<CODE_REF>  ) >>
+
+This is just like the code_handler attribute, except that it's for
+"=pod" lines, not code lines. The same caveats apply. "=pod" lines are
+unlikely to be interesting, but this is included for completeness.
+
+
+=item C<< $parser->whiteline_handler(  I<CODE_REF>  ) >>
+
+This is just like the code_handler attribute, except that it's for
+lines that are seemingly blank but have whitespace (" " and/or "\t") on them,
+not code lines. The same caveats apply. These lines are unlikely to be
+interesting, but this is included for completeness.
+
+
 =item C<< $parser->whine( I<linenumber>, I<complaint string> ) >>
 
 This notes a problem in the Pod, which will be reported to in the "Pod
@@ -847,9 +967,14 @@
 This is primarily useful for output formats that treat whitespace as
 significant (such as text or *roff, but not HTML).
 
+=item C<< $parser->parse_empty_lists( I<SOMEVALUE> ) >>
+
+If this attribute is set to true, the parser will not ignore empty
+C<=over>/C<=back> blocks. The type of C<=over> will be I<empty>, documented
+above, L<events with an element_name of over-empty>.
+
 =back
 
-
 =head1 SEE ALSO
 
 L<Pod::Simple> -- event-based Pod-parsing framework
@@ -902,7 +1027,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to
@@ -944,5 +1069,3 @@
 
 
 =cut
-
-


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Subclassing.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Text.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Text.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Text.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 use Pod::Simple::Methody ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION $FREAKYMODE);
-$VERSION = '3.16';
+$VERSION = '3.28';
 @ISA = ('Pod::Simple::Methody');
 BEGIN { *DEBUG = defined(&Pod::Simple::DEBUG)
           ? \&Pod::Simple::DEBUG
@@ -71,7 +71,7 @@
     if (my $link = delete $_[0]{'Link'}) {
         # Append the URL to the output unless it's already present.
         $_[0]{'Thispara'} .= " <$link->{to}>"
-            unless $_[0]{'Thispara'} =~ /\b\E$link->{to}/;
+            unless $_[0]{'Thispara'} =~ /\b\Q$link->{to}/;
     }
 }
 
@@ -148,7 +148,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Text.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 use Carp ();
 use Pod::Simple ();
 use vars qw( @ISA $VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 @ISA = ('Pod::Simple');
 
 sub new {
@@ -75,7 +75,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TextContent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use Symbol ('gensym');
 use Carp ();
 use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TiedOutFH.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 require 5;
 package Pod::Simple::Transcode;
 use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 BEGIN {
   if(defined &DEBUG) {;} # Okay


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/Transcode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 package Pod::Simple::TranscodeDumb;
 use strict;
 use vars qw($VERSION %Supported);
-$VERSION = '3.16';
+$VERSION = '3.28';
 # This module basically pretends it knows how to transcode, except
 #  only for null-transcodings!  We use this when Encode isn't
 #  available.


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeDumb.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 use Pod::Simple;
 require Encode;
 use vars qw($VERSION );
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 sub is_dumb  {0}
 sub is_smart {1}
@@ -27,12 +27,12 @@
 }
 
 sub make_transcoder {
-  my($e) = $_[1];
+  my $e = Encode::find_encoding($_[1]);
   die "WHAT ENCODING!?!?" unless $e;
   my $x;
   return sub {
     foreach $x (@_) {
-      $x = Encode::decode($e, $x);
+      $x = $e->decode($x) unless Encode::is_utf8($x);
     }
     return;
   };


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/TranscodeSmart.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -45,7 +45,7 @@
 package Pod::Simple::XHTML;
 use strict;
 use vars qw( $VERSION @ISA $HAS_HTML_ENTITIES );
-$VERSION = '3.16';
+$VERSION = '3.28';
 use Pod::Simple::Methody ();
 @ISA = ('Pod::Simple::Methody');
 
@@ -151,7 +151,7 @@
 A string containing all characters that should be encoded as HTML entities,
 specified using the regular expression character class syntax (what you find
 within brackets in regular expressions). This value will be passed as the
-second argument to the C<encode_entities> fuction of L<HTML::Entities>. IF
+second argument to the C<encode_entities> function of L<HTML::Entities>. If
 L<HTML::Entities> is not installed, then any characters other than C<&<>"'>
 will be encoded numerically.
 
@@ -194,7 +194,17 @@
 Whether to add a table-of-contents at the top of each page (called an
 index for the sake of tradition).
 
+=head2 anchor_items
 
+Whether to anchor every definition C<=item> directive. This needs to be
+enabled if you want to be able to link to specific C<=item> directives, which
+are output as C<< <dt> >> elements. Disabled by default.
+
+=head2 backlink
+
+Whether to turn every =head1 directive into a link pointing to the top 
+of the page (specifically, the opening body tag).
+
 =cut
 
 __PACKAGE__->_accessorize(
@@ -215,6 +225,8 @@
  'html_header',
  'html_footer',
  'index',
+ 'anchor_items',
+ 'backlink',
  'batch_mode', # whether we're in batch mode
  'batch_mode_current_level',
     # When in batch mode, how deep the current module is: 1 for "LWP",
@@ -239,12 +251,11 @@
   $new->man_url_prefix('http://man.he.net/man');
   $new->html_charset('ISO-8859-1');
   $new->nix_X_codes(1);
-  $new->codes_in_verbatim(1);
   $new->{'scratch'} = '';
   $new->{'to_index'} = [];
   $new->{'output'} = [];
   $new->{'saved'} = [];
-  $new->{'ids'} = {};
+  $new->{'ids'} = { '_podtop_' => 1 }; # used in <body>
   $new->{'in_li'} = [];
 
   $new->{'__region_targets'}  = [];
@@ -273,7 +284,7 @@
 more than just display formatted text. Perhaps adding a way to generate
 HTML tables from an extended version of POD.
 
-So, let's say you want add a custom element called 'foo'. In your
+So, let's say you want to add a custom element called 'foo'. In your
 subclass's C<new> method, after calling C<SUPER::new> you'd call:
 
   $new->accept_targets_as_text( 'foo' );
@@ -289,11 +300,27 @@
       my ($self, $text) = @_;
       if ($self->{'in_foo'}) {
           $self->{'scratch'} .= build_foo_html($text);
-      } else {
-          $self->{'scratch'} .= $text;
+          return;
       }
+      $self->SUPER::handle_text($text);
   }
 
+=head2 handle_code
+
+This method handles the body of text that is marked up to be code.
+You might for instance override this to plug in a syntax highlighter.
+The base implementation just escapes the text.
+
+The callback methods C<start_code> and C<end_code> emits the C<code> tags
+before and after C<handle_code> is invoked, so you might want to override these
+together with C<handle_code> if this wrapping isn't suiteable.
+
+Note that the code might be broken into mulitple segments if there are
+nested formatting codes inside a C<< CE<lt>...> >> sequence.  In between the
+calls to C<handle_code> other markup tags might have been emitted in that
+case.  The same is true for verbatim sections if the C<codes_in_verbatim>
+option is turned on.
+
 =head2 accept_targets_as_html
 
 This method behaves like C<accept_targets_as_text>, but also marks the region
@@ -316,19 +343,48 @@
 
 sub handle_text {
     # escape special characters in HTML (<, >, &, etc)
-    $_[0]{'scratch'} .= $_[0]->__in_literal_xhtml_region
-                      ? $_[1]
-                      : $_[0]->encode_entities( $_[1] );
+    my $text = $_[0]->__in_literal_xhtml_region
+        ? $_[1]
+        : $_[0]->encode_entities( $_[1] );
+
+    if ($_[0]{'in_code'} && @{$_[0]{'in_code'}}) {
+        # Intentionally use the raw text in $_[1], even if we're not in a
+        # literal xhtml region, since handle_code calls encode_entities.
+        $_[0]->handle_code( $_[1], $_[0]{'in_code'}[-1] );
+    } else {
+        $_[0]{'scratch'} .= $text;
+    }
+
+    $_[0]{htext} .= $text if $_[0]{'in_head'};
 }
 
-sub start_Para     { $_[0]{'scratch'} = '<p>' }
-sub start_Verbatim { $_[0]{'scratch'} = '<pre><code>' }
+sub start_code {
+    $_[0]{'scratch'} .= '<code>';
+}
 
-sub start_head1 {  $_[0]{'in_head'} = 1 }
-sub start_head2 {  $_[0]{'in_head'} = 2 }
-sub start_head3 {  $_[0]{'in_head'} = 3 }
-sub start_head4 {  $_[0]{'in_head'} = 4 }
+sub end_code {
+    $_[0]{'scratch'} .= '</code>';
+}
 
+sub handle_code {
+    $_[0]{'scratch'} .= $_[0]->encode_entities( $_[1] );
+}
+
+sub start_Para {
+    $_[0]{'scratch'} = '<p>';
+}
+
+sub start_Verbatim {
+    $_[0]{'scratch'} = '<pre>';
+    push(@{$_[0]{'in_code'}}, 'Verbatim');
+    $_[0]->start_code($_[0]{'in_code'}[-1]);
+}
+
+sub start_head1 {  $_[0]{'in_head'} = 1; $_[0]{htext} = ''; }
+sub start_head2 {  $_[0]{'in_head'} = 2; $_[0]{htext} = ''; }
+sub start_head3 {  $_[0]{'in_head'} = 3; $_[0]{htext} = ''; }
+sub start_head4 {  $_[0]{'in_head'} = 4; $_[0]{htext} = ''; }
+
 sub start_item_number {
     $_[0]{'scratch'} = "</li>\n" if ($_[0]{'in_li'}->[-1] && pop @{$_[0]{'in_li'}});
     $_[0]{'scratch'} .= '<li><p>';
@@ -342,11 +398,7 @@
 }
 
 sub start_item_text   {
-    if ($_[0]{'in_dd'}[ $_[0]{'dl_level'} ]) {
-        $_[0]{'scratch'} = "</dd>\n";
-        $_[0]{'in_dd'}[ $_[0]{'dl_level'} ] = 0;
-    }
-    $_[0]{'scratch'} .= '<dt>';
+    # see end_item_text
 }
 
 sub start_over_bullet { $_[0]{'scratch'} = '<ul>'; push @{$_[0]{'in_li'}}, 0; $_[0]->emit }
@@ -389,7 +441,8 @@
 
 sub end_Para     { $_[0]{'scratch'} .= '</p>'; $_[0]->emit }
 sub end_Verbatim {
-    $_[0]{'scratch'}     .= '</code></pre>';
+    $_[0]->end_code(pop(@{$_[0]->{'in_code'}}));
+    $_[0]{'scratch'} .= '</pre>';
     $_[0]->emit;
 }
 
@@ -400,11 +453,14 @@
     $add = 1 unless defined $add;
     $h += $add - 1;
 
-    my $id = $_[0]->idify($_[0]{scratch});
+    my $id = $_[0]->idify($_[0]{htext});
     my $text = $_[0]{scratch};
-    $_[0]{'scratch'} = qq{<h$h id="$id">$text</h$h>};
+    $_[0]{'scratch'} = $_[0]->backlink && ($h - $add == 0)
+                         # backlinks enabled && =head1
+                         ? qq{<a href="#_podtop_"><h$h id="$id">$text</h$h></a>}
+                         : qq{<h$h id="$id">$text</h$h>};
     $_[0]->emit;
-    push @{ $_[0]{'to_index'} }, [$h, $id, $text];
+    push @{ $_[0]{'to_index'} }, [$h, $id, delete $_[0]{'htext'}];
 }
 
 sub end_head1       { shift->_end_head(@_); }
@@ -416,7 +472,21 @@
 sub end_item_number { $_[0]{'scratch'} .= '</p>'; $_[0]->emit }
 
 sub end_item_text   {
-    $_[0]{'scratch'} .= "</dt>\n<dd>";
+    # idify and anchor =item content if wanted
+    my $dt_id = $_[0]{'anchor_items'} 
+                 ? ' id="'. $_[0]->idify($_[0]{'scratch'}) .'"'
+                 : '';
+
+    # reset scratch
+    my $text = $_[0]{scratch};
+    $_[0]{'scratch'} = '';
+
+    if ($_[0]{'in_dd'}[ $_[0]{'dl_level'} ]) {
+        $_[0]{'scratch'} = "</dd>\n";
+        $_[0]{'in_dd'}[ $_[0]{'dl_level'} ] = 0;
+    }
+
+    $_[0]{'scratch'} .= qq{<dt$dt_id>$text</dt>\n<dd>};
     $_[0]{'in_dd'}[ $_[0]{'dl_level'} ] = 1;
     $_[0]->emit;
 }
@@ -451,18 +521,23 @@
     $self->{'scratch'} .= $self->html_header;
     $self->emit unless $self->html_header eq "";
   } else {
-    my ($doctype, $title, $metatags);
+    my ($doctype, $title, $metatags, $bodyid);
     $doctype = $self->html_doctype || '';
     $title = $self->force_title || $self->title || $self->default_title || '';
     $metatags = $self->html_header_tags || '';
-    if ($self->html_css) {
-      $metatags .= "\n<link rel='stylesheet' href='" .
-             $self->html_css . "' type='text/css' />";
+    if (my $css = $self->html_css) {
+        $metatags .= $css;
+        if ($css !~ /<link/) {
+            # this is required to be compatible with Pod::Simple::BatchHTML
+            $metatags .= '<link rel="stylesheet" href="'
+                . $self->encode_entities($css) . '" type="text/css" />';
+        }
     }
     if ($self->html_javascript) {
-      $metatags .= "\n<script type='text/javascript' src='" .
+      $metatags .= qq{\n<script type="text/javascript" src="} .
                     $self->html_javascript . "'></script>";
     }
+    $bodyid = $self->backlink ? ' id="_podtop_"' : '';
     $self->{'scratch'} .= <<"HTML";
 $doctype
 <html>
@@ -470,7 +545,7 @@
 <title>$title</title>
 $metatags
 </head>
-<body>
+<body$bodyid>
 HTML
     $self->emit;
   }
@@ -538,8 +613,8 @@
 sub start_B { $_[0]{'scratch'} .= '<b>' }
 sub end_B   { $_[0]{'scratch'} .= '</b>' }
 
-sub start_C { $_[0]{'scratch'} .= '<code>' }
-sub end_C   { $_[0]{'scratch'} .= '</code>' }
+sub start_C { push(@{$_[0]{'in_code'}}, 'C'); $_[0]->start_code($_[0]{'in_code'}[-1]); }
+sub end_C   { $_[0]->end_code(pop(@{$_[0]{'in_code'}})); }
 
 sub start_F { $_[0]{'scratch'} .= '<i>' }
 sub end_F   { $_[0]{'scratch'} .= '</i>' }
@@ -599,7 +674,7 @@
     my ($self, $to, $section) = @_;
     return undef unless defined $to || defined $section;
     if (defined $section) {
-        $section = '#' . $self->idify($section, 1);
+        $section = '#' . $self->idify($self->encode_entities($section), 1);
         return $section unless defined $to;
     } else {
         $section = ''
@@ -662,6 +737,11 @@
 
 =item *
 
+The final character can't be a hyphen, colon, or period. URLs ending with these
+characters, while allowed by XHTML, can be awkward to extract from plain text.
+
+=item *
+
 Each id must be unique within the document.
 
 =back
@@ -683,6 +763,7 @@
         s/^([^a-zA-Z]+)$/pod$1/; # Prepend "pod" if no valid chars.
         s/^[^a-zA-Z]+//;         # First char must be a letter.
         s/[^-a-zA-Z0-9_:.]+/-/g; # All other chars must be valid.
+        s/[-:.]+$//;             # Strip trailing punctuation.
     }
     return $t if $not_unique;
     my $i = '';
@@ -708,6 +789,10 @@
   return $self;
 }
 
+sub html_header_after_title {
+}
+
+
 1;
 
 __END__
@@ -723,7 +808,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XHTML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use Carp ();
 use Pod::Simple ();
 use vars qw( $ATTR_PAD @ISA $VERSION $SORT_ATTRS);
-$VERSION = '3.16';
+$VERSION = '3.28';
 BEGIN {
   @ISA = ('Pod::Simple');
   *DEBUG = \&Pod::Simple::DEBUG unless defined &DEBUG;
@@ -20,6 +20,7 @@
   my $self = shift;
   my $new = $self->SUPER::new(@_);
   $new->{'output_fh'} ||= *STDOUT{IO};
+  $new->keep_encoding_directive(1);
   #$new->accept_codes('VerbatimFormatted');
   return $new;
 }
@@ -148,7 +149,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple/XMLOutStream.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
 );
 
 @ISA = ('Pod::Simple::BlackBox');
-$VERSION = '3.16';
+$VERSION = '3.28';
 
 @Known_formatting_codes = qw(I B C L E F S X Z); 
 %Known_formatting_codes = map(($_=>1), @Known_formatting_codes);
@@ -80,6 +80,7 @@
   'bare_output',       # For some subclasses: whether to prepend
                        #  header-code and postpend footer-code
 
+  'keep_encoding_directive',  # whether to emit =encoding
   'nix_X_codes',       # whether to ignore X<...> codes
   'merge_text',        # whether to avoid breaking a single piece of
                        #  text up into several events
@@ -87,6 +88,8 @@
   'preserve_whitespace', # whether to try to keep whitespace as-is
   'strip_verbatim_indent', # What indent to strip from verbatim
 
+  'parse_characters',  # Whether parser should expect chars rather than octets
+
  'content_seen',      # whether we've seen any real Pod content
  'errors_seen',       # TODO: document.  whether we've seen any errors (fatal or not)
 
@@ -93,10 +96,15 @@
  'codes_in_verbatim', # for PseudoPod extensions
 
  'code_handler',      # coderef to call when a code (non-pod) line is seen
- 'cut_handler',       # coderef to call when a =cut line is seen
+ 'cut_handler',       # ... when a =cut line is seen
+ 'pod_handler',       # ... when a =pod line is seen
+ 'whiteline_handler', # ... when a line with only whitespace is seen
  #Called like:
  # $code_handler->($line, $self->{'line_count'}, $self) if $code_handler;
  #  $cut_handler->($line, $self->{'line_count'}, $self) if $cut_handler;
+ #  $pod_handler->($line, $self->{'line_count'}, $self) if $pod_handler;
+ #   $wl_handler->($line, $self->{'line_count'}, $self) if $wl_handler;
+ 'parse_empty_lists', # whether to acknowledge empty =over/=back blocks
 
 );
 
@@ -106,6 +114,35 @@
   return shift->{'errors_seen'} || 0;
 }
 
+# Returns the encoding only if it was recognized as being handled and set
+sub detected_encoding {
+  return shift->{'detected_encoding'};
+}
+
+sub encoding {
+  my $this = shift;
+  return $this->{'encoding'} unless @_;  # GET.
+
+  $this->_handle_encoding_line("=encoding $_[0]");
+  if ($this->{'_processed_encoding'}) {
+    delete $this->{'_processed_encoding'};
+    if(! $this->{'encoding_command_statuses'} ) {
+      DEBUG > 2 and print " CRAZY ERROR: encoding wasn't really handled?!\n";
+    } elsif( $this->{'encoding_command_statuses'}[-1] ) {
+      $this->scream( "=encoding $_[0]",
+         sprintf "Couldn't do %s: %s",
+         $this->{'encoding_command_reqs'  }[-1],
+         $this->{'encoding_command_statuses'}[-1],
+      );
+    } else {
+      DEBUG > 2 and print " (encoding successfully handled.)\n";
+    }
+    return $this->{'encoding'};
+  } else {
+    return undef;
+  }
+}
+
 #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
 # Pull in some functions that, for some reason, I expect to see here too:
 BEGIN {
@@ -356,7 +393,8 @@
     next unless defined $line_group and length $line_group;
     pos($line_group) = 0;
     while($line_group =~
-      m/([^\n\r]*)((?:\r?\n)?)/g
+      m/([^\n\r]*)(\r?\n?)/g # supports \r, \n ,\r\n
+      #m/([^\n\r]*)((?:\r?\n)?)/g
     ) {
       #print(">> $1\n"),
       $self->parse_lines($1)
@@ -406,10 +444,11 @@
   # By here, $source is a FH.
 
   $self->{'source_fh'} = $source;
-  
+
   my($i, @lines);
   until( $self->{'source_dead'} ) {
     splice @lines;
+
     for($i = MANY_LINES; $i--;) {  # read those many lines at a time
       local $/ = $NL;
       push @lines, scalar(<$source>);  # readline
@@ -416,6 +455,19 @@
       last unless defined $lines[-1];
        # but pass thru the undef, which will set source_dead to true
     }
+
+    my $at_eof = ! $lines[-1]; # keep track of the undef
+    pop @lines if $at_eof; # silence warnings
+
+    # be eol agnostic
+    s/\r\n?/\n/g for @lines;
+ 
+    # make sure there are only one line elements for parse_lines
+    @lines = split(/(?<=\n)/, join('', @lines));
+
+    # push the undef back after popping it to set source_dead to true
+    push @lines, undef if $at_eof;
+
     $self->parse_lines(@lines);
   }
   delete($self->{'source_fh'}); # so it can be GC'd
@@ -960,7 +1012,7 @@
 # possibly a man page name (like "crontab(5)" is).
 #
 
-############# Not implemented, I guess.
+############# The "raw" attribute that is already there.
 # Sixth:
 # The raw original L<...> content, before text is split on "|", "/", etc,
 # and before E<...> codes are expanded.
@@ -1013,6 +1065,12 @@
         $treelet->[$i] = 'L<>';  # just make it a text node
         next;  # and move on
       }
+
+      if( (! ref $ell->[2]  && $ell->[2] =~ /\A\s/)
+        ||(! ref $ell->[-1] && $ell->[-1] =~ /\s\z/)
+      ) {
+        $self->whine( $start_line, "L<> starts or ends with whitespace" );
+      }
      
       # Catch URLs:
 
@@ -1072,7 +1130,7 @@
       # Catch some very simple and/or common cases
       if(@{$ell} == 3 and ! ref $ell->[2]) {
         my $it = $ell->[2];
-        if($it =~ m/^[-a-zA-Z0-9]+\([-a-zA-Z0-9]+\)$/s) { # man sections
+        if($it =~ m{^[^/|]+[(][-a-zA-Z0-9]+[)]$}s) { # man sections
           # Hopefully neither too broad nor too restrictive a RE
           DEBUG > 1 and print "Catching \"$it\" as manpage link.\n";
           $ell->[1]{'type'} = 'man';
@@ -1128,6 +1186,13 @@
           DEBUG > 3 and
            print "     FOUND a '|' in it.  Splitting into [$1] + [$2]\n";
 
+          if ($link_text[0] =~ m{[|/]}) {
+            $self->whine(
+              $start_line,
+              "alternative text '$link_text[0]' contains non-escaped | or /"
+            );
+          }
+
           unshift @link_text, splice @ell_content, 0, $j;
             # leaving only things at J and after
           @ell_content =  grep ref($_)||length($_), @ell_content ;
@@ -1231,7 +1296,7 @@
       # And the E resolver will have to deal with all our treeletty things:
 
       if(@ell_content == 1 and !ref($ell_content[0])
-         and $ell_content[0] =~ m/^[-a-zA-Z0-9]+\([-a-zA-Z0-9]+\)$/s
+         and $ell_content[0] =~ m{^[^/]+[(][-a-zA-Z0-9]+[)]$}s
       ) {
         $ell->[1]{'type'}    = 'man';
         DEBUG > 3 and print "Considering this ($ell_content[0]) a man link.\n";
@@ -1330,6 +1395,10 @@
 
       DEBUG > 1 and print "Ogling E<$content>\n";
 
+      # XXX E<>'s contents *should* be a valid char in the scope of the current
+      # =encoding directive. Defaults to iso-8859-1, I believe. Fix this in the
+      # future sometime.
+
       $charnum  = Pod::Escapes::e2charnum($content);
       DEBUG > 1 and print " Considering E<$content> with char ",
         defined($charnum) ? $charnum : "undef", ".\n";


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,6 +14,8 @@
 documentation for Perl and for Perl modules. The Pod format is explained
 L<perlpod>; the most common formatter is called C<perldoc>.
 
+Be sure to read L</ENCODING> if your Pod contains non-ASCII characters.
+
 Pod formatters can use Pod::Simple to parse Pod documents and render them into
 plain text, HTML, or any number of other formats. Typically, such formatters
 will be subclasses of Pod::Simple, and so they will inherit its methods, like
@@ -85,10 +87,10 @@
 
 =item C<< $parser->content_seen >>
 
-This returns true only if there has been any real content seen
-for this document.
+This returns true only if there has been any real content seen for this
+document. Returns false in cases where the document contains content,
+but does not make use of any Pod markup.
 
-
 =item C<< I<SomeClass>->filter( I<$filename> ); >>
 
 =item C<< I<SomeClass>->filter( I<*INPUT_FH> ); >>
@@ -121,6 +123,14 @@
 
 =over
 
+=item C<< $parser->parse_characters( I<SOMEVALUE> ) >>
+
+The Pod parser normally expects to read octets and to convert those octets
+to characters based on the C<=encoding> declaration in the Pod source.  Set
+this option to a true value to indicate that the Pod source is already a Perl
+character stream.  This tells the parser to ignore any C<=encoding> command
+and to skip all the code paths involving decoding octets.
+
 =item C<< $parser->no_whining( I<SOMEVALUE> ) >>
 
 If you set this attribute to a true value, you will suppress the
@@ -211,6 +221,142 @@
 
 =back
 
+=head1 TERTIARY METHODS
+
+=over
+
+=item C<< $parser->abandon_output_fh() >>X<abandon_output_fh>
+
+Cancel output to the file handle. Any POD read by the C<$parser> is not
+effected.
+
+=item C<< $parser->abandon_output_string() >>X<abandon_output_string>
+
+Cancel output to the output string. Any POD read by the C<$parser> is not
+effected.
+
+=item C<< $parser->accept_code( @codes ) >>X<accept_code>
+
+Alias for L<< accept_codes >>.
+
+=item C<< $parser->accept_codes( @codes ) >>X<accept_codes>
+
+Allows C<$parser> to accept a list of L<perlpod/Formatting Codes>. This can be
+used to implement user-defined codes.
+
+=item C<< $parser->accept_directive_as_data( @directives ) >>X<accept_directive_as_data>
+
+Allows C<$parser> to accept a list of directives for data paragraphs. A
+directive is the label of a L<perlpod/Command Paragraph>. A data paragraph is
+one delimited by C<< =begin/=for/=end >> directives. This can be used to
+implement user-defined directives.
+
+=item C<< $parser->accept_directive_as_processed( @directives ) >>X<accept_directive_as_processed>
+
+Allows C<$parser> to accept a list of directives for processed paragraphs. A
+directive is the label of a L<perlpod/Command Paragraph>. A processed
+paragraph is also known as L<perlpod/Ordinary Paragraph>. This can be used to
+implement user-defined directives.
+
+=item C<< $parser->accept_directive_as_verbatim( @directives ) >>X<accept_directive_as_verbatim>
+
+Allows C<$parser> to accept a list of directives for L<perlpod/Verbatim
+Paragraph>. A directive is the label of a L<perlpod/Command Paragraph>. This
+can be used to implement user-defined directives.
+
+=item C<< $parser->accept_target( @targets ) >>X<accept_target>
+
+Alias for L<< accept_targets >>.
+
+=item C<< $parser->accept_target_as_text( @targets ) >>X<accept_target_as_text>
+
+Alias for L<< accept_targets_as_text >>.
+
+=item C<< $parser->accept_targets( @targets ) >>X<accept_targets>
+
+Accepts targets for C<< =begin/=for/=end >> sections of the POD.
+
+=item C<< $parser->accept_targets_as_text( @targets ) >>X<accept_targets_as_text>
+
+Accepts targets for C<< =begin/=for/=end >> sections that should be parsed as
+POD. For details, see L<< perlpodspec/About Data Paragraphs >>.
+
+=item C<< $parser->any_errata_seen() >>X<any_errata_seen>
+
+Used to check if any errata was seen.
+
+I<Example:>
+
+  die "too many errors\n" if $parser->any_errata_seen();
+
+=item C<< $parser->detected_encoding() >>X<detected_encoding>
+
+Return the encoding corresponding to C<< =encoding >>, but only if the
+encoding was recognized and handled.
+
+=item C<< $parser->encoding() >>X<encoding>
+
+Return encoding of the document, even if the encoding is not correctly
+handled.
+
+=item C<< $parser->parse_from_file( $source, $to ) >>X<parse_from_file>
+
+Parses from C<$source> file to C<$to> file. Similar to L<<
+Pod::Parser/parse_from_file >>.
+
+=item C<< $parser->scream( @error_messages ) >>X<scream>
+
+Log an error that can't be ignored.
+
+=item C<< $parser->unaccept_code( @codes ) >>X<unaccept_code>
+
+Alias for L<< unaccept_codes >>.
+
+=item C<< $parser->unaccept_codes( @codes ) >>X<unaccept_codes>
+
+Removes C<< @codes >> as valid codes for the parse.
+
+=item C<< $parser->unaccept_directive( @directives ) >>X<unaccept_directive>
+
+Alias for L<< unaccept_directives >>.
+
+=item C<< $parser->unaccept_directives( @directives ) >>X<unaccept_directives>
+
+Removes C<< @directives >> as valid directives for the parse.
+
+=item C<< $parser->unaccept_target( @targets ) >>X<unaccept_target>
+
+Alias for L<< unaccept_targets >>.
+
+=item C<< $parser->unaccept_targets( @targets ) >>X<unaccept_targets>
+
+Removes C<< @targets >> as valid targets for the parse.
+
+=item C<< $parser->version_report() >>X<version_report>
+
+Returns a string describing the version.
+
+=item C<< $parser->whine( @error_messages ) >>X<whine>
+
+Log an error unless C<< $parser->no_whining( TRUE ); >>.
+
+=back
+
+=head1 ENCODING
+
+The Pod::Simple parser expects to read B<octets>.  The parser will decode the
+octets into Perl's internal character string representation using the value of
+the C<=encoding> declaration in the POD source.
+
+If the POD source does not include an C<=encoding> declaration, the parser will
+attempt to guess the encoding (selecting one of UTF-8 or Latin-1) by examining
+the first non-ASCII bytes and applying the heuristic described in
+L<perlpodspec>.
+
+If you set the C<parse_characters> option to a true value the parser will
+expect characters rather than octets; will ignore any C<=encoding>; and will
+make no attempt to decode the input.
+
 =head1 CAVEATS
 
 This is just a beta release -- there are a good number of things still
@@ -237,7 +383,7 @@
 pod-people-subscribe at perl.org to subscribe.
 
 This module is managed in an open GitHub repository,
-L<http://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
+L<https://github.com/theory/pod-simple/>. Feel free to fork and contribute, or
 to clone L<git://github.com/theory/pod-simple.git> and send patches!
 
 Patches against Pod::Simple are welcome. Please send bug reports to
@@ -271,4 +417,14 @@
 
 =back
 
+Documentation has been contributed by:
+
+=over
+
+=item * Gabor Szabo C<szabgab at gmail.com>
+
+=item * Shawn H Corey  C<SHCOREY at cpan.org>
+
+=back
+
 =cut


Property changes on: vendor/perl/dist/cpan/Pod-Simple/lib/Pod/Simple.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/00about.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/00about.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/00about.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/00about.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/20_skip.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/20_skip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/20_skip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/20_skip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/ac_d.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/ac_d.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/ac_d.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/ac_d.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/accept01.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/accept01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/accept01.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/accept01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/accept05.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/accept05.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/accept05.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/accept05.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/begin.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/begin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/begin.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/begin.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/cbacks.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/cbacks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/cbacks.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -43,11 +43,20 @@
     sub {
      $_[0]->code_handler(sub { $more .= $_[1] . ":" . $_[0] . "\n"       } );
      $_[0]->cut_handler( sub { $more .= "~" . $_[1] . ":" .  $_[0]. "\n" } );
+     $_[0]->pod_handler( sub { $more .= "+" . $_[1] . ":" .  $_[0]. "\n" } );
+     $_[0]->whiteline_handler( 
+                         sub { $more .= "=" . $_[1] . ":" .  $_[0]. "\n" } );
     } => join "\n",
-    "",
+    " ", # space outside pod
     "\t# This is handy...",
+    "=pod text",
+    "\t", # tab inside pod
+    "=cut more text",
+    "\t", # tab outside pod
+    "=pod",
+    " \t ", # spaces and tabs inside pod
     "=head1 I  LIKE   PIE",
-    "",
+    " ", # space inside pod
     "=cut",
     "use Test::Harness;",
     "runtests(sort glob 't/*.t');",
@@ -62,12 +71,19 @@
   }
   
   ok scalar($got = $more), scalar($exp = join "\n" =>
-   "1:",
+   "1: ",
    "2:\t# This is handy...",
-   "~5:=cut",
-   "6:use Test::Harness;",
-   "7:runtests(sort glob 't/*.t');",
-   "8:",
+   "=4:\t",
+   "+3:=pod text",
+   "~5:=cut more text",
+   "6:\t",
+   "=8: \t ",
+   "+7:=pod",
+   "=10: ",
+   "~11:=cut",
+   "12:use Test::Harness;",
+   "13:runtests(sort glob 't/*.t');",
+   "14:",
    "",
   );
   unless($got eq $exp) {


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/cbacks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/chunking.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/chunking.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/chunking.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/chunking.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/closeys.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/closeys.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/closeys.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,6 +25,7 @@
   $_[0]->accept_targets("*");
 }
 
+local $Pod::Simple::XMLOutStream::SORT_ATTRS = 1;
 &ok(e(
 "=begin :foo\n\n=begin :bar\n\nZaz\n\n",
 "=begin :foo\n\n=begin :bar\n\nZaz\n\n=end :bar\n\n=end :foo\n\n",


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/closeys.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,13 +8,15 @@
   <head1 start_line="7">
     DESCRIPTION
   </head1>
+  <encoding start_line="9">
+    iso-2022-jp
+  </encoding>
   <Para start_line="11">
-    This is a test Pod document in ISO-2202-JP. Its content
-    is some Japanese haiku by famous poets.
+    This is a test Pod document in ISO-2202-JP. Its content is some Japanese
+    haiku by famous poets.
   </Para>
   <head2 start_line="15">
-    MATSUO BASHO (松尾芭蕉 1644 - 1694)
-    :
+    MATSUO BASHO (松尾芭蕉 1644 - 1694) :
   </head2>
   <Para start_line="17">
     古池や蛙とび込む水の音
@@ -26,7 +28,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="23" xml:space="preserve">
-      古池や蛙とび込む水の音
+     
+    古池や蛙とび込む水の音
   </VerbatimFormatted>
   <head2 start_line="27">
     YOSA BUSON (与謝蕪村1716 - 1783)
@@ -41,7 +44,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="35" xml:space="preserve">
-      方八里雨雲よせぬ牡丹かな
+     
+    方八里雨雲よせぬ牡丹かな
   </VerbatimFormatted>
   <head2 start_line="37">
     MASAOKA SHIKI (正岡子規 1867 - 1902)
@@ -56,7 +60,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="45" xml:space="preserve">
-      いちはつの一輪白し春の暮
+     
+    いちはつの一輪白し春の暮
   </VerbatimFormatted>
   <Para start_line="47">
     余命いくばくかある夜短し
@@ -65,7 +70,8 @@
     (yomei / ikubakuka aru / yo mijikashi)
   </Para>
   <VerbatimFormatted start_line="51" xml:space="preserve">
-      余命いくばくかある夜短し
+     
+    余命いくばくかある夜短し
   </VerbatimFormatted>
   <head1 start_line="53">
     AS A LIST
@@ -72,8 +78,7 @@
   </head1>
   <over-text indent="4" start_line="55">
     <item-text start_line="57">
-      MATSUO BASHO (松尾芭蕉 1644 - 1694)
-      :
+      MATSUO BASHO (松尾芭蕉 1644 - 1694) :
     </item-text>
     <Para start_line="59">
       古池や蛙とび込む水の音
@@ -85,7 +90,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="65" xml:space="preserve">
-        古池や蛙とび込む水の音
+       
+      古池や蛙とび込む水の音
     </VerbatimFormatted>
     <item-text start_line="69">
       YOSA BUSON (与謝蕪村1716 - 1783)
@@ -100,7 +106,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="77" xml:space="preserve">
-        方八里雨雲よせぬ牡丹かな
+       
+      方八里雨雲よせぬ牡丹かな
     </VerbatimFormatted>
     <item-text start_line="79">
       MASAOKA SHIKI (正岡子規 1867 - 1902)
@@ -115,7 +122,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="87" xml:space="preserve">
-        いちはつの一輪白し春の暮
+       
+      いちはつの一輪白し春の暮
     </VerbatimFormatted>
     <Para start_line="89">
       余命いくばくかある夜短し
@@ -124,7 +132,8 @@
       (yomei / ikubakuka aru / yo mijikashi)
     </Para>
     <VerbatimFormatted start_line="93" xml:space="preserve">
-        余命いくばくかある夜短し
+       
+      余命いくばくかある夜短し
     </VerbatimFormatted>
   </over-text>
   <Para start_line="97">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jp.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,13 +8,15 @@
   <head1 start_line="7">
     DESCRIPTION
   </head1>
+  <encoding start_line="9">
+    iso-2022-jp
+  </encoding>
   <Para start_line="11">
-    This is a test Pod document in ISO-2202-JP. Its content
-    is some Japanese haiku by famous poets.
+    This is a test Pod document in ISO-2202-JP. Its content is some Japanese
+    haiku by famous poets.
   </Para>
   <head2 start_line="15">
-    MATSUO BASHO (松尾芭蕉 1644 - 1694)
-    :
+    MATSUO BASHO (松尾芭蕉 1644 - 1694) :
   </head2>
   <Para start_line="17">
     古池や蛙とび込む水の音
@@ -26,7 +28,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="23" xml:space="preserve">
-      古池や蛙とび込む水の音
+     
+    古池や蛙とび込む水の音
   </VerbatimFormatted>
   <head2 start_line="27">
     YOSA BUSON (与謝蕪村1716 - 1783)
@@ -41,7 +44,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="35" xml:space="preserve">
-      方八里雨雲よせぬ牡丹かな
+     
+    方八里雨雲よせぬ牡丹かな
   </VerbatimFormatted>
   <head2 start_line="37">
     MASAOKA SHIKI (正岡子規 1867 - 1902)
@@ -56,7 +60,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="45" xml:space="preserve">
-      いちはつの一輪白し春の暮
+     
+    いちはつの一輪白し春の暮
   </VerbatimFormatted>
   <Para start_line="47">
     余命いくばくかある夜短し
@@ -65,7 +70,8 @@
     (yomei / ikubakuka aru / yo mijikashi)
   </Para>
   <VerbatimFormatted start_line="51" xml:space="preserve">
-      余命いくばくかある夜短し
+     
+    余命いくばくかある夜短し
   </VerbatimFormatted>
   <head1 start_line="53">
     AS A LIST
@@ -72,8 +78,7 @@
   </head1>
   <over-text indent="4" start_line="55">
     <item-text start_line="57">
-      MATSUO BASHO (松尾芭蕉 1644 - 1694)
-      :
+      MATSUO BASHO (松尾芭蕉 1644 - 1694) :
     </item-text>
     <Para start_line="59">
       古池や蛙とび込む水の音
@@ -85,7 +90,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="65" xml:space="preserve">
-        古池や蛙とび込む水の音
+       
+      古池や蛙とび込む水の音
     </VerbatimFormatted>
     <item-text start_line="69">
       YOSA BUSON (与謝蕪村1716 - 1783)
@@ -100,7 +106,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="77" xml:space="preserve">
-        方八里雨雲よせぬ牡丹かな
+       
+      方八里雨雲よせぬ牡丹かな
     </VerbatimFormatted>
     <item-text start_line="79">
       MASAOKA SHIKI (正岡子規 1867 - 1902)
@@ -115,7 +122,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="87" xml:space="preserve">
-        いちはつの一輪白し春の暮
+       
+      いちはつの一輪白し春の暮
     </VerbatimFormatted>
     <Para start_line="89">
       余命いくばくかある夜短し
@@ -124,7 +132,8 @@
       (yomei / ikubakuka aru / yo mijikashi)
     </Para>
     <VerbatimFormatted start_line="93" xml:space="preserve">
-        余命いくばくかある夜短し
+       
+      余命いくばくかある夜短し
     </VerbatimFormatted>
   </over-text>
   <Para start_line="97">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpx.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,13 +8,15 @@
   <head1 start_line="6">
     DESCRIPTION
   </head1>
+  <encoding start_line="8">
+    iso-2022-jp
+  </encoding>
   <Para start_line="10">
-    This is a test Pod document in ISO-2202-JP. Its content
-    is some Japanese haiku by famous poets.
+    This is a test Pod document in ISO-2202-JP. Its content is some Japanese
+    haiku by famous poets.
   </Para>
   <head2 start_line="14">
-    MATSUO BASHO (松尾芭蕉 1644 - 1694)
-    :
+    MATSUO BASHO (松尾芭蕉 1644 - 1694) :
   </head2>
   <Para start_line="16">
     古池や蛙とび込む水の音
@@ -26,7 +28,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="22" xml:space="preserve">
-      古池や蛙とび込む水の音
+     
+    古池や蛙とび込む水の音
   </VerbatimFormatted>
   <head2 start_line="26">
     YOSA BUSON (与謝蕪村1716 - 1783)
@@ -41,7 +44,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="34" xml:space="preserve">
-      方八里雨雲よせぬ牡丹かな
+     
+    方八里雨雲よせぬ牡丹かな
   </VerbatimFormatted>
   <head2 start_line="36">
     MASAOKA SHIKI (正岡子規 1867 - 1902)
@@ -56,7 +60,8 @@
     As verbatim:
   </Para>
   <VerbatimFormatted start_line="44" xml:space="preserve">
-      いちはつの一輪白し春の暮
+     
+    いちはつの一輪白し春の暮
   </VerbatimFormatted>
   <Para start_line="46">
     余命いくばくかある夜短し
@@ -65,7 +70,8 @@
     (yomei / ikubakuka aru / yo mijikashi)
   </Para>
   <VerbatimFormatted start_line="50" xml:space="preserve">
-      余命いくばくかある夜短し
+     
+    余命いくばくかある夜短し
   </VerbatimFormatted>
   <head1 start_line="52">
     AS A LIST
@@ -72,8 +78,7 @@
   </head1>
   <over-text indent="4" start_line="54">
     <item-text start_line="56">
-      MATSUO BASHO (松尾芭蕉 1644 - 1694)
-      :
+      MATSUO BASHO (松尾芭蕉 1644 - 1694) :
     </item-text>
     <Para start_line="58">
       古池や蛙とび込む水の音
@@ -85,7 +90,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="64" xml:space="preserve">
-        古池や蛙とび込む水の音
+       
+      古池や蛙とび込む水の音
     </VerbatimFormatted>
     <item-text start_line="68">
       YOSA BUSON (与謝蕪村1716 - 1783)
@@ -100,7 +106,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="76" xml:space="preserve">
-        方八里雨雲よせぬ牡丹かな
+       
+      方八里雨雲よせぬ牡丹かな
     </VerbatimFormatted>
     <item-text start_line="78">
       MASAOKA SHIKI (正岡子規 1867 - 1902)
@@ -115,7 +122,8 @@
       As verbatim:
     </Para>
     <VerbatimFormatted start_line="86" xml:space="preserve">
-        いちはつの一輪白し春の暮
+       
+      いちはつの一輪白し春の暮
     </VerbatimFormatted>
     <Para start_line="88">
       余命いくばくかある夜短し
@@ -124,7 +132,8 @@
       (yomei / ikubakuka aru / yo mijikashi)
     </Para>
     <VerbatimFormatted start_line="92" xml:space="preserve">
-        余命いくばくかある夜短し
+       
+      余命いくばくかある夜短し
     </VerbatimFormatted>
   </over-text>
   <Para start_line="96">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpy.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,9 @@
   <head1 start_line="6">
     DESCRIPTION
   </head1>
+  <encoding start_line="8">
+    iso-2022-jp
+  </encoding>
   <Para start_line="10">
     This is a test Pod document in ISO-2202-JP.
   </Para>


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/2202jpz.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 <Document start_line="2">
+  <encoding start_line="2">
+    iso-8859-7
+  </encoding>
   <head1 start_line="4">
     NAME
   </head1>
@@ -12,31 +15,37 @@
   </head1>
   <Para start_line="10">
     Αρχαίο Πνεύμ'
-    αθάνατον, αγνέ
-    πατέρα του
-    ωραίου, του
-    μεγάλου και
-    τ' αληθινού,
+    αθάνατον,
+    αγνέ πατέρα
+    του ωραίου,
+    του μεγάλου
+    και τ'
+    αληθινού,
   </Para>
   <Para start_line="13">
-    κατέβα, φανερώσου
-    κι άστραψ' εδώ
+    κατέβα,
+    φανερώσου κι
+    άστραψ' εδώ
     πέρα στη δόξα
     της δικής σου
-    γης και τ' ουρανού.
+    γης και τ'
+    ουρανού.
   </Para>
   <Para start_line="16">
     Στο δρόμο και
     στο πάλεμα
-    και στο λιθάρι,
-    στων ευγενών
+    και στο
+    λιθάρι, στων
+    ευγενών
     Αγώνων λάμψε
     την ορμή,
   </Para>
   <Para start_line="19">
-    και με τ' αμάραντο
-    στεφάνωσε κλωνάρι
-    και σιδερένιο
+    και με τ'
+    αμάραντο
+    στεφάνωσε
+    κλωνάρι και
+    σιδερένιο
     πλάσε κι άξιο
     το κορμί.
   </Para>
@@ -49,11 +58,12 @@
     μέγας ναός,
   </Para>
   <Para start_line="25">
-    και τρέχει
-    στο ναό εδώ
+    και τρέχει στο
+    ναό εδώ
     προσκυνητής
     σου. Αρχαίο
-    Πνεύμ' αθάνατο,
-    κάθε λαός.
+    Πνεύμ'
+    αθάνατο, κάθε
+    λαός.
   </Para>
 </Document>


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/8859_7.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,33 +9,40 @@
     DESCRIPTION
   </head1>
   <Para start_line="8">
-    This Pod document is a paragraph in Arabic from "The
-    Five Pillars of Islam" as CP-1256.
+    This Pod document is a paragraph in Arabic from "The Five Pillars of
+    Islam" as CP-1256.
   </Para>
+  <encoding start_line="11">
+    cp1256
+  </encoding>
   <Para start_line="13">
-    وعن عمارة
-    بن حزم قال
-    قال رسول الله
-    صلى الله عليه
-    وسلم:
+    وعن عمارة بن
+    حزم قال قال
+    رسول الله
+    صلى الله
+    عليه وسلم:
   </Para>
   <Para start_line="15">
     اربع فرضهن
     الله عز وجل
     في الاسلام
-    فمن جاء بثلاث
-    لم يغنين عنه
+    فمن جاء
+    بثلاث لم
+    يغنين عنه
   </Para>
   <Para start_line="17">
-    شيئا حتى يأتي
-    بهن جميعا
-    الصلاة والزكاة
+    شيئا حتى
+    يأتي بهن
+    جميعا
+    الصلاة
+    والزكاة
     وصيام رمضان
     وحج
   </Para>
   <Para start_line="19">
     البيت. رواه
-    احمد والطبراني
+    احمد
+    والطبراني
     في الكبير
     وفي اسناده
     ابن لهيعة.
@@ -44,18 +51,22 @@
     And now as a real single paragraph:
   </Para>
   <Para start_line="23">
-    وعن عمارة
-    بن حزم قال
-    قال رسول الله
-    صلى الله عليه
-    وسلم: اربع
-    فرضهن الله
-    عز وجل في الاسلام
-    فمن جاء بثلاث
-    لم يغنين عنه
-    شيئا حتى يأتي
-    بهن جميعا
-    الصلاة والزكاة
+    وعن عمارة بن
+    حزم قال قال
+    رسول الله
+    صلى الله
+    عليه وسلم:
+    اربع فرضهن
+    الله عز وجل
+    في الاسلام
+    فمن جاء
+    بثلاث لم
+    يغنين عنه
+    شيئا حتى
+    يأتي بهن
+    جميعا
+    الصلاة
+    والزكاة
     وصيام رمضان
     وحج البيت.
     رواه احمد
@@ -68,26 +79,27 @@
     And now as a verbatim paragraph:
   </Para>
   <VerbatimFormatted start_line="30" xml:space="preserve">
-      وعن عمارة
-    بن حزم قال
-    قال رسول الله
-    صلى الله عليه
-    وسلم:
-
+      وعن عمارة بن
+    حزم قال قال
+    رسول الله
+    صلى الله
+    عليه وسلم:
       اربع فرضهن
     الله عز وجل
     في الاسلام
-    فمن جاء بثلاث
-    لم يغنين عنه
-
-      شيئا حتى يأتي
-    بهن جميعا
-    الصلاة والزكاة
+    فمن جاء
+    بثلاث لم
+    يغنين عنه
+      شيئا حتى
+    يأتي بهن
+    جميعا
+    الصلاة
+    والزكاة
     وصيام رمضان
     وحج
-
       البيت. رواه
-    احمد والطبراني
+    احمد
+    والطبراني
     في الكبير
     وفي اسناده
     ابن لهيعة.


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/cp1256.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,16 +1,23 @@
 <Document start_line="5">
+  <encoding start_line="5">
+    koi8-r
+  </encoding>
   <head1 start_line="7">
     NAME
   </head1>
   <Para start_line="9">
-    Когда читала
-    ты мучительные
-    строки -- Fet's
-    "When you were reading"
+    Когда
+    читала ты
+    мучительные
+    строки -- Fet's "When you
+    were reading"
   </Para>
   <head1 start_line="11">
     TEXT
   </head1>
+  <encoding start_line="13">
+    Shift-JIS
+  </encoding>
   <Para start_line="15">
     (This is a test Pod pocument in KOI8-R.)
   </Para>
@@ -26,8 +33,7 @@
   <Para errata="1" start_line="-321">
     Hey! 
     <B>
-      The above document had some coding errors, which are explained
-      below:
+      The above document had some coding errors, which are explained below:
     </B>
   </Para>
   <over-text errata="1" indent="4" start_line="-321">
@@ -35,8 +41,7 @@
       Around line 13:
     </item-text>
     <Para start_line="-321">
-      Couldn't do =encoding Shift-JIS: Encoding is already
-      set to koi8-r
+      Couldn't do =encoding Shift-JIS: Encoding is already set to koi8-r
     </Para>
   </over-text>
 </Document>


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_cont.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,16 @@
 <Document start_line="5">
+  <encoding start_line="5">
+    koi8-r
+  </encoding>
   <head1 start_line="7">
     NAME
   </head1>
   <Para start_line="9">
-    Когда читала
-    ты мучительные
-    строки -- Fet's
-    "When you were reading"
+    Когда
+    читала ты
+    мучительные
+    строки -- Fet's "When you
+    were reading"
   </Para>
   <head1 start_line="11">
     TEXT
@@ -15,14 +19,17 @@
     (This is a test Pod pocument in KOI8-R.)
   </Para>
   <Para start_line="15">
-    Когда читала
-    ты мучительные
+    Когда
+    читала ты
+    мучительные
     строки, / Где
-    сердца звучный
-    пыл сиянье
-    льет кругом
-    / И страсти
-    роковой вздымаются
+    сердца
+    звучный пыл
+    сиянье льет
+    кругом / И
+    страсти
+    роковой
+    вздымаются
     потоки,- / Не
     вспомнила
     ль о чем?
@@ -31,26 +38,33 @@
     Я верить не
     хочу! Когда
     в степи, как
-    диво, / В полночной
-    темноте безвременно
+    диво, / В
+    полночной
+    темноте
+    безвременно
     горя, / Вдали
     перед тобой
-    прозрачно
-    и красиво
-    / Вставала
+    прозрачно и
+    красиво /
+    Вставала
     вдругзаря.
   </Para>
   <Para start_line="25">
-    И в эту красоту
+    И в эту
+    красоту
     невольно
-    взор тянуло,
-    / В тот величавый
-    блеск за темный
-    весь предел,-
-    / Ужель ничто
-    тебе в то время
-    не шепнуло:
-    / Там человек
+    взор
+    тянуло, / В
+    тот
+    величавый
+    блеск за
+    темный весь
+    предел,- /
+    Ужель ничто
+    тебе в то
+    время не
+    шепнуло: /
+    Там человек
     сгорел!
   </Para>
   <Para start_line="30">
@@ -60,60 +74,61 @@
     And now, as a verbatim section:
   </Para>
   <VerbatimFormatted start_line="34" xml:space="preserve">
-      Когда читала
-    ты мучительные
+      Когда
+    читала ты
+    мучительные
     строки,
-
       Где сердца
     звучный пыл
     сиянье льет
     кругом
-
       И страсти
-    роковой вздымаются
+    роковой
+    вздымаются
     потоки,-
-
-            Не вспомнила
+	    Не
+    вспомнила
     ль о чем?
-
-            
-
+	    
       Я верить не
     хочу! Когда
     в степи, как
     диво,
-
-      В полночной
-    темноте безвременно
+      В
+    полночной
+    темноте
+    безвременно
     горя,
-
-      Вдали перед
-    тобой прозрачно
-    и красиво
-
-            Вставала
+      Вдали
+    перед тобой
+    прозрачно и
+    красиво
+	    Вставала
     вдругзаря.
   </VerbatimFormatted>
+  <encoding start_line="44">
+    koi8-r
+  </encoding>
   <VerbatimFormatted start_line="46" xml:space="preserve">
-      И в эту красоту
+      И в эту
+    красоту
     невольно
-    взор тянуло,
-
-      В тот величавый
-    блеск за темный
-    весь предел,-
-
-      Ужель ничто
-    тебе в то время
+    взор
+    тянуло,
+      В тот
+    величавый
+    блеск за
+    темный весь
+    предел,-
+      Ужель
+    ничто тебе
+    в то время
     не шепнуло:
-
-           Там человек
+	   Там
+    человек
     сгорел!
-
       
-
-        15 февраля
-    1887
+	15 февраля 1887
   </VerbatimFormatted>
   <Para start_line="53">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/fet_dup.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,40 +3,46 @@
     NAME
   </head1>
   <Para start_line="4">
-    buniya-iso-6 -- test document: a paragraph in Arabic as
-    ISO-8859-6
+    buniya-iso-6 -- test document: a paragraph in Arabic as ISO-8859-6
   </Para>
   <head1 start_line="6">
     DESCRIPTION
   </head1>
   <Para start_line="8">
-    This document is a paragraph in Arabic from "The Five
-    Pillars of Islam" as ISO-8859-6.
+    This document is a paragraph in Arabic from "The Five Pillars of
+    Islam" as ISO-8859-6.
   </Para>
+  <encoding start_line="11">
+    iso-8859-6
+  </encoding>
   <Para start_line="13">
-    وعن عمارة
-    بن حزم قال
-    قال رسول الله
-    صلى الله عليه
-    وسلم:
+    وعن عمارة بن
+    حزم قال قال
+    رسول الله
+    صلى الله
+    عليه وسلم:
   </Para>
   <Para start_line="15">
     اربع فرضهن
     الله عز وجل
     في الاسلام
-    فمن جاء بثلاث
-    لم يغنين عنه
+    فمن جاء
+    بثلاث لم
+    يغنين عنه
   </Para>
   <Para start_line="17">
-    شيئا حتى يأتي
-    بهن جميعا
-    الصلاة والزكاة
+    شيئا حتى
+    يأتي بهن
+    جميعا
+    الصلاة
+    والزكاة
     وصيام رمضان
     وحج
   </Para>
   <Para start_line="19">
     البيت. رواه
-    احمد والطبراني
+    احمد
+    والطبراني
     في الكبير
     وفي اسناده
     ابن لهيعة.
@@ -45,18 +51,22 @@
     And now as a real single paragraph:
   </Para>
   <Para start_line="23">
-    وعن عمارة
-    بن حزم قال
-    قال رسول الله
-    صلى الله عليه
-    وسلم: اربع
-    فرضهن الله
-    عز وجل في الاسلام
-    فمن جاء بثلاث
-    لم يغنين عنه
-    شيئا حتى يأتي
-    بهن جميعا
-    الصلاة والزكاة
+    وعن عمارة بن
+    حزم قال قال
+    رسول الله
+    صلى الله
+    عليه وسلم:
+    اربع فرضهن
+    الله عز وجل
+    في الاسلام
+    فمن جاء
+    بثلاث لم
+    يغنين عنه
+    شيئا حتى
+    يأتي بهن
+    جميعا
+    الصلاة
+    والزكاة
     وصيام رمضان
     وحج البيت.
     رواه احمد
@@ -69,30 +79,30 @@
     And now as a verbatim paragraph:
   </Para>
   <VerbatimFormatted start_line="30" xml:space="preserve">
-      وعن عمارة
-    بن حزم قال
-    قال رسول الله
-    صلى الله عليه
-    وسلم:
-
+      وعن عمارة بن
+    حزم قال قال
+    رسول الله
+    صلى الله
+    عليه وسلم:
       اربع فرضهن
     الله عز وجل
     في الاسلام
-    فمن جاء بثلاث
-    لم يغنين عنه
-
-      شيئا حتى يأتي
-    بهن جميعا
-    الصلاة والزكاة
+    فمن جاء
+    بثلاث لم
+    يغنين عنه
+      شيئا حتى
+    يأتي بهن
+    جميعا
+    الصلاة
+    والزكاة
     وصيام رمضان
     وحج
-
       البيت. رواه
-    احمد والطبراني
+    احمد
+    والطبراني
     في الكبير
     وفي اسناده
-    ابن لهيعة.
-    
+    ابن لهيعة. 
   </VerbatimFormatted>
   <Para start_line="35">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/iso6.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,16 @@
 <Document start_line="2">
+  <encoding start_line="2">
+    koi8-r
+  </encoding>
   <head1 start_line="4">
     NAME
   </head1>
   <Para start_line="6">
-    Когда читала
-    ты мучительные
-    строки -- Fet's
-    "When you were reading"
+    Когда
+    читала ты
+    мучительные
+    строки -- Fet's "When you
+    were reading"
   </Para>
   <head1 start_line="8">
     TEXT
@@ -15,14 +19,17 @@
     (This is a test Pod pocument in KOI8-R.)
   </Para>
   <Para start_line="12">
-    Когда читала
-    ты мучительные
+    Когда
+    читала ты
+    мучительные
     строки, / Где
-    сердца звучный
-    пыл сиянье
-    льет кругом
-    / И страсти
-    роковой вздымаются
+    сердца
+    звучный пыл
+    сиянье льет
+    кругом / И
+    страсти
+    роковой
+    вздымаются
     потоки,- / Не
     вспомнила
     ль о чем?
@@ -31,26 +38,33 @@
     Я верить не
     хочу! Когда
     в степи, как
-    диво, / В полночной
-    темноте безвременно
+    диво, / В
+    полночной
+    темноте
+    безвременно
     горя, / Вдали
     перед тобой
-    прозрачно
-    и красиво
-    / Вставала
+    прозрачно и
+    красиво /
+    Вставала
     вдругзаря.
   </Para>
   <Para start_line="22">
-    И в эту красоту
+    И в эту
+    красоту
     невольно
-    взор тянуло,
-    / В тот величавый
-    блеск за темный
-    весь предел,-
-    / Ужель ничто
-    тебе в то время
-    не шепнуло:
-    / Там человек
+    взор
+    тянуло, / В
+    тот
+    величавый
+    блеск за
+    темный весь
+    предел,- /
+    Ужель ничто
+    тебе в то
+    время не
+    шепнуло: /
+    Там человек
     сгорел!
   </Para>
   <Para start_line="27">
@@ -60,61 +74,57 @@
     And now, as a verbatim section:
   </Para>
   <VerbatimFormatted start_line="31" xml:space="preserve">
-      Когда читала
-    ты мучительные
+      Когда
+    читала ты
+    мучительные
     строки,
-
       Где сердца
     звучный пыл
     сиянье льет
     кругом
-
       И страсти
-    роковой вздымаются
+    роковой
+    вздымаются
     потоки,-
-
-            Не вспомнила
+	    Не
+    вспомнила
     ль о чем?
-
-            
-
+	    
       Я верить не
     хочу! Когда
     в степи, как
     диво,
-
-      В полночной
-    темноте безвременно
+      В
+    полночной
+    темноте
+    безвременно
     горя,
-
-      Вдали перед
-    тобой прозрачно
-    и красиво
-
-            Вставала
+      Вдали
+    перед тобой
+    прозрачно и
+    красиво
+	    Вставала
     вдругзаря.
-
-            
-
-      И в эту красоту
+	    
+      И в эту
+    красоту
     невольно
-    взор тянуло,
-
-      В тот величавый
-    блеск за темный
-    весь предел,-
-
-      Ужель ничто
-    тебе в то время
+    взор
+    тянуло,
+      В тот
+    величавый
+    блеск за
+    темный весь
+    предел,-
+      Ужель
+    ничто тебе
+    в то время
     не шепнуло:
-
-           Там человек
+	   Там
+    человек
     сгорел!
-
       
-
-        15 февраля
-    1887
+	15 февраля 1887
   </VerbatimFormatted>
   <Para start_line="48">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/koi8r.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 <Document start_line="1">
+  <encoding start_line="1">
+    big5
+  </encoding>
   <head1 start_line="3">
     老子道德經 三十八章
     -- Big5 (Chinese) encoding test
@@ -22,28 +25,27 @@
     And as a verbatim section:
   </Para>
   <VerbatimFormatted start_line="20" xml:space="preserve">
-      上德不德,是以有德﹔
-
-      下德不失德,是以無德。
-
-      上德無為而無以為﹔
-
-      下德無為而有以為。
-
-      上仁為之而無以為﹔
-
-      上義為之而有以為。
-
-      上禮為之而莫之應,則攘臂而扔之。
-
+     
+    上德不德,是以有德﹔
+     
+    下德不失德,是以無德。
+     
+    上德無為而無以為﹔
+     
+    下德無為而有以為。
+     
+    上仁為之而無以為﹔
+     
+    上義為之而有以為。
+     
+    上禮為之而莫之應,則攘臂而扔之。
       
-
-      故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。
-
-      前識者,道之華,而愚之始。
-
-      是以大丈夫居其厚,不居其薄﹔居其實,不居其華。
-
+     
+    故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。
+     
+    前識者,道之華,而愚之始。
+     
+    是以大丈夫居其厚,不居其薄﹔居其實,不居其華。
       故去彼取此。
   </VerbatimFormatted>
   <Para start_line="33">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 <Document start_line="1">
+  <encoding start_line="1">
+    big5-eten
+  </encoding>
   <head1 start_line="3">
     老子道德經 三十八章
     -- Big5 (Chinese) encoding test
@@ -22,28 +25,27 @@
     And as a verbatim section:
   </Para>
   <VerbatimFormatted start_line="20" xml:space="preserve">
-      上德不德,是以有德﹔
-
-      下德不失德,是以無德。
-
-      上德無為而無以為﹔
-
-      下德無為而有以為。
-
-      上仁為之而無以為﹔
-
-      上義為之而有以為。
-
-      上禮為之而莫之應,則攘臂而扔之。
-
+     
+    上德不德,是以有德﹔
+     
+    下德不失德,是以無德。
+     
+    上德無為而無以為﹔
+     
+    下德無為而有以為。
+     
+    上仁為之而無以為﹔
+     
+    上義為之而有以為。
+     
+    上禮為之而莫之應,則攘臂而扔之。
       
-
-      故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。
-
-      前識者,道之華,而愚之始。
-
-      是以大丈夫居其厚,不居其薄﹔居其實,不居其華。
-
+     
+    故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。
+     
+    前識者,道之華,而愚之始。
+     
+    是以大丈夫居其厚,不居其薄﹔居其實,不居其華。
       故去彼取此。
   </VerbatimFormatted>
   <Para start_line="33">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38b.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 <Document start_line="2">
+  <encoding start_line="2">
+    big5
+  </encoding>
   <head1 start_line="4">
     NAME
   </head1>
@@ -10,8 +13,8 @@
     DESCRIPTION
   </head1>
   <Para start_line="10">
-    This is a test Pod document in the Big5 encoding. Its content
-    is the 38th canto from the 
+    This is a test Pod document in the Big5 encoding. Its content is the 38th
+    canto from the 
     <I>
       Dao De Jing
     </I>
@@ -39,28 +42,27 @@
     And as a verbatim section:
   </Para>
   <VerbatimFormatted start_line="30" xml:space="preserve">
-      上德不德,是以有德﹔
-
-       下德不失德,是以無德。
-
-      上德無為而無以為﹔
-
-       下德無為而有以為。
-
-      上仁為之而無以為﹔
-
-       上義為之而有以為。
-
-      上禮為之而莫之應,則攘臂而扔之。
-
+     
+    上德不德,是以有德﹔
       
-
-      故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。
-
-      前識者,道之華,而愚之始。
-
-      是以大丈夫居其厚,不居其薄﹔居其實,不居其華。
-
+    下德不失德,是以無德。
+     
+    上德無為而無以為﹔
+      
+    下德無為而有以為。
+     
+    上仁為之而無以為﹔
+      
+    上義為之而有以為。
+     
+    上禮為之而莫之應,則攘臂而扔之。
+      
+     
+    故失道而后德,失德而后仁,失仁而后義,失義而后禮。夫禮者,忠信之薄,而亂之首。
+     
+    前識者,道之華,而愚之始。
+     
+    是以大丈夫居其厚,不居其薄﹔居其實,不居其華。
       故去彼取此。
   </VerbatimFormatted>
   <Para start_line="43">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/laozi38p.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 <Document start_line="2">
+  <encoding start_line="2">
+    iso-8859-1
+  </encoding>
   <head1 start_line="4">
     NAME
   </head1>
@@ -9,8 +12,8 @@
     DESCRIPTION
   </head1>
   <Para start_line="10">
-    This is a test Pod document in Latin-1. Its content is the
-    last two paragraphs of Baudelaire's 
+    This is a test Pod document in Latin-1. Its content is the last two
+    paragraphs of Baudelaire's 
     <I>
       Le Joujou du pauvre
     </I>
@@ -17,20 +20,17 @@
     .
   </Para>
   <Para start_line="13">
-    A travers ces barreaux symboliques séparant deux mondes,
-    la grande route et le château, l'enfant pauvre
-    montrait à l'enfant riche son propre joujou, que
-    celui-ci examinait avidement comme un objet rare et inconnu.
-    Or, ce joujou, que le petit souillon agaçait, agitait
-    et secouait dans une boîte grillée, c'était
-    un rat vivant
-     
-    ! Les parents, par économie sans doute, avaient tiré
-    le joujou de la vie elle-même.
+    A travers ces barreaux symboliques séparant deux mondes, la grande
+    route et le château, l'enfant pauvre montrait à
+    l'enfant riche son propre joujou, que celui-ci examinait avidement
+    comme un objet rare et inconnu. Or, ce joujou, que le petit souillon
+    agaçait, agitait et secouait dans une boîte grillée,
+    c'était un rat vivant ! Les parents, par économie
+    sans doute, avaient tiré le joujou de la vie elle-même.
   </Para>
   <Para start_line="20">
-    Et les deux enfants se riaient l'un à l'autre
-    fraternellement, avec des dents d'une 
+    Et les deux enfants se riaient l'un à l'autre fraternellement,
+    avec des dents d'une 
     <I>
       égale
     </I>
@@ -40,28 +40,20 @@
     As Verbatim
   </head2>
   <VerbatimFormatted start_line="25" xml:space="preserve">
-     A travers ces barreaux symboliques séparant deux mondes,
-    la grande route
-
-     et le château, l'enfant pauvre montrait à
-    l'enfant riche son propre
-
-     joujou, que celui-ci examinait avidement comme un objet
-    rare et inconnu.
-
-     Or, ce joujou, que le petit souillon agaçait, agitait
-    et secouait dans
-
-     une boîte grillée, c'était un rat vivant !
+     A travers ces barreaux symboliques séparant deux mondes, la grande
+    route
+     et le château, l'enfant pauvre montrait à l'enfant
+    riche son propre
+     joujou, que celui-ci examinait avidement comme un objet rare et
+    inconnu.
+     Or, ce joujou, que le petit souillon agaçait, agitait et secouait
+    dans
+     une boîte grillée, c'était un rat vivant ! 
     Les parents, par économie
-
      sans doute, avaient tiré le joujou de la vie elle-même. 
-
     
-
      Et les deux enfants se riaient l'un à l'autre
     fraternellement, avec des
-
      dents d'une égale blancheur.
   </VerbatimFormatted>
   <Para start_line="35">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1fr.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,8 +9,8 @@
     DESCRIPTION
   </head1>
   <Para start_line="8">
-    This is a test Pod document in Latin-1. Its content is the
-    last two paragraphs of Baudelaire's 
+    This is a test Pod document in Latin-1. Its content is the last two
+    paragraphs of Baudelaire's 
     <I>
       Le Joujou du pauvre
     </I>
@@ -17,20 +17,17 @@
     .
   </Para>
   <Para start_line="11">
-    A travers ces barreaux symboliques séparant deux mondes,
-    la grande route et le château, l'enfant pauvre
-    montrait à l'enfant riche son propre joujou, que
-    celui-ci examinait avidement comme un objet rare et inconnu.
-    Or, ce joujou, que le petit souillon agaçait, agitait
-    et secouait dans une boîte grillée, c'était
-    un rat vivant
-     
-    ! Les parents, par économie sans doute, avaient tiré
-    le joujou de la vie elle-même.
+    A travers ces barreaux symboliques séparant deux mondes, la grande
+    route et le château, l'enfant pauvre montrait à
+    l'enfant riche son propre joujou, que celui-ci examinait avidement
+    comme un objet rare et inconnu. Or, ce joujou, que le petit souillon
+    agaçait, agitait et secouait dans une boîte grillée,
+    c'était un rat vivant ! Les parents, par économie
+    sans doute, avaient tiré le joujou de la vie elle-même.
   </Para>
   <Para start_line="18">
-    Et les deux enfants se riaient l'un à l'autre
-    fraternellement, avec des dents d'une 
+    Et les deux enfants se riaient l'un à l'autre fraternellement,
+    avec des dents d'une 
     <I>
       égale
     </I>
@@ -40,31 +37,41 @@
     As Verbatim
   </head2>
   <VerbatimFormatted start_line="23" xml:space="preserve">
-     A travers ces barreaux symboliques séparant deux mondes,
-    la grande route
-
-     et le château, l'enfant pauvre montrait à
-    l'enfant riche son propre
-
-     joujou, que celui-ci examinait avidement comme un objet
-    rare et inconnu.
-
-     Or, ce joujou, que le petit souillon agaçait, agitait
-    et secouait dans
-
-     une boîte grillée, c'était un rat vivant !
+     A travers ces barreaux symboliques séparant deux mondes, la grande
+    route
+     et le château, l'enfant pauvre montrait à l'enfant
+    riche son propre
+     joujou, que celui-ci examinait avidement comme un objet rare et
+    inconnu.
+     Or, ce joujou, que le petit souillon agaçait, agitait et secouait
+    dans
+     une boîte grillée, c'était un rat vivant ! 
     Les parents, par économie
-
      sans doute, avaient tiré le joujou de la vie elle-même. 
-
     
-
      Et les deux enfants se riaient l'un à l'autre
     fraternellement, avec des
-
      dents d'une égale blancheur.
   </VerbatimFormatted>
   <Para start_line="33">
     [end]
   </Para>
+  <head1 errata="1" start_line="-321">
+    POD ERRORS
+  </head1>
+  <Para errata="1" start_line="-321">
+    Hey! 
+    <B>
+      The above document had some coding errors, which are explained below:
+    </B>
+  </Para>
+  <over-text errata="1" indent="4" start_line="-321">
+    <item-text start_line="-321">
+      Around line 11:
+    </item-text>
+    <Para start_line="-321">
+      Non-ASCII character seen before =encoding in 'séparant'.
+      Assuming ISO8859-1
+    </Para>
+  </over-text>
 </Document>


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/lat1frim.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/nonesuch.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,13 @@
 <Document start_line="2">
+  <encoding start_line="2">
+    cp1251
+  </encoding>
   <head1 start_line="4">
     NAME
   </head1>
   <Para start_line="6">
-    Зимняя ночь
-    -- Pasternak Russian test file (cp1251)
+    Зимняя ночь --
+    Pasternak Russian test file (cp1251)
   </Para>
   <head1 start_line="8">
     TEXT
@@ -16,76 +19,100 @@
     Зимняя ночь.
   </Para>
   <Para start_line="14">
-    Мело, мело
-    по всей земле
-    / Во все пределы.
-    / Свеча горела
-    на столе, / Свеча
+    Мело, мело по
+    всей земле /
+    Во все
+    пределы. /
+    Свеча
+    горела на
+    столе, /
+    Свеча
     горела.
   </Para>
   <Para start_line="19">
     Как летом
-    роем мошкора
-    / Летит на пламя,
-    / Слетались
+    роем
+    мошкора /
+    Летит на
+    пламя, /
+    Слетались
     хлопья со
-    двора / К оконной
+    двора / К
+    оконной
     раме.
   </Para>
   <Para start_line="24">
-    Метель лепила
-    на столе / Кружки
-    и стрелы. / Свеча
+    Метель
+    лепила на
+    столе /
+    Кружки и
+    стрелы. /
+    Свеча
     горела на
-    столе, / Свеча
+    столе, /
+    Свеча
     горела.
   </Para>
   <Para start_line="29">
-    На озаренный
-    потолок / Ложились
-    тени, / Скрещенья
-    рук, скркщенья
+    На
+    озаренный
+    потолок /
+    Ложились
+    тени, /
+    Скрещенья
+    рук,
+    скркщенья
     ног, / Судьбы
     скрещенья.
   </Para>
   <Para start_line="34">
     И падали два
-    башмачка
-    / Со стуком
-    на пол, / И воск
+    башмачка /
+    Со стуком
+    на пол, / И
+    воск
     слезами с
     ночника / На
-    платье капал.
+    платье
+    капал.
   </Para>
   <Para start_line="39">
-    И все терялось
-    в снежной
+    И все
+    терялось в
+    снежной
     мгле / Седой
-    и белой. / Свеча
+    и белой. /
+    Свеча
     горела на
-    столе, / Свеча
+    столе, /
+    Свеча
     горела.
   </Para>
   <Para start_line="44">
     На свечку
-    дуло из угла,
-    / И жар соблазна
-    / Вздымал, как
-    ангел, два
-    крыла / Крестообразно.
+    дуло из
+    угла, / И жар
+    соблазна /
+    Вздымал,
+    как ангел,
+    два крыла /
+    Крестообразно.
     /
   </Para>
   <Para start_line="49">
     Мело весь
-    месяц в феврале,
-    / И то и дело
-    / Свеча горела
-    на столе, / Свеча
+    месяц в
+    феврале, / И
+    то и дело /
+    Свеча
+    горела на
+    столе, /
+    Свеча
     горела.
   </Para>
   <Para start_line="54">
-    -- Борис Пастернак,
-    1946
+    -- Борис
+    Пастернак, 1946
   </Para>
   <head2 start_line="57">
     As Preformatted
@@ -95,115 +122,98 @@
   </Para>
   <VerbatimFormatted start_line="61" xml:space="preserve">
       Зимняя ночь.
-
     
-
       Мело, мело
-    по всей земле
-
-      Во все пределы.
-
-      Свеча горела
-    на столе,
-
-      Свеча горела.
-
+    по всей
+    земле
+      Во все
+    пределы.
+      Свеча
+    горела на
+    столе,
+      Свеча
+    горела.
     
-
       Как летом
-    роем мошкора
-
-      Летит на пламя,
-
+    роем
+    мошкора
+      Летит на
+    пламя,
       Слетались
     хлопья со
     двора
-
       К оконной
     раме.
-
     
-
-      Метель лепила
-    на столе
-
-      Кружки и стрелы.
-
-      Свеча горела
-    на столе,
-
-      Свеча горела.
-
+      Метель
+    лепила на
+    столе
+      Кружки и
+    стрелы.
+      Свеча
+    горела на
+    столе,
+      Свеча
+    горела.
     
-
-      На озаренный
+      На
+    озаренный
     потолок
-
       Ложились
     тени,
-
       Скрещенья
-    рук, скркщенья
+    рук,
+    скркщенья
     ног,
-
-      Судьбы скрещенья.
-
+      Судьбы
+    скрещенья.
     
-
-      И падали два
+      И падали
+    два
     башмачка
-
       Со стуком
     на пол,
-
-      И воск слезами
-    с ночника
-
+      И воск
+    слезами с
+    ночника
       На платье
     капал.
-
     
-
-      И все терялось
-    в снежной
+      И все
+    терялось в
+    снежной
     мгле
-
-      Седой и белой.
-
-      Свеча горела
-    на столе,
-
-      Свеча горела.
-
+      Седой и
+    белой.
+      Свеча
+    горела на
+    столе,
+      Свеча
+    горела.
     
-
       На свечку
-    дуло из угла,
-
-      И жар соблазна
-
-      Вздымал, как
-    ангел, два
-    крыла
-
-      Крестообразно.
-
+    дуло из
+    угла,
+      И жар
+    соблазна
+      Вздымал,
+    как ангел,
+    два крыла
+     
+    Крестообразно.
     
-
       Мело весь
-    месяц в феврале,
-
+    месяц в
+    феврале,
       И то и дело
-
-      Свеча горела
-    на столе,
-
-      Свеча горела.
-
+      Свеча
+    горела на
+    столе,
+      Свеча
+    горела.
     
-
-      -- Борис Пастернак,
-    1946
+      -- Борис
+    Пастернак, 1946
   </VerbatimFormatted>
   <Para start_line="105">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/pasternak_cp1251.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,13 +12,12 @@
     The quick brown fox jumps over the lazy dog.
   </Para>
   <Para start_line="10">
-    Military Intelligence Yukon rhosts penrep Weekly World News
-    DSD Time Cohiba finks rail gun DF ~ Corporate Security NATOA
-    CCS DEVGRP
+    Military Intelligence Yukon rhosts penrep Weekly World News DSD Time Cohiba
+    finks rail gun DF ~ Corporate Security NATOA CCS DEVGRP
   </Para>
   <Para start_line="13">
-    CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex
-    garbage KGB ^? 737 1080H 1080H Satellite imagery smuggle
+    CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex garbage KGB
+    ^? 737 1080H 1080H Satellite imagery smuggle
   </Para>
   <Para start_line="16">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 <Document start_line="2">
+  <encoding start_line="2">
+    ascii
+  </encoding>
   <head1 start_line="4">
     NAME
   </head1>
@@ -12,13 +15,12 @@
     The quick brown fox jumps over the lazy dog.
   </Para>
   <Para start_line="12">
-    Military Intelligence Yukon rhosts penrep Weekly World News
-    DSD Time Cohiba finks rail gun DF ~ Corporate Security NATOA
-    CCS DEVGRP
+    Military Intelligence Yukon rhosts penrep Weekly World News DSD Time Cohiba
+    finks rail gun DF ~ Corporate Security NATOA CCS DEVGRP
   </Para>
   <Para start_line="15">
-    CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex
-    garbage KGB ^? 737 1080H 1080H Satellite imagery smuggle
+    CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex garbage KGB
+    ^? 737 1080H 1080H Satellite imagery smuggle
   </Para>
   <Para start_line="18">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_explicit.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,12 @@
 <Document start_line="4">
+  <encoding start_line="4">
+    iso-8859-1
+  </encoding>
   <head1 start_line="6">
     NAME
   </head1>
   <Para start_line="8">
-    simple_text_document -- an explicitly Latin-1 (ASCII subset)
-    test document
+    simple_text_document -- an explicitly Latin-1 (ASCII subset) test document
   </Para>
   <head1 start_line="10">
     TEXT
@@ -13,13 +15,12 @@
     The quick brown fox jumps over the lazy dog.
   </Para>
   <Para start_line="14">
-    Military Intelligence Yukon rhosts penrep Weekly World News
-    DSD Time Cohiba finks rail gun DF ~ Corporate Security NATOA
-    CCS DEVGRP
+    Military Intelligence Yukon rhosts penrep Weekly World News DSD Time Cohiba
+    finks rail gun DF ~ Corporate Security NATOA CCS DEVGRP
   </Para>
   <Para start_line="17">
-    CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex
-    garbage KGB ^? 737 1080H 1080H Satellite imagery smuggle
+    CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex garbage KGB
+    ^? 737 1080H 1080H Satellite imagery smuggle
   </Para>
   <Para start_line="20">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_latin1.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,12 @@
 <Document start_line="4">
+  <encoding start_line="4">
+    utf8
+  </encoding>
   <head1 start_line="6">
     NAME
   </head1>
   <Para start_line="8">
-    simple_text_document -- an explicitly UTF8 (ASCII subset)
-    test document
+    simple_text_document -- an explicitly UTF8 (ASCII subset) test document
   </Para>
   <head1 start_line="10">
     TEXT
@@ -13,13 +15,12 @@
     The quick brown fox jumps over the lazy dog.
   </Para>
   <Para start_line="14">
-    Military Intelligence Yukon rhosts penrep Weekly World News
-    DSD Time Cohiba finks rail gun DF ~ Corporate Security NATOA
-    CCS DEVGRP
+    Military Intelligence Yukon rhosts penrep Weekly World News DSD Time Cohiba
+    finks rail gun DF ~ Corporate Security NATOA CCS DEVGRP
   </Para>
   <Para start_line="17">
-    CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex
-    garbage KGB ^? 737 1080H 1080H Satellite imagery smuggle
+    CONUS Khaddafi NATIA data havens Spetznaz afsatcom BOP Semtex garbage KGB
+    ^? 737 1080H 1080H Satellite imagery smuggle
   </Para>
   <Para start_line="20">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/plain_utf8.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,34 +1,34 @@
 <Document start_line="2">
+  <encoding start_line="2">
+    utf8
+  </encoding>
   <head1 start_line="4">
     NAME
   </head1>
   <Para start_line="6">
-    WŚRÓD NOCNEJ CISZY -- explicitly utf8 test document
-    in Polish
+    WŚRÓD NOCNEJ CISZY -- explicitly utf8 test document in Polish
   </Para>
   <head1 start_line="8">
     DESCRIPTION
   </head1>
   <Para start_line="10">
-    This is a test Pod document in UTF8. Its content is the
-    lyrics to the Polish Christmas carol "Wśród
-    nocnej ciszy".
+    This is a test Pod document in UTF8. Its content is the lyrics to the
+    Polish Christmas carol "Wśród nocnej ciszy".
   </Para>
   <Para start_line="13">
-    Wśród nocnej ciszy głos się rozchodzi:
-    / Wstańcie, pasterze, Bóg się nam rodzi!
-    / Czym prędzej się wybierajcie, / Do Betlejem
-    pospieszajcie / Przywitać Pana.
+    Wśród nocnej ciszy głos się rozchodzi: / Wstańcie,
+    pasterze, Bóg się nam rodzi! / Czym prędzej się
+    wybierajcie, / Do Betlejem pospieszajcie / Przywitać Pana.
   </Para>
   <Para start_line="19">
-    Poszli, znaleźli Dzieciątko w żłobie
-    / Z wszystkimi znaki danymi sobie. / Jako Bogu cześć
-    Mu dali, / A witając zawołali / Z wielkiej radości:
+    Poszli, znaleźli Dzieciątko w żłobie / Z wszystkimi
+    znaki danymi sobie. / Jako Bogu cześć Mu dali, / A
+    witając zawołali / Z wielkiej radości:
   </Para>
   <Para start_line="25">
-    Ach, witaj Zbawco z dawno żądany, / Wiele tysięcy
-    lat wyglądany / Na Ciebie króle, prorocy / Czekali,
-    a Tyś tej nocy / Nam się objawił.
+    Ach, witaj Zbawco z dawno żądany, / Wiele tysięcy lat
+    wyglądany / Na Ciebie króle, prorocy / Czekali, a Tyś
+    tej nocy / Nam się objawił.
   </Para>
   <Para start_line="31">
     I my czekamy na Ciebie, Pana, / A skoro przyjdziesz na głos
@@ -43,49 +43,27 @@
   </Para>
   <VerbatimFormatted start_line="41" xml:space="preserve">
       Wśród nocnej ciszy głos się rozchodzi:
-
       Wstańcie, pasterze, Bóg się nam rodzi!
-
       Czym prędzej się wybierajcie,
-
       Do Betlejem pospieszajcie
-
       Przywitać Pana.
-
     
-
       Poszli, znaleźli Dzieciątko w żłobie
-
       Z wszystkimi znaki danymi sobie.
-
       Jako Bogu cześć Mu dali,
-
       A witając zawołali
-
       Z wielkiej radości:
-
     
-
       Ach, witaj Zbawco z dawno żądany,
-
       Wiele tysięcy lat wyglądany
-
       Na Ciebie króle, prorocy
-
       Czekali, a Tyś tej nocy
-
       Nam się objawił.
-
     
-
       I my czekamy na Ciebie, Pana,
-
       A skoro przyjdziesz na głos kapłana,
-
       Padniemy na twarz przed Tobą,
-
       Wierząc, żeś jest pod osłoną
-
       Chleba i wina.
   </VerbatimFormatted>
   <Para start_line="65">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/polish_utf8.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
 <Document start_line="2">
+  <encoding start_line="2">
+    shiftjis
+  </encoding>
   <head1 start_line="4">
     NAME
   </head1>
@@ -9,8 +12,8 @@
     DESCRIPTION
   </head1>
   <Para start_line="10">
-    This is a test Pod document in Shift-JIS. Its content is
-    some uninteresting product specs I found on the Net.
+    This is a test Pod document in Shift-JIS. Its content is some uninteresting
+    product specs I found on the Net.
   </Para>
   <Para start_line="13">
     It's an textitem list:
@@ -26,7 +29,8 @@
       光源
     </item-text>
     <Para start_line="23">
-      GZ4 ダイクロイックミラーランプ
+      GZ4
+      ダイクロイックミラーランプ
       12V 10W×1
     </Para>
     <item-text start_line="25">
@@ -45,7 +49,8 @@
       材質
     </item-text>
     <Para start_line="35">
-      樹脂 アルミ、アルマイト仕上
+      樹脂
+      アルミ、アルマイト仕上
       ガラス
     </Para>
     <item-text start_line="37">


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/s2763_sjis.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.xml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,9 +8,13 @@
   <head1 start_line="6">
     DESCRIPTION
   </head1>
+  <encoding start_line="8">
+    iso-8859-11
+  </encoding>
   <Para start_line="10">
-    This is a test Pod document in ISO-8859-11. Its content
-    is a poem to (by?) Khun Thong Dang (ภาพมิ่งมงคล),
+    This is a test Pod document in ISO-8859-11. Its content is a poem to (by?)
+    Khun Thong Dang
+    (ภาพมิ่งมงคล),
     the pet of Bhumibol, the King of Thailand.
   </Para>
   <Para start_line="14">
@@ -17,29 +21,45 @@
     As four flowed paragraphs:
   </Para>
   <Para start_line="16">
-    ๏ พระเมตตาแจ่มจับใจไผทสยาม
-    / พระทัยงาม...มองภาพถ่ายมิถ่ายถอน
-    / เกล้าฯ น้อมเกล้าฯ
+    ๏
+    พระเมตตาแจ่มจับใจไผทสยาม
+    /
+    พระทัยงาม...มองภาพถ่ายมิถ่ายถอน
+    / เกล้าฯ
+    น้อมเกล้าฯ
     พจน์เรียงเผดียงกลอน
-    / สื่อสะท้อนพระการุณย์อุ่นดวงมาน๚
+    /
+    สื่อสะท้อนพระการุณย์อุ่นดวงมาน๚
   </Para>
   <Para start_line="21">
-    ๏ ทุกภาพมิ่งมงคลยลแล้วยิ้ม
-    / เอื้ออกอิ่มล้ำค่ามหาศาล
-    / อยากเป็นคุณทองแดงนักจักอยู่งาน
-    / เฝ้าคลอเคลียบทมาลย์พระภูมิพล๚
+    ๏
+    ทุกภาพมิ่งมงคลยลแล้วยิ้ม
+    /
+    เอื้ออกอิ่มล้ำค่ามหาศาล
+    /
+    อยากเป็นคุณทองแดงนักจักอยู่งาน
+    /
+    เฝ้าคลอเคลียบทมาลย์พระภูมิพล๚
   </Para>
   <Para start_line="26">
-    ๏ พระหัตถ์บุญทรงเบิกหล้าพลิกหล้าเขียว
-    / พระโอษฐ์เรียวตรัสห้ามสงครามฉล
-    / พระทัย ธ โอภาสผ่องถ่องสกล
-    / พระยุคลบาทย่างสืบสร้างไทย๚
+    ๏
+    พระหัตถ์บุญทรงเบิกหล้าพลิกหล้าเขียว
+    /
+    พระโอษฐ์เรียวตรัสห้ามสงครามฉล
+    / พระทัย ธ
+    โอภาสผ่องถ่องสกล
+    /
+    พระยุคลบาทย่างสืบสร้างไทย๚
   </Para>
   <Para start_line="31">
-    ๏ น้อมเกล้าเทิดองค์ราชันศรันย์ศรี
-    / บารมีหมื่นคู่คงอสงไขย
-    / กรรดิราชกฤษฎาก้องหล้าไกล
-    / ปลื้มประทับถ้วนทุกใจแห่งไท้เอย๚ะ๛
+    ๏
+    น้อมเกล้าเทิดองค์ราชันศรันย์ศรี
+    /
+    บารมีหมื่นคู่คงอสงไขย
+    /
+    กรรดิราชกฤษฎาก้องหล้าไกล
+    /
+    ปลื้มประทับถ้วนทุกใจแห่งไท้เอย๚ะ๛
   </Para>
   <head2 start_line="36">
     Verbatim Section
@@ -48,44 +68,42 @@
     And as a verbatim section:
   </Para>
   <VerbatimFormatted start_line="40" xml:space="preserve">
-        ๏ พระเมตตาแจ่มจับใจไผทสยาม
-
-        พระทัยงาม...มองภาพถ่ายมิถ่ายถอน
-
-        เกล้าฯ น้อมเกล้าฯ
+        ๏
+    พระเมตตาแจ่มจับใจไผทสยาม
+       
+    พระทัยงาม...มองภาพถ่ายมิถ่ายถอน
+	เกล้าฯ
+    น้อมเกล้าฯ
     พจน์เรียงเผดียงกลอน
-
-        สื่อสะท้อนพระการุณย์อุ่นดวงมาน๚
-
+       
+    สื่อสะท้อนพระการุณย์อุ่นดวงมาน๚
     
-
-        ๏ ทุกภาพมิ่งมงคลยลแล้วยิ้ม
-
-        เอื้ออกอิ่มล้ำค่ามหาศาล
-
-        อยากเป็นคุณทองแดงนักจักอยู่งาน
-
-        เฝ้าคลอเคลียบทมาลย์พระภูมิพล๚
-
+	๏
+    ทุกภาพมิ่งมงคลยลแล้วยิ้ม
+       
+    เอื้ออกอิ่มล้ำค่ามหาศาล
+       
+    อยากเป็นคุณทองแดงนักจักอยู่งาน
+       
+    เฝ้าคลอเคลียบทมาลย์พระภูมิพล๚
     
-
-        ๏ พระหัตถ์บุญทรงเบิกหล้าพลิกหล้าเขียว
-
-        พระโอษฐ์เรียวตรัสห้ามสงครามฉล
-
-        พระทัย ธ โอภาสผ่องถ่องสกล
-
-        พระยุคลบาทย่างสืบสร้างไทย๚
-
+	๏
+    พระหัตถ์บุญทรงเบิกหล้าพลิกหล้าเขียว
+       
+    พระโอษฐ์เรียวตรัสห้ามสงครามฉล
+	พระทัย ธ
+    โอภาสผ่องถ่องสกล
+       
+    พระยุคลบาทย่างสืบสร้างไทย๚
     
-
-        ๏ น้อมเกล้าเทิดองค์ราชันศรันย์ศรี
-
-        บารมีหมื่นคู่คงอสงไขย
-
-        กรรดิราชกฤษฎาก้องหล้าไกล
-
-        ปลื้มประทับถ้วนทุกใจแห่งไท้เอย๚ะ๛
+	๏
+    น้อมเกล้าเทิดองค์ราชันศรันย์ศรี
+       
+    บารมีหมื่นคู่คงอสงไขย
+       
+    กรรดิราชกฤษฎาก้องหล้าไกล
+       
+    ปลื้มประทับถ้วนทุกใจแห่งไท้เอย๚ะ๛
   </VerbatimFormatted>
   <Para start_line="60">
     [end]


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus/thai_iso11.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/corpus.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -168,6 +168,7 @@
     skip $skippy, 0;
   } else {
     print "#  $outfilename and $xml don't match!\n";
+    print STDERR `diff -u $xml $outfilename`;
     ok 0;
   }
 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/README
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/fiqhakbar_iso6.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_implicit_utf8.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_implicit_utf8.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_implicit_utf8.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_implicit_utf8.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16be_bom.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16be_bom.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16be_bom.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16be_bom.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16le_bom.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16le_bom.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16le_bom.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf16le_bom.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.xml
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/corpus2/polish_utf8_bom2.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/encod01.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/encod01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/encod01.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/encod01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/encod02.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/encod02.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/encod02.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/encod02.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/encod03.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/encod03.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/encod03.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/encod03.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/end_over.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/end_over.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/end_over.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/end_over.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/fcodes.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/fcodes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/fcodes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/fcodes.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/fcodes_e.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/fcodes_e.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/fcodes_e.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/fcodes_e.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/fcodes_l.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/fcodes_l.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/fcodes_l.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 use strict;
 use Test;
-BEGIN { plan tests => 99 };
+BEGIN { plan tests => 101 };
 
 #use Pod::Simple::Debug (10);
 
@@ -28,29 +28,37 @@
 print "# Simple/moderate L<stuff> tests...\n";
 
 ok($x->_out(qq{=pod\n\nL<Net::Ping>\n}),
- '<Document><Para><L content-implicit="yes" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
 );
 
 ok($x->_out(qq{=pod\n\nL<crontab(5)>\n}),
- '<Document><Para><L content-implicit="yes" to="crontab(5)" type="man">crontab(5)</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="crontab(5)" to="crontab(5)" type="man">crontab(5)</L></Para></Document>'
 );
 
+ok($x->_out(qq{=pod\n\nL<login.conf(5)>\n}),
+ '<Document><Para><L content-implicit="yes" raw="login.conf(5)" to="login.conf(5)" type="man">login.conf(5)</L></Para></Document>'
+);
+
+ok($x->_out(qq{=pod\n\nL<foo_bar(5)>\n}),
+ '<Document><Para><L content-implicit="yes" raw="foo_bar(5)" to="foo_bar(5)" type="man">foo_bar(5)</L></Para></Document>'
+);
+
 ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-pong>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-pong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-pong">\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping/"Ping-pong"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL</"Object Methods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/"Object Methods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL</Object Methods>\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/Object Methods" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<"Object Methods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw=""Object Methods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 
 
@@ -58,23 +66,23 @@
 print "#  Ents in the middle...\n";
 
 ok($x->_out(qq{=pod\n\nL<Net::Ping>\n}),
- '<Document><Para><L content-implicit="yes" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-E<112>ong>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-E<112>ong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-E<112>ong">\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping/"Ping-E<112>ong"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL</"Object E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/"Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL</Object E<77>ethods>\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/Object E<77>ethods" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<"Object E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw=""Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 
 
@@ -82,23 +90,23 @@
 print "#  Ents in the middle and at the start...\n";
 
 ok($x->_out(qq{=pod\n\nL<E<78>et::Ping>\n}),
- '<Document><Para><L content-implicit="yes" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<E<78>et::Ping/Ping-E<112>ong>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/Ping-E<112>ong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<E<78>et::Ping/"Ping-E<112>ong">\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/"Ping-E<112>ong"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL</"E<79>bject E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/"E<79>bject E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL</E<79>bject E<77>ethods>\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/E<79>bject E<77>ethods" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<"E<79>bject E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw=""E<79>bject E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 
 
@@ -105,23 +113,23 @@
 print "#  Ents in the middle and at the start and at the end...\n";
 
 ok($x->_out(qq{=pod\n\nL<E<78>et::PinE<103>>\n}),
- '<Document><Para><L content-implicit="yes" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/Ping-E<112>onE<103>>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>/Ping-E<112>onE<103>" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/"Ping-E<112>onE<103>">\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>/"Ping-E<112>onE<103>"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL</"E<79>bject E<77>ethodE<115>">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/"E<79>bject E<77>ethodE<115>"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL</E<79>bject E<77>ethodE<115>>\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/E<79>bject E<77>ethodE<115>" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<"E<79>bject E<77>ethodE<115>">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw=""E<79>bject E<77>ethodE<115>"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 
 
@@ -131,23 +139,23 @@
 print "#  Ents in the middle...\n";
 
 ok($x->_out(qq{=pod\n\nL<Net::Ping>\n}),
- '<Document><Para><L content-implicit="yes" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-E<112>ong>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-E<112>ong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-E<112>ong">\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping/"Ping-E<112>ong"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL</"Object E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/"Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL</Object E<77>ethods>\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/Object E<77>ethods" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<"Object E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw=""Object E<77>ethods"" section="Object Methods" type="pod">"Object Methods"</L></Para></Document>'
 );
 
 
@@ -158,23 +166,23 @@
 
 
 ok($x->_out(qq{=pod\n\nL<Net::Ping>\n}),
- '<Document><Para><L content-implicit="yes" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Net::Ping/Ping-B<E<112>ong>>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping/Ping-B<E<112>ong>" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Net::Ping/"Ping-B<E<112>ong>">\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="Net::Ping/"Ping-B<E<112>ong>"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL</"B<Object> E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/"B<Object> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL</B<Object> E<77>ethods>\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/B<Object> E<77>ethods" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<"B<Object> E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw=""B<Object> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 
 
@@ -182,23 +190,23 @@
 print "#  Ents in the middle and at the start...\n";
 
 ok($x->_out(qq{=pod\n\nL<E<78>et::Ping>\n}),
- '<Document><Para><L content-implicit="yes" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<E<78>et::Ping/Ping-B<E<112>ong>>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/Ping-B<E<112>ong>" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<E<78>et::Ping/"Ping-B<E<112>ong>">\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/"Ping-B<E<112>ong>"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL</"B<E<79>bject> E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/"B<E<79>bject> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL</B<E<79>bject> E<77>ethods>\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/B<E<79>bject> E<77>ethods" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<"B<E<79>bject> E<77>ethods">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw=""B<E<79>bject> E<77>ethods"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 
 
@@ -205,23 +213,23 @@
 print "#  Ents in the middle and at the start and at the end...\n";
 
 ok($x->_out(qq{=pod\n\nL<E<78>et::PinE<103>>\n}),
- '<Document><Para><L content-implicit="yes" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>" to="Net::Ping" type="pod">Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/Ping-B<E<112>onE<103>>>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>/Ping-B<E<112>onE<103>>" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<E<78>et::PinE<103>/"Ping-B<E<112>onE<103>>">\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::PinE<103>/"Ping-B<E<112>onE<103>>"" section="Ping-pong" to="Net::Ping" type="pod">"Ping-<B>pong</B>" in Net::Ping</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL</"B<E<79>bject> E<77>ethodE<115>">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/"B<E<79>bject> E<77>ethodE<115>"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL</B<E<79>bject> E<77>ethodE<115>>\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="/B<E<79>bject> E<77>ethodE<115>" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<"B<E<79>bject> E<77>ethodE<115>">\n}),
- '<Document><Para><L content-implicit="yes" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw=""B<E<79>bject> E<77>ethodE<115>"" section="Object Methods" type="pod">"<B>Object</B> Methods"</L></Para></Document>'
 );
 
 
@@ -230,28 +238,28 @@
 print "#\n# L<url> tests...\n";
 
 ok( $x->_out(qq{=pod\n\nL<news:comp.lang.perl.misc>\n}),
- '<Document><Para><L content-implicit="yes" to="news:comp.lang.perl.misc" type="url">news:comp.lang.perl.misc</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="news:comp.lang.perl.misc" to="news:comp.lang.perl.misc" type="url">news:comp.lang.perl.misc</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<http://www.perl.com>\n}),
- '<Document><Para><L content-implicit="yes" to="http://www.perl.com" type="url">http://www.perl.com</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="http://www.perl.com" to="http://www.perl.com" type="url">http://www.perl.com</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/>\n}),
- '<Document><Para><L content-implicit="yes" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
 );
 
 print "# L<url> tests with entities...\n";
 
 ok( $x->_out(qq{=pod\n\nL<news:compE<46>lang.perl.misc>\n}),
- '<Document><Para><L content-implicit="yes" to="news:comp.lang.perl.misc" type="url">news:comp.lang.perl.misc</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="news:compE<46>lang.perl.misc" to="news:comp.lang.perl.misc" type="url">news:comp.lang.perl.misc</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com>\n}),
- '<Document><Para><L content-implicit="yes" to="http://www.perl.com" type="url">http://www.perl.com</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="http://wwwE<46>perl.com" to="http://www.perl.com" type="url">http://www.perl.com</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKE/>\n}),
- '<Document><Para><L content-implicit="yes" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKE/" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKEE<47>>\n}),
- '<Document><Para><L content-implicit="yes" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="http://wwwE<46>perl.com/CPAN/authors/id/S/SB/SBURKEE<47>" to="http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/" type="url">http://www.perl.com/CPAN/authors/id/S/SB/SBURKE/</L></Para></Document>'
 );
 
 
@@ -261,42 +269,42 @@
 print "# L<text|stuff> tests...\n";
 
 ok($x->_out(qq{=pod\n\nL<things|crontab(5)>\n}),
- '<Document><Para><L to="crontab(5)" type="man">things</L></Para></Document>'
+ '<Document><Para><L raw="things|crontab(5)" to="crontab(5)" type="man">things</L></Para></Document>'
 );
 ok($x->_out(qq{=pod\n\nL<things|crontab(5)/ENVIRONMENT>\n}),
- '<Document><Para><L section="ENVIRONMENT" to="crontab(5)" type="man">things</L></Para></Document>'
+ '<Document><Para><L raw="things|crontab(5)/ENVIRONMENT" section="ENVIRONMENT" to="crontab(5)" type="man">things</L></Para></Document>'
 );
 ok($x->_out(qq{=pod\n\nL<things|crontab(5)/"ENVIRONMENT">\n}),
- '<Document><Para><L section="ENVIRONMENT" to="crontab(5)" type="man">things</L></Para></Document>'
+ '<Document><Para><L raw="things|crontab(5)/"ENVIRONMENT"" section="ENVIRONMENT" to="crontab(5)" type="man">things</L></Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nL<Perl Error Messages|perldiag>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
+ '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Perl\nError\nMessages|perldiag>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
+ '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Perl\nError\t  Messages|perldiag>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
+ '<Document><Para><L raw="Perl Error Messages|perldiag" to="perldiag" type="pod">Perl Error Messages</L></Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nL<SWITCH statements|perlsyn/"Basic BLOCKs and Switch Statements">\n}),
- '<Document><Para><L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH statements</L></Para></Document>'
+ '<Document><Para><L raw="SWITCH statements|perlsyn/"Basic BLOCKs and Switch Statements"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH statements</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<SWITCH statements|perlsyn/Basic BLOCKs and Switch Statements>\n}),
- '<Document><Para><L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH statements</L></Para></Document>'
+ '<Document><Para><L raw="SWITCH statements|perlsyn/Basic BLOCKs and Switch Statements" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH statements</L></Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nL<the various attributes|/"Member Data">\n}),
- '<Document><Para><L section="Member Data" type="pod">the various attributes</L></Para></Document>'
+ '<Document><Para><L raw="the various attributes|/"Member Data"" section="Member Data" type="pod">the various attributes</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<the various attributes|/Member Data>\n}),
- '<Document><Para><L section="Member Data" type="pod">the various attributes</L></Para></Document>'
+ '<Document><Para><L raw="the various attributes|/Member Data" section="Member Data" type="pod">the various attributes</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<the various attributes|"Member Data">\n}),
- '<Document><Para><L section="Member Data" type="pod">the various attributes</L></Para></Document>'
+ '<Document><Para><L raw="the various attributes|"Member Data"" section="Member Data" type="pod">the various attributes</L></Para></Document>'
 );
 
 
@@ -304,32 +312,32 @@
 
 
 ok( $x->_out(qq{=pod\n\nL<Perl B<Error E<77>essages>|perldiag>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
+ '<Document><Para><L raw="Perl B<Error E<77>essages>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Perl\nB<Error\nE<77>essages>|perldiag>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
+ '<Document><Para><L raw="Perl B<Error E<77>essages>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<Perl\nB<Error\t  E<77>essages>|perldiag>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
+ '<Document><Para><L raw="Perl B<Error E<77>essages>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nL<SWITCH B<E<115>tatements>|perlsyn/"Basic I<BLOCKs> and Switch StatementE<115>">\n}),
- '<Document><Para><L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
+ '<Document><Para><L raw="SWITCH B<E<115>tatements>|perlsyn/"Basic I<BLOCKs> and Switch StatementE<115>"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<SWITCH B<E<115>tatements>|perlsyn/Basic I<BLOCKs> and Switch StatementE<115>>\n}),
- '<Document><Para><L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
+ '<Document><Para><L raw="SWITCH B<E<115>tatements>|perlsyn/Basic I<BLOCKs> and Switch StatementE<115>" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nL<the F<various> attributes|/"Member Data">\n}),
- '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
+ '<Document><Para><L raw="the F<various> attributes|/"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<the F<various> attributes|/Member Data>\n}),
- '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
+ '<Document><Para><L raw="the F<various> attributes|/Member Data" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<the F<various> attributes|"Member Data">\n}),
- '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
+ '<Document><Para><L raw="the F<various> attributes|"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 
 
@@ -337,32 +345,32 @@
 
 
 ok( $x->_out(qq{=pod\n\nL<< Perl B<<< Error E<77>essages >>>|perldiag >>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
+ '<Document><Para><L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<< Perl\nB<<< Error\nE<77>essages >>>|perldiag >>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
+ '<Document><Para><L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<< Perl\nB<<< Error\t  E<77>essages >>>|perldiag >>\n}),
- '<Document><Para><L to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
+ '<Document><Para><L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L></Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nL<< SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" >>\n}),
- '<Document><Para><L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
+ '<Document><Para><L raw="SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<< SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115> >>\n}),
- '<Document><Para><L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
+ '<Document><Para><L raw="SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L></Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|/"Member Data" >>>\n}),
- '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
+ '<Document><Para><L raw="the F<< various >> attributes|/"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|/Member Data >>>\n}),
- '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
+ '<Document><Para><L raw="the F<< various >> attributes|/Member Data" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nL<<< the F<< various >> attributes|"Member Data" >>>\n}),
- '<Document><Para><L section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
+ '<Document><Para><L raw="the F<< various >> attributes|"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L></Para></Document>'
 );
 
 ###########################################################################
@@ -371,51 +379,51 @@
 
 
 ok( $x->_out(qq{=pod\n\nI like L<< Perl B<<< Error E<77>essages >>>|perldiag >>.\n}),
- '<Document><Para>I like <L to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
+ '<Document><Para>I like <L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<< Perl\nB<<< Error\nE<77>essages >>>|perldiag >>.\n}),
- '<Document><Para>I like <L to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
+ '<Document><Para>I like <L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<< Perl\nB<<< Error\t  E<77>essages >>>|perldiag >>.\n}),
- '<Document><Para>I like <L to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
+ '<Document><Para>I like <L raw="Perl B<<< Error E<77>essages >>>|perldiag" to="perldiag" type="pod">Perl <B>Error Messages</B></L>.</Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nI like L<< SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" >>.\n}),
- '<Document><Para>I like <L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L>.</Para></Document>'
+ '<Document><Para>I like <L raw="SWITCH B<<< E<115>tatements >>>|perlsyn/"Basic I<<<< BLOCKs >>>> and Switch StatementE<115>"" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<< SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115> >>.\n}),
- '<Document><Para>I like <L section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L>.</Para></Document>'
+ '<Document><Para>I like <L raw="SWITCH B<<< E<115>tatements >>>|perlsyn/Basic I<<<< BLOCKs >>>> and Switch StatementE<115>" section="Basic BLOCKs and Switch Statements" to="perlsyn" type="pod">SWITCH <B>statements</B></L>.</Para></Document>'
 );
 
 
 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|/"Member Data" >>>.\n}),
- '<Document><Para>I like <L section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
+ '<Document><Para>I like <L raw="the F<< various >> attributes|/"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|/Member Data >>>.\n}),
- '<Document><Para>I like <L section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
+ '<Document><Para>I like <L raw="the F<< various >> attributes|/Member Data" section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< the F<< various >> attributes|"Member Data" >>>.\n}),
- '<Document><Para>I like <L section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
+ '<Document><Para>I like <L raw="the F<< various >> attributes|"Member Data"" section="Member Data" type="pod">the <F>various</F> attributes</L>.</Para></Document>'
 );
 
 ok( $x->_out(qq{=pod\n\nI like L<<< B<text>s|http://text.com >>>.\n}),
-'<Document><Para>I like <L to="http://text.com" type="url"><B>text</B>s</L>.</Para></Document>'
+'<Document><Para>I like <L raw="B<text>s|http://text.com" to="http://text.com" type="url"><B>text</B>s</L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< text|https://text.com/1/2 >>>.\n}),
-'<Document><Para>I like <L to="https://text.com/1/2" type="url">text</L>.</Para></Document>'
+'<Document><Para>I like <L raw="text|https://text.com/1/2" to="https://text.com/1/2" type="url">text</L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< I<text>|http://text.com >>>.\n}),
-'<Document><Para>I like <L to="http://text.com" type="url"><I>text</I></L>.</Para></Document>'
+'<Document><Para>I like <L raw="I<text>|http://text.com" to="http://text.com" type="url"><I>text</I></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< C<text>|http://text.com >>>.\n}),
-'<Document><Para>I like <L to="http://text.com" type="url"><C>text</C></L>.</Para></Document>'
+'<Document><Para>I like <L raw="C<text>|http://text.com" to="http://text.com" type="url"><C>text</C></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< I<tI<eI<xI<t>>>>|mailto:earlE<64>text.com >>>.\n}),
-'<Document><Para>I like <L to="mailto:earl at text.com" type="url"><I>t<I>e<I>x<I>t</I></I></I></I></L>.</Para></Document>'
+'<Document><Para>I like <L raw="I<tI<eI<xI<t>>>>|mailto:earlE<64>text.com" to="mailto:earl at text.com" type="url"><I>t<I>e<I>x<I>t</I></I></I></I></L>.</Para></Document>'
 );
 ok( $x->_out(qq{=pod\n\nI like L<<< textZ<>|http://text.com >>>.\n}),
-'<Document><Para>I like <L to="http://text.com" type="url">text</L>.</Para></Document>'
+'<Document><Para>I like <L raw="textZ<>|http://text.com" to="http://text.com" type="url">text</L>.</Para></Document>'
 );
 
 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/fcodes_l.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/fcodes_s.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/fcodes_s.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/fcodes_s.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -61,17 +61,19 @@
   "=pod\n\nI like bric-a-bracE<160>aE<160>gogo.\n",
 ));
 &ok(
-  map {my $z = $_; $z =~ s/content-implicit="yes" //g; $z }
+  map {my $z = $_; $z =~ s/content-implicit="yes" //g; $z =~ s/raw=".+?" //g; $z }
   $x->_duo( sub { $_[0]->nbsp_for_S(1) },
     qq{=pod\n\nI like S<L</"bric-a-brac a gogo">>.\n},
     qq{=pod\n\nI like L<"bric-a-bracE<160>aE<160>gogo"|/"bric-a-brac a gogo">.\n},
 ));
-&ok( $x->_duo( sub { $_[0]->nbsp_for_S(1) },
+&ok( 
+  map {my $z = $_; $z =~ s/raw=".+?" //g; $z }
+  $x->_duo( sub { $_[0]->nbsp_for_S(1) },
     qq{=pod\n\nI like S<L<Stuff like that|"bric-a-brac a gogo">>.\n},
     qq{=pod\n\nI like L<StuffE<160>likeE<160>that|"bric-a-brac a gogo">.\n},
 ));
 &ok(
-  map {my $z = $_; $z =~ s/content-implicit="yes" //g; $z }
+  map {my $z = $_; $z =~ s/content-implicit="yes" //g; $z =~ s/raw=".+?" //g; $z }
   $x->_duo( sub { $_[0]->nbsp_for_S(1) },
     qq{=pod\n\nI like S<L<Stuff I<like that>|"bric-a-brac a gogo">>.\n},
     qq{=pod\n\nI like L<StuffE<160>I<likeE<160>that>|"bric-a-brac a gogo">.\n},


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/fcodes_s.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/for.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/for.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/for.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/for.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/fornot.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/fornot.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/fornot.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/fornot.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/heads.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/heads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/heads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/heads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/html01.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/html01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/html01.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -115,7 +115,7 @@
 ok(
     My::Pod::HTML->_out(
         sub{  $_[0]->bare_output(1)  },
-        "=pod\n\n=over\n\n=item Foo\n\n",
+        "=pod\n\n=over\n\n=item Foo\n\n=back\n",
     ),
     "\n<dl>\n<dt><a name=\"howdy\"\n>Foo</a></dt>\n</dl>\n",
 );


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/html01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/html02.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/html02.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/html02.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/html02.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/html03.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/html03.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/html03.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/html03.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/htmlbat.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/htmlbat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/htmlbat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/htmlbat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/items.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/items.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/items.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -91,7 +91,9 @@
 
 
 print "#\n# Test for mixed =item blocks...\n";
-ok( $x->_out("\n=over\n\n=item Foo\n\nStuff\n\n=item 2.\n\nBar I<baz>!\n\nQuux\n\n=item *\n\nThwoong\n\n=back\n\n"),
+ok( $x->_out(
+  sub { $_[0]->no_errata_section(1) }, # We know this will complain
+  "\n=over\n\n=item Foo\n\nStuff\n\n=item 2.\n\nBar I<baz>!\n\nQuux\n\n=item *\n\nThwoong\n\n=back\n\n"),
     qq{<Document><over-text indent="4"><item-text>Foo</item-text><Para>Stuff</Para>}
   . qq{<item-text>2.</item-text><Para>Bar <I>baz</I>!</Para><Para>Quux</Para>}
   . qq{<item-text>*</item-text><Para>Thwoong</Para></over-text></Document>}
@@ -187,18 +189,22 @@
 $d = 11;
 print "# Now checking that document-end closes things right...\n";
 
-ok( $x->_out( join "\n\n", '', '', 
-  '=over',
-    '=item *',
-    'Stuff',
-    '=cut',
-    'Stuff',
+ok( $x->_out(
+  # We know there'd be a warning about implicit =back; disable it!
+  sub { $_[0]->no_whining(1); },
+  join( "\n\n", '', '',
     '=over',
-      '=item 1.',
-        '=over 19',
-        'Gleiven',
-        'Squim F<.thingrc>!',
-  '', ''
+      '=item *',
+      'Stuff',
+      '=cut',
+      'Stuff',
+      '=over',
+        '=item 1.',
+          '=over 19',
+          'Gleiven',
+          'Squim F<.thingrc>!',
+    '', '',
+  ),
   ), join '',
    '<Document>',
    '<over-bullet indent="4">',


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/items.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/items02.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/items02.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/items02.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,44 +1,46 @@
-# Testing the =item directive
-BEGIN {
-    if($ENV{PERL_CORE}) {
-        chdir 't';
-        @INC = '../lib';
-    }
-}
-
-use strict;
-use Test;
-BEGIN { plan tests => 4 };
-
-my $d;
-#use Pod::Simple::Debug (\$d,0);
-
-ok 1;
-
-use Pod::Simple::DumpAsXML;
-use Pod::Simple::XMLOutStream;
-print "# Pod::Simple version $Pod::Simple::VERSION\n";
-sub e ($$) { Pod::Simple::DumpAsXML->_duo(@_) }
-
-my $x = 'Pod::Simple::XMLOutStream';
-
-print "##### Tests for =item directives via class $x\n";
-
-$Pod::Simple::XMLOutStream::ATTR_PAD   = ' ';
-$Pod::Simple::XMLOutStream::SORT_ATTRS = 1; # for predictably testable output
-
-
-print "#\n# Tests for =item [number] that are icky...\n";
-ok( $x->_out("\n=over\n\n=item 5\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4\n\nQuux\n\n=back\n\n"),
-    '<Document><over-text indent="4"><item-text>5</item-text><Para>Stuff</Para><item-text>4</item-text><Para>Quux</Para></over-text></Document>'
-);
-
-ok( $x->_out("\n=over\n\n=item 5.\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4.\n\nQuux\n\n=back\n\n"),
-    '<Document><over-text indent="4"><item-text>5.</item-text><Para>Stuff</Para><item-text>4.</item-text><Para>Quux</Para></over-text></Document>'
-);
-
-
-print "# Wrapping up... one for the road...\n";
-ok 1;
-print "# --- Done with ", __FILE__, " --- \n";
-
+# Testing the =item directive
+BEGIN {
+    if($ENV{PERL_CORE}) {
+        chdir 't';
+        @INC = '../lib';
+    }
+}
+
+use strict;
+use Test;
+BEGIN { plan tests => 4 };
+
+my $d;
+#use Pod::Simple::Debug (\$d,0);
+
+ok 1;
+
+use Pod::Simple::DumpAsXML;
+use Pod::Simple::XMLOutStream;
+print "# Pod::Simple version $Pod::Simple::VERSION\n";
+sub e ($$) { Pod::Simple::DumpAsXML->_duo(@_) }
+
+my $x = 'Pod::Simple::XMLOutStream';
+
+print "##### Tests for =item directives via class $x\n";
+
+$Pod::Simple::XMLOutStream::ATTR_PAD   = ' ';
+$Pod::Simple::XMLOutStream::SORT_ATTRS = 1; # for predictably testable output
+
+
+print "#\n# Tests for =item [number] that are icky...\n";
+ok( $x->_out(sub { $_[0]->no_errata_section(1) },
+  "\n=over\n\n=item 5\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4\n\nQuux\n\n=back\n\n"),
+    '<Document><over-text indent="4"><item-text>5</item-text><Para>Stuff</Para><item-text>4</item-text><Para>Quux</Para></over-text></Document>'
+);
+
+ok( $x->_out(sub { $_[0]->no_errata_section(1) },
+  "\n=over\n\n=item 5.\n\nStuff\n\n=cut\n\nCrunk\nZorp\n\n=item 4.\n\nQuux\n\n=back\n\n"),
+    '<Document><over-text indent="4"><item-text>5.</item-text><Para>Stuff</Para><item-text>4.</item-text><Para>Quux</Para></over-text></Document>'
+);
+
+
+print "# Wrapping up... one for the road...\n";
+ok 1;
+print "# --- Done with ", __FILE__, " --- \n";
+


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/items02.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/itemstar.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/itemstar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/itemstar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/itemstar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/junk1.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/junk1.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/junk1.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/junk1.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/junk1o.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/junk1o.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/junk1o.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/junk1o.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/junk2.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/junk2.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/junk2.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/junk2.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/junk2o.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/junk2o.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/junk2o.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/junk2o.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/linkclas.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/linkclas.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/linkclas.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/linkclas.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/output.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/output.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/output.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/output.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/perlcyg.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/perlcyg.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/perlcyg.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/perlcyg.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/perlcygo.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/perlcygo.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/perlcygo.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/perlcygo.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/perlfaq.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/perlfaq.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/perlfaq.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-perlfaq3 - Programming Tools ($Revision: 1.1.1.1 $, $Date: 2011-05-18 13:33:29 $)
+perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23 16:08:30 $)
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/perlfaq.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/perlfaqo.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/perlfaqo.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/perlfaqo.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 NAME
-perlfaq3 - Programming Tools ($Revision: 1.1.1.1 $, $Date: 2011-05-18 13:33:29 $)
+perlfaq3 - Programming Tools ($Revision: 1.38 $, $Date: 1999/05/23 16:08:30 $)
 DESCRIPTION
 This section of the FAQ answers questions related to programmer tools and programming support.
 How do I do (anything)?


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/perlfaqo.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/perlvar.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/perlvar.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/perlvar.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/perlvar.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/perlvaro.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/perlvaro.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/perlvaro.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/perlvaro.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/puller.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/puller.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/puller.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/puller.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/pulltitl.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/pulltitl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/pulltitl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 
 use strict;
 use Test;
-BEGIN { plan tests => 114 };
+BEGIN { plan tests => 117 };
 
 #use Pod::Simple::Debug (5);
 
@@ -44,7 +44,14 @@
 ok( $t && $t->type, 'text');
 ok( $t && $t->type eq 'text' && $t->text, 'NAME' );
 
+DIE: {
+    # Make sure we die.
+    local $@;
+    eval { $p->set_source(\'=head1 foo') };
+    ok $@;
+    ok $@ =~ /\QCannot assign new source to pull parser; create a new instance, instead/;
 }
+}
 
 ###########################################################################
 
@@ -401,6 +408,14 @@
 }
 
 ###########################################################################
+{
+print "# Testing a title with an X<>, at line ", __LINE__, "\n";
+my $p = Pod::Simple::PullParser->new;
+$p->set_source( \qq{\n=head1 NAME Foo Bar\nX<Some entry>\n} );
+
+ok $p->get_title(), 'NAME Foo Bar';
+}
+
 ###########################################################################
 
 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/pulltitl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/reinit.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/reinit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/reinit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/reinit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/render.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/render.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/render.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/render.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/search05.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search05.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search05.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 use strict;
 use Pod::Simple::Search;
 use Test;
-BEGIN { plan tests => 15 }
+BEGIN { plan tests => 16 }
 
 print "# Some basic sanity tests...\n";
 
@@ -22,6 +22,7 @@
 ok defined $x->can('laborious');
 ok defined $x->can('limit_glob');
 ok defined $x->can('limit_re');
+ok defined $x->can('recurse');
 ok defined $x->can('shadows');
 ok defined $x->can('verbose');
 ok defined $x->can('survey');


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search05.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/search10.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search10.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search10.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
 
 use Pod::Simple::Search;
 use Test;
-BEGIN { plan tests => 7 }
+BEGIN { plan tests => 11 }
 
 print "# ", __FILE__,
  ": Testing the surveying of a single specified docroot...\n";
@@ -21,7 +21,7 @@
 my $x = Pod::Simple::Search->new;
 die "Couldn't make an object!?" unless ok defined $x;
 
-print "# Testing the surveying of the current directory...\n";
+print "# Testing the surveying of a single docroot...\n";
 
 $x->inc(0);
 
@@ -80,6 +80,32 @@
 
 ok grep( m/squaa\.pm/, keys %$where2name ), 1;
 
+###### Now with recurse(0)
+
+print "# Testing the surveying of a single docroot without recursing...\n";
+
+$x->recurse(0);
+($name2where, $where2name) = $x->survey($here);
+
+$p = pretty( $where2name, $name2where )."\n";
+$p =~ s/, +/,\n/g;
+$p =~ s/^/#  /mg;
+print $p;
+
+{
+my $names = join "|", sort values %$where2name;
+ok $names, "Blorm|squaa|zikzik";
+}
+
+{
+my $names = join "|", sort keys %$name2where;
+ok $names, "Blorm|squaa|zikzik";
+}
+
+ok( ($name2where->{'squaa'} || 'huh???'), '/squaa\.pm$/');
+
+ok grep( m/squaa\.pm/, keys %$where2name ), 1;
+
 ok 1;
 
 __END__


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search10.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/search12.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search12.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search12.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 use strict;
 use Pod::Simple::Search;
 use Test;
-BEGIN { plan tests => 7 }
+BEGIN { plan tests => 11 }
 
 print "# ", __FILE__,
  ": Testing the surveying of the current directory...\n";
@@ -73,7 +73,35 @@
 
 ok grep( m/squaa\.pm/, keys %$where2name ), 1;
 
+###### Now with recurse(0)
+
+print "# Testing the surveying of a subdirectory with recursing off...\n";
+
+$x->recurse(0);
+($name2where, $where2name) = $x->survey(
+                             File::Spec->catdir($cwd, 't', 'testlib2'));
+
+$p = pretty( $where2name, $name2where )."\n";
+$p =~ s/, +/,\n/g;
+$p =~ s/^/#  /mg;
+print $p;
+
+{
+my $names = lc join "|", sort values %$where2name;
+ok $names, "suzzle";
+}
+
+{
+my $names = lc join "|", sort keys %$name2where;
+ok $names, "suzzle";
+}
+
+ok( ($name2where->{'Vliff'} || 'huh???'), 'huh???');
+
+ok grep( m/Vliff\.pm/, keys %$where2name ), 0;
+
 ok 1;
 
 __END__
 
+


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search12.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/search20.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search20.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search20.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 use strict;
 use Pod::Simple::Search;
 use Test;
-BEGIN { plan tests => 7 }
+BEGIN { plan tests => 11 }
 
 print "# ", __FILE__,
  ": Testing the scanning of several (well, two) docroots...\n";
@@ -85,6 +85,37 @@
 
 ok grep( m/squaa\.pm/, keys %$where2name ), 1;
 
+###### Now with recurse(0)
+
+$x->recurse(0);
+
+print "# OK, starting run without recurse...\n# [[\n";
+($name2where, $where2name) = $x->survey($here1, $here2);
+print "# ]]\n#OK, run without recurse done.\n";
+
+$p = pretty( $where2name, $name2where )."\n";
+$p =~ s/, +/,\n/g;
+$p =~ s/^/#  /mg;
+print $p;
+
+{
+my $names = join "|", sort 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;
+skip $^O eq 'VMS' ? '-- case may or may not be preserved' : 0, 
+     $names, 
+     "Blorm|Suzzle|squaa|zikzik";
+}
+
+ok( ($name2where->{'squaa'} || 'huh???'), '/squaa\.pm$/');
+
+ok grep( m/squaa\.pm/, keys %$where2name ), 1;
+
 ok 1;
 
 __END__


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search20.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/search22.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search22.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search22.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search22.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/search25.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search25.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search25.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search25.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/search26.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search26.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search26.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search26.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/search27.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search27.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search27.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search27.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/search28.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search28.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search28.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search28.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/search29.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search29.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search29.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search29.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/search50.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/search50.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/search50.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -76,6 +76,9 @@
   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";
   ok
        lc $x[0], 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/search50.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/stree.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/stree.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/stree.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/stree.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/strpvbtm.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/strpvbtm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/strpvbtm.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 use strict;
 use lib '../lib';
-use Test::More tests => 79;
+use Test::More tests => 87;
 #use Test::More 'no_plan';
 
 use_ok('Pod::Simple::XHTML') or exit;
@@ -85,6 +85,13 @@
         "<pre><code>foo bar\nbaz blez</code></pre>\n\n",
         'militant code ref'
     ],
+    [
+        "\n=pod\n\n foo (bar\n   baz blez\n",
+        sub { (my $i = $_[0]->[0]) =~ s/S.*//; $i },
+        qq{<Document><Verbatim\nxml:space="preserve">\n   baz blez</Verbatim></Document>},
+        "<pre><code>\n   baz blez</code></pre>\n\n",
+        'code ref and paren'
+    ],
 ) {
     my ($pod, $indent, $xml, $xhtml, $desc) = @$spec;
     # Test XML output.


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/strpvbtm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Blorm.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Blorm.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Blorm.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Blorm.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Fiddle.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Fiddle.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Fiddle.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Fiddle.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Pronk.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Pronk.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Pronk.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Pronk.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Veng.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Veng.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Veng.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/Zonk/Veng.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Glunk.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Glunk.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Glunk.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Glunk.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Vliff.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/readme.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/readme.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/readme.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/hinkhonk/readme.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlflif.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlflif.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlflif.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlflif.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlthng.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlthng.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlthng.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/pod/perlthng.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Glunk.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Glunk.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Glunk.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Glunk.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Vliff.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/squaa.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/zikzik.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib1/zikzik.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib1/zikzik.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib1/zikzik.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/Suzzle.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib2/Suzzle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib2/Suzzle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/Suzzle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Glunk.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Glunk.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Glunk.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Glunk.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Vliff.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/readme.txt
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/readme.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/readme.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/hinkhonk/readme.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlthng.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlthng.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlthng.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlthng.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlzuk.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlzuk.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlzuk.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/pod/perlzuk.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Vliff.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Wowo.pod
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Wowo.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Wowo.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib2/squaa/Wowo.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/testlib3/squaa/Vliff.pm
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/testlib3/squaa/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/testlib3/squaa/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/testlib3/squaa/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/tiedfh.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/tiedfh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/tiedfh.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/tiedfh.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/verb_fmt.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/verb_fmt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/verb_fmt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/verb_fmt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/verbatim.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/verbatim.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/verbatim.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/verbatim.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/x_nixer.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/x_nixer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/x_nixer.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -44,16 +44,14 @@
   '  <Para>',
   '    <F>',
   '      <C>',
-  '        f',
-  '        o',
-  '        o',
+  '        foo',
   '      </C>',
-  '       ',
+  '      ',
   '      <I>',
   '        bar',
   '      </I>',
   '    </F>',
-  '     ',
+  '    ',
   '    <B>',
   '      stuff ',
   '      <X>',
@@ -77,19 +75,16 @@
   '  <Para>',
   '    <F>',
   '      <C>',
-  '        f',
-  '        o',
-  '        o',
+  '        foo',
   '      </C>',
-  '       ',
+  '      ',
   '      <I>',
   '        bar',
   '      </I>',
   '    </F>',
-  '     ',
+  '    ',
   '    <B>',
-  '      stuff ',
-  '      baz',
+  '      stuff baz',
   '    </B>',
   '  </Para>',
   '</Document>',
@@ -109,12 +104,12 @@
   '      <C>',
   '        foo',
   '      </C>',
-  '       ',
+  '      ',
   '      <I>',
   '        bar',
   '      </I>',
   '    </F>',
-  '     ',
+  '    ',
   '    <B>',
   '      stuff ',
   '      <X>',
@@ -140,12 +135,12 @@
   '      <C>',
   '        foo',
   '      </C>',
-  '       ',
+  '      ',
   '      <I>',
   '        bar',
   '      </I>',
   '    </F>',
-  '     ',
+  '    ',
   '    <B>',
   '      stuff baz',
   '    </B>',
@@ -159,7 +154,7 @@
 # Now the scary bits... with L's!
 print "# A wee L<...> sanity test...\n";
 ok( Pod::Simple::XMLOutStream->_out(qq{=pod\n\nL<E<78>et::Ping/Ping-E<112>ong>\n}),
- '<Document><Para><L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
+ '<Document><Para><L content-implicit="yes" raw="E<78>et::Ping/Ping-E<112>ong" section="Ping-pong" to="Net::Ping" type="pod">"Ping-pong" in Net::Ping</L></Para></Document>'
 );
 print "# Now a wee L<...> with mergy...\n";
 
@@ -170,7 +165,7 @@
 
  '<Document>',
  '  <Para>',
- '    <L content-implicit="yes" section="Ping-pong" to="Net::Ping" type="pod">',
+ '    <L content-implicit="yes" raw="E<78>et::Ping/Ping-E<112>ong" section="Ping-pong" to="Net::Ping" type="pod">',
  '      "Ping-pong" in Net::Ping',
  '    </L>',
  '  </Para>',
@@ -194,12 +189,12 @@
   '        </L>',
   '        o',
   '      </C>',
-  '       ',
+  '      ',
   '      <I>',
   '        bar',
   '      </I>',
   '    </F>',
-  '     ',
+  '    ',
   '    <B>',
   '      stuff baz',
   '    </B>',


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/x_nixer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/xhtml01.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/xhtml01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/xhtml01.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,8 +8,8 @@
 
 use strict;
 use lib '../lib';
-#use Test::More tests => 56;
-use Test::More 'no_plan';
+use Test::More tests => 61;
+#use Test::More 'no_plan';
 
 use_ok('Pod::Simple::XHTML') or exit;
 
@@ -23,7 +23,7 @@
 
 initialize($parser, $results);
 $parser->parse_string_document( "=head1 Poit!" );
-is($results, qq{<h1 id="Poit-">Poit!</h1>\n\n}, "head1 level output");
+is($results, qq{<h1 id="Poit">Poit!</h1>\n\n}, "head1 level output");
 
 initialize($parser, $results);
 $parser->parse_string_document( "=head2 Yada Yada Operator
@@ -31,21 +31,25 @@
 is($results, qq{<h2 id="Yada-Yada-Operator">Yada Yada Operator   </h2>\n\n}, "head ID with X<>");
 
 initialize($parser, $results);
+$parser->parse_string_document( "=head2 Platforms with no supporting programmers:");
+is($results, qq{<h2 id="Platforms-with-no-supporting-programmers">Platforms with no supporting programmers:</h2>\n\n}, "head ID ending in colon");
+
+initialize($parser, $results);
 $parser->html_h_level(2);
 $parser->parse_string_document( "=head1 Poit!" );
-is($results, qq{<h2 id="Poit-">Poit!</h2>\n\n}, "head1 level output h_level 2");
+is($results, qq{<h2 id="Poit">Poit!</h2>\n\n}, "head1 level output h_level 2");
 
 initialize($parser, $results);
 $parser->parse_string_document( "=head2 I think so Brain." );
-is($results, qq{<h2 id="I-think-so-Brain.">I think so Brain.</h2>\n\n}, "head2 level output");
+is($results, qq{<h2 id="I-think-so-Brain">I think so Brain.</h2>\n\n}, "head2 level output");
 
 initialize($parser, $results);
 $parser->parse_string_document( "=head3 I say, Brain..." );
-is($results, qq{<h3 id="I-say-Brain...">I say, Brain...</h3>\n\n}, "head3 level output");
+is($results, qq{<h3 id="I-say-Brain">I say, Brain...</h3>\n\n}, "head3 level output");
 
 initialize($parser, $results);
 $parser->parse_string_document( "=head4 Zort & Zog!" );
-is($results, qq{<h4 id="Zort-Zog-">Zort & Zog!</h4>\n\n}, "head4 level output");
+is($results, qq{<h4 id="Zort-Zog">Zort & Zog!</h4>\n\n}, "head4 level output");
 
 sub x ($;&) {
   my $code = $_[1];
@@ -474,10 +478,15 @@
 =pod
 
 A plain paragraph with a C<functionname>.
+
+C<< This code is B<important> to E<lt>me>! >>
+
 EOPOD
 is($results, <<"EOHTML", "code entity in a paragraph");
 <p>A plain paragraph with a <code>functionname</code>.</p>
 
+<p><code>This code is <b>important</b> to <me>!</code></p>
+
 EOHTML
 
 
@@ -510,7 +519,7 @@
 
 A plain paragraph with body tags and css tags turned on.
 EOPOD
-like($results, qr/<link rel='stylesheet' href='style.css' type='text\/css' \/>/,
+like($results, qr/<link rel="stylesheet" href="style.css" type="text\/css" \/>/,
 "adding html body tags and css tags");
 
 
@@ -653,10 +662,11 @@
 
 SKIP: for my $use_html_entities (0, 1) {
   if ($use_html_entities and not $Pod::Simple::XHTML::HAS_HTML_ENTITIES) {
-    skip("HTML::Entities not installed", 1);
+    skip("HTML::Entities not installed", 3);
   }
   local $Pod::Simple::XHTML::HAS_HTML_ENTITIES = $use_html_entities;
   initialize($parser, $results);
+  $parser->codes_in_verbatim(1);
   $parser->parse_string_document(<<'EOPOD');
 =pod
 
@@ -688,6 +698,14 @@
 
 EOHTML
 
+  # Keep =encoding out of content.
+  initialize($parser, $results);
+  $parser->parse_string_document("=encoding utf-8\n\n=head1 NAME\n");
+  is($results, <<"EOHTML", 'Encoding should not be in content')
+<h1 id="NAME">NAME</h1>
+
+EOHTML
+
 }
 
 


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/xhtml01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Pod-Simple/t/xhtml05.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/xhtml05.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/xhtml05.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/xhtml05.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Pod-Simple/t/xhtml10.t
===================================================================
--- vendor/perl/dist/cpan/Pod-Simple/t/xhtml10.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Pod-Simple/t/xhtml10.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 use strict;
 use lib '../lib';
-use Test::More tests => 44;
+use Test::More tests => 60;
 #use Test::More 'no_plan';
 
 use_ok('Pod::Simple::XHTML') or exit;
@@ -23,7 +23,7 @@
     [ 'fo$bar' => 'fo-bar', 'fo-bar' ],
     [ 'f12'    => 'f12',    'f12'    ],
     [ '13'     => 'pod13',  'pod13'  ],
-    [ '**.:'   => 'pod-.:', 'pod-.:' ],
+    [ '**.:'   => 'pod', 'pod' ],
 ) {
     is $parser->idify( $spec->[0] ), $spec->[1],
         qq{ID for "$spec->[0]" should be "$spec->[1]"};
@@ -74,8 +74,8 @@
     'Parse two multiword headers';
 is $results, <<'EOF', 'Should have the index';
 <ul id="index">
-  <li><a href="#Foo-Bar">Foo <b>Bar</b></a></li>
-  <li><a href="#Foo-Baz">Foo <b>Baz</b></a></li>
+  <li><a href="#Foo-Bar">Foo Bar</a></li>
+  <li><a href="#Foo-Baz">Foo Baz</a></li>
 </ul>
 
 <h1 id="Foo-Bar">Foo <b>Bar</b></h1>
@@ -97,7 +97,23 @@
 <h1 id="Bar">Bar</h1>
 
 EOF
+
 initialize($parser, $results);
+ok $parser->parse_string_document( "=head1 Foo C<Bar>\n\n=head1 C<Baz>" ),
+    'Parse two headers with C<> formatting';
+is $results, <<'EOF', 'Should have the index';
+<ul id="index">
+  <li><a href="#Foo-Bar">Foo Bar</a></li>
+  <li><a href="#Baz">Baz</a></li>
+</ul>
+
+<h1 id="Foo-Bar">Foo <code>Bar</code></h1>
+
+<h1 id="Baz"><code>Baz</code></h1>
+
+EOF
+
+initialize($parser, $results);
 ok $parser->parse_string_document( "=head1 Foo\n\n=head1 Bar\n\n=head1 Baz" ),
     'Parse three headers';
 is $results, <<'EOF', 'Should have all three and the index';
@@ -397,6 +413,294 @@
 
 EOF
 
+initialize($parser, $results);
+$parser->html_header($header);
+$parser->html_footer($footer);
+$parser->backlink(1);
+ok $parser->parse_string_document( '=head1 Foo' ), 'Parse a header';
+is $results, <<'EOF', 'Should have the index and a backlink';
+
+<html>
+<head>
+<title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+</head>
+<body id="_podtop_">
+
+
+<ul id="index">
+  <li><a href="#Foo">Foo</a></li>
+</ul>
+
+<a href="#_podtop_"><h1 id="Foo">Foo</h1></a>
+
+</body>
+</html>
+
+EOF
+
+initialize($parser, $results);
+$parser->html_header($header);
+$parser->html_footer($footer);
+$parser->backlink(1);
+ok $parser->parse_string_document( "=head1 Foo \n\n=head2 Bar \n\n=head1 Baz" ), 'Parse headers';
+is $results, <<'EOF', 'Should have the index and backlinks';
+
+<html>
+<head>
+<title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+</head>
+<body id="_podtop_">
+
+
+<ul id="index">
+  <li><a href="#Foo">Foo</a>
+    <ul>
+      <li><a href="#Bar">Bar</a></li>
+    </ul>
+  </li>
+  <li><a href="#Baz">Baz</a></li>
+</ul>
+
+<a href="#_podtop_"><h1 id="Foo">Foo</h1></a>
+
+<h2 id="Bar">Bar</h2>
+
+<a href="#_podtop_"><h1 id="Baz">Baz</h1></a>
+
+</body>
+</html>
+
+EOF
+
+initialize($parser, $results);
+$parser->html_header($header);
+$parser->html_footer($footer);
+$parser->index(0);
+$parser->backlink(1);
+ok $parser->parse_string_document( "=head1 Foo \n\n=head1 Bar" ), 'Parse headers';
+is $results, <<'EOF', 'Should have backlinks but no index';
+
+<html>
+<head>
+<title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+</head>
+<body id="_podtop_">
+
+
+<a href="#_podtop_"><h1 id="Foo">Foo</h1></a>
+
+<a href="#_podtop_"><h1 id="Bar">Bar</h1></a>
+
+</body>
+</html>
+
+EOF
+
+initialize($parser, $results);
+$parser->html_header($header);
+$parser->html_footer($footer);
+$parser->backlink(1);
+$parser->html_h_level(2);
+ok $parser->parse_string_document( "=head1 Foo \n\n=head1 Bar" ), 'Parse headers';
+is $results, <<'EOF', 'Should have index and backlinks around h2 elements';
+
+<html>
+<head>
+<title></title>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+</head>
+<body id="_podtop_">
+
+
+<ul id="index">
+  <li>
+    <ul>
+      <li><a href="#Foo">Foo</a></li>
+      <li><a href="#Bar">Bar</a></li>
+    </ul>
+  </li>
+</ul>
+
+<a href="#_podtop_"><h2 id="Foo">Foo</h2></a>
+
+<a href="#_podtop_"><h2 id="Bar">Bar</h2></a>
+
+</body>
+</html>
+
+EOF
+
+initialize($parser, $results);
+$parser->anchor_items(1);
+ok $parser->parse_string_document( <<'EOPOD' ), 'Parse POD';
+=head1 Foo
+
+=over
+
+=item test
+
+=item Test 2
+
+body of item
+
+=back
+
+=over
+
+=item *
+
+not anchored
+
+=back
+
+=over
+
+=item 1
+
+still not anchored
+
+=back
+EOPOD
+
+is $results, <<'EOF', 'Anchor =item directives';
+<ul id="index">
+  <li><a href="#Foo">Foo</a></li>
+</ul>
+
+<h1 id="Foo">Foo</h1>
+
+<dl>
+
+<dt id="test">test</dt>
+<dd>
+
+</dd>
+<dt id="Test-2">Test 2</dt>
+<dd>
+
+<p>body of item</p>
+
+</dd>
+</dl>
+
+<ul>
+
+<li><p>not anchored</p>
+
+</li>
+</ul>
+
+<ol>
+
+<li><p>still not anchored</p>
+
+</li>
+</ol>
+
+EOF
+
+initialize($parser, $results);
+$parser->anchor_items(0);
+ok $parser->parse_string_document( <<'EOPOD' ), 'Parse POD';
+=head1 Foo
+
+=over
+
+=item test
+
+=item Test 2
+
+body of item
+
+=back
+
+=over
+
+=item *
+
+not anchored
+
+=back
+
+=over
+
+=item 1
+
+still not anchored
+
+=back
+EOPOD
+is $results, <<'EOF', 'Do not anchor =item directives';
+<ul id="index">
+  <li><a href="#Foo">Foo</a></li>
+</ul>
+
+<h1 id="Foo">Foo</h1>
+
+<dl>
+
+<dt>test</dt>
+<dd>
+
+</dd>
+<dt>Test 2</dt>
+<dd>
+
+<p>body of item</p>
+
+</dd>
+</dl>
+
+<ul>
+
+<li><p>not anchored</p>
+
+</li>
+</ul>
+
+<ol>
+
+<li><p>still not anchored</p>
+
+</li>
+</ol>
+
+EOF
+
+$ENV{FOO}= 1;
+
+initialize($parser, $results);
+ok $parser->parse_string_document( <<'EOPOD' ), 'Parse POD';
+=head1 Foo
+
+Test links from perlpodspec: L</"About LE<lt>...E<gt> Codes">
+
+=head1 About LE<lt>...E<gt> Codes
+
+Here it is
+EOPOD
+
+my $id = 'About-L...-Codes'; # what should this be?
+
+is $results, <<EOF, 'anchor and h1 use same section id for complex sections';
+<ul id="index">
+  <li><a href="#Foo">Foo</a></li>
+  <li><a href="#$id">About L<...> Codes</a></li>
+</ul>
+
+<h1 id="Foo">Foo</h1>
+
+<p>Test links from perlpodspec: <a href="#$id">"About L<...> Codes"</a></p>
+
+<h1 id="$id">About L<...> Codes</h1>
+
+<p>Here it is</p>
+
+EOF
+
 sub initialize {
 	$_[0] = Pod::Simple::XHTML->new;
         $_[0]->html_header('');


Property changes on: vendor/perl/dist/cpan/Pod-Simple/t/xhtml10.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Shell/Shell.pm
===================================================================
--- vendor/perl/dist/cpan/Shell/Shell.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Shell/Shell.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Shell/Shell.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Shell/t/Shell.t
===================================================================
--- vendor/perl/dist/cpan/Shell/t/Shell.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Shell/t/Shell.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Shell/t/Shell.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/Changes
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,71 @@
 Revision history for Sys-Syslog
 
+0.32 -- 2012.09.14 -- Sebastien Aperghis-Tramoni (SAPER)
+        [BUGFIX] CPAN-RT#69040: Don't modify @_ in syslog().
+        [BUGFIX] Restore compatibility with Perl 5.6.0.
+        [DOC] Perl-RT#81858: Fix some spelling errors (Peter J. Acklam).
+
+0.31 -- 2012.08.18 -- Sebastien Aperghis-Tramoni (SAPER)
+        [BUGFIX] Level 'emerg' could not be used since v0.29.
+        [BUGFIX] Setting a message facility with syslog() was broken since v0.29
+        (Noel Butler).
+        [BUGFIX] CPAN-RT#69992: Make setlogsock() only use the requested mechanism,
+        restoring way it worked in v0.27 and before (Niko Tyni).
+        [BUGFIX] CPAN-RT#69986: setlogsock() doesn't return undef on failure
+        (Niko Tyni).
+        [BUGFIX] CPAN-RT#69997: Use the default UDP socket timeout on GNU/kFreeBSD
+        as well, and lower it to a more sensible value (Niko Tyni).
+        [BUGFIX] CPAN-RT#75827: syslog() logging everything regardless of log
+        mask when using using numeric LOG_* macros (Bryan Thale).
+        [TESTS] Added t/facilities-routing.t
+        [DOC] Don't highlight "the Rules of Sys::Syslog" from the Description.
+        [DIST] Add meta-information in Makefile.PL
+
+0.30 -- 2012.08.15 -- Sebastien Aperghis-Tramoni (SAPER)
+        [BUGFIX] CPAN-RT#69310: Avoid a POSIX::strftime issue on Windows
+        (Michael Ludwig).
+        [BUGFIX] CPAN-RT#77577: Build on Haiku-OS (Tony Cook).
+        [BUGFIX] CPAN-RT#77578: Silence a compilation warning (Tony Cook).
+        [BUGFIX] CPAN-RT#78044: Don't call getservbyname() when the port is
+        specified (Chan Wilson).
+        [TESTS] t/syslog.t no longer needs to chdir under PERL_CORE.
+
+0.29 -- 2011.04.18 -- Sebastien Aperghis-Tramoni (SAPER) #PerlQA2011
+        [BUGFIX] CPAN-RT#55215: Sys::Syslog might call exit which triggers
+        DESTROY (Alexander Berger).
+        [BUGFIX] CPAN-RT#55151: Allow temporary facility with native mechanism
+        (Tim Jenkins).
+        [BUGFIX] CPAN-RT#50928: Convert Win32 files to Unix EOLs (Steve Hay).
+        [BUGFIX] CPAN-RT#50534: Unwanted space at the end of syslog message
+        (Eugene V. Lyubimkin).
+        [BUGFIX] CPAN-RT#49877: Options not reset after closelog() (Herbert Brezina).
+        [BUGFIX] CPAN-RT#48386: Add Win32::EventLog as a prerequisite (kmx and
+        Laurent Dami).
+        [FEATURE] CPAN-RT#50534: Added options noeol and nonul.
+        [DIST] Set INSTALLDIRS to "site" when installed on Perl 5.11+
+
+0.28 -- 2011.04.16 -- Sebastien Aperghis-Tramoni (SAPER) #PerlQA2011
+        [BUGFIX] CPAN-RT#56084: Reset connection tracking vars (Vladimir Marek).
+        [BUGFIX] CPAN-RT#56826: Avoid memory corruption when closelog() is
+        called twice (Andreas Jaekel).
+        [BUGFIX] CPAN-RT#64287: Make strftime() Windows-compatible (Dave Stafford).
+        [FEATURE] New API for setlogsock(), in order to allow the setting
+        of new options. Thanks to Jake Scott for the idea.
+        [CODE] Modify can_load() so it can print the warnings if desired.
+        [CODE] CPAN-RT#44410: Provide fallback macros in Syslog.xs in
+        order to compile on Novell Netware.
+        [TESTS] In blead, the distribution was moved from ext/Sys/Syslog
+        to ext/Sys-Syslog. t/constants.t had to be fixed (Vincent Pit).
+        [TESTS] CPAN-RT#53317: In core, Sys-Syslog was moved to cpan/, thus
+        making t/constants.t unable to find macros.all (David Mitchell).
+        [TESTS] CPAN-RT#64716: Skip t/data-validation.t if the available
+        version of POE::Component::Server::Syslog is too old.
+        [DIST] Bleadperl no longer require an empty MAN3PODS (Nicholas Clark).
+        [DIST] Removed unneeded modules in Makefile.PL (Nicholas Clark).
+        [DOC] Recreated Sys::Syslog history from the unified git repository.
+        [DOC] Added a section to list the matching Perl and Sys::Syslog version.
+        [DOC] CPAN-RT#49859: Removed a dead link (Leon Brocard).
+
 0.27 -- 2008.09.21 -- Sebastien Aperghis-Tramoni (SAPER)
         [BUGFIX] Fixed compilation on Win32, thanks to Serguei Trouchelle.
         Also added stubs so calling the XS functions will never fail.
@@ -76,7 +142,7 @@
         [FEATURE] Each non-standard macro now fall backs to a standard macro.
         [CODE] Merged changes from Jerry D. Hedden to use ppport.h only when not
         built from core distribution (blead at 30657).
-        [TESTS] t/syslog.t now generates a more detailled TAP output.
+        [TESTS] t/syslog.t now generates a more detailed TAP output.
         [TESTS] Merged change blead at 29176: suppress taint mode from t/constants.t
         [TESTS] Added regression tests for CPAN-RT#21866 and #25488.
         [EG] Added example script eg/syslog.pl
@@ -109,7 +175,7 @@
 
 0.15 -- 2006.06.10 -- Sebastien Aperghis-Tramoni (SAPER)
         [FEATURE] CPAN-RT#17316: Added a "nofatal" option to openlog().
-        [FEATURE] Sys::Syslog warnings can now be controled by the warnings
+        [FEATURE] Sys::Syslog warnings can now be controlled by the warnings
         category of the same name.
         [FEATURE] Added support for using the native C syslog(3) functions.
         [CODE] Removed most "our" variables.
@@ -167,11 +233,91 @@
         [TESTS] Added t/distchk.t, t/podspell.t, t/podcover.t, t/portfs.t
 
 0.09 -- 2005.12.06 -- Sebastien Aperghis-Tramoni (SAPER)
+        [BUGFIX] Escape percent signs in error message when interpolating %m
+        (Ronald J. Kimball).
         [CODE] Now setlogsock() really croak(), as documented.
         [DIST] CPANized from blead at 26281.
-        [DIST] Modified Makefile.PL so that ExtUtils::Constant is conditionaly 
+        [DIST] Modified Makefile.PL so that ExtUtils::Constant is conditionally 
         used, with a fallback in the case it's not available.
         [DIST] Bumped version to 0.09
         [DOC] Added support and license information.
         [TESTS] Rewrote and ported t/syslog.t to Test::More
 
+0.08 -- 2005.12.03
+        [FEATURES] syslog() can now accept a message without printf() escapes
+        and arguments (Gisle Aas ).
+        [DOC] Document that openlog() might die (Rafael Garcia-Suarez).
+
+0.07 -- 2005.06.27
+        [CODE] Use XSLoader instead of DynaLoader (Alexey Tourbin).
+        [DOC] Shows the correct way to use syslog() (Dave Mitchell).
+
+0.06 -- 2004.12.14
+        [FEATURE] Allow escaping %m as %%m in Sys::Syslog format strings (Rafael
+        Garcia-Suarez, suggested by Joshua Richardson and Yitzchak Scott-Thoennes).
+        [CODE] Make Sys::Syslog stricture-compliant (Rafael Garcia-Suarez).
+        [DOC] Document $Sys::Syslog::host (Jay Hannah).
+
+0.05 -- 2004.04.06
+        [FEATURE] IRIX wants setlogsock("stream") (Jarkko Hietaniemi).
+        [FEATURE] Allow syslog() to use numeric constants in addition to strings
+        for facility names and priorities (Jim Schneider ).
+        [DOC] Remind users to always use openlog() (Jarkko Hietaniemi).
+
+0.04 -- 2003.08.13
+        [BUGFIX] Do not use "udp" on some platforms (Slaven Rezic).
+        [BUGFIX] Perl-RT#18180: Fixed a problem with Sys:Syslog on Solaris 8
+        with perl 5.8.0 (Joost van Baal).
+        [BUGFIX] Fixed some warnings (Jarkko Hietaniemi).
+        [BUGFIX] Better error messages (Jari Aalto).
+
+0.03 -- 2002.03.23
+        [BUGFIX] Fixed copious warnings from Sys::Syslog (Andreas K\xF6nig).
+        [FEATURE] Failover to different communication modes by Nick Williams.
+
+0.02 -- 2001.06.04
+        [BUGFIX] /dev/console may not be writable in Syslog.pm (Ask Bjoern Hansen).
+        [BUGFIX] Fixed for accidental arguments to autoloaded constants (Gurusamy Sarathy).
+        [BUGFIX] Make _PATH_LOG() return "" if not available (Gurusamy Sarathy).
+        [BUGFIX] Forked child may not exit correctly if it failed to open
+        /dev/console (Graham Barr).
+        [BUGFIX] More checking in case someone has broken their services or
+        protocol databases (Robert Spier).
+        [BUGFIX] xlate() doesn't handle LOG_EMERG (Mark J. Reed).
+        [CODE] Code for constant()s regenerated by Nicholas Clark.
+        [TESTS] Added syslog.t to check if Sys::Syslog works (Tom Hughes).
+
+0.01 -- 2000.02.04 -- Gurusamy Sarathy
+        [FEATURE] Sys::Syslog now uses XSUBs to access facilities from syslog.h
+        so it no longer requires syslog.ph to exist. Thanks to Tom Hughes.
+        As a consequence, Sys::Syslog moved from lib/ to ext/.
+
+perl 5.004_03 -- 1997.09.05 -- Tim Bunce
+        [BUGFIX] Handle missing _PATH_LOG (Ulrich Pfeifer).
+
+perl 5.004_02 -- 1997.08.07 -- Tim Bunce
+        [FEATURE] UNIX domain sockets support, by Sean Robinson and Tim Bunce.
+
+perl 5.004_01 -- 1997.06.11 -- Tim Bunce
+        [BUGFIX] Allows FQDN (even allowing "_").
+
+perl 5.004 -- 1997.05.15 -- Chip Salzenberg
+        [BUGFIX] Fixed $whoami calulation (Marc Rouleau).
+        [BUGFIX] Allows hyphens in hostnames (Jerome Abela).
+
+perl 5.003_01 -- 1996.06.18 -- Charles Bailey
+        [CODE] Moved call to hostname() into connect() function, and eliminated
+        domain suffix.
+        [DOC] Correct documentation for calling sequence of syslog() function.
+
+perl 5.002_01 -- 1996.03.25 -- Charles Bailey
+        [CODE] Use Sys::Hostname::hostname() only when necessary.
+
+perl 5.002 -- 1996.02.29 -- Larry Wall
+        [CODE] Use constants from Socket.pm (Andy Dougherty).
+        [CODE] Connect to the name given by Sys::Hostname::hostname() instead
+        of "localhost" (Andy Dougherty).
+        [DOC] Added documentation, thanks to Hallvard B Furuseth.
+
+perl 5.000 -- 1994.10.17 -- Larry Wall
+        [DIST] Converted from lib/syslog.pl to lib/Sys/Syslog.pm


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,8 @@
+use 5.005;
 use strict;
-use Config;
 use ExtUtils::MakeMaker;
-eval 'use ExtUtils::MakeMaker::Coverage';
 use File::Copy;
-use File::Path;
 use File::Spec;
-require 5.005;
 
 
 # create a typemap for Perl 5.6
@@ -23,14 +20,15 @@
 
 # detect when to use Win32::EvenLog
 my (@extra_params, @extra_prereqs);
-my $use_eventlog = eval "use Win32::EventLog; 1";
 
-if ($use_eventlog) {
+if ($^O =~ /Win32/) {
     print " * Win32::EventLog detected.\n";
     my $name = "PerlLog";
 
     push @extra_prereqs, 
-        Win32 => 0,  "Win32::TieRegistry" => 0,  "Win32::EventLog" => 0;
+        "Win32::EventLog"    => 0,
+        "Win32::TieRegistry" => 0,
+        "Win32::EventLog"    => 0;
 
     $virtual_path{'win32/Win32.pm'   } = '$(INST_LIBDIR)/Syslog/Win32.pm';
     $virtual_path{'win32/PerlLog.dll'} = '$(INST_ARCHAUTODIR)/PerlLog.dll';
@@ -53,23 +51,10 @@
         close(DLL);
     }
 }
-elsif ($^O =~ /Win32/) {
-    print <<"NOTICE"
- *** You're running on a Win32 system,  but you lack the Win32::EventLog\a
- *** module, part of the libwin32 distribution. Although Sys::Syslog can 
- *** be used without Win32::EventLog, it won't be very useful except for 
- *** sending remote syslog messages.  If you want to log messages on the 
- *** local host as well, please install libwin32 then Sys::Syslog again.
-NOTICE
-}
 
 # detect when being built in Perl core
-if (grep { $_ eq 'PERL_CORE=1' } @ARGV) {
+if (not grep { $_ eq 'PERL_CORE=1' } @ARGV) {
     push @extra_params, 
-        MAN3PODS    => {};      # Pods will be built by installman.
-}
-else {
-    push @extra_params, 
         DEFINE      => '-DUSE_PPPORT_H';
 }
 
@@ -76,6 +61,11 @@
 # on pre-5.6 Perls, add warnings::compat to the prereq modules
 push @extra_prereqs, "warnings::compat" => "0.06"  if $] < 5.006;
 
+# starting with Perl 5.11, "site" and "vendor" directories finally are
+# before "perl" (core) in @INC, thus allowing dual-life modules to be
+# updated without the need to overwrite the old version
+my $installdirs = $] < 5.011 ? "perl" : "site";
+
 WriteMakefile(
     NAME            => 'Sys::Syslog',
     LICENSE         => 'perl',
@@ -82,7 +72,7 @@
     AUTHOR          => 'Sebastien Aperghis-Tramoni <sebastien at aperghis.net>',
     VERSION_FROM    => 'Syslog.pm', 
     ABSTRACT_FROM   => 'Syslog.pm', 
-    INSTALLDIRS     => 'perl',
+    INSTALLDIRS     => $installdirs,
     XSPROTOARG      => '-noprototypes',
     PM              => \%virtual_path, 
     PREREQ_PM       => {
@@ -99,6 +89,11 @@
         # build/test prereqs
         'Test::More'        => 0,
     },
+    META_MERGE          => {
+        resources       => {
+            repository  => "https://github.com/maddingue/Sys-Syslog.git",
+        },
+    },
     PL_FILES        => {},
     dist            => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
     clean           => { FILES => 'Sys-Syslog-*' }, 


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/README
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,17 +21,10 @@
 
     An ANSI-compliant compiler is required to compile the extension.
 
-    Sys::Syslog should work on any Perl since 5.6.0. This module has 
-    been tested by the author on the following Perl and system versions
-    but is likely to run on many more:
+    Sys::Syslog should work on any Perl since 5.6.0. This module is 
+    regularly compiled and tested by the CPAN Testers on various
+    combinations of Perl and operating systems.
 
-        Perl    Architecture                            GCC
-        -----------------------------------------------------
-        5.6.2   i686-linux                              3.4.1
-        5.8.5   i386-linux-thread-multi                 3.4.1
-        5.8.8   i386-freebsd-64int                      3.4.4
-        5.8.6   darwin-thread-multi-2level (PowerPC)    4.0.1
-
     See also the corresponding CPAN Testers page:
         http://testers.cpan.org/show/Sys-Syslog.html
 
@@ -48,8 +41,8 @@
         Search CPAN
             http://search.cpan.org/dist/Sys-Syslog/
 
-        Kobes' CPAN Search
-            http://cpan.uwinnipeg.ca/dist/Sys-Syslog
+        MetaCPAN
+            https://metacpan.org/module/Sys::Syslog
 
         CPAN Request Tracker:
             http://rt.cpan.org/NoAuth/Bugs.html?Dist=Sys-Syslog
@@ -63,7 +56,7 @@
 
 COPYRIGHT AND LICENCE
 
-    Copyright (C) 1990-2008 by Larry Wall and others.
+    Copyright (C) 1990-2012 by Larry Wall and others.
 
     This program is free software; you can redistribute it and/or modify it
     under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/README.win32
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/README.win32	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/README.win32	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
     by Sys::Syslog is PerlLog.mc, located in the win32/ subdirectory.
 
     If the message file is updated then you need to go in the win32/ 
-    subdirectory and run the "compile.pl" command to update the relevent 
+    subdirectory and run the "compile.pl" command to update the relevant 
     files. Note that Sys::Syslog::Win32 is built by this process.
 
     The following files are in the win32 directory:


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/README.win32
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/Syslog.pm
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/Syslog.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/Syslog.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,16 +3,17 @@
 use warnings;
 use warnings::register;
 use Carp;
-use Exporter ();
-use Fcntl qw(O_WRONLY);
+use Exporter        ();
+use Fcntl           qw< O_WRONLY >;
 use File::Basename;
-use POSIX qw(strftime setlocale LC_TIME);
-use Socket ':all';
+use POSIX           qw< strftime setlocale LC_TIME >;
+use Socket          qw< :all >;
 require 5.005;
 
+
 {   no strict 'vars';
-    $VERSION = '0.27';
-    @ISA = qw(Exporter);
+    $VERSION = '0.32';
+    @ISA     = qw< Exporter >;
 
     %EXPORT_TAGS = (
         standard => [qw(openlog syslog closelog setlogmask)],
@@ -86,20 +87,23 @@
 # Global variables
 # 
 use vars qw($facility);
-my $connected = 0;              # flag to indicate if we're connected or not
+my $connected       = 0;        # flag to indicate if we're connected or not
 my $syslog_send;                # coderef of the function used to send messages
-my $syslog_path = undef;        # syslog path for "stream" and "unix" mechanisms
-my $syslog_xobj = undef;        # if defined, holds the external object used to send messages
-my $transmit_ok = 0;            # flag to indicate if the last message was transmited
-my $sock_timeout  = 0;          # socket timeout, see below
-my $current_proto = undef;      # current mechanism used to transmit messages
-my $ident = '';                 # identifiant prepended to each message
-$facility = '';                 # current facility
-my $maskpri = LOG_UPTO(&LOG_DEBUG);     # current log mask
+my $syslog_path     = undef;    # syslog path for "stream" and "unix" mechanisms
+my $syslog_xobj     = undef;    # if defined, holds the external object used to send messages
+my $transmit_ok     = 0;        # flag to indicate if the last message was transmitted
+my $sock_port       = undef;    # socket port
+my $sock_timeout    = 0;        # socket timeout, see below
+my $current_proto   = undef;    # current mechanism used to transmit messages
+my $ident           = '';       # identifiant prepended to each message
+$facility           = '';       # current facility
+my $maskpri         = LOG_UPTO(&LOG_DEBUG);     # current log mask
 
 my %options = (
     ndelay  => 0, 
+    noeol   => 0,
     nofatal => 0, 
+    nonul   => 0,
     nowait  => 0, 
     perror  => 0, 
     pid     => 0, 
@@ -108,7 +112,7 @@
 # Default is now to first use the native mechanism, so Perl programs 
 # behave like other normal Unix programs, then try other mechanisms.
 my @connectMethods = qw(native tcp udp unix pipe stream console);
-if ($^O =~ /^(freebsd|linux)$/) {
+if ($^O eq "freebsd" or $^O eq "linux") {
     @connectMethods = grep { $_ ne 'udp' } @connectMethods;
 }
 
@@ -117,12 +121,9 @@
 EVENTLOG: {
     my $is_Win32 = $^O =~ /Win32/i;
 
-    if (can_load("Sys::Syslog::Win32")) {
+    if (can_load("Sys::Syslog::Win32", $is_Win32)) {
         unshift @connectMethods, 'eventlog';
     }
-    elsif ($is_Win32) {
-        warn $@;
-    }
 }
 
 my @defaultMethods = @connectMethods;
@@ -138,8 +139,22 @@
 # happy, the timeout is now zero by default on all systems 
 # except on OSX where it is set to 250 msec, and can be set 
 # with the infamous setlogsock() function.
-$sock_timeout = 0.25 if $^O =~ /darwin/;
+#
+# Update 2011-08: this issue is also been seen on multiprocessor
+# Debian GNU/kFreeBSD systems. See http://bugs.debian.org/627821
+# and https://rt.cpan.org/Ticket/Display.html?id=69997
+# Also, lowering the delay to 1 ms, which should be enough.
 
+$sock_timeout = 0.001 if $^O =~ /darwin|gnukfreebsd/;
+
+
+# Perl 5.6.0's warnings.pm doesn't have warnings::warnif()
+if (not defined &warnings::warnif) {
+    *warnings::warnif = sub {
+        goto &warnings::warn if warnings::enabled(__PACKAGE__)
+    }
+}
+
 # coderef for a nicer handling of errors
 my $err_sub = $options{nofatal} ? \&warnings::warnif : \&croak;
 
@@ -177,8 +192,11 @@
 } 
 
 sub closelog {
-    $facility = $ident = '';
-    disconnect_log();
+    disconnect_log() if $connected;
+    $options{$_} = 0 for keys %options;
+    $facility = $ident = "";
+    $connected = 0;
+    return 1
 } 
 
 sub setlogmask {
@@ -186,125 +204,152 @@
     $maskpri = shift unless $_[0] == 0;
     $oldmask;
 }
- 
-sub setlogsock {
-    my ($setsock, $setpath, $settime) = @_;
 
-    # check arguments
-    my $diag_invalid_arg
-        = "Invalid argument passed to setlogsock; must be 'stream', 'pipe', "
-        . "'unix', 'native', 'eventlog', 'tcp', 'udp' or 'inet'";
-    croak $diag_invalid_arg unless defined $setsock;
-    croak "Invalid number of arguments" unless @_ >= 1 and @_ <= 3;
 
-    $syslog_path  = $setpath if defined $setpath;
-    $sock_timeout = $settime if defined $settime;
+my %mechanism = (
+    console => {
+        check   => sub { 1 },
+    },
+    eventlog => {
+        check   => sub { return can_load("Win32::EventLog") },
+        err_msg => "no Win32 API available",
+    },
+    inet => {
+        check   => sub { 1 },
+    },
+    native => {
+        check   => sub { 1 },
+    },
+    pipe => {
+        check   => sub {
+            ($syslog_path) = grep { defined && length && -p && -w _ }
+                                $syslog_path, &_PATH_LOG, "/dev/log";
+            return $syslog_path ? 1 : 0
+        },
+        err_msg => "path not available",
+    },
+    stream => {
+        check   => sub {
+            if (not defined $syslog_path) {
+                my @try = qw(/dev/log /dev/conslog);
+                unshift @try, &_PATH_LOG  if length &_PATH_LOG;
+                ($syslog_path) = grep { -w } @try;
+            }
+            return defined $syslog_path && -w $syslog_path
+        },
+        err_msg => "could not find any writable device",
+    },
+    tcp => {
+        check   => sub {
+            return 1 if defined $sock_port;
 
-    disconnect_log() if $connected;
-    $transmit_ok = 0;
-    @fallbackMethods = ();
-    @connectMethods = @defaultMethods;
-
-    if (ref $setsock eq 'ARRAY') {
-	@connectMethods = @$setsock;
-
-    } elsif (lc $setsock eq 'stream') {
-	if (not defined $syslog_path) {
-	    my @try = qw(/dev/log /dev/conslog);
-
-            if (length &_PATH_LOG) {        # Undefined _PATH_LOG is "".
-		unshift @try, &_PATH_LOG;
+            if (getservbyname('syslog', 'tcp') || getservbyname('syslogng', 'tcp')) {
+                $host = $syslog_path;
+                return 1
             }
+            else {
+                return
+            }
+        },
+        err_msg => "TCP service unavailable",
+    },
+    udp => {
+        check   => sub {
+            return 1 if defined $sock_port;
 
-	    for my $try (@try) {
-		if (-w $try) {
-		    $syslog_path = $try;
-		    last;
-		}
-	    }
-
-            if (not defined $syslog_path) {
-                warnings::warnif "stream passed to setlogsock, but could not find any device";
-                return undef
+            if (getservbyname('syslog', 'udp')) {
+                $host = $syslog_path;
+                return 1
             }
-        }
+            else {
+                return
+            }
+        },
+        err_msg => "UDP service unavailable",
+    },
+    unix => {
+        check   => sub {
+            my @try = ($syslog_path, &_PATH_LOG);
+            ($syslog_path) = grep { defined && length && -w } @try;
+            return defined $syslog_path && -w $syslog_path
+        },
+        err_msg => "path not available",
+    },
+);
+ 
+sub setlogsock {
+    my %opt;
 
-	if (not -w $syslog_path) {
-            warnings::warnif "stream passed to setlogsock, but $syslog_path is not writable";
-	    return undef;
-	} else {
-            @connectMethods = qw(stream);
-	}
+    # handle arguments
+    # - old API: setlogsock($sock_type, $sock_path, $sock_timeout)
+    # - new API: setlogsock(\%options)
+    croak "setlogsock(): Invalid number of arguments"
+        unless @_ >= 1 and @_ <= 3;
 
-    } elsif (lc $setsock eq 'unix') {
-        if (length _PATH_LOG() || (defined $syslog_path && -w $syslog_path)) {
-	    $syslog_path = _PATH_LOG() unless defined $syslog_path;
-            @connectMethods = qw(unix);
-        } else {
-            warnings::warnif 'unix passed to setlogsock, but path not available';
-	    return undef;
+    if (my $ref = ref $_[0]) {
+        if ($ref eq "HASH") {
+            %opt = %{ $_[0] };
+            croak "setlogsock(): No argument given" unless keys %opt;
         }
-
-    } elsif (lc $setsock eq 'pipe') {
-        for my $path ($syslog_path, &_PATH_LOG, "/dev/log") {
-            next unless defined $path and length $path and -p $path and -w _;
-            $syslog_path = $path;
-            last
+        elsif ($ref eq "ARRAY") {
+            @opt{qw< type path timeout >} = @_;
         }
-
-        if (not $syslog_path) {
-            warnings::warnif "pipe passed to setlogsock, but path not available";
-            return undef
+        else {
+            croak "setlogsock(): Unexpected \L$ref\E reference"
         }
+    }
+    else {
+        @opt{qw< type path timeout >} = @_;
+    }
 
-        @connectMethods = qw(pipe);
+    # check socket type, remove invalid ones
+    my $diag_invalid_type = "setlogsock(): Invalid type%s; must be one of "
+                          . join ", ", map { "'$_'" } sort keys %mechanism;
+    croak sprintf $diag_invalid_type, "" unless defined $opt{type};
+    my @sock_types = ref $opt{type} eq "ARRAY" ? @{$opt{type}} : ($opt{type});
+    my @tmp;
 
-    } elsif (lc $setsock eq 'native') {
-        @connectMethods = qw(native);
+    for my $sock_type (@sock_types) {
+        carp sprintf $diag_invalid_type, " '$sock_type'" and next
+            unless exists $mechanism{$sock_type};
+        push @tmp, "tcp", "udp" and next  if $sock_type eq "inet";
+        push @tmp, $sock_type;
+    }
 
-    } elsif (lc $setsock eq 'eventlog') {
-        if (can_load("Win32::EventLog")) {
-            @connectMethods = qw(eventlog);
-        } else {
-            warnings::warnif "eventlog passed to setlogsock, but no Win32 API available";
-            $@ = "";
-            return undef;
-        }
+    @sock_types = @tmp;
 
-    } elsif (lc $setsock eq 'tcp') {
-	if (getservbyname('syslog', 'tcp') || getservbyname('syslogng', 'tcp')) {
-            @connectMethods = qw(tcp);
-            $host = $syslog_path;
-	} else {
-            warnings::warnif "tcp passed to setlogsock, but tcp service unavailable";
-	    return undef;
-	}
+    # set global options
+    $syslog_path  = $opt{path}    if defined $opt{path};
+    $host         = $opt{host}    if defined $opt{host};
+    $sock_timeout = $opt{timeout} if defined $opt{timeout};
+    $sock_port    = $opt{port}    if defined $opt{port};
 
-    } elsif (lc $setsock eq 'udp') {
-	if (getservbyname('syslog', 'udp')) {
-            @connectMethods = qw(udp);
-            $host = $syslog_path;
-	} else {
-            warnings::warnif "udp passed to setlogsock, but udp service unavailable";
-	    return undef;
-	}
+    disconnect_log() if $connected;
+    $transmit_ok = 0;
+    @fallbackMethods = ();
+    @connectMethods = ();
+    my $found = 0;
 
-    } elsif (lc $setsock eq 'inet') {
-	@connectMethods = ( 'tcp', 'udp' );
+    # check each given mechanism and test if it can be used on the current system
+    for my $sock_type (@sock_types) {
+        if ( $mechanism{$sock_type}{check}->() ) {
+            push @connectMethods, $sock_type;
+            $found = 1;
+        }
+        else {
+            warnings::warnif("setlogsock(): type='$sock_type': "
+                           . $mechanism{$sock_type}{err_msg});
+        }
+    }
 
-    } elsif (lc $setsock eq 'console') {
-	@connectMethods = qw(console);
+    # if no mechanism worked from the given ones, use the default ones
+    @connectMethods = @defaultMethods unless @connectMethods;
 
-    } else {
-        croak $diag_invalid_arg
-    }
-
-    return 1;
+    return $found;
 }
 
 sub syslog {
-    my $priority = shift;
-    my $mask = shift;
+    my ($priority, $mask, @args) = @_;
     my ($message, $buf);
     my (@words, $num, $numpri, $numfac, $sum);
     my $failed = undef;
@@ -320,33 +365,48 @@
     croak "syslog: expecting argument \$priority" unless defined $priority;
     croak "syslog: expecting argument \$format"   unless defined $mask;
 
-    croak "syslog: invalid level/facility: $priority" if $priority =~ /^-\d+$/;
-    @words = split(/\W+/, $priority, 2);    # Allow "level" or "level|facility".
-    undef $numpri;
-    undef $numfac;
+    if ($priority =~ /^\d+$/) {
+        $numpri = LOG_PRI($priority);
+        $numfac = LOG_FAC($priority) << 3;
+    }
+    elsif ($priority =~ /^\w+/) {
+        # Allow "level" or "level|facility".
+        @words = split /\W+/, $priority, 2;
 
-    for my $word (@words) {
-        next if length $word == 0;
+        undef $numpri;
+        undef $numfac;
 
-        $num = xlate($word);        # Translate word to number.
+        for my $word (@words) {
+            next if length $word == 0;
 
-        if ($num < 0) {
-            croak "syslog: invalid level/facility: $word"
+            # Translate word to number.
+            $num = xlate($word);
+
+            if ($num < 0) {
+                croak "syslog: invalid level/facility: $word"
+            }
+            elsif ($num <= LOG_PRIMASK() and $word ne "kern") {
+                croak "syslog: too many levels given: $word"
+                    if defined $numpri;
+                $numpri = $num;
+            }
+            else {
+                croak "syslog: too many facilities given: $word"
+                    if defined $numfac;
+                $facility = $word if $word =~ /^[A-Za-z]/;
+                $numfac = $num;
+            }
         }
-        elsif ($num <= &LOG_PRIMASK) {
-            croak "syslog: too many levels given: $word" if defined $numpri;
-            $numpri = $num;
-            return 0 unless LOG_MASK($numpri) & $maskpri;
-        }
-        else {
-            croak "syslog: too many facilities given: $word" if defined $numfac;
-            $facility = $word;
-            $numfac = $num;
-        }
     }
+    else {
+        croak "syslog: invalid level/facility: $priority"
+    }
 
     croak "syslog: level must be given" unless defined $numpri;
 
+    # don't log if priority is below mask level
+    return 0 unless LOG_MASK($numpri) & $maskpri;
+
     if (not defined $numfac) {  # Facility not specified in this call.
 	$facility = 'user' unless $facility;
 	$numfac = xlate($facility);
@@ -356,18 +416,14 @@
 
     if ($mask =~ /%m/) {
         # escape percent signs for sprintf()
-        $error =~ s/%/%%/g if @_;
+        $error =~ s/%/%%/g if @args;
         # replace %m with $error, if preceded by an even number of percent signs
         $mask =~ s/(?<!%)((?:%%)*)%m/$1$error/g;
     }
 
     $mask .= "\n" unless $mask =~ /\n$/;
-    $message = @_ ? sprintf($mask, @_) : $mask;
+    $message = @args ? sprintf($mask, @args) : $mask;
 
-    # See CPAN-RT#24431. Opened on Apple Radar as bug #4944407 on 2007.01.21
-    # Supposedly resolved on Leopard.
-    chomp $message if $^O =~ /darwin/;
-
     if ($current_proto eq 'native') {
         $buf = $message;
     }
@@ -381,15 +437,22 @@
         $sum = $numpri + $numfac;
         my $oldlocale = setlocale(LC_TIME);
         setlocale(LC_TIME, 'C');
-        my $timestamp = strftime "%b %e %T", localtime;
+        my $timestamp = strftime "%b %d %H:%M:%S", localtime;
         setlocale(LC_TIME, $oldlocale);
-        $buf = "<$sum>$timestamp $whoami: $message\0";
+
+        # construct the stream that will be transmitted
+        $buf = "<$sum>$timestamp $whoami: $message";
+
+        # add (or not) a newline
+        $buf .= "\n" if !$options{noeol} and rindex($buf, "\n") == -1;
+
+        # add (or not) a NUL character
+        $buf .= "\0" if !$options{nonul};
     }
 
     # handle PERROR option
     # "native" mechanism already handles it by itself
     if ($options{perror} and $current_proto ne 'native') {
-        chomp $message;
         my $whoami = $ident;
         $whoami .= "[$$]" if $options{pid};
         print STDERR "$whoami: $message\n";
@@ -436,7 +499,7 @@
 
 sub _syslog_send_console {
     my ($buf) = @_;
-    chop($buf); # delete the NUL from the end
+
     # The console print is a method which could block
     # so we do it in a child process and always return success
     # to the caller.
@@ -456,10 +519,11 @@
     } else {
         if (open(CONS, ">/dev/console")) {
 	    my $ret = print CONS $buf . "\r";  # XXX: should this be \x0A ?
-	    exit $ret if defined $pid;
+	    POSIX::_exit $ret if defined $pid;
 	    close CONS;
 	}
-	exit if defined $pid;
+
+	POSIX::_exit if defined $pid;
     }
 }
 
@@ -484,8 +548,8 @@
 }
 
 sub _syslog_send_native {
-    my ($buf, $numpri) = @_;
-    syslog_xs($numpri, $buf);
+    my ($buf, $numpri, $numfac) = @_;
+    syslog_xs($numpri|$numfac, $buf);
     return 1;
 }
 
@@ -560,15 +624,15 @@
 sub connect_tcp {
     my ($errs) = @_;
 
-    my $tcp = getprotobyname('tcp');
-    if (!defined $tcp) {
+    my $proto = getprotobyname('tcp');
+    if (!defined $proto) {
 	push @$errs, "getprotobyname failed for tcp";
 	return 0;
     }
 
-    my $syslog = getservbyname('syslog', 'tcp');
-    $syslog = getservbyname('syslogng', 'tcp') unless defined $syslog;
-    if (!defined $syslog) {
+    my $port = $sock_port || getservbyname('syslog', 'tcp');
+    $port = getservbyname('syslogng', 'tcp') unless defined $port;
+    if (!defined $port) {
 	push @$errs, "getservbyname failed for syslog/tcp and syslogng/tcp";
 	return 0;
     }
@@ -583,9 +647,9 @@
     } else {
         $addr = INADDR_LOOPBACK;
     }
-    $addr = sockaddr_in($syslog, $addr);
+    $addr = sockaddr_in($port, $addr);
 
-    if (!socket(SYSLOG, AF_INET, SOCK_STREAM, $tcp)) {
+    if (!socket(SYSLOG, AF_INET, SOCK_STREAM, $proto)) {
 	push @$errs, "tcp socket: $!";
 	return 0;
     }
@@ -608,14 +672,14 @@
 sub connect_udp {
     my ($errs) = @_;
 
-    my $udp = getprotobyname('udp');
-    if (!defined $udp) {
+    my $proto = getprotobyname('udp');
+    if (!defined $proto) {
 	push @$errs, "getprotobyname failed for udp";
 	return 0;
     }
 
-    my $syslog = getservbyname('syslog', 'udp');
-    if (!defined $syslog) {
+    my $port = $sock_port || getservbyname('syslog', 'udp');
+    if (!defined $port) {
 	push @$errs, "getservbyname failed for syslog/udp";
 	return 0;
     }
@@ -630,9 +694,9 @@
     } else {
         $addr = INADDR_LOOPBACK;
     }
-    $addr = sockaddr_in($syslog, $addr);
+    $addr = sockaddr_in($port, $addr);
 
-    if (!socket(SYSLOG, AF_INET, SOCK_DGRAM, $udp)) {
+    if (!socket(SYSLOG, AF_INET, SOCK_DGRAM, $proto)) {
 	push @$errs, "udp socket: $!";
 	return 0;
     }
@@ -790,10 +854,14 @@
 
     if (defined $current_proto and $current_proto eq 'native') {
         closelog_xs();
+        unshift @fallbackMethods, $current_proto;
+        $current_proto = undef;
         return 1;
     }
     elsif (defined $current_proto and $current_proto eq 'eventlog') {
         $syslog_xobj->Close();
+        unshift @fallbackMethods, $current_proto;
+        $current_proto = undef;
         return 1;
     }
 
@@ -814,8 +882,11 @@
 }
 
 sub can_load {
+    my ($module, $verbose) = @_;
     local($SIG{__DIE__}, $SIG{__WARN__}, $@);
-    return eval "use $_[0]; 1"
+    my $loaded = eval "use $module; 1";
+    warn $@ if not $loaded and $verbose;
+    return $loaded
 }
 
 
@@ -829,18 +900,17 @@
 
 =head1 VERSION
 
-Version 0.27
+This is the documentation of version 0.32
 
 =head1 SYNOPSIS
 
-    use Sys::Syslog;                          # all except setlogsock(), or:
-    use Sys::Syslog qw(:DEFAULT setlogsock);  # default set, plus setlogsock()
-    use Sys::Syslog qw(:standard :macros);    # standard functions, plus macros
+    use Sys::Syslog;                        # all except setlogsock()
+    use Sys::Syslog qw(:standard :macros);  # standard functions & macros
 
-    openlog $ident, $logopt, $facility;       # don't forget this
-    syslog $priority, $format, @args;
-    $oldmask = setlogmask $mask_priority;
-    closelog;
+    openlog($ident, $logopt, $facility);    # don't forget this
+    syslog($priority, $format, @args);
+    $oldmask = setlogmask($mask_priority);
+    closelog();
 
 
 =head1 DESCRIPTION
@@ -849,10 +919,7 @@
 Call C<syslog()> with a string priority and a list of C<printf()> args
 just like C<syslog(3)>.
 
-You can find a kind of FAQ in L<"THE RULES OF SYS::SYSLOG">.  Please read 
-it before coding, and again before asking questions. 
 
-
 =head1 EXPORTS
 
 C<Sys::Syslog> exports the following C<Exporter> tags: 
@@ -919,6 +986,11 @@
 
 =item *
 
+C<noeol> - When set to true, no end of line character (C<\n>) will be
+appended to the message. This can be useful for some buggy syslog daemons.
+
+=item *
+
 C<nofatal> - When set to true, C<openlog()> and C<syslog()> will only 
 emit warnings instead of dying if the connection to the syslog can't 
 be established. 
@@ -925,6 +997,11 @@
 
 =item *
 
+C<nonul> - When set to true, no C<NUL> character (C<\0>) will be
+appended to the message. This can be useful for some buggy syslog daemons.
+
+=item *
+
 C<nowait> - Don't wait for child processes that may have been created 
 while logging the message.  (The GNU C library does not create a child
 process, so this option has no effect on Linux.)
@@ -932,7 +1009,7 @@
 =item *
 
 C<perror> - Write the message to standard error output as well to the
-system log.
+system log (added in C<Sys::Syslo> 0.22).
 
 =item *
 
@@ -962,7 +1039,7 @@
 C<$priority> can specify a level, or a level and a facility.  Levels and 
 facilities can be given as strings or as macros.  When using the C<eventlog>
 mechanism, priorities C<DEBUG> and C<INFO> are mapped to event type 
-C<informational>, C<NOTICE> and C<WARNIN> to C<warning> and C<ERR> to 
+C<informational>, C<NOTICE> and C<WARNING> to C<warning> and C<ERR> to 
 C<EMERG> to C<error>.
 
 If you didn't use C<openlog()> before using C<syslog()>, C<syslog()> will 
@@ -971,11 +1048,13 @@
 
 B<Examples>
 
-    syslog("info", $message);           # informational level
-    syslog(LOG_INFO, $message);         # informational level
+    # informational level
+    syslog("info", $message);
+    syslog(LOG_INFO, $message);
 
-    syslog("info|local0", $message);        # information level, Local0 facility
-    syslog(LOG_INFO|LOG_LOCAL0, $message);  # information level, Local0 facility
+    # information level, Local0 facility
+    syslog("info|local0", $message);
+    syslog(LOG_INFO|LOG_LOCAL0, $message);
 
 =over 4
 
@@ -1012,7 +1091,9 @@
 
 Log critical messages, errors and warnings: 
 
-    setlogmask( LOG_MASK(LOG_CRIT) | LOG_MASK(LOG_ERR) | LOG_MASK(LOG_WARNING) );
+    setlogmask( LOG_MASK(LOG_CRIT)
+              | LOG_MASK(LOG_ERR)
+              | LOG_MASK(LOG_WARNING) );
 
 Log all messages up to debug: 
 
@@ -1019,20 +1100,75 @@
     setlogmask( LOG_UPTO(LOG_DEBUG) );
 
 
-=item B<setlogsock($sock_type)>
+=item B<setlogsock()>
 
-=item B<setlogsock($sock_type, $stream_location)> (added in Perl 5.004_02)
+Sets the socket type and options to be used for the next call to C<openlog()>
+or C<syslog()>.  Returns true on success, C<undef> on failure.
 
-=item B<setlogsock($sock_type, $stream_location, $sock_timeout)> (added in 0.25)
+Being Perl-specific, this function has evolved along time.  It can currently
+be called as follow:
 
-Sets the socket type to be used for the next call to
-C<openlog()> or C<syslog()> and returns true on success,
-C<undef> on failure. The available mechanisms are: 
+=over
 
+=item *
+
+C<setlogsock($sock_type)>
+
+=item *
+
+C<setlogsock($sock_type, $stream_location)> (added in Perl 5.004_02)
+
+=item *
+
+C<setlogsock($sock_type, $stream_location, $sock_timeout)> (added in
+C<Sys::Syslog> 0.25)
+
+=item *
+
+C<setlogsock(\%options)> (added in C<Sys::Syslog> 0.28)
+
+=back
+
+The available options are:
+
 =over
 
 =item *
 
+C<type> - equivalent to C<$sock_type>, selects the socket type (or
+"mechanism").  An array reference can be passed to specify several
+mechanisms to try, in the given order.
+
+=item *
+
+C<path> - equivalent to C<$stream_location>, sets the stream location.
+Defaults to standard Unix location, or C<_PATH_LOG>.
+
+=item *
+
+C<timeout> - equivalent to C<$sock_timeout>, sets the socket timeout
+in seconds.  Defaults to 0 on all systems except S<Mac OS X> where it
+is set to 0.25 sec.
+
+=item *
+
+C<host> - sets the hostname to send the messages to.  Defaults to 
+the local host.
+
+=item *
+
+C<port> - sets the TCP or UDP port to connect to.  Defaults to the
+first standard syslog port available on the system.
+
+=back
+
+
+The available mechanisms are: 
+
+=over
+
+=item *
+
 C<"native"> - use the native C functions from your C<syslog(3)> library
 (added in C<Sys::Syslog> 0.15).
 
@@ -1044,39 +1180,38 @@
 =item *
 
 C<"tcp"> - connect to a TCP socket, on the C<syslog/tcp> or C<syslogng/tcp> 
-service. If defined, the second parameter is used as a hostname to connect to.
+service.  See also the C<host>, C<port> and C<timeout> options.
 
 =item *
 
 C<"udp"> - connect to a UDP socket, on the C<syslog/udp> service.
-If defined, the second parameter is used as a hostname to connect to, 
-and the third parameter as the timeout used to check for UDP response. 
+See also the C<host>, C<port> and C<timeout> options.
 
 =item *
 
 C<"inet"> - connect to an INET socket, either TCP or UDP, tried in that 
-order.  If defined, the second parameter is used as a hostname to connect to.
+order.  See also the C<host>, C<port> and C<timeout> options.
 
 =item *
 
 C<"unix"> - connect to a UNIX domain socket (in some systems a character 
-special device).  The name of that socket is the second parameter or, if 
-you omit the second parameter, the value returned by the C<_PATH_LOG> macro 
-(if your system defines it), or F</dev/log> or F</dev/conslog>, whatever is 
-writable.  
+special device).  The name of that socket is given by the C<path> option
+or, if omitted, the value returned by the C<_PATH_LOG> macro (if your
+system defines it), F</dev/log> or F</dev/conslog>, whichever is writable.
 
 =item *
 
-C<"stream"> - connect to the stream indicated by the pathname provided as 
-the optional second parameter, or, if omitted, to F</dev/conslog>. 
-For example Solaris and IRIX system may prefer C<"stream"> instead of C<"unix">. 
+C<"stream"> - connect to the stream indicated by the C<path> option, or,
+if omitted, the value returned by the C<_PATH_LOG> macro (if your system
+defines it), F</dev/log> or F</dev/conslog>, whichever is writable.  For
+example Solaris and IRIX system may prefer C<"stream"> instead of C<"unix">. 
 
 =item *
 
-C<"pipe"> - connect to the named pipe indicated by the pathname provided as 
-the optional second parameter, or, if omitted, to the value returned by 
-the C<_PATH_LOG> macro (if your system defines it), or F</dev/log>
-(added in C<Sys::Syslog> 0.21).
+C<"pipe"> - connect to the named pipe indicated by the C<path> option,
+or, if omitted, to the value returned by the C<_PATH_LOG> macro (if your
+system defines it), or F</dev/log> (added in C<Sys::Syslog> 0.21).
+HP-UX is a system which uses such a named pipe.
 
 =item *
 
@@ -1085,10 +1220,6 @@
 
 =back
 
-A reference to an array can also be passed as the first parameter.
-When this calling method is used, the array should contain a list of
-mechanisms which are attempted in order.
-
 The default is to try C<native>, C<tcp>, C<udp>, C<unix>, C<pipe>, C<stream>, 
 C<console>.
 Under systems with the Win32 API, C<eventlog> will be added as the first 
@@ -1098,12 +1229,20 @@
 
 B<Examples>
 
-Select the UDP socket mechanism: 
+Select the UDP socket mechanism:
 
     setlogsock("udp");
 
-Select the native, UDP socket then UNIX domain socket mechanisms: 
+Send messages using the TCP socket mechanism on a custom port:
 
+    setlogsock({ type => "tcp", port => 2486 });
+
+Send messages to a remote host using the TCP socket mechanism:
+
+    setlogsock({ type => "tcp", host => $loghost });
+
+Try the native, UDP socket then UNIX domain socket mechanisms: 
+
     setlogsock(["native", "udp", "unix"]);
 
 =over
@@ -1392,6 +1531,30 @@
 =back
 
 
+=head1 HISTORY
+
+C<Sys::Syslog> is a core module, part of the standard Perl distribution
+since 1990.  At this time, modules as we know them didn't exist, the
+Perl library was a collection of F<.pl> files, and the one for sending
+syslog messages with was simply F<lib/syslog.pl>, included with Perl 3.0.
+It was converted as a module with Perl 5.0, but had a version number
+only starting with Perl 5.6.  Here is a small table with the matching
+Perl and C<Sys::Syslog> versions.
+
+    Sys::Syslog     Perl
+    -----------     ----
+       undef        5.0.0 ~ 5.5.4
+       0.01         5.6.*
+       0.03         5.8.0
+       0.04         5.8.1, 5.8.2, 5.8.3
+       0.05         5.8.4, 5.8.5, 5.8.6
+       0.06         5.8.7
+       0.13         5.8.8
+       0.22         5.10.0
+       0.27         5.8.9, 5.10.1 ~ 5.14.2
+       0.29         5.16.0, 5.16.1
+
+
 =head1 SEE ALSO
 
 =head2 Manual Pages
@@ -1502,15 +1665,15 @@
 
 =item * RT: CPAN's request tracker
 
-L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Sys-Syslog>
+L<http://rt.cpan.org/Dist/Display.html?Queue=Sys-Syslog>
 
 =item * Search CPAN
 
 L<http://search.cpan.org/dist/Sys-Syslog/>
 
-=item * Kobes' CPAN Search
+=item * MetaCPAN
 
-L<http://cpan.uwinnipeg.ca/dist/Sys-Syslog>
+L<https://metacpan.org/module/Sys::Syslog>
 
 =item * Perl Documentation
 
@@ -1521,7 +1684,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (C) 1990-2008 by Larry Wall and others.
+Copyright (C) 1990-2012 by Larry Wall and others.
 
 
 =head1 LICENSE
@@ -1563,7 +1726,6 @@
 I don't know what bug the author referred to.
 
 - L<http://www.tpc.int/>
-- L<ftp://ftp.tpc.int/tpc/server/UNIX/>
 - L<ftp://ftp-usa.tpc.int/pub/tpc/server/UNIX/>
 
 


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/Syslog.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/Syslog.xs
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/Syslog.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/Syslog.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,10 @@
+/*
+ * Syslog.xs
+ * 
+ * XS wrapper for the syslog(3) facility.
+ * 
+ */
+
 #if defined(_WIN32)
 #  include <windows.h>
 #endif
@@ -24,8 +31,35 @@
 
 static SV *ident_svptr;
 
+
+#ifndef LOG_FAC
+#define LOG_FACMASK     0x03f8
+#define LOG_FAC(p)      (((p) & LOG_FACMASK) >> 3)
+#endif
+
+#ifndef LOG_PRIMASK
+#define LOG_PRIMASK     0x07
+#endif
+
+#ifndef	LOG_PRI
+#define	LOG_PRI(p)	((p) & LOG_PRIMASK)
+#endif
+
+#ifndef	LOG_MAKEPRI
+#define	LOG_MAKEPRI(fac, pri)	(((fac) << 3) | (pri))
+#endif
+
+#ifndef LOG_MASK
+#define	LOG_MASK(pri)	(1 << (pri))
+#endif
+
+#ifndef LOG_UPTO
+#define	LOG_UPTO(pri)	((1 << ((pri)+1)) - 1)
+#endif
+
 #include "const-c.inc"
 
+
 MODULE = Sys::Syslog		PACKAGE = Sys::Syslog		
 
 INCLUDE: const-xs.inc
@@ -34,29 +68,11 @@
 LOG_FAC(p)
     INPUT:
 	int		p
-    CODE:
-#ifdef LOG_FAC
-	RETVAL = LOG_FAC(p);
-#else
-	croak("Your vendor has not defined the Sys::Syslog macro LOG_FAC");
-	RETVAL = -1;
-#endif
-    OUTPUT:
-	RETVAL
 
 int
 LOG_PRI(p)
     INPUT:
 	int		p
-    CODE:
-#ifdef LOG_PRI
-	RETVAL = LOG_PRI(p);
-#else
-	croak("Your vendor has not defined the Sys::Syslog macro LOG_PRI");
-	RETVAL = -1;
-#endif
-    OUTPUT:
-	RETVAL
 
 int
 LOG_MAKEPRI(fac,pri)
@@ -63,43 +79,16 @@
     INPUT:
 	int		fac
 	int		pri
-    CODE:
-#ifdef LOG_MAKEPRI
-	RETVAL = LOG_MAKEPRI(fac,pri);
-#else
-	croak("Your vendor has not defined the Sys::Syslog macro LOG_MAKEPRI");
-	RETVAL = -1;
-#endif
-    OUTPUT:
-	RETVAL
 
 int
 LOG_MASK(pri)
     INPUT:
 	int		pri
-    CODE:
-#ifdef LOG_MASK
-	RETVAL = LOG_MASK(pri);
-#else
-	croak("Your vendor has not defined the Sys::Syslog macro LOG_MASK");
-	RETVAL = -1;
-#endif
-    OUTPUT:
-	RETVAL
 
 int
 LOG_UPTO(pri)
     INPUT:
 	int		pri
-    CODE:
-#ifdef LOG_UPTO
-	RETVAL = LOG_UPTO(pri);
-#else
-	croak("Your vendor has not defined the Sys::Syslog macro LOG_UPTO");
-	RETVAL = -1;
-#endif
-    OUTPUT:
-	RETVAL
 
 #ifdef HAVE_SYSLOG
 
@@ -136,10 +125,18 @@
 
 void
 closelog_xs()
+    PREINIT:
+        U32 refcnt;
     CODE:
+        if (!ident_svptr)
+            return;
         closelog();
-        if (SvREFCNT(ident_svptr))
+        refcnt = SvREFCNT(ident_svptr);
+        if (refcnt) {
             SvREFCNT_dec(ident_svptr);
+            if (refcnt == 1)
+                ident_svptr = NULL;
+        }
 
 #else  /* HAVE_SYSLOG */
 


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/Syslog.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Sys-Syslog/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/fallback/const-c.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/fallback/const-c.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Sys-Syslog/fallback/const-c.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Sys-Syslog/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/fallback/const-xs.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/fallback/const-xs.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Sys-Syslog/fallback/const-xs.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Sys-Syslog/fallback/syslog.h
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/fallback/syslog.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/fallback/syslog.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Sys-Syslog/fallback/syslog.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Sys-Syslog/t/00-load.t
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/t/00-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/t/00-load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Sys-Syslog/t/00-load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/t/constants.t
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/t/constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/t/constants.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,6 @@
 use File::Spec;
 use Test::More;
 
-# NB. For PERL_CORE to be set, taint mode must not be enabled
 my $macrosall = 'macros.all';
 open(MACROS, $macrosall) or plan skip_all => "can't read '$macrosall': $!";
 my @names = map {chomp;$_} <MACROS>;


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/t/constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/t/syslog.t
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/t/syslog.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/t/syslog.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -45,13 +45,25 @@
 can_ok( 'Sys::Syslog' => qw(openlog syslog syslog setlogmask setlogsock closelog) );
 
 
-BEGIN { $tests += 1 }
+BEGIN { $tests += 4 }
 # check the diagnostics
 # setlogsock()
 eval { setlogsock() };
-like( $@, qr/^Invalid argument passed to setlogsock/, 
+like( $@, qr/^setlogsock\(\): Invalid number of arguments/, 
     "calling setlogsock() with no argument" );
 
+eval { setlogsock(undef) };
+like( $@, qr/^setlogsock\(\): Invalid type; must be one of /, 
+    "calling setlogsock() with undef" );
+
+eval { setlogsock(\"") };
+like( $@, qr/^setlogsock\(\): Unexpected scalar reference/, 
+    "calling setlogsock() with a scalar reference" );
+
+eval { setlogsock({}) };
+like( $@, qr/^setlogsock\(\): No argument given/, 
+    "calling setlogsock() with an empty hash reference" );
+
 BEGIN { $tests += 3 }
 # syslog()
 eval { syslog() };
@@ -84,7 +96,9 @@
     is( $@, '', "setlogsock() called with '$sock_type'" );
     TODO: {
         local $TODO = "minor bug";
+        SKIP: { skip "TODO $TODO", 1 if $] < 5.006002;
         ok( $r, "setlogsock() should return true: '$r'" );
+        }
     }
 
     # open syslog with a "local0" facility
@@ -264,3 +278,44 @@
         setlogmask($oldmask);
     }
 }
+
+BEGIN { $tests += 4 }
+SKIP: {
+    # case: test the return value of setlogsock()
+
+    # setlogsock("stream") on a non-existent file must fail
+    eval { $r = setlogsock("stream", "plonk/log") };
+    is( $@, '', "setlogsock() didn't croak");
+    ok( !$r, "setlogsock() correctly failed with a non-existent stream path");
+
+    # setlogsock("tcp") must fail if the service is not declared
+    my $service = getservbyname("syslog", "tcp") || getservbyname("syslogng", "tcp");
+    skip "can't test setlogsock() tcp failure", 2 if $service;
+    eval { $r = setlogsock("tcp") };
+    is( $@, '', "setlogsock() didn't croak");
+    ok( !$r, "setlogsock() correctly failed when tcp services can't be resolved");
+}
+
+BEGIN { $tests += 3 }
+SKIP: {
+    # case: configure Sys::Syslog to use the stream mechanism on a
+    #       given file, but remove the file before openlog() is called,
+    #       so it fails.
+
+    # create the log file
+    my $log = "t/stream";
+    open my $fh, ">$log" or skip "can't write file '$log': $!", 3;
+    close $fh;
+
+    # configure Sys::Syslog to use it
+    $r = eval { setlogsock("stream", $log) };
+    is( $@, "", "setlogsock('stream', '$log') -> $r" );
+    skip "can't test openlog() failure with a missing stream", 2 if !$r;
+
+    # remove the log and check that openlog() fails
+    unlink $log;
+    $r = eval { openlog('perl', 'ndelay', 'local0') };
+    ok( !$r, "openlog() correctly failed with a non-existent stream" );
+    like( $@, '/not writable/', "openlog() correctly croaked with a non-existent stream" );
+}
+


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/t/syslog.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog.mc
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog.mc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog.mc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,602 +1,602 @@
-; // Sys::Syslog Message File 1.0.0
-
-MessageIdTypedef = DWORD
-
-SeverityNames = (
-    Success         = 0x0:STATUS_SEVERITY_SUCCESS
-    Informational   = 0x1:STATUS_SEVERITY_INFORMATIONAL
-    Warning         = 0x2:STATUS_SEVERITY_WARNING
-    Error           = 0x3:STATUS_SEVERITY_ERROR
-)
-
-LanguageNames = ( English = 0x0409:MSG00409 )
-LanguageNames = ( French  = 0x040C:MSG0040C )
-
-
-; // =================================================================
-; // The following are facility name definitions
-
-MessageId = 0x0001
-SymbolicName = CAT_KERN
-Language = English
-Kernel
-.
-Language = French
-Kernel
-.
-
-MessageId = 0x0002
-SymbolicName = CAT_USER
-Language = English
-User
-.
-Language = French
-User
-.
-
-MessageId = 0x0003
-SymbolicName = CAT_MAIL
-Language = English
-Mail
-.
-Language = French
-Mail
-.
-
-MessageId = 0x0004
-SymbolicName = CAT_DAEMON
-Language = English
-Daemon
-.
-Language = French
-Daemon
-.
-
-MessageId = 0x0005
-SymbolicName = CAT_AUTH
-Language = English
-Auth
-.
-Language = French
-Auth
-.
-
-MessageId = 0x0006
-SymbolicName = CAT_SYSLOG
-Language = English
-Syslog
-.
-Language = French
-Syslog
-.
-
-MessageId = 0x0007
-SymbolicName = CAT_LPR
-Language = English
-LPR
-.
-Language = French
-LPR
-.
-
-MessageId = 0x0008
-SymbolicName = CAT_NEWS
-Language = English
-News
-.
-Language = French
-News
-.
-
-MessageId = 0x0009
-SymbolicName = CAT_UUCP
-Language = English
-UUCP
-.
-Language = French
-UUCP
-.
-
-MessageId = 0x000a
-SymbolicName = CAT_CRON
-Language = English
-Cron
-.
-Language = French
-Cron
-.
-
-MessageId = 0x000b
-SymbolicName = CAT_AUTHPRIV
-Language = English
-AuthPrivate
-.
-Language = French
-AuthPrivate
-.
-
-MessageId = 0x000c
-SymbolicName = CAT_FTP
-Language = English
-FTP
-.
-Language = French
-FTP
-.
-
-MessageId = 0x000d
-SymbolicName = CAT_LOCAL0
-Language = English
-Local0
-.
-Language = French
-Local0
-.
-
-MessageId = 0x000e
-SymbolicName = CAT_LOCAL1
-Language = English
-Local1
-.
-Language = French
-Local1
-.
-
-MessageId = 0x000f
-SymbolicName = CAT_LOCAL2
-Language = English
-Local2
-.
-Language = French
-Local2
-.
-
-MessageId = 0x0010
-SymbolicName = CAT_LOCAL3
-Language = English
-Local3
-.
-Language = French
-Local3
-.
-
-MessageId = 0x0011
-SymbolicName = CAT_LOCAL4
-Language = English
-Local4
-.
-Language = French
-Local4
-.
-
-MessageId = 0x0012
-SymbolicName = CAT_LOCAL5
-Language = English
-Local5
-.
-Language = French
-Local5
-.
-
-MessageId = 0x0013
-SymbolicName = CAT_LOCAL6
-Language = English
-Local6
-.
-Language = French
-Local6
-.
-
-MessageId = 0x0014
-SymbolicName = CAT_LOCAL7
-Language = English
-Local7
-.
-Language = French
-Local7
-.
-
-; // Mac OS X specific facilities ------------------------------------
-
-MessageId = 0x0015
-SymbolicName = CAT_NETINFO
-Language = English
-NetInfo
-.
-Language = French
-NetInfo
-.
-
-MessageId = 0x0016
-SymbolicName = CAT_REMOTEAUTH
-Language = English
-RemoteAuth
-.
-Language = French
-RemoteAuth
-.
-
-MessageId = 0x0017
-SymbolicName = CAT_RAS
-Language = English
-RAS
-.
-Language = French
-RAS
-.
-
-MessageId = 0x0018
-SymbolicName = CAT_INSTALL
-Language = English
-Install
-.
-Language = French
-Install
-.
-
-MessageId = 0x0019
-SymbolicName = CAT_LAUNCHD
-Language = English
-Launchd
-.
-Language = French
-Launchd
-.
-
-; //modern BSD specific facilities ----------------------------------
-
-MessageId = 0x001a
-SymbolicName = CAT_CONSOLE
-Language = English
-Console
-.
-Language = French
-Console
-.
-
-MessageId = 0x001b
-SymbolicName = CAT_NTP
-Language = English
-NTP
-.
-Language = French
-NTP
-.
-
-MessageId = 0x001c
-SymbolicName = CAT_SECURITY
-Language = English
-Security
-.
-Language = French
-S\xE9curit\xE9
-.
-
-; // IRIX specific facilities ----------------------------------------
-
-MessageId = 0x001d
-SymbolicName = CAT_AUDIT
-Language = English
-Audit
-.
-Language = French
-Audit
-.
-
-MessageId = 0x001e
-SymbolicName = CAT_LFMT
-Language = English
-LogAlert
-.
-Language = French
-LogAlert
-.
-
-
-; // =================================================================
-; // The following are message definitions.
-
-MessageId = 0x0080
-SymbolicName = MSG_KERNEL
-Language = English
-Kernel message: %1
-.
-Language = French
-Message du noyau : %1
-.
-
-
-MessageId = 0x0081
-SymbolicName = MSG_USER
-Language = English
-User message: %1
-.
-Language = French
-Message utilisateur : %1
-.
-
-
-MessageId = 0x0082
-SymbolicName = MSG_MAIL
-Language = English
-Mail subsystem message: %1
-.
-Language = French
-Message du sous-syst\xE8me de courrier : %1
-.
-
-
-MessageId = 0x0083
-SymbolicName = MSG_DAEMON
-Language = English
-Message from a system daemon without separate facility value: %1
-.
-Language = French
-Message d'un daemon sans cat\xE9gorie sp\xE9cifique : %1
-.
-
-
-MessageId = 0x0084
-SymbolicName = MSG_AUTH
-Language = English
-Security/authorization message: %1
-.
-Language = French
-Message de s\xE9curite ou d'authorisation : %1
-.
-
-
-MessageId = 0x0085
-SymbolicName = MSG_SYSLOG
-Language = English
-Message generated internally by syslogd: %1
-.
-Language = French
-Message interne g\xE9n\xE9r\xE9 par le daemon syslogd : %1
-.
-
-
-MessageId = 0x0086
-SymbolicName = MSG_LPR
-Language = English
-Line printer subsystem message: %1
-.
-Language = French
-Message du sous-syst\xE8me d'impression : %1
-.
-
-
-MessageId = 0x0087
-SymbolicName = MSG_NEWS
-Language = English
-USENET news subsystem message: %1
-.
-Language = French
-Message du sous-syst\xE8me de nouvelles USENET : %1
-.
-
-
-MessageId = 0x0088
-SymbolicName = MSG_UUCP
-Language = English
-UUCP subsystem message: %1
-.
-Language = French
-Message du sous-syst\xE8me UUCP : %1
-.
-
-
-MessageId = 0x0089
-SymbolicName = MSG_CRON
-Language = English
-Message generated by the clock daemons (cron and at): %1
-.
-Language = French
-Message g\xE9n\xE9r\xE9 par les daemons d'ex\xE9cution programm\xE9e (cron et at) : %1
-.
-
-
-MessageId = 0x008A
-SymbolicName = MSG_AUTHPRIV
-Language = English
-Security or authorization private message: %1
-.
-Language = French
-Message priv\xE9 de s\xE9curit\xE9 ou d'authorisation : %1
-.
-
-
-MessageId = 0x008B
-SymbolicName = MSG_FTP
-Language = English
-FTP daemon message: %1
-.
-Language = French
-Message du daemon FTP : %1
-.
-
-
-MessageId = 0x008C
-SymbolicName = MSG_LOCAL0
-Language = English
-Local message on channel 0: %1
-.
-Language = French
-Message local sur le canal 0 : %1
-.
-
-
-MessageId = 0x008D
-SymbolicName = MSG_LOCAL1
-Language = English
-Local message on channel 1: %1
-.
-Language = French
-Message local sur le canal 1 : %1
-.
-
-
-MessageId = 0x008E
-SymbolicName = MSG_LOCAL2
-Language = English
-Local message on channel 2: %1
-.
-Language = French
-Message local sur le canal 2 : %1
-.
-
-
-MessageId = 0x008F
-SymbolicName = MSG_LOCAL3
-Language = English
-Local message on channel 3: %1
-.
-Language = French
-Message local sur le canal 3 : %1
-.
-
-
-MessageId = 0x0090
-SymbolicName = MSG_LOCAL4
-Language = English
-Local message on channel 4: %1
-.
-Language = French
-Message local sur le canal 4 : %1
-.
-
-
-MessageId = 0x0091
-SymbolicName = MSG_LOCAL5
-Language = English
-Local message on channel 5: %1
-.
-Language = French
-Message local sur le canal 5 : %1
-.
-
-
-MessageId = 0x0092
-SymbolicName = MSG_LOCAL6
-Language = English
-Local message on channel 6: %1
-.
-Language = French
-Message local sur le canal 6 : %1
-.
-
-
-MessageId = 0x0093
-SymbolicName = MSG_LOCAL7
-Language = English
-Local message on channel 7: %1
-.
-Language = French
-Message local sur le canal 7 : %1
-.
-
-
-; // Mac OS X specific facilities ------------------------------------
-
-MessageId = 0x0094
-SymbolicName = MSG_NETINFO
-Language = English
-NetInfo subsystem message: %1
-.
-Language = French
-Message du sous-syst\xE8me NetInfo : %1
-.
-
-
-MessageId = 0x0095
-SymbolicName = MSG_REMOTEAUTH
-Language = English
-Remote authentication or authorization message: %1
-.
-Language = French
-Message d'authentification ou d'authorisation distante : %1
-.
-
-
-MessageId = 0x0096
-SymbolicName = MSG_RAS
-Language = English
-Message generated by the Remote Access Service (VPN / PPP): %1
-.
-Language = French
-Message g\xE9n\xE9r\xE9 par le Service d'Acc\xE8s Distant (Remote Access Service) (VPN / PPP) : %1
-.
-
-
-MessageId = 0x0097
-SymbolicName = MSG_INSTALL
-Language = English
-Installer subsystem message: %1
-.
-Language = French
-Message du sous-syst\xE8me d'installation : %1
-.
-
-
-MessageId = 0x0098
-SymbolicName = MSG_LAUNCHD
-Language = English
-Message generated by launchd, the general bootstrap daemon: %1
-.
-Language = French
-Message g\xE9n\xE9r\xE9 par launchd, le daemon g\xE9n\xE9rique de d\xE9marrage : %1
-.
-
-; //modern BSD specific facilities ----------------------------------
-
-MessageId = 0x0099
-SymbolicName = MSG_CONSOLE
-Language = English
-Message for the console: %1
-.
-Language = French
-Message pour la console : %1
-.
-
-
-MessageId = 0x009a
-SymbolicName = MSG_NTP
-Language = English
-NTP subsystem message: %1
-.
-Language = French
-Message du sous-syst\xE8me NTP : %1
-.
-
-
-MessageId = 0x009b
-SymbolicName = MSG_SECURITY
-Language = English
-Security subsystem message (firewalling, etc.): %1
-.
-Language = French
-Message du sous-syst\xE8me de s\xE9curit\xE9 (pare-feu, etc.) : %1
-.
-
-
-; // IRIX specific facilities ----------------------------------------
-
-MessageId = 0x009c
-SymbolicName = MSG_AUDIT
-Language = English
-Audit daemon message: %1
-.
-Language = French
-Message du daemon d'audit NTP : %1
-.
-
-
-MessageId = 0x009d
-SymbolicName = MSG_LFMT
-Language = English
-Logalert facility: %1
-.
-Language = French
-Message de logalert : %1
-.
-
+; // Sys::Syslog Message File 1.0.0
+
+MessageIdTypedef = DWORD
+
+SeverityNames = (
+    Success         = 0x0:STATUS_SEVERITY_SUCCESS
+    Informational   = 0x1:STATUS_SEVERITY_INFORMATIONAL
+    Warning         = 0x2:STATUS_SEVERITY_WARNING
+    Error           = 0x3:STATUS_SEVERITY_ERROR
+)
+
+LanguageNames = ( English = 0x0409:MSG00409 )
+LanguageNames = ( French  = 0x040C:MSG0040C )
+
+
+; // =================================================================
+; // The following are facility name definitions
+
+MessageId = 0x0001
+SymbolicName = CAT_KERN
+Language = English
+Kernel
+.
+Language = French
+Kernel
+.
+
+MessageId = 0x0002
+SymbolicName = CAT_USER
+Language = English
+User
+.
+Language = French
+User
+.
+
+MessageId = 0x0003
+SymbolicName = CAT_MAIL
+Language = English
+Mail
+.
+Language = French
+Mail
+.
+
+MessageId = 0x0004
+SymbolicName = CAT_DAEMON
+Language = English
+Daemon
+.
+Language = French
+Daemon
+.
+
+MessageId = 0x0005
+SymbolicName = CAT_AUTH
+Language = English
+Auth
+.
+Language = French
+Auth
+.
+
+MessageId = 0x0006
+SymbolicName = CAT_SYSLOG
+Language = English
+Syslog
+.
+Language = French
+Syslog
+.
+
+MessageId = 0x0007
+SymbolicName = CAT_LPR
+Language = English
+LPR
+.
+Language = French
+LPR
+.
+
+MessageId = 0x0008
+SymbolicName = CAT_NEWS
+Language = English
+News
+.
+Language = French
+News
+.
+
+MessageId = 0x0009
+SymbolicName = CAT_UUCP
+Language = English
+UUCP
+.
+Language = French
+UUCP
+.
+
+MessageId = 0x000a
+SymbolicName = CAT_CRON
+Language = English
+Cron
+.
+Language = French
+Cron
+.
+
+MessageId = 0x000b
+SymbolicName = CAT_AUTHPRIV
+Language = English
+AuthPrivate
+.
+Language = French
+AuthPrivate
+.
+
+MessageId = 0x000c
+SymbolicName = CAT_FTP
+Language = English
+FTP
+.
+Language = French
+FTP
+.
+
+MessageId = 0x000d
+SymbolicName = CAT_LOCAL0
+Language = English
+Local0
+.
+Language = French
+Local0
+.
+
+MessageId = 0x000e
+SymbolicName = CAT_LOCAL1
+Language = English
+Local1
+.
+Language = French
+Local1
+.
+
+MessageId = 0x000f
+SymbolicName = CAT_LOCAL2
+Language = English
+Local2
+.
+Language = French
+Local2
+.
+
+MessageId = 0x0010
+SymbolicName = CAT_LOCAL3
+Language = English
+Local3
+.
+Language = French
+Local3
+.
+
+MessageId = 0x0011
+SymbolicName = CAT_LOCAL4
+Language = English
+Local4
+.
+Language = French
+Local4
+.
+
+MessageId = 0x0012
+SymbolicName = CAT_LOCAL5
+Language = English
+Local5
+.
+Language = French
+Local5
+.
+
+MessageId = 0x0013
+SymbolicName = CAT_LOCAL6
+Language = English
+Local6
+.
+Language = French
+Local6
+.
+
+MessageId = 0x0014
+SymbolicName = CAT_LOCAL7
+Language = English
+Local7
+.
+Language = French
+Local7
+.
+
+; // Mac OS X specific facilities ------------------------------------
+
+MessageId = 0x0015
+SymbolicName = CAT_NETINFO
+Language = English
+NetInfo
+.
+Language = French
+NetInfo
+.
+
+MessageId = 0x0016
+SymbolicName = CAT_REMOTEAUTH
+Language = English
+RemoteAuth
+.
+Language = French
+RemoteAuth
+.
+
+MessageId = 0x0017
+SymbolicName = CAT_RAS
+Language = English
+RAS
+.
+Language = French
+RAS
+.
+
+MessageId = 0x0018
+SymbolicName = CAT_INSTALL
+Language = English
+Install
+.
+Language = French
+Install
+.
+
+MessageId = 0x0019
+SymbolicName = CAT_LAUNCHD
+Language = English
+Launchd
+.
+Language = French
+Launchd
+.
+
+; //modern BSD specific facilities ----------------------------------
+
+MessageId = 0x001a
+SymbolicName = CAT_CONSOLE
+Language = English
+Console
+.
+Language = French
+Console
+.
+
+MessageId = 0x001b
+SymbolicName = CAT_NTP
+Language = English
+NTP
+.
+Language = French
+NTP
+.
+
+MessageId = 0x001c
+SymbolicName = CAT_SECURITY
+Language = English
+Security
+.
+Language = French
+S\xE9curit\xE9
+.
+
+; // IRIX specific facilities ----------------------------------------
+
+MessageId = 0x001d
+SymbolicName = CAT_AUDIT
+Language = English
+Audit
+.
+Language = French
+Audit
+.
+
+MessageId = 0x001e
+SymbolicName = CAT_LFMT
+Language = English
+LogAlert
+.
+Language = French
+LogAlert
+.
+
+
+; // =================================================================
+; // The following are message definitions.
+
+MessageId = 0x0080
+SymbolicName = MSG_KERNEL
+Language = English
+Kernel message: %1
+.
+Language = French
+Message du noyau : %1
+.
+
+
+MessageId = 0x0081
+SymbolicName = MSG_USER
+Language = English
+User message: %1
+.
+Language = French
+Message utilisateur : %1
+.
+
+
+MessageId = 0x0082
+SymbolicName = MSG_MAIL
+Language = English
+Mail subsystem message: %1
+.
+Language = French
+Message du sous-syst\xE8me de courrier : %1
+.
+
+
+MessageId = 0x0083
+SymbolicName = MSG_DAEMON
+Language = English
+Message from a system daemon without separate facility value: %1
+.
+Language = French
+Message d'un daemon sans cat\xE9gorie sp\xE9cifique : %1
+.
+
+
+MessageId = 0x0084
+SymbolicName = MSG_AUTH
+Language = English
+Security/authorization message: %1
+.
+Language = French
+Message de s\xE9curite ou d'authorisation : %1
+.
+
+
+MessageId = 0x0085
+SymbolicName = MSG_SYSLOG
+Language = English
+Message generated internally by syslogd: %1
+.
+Language = French
+Message interne g\xE9n\xE9r\xE9 par le daemon syslogd : %1
+.
+
+
+MessageId = 0x0086
+SymbolicName = MSG_LPR
+Language = English
+Line printer subsystem message: %1
+.
+Language = French
+Message du sous-syst\xE8me d'impression : %1
+.
+
+
+MessageId = 0x0087
+SymbolicName = MSG_NEWS
+Language = English
+USENET news subsystem message: %1
+.
+Language = French
+Message du sous-syst\xE8me de nouvelles USENET : %1
+.
+
+
+MessageId = 0x0088
+SymbolicName = MSG_UUCP
+Language = English
+UUCP subsystem message: %1
+.
+Language = French
+Message du sous-syst\xE8me UUCP : %1
+.
+
+
+MessageId = 0x0089
+SymbolicName = MSG_CRON
+Language = English
+Message generated by the clock daemons (cron and at): %1
+.
+Language = French
+Message g\xE9n\xE9r\xE9 par les daemons d'ex\xE9cution programm\xE9e (cron et at) : %1
+.
+
+
+MessageId = 0x008A
+SymbolicName = MSG_AUTHPRIV
+Language = English
+Security or authorization private message: %1
+.
+Language = French
+Message priv\xE9 de s\xE9curit\xE9 ou d'authorisation : %1
+.
+
+
+MessageId = 0x008B
+SymbolicName = MSG_FTP
+Language = English
+FTP daemon message: %1
+.
+Language = French
+Message du daemon FTP : %1
+.
+
+
+MessageId = 0x008C
+SymbolicName = MSG_LOCAL0
+Language = English
+Local message on channel 0: %1
+.
+Language = French
+Message local sur le canal 0 : %1
+.
+
+
+MessageId = 0x008D
+SymbolicName = MSG_LOCAL1
+Language = English
+Local message on channel 1: %1
+.
+Language = French
+Message local sur le canal 1 : %1
+.
+
+
+MessageId = 0x008E
+SymbolicName = MSG_LOCAL2
+Language = English
+Local message on channel 2: %1
+.
+Language = French
+Message local sur le canal 2 : %1
+.
+
+
+MessageId = 0x008F
+SymbolicName = MSG_LOCAL3
+Language = English
+Local message on channel 3: %1
+.
+Language = French
+Message local sur le canal 3 : %1
+.
+
+
+MessageId = 0x0090
+SymbolicName = MSG_LOCAL4
+Language = English
+Local message on channel 4: %1
+.
+Language = French
+Message local sur le canal 4 : %1
+.
+
+
+MessageId = 0x0091
+SymbolicName = MSG_LOCAL5
+Language = English
+Local message on channel 5: %1
+.
+Language = French
+Message local sur le canal 5 : %1
+.
+
+
+MessageId = 0x0092
+SymbolicName = MSG_LOCAL6
+Language = English
+Local message on channel 6: %1
+.
+Language = French
+Message local sur le canal 6 : %1
+.
+
+
+MessageId = 0x0093
+SymbolicName = MSG_LOCAL7
+Language = English
+Local message on channel 7: %1
+.
+Language = French
+Message local sur le canal 7 : %1
+.
+
+
+; // Mac OS X specific facilities ------------------------------------
+
+MessageId = 0x0094
+SymbolicName = MSG_NETINFO
+Language = English
+NetInfo subsystem message: %1
+.
+Language = French
+Message du sous-syst\xE8me NetInfo : %1
+.
+
+
+MessageId = 0x0095
+SymbolicName = MSG_REMOTEAUTH
+Language = English
+Remote authentication or authorization message: %1
+.
+Language = French
+Message d'authentification ou d'authorisation distante : %1
+.
+
+
+MessageId = 0x0096
+SymbolicName = MSG_RAS
+Language = English
+Message generated by the Remote Access Service (VPN / PPP): %1
+.
+Language = French
+Message g\xE9n\xE9r\xE9 par le Service d'Acc\xE8s Distant (Remote Access Service) (VPN / PPP) : %1
+.
+
+
+MessageId = 0x0097
+SymbolicName = MSG_INSTALL
+Language = English
+Installer subsystem message: %1
+.
+Language = French
+Message du sous-syst\xE8me d'installation : %1
+.
+
+
+MessageId = 0x0098
+SymbolicName = MSG_LAUNCHD
+Language = English
+Message generated by launchd, the general bootstrap daemon: %1
+.
+Language = French
+Message g\xE9n\xE9r\xE9 par launchd, le daemon g\xE9n\xE9rique de d\xE9marrage : %1
+.
+
+; //modern BSD specific facilities ----------------------------------
+
+MessageId = 0x0099
+SymbolicName = MSG_CONSOLE
+Language = English
+Message for the console: %1
+.
+Language = French
+Message pour la console : %1
+.
+
+
+MessageId = 0x009a
+SymbolicName = MSG_NTP
+Language = English
+NTP subsystem message: %1
+.
+Language = French
+Message du sous-syst\xE8me NTP : %1
+.
+
+
+MessageId = 0x009b
+SymbolicName = MSG_SECURITY
+Language = English
+Security subsystem message (firewalling, etc.): %1
+.
+Language = French
+Message du sous-syst\xE8me de s\xE9curit\xE9 (pare-feu, etc.) : %1
+.
+
+
+; // IRIX specific facilities ----------------------------------------
+
+MessageId = 0x009c
+SymbolicName = MSG_AUDIT
+Language = English
+Audit daemon message: %1
+.
+Language = French
+Message du daemon d'audit NTP : %1
+.
+
+
+MessageId = 0x009d
+SymbolicName = MSG_LFMT
+Language = English
+Logalert facility: %1
+.
+Language = French
+Message de logalert : %1
+.
+


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog.mc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_RES.uu
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_RES.uu	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_RES.uu	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_RES.uu
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_dll.uu
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_dll.uu	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_dll.uu	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,171 +1,171 @@
-M35J0``,````$````__\``+@`````````0```````````````````````````
-M````````````````````L`````X?N at X`M`G-(;@!3,TA5&AI<R!P<F]G<F%M
-M(&-A;FYO="!B92!R=6X@:6X at 1$]3(&UO9&4N#0T*)`````````"?JCW:V\M3
-MB=O+4XG;RU.)(>\6B=K+4XDX[6Z)VLM3B5)I8VC;RU.)``````````!010``
-M3`$"`!LK3D4``````````.``#B$+`0<````````<```````````````0````
-M$```````8``0`````@``!``````````$``````````!``````@``IAX```(`
-M`````!```!``````$```$````````!```````````````````````````!``
-M`+`8`````````````````````````#````@`````````````````````````
-M````````````````````````````````````````````````````````````
-M`````````````````````````"YR<W)C````L!@````0````&@````(`````
-M`````````````$```$`N<F5L;V,```@`````,`````(````<````````````
-M``````!```!"``````````````````````````````$`"P```!@``(``````
-M``````````````$``0```#```(````````````````````(`"00``%`````,
-M!```8````"`=``","P````````````!P$```K`P`````````````&@````$`
-M```9````/`$``(```0"```$`=`,``($``@"!``(`J`,``((``P""``,`Y`,`
-M`(,`!`"#``0`0`0``(0`!0"$``4`L`0``(4`!@"%``8`$`4``(8`!P"&``<`
-M?`4``(<`"`"'``@`V`4``(@`"0"(``D`1`8``)H("@":"`H`D`8``*L("P"K
-M"`L`*`<``+P(#`"\"`P`E`<``(P`$`",`!``U`<``(T`$0"-`!$`(`@``(X`
-M$@".`!(`;`@``(\`$P"/`!,`N`@``)``%`"0`!0`!`D``)$`%0"1`!4`4`D`
-M`)(`%@"2`!8`G`D``),`%P"3`!<`Z`D``)0`(`"4`"``-`H``)4`(0"5`"$`
-MB`H``)8`(@"6`"(`"`L``)<`(P"7`",`P`L``)@`)`"8`"0`(`P``!@``0!+
-M`&4`<@!N`&4`;``-``H``````!0``0!5`',`90!R``T`"@``````%``!`$T`
-M80!I`&P`#0`*```````8``$`1`!A`&4`;0!O`&X`#0`*```````4``$`00!U
-M`'0`:``-``H``````!@``0!3`'D`<P!L`&\`9P`-``H``````!```0!,`%``
-M4@`-``H````4``$`3@!E`'<`<P`-``H``````!0``0!5`%4`0P!0``T`"@``
-M````%``!`$,`<@!O`&X`#0`*```````@``$`00!U`'0`:`!0`'(`:0!V`&$`
-M=`!E``T`"@```!```0!&`%0`4``-``H````8``$`3`!O`&,`80!L`#``#0`*
-M```````8``$`3`!O`&,`80!L`#$`#0`*```````8``$`3`!O`&,`80!L`#(`
-M#0`*```````8``$`3`!O`&,`80!L`#,`#0`*```````8``$`3`!O`&,`80!L
-M`#0`#0`*```````8``$`3`!O`&,`80!L`#4`#0`*```````8``$`3`!O`&,`
-M80!L`#8`#0`*```````8``$`3`!O`&,`80!L`#<`#0`*```````8``$`3@!E
-M`'0`20!N`&8`;P`-``H````@``$`4@!E`&T`;P!T`&4`00!U`'0`:``-``H`
-M`````!```0!2`$$`4P`-``H````8``$`20!N`',`=`!A`&P`;``-``H````8
-M``$`3`!A`'4`;@!C`&@`9``-``H````T``$`30!E`',`<P!A`&<`90`@`&0`
-M=0`@`&X`;P!Y`&$`=0`@`#H`(``E`#$`#0`*````/``!`$T`90!S`',`80!G
-M`&4`(`!U`'0`:0!L`&D`<P!A`'0`90!U`'(`(``Z`"``)0`Q``T`"@``````
-M7``!`$T`90!S`',`80!G`&4`(`!D`'4`(`!S`&\`=0!S`"T`<P!Y`',`=`"F
-M`VT`90`@`&0`90`@`&,`;P!U`'(`<@!I`&4`<@`@`#H`(``E`#$`#0`*````
-M``!P``$`30!E`',`<P!A`&<`90`@`&0`)P!U`&X`(`!D`&$`90!M`&\`;@`@
-M`',`80!N`',`(`!C`&$`=`"8`V<`;P!R`&D`90`@`',`<`"8`V,`:0!F`&D`
-M<0!U`&4`(``Z`"``)0`Q``T`"@``````8``!`$T`90!S`',`80!G`&4`(`!D
-M`&4`(`!S`)@#8P!U`'(`:0!T`&4`(`!O`'4`(`!D`"<`80!U`'0`:`!O`'(`
-M:0!S`&$`=`!I`&\`;@`@`#H`(``E`#$`#0`*````;``!`$T`90!S`',`80!G
-M`&4`(`!I`&X`=`!E`'(`;@!E`"``9P"8`VX`F`-R`)@#(`!P`&$`<@`@`&P`
-M90`@`&0`80!E`&T`;P!N`"``<P!Y`',`;`!O`&<`9``@`#H`(``E`#$`#0`*
-M````7``!`$T`90!S`',`80!G`&4`(`!D`'4`(`!S`&\`=0!S`"T`<P!Y`',`
-M=`"F`VT`90`@`&0`)P!I`&T`<`!R`&4`<P!S`&D`;P!N`"``.@`@`"4`,0`-
-M``H```!L``$`30!E`',`<P!A`&<`90`@`&0`=0`@`',`;P!U`',`+0!S`'D`
-M<P!T`*8#;0!E`"``9`!E`"``;@!O`'4`=@!E`&P`;`!E`',`(`!5`%,`10!.
-M`$4`5``@`#H`(``E`#$`#0`*``````!,``$`30!E`',`<P!A`&<`90`@`&0`
-M=0`@`',`;P!U`',`+0!S`'D`<P!T`*8#;0!E`"``50!5`$,`4``@`#H`(``E
-M`#$`#0`*````F``!`$T`90!S`',`80!G`&4`(`!G`)@#;@"8`W(`F`,@`'``
-M80!R`"``;`!E`',`(`!D`&$`90!M`&\`;@!S`"``9``G`&4`>`"8`V,`=0!T
-M`&D`;P!N`"``<`!R`&\`9P!R`&$`;0!M`)@#90`@`"@`8P!R`&\`;@`@`&4`
-M=``@`&$`=``I`"``.@`@`"4`,0`-``H```!L``$`30!E`',`<P!A`&<`90`@
-M`'``<@!I`'8`F`,@`&0`90`@`',`F`-C`'4`<@!I`'0`F`,@`&\`=0`@`&0`
-M)P!A`'4`=`!H`&\`<@!I`',`80!T`&D`;P!N`"``.@`@`"4`,0`-``H```!`
-M``$`30!E`',`<P!A`&<`90`@`&0`=0`@`&0`80!E`&T`;P!N`"``1@!4`%``
-M(``Z`"``)0`Q``T`"@``````3``!`$T`90!S`',`80!G`&4`(`!L`&\`8P!A
-M`&P`(`!S`'4`<@`@`&P`90`@`&,`80!N`&$`;``@`#``(``Z`"``)0`Q``T`
-M"@```$P``0!-`&4`<P!S`&$`9P!E`"``;`!O`&,`80!L`"``<P!U`'(`(`!L
-M`&4`(`!C`&$`;@!A`&P`(``Q`"``.@`@`"4`,0`-``H```!,``$`30!E`',`
-M<P!A`&<`90`@`&P`;P!C`&$`;``@`',`=0!R`"``;`!E`"``8P!A`&X`80!L
-M`"``,@`@`#H`(``E`#$`#0`*````3``!`$T`90!S`',`80!G`&4`(`!L`&\`
-M8P!A`&P`(`!S`'4`<@`@`&P`90`@`&,`80!N`&$`;``@`#,`(``Z`"``)0`Q
-M``T`"@```$P``0!-`&4`<P!S`&$`9P!E`"``;`!O`&,`80!L`"``<P!U`'(`
-M(`!L`&4`(`!C`&$`;@!A`&P`(``T`"``.@`@`"4`,0`-``H```!,``$`30!E
-M`',`<P!A`&<`90`@`&P`;P!C`&$`;``@`',`=0!R`"``;`!E`"``8P!A`&X`
-M80!L`"``-0`@`#H`(``E`#$`#0`*````3``!`$T`90!S`',`80!G`&4`(`!L
-M`&\`8P!A`&P`(`!S`'4`<@`@`&P`90`@`&,`80!N`&$`;``@`#8`(``Z`"``
-M)0`Q``T`"@```$P``0!-`&4`<P!S`&$`9P!E`"``;`!O`&,`80!L`"``<P!U
-M`'(`(`!L`&4`(`!C`&$`;@!A`&P`(``W`"``.@`@`"4`,0`-``H```!4``$`
-M30!E`',`<P!A`&<`90`@`&0`=0`@`',`;P!U`',`+0!S`'D`<P!T`*8#;0!E
-M`"``3@!E`'0`20!N`&8`;P`@`#H`(``E`#$`#0`*``````"```$`30!E`',`
-M<P!A`&<`90`@`&0`)P!A`'4`=`!H`&4`;@!T`&D`9@!I`&,`80!T`&D`;P!N
-M`"``;P!U`"``9``G`&$`=0!T`&@`;P!R`&D`<P!A`'0`:0!O`&X`(`!D`&D`
-M<P!T`&$`;@!T`&4`(``Z`"``)0`Q``T`"@```+@``0!-`&4`<P!S`&$`9P!E
-M`"``9P"8`VX`F`-R`)@#(`!P`&$`<@`@`&P`90`@`%,`90!R`'8`:0!C`&4`
-M(`!D`"<`00!C`&,`I at -S`"``1`!I`',`=`!A`&X`=``@`"@`4@!E`&T`;P!T
-M`&4`(`!!`&,`8P!E`',`<P`@`%,`90!R`'8`:0!C`&4`*0`@`"@`5@!0`$X`
-M(``O`"``4`!0`%``*0`@`#H`(``E`#$`#0`*``````!@``$`30!E`',`<P!A
-M`&<`90`@`&0`=0`@`',`;P!U`',`+0!S`'D`<P!T`*8#;0!E`"``9``G`&D`
-M;@!S`'0`80!L`&P`80!T`&D`;P!N`"``.@`@`"4`,0`-``H```",``$`30!E
-M`',`<P!A`&<`90`@`&<`F`-N`)@#<@"8`R``<`!A`'(`(`!L`&$`=0!N`&,`
-M:`!D`"P`(`!L`&4`(`!D`&$`90!M`&\`;@`@`&<`F`-N`)@#<@!I`'$`=0!E
-M`"``9`!E`"``90!M`&$`<@!R`&$`9P!E`"``.@`@`"4`,0`-``H`````````
-M```:`````0```!D````\`0``@``!`(```0!T`P``@0`"`($``@"D`P``@@`#
-M`((``P#0`P``@P`$`(,`!``0!```A``%`(0`!0"<!```A0`&`(4`!@#L!```
-MA@`'`(8`!P!,!0``AP`(`(<`"`"<!0``B``)`(@`"0#H!0``F@@*`)H("@`H
-M!@``JP at +`*L("P"D!@``O`@,`+P(#``(!P``C``0`(P`$`!`!P``C0`1`(T`
-M$0"(!P``C@`2`(X`$@#0!P``CP`3`(\`$P`8"```D``4`)``%`!@"```D0`5
-M`)$`%0"H"```D@`6`)(`%@#P"```DP`7`),`%P`X"0``E``@`)0`(`"`"0``
-ME0`A`)4`(0#$"0``E@`B`)8`(@`T"@``EP`C`)<`(P"\"@``F``D`)@`)``$
-M"P``&``!`$L`90!R`&X`90!L``T`"@``````%``!`%4`<P!E`'(`#0`*````
-M```4``$`30!A`&D`;``-``H``````!@``0!$`&$`90!M`&\`;@`-``H`````
-M`!0``0!!`'4`=`!H``T`"@``````&``!`%,`>0!S`&P`;P!G``T`"@``````
-M$``!`$P`4`!2``T`"@```!0``0!.`&4`=P!S``T`"@``````%``!`%4`50!#
-M`%``#0`*```````4``$`0P!R`&\`;@`-``H``````"```0!!`'4`=`!H`%``
-M<@!I`'8`80!T`&4`#0`*````$``!`$8`5`!0``T`"@```!@``0!,`&\`8P!A
-M`&P`,``-``H``````!@``0!,`&\`8P!A`&P`,0`-``H``````!@``0!,`&\`
-M8P!A`&P`,@`-``H``````!@``0!,`&\`8P!A`&P`,P`-``H``````!@``0!,
-M`&\`8P!A`&P`-``-``H``````!@``0!,`&\`8P!A`&P`-0`-``H``````!@`
-M`0!,`&\`8P!A`&P`-@`-``H``````!@``0!,`&\`8P!A`&P`-P`-``H`````
-M`!@``0!.`&4`=`!)`&X`9@!O``T`"@```"```0!2`&4`;0!O`'0`90!!`'4`
-M=`!H``T`"@``````$``!`%(`00!3``T`"@```!@``0!)`&X`<P!T`&$`;`!L
-M``T`"@```!@``0!,`&$`=0!N`&,`:`!D``T`"@```#```0!+`&4`<@!N`&4`
-M;``@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H``````"P``0!5`',`90!R
-M`"``;0!E`',`<P!A`&<`90`Z`"``)0`Q``T`"@``````0``!`$T`80!I`&P`
-M(`!S`'4`8@!S`'D`<P!T`&4`;0`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-
-M``H``````(P``0!-`&4`<P!S`&$`9P!E`"``9@!R`&\`;0`@`&$`(`!S`'D`
-M<P!T`&4`;0`@`&0`80!E`&T`;P!N`"``=P!I`'0`:`!O`'4`=``@`',`90!P
-M`&$`<@!A`'0`90`@`&8`80!C`&D`;`!I`'0`>0`@`'8`80!L`'4`90`Z`"``
-M)0`Q``T`"@``````4``!`%,`90!C`'4`<@!I`'0`>0`O`&$`=0!T`&@`;P!R
-M`&D`>@!A`'0`:0!O`&X`(`!M`&4`<P!S`&$`9P!E`#H`(``E`#$`#0`*````
-M``!@``$`30!E`',`<P!A`&<`90`@`&<`90!N`&4`<@!A`'0`90!D`"``:0!N
-M`'0`90!R`&X`80!L`&P`>0`@`&(`>0`@`',`>0!S`&P`;P!G`&0`.@`@`"4`
-M,0`-``H```!0``$`3`!I`&X`90`@`'``<@!I`&X`=`!E`'(`(`!S`'4`8@!S
-M`'D`<P!T`&4`;0`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H``````$P`
-M`0!5`%,`10!.`$4`5``@`&X`90!W`',`(`!S`'4`8@!S`'D`<P!T`&4`;0`@
-M`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H```!```$`50!5`$,`4``@`',`
-M=0!B`',`>0!S`'0`90!M`"``;0!E`',`<P!A`&<`90`Z`"``)0`Q``T`"@``
-M````?``!`$T`90!S`',`80!G`&4`(`!G`&4`;@!E`'(`80!T`&4`9``@`&(`
-M>0`@`'0`:`!E`"``8P!L`&\`8P!K`"``9`!A`&4`;0!O`&X`<P`@`"@`8P!R
-M`&\`;@`@`&$`;@!D`"``80!T`"D`.@`@`"4`,0`-``H``````&0``0!3`&4`
-M8P!U`'(`:0!T`'D`(`!O`'(`(`!A`'4`=`!H`&\`<@!I`'H`80!T`&D`;P!N
-M`"``<`!R`&D`=@!A`'0`90`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H`
-M```X``$`1@!4`%``(`!D`&$`90!M`&\`;@`@`&T`90!S`',`80!G`&4`.@`@
-M`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``
-M;P!N`"``8P!H`&$`;@!N`&4`;``@`#``.@`@`"4`,0`-``H``````$@``0!,
-M`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`
-M;``@`#$`.@`@`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S
-M`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`;``@`#(`.@`@`"4`,0`-``H`
-M`````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``;P!N`"``8P!H
-M`&$`;@!N`&4`;``@`#,`.@`@`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`
-M(`!M`&4`<P!S`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`;``@`#0`.@`@
-M`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``
-M;P!N`"``8P!H`&$`;@!N`&4`;``@`#4`.@`@`"4`,0`-``H``````$@``0!,
-M`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`
-M;``@`#8`.@`@`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S
-M`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`;``@`#<`.@`@`"4`,0`-``H`
-M`````$0``0!.`&4`=`!)`&X`9@!O`"``<P!U`&(`<P!Y`',`=`!E`&T`(`!M
-M`&4`<P!S`&$`9P!E`#H`(``E`#$`#0`*````<``!`%(`90!M`&\`=`!E`"``
-M80!U`'0`:`!E`&X`=`!I`&,`80!T`&D`;P!N`"``;P!R`"``80!U`'0`:`!O
-M`'(`:0!Z`&$`=`!I`&\`;@`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H`
-M`````(@``0!-`&4`<P!S`&$`9P!E`"``9P!E`&X`90!R`&$`=`!E`&0`(`!B
-M`'D`(`!T`&@`90`@`%(`90!M`&\`=`!E`"``00!C`&,`90!S`',`(`!3`&4`
-M<@!V`&D`8P!E`"``*`!6`%``3@`@`"\`(`!0`%``4``I`#H`(``E`#$`#0`*
-M``````!(``$`20!N`',`=`!A`&P`;`!E`'(`(`!S`'4`8@!S`'D`<P!T`&4`
-M;0`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H```"(``$`30!E`',`<P!A
-M`&<`90`@`&<`90!N`&4`<@!A`'0`90!D`"``8@!Y`"``;`!A`'4`;@!C`&@`
-M9``L`"``=`!H`&4`(`!G`&4`;@!E`'(`80!L`"``8@!O`&\`=`!S`'0`<@!A
-M`'``(`!D`&$`90!M`&\`;@`Z`"``)0`Q``T`"@``````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M```````````````````````(````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
-M````````````````````````````````````````````````````````````
->````````````````````````````````````````
+M35J0``,````$````__\``+@`````````0```````````````````````````
+M````````````````````L`````X?N at X`M`G-(;@!3,TA5&AI<R!P<F]G<F%M
+M(&-A;FYO="!B92!R=6X@:6X at 1$]3(&UO9&4N#0T*)`````````"?JCW:V\M3
+MB=O+4XG;RU.)(>\6B=K+4XDX[6Z)VLM3B5)I8VC;RU.)``````````!010``
+M3`$"`!LK3D4``````````.``#B$+`0<````````<```````````````0````
+M$```````8``0`````@``!``````````$``````````!``````@``IAX```(`
+M`````!```!``````$```$````````!```````````````````````````!``
+M`+`8`````````````````````````#````@`````````````````````````
+M````````````````````````````````````````````````````````````
+M`````````````````````````"YR<W)C````L!@````0````&@````(`````
+M`````````````$```$`N<F5L;V,```@`````,`````(````<````````````
+M``````!```!"``````````````````````````````$`"P```!@``(``````
+M``````````````$``0```#```(````````````````````(`"00``%`````,
+M!```8````"`=``","P````````````!P$```K`P`````````````&@````$`
+M```9````/`$``(```0"```$`=`,``($``@"!``(`J`,``((``P""``,`Y`,`
+M`(,`!`"#``0`0`0``(0`!0"$``4`L`0``(4`!@"%``8`$`4``(8`!P"&``<`
+M?`4``(<`"`"'``@`V`4``(@`"0"(``D`1`8``)H("@":"`H`D`8``*L("P"K
+M"`L`*`<``+P(#`"\"`P`E`<``(P`$`",`!``U`<``(T`$0"-`!$`(`@``(X`
+M$@".`!(`;`@``(\`$P"/`!,`N`@``)``%`"0`!0`!`D``)$`%0"1`!4`4`D`
+M`)(`%@"2`!8`G`D``),`%P"3`!<`Z`D``)0`(`"4`"``-`H``)4`(0"5`"$`
+MB`H``)8`(@"6`"(`"`L``)<`(P"7`",`P`L``)@`)`"8`"0`(`P``!@``0!+
+M`&4`<@!N`&4`;``-``H``````!0``0!5`',`90!R``T`"@``````%``!`$T`
+M80!I`&P`#0`*```````8``$`1`!A`&4`;0!O`&X`#0`*```````4``$`00!U
+M`'0`:``-``H``````!@``0!3`'D`<P!L`&\`9P`-``H``````!```0!,`%``
+M4@`-``H````4``$`3@!E`'<`<P`-``H``````!0``0!5`%4`0P!0``T`"@``
+M````%``!`$,`<@!O`&X`#0`*```````@``$`00!U`'0`:`!0`'(`:0!V`&$`
+M=`!E``T`"@```!```0!&`%0`4``-``H````8``$`3`!O`&,`80!L`#``#0`*
+M```````8``$`3`!O`&,`80!L`#$`#0`*```````8``$`3`!O`&,`80!L`#(`
+M#0`*```````8``$`3`!O`&,`80!L`#,`#0`*```````8``$`3`!O`&,`80!L
+M`#0`#0`*```````8``$`3`!O`&,`80!L`#4`#0`*```````8``$`3`!O`&,`
+M80!L`#8`#0`*```````8``$`3`!O`&,`80!L`#<`#0`*```````8``$`3@!E
+M`'0`20!N`&8`;P`-``H````@``$`4@!E`&T`;P!T`&4`00!U`'0`:``-``H`
+M`````!```0!2`$$`4P`-``H````8``$`20!N`',`=`!A`&P`;``-``H````8
+M``$`3`!A`'4`;@!C`&@`9``-``H````T``$`30!E`',`<P!A`&<`90`@`&0`
+M=0`@`&X`;P!Y`&$`=0`@`#H`(``E`#$`#0`*````/``!`$T`90!S`',`80!G
+M`&4`(`!U`'0`:0!L`&D`<P!A`'0`90!U`'(`(``Z`"``)0`Q``T`"@``````
+M7``!`$T`90!S`',`80!G`&4`(`!D`'4`(`!S`&\`=0!S`"T`<P!Y`',`=`"F
+M`VT`90`@`&0`90`@`&,`;P!U`'(`<@!I`&4`<@`@`#H`(``E`#$`#0`*````
+M``!P``$`30!E`',`<P!A`&<`90`@`&0`)P!U`&X`(`!D`&$`90!M`&\`;@`@
+M`',`80!N`',`(`!C`&$`=`"8`V<`;P!R`&D`90`@`',`<`"8`V,`:0!F`&D`
+M<0!U`&4`(``Z`"``)0`Q``T`"@``````8``!`$T`90!S`',`80!G`&4`(`!D
+M`&4`(`!S`)@#8P!U`'(`:0!T`&4`(`!O`'4`(`!D`"<`80!U`'0`:`!O`'(`
+M:0!S`&$`=`!I`&\`;@`@`#H`(``E`#$`#0`*````;``!`$T`90!S`',`80!G
+M`&4`(`!I`&X`=`!E`'(`;@!E`"``9P"8`VX`F`-R`)@#(`!P`&$`<@`@`&P`
+M90`@`&0`80!E`&T`;P!N`"``<P!Y`',`;`!O`&<`9``@`#H`(``E`#$`#0`*
+M````7``!`$T`90!S`',`80!G`&4`(`!D`'4`(`!S`&\`=0!S`"T`<P!Y`',`
+M=`"F`VT`90`@`&0`)P!I`&T`<`!R`&4`<P!S`&D`;P!N`"``.@`@`"4`,0`-
+M``H```!L``$`30!E`',`<P!A`&<`90`@`&0`=0`@`',`;P!U`',`+0!S`'D`
+M<P!T`*8#;0!E`"``9`!E`"``;@!O`'4`=@!E`&P`;`!E`',`(`!5`%,`10!.
+M`$4`5``@`#H`(``E`#$`#0`*``````!,``$`30!E`',`<P!A`&<`90`@`&0`
+M=0`@`',`;P!U`',`+0!S`'D`<P!T`*8#;0!E`"``50!5`$,`4``@`#H`(``E
+M`#$`#0`*````F``!`$T`90!S`',`80!G`&4`(`!G`)@#;@"8`W(`F`,@`'``
+M80!R`"``;`!E`',`(`!D`&$`90!M`&\`;@!S`"``9``G`&4`>`"8`V,`=0!T
+M`&D`;P!N`"``<`!R`&\`9P!R`&$`;0!M`)@#90`@`"@`8P!R`&\`;@`@`&4`
+M=``@`&$`=``I`"``.@`@`"4`,0`-``H```!L``$`30!E`',`<P!A`&<`90`@
+M`'``<@!I`'8`F`,@`&0`90`@`',`F`-C`'4`<@!I`'0`F`,@`&\`=0`@`&0`
+M)P!A`'4`=`!H`&\`<@!I`',`80!T`&D`;P!N`"``.@`@`"4`,0`-``H```!`
+M``$`30!E`',`<P!A`&<`90`@`&0`=0`@`&0`80!E`&T`;P!N`"``1@!4`%``
+M(``Z`"``)0`Q``T`"@``````3``!`$T`90!S`',`80!G`&4`(`!L`&\`8P!A
+M`&P`(`!S`'4`<@`@`&P`90`@`&,`80!N`&$`;``@`#``(``Z`"``)0`Q``T`
+M"@```$P``0!-`&4`<P!S`&$`9P!E`"``;`!O`&,`80!L`"``<P!U`'(`(`!L
+M`&4`(`!C`&$`;@!A`&P`(``Q`"``.@`@`"4`,0`-``H```!,``$`30!E`',`
+M<P!A`&<`90`@`&P`;P!C`&$`;``@`',`=0!R`"``;`!E`"``8P!A`&X`80!L
+M`"``,@`@`#H`(``E`#$`#0`*````3``!`$T`90!S`',`80!G`&4`(`!L`&\`
+M8P!A`&P`(`!S`'4`<@`@`&P`90`@`&,`80!N`&$`;``@`#,`(``Z`"``)0`Q
+M``T`"@```$P``0!-`&4`<P!S`&$`9P!E`"``;`!O`&,`80!L`"``<P!U`'(`
+M(`!L`&4`(`!C`&$`;@!A`&P`(``T`"``.@`@`"4`,0`-``H```!,``$`30!E
+M`',`<P!A`&<`90`@`&P`;P!C`&$`;``@`',`=0!R`"``;`!E`"``8P!A`&X`
+M80!L`"``-0`@`#H`(``E`#$`#0`*````3``!`$T`90!S`',`80!G`&4`(`!L
+M`&\`8P!A`&P`(`!S`'4`<@`@`&P`90`@`&,`80!N`&$`;``@`#8`(``Z`"``
+M)0`Q``T`"@```$P``0!-`&4`<P!S`&$`9P!E`"``;`!O`&,`80!L`"``<P!U
+M`'(`(`!L`&4`(`!C`&$`;@!A`&P`(``W`"``.@`@`"4`,0`-``H```!4``$`
+M30!E`',`<P!A`&<`90`@`&0`=0`@`',`;P!U`',`+0!S`'D`<P!T`*8#;0!E
+M`"``3@!E`'0`20!N`&8`;P`@`#H`(``E`#$`#0`*``````"```$`30!E`',`
+M<P!A`&<`90`@`&0`)P!A`'4`=`!H`&4`;@!T`&D`9@!I`&,`80!T`&D`;P!N
+M`"``;P!U`"``9``G`&$`=0!T`&@`;P!R`&D`<P!A`'0`:0!O`&X`(`!D`&D`
+M<P!T`&$`;@!T`&4`(``Z`"``)0`Q``T`"@```+@``0!-`&4`<P!S`&$`9P!E
+M`"``9P"8`VX`F`-R`)@#(`!P`&$`<@`@`&P`90`@`%,`90!R`'8`:0!C`&4`
+M(`!D`"<`00!C`&,`I at -S`"``1`!I`',`=`!A`&X`=``@`"@`4@!E`&T`;P!T
+M`&4`(`!!`&,`8P!E`',`<P`@`%,`90!R`'8`:0!C`&4`*0`@`"@`5@!0`$X`
+M(``O`"``4`!0`%``*0`@`#H`(``E`#$`#0`*``````!@``$`30!E`',`<P!A
+M`&<`90`@`&0`=0`@`',`;P!U`',`+0!S`'D`<P!T`*8#;0!E`"``9``G`&D`
+M;@!S`'0`80!L`&P`80!T`&D`;P!N`"``.@`@`"4`,0`-``H```",``$`30!E
+M`',`<P!A`&<`90`@`&<`F`-N`)@#<@"8`R``<`!A`'(`(`!L`&$`=0!N`&,`
+M:`!D`"P`(`!L`&4`(`!D`&$`90!M`&\`;@`@`&<`F`-N`)@#<@!I`'$`=0!E
+M`"``9`!E`"``90!M`&$`<@!R`&$`9P!E`"``.@`@`"4`,0`-``H`````````
+M```:`````0```!D````\`0``@``!`(```0!T`P``@0`"`($``@"D`P``@@`#
+M`((``P#0`P``@P`$`(,`!``0!```A``%`(0`!0"<!```A0`&`(4`!@#L!```
+MA@`'`(8`!P!,!0``AP`(`(<`"`"<!0``B``)`(@`"0#H!0``F@@*`)H("@`H
+M!@``JP at +`*L("P"D!@``O`@,`+P(#``(!P``C``0`(P`$`!`!P``C0`1`(T`
+M$0"(!P``C@`2`(X`$@#0!P``CP`3`(\`$P`8"```D``4`)``%`!@"```D0`5
+M`)$`%0"H"```D@`6`)(`%@#P"```DP`7`),`%P`X"0``E``@`)0`(`"`"0``
+ME0`A`)4`(0#$"0``E@`B`)8`(@`T"@``EP`C`)<`(P"\"@``F``D`)@`)``$
+M"P``&``!`$L`90!R`&X`90!L``T`"@``````%``!`%4`<P!E`'(`#0`*````
+M```4``$`30!A`&D`;``-``H``````!@``0!$`&$`90!M`&\`;@`-``H`````
+M`!0``0!!`'4`=`!H``T`"@``````&``!`%,`>0!S`&P`;P!G``T`"@``````
+M$``!`$P`4`!2``T`"@```!0``0!.`&4`=P!S``T`"@``````%``!`%4`50!#
+M`%``#0`*```````4``$`0P!R`&\`;@`-``H``````"```0!!`'4`=`!H`%``
+M<@!I`'8`80!T`&4`#0`*````$``!`$8`5`!0``T`"@```!@``0!,`&\`8P!A
+M`&P`,``-``H``````!@``0!,`&\`8P!A`&P`,0`-``H``````!@``0!,`&\`
+M8P!A`&P`,@`-``H``````!@``0!,`&\`8P!A`&P`,P`-``H``````!@``0!,
+M`&\`8P!A`&P`-``-``H``````!@``0!,`&\`8P!A`&P`-0`-``H``````!@`
+M`0!,`&\`8P!A`&P`-@`-``H``````!@``0!,`&\`8P!A`&P`-P`-``H`````
+M`!@``0!.`&4`=`!)`&X`9@!O``T`"@```"```0!2`&4`;0!O`'0`90!!`'4`
+M=`!H``T`"@``````$``!`%(`00!3``T`"@```!@``0!)`&X`<P!T`&$`;`!L
+M``T`"@```!@``0!,`&$`=0!N`&,`:`!D``T`"@```#```0!+`&4`<@!N`&4`
+M;``@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H``````"P``0!5`',`90!R
+M`"``;0!E`',`<P!A`&<`90`Z`"``)0`Q``T`"@``````0``!`$T`80!I`&P`
+M(`!S`'4`8@!S`'D`<P!T`&4`;0`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-
+M``H``````(P``0!-`&4`<P!S`&$`9P!E`"``9@!R`&\`;0`@`&$`(`!S`'D`
+M<P!T`&4`;0`@`&0`80!E`&T`;P!N`"``=P!I`'0`:`!O`'4`=``@`',`90!P
+M`&$`<@!A`'0`90`@`&8`80!C`&D`;`!I`'0`>0`@`'8`80!L`'4`90`Z`"``
+M)0`Q``T`"@``````4``!`%,`90!C`'4`<@!I`'0`>0`O`&$`=0!T`&@`;P!R
+M`&D`>@!A`'0`:0!O`&X`(`!M`&4`<P!S`&$`9P!E`#H`(``E`#$`#0`*````
+M``!@``$`30!E`',`<P!A`&<`90`@`&<`90!N`&4`<@!A`'0`90!D`"``:0!N
+M`'0`90!R`&X`80!L`&P`>0`@`&(`>0`@`',`>0!S`&P`;P!G`&0`.@`@`"4`
+M,0`-``H```!0``$`3`!I`&X`90`@`'``<@!I`&X`=`!E`'(`(`!S`'4`8@!S
+M`'D`<P!T`&4`;0`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H``````$P`
+M`0!5`%,`10!.`$4`5``@`&X`90!W`',`(`!S`'4`8@!S`'D`<P!T`&4`;0`@
+M`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H```!```$`50!5`$,`4``@`',`
+M=0!B`',`>0!S`'0`90!M`"``;0!E`',`<P!A`&<`90`Z`"``)0`Q``T`"@``
+M````?``!`$T`90!S`',`80!G`&4`(`!G`&4`;@!E`'(`80!T`&4`9``@`&(`
+M>0`@`'0`:`!E`"``8P!L`&\`8P!K`"``9`!A`&4`;0!O`&X`<P`@`"@`8P!R
+M`&\`;@`@`&$`;@!D`"``80!T`"D`.@`@`"4`,0`-``H``````&0``0!3`&4`
+M8P!U`'(`:0!T`'D`(`!O`'(`(`!A`'4`=`!H`&\`<@!I`'H`80!T`&D`;P!N
+M`"``<`!R`&D`=@!A`'0`90`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H`
+M```X``$`1@!4`%``(`!D`&$`90!M`&\`;@`@`&T`90!S`',`80!G`&4`.@`@
+M`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``
+M;P!N`"``8P!H`&$`;@!N`&4`;``@`#``.@`@`"4`,0`-``H``````$@``0!,
+M`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`
+M;``@`#$`.@`@`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S
+M`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`;``@`#(`.@`@`"4`,0`-``H`
+M`````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``;P!N`"``8P!H
+M`&$`;@!N`&4`;``@`#,`.@`@`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`
+M(`!M`&4`<P!S`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`;``@`#0`.@`@
+M`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``
+M;P!N`"``8P!H`&$`;@!N`&4`;``@`#4`.@`@`"4`,0`-``H``````$@``0!,
+M`&\`8P!A`&P`(`!M`&4`<P!S`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`
+M;``@`#8`.@`@`"4`,0`-``H``````$@``0!,`&\`8P!A`&P`(`!M`&4`<P!S
+M`&$`9P!E`"``;P!N`"``8P!H`&$`;@!N`&4`;``@`#<`.@`@`"4`,0`-``H`
+M`````$0``0!.`&4`=`!)`&X`9@!O`"``<P!U`&(`<P!Y`',`=`!E`&T`(`!M
+M`&4`<P!S`&$`9P!E`#H`(``E`#$`#0`*````<``!`%(`90!M`&\`=`!E`"``
+M80!U`'0`:`!E`&X`=`!I`&,`80!T`&D`;P!N`"``;P!R`"``80!U`'0`:`!O
+M`'(`:0!Z`&$`=`!I`&\`;@`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H`
+M`````(@``0!-`&4`<P!S`&$`9P!E`"``9P!E`&X`90!R`&$`=`!E`&0`(`!B
+M`'D`(`!T`&@`90`@`%(`90!M`&\`=`!E`"``00!C`&,`90!S`',`(`!3`&4`
+M<@!V`&D`8P!E`"``*`!6`%``3@`@`"\`(`!0`%``4``I`#H`(``E`#$`#0`*
+M``````!(``$`20!N`',`=`!A`&P`;`!E`'(`(`!S`'4`8@!S`'D`<P!T`&4`
+M;0`@`&T`90!S`',`80!G`&4`.@`@`"4`,0`-``H```"(``$`30!E`',`<P!A
+M`&<`90`@`&<`90!N`&4`<@!A`'0`90!D`"``8@!Y`"``;`!A`'4`;@!C`&@`
+M9``L`"``=`!H`&4`(`!G`&4`;@!E`'(`80!L`"``8@!O`&\`=`!S`'0`<@!A
+M`'``(`!D`&$`90!M`&\`;@`Z`"``)0`Q``T`"@``````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M```````````````````````(````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+M````````````````````````````````````````````````````````````
+>````````````````````````````````````````


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/win32/PerlLog_dll.uu
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Sys-Syslog/win32/Win32.pm
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/win32/Win32.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/win32/Win32.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Sys-Syslog/win32/Win32.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Sys-Syslog/win32/compile.pl
===================================================================
--- vendor/perl/dist/cpan/Sys-Syslog/win32/compile.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Sys-Syslog/win32/compile.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -83,7 +83,7 @@
 $template =~ s/__TIME__/localtime()/ge;
 print $out $template;
 close $out;
-print "Updated Win32.pm and relevent message files\n";
+print "Updated Win32.pm and relevant message files\n";
 
 __END__
 package Sys::Syslog::Win32;


Property changes on: vendor/perl/dist/cpan/Sys-Syslog/win32/compile.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-ANSIColor/ANSIColor.pm
===================================================================
--- vendor/perl/dist/cpan/Term-ANSIColor/ANSIColor.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-ANSIColor/ANSIColor.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,15 @@
 # Term::ANSIColor -- Color screen output using ANSI escape sequences.
 #
-# Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010
-#     Russ Allbery <rra at stanford.edu> and Zenin
-# PUSH/POP support submitted 2007 by openmethods.com voice solutions
+# Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010,
+#     2011, 2012, 2013 Russ Allbery <rra at stanford.edu>
+# Copyright 1996 Zenin
+# Copyright 2012 Kurt Starsinic <kstarsinic at gmail.com>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
 #
+# PUSH/POP support submitted 2007 by openmethods.com voice solutions
+#
 # Ah, September, when the sysadmins turn colors and fall off the trees....
 #                               -- Dave Van Domelen
 
@@ -15,80 +18,198 @@
 ##############################################################################
 
 package Term::ANSIColor;
-require 5.001;
 
-$VERSION = '3.00';
-
+use 5.006;
 use strict;
-use vars qw($AUTOLOAD $AUTOLOCAL $AUTORESET @COLORLIST @COLORSTACK $EACHLINE
-            @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION %ATTRIBUTES
-            %ATTRIBUTES_R);
+use warnings;
 
+use Carp qw(croak);
 use Exporter ();
+
+# use Exporter plus @ISA instead of use base for 5.6 compatibility.
+## no critic (ClassHierarchies::ProhibitExplicitISA)
+
+# Declare variables that should be set in BEGIN for robustness.
+## no critic (Modules::ProhibitAutomaticExportation)
+our (@EXPORT, @EXPORT_OK, %EXPORT_TAGS, @ISA, $VERSION);
+
+# We use autoloading, which sets this variable to the name of the called sub.
+our $AUTOLOAD;
+
+# Set $VERSION and everything export-related in a BEGIN block for robustness
+# against circular module loading (not that we load any modules, but
+# consistency is good).
 BEGIN {
-    @COLORLIST = qw(
-        CLEAR           RESET             BOLD            DARK
-        FAINT           UNDERLINE         UNDERSCORE      BLINK
-        REVERSE         CONCEALED
+    $VERSION = '4.02';
 
-        BLACK           RED               GREEN           YELLOW
-        BLUE            MAGENTA           CYAN            WHITE
-        ON_BLACK        ON_RED            ON_GREEN        ON_YELLOW
-        ON_BLUE         ON_MAGENTA        ON_CYAN         ON_WHITE
+    # All of the basic supported constants, used in %EXPORT_TAGS.
+    my @colorlist = qw(
+      CLEAR           RESET             BOLD            DARK
+      FAINT           ITALIC            UNDERLINE       UNDERSCORE
+      BLINK           REVERSE           CONCEALED
 
-        BRIGHT_BLACK    BRIGHT_RED        BRIGHT_GREEN    BRIGHT_YELLOW
-        BRIGHT_BLUE     BRIGHT_MAGENTA    BRIGHT_CYAN     BRIGHT_WHITE
-        ON_BRIGHT_BLACK ON_BRIGHT_RED     ON_BRIGHT_GREEN ON_BRIGHT_YELLOW
-        ON_BRIGHT_BLUE  ON_BRIGHT_MAGENTA ON_BRIGHT_CYAN  ON_BRIGHT_WHITE
+      BLACK           RED               GREEN           YELLOW
+      BLUE            MAGENTA           CYAN            WHITE
+      ON_BLACK        ON_RED            ON_GREEN        ON_YELLOW
+      ON_BLUE         ON_MAGENTA        ON_CYAN         ON_WHITE
+
+      BRIGHT_BLACK    BRIGHT_RED        BRIGHT_GREEN    BRIGHT_YELLOW
+      BRIGHT_BLUE     BRIGHT_MAGENTA    BRIGHT_CYAN     BRIGHT_WHITE
+      ON_BRIGHT_BLACK ON_BRIGHT_RED     ON_BRIGHT_GREEN ON_BRIGHT_YELLOW
+      ON_BRIGHT_BLUE  ON_BRIGHT_MAGENTA ON_BRIGHT_CYAN  ON_BRIGHT_WHITE
     );
+
+    # 256-color constants, used in %EXPORT_TAGS.
+    ## no critic (ValuesAndExpressions::ProhibitMagicNumbers)
+    my @colorlist256 = (
+        (map { ("ANSI$_", "ON_ANSI$_") } 0 .. 15),
+        (map { ("GREY$_", "ON_GREY$_") } 0 .. 23),
+    );
+    for my $r (0 .. 5) {
+        for my $g (0 .. 5) {
+            push @colorlist256, map { ("RGB$r$g$_", "ON_RGB$r$g$_") } 0 .. 5;
+        }
+    }
+
+    # Exported symbol configuration.
     @ISA         = qw(Exporter);
     @EXPORT      = qw(color colored);
-    @EXPORT_OK   = qw(uncolor colorstrip colorvalid);
-    %EXPORT_TAGS = (constants => \@COLORLIST,
-                    pushpop   => [ @COLORLIST,
-                                   qw(PUSHCOLOR POPCOLOR LOCALCOLOR) ]);
-    Exporter::export_ok_tags ('pushpop');
+    @EXPORT_OK   = qw(uncolor colorstrip colorvalid coloralias);
+    %EXPORT_TAGS = (
+        constants    => \@colorlist,
+        constants256 => \@colorlist256,
+        pushpop      => [@colorlist, qw(PUSHCOLOR POPCOLOR LOCALCOLOR)],
+    );
+    Exporter::export_ok_tags('pushpop', 'constants256');
 }
 
 ##############################################################################
+# Package variables
+##############################################################################
+
+# If this is set, any color changes will implicitly push the current color
+# onto the stack and then pop it at the end of the constant sequence, just as
+# if LOCALCOLOR were used.
+our $AUTOLOCAL;
+
+# Caller sets this to force a reset at the end of each constant sequence.
+our $AUTORESET;
+
+# Caller sets this to force colors to be reset at the end of each line.
+our $EACHLINE;
+
+##############################################################################
 # Internal data structures
 ##############################################################################
 
-%ATTRIBUTES = ('clear'          => 0,
-               'reset'          => 0,
-               'bold'           => 1,
-               'dark'           => 2,
-               'faint'          => 2,
-               'underline'      => 4,
-               'underscore'     => 4,
-               'blink'          => 5,
-               'reverse'        => 7,
-               'concealed'      => 8,
+# This module does quite a bit of initialization at the time it is first
+# loaded, primarily to set up the package-global %ATTRIBUTES hash.  The
+# entries for 256-color names are easier to handle programmatically, and
+# custom colors are also imported from the environment if any are set.
 
-               'black'          => 30,   'on_black'          => 40,
-               'red'            => 31,   'on_red'            => 41,
-               'green'          => 32,   'on_green'          => 42,
-               'yellow'         => 33,   'on_yellow'         => 43,
-               'blue'           => 34,   'on_blue'           => 44,
-               'magenta'        => 35,   'on_magenta'        => 45,
-               'cyan'           => 36,   'on_cyan'           => 46,
-               'white'          => 37,   'on_white'          => 47,
+# All basic supported attributes, including aliases.
+#<<<
+our %ATTRIBUTES = (
+    'clear'          => 0,
+    'reset'          => 0,
+    'bold'           => 1,
+    'dark'           => 2,
+    'faint'          => 2,
+    'italic'         => 3,
+    'underline'      => 4,
+    'underscore'     => 4,
+    'blink'          => 5,
+    'reverse'        => 7,
+    'concealed'      => 8,
 
-               'bright_black'   => 90,   'on_bright_black'   => 100,
-               'bright_red'     => 91,   'on_bright_red'     => 101,
-               'bright_green'   => 92,   'on_bright_green'   => 102,
-               'bright_yellow'  => 93,   'on_bright_yellow'  => 103,
-               'bright_blue'    => 94,   'on_bright_blue'    => 104,
-               'bright_magenta' => 95,   'on_bright_magenta' => 105,
-               'bright_cyan'    => 96,   'on_bright_cyan'    => 106,
-               'bright_white'   => 97,   'on_bright_white'   => 107,
-               );
+    'black'          => 30,   'on_black'          => 40,
+    'red'            => 31,   'on_red'            => 41,
+    'green'          => 32,   'on_green'          => 42,
+    'yellow'         => 33,   'on_yellow'         => 43,
+    'blue'           => 34,   'on_blue'           => 44,
+    'magenta'        => 35,   'on_magenta'        => 45,
+    'cyan'           => 36,   'on_cyan'           => 46,
+    'white'          => 37,   'on_white'          => 47,
 
+    'bright_black'   => 90,   'on_bright_black'   => 100,
+    'bright_red'     => 91,   'on_bright_red'     => 101,
+    'bright_green'   => 92,   'on_bright_green'   => 102,
+    'bright_yellow'  => 93,   'on_bright_yellow'  => 103,
+    'bright_blue'    => 94,   'on_bright_blue'    => 104,
+    'bright_magenta' => 95,   'on_bright_magenta' => 105,
+    'bright_cyan'    => 96,   'on_bright_cyan'    => 106,
+    'bright_white'   => 97,   'on_bright_white'   => 107,
+);
+#>>>
+
+# Generating the 256-color codes involves a lot of codes and offsets that are
+# not helped by turning them into constants.
+## no critic (ValuesAndExpressions::ProhibitMagicNumbers)
+
+# The first 16 256-color codes are duplicates of the 16 ANSI colors,
+# included for completeness.
+for my $code (0 .. 15) {
+    $ATTRIBUTES{"ansi$code"}    = "38;5;$code";
+    $ATTRIBUTES{"on_ansi$code"} = "48;5;$code";
+}
+
+# 256-color RGB colors.  Red, green, and blue can each be values 0 through 5,
+# and the resulting 216 colors start with color 16.
+for my $r (0 .. 5) {
+    for my $g (0 .. 5) {
+        for my $b (0 .. 5) {
+            my $code = 16 + (6 * 6 * $r) + (6 * $g) + $b;
+            $ATTRIBUTES{"rgb$r$g$b"}    = "38;5;$code";
+            $ATTRIBUTES{"on_rgb$r$g$b"} = "48;5;$code";
+        }
+    }
+}
+
+# The last 256-color codes are 24 shades of grey.
+for my $n (0 .. 23) {
+    my $code = $n + 232;
+    $ATTRIBUTES{"grey$n"}    = "38;5;$code";
+    $ATTRIBUTES{"on_grey$n"} = "48;5;$code";
+}
+
+## use critic (ValuesAndExpressions::ProhibitMagicNumbers)
+
 # Reverse lookup.  Alphabetically first name for a sequence is preferred.
-for (reverse sort keys %ATTRIBUTES) {
-    $ATTRIBUTES_R{$ATTRIBUTES{$_}} = $_;
+our %ATTRIBUTES_R;
+for my $attr (reverse sort keys %ATTRIBUTES) {
+    $ATTRIBUTES_R{ $ATTRIBUTES{$attr} } = $attr;
 }
 
+# Import any custom colors set in the environment.
+our %ALIASES;
+if (exists $ENV{ANSI_COLORS_ALIASES}) {
+    my $spec = $ENV{ANSI_COLORS_ALIASES};
+    $spec =~ s{\s+}{}xmsg;
+
+    # Error reporting here is an interesting question.  Use warn rather than
+    # carp because carp would report the line of the use or require, which
+    # doesn't help anyone understand what's going on, whereas seeing this code
+    # will be more helpful.
+    ## no critic (ErrorHandling::RequireCarping)
+    for my $definition (split m{,}xms, $spec) {
+        my ($new, $old) = split m{=}xms, $definition, 2;
+        if (!$new || !$old) {
+            warn qq{Bad color mapping "$definition"};
+        } else {
+            my $result = eval { coloralias($new, $old) };
+            if (!$result) {
+                my $error = $@;
+                $error =~ s{ [ ] at [ ] .* }{}xms;
+                warn qq{$error in "$definition"};
+            }
+        }
+    }
+}
+
+# Stores the current color stack maintained by PUSHCOLOR and POPCOLOR.  This
+# is global and therefore not threadsafe.
+our @COLORSTACK;
+
 ##############################################################################
 # Implementation (constant form)
 ##############################################################################
@@ -111,61 +232,128 @@
 # called sub against the list of attributes, and if it's an all-caps version
 # of one of them, we define the sub on the fly and then run it.
 #
-# If the environment variable ANSI_COLORS_DISABLED is set, just return the
-# arguments without adding any escape sequences.  This is to make it easier to
-# write scripts that also work on systems without any ANSI support, like
-# Windows consoles.
+# If the environment variable ANSI_COLORS_DISABLED is set to a true value,
+# just return the arguments without adding any escape sequences.  This is to
+# make it easier to write scripts that also work on systems without any ANSI
+# support, like Windows consoles.
+#
+## no critic (ClassHierarchies::ProhibitAutoloading)
+## no critic (Subroutines::RequireArgUnpacking)
 sub AUTOLOAD {
-    if (defined $ENV{ANSI_COLORS_DISABLED}) {
-        return join ('', @_);
+    my ($sub, $attr) = $AUTOLOAD =~ m{ \A ([\w:]*::([[:upper:]\d_]+)) \z }xms;
+
+    # Check if we were called with something that doesn't look like an
+    # attribute.
+    if (!$attr || !defined $ATTRIBUTES{ lc $attr }) {
+        croak("undefined subroutine &$AUTOLOAD called");
     }
-    if ($AUTOLOAD =~ /^([\w:]*::([A-Z_]+))$/ and defined $ATTRIBUTES{lc $2}) {
-        $AUTOLOAD = $1;
-        my $attr = "\e[" . $ATTRIBUTES{lc $2} . 'm';
-        eval qq {
-            sub $AUTOLOAD {
-                if (\$AUTORESET && \@_) {
-                    return '$attr' . join ('', \@_) . "\e[0m";
-                } elsif (\$AUTOLOCAL && \@_) {
-                    return PUSHCOLOR ('$attr') . join ('', \@_) . POPCOLOR;
-                } else {
-                    return '$attr' . join ('', \@_);
-                }
+
+    # If colors are disabled, just return the input.  Do this without
+    # installing a sub for (marginal, unbenchmarked) speed.
+    if ($ENV{ANSI_COLORS_DISABLED}) {
+        return join q{}, @_;
+    }
+
+    # We've untainted the name of the sub.
+    $AUTOLOAD = $sub;
+
+    # Figure out the ANSI string to set the desired attribute.
+    my $escape = "\e[" . $ATTRIBUTES{ lc $attr } . 'm';
+
+    # Save the current value of $@.  We can't just use local since we want to
+    # restore it before dispatching to the newly-created sub.  (The caller may
+    # be colorizing output that includes $@.)
+    my $eval_err = $@;
+
+    # Generate the constant sub, which should still recognize some of our
+    # package variables.  Use string eval to avoid a dependency on
+    # Sub::Install, even though it makes it somewhat less readable.
+    ## no critic (BuiltinFunctions::ProhibitStringyEval)
+    ## no critic (ValuesAndExpressions::ProhibitImplicitNewlines)
+    my $eval_result = eval qq{
+        sub $AUTOLOAD {
+            if (\$ENV{ANSI_COLORS_DISABLED}) {
+                return join q{}, \@_;
+            } elsif (\$AUTOLOCAL && \@_) {
+                return PUSHCOLOR('$escape') . join(q{}, \@_) . POPCOLOR;
+            } elsif (\$AUTORESET && \@_) {
+                return '$escape' . join(q{}, \@_) . "\e[0m";
+            } else {
+                return '$escape' . join q{}, \@_;
             }
-        };
-        goto &$AUTOLOAD;
-    } else {
-        require Carp;
-        Carp::croak ("undefined subroutine &$AUTOLOAD called");
+        }
+        1;
+    };
+
+    # Failure is an internal error, not a problem with the caller.
+    ## no critic (ErrorHandling::RequireCarping)
+    if (!$eval_result) {
+        die "failed to generate constant $attr: $@";
     }
+
+    # Restore $@.
+    ## no critic (Variables::RequireLocalizedPunctuationVars)
+    $@ = $eval_err;
+
+    # Dispatch to the newly-created sub.
+    ## no critic (References::ProhibitDoubleSigils)
+    goto &$AUTOLOAD;
 }
+## use critic (Subroutines::RequireArgUnpacking)
 
 # Append a new color to the top of the color stack and return the top of
 # the stack.
+#
+# $text - Any text we're applying colors to, with color escapes prepended
+#
+# Returns: The text passed in
 sub PUSHCOLOR {
-    my ($text) = @_;
-    my ($color) = ($text =~ m/^((?:\e\[[\d;]+m)+)/);
+    my (@text) = @_;
+    my $text = join q{}, @text;
+
+    # Extract any number of color-setting escape sequences from the start of
+    # the string.
+    my ($color) = $text =~ m{ \A ( (?:\e\[ [\d;]+ m)+ ) }xms;
+
+    # If we already have a stack, append these escapes to the set from the top
+    # of the stack.  This way, each position in the stack stores the complete
+    # enabled colors for that stage, at the cost of some potential
+    # inefficiency.
     if (@COLORSTACK) {
         $color = $COLORSTACK[-1] . $color;
     }
-    push (@COLORSTACK, $color);
+
+    # Push the color onto the stack.
+    push @COLORSTACK, $color;
     return $text;
 }
 
 # Pop the color stack and return the new top of the stack (or reset, if
 # the stack is empty).
+#
+# @text - Any text we're applying colors to
+#
+# Returns: The concatenation of @text prepended with the new stack color
 sub POPCOLOR {
+    my (@text) = @_;
     pop @COLORSTACK;
     if (@COLORSTACK) {
-        return $COLORSTACK[-1] . join ('', @_);
+        return $COLORSTACK[-1] . join q{}, @text;
     } else {
-        return RESET (@_);
+        return RESET(@text);
     }
 }
 
-# Surround arguments with a push and a pop.
+# Surround arguments with a push and a pop.  The effect will be to reset the
+# colors to whatever was on the color stack before this sequence of colors was
+# applied.
+#
+# @text - Any text we're applying colors to
+#
+# Returns: The concatenation of the text and the proper color reset sequence.
 sub LOCALCOLOR {
-    return PUSHCOLOR (join ('', @_)) . POPCOLOR ();
+    my (@text) = @_;
+    return PUSHCOLOR(join q{}, @text) . POPCOLOR();
 }
 
 ##############################################################################
@@ -173,46 +361,82 @@
 ##############################################################################
 
 # Return the escape code for a given set of color attributes.
+#
+# @codes - A list of possibly space-separated color attributes
+#
+# Returns: The escape sequence setting those color attributes
+#          undef if no escape sequences were given
+#  Throws: Text exception for any invalid attribute
 sub color {
-    return '' if defined $ENV{ANSI_COLORS_DISABLED};
-    my @codes = map { split } @_;
-    my $attribute = '';
-    foreach (@codes) {
-        $_ = lc $_;
-        unless (defined $ATTRIBUTES{$_}) {
-            require Carp;
-            Carp::croak ("Invalid attribute name $_");
+    my (@codes) = @_;
+    @codes = map { split } @codes;
+
+    # Return the empty string if colors are disabled.
+    if ($ENV{ANSI_COLORS_DISABLED}) {
+        return q{};
+    }
+
+    # Build the attribute string from semicolon-separated numbers.
+    my $attribute = q{};
+    for my $code (@codes) {
+        $code = lc $code;
+        if (defined $ATTRIBUTES{$code}) {
+            $attribute .= $ATTRIBUTES{$code} . q{;};
+        } elsif (defined $ALIASES{$code}) {
+            $attribute .= $ALIASES{$code} . q{;};
+        } else {
+            croak("Invalid attribute name $code");
         }
-        $attribute .= $ATTRIBUTES{$_} . ';';
     }
+
+    # We added one too many semicolons for simplicity.  Remove the last one.
     chop $attribute;
-    return ($attribute ne '') ? "\e[${attribute}m" : undef;
+
+    # Return undef if there were no attributes.
+    return ($attribute ne q{}) ? "\e[${attribute}m" : undef;
 }
 
 # Return a list of named color attributes for a given set of escape codes.
 # Escape sequences can be given with or without enclosing "\e[" and "m".  The
 # empty escape sequence '' or "\e[m" gives an empty list of attrs.
+#
+# There is one special case.  256-color codes start with 38 or 48, followed by
+# a 5 and then the 256-color code.
+#
+# @escapes - A list of escape sequences or escape sequence numbers
+#
+# Returns: An array of attribute names corresponding to those sequences
+#  Throws: Text exceptions on invalid escape sequences or unknown colors
 sub uncolor {
+    my (@escapes) = @_;
     my (@nums, @result);
-    for (@_) {
-        my $escape = $_;
-        $escape =~ s/^\e\[//;
-        $escape =~ s/m$//;
-        unless ($escape =~ /^((?:\d+;)*\d*)$/) {
-            require Carp;
-            Carp::croak ("Bad escape sequence $escape");
+
+    # Walk the list of escapes and build a list of attribute numbers.
+    for my $escape (@escapes) {
+        $escape =~ s{ \A \e\[ }{}xms;
+        $escape =~ s{ m \z }   {}xms;
+        my ($attrs) = $escape =~ m{ \A ((?:\d+;)* \d*) \z }xms;
+        if (!defined $attrs) {
+            croak("Bad escape sequence $escape");
         }
-        push (@nums, split (/;/, $1));
+
+        # Pull off 256-color codes (38;5;n or 48;5;n) as a unit.
+        push @nums, $attrs =~ m{ ( 0*[34]8;0*5;\d+ | \d+ ) (?: ; | \z ) }xmsg;
     }
-    for (@nums) {
-        $_ += 0; # Strip leading zeroes
-        my $name = $ATTRIBUTES_R{$_};
+
+    # Now, walk the list of numbers and convert them to attribute names.
+    # Strip leading zeroes from any of the numbers.  (xterm, at least, allows
+    # leading zeroes to be added to any number in an escape sequence.)
+    for my $num (@nums) {
+        $num =~ s{ ( \A | ; ) 0+ (\d) }{$1$2}xmsg;
+        my $name = $ATTRIBUTES_R{$num};
         if (!defined $name) {
-            require Carp;
-            Carp::croak ("No name for escape sequence $_" );
+            croak("No name for escape sequence $num");
         }
-        push (@result, $name);
+        push @result, $name;
     }
+
+    # Return the attribute names.
     return @result;
 }
 
@@ -219,49 +443,106 @@
 # Given a string and a set of attributes, returns the string surrounded by
 # escape codes to set those attributes and then clear them at the end of the
 # string.  The attributes can be given either as an array ref as the first
-# argument or as a list as the second and subsequent arguments.  If $EACHLINE
-# is set, insert a reset before each occurrence of the string $EACHLINE and
-# the starting attribute code after the string $EACHLINE, so that no attribute
-# crosses line delimiters (this is often desirable if the output is to be
-# piped to a pager or some other program).
+# argument or as a list as the second and subsequent arguments.
+#
+# If $EACHLINE is set, insert a reset before each occurrence of the string
+# $EACHLINE and the starting attribute code after the string $EACHLINE, so
+# that no attribute crosses line delimiters (this is often desirable if the
+# output is to be piped to a pager or some other program).
+#
+# $first - An anonymous array of attributes or the text to color
+# @rest  - The text to color or the list of attributes
+#
+# Returns: The text, concatenated if necessary, surrounded by escapes to set
+#          the desired colors and reset them afterwards
+#  Throws: Text exception on invalid attributes
 sub colored {
+    my ($first, @rest) = @_;
     my ($string, @codes);
-    if (ref $_[0]) {
-        @codes = @{+shift};
-        $string = join ('', @_);
+    if (ref($first) && ref($first) eq 'ARRAY') {
+        @codes = @{$first};
+        $string = join q{}, @rest;
     } else {
-        $string = shift;
-        @codes = @_;
+        $string = $first;
+        @codes  = @rest;
     }
-    return $string if defined $ENV{ANSI_COLORS_DISABLED};
+
+    # Return the string unmolested if colors are disabled.
+    if ($ENV{ANSI_COLORS_DISABLED}) {
+        return $string;
+    }
+
+    # Find the attribute string for our colors.
+    my $attr = color(@codes);
+
+    # If $EACHLINE is defined, split the string on line boundaries, suppress
+    # empty segments, and then colorize each of the line sections.
     if (defined $EACHLINE) {
-        my $attr = color (@codes);
-        return join '',
-            map { ($_ ne $EACHLINE) ? $attr . $_ . "\e[0m" : $_ }
-                grep { length ($_) > 0 }
-                    split (/(\Q$EACHLINE\E)/, $string);
+        my @text = map { ($_ ne $EACHLINE) ? $attr . $_ . "\e[0m" : $_ }
+          grep { length($_) > 0 }
+          split m{ (\Q$EACHLINE\E) }xms, $string;
+        return join q{}, @text;
     } else {
-        return color (@codes) . $string . "\e[0m";
+        return $attr . $string . "\e[0m";
     }
 }
 
+# Define a new color alias, or return the value of an existing alias.
+#
+# $alias - The color alias to define
+# $color - The standard color the alias will correspond to (optional)
+#
+# Returns: The standard color value of the alias
+#          undef if one argument was given and the alias was not recognized
+#  Throws: Text exceptions for invalid alias names, attempts to use a
+#          standard color name as an alias, or an unknown standard color name
+sub coloralias {
+    my ($alias, $color) = @_;
+    if (!defined $color) {
+        if (!exists $ALIASES{$alias}) {
+            return;
+        } else {
+            return $ATTRIBUTES_R{ $ALIASES{$alias} };
+        }
+    }
+    if ($alias !~ m{ \A [\w._-]+ \z }xms) {
+        croak(qq{Invalid alias name "$alias"});
+    } elsif ($ATTRIBUTES{$alias}) {
+        croak(qq{Cannot alias standard color "$alias"});
+    } elsif (!exists $ATTRIBUTES{$color}) {
+        croak(qq{Invalid attribute name "$color"});
+    }
+    $ALIASES{$alias} = $ATTRIBUTES{$color};
+    return $color;
+}
+
 # Given a string, strip the ANSI color codes out of that string and return the
 # result.  This removes only ANSI color codes, not movement codes and other
 # escape sequences.
+#
+# @string - The list of strings to sanitize
+#
+# Returns: (array)  The strings stripped of ANSI color escape sequences
+#          (scalar) The same, concatenated
 sub colorstrip {
     my (@string) = @_;
     for my $string (@string) {
-        $string =~ s/\e\[[\d;]*m//g;
+        $string =~ s{ \e\[ [\d;]* m }{}xmsg;
     }
-    return wantarray ? @string : join ('', @string);
+    return wantarray ? @string : join q{}, @string;
 }
 
 # Given a list of color attributes (arguments for color, for instance), return
 # true if they're all valid or false if any of them are invalid.
+#
+# @codes - A list of color attributes, possibly space-separated
+#
+# Returns: True if all the attributes are valid, false otherwise.
 sub colorvalid {
-    my @codes = map { split } @_;
-    for (@codes) {
-        unless (defined $ATTRIBUTES{lc $_}) {
+    my (@codes) = @_;
+    @codes = map { split q{ }, lc $_ } @codes;
+    for my $code (@codes) {
+        if (!defined $ATTRIBUTES{$code} && !defined $ALIASES{$code}) {
             return;
         }
     }
@@ -284,7 +565,8 @@
 cyan colorize namespace runtime TMTOWTDI cmd.exe 4nt.exe command.com NT
 ESC Delvare SSH OpenSSH aixterm ECMA-048 Fraktur overlining Zenin
 reimplemented Allbery PUSHCOLOR POPCOLOR LOCALCOLOR openmethods.com
-grey ATTR
+grey ATTR urxvt mistyped prepending Bareword filehandle Cygwin Starsinic
+aterm rxvt CPAN RGB Solarized Whitespace alphanumerics undef
 
 =head1 SYNOPSIS
 
@@ -293,23 +575,33 @@
     print "This text is bold blue.\n";
     print color 'reset';
     print "This text is normal.\n";
-    print colored ("Yellow on magenta.", 'yellow on_magenta'), "\n";
+    print colored("Yellow on magenta.", 'yellow on_magenta'), "\n";
     print "This text is normal.\n";
     print colored ['yellow on_magenta'], 'Yellow on magenta.', "\n";
-    print colored ['red on_bright_yellow'] 'Red on bright yellow.', "\n";
-    print colored ['bright_red on_black], 'Bright red on black.', "\n";
+    print colored ['red on_bright_yellow'], 'Red on bright yellow.', "\n";
+    print colored ['bright_red on_black'], 'Bright red on black.', "\n";
     print "\n";
 
-    use Term::ANSIColor qw(uncolor);
-    print uncolor ('01;31'), "\n";
+    # Map escape sequences back to color names.
+    use Term::ANSIColor 1.04 qw(uncolor);
+    my $names = uncolor('01;31');
+    print join(q{ }, @{$names}), "\n";
 
-    use Term::ANSIColor qw(colorstrip);
+    # Strip all color escape sequences.
+    use Term::ANSIColor 2.01 qw(colorstrip);
     print colorstrip '\e[1mThis is bold\e[0m', "\n";
 
-    use Term::ANSIColor qw(colorvalid);
-    my $valid = colorvalid ('blue bold', 'on_magenta');
+    # Determine whether a color is valid.
+    use Term::ANSIColor 2.02 qw(colorvalid);
+    my $valid = colorvalid('blue bold', 'on_magenta');
     print "Color string is ", $valid ? "valid\n" : "invalid\n";
 
+    # Create new aliases for colors.
+    use Term::ANSIColor 4.00 qw(coloralias);
+    coloralias('alert', 'red');
+    print "Alert is ", coloralias('alert'), "\n";
+    print colored("This is in red.", 'alert'), "\n";
+
     use Term::ANSIColor qw(:constants);
     print BOLD, BLUE, "This text is in bold blue.\n", RESET;
 
@@ -320,7 +612,7 @@
         print "This text is normal.\n";
     }
 
-    use Term::ANSIColor qw(:pushpop);
+    use Term::ANSIColor 2.00 qw(:pushpop);
     print PUSHCOLOR RED ON_GREEN "This text is red on green.\n";
     print PUSHCOLOR BRIGHT_BLUE "This text is bright blue on green.\n";
     print RESET BRIGHT_BLUE "This text is just bright blue.\n";
@@ -338,17 +630,19 @@
 
 This module has two interfaces, one through color() and colored() and the
 other through constants.  It also offers the utility functions uncolor(),
-colorstrip(), and colorvalid(), which have to be explicitly imported to be
-used (see L</SYNOPSIS>).
+colorstrip(), colorvalid(), and coloralias(), which have to be explicitly
+imported to be used (see L</SYNOPSIS>).
 
+See L</COMPATIBILITY> for the versions of Term::ANSIColor that introduced
+particular features and the versions of Perl that included them.
+
 =head2 Supported Colors
 
 Terminal emulators that support color divide into two types: ones that
-support only eight colors, and ones that support sixteen.  This module
-provides both the ANSI escape codes for the "normal" colors, supported by
-both types, as well as the additional colors supported by sixteen-color
-emulators.  These colors are referred to as ANSI colors 0 through 7
-(normal) and 8 through 15.
+support only eight colors, ones that support sixteen, and ones that
+support 256.  This module provides the ANSI escape codes all of them.
+These colors are referred to as ANSI colors 0 through 7 (normal), 8
+through 15 (16-color), and 16 through 255 (256-color).
 
 Unfortunately, interpretation of colors 0 through 7 often depends on
 whether the emulator supports eight colors or sixteen colors.  Emulators
@@ -371,8 +665,19 @@
 background colors: C<on_red> is the normal color and C<on_bright_red> is
 the bright color.  Capitalize these strings for the constant interface.
 
+For 256-color emulators, this module additionally provides C<ansi0>
+through C<ansi15>, which are the same as colors 0 through 15 in
+sixteen-color emulators but use the 256-color escape syntax, C<grey0>
+through C<grey23> ranging from nearly black to nearly white, and a set of
+RGB colors.  The RGB colors are of the form C<rgbI<RGB>> where I<R>, I<G>,
+and I<B> are numbers from 0 to 5 giving the intensity of red, green, and
+blue.  C<on_> variants of all of these colors are also provided.  These
+colors may be ignored completely on non-256-color terminals or may be
+misinterpreted and produce random behavior.  Additional attributes such as
+blink, italic, or bold may not work with the 256-color palette.
+
 There is unfortunately no way to know whether the current emulator
-supports sixteen colors or not, which makes the choice of colors
+supports more than eight colors, which makes the choice of colors
 difficult.  The most conservative choice is to use only the regular
 colors, which are at least displayed on all emulators.  However, they will
 appear dark in sixteen-color terminal emulators, including most common
@@ -381,21 +686,18 @@
 offer the user a way to configure the colors for a given application to
 fit their terminal emulator.
 
-Support for colors 8 through 15 (the C<bright_> variants) was added in
-Term::ANSIColor 3.0.
-
 =head2 Function Interface
 
 The function interface uses attribute strings to describe the colors and
 text attributes to assign to text.  The recognized non-color attributes
-are clear, reset, bold, dark, faint, underline, underscore, blink,
+are clear, reset, bold, dark, faint, italic, underline, underscore, blink,
 reverse, and concealed.  Clear and reset (reset to default attributes),
 dark and faint (dim and saturated), and underline and underscore are
 equivalent, so use whichever is the most intuitive to you.
 
 Note that not all attributes are supported by all terminal types, and some
-terminals may not support any of these sequences.  Dark and faint, blink,
-and concealed in particular are frequently not implemented.
+terminals may not support any of these sequences.  Dark and faint, italic,
+blink, and concealed in particular are frequently not implemented.
 
 The recognized normal foreground color attributes (colors 0 to 7) are:
 
@@ -416,6 +718,19 @@
   on_bright_black  on_bright_red      on_bright_green  on_bright_yellow
   on_bright_blue   on_bright_magenta  on_bright_cyan   on_bright_white
 
+For 256-color terminals, the recognized foreground colors are:
+
+  ansi0 .. ansi15
+  grey0 .. grey23
+
+plus C<rgbI<RGB>> for I<R>, I<G>, and I<B> values from 0 to 5, such as
+C<rgb000> or C<rgb515>.  Similarly, the recognized background colors are:
+
+  on_ansi0 .. on_ansi15
+  on_grey0 .. on_grey23
+
+plus C<on_rgbI<RGB>> for for I<R>, I<G>, and I<B> values from 0 to 5.
+
 For any of the above listed attributes, case is not significant.
 
 Attributes, once set, last until they are unset (by printing the attribute
@@ -435,7 +750,7 @@
 handle, or do anything else with it that you might care to.  color()
 throws an exception if given an invalid attribute.
 
-=item colored(STRING, ATTRIBUTES)
+=item colored(STRING, ATTR[, ATTR ...])
 
 =item colored(ATTR-REF, STRING[, STRING...])
 
@@ -475,6 +790,31 @@
 colorvalid() takes attribute strings the same as color() and returns true
 if all attributes are known and false otherwise.
 
+=item coloralias(ALIAS[, ATTR])
+
+If ATTR is specified, coloralias() sets up an alias of ALIAS for the
+standard color ATTR.  From that point forward, ALIAS can be passed into
+color(), colored(), and colorvalid() and will have the same meaning as
+ATTR.  One possible use of this facility is to give more meaningful names
+to the 256-color RGB colors.  Only alphanumerics, C<.>, C<_>, and C<-> are
+allowed in alias names.
+
+If ATTR is not specified, coloralias() returns the standard color name to
+which ALIAS is aliased, if any, or undef if ALIAS does not exist.
+
+This is the same facility used by the ANSI_COLORS_ALIASES environment
+variable (see L</ENVIRONMENT> below) but can be used at runtime, not just
+when the module is loaded.
+
+Later invocations of coloralias() with the same ALIAS will override
+earlier aliases.  There is no way to remove an alias.
+
+Aliases have no effect on the return value of uncolor().
+
+B<WARNING>: Aliases are global and affect all callers in the same process.
+There is no way to set an alias limited to a particular block of code or a
+particular object.
+
 =back
 
 =head2 Constant Interface
@@ -483,8 +823,8 @@
 constants directly:
 
   CLEAR           RESET             BOLD            DARK
-  FAINT           UNDERLINE         UNDERSCORE      BLINK
-  REVERSE         CONCEALED
+  FAINT           ITALIC            UNDERLINE       UNDERSCORE
+  BLINK           REVERSE           CONCEALED
 
   BLACK           RED               GREEN           YELLOW
   BLUE            MAGENTA           CYAN            WHITE
@@ -508,6 +848,25 @@
 (Note that the newline is kept separate to avoid confusing the terminal as
 described above since a background color is being used.)
 
+If you import C<:constants256>, you can use the following constants
+directly:
+
+  ANSI0 .. ANSI15
+  GREY0 .. GREY23
+
+  RGBXYZ (for X, Y, and Z values from 0 to 5, like RGB000 or RGB515)
+
+  ON_ANSI0 .. ON_ANSI15
+  ON_GREY0 .. ON_GREY23
+
+  ON_RGBXYZ (for X, Y, and Z values from 0 to 5)
+
+Note that C<:constants256> does not include the other constants, so if you
+want to mix both, you need to include C<:constants> as well.  You may want
+to explicitly import at least C<RESET>, as in:
+
+    use Term::ANSIColor 4.00 qw(RESET :constants256);
+
 When using the constants, if you don't want to have to remember to add the
 C<, RESET> at the end of each print line, you can set
 $Term::ANSIColor::AUTORESET to a true value.  Then, the display mode will
@@ -521,9 +880,12 @@
     print BOLD, BLUE, "Text\n";
 
 will not.  If you are using background colors, you will probably want to
-print the newline with a separate print statement to avoid confusing the
-terminal.
+either use say() (in newer versions of Perl) or print the newline with a
+separate print statement to avoid confusing the terminal.
 
+If $Term::ANSIColor::AUTOLOCAL is set (see below), it takes precedence
+over $Term::ANSIColor::AUTORESET, and the latter is ignored.
+
 The subroutine interface has the advantage over the constants interface in
 that only two subroutines are exported into your namespace, versus
 thirty-eight in the constants interface.  On the flip side, the constants
@@ -536,14 +898,28 @@
 
 =head2 The Color Stack
 
-As of Term::ANSIColor 2.0, you can import C<:pushpop> and maintain a stack
-of colors using PUSHCOLOR, POPCOLOR, and LOCALCOLOR.  PUSHCOLOR takes the
-attribute string that starts its argument and pushes it onto a stack of
-attributes.  POPCOLOR removes the top of the stack and restores the
-previous attributes set by the argument of a prior PUSHCOLOR.  LOCALCOLOR
-surrounds its argument in a PUSHCOLOR and POPCOLOR so that the color
-resets afterward.
+You can import C<:pushpop> and maintain a stack of colors using PUSHCOLOR,
+POPCOLOR, and LOCALCOLOR.  PUSHCOLOR takes the attribute string that
+starts its argument and pushes it onto a stack of attributes.  POPCOLOR
+removes the top of the stack and restores the previous attributes set by
+the argument of a prior PUSHCOLOR.  LOCALCOLOR surrounds its argument in a
+PUSHCOLOR and POPCOLOR so that the color resets afterward.
 
+If $Term::ANSIColor::AUTOLOCAL is set, each sequence of color constants
+will be implicitly preceded by LOCALCOLOR.  In other words, the following:
+
+    {
+        local $Term::ANSIColor::AUTOLOCAL = 1;
+        print BLUE "Text\n";
+    }
+
+is equivalent to:
+
+    print LOCALCOLOR BLUE "Text\n";
+
+If $Term::ANSIColor::AUTOLOCAL is set, it takes precedence over
+$Term::ANSIColor::AUTORESET, and the latter is ignored.
+
 When using PUSHCOLOR, POPCOLOR, and LOCALCOLOR, it's particularly
 important to not put commas between the constants.
 
@@ -562,6 +938,11 @@
 
 =over 4
 
+=item Bad color mapping %s
+
+(W) The specified color mapping from ANSI_COLORS_ALIASES is not valid and
+could not be parsed.  It was ignored.
+
 =item Bad escape sequence %s
 
 (F) You passed an invalid ANSI escape sequence to uncolor().
@@ -579,10 +960,36 @@
 This will only show up under use strict (another good reason to run under
 use strict).
 
+=item Cannot alias standard color %s
+
+(F) The alias name passed to coloralias() matches a standard color name.
+Standard color names cannot be aliased.
+
+=item Cannot alias standard color %s in %s
+
+(W) The same, but in ANSI_COLORS_ALIASES.  The color mapping was ignored.
+
+=item Invalid alias name %s
+
+(F) You passed an invalid alias name to coloralias().  Alias names must
+consist only of alphanumerics, C<.>, C<->, and C<_>.
+
+=item Invalid alias name %s in %s
+
+(W) You specified an invalid alias name on the left hand of the equal sign
+in a color mapping in ANSI_COLORS_ALIASES.  The color mapping was ignored.
+
 =item Invalid attribute name %s
 
-(F) You passed an invalid attribute name to either color() or colored().
+(F) You passed an invalid attribute name to color(), colored(), or
+coloralias().
 
+=item Invalid attribute name %s in %s
+
+(W) You specified an invalid attribute name on the right hand of the equal
+sign in a color mapping in ANSI_COLORS_ALIASES.  The color mapping was
+ignored.
+
 =item Name "%s" used only once: possible typo
 
 (W) You probably mistyped a constant color name such as:
@@ -613,20 +1020,84 @@
 
 =over 4
 
+=item ANSI_COLORS_ALIASES
+
+This environment variable allows the user to specify custom color aliases
+that will be understood by color(), colored(), and colorvalid().  None of
+the other functions will be affected, and no new color constants will be
+created.  The custom colors are aliases for existing color names; no new
+escape sequences can be introduced.  Only alphanumerics, C<.>, C<_>, and
+C<-> are allowed in alias names.
+
+The format is:
+
+    ANSI_COLORS_ALIASES='newcolor1=oldcolor1,newcolor2=oldcolor2'
+
+Whitespace is ignored.
+
+For example the L<Solarized|http://ethanschoonover.com/solarized> colors
+can be mapped with:
+
+    ANSI_COLORS_ALIASES='\
+        base00=bright_yellow, on_base00=on_bright_yellow,\
+        base01=bright_green,  on_base01=on_bright_green, \
+        base02=black,         on_base02=on_black,        \
+        base03=bright_black,  on_base03=on_bright_black, \
+        base0=bright_blue,    on_base0=on_bright_blue,   \
+        base1=bright_cyan,    on_base1=on_bright_cyan,   \
+        base2=white,          on_base2=on_white,         \
+        base3=bright_white,   on_base3=on_bright_white,  \
+        orange=bright_red,    on_orange=on_bright_red,   \
+        violet=bright_magenta,on_violet=on_bright_magenta'
+
+This environment variable is read and applied when the Term::ANSIColor
+module is loaded and is then subsequently ignored.  Changes to
+ANSI_COLORS_ALIASES after the module is loaded will have no effect.  See
+coloralias() for an equivalent facility that can be used at runtime.
+
 =item ANSI_COLORS_DISABLED
 
-If this environment variable is set, all of the functions defined by this
-module (color(), colored(), and all of the constants not previously used
-in the program) will not output any escape sequences and instead will just
-return the empty string or pass through the original text as appropriate.
-This is intended to support easy use of scripts using this module on
-platforms that don't support ANSI escape sequences.
+If this environment variable is set to a true value, all of the functions
+defined by this module (color(), colored(), and all of the constants not
+previously used in the program) will not output any escape sequences and
+instead will just return the empty string or pass through the original
+text as appropriate.  This is intended to support easy use of scripts
+using this module on platforms that don't support ANSI escape sequences.
 
-For it to have its proper effect, this environment variable must be set
-before any color constants are used in the program.
-
 =back
 
+=head1 COMPATIBILITY
+
+Term::ANSIColor was first included with Perl in Perl 5.6.0.
+
+The uncolor() function and support for ANSI_COLORS_DISABLED were added in
+Term::ANSIColor 1.04, included in Perl 5.8.0.
+
+Support for dark was added in Term::ANSIColor 1.08, included in Perl
+5.8.4.
+
+The color stack, including the C<:pushpop> import tag, PUSHCOLOR,
+POPCOLOR, LOCALCOLOR, and the $Term::ANSIColor::AUTOLOCAL variable, was
+added in Term::ANSIColor 2.00, included in Perl 5.10.1.
+
+colorstrip() was added in Term::ANSIColor 2.01 and colorvalid() was added
+in Term::ANSIColor 2.02, both included in Perl 5.11.0.
+
+Support for colors 8 through 15 (the C<bright_> variants) was added in
+Term::ANSIColor 3.00, included in Perl 5.13.3.
+
+Support for italic was added in Term::ANSIColor 3.02, included in Perl
+5.17.1.
+
+Support for colors 16 through 256 (the C<ansi>, C<rgb>, and C<grey>
+colors), the C<:constants256> import tag, the coloralias() function, and
+support for the ANSI_COLORS_ALIASES environment variable were added in
+Term::ANSIColor 4.00.
+
+$Term::ANSIColor::AUTOLOCAL was changed to take precedence over
+$Term::ANSIColor::AUTORESET, rather than the other way around, in
+Term::ANSIColor 4.00.
+
 =head1 RESTRICTIONS
 
 It would be nice if one could leave off the commas around the constants
@@ -644,6 +1115,16 @@
 setting $Term::ANSIColor::AUTORESET or PUSHCOLOR/POPCOLOR so that you'll
 get a fatal compile error rather than a warning.
 
+It's not possible to use this module to embed formatting and color
+attributes using Perl formats.  They replace the escape character with a
+space (as documented in L<perlform(1)>), resulting in garbled output from
+the unrecognized attribute.  Even if there were a way around that problem,
+the format doesn't know that the non-printing escape sequence is
+zero-length and would incorrectly format the output.  For formatted output
+using color or other attributes, either use sprintf() instead or use
+formline() and then add the color or other attributes after formatting and
+before output.
+
 =head1 NOTES
 
 The codes generated by this module are standard terminal control codes,
@@ -674,7 +1155,7 @@
  PuTTY         yes     color     no      yes      no       yes      no
  Windows       yes      no       no      no       no       yes      no
  Cygwin SSH    yes      yes      no     color    color    color     yes
- Mac Terminal  yes      yes      no      yes      yes      yes      yes
+ Terminal.app  yes      yes      no      yes      yes      yes      yes
 
 Windows is Windows telnet, Cygwin SSH is the OpenSSH implementation under
 Cygwin on Windows NT, and Mac Terminal is the Terminal application in Mac
@@ -683,19 +1164,27 @@
 doesn't reset colors; you have to explicitly set the colors back to what
 you want.  More entries in this table are welcome.
 
-Note that codes 3 (italic), 6 (rapid blink), and 9 (strike-through) are
-specified in ANSI X3.64 and ECMA-048 but are not commonly supported by
-most displays and emulators and therefore aren't supported by this module
-at the present time.  ECMA-048 also specifies a large number of other
-attributes, including a sequence of attributes for font changes, Fraktur
-characters, double-underlining, framing, circling, and overlining.  As
-none of these attributes are widely supported or useful, they also aren't
-currently supported by this module.
+Support for code 3 (italic) is rare and therefore not mentioned in that
+table.  It is not believed to be fully supported by any of the terminals
+listed, although it's displayed as green in the Linux console, but it is
+reportedly supported by urxvt.
 
+Note that codes 6 (rapid blink) and 9 (strike-through) are specified in
+ANSI X3.64 and ECMA-048 but are not commonly supported by most displays
+and emulators and therefore aren't supported by this module at the present
+time.  ECMA-048 also specifies a large number of other attributes,
+including a sequence of attributes for font changes, Fraktur characters,
+double-underlining, framing, circling, and overlining.  As none of these
+attributes are widely supported or useful, they also aren't currently
+supported by this module.
+
+Most modern X terminal emulators support 256 colors.  Known to not support
+those colors are aterm, rxvt, Terminal.app, and TTY/VC.
+
 =head1 SEE ALSO
 
 ECMA-048 is available on-line (at least at the time of this writing) at
-L<http://www.ecma-international.org/publications/standards/ECMA-048.HTM>.
+L<http://www.ecma-international.org/publications/standards/Ecma-048.htm>.
 
 ISO 6429 is available from ISO for a charge; the author of this module
 does not own a copy of it.  Since the source material for ISO 6429 was
@@ -702,6 +1191,13 @@
 ECMA-048 and the latter is available for free, there seems little reason
 to obtain the ISO standard.
 
+The 256-color control sequences are documented at
+L<http://www.xfree86.org/current/ctlseqs.html> (search for 256-color).
+
+The CPAN module Term::ExtendedColor provides a different and more
+comprehensive interface for 256-color emulators that may be more
+convenient.
+
 The current version of this module is always available from its web site
 at L<http://www.eyrie.org/~eagle/software/ansicolor/>.  It is also part of
 the Perl core distribution as of 5.6.0.
@@ -710,16 +1206,18 @@
 
 Original idea (using constants) by Zenin, reimplemented using subs by Russ
 Allbery <rra at stanford.edu>, and then combined with the original idea by
-Russ with input from Zenin.  Russ Allbery now maintains this module.
+Russ with input from Zenin.  256-color support is based on work by Kurt
+Starsinic.  Russ Allbery now maintains this module.
 
+PUSHCOLOR, POPCOLOR, and LOCALCOLOR were contributed by openmethods.com
+voice solutions.
+
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009, 2010
-Russ Allbery <rra at stanford.edu> and Zenin.  This program is free software;
-you may redistribute it and/or modify it under the same terms as Perl
-itself.
+Copyright 1996 Zenin.  Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005,
+2006, 2008, 2009, 2010, 2011, 2012 Russ Allbery <rra at stanford.edu>.
+Copyright 2012 Kurt Starsinic <kstarsinic at gmail.com>.  This program is
+free software; you may redistribute it and/or modify it under the same
+terms as Perl itself.
 
-PUSHCOLOR, POPCOLOR, and LOCALCOLOR were contributed by openmethods.com
-voice solutions.
-
 =cut


Property changes on: vendor/perl/dist/cpan/Term-ANSIColor/ANSIColor.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-ANSIColor/ChangeLog
===================================================================
--- vendor/perl/dist/cpan/Term-ANSIColor/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-ANSIColor/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,206 @@
+2013-01-07  Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Version 4.02 released.
+
+	* Makefile.PL: Add the minimum Perl version to the package
+	metadata.
+
+	* t/basic256.t: List the tag first in the import list for
+	compatibility with the Exporter from Perl 5.6.2.  Thanks to David
+	Cantrell for the testing and debugging.
+
+2012-12-31  Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Version 4.01 released.
+
+	* t/strict.t: During coverage checking, skip generic tests that
+	don't run module code for a significant speed-up.
+
+	* examples/generate-colors: Add POD documentation.
+	* t/critic.t: Also check the examples directory.
+	* t/pod.t: Likewise.
+	* t/pod-spelling.t: Likewise.
+
+	* t/aliases-env.t: Fix logic for skipping tests when Test::Warn is
+	not installed.
+
+2012-12-30  Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Version 4.00 released.
+
+	* LICENSE: New file summarizing copyright and license information.
+
+	* examples/generate-colors: Add support for "basic" and "bright"
+	test file types that test all the other supported attributes.
+	* tests/README: Remove VT100 test files.  The license was unclear,
+	and the new generate-colors example script does everything they do
+	of significance for this package plus more.
+	* tests/ansicolor: Likewise.
+	* tests/vt100-torture: Likewise.
+
+	* ANSIColor.pm (PUSHCOLOR): Take an array like all the other
+	constant functions and join all arguments together before
+	manipulating it.
+	* t/basic.t: Multiple new tests for various weird edge cases.
+
+	* ANSIColor.pm (AUTOLOAD): Only honor ANSI_COLORS_DISABLED if it
+	is set to a true value.
+	(color): Likewise.
+	(colored): Likewise.
+	* t/basic.t: Test that ANSI_COLORS_DISABLED must be true.
+
+	* t/synopsis.t: New test for SYNOPSIS syntax.
+
+	* ANSIColor.pm: Add COMPATIBILITY section to the documentation,
+	collecting all information about when features were introduced and
+	adding the version of Perl that they shipped with.  Add
+	appropriate version numbers to the use statements in the SYNOPSIS.
+
+	* ANSIColor.pm: Use coloralias to load aliases from the
+	environment.  Improve commenting in the SYNOPSIS.  Document the
+	new alias name restrictions.
+	(coloralias): New function to set a color alias.  Enforce
+	restrictions on the acceptable alias name.
+
+	* t/aliases-env.t: Adjust warning test for new error message.
+	* t/aliases-func.t: New test of coloralias.
+
+2012-12-29  Stephen Thirlwall  <stephen.thirlwall at strategicdata.com.au>
+	    Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Add support for custom color names configured with
+	the ANSI_COLORS_ALIASES environment variable as set during module
+	load.
+	(color): Support custom colors.
+	(colorvalid): Likewise.
+	* t/aliases-env.t: New test of custom colors from the environment.
+	* t/basic.t: Delete ANSI_COLORS_ALIASES from the environment before
+	module load to avoid any effects from the test runner's settings.
+	* t/basic256.t: Likewise.
+	* t/eval.t: Likewise.
+	* t/stringify.t: Likewise.
+	* t/taint.t: Likewise.
+
+2012-12-28  Kurt Starsinic  <kstarsinic at gmail.com>
+	    Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Add constants (with tag :constants256) and
+	attributes for 256-color emulators.
+	(uncolor): Support the three-part 256-color codes.
+	* t/basic256.t: New test for 256-color support.
+	* examples/generate-colors: New script to generate 256-color test
+	or demonstration files.
+
+2012-12-28  Russ Allbery  <rra at stanford.edu>
+
+	* t/basic.t: Test uncolor with \e[m and '' as only arguments.
+
+	* ANSIColor.pm: $AUTOLOCAL takes precedence over $AUTORESET,
+	reversing the previous behvior.  Document the precedence.
+	* t/basic.t: Test for $AUTOLOCAL vs. $AUTORESET precedence.
+
+	* t/taint.t: New check for proper untainting in AUTOLOAD.
+	* ANSIColor.pm: Comment the untainting of $AUTOLOAD so that it
+	isn't accidentally removed as apparently unnecessary.
+
+	* t/strict.t: Ignore t/taint.t for coverage checking, since
+	Test::Strict doesn't know how to invoke tests that require
+	tainting.
+
+	* t/strict.t: Add test suite coverage checking if running the test
+	in maintainer mode.
+	* ANSIColor.pm (AUTOLOAD): Drop a redundant check on the result of
+	eval so that 100% test coverage can be achieved.
+	* t/basic.t: Remove taint checking, which is incompatible with
+	coverage testing.  Add tests to achieve 100% coverage.
+	* t/eval.t: Remove taint checking.
+	* t/stringify.t: Likewise.
+
+	* ANSIColor.pm: Document $Term::ANSIColor::AUTOLOCAL.
+
+	* ANSIColor.pm (AUTOLOAD): Support ANSI_COLORS_DISABLED in the
+	generated constant subs.  Fixes a bug where the environment
+	variable would be ignored if the constant were used before it was
+	set.
+	* t/basic.t: Test for proper ANSI_COLORS_DISABLED support in
+	generated constant subs.
+
+	* t/critic.t: New test that runs perlcritic (and perltidy) on all
+	source files and checks for violations.
+	* t/data/perlcriticrc: New file.
+	* t/data/perltidyrc: New file.
+	* ANSIColor.pm: Substantial reworking to improve coding style and
+	layout.  Update to Perl 5.6 syntax.  Unconditionally load Carp for
+	simplicity.
+	* Makefile.PL: Require Perl 5.6.  Remove conditionals for
+	configuration that was not supported prior to Perl 5.6.
+	* t/basic.t: Update coding style.
+	* t/eval.t: Likewise.
+	* t/stringify.t: Likewise.
+
+	* t/minimum-version.t: New test for the minimum required version
+	of Perl.
+
+	* t/pod-coverage.t: New test for POD coverage.
+
+	* ANSIColor.pm: Add use warnings.
+	* Makefile.PL: Add use strict and use warnings.
+	* t/strict.t: New test for strict and warnings in all code.
+
+	* t/pod.t: Update coding style.
+	* t/pod-spelling.t: Use Test::Spelling instead of including a
+	less-tested version of the same code.  Update coding style.
+
+2012-03-18  Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Version 3.02 released.
+
+	* ANSIColor.pm (AUTOLOAD): Only return pass-through behavior if
+	the function that was called was one of our constants, rather than
+	turning every unknown function in the Term::ANSIColor namespace
+	into a passthrough join function when colors are disabled.
+	* t/basic.t: Test proper error reporting with colors disabled.
+
+	* ANSIColor.pm (AUTOLOAD): Preserve an existing value of $@ when
+	generating a constant sub and restore it afterwards.  Diagnose
+	errors in creating the constant sub and die instead of ignoring
+	them.
+	* t/eval.t: New test for $@ preservation.
+
+	* ANSIColor.pm: Add italic and the ITALIC constant.  Document that
+	the support for it is rare.
+	* t/basic.t: Test italic and ITALIC support.
+
+	* ANSIColor.pm: Add "mistyped" as a stopword, required by the
+	latest aspell on Debian.
+
+2011-07-20  Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Version 3.01 released.
+
+	* Makefile.PL: Change the DISTNAME to Term-ANSIColor.
+
+	* ANSIColor.pm (colored): Only interpret an initial array
+	reference as a list of colors, not any initial reference, allowing
+	the colored function to work properly on objects with
+	stringification defined.  Thanks, Revilo Reegiles.
+	* t/stringify.t: New test for proper behavior with non-array
+	references in colored.
+
+2011-03-13  Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Fix two syntax errors in the SYNOPSIS.  Thanks,
+	Jan Hartung.
+
+2010-10-08  Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Warn in the documentation that attributes are not
+	supported in and will not work with Perl formats.
+
+2010-04-11  Russ Allbery  <rra at stanford.edu>
+
+	* ANSIColor.pm: Update the URL for ECMA-048 in the documentation.
+
 2010-01-24  Russ Allbery  <rra at stanford.edu>
 
 	* ANSIColor.pm: Version 3.00 released.


Property changes on: vendor/perl/dist/cpan/Term-ANSIColor/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-ANSIColor/README
===================================================================
--- vendor/perl/dist/cpan/Term-ANSIColor/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-ANSIColor/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,74 +1,98 @@
-                       Term::ANSIColor version 3.00
+                       Term::ANSIColor version 4.02
               (A simple ANSI text attribute control module)
 
-  Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2007, 2009
-  Russ Allbery <rra at stanford.edu> and Zenin.  This program is free
-  software; you may redistribute it and/or modify it under the same terms
-  as Perl itself.
+  This program is free software; you may redistribute it and/or modify it
+  under the same terms as Perl itself.  Please see the section LICENSE
+  below for more information.
 
-  I welcome bug reports and patches for this package at rra at stanford.edu.
-  However, please be aware that I tend to be extremely busy and to get a
-  lot of mail.  I'll save your mail and get to it as soon as I can, but
-  depending on how busy I am it may take me a couple of months.
-
 BLURB
 
-  Term::ANSIColor provides constants and simple functions for sending ANSI
+  Term::ANSIColor provides constants and simple functions for setting ANSI
   text attributes, most notably colors.  It can be used to set the current
   text attributes or to apply a set of attributes to a string and reset
-  the current text attributes at the end of that string.
+  the current text attributes at the end of that string.  Eight-color,
+  sixteen-color, and 256-color escape sequences are all supported.
 
 DESCRIPTION
 
-  This module grew out of a thread on comp.lang.perl.misc where several of
-  us were throwing around different ways to print colored text from Perl
-  scripts and Zenin posted his old library to do that.  I (Russ) disagreed
-  with the implementation and offered my own (the color() and colored()
-  functions implemented in this package), Zenin convinced me that the
-  constants had their place as well, and we started figuring out the best
-  ways of implementing both.
+  This Perl module is a simple and convenient interface to the ANSI
+  terminal escape sequences for color (from ECMA-48, also included in ISO
+  6429).  The color sequences are provided in two forms, either as
+  constants for each color or via a function that takes the names of
+  colors and returns the appropriate escape codes or wraps them around the
+  provided text.  The non-color text style codes from ANSI X3.64 (bold,
+  dark, underline, and reverse, for example), which were also included in
+  ECMA-48 and ISO 6429, are also supported.  Also supported are the
+  extended colors used for sixteen-color and 256-color emulators.
 
-  While ANSI color escape codes are fairly simple, it can be hard to
-  remember the codes for all of the attributes and the code resulting from
-  hard-coding them into your script is definitely difficult to read.  This
-  module is designed to fix those problems, as well as provide a
-  convenient interface to do a few things for you automatically (like
-  resetting attributes after the text you print out so that you don't
-  accidentally leave attributes set).
+  This module is very stable, and I've used it in a wide variety of
+  applications.  It has been included in the core Perl distribution
+  starting with version 5.6.0, so you don't need to download and install
+  it yourself unless you have an old version of Perl or need a newer
+  version of the module than comes with your version of Perl.  I continue
+  to maintain it as a separate module, and the version included in Perl is
+  resynced with mine before each release.
 
-  Despite its name, this module can also handle non-color ANSI text
-  attributes (bold, underline, reverse video, and blink).  It uses either
-  of two interfaces, one of which uses "constants" for each different
-  attribute and the other of which uses two subs which take strings of
-  attributes as arguments.
+  The original module came out of a discussion in comp.lang.perl.misc and
+  is a combination of two approaches, one with constants by Zenin and one
+  with functions that I wrote.  I offered to maintain a combined module
+  that included both approaches.
 
   See the POD documentation for complete details, features, and usage.
 
-  This module is distributed as part of the Perl core distribution as of
-  Perl 5.6.0.  You only need to install this module if you want a newer
-  version than came with Perl or if you have an old version of Perl.
-
 REQUIREMENTS
 
   Term::ANSIColor is written in pure Perl and has no module dependencies
   that aren't found in Perl core.  It should work with any version of Perl
-  after 5.001, although it hasn't been tested with old versions in some
+  after 5.6, although it hasn't been tested with old versions in some
   time.
 
-  The test suite requires the Test::More module.  To check the POD
-  documentation, Test::Pod is also required.  To check spelling,
-  Pod::Spell and either aspell or ispell with the american dictionary are
-  also required.  The user's path is searched for aspell or ispell and
-  aspell is preferred.  Spelling tests are disabled by default since
-  spelling dictionaries differ too much between systems.  To enable those
-  tests, set RRA_MAINTAINER_TESTS to a true value.
+  In order to actually see color, you will need to use a terminal window
+  that supports the ANSI escape sequences for color.  Any recent version
+  of xterm, most xterm derivatives and replacements, and most telnet and
+  ssh clients for Windows and Macintosh should work, as will the MacOS X
+  Terminal application (although Terminal.app reportedly doesn't support
+  256 colors).  The console windows for Windows NT and Windows 2000 will
+  not work, as they do not even attempt to support ANSI X3.64.
 
+  For a complete (to my current knowledge) compatibility list, see the
+  Term::ANSIColor module documentation.  If you have any additions to the
+  table in the documentation, please send them to me.
+
+  The test suite requires Perl and Test::More (part of Perl since 5.6.2).
+  It also makes use of additional Perl modules for some tests.  These
+  tests will be skipped automatically if the modules aren't available.  To
+  run the full set of default tests, you will need the Perl modules:
+
+      Perl::Critic
+      Test::MinimumVersion
+      Test::Pod
+      Test::Pod::Coverage
+      Test::Strict
+      Test::Synopsis
+      Test::Warn
+
+  and their dependencies.  These modules are all available from CPAN.
+
+  Some parts of the test suite are suppressed by default because those
+  tests are normally only useful for the maintainer.  This includes tests
+  of POD spelling and Perl coding style.  To enable those tests, set the
+  environment variable RRA_MAINTAINER_TESTS to a true value.  For these
+  tests, the additional Perl modules:
+
+      Devel::Cover
+      Test::Perl::Critic
+      Test::Spelling
+
+  and their dependencies as well as a spell-checking program (several are
+  supported by Test::Spelling) are required.  These modules are all
+  available from CPAN.
+
 INSTALLATION
 
   WARNING: Installation of this package will replace the Term::ANSIColor
-  that came with Perl for Perl 5.6.0 or later.  Term::ANSIColor that came
-  with Perl.  You may want to save a backup copy of the standard version
-  first.
+  that came with Perl.  You may want to save a backup copy of the standard
+  version first.
 
   Follow the standard installation procedure for Perl modules, which is to
   type the following commands:
@@ -82,7 +106,7 @@
   install the module by hand, simply copy it into a directory named Term
   in your Perl library directory.
 
-HOMEPAGE AND SOURCE REPOSITORY
+SUPPORT
 
   The Term::ANSIColor web page at:
 
@@ -91,6 +115,18 @@
   will always have the current version of this package, the current
   documentation, and pointers to any additional resources.
 
+  For bug tracking, this package uses the CPAN bug tracker at:
+
+      https://rt.cpan.org/Public/Dist/Display.html?Name=Term-ANSIColor
+
+  I welcome bug reports and patches for this package at rra at stanford.edu
+  or via the CPAN bug tracker.  However, please be aware that I tend to be
+  extremely busy and work projects often take priority.  I'll save your
+  mail and get to it as soon as I can, but it may take me a couple of
+  months.
+
+SOURCE REPOSITORY
+
   Term::ANSIColor is maintained using Git.  You can access the current
   source by cloning the repository at:
 
@@ -100,6 +136,9 @@
 
       http://git.eyrie.org/?p=perl/ansicolor.git
 
+  When contributing modifications, patches (possibly generated by
+  git-format-patch) are preferred to Git pull requests.
+
 THANKS
 
   To Jon Lennox for looking at early versions of this module, providing
@@ -130,8 +169,9 @@
   To Daniel Lindsley for the information about what Mac OS X Terminal
   supports.
 
-  To Joe Smith for the test files that exercise a wide variety of VT100
-  escape sequences including the ECMA-48 color control codes.
+  To Joe Smith for the original test files that exercise a wide variety of
+  VT100 escape sequences including the ECMA-48 color control codes.  These
+  have been replaced by an example script, but they were very useful.
 
   To James Bowlin for catching a bug in colored when $EACHLINE is set that
   caused it to not color lines consisting solely of 0.
@@ -155,4 +195,56 @@
   To Jakob Ilves for sixteen-color support and the initial documentation
   of bright color issues.
 
+  To Revilo Reegiles for reporting problems with the colored function and
+  non-array references with stringification defined, and providing a test
+  case.
+
+  To Kent Fredric for the request for italic and the report of a terminal
+  emulator that supports it.
+
+  To Simon Wistow for reporting that Term::ANSIColor was inadvertantly
+  clobbering $@ when generating constant subs.
+
+  To Kurt Starsinic for the initial implementation of 256-color support.
+
+  To Magnus Woldrich for Term::ExtendedColor and for research on which
+  emulators support 256 colors.
+
+  To Stephen Thirlwall for the initial implementation of custom color
+  support.
+
+  To BlueT - Matthew Lien - 練喆明 for quick testing of 4.00 and reporting
+  a problem with skipping one of the tests.
+
+  To David Cantrell for testing with Perl 5.6.2 and debugging why a test
+  case didn't work with its version of Exporter.
+
   To Larry Wall, as always, for Perl.
+
+LICENSE
+
+  The Term-ANSIColor distribution as a whole is covered by the following
+  copyright statement and license:
+
+    Copyright 1996 Zenin
+    Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2008, 2009,
+        2010, 2011, 2012, 2013 Russ Allbery <rra at stanford.edu>
+    Copyright 2012 Kurt Starsinic <kstarsinic at gmail.com>
+
+    This program is free software; you may redistribute it and/or modify
+    it under the same terms as Perl itself.  This means that you may
+    choose between the two licenses that Perl is released under: the GNU
+    GPL and the Artistic License.  Please see your Perl distribution for
+    the details and copies of the licenses.
+
+    PUSH/POP support submitted 2007 by openmethods.com voice solutions
+
+  All individual files without an explicit exception below are released
+  under this license.  Some files may have additional copyright holders as
+  noted in those files.  There is detailed information about the licensing
+  of each file in the LICENSE file in this distribution.
+
+  Some files in this distribution are individually released under
+  different licenses, all of which are compatible with the above general
+  package license but which may require preservation of additional
+  notices.  All required notices are preserved in the LICENSE file.


Property changes on: vendor/perl/dist/cpan/Term-ANSIColor/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-ANSIColor/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/Term-ANSIColor/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-ANSIColor/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-#!/usr/bin/perl -Tw
+#!/usr/bin/perl
 #
-# t/basic.t -- Test suite for the Term::ANSIColor Perl module.
+# Basic test suite for the Term::ANSIColor Perl module.
 #
-# Copyright 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2009, 2010
+# Copyright 1997, 1998, 2000, 2001, 2002, 2005, 2006, 2009, 2010, 2012
 #     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
@@ -9,131 +9,362 @@
 # under the same terms as Perl itself.
 
 use strict;
-use Test::More tests => 51;
+use warnings;
 
+use Test::More tests => 152;
+
+# Load the module.
 BEGIN {
+    delete $ENV{ANSI_COLORS_ALIASES};
     delete $ENV{ANSI_COLORS_DISABLED};
-    use_ok ('Term::ANSIColor',
-            qw/:pushpop color colored uncolor colorstrip colorvalid/);
+    use_ok('Term::ANSIColor',
+        qw(:pushpop color colored uncolor colorstrip colorvalid));
 }
 
 # Various basic tests.
-is (color ('blue on_green', 'bold'), "\e[34;42;1m", 'Simple attributes');
-is (colored ('testing', 'blue', 'bold'), "\e[34;1mtesting\e[0m", 'colored');
-is ((BLUE BOLD "testing"), "\e[34m\e[1mtesting", 'Constants');
+is(color('blue on_green', 'bold'), "\e[34;42;1m", 'Simple attributes');
+is(colored('testing', 'blue', 'bold'), "\e[34;1mtesting\e[0m", 'colored');
+is((BLUE BOLD 'testing'), "\e[34m\e[1mtesting", 'Constants');
+is(join(q{}, BLUE, BOLD, 'testing'),
+    "\e[34m\e[1mtesting", 'Constants with commas');
+is((BLUE 'test', 'ing'), "\e[34mtesting", 'Constants with multiple strings');
+
+# Test case variations on attributes.
+is(color('Blue BOLD', 'on_GReeN'), "\e[34;1;42m", 'Attribute case');
+
+# color should return undef if there were no attributes.
+is(color(), undef, 'color returns undef with no attributes');
+
+# Autoreset after the end of a command string.
 $Term::ANSIColor::AUTORESET = 1;
-is ((BLUE BOLD "testing"), "\e[34m\e[1mtesting\e[0m\e[0m", 'AUTORESET');
+is((BLUE BOLD 'testing'), "\e[34m\e[1mtesting\e[0m\e[0m", 'AUTORESET');
+is((BLUE BOLD, 'te', 'st'), "\e[34m\e[1mtest\e[0m", 'AUTORESET with commas');
+$Term::ANSIColor::AUTORESET = 0;
+
+# Reset after each line terminator.
 $Term::ANSIColor::EACHLINE = "\n";
-is (colored ("test\n\ntest", 'bold'), "\e[1mtest\e[0m\n\n\e[1mtest\e[0m",
-    'EACHLINE');
+is(colored("test\n\ntest", 'bold'),
+    "\e[1mtest\e[0m\n\n\e[1mtest\e[0m", 'EACHLINE');
 $Term::ANSIColor::EACHLINE = "\r\n";
-is (colored ("test\ntest\r\r\n\r\n", 'bold'),
+is(
+    colored("test\ntest\r\r\n\r\n", 'bold'),
     "\e[1mtest\ntest\r\e[0m\r\n\r\n",
-    'EACHLINE with multiple delimiters');
+    'EACHLINE with multiple delimiters'
+);
 $Term::ANSIColor::EACHLINE = "\n";
-is (colored (['bold', 'on_green'], "test\n", "\n", "test"),
+is(
+    colored(['bold', 'on_green'], "test\n", "\n", 'test'),
     "\e[1;42mtest\e[0m\n\n\e[1;42mtest\e[0m",
-    'colored with reference to array');
-is_deeply ([ uncolor ('1;42', "\e[m", '', "\e[0m") ],
-           [ qw/bold on_green clear/ ], 'uncolor');
+    'colored with reference to array'
+);
 
+# Basic tests for uncolor.
+is_deeply([uncolor('1;42', "\e[m", q{}, "\e[0m")],
+    [qw(bold on_green clear)], 'uncolor');
+is_deeply([uncolor("\e[01m")], ['bold'], 'uncolor("\\e[01m")');
+is_deeply([uncolor("\e[m")],   [],       'uncolor("\\e[m")');
+is_deeply([uncolor(q{})],      [],       'uncolor("")');
+
 # Several tests for ANSI_COLORS_DISABLED.
-$ENV{ANSI_COLORS_DISABLED} = 1;
-is (color ('blue'), '', 'color support for ANSI_COLORS_DISABLED');
-is (colored ('testing', 'blue', 'on_red'), 'testing',
-    'colored support for ANSI_COLORS_DISABLED');
-is ((GREEN 'testing'), 'testing', 'Constant support for ANSI_COLORS_DISABLED');
+local $ENV{ANSI_COLORS_DISABLED} = 1;
+is(color('blue'), q{}, 'color support for ANSI_COLORS_DISABLED');
+is(colored('testing', 'blue', 'on_red'),
+    'testing', 'colored support for ANSI_COLORS_DISABLED');
+is((GREEN 'testing'), 'testing', 'Constant support for ANSI_COLORS_DISABLED');
 delete $ENV{ANSI_COLORS_DISABLED};
 
+# Earlier versions of Term::ANSIColor didn't support ANSI_COLORS_DISABLED if
+# the constant had been created before the environment variable was set.  Test
+# all the ones we're going to use to get full test coverage.
+local $ENV{ANSI_COLORS_DISABLED} = 1;
+is((BLUE 'testing'), 'testing', 'ANSI_COLORS_DISABLED with existing constant');
+delete $ENV{ANSI_COLORS_DISABLED};
+
+# If ANSI_COLORS_DISABLED is set to a false value or the empty string, it
+# should not take effect.
+local $ENV{ANSI_COLORS_DISABLED} = 0;
+is(color('bold'), "\e[1m", 'ANSI_COLORS_DISABLED must be true');
+is((BOLD),        "\e[1m", '...likewise for constants');
+local $ENV{ANSI_COLORS_DISABLED} = q{};
+is(color('bold'), "\e[1m", '...likewise when set to an empty string');
+is((BOLD),        "\e[1m", '...likewise for constants');
+delete $ENV{ANSI_COLORS_DISABLED};
+
 # Make sure DARK is exported.  This was omitted in versions prior to 1.07.
-is ((DARK "testing"), "\e[2mtesting\e[0m", 'DARK');
+is((DARK 'testing'), "\e[2mtesting", 'DARK');
 
 # Check faint as a synonym for dark.
-is (colored ('test', 'faint'), "\e[2mtest\e[0m", 'colored supports faint');
-is ((FAINT "test"), "\e[2mtest\e[0m", '...and the FAINT constant works');
+is(colored('test', 'faint'), "\e[2mtest\e[0m", 'colored supports faint');
+is((FAINT 'test'), "\e[2mtest", '...and the FAINT constant works');
 
 # Test bright color support.
-is (color ('bright_red'), "\e[91m", 'Bright red is supported');
-is ((BRIGHT_RED "test"), "\e[91mtest\e[0m", '...and as a constant');
-is (color ('on_bright_red'), "\e[101m", '...as is on bright red');
-is ((ON_BRIGHT_RED "test"), "\e[101mtest\e[0m", '...and as a constant');
+is(color('bright_red'),    "\e[91m",      'Bright red is supported');
+is((BRIGHT_RED 'test'),    "\e[91mtest",  '...and as a constant');
+is(color('on_bright_red'), "\e[101m",     '...as is on bright red');
+is((ON_BRIGHT_RED 'test'), "\e[101mtest", '...and as a constant');
 
-# Test colored with 0 and EACHLINE.
+# Test italic, which was added in 3.02.
+is(color('italic'), "\e[3m",     'Italic is supported');
+is((ITALIC 'test'), "\e[3mtest", '...and as a constant');
+
+# Test colored with 0 and EACHLINE.  Regression test for an incorrect use of a
+# truth check.
 $Term::ANSIColor::EACHLINE = "\n";
-is (colored ('0', 'blue', 'bold'), "\e[34;1m0\e[0m",
-    'colored with 0 and EACHLINE');
-is (colored ("0\n0\n\n", 'blue', 'bold'), "\e[34;1m0\e[0m\n\e[34;1m0\e[0m\n\n",
-    'colored with 0, EACHLINE, and multiple lines');
+is(colored('0', 'blue', 'bold'),
+    "\e[34;1m0\e[0m", 'colored with 0 and EACHLINE');
+is(
+    colored("0\n0\n\n", 'blue', 'bold'),
+    "\e[34;1m0\e[0m\n\e[34;1m0\e[0m\n\n",
+    'colored with 0, EACHLINE, and multiple lines'
+);
 
 # Test colored with the empty string and EACHLINE.
-is (colored ('', 'blue', 'bold'), '',
-    'colored with an empty string and EACHLINE');
+is(colored(q{}, 'blue', 'bold'), q{}, 'colored w/empty string and EACHLINE');
 
 # Test push and pop support.
-$Term::ANSIColor::AUTORESET = 0;
-is ((PUSHCOLOR RED ON_GREEN "text"), "\e[31m\e[42mtext",
-    'PUSHCOLOR does not break constants');
-is ((PUSHCOLOR BLUE "text"), "\e[34mtext", '...and adding another level');
-is ((RESET BLUE "text"), "\e[0m\e[34mtext", '...and using reset');
-is ((POPCOLOR "text"), "\e[31m\e[42mtext", '...and POPCOLOR works');
-is ((LOCALCOLOR GREEN ON_BLUE "text"), "\e[32m\e[44mtext\e[31m\e[42m",
-    'LOCALCOLOR');
+is((PUSHCOLOR RED ON_GREEN 'text'),
+    "\e[31m\e[42mtext", 'PUSHCOLOR does not break constants');
+is((PUSHCOLOR BLUE 'text'), "\e[34mtext",       '...and adding another level');
+is((RESET BLUE 'text'),     "\e[0m\e[34mtext",  '...and using reset');
+is((POPCOLOR 'text'),       "\e[31m\e[42mtext", '...and POPCOLOR works');
+is((LOCALCOLOR GREEN ON_BLUE 'text'),
+    "\e[32m\e[44mtext\e[31m\e[42m", 'LOCALCOLOR');
 $Term::ANSIColor::AUTOLOCAL = 1;
-is ((ON_BLUE "text"), "\e[44mtext\e[31m\e[42m", 'AUTOLOCAL');
+is((BLUE 'text'), "\e[34mtext\e[31m\e[42m", 'AUTOLOCAL');
+is((BLUE 'te', 'xt'), "\e[34mtext\e[31m\e[42m", 'AUTOLOCAL with commas');
 $Term::ANSIColor::AUTOLOCAL = 0;
-is ((POPCOLOR "text"), "\e[0mtext", 'POPCOLOR with empty stack');
+is((POPCOLOR 'text'), "\e[0mtext", 'POPCOLOR with empty stack');
 
+# If AUTOLOCAL and AUTORESET are both set, the former takes precedence.
+is((PUSHCOLOR RED ON_GREEN 'text'),
+    "\e[31m\e[42mtext", 'Push some colors onto the stack');
+$Term::ANSIColor::AUTOLOCAL = 1;
+$Term::ANSIColor::AUTORESET = 1;
+is((BLUE 'text'), "\e[34mtext\e[31m\e[42m", 'AUTOLOCAL overrides AUTORESET');
+$Term::ANSIColor::AUTOLOCAL = 0;
+is((BLUE 'text'), "\e[34mtext\e[0m", 'AUTORESET works with stacked colors');
+is((POPCOLOR 'text'), "\e[0mtext\e[0m", 'POPCOLOR with empty stack');
+$Term::ANSIColor::AUTORESET = 0;
+
 # Test push and pop support with the syntax from the original openmethods.com
 # submission, which uses a different coding style.
-is (PUSHCOLOR (RED ON_GREEN), "\e[31m\e[42m",
-    'PUSHCOLOR with explict argument');
-is (PUSHCOLOR (BLUE), "\e[34m", '...and another explicit argument');
-is (RESET . BLUE . "text", "\e[0m\e[34mtext",
-    '...and constants with concatenation');
-is (POPCOLOR . "text", "\e[31m\e[42mtext",
-    '...and POPCOLOR works without an argument');
-is (LOCALCOLOR(GREEN . ON_BLUE . "text"), "\e[32m\e[44mtext\e[31m\e[42m",
-    'LOCALCOLOR with two arguments');
-is (POPCOLOR . "text", "\e[0mtext", 'POPCOLOR with no arguments');
+is(PUSHCOLOR(RED ON_GREEN), "\e[31m\e[42m", 'PUSHCOLOR with explict argument');
+is(PUSHCOLOR(BLUE), "\e[34m", '...and another explicit argument');
+is(
+    RESET . BLUE . 'text',
+    "\e[0m\e[34mtext",
+    '...and constants with concatenation'
+);
+is(
+    POPCOLOR . 'text',
+    "\e[31m\e[42mtext",
+    '...and POPCOLOR works without an argument'
+);
+is(
+    LOCALCOLOR(GREEN . ON_BLUE . 'text'),
+    "\e[32m\e[44mtext\e[31m\e[42m",
+    'LOCALCOLOR with two arguments'
+);
+is(POPCOLOR . 'text', "\e[0mtext", 'POPCOLOR with no arguments');
 
+# Prior to Term::ANSIColor, PUSHCOLOR, unlike all other constants, didn't take
+# an array, so it could lose colors in some syntax.
+is(PUSHCOLOR(RED, ON_GREEN), "\e[31m\e[42m", 'PUSHCOLOR with two arguments');
+is(
+    LOCALCOLOR(GREEN, 'text'),
+    "\e[32mtext\e[31m\e[42m",
+    'LOCALCOLOR with two arguments'
+);
+is(POPCOLOR(BOLD, 'text'), "\e[0m\e[1mtext", 'POPCOLOR with two arguments');
+
 # Test colorstrip.
-is (colorstrip ("\e[1mBold \e[31;42mon green\e[0m\e[m"), 'Bold on green',
-    'Basic color stripping');
-is (colorstrip ("\e[1m", 'bold', "\e[0m"), 'bold',
-    'Color stripping across multiple strings');
-is_deeply ([ colorstrip ("\e[1m", 'bold', "\e[0m") ],
-           [ '', 'bold', '' ], '...and in an array context');
-is (colorstrip ("\e[2cSome other code\e and stray [0m stuff"),
+is(
+    colorstrip("\e[1mBold \e[31;42mon green\e[0m\e[m"),
+    'Bold on green',
+    'Basic color stripping'
+);
+is(colorstrip("\e[1m", 'bold', "\e[0m"),
+    'bold', 'Color stripping across multiple strings');
+is_deeply(
+    [colorstrip("\e[1m", 'bold', "\e[0m")],
+    [q{}, 'bold', q{}],
+    '...and in an array context'
+);
+is(colorstrip("foo\e[1m", 'bar', "baz\e[0m"),
+    'foobarbaz', '...and proper joining in scalar context');
+is(
+    colorstrip("\e[2cSome other code\e and stray [0m stuff"),
     "\e[2cSome other code\e and stray [0m stuff",
-    'colorstrip does not remove non-color stuff');
+    'colorstrip does not remove non-color stuff'
+);
 
 # Test colorvalid.
-is (colorvalid ("blue bold dark", "blink on_green"), 1,
-    'colorvalid returns true for valid attributes');
-is (colorvalid ("green orange"), undef,
-    '...and false for invalid attributes');
+ok(
+    colorvalid('blue bold dark', 'blink on_green'),
+    'colorvalid returns true for valid attributes'
+);
+ok(!colorvalid('green orange'), '...and false for invalid attributes');
 
-# Test error handling.
-my $output = eval { color 'chartreuse' };
-is ($output, undef, 'color on unknown color name fails');
-like ($@, qr/^Invalid attribute name chartreuse at /,
-      '...with the right error');
-$output = eval { colored "Stuff", 'chartreuse' };
-is ($output, undef, 'colored on unknown color name fails');
-like ($@, qr/^Invalid attribute name chartreuse at /,
-      '...with the right error');
+# Test error handling in color.
+my $output = eval { color('chartreuse') };
+is($output, undef, 'color on unknown color name fails');
+like(
+    $@,
+    qr{ \A Invalid [ ] attribute [ ] name [ ] chartreuse [ ] at [ ] }xms,
+    '...with the right error'
+);
+
+# Test error handling in colored.
+$output = eval { colored('Stuff', 'chartreuse') };
+is($output, undef, 'colored on unknown color name fails');
+like(
+    $@,
+    qr{ \A Invalid [ ] attribute [ ] name [ ] chartreuse [ ] at [ ] }xms,
+    '...with the right error'
+);
+
+# Test error handling in uncolor.
 $output = eval { uncolor "\e[28m" };
-is ($output, undef, 'uncolor on unknown color code fails');
-like ($@, qr/^No name for escape sequence 28 at /, '...with the right error');
+is($output, undef, 'uncolor on unknown color code fails');
+like(
+    $@,
+    qr{ \A No [ ] name [ ] for [ ] escape [ ] sequence [ ] 28 [ ] at [ ] }xms,
+    '...with the right error'
+);
 $output = eval { uncolor "\e[foom" };
-is ($output, undef, 'uncolor on bad escape sequence fails');
-like ($@, qr/^Bad escape sequence foo at /, '...with the right error');
+is($output, undef, 'uncolor on bad escape sequence fails');
+like(
+    $@,
+    qr{ \A Bad [ ] escape [ ] sequence [ ] foo [ ] at [ ] }xms,
+    '...with the right error'
+);
 
 # Test error reporting when calling unrecognized Term::ANSIColor subs that go
 # through AUTOLOAD.
-eval { Term::ANSIColor::RSET () };
-like ($@, qr/^undefined subroutine \&Term::ANSIColor::RSET called at /,
-      'Correct error from an attribute that is not defined');
-eval { Term::ANSIColor::reset () };
-like ($@, qr/^undefined subroutine \&Term::ANSIColor::reset called at /,
-      'Correct error from a lowercase attribute');
+## no critic (ErrorHandling::RequireCheckingReturnValueOfEval)
+ok(!eval { Term::ANSIColor::RSET() }, 'Running invalid constant');
+like(
+    $@,
+    qr{ \A undefined [ ] subroutine [ ] \&Term::ANSIColor::RSET [ ] called
+        [ ] at [ ] }xms,
+    'Correct error from an attribute that is not defined'
+);
+ok(!eval { Term::ANSIColor::reset() }, 'Running invalid sub');
+like(
+    $@,
+    qr{ \A undefined [ ] subroutine [ ] \&Term::ANSIColor::reset [ ] called
+        [ ] at [ ] }xms,
+    'Correct error from a lowercase attribute'
+);
+
+# Ensure that we still get proper error reporting for unknown constants when
+# when colors are disabled.
+local $ENV{ANSI_COLORS_DISABLED} = 1;
+eval { Term::ANSIColor::RSET() };
+like(
+    $@,
+    qr{ \A undefined [ ] subroutine [ ] \&Term::ANSIColor::RSET [ ] called
+        [ ] at [ ] }xms,
+    'Correct error from undefined attribute with disabled colors'
+);
+delete $ENV{ANSI_COLORS_DISABLED};
+
+# These are somewhat redundant, but they ensure we test all the branches in
+# our generated constant subs so that we can use Test::Strict to check test
+# suite coverage.
+is((BOLD 't'),          "\e[1mt",   'Basic constant works for BOLD');
+is((BLUE 't'),          "\e[34mt",  '...and for BLUE');
+is((GREEN 't'),         "\e[32mt",  '...and for GREEN');
+is((DARK 't'),          "\e[2mt",   '...and for DARK');
+is((FAINT 't'),         "\e[2mt",   '...and for FAINT');
+is((BRIGHT_RED 't'),    "\e[91mt",  '...and for BRIGHT_RED');
+is((ON_BRIGHT_RED 't'), "\e[101mt", '...and for ON_BRIGHT_RED');
+is((ITALIC 't'),        "\e[3mt",   '...and for ITALIC');
+is((RED 't'),           "\e[31mt",  '...and for RED');
+is((ON_GREEN 't'),      "\e[42mt",  '...and for ON_GREEN');
+is((ON_BLUE 't'),       "\e[44mt",  '...and for ON_BLUE');
+is((RESET 't'),         "\e[0mt",   '...and for RESET');
+
+# Do the same for disabled colors.
+local $ENV{ANSI_COLORS_DISABLED} = 1;
+is(BOLD,          q{}, 'ANSI_COLORS_DISABLED works for BOLD');
+is(BLUE,          q{}, '...and for BLUE');
+is(GREEN,         q{}, '...and for GREEN');
+is(DARK,          q{}, '...and for DARK');
+is(FAINT,         q{}, '...and for FAINT');
+is(BRIGHT_RED,    q{}, '...and for BRIGHT_RED');
+is(ON_BRIGHT_RED, q{}, '...and for ON_BRIGHT_RED');
+is(ITALIC,        q{}, '...and for ITALIC');
+is(RED,           q{}, '...and for RED');
+is(ON_GREEN,      q{}, '...and for ON_GREEN');
+is(ON_BLUE,       q{}, '...and for ON_BLUE');
+is(RESET,         q{}, '...and for RESET');
+delete $ENV{ANSI_COLORS_DISABLED};
+
+# Do the same for AUTORESET.
+$Term::ANSIColor::AUTORESET = 1;
+is((BOLD 't'),          "\e[1mt\e[0m",   'AUTORESET works for BOLD');
+is((BLUE 't'),          "\e[34mt\e[0m",  '...and for BLUE');
+is((GREEN 't'),         "\e[32mt\e[0m",  '...and for GREEN');
+is((DARK 't'),          "\e[2mt\e[0m",   '...and for DARK');
+is((FAINT 't'),         "\e[2mt\e[0m",   '...and for FAINT');
+is((BRIGHT_RED 't'),    "\e[91mt\e[0m",  '...and for BRIGHT_RED');
+is((ON_BRIGHT_RED 't'), "\e[101mt\e[0m", '...and for ON_BRIGHT_RED');
+is((ITALIC 't'),        "\e[3mt\e[0m",   '...and for ITALIC');
+is((RED 't'),           "\e[31mt\e[0m",  '...and for RED');
+is((ON_GREEN 't'),      "\e[42mt\e[0m",  '...and for ON_GREEN');
+is((ON_BLUE 't'),       "\e[44mt\e[0m",  '...and for ON_BLUE');
+is((RESET 't'),         "\e[0mt\e[0m",   '...and for RESET');
+is((BOLD),              "\e[1m",         'AUTORESET without text for BOLD');
+is((BLUE),              "\e[34m",        '...and for BLUE');
+is((GREEN),             "\e[32m",        '...and for GREEN');
+is((DARK),              "\e[2m",         '...and for DARK');
+is((FAINT),             "\e[2m",         '...and for FAINT');
+is((BRIGHT_RED),        "\e[91m",        '...and for BRIGHT_RED');
+is((ON_BRIGHT_RED),     "\e[101m",       '...and for ON_BRIGHT_RED');
+is((ITALIC),            "\e[3m",         '...and for ITALIC');
+is((RED),               "\e[31m",        '...and for RED');
+is((ON_GREEN),          "\e[42m",        '...and for ON_GREEN');
+is((ON_BLUE),           "\e[44m",        '...and for ON_BLUE');
+is((RESET),             "\e[0m",         '...and for RESET');
+$Term::ANSIColor::AUTORESET = 0;
+
+# Do the same for AUTOLOCAL.
+$Term::ANSIColor::AUTOLOCAL = 1;
+is((BOLD 't'),          "\e[1mt\e[0m",   'AUTOLOCAL works for BOLD');
+is((BLUE 't'),          "\e[34mt\e[0m",  '...and for BLUE');
+is((GREEN 't'),         "\e[32mt\e[0m",  '...and for GREEN');
+is((DARK 't'),          "\e[2mt\e[0m",   '...and for DARK');
+is((FAINT 't'),         "\e[2mt\e[0m",   '...and for FAINT');
+is((BRIGHT_RED 't'),    "\e[91mt\e[0m",  '...and for BRIGHT_RED');
+is((ON_BRIGHT_RED 't'), "\e[101mt\e[0m", '...and for ON_BRIGHT_RED');
+is((ITALIC 't'),        "\e[3mt\e[0m",   '...and for ITALIC');
+is((RED 't'),           "\e[31mt\e[0m",  '...and for RED');
+is((ON_GREEN 't'),      "\e[42mt\e[0m",  '...and for ON_GREEN');
+is((ON_BLUE 't'),       "\e[44mt\e[0m",  '...and for ON_BLUE');
+is((RESET 't'),         "\e[0mt\e[0m",   '...and for RESET');
+is((BOLD),              "\e[1m",         'AUTOLOCAL without text for BOLD');
+is((BLUE),              "\e[34m",        '...and for BLUE');
+is((GREEN),             "\e[32m",        '...and for GREEN');
+is((DARK),              "\e[2m",         '...and for DARK');
+is((FAINT),             "\e[2m",         '...and for FAINT');
+is((BRIGHT_RED),        "\e[91m",        '...and for BRIGHT_RED');
+is((ON_BRIGHT_RED),     "\e[101m",       '...and for ON_BRIGHT_RED');
+is((ITALIC),            "\e[3m",         '...and for ITALIC');
+is((RED),               "\e[31m",        '...and for RED');
+is((ON_GREEN),          "\e[42m",        '...and for ON_GREEN');
+is((ON_BLUE),           "\e[44m",        '...and for ON_BLUE');
+is((RESET),             "\e[0m",         '...and for RESET');
+$Term::ANSIColor::AUTOLOCAL = 0;
+
+# Force an internal error inside the AUTOLOAD stub by creating an attribute
+# that will generate a syntax error.  This is just for coverage purposes.
+# Disable warnings since our syntax error will spew otherwise.
+local $SIG{__WARN__} = sub { };
+$Term::ANSIColor::ATTRIBUTES{yellow} = q{'ERROR'};
+ok(!eval { YELLOW 't' }, 'Caught internal AUTOLOAD error');
+like(
+    $@,
+    qr{ \A failed [ ] to [ ] generate [ ] constant [ ] YELLOW: [ ] }xms,
+    '...with correct error message'
+);


Property changes on: vendor/perl/dist/cpan/Term-ANSIColor/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-Cap/Cap.pm
===================================================================
--- vendor/perl/dist/cpan/Term-Cap/Cap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-Cap/Cap.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
 use vars qw($VERSION $VMS_TERMCAP);
 use vars qw($termpat $state $first $entry);
 
-$VERSION = '1.12';
+$VERSION = '1.13';
 
 # Version undef: Thu Dec 14 20:02:42 CST 1995 by sanders at bsdi.com
 # Version 1.00:  Thu Nov 30 23:34:29 EST 2000 by schwern at pobox.com
@@ -57,6 +57,8 @@
 #       EBDIC fixes from Chun Bing Ge <gecb at cn.ibm.com>
 # Version 1.12: Sat Dec  8 00:10:21 GMT 2007
 #       QNX test fix from Matt Kraai <kraai at ftbfs.org>
+# Version 1.13: Thu Dec 22 22:21:09 GMT 2011
+#       POD error fix from Domin Hargreaves <dom at earth.li>
 #
 # TODO:
 # support Berkeley DB termcaps
@@ -86,8 +88,6 @@
 
 =head2 METHODS
 
-=over 4
-
 The output strings for B<Tputs> are cached for counts of 1 for performance.
 B<Tgoto> and B<Tpad> do not cache.  C<$self-E<gt>{_xx}> is the raw termcap
 data and C<$self-E<gt>{xx}> is the cached version.
@@ -145,6 +145,8 @@
     return grep { defined $_ && -f $_ } @termcap_path;
 }
 
+=over 4
+
 =item B<Tgetent>
 
 Returns a blessed object reference which the user can


Property changes on: vendor/perl/dist/cpan/Term-Cap/Cap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Term-Cap/test.pl
===================================================================
--- vendor/perl/dist/cpan/Term-Cap/test.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-Cap/test.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Term-Cap/test.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-UI/lib/Term/UI/History.pm
===================================================================
--- vendor/perl/dist/cpan/Term-UI/lib/Term/UI/History.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-UI/lib/Term/UI/History.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 =head1 NAME
 
-Term::UI::History
+Term::UI::History - history function
 
 =head1 SYNOPSIS
 
@@ -37,8 +37,8 @@
 
 =head2 history("message string" [,VERBOSE])
 
-Records a message on the stack, and prints it to C<STDOUT> 
-(or actually C<$HISTORY_FH>, see the C<GLOBAL VARIABLES> section 
+Records a message on the stack, and prints it to C<STDOUT>
+(or actually C<$HISTORY_FH>, see the C<GLOBAL VARIABLES> section
 below), if the C<VERBOSE> option is true.
 
 The C<VERBOSE> option defaults to true.
@@ -55,7 +55,7 @@
 
     for my $func ( @EXPORT ) {
         no strict 'refs';
-        
+
         *$func = sub {  my $msg     = shift;
                         $log->store(
                                 message => $msg,
@@ -74,8 +74,10 @@
 }
 
 
-{   package Log::Message::Handlers;
-    
+{
+    package # hide this from PAUSE
+      Log::Message::Handlers;
+
     sub history {
         my $self    = shift;
         my $verbose = shift;


Property changes on: vendor/perl/dist/cpan/Term-UI/lib/Term/UI/History.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-UI/lib/Term/UI.pm
===================================================================
--- vendor/perl/dist/cpan/Term-UI/lib/Term/UI.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-UI/lib/Term/UI.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
 package Term::UI;
 
+use if $] > 5.017, 'deprecate';
+
 use Carp;
 use Params::Check qw[check allow];
 use Term::ReadLine;
@@ -11,7 +13,7 @@
 BEGIN {
     use vars        qw[$VERSION $AUTOREPLY $VERBOSE $INVALID];
     $VERBOSE    =   1;
-    $VERSION    =   '0.26';
+    $VERSION    =   '0.34';
     $INVALID    =   loc('Invalid selection, please try again: ');
 }
 
@@ -35,7 +37,7 @@
     my $reply = $term->get_reply(
                     prompt => 'What is your favourite colour?',
                     choices => [qw|blue red green|],
-                    default => blue,
+                    default => 'blue',
     );
 
     my $bool = $term->ask_yn(
@@ -55,7 +57,7 @@
     ### always pick the default (good for non-interactive terms)
     ### -- default is '0'
     $Term::UI::AUTOREPLY = 1;
-    
+
     ### Retrieve the entire session as a printable string:
     $hist = Term::UI::History->history_as_string;
     $hist = $term->history_as_string;
@@ -73,12 +75,12 @@
 
 =head1 HOW IT WORKS
 
-C<Term::UI> places itself at the back of the C<Term::ReadLine> 
+C<Term::UI> places itself at the back of the C<Term::ReadLine>
 C<@ISA> array, so you can call its functions through your term object.
 
 C<Term::UI> uses C<Term::UI::History> to record all interactions
 with the commandline. You can retrieve this history, or alter
-the filehandle the interaction is printed to. See the 
+the filehandle the interaction is printed to. See the
 C<Term::UI::History> manpage or the C<SYNOPSIS> for details.
 
 =head1 METHODS
@@ -102,8 +104,8 @@
 returned to you, rather than a simple string.
 
 By specifying an C<allow> hander, you can yourself validate the answer
-a user gives. This can be any of the types that the Params::Check C<allow> 
-function allows, so please refer to that manpage for details. 
+a user gives. This can be any of the types that the Params::Check C<allow>
+function allows, so please refer to that manpage for details.
 
 Finally, you have the option of adding a C<print_me> argument, which is
 simply printed before the prompt. It's printed to the same file handle
@@ -135,7 +137,7 @@
     ### add this to the prompt to indicate the default
     ### answer to the question if there is one.
     my $prompt_add;
-    
+
     ### if you supplied several choices to pick from,
     ### we'll print them separately before the prompt
     if( @{$args->{choices}} ) {
@@ -144,7 +146,7 @@
         for my $choice ( @{$args->{choices}} ) {
             $i++;   # the answer counter -- but humans start counting
                     # at 1 :D
-            
+
             ### so this choice is the default? add it to 'prompt_add'
             ### so we can construct a "foo? [DIGIT]" type prompt
             $prompt_add = $i if (defined $args->{default} and $choice eq $args->{default});
@@ -153,7 +155,7 @@
             $args->{print_me} .= sprintf "\n%3s> %-s", $i, $choice;
         }
 
-        ### we listed some choices -- add another newline for 
+        ### we listed some choices -- add another newline for
         ### pretty printing
         $args->{print_me} .= "\n" if $i;
 
@@ -169,7 +171,7 @@
     ### we set up the defaults, prompts etc, dispatch to the readline call
     return $term->_tt_readline( %$args, prompt_add => $prompt_add );
 
-} 
+}
 
 =head2 $bool = $term->ask_yn( prompt => "your question", [default => (y|1,n|0), print_me => "extra text to print & record"] )
 
@@ -176,7 +178,7 @@
 Asks a simple C<yes> or C<no> question to the user, returning a boolean
 indicating C<true> or C<false> to the caller.
 
-The C<default> answer will automatically returned, if the user hits 
+The C<default> answer will automatically returned, if the user hits
 C<enter> or if C<$AUTOREPLY> is set to true. See the C<GLOBAL VARIABLES>
 section further below.
 
@@ -199,7 +201,7 @@
         default     => { default => undef, allow => [qw|0 1 y n|],
                                                             strict_type => 1 },
         prompt      => { default => '', required => 1,      strict_type => 1 },
-        print_me    => { default => '',                     strict_type => 1 },        
+        print_me    => { default => '',                     strict_type => 1 },
         multi       => { default => 0,                      no_override => 1 },
         choices     => { default => [qw|y n|],              no_override => 1 },
         allow       => { default => [qr/^y(?:es)?$/i, qr/^n(?:o)?$/i],
@@ -208,7 +210,7 @@
     };
 
     my $args = check( $tmpl, \%hash, $VERBOSE ) or return undef;
-    
+
     ### uppercase the default choice, if there is one, to be added
     ### to the prompt in a 'foo? [Y/n]' type style.
     my $prompt_add;
@@ -217,10 +219,10 @@
 
             ### if you supplied the default as a boolean, rather than y/n
             ### transform it to a y/n now
-            $args->{default} = $args->{default} =~ /\d/ 
+            $args->{default} = $args->{default} =~ /\d/
                                 ? { 0 => 'n', 1 => 'y' }->{ $args->{default} }
                                 : $args->{default};
-        
+
             @list = map { lc $args->{default} eq lc $_
                                 ? uc $args->{default}
                                 : $_
@@ -231,7 +233,7 @@
     }
 
     my $rv = $term->_tt_readline( %$args, prompt_add => $prompt_add );
-    
+
     return $rv =~ /^y/i ? 1 : 0;
 }
 
@@ -247,11 +249,11 @@
 
     my ($default, $prompt, $choices, $multi, $allow, $prompt_add, $print_me);
     my $tmpl = {
-        default     => { default => undef,  strict_type => 1, 
+        default     => { default => undef,  strict_type => 1,
                             store => \$default },
         prompt      => { default => '',     strict_type => 1, required => 1,
                             store => \$prompt },
-        choices     => { default => [],     strict_type => 1, 
+        choices     => { default => [],     strict_type => 1,
                             store => \$choices },
         multi       => { default => 0,      allow => [0, 1], store => \$multi },
         allow       => { default => qr/.*/, store => \$allow, },
@@ -265,24 +267,29 @@
     ### it can display wonky on some terminals.
     history( $print_me ) if $print_me;
 
-    
-    ### we might have to add a default value to the prompt, to
-    ### show the user what will be picked by default:
-    $prompt .= " [$prompt_add]: " if $prompt_add;
 
+    if ($prompt_add) {
+        ### we might have to add a default value to the prompt, to
+        ### show the user what will be picked by default:
+        $prompt .= " [$prompt_add]: " ;
+    }
+    else {
+        $prompt .= " : ";
+    }
 
+
     ### are we in autoreply mode?
     if ($AUTOREPLY) {
-        
+
         ### you used autoreply, but didnt provide a default!
-        carp loc(   
+        carp loc(
             q[You have '%1' set to true, but did not provide a default!],
-            '$AUTOREPLY' 
+            '$AUTOREPLY'
         ) if( !defined $default && $VERBOSE);
 
         ### print it out for visual feedback
         history( join ' ', grep { defined } $prompt, $default );
-        
+
         ### and return the default
         return $default;
     }
@@ -290,16 +297,16 @@
 
     ### so, no AUTOREPLY, let's see what the user will answer
     LOOP: {
-        
+
         ### annoying bug in T::R::Perl that mucks up lines with a \n
         ### in them; So split by \n, save the last line as the prompt
         ### and just print the rest
         {   my @lines   = split "\n", $prompt;
             $prompt     = pop @lines;
-            
+
             history( "$_\n" ) for @lines;
         }
-        
+
         ### pose the question
         my $answer  = $term->readline($prompt);
         $answer     = $default unless length $answer;
@@ -315,12 +322,12 @@
 
         ### the return value list
         my @rv;
-        
+
         if( @$choices ) {
-            
+
             for my $answer (@answers) {
-                
-                ### a digit implies a multiple choice question, 
+
+                ### a digit implies a multiple choice question,
                 ### a non-digit is an open answer
                 if( $answer =~ /\D/ ) {
                     push @rv, $answer if allow( $answer, $allow );
@@ -328,24 +335,24 @@
 
                     ### remember, the answer digits are +1 compared to
                     ### the choices, because humans want to start counting
-                    ### at 1, not at 0 
-                    push @rv, $choices->[ $answer - 1 ] 
+                    ### at 1, not at 0
+                    push @rv, $choices->[ $answer - 1 ]
                         if $answer > 0 && defined $choices->[ $answer - 1];
-                }    
+                }
             }
-     
+
         ### no fixed list of choices.. just check if the answers
         ### (or otherwise the default!) pass the allow handler
-        } else {       
+        } else {
             push @rv, grep { allow( $_, $allow ) }
-                        scalar @answers ? @answers : ($default);  
+                        scalar @answers ? @answers : ($default);
         }
 
         ### if not all the answers made it to the return value list,
-        ### at least one of them was an invalid answer -- make the 
+        ### at least one of them was an invalid answer -- make the
         ### user do it again
-        if( (@rv != @answers) or 
-            (scalar(@$choices) and not scalar(@answers)) 
+        if( (@rv != @answers) or
+            (scalar(@$choices) and not scalar(@answers))
         ) {
             $prompt = $INVALID;
             $prompt .= "[$prompt_add] " if $prompt_add;
@@ -486,7 +493,7 @@
 
 which would look like:
 
-    Your favourite colour? 
+    Your favourite colour?
 
 and C<$reply> would hold the text the user typed.
 
@@ -502,9 +509,9 @@
       1> red
       2> green
       3> blue
-    
-    Your favourite colour? 
 
+    Your favourite colour?
+
 C<$reply> will hold one of the choices presented. C<Term::UI> will repose
 the question if the user attempts to enter an answer that's not in the
 list of choices. The string presented is held in the C<$Term::UI::INVALID>
@@ -523,9 +530,9 @@
       1> red
       2> green
       3> blue
-    
-    Your favourite colour? [3]:  
 
+    Your favourite colour? [3]:
+
 Note the default answer after the prompt. A user can now just hit C<enter>
 (or set C<$Term::UI::AUTOREPLY> -- see the C<GLOBAL VARIABLES> section) and
 the sensible answer 'blue' will be returned.
@@ -532,10 +539,10 @@
 
 =head2 get_reply using print_me & multi
 
-    ### allow the user to pick more than one colour and add an 
+    ### allow the user to pick more than one colour and add an
     ### introduction text
     @reply = $term->get_reply(
-                print_me    => 'Tell us what colours you like', 
+                print_me    => 'Tell us what colours you like',
                 prompt      => 'Your favourite colours?',
                 choices     => [qw|red green blue|],
                 multi       => 1 );
@@ -546,7 +553,7 @@
       1> red
       2> green
       3> blue
-    
+
     Your favourite colours?
 
 An answer of C<3 2 1> would fill C<@reply> with C<blue green red>
@@ -553,8 +560,8 @@
 
 =head2 get_reply & allow
 
-    ### pose an open question, but do a custom verification on 
-    ### the answer, which will only exit the question loop, if 
+    ### pose an open question, but do a custom verification on
+    ### the answer, which will only exit the question loop, if
     ### the answer matches the allow handler.
     $reply = $term->get_reply(
                 prompt  => "What is the magic number?",
@@ -571,18 +578,18 @@
     ### and inform him first what cookies are.
     $bool = $term->ask_yn( prompt   => 'Do you like cookies?',
                            default  => 'y',
-                           print_me => 'Cookies are LOVELY!!!' ); 
+                           print_me => 'Cookies are LOVELY!!!' );
 
-would print:                           
+would print:
 
     Cookies are LOVELY!!!
-    Do you like cookies? [Y/n]: 
+    Do you like cookies? [Y/n]:
 
-If a user then simply hits C<enter>, agreeing with the default, 
-C<$bool> would be set to C<true>. (Simply hitting 'y' would also 
+If a user then simply hits C<enter>, agreeing with the default,
+C<$bool> would be set to C<true>. (Simply hitting 'y' would also
 return C<true>. Hitting 'n' would return C<false>)
 
-We could later retrieve this interaction by printing out the Q&A 
+We could later retrieve this interaction by printing out the Q&A
 history as follows:
 
     print $term->history_as_string;
@@ -614,7 +621,7 @@
 
 =head1 COPYRIGHT
 
-This library is free software; you may redistribute and/or modify it 
+This library is free software; you may redistribute and/or modify it
 under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/cpan/Term-UI/lib/Term/UI.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-UI/t/00_load.t
===================================================================
--- vendor/perl/dist/cpan/Term-UI/t/00_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-UI/t/00_load.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 use Test::More 'no_plan';
 use strict;
 
-BEGIN { 
+BEGIN {
     chdir 't' if -d 't';
     use File::Spec;
     use lib File::Spec->catdir( qw[.. lib] );


Property changes on: vendor/perl/dist/cpan/Term-UI/t/00_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-UI/t/01_history.t
===================================================================
--- vendor/perl/dist/cpan/Term-UI/t/01_history.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-UI/t/01_history.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 use Test::More 'no_plan';
 use strict;
 
-BEGIN { 
+BEGIN {
     chdir 't' if -d 't';
     use File::Spec;
     use lib File::Spec->catdir( qw[.. lib] );
@@ -16,56 +16,56 @@
 
     for my $pkg ( $Class, __PACKAGE__ ) {
         can_ok( $pkg, $Func );
-    }    
+    }
 }
 
 ### test string recording
-{   history( $$, $Verbose );   
+{   history( $$, $Verbose );
 
     my $str = $Class->history_as_string;
 
     ok( $str,                   "Message recorded" );
     is( $str, $$,               "   With appropriate content" );
-    
+
     $Class->flush;
     ok( !$Class->history_as_string,
                                 "   Stack flushed" );
 }
 
-### test filehandle printing 
-SKIP: {   
+### test filehandle printing
+SKIP: {
     my $file = "$$.tmp";
-    
+
     {   open my $fh, ">$file" or skip "Could not open $file: $!", 6;
-    
+
         ### declare twice for 'used only once' warning
         local $Term::UI::History::HISTORY_FH = $fh;
-        local $Term::UI::History::HISTORY_FH = $fh;    
-        
+        local $Term::UI::History::HISTORY_FH = $fh;
+
         history( $$ );
 
         close $fh;
-    }    
+    }
 
     my $str = $Class->history_as_string;
     ok( $str,                   "Message recorded" );
     is( $str, $$,               "   With appropriate content" );
-    
+
     ### check file contents
     {   ok( -e $file,           "File $file exists" );
         ok( -s $file,           "   File has size" );
-    
+
         open my $fh, $file or skip "Could not open $file: $!", 2;
         my $cont = do { local $/; <$fh> };
         chomp $cont;
-        
+
         is( $cont, $str,        "   File has same content" );
-    }        
+    }
 
     $Class->flush;
-    
+
     ### for VMS etc
     1 while unlink $file;
-    
+
     ok( ! -e $file,             "   File $file removed" );
 }


Property changes on: vendor/perl/dist/cpan/Term-UI/t/01_history.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Term-UI/t/02_ui.t
===================================================================
--- vendor/perl/dist/cpan/Term-UI/t/02_ui.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Term-UI/t/02_ui.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -76,10 +76,10 @@
 {   my $args = {
         prompt  => 'Uninit warning on empty default',
     };
-    
+
     my $warnings = '';
     local $SIG{__WARN__} = sub { $warnings .= "@_" };
-    
+
     my $res = $term->get_reply( %$args );
 
     ok( !$res,                  "Empty result on autoreply without default" );
@@ -88,7 +88,7 @@
                                 "   No warnings from Term::UI" );
 
 }
- 
+
 # used to print: Use of uninitialized value in string at Params/Check.pm
 # [#13412]
 {   my $args = {
@@ -95,10 +95,10 @@
         prompt  => 'Undef warning on failing allow',
         allow   => sub { 0 },
     };
-    
+
     my $warnings = '';
     local $SIG{__WARN__} = sub { $warnings .= "@_" };
-    
+
     my $res = $term->get_reply( %$args );
 
     ok( !$res,                  "Empty result on autoreply without default" );
@@ -108,7 +108,7 @@
 
 }
 
-#### test parse_options   
+#### test parse_options
 {
     my $str =   q[command --no-foo --baz --bar=0 --quux=bleh ] .
                 q[--option="some'thing" -one-dash -single=blah' foo bar-zot];
@@ -135,12 +135,12 @@
         [ 'x --update_source'   => 'x', { update_source => 1 } ],
         [ '--update_source'     => '',  { update_source => 1 } ],
     );
-    
+
     for my $aref ( @map ) {
         my( $input, $munged, $expect ) = @$aref;
-        
+
         my($href,$rest) = $term->parse_options( $input );
-        
+
         ok( $href,              "Parsed '$input'" );
         is_deeply( $href, $expect,
                                 "   Options parsed correctly" );


Property changes on: vendor/perl/dist/cpan/Term-UI/t/02_ui.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test/lib/Test.pm
===================================================================
--- vendor/perl/dist/cpan/Test/lib/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/lib/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,7 +20,7 @@
     $planned    = 0;
 }
 
-$VERSION = '1.25_02';
+$VERSION = '1.26';
 require Exporter;
 @ISA=('Exporter');
 


Property changes on: vendor/perl/dist/cpan/Test/lib/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/05_about_verbose.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/05_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/05_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/05_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/fail.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/fail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/fail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/mix.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/mix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/mix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/mix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/multiline.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/multiline.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/multiline.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/multiline.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/onfail.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/onfail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/onfail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/onfail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/qr.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/qr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/qr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/qr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/skip.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/skip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/skip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/skip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/success.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/success.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/success.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/success.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test/t/todo.t
===================================================================
--- vendor/perl/dist/cpan/Test/t/todo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test/t/todo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test/t/todo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/Changes
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,37 @@
 Revision history for Test-Harness
 
+3.26    2013-01-16
+        - Renamed env.opts.t to env_opts.t (for VMS)
+        - Skipped some TAP::Formatter::HTML tests due to this bug: #82738
+
+3.26    2012-06-05
+        - Rereleased to fix CPAN permission problem. No functional change.
+
+3.24    2012-06-03
+        - RT #74393: corrected typo in M::B integration docs.
+        - RT #63473: fix typo.
+        - RT #49732: Attempt to load File::Glob::Windows to get correct
+          glob semantics on Win32.
+        - RT #47890: Don't use Win32::GetShortPathName.
+        - RT #64404: Ignore textness ('-T') of script when reading shebang.
+        - Handle the case where we don't know the wait status of the
+          test more gracefully.
+        - Make the test summary 'ok' line overrideable so that it can be
+          changed to a plugin to make the output of prove idempotent.
+        - Apply upstream patch:
+
+            http://perl5.git.perl.org/perl.git/commit \
+              /6359c64336d99060952232e7e300bd3c31afead8
+
+          In testargs.t in Test::Harness, don't run a world-writable file.
+
+          The test writes a file, then changes the mode, then executes it. The file needs
+          to be +x to be executable (on many platforms). The file will need to be +w to
+          be deletable on some platforms. But setting the file world writable just before
+          running it feels like a bad idea, given that the file's name is as predictable
+          as process IDs, as there's a race condition to break into the account running
+          perl's tests.
+
 3.23    2011-02-20
         - Merge in changes from core. Thanks BinGOs.
         - Made SourceHandler understand that an executable binary file


Property changes on: vendor/perl/dist/cpan/Test-Harness/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/MANIFEST
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)
@@ -76,6 +76,7 @@
 t/bailout.t
 t/base.t
 t/callbacks.t
+t/compat/env_opts.t
 t/compat/env.t
 t/compat/failure.t
 t/compat/inc-propagation.t
@@ -125,6 +126,7 @@
 t/nested.t
 t/nofork-mux.t
 t/nofork.t
+t/nowarn.t
 t/object.t
 t/parse.t
 t/parser-config.t
@@ -232,3 +234,4 @@
 xt/author/stdin.t
 xt/perls/harness_perl.t
 xt/perls/sample-tests/perl_version
+META.json


Property changes on: vendor/perl/dist/cpan/Test-Harness/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/MANIFEST.CUMMULATIVE
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/MANIFEST.CUMMULATIVE	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/MANIFEST.CUMMULATIVE	2013-12-01 21:45:02 UTC (rev 6430)
@@ -156,6 +156,7 @@
 t/compat/060-version.t
 t/compat/base.t
 t/compat/callback.t
+t/compat/env.opts.t
 t/compat/env.t
 t/compat/failure.t
 t/compat/from_line.t
@@ -220,6 +221,7 @@
 t/nested.t
 t/nofork-mux.t
 t/nofork.t
+t/nowarn.t
 t/object.t
 t/parse.t
 t/parser-config.t


Property changes on: vendor/perl/dist/cpan/Test-Harness/MANIFEST.CUMMULATIVE
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/bin/prove
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/bin/prove	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/bin/prove	2013-12-01 21:45:02 UTC (rev 6430)
@@ -144,7 +144,7 @@
 order relative to test results you can use the C<--merge> option to
 merge the test scripts' STDERR into their STDOUT.
 
-This guarantees that STDOUT (where the test results appear) and STDOUT
+This guarantees that STDOUT (where the test results appear) and STDERR
 (where the diagnostics appear) will stay in sync. The harness will
 display any diagnostics your tests emit on STDERR.
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/bin/prove
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,11 +10,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State/Result.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,11 +26,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 
@@ -77,11 +77,12 @@
     my %args = %{ shift || {} };
 
     my $self = bless {
-        select       => [],
-        seq          => 1,
-        store        => delete $args{store},
-        extensions   => ( delete $args{extensions} || ['.t'] ),
-        result_class => ( delete $args{result_class} || 'App::Prove::State::Result' ),
+        select     => [],
+        seq        => 1,
+        store      => delete $args{store},
+        extensions => ( delete $args{extensions} || ['.t'] ),
+        result_class =>
+          ( delete $args{result_class} || 'App::Prove::State::Result' ),
     }, $class;
 
     $self->{_} = $self->result_class->new(
@@ -216,6 +217,7 @@
     my %handler = (
         last => sub {
             $self->_select(
+                limit => shift,
                 where => sub { $_->generation >= $last_gen },
                 order => sub { $_->sequence }
             );
@@ -222,18 +224,23 @@
         },
         failed => sub {
             $self->_select(
+                limit => shift,
                 where => sub { $_->result != 0 },
                 order => sub { -$_->result }
             );
         },
         passed => sub {
-            $self->_select( where => sub { $_->result == 0 } );
+            $self->_select(
+                limit => shift,
+                where => sub { $_->result == 0 }
+            );
         },
         all => sub {
-            $self->_select();
+            $self->_select( limit => shift );
         },
         todo => sub {
             $self->_select(
+                limit => shift,
                 where => sub { $_->num_todo != 0 },
                 order => sub { -$_->num_todo; }
             );
@@ -240,24 +247,40 @@
         },
         hot => sub {
             $self->_select(
+                limit => shift,
                 where => sub { defined $_->last_fail_time },
                 order => sub { $now - $_->last_fail_time }
             );
         },
         slow => sub {
-            $self->_select( order => sub { -$_->elapsed } );
+            $self->_select(
+                limit => shift,
+                order => sub { -$_->elapsed }
+            );
         },
         fast => sub {
-            $self->_select( order => sub { $_->elapsed } );
+            $self->_select(
+                limit => shift,
+                order => sub { $_->elapsed }
+            );
         },
         new => sub {
-            $self->_select( order => sub { -$_->mtime } );
+            $self->_select(
+                limit => shift,
+                order => sub { -$_->mtime }
+            );
         },
         old => sub {
-            $self->_select( order => sub { $_->mtime } );
+            $self->_select(
+                limit => shift,
+                order => sub { $_->mtime }
+            );
         },
         fresh => sub {
-            $self->_select( where => sub { $_->mtime >= $last_run_time } );
+            $self->_select(
+                limit => shift,
+                where => sub { $_->mtime >= $last_run_time }
+            );
         },
         save => sub {
             $self->{should_save}++;
@@ -344,6 +367,10 @@
           } @got;
     }
 
+    if ( my $limit = $clause->{limit} ) {
+        @got = splice @got, 0, $limit if @got > $limit;
+    }
+
     return @got;
 }
 
@@ -354,7 +381,10 @@
     my @tests;
 
     # Do globbing on Win32.
-    @argv = map { glob "$_" } @argv if NEED_GLOB;
+    if (NEED_GLOB) {
+        eval "use File::Glob::Windows";    # [49732]
+        @argv = map { glob "$_" } @argv;
+    }
     my $extensions = $self->{extensions};
 
     for my $arg (@argv) {
@@ -368,7 +398,8 @@
             sort -d $arg
           ? $recurse
               ? $self->_expand_dir_recursive( $arg, $extensions )
-              : map { glob( File::Spec->catfile( $arg, "*$_" ) ) } @{$extensions}
+              : map { glob( File::Spec->catfile( $arg, "*$_" ) ) }
+              @{$extensions}
           : $arg;
     }
     return @tests;
@@ -378,13 +409,13 @@
     my ( $self, $dir, $extensions ) = @_;
 
     my @tests;
-    my $ext_string = join( '|', map { quotemeta } @{$extensions} );
+    my $ext_string = join( '|', map {quotemeta} @{$extensions} );
 
     find(
         {   follow      => 1,      #21938
             follow_skip => 2,
             wanted      => sub {
-                -f
+                -f 
                   && /(?:$ext_string)$/
                   && push @tests => $File::Find::name;
               }


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove/State.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,11 +17,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 
@@ -218,6 +218,7 @@
             'D|dry'      => \$self->{dry},
             'ext=s@'     => sub {
                 my ( $opt, $val ) = @_;
+
                 # Workaround for Getopt::Long 2.25 handling of
                 # multivalue options
                 push @{ $self->{extensions} ||= [] }, $val;


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/App/Prove.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 use constant GOT_TIME_HIRES => do {
     eval 'use Time::HiRes qw(time);';


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,13 +25,27 @@
         show_count => sub { shift; shift },
         stdout     => sub {
             my ( $self, $ref ) = @_;
+
             $self->_croak("option 'stdout' needs a filehandle")
-              unless ( ref $ref || '' ) eq 'GLOB'
-              or eval { $ref->can('print') };
+              unless $self->_is_filehandle($ref);
+
             return $ref;
         },
     );
 
+    sub _is_filehandle {
+        my ( $self, $ref ) = @_;
+
+        return 0 if !defined $ref;
+
+        return 1 if ref $ref eq 'GLOB';    # lexical filehandle
+        return 1 if !ref $ref && ref \$ref eq 'GLOB'; # bare glob like *STDOUT
+
+        return 1 if eval { $ref->can('print') };
+
+        return 0;
+    }
+
     my @getter_setters = qw(
       _longest
       _printed_summary_header
@@ -47,11 +61,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 
@@ -375,9 +389,11 @@
     my $spaces = ' ' x ( $self->_longest - length $test );
     $spaces = ' ' unless $spaces;
     my $output = $self->_get_output_method($parser);
+    my $wait   = $parser->wait;
+    defined $wait or $wait = '(none)';
     $self->$output(
-        sprintf "$test$spaces(Wstat: %d Tests: %d Failed: %d)\n",
-        $parser->wait, $parser->tests_run, scalar $parser->failed
+        sprintf "$test$spaces(Wstat: %s Tests: %d Failed: %d)\n",
+        $wait, $parser->tests_run, scalar $parser->failed
     );
     $self->_printed_summary_header(1);
 }


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -71,11 +71,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Color.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -42,11 +42,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,11 +28,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 
@@ -200,7 +200,7 @@
                     }
                 }
 
-                $formatter->_output("ok$time_report\n");
+                $formatter->_output( $self->_make_ok_line($time_report) );
             }
         },
     };


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console/Session.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Console.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,11 +13,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 
@@ -103,7 +103,7 @@
 
         $formatter->_output( $pretty
               . ( $self->{results} ? "\n" . $self->{results} : "" )
-              . "ok$time_report\n" );
+              . $self->_make_ok_line($time_report) );
     }
 }
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File/Session.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,11 +15,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,11 +25,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 METHODS
 
@@ -180,4 +180,9 @@
     $formatter->_output("\n");
 }
 
+sub _make_ok_line {
+    my ( $self, $suffix ) = @_;
+    return "ok$suffix\n";
+}
+
 1;


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Formatter/Session.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Beyond.pod
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Beyond.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Beyond.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness/Beyond.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,11 +19,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 $ENV{HARNESS_ACTIVE}  = 1;
 $ENV{HARNESS_VERSION} = $VERSION;
@@ -888,7 +888,7 @@
                   extensions => ['.tap', '.txt'],
               },
           },
-          formatter => 'TAP::Formatter::HTML',
+          formatter_class => 'TAP::Formatter::HTML',
       },
       build_requires     => {
           'Module::Build' => '0.30',


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Harness.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,11 +9,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Object.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Aggregator.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,11 +15,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Grammar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,11 +13,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,11 +17,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,11 +13,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,11 +13,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Iterator.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,11 +18,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,11 +18,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Multiplexer.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Comment.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Plan.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/Version.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result/YAML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,11 +26,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Result.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,11 +30,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head2 DESCRIPTION
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/ResultFactory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,11 +10,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,11 +10,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,11 +12,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Scheduler.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,8 @@
 use TAP::Object ();
 use File::Basename qw( fileparse );
 
+use constant BLK_SIZE => 512;
+
 @ISA = qw(TAP::Object);
 
 =head1 NAME
@@ -14,11 +16,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 
@@ -288,8 +290,8 @@
                 $file->{lc_ext} = lc( $file->{ext} );
                 $file->{basename} .= $file->{ext} if $file->{ext};
 
-                if ( $file->{text} and $file->{read} ) {
-                    eval { $file->{shebang} = $self->_read_shebang($$raw); };
+                if ( !$file->{is_dir} && $file->{read} ) {
+                    eval { $file->{shebang} = $self->shebang($$raw); };
                     if ( my $e = $@ ) {
                         warn $e;
                     }
@@ -323,18 +325,14 @@
     my %shebang_for;
 
     sub _read_shebang {
-        my ( $self, $file ) = @_;
-        my $shebang;
-        local *TEST;
-        if ( open( TEST, $file ) ) {
-            $shebang = <TEST>;
-            chomp $shebang;
-            close(TEST) or die "Can't close $file. $!\n";
-        }
-        else {
-            die "Can't open $file. $!\n";
-        }
-        return $shebang;
+        my ( $class, $file ) = @_;
+        open my $fh, '<', $file or die "Can't read $file: $!\n";
+
+        # Might be a binary file - so read a fixed number of bytes.
+        my $got = read $fh, my $buf, BLK_SIZE;
+        defined $got or die "I/O error: $!\n";
+        return $1 if $buf =~ /(.*)/;
+        return;
     }
 
     sub shebang {


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Source.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,11 +17,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Executable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,11 +17,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,11 +17,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Handle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,11 +22,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 
@@ -80,6 +80,7 @@
 
     if ( my $shebang = $file->{shebang} ) {
         return 0.9 if $shebang =~ /^#!.*\bperl/;
+
         # We favour Perl as the interpreter for any shebang to preserve
         # previous semantics: we used to execute everything via Perl and
         # relied on it to pass the shebang off to the appropriate
@@ -315,7 +316,7 @@
 sub get_perl {
     my $class = shift;
     return $ENV{HARNESS_PERL} if defined $ENV{HARNESS_PERL};
-    return Win32::GetShortPathName($^X) if IS_WIN32;
+    return qq["$^X"] if IS_WIN32 && ( $^X =~ /[^\w\.\/\\]/ );
     return $^X;
 }
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/Perl.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,11 +17,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler/RawTAP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/SourceHandler.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Utils.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,11 +13,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 use TAP::Object ();
 
 @ISA     = 'TAP::Object';
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 # TODO:
 #   Handle blessed object syntax
@@ -270,7 +270,7 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 use TAP::Object ();
 
 @ISA     = 'TAP::Object';
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 my $ESCAPE_CHAR = qr{ [ \x00-\x1f \" ] }x;
 my $ESCAPE_KEY  = qr{ (?: ^\W ) | $ESCAPE_CHAR }x;
@@ -147,7 +147,7 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =head1 SYNOPSIS
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,11 +24,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 my $DEFAULT_TAP_VERSION = 12;
 my $MAX_TAP_VERSION     = 13;
@@ -1884,7 +1884,7 @@
 Obviously, bugs which include patches are best. If you prefer, you can
 patch against bleed by via anonymous checkout of the latest version:
 
- git clone git://github.com/AndyA/Test-Harness.git
+ git clone git://github.com/Perl-Toolchain-Gang/Test-Harness.git
 
 =head1 COPYRIGHT & LICENSE
 


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/TAP/Parser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -46,11 +46,11 @@
 
 =head1 VERSION
 
-Version 3.23
+Version 3.26
 
 =cut
 
-$VERSION = '3.23';
+$VERSION = '3.26';
 
 # Backwards compatibility for exportable variable names.
 *verbose  = *Verbose;
@@ -73,7 +73,7 @@
 
 $Verbose = $ENV{HARNESS_VERBOSE} || 0;
 $Debug   = $ENV{HARNESS_DEBUG}   || 0;
-$Switches = '-w';
+$Switches = '';
 $Columns = $ENV{HARNESS_COLUMNS} || $ENV{COLUMNS} || 80;
 $Columns--;    # Some shells have trouble with a full line of text.
 $Timer      = $ENV{HARNESS_TIMER}       || 0;
@@ -238,6 +238,7 @@
     $args->{stdout} = $sub_args->{out}
       if exists $sub_args->{out};
 
+    my $class = $ENV{HARNESS_SUBCLASS} || 'TAP::Harness';
     if ( defined( my $env_opt = $ENV{HARNESS_OPTIONS} ) ) {
         for my $opt ( split /:/, $env_opt ) {
             if ( $opt =~ /^j(\d*)$/ ) {
@@ -246,6 +247,16 @@
             elsif ( $opt eq 'c' ) {
                 $args->{color} = 1;
             }
+            elsif ( $opt =~ m/^f(.*)$/ ) {
+                my $fmt = $1;
+                $fmt =~ s/-/::/g;
+                $args->{formatter_class} = $fmt;
+            }
+            elsif ( $opt =~ m/^a(.*)$/ ) {
+                my $archive = $1;
+                $class = "TAP::Harness::Archive";
+                $args->{archive} = $archive;
+            }
             else {
                 die "Unknown HARNESS_OPTIONS item: $opt\n";
             }
@@ -252,7 +263,6 @@
         }
     }
 
-    my $class = $ENV{HARNESS_SUBCLASS} || 'TAP::Harness';
     return TAP::Harness->_construct( $class, $args );
 }
 
@@ -535,6 +545,16 @@
 
 Try to color output. See L<TAP::Formatter::Base/"new">.
 
+=item C<< a<file.tgz> >>
+
+Will use L<TAP::Harness::Archive> as the harness class, and save the TAP to
+C<file.tgz>
+
+=item C<< fPackage-With-Dashes >>
+
+Set the formatter_class of the harness being run. Since the C<HARNESS_OPTIONS>
+is seperated by C<:>, we use C<-> instead.
+
 =back
 
 Multiple options may be separated by colons:


Property changes on: vendor/perl/dist/cpan/Test-Harness/lib/Test/Harness.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/000-load.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/000-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/000-load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/000-load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/aggregator.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/aggregator.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/aggregator.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/aggregator.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/bailout.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/bailout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/bailout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/bailout.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/base.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/callbacks.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/callbacks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/callbacks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/callbacks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/env.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/env.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/env.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/env.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/failure.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/failure.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/failure.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/failure.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/inc-propagation.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/inc-propagation.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/inc-propagation.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/inc-propagation.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/inc_taint.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/inc_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/inc_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/inc_taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/nonumbers.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/nonumbers.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/nonumbers.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/nonumbers.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/regression.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/regression.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/regression.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/regression.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/subclass.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/subclass.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/switches.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/switches.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/switches.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/switches.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/test-harness-compat.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/test-harness-compat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/test-harness-compat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/test-harness-compat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/compat/version.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/compat/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/compat/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/compat/version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/console.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/console.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/console.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/console.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/data/catme.1
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/data/catme.1	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/data/catme.1	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/data/catme.1
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/data/proverc
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/data/proverc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/data/proverc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/data/proverc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/data/sample.yml
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/data/sample.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/data/sample.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/data/sample.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/errors.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/errors.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/errors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/file.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/glob-to-regexp.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/glob-to-regexp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/glob-to-regexp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/glob-to-regexp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/grammar.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/grammar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/grammar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/grammar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/harness-bailout.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/harness-bailout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/harness-bailout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/harness-bailout.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/harness-subclass.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/harness-subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/harness-subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/harness-subclass.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/t/harness.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/harness.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/harness.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 my $source_tests = 't/source_tests';
 my $sample_tests = 't/sample-tests';
 
-plan tests => 128;
+plan tests => 132;
 
 # note that this test will always pass when run through 'prove'
 ok $ENV{HARNESS_ACTIVE},  'HARNESS_ACTIVE env variable should be set';
@@ -876,57 +876,86 @@
 
 # coverage tests for the stdout key of VALIDATON_FOR, used by _initialize() in the ctor
 
-    # the coverage tests are
-    # 1. ref $ref => false
-    # 2. ref => ! GLOB and ref->can(print)
-    # 3. ref $ref => GLOB
+    {
 
-    # case 1
+        # ref $ref => false
+        my @die;
 
-    my @die;
+        eval {
+            local $SIG{__DIE__} = sub { push @die, @_ };
 
-    eval {
-        local $SIG{__DIE__} = sub { push @die, @_ };
+            my $harness = TAP::Harness->new(
+                {   stdout => bless {}, '0',    # how evil is THAT !!!
+                }
+            );
+        };
 
+        is @die, 1, 'bad filehandle to stdout';
+        like pop @die, qr/option 'stdout' needs a filehandle/,
+          '... and we died as expected';
+    }
+
+    {
+
+        # ref => ! GLOB and ref->can(print)
+
+        package Printable;
+
+        sub new { return bless {}, shift }
+
+        sub print {return}
+
+        package main;
+
         my $harness = TAP::Harness->new(
-            {   stdout => bless {}, '0',    # how evil is THAT !!!
+            {   stdout => Printable->new(),
             }
         );
-    };
 
-    is @die, 1, 'bad filehandle to stdout';
-    like pop @die, qr/option 'stdout' needs a filehandle/,
-      '... and we died as expected';
+        isa_ok $harness, 'TAP::Harness';
+    }
 
-    # case 2
+    {
 
-    @die = ();
+        # ref $ref => GLOB
 
-    package Printable;
+        my $harness = TAP::Harness->new(
+            {   stdout => bless {}, 'GLOB',    # again with the evil
+            }
+        );
 
-    sub new { return bless {}, shift }
+        isa_ok $harness, 'TAP::Harness';
+    }
 
-    sub print {return}
+    {
 
-    package main;
+        # bare glob
 
-    my $harness = TAP::Harness->new(
-        {   stdout => Printable->new(),
-        }
-    );
+        my $harness = TAP::Harness->new( { stdout => *STDOUT } );
 
-    isa_ok $harness, 'TAP::Harness';
+        isa_ok $harness, 'TAP::Harness';
+    }
 
-    # case 3
+    {
 
-    @die = ();
+        # string filehandle
 
-    $harness = TAP::Harness->new(
-        {   stdout => bless {}, 'GLOB',    # again with the evil
-        }
-    );
+        my $string = '';
+        open my $fh, ">", \$string or die $!;
+        my $harness = TAP::Harness->new( { stdout => $fh } );
 
-    isa_ok $harness, 'TAP::Harness';
+        isa_ok $harness, 'TAP::Harness';
+    }
+
+    {
+
+        # lexical filehandle reference
+
+        my $string = '';
+        open my $fh, ">", \$string or die $!;
+        ok !eval { TAP::Harness->new( { stdout => \$fh } ); };
+        like $@, qr/^option 'stdout' needs a filehandle /;
+    }
 }
 
 {


Property changes on: vendor/perl/dist/cpan/Test-Harness/t/harness.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/iterator_factory.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/iterators.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/iterators.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/iterators.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/iterators.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/Dev/Null.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/Dev/Null.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/Dev/Null.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/Dev/Null.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/EmptyParser.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/EmptyParser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/EmptyParser.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/EmptyParser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/IO/c55Capture.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/IO/c55Capture.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/IO/c55Capture.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/IO/c55Capture.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/MyCustom.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MyCustom.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MyCustom.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/MyCustom.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/MyFileSourceHandler.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/MyGrammar.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MyGrammar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MyGrammar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/MyGrammar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/MyIterator.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MyIterator.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MyIterator.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/MyIterator.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/MyPerlSourceHandler.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MyPerlSourceHandler.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MyPerlSourceHandler.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/MyPerlSourceHandler.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/MyResult.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MyResult.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MyResult.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/MyResult.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/MyResultFactory.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MyResultFactory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MyResultFactory.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/MyResultFactory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/MySourceHandler.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/MySourceHandler.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/MySourceHandler.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/MySourceHandler.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/NOP.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/NOP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/NOP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/NOP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/NoFork.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/NoFork.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/NoFork.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/NoFork.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Harness/TestSubclass.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Harness/TestSubclass.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Harness/TestSubclass.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Harness/TestSubclass.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/multiplexer.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/multiplexer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/multiplexer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/multiplexer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/nested.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/nested.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/nested.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/nested.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/nofork-mux.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/nofork.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/nofork.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/nofork.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/nofork.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/object.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/object.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/object.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/object.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/parse.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/parse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/parse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/parse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/parser-config.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/parser-config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/parser-config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/parser-config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/parser-subclass.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/parser-subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/parser-subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/parser-subclass.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/perl5lib.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/perl5lib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/perl5lib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/perl5lib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/premature-bailout.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/premature-bailout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/premature-bailout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/premature-bailout.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/process.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/process.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/process.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/process.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/t/prove.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/prove.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/prove.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1086,10 +1086,10 @@
         },
 
         # Specify an oddball extension
-        {   name => 'Switch --ext=.wango',
-            switches => [ '--ext=.wango' ],
-            expect => { extensions => ['.wango'] },
-            runlog => [
+        {   name     => 'Switch --ext=.wango',
+            switches => ['--ext=.wango'],
+            expect   => { extensions => ['.wango'] },
+            runlog   => [
                 [   '_runtests',
                     {   verbosity  => 0,
                         show_count => 1,
@@ -1100,10 +1100,10 @@
         },
 
         # Handle multiple extensions
-        {   name => 'Switch --ext=.foo --ext=.bar',
+        {   name     => 'Switch --ext=.foo --ext=.bar',
             switches => [ '--ext=.foo', '--ext=.bar', ],
-            expect => { extensions => ['.foo','.bar'] },
-            runlog => [
+            expect   => { extensions => [ '.foo', '.bar' ] },
+            runlog   => [
                 [   '_runtests',
                     {   verbosity  => 0,
                         show_count => 1,
@@ -1157,10 +1157,10 @@
                 sources => {
                     Perl     => { foo => 'bar baz', avg => 0.278 },
                     MyCustom => {},
-                    File => {
+                    File     => {
                         extensions => [ '.txt', '.tmp' ],
-                        hash => { this => 'that', foo => 'bar'},
-                        sep => 'foo=bar',
+                        hash => { this => 'that', foo => 'bar' },
+                        sep  => 'foo=bar',
                     },
                 },
             },
@@ -1169,10 +1169,10 @@
                     {   sources => {
                             Perl     => { foo => 'bar baz', avg => 0.278 },
                             MyCustom => {},
-                            File => {
+                            File     => {
                                 extensions => [ '.txt', '.tmp' ],
-                                hash => { this => 'that', foo => 'bar'},
-                                sep => 'foo=bar',
+                                hash => { this => 'that', foo => 'bar' },
+                                sep  => 'foo=bar',
                             },
                         },
                         verbosity  => 0,


Property changes on: vendor/perl/dist/cpan/Test-Harness/t/prove.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/proveenv.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/proveenv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/proveenv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/proveenv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/proverc/emptyexec
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/proverc/emptyexec	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/proverc/emptyexec	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/proverc/emptyexec
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/proverc.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/proverc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/proverc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/proverc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/proverun.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/proverun.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/proverun.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/proverun.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/proveversion.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/proveversion.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/proveversion.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/proveversion.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/regression.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/regression.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/regression.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/regression.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/results.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/results.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/results.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/results.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bailout
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bailout	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bailout	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bailout
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum_many
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum_many	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum_many	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/bignum_many
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined_compat
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined_compat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined_compat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/combined_compat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/delayed
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/delayed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/delayed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/delayed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive_trailing
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive_trailing	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive_trailing	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/descriptive_trailing
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_head_end
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_head_end	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_head_end	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_head_end
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_last_minute
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_last_minute	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_last_minute	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_last_minute
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_unfinished
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_unfinished	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_unfinished	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/die_unfinished
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/duplicates
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/duplicates	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/duplicates	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/duplicates
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/echo
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/echo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/echo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/echo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/empty
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/empty	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/empty	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/empty
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_eol
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_eol	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_eol	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_eol
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_hash
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_hash	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_hash	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/escape_hash
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_end
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_end	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_end	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_end
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_fail
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_fail	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_fail	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/head_fail
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/inc_taint
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/inc_taint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/inc_taint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/inc_taint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/junk_before_plan
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/junk_before_plan	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/junk_before_plan	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/junk_before_plan
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/lone_not_bug
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/lone_not_bug	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/lone_not_bug	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/lone_not_bug
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_nums
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_nums	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_nums	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_nums
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_output
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_output	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_output	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/no_output
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_err_mix
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_err_mix	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_err_mix	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_err_mix
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_of_order
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_of_order	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_of_order	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/out_of_order
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern-todo-quiet
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern-todo-quiet	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern-todo-quiet	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/schwern-todo-quiet
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/segfault
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/segfault	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/segfault	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/segfault
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/sequence_misparse
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/sequence_misparse	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/sequence_misparse	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/sequence_misparse
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/shbang_misparse
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/shbang_misparse	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/shbang_misparse	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/shbang_misparse
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_fail
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_fail	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_fail	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_fail
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml_missing_version13
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml_missing_version13	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml_missing_version13	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/simple_yaml_missing_version13
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip_nomsg
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip_nomsg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip_nomsg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skip_nomsg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_nomsg
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_nomsg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_nomsg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_nomsg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_v13
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_v13	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_v13	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/skipall_v13
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/space_after_plan
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/stdout_stderr
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/stdout_stderr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/stdout_stderr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/stdout_stderr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/strict
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/strict	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/strict	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/strict
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/switches
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/switches	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/switches	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/switches
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint_warn
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint_warn	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint_warn	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/taint_warn
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_inline
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_inline	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_inline	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_inline
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_misparse
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_misparse	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_misparse	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/todo_misparse
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/too_many
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/too_many	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/too_many	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/too_many
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_good
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_good	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_good	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_good
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_late
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_late	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_late	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_late
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_old
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_old	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_old	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/version_old
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/vms_nit
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/vms_nit	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/vms_nit	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/vms_nit
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/with_comments
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/with_comments	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/with_comments	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/with_comments
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/yaml_late_plan
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/yaml_late_plan	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/yaml_late_plan	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/yaml_late_plan
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/zero_valid
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/sample-tests/zero_valid	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/sample-tests/zero_valid	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/sample-tests/zero_valid
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/scheduler.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/scheduler.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/scheduler.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/scheduler.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/t/source.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -170,10 +170,11 @@
             is_dir     => 0,
             is_file    => 1,
             is_symlink => 0,
+
             # Fix for bizarre -k bug in Strawberry Perl
-            sticky     => ( -k $test )[-1] ? 1 : 0,
-            setgid     => -g $test ? 1 : 0,
-            setuid     => -u $test ? 1 : 0,
+            sticky => ( -k $test )[-1] ? 1 : 0,
+            setgid => -g $test         ? 1 : 0,
+            setuid => -u $test         ? 1 : 0,
         },
         '... file->* set'
     );


Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Harness/t/source_handler.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_handler.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_handler.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,7 +28,7 @@
 
 my %file = map { $_ => File::Spec->catfile( $dir, $_ ) }
   qw( source source.1 source.bat source.pl source.sh source_args.sh source.t
-      source.tap );
+  source.tap );
 
 # Abstract base class tests
 {
@@ -110,7 +110,7 @@
             },
             {   name        => $file{'source_args.sh'},
                 raw         => { exec => [ $file{'source_args.sh'} ] },
-                test_args   => [ 'foo' ],
+                test_args   => ['foo'],
                 skip        => $HAS_SH && $HAS_ECHO ? 0 : 1,
                 skip_reason => 'no /bin/sh, /bin/echo',
                 iclass      => 'TAP::Parser::Iterator::Process',
@@ -357,11 +357,11 @@
             skip $test->{skip_reason}, $planned if $test->{skip};
 
             my $source = TAP::Parser::Source->new;
-            $source->raw( $test->{raw} )       if $test->{raw};
+            $source->raw( $test->{raw} )             if $test->{raw};
             $source->test_args( $test->{test_args} ) if $test->{test_args};
-            $source->meta( $test->{meta} )     if $test->{meta};
-            $source->config( $test->{config} ) if $test->{config};
-            $source->assemble_meta             if $test->{assemble_meta};
+            $source->meta( $test->{meta} )           if $test->{meta};
+            $source->config( $test->{config} )       if $test->{config};
+            $source->assemble_meta if $test->{assemble_meta};
 
             my $iterator = eval { $class->make_iterator($source) };
             my $e = $@;


Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_handler.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_badtap
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_badtap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_badtap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_badtap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_complain
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_complain	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_complain	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_complain
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_directives
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_directives	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_directives	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_directives
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_failure
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_failure	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_failure	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/harness_failure
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/psql.bat
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/psql.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/psql.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/psql.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/source	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/source	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.1
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.1	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.1	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.1
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.bat
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.pl
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.sh
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.tap
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.tap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.tap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source.tap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source_args.sh
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/source_tests/source_args.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/source_tests/source_args.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/source_tests/source_args.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/spool.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/spool.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/spool.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/spool.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/state.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/state.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/state.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/state.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/state_results.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/state_results.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/state_results.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/state_results.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/streams.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/streams.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/streams.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/streams.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/non_perl_source
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/non_perl_source	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/non_perl_source	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/non_perl_source
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/perl_source
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/perl_source	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/perl_source	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/subclass_tests/perl_source
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/taint.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/testargs.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/testargs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/testargs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/testargs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/unicode.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/unicode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/unicode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/utils.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/utils.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/utils.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/utils.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/yamlish-output.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/yamlish-output.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/yamlish-output.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/yamlish-output.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/yamlish-writer.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/yamlish-writer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/yamlish-writer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/yamlish-writer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Harness/t/yamlish.t
===================================================================
--- vendor/perl/dist/cpan/Test-Harness/t/yamlish.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Harness/t/yamlish.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Harness/t/yamlish.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/Changes
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/README
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/TODO
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/examples/indent.pl
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/examples/indent.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/examples/indent.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/examples/indent.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/examples/subtest.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/examples/subtest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/examples/subtest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/examples/subtest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester/Color.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder/Tester.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/lib/Test/Builder.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/lib/Test/More.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/lib/Test/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/lib/Test/Tutorial.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/00test_harness_check.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/00test_harness_check.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/00test_harness_check.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/00test_harness_check.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/BEGIN_require_ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/BEGIN_require_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/BEGIN_require_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/BEGIN_require_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/BEGIN_use_ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/BEGIN_use_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/BEGIN_use_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/BEGIN_use_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/Builder.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/Builder.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/Builder.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/Builder.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/carp.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/carp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/carp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/carp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/create.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/create.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/create.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/create.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test_without_plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test_without_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test_without_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/current_test_without_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/details.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/details.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/details.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/details.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_double.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_double.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_double.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_double.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_plan_mismatch.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_plan_mismatch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_plan_mismatch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_plan_mismatch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_no_plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_no_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_no_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_no_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_number.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_number.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_number.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_number.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/done_testing_with_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/fork_with_new_stdout.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/fork_with_new_stdout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/fork_with_new_stdout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/fork_with_new_stdout.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan2.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/has_plan2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/is_fh.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/is_fh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/is_fh.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/is_fh.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/is_passing.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/is_passing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/is_passing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/is_passing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/maybe_regex.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/maybe_regex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/maybe_regex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/maybe_regex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/no_diag.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/no_diag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/no_diag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/no_diag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/no_ending.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/no_ending.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/no_ending.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/no_ending.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/no_header.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/no_header.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/no_header.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/no_header.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/no_plan_at_all.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/no_plan_at_all.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/no_plan_at_all.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/no_plan_at_all.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/ok_obj.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/ok_obj.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/ok_obj.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/ok_obj.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/output.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/output.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/output.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/output.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/reset.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/reset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/reset.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/reset.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Builder/try.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Builder/try.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Builder/try.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Builder/try.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/More.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/More.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/More.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/More.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Simple/load.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Simple/load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Simple/load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Simple/load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_01basic.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_01basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_01basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_01basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_02fhrestore.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_02fhrestore.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_02fhrestore.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_02fhrestore.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_03die.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_03die.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_03die.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_03die.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_04line_num.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_04line_num.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_04line_num.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_04line_num.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_05faildiag.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_05faildiag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_05faildiag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_05faildiag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_06errormess.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_06errormess.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_06errormess.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_06errormess.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_07args.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_07args.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_07args.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/Tester/tbt_07args.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/bad_plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/bad_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/bad_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/bad_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/bail_out.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/bail_out.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/bail_out.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/bail_out.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/buffer.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/buffer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/buffer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/buffer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/c_flag.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/c_flag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/c_flag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/c_flag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/circular_data.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/circular_data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/circular_data.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/circular_data.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/cmp_ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/cmp_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/cmp_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/cmp_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/dependents.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/dependents.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/dependents.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/dependents.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/diag.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/diag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/diag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/diag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/died.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/died.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/died.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/died.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/dont_overwrite_die_handler.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/dont_overwrite_die_handler.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/dont_overwrite_die_handler.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/dont_overwrite_die_handler.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/eq_set.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/eq_set.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/eq_set.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/eq_set.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/exit.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/exit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/exit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/explain.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/explain.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/explain.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/explain.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/extra.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/extra.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/extra.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/extra.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/extra_one.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/extra_one.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/extra_one.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/extra_one.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/fail-like.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/fail-like.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/fail-like.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/fail-like.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Test-Simple/t/fail-more.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/fail-more.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/fail-more.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -248,22 +248,22 @@
 
 #line 248
 isa_ok(42,    "Wibble", "My Wibble");
-out_ok( <<OUT, <<ERR );
+out_like( <<OUT, <<ERR );
 not ok - My Wibble isa Wibble
 OUT
 #   Failed test 'My Wibble isa Wibble'
 #   at $0 line 248.
-#     My Wibble isn't a class or reference
+#     My Wibble isn't a .*
 ERR
 
 #line 248
 isa_ok(42,    "Wibble");
-out_ok( <<OUT, <<ERR );
-not ok - The thing isa Wibble
+out_like( <<OUT, <<ERR );
+not ok - The (thing|class) isa Wibble
 OUT
-#   Failed test 'The thing isa Wibble'
+#   Failed test 'The (thing|class) isa Wibble'
 #   at $0 line 248.
-#     The thing isn't a class or reference
+#     The (thing|class) isn't a .*
 ERR
 
 #line 258


Property changes on: vendor/perl/dist/cpan/Test-Simple/t/fail-more.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/fail.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/fail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/fail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/fail_one.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/fail_one.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/fail_one.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/fail_one.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/filehandles.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/filehandles.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/filehandles.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/filehandles.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/fork.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/fork.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/fork.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/fork.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/harness_active.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/harness_active.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/harness_active.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/harness_active.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/import.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/import.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/import.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/import.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/is_deeply_dne_bug.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/is_deeply_dne_bug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/is_deeply_dne_bug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/is_deeply_dne_bug.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/is_deeply_fail.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/is_deeply_fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/is_deeply_fail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/is_deeply_fail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/is_deeply_with_threads.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/is_deeply_with_threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/is_deeply_with_threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/is_deeply_with_threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Dev/Null.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Dev/Null.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Dev/Null.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Dev/Null.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Dummy.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/MyOverload.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/MyOverload.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/MyOverload.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/MyOverload.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/NoExporter.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/NoExporter.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/NoExporter.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/NoExporter.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/SigDie.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/SigDie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/SigDie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/SigDie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Builder/NoOutput.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/Catch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_in_eval.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_in_eval.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_in_eval.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_in_eval.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_with_handler.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_with_handler.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_with_handler.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/death_with_handler.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/exit.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/exit.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/exit.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/exit.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/extras.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/extras.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/extras.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/extras.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/five_fail.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/five_fail.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/five_fail.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/five_fail.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/last_minute_death.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/last_minute_death.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/last_minute_death.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/last_minute_death.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/one_fail.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/one_fail.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/one_fail.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/one_fail.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/pre_plan_death.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/pre_plan_death.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/pre_plan_death.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/pre_plan_death.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/require.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/require.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/require.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/require.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/success.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/success.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/success.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/success.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few_fail.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few_fail.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few_fail.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/too_few_fail.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/two_fail.plx
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/two_fail.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/two_fail.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/Test/Simple/sample_tests/two_fail.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/lib/TieOut.pm
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/lib/TieOut.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/lib/TieOut.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/lib/TieOut.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/missing.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/missing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/missing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/missing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/new_ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/new_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/new_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/new_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/no_plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/no_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/no_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/no_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/no_tests.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/no_tests.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/no_tests.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/no_tests.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/note.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/note.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/note.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/note.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/overload.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/overload_threads.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/overload_threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/overload_threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/overload_threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/plan_bad.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/plan_bad.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/plan_bad.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/plan_bad.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/plan_is_noplan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/plan_is_noplan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/plan_is_noplan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/plan_is_noplan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/plan_no_plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/plan_no_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/plan_no_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/plan_no_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/plan_shouldnt_import.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/plan_shouldnt_import.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/plan_shouldnt_import.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/plan_shouldnt_import.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/plan_skip_all.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/plan_skip_all.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/plan_skip_all.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/plan_skip_all.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/require_ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/require_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/require_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/require_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/simple.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/simple.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/skip.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/skip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/skip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/skip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/skipall.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/skipall.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/skipall.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/skipall.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/args.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/args.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/args.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/args.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/basic.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/die.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/die.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/die.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/die.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/do.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/do.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/do.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/do.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/exceptions.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/exceptions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/exceptions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/exceptions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/for_do_t.test
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/for_do_t.test	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/for_do_t.test	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/for_do_t.test
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/fork.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/fork.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/fork.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/fork.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/implicit_done.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/implicit_done.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/implicit_done.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/implicit_done.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/line_numbers.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/line_numbers.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/line_numbers.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/line_numbers.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/plan.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/predicate.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/predicate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/predicate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/predicate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/singleton.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/singleton.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/singleton.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/singleton.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/todo.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/todo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/todo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/todo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/subtest/wstat.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/subtest/wstat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/subtest/wstat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/subtest/wstat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/tbm_doesnt_set_exported_to.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/tbm_doesnt_set_exported_to.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/tbm_doesnt_set_exported_to.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/tbm_doesnt_set_exported_to.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/thread_taint.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/thread_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/thread_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/thread_taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/threads.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/todo.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/todo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/todo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/todo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/undef.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/undef.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/undef.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/undef.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/use_ok.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/use_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/use_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/use_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/useing.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/useing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/useing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/useing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/utf8.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Test-Simple/t/versions.t
===================================================================
--- vendor/perl/dist/cpan/Test-Simple/t/versions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Test-Simple/t/versions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Test-Simple/t/versions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/Changes
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/README
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/lib/Text/Balanced.pm
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/lib/Text/Balanced.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/lib/Text/Balanced.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/lib/Text/Balanced.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/01_compile.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/01_compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/01_compile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/01_compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/02_extbrk.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/02_extbrk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/02_extbrk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/02_extbrk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/03_extcbk.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/03_extcbk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/03_extcbk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/03_extcbk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/04_extdel.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/04_extdel.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/04_extdel.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/04_extdel.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/05_extmul.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/05_extmul.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/05_extmul.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/05_extmul.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/06_extqlk.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/06_extqlk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/06_extqlk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/06_extqlk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/07_exttag.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/07_exttag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/07_exttag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/07_exttag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/08_extvar.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/08_extvar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/08_extvar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/08_extvar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Balanced/t/09_gentag.t
===================================================================
--- vendor/perl/dist/cpan/Text-Balanced/t/09_gentag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Balanced/t/09_gentag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Balanced/t/09_gentag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-ParseWords/lib/Text/ParseWords.pm
===================================================================
--- vendor/perl/dist/cpan/Text-ParseWords/lib/Text/ParseWords.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-ParseWords/lib/Text/ParseWords.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 require 5.006;
-our $VERSION = "3.27";
+our $VERSION = "3.28";
 
 
 use Exporter;
@@ -274,6 +274,10 @@
 with C<shellwords(q{this   is...})>
 is a simpler way to accomplish the same thing.
 
+=head1 SEE ALSO
+
+L<Text::CSV> - for parsing CSV files
+
 =head1 AUTHORS
 
 Maintainer: Alexandr Ciornii <alexchornyATgmail.com>.


Property changes on: vendor/perl/dist/cpan/Text-ParseWords/lib/Text/ParseWords.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-ParseWords/t/ParseWords.t
===================================================================
--- vendor/perl/dist/cpan/Text-ParseWords/t/ParseWords.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-ParseWords/t/ParseWords.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-ParseWords/t/ParseWords.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-ParseWords/t/taint.t
===================================================================
--- vendor/perl/dist/cpan/Text-ParseWords/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-ParseWords/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-ParseWords/t/taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Soundex/Changes
===================================================================
--- vendor/perl/dist/cpan/Text-Soundex/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Soundex/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,10 @@
 Revision history for Perl extension Text::Soundex.
 
+3.04  Thu Feb  7 15:53:09 EST 2013 <rjbs at cpan.org>
+
+The module is going to be removed from the core distribution of perl, and will
+now warn (under warnings) if loaded from its installed-to-core location.
+
 3.02  Sun Feb 02 02:54:00 EST 2003 <mark at mielke.cc>
 
 The U8 type was over-used in 3.00 and 3.01. Now, "U8 *" is used only as a


Property changes on: vendor/perl/dist/cpan/Text-Soundex/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Soundex/README
===================================================================
--- vendor/perl/dist/cpan/Text-Soundex/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Soundex/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Soundex/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Soundex/Soundex.pm
===================================================================
--- vendor/perl/dist/cpan/Text-Soundex/Soundex.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Soundex/Soundex.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,9 @@
 
 use strict;
 
-our $VERSION   = '3.03_01';
+use if $] > 5.016, 'deprecate';
+
+our $VERSION   = '3.04';
 our @EXPORT_OK = qw(soundex soundex_unicode soundex_nara soundex_nara_unicode
                     $soundex_nocode);
 our @EXPORT    = qw(soundex soundex_nara $soundex_nocode);


Property changes on: vendor/perl/dist/cpan/Text-Soundex/Soundex.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Soundex/Soundex.xs
===================================================================
--- vendor/perl/dist/cpan/Text-Soundex/Soundex.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Soundex/Soundex.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -79,7 +79,7 @@
   sv_soundex_table['r'] = '6';
 }
 
-static SV *sv_soundex (SV *source)
+static SV *sv_soundex (SV* source)
 {
   char *source_p;
   char *source_end;


Property changes on: vendor/perl/dist/cpan/Text-Soundex/Soundex.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Soundex/t/Soundex.t
===================================================================
--- vendor/perl/dist/cpan/Text-Soundex/t/Soundex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Soundex/t/Soundex.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 #!./perl
 #
-# $Id: Soundex.t,v 1.1.1.1 2011-05-18 13:33:28 laffer1 Exp $
+# $Id: soundex.t,v 1.2 1994/03/24 00:30:27 mike Exp $
 #
 # test module for soundex.pl
 #
-# $Log: not supported by cvs2svn $
+# $Log: soundex.t,v $
 # Revision 1.2  1994/03/24  00:30:27  mike
 # Subtle bug (any excuse :-) spotted by Rich Pinder <rpinder at hsc.usc.edu>
 # in the way I handles leasing characters which were different but had


Property changes on: vendor/perl/dist/cpan/Text-Soundex/t/Soundex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Tabs/CHANGELOG
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/CHANGELOG	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/CHANGELOG	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,22 @@
 
+= 2012/08/18
+
+Packaging fix.
+
+Minor documentation fixes.
+
+= 2012/08/15
+
+Minor fixes to test suites.
+
+Added back versions to support old versions of perl.
+
+= 2009/04/17
+
+Added support for Unicode combining characters to both 
+Text::Tabs and Text::Wrap, plus a new test suite for each
+of these new functionalities.  --tchrist
+
 = 2009/03/05
 
 Test improvements from Dave Mitchel sent back in 2005...


Property changes on: vendor/perl/dist/cpan/Text-Tabs/CHANGELOG
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Tabs/lib/Text/Tabs.pm
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/lib/Text/Tabs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/lib/Text/Tabs.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,16 +6,24 @@
 @ISA = (Exporter);
 @EXPORT = qw(expand unexpand $tabstop);
 
-use vars qw($VERSION $tabstop $debug);
-$VERSION = 2009.0305;
+use vars qw($VERSION $SUBVERSION $tabstop $debug);
+$VERSION = 2012.0818;
+$SUBVERSION = 'modern';
 
 use strict;
 
+use 5.010_000;
+
 BEGIN	{
 	$tabstop = 8;
 	$debug = 0;
 }
 
+my $CHUNK = qr/\X/;
+
+sub _xlen (_) { scalar(() = $_[0] =~ /$CHUNK/g) } 
+sub _xpos (_) { _xlen( substr( $_[0], 0, pos($_[0]) ) ) }
+
 sub expand {
 	my @l;
 	my $pad;
@@ -24,10 +32,13 @@
 		for (split(/^/m, $_, -1)) {
 			my $offs = 0;
 			s{\t}{
-				$pad = $tabstop - (pos() + $offs) % $tabstop;
+			    # this works on both 5.10 and 5.11
+				$pad = $tabstop - (_xlen(${^PREMATCH}) + $offs) % $tabstop;
+			    # this works on 5.11, but fails on 5.10
+				#XXX# $pad = $tabstop - (_xpos() + $offs) % $tabstop;
 				$offs += $pad - 1;
 				" " x $pad;
-			}eg;
+			}peg;
 			$s .= $_;
 		}
 		push(@l, $s);
@@ -44,12 +55,12 @@
 	my $line;
 	my @lines;
 	my $lastbit;
-	my $ts_as_space = " "x$tabstop;
+	my $ts_as_space = " " x $tabstop;
 	for $x (@l) {
 		@lines = split("\n", $x, -1);
 		for $line (@lines) {
 			$line = expand($line);
-			@e = split(/(.{$tabstop})/,$line,-1);
+			@e = split(/(${CHUNK}{$tabstop})/,$line,-1);
 			$lastbit = pop(@e);
 			$lastbit = '' 
 				unless defined $lastbit;
@@ -91,7 +102,7 @@
 
 =head1 NAME
 
-Text::Tabs -- expand and unexpand tabs per the unix expand(1) and unexpand(1)
+Text::Tabs - expand and unexpand tabs like unix expand(1) and unexpand(1)
 
 =head1 SYNOPSIS
 
@@ -103,12 +114,39 @@
 
 =head1 DESCRIPTION
 
-Text::Tabs does about what the unix utilities expand(1) and unexpand(1) 
-do.  Given a line with tabs in it, expand will replace the tabs with
+Text::Tabs does most of what the unix utilities expand(1) and unexpand(1) 
+do.  Given a line with tabs in it, C<expand> replaces those tabs with
 the appropriate number of spaces.  Given a line with or without tabs in
-it, unexpand will add tabs when it can save bytes by doing so (just
-like C<unexpand -a>).  Invisible compression with plain ASCII! 
+it, C<unexpand> adds tabs when it can save bytes by doing so, 
+like the C<unexpand -a> command.  
 
+Unlike the old unix utilities, this module correctly accounts for
+any Unicode combining characters (such as diacriticals) that may occur
+in each line for both expansion and unexpansion.  These are overstrike
+characters that do not increment the logical position.  Make sure
+you have the appropriate Unicode settings enabled.
+
+=head1 EXPORTS
+
+The following are exported:
+
+=over 4
+
+=item expand
+
+=item unexpand
+
+=item $tabstop
+
+The C<$tabstop> variable controls how many column positions apart each
+tabstop is.  The default is 8.
+
+Please note that C<local($tabstop)> doesn't do the right thing and if you want
+to use C<local> to override C<$tabstop>, you need to use
+C<local($Text::Tabs::tabstop)>.
+
+=back
+
 =head1 EXAMPLE
 
   #!perl
@@ -119,18 +157,36 @@
     print unexpand $_;
   }
 
-Instead of the C<expand> comand, use:
+Instead of the shell's C<expand> comand, use:
 
   perl -MText::Tabs -n -e 'print expand $_'
 
-Instead of the C<unexpand -a> command, use:
+Instead of the shell's C<unexpand -a> command, use:
 
   perl -MText::Tabs -n -e 'print unexpand $_'
 
+=head1 SUBVERSION
+
+This module comes in two flavors: one for modern perls (5.10 and above)
+and one for ancient obsolete perls.  The version for modern perls has
+support for Unicode.  The version for old perls does not.  You can tell
+which version you have installed by looking at C<$Text::Tabs::SUBVERSION>:
+it is C<old> for obsolete perls and C<modern> for current perls.
+
+This man page is for the version for modern perls and so that's probably
+what you've got.
+
+=head1 BUGS
+
+Text::Tabs handles only tabs (C<"\t">) and combining characters (C</\pM/>).  It doesn't
+count backwards for backspaces (C<"\t">), omit other non-printing control characters (C</\pC/>),
+or otherwise deal with any other zero-, half-, and full-width characters.
+
 =head1 LICENSE
 
 Copyright (C) 1996-2002,2005,2006 David Muir Sharnoff.  
 Copyright (C) 2005 Aristotle Pagaltzis 
+Copyright (C) 2012 Google, Inc.
 This module may be modified, used, copied, and redistributed at your own risk.
 Publicly redistributed modified versions must use a different name.
 


Property changes on: vendor/perl/dist/cpan/Text-Tabs/lib/Text/Tabs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Tabs/lib/Text/Wrap.pm
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/lib/Text/Wrap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/lib/Text/Wrap.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,16 +7,18 @@
 @EXPORT = qw(wrap fill);
 @EXPORT_OK = qw($columns $break $huge);
 
-$VERSION = 2009.0305;
+$VERSION = 2012.0818;
+$SUBVERSION = 'modern';
 
-use vars qw($VERSION $columns $debug $break $huge $unexpand $tabstop
-	$separator $separator2);
+use 5.010_000;
+
+use vars qw($VERSION $SUBVERSION $columns $debug $break $huge $unexpand $tabstop $separator $separator2);
 use strict;
 
 BEGIN	{
 	$columns = 76;  # <= screen width
 	$debug = 0;
-	$break = '\s';
+	$break = '(?=\s)\X';
 	$huge = 'wrap'; # alternatively: 'die' or 'overflow'
 	$unexpand = 1;
 	$tabstop = 8;
@@ -24,6 +26,12 @@
 	$separator2 = undef;
 }
 
+my $CHUNK = qr/\X/;
+
+sub _xlen(_) { scalar(() = $_[0] =~ /$CHUNK/g) }
+
+sub _xpos(_) { _xlen( substr( $_[0], 0, pos($_[0]) ) ) }
+
 use Text::Tabs qw(expand unexpand);
 
 sub wrap
@@ -35,14 +43,14 @@
 	my $tail = pop(@t);
 	my $t = expand(join("", (map { /\s+\z/ ? ( $_ ) : ($_, ' ') } @t), $tail));
 	my $lead = $ip;
-	my $nll = $columns - length(expand($xp)) - 1;
+	my $nll = $columns - _xlen(expand($xp)) - 1;
 	if ($nll <= 0 && $xp ne '') {
-		my $nc = length(expand($xp)) + 2;
+		my $nc = _xlen(expand($xp)) + 2;
 		warnings::warnif "Increasing \$Text::Wrap::columns from $columns to $nc to accommodate length of subsequent tab";
 		$columns = $nc;
 		$nll = 1;
 	}
-	my $ll = $columns - length(expand($ip)) - 1;
+	my $ll = $columns - _xlen(expand($ip)) - 1;
 	$ll = 0 if $ll < 0;
 	my $nl = "";
 	my $remainder = "";
@@ -51,17 +59,17 @@
 
 	pos($t) = 0;
 	while ($t !~ /\G(?:$break)*\Z/gc) {
-		if ($t =~ /\G([^\n]{0,$ll})($break|\n+|\z)/xmgc) {
+		if ($t =~ /\G((?:(?=[^\n])\X){0,$ll})($break|\n+|\z)/xmgc) {
 			$r .= $unexpand 
 				? unexpand($nl . $lead . $1)
 				: $nl . $lead . $1;
 			$remainder = $2;
-		} elsif ($huge eq 'wrap' && $t =~ /\G([^\n]{$ll})/gc) {
+		} elsif ($huge eq 'wrap' && $t =~ /\G((?:(?!=[^\n])\X){$ll})/gc) {
 			$r .= $unexpand 
 				? unexpand($nl . $lead . $1)
 				: $nl . $lead . $1;
 			$remainder = defined($separator2) ? $separator2 : $separator;
-		} elsif ($huge eq 'overflow' && $t =~ /\G([^\n]*?)($break|\n+|\z)/xmgc) {
+		} elsif ($huge eq 'overflow' && $t =~ /\G((?:(?=[^\n])\X)*?)($break|\n+|\z)/xmgc) {
 			$r .= $unexpand 
 				? unexpand($nl . $lead . $1)
 				: $nl . $lead . $1;
@@ -90,7 +98,9 @@
 
 	print "Finish up with '$lead'\n" if $debug;
 
-	$r .= $lead . substr($t, pos($t), length($t)-pos($t))
+	my($opos) = pos($t);
+
+	$r .= $lead . substr($t, pos($t), length($t) - pos($t))
 		if pos($t) ne length($t);
 
 	print "-----------$r---------\n" if $debug;;
@@ -150,7 +160,7 @@
 	$huge = 'overflow';
 
 B<Example 3>
-	
+
 	use Text::Wrap;
 
 	$Text::Wrap::columns = 72;
@@ -165,14 +175,23 @@
 C<$initial_tab> and C<$subsequent_tab> are the literal strings that will
 be used: it is unlikely you would want to pass in a number.
 
-Text::Wrap::fill() is a simple multi-paragraph formatter.  It formats
+C<Text::Wrap::fill()> is a simple multi-paragraph formatter.  It formats
 each paragraph separately and then joins them together when it's done.  It
 will destroy any whitespace in the original text.  It breaks text into
-paragraphs by looking for whitespace after a newline.  In other respects
+paragraphs by looking for whitespace after a newline.  In other respects,
 it acts like wrap().
 
+C<wrap()> compresses trailing whitespace into one newline, and C<fill()>
+deletes all trailing whitespace.
+
 Both C<wrap()> and C<fill()> return a single string.
 
+Unlike the old Unix fmt(1) utility, this module correctly accounts for
+any Unicode combining characters (such as diacriticals) that may occur
+in each line for both expansion and unexpansion.  These are overstrike
+characters that do not increment the logical position.  Make sure
+you have the appropriate Unicode settings enabled.
+
 =head1 OVERRIDES
 
 C<Text::Wrap::wrap()> has a number of variables that control its behavior.
@@ -250,16 +269,31 @@
 
   "This is a bit of|text that forms a|normal book-style|paragraph"
 
+=head1 SUBVERSION
+
+This module comes in two flavors: one for modern perls (5.10 and above)
+and one for ancient obsolete perls.  The version for modern perls has
+support for Unicode.  The version for old perls does not.  You can tell
+which version you have installed by looking at C<$Text::Wrap::SUBVERSION>:
+it is C<old> for obsolete perls and C<modern> for current perls.
+
+This man page is for the version for modern perls and so that's probably
+what you've got.
+
 =head1 SEE ALSO
 
-For wrapping multi-byte characters: L<Text::WrapI18N>.
-For more detailed controls: L<Text::Format>.
+For correct handling of East Asian half- and full-width characters, 
+see L<Text::WrapI18N>.  For more detailed controls: L<Text::Format>.
 
+=head1 AUTHOR
+
+David Muir Sharnoff <cpan at dave.sharnoff.org> with help from Tim Pierce and
+many many others.  
+
 =head1 LICENSE
 
-David Muir Sharnoff <muir at idiom.org> with help from Tim Pierce and
-many many others.  Copyright (C) 1996-2009 David Muir Sharnoff.  
-This module may be modified, used, copied, and redistributed at
-your own risk.  Publicly redistributed versions that are modified 
-must use a different name.
+Copyright (C) 1996-2009 David Muir Sharnoff.  
+Copyright (C) 2012 Google, Inc.
+This module may be modified, used, copied, and redistributed at your own risk.
+Publicly redistributed modified versions must use a different name.
 


Property changes on: vendor/perl/dist/cpan/Text-Tabs/lib/Text/Wrap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/37000.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/37000.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/37000.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/37000.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/39548.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/39548.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/39548.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/39548.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Tabs/t/Jacobson.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/Jacobson.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/Jacobson.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 $huge='overflow';
 $Text::Wrap::columns=9;
-$break="(?<=[,.])";
+$break=".(?<=[,.])";
 eval {
 $a=$a=wrap('','',
 "mmmm,n,ooo,ppp.qqqq.rrrrr,sssssssssssss,ttttttttt,uu,vvv wwwwwwwww####\n");


Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/Jacobson.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Text-Tabs/t/Jacobson2.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/Jacobson2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/Jacobson2.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 
 $huge='overflow';
 $Text::Wrap::columns=9;
-$break="(?<=[,.])";
+$break=".(?<=[,.])";
 eval {
 $a=$a=wrap('','',
 "mmmm,n,ooo,ppp.qqqq.rrrrr.adsljasdf\nlasjdflajsdflajsdfljasdfl\nlasjdflasjdflasf,sssssssssssss,ttttttttt,uu,vvv wwwwwwwww####\n");


Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/Jacobson2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/Jochen.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/Jochen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/Jochen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/Jochen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/belg4mit.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/belg4mit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/belg4mit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/belg4mit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/dandv.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/dandv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/dandv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/dandv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/fill.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/fill.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/fill.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/fill.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/sep.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/sep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/sep.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/sep.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/sep2.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/sep2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/sep2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/sep2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/tabs.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/tabs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/tabs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/tabs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/wrap.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/wrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/wrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/wrap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Text-Tabs/t/wrap_separator2.t
===================================================================
--- vendor/perl/dist/cpan/Text-Tabs/t/wrap_separator2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Text-Tabs/t/wrap_separator2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Text-Tabs/t/wrap_separator2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/lib/Tie/File.pm
===================================================================
--- vendor/perl/dist/cpan/Tie-File/lib/Tie/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/lib/Tie/File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/lib/Tie/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/00_version.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/00_version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/00_version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/00_version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/01_gen.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/01_gen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/01_gen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/01_gen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/02_fetchsize.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/02_fetchsize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/02_fetchsize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/02_fetchsize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/03_longfetch.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/03_longfetch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/03_longfetch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/03_longfetch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/04_splice.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/04_splice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/04_splice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/04_splice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/05_size.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/05_size.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/05_size.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/05_size.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/06_fixrec.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/06_fixrec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/06_fixrec.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/06_fixrec.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/07_rv_splice.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/07_rv_splice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/07_rv_splice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/07_rv_splice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/08_ro.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/08_ro.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/08_ro.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/08_ro.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/09_gen_rs.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/09_gen_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/09_gen_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/09_gen_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/10_splice_rs.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/10_splice_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/10_splice_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/10_splice_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/11_rv_splice_rs.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/11_rv_splice_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/11_rv_splice_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/11_rv_splice_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/12_longfetch_rs.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/12_longfetch_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/12_longfetch_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/12_longfetch_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/13_size_rs.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/13_size_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/13_size_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/13_size_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/14_lock.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/14_lock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/14_lock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/14_lock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/15_pushpop.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/15_pushpop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/15_pushpop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/15_pushpop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/16_handle.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/16_handle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/16_handle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/16_handle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/17_misc_meth.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/17_misc_meth.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/17_misc_meth.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/17_misc_meth.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/18_rs_fixrec.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/18_rs_fixrec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/18_rs_fixrec.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/18_rs_fixrec.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/19_cache.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/19_cache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/19_cache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/19_cache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/20_cache_full.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/20_cache_full.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/20_cache_full.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/20_cache_full.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/21_win32.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/21_win32.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/21_win32.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/21_win32.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/22_autochomp.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/22_autochomp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/22_autochomp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/22_autochomp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/23_rv_ac_splice.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/23_rv_ac_splice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/23_rv_ac_splice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/23_rv_ac_splice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/24_cache_loop.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/24_cache_loop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/24_cache_loop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/24_cache_loop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/25_gen_nocache.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/25_gen_nocache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/25_gen_nocache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/25_gen_nocache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/26_twrite.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/26_twrite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/26_twrite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/26_twrite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/27_iwrite.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/27_iwrite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/27_iwrite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/27_iwrite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/28_mtwrite.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/28_mtwrite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/28_mtwrite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/28_mtwrite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/29_downcopy.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/29_downcopy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/29_downcopy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/29_downcopy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/29a_upcopy.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/29a_upcopy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/29a_upcopy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/29a_upcopy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/30_defer.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/30_defer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/30_defer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/30_defer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/31_autodefer.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/31_autodefer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/31_autodefer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/31_autodefer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/32_defer_misc.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/32_defer_misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/32_defer_misc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/32_defer_misc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/33_defer_vs.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/33_defer_vs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/33_defer_vs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/33_defer_vs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/40_abs_cache.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/40_abs_cache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/40_abs_cache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/40_abs_cache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/41_heap.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/41_heap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/41_heap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/41_heap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-File/t/42_offset.t
===================================================================
--- vendor/perl/dist/cpan/Tie-File/t/42_offset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-File/t/42_offset.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-File/t/42_offset.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-RefHash/lib/Tie/RefHash.pm
===================================================================
--- vendor/perl/dist/cpan/Tie-RefHash/lib/Tie/RefHash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-RefHash/lib/Tie/RefHash.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-RefHash/lib/Tie/RefHash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-RefHash/t/rebless.t
===================================================================
--- vendor/perl/dist/cpan/Tie-RefHash/t/rebless.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-RefHash/t/rebless.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-RefHash/t/rebless.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-RefHash/t/refhash.t
===================================================================
--- vendor/perl/dist/cpan/Tie-RefHash/t/refhash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-RefHash/t/refhash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-RefHash/t/refhash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-RefHash/t/storable.t
===================================================================
--- vendor/perl/dist/cpan/Tie-RefHash/t/storable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-RefHash/t/storable.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-RefHash/t/storable.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Tie-RefHash/t/threaded.t
===================================================================
--- vendor/perl/dist/cpan/Tie-RefHash/t/threaded.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Tie-RefHash/t/threaded.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Tie-RefHash/t/threaded.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Time-HiRes/Changes
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,43 @@
 Revision history for the Perl extension Time::HiRes.
 
+1.9725 [2012-02-01]
+	- Correct stack discipline in stat(), which was screwing up list
+	  operations in expressions containing calls to it [rt.cpan.org
+	  #72926].
+	- Add missing OUTPUT sections to the XS code [rt.cpan.org #70930].
+	- Skip itimer tests on GNU/Hurd, which has the API but lacks
+	  the implementation [rt.cpan.org #72754].
+	- Fix a doubled word in the documentation [rt.cpan.org #72763].
+
+1.9724 [2011-06-09]
+	- Correct XS parameter list, and therefore prototype, for
+	  unimplemented-on-this-platform version of clock_nanosleep()
+	  [rt.cpan.org #68700].
+	- Declare package variables with "our" rather than "use vars".
+	- Corresponding to "our" usage, check for minimum Perl version
+	  5.006.
+	- Declare module dependencies.
+
+1.9723 [2011-06-07]
+	- Remove $ENV{PERL_CORE} logic from test suite, which is no
+	  longer desired in the core.
+	- Convert test suite to use Test::More.
+	- Factor out watchdog code from test suite.
+	- In test suite, be consistent about using fully-qualified form
+	  of function names.
+	- Divide test suite into feature-specific scripts.
+	- Make ualarm timing test less vulnerable to delay-induced false
+	  failure, from Dave Mitchell.
+
+1.9722 [2011-05-18]
+	- Update for changes in build process in the core, patches
+	  from BinGOs [rt.cpan.org #58858] and Craig Berry [rt.cpan.org
+	  #63363].
+	- Fix broken linkage on Windows with gcc 3.4 seen with ActivePerl,
+	  report from Christian Walde [rt.cpan.org #61648], fix derived
+	  from Vincent Pit.
+	- Jump through hoops to avoid compiler warnings.
+
 1.9721 [2010-03-17]
 	- Address [rt.cpan.org #54196] alarm and ularm return values are bogus,
 	  additional fix from Gisle Aas


Property changes on: vendor/perl/dist/cpan/Time-HiRes/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Time-HiRes/HiRes.pm
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/HiRes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/HiRes.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,15 @@
 package Time::HiRes;
 
+{ use 5.006; }
 use strict;
-use vars qw($VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK $AUTOLOAD);
 
 require Exporter;
 require DynaLoader;
 
- at ISA = qw(Exporter DynaLoader);
+our @ISA = qw(Exporter DynaLoader);
 
- at EXPORT = qw( );
- at EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
+our @EXPORT = qw( );
+our @EXPORT_OK = qw (usleep sleep ualarm alarm gettimeofday time tv_interval
 		 getitimer setitimer nanosleep clock_gettime clock_getres
 		 clock clock_nanosleep
 		 CLOCK_HIGHRES CLOCK_MONOTONIC CLOCK_PROCESS_CPUTIME_ID
@@ -23,10 +23,11 @@
 		 stat
 		);
 
-$VERSION = '1.9721_01';
-$XS_VERSION = $VERSION;
+our $VERSION = '1.9725';
+our $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
+our $AUTOLOAD;
 sub AUTOLOAD {
     my $constname;
     ($constname = $AUTOLOAD) =~ s/.*:://;
@@ -275,7 +276,7 @@
 B<NOTE 1>: With some combinations of operating systems and Perl
 releases C<SIGALRM> restarts C<select()>, instead of interrupting it.
 This means that an C<alarm()> followed by a C<select()> may together
-take the sum of the times specified for the the C<alarm()> and the
+take the sum of the times specified for the C<alarm()> and the
 C<select()>, not just the time of the C<alarm()>.
 
 Note that the interaction between alarms and sleeps is unspecified.
@@ -585,6 +586,8 @@
 Copyright (c) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Jarkko Hietaniemi.
 All rights reserved.
 
+Copyright (C) 2011, 2012 Andrew Main (Zefram) <zefram at fysh.org>
+
 This program is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 


Property changes on: vendor/perl/dist/cpan/Time-HiRes/HiRes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Time-HiRes/HiRes.xs
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/HiRes.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/HiRes.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,8 @@
  * 
  * Copyright (c) 2002-2010 Jarkko Hietaniemi.
  * All rights reserved.
+ *
+ * Copyright (C) 2011, 2012 Andrew Main (Zefram) <zefram at fysh.org>
  * 
  * This program is free software; you can redistribute it and/or modify
  * it under the same terms as Perl itself.
@@ -716,39 +718,34 @@
 #endif /* #ifdef HAS_GETTIMEOFDAY */
 
 static void
-hrstatns(UV atime, UV mtime, UV ctime, UV *atime_nsec, UV *mtime_nsec, UV *ctime_nsec)
+hrstatns(UV *atime_nsec, UV *mtime_nsec, UV *ctime_nsec)
 {
   dTHXR;
-  *atime_nsec = 0;
-  *mtime_nsec = 0;
-  *ctime_nsec = 0;
-#ifdef TIME_HIRES_STAT
 #if TIME_HIRES_STAT == 1
   *atime_nsec = PL_statcache.st_atimespec.tv_nsec;
   *mtime_nsec = PL_statcache.st_mtimespec.tv_nsec;
   *ctime_nsec = PL_statcache.st_ctimespec.tv_nsec;
-#endif
-#if TIME_HIRES_STAT == 2
+#elif TIME_HIRES_STAT == 2
   *atime_nsec = PL_statcache.st_atimensec;
   *mtime_nsec = PL_statcache.st_mtimensec;
   *ctime_nsec = PL_statcache.st_ctimensec;
-#endif
-#if TIME_HIRES_STAT == 3
+#elif TIME_HIRES_STAT == 3
   *atime_nsec = PL_statcache.st_atime_n;
   *mtime_nsec = PL_statcache.st_mtime_n;
   *ctime_nsec = PL_statcache.st_ctime_n;
-#endif
-#if TIME_HIRES_STAT == 4
+#elif TIME_HIRES_STAT == 4
   *atime_nsec = PL_statcache.st_atim.tv_nsec;
   *mtime_nsec = PL_statcache.st_mtim.tv_nsec;
   *ctime_nsec = PL_statcache.st_ctim.tv_nsec;
-#endif
-#if TIME_HIRES_STAT == 5
+#elif TIME_HIRES_STAT == 5
   *atime_nsec = PL_statcache.st_uatime * 1000;
   *mtime_nsec = PL_statcache.st_umtime * 1000;
   *ctime_nsec = PL_statcache.st_uctime * 1000;
-#endif
-#endif
+#else /* !TIME_HIRES_STAT */
+  *atime_nsec = 0;
+  *mtime_nsec = 0;
+  *ctime_nsec = 0;
+#endif /* !TIME_HIRES_STAT */
 }
 
 #include "const-c.inc"
@@ -765,8 +762,10 @@
 #ifdef ATLEASTFIVEOHOHFIVE
 #   ifdef HAS_GETTIMEOFDAY
   {
-    hv_store(PL_modglobal, "Time::NVtime", 12, newSViv(PTR2IV(myNVtime)), 0);
-    hv_store(PL_modglobal, "Time::U2time", 12, newSViv(PTR2IV(myU2time)), 0);
+    (void) hv_store(PL_modglobal, "Time::NVtime", 12,
+		newSViv(PTR2IV(myNVtime)), 0);
+    (void) hv_store(PL_modglobal, "Time::U2time", 12,
+		newSViv(PTR2IV(myU2time)), 0);
   }
 #   endif
 #endif
@@ -850,6 +849,8 @@
     CODE:
         croak("Time::HiRes::nanosleep(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+	RETVAL
 
 #endif /* #if defined(TIME_HIRES_NANOSLEEP) */
 
@@ -898,6 +899,8 @@
     CODE:
         croak("Time::HiRes::usleep(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+	RETVAL
 
 #endif /* #if defined(HAS_USLEEP) && defined(HAS_GETTIMEOFDAY) */
 
@@ -970,6 +973,8 @@
     CODE:
         croak("Time::HiRes::ualarm(): unimplemented in this platform");
 	RETVAL = -1;
+    OUTPUT:
+	RETVAL
 
 NV
 alarm(seconds,interval=0)
@@ -978,6 +983,8 @@
     CODE:
         croak("Time::HiRes::alarm(): unimplemented in this platform");
 	RETVAL = 0.0;
+    OUTPUT:
+	RETVAL
 
 #endif /* #ifdef HAS_UALARM */
 
@@ -1133,6 +1140,8 @@
     CODE:
         croak("Time::HiRes::clock_gettime(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+	RETVAL
 
 #endif /*  #if defined(TIME_HIRES_CLOCK_GETTIME) */
 
@@ -1163,6 +1172,8 @@
     CODE:
         croak("Time::HiRes::clock_getres(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+	RETVAL
 
 #endif /*  #if defined(TIME_HIRES_CLOCK_GETRES) */
 
@@ -1197,10 +1208,12 @@
 #else  /* if defined(TIME_HIRES_CLOCK_NANOSLEEP) && defined(TIMER_ABSTIME) */
 
 NV
-clock_nanosleep()
+clock_nanosleep(clock_id, nsec, flags = 0)
     CODE:
         croak("Time::HiRes::clock_nanosleep(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+	RETVAL
 
 #endif /*  #if defined(TIME_HIRES_CLOCK_NANOSLEEP) && defined(TIMER_ABSTIME) */
 
@@ -1224,6 +1237,8 @@
     CODE:
         croak("Time::HiRes::clock(): unimplemented in this platform");
         RETVAL = 0.0;
+    OUTPUT:
+	RETVAL
 
 #endif /*  #if defined(TIME_HIRES_CLOCK) && defined(CLOCKS_PER_SEC) */
 
@@ -1231,7 +1246,6 @@
 stat(...)
 PROTOTYPE: ;$
     PPCODE:
-	PUSHMARK(SP);
 	XPUSHs(sv_2mortal(newSVsv(items == 1 ? ST(0) : DEFSV)));
 	PUTBACK;
 	ENTER;
@@ -1248,8 +1262,7 @@
 	  UV atime_nsec;
 	  UV mtime_nsec;
 	  UV ctime_nsec;
-	  hrstatns(atime, mtime, ctime,
-		   &atime_nsec, &mtime_nsec, &ctime_nsec);
+	  hrstatns(&atime_nsec, &mtime_nsec, &ctime_nsec);
 	  if (atime_nsec)
 	    ST( 8) = sv_2mortal(newSVnv(atime + 1e-9 * (NV) atime_nsec));
 	  if (mtime_nsec)


Property changes on: vendor/perl/dist/cpan/Time-HiRes/HiRes.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Time-HiRes/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 # Use $ENV{FORCE_NANOSLEEP_SCAN} to force rescanning whether there
 # really is hope.
 
-require 5.002;
+{ use 5.006; }
 
 use Config;
 use ExtUtils::MakeMaker;
@@ -17,7 +17,7 @@
 my $XSOPT = '';
 my $SYSCALL_H;
 
-use vars qw($self); # Used in 'sourcing' the hints.
+our $self; # Used in 'sourcing' the hints.
 
 # TBD: Can we just use $Config(exe_ext) here instead of this complex
 #      expression?
@@ -115,7 +115,8 @@
             }
         }
 
-	my $ccflags = $Config{'ccflags'} . ' ' . "-I$COREincdir";
+	my $ccflags = $Config{'ccflags'} . ' ' . "-I$COREincdir"
+	 . ' -DPERL_NO_INLINE_FUNCTIONS';
 
 	if ($^O eq 'VMS') {
             $cccmd = "$Config{'cc'} /include=($COREincdir) $tmp.c";
@@ -759,6 +760,15 @@
 	  # Solaris will avenge.
 	'INC'	=> '',     # e.g., '-I/usr/include/other'
 	'INSTALLDIRS' => ($] >= 5.008 ? 'perl' : 'site'),
+	'PREREQ_PM' => {
+	    'Carp' => 0,
+	    'Config' => 0,
+	    'DynaLoader' => 0,
+	    'Exporter' => 0,
+	    'ExtUtils::MakeMaker' => 0,
+	    'Test::More' => "0.82",
+	    'strict' => 0,
+	},
 	'dist'      => {
 	    'CI'       => 'ci -l',
 	    'COMPRESS' => 'gzip -9f',
@@ -768,6 +778,27 @@
         realclean => { FILES=> 'const-c.inc const-xs.inc' },
     );
 
+    if ($^O eq "MSWin32" && !(grep { /\ALD[A-Z]*=/ } @ARGV)) {
+	my $libperl = $Config{libperl} || "";
+	my $gccversion = $Config{gccversion} || "";
+	if ($gccversion =~ /\A3\.4\.[0-9]+/ and $libperl =~ /\.lib\z/) {
+	    # Avoid broken linkage with ActivePerl, by linking directly
+	    # against the Perl DLL rather than the import library.
+	    (my $llibperl = "-l$libperl") =~ s/\.lib\z//;
+	    my $lddlflags = $Config{lddlflags} || "";
+	    my $ldflags = $Config{ldflags} || "";
+	    s/-L(?:".*?"|\S+)//g foreach $lddlflags, $ldflags;
+	    my $libdirs = join ' ',
+		map { s/(?<!\\)((?:\\\\)*")/\\$1/g; qq[-L"$_"] }
+		@Config{qw/bin sitebin/};
+	    push @makefileopts, macro => {
+		LDDLFLAGS => "$lddlflags $libdirs $llibperl",
+		LDFLAGS => "$ldflags $libdirs $llibperl",
+		PERL_ARCHIVE => "",
+	    };
+	}
+    }
+
     if ($ENV{PERL_CORE}) {
 	push @makefileopts, MAN3PODS => {};
     }


Property changes on: vendor/perl/dist/cpan/Time-HiRes/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/fallback/const-c.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/fallback/const-c.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/fallback/const-c.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/fallback/const-xs.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/fallback/const-xs.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/fallback/const-xs.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/hints/aix.pl
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/hints/aix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/hints/aix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/hints/aix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/hints/dec_osf.pl
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/hints/dec_osf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/hints/dec_osf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/hints/dec_osf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/hints/dynixptx.pl
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/hints/dynixptx.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/hints/dynixptx.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/hints/dynixptx.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/hints/irix.pl
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/hints/irix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/hints/irix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/hints/irix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/hints/linux.pl
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/hints/sco.pl
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/hints/solaris.pl
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/hints/solaris.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/hints/solaris.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/hints/solaris.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/hints/svr4.pl
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/hints/svr4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/hints/svr4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/hints/svr4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/t/HiRes.t
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/t/HiRes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/t/HiRes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/t/HiRes.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-HiRes/typemap
===================================================================
--- vendor/perl/dist/cpan/Time-HiRes/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-HiRes/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-HiRes/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Time-Local/lib/Time/Local.pm
===================================================================
--- vendor/perl/dist/cpan/Time-Local/lib/Time/Local.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Local/lib/Time/Local.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 use strict;
 
 use vars qw( $VERSION @ISA @EXPORT @EXPORT_OK );
-$VERSION   = '1.2000';
+$VERSION   = '1.2300';
 
 @ISA       = qw( Exporter );
 @EXPORT    = qw( timegm timelocal );
@@ -109,7 +109,7 @@
             if $month > 11
             or $month < 0;
 
-	my $md = $MonthDays[$month];
+    my $md = $MonthDays[$month];
         ++$md
             if $month == 1 && _is_leap_year( $year + 1900 );
 
@@ -116,7 +116,7 @@
         croak "Day '$mday' out of range 1..$md"  if $mday > $md or $mday < 1;
         croak "Hour '$hour' out of range 0..23"  if $hour > 23  or $hour < 0;
         croak "Minute '$min' out of range 0..59" if $min > 59   or $min < 0;
-        croak "Second '$sec' out of range 0..59" if $sec > 59   or $sec < 0;
+        croak "Second '$sec' out of range 0..59" if $sec >= 60  or $sec < 0;
     }
 
     my $days = _daygm( undef, undef, undef, $mday, $month, $year );
@@ -125,10 +125,10 @@
         my $msg = '';
         $msg .= "Day too big - $days > $MaxDay\n" if $days > $MaxDay;
 
-	$year += 1900;
+        $year += 1900;
         $msg .=  "Cannot handle date ($sec, $min, $hour, $mday, $month, $year)";
 
-	croak $msg;
+        croak $msg;
     }
 
     return $sec
@@ -201,8 +201,8 @@
 
 =head1 SYNOPSIS
 
-    $time = timelocal($sec,$min,$hour,$mday,$mon,$year);
-    $time = timegm($sec,$min,$hour,$mday,$mon,$year);
+    $time = timelocal( $sec, $min, $hour, $mday, $mon, $year );
+    $time = timegm( $sec, $min, $hour, $mday, $mon, $year );
 
 =head1 DESCRIPTION
 
@@ -239,7 +239,7 @@
     use Time::Local 'timelocal_nocheck';
 
     # The 365th day of 1999
-    print scalar localtime timelocal_nocheck 0,0,0,365,0,99;
+    print scalar localtime timelocal_nocheck( 0, 0, 0, 365, 0, 99 );
 
 If you supply data which is not valid (month 27, second 1,000) the
 results will be unpredictable (so don't do that).


Property changes on: vendor/perl/dist/cpan/Time-Local/lib/Time/Local.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Time-Local/t/Local.t
===================================================================
--- vendor/perl/dist/cpan/Time-Local/t/Local.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Local/t/Local.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,10 @@
 #!./perl
 
 use strict;
+use warnings;
 
 use Config;
-use Test::More;
+use Test::More 0.88;
 use Time::Local;
 
 # Set up time values to test
@@ -24,6 +25,9 @@
 # so it is commented out. The end of the Epoch for a 32-bit signed
 # implementation of time_t should be Jan 19, 2038  03:14:07 UTC.
 #  [2038,  1, 17, 23, 59, 59],     # last full day in any tz
+
+   [2010, 10, 12, 14, 13, 12.1],
+   [2010, 10, 12, 14, 13, 59.1],
   );
 
 # more than 2**31 time_t - requires a 64bit safe localtime/gmtime
@@ -74,14 +78,6 @@
 
 my $epoch_is_64 = eval { $Config{ivsize} == 8 && ( gmtime 2**40 )[5] == 34912 };
 
-my $tests = (@time * 12);
-$tests += @neg_time * 12;
-$tests += @bad_time;
-$tests += @years;
-$tests += 21;
-
-plan tests => $tests;
-
 for (@time, @neg_time) {
     my($year, $mon, $mday, $hour, $min, $sec) = @$_;
     $year -= 1900;
@@ -100,7 +96,7 @@
 
             my($s,$m,$h,$D,$M,$Y) = localtime($time);
 
-            is($s, $sec, "timelocal second for @$_");
+            is($s, int($sec), "timelocal second for @$_");
             is($m, $min, "timelocal minute for @$_");
             is($h, $hour, "timelocal hour for @$_");
             is($D, $mday, "timelocal day for @$_");
@@ -116,7 +112,7 @@
 
             my($s,$m,$h,$D,$M,$Y) = gmtime($time);
 
-            is($s, $sec, "timegm second for @$_");
+            is($s, int($sec), "timegm second for @$_");
             is($m, $min, "timegm minute for @$_");
             is($h, $hour, "timegm hour for @$_");
             is($D, $mday, "timegm day for @$_");
@@ -265,3 +261,5 @@
     is( ( localtime( timelocal( 0, 0, 2, 27, 2, 2005 ) ) )[2], 2,
         'hour is 2 when given 2:00 AM on Europe/London date change' );
 }
+
+done_testing();


Property changes on: vendor/perl/dist/cpan/Time-Local/t/Local.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/Changes
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/Piece.pm
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/Piece.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/Piece.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/Piece.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/Piece.xs
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/Piece.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/Piece.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/Piece.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/README
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/Seconds.pm
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/Seconds.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/Seconds.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/Seconds.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/t/01base.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/01base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/t/01base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/t/01base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Time-Piece/t/02core.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/02core.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/t/02core.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,7 @@
 
 my $is_win32 = ($^O =~ /Win32/);
 my $is_qnx = ($^O eq 'qnx');
+my $is_vos = ($^O eq 'vos');
 BEGIN { use_ok('Time::Piece'); }
 ok(1);
 
@@ -113,7 +114,7 @@
 cmp_ok($t->strftime('%U'), 'eq', '09'); # Sun cmp Mon
 
 SKIP: {
-    skip "can't strftime %V on Win32 or QNX", 1 if $is_win32 or $is_qnx;
+    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', '09'); # Sun cmp Mon
 }


Property changes on: vendor/perl/dist/cpan/Time-Piece/t/02core.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/t/03compare.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/03compare.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/t/03compare.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/t/03compare.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/t/04mjd.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/04mjd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/t/04mjd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/t/04mjd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/t/05overload.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/05overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/t/05overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/t/05overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/t/06subclass.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/06subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/t/06subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/t/06subclass.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Time-Piece/t/07arith.t
===================================================================
--- vendor/perl/dist/cpan/Time-Piece/t/07arith.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Time-Piece/t/07arith.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Time-Piece/t/07arith.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Changes
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,150 @@
 Revision history for Perl module Unicode::Collate.
 
+0.97  Sat Dec 22 14:25:50 2012
+    - bug fix: XS of 0.96 (if UCA_Version is 9 to 11) wrongly referred to
+      DUCET for completely ignorable characters, even though the collator
+      don't use DUCET.
+    - separated t/notable.t from t/test.t.
+
+0.96  Sat Dec 15 19:43:10 2012
+    - special noncharancter tailorings ('highestFFFF' and 'minimalFFFE')
+      * some locales are modified for 'highestFFFF': as, bn, fa, gu, hi, hy,
+        kn, kok, mr, or, sa, si, si_dict, ta, te, th, ur.
+    - U::C::Locale now allows 'entry' to add or override mappings.
+    - bug fix: using DUCET through XS wrongly prevented completely ignorable
+      characters from tailoring.
+    - modified tests: default.t, loc_as.t, loc_bn.t, loc_fa.t, loc_gu.t,
+      loc_hi.t, loc_hy.t, loc_kn.t, loc_kok.t, loc_mr.t, loc_or.t, loc_sa.t,
+      loc_si.t, loc_sidt.t, loc_ta.t, loc_te.t, loc_test.t, loc_th.t,
+      loc_ur.t, nonchar.t in t.
+
+0.95  Sat Dec  8 15:11:09 2012
+    - U::C::Locale newly supports locales: bs_Cyrl, ee.
+    - updated to CLDR 21: uk.
+    - updated to CLDR 22: th, to.
+    - added loc_bscy.t, loc_ee.t in t.
+    - modified tests: loc_th.t, loc_to.t, loc_uk.t in t.
+
+0.94  Fri Nov 23 18:45:53 2012
+    - U::C::Locale newly supports locale: zh__zhuyin.
+    - added Unicode::Collate::CJK::Zhuyin for zh__zhuyin.
+    - doc: added CAVEAT to CJK/Stroke.pm
+    - modified tests: loc_cjk.t, loc_cjkc.t in t.
+    - added cjk_zy.t, loc_zhzy.t in t.
+
+0.93  Sun Nov 18 18:13:42 2012
+    - DUCET is updated (for Unicode 6.2.0) as Collate/allkeys.txt.
+    ! Please notice that allkeys.txt will be overwritten if you have had
+      other allkeys.txt already.
+    - The default UCA_Version is 26.
+    - Locale/*.pl (except fr.pl) and CJK/Korean.pm are updated.
+    - modified tests: loc_es.t, loc_estr.t, version.t in t.
+
+0.92  Wed Nov 14 20:58:19 2012
+    - fix: index() etc. with preprocess/normalization should be always croaked.
+    - doc: referred to the latest UTS #10 and updated its section numbers.
+    - supported the identical level (see 'identical' in POD).
+    - Now UCA_Version 26 (for Unicode 6.2.0) is supported.
+      * But the default UCA_Version is still 24.
+    - added ident.t in t.
+    - modified tests: cjkrange.t, compatui.t, hangtype.t, index.t,
+      overcjk0.t, overcjk1.t, test.t, view.t in t.
+
+0.91  Sun Nov  4 17:00:20 2012
+    - XSUB: use PERL_NO_GET_CONTEXT (see perlguts)
+      (see [rt.cpan.org #80313])
+
+0.90  Sun Sep 23 10:42:26 2012
+    - perl 5.11.0 or later: Install to 'site' instead of 'perl'
+      (see [rt.cpan.org #79800])
+
+0.89  Sat Mar 10 20:19:11 2012
+    - avoid "use Test".
+
+0.88  Mon Mar  5 21:56:13 2012
+    - DUCET is updated (for Unicode 6.1.0) as Collate/allkeys.txt.
+    ! Please notice that allkeys.txt will be overwritten if you have had
+      other allkeys.txt already.
+    - U+9FCC is a new CJK unified ideograph.
+    - The default UCA_Version is 24.
+    - Locale/*.pl (except fr.pl) and CJK/Korean.pm are updated.
+    - modified tests: cjkrange.t, compatui.t, hangtype.t, loc_cjkc.t,
+      loc_es.t, loc_estr.t, overcjk0.t, overcjk1.t, version.t in t.
+
+0.87  Sat Nov 26 17:01:42 2011
+    - Now Locale/*.pl files are searched in @INC. (see [rt.cpan.org #72666])
+    - added locale_version method to access the version number of Locale/*.pl.
+
+0.86  Wed Nov 23 17:16:00 2011
+    - tailored compatibility ideographs as well as unified ideographs for
+      the locales: ja, ko, zh__big5han, zh__gb2312han, zh__pinyin, zh__stroke.
+    - added loc_cjkc.t in t.
+
+0.85  Sat Nov 19 20:01:57 2011
+    - U::C::Locale newly supports locales: bn, sa.
+    - updated some locales to CLDR 2.0 : zh__pinyin, zh__stroke.
+      * supported compatibility decomposable characters and U+FDD0 indexes.
+      * updated CJK/Pinyin.pm and CJK/Stroke.pm.
+    - added loc_bn.t, loc_cjk.t, loc_sa.t in t.
+
+0.84  Sun Nov  6 14:44:51 2011
+    - U::C::Locale supports script codes.
+    - U::C::Locale newly supports locales: fa, sr_Latn, ur.
+    - added loc_fa.t, loc_srla.t, loc_ur.t in t.
+
+0.83  Sun Oct 30 20:22:04 2011
+    - mklocale: auto-generate equivalents for suppressed contractions.
+      * be.txt, bg.txt, kk.txt, mk.txt, ru.txt, sr.txt, uk.txt in data
+        are simplified.
+      * but no Locale/*.pl will be modified.
+
+0.82  Sun Oct 30 10:03:48 2011
+    - U::C::Locale newly supports locales: si, si__dictionary,
+      sv__reformed, ta, te, th, wae.
+    - added loc_si.t, loc_sidt.t, loc_svrf.t, loc_ta.t, loc_te.t,
+      loc_th.t, loc_wae.t in t.
+    - updated some locales to CLDR 2.0 : sk, sr, sv, uk.
+    - updated CJK/Pinyin.pm according to CLDR 2.0.
+
+0.81  Sun Oct 23 21:32:36 2011
+    - U::C::Locale newly supports locales: ml, mr, or, pa.
+    - added loc_ml.t, loc_mr.t, loc_or.t, loc_pa.t in t.
+    - updated some locales to CLDR 2.0 : mk, mt, nb, nn, ro, ru.
+
+0.80  Sun Oct  9 21:00:21 2011
+    - U::C::Locale newly supports locales: bs, hi, kn, kok, ln.
+    - added loc_bs.t, loc_hi.t, loc_kn.t, loc_kok.t, loc_ln.t in t.
+    - updated some locales to CLDR 2.0 : ha, hr, kk, lt.
+
+0.79  Sun Oct  2 20:31:01 2011
+    - pod: [rt.cpan.org #70241] Fix minor grammar error in manpage
+            by Harlan Lieberman-Berg.
+    - 'suppress' no longer affects contractions via 'entry'.
+    - U::C::Locale newly supports locales: as, fi__phonebook, gu.
+    - added loc_as.t, loc_fiph.t, loc_gu.t in t.
+    - updated some locales to CLDR 2.0 : ar, be, bg.
+
+0.78  Mon Jul 25 21:29:50 2011
+    - tried fixing the tarball with world writable files.
+      ( http://www.perlmonks.org/?node_id=731935 )
+
+0.77  Sun Jul  3 21:15:08 2011
+    - xs: [perl #93470] [PATCH] consting in Collate.xs by Robin Barker.
+
+0.76  Sun May 15 10:06:59 2011
+    - updated CJK/Pinyin.pm and CJK/Stroke.pm according to CLDR 1.9.1.
+     (type='pinyin' alt='short' and type='stroke' alt='short' respectively)
+
+0.75  Sat May  7 21:07:38 2011
+    - supported ignore_level2 and rewrite.
+    - added iglevel2.t and rewrite.t in t.
+
+0.74  Mon Mar 21 19:07:38 2011
+    - removed sw (Swahili) collation according to CLDR 1.9.
+        (removed files: Collate/Locale/sw.pl and data/sw.txt)
+    - shifted primary weights of letters > Z for some languages.
+        (affected locales: da, fi, fo, kl, nb, nn, sv)
+
 0.73  Sun Mar  6 13:24:22 2011
     - DUCET is updated (for Unicode 6.0.0) as Collate/allkeys.txt.
     ! However no maint perl has supported Unicode 6.0.0 yet;
@@ -6,7 +151,8 @@
       wait for 5.14, or try developing 5.13.7 or later.
     ! Please notice that allkeys.txt will be overwritten if you have had
       other allkeys.txt already.
-    - The default UCA_Version is 22. Locale/*.pl and Korean.pm are updated.
+    - The default UCA_Version is 22.
+    - Locale/*.pl (except fr.pl and ko.pl) and CJK/Korean.pm are updated.
     - test: compare allkeys.txt's version with Base_Unicode_Version
       in t/default.t.
 
@@ -90,7 +236,7 @@
 0.61  Sat Oct  2 11:41:29 2010
     - U::C::Locale newly supports locales: hr, ig, sq.
     - added loc_hr.t, loc_ig.t, loc_sq.t in t.
-    - precomposites of e-dot-below, o-dot-below, o-tilde are tailored as well.
+    - precomposed e-dot-below, o-dot-below, o-tilde are tailored as well.
         (affected locales: et, yo)
     - Vietnamese (vi): added contractions for non-blocked decompositions
       * base + dot-below + mark such as a\x{323}\x{306}, \x{1EA1}\x{306} etc.
@@ -104,7 +250,7 @@
 
     - U::C::Locale newly supports locales: de__phonebook, nso, om, tn, vi.
     - added loc_de.t, loc_deph.t, loc_nso.t, loc_om.t, loc_tn.t, loc_vi.t in t.
-    - precomposites of a-breve, a-circ, e-circ, o-circ are tailored as well.
+    - precomposed a-breve, a-circ, e-circ, o-circ are tailored as well.
         (affected locales: ro, sk, sv)
 
 0.59  Sun Sep  5 17:03:52 2010
@@ -111,7 +257,7 @@
     - U::C::Locale newly supports locales: az, fil, ha, lt, mt, tr, wo, yo.
     - added loc_az.t, loc_fil.t, loc_ha.t, loc_lt.t, loc_mt.t, loc_tr.t,
       loc_wo.t, loc_yo.t in t.
-    - precomposites of a-uml, o-uml, and u-uml are tailored as well.
+    - precomposed a-uml, o-uml, and u-uml are tailored as well.
         (affected locales: da, et, fi, fo, is, kl, nb, nn, sk, sv)
 
 0.58  Sun Aug 29 19:56:50 2010
@@ -214,7 +360,7 @@
 
 0.29  Mon Oct 13 12:18:23 2003
     - now UCA Version 11 (but no functionality is different from Version 9).
-    - supported hangul_terminator.
+    - supported 'hangul_terminator'.
     - fix: Base_Unicode_Version falsely returns Perl's Unicode version.
       C4 in UTS #10 requires UTS's Unicode version.
     - For variable weighting, 'variable' is recommended
@@ -248,7 +394,7 @@
 0.26  Sun Aug 03 22:23:17 2003
     - fix: an expansion in which a CE is level 3 ignorable and others are not
       was wrongly made level 3 ignorable as a whole entry.
-      (In DUCET, some precomposites in Musical Symbols are so)
+      (In DUCET, some precomposed characters in Musical Symbols are so)
 
 0.25  Mon Jun 06 23:20:17 2003
     - fix Makefile.PL.


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Big5.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/GB2312.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/JISX0208.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,21 +4,21 @@
 use strict;
 use Unicode::Collate;
 
-our $VERSION = '0.66';
+our $VERSION = '0.93';
 
 my %jamo2prim = (
-    0x1100, 0x3031,   0x1101, 0x3032,   0x1102, 0x3033,   0x1103, 0x3034,
-    0x1105, 0x3036,   0x1106, 0x3037,   0x1107, 0x3038,   0x1109, 0x303A,
-    0x110A, 0x303B,   0x110B, 0x303C,   0x110C, 0x303D,   0x110E, 0x303F,
-    0x110F, 0x3040,   0x1110, 0x3041,   0x1111, 0x3042,   0x1112, 0x3043,
-    0x1161, 0x30AF,   0x1162, 0x30B0,   0x1163, 0x30B1,   0x1165, 0x30B3,
-    0x1166, 0x30B4,   0x1167, 0x30B5,   0x1168, 0x30B6,   0x1169, 0x30B7,
-    0x116A, 0x30B8,   0x116B, 0x30B9,   0x116C, 0x30BA,   0x116D, 0x30BB,
-    0x116E, 0x30BC,   0x116F, 0x30BD,   0x1170, 0x30BE,   0x1171, 0x30BF,
-    0x1172, 0x30C0,   0x1173, 0x30C1,   0x1174, 0x30C2,   0x1175, 0x30C3,
-    0x11A8, 0x310D,   0x11AB, 0x3110,   0x11AF, 0x3114,   0x11B7, 0x311C,
-    0x11B8, 0x311D,   0x11BC, 0x3121,   0x11BD, 0x3122,
-); # for DUCET v6.0.0
+    0x1100, 0x3156,   0x1101, 0x3157,   0x1102, 0x3158,   0x1103, 0x3159,
+    0x1105, 0x315B,   0x1106, 0x315C,   0x1107, 0x315D,   0x1109, 0x315F,
+    0x110A, 0x3160,   0x110B, 0x3161,   0x110C, 0x3162,   0x110E, 0x3164,
+    0x110F, 0x3165,   0x1110, 0x3166,   0x1111, 0x3167,   0x1112, 0x3168,
+    0x1161, 0x31D4,   0x1162, 0x31D5,   0x1163, 0x31D6,   0x1165, 0x31D8,
+    0x1166, 0x31D9,   0x1167, 0x31DA,   0x1168, 0x31DB,   0x1169, 0x31DC,
+    0x116A, 0x31DD,   0x116B, 0x31DE,   0x116C, 0x31DF,   0x116D, 0x31E0,
+    0x116E, 0x31E1,   0x116F, 0x31E2,   0x1170, 0x31E3,   0x1171, 0x31E4,
+    0x1172, 0x31E5,   0x1173, 0x31E6,   0x1174, 0x31E7,   0x1175, 0x31E8,
+    0x11A8, 0x3232,   0x11AB, 0x3235,   0x11AF, 0x3239,   0x11B7, 0x3241,
+    0x11B8, 0x3242,   0x11BC, 0x3246,   0x11BD, 0x3247,
+); # for DUCET v6.2.0
 
 my(%u2e, $prim, $wt);
 while (<DATA>) {


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Korean.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use 5.006;
 use strict;
 
-our $VERSION = '0.65';
+our $VERSION = '0.85';
 
 my %u2p;
 my $wt = 0x8000;
@@ -13,7 +13,7 @@
     my @c = split;
     for my $c (@c) {
 	next if !$c;
-	$u2p{hex($c)} = $wt;
+	$u2p{hex($c)} = $wt if $c !~ /-/;
 	$wt++;
     }
 }
@@ -25,2106 +25,2972 @@
 
 1;
 __DATA__
-3105 3106 3107 3108 3109 310A 310B 310C 310D 310E
-310F 3110 3111 3112 3113 3114 3115 3116 3117 3118
-3119 311A 311B 311C 311D 311E 311F 3120 3121 3122
-3123 3124 3125 3126 3127 3128 3129 5416 963F 554A
-9515 9312 55C4 5391 54CE 54C0 5509 57C3 6328 6B38
-6EBE 953F 9384 5540 6371 7691 51D2 5D66 6EB0 560A
-6571 6573 769A 764C 6BD0 6639 5A3E 55F3 77EE 853C
-8EB7 566F 6FED FA1F 85F9 8B6A 972D 9744 827E 4F0C
-7231 7839 784B 9698 55CC 5867 5AD2 611B 788D 53C6
-66A7 7477 50FE 58D2 5B21 61D3 8586 61DD 66D6 74A6
-8CF9 9932 9D31 76A7 77B9 99A4 7919 8B7A 9440 9C6B
-9749 5B89 4F92 5CD6 6849 6C28 5EB5 83F4 8C19 5A95
-843B 844A 75F7 8164 9E4C 84ED 8A9D 978C 978D 76E6
-8AF3 95C7 99A3 9B9F 76EB 9D6A 97FD 9D95 73B5 557D
-96F8 57B5 4FFA 5535 57EF 94F5 968C 63DE 667B 7F6F
-92A8 72B4 5CB8 6309 6D1D 834C 6848 80FA 8C7B 5813
-5A69 6697 8C8B 5111 930C 9EEF 80AE 9AAF 5C87 6602
-663B 678A 76CE 91A0 51F9 5773 5787 67EA 8EEA 720A
-6556 53AB 969E 55F7 55F8 5D85 5ED2 6EF6 7352 7353
-9068 646E 71AC 7488 851C 78DD 7FF1 8071 87AF 7FF6
-8B37 7FFA 9CCC 93D6 9C32 9DD4 9F07 629D 82BA 62D7
-8884 5AAA 957A 5ABC 8956 5C99 6277 5CB0 50B2 5961
-5965 5AEF 6160 9A9C 5967 6F9A 58BA 5DB4 6FB3 61CA
-64D9 8B38 93CA 9A41 516B 4EC8 5DF4 53ED 6252 6733
-7390 5427 593F 5C9C 82AD 75A4 54F5 634C 7B06 7C91
-7D26 7F93 8686 91DF 8C5D 9C83 9B5E 53D0 72AE 629C
-577A 59AD 62D4 8307 70A6 7679 80C8 91DB 83DD 8A59
-8DCB 8EF7 98B0 9B43 58A2 9F25 628A 94AF 9200 9776
-575D 5F1D 7238 57BB 7F62 E83D 8DC1 9C85 7F77 E83C
-9B81 8987 77F2 9738 58E9 705E 6B1B 6300 63B0 767D
-767E 4F70 67CF 6822 636D 7AE1 7CA8 7D54 6446 64FA
-896C 5457 5E8D 62DD 8D25 62DC 5504 6557 7308 7A17
-7CBA 9781 85AD 8D01 97DB 5161 74F8 6273 653D 670C
-73ED 822C 9881 6591 642C 6592 9812 7622 8781 878C
-8929 764D 8FAC 962A 5742 5C85 6604 677F 7248 74EA
-94A3 7C84 8228 9211 8742 9B6C 95C6 529E 534A 4F34
-626E 59C5 6011 62CC 7ECA 79DA 6E74 7D46 9261 977D
-8FA6 74E3 90A6 5CC0 57B9 5E2E 6360 6886 6D5C 90AB
-5E47 5E5A 7E0D 5E6B 97A4 7ED1 7D81 699C 7253 8180
-73A4 868C 508D 68D2 68D3 7865 8C24 585D 5FAC 7A16
-84A1 872F 78C5 9551 8255 8B17 938A 52F9 5305 4F68
-5B62 82DE 80DE 525D 7B23 7172 9F85 8554 8912 95C1
-8943 9F59 7A87 5AD1 96F9 5B9D 6009 9971 4FDD 9E28
-73E4 5821 5822 5AAC 8446 5BDA 98F9 98FD 8913 99C2
-9CF5 7DE5 9D07 8CF2 85F5 5BF3 5BF6 974C 52FD 62A5
-62B1 8C79 8DB5 94C7 83E2 888C 5831 924B 9C8D 9764
-9AB2 66B4 9AF1 8663 9B91 5124 66D3 7206 5FC1 9464
-8421 9642 5351 676F 76C3 686E 60B2 63F9 7891 9E4E
-85E3 9D6F 55BA 5317 9273 8D1D 72C8 8C9D 90B6 5907
-6601 726C 82DD 80CC 94A1 4FFB 500D 6096 72FD 88AB
-505D 5079 6896 73FC 9101 5099 50C3 60EB 7119 7432
-8EF0 8F88 6102 789A 7999 84D3 86FD 7295 8919 8A96
-9AB3 8F29 92C7 618A 7CD2 97B4 943E 5954 6CCD 8D32
-5034 6E00 9029 7287 8CC1 951B 931B 672C 82EF 5959
-755A 694D 574C 6379 6873 7B28 64AA 7356 8F3D 4F3B
-794A 595F 5D29 7EF7 7D63 958D 5D6D 75ED 5623 7DB3
-7E43 752D 57C4 57F2 83F6 7423 742B 979B 6CF5 8FF8
-902C 8DF0 5874 750F 955A 8E66 93F0 7680 5C44 506A
-6BF4 903C 8C4D 8795 9CBE 939E 9D56 9C0F 67F2 8378
-9F3B 5B36 5315 6BD4 5936 673C 4F4A 5421 59A3 6C98
-7595 5F7C 67C0 79D5 4FFE 7B14 7C83 7C8A 822D 555A
-7B46 9119 805B 8C8F 5302 5E01 5FC5 6BD5 95ED 4F56
-5752 5E87 8BD0 90B2 59BC 602D 6788 7540 7541 82FE
-54D4 6BD6 73CC 75AA 80C7 835C 965B 6BD9 72F4 7562
-8890 94CB 5A62 5EB3 655D 6890 8406 841E 9587 9589
-581B 5F3B 5F3C 610A 610E 6E62 7695 7986 7B5A 8A56
-8CB1 8D51 55F6 5F43 6945 6ED7 6EED 714F 75F9 75FA
-8177 84D6 84FD 870C 88E8 8DF8 8F9F 924D 959F 98F6
-5E63 5F0A 719A 7359 78A7 7A2B 7B85 7B86 7DBC 853D
-912A 999D 5E64 6F77 7358 7F7C 8945 99DC 9AF2 58C1
-5B16 5EE6 7BE6 7BF3 7E2A 859C 89F1 907F 9B85 6583
-6FDE 81C2 8E55 979E 9AC0 5970 74A7 9128 9946 7E74
-895E 8963 93CE 97B8 97E0 8E83 8E84 9B53 8D14 9434
-9A46 9DDD 9DE9 9F0A 8FB9 782D 7B3E 7335 7F16 8439
-7178 7251 7502 7BAF 7DE8 8759 7371 9089 937D 9CCA
-908A 97AD 9BFE 9BFF 7C69 709E 8D2C 6241 7A86 533E
-8CB6 60FC 78A5 7A28 890A 7CC4 9D18 85CA 535E 5F01
-5FED 6283 6C73 6C74 82C4 91C6 5CC5 62DA 4FBF 53D8
-5909 662A 898D 5FA7 63D9 7F0F 904D 959E 8FA1 7DF6
-8251 9828 8FA7 8FA8 8FA9 8FAA 8FAB 8FAE 8FAF 8B8A
-706C 6753 5F6A 6807 98D1 9A89 9ADF 6DF2 730B 813F
-5882 5E56 6EEE 8508 98AE 9AA0 6A19 719B 8198 9E83
-762D 9556 98D9 98DA 5126 98B7 700C 85E8 8B24 7202
-81D5 8D06 93E2 7A6E 9573 98C6 98C7 98C8 98CA 9A43
-9463 9A6B 8868 5A4A 88F1 8AD8 893E 9336 6AA6 4FF5
-647D 9CD4 9C3E 618B 9CD6 9C49 9F08 864C 9F9E 5225
-522B 5487 8382 86C2 5FB6 8952 87DE 8E69 762A 765F
-5F46 6C43 90A0 780F 5BBE 5F6C 50A7 658C 6915 6EE8
-7F24 69DF 7478 8C69 8CD3 8CD4 9554 5110 6FD2 6FF1
-6FF5 8668 8C73 74B8 7015 9726 7E7D 8819 944C 986E
-6C1E 6448 6BA1 8191 9AE9 64EF 9B02 6BAF 81CF 9ACC
-9B13 9AD5 9B22 51AB 4ECC 6C37 51B0 5175 681F 63A4
-68B9 92F2 6AB3 4E19 90B4 9643 6032 62A6 79C9 82EA
-661E 663A 67C4 70B3 997C 772A 7A89 86C3 68C5 7980
-9235 927C 9786 9905 9920 71F7 5E76 4E26 4F75 5E77
-57AA 5EB0 5002 6824 75C5 7ADD 504B 50A1 5BCE 6452
-8A81 9BA9 9750 7676 62E8 6CE2 7677 73BB 5265 76CB
-7835 889A 88AF 94B5 997D 5575 7D34 7F3D 8116 83E0
-88B0 7886 9262 50E0 5D93 64A5 64AD 9911 78FB 8E73
-9A4B 9C4D 4EE2 4F2F 5B5B 72BB 9A73 5E1B 6CCA 72DB
-74DD 82E9 4FBC 52C3 67ED 80C9 90E3 4EB3 632C 6D61
-74DF 79E1 94B9 E84B 94C2 6872 6DFF 8236 535A 6E24
-6E50 8467 9E41 613D 640F 733C 9238 9251 998E 9C8C
-50F0 717F 7254 7B94 818A 824A 999B 99C1 8E23 92CD
-9548 58C6 8584 999E 99EE 9B8A 894F 8C70 5697 61EA
-7921 7C19 939B 993A 9D53 72A6 9AC6 9AC9 6B02 896E
-7934 946E 86BE 8DDB 7BA5 7C38 5B79 64D8 6A97 7CEA
-8B52 8617 8514 5CEC 5EAF 900B 94B8 6661 923D 8AA7
-9914 8F50 91AD 535C 535F 8865 54FA 6355 88DC 9CEA
-735B 9D4F 9E14 4E0D 5E03 4F48 5425 6B65 5498 6016
-6B68 6B69 949A 52CF 57D7 6091 6357 8379 90E8 57E0
-74FF 9208 5ECD 8500 8E04 90F6 7BF0 9922 7C3F 5693
-64E6 6503 7924 7938 906A 56C3 5072 731C 624D 6750
-8D22 8CA1 621D 88C1 7E94 91C7 5038 57F0 5A47 5BC0
-5F69 63A1 776C 8DF4 7DB5 8E29 83DC 68CC 8521 7E29
-4E72 53C2 53C3 53C4 98E1 9A96 53C5 55B0 6E4C 50AA
-5B20 9910 9A42 6B8B 8695 60ED 6B98 615A 8745 6159
-8836 883A 60E8 6701 6158 5646 61AF E835 7A47 9EEA
-9EF2 707F 7CB2 510F 6FAF 8592 71E6 74A8 8B32 7218
-4ED3 4EFA 4F27 6CA7 82CD 9E27 5009 8231 5096 51D4
-5D62 6EC4 734A 84BC 6FF8 8259 87A5 7F49 9DAC 5328
-8535 85CF 6B0C 9476 8CF6 64A1 64CD 7CD9 66FA 66F9
-5608 5D86 6F15 84F8 69FD 893F 825A 87AC 93EA 8279
-8278 8349 613A 61C6 9A32 808F 9135 8959 9F1C 518A
-518C 4FA7 5395 607B 62FA 6D4B 835D 6547 755F 5074
+FDD0-0041
+963F 5475 9515
+55C4
+554A
+54CE 54C0 5509 57C3 5A2D 6328 6B38 6EBE 55F3 92B0
+953F 566F 9384
+5540 6371 7691 6EB0 560A 6571 6573 769A 764C 9A03
+6BD0 6639 5A3E 77EE 853C 8EB7 6FED 85F9 972D 9744
+827E 4F0C 7231 7839 784B 9698 55CC 5867 5AD2 611B
+788D 53C6 66A7 7477 95A1 50FE 58D2 5B21 61D3 8586
+9D31 61DD 66D6 74A6 9932 76A7 77B9 99A4 7919 8B6A
+8B7A 9440 9749
+9C6B
+5B89 4F92 5CD6 6849 6C28 5EB5 83F4 8C19 5A95 843B
+844A 75F7 8164 9E4C 84ED 8A9D 978C 978D 76E6 8AF3
+99A3 76EB 9D6A 97FD 9D95
+73B5 557D 96F8 5111
+57B5 4FFA 5535 57EF 94F5 968C 63DE 7F6F 92A8
+72B4 5CB8 6309 6D1D 834C 6848 80FA 8C7B 5813 5A69
+667B 6697 930C 95C7 9B9F 9EEF
+80AE 9AAF
+536C 5C87 6602 663B
+678A 76CE 91A0
+51F9 67EA 688E 8EEA 720A
+6556 53AB 969E 55F7 55F8 5D85 5ED2 6EF6 7353 851C
+9068 646E 71AC 7352 7488 78DD 7FF1 8071 87AF 8B37
+8B38 7FFA 9CCC 93D6 9C32 9DD4 9F07
+629D 82BA 62D7 8884 957A 5AAA 5ABC 8956
+5C99 6277 5773 5787 5CB0 50B2 5961 5965 5967 5AEF
+6160 9A9C 96A9 58BA 5DB4 61CA 6FB3 64D9 93CA 9A41
+7FF6
+FDD0-0042
+516B 4EC8 6252 6733 7390 593F 5C9C 82AD 5CC7 67ED
+75A4 54F5 5DFC 634C 7C91 7F93 8686 91DB 91DF 8C5D
+9C83
+53D0 72AE 629C 577A 59AD 62D4 8307 70A6 7679 80C8
+83DD 8A59 8DCB 8EF7 98B0 9B43 58A2 9F25
+628A 94AF 9200 9776
+575D 5F1D 7238 57BB 8019 8DC1 9C85 9C8C 9B8A 8987
+77F2 9738 58E9 705E 6B1B
+5DF4 53ED 5427 7B06 7D26 7F62 9B5E 7F77
+6300 63B0 64D8
+767D
+767E 4F70 67CF 6822 636D 74F8 7CA8 7D54 6446 64FA
+896C
+5E8D 62DD 8D25 62DC 6557 7308 7A17 86FD 7CBA 8D01
+97DB
+7AE1 85AD
+6273 653D 73ED 822C 9881 6591 642C 6592 9812 7622
+9CFB 878C 8929 764D 8FAC
+962A 5742 5C85 6604 677F 7248 74EA 94A3 7C84 8228
+9211 8742 9B6C 95C6
+529E 534A 4F34 5762 59C5 6011 62CC 7ECA 67C8 79DA
+6E74 7D46 9261 977D 8FA6 74E3
+626E 8781
+90A6 57B9 5E2E 6360 6886 6D5C 90AB 5E47 5E5A 7E0D
+5E6B 97A4
+7ED1 7D81 699C 7253 8180 9AC8
+73A4 868C 508D 68D2 68D3 8C24 585D 6412 7A16 84A1
+872F 78C5 9551 8255 8B17 938A
+52F9 5305 5B62 82DE 67B9 80DE 7B23 7172 9F85 8554
+8912 8943 95C1 9F59
+7A87 5AD1 96F9 8584
+5B9D 6009 9971 4FDD 9E28 5BB2 73E4 5821 5822 5AAC
+8446 5BDA 98FD 8913 99C2 9CF5 7DE5 9D07 8CF2 5BF3
+5BF6 974C
+52FD 62A5 62B1 8C79 8DB5 94C7 83E2 86AB 888C 5831
+924B 9C8D 9764 9AB2 66B4 9AF1 8663 9B91 5124 66D3
+7206 5FC1 9464 9E14
+4F68 85F5
+9642 5351 676F 76C3 686E 60B2 63F9 6911 7986 7891
+9E4E 9303 85E3 9D6F
+5317 9273
+8D1D 5B5B 72C8 8C9D 90B6 5907 6601 726C 82DD 80CC
+90E5 94A1 4FFB 500D 6096 72FD 88AB 505D 5079 6896
+73FC 9101 5099 50C3 60EB 7119 7432 8EF0 8F88 6102
+789A 84D3 7295 8919 8A96 9781 9AB3 8F29 92C7 618A
+7CD2 97B4 943E
+5457 5504 7999
+5954 6CCD 8D32 681F 7287 951B 931B
+672C 82EF 5959 755A 7FC9 694D
+574B 574C 5034 6379 6873 6E00 7B28 9029 64AA 7356
+8F3D
+4F3B 794A 595F 5D29 7D63 958D 50B0 5D6D 75ED 5623
+7DB3
+752D
+57C4 57F2 7EF7 83F6 7423 742B 7E43 979B
+6CF5 8FF8 902C 5874 750F 955A 8E66 93F0 882F
+63FC
+5C44 506A 6BF4 903C 6945 8C4D 8795 9D56 9CBE 939E
+9C0F
+8378 9F3B
+5315 6BD4 5936 673C 4F4A 5421 59A3 6C98 7595 5F7C
+67C0 79D5 4FFE 7B14 7C83 822D 555A 7B46 9119 7B84
+805B 8C8F
+5E01 5FC5 6BD5 95ED 4F56 5752 5E87 8BD0 90B2 59BC
+602D 6036 6788 7540 82FE 54D4 67F2 6BD6 73CC 75AA
+835C 965B 6BD9 72F4 7562 7B13 7C8A 8890 94CB 5A62
+5EB3 655D 6890 8406 9587 9589 581B 5F3B 5F3C 610A
+610E 6E62 7695 7B5A 8A56 8CB1 8CC1 8D51 55F6 5F43
+6ED7 6EED 714F 75F9 75FA 7764 8177 84D6 84FD 870C
+88E8 8DF8 924D 959F 98F6 5E63 5F0A 719A 7359 78A7
+7B85 7B86 7DBC 853D 912A 999D 6F77 7358 7F7C 99DC
+9AF2 58C1 5B16 5EE6 7BE6 7BF3 7E2A 859C 89F1 907F
+9B85 6583 6FDE 81C2 8E55 9AC0 5970 74A7 9128 93CE
+9946 7E74 895E 8963 97B8 97E0 9B53 8E83 8E84 9A46
+8D14 9434 9DDD 9DE9 9F0A
+5302 841E 5E64 8945 5B36
+8FB9 8FBA 782D 7B3E 63D9 7335 7F16 7178 7251 7502
+7BAF 7DE8 8759 9089 937D 9CCA 908A 97AD 9BFE 9BFF
+7C69
+8D2C 6241 7A86 533E 8CB6 60FC 8439 78A5 7A28 890A
+7CC4 9D18 85CA
+535E 5F01 5325 5FED 6283 6C73 6C74 82C4 91C6 53D8
+73A3 4FBF 5909 662A 898D 5FA7 7F0F 904D 959E 8FA1
+7DF6 8251 8FA7 8FA8 8FA9 8FAB 8FAE 8FAF 8B8A
+5CC5 709E
+706C 6753 6807 98D1 9A89 9ADF 6DF2 5F6A 730B 813F
+98A9 5882 5E56 647D 6EEE 8508 98AE 9AA0 6A19 719B
+8198 762D 78E6 9556 98D9 98DA 5126 98B7 700C 85E8
+8B24 7202 81D5 8D06 93E2 7A6E 9573 98C6 98C7 98C8
+9A43 9463 9A6B
+8868 5A4A 88F1 8AD8 893E 9336 6AA6
+4FF5 9CD4 9C3E
+98CA
+618B 87DE 9CD6 9C49 9F08 864C 9F9E
+5225 522B 5487 8382 86C2 5FB6 8952 8E69
+762A 765F
+5F46
+6C43 90A0 73A2 780F 5BBE 5F6C 68B9 50A7 658C 6915
+6EE8 7F24 69DF 7478 8C69 8CD3 8CD4 9554 5110 6FD2
+6FF1 8668 8C73 6AB3 74B8 7015 9726 7E7D 944C 986E
+6448 6BA1 8191 9AE9 64EF 9B02 6BAF 81CF 9ACC 9B13
+9AD5 9B22
+6C1E 6FF5
+51AB 4ECC 4ED2 6C37 51B0 5175 63A4
+4E19 90B4 9643 6032 62A6 79C9 82EA 661E 663A 67C4
+70B3 997C 772A 7A89 86C3 6452 7980 7A1F 9235 927C
+9905 9920 979E
+5E76 4E26 4F75 5E77 5EB0 5002 6824 75C5 7ADD 504B
+50A1 5BCE 68C5 8A81 9BA9 9750
+57AA 9786 92F2
+7676 5E17 62E8 6CE2 7677 73BB 525D 5265 54F1 76CB
+7835 889A 94B5 997D 7D34 7F3D 83E0 88B0 7886 9262
+50E0 5D93 64A5 64AD 9911 9B81 8E73 9A4B 9C4D
+4EE2 4F2F 72BB 8091 9A73 5E1B 72DB 74DD 82E9 4FBC
+52C3 80C9 90E3 4EB3 632C 6D61 74DF 79E1 88AF 94B9
+94C2 8116 8236 88B9 535A 6E24 8467 9E41 613D 640F
+733C 9238 9251 998E 50F0 717F 7254 7B94 824A 8514
+999B 99C1 8E23 92CD 9548 999E 99EE 894F 8C70 5697
+61EA 7921 7C19 939B 993A 9D53 72A6 9AC6 9AC9 6B02
+896E 7934 946E
+8DDB 7BA5 7C38
+5B79 6A97 7CEA 8B52 8617
+535C 5575 8421 818A
+5CEC 5EAF 900B 6661 923D 8AA7
+9CEA 8F50 91AD
+535F 8865 54FA 6355 55B8 88DC 9D4F
+4E0D 5E03 4F48 5425 6B65 5498 6016 62AA 6B68 6B69
+67E8 949A 52CF 57D4 57D7 6091 6357 8379 90E8 94B8
+57E0 74FF 8500 8E04 90F6 9914 7BF0 9922 7C3F
+FDD0-0043
+5693 64E6 6503
+7924
+906A 56C3
+5072 5A47 731C
+624D 72B2 6750 8D22 8CA1 88C1 6EA8 7E94
+6BDD 91C7 5038 554B 5BC0 5F69 63A1 776C 8DF4 7DB5
+8E29
+57F0 83DC 68CC 8521 7E29
+53C2 53C3 53C4 98E1 9A96 53C5 55B0 6E4C 50AA 5B20
+9910 9A42
+6B8B 8695 60ED 6B98 615A 8745 6159 5B31 8836 883A
+60E8 6701 6158 61AF 7A47 7BF8 9EEA 9EF2
+707F 63BA 5B71 7CB2 647B 6FAF 8592 71E6 74A8 8B32
+510F 7218
+4ED3 4EFA 4F27 6CA7 82CD 9E27 5009 8231 5096 5D62
+6EC4 734A 84BC 8259 87A5 9DAC
+85CF 9476
+8CF6
+6FF8 7F49 6B0C
+64A1 64CD 7CD9
+66FA 66F9 5608 5D86 6F15 84F8 69FD 893F 825A 87AC
+93EA
+8278 8349 613A 61C6 9A32
+808F 9135 8959
+8279
+518A 518C 4FA7 5395 607B 62FA 6D4B 6547 755F 5074
 53A0 7B27 7CA3 8417 5EC1 60FB 6E2C 7B56 8434 7B5E
-7B74 84DB 5884 7BA3 61A1 7C0E 5D7E 81A5 5C91 68A3
-6D94 7B12 564C 5C42 5C64 5D92 7AF2 9A53 8E6D 785B
-7873 5CBE 7320 4E7D 53C9 6260 6271 8286 6748 809E
-81FF 633F 8A0D 505B 55CF 63D2 63F7 9987 929F 9538
-8256 7580 9364 9388 9937 79C5 579E 67E5 67FB 832C
-8336 5D56 643D 7339 976B 69CE 8A67 5BDF 78B4 8928
-6AAB 8869 8E45 9572 9454 597C 6C4A 5C94 4F98 8BE7
-524E 59F9 5DEE 7D01 8A6B 62C6 9497 91F5 72B2 4FAA
-67F4 7961 8C7A 558D 5115 831D 867F 52D1 8883 7625
-8806 56C6 8FBF 89C7 68B4 63BA 6400 8998 88E7 647B
-92D3 5E68 895C 6519 5A75 8C17 5B71 68CE 6E79 7985
-998B 5B0B 7158 7F20 50DD 7351 8749 874A 8A97 92CB
-5103 5EDB 6F79 6F7A 7DFE 78DB 79AA 6BDA 913D 9561
-700D 87EC 5133 5296 7E75 87FE 9141 56B5 58E5 5DC9
-703A 6B03 7E8F 7E92 8E94 9575 826C 8B92 9471 995E
-4EA7 522C 65F5 4E33 6D50 5257 8C04 7522 7523 94F2
-9610 8487 5277 5D7C 644C 6EFB 5E5D 8546 8AC2 95B3
-71C0 7C05 5181 7E5F 91A6 8B42 93DF 95E1 56C5 705B
-8B87 5FCF 785F 6472 61F4 98A4 61FA 7FBC 97C2 986B
-4F25 660C 5000 5A3C 6DD0 7316 83D6 960A 667F 6919
-7429 88EE 9520 9329 95B6 9CB3 9BE7 9F1A 957F 4EE7
-514F 80A0 82CC 9577 9578 5C1D 507F 5E38 5F9C 74FA
+7B74 84DB 5884 7BA3 61A1 7C0E
+5D7E
+5C91 6D94 7B12 68A3
+66FD 564C
+5C42 66FE 5C64 5D92 7AF2 9A53
+8E6D
+53C9 6260 6748 809E 81FF 633F 505B 55CF 63D2 63F7
+9987 929F 9538 8256 7580 9364 9937
+79C5 579E 67E5 832C 8336 5D56 643D 7339 976B 69CE
+8A67 5BDF 78B4 6AAB
+8869 8E45 9572 9454
+597C 6C4A 5C94 4F98 8BE7 59F9 5DEE 7D01 8A6B
+8286 62C6 9497 91F5
+4FAA 67F4 8C7A 7961 558D 5115 9F5C
+831D
+867F 8883 8A0D 7625 8806 56C6
+8FBF 89C7 68B4 6400 8998 88E7 9246 92D3 5E68 895C
+6519
+5A75 8C17 68CE 6E79 7985 998B 7158 7F20 50DD 7351
+8749 8A97 92CB 5103 5B0B 5EDB 6F79 6F7A 7DFE 6FB6
+78DB 79AA 6BDA 913D 9561 700D 87EC 5133 5296 87FE
+9141 56B5 5DC9 703A 6B03 7E8F 7E92 8E94 9575 826C
+8B92 9471 995E
+4EA7 522C 65F5 4E33 65BA 6D50 5257 8C04 5574 7522
+7523 94F2 9610 8487 5277 5D7C 644C 6EFB 563D 5E5D
+8546 8AC2 95B3 9AA3 71C0 7C05 5181 7E5F 8B42 8FB4
+93DF 95E1 56C5 705B 8B87
+5FCF 785F 6472 61F4 98A4 61FA 7FBC 97C2 986B
+58E5
+4F25 660C 5000 5A3C 6DD0 7316 83D6 960A 667F 7429
+88EE 9520 9329 95B6 9CB3 9BE7 9F1A
+4EE7 514F 80A0 82CC 9578 5C1D 507F 5E38 5F9C 74FA
 8407 751E 8178 5617 5872 5AE6 747A 8193 92FF 511F
-5690 87D0 9CBF 93DB 9C68 5382 573A 6636 60DD 5834
-655E 50D8 53B0 5EE0 6C05 92F9 6005 739A 7545 5021
-9B2F 5531 60B5 7452 66A2 757C 8AAF 97D4 6284 5F28
-600A 6B29 949E 8A2C 712F 8D85 9214 7E5B 724A 6641
-5DE2 5DE3 671D 911B 9F0C 6F05 5632 6A14 6F6E 7AB2
-7F7A 8F48 9F02 8B3F 5435 7092 7727 717C 9EA8 5DD0
-4EE6 4EEF 8016 89D8 8F66 4F21 8ECA 4FE5 7817 5513
-8397 7868 86FC 626F 5056 64A6 5972 5C6E 5F7B 577C
-8FE0 70E2 70F2 8045 63A3 7869 9819 5FB9 64A4 6F88
-52F6 77AE 7221 62BB 90F4 68FD 741B 55D4 7D9D 778B
-8AC3 8CDD 8B13 5C18 81E3 5FF1 6C89 8FB0 9648 8FE7
-831E 5BB8 70E5 8380 8390 9673 6550 6668 8A26 8C0C
-8ED9 6116 63E8 9202 7141 852F 5875 6A04 760E 9703
-87B4 8AF6 85BC 9E8E 66DF 9DD0 8DBB 7876 789C 588B
-5926 78E3 8E38 8D02 95EF 886C 75A2 79F0 9F80 8D81
-8D82 6987 7A31 9F53 9F54 512D 56AB 8C36 6AEC 896F
-8B96 9637 6CDF 8670 67FD 722F 68E6 6D7E 5041 86CF
-94DB 725A 7424 8D6A 6186 645A 9757 6490 6491 7DFD
-6A55 77A0 8D6C 9833 6A89 7AC0 7A6A 87F6 93F3 93FF
-9953 943A 4E1E 6210 673E 5448 627F 67A8 8BDA 90D5
-4E57 57CE 5A0D 5BAC 5CF8 6D06 837F 4E58 57D5 6330
-73F9 8100 6381 73F5 7A9A 812D 94D6 5818 60E9 68D6
-6909 7A0B 7B6C 7D7E 88CE 584D 5856 6E97 7880 8AA0
-757B 9172 92EE 6195 6F82 6F84 6A59 6A99 9BCE 7013
-61F2 9A2C 4FB1 5F8E 609C 901E 9A8B 5EB1 7748 9A01
-79E4 5403 599B 6758 4F99 54E7 5F68 80F5 86A9 9E31
-74FB 7735 7B1E 7C9A 55AB 8A35 55E4 5AB8 645B 75F4
-7D7A 5644 779D 8ABA 87AD 9D1F 9D44 7661 9B51 9F5D
-6521 9EB6 5F72 9ED0 5F1B 6C60 9A70 5758 8FDF 5CBB
-6CDC 830C 6301 7AFE 834E 4FFF 6B6D 5319 6DD4 801B
-86B3 8D7F 7B42 8CBE 9045 8D8D 905F 99B3 5880 6F26
-8E1F 9072 7BEA 8B18 5C3A 53FA 544E 8094 4F88 5376
-9F7F 5791 62F8 80E3 6065 803B 8687 88B3 8C49 6B3C
-6B6F 88B2 88ED 9279 892B 9F52 5F73 53F1 65A5 707B
-8D64 996C 62B6 8FE3 52C5 605C 70BD 7FC4 7FC5 6555
-70FE 75D3 557B 6E41 98ED 50BA 75F8 815F 8DEE 9253
-96F4 618F 7FE4 906B 9290 6157 761B 7FE8 71BE 61D8
-7CE6 8DA9 994E 9D92 9DD8 5145 51B2 5FE1 6C96 833A
-6D7A 73EB 7FC0 8202 5603 644F 5FB8 6183 61A7 885D
-7F7F 825F 8E56 866B 5D07 5D08 9680 6F34 8908 7DDF
-8769 87F2 721E 5BA0 57EB 5BF5 94F3 63F0 9283 62BD
-E837 7D2C 640A 7633 7BD8 72A8 72AB 4EC7 4FE6 5E31
-6826 60C6 7EF8 83D7 6906 7574 7D52 6101 7697 7A20
-7B79 88EF 8A76 9167 916C 7DA2 8E0C 5114 96D4 5B26
-5E6C 61E4 85B5 71FD 96E0 7587 7C4C 8E8A 91BB 8B8E
-8B90 4E11 4E12 541C 677D 4FB4 5062 7785 919C 77C1
-9B57 81ED 81F0 905A 6BA0 51FA 5C80 521D 6474 6A17
-8C99 9F63 520D 9664 82BB 53A8 6EC1 84A2 8C60 9504
-698B 8021 84AD 870D 8D8E 924F 96CF 7293 854F 5EDA
-7BE8 92E4 6A71 61E8 5E6E 6AC9 87F5 8E87 96DB 6AE5
-8E70 9DB5 8E95 6775 7840 6918 50A8 696E 7987 695A
-891A 6FCB 5132 6A9A 74B4 790E 9F6D 9F7C 4E8D 51E6
-5904 7ACC 6035 62C0 7ECC 8C56 6B2A 7AD0 4FF6 654A
-57F1 73FF 7D40 8655 5097 7421 9110 6410 6EC0 89E6
-8E00 95A6 510A 563C 8AD4 61B7 6A7B 65B6 6B5C 81C5
-9EDC 89F8 77D7 640B 8197 63E3 E852 E850 555C 562C
-8E39 5DDB 5DDD 6C1A 7A7F 5276 744F 4F20 8221 8229
-8239 570C 732D 9044 50B3 693D 6B42 66B7 7BC5 8F32
-821B 8348 5598 50E2 6C4C 4E32 7394 948F 91E7 8CD7
-9DA8 5205 56F1 75AE 7A93 7A97 724E 6450 7255 7621
-7ABB 5E8A 7240 5647 50B8 6F3A 78E2 95D6 521B 6006
-5231 524F 5259 5275 6134 5439 708A 9FA1 5782 5015
-57C0 6858 9672 6376 83D9 6425 68F0 8144 69CC 9524
-7BA0 9318 939A 9840 65FE 6776 6625 8405 583E 5A8B
-6699 693F 69C6 7443 7BBA 877D 6A41 8F34 6AC4 E858
-9C06 9D9E 7EAF 9659 5507 6D71 7D14 83BC 6DF3 8123
-6E7B 7289 6EE3 8493 9E51 6F18 84F4 9187 9195 931E
-9BD9 9D89 5046 8436 60F7 7776 8CF0 8E33 8822 8E14
-6233 8FB6 8FB5 5A15 5A16 60D9 6DB0 7EF0 9034 814F
-8F8D 916B 7DBD 8DA0 8F1F 9F8A 64C9 78ED 6B60 56BD
-9F6A 9461 9F71 5472 73BC 75B5 8D80 5068 7E12 9AB4
+5690 9CBF 93DB 9C68
+5382 573A 6636 60DD 5834 50D8 53B0 5EE0 6C05 92F9
+6005 739A 7545 5021 9B2F 5531 60B5 713B 7452 66A2
+757C 8AAF 97D4
+655E 6919 87D0
+6284 5F28 600A 6B29 949E 8A2C 712F 8D85 9214 52E6
+724A 6641 5DE2 5DE3 671D 911B 9F0C 6F05 5632 6A14
+6F6E 7AB2 7F7A 8F48 9F02 8B3F
+5435 7092 7727 7123 717C 9EA8 5DD0
+4EE6 4EEF 8016 89D8
+8F66 4F21 8ECA 4FE5 7817 5513 8397 7868 86FC
+626F 5056 64A6
+5C6E 5F7B 577C 8FE0 70E2 8045 63A3 7869 9819 5FB9
+64A4 6F88 52F6 77AE 7221
+62BB 90F4 6375 741B 55D4 7D9D 778B 8AC3 8CDD 7E1D
+8B13
+5C18 81E3 5FF1 6C88 6C89 8FB0 9648 8FE7 831E 5BB8
+8380 8390 9673 6550 8A26 8C0C 8ED9 6116 63E8 9202
+7141 852F 5875 6A04 760E 9703 87B4 8AF6 85BC 9E8E
+66DF 9DD0
+8DBB 7876 789C 588B 5926 78E3 8E38 9356 8D02 91A6
+886C 75A2 9F80 8D81 8D82 6987 9F53 512C 9F54 512D
+56AB 8C36 6AEC 896F 8B96
+70E5 6668
+9637 6CDF 67FD 722F 68E6 6D7E 7424 79F0 5041 86CF
+6E5E 725A 8D6A 50DC 6186 645A 7A31 9757 6490 6491
+7DFD 6A55 77A0 8D6C 9833 6A89 7AC0 7A6A 87F6 93F3
+93FF 9953
+4E1E 6210 673E 5448 627F 67A8 8BDA 90D5 4E57 57CE
+5A0D 5BAC 5CF8 6D06 837F 4E58 57D5 6330 665F 73F9
+8100 6381 73F5 7880 7A9A 812D 94D6 5818 60E9 68D6
+6909 7A0B 7B6C 7D7E 88CE 584D 5856 6E97 8AA0 757B
+9172 92EE 6195 6F82 6F84 6A59 6A99 7013 61F2 9A2C
+4FB1 5F8E 609C 901E 9A8B 5EB1 7748 9A01
+79E4
+9BCE
+5403 4F99 54E7 5F68 80F5 86A9 9E31 74FB 7735 7B1E
+55AB 8A35 55E4 5AB8 645B 75F4 7D7A 5644 779D 8ABA
+87AD 9D1F 7661 9B51 9F5D 5F72 9ED0
+5F1B 6C60 9A70 8FDF 577B 5CBB 830C 6301 7AFE 834E
+6B6D 86B3 8D7F 7B42 8CBE 9045 8D8D 905F 99B3 7B8E
+5880 6F26 8E1F 9072 7BEA 8B18
+5C3A 53FA 544E 4F88 5376 9F7F 5791 80E3 6065 7C8E
+803B 8687 88B3 6B3C 6B6F 88B2 88ED 9279 892B 9F52
+5F73 53F1 65A5 6758 707B 8D64 996C 62B6 52C5 605C
+70BD 52D1 7FC4 7FC5 6555 70FE 75D3 557B 6E41 7873
+98ED 50BA 75F8 815F 8DEE 9253 96F4 618F 7608 7FE4
+906B 9290 6157 761B 7FE8 71BE 61D8 8DA9 994E 9D92
+9DD8
+599B 9EB6
+5145 51B2 5FE1 6C96 833A 6D7A 73EB 7FC0 8202 5603
+644F 5FB8 6183 61A7 885D 7F7F 825F 8E56
+866B 5D07 5D08 9680 8908 7DDF 8769 87F2 721E
+5BA0 57EB 5BF5
+94F3 63F0 9283
+62BD 5A64 640A 7633 7BD8 72A8 72AB
+4EC7 601E 4FE6 5E31 6826 60C6 7D2C 7EF8 83D7 6906
+7574 7D52 6101 7697 7A20 7B79 88EF 9167 7DA2 8E0C
+5114 96D4 568B 5B26 5E6C 61E4 85B5 71FD 96E0 7587
+7C4C 8E8A 91BB 8B8E 8B90
+4E11 4E12 541C 677B 677D 4FB4 5062 7785 919C 77C1
+9B57
+81ED 81F0 905A 6BA0
+916C
+51FA 5C80 521D 6474 6A17 8C99 9F63
+520D 9664 82BB 53A8 6EC1 84A2 8C60 9504 5AB0 8021
+84AD 870D 8D8E 924F 96CF 7293 854F 5EDA 7BE8 92E4
+6A71 5E6E 6AC9 85F8 8E87 96DB 6AE5 8E70 9DB5 8E95
+51E6 6775 7840 6918 50A8 696E 891A 6FCB 5132 6A9A
+790E 9F6D 9E00 9F7C
+4E8D 5904 7ACC 6035 62C0 7ECC 8C56 67F7 6B2A 7AD0
+4FF6 654A 755C 57F1 73FF 7D40 8655 5097 7421 9110
+6410 6EC0 84EB 89E6 8E00 95A6 510A 563C 8AD4 61B7
+65B6 6B5C 81C5 9EDC 89F8 77D7
+695A 698B 6A7B 74B4 87F5
+6B3B 6B58
+63E3 640B
+8197
+555C 562C 81AA 8E39
+5DDB 5DDD 6C1A 7A7F 5276 732D 744F
+4F1D 4F20 8221 8229 8239 570C 9044 50B3 693D 66B7
+7BC5 8F32
+821B 8348 5598 6B42 50E2 8E33
+6C4C 4E32 7394 948F 91E7 8CD7 9DA8
+5205 75AE 7A93 7A97 724E 6450 7255 7621 7ABB
+5E8A 7240 5647 5E62
+95EF 50B8 6464 78E2 95D6
+521B 6006 5231 524F 5259 51D4 5275 6134
+5439 708A
+5782 5015 57C0 9672 6376 83D9 6425 68F0 690E 8144
+69CC 9524 7BA0 9318 939A 9840
+9FA1
+65FE 6776 6625 8405 583E 5A8B 6699 693F 7443 7BBA
+877D 6A41 8F34 81A5 6AC4 9C06 9D9E
+7EAF 9659 5507 6D71 7D14 83BC 6DF3 8123 6E7B 7289
+6EE3 8493 6F18 84F4 9187 9195 931E 9BD9
+5046 8436 60F7 7776 8CF0 8822
+9E51 9D89
+9034 8E14 6233
+8FB6 8FB5 5A15 5A16 5A7C 60D9 6DB0 7EF0 814F 8F8D
+916B 7DBD 8DA0 8F1F 9F8A 64C9 78ED 7E5B 6B60 56BD
+9F6A 9461
+5472 75B5 8D7C 8D80 5068 8DD0 7E12 9AB4 9ACA 8800
+9F79
 8BCD 73C1 5790 67CC 7960 8308 8328 5832 74F7 8A5E
-8F9D 6148 7506 8F9E 9236 78C1 96CC 9E5A 7CCD 8FA4
-98FA 9908 5B28 6FE8 858B 9D1C 7920 8800 8FAD 9DBF
-9DC0 6B64 4F4C 6CDA 7689 8DD0 673F 6B21 4F7D 523A
-523E 5E9B 8326 6828 83BF 7D58 86D3 8D50 8786 8CDC
-55ED 4ECE 5306 56EA 82C1 5FE9 679E 8310 6031 5F9E
-60A4 68C7 7127 8471 6964 6F17 8061 84EF 8525 9AA2
-66B0 6A05 6A2C 719C 747D 7481 7DEB 8066 806A 779B
-7BF5 8070 87CC 7E71 93E6 9A18 9A44 4E1B 5F93 5A43
-5B6E 5F96 60B0 6DD9 742E 6152 6F0E 6F40 6F48 6F68
-8AB4 8CE8 8CE9 6A37 85C2 53E2 7047 6B09 721C 6181
-8B25 51D1 6E4A 6971 8160 8F8F 8F33 7C97 89D5 9E81
-9E84 9EA4 5F82 6B82 4FC3 731D 5AA8 9162 7604 851F
-8A8E 8D97 5648 61B1 8E27 918B 762F 7C07 7E2C 8E59
-9F00 8E74 8E75 9863 6C46 64BA 9569 8E7F 651B 8EA5
-9479 6505 6AD5 5DD1 6B11 7A73 7A9C 71B6 7BE1 6BA9
-7BF9 7C12 7AC4 7228 5D14 50AC 51D7 7F1E 5894 5D89
-615B 6467 69B1 69EF 7355 78EA 7E17 93D9 4E7C 6F3C
-7480 8DA1 76A0 4F1C 5FF0 75A9 5005 7D23 7FC6 8103
-8106 5550 555B 60B4 6DEC 8403 6BF3 7120 7601 7CB9
-7DB7 7FE0 81B5 81AC 7AC1 894A 9847 81CE 90A8 6751
-76B4 58AB 6F8A 7AF4 5B58 62F5 8E06 520C 5FD6 5BF8
-540B 7C7F 6413 7473 9073 78CB 64AE 8E49 919D 9ACA
-8658 5D6F 5D73 75E4 7749 77EC 84AB 8516 9E7E 9E7A
-9F79 811E 5249 5252 539D 590E 632B 839D 83A1 63AA
-902A 68E4 9509 84CC 9519 92BC 932F 5491 54D2 8037
-7563 642D 55D2 8921 5660 58B6 6498 939D 8FBE 8FCF
-8FD6 547E 59B2 601B 6C93 57AF 709F 7F8D 8345 8359
-5273 5312 7B2A 9039 6E9A 7B54 8A5A 9054 8DF6 7629
-977C 8598 9791 71F5 7E68 87FD 9389 8E82 943D 97C3
-9F96 9F98 6253 5927 4EA3 7714 6A7D 5446 5454 7343
-61DB 6B79 50A3 4EE3 6C4F 8F6A 4FA2 5788 5CB1 5E12
-7519 7ED0 8FE8 5E26 5F85 6020 67CB 6B86 73B3 8D37
-5E2F 8ED1 57ED 5E36 7D3F 86AE 888B 8EDA 902E 8CB8
-8EE9 7447 5ED7 53C7 66C3 7DFF 9B98 9D0F 6234 825C
-9EDB 7C24 8E5B 703B 9734 8976 9EF1 9746 4E39 5989
-5355 62C5 5358 7708 7803 803C 803D 90F8 8043 8EAD
-9156 55AE 5A85 6B9A 7605 5330 7BAA 891D 9132 9815
-510B 52EF 64D4 6BAB 7649 894C 7C1E 8078 4F14 5210
-72DA 73AC 74ED 80C6 8874 75B8 7D1E 63B8 4EB6 99BE
-64A3 6FB8 9ED5 81BD 65E6 4F46 5E0E 6C8A 6CF9 8BDE
-67E6 758D 8A11 5556 5557 5F39 60EE 6DE1 840F 86CB
-557F 6C2E 8145 8711 89DB 7A9E 8A95 50E4 5649 9AE7
-563E 5F48 619A 61BA 6FB9 79AB 9924 99F3 9D20 7514
-765A 56AA 8D09 972E 994F 5F53 73F0 88C6 7B5C 7576
-5105 5679 6FA2 74AB 8960 7C39 8261 87F7 6321 515A
-8C20 64CB 8B61 9EE8 6529 7059 6B13 8B9C 6C39 51FC
-5735 5B95 7800 57B1 8361 6863 83EA 5A78 74FD 903F
-96FC 6F52 78AD 778A 8569 8DA4 58CB 6A94 7497 76EA
-7911 7C1C 862F 95E3 5200 5202 53E8 5C76 5FC9 6737
-6C18 8220 91D6 9C7D 9B5B 636F 5BFC 5C9B 9666 5012
-5BB2 5CF6 6363 7977 7982 6417 969D 5D8B 5D8C 69DD
-5C0E 96AF 58D4 5DB9 64E3 8E48 79B1 5230 60BC 7118
-76D7 83FF 6921 76DC 9053 7A32 7FE2 5675 7A3B 885C
-6AA4 885F 71FE 7FFF 8EC7 74D9 7E9B 6074 5F97 6DC2
-60B3 60EA 951D 561A 5FB3 5FB7 9340 7684 63FC 6265
-627D 706F 767B 8C4B 5654 5B01 71C8 7492 7AF3 7C26
-8260 89B4 8E6C 7B49 6225 9093 50DC 51F3 9127 96A5
-58B1 5D9D 77AA 78F4 956B 6AC8 9419 4EFE 4F4E 5943
-5F7D 889B 5572 57DE 7F9D 9684 5824 8D86 5600 6EF4
-955D 78FE 9349 97AE 93D1 5EF8 72C4 8091 7C74 82D6
-8FEA 5519 654C 6DA4 837B 6891 7B1B 89CC 976E 6ECC
-9AE2 5AE1 850B 8510 9814 9B61 6575 7BF4 5681 85E1
-8C74 7CF4 89BF 9E10 6C10 538E 8BCB 90B8 963A 5467
-577B 5E95 5F24 62B5 62DE 67E2 7274 7825 638B 83E7
-89DD 8A46 8EE7 805C 9AB6 9BF3 5730 5F1A 5754 5F1F
-65F3 6755 7393 601F 67A4 82D0 4FE4 5E1D 57CA 5A23
-9012 9013 5059 5547 688A 710D 7731 7976 7B2C 83C2
-8C1B 91F1 5A82 68E3 7747 7F14 8482 50C0 7998 8163
-905E 926A 99B0 5891 58AC 6455 78B2 8515 8743 9070
-6178 750B 7DE0 5DB3 8AE6 8E36 87AE 55F2 6541 6382
-508E 53A7 5D6E 6EC7 69D9 7628 98A0 8E4E 5DC5 985A
-985B 766B 5DD3 5DD4 6527 7672 9F7B 5178 594C 70B9
-5A70 655F 6923 7898 84A7 8547 8E2E 9EDE 7535 4F43
-7538 963D 576B 5E97 57AB 6242 73B7 94BF 5538 5A5D
-60E6 6DC0 5960 7414 6BBF 8714 923F 96FB 588A 58C2
-6A42 6FB1 975B 78F9 765C 7C1F 9A54 5201 53FC 6C48
-521F 866D 51CB 595D 5F34 5F6B 86C1 7431 8C82 7889
-9CED 6BA6 7797 96D5 9B89 9CB7 7C13 9F26 9BDB 9D70
-625A 5C4C 5F14 4F04 540A 9493 7A8E 8A0B 8C03 6389
-91E3 94DE 921F 7AE8 84E7 92B1 96FF 8ABF 7639 7AB5
-92FD 85CB 9443 7239 8DCC 893A 82F5 8FED 57A4 5CCC
-604E 6315 7ED6 80C5 74DE 7723 800A 5551 621C 8C0D
-558B 581E 5E49 60F5 63F2 7573 7D70 800B 81F7 8A44
-8D83 53E0 6B9C 7243 7252 957B 5D7D 789F 8728 890B
-8253 8776 7582 8ADC 8E40 9CBD 66E1 66E2 9C08 7589
-758A 6C0E 54CB 6633 7730 56B8 4E01 4EC3 53EE 5E04
-738E 753C 7594 76EF 9489 8035 914A 91D8 976A 5975
-9876 9802 9F0E 5D7F 9F11 85A1 9424 8BA2 5FCA 9964
-77F4 5B9A 8A02 98E3 5576 8423 6917 815A 7887 952D
-78A0 8062 8063 9320 78F8 9841 4E1F 4E22 94E5 98A9
-92A9 4E1C 51AC 549A 5CBD 6771 82F3 6638 6C21 5032
-9E2B 57EC 5A3B 5D2C 6DB7 7B17 83C4 6C2D 8740 9B97
-9F15 9BDF 9D87 9DAB 8463 58A5 5B1E 61C2 7BBD 856B
-8ACC 52A8 51BB 4F97 578C 59DB 5CD2 5CDD 606B 630F
-680B 6D1E 80E8 8FF5 51CD 6219 80F4 52D5 5D20 7850
-68DF 6E69 8156 50CD 8A77 99E7 9718 543A 5245 5517
-90FD 515C 5160 8538 6A77 7BFC 8254 6597 4E67 9627
-6296 6793 94AD 9661 86AA 9204 8C46 90D6 6D62 8373
-9017 997E 9B25 68AA 6BED 8130 9158 75D8 9597 7AA6
-9B26 92C0 9916 65A3 95D8 7AC7 9B2A 9B2C 9B2D 5262
-9607 561F 7763 918F 95CD 6BD2 6D9C 8BFB 6E0E 691F
-724D 728A 88FB 8AAD 8773 7368 9316 51DF 5335 5B3B
-7006 6ADD 6BB0 7258 72A2 74C4 76BE 9A33 9EE9 8B80
-8C44 8D15 97E3 9AD1 945F 97C7 97E5 9EF7 8B9F 53BE
-72EC 7B03 5835 5E3E 743D 8D4C 7779 89A9 8CED 7BE4
+8F9D 6148 7506 8F9E 78C1 96CC 9E5A 7CCD 8FA4 98FA
+9908 5B28 6FE8 858B 9D1C 7920 8FAD 9DBF 9DC0
+6B64 4F4C 6CDA 73BC 7689 7D2A 9B86
+673F 6B21 4F3A 4F7D 523A 523E 5E9B 8326 6828 83BF
+7D58 86D3 8D50 8786 8CDC
+5306 56EA 56F1 82C1 5FE9 679E 6031 60A4 68C7 7127
+8471 6F17 8061 84EF 8525 9AA2 66B0 6A05 6A2C 719C
+747D 7481 7DEB 8066 806A 71EA 779B 7BF5 8070 87CC
+936F 7E71 93E6 9A18 9A44
+4ECE 4E1B 5F93 5A43 5B6E 5F96 5F9E 60B0 6DD9 742E
+6152 6F0E 6F40 6F68 8AB4 8CE8 8CE9 6A37 85C2 53E2
+7047 6B09 721C
+6181 8B25
+8310
+51D1 6E4A 8160 8F8F 8F33
+7C97 89D5 9E81 9E84 9EA4
+5F82 6B82
+4FC3 731D 8128 9162 7604 851F 8A8E 8D97 5648 61B1
+8E27 918B 762F 7C07 7E2C 8E59 9F00 8E74 8E75 9863
+6C46 64BA 92D1 9569 8E7F 651B 8EA5 9479
+6AD5 5DD1 6B11 7A73
+7A9C 6BA9 71B6 7BE1 7C12 7AC4 7228
+5D14 50AC 51D7 7F1E 5894 5D89 615B 6467 69B1 7355
+69EF 78EA 7E17 93D9
+6F3C 7480 8DA1 76A0
+4F1C 5FF0 75A9 5005 7C8B 7D23 7FC6 8103 8106 5550
+555B 60B4 6DEC 8403 6BF3 7120 813A 7601 7CB9 7DB7
+7FE0 81B5 81AC 6FE2 7AC1 894A 9847 81CE
+4E7C
+90A8 6751 76B4 8E06 6F8A 7AF4
+5B58 4F9F 62F5
+520C 5FD6
+5BF8 540B 7C7F
+6413 7473 9073 78CB 64AE 8E49 919D
+8658 5D6F 5D73 75E4 7749 77EC 84AB 8516 9E7E 9142
+9E7A 8EA6
+811E
+5249 5252 539D 590E 632B 839D 83A1 63AA 902A 65AE
+68E4 9509 84CC 9519 6B75 92BC 932F
+FDD0-0044
+5491 54D2 8037 8345 7B1A 55D2 642D 8921 5660 6498
+939D
+8FBE 8FD6 547E 59B2 601B 6C93 709F 7F8D 8359 7557
+5273 5312 7563 7B2A 9039 7B54 8A5A 9054 9618 977C
+8598 9791 87FD 9389 8E82 943D 97C3 9F96 9F98
+6253
+5927 6C4F 7714
+57AF 7629 58B6 71F5 7E68
+5446 5454 7343 61DB
+6B79 902E 50A3
+4EE3 8F6A 5788 5CB1 5E12 7519 7ED0 8FE8 9A80 5E26
+5F85 6020 67CB 6B86 73B3 8D37 5E2F 8ED1 57ED 5E36
+7D3F 888B 8EDA 8CB8 8EE9 7447 5ED7 53C7 66C3 7DFF
+9D0F 6234 825C 9EDB 7C24 8E5B 703B 9734 8976 9EF1
+9746
+9B98
+4E39 5989 5355 62C5 5358 7708 7803 803C 803D 90F8
+8043 8EAD 55AE 5A85 6B9A 7605 5330 7BAA 891D 9132
+9815 510B 52EF 64D4 6BAB 7514 7649 894C 7C1E 8078
+4F14 5210 628C 73AC 74ED 80C6 8874 75B8 7D1E 63B8
+8D55 4EB6 64A2 64A3 6FB8 9ED5 81BD 9EEE
+65E6 4F46 5E0E 6C8A 72DA 8BDE 67E6 758D 5556 5557
+5F39 60EE 6DE1 840F 86CB 557F 5F3E 6C2E 8145 8711
+89DB 7A9E 8A95 50E4 5649 99BE 9AE7 563E 5F48 619A
+61BA 66BA 6FB9 79AB 84DE 99F3 9D20 765A 56AA 7E75
+8D09 972E 994F
+6CF9
+5F53 73F0 88C6 7B5C 7576 5679 6FA2 74AB 8960 7C39
+8261 87F7
+6321 515A 8C20 64CB 8B61 9EE8 6529 7059 6B13 8B9C
+6C39 51FC 5735 5B95 7800 57B1 8361 6863 83EA 5A78
+6113 74FD 903F 5D63 96FC 6F52 78AD 5105 778A 8569
+8DA4 58CB 6A94 7497 76EA 7911 7C1C 862F 95E3
+94DB 943A
+5200 5202 53E8 5FC9 6737 6C18 8220 91D6 9C7D 9B5B
+636F
+5BFC 5C9B 5CF6 6363 7977 7982 6417 969D 5D8B 5D8C
+5C0E 96AF 58D4 5DB9 64E3 8E48 79B1
+5230 5012 60BC 7118 76D7 83FF 76DC 9053 7A32 7B8C
+7FE2 5675 7A3B 885C 6AA4 885F 71FE 7FFF 8EC7 74D9
+7E9B
+5C76 9666 6921 69DD
+561A
+6074 6DC2 60EA 68CF 951D 5FB3 5FB7 9340
+5730 7684 5F97 8126
+6265 627D
+706F 767B 8C4B 5654 5B01 71C8 7492 7AF3 7C26 89B4
+8E6C
+6729 7B49 6225
+9093 51F3 9127 96A5 58B1 5D9D 77AA 78F4 956B 6AC8
+9419
+8260
+6C10 4EFE 4F4E 5943 5F7D 889B 7F9D 9684 5824 8D86
+6EF4 6A00 955D 78FE 9349 97AE
+5EF8 72C4 7C74 82D6 8FEA 5519 654C 6DA4 837B 6891
+7B1B 89CC 976E 6ECC 99B0 9AE2 5600 5AE1 7FDF 850B
+8510 9814 6575 7BF4 5681 85E1 8C74 8E62 9B04 93D1
+7CF4 89BF 9E10
+538E 5758 8BCB 90B8 963A 5467 5E95 5F24 62B5 62DE
+830B 67E2 7274 7825 57DE 638B 83E7 89DD 8A46 8EE7
+805C 9AB6
+5754 5F1F 65F3 6755 7393 601F 4FE4 5E1D 57CA 5A23
+9012 9013 5059 5547 5572 688A 710D 73F6 7731 7976
+7B2C 83C2 8C1B 91F1 5A82 68E3 6E27 7747 7F14 8482
+50C0 7998 8163 905E 926A 5891 58AC 6455 78B2 8515
+8743 9070 6178 750B 7DE0 5DB3 8AE6 8E36 87AE
+9BF3
+55F2
+7538 6541 6382 508E 53A7 5D6E 6EC7 69C7 69D9 7628
+98A0 8E4E 5DC5 985A 985B 766B 5DD3 5DD4 6527 7672
+9F7B
+5178 594C 70B9 5A70 7320 655F 8DD5 7898 84A7 8547
+8E2E 9EDE 56B8
+7535 4F43 963D 576B 5E97 57AB 6242 73B7 94BF 5A5D
+60E6 6DC0 5960 7414 6BBF 8714 96FB 588A 58C2 6A42
+6A5D 6FB1 975B 765C 7C1F 9A54
+6923
+5201 53FC 6C48 866D 51CB 595D 5F34 5F6B 86C1 7431
+8C82 7889 9CED 6BA6 7797 96D5 9B89 9CB7 9F26 9BDB
+9D70
+625A 5C4C
+5F14 4F04 540A 9493 7A8E 8A0B 8C03 6389 91E3 94DE
+94EB 7AE8 84E7 92B1 96FF 9B61 8ABF 7639 7AB5 92FD
+85CB 9443
+7C13
+7239 8DCC 893A
+82F5 8FED 57A4 5CCC 604E 6315 6633 7ED6 80C5 74DE
+7723 621C 8C0D 558B 581E 60F5 63F2 7573 7D70 800B
+81F7 8A44 8D83 957B 53E0 6B9C 7243 7252 5D7D 789F
+8728 890B 8253 8776 8ADC 8E40 9CBD 66E1 7589 9C08
+758A 6C0E
+54CB 800A 7730
+5E49 7582
+4E01 4EC3 53EE 5E04 738E 7594 76EF 9489 8035 8670
+914A 91D8 976A
+5975 9876 9802 9F0E 5D7F 9F11 6FCE 85A1 9424
+8BA2 5FCA 9964 77F4 5B9A 8A02 98E3 5576 94E4 6917
+815A 7887 952D 78A0 874A 92CC 9320 78F8 9841
+8423 8062
+4E1F 4E22 94E5 92A9
+4E1C 51AC 549A 5CBD 6771 82F3 6638 6C21 5032 9E2B
+57EC 5A3B 5D20 5D2C 6DB7 7B17 83C4 5F9A 6C2D 8740
+9D24 9F15 9BDF 9D87
+8463 58A5 5B1E 61C2 7BBD 856B 8ACC
+52A8 51BB 4F97 578C 59DB 5CD2 606B 630F 680B 6D1E
+80E8 8FF5 51CD 6219 80F4 52D5 7850 68DF 6E69 7D67
+8156 50CD 99E7 9718
+9B97 9DAB
+543A 5517 90FD 515C 5160 8538 6A77 7BFC
+9627 6296 6793 67A1 9661 551E 86AA 9204
+6597 8C46 90D6 6D62 8373 9017 997E 9B25 68AA 6BED
+8130 9158 75D8 9597 7AA6 9B26 9916 65A3 95D8 7AC7
+9B2A 9B2D 9B2C
+4E67 8254
+53BE 5262 9607 561F 7763 918F 95CD
+6BD2 72EC 6D9C 8BFB 6E0E 691F 724D 728A 78A1 88FB
+8AAD 8773 7368 9316 51DF 5335 5B3B 7006 6ADD 6BB0
+7258 72A2 74C4 76BE 9A33 9EE9 8B80 8C44 8D15 97E3
+9AD1 945F 97C7 97E5 9EF7 8B9F
+7B03 5835 5E3E 743D 8D4C 7779 89A9 8CED 7BE4
 828F 5992 675C 809A 59AC 5EA6 8370 79FA 6E21 976F
-9540 8799 6BAC 934D 8827 8839 8011 5073 5A8F 7AEF
-890D 9374 77ED 6BB5 65AD 5845 7F0E 846E 6934 7145
-7456 8176 78AB 953B 7DDE 6BC8 7C16 935B 65B7 8E96
-7C6A 53FE 5796 5806 5860 5D5F 75FD 78D3 9827 9D2D
-941C 961F 5BF9 514A 514C 5151 5BFE 794B 603C 966E
-968A 7893 7D90 5C0D 619D 6FE7 85B1 9566 61DF 7029
-8B48 9413 8B75 5428 60C7 6566 8733 58A9 58AA 58FF
-64B4 7364 5678 6489 6A54 729C 7905 8E72 8E7E 9A50
-76F9 8DB8 8E89 4F05 56E4 5E89 6C8C 7096 76FE 7818
-9007 949D 987F 9041 920D 815E 9813 78B7 906F 619E
-6F61 71C9 8E32 591A 591B 5484 54C6 8324 525F 5D1C
-6560 6BF2 88F0 5689 4EDB 593A 94CE 526B 6387 6553
-655A 55A5 656A 75E5 922C 596A 51D9 8E31 9BB5 9438
-6735 6736 54DA 579B 6305 6306 57F5 7F0D 692F 8D93
-8EB1 8EB2 7D9E 4EB8 8EC3 9B0C 56B2 5234 5241 6CB2
-964A 964F 9973 579C 5C2E 67EE 6857 5815 8235 60F0
-8DE2 8DE5 8DFA 98FF 58AE 5D9E 619C 58AF 9D7D 59B8
-59BF 5A3F 5C59 8BB9 542A 56EE 8FD7 4FC4 5A25 5CE8
-5CE9 6D90 83AA 73F4 8A1B 7692 774B 920B 9507 9E45
-86FE 78C0 8A90 92E8 981F 989D 9B64 984D 9D5D 9D5E
-8B4C 6799 7808 5A40 60E1 5641 9A00 9D48 5384 6B7A
-5C75 6239 5C8B 9628 5443 627C 82CA 9638 545D 7810
-8F6D 54A2 54B9 57A9 59F6 5CC9 530E 6076 7828 8685
-997F 5054 537E 580A 60AA 7846 8C14 8EDB 9102 960F
-582E 5D3F 6115 6E42 843C 8C5F 8EF6 904C 904F 5EC5
-6424 6439 7427 816D 8A7B 50EB 8741 9537 9E57 855A
-907B 981E 989A 9913 5669 64DC 89A8 8AE4 95BC 9929
-9354 9CC4 6B5E 984E 6AEE 9C10 9D9A 8B8D 9469 9F76
-9C77 5940 6069 84BD 717E 5CCE 6441 97A5 4ED2 4E7B
-65D5 513F 800C 5150 4F95 5152 9651 5CCF 6D0F 800F
-834B 682D 80F9 5532 88BB 9E38 7CAB 804F 8F00 9C95
-96AD 9AF5 9B9E 9D2F 8F5C 5C12 5C13 5C14 8033 8FE9
-6D31 9975 682E 6BE6 73E5 94D2 723E 927A 990C 99EC
-85BE 9087 8DB0 4E8C 5F0D 5F10 4F74 5235 54A1 8D30
-8CAE 8848 8CB3 8A80 6A32 53D1 6CB7 767A 767C 5F42
-9AEA 6A43 9197 4E4F 4F10 59C2 57A1 75BA 7F5A 8337
-9600 6830 50A0 7B4F 7782 7F70 95A5 7F78 85C5 4F71
-6CD5 781D 9345 704B 73D0 743A 9AEE 5E06 5FDB 72BF
-756A 52EB 5643 58A6 5B0F 5E61 61A3 65D9 65DB 7FFB
-85E9 8F53 98BF 7C53 98DC 9C55 51E1 51E2 51E3 5325
-674B 67C9 77FE 7C75 9492 8224 70E6 8227 7B32 91E9
-68E5 7169 7DD0 6A0A 8543 6A4E 71D4 74A0 81B0 85A0
-7E41 894E 7E59 7FB3 8E6F 703F 792C 8629 9407 881C
-9DED 53CD 4EEE 6255 8FBA 8FD4 6C3E 72AF 597F 6C4E
-6CDB 996D 8303 8D29 7548 8A09 8ED3 68B5 76D5 7B35
-8CA9 8EEC 98EF 98F0 6EFC 5B0E 7BC4 5B14 702A 531A
-65B9 90A1 574A 82B3 678B 7265 94AB 6DD3 8684 580F
-8DBD 9201 933A 9D0B 9632 59A8 623F 80AA 57C5 9C82
-9B74 4EFF 8BBF 5F77 7EBA 6609 6618 74EC 7706 5023
-65CA 7D21 822B 8A2A 9AE3 9DAD 653E 98DE 5983 975E
-98DB 5561 5A53 5A54 6E04 7EEF 83F2 6249 7306 975F
-88F6 7DCB 871A 970F 9CB1 9925 99A1 9A11 9A1B 9BE1
-98DD 80A5 6DDD 6683 8153 8730 87E6 670F 80D0 532A
-8BFD 595C 60B1 6590 68D0 69A7 7FE1 855C 8AB9 7BDA
-5420 5E9F 676E 6CB8 72D2 80BA 6632 8D39 4FF7 5255
-539E 75BF 5C5D 8409 5EC3 8CBB 75F1 9544 5EE2 855F
-66CA 7648 9F23 6FF7 6AE0 9428 9745 5206 5429 5E09
-7EB7 82AC 6610 6C1B 73A2 7AD5 886F 7D1B 7FC2 68FB
-8A1C 8EAE 915A 9216 96F0 6706 9934 9959 5746 575F
-59A2 5C8E 6C7E 678C 7083 80A6 68A4 7F92 86A0 86A1
-68FC 711A 84B6 999A 96AB 58B3 5E69 8561 9B75 9CFB
-6A68 71CC 71D3 8C6E 9F22 7FB5 9F16 8C76 8F52 943C
-99A9 9EC2 7C89 7793 9EFA 4EFD 574B 5F05 594B 5FFF
-79CE 507E 6124 7CAA 50E8 61A4 596E 81B9 7CDE 9CBC
-7035 9C5D 4E30 98CE 4EF9 51E8 51EC 59A6 6CA3 6CA8
-51EE 67AB 5C01 75AF 76FD 781C 98A8 5CEF 5CF0 5051
-687B 70FD 7412 5D36 6E22 6E84 7326 8451 950B 6953
-728E 8702 760B 78B8 50FC 7BC8 9137 92D2 6A92 8C50
-93BD 93E0 9146 5BF7 7043 8634 974A 98CC 9EB7 51AF
-5906 6340 6D72 9022 5838 99AE 6453 7D98 7F1D 8242
-7E2B 8BBD 8982 552A 8AF7 51E4 5949 752E 4FF8 6E57
-7128 7148 8D57 9CEF 9CF3 9D0C 8CF5 8615 74F0 8985
-4ECF 4F5B 5772 68BB 57BA 7D11 7F36 5426 599A 7F39
-7F3B 96EC 9D00 592B 4F15 909E 544B 598B 59C7 678E
-739E 80A4 6024 67CE 7806 80D5 8342 886D 5A10 5C03
-8374 65C9 7D28 8DBA 915C 9EB8 7A03 8DD7 9207 7B5F
-7D92 911C 5B75 8C67 6577 819A 9CFA 9EA9 7CD0 9EAC
-9EB1 61EF 4E40 5DFF 5F17 4F0F 51EB 7536 51B9 521C
-5B5A 6276 8299 82A3 82BE 5488 5CAA 5E17 5F7F 602B
-62C2 670D 6CED 7EC2 7ECB 82FB 8300 4FD8 5798 67B9
-67EB 6C1F 6D11 70A5 73B8 7549 7550 7953 7F58 832F
-90DB 97E8 9CEC 54F9 683F 6D6E 7557 7829 83A9 86A8
-5310 6874 6DAA 70F0 7408 7B26 7B30 7D31 7D3C 7FC7
-8274 83D4 8659 88B1 5E45 68F4 7D65 7F66 844D 798F
-7CB0 7D8D 8240 8709 8F90 9258 925C 98AB 9CE7 6991
-7A2A 7B99 8907 97CD 5E5E 6F93 8760 9AF4 9D14 8AE8
-8E3E 8F3B 9B84 7641 8946 9BB2 9EFB 8965 9D69 9D9D
-5452 629A 752B 5E9C 5F23 62CA 65A7 4FCC 90D9 4FEF
-91DC 91E1 636C 812F 8F85 6928 7124 76D9 8151 6ECF
-8705 8150 8F14 64AB 9B34 7C20 9EFC 961D 7236 8BA3
-4ED8 5987 8D1F 9644 5490 577F 7ACE 961C 9A78 590D
-5CCA 7954 8A03 8CA0 8D74 86A5 889D 965A 5069 51A8
-526F 5A4F 5A66 86B9 5085 5A8D 5BCC 5FA9 79FF 842F
-86D7 8984 8A42 8D4B 6931 7F1A 8179 9C8B 79A3 8914
-8D59 7DEE 8567 875C 876E 8CE6 99D9 7E1B 8F39 9B92
-8CFB 9351 9362 9CC6 8986 99A5 9C12 7324 65EE 4F3D
-5620 9486 5C1C 91D3 560E 5676 9337 5C15 738D 5C2C
-9B40 4F85 8BE5 90C2 9654 5793 59DF 5CD0 8344 6650
-8D45 7561 7974 7D6F 9691 8A72 8C65 8CC5 8CCC 5FCB
-6539 7D60 9385 4E10 4E62 5303 5304 675A 9499 76D6
-6461 6E89 8462 9223 6224 6982 84CB 69E9 69EA 6F11
-74C2 5E72 7518 5FD3 8289 8FC0 653C 6746 7395 809D
-5769 6CD4 82F7 67D1 7AFF 75B3 9150 7C93 4E81 51F2
-5C32 5C34 7B78 6F27 9CF1 5C36 5C37 9B50 4EE0 76AF
-79C6 8866 8D76 6562 687F 7B34 7A08 611F 6F89 8D95
-6A44 64C0 7C33 9CE1 9C64 65F0 6C75 76F0 77F8 7EC0
-501D 51CE 6DE6 7D3A 8A4C 9AAD 5E79 69A6 6A8A 8D63
-8D1B 7068 5188 7F53 51AE 521A 962C 5C97 7EB2 809B
-5CA1 7268 7598 77FC 7F38 94A2 525B 7F61 E827 E82D
-5808 6386 91ED 68E1 7285 583D 7DB1 7F41 92FC 93A0
-5D17 6E2F 6760 7135 7B7B 69D3 6206 6207 768B 7F94
-7F99 9AD8 7690 9AD9 81EF 6EDC 776A 69D4 777E 818F
-69F9 6A70 7BD9 7CD5 993B 6ADC 97DF 9DCE 9F1B 9DF1
-5930 6772 83D2 7A01 641E 7F1F 69C0 69C1 7354 7A3E
-7A3F 9550 7E1E 85C1 6ABA 85F3 93AC 543F 544A 52C2
-8BF0 90DC 5CFC 796E 7970 9506 7B76 66A0 799E 8AA5
-92EF 6208 572A 72B5 7EA5 6213 8090 726B 7599 7271
-7D07 54E5 80F3 88BC 9E3D 5272 6401 5F41 6B4C 6ED2
-6228 95A4 9D10 9D1A 64F1 8B0C 9D3F 93B6 5444 4F6E
-530C 630C 8316 9601 9769 654B 683C 9B32 6105 81F5
-845B 86D2 86E4 88D3 9694 55DD 5865 6EC6 89E1 643F
-69C5 8188 95A3 9549 9788 97D0 9ABC 8AFD 8F35 9BAF
-6ACA 9398 97DA 8F55 97B7 9A14 9C2A 54FF 8238 4E2A
-5404 867C 500B 784C 94EC 7B87 927B 7366 7ED9 7D66
-6839 8DDF 54CF 4E98 826E 831B 63EF 6404 66F4 522F
-5E9A 754A 6D6D 8015 63B6 83EE 6929 713F 7D5A 8D53
-9E52 7DEA 7E06 7FAE 8CE1 7FB9 9D8A 90E0 54FD 57C2
-5CFA 632D 7EE0 803F 8384 6897 7D86 9CA0 9ABE 9BC1
-4E99 5829 5579 55BC 55F0 5DE5 5F13 516C 53B7 529F
-653B 675B 4F9B 7CFC 80B1 5BAB 5BAE 606D 86A3 8EAC
-9F9A 5311 5868 5E4A 6129 89E5 8EB3 5314 78BD 7BE2
-9AF8 89F5 9F8F 9F94 5EFE 5DE9 6C5E 62F1 551D 62F2
-6831 73D9 8F01 978F 5171 8D21 7FBE 8CA2 6150 7195
-8D11 515D 5163 52FE 4F5D 6C9F 94A9 88A7 7F11 920E
-6E9D 9264 7DF1 8920 7BDD 7C3C 97B2 97DD 5CA3 72D7
-82DF 67B8 73BD 8007 8009 7B31 8008 86BC 8C7F 5778
-6784 8BDF 8D2D 57A2 59E4 8329 5193 591F 5920 8A3D
-5ABE 5F40 6406 8A6C 9058 96CA 69CB 7179 89CF 6480
-89AF 8CFC 4F30 5495 59D1 5B64 6CBD 6CD2 67E7 8F71
-5502 5503 7F5B 9E2A 7B1F 83C7 83F0 86C4 84C7 89DA
-8EF1 8EF2 8F9C 9164 6BC2 9232 7B8D 7B9B 5AF4 7BD0
-6A6D 9B95 9D23 8F42 9E58 9DBB 53E4 5903 6262 6C69
-8BC2 8C37 80A1 5CE0 726F 9AA8 7F5F 7F96 9027 94B4
-50A6 5552 6DC8 8135 86CA 86CC 5C33 6132 7138 7872
-8A41 9989 9E44 69BE 9237 9F13 9F14 560F 6996 76B7
-7A40 7E0E 7CD3 85A3 6FF2 81CC 9936 7014 76EC 77BD
-9D60 8831 56FA 6018 6545 51C5 987E 580C 5D13 5D2E
-688F 727F 68DD 797B 96C7 75FC 7A12 9522 980B 50F1
-932E 9CB4 9BDD 9867 74DC 522E 82FD 80CD 9E39 6B44
-713B 7171 98AA 8D8F 5280 7DFA 92BD 98B3 9D30 9A27
-518E 53E7 5471 5250 526E 5569 5BE1 5366 576C 8BD6
-6302 639B 7F63 7D53 7F6B 8902 8A7F 4E56 62D0 67B4
-67FA 7B89 592C 53CF 602A 6060 5173 89C2 5B98 51A0
-898C 500C 8416 68FA 8484 7AA4 95A2 761D 764F 89B3
-95D7 9CCF 95DC 9C25 89C0 9C5E 9986 742F 75EF 7B66
-7BA1 8F28 8218 9327 9928 8E80 9CE4 535D 6BCC 4E31
-8D2F 6CF4 60BA 60EF 63BC 6DAB 8CAB 60B9 797C 6163
-645C 6F45 9066 6A0C 76E5 7F46 96DA 93C6 704C 721F
-74D8 77D4 7936 9E73 7F50 9475 9E1B 9C79 5149 706E
-4F8A 7097 709A 709B 54A3 5799 59EF 6D38 832A 6844
-70E1 73D6 80F1 7844 50D9 8F04 92A7 9EC6 6B1F 5E7F
-5E83 72B7 5EE3 7377 81E9 4FC7 901B 81E6 6497 5F52
-572D 59AB 9F9F 89C4 90BD 7688 8325 95FA 5E30 73EA
-80FF 4E80 7845 7A90 88BF 898F 5AAF 691D 7470 90CC
-5AE2 646B 95A8 9C91 5B00 5DB2 69FB 69FC 749D 77A1
-81AD 9BAD 9F9C 5DC2 6B78 9B36 9A29 74CC 9B39 6AF7
-5B84 6C3F 8F68 5E8B 4F79 5326 8BE1 9652 579D 59FD
-6051 7678 8ECC 9B3C 5EAA 796A 532D 6677 6E40 86EB
-89E4 8A6D 53AC 7C0B 87E1 523D 523F 6530 660B 67DC
-7085 6531 8D35 6842 6922 7B40 8CB4 6E8E 84D5 8DEA
-7786 528A 528C 648C 69F6 77B6 79AC 7C02 6AC3 8958
-9CDC 97BC 9C56 9C65 4E28 886E 60C3 7EF2 889E 8F8A
-6EDA 84D8 88F7 6EFE 7DC4 8509 78D9 7DF7 8F25 9CA7
-9B8C 9BC0 68CD 68DE 7754 7774 74AD 8B34 5459 54BC
-57DA 90ED 556F 581D 5D1E 6947 8052 921B 9505 588E
-7611 5613 5F49 6FC4 8748 934B 5F4D 87C8 56EF 56F6
-56FB 56FD 5700 570B 5E3C 63B4 8158 5E57 6156 6451
-6F0D 805D 852E 8195 8662 9998 679C 60C8 6DC9 7313
-83D3 9983 6901 8901 69E8 7CBF 7DB6 873E 88F9 8F20
-991C 9439 8FC7 904E 8142 598E 94EA 927F 4E37 54C8
-548D 55E8 5B69 9AB8 6D77 80F2 70F8 5870 917C 91A2
-4EA5 9A87 5BB3 6C26 55D0 9900 99ED 99F4 56A1 995A
-4E64 516F 4F44 9878 54FB 86B6 9163 9807 5AE8 8C3D
-61A8 99A0 9B7D 9F3E 9097 542B 90AF 51FD 5481 80A3
-51FE 8677 5505 5705 5A22 6D5B 5D21 6657 6892 6DB5
-7113 5BD2 5D45 97E9 751D 7B68 7233 872C 6F8F 92E1
-97D3 5388 7F55 6D6B 558A 850A 8C43 9B2B 6C49 5C7D
-625E 6C57 95EC 65F1 57BE 608D 634D 6658 6D86 7302
-839F 6665 6DCA 710A 7400 83E1 91EC 9588 7694 7745
-50BC 86FF 9894 99AF 6496 6F22 872D 66B5 71AF 92B2
-92CE 61BE 64BC 7FF0 8792 9837 9844 99FB 8B40 E821
-E820 96D7 701A 862B 9DBE 592F 9B67 5994 82C0 8FD2
-65BB 676D 57B3 7ED7 7B10 822A 86A2 9883 8CA5 7B55
-7D4E 980F 6C86 8320 84BF 5686 8585 85A7 7AD3 869D
-6BEB 6903 55E5 7346 5651 8C6A 5637 734B 512B 66CD
-568E 58D5 6FE0 7C47 8814 8B79 597D 90DD 53F7 660A
-6626 79CF 54E0 604F 608E 6D69 8017 6667 6DCF 5090
-7693 6EC8 8055 865F 66A4 66AD 6F94 769C 769E 76A1
-8583 76A5 98A2 704F 9865 9C1D 705D 515E 8BC3 5475
-62B2 6B31 559D 8A36 55EC 881A 79BE 5408 4F55 52BE
-548A 548C 59C0 6CB3 90C3 5CC6 66F7 67C7 72E2 76C7
-7C7A 9602 9978 54EC 6546 6838 76C9 76CD 8377 555D
-6DB8 6E2E 76D2 79F4 83CF 8402 86B5 9F81 60D2 7CAD
-8A38 988C 6941 6BFC 8A65 8C88 8C89 924C 9616 9C84
-7186 95A1 9E56 9EA7 6F95 981C 7BD5 7FEE 879B 9B7A
-7909 95D4 97A8 9F55 8988 9DA1 76AC 9449 9FA2 4F6B
-578E 8D3A 8894 96BA 5BC9 7103 6E7C 8CC0 55C3 7142
-788B 7187 8910 8D6B 9E64 7FEF 58D1 764B 71FA 7200
-9DB4 9F43 974D 974E 9E16 974F 9ED2 9ED1 563F 6F76
-5B12 62EB 75D5 978E 4F77 5F88 72E0 8A6A 6068 4EA8
-54FC 6099 6DA5 811D 59EE 6046 6052 6841 70C6 73E9
-80FB 9E3B 6A2A 6A6B 8861 9D34 9D46 8605 9445 5548
-583C 56CD 4E4A 4E65 53FF 7074 8F70 54C4 8A07 70D8
-8EE3 63C8 6E39 7122 7861 8C3E 85A8 8F37 569D 9367
-8F5F 4EDC 5F18 5985 7EA2 5430 5B8F 6C6F 7392 7EAE
-95F3 5B96 6CD3 739C 82F0 57AC 5A02 6D2A 7AD1 7D05
-836D 8679 6D64 7D18 7FC3 803E 7854 7D2D 8C39 9E3F
-6E31 7AE4 7CA0 8452 8453 921C 958E 7D8B 7FDD 8C3C
-6F42 9277 9783 9B5F 7BCA 92D0 5F4B 857B 9710 9EC9
-971F 9D3B 9ECC 664E 55CA 8BA7 8A0C 95A7 6494 6F8B
-6F92 92BE 95C0 95C2 9B28 9F41 4FAF 77E6 5589 5E3F
-7334 8454 760A 777A 9297 7BCC 7CC7 7FED 9ABA 936D
-9931 9BF8 543C 543D 72BC 540E 90C8 539A 5795 5F8C
-6D09 9005 5019 9107 5820 8C5E 9C8E 9C98 9B9C 9C5F
-4E4E 5322 864D 547C 5780 5FFD 6612 66F6 6CD8 82F8
-6057 70C0 8F77 532B 553F 60DA 6DF4 8656 8EE4 96FD
-5611 5BE3 6EF9 96D0 5E60 6B51 81B4 8B3C 56EB 6287
-5F27 72D0 74F3 80E1 58F6 58F7 659B 7100 5596 58FA
-5AA9 6430 6E56 7322 7D57 846B 695C 7173 745A 561D
-851B 9E55 69F2 7BB6 7CCA 8774 885A 9B71 7E20 879C
-9190 9836 89F3 9378 992C 702B 9B0D 9C17 9D98 9DA6
-9DAE 4E55 6C7B 864E 6D52 552C 8400 7425 865D 6EF8
-7B8E 933F 9BF1 4E92 5F16 6236 6237 6238 51B1 51B4
-8290 5E0D 62A4 6C8D 6CAA 5CB5 6019 623D 6608 6791
-795C 7B0F 7C90 5A5F 6248 74E0 7D94 9120 5AED 5AEE
-6462 6EEC 8530 69F4 71A9 9CF8 7C04 9359 569B 9E71
-8B77 9CE0 97C4 9800 9C6F 9E0C 82B1 82B2 57D6 5A72
-691B 7874 7CC0 8AAE 9335 8624 534E 54D7 59E1 9A85
-83EF 94E7 6ED1 733E 5629 64B6 748D 78C6 8550 8796
-92D8 8B41 93F5 9A4A 9DE8 5316 5212 6779 753B 8BDD
-5D0B 6866 5A73 756B 5B05 7575 89DF 8A71 5283 6466
-69EC 6A3A 5AFF 6F85 8AD9 8AE3 9ECA 7E63 8219 8633
+9540 8799 6BAC 934D 7C35 8827 8839
+8011 5073 526C 5A8F 7AEF 890D 9374
+77ED
+6BB5 65AD 5845 7F0E 846E 6934 7145 7456 8176 78AB
+953B 7DDE 6BC8 7C16 935B 65B7 8E96 7C6A
+8968
+5796 5806 5860 5D5F 75FD 78D3 9D2D 941C
+9827
+961F 5BF9 514A 514C 5151 5BFE 794B 603C 966E 968A
+7893 7D90 5C0D 619E 619D 6FE7 85B1 9566 61DF 7029
+8B48 9413
+5428 60C7 6566 8733 58A9 58AA 64B4 7364 5678 6489
+6A54 729C 7905 8E72 8E7E 9A50
+76F9 8DB8 8E89
+4F05 56E4 5E89 6C8C 7096 76FE 7818 9007 949D 987F
+9041 920D 696F 9813 906F 6F61 71C9 8E32
+78B7
+591A 591B 5484 54C6 7553 525F 5D1C 6387 6560 6BF2
+88F0 5689
+593A 94CE 526B 6553 655A 55A5 60B3 656A 75E5 922C
+596A 51D9 8E31 9BB5 9438
+6736 54DA 579B 579C 6305 6306 57F5 7F0D 692F 8D93
+8EB1 8EB2 619C 7D9E 4EB8 937A 8EC3 56B2 5972
+5234 5241 964A 964F 9973 5C2E 67C1 67EE 70A8 6857
+5815 8235 60F0 8DE2 8DE5 8DFA 98FF 58AE 5D9E 58AF
+9D7D
+6735 67A4
+FDD0-0045
+59B8 59BF 5A3F 5A40 5C59 94B6 75FE
+8BB9 542A 56EE 8FD7 4FC4 5A25 5CE8 5CE9 6D90 83AA
+73F4 8A1B 7692 774B 920B 9507 9E45 86FE 78C0 8A90
+981F 989D 9B64 96B2 984D 9D5D 9D5E 8B4C 9C2A
+6799 7808 980B 5641 9A00
+5384 5C75 6239 6B7A 5C8B 9628 5443 627C 82CA 9638
+545D 7810 8F6D 54A2 54B9 57A9 59F6 5CC9 530E 6076
+7828 8685 997F 5054 537E 580A 60AA 63A0 7565 7846
+8C14 8EDB 9102 960F 582E 5D3F 60E1 6115 6E42 843C
+8C5F 8EF6 904C 904F 922A 5EC5 6424 6439 7427 816D
+8A7B 50EB 8741 9537 9B65 9E57 855A 981E 989A 9913
+5669 89A8 8AE4 95BC 9929 8C96 9354 9CC4 6B5E 984E
+7918 6AEE 9C10 9D9A 8B8D 9F43 9469 9F76 9C77
+64DC 9D48
+8BF6 8A92
+5940 6069 84BD 717E
+5CCE
+6441
+97A5
+513F 800C 5150 4F95 5152 9651 5CCF 6D0F 834B 682D
+80F9 5532 88BB 9E38 7CAB 804F 8F00 9C95 96AD 9AF5
+9B9E 9D2F 8F5C
+53BC 5C12 5C13 5C14 8033 8FE9 6D31 9975 682E 6BE6
+73E5 94D2 723E 990C 99EC 85BE 9087 8DB0
+4E8C 5F0D 5F10 4F74 5235 54A1 8D30 8CAE 8848 8CB3
+8A80 927A 6A32
+FDD0-0046
+53D1 6CB7 767A 50A0 767C 9166 5F42 91B1
+4E4F 4F10 59C2 57A1 6D4C 75BA 7F5A 8337 9600 6830
+781D 7B4F 7782 7F70 95A5 7F78 6A43 85C5
+4F71 6CD5 704B
+73D0 743A 9AEA 855F 9AEE
+9345
+5E06 8A09 756A 52EB 5643 5B0F 5E61 61A3 8543 65D9
+65DB 7E59 7FFB 85E9 8F53 98BF 7C53 98DC 9C55
+51E1 51E2 51E3 5FDB 674B 67C9 77FE 7C75 9492 70E6
+8227 7B32 68E5 6E22 7169 7DD0 58A6 6A0A 6A4E 71D4
+74A0 81B0 85A0 7E41 894E 7FB3 8E6F 702A 703F 792C
+8629 9407 9422 881C 9DED
+53CD 6255 8FD4 91E9
+6C3E 72AF 597F 6C4E 6CDB 996D 8303 8D29 7548 8ED3
+5A4F 68B5 76D5 7B35 8CA9 8EEC 98EF 98F0 6EFC 5B0E
+7BC4
+8224
+531A 65B9 90A1 6C78 82B3 678B 7265 94AB 6DD3 8684
+9201 9D0B
+9632 59A8 623F 80AA 57C5 9C82 9B74 9C1F
+4EFF 8BBF 5F77 7EBA 6609 6618 74EC 7706 5023 65CA
+7D21 822B 8A2A 9AE3 9DAD
+653E 8DBD
+574A 580F 933A
+98DE 5983 975E 98DB 5561 5A53 6E04 7EEF 83F2 6249
+7306 975F 88F6 7DCB 871A 970F 9CB1 9925 99A1 9A11
+9A1B 98DD
+80A5 6DDD 8153 8730 87E6
+670F 532A 8BFD 595C 60B1 6590 68D0 69A7 7FE1 855C
+8AB9 7BDA
+5420 82BE 5E9F 676E 6CB8 72D2 80BA 6632 80C7 8D39
+4FF7 5255 539E 75BF 966B 5C5D 8409 5EC3 8CBB 75F1
+9544 5EE2 66CA 7648 9F23 6FF7 6AE0 9BE1 9428 9745
+5A54 6683
+5206 5429 5E09 7EB7 82AC 6610 6C1B 54DB 886F 517A
+7D1B 7FC2 515D 68FB 8A1C 915A 9216 96F0 6706 71D3
+9934 9959
+575F 59A2 5C8E 6C7E 670C 678C 7083 80A6 7F92 86A0
+86A1 68A4 68FC 711A 84B6 999A 96AB 58B3 5E69 6FC6
+8561 9B75 6A68 71CC 8C6E 9F22 7FB5 9F16 8C76 8F52
+943C 99A9 9EC2
+7C89 9EFA
+4EFD 5F05 594B 5FFF 79CE 507E 6124 7CAA 50E8 61A4
+596E 81B9 7CDE 9CBC 7035 9C5D
+7AD5 8EAE
+4E30 98CE 4EF9 51E8 51EC 59A6 6CA3 6CA8 51EE 67AB
+5C01 75AF 76FD 781C 98A8 5CEF 5CF0 5051 687B 70FD
+5D36 7326 8451 950B 6953 728E 8702 760B 78B8 50FC
+7BC8 9137 92D2 6A92 95CF 8C50 93E0 9146 5BF7 7043
+8634 973B 882D 974A 98CC 9EB7
+51AF 5906 6340 6D72 9022 5838 99AE 6453 6F28 7D98
+8242
+8BBD 8982 552A 8AF7
+51E4 5949 752E 4FF8 6E57 7128 7148 7F1D 8D57 9CEF
+9CF3 9D0C 7E2B 8CF5
+7412 6E84 93BD 8615
+8985
+4ECF 5772
+68BB
+7D11 88E6
+7F36 5426 599A 7F39 7F3B 6B95 96EC 9D00
+4F15 909E 544B 598B 59C7 739E 80A4 6024 67CE 7806
+8342 886D 57BA 5A10 5C03 8374 65C9 7D28 8DBA 9EB8
+75E1 7A03 8DD7 9207 7B5F 7D92 911C 5B75 8C67 6577
+819A 9CFA 9EA9 7CD0 9EAC 9EB1 61EF
+4E40 5DFF 5F17 4F0F 51EB 7536 4F5B 51B9 521C 5B5A
+6276 8299 82A3 5488 5CAA 5F7F 602B 62C2 670D 678E
+6CED 7EC2 7ECB 82FB 8300 4FD8 5798 67EB 6C1F 6D11
+70A5 73B8 7549 7550 7953 7F58 832F 90DB 97E8 54F9
+683F 6D6E 7829 83A9 86A8 5310 6874 6DAA 70F0 7408
+7B26 7B30 7D31 7D3C 7FC7 8274 83D4 8659 5E45 68F4
+7D65 7F66 844D 798F 7CB0 7D8D 8240 8709 8F90 9258
+925C 98AB 9CE7 6991 7A2A 7B99 97CD 5E5E 6F93 8760
+9AF4 9D14 8AE8 8E3E 8F3B 9B84 7641 8946 9EFB 9D69
+9D9D
+5452 629A 4E76 5E9C 5F23 62CA 65A7 4FCC 4FDB 80D5
+90D9 9CEC 4FEF 91DC 91E1 636C 8F85 7124 76D9 8151
+6ECF 8705 8150 8F14 5638 64A8 64AB 982B 9B34 7C20
+9EFC
+961D 7236 8BA3 4ED8 5987 8D1F 9644 577F 7ACE 961C
+9A78 590D 5CCA 7954 8A03 8CA0 8D74 86A5 889D 965A
+5069 51A8 526F 5A66 86B9 5A8D 5BCC 5FA9 79FF 842F
+86D7 8A42 8D4B 5711 6931 7F1A 8179 9C8B 8907 8914
+8D59 7DEE 8567 875C 876E 8CE6 99D9 5B14 7E1B 8F39
+9B92 8CFB 9351 9362 9CC6 8986 99A5 9C12
+592B 752B 5490 88B1 915C 5085 6928 8984 79A3 9BB2
+FDD0-0047
+65EE 5477 560E 5620
+9486 5C1C 5676 9337
+5C15 738D
+5C2C 9B40
+4F85 8BE5 90C2 9654 5793 59DF 5CD0 8344 6650 8D45
+7561 7974 7D6F 8A72 8C65 8CC5
+5FCB 6539 7D60
+4E10 4E62 5303 5304 9623 675A 9499 76D6 6461 6E89
+8462 9223 9691 6224 6982 69E9 84CB 8CCC 6F11 69EA
+74C2
+7518 5FD3 8289 8FC0 653C 6746 7395 809D 5769 6CD4
+77F8 82F7 4E79 67D1 7AFF 75B3 9150 4E7E 7C93 4E81
+51F2 5C32 5C34 7B78 6F27 9CF1 5C36 5C37 9B50
+4EE0 625E 76AF 79C6 8866 8D76 6562 687F 7B34 7A08
+611F 6F89 8D95 6A44 64C0 7C33 9C14 9CE1 9C64
+5E72 65F0 6C75 76F0 7EC0 501D 51CE 6DE6 7D3A 8A4C
+9AAD 5E79 69A6 6A8A 8D11 8D63 8D1B 7068
+5188 7F53 51AE 521A 6760 7EB2 809B 5CA1 7268 7598
+77FC 7F38 94A2 525B 7F61 5808 6386 91ED 68E1 7285
+583D 7DB1 7F41 92FC 93A0
+5C97 5D17 6E2F
+7135 7B7B 69D3 6205 6206
+768B 7F94 7F99 9AD8 7690 9AD9 81EF 6EDC 69D4 777E
+818F 69F9 6A70 7BD9 7CD5 993B 6ADC 9DCE 9F1B 9DF1
+5930 6772 83D2 641E 7F1F 66A0 69C0 69C1 7A3E 7A3F
+9550 7E1E 85C1 6ABA 85F3
+543F 544A 52C2 53DD 8BF0 90DC 796E 7970 9506 7170
+7B76 799E 8AA5 92EF
+97DF
+6208 4EE1 572A 72B5 7EA5 6213 8090 726B 7599 54AF
+7271 54E5 80F3 88BC 9E3D 5272 6401 6ED2 6228 6B4C
+9D10 9D1A 64F1 8B0C 9D3F 93B6
+5444 4F6E 530C 630C 8316 9601 9769 654B 683C 9B32
+6105 81F5 845B 86D2 88D3 9694 55DD 5865 6EC6 89E1
+643F 69C5 8188 95A3 95A4 7366 9549 9788 97D0 9ABC
+8AFD 8F35 9BAF 97DA 8F55 97B7 9A14
+54FF 8238
+4E2A 5404 867C 500B 784C 94EC 55F0 7B87
+5F41 6ACA
+7ED9 7D66
+6839 8DDF
+54CF
+826E
+4E98 4E99 831B 63EF
+522F 5E9A 754A 6D6D 8015 83EE 6404 713F 7D5A 8D53
+9E52 7DEA 7E06 7FAE 8CE1 7FB9 9D8A
+90E0 54FD 57C2 5CFA 632D 7EE0 803F 8384 6897 7D86
+9CA0 9ABE 9BC1
+66F4 5829 6685
+63B6 6929
+5DE5 5F13 516C 53B7 529F 653B 675B 4F9B 739C 7CFC
+80B1 5BAB 5BAE 606D 8EAC 9F9A 5311 5868 5E4A 6129
+89E5 8EB3 7195 78BD 9AF8 89F5 9F8F 9F94
+5EFE 5DE9 6C5E 62F1 62F2 6831 73D9 8F01 92DB 978F
+5171 8D21 7FBE 551D 8CA2 83BB
+86A3 6150
+52FE 4F5D 6C9F 94A9 88A7 7F11 920E 6E9D 9264 7DF1
+8920 7BDD 97B2 97DD
+82B6 5CA3 72D7 82DF 67B8 73BD 8007 8009 7B31 8008
+86BC 8C7F
+5778 6784 8BDF 8D2D 57A2 59E4 8329 5193 591F 5920
+8A3D 5ABE 5F40 6406 8A6C 9058 96CA 69CB 7179 89CF
+6480 89AF 8CFC
+4F30 5471 59D1 5B64 6CBD 6CD2 82FD 67E7 8F71 5502
+7F5B 9E2A 7B1F 83F0 86C4 89DA 8EF1 8EF2 8F9C 9164
+9232 7B8D 7B9B 5AF4 6A6D 9B95 9D23
+9DBB
+5903 53E4 6262 6C69 8BC2 8C37 80A1 726F 9AA8 5503
+7F5F 7F96 94B4 5552 6DC8 8135 86CA 86CC 5C33 6132
+84C7 8A41 9989 9E44 69BE 6BC2 9237 9F13 9F14 560F
+6996 76B7 9E58 7A40 7E0E 7CD3 85A3 6FF2 76BC 81CC
+8F42 9936 7014 76EC 77BD 8831
+56FA 6545 51C5 987E 580C 5D13 5D2E 688F 727F 68DD
+797B 96C7 75FC 7A12 9522 50F1 932E 9CB4 9BDD 9867
+5495 5CE0 9027 50A6 83C7 7BD0
+74DC 522E 80CD 681D 9E39 6B44 7171 8052 8D8F 5280
+7DFA 8E3B 92BD 98B3 9D30 9A27
+518E 53E7 5250 526E 5BE1
+5366 576C 8BD6 6302 5569 639B 7F63 7D53 7F6B 8902
+8A7F
+98AA
+4E56 63B4 6451
+62D0 67B4 67FA 7B89
+592C 53CF 602A 6060
+5173 89C2 5B98 51A0 898C 500C 68FA 8484 7AA4 95A2
+761D 764F 89B3 95D7 9CCF 95DC 9C25 89C0 9C5E
+839E 9986 742F 75EF 7B66 7BA1 8F28 8218 9327 9928
+9CE4
+6BCC 4E31 8D2F 6CF4 60BA 60EF 63BC 6DAB 8CAB 60B9
+797C 6163 645C 6F45 9066 6A0C 76E5 7F46 96DA 93C6
+704C 721F 74D8 77D4 7936 9E73 7F50 9475 9C79 9E1B
+5149 706E 4F8A 7097 709B 54A3 5799 59EF 6D38 832A
+6844 70E1 80F1 50D9 8F04 92A7 9EC6
+5E7F 5E83 72B7 5EE3 7377 81E9
+4FC7 73D6 901B 81E6 6497
+709A 6B1F
+5F52 572D 59AB 9F9F 89C4 90BD 7688 8325 95FA 5E30
+73EA 80FF 4E80 5080 7845 7A90 88BF 898F 5AAF 5EC6
+691D 7470 90CC 5AE2 646B 95A8 9C91 5B00 69FB 69FC
+879D 749D 81AD 9BAD 9F9C 5DC2 6B78 9B36 9A29 74CC
+9B39 6AF7
+5B84 6C3F 6739 8F68 5E8B 4F79 5326 8BE1 9652 579D
+59FD 6051 6531 7678 8ECC 9B3C 5EAA 796A 532D 6677
+6E40 86EB 89E4 8A6D 53AC 77A1 7C0B 87E1
+6530 523D 523F 660B 67DC 7094 8D35 6842 6867 7324
+7B40 8CB4 84D5 8DEA 5331 528A 528C 5DA1 648C 69F6
+6A9C 77B6 79AC 7C02 6AC3 7650 8958 9CDC 97BC 9C56
+9C65
+6922
+4E28 886E 60C3 7EF2 889E 88AC 8F8A 6EDA 84D8 6EFE
+7DC4 8509 78D9 8F25 9CA7 9B8C 9BC0
+68CD 7754 7774 74AD 8B34
+5459 54BC 57DA 90ED 581D 5D1E 921B 9505 588E 7611
+5613 5F49 6FC4 8748 934B 5F4D 87C8
+56EF 56F6 56FB 56FD 5700 570B 5E3C 8158 5E57 6156
+6F0D 805D 852E 8195 8662 9998
+679C 60C8 6DC9 7313 83D3 9983 6901 69E8 7CBF 7DB6
+873E 88F9 8F20 9301 991C 9439
+8FC7 904E
+556F
+FDD0-0048
+54C8 94EA
+86E4
+5964
+4E37
+548D 54B3 55E8
+8FD8 5B69 9826 9AB8 9084
+6D77 80F2 70F8 917C 91A2
+4EA5 598E 9A87 5BB3 6C26 55D0 9900 99ED 995A
+5870 56A1
+4F44 70B6 9878 86B6 9163 9807 5AE8 8C3D 61A8 99A0
+6B5B 9F3E
+9097 542B 90AF 51FD 5481 80A3 51FE 8677 5505 5705
+5A22 6D5B 5D21 6657 6892 6DB5 7113 7400 5BD2 5D45
+97E9 751D 7B68 872C 6F8F 92E1 9B7D 97D3
+4E06 5388 7F55 6D6B 558A 850A 961A 8C43 9B2B
+6C49 5C7D 6C57 95EC 65F1 5CBE 54FB 57BE 608D 634D
+6D86 7302 839F 6658 6665 710A 83E1 91EC 9588 7694
+7745 50BC 86FF 9894 99AF 6496 6F22 872D 8C8B 66B5
+71AF 92B2 92CE 61BE 64BC 7FF0 8792 9837 9844 99FB
+8B40 96D7 701A 862B 9DBE
+516F 7233
+592F
+82C0 8FD2 65BB 676D 7ED7 73E9 7B10 822A 86A2 9883
+8CA5 7B55 7D4E 980F 9B67
+6C86
+57B3
+8320 84BF 5686 8585 85A7
+6BDC 869D 6BEB 6903 55E5 7346 8C89 5651 7354 8C6A
+5637 734B 8AD5 512B 568E 58D5 6FE0 7C47 8814 8B79
+597D 90DD
+53F7 660A 6626 79CF 54E0 5CFC 604F 608E 6D69 8017
+6667 6DCF 5090 7693 9117 6EC8 8055 865F 66A4 66AD
+6F94 769C 769E 66CD 76A1 8583 76A5 93AC 98A2 704F
+9865 9C1D 705D
+7AD3
+8BC3 62B2 6B31 559D 8A36 55EC 881A
+79BE 5408 4F55 52BE 5392 548A 548C 59C0 6CB3 90C3
+5CC6 66F7 67C7 72E2 76C7 7C7A 7D07 9602 9978 54EC
+6546 6838 76C9 76CD 8377 555D 6DB8 6E2E 76D2 79F4
+83CF 8402 86B5 9F81 60D2 8A38 988C 6941 6BFC 6F95
+8A65 8C88 8F05 924C 9616 9C84 7186 9E56 9EA7 981C
+7BD5 7FEE 879B 9B7A 7909 95D4 97A8 9F55 8988 9DA1
+76AC 9449 9FA2
+4F6B 578E 8D3A 8894 7103 8CC0 55C3 7142 788B 7187
+8910 8D6B 9E64 7A52 7FEF 58D1 764B 8B1E 7200 9DAE
+9DB4 974E 9E16 974F
+7CAD 974D
+9ED2 9ED1 563F 6F76
+62EB 75D5 978E
+4F77 5F88 72E0 8A6A
+6068
+4EA8 54FC 6099 5548 811D
+59EE 6046 6052 6841 70C6 80FB 9E3B 6A2A 6A6B 8861
+9D34 8605 9445
+583C
+6DA5 9D46
+5677
+53FF 543D 544D 7074 8F70 54C4 8A07 70D8 8EE3 63C8
+6E39 7122 7861 8C3E 85A8 8F37 569D 9367 8F5F
+4EDC 5F18 5985 7EA2 5430 5B8F 6C6F 7392 7EAE 95F3
+5B96 6CD3 82F0 57AC 5A02 6D2A 7AD1 7D05 836D 8679
+5CF5 6D64 7D18 7FC3 803E 7854 7D2D 8C39 9E3F 6E31
+7AE4 7CA0 8452 8453 921C 958E 7D8B 7FDD 8C3C 6F42
+9277 9783 9B5F 92D0 5F4B 857B 9710 9EC9 971F 9D3B
+9ECC
+664E 55CA
+8BA7 8A0C 95A7 6494 6F8B 6F92 92BE 95C2 9B28
+9F41
+4FAF 77E6 9107 5589 5E3F 7334 8454 760A 777A 7BCC
+7CC7 7FED 9ABA 7FF5 936D 9931 9BF8
+543C 72BC
+540E 90C8 539A 5795 5F8C 6D09 9005 5820 8C5E 9C8E
+9C98 9B9C 9C5F
+5019
+4E6F 5322 864D 547C 5780 5FFD 6612 66F6 6CD8 82F8
+6057 70C0 8F77 532B 553F 60DA 6DF4 8656 8EE4 5611
+5BE3 6EF9 96D0 5E60 622F 6B51 81B4 8B3C
+56EB 6287 5F27 72D0 74F3 80E1 58F6 96BA 58F7 659B
+7100 5596 58FA 5AA9 6430 6E56 7322 7D57 846B 695C
+7173 745A 561D 851B 9E55 69F2 7BB6 8774 885A 9B71
+7E20 879C 9190 9836 89F3 9378 992C 9D60 702B 9B0D
+9C17 9D98 9DA6
+4E55 6C7B 864E 6D52 4FFF 8400 7425 865D 6EF8
+4E65 4E92 5F16 6236 6237 6238 51B1 51B4 8290 5E0D
+62A4 6C8D 6CAA 5CB5 6019 623D 6608 6791 6018 795C
+7B0F 5A5F 6248 74E0 695B 55C0 7D94 9120 96FD 5AED
+5AEE 6462 6EEC 8530 69F4 71A9 9CF8 7C04 9359 569B
+9E71 8B77 9CE0 97C4 9800 9C6F 9E0C
+4E4E 7C90 552C 7CCA 933F 9BF1
+82B1 82B2 54D7 5629 848A 9335
+534E 59E1 9A85 83EF 91EA 91EB 94E7 6ED1 733E 6433
+64B6 78C6 8550 8796 92D8 8B41 93F5 9A4A 9DE8
+5316 5212 593B 6779 753B 8BDD 5D0B 6866 5A73 756B
+5B05 7575 89DF 8A71 5283 6466 6A3A 5AFF 69EC 6F85
+8AE3 9ECA 7E63 8219 8B6E
+57D6 5A72 691B 7874 7CC0 748D 8AAE
 6000 5F8A 6DEE 69D0 8922 8E1D 61D0 8931 61F7 7024
-6AF0 8032 8639 574F 54B6 58CA 58DE 863E 6B22 6B25
-6B53 9D05 61C1 9D4D 9144 56BE 61FD 737E 6B61 8C9B
-8B99 9A69 8FD8 73AF 90C7 5CD8 6D39 72DF 8341 6853
-8408 8411 581A 5BCF 7D59 96C8 7D84 7FA6 8C86 953E
-961B 5BF0 6FB4 7F33 9084 74B0 8C72 9370 956E 9E6E
-7CEB 7E6F 8F58 95E4 9436 9B1F 74DB 7746 7F13 8F10
-7DE9 650C 5E7B 5942 8092 5950 5BA6 5524 6362 6D63
-6DA3 70C9 60A3 6899 7115 902D 559A 559B 5D48 610C
-63DB 6E19 75EA 7165 744D 8C62 6F36 7613 69F5 9CA9
-64D0 6FA3 77A3 85E7 9BC7 9BF6 9C00 5DDF 8093 8352
-8841 671A 5843 614C 7687 505F 51F0 968D 9EC3 9EC4
-55A4 582D 5A93 5D32 5FA8 60F6 63D8 6E5F 845F 9051
-697B 714C 745D 58B4 6F62 735A 953D 71BF 749C 7BC1
-824E 8757 7640 78FA 7A54 8AFB 7C27 87E5 9360 992D
-9CC7 8DAA 97F9 9404 9A1C 9C09 9C51 9DEC 6033 604D
-70BE 5BBA 6643 6644 595B 8C0E 5E4C 6130 8A64 7180
-7E28 8B0A 6ACE 76A9 5164 6EC9 69A5 66C2 769D 93A4
-7070 7073 8BD9 54B4 6062 62FB 6325 6D03 867A 8886
-6656 70E3 73F2 8C57 5A4E 5A88 63EE 7FDA 8F89 9693
-6689 694E 7147 743F 7988 8A7C 5E51 7773 8918 5645
-5655 649D 7FEC 8F1D 9EBE 5FBD 96B3 7008 9C34 56D8
-56DE 56EC 4F6A 5EFB 5EFD 605B 6D04 8334 8FF4 70E0
-8698 9025 75D0 86D4 86D5 8716 9BB0 6094 879D 6BC7
-6A93 71EC 8B6D 5349 5C77 6C47 4F1A 8BB3 6CCB 54D5
-6D4D 7ED8 8294 835F 8BF2 605A 6075 6867 70E9 70EA
-8D3F 5F57 6666 79FD 5599 60E0 6E4F 7D75 7F0B 7FD9
-9613 532F 5F59 5F5A 6703 6BC0 6BC1 6ED9 8A6F 8CC4
-50E1 5612 7623 8527 8AA8 571A 5BED 6167 6193 66B3
-69E5 6F53 8559 5666 5FBB 6A5E 6FAE 7369 74A4 8588
-8589 8AF1 982E 6A85 6A9C 71F4 74AF 7BF2 85F1 992F
-5696 61F3 77BA 7A62 7E62 87EA 6AD8 7E6A 7FFD 8B53
-5136 8B6E 93F8 95E0 5B48 942C 9767 97E2 8B7F 986A
-660F 662C 8364 5A5A 60DB 6DBD 960D 60FD 68D4 6B99
-8477 7767 776F 95BD 5FF6 6D51 9984 6E3E 9B42 991B
-7E49 8F4B 9F32 8BE8 4FD2 5031 5702 638D 6DF7 711D
-6EB7 6141 89E8 8AE2 5419 8020 952A 5290 9343 8C41
-6509 9A1E 4F78 6D3B 79EE 79F3 706B 4F19 90A9 94AC
-9225 6F37 5925 6C8E 6216 8D27 549F 4FF0 6347 7713
-83B7 9584 5268 639D 7978 8CA8 60D1 65E4 6E71 798D
-55C0 84A6 5684 596F 64ED 6FE9 7372 970D 6AB4 8B0B
-96D8 77C6 7A6B 956C 56AF 7016 802F 8267 85FF 8816
-56BF 66E4 81DB 7668 77D0 944A 9743 593B 4E0C 8BA5
-51FB 5209 53FD 9965 4E69 520F 573E 673A 7391 808C
-82A8 77F6 9E21 6785 54AD 8FF9 525E 5527 59EC 5C50
-79EF 7B04 98E2 57FA 7EE9 559E 5D46 5D47 6532 6567
-7284 7B53 7F09 8D4D 52E3 55D8 7578 7A18 8DFB 9CEE
-50DF 6BC4 7B95 9288 5630 6483 69E3 6A2D 757F 7A3D
-7DDD 89ED 8CEB 8EB8 9F51 58BC 61BF 6A5F 6FC0 74A3
-79A8 7A4D 9324 96AE 64CA 78EF 7C0A 7E3E 7F81 8CF7
-913F 6AC5 802D 96DE 8B4F 97F2 9D8F 8B64 9416 9951
-766A 8E8B 97BF 9DC4 9F4E 7F87 8640 9447 8989 9459
-9F4F 7F88 9E04 898A 4EBC 53CA 4F0B 5409 5C8C 5F76
-5FE3 6C72 7EA7 5373 6781 4E9F 4F76 90C6 537D 53DD
-59DE 6025 72E4 768D 7B08 7D1A 63E4 75BE 89D9 506E
-5359 5EB4 6956 710F 8128 8C3B 6222 68D8 6975 6B9B
-6E52 96C6 5849 5AC9 6131 696B 84BA 874D 8D8C 8F91
-69C9 8024 818C 92A1 5DAF 6F57 7620 7BBF 8540 857A
-8E16 978A 9E61 6A76 6A9D 6FC8 878F 8F2F 894B 8E50
-9353 8265 7C4D 8F5A 93F6 9735 9DBA 9DD1 8EA4 96E6
-96E7 51E0 5DF1 4E2E 5980 72B1 6CF2 866E 6324 810A
-638E 9C7E 5E7E 621F 5D74 9E82 9B62 64A0 64E0 7A56
-87E3 5F50 5F51 65E1 8BA1 8BB0 4F0E 7EAA 5756 5993
-5FCC 6280 82B0 82B6 9645 5242 5B63 54DC 578D 5CDC
-65E2 6D0E 6D4E 7D00 830D 8A08 5264 7D12 7EE7 89CA
+6AF0 8032 8639
+574F 54B6 8AD9 58CA 58DE 863E
+72BF 6B53 9D05 9D4D 9144 56BE 61FD 737E 8B99 8C9B
+9A69
+73AF 90C7 5CD8 6D39 72DF 8341 6853 8408 8411 5BCF
+7D59 96C8 7D84 7FA6 8C86 926E 953E 571C 5B1B 5BF0
+6FB4 7F33 961B 74B0 8C72 9370 956E 9E6E 7CEB 7E6F
+8F58 9436 95E4 9B1F 74DB
+7F13 7DE9 650C
+5E7B 5942 8092 5950 5BA6 5524 6362 6D63 6DA3 70C9
+60A3 6899 7115 902D 559A 559B 5D48 610C 63DB 6E19
+75EA 7746 7165 744D 8C62 6F36 7613 69F5 9CA9 64D0
+6FA3 85E7 9BC7 9C00
+6B22 77A3 6B61
+5DDF 8093 8352 8841 671A 5843 614C
+7687 505F 51F0 968D 9EC4 55A4 582D 5A93 5D32 5FA8
+60F6 6E5F 845F 9051 9EC3 697B 714C 745D 58B4 6F62
+735A 953D 71BF 749C 7BC1 7BCA 824E 8757 7640 78FA
+7A54 8AFB 7C27 87E5 9360 992D 9CC7 8DAA 97F9 9404
+9A1C 5164 9C09 9C51 9DEC
+6033 604D 70BE 5BBA 6644 595B 8C0E 5E4C 8A64 7180
+8B0A 6ACE
+6130 6EC9 69A5 66C2 769D 93A4 76A9
+6643 7E28
+7070 8BD9 54B4 6062 62FB 6325 6D03 867A 8886 6656
+70E3 73F2 8C57 5A4E 5A88 63EE 7FDA 8F89 9693 6689
+694E 7147 7988 8A7C 5E51 7773 8918 5645 649D 5655
+7FEC 8F1D 9EBE 5FBD 96B3 7008 8633 9C34
+56D8 56DE 56EC 4F6A 5EFB 5EFD 605B 6D04 8334 8FF4
+70E0 8698 9025 75D0 86D4 86D5 8716 9BB0
+6094 6BC0 6BC1 6BC7 6A93 71EC 8B6D
+5349 6C47 4F1A 8BB3 6CCB 54D5 6D4D 7ED8 8294 835F
+8BF2 605A 6075 70E9 8D3F 5F57 6666 79FD 5599 60E0
+6E4F 7D75 7F0B 7FD9 9613 532F 5F59 5F5A 6703 6ED9
+8A6F 8CC4 9892 50E1 5612 7623 8527 8AA8 571A 5BED
+6167 6193 66B3 69E5 6F53 8559 5666 5B12 5FBB 6A5E
+6BA8 6FAE 6FCA 7369 8588 8589 8AF1 982E 71F4 74AF
+7BF2 85F1 992F 5696 77BA 7A62 7E62 87EA 6AD8 7E6A
+7FFD 8B53 5136 93F8 95E0 5B48 942C 9767 8B7F 986A
+5C77 7073 74A4 61F3
+660F 662C 8364 5A5A 60DB 6DBD 960D 68D4 6B99 8477
+7767 776F 95BD
+5FF6 6D51 68A1 9984 581A 6E3E 743F 9B42 991B 7E49
+8F4B 9F32
+9BF6
+8BE8 4FD2 5031 5702 638D 6DF7 711D 6EB7 6141 89E8
+8AE2
+5419 5268 8020 952A 5290 5684 9343 8C41 6509 9A1E
+4F78 6D3B 79EE 79F3
+706B 4F19 90A9 94AC 9225 6F37 5925
+6C8E 6216 8D27 549F 7809 4FF0 6347 7713 83B7 9584
+639D 7978 8CA8 60D1 65E4 6947 6E71 798D 84A6 596F
+6FE9 7372 970D 6AB4 8B0B 77C6 7A6B 956C 56AF 7016
+802F 8267 85FF 8816 56BF 66E4 81DB 7668 77D0 944A
+9743
+FDD0-004A
+4E0C 8BA5 51FB 5209 53FD 9965 4E69 520F 573E 673A
+7391 808C 82A8 77F6 9E21 6785 54AD 59EB 8FF9 525E
+5527 59EC 5C50 79EF 7B04 98E2 57FA 7EE9 559E 5D46
+5D47 6567 671E 7284 7B53 7F09 8D4D 52E3 55D8 7578
+7A18 8DE1 8DFB 9CEE 50DF 6BC4 7B95 9288 5630 69E3
+757F 7A3D 7DDD 89ED 8CEB 8EB8 9F51 58BC 6A5F 6FC0
+74A3 79A8 7A4D 8940 9324 96AE 64CA 78EF 7C0A 7E3E
+7F81 8CF7 913F 6AC5 802D 8E5F 96DE 8B4F 97F2 9D8F
+8B64 9416 9951 8E8B 97BF 9DC4 9F4E 7F87 8640 9447
+8989 9459 9F4F 7F88 9E04 898A
+4EBC 53CA 4F0B 5409 5C8C 5F76 5FE3 6C72 7EA7 5373
+6781 7680 4E9F 4F76 8BD8 90C6 9491 537D 59DE 6025
+72E4 768D 7B08 7D1A 63E4 75BE 810A 89D9 506E 5359
+5EB4 710F 8C3B 6222 68D8 6975 6B9B 6E52 96C6 5849
+5AC9 6131 696B 84BA 8D8C 69C9 799D 8024 818C 92A1
+5DAF 6483 6F57 6FC8 7620 7BBF 8540 857A 8E16 9E61
+6A76 6A9D 878F 64EE 85C9 894B 8E50 9353 8265 7C4D
+8F5A 93F6 9735 9DBA 9DD1 96E6 96E7
+51E0 5DF1 4E2E 5980 72B1 6CF2 866E 6324 638E 9C7E
+5E7E 621F 9218 5D74 9E82 9B62 64A0 64E0 7A56 87E3
+9B55
+5F50 5F51 65E1 8BA1 8BB0 4F0E 7EAA 5756 5993 5FCC
+6280 82B0 9645 5242 5B63 54DC 578D 5CDC 65E2 6D0E
+6D4E 7D00 830D 8324 8360 8A08 5264 7D12 7EE7 89CA
 8A18 5048 5BC2 5BC4 5F9B 60B8 65E3 689E 6E08 796D
-8415 60CE 81EE 846A 8507 517E 75F5 7D99 84DF 88DA
-8DE1 969B 588D 66A8 6F03 6F08 799D 7A29 7A4A 8A8B
-8DFD 9701 9C9A 66A9 7A37 8AC5 9CAB 5180 5291 66C1
-7A44 7E18 858A 8940 9AFB 568C 6A95 6FDF 7E4B 7F7D
-89AC 9B86 6AB5 74BE 8E5F 9BFD 9D4B 9F4C 5EED 61FB
-7660 7A67 7CED 7E6B 860E 9AA5 9BDA 7031 7E7C 862E
-9C40 863B 973D 9C36 9C3F 9C6D 9A65 52A0 5939 593E
-5B8A 62B8 4F73 62C1 6CC7 8FE6 67B7 6BE0 6D43 73C8
-57C9 5BB6 6D79 75C2 689C 7B33 801E 8888 88B7 50A2
-7333 846D 88CC 8DCF 728C 8175 926B 5609 9553 7CD8
-8C6D 8C91 93B5 9E9A 573F 6274 5CAC 90CF 835A 90DF
-550A 605D 83A2 621B 8125 94D7 621E 86F1 988A 86FA
-8DF2 9904 92CF 982C 9830 9D36 9D4A 7532 53DA 73BE
-80DB 659A 8D3E 94BE 5A7D 5FA6 659D 6935 8CC8 9240
-698E 69DA 7615 6A9F 4EF7 9A7E 67B6 5047 5AC1 5E4F
-69A2 50F9 7A3C 99D5 55E7 620B 5978 5C16 5E75 575A
-6B7C 95F4 51BF 6214 73AA 80A9 8270 59E6 59E7 517C
-76D1 5805 60E4 730F 7B3A 83C5 83FA 8C5C 6E54 724B
-728D 7F04 844C 844F 9593 976C 641B 6937 693E 714E
-744A 7777 788A 7F23 84B9 8C63 76E3 7B8B 6A2B 719E
-7DD8 8551 8573 9CA3 9CFD 9E63 71B8 7BEF 7E11 92FB
-8271 97AC 9930 99A2 9E89 7010 97AF 9CD2 6BB1 791B
-89B8 9D73 7038 9C14 6AFC 6BB2 8B7C 9C1C 9DBC 7C5B
-97C0 9C39 56CF 8643 946F 97C9 56DD 62E3 67A7 4FED
-67EC 8327 5039 6338 6361 7B15 51CF 526A 5E34 6898
-68C0 6E55 8DBC 63C0 63C3 691C 6E1B 7751 7877 88E5
-8A43 950F 5F3F 6695 7450 7B67 7B80 7D78 8C2B 5F45
-6229 622C 78B1 5109 7FE6 64BF 6AA2 85C6 8947 8949
-8B07 8E47 77BC 7906 7C21 7E6D 8B2D 9B0B 9C0E 9E78
-703D 8812 9417 9427 9E7B 8B7E 897A 9E7C 89C1 4EF6
-898B 4F9F 5EFA 996F 5251 6D0A 726E 8350 8D31 4FF4
-5065 5263 682B 6DA7 73D4 8230 5271 5FA4 6E10 88B8
-8C0F 91FC 5BCB 65D4 6957 6BFD 6E85 8171 81F6 8465
-8DC8 8DF5 9592 8CCE 9274 952E 50ED 6997 69DB 6F38
-528D 528E 58B9 6F97 7BAD 7CCB 8AD3 8CE4 8D9D 8E10
-8E3A 5292 5294 6A7A 85A6 8AEB 9375 991E 77AF 77B7
-78F5 7900 87B9 9373 64F6 6ABB 6FFA 7E5D 7033 89B5
-93E9 807B 8266 8F5E 9451 9452 946C 9473 6C5F 59DC
-5C06 8333 6D46 7555 8C47 8441 646A 7FDE 50F5 6F3F
-8780 58C3 5F4A 7F30 8591 6A7F 6BAD 87BF 9CC9 7585
-7913 7586 7E6E 97C1 9C42 8BB2 5956 6868 508B 848B
-52E5 5968 596C 8523 69F3 734E 8029 8199 8B1B 985C
-531E 5320 5905 5F1C 6762 964D 6D1A 7EDB 5C07 5F36
-88B6 7D73 757A 9171 647E 6EF0 5D79 729F 7CE1 91A4
-7CE8 91AC 6AE4 8B3D 827D 8281 4EA4 90CA 59E3 5A07
-5CE7 6D47 832D 832E 9A84 80F6 6912 7126 7133 86DF
-8DE4 50EC 5604 8660 9C9B 5B0C 5D95 5DA3 618D 6F86
-81A0 8549 71CB 81B2 7901 7A5A 9BAB E85D 9D41 9E6A
-7C25 87ED 8F47 940E 9A55 9DE6 9DEE 6AF5 81EB 89D2
-4F7C 4FA5 6322 72E1 7EDE 997A 6341 6648 70C4 7B05
-768E 77EB 811A 94F0 6405 6E6B 7B4A 7D5E 527F 52E6
+5848 60CE 81EE 846A 8507 517E 75F5 7D99 84DF 88DA
+8900 969B 9B3E 66A8 6F03 6F08 7A29 7A4A 8A8B 8DFD
+9701 9C9A 66A9 7A37 8AC5 9CAB 5180 5291 66C1 7A44
+858A 9AFB 568C 6A95 6FDF 7E4B 7F7D 85BA 89AC 6AB5
+9D4B 9F4C 61FB 7660 7A67 860E 9AA5 9BDA 7031 7E7C
+862E 9C40 863B 973D 9C36 9C3F 9C6D 9A65
+4EBD 8F91 6A2D 8F2F 5EED 766A
+52A0 4E6B 5939 4F3D 593E 62B8 4F73 62C1 6CC7 8304
+8FE6 67B7 6BE0 6D43 73C8 57C9 5BB6 6D79 75C2 689C
+7B33 801E 8888 50A2 7333 846D 8DCF 728C 8175 926B
+5609 927F 9553 8C6D 8C91 93B5 9E9A
+573F 5FE6 6274 90CF 835A 90DF 550A 605D 83A2 621B
+88B7 94D7 621E 86F1 88CC 988A 86FA 8DF2 9782 9904
+92CF 982C 9830 9D36 9D4A
+7532 4EEE 5CAC 53DA 73BE 80DB 659A 8D3E 94BE 5047
+5A7D 5FA6 659D 6935 8CC8 9240 698E 69DA 7615 6A9F
+4EF7 9A7E 67B6 5AC1 5E4F 69A2 50F9 99D5
+7A3C 7CD8
+620B 5978 5C16 5E75 575A 6B7C 95F4 51BF 6214 73AA
+80A9 8270 59E6 59E7 517C 76D1 5042 5805 60E4 730F
+7B3A 83C5 83FA 8C5C 6E54 724B 728D 7F04 844C 9593
+641B 6937 693E 714E 744A 7777 788A 7F23 84B9 8C63
+76E3 7B8B 6A2B 719E 7DD8 8551 8573 9CA3 9CFD 9E63
+71B8 7BEF 7E11 8271 97AC 9930 99A2 9E89 7010 97AF
+9CD2 791B 89B8 9D73 7038 9427 6AFC 6BB2 9DBC 97C0
+9C39 56CF 8643 946F 97C9
+56DD 62E3 67A7 4FED 67EC 8327 5039 6338 6361 7B15
+51CF 526A 6898 68C0 6E55 8DBC 583F 63C0 63C3 691C
+6E1B 7751 7877 88E5 8A43 950F 5F3F 6695 7450 7B67
+7B80 7D78 8C2B 6229 622C 78B1 5109 7FE6 64BF 6AA2
+85C6 8947 8949 8B07 8E47 77BC 7906 7C21 7E6D 8B2D
+9B0B 9C0E 9E78 703D 8812 9417 5297 9E7B 7C5B 8B7E
+897A 9E7C
+89C1 4EF6 898B 5EFA 996F 5251 6D0A 726E 8350 8D31
+4FF4 5065 5263 682B 6DA7 73D4 8230 5271 5FA4 6E10
+88B8 8C0F 91FC 5BCB 65D4 6957 6BFD 6E85 8171 81F6
+8465 8DF5 8CCE 9274 952E 50ED 6997 6F38 852A 528D
+528E 6F97 7BAD 7CCB 8AD3 8CE4 8D9D 8E10 8E3A 5292
+5294 85A6 8AEB 92FB 9375 991E 77B7 78F5 87B9 9373
+64F6 6FFA 7E5D 7033 89B5 93E9 8266 8B7C 8F5E 9431
+9451 9452 946C 9473
+5F45 58B9 6A7A 7900 6BB1
+6C5F 59DC 5C06 8333 6D46 7555 8C47 5C07 8441 757A
+646A 7FDE 50F5 6F3F 8780 58C3 7F30 8591 6A7F 6BAD
+87BF 9CC9 7585 7913 7586 7E6E 97C1 9C42
+8BB2 5956 6868 508B 848B 5968 596C 8523 69F3 734E
+8029 8199 8B1B 985C
+531E 5905 5F1C 964D 6D1A 7EDB 5F36 88B6 7D73 9171
+52E5 6EF0 5D79 647E 5F4A 729F 7CE1 91A4 7CE8 91AC
+8B3D
+5320 6762 6AE4
+827D 8281 4EA4 90CA 59E3 5A07 5CE7 6D47 832D 832E
+9A84 80F6 6912 7126 86DF 8DE4 50EC 5604 8660 9C9B
+5B0C 5D95 5DA3 618D 6F86 81A0 8549 71CB 81B2 7901
+7A5A 9BAB 9D41 9E6A 7C25 87ED 8F47 940E 9DCD 9A55
+9DE6 9DEE
+81EB 89D2 4F7C 4FA5 6054 6322 72E1 7EDE 997A 6341
+6648 70C4 768E 77EB 811A 94F0 6405 6E6B 7D5E 527F
 656B 6E6C 714D 8173 8CCB 50E5 6477 669E 8E0B 9278
-9903 510C 528B 649F 64B9 5FBC 657D 657F 7F34 66D2
-74AC 77EF 76A6 87DC 9D64 7E73 8B51 5B42 7E90 652A
-705A 9C4E 53EB 544C 5CE4 630D 8A06 73D3 7A8C 8F7F
-8F83 654E 6559 7A96 6ED8 8F03 5602 5626 65A0 6F16
-9175 564D 5DA0 6F50 566D 5B13 7365 85E0 8DAD 8F4E
-91AE 8B65 76AD 91C2 9636 7596 7686 63A5 63B2 75CE
-79F8 83E8 968E 5588 55DF 5826 5A98 5AC5 63ED 6904
-6E5D 813B 8857 716F 7A2D 9782 8754 64D1 7664 9D9B
+9903 510C 528B 5FBA 649F 64B9 96A6 5FBC 61BF 657D
+657F 71DE 7F34 66D2 74AC 77EF 76A6 87DC 7E73 8B51
+5B42 652A 705A 9C4E
+53EB 544C 5CE4 630D 8A06 73D3 7A8C 8F7F 8F83 654E
+6559 7A96 6ED8 8F03 5602 5626 65A0 6F16 9175 564D
+5DA0 6F50 566D 5B13 7365 85E0 8DAD 8F4E 91AE 8B65
+76AD 91C2
+9D64 6AF5 7E90
+9636 7596 7686 63A5 63B2 75CE 79F8 83E8 968E 5588
+55DF 5826 5A98 5AC5 63ED 6904 6E5D 813B 8857 716F
+7A2D 64D1 8754 7664 8B2F 9D9B
 5369 536A 5B51 5C10 8282 8BA6 5226 5227 52AB 5C8A
-6605 523C 52BC 6770 758C 8871 8BD8 62EE 6D01 7ED3
-8FFC 5022 6840 685D 83AD 8A10 507C 5A55 5D28 6377
-88BA 5091 5AAB 7D50 86E3 9889 5D65 696C 6976 6ED0
-776B 7BC0 8710 8A70 9263 9B5D 622A 69A4 78A3 7AED
-84F5 9C92 6F54 7FAF 8AB1 8E15 9821 5E6F 64F3 5DBB
-64EE 790D 937B 9B9A 5DC0 6AED 881E 8818 883D 5979
-59D0 6BD1 5A8E 89E3 89E7 98F7 6A9E 4E2F 4ECB 5424
-5C95 5E8E 5FE6 6212 82A5 5C46 5C4A 65BA 73A0 754C
-754D 75A5 780E 8878 8BEB 501F 6088 86A7 5FA3 583A
-6950 743E 86F6 9AB1 7297 8AA1 892F 9B6A 85C9 7E72
-5DFE 4ECA 65A4 9485 5153 91D1 91D2 6D25 77DC 781B
-8355 887F 89D4 57D0 73D2 7D1F 60CD 740E 583B 743B
-7B4B 5D9C 74A1 9E76 9EC5 895F 4EC5 537A 5DF9 7D27
-5807 83EB 50C5 53AA 8C28 9526 5AE4 5ED1 6F0C 76E1
-7DCA 84F3 9991 69FF 747E 9326 8B39 9949 4F12 52A4
-5C3D 52B2 5997 8FD1 8FDB 4FAD 6783 52C1 6D55 8369
-6649 664B 6D78 70EC 8D46 7972 9032 7161 7F19 5BD6
-6422 6E8D 7981 9773 5890 616C 7468 50F8 51DA 6B4F
-6BA3 89D0 5118 5664 6FC5 7E09 8CEE 568D 58D7 5B27
-6FDC 85CE 71FC 74B6 89B2 8D10 9F7D 5755 5759 5DE0
-4EAC 6CFE 7ECF 830E 4EB0 79D4 8346 834A 6D87 8396
-5A5B 60CA 65CC 65CD 7304 7D4C 83C1 6676 7A09 8148
-775B 7CB3 7D93 5162 7CBE 8059 6A78 9CB8 9D5B 9BE8
-9D81 E85F 9D84 9E96 9F31 9A5A 9EA0 4E95 4E3C 9631
-522D 5753 5B91 6C6B 6C6C 80BC 5244 7A7D 9888 666F
-5106 5E5C 61AC 7484 61BC 66BB 71DD 71DE 749F 74A5
-9838 87FC 8B66 598C 51C0 5F2A 5F84 8FF3 4FD3 6D44
-80EB 501E 51C8 5F33 5F91 75C9 7ADE 9015 5A59 5A67
-6871 68B7 6DE8 7ADF 7AEB 811B 656C 75D9 7AE7 9753
-50B9 9756 5883 734D 8AA9 8E01 9759 981A 975A 66D4
-955C 975C 701E 93E1 7AF6 7AF8 5182 518B 5770 6243
-57DB 7D45 99C9 99EB 860F 518F 56E7 6CC2 8FE5 4FB0
-70AF 9008 6D7B 70F1 715A 7A98 988E 7D97 50D2 715B
-71B2 6F83 71D1 71DB 8927 9848 8614 4E29 52FC 7EA0
-673B 725E 7A76 7CFA 9E20 7CFE 8D73 9604 841B 557E
-63C2 63EA 63EB 9CE9 644E 6A1B 9B0F 9B2E 4E5D 4E45
-4E46 4E63 597A 6C63 6766 7078 7396 820F 97ED 7D24
-9152 9579 97EE 531B 65E7 81FC 548E 7542 759A 67E9
-67FE 5003 6855 53A9 6551 5C31 5EC4 5313 8205 50E6
-5ECF 5ED0 6166 6BA7 820A 9E6B 9BE6 9E94 5336 9F68
-9DF2 6B0D 51E5 5727 6285 530A 5C45 62D8 6CC3 72D9
-82F4 9A79 5036 6336 6344 75BD 75C0 7717 7820 7F5D
-9671 5A35 5A45 5A6E 5D0C 63AC 68AE 6DBA 6910 741A
-8152 8D84 8DD4 9514 88FE 96CE 824D 871B 8ACA 8E18
-92E6 99D2 9B88 9D21 97A0 97AB 9D8B 5C40 6CE6 4FB7
-72CA 6854 6BE9 6DD7 7117 83CA 90F9 6908 6BF1 6E68
-7291 8F02 50EA 7CB7 84FB 8DFC 8D9C 8EB9 95B0 6A58
-6A8B 99F6 9D59 8E6B 9D74 5DC8 861C E860 9DAA 9F30
-9F33 9A67 5480 5F06 6CAE 4E3E 77E9 8392 6319 6907
-7B65 6989 6998 849F 9F83 8065 8209 8E3D 64E7 6AF8
-9F5F 6B05 8977 53E5 5DE8 8BB5 59D6 5CA0 6007 62D2
-6D30 82E3 90AD 5177 601A 62E0 661B 6B6B 70AC 79EC
-949C 4FF1 5028 51A3 5267 7C94 801F 86B7 8893 57E7
-57FE 60E7 636E 8A4E 8DDD 7123 728B 8DD9 9245 98D3
+6605 523C 52BC 6770 758C 8871 62EE 6D01 7ED3 8FFC
+5022 6840 83AD 8A10 507C 5A55 5D28 6377 88BA 5091
+55BC 7D50 7D5C 9889 5D65 696C 6976 6ED0 776B 7BC0
+8710 874D 8A70 9263 9B5D 622A 69A4 78A3 7AED 84F5
+9C92 6F54 7FAF 8AB1 8E15 978A 5E6F 937B 9B9A 5DC0
+6AED 881E 8818 883D
+6BD1 5A8E 89E3 89E7 98F7 6A9E
+4E2F 4ECB 5424 5C95 5E8E 6212 82A5 5C46 5C4A 73A0
+754C 754D 75A5 780E 8878 8BEB 501F 6088 86A7 5FA3
+583A 6950 743E 86F6 9AB1 7297 8AA1 892F 9B6A 9385
+8EA4
+59D0 685D
+5DFE 4ECA 65A4 9485 5153 91D1 6D25 77DC 8355 887F
+89D4 57D0 73D2 7D1F 60CD 583B 7B4B 91FF 5D9C 9E76
+9EC5 895F
+4EC5 5C3D 4FAD 537A 5DF9 7D27 5807 83EB 50C5 53AA
+8C28 9526 5AE4 5ED1 6F0C 76E1 7DCA 84F3 9991 69FF
+747E 5118 9326 8B39 9949
+4F12 52A4 52B2 5997 8FD1 8FDB 6783 52C1 6D55 8369
+6649 664B 6D78 70EC 8D46 552B 740E 7972 9032 5BD6
+6422 6E8D 7981 7F19 9773 5890 669C 7468 50F8 51DA
+6B4F 6BA3 74A1 89D0 5664 6FC5 7E09 8CEE 568D 5B27
+6FDC 85CE 71FC 74B6 89B2 8D10 9F7D
+91D2 781B 743B 58D7
+5755 5759 5DE0 4EAC 6CFE 7ECF 830E 4EB0 79D4 8346
+834A 6D87 8396 5A5B 60CA 65CC 65CD 7304 7D4C 83C1
+6676 7A09 8148 844F 7CB3 7D93 5162 7CBE 8059 9CB8
+9D5B 9BE8 9D81 9D84 9E96 9F31 9A5A 9EA0
+4E95 4E3C 9631 522D 5753 5B91 6C6B 6C6C 80BC 5244
+7A7D 9888 666F 5106 981A 5E5C 61AC 61BC 66BB 71DB
+749F 74A5 9838 87FC 8B66
+598C 51C0 5F2A 5F84 8FF3 4FD3 5A59 6D44 80EB 501E
+51C8 5F33 5F91 75C9 7ADE 9015 5A67 6871 68B7 6DE8
+7AEB 811B 7ADF 656C 75D9 7AE7 9753 50B9 9756 5883
+734D 8AA9 8E01 9759 975A 66D4 955C 975C 6FEA 701E
+93E1 7AF6 7AF8
+775B 6A78 71DD
+5182 518B 5770 6243 57DB 7D45 99C9 99EB 860F 8614
+518F 56E7 6CC2 7085 8FE5 4FB0 70AF 9008 6D7B 70F1
+715A 7A98 988E 7D97 50D2 715B 71B2 6F83 8927
+4E29 52FC 7EA0 673B 725E 7A76 7CFA 9E20 7CFE 8D73
+9604 841B 557E 63C2 63EA 63EB 9CE9 644E 6A1B 9B0F
+9B2E
+4E5D 4E45 4E46 4E63 597A 7078 7396 820F 97ED 7D24
+9152 9579 97EE
+531B 65E7 81FC 548E 759A 67E9 67FE 5003 6344 6855
+5313 53A9 6551 5AA8 5C31 5EC4 5ED0 8205 50E6 5ECF
+6166 6BA7 820A 9E6B 5336 9BE6 9E94 9F68 9DF2
+6C63 6766 6B0D
+51E5 521F 6285 530A 5C45 62D8 6CC3 72D9 82F4 9A79
+6336 75BD 75C0 7717 7820 7F5D 9671 5A35 5A6E 5D0C
+63AC 68AE 6DBA 83F9 6910 741A 8152 8D84 8DD4 9514
+88FE 96CE 824D 871B 8E18 8E19 92E6 99D2 9B88 9D21
+97A0 97AB 9D8B
+5C40 6CE6 4FB7 72CA 6854 6BE9 5579 5A45 6DD7 7117
+83CA 90F9 6908 6BF1 6E68 7291 8F02 50EA 7CB7 8DFC
+95B0 8ACA 8D9C 8EB9 6A58 6A8B 99F6 9D59 8E6B 9D74
+5DC8 861C 9DAA 9F33 9A67
+5480 5F06 6CAE 4E3E 8392 6319 6907 7B65 6989 6998
+849F 9F83 8065 8209 8E3D 64E7 6AF8 9F5F 6B05
+5DE8 53E5 4E6C 5DEA 8BB5 59D6 5CA0 6007 62D2 6D30
+82E3 90AD 5177 6010 601A 62E0 661B 6B6B 70AC 79EC
+949C 4FF1 5028 5036 51A3 5267 7C94 801F 86B7 8893
+57E7 57FE 60E7 636E 8A4E 8DDD 728B 8DD9 9245 98D3
 8661 8C66 952F 5BE0 6133 7AAD 805A 99CF 5287 52EE
 5C66 8E1E 9B94 58C9 61C5 64DA 6FBD 7AB6 907D 92F8
-5C68 98B6 77BF 8C97 7C34 8E86 91B5 61FC 943B 7220
-59E2 5A1F 6350 6D93 8127 88D0 9E43 52EC 92D1 92D7
-954C 93B8 9D51 942B 8832 5377 545F 5E23 57CD 6372
-83E4 9529 81C7 9308 5946 52B5 5F2E 5026 52CC 684A
-72F7 7EE2 96BD 6DC3 74F9 7737 9104 774A 7D6D 7F65
-96CB 7760 7D79 98EC 617B 8528 990B 7367 7F82 5658
-6485 64A7 5C69 5C6B 4E85 5B52 5B53 51B3 5214 6C12
-8BC0 599C 6289 6C7A 82B5 6CEC 73A6 73A8 6317 73CF
-7804 7EDD 8673 89C9 5014 6354 6B2E 8697 5D1B 6398
-658D 6877 6B8C 7106 8990 89D6 8A23 8D7D 8DB9 902B
-5095 53A5 7D55 7D76 899A 8D89 920C 5282 52EA 7474
-8C32 99C3 5DA1 5DA5 61B0 6F4F 71A6 7234 7357 761A
-855D 8568 9D02 9D03 5671 61A0 6A5B 6A5C 957C 7235
-81C4 9562 87E8 87E9 7211 8B4E 8E76 8E77 9D8C 56BC
-77CD 89BA 940D 941D 704D 721D 89FC 5F4F 6204 652B
-7383 9DE2 6B14 77E1 9FA3 8C9C 8EA9 E84F 9481 519B
-541B 5747 6C6E 59F0 8880 8ECD 94A7 8399 8690 687E
-76B2 83CC 921E 7885 7B60 76B8 76B9 89A0 9281 929E
-9CAA 9E87 9355 9BB6 9E8F 9E95 5441 4FCA 90E1 9656
-57C8 5CFB 6343 6659 6D5A 9982 9A8F 710C 73FA 756F
-7AE3 7B98 7B9F 8720 5101 5BEF 61CF 9915 71C7 6FEC
-99FF 9D54 9D55 9D58 6508 5494 5496 5580 5361 4F67
-57B0 80E9 88C3 9272 5F00 5952 63E9 8849 950E 958B
-9426 51EF 5240 57B2 607A 95FF 94E0 51F1 5274 6168
-8488 584F 6137 6977 8F06 669F 9534 9347 93A7 95D3
-98BD 5FFE 708C 708F 6B2C 70D7 52D3 5605 613E 938E
-4E6B 520A 681E 52D8 9F9B 582A 5D41 6221 9F95 519A
-574E 4F83 780D 83B0 5058 57F3 60C2 583F 6B3F 586A
-6B41 8F21 8F41 9851 7AF7 8F57 770B 884E 5D01 5888
-961A 77B0 78E1 95DE 77D9 5FFC 780A 7C87 5EB7 5ADD
-5D7B 6177 6F2E 69FA 7A45 7CE0 8EBF 93EE 9C47 625B
-6443 4EA2 4F09 531F 909F 56E5 6297 72BA 95F6 7095
-94AA 9227 958C 5C3B 9ADB 4E02 6537 8003 62F7 6D18
-6832 70E4 94D0 7292 92AC 9C93 9760 9BB3 9BCC 533C
-5777 82DB 67EF 7241 73C2 79D1 80E2 8F72 75B4 8DB7
-94B6 5D59 68F5 75FE 842A 8EFB 988F 6415 7290 7A1E
-7AA0 9233 69BC 8596 9897 6A16 778C 78D5 874C 9826
-9198 9846 9AC1 791A 58F3 54B3 6BBB 63E2 7FD7 5DB1
-53EF 5CA2 70A3 6E07 5D51 6564 6E34 514B 523B 524B
-52C0 52CA 5BA2 5CC7 606A 5A14 5C05 8BFE 5801 6C2A
-9A92 7F02 55D1 6119 6E98 951E 78A6 7DD9 8AB2 9301
-790A 9A0D 808E 80AF 80BB 57A6 6073 5543 8C64 8C87
-58BE 9339 61C7 63AF 88C9 8903 52A5 542D 5748 5751
-6333 7841 727C 785C 94FF 787B 8A99 92B5 935E 93D7
-5DEA 4E6C 551F 53BC 603E 7A7A 5025 57EA 5D06 60BE
-6DB3 787F 7B9C 8EBB 8EBC 9313 9D7C 5B54 6050 63A7
-979A 5EE4 62A0 82A4 770D 527E 5F44 6473 7798 53E3
-52B6 53E9 6263 6010 6542 51A6 5BBC 5BC7 91E6 7A9B
-7B58 6EF1 8532 853B 7789 7C06 9DC7 625D 5233 77FB
-90C0 67AF 54ED 684D 5800 5D2B 5710 8DCD 7A9F 9AB7
-9BAC 72DC 82E6 695B 5E93 4FC8 7ED4 5EAB 79D9 7105
-88B4 55BE 7D5D 88E4 7614 9177 8932 56B3 5938 59F1
-6647 823F 8A87 4F89 54B5 57AE 9299 630E 80EF 8DE8
-9ABB 84AF 64D3 5DDC 51F7 5726 5757 5FEB 4FA9 90D0
-54D9 72EF 810D 584A 7B77 E828 9C99 5108 58A4 9136
-5672 5EE5 736A 81BE 65DD 7CE9 9C60 5BBD 5BDB 5BEC
-9ACB 9467 9AD6 68A1 6B35 6B3E 6B40 7ABD 7ABE 5321
-52BB 8BD3 90BC 5329 54D0 6047 6D2D 7B50 7B7A 8A86
-8EED 6282 72C2 72C5 8BF3 8ED6 8EE0 8A91 9D5F 593C
-5123 61ED 909D 5739 7EA9 51B5 65F7 5CB2 6CC1 77FF
-663F 8D36 6846 7716 783F 7736 7D4B 7D56 8CBA 8EE6
-9271 92DB 913A 58D9 9ECB 61EC 66E0 720C 77CC 7926
-7A6C 7E8A 945B 4E8F 5232 5CBF 609D 76D4 7AA5 8067
-7ABA 8667 95DA 985D 5DCB 862C 594E 6646 9035 9108
-9804 9997 55B9 63C6 8475 9A99 6223 668C 694F 6951
-9B41 777D 8770 982F 6AC6 85C8 9368 9377 9A24 5914
-8637 8641 5DD9 8EA8 537C 5080 7143 8DEC 980D 78C8
-8E5E 5C2F 532E 6B33 559F 5ABF 6126 6127 6E83 8489
-848A 9988 5331 5633 E82E 5B07 6192 6F70 7BD1 8069
-E842 806D 8562 6A3B 6BA8 8B09 993D 7C23 E841 8075
-7C44 9400 994B 944E 5764 6606 665C 5803 5812 5A6B
-5D10 5D11 7311 83CE 88C8 711C 7428 9AE0 88E9 951F
-9AE1 9E4D 5C21 6F49 872B 890C 9AE8 71B4 747B 918C
-9315 9CB2 81D7 9A09 9BE4 9D7E 9DA4 6083 6346 9603
-58F8 68B1 7975 7871 7A07 88CD 58FC 7A1B 7D91 95AB
-95B8 56F0 6D83 774F 6269 62E1 62EC 6304 681D 6870
-7B48 843F 8440 86DE 9614 5ED3 564B 9822 9AFA 64F4
-6FF6 95CA 979F 97D5 61D6 9729 97B9 9B20 7A52 5783
-62C9 67C6 5566 7FCB 83C8 641A 908B 65EF 782C 63E6
-78D6 5587 85DE 56B9 524C 6E82 814A 63E7 694B 760C
-8721 874B 8FA2 8FA3 8772 81C8 650B 7209 81D8 9B0E
-6AF4 74CE 9574 9BFB 881F 945E 97A1 6765 4F86 4FEB
-5008 5D03 5F95 6D9E 83B1 90F2 5A61 5D0D 5EB2 5FA0
-68BE 6DF6 730D 840A 9028 68F6 741C 7B59 94FC 7B82
-9338 9A0B 9BE0 9D86 9EB3 553B 8D49 7750 775E 8D56
-8CDA 6FD1 8CF4 983C 9842 765E 9D63 7028 702C 7C41
-85FE 7669 8970 7C5F 5170 5C9A 62E6 680F 5A6A 5D50
-847B 9611 84DD 84DE 8C30 53B1 6F9C 8934 5116 6593
-7BEE 61E2 71E3 85CD 8955 9567 95CC 74BC 8964 8B4B
-5E71 6514 703E 7046 7C43 7E7F 862D 6595 6B04 7937
-8974 56D2 7061 7C63 6B17 8B95 8E9D 897D 946D 9484
-97CA 89C8 6D68 63FD 7F06 6984 6F24 7F71 9182 58C8
-61D2 89A7 64E5 5B3E 61F6 5B44 89BD 5B4F 652C 6B16
-7226 7E9C 70C2 6EE5 71D7 5682 58CF 6FEB 7201 721B
-7224 74D3 7060 7CF7 5577 52C6 90CE 90DE 6B34 72FC
-83A8 5ACF 5ECA 6879 7405 84C8 6994 746F 7860 7A02
-9512 7B64 8246 870B 90D2 8782 8EB4 92C3 93AF 99FA
-60A2 6717 9606 6716 70FA 5871 84E2 6A03 8A8F 95AC
-6724 57CC 5D00 6D6A 8497 5525 635E 7CA9 6488 52B3
-52B4 7262 72EB 7A82 54F0 5520 5D02 6D76 52DE 75E8
-94F9 50D7 562E 5D97 61A5 6725 7646 78F1 7C29 87E7
-91AA 9412 985F 9ADD 8002 8001 4F6C 54BE 59E5 6045
-8356 6833 73EF 7853 94D1 86EF 92A0 6F66 6A51 9BB1
-8F51 6D9D 70D9 55E0 8022 916A 5AEA 61A6 6F87 6A6F
-802E 8EC2 4EC2 961E 4E50 53FB 5FC7 6250 6C3B 827B
-738F 6CD0 7AFB 7833 52D2 697D 97F7 6A02 7C15 9CD3
-9C33 9979 990E 96F7 5AD8 7F27 8502 6A0F 757E 6A91
-7E32 956D 6AD1 74C3 7FB8 7927 7E8D 7F4D 8632 9433
-8F60 58E8 9458 9741 8646 9C69 6B19 7E9D 9F3A 53BD
-8012 8BD4 5792 5841 7D6B 50AB 8A84 78CA 854C 78E5
-857E 5121 58D8 7657 85DF 6AD0 77CB 7928 7045 881D
-863D 8B84 513D 9478 9E13 808B 6CEA 6D21 7C7B 6D99
-6DDA 7D2F 9179 9287 981B 982A 64C2 9311 6502 790C
-98A3 985E 7E87 8631 79B7 561E 8137 5844 68F1 695E
-7890 7A1C 8E1C 8590 51B7 5030 580E 6123 7756 550E
-5215 5398 5253 68A8 72F8 79BB 8372 8389 9A8A 60A1
-68B8 7281 83DE 55B1 68C3 7282 9E42 527A 6F13 775D
-7B63 7F21 8243 84E0 870A 5AE0 5B77 6A06 7483 76E0
-7AF0 8C8D 6C02 729B 7CCE 853E 8935 92EB 9CA1 9ECE
-7BF1 7E2D 7F79 9305 87CD 8B27 91A8 569F 85DC 908C
-91D0 96E2 9BCF 6584 93EB 9BEC 9D79 9EE7 56C4 7055
-863A 8821 882B 5B4B 5EF2 5299 9457 7A72 7C6C 9A6A
-9C7A 9E1D 793C 674E 91CC 4FDA 5CDB 54E9 5A0C 5CF2
-6D6C 9026 7406 88E1 9502 7CB4 88CF 8C4A 92F0 9CA4
-6FA7 79AE 9BC9 87F8 91B4 9CE2 9090 9C67 6B1A 529B
-5386 5389 5C74 7ACB 540F 6738 4E3D 5229 52B1 5456
-575C 6CA5 82C8 4F8B 5CA6 623E 67A5 6CB4 75A0 82D9
-96B6 4FD0 4FEA 6803 680E 75AC 7805 8318 8354 8D72
-8F79 90E6 5A33 60A7 6817 681B 6835 6D96 7301 73D5
-783A 783E 79DD 8385 5533 5A6F 60B7 740D 7B20 7C92
-7C9D 86B8 86CE 5088 51D3 53A4 68D9 75E2 86E0 8A48
-8DDE 96F3 585B 6144 642E 6EA7 849A 849E 925D 9CE8
-53AF 53B2 66A6 6B74 746E 7D9F 8727 52F5 66C6 6B77
-7BE5 96B7 9D17 5DC1 6AAA 6FFF 7658 78FF 96B8 9B01
-512E 66DE 6AD4 7204 72A1 79B2 8807 56A6 58E2 650A
-6ADF 701D 74C5 792A 85F6 9E97 6AEA 720F 74D1 76AA
-76ED 792B 7CF2 8823 5137 7667 7930 9148 9DC5 9E9C
-56C7 6526 8E92 8F62 6B10 8B88 8F63 652D 74E5 9742
-9C71 974B 74C8 4FE9 5006 5AFE 5941 8FDE 5E18 601C
-6D9F 83B2 9023 68BF 8054 88E2 4EB7 55F9 5EC9 6169
-6E93 6F23 84EE 5332 5969 7191 899D 5286 5333 5652
-6190 78CF 8068 806B 8933 9CA2 6FC2 6FD3 7E3A 7FF4
-806E 8595 878A 6AE3 71EB 806F 81C1 8E65 8B30 938C
-9570 7C3E 880A 8B67 9B11 942E 9C31 7C62 7C68 655B
-740F 8138 88E3 6459 69E4 7489 8539 5B1A 6582 6B5B
-81C9 913B 895D 7FB7 861D 861E 7EC3 5A08 70BC 604B
-6D70 6B93 581C 5AA1 6E45 8430 94FE 50C6 695D 7149
-7453 6F4B 7A34 7DF4 6FB0 932C 6BAE 934A 93C8 7032
-9C0A 6200 7E9E 7C17 826F 4FCD 51C9 6881 6DBC 690B
-8F8C 7CAE 7CB1 589A 7DA1 8E09 6A11 8F2C 7CE7 4E21
-4E24 5169 5521 5562 639A 813C 88F2 7DC9 873D 9B49
-9B4E 4EAE 54F4 8C05 8F86 55A8 667E 6E78 91CF 7177
-8F0C 8AD2 8F1B 9344 8E7D 8FBD 7597 804A 50DA 5BE5
-5D7A 5ED6 6180 6F3B 818B 5639 5AFD 5BEE 5D9A 5D9B
-61AD 64A9 6579 7360 7F2D 907C 66B8 71CE 7499 7AB7
-81AB 7642 7AC2 9563 9E69 5C6A 5EEB 7C1D 7E5A 87DF
-8C42 8CFF 8E58 720E 9410 9ACE 98C9 9DEF 948C 91D5
-911D 84FC 7212 957D 4E86 5C25 5C26 7093 6599 5C1E
-6482 77AD 54A7 6BDF 6318 57D3 5217 52A3 51BD 52BD
-59F4 5CE2 6312 6D0C 8322 8FFE 57D2 6D56 70C8 70EE
-6369 730E 731F 811F 86DA 88C2 716D 7759 8057 8D94
-5DE4 98B2 5120 9BA4 E85E 9D37 64F8 7375 72A3 8E90
-9B1B 9B23 9C72 53B8 90BB 6797 4E34 5549 5D0A 60CF
-6DCB 667D 7433 7CA6 75F3 7884 7B96 7CBC 9130 96A3
-5D99 6F7E 735C 9074 65B4 66BD 71D0 7498 8F9A 9716
-77B5 78F7 81E8 7E57 7FF7 9E90 8F54 58E3 7036 93FB
-9CDE 9A4E 9E9F 9C57 83FB 4E83 7A1F 50EF 51DB 51DC
-649B 5EE9 5EEA 61CD 61D4 6F9F 6A81 6AA9 765B 765D
-9872 541D 6061 608B 8D41 711B 8CC3 853A 6A49 7510
-81A6 95B5 7584 85FA 8E78 8E8F 8E99 8EAA 8F65 62CE
-4F36 5222 7075 56F9 577D 590C 59C8 5CAD 5CBA 5F7E
-6CE0 72D1 82D3 6624 670E 67C3 73B2 74F4 51CC 768A
-7831 79E2 7ADB 94C3 9675 9E30 5A48 5D1A 6395 68C2
-6DE9 740C 7B2D 7D37 7EEB 7F9A 7FCE 8046 8232 83F1
-86C9 8851 797E 8A45 8DC9 8EE8 84E4 88EC 9234 959D
-96F6 9F84 7DBE 8506 8F18 970A 99D6 6FAA 8576 9302
-9717 9B7F 9CAE 9D12 9E77 71EF 971B 971D 9F62 702E
-9143 9BEA 5B41 8626 9F61 6AFA 91BD 9748 6B1E 7227
-9EA2 9F97 963E 888A 9886 9818 5DBA 4EE4 53E6 5464
-70A9 6E9C 7198 5218 6CA0 7544 6D4F 6D41 7559 65C8
-7409 7571 786B 88D7 5AB9 5D67 65D2 84A5 84C5 905B
-998F 9A9D 69B4 7460 98D7 5289 746C 7624 78C2 954F
-99E0 9E60 6A4A 74A2 7581 9560 7645 87C9 99F5 56A0
-61F0 700F 85F0 938F 93A6 993E 9E8D 93D0 98C0 9402
-9A2E 98C5 9C21 9DB9 9A51 67F3 6801 685E 73CB 687A
-7EFA 950D 7DB9 71AE 7F76 92F6 6A6E 7F80 5B3C 516D
-7FCF 586F 5EC7 6F91 78DF 9E68 8E53 9724 96E1 98C2
-9B38 9DDA 74FC 7505 56D6 54AF 9F99 5C78 5499 6CF7
-830F 663D 680A 73D1 80E7 772C 783B 7ADC 7B3C 804B
-9686 6E70 5D90 69DE 6F0B 856F 7643 7ABF 7BED 9F8D
-56A8 5DC3 5DC4 7027 8622 93E7 9733 66E8 6727 6AF3
-7216 74CF 77D3 7931 7932 8971 9F92 7C60 807E 882A
-882C 9F93 8C45 8E98 9468 9747 9A61 9E17 9647 5784
-5785 62E2 5131 96B4 58DF 58E0 650F 7AC9 54E2 6887
-7866 8856 5FBF 8D1A 5A04 507B 5A41 55BD 6E87 848C
-50C2 697C 560D 5ED4 617A 851E 9071 6A13 71A1 8027
-877C 779C 802C 825B 87BB 8B31 8EC1 9AC5 97BB 9ACF
-5D5D 6402 587F 5D81 645F 6F0A 750A 7BD3 7C0D 964B
-5C5A 6F0F 7618 9542 E834 763A 763B 93E4 9732 565C
-64B8 5695 64FC 5362 5E90 82A6 5786 67A6 6CF8 7089
-680C 80EA 8F73 822E 9E2C 7388 823B 9885 9229 9C88
-9B72 76E7 56A7 58DA 5EEC 650E 7018 7379 74B7 8606
-6AE8 7210 74D0 81DA 77D1 7C5A 7E91 7F4F 826B 8826
-8F64 946A 9871 9AD7 9C78 9E15 9EF8 5364 864F 6314
-635B 63B3 9E75 7875 9C81 865C 5877 6EF7 84FE 6A10
-6F9B 9B6F 64C4 6A79 78E0 9565 7002 6AD3 6C0C 8263
-93C0 826A 942A 9465 5725 752A 9646 4F93 5774 5F54
-5F55 5CCD 52CE 8D42 8F82 9678 5A3D 6DD5 6DE5 6E0C
-7849 83C9 902F 9E7F 6902 742D 797F 7984 50C7 5279
-52E0 6EE4 76DD 7769 788C 7A11 8CC2 8DEF 8F05 5876
-5ED8 645D 6F09 7B93 7CB6 850D 622E 6A1A 719D 8194
-819F 89EE 8DA2 8E1B 8F98 9181 6F5E 7A4B 8557 9304
-9332 9334 7490 7C0F 87B0 9D3C 6FFE 7C36 8E57 8F46
-9A04 9E6D 7C2C 7C35 93D5 9BE5 9D66 9D71 9E93 93F4
-9A3C 7C59 89FB 8642 9DFA 6C07 9A74 95FE 6988 95AD
-99BF 6C00 81A2 6ADA 85D8 66E5 9DDC 9A62 5415 5442
-4FA3 90D8 4FB6 65C5 68A0 7112 7963 7A06 94DD 5C61
-7D7D 7F15 5C62 8182 8190 891B 92C1 5C65 8938 5122
-7A5E 7E37 7A6D 5BFD 578F 5F8B 54F7 8651 7387 7EFF
-5D42 6C2F 844E 7DA0 7DD1 616E 7BBB 52F4 7E42 6AD6
-7208 9462 5B6A 5CE6 631B 683E 9E3E 8114 6EE6 92AE
-9D49 571D 5971 5B4C 5B7F 5DD2 6523 66EB 6B12 7053
-7F89 81E0 571E 7064 864A 947E 7674 7675 9E1E 5375
-4E71 91E0 4E82 63A0 7565 7567 950A 7A24 7A25 5719
-92DD 92E2 64FD 62A1 6384 4ED1 4F26 56F5 6CA6 7EB6
-4F96 8F6E 502B 966F 5707 5A68 5D18 5D19 60C0 6DEA
-83D5 68C6 8140 7896 7DB8 8726 8E1A 8F2A 78EE 9300
-9BE9 7A10 8023 8BBA 57E8 6EA3 8AD6 634B 9831 56C9
-7F57 5570 7321 8136 841D 903B 6924 8161 9523 7BA9
-9AA1 9559 87BA 7F85 89B6 93CD 5138 89BC 9A3E 7380
-863F 908F 6B0F 9E01 7C6E 947C 9960 9A58 5246 502E
-7822 84CF 88F8 8EB6 7630 8803 81DD 651E 66EA 7673
-6CFA 5CC8 6D1B 7EDC 8366 9A86 6D1C 73DE 7B3F 7D61
-843D 645E 6F2F 7296 96D2 99F1 9BA5 9D45 6FFC 7E99
-9C73 5638 5463 5988 5ABD 5B24 5B37 9EBB 75F2 5AF2
-8534 7298 87C6 87C7 9A6C 72B8 739B 7801 8682 99AC
-6EA4 7341 9064 746A 78BC 879E 93B7 9DCC 9C22 4E87
-6769 7943 9581 9A82 551B 508C 7770 561C 69AA 79A1
-7F75 99E1 7923 9B15 5417 55CE 561B 57CB 85B6 973E
-4E70 836C 8CB7 562A 8552 9DF6 52A2 8FC8 4F45 58F2
-9EA6 5356 8109 8108 9EA5 8847 52F1 8CE3 9081 9721
-9722 989F 9862 59CF 6097 86EE 6172 6471 9992 69FE
-6A20 7792 779E 9794 9945 9CD7 9B17 9B18 9C3B 883B
+5C68 98B6 8C97 7C34 8E86 91B5 61FC 943B
+77E9 7220 8977
+59E2 5A1F 6350 6D93 7106 74F9 8127 88D0 9E43 52EC
+954C 93B8 9D51 942B 8832
+5377 545F 5E23 57CD 6372 83E4 9529 81C7 9308
+5946 52B5 5DFB 5026 52CC 684A 72F7 7EE2 96BD 6DC3
+7737 9104 774A 7D6D 7F65 96CB 7760 7D79 98EC 617B
+8528 990B 7367 7E33 7F82
+5658 6485 64A7 5C69 8E7B
+4E85 5B52 5B53 51B3 5214 6C12 8BC0 5F21 6289 6C7A
+82B5 6CEC 73A6 73A8 6317 73CF 75A6 7804 7EDD 8673
+89C9 5014 6354 6B2E 8697 5D1B 6398 658D 6877 6B8C
+8990 89D6 8A23 8D7D 8DB9 902B 5095 53A5 7133 7D55
+7D76 899A 8D89 920C 5282 52EA 7474 8C32 99C3 5DA5
+61B0 71A6 7234 7357 761A 855D 8568 9D02 9D03 5671
+61A0 6A5B 6A5C 7235 81C4 9562 87E8 87E9 5C6B 7211
+8B4E 8E76 8E77 9D8C 5337 56BC 77CD 89BA 940D 941D
+721D 89FC 5F4F 6204 652B 7383 9DE2 6B14 77E1 9FA3
+8C9C 8EA9 9481
+519B 541B 5747 6C6E 59F0 8880 8ECD 94A7 8399 8690
+687E 76B2 83CC 921E 7885 76B8 76B9 89A0 9281 929E
+9CAA 9E87 9355 9BB6 9E8F 9E95
+5441 4FCA 90E1 9656 57C8 5CFB 6343 6D5A 9982 9A8F
+6659 710C 73FA 68DE 756F 7AE3 5101 7B98 7B9F 8720
+5BEF 61CF 9915 71C7 6FEC 99FF 9D54 9D58 6508 651F
+FDD0-004B
+5494 5496 5580 8849 64D6
+5361 4F67 80E9 9272
+57B0 88C3
+5F00 5952 63E9 950E 958B 9426
+51EF 5240 57B2 607A 95FF 94E0 51F1 5274 5605 6168
+8488 584F 5D66 6137 6977 8F06 669F 9534 9347 93A7
+95D3 98BD
+5FFE 708C 708F 6B2C 70D7 52D3 6112 613E 938E
+520A 681E 52D8 9F9B 582A 5D41 6221 9F95
+519A 574E 4F83 780D 83B0 5058 57F3 60C2 6B3F 586A
+6B41 69DB 8F21 6ABB 9851 7AF7 8F57
+770B 884E 5D01 5888 77B0 78E1 95DE 77D9
+5FFC 95F6 780A 7C87 5EB7 5ADD 5D7B 6177 6F2E 69FA
+7A45 7CE0 8EBF 93EE 9C47
+625B 6443
+4EA2 4F09 531F 909F 56E5 6297 72BA 7095 94AA 9227
+958C
+5C3B 9ADB
+4E02 6537 8003 62F7 6D18 6832 70E4 7A01 9C93 71FA
+94D0 7292 92AC 9760 9BB3 9BCC
+533C 82DB 67EF 7241 73C2 79D1 80E2 8F72 75B4 7822
+8DB7 68F5 842A 8EFB 988F 55D1 6415 7290 7A1E 7AA0
+9233 69BC 8596 9897 6A16 778C 78D5 874C 9312 9198
+9846 9AC1 791A
+58F3 63E2 6BBC 7FD7
+53EF 5777 5CA2 70A3 6E07 5D51 6564 6E34 5DB1 790D
+514B 523B 524B 52C0 52CA 5BA2 606A 5A14 5C05 8BFE
+5801 6C2A 9A92 7F02 6119 6E98 951E 78A6 7DD9 8250
+8AB2 790A 9A0D
+5D59
+808E 80AF 80BB 57A6 6073 5543 8C64 9F88 58BE 9339
+61C7 9F66
+63AF 88C9 8903
+52A5 962C 542D 5751 5994 6333 7841 727C 785C 94FF
+787B 647C 8A99 92B5 935E 93D7
+7A7A 5025 57EA 5D06 60BE 6DB3 787F 7B9C 9313 9D7C
+5B54 6050
+63A7 979A
+8EBB
+62A0 82A4 770D 527E 5F44 6473 7798
+53E3 52B6
+53E9 6263 6542 51A6 5BBC 5BC7 91E6 7A9B 7B58 6EF1
+8532 853B 7789 7C06 9DC7
+625D 5233 77FB 90C0 67AF 80D0 54ED 684D 5800 5D2B
+5710 8DCD 7A9F 9AB7 9BAC
+72DC 82E6
+5E93 4FC8 7ED4 5EAB 79D9 8DB6 7105 88B4 55BE 7D5D
+88E4 7614 9177 5EE4 8932 56B3
+5938 59F1 8A87
+4F89 54B5 57AE 9299
+630E 80EF 8DE8 9ABB
+823F
+84AF 64D3
+5DDC 51F7 5757 5FEB 4FA9 90D0 54D9 72EF 810D 584A
+7B77 9C99 5108 58A4 9136 5672 5EE5 736A 81BE 65DD
+7CE9 9C60
+5726
+5BBD 5BDB 5BEC 81D7 9ACB 9AD6
+6B35 6B3E 6B40 7ABE
+7ABD 9467
+5321 52BB 8BD3 90BC 5329 54D0 6047 6D2D 6846 7844
+7B50 8A86 8EED
+5FF9 6282 72C2 8BF3 8ED6 8A91 9D5F
+593C 5123 61ED
+535D 909D 5739 7EA9 51B5 65F7 5CB2 6CC1 77FF 663F
+8D36 7716 7736 7D56 8CBA 8EE6 9271 913A 58D9 9ECB
+61EC 66E0 720C 8E80 77CC 7926 7A6C 7E8A 945B
+783F 7D4B 7B7A
+4E8F 5232 5CBF 609D 76D4 7AA5 8067 7ABA 8667 985D
+95DA 5DCB 862C
+594E 6646 9035 9108 9697 9804 9997 55B9 63C6 8475
+9A99 6223 668C 694F 6951 9B41 777D 8770 982F 6AC6
+85C8 9368 9377 9A24 5914 8637 5DD9 8641 72AA 8EA8
+7143 8DEC 980D 8E5E
+5C2F 532E 6B33 559F 5ABF 6126 6127 6E83 8143 8489
+9988 7786 5633 5B07 6192 6F70 7BD1 8069 806D 8562
+6A3B 8B09 993D 7C23 8075 7C44 9400 994B 944E
+5764 6606 5803 5A6B 5D10 5D11 665C 7311 83CE 88C8
+711C 7428 9AE0 88E9 8C87 951F 9AE1 9E4D 872B 890C
+9AE8 747B 918C 9315 9CB2 9A09 9BE4 9D7E 9DA4
+6083 6346 9603 58F8 68B1 7975 7871 7A07 88CD 58FC
+7A1B 7D91 95AB 95B8 9F6B
+56F0 6D83 774F
+5812 5C21 6F49 71B4
+6269 62E1 62EC 6304 6870 7B48 843F 8440 86DE 9614
+5ED3 9822 9AFA 64F4 6FF6 95CA 979F 61D6 9729 97B9
+9B20
+97D5
+FDD0-004C
+5783 62C9 67C6 7FCB 83C8 641A 908B
+65EF 524C 782C 63E6 78D6
+5587 85DE
+814A 63E7 694B 760C 8721 874B 8FA2 8FA3 8772 81C8
+650B 7209 81D8 9B0E 74CE 9574 9BFB 881F 945E
+5566 6E82 97A1 56B9
+6765 4F86 4FEB 5008 5D03 5F95 6D9E 83B1 90F2 5A61
+5D0D 5EB2 5FA0 68BE 6DF6 730D 840A 9028 68F6 741C
+7B59 94FC 7B82 9338 9A0B 9BE0 9D86 9EB3
+553B 8D49 7750 775E 8D56 8CDA 6FD1 8CF4 983C 9842
+765E 9D63 7028 702C 7C41 85FE 6AF4 7669 8970 7C5F
+5170 5C9A 62E6 680F 5A6A 60CF 5D50 847B 9611 84DD
+8C30 53B1 6F9C 8934 5116 6593 7BEE 61E2 71E3 71F7
+85CD 8955 9567 95CC 74BC 8964 8B4B 5E71 6514 703E
+7046 7C43 7E7F 862D 6595 6B04 7937 8974 56D2 7061
+7C63 6B17 8B95 8E9D 9484 97CA
+89C8 6D68 63FD 7F06 6984 6F24 7F71 9182 58C8 61D2
+89A7 64E5 5B3E 61F6 5B44 89BD 5B4F 652C 7060 56D5
+6B16 9872 7E9C
+70C2 6EE5 71D7 5682 6FEB 7201 721B 74D3 7224 946D
+7CF7
+7226 897D
+5577
+52C6 90CE 90DE 6B34 72FC 9606 5ACF 5ECA 658F 6879
+7405 84C8 6994 746F 7860 7A02 9512 7B64 8246 870B
+8782 8EB4 92C3 93AF 99FA
+6717 6716 70FA 5871 84E2 6A03 8A8F 6724
+57CC 5D00 6D6A 83A8 8497 95AC
+5525 90D2
+635E 6488
+52B3 52B4 7262 7A82 54F0 5520 5D02 6D76 52DE 75E8
+94F9 50D7 562E 5D97 61A5 7646 78F1 7C29 87E7 91AA
+9412 985F 9ADD
+8002 8001 4F6C 54BE 59E5 6045 72EB 8356 6833 94D1
+92A0 6F66 6A51 8F51
+6D9D 70D9 8022 916A 5AEA 61A6 6F87 8EBC 6A6F 802E
+8EC2
+73EF 7853 7CA9 86EF 6725 9BB1
+808B
+4EC2 961E 4E50 53FB 5FC7 6250 6C3B 827B 738F 6CD0
+7AFB 7833 697D 97F7 6A02 7C15 9CD3 9C33
+4E86 9979 990E
+52D2
+96F7 5AD8 7F27 8502 757E 64C2 6A91 7E32 790C 956D
+6AD1 74C3 7FB8 7927 7E8D 7F4D 8632 881D 9433 8F60
+513D 58E8 9458 9741 8646 6B19 7E9D 9F3A
+53BD 8012 8BD4 5792 7D6B 8142 50AB 8A84 6A0F 78CA
+854C 78E5 857E 5121 58D8 7657 85DF 6AD0 7928 7045
+863D 8B84 9478 9E13
+6CEA 6D21 7C7B 6D99 6DDA 7D2F 9179 9287 981B 982A
+9311 6502 98A3 985E 7E87 8631 79B7
+5841 561E 9C69
+5D1A 5844 68F1 695E 7890 7A1C 8F18 8590
+51B7
+5030 580E 6123 7756 8E1C
+5215 675D 5398 5253 79BB 8372 9A8A 60A1 68A8 68A9
+68B8 7281 740D 7C9A 83DE 55B1 68C3 7282 9E42 527A
+6F13 775D 7B63 7F21 8243 84E0 870A 5AE0 5B77 6A06
+7483 76E0 8C8D 7CCE 853E 8935 92EB 9CA1 9ECE 7BF1
+7E2D 7F79 9305 87CD 8B27 91A8 569F 85DC 908C 91D0
+96E2 6584 74C8 93EB 9BEC 9D79 9EE7 56C4 6521 7055
+863A 8821 9A39 5B4B 5EF2 5299 9457 7A72 7C6C 7E9A
+9A6A 9C7A 9E1D
+793C 91CC 4FDA 5CDB 5CE2 5A0C 5CF2 6D6C 9026 7406
+9502 7CB4 88CF 8C4A 92F0 9CA4 5163 6FA7 79AE 9BC9
+87F8 91B4 9CE2 9090 9C67 6B1A
+529B 5386 5389 5C74 7ACB 540F 6738 4E3D 5229 52B1
+5456 575C 6CA5 82C8 4F8B 5CA6 623E 67A5 6CB4 75A0
+82D9 96B6 4FD0 4FEA 680E 75AC 7805 8318 8354 8D72
+8F79 90E6 550E 60A7 6817 681B 6D96 7301 73D5 783A
+783E 79DD 8385 8389 5533 5A6F 7B20 7C92 7C9D 8137
+86B8 86CE 5088 51D3 53A4 68D9 75E2 86E0 8A48 8DDE
+96F3 53AF 585B 6144 642E 6EA7 849A 849E 925D 9CE8
+53B2 66A6 6B74 746E 7D9F 8727 8777 52F5 66C6 6B77
+7BE5 96B7 9D17 5DC1 6FFF 7658 78FF 96B8 9B01 512E
+66DE 6AD4 7204 72A1 79B2 8807 9398 56A6 58E2 650A
+6ADF 701D 74C5 77CB 792A 85F6 9E97 6AEA 720F 74D1
+76AA 76ED 792B 7CF2 8823 5137 7667 7930 882B 9148
+9DC5 9E9C 56C7 6526 89FB 8E92 8F62 6B10
+8B88 8F63 652D 74E5 9742 9C71 9C73 974B
+674E 6803 54E9 5A33 72F8 88E1 6AAA 9BCF
+4FE9 5006
+5941 8FDE 5E18 601C 6D9F 83B2 9023 68BF 8054 88E2
+4EB7 55F9 5EC9 6169 6E93 6F23 84EE 5332 5969 69E4
+7191 899D 5286 5333 5652 5AFE 6190 78CF 806B 8933
+9CA2 6FC2 6FD3 7E3A 7FF4 806E 8595 878A 6AE3 71EB
+806F 81C1 8B30 8E65 938C 9570 7C3E 880A 9B11 942E
+9C31 7C62 7C68
+655B 740F 8138 88E3 6459 7489 8539 5B1A 6582 81C9
+913B 895D 7FB7 861E
+7EC3 70BC 604B 6D70 6B93 50C6 581C 5AA1 6E45 8430
+94FE 695D 7149 7453 6F4B 7DF4 6FB0 932C 6BAE 934A
+93C8 7032 861D 9C0A 6200 7E9E
+8068
+826F 4FCD 51C9 6881 6DBC 690B 8F8C 7CAE 7CB1 589A
+7DA1 8E09 6A11 8F2C 7CE7
+4E21 4E24 5169 5521 5562 639A 813C 88F2 7DC9 873D
+9B49 9B4E
+4EAE 54F4 60A2 8C05 8F86 55A8 667E 6E78 91CF 8F0C
+8AD2 8F1B 9344
+7177 7C17
+64A9 8E7D
+8FBD 7597 804A 50DA 5BE5 5D7A 6180 6F3B 818B 5639
+5AFD 5BEE 5D9A 5D9B 6579 7360 7F2D 907C 66B8 71CE
+7499 81AB 7642 9E69 5C6A 5EEB 7C1D 7E5A 87DF 8C42
+8CFF 8E58 9410 9ACE 85D4 98C9 9DEF
+53FE 948C 91D5 911D 84FC 61AD 77AD 66E2 957D 7212
+5C25 5C26 7093 6599 5C1E 5ED6 6482 7AB7 9563
+720E
+5217 52A3 51BD 52BD 59F4 6312 6D0C 8322 8FFE 54F7
+57D2 57D3 6835 6D56 70C8 6369 730E 811F 86DA 88C2
+716D 7759 8057 8D94 5DE4 98B2 5120 9BA4 9D37 64F8
+7375 72A3 8E90 9B1B 9B23 9C72
+6BDF 54A7 6318 70EE 731F
+62CE
+53B8 90BB 6797 4E34 51A7 77DD 5549 5D0A 6DCB 667D
+7433 7CA6 75F3 7884 7B96 7CBC 9130 96A3 5D99 6F7E
+735C 9074 65B4 66BD 71D0 7498 8F9A 9716 77B5 78F7
+81E8 7E57 7FF7 9E90 8F54 58E3 7036 93FB 9CDE 9A4E
+9C57 9E9F
+83FB 4E83 51DB 51DC 649B 5EE9 5EEA 61CD 61D4 6F9F
+6A81 6AA9 765B 765D
+541D 6061 608B 8D41 711B 8CC3 50EF 853A 6A49 7510
+81A6 95B5 7584 85FA 8E78 8E8F 8E99 8EAA 8F65
+3007 5222 7075 56F9 577D 590C 59C8 5CBA 5F7E 6CE0
+72D1 82D3 6624 670E 67C3 73B2 74F4 51CC 768A 7831
+79E2 7ADB 94C3 9675 9E30 5A48 6395 68C2 6DE9 740C
+7B2D 7D37 7EEB 7F9A 7FCE 8046 8232 83F1 86C9 8851
+797E 8A45 8DC9 8EE8 88EC 9234 959D 96F6 9F84 7DBE
+8506 970A 99D6 6FAA 8576 9302 9B7F 9CAE 9D12 9E77
+71EF 971B 971D 9F62 9143 9BEA 5B41 8626 9F61 6AFA
+91BD 9748 6B1E 7227 9EA2 9F97
+963E 5CAD 888A 9886 9818 5DBA
+4EE4 53E6 5464 70A9
+4F36 84E4 9717 702E
+6E9C 7198 8E53
+5218 6CA0 7544 6D4F 6D41 7559 65C8 7409 7571 786B
+88D7 5AB9 5D67 65D2 84A5 84C5 905B 998F 9A9D 69B4
+7460 98D7 5289 746C 7624 78C2 954F 99E0 9E60 6A4A
+74A2 7581 9560 7645 87C9 99F5 56A0 61F0 700F 85F0
+938F 93A6 9E8D 93D0 98C0 9A2E 98C5 9C21 9DB9 9A51
+67F3 6801 73CB 687A 7EFA 950D 925A 98F9 7DB9 71AE
+7F76 92F6 6A6E 5B3C 7F80
+516D 7542 7FCF 586F 5EC7 6F91 78DF 9E68 9724 993E
+96E1 9402 98C2 9B38 9DDA
+685E
+56D6
+9F99 5C78 5499 6CF7 830F 663D 680A 73D1 80E7 772C
+783B 7ADC 7B3C 804B 9686 6E70 6EDD 5D90 6F0B 856F
+7643 7BED 9F8D 56A8 5DC3 5DC4 7027 7C3C 8622 93E7
+9733 66E8 6727 6AF3 7216 74CF 77D3 7931 7932 8971
+9F92 7C60 807E 882A 882C 8C45 8E98 9468 9747 9A61
+9E17
+9647 5784 5785 62E2 7BE2 5131 96B4 58DF 58E0 650F
+7AC9 9F93
+54E2 6335 6887 5FBF 8D1A
+69DE 7ABF
+779C
+5245 5A04 507B 5A41 6E87 848C 50C2 697C 5ED4 617A
+6F0A 851E 9071 6A13 71A1 8027 877C 802C 825B 87BB
+8B31 8EC1 9AC5 97BB 9ACF
+5D5D 6402 587F 5D81 645F 750A 7BD3 7C0D
+964B 5C5A 6F0F 7618 9542 763A 763B 93E4
+55BD 560D
+565C 64B8
+5362 5E90 82A6 5786 6CF8 7089 680C 80EA 8F73 9E2C
+7388 823B 9885 9C88 9B72 76E7 6ADA 56A7 58DA 5EEC
+650E 7018 7379 74B7 8606 66E5 6AE8 7210 74D0 81DA
+77D1 7C5A 7E91 7F4F 826B 8826 8F64 946A 9871 9AD7
+9C78 9E15 9EF8
+5364 864F 63B3 9E75 7875 9C81 865C 5877 6EF7 84FE
+6A10 9B6F 64C4 6A79 78E0 9565 5695 64FC 7002 6AD3
+6C0C 8263 93C0 826A 942A 9465
+5725 752A 9646 4F93 5774 5F54 5F55 5CCD 52CE 8D42
+8F82 9678 5A3D 6DD5 6DE5 6E0C 7849 83C9 902F 9E7F
+6902 742D 7984 797F 50C7 5279 52E0 76DD 7769 788C
+7A11 8CC2 8DEF 5876 5ED8 645D 6F09 7B93 7CB6 850D
+622E 6A1A 719D 8194 89EE 8DA2 8E1B 8F98 9181 6F5E
+7A4B 8557 9304 9332 9334 7490 7C0F 87B0 7C36 8E57
+8F46 9A04 9E6D 7C2C 93D5 9BE5 9D66 9D71 9E93 93F4
+9732 9A3C 7C59 8642 9DFA
+67A6 822E 9229 6F9B 6C07
+9A74 90D8 95FE 6988 95AD 99BF 6C00 81A2 85D8 9DDC
+9A62
+5415 5442 4FA3 4FB6 6314 635B 634B 65C5 68A0 7963
+7A06 94DD 5C61 7D7D 7F15 5C62 8182 891B 92C1 5C65
+8190 8938 5122 7A5E 7E37 7A6D
+5BFD 578F 5F8B 8651 7387 7EFF 5D42 6C2F 844E 6EE4
+7DA0 7DD1 616E 7BBB 819F 52F4 7E42 6FFE 6AD6 7208
+9462
+7112
+5A08 5B6A 5CE6 631B 683E 9E3E 8114 6EE6 92AE 9D49
+571D 5971 5B4C 5B7F 5DD2 6523 66EB 6B12 7053 7F89
+81E0 571E 7064 864A 947E 7674 7675 9E1E
+5375
+4E71 91E0 4E82
+7567 950A 7A24 5719 92DD 92E2 64FD
+62A1 6384
+4ED1 4F26 56F5 6CA6 7EB6 4F96 8F6E 502B 966F 5707
+5A68 5D18 5D19 60C0 6DEA 83D5 68C6 8140 7DB8 8726
+8E1A 8F2A 9300 9BE9
+57E8 7896 7A10 8023
+8BBA 6EA3 8AD6
+78EE
+7F57 5570 9831 56C9
+7F56 7321 8136 841D 903B 6924 8161 8999 9523 7BA9
+9AA1 9559 87BA 7F85 89B6 93CD 5138 89BC 9A3E 651E
+7380 863F 908F 6B0F 9A58 9E01 7C6E 947C 9960
+5246 502E 84CF 88F8 8EB6 7630 8803 81DD 66EA 7673
+6CFA 5CC8 6D1B 7EDC 8366 9A86 6D1C 73DE 7866 7B3F
+7D61 843D 55E0 645E 6F2F 7296 927B 96D2 99F1 9BA5
+9D3C 9D45 6FFC 7E99
+FDD0-004D
+5463
+5988 5B56 5ABD 5B24 5B37
+9EBB 75F2 8534 7298 87C7
+9A6C 739B 7801 8682 99AC 6EA4 746A 78BC 879E 93B7
+9C22 9DCC
+72B8 6769 7943 9581 9A82 551B 508C 7341 7770 561C
+69AA 79A1 7F75 99E1 7923 9B15
+4E87 5417 55CE 9064 561B 5AF2 87C6
+57CB 85B6 973E
+4E70 836C 8CB7 562A 8552 9DF6
+52A2 8FC8 4F45 58F2 9EA6 5356 8109 8108 9EA5 8847
+52F1 8CE3 9081 9721 9722
+5ADA 989F
+59CF 6097 86EE 50C8 8C29 6172 9992 6A20 7792 779E
+9794 8B3E 9945 9CD7 9862 9B17 9B18 9C3B 883B
 5C58 6E80 774C 6EE1 6EFF 87A8 8954 87CE 93CB 77D5
-66FC 50C8 8C29 9124 5881 5ADA 5E54 6162 6F2B 734C
-7F26 8504 8513 71B3 6FAB 6FB7 9558 7E35 87C3 8B3E
-93DD 8630 7264 9099 5402 5FD9 6C52 8292 5C28 6757
-6767 76F2 5396 607E 7B00 832B 54E4 5A0F 6D5D 72F5
-727B 786D 91EF 94D3 75DD 86D6 92E9 99F9 8609 83BD
-83BE 833B 58FE 6F2D 87D2 880E 5301 732B 8C93 6BDB
-77DB 6BDC 6BDD 6786 7266 8305 65C4 6E35 8EDE 9155
-5825 86D1 951A 7DE2 9AE6 8765 9AF3 9328 87CA 9D9C
-5187 536F 5918 623C 5CC1 6CD6 8306 6634 94C6 7B37
-84E9 925A 5183 7683 82BC 5190 8302 5192 770A 8D38
-8004 88A4 8992 5AA2 5E3D 8CBF 911A 6117 6693 6959
-6BF7 7441 7780 8C8C 912E 8750 61CB 551C 5E85 5692
-6FF9 56B0 4E48 7666 5445 6C92 6CA1 679A 73AB 82FA
-6802 7709 8104 8393 6885 73FB 8122 90FF 5833 5A92
-5D4B 6E44 6E48 7338 7742 847F 6963 6973 7164 7442
-7996 815C 587A 69D1 9176 9545 9E5B 92C2 9709 5FBE
-9387 77C0 6517 862A 9DA5 651F 9EF4 6BCE 6BCF 51C2
-7F8E 6334 6D7C 5A84 5D44 6E3C 5ABA 9541 5B0D 71D8
-8EBE 9382 9EE3 59B9 62BA 6CAC 6627 7959 8882 771B
-5A9A 5BD0 75D7 8DCA 9B3D 715D 7778 97CE 9B45 7BC3
-875E 569C 691A 95E8 626A 73A3 9494 9580 9585 636B
-83DB 748A 7A48 9346 864B 95F7 7116 60B6 66AA 71DC
-61D1 61E3 4EEC 5011 63B9 64DD 6C13 753F 867B 51A1
-5EAC 7F5E 8394 840C 8420 5922 6E95 76DF 96FA 750D
-511A 6A57 77A2 8544 8771 9133 9138 5E6A 61DE 6FDB
-7374 66DA 6726 6AAC 6C0B 77C7 791E 9BCD 8268 9E72
-77D2 9740 995B 986D 9E0F 52D0 731B 74FE 8499 9530
-824B 8722 9333 61F5 8813 9BED 9F06 5B5F 68A6 5923
-61DC 9725 973F 8E0E 54AA 7787 519E 5F25 7962 8FF7
-88AE 7315 8C1C 84BE 8A78 8B0E 919A 5F4C 64DF 7CDC
-7E3B 9E8A 9E8B 79B0 9761 737C 9E9B 7222 6202 6520
-74D5 863C 957E 91BE 91BF 9E0D 91C4 7C73 7F8B 8288
-4F8E 6CB5 5F2D 6D23 6549 772B 7C8E 8112 772F 6E33
-845E 8746 851D 92A4 6FD4 7030 5B4A 7056 5196 7CF8
-6C68 6C95 5B93 6CCC 89C5 5CDA 7955 5BBB 79D8 5BC6
-6DE7 8993 8994 5E42 8C27 5853 5E4E 899B 5627 6993
-6EF5 6F1E 7190 8524 871C 9F0F 51AA 6A12 5E66 6FD7
-85CC 8B10 6AC1 7C1A 7F83 5B80 8287 7720 5A42 7EF5
-5A94 68C9 7DBF 7DDC 81F1 8752 5B35 6AB0 6ACB 77C8
-77CA 77CF 4E0F 6C45 514D 6C94 9EFE 4FDB 52C9 7704
-5A29 506D 5195 52D4 5595 6110 6E4E 7F05 8442 817C
-7DEC 9BB8 9763 9762 7CC6 9EAA 9EAB 9EBA 9EB5 55B5
-82D7 5A8C 63CF 7784 9E4B 5AF9 9D93 9C59 676A 7707
-79D2 6DFC 6E3A 7F08 7BCE 7DF2 85D0 9088 5999 5E99
-7385 7AD7 5EBF 5EDF 4E5C 5400 54A9 54F6 5B6D 706D
-8995 6423 6EC5 8511 858E 9D13 5E6D 61F1 700E 7BFE
-6AD7 881B 884A 9456 9C74 74F1 6C11 578A 59C4 5CB7
-5FDE 600B 65FB 65FC 739F 82E0 73C9 76FF 51A7 7F60
-5D0F 636A 7418 741D 7F17 668B 7449 75FB 7888 9231
-7DCD 7DE1 8CEF 9309 9D16 9372 76BF 51BA 5221 95F5
-62BF 6CEF 52C4 6543 95FD 60AF 654F 7B22 7B3D 6E63
-9594 610D 656F 9EFD 95A9 50F6 615C 61AB 6F63 7C22
-9CD8 8820 9C35 540D 660E 9E23 6D3A 7700 8317 51A5
-6719 7733 94ED 910D 5AC7 6E9F 733D 84C2 669D 69A0
-9298 9CF4 7791 879F 89AD 4F72 59F3 51D5 614F 9169
-547D 63B5 8A7A 8C2C 7F2A 7E46 8B2C 6478 56A4 5C1B
-8C1F 5AEB 998D 6479 6A21 819C 9EBC 9EBD 6469 9B79
-6A45 78E8 7CE2 8B28 8B29 64F5 9943 56A9 8611 8B55
-9ACD 9B54 5298 995D 62B9 61E1 9EBF 672B 52B0 573D
-59BA 5E13 603D 6B7E 6B7F 6B81 6CAB 8309 964C 5E1E
-6629 67BA 768C 771C 773F 781E 79E3 8388 83AB 773D
-7C96 7D48 88B9 86E8 8C83 55FC 587B 5BDE 6F20 84E6
-8C8A 9286 977A 58A8 5AFC 66AF 763C 7790 7799 9546
-9B69 9ED9 7E38 9ED8 8C98 85E6 87D4 93CC 7205 9A40
-7933 7E86 8031 4E6E 54DE 725F 4F94 52BA 6048 6D20
-6859 7738 8C0B 927E 8B00 77B4 936A 9D3E 9EB0 87F1
-67D0 6BCD 6BEA 734F 58B2 6C01 4EA9 7261 59C6 62C7
-5CD4 7273 7546 7552 80DF 5A12 755D 755E 782A 756E
-9267 8E07 6728 4EEB 76EE 51E9 6C90 72C7 5776 7091
-7267 82DC 6BE3 83AF 869E 94BC 52DF 843A 96EE 5893
-5E55 5E59 6154 6958 7766 926C 6155 66AE 6A22 8252
-9702 7A46 97AA 65C0 4E06 6927 62CF 62FF 6310 8ABD
-954E 93BF 4E78 54EA 96EB 5185 90A3 5436 59A0 7EB3
-80AD 5A1C 8872 94A0 7D0D 88A6 637A 7B1D 8C7D 8EDC
-8C80 9209 55F1 84B3 9779 9B76 8149 718B 6468 5B7B
+66FC 9124 5881 5E54 6162 6471 6F2B 734C 7F26 8504
+8513 69FE 71B3 6FB7 9558 7E35 93DD
+8630
+7264
+9099 5402 5FD9 6C52 8292 5C28 6757 6767 6C13 76F2
+607E 7B00 832B 54E4 5A0F 5EAC 6D5D 72F5 727B 786D
+91EF 94D3 75DD 86D6 92E9 99F9
+83BD 83BE 7865 833B 58FE 6F2D 87D2 880E
+732B 8C93
+6BDB 77DB 6786 7266 8305 8306 65C4 7F5E 515E 6E35
+8EDE 9155 5825 951A 5AF9 9AE6 6C02 729B 8765 9AF3
+9328 87CA 9D9C
+5187 536F 5918 4E6E 623C 5CC1 6CD6 6634 94C6 7B37
+84E9
+5183 7683 82BC 5190 8302 5192 67D5 770A 8D38 8004
+88A4 8992 5AA2 5E3D 843A 8CBF 911A 6117 6693 6959
+6BF7 7441 7780 8C8C 912E 8750 61CB
+4E48 9EBC 5692 6FF9 569C 7666
+5445 5746 6C92 6CA1 679A 73AB 82FA 6802 7709 5A12
+8104 8393 6885 73FB 8122 90FF 5833 5A92 5D4B 6E44
+6E48 7338 7742 847F 6963 6973 7164 7442 7996 587A
+69D1 9176 9545 9E5B 92C2 9709 7A48 5FBE 9387 77C0
+6517 862A 9DA5 9EF4
+6BCE 6BCF 51C2 7F8E 6334 6D7C 5A84 5D44 6E3C 5ABA
+815C 9541 5B0D 71D8 9382 9EE3
+59B9 62BA 6CAC 65C0 6627 7959 8882 771B 5A9A 5BD0
+75D7 8DCA 9B3D 715D 7778 97CE 9B45 7BC3 875E
+8EBE
+95E8 626A 73A7 9494 9580 9585 636B 83DB 748A 9346
+4EB9 864B
+95F7 7116 60B6 66AA 71DC 61D1 61E3
+4EEC 5011 691A
+753F 867B 51A1 8394 840C 8420 76DF 8499 750D 511A
+6A57 77A2 8544 8771 9133 9138 5E6A 61DE 6FDB 66DA
+6726 6AAC 6C0B 77C7 791E 9BCD 9E72 8268 8609 77D2
+973F 9740 995B 986D 9F06 9E0F
+52D0 731B 74FE 9530 824B 8722 61DC 7374 9333 61F5
+8813 9BED
+5B5F 68A6 5922 6E95 5923 9725
+63B9 64DD
+54AA 772F 7787
+519E 5F25 7F59 7962 8FF7 7315 8C1C 84BE 8A78 8B0E
+919A 5F4C 64DF 7CDC 7E3B 9E8A 9E8B 79B0 9761 7030
+737C 9E9B 957E 6202 6520 74D5 863C 7222 91BE 91BF
+9E0D 91C4
+7C73 8288 4F8E 6CB5 7F8B 5F2D 6D23 6549 772B 8112
+6E33 845E 851D 92A4 6FD4 5B4A 7056
+5196 7CF8 6C68 6C95 5B93 6CCC 89C5 5CDA 7955 5BBB
+79D8 5BC6 6DE7 6DFF 8993 8994 5E42 8C27 5853 5E4E
+899B 5627 6993 6EF5 6F1E 7190 8524 871C 9F0F 51AA
+6A12 5E66 6FD7 85CC 8B10 6AC1 7C1A 7F83
+5B80 8287 7720 5A42 7EF5 5A94 68C9 7DBF 7DDC 81F1
+8752 5B35 6AB0 6ACB 77C8 77CA 77CF
+4E0F 6C45 514D 6C94 9EFE 52C9 7704 5A29 506D 5195
+52D4 6E11 5595 6110 6E4E 7F05 8442 7D7B 817C 9EFD
+7DEC 9EAB 6FA0 9BB8
+9763 9762 7CC6 9EAA 9EBA 9EB5
+55B5
+82D7 5A8C 63CF 7784 9E4B 7DE2 9D93 9C59
+676A 7707 79D2 6DFC 6E3A 7F08 7BCE 7DF2 85D0 9088
+5999 5E99 7385 7AD7 5EBF 5EDF
+4E5C 5400 54A9 54F6 5B6D
+706D 70D5 8995 6423 6EC5 8511 858E 9D13 5E6D 61F1
+7BFE 6AD7 881B 884A 9456 9C74
+6C11 59C4 5CB7 5FDE 600B 65FB 65FC 82E0 73C9 76FF
+7807 7F60 5D0F 636A 7418 7F17 656F 7449 75FB 7888
+9231 7DCD 7DE1 9309 9D16 9372
+76BF 51BA 5221 95F5 62BF 6CEF 52C4 6543 95FD 60AF
+654F 7B22 60FD 6E63 9594 610D 668B 95A9 50F6 615C
+61AB 6F63 7C22 9CD8 8820 9C35
+578A 7B3D
+540D 660E 9E23 6D3A 7700 8317 51A5 6719 7733 94ED
+910D 5AC7 6E9F 733D 84C2 669D 69A0 9298 9CF4 7791
+879F 89AD
+4F72 59F3 51D5 614F 9169
+547D 6927 8A7A
+63B5
+8C2C 8B2C
+6478
+8C1F 5AEB 998D 6479 6A21 819C 9EBD 6469 6A45 78E8
+7CE2 8B28 56A4 64F5 9943 56A9 56B0 8611 9ACD 9B54
+5298 995D
+62B9 61E1
+672B 52B0 573D 59BA 5E13 6B7E 6B7F 6B81 6CAB 8309
+964C 5E1E 6629 67BA 551C 768C 771C 773F 781E 79E3
+8388 83AB 773D 7C96 7D48 6E50 86E8 8C83 55FC 587B
+5BDE 6F20 734F 84E6 8C8A 66AF 9286 977A 5AFC 9ED9
+763C 7790 7799 9546 9B69 58A8 9ED8 700E 8B29 8C98
+85E6 87D4 93CC 7205 9A40 7933 7E86 8031
+5E85 603D 5C1B 9B79 9EBF
+54DE
+725F 4F94 52BA 6048 6D20 7738 8C0B 86D1 7F2A 8E0E
+927E 8B00 77B4 7E46 936A 9D3E 9EB0
+67D0
+6BEA 6C01 58B2
+6BCD 4EA9 7261 5776 59C6 5CD4 7273 7546 7552 80DF
+755D 755E 782A 756E 9267 8E07
+6728 4EEB 6730 76EE 6C90 72C7 7091 7267 82DC 6BE3
+83AF 869E 94BC 52DF 96EE 5893 5E55 5E59 6154 6958
+7766 926C 6155 66AE 8252 9702 7A46 7E38 97AA
+51E9 62C7
+FDD0-004E
+55EF
+62CF 62FF 6310 55F1 954E 93BF
+4E78 54EA 96EB
+90A3 59A0 7EB3 80AD 5A1C 8872 94A0 7D0D 88A6 637A
+7B1D 8C7D 8EDC 8C80 9209 84B3 9779 9B76
+8149 718B 6468 5B7B
 4E43 5976 827F 6C16 7593 59B3 5EFC 8FFA 5037 91E2
-5B2D 5948 67F0 8010 8418 6E3F 9F10 8926 879A 933C
-56E1 7537 62A9 678F 67AC 4FBD 5357 67DF 5A1A 7558
-83AE 96BE 5583 9056 6694 6960 7175 8AF5 96E3 8D67
-63C7 6E73 8433 8169 877B 6201 5A7B 56D4 4E6A 56A2
-56CA 8830 9B1E 9995 6B1C 9962 64C3 66E9 652E 7062
-513E 9F49 5B6C 6A82 5476 6013 6320 5CF1 7847 94D9
-7331 86F2 8A49 7899 6493 5DA9 7376 87EF 5912 8B4A
-9403 5DCE 737F 57B4 607C 60A9 8111 5318 8133 5816
-60F1 5AD0 7459 8166 78AF 95F9 5A65 6DD6 9599 9B27
-81D1 7592 8BB7 5450 6290 7732 8A25 5462 5A1E 9981
-8147 9912 9BBE 9BD8 5167 6C1D 713E 5AE9 80FD 83BB
-55EF 922A 92B0 5571 59AE 5C3C 576D 6029 6CE5 7C7E
-502A 5C54 79DC 90F3 94CC 57FF 5A57 6DE3 730A 86AD
-68FF 8DDC 922E 873A 89EC 8C8E 8F17 9713 9CB5 9BE2
-9E91 9F6F 81E1 4F31 4F32 4F60 62DF 62B3 72D4 82E8
-67C5 639C 65CE 6672 5B74 9268 999C 5117 511E 96AC
-64EC 85BF 6AB7 9448 5C70 6C3C 8FE1 6635 80D2 9006
-533F 75C6 7724 5804 60C4 5ADF 6135 6EBA 7768 817B
-66B1 7E0C 81A9 5B3A 62C8 5E74 79CA 54D6 79E5 9C87
-9B8E 9CB6 9D47 9ECF 9BF0 6D8A 637B 6DF0 8F87 649A
-64B5 78BE 8F26 7C10 6506 8E68 8E8E 5344 5EFF 5FF5
-59E9 57DD 824C 5A18 5B22 5B43 917F 91B8 91C0 9E1F
-8311 8312 8885 9CE5 5ACB 88CA 8526 5B1D 892D 5B32
-5C3F 8132 634F 63D1 8080 5E07 573C 82F6 67BF 9667
-6D85 8042 81EC 556E 60D7 83CD 9689 55A6 655C 55EB
-5D72 9269 8E02 565B 6470 69F7 8E17 8E19 954A 954D
-5DAD 7BDE 81F2 931C 989E 8E51 5699 8076 93B3 95D1
-5B7C 5B7D 6AF1 7C4B 8616 56C1 9F67 5DD5 7CF1 7CF5
-8825 56D3 8B98 8EA1 9477 9873 9480 810C 56DC 60A8
-62F0 5B81 549B 62E7 72DE 67E0 804D 5BCD 5BD5 5BDC
-5BE7 511C 51DD 5680 5B23 64F0 7370 85B4 6AB8 8079
-944F 9B21 9E0B 6A63 77C3 4F5E 4FAB 6CDE 752F 5BD7
-6F9D 6FD8 599E 725B 725C 6C7C 5FF8 626D 6C91 72C3
-7EBD 677B 7084 94AE 7D10 83A5 9215 9775 519C 4FAC
-54DD 6D53 8113 79FE 8FB2 5102 8FB3 5665 61B9 6FC3
-857D 79AF 81BF 7A60 895B 91B2 6B01 7E77 5F04 630A
-6335 7651 9F48 7FBA 8B68 5542 69C8 8028 7373 6ABD
-9392 941E 8B73 5974 4F16 5B65 9A7D 7B2F 99D1 4F2E
-52AA 5F29 782E 80EC 6012 5089 6419 5973 9495 7C79
-91F9 8842 6067 6712 8844 759F 8650 7627 597B 6E1C
-6696 7156 7157 992A 7878 9EC1 71F6 90CD 632A 689B
-50A9 643B 513A 6A60 8BFA 558F 63BF 903D 6426 9518
-6992 7A2C 8AFE 8E43 7CD1 9369 61E6 61E7 7CE5 7A64
-7CEF 685B 5662 54E6 7B7D 6BEE 591E 4E6F 97B0 8BB4
-6B27 6BB4 74EF 9E25 5878 6B50 6BC6 71B0 750C 8192
-9D0E 6AD9 85F2 8B33 93C2 9DD7 9F75 5418 5455 5076
-8162 5614 8026 8545 85D5 6004 6CA4 616A 6F1A 5991
-7685 8DB4 8225 556A 8469 6777 722C 8019 63B1 7436
-7B62 6F56 5E0A 5E15 6015 8899 62CD 4FF3 5F98 6392
-7305 68D1 724C 7B84 8F2B 7C30 72A4 54CC 6D3E 6E43
-848E 9383 78D7 7705 7568 6F58 6500 723F 67C8 76D8
-8DD8 5ABB 5E4B 84B0 642B 69C3 76E4 78D0 7E0F 8E52
-700A 87E0 8E63 939C 97B6 5762 51B8 5224 6C9C 6CEE
-708D 53DB 7249 76FC 7554 88A2 8A4A 6EBF 9816 92EC
-9D65 897B 947B 4E53 6C78 6C97 80A8 80EE 96F1 6EC2
-8196 9736 5390 5E9E 9004 65C1 823D 5ACE 7BE3 8783
-9CD1 9F8E 9F90 9C1F 882D 55D9 802A 89AB 9AC8 7090
-80D6 629B 62CB 812C 5228 5486 5789 5E96 72CD 70AE
-70B0 722E 888D 530F 86AB 8EF3 9784 891C 9E85 8DD1
-5945 6CE1 75B1 76B0 7832 8422 9EAD 791F 792E 5478
-600C 80A7 67F8 80DA 8843 9185 962B 966A 966B 57F9
-6BF0 8D54 952B 88F4 88F5 8CE0 9307 4FD6 4F02 6C9B
-4F69 5E14 59F5 65BE 65C6 6D7F 73EE 914D 7B29 84DC
-8F94 99B7 5D8F 9708 8F61 55B7 5674 6FC6 6B55 74EB
-76C6 6E53 8450 5460 7FC9 7FF8 55AF 5309 6026 62A8
-6CD9 6072 80D3 7830 6888 70F9 7851 8EEF 959B 6F30
-562D 99CD 78DE 8283 670B 6337 7AFC 5017 8391 580B
-5F38 5F6D 68DA 6916 50B0 585C 5873 6412 6F28 787C
-7A1D 84EC 9E4F 69F0 6A25 71A2 6189 6F8E 8F23 7BF7
-81A8 930B 97F8 9AFC 87DA 87DB 9B05 7E84 97FC 9D6C
-9A2F 9B14 945D 6367 6DCE 768F 527B 63BD 692A 78B0
-8E2B 6D4C 5DFC 95CF 4E76 55B8 4E15 4F13 4F3E 6279
-7EB0 90B3 576F 6036 62AB 62B7 708B 72C9 72D3 7812
-6082 79DB 79E0 7D15 94CD 65C7 7FCD 801A 8C7E 91FD
-921A 9239 925F 9294 5288 78C7 99D3 9AEC 567C 9303
-930D 9B7E 61B5 7914 7915 95E2 9739 76AE 9630 8298
-5CAF 6787 6BDE 80B6 6BD7 6BD8 75B2 7B13 868D 90EB
-9674 5564 57E4 5D25 86BD 8C7C 6911 7137 7435 813E
-8157 698C 9C8F 7F74 818D 8731 96A6 9B6E 58C0 9B8D
-7BFA 87B7 8C94 7C32 7F86 9D67 6707 9F19 882F 5339
-5E80 4EF3 572E 82C9 8134 75DE 92A2 8AC0 9D04 64D7
-567D 7656 56AD 5C41 6DE0 6E12 63CA 5AB2 5AD3 7764
-7765 6F4E 50FB 6FBC 568A 7513 7588 8B6C 9DFF E862
-9E0A 7247 56E8 504F 5AA5 728F 7BC7 7FE9 9DA3 9A88
-80FC 8141 6944 6969 8CC6 8ADA 9ABF 8E41 99E2 9A08
-8991 8C1D 8CB5 8ADE 9A97 9B78 9A17 9A19 527D 5F6F
-6F02 7F25 98D8 78E6 65DA 7E39 7FF2 87B5 72A5 98C3
-98C4 9B52 74E2 85B8 95DD 6B8D 779F 7BFB 91A5 76AB
-9860 7968 50C4 52E1 560C 5AD6 5FB1 6153 6C15 6487
-6486 66BC 77A5 4E3F 82E4 9405 5AF3 59D8 62FC 7917
-7A66 99AA 9A5E 73AD 8D2B 8CA7 7415 5AD4 9891 983B
-5B2A 85B2 56AC 77C9 98A6 9870 54C1 6980 6729 725D
-6C56 5A09 8058 4E52 7539 4FDC 6D84 782F 8275 7AEE
-9829 5E73 8BC4 51ED 546F 576A 5CBC 82F9 90F1 5C4F
-5E21 67B0 6D34 73B6 8353 5A26 74F6 5C5B 5E32 6DDC
-840D 86B2 5840 5E48 7129 7501 7F3E 8060 84F1 86E2
-8A55 8EFF 9C86 51F4 617F 7BB3 8F27 6191 9B83 6A98
-7C08 860B 948B 5761 5CA5 6CFC 5A1D 91D9 9887 6E8C
-9166 6F51 91B1 93FA 5A46 5619 8522 9131 76A4 8B08
-6AC7 53F5 5C00 94B7 7B38 9255 99CA 5EF9 5CB6 8FEB
-6540 6622 6D26 73C0 54F1 70DE 7834 7836 7C95 5964
-84AA 9817 9B44 5256 9892 6294 6299 634A 638A 88D2
-7B81 5485 54E3 5A44 5837 7283 517A 54DB 4EC6 6534
-6535 6251 62AA 7087 5DEC 5DED 67E8 9660 75E1 94FA
-99C7 5657 64B2 92EA 64C8 9BC6 5724 530D 8386 83E9
-83D0 8461 84B1 84B2 50D5 917A 58A3 749E 6FEE 77A8
-7A59 9564 8D0C 7E80 93F7 6734 5703 57D4 6D66 70F3
-666E 5711 6EA5 669C 8C31 6F7D 6A38 6C06 8AE9 6A8F
-9568 8B5C 8E7C 9420 8216 8217 7011 66DD 4E03 8FC9
-6C8F 59BB 6053 67D2 501B 51C4 6816 6864 7F3C 90EA
-5A38 60BD 621A 637F 687C 6DD2 840B 671E 671F 68F2
-6B3A 7D2A 8904 50DB 5601 617D 69BF 69ED 6F06 7DC0
-617C 78CE 8AC6 8E26 8AFF 970B 8E4A 9B4C 93DA 9D88
+5B2D
+5948 67F0 800F 8010 8418 6E3F 9F10 8926 879A 933C
+56E1
+7537 678F 67AC 4FBD 5357 67DF 5A1A 7558 83AE 96BE
+5583 6694 6960 8AF5 96E3
+8D67 63C7 6E73 8433 8169 877B 6201
+5A7B
+9056
+56D4
+4E6A 56A2 8B68 56CA 8830 9B1E 9995 6B1C 9962
+64C3 66E9 652E 7062
+513E 9F49
+5B6C
+5476 6013 6320 5CF1 7847 94D9 7331 86F2 8A49 7899
+6493 5DA9 61B9 87EF 5912 8B4A 9403 5DCE
+57B4 607C 60A9 8111 5318 5816 60F1 5AD0 7459 8166
+78AF 7376 737F
+95F9 5A65 6DD6 9599 9B27 81D1
+8133
+7592 8BB7 6290 7732 8A25
+5436 5450 5462
+5A1E 9981 812E 8147 9912 9BBE 9BD8
+5167 5185 6C1D 9317
+6041 5AE9 5AF0
+80FD
+59AE
+5C3C 576D 6029 6CE5 7C7E 502A 5C54 79DC 90F3 94CC
+57FF 5A57 6DE3 730A 86AD 68FF 8DDC 815D 8063 873A
+89EC 8C8E 8F17 9713 9CB5 9BD3 9BE2 9E91 9F6F 81E1
+4F31 4F60 62DF 62B3 72D4 82E8 67C5 65CE 6672 5B74
+922E 999C 5117 511E 96AC 64EC 85BF 6AB7 807B
+5C70 6C3C 4F32 8FE1 6635 80D2 9006 533F 7724 5804
+60C4 5ADF 6135 6EBA 7768 817B 66B1 7E0C 8ABD 81A9
+5B3A
+88AE
+62C8 852B
+5E74 79CA 79E5 9C87 9B8E 9CB6 9ECF 9BF0
+6D8A 637B 6DF0 713E 8DC8 8F87 8F97 649A 64B5 78BE
+8F26 7C10 8E4D 6506 8E68 8E8E
+5344 5EFF 5FF5 59E9 5538 57DD 824C 9F30
+54D6 9D47
+5B22 5B43
+917F 91B8 91C0
+5A18
+9E1F 8311 8885 9CE5 5ACB 88CA 8526 6A22 5B1D 892D
+5B32
+5C3F 8132
+634F 63D1
+82F6
+5E07 573C 67BF 9667 6D85 75C6 8042 81EC 556E 60D7
+83CD 9689 55A6 655C 6E7C 55EB 5D72 8E02 565B 6470
+69F7 8E17 954A 954D 5DAD 7BDE 81F2 931C 989E 8E51
+5699 8076 93B3 95D1 5B7C 5B7D 6AF1 7C4B 8616 56C1
+9F67 7CF1 7CF5 8825 9448 56D3 8B98 8EA1 9477 9873
+9480
+5DD5
+56DC 60A8
+62F0
+810C
+5B81 549B 62E7 72DE 82E7 67E0 804D 5BCD 5BD5 752F
+5BD7 5BDC 5BE7 511C 51DD 5680 5B23 64F0 7370 85B4
+6AB8 8079 944F 9B21 9E0B
+6A63 77C3
+4F5E 4FAB 6CDE 6FD8
+6F9D
+599E
+725B 6C7C
+5FF8 626D 72C3 7EBD 7084 94AE 7D10 83A5 9215 9775
+8842
+725C
+519C 4FAC 54DD 6D53 8113 79FE 8FB2 5102 8FB3 5665
+6FC3 857D 6A82 71F6 79AF 81BF 7A60 895B 91B2 6B01
+7E77
+5F04 630A 7651 9F48
+7FBA
+5542
+69C8 8028 7373 6ABD 9392 941E 8B73
+5974 5B65 9A7D 7B2F 99D1
+4F2E 52AA 5F29 782E 80EC
+6012 5089 6419
+5973 9495 7C79 91F9
+6C91 6067 6712 8844
+597B
+6E1C 6696 7156 7157 992A
+759F 8650 7878 7627
+9EC1
+90CD 632A 689B 50A9 513A
+6A60
+8BFA 558F 63BF 903D 611E 6426 9518 643B 6992 7A2C
+8AFE 8E43 7CD1 61E6 61E7 7CE5 7A64 7CEF
+FDD0-004F
+5594 5662
+54E6
+7B7D
+8BB4 6CA4 6B27 6BB4 74EF 9E25 5878 6F1A 6B50 6BC6
+71B0 750C 9D0E 6AD9 8B33 93C2 9DD7
+8192 9F75
+5418 5455 5076 8162 5614 8026 8545 85D5
+6004 616A
+85F2
+FDD0-0050
+5991 7685 8DB4 8225 556A 8469
+6777 722C 63B1 7436 7B62 6F56
+5E0A 5E15 6015 8899
+62CD
+4FF3 5F98 6392 7305 68D1 724C 8F2B 7C30 7C32 72A4
+5EF9
+54CC 6D3E 6E43 848E 9383
+7705 7819 7568 6F58 6500
+723F 6D00 76D8 8DD8 5ABB 5E4B 84B0 642B 69C3 76E4
+78D0 7E0F 78FB 8E52 700A 87E0 8E63 939C 97B6
+51B8 5224 6C9C 62DA 6CEE 708D 53DB 7249 76FC 7554
+8041 88A2 8A4A 6EBF 9816 92EC 897B 947B
+9D65
+4E53 6C97 80EE 96F1 6EC2 8196 9736
+5390 5E9E 5396 9004 65C1 823D 5ACE 5FAC 8783 9CD1
+9F8E 9F90
+55D9 802A 89AB
+7090 80A8 80D6
+629B 62CB 812C
+5228 5486 5789 5E96 72CD 70B0 722E 888D 530F 8EF3
+9784 9E83 9E85
+8DD1
+5945 6CE1 70AE 75B1 76B0 7832 9EAD 791F 792E
+8422 891C
+5478 600C 80A7 67F8 80DA 8843 9185
+962B 966A 57F9 6BF0 8D54 952B 88F4 88F5 8CE0 99CD
+4FD6
+4F02 6C9B 4F69 5E14 59F5 65BE 65C6 6D7F 73EE 914D
+7B29 8F94 99B7 5D8F 9708 8F61
+84DC
+55B7 5674 6B55
+74EB 76C6 6E53 8450
+5460 7FF8
+55AF
+5309 6026 62A8 6072 7830 6888 70F9 7851 8EEF 959B
+6F30 562D 6F8E 78DE
+8283 670B 6337 7AFC 5017 8391 580B 5F38 5F6D 68DA
+6916 5873 787C 7A1D 84EC 9E4F 69F0 6A25 71A2 6189
+8F23 7BE3 81A8 930B 97F8 9AFC 87DA 87DB 9B05 7E84
+97FC 9D6C 9A2F 9B14 945D
+6367 6DCE 768F 527B
+63BD 692A 78B0 8E2B
+7BF7
+4E15 4F13 4F3E 6279 7EB0 90B3 576F 62AB 62B7 708B
+72C9 7812 6082 79DB 79E0 7D15 94CD 65C7 7FCD 801A
+8C7E 9208 921A 9239 925F 9294 5288 78C7 99D3 9AEC
+567C 930D 9B7E 9B8D 61B5 7914 7915 9739
+76AE 9630 8298 5CAF 6787 6BDE 72D3 80B6 6BD7 6BD8
+75B2 868D 90EB 9674 5564 57E4 5D25 86BD 86BE 8C7C
+7137 7435 813E 8157 9C8F 7F74 818D 8731 9B6E 58C0
+7BFA 87B7 8C94 9D67 7F86 6707 9F19
+5339 5E80 758B 4EF3 572E 82C9 8134 75DE 92A2 8AC0
+9D04 64D7 567D 7656 56AD
+5C41 6DE0 6E12 63CA 91FD 5AB2 5AD3 7765 8F9F 6F4E
+7A2B 50FB 6FBC 568A 7513 7588 8B6C 95E2 9DFF 9E0A
+698C
+56E8 504F 5AA5 728F 7BC7 7FE9 9342 9DA3
+9A88 80FC 8141 6944 6969 8CC6 8DF0 8ADA 9ABF 8E41
+99E2 9A08
+8991 8C1D 8CB5 8ADE
+7247 9A97 9A17 9A19
+9B78
+527D 6153 7F25 98D8 65DA 7FF2 87B5 72A5 98C3 98C4
+9B52
+5AD6 74E2 7AC2 85B8 95DD
+6B8D 5F6F 779F 7BFB 7E39 91A5 76AB 9860
+7968 50C4 52E1 560C 5FB1 6F02
+6C15 6487 6486 66BC 77A5
+4E3F 82E4 9405
+5AF3
+59D8 62FC 7917 7A66 99AA 9A5E
+73AD 8D2B 5A26 8CA7 7415 5AD4 9891 983B 5B2A 7371
+85B2 56AC 77C9 8819 98A6 9870
+54C1 6980
+725D 6C56 8058
+4E52 7539 4FDC 5A09 6D84 782F 8060 8275 7AEE 9829
+5E73 8BC4 51ED 546F 576A 6CD9 82F9 90F1 5C4F 5E21
+67B0 6D34 73B6 80D3 8353 74F6 5C5B 5E32 6DDC 840D
+86B2 5E48 7129 7501 7F3E 84F1 86E2 8A55 8EFF 9C86
+51F4 617F 7BB3 8F27 6191 9B83 6A98 7C08 860B
+5CBC 5840
+948B 5761 5CA5 6CCA 9887 6E8C 9255 9817 93FA
+5A46 5619 8522 9131 76A4 8B08 6AC7
+53F5 5C00 94B7 7B38 99CA
+5CB6 7087 8FEB 6540 6622 6D26 73C0 70DE 7834 7836
+91D9 7C95 84AA 9B44 9197
+6CFC 6872 6F51
+5256 5A1D
+6294 6299 634A 638A 88D2 7B81 9307
+5485 54E3 5A44 7283 5ECD
+4EC6 6534 6251 9660 5657 64B2 6F7D 64C8 9BC6
+530D 8386 812F 83E9 83D0 8461 84B1 84B2 50D5 917A
+58A3 735B 749E 6FEE 77A8 7A59 9564 8965 7E80 93F7
+5724 6734 5703 6D66 70F3 666E 6EA5 8C31 8AE9 6A38
+6C06 6A8F 9568 8B5C 8E7C 9420
+94FA 8216 8217 92EA 7011 66DD
+5DEC 5DED 99C7 8D0C
+FDD0-0051
+4E03 8FC9 6C8F 59BB 67D2 501B 51C4 6816 6864 90EA
+5A38 60BD 687C 6DD2 840B 6532 671F 68F2 6B3A 86E3
+50DB 5601 617D 69BF 6F06 7DC0 617C 69ED 8AC6 8AFF
+970B 8E4A 9B4C 93DA 9D88
 4E93 7941 9F50 573B 5C90 5C93 5FEF 82AA 4E9D 5176
-5947 6589 6B67 7947 7948 80B5 75A7 7AD2 5258 658A
-65C2 8006 8110 8691 8694 869A 9880 57FC 5D0E 5E3A
-6391 6DC7 6E0F 7309 7566 8401 8DC2 8EDD 91EE 9A90
-9A91 5D5C 68CA 68CB 7426 742A 797A 86F4 612D 7881
-7895 8900 951C 980E 9B3E 9B3F 65D7 7CB8 7DA5 7DA6
-7DA8 7DD5 871D 871E 9F4A 7482 79A5 8572 8E11 87A7
-9321 9CAF 61E0 6FDD 85C4 6AB1 6AC0 7C31 81CD 9A0E
-9A0F 9CCD 8604 9BD5 9D78 9D80 9E92 7C4F 7E83 8269
-8810 9B10 9A39 9B55 9C2D 7382 9EA1 4E5E 9094 4F01
-5C7A 5C82 8291 542F 5447 675E 7398 76C0 5518 8C48
-8D77 5553 5554 555F 5A4D 7EEE 6675 68E8 88FF 7DAE
-7DBA 8AEC 7C2F 95D9 6C14 8BAB 6C17 6C54 8FC4 5F03
-6C7D 77F5 829E 546E 6CE3 7081 76F5 54A0 5951 780C
-8360 6814 6C23 8A16 552D 6B2B 5921 6112 68C4 6E46
-6E47 847A 789B 6456 66A3 7508 78B6 5650 6187 5668
-61A9 78DC 78E7 78E9 85BA 7918 7F4A 87FF 6390 845C
-62E4 8DD2 9160 9790 5736 51BE 5E22 6070 6D3D 6B8E
-7848 6118 9AC2 5343 4EDF 9621 5731 5732 5977 6266
-6C58 828A 8FC1 4F65 5C8D 6744 6C67 833E 6B26 7ACF
-81E4 948E 62EA 7275 7C81 60AD 8688 8C38 94C5 5A5C
-5B6F 727D 91FA 6394 8C26 9206 96C3 50C9 6106 7B7E
-925B 9A9E 9E50 6173 6434 647C 6481 7B9E 8AD0 9077
-8930 8B19 9845 6AB6 6510 6511 6ACF 7C3D 93F2 9D6E
-6513 9A2B 9431 9B1C 9B1D 7C64 97C6 4EF1 5C92 5FF4
-6272 62D1 4E79 524D 8368 94A4 6B6C 8654 94B1 94B3
-4E7E 5042 63AE 63F5 8EE1 5A8A 9210 9246 9257 5898
-69A9 7B9D 92AD 6F5C 7FAC 8541 6A6C 9322 9ED4 9386
-9EDA 9A1D 6FF3 9A1A 704A 7C56 9C2C 51F5 6D45 80B7
-6DFA 5D70 614A 9063 69CF 8181 8738 6F5B 8C34 7F31
-7E7E 8B74 9453 6B20 520B 4F23 82A1 4FD4 831C 5029
-6093 5811 5094 5D4C 68C8 6920 55DB 7698 84A8 5879
-6B49 7DAA 8533 5119 69E7 7BCF 8F24 7BDF 58CD 5B31
-7E34 545B 7F8C 6215 6217 65A8 67AA 73B1 7F97 7310
-7437 8DC4 55F4 690C 7347 8154 55C6 6EAC 8723 9516
-5D88 6227 69CD 7244 7472 7FAB 9535 7BEC 9306 8E4C
-956A 8E61 9397 93D8 93F9 5F37 5F3A 5899 5AF1 8537
-6A2F 6F12 8503 58BB 5B19 5EE7 8594 6AA3 7246 8B12
-8262 8620 62A2 7F9F 6436 7FA5 588F 6464 7E48 8941
-7E66 709D 5534 7197 7FBB 515B 74E9 6084 7857 90FB
-9117 5D6A 8DF7 9121 9125 5281 6572 8E0D 9539 589D
-78BB 981D 9AB9 58BD 5E67 6A47 71C6 7F32 78FD 936B
-936C 7E51 7E70 8DAC 8E7A 8E7B 9430 4E54 4FA8 834D
-835E 6865 785A 83EC 55AC 7744 50D1 69D7 8C2F 563A
-5AF6 6194 854E 9792 6A35 6A4B 729E 7644 77A7 7904
-85EE 8B59 8DAB 9408 97BD 9866 5DE7 91E5 6100 9ADC
-4FCF 8BEE 9657 5CED 5E29 7A8D 6BBC 7FD8 8A9A 9ADA
-50FA 64AC 64BD 9798 97D2 7AC5 7FF9 97A9 8E88 5207
-82C6 767F 8304 807A 4E14 5392 59BE 602F 5327 7A83
-503F 608F 6308 6D2F 60EC 6DC1 7B21 611C 86EA 6705
-7BA7 7DC1 9532 9B65 7BCB 8E25 7A55 85D2 9365 9BDC
-9411 7ACA 7C61 4EB2 4FB5 94A6 887E 9A8E 83F3 5A87
-5D5A 7D85 8A9B 5D94 89AA 9849 99F8 9BBC 5BF4 5E88
-82A9 82B9 57C1 73E1 77DD 79E6 8039 83E6 8699 6366
-7434 7439 79BD 9219 96C2 52E4 55EA 5AC0 6EB1 9772
-5659 64D2 65B3 9CF9 61C4 6A8E 6FBF 763D 8793 61C3
-8804 5745 6611 7B09 68AB 8D7A 8D7E 5BD1 9513 5BDD
-5BE2 92DF 87BC 5422 5423 628B 6C81 551A 83E3 63FF
-6B3D 6407 64B3 7019 85FD 9751 9752 6C22 8F7B 503E
-537F 90EC 570A 57E5 6C2B 6DF8 6E05 8EFD 50BE 5ECE
-873B 8F15 9CAD 9BD6 944B 591D 7520 5260 52CD 60C5
-6B91 7858 6674 E847 68FE 6C30 845D 6692 64CF 6A08
-64CE 6AA0 9EE5 82D8 9877 8BF7 5EBC 9803 6F00 8ACB
-E846 6ABE 8B26 5E86 51CA 6385 6BB8 7883 7B90 9758
-6176 78EC 512C 6FEA 7F44 6AE6 5B86 8DEB 928E 536D
-909B 7A77 E840 7A79 8315 684F 7B3B 7B47 8D79 60F8
-712A 712D 743C 823C 86E9 86EC 7162 718D 7758 778F
-7AAE 511D 618C 6A69 749A 85D1 74CA 7AC6 85ED 74D7
-4E18 4E20 90B1 5775 6058 79CB 79CC 5BC8 86AF 5A9D
-8429 6978 84F2 9E59 7BCD 7DE7 8775 7A50 8DA5 9CC5
-87D7 97A6 97A7 8612 E859 9C0C 9C0D 9D96 9C43 9F9D
-53F4 56DA 624F 72B0 738C 6739 6C53 808D 6C42 866C
-6CC5 866F 4FC5 89D3 8A04 8A05 914B 5512 6D57 7D0C
-838D 900E 9011 91DA 6882 6B8F 6BEC 7403 8D47 91FB
-5D37 5DEF 6E1E 6E6D 76B3 76DA 9052 716A 7D7F 86F7
-88D8 5DF0 89E9 8CD5 7486 8764 92B6 9194 9B82 9F3D
-9BC4 9D6D 8824 9C3D 641D 7CD7 533A 66F2 4F39 4F49
-5324 5C96 8BCE 9639 9A71 5765 5C48 5CA8 5CB4 62BE
-6D40 795B 80E0 88AA 5340 86C6 8EAF 7B41 7CAC 86D0
-8A58 8D8B 5D87 99C6 6188 657A 8AB3 99C8 9EB9 9AF7
-9B7C 8DA8 9EAF 8EC0 9EB4 9EE2 9A45 9C38 9C4B 4F62
-52AC 65AA 6710 6711 80CA 83C3 8850 9E32 6DED 6E20
-7D47 7FD1 844B 8EE5 8556 7496 78F2 87B6 9D1D 74A9
-7FF5 87DD 9F29 8627 5337 5FC2 7048 6235 6B0B 6C0D
-7C67 81DE 766F 8837 8862 8EA3 883C 947A 9E1C 53D6
-7AD8 5A36 7D36 8A53 7AEC 877A 9F8B 9F72 53BA 53BB
-521E 547F 8FF2 90E5 801D 9612 89D1 8DA3 95B4 9EAE
-95C3 89B0 89B7 9F01 89BB 5CD1 606E 609B 5708 570F
-68EC 99E9 9A21 9409 5168 6743 4F7A 8BE0 59FE 6CC9
-6D24 8343 62F3 7277 8F81 5573 57E2 5A58 60D3 75CA
-7842 94E8 6E76 7288 7B4C 7D5F 8143 8472 643C 697E
-7454 89E0 8A6E 8DE7 8F07 8737 9293 6A29 8E21 7E13
-919B 95CE 9CC8 9B08 5B49 5DCF 9C01 6B0A 9F64 8838
-98A7 9874 72AD 72AC 6C71 753D 754E 70C7 7EFB 7DA3
-8647 529D 5238 5DFB 7276 6926 52E7 97CF 52F8 7094
-7F3A 849B 7638 5374 537B 57C6 5D05 60AB 96C0 785E
-786E 8203 9615 5859 6409 76B5 788F 9619 9E4A 6128
-69B7 58A7 6164 6BC3 78BA 8D9E 71E9 95CB 7910 95D5
-9D72 792D 590B 56F7 5CEE 9021 8F11 5BAD 5E2C 88D9
-7FA3 7FA4 88E0 4EBD 7F56 56D5 5465 80B0 887B 8887
-86A6 88A1 86BA 7136 9AE5 562B 9AEF 71C3 7E4E 5184
-5189 59CC 82D2 67D3 73C3 5AA3 8485 6A6A 7A63 5134
-52F7 703C 737D 8618 79B3 74E4 7A70 8E9F 9B24 58CC
-56B7 58E4 6518 7219 7E95 8BA9 61F9 8B72 8B93 835B
-9976 6861 8558 6A48 8953 9952 72AA 6270 5A06 96A2
-5B08 64FE 7ED5 9076 7E5E 60F9 70ED 71B1 4EBA 4EBB
-4EC1 58EC 5FC8 6732 5FCE 79C2 82A2 9213 9B5C 928B
-9D40 5FCD 834F 6820 6823 8375 79F9 68EF 7A14 7D9B
-8EB5 5203 5204 8BA4 4EDE 4EED 8BB1 4EFB 5C7B 6268
+5947 6589 6B67 7541 7947 7948 80B5 4FDF 75A7 7AD2
+5258 658A 65C2 8006 8110 8691 8694 869A 9880 57FC
+5D0E 5E3A 6391 6DC7 7309 7566 8401 8415 8DC2 8EDD
+91EE 9A90 9A91 68CA 68CB 7426 742A 797A 86F4 612D
+7881 7895 951C 980E 9B3F 65D7 7CB8 7DA5 7DA6 7DA8
+871D 871E 9F4A 7482 79A5 8572 8E11 9321 9CAF 61E0
+6FDD 85C4 6AB1 6AC0 81CD 9A0E 9A0F 9CCD 8604 9BD5
+9D78 9D80 9E92 7E83 8269 8810 9B10 9C2D 7382 9EA1
+4E5E 9094 4F01 5C7A 5C82 8291 542F 5447 675E 7398
+76C0 5518 8C48 8D77 5553 5554 5A4D 555F 7EEE 6675
+68E8 7DAE 7DBA 8AEC 95D9
+6C14 8BAB 5FD4 6C17 6C54 8FC4 5F03 6C7D 77F5 829E
+546E 6CE3 7081 76F5 54A0 5951 780C 6814 6C23 8A16
+552D 6B2B 5921 68C4 6E46 6E47 847A 789B 6456 66A3
+7508 78B6 5650 6187 5668 61A9 78DC 78E7 78E9 7F4A
+87FF 9F1C
+7F3C 621A 6E0F 8904 7DD5 87A7 7C2F 7C31 7C4F
+6390 845C
+62E4
+8DD2 9160
+5736 51BE 5E22 6070 6D3D 6B8E 7848 6118 9AC2
+9790
+5343 4EDF 9621 5731 5732 5977 6266 6C58 828A 8FC1
+4F65 5C8D 6744 6C67 74E9 833E 6B26 81E4 948E 62EA
+7275 7C81 515B 60AD 8688 8C38 94C5 5A5C 5B6F 727D
+91FA 6394 8C26 9206 96C3 50C9 6106 7B7E 925B 9A9E
+9E50 6173 6434 6481 7B9E 8AD0 9077 8930 8B19 9845
+6AB6 6510 6511 6ACF 7C3D 9D6E 5B45 6513 9A2B 9B1D
+9B1C 7C64 97C6
+4EF1 5C92 5FF4 6272 62D1 524D 94A4 6B6C 8654 94B1
+94B3 63AE 63F5 8EE1 5A8A 9210 976C 9257 5898 69A9
+7B9D 92AD 6F5B 6F5C 7FAC 8541 6A6C 9322 9ED4 9EDA
+9A1D 6FF3 9A1A 704A 9C2C
+51F5 6D45 80B7 6DFA 8125 55DB 5D70 9063 69CF 8181
+8738 8C34 7F31 7E7E 8B74
+6B20 520B 82A1 4FD4 831C 5029 6093 5811 5094 5D4C
+68C8 6920 614A 7698 84A8 5879 6B49 7DAA 8533 5119
+69E7 7BCF 8F24 7BDF 58CD 7E34 9C1C
+7ACF 9386 93F2 7C56 9453
+545B 7F8C 6215 6217 65A8 67AA 73B1 7F97 7310 8DC4
+690C 6EAC 8154 55C6 8723 9516 5D88 6227 69CD 7244
+7472 7FAB 9535 7BEC 9306 8B12 8E4C 956A 8E61 9397
+93D8
+4E2C 5F37 5F3A 5899 5AF1 8537 6A2F 6F12 8503 58BB
+5B19 5EE7 8594 6AA3 7246 8262 8620
+62A2 7F9F 6436 7FA5 588F 7E48 8941 7E66 93F9
+709D 5534 7197 7FBB
+55F4 7347
+6084 7857 90FB 5D6A 8DF7 9121 9125 5281 6572 6BC3
+8E0D 9539 589D 981D 9AB9 58BD 5E67 6A47 71C6 7F32
+78FD 936B 936C 7E51 8DAC 8E7A 9430
+4E54 4FA8 834D 835E 6865 785A 83EC 55AC 50D1 8C2F
+563A 5AF6 6194 854E 9792 6A35 6A4B 7644 77A7 7904
+85EE 8DAB 9408 97BD 9866
+5DE7 91E5 6100 9ADC
+4FCF 8BEE 9657 5CED 5E29 7A8D 6BBB 7FD8 8A9A 9ADA
+50FA 64AC 64BD 9798 97D2 7AC5 7FF9 8B59 8E88
+69D7 729E
+767F 807A
+4E14
+5207 59BE 602F 90C4 5327 7A83 608F 6308 6D2F 60EC
+6DC1 7B21 611C 86EA 6705 7BA7 7DC1 9532 7BCB 8E25
+7A55 85D2 9365 9BDC 9411 7ACA
+82C6 503F 5AAB 7C61
+4EB2 4FB5 94A6 887E 9A8E 5A87 5D5A 6B3D 7D85 8A9B
+5D94 89AA 9849 99F8 9BBC 5BF4
+5E88 82A9 82B9 57C1 73E1 79E6 8039 83E6 8699 6366
+83F3 7434 7439 79BD 9219 96C2 52E4 55EA 5AC0 6EB1
+9772 616C 5659 64D2 65B3 9CF9 61C4 6A8E 6FBF 763D
+8793 61C3 8804 9B35 9D6D
+5745 6611 7B09 68AB 8D7E 5BD1 9513 5BDD 5BE2 92DF
+87BC
+5422 5423 628B 6C81 551A 83E3 63FF 6407 64B3 7019
+85FD
+72C5 9751 9752 6C22 8F7B 503E 537F 90EC 570A 57E5
+5BC8 6C2B 6DF8 6E05 50BE 873B 8F15 9CAD 944B
+591D 7520 5260 52CD 60C5 6B91 6674 68FE 6C30 845D
+6692 64CF 6A08 64CE 6AA0 9EE5
+82D8 9877 8BF7 5EBC 9803 5ECE 6F00 8ACB 6ABE
+5E86 51CA 6385 6BB8 7883 7B90 9758 6176 78D8 78EC
+7F44 8B26
+7858 6AE6
+828E 5314
+536D 909B 5B86 7A77 7A79 8315 684F 7B3B 7B47 8D79
+60F8 712A 712D 743C 823C 86E9 86EC 7162 7758 8DEB
+928E 778F 7AAE 511D 618C 6A69 749A 85D1 74CA 7AC6
+85ED 74D7
+718D
+4E18 4E20 90B1 5775 6058 79CB 79CC 86AF 5A9D 8429
+6978 84F2 9E59 7BCD 7DE7 8775 7A50 8DA5 9CC5 87D7
+97A6 97A7 9C0C 9C0D 9D96 8824 9F9D
+53F4 56DA 624F 72B0 738C 6C53 808D 6C42 866C 6CC5
+866F 4FC5 89D3 8A04 8A05 914B 91D3 5512 6D57 7D0C
+838D 900E 9011 91DA 6882 6B8F 6BEC 7403 8D47 5D37
+5DEF 6E1E 6E6D 76B3 76DA 9052 716A 7D7F 86F7 88D8
+5DF0 89E9 8CD5 7486 8764 92B6 9194 9B82 9F3D 9BC4
+9C3D
+641D 7CD7
+91FB 8612
+533A 66F2 4F39 4F49 5324 5C96 8BCE 9639 9A71 5765
+5C48 5CA8 5CB4 62BE 6D40 795B 80E0 88AA 5340 7D36
+86C6 8EAF 7B41 7CAC 86D0 8A58 8D8B 5D87 6188 99C6
+657A 8AB3 957C 99C8 9EB9 9AF7 9B7C 8DA8 9EAF 89B0
+8EC0 9EB4 9EE2 89BB 9A45 9C38 9C4B
+4F62 52AC 65AA 6710 80CA 83C3 9E32 6DED 6E20 7D47
+7FD1 844B 8EE5 8556 7496 78F2 87B6 9D1D 74A9 87DD
+77BF 9F29 8627 5FC2 7048 6235 6B0B 6C0D 7C67 81DE
+766F 8837 8862 8EA3 883C 947A 9E1C
+53D6 7AD8 5A36 8A53 7AEC 877A 9F8B 9F72
+53BA 53BB 521E 547F 551F 801D 9612 89D1 8DA3 95B4
+9EAE 95C3 89B7 9F01
+8FF2 8850
+5CD1 5F2E 606E 609B 5708 570F 68EC 99E9 9409
+5168 6743 4F7A 8BE0 59FE 6CC9 6D24 8343 62F3 7277
+8F81 5573 57E2 5A58 60D3 75CA 7842 94E8 6E76 7288
+7B4C 7D5F 8472 643C 7454 89E0 8A6E 8DE7 8F07 8737
+9293 6A29 8E21 7E13 919B 9CC8 9B08 9A21 5B49 5DCF
+9C01 6B0A 9F64 8838 98A7 9874
+72AC 6C71 754E 70C7 7EFB 7DA3 8647
+529D 5238 7276 52E7 97CF 52F8
+72AD 6926 697E 95CE
+7F3A 849B 9619
+7638
+5374 537B 57C6 5D05 5BC9 60AB 7437 96C0 785E 786E
+9615 5859 6409 76B5 788F 6128 69B7 58A7 6164 78BA
+78BB 8D9E 71E9 95CB 7910 95D5 704D 792D
+9E4A 9D72
+590B 56F7 5CEE 9021
+5BAD 5E2C 88D9 7FA3 7FA4 88E0
+FDD0-0052
+5465 80B0 887B 8887 86A6 88A1 86BA 7136 9AE5 562B
+9AEF 71C3 7E4E
+5184 5189 59CC 82D2 67D3 73C3 5AA3 6A6A
+8485
+7A63 5134 52F7 703C 737D 8618 79B3 74E4 7A70 8E9F
+9B24
+58CC 56B7 58E4 6518 7219 7E95
+8BA9 61F9 8B72 8B93
+5A06 835B 9976 6861 5B08 8558 6A48 8953 9952
+6270 96A2 64FE
+7ED5 9076 7E5E
+60F9
+70ED 71B1
+4EBA 4EBB 4EC1 58EC 5FC8 6732 5FCE 79C2 82A2 9213
+9B5C 928B 9D40
+5FCD 834F 6820 6823 8375 79F9 68EF 7A14
+5203 5204 8BA4 4EDE 4EED 8BB1 4EFB 5C7B 5C83 6268
 7EAB 598A 6752 7263 7EB4 8095 8F6B 97E7 996A 59D9
-7D09 887D 6041 7D1D 8A12 8ED4 6895 88B5 7D4D 814D
-845A 976D 9771 97CC 98EA 8A8D 9901 6254 4ECD 8FB8
-793D 82BF 967E 65E5 9A72 56F8 91F0 9224 99B9 620E
-809C 6804 72E8 7ED2 8319 8338 8363 5BB9 5CF5 6BE7
-70FF 5AB6 5D58 7D68 7FA2 5AC6 5D64 6408 6411 6449
-69B5 6EB6 84C9 6995 69AE 7194 7462 7A41 877E 8923
-9555 6C04 7E19 878D 878E 99E5 9AF6 5B2B 5DB8 7203
-9394 701C 66E7 8811 5197 5B82 5087 8EF5 7A43 53B9
-79B8 67D4 7C88 5A83 63C9 6E18 8447 7448 816C 7CC5
-875A 8E42 8F2E 9352 97A3 74C7 9A25 9C07 9D94 697A
-7163 97D6 8089 5B8D 5DBF 909A 5982 4F9E 5E24 8339
-6847 88BD 94F7 6E2A 7B4E 8498 92A3 8560 5112 9D11
-5685 5B2C 5B7A 6FE1 85B7 9D3D 66D8 71F8 8966 7E7B
-8815 98A5 91B9 986C 9C6C 6C5D 8097 4E73 8FB1 910F
-5165 6256 8FBC 6741 6D33 55D5 5AB7 6EBD 7F1B 84D0
-9CF0 8925 7E1F 64E9 5827 648B 58D6 962E 670A 8F6F
-800E 5044 8EDF 5A86 611E 744C 815D 5AF0 789D 7DDB
-8761 8F2D 74C0 791D 6875 7524 7DCC 8564 854A 854B
-6A64 7E60 8602 8603 6C6D 82AE 6798 868B 9510 745E
-8739 777F 92B3 92ED 53E1 58E1 95F0 6DA6 958F 95A0
-6F64 6A4D 633C 637C 53D2 82E5 504C 5F31 9100 5A7C
-6E03 712B 6949 5D76 84BB 7BAC 7BDB 7207 9C19 9C2F
-9DB8 4EE8 686C 6492 6D12 8A2F 9778 6F75 7051 5345
-9491 98D2 810E 8428 9212 644B 96A1 99BA 98AF 85A9
-6AD2 680D 6BE2 6122 63CC 585E 6BF8 816E 5625 567B
-9CC3 984B 9C13 55EE 8D5B 50FF 8CFD 7C3A 8644 4E09
-5F0E 53C1 6BF5 6BF6 5381 6BFF 7299 9B16 58ED 4F1E
-5098 6563 7CC1 7CC2 9993 6A75 7CDD 7CE3 7CE4 7E56
-93D2 994A 4FD5 9590 6852 6851 69E1 55D3 6421 78C9
-892C 98A1 939F 9859 4E27 55AA 63BB 6145 6414 6E9E
-9A9A 7F2B 7E45 81CA 9CCB 98BE 9A12 9A37 9C20 9C62
-626B 6383 5AC2 57FD 7619 6C09 77C2 9ADE 8272 6D13
-681C 6DA9 556C 6E0B 94EF 96ED 6B6E 7417 55C7 745F
-6B70 92AB 6F81 61CE 64CC 6FC7 6FCF 7637 7A51 6F80
-74B1 7012 7A61 7E6C 7A6F 8F56 93FC 8B45 98CB 88C7
-8053 68EE 69EE 8942 7BF8 50E7 9B19 95AA 7E07 6740
-6C99 7EB1 4E77 5239 7802 5526 6331 6BBA 7300 7C86
-7D17 838E 94E9 75E7 7870 8531 88DF 699D 6A27 9B66
-9CA8 95B7 93A9 9BCA 9BCB 7E7A 50BB 510D 7E4C 503D
-553C 5565 5E39 8410 55A2 6B43 715E 7FDC 7B91 7FE3
-95AF 970E 7B5B 7BE9 7C01 7C1B 6652 66EC 5C71 5F61
-9096 5738 5220 522A 6749 6763 829F 59CD 59D7 886B
-9490 57CF 633B 72E6 73CA 8222 70FB 75C1 8120 8ED5
-7B18 91E4 958A 8DDA 527C 6427 5607 5E53 717D 852A
-6F78 6F98 66D1 6A86 7E3F 81BB 9BC5 7FB4 7FB6 95EA
-9655 70B6 965D 9583 6671 7154 7752 718C 89A2 8BAA
-6C55 759D 82EB 5261 6247 8A15 8D78 5093 5584 692B
-928F 9A9F 50D0 912F 58A0 58A1 7F2E 5B17 64C5 657E
-6A3F 81B3 78F0 8B06 E84C E849 8D61 7E55 87EE 87FA
-8B71 8D0D E84E 9425 994D 9A38 9CDD 7057 9C53 9C54
-4F24 6B87 5546 6113 89DE 50B7 5892 616F 6EF3 6F21
-850F 6BA4 71B5 87AA 89F4 8B2A 9B3A 88F3 57A7 6244
-664C 8D4F 8CDE 945C 4E04 4E0A 4EE9 5C19 5C1A 6066
-7EF1 7DD4 5F30 634E 68A2 70E7 83A6 713C 713D 7A0D
-65D3 7B72 8244 86F8 8F0E 8571 71D2 98B5 9AFE 9BB9
-52FA 828D 82D5 67D6 73BF 8414 97F6 5C11 52AD 5372
-90B5 7ECD 54E8 5A0B 8891 7D39 7DA4 6F72 5962 731E
-8D4A 7572 8F0B 8CD2 8CD6 6AA8 820C 4F58 8675 86C7
-86E5 820D 6368 538D 8BBE 793E 820E 5399 5C04 6D89
-6DBB 6E09 8A2D 8D66 5F3D 6151 6442 6444 6EE0 6174
-6475 850E 8802 97D8 9A07 61FE 651D 7044 9E9D 6B07
+794D 7D09 887D 7D1D 8A12 8ED4 6895 88B5 8EE0 7D4D
+814D 845A 976D 9771 97CC 98EA 8A8D 9901
+7D9B 8EB5
+6254
+4ECD 8FB8 793D 967E
+82BF
+65E5 9A72 56F8 91F0 9224 99B9
+8338
+620E 809C 6804 72E8 7ED2 8319 8363 5BB9 6BE7 70FF
+5AB6 5D58 6411 7D68 7FA2 5AC6 5D64 6408 69B5 6EB6
+84C9 6995 69AE 7194 7462 7A41 7E19 877E 8923 9555
+878D 878E 99E5 9AF6 5B2B 5DB8 7203 9394 5DC6 701C
+66E7 8811
+5197 5B82 5748 5087 8EF5 6C04
+9D27
+7A43
+53B9 79B8 67D4 5A83 63C9 6E18 8447 7163 7448 7CC5
+875A 8E42 8F2E 9352 97A3 74C7 9A25 9C07 9D94
+7C88 697A 97D6
+8089 5B8D 816C
+909A 5982 4F9E 5E24 8339 6847 88BD 94F7 6E2A 7B4E
+8498 92A3 8560 8761 5112 9D11 5685 5B2C 5B7A 6FE1
+85B7 9D3D 66D8 71F8 8966 8815 98A5 91B9 986C 9C6C
+6C5D 8097 4E73 8FB1 910F 64E9
+5165 6D33 55D5 5AB7 6EBD 7F1B 84D0 8925 7E1F
+6256 8FBC 6741 9CF0 5DBF
+633C
+5827 648B 58D6
+962E 670A 8F6F 800E 5044 8EDF 5A86 744C 789D 7DDB
+8F2D 74C0 791D
+5A51 6875 7524 7DCC 8564
+854A 854B 6A64 7E60 8602 8603
+6C6D 82AE 6798 868B 9510 745E 8739 777F 92B3 92ED
+53E1 58E1
+77A4
+95F0 6DA6 958F 95A0 6F64 6A4D 81B6
+637C
+53D2 82E5 504C 5F31 9100 6E03 712B 6949 84BB 7BAC
+7BDB 7207 9C19 9C2F 9DB8
+5D76
+FDD0-0053
+4EE8 6331 6332 6492
+6D12 8A2F 9778 6F75 7051 8EA0
+5345 6CE7 98D2 810E 8428 9212 644B 99BA 98AF 85A9
+6AD2 8644
+96A1
+6BE2 6122 63CC 585E 6BF8 816E 567B 9CC3 984B 9C13
+55EE 8D5B 50FF 8CFD 7C3A
+5625
+4E09 5F0E 53C1 6BF5 6BFF 7299 9B16
+4ED0 4F1E 5098 7CC1 7CC2 9993 7CDD 7CE3 7CE4 7E56
+93D2 93FE 9730 994A
+4FD5 5E34 60B7 6563 9590
+58ED 6BF6 5381 6A75
+6852 6851
+55D3 6421 78C9 892C 98A1 939F 9859
+4E27 55AA
+69E1
+63BB 6145 6414 6E9E 9A9A 7F2B 7E45 81CA 9CCB 9A12
+9A37 9C20 9C62
+626B 6383 5AC2
+57FD 7619 6C09 77C2 9ADE
+87A6
+95AA
+8272 6D13 681C 6DA9 556C 94EF 96ED 6B6E 7417 55C7
+745F 6B70 92AB 6F81 61CE 64CC 6FC7 7637 7A51 6F80
+74B1 7012 7A61 7E6C 8F56 93FC 8B45 98CB
+6E0B 6FCF 7A6F
+68EE 692E 69EE 8942
+50E7 9B19
+6740 6C99 7EB1 4E77 5239 524E 7802 5526 6BBA 7300
+7C86 7D17 838E 686C 6BEE 94E9 75E7 7870 715E 8531
+88DF 699D 6A27 9B66 9CA8 93A9 9BCA 9BCB
+50BB 510D
+503D 553C 5551 5565 5E39 8410 53A6 55A2 5EC8 6B43
+7FDC 7B91 7FE3 95AF 970E
+7E4C
+7B5B 917E 7BE9 7C01 7C1B 91C3
+7E7A
+6652 95B7 66EC
+5C71 5F61 9096 5220 522A 6749 829F 59CD 59D7 82EB
+886B 9490 57CF 633B 67F5 72E6 73CA 8222 75C1 8120
+8ED5 7B18 8DDA 527C 6427 5607 5E53 717D 6F78 6F98
+6A86 7E3F 81BB 9BC5 7FB4 7FB6
+95EA 9655 965D 9583 6671 7154 7752 718C 89A2
+8BAA 6C55 759D 5261 6247 8A15 8D78 639E 91E4 5093
+5584 928F 9A9F 50D0 912F 58A0 58A1 6F6C 7F2E 5B17
+64C5 6A3F 6B5A 81B3 78F0 8B06 8D61 7E55 87EE 87FA
+8B71 8D0D 9425 994D 9A38 9CDD 7057 9C53 9C54
+5738 6763 958A 657E
+4F24 6B87 5546 89DE 50B7 5892 616F 6EF3 6F21 850F
+6BA4 71B5 87AA 89F4 8B2A 9B3A
+57A7 6244 664C 8D4F 8CDE 8D18 945C
+4E04 4E0A 5C19 5C1A 6066 7EF1 7DD4 979D
+4EE9 88F3
+5F30 634E 70E7 83A6 68A2 713C 7A0D 65D3 7B72 8244
+86F8 8F0E 71D2 98B5 9AFE 9BB9
+52FA 828D 82D5 67D6 73BF 7AF0 97F6
+5C11
+52AD 5372 90B5 7ECD 54E8 5A0B 8891 7D39 7744 7DA4
+6F72
+8571
+5962 731E 8D4A 756C 7572 8F0B 8CD2 8CD6 6AA8
+820C 4F58 8675 86C7 86E5
+820D 6368
+538D 8BBE 793E 5399 5C04 6D89 6DBB 6E09 8A2D 8D66
+5F3D 6151 6442 6444 6EE0 6174 6475 850E 6B59 8802
+97D8 9A07 61FE 651D 7044 9E9D 6B07
+820E
 7533 5C7E 625F 4F38 8EAB 4F81 547B 59BD 7C76 7EC5
-7F59 8BDC 59FA 67DB 6C20 73C5 7A7C 7C78 5A20 5CF7
-7521 7712 7837 5814 6DF1 7D33 515F 692E 8460 88D1
-8A37 7F67 84E1 8A75 7527 8518 71CA 8593 99EA 9CB9
-9BD3 9D62 9BF5 9C3A 795E 698A 926E 9C30 90A5 5F1E
-628C 6C88 5BA1 77E4 54C2 77E7 5BB7 8C02 8C09 5A76
-6E16 8A20 5BE9 8AD7 9823 9B6B 66CB 77AB 5B38 700B
-89BE 8B85 80BE 4FBA 661A 751A 80C2 6D81 7718 6E17
-7973 8124 814E 613C 614E 6939 7606 8703 6EF2 92E0
-762E 5347 751F 9629 544F 58F0 6598 6607 67A1 6CE9
-82FC 6B85 7272 73C4 7AD4 80DC 965E 66FB 9679 7B19
-6E66 713A 7525 924E 8072 935F 9F2A 9D7F 6E11 7EF3
-7E04 61B4 6FA0 7E69 8B5D 9C66 7701 771A 5057 6E3B
-5723 665F 6660 5270 76DB 5269 52DD 741E 8CB9 5D4A
-8056 58AD 69BA 8542 6A73 8CF8 5C38 5931 5E08 545E
-8671 8672 8BD7 90BF 9E24 5C4D 65BD 6D49 72EE 5E2B
-7D41 91F6 6E64 6E7F 8479 6EAE 6EBC 7345 8492 84CD
-8A69 9247 7461 917E 9CF2 7BB7 8768 E85C 9CFE 8937
-9CBA 6FD5 9366 9BF4 9C24 9DB3 8979 7C6D 91C3 5341
-9963 4EC0 77F3 8FBB 4F66 65F6 7ACD 8BC6 5B9E 5B9F
-65F9 98E0 59FC 5CD5 62FE 70BB 794F 8680 98DF 57D8
-6642 83B3 5BD4 6E5C 9048 5852 5D75 6EA1 8494 9250
-5BE6 69AF 8755 927D 7BD2 9CA5 9B96 9F2B 8B58 9F2D
-9C23 53F2 77E2 4E68 8C55 4F7F 59CB 9A76 5158 5BA9
-5C4E 7B36 6981 9242 99DB 58EB 6C0F 793B 4E16 4E17
-4ED5 5E02 793A 534B 5F0F 5FD5 4E8A 53D3 623A 4E8B
-4F8D 52BF 5469 67F9 89C6 8BD5 9970 519F 5BA4 6040
-6043 62ED 662F 6630 67BE 67FF 7702 8D33 9002 683B
-70D2 770E 7721 8210 8F7C 901D 94C8 7B39 8996 91C8
-5D3C 5F11 5FA5 63D3 8C25 8CB0 91CA 52E2 55DC 5F12
-7176 7757 7B6E 89E2 8A66 8EFE 9230 9243 98FE 8213
-8906 8A93 9069 596D 92B4 566C 5B15 6FA8 8ADF 8AE1
-907E 991D 6AA1 87AB 8B1A 7C2D 7C42 896B 91CB 9C18
-9F5B 5159 74E7 53CE 6536 624B 624C 5B88 57A8 9996
-824F 5BFF 53D7 72E9 517D 552E 6388 6DAD 7EF6 75E9
-8184 58FD 7626 7DAC 5900 7363 7378 93C9 4E66 6BB3
-6292 7EBE 53D4 6778 67A2 964E 59DD 67D5 500F 5010
-66F8 6B8A 7D13 6393 68B3 6DD1 7102 83FD 8ED7 9103
-758E 758F 8212 6445 6BF9 6BFA 7D80 8F93 7479 8DFE
-8E08 6A1E 852C 8F38 6A7E 9B9B 5135 6504 702D 9D68
-5C17 79EB 5A4C 5B70 8D4E 587E 719F 74B9 8D16 668F
-6691 9ECD 7F72 9F20 5C5E 9F21 8700 6F7B 85A5 85AF
-66D9 7659 85F7 8961 7CEC 8969 7C54 8834 9C6A 9E00
-9C70 672E 672F 620D 675F 6CAD 8FF0 4FB8 54B0 6037
-6811 7AD6 8357 6055 5EB6 5EBB 7D49 8481 8853 5C0C
-88CB 6570 7AEA 8167 9265 5885 6F31 6F44 6578 6F8D
-8C4E 6A39 6FD6 9330 93E3 9D90 9D91 866A 5237 5530
-800D 8A9C 8870 6454 7529 5E05 5E25 87C0 535B 95E9
-62F4 9582 6813 6DAE 8168 53CC 6EDD 971C 96D9 5B40
-9AA6 5B47 9A3B 6B06 7935 9DDE 9E74 826D 9A66 9E18
-723D 587D 6161 6A09 7E14 93EF 7040 8C01 813D 8AB0
-6C35 6C34 6C3A 9596 5E28 6D97 6D9A 7971 7A05 7A0E
-88DE 7761 542E 696F 987A 821C 9806 8563 6A53 779A
-77A4 77AC 9B0A 8BF4 54FE 8AAA 8AAC 5981 70C1 6714
-94C4 6B36 7855 77DF 55CD 6420 84B4 55FD 69CA 78A9
-7361 7BBE 9399 720D 9460 53B6 7E9F 4E1D 53F8 7CF9
-79C1 549D 6CC0 4FEC 601D 6056 8652 9E36 5AA4 65AF
-7D72 7F0C 86F3 6952 7997 9270 98D4 51D8 53AE 69B9
-79A0 7F73 8724 92AF 9536 5636 565D 5EDD 6495 6F8C
-78C3 7DE6 856C 92D6 71CD 8784 9376 87D6 87F4 98B8
-9A26 9401 9DE5 9F36 6B7B 5DF3 4E96 56DB 7F52 5BFA
-6C5C 4F3A 4F3C 4F40 5155 59D2 6CE4 7940 4FA1 5B60
-6CD7 9972 9A77 4FDF 5A30 67B1 67F6 726D 68A9 6D0D
+8BDC 59FA 67DB 6C20 73C5 7A7C 7C78 5A20 5CF7 7521
+7712 7837 8398 6552 6DF1 7D33 515F 68FD 8460 88D1
+8A37 84E1 8A75 7527 8518 71CA 8593 99EA 9CB9 66D1
+9D62 9BF5 9C3A
+4EC0 751A 795E
+90A5 5F1E 5BA1 77E4 54C2 77E7 5BB7 8C02 8C09 5A76
+6E16 8A20 5BE9 8AD7 9823 9B6B 66CB 9825 77AB 5B38
+700B 89BE 8B85
+80BE 4FBA 661A 80C2 6D81 7718 6E17 7973 8124 814E
+613C 614E 6939 7606 7F67 8703 8704 6EF2 92E0 762E
+5814 698A 9C30
+5347 751F 9629 544F 58F0 6598 6607 6CE9 72CC 82FC
+680D 6B85 7272 73C4 965E 9679 7B19 6E66 713A 7525
+924E 8072 9F2A 9D7F
+7EF3 61B4 7E69 8B5D
+7701 771A 5057 6E3B
+5723 80DC 6660 5270 76DB 5269 52DD 8CB9 5D4A 741E
+8056 58AD 69BA 8542 8CF8
+7AD4 66FB 6A73
+5C38 5931 5E08 545E 8671 8BD7 90BF 9E24 5C4D 65BD
+6D49 72EE 5E2B 7D41 91F6 6E64 6E7F 8479 921F 6EAE
+6EBC 7345 8492 84CD 8A69 9247 9248 7461 9CF2 8768
+9CFE 8937 9CBA 6FD5 9366 9BF4 9C24 9DB3 8979
+5341 9963 77F3 8FBB 4E6D 65F6 5B9E 5B9F 65F9 98E0
+59FC 5CD5 70BB 794F 8680 98DF 57D8 6642 83B3 5BD4
+6E5C 9048 5852 6EA1 8494 9250 5BE6 69AF 8755 9CA5
+9F2B 9F2D 9C23
+53F2 77E2 4E68 8C55 4F7F 59CB 9A76 5158 5BA9 5C4E
+7B36 9242 99DB
+58EB 6C0F 793B 4E17 4E16 4ED5 5E02 793A 4F3C 534B
+5F0F 5FD5 4E8A 53D3 623A 4E8B 4F8D 52BF 5469 67F9
+89C6 8BD5 9970 519F 5BA4 6040 6043 62ED 662F 6630
+67BE 67FF 7702 8D33 9002 683B 70D2 770E 7721 8210
+8F7C 901D 94C8 8996 8C49 91C8 5A9E 5D3C 5F11 5FA5
+63D3 8C25 8CB0 91CA 52E2 55DC 5F12 7757 7B6E 89E2
+8A66 8EFE 9230 9243 98FE 8213 8A93 9069 927D 596D
+92B4 9919 991D 566C 5B15 6FA8 8ADF 8AE1 907E 87AB
+8B1A 7C2D 896B 91CB
+4F66 7ACD 8BC6 62FE 5319 5D75 6981 7176 7BD2 9B96
+7C42 8B58 9C18
+53CE 6536
+624B 5B88 57A8 9996 824F
+5BFF 53D7 72E9 517D 552E 6388 6DAD 7EF6 75E9 58FD
+5900 7626 7DAC 7378 93C9
+624C 7363
+4E66 6BB3 5C17 6292 7EBE 53D4 6778 67A2 964E 59DD
+500F 5010 66F8 6B8A 7D13 6393 68B3 6DD1 7102 83FD
+8ED7 9103 758E 758F 8212 6445 6BF9 7D80 8F93 7479
+8DFE 8E08 6A1E 852C 8F38 6A7E 9B9B 5135 6504 9D68
+79EB 5A4C 5B70 8D4E 587E 719F 74B9 8D16
+9F21 5C5E 6691 668F 9ECD 7F72 8700 9F20 6F7B 85A5
+85AF 66D9 7659 85F7 8961 8969 5C6C 9483
+672E 672F 620D 675F 6CAD 8FF0 4FB8 51C1 54B0 6037
+6811 7AD6 8357 6055 6352 5EB6 5EBB 7D49 8481 8853
+9683 5C0C 88CB 6570 7AEA 8167 9265 5885 6F31 6F44
+6578 6F8D 8C4E 6A39 6FD6 9330 93E3 9D90 866A
+702D 7CEC 8834 9C6A 9C70
+5237 5530
+800D
+8A9C
+8870 6454
+7529
+5E05 5E25 87C0 535B
+95E9 62F4 9582 6813
+6DAE 8168
+53CC 971C 96D9 5B40 9AA6 5B47 9A3B 6B06 7935 9DDE
+9E74 826D 9A66 9E18
+723D 587D 6161 6F3A 6A09 7E14
+7040
+93EF
+8C01 813D 8AB0
+6C34
+5E28 6D97 6D9A 7971 7A05 7A0E 88DE 7761 7793
+6C35 6C3A 9596
+542E
+987A 821C 9806 8563 6A53 779A 77AC 9B0A
+8BF4 54FE 8AAA 8AAC
+5981 70C1 6714 94C4 6B36 7855 77DF 6420 84B4 69CA
+7361 78A9 7BBE 9399 720D 9460
+53B6 7E9F 4E1D 53F8 7CF9 79C1 549D 6CC0 601D 8652
+9E36 5AA4 65AF 7D72 7F0C 86F3 6952 7997 9270 98D4
+51D8 53AE 69B9 79A0 7F73 8724 9536 5636 565D 5EDD
+6495 6F8C 78C3 7DE6 856C 92D6 71CD 8784 87D6 87F4
+98B8 9A26 9401 9DE5 9F36 7C6D
+6B7B
+5DF3 4E96 56DB 5BFA 6C5C 4F40 5155 59D2 6CE4 7940
+4FA1 5B60 676B 6CD7 9972 9A77 5A30 67F6 726D 6D0D
 6D98 8082 98E4 7B25 801C 91F2 7AE2 8997 55E3 8086
-8C84 923B 98FC 79A9 99DF 857C 5129 9A03 7003 87A6
-4E7A 5FEA 677E 6780 67A9 5A00 67D7 502F 51C7 68A5
-5D27 5EBA 6DDE 83D8 5D69 7879 8719 61BD 6AA7 6FCD
-9B06 6002 609A 6352 8038 7AE6 50B1 612F 5D77 616B
-8073 99F7 8BBC 5B8B E82A 8BF5 9001 9882 8A1F 980C
-8AA6 9938 93B9 E829 51C1 635C 910B 55D6 5EC0 5ECB
-641C 6EB2 7340 8490 84C3 998A 98D5 6457 953C 8258
-878B 9199 93AA 993F 98BC 9A2A 53DC 53DF 5081 55FE
-778D 64DE 85AE 64FB 85EA 6AE2 7636 82CF 7526 9165
-7A23 7AA3 7A4C 9BC2 8607 8613 6AEF 56CC 4FD7 738A
-5919 8BC9 6CDD 8083 6D2C 6D91 73DF 7D20 901F 5BBF
-6880 6B90 7C9B 9A95 5083 7C9F 8A34 8C21 55C9 5850
+8C84 9236 923B 98FC 79A9 99DF 857C 5129 7003
+4FEC 6056 92AF
+5FEA 677E 6780 5A00 67D7 502F 51C7 5D27 5EBA 68A5
+6DDE 83D8 5D69 7879 8719 61BD 6FCD 6AA7 9376 9B06
+6002 609A 8038 7AE6 50B1 612F 6964 5D77 616B 8073
+99F7
+8BBC 5B8B 8BF5 9001 9882 8A1F 980C 8AA6 9938
+67A9 93B9
+635C 910B 55D6 5EC0 5ECB 641C 6EB2 7340 8490 84C3
+998A 6449 98D5 6457 953C 8258 878B 9199 93AA 993F
+98BC 98BE 9A2A
+53DC 53DF 5081 55FE 778D 64DE 85AE 64FB 85EA 6AE2
+7C54
+8184 7636
+55FD
+82CF 7526 9165 7A23 7AA3 7A4C 8607 8613 6AEF 56CC
+4FD7
+738A 5919 6CDD 8083 6D2C 6D91 73DF 7D20 83A4 901F
+5BBF 6880 6B90 7C9B 9A95 5083 7C9F 8C21 55C9 5850
 5851 5ACA 612B 6EAF 6EB8 8085 9061 9E54 50F3 612C
 69A1 8186 850C 89EB 8D9A 906C 619F 6A0E 6A15 6F65
 78BF 92C9 9917 6F5A 7E24 6A5A 749B 7C0C 85D7 8B16
-8E5C 9A4C 9C50 9DEB 72FB 75E0 9178 5334 7958 7B07
-7B6D 849C 7B97 590A 8295 867D 5020 54F8 6D7D 837D
-837E 772D 8470 6ED6 7762 71A3 6FC9 9796 96D6 7EE5
-968B 968F 9040 7D8F 96A8 74CD 81B8 7021 9AC4 9AD3
-4E97 5C81 7815 795F 7C8B 8C07 57E3 5D57 813A 9042
-6B72 6B73 716B 775F 788E 96A7 5B18 6FBB 7A42 8AB6
-8CE5 6A96 71E7 74B2 79AD 7A57 7A5F 7E40 895A 9083
-65DE 7E50 7E78 9406 8B62 9429 5B59 72F2 836A 5B6B
-98E7 640E 733B 84C0 98F1 69C2 8575 859E 7543 635F
-7B0B 96BC 7B4D 640D 69AB 7BB0 7C28 93A8 9DBD 5DFA
-6F60 5506 5A11 838F 509E 6332 686B 68AD 7743 55E6
-7FA7 84D1 644D 7F29 8D96 7C11 7C14 7E2E 9AFF 9BBB
-6240 5522 7D22 7410 7411 60E2 9501 55E9 669B 6E91
-7463 938D 9396 93BB 93BC 93C1 9024 6EB9 8736 4ED6
-5B83 7260 7942 549C 8DBF 94CA 584C 6999 6EBB 9248
-891F 8E79 4FA4 5854 5896 736D 9B99 9CCE 737A 9C28
-E82F 631E 72E7 95FC 5D09 6DBE 6428 905D 9062 9618
-69BB 6BFE 79A2 64BB 6FBE 8ABB 8E0F 5683 9314 56BA
-6FCC 8E4B 979C 95D2 97B3 95E5 8B76 8EA2 8968 56FC
-5B61 9A80 73C6 80CE 99D8 53F0 65F2 90B0 576E 62AC
-82D4 70B1 70B2 83ED 8DC6 9C90 7B88 81FA 98B1 5113
-9B90 5B2F 64E1 85B9 6AAF 7C49 592A 51AD 5933 5FF2
-6C70 6001 80BD 949B 6CF0 7C8F 8226 915E 9226 6E99
-614B 71E4 574D 8D2A 6039 5574 75D1 8211 8CAA 644A
-6EE9 563D 6F6C 762B 64F9 6524 7058 7671 575B 6619
-5013 8C08 90EF 5A52 60D4 5F3E 8983 6983 75F0 952C
-8C2D 58B0 58B5 619B 6F6D 8AC7 9188 58C7 66C7 6A5D
-931F 6A80 9843 7F48 85EB 58DC 8B5A 8C9A 91B0 8B60
-7F4E 9DE4 5FD0 5766 8892 94BD 83FC 6BEF 926D 55FF
-61B3 61BB 66BA 9193 74AE 8962 53F9 70AD 57EE 63A2
-509D 6E60 8D55 50CB 5606 78B3 8215 64A2 6B4E 8CE7
-6C64 94F4 6E6F 5621 528F 7FB0 876A 859A 9557 8E5A
-93DC 940B 97BA 9F1E 9967 5763 5510 5802 508F 557A
-68E0 910C 5858 5D63 642A 6E8F 84CE 969A 69B6 6F1F
-717B 746D 799F 8185 6A18 78C4 7CC3 819B 6A56 7BD6
-7CD6 8797 8E3C 7CDB 87B3 8D6F 91A3 9933 9395 9939
-95DB 9944 9DB6 5E11 5018 5052 6DCC 50A5 8025 8EBA
-954B 93B2 513B 6203 66ED 7223 77D8 9482 70EB 6465
-8D9F 71D9 4ED0 5932 5F22 6D9B 7EE6 638F 7D5B 8A5C
-5ACD 5E4D 6146 642F 6ED4 69C4 746B 97EC 98F8 7E1A
-7E27 6FE4 8B1F 97B1 97DC 9955 530B 8FEF 54B7 6D2E
-9003 6843 9676 5555 68BC 6DD8 7EF9 8404 7979 88EA
-7DAF 872A 9780 9184 9789 92FE 932D 99E3 6AAE 9940
-9A0A 9F17 8BA8 5957 8A0E 7553 5FD1 5FD2 7279 8CA3
-8126 7286 94FD 615D 92F1 87D8 81AF 9F1F 75BC 75CB
-5E50 817E 8A8A 6F1B 6ED5 9086 7E22 87A3 99E6 8B04
-512F 85E4 9A30 7C50 E85B 9C27 7C58 8645 9A63 972F
-551E 6730 5254 68AF 9511 8E22 92BB 9DC8 E861 9DC9
-5397 7EE8 504D 73F6 557C 5A9E 5D39 60FF 63D0 6E27
-7A0A 7F07 7F64 9046 9E48 55C1 7445 7D88 78AE 5FB2
-6F3D 7DF9 855B 876D 9898 8DA7 8E44 918D 8B15 8E4F
-9357 9CC0 9D3A 984C 9BB7 9D5C 9A20 9BF7 9D97 9D99
-4F53 632E 8EB0 9AB5 8EC6 9AD4 623B 5C49 5243 6D1F
-501C 608C 6D95 9016 5C5C 6090 60D5 63A6 9037 60D6
-63E5 66FF 6974 88FC 8905 6B52 6BA2 9AF0 8599 568F
-9B00 5694 74CB 9B04 7C4A 941F 8DAF 5929 5172 5A56
-6DFB 915F 9754 9EC7 975D 7530 5C47 6CBA 606C 754B
-7551 76F7 80CB 7560 751B 751C 83FE 6E49 5861 586B
-6437 9617 78B5 7DC2 78CC 7AB4 9D2B 74B3 95D0 9DC6
-9DCF 5FDD 6B84 500E 553A 60BF 6375 6DDF 666A 7420
-8146 89CD 75F6 7753 8214 9902 89A5 8CDF 932A 9766
-63AD 7471 777C 821A 65EB 4F7B 5EA3 604C 6311 7967
-804E 8280 6761 5CA7 5CB9 8FE2 7952 689D 7B24 84DA
-84E8 9F86 6A24 8729 92DA 9797 9AEB 9CA6 87A9 9BC8
-93A5 9F60 9C37 5BA8 6640 6713 8101 7A95 8A82 7AB1
-5B25 773A 7C9C 94EB 7D69 899C 8D92 8DF3 982B 7CF6
-6017 8D34 841C 8051 8CBC 8DD5 94C1 86C8 9244 50E3
-9295 9D29 9421 9422 9435 9A56 546B 5E16 98FB 992E
+8E5C 9A4C 9C50 9DEB
+8BC9 8A34 9BC2
+72FB 75E0 9178
+5334
+7958 7B07 7B6D 849C 7B97
+590A 6535 8295 867D 5020 54F8 6D7D 837D 837E 772D
+8470 6ED6 7762 7D8F 71A3 6FC9 9796 96D6
+7EE5 968B 968F 9040 96A8 74CD
+7021 81B8 9AC4 9AD3
+4E97 5C81 7815 795F 8C07 57E3 5D57 9042 6B72 6B73
+716B 775F 788E 96A7 5B18 6FBB 7A42 8AB6 8CE5 6A96
+71E7 74B2 79AD 6A85 7A57 7A5F 7E40 895A 9083 65DE
+7E50 7E78 8B62 9406 9429 97E2
+5B59 72F2 836A 5B6B 98E7 640E 733B 84C0 98F1 69C2
+8575 859E
+635F 7B0B 96BC 7B4D 640D 69AB 7BB0 7C28 93A8 9DBD
+5506 5A11 838F 509E 686B 68AD 7743 55CD 7FA7 84D1
+644D 7F29 8D96 7C11 7C14 7E2E 9AFF 9BBB
+6240 4E7A 5522 7D22 7410 60E2 9501 55E9 669B 6E91
+7463 8928 7485 9388 938D 9396 93BB 93C1
+9024 6EB9 8736
+7411 55E6
+FDD0-0054
+4ED6 5B83 5979 7260 7942 8DBF 94CA 584C 6999 6EBB
+891F 5683 95E7
+8E79
+5854 6E9A 5896 736D 9CCE 737A 9C28
+4EA3 62D3 631E 72E7 95FC 5D09 6DBE 6428 8DF6 905D
+9062 69BB 6BFE 79A2 64BB 6FBE 8ABB 8E0F 6A7D 9314
+6FCC 8E4B 979C 9B99 95D2 97B3 56BA 95E5 8B76 8EA2
+4FA4 549C
+56FC 5B61 80CE
+51AD 53F0 65F2 90B0 576E 62AC 82D4 67B1 70B1 70B2
+83ED 8DC6 9C90 7B88 81FA 98B1 99D8 5113 9B90 5B2F
+64E1 85B9 6AAF 7C49
+592A 5933 5FF2 6C70 6001 80BD 949B 6CF0 8226 915E
+9226 6E99 614B 71E4
+7C8F
+574D 62A9 8D2A 6039 75D1 8211 8CAA 644A 6EE9 762B
+64F9 6524 7058 7671
+575B 6619 5013 8C08 90EF 5A52 60D4 8983 6983 75F0
+952C 8C2D 58B0 58B5 619B 6F6D 8AC7 9188 58C7 66C7
+71C2 931F 9924 6A80 78F9 9843 7F48 85EB 58DC 8B5A
+8C9A 91B0 8B60 7F4E
+5FD0 5766 8892 94BD 83FC 6BEF 926D 55FF 61B3 61BB
+9193 74AE 8962
+53F9 70AD 57EE 63A2 509D 6E60 50CB 5606 78B3 8215
+6B4E 8CE7
+6C64 5763 94F4 6E6F 5621 8025 528F 7FB0 876A 859A
+9557 8E5A 93DC 940B 97BA 9F1E
+9967 5510 5802 508F 557A 68E0 910C 5858 642A 6E8F
+84CE 969A 69B6 6F1F 717B 746D 799F 8185 6A18 78C4
+7CC3 819B 6A56 7BD6 7CD6 8797 8E3C 7CDB 87B3 8D6F
+91A3 9933 9395 9939 95DB 9944 9DB6
+4F16 5E11 5018 5052 6DCC 50A5 8EBA 954B 93B2 513B
+6203 66ED 7223 77D8 9482
+70EB 6465 8D9F 71D9
+5932 5F22 6D9B 7EE6 638F 7D5B 8A5C 5ACD 5E4D 6146
+642F 6ED4 69C4 746B 97EC 98F8 7E1A 7E27 6FE4 8B1F
+8F41 97B1 97DC 9955
+530B 8FEF 54B7 6D2E 9003 6843 9676 5555 68BC 6DD8
+7EF9 8404 7979 88EA 7DAF 872A 9780 9184 9789 92FE
+932D 99E3 6AAE 9940 9A0A 9F17
+8BA8 8A0E
+5957
+5FD1 5FD2 7279 8CA3 86AE 94FD 615D 92F1 87A3 87D8
+71A5 81AF 9F1F
+75BC 75CB 5E50 817E 8A8A 6F1B 6ED5 9086 7E22 99E6
+8B04 512F 85E4 9A30 7C50 9C27 7C58 9A63
+972F
+8645
+5254 68AF 9511 8E22 64FF 9DC8 9DC9
+82D0 5397 8351 7EE8 504D 557C 5D39 60FF 63D0 7A0A
+7F07 7F64 9046 9E48 55C1 7445 7D88 78AE 8906 5FB2
+6F3D 7DF9 855B 876D 92BB 9898 8DA7 8E44 918D 8B15
+8E4F 9357 9CC0 9D3A 984C 9BB7 9D5C 9A20 9BF7 9D97
+9D99 79B5 9DE4
+4F53 632E 8EB0 9AB5 9BA7 8EC6 9AD4
+623B 8FCF 5243 6711 6D1F 501C 608C 6D95 9016 6090
+60D5 63A6 9037 60D6 63E5 66FF 6974 88FC 8905 6B52
+6BA2 9AF0 8599 568F 9B00 5694 74CB 7C4A 8DAF
+5C49 5C5C 7B39 5D5C
+5929 5172 5A56 6DFB 915F 9754 9EC7 975D
+7530 5C47 6CBA 606C 754B 7551 76F7 80CB 7560 751B
+751C 83FE 6E49 5861 586B 6437 923F 9617 7DC2 78CC
+7AB4 74B3 95D0 9DC6 9DCF
+5FDD 6B84 500E 553A 60BF 6DDF 666A 7420 8146 89CD
+75F6 7753 8214 9902 89A5 8CDF 932A 9369 9766
+63AD 777C 821A
+78B5 9D2B
+65EB 4F7B 5EA3 604C 6311 7967 804E
+8280 6761 5CA7 5CB9 8FE2 7952 689D 7B24 8414 84DA
+84E8 8D92 9F86 6A24 8729 92DA 9797 9AEB 9CA6 9BC8
+93A5 9F60 9C37
+5BA8 6640 6713 8101 7A95 8A82 65A2 7AB1 5B25
+773A 7C9C 7D69 899C 8DF3 7CF6
+87A9
+5E16 6017 8D34 841C 8051 8CBC
+94C1 86C8 50E3 9295 92E8 9D29 9421 9435 9A56
+546B 98FB 992E
 5385 5E81 6C40 827C 542C 753A 8013 539B 70C3 686F
-70F4 7D8E 9793 8074 807C 5EF0 807D 5EF3 9092 5EF7
-4EAD 5EAD 839B 505C 5A77 5D49 6E1F 7B73 8476 8713
-695F 69B3 95AE 9706 8064 874F 8AEA 9F2E 5722 4FB9
-5A17 633A 6D8F 6883 70F6 73FD 8121 94E4 8247 988B
-8248 8A94 92CC 9832 6FCE 4E6D 56F2 70B5 901A 75CC
-55F5 84EA 6A0B 71A5 4EDD 540C 4F5F 5F64 5CC2 5E9D
-54C3 72EA 833C 664D 6850 6D75 70D4 783C 8692 772E
-79F1 94DC 7AE5 7CA1 7D67 8855 8D68 916E 9256 50EE
-52ED 9275 9285 9907 9C96 6F7C 735E 66C8 6723 6A66
-6C03 729D 81A7 77B3 7A5C 9BA6 7EDF 6345 6876 7B52
-7D71 7B69 7D82 6078 75DB 615F 6185 5077 5078 5A7E
-5AAE 936E 4EA0 5934 6295 9AB0 7DF0 982D 59B5 7D0F
-6568 6B95 65A2 9EC8 8623 900F 51F8 79BF 79C3 6022
-7A81 550B 6D8B 6378 5817 6E65 75DC 8456 5D80 92F5
-9D5A 9F35 56F3 56FE 51C3 5CF9 5EA9 5F92 6087 6348
-6D82 837C 9014 5C60 688C 63EC 7A0C 5857 5D5E 760F
-7B61 816F 84A4 922F 5716 5717 5EDC 6F73 8DFF 9174
-999F 934E 99FC 9D4C 9D9F 9DCB 9DF5 571F 5721 5410
-6C62 948D 91F7 514E 8FCC 5154 83B5 580D 83DF 9D75
-6E4D 732F 7153 8C92 56E2 56E3 629F 526C 5278 5718
-587C 6171 6476 69EB 6F19 7BFF 6AB2 93C4 7CF0 9DD2
-9DFB 5715 7583 5F56 6E6A 8916 63A8 84F7 85EC 9893
-96A4 5C35 9839 983A 983D 9B4B 7A68 8608 8E6A 4FC0
-812E 817F 50D3 8E46 9ABD 9000 5A27 717A 86FB 8715
-892A 99FE 541E 5451 65FD 6D92 554D 671C 711E 66BE
-9ED7 5C6F 5FF3 829A 9968 8C58 8C5A 8ED8 98E9 9C80
-9B68 9715 81C0 81CB 6C3D 757D 5749 4E47 8BAC 6258
-6261 6C51 9966 6754 4F82 5483 62D5 62D6 6CB0 4FBB
-6329 635D 838C 88A5 8A17 6DB6 812B 8131 98E5 99B2
-9B60 9A5D 9A6E 4F57 9640 9641 5768 5CAE 6CB1 72CF
-8FF1 9A7C 67C1 7823 7824 8889 9E35 7D3D 5836 8A51
-8DCE 9161 78A2 99B1 69D6 99C4 8E3B 99DD 99DE 6A50
-9B80 9D15 9F27 9A28 9F0D 9A52 9F09 5F75 59A5 6BE4
-5EB9 5AA0 692D 6955 5AF7 64B1 6A62 9D4E 9C16 62D3
-67DD 553E 841A 8DC5 6BFB 7BA8 8600 7C5C 5C72 52B8
-54C7 5A03 5F8D 6316 6D3C 5A32 7556 7A8A 5558 5AA7
-55D7 86D9 6432 6E9B 6F25 7AAA 9F03 6528 74E6 4F64
-90B7 5493 74F2 7819 889C 8049 55E2 817D 8183 896A
-97C8 97E4 6B6A E81F 558E 7AF5 5D34 5916 9861 4E5B
-5F2F 525C 5A60 5E35 5846 6E7E 7755 873F 6F6B 8C4C
-5F4E 58EA 7063 4E38 5213 6C4D 7EA8 8284 5B8C 5C8F
-5FE8 628F 73A9 7B02 7D08 6356 987D 70F7 7413 8CA6
-9811 909C 5B9B 5007 550D 633D 665A 76CC 839E 57E6
-5A49 60CB 6669 689A 6DB4 7EFE 8118 83C0 667C 6900
-742C 7696 7579 7897 7DA9 7DB0 8F13 8E20 92D4 9350
-4E07 534D 5350 59A7 6764 6365 8155 842C 7FEB 92C4
-858D 933D 8D03 93AB 8D0E 5C23 5C29 5C2A 5C2B 6C6A
-4EA1 4EBE 5166 738B 4EFC 5F7A 83A3 869F 7F51 5FF9
-5F80 5F83 6789 7F54 60D8 83F5 6680 68E2 7139 86E7
-8F8B 7DB2 8744 8AB7 8F1E 7007 9B4D 5984 5FD8 8FCB
-65FA 76F3 671B 6722 5371 5A01 70D3 504E 9036 9687
-9688 55B4 5A81 5A99 6104 63CB 63FB 6E28 7140 8468
-8473 5FAE 6933 6972 6EA6 7168 8A74 7E05 875B 89A3
-5DB6 8587 71F0 9CC2 7650 5DCD 9C03 9C04 56D7 4E3A
-97E6 5729 56F4 5E0F 6CA9 8FDD 95F1 5CD7 5CDE 6D08
-70BA 97CB 6845 6DA0 552F 5E37 60DF 7EF4 55A1 570D
-5D6C 5E43 6E4B 6E88 7232 741F 9055 6F4D 7DAD 84F6
-912C 6F59 6F7F 9180 6FF0 934F 95C8 9BA0 7653 89B9
-72A9 973A 973B 5383 4F1F 4F2A 5C3E 7EAC 829B 82C7
-59D4 709C 73AE 6D27 5A13 6364 6D58 8371 8BFF 5049
-507D 5D23 68B6 75CF 784A 840E 9697 9AA9 5D54 5EC6
-5FAB 6107 7325 8466 848D 9AAA 9AAB 6690 6932 7152
-744B 75FF 8172 8249 97EA 50DE 78A8 8732 873C 9C94
-5BEA 7DEF 853F 8AC9 8E13 97D1 9820 85B3 5130 6FFB
-9361 9BAA 58DD 97D9 98B9 7022 97E1 4EB9 6596 536B
-672A 4F4D 5473 82FF 754F 80C3 53DE 8ECE 5C09 7859
-83CB 8C13 5582 5AA6 6E2D 732C 715F 589B 851A 6170
-71AD 729A 78D1 7DED 875F 885B 61C0 6FCA 748F 7F7B
-885E 8B02 9317 9927 9B87 87B1 893D 9935 9B4F 85EF
-8F4A 93CF 9728 9CDA 8636 9956 8B86 8E97 8B8F 8E9B
-6637 586D 6E29 6985 6B9F 6EAB 7465 8F92 69B2 761F
-8C71 8F3C 8F40 9CC1 93BE 9942 9C1B 9C2E 6587 5F63
-7EB9 82A0 7086 7807 95FB 7D0B 8689 868A 73F3 960C
-922B 96EF 7612 805E 99BC 9B70 9CFC 9D0D 87A1 95BA
-95BF 87C1 95C5 9F24 95E6 95E7 520E 543B 545A 5FDF
-6286 5461 80B3 7D0A 687D 8117 7A33 7A4F 7A69 95EE
-598F 6C76 83AC 554F 6E02 8115 63FE 6435 7D7B 9850
-74BA 7FC1 55E1 9E5F 8789 9393 9DB2 52DC 5963 5855
-5D61 6EC3 84CA 66A1 7788 806C 74EE 8579 7515 7F4B
-9F46 631D 502D 6DA1 83B4 5529 6DB9 6E26 7327 8435
-5594 7A9D 7AA9 8717 64BE 8778 8E12 6211 5A50 5A51
-6370 4EF4 6C83 809F 5367 81E5 5053 637E 5A89 5E44
-63E1 6E25 7125 786A 6943 815B 65A1 7783 6FE3 74C1
-81D2 9F8C 9F77 4E4C 572C 5F19 6C59 6C5A 6C61 90AC
-545C 6747 5DEB 5C4B 6D3F 8BEC 94A8 70CF 8DB6 526D
-7A8F 91EB 9114 55DA 8A88 6B4D 8AA3 7BBC 8790 9D2E
-93A2 9C1E 65E0 6BCB 5433 5434 543E 5449 829C 90DA
-5514 5A2A 68A7 6D16 6D6F 8323 8381 73F8 7966 9E40
-7121 7991 8708 856A 7491 9D50 9BC3 9F2F 9DE1 4E44
-4E94 5348 4EF5 4F0D 575E 59A9 5E91 5FE4 6003 8FD5
-65FF 6B66 739D 4FAE 4FC9 5035 6342 554E 5A2C 727E
-73F7 5862 6440 7193 7894 9E49 7466 821E 5AF5 5EE1
-61AE 6F55 933B 511B 6A46 7512 9D61 8E8C 5140 52FF
-52A1 620A 9622 4F06 5C7C 6264 5C89 674C 82B4 5FE2
-7269 77F9 6544 8BEF 52D9 609E 609F 60AE 7C85 901C
-6664 7110 7111 5A7A 5D4D 75E6 9696 9770 9A9B 5966
-5D68 6EA9 96FE 5BE4 7183 8AA4 9E5C 92C8 7AB9 971A
-9F3F 9727 9F40 8601 9A16 9DA9 5915 516E 5FDA 6C50
-897F 8980 5438 5E0C 6278 5365 6614 6790 77FD 7A78
-80B8 80B9 4FD9 5F86 6038 8BF6 90D7 997B 550F 595A
-5A2D 5C56 5C57 606F 6095 665E 6C25 6D60 727A 72F6
-8383 553D 6089 60DC 6878 6B37 6DC5 6E13 70EF 7101
+70F4 7D8E 9793 8074 807C 5EF0 807D 5EF3
+9092 5EF7 4EAD 5EAD 839B 505C 5A77 5D49 6E1F 7B73
+8476 8713 695F 69B3 95AE 9706 8064 874F 8AEA 9F2E
+5722 753C 4FB9 5A17 633A 6D8F 6883 70F6 73FD 8121
+8247 988B 8A94 9832
+56F2 70B5 901A 75CC 55F5 84EA
+4EDD 540C 4F5F 5F64 5CC2 5E9D 54C3 5CDD 72EA 833C
+664D 6850 6D75 70D4 783C 8692 772E 79F1 94DC 7AE5
+7CA1 7B69 8A77 8D68 916E 9256 50EE 52ED 9275 9285
+9907 9C96 6F7C 735E 66C8 6723 6A66 6C03 71D1 729D
+81A7 77B3 9BA6
+7EDF 6345 6876 7B52 7D71 7D82 6A0B
+6078 75DB 8855 615F 6185
+5077 5078 5A7E 5AAE 92C0 936E
+4EA0 5934 6295 9AB0 7DF0 982D
+59B5 94AD 7D0F 6568 98F3 9EC8 8623
+900F 7D89
+51F8 5B8A 79BF 79C3 6022 7A81 550B 6D8B 6378 5817
+6E65 75DC 8456 5D80 92F5 9D5A 9F35
+56F3 56FE 51C3 5CF9 5EA9 5F92 6087 6348 837C 9014
+5C60 688C 83DF 63EC 7A0C 5715 5857 5D5E 760F 7B61
+816F 84A4 922F 5716 5717 5EDC 6F73 8DFF 9174 999F
+934E 99FC 9D4C 9D9F 9DCB 9DF5
+571F 5721 5410 948D 91F7
+514E 8FCC 5154 580D 9D75
+6C62 6D82 83B5
+6E4D 732F 7153 8C92
+56E2 56E3 629F 5278 5718 6171 6476 6F19 69EB 7BFF
+6AB2 93C4 7CF0 9DD2 9DFB
+7583
+5F56 6E6A 8916
+63A8 84F7 85EC
+5F1A 9893 96A4 5C35 9839 983A 983D 9B4B 7A68 8608
+8E6A
+4FC0 817F 50D3 8E46 9ABD
+4FBB 9000 5A27 717A 86FB 8715 892A 99FE
+541E 5451 6D92 554D 671C 711E 564B 66BE 9ED7
+5C6F 5749 5FF3 829A 9968 8C58 8C5A 8ED8 98E9 9C80
+9B68 9715 81C0 81CB
+6C3D 757D
+65FD
+4E47 4EDB 8BAC 6258 6261 6C51 9966 6754 4F82 5483
+62D5 62D6 6CB0 6329 635D 838C 88A5 8A17 6DB6 812B
+8131 98E5 9B60 9A5D
+9A6E 4F57 9640 9641 5768 5CAE 6CB1 6CB2 72CF 8FF1
+7823 7824 8889 9E35 7D3D 5836 8DCE 9161 78A2 99B1
+69D6 99C4 99DE 6A50 9B80 9D15 9F27 9A28 9F0D 9A52
+9F09
+5F75 59A5 5EB9 5AA0 692D 6955 5AF7 6A62 9D4E 9B0C
+9C16
+67DD 6BE4 553E 841A 8DC5 6BFB 7BA8 8600 7C5C
+9A7C 99DD
+FDD0-0057
+7A75 52B8 6316 6D3C 5A32 7556 7A8A 5AA7 55D7 86D9
+6432 6E9B 6F25 7AAA 9F03 6528
+5A03
+74E6 4F64 90B7 5493
+889C 8049 55E2 817D 8183 896A 97C8 97E4
+5C72 74F2 54C7
+6B6A 558E 7AF5
+5D34
+5916 591E 9861
+5F2F 525C 5A60 5E35 5846 6E7E 873F 6F6B 8C4C 5F4E
+58EA 7063
+4E38 5213 6C4D 7EA8 8284 5B8C 5C8F 628F 73A9 7D08
+6356 987D 70F7 7413 9811 7FEB
+5B9B 5007 550D 633D 76CC 57E6 5A49 60CB 665A 689A
+7EFE 8118 83C0 8416 6669 667C 6900 742C 7696 7579
+7755 7897 7DA9 7DB0 8F13 8E20 92C4 92D4
+4E07 534D 5350 59A7 5FE8 6365 8115 8CA6 842C 8155
+8F10 6FAB 858D 933D 87C3 8D03 93AB 8D0E
+909C 6764 7B02
+5C23 5C2A 5C2B 6C6A 5C29
+4EA1 4EBE 5166 738B 4EFC 5F7A 83A3 869F
+7F52 7F51 5F80 5F83 7F54 5F8D 60D8 83F5 6680 68E2
+86E7 8F8B 7DB2 8744 8AB7 8F1E 7007 9B4D
+5984 5FD8 8FCB 65FA 76F3 671B 6722
+6789 7139
+5371 5A01 70D3 504E 840E 9036 9687 9688 55B4 5A99
+6104 63CB 63FB 6E28 8468 8473 5FAE 6933 6972 6EA6
+7168 8A74 8732 875B 89A3 8587 71F0 9CC2 5DCD 9C03
+9C04
+56D7 97E6 5729 56F4 5E0F 6CA9 8FDD 95F1 5CD7 5CDE
+6D08 97CB 6845 6DA0 552F 5E37 60DF 7859 7EF4 55A1
+570D 5A81 5D6C 5E43 6E4B 6E88 741F 9055 6F4D 7DAD
+84F6 912C 6F59 6F7F 78D1 9180 6FF0 934F 95C8 9BA0
+7653 89B9 72A9 973A 6B08
+5383 4F1F 4F2A 5C3E 7EAC 829B 82C7 59D4 709C 73AE
+6D27 5A13 5C57 6D58 8371 8BFF 5049 507D 5D23 68B6
+75CF 784A 9AA9 5D54 5FAB 6107 7325 8466 848D 9AAA
+9AAB 6690 6932 7152 744B 75FF 8172 8249 97EA 50DE
+64B1 78C8 9C94 5BEA 7DEF 853F 8AC9 8E13 97D1 9820
+85B3 5130 6FFB 9361 9BAA 58DD 7022 97D9 98B9 97E1
+8624 6596
+536B 4E3A 672A 4F4D 5473 82FF 70BA 754F 80C3 53DE
+8ECE 5C09 83CB 8C13 5582 5AA6 6E2D 7232 715F 78A8
+851A 873C 6170 71AD 729A 7DED 885B 61C0 748F 7F7B
+885E 8B02 9927 9B87 87B1 893D 9935 9B4F 85EF 8F4A
+93CF 9728 9CDA 8636 9956 8B86 8E97 8B8F 8E9B
+6364 7140 732C 589B 7E05 875F 5DB6
+6637 586D 6E29 6985 6B9F 6EAB 7465 8F92 761F 8570
+8C71 8F3C 8F40 9CC1 97B0 9C1B 9C2E
+5301 6587 5F63 7EB9 82A0 7086 739F 95FB 7D0B 8689
+868A 73F3 960C 741D 96EF 7612 805E 99BC 9B70 9CFC
+9D0D 87A1 95BA 95BF 87C1 95C5 9F24 95E6
+520E 543B 5FDF 6286 5461 80B3 7D0A 687D 8117 7A33
+7A4F 7A69
+95EE 598F 6C76 83AC 554F 6E02 63FE 6435 9850 74BA
+545A 922B 93BE
+7FC1 55E1 6EC3 9E5F 8789 9393 9DB2
+52DC 5963 5855 5D61 84CA 66A1 7788 806C
+74EE 8579 7515 7F4B 9F46
+631D 502D 6DA1 83B4 5529 6DB9 6E26 7327 8435 7A9D
+7AA9 8717 64BE 8778 8E12
+6211 5A50 6370
+4EF4 6C83 809F 5367 6782 81E5 5053 637E 6DB4 5A89
+5E44 63E1 6E25 7125 786A 6943 815B 65A1 7783 64ED
+6FE3 74C1 81D2 96D8 9F8C 9F77
+4E4C 572C 5F19 6C59 6C5A 6C61 90AC 545C 5DEB 6747
+5C4B 6D3F 8BEC 94A8 70CF 526D 7A8F 9114 55DA 6B4D
+8AA3 7BBC 8790 9D2E 93A2 9C1E
+65E0 6BCB 5433 5434 543E 5449 829C 90DA 5514 5A2A
+6D16 6D6F 8323 8381 68A7 73F8 7966 7121 94FB 9E40
+7991 8708 8A88 856A 7491 87F1 9BC3 9D50 8B55 9F2F
+9DE1
+4E94 5348 4EF5 59A9 5E91 5FE4 6003 65FF 6B66 739D
+4FAE 4FC9 5035 6342 554E 5A2C 727E 73F7 6440 7894
+9E49 7193 7466 821E 5AF5 5EE1 61AE 6F55 511B 6A46
+7512 9D61 8E8C
+5140 52FF 620A 9622 4F06 5C7C 6264 575E 5C89 674C
+82B4 8FD5 5FE2 7269 77F9 537C 6544 8BEF 609E 609F
+60AE 7C85 901C 6664 7110 5A7A 5D4D 75E6 9696 9770
+9A9B 5862 5966 5D68 6EA9 96FA 96FE 5BE4 7183 8AA4
+9E5C 907B 92C8 7AB9 971A 9F3F 9727 9F40 8601 9A16
+9DA9
+4E44 52A1 4F0D 52D9 933B
+FDD0-0058
+5915 516E 5438 5FDA 6271 6C50 8980 5E0C 6278 5365
+6614 6790 7A78 80B8 80B9 4FD9 5F86 6038 6053 90D7
+997B 550F 595A 5C56 6095 6C25 6D60 727A 72F6 8383
+553D 6089 60DC 637F 665E 6878 6B37 6DC5 70EF 7101
 7108 740B 7852 83E5 8D65 91F8 5092 60C1 6670 6673
-711F 712C 7280 774E 7A00 7C9E 7FD5 7FD6 823E 910E
-5380 5D60 5FAF 6EAA 7155 7699 84A0 9521 50D6 69BD
-7184 7188 7199 7DC6 8725 8A92 8C68 990F 563B 564F
-5B06 5B09 761C 819D 9919 51DE 6A28 6A40 6B59 6B5A
-71B9 71BA 71BB 7AB8 7FB2 8785 8787 932B 71E8 72A0
-77A6 7902 87CB 8C3F 8C40 8C6F 8C95 7E65 96DF 9BD1
-9D57 89F9 8B46 91AF 93ED 96B5 5DC7 66E6 7214 72A7
-9145 89FD 9F37 8835 9E02 89FF 9474 4E60 90CB 5E2D
-7FD2 88AD 89CB 5AB3 693A 84B5 84C6 5D8D 6F1D 89A1
-8D98 69E2 8777 8582 96B0 6A84 8B35 93B4 972B 9CDB
-98C1 9A31 9A3D 8972 9C3C 9A68 676B 67B2 6D17 73BA
-5F99 94E3 559C 5F9A 8448 8478 9222 5C63 6F07 84F0
-9291 6198 6199 66BF 6A72 6B56 79A7 8AF0 58D0 7E30
-8B11 87E2 8E5D 74BD 9C5A 77D6 7E9A 8EA7 5338 534C
-620F 5C43 7CFB 9969 546C 5FE5 602C 7EC6 90C4 4FC2
-54A5 6044 76FB 90E4 6B2F 7EE4 7D30 91F3 960B 5848
-691E 8204 8D87 9699 6140 6ECA 798A 7D8C 8D69 969F
-7182 7294 7A27 622F 6F5D 6F5F 6F99 856E 89A4 6231
-9ED6 6232 78F6 8669 993C 9B29 56B1 95DF 973C 884B
-5477 75A8 867E 8C3A 5084 9595 656E 7146 98AC 778E
-8766 9C15 5323 4FA0 72CE 4FE0 5CE1 67D9 70A0 72ED
-965C 5CFD 70DA 72F9 73E8 796B 7856 7B1A 7FC8 823A
-967F 6E8A 7864 9050 6433 6687 7455 7B6A 78AC 821D
-8F96 78CD 7E00 8578 7E16 8D6E 9B7B 8F44 935C 971E
-938B 9EE0 9A22 9DB7 959C 4E05 4E0B 5413 5737 759C
-590F 68BA 53A6 5EC8 7771 8AD5 5687 61D7 7F45 5913
-93EC 4ED9 4EDA 5C73 5148 597E 7EA4 4F61 5FFA 6C19
-6774 7946 79C8 82EE 67AE 7C7C 73D7 83B6 6380 94E6
-8DF9 9170 9528 50CA 50F2 5615 929B 9C9C 66B9 97EF
-5B10 61B8 859F 9341 9342 7E4A 893C 97F1 9BAE 99A6
-8E6E 5B45 5EEF 6515 8B63 7E8E 9DB1 8973 8E9A 7E96
-9C7B 4F2D 549E 95F2 59B6 5F26 8D24 54B8 550C 6326
-6D8E 80D8 5A34 5A39 5A71 7D43 8237 86BF 8854 5563
-6E7A 75EB 86DD 9591 9E47 5ACC 8858 7509 929C 5AFA
-5AFB 61AA 648F 6F96 8AB8 8CE2 8AF4 8F31 918E 7647
-764E 85D6 9E79 7925 8D12 9466 9DF3 9DF4 9DFC 51BC
-72DD 663E 9669 5D04 6BE8 70CD 7303 86AC 967A 8D7B
-7B45 5C1F 5C20 641F 7992 8706 8DE3 7BB2 85D4 96AA
+711F 712C 7280 774E 7A00 7C9E 7FD5 823E 910E 5380
+5D60 5FAF 6EAA 7699 84A0 9521 50D6 69BD 7155 7184
+7188 7199 7DC6 8725 8C68 990F 563B 564F 5B06 5B09
+5DB2 6F5D 761C 78CE 819D 51DE 6199 6A28 6A40 71B9
+71BA 71BB 7AB8 7E18 7FB2 8785 8787 932B 71E8 77A6
+87CB 8C3F 8C40 8C6F 8C95 7CE6 7E65 96DF 9D57 89F9
+8B46 91AF 93ED 96B5 5DC7 66E6 7214 72A7 9145 89FD
+9F37 8835 9E02 89FF 9474
+4E60 90CB 5E2D 7FD2 88AD 89CB 5AB3 693A 84B5 84C6
+5D8D 6F1D 89A1 8D98 69E2 8582 96B0 6A84 8B35 93B4
+972B 9CDB 98C1 9A31 9A3D 8972 9C3C 9A68
+67B2 6D17 73BA 5F99 94E3 559C 8448 8478 9222 9268
+9269 5C63 6F07 84F0 6198 66BF 6B56 79A7 8AF0 58D0
+7E30 8B11 87E2 8E5D 74BD 56CD 9C5A 77D6 8EA7
+5338 534C 620F 5C43 7CFB 9969 546C 5FE5 602C 77FD
+7EC6 4FC2 54A5 6044 76FB 90E4 6B2F 7EE4 7D30 91F3
+960B 55BA 691E 7FD6 8203 8204 8D87 9699 6140 6ECA
+798A 7D8C 8D69 969F 588D 7182 7294 7A27 6F5F 6F99
+856E 89A4 6231 9ED6 6232 78F6 8669 993C 9B29 7E6B
+56B1 95DF 973C 5C6D 884B
+897F 606F 6E13 6A72 72A0 7902 9BD1
+8672 75A8 867E 8C3A 5084 9595 7146 7175 98AC 778E
+8766 9C15
+5323 4FA0 72CE 4FE0 5CE1 67D9 70A0 72ED 965C 5CFD
+70DA 72F9 73E8 796B 7856 7FC8 823A 967F 7864 9050
+656E 6687 7455 7B6A 821D 78AC 8F96 78CD 7E00 8578
+7E16 8D6E 9B7B 8F44 935C 971E 938B 9EE0 9A22 9DB7
+959C
+4E05 4E0B 4E64 5413 759C 590F 7771 5687 61D7 7F45
+93BC 5913 93EC
+5737 68BA 6E8A
+4EDA 5C73 5148 597E 7EA4 4F61 5FFA 6C19 6774 7946
+79C8 82EE 67AE 7C7C 73D7 83B6 6380 8A2E 94E6 8DF9
+9170 9528 50CA 5615 929B 9C9C 66B9 97EF 5B10 61B8
+859F 9341 893C 97F1 9BAE 8E6E 99A6 5EEF 6515 7E8E
+9DB1 8973 8E9A 7E96 9C7B
+4F2D 95F2 59B6 5F26 8D24 54B8 550C 6326 6D8E 80D8
+5A34 5A39 5A71 7D43 8237 86BF 8854 5563 75EB 86DD
+9591 9592 9E47 5ACC 8858 7509 929C 5AFA 5AFB 61AA
+648F 6F96 7A34 8AB8 8CE2 71C5 8AF4 8F31 918E 7647
+764E 77AF 85D6 7925 9E79 9E99 8D12 9DF3 9DF4 9DFC
+51BC 72DD 663E 9669 5D04 6BE8 70CD 7303 86AC 967A
+8D7B 7B45 5C1F 5C20 641F 7992 8DE3 9291 7BB2 96AA
 5DAE 736B 736E 85D3 934C 71F9 9855 5E70 6507 6AF6
-861A 7381 97C5 986F 7066 53BF 5C98 82CB 73B0 7EBF
-81FD 9650 59ED 5BAA 770C 9665 54EF 57B7 5A0A 5A28
-5CF4 665B 6D80 83A7 9677 73FE 784D 9985 774D 7D64
-7F10 7FA1 732E 7CAF 7FA8 817A 50E9 50F4 7DAB 8AA2
-648A 7DDA 92E7 61B2 6A4C 7E23 930E 9921 8C4F 9EB2
-7017 81D4 737B 7CEE 93FE 9730 9F38 4E61 8297 76F8
-9999 90F7 53A2 554C 9109 910A 5EC2 6E58 7F03 8459
-9115 697F 858C 7BB1 7DD7 81B7 8944 5FC0 9AA7 9E98
-6B00 74D6 9576 9C5C 9472 9A64 74E8 4F6D 8BE6 5EA0
-6819 7965 7D74 7FD4 8A73 8DED 4EAB 4EAF 54CD 8683
-9977 6651 98E8 60F3 9284 9909 9C9E 56AE 8801 9B9D
-9BD7 97FF 9957 995F 9C76 5411 59E0 5DF7 9879 73E6
-8C61 7F3F 842B 9805 50CF 52E8 5D91 66CF 6A61 8950
-87D3 940C 9C4C 7071 7072 547A 67AD 4FBE 524A 54D3
-67B5 9A81 5BAF 5BB5 5EA8 6077 6D88 7EE1 8653 900D
-9E2E 554B 5A4B 689F 7107 7307 8427 75DA 75DF 785D
-7863 7A99 7FDB 8437 9500 63F1 7D83 5610 6B4A 6F47
-7BAB 8E03 5635 61A2 64A8 7362 92B7 9704 5F47 81AE
-856D 9B48 9D1E 7A58 7C18 85C3 87C2 87CF 8B1E 9D35
-56A3 701F 7C2B 87F0 9AC7 56BB 56C2 6AF9 9AD0 9DCD
-8828 9A4D 6BCA 8648 6D28 90E9 5D24 6DC6 8A24 8AB5
+861A 8B63 7381 97C5 986F 7066
+4F23 53BF 549E 5C98 82CB 73B0 7EBF 81FD 9650 59ED
+5BAA 770C 9665 54EF 57B7 5A0A 5A28 5CF4 6D80 83A7
+9677 665B 73FE 784D 9985 774D 7D64 7F10 7FA1 732E
+7CAF 7FA8 817A 8706 50E9 50F4 7DAB 8AA2 648A 7DDA
+92E7 61B2 6A4C 7E23 930E 9921 58CF 8C4F 9EB2 7017
+81D4 737B 7CEE 9F38
+4ED9 50F2 7E4A 9466
+4E61 8297 76F8 9999 90F7 53A2 554C 9109 910A 5EC2
+6E58 7F03 8459 9115 7A25 858C 7BB1 7DD7 81B7 8944
+5FC0 9AA7 9E98 6B00 74D6 9576 9472 9A64
+74E8 4F6D 8BE6 5EA0 6819 7965 7D74 7FD4 8A73 8DED
+4EAB 4EAF 54CD 9977 6651 98E8 60F3 9284 9909 9C9E
+66CF 8801 9B9D 9BD7 97FF 9957 995F 9C76
+5411 59E0 5DF7 8683 9879 73E6 8C61 5842 7F3F 842B
+8856 9805 50CF 52E8 5D91 9297 6A61 8950 56AE 87D3
+95C0 940C 9C4C
+697F 9C5C
+7071 7072 547A 67AD 4FBE 54D3 67B5 9A81 54EE 5BAF
+5BB5 5EA8 6D88 7EE1 8653 900D 9E2E 5A4B 689F 7107
+7307 8427 75DA 75DF 785D 7863 7A99 7FDB 8437 9500
+63F1 7D83 560B 5610 6B4A 6F47 7BAB 8E03 5635 61A2
+7362 92B7 9704 5F47 81AE 856D 9B48 9D1E 7A58 7C18
+85C3 87C2 87CF 9D35 56A3 701F 7C2B 87F0 9AC7 6AF9
+56BB 56C2 9AD0 8828 9A4D 6BCA 8648
+6D28 7B05 90E9 5D24 6DC6 8A24 6BBD 7B4A 8AB5
 5C0F 6653 6681 7B71 7B7F 769B 66C9 7BE0 8B0F 76A2
-5B5D 8096 52B9 54B2 6054 4FF2 54EE 6548 6821 6D8D
-7B11 5578 509A 6569 6EE7 8A68 560B 5628 8A9F 562F
-6B57 71BD 6585 6586 4E9B 6954 6B47 874E 880D 52A6
-534F 65EA 90AA 5354 80C1 57A5 594A 5CEB 604A 62F9
-631F 633E 8105 8107 810B 887A 5055 659C 8C10 7332
-7D5C 7FD3 55CB 6136 643A 744E 7D8A 7181 818E 52F0
-64B7 64D5 7DF3 7F2C 8762 978B 8AE7 71F2 64F7 97B5
-896D 9437 651C 7E88 8B97 9FA4 5199 51A9 5BEB 85DB
+5B5D 8096 52B9 54B2 4FF2 6548 6821 6D8D 7B11 5578
+509A 6569 8A68 5628 8A9F 562F 6B57 71BD 97A9 6585
+6586
+6077 6EE7
+4E9B 63F3 7332 6954 6B47 874E 880D
+52A6 534F 65EA 90AA 5354 80C1 57A5 594A 5CEB 604A
+62F9 631F 633E 8105 8107 887A 5055 659C 8C10 7FD3
+55CB 6136 643A 744E 7D8A 7181 818E 52F0 64B7 64D5
+7DF3 7F2C 8762 978B 9821 8AE7 71F2 64F7 97B5 896D
+651C 7E88 8B97 9FA4
+5199 51A9 5BEB 85DB
 4F33 707A 6CC4 6CFB 7944 7EC1 7F37 5378 6D29 70A7
-70A8 5368 5A0E 5C51 5C53 5070 5FA2 68B0 710E 79BC
-7D32 4EB5 5A9F 5C5F 63F3 6E2B 7D4F 7D6C 8C22 50C1
-586E 698D 69AD 8909 5667 5C67 66AC 7DE4 97F0 5DB0
-5EE8 61C8 6FA5 736C 7CCF 85A2 85A4 9082 71EE 893B
-8B1D 5911 7009 97A2 7023 7215 87F9 880F 9F58 9F65
-9F42 8EA0 5C6D 8E9E 5FC4 5FC3 90A4 59A1 5FFB E844
-82AF 8F9B 6615 677A 6B23 76FA 4FFD 8398 60DE 8A22
-920A 950C 65B0 6B46 5EDE 92C5 5677 567A 5B1C 85AA
-99A8 946B 99AB 6794 9B35 9414 4F08 6F43 9620 4F29
-56DF 5B5E 7098 4FE1 8ED0 812A 8845 8A2B 712E 99B8
-820B 9856 91C1 5174 72CC 661F 57B6 9A8D 60FA 7329
-714B 7446 8165 86F5 89EA 7BB5 7BC2 8208 8B03 9B8F
-66D0 89F2 9A02 76A8 9BF9 5211 884C 90A2 5F62 9649
-4F80 90C9 54D8 578B 6D10 9498 9658 5A19 784E 88C4
-94CF 9203 9276 9292 92DE 7772 9192 64E4 674F 59D3
-5E78 6027 8347 5016 8395 5A5E 60BB 6DAC 5842 7DC8
-5B39 81D6 51F6 5144 5147 5308 828E 8BBB 5FF7 6C79
-54C5 605F 6D36 80F7 80F8 8A29 8A7E 96C4 718A 8BC7
-8A57 5910 657B 4F11 4FE2 4FEE 54BB 5EA5 70CB 70CC
-7F9E 8129 8119 9E3A 81F9 8C85 9990 6A07 929D 9AE4
-9AF9 9380 9BB4 9D42 9948 93C5 98CD 82EC 673D 7D87
-6EEB 7CD4 79C0 5CAB 73DB 7EE3 8896 7407 9508 6EB4
-7D89 7493 88E6 890E 890F 92B9 8791 7E4D 7E61 93E5
-93FD 9F45 620C 65F4 759E 76F1 6B28 7809 80E5 987B
-8A0F 987C 8657 865A 8C1E 5AAD 5E41 63DF 6B3B 865B
-9808 6948 7AA2 980A 5618 7A30 9700 9B46 5653 589F
-5B03 6B54 7E03 8566 8751 6B58 8ADD 8B43 9B56 9A49
-9450 9B1A 4FC6 5F90 84A3 8BB8 5474 59C1 8BE9 5194
-6829 73DD 5066 8A31 6E51 668A 8A61 9126 7CC8 9191
-76E8 65ED 4F35 5E8F 6C7F 4F90 5379 6C80 53D9 6064
-662B 6D2B 57BF 6B30 6B88 70C5 73EC 755C 52D6 52D7
-654D 6558 70FC 7EEA 7EED 9157 55A3 58FB 5A7F 6702
-6E86 7D6E 8A39 55C5 6149 7166 7D9A 84C4 8CC9 69D2
-6F35 6F4A 76E2 7781 7DD2 805F 928A 735D 7A38 7DD6
-85C7 77B2 85DA 7E8C 9C6E 84FF 5405 8F69 660D 54BA
-5BA3 6645 8ED2 688B 8C16 55A7 5847 5A97 6103 610B
-63CE 8431 8432 6684 714A 7444 84D2 777B 5107 79A4
-7BAE 7FE7 8756 5B1B 857F 8AE0 8AFC 9379 99FD 77CE
-7FFE 85FC 8610 8809 8B5E 9C1A 8B82 7384 73B9 75C3
-60AC 65CB 7401 8701 5AD9 6F29 66B6 7487 6A88 74BF
-61F8 9009 70DC 6685 9078 7663 766C 6030 6CEB 6621
-70AB 7EDA 7729 88A8 94C9 7404 7734 8852 6E32 7D62
-6965 6966 9249 78B9 8519 955F 9799 98B4 7E3C 7E4F
-93C7 8D19 75B6 8486 9774 859B 8FA5 97BE 7A74 6588
-4E74 5779 5B66 5CA4 5CC3 8313 6CF6 8895 9E34 8E05
-5B78 5DA8 6FA9 71E2 89F7 96E4 9DFD 96EA 6A30 81A4
-825D 8F4C 9CD5 9C48 8840 5437 6034 6CE7 72D8 75A6
-6856 70D5 8C11 8D90 8B14 7025 5743 52CB 57D9 7104
-52DB 5864 718F 7AA8 8512 52F2 52F3 85AB 99E8 5691
-58CE 736F 85B0 66DB 71FB 81D0 77C4 860D 58E6 720B
-7E81 91BA 5EF5 5BFB 5DE1 65EC 9A6F 674A 8BE2 5CCB
-6042 6D35 6D54 7D03 8340 6812 686A 6BE5 73E3 5071
-5C0B 5FAA 63D7 8A62 99B4 9129 9C9F 565A 6F6F 6533
-6A33 71C2 71C5 71D6 7495 8951 87F3 9C4F 9C58 7065
-5342 8BAD 8BAF 4F28 6C5B 8FC5 4F9A 5F87 72E5 8FFF
-900A 6B89 8A0A 8A13 8A19 595E 5DFD 6BBE 905C 613B
-8CD0 5640 8548 9868 9442 4E2B 538B 5440 5E98 62BC
-9E26 6860 9E2D 5B72 94D4 690F 9D09 930F 9D28 58D3
-9D76 941A 7259 4F22 5C88 82BD 5393 6792 740A 7B0C
-869C 5810 5D15 5D16 6DAF 731A 7458 775A 8859 6F04
-9F56 758B 538A 5E8C 54D1 5516 555E 75D6 96C5 7602
-8565 529C 5720 4E9A 7A75 897E 8BB6 4E9C 72BD 8FD3
-4E9E 73A1 57AD 5A05 631C 7811 4FF9 6C29 57E1 5A6D
-6397 8A1D 63E0 6C2C 7330 8050 5714 7A0F 7AAB 9F7E
-54BD 6079 5266 70DF 73DA 80ED 5063 5D26 6DF9 7109
-83F8 9609 6E6E 814C 50BF 7159 9122 5AE3 6F39 852B
-5D96 6A2E 9183 95B9 5B2E 7BF6 61D5 81D9 9EEB 8BA0
-5186 5EF6 95EB 4E25 598D 82AB 8A00 8A01 5CA9 6616
-6CBF 708E 90D4 59F8 5A2B 72FF 7814 839A 5A2E 76D0
-7402 784F 8A2E 9586 960E 5D52 5D53 E863 7B75 7D96
-8712 5869 63C5 694C 8A7D 789E 8505 989C 8664 95BB
-53B3 6A90 984F 9854 56B4 58DB 5DCC 7C37 6AE9 9E99
-58E7 5B4D 5DD6 5DD7 5DDA 6B15 7939 9E7D 9EA3 5935
-6281 6C87 4E75 5156 5944 4FE8 5157 533D 5F07 884D
-5043 53A3 63A9 773C 8412 90FE 9153 5D43 611D 624A
-63DC 68EA 6E30 6E37 7430 9043 9692 693C 787D 7F68
-88FA 6F14 8917 622D 8758 9B47 565E 8EBD 7E2F 6ABF
-9EE1 53B4 7517 9C0B 9DA0 9EE4 9F5E 9F91 513C 9EEC
-9EED 9869 9F34 5DD8 66EE 9B58 9F39 9F74 9EF6 538C
-599F 89C3 726A 59F2 5F65 5F66 781A 5501 5BB4 664F
-8273 898E 9A8C 5050 639E 7114 8C1A 9681 55AD 5830
-6565 7130 7131 7312 786F 8455 96C1 693B 6EDF 9CEB
-53AD 5895 66A5 7196 917D 5B0A 8C33 990D 9D08 71C4
-71D5 8AFA 8D5D 9B33 66D5 9D33 9140 9A10 9A13 56A5
-E845 5B3F 8276 8D0B 8EC5 7213 91B6 9A34 9DC3 7054
-8D17 8D18 89FE 8B8C 91BC 995C 9A57 9DF0 8277 704E
-91C5 9A60 7067 8B9E 8C53 8C54 7069 592E 5489 59CE
-62B0 6CF1 6B83 80E6 770F 79E7 9E2F 9260 96F5 9785
-9348 9D26 626C 7F8A 9626 9633 65F8 6768 7080 4F6F
-52B7 6C1C 75A1 9496 98CF 579F 5F89 661C 6D0B 7F8F
-70CA 73DC 773B 967D 5D35 5D38 63DA 86D8 656D 6698
-694A 716C 7993 760D 8AF9 8F30 935A 9D39 98BA 940A
-9C11 9737 9E09 536C 4EF0 4F52 5771 594D 5C9F 517B
-70B4 6C27 75D2 7D3B 509F 6967 8EEE 6143 6C31 7FAA
-990A 99DA 61E9 6501 7001 7662 7922 600F 67CD 6059
-6837 7F95 8A47 69D8 6F3E 6A23 5E7A 592D 5406 5996
-6796 7945 8A1E 5593 847D 6946 8170 9D01 9080 723B
-5C27 5C2D 80B4 579A 59DA 5CE3 8F7A 5004 70D1 73E7
-7A91 509C 582F 63FA 6BBD 8C23 8EFA 55C2 5AB1 5FAD
-612E 6416 6447 733A 9059 9065 647F 669A 69A3 7464
-7476 929A 98D6 9906 5DA2 5DA4 5FBA 78D8 7AAF 7AB0
-991A 7E47 8B20 8B21 9390 9CD0 98BB 8628 9864 9C29
-4EF8 5B8E 5C86 62AD 6773 6B80 72D5 82ED 54AC 67FC
-7711 7A85 7A88 8200 5060 5A79 5D3E 6E94 84D4 699A
-9D22 95C4 9A15 9F69 9DD5 7A7E 836F 8981 888E 7A94
-7B44 846F 8A4F 718E 899E 977F 735F 9E5E 85AC 9F3C
-66DC 71FF 825E 85E5 77C5 66E3 8000 7E85 9DC2 8B91
-9470 503B 6930 668D 564E 6F71 882E 7237 8036 6353
-63F6 94D8 723A E84A 91FE 92E3 9381 64E8 4E5F 5414
-4EAA 51B6 57DC 91CE 5622 6F1C 58C4 4E1A 53F6 66F3
-9875 90BA 591C 62B4 4EB1 67BC 6D02 9801 6359 6654
-67BD 70E8 505E 6396 6DB2 8C12 5828 6B97 814B 8449
-9113 58B7 696A 696D 998C 50F7 66C4 66C5 6B4B 71C1
-64D6 64DB 76A3 77B1 9134 9765 5DAA 5DAB 6FB2 8B01
+5368 5A0E 5C51 5C53 505E 5070 5FA2 68B0 70F2 710E
+79BC 7D32 4EB5 5A9F 5C5F 6E2B 7D4F 7D6C 8C22 50C1
+586E 698D 69AD 8909 5667 5C67 66AC 7DE4 5DB0 5EE8
+61C8 6FA5 736C 7CCF 85A2 85A4 9082 97F0 71EE 893B
+8B1D 99F4 7009 97A2 7023 7215 7E72 87F9 880F 9F58
+9F5B 9F65 9F42 8E9E
+810B 5911
+5FC3 90A4 59A1 5FFB 82AF 8F9B 6615 677A 6B23 7098
+76FA 4FFD 60DE 8A22 920A 950C 65B0 6B46 5EDE 92C5
+5B1C 85AA 99A8 946B 99AB
+6794 8951 9414
+4F08
+9620 4F29 56DF 5B5E 4FE1 8ED0 812A 8845 8A2B 712E
+7161 99B8 9856 820B 91C1
+5FC4 567A
+661F 57B6 9A8D 60FA 7329 714B 7446 8165 86F5 89EA
+7BB5 7BC2 9B8F 66D0 89F2 935F 9A02 76A8 9BF9
+5211 884C 90A2 5F62 9649 4F80 90C9 578B 6D10 8365
+9498 9658 5A19 784E 94CF 9203 6ECE 9276 9292 92DE
+7772 9192 64E4
+5174 674F 59D3 5E78 6027 8347 5016 8395 5A5E 60BB
+6DAC 7DC8 8208 5B39 81D6
+54D8 88C4 8B03
+51F6 5144 5147 5308 8BBB 5FF7 6C79 54C5 605F 6D36
+80F7 80F8 8A29 8A7E 8CEF
+96C4 718A
+713D
+8BC7 7138 8A57 5910 657B
+4F11 4FE2 4FEE 54BB 5EA5 70CB 70CC 7F9E 8129 8119
+9E3A 81F9 8C85 9990 6A07 929D 9AE4 9AF9 9380 9D42
+93C5 9948 9C43 98CD
+82EC
+673D 6EEB 7D87 7CD4
+79C0 5CAB 5CC0 73DB 7EE3 8896 7407 9508 55C5 6EB4
+7493 890E 890F 92B9 8791 7E4D 7E61 93E5 93FD 9F45
+9BB4
+5401 620C 65F4 759E 76F1 6B28 80E5 987B 6647 8A0F
+987C 8657 865A 8C1E 5AAD 5E41 63DF 6E51 865B 88C7
+9808 6948 7AA2 980A 5618 589F 9700 9B46 5653 5B03
+6B54 7E03 8566 8751 8ADD 8B43 7E7B 9B56 9A49 9450
+9B1A
+4FC6 5F90 84A3
+8BB8 5474 59C1 8BE9 5194 6829 73DD 5066 8A31 668A
+8A61 7A30 9126 7CC8 9191 76E8
+65ED 4F35 5E8F 6C7F 82A7 4F90 5379 6034 6C80 53D9
+6064 662B 6D2B 57BF 6B30 6B88 70C5 73EC 52D6 654D
+6558 52D7 70FC 7EEA 7EED 9157 55A3 58FB 5A7F 6702
+6E86 7D6E 8A39 6149 7166 84C4 8CC9 69D2 6F35 6F4A
+76E2 7781 7DD2 805F 928A 735D 7A38 7DD6 9B63 85C7
+77B2 85DA 7E8C 9C6E
+8053 7D9A 84FF
+5405 8F69 660D 5BA3 5F32 8ED2 688B 8C16 55A7 5847
+5A97 6103 610B 63CE 8431 8432 6684 714A 7444 84D2
+777B 5107 79A4 7BAE 7E07 7FE7 8756 92D7 61C1 857F
+8AE0 8AFC 9379 99FD 77CE 7FFE 85FC 8610 8809 8B5E
+7384 73B9 75C3 60AC 65CB 7401 8701 5AD9 6F29 66B6
+7487 6A88 74BF 61F8
+54BA 9009 6645 70DC 9078 9848 7663 766C
+6030 6CEB 6621 70AB 7EDA 7729 88A8 94C9 7404 7734
+8852 6E32 7D62 6965 6966 9249 78B9 8519 955F 9799
+98B4 7E3C 7E4F 93C7 8B82 8D19
+9C1A
+524A 75B6 8486 9774 859B 8FA5 8FAA 97BE
+7A74 6588 4E74 5B66 5CA4 5CC3 8313 6CF6 8895 9E34
+8E05 58C6 5B78 5DA8 6FA9 71E2 89F7 96E4 9DFD
+96EA 9CD5 9C48
+8840 5437 5779 72D8 6856 8C11 8D90 8B14 7025
+81A4 6A30 825D 8F4C
+5743 52CB 57D9 7104 52DB 5864 718F 7AA8 8512 52F2
+52F3 85AB 99E8 58CE 736F 85B0 66DB 71FB 81D0 77C4
+860D 58E6 7E81 91BA
+5EF5 5BFB 65EC 5DE1 9A6F 674A 7543 8BE2 5CCB 6042
+6D35 6D54 7D03 8340 8368 6812 686A 6BE5 73E3 5071
+5C0B 5FAA 63D7 69C6 6F43 8A62 99B4 9129 9C9F 565A
+6F6F 6533 6A33 71D6 7495 87F3 9C4F 9C58 7065
+5342 8BAF 4F28 6C5B 8FC5 4F9A 5DFA 5F87 72E5 8FFF
+900A 6B89 8A0A 8A19 595E 5DFD 6BBE 7A04 905C 613B
+8CD0 5640 6F60 8548 9D55 720B 9868 9442
+8BAD 8A13 5691
+FDD0-0059
+4E2B 5727 538B 5416 5E98 62BC 6792 57AD 9E26 6860
+9E2D 57E1 5B72 690F 9D09 930F 9D28 58D3 9D76 941A
+7259 4F22 5391 5C88 82BD 5393 73A1 740A 7B0C 869C
+5810 5D15 5D16 6DAF 731A 7458 775A 8859 6F04 9F56
+538A 5E8C 54D1 5516 555E 75D6 96C5 7602 8565
+529C 5720 8F67 4E9A 897E 8BB6 4E9C 72BD 8FD3 4E9E
+8ECB 5A05 631C 7811 4FF9 6C29 5A6D 6397 8A1D 94D4
+63E0 6C2C 7330 8050 5714 7A0F 7AAB 9F7E
+4E5B 5440
+6079 5266 70DF 73DA 80ED 5063 5571 5D26 6DCA 6DF9
+7109 7111 83F8 9609 6E6E 7312 814C 7159 787D 9122
+5AE3 6F39 9183 95B9 5B2E 61E8 7BF6 61D5 81D9 9EEB
+8BA0 5EF6 4E25 598D 82AB 8A00 5CA9 6616 6CBF 708E
+90D4 59F8 5A2B 72FF 7814 839A 5A2E 76D0 7402 784F
+9586 960E 5D52 5D53 6E7A 7B75 7D96 8712 5869 63C5
+694C 8A7D 789E 8505 989C 53B3 8664 95BB 6A90 984F
+9854 56B4 58DB 5DCC 7C37 6AE9 9EEC 58E7 5B4D 5DD7
+5DD6 7939 9E7D 9EA3
+5935 6281 6C87 4E75 5156 5944 4FE8 5157 533D 5F07
+884D 5043 53A3 63A9 773C 8412 90FE 9153 5D43 611D
+624A 63DC 68EA 6E30 6E37 7430 9043 9692 693C 7F68
+88FA 6F14 8917 5D96 622D 8758 9B47 565E 8EBD 7E2F
+6ABF 9A13 9EE1 53B4 7517 9C0B 9DA0 9EE4 9F5E 9F91
+513C 9EED 9869 9F34 5DD8 5DDA 66EE 9B58 9F39 9F74
+9EF6
+538C 95EB 599F 89C3 726A 54BD 59F2 5F65 5F66 781A
+5501 5BB4 664F 70FB 8273 898E 9A8C 5050 7114 8C1A
+9681 55AD 5830 6565 7130 7131 786F 8455 96C1 50BF
+693B 6E8E 6EDF 9CEB 53AD 5895 66A5 917D 5B0A 8C33
+990D 9D08 71C4 71D5 8AFA 8D5D 9B33 66D5 9D33 9140
+9A10 56A5 5B3F 8276 8D0B 66E3 7213 91B6 9A34 9DC3
+7054 8D17 89FE 8B8C 91BC 995C 9A57 9DF0 8277 704E
+91C5 9A60 7067 8B9E 8C53 8C54 7069
+8A01 7196 6A2E 8EC5 6B15
+592E 5489 59CE 62B0 6CF1 6B83 80E6 770F 79E7 9E2F
+9260 96F5 9785 9D26
+626C 7F8A 9626 9633 65F8 6768 7080 98CF 4F6F 52B7
+6C1C 75A1 9496 579F 5F89 661C 6D0B 7F8F 70CA 73DC
+773B 967D 5D35 5D38 63DA 86D8 656D 6698 694A 716C
+7993 760D 8AF9 8F30 935A 9D39 98BA 940A 9C11 9737
+9E09
+4EF0 4F52 5771 5C9F 517B 67CD 70B4 6C27 75D2 7D3B
+509F 6967 8EEE 6143 6C31 8746 990A 99DA 61E9 6501
+7662
+600F 6059 6837 7F95 8A47 69D8 6F3E 6A23 7001
+594D 7FAA 7922
+5E7A 592D 5406 5996 6796 6B80 7945 8A1E 5593 847D
+6946 8170 9D01 9080
+723B 5C27 5C2D 80B4 579A 59DA 5CE3 8F7A 5004 70D1
+73E7 7A91 509C 582F 63FA 8C23 8EFA 55C2 5AB1 5FAD
+612E 6416 6447 733A 9059 9065 669A 69A3 7464 7476
+929A 98D6 9906 5DA2 5DA4 7AAF 7AB0 991A 7E47 8B20
+8B21 9390 9CD0 98BB 8628 908E 9864 9C29
+4EF8 5B8E 5C86 62AD 6773 72D5 82ED 54AC 67FC 7711
+7A85 7A88 8200 5060 5A79 5D3E 6E94 84D4 699A 9D22
+9F3C 95C4 9A15 9F69 9DD5
+7A7E 836F 8981 94A5 888E 7A94 7B44 846F 8A4F 718E
+899E 977F 735F 9E5E 85AC 66DC 71FF 825E 85E5 77C5
+8000 7E85 9DC2 8B91 9470
+503B 6396 6930 668D 564E 6F71 882E
+8036 6353 63F6 94D8 91FE 92E3 9381 64E8
+4E5F 5414 51B6 57DC 91CE 5622 6F1C 58C4
+4E1A 53F6 66F3 9875 66F5 90BA 591C 62B4 4EB1 67BC
+9801 6654 67BD 70E8 5558 6DB2 8C12 5828 6B97 814B
+8449 9113 58B7 696A 696D 998C 50F7 66C4 66C5 6B4B
+71C1 64DB 76A3 77B1 9134 9765 5DAA 5DAB 6FB2 8B01
 9923 5688 64EB 66D7 77B8 9371 64EA 7217 790F 9391
-9941 9D7A 9768 9A5C 9E08 81B6 5C83 4E00 5F0C 8FB7
-8864 4F0A 8863 533B 541A 58F1 4F9D 794E 54BF 6D22
-7317 7569 90FC 94F1 58F9 63D6 6B39 86DC 7995 5ADB
-6F2A 7A26 92A5 5B04 566B 5901 747F 9E65 7E44 6AB9
-6BC9 91AB 9EDF 8B69 9DD6 9EF3 4E41 4EEA 531C 572F
-5937 519D 5B90 675D 6C82 8BD2 4F87 5B9C 6021 6CB6
-72CB 886A 8FE4 9974 54A6 59E8 5CD3 5F2C 605E 67C2
-74F5 8351 8D3B 8FFB 5BA7 5DF8 6245 6818 684B 7719
-80F0 8898 914F 75CD 79FB 8413 5A90 692C 7FA0 86E6
-8A52 8CBD 9057 6686 6938 8A83 8DE0 9809 9890 98F4
-7591 5100 71AA 907A 5DAC 5F5B 5F5C 8794 9824 9825
-5BF2 5DB7 7C03 984A 9BA7 5F5D 5F5E 8B3B 93D4 7C4E
-89FA 8B89 9E03 4E59 5DF2 4EE5 8FC6 9487 4F41 653A
-77E3 82E1 82E2 5EA1 8223 8681 91D4 501A 6246 7B16
-9018 506F 5D3A 65D1 6905 9218 926F 9CE6 65D6 8F22
-657C 8798 6AA5 7912 8264 87FB 9857 8F59 9F6E 4E42
-4E49 4EBF 5F0B 5208 5FC6 827A 4EE1 5307 808A 8BAE
-9623 4EA6 4F07 5C79 5F02 5FD4 8285 4F3F 4F5A 52AE
-5453 5744 5F79 6291 66F5 6759 8034 82C5 8BD1 9091
-4F7E 546D 5479 59B7 5CC4 6008 603F 6613 678D 6CC6
-7088 79C7 7ECE 8BE3 9A7F 4FCB 5955 5E1F 5E20 5F08
-67BB 6D42 73B4 75AB 7FBF 8875 8F76 5508 57BC 6092
-6339 6827 683A 6B2D 6D65 6D73 76CA 88A3 8C0A 8CA4
-966D 52DA 57F6 57F8 6098 60A5 6BB9 7570 7F9B 7FCA
-7FCC 841F 8A32 8A33 8C59 8C5B 9038 91F4 96BF 5E46
-6561 6679 68ED 6B94 6E59 7132 86E1 8A4D 8DC7 8EFC
-9220 9AAE 4E84 517F 610F 6EA2 7348 75EC 7AE9 7F22
-7FA9 8084 88D4 88DB 8A63 52E9 5AD5 5ED9 698F 6F69
-7617 8189 84FA 8734 977E 99C5 5104 648E 69F8 6BC5
+9941 9D7A 9437 9768 9A5C 9E08
+7237 4EAA 723A
+4E00 4E4A 5F0C 4F0A 8863 533B 541A 58F1 4F9D 794E
+54BF 6D22 6098 7317 90FC 94F1 58F9 63D6 6B39 86DC
+7995 5ADB 6F2A 7A26 92A5 5B04 566B 5901 747F 9E65
+7E44 6AB9 6BC9 91AB 9EDF 8B69 9DD6 9EF3
+4E41 4EEA 531C 572F 5937 8FC6 519D 5B90 6C82 8BD2
+4F87 6021 6CB6 72CB 886A 8FE4 9974 54A6 59E8 5CD3
+605E 62F8 67C2 73C6 74F5 8D3B 8FFB 5BA7 5DF8 5F2C
+6245 6818 684B 7719 80F0 8898 8A11 8CA4 75CD 79FB
+801B 8413 51D2 7FA0 86E6 8A51 8A52 8CBD 9057 5A90
+6686 6938 8A83 8DE0 9809 9890 98F4 7591 5100 71AA
+7BB7 907A 5DAC 5F5B 5F5C 8794 9824 5BF2 5DB7 7C03
+984A 5F5D 5F5E 8B3B 93D4 89FA 8B89 9E03
+4E59 5DF2 4EE5 9487 4F41 653A 77E3 8094 82E1 82E2
+5EA1 8223 8681 91D4 501A 6246 7B16 9018 914F 506F
+5D3A 65D1 6905 926F 9CE6 88FF 65D6 8E26 8F22 657C
+8798 6AA5 7912 8264 87FB 9857 8F59 9F6E
+4E42 4E49 4EBF 5F0B 5208 5FC6 827A 808A 8BAE 4EA6
+4F07 5C79 5F02 8285 4F3F 4F5A 52AE 5453 5744 5F79
+6291 6759 8034 82C5 8BD1 9091 4F7E 546D 5479 5CC4
+6008 603F 6613 678D 6B25 6CC6 7088 79C7 7ECE 8BE3
+9A7F 4FCB 5955 5E1F 5E20 5F08 67BB 6D02 6D42 73B4
+75AB 7FBF 8875 8F76 5508 57BC 6092 6339 6359 6827
+683A 6B2D 6D65 6D73 76CA 88A3 8C0A 966D 52DA 57F6
+57F8 60A5 639C 6BB9 7570 785B 7F9B 7FCA 7FCC 8A32
+8A33 8C59 8C5B 9038 91F4 96BF 5E46 6561 6679 68ED
+6B94 6E59 7132 86E1 8A4D 8DC7 8EFC 9220 9AAE 4E84
+517F 610F 6EA2 7348 75EC 776A 7AE9 7F22 7FA9 8084
+88D4 88DB 8A63 52E9 5AD5 5ED9 698F 6F69 7617 8189
+84FA 8734 977E 99C5 5104 648E 69F8 6BC5
 71A0 71A4 71BC 761E 8ABC 9552 9E5D 9E62 9ED3 5293
 571B 58BF 5B11 5B1F 5DA7 61B6 61CC 66C0 6BAA 6FBA
 71DA 7631 7796 7A53 7E0A 8257 858F 87A0 8939 5BF1
-6581 66CE 6A8D 6B5D 71E1 71F1 7FF3 7FFC 81C6 8C96
+6581 66CE 6A8D 6B5D 71E1 71F1 7FF3 7FFC 81C6 8CF9
 9BA8 7654 85D9 85DD 8D00 93B0 9571 7E76 7E79 8C77
-972C 9BE3 9D82 9D83 9D8D 7037 8619 8B6F 8B70 91B3
-91B7 9950 56C8 943F 9DC1 9DCA 61FF 897C 9A5B 9DE7
-8649 9DFE 8B9B 9F78 4E5A 56D9 56E0 9625 9634 4F8C
-5794 59FB 6D07 8335 836B 97F3 9A83 6836 6BB7 6C24
-9670 51D0 79F5 88C0 94DF 967B 9682 5591 5819 5A63
-6114 7B43 7D6A 6B45 6EB5 798B 8491 852D 6147 7616
-92A6 78E4 7DF8 9787 8AF2 9712 99F0 567E 6FE6 95C9
-9720 97FE 5198 4E51 541F 72BE 82C2 65A6 57A0 6CFF
-5701 5CFE 70CE 72FA 73E2 7C8C 8376 8A14 552B 5A6C
-5BC5 5D1F 5D2F 6DEB 8A21 94F6 921D 9F82 6EDB 7892
-911E 5924 8529 8A1A 8ABE 9280 9F88 5656 6BA5 748C
-569A 6AAD 87EB 972A 9F57 9F66 9DE3 5EF4 5C39 5F15
-5432 996E 8693 9690 6DFE 91FF 920F 98F2 96A0 9777
-98EE 6704 8D9B 6A83 763E 96B1 5DBE 6FE5 87BE 861F
-6AFD 766E 8B94 5370 831A 6D15 80E4 57BD 6E5A 730C
-5ED5 9173 616D 764A 6196 6197 E857 9BA3 61DA 6ABC
-5E94 5FDC 82F1 5040 685C 73F1 83BA 5568 5A74 5A96
-6125 6E36 7EEC 6720 7150 745B 5AC8 78A4 9533 5624
-6484 6ECE 7507 7DD3 7F28 7F42 8767 8CCF 6A31 748E
-565F 7F43 892E 9719 9D2C 9E66 5B30 61C9 81BA 97FA
-7516 93A3 9E70 9DA7 56B6 5B46 5B7E 6516 7034 7F4C
-8621 6AFB 74D4 792F 8B7B 9DAF 944D 7E93 8833 9DEA
-8EC8 9DF9 9E0E 9E1A 76C1 8FCE 8314 76C8 8365 8367
-83B9 8424 8425 8426 86CD 55B6 6E81 6E8B 843E 50CC
-584B 6979 6EE2 84E5 6F46 7192 8747 7469 877F 5B34
-71DF 7E08 87A2 6FD9 6FDA 6FF4 85C0 89AE 8B0D 8D62
-5DC6 650D 651A 701B 7020 702F 8805 6AFF 7050 7C5D
-705C 8D0F 7C6F 77E8 90E2 6D67 68AC 988D 9895 9896
-646C 5F71 6F41 763F 7A4E 9834 5DCA 5EEE 941B 766D
-6620 668E 786C 5AB5 81A1 9795 7005 8B4D 54DF 5537
-55B2 4F63 62E5 75C8 9095 5EB8 50AD 55C8 9118 96CD
-5889 5ADE 6175 6EFD 69E6 7245 92BF 5670 58C5 64C1
-6FAD 90FA 955B 81C3 7655 96DD 93DE 9CD9 5EF1 7049
-9954 9C45 9DDB 7670 5581 9899 9852 9C2B 6C38 752C
-548F 603A 6CF3 4FD1 52C7 52C8 6810 57C7 6080 67E1
-6D8C 607F 509B 60E5 6111 6E67 7867 8A60 584E 5D71
-5F6E 6139 86F9 6142 8E0A 799C 9CAC 8E34 9BD2 7528
-82DA 783D 919F 4F18 5FE7 6538 5466 602E 6CD1 5E7D
-60A0 9E80 6EFA 6182 512A 913E 5698 61EE 7000 6ACC
-7E8B 8030 5C22 5C24 7531 6C8B 72B9 90AE 601E 6CB9
-80AC 6023 65BF 67DA 75A3 5CF3 6D5F 79DE 839C 83A4
-83B8 900C 90F5 94C0 5064 86B0 8A27 9030 6E38 7336
-904A 9C7F 6962 7337 923E 9C89 8F0F 99C0 8555 8763
-9B77 8F36 9B8B 6AFE 908E 53CB 6709 4E23 5363 82C3
-9149 7F91 5EAE 7F90 83A0 6884 8048 811C 94D5 6E75
-848F 7989 870F 92AA 69F1 7256 7257 9EDD 53C8 53F3
-5E7C 4F51 4F91 5B67 72D6 7CFF 54CA 56FF 59F7 5BA5
-5CDF 7270 7950 8BF1 8FF6 5500 688E 86B4 4EB4 8C81
-91C9 916D 8A98 9F2C 625C 7EA1 8FC2 8FC3 7A7B 9653
-7D06 8676 5539 6DE4 76D3 6E1D 7600 7B8A 4E8E 4E90
-4E88 9098 4F03 4F59 59A4 6275 6745 6B24 7397 7399
-65BC 76C2 81FE 8867 9C7C 4FDE 516A 79BA 7AFD 8201
-8330 8362 5A1B 5A2F 5A31 72F3 8C00 9151 9980 6E14
-8438 91EA 9683 9685 96E9 9B5A 5823 582C 5D33 5D4E
-5D5B 6109 63C4 6970 6E61 756C 756D 7862 8174 903E
-9AAC 611A 6961 6986 6B48 724F 745C 8245 865E 89CE
-6F01 E856 E85A 776E 7AAC 8206 8915 6B76 7FAD 854D
-8753 8ADB 96D3 9918 9B63 5B29 61D9 6F9E 89A6 8E30
-6B5F 74B5 87B8 8F3F 935D 7916 8B23 9AC3 9BBD 65DF
-7C45 9A1F 9BF2 9C05 9DE0 9E06 4E0E 4F1B 5B87 5C7F
-7FBD 96E8 4FC1 4FE3 6327 79B9 8BED 5704 5CFF 7964
-504A 532C 5709 5EBE 6554 9105 842D 842E 94FB 50B4
-5BD9 659E 6940 7440 7610 8207 8A9E 7AB3 92D9 9F89
-5673 5DBC 8C90 6594 9E8C 860C 9F6C 7389 9A6D 5401
-572B 807F 828B 828C 59AA 5FEC 996B 80B2 90C1 5F67
-6631 72F1 79D7 831F 4FFC 5CEA 682F 6D74 7821 94B0
-9884 5590 57DF 5809 6086 60D0 6B32 6DE2 6DEF 88AC
-8C15 9033 9608 5585 55A9 55BB 5A80 5BD3 5EBD 5FA1
-68DB 68DC 68EB 7134 7419 77DE 88D5 9047 98EB 99AD
-9E46 6108 6EEA 715C 7A22 7F6D 84AE 84E3 8A89 923A
-9810 5AD7 5D8E 622B 6BD3 7344 7609 7DCE 871F 872E
-8F0D 9289 96A9 564A 617E 7A36 84F9 8581 8C6B 9079
-92CA 9CFF 6FA6 71CF 71E0 8577 8AED 9325 95BE 9D25
-9D27 9D2A 5125 7907 79A6 9B4A 9E6C 7652 791C 7A65
-7BFD 7E58 91A7 9D52 6AF2 9947 861B 8B7D 8F5D 942D
-9731 6B0E 9A48 9B3B 7C5E 9C4A 9DF8 9E12 6B1D 8EC9
-9B30 9B31 706A 7C72 7229 56E6 9E22 5248 51A4 5F32
-6081 7722 9E33 5BC3 6E01 6E06 6E0A 6E15 60CC 6DF5
-847E 68E9 84AC 870E 9E53 7BA2 9CF6 8735 99CC 92FA
-9D1B 5B3D 9D77 7041 9F18 9F1D 5143 8D20 90A7 5458
-56ED 6C85 676C 57A3 7230 8C9F 539F 54E1 5706 7B0E
-8696 8881 53A1 915B 570E 63F4 6E72 7328 7F18 9228
-9F0B 5712 5713 586C 5AB4 5AC4 6E90 6E92 733F 7342
-849D 699E 69AC 8F95 7DE3 7E01 875D 876F 9B6D 571C
-6A7C 7FB1 8597 8788 8B1C 8F45 9EFF 93B1 6ADE 908D
-9A35 9DA2 9DB0 53B5 8FDC 76F6 903A 9060 5917 8099
-59B4 82D1 6028 9662 57B8 884F 5086 5A9B 63BE 7457
-7990 613F 88EB 8911 8924 566E 9858 66F0 66F1 7EA6
-7D04 7BB9 77F1 5F5F 5F60 6708 6209 5216 6C4B 5C84
-6288 793F 5CB3 6782 73A5 6071 94A5 6085 60A6 868E
-868F 8ECF 94BA 9605 6373 8DC0 8DC3 7CA4 8D8A 9205
-7CB5 925E 95B1 95B2 5B33 6A3E 7BD7 5DBD 9FA0 7C46
-7039 8625 9EE6 721A 79B4 8E8D 7C65 9E11 7C70 9FA5
-9E19 8480 7174 8495 7185 596B 8779 8D5F 9835 99A7
-8D07 4E91 52FB 5300 4F1D 544D 56E9 5998 62A3 6C84
-7EAD 82B8 6600 7547 7703 79D0 90E7 6DA2 7D1C 8018
-803A 9116 96F2 612A 6C32 6EB3 7B7C 84B7 6C33 7189
-6F90 8553 92C6 6A52 7BD4 7E1C 7E67 5141 962D 593D
-628E 72C1 73A7 9668 837A 6B92 5597 9217 9695 6B9E
-891E 99BB 78D2 9723 9F6B 9F73 5B55 8FD0 679F 90D3
-607D 6655 9106 915D 508A 60F2 6120 7F0A 904B 614D
-6688 816A 97EB 97F5 71A8 7DFC 8570 8574 7E15 8580
-8CF1 9196 919E 992B 85F4 97D7 97DE 860A 97FB 5E00
-531D 6C9E 5482 62F6 6CAF 685A 7D25 7D2E 9254 9B73
-81DC 81E2 6742 7838 97F4 96D1 78FC 894D 96DC 56D0
-96E5 707D 707E 753E 54C9 683D 70D6 83D1 6E3D 6EA8
-7775 8CF3 5BB0 8F7D 5D3D 8F09 518D 5728 6257 6D05
-50A4 9168 510E 7E21 5142 7CCC 7C2A 7C2E 9415 54B1
-507A 5592 661D 5BC1 648D 5127 6512 5139 6522 8DB1
-8DB2 6682 66AB 8CDB 8D5E 933E 913C 6FFD 8E54 9142
-74C9 8D0A 93E8 74D2 9147 56CB 7052 8B83 74DA 79B6
-8978 8B9A 9961 7242 7F98 8D43 8CCD 81E7 8CD8 8D13
-9AD2 8D1C 9A75 99D4 5958 5F09 810F 585F 846C 92BA
-81D3 81DF 50AE 906D 7CDF 8E67 91A9 51FF 947F 65E9
-67A3 6806 86A4 68D7 7485 6FA1 74AA 85BB 85FB 7076
-7681 7682 5515 5523 9020 688D 55BF 6165 7170 8241
-566A 7C09 71E5 7AC3 8B5F 8DAE 8E81 7AC8 556B 4F2C
-5219 629E 6CA2 62E9 6CCE 6CFD 8D23 8FEE 5247 5536
-5567 5E3B 7B2E 8234 8CAC 6EAD 77E0 5616 5AE7 5E58
-7BA6 8536 6A0D 6B75 8ACE 8D5C 64C7 6FA4 769F 7794
-7C00 802B 790B 8957 8B2E 8CFE 880C 9F5A 9F70 9E05
-4EC4 5928 5E82 6C44 6603 6617 6351 5D31 7A04 8D3C
-8CCA 9C97 8808 9C02 9C61 600E 8C2E 8B56 8B5B 56CE
-66FD 66FE 5897 912B 589E 618E 7F2F 6A67 71B7 7494
-77F0 78F3 7F7E 7E52 8B44 9C5B 9503 92E5 7511 8D60
-8D08 5412 8FCA 548B 62AF 6313 67E4 54F3 5067 55B3
-63F8 6E23 6EA0 6942 5284 76B6 7B9A 6A1D 89F0 76BB
-76BC 8B47 9F44 9F47 624E 672D 7534 8F67 8ECB 95F8
-86BB 94E1 7160 7250 9598 9705 9358 8B57 538F 82F2
-7728 781F 6429 9C8A 9C9D 8E37 9B93 9BBA 4E4D 7079
-8BC8 54A4 5953 67F5 6805 70B8 5BB1 75C4 86B1 8A50
-643E 6463 69A8 81AA 91A1 5908 7C82 635A 658B 658E
-658F 6458 69B8 9F4B 5B85 7FDF 7A84 9259 503A 7826
-50B5 5BE8 7635 6CBE 6BE1 65C3 6834 7C98 86C5 98E6
-60C9 8A40 8D88 8A79 959A 8C35 5661 5DA6 6FB6 859D
-9085 9711 6C08 6C0A 77BB 9E6F 65DC 8B6B 9958 9CE3
-9A59 9B59 9C63 9E07 8B9D 62C3 65A9 98D0 5C55 76CF
-5D2D 65AC 7416 640C 76DE 5D83 5D84 6990 8F97 98AD
-5AF8 9186 6A4F 8E4D 8F3E 76BD 9EF5 5360 4F54 6218
-6808 685F 7AD9 5061 7EFD 83DA 68E7 6E5B 6226 7DBB
-5D98 8F1A 9AA3 6230 8665 8666 89B1 8F4F 8638 9A4F
-5F20 5F21 5F35 7AE0 50BD 9123 5ADC 5F70 615E 6F33
-7350 7CBB 8501 9067 66B2 6A1F 748B 9926 87D1 93F1
-9A3F 9C46 9E9E 4EC9 6DA8 6DB1 638C 6F32 5E65 7903
-979D 9423 4E08 4ED7 6259 5E10 6756 80C0 8D26 7C80
-5E33 8139 75EE 969C 5887 5D82 5E5B 8CEC 762C 7634
-7795 4F4B 948A 59B1 5DF6 62DB 662D 70A4 76C4 91D7
-5541 924A 99CB 7ABC 9363 722B 627E 6CBC 7475 53EC
-5146 8BCF 679B 5797 72E3 8D75 7B0A 8081 65D0 68F9
-7F40 8A54 7167 7F69 7B8C 8087 8088 8D99 66CC 71F3
-9BA1 6AC2 77BE 7F84 8707 5AEC 906E 5387 6298 6B7D
-77FA 7813 7C77 8674 54F2 57D1 7C8D 88A9 5560 608A
-6662 6663 8F84 5586 68CF 86F0 8A5F 8C2A 647A 8F12
-6A00 78D4 8F19 92B8 8F99 87C4 569E 8B2B 8B3A 9BBF
-8F4D 8B81 8975 8B8B 8005 9517 8D6D 8936 937A 8FD9
-67D8 6D59 9019 6DDB 55FB 8517 6A1C 9E67 87C5 9DD3
-8D1E 9488 4FA6 6D48 73CD 73CE 8C9E 5E2A 6815 6862
-771E 771F 7827 796F 91DD 5075 6552 686D 9159 5BCA
-6E5E 8474 9049 6438 659F 6968 7349 7504 798E 8496
-84C1 9241 9755 699B 69C7 6B9D 7467 78AA 799B 6F67
-7BB4 6A3C 6FB5 81FB 85BD 9331 8F43 9356 937C 7C48
-9C75 5C52 8BCA 62AE 6795 59EB 5F2B 6623 80D7 8F78
-755B 75B9 7715 8897 7D3E 8044 8419 88D6 8999 8A3A
-8EEB 5AC3 7F1C 7A39 99D7 7E1D 7E25 8FB4 9B12 9EF0
-5733 9635 7EBC 4FB2 630B 9663 9E29 632F 6715 681A
-7D16 7739 8D48 5866 63D5 7D7C 8704 6576 8AAB 8CD1
-92F4 9547 9707 9D06 93AD 93AE 9EEE 51E7 4E89 4F42
-59C3 5F81 6014 722D 5CE5 6323 70A1 72F0 E853 70DD
-7710 94B2 57E9 5D1D 5D22 6399 7319 7741 8047 94EE
-5A9C 63C1 7B5D 5FB0 775C 84B8 9266 5FB4 7B8F 5FB5
-E851 8E2D 7BDC 931A 9B07 7665 6C36 628D 7CFD 62EF
-639F 5863 6678 6138 649C 6574 6B63 32A3 8BC1 8BE4
-90D1 5E27 653F 75C7 5E40 8A3C 912D 8ACD 9D0A 8B49
-4E4B 652F 536E 6C41 829D 5431 5DF5 6C65 679D 77E5
-7EC7 80A2 5F94 6800 7957 79D3 79D6 80D1 80DD 8879
+972C 9BE3 9D82 9D83 7037 8619 8B6F 8B70 91B3 91B7
+9950 56C8 943F 9DC1 9DCA 61FF 897C 9A5B 9DE7 8649
+9DFE 8B9B 9F78
+8FB7 5307 8864 5B9C 7569 841F 692C 9D8D 7C4E
+56D9 56E0 9625 9634 4F8C 5794 59FB 6D07 8335 836B
+97F3 9A83 6836 6BB7 6C24 9670 51D0 79F5 88C0 94DF
+967B 9682 5591 5819 5A63 6114 7B43 7D6A 6B45 6EB5
+798B 852D 6147 647F 7616 92A6 7DF8 9787 8AF2 9712
+99F0 567E 95C9 9720 97FE
+5198 4E51 541F 72BE 82C2 65A6 70CE 57A0 6CFF 5701
+5CFE 72FA 73E2 8376 8A14 8A1A 5A6C 5BC5 5D1F 5D2F
+6DEB 8A21 94F6 921D 9F82 6EDB 7892 911E 5924 8529
+9280 5656 6BA5 748C 8ABE 569A 6AAD 87EB 972A 9F57
+9DE3
+4E5A 5EF4 5C39 5F15 5432 996E 8693 8D7A 9690 6DFE
+920F 98F2 96A0 9777 98EE 6704 8F11 78E4 8D9B 6A83
+763E 96B1 5DBE 6FE5 6FE6 87BE 861F 6AFD 766E 8B94
+5370 831A 6D15 80E4 57BD 5837 6E5A 730C 5ED5 8491
+9173 616D 764A 6196 6197 9BA3 61DA 6ABC
+7C8C
+5E94 5FDC 82F1 5040 685C 83BA 5568 5A74 5A96 6E36
+7EEC 6720 7150 745B 5AC8 78A4 9533 5624 6484 7507
+7DD3 7F28 7F42 8767 8CCF 6A31 748E 7F43 892E 9348
+9719 9D2C 9E66 5B30 61C9 81BA 97FA 7516 9E70 9D91
+9DA7 56B6 5B46 5B7E 6516 7F4C 8621 8B4D 6AFB 74D4
+792F 8B7B 9DAF 944D 7E93 8833 9DEA 9DF9 9E0E 9E1A
+76C1 8FCE 8314 76C8 8367 83B9 55B6 8424 8425 8426
+86CD 6E81 6E8B 843E 50CC 584B 6979 6EE2 84E5 6F46
+7192 7469 877F 5B34 71DF 7E08 87A2 6FD9 6FDA 6FF4
+85C0 89AE 8B0D 8D62 7005 93A3 650D 701B 7020 702F
+6AFF 7034 8D0F 7C5D 7C6F
+77E8 90E2 6D67 68AC 988D 9895 9896 646C 5F71 6F41
+7484 763F 7A4E 9834 5DCA 5EEE 766D
+6620 668E 786C 5AB5 81A1 565F 9795 941B 9C66
+73F1 6125 8747 7E04 651A 8805 7050 705C 8EC8
+54DF 5537 55B2
+4F63 62E5 75C8 9095 5EB8 50AD 55C8 9118 96CD 5889
+5ADE 6175 6EFD 69E6 5670 58C5 64C1 6FAD 90FA 955B
+81C3 7655 96DD 93DE 9CD9 5EF1 7049 9954 9C45 9DDB
+7670
+5581 63D8 7245 9899 9852 9C2B
+6C38 752C 548F 6CF3 4FD1 52C7 52C8 6810 57C7 6080
+67E1 6D8C 607F 509B 60E5 6111 6E67 7867 8A60 584E
+5D71 5F6E 6139 86F9 6142 8E0A 799C 9CAC 8E34 9BD2
+7528 82DA 919F
+603A 783D
+4F18 5FE7 6538 5466 602E 6CD1 5E7D 900C 60A0 9E80
+6EFA 6182 512A 913E 5698 7000 6ACC 7E8B 8030
+5C22 5C24 7531 6C8B 72B9 90AE 6CB9 80AC 6023 65BF
+75A3 5CF3 6D5F 79DE 839C 83B8 90F5 94C0 5064 86B0
+8A27 9030 6E38 7336 904A 9C7F 6962 7337 923E 9C89
+8F0F 99C0 8555 8763 9B77 8F36 9B8B 6AFE
+6709 4E23 5363 82C3 9149 7F91 5EAE 682F 7F90 83A0
+6884 8048 811C 94D5 6E75 7989 870F 92AA 69F1 7256
+9EDD 61EE
+53C8 53F3 5E7C 4F51 4F91 72D6 7CFF 54CA 56FF 59F7
+5BA5 5CDF 67DA 7270 7950 8BF1 8FF6 5500 86B4 4EB4
+8C81 91C9 916D 8A98 9F2C
+53CB 5B67 848F 7257
+625C 7EA1 8FC2 8FC3 7A7B 9653 7D06 8676 5539 6DE4
+76D3 6BFA 7600 7B8A
+4E90 4E8E 9098 4F03 4F59 59A4 6275 6745 6B24 7397
+7399 65BC 76C2 81FE 8867 9C7C 4E7B 4FDE 516A 79BA
+7AFD 8201 8330 5A1B 5A2F 5A31 6859 72F3 8C00 9151
+9980 6E14 8438 9685 96E9 9B5A 5823 582C 5D33 5D4E
+5D5B 6109 63C4 6970 6E1D 6E61 756D 7862 8174 842E
+903E 9AAC 611A 65D5 6961 6986 6B48 724F 745C 8245
+865E 89CE 6F01 776E 7AAC 8206 8915 6B76 7FAD 854D
+8753 8ADB 96D3 9918 5B29 6F9E 89A6 8E30 6B5F 74B5
+87B8 8F3F 935D 8B23 9AC3 9BBD 65DF 7C45 9A1F 861B
+9C05 9DE0 9E06
+4E0E 4E88 4F1B 5B87 5C7F 7FBD 96E8 4FC1 4FE3 79B9
+8BED 5704 5CFF 7964 504A 532C 5709 5EBE 6554 9105
+659E 842D 50B4 5BD9 6940 7440 7610 8207 8A9E 7AB3
+92D9 9828 9F89 5673 5DBC 61D9 8C90 6594 9E8C 860C
+9F6C
+8080 7389 9A6D 572B 807F 828B 828C 59AA 5FEC 996B
+80B2 90C1 6631 72F1 79D7 831F 4FFC 5CEA 5F67 6D74
+7821 94B0 9884 5590 57DF 5809 6086 60D0 6B32 6DE2
+6DEF 8C15 9033 9608 5585 55A9 55BB 5A80 5BD3 5EBD
+5FA1 68DB 68DC 68EB 7134 7419 77DE 7872 88D5 9047
+98EB 99AD 9E46 6108 6EEA 715C 7A22 7F6D 8248 84AE
+84E3 8A89 923A 9810 5AD7 5D8E 622B 6BD3 7344 7609
+7DCE 871F 872E 8F0D 9289 564A 617E 6F4F 7A36 84F9
+8581 8C6B 9079 92CA 9CFF 6FA6 71CF 71E0 8577 8AED
+9325 95BE 9D25 9D2A 5125 7907 79A6 9B4A 9E6C 7652
+7916 791C 7A65 7BFD 7E58 91A7 9D52 6AF2 9947 8B7D
+8F5D 942D 9731 6B0E 9A48 9B3B 7C5E 9C4A 9DF8 9E12
+6B1D 9FA5 8EC9 9B30 9B31 706A 7C72 7229
+6327 8362 6F9A 9BF2
+56E6 9E22 5248 51A4 6081 7722 9E33 5BC3 6E01 6E06
+6E0A 6E15 60CC 6DF5 847E 68E9 84AC 870E 88F7 9E53
+7BA2 9CF6 8735 99CC 9D1B 5B3D 9D77 7041 9F18 9F1D
+5143 5186 8D20 90A7 5458 56ED 6C85 676C 57A3 7230
+8C9F 539F 54E1 5706 7B0E 8696 8881 53A1 570E 63F4
+6E72 7328 7F18 8312 9F0B 5712 5713 586C 5AB4 5AC4
+6E90 6E92 733F 7342 849D 699E 69AC 8F95 7DE3 7E01
+875D 876F 9B6D 6A7C 7FB1 8597 8788 8B1C 8F45 9EFF
+93B1 6ADE 908D 9A35 9DA2 9DB0 53B5
+8FDC 76F6 903A 9060 92FA
+5917 8099 59B4 82D1 6028 9662 57B8 884F 5086 5A9B
+63BE 7457 7990 613F 88EB 8911 8924 566E 9858
+915B 9228
+66F0 66F1 7EA6 7D04 7BB9 77F1 5F5F 5F60
+6708 6209 5216 599C 5C84 6288 793F 5CB3 73A5 6071
+6085 60A6 868E 868F 8ECF 94BA 9605 6373 8DC0 8DC3
+7CA4 8D8A 9205 7CB5 925E 95B1 95B2 5B33 6A3E 7BD7
+5DBD 9FA0 7C46 7039 8625 9EE6 721A 79B4 8E8D 7C65
+9E11 7C70 9E19
+6655 7F0A 8480 6688 6C32 7174 8495 6C33 596B 8779
+7E15 8D5F 9835 99A7 8D07
+4E91 52FB 5300 56E9 5998 6C84 7EAD 82B8 6600 7547
+7703 79D0 90E7 6DA2 7D1C 8018 803A 9116 96F2 612A
+6EB3 7B60 7B7C 84B7 69B2 7189 6F90 8553 92C6 6A52
+7BD4 7E1C 9942
+5141 962D 593D 628E 72C1 9668 837A 6B92 5597 9217
+9695 6B9E 891E 99BB 78D2 8CF1 9723 9F73
+5B55 8FD0 679F 90D3 607D 9106 915D 508A 60F2 6120
+904B 614D 816A 97EB 97F5 7185 71A8 7DF7 7DFC 8574
+8580 9196 919E 992B 85F4 97D7 97DE 860A 97FB
+62A3 7E67
+FDD0-005A
+5E00 531D 6C9E 8FCA 5482 62F6 7D25 7D2E 9254 9B73
+81DC 81E2
+6742 7838 507A 5592 97F4 96D1 5DBB 78FC 894D 96DC
+56CB 56D0 96E5
+548B
+707D 707E 753E 54C9 683D 70D6 83D1 6E3D 7775 8CF3
+5BB0 5D3D
+518D 5728 6257 4FA2 6D05 8F7D 50A4 8F09 9168 510E
+7E21
+5142 7CCC 7C2A 7C2E 9415 941F
+54B1
+661D 6CAF 685A 5BC1 63DD 5646 648D 5127 6505 6512
+5139 6522 8DB1 7938 8DB2
+6682 66AB 8CDB 8D5E 933E 913C 6FFD 8E54 74C9 8D0A
+93E8 74D2 9147 7052 8B83 74DA 79B6 8978 8B9A 9961
+5328 7242 7F98 8D43 8CCD 81E7 8535 8CD8 8D13 9AD2
+8D1C
+9A75 99D4
+5958 5F09 810F 585F 846C 92BA 81D3 81DF
+50AE 906D 7CDF 8E67 91A9
+51FF 947F
+65E9 67A3 86A4 68D7 6FA1 74AA 85BB 7E70 85FB
+7076 7681 7682 5515 5523 9020 688D 55BF 6165 8241
+566A 7C09 71E5 7AC3 8B5F 8DAE 8E81 7AC8
+6806
+5219 629E 6CA2 62E9 6CCE 6CFD 8D23 8FEE 5247 835D
+5536 5567 5E3B 7B2E 8234 8CAC 6EAD 77E0 5616 5AE7
+5E58 7BA6 6A0D 8ACE 8D5C 64C7 6FA4 769F 7794 7C00
+790B 8957 8B2E 8CFE 880C 9F5A 9F70 9E05
+5928 4EC4 5E82 6C44 6603 6617 6351 5D31
+4F2C 8536
+8D3C 621D 8CCA 9C97 9BFD 8808 9C02 9C61
+600E
+8C2E 8B56 8B5B
+56CE
+5897 912B 589E 618E 7F2F 6A67 71B7 7494 77F0 78F3
+7F7E 7E52 8B44
+9503 92E5 7511 8D60 8D08
+9C5B
+624E 5412 62AF 5953 6313 67E4 67FB 54F3 5067 55B3
+63F8 6E23 6942 5284 6463 76B6 6A1D 89F0 76BB 8B47
+9F44 9F47
+672D 7534 95F8 86BB 94E1 7160 7250 9598 7B9A 802B
+9358 8B57
+538F 62C3 82F2 7728 781F 6429 9C8A 9C9D 8E37 9B93
+9BBA
+4E4D 7079 8BC8 54A4 67DE 6805 70B8 5BB1 75C4 86B1
+6EA0 8A50 643E 69A8 9705 91A1
+635A 658B 658E 6458 69B8 9F4B
+5B85 6AA1
+7A84 9259
+503A 7826 50B5 5BE8 7635
+5908 7C82
+6CBE 6BE1 65C3 6834 7C98 86C5 98E6 60C9 8A40 8D88
+8A79 959A 8C35 5661 5DA6 859D 9085 9711 6C08 6C0A
+77BB 9E6F 65DC 8B6B 9958 9CE3 9A59 9B59 9C63 9E07
+8B9D
+65A9 98D0 5C55 76CF 5D2D 65AC 692B 7416 640C 76DE
+5D83 5D84 6990 98AD 5AF8 9186 6A4F 8F3E 9EF5
+5360 4F54 6218 6808 685F 7AD9 5061 7EFD 83DA 68E7
+6E5B 6226 7DBB 5D98 8F1A 6230 8665 8666 89B1 8F4F
+8B67 8638 9A4F
+5F20 5F35 7AE0 50BD 9123 5887 5ADC 5F70 615E 6F33
+7350 7CBB 8501 9067 66B2 6A1F 748B 9926 87D1 9A3F
+9C46 9E9E
+4EC9 957F 9577 6DA8 638C 6F32 7903
+4E08 4ED7 6259 5E10 6756 80C0 8D26 5E33 6DB1 8139
+75EE 969C 5D82 5E5B 8CEC 762C 7634 7795
+7C80 5E65 93F1 9423
+4F4B 948A 59B1 5DF6 62DB 662D 76C4 91D7 5541 924A
+99CB 7ABC 9363 76BD
+722A 627E 6CBC 7475
+53EC 5146 8BCF 679B 5797 70A4 72E3 8D75 7B0A 8081
+65D0 68F9 8A54 7167 7F69 8087 8088 8D99 66CC 71F3
+9BA1 6AC2 77BE 7F84
+722B 7F40
+8707 55FB 5AEC 906E
+5387 6298 6B7D 77FA 7813 7C77 8674 54F2 57D1 7C8D
+88A9 5560 608A 6662 6663 8F84 5586 86F0 8A5F 8C2A
+99B2 647A 8F12 78D4 8F19 92B8 8F99 87C4 569E 8B2B
+8B3A 9BBF 8F4D 8B81 8B8B
+8005 4E7D 556B 7987 9517 8D6D 8936 8975
+8FD9 67D8 6D59 9019 6DDB 6A1C 6F6A 9E67 87C5 9DD3
+7740 8457 8517
+8D1E 9488 4FA6 6D48 73CD 73CE 80D7 8C9E 5E2A 6815
+6862 771E 771F 7827 796F 91DD 5075 686D 9159 5BCA
+8474 9049 5AC3 6438 659F 6968 7349 7504 798E 8496
+84C1 9241 9755 699B 6B9D 7467 78AA 799B 6F67 7BB4
+6A3C 6FB5 81FB 85BD 9331 8F43 937C 7C48 9C75
+8BCA 62AE 6795 5F2B 6623 8F78 5C52 755B 75B9 7715
+8897 7D3E 8044 88D6 8A3A 8EEB 7D7C 7F1C 7A39 99D7
+7E25 9B12 9EF0
+5733 9635 7EBC 753D 4FB2 630B 9663 9E29 632F 6715
+681A 7D16 7739 8D48 9156 5866 63D5 6576 7471 8AAB
+8CD1 9547 9707 9D06 93AD 93AE
+8419 92F4
+4E89 4F42 59C3 5F81 6014 722D 8BE4 57E9 5CE5 6323
+70A1 72F0 70DD 7710 94B2 5D1D 5D22 6399 7319 7741
+8047 94EE 5A9C 63C1 7B5D 5FB0 84B8 775C 8E2D 9266
+5FB4 7B8F 931A 5FB5 7BDC 9B07 9BD6 7665
+6C36 628D 7CFD 62EF 639F 6678 6138 649C 6574
+6B63 8BC1 90D1 5E27 653F 75C7 5E40 8A3C 5863 8ACD
+912D 9D0A 8B49
+51E7
+4E4B 652F 536E 6C41 829D 5431 5DF5 6C65 5767 679D
+6CDC 77E5 7EC7 80A2 6800 7957 79D3 79D6 80D1 80DD
 887C 5001 75B7 796C 79EA 8102 96BB 6894 6220 6925
-81F8 6418 7994 7D95 69B0 8718 99B6 9CF7 8B22 9D32
-7E54 8635 9F05 79B5 6267 4F84 5767 76F4 59EA 5024
-503C 8040 8041 91DE 57F4 57F7 804C 690D 6B96 7983
-7D77 8DD6 74E1 588C 646D 99BD 5B02 6179 6F10 8E2F
-6A34 81B1 7E36 8077 87D9 8E60 8E62 8EC4 8E91 5902
-6B62 53EA 51EA 52A7 65E8 962F 5740 5741 5E0B 627A
-6C66 6C9A 7EB8 82B7 62A7 7949 830B 54AB 6049 6307
-67B3 6D14 780B 8F75 6DFD 75BB 7D19 8A28 8DBE 8EF9
-9EF9 916F 85E2 8967 9624 81F3 8296 5FD7 5FEE 627B
-8C78 5236 5394 5781 5E19 5E1C 6CBB 7099 8D28 90C5
-4FE7 5CD9 5EA2 5EA4 6303 67E3 6809 6D37 7951 965F
-5A21 5F8F 631A 664A 684E 72FE 79E9 81F4 889F 8D3D
-8F7E 4E7F 506B 5F9D 63B7 68BD 7318 7564 75D4 79F2
-79F7 7A92 7D29 7FD0 88A0 89D7 8CAD 94DA 9E37 5082
-5D3B 5F58 667A 6EDE 75E3 86ED 9A98 5BD8 5ECC 6431
-6ECD 7A19 7A1A 7B6B 7F6E 8DF1 8F0A 9527 96C9 5886
-69DC 6EEF 6F4C 7590 7608 88FD 899F 8A8C 928D 5E5F
-6184 646F 6F6A 71AB 7A3A 81A3 89EF 8CEA 8E2C 92D5
-65D8 7004 7DFB 96B2 99E4 9D19 5128 5295 61E5 64F2
-64FF 6ADB 7A49 87B2 61EB 8D04 6ACD 74C6 89F6 9A2D
-9BEF 7929 8C51 9A3A 9A47 8E93 9DD9 9455 8C52 4E2D
-4F00 6C77 5223 5990 5F78 8FDA 5FE0 6CC8 7082 7EC8
+81F8 6418 7994 7A19 7D95 69B0 8718 99B6 9CF7 9D32
+9D44 7E54 8635 9F05
+6267 4F84 59B7 76F4 59EA 5024 503C 8040 91DE 57F4
+57F7 6DD4 804C 8CAD 690D 6B96 7286 7983 7D77 8901
+8DD6 55ED 74E1 9244 588C 646D 99BD 5B02 6179 6F10
+8E2F 6A34 81B1 5128 7E36 8077 87D9 8E60 8EC4 8E91
+5902 6B62 53EA 52A7 65E8 962F 5740 5741 5E0B 627A
+6C66 6C9A 7EB8 82B7 603E 62A7 7949 54AB 6049 6307
+67B3 6D14 780B 8879 8F75 6DFD 75BB 7D19 8A28 8DBE
+8EF9 9EF9 916F 85E2 8967
+9624 81F3 8296 5FD7 5FEE 627B 8C78 5236 5394 5781
+5E19 5E1C 6CBB 7099 8D28 8FE3 90C5 5CD9 5EA2 5EA4
+6303 67E3 6809 6D37 7951 965F 5A21 5F8F 631A 664A
+684E 72FE 79E9 81F4 889F 8D3D 8F7E 4E7F 506B 5F9D
+63B7 68BD 6956 7318 7564 75D4 79F2 79F7 7A92 7D29
+7FD0 88A0 89D7 94DA 9E37 5082 5D3B 5F58 667A 6EDE
+75E3 86ED 8EFD 9A98 5BD8 5ECC 6431 6ECD 7A1A 7B6B
+7F6E 8DF1 8F0A 9527 96C9 5886 6EEF 6F4C 7590 88FD
+899F 8A8C 928D 5E5F 6184 646F 71AB 7A3A 81A3 89EF
+8CEA 8E2C 92D5 64F3 65D8 7004 7DFB 99E4 9D19 5295
+61E5 64F2 6ADB 7A49 87B2 61EB 8D04 6ACD 74C6 89F6
+9A2D 9BEF 7929 8C51 9A3A 9A47 8E93 9DD9 9455 8C52
+51EA 4FE7 5F94 8B22
+4E2D 4F00 6C77 5223 5990 5F78 5FE0 6CC8 7082 7EC8
 67CA 76C5 8873 949F 822F 8877 7D42 9221 5E52 8520
-953A 87A4 9D24 87BD 937E 9F28 8E71 9418 7C66 80BF
-79CD 51A2 55A0 5C30 585A 6B71 7144 816B 7607 7A2E
-8E35 4EF2 4F17 5995 72C6 794C 794D 833D 8876 91CD
-869B 5045 773E 5839 5A91 7B57 8846 8AE5 5DDE 821F
-8BCC E81B E81A 4F9C 5468 6D00 6D32 70BF 8BEA 70D0
-73D8 8F80 90EE 5A64 5F9F 6DCD 77EA 9031 9E3C 558C
-7CA5 8D52 8F08 9282 8CD9 8F16 970C 99F2 568B 76E9
-8B05 9D43 9A06 8B78 59AF 8F74 8EF8 78A1 8098 5E1A
-759B 83F7 666D 776D 7B92 9BDE 7EA3 4F37 546A 5492
-5B99 7EC9 E825 E824 5191 54AE 663C 7D02 80C4 836E
-665D 76B1 914E 7C99 8464 8A4B 7503 50FD 76BA 99CE
-5663 7E10 9AA4 7C40 7C55 7C52 9A5F 6731 52AF 4F8F
-8BDB 90BE 6D19 8331 682A 3231 73E0 8BF8 732A 7843
-88BE 94E2 7D51 86DB 8A85 8DE6 69E0 6F74 876B 9296
-6A65 8AF8 8C6C 99EF 9BA2 9D38 7026 85F8 6AE7 6AEB
-9F04 9BFA 8829 7AF9 6CCF 7AFA 70A2 7B01 833F 70DB
-7A8B 9010 7B1C 8233 7603 84EB 71ED 880B 8E85 9C41
-529A 5B4E 705F 65B8 66EF 6B18 7225 883E 9483 4E36
-4E3B 5B94 62C4 782B 7F5C 967C 6E1A 7151 716E 8A5D
-5631 6FD0 9E88 77A9 5C6C 56D1 77DA 4F2B 4F47 4F4F
-52A9 7EBB 82A7 82CE 577E 677C 6CE8 82E7 8D2E 8FEC
-9A7B 58F4 67F1 67F7 6BB6 70B7 795D 75B0 771D 7969
-7ADA 8387 79FC 7D35 7D38 7F9C 8457 86C0 5D40 7B51
-8A3B 8CAF 8DD3 8EF4 94F8 7B6F 9252 98F3 99B5 58B8
-7BB8 7FE5 6A26 92F3 99D0 7BC9 7BEB 9714 9E86 9444
-6293 6A9B 81BC 7C3B 9AFD 722A 62FD 8DE9 4E13 53C0
-5C02 7816 5C08 911F 5AE5 747C 750E 819E 989B 78DA
-8AEF 87E4 9853 9C44 8F6C E83F 5B68 8EE2 7AF1 8F49
-7077 556D 581F 8483 7451 50CE 8D5A 64B0 7BC6 9994
-7E33 8948 8CFA 8B54 994C 56C0 7C51 5986 5E84 599D
-5E92 8358 5A24 6869 838A 6E77 7CA7 88C5 88DD 6A01
-7CDA 4E2C 58EE 58EF 72B6 72C0 58F5 6889 710B 5E62
-649E 6205 96B9 8FFD 9A93 690E 9525 9310 9A05 9D7B
-6C9D 5760 7B0D 5A37 7F00 60F4 7500 7F12 7577 787E
-8187 589C 7DB4 8D58 7E0B 8AC8 918A 9323 991F 7908
-8D05 8F5B 9446 5B92 8FCD 80AB 7A80 8C06 8AC4 8860
-51C6 57FB 51D6 6E96 7DA7 8A30 7A15 5353 62D9 70AA
-502C 6349 684C 68C1 6DBF 68F3 7438 7AA7 69D5 7A5B
-7A71 883F 5734 5F74 72B3 707C 53D5 59B0 8301 65AB
-6D4A 4E35 6D5E 70F5 8BFC 914C 5544 5545 5A3A 68B2
-7740 65AE 666B 6913 7422 65B1 787A 7AA1 7F6C 64AF
-64C6 65B2 799A 5285 8AC1 8AD1 92DC 6FC1 7BE7 64E2
-6580 65B5 6FEF 6AE1 8B36 956F E84D 942F 9D6B 7042
-8817 9432 7C57 9DDF 7C71 4ED4 5B56 5B5C 830A 5179
-54A8 59D5 59FF 8332 6825 7386 7D0E 8D40 8D44 5D30
-6DC4 79F6 7F01 8C18 8D7C 55DE 5B73 5D6B 6914 6E7D
-6ECB 7CA2 8458 8F8E 9111 5B76 798C 89DC 8CB2 8CC7
-8D91 9531 7A35 7DC7 922D 9543 9F87 8F1C 9F12 6FAC
-8AEE 8DA6 8F3A 9319 9AED 9CBB 937F 93A1 983E 983F
-9BD4 9D85 9F4D 9C26 9F5C 7C7D 5B50 5407 59C9 59CA
-674D 77F7 79C4 80CF 5470 79ED 8014 8678 7B2B 6893
-91E8 5559 7D2B 6ED3 8A3E 8A3F 699F 6A74 5B57 81EA
-8293 8321 5033 525A 6063 7278 6E0D 7725 7726 80D4
-80FE 6F2C 5528 5B97 5027 7EFC 9A94 582B 5D4F 5D55
-60FE 68D5 7323 8159 847C 6721 6936 5D78 7A2F 7D9C
-7DC3 71A7 7DF5 7FEA 8250 876C 8E28 8E2A 78EB 8C75
-8E64 9A0C 9B03 9A23 9B09 9B37 9BEE 9BFC 9441 603B
-506C 6374 60E3 6121 63D4 6403 50AF 84D7 6460 7DCF
-7E02 71EA 7E3D 936F 93D3 7EB5 662E 75AD 500A 7314
-7882 7CBD 7CC9 7632 7E26 931D 7E31 90B9 9A7A 8BF9
-90F0 966C 63AB 83C6 68F7 68F8 9112 7B83 7DC5 8ACF
-9139 9CB0 9BEB 9EC0 9A36 9F7A 8D71 8D70 9BD0 594F
-63CD 5AB0 79DF 83F9 8445 84A9 5346 8DB3 5352 54EB
-5D12 5D2A 65CF 50B6 7A21 7BA4 8E24 8E3F 955E 93C3
+953A 92BF 87A4 87BD 937E 9F28 8E71 9418 7C66
+80BF 79CD 51A2 55A0 5C30 585A 585C 6B71 7144 816B
+7607 7A2E 8E35 7A5C
+4EF2 4F17 5995 72C6 794C 833D 8876 91CD 869B 5045
+773E 5839 5A91 7B57 8846 8AE5
+8FDA
+5DDE 821F 8BCC 4F9C 5468 6D32 8BEA 70D0 73D8 8F80
+90EE 5F9F 63AB 6DCD 77EA 9031 9E3C 558C 7CA5 8D52
+8F08 9282 8CD9 8F16 970C 76E9 8B05 9D43 9A06 8B78
+59AF 8F74 8EF8
+8098 759B 83F7 666D 776D 7B92 9BDE
+7EA3 4F37 546A 5492 5B99 7EC9 5191 54AE 663C 7D02
+80C4 836E 76B1 914E 665D 7C99 8464 8A4B 7503 8A76
+50FD 76BA 99CE 5663 7E10 9AA4 7C40 7C55 7C52 9A5F
+5E1A 70BF 99F2
+6731 52AF 4F8F 8BDB 90BE 6D19 8331 682A 73E0 8BF8
+732A 7843 79FC 88BE 94E2 7D51 86DB 8A85 8DE6 69E0
+6F74 876B 9296 6A65 8AF8 8C6C 99EF 9BA2 9D38 7026
+6AEB 6AE7 9BFA 9F04 8829
+7AF9 6CCF 7AFA 70A2 7B01 833F 70DB 7A8B 9010 7B1C
+8233 7603 7BC9 71ED 880B 8E85 9C41 5B4E 705F 66EF
+6B18 7225 883E
+4E36 4E3B 5B94 62C4 7F5C 967C 6E1A 716E 7151 8A5D
+5631 6FD0 9E88 77A9 529A 56D1 65B8 77DA
+4F2B 4F47 4F4F 52A9 7EBB 82CE 577E 677C 6CE8 8D2E
+8FEC 9A7B 58F4 67F1 6BB6 70B7 795D 75B0 771D 782B
+7969 7ADA 8387 7D35 7D38 7F9C 86C0 5D40 7B51 8A3B
+8CAF 8DD3 8EF4 94F8 7B6F 9252 99B5 7BB8 7FE5 6A26
+92F3 99D0 7BEB 9714 9E86 9444
+58B8
+6293 6A9B 81BC 7C3B 9AFD
+62FD
+8DE9
+4E13 53C0 5C02 7816 5C08 911F 587C 5AE5 747C 750E
+78D7 819E 989B 78DA 8AEF 87E4 9853 9C44
+8F6C 5B68 8EE2 7AF1 8F49
+7077 556D 581F 8483 7451 815E 50CE 8D5A 64B0 7BC6
+9994 7BF9 8948 8CFA 8B54 994C 56C0 7C51
+5986 5E84 599D 8358 5A24 6869 838A 6889 6E77 7CA7
+88C5 88DD 6A01 7CDA
+58EE 58EF 72B6 72C0 58F5 710B 6F34 649E 6207
+5E92
+96B9 8FFD 9A93 9525 9310 9A05 9D7B
+6C9D
+5760 6858 7B0D 5A37 60F4 7500 7F12 7577 787E 8187
+589C 8D58 7E0B 8AC8 918A 9323 991F 7908 8D05 8B75
+8F5B 9446
+7F00 7DB4
+5B92 8FCD 80AB 7A80 8C06 8AC4 8860
+51C6 57FB 6E96 7DA7
+8A30 7A15
+51D6
+5353 62D9 70AA 502C 6349 684C 68C1 6DBF 68F3 7A5B
+7A71 883F
+5734 5F74 6C4B 72B3 707C 53D5 59B0 8301 65AB 6D4A
+4E35 6D5E 70F5 8BFC 914C 5544 5545 5A3A 68B2 65B1
+666B 6913 7438 787A 7AA1 7F6C 64AF 64C6 65B2 69D5
+799A 8AC1 8AD1 92DC 6FC1 7BE7 64E2 6580 65B5 6FEF
+6AE1 8B36 956F 942F 9D6B 7042 8817 9432 7C57 9DDF
+7C71
+5285
+7AA7
+4E72 5B5C 830A 5179 54A8 59D5 59FF 8332 6825 7386
+7D0E 8D40 8D44 6DC4 79F6 7F01 8C18 55DE 5B73 5D6B
+6914 6E7D 6ECB 7CA2 8458 8F8E 9111 5B76 798C 89DC
+8A3E 8CB2 8CC7 8D91 9531 7A35 7DC7 922D 9543 9F87
+8F1C 9F12 6FAC 8AEE 8DA6 8F3A 9319 9AED 9CBB 937F
+93A1 74BE 983F 983E 9BD4 9D85 9F4D 9C26
+84FB
+4ED4 5407 59C9 59CA 674D 77F7 79C4 80CF 5470 79ED
+7C7D 8014 8678 7B2B 6893 91E8 5559 7D2B 6ED3 8A3F
+699F
+5B57 81EA 8293 8321 5033 525A 6063 7278 6E0D 7725
+7726 80D4 80FE 6F2C
+5B50 5D30 6A74
+5B97 5027 7EFC 9A94 582B 5D4F 5D55 60FE 68D5 7323
+8159 847C 6721 6936 5D78 7A2F 7D9C 7DC3 71A7 7DF5
+7FEA 876C 8E28 8E2A 78EB 9350 8C75 8E64 9A0C 9B03
+9A23 9B09 9B37 9BEE 9BFC 9441
+603B 506C 6374 60E3 6121 63D4 6403 50AF 84D7 6460
+7DCF 7E02 7E3D 93D3
+7EB5 662E 75AD 500A 7314 7882 7CBD 7CC9 7632 7E26
+931D 7E31 7CED
+6F48
+90B9 9A7A 8BF9 90F0 966C 83C6 68F7 68F8 9112 7B83
+7DC5 8ACF 9139 9CB0 9BEB 9EC0 9A36 9F71 9F7A
+8D71 8D70
+594F 63CD 6971
+9BD0
+79DF 8445 84A9
+5346 8DB3 5352 54EB 5D12 5D2A 65CF 50B6 7BA4 8E24
+8E3F 955E 93C3
 8BC5 963B 7EC4 4FCE 723C 73C7 7956 7D44 8A5B 977B
-93BA 8B2F 5297 8E9C 945A 8EA6 947D 7E64 7F35 7E82
-7E89 7C6B 7E98 94BB 63DD 6525 539C 6718 55FA 6A36
-87D5 7E97 5D8A 5634 567F 6FE2 74BB 67A0 682C 7D4A
-9154 666C 6700 797D 7F6A 8FA0 917B 855E 9189 5DB5
-6A87 92F7 930A 6A8C 7A5D 6B08 5C0A 5D9F 9075 6A3D
-7E5C 7F47 9D8E 940F 9CDF 9C52 9DF7 50D4 5642 6499
-8B50 6358 928C 6628 79E8 838B 637D 690A 8443 7A13
-7B70 923C 5DE6 4F50 7E53 4F5C 5750 963C 5C9D 5C9E
-600D 4FB3 67DE 795A 80D9 5511 5EA7 888F 505A 8444
-84D9 98F5 7CF3 5497
+93BA
+94BB 8E9C 947D
+7E64 7F35 7E82 7E89 7C6B 7E98
+6525 945A
+539C 6718 55FA 6A36 87D5 7E97
+5D8A 5634 5DB5 567F 74BB
+682C 7D4A 9154 6700 666C 797D 7A21 7F6A 8FA0 69DC
+917B 855E 9189 6A87 92F7 930A 6A8C
+67A0 7A5D
+5C0A 58AB 58FF 5D9F 9075 6A3D 7E5C 7F47 940F 9CDF
+9C52 9DF7
+50D4 5642 6499 8B50
+6358 928C
+9D8E
+6628 79E8 838B 637D 690A 7422 7A13 7B70 923C
+5DE6 4F50 5528 7E53
+4F5C 5750 963C 5C9D 5C9E 600D 4FB3 795A 80D9 5511
+5EA7 888F 505A 8443 8444 98F5 7CF3
+5497 84D9
 __END__
 
 =head1 NAME


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Pinyin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use 5.006;
 use strict;
 
-our $VERSION = '0.65';
+our $VERSION = '0.94';
 
 my %u2p;
 my $wt = 0x8000;
@@ -13,7 +13,7 @@
     my @c = split;
     for my $c (@c) {
 	next if !$c;
-	$u2p{hex($c)} = $wt;
+	$u2p{hex($c)} = $wt if $c !~ /-/;
 	$wt++;
     }
 }
@@ -25,1312 +25,2461 @@
 
 1;
 __DATA__
-4E00 4E59 4E01 4E03 4E43 4E5D 4E86 4E8C 4EBA 513F
-5165 516B 51E0 5200 5201 529B 5315 5341 535C 53C8
-4E42 4E5C 51F5 531A 5382 4E09 4E0B 4E08 4E0A 4E2B
-4E38 51E1 4E45 4E48 4E5F 4E5E 4E8E 4EA1 5140 5203
-52FA 5343 53C9 53E3 571F 58EB 5915 5927 5973 5B50
-5B51 5B53 5BF8 5C0F 5C22 5C38 5C71 5DDD 5DE5 5DF1
-5DF2 5DF3 5DFE 5E72 5EFE 5F0B 5F13 624D 4E07 4E0C
-4E47 4E8D 56D7 5C6E 5F73 4E11 4E10 4E0D 4E2D 4E30
-4E39 4E4B 5C39 4E88 4E91 4E95 4E92 4E94 4EA2 4EC1
-4EC0 4EC3 4EC6 4EC7 4ECD 4ECA 4ECB 4EC4 5143 5141
-5167 516D 516E 516C 5197 51F6 5206 5207 5208 52FB
-52FE 52FF 5316 5339 5348 5347 5345 535E 5384 53CB
-53CA 53CD 58EC 5929 592B 592A 592D 5B54 5C11 5C24
-5C3A 5C6F 5DF4 5E7B 5EFF 5F14 5F15 5FC3 6208 6236
-624B 624E 652F 6587 6597 65A4 65B9 65E5 66F0 6708
-6728 6B20 6B62 6B79 6BCB 6BD4 6BDB 6C0F 6C34 706B
-722A 7236 723B 7247 7259 725B 72AC 738B 4E0F 5187
-4E0E 4E2E 4E93 4EC2 4EC9 4EC8 5198 52FC 536C 53B9
-5720 5903 592C 5C10 5DFF 65E1 6BB3 6BCC 6C14 723F
-4E19 4E16 4E15 4E14 4E18 4E3B 4E4D 4E4F 4E4E 4EE5
-4ED8 4ED4 4ED5 4ED6 4ED7 4EE3 4EE4 4ED9 4EDE 5145
-5144 5189 518A 51AC 51F9 51FA 51F8 520A 52A0 529F
-5305 5306 5317 531D 4EDF 534A 5349 5361 5360 536F
-536E 53BB 53EF 53E4 53F3 53EC 53EE 53E9 53E8 53FC
-53F8 53F5 53EB 53E6 53EA 53F2 53F1 53F0 53E5 53ED
-53FB 56DB 56DA 5916 592E 5931 5974 5976 5B55 5B83
-5C3C 5DE8 5DE7 5DE6 5E02 5E03 5E73 5E7C 5F01 5F18
-5F17 5FC5 620A 6253 6254 6252 6251 65A5 65E6 672E
-672C 672A 672B 672D 6B63 6BCD 6C11 6C10 6C38 6C41
-6C40 6C3E 72AF 7384 7389 74DC 74E6 7518 751F 7528
-7529 7530 7531 7532 7533 758B 767D 76AE 76BF 76EE
-77DB 77E2 77F3 793A 79BE 7A74 7ACB 4E31 4E3C 4EE8
-4EDC 4EE9 4EE1 4EDD 4EDA 520C 531C 534C 5722 5723
-5917 592F 5B81 5B84 5C12 5C3B 5C74 5C73 5E04 5E80
-5E82 5FC9 6209 6250 6C15 6C36 6C43 6C3F 6C3B 72AE
-72B0 738A 79B8 808A 961E 4E1E 4E1F 4E52 4E53 4E69
-4E99 4EA4 4EA6 4EA5 4EFF 4F09 4F19 4F0A 4F15 4F0D
-4F10 4F11 4F0F 4EF2 4EF6 4EFB 4EF0 4EF3 4EFD 4F01
-4F0B 5149 5147 5146 5148 5168 5171 518D 51B0 5217
-5211 5212 520E 5216 52A3 5308 5321 5320 5370 5371
-5409 540F 540C 540A 5410 540B 5404 5411 540D 5408
-5403 540E 5406 5412 56E0 56DE 56DD 5733 5730 5728
-572D 572C 572F 5729 5919 591A 5937 5938 5984 5978
-5983 597D 5979 5982 5981 5B57 5B58 5B87 5B88 5B85
-5B89 5BFA 5C16 5C79 5DDE 5E06 5E76 5E74 5F0F 5F1B
-5FD9 5FD6 620E 620C 620D 6210 6263 625B 6258 6536
-65E9 65E8 65EC 65ED 66F2 66F3 6709 673D 6734 6731
-6735 6B21 6B64 6B7B 6C16 6C5D 6C57 6C59 6C5F 6C60
-6C50 6C55 6C61 6C5B 6C4D 6C4E 7070 725F 725D 767E
-7AF9 7C73 7CF8 7F36 7F8A 7FBD 8001 8003 800C 8012
-8033 807F 8089 808B 808C 81E3 81EA 81F3 81FC 820C
-821B 821F 826E 8272 827E 866B 8840 884C 8863 897F
-9621 4F0E 4F18 4F2C 4EF5 4F14 4EF1 4F00 4EF7 4F08
-4F1D 4F02 4F05 4F22 4F13 4F04 4EF4 4F12 51B1 5213
-5209 5210 52A6 5322 531F 534D 538A 5407 56E1 56DF
-572E 572A 5734 593C 5980 597C 5985 597B 597E 5977
-597F 5B56 5C15 5C25 5C7C 5C7A 5C7B 5C7E 5DDF 5E75
-5E84 5F02 5F1A 5F74 5FD5 5FD4 5FCF 625C 625E 6264
-6261 6266 6262 6259 6260 625A 6265 65EF 65EE 673E
-6739 6738 673B 673A 673F 673C 6733 6C18 6C46 6C52
-6C5C 6C4F 6C4A 6C54 6C4B 6C4C 7071 725E 72B4 72B5
-738E 752A 767F 7A75 7F51 8278 827C 8280 827D 827F
-864D 897E 9099 9097 9098 909B 9094 9622 9624 9620
-9623 4E32 4EA8 4F4D 4F4F 4F47 4F57 4F5E 4F34 4F5B
-4F55 4F30 4F50 4F51 4F3D 4F3A 4F38 4F43 4F54 4F3C
-4F46 4F63 4F5C 4F60 4F2F 4F4E 4F36 4F59 4F5D 4F48
-4F5A 514C 514B 514D 5175 51B6 51B7 5225 5224 5229
-522A 5228 52AB 52A9 52AA 52AC 5323 5373 5375 541D
-542D 541E 543E 5426 544E 5427 5446 5443 5433 5448
-5442 541B 5429 544A 5439 543B 5438 542E 5435 5436
-5420 543C 5440 5431 542B 541F 542C 56EA 56F0 56E4
-56EB 574A 5751 5740 574D 5747 574E 573E 5750 574F
-573B 58EF 593E 599D 5992 59A8 599E 59A3 5999 5996
-598D 59A4 5993 598A 59A5 5B5D 5B5C 5B5A 5B5B 5B8C
-5B8B 5B8F 5C2C 5C40 5C41 5C3F 5C3E 5C90 5C91 5C94
-5C8C 5DEB 5E0C 5E8F 5E87 5E8A 5EF7 5F04 5F1F 5F64
-5F62 5F77 5F79 5FD8 5FCC 5FD7 5FCD 5FF1 5FEB 5FF8
-5FEA 6212 6211 6284 6297 6296 6280 6276 6289 626D
-628A 627C 627E 6279 6273 6292 626F 6298 626E 6295
-6293 6291 6286 6539 653B 6538 65F1 66F4 675F 674E
-674F 6750 6751 675C 6756 675E 6749 6746 6760 6753
-6757 6B65 6BCF 6C42 6C5E 6C99 6C81 6C88 6C89 6C85
-6C9B 6C6A 6C7A 6C90 6C70 6C8C 6C68 6C96 6C92 6C7D
-6C83 6C72 6C7E 6C74 6C86 6C76 6C8D 6C94 6C98 6C82
-7076 707C 707D 7078 7262 7261 7260 72C4 72C2 7396
-752C 752B 7537 7538 7682 76EF 77E3 79C1 79C0 79BF
-7A76 7CFB 7F55 8096 8093 809D 8098 809B 809A 80B2
-826F 8292 828B 828D 898B 89D2 8A00 8C37 8C46 8C55
-8C9D 8D64 8D70 8DB3 8EAB 8ECA 8F9B 8FB0 8FC2 8FC6
-8FC5 8FC4 5DE1 9091 90A2 90AA 90A6 90A3 9149 91C6
-91CC 9632 962E 9631 962A 962C 4F56 4F3B 4F62 4F49
-4F53 4F64 4F3E 4F67 4F52 4F5F 4F41 4F58 4F2D 4F33
-4F3F 4F61 518F 51B9 521C 521E 5221 52AD 52AE 5309
-5363 5372 538E 538F 5430 5437 542A 5454 5445 5419
-541C 5425 5418 543D 544F 5441 5428 5424 5447 56EE
-56E7 56E5 5741 5745 574C 5749 574B 5752 5906 5940
-59A6 5998 59A0 5997 598E 59A2 5990 598F 59A7 59A1
-5B8E 5B92 5C28 5C2A 5C8D 5C8F 5C88 5C8B 5C89 5C92
-5C8A 5C86 5C93 5C95 5DE0 5E0A 5E0E 5E8B 5E89 5E8C
-5E88 5E8D 5F05 5F1D 5F78 5F76 5FD2 5FD1 5FD0 5FED
-5FE8 5FEE 5FF3 5FE1 5FE4 5FE3 5FFA 5FEF 5FF7 5FFB
-6000 5FF4 623A 6283 628C 628E 628F 6294 6287 6271
-627B 627A 6270 6281 6288 6277 627D 6272 6274 6537
-65F0 65F4 65F3 65F2 65F5 6745 6747 6759 6755 674C
-6748 675D 674D 675A 674B 6BD0 6C19 6C1A 6C78 6C67
-6C6B 6C84 6C8B 6C8F 6C71 6C6F 6C69 6C9A 6C6D 6C87
-6C95 6C9C 6C66 6C73 6C65 6C7B 6C8E 7074 707A 7263
-72BF 72BD 72C3 72C6 72C1 72BA 72C5 7395 7397 7393
-7394 7392 753A 7539 7594 7595 7681 793D 8034 8095
-8099 8090 8092 809C 8290 828F 8285 828E 8291 8293
-828A 8283 8284 8C78 8FC9 8FBF 909F 90A1 90A5 909E
-90A7 90A0 9630 9628 962F 962D 4E26 4E56 4E73 4E8B
-4E9B 4E9E 4EAB 4EAC 4F6F 4F9D 4F8D 4F73 4F7F 4F6C
-4F9B 4F8B 4F86 4F83 4F70 4F75 4F88 4F69 4F7B 4F96
-4F7E 4F8F 4F91 4F7A 5154 5152 5155 5169 5177 5176
-5178 51BD 51FD 523B 5238 5237 523A 5230 522E 5236
-5241 52BE 52BB 5352 5354 5353 5351 5366 5377 5378
-5379 53D6 53D4 53D7 5473 5475 5496 5478 5495 5480
-547B 5477 5484 5492 5486 547C 5490 5471 5476 548C
-549A 5462 5468 548B 547D 548E 56FA 5783 5777 576A
-5769 5761 5766 5764 577C 591C 5949 5947 5948 5944
-5954 59BE 59BB 59D4 59B9 59AE 59D1 59C6 59D0 59CD
-59CB 59D3 59CA 59AF 59B3 59D2 59C5 5B5F 5B64 5B63
-5B97 5B9A 5B98 5B9C 5B99 5B9B 5C1A 5C48 5C45 5C46
-5CB7 5CA1 5CB8 5CA9 5CAB 5CB1 5CB3 5E18 5E1A 5E16
-5E15 5E1B 5E11 5E78 5E9A 5E97 5E9C 5E95 5E96 5EF6
-5F26 5F27 5F29 5F80 5F81 5F7F 5F7C 5FDD 5FE0 5FFD
-5FF5 5FFF 600F 6014 602F 6035 6016 602A 6015 6021
-6027 6029 602B 601B 6216 6215 623F 623E 6240 627F
-62C9 62CC 62C4 62BF 62C2 62B9 62D2 62DB 62AB 62D3
-62D4 62CB 62C8 62A8 62BD 62BC 62D0 62D9 62C7 62CD
-62B5 62DA 62B1 62D8 62D6 62D7 62C6 62AC 62CE 653E
-65A7 65BC 65FA 6614 6613 660C 6606 6602 660E 6600
-660F 6615 660A 6607 670D 670B 676D 678B 6795 6771
-679C 6773 6777 6787 679D 6797 676F 6770 677F 6789
-677E 6790 6775 679A 6793 677C 676A 6772 6B23 6B66
-6B67 6B7F 6C13 6C1B 6CE3 6CE8 6CF3 6CB1 6CCC 6CE5
-6CB3 6CBD 6CBE 6CBC 6CE2 6CAB 6CD5 6CD3 6CB8 6CC4
-6CB9 6CC1 6CAE 6CD7 6CC5 6CF1 6CBF 6CBB 6CE1 6CDB
-6CCA 6CAC 6CEF 6CDC 6CD6 6CE0 7095 708E 7092 708A
-7099 722C 722D 7238 7248 7267 7269 72C0 72CE 72D9
-72D7 72D0 73A9 73A8 739F 73AB 73A5 753D 759D 7599
-759A 7684 76C2 76F2 76F4 77E5 77FD 793E 7940 7941
-79C9 79C8 7A7A 7A79 7AFA 7CFE 7F54 7F8C 7F8B 8005
-80BA 80A5 80A2 80B1 80A1 80AB 80A9 80B4 80AA 80AF
-81E5 81FE 820D 82B3 829D 8299 82AD 82BD 829F 82B9
-82B1 82AC 82A5 82AF 82B8 82A3 82B0 82BE 82B7 864E
-8671 521D 8868 8ECB 8FCE 8FD4 8FD1 90B5 90B8 90B1
-90B6 91C7 91D1 9577 9580 961C 9640 963F 963B 9644
-9642 96B9 96E8 9752 975E 4E33 4F98 4F7C 4F85 4F7D
-4F80 4F87 4F76 4F74 4F89 4F84 4F77 4F4C 4F97 4F6A
-4F9A 4F79 4F81 4F78 4F90 4F9C 4F94 4F9E 4F92 4F82
-4F95 4F6B 4F6E 519E 51BC 51BE 5235 5232 5233 5246
-5231 52BC 530A 530B 533C 5392 5394 5487 547F 5481
-5491 5482 5488 546B 547A 547E 5465 546C 5474 5466
-548D 546F 5461 5460 5498 5463 5467 5464 56F7 56F9
-576F 5772 576D 576B 5771 5770 5776 5780 5775 577B
-5773 5774 5762 5768 577D 590C 5945 59B5 59BA 59CF
-59CE 59B2 59CC 59C1 59B6 59BC 59C3 59D6 59B1 59BD
-59C0 59C8 59B4 59C7 5B62 5B65 5B93 5B95 5C44 5C47
-5CAE 5CA4 5CA0 5CB5 5CAF 5CA8 5CAC 5C9F 5CA3 5CAD
-5CA2 5CAA 5CA7 5C9D 5CA5 5CB6 5CB0 5CA6 5E17 5E14
-5E19 5F28 5F22 5F23 5F24 5F54 5F82 5F7E 5F7D 5FDE
-5FE5 602D 6026 6019 6032 600B 6034 600A 6017 6033
-601A 601E 602C 6022 600D 6010 602E 6013 6011 600C
-6009 601C 6214 623D 62AD 62B4 62D1 62BE 62AA 62B6
-62CA 62AE 62B3 62AF 62BB 62A9 62B0 62B8 653D 65A8
-65BB 6609 65FC 6604 6612 6608 65FB 6603 660B 660D
-6605 65FD 6611 6610 66F6 670A 6785 676C 678E 6792
-6776 677B 6798 6786 6784 6774 678D 678C 677A 679F
-6791 6799 6783 677D 6781 6778 6779 6794 6B25 6B80
-6B7E 6BDE 6C1D 6C93 6CEC 6CEB 6CEE 6CD9 6CB6 6CD4
-6CAD 6CE7 6CB7 6CD0 6CC2 6CBA 6CC3 6CC6 6CED 6CF2
-6CD2 6CDD 6CB4 6C8A 6C9D 6C80 6CDE 6CC0 6D30 6CCD
-6CC7 6CB0 6CF9 6CCF 6CE9 6CD1 7094 7098 7085 7093
-7086 7084 7091 7096 7082 709A 7083 726A 72D6 72CB
-72D8 72C9 72DC 72D2 72D4 72DA 72CC 72D1 73A4 73A1
-73AD 73A6 73A2 73A0 73AC 739D 74DD 74E8 753F 7540
-753E 758C 7598 76AF 76F3 76F1 76F0 76F5 77F8 77FC
-77F9 77FB 77FA 77F7 7942 793F 79C5 7A78 7A7B 7AFB
-7C75 7CFD 8035 808F 80AE 80A3 80B8 80B5 80AD 8220
-82A0 82C0 82AB 829A 8298 829B 82B5 82A7 82AE 82BC
-829E 82BA 82B4 82A8 82A1 82A9 82C2 82A4 82C3 82B6
-82A2 8670 866F 866D 866E 8C56 8FD2 8FCB 8FD3 8FCD
-8FD6 8FD5 8FD7 90B2 90B4 90AF 90B3 90B0 9639 963D
-963C 963A 9643 4E9F 4EAD 4EAE 4FE1 4FB5 4FAF 4FBF
-4FE0 4FD1 4FCF 4FDD 4FC3 4FB6 4FD8 4FDF 4FCA 4FD7
-4FAE 4FD0 4FC4 4FC2 4FDA 4FCE 4FDE 4FB7 5157 5192
-5191 51A0 524E 5243 524A 524D 524C 524B 5247 52C7
-52C9 52C3 52C1 530D 5357 537B 539A 53DB 54AC 54C0
-54A8 54CE 54C9 54B8 54A6 54B3 54C7 54C2 54BD 54AA
-54C1 54C4 54C8 54AF 54AB 54B1 54BB 54A9 54A7 54BF
-56FF 5782 578B 57A0 57A3 57A2 57CE 57AE 5793 5955
-5951 594F 594E 5950 59DC 59D8 59FF 59E3 59E8 5A03
-59E5 59EA 59DA 59E6 5A01 59FB 5B69 5BA3 5BA6 5BA4
-5BA2 5BA5 5C01 5C4E 5C4F 5C4D 5C4B 5CD9 5CD2 5DF7
-5E1D 5E25 5E1F 5E7D 5EA0 5EA6 5EFA 5F08 5F2D 5F65
-5F88 5F85 5F8A 5F8B 5F87 5F8C 5F89 6012 601D 6020
-6025 600E 6028 604D 6070 6068 6062 6046 6043 606C
-606B 606A 6064 6241 62DC 6316 6309 62FC 62ED 6301
-62EE 62FD 6307 62F1 62F7 62EF 62EC 62FE 62F4 6311
-6302 653F 6545 65AB 65BD 65E2 6625 662D 6620 6627
-662F 661F 6628 6631 6624 66F7 67FF 67D3 67F1 67D4
-67D0 67EC 67B6 67AF 67F5 67E9 67EF 67C4 67D1 67B4
-67DA 67E5 67B8 67CF 67DE 67F3 67B0 67D9 67E2 67DD
-67D2 6B6A 6B83 6B86 6BB5 6BD2 6BD7 6C1F 6CC9 6D0B
-6D32 6D2A 6D41 6D25 6D0C 6D31 6D1E 6D17 6D3B 6D3D
-6D3E 6D36 6D1B 6CF5 6D39 6D27 6D38 6D29 6D2E 6D35
-6D0E 6D2B 70AB 70BA 70B3 70AC 70AF 70AD 70B8 70AE
-70A4 7230 7272 726F 7274 72E9 72E0 72E1 73B7 73CA
-73BB 73B2 73CD 73C0 73B3 751A 752D 754F 754C 754E
-754B 75AB 75A4 75A5 75A2 75A3 7678 7686 7687 7688
-76C8 76C6 76C3 76C5 7701 76F9 76F8 7709 770B 76FE
-76FC 7707 77DC 7802 7814 780C 780D 7946 7949 7948
-7947 79B9 79BA 79D1 79D2 79CB 7A7F 7A81 7AFF 7AFD
-7C7D 7D02 7D05 7D00 7D09 7D07 7D04 7D06 7F38 7F8E
-7FBF 8004 8010 800D 8011 8036 80D6 80E5 80DA 80C3
-80C4 80CC 80E1 80DB 80CE 80DE 80E4 80DD 81F4 8222
-82E7 8303 8305 82E3 82DB 82E6 8304 82E5 8302 8309
-82D2 82D7 82F1 8301 82DC 82D4 82D1 82DE 82D3 82DF
-82EF 8306 8650 8679 867B 867A 884D 886B 8981 89D4
-8A08 8A02 8A03 8C9E 8CA0 8D74 8D73 8DB4 8ECD 8ECC
-8FF0 8FE6 8FE2 8FEA 8FE5 8FED 8FEB 8FE4 8FE8 90CA
-90CE 90C1 90C3 914B 914A 91CD 9582 9650 964B 964C
-964D 9762 9769 97CB 97ED 97F3 9801 98A8 98DB 98DF
-9996 9999 4FCD 4FC5 4FD3 4FB2 4FC9 4FCB 4FC1 4FD4
-4FDC 4FD9 4FBB 4FB3 4FDB 4FC7 4FD6 4FBA 4FC0 4FB9
-4FEC 5244 5249 52C0 52C2 533D 537C 5397 5396 5399
-5398 54BA 54A1 54AD 54A5 54CF 54C3 830D 54B7 54AE
-54D6 54B6 54C5 54C6 54A0 5470 54BC 54A2 54BE 5472
-54DE 54B0 57B5 579E 579F 57A4 578C 5797 579D 579B
-5794 5798 578F 5799 57A5 579A 5795 58F4 590D 5953
-59E1 59DE 59EE 5A00 59F1 59DD 59FA 59FD 59FC 59F6
-59E4 59F2 59F7 59DB 59E9 59F3 59F5 59E0 59FE 59F4
-59ED 5BA8 5C4C 5CD0 5CD8 5CCC 5CD7 5CCB 5CDB 5CDE
-5CDA 5CC9 5CC7 5CCA 5CD6 5CD3 5CD4 5CCF 5CC8 5CC6
-5CCE 5CDF 5CF8 5DF9 5E21 5E22 5E23 5E20 5E24 5EB0
-5EA4 5EA2 5E9B 5EA3 5EA5 5F07 5F2E 5F56 5F86 6037
-6039 6054 6072 605E 6045 6053 6047 6049 605B 604C
-6040 6042 605F 6024 6044 6058 6066 606E 6242 6243
-62CF 630D 630B 62F5 630E 6303 62EB 62F9 630F 630C
-62F8 62F6 6300 6313 6314 62FA 6315 62FB 62F0 6541
-6543 65AA 65BF 6636 6621 6632 6635 661C 6626 6622
-6633 662B 663A 661D 6634 6639 662E 670F 6710 67C1
-67F2 67C8 67BA 67DC 67BB 67F8 67D8 67C0 67B7 67C5
-67EB 67E4 67DF 67B5 67CD 67B3 67F7 67F6 67EE 67E3
-67C2 67B9 67CE 67E7 67F0 67B2 67FC 67C6 67ED 67CC
-67AE 67E6 67DB 67FA 67C9 67CA 67C3 67EA 67CB 6B28
-6B82 6B84 6BB6 6BD6 6BD8 6BE0 6C20 6C21 6D28 6D34
-6D2D 6D1F 6D3C 6D3F 6D12 6D0A 6CDA 6D33 6D04 6D19
-6D3A 6D1A 6D11 6D00 6D1D 6D42 6D01 6D18 6D37 6D03
-6D0F 6D40 6D07 6D20 6D2C 6D08 6D22 6D09 6D10 70B7
-709F 70BE 70B1 70B0 70A1 70B4 70B5 70A9 7241 7249
-724A 726C 7270 7273 726E 72CA 72E4 72E8 72EB 72DF
-72EA 72E6 72E3 7385 73CC 73C2 73C8 73C5 73B9 73B6
-73B5 73B4 73EB 73BF 73C7 73BE 73C3 73C6 73B8 73CB
-74EC 74EE 752E 7547 7548 75A7 75AA 7679 76C4 7708
-7703 7704 7705 770A 76F7 76FB 76FA 77E7 77E8 7806
-7811 7812 7805 7810 780F 780E 7809 7803 7813 794A
-794C 794B 7945 7944 79D5 79CD 79CF 79D6 79CE 7A80
-7A7E 7AD1 7B00 7B01 7C7A 7C78 7C79 7C7F 7C80 7C81
-7D03 7D08 7D01 7F58 7F91 7F8D 7FBE 8007 800E 800F
-8014 8037 80D8 80C7 80E0 80D1 80C8 80C2 80D0 80C5
-80E3 80D9 80DC 80CA 80D5 80C9 80CF 80D7 80E6 80CD
-81FF 8221 8294 82D9 82FE 82F9 8307 82E8 8300 82D5
-833A 82EB 82D6 82F4 82EC 82E1 82F2 82F5 830C 82FB
-82F6 82F0 82EA 82E4 82E0 82FA 82F3 82ED 8677 8674
-867C 8673 8841 884E 8867 886A 8869 89D3 8A04 8A07
-8D72 8FE3 8FE1 8FEE 8FE0 90F1 90BD 90BF 90D5 90C5
-90BE 90C7 90CB 90C8 91D4 91D3 9654 964F 9651 9653
-964A 964E 6052 4E58 4EB3 500C 500D 5023 4FEF 5026
-5025 4FF8 5029 5016 5006 503C 501F 501A 5012 5011
-4FFA 5000 5014 5028 4FF1 5021 500B 5019 5018 4FF3
-4FEE 502D 502A 4FFE 502B 5009 517C 51A4 51A5 51A2
-51CD 51CC 51C6 51CB 5256 525C 5254 525B 525D 532A
-537F 539F 539D 53DF 54E8 5510 5501 5537 54FC 54E5
-54F2 5506 54FA 5514 54E9 54ED 54E1 5509 54EE 54EA
-54E6 5527 5507 54FD 550F 5703 5704 57C2 57D4 57CB
-57C3 5809 590F 5957 5958 595A 5A11 5A18 5A1C 5A1F
-5A1B 5A13 59EC 5A20 5A23 5A29 5A25 5A0C 5A09 5B6B
-5C58 5BB0 5BB3 5BB6 5BB4 5BAE 5BB5 5BB9 5BB8 5C04
-5C51 5C55 5C50 5CED 5CFD 5CFB 5CEA 5CE8 5CF0 5CF6
-5D01 5CF4 5DEE 5E2D 5E2B 5EAB 5EAD 5EA7 5F31 5F92
-5F91 5F90 6059 6063 6065 6050 6055 606D 6069 606F
-6084 609F 609A 608D 6094 608C 6085 6096 6247 62F3
-6308 62FF 634E 633E 632F 6355 6342 6346 634F 6349
-633A 6350 633D 632A 632B 6328 634D 634C 6548 6549
-6599 65C1 65C5 6642 6649 664F 6643 6652 664C 6645
-6641 66F8 6714 6715 6717 6821 6838 6848 6846 6853
-6839 6842 6854 6829 68B3 6817 684C 6851 683D 67F4
-6850 6840 683C 6843 682A 6845 6813 6818 6841 6B8A
-6B89 6BB7 6C23 6C27 6C28 6C26 6C24 6CF0 6D6A 6D95
-6D88 6D87 6D66 6D78 6D77 6D59 6D93 6D6C 6D89 6D6E
-6D5A 6D74 6D69 6D8C 6D8A 6D79 6D85 6D65 6D94 70CA
-70D8 70E4 70D9 70C8 70CF 7239 7279 72FC 72F9 72FD
-72F8 72F7 7386 73ED 7409 73EE 73E0 73EA 73DE 7554
-755D 755C 755A 7559 75BE 75C5 75C7 75B2 75B3 75BD
-75BC 75B9 75C2 75B8 768B 76B0 76CA 76CD 76CE 7729
-771F 7720 7728 77E9 7830 7827 7838 781D 7834 7837
-7825 782D 7820 781F 7832 7955 7950 7960 795F 7956
-795E 795D 7957 795A 79E4 79E3 79E7 79DF 79E6 79E9
-79D8 7A84 7A88 7AD9 7B06 7B11 7C89 7D21 7D17 7D0B
-7D0A 7D20 7D22 7D14 7D10 7D15 7D1A 7D1C 7D0D 7D19
-7D1B 7F3A 7F5F 7F94 7FC5 7FC1 8006 8018 8015 8019
-8017 803D 803F 80F1 8102 80F0 8105 80ED 80F4 8106
-80F8 80F3 8108 80FD 810A 80FC 80EF 81ED 81EC 8200
-8210 822A 822B 8228 822C 82BB 832B 8352 8354 834A
-8338 8350 8349 8335 8334 834F 8332 8339 8336 8317
-8340 8331 8328 8343 8654 868A 86AA 8693 86A4 86A9
-868C 86A3 869C 8870 8877 8881 8882 887D 8879 8A18
-8A10 8A0E 8A0C 8A15 8A0A 8A17 8A13 8A16 8A0F 8A11
-8C48 8C7A 8C79 8CA1 8CA2 8D77 8EAC 8ED2 8ED4 8ECF
-8FB1 9001 9006 8FF7 9000 8FFA 8FF4 9003 8FFD 9005
-8FF8 9095 90E1 90DD 90E2 9152 914D 914C 91D8 91DD
-91D7 91DC 91D9 9583 9662 9663 9661 965B 965D 9664
-9658 965E 96BB 98E2 99AC 9AA8 9AD8 9B25 9B32 9B3C
-501E 5005 5007 5013 5022 5030 501B 4FF5 4FF4 5033
-5037 502C 4FF6 4FF7 5017 501C 5020 5027 5035 502F
-5031 500E 515A 5194 5193 51CA 51C4 51C5 51C8 51CE
-5261 525A 5252 525E 525F 5255 5262 52CD 530E 539E
-5526 54E2 5517 5512 54E7 54F3 54E4 551A 54FF 5504
-5508 54EB 5511 5505 54F1 550A 54FB 54F7 54F8 54E0
-550E 5503 550B 5701 5702 57CC 5832 57D5 57D2 57BA
-57C6 57BD 57BC 57B8 57B6 57BF 57C7 57D0 57B9 57C1
-590E 594A 5A19 5A16 5A2D 5A2E 5A15 5A0F 5A17 5A0A
-5A1E 5A33 5B6C 5BA7 5BAD 5BAC 5C03 5C56 5C54 5CEC
-5CFF 5CEE 5CF1 5CF7 5D00 5CF9 5E29 5E28 5EA8 5EAE
-5EAA 5EAC 5F33 5F30 5F67 605D 605A 6067 6041 60A2
-6088 6080 6092 6081 609D 6083 6095 609B 6097 6087
-609C 608E 6219 6246 62F2 6310 6356 632C 6344 6345
-6336 6343 63E4 6339 634B 634A 633C 6329 6341 6334
-6358 6354 6359 632D 6347 6333 635A 6351 6338 6357
-6340 6348 654A 6546 65C6 65C3 65C4 65C2 664A 665F
-6647 6651 6712 6713 681F 681A 6849 6832 6833 683B
-684B 684F 6816 6831 681C 6835 682B 682D 682F 684E
-6844 6834 681D 6812 6814 6826 6828 682E 684D 683A
-6825 6820 6B2C 6B2F 6B2D 6B31 6B34 6B6D 8082 6B88
-6BE6 6BE4 6BE8 6BE3 6BE2 6BE7 6C25 6D7A 6D63 6D64
-6D76 6D0D 6D61 6D92 6D58 6D62 6D6D 6D6F 6D91 6D8D
-6DEF 6D7F 6D86 6D5E 6D67 6D60 6D97 6D70 6D7C 6D5F
-6D82 6D98 6D2F 6D68 6D8B 6D7E 6D80 6D84 6D16 6D83
-6D7B 6D7D 6D75 6D90 70DC 70D3 70D1 70DD 70CB 7F39
-70E2 70D7 70D2 70DE 70E0 70D4 70CD 70C5 70C6 70C7
-70DA 70CE 70E1 7242 7278 7277 7276 7300 72FA 72F4
-72FE 72F6 72F3 72FB 7301 73D3 73D9 73E5 73D6 73BC
-73E7 73E3 73E9 73DC 73D2 73DB 73D4 73DD 73DA 73D7
-73D8 73E8 74DE 74DF 74F4 74F5 7521 755B 755F 75B0
-75C1 75BB 75C4 75C0 75BF 75B6 75BA 768A 76C9 771D
-771B 7710 7713 7712 7723 7711 7715 7719 771A 7722
-7727 7823 782C 7822 7835 782F 7828 782E 782B 7821
-7829 7833 782A 7831 7954 795B 794F 795C 7953 7952
-7951 79EB 79EC 79E0 79EE 79ED 79EA 79DC 79DE 79DD
-7A86 7A89 7A85 7A8B 7A8C 7A8A 7A87 7AD8 7B10 7B04
-7B13 7B05 7B0F 7B08 7B0A 7B0E 7B09 7B12 7C84 7C91
-7C8A 7C8C 7C88 7C8D 7C85 7D1E 7D1D 7D11 7D0E 7D18
-7D16 7D13 7D1F 7D12 7D0F 7D0C 7F5C 7F61 7F5E 7F60
-7F5D 7F5B 7F96 7F92 7FC3 7FC2 7FC0 8016 803E 8039
-80FA 80F2 80F9 80F5 8101 80FB 8100 8201 822F 8225
-8333 832D 8344 8319 8351 8325 8356 833F 8341 8326
-831C 8322 8342 834E 831B 832A 8308 833C 834D 8316
-8324 8320 8337 832F 8329 8347 8345 834C 8353 831E
-832C 834B 8327 8348 8653 8652 86A2 86A8 8696 868D
-8691 869E 8687 8697 8686 868B 869A 8685 86A5 8699
-86A1 86A7 8695 8698 868E 869D 8690 8694 8843 8844
-886D 8875 8876 8872 8880 8871 887F 886F 8883 887E
-8874 887C 8A12 8C47 8C57 8C7B 8CA4 8CA3 8D76 8D78
-8DB5 8DB7 8DB6 8ED1 8ED3 8FFE 8FF5 9002 8FFF 8FFB
-9004 8FFC 8FF6 90D6 90E0 90D9 90DA 90E3 90DF 90E5
-90D8 90DB 90D7 90DC 90E4 9150 914E 914F 91D5 91E2
-91DA 965C 965F 96BC 98E3 9ADF 9B2F 4E7E 507A 507D
-505C 5047 5043 504C 505A 5049 5065 5076 504E 5055
-5075 5074 5077 504F 500F 506F 506D 515C 5195 51F0
-526A 526F 52D2 52D9 52D8 52D5 5310 530F 5319 533F
-5340 533E 53C3 66FC 5546 556A 5566 5544 555E 5561
-5543 554A 5531 5556 554F 5555 552F 5564 5538 552E
-555C 552C 5563 5533 5541 5557 5708 570B 5709 57DF
-5805 580A 5806 57E0 57E4 57FA 5802 5835 57F7 57F9
-5920 5962 5A36 5A41 5A49 5A66 5A6A 5A40 5A3C 5A62
-5A5A 5A46 5A4A 5B70 5BC7 5BC5 5BC4 5BC2 5BBF 5BC6
-5C09 5C08 5C07 5C60 5C5C 5C5D 5D07 5D06 5D0E 5D1B
-5D16 5D22 5D11 5D29 5D14 5D19 5D24 5D27 5D17 5DE2
-5E38 5E36 5E33 5E37 5EB7 5EB8 5EB6 5EB5 5EBE 5F35
-5F37 5F57 5F6C 5F69 5F6B 5F97 5F99 5F9E 5F98 5FA1
-5FA0 5F9C 607F 60A3 6089 60A0 60A8 60CB 60B4 60E6
-60BD 60C5 60BB 60B5 60DC 60BC 60D8 60D5 60C6 60DF
-60B8 60DA 60C7 621A 621B 6248 63A0 63A7 6372 6396
-63A2 63A5 6377 6367 6398 63AA 6371 63A9 6389 6383
-639B 636B 63A8 6384 6388 6399 63A1 63AC 6392 638F
-6380 637B 6369 6368 637A 655D 6556 6551 6559 6557
-555F 654F 6558 6555 6554 659C 659B 65AC 65CF 65CB
-65CC 65CE 665D 665A 6664 6668 6666 665E 66F9 52D7
-671B 6881 68AF 68A2 6893 68B5 687F 6876 68B1 68A7
-6897 68B0 6883 68C4 68AD 6886 6885 6894 689D 68A8
-689F 68A1 6882 6B32 6BBA 6BEB 6BEC 6C2B 6D8E 6DBC
-6DF3 6DD9 6DB2 6DE1 6DCC 6DE4 6DFB 6DFA 6E05 6DC7
-6DCB 6DAF 6DD1 6DAE 6DDE 6DF9 6DB8 6DF7 6DF5 6DC5
-6DD2 6E1A 6DB5 6DDA 6DEB 6DD8 6DEA 6DF1 6DEE 6DE8
-6DC6 6DC4 6DAA 6DEC 6DBF 6DE6 70F9 7109 710A 70FD
-70EF 723D 727D 7281 731C 731B 7316 7313 7319 7387
-7405 740A 7403 7406 73FE 740D 74E0 74F6 74F7 751C
-7522 7565 7566 7562 7570 758F 75D4 75D5 75B5 75CA
-75CD 768E 76D4 76D2 76DB 7737 773E 773C 7736 7738
-773A 786B 7843 784E 7965 7968 796D 79FB 7A92 7A95
-7B20 7B28 7B1B 7B2C 7B26 7B19 7B1E 7B2E 7C92 7C97
-7C95 7D46 7D43 7D71 7D2E 7D39 7D3C 7D40 7D30 7D33
-7D44 7D2F 7D42 7D32 7D31 7F3D 7F9E 7F9A 7FCC 7FCE
-7FD2 801C 804A 8046 812F 8116 8123 812B 8129 8130
-8124 8202 8235 8237 8236 8239 838E 839E 8398 8378
-83A2 8396 83BD 83AB 8392 838A 8393 8389 83A0 8377
-837B 837C 8386 83A7 8655 5F6A 86C7 86C0 86B6 86C4
-86B5 86C6 86CB 86B1 86AF 86C9 8853 889E 8888 88AB
-8892 8896 888D 888B 8993 898F 8A2A 8A1D 8A23 8A25
-8A31 8A2D 8A1F 8A1B 8A22 8C49 8C5A 8CA9 8CAC 8CAB
-8CA8 8CAA 8CA7 8D67 8D66 8DBE 8DBA 8EDB 8EDF 9019
-900D 901A 9017 9023 901F 901D 9010 9015 901E 9020
-900F 9022 9016 901B 9014 90E8 90ED 90FD 9157 91CE
-91F5 91E6 91E3 91E7 91ED 91E9 9589 966A 9675 9673
-9678 9670 9674 9676 9677 966C 96C0 96EA 96E9 7AE0
-7ADF 9802 9803 9B5A 9CE5 9E75 9E7F 9EA5 9EBB 4E7F
-5070 506A 5061 505E 5060 5053 504B 505D 5072 5048
-504D 5041 505B 504A 5062 5015 5045 505F 5069 506B
-5063 5064 5046 5040 506E 5073 5057 5051 51D0 526B
-526D 526C 526E 52D6 52D3 532D 539C 5575 5576 553C
-554D 5550 5534 552A 5551 5562 5536 5535 5530 5552
-5545 550C 5532 5565 554E 5539 5548 552D 553B 5540
-554B 570A 5707 57FB 5814 57E2 57F6 57DC 57F4 5800
-57ED 57FD 5808 57F8 580B 57F3 57CF 5807 57EE 57E3
-57F2 57E5 57EC 57E1 580E 57FC 5810 57E7 5801 580C
-57F1 57E9 57F0 580D 5804 595C 5A60 5A58 5A55 5A67
-5A5E 5A38 5A35 5A6D 5A50 5A5F 5A65 5A6C 5A53 5A64
-5A57 5A43 5A5D 5A52 5A44 5A5B 5A48 5A8E 5A3E 5A4D
-5A39 5A4C 5A70 5A69 5A47 5A51 5A56 5A42 5A5C 5B72
-5B6E 5BC1 5BC0 5C59 5D1E 5D0B 5D1D 5D1A 5D20 5D0C
-5D28 5D0D 5D26 5D25 5D0F 5D30 5D12 5D23 5D1F 5D2E
-5E3E 5E34 5EB1 5EB4 5EB9 5EB2 5EB3 5F36 5F38 5F9B
-5F96 5F9F 608A 6090 6086 60BE 60B0 60BA 60D3 60D4
-60CF 60E4 60D9 60DD 60C8 60B1 60DB 60B7 60CA 60BF
-60C3 60CD 60C0 6332 6365 638A 6382 637D 63BD 639E
-63AD 639D 6397 63AB 638E 636F 6387 6390 636E 63AF
-6375 639C 636D 63AE 637C 63A4 633B 639F 6378 6385
-6381 6391 638D 6370 6553 65CD 6665 6661 665B 6659
-665C 6662 6718 6879 6887 6890 689C 686D 686E 68AE
-68AB 6956 686F 68A3 68AC 68A9 6875 6874 68B2 688F
-6877 6892 687C 686B 6872 68AA 6880 6871 687E 689B
-6896 688B 68A0 6889 68A4 6878 687B 6891 688C 688A
-687D 6B36 6B33 6B37 6B38 6B91 6B8F 6B8D 6B8E 6B8C
-6C2A 6DC0 6DAB 6DB4 6DB3 6E74 6DAC 6DE9 6DE2 6DB7
-6DF6 6DD4 6E00 6DC8 6DE0 6DDF 6DD6 6DBE 6DE5 6DDC
-6DDD 6DDB 6DF4 6DCA 6DBD 6DED 6DF0 6DBA 6DD5 6DC2
-6DCF 6DC9 6DD0 6DF2 6DD3 6DFD 6DD7 6DCD 6DE3 6DBB
-70FA 710D 70F7 7117 70F4 710C 70F0 7104 70F3 7110
-70FC 70FF 7106 7113 7100 70F8 70F6 710B 7102 710E
-727E 727B 727C 727F 731D 7317 7307 7311 7318 730A
-7308 72FF 730F 731E 7388 73F6 73F8 73F5 7404 7401
-73FD 7407 7400 73FA 73FC 73FF 740C 740B 73F4 7408
-7564 7563 75CE 75D2 75CF 75CB 75CC 75D1 75D0 768F
-7689 76D3 7739 772F 772D 7731 7732 7734 7733 773D
-7725 773B 7735 7848 7852 7849 784D 784A 784C 7826
-7845 7850 7964 7967 7969 796A 7963 796B 7961 79BB
-79FA 79F8 79F6 79F7 7A8F 7A94 7A90 7B35 7B47 7B34
-7B25 7B30 7B22 7B24 7B33 7B18 7B2A 7B1D 7B31 7B2B
-7B2D 7B2F 7B32 7B38 7B1A 7B23 7C94 7C98 7C96 7CA3
-7D35 7D3D 7D38 7D36 7D3A 7D45 7D2C 7D29 7D41 7D47
-7D3E 7D3F 7D4A 7D3B 7D28 7F63 7F95 7F9C 7F9D 7F9B
-7FCA 7FCB 7FCD 7FD0 7FD1 7FC7 7FCF 7FC9 801F 801E
-801B 8047 8043 8048 8118 8125 8119 811B 812D 811F
-812C 811E 8121 8115 8127 811D 8122 8211 8238 8233
-823A 8234 8232 8274 8390 83A3 83A8 838D 837A 8373
-83A4 8374 838F 8381 8395 8399 8375 8394 83A9 837D
-8383 838C 839D 839B 83AA 838B 837E 83A5 83AF 8388
-8397 83B0 837F 83A6 8387 83AE 8376 8659 8656 86BF
-86B7 86C2 86C1 86C5 86BA 86B0 86C8 86B9 86B3 86B8
-86CC 86B4 86BB 86BC 86C3 86BD 86BE 8852 8889 8895
-88A8 88A2 88AA 889A 8891 88A1 889F 8898 88A7 8899
-889B 8897 88A4 88AC 888C 8893 888E 8982 89D6 89D9
-89D5 8A30 8A27 8A2C 8A1E 8C39 8C3B 8C5C 8C5D 8C7D
-8CA5 8D7D 8D7B 8D79 8DBC 8DC2 8DB9 8DBF 8DC1 8ED8
-8EDE 8EDD 8EDC 8ED7 8EE0 8EE1 9024 900B 9011 901C
-900C 9021 90EF 90EA 90F0 90F4 90F2 90F3 90D4 90EB
-90EC 90E9 9156 9158 915A 9153 9155 91EC 91F4 91F1
-91F3 91F8 91E4 91F9 91EA 91EB 91F7 91E8 91EE 957A
-9586 9588 967C 966D 966B 9671 966F 96BF 976A 9804
-98E5 9997 50A2 508D 5085 5099 5091 5080 5096 5098
-509A 6700 51F1 5272 5274 5275 5269 52DE 52DD 52DB
-535A 53A5 557B 5580 55A7 557C 558A 559D 5598 5582
-559C 55AA 5594 5587 558B 5583 55B3 55AE 559F 553E
-55B2 559A 55BB 55AC 55B1 557E 5589 55AB 5599 570D
-582F 582A 5834 5824 5830 5831 5821 581D 5820 58F9
-58FA 5960 5A77 5A9A 5A7F 5A92 5A9B 5AA7 5B73 5B71
-5BD2 5BCC 5BD3 5BD0 5C0A 5C0B 5C31 5D4C 5D50 5D34
-5D47 5DFD 5E45 5E3D 5E40 5E43 5E7E 5ECA 5EC1 5EC2
-5EC4 5F3C 5F6D 5FA9 5FAA 5FA8 60D1 60E1 60B2 60B6
-60E0 611C 6123 60FA 6115 60F0 60FB 60F4 6168 60F1
-610E 60F6 6109 6100 6112 621F 6249 63A3 638C 63CF
-63C0 63E9 63C9 63C6 63CD 63D2 63E3 63D0 63E1 63D6
-63ED 63EE 6376 63F4 63EA 63DB 6452 63DA 63F9 655E
-6566 6562 6563 6591 6590 65AF 666E 6670 6674 6676
-666F 6691 667A 667E 6677 66FE 66FF 671F 671D 68FA
-68D5 68E0 68D8 68D7 6905 68DF 68F5 68EE 68E7 68F9
-68D2 68F2 68E3 68CB 68CD 690D 6912 690E 68C9 68DA
-696E 68FB 6B3E 6B3A 6B3D 6B98 6B96 6BBC 6BEF 6C2E
-6C2F 6C2C 6E2F 6E38 6E54 6E21 6E32 6E67 6E4A 6E20
-6E25 6E23 6E1B 6E5B 6E58 6E24 6E56 6E6E 6E2D 6E26
-6E6F 6E34 6E4D 6E3A 6E2C 6E43 6E1D 6E3E 6ECB 6E89
-6E19 6E4E 6E63 6E44 6E72 6E69 6E5F 7119 711A 7126
-7130 7121 7136 716E 711C 724C 7284 7280 7336 7325
-7334 7329 743A 742A 7433 7422 7425 7435 7436 7434
-742F 741B 7426 7428 7525 7526 756B 756A 75E2 75DB
-75E3 75D9 75D8 75DE 75E0 767B 767C 7696 7693 76B4
-76DC 774F 77ED 785D 786C 786F 7A0D 7A08 7A0B 7A05
-7A00 7A98 7A97 7A96 7AE5 7AE3 7B49 7B56 7B46 7B50
-7B52 7B54 7B4D 7B4B 7B4F 7B51 7C9F 7CA5 7D5E 7D50
-7D68 7D55 7D2B 7D6E 7D72 7D61 7D66 7D62 7D70 7D73
-5584 7FD4 7FD5 800B 8052 8085 8155 8154 814B 8151
-814E 8139 8146 813E 814C 8153 8174 8212 821C 83E9
-8403 83F8 840D 83E0 83C5 840B 83C1 83EF 83F1 83F4
-8457 840A 83F0 840C 83CC 83FD 83F2 83CA 8438 840E
-8404 83DC 8407 83D4 83DF 865B 86DF 86D9 86ED 86D4
-86DB 86E4 86D0 86DE 8857 88C1 88C2 88B1 8983 8996
-8A3B 8A60 8A55 8A5E 8A3C 8A41 8A54 8A5B 8A50 8A46
-8A34 8A3A 8A36 8A56 8C61 8C82 8CAF 8CBC 8CB3 8CBD
-8CC1 8CBB 8CC0 8CB4 8CB7 8CB6 8CBF 8CB8 8D8A 8D85
-8D81 8DCE 8DDD 8DCB 8DDA 8DD1 8DCC 8DDB 8DC6 8EFB
-8EF8 8EFC 8F9C 902E 9035 9031 9038 9032 9036 9102
-90F5 9109 90FE 9163 9165 91CF 9214 9215 9223 9209
-921E 920D 9210 9207 9211 9594 958F 958B 9591 9593
-9592 958E 968A 968E 968B 967D 9685 9686 968D 9672
-9684 96C1 96C5 96C4 96C6 96C7 96EF 96F2 97CC 9805
-9806 9808 98E7 98EA 98EF 98E9 98F2 98ED 99AE 99AD
-9EC3 9ECD 9ED1 839A 509B 5095 5094 509E 508B 50A3
-5083 508C 508E 509D 5068 509C 5092 5082 5087 515F
-51D4 5312 5311 53A4 53A7 5591 55A8 55A5 55AD 5577
-5645 55A2 5593 5588 558F 55B5 5581 55A3 5592 55A4
-557D 558C 55A6 557F 5595 55A1 558E 570C 5829 5837
-5819 581E 5827 5823 5828 57F5 5848 5825 581C 581B
-5833 583F 5836 582E 5839 5838 582D 582C 583B 5961
-5AAF 5A94 5A9F 5A7A 5AA2 5A9E 5A78 5AA6 5A7C 5AA5
-5AAC 5A95 5AAE 5A37 5A84 5A8A 5A97 5A83 5A8B 5AA9
-5A7B 5A7D 5A8C 5A9C 5A8F 5A93 5A9D 5BEA 5BCD 5BCB
-5BD4 5BD1 5BCA 5BCE 5C0C 5C30 5D37 5D43 5D6B 5D41
-5D4B 5D3F 5D35 5D51 5D4E 5D55 5D33 5D3A 5D52 5D3D
-5D31 5D59 5D42 5D39 5D49 5D38 5D3C 5D32 5D36 5D40
-5D45 5E44 5E41 5F58 5FA6 5FA5 5FAB 60C9 60B9 60CC
-60E2 60CE 60C4 6114 60F2 610A 6116 6105 60F5 6113
-60F8 60FC 60FE 60C1 6103 6118 611D 6110 60FF 6104
-610B 624A 6394 63B1 63B0 63CE 63E5 63E8 63EF 63C3
-649D 63F3 63CA 63E0 63F6 63D5 63F2 63F5 6461 63DF
-63BE 63DD 63DC 63C4 63D8 63D3 63C2 63C7 63CC 63CB
-63C8 63F0 63D7 63D9 6532 6567 656A 6564 655C 6568
-6565 658C 659D 659E 65AE 65D0 65D2 667C 666C 667B
-6680 6671 6679 666A 6672 6701 690C 68D3 6904 68DC
-692A 68EC 68EA 68F1 690F 68D6 68F7 68EB 68E4 68F6
-6913 6910 68F3 68E1 6907 68CC 6908 6970 68B4 6911
-68EF 68C6 6914 68F8 68D0 68FD 68FC 68E8 690B 690A
-6917 68CE 68C8 68DD 68DE 68E6 68F4 68D1 6906 68D4
-68E9 6915 6925 68C7 6B39 6B3B 6B3F 6B3C 6B94 6B97
-6B99 6B95 6BBD 6BF0 6BF2 6BF3 6C30 6DFC 6E46 6E47
-6E1F 6E49 6E88 6E3C 6E3D 6E45 6E62 6E2B 6E3F 6E41
-6E5D 6E73 6E1C 6E33 6E4B 6E40 6E51 6E3B 6E03 6E2E
-6E5E 6E68 6E5C 6E61 6E31 6E28 6E60 6E71 6E6B 6E39
-6E22 6E30 6E53 6E65 6E27 6E78 6E64 6E77 6E55 6E79
-6E52 6E66 6E35 6E36 6E5A 7120 711E 712F 70FB 712E
-7131 7123 7125 7122 7132 711F 7128 713A 711B 724B
-725A 7288 7289 7286 7285 728B 7312 730B 7330 7322
-7331 7333 7327 7332 732D 7326 7323 7335 730C 742E
-742C 7430 742B 7416 741A 7421 742D 7431 7424 7423
-741D 7429 7420 7432 74FB 752F 756F 756C 75E7 75DA
-75E1 75E6 75DD 75DF 75E4 75D7 7695 7692 76DA 7746
-7747 7744 774D 7745 774A 774E 774B 774C 77DE 77EC
-7860 7864 7865 785C 786D 7871 786A 786E 7870 7869
-7868 785E 7862 7974 7973 7972 7970 7A02 7A0A 7A03
-7A0C 7A04 7A99 7AE6 7AE4 7B4A 7B3B 7B44 7B48 7B4C
-7B4E 7B40 7B58 7B45 7CA2 7C9E 7CA8 7CA1 7D58 7D6F
-7D63 7D53 7D56 7D67 7D6A 7D4F 7D6D 7D5C 7D6B 7D52
-7D54 7D69 7D51 7D5F 7D4E 7F3E 7F3F 7F65 7F66 7FA2
-7FA0 7FA1 7FD7 8051 804F 8050 80FE 80D4 8143 814A
-8152 814F 8147 813D 814D 813A 81E6 81EE 81F7 81F8
-81F9 8204 823C 823D 823F 8275 833B 83CF 83F9 8423
-83C0 83E8 8412 83E7 83E4 83FC 83F6 8410 83C6 83C8
-83EB 83E3 83BF 8401 83DD 83E5 83D8 83FF 83E1 83CB
-83CE 83D6 83F5 83C9 8409 840F 83DE 8411 8406 83C2
-83F3 83D5 83FA 83C7 83D1 83EA 8413 83C3 83EC 83EE
-83C4 83FB 83D7 83E2 841B 83DB 83FE 86D8 86E2 86E6
-86D3 86E3 86DA 86EA 86DD 86EB 86DC 86EC 86E9 86D7
-86E8 86D1 8848 8856 8855 88BA 88D7 88B9 88B8 88C0
-88BE 88B6 88BC 88B7 88BD 88B2 8901 88C9 8995 8998
-8997 89DD 89DA 89DB 8A4E 8A4D 8A39 8A59 8A40 8A57
-8A58 8A44 8A45 8A52 8A48 8A51 8A4A 8A4C 8A4F 8C5F
-8C81 8C80 8CBA 8CBE 8CB0 8CB9 8CB5 8D84 8D80 8D89
-8DD8 8DD3 8DCD 8DC7 8DD6 8DDC 8DCF 8DD5 8DD9 8DC8
-8DD7 8DC5 8EEF 8EF7 8EFA 8EF9 8EE6 8EEE 8EE5 8EF5
-8EE7 8EE8 8EF6 8EEB 8EF1 8EEC 8EF4 8EE9 902D 9034
-902F 9106 912C 9104 90FF 90FC 9108 90F9 90FB 9101
-9100 9107 9105 9103 9161 9164 915F 9162 9160 9201
-920A 9225 9203 921A 9226 920F 920C 9200 9212 91FF
-91FD 9206 9204 9227 9202 921C 9224 9219 9217 9205
-9216 957B 958D 958C 9590 9687 967E 9688 9689 9683
-9680 96C2 96C8 96C3 96F1 96F0 976C 9770 976E 9807
-98A9 98EB 9CE6 9EF9 4E82 7CA7 50AD 50B5 50B2 50B3
-50C5 50BE 50AC 50B7 50BB 50AF 50C7 527F 5277 527D
-52DF 52E6 52E4 52E2 52E3 532F 55DF 55E8 55D3 55E6
-55CE 55DC 55C7 55D1 55E3 55E4 55EF 55DA 55E1 55C5
-55C6 55E5 55C9 5712 5713 585E 5851 5858 5857 585A
-5854 586B 584C 586D 584A 5862 5852 584B 5967 5AC1
-5AC9 5ACC 5ABE 5ABD 5ABC 5AB3 5AC2 5AB2 5D69 5D6F
-5E4C 5E79 5EC9 5EC8 5F12 5F59 5FAC 5FAE 611A 610F
-6148 611F 60F3 611B 60F9 6101 6108 614E 614C 6144
-614D 613E 6134 6127 610D 6106 6137 6221 6222 6413
-643E 641E 642A 642D 643D 642C 640F 641C 6414 640D
-6436 6416 6417 6406 656C 659F 65B0 6697 6689 6687
-6688 6696 6684 6698 668D 6703 6994 696D 695A 6977
-6960 6954 6975 6930 6982 694A 6968 696B 695E 6953
-6979 6986 695D 6963 695B 6B47 6B72 6BC0 6BBF 6BD3
-6BFD 6EA2 6EAF 6ED3 6EB6 6EC2 6E90 6E9D 6EC7 6EC5
-6EA5 6E98 6EBC 6EBA 6EAB 6ED1 6E96 6E9C 6EC4 6ED4
-6EAA 6EA7 6EB4 714E 7159 7169 7164 7149 7167 715C
-716C 7166 714C 7165 715E 7146 7168 7156 723A 7252
-7337 7345 733F 733E 746F 745A 7455 745F 745E 7441
-743F 7459 745B 745C 7576 7578 7600 75F0 7601 75F2
-75F1 75FA 75FF 75F4 75F3 76DE 76DF 775B 776B 7766
-775E 7763 7779 776A 776C 775C 7765 7768 7762 77EE
-788E 78B0 7897 7898 788C 7889 787C 7891 7893 787F
-797A 797F 7981 842C 79BD 7A1C 7A1A 7A20 7A14 7A1F
-7A1E 7A9F 7AA0 7B77 7BC0 7B60 7B6E 7B67 7CB1 7CB3
-7CB5 7D93 7D79 7D91 7D81 7D8F 7D5B 7F6E 7F69 7F6A
-7F72 7FA9 7FA8 7FA4 8056 8058 8086 8084 8171 8170
-8178 8165 816E 8173 816B 8179 817A 8166 8205 8247
-8482 8477 843D 8431 8475 8466 846B 8449 846C 845B
-843C 8435 8461 8463 8469 846D 8446 865E 865C 865F
-86F9 8713 8708 8707 8700 86FE 86FB 8702 8703 8706
-870A 8859 88DF 88D4 88D9 88DC 88D8 88DD 88E1 88CA
-88D5 88D2 899C 89E3 8A6B 8A72 8A73 8A66 8A69 8A70
-8A87 8A7C 8A63 8AA0 8A71 8A85 8A6D 8A62 8A6E 8A6C
-8A79 8A7B 8A3E 8A68 8C62 8C8A 8C89 8CCA 8CC7 8CC8
-8CC4 8CB2 8CC3 8CC2 8CC5 8DE1 8DDF 8DE8 8DEF 8DF3
-8DFA 8DEA 8DE4 8DE6 8EB2 8F03 8F09 8EFE 8F0A 8F9F
-8FB2 904B 904A 9053 9042 9054 903C 9055 9050 9047
-904F 904E 904D 9051 903E 9041 9112 9117 916C 916A
-9169 91C9 9237 9257 9238 923D 9240 923E 925B 924B
-9264 9251 9234 9249 924D 9245 9239 923F 925A 9598
-9698 9694 9695 96CD 96CB 96C9 96CA 96F7 96FB 96F9
-96F6 9756 9774 9776 9810 9811 9813 980A 9812 980C
-98FC 98F4 98FD 98FE 99B3 99B1 99B4 9AE1 9CE9 9E82
-9F0E 9F13 9F20 4E83 4E84 4EB6 50BD 50BF 50C6 50AE
-50C4 50CA 50B4 50C8 50C2 50B0 50C1 50BA 50B1 50CB
-50C9 50B6 50B8 51D7 527A 5278 527B 527C 55C3 55DB
-55CC 55D0 55CB 55CA 55DD 55C0 55D4 55C4 55E9 55BF
-55D2 558D 55CF 55D5 55E2 55D6 55C8 55F2 55CD 55D9
-55C2 5714 5853 5868 5864 584F 584D 5849 586F 5855
-584E 585D 5859 5865 585B 583D 5863 5871 58FC 5AC7
-5AC4 5ACB 5ABA 5AB8 5AB1 5AB5 5AB0 5ABF 5AC8 5ABB
-5AC6 5AB7 5AC0 5ACA 5AB4 5AB6 5ACD 5AB9 5A90 5BD6
-5BD8 5BD9 5C1F 5C33 5D71 5D63 5D4A 5D65 5D72 5D6C
-5D5E 5D68 5D67 5D62 5DF0 5E4F 5E4E 5E4A 5E4D 5E4B
-5EC5 5ECC 5EC6 5ECB 5EC7 5F40 5FAF 5FAD 60F7 6149
-614A 612B 6145 6136 6132 612E 6146 612F 614F 6129
-6140 6220 9168 6223 6225 6224 63C5 63F1 63EB 6410
-6412 6409 6420 6424 6433 6443 641F 6415 6418 6439
-6437 6422 6423 640C 6426 6430 6428 6441 6435 642F
-640A 641A 6440 6425 6427 640B 63E7 641B 642E 6421
-640E 656F 6592 65D3 6686 668C 6695 6690 668B 668A
-6699 6694 6678 6720 6966 695F 6938 694E 6962 6971
-693F 6945 696A 6939 6942 6957 6959 697A 6948 6949
-6935 696C 6933 693D 6965 68F0 6978 6934 6969 6940
-696F 6944 6976 6958 6941 6974 694C 693B 694B 6937
-695C 694F 6951 6932 6952 692F 697B 693C 6B46 6B45
-6B43 6B42 6B48 6B41 6B9B 6BFB 6BFC 6BF9 6BF7 6BF8
-6E9B 6ED6 6EC8 6E8F 6EC0 6E9F 6E93 6E94 6EA0 6EB1
-6EB9 6EC6 6ED2 6EBD 6EC1 6E9E 6EC9 6EB7 6EB0 6ECD
-6EA6 6ECF 6EB2 6EBE 6EC3 6EDC 6ED8 6E99 6E92 6E8E
-6E8D 6EA4 6EA1 6EBF 6EB3 6ED0 6ECA 6E97 6EAE 6EA3
-7147 7154 7152 7163 7160 7141 715D 7162 7172 7178
-716A 7161 7142 7158 7143 714B 7170 715F 7150 7153
-7144 714D 715A 724F 728D 728C 7291 7290 728E 733C
-7342 733B 733A 7340 734A 7349 7444 744A 744B 7452
-7451 7457 7440 744F 7450 744E 7442 7446 744D 7454
-74E1 74FF 74FE 74FD 751D 7579 7577 6983 75EF 760F
-7603 75F7 75FE 75FC 75F9 75F8 7610 75FB 75F6 75ED
-75F5 75FD 7699 76B5 76DD 7755 775F 7760 7752 7756
-775A 7769 7767 7754 7759 776D 77E0 7887 789A 7894
-788F 7884 7895 7885 7886 78A1 7883 7879 7899 7880
-7896 787B 797C 7982 797D 7979 7A11 7A18 7A19 7A12
-7A17 7A15 7A22 7A13 7A1B 7A10 7AA3 7AA2 7A9E 7AEB
-7B66 7B64 7B6D 7B74 7B69 7B72 7B65 7B73 7B71 7B70
-7B61 7B78 7B76 7B63 7CB2 7CB4 7CAF 7D88 7D86 7D80
-7D8D 7D7F 7D85 7D7A 7D8E 7D7B 7D83 7D7C 7D8C 7D94
-7D84 7D7D 7D92 7F6D 7F6B 7F67 7F68 7F6C 7FA6 7FA5
-7FA7 7FDB 7FDC 8021 8164 8160 8177 815C 8169 815B
-8162 8172 6721 815E 8176 8167 816F 8144 8161 821D
-8249 8244 8240 8242 8245 84F1 843F 8456 8476 8479
-848F 848D 8465 8451 8440 8486 8467 8430 844D 847D
-845A 8459 8474 8473 845D 8507 845E 8437 843A 8434
-847A 8443 8478 8432 8445 8429 83D9 844B 842F 8442
-842D 845F 8470 8439 844E 844C 8452 846F 84C5 848E
-843B 8447 8436 8433 8468 847E 8444 842B 8460 8454
-846E 8450 870B 8704 86F7 870C 86FA 86D6 86F5 874D
-86F8 870E 8709 8701 86F6 870D 8705 88D6 88CB 88CD
-88CE 88DE 88DB 88DA 88CC 88D0 8985 899B 89DF 89E5
-89E4 89E1 89E0 89E2 89DC 89E6 8A76 8A86 8A7F 8A61
-8A3F 8A77 8A82 8A84 8A75 8A83 8A81 8A74 8A7A 8C3C
-8C4B 8C4A 8C65 8C64 8C66 8C86 8C84 8C85 8CCC 8D68
-8D69 8D91 8D8C 8D8E 8D8F 8D8D 8D93 8D94 8D90 8D92
-8DF0 8DE0 8DEC 8DF1 8DEE 8DD0 8DE9 8DE3 8DE2 8DE7
-8DF2 8DEB 8DF4 8F06 8EFF 8F01 8F00 8F05 8F07 8F08
-8F02 8F0B 9052 903F 9044 9049 903D 9110 910D 910F
-9111 9116 9114 910B 910E 916E 916F 9248 9252 9230
-923A 9266 9233 9265 925E 9283 922E 924A 9246 926D
-926C 924F 9260 9267 926F 9236 9261 9270 9231 9254
-9263 9250 9272 924E 9253 924C 9256 9232 959F 959C
-959E 959B 9692 9693 9691 9697 96CE 96FA 96FD 96F8
-96F5 9773 9777 9778 9772 980F 980D 980E 98AC 98F6
-98F9 99AF 99B2 99B0 99B5 9AAD 9AAB 9B5B 9CEA 9CED
-9CE7 9E80 9EFD 7881 88CF 50E7 50EE 50E5 50D6 50ED
-50DA 50D5 50CF 50D1 50F1 50CE 50E9 5162 51F3 5283
-5282 5331 53AD 55FE 5600 561B 5617 55FD 5614 5606
-5609 560D 560E 55F7 5616 561F 5608 5610 55F6 5718
-5716 5875 587E 5883 5893 588A 5879 5885 587D 58FD
-5925 5922 5924 596A 5969 5AE1 5AE6 5AE9 5AD7 5AD6
-5AD8 5AE3 5B75 5BDE 5BE7 5BE1 5BE5 5BE6 5BE8 5BE2
-5BE4 5BDF 5C0D 5C62 5D84 5D87 5E5B 5E63 5E55 5E57
-5E54 5ED3 5ED6 5F0A 5F46 5F70 5FB9 6147 613F 614B
-6177 6162 6163 615F 615A 6158 6175 622A 6487 6458
-6454 64A4 6478 645F 647A 6451 6467 6434 646D 647B
-6572 65A1 65D7 65D6 66A2 66A8 669D 699C 69A8 6995
-69C1 69AE 69D3 69CB 699B 69B7 69BB 69AB 69B4 69D0
-69CD 69AD 69CC 69A6 69C3 69A3 6B49 6B4C 6C33 6F33
-6F14 6EFE 6F13 6EF4 6F29 6F3E 6F20 6F2C 6F0F 6F02
-6F22 6EFF 6EEF 6F06 6F31 6F38 6F32 6F23 6F15 6F2B
-6F2F 6F88 6F2A 6EEC 6F01 6EF2 6ECC 6EF7 7194 7199
-717D 718A 7184 7192 723E 7292 7296 7344 7350 7464
-7463 746A 7470 746D 7504 7591 7627 760D 760B 7609
-7613 76E1 76E3 7784 777D 777F 7761 78C1 789F 78A7
-78B3 78A9 78A3 798E 798F 798D 7A2E 7A31 7AAA 7AA9
-7AED 7AEF 7BA1 7B95 7B8B 7B75 7B97 7B9D 7B94 7B8F
-7BB8 7B87 7B84 7CB9 7CBD 7CBE 7DBB 7DB0 7D9C 7DBD
-7DBE 7DA0 7DCA 7DB4 7DB2 7DB1 7DBA 7DA2 7DBF 7DB5
-7DB8 7DAD 7DD2 7DC7 7DAC 7F70 7FE0 7FE1 7FDF 805E
-805A 8087 8150 8180 818F 8188 818A 817F 8182 81E7
-81FA 8207 8214 821E 824B 84C9 84BF 84C6 84C4 8499
-849E 84B2 849C 84CB 84B8 84C0 84D3 8490 84BC 84D1
-84CA 873F 871C 873B 8722 8725 8734 8718 8755 8737
-8729 88F3 8902 88F4 88F9 88F8 88FD 88E8 891A 88EF
-8AA6 8A8C 8A9E 8AA3 8A8D 8AA1 8A93 8AA4 8AAA 8AA5
-8AA8 8A98 8A91 8A9A 8AA7 8C6A 8C8D 8C8C 8CD3 8CD1
-8CD2 8D6B 8D99 8D95 8DFC 8F14 8F12 8F15 8F13 8FA3
-9060 9058 905C 9063 9059 905E 9062 905D 905B 9119
-9118 911E 9175 9178 9177 9174 9278 9280 9285 9298
-9296 927B 9293 929C 92A8 927C 9291 95A1 95A8 95A9
-95A3 95A5 95A4 9699 969C 969B 96CC 96D2 9700 977C
-9785 97F6 9817 9818 98AF 98B1 9903 9905 990C 9909
-99C1 9AAF 9AB0 9AE6 9B41 9B42 9CF4 9CF6 9CF3 9EBC
-9F3B 9F4A 50E6 50D4 50D7 50E8 50F3 50DB 50EA 50DD
-50E4 50D3 50EC 50F0 50EF 50E3 50E0 51D8 5280 5281
-52E9 52EB 5330 53AC 5627 5615 560C 5612 55FC 560F
-561C 5601 5613 5602 55FA 561D 5604 55FF 55F9 5889
-587C 5890 5898 5886 5881 587F 5874 588B 587A 5887
-5891 588E 5876 5882 5888 587B 5894 588F 58FE 596B
-5ADC 5AEE 5AE5 5AD5 5AEA 5ADA 5AED 5AEB 5AF3 5AE2
-5AE0 5ADB 5AEC 5ADE 5ADD 5AD9 5AE8 5ADF 5B77 5BE0
-5BE3 5C63 5D82 5D80 5D7D 5D86 5D7A 5D81 5D77 5D8A
-5D89 5D88 5D7E 5D7C 5D8D 5D79 5D7F 5E58 5E59 5E53
-5ED8 5ED1 5ED7 5ECE 5EDC 5ED5 5ED9 5ED2 5ED4 5F44
-5F43 5F6F 5FB6 612C 6128 6141 615E 6171 6173 6152
-6153 6172 616C 6180 6174 6154 617A 615B 6165 613B
-616A 6161 6156 6229 6227 622B 642B 644D 645B 645D
-6474 6476 6472 6473 647D 6475 6466 64A6 644E 6482
-645E 645C 644B 6453 6460 6450 647F 643F 646C 646B
-6459 6465 6477 6573 65A0 66A1 66A0 669F 6705 6704
-6722 69B1 69B6 69C9 69A0 69CE 6996 69B0 69AC 69BC
-6991 6999 698E 69A7 698D 69A9 69BE 69AF 69BF 69C4
-69BD 69A4 69D4 69B9 69CA 699A 69CF 69B3 6993 69AA
-69A1 699E 69D9 6997 6990 69C2 69B5 69A5 69C6 6B4A
-6B4D 6B4B 6B9E 6B9F 6BA0 6BC3 6BC4 6BFE 6ECE 6EF5
-6EF1 6F03 6F25 6EF8 6F37 6EFB 6F2E 6F09 6F4E 6F19
-6F1A 6F27 6F18 6F3B 6F12 6EED 6F0A 6F36 6F73 6EF9
-6EEE 6F2D 6F40 6F30 6F3C 6F35 6EEB 6F07 6F0E 6F43
-6F05 6EFD 6EF6 6F39 6F1C 6EFC 6F3A 6F1F 6F0D 6F1E
-6F08 6F21 7187 7190 7189 7180 7185 7182 718F 717B
-7186 7181 7197 7244 7253 7297 7295 7293 7343 734D
-7351 734C 7462 7473 7471 7475 7472 7467 746E 7500
-7502 7503 757D 7590 7616 7608 760C 7615 7611 760A
-7614 76B8 7781 777C 7785 7782 776E 7780 776F 777E
-7783 78B2 78AA 78B4 78AD 78A8 787E 78AB 789E 78A5
-78A0 78AC 78A2 78A4 7998 798A 798B 7996 7995 7994
-7993 7997 7988 7992 7990 7A2B 7A4A 7A30 7A2F 7A28
-7A26 7AA8 7AAB 7AAC 7AEE 7B88 7B9C 7B8A 7B91 7B90
-7B96 7B8D 7B8C 7B9B 7B8E 7B85 7B98 5284 7B99 7BA4
-7B82 7CBB 7CBF 7CBC 7CBA 7DA7 7DB7 7DC2 7DA3 7DAA
-7DC1 7DC0 7DC5 7D9D 7DCE 7DC4 7DC6 7DCB 7DCC 7DAF
-7DB9 7D96 7DBC 7D9F 7DA6 7DAE 7DA9 7DA1 7DC9 7F73
-7FE2 7FE3 7FE5 7FDE 8024 805D 805C 8189 8186 8183
-8187 818D 818C 818B 8215 8497 84A4 84A1 849F 84BA
-84CE 84C2 84AC 84AE 84AB 84B9 84B4 84C1 84CD 84AA
-849A 84B1 84D0 849D 84A7 84BB 84A2 8494 84C7 84CC
-849B 84A9 84AF 84A8 84D6 8498 84B6 84CF 84A0 84D7
-84D4 84D2 84DB 84B0 8491 8661 8733 8723 8728 876B
-8740 872E 871E 8721 8719 871B 8743 872C 8741 873E
-8746 8720 8732 872A 872D 873C 8712 873A 8731 8735
-8742 8726 8727 8738 8724 871A 8730 8711 88F7 88E7
-88F1 88F2 88FA 88FE 88EE 88FC 88F6 88FB 88F0 88EC
-88EB 899D 89A1 899F 899E 89E9 89EB 89E8 8AAB 8A99
-8A8B 8A92 8A8F 8A96 8C3D 8C68 8C69 8CD5 8CCF 8CD7
-8D96 8E09 8E02 8DFF 8E0D 8DFD 8E0A 8E03 8E07 8E06
-8E05 8DFE 8E00 8E04 8F10 8F11 8F0E 8F0D 9123 911C
-9120 9122 911F 911D 911A 9124 9121 911B 917A 9172
-9179 9173 92A5 92A4 9276 929B 927A 92A0 9294 92AA
-928D 92A6 929A 92AB 9279 9297 927F 92A3 92EE 928E
-9282 9295 92A2 927D 9288 92A1 928A 9286 928C 9299
-92A7 927E 9287 92A9 929D 928B 922D 969E 96A1 96FF
-9758 977D 977A 977E 9783 9780 9782 977B 9784 9781
-977F 97CE 97CD 9816 98AD 98AE 9902 9900 9907 999D
-999C 99C3 99B9 99BB 99BA 99C2 99BD 99C7 9AB1 9AE3
-9AE7 9B3E 9B3F 9B60 9B61 9B5F 9CF1 9CF2 9CF5 9EA7
-50FF 5103 5130 50F8 5106 5107 50F6 50FE 510B 510C
-50FD 510A 528B 528C 52F1 52EF 5104 5100 50FB 50F5
-50F9 5102 5108 5109 5105 51DC 5287 5288 5289 528D
-528A 52F0 53B2 562E 563B 5639 5632 563F 5634 5629
-5653 564E 5657 5674 5636 562F 5630 5880 589F 589E
-58B3 589C 58AE 58A9 58A6 596D 5B09 5AFB 5B0B 5AF5
-5B0C 5B08 5BEE 5BEC 5BE9 5BEB 5C64 5C65 5D9D 5D94
-5E62 5E5F 5E61 5EE2 5EDA 5EDF 5EDD 5EE3 5EE0 5F48
-5F71 5FB7 5FB5 6176 6167 616E 615D 6155 6182 617C
-6170 616B 617E 61A7 6190 61AB 618E 61AC 619A 61A4
-6194 61AE 622E 6469 646F 6479 649E 64B2 6488 6490
-64B0 64A5 6493 6495 64A9 6492 64AE 64AD 64AB 649A
-64AC 6499 64A2 64B3 6575 6577 6578 66AE 66AB 66B4
-66B1 6A23 6A1F 69E8 6A01 6A1E 6A19 69FD 6A21 6A13
-6A0A 69F3 6A02 6A05 69ED 6A11 6B50 6B4E 6BA4 6BC5
-6BC6 6F3F 6F7C 6F84 6F51 6F66 6F54 6F86 6F6D 6F5B
-6F78 6F6E 6F8E 6F7A 6F70 6F64 6F97 6F58 6ED5 6F6F
-6F60 6F5F 719F 71AC 71B1 71A8 7256 729B 734E 7357
-7469 748B 7483 747E 7480 757F 7620 7629 761F 7624
-7626 7621 7622 769A 76BA 76E4 778E 7787 778C 7791
-778B 78CB 78C5 78BA 78CA 78BE 78D5 78BC 78D0 7A3F
-7A3C 7A40 7A3D 7A37 7A3B 7AAF 7AAE 7BAD 7BB1 7BC4
-7BB4 7BC6 7BC7 7BC1 7BA0 7BCC 7CCA 7DE0 7DF4 7DEF
-7DFB 7DD8 7DEC 7DDD 7DE8 7DE3 7DDA 7DDE 7DE9 7D9E
-7DD9 7DF2 7DF9 7F75 7F77 7FAF 7FE9 8026 819B 819C
-819D 81A0 819A 8198 8517 853D 851A 84EE 852C 852D
-8513 8511 8523 8521 8514 84EC 8525 84FF 8506 8782
-8774 8776 8760 8766 8778 8768 8759 8757 874C 8753
-885B 885D 8910 8907 8912 8913 8915 890A 8ABC 8AD2
-8AC7 8AC4 8A95 8ACB 8AF8 8AB2 8AC9 8AC2 8ABF 8AB0
-8AD6 8ACD 8AB6 8AB9 8ADB 8C4C 8C4E 8C6C 8CE0 8CDE
-8CE6 8CE4 8CEC 8CED 8CE2 8CE3 8CDC 8CEA 8CE1 8D6D
-8D9F 8DA3 8E2B 8E10 8E1D 8E22 8E0F 8E29 8E1F 8E21
-8E1E 8EBA 8F1D 8F1B 8F1F 8F29 8F26 8F2A 8F1C 8F1E
-8F25 9069 906E 9068 906D 9077 9130 912D 9127 9131
-9187 9189 918B 9183 92C5 92BB 92B7 92EA 92AC 92E4
-92C1 92B3 92BC 92D2 92C7 92F0 92B2 95AD 95B1 9704
-9706 9707 9709 9760 978D 978B 978F 9821 982B 981C
-98B3 990A 9913 9912 9918 99DD 99D0 99DF 99DB 99D1
-99D5 99D2 99D9 9AB7 9AEE 9AEF 9B27 9B45 9B44 9B77
-9B6F 9D06 9D09 9D03 9EA9 9EBE 9ECE 58A8 9F52 5648
-5642 564C 5635 5641 564A 5649 5646 5658 565A 5640
-5633 563D 562C 563E 5638 562A 563A 571A 58AB 589D
-58B1 58A0 58A3 58AF 58AC 58A5 58A1 58FF 5AFF 5AF4
-5AFD 5AF7 5AF6 5B03 5AF8 5B02 5AF9 5B01 5B07 5B05
-5B0F 5C67 5D99 5D97 5D9F 5D92 5DA2 5D93 5D95 5DA0
-5D9C 5DA1 5D9A 5D9E 5E69 5E5D 5E60 5E5C 7DF3 5EDB
-5EDE 5EE1 5F49 5FB2 618B 6183 6179 61B1 61B0 61A2
-6189 619B 6193 61AF 61AD 619F 6192 61AA 61A1 618D
-6166 61B3 622D 646E 6470 6496 64A0 6485 6497 649C
-648F 648B 648A 648C 64A3 649F 6468 64B1 6498 6576
-657A 6579 657B 65B2 65B3 66B5 66B0 66A9 66B2 66B7
-66AA 66AF 6A00 6A06 6A17 69E5 69F8 6A15 69F1 69E4
-6A20 69FF 69EC 69E2 6A1B 6A1D 69FE 6A27 69F2 69EE
-6A14 69F7 69E7 6A40 6A08 69E6 69FB 6A0D 69FC 69EB
-6A09 6A04 6A18 6A25 6A0F 69F6 6A26 6A07 69F4 6A16
-6B51 6BA5 6BA3 6BA2 6BA6 6C01 6C00 6BFF 6C02 6F41
-6F26 6F7E 6F87 6FC6 6F92 6F8D 6F89 6F8C 6F62 6F4F
-6F85 6F5A 6F96 6F76 6F6C 6F82 6F55 6F72 6F52 6F50
-6F57 6F94 6F93 6F5D 6F00 6F61 6F6B 6F7D 6F67 6F90
-6F53 6F8B 6F69 6F7F 6F95 6F63 6F77 6F6A 6F7B 71B2
-71AF 719B 71B0 71A0 719A 71A9 71B5 719D 71A5 719E
-71A4 71A1 71AA 719C 71A7 71B3 7298 729A 7358 7352
-735E 735F 7360 735D 735B 7361 735A 7359 7362 7487
-7489 748A 7486 7481 747D 7485 7488 747C 7479 7508
-7507 757E 7625 761E 7619 761D 761C 7623 761A 7628
-761B 769C 769D 769E 769B 778D 778F 7789 7788 78CD
-78BB 78CF 78CC 78D1 78CE 78D4 78C8 78C3 78C4 78C9
-799A 79A1 79A0 799C 79A2 799B 6B76 7A39 7AB2 7AB4
-7AB3 7BB7 7BCB 7BBE 7BAC 7BCE 7BAF 7BB9 7BCA 7BB5
-7CC5 7CC8 7CCC 7CCB 7DF7 7DDB 7DEA 7DE7 7DD7 7DE1
-7E03 7DFA 7DE6 7DF6 7DF1 7DF0 7DEE 7DDF 7F76 7FAC
-7FB0 7FAD 7FED 7FEB 7FEA 7FEC 7FE6 7FE8 8064 8067
-81A3 819F 819E 8195 81A2 8199 8197 8216 824F 8253
-8252 8250 824E 8251 8524 853B 850F 8500 8529 850E
-8509 850D 851F 850A 8527 851C 84FB 852B 84FA 8508
-850C 84F4 852A 84F2 8515 84F7 84EB 84F3 84FC 8512
-84EA 84E9 8516 84FE 8528 851D 852E 8502 84FD 851E
-84F6 8531 8526 84E7 84E8 84F0 84EF 84F9 8518 8520
-8530 850B 8519 852F 8662 8756 8763 8764 8777 87E1
-8773 8758 8754 875B 8752 8761 875A 8751 875E 876D
-876A 8750 874E 875F 875D 876F 876C 877A 876E 875C
-8765 874F 877B 8775 8762 8767 8769 885A 8905 890C
-8914 890B 8917 8918 8919 8906 8916 8911 890E 8909
-89A2 89A4 89A3 89ED 89F0 89EC 8ACF 8AC6 8AB8 8AD3
-8AD1 8AD4 8AD5 8ABB 8AD7 8ABE 8AC0 8AC5 8AD8 8AC3
-8ABA 8ABD 8AD9 8C3E 8C4D 8C8F 8CE5 8CDF 8CD9 8CE8
-8CDA 8CDD 8CE7 8DA0 8D9C 8DA1 8D9B 8E20 8E23 8E25
-8E24 8E2E 8E15 8E1B 8E16 8E11 8E19 8E26 8E27 8E14
-8E12 8E18 8E13 8E1C 8E17 8E1A 8F2C 8F24 8F18 8F1A
-8F20 8F23 8F16 8F17 9073 9070 906F 9067 906B 912F
-912B 9129 912A 9132 9126 912E 9185 9186 918A 9181
-9182 9184 9180 92D0 92C3 92C4 92C0 92D9 92B6 92CF
-92F1 92DF 92D8 92E9 92D7 92DD 92CC 92EF 92C2 92E8
-92CA 92C8 92CE 92E6 92CD 92D5 92C9 92E0 92DE 92E7
-92D1 92D3 92B5 92E1 92C6 92B4 957C 95AC 95AB 95AE
-95B0 96A4 96A2 96D3 9705 9708 9702 975A 978A 978E
-9788 97D0 97CF 981E 981D 9826 9829 9828 9820 981B
-9827 98B2 9908 98FA 9911 9914 9916 9917 9915 99DC
-99CD 99CF 99D3 99D4 99CE 99C9 99D6 99D8 99CB 99D7
-99CC 9AB3 9AEC 9AEB 9AF3 9AF2 9AF1 9B46 9B43 9B67
-9B74 9B71 9B66 9B76 9B75 9B70 9B68 9B64 9B6C 9CFC
-9CFA 9CFD 9CFF 9CF7 9D07 9D00 9CF9 9CFB 9D08 9D05
-9D04 9E83 9ED3 9F0F 9F10 92B9 5AFA 5112 5118 5114
-5110 5115 5180 51AA 51DD 5291 5293 52F3 5659 566B
-5679 5669 5664 5678 566A 5668 5665 5671 566F 566C
-5662 5676 58C1 58BE 58C7 58C5 596E 5B1D 5B34 5B78
-5BF0 5C0E 5F4A 61B2 6191 61A9 618A 61CD 61B6 61BE
-61CA 61C8 6230 64C5 64C1 64CB 64BB 64BC 64DA 64C4
-64C7 64C2 64CD 64BF 64D2 64D4 64BE 6574 66C6 66C9
-66B9 66C4 66C7 66B8 6A3D 6A38 6A3A 6A59 6A6B 6A58
-6A39 6A44 6A62 6A61 6A4B 6A47 6A35 6A5F 6A48 6B59
-6B77 6C05 6FC2 6FB1 6FA1 6FC3 6FA4 6FC1 6FA7 6FB3
-6FC0 6FB9 6FB6 6FA6 6FA0 6FB4 71BE 71C9 71D0 71D2
-71C8 71D5 71B9 71CE 71D9 71DC 71C3 71C4 7368 749C
-74A3 7498 749F 749E 74E2 750C 750D 7634 7638 763A
-76E7 76E5 77A0 779E 779F 77A5 78E8 78DA 78EC 78E7
-79A6 7A4D 7A4E 7A46 7A4C 7A4B 7ABA 7BD9 7C11 7BC9
-7BE4 7BDB 7BE1 7BE9 7BE6 7CD5 7CD6 7E0A 7E11 7E08
-7E1B 7E23 7E1E 7E1D 7E09 7E10 7F79 7FB2 7FF0 7FF1
-7FEE 8028 81B3 81A9 81A8 81FB 8208 8258 8259 854A
-8559 8548 8568 8569 8543 8549 856D 856A 855E 8783
-879F 879E 87A2 878D 8861 892A 8932 8925 892B 8921
-89AA 89A6 8AE6 8AFA 8AEB 8AF1 8B00 8ADC 8AE7 8AEE
-8AFE 8B01 8B02 8AF7 8AED 8AF3 8AF6 8AFC 8C6B 8C6D
-8C93 8CF4 8E44 8E31 8E34 8E42 8E39 8E35 8F3B 8F2F
-8F38 8F33 8FA8 8FA6 9075 9074 9078 9072 907C 907A
-9134 9192 9320 9336 92F8 9333 932F 9322 92FC 932B
-9304 931A 9310 9326 9321 9315 932E 9319 95BB 96A7
-96A8 96AA 96D5 970E 9711 9716 970D 9713 970F 975B
-975C 9766 9798 9830 9838 983B 9837 982D 9839 9824
-9910 9928 991E 991B 9921 991A 99ED 99E2 99F1 9AB8
-9ABC 9AFB 9AED 9B28 9B91 9D15 9D23 9D26 9D28 9D12
-9D1B 9ED8 9ED4 9F8D 9F9C 511C 5113 5117 511A 5111
-51DE 5334 53E1 5670 5660 566E 5673 5666 5663 566D
-5672 565E 5677 571C 571B 58C8 58BD 58C9 58BF 58BA
-58C2 58BC 58C6 5B17 5B19 5B1B 5B21 5B14 5B13 5B10
-5B16 5B28 5B1A 5B20 5B1E 5BEF 5DAC 5DB1 5DA9 5DA7
-5DB5 5DB0 5DAE 5DAA 5DA8 5DB2 5DAD 5DAF 5DB4 5E67
-5E68 5E66 5E6F 5EE9 5EE7 5EE6 5EE8 5EE5 5F4B 5FBC
-619D 61A8 6196 61C5 61B4 61C6 61C1 61CC 61BA 61BF
-61B8 618C 64D7 64D6 64D0 64CF 64C9 64BD 6489 64C3
-64DB 64F3 64D9 6533 657F 657C 65A2 66C8 66BE 66C0
-66CA 66CB 66CF 66BD 66BB 66BA 66CC 6723 6A34 6A66
-6A49 6A67 6A32 6A68 6A3E 6A5D 6A6D 6A76 6A5B 6A51
-6A28 6A5A 6A3B 6A3F 6A41 6A6A 6A64 6A50 6A4F 6A54
-6A6F 6A69 6A60 6A3C 6A5E 6A56 6A55 6A4D 6A4E 6A46
-6B55 6B54 6B56 6BA7 6BAA 6BAB 6BC8 6BC7 6C04 6C03
-6C06 6FAD 6FCB 6FA3 6FC7 6FBC 6FCE 6FC8 6F5E 6FC4
-6FBD 6F9E 6FCA 6FA8 7004 6FA5 6FAE 6FBA 6FAC 6FAA
-6FCF 6FBF 6FB8 6FA2 6FC9 6FAB 6FCD 6FAF 6FB2 6FB0
-71C5 71C2 71BF 71B8 71D6 71C0 71C1 71CB 71D4 71CA
-71C7 71CF 71BD 71D8 71BC 71C6 71DA 71DB 729D 729E
-7369 7366 7367 736C 7365 736B 736A 747F 749A 74A0
-7494 7492 7495 74A1 750B 7580 762F 762D 7631 763D
-7633 763C 7635 7632 7630 76BB 76E6 779A 779D 77A1
-779C 779B 77A2 77A3 7795 7799 7797 78DD 78E9 78E5
-78EA 78DE 78E3 78DB 78E1 78E2 78ED 78DF 78E0 79A4
-7A44 7A48 7A47 7AB6 7AB8 7AB5 7AB1 7AB7 7BDE 7BE3
-7BE7 7BDD 7BD5 7BE5 7BDA 7BE8 7BF9 7BD4 7BEA 7BE2
-7BDC 7BEB 7BD8 7BDF 7CD2 7CD4 7CD7 7CD0 7CD1 7E12
-7E21 7E17 7E0C 7E1F 7E20 7E13 7E0E 7E1C 7E15 7E1A
-7E22 7E0B 7E0F 7E16 7E0D 7E14 7E25 7E24 7F43 7F7B
-7F7C 7F7A 7FB1 7FEF 802A 8029 806C 81B1 81A6 81AE
-81B9 81B5 81AB 81B0 81AC 81B4 81B2 81B7 81A7 81F2
-8255 8256 8257 8556 8545 856B 854D 8553 8561 8558
-8540 8546 8564 8541 8562 8544 8551 8547 8563 853E
-855B 8571 854E 856E 8575 8555 8567 8560 858C 8566
-855D 8554 8565 856C 8663 8665 8664 879B 878F 8797
-8793 8792 8788 8781 8796 8798 8779 8787 87A3 8785
-8790 8791 879D 8784 8794 879C 879A 8789 891E 8926
-8930 892D 892E 8927 8931 8922 8929 8923 892F 892C
-891F 89F1 8AE0 8AE2 8AF2 8AF4 8AF5 8ADD 8B14 8AE4
-8ADF 8AF0 8AC8 8ADE 8AE1 8AE8 8AFF 8AEF 8AFB 8C91
-8C92 8C90 8CF5 8CEE 8CF1 8CF0 8CF3 8D6C 8D6E 8DA5
-8DA7 8E33 8E3E 8E38 8E40 8E45 8E36 8E3C 8E3D 8E41
-8E30 8E3F 8EBD 8F36 8F2E 8F35 8F32 8F39 8F37 8F34
-9076 9079 907B 9086 90FA 9133 9135 9136 9193 9190
-9191 918D 918F 9327 931E 9308 931F 9306 930F 937A
-9338 933C 931B 9323 9312 9301 9346 932D 930E 930D
-92CB 931D 92FA 9325 9313 92F9 92F7 9334 9302 9324
-92FF 9329 9339 9335 932A 9314 930C 930B 92FE 9309
-9300 92FB 9316 95BC 95CD 95BE 95B9 95BA 95B6 95BF
-95B5 95BD 96A9 96D4 970B 9712 9710 9799 9797 9794
-97F0 97F8 9835 982F 9832 9924 991F 9927 9929 999E
-99EE 99EC 99E5 99E4 99F0 99E3 99EA 99E9 99E7 9AB9
-9ABF 9AB4 9ABB 9AF6 9AFA 9AF9 9AF7 9B33 9B80 9B85
-9B87 9B7C 9B7E 9B7B 9B82 9B93 9B92 9B90 9B7A 9B95
-9B7D 9B88 9D25 9D17 9D20 9D1E 9D14 9D29 9D1D 9D18
-9D22 9D10 9D19 9D1F 9E88 9E86 9E87 9EAE 9EAD 9ED5
-9ED6 9EFA 9F12 9F3D 87A4 58BB 512A 511F 5121 5132
-52F5 568E 5680 5690 5685 5687 568F 58D5 58D3 58D1
-58CE 5B30 5B2A 5B24 5B7A 5C37 5C68 5DBC 5DBA 5DBD
-5DB8 5E6B 5F4C 5FBD 61C9 61C2 61C7 61E6 61CB 6232
-6234 64CE 64CA 64D8 64E0 64F0 64E6 64EC 64F1 64E2
-64ED 6582 6583 66D9 66D6 6A80 6A94 6A84 6AA2 6A9C
-6ADB 6AA3 6A7E 6A97 6A90 6AA0 6B5C 6BAE 6BDA 6C08
-6FD8 6FF1 6FDF 6FE0 6FDB 6FE4 6FEB 6FEF 6F80 6FEC
-6FE1 6FE9 6FD5 6FEE 6FF0 71E7 71DF 71EE 71E6 71E5
-71ED 71EC 71F4 71E0 7235 7246 7370 7372 74A9 74B0
-74A6 74A8 7646 7642 764C 76EA 77B3 77AA 77B0 77AC
-77A7 77AD 77EF 78F7 78FA 78F4 78EF 7901 79A7 79AA
-7A57 7ABF 7C07 7C0D 7BFE 7BF7 7C0C 7BE0 7CE0 7CDC
-7CDE 7CE2 7CDF 7CD9 7CDD 7E2E 7E3E 7E46 7E37 7E32
-7E43 7E2B 7E3D 7E31 7E45 7E41 7E34 7E39 7E48 7E35
-7E3F 7E2F 7F44 7FF3 7FFC 8071 8072 8070 806F 8073
-81C6 81C3 81BA 81C2 81C0 81BF 81BD 81C9 81BE 81E8
-8209 8271 85AA 8584 857E 859C 8591 8594 85AF 859B
-8587 85A8 858A 8667 87C0 87D1 87B3 87D2 87C6 87AB
-87BB 87BA 87C8 87CB 893B 8936 8944 8938 893D 89AC
-8B0E 8B17 8B19 8B1B 8B0A 8B20 8B1D 8B04 8B10 8C41
-8C3F 8C73 8CFA 8CFD 8CFC 8CF8 8CFB 8DA8 8E49 8E4B
-8E48 8E4A 8F44 8F3E 8F42 8F45 8F3F 907F 907D 9084
-9081 9082 9080 9139 91A3 919E 919C 934D 9382 9328
-9375 934A 9365 934B 9318 937E 936C 935B 9370 935A
-9354 95CA 95CB 95CC 95C8 95C6 96B1 96B8 96D6 971C
-971E 97A0 97D3 9846 98B6 9935 9A01 99FF 9BAE 9BAB
-9BAA 9BAD 9D3B 9D3F 9E8B 9ECF 9EDE 9EDC 9EDD 9EDB
-9F3E 9F4B 5126 5125 5122 5124 5120 5129 52F4 5693
-568C 568D 5686 5684 5683 567E 5682 567F 5681 58D6
-58D4 58CF 58D2 5B2D 5B25 5B32 5B23 5B2C 5B27 5B26
-5B2F 5B2E 5B7B 5BF1 5BF2 5DB7 5E6C 5E6A 5FBE 5FBB
-61C3 61B5 61BC 61E7 61E0 61E5 61E4 61E8 61DE 64EF
-64E9 64E3 64EB 64E4 64E8 6581 6580 65B6 65DA 66D2
-6A8D 6A96 6A81 6AA5 6A89 6A9F 6A9B 6AA1 6A9E 6A87
-6A93 6A8E 6A95 6A83 6AA8 6AA4 6A91 6A7F 6AA6 6A9A
-6A85 6A8C 6A92 6B5B 6BAD 6C09 6FCC 6FA9 6FF4 6FD4
-6FE3 6FDC 6FED 6FE7 6FE6 6FDE 6FF2 6FDD 6FE2 6FE8
-71E1 71F1 71E8 71F2 71E4 71F0 71E2 7373 736E 736F
-7497 74B2 74AB 7490 74AA 74AD 74B1 74A5 74AF 7510
-7511 7512 750F 7584 7643 7648 7649 7647 76A4 76E9
-77B5 77AB 77B2 77B7 77B6 77B4 77B1 77A8 77F0 78F3
-78FD 7902 78FB 78FC 78F2 7905 78F9 78FE 7904 79AB
-79A8 7A5C 7A5B 7A56 7A58 7A54 7A5A 7ABE 7AC0 7AC1
-7C05 7C0F 7BF2 7C00 7BFF 7BFB 7C0E 7BF4 7C0B 7BF3
-7C02 7C09 7C03 7C01 7BF8 7BFD 7C06 7BF0 7BF1 7C10
-7C0A 7CE8 7E2D 7E3C 7E42 7E33 9848 7E38 7E2A 7E49
-7E40 7E47 7E29 7E4C 7E30 7E3B 7E36 7E44 7E3A 7F45
-7F7F 7F7E 7F7D 7FF4 7FF2 802C 81BB 81C4 81CC 81CA
-81C5 81C7 81BC 81E9 825B 825A 825C 8583 8580 858F
-85A7 8595 85A0 858B 85A3 857B 85A4 859A 859E 8577
-857C 8589 85A1 857A 8578 8557 858E 8596 8586 858D
-8599 859D 8581 85A2 8582 8588 8585 8579 8576 8598
-8590 859F 8668 87BE 87AA 87AD 87C5 87B0 87AC 87B9
-87B5 87BC 87AE 87C9 87C3 87C2 87CC 87B7 87AF 87C4
-87CA 87B4 87B6 87BF 87B8 87BD 87DE 87B2 8935 8933
-893C 893E 8941 8952 8937 8942 89AD 89AF 89AE 89F2
-89F3 8B1E 8B18 8B16 8B11 8B05 8B0B 8B22 8B0F 8B12
-8B15 8B07 8B0D 8B08 8B06 8B1C 8B13 8B1A 8C4F 8C70
-8C72 8C71 8C6F 8C95 8C94 8CF9 8D6F 8E4E 8E4D 8E53
-8E50 8E4C 8E47 8F43 8F40 9085 907E 9138 919A 91A2
-919B 9199 919F 91A1 919D 91A0 93A1 9383 93AF 9364
-9356 9347 937C 9358 935C 9376 9349 9350 9351 9360
-936D 938F 934C 936A 9379 9357 9355 9352 934F 9371
-9377 937B 9361 935E 9363 9367 934E 9359 95C7 95C0
-95C9 95C3 95C5 95B7 96AE 96B0 96AC 9720 971F 9718
-971D 9719 979A 97A1 979C 979E 979D 97D5 97D4 97F1
-9841 9844 984A 9849 9845 9843 9925 992B 992C 992A
-9933 9932 992F 992D 9931 9930 9998 99A3 99A1 9A02
-99FA 99F4 99F7 99F9 99F8 99F6 99FB 99FD 99FE 99FC
-9A03 9ABE 9AFE 9AFD 9B01 9AFC 9B48 9B9A 9BA8 9B9E
-9B9B 9BA6 9BA1 9BA5 9BA4 9B86 9BA2 9BA0 9BAF 9D33
-9D41 9D67 9D36 9D2E 9D2F 9D31 9D38 9D30 9D45 9D42
-9D43 9D3E 9D37 9D40 9D3D 7FF5 9D2D 9E8A 9E89 9E8D
-9EB0 9EC8 9EDA 9EFB 9EFF 9F24 9F23 9F22 9F54 9FA0
-78FF 53E2 5695 56AE 58D9 58D8 5B38 5F5D 61E3 6233
-64F4 64F2 64FE 6506 64FA 64FB 64F7 65B7 66DC 6726
-6AB3 6AAC 6AC3 6ABB 6AB8 6AC2 6AAE 6AAF 6B5F 6B78
-6BAF 7009 700B 6FFE 7006 6FFA 7011 700F 71FB 71FC
-71FE 71F8 7377 7375 74A7 74BF 7515 7656 7658 7652
-77BD 77BF 77BB 77BC 790E 79AE 7A61 7A62 7A60 7AC4
-7AC5 7C2B 7C27 7C2A 7C1E 7C23 7C21 7CE7 7E54 7E55
-7E5E 7E5A 7E61 7E52 7E59 7F48 7FF9 7FFB 8077 8076
-81CD 81CF 820A 85CF 85A9 85CD 85D0 85C9 85B0 85BA
-85B9 85A6 87EF 87EC 87F2 87E0 8986 89B2 89F4 8B28
-8B39 8B2C 8B2B 8C50 8D05 8E59 8E63 8E66 8E64 8E5F
-8E55 8EC0 8F49 8F4D 9087 9083 9088 91AB 91AC 91D0
-9394 938A 9396 93A2 93B3 93AE 93AC 93B0 9398 939A
-9397 95D4 95D6 95D0 95D5 96E2 96DC 96D9 96DB 96DE
-9724 97A3 97A6 97AD 97F9 984D 984F 984C 984E 9853
-98BA 993E 993F 993D 992E 99A5 9A0E 9AC1 9B03 9B06
-9B4F 9B4E 9B4D 9BCA 9BC9 9BFD 9BC8 9BC0 9D51 9D5D
-9D60 9EE0 9F15 9F2C 9380 5131 512D 512E 5698 569C
-5697 569A 569D 5699 5970 5B3C 5C69 5C6A 5DC0 5E6D
-5E6E 61D8 61DF 61ED 61EE 61F1 61EA 61F0 61EB 61D6
-61E9 64FF 6504 64FD 64F8 6501 6503 64FC 6594 65DB
-66DA 66DB 66D8 6AC5 6AB9 6ABD 6AE1 6AC6 6ABA 6AB6
-6AB7 6AC7 6AB4 6AAD 6B5E 6BC9 6C0B 7007 700C 700D
-7001 7005 7014 700E 6FFF 7000 6FFB 7026 6FFC 6FF7
-700A 7201 71FF 71F9 7203 71FD 7376 74B8 74C0 74B5
-74C1 74BE 74B6 74BB 74C2 7514 7513 765C 7664 7659
-7650 7653 7657 765A 76A6 76BD 76EC 77C2 77BA 790C
-7913 7914 7909 7910 7912 7911 79AD 79AC 7A5F 7C1C
-7C29 7C19 7C20 7C1F 7C2D 7C1D 7C26 7C28 7C22 7C25
-7C30 7E5C 7E50 7E56 7E63 7E58 7E62 7E5F 7E51 7E60
-7E57 7E53 7FB5 7FB3 7FF7 7FF8 8075 81D1 81D2 81D0
-825F 825E 85B4 85C6 85C0 85C3 85C2 85B3 85B5 85BD
-85C7 85C4 85BF 85CB 85CE 85C8 85C5 85B1 85B6 85D2
-8624 85B8 85B7 85BE 8669 87E7 87E6 87E2 87DB 87EB
-87EA 87E5 87DF 87F3 87E4 87D4 87DC 87D3 87ED 87D8
-87E3 87D7 87D9 8801 87F4 87E8 87DD 8953 894B 894F
-894C 8946 8950 8951 8949 8B2A 8B27 8B23 8B33 8B30
-8B35 8B47 8B2F 8B3C 8B3E 8B31 8B25 8B37 8B26 8B36
-8B2E 8B24 8B3B 8B3D 8B3A 8C42 8C75 8C99 8C98 8C97
-8CFE 8D04 8D02 8D00 8E5C 8E62 8E60 8E57 8E56 8E5E
-8E65 8E67 8E5B 8E5A 8E61 8E5D 8E69 8E54 8F46 8F47
-8F48 8F4B 9128 913A 913B 913E 91A8 91A5 91A7 91AF
-91AA 93B5 938C 9392 93B7 939B 939D 9389 93A7 938E
-93AA 939E 93A6 9395 9388 9399 939F 938D 93B1 9391
-93B2 93A4 93A8 93B4 93A3 93A5 95D2 95D3 95D1 96B3
-96D7 96DA 5DC2 96DF 96D8 96DD 9723 9722 9725 97AC
-97AE 97A8 97AB 97A4 97AA 97A2 97A5 97D7 97D9 97D6
-97D8 97FA 9850 9851 9852 98B8 9941 993C 993A 9A0F
-9A0B 9A09 9A0D 9A04 9A11 9A0A 9A05 9A07 9A06 9AC0
-9ADC 9B08 9B04 9B05 9B29 9B35 9B4A 9B4C 9B4B 9BC7
-9BC6 9BC3 9BBF 9BC1 9BB5 9BB8 9BD3 9BB6 9BC4 9BB9
-9BBD 9D5C 9D53 9D4F 9D4A 9D5B 9D4B 9D59 9D56 9D4C
-9D57 9D52 9D54 9D5F 9D58 9D5A 9E8E 9E8C 9EDF 9F01
-9F00 9F16 9F25 9F2B 9F2A 9F29 9F28 9F4C 9F55 5133
-56A5 58DE 58DF 58E2 5BF5 9F90 5EEC 61F2 61F7 61F6
-61F5 6500 650F 66E0 66DD 6AE5 6ADD 6ADA 6AD3 701B
-701F 7028 701A 701D 7015 7018 7206 720D 7258 72A2
-7378 737A 74BD 74CA 74E3 7587 7586 765F 7661 77C7
-7919 79B1 7A6B 7A69 7C3E 7C3F 7C38 7C3D 7C37 7C40
-7E6B 7E6D 7E79 7E69 7E6A 7F85 7E73 7FB6 7FB9 7FB8
-81D8 85E9 85DD 85EA 85D5 85E4 85E5 85F7 87FB 8805
-880D 87F9 87FE 8960 895F 8956 895E 8B41 8B5C 8B58
-8B49 8B5A 8B4E 8B4F 8B46 8B59 8D08 8D0A 8E7C 8E72
-8E87 8E76 8E6C 8E7A 8E74 8F54 8F4E 8FAD 908A 908B
-91B1 91AE 93E1 93D1 93DF 93C3 93C8 93DC 93DD 93D6
-93E2 93CD 93D8 93E4 93D7 93E8 95DC 96B4 96E3 972A
-9727 9761 97DC 97FB 985E 9858 985B 98BC 9945 9949
-9A16 9A19 9B0D 9BE8 9BE7 9BD6 9BDB 9D89 9D61 9D72
-9D6A 9D6C 9E92 9E97 9E93 9EB4 56A8 5134 5135 5296
-52F7 53B4 56AB 56AD 56A6 56A7 56AA 56AC 58DA 58DD
-58DB 5912 5B3D 5B3E 5B3F 5DC3 5E70 5FBF 61FB 6507
-6510 650D 6509 650C 650E 6584 65DE 65DD 66DE 6AE7
-6AE0 6ACC 6AD1 6AD9 6ACB 6ADF 6ADC 6AD0 6AEB 6ACF
-6ACD 6ADE 6B60 6BB0 6C0C 7019 7027 7020 7016 702B
-7021 7022 7023 7029 7017 7024 701C 702A 720C 720A
-7207 7202 7205 72A5 72A6 72A4 72A3 72A1 74CB 74C5
-74B7 74C3 7516 7660 77C9 77CA 77C4 77F1 791D 791B
-7921 791C 7917 791E 79B0 7A67 7A68 7C33 7C3C 7C39
-7C2C 7C3B 7CEC 7CEA 7E76 7E75 7E78 7E70 7E77 7E6F
-7E7A 7E72 7E74 7E68 7F4B 7F4A 7F83 7F86 7FB7 7FFD
-7FFE 8078 81D7 81D5 8264 8261 8263 85EB 85F1 85ED
-85D9 85E1 85E8 85DA 85D7 85EC 85F2 85F8 85D8 85DF
-85E3 85DC 85D1 85F0 85E6 85EF 85DE 85E2 8800 87FA
-8803 87F6 87F7 8809 880C 880B 8806 87FC 8808 87FF
-880A 8802 8962 895A 895B 8957 8961 895C 8958 895D
-8959 8988 89B7 89B6 89F6 8B50 8B48 8B4A 8B40 8B53
-8B56 8B54 8B4B 8B55 8B51 8B42 8B52 8B57 8C43 8C77
-8C76 8C9A 8D06 8D07 8D09 8DAC 8DAA 8DAD 8DAB 8E6D
-8E78 8E73 8E6A 8E6F 8E7B 8EC2 8F52 8F51 8F4F 8F50
-8F53 8FB4 9140 913F 91B0 91AD 93DE 93C7 93CF 93C2
-93DA 93D0 93F9 93EC 93CC 93D9 93A9 93E6 93CA 93D4
-93EE 93E3 93D5 93C4 93CE 93C0 93D2 93E7 957D 95DA
-95DB 96E1 9729 972B 972C 9728 9726 97B3 97B7 97B6
-97DD 97DE 97DF 985C 9859 985D 9857 98BF 98BD 98BB
-98BE 9948 9947 9943 99A6 99A7 9A1A 9A15 9A25 9A1D
-9A24 9A1B 9A22 9A20 9A27 9A23 9A1E 9A1C 9A14 9AC2
-9B0B 9B0A 9B0E 9B0C 9B37 9BEA 9BEB 9BE0 9BDE 9BE4
-9BE6 9BE2 9BF0 9BD4 9BD7 9BEC 9BDC 9BD9 9BE5 9BD5
-9BE1 9BDA 9D77 9D81 9D8A 9D84 9D88 9D71 9D80 9D78
-9D86 9D8B 9D8C 9D7D 9D6B 9D74 9D75 9D70 9D69 9D85
-9D73 9D7B 9D82 9D6F 9D79 9D7F 9D87 9D68 9E94 9E91
-9EC0 9EFC 9F2D 9F40 9F41 9F4D 9F56 9F57 9F58 52F8
-56B7 56B6 56B4 56BC 58E4 5B40 5B43 5B7D 5BF6 5DC9
-61F8 61FA 6518 6514 6519 66E6 6727 6AEC 703E 7030
-7032 7210 737B 74CF 7662 7665 7926 792A 792C 792B
-7AC7 7AF6 7C4C 7C43 7C4D 7CEF 7CF0 8FAE 7E7D 7E7C
-7E82 7F4C 8000 81DA 8266 85FB 85F9 8611 85FA 8606
-860B 8607 860A 8814 8815 8964 89BA 89F8 8B70 8B6C
-8B66 8B6F 8B5F 8B6B 8D0F 8D0D 8E89 8E81 8E85 8E82
-91B4 91CB 9418 9403 93FD 95E1 9730 98C4 9952 9951
-99A8 9A2B 9A30 9A37 9A35 9C13 9C0D 9E79 9EB5 9EE8
-9F2F 9F5F 9F63 9F61 5337 56B2 56B5 56B3 58E3 5B45
-5DC6 5DC7 5EEE 5EEF 5FC0 5FC1 61F9 6517 6516 6515
-6513 65DF 66E8 66E3 66E4 6AF3 6AF0 6AEA 6AE8 6AF9
-6AF1 6AEE 6AEF 703C 7035 702F 7037 7034 7031 7042
-7038 703F 703A 7039 7040 703B 7033 7041 7213 7214
-72A8 737D 737C 74BA 76AB 76AA 76BE 76ED 77CC 77CE
-77CF 77CD 77F2 7925 7923 7927 7928 7924 7929 79B2
-7A6E 7A6C 7A6D 7AF7 7C49 7C48 7C4A 7C47 7C45 7CEE
-7E7B 7E7E 7E81 7E80 7FBA 7FFF 8079 81DB 81D9 820B
-8268 8269 8622 85FF 8601 85FE 861B 8600 85F6 8604
-8609 8605 860C 85FD 8819 8810 8811 8817 8813 8816
-8963 8966 89B9 89F7 8B60 8B6A 8B5D 8B68 8B63 8B65
-8B67 8B6D 8DAE 8E86 8E88 8E84 8F59 8F56 8F57 8F55
-8F58 8F5A 908D 9143 9141 91B7 91B5 91B2 91B3 940B
-9413 93FB 9420 940F 9414 93FE 9415 9410 9428 9419
-940D 93F5 9400 93F7 9407 940E 9416 9412 93FA 9409
-93F8 940A 93FF 93FC 940C 93F6 9411 9406 95DE 95E0
-95DF 972E 972F 97B9 97BB 97FD 97FE 9860 9862 9863
-985F 98C1 98C2 9950 994E 9959 994C 994B 9953 9A32
-9A34 9A31 9A2C 9A2A 9A36 9A29 9A2E 9A38 9A2D 9AC7
-9ACA 9AC6 9B10 9B12 9B11 9C0B 9C08 9BF7 9C05 9C12
-9BF8 9C40 9C07 9C0E 9C06 9C17 9C14 9C09 9D9F 9D99
-9DA4 9D9D 9D92 9D98 9D90 9D9B 9DA0 9D94 9D9C 9DAA
-9D97 9DA1 9D9A 9DA2 9DA8 9D9E 9DA3 9DBF 9DA9 9D96
-9DA6 9DA7 9E99 9E9B 9E9A 9EE5 9EE4 9EE7 9EE6 9F30
-9F2E 9F5B 9F60 9F5E 9F5D 9F59 9F91 5137 5138 56C1
-56C0 56C2 5914 5C6C 5DCD 61FC 61FE 651D 651C 6595
-66E9 6AFB 6B04 6AFA 6BB2 704C 721B 72A7 74D6 74D4
-7669 77D3 7C50 7E8F 7E8C 7FBC 8617 862D 861A 8823
-8822 8821 881F 896A 896C 89BD 8B74 8B77 8B7D 8D13
-8E8A 8E8D 8E8B 8F5F 8FAF 91BA 942E 9433 9435 943A
-9438 9432 942B 95E2 9738 9739 9732 97FF 9867 9865
-9957 9A45 9A43 9A40 9A3E 9ACF 9B54 9B51 9C2D 9C25
-9DAF 9DB4 9DC2 9DB8 9E9D 9EEF 9F19 9F5C 9F66 9F67
-513A 5139 5298 5297 56C3 56BD 56BE 5B48 5B47 5DCB
-5DCF 5EF1 61FD 651B 6B02 6AFC 6B03 6AF8 6B00 7043
-7044 704A 7048 7049 7045 7046 721D 721A 7219 737E
-7517 766A 77D0 792D 7931 792F 7C54 7C53 7CF2 7E8A
-7E87 7E88 7E8B 7E86 7E8D 7F4D 7FBB 8030 81DD 8618
-862A 8626 861F 8623 861C 8619 8627 862E 8621 8620
-8629 861E 8625 8829 881D 881B 8820 8824 881C 882B
-884A 896D 8969 896E 896B 89FA 8B79 8B78 8B45 8B7A
-8B7B 8D10 8D14 8DAF 8E8E 8E8C 8F5E 8F5B 8F5D 9146
-9144 9145 91B9 943F 943B 9436 9429 943D 943C 9430
-9439 942A 9437 942C 9440 9431 95E5 95E4 95E3 9735
-973A 97BF 97E1 9864 98C9 98C6 98C0 9958 9956 9A39
-9A3D 9A46 9A44 9A42 9A41 9A3A 9A3F 9ACD 9B15 9B17
-9B18 9B16 9B3A 9B52 9C2B 9C1D 9C1C 9C2C 9C23 9C28
-9C29 9C24 9C21 9DB7 9DB6 9DBC 9DC1 9DC7 9DCA 9DCF
-9DBE 9DC5 9DC3 9DBB 9DB5 9DCE 9DB9 9DBA 9DAC 9DC8
-9DB1 9DAD 9DCC 9DB3 9DCD 9DB2 9E7A 9E9C 9EEB 9EEE
-9EED 9F1B 9F18 9F1A 9F31 9F4E 9F65 9F64 9F92 513C
-513B 56C8 56CA 56C9 5B7F 5DD4 5DD2 5F4E 61FF 6524
-6B0A 6B61 7051 7058 7380 74E4 758A 766E 766C 79B3
-7C60 7C5F 807E 807D 81DF 8972 896F 89FC 8B80 8D16
-8D17 8E91 8E93 8F61 9148 9444 9451 9452 973D 973E
-97C3 97C1 986B 9955 9A55 9A4D 9AD2 9B1A 9C49 9C31
-9C3E 9C3B 9DD3 9DD7 9F34 9F6C 9F6A 9F94 4EB9 56C6
-56C5 56CB 5971 5B4B 5B4C 5DD5 5DD1 5EF2 6521 6520
-6526 6522 6B0B 6B08 6B09 6C0D 7055 7056 7057 7052
-721E 721F 72A9 737F 74D8 74D5 74D9 74D7 766D 76AD
-7935 79B4 7A70 7A71 7C57 7C5C 7C59 7C5B 7C5A 7CF4
-7CF1 7E91 7F4F 7F87 81DE 826B 8634 8635 8633 862C
-8632 8636 882C 8828 8826 882A 8825 8971 89BF 89BE
-89FB 8B7E 8B84 8B82 8B86 8B85 8B7F 8D15 8E95 8E94
-8E9A 8E92 8E90 8E96 8E97 8F60 8F62 9147 944C 9450
-944A 944B 944F 9447 9445 9448 9449 9446 973F 97E3
-986A 9869 98CB 9954 995B 9A4E 9A53 9A54 9A4C 9A4F
-9A48 9A4A 9A49 9A52 9A50 9AD0 9B19 9B2B 9B3B 9B56
-9B55 9C46 9C48 9C3F 9C44 9C39 9C33 9C41 9C3C 9C37
-9C34 9C32 9C3D 9C36 9DDB 9DD2 9DDE 9DDA 9DCB 9DD0
-9DDC 9DD1 9DDF 9DE9 9DD9 9DD8 9DD6 9DF5 9DD5 9DDD
-9EB6 9EF0 9F35 9F33 9F32 9F42 9F6B 9F95 9FA2 56CC
-5DD6 6200 6523 652B 652A 66EC 6B10 74DA 7ACA 7C64
-7C63 7C65 7E93 7E96 7E94 81E2 8638 863F 8831 8B8A
-9090 908F 9463 9460 9464 9768 986F 995C 9A5A 9A5B
-9A57 9AD3 9AD4 9AD1 9C54 9C57 9C56 9DE5 9E9F 9EF4
-513D 5299 58E8 58E7 5972 5B4D 5DD8 882F 5F4F 6201
-6203 6204 6529 6525 6596 66EB 6B11 6B12 6B0F 6BCA
-705B 705A 7222 7382 7381 7383 7670 77D4 7C67 7C66
-7E95 826C 863A 8640 8639 863C 8631 863B 863E 8830
-8832 882E 8833 8976 8974 8973 89FE 8B8C 8B8E 8B8B
-8B88 8C45 8D19 8E98 8F64 8F63 91BC 9462 9455 945D
-9457 945E 97C4 97C5 9800 9A56 9A59 9B1E 9B1F 9B20
-9C52 9C58 9C50 9C4A 9C4D 9C4B 9C55 9C59 9C4C 9C4E
-9DFB 9DF7 9DEF 9DE3 9DEB 9DF8 9DE4 9DF6 9DE1 9DEE
-9DE6 9DF2 9DF0 9DE2 9DEC 9DF4 9DF3 9DE8 9DED 9EC2
-9ED0 9EF2 9EF3 9F06 9F1C 9F38 9F37 9F36 9F43 9F4F
-9F71 9F70 9F6E 9F6F 56D1 58E9 652C 705E 7671 7672
-77D7 7F50 7F88 8836 8839 8862 8B93 8B92 8B96 8277
-8D1B 91C0 946A 9742 9748 9744 97C6 9870 9A5F 9B22
-9B58 9C5F 9DF9 9DFA 9E7C 9E7D 9F07 9F77 9F72 56D3
-56CD 5B4E 5C6D 652D 66ED 66EE 6B13 705F 7061 705D
-7060 7223 74DB 74E5 77D5 7938 79B7 79B6 7C6A 7E97
-7F89 826D 8643 8838 8837 8835 884B 8B94 8B95 8E9E
-8E9F 8EA0 8E9D 91BE 91BD 91C2 946B 9468 9469 96E5
-9746 9743 9747 97C7 97E5 9A5E 9AD5 9B59 9C63 9C67
-9C66 9C62 9C5E 9C60 9E02 9DFE 9E07 9E03 9E06 9E05
-9E00 9E01 9E09 9DFF 9DFD 9E04 9EA0 9F1E 9F46 9F74
-9F75 9F76 5EF3 6B16 7063 7C6C 7C6E 883B 89C0 8EA1
-91C1 9472 9470 9871 995E 9AD6 9B23 9ECC 56D4 652E
-65B8 6B18 6B19 6B17 6B1A 7062 7226 72AA 77D8 77D9
-7939 7C69 7C6B 7CF6 7E9A 7E98 7E9B 7E99 81E0 81E1
-8646 8647 8648 8979 897A 897C 897B 89FF 8B98 8B99
-8EA5 8EA4 8EA3 946E 946D 946F 9471 9473 9749 9872
-995F 9C68 9C6E 9C6D 9E0B 9E0D 9E10 9E0F 9E12 9E11
-9EA1 9EF5 9F09 9F47 9F78 9F7B 9F7A 9F79 7064 77DA
-8B9A 9477 97C9 9A62 9A65 571E 7066 7C6F 883C 8DB2
-8EA6 91C3 9474 9478 9476 9475 9A60 9C74 9C73 9C71
-9C75 9E14 9E13 9EF6 9F0A 9FA4 9B2E 7E9C 8B9C 8EAA
-91C5 947D 947E 947C 9C77 9C78 9EF7 7068 7065 7CF7
-866A 883E 883D 883F 8B9E 8C9C 8EA9 8EC9 974B 9873
-9874 98CC 9961 99AB 9A64 9A66 9A67 9B24 9E15 9E17
-9F48 8C54 947F 9E1A 6207 6B1E 7227 864C 8EA8 9482
-9480 9481 9A69 9A68 9E19 7228 9A6A 9B31 9E1B 9E1E
-864B 8B9F 9483 9C79 9EB7 7675 9A6B 9C7A 9E1D 7069
-7C72 706A 7229 9EA4 9F7E 9F49 9F98
+FDD0-2801
+4E00 4E28 4E36 4E3F 4E40 4E41 2E84 4E59 4E5A 4E5B
+200CA 200CB 200CC 200CD 200D1 4E85 2010C 3006 3007 3021
+3025 303B
+FDD0-2802
+4E01 4E02 4E03 4E04 4E05 4E06 4E29 4E37 4E42 4E43
+4E44 20086 20087 2008A 4E5C 4E5D 4E86 2010E 4E8C 4EA0
+4EBA 4EBB 513F 5165 516B 2E86 5182 5196 51AB 2E87
+51E0 51F5 2E88 5200 5201 5202 529B 52F9 5315 531A
+5338 5341 2E8A 535C 5369 5382 53B6 2E80 53C8 5DDC
+8BA0 2ECF 2ED6 28E0F 3022 3024 3026
+FDD0-2803
+4E07 4E08 4E09 4E0A 4E0B 4E0C 4E90 5344 3404 4E2A
+4E2B 4E38 4E49 4E45 4E46 4E47 4E48 4E4A 4E5E 4E5F
+4E60 4E87 4E8D 4E8E 4E8F 4EA1 4EBC 4EBD 4EBE 4EBF
+5140 5166 51E1 51E2 51E3 5203 5204 529C 52FA 5342
+5343 353E 536A 536B 53C9 53E3 56D7 571F 58EB 5902
+590A 5915 5927 5928 5973 5B50 5B51 5B52 5B53 5B80
+5BF8 2E8C 2E8D 5C0F 5C22 21BC1 21BC2 5C38 5C6E 5C71
+5DDB 5DDD 21FE8 5DE5 5DF1 5DF2 5DF3 5DFE 5E72 4E61
+5E7A 5E7F 5EF4 5EFE 5F0B 5F13 2E95 5F50 5F51 5F61
+5F73 5FC4 624C 624D 6C35 72AD 7E9F 2EBE 8279 2ECC
+95E8 961D 98DE 9963 9A6C 3005 3023 3027
+FDD0-2804
+4E0D 4E0E 4E0F 4E10 4E11 4E12 4E13 4E2D 4E2E 4E2F
+4E30 4E39 4E3A 4E4B 4E4C 5C39 4E63 4E64 4E65 4E66
+4E88 4E91 4E92 4E93 4E94 4E95 4E96 4EA2 4EA3 4EC0
+4EC1 4EC2 4EC3 4EC4 4EC5 4EC6 4EC7 4EC8 4EC9 4ECA
+4ECB 4ECC 4ECD 4ECE 4ECF 4ED0 4ED1 4ED2 4ED3 5141
+5142 5143 5167 516C 516D 516E 516F 5183 5184 5185
+5186 5187 5188 34C1 5197 5198 51E4 20630 51F6 20676
+5205 5206 5207 5208 529D 529E 52FB 52FC 52FD 52FE
+52FF 5300 5301 5302 352B 5316 5339 533A 3539 5345
+5346 5347 5348 535D 535E 536C 5383 5384 5385 5386
+53B7 53B8 53B9 53CA 53CB 53CC 53CD 53CE 5720 5721
+2123C 58EC 5903 5929 592A 592B 592C 592D 5B54 5C10
+5C11 5C23 5C24 5C3A 5C6F 4E62 5C72 5DF4
+5DFF 5E00 5E01 5E7B 5EFF 5F00 5F0C 5F14 5F15 5F16
+5FC3 5FC6 6208 6236 6237 6238 624B 624E 22A66 652F
+6534 6535 6587 6597 65A4 65B9 65E0 65E1 2E9C 65E5
+66F0 2E9D 6708 6728 6729 233B4 6B20 6B62 6B79 6BB3
+6BCB 6BCC 6BD4 6BDB 6C0F 6C14 6C34 706B 706C 2EA5
+722A 722B 7236 723B 4E2C 723F 7247 3E26 7259 2EA7
+725B 725C 72AC 738B 248E9 793B 25605 7F53 8002 8080
+2EBC 89C1 8BA1 8BA2 8BA3 8BA4 8BA5 8D1D 8F66 2ECD
+8FB6 95E9 97E6 98CE 3028 3029
+FDD0-2805
+4E17 3400 4E14 4E15 4E16 4E18 4E19 4E1A 4E1B 4E1C
+4E1D 4E31 4E3B 4E3C 4E4D 4E4E 4E4F 4E50 20094 4E67
+4E97 3430 3431 3432 3433 3434 3435 3436 3437 4ED4
+4ED5 4ED6 4ED7 4ED8 4ED9 4EDA 4EDB 4EDC 4EDD 4EDE
+4EDF 4EE0 4EE1 4EE2 4EE3 4EE4 4EE5 4EE6 4EE7 4EE8
+4EE9 4EEA 4EEB 4EEC 4EED 201A9 201AB 5144 5145 34B0
+5170 5189 518A 518B 518C 20547 5199 519A 51AC 51AD
+51AE 51AF 51E5 51E6 51E7 51F7 51F8 51F9 51FA 51FB
+5209 520A 520B 520C 520D 529F 52A0 52A1 52A2 5303
+5304 5305 5306 5307 5317 531B 531C 531D 531E 5349
+534A 534C 535F 5360 5361 5362 536D 536E 536F 20A11
+5387 5388 5389 53BA 53BB 53BC 53CF 53D0 53D1 53E4
+53E5 53E6 53E7 53E8 53E9 53EA 53EB 53EC
+53ED 53EE 53EF 53F0 53F1 53F2 53F3 53F4 53F5 53F6
+53F7 53F8 53F9 53FA 53FB 53FC 53FD 53FE 20BA8 20BA9
+56D8 56D9 56DA 56DB 56DC 3626 5722 5723 5724 5725
+5726 5727 58ED 5904 5916 5917 5918 592E 592F 5930
+5931 5932 5933 5934 5974 5975 5976 5B55 5B81 5B82
+5B83 5B84 5BF9 5C12 5C13 5C14 5C15 5C3B 5C3C 5C73
+5C74 5C75 5C76 5C77 5DE6 5DE7 5DE8 3832 3833 5E02
+5E03 5E04 5E05 5E73 5E7C 5E80 5E81 5E82 5E83 5F01
+5F0D 5F17 5F18 5F52 38FA 5FC5 5FC7 5FC9 5FCA 225AF
+6209 620A 620B 6239 6250 6251 6252 6253 6254 6255
+6256 624F 65A5 65E6 65E7 2313D 66F1 672A 672B 672C
+672D 672E 672F 6730 6B63 6B7A 6BCD 6C10 6C11 6C15
+6C3A 6C36 6C37 6C38 6C39 6C3B 6C3E 6C3F
+6C40 6C41 6C43 6C44 6C45 6C47 6C48 6C49 706D 72AE
+72AF 72B0 7384 7389 738A 738C 738D 74DC 74E6 7518
+751F 7528 7529 7530 7531 7532 7533 7534 7535 2EAA
+758B 24D13 7592 7676 767D 76AE 76BF 76EE 77DB 77E2
+77F3 2EAC 793A 79B8 79BE 7A74 7ACB 7EA0 7F52 2626A
+2626B 808A 827A 8864 27607 8BA6 8BA7 8BA8 8BA9 8BAA
+8BAB 8BAC 8BAD 8BAE 8BAF 8BB0 8BB1 8F67 8FB7 9092
+9093 9485 957F 95EA 961E 961F 9964 9965 9A6D 9E1F
+9F99
+FDD0-2806
+3401 4E1E 4E1F 4E20 4E21 4E22 4E51 4E52 4E53 4E54
+4E68 4E69 4E6A 4E6B 4E6C 4E6D 4E6E 4E6F 4E70 4E89
+4E98 4E99 4E9A 342B 4EA4 4EA5 4EA6 4EA7 3438 3439
+343B 343F 3440 4EEE 4EEF 4EF0 4EF1 4EF2 4EF3 4EF4
+4EF5 4EF6 4EF7 4EF8 4EF9 4EFA 4EFB 4EFC 4EFD 4EFE
+4EFF 4F00 4F01 4F02 4F03 4F04 4F05 4F06 4F07 4F08
+4F09 4F0A 4F0B 4F0C 4F0D 4F0E 4F0F 4F10 4F11 4F12
+4F13 4F14 4F15 4F16 4F17 4F18 4F19 4F1A 4F1B 4F1C
+4F1D 4F1E 4F1F 4F20 4F21 4F22 4F23 4F24 4F25 4F26
+4F27 4F28 4F29 4F2A 4F2B 4F2C 4F64 201C1 201D4 5146
+5147 5148 5149 514A 5168 6C3D 5171 5172 5173 5174
+518D 518E 519B 519C 51B0 51B1 51B2 51B3 51B4 205B3
+51E8 51E9 51EA 51EB 51FC 520E 520F 5210
+5211 5212 5213 5214 5215 5216 5217 5218 5219 521A
+521B 52A3 52A4 52A5 52A6 52A7 52A8 5308 531F 5320
+5321 5322 353B 534B 534D 534E 534F 5350 5370 5371
+3542 538A 538B 538C 538D 53BD 53BE 53D2 3566 53FF
+5400 5401 5402 5403 5404 5405 5406 5407 5408 5409
+540A 540B 540C 540D 540E 540F 5410 5411 5412 5413
+5414 5415 5416 5417 20BBF 20BC6 56DD 56DE 56DF 56E0
+56E1 56E2 56E3 5728 5729 572A 572B 572C 572D 572E
+572F 5730 5731 5732 5733 5734 5735 5736 5737 5738
+5739 573A 2124F 58EE 5905 5919 591A 591B 5935 5936
+5937 5938 5939 593A 593B 593C 36A5 5977 5978 5979
+597A 597B 597C 597D 597E 597F 5980 5981 5982 5983
+5984 5985 5986 5987 5988 216B8 216BA 5B56
+5B57 5B58 5B59 21944 5B85 5B86 5B87 5B88 5B89 5BFA
+5BFB 5BFC 5C16 5C17 5C18 5C25 5C26 5C27 5C3D 21C2A
+5C70 5C78 5C79 5C7A 5C7B 5C7C 5C7D 5C7E 5C7F 5C80
+5C81 5C82 5C83 21D46 5DDE 5DDF 5DE9 5DEA 3834 3835
+3836 5E06 5E07 5E08 5E74 5E75 5E76 5E84 5E85 5E86
+5EF5 5F02 5F0E 5F0F 5F10 5F19 5F1A 5F1B 5F1C 5F53
+5F74 5F75 5FC8 5FCB 5FCF 5FD3 5FD4 5FD5 5FD6 5FD9
+5FDA 5FDB 225BE 620C 620D 620E 620F 6210 6257 6258
+6259 625A 625B 625C 625D 625E 6260 6261 6262 6263
+6264 6265 6266 6267 6268 6269 626A 626B 626C 625F
+6530 6536 6537 65E8 65E9 65EA 65EB 65EC 65ED 65EE
+65EF 3B30 66F2 66F3 6709 3B41 6731 6732 6733 6734
+6735 6736 6737 6738 6739 673A 673B 673C
+673D 673E 673F 6740 6741 6742 6743 6B21 6B22 6B64
+6B7B 6BCE 6BD5 6C12 6C16 6C17 6C18 6C3C 6C46 6C4A
+6C4B 6C4C 6C4D 6C4E 6C4F 6C50 6C51 6C52 6C53 6C54
+6C55 6C57 6C58 6C59 6C5A 6C5B 6C5C 6C5D 6C5F 6C60
+6C61 6C62 6C63 6C64 6C77 706E 706F 7070 7071 7072
+7073 7237 725D 725E 725F 72B1 72B2 72B3 72B4 72B5
+72B7 72B8 24725 3EA8 3EA9 3EAA 738E 738F 7390 7391
+752A 7536 767E 767F 2EAE 793C 7A75 7AF9 7C73 7CF8
+7CF9 7EA1 7EA2 7EA3 7EA4 7EA5 7EA6 7EA7 7EA8 7EA9
+7EAA 7EAB 7F36 7F51 2EB6 7F8A 2634B 2634C 7FBD 8001
+8003 800C 8012 8033 807F 26612 8089 808B 808C 808D
+808E 81E3 81EA 81F3 81FC 26951 820C 821B 821F 826E
+8272 8278 827B 827C 827D 827E 827F 8280
+8281 8282 864D 866B 8840 884C 8863 897E 897F 8980
+89C2 8BB2 8BB3 8BB4 8BB5 8BB6 8BB7 8BB8 8BB9 8BBA
+8BBB 8BBC 8BBD 8BBE 8BBF 8BC0 8D1E 8D1F 8D20 8D71
+8F68 8FB8 8FB9 8FBA 8FBB 8FBC 8FBD 9094 9096 9097
+9098 9099 909A 909B 909C 909D 9486 9487 95EB 95EC
+95ED 95EE 95EF 9620 9621 9622 9623 9624 9875 9966
+9967 9A6E 9A6F 9A70 9F50
+FDD0-2807
+4E23 4E24 4E25 4E3D 20021 4E32 20068 4E55 4E71 4E72
+4E8A 20118 4E9C 4EA8 4EA9 4EAA 3446 4F2D 4F2E 4F2F
+4F30 4F31 4F32 4F33 4F34 4F35 4F36 4F37 4F38 4F39
+4F3A 4F3B 4F3C 4F3D 4F3E 4F3F 4F40 4F41 4F42 4F43
+4F44 4F45 4F46 4F47 4F48 4F49 4F4A 4F4B 4F4D 4F4E
+4F4F 4F50 4F51 4F52 4F53 4F54 4F55 4F56 4F57 4F58
+4F59 4F5A 4F5B 4F5C 4F5D 4F5E 4F5F 4F60 4F61 4F62
+4F63 4F65 4F66 4F67 4F68 201F2 514B 514C 514D 514E
+514F 5150 5151 34B3 5175 518F 519D 34C8 51B5 51B6
+51B7 51B8 51B9 51BA 51BB 51EC 34DF 521C 521D 521E
+521F 5220 5221 5222 5223 5224 5225 5226 5227 5228
+5229 522A 522B 522C 522D 52A9 52AA 52AB 52AC 52AD
+52AE 52AF 52B0 52B1 52B2 52B3 52B4 5309
+208D5 3530 5323 5324 5325 3537 533B 5363 5364 5372
+5373 5374 5375 538E 538F 5390 5391 53BF 53D3 356D
+3570 3572 5418 5419 541A 541B 541C 541D 541E 541F
+5420 5421 5422 5423 5424 5425 5426 5427 5428 5429
+542A 542B 542C 542D 542E 542F 5430 5431 5432 5433
+5434 5435 5436 5437 5438 5439 543A 543B 543C 543D
+543E 543F 5440 5441 5442 5443 5444 5445 5446 5447
+5448 5449 544A 544B 544C 544D 544E 544F 5450 5451
+5452 5453 5454 5455 5456 5457 5458 5459 545A 545B
+545C 20BCB 20BE2 20BEB 20BFB 20BFF 56E4 56E5 56E6 56E7
+56E8 56E9 56EA 56EB 56EC 56ED 56EE 56EF 56F0 56F1
+56F2 56F3 56F4 56F5 3629 362B 362D 362E 3630 573B
+573C 573D 573E 573F 5740 5741 5742 5743
+5744 5745 5746 5747 5748 5749 574A 574B 574C 574D
+574E 574F 5750 5751 5752 5753 5754 5755 5756 5757
+5758 5759 575A 575B 575C 575D 575E 575F 5760 2127C
+58EF 58F0 58F1 58F2 58F3 5906 590B 593D 593E 593F
+5940 5941 5942 36AA 36AC 5989 598A 598B 598C 598E
+598F 5990 5991 5992 5993 5994 5995 5996 5997 5998
+5999 599A 599B 599C 599D 599E 599F 59A0 59A1 59A2
+59A3 59A4 59A5 59A6 59A7 59A8 59A9 59AA 59AB 216C0
+216C1 216C2 216D3 216D5 5B5A 5B5B 5B5C 5B5D 5B5E 5B8A
+5B8B 5B8C 5B8D 5B8E 5B8F 5B90 5B91 5B92 5BFD 5BFE
+5BFF 5C28 5C29 5C2A 5C2B 5C2C 5C3E 5C3F 5C40 5C41
+5C42 5C43 5C84 5C85 5C86 5C87 5C88 5C89 5C8A 5C8B
+5C8C 5C8E 5C8F 5C90 5C91 5C92 5C93 5C94
+5C95 5C96 5C97 5C98 5C99 5C9A 5C9B 5C9C 5C8D 5DE0
+5DEB 5DF5 3837 3838 3839 383B 5E09 5E0A 5E0B 5E0C
+5E0D 5E0E 5E0F 5E10 5E87 5E88 5E89 5E8A 5E8B 5E8C
+5E8D 5E8E 5E8F 5E90 5E91 5E92 5E93 5E94 5EF7 5F03
+5F04 5F05 5F1D 5F1E 5F1F 5F20 223BD 5F62 5F63 5F64
+5F76 5F77 5F78 5F79 5F7A 5F7B 3900 5FCC 5FCD 5FCE
+5FD0 5FD1 5FD2 5FD7 5FD8 5FDC 3908 5FDF 5FE1 5FE3
+5FE4 5FE6 5FE7 5FE8 5FEA 5FEB 5FEC 5FED 5FEE 5FEF
+5FF0 5FF1 5FF2 5FF3 5FF4 5FF6 5FF7 5FF8 5FF9 5FFA
+5FFB 5FFC 5FFE 6000 6003 6004 6005 6006 6211 6212
+6213 22993 623A 623B 623C 39D1 626D 626E 626F 6270
+6271 6272 6273 6274 6275 6276 6277 6279 627A 627B
+627C 627D 627E 6280 6281 6282 6283 6284
+6285 6286 6287 6288 6289 628A 628B 628C 628D 628E
+628F 6290 6291 6292 6293 6294 6295 6296 6297 6298
+6299 629A 629B 629C 629D 629E 629F 62A0 62A1 62A2
+62A3 62A4 62A5 6278 6538 6539 653A 653B 653C 22EEF
+6588 6598 65F0 65F1 65F2 65F3 65F4 65F5 65F6 65F7
+65F8 66F4 66F5 3B42 3B43 3B44 3B45 3B46 6744 6745
+6746 6747 6748 6749 674A 674B 674C 674D 674E 674F
+6750 6751 6752 6753 6754 6755 6756 6757 6758 6759
+675A 675B 675C 675D 675E 675F 6760 6761 6762 6763
+6764 6765 6766 6767 6768 6769 6781 233CC 6B24 3C50
+6B65 6B7C 239C2 6BCF 6BD0 23AEE 6BDC 6BDD 6C19 6C1A
+6C42 6C56 6C5E 6C65 6C66 6C67 6C68 6C69 6C6A 6C6B
+6C6D 6C6E 6C6F 6C70 6C71 6C72 6C73 6C74
+6C75 6C76 6C78 6C79 6C7A 6C7B 6C7C 6C7D 6C7E 6C7F
+6C81 6C82 6C83 6C84 6C85 6C86 6C87 6C88 6C89 6C8B
+6C8C 6C8D 6C8E 6C8F 6C90 6C91 6C92 6C94 6C95 6C96
+6C98 6C99 6C9A 6C9B 6C9C 6C9E 6C9F 6CA0 6CA1 6CA2
+6CA3 6CA4 6CA5 6CA6 6CA7 6CA8 6CA9 6CAA 23C99 23C9A
+23C9B 3DA5 7074 7075 7076 7077 7078 7079 707A 707B
+707C 707D 707E 707F 7080 7260 7261 7262 7263 7264
+24618 72B6 72B9 72BA 72BB 72BC 72BD 72BE 72BF 72C1
+72C2 72C3 72C4 72C5 72C6 72C7 72C8 2472F 3EAD 7392
+7393 7394 7395 7396 7397 7398 7399 739A 739B 248F0
+248F1 248F2 248F3 74E7 752B 752C 3F55 7537 7538 7539
+753A 753C 7593 7594 7595 7596 7597 7680 7681 7682
+7683 76C0 76C1 76EF 77E3 77F4 77F5 77F6
+25419 793D 4126 79BF 79C0 79C1 79C2 79C3 7A76 7A77
+7ACC 7ACD 7CFA 7CFB 7EB6 7EAC 7EAD 7EAE 7EAF 7EB0
+7EB1 7EB2 7EB3 7EB4 7EB5 7EB7 7EB8 7EB9 7EBA 7EBB
+7EBC 7EBD 7EBE 7F55 8034 8090 8091 8092 8093 8094
+8095 8096 8097 8098 8099 809A 809B 809C 809D 809E
+809F 80A0 81EB 826F 8283 8284 8285 8286 8287 8288
+8289 828A 828B 828C 828D 828E 828F 8290 8291 8292
+8293 8295 8296 8297 26B05 26B0A 866C 2760C 898B 89C3
+2EC6 89D2 278B2 8A00 8A01 8BC1 8BC2 8BC3 8BC4 8BC5
+8BC6 8BC7 8BC8 8BC9 8BCA 8BCB 8BCC 8BCD 8BCE 8BCF
+8BD0 8BD1 8BD2 8C37 8C46 8C55 8C78 8C9D 8D21 8D22
+8D64 8D70 2ECA 8DB3 8EAB 8ECA 8F69 8F6A 8F6B 8F9B
+8FB0 8FB5 5DE1 8FBE 8FBF 8FC0 8FC1 8FC2
+8FC3 8FC4 8FC5 8FC6 8FC7 8FC8 8FC9 28468 2846C 28473
+9091 909E 909F 90A0 90A1 90A2 90A3 90A4 90A5 90A6
+90A7 90A8 90A9 90AA 90AC 286AA 286AB 9149 91C6 91CC
+9488 9489 948A 948B 948C 95F0 95F1 95F2 95F3 95F4
+95F5 95F6 95F7 9625 9626 9627 9628 9629 962A 962B
+962C 962D 962E 962F 9630 9631 9632 9633 9634 9635
+9636 28E36 28E39 97E7 98CF 9968 9969 996A 996B 996C
+996D 996E 9A71 9A72 9A73 9A74 9E20 9E21 9EA6 9F9F
+FDD0-2808
+4E26 4E27 4E33 4E56 4E73 4E74 4E75 4E76 4E77 4E78
+200EE 4E8B 4E9B 4E9D 4E9E 4E9F 342D 4EAB 4EAC 4F4C
+344C 3450 4F69 4F6A 4F6B 4F6C 4F6D 4F6E 4F6F 4F70
+4F71 4F72 4F73 4F74 4F75 4F76 4F77 4F78 4F79 4F7A
+4F7B 4F7C 4F7D 4F7E 4F7F 4F80 4F81 4F82 4F83 4F84
+4F85 4F86 4F87 4F88 4F89 4F8A 4F8B 4F8C 4F8D 4F8E
+4F8F 4F90 4F91 4F92 4F93 4F94 4F95 4F96 4F97 4F98
+4F99 4F9A 4F9B 4F9C 4F9D 4F9E 4F9F 4FA0 4FA1 4FA2
+4FA3 4FA4 4FA5 4FA6 4FA7 4FA8 4FA9 4FAA 4FAB 4FAC
+4FAD 20204 2020C 20214 5152 5153 5154 5155 5156 20487
+5169 5176 5177 5178 5190 519E 51BC 51BD 51BE 51BF
+51C0 205C3 51ED 51EE 51EF 51FD 34E4 522E 522F 5230
+5231 5232 5233 5234 5235 5236 5237 5238
+5239 523A 523B 523C 523D 523E 523F 5240 5241 5242
+2070E 5246 351A 52B5 52B6 52B7 52B8 52B9 52BA 52BB
+52BC 52BD 52BE 52BF 52C6 530A 530B 530C 20916 5326
+533C 5351 5352 5353 5354 5355 5356 5365 5366 5367
+209E7 5376 5377 5378 5379 537A 5392 5393 5394 5395
+20A50 53C0 53C1 53C2 53D4 53D5 53D6 53D7 53D8 3577
+3578 545D 545E 545F 5460 5461 5462 5463 5464 5465
+5466 5467 5468 5469 546A 546B 546C 546D 546E 546F
+5471 5473 5474 5475 5476 5477 5478 5479 547A 547B
+547C 547D 547E 547F 5480 5481 5482 5483 5484 5485
+5486 5487 5488 5489 548A 548B 548C 548D 548E 548F
+5490 5491 5492 5493 5494 5495 5496 5497 5498 5499
+549A 549B 549C 549D 20C0B 20C0D 20C20 20C34
+20C3A 20C3B 20C41 20C42 20C43 3620 56F6 56F7 56F8 56F9
+56FA 56FB 56FC 56FD 56FE 3631 3632 3633 3634 3635
+5761 5762 5763 5764 5765 5766 5767 5768 5769 576A
+576B 576C 576D 576E 576F 5770 5771 5772 5773 5774
+5775 5776 5777 5778 5779 577A 577B 577C 577D 577E
+577F 5780 5781 5782 5783 5784 5785 5786 5787 5788
+5789 578A 212A8 212A9 212B0 5907 590C 591C 591D 5943
+5944 5945 5946 5947 5948 5949 594B 594C 594D 2160A
+5954 36B0 36B1 36B5 36B9 36BC 36C1 59AC 59AD 59AE
+59AF 59B0 59B1 59B2 59B3 59B4 59B5 59B6 59B7 59B8
+59B9 59BA 59BB 59BC 59BD 59BE 59BF 59C0 59C1 59C2
+59C3 59C4 59C5 59C6 59C7 59C8 59C9 59CA 59CB 59CC
+59CD 59CE 59CF 59D0 59D1 59D2 59D3 59D4
+59D6 59D7 216DF 216E6 216E7 216E8 216FA 216FB 216FC 216FE
+3740 5B5F 5B60 5B61 5B62 5B63 5B64 5B65 5B66 5B67
+21958 5B93 5B94 5B95 5B96 5B97 5B98 5B99 5B9A 5B9B
+5B9C 5B9D 5B9E 5B9F 5BA0 5BA1 219DB 5C00 5C19 5C1A
+5C2D 5C44 5C45 5C46 5C47 5C48 5C49 5C4A 37B9 37BE
+5C9D 5C9E 5C9F 5CA0 5CA1 5CA2 5CA3 5CA4 5CA5 5CA6
+5CA7 5CA8 5CA9 5CAA 5CAB 5CAC 5CAD 5CAE 5CAF 5CB0
+5CB1 5CB2 5CB3 5CB4 5CB5 5CB6 5CB7 5CB8 5CB9 5CBA
+5CBB 5CBC 5CBD 5CBE 5CBF 5CC0 5CC1 5CC2 5CC3 5CC4
+5CC5 21D90 3830 5DF6 5E11 5E12 5E13 5E14 5E15 5E16
+5E17 5E18 5E19 5E1A 5E1B 5E1C 2207E 5E77 5E78 5E98
+5E95 5E96 5E97 5E99 5E9A 5E9C 5E9D 5E9E 5E9F 5EF6
+38A0 5EF8 5EF9 5F06 5F21 5F22 5F23 5F24
+5F25 5F26 5F27 5F28 5F29 5F2A 223D0 5F54 5F55 38CC
+2248B 5F7C 5F7D 5F7E 5F7F 5F80 5F81 5F82 5F83 5F84
+5FDD 5FDE 5FE0 5FE2 5FE5 5FE9 5FF5 5FFD 5FFF 6001
+6002 3914 6007 6008 6009 600A 600B 600C 600D 600F
+6010 6011 6013 6014 6015 6016 6017 6019 601A 601B
+601C 601E 601F 6021 6022 6026 6027 6029 602A 602B
+602C 602D 602E 602F 6030 6032 6033 6034 6035 6036
+603A 603D 603E 603F 2261B 2261C 2262B 6214 6215 6216
+6217 623D 623E 623F 6240 627F 39D4 39D5 39D9 39DA
+39DC 39DD 39DE 39DF 62A6 62A7 62A8 62A9 62AA 62AB
+62AC 62AD 62AE 62AF 62B0 62B1 62B2 62B3 62B4 62B5
+62B6 62B7 62B8 62B9 62BA 62BB 62BC 62BD 62BE 62BF
+62C0 62C1 62C2 62C3 62C4 62C5 62C6 62C7
+62C8 62C9 62CA 62CB 62CC 62CD 62CE 62D0 62D1 62D2
+62D3 62D4 62D5 62D6 62D7 62D8 62D9 62DA 62DB 62DD
+62DE 62DF 62E0 62E1 62E2 62E3 62E4 62E5 62E6 62E7
+62E8 62E9 22ACF 22AD5 3A81 653D 653E 6589 23044 65A6
+65A7 65A8 65A9 65BA 65BB 65BC 230DA 65F9 65FA 65FB
+65FC 65FD 65FE 65FF 6600 6601 6602 6603 6604 6605
+6606 6607 6608 6609 660A 660B 660C 660D 660E 660F
+6610 6611 6612 6613 6614 6615 6616 6617 6618 6619
+66F6 3B33 670A 670B 670C 670D 3B47 3B48 3B49 3B4A
+3B4B 3B4C 3B4D 3B4E 3B4F 3B50 676A 676B 676C 676D
+676E 676F 6770 6771 6772 6773 6774 6775 6776 6777
+6778 6779 677A 677B 677C 677D 677E 677F 6780 6782
+6783 6784 6785 6786 6787 6788 6789 678A
+678B 678C 678D 678E 678F 6790 6791 6792 6793 6794
+6795 6796 6797 6798 6799 679A 679B 679C 679D 679E
+679F 67A0 67A1 67A2 67A3 67A4 67A5 67A6 67A7 67A8
+67A9 67AA 67AB 67AC 67AD 233DE 233E6 233F4 233F5 233F9
+233FA 233FE 23400 67F9 3C20 6B23 6B25 6B26 6B27 6B66
+6B67 6B68 6B69 6B7D 6B7E 6B7F 6B80 6B81 6BB4 6BD1
+6BDE 6BDF 6C13 6C1B 6C1C 6C1D 6C6C 6C80 6C8A 6C93
+6C9D 3CCB 3CCD 3CD1 6CAB 6CAC 6CAD 6CAE 6CB0 6CB1
+6CB2 6CB3 6CB4 6CB5 6CB6 6CB7 6CB8 6CB9 6CBA 6CBB
+6CBC 6CBD 6CBE 6CBF 6CC0 6CC1 6CC2 6CC3 6CC4 6CC5
+6CC6 6CC7 6CC8 6CCA 6CCB 6CCC 6CCD 6CCE 6CCF 6CD0
+6CD1 6CD2 6CD3 6CD4 6CD5 6CD6 6CD7 6CD8 6CD9 6CDB
+6CDC 6CDD 6CDE 6CDF 6CE0 6CE1 6CE2 6CE3
+6CE4 6CE5 6CE6 6CE7 6CE8 6CE9 6CEA 6CEB 6CEC 6CED
+6CEE 6CEF 6CF1 6CF2 6CF3 6CF7 6CF8 6CF9 6CFA 6CFB
+6CFC 6CFD 6CFE 23CB5 23CB7 23CC7 23CC8 23CC9 6D30 7087
+7081 7082 7083 7084 7085 7086 7088 7089 708A 708B
+708C 708D 708E 708F 7090 7091 7092 7093 7094 7095
+7096 7097 7098 7099 709A 709B 709C 709D 709E 241A3
+241A4 241A5 241AC 241B5 722C 722D 7238 7240 7248 3E2F
+7265 7266 7267 7268 7269 726A 726B 726C 2462A 72C0
+3E62 3E69 72C9 72CB 72CC 72CD 72CE 72CF 72D0 72D1
+72D2 72D3 72D4 72D5 72D6 72D7 72D8 72D9 72DA 72DB
+72DC 72DD 72DE 739C 739D 739E 739F 73A0 73A1 73A2
+73A3 73A4 73A5 73A6 73A7 73A8 73A9 73AA 73AB 73AC
+73AD 73AE 73AF 73B0 73B1 248FB 248FF 24900
+24901 2490C 74DD 74E8 74E9 7519 753B 753D 753E 753F
+7540 7541 7542 7543 7544 7545 758C 7598 7599 759A
+759B 759C 759D 759E 759F 75A0 75A1 7677 7684 76AF
+76C2 76F0 76F1 76F2 76F3 76F4 76F5 77E4 77E5 77F7
+77F8 77F9 77FA 77FB 77FC 77FD 77FE 77FF 7800 7801
+25425 793E 793F 7940 7941 7942 7943 79C4 79C5 79C6
+79C7 79C8 79C9 79CA 4192 7A78 7A79 7A7A 7A7B 41C4
+7ACE 7ACF 7AFA 7AFB 7C74 7C75 7C76 42B5 7CFC 7CFD
+7CFE 7CFF 7EBF 7EC0 7EC1 7EC2 7EC3 7EC4 7EC5 7EC6
+7EC7 7EC8 7EC9 7ECA 7ECB 7ECC 7ECD 7ECE 7ECF 7ED0
+7F37 7F54 7F56 7F57 7F59 7F8B 7F8C 8005 8013 8035
+8083 808F 43D9 80A1 80A2 80A3 80A4 80A5 80A6 80A7
+80A8 80A9 80AA 80AB 80AC 80AD 80AE 80AF
+80B0 80B1 80B2 80B3 80B4 80B5 80B6 80B7 80B8 80B9
+80BA 80BB 80BC 80BD 80BE 80BF 80C0 80C1 81E4 81E5
+81FD 81FE 820D 820E 820F 8220 8270 8298 8299 829A
+829B 829C 829D 829E 829F 82A0 82A1 82A2 82A3 82A4
+82A5 82A6 82A7 82A8 82A9 82AA 82AB 82AC 82AD 82AE
+82AF 82B0 82B1 82B2 82B3 82B4 82B5 82B6 82B7 82B8
+82B9 82BA 82BC 82BD 82BE 82C0 82C1 82C2 82C3 82C4
+82C5 82C6 82C7 82C8 82C9 82CA 82CB 82CC 82CD 82CE
+82CF 833E 26B13 26B15 26B28 82BF 864E 864F 866D 866E
+866F 8670 8671 8672 275E0 8865 8868 89C4 89C5 8BD3
+8BD4 8BD5 8BD6 8BD7 8BD8 8BD9 8BDA 8BDB 8BDC 8BDD
+8BDE 8BDF 8BE0 8BE1 8BE2 8BE3 8BE4 8BE5 8BE6 8BE7
+8BE8 8BE9 8C56 8D23 8D24 8D25 8D26 8D27
+8D28 8D29 8D2A 8D2B 8D2C 8D2D 8D2E 8D2F 8ECB 8F6C
+8F6D 8F6E 8F6F 8F70 8FCA 8FCB 8FCC 8FCD 8FCE 8FCF
+8FD0 8FD1 8FD2 8FD3 8FD4 8FD5 8FD6 8FD7 8FD8 8FD9
+8FDA 8FDB 8FDC 8FDD 8FDE 8FDF 8FEC FA24 28482 90AD
+90AE 90AF 90B0 90B1 90B2 90B3 90B4 90B5 90B6 90B7
+90B8 90B9 90BA 90BB 286BC 91C7 91D1 91D2 948D 948E
+948F 9490 9491 9492 9493 9494 9495 9496 9497 9577
+9578 9580 95F8 95F9 961C 9637 9638 9639 963A 963B
+963C 963D 963E 963F 9640 9641 9642 9643 9644 9645
+9646 9647 9648 9649 96B6 96B9 2ED7 96E8 9751 9752
+975E 9763 9876 9877 996F 9970 9971 9972 9973 9974
+9A75 9A76 9A77 9A78 9A79 9A7A 9A7B 9A7C 9A7D 9A7E
+9A7F 9A80 9C7C 9E22 9E23 9E24 9EFE 9F21
+9F7F
+FDD0-2809
+4E34 4E3E 4E57 3420 4E79 4E7A 4E7B 4E7C 4EAD 4EAE
+4EAF 4EB0 4EB1 4EB2 4FAE 4FAF 4FB0 4FB1 4FB2 4FB3
+4FB4 4FB5 4FB6 4FB7 4FB8 4FB9 4FBA 4FBB 4FBC 4FBD
+4FBE 4FBF 4FC0 4FC1 4FC2 4FC3 4FC4 4FC5 4FC6 4FC7
+4FC8 4FC9 4FCA 4FCB 4FCC 4FCD 4FCE 4FCF 4FD0 4FD1
+4FD2 4FD3 4FD4 4FD5 4FD6 4FD7 4FD8 4FD9 4FDA 4FDB
+4FDC 4FDD 4FDE 4FDF 4FE0 4FE1 4FE2 4FE3 4FE4 4FE5
+4FE6 4FE7 4FE8 4FE9 4FEA 4FEB 4FEC 4FED 2025B 5157
+5158 5159 2048E 516A 5179 517B 5191 5192 519F 51A0
+51C1 51C2 51C3 205CA 205D0 205D5 51FE 5243 5244 5245
+5247 5248 5249 524A 524B 524C 524D 524E 524F 5250
+5251 52C0 52C1 52C2 52C3 52C4 52C5 52C7 52C8 52C9
+52CA 52CB 530D 5327 5328 5329 533D 5357
+5358 537B 537C 537D 5396 5397 5398 5399 539A 539B
+53D9 53DA 53DB 53DC 53DD 5470 5472 3584 549E 549F
+54A0 54A1 54A2 54A3 54A4 54A5 54A6 54A7 54A8 54A9
+54AA 54AB 54AC 54AD 54AE 54AF 54B0 54B1 54B2 54B3
+54B4 54B5 54B6 54B7 54B8 54B9 54BA 54BB 54BC 54BD
+54BE 54BF 54C0 54C1 54C2 54C3 54C4 54C5 54C6 54C7
+54C8 54C9 54CA 54CB 54CC 54CD 54CE 54CF 54D0 54D1
+54D2 54D3 54D4 54D5 54D6 54D7 54D8 54D9 54DA 54DB
+54DC 54DD 54DE 54DF 20C53 20C65 20C77 20C78 20C7C 20C8D
+20C96 20C9C 3622 56FF 5700 211D9 3636 3637 3638 3639
+363B 363E 578B 578C 578D 578E 578F 5790 5791 5792
+5793 5794 5795 5796 5797 5798 5799 579A 579B 579C
+579D 579E 579F 57A0 57A1 57A2 57A3 57A4
+57A5 57A6 57A7 57A8 57A9 57AA 57AB 57AC 57AD 57AE
+57AF 57B0 57B1 57B2 57B3 57B4 57B5 57CE 212E3 58F4
+58F5 5908 5909 590D 369A 594E 594F 5950 5951 5952
+5953 5955 5956 21613 21619 59D5 36C3 36C4 36C5 36C7
+36C8 598D 59D8 59D9 59DA 59DB 59DC 59DD 59DE 59DF
+59E0 59E1 59E2 59E3 59E4 59E5 59E6 59E7 59E8 59E9
+59EA 59EB 59ED 59EE 59EF 59F0 59F1 59F2 59F3 59F4
+59F5 59F6 59F7 59F8 59F9 59FA 59FB 59FC 59FD 59FE
+59FF 5A00 5A01 5A02 5A03 5A05 5A06 5A07 5A08 2170D
+21710 21726 5A0D 5B68 5B69 5B6A 5BA2 5BA3 5BA4 5BA5
+5BA6 5BA8 5BA9 5BAA 5BAB 219F3 5C01 5C02 5C06 5C1B
+5C1C 5C1D 5C2E 5C2F 5C4B 5C4C 5C4D 5C4E 5C4F 5CC6
+5CC7 5CC8 5CC9 5CCA 5CCB 5CCC 5CCD 5CCE
+5CCF 5CD0 5CD1 5CD2 5CD3 5CD4 5CD5 5CD6 5CD7 5CD8
+5CD9 5CDA 5CDB 5CDC 5CDD 5CDE 5CDF 5CE0 5CE1 5CE2
+5CE3 5CE4 5CE5 5CE6 5CE7 21DB6 21DBA 21DCA 21DD1 5CF8
+5DEC 5DED 5DF7 5DF8 5DF9 5DFA 5DFB 5E1D 5E1E 5E1F
+5E20 5E21 5E22 5E23 5E24 5E25 5E26 5E27 2209A 5E7D
+5E9B 5EA0 5EA1 5EA2 5EA3 5EA4 5EA5 5EA6 22208 5EB0
+5EFA 5EFB 5EFC 22321 22325 5F07 5F08 5F2B 5F2C 5F2D
+5F2E 5F2F 223D7 5F56 5F65 5F66 5F85 5F86 5F87 5F88
+5F89 5F8A 5F8B 5F8C 5F8D 5F94 600E 6012 6018 601D
+6020 6023 6024 6025 6028 6031 6037 6038 6039 603B
+603C 3922 3926 3927 392D 6040 6042 6043 6044 6045
+6046 6047 6048 6049 604A 604C 604D 604E 6051 6052
+6053 6054 6057 6058 605B 605C 605E 605F
+6060 6061 6062 6064 6066 6068 606A 606B 606C 606E
+6070 6071 6072 6078 6079 607A 607B 607C 607D 22668
+6218 6241 6242 6243 39D8 62CF 62DC 39E1 39E2 39E5
+39E6 62EA 62EB 62EC 62ED 62EE 62EF 62F0 62F1 62F4
+62F5 62F6 62F7 62F8 62F9 62FA 62FB 62FC 62FD 62FE
+6300 6301 6302 6303 6304 6305 6306 6307 6309 630A
+630B 630C 630D 630E 630F 6311 6312 6313 6314 6315
+6316 6317 6318 631C 631D 631E 631F 6320 6321 6322
+6323 6324 6325 6326 6327 22AE6 22AE8 22B0E 22B22 6531
+653F 3A83 3A84 3A85 6540 6541 6542 6543 6544 6545
+3ABC 3ABD 65AA 65AB 3AC6 65BD 65BE 65BF 65C0 65E2
+3ADE 3AE0 661A 661B 661C 661D 661E 661F 6620 6621
+6622 6623 6624 6625 6626 6627 6628 6629
+662A 662B 662C 662D 662E 662F 6630 6631 6632 6633
+6634 6635 6636 6637 6638 6639 663A 663B 663C 663D
+663E 663F 2317D 23182 66F7 670E 670F 6710 6711 3B51
+3B52 3B53 3B54 3B55 3B56 3B57 67AE 67AF 67B0 67B1
+67B2 67B3 67B4 67B5 67B6 67B7 67B8 67B9 67BA 67BB
+67BC 67BE 67BF 67C0 67C1 67C2 67C3 67C4 67C5 67C6
+67C7 67C8 67C9 67CA 67CB 67CC 67CD 67CE 67CF 67D0
+67D1 67D2 67D3 67D4 67D5 67D6 67D7 67D8 67D9 67DA
+67DB 67DC 67DD 67DE 67DF 67E0 67E2 67E3 67E4 67E5
+67E6 67E7 67E8 67E9 67EA 67EB 67EC 67ED 67EE 67EF
+67F0 67F1 67F2 67F3 67F5 67F6 67F7 67F8 67FA 67FB
+67FC 67FD 67FE 67FF 6800 6801 6802 6803 6804 6805
+6806 6807 6808 6809 680A 680B 680C 680D
+680E 680F 6810 6811 6852 3C26 6B28 6B29 6B2A 3C54
+6B6A 6B6B 6B82 6B83 6B84 6B85 6B86 6B87 6BB5 6BB6
+6BD2 3C8B 6BD6 6BD7 6BD8 6BE0 6BE1 23B5A 6C1E 6C1F
+6C20 6C21 6C22 6C97 6CAF 6CC9 6CF4 6CF6 3CD6 3CDC
+6CDA 6CFF 6D00 6D01 6D02 6D03 6D04 6D05 6D06 6D07
+6D08 6D09 6D0A 6D0B 6D0C 6D0E 6D0F 6D10 6D11 6D12
+6D13 6D14 6D15 6D17 6D18 6D19 6D1A 6D1B 6D1D 6D1E
+6D1F 6D20 6D21 6D22 6D23 6D24 6D25 6D26 6D27 6D28
+6D29 6D2A 6D2B 6D2C 6D2D 6D2E 6D31 6D32 6D33 6D34
+6D35 6D36 6D37 6D38 6D39 6D3A 6D3B 6D3C 6D3D 6D3E
+6D3F 6D40 6D41 6D42 6D43 6D44 6D45 6D47 6D48 6D49
+6D4A 6D4B 6D4C 6D4D 6D4E 6D4F 6D50 6D51 6D52 6D53
+6D54 6D55 23CFC 23CFD 23CFE 23CFF 3DAD 709F
+70A0 70A1 70A2 70A3 70A4 70A5 70A6 70A7 70A8 70A9
+70AA 70AB 70AC 70AD 70AE 70AF 70B0 70B1 70B2 70B3
+70B4 70B5 70B6 70B7 70B8 70B9 70BA 70BB 70BC 70BD
+70BE 70BF 70C0 70C1 70C2 70C3 241CD 241E2 722E 722F
+7230 24505 723C 7241 7249 724A 726D 726E 726F 7270
+7271 7272 7273 7274 7275 72CA 72DF 72E0 72E1 72E2
+72E3 72E4 72E5 72E6 72E7 72E8 72E9 72EA 72EB 72EC
+72ED 72EE 72EF 72F0 72F1 72F2 2478F 7385 3EB1 73B2
+73B3 73B4 73B5 73B6 73B7 73B8 73B9 73BB 73BD 73BE
+73BF 73C0 73C1 73C2 73C3 73C4 73C5 73C6 73C7 73C8
+73C9 73CA 73CB 73CC 73CD 73CE 73CF 73D0 73D1 24916
+24917 24919 2492F 24933 24934 74EA 74EB 74EC 74ED 74EE
+74EF 74F0 74F1 74F2 751A 7520 752D 752E
+3F58 3F59 7546 7547 7548 7549 754A 754B 754C 754D
+754E 754F 7550 7551 7552 7553 3F7C 75A2 75A3 75A4
+75A5 75A6 75A7 75A8 75A9 75AA 75AB 75AC 75AD 75AE
+75AF 75BA 7678 7679 767A 7685 7686 7687 7688 76C3
+76C4 76C5 76C6 76C7 76C8 401D 76F6 76F7 76F8 76F9
+76FA 76FB 76FC 76FD 76FE 76FF 7700 7701 7702 7703
+7704 7705 7706 7707 7708 7709 770A 770B 770C 770D
+2512B 77DC 77E6 77E7 77E8 409A 6CF5 7802 7803 7804
+7805 7806 7807 7808 7809 780A 780B 780C 780D 780E
+780F 7810 7811 7812 7813 7814 7815 7816 7817 7818
+7819 781A 781B 781C 2542F 25430 4100 7944 7945 7946
+7947 7948 7949 794A 794B 794C 794D 794E 89C6 25635
+79B9 79BA 4132 79CB 79CC 79CD 79CE 79CF
+79D0 79D1 79D2 79D3 79D4 79D5 79D6 79D7 25772 4195
+7A7C 7A7D 7A7E 7A7F 7A80 7A81 7A82 7A83 25946 7AD0
+7AD1 7AD2 7AD3 7AD4 7AD5 7AD6 7AD7 7AFC 7AFD 7AFE
+7AFF 7B00 7B01 7B02 7B03 25AE9 427A 5A04 7C77 7C78
+7C79 7C7A 7C7B 7C7C 7C7D 7C7E 7C7F 7C80 7C81 7C82
+42B6 42B7 42B9 7D00 7D01 7D02 7D03 7D04 7D05 7D06
+7D07 7D08 7D09 7ED1 7ED2 7ED3 7ED4 7ED5 7ED6 7ED7
+7ED8 7ED9 7EDA 7EDB 7EDC 7EDD 7EDE 7EDF 4342 7F38
+7F58 7F5A 7F8D 7F8E 7F8F 7F91 26351 7FBE 7FBF 263F5
+263F8 8007 800D 800E 800F 8010 8011 8014 8036 8037
+43DF 80C2 80C3 80C4 80C5 80C6 80C7 80C8 80C9 80CA
+80CB 80CC 80CD 80CE 80CF 80D0 80D1 80D2 80D3 80D5
+80D6 80D7 80D8 80D9 80DA 80DB 80DC 80DD
+80DE 80DF 80E0 80E1 80E2 80E3 80E4 80E5 80E6 80E7
+80E8 80E9 80EA 80EB 8109 81F4 81FF 8221 8222 8223
+8224 8294 82D0 82D1 82D2 82D3 82D4 82D5 82D6 82D7
+82D8 82D9 82DA 82DB 82DC 82DD 82DE 82DF 82E0 82E1
+82E2 82E3 82E4 82E5 82E6 82E7 82E8 82E9 82EA 82EB
+82EC 82ED 82EE 82EF 82F0 82F1 82F2 82F3 82F4 82F5
+82F6 82F7 82F8 82F9 82FA 82FB 82FC 82FD 82FE 82FF
+8300 8301 8302 8303 8304 8305 8306 8307 8309 830A
+830B 830C 830D 830E 830F 8310 8311 8313 8314 8315
+26B50 26B51 26B52 26B53 26B5B 833A 8650 8673 8674 8675
+8676 8677 8678 8679 867A 867B 867C 867D 867E 867F
+8680 8681 8682 8683 460F 8841 8842 884D 884E 275E4
+8866 8867 8869 886A 886B 886C 27632 27639
+8981 898C 89C7 89C8 89C9 89D3 89D4 8A02 8A03 8A04
+8A05 8A06 8A07 8A08 8BEA 8BEB 8BEC 8BED 8BEE 8BEF
+8BF0 8BF1 8BF2 8BF3 8BF4 8BF5 8BF6 8C9E 8C9F 8CA0
+8D30 8D31 8D32 8D33 8D34 8D35 8D36 8D37 8D38 8D39
+8D3A 8D3B 8D72 8D73 8D74 8D75 8DB4 8ECC 8ECD 8F71
+8F72 8F73 8F74 8F75 8F76 8F77 8F78 8F79 8F7A 8F7B
+8FE0 8FE1 8FE2 8FE3 8FE4 8FE5 8FE6 8FE7 8FE8 8FE9
+8FEA 8FEB 8FED 8FEE 8FEF 8FF0 8FF1 8FF2 8FF3 90BC
+90BD 90BE 90BF 90C0 90C1 90C2 90C3 90C4 90C5 90C6
+90C7 90C8 90C9 90CA 90CB 90CD 90CE 90CF 90D0 90D1
+90D3 90D5 286D8 286E6 90F1 914A 914B 91CD 91D3 91D4
+9498 9499 949A 949B 949C 949D 949E 949F 94A0 94A1
+94A2 94A3 94A4 94A5 94A6 94A7 94A8 94A9
+94AA 94AB 94AC 94AD 94AE 94AF 9581 9582 95FA 95FB
+95FC 95FD 95FE 95FF 9600 9601 9602 964A 964B 964C
+964D 964E 964F 9650 9651 9652 9653 9654 9655 28E65
+28E66 9762 9769 97CB 97E8 97ED 97F3 9801 9878 9879
+987A 987B 98A8 98D0 98D1 98D2 98DB 2EDE 98DF 98E0
+9975 9976 9977 9978 9979 997A 997B 997C 9996 29810
+9999 9A81 9A82 9A83 9A84 9A85 9A86 9A87 9A88 9A89
+2EE3 9CEC 9E25 9E26 9E27 9E28 9E29
+FDD0-280A
+2003E 4E35 4E58 4E7D 4EB3 3465 3466 4FEE 4FEF 4FF0
+4FF1 4FF2 4FF3 4FF4 4FF5 4FF6 4FF7 4FF8 4FF9 4FFA
+4FFB 4FFC 4FFD 4FFE 4FFF 5000 5001 5002 5003 5004
+5005 5006 5007 5008 5009 500A 500B 500C 500D 500E
+500F 5010 5011 5012 5013 5014 5015 5016 5017 5018
+5019 501A 501B 501C 501D 501E 501F 5020 5021 5022
+5023 5024 5025 5026 5027 5028 5029 502A 502B 502C
+502D 502E 502F 5030 5031 5032 5033 5034 5035 5036
+5037 5038 5039 503A 503B 503C 503D 503E 503F 20274
+20275 20299 2029E 202A0 5056 515A 515B 20491 20492 517A
+517C 5193 5194 51A1 51A2 51A3 51A4 51A5 51A6 51A7
+2058E 51C4 51C5 51C6 51C7 51C8 51C9 51CA 51CB 51CC
+51CD 51CE 205DF 205E0 20656 5252 5253 5254
+5255 5256 5257 5258 5259 525A 525B 525C 525D 525E
+525F 5260 5261 5262 5263 5264 5265 5266 5267 20731
+52CC 52CD 52CE 52CF 52D0 52D1 20873 530E 532A 532B
+537F 539C 539D 539E 539F 8652 53DE 53DF 3597 3598
+54E0 54E1 54E2 54E3 54E4 54E5 54E6 54E7 54E8 54E9
+54EA 54EB 54EC 54ED 54EE 54EF 54F0 54F1 54F2 54F3
+54F4 54F5 54F6 54F7 54F8 54F9 54FA 54FB 54FC 54FD
+54FE 54FF 5500 5501 5502 5503 5504 5505 5506 5507
+5508 5509 550A 550B 550D 550E 550F 5510 5511 5512
+5513 5514 5515 5516 5517 5518 5519 551A 551B 551C
+551D 551E 551F 5520 5521 5522 5523 5524 5525 5526
+5527 20CB5 20CB8 20CCF 20CD3 20CD4 20CD5 20CD6 20CDD 20CED
+20CFF 20D15 3623 5701 5702 5703 5704 5705
+5706 57B6 57B7 57B8 57B9 57BA 57BB 57BC 57BD 57BE
+57BF 57C0 57C1 57C2 57C3 57C4 57C5 57C6 57C7 57C8
+57C9 57CA 57CB 57CC 57CD 57CF 57D0 57D1 57D2 57D3
+57D4 57D5 57D6 57D7 57D8 57D9 57DA 57DB FA0F 212FE
+21302 21303 21304 21305 5832 58F6 590E 590F 591E 21596
+594A 5957 5958 5959 595A 36CE 36D1 36D3 36D4 36D6
+36DD 36E1 36E2 59EC 5A09 5A0A 5A0B 5A0C 5A0E 5A0F
+5A10 5A11 5A12 5A13 5A14 5A15 5A16 5A17 5A18 5A19
+5A1A 5A1B 5A1C 5A1D 5A1E 5A1F 5A20 5A21 5A22 5A23
+5A24 5A25 5A26 5A27 5A28 5A29 5A2A 5A2D 5A2E 5A2F
+5A30 5A31 5A32 5A33 5A34 2173A 2173B 2173C 21757 3743
+5B6B 5B6C 5B6D 2196A 5BA7 5BAC 5BAD 5BAE 5BAF 5BB0
+5BB1 5BB2 5BB3 5BB4 5BB5 5BB6 5BB7 5BB8
+5BB9 5BBA 5BBB 5BBC 5BBD 5BBE 5C03 5C04 5C05 3797
+5C50 5C51 5C52 5C53 5C54 5C55 5C56 5C57 5C58 21C70
+5CE8 5CE9 5CEA 5CEB 5CEC 5CED 5CEE 5CEF 5CF0 5CF1
+5CF2 5CF3 5CF4 5CF5 5CF6 5CF7 5CF9 5CFA 5CFB 5CFC
+5CFD 5CFE 5CFF 5D00 5D01 5D02 5D03 5D04 5D05 21DEB
+21DF9 382B 5DEE 5DFC 5E28 5E29 5E2A 5E2B 5E2C 5E2D
+5E2E 5E2F 5E30 5E31 220C7 221C3 5EA7 5EA8 5EA9 5EAA
+5EAB 5EAC 5EAD 5EAE 5EAF 5EFD 5F09 5F30 5F31 5F32
+5F33 5F67 5F68 22491 5F8E 5F8F 5F90 5F91 5F92 5F93
+5F95 224ED 3920 392B 6041 604B 604F 6050 6055 6056
+6059 605A 605D 6063 6065 6067 6069 606D 606F 6073
+6074 6075 6076 6077 3931 3933 3934 3936 3937 3938
+3939 607E 6080 6081 6082 6083 6084 6085
+6087 6088 608B 608C 608D 608E 608F 6091 6092 6093
+6094 6095 6096 6097 6099 609A 609B 609C 609D 609E
+609F 60A2 60A6 60A7 60A9 60AD 60AE 60AF 2267A 22696
+22698 6219 6244 6245 6246 6247 39EC 62F2 62F3 62FF
+6308 6310 6319 631A 631B 39F8 6328 6329 632A 632B
+632C 632D 632E 632F 6330 6331 6333 6334 6335 6336
+6337 6338 6339 633A 633C 633D 633E 633F 6340 6341
+6342 6343 6344 6345 6346 6347 6348 6349 634A 634B
+634C 634D 634E 634F 6350 6351 6352 6353 6354 6355
+6356 6357 6358 6359 635A 635B 635C 635D 635E 635F
+6360 6361 6362 6363 6364 22B3F 22B43 22B6A 63E4 3A87
+3A88 3A89 6546 6547 6548 6549 654A 654B 654C 2304B
+658A 658B 6599 659A 3AC9 65C1 65C2 65C3
+65C4 65C5 65C6 65CA 6640 6641 6642 6643 6644 6645
+6646 6647 6648 6649 664A 664B 664C 664D 664E 664F
+6650 6651 6652 6653 6654 6655 6656 231A4 231A5 665F
+6660 66F8 66FA 66FB 3B34 3B35 6712 6713 6714 6715
+6717 67BD 67E1 67F4 3B58 3B59 3B5A 3B5B 3B5C 3B5D
+3B5E 3B5F 3B60 3B61 3B62 3B63 3B64 3B65 3B66 3B67
+6812 6813 6814 6815 6816 6817 6818 6819 681A 681B
+681C 681D 681E 681F 6820 6821 6822 6823 6824 6825
+6826 6827 6828 6829 682A 682B 682C 682D 682E 682F
+6830 6831 6832 6833 6834 6835 6836 6837 6838 6839
+683A 683B 683C 683D 683E 683F 6840 6841 6842 6843
+6844 6845 6846 6847 6848 6849 684A 684B 684C 684D
+684E 684F 6850 6851 6853 6854 6855 6856
+6857 6858 6859 685A 685B 685C 685D 685E 685F 6860
+6861 6862 6863 6864 6865 6866 6867 6868 6869 686A
+2343F 23450 2346F 23472 6B2B 6B2C 6B2D 6B2E 6B2F 6B30
+6B31 6B34 6B6C 6B6D 3C61 6B88 6B89 6B8A 6B8B 6BB7
+6BD9 6BE2 6BE3 6BE4 6BE5 6BE6 6BE7 6BE8 6BE9 6BEA
+6C23 6C24 6C25 6C26 6C27 6C28 6C29 6CF0 6D1C 6D2F
+6D46 3CEF 6D0D 6D16 6D56 6D57 6D58 6D59 6D5A 6D5B
+6D5C 6D5D 6D5E 6D5F 6D60 6D61 6D62 6D63 6D64 6D65
+6D66 6D67 6D68 6D69 6D6A 6D6B 6D6C 6D6D 6D6E 6D6F
+6D70 6D71 6D72 6D73 6D74 6D75 6D76 6D77 6D78 6D79
+6D7A 6D7B 6D7C 6D7D 6D7E 6D7F 6D80 6D81 6D82 6D83
+6D84 6D85 6D86 6D87 6D88 6D89 6D8A 6D8B 6D8C 6D8D
+6D8F 6D90 6D91 6D92 6D93 6D94 6D95 6D96
+6D97 6D98 6D9A 6D9B 6D9C 6D9D 6D9E 6D9F 6DA0 6DA1
+6DA2 6DA3 6DA4 6DA5 6DA6 6DA7 6DA8 6DA9 23D40 23D5B
+3DB4 70C4 70C5 70C6 70C7 70C8 70C9 70CA 70CB 70CC
+70CD 70CE 70CF 70D0 70D1 70D2 70D3 70D4 70D5 70D6
+70D7 70D8 70D9 70DA 70DB 70DC 70DD 70DE 70DF 70E0
+70E1 70E2 70E3 70E4 70E5 70E6 70E7 70E8 70E9 70EA
+70EB 70EC 70ED 70EE 241FC 2421B 7231 7239 7242 24578
+3E20 7276 7277 7278 7279 727A 3E74 72F3 72F4 72F5
+72F6 72F7 72F8 72F9 72FA 72FB 72FC 72FD 72FE 7300
+7301 7302 7303 7386 3EB8 73BA 73BC 3EBF 3EC2 3EC7
+73D2 73D3 73D4 73D5 73D6 73D7 73D8 73D9 73DA 73DB
+73DC 73DD 73DE 73DF 73E0 73E1 73E2 73E3 73E4 73E5
+73E6 73E7 73E8 73E9 73EA 73EB 73EC 73ED
+73EE 73EF 73F0 73F1 73F2 7409 2493E 2493F 24940 24941
+24942 24943 73F9 74DE 74DF 74F3 74F4 74F5 7521 7554
+7555 7556 7557 7558 7559 755A 755B 755C 755D 755E
+755F 758D 75B0 75B1 75B2 75B3 75B4 75B6 75B7 75B8
+75B9 75BB 75BC 75BD 75BE 75BF 75C0 75C1 75C2 75C3
+75C4 75C5 75C6 75C7 75C8 75C9 7560 768A 768B 768C
+768D 24F5C 3FED 76B0 76B1 4000 76C9 76CA 76CB 76CC
+76CD 76CE 76CF 76D0 76D1 25052 4026 770E 770F 7710
+7711 7712 7713 7714 7715 7716 7717 7718 7719 771A
+771B 771C 771D 771E 771F 7720 7721 7722 7723 7724
+7727 7728 7729 772A 772B 772C 773F 25148 77DD 77E9
+40A8 781D 781E 781F 7820 7821 7822 7823 7824 7825
+7827 7828 7829 782A 782B 782C 782D 782E
+782F 7830 7831 7832 7833 7834 7835 7836 7837 7838
+7839 783A 783B 783C 783D 783E 783F 7840 7841 25446
+2546C 2546E 4103 794F 7950 7951 7952 7953 7954 7955
+7956 7957 7958 7959 795A 795B 795C 795D 795E 795F
+7960 7962 25651 2573D 79D8 79D9 79DA 79DB 79DC 79DD
+79DE 79DF 79E0 79E1 79E2 79E3 79E4 79E5 79E6 79E7
+79E8 79E9 79EA 79EB 79EC 79ED 79EE 79EF 79F0 7A84
+7A85 7A86 7A87 7A88 7A89 7A8A 7A8B 7A8C 7A8D 7A8E
+25956 41CA 7AD8 7AD9 7ADA 7ADB 7ADC 7ADD 7ADE 41D7
+41DB 7B05 7B06 7B07 7B08 7B09 7B0A 7B0B 7B0C 7B0D
+7B0E 7B0F 7B10 7B11 7B12 7B13 7B14 7B15 7B04 7C83
+7C84 7C85 7C86 7C87 7C88 7C89 7C8A 7C8B 7C8C 7C8D
+7C8E 7C8F 7C90 7C91 42BC 7D0A 7D0B 7D0C
+7D0D 7D0E 7D0F 7D10 7D11 7D12 7D13 7D14 7D15 7D16
+7D17 7D18 7D19 7D1A 7D1B 7D1C 7D1D 7D1E 7D1F 7D20
+7D21 7D22 7D23 7D24 7D25 7D26 7D27 7EE0 7EE1 7EE2
+7EE3 7EE4 7EE5 7EE6 7EE7 7EE8 4343 7F39 7F3A 7F3C
+7F5B 7F5C 7F5D 7F5E 7F5F 7F60 7F61 7F62 7F90 7F92
+7F93 7F94 7F96 7F97 7F98 7F99 7FC0 7FC1 7FC2 7FC3
+7FC4 7FC5 7FC6 26402 26410 26411 26412 8004 8006 800A
+8015 8016 8017 8018 8019 8038 8039 803A 803B 803C
+803D 803E 803F 8040 8041 8042 8081 8082 43ED 80ED
+80EE 80EF 80F0 80F1 80F2 80F3 80F4 80F5 80F6 80F7
+80F8 80F9 80FA 80FB 80FC 80FD 80FF 8100 8101 8102
+8103 8104 8105 8106 8107 8108 810A 810B 810C 810D
+810E 810F 8110 8111 8112 8113 266AF 266B1
+266B5 81EC 81ED 26939 8200 8201 8210 4465 8225 8226
+8227 8228 8229 822A 822B 822C 822D 822E 822F 8230
+8231 8273 449F 44A0 44A2 82BB 8308 8316 8317 8318
+8319 831A 831B 831C 831E 831F 8320 8321 8322 8324
+8325 8326 8327 8328 8329 832A 832B 832C 832D 832E
+832F 8330 8331 8332 8333 8334 8335 8336 8337 8338
+8339 833C 833D 833F 8340 8341 8342 8343 8344 8345
+8347 8348 8349 834A 834B 834C 834D 834E 834F 8350
+8351 8352 8354 8355 8356 8357 8358 835A 835B 835C
+835D 835E 835F 8360 8361 8362 8363 8364 8365 8366
+8367 8368 8369 836A 836C 836D 836E 836F 26B75 26B82
+26B96 26B97 26B9D 26BB3 8353 8651 8653 8654 8684 8685
+8686 8687 8689 868A 868B 868C 868D 868E
+868F 8690 8691 8692 8693 8694 8695 8696 8697 8698
+8699 869A 869B 869C 869D 869E 869F 86A0 86A1 86A2
+86A3 86A4 86A5 86A6 86A7 86A8 86A9 86AA 86AC 8843
+8844 4615 884F 886D 886E 886F 8870 8871 8872 8873
+8874 8875 8876 8877 8878 8879 887A 887B 887C 887D
+887E 887F 8880 8881 8882 8883 8884 8885 8886 8887
+27655 27656 27657 898D 898E 89CA 8A09 8A0A 8A0B 8A0C
+8A0D 8A0E 8A0F 8A10 8A11 8A12 8A13 8A14 8A15 8A16
+8A17 8A18 8A19 8A1A 27967 8BF7 8BF8 8BF9 8BFA 8BFB
+8BFC 8BFD 8BFE 8BFF 8C00 8C01 8C02 8C03 8C04 8C05
+8C06 8C07 8C08 8C09 8C0A 8C38 8C47 8C48 8C57 8C79
+8C7A 8C7B 8CA1 8CA2 8CA3 8CA4 27D2F 8D3C 8D3D 8D3E
+8D3F 8D40 8D41 8D42 8D43 8D44 8D45 8D46
+4798 8D76 8D77 8D78 47D5 8DB5 8DB6 8DB7 8DB8 8EAC
+8ECE 8ECF 8ED0 8ED1 8ED2 8ED3 8ED4 8ED5 8F7C 8F7D
+8F7E 8F7F 8F80 8F81 8F82 8F83 8FB1 8FF4 8FF5 8FF6
+8FF7 8FF8 8FF9 8FFA 8FFB 8FFC 8FFD 8FFE 8FFF 9000
+9001 9002 9003 9004 9005 9006 9007 9008 9009 900A
+9095 90D6 90D7 90D8 90D9 90DA 90DB 90DC 90DD 90DE
+90DF 90E0 90E1 90E2 90E3 90E4 90E5 90E6 90E7 914C
+914D 914E 914F 9150 9151 9152 91D5 91D6 91D7 91D8
+91D9 91DA 91DB 91DC 91DD 91DE 91DF 91E0 91E1 91E2
+94B0 94B1 94B2 94B3 94B4 94B5 94B6 94B7 94B8 94B9
+94BA 94BB 94BC 94BD 94BE 94BF 94C0 94C1 94C2 94C3
+94C4 94C5 94C6 94C7 94C8 94C9 94CA 94CB 94CC 94CD
+94CE 9583 9584 9585 28CCA 28CCD 9603 9604
+9605 9606 9656 9657 9658 9659 965B 965C 965D 965E
+965F 9660 9661 9662 9663 9664 9665 9666 9667 9668
+9669 965A 28E97 96BA 96BB 96BC 96BD 96BE 987C 987D
+987E 987F 9880 9881 9882 9883 9884 98E2 98E3 98E4
+997D 997E 997F 9980 9981 9982 99AC 9A8A 9A8B 9A8C
+9A8D 9A8E 9A8F 9AA8 9AD8 9ADF 9B25 9B2F 9B32 9B3C
+9C7D 9E2A 9E2B 9E2C 9E2D 9E2E 9E2F 9E30 9E31 9E32
+9E33 9E34 9E35 9E36 9F80
+FDD0-280B
+3422 4E7E 4E7F 4E80 3464 5040 5041 5042 5043 5044
+5045 5046 5047 5048 5049 504A 504B 504C 504D 504E
+504F 5050 5051 5052 5053 5054 5055 5057 5058 5059
+505A 505B 505C 505D 505E 505F 5060 5061 5062 5063
+5064 5065 5066 5067 5069 506A 506B 506C 506D 506E
+506F 5070 5071 5072 5073 5074 5075 5076 5077 5078
+5079 507A 507B 507C 507D 507E 507F 202B7 202BF 202C0
+202E5 515C 515D 515E 517D 34BC 5195 51A8 51CF 51D0
+51D1 205EB 51F0 5268 526A 526B 526C 526D 526E 526F
+5270 5271 5276 20779 3520 52D2 52D3 52D4 52D5 52D6
+52D8 52D9 52DA 530F 5310 5313 352D 5318 5319 3531
+532C 532D 532E 533E 533F 5340 5359 5368 537E 53A0
+53A1 53A2 53A3 53A9 53C3 53C4 550C 35A1
+35A5 35AD 5528 5529 552A 552B 552C 552D 552E 552F
+5530 5531 5532 5533 5534 5535 5536 5537 5538 5539
+553A 553B 553C 553D 553E 553F 5540 5541 5542 5543
+5544 5545 5546 5547 5548 5549 554A 554B 554C 554D
+554E 554F 5550 5551 5552 5553 5554 5555 5556 5557
+5558 555A 555B 555C 555D 555E 5560 5561 5562 5563
+5564 5565 5566 5567 5568 5569 556A 556C 556D 556E
+556F 5570 5571 5572 5573 5574 5575 5576 5577 5578
+5579 20D28 20D31 20D32 20D46 20D47 20D48 20D49 20D4C 20D4D
+20D4E 20D6F 20D71 20D74 20D7C 20D7E 20D7F 20D96 20D9C 20DA7
+20DB2 556B 55B6 5707 5708 5709 570A 570B 570F 3647
+3648 3649 57DC 57DD 57DE 57DF 57E0 57E1 57E2 57E3
+57E4 57E5 57E6 57E7 57E8 57E9 57EB 57EC
+57ED 57EE 57EF 57F0 57F1 57F2 57F3 57F4 57F5 57F6
+57F7 57F8 57F9 57FA 57FB 57FC 57FD 57FE 57FF 5800
+5801 5802 5803 5804 5805 5806 5807 5808 5809 580A
+580B 580C 580D 580E 580F 5810 5811 5812 5813 5814
+5815 21336 2133A 57EA 5835 58F7 58F8 591F 5920 595B
+595C 595D 595E 2163E 595F 5962 5A2B 5A3D 36E5 36E6
+5A2C 5A35 5A36 5A37 5A38 5A39 5A3A 5A3B 5A3C 5A3E
+5A3F 5A40 5A41 5A42 5A43 5A44 5A45 5A46 5A47 5A48
+5A49 5A4A 5A4B 5A4C 5A4D 5A4E 5A4F 5A50 5A51 5A52
+5A53 5A54 5A55 5A56 5A57 5A58 5A59 5A5A 5A5B 5A5C
+5A5D 5A5E 5A5F 5A60 5A61 5A62 5A63 5A64 5A65 5A66
+5A67 5A68 5A69 5A6A 5A6B 5A6C 5A6D 5A6E 5A6F 5A70
+5A71 5A72 5A73 5A74 5A75 5A76 2176C 2176D
+2176E 2176F 21770 21771 21773 21774 5A8E 5B6E 5B6F 5B70
+5B72 5BBF 5BC0 5BC1 5BC2 5BC3 5BC4 5BC5 5BC6 5BC7
+5BC8 5BC9 21A2D 21A34 5C07 5C08 5C09 5C59 5C5A 5C5B
+5C5C 5C5D 5C60 5D06 5D07 5D08 5D09 5D0A 5D0B 5D0C
+5D0D 5D0E 5D0F 5D10 5D11 5D12 5D13 5D14 5D15 5D16
+5D17 5D18 5D19 5D1A 5D1B 5D1C 5D1D 5D1E 5D1F 5D20
+5D21 5D22 5D23 5D24 5D25 5D26 5D27 5D28 5D29 5D2A
+5D2B 5D2C 5D2D 5D2E 5D2F 5D30 21E1C 21E37 21E3D 5DE2
+5DE3 3831 5E32 5E33 5E34 5E35 5E36 5E37 5E38 5E39
+5E3A 5E3B 5E3C 5E3E 5EB1 5EB2 5EB3 5EB4 5EB5 5EB6
+5EB7 5EB8 5EB9 5EBA 5EBB 5EBC 5EBE 5F34 5F35 5F36
+5F37 5F38 5F39 223FA 5F57 5F69 5F6B 5F6C 5F96 5F97
+5F98 5F99 5F9B 5F9C 5F9D 5F9E 5F9F 5FA0
+5FA1 5FA2 5FA3 5FA4 22513 2251B 3930 3932 3935 393B
+607F 6086 6089 608A 6090 6098 60A0 60A1 60A3 60A4
+60A5 60A8 60AA 60AB 60AC 393F 394D 60B0 60B1 60B4
+60B5 60B7 60B8 60BA 60BB 60BC 60BD 60BE 60BF 60C0
+60C2 60C3 60C5 60C6 60C7 60C8 60CA 60CB 60CD 60CF
+60D0 60D3 60D4 60D5 60D7 60D8 60D9 60DA 60DB 60DC
+60DD 60DE 60DF 60E4 60E6 60E7 60E8 60EC 60ED 60EE
+60EF 226F4 226F5 226F6 22712 22714 2271B 2271F 621A 621B
+621C 621D 6248 6332 633B 39FB 39FE 3A00 3A01 3A02
+3A03 3A04 3A06 6365 6366 6367 6368 6369 636A 636B
+636C 636D 636E 636F 6370 6371 6372 6373 6374 6375
+6376 6377 6378 6379 637A 637B 637C 637D 637E 637F
+6380 6381 6382 6383 6384 6385 6386 6387
+6388 6389 638A 638B 638D 638E 638F 6390 6391 6392
+6393 6395 6396 6397 6398 6399 639A 639B 639C 639D
+639E 639F 63A0 63A1 63A2 63A4 63A5 63A6 63A7 63A8
+63A9 63AA 63AB 63AC 63AD 63AE 63AF 63B3 63B4 63B5
+63B6 63B7 63B8 63B9 63BA 63BB 63BC 63BD 22BCA 22BCE
+63B2 3A8A 3A8B 3A8C 3A8D 3A8E 555F 654D 654E 654F
+6550 6551 6552 6553 6554 6555 6556 6557 6558 6559
+655A 655B 655D 658D 658E 658F 659B 659C 65AC 65AD
+3ACB 65C7 65C8 65C9 65CB 65CC 65CD 65CE 65CF 65E3
+3AF0 3AF2 52D7 6657 6658 6659 665A 665B 665C 665D
+665E 6661 6662 6663 6664 6665 6666 6667 6668 6669
+66FD 231B3 231C8 231C9 66F9 66FC 3B36 3B37 6716 6718
+6719 671A 671B 3B68 3B69 3B6A 3B6B 3B6C
+3B6D 3B6E 3B6F 3B70 3B71 3B72 3B73 3B74 3B75 3B77
+686B 686C 686D 686E 686F 6870 6871 6872 6873 6874
+6875 6876 6877 6878 6879 687A 687B 687C 687D 687E
+687F 6880 6881 6882 6883 6884 6885 6886 6887 6888
+6889 688A 688B 688C 688D 688E 688F 6890 6891 6892
+6893 6894 6895 6896 6897 6898 6899 689A 689B 689C
+689D 689E 689F 68A0 68A1 68A2 68A3 68A4 68A5 68A6
+68A7 68A8 68A9 68AA 68AB 68AC 68AD 68AE 68AF 68B0
+68B1 68B2 68B3 68B5 68B6 68B7 68B8 68B9 68BA 68BB
+68BC 68BD 68BE 68BF 68C0 68C1 68C2 6956 3C2F 6B32
+6B33 6B35 6B36 6B37 6B38 3C62 6B8C 6B8D 6B8E 6B8F
+6B90 6B91 6B92 6B93 6BB8 6BB9 6BBA 6BBB 6BEB 6BEC
+6BED 6BEE 6C2A 6C2B 23C63 3CEB 6D8E 3D00
+3D04 6D99 6DAA 6DAB 6DAC 6DAD 6DAE 6DAF 6DB0 6DB1
+6DB2 6DB3 6DB4 6DB5 6DB6 6DB7 6DB8 6DB9 6DBA 6DBB
+6DBC 6DBD 6DBE 6DBF 6DC0 6DC1 6DC2 6DC3 6DC4 6DC5
+6DC6 6DC7 6DC8 6DC9 6DCA 6DCB 6DCC 6DCD 6DCE 6DCF
+6DD0 6DD1 6DD2 6DD3 6DD4 6DD5 6DD6 6DD7 6DD8 6DD9
+6DDA 6DDB 6DDC 6DDD 6DDE 6DDF 6DE0 6DE1 6DE2 6DE3
+6DE4 6DE5 6DE6 6DE7 6DE8 6DE9 6DEA 6DEB 6DEC 6DED
+6DEE 6DEF 6DF0 6DF1 6DF2 6DF3 6DF4 6DF5 6DF6 6DF7
+6DF8 6DF9 6DFA 6DFB 6DFD 6DFF 6E00 6E01 6E02 6E04
+6E05 6E06 6E07 6E08 6E09 6E0A 6E0B 6E0C 6E0D 6E0E
+6E0F 6E10 6E11 6E12 6E13 6E14 6E15 6E16 6E17 6E1A
+6E74 23D7E 23D8F 23DB6 23DB7 23DB8 23DB9 23DBA 23DBB 23DBC
+23DBD 23DE3 23DF8 3DBF 70EF 70F0 70F1 70F2
+70F3 70F4 70F5 70F6 70F7 70F8 70F9 70FA 70FC 70FD
+70FE 70FF 7100 7101 7102 7103 7104 7105 7106 7107
+7108 7109 710A 710B 710C 710D 710E 710F 7110 7111
+7112 7113 7115 7116 7117 7118 2424B 24256 24259 7114
+723D 3E3A 3E3C 3E3E 3E40 727B 727C 727D 727E 727F
+7281 24665 72FF 7304 7305 7307 7308 7309 730A 730D
+730E 730F 7310 7311 7313 7314 7315 7316 7317 7318
+7319 731A 731B 731C 731D 731E 731F 7320 7321 732A
+7387 7388 3ECA 3ECC 3ED0 73F3 73F4 73F5 73F6 73F8
+73FA 73FB 73FC 73FD 73FE 73FF 7400 7401 7402 7403
+7404 7405 7406 7407 7408 740A 740B 740C 740D 740E
+740F 7410 7411 7412 7413 24962 24963 24974 24975 24976
+3F0E 74E0 3F26 74F6 74F7 74F8 751B 751C
+7522 7523 7561 7562 7563 7564 7565 7566 7567 7569
+7570 75B5 75CA 75CB 75CC 75CD 75CE 75CF 75D0 75D1
+75D2 75D3 75D4 75D5 75D6 7689 768E 768F 7690 7691
+76B2 4001 4002 76D2 76D3 76D4 76D5 76D6 76D7 76D8
+76DB 7725 7726 772D 772E 772F 7730 7731 7732 7733
+7734 7735 7736 7737 7738 7739 773A 773B 773C 773D
+773E 7741 2517D 2517E 7740 77EA 77EB 7826 7842 7843
+7844 7845 7846 7847 7848 7849 784A 784B 784C 784D
+784E 784F 7850 7851 7852 7853 7854 7855 7856 7857
+7858 7859 785A 785B 7961 4104 7963 7964 7965 7967
+7968 7969 796A 796B 796C 796D 796E 796F 8996 25683
+79BB 413B 4141 4143 4145 79F1 79F2 79F3 79F4 79F5
+79F6 79F7 79F8 79F9 79FA 79FB 79FC 79FD
+79FE 7A06 7A8F 7A90 7A91 7A92 7A93 7A94 7A95 7A9A
+7AE1 7B16 7B17 7B18 7B19 7B1A 7B1B 7B1C 7B1D 7B1E
+7B1F 7B20 7B21 7B22 7B23 7B24 7B25 7B26 7B27 7B28
+7B29 7B2A 7B2B 7B2C 7B2D 7B2E 7B2F 7B30 7B31 7B32
+7B33 7B34 7B35 7B36 7B37 7B38 7B39 7B3A 7B3B 7B3C
+7B3D 7B3E 7568 7C92 7C93 7C94 7C95 7C96 7C97 7C98
+7C99 7C9A 7C9B 7C9C 7C9D 7CA3 25E49 7D28 7D29 7D2C
+7D2D 7D2E 7D2F 7D30 7D31 7D32 7D33 7D34 7D35 7D36
+7D37 7D38 7D39 7D3A 7D3B 7D3C 7D3D 7D3E 7D3F 7D40
+7D41 7D42 7D43 7D44 7D45 7D46 7D47 7D48 7D49 7D4A
+7D4B 7D4C 25FE1 25FE2 7EE9 7EEA 7EEB 7EEC 7EED 7EEE
+7EEF 7EF0 7EF1 7EF2 7EF3 7EF4 7EF5 7EF6 7EF7 7EF8
+7EF9 7EFA 7EFB 7EFC 7EFD 7EFE 7EFF 7F00
+7F01 4344 4345 7F3B 7F3D 7F63 7F95 7F9A 7F9B 7F9C
+7F9D 7F9E 7F9F 7FC7 7FC8 7FC9 7FCA 7FCB 7FCC 7FCD
+7FCE 7FCF 7FD0 7FD1 7FD2 8008 8009 801A 801B 801C
+801D 801E 801F 8043 8044 8045 8046 8047 8048 8049
+804A 804B 804C 804D 80EC 43F2 8115 8116 8117 8118
+8119 811A 811B 811C 811D 811E 811F 8121 8122 8123
+8124 8125 8126 8127 8128 8129 812A 812B 812C 812D
+812E 812F 8130 8131 8132 8133 8134 8135 8136 8137
+8138 266DA 266E8 266FC 2690E 8202 8211 8232 8233 8234
+8235 8236 8237 8238 8239 823A 823B 26A2D 26A2E 8274
+8359 836B 831D 8323 8370 8371 8372 8373 8374 8375
+8376 8377 8378 8379 837A 837B 837C 837D 837E 837F
+8380 8381 8382 8383 8384 8385 8386 8387
+8388 8389 838A 838B 838C 838D 838E 838F 8390 8391
+8392 8393 8394 8395 8396 8397 8398 8399 839B 839C
+839D 839E 839F 83A0 83A1 83A2 83A3 83A4 83A5 83A6
+83A7 83A8 83A9 83AA 83AB 83AC 83AE 83AF 83B0 83B1
+83B2 83B3 83B4 83B5 83B6 83B7 83B8 83B9 83BA 83BC
+83BD 26BC0 26BF7 26C21 83AD 5F6A 8655 8656 8657 8658
+8659 865A 86AB 86AD 86AE 86AF 86B0 86B1 86B2 86B3
+86B4 86B5 86B6 86B7 86B8 86B9 86BA 86BB 86BC 86BD
+86BE 86BF 86C0 86C1 86C2 86C3 86C4 86C5 86C6 86C7
+86C8 86C9 86CA 86CB 86CC 86CD 86CE 86CF FA21 27280
+27285 2728B 8845 8850 8851 8852 8853 8854 4626 8888
+8889 888A 888B 888C 888D 888E 888F 8890 8891 8892
+8893 8894 8895 8896 8897 8898 8899 889A
+889B 889C 889D 889E 889F 88A0 88A1 88A2 88A3 88A4
+88A5 88A6 88A7 88A8 88A9 88AA 88AB 88AC 88AD 88AE
+88B0 88AF 8982 467A 898F 8990 8991 8992 8993 8994
+89CB 89D5 89D6 89D7 89D8 89D9 278C8 46BC 8A1B 8A1C
+8A1D 8A1E 8A1F 8A20 8A21 8A22 8A23 8A24 8A25 8A26
+8A27 8A28 8A29 8A2A 8A2B 8A2C 8A2D 8A2E 8A2F 8A30
+8A31 8A32 8A33 2797A 8C0B 8C0C 8C0D 8C0E 8C0F 8C10
+8C11 8C12 8C13 8C14 8C15 8C16 8C17 8C18 8C19 8C1A
+8C1B 8C1C 8C1D 8C1E 8C39 8C3A 8C3B 8C49 4746 4747
+8C58 8C59 8C5A 8C5B 8C5C 8C5D 8C7C 8C7D 8CA5 8CA6
+8CA7 8CA8 8CA9 8CAA 8CAB 8CAC 8CAD 8CAE 8D47 8D48
+8D49 8D4A 8D65 8D66 8D67 479B 8D79 8D7A 8D7B 8D7C
+8D7D 8D7E 8D7F FA23 8DB9 8DBA 8DBB 8DBD
+8DBE 8DBF 8DC0 8DC1 8DC2 8DC3 8DC4 8EAD 8EAE 8EAF
+28218 2821A 4846 4847 4848 4849 484A 8ED6 8ED7 8ED8
+8ED9 8EDA 8EDB 8EDC 8EDD 8EDE 8EDF 8EE0 8EE1 8EE2
+8EE3 282CD 8F84 8F85 8F86 489B 900B 900C 900D 900E
+900F 9010 9011 9012 9013 9014 9015 9016 9017 9018
+9019 901A 901B 901C 901D 901E 901F 9020 9021 9022
+9023 9024 9025 9026 9027 28501 90AB 90D4 90E8 90E9
+90EA 90EB 90EC 90ED 90EE 90EF 90F0 90F2 90F3 90F4
+90F7 90F8 90FD 2870F 28713 48ED 9153 9154 9155 9156
+9157 9158 9159 915A 915B 915C 915D 915E 28804 91C8
+91CE 91E3 91E4 91E5 91E6 91E7 91E8 91E9 91EA 91EB
+91EC 91ED 91EE 91EF 91F0 91F1 91F2 91F3 91F4 91F5
+91F6 91F7 91F8 91F9 91FA 91FB 91FC 28948
+28949 94CF 94D0 94D1 94D2 94D3 94D4 94D5 94D6 94D7
+94D8 94D9 94DA 94DB 94DC 94DD 94DE 94DF 94E0 94E1
+94E2 94E3 94E4 94E5 94E6 94E7 94E8 94E9 94EA 94EB
+94EC 94ED 94EE 94EF 94F0 94F1 94F2 94F3 94F4 94F5
+94F6 94F7 9579 957A 9586 9587 9588 9589 958A 28CD2
+9607 9608 9609 960A 960B 960C 960D 960E 960F 9610
+966A 966B 966C 966D 966E 966F 9670 9671 9673 9674
+9675 9676 9677 9678 9679 967A 967C 28EAC 28EB2 28EB3
+96BF 96C0 96E9 96EA 96EB 291D5 291EB 976A 7ADF 7AE0
+9802 9803 9804 9885 9886 9887 9888 98E1 98E5 98E6
+9983 9984 9985 9986 9997 9A90 9A91 9A92 9A93 9A94
+9A95 9A96 9AD9 9B5A 9C7E 9CE5 9E37 9E38 9E39 9E3A
+9E3B 9E3C 9E3D 9E3E 9E3F 9E75 9E7F 9EA5
+9EB8 9EBB 9ED2 9F81 9F9A 9F9B
+FDD0-280C
+20046 4E81 4EB4 4EB5 5068 3473 347A 5080 5081 5082
+5083 5084 5085 5086 5087 5088 5089 508A 508B 508C
+508D 508E 508F 5090 5091 5092 5093 5094 5095 5096
+5097 5098 5099 509A 509B 509C 509D 509E 509F 50A0
+50A1 50A2 50A3 50A4 50A5 50A6 50A7 50A8 50A9 2030A
+20325 515F 5160 204A3 6700 51D2 51D3 51D4 51D5 51D6
+51F1 51F2 51FF 34FB 5269 5272 5273 5274 5275 52DB
+52DC 52DD 52DE 5311 5312 20923 20954 3538 535A 53A4
+53A5 53A6 53A7 53A8 53C5 35BF 35C1 35C4 35C5 35C7
+35CA 35CE 5559 557A 557B 557C 557D 557E 557F 5580
+5581 5582 5583 5584 5585 5586 5587 5588 5589 558A
+558B 558C 558E 558F 5590 5591 5592 5593 5594 5595
+5596 5597 5598 5599 559A 559B 559C 559D
+559E 559F 55A0 55A1 55A2 55A3 55A4 55A5 55A6 55A7
+55A8 55A9 55AA 55AB 55AC 55AD 55AE 55AF 55B0 55B1
+55B2 55B3 55B4 55B5 55B7 55B8 55B9 55BA 55BB 55BC
+55BD 55BE 5645 20DC8 20E04 20E09 20E0A 20E0D 20E0E 20E0F
+20E10 20E11 20E16 20E1D 55DE 570C 570D 570E 5710 364E
+5816 5817 5818 5819 581A 581B 581C 581D 581E 581F
+5820 5821 5822 5823 5824 5825 5826 5827 5828 5829
+582A 582B 582C 582D 582E 582F 5830 5831 5833 5834
+5836 5837 5838 5839 583A 583B 583C 583E 583F 5840
+5841 5842 5844 5845 5846 5847 5848 21375 21376 2138E
+21398 2139C 58F9 58FA 58FB 5921 5960 5961 5963 5964
+5965 36F5 3700 3701 3703 3704 5A77 5A78 5A79 5A7A
+5A7B 5A7C 5A7D 5A7E 5A7F 5A80 5A81 5A82
+5A83 5A84 5A85 5A86 5A87 5A88 5A89 5A8A 5A8B 5A8C
+5A8D 5A8F 5A91 5A92 5A93 5A94 5A95 5A96 5A97 5A98
+5A99 5A9A 5A9B 5A9C 5A9D 5A9E 5A9F 5AA0 5AA1 5AA2
+5AA3 5AA4 5AA5 5AA6 5AA7 5AA8 5AA9 5AAA 5AAB 5AAC
+5AAD 5AAE 5AAF 5ACF 217AB 217B0 217B1 217B2 217B3 217B4
+217B5 217C3 217C7 217D9 217DA 217DB 217DC 217DF 5B71 2197C
+21980 5B73 3762 5BCA 5BCB 5BCC 5BCD 5BCE 5BCF 5BD0
+5BD1 5BD2 5BD3 5BD4 5BD5 5BEA 21A45 21A4B 5C0A 5C0B
+5C0C 5C1E 5C30 5C31 5C5E 5C5F 5C61 21CA2 21CA5 5D31
+5D32 5D33 5D34 5D35 5D36 5D37 5D38 5D39 5D3A 5D3B
+5D3C 5D3D 5D3E 5D3F 5D40 5D41 5D42 5D43 5D44 5D45
+5D46 5D47 5D48 5D49 5D4B 5D4C 5D4D 5D4E 5D4F 5D50
+5D51 5D52 5D53 5D54 5D55 5D56 5D57 5D58
+5D59 5D5A 5D5B 5D5C 5D5D FA11 21E89 21EA4 21EA8 5D6B
+382D 5DEF 5DFD 22045 22049 5E3D 5E3F 5E40 5E41 5E42
+5E43 5E44 5E45 5E46 5E47 5E49 220FC 5E48 5E7E 5EBD
+5EBF 5EC0 5EC1 5EC2 5EC3 5ECA 5EC4 5F11 5F3A 5F3B
+5F3C 5F3D 5F3E 5F58 5F6D 5F9A 5FA5 5FA6 5FA7 5FA8
+5FA9 5FAA 5FAB 22530 60B2 60B3 60B6 60B9 60C1 60C4
+60C9 60CC 60CE 60D1 60D2 60D6 60E0 60E1 60E2 60E3
+60E5 60E9 60EA 60EB 3961 3962 3965 60F0 60F1 60F2
+60F4 60F5 60F6 60F8 60FA 60FB 60FC 60FD 60FE 60FF
+6100 6103 6104 6105 6107 6109 610A 610B 610C 610E
+6110 6111 6112 6113 6114 6115 6116 6118 611C 611D
+611E 6120 6121 6122 6123 6124 6125 6126 6168 2272A
+22775 22781 39B8 621E 621F 6249 624A 638C
+6394 63A3 63B0 63B1 3A17 3A18 63BE 63BF 63C0 63C1
+63C2 63C3 63C4 63C6 63C7 63C8 63C9 63CA 63CB 63CC
+63CD 63CE 63CF 63D0 63D1 63D2 63D3 63D4 63D5 63D6
+63D7 63D8 63D9 63DA 63DB 63DC 63DD 63DE 63DF 63E0
+63E1 63E2 63E3 63E5 63E6 63E8 63E9 63EA 63EC 63ED
+63EE 63EF 63F0 63F2 63F3 63F4 63F5 63F6 63F7 63F8
+63F9 63FA 63FB 63FC 63FD 63FE 63FF 6400 6401 6402
+6403 6404 6405 6452 22C26 22C27 22C38 22C4C 22C51 22C55
+6461 6532 3A8F 3A90 3A97 655C 655E 655F 6560 6561
+6562 6563 6564 6565 6566 6567 6568 6569 656A 22F74
+658C 6590 6591 3AB8 659D 2307D 2307E 659E 3AC0 65AE
+65AF 65B1 65D0 65D1 23103 3AFB 3B00 666A 666B 666C
+666D 666E 666F 6670 6671 6672 6673 6674
+6675 6676 6677 6679 667A 667B 667C 667D 667E 667F
+6680 6681 6682 6683 6691 231F7 231F8 231F9 2320F 66FE
+66FF 6701 6702 3B38 671C 671D 671E 671F 68B4 3B76
+3B78 3B79 3B7A 3B7B 3B7C 3B7D 3B7E 3B7F 3B80 68C3
+68C4 68C5 68C6 68C7 68C8 68C9 68CA 68CB 68CC 68CD
+68CE 68CF 68D0 68D1 68D2 68D3 68D4 68D5 68D6 68D7
+68D8 68D9 68DA 68DB 68DC 68DD 68DE 68DF 68E0 68E1
+68E2 68E3 68E4 68E5 68E6 68E7 68E8 68E9 68EA 68EB
+68EC 68ED 68EE 68EF 68F0 68F1 68F2 68F3 68F4 68F5
+68F6 68F7 68F8 68F9 68FA 68FB 68FC 68FD 68FE 68FF
+6900 6901 6902 6903 6904 6905 6906 6907 6908 6909
+690A 690B 690C 690D 690E 690F 6910 6911 6912 6913
+6914 6915 6916 6917 6918 6919 691A 691B
+691C 691D 691E 691F 6920 6921 6922 6923 6924 6925
+6926 6927 6928 6929 692A 692B 692C 692D 692E 234E5
+23519 23530 696E 6970 6B39 6B3A 6B3B 6B3C 6B3D 6B3E
+6B3F 6B6E 6B6F 3C64 3C66 3C68 3C69 6B94 6B95 6B96
+6B97 6B98 6B99 6B9A 6BBC 6BBD 6BBE 6BEF 6BF0 6BF1
+6BF2 6BF3 6BF4 6BF5 6BF6 6C2C 6C2D 6C2E 6C2F 6C30
+6DFC 6DFE 3D13 3D1D 3D20 3D22 6E03 6E18 6E19 6E1B
+6E1C 6E1D 6E1E 6E1F 6E20 6E21 6E22 6E23 6E24 6E25
+6E26 6E27 6E28 6E29 6E2A 6E2B 6E2C 6E2D 6E2E 6E2F
+6E30 6E31 6E32 6E33 6E34 6E35 6E36 6E37 6E38 6E39
+6E3A 6E3B 6E3C 6E3D 6E3E 6E3F 6E40 6E41 6E42 6E43
+6E44 6E45 6E46 6E47 6E48 6E49 6E4A 6E4B 6E4C 6E4D
+6E4E 6E4F 6E50 6E51 6E52 6E53 6E54 6E55
+6E56 6E57 6E58 6E59 6E5A 6E5B 6E5C 6E5D 6E5E 6E5F
+6E60 6E61 6E62 6E63 6E64 6E65 6E66 6E67 6E68 6E69
+6E6A 6E6B 6E6D 6E6E 6E6F 6E70 6E71 6E72 6E73 6E75
+6E76 6E77 6E78 6E79 6E7A 6E7B 6E7C 6E7D 6E7E 6E7F
+6E80 6E81 6E82 6E83 6E84 6E85 6E86 6E87 6E88 6E89
+6E8A 6E8B 6E8C 6ECB 6EDE 23E11 23E2C 23E2D 23E2E 23E2F
+23E30 23E31 23E39 70FB 3DC6 3DC7 3DC9 3DCC 3DCD 7119
+711A 711B 711C 711D 711E 711F 7120 7121 7122 7123
+7124 7125 7126 7127 7128 7129 712A 712B 712C 712D
+712E 712F 7130 7131 7132 7133 7134 7135 7136 7137
+7138 7139 713A 713B 713C 713D 713E 713F 7140 716E
+24276 24277 24278 24284 24293 24295 242A5 7232 724B 724C
+724D 245C8 725A 3E43 7280 7282 7283 7284
+7285 7286 7287 7288 7289 728A 728B 24674 7306 730B
+730C 7312 732B 7322 7323 7324 7325 7326 7327 7328
+7329 732C 732D 732F 7330 7331 7332 7333 7334 7335
+7336 7338 7339 247E0 3ED1 3ED6 3EDA 3EDB 73F7 7414
+7415 7416 7417 7418 7419 741A 741B 741C 741D 741F
+7420 7421 7422 7423 7424 7425 7426 7428 7429 742A
+742B 742C 742D 742E 742F 7430 7431 7432 7433 7434
+7435 7436 7437 7438 7439 743A 743B 743C 2497B 2497F
+24982 24988 24989 2498A 2498B 2498C 2498D 2498E 2498F 24994
+249A4 249A7 249A9 249AB 249AC 249AD 74F9 74FA 74FB 74FC
+7524 7525 7526 752F 24C09 756A 756B 756C 756D 756E
+756F 7572 7573 7574 7571 758E 758F 3F93 3F98 75D7
+75D8 75D9 75DA 75DB 75DC 75DD 75DE 75DF
+75E0 75E1 75E2 75E3 75E4 75E5 75E6 75E7 75E8 75E9
+75EA 75EB 24DB8 767B 767C 7692 7693 7694 7695 7696
+76B3 76B4 4003 76D9 76DA 76DC 4039 4040 7742 7743
+7744 7745 7746 7747 7748 7749 774A 774B 774C 774D
+774E 774F 7750 7751 77DE 77DF 77EC 77ED 785C 785D
+785E 785F 7860 7861 7862 7863 7864 7865 7866 7867
+7868 7869 786A 786B 786C 786D 786E 786F 7870 7871
+7872 7873 7874 7875 7876 7877 4109 7966 7970 7971
+7972 7973 7974 7975 7976 7977 7978 7984 25695 79BC
+79FF 7A00 7A01 7A02 7A03 7A04 7A05 7A07 7A08 7A09
+7A0A 7A0B 7A0C 7A0D 7A0E 257C7 7A96 7A97 7A98 7A99
+7A9B 7A9C 7A9D 7AE2 7AE3 7AE4 7AE5 7AE6 7AE7 41ED
+41EE 41EF 7B3F 7B40 7B41 7B42 7B43 7B44
+7B45 7B46 7B47 7B48 7B49 7B4A 7B4B 7B4C 7B4D 7B4E
+7B4F 7B50 7B51 7B52 7B53 7B54 7B55 7B56 7B57 7B58
+7B59 7B5A 7B5B 7B5C 7B5D 7B6C 4283 7C9E 7C9F 7CA0
+7CA1 7CA2 7CA4 7CA5 7CA6 7CA7 7CA8 7CA9 7CAA 7CAB
+7CAC 7CAD 7D2A 7D2B 7D4D 7D4E 7D4F 7D50 7D51 7D52
+7D53 7D54 7D55 7D56 7D57 7D58 7D59 7D5A 7D5C 7D5D
+7D5E 7D5F 7D60 7D61 7D62 7D63 7D64 7D65 7D66 7D67
+7D68 7D69 7D6A 7D6B 7D6C 7D6D 7D6E 7D6F 7D70 7D71
+7D72 7D73 7D74 7D75 7D76 7D77 7D7E 433B 7F02 7F03
+7F04 7F05 7F06 7F07 7F08 7F09 7F0A 7F0B 7F0C 7F0D
+7F0E 7F0F 7F10 7F11 7F12 7F13 7F14 7F15 7F16 7F17
+7F18 7F3E 7F3F 7F40 7F64 7F65 7F66 436E 436F 7FA0
+7FA1 7FA2 7FD3 7FD4 7FD5 7FD6 7FD7 7FD8
+7FD9 7FDA 800B 8020 804E 804F 8050 8051 8052 8053
+8054 8060 26572 80D4 80FE 8114 8120 3B39 4400 4401
+4402 8139 813A 813B 813C 813D 813E 813F 8140 8141
+8142 8143 8144 8145 8146 8147 8148 8149 814A 814B
+814C 814D 814E 814F 8151 8152 8153 8154 8155 8156
+8157 8158 8159 815A 26716 26741 8174 81E6 81EE 81EF
+81F0 26911 81F5 81F6 81F7 81F8 81F9 8203 8204 8212
+821C 823C 823D 823E 823F 26A34 8275 44B0 44B7 44C0
+8312 833B 8346 839A 83BE 83BF 83C0 83C1 83C2 83C3
+83C4 83C5 83C6 83C7 83C8 83C9 83CA 83CB 83CC 83CD
+83CE 83CF 83D0 83D1 83D2 83D3 83D4 83D5 83D6 83D7
+83D8 83DA 83DB 83DC 83DD 83DE 83DF 83E0 83E1 83E2
+83E3 83E4 83E5 83E6 83E7 83E8 83E9 83EA
+83EB 83EC 83ED 83EE 83EF 83F0 83F1 83F2 83F3 83F4
+83F5 83F6 83F7 83F8 83F9 83FA 83FB 83FC 83FD 83FE
+83FF 8400 8401 8402 8403 8404 8405 8406 8407 8408
+8409 840A 840B 840C 840D 840E 840F 8410 8411 8412
+8413 8414 8415 8416 8417 8418 8419 841A 841B 841C
+841D 841E 841F 8420 8421 8422 8423 8424 8426 8427
+8457 26C40 26C7E 26C7F 26C80 26C81 26C82 26CA4 26CB7 26CB8
+26CBD 26CC0 8438 865B 865D 45AD 45AF 8688 86D0 86D1
+86D2 86D3 86D4 86D5 86D7 86D8 86D9 86DA 86DB 86DC
+86DD 86DE 86DF 86E0 86E1 86E2 86E3 86E4 86E5 86E6
+86E7 86E8 86E9 86EA 86EB 86EC 86ED 86EE 86EF 86F0
+86F1 86F2 86F3 86F4 272B2 272B6 8846 8847 8848 8849
+8855 8856 8857 88B1 88B2 88B3 88B4 88B5
+88B6 88B7 88B8 88B9 88BA 88BB 88BC 88BD 88BE 88BF
+88C0 88C1 88C2 88C3 88C4 88C5 88C6 88C7 88C8 88C9
+88D7 27694 8901 8983 8984 8999 8995 8997 8998 899A
+89CC 89CD 89DA 89DB 89DD 89DE 46CF 46D0 8A34 8A35
+8A36 8A37 8A38 8A39 8A3A 8A3B 8A3C 8A3D 8A40 8A41
+8A42 8A43 8A44 8A45 8A46 8A47 8A48 8A49 8A4A 8A4B
+8A4C 8A4D 8A4E 8A4F 8A50 8A51 8A52 8A53 8A54 8A55
+8A56 8A57 8A58 8A59 8A5A 8A5B 8A5C 8A5D 8A5E 8A5F
+8A60 279A0 8C1F 8C20 8C21 8C22 8C23 8C24 8C25 8C26
+8C27 4748 8C5E 8C5F 8C60 8C61 8C7E 8C7F 8C80 8C81
+8C82 8C83 8CAF 8CB0 8CB1 8CB3 8CB4 8CB5 8CB6 8CB7
+8CB8 8CB9 8CBA 8CBB 8CBC 8CBD 8CBE 8CBF 8CC0 8CC1
+27D53 27D54 8D4B 8D4C 8D4D 8D4E 8D4F 8D50
+8D51 8D52 8D53 8D54 8D55 47A1 47A3 8D80 8D81 8D82
+8D83 8D84 8D85 8D86 8D87 8D88 8D89 8D8A 8D8B 47ED
+8DC5 8DC6 8DC7 8DC8 8DC9 8DCA 8DCB 8DCC 8DCD 8DCE
+8DCF 8DD1 8DD2 8DD3 8DD4 8DD5 8DD6 8DD7 8DD8 8DD9
+8DDA 8DDB 8DDC 8DDD 8DDE 8DF5 27FF9 28002 28009 8EB0
+4852 8EE4 8EE5 8EE6 8EE7 8EE8 8EE9 8EEA 8EEB 8EEC
+8EEE 8EEF 8EF0 8EF1 8EF2 8EF3 8EF4 8EF5 8EF6 8EF7
+8EF8 8EF9 8EFA 8EFB 8EFC 8EFD 282E2 8F87 8F88 8F89
+8F8A 8F8B 8F8C 8F8D 8F8E 8F9C 8F9D 28412 9028 9029
+902A 902B 902C 902D 902E 902F 9030 9031 9032 9033
+9034 9035 9036 9037 9038 9039 903A 903B 2853C 2853D
+90F5 48D0 90F9 90FB 90FC 90FE 90FF 9100 9101 9102
+9103 9104 9105 9106 9107 9108 9109 910A
+912C 48F3 915F 9160 9161 9162 9163 9164 9165 91C9
+91CA 91CF 491E 4920 91FD 91FE 91FF 9200 9201 9202
+9203 9204 9205 9206 9207 9208 9209 920A 920B 920C
+920D 920E 920F 9210 9211 9212 9213 9214 9215 9216
+9217 9218 9219 921A 921B 921C 921D 921E 921F 9220
+9221 9222 9223 9224 9225 9226 9227 9228 9229 922A
+922B 922C 28956 28964 94F8 94F9 94FA 94FB 94FC 94FD
+94FE 94FF 9500 9501 9502 9503 9504 9505 9506 9507
+9508 9509 950A 950B 950C 950D 950E 950F 9510 9511
+9512 9513 9514 9515 957B 958B 958C 958D 958E 958F
+9590 9591 9592 9593 9594 9595 9596 9597 9611 9612
+9613 9614 9615 9672 967B 967D 967E 967F 9680 9681
+9682 9683 9684 9685 9686 9687 9688 9689
+968A 968B 968C 968D 968E 9690 28ED9 28EE7 96C1 96C2
+96C3 96C4 96C5 96C6 96C7 96C8 96EC 96ED 96EE 96EF
+96F0 96F1 96F2 96F3 29088 2908B 9753 9754 975F 976B
+976C 976D 976E 976F 9770 9771 97CC 97E9 9805 9806
+9807 9808 9889 988A 988B 988C 988D 988E 988F 98A9
+98AA 2959E 98D3 98E7 98E8 98E9 98EA 98EB 98ED 98EF
+98F0 98F2 9987 9988 998A 998B 99AD 99AE 9A97 9A98
+9A99 9A9A 9A9B 9AA9 9AE0 9C7F 9C80 9C81 9C82 9C83
+9CE6 9E40 9E41 9E42 9E43 9E44 9E45 9E46 9E47 9E48
+9EC3 9EC4 9ECD 9ED1 9EF9 9F0B 9F82
+FDD0-280D
+4E82 4E83 4E84 4EB6 4EB7 347D 347E 50AA 50AB 50AC
+50AD 50AE 50AF 50B0 50B1 50B2 50B3 50B4 50B5 50B6
+50B7 50B8 50B9 50BA 50BB 50BC 50BD 50BE 50BF 50C0
+50C1 50C2 50C3 50C4 50C5 50C6 50C7 50C8 50C9 50CA
+50CB 50CC 50CD 20341 20345 20346 20347 203B5 5161 517E
+517F 51D7 5277 5278 5279 527A 527B 527C 527D 527E
+527F 52DF 52E0 52E1 52E2 52E3 52E4 52E5 52E6 52E7
+3532 3533 3534 532F 5380 5381 53AA 53AB 53AF 53E0
+FA0E 35D2 35D6 35DB 35DD 35E0 558D 55BF 55C0 55C1
+55C2 55C3 55C4 55C5 55C6 55C7 55C8 55C9 55CA 55CB
+55CC 55CD 55CE 55CF 55D0 55D1 55D2 55D3 55D4 55D5
+55D6 55D7 55D8 55D9 55DA 55DB 55DC 55DD 55DF 55E0
+55E1 55E2 55E3 55E4 55E5 55E6 55E7 55E8
+55E9 55EA 55EB 55EC 55ED 55EE 55EF 55F0 55F1 55F2
+55F3 55F4 55F5 20E4C 20E6D 20E73 20E75 20E76 20E77 20E78
+20E79 20E7A 20E7B 20E8C 20E96 20E98 20E9D 20EA2 20EAA 20EAB
+20EAC 20EB6 5711 5712 5713 5714 5715 365F 583D 5843
+5849 584A 584B 584C 584D 584E 584F 5850 5851 5852
+5853 5854 5855 5856 5857 5858 5859 585A 585B 585C
+585D 585E 585F 5860 5861 5862 5863 5864 5865 5866
+5867 5868 5869 586A 586B 586C 586D 586E 586F 5870
+5871 213C5 213C6 58FC 5966 5967 5968 21661 3708 370A
+370D 5A90 5AB0 5AB1 5AB2 5AB3 5AB4 5AB5 5AB6 5AB7
+5AB8 5AB9 5ABA 5ABB 5ABC 5ABD 5ABE 5ABF 5AC0 5AC1
+5AC2 5AC3 5AC4 5AC5 5AC6 5AC7 5AC8 5AC9 5ACA 5ACB
+5ACC 5ACD 5ACE 5AD0 5AD1 5AD2 5AD3 5AD4
+217EF 217F5 217F6 217F8 217F9 217FA 217FB 217FC 5B74 21983
+21988 5B76 3766 5BD6 5BD7 5BD8 5BD9 5BDA 5BDB 5BDC
+5BDD 5C1F 5C20 5C32 5C33 5C34 21CAC 37F2 37F8 5D4A
+5D5E 5D5F 5D60 5D61 5D62 5D63 5D64 5D65 5D66 5D67
+5D68 5D69 5D6A 5D6C 5D6D 5D6E 5D6F 5D70 5D71 5D72
+5D73 5D74 5D75 5D76 21EC8 21ED5 5DF0 5E4A 5E4B 5E4C
+5E4D 5E4E 5E4F 5E79 5EC5 5EC6 5EC7 5EC8 5EC9 5ECB
+5ECC 2227C 5F12 5F3F 5F40 5F41 5F42 5F59 5F5A 22465
+5F6E 5FAC 5FAD 5FAE 5FAF 5FB0 3963 3964 3966 60F3
+60F7 60F9 6101 6102 6106 6108 610D 610F 6117 6119
+611A 611B 611F 6127 6129 612A 612B 612D 612E 612F
+6130 6131 6132 6134 6135 6136 6137 6139 613A 613C
+613D 613E 6140 6143 6144 6145 6146 6149
+614A 614C 614D 614E 614F 6151 227B4 227B5 227CD 6226
+6220 6221 6222 6223 6224 6225 63E7 63EB 63F1 3A20
+3A23 3A26 3A29 3A2A 6406 6407 6408 6409 640A 640B
+640C 640D 640E 640F 6410 6411 6412 6413 6414 6415
+6416 6417 6418 6419 641A 641B 641C 641D 641E 641F
+6420 6421 6422 6423 6424 6425 6426 6427 6428 6429
+642A 642C 642D 642E 642F 6430 6432 6433 6435 6436
+6437 6438 6439 643A 643C 643D 643E 6440 6441 6442
+6443 6444 6445 6446 6447 6448 6449 644A 22C62 22C88
+22C9B 22CA1 22CA9 22CB2 63C5 6431 656D 656B 656C 656E
+656F 6570 6592 295B0 659F 65B0 65D2 65D3 65D4 65D5
+65E4 6678 3B01 3B02 3B03 3B04 3B05 3B06 3B07 3B08
+3B09 3B0A 3B0B 3B0C 6684 6685 6686 6687
+6688 6689 668A 668B 668C 668D 668E 668F 6690 6692
+6693 6694 6695 6696 6697 6698 6699 23225 2322F 23231
+23232 23233 23234 6703 6720 6721 3B96 3B99 692F 6930
+6931 6932 6933 6934 6935 6936 6937 6938 6939 693A
+693B 693C 693D 693E 693F 6940 6941 6942 6943 6944
+6945 6946 6947 6948 6949 694A 694B 694C 694D 694E
+694F 6950 6951 6952 6953 6954 6955 6957 6958 6959
+695A 695B 695C 695D 695E 695F 6960 6961 6962 6963
+6964 6965 6966 6967 6968 6969 696A 696B 696C 696D
+696F 6971 6972 6973 6974 6975 6976 6977 6978 6979
+697A 697B 697C 697D 697E 697F 6980 6981 6982 6983
+6984 6985 6986 6987 6988 6989 698B 698C 6994 6998
+FA13 2355A 23567 23595 23599 2359C 3C3C 3C3E
+6B40 6B41 6B42 6B43 6B44 6B45 6B46 6B47 6B48 6B71
+6B72 6B73 3C6E 6B9B 6B9C 6BBF 6BC0 6BC1 6BC2 23AA7
+6BD3 6BF7 6BF8 6BF9 6BFA 6BFB 6BFC 6BFD 6C31 6E6C
+3D26 3D32 3D33 3D3B 6E8D 6E8E 6E8F 6E90 6E91 6E92
+6E93 6E94 6E95 6E96 6E97 6E98 6E99 6E9A 6E9B 6E9C
+6E9D 6E9E 6E9F 6EA0 6EA1 6EA2 6EA3 6EA4 6EA5 6EA6
+6EA7 6EA8 6EA9 6EAA 6EAB 6EAC 6EAD 6EAE 6EAF 6EB0
+6EB1 6EB2 6EB3 6EB4 6EB5 6EB6 6EB7 6EB8 6EB9 6EBA
+6EBB 6EBC 6EBD 6EBE 6EBF 6EC0 6EC1 6EC2 6EC3 6EC4
+6EC5 6EC6 6EC7 6EC8 6EC9 6ECA 6ECD 6ECF 6ED0 6ED1
+6ED2 6ED3 6ED4 6ED6 6ED7 6ED8 6ED9 6EDB 6EDC 6EDD
+6EDF 6EE0 6EE1 6EE2 6EE3 6EE4 6EE5 6EE6 6EE7 6EE8
+6EE9 6EEA 6F13 23E88 23E89 23E8A 23E8B 23EB9
+23EBF 6EDA 3BA1 3DD3 3DDB 7141 7142 7143 7144 7145
+7146 7147 7148 7149 714A 714B 714C 714D 714E 714F
+7150 7151 7152 7153 7154 7156 7157 7158 7159 715A
+715C 715D 715E 715F 7160 7161 7162 7163 7164 7165
+7166 7167 7168 7169 716A 716B 716C 716D 716F 7170
+7171 7172 7173 7174 7175 7176 7177 7178 717A 242C1
+242C9 242CA 242EE 242FA 24521 723A 7243 724E 724F 7250
+7251 7252 3E48 728C 728D 728E 728F 7290 7291 24697
+732E 7337 7341 733A 733B 733C 733D 733E 733F 7340
+7342 7345 7346 7347 7348 7349 734A 24812 24823 3ED7
+7427 3EDE 3EE1 3EE2 741E 743D 743E 743F 7440 7441
+7442 7443 7444 7445 7446 7447 7448 7449 744A 744B
+744C 744D 744E 744F 7450 7451 7452 7453
+7454 7455 7456 7457 7458 7459 745A 745B 745C 745D
+745E 745F 249B7 249B8 249B9 249BA 249BB 249C5 249D0 249DA
+249DE 249DF 249E3 249E5 746F 74E1 74FD 74FE 74FF 7501
+751D 751E 3F63 7575 7576 7577 7578 7579 757A 24C9E
+24C9F 75EC 75ED 75EE 75EF 75F0 75F1 75F2 75F3 75F4
+75F5 75F6 75F7 75F8 75F9 75FA 75FB 75FC 75FD 75FE
+75FF 7600 7601 7602 7603 7604 7605 7606 24DEA 24DEB
+760F 7610 7697 7698 7699 24F82 24F86 76B5 4004 76DD
+76DE 76DF 4045 7752 7753 7754 7755 7756 7757 7758
+7759 775A 775B 775C 775D 775E 775F 7760 7762 7763
+7764 7765 7766 7767 7768 7769 776A 776B 776C 776D
+251CD 251E3 251E6 251E7 7761 7779 77E0 77EE 40BB 40BF
+7878 7879 787A 787B 787C 787D 787F 7880
+7881 7882 7883 7884 7885 7886 7887 7888 7889 788A
+788B 788C 788D 788E 788F 7890 7891 7892 7893 7894
+7895 7896 7897 7898 7899 789A 789B 789C 78B0 410E
+7979 797A 797B 797C 797D 797E 797F 7980 7981 7982
+7983 7985 7986 79BD 842C 7A0F 7A10 7A11 7A12 7A13
+7A14 7A15 7A16 7A17 7A18 7A19 7A1A 7A1B 7A1C 7A1D
+7A1E 7A1F 7A20 7A21 7A22 7A23 7A24 7A25 257DF 257E0
+257E1 7A9E 7A9F 7AA0 7AA1 7AA2 7AA3 7AA4 7AA5 7AA6
+7AA7 259AC 41CF 7AE8 7AE9 7AEA 7AEB 25A95 41F8 41F9
+41FB 41FC 41FD 41FE 41FF 4200 7B5E 7B5F 7B60 7B61
+7B62 7B63 7B64 7B65 7B66 7B67 7B68 7B69 7B6A 7B6B
+7B6D 7B6E 7B6F 7B70 7B71 7B72 7B73 7B74 7B76 7B77
+7B78 7B79 7B7A 7B7B 7B7C 7B7D 7B7E 7B7F
+7B80 7BC0 25B74 25B89 428C 7CAE 7CAF 7CB0 7CB1 7CB2
+7CB3 7CB4 7CB5 7CC0 25E81 25E82 25E83 7D5B 7D78 7D79
+7D7A 7D7B 7D7C 7D7D 7D7F 7D80 7D81 7D82 7D83 7D84
+7D85 7D86 7D87 7D88 7D89 7D8A 7D8B 7D8C 7D8D 7D8E
+7D8F 7D90 7D91 7D92 7D93 7D94 7D95 7D97 7D98 7D99
+7D9A 7D9B 26029 7F19 7F1A 7F1B 7F1C 7F1D 7F1E 7F1F
+7F20 7F21 7F22 7F23 7F24 7F67 7F68 7F69 7F6A 7F6B
+7F6C 7F6D 7F6E 7F72 262D0 7FA3 7FA4 7FA5 7FA6 7FA7
+7FA8 7FA9 7FAA 7FDB 7FDC 7FDD 8021 8022 8055 8056
+8057 8058 8084 8085 8086 4413 5E50 815B 815C 815D
+815E 815F 8160 8161 8162 8163 8164 8165 8166 8167
+8168 8169 816A 816B 816C 816D 816E 816F 8170 8171
+8172 8173 8175 8176 8177 8178 8179 817A
+817B 817C 817D 817E 8205 821D 8240 8241 8242 8243
+8244 8245 8246 8247 8248 8249 26A42 44C5 44CE 83BB
+83D9 8425 8428 8429 842A 842B 842D 842E 842F 8430
+8431 8432 8433 8434 8435 8436 8437 8439 843A 843B
+843C 843D 843E 843F 8440 8441 8442 8443 8444 8445
+8446 8447 8448 8449 844A 844B 844C 844D 844E 844F
+8450 8451 8452 8453 8454 8455 8456 8458 8459 845A
+845B 845C 845D 845E 845F 8460 8461 8462 8463 8464
+8465 8466 8467 8468 8469 846A 846B 846C 846D 846E
+846F 8470 8471 8472 8473 8474 8475 8476 8477 8478
+8479 847A 847B 847C 847D 847E 847F 8480 8481 8482
+8483 8484 8485 8486 8487 8488 8489 848B 848C 848D
+848E 848F 26CC3 26CD1 26D22 26D23 26D24 26D25
+26D26 26D27 26D28 26D29 26D2A 26D51 84C5 84C8 84F1 8507
+865C 865E 865F 86D6 86F5 86F6 86F7 86F8 86F9 86FA
+86FB 86FC 86FD 86FE 86FF 8700 8701 8702 8703 8704
+8705 8706 8707 8708 8709 870A 870B 870C 870D 870E
+870F 8710 8713 8714 8715 8716 8717 8746 272E6 874D
+8858 8859 88CA 88CB 88CC 88CD 88CE 88CF 88D0 88D1
+88D2 88D3 88D4 88D5 88D6 88D8 88D9 88DA 88DB 88DC
+88DD 88DE 88DF 88E0 88E1 88E3 88E4 88E5 8985 4680
+899B 899C 89CE 89DC 89DF 89E0 89E1 89E2 89E3 89E4
+89E5 89E6 89E7 8A3E 8A3F 8A61 8A62 8A63 8A64 8A65
+8A66 8A67 8A68 8A69 8A6A 8A6B 8A6C 8A6D 8A6E 8A6F
+8A70 8A71 8A72 8A73 8A74 8A75 8A76 8A77 8A78 8A79
+8A7A 8A7B 8A7C 8A7D 8A7E 8A7F 8A80 8A81
+8A82 8A83 8A84 8A85 8A86 8A87 8A88 8A89 8A8A 8AA0
+279DD 8C28 8C29 8C2A 8C2B 8C2C 8C3C 8C4A 8C4B 8C62
+8C63 8C64 8C65 8C66 8C84 8C85 8C86 8C87 8C88 8C89
+8C8A 8CB2 8CC2 8CC3 8CC4 8CC5 8CC6 8CC7 8CC8 8CC9
+8CCA 8CCB 8CCC 8CCD 8CCE 27D66 27D73 27D84 8D56 8D57
+8D68 8D69 8D6A 47A6 8D8C 8D8D 8D8E 8D8F 8D90 8D91
+8D92 8D93 8D94 8DD0 8DBC 8DDF 8DE0 8DE1 8DE2 8DE3
+8DE4 8DE5 8DE6 8DE7 8DE8 8DE9 8DEA 8DEB 8DEC 8DED
+8DEE 8DEF 8DF0 8DF1 8DF2 8DF3 8DF4 8DF6 8DF7 8DF8
+8DF9 8DFA 8DFB 2801E 28023 28024 4837 8EB1 8EB2 8EED
+8EFE 8EFF 8F00 8F01 8F02 8F03 8F04 8F05 8F06 8F07
+8F08 8F09 8F0A 8F0B 8F0C 8F8F 8F90 8F91 8F92 8F93
+8F94 8F9E 8F9F 8FA0 8FB2 903C 903D 903E
+903F 9040 9041 9042 9043 9044 9045 9046 9047 9048
+9049 904A 904B 904C 904D 904E 904F 9050 9051 9052
+9053 9054 9055 9056 9057 2856C 90CC 910B 910C 910D
+910E 910F 9110 9111 9112 9113 9114 9115 9116 9117
+9166 9167 9168 9169 916A 916B 916C 916D 916E 916F
+9170 9171 2882B 922E 922F 9230 9231 9232 9233 9234
+9235 9236 9237 9238 9239 923A 923B 923C 923D 923E
+923F 9240 9241 9242 9243 9244 9245 9246 9247 9248
+9249 924A 924B 924C 924D 924E 924F 9250 9251 9252
+9253 9254 9255 9256 9257 9258 9259 925A 925B 925C
+925D 925E 925F 9260 9261 9262 9263 9264 9265 9266
+9267 9268 9269 926A 926B 926C 926D 926E 926F 9270
+9271 9272 9273 9274 928F 28968 2896C 2897E
+9516 9517 9518 9519 951A 951B 951C 951D 951E 951F
+9520 9521 9522 9523 9524 9525 9526 9527 9528 9529
+952A 952B 952C 952D 952E 952F 9530 9531 4989 9598
+9599 959A 959B 959C 959D 959E 959F 95A0 9616 9617
+9618 9619 968F 49DF 9691 9692 9693 9694 9695 9696
+9697 9698 FA29 96C9 96CA 96CB 96CD 96CE 96CF 96F4
+96F5 96F6 96F7 96F8 96F9 96FA 96FB 96FC 96FD 96FE
+29093 9755 9756 9772 9773 9774 9775 9776 9777 9778
+9779 97EA 97EB 97EE 97F4 97F5 9809 4AB4 980A 980B
+980C 980D 980E 980F 9810 9811 9812 9813 9890 9891
+9892 9893 9894 9895 9896 98AB 98AC 98D4 4B26 98EC
+98EE 98F1 98F3 98F4 98F5 98F6 98F7 98F9 98FB 98FC
+98FD 98FE 98FF 9989 998C 998D 998E 998F
+9990 999A 99AF 99B0 99B1 99B2 99B3 99B4 99B5 9A9C
+9A9D 9A9E 9A9F 9AAA 9AAB 9AAC 9AAD 9AAE 29A28 9AE1
+9AE2 9B3D 9B5B 9B5C 9B5D 9B5E 9C84 9C85 9C86 9C87
+9C88 9C89 9C8A 9C8B 9C8C 9C8D 9C8E 9C8F 9C90 9CE7
+9CE8 9CE9 9CEA 9CEB 9CED 9CEE 9CEF 9CF0 9E49 9E4A
+9E4B 9E4C 9E4D 9E4E 9E4F 9E50 9E51 9E52 9E53 9E54
+9E80 9E81 9E82 2A2FF 9EFD 9F0C 9F0E 9F13 9F14 9F20
+9F83 9F84 9F85 9F86
+FDD0-280E
+2004E 221A1 50CE 50CF 50D0 50D1 50D2 50D3 50D4 50D5
+50D6 50D7 50D8 50D9 50DA 50DB 50DC 50DD 50DE 50DF
+50E0 50E1 50E2 50E3 50E4 50E5 50E6 50E7 50E8 50E9
+50EA 50EB 50EC 50ED 50EE 50EF 50F0 50F1 50F3 50F4
+50F7 2037E 2037F 20380 203A0 203A7 50F2 5162 51A9 51D8
+51F3 51F4 3500 3504 3506 5280 5281 5282 5283 5284
+3522 52E8 52E9 52EA 52EB 52EC 52ED 3535 5330 5331
+5332 3551 53AC 53AD 53AE 53B0 53C6 20B0D 3561 55F6
+55F7 55F8 55F9 55FA 55FB 55FC 55FD 55FE 55FF 5600
+5601 5602 5603 5604 5605 5606 5607 5608 5609 560A
+560B 560C 560D 560E 560F 5610 5611 5612 5613 5614
+5615 5616 5617 5618 5619 561A 561B 561C 561D 561E
+5621 5622 5623 5624 5625 5626 5627 5651
+20ED7 20ED8 20EDD 20EF8 20EF9 20EFA 20EFB 20F1D 20F26 20F2D
+20F2E 20F30 20F31 20F3B 20F4C 561F 5628 5716 5717 5718
+5719 3665 3666 5872 5873 5874 5875 5876 5877 5878
+5879 587A 587B 587C 587D 587E 587F 5881 5882 5883
+5884 5885 5886 5887 5888 5889 588A 588B 588C 588D
+588E 588F 5890 5891 5892 5893 5894 5895 5896 5897
+5898 5899 589A 589B 213ED 213FE 21413 21416 58AD 58FD
+58FE 5910 5922 5923 5924 5925 5969 596A 596B 596C
+371C 371E 3720 3722 5AD5 5AD6 5AD7 5AD8 5AD9 5ADA
+5ADB 5ADC 5ADD 5ADE 5ADF 5AE0 5AE1 5AE2 5AE3 5AE4
+5AE5 5AE6 5AE7 5AE8 5AE9 5AEA 5AEB 5AEC 5AED 5AEE
+5AEF 5AF0 5AF1 5AF2 21820 21828 21829 2182A 2182D 21839
+2183A 2183B 21840 21845 5AF3 5B75 5B77 21996
+5BDE 5BDF 5BE0 5BE1 5BE2 5BE3 5BE4 5BE5 5BE6 5BE7
+5BE8 5C0D 5C21 5C62 5C63 37FB 3800 3801 3804 5D77
+5D78 5D79 5D7A 5D7B 5D7C 5D7D 5D7E 5D7F 5D80 5D81
+5D82 5D83 5D84 5D85 5D86 5D87 5D88 5D89 5D8A 5D8B
+5D8C 5D8D 5D8E 5E51 5E52 5E53 5E54 5E55 5E56 5E57
+5E58 5E59 5E5B 2212A 5E63 5ECD 5ECE 5ECF 5ED0 5ED1
+5ED2 5ED3 5ED4 5ED5 5ED6 5ED7 5ED8 5ED9 5EDC 5F0A
+38C3 5F43 5F44 5F45 5F46 38D1 5F6F 5F70 5FB1 5FB3
+5FB4 22554 5FB6 6128 612C 6133 6138 613B 613F 6141
+6142 6147 6148 614B 6150 3980 6152 6153 6154 6156
+6158 615A 615B 615E 615F 6160 6161 6162 6163 6165
+6169 616A 616C 616F 6171 6172 6173 6174 6175 6177
+617A 617B 617D 6180 6181 6186 6188 22803
+6227 6228 6229 622A 622B 622C 642B 6434 643B 643F
+3A2F 3A31 3A32 3A33 3A34 3A35 3A36 3A37 3A38 3A39
+644B 644C 644D 644E 644F 6450 6451 6453 6454 6455
+6457 6458 6459 645A 645B 645C 645D 645E 645F 6460
+6462 6463 6464 6465 6466 6467 646A 646B 646C 646D
+6471 6472 6473 6474 6475 6476 6477 6478 647A 647B
+647C 647D 647E 647F 6481 6482 6484 6487 22CB7 22CC2
+22CC6 22CC9 22D07 22D08 22D12 6456 64A6 6571 6572 6573
+65A0 65A1 65B2 230B7 65D6 65D7 3B0D 3B0E 3B0F 3B10
+669A 669B 669C 669D 669E 669F 66A0 66A1 66A2 66A3
+66A4 66A5 66A6 66A7 66A8 23262 6704 6705 3B3A 3B3B
+6722 3BBC 698A 698D 698E 698F 6990 6991 6992 6993
+6995 6996 6997 6999 699A 699B 699C 699D
+699E 699F 69A0 69A1 69A2 69A3 69A4 69A5 69A6 69A7
+69A8 69A9 69AA 69AB 69AC 69AD 69AE 69AF 69B0 69B1
+69B2 69B3 69B4 69B5 69B6 69B7 69B8 69B9 69BA 69BB
+69BC 69BD 69BE 69BF 69C0 69C1 69C2 69C3 69C4 69C5
+69C6 69C7 69C8 69C9 69CA 69CB 69CC 69CD 69CE 69CF
+69D0 69D1 69D2 69D3 69D4 69D5 69D6 69D7 69D8 69D9
+69DA 69DB 69DC 69DD 69DE 69DF 69E0 69E1 6A2E FA14
+235CD 235CE 235CF 235F3 23600 6A03 6B49 6B4A 6B4B 6B4C
+6B4D 6B70 6B74 6B9D 6B9E 6B9F 6BA0 6BA1 6BC3 6BC4
+23AFA 6BFE 6C32 6C33 6ECE 3D3D 3D46 6ECC 6EEB 6EEC
+6EED 6EEE 6EEF 6EF0 6EF1 6EF2 6EF3 6EF4 6EF5 6EF6
+6EF7 6EF8 6EF9 6EFA 6EFB 6EFC 6EFD 6EFE 6EFF 6F01
+6F02 6F03 6F04 6F05 6F06 6F07 6F08 6F09
+6F0A 6F0C 6F0D 6F0E 6F0F 6F11 6F12 6F14 6F15 6F16
+6F17 6F18 6F19 6F1A 6F1B 6F1C 6F1D 6F1E 6F1F 6F20
+6F21 6F22 6F23 6F24 6F25 6F27 6F28 6F29 6F2A 6F2B
+6F2C 6F2D 6F2E 6F2F 6F30 6F31 6F32 6F33 6F34 6F35
+6F36 6F37 6F38 6F39 6F3A 6F3B 6F3C 6F3E 6F40 6F42
+6F43 6F44 6F45 6F46 6F47 6F48 6F49 6F4A 6F4B 6F4C
+6F4D 23ED7 23EF7 23EF8 23EF9 23EFA 23EFB 23EFC 23F35 23F41
+6F4E 6F73 7155 715B 3DE7 3DE8 7179 717B 717C 717D
+717E 717F 7180 7181 7182 7183 7184 7185 7186 7187
+7188 7189 718A 718B 718C 718D 718E 718F 7190 7191
+7192 7193 7194 7195 7196 7197 7198 7199 84B8 2430D
+2431A 24334 24348 7233 723E 7244 3E22 7253 7254 7292
+7293 7294 7295 7296 7297 7353 7343 7344
+734C 734D 734F 7350 7351 7352 7354 7355 3EE7 3EE9
+7460 7461 7462 7463 7464 7465 7466 7467 7468 746A
+746B 746D 746E 7470 7471 7472 7473 7474 7475 7476
+7477 7478 249EC 249ED 249F6 249F7 249F8 249F9 249FB 24A0E
+24A12 24A13 7500 7502 7503 7504 7505 7506 24B6E 7527
+757B 757C 757D 7590 7591 7607 7608 7609 760A 760B
+760C 760D 760E 7611 7612 7613 7614 7615 7616 7617
+7618 7627 76B6 76B7 76B8 76B9 76E0 76E1 76E2 76E3
+4053 776E 776F 7770 7771 7772 7773 7774 7775 7776
+7777 7778 777A 777B 777C 777D 777E 777F 7780 7781
+7782 7783 7784 7785 7786 25220 25221 40C8 787E 789D
+789E 789F 78A0 78A1 78A2 78A3 78A4 78A5 78A6 78A7
+78A8 78A9 78AA 78AB 78AC 78AD 78AE 78AF
+78B1 78B2 78B3 78B4 78B5 78B6 78B7 78B8 78B9 78C1
+7987 7988 7989 798A 798B 798C 798D 798E 798F 7990
+7991 7992 7993 7994 7995 7996 7997 7998 7999 4167
+7A26 7A27 7A28 7A29 7A2A 7A2B 7A2C 7A2D 7A2E 7A2F
+7A30 7A31 7A32 7A33 7A4A 7A35 7AA8 7AA9 7AAA 7AAB
+7AAC 7AAD 259CC 7AEC 7AED 7AEF 7AF0 25A9C 7AEE 7B75
+4201 4202 4203 4204 4205 4206 4207 4208 4209 420A
+420B 420C 420D 7B81 7B82 7B83 7B84 7B85 7B86 7B87
+7B88 7B89 7B8A 7B8B 7B8C 7B8D 7B8E 7B8F 7B90 7B91
+7B92 7B93 7B94 7B95 7B96 7B97 7B98 7B99 7B9A 7B9B
+7B9C 7B9D 7B9E 7B9F 7BA0 7BA1 7BA2 7BA3 7BA4 7BA5
+7BA6 7BA7 7BA8 7BA9 7BAA 7BAB 25BB3 25BB4 25BC6 7BB8
+7CB6 7CB7 7CB8 7CB9 7CBA 7CBB 7CBC 7CBD
+7CBE 7CBF 7CC1 25EA6 25EBC 7D96 7DD0 42E8 42E9 42EC
+42ED 42F1 7D9C 7D9D 7D9E 7D9F 7DA0 7DA1 7DA2 7DA3
+7DA4 7DA5 7DA6 7DA7 7DA8 7DA9 7DAA 7DAB 7DAC 7DAD
+7DAE 7DAF 7DB0 7DB1 7DB2 7DB3 7DB4 7DB5 7DB6 7DB7
+7DB8 7DB9 7DBA 7DBB 7DBC 7DBD 7DBE 7DBF 7DC0 7DC1
+7DC2 7DC3 7DC4 7DC5 7DC6 7DC7 7DC8 7DC9 7DCA 7DCB
+7DCC 7DCD 7DCE 7DCF 7DD1 7DD2 7DD4 7DD5 26048 26064
+7F25 7F26 7F27 7F28 7F29 7F2A 7F2B 7F41 7F42 7F6F
+7F70 7F71 7F73 7F74 7FAB 7FDE 7FDF 7FE0 7FE1 7FE2
+7FE3 7FE4 2644A 7FE5 8023 8024 8025 43BA 8059 805A
+805B 805C 805D 805E 805F 8061 8062 8063 265A0 8087
+8088 8150 4420 4425 4426 817F 8180 8181 8182 8183
+8184 8185 8186 8187 8188 8189 818A 818B
+818C 818D 818E 818F 8191 26799 267B3 267B4 267CC 81E7
+81FA 8207 8213 8214 8215 821E 824A 824B 824C 824D
+26A51 26A52 44DD 44DF 44E4 44E9 44EA 44EB 44EC 8490
+8491 8492 8493 8494 8495 8496 8497 8498 8499 849A
+849B 849C 849D 849E 849F 84A0 84A1 84A2 84A3 84A4
+84A5 84A6 84A7 84A8 84A9 84AA 84AB 84AC 84AD 84AE
+84AF 84B0 84B1 84B2 84B3 84B4 84B5 84B6 84B7 84B9
+84BA 84BB 84BC 84BD 84BE 84BF 84C0 84C1 84C2 84C3
+84C4 84C6 84C7 84C9 84CA 84CB 84CC 84CD 84CE 84CF
+84D0 84D1 84D2 84D3 84D4 84D5 84D6 84D7 84D8 84D9
+84DA 84DB 84DC 84DD 84DF 84E1 84E2 84E3 84E4 84E6
+26D74 26DA0 26DA1 26DA2 26DA3 26DA4 26DA5 26DA6 26DA7 26DAE
+26DDC 26DEA 26DEB 26DF0 84E5 8660 8661 271CD
+8711 8712 872B 8718 8719 871A 871B 871C 871D 871E
+871F 8720 8721 8722 8723 8724 8725 8726 8727 8728
+8729 872A 872C 872D 872E 872F 8730 8731 8732 8733
+8734 8735 8736 8737 8738 8739 873A 873B 873C 873D
+873E 873F 8740 8741 8742 8743 8744 8745 8747 8748
+8749 874A 874B 8755 876B 88E2 463B 88E7 88E8 88E9
+88EA 88EB 88EC 88ED 88EE 88EF 88F0 88F1 88F2 88F3
+88F4 88F5 88F6 88F7 88F8 88F9 88FA 88FB 88FC 88FD
+88FE 88FF 8900 8902 8903 8904 891A 899D 899E 899F
+89A0 89A1 89CF 89E8 89E9 89EA 89EB 8A8B 8A8C 8A8D
+8A8E 8A8F 8A90 8A91 8A92 8A93 8A94 8A96 8A97 8A98
+8A99 8A9A 8A9B 8A9C 8A9D 8A9E 8A9F 8AA1 8AA2 8AA3
+8AA4 8AA5 8AA6 8AA7 8AA8 8AA9 8AAA 8AAB
+8AAC 8AAD 8AAE 279FD 27A0A 27A0E 8C2D 8C2E 8C2F 8C30
+8C31 8C32 8C3D 8C67 8C68 8C69 8C6A 8C8B 8C8C 8C8D
+3562 8CCF 8CD0 8CD1 8CD2 8CD3 8CD4 8CD5 8CD6 8CD7
+8CD8 27D8F 27D98 8D58 8D59 8D5A 8D5B 8D6B 8D95 8D96
+8D97 8D98 8D99 8D9A 47F4 8DFC 8DFD 8DFE 8DFF 8E00
+8E01 8E02 8E03 8E04 8E05 8E06 8E07 8E08 8E09 8E0A
+8E0B 8E0C 8E0D 8E0E 28048 8EB3 8EB4 8EB5 8F0D 8F0E
+8F0F 8F10 8F11 8F12 8F13 8F14 8F15 28306 28318 8F95
+8F96 8F97 8FA1 8FA2 8FA3 9058 9059 905A 905B 905C
+905D 905E 905F 9060 9061 9062 9063 9064 9065 90D2
+9118 9119 911A 911B 911C 911D 911E 911F 9120 9121
+9122 9123 9124 9125 48FA 9172 9173 9174 9175 9176
+9177 9178 9179 917A 917B 917C 917D 917E
+917F 922D 4924 4925 4926 492A 9275 9276 9277 9278
+9279 927A 927B 927D 927E 927F 9280 9281 9282 9283
+9284 9285 9286 9287 9288 9289 928A 928B 928C 928D
+928E 9290 9291 9292 9293 9294 9295 9296 9297 9298
+9299 929A 929B 929C 929D 929E 929F 92A0 92A1 92A2
+92A3 92A4 92A5 92A6 92A7 92A8 92A9 92AA 92AB 92AC
+92AD 92AE 92AF 92B0 92B1 28989 289A8 289AA 289AB 92EE
+927C 9532 9533 9534 9535 9536 9537 9538 9539 953A
+953B 953C 953D 953E 953F 9540 9541 9542 9543 9544
+9545 95A1 95A2 95A3 95A4 95A5 95A6 95A7 95A8 95A9
+95AA 961A 9699 969A 969B 969C 969D 969E 969F 96A0
+96A1 96CC 96D0 96D1 96D2 28FC5 4A0F 96FF 9700 9701
+290AF 290B0 290B1 9757 9758 9759 9764 977A
+977B 977C 977D 977E 977F 9780 9781 9782 9783 9784
+9785 9786 97CD 97CE 97EC 97F6 97F7 2941D 9819 4AB8
+9814 9815 9816 9817 9818 981A 9897 4AFF 4B00 98AD
+98AE 98AF 98B0 98B1 295B8 98D6 98D5 98D7 4B2C 98F8
+9900 9901 9902 9903 9904 9905 9906 9907 9909 990C
+990E 990F 9991 9992 4B6F 999B 999C 999D 4B7B 4B7E
+99B6 99B7 99B8 99B9 99BA 99BB 99BC 99BD 99BE 99BF
+99C0 99C1 99C2 99C3 99C4 99C5 99C6 99C7 9AA0 9AA1
+9AA2 4BC8 9AAF 9AB0 9AB1 9ADA 9AE3 9AE4 9AE5 9AE6
+9AE7 9AE8 9AE9 9AEA 29B05 29B0E 9B26 9B3E 9B3F 9B40
+9B41 9B42 29CAD 9B5F 9B60 9B61 9B62 29D5A 9C91 9C92
+9C93 9C94 9C95 9C96 9C97 9C98 9C99 9C9A 9C9B 9C9C
+9C9D 9C9E 9C9F 9CF1 9CF2 9CF3 9CF4 9CF5
+9CF6 9E55 9E56 9E57 9E59 9E5A 9E5B 9E5C 9EA7 9EBC
+9EBD 9F3B 9F4A 9F87 9F88
+FDD0-280F
+3493 3496 3498 50F5 50F6 50F8 50F9 50FA 50FB 50FC
+50FD 50FE 50FF 5100 5101 5102 5103 5104 5105 5106
+5107 5108 5109 510A 510B 510C 510D 510E 510F 203C9
+203CB 5130 51D9 51DA 51DB 51DC 20611 5285 5286 5287
+5288 5289 528A 528B 528C 528D 528E 528F 52EE 52EF
+52F0 52F1 52F2 5314 5333 53B1 53B2 20AB4 3559 53C7
+5653 35F1 35F2 35F3 5620 5629 562A 562B 562C 562D
+562E 562F 5630 5631 5632 5633 5634 5635 5636 5637
+5638 5639 563A 563B 563C 563D 563E 563F 5640 5641
+5642 5643 5644 5646 5647 5648 5649 564A 564B 564C
+564D 564E 564F 5650 5652 5654 5656 5657 5658 5659
+565A 565B 565C 565D 5674 20F64 20F8D 20F90 20FAD 20FB4
+20FB5 20FB6 20FBC 21014 571A 5880 589C 589D
+589E 589F 58A0 58A1 58A2 58A3 58A4 58A5 58A6 58A7
+58A9 58AA 58AB 58AC 58AE 58AF 58B0 58B1 58B2 58B3
+58B4 58B5 58B6 58B7 58B8 58B9 21424 2143F 21452 21454
+21455 58FF 5900 21577 5926 596D 3723 3725 3726 5AF4
+5AF5 5AF6 5AF7 5AF8 5AF9 5AFA 5AFB 5AFC 5AFD 5AFE
+5AFF 5B00 5B01 5B02 5B03 5B04 5B05 5B06 5B07 5B08
+5B09 5B0A 5B0B 5B0C 5B0D 5B0E 5B0F 21852 2185E 21861
+21862 21863 21864 21877 2187B 21883 21884 21885 376F 5BE9
+5BEB 5BEC 5BED 5BEE 5C0E 21B44 5C35 37A0 5C64 5C65
+5C66 5C67 380F 5D8F 5D90 5D91 5D92 5D93 5D94 5D95
+5D96 5D97 5D98 5D99 5D9A 5D9B 5D9C 5D9D 5D9E 5D9F
+5DA0 5DA1 5DA2 5DA3 5DA4 5DA5 21F0F 21F15 5DE4 3861
+5E5A 5E5C 5E5D 5E5E 5E5F 5E60 5E61 5E62
+5E64 5E65 5E69 5EDA 5EDB 5EDD 5EDE 5EDF 5EE0 5EE1
+5EE2 5EE3 5EE4 5F47 5F48 5F49 5F71 5FB2 5FB5 5FB7
+5FB8 5FB9 5FBA 6155 6157 6159 615C 615D 6164 6166
+6167 616B 616E 6170 6176 6178 6179 617C 617E 617F
+6182 6183 6184 6185 6187 3989 398A 3992 616D 6189
+618B 618D 618E 618F 6190 6192 6193 6194 6195 6198
+619A 619B 619C 619E 619F 61A1 61A2 61A3 61A4 61A6
+61A7 61AA 61AB 61AC 61AD 61AE 61AF 61B0 61B1 61B3
+2285F 22860 22871 622D 622E 622F 3A3C 6468 6469 646E
+646F 6470 6479 6480 6483 3A4B 6485 6486 6488 648A
+648B 648C 648D 648E 648F 6490 6491 6492 6493 6494
+6495 6496 6497 6498 6499 649A 649B 649C 649D 649E
+649F 64A0 64A1 64A2 64A3 64A4 64A5 64A7
+64A8 64A9 64AA 64AB 64AC 64AD 64AE 64AF 64B0 64B1
+64B2 64B3 64B4 64B5 64B6 64B7 64B8 64B9 64BA 64C6
+22D44 22D4C 22D67 6575 6576 6577 6578 6579 657A 657B
+22FCC 65B3 230BC 3B11 3B12 3B13 3B14 3B15 3B16 66A9
+66AA 66AB 66AC 66AD 66AE 66AF 66B0 66B1 66B2 66B3
+66B4 66B5 66B6 66B7 23281 2328A 66BC 3B3C 3B3D 3B3E
+81A4 69E9 3BBE 3BC2 3BC4 69E2 69E3 69E4 69E5 69E6
+69E7 69E8 69EA 69EB 69EC 69ED 69EE 69EF 69F0 69F1
+69F2 69F3 69F4 69F5 69F6 69F7 69F8 69F9 69FA 69FB
+69FC 69FD 69FE 69FF 6A00 6A01 6A02 6A04 6A05 6A06
+6A07 6A08 6A09 6A0A 6A0B 6A0C 6A0D 6A0E 6A0F 6A10
+6A11 6A12 6A13 6A14 6A15 6A16 6A17 6A18 6A19 6A1A
+6A1B 6A1C 6A1D 6A1E 6A1F 6A20 6A21 6A22
+6A23 6A24 6A25 6A26 6A27 6A29 6A2A 6A2B 6A2C 6A2D
+6A2F 6A30 6A31 6A65 2361A 2363C 23640 23659 2365F 23677
+6B4E 6B4F 6B50 6B51 6B52 6B53 6B75 6B76 3C73 3C74
+6BA2 6BA3 6BA4 6BA5 6BA6 6BC5 6BC6 6BFF 6C00 6C01
+6C02 6ED5 6F00 6F10 6F26 6F3F 6F41 3D4C 3D4E 3D51
+6F0B 6F3D 6F4F 6F50 6F51 6F52 6F53 6F54 6F55 6F56
+6F57 6F58 6F59 6F5A 6F5B 6F5C 6F5D 6F5F 6F60 6F61
+6F62 6F63 6F64 6F65 6F66 6F67 6F68 6F69 6F6A 6F6B
+6F6C 6F6D 6F6E 6F6F 6F70 6F71 6F72 6F74 6F75 6F76
+6F77 6F78 6F79 6F7A 6F7B 6F7C 6F7D 6F7E 6F7F 6F81
+6F82 6F84 6F85 6F86 6F87 6F88 6F89 6F8A 6F8B 6F8C
+6F8D 6F8E 6F8F 6F90 6F91 6F92 6F93 6F94 6F95 6F96
+6F97 6F98 6F9A 6F9B 6F9C 6F9D 6FD0 23F4A
+23F7F 23F80 23F81 23F82 23F8F 23FB4 23FB7 6FC6 71A6 3DEB
+719A 719B 719C 719D 719E 719F 71A0 71A1 71A2 71A3
+71A4 71A5 71A7 71A8 71A9 71AA 71AB 71AC 71AD 71AE
+71AF 71B0 71B1 71B2 71B3 71B4 71B5 9ED9 24362 24363
+24364 24365 2438C 24396 2439C 5655 7234 7245 7255 7256
+7257 7298 7299 729A 729B 246D4 734E 734B 7356 7357
+7358 7359 735A 735B 735C 735D 735E 735F 7360 7361
+7362 7364 24882 7469 746C 3EEB 3EF0 3EF3 3EF4 7479
+747A 747B 747C 747D 747E 7480 7481 7482 7483 7484
+7485 7486 7487 7488 7489 748A 748B 748C 748E 7493
+24A15 24A21 24A22 24A23 24A24 24A25 24A26 24A27 24A28 24A29
+24A2A 24A3E 7507 7508 7509 3F53 24BF5 757E 757F 761F
+3FB7 3FC0 7619 761A 761B 761C 761D 761E
+7620 7621 7622 7623 7624 7625 7626 7628 7629 762A
+762B 24E3B 24E50 3FE5 769A 769B 769C 769D 769E 24F97
+24F9A 76BA 76E4 4057 7787 7788 7789 778A 778B 778C
+778D 778E 778F 7790 7791 7792 7793 25250 78BA 78BB
+78BC 78BD 78BE 78BF 78C0 78C2 78C3 78C4 78C5 78C6
+78C7 78C8 78C9 78CA 78CB 78CC 78CD 78CE 78CF 78D0
+78D1 78D2 78D3 78D4 78D5 78D7 78D8 78D9 78E4 25531
+25535 2553F 799A 799B 799C 799D 799E 799F 79A0 79A1
+79A2 79A3 256E3 416C 416E 4175 7A34 7A36 7A37 7A38
+7A39 7A3A 7A3B 7A3C 7A3D 7A3E 7A3F 7A40 7A41 7A42
+7A43 25857 7AAE 7AAF 7AB0 7AB1 7AB2 7AB3 7AB4 420E
+420F 4210 4211 4212 4213 4214 4215 421A 421C 4220
+4222 4223 4226 4229 7BAC 7BAD 7BAE 7BAF
+7BB0 7BB1 7BB2 7BB3 7BB4 7BB5 7BB6 7BB7 7BB9 7BBA
+7BBB 7BBC 7BBD 7BBE 7BBF 7BC1 7BC2 7BC3 7BC4 7BC5
+7BC6 7BC7 7BC8 7BCA 7BCB 7BCC 7BCD 7BCE 7BCF 7BD0
+7BD1 7BD2 7BD3 25BE4 25BE8 25C01 25C06 4294 7CC2 7CC3
+7CC4 7CC5 7CC6 7CC7 7CC8 7CC9 7CCA 7CCB 7CCC 7CCD
+7CCE 25ED7 25ED8 42F4 42FB 42FC 4300 4301 4304 7DD3
+7DD6 7DD7 7DD8 7DD9 7DDA 7DDB 7DDC 7DDD 7DDE 7DDF
+7DE0 7DE1 7DE2 7DE3 7DE4 7DE5 7DE6 7DE7 7DE8 7DE9
+7DEA 7DEB 7DEC 7DED 7DEE 7DEF 7DF0 7DF1 7DF2 7DF3
+7DF4 7DF5 7DF6 7DF7 7DF8 7DF9 7DFA 7DFB 7DFC 7DFD
+7DFE 7DFF 7E00 7E01 7E02 7E03 7E04 7E05 7E06 7E07
+26083 26097 260A4 260A5 433E 7F2C 7F2D 7F2E 7F2F 7F75
+7F76 7F77 7F78 7FAC 7FAD 7FAE 7FAF 7FB0
+7FE6 7FE7 7FE8 7FE9 7FEA 7FEB 7FEC 7FED 26469 43AC
+8026 8027 8064 8065 8066 8067 8068 8069 806A 806B
+265AD 442D 4433 4434 8192 8193 8194 8195 8196 8197
+8198 8199 819A 819B 819C 819D 819E 819F 81A0 81A1
+81A2 81A3 81F1 8216 8217 447A 824E 824F 8250 8251
+8252 8253 8254 44F4 848A 84E0 84E7 84E8 84E9 84EA
+84EB 84EC 84ED 84EE 84EF 84F0 84F2 84F3 84F4 84F5
+84F6 84F7 84F8 84F9 84FA 84FB 84FC 84FD 84FE 84FF
+8500 8501 8502 8503 8504 8505 8506 8508 8509 850A
+850B 850C 850D 850E 850F 8510 8511 8512 8513 8514
+8515 8516 8517 8518 8519 851A 851B 851C 851D 851E
+851F 8520 8521 8522 8523 8524 8525 8526 8527 8528
+8529 852A 852B 852C 852D 852E 852F 8530
+8531 8532 8533 8534 8535 8536 8537 8538 8539 853A
+853B 853C 26E00 26E05 26E07 26E12 26E42 26E43 26E44 26E45
+26E6E 26E72 26E77 26E84 853D 854F 8662 874C 874E 874F
+8750 8751 8752 8753 8754 8756 8757 8758 8759 875A
+875B 875C 875D 875E 875F 8760 8761 8762 8763 8764
+8765 8766 8767 8768 8769 876A 876C 876D 876E 876F
+8770 8771 8772 8773 8774 8775 8776 8777 8778 877A
+877B 877C 877D 877E 877F 8780 87E1 2739A 8782 885A
+885B 885C 885D 275FD 4645 4646 88E6 8905 8906 8907
+8908 8909 890A 890B 890C 890D 890E 890F 8910 8911
+8912 8913 8914 8915 8916 8917 8918 8919 891B 891C
+891D 2770F 89A2 89A3 89A4 89A5 27858 89A9 89D0 89D1
+89EC 89ED 89EE 89EF 89F0 8A95 46F5 8AAF
+8AB0 8AB1 8AB2 8AB3 8AB4 8AB5 8AB6 8AB7 8AB8 8AB9
+8ABA 8ABB 8ABC 8ABD 8ABE 8ABF 8AC0 8AC1 8AC2 8AC3
+8AC4 8AC5 8AC6 8AC7 8AC8 8AC9 8ACA 8ACB 8ACC 8ACD
+8ACE 8ACF 8AD0 8AD1 8AD2 8AD3 8AD4 8AD5 8AD6 8AD7
+8AD8 8AD9 8ADA 8AE9 27A3E 27A53 27A59 8ADB 8AF8 8C33
+8C34 8C35 8C3E 8C4C 8C4D 8C4E 27BF4 8C6C 8C8E 8C8F
+477C 8CD9 8CDA 8CDB 8CDC 8CDD 8CDE 8CDF 8CE0 8CE1
+8CE2 8CE3 8CE4 8CE5 8CE6 8CE7 8CE8 8CE9 8CEA 8CEB
+8CEC 8CED 8D5C 8D6D 47B6 8D9B 8D9C 8D9D 8D9E 8D9F
+8DA0 8DA1 8DA2 8DA3 8DA4 4800 4801 480B 8E0F 8E10
+8E11 8E12 8E13 8E14 8E15 8E16 8E17 8E18 8E19 8E1A
+8E1B 8E1C 8E1D 8E1E 8E1F 8E20 8E21 8E22 8E23 8E24
+8E25 8E26 8E27 8E28 8E29 8E2A 8E2C 8E2D
+8E2E 8E2F 8E3A 28083 28090 8E2B 8E37 8EB6 8EB7 8EB8
+8EB9 8EBA 8EBB 8EBC 28256 485D 8F16 8F17 8F18 8F19
+8F1A 8F1B 8F1C 8F1D 8F1E 8F1F 8F20 8F21 8F22 8F23
+8F24 8F25 8F26 8F27 8F28 8F29 8F2A 8F2B 8F2C 2832F
+2833A 8F98 8FA4 8FB3 9066 9067 9068 9069 906A 906B
+906C 906D 906E 906F 9070 9071 9073 9077 90F6 48DD
+9126 9127 9129 912A 912B 912D 912E 912F 9130 9131
+9132 9180 9181 9182 9183 9184 9185 9186 9187 9188
+9189 918A 918B 918C 492D 92B2 92B3 92B4 92B5 92B6
+92B7 92B8 92B9 92BA 92BB 92BC 92BD 92BE 92BF 92C0
+92C1 92C2 92C3 92C4 92C5 92C6 92C7 92C8 92C9 92CA
+92CC 92CD 92CE 92CF 92D0 92D1 92D2 92D3 92D4 92D5
+92D6 92D7 92D8 92D9 92DA 92DB 92DC 92DD
+92DE 92DF 92E0 92E1 92E2 92E3 92E4 92E5 92E6 92E7
+92E8 92E9 92EA 92EB 92EC 92ED 92EF 92F0 92F1 92F2
+92F3 92F4 92F5 92F6 FA27 289B8 289BC 289C0 289DC 289DE
+289E1 289E3 289E4 9546 9547 9548 9549 954A 954B 954C
+954D 954E 954F 9550 9551 9552 9553 9554 9555 957C
+95AB 95AC 95AD 95AE 95AF 95B0 95B1 95B2 95B3 95B4
+28D34 49E5 96A2 96A3 96A4 96A5 96D3 9702 9703 9704
+9705 9706 9707 9708 9709 970A 290C0 975A 9760 9765
+9787 9788 9789 978A 978B 978C 978D 978E 978F 9790
+9791 9792 97CF 97D0 97D1 97EF 29420 981B 981C 981D
+981E 981F 9820 9821 9822 9823 9826 9827 9828 9829
+982A 982B 982C 9898 9899 989A 989B 989C 989D 98B2
+98B3 98D8 4B37 98FA 9908 990A 990B 990D
+9911 9912 9913 9914 9915 9916 9917 9918 9919 9993
+9994 99C8 99C9 99CA 99CB 99CC 99CD 99CE 99CF 99D0
+99D1 99D2 99D3 99D4 99D5 99D6 99D7 99D8 99D9 99DA
+99DB 99DC 99DD 99DE 99DF 99E0 298A4 9AA3 9AB2 9AB3
+9AB4 9AB5 9AB6 9AB7 9ADB 9AEB 9AEC 9AEE 9AEF 9AF0
+9AF1 9AF2 9AF3 9AF4 9B27 4C20 9B43 9B44 9B45 9B46
+4C3B 4C3E 9B63 9B64 9B65 9B66 9B67 9B68 9B69 9B6A
+9B6B 9B6C 9B6D 9B6E 9B6F 9B70 9B71 9B72 9B73 9B74
+9B75 9B76 9B77 9B78 9B79 29D7C 9CA0 9CA1 9CA2 9CA3
+9CA4 9CA5 9CA6 9CA7 9CA8 9CA9 9CAA 9CAB 9CAC 4CAE
+4CB0 4CB7 9CF7 9CF8 9CF9 9CFA 9CFB 9CFC 9CFD 9CFE
+9CFF 9D00 9D01 9D02 9D03 9D04 9D05 9D06 9D07 9D08
+9D09 9D0B 9D0C 9D0D 9D0E 29FB7 9E58 9E5D
+9E5E 9E5F 9E60 9E61 9E62 9E63 9E64 9E76 9E83 9E84
+2A293 9EA8 9EA9 9EAA 9EAB 9EB9 9EBE 9ECE 58A8 9ED3
+9F0F 9F10 9F11 9F51 9F52 9F89 9F8A
+FDD0-2810
+4EB8 5110 5111 5112 5113 5114 5115 5116 5117 5118
+5119 511A 511B 511C 511D 511E 512B 203F5 203FC 5163
+204FC 5180 51AA 51DD 51DE 20615 5290 5291 5292 5293
+5294 52F3 5334 53E1 35FB 35FE 3600 3601 3602 3603
+3604 565E 565F 5660 5661 5662 5663 5664 5665 5666
+5667 5668 5669 566A 566B 566C 566D 566E 566F 5670
+5671 5672 5673 5675 5676 5677 5678 5679 567A 567B
+567C 20FDF 20FEA 20FEB 20FEC 20FED 2101D 2101E 571B 571C
+58BA 58BB 58BC 58BD 58BE 58BF 58C0 58C1 58C2 58C3
+58C4 58C5 58C6 58C7 58C8 58C9 58CA 58CB 58CC 5901
+596E 596F 372B 372C 372D 5B10 5B11 5B12 5B13 5B14
+5B15 5B16 5B17 5B18 5B19 5B1A 5B1B 5B1C 5B1D 5B1E
+5B1F 5B20 5B21 5B22 5B34 2189E 2189F 218A0
+218A1 218A2 218BE 218BF 5B28 5B78 5B79 5BEF 5BF0 5DA6
+5DA7 5DA8 5DA9 5DAA 5DAB 5DAC 5DAD 5DAE 5DAF 5DB0
+5DB1 5DB2 5DB3 5DB4 5DB5 5DB6 3862 3863 3864 5E66
+5E67 5E68 2215B 5E6F 5EE5 5EE6 5EE7 5EE8 5EE9 5EEA
+5F4A 5F4B 5F5B 5F5C 22471 224B0 5FBB 5FBC 618A 618C
+6191 6196 6197 6199 619D 61A0 61A5 61A8 61A9 61B2
+3999 61B4 61B6 61B7 61B8 61B9 61BA 61BD 61BE 61BF
+61C0 61C1 61C4 61C5 61C6 61C8 61CA 61CC 61CD 61CE
+61CF 61D0 61D2 61D3 61D4 228AD 228C1 61BB 6231 6230
+6489 3A52 3A54 3A57 64BB 64BC 64BD 64BE 64BF 64C0
+64C1 64C2 64C3 64C4 64C5 64C7 64C8 64C9 64CB 64CC
+64CD 64CF 64D0 64D1 64D2 64D3 64D4 64D5 64D6 64D7
+64D9 64DA 64DB 64DC 64DD 64DE 22D8D 22D95
+22DA0 22DA3 22DA4 22DB7 64F3 6533 6574 657C 657D 657E
+657F 22FE3 6593 65A2 65B4 65D8 65D9 3B17 3B18 3B19
+3B1A 3B1B 3B1C 3B1D 3B1E 3B1F 66B8 66B9 66BA 66BB
+66BD 66BE 66BF 66C0 66C1 66C2 66C3 66C4 66C5 66C6
+66C7 66C8 66C9 66CA 66CB 66CC 66CD 23289 232AB 232AC
+232AD 66CF 3B31 6706 3B3F 6723 6724 6725 6A28 6A74
+3BD7 3BDD 6A32 6A33 6A34 6A35 6A36 6A37 6A38 6A39
+6A3A 6A3B 6A3C 6A3D 6A3E 6A3F 6A40 6A41 6A42 6A43
+6A44 6A45 6A46 6A47 6A48 6A49 6A4A 6A4B 6A4C 6A4D
+6A4E 6A4F 6A50 6A51 6A52 6A53 6A54 6A55 6A56 6A57
+6A58 6A59 6A5A 6A5B 6A5C 6A5D 6A5E 6A5F 6A60 6A61
+6A62 6A63 6A64 6A66 6A67 6A68 6A69 6A6A 6A6B 6A6C
+6A6D 6A6E 6A6F 6A70 6A71 6A72 6A73 6A75
+6A76 6A77 6A78 6A79 6A7A 6A7B 6A7C 236A6 236AD 236BA
+236DF 236EE 6B54 6B55 6B56 6B57 6B58 6B59 6B5A 6B77
+6BA7 6BA8 6BA9 6BAA 6BAB 6BC7 6BC8 6C03 6C04 6C05
+6C06 6C07 6F5E 6F83 3D5F 3D62 3D65 3D69 3D6A 6F99
+6F9E 6F9F 6FA0 6FA1 6FA2 6FA3 6FA4 6FA5 6FA6 6FA7
+6FA8 6FAA 6FAB 6FAC 6FAD 6FAE 6FAF 6FB0 6FB1 6FB2
+6FB3 6FB4 6FB5 6FB6 6FB7 6FB8 6FB9 6FBA 6FBB 6FBC
+6FBD 6FBE 6FBF 6FC0 6FC1 6FC2 6FC3 6FC4 6FC5 6FC7
+6FC8 6FC9 6FCA 6FCB 6FCD 6FCE 6FCF 6FD1 6FD2 6FD3
+6FD6 23FC5 23FEB 23FEC 23FED 23FEE 23FEF 23FF0 24011 7004
+3DF3 3DF7 3DFC 3DFD 71B6 71B7 71B8 71B9 71BA 71BB
+71BC 71BD 71BE 71BF 71C0 71C1 71C2 71C3 71C4 71C5
+71C6 71C7 71C8 71C9 71CA 71CB 71CC 71CD
+71CE 71CF 71D0 71D1 71D2 71D3 71D4 71D5 71D6 71D7
+71D8 71D9 71DA 71DB 71DC 71DD 71DE 243BD 243C1 243E9
+243EA 243F2 729C 729D 729E 729F 7363 7365 7366 7367
+7368 7369 736A 736B 736C 736D 747F 3EFC 748D 748F
+7491 7492 7494 7495 7496 7498 7499 749A 749B 749C
+749D 749E 749F 74A0 74A1 74A3 74A4 24A42 24A45 24A4A
+24A4E 24A4F 24A50 24A51 24A5D 24A65 24A66 24A67 74A2 74E2
+750A 750B 750C 750D 750E 7580 7581 7582 24CC9 762C
+762D 762E 762F 7630 7631 7632 7633 7634 7635 7636
+7637 7638 7639 763A 763B 763C 763D 763E 763F 764A
+769F 76A0 76A1 76BB 76E5 76E6 76E7 2509D 4062 4065
+406A 7794 7795 7796 7797 7798 7799 779A 779B 779C
+779D 779E 779F 77A0 77A1 77A2 77A3 25299
+77A5 78D6 78DC 40D8 78DA 78DB 78DD 78DE 78DF 78E0
+78E1 78E2 78E3 78E5 78E6 78E7 78E8 78E9 78EA 78EB
+78EC 78ED 78EE 2555B 2555C 2555D 2555E 25562 25565 25566
+79A4 79A5 79A6 79A9 256F6 7A44 7A45 7A46 7A47 7A48
+7A4B 7A4C 7A4D 7A4E 7A4F 7A50 7A51 7A52 2585D 25872
+7A53 41B2 7AB5 7AB6 7AB7 7AB8 7AB9 7ABA 7ABB 7ABC
+7ABD 7AF1 25AAE 422A 422B 422D 422E 4230 4231 4232
+7BC9 7BD4 7BD5 7BD6 7BD7 7BD8 7BD9 7BDA 7BDB 7BDC
+7BDD 7BDE 7BDF 7BE0 7BE1 7BE2 7BE3 7BE4 7BE5 7BE6
+7BE7 7BE8 7BE9 7BEA 7BEB 7BEC 7BED 7BEE 7BEF 7C11
+25C21 25C4A 25C65 7BF9 4A00 7CCF 7CD0 7CD1 7CD2 7CD3
+7CD4 7CD5 7CD6 7CD7 7CD8 7E08 7E09 7E0A 7E0B 7E0C
+7E0D 7E0E 7E0F 7E10 7E11 7E12 7E13 7E14
+7E15 7E16 7E17 7E18 7E19 7E1A 7E1B 7E1C 7E1D 7E1E
+7E1F 7E20 7E21 7E22 7E23 7E24 7E25 7E26 7E27 7E28
+7F30 7F31 7F32 7F33 7F34 7F43 7F79 7F7A 7F7B 7F7C
+7FB1 7FB2 7FEE 7FEF 7FF0 7FF1 8028 8029 802A 26512
+43C1 806C 806D 265BF 806E 8190 443B 81A6 81A7 81A8
+81A9 81AA 81AB 81AC 81AD 81AE 81AF 81B0 81B1 81B2
+81B3 81B4 81B5 81B6 2681C 2686E 81B7 81B9 81F2 81FB
+8208 8206 8209 8218 8255 8256 8257 8258 8259 4500
+4503 4504 4509 450B 84DE 853E 853F 8540 8541 8542
+8543 8544 8545 8546 8547 8548 8549 854A 854B 854C
+854D 854E 8550 8551 8552 8553 8554 8555 8556 8558
+8559 855A 855B 855C 855D 855E 855F 8560 8561 8562
+8563 8564 8565 8566 8567 8568 8569 856A
+856B 856C 856D 856E 856F 8570 8571 8572 8573 8574
+8575 26E99 26ED0 26ED1 26ED2 26ED3 26ED4 26ED5 26ED6 26ED7
+26F26 858C 8663 8664 8665 8666 45DD 8779 8781 8783
+8784 8785 8786 8787 8788 8789 878A 878B 878C 878D
+878E 878F 8790 8791 8792 8793 8794 8795 8796 8797
+8798 8799 879A 879B 879C 879D 879E 879F 87A0 87A1
+87A2 87A3 87A4 87A5 87A6 87A7 87A8 87A9 4617 885E
+885F 8860 8861 275FE 464F 891E 891F 8920 8921 8922
+8923 8924 8925 8926 8927 8928 8929 892A 892B 892C
+892D 892E 892F 8930 8931 8932 8934 27735 27736 27741
+89A6 89A7 89A8 89AA 27870 89F1 8ADC 8ADD 8ADE 8ADF
+8AE0 8AE1 8AE2 8AE3 8AE4 8AE5 8AE6 8AE7 8AE8 8AEA
+8AEB 8AEC 8AED 8AEE 8AEF 8AF0 8AF1 8AF2
+8AF3 8AF4 8AF5 8AF6 8AF7 8AF9 8AFA 8AFB 8AFC 8AFD
+8AFE 8AFF 8B00 8B01 8B02 8B03 27A79 27A84 8B14 474E
+8C6B 8C6D 8C6E 8C90 8C91 8C92 8C93 8CEE 8CEF 8CF0
+8CF1 8CF2 8CF3 8CF4 8CF5 27DBD 8D5D 8D5E 8D5F 8D60
+8D6C 8D6E 8DA5 8DA6 8DA7 8E30 8E31 8E32 8E33 8E34
+8E35 8E36 8E38 8E39 8E3B 8E3C 8E3D 8E3E 8E3F 8E40
+8E41 8E42 8E43 8E44 8E45 280BD 280BE 8EBD 8EBE 8F2D
+8F2E 8F2F 8F30 8F31 8F32 8F33 8F34 8F35 8F36 8F37
+8F38 8F39 8F3A 8F3B 8F3C 28365 8F99 8F9A 8FA5 8FA6
+8FA7 8FA8 8FA9 8FAA 48AD 9072 9074 9075 9076 9078
+9079 907A 907B 907C 9086 285E8 285F4 28600 90FA 9133
+9134 9135 9136 9137 4900 4906 918D 918E 918F 9190
+9191 9192 9193 9194 9195 9196 9197 92CB
+4935 92F7 92F8 92F9 92FA 92FB 92FC 92FD 92FE 92FF
+9300 9301 9302 9303 9304 9305 9306 9307 9308 9309
+930A 930B 930C 930D 930E 930F 9310 9311 9312 9313
+9314 9315 9316 9317 9318 9319 931A 931B 931C 931D
+931E 931F 9320 9321 9322 9323 9324 9325 9326 9327
+9329 932A 932B 932C 932D 932E 932F 9330 9331 9332
+9333 9334 9335 9336 9337 9338 9339 933A 933B 933C
+933D 933E 933F 9340 9341 9342 9343 9344 9345 9346
+9348 FA28 289E7 289E8 289F9 289FA 289FB 289FC 28A0F 28A16
+28A25 28A29 937A 9556 9557 9558 9559 955A 955B 955C
+955D 955E 955F 9560 49A1 49A7 95B5 95B6 95B8 95B9
+95BA 95BB 95BC 95BD 95BE 95BF 95C1 95C2 95CD 961B
+49E7 96A6 96A7 96A8 96A9 96AA 96AB 96B7
+96D4 96D5 4A1D 970B 970C 970D 970E 970F 9710 9711
+9712 9713 9714 9715 9716 9717 290E4 290E5 290EC 290ED
+975B 975C 9766 9793 9794 9795 9796 9797 9798 9799
+97D2 97F0 97F8 9824 9825 982D 982E 982F 9830 9831
+9832 9833 9834 9835 9836 9837 9838 9839 983A 983B
+983C 983D 294D0 294D9 294DA 989E 989F 98A0 98A1 98B4
+98B5 295D7 98D9 98DA 9910 991D 991A 991B 991C 991E
+991F 9920 9921 9922 9923 9924 9926 9927 9928 9929
+29720 9934 999E 999F 99A0 99E1 99E2 99E3 99E4 99E5
+99E6 99E7 99E8 99E9 99EA 99EB 99EC 99ED 99EE 99EF
+99F0 99F1 99F2 298D1 9AB8 9AB9 9ABA 9ABB 9ABC 29A4D
+9ABF 9AED 9AF5 9AF6 9AF7 9AF8 9AF9 9AFA 9AFB 9B07
+9B28 9B33 9B47 4C49 9B7A 9B7B 9B7C 9B7D
+9B7E 9B7F 9B80 9B81 9B82 9B83 9B84 9B85 9B87 9B88
+9B89 9B8A 9B8B 9B8C 9B8D 9B8E 9B8F 9B90 9B91 9B92
+9B93 9B94 9B95 9B96 9B97 9B98 9BA3 29D98 29D9B 9CAD
+9CAE 9CAF 9CB0 9CB1 9CB2 9CB3 9CB4 9CB5 9CB6 9CB7
+9CB8 9CB9 9CBA 9CBB 9D0A 9D0F 9D10 9D11 9D12 9D13
+9D14 9D15 9D16 9D17 9D18 9D19 9D1A 9D1B 9D1D 9D1E
+9D1F 9D20 9D21 9D22 9D23 9D24 9D25 9D26 9D27 9D28
+9D29 9D2A 9D2B 9D2C 29FDE 9E65 9E66 9E67 9E68 9E77
+9E7E 9E85 9E86 9E87 9E88 2A29F 4D34 9EAC 9EAD 9EAE
+9EBA 9EC5 9EC6 9ED4 9ED5 9ED6 9ED7 9ED8 9EFA 9F12
+9F3C 9F3D 9F53 9F8D 9F9C
+FDD0-2811
+511F 5120 5121 5122 5123 5124 5125 5126 5127 5128
+5129 512A 512C 20413 20414 2041F 5132 51DF 20619 2061A
+5295 3525 3526 52F4 52F5 52F6 5335 3553 53B3 20B8F
+567D 567E 567F 5680 5681 5682 5683 5684 5685 5686
+5687 5688 5689 568A 568B 568C 568D 568E 568F 5690
+5691 5692 5693 2104F 2105C 2106F 21075 21076 21077 21078
+2107B 21088 367A 58CD 58CE 58CF 58D0 58D1 58D2 58D3
+58D4 58D5 58D6 58D7 2148A 21497 21692 5B23 5B24 5B25
+5B26 5B27 5B29 5B2A 5B2B 5B2C 5B2D 5B2E 5B2F 5B30
+5B31 5B32 5B33 5B35 5B36 5B37 218D1 218D6 218D7 218D8
+218D9 5B7A 5B7B 5BF1 5BF2 5C36 5C37 5C68 3819 5DB7
+5DB8 5DB9 5DBA 5DBC 5DBD 5DBE 5DBF 21F6A 5DBB 3865
+3866 5E6A 5E6B 5E6C 5F4C 5FBD 5FBE 2258D
+61B5 61BC 61C2 61C3 61C7 61C9 61CB 61D1 61D7 61D9
+61DA 61DB 61DC 61DD 61DE 61E0 61E1 61E2 61E4 61E5
+61E6 61E7 61E8 228F7 6232 6234 64CA 64CE 64D8 3A5C
+3A5E 64DF 64E0 64E1 64E2 64E3 64E4 64E6 64E8 64E9
+64EB 64EC 64ED 64EE 64EF 64F0 64F1 22DEE 6580 6581
+6582 6583 65A3 65B5 65B6 65DA 3B20 3B21 3B22 66CE
+66D0 66D1 66D2 66D3 66D4 66D5 66D6 66D7 66DA 232D2
+66D9 3B32 3B40 3BEC 3BF2 3BF3 3BF4 6A7D 6A7E 6A7F
+6A80 6A81 6A82 6A83 6A84 6A85 6A86 6A87 6A88 6A89
+6A8A 6A8B 6A8C 6A8D 6A8E 6A8F 6A90 6A91 6A92 6A93
+6A94 6A95 6A96 6A97 6A98 6A99 6A9A 6A9B 6A9C 6A9D
+6A9E 6A9F 6AA0 6AA1 6AA2 6AA3 6AA4 6AA5 6AA6 6AA7
+6AA8 6AA9 6AAA 23703 23716 23720 2372D 2372F
+2373F 6ADB 3C46 6B5B 6B5C 6B5D 6BAC 6BAD 6BAE 6BDA
+6C08 6C09 6C0A 6FA9 6FCC 3D6F 3D73 3D75 6F80 6FD4
+6FD5 6FD7 6FD8 6FD9 6FDA 6FDB 6FDC 6FDD 6FDE 6FDF
+6FE0 6FE1 6FE2 6FE3 6FE4 6FE5 6FE6 6FE7 6FE8 6FE9
+6FEA 6FEB 6FEC 6FED 6FEE 6FEF 6FF0 6FF1 6FF2 6FF4
+6FF5 6FF6 6FF8 23FC0 24039 2403A 2403B 2403C 2403D 24057
+3E00 3E01 3E02 71DF 71E0 71E1 71E2 71E3 71E4 71E5
+71E6 71E7 71E8 71E9 71EA 71EB 71EC 71ED 71EE 71EF
+71F0 71F1 71F2 71F3 71F4 71F5 71F6 71F7 243F8 24404
+7235 7246 3E55 72A0 736E 736F 7370 7371 7372 7373
+7374 3EFA 7490 7497 3EFF 3F00 3F01 74A5 74A6 74A8
+74A9 74AA 74AB 74AC 74AD 74AE 74AF 74B0 74B1 74B2
+74B3 74B4 24A71 24A77 24A78 24A79 24A7A 3F3F
+750F 7510 7511 7512 7583 7584 24CD9 7640 7641 7642
+7643 7644 7645 7646 7647 7648 7649 764B 764C 764D
+764E 24EA5 24EA7 76A2 76A3 76A4 76A5 76BC 4009 76E8
+76E9 76EA 406F 4071 77A4 77A6 77A7 77A8 77A9 77AA
+77AB 77AC 77AD 77AE 77AF 77B0 77B1 77B2 77B3 77B4
+77B5 77B6 77B7 252C7 77EF 77F0 40DF 78EF 78F0 78F1
+78F2 78F3 78F4 78F5 78F6 78F7 78F8 78F9 78FA 78FB
+78FC 78FD 78FE 78FF 7900 7901 7902 7903 7904 7905
+25581 25584 2558F 79A7 79A8 79AA 79AB 25706 417F 7A49
+7A54 7A55 7A56 7A57 7A58 7A59 7A5A 7A5B 7A5C 7A5D
+7A5E 41B9 7ABE 7ABF 7AC0 7AC1 7AC2 7AF2 7AF3 7AF4
+25AAF 7C15 423B 4240 4241 4242 4243 4244 4245 7BF0
+7BF1 7BF2 7BF3 7BF4 7BF5 7BF6 7BF7 7BF8
+7BFA 7BFB 7BFC 7BFD 7BFE 7BFF 7C00 7C01 7C02 7C03
+7C04 7C05 7C06 7C07 7C08 7C09 7C0A 7C0B 7C0C 7C0D
+7C0E 7C0F 7C10 7C12 7C13 7C14 7C16 7C17 25C91 25CA4
+25CC0 7C18 42A2 7CD9 7CDA 7CDB 7CDC 7CDD 7CDE 7CDF
+7CE0 7CE1 7CE2 7CE8 7E29 7E2A 7E2B 7E2C 7E2D 7E2E
+7E2F 7E30 7E31 7E32 7E33 7E34 7E35 7E36 7E37 7E38
+7E39 7E3A 7E3B 7E3C 7E3D 7E3E 7E3F 7E40 7E41 7E42
+7E43 7E44 7E45 7E46 7E47 7E49 7E4A 7E4C 7E4D 26102
+26121 7E48 7F44 7F45 7F46 7F7D 7F7E 7F7F 7F81 263BE
+7FF2 7FF3 7FF4 7FF5 7FF6 7FFC 26484 26488 26489 802B
+802C 806F 8070 8071 8072 8073 8074 26626 81A5 81B8
+81BA 81BB 81BC 81BD 81BE 81BF 81C0 81C1 81C2 81C3
+81C4 81C5 81C6 81C7 81C8 81C9 81CA 81CC
+26846 2685E 81E8 81E9 269F2 825A 825B 825C 825D 8271
+4516 451D 4520 4526 4527 8557 8576 8577 8578 8579
+857A 857B 857C 857D 857E 857F 8580 8581 8582 8583
+8584 8585 8586 8587 8588 8589 858A 858B 858D 858E
+858F 8590 8591 8592 8593 8594 8595 8596 8597 8598
+8599 859A 859B 859C 859D 859E 859F 85A0 85A1 85A2
+85A3 85A4 85A5 85A6 85A7 85A8 85AA 85AB 85AC 85AE
+26F73 26F74 26F9F 26FA1 85AD 85AF 8667 8668 45E9 45EE
+87AA 87AB 87AC 87AD 87AE 87AF 87B0 87B1 87B2 87B3
+87B4 87B5 87B6 87B7 87B8 87B9 87BA 87BB 87BC 87BD
+87BE 87BF 87C0 87C1 87C2 87C3 87C4 87C5 87C6 87C7
+87C8 87C9 87CA 87CB 87CC 87CD 87CE 87CF 87D0 87D1
+87D2 27422 87DE 465B 8933 8935 8936 8937
+8938 8939 893A 893B 893C 893D 893E 893F 8940 8941
+8942 8943 8944 8945 8954 8952 2775E 89AB 89AC 89AD
+89AE 89AF 89F2 89F3 27924 4700 8B04 8B05 8B06 8B07
+8B08 8B09 8B0A 8B0B 8B0C 8B0D 8B0E 8B0F 8B10 8B11
+8B12 8B13 8B15 8B16 8B17 8B18 8B19 8B1A 8B1B 8B1C
+8B1D 8B1E 8B1F 8B20 8B21 8B22 27ABD 27ABE 4726 8C3F
+8C40 8C41 8C4F 8C6F 8C70 8C71 8C72 8C73 8C94 8C95
+8C96 8CF6 8CF7 8CF8 8CF9 8CFA 8CFB 8CFC 8CFD 27DDC
+8D61 8D62 8D6F 8DA8 8E46 8E47 8E48 8E49 8E4A 8E4B
+8E4C 8E4D 8E4E 8E4F 8E50 8E51 8E52 8E53 280E8 280E9
+280F4 8F3D 8F3E 8F3F 8F40 8F41 8F42 8F43 8F44 8F45
+2836D 2837D 8FAB 48AE 907D 907E 907F 9080 9081 9082
+9083 9084 9085 9089 2860B 9138 9139 9198
+9199 919A 919B 919C 919D 919E 919F 91A0 91A1 91A2
+91A3 91A4 28933 493C 9328 9347 9349 934A 934B 934C
+934D 934E 934F 9350 9351 9352 9353 9354 9355 9356
+9357 9358 9359 935A 935B 935C 935D 935E 935F 9360
+9361 9362 9363 9364 9365 9366 9367 9368 9369 936A
+936B 936C 936D 936E 936F 9370 9371 9372 9373 9374
+9375 9376 9377 9378 9379 937B 937C 937D 937E 937F
+9380 9381 9382 9383 9384 9385 9386 9387 28A32 28A36
+28A44 28A45 28A46 28A47 28A48 28A49 28A4A 28A4B 28A59 28A5A
+28A81 28A82 28A83 93A1 93AF 9561 9562 9563 9564 9565
+9566 9567 9568 9569 956A 956B 95C0 95B7 95C3 95C4
+95C5 95C6 95C7 95C8 95C9 95CA 95CB 95CC 95CE 95CF
+96AC 96AD 96AE 96AF 96B0 96B1 96B2 96B8
+4A01 4A02 96D6 4A24 9718 9719 971A 971B 971C 971D
+971E 971F 9720 2910D 29110 9721 4A4A 979A 979B 979C
+979D 979E 979F 97A0 97A1 97D3 97D4 97D5 97F1 4AD1
+9840 9841 9842 9843 9844 9845 9846 9847 9848 9849
+984A 294E5 294E7 4B10 98B6 98B7 295E9 295F4 4B20 9925
+992A 992B 992C 992D 992F 9930 9931 9932 9933 9935
+9937 29732 9942 9946 9998 4B70 4B72 99A1 99A2 99A3
+4B8E 4B90 99F4 99F5 99F6 99F7 99F8 99F9 99FA 99FB
+99FC 99FD 99FE 99FF 9A00 9A01 9A02 9A03 298EA 99F3
+9AA4 9ABD 9ABE 9AFC 9AFD 9AFE 9AFF 9B00 9B01 9B02
+9B34 9B48 9B49 9B86 4C4B 4C4C 4C4D 9B99 9B9A 9B9B
+9B9C 9B9D 9B9E 9B9F 9BA0 9BA1 9BA2 9BA4 9BA5 9BA6
+9BA7 9BA8 9BA9 9BAA 9BAB 9BAC 9BAD 9BAE
+9BAF 9BB0 9BB1 9BB2 9BB3 9BB4 9BBA 9BCE 9CBC 9CBD
+9CBF 9CC0 9CC1 9CC2 9CC3 9CC4 9CC5 9CC6 9CC7 9CC8
+9CC9 9CCA 9CCB 9CBE 9D1C 4CCD 4CD4 9D2D 9D2E 9D2F
+9D30 9D31 9D32 9D33 9D34 9D35 9D36 9D37 9D38 9D39
+9D3A 9D3B 9D3C 9D3D 9D3E 9D3F 9D40 9D41 9D42 9D43
+9D44 9D45 9D46 9D47 9D48 9D49 2A014 9D67 9E69 9E6A
+9E6B 9E6C 9E89 9E8A 9E8B 2A2B2 9EAF 9EB0 9EC7 9EC8
+9EC9 9ECF 9EDA 9EDB 9EDC 9EDD 9EDE 2A434 9EFB 9EFF
+9F22 9F23 9F24 9F3E 9F3F 9F4B 2A5C6 9F54 9F62 9F8B
+9F8C 9FA0
+FDD0-2812
+512D 512E 512F 5131 34AF 204FE 5181 205A5 20AC2 53E2
+3609 5694 5695 5696 5697 5698 5699 569A 569B 569C
+569D 569E 569F 56A0 56A1 56A2 56A3 56A4 21096 2109D
+210B4 210BF 210C0 210C1 210C7 210C8 210C9 210CF 210D3 56AE
+58D8 58D9 214B6 5911 5913 5970 3730 3731 5B38 5B3A
+5B3B 5B3C 218FA 5C69 5C6A 5DC0 5DC1 5DC2 5E6D 5E6E
+5EEB 5F4D 5F5D 5F5E 399B 61D5 61D6 61D8 61DF 61E3
+39A1 61E9 61EA 61EB 61ED 61EE 61F0 61F1 61F3 61F4
+6233 64E7 64EA 3A61 3A66 3A67 64E5 64F2 64F4 64F5
+64F6 64F7 64F8 64F9 64FA 64FB 64FC 64FD 64FE 64FF
+6501 6502 6503 6504 6505 6506 22E0D 3AAB 8D01 23066
+6594 2308E 65B7 65DB 3B23 3B24 3B25 3B26 3B27 3B28
+66D8 66DB 66DC 232E0 232E1 6726 6AAB 6AAC
+6AAD 6AAE 6AAF 6AB0 6AB1 6AB2 6AB3 6AB4 6AB5 6AB6
+6AB7 6AB8 6AB9 6ABA 6ABB 6ABC 6ABD 6ABE 6ABF 6AC0
+6AC1 6AC2 6AC3 6AC4 6AC5 6AC6 6AC7 6AC8 6AC9 6ACA
+23766 23781 6AE1 6AED 6B5E 6B5F 6B78 6BAF 6BC9 6C0B
+6FF7 3D7D 6FF9 6FFA 6FFB 6FFC 6FFD 6FFE 6FFF 7000
+7001 7002 7003 7005 7006 7007 7008 7009 700A 700B
+700C 700D 700E 700F 7010 7011 7012 7013 7014 24085
+2408B 2408C 2408D 24091 7026 3E04 71F8 71F9 71FA 71FB
+71FC 71FD 71FE 71FF 7200 7201 7203 24435 24436 269A8
+7375 7376 7377 74A7 74B5 74B6 74B8 74B9 74BB 74BC
+74BE 74BF 74C0 74C1 74C2 24A8C 24A93 24A94 24A95 24A96
+24AA4 24AA5 24AA6 24AA7 7513 7514 7515 7585 764F 7650
+7651 7652 7653 7654 7655 7656 7657 7658
+7659 765A 765B 765C 765D 765E 7664 76A6 76A7 76A8
+24FA9 3FF9 76BD 76EB 76EC 77B8 77B9 77BA 77BB 77BC
+77BD 77BE 77BF 77C0 77C1 77C2 252D8 7906 7907 7908
+7909 790A 790B 790C 790D 790E 790F 7910 7911 7912
+7913 7914 7915 7916 4120 79AC 79AD 79AE 79AF 7A5F
+7A60 7A61 7A62 7A63 258C8 7AC4 7AC5 7AF5 424E 4255
+7C19 7C1A 7C1B 7C1C 7C1D 7C1E 7C1F 7C20 7C21 7C22
+7C23 7C24 7C25 7C26 7C27 7C28 7C29 7C2A 7C2B 7C2D
+7C2E 7C2F 7C30 7C31 7C32 25CC1 25CFE 25D20 42A6 7CE3
+7CE4 7CE5 7CE6 7CE7 25F1A 4318 7E4E 7E4F 7E50 7E51
+7E52 7E53 7E54 7E55 7E56 7E57 7E58 7E59 7E5A 7E5B
+7E5C 7E5D 7E5E 7E5F 7E60 7E61 7E62 7E63 7E64 7E65
+7E67 7E71 26159 2615A 2615B 2615C 7F47 7F48
+7F49 26258 7F80 7F82 7FB3 7FB4 7FB5 4397 7FF7 7FF8
+7FF9 7FFA 7FFB 2648D 26498 802D 802E 8075 8076 8077
+4443 4444 4445 81CD 81CE 81CF 81D0 81D1 81D2 81D3
+26888 820A 8219 825E 825F 8260 448F 452E 4533 453B
+453D 453F 4540 4543 4544 85A9 85B0 85B1 85B2 85B3
+85B4 85B5 85B6 85B7 85B8 85B9 85BA 85BB 85BC 85BD
+85BE 85BF 85C0 85C1 85C2 85C3 85C4 85C5 85C6 85C7
+85C8 85C9 85CA 85CB 85CC 85CD 85CE 85CF 85D0 85D2
+85D3 26FBE 26FDE 26FDF 2700E 459B 8669 87D7 87D3 87D4
+87D6 87D8 87D9 87DA 87DB 87DC 87DD 87DF 87E0 87E2
+87E3 87E4 87E5 87E6 87E7 87E8 87E9 87EA 87EB 87EC
+87ED 87EE 87EF 87F0 87F1 87F2 87F3 87F4 87F5 880E
+27450 27484 27486 8946 8947 8948 8949 894A
+894B 894C 894D 894E 894F 8950 8951 8953 8955 27784
+27785 8986 468D 89B0 89B1 89B2 89B3 89F4 9D64 8B23
+8B24 8B25 8B26 8B27 8B28 8B29 8B2A 8B2B 8B2C 8B2D
+8B2E 8B2F 8B30 8B31 8B32 8B33 8B34 8B35 8B36 8B37
+8B38 8B39 8B3A 8B3B 8B3C 8B3D 8B3E 27AF4 8B47 8C42
+8C50 8C74 8C75 8C97 8C98 8C99 8CFE 8CFF 8D00 8D02
+8D03 8D04 8D05 8DA9 4820 8E54 8E55 8E56 8E57 8E58
+8E59 8E5A 8E5B 8E5C 8E5D 8E5E 8E5F 8E60 8E61 8E62
+8E63 8E64 8E65 8E66 8E67 8E6E 8E80 2812E 8E69 8EBF
+8EC0 8EC1 2827C 4871 8F46 8F47 8F48 8F49 8F4A 8F4B
+8F4C 2838A 8FAC 9087 9088 28625 9128 913A 913B 913C
+913D 913E 91A5 91A6 91A7 91A8 91A9 91AA 91AB 91AC
+91D0 493E 4944 4945 4947 9388 9389 938A
+938B 938C 938D 938E 938F 9390 9391 9392 9393 9394
+9395 9396 9397 9398 9399 939A 939B 939C 939D 939E
+939F 93A0 93A2 93A3 93A4 93A5 93A6 93A7 93A8 93AA
+93AB 93AC 93AD 93AE 93B0 93B1 93B2 93B3 93B4 93B5
+93B6 93B7 93B8 93B9 93BA 93BB 93BC 93BD 93BE 93BF
+28A9A 28A9B 28A9C 28AC0 28AC6 28ACB 28ACC 28ACE 956C 956D
+956E 956F 9570 9571 95D0 95D1 95D2 95D3 95D4 95D5
+95D6 95D7 95D8 28D99 96B3 4A03 96D7 96D8 96D9 96DA
+96DB 96DC 96DD 96DE 96DF 96E0 96E2 4A26 9722 9723
+9724 9725 975D 97A2 97A3 97A4 97A5 97A6 97A7 97A8
+97A9 97AA 97AB 97AC 97AD 97AE 97AF 97B0 4A96 97D6
+97D7 97D8 97D9 97DA 97F9 97FA 29433 983F 983E 984B
+984C 984D 984E 984F 9850 9851 9852 9853
+9854 9855 98A2 98A3 98B8 98B9 98BA 4B49 4B4B 4B4C
+992E 9936 9938 9939 993A 993B 993C 993D 993E 993F
+9940 9941 99A4 99A5 4B93 4B96 4B97 9A04 9A05 9A06
+9A07 9A08 9A09 9A0A 9A0B 9A0C 9A0D 9A0E 9A0F 9A10
+9A11 9A12 9A13 298F1 29903 29905 9AC0 9AC1 9ADC 4C00
+4C01 9B03 9B04 9B05 9B06 9B08 9B29 9B35 9B36 4C26
+9B4A 9B4B 9B4C 9B4D 9B4E 9B4F 9BB5 9BB6 9BB7 9BB8
+9BB9 9BBB 9BBC 9BBD 9BBE 9BBF 9BC0 9BC1 9BC2 9BC3
+9BC4 9BC6 9BC7 9BC8 9BC9 9BCA 9BCB 9BCC 9BCD 9BCF
+9BD0 9BD1 9BD2 9BD3 9BFD 29DF6 9CCC 9CCD 9CCE 9CCF
+9CD0 9CD1 9CD2 9D4A 9D4B 9D4C 9D4D 9D4E 9D4F 9D50
+9D51 9D52 9D53 9D54 9D55 9D56 9D57 9D58 9D59 9D5A
+9D5B 9D5C 9D5D 9D5E 9D5F 9D60 9D62 9D63
+9D65 9E6D 9E6E 9E6F 9E70 4D26 9E8C 9E8D 9E8E 9E8F
+9E90 2A2B4 2A2B6 2A2BA 2A2BD 4D36 9EB1 9EB2 9EBF 9ECA
+9ECB 9EDF 9EE0 9EE1 9F00 9F01 9F02 9F15 9F16 9F25
+9F26 9F27 9F28 9F29 9F2A 9F2B 9F2C 9F4C 9F55 9F8E
+FDD0-2813
+3426 34A3 5133 5134 5135 5296 52F7 52F8 5336 53B4
+58E1 56A5 56A6 56A7 56A8 56A9 56AA 56AB 56AC 56AD
+56AF 56B0 210E4 210F4 210F5 210F6 58DA 58DB 58DC 58DD
+58DE 58DF 58E0 58E2 5912 5B3D 3732 3733 3734 3735
+5B39 5B3E 5B3F 21903 21904 21905 5B7C 5BF3 5BF4 5BF5
+5C6B 3820 3822 5DC3 5DC4 5DC5 21F9E 21FA1 5E70 22173
+5EEC 5EED 9F90 5F5F 5FBF 61EC 61EF 61F2 61F5 61F6
+61F7 22926 22939 61FB 6500 6507 6508 6509 650A 650B
+650C 650D 650E 650F 6510 6512 22E36 22E42 6584 65DC
+65DD 65DE 3B29 3B2A 66DD 66DE 66DF 66E0 66E1 66E2
+3C00 3C01 3C02 3C04 6ACB 6ACC 6ACD 6ACE 6ACF 6AD0
+6AD1 6AD2 6AD3 6AD4 6AD5 6AD6 6AD7 6AD8 6AD9 6ADA
+6ADC 6ADD 6ADE 6ADF 6AE0 6AE2 6AE3 6AE4
+6AE5 6AE6 6AEB 237A2 237BC 237C2 6AE7 6B60 6BB0 6BB1
+23ADB 6C0C 3D85 3D8A 6FF3 7015 7016 7017 7018 7019
+701A 701B 701C 701D 701E 701F 7020 7021 7022 7023
+7024 7025 7027 7028 7029 702B 702C 702D 702E 240C9
+240E1 7202 3E06 7204 7205 7206 7207 7208 7209 720A
+720C 720D 720E 7215 2445A 2445B 7258 72A1 72A2 72A3
+72A4 72A5 72A6 7378 7379 737A 74B7 74BD 3F04 3F06
+74C3 74C4 74C5 74C6 74C7 74C8 74C9 74CA 74CB 24AB1
+24AB2 24AB3 24ABA 24ABB 24ABC 74E3 7516 7586 7587 765F
+7660 7661 7663 76A9 2502C 77C3 77C4 77C5 77C6 77C7
+77C8 77C9 77CA 2530E 25311 25313 77F1 7917 7918 7919
+791A 791B 791C 791D 791E 791F 7920 7921 255B9 79B0
+79B1 2571D 7A64 7A65 7A66 7A67 7A68 7A69
+7A6A 7A6B 258E1 7AC6 7C2C 424F 4260 7C33 7C34 7C35
+7C36 7C37 7C38 7C39 7C3A 7C3B 7C3C 7C3D 7C3E 7C3F
+7C40 7C41 7C42 25D30 25D43 7CE9 7CEA 7CEB 7CEC 7CED
+25F4B 4320 7E4B 7E66 7E68 7E69 7E6A 7E6B 7E6C 7E6D
+7E6E 7E6F 7E70 7E72 7E73 7E74 7E75 7E76 7E77 7E78
+7E79 7E7A 7F35 7F4A 7F4B 7F83 7F84 7F85 7F86 7FB6
+7FB7 7FB8 7FB9 7FFD 7FFE 8078 81CB 4446 81D4 81D5
+81D7 81D8 2688A 26893 26926 820B 821A 8261 8262 8263
+8264 8265 8276 4545 4546 4551 FA1F 85D1 85D5 85D6
+85D7 85D8 85D9 85DA 85DB 85DC 85DD 85DE 85DF 85E0
+85E1 85E2 85E3 85E4 85E5 85E6 85E7 85E8 85E9 85EA
+85EB 85EC 85ED 85EF 85F0 85F1 85F2 85F3 85F4 85F5
+2704B 27052 27053 85F7 85F8 8801 87D5 87F6
+87F7 87F8 87F9 87FA 87FB 87FC 87FD 87FE 87FF 8800
+8802 8803 8804 8805 8806 8807 8808 8809 880A 880B
+880C 880D 880F 881E 8956 8957 8958 8959 895A 895B
+895C 895D 895E 895F 8960 8961 8962 8987 8988 89B4
+89B5 89B6 89B7 89B8 89F5 89F6 8B3F 8B40 8B41 8B42
+8B43 8B44 8B46 8B48 8B49 8B4A 8B4B 8B4C 8B4E 8B4F
+8B50 8B51 8B52 8B53 8B54 8B55 8B56 8B57 8B58 8B59
+8B5A 8B5B 8B5C 27B06 27B0B 27B18 8C36 8C43 8C77 8C76
+8C9A 8D06 8D07 8D08 8D09 8D0A 8D0B 8D0C 8DAA 8DAB
+8DAC 8DAD 4826 8E68 8E6A 8E6B 8E6C 8E6D 8E6F 8E70
+8E71 8E72 8E73 8E74 8E75 8E76 8E77 8E78 8E79 8E7A
+8E7B 8E7C 8E7D 8E7E 8E7F 2814F 2815D 2816F 8E87 8EC2
+8EC3 8EC4 8EC5 8F4D 8F4E 8F4F 8F50 8F51
+8F52 8F53 8F54 8FAD 8FB4 908A 908B 908C 2863B 913F
+9140 9142 4911 91AD 91AE 91AF 91B0 91B1 4949 4951
+4953 93A9 93C0 93C1 93C2 93C3 93C4 93C5 93C6 93C7
+93C8 93C9 93CA 93CB 93CC 93CD 93CE 93CF 93D0 93D1
+93D2 93D3 93D4 93D5 93D6 93D7 93D8 93D9 93DA 93DB
+93DC 93DD 93DE 93DF 93E0 93E1 93E2 93E3 93E4 93E5
+93E6 93E7 93E8 93E9 93EA 93EB 93EC 93ED 93EE 93EF
+93F0 93F1 93F2 93F9 28ADE 28ADF 28AE0 28AE1 28AE2 28AE3
+28AE5 28AEA 28AFC 28B0C 9572 957D 95D9 95DA 95DB 95DC
+95DD 96B4 4A04 96E1 96E3 9726 9727 9728 9729 972A
+972B 972C 972D 2913C 2914D 2915B 9761 97B1 97B2 97B3
+97B4 97B5 97B6 97B7 97DC 97DD 97DE 97DF 97F2 97FB
+97FC 4AE4 9856 9857 9858 9859 985A 985B
+985C 985D 985E 98A4 4B19 98BB 98BC 98BD 98BE 98BF
+98C0 4B53 9943 9944 9945 9947 9948 9949 99A6 99A7
+29857 4B9D 9A14 9A15 9A16 9A17 9A18 9A19 9A1A 9A1B
+9A1C 9A1D 9A1E 9A1F 9A20 9A21 9A22 9A23 9A24 9A25
+9A26 9A27 9A28 2992F 9AA5 9AC2 9AC3 9AC5 4C04 4C07
+9B09 9B0A 9B0B 9B0C 9B0D 9B0E 9B0F 9B37 9BC5 4C5B
+9BD4 9BD5 9BD6 9BD7 9BD8 9BD9 9BDA 9BDB 9BDC 9BDD
+9BDE 9BDF 9BE0 9BE1 9BE2 9BE3 9BE4 9BE5 9BE6 9BE7
+9BE8 9BE9 9BEA 9BEB 9BEC 9BED 9BEE 9BEF 9BF0 9BF1
+9BF2 9BF3 9BF4 9BF5 29E06 29E2D 9BFA 9CD3 9CD4 9CD5
+9CD6 9CD7 9CD8 9CD9 9CDA 9CDB 9D61 4CE1 9D66 9D68
+9D69 9D6A 9D6B 9D6C 9D6D 9D6E 9D6F 9D70 9D71 9D72
+9D73 9D74 9D75 9D76 9D77 9D78 9D79 9D7A
+9D7B 9D7C 9D7D 9D7E 9D7F 9D80 9D81 9D82 9D83 9D84
+9D85 9D86 9D87 9D88 9D89 9D8A 9D8B 9D8C 9D8D 9D8E
+9D8F 9D91 2A087 9E71 9E72 9E78 9E91 9E92 9E93 9E94
+9E95 9E96 9E97 9EB3 9EB4 9EC0 4D4C 9EE2 9EE3 9EFC
+9F03 9F04 9F17 9F2D 9F40 9F41 9F4D 9F56 9F57 9F58
+9F8F 2A6A9
+FDD0-2814
+34A5 5136 5337 56B1 56B2 56B3 56B4 56B5 56B6 56B7
+56B8 56B9 2112F 56BC 58E3 58E4 58E5 214E8 3736 3737
+3738 5B40 5B41 5B42 5B43 5B44 5B45 5B46 21910 21911
+21912 21915 5B7D 5B7E 5BF6 5DC6 5DC7 5DC8 5DC9 5DCA
+5DCC 5E71 2217A 5EEE 5EEF 5EF0 5FC0 5FC1 39A4 61F8
+61F9 61FA 2294F 3A70 6513 6514 6515 6516 6517 6518
+6519 651A 6585 6586 65DF 3B2B 66E3 66E4 66E5 66E6
+66E7 66E8 23300 6727 3C09 3C0A 3C0D 3C11 6AE8 6AE9
+6AEA 6AEC 6AEE 6AEF 6AF0 6AF1 6AF2 6AF3 6AF4 6AF5
+6AF6 237D5 237D6 237D7 6AF9 702A 3D8F 3D91 702F 7030
+7031 7032 7033 7034 7035 7036 7037 7038 7039 703A
+703B 703C 703D 703E 703F 7040 7041 24104 7042 3E0A
+720B 720F 7210 7211 7212 7213 7214 7216
+7217 7218 24473 24487 24488 72A7 72A8 24706 737B 737C
+737D 74BA 74CC 74CD 74CE 74CF 74D0 74D1 74D2 24AC0
+24AC7 7588 7589 7662 7665 7666 76AA 76AB 3FFA 76BE
+76ED 77CB 77CC 77CD 77CE 77CF 77F2 7922 7923 7924
+7925 7926 7927 7928 7929 792A 792B 792C 79B2 7A6C
+7A6D 7A6E 7A6F 7AC7 7AF6 7AF7 7C43 7C44 7C45 7C46
+7C47 7C48 7C49 7C4A 7C4B 7C4C 7C4D 7C4E 7C4F 7C55
+42AE 7CEE 7CEF 7CF0 4326 7E7B 7E7C 7E7D 7E7E 7E7F
+7E80 7E81 7E82 7E83 261AD 261AE 261B2 7F4C 26335 7FBA
+7FFF 8000 802F 8079 807A 807B 807C 81D6 81D9 81DA
+81DB 81DC 269B5 8266 8267 8268 8269 4552 4554 4555
+4557 455C 8624 85EE 85F6 85F9 85FA 85FB 85FC 85FD
+85FE 85FF 8600 8601 8602 8603 8604 8605
+8606 8607 8608 8609 860A 860B 860C 860D 860E 860F
+8610 8611 8613 8614 8622 27088 270AD 270AE 270AF 8612
+861B 8630 4600 4601 8810 8811 8812 8813 8814 8815
+8816 8817 8818 8819 8963 8964 8965 8966 8967 8968
+89B9 89BA 89BB 89F7 89F8 89F9 4713 4718 8B4D 8B5D
+8B5E 8B5F 8B60 8B61 8B62 8B63 8B64 8B65 8B66 8B67
+8B68 8B69 8B6A 8B6B 8B6C 8B6D 8B6E 8B6F 8B70 8B71
+8B72 27B38 27B39 27B3A 8C51 27C12 8D0D 8D0E 8D0F 8DAE
+8E81 8E82 8E83 8E84 8E85 8E86 8E88 8E89 28189 8EC6
+8F55 8F56 8F57 8F58 8F59 8F5A 8FAE 908D 9141 9143
+91B2 91B3 91B4 91B5 91B6 91B7 91B8 91CB 93F3 93F5
+93F6 93F7 93F8 93FA 93FB 93FC 93FD 93FE 93FF 9400
+9401 9402 9403 9404 9405 9406 9407 9408
+9409 940A 940B 940C 940D 940E 940F 9410 9411 9412
+9413 9414 9415 9416 9417 9418 9419 941A 941B 941C
+941D 941E 941F 9420 9421 9422 9423 9424 9425 9426
+9427 9428 28B13 28B21 28B22 28B2B 28B2C 28B2D 28B2F 28B46
+28B4C 28B4E 28B50 942F 943C 9573 9574 95DE 95DF 95E0
+95E1 28DB9 96B5 972E 972F 9730 9731 9733 9734 2915E
+29170 4A4B 97B8 97B9 97BA 97BB 97DB 97E0 97FD 97FE
+97FF 985F 9860 9861 9862 9863 98A5 98C1 98C2 98C3
+98C4 994A 994B 994C 994D 994E 9950 9951 9952 9953
+9959 99A8 9A29 9A2A 9A2B 9A2C 9A2D 9A2E 9A2F 9A30
+9A31 9A32 9A33 9A34 9A35 9A36 9A37 9A38 29947 29948
+29949 2995D 2996A 9AA6 9AA7 9AC4 9AC6 9AC7 9AC8 9AC9
+9ACA 9ACB 9ACC 9B10 9B11 9B12 9B13 9B2A
+9B38 9B50 9BFB 4C6D 9BF6 9BF7 9BF8 9BF9 9BFC 9BFE
+9BFF 9C00 9C01 9C02 9C03 9C04 9C05 9C06 9C07 9C08
+9C09 9C0A 9C0B 9C0C 9C0D 9C0E 9C0F 9C10 9C11 9C12
+9C13 9C14 9C15 9C16 9C17 9C18 9C19 9C1A 9C1B 9C20
+29E68 9C40 9CDC 9CDD 9CDE 9CDF 4CED 9D90 9D92 9D93
+9D94 9D95 9D96 9D97 9D98 9D99 9D9A 9D9B 9D9C 9D9D
+9D9E 9D9F 9DA0 9DA1 9DA2 9DA3 9DA4 9DA5 9DA6 9DA7
+9DA8 9DA9 9DAA 9DAB 2A0B9 2A0E1 2A0ED 2A0F3 2A0F8 9DBF
+9E79 9E98 9E99 9E9A 9E9B 9EB5 9EC1 2A3A9 4D4D 9EE4
+9EE5 9EE6 9EE7 9EE8 9EE9 9EEA 2A45B 9F0D 9F2E 9F2F
+9F30 2A5CB 9F59 9F5A 9F5B 9F5D 9F5E 9F5F 9F60 9F61
+9F63 9F91
+FDD0-2815
+34A7 5137 5138 5139 513A 5164 5297 5298 2082C 535B
+56BA 56BB 56BD 56BE 56BF 56C0 56C1 56C2 56C3 56C4
+56CD 2113B 2113D 21145 21148 2114F 58E6 214FD 5914 3739
+5B47 5B48 5B49 2191C 5BF7 5C6C 5DCB 3826 5DCD 5DCF
+5DD0 5EF1 5FC2 61FC 61FD 61FE 6511 651B 651C 651D
+22E78 6595 66E9 2330A 6707 3C15 6AF8 6AFA 6AFB 6AFC
+6AFD 6AFE 6AFF 6B00 6B01 6B02 6B03 6B04 6B05 6B0C
+6BB2 7043 7044 7045 7046 7047 7048 7049 704A 704B
+704C 704D 704F 7050 2410F 24119 3E0D 7219 721A 721B
+244B9 721D 737E 74D3 74D4 74D6 24ACA 24AD1 7517 3FD7
+7667 7668 7669 766A 766B 76AC 24FB8 77D0 77D1 77D2
+77D3 792D 792E 792F 7930 7931 7932 7933 7934 255D5
+255DB 25725 25903 7AC3 7AC8 7AC9 7C56 426A
+7C50 7C51 7C52 7C53 7C54 7CF2 7E84 7E85 7E86 7E87
+7E88 7E89 7E8A 7E8B 7E8C 7E8D 7E8E 7E8F 7E90 7F4D
+7FBB 7FBC 8030 81DD 826A 4562 85D4 8615 8616 8617
+8618 8619 861A 861C 861D 861E 861F 8620 8621 8623
+8625 8626 8627 8628 8629 862A 862B 862D 862E 862F
+270CD 270F8 27109 2710C 4602 881A 881B 881C 881D 881F
+8820 8821 8822 8823 8824 8829 882B 884A 8969 896A
+896B 896C 896D 896E 89BC 89BD 89FA 8B45 8B73 8B74
+8B75 8B76 8B77 8B78 8B79 8B7A 8B7B 8B7C 8B7D 27B48
+8D10 8D11 8D12 8D13 8D14 8D63 8DAF 8DB0 8E8A 8E8B
+8E8C 8E8D 8E8E 8E8F 281AF 281BC 8EC7 8F5B 8F5C 8F5D
+8F5E 8F5F 8FAF 908E 9144 9145 9146 91B9 91BA 91BB
+4965 93F4 9429 942A 942B 942C 942D 942E
+9430 9431 9432 9433 9434 9435 9436 9437 9438 9439
+943A 943B 943D 943E 943F 9440 9441 28B63 28B64 28B65
+28B66 28B6C 28B8F 95E2 95E3 95E4 95E5 95E6 96E4 9732
+9735 9736 9737 9738 9739 973A 973B 9767 97BC 97BD
+97BE 97BF 97E1 97E2 2943F 9864 9865 9866 9867 9868
+98A6 98C5 98C6 98C7 98C8 98C9 98CA 98DC 994F 9956
+9957 9958 99A9 9A39 9A3A 9A3B 9A3C 9A3D 9A3E 9A3F
+9A40 9A41 9A42 9A43 9A44 9A45 9A46 9A47 9ACD 9ACE
+9ACF 9B14 9B15 9B16 9B17 9B18 9B39 9B3A 9B51 9B52
+9B53 9B54 4C7D 9C1C 9C1D 9C1E 9C1F 9C21 9C22 9C23
+9C24 9C25 9C26 9C27 9C28 9C29 9C2A 9C2B 9C2C 9C2D
+9C2E 9C2F 9C30 29EAC 4CA3 4CA4 9CE0 9CE1 9CE2 9CE3
+9DAC 9DAD 9DAE 9DAF 9DB0 9DB1 9DB2 9DB3
+9DB4 9DB5 9DB6 9DB7 9DB8 9DB9 9DBA 9DBB 9DBC 9DBD
+9DBE 9DC0 9DC1 9DC2 9DC3 9DC4 9DC5 9DC6 9DC7 9DC8
+9DC9 9DCA 9DCC 9DCD 9DCE 9DCF 2A0FE 2A107 2A123 9E7A
+9E7B 9E9C 9E9D 4D4E 9EEB 9EEC 9EED 9EEE 9EEF 9F05
+9F18 9F19 9F1A 9F1B 9F31 9F4E 9F5C 9F64 9F65 9F66
+9F67 9F68 9F69 2A601 9F92 9F9D 9FA1
+FDD0-2816
+4EB9 513B 513C 20465 20979 3618 56C5 56C6 56C7 56C8
+56C9 56CA 56CB 56CE 571D 5971 373A 5B4A 5B4B 5B4C
+21922 21927 5B7F 5DCE 5DD1 5DD2 5DD3 5DD4 5DD5 5DD7
+5EF2 5F4E 5F72 61FF 6202 22967 2296B 6235 651E 651F
+6520 6521 6522 6524 6526 6527 22E8B 23033 3B2C 3B2D
+3C18 6AF7 6B06 6B07 6B08 6B09 6B0A 6B0B 6B0D 6B0E
+6B61 6C0D 7051 7052 7054 7055 7056 7057 7058 2413F
+24140 24144 721C 721E 721F 7220 72A9 737F 7380 74D5
+74D7 74D8 74D9 74E4 758A 766C 766D 766E 24F0E 76AD
+7935 255E0 79B3 79B4 7A70 7A71 7ACA 7AF8 7C57 7C58
+7C59 7C5A 7C5B 7C5C 7C5D 7C5F 7C60 7C61 7CF1 7CF4
+432B 7E91 7E92 261DD 7F4E 7F4F 26261 7F87 8031 8032
+807D 807E 81DE 81DF 269FA 826B 4567 456A
+862C 8632 8633 8634 8635 8636 8637 2710D 27126 27127
+4606 8825 8826 8827 8828 882A 882C 896F 8970 8971
+8972 89BE 89BF 2789D 89FB 89FC 4720 8B7E 8B7F 8B80
+8B81 8B82 8B83 8B84 8B85 8B86 8C44 8D15 8D16 8D17
+8D18 8E90 8E91 8E92 8E93 8E94 8E95 8E96 8E97 8E9A
+8F60 8F61 8F62 9147 9148 496A 496D 9442 9443 9444
+9445 9446 9447 9448 9449 944A 944B 944C 944D 944E
+944F 9450 9451 9452 9453 9454 9467 28B99 28B9C 28B9D
+9575 9576 957E 95E7 973C 973D 973E 973F 9740 2919C
+97C0 97C1 97C2 97C3 97E3 9869 986A 986B 98CB 9954
+9955 995A 995B 297D4 9A48 9A49 9A4A 9A4B 9A4C 9A4D
+9A4E 9A4F 9A50 9A51 9A52 9A53 9A54 9A55 2999D 9AD0
+9AD2 9ADD 9B1D 4C0E 9B19 9B1A 9B1B 9B1C
+29BD5 9B2B 9B3B 9B55 9B56 4C81 9C31 9C32 9C33 9C34
+9C35 9C36 9C37 9C38 9C39 9C3A 9C3B 9C3C 9C3D 9C3E
+9C3F 9C41 9C42 9C43 9C44 9C45 9C46 9C47 9C48 9DE0
+29EC3 9C49 9CE4 9DCB 9DD0 9DD1 9DD2 9DD3 9DD4 9DD5
+9DD6 9DD7 9DD8 9DD9 9DDA 9DDB 9DDC 9DDD 9DDE 9DDF
+2A133 2A134 2A150 9DE9 9DF5 9E73 9E74 9E9E 2A2DF 9EB6
+9ED0 9EF0 9EF1 9F32 9F33 9F34 9F35 9F42 4D9C 9F6A
+9F6B 9F6C 9F93 9F94 9F95 9FA2
+FDD0-2817
+513D 5299 529A 20ACD 361A 56CC 56CF 56D0 58E7 58E8
+21582 5972 5B4D 5DD6 5DD8 5DDA 5F4F 6200 6201 6203
+6204 6523 3A77 6525 6528 6529 652A 652B 6596 3B2E
+66EA 66EB 66EC 6B0F 6B10 6B11 6B12 2383A 6BCA 7053
+7059 705A 705B 705C 2414E 24155 24156 24157 2415C 2415F
+7221 7222 244BC 244CE 244D3 244D6 7381 7382 7383 74DA
+24ADF 766F 7670 77D4 7936 7937 79B5 7C5E 4274 7C62
+7C63 7C64 7C65 7C66 7C67 7C68 7CF5 7E93 7E94 7E95
+7E96 81E2 268C7 826C 4577 8631 8638 8639 863A 863B
+863C 863D 863E 863F 8640 8641 2721B 8834 882D 882E
+882F 8830 8831 8832 8833 8973 8974 8976 8989 89FD
+89FE 8B87 8B88 8B89 8B8A 8B8B 8B8C 8B8D 8B8E 8B8F
+8B90 8C45 8D19 8D1A 8DB1 8E98 8E99 8E9B
+8E9C 2829B 8F63 8F64 908F 9090 91BC 4972 9455 9456
+9457 9458 9459 945A 945B 945C 945D 945E 945F 9460
+9461 9462 9463 9464 9465 9466 28BC2 28BC5 28BD4 28BD7
+28BD9 28BDA 4A35 9741 291A8 9768 97C4 97C5 9800 986C
+986D 986E 986F 98A7 995C 99AA 9A56 9A57 9A58 9A59
+9A5A 9A5B 9A5C 9AD1 9AD3 9AD4 9ADE 9B1E 9B1F 9B20
+9C4A 9C4B 9C4C 9C4D 9C4E 9C4F 9C50 9C51 9C52 9C53
+9C54 9C55 9C56 9C57 9C58 9C59 9C5A 9C5B 29EF8 9C6A
+4D00 9DE1 9DE2 9DE3 9DE4 9DE5 9DE6 9DE7 9DE8 9DEA
+9DEB 9DEC 9DED 9DEE 9DEF 9DF0 9DF1 9DF2 9DF3 9DF4
+9DF6 9DF7 9DF8 9DFB 9DFC 2A192 2A193 2A1AB 9E9F 9EC2
+9EF2 9EF3 9EF4 9F06 9F07 9F1C 9F36 9F37 9F38 9F39
+9F43 9F44 9F4F 9F6D 9F6E 9F6F 9F70 9F71
+2A632
+FDD0-2818
+513E 204D7 56D1 56D2 56D3 21180 3681 58E9 5B4E 5B4F
+5C6D 5DD9 22980 652C 652D 66ED 66EE 6B13 6B14 6B15
+705D 705E 705F 7060 7061 7223 74DB 74E5 7671 7672
+24FC2 77D5 77D7 77D6 40FA 7938 79B6 79B7 7A73 7A72
+4276 7C6A 7E97 7F50 7F88 7F89 826D 8277 8643 8645
+27164 27165 8835 8836 8837 8838 8839 883A 884B 8862
+8975 8977 277CC 8B91 8B92 8B93 8B94 8B95 8B96 8D1B
+8E9D 8E9E 8E9F 8EA0 8EC8 91BD 91BE 91BF 91C0 91C2
+9468 9469 946A 946B 946C 28BE7 28BE8 28BE9 28BEA 28BEB
+28BEC 28BF5 96E5 96E6 9742 9743 9744 9745 9746 9747
+9748 97C6 97C7 97C8 97E4 97E5 29448 9870 995D 9A5D
+9A5E 9A5F 9AD5 9B21 9B22 9B2C 9B2D 9B57 9B58 9B59
+29D3E 9C5C 9C5D 9C5E 9C5F 9C60 9C61 9C62
+9C63 9C64 9C65 9C66 9C67 9C69 9C6B 29F23 9C70 9DFA
+4D09 9DF9 9DFD 9DFE 9DFF 9E00 9E01 9E02 9E03 9E04
+9E05 9E06 9E07 9E08 9E09 9E0A 2A1B4 9E7C 9E7D 9EA0
+9F1E 9F45 9F46 9F72 9F73 9F74 9F75 9F76 9F77
+FDD0-2819
+56D4 56D5 21187 58EA 5EF3 6205 6206 652E 65B8 3B2F
+66EF 6B16 6B17 6B18 6B19 6B1A 6B1B 6B1D 7062 7063
+7224 7225 7226 72AA 24D06 77D8 77D9 77E1 7939 7C69
+7C6B 7C6C 7C6D 7C6E 7CF6 7E98 7E99 7E9A 7E9B 81E0
+81E1 8642 8646 8647 8648 8649 883B 27574 8978 8979
+897A 897B 897C 898A 89C0 89FF 8B97 8B98 8B99 8C52
+8C9B 8D1C 27E4D 8EA1 8EA2 8EA3 8EA4 8EA5 91C1 946D
+946E 946F 9470 9471 9472 9473 28BFF 28C03 9749 9871
+9872 995E 995F 9995 4BBD 299C3 299C9 9AD6 9B23 9C68
+9C6C 9C6D 9C6E 9C6F 29F30 9E0B 9E0C 9E0D 9E0E 9E0F
+9E10 9E11 9E12 2A1DF 9EA1 9ECC 9EF5 9F08 9F09 9F1D
+9F1F 9F47 9F78 9F79 9F7A 9F7B 2A64A 9FA3
+FDD0-281A
+3536 571E 373B 5F60 6B1C 6C0E 704E 7064 7066 24AE2
+7673 77DA 7C6F 7C70 25E0E 7CF3 8644 866A 883C 8B9A
+8B9B 27E4F 8DB2 8EA6 8EA7 91C3 91C4 9474 9475 9476
+9477 9478 9479 947A 28C09 28C1C 28C1D 974A 97C9 4BBE
+9A60 9A61 9A62 9A63 9A65 9AD7 9C71 9C72 9C73 9C74
+9C75 9C76 9E13 9E14 2A1F5 9EF6 9F0A 2A65B 9FA4 9FA5
+FDD0-281B
+7065 7067 7068 24177 2417A 72AB 7CF7 7E9C 7E9D 864A
+883D 883E 883F 897D 8B9C 8B9D 8B9E 8C53 8C9C 8EA9
+8EAA 8EC9 8F65 91C5 947B 947C 947D 947E 28C23 28C26
+974B 974C 974D 974E 9873 9874 98CC 98CD 98DD 9960
+9961 99AB 9A64 9A66 9A67 9B24 9B2E 9B30 9C77 9C78
+9E15 9E16 9E17 9EF7 9F48
+FDD0-281C
+56D6 6207 22EB3 2331F 6B1E 6B1F 7227 24AE9 3FDC 7674
+27175 864C 8C54 8EA8 28207 947F 9480 9481 9482 28C2B
+28C30 96E7 4BC0 9A68 9A69 9E18 9E19 9E1A 2A220 9EA2
+9EF8 9F3A 9F7C 9F7D 9F9E
+FDD0-281D
+7228 7E9E 864B 8B9F 4979 9483 9484 974F 9A6A 9B31
+9C79 9E1B 9E1C 9EB7
+FDD0-281E
+53B5 7675 4190 7C71 4585 28C39 97CA 9962 9A6B 29C73
+9C7A 9E1D 9E1E 2A233 4D91
+FDD0-281F
+7069 275A3 4D10 9EA3
+FDD0-2820
+706A 7C72 28C3B 9F96
+FDD0-2821
+2193B 7229 9C7B 9EA4 9F97
+FDD0-2823
+9F7E
+FDD0-2824
+9F49
+FDD0-2827
+9750
+FDD0-2830
+9F98
 __END__
 
 =head1 NAME
@@ -1354,6 +2503,12 @@
 and makes tailoring of CJK Unified Ideographs in the order
 of CLDR's stroke ordering.
 
+=head1 CAVEAT
+
+The stroke ordering includes some characters that are not
+CJK Unified Ideographs and can't utilize C<weightStroke()>
+for collation. For them, use C<entry> instead.
+
 =head1 SEE ALSO
 
 =over 4


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/CJK/Stroke.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,6 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0149      ; [.1702.0020.0009.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0149      ; [.174F.0020.0009.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/af.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,15 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0629      ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA
-FE93      ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
-FE94      ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH MARBUTA FINAL FORM
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0629      ; [.1CAB.0021.0002.0629] # ARABIC LETTER TEH MARBUTA
+FE94      ; [.1CAB.0021.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM
+FE93      ; [.1CAB.0021.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+0649      ; [.1D48.0021.0002.0649] # ARABIC LETTER ALEF MAKSURA
+FBE8      ; [.1D48.0021.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9      ; [.1D48.0021.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FEF0      ; [.1D48.0021.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM
+FEEF      ; [.1D48.0021.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FC90      ; [.1D48.0021.001B.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+FC5D      ; [.1D48.0021.001C.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ar.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,50 +1,51 @@
 +{
+   locale_version => 0.93,
 # schwa doesn't require tailoring
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00E7      ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7      ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-011F      ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-0067 0306 ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-011E      ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0047 0306 ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0131      ; [.167F.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-0049      ; [.167F.0020.0008.0049] # LATIN CAPITAL LETTER I
-00CC      ; [.167F.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
-00CD      ; [.167F.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00CE      ; [.167F.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF      ; [.167F.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
-012A      ; [.167F.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-012C      ; [.167F.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-012E      ; [.167F.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
-0130      ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0049 0307 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-00F6      ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-015F      ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-015E      ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-00FC      ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0071      ; [.16B3.0020.0002.0071] # LATIN SMALL LETTER Q
-0051      ; [.16B3.0020.0008.0051] # LATIN CAPITAL LETTER Q
-0078      ; [.1668.0020.0002.0078] # LATIN SMALL LETTER X
-0058      ; [.1668.0020.0008.0058] # LATIN CAPITAL LETTER X
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00E7      ; [.161E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.161E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7      ; [.161E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.161E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F      ; [.1692.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.1692.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E      ; [.1692.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.1692.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131      ; [.16CC.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049      ; [.16CC.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC      ; [.16CC.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD      ; [.16CC.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE      ; [.16CC.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF      ; [.16CC.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A      ; [.16CC.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C      ; [.16CC.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E      ; [.16CC.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130      ; [.16CD.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.16CD.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6      ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1772.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1772.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F      ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E      ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC      ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1837.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1837.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1837.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1837.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1837.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1837.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1837.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1837.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0071      ; [.1700.0020.0002.0071] # LATIN SMALL LETTER Q
+0051      ; [.1700.0020.0008.0051] # LATIN CAPITAL LETTER Q
+0078      ; [.16B5.0020.0002.0078] # LATIN SMALL LETTER X
+0058      ; [.16B5.0020.0008.0058] # LATIN CAPITAL LETTER X
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/az.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,17 +1,18 @@
 +{
+   locale_version => 0.93,
    backwards => 2,
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-006C 006C ; [.16C5.0020.0002.006C][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-006C 00B7 006C ; [.16C5.0020.0002.006C][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
-006C 004C ; [.16C5.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
-006C 00B7 004C ; [.16C5.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
-004C 006C ; [.16C5.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 00B7 006C ; [.16C5.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
-004C 004C ; [.16C5.0020.0008.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-004C 00B7 004C ; [.16C5.0020.0008.004C][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0063 0068 ; [.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.161E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.161E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.1712.0020.0002.006C][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 00B7 006C ; [.1712.0020.0002.006C][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+006C 004C ; [.1712.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0001.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+006C 00B7 004C ; [.1712.0020.0007.006C][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
+004C 006C ; [.1712.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 00B7 006C ; [.1712.0020.0007.004C][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN SMALL LETTER L>
+004C 004C ; [.1712.0020.0008.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+004C 00B7 004C ; [.1712.0020.0008.004C][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER L, MIDDLE DOT, LATIN CAPITAL LETTER L>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ca.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,24 +1,25 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-010D      ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0063 0068 ; [.1668.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.1668.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.1668.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1668.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0159      ; [.1771.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
-0072 030C ; [.1771.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
-0158      ; [.1771.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
-0052 030C ; [.1771.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
-0161      ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+010D      ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.16B5.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.16B5.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.16B5.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.16B5.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0159      ; [.17BE.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.17BE.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0158      ; [.17BE.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.17BE.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0161      ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cs.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,28 +1,29 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.15D2.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0064 ; [.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
-0044 0064 ; [.15E5.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
-0044 0044 ; [.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
-0066 0066 ; [.1638.0020.0002.0066] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
-0046 0066 ; [.1638.0020.0007.0046] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
-0046 0046 ; [.1638.0020.0008.0046] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
-006E 0067 ; [.1645.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1645.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1645.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
-006C 006C ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-004C 006C ; [.16C5.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-0070 0068 ; [.174A.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
-0050 0068 ; [.174A.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
-0050 0048 ; [.174A.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
-0072 0068 ; [.1771.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
-0052 0068 ; [.1771.0020.0007.0052] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
-0052 0048 ; [.1771.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
-0074 0068 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0054 0068 ; [.17CA.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0063 0068 ; [.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.161E.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0064 ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D>
+0044 0064 ; [.1632.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D>
+0044 0044 ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D>
+0066 0066 ; [.1685.0020.0002.0066] # <LATIN SMALL LETTER F, LATIN SMALL LETTER F>
+0046 0066 ; [.1685.0020.0007.0046] # <LATIN CAPITAL LETTER F, LATIN SMALL LETTER F>
+0046 0046 ; [.1685.0020.0008.0046] # <LATIN CAPITAL LETTER F, LATIN CAPITAL LETTER F>
+006E 0067 ; [.1692.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1692.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1692.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+006C 006C ; [.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.1712.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+0070 0068 ; [.1797.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.1797.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.1797.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0072 0068 ; [.17BE.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER H>
+0052 0068 ; [.17BE.0020.0007.0052] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER H>
+0052 0048 ; [.17BE.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER H>
+0074 0068 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0054 0068 ; [.1817.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/cy.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,75 +1,76 @@
 +{
+   locale_version => 0.93,
    upper_before_lower => 1,
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0111      ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0      ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE      ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE      ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152      ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1847.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1847.0020.0008.00C5][.0000.0000.0001.0000] # ANGSTROM SIGN
-01FB      ; [.1847.0020.0002.00E5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1847.0020.0008.00C5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1847.0020.0002.0061][.0000.0000.0007.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0041 0061 ; [.1847.0020.0007.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0061 0041 ; [.1847.0020.0007.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
-0041 0041 ; [.1847.0020.0008.0041][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0111      ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE      ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1908.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1908.0020.0002.00E5][.0000.0000.0001.0000] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1908.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1908.0020.0008.00C5][.0000.0000.0001.0000] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1908.0020.0008.00C5][.0000.0000.0001.0000] # ANGSTROM SIGN
+01FB      ; [.1908.0020.0002.00E5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1908.0020.0008.00C5][.0000.0000.0001.0000][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1908.0020.0002.0061][.0000.0000.0007.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1908.0020.0007.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.1908.0020.0007.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0041 ; [.1908.0020.0008.0041][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/da.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,28 +1,29 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00E4      ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.15A3.0021.0002.00E4][.15FF.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.15A3.0021.0008.00C4][.15FF.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6      ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1724.0021.0002.00F6][.15FF.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1724.0021.0008.00D6][.15FF.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC      ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.17E9.0021.0002.00FC][.15FF.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17E9.0021.0008.00DC][.15FF.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00E4      ; [.15EF.0021.0002.00E4][.164C.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.15EF.0021.0002.00E4][.164C.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.15EF.0021.0008.00C4][.164C.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.15EF.0021.0008.00C4][.164C.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.15EF.0021.0002.00E4][.164C.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.15EF.0021.0008.00C4][.164C.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6      ; [.1771.0021.0002.00F6][.164C.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1771.0021.0002.00F6][.164C.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1771.0021.0008.00D6][.164C.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1771.0021.0008.00D6][.164C.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1771.0021.0002.00F6][.164C.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1771.0021.0008.00D6][.164C.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC      ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1836.0021.0002.00FC][.164C.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1836.0021.0008.00DC][.164C.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/de_phone.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,28 +1,29 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0109      ; [.15D2.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0063 0302 ; [.15D2.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
-0108      ; [.15D2.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-0043 0302 ; [.15D2.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
-011D      ; [.1645.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-0067 0302 ; [.1645.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
-011C      ; [.1645.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0047 0302 ; [.1645.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
-0125      ; [.1668.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0068 0302 ; [.1668.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
-0124      ; [.1668.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0048 0302 ; [.1668.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
-0135      ; [.169A.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-006A 0302 ; [.169A.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
-0134      ; [.169A.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-004A 0302 ; [.169A.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
-015D      ; [.17A7.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-0073 0302 ; [.17A7.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
-015C      ; [.17A7.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-0053 0302 ; [.17A7.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
-016D      ; [.17EA.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
-0075 0306 ; [.17EA.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
-016C      ; [.17EA.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
-0055 0306 ; [.17EA.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0109      ; [.161E.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0063 0302 ; [.161E.0020.0002.0109] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108      ; [.161E.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+0043 0302 ; [.161E.0020.0008.0108] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+011D      ; [.1692.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+0067 0302 ; [.1692.0020.0002.011D] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C      ; [.1692.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0047 0302 ; [.1692.0020.0008.011C] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+0125      ; [.16B5.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0068 0302 ; [.16B5.0020.0002.0125] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124      ; [.16B5.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0048 0302 ; [.16B5.0020.0008.0124] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+0135      ; [.16E7.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+006A 0302 ; [.16E7.0020.0002.0135] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134      ; [.16E7.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+004A 0302 ; [.16E7.0020.0008.0134] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+015D      ; [.17F4.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+0073 0302 ; [.17F4.0020.0002.015D] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C      ; [.17F4.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0053 0302 ; [.17F4.0020.0008.015C] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+016D      ; [.1837.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
+0075 0306 ; [.1837.0020.0002.016D] # LATIN SMALL LETTER U WITH BREVE
+016C      ; [.1837.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
+0055 0306 ; [.1837.0020.0008.016C] # LATIN CAPITAL LETTER U WITH BREVE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/eo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,9 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00F1      ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00F1      ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,15 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.15D2.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-006C 006C ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-004C 006C ; [.16C5.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-00F1      ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0063 0068 ; [.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.161E.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+006C 006C ; [.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+004C 006C ; [.1712.0020.0007.004C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+00F1      ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/es_trad.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,52 +1,53 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0161      ; [.17C6.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17C6.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17C6.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17C6.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-007A      ; [.17C7.0020.0002.007A] # LATIN SMALL LETTER Z
-005A      ; [.17C7.0020.0008.005A] # LATIN CAPITAL LETTER Z
-017E      ; [.17C8.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.17C8.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.17C8.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.17C8.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-0077      ; [.1812.0021.0002.0077] # LATIN SMALL LETTER W
-0057      ; [.1812.0021.0008.0057] # LATIN CAPITAL LETTER W
-00F5      ; [.182A.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-006F 0303 ; [.182A.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-00D5      ; [.182A.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-004F 0303 ; [.182A.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D      ; [.182A.0020.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C      ; [.182A.0020.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-022D      ; [.182A.0020.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C      ; [.182A.0020.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-1E4F      ; [.182A.0020.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E      ; [.182A.0020.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1EE1      ; [.182A.0020.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0      ; [.182A.0020.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-00E4      ; [.182B.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.182B.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.182B.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.182B.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.182B.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.182B.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6      ; [.182C.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.182C.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.182C.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.182C.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.182C.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.182C.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00FC      ; [.182D.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.182D.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.182D.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.182D.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.182D.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.182D.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.182D.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.182D.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.182D.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.182D.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.182D.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.182D.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0161      ; [.1813.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1813.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1813.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1813.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+007A      ; [.1814.0020.0002.007A] # LATIN SMALL LETTER Z
+005A      ; [.1814.0020.0008.005A] # LATIN CAPITAL LETTER Z
+017E      ; [.1815.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1815.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1815.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1815.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+0077      ; [.185F.0021.0002.0077] # LATIN SMALL LETTER W
+0057      ; [.185F.0021.0008.0057] # LATIN CAPITAL LETTER W
+00F5      ; [.1877.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.1877.0020.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+00D5      ; [.1877.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.1877.0020.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D      ; [.1877.0020.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C      ; [.1877.0020.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D      ; [.1877.0020.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C      ; [.1877.0020.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F      ; [.1877.0020.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E      ; [.1877.0020.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1      ; [.1877.0020.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0      ; [.1877.0020.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00E4      ; [.1878.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1878.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1878.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1878.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1878.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1878.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6      ; [.1879.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1879.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1879.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1879.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1879.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1879.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00FC      ; [.187A.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.187A.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.187A.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.187A.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.187A.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.187A.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.187A.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.187A.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.187A.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.187A.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.187A.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.187A.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/et.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,63 +1,64 @@
 +{
+   locale_version => 0.93,
 # in cldr test/fi.xml why x{110}x < xdx though xd < x{110} ?
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0111      ; [.15E4.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E4.0021.0008.0110][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
-01E5      ; [.1644.0021.0002.01E5][.0000.007D.0002.0335] # LATIN SMALL LETTER G WITH STROKE
-01E4      ; [.1644.0021.0008.01E4][.0000.007D.0002.0335] # LATIN CAPITAL LETTER G WITH STROKE
-014B      ; [.1702.0021.0002.014B][.0000.007D.0002.0335] # LATIN SMALL LETTER ENG
-014A      ; [.1702.0021.0008.014A][.0000.007D.0002.0335] # LATIN CAPITAL LETTER ENG
-0167      ; [.17C9.0021.0002.0167][.0000.007D.0002.0335] # LATIN SMALL LETTER T WITH STROKE
-0166      ; [.17C9.0021.0008.0166][.0000.007D.0002.0335] # LATIN CAPITAL LETTER T WITH STROKE
-0077      ; [.1812.0021.0002.0077] # LATIN SMALL LETTER W
-0057      ; [.1812.0021.0008.0057] # LATIN CAPITAL LETTER W
-00FC      ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0292      ; [.1844.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
-01B7      ; [.1844.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
-01EF      ; [.1844.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
-01EE      ; [.1844.0021.0008.01B7][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
-00E5      ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1845.0020.0008.00C5] # ANGSTROM SIGN
-01FB      ; [.1845.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1845.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4      ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1846.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1846.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6      ; [.1846.0021.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.1846.0021.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1846.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1846.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1846.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1846.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1846.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00F6      ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1847.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1847.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8      ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1847.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1847.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0111      ; [.1631.0021.0002.0111][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1631.0021.0008.0110][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
+01E5      ; [.1691.0021.0002.01E5][.0000.007D.0002.0335] # LATIN SMALL LETTER G WITH STROKE
+01E4      ; [.1691.0021.0008.01E4][.0000.007D.0002.0335] # LATIN CAPITAL LETTER G WITH STROKE
+014B      ; [.174F.0021.0002.014B][.0000.007D.0002.0335] # LATIN SMALL LETTER ENG
+014A      ; [.174F.0021.0008.014A][.0000.007D.0002.0335] # LATIN CAPITAL LETTER ENG
+0167      ; [.1816.0021.0002.0167][.0000.007D.0002.0335] # LATIN SMALL LETTER T WITH STROKE
+0166      ; [.1816.0021.0008.0166][.0000.007D.0002.0335] # LATIN CAPITAL LETTER T WITH STROKE
+0077      ; [.185F.0021.0002.0077] # LATIN SMALL LETTER W
+0057      ; [.185F.0021.0008.0057] # LATIN CAPITAL LETTER W
+00FC      ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0292      ; [.1895.0021.0002.0292][.0000.007D.0002.0335] # LATIN SMALL LETTER EZH
+01B7      ; [.1895.0021.0008.01B7][.0000.007D.0002.0335] # LATIN CAPITAL LETTER EZH
+01EF      ; [.1895.0021.0002.0292][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
+01EE      ; [.1895.0021.0008.01B7][.0000.007D.0002.0335][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
+00E5      ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1906.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.1906.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1906.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4      ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1907.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1907.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6      ; [.1907.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1907.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1907.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1907.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1907.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1907.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1907.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00F6      ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1908.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1908.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8      ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1908.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1908.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fi.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,12 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00F1      ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-006E 0067 ; [.1704.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1704.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1704.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00F1      ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+006E 0067 ; [.1751.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1751.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1751.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fil.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,74 +1,75 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0111      ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0      ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE      ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE      ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152      ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
-01FB      ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0061 0061 ; [.1847.0020.001C.0061][.0000.0000.0002.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
-0061 0041 ; [.1847.0020.001C.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
-0041 0061 ; [.1847.0020.001D.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
-0041 0041 ; [.1847.0020.001D.0041][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0111      ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE      ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1908.0020.001C.0061][.0000.0000.0002.0000] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0061 0041 ; [.1908.0020.001C.0061][.0000.0000.0008.0000] # <LATIN SMALL LETTER A, LATIN CAPITAL LETTER A>
+0041 0061 ; [.1908.0020.001D.0041][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1908.0020.001D.0041][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,4 @@
 +{
+   locale_version => 0.87,
    backwards => 2,
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/fr.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,13 +1,16 @@
 +{
+   locale_version => 0.93,
 # b-hook, d-hook, k-hook, y-hook don't require tailoring
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.17A7.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0073 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
-0054 0073 ; [.17CA.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
-0054 0053 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
-0027 0079 ; [.183F.0020.0002.01B4] # <APOSTROPHE, LATIN SMALL LETTER Y>
-0027 0059 ; [.183F.0020.0008.01B3] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0073 0068 ; [.17F4.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17F4.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17F4.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0073 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER S>
+0054 0073 ; [.1817.0020.0007.0054] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER S>
+0054 0053 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER S>
+02BC 0079 ; [.188C.0020.0003.02BC] # <MODIFIER LETTER APOSTROPHE, LATIN SMALL LETTER Y>
+02BC 0059 ; [.188C.0020.0009.02BC] # <MODIFIER LETTER APOSTROPHE, LATIN CAPITAL LETTER Y>
+0027 0079 ; [.188C.0020.0004.0027] # <APOSTROPHE, LATIN SMALL LETTER Y>
+0027 0059 ; [.188C.0020.000A.0027] # <APOSTROPHE, LATIN CAPITAL LETTER Y>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ha.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,35 +1,36 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0065      ; [.15A4.0020.0002.0065] # LATIN SMALL LETTER E
-0045      ; [.15A4.0020.0008.0045] # LATIN CAPITAL LETTER E
-0069      ; [.15A5.0020.0002.0069] # LATIN SMALL LETTER I
-0049      ; [.15A5.0020.0008.0049] # LATIN CAPITAL LETTER I
-006F      ; [.15A6.0020.0002.006F] # LATIN SMALL LETTER O
-004F      ; [.15A6.0020.0008.004F] # LATIN CAPITAL LETTER O
-0075      ; [.15A7.0020.0002.0075] # LATIN SMALL LETTER U
-0055      ; [.15A7.0020.0008.0055] # LATIN CAPITAL LETTER U
-0068      ; [.15A8.0020.0002.0068] # LATIN SMALL LETTER H
-0048      ; [.15A8.0020.0008.0048] # LATIN CAPITAL LETTER H
-006B      ; [.15A9.0020.0002.006B] # LATIN SMALL LETTER K
-004B      ; [.15A9.0020.0008.004B] # LATIN CAPITAL LETTER K
-006C      ; [.15AA.0020.0002.006C] # LATIN SMALL LETTER L
-004C      ; [.15AA.0020.0008.004C] # LATIN CAPITAL LETTER L
-006D      ; [.15AB.0020.0002.006D] # LATIN SMALL LETTER M
-004D      ; [.15AB.0020.0008.004D] # LATIN CAPITAL LETTER M
-006E      ; [.15AC.0020.0002.006E] # LATIN SMALL LETTER N
-004E      ; [.15AC.0020.0008.004E] # LATIN CAPITAL LETTER N
-0070      ; [.15AD.0020.0002.0070] # LATIN SMALL LETTER P
-0050      ; [.15AD.0020.0008.0050] # LATIN CAPITAL LETTER P
-0077      ; [.15AE.0020.0002.0077] # LATIN SMALL LETTER W
-0057      ; [.15AE.0020.0008.0057] # LATIN CAPITAL LETTER W
-02BB      ; [.15AF.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-0113      ; [.15A4.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.15A4.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
-012B      ; [.15A5.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.15A5.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-014D      ; [.15A6.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.15A6.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
-016B      ; [.15A7.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.15A7.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0065      ; [.15F0.0020.0002.0065] # LATIN SMALL LETTER E
+0045      ; [.15F0.0020.0008.0045] # LATIN CAPITAL LETTER E
+0069      ; [.15F1.0020.0002.0069] # LATIN SMALL LETTER I
+0049      ; [.15F1.0020.0008.0049] # LATIN CAPITAL LETTER I
+006F      ; [.15F2.0020.0002.006F] # LATIN SMALL LETTER O
+004F      ; [.15F2.0020.0008.004F] # LATIN CAPITAL LETTER O
+0075      ; [.15F3.0020.0002.0075] # LATIN SMALL LETTER U
+0055      ; [.15F3.0020.0008.0055] # LATIN CAPITAL LETTER U
+0068      ; [.15F4.0020.0002.0068] # LATIN SMALL LETTER H
+0048      ; [.15F4.0020.0008.0048] # LATIN CAPITAL LETTER H
+006B      ; [.15F5.0020.0002.006B] # LATIN SMALL LETTER K
+004B      ; [.15F5.0020.0008.004B] # LATIN CAPITAL LETTER K
+006C      ; [.15F6.0020.0002.006C] # LATIN SMALL LETTER L
+004C      ; [.15F6.0020.0008.004C] # LATIN CAPITAL LETTER L
+006D      ; [.15F7.0020.0002.006D] # LATIN SMALL LETTER M
+004D      ; [.15F7.0020.0008.004D] # LATIN CAPITAL LETTER M
+006E      ; [.15F8.0020.0002.006E] # LATIN SMALL LETTER N
+004E      ; [.15F8.0020.0008.004E] # LATIN CAPITAL LETTER N
+0070      ; [.15F9.0020.0002.0070] # LATIN SMALL LETTER P
+0050      ; [.15F9.0020.0008.0050] # LATIN CAPITAL LETTER P
+0077      ; [.15FA.0020.0002.0077] # LATIN SMALL LETTER W
+0057      ; [.15FA.0020.0008.0057] # LATIN CAPITAL LETTER W
+02BB      ; [.15FB.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+0113      ; [.15F0.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.15F0.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
+012B      ; [.15F1.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.15F1.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+014D      ; [.15F2.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.15F2.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
+016B      ; [.15F3.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.15F3.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/haw.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,51 +1,48 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-010D      ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0107      ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0301 ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0341 ; [.15D3.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0106      ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0301 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0341 ; [.15D3.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-01C6      ; [.15E5.0020.0002.01C6] # LATIN SMALL LETTER DZ WITH CARON
-0064 017D ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
-01C5      ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
-01C4      ; [.15E5.0020.0008.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
-0064 017E ; [.15E5.0020.0002.01C6] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
-0044 017E ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
-0044 017D ; [.15E5.0020.0008.01C4] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
-0064 007A 030C ; [.15E5.0020.0002.01C6] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
-0064 005A 030C ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
-0044 007A 030C ; [.15E5.0020.0007.01C5][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
-0044 005A 030C ; [.15E5.0020.0008.01C4] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
-0111      ; [.15E6.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E6.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E6.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E6.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-01C9      ; [.16C5.0020.0002.01C9] # LATIN SMALL LETTER LJ
-006C 006A ; [.16C5.0020.0002.01C9] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
-006C 004A ; [.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER J>
-01C8      ; [.16C5.0020.0007.01C8][.0000.0000.0008.0000] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
-004C 006A ; [.16C5.0020.0007.01C8][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
-01C7      ; [.16C5.0020.0008.01C7] # LATIN CAPITAL LETTER LJ
-004C 004A ; [.16C5.0020.0008.01C7] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
-01CC      ; [.1703.0020.0002.01CC] # LATIN SMALL LETTER NJ
-006E 006A ; [.1703.0020.0002.01CC] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
-006E 004A ; [.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
-01CB      ; [.1703.0020.0007.01CB][.0000.0000.0008.0000] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
-004E 006A ; [.1703.0020.0007.01CB][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
-01CA      ; [.1703.0020.0008.01CA] # LATIN CAPITAL LETTER NJ
-004E 004A ; [.1703.0020.0008.01CA] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
-0161      ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+010D      ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0107      ; [.161F.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.161F.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.161F.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0106      ; [.161F.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.161F.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.161F.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0064 017E ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+01C6      ; [.1632.0020.0003.01C6] # LATIN SMALL LETTER DZ WITH CARON
+0044 017E ; [.1632.0020.0007.0044][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z WITH CARON>
+01C5      ; [.1632.0020.0007.01C5][.0000.0000.0007.0000] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+0044 017D ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z WITH CARON>
+01C4      ; [.1632.0020.0009.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
+0064 007A 030C ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 007A 030C ; [.1632.0020.0007.0044][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, COMBINING CARON>
+0044 005A 030C ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, COMBINING CARON>
+0111      ; [.1633.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1633.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1633.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1633.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+006C 006A ; [.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER J>
+01C9      ; [.1712.0020.0003.01C9] # LATIN SMALL LETTER LJ
+004C 006A ; [.1712.0020.0007.004C][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER J>
+01C8      ; [.1712.0020.0007.01C8][.0000.0000.0007.0000] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+004C 004A ; [.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER J>
+01C7      ; [.1712.0020.0009.01C7] # LATIN CAPITAL LETTER LJ
+006E 006A ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+01CC      ; [.1750.0020.0003.01CC] # LATIN SMALL LETTER NJ
+004E 006A ; [.1750.0020.0007.004E][.0000.0000.0001.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+01CB      ; [.1750.0020.0007.01CB][.0000.0000.0007.0000] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+004E 004A ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+01CA      ; [.1750.0020.0009.01CA] # LATIN CAPITAL LETTER NJ
+0161      ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hr.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,150 +1,151 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0073 ; [.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0063 0053 ; [.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0043 0073 ; [.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0043 0053 ; [.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0064 007A ; [.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0064 005A ; [.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0044 007A ; [.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 005A ; [.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0064 007A 0073 ; [.15E6.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 007A 0053 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 005A 0073 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 005A 0053 ; [.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 007A 0073 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 007A 0053 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 005A 0073 ; [.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 005A 0053 ; [.15E6.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0067 0079 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0067 0059 ; [.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0079 ; [.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0047 0059 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-006C 0079 ; [.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-006C 0059 ; [.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-004C 0079 ; [.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-004C 0059 ; [.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-006E 0079 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-006E 0059 ; [.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-004E 0079 ; [.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 007A ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0073 005A ; [.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0053 007A ; [.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0053 005A ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0074 0079 ; [.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0074 0059 ; [.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0079 ; [.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0054 0059 ; [.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-007A 0073 ; [.1845.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-007A 0053 ; [.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-005A 0073 ; [.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-005A 0053 ; [.1845.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-00F6      ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1725.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1725.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1725.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1725.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00FC      ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.17EA.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.17EA.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.17EA.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.17EA.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0063 0063 0073 ; [.15D2.0020.0002.0063][.15D2.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0063 0063 0053 ; [.15D2.0020.0002.0063][.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0063 0043 0073 ; [.15D2.0020.0002.0063][.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0063 0043 0053 ; [.15D2.0020.0002.0063][.15D2.0020.0008.0043] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0043 0063 0073 ; [.15D2.0020.0008.0043][.15D2.0020.0002.0063] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
-0043 0063 0053 ; [.15D2.0020.0008.0043][.15D2.0020.0007.0063][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
-0043 0043 0073 ; [.15D2.0020.0008.0043][.15D2.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
-0043 0043 0053 ; [.15D2.0020.0008.0043][.15D2.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
-0064 0064 007A ; [.15E5.0020.0002.0064][.15E5.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0064 0064 005A ; [.15E5.0020.0002.0064][.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0064 0044 007A ; [.15E5.0020.0002.0064][.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0064 0044 005A ; [.15E5.0020.0002.0064][.15E5.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0044 0064 007A ; [.15E5.0020.0008.0044][.15E5.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
-0044 0064 005A ; [.15E5.0020.0008.0044][.15E5.0020.0007.0064][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
-0044 0044 007A ; [.15E5.0020.0008.0044][.15E5.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
-0044 0044 005A ; [.15E5.0020.0008.0044][.15E5.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
-0064 0064 007A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 0064 007A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0064 005A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 0064 005A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0044 007A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0064 0044 007A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0064 0044 005A 0073 ; [.15E6.0020.0002.0064][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0064 0044 005A 0053 ; [.15E6.0020.0002.0064][.15E6.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0064 007A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 0064 007A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0064 005A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 0064 005A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0044 007A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-0044 0044 007A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-0044 0044 005A 0073 ; [.15E6.0020.0008.0044][.15E6.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-0044 0044 005A 0053 ; [.15E6.0020.0008.0044][.15E6.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-0067 0067 0079 ; [.1645.0020.0002.0067][.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0067 0067 0059 ; [.1645.0020.0002.0067][.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0067 0047 0079 ; [.1645.0020.0002.0067][.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0067 0047 0059 ; [.1645.0020.0002.0067][.1645.0020.0008.0047] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0067 0079 ; [.1645.0020.0008.0047][.1645.0020.0002.0067] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
-0047 0067 0059 ; [.1645.0020.0008.0047][.1645.0020.0007.0067][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
-0047 0047 0079 ; [.1645.0020.0008.0047][.1645.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
-0047 0047 0059 ; [.1645.0020.0008.0047][.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
-006C 006C 0079 ; [.16C5.0020.0002.006C][.16C5.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-006C 006C 0059 ; [.16C5.0020.0002.006C][.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-006C 004C 0079 ; [.16C5.0020.0002.006C][.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-006C 004C 0059 ; [.16C5.0020.0002.006C][.16C5.0020.0008.004C] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-004C 006C 0079 ; [.16C5.0020.0008.004C][.16C5.0020.0002.006C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
-004C 006C 0059 ; [.16C5.0020.0008.004C][.16C5.0020.0007.006C][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
-004C 004C 0079 ; [.16C5.0020.0008.004C][.16C5.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
-004C 004C 0059 ; [.16C5.0020.0008.004C][.16C5.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
-006E 006E 0079 ; [.1703.0020.0002.006E][.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-006E 006E 0059 ; [.1703.0020.0002.006E][.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-006E 004E 0079 ; [.1703.0020.0002.006E][.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-006E 004E 0059 ; [.1703.0020.0002.006E][.1703.0020.0008.004E] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-004E 006E 0079 ; [.1703.0020.0008.004E][.1703.0020.0002.006E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 006E 0059 ; [.1703.0020.0008.004E][.1703.0020.0007.006E][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
-004E 004E 0079 ; [.1703.0020.0008.004E][.1703.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 004E 0059 ; [.1703.0020.0008.004E][.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0073 0073 007A ; [.17A7.0020.0002.0073][.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0073 0073 005A ; [.17A7.0020.0002.0073][.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0073 0053 007A ; [.17A7.0020.0002.0073][.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0073 0053 005A ; [.17A7.0020.0002.0073][.17A7.0020.0008.0053] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0053 0073 007A ; [.17A7.0020.0008.0053][.17A7.0020.0002.0073] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
-0053 0073 005A ; [.17A7.0020.0008.0053][.17A7.0020.0007.0073][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
-0053 0053 007A ; [.17A7.0020.0008.0053][.17A7.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
-0053 0053 005A ; [.17A7.0020.0008.0053][.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
-0074 0074 0079 ; [.17CA.0020.0002.0074][.17CA.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0074 0074 0059 ; [.17CA.0020.0002.0074][.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0074 0054 0079 ; [.17CA.0020.0002.0074][.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0074 0054 0059 ; [.17CA.0020.0002.0074][.17CA.0020.0008.0054] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0074 0079 ; [.17CA.0020.0008.0054][.17CA.0020.0002.0074] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
-0054 0074 0059 ; [.17CA.0020.0008.0054][.17CA.0020.0007.0074][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
-0054 0054 0079 ; [.17CA.0020.0008.0054][.17CA.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
-0054 0054 0059 ; [.17CA.0020.0008.0054][.17CA.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
-007A 007A 0073 ; [.1845.0020.0002.007A][.1845.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-007A 007A 0053 ; [.1845.0020.0002.007A][.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-007A 005A 0073 ; [.1845.0020.0002.007A][.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-007A 005A 0053 ; [.1845.0020.0002.007A][.1845.0020.0008.005A] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
-005A 007A 0073 ; [.1845.0020.0008.005A][.1845.0020.0002.007A] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
-005A 007A 0053 ; [.1845.0020.0008.005A][.1845.0020.0007.007A][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
-005A 005A 0073 ; [.1845.0020.0008.005A][.1845.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
-005A 005A 0053 ; [.1845.0020.0008.005A][.1845.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0063 0073 ; [.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0053 ; [.161E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0073 ; [.161E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0053 ; [.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 007A ; [.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 005A ; [.1632.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 007A ; [.1632.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 005A ; [.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 007A 0073 ; [.1633.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 007A 0053 ; [.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 005A 0073 ; [.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 005A 0053 ; [.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 007A 0073 ; [.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 007A 0053 ; [.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 005A 0073 ; [.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 005A 0053 ; [.1633.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0079 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0059 ; [.1692.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0079 ; [.1692.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0059 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 0079 ; [.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 0059 ; [.1712.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 0079 ; [.1712.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 0059 ; [.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 0079 ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 0059 ; [.1750.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 0079 ; [.1750.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 007A ; [.17F4.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 005A ; [.17F4.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 007A ; [.17F4.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 005A ; [.17F4.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0079 ; [.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0059 ; [.1817.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0079 ; [.1817.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0059 ; [.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 0073 ; [.1896.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 0053 ; [.1896.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 0073 ; [.1896.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 0053 ; [.1896.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+00F6      ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1772.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1772.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1772.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1772.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1772.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1772.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00FC      ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1837.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1837.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1837.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1837.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1837.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1837.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1837.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1837.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1837.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1837.0021.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1837.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1837.0021.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0063 0063 0073 ; [.161E.0020.0002.0063][.161E.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0063 0063 0053 ; [.161E.0020.0002.0063][.161E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0063 0043 0073 ; [.161E.0020.0002.0063][.161E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0063 0043 0053 ; [.161E.0020.0002.0063][.161E.0020.0008.0043] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0043 0063 0073 ; [.161E.0020.0008.0043][.161E.0020.0002.0063] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN SMALL LETTER S>
+0043 0063 0053 ; [.161E.0020.0008.0043][.161E.0020.0007.0063][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER C, LATIN CAPITAL LETTER S>
+0043 0043 0073 ; [.161E.0020.0008.0043][.161E.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN SMALL LETTER S>
+0043 0043 0053 ; [.161E.0020.0008.0043][.161E.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER S>
+0064 0064 007A ; [.1632.0020.0002.0064][.1632.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0064 0064 005A ; [.1632.0020.0002.0064][.1632.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0044 007A ; [.1632.0020.0002.0064][.1632.0020.0007.0044][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0064 0044 005A ; [.1632.0020.0002.0064][.1632.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0064 007A ; [.1632.0020.0008.0044][.1632.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z>
+0044 0064 005A ; [.1632.0020.0008.0044][.1632.0020.0007.0064][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z>
+0044 0044 007A ; [.1632.0020.0008.0044][.1632.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z>
+0044 0044 005A ; [.1632.0020.0008.0044][.1632.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z>
+0064 0064 007A 0073 ; [.1633.0020.0002.0064][.1633.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 007A 0053 ; [.1633.0020.0002.0064][.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0064 005A 0073 ; [.1633.0020.0002.0064][.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0064 005A 0053 ; [.1633.0020.0002.0064][.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 007A 0073 ; [.1633.0020.0002.0064][.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 007A 0053 ; [.1633.0020.0002.0064][.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0064 0044 005A 0073 ; [.1633.0020.0002.0064][.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0064 0044 005A 0053 ; [.1633.0020.0002.0064][.1633.0020.0008.0044] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 007A 0073 ; [.1633.0020.0008.0044][.1633.0020.0002.0064] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 007A 0053 ; [.1633.0020.0008.0044][.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0064 005A 0073 ; [.1633.0020.0008.0044][.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0064 005A 0053 ; [.1633.0020.0008.0044][.1633.0020.0007.0064][.0000.0000.0002.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 007A 0073 ; [.1633.0020.0008.0044][.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 007A 0053 ; [.1633.0020.0008.0044][.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0007.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+0044 0044 005A 0073 ; [.1633.0020.0008.0044][.1633.0020.0007.0044][.0000.0000.0008.0000][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+0044 0044 005A 0053 ; [.1633.0020.0008.0044][.1633.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+0067 0067 0079 ; [.1692.0020.0002.0067][.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0067 0067 0059 ; [.1692.0020.0002.0067][.1692.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0067 0047 0079 ; [.1692.0020.0002.0067][.1692.0020.0007.0047][.0000.0000.0008.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0067 0047 0059 ; [.1692.0020.0002.0067][.1692.0020.0008.0047] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0067 0079 ; [.1692.0020.0008.0047][.1692.0020.0002.0067] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN SMALL LETTER Y>
+0047 0067 0059 ; [.1692.0020.0008.0047][.1692.0020.0007.0067][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER G, LATIN CAPITAL LETTER Y>
+0047 0047 0079 ; [.1692.0020.0008.0047][.1692.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN SMALL LETTER Y>
+0047 0047 0059 ; [.1692.0020.0008.0047][.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER Y>
+006C 006C 0079 ; [.1712.0020.0002.006C][.1712.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+006C 006C 0059 ; [.1712.0020.0002.006C][.1712.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+006C 004C 0079 ; [.1712.0020.0002.006C][.1712.0020.0007.004C][.0000.0000.0008.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+006C 004C 0059 ; [.1712.0020.0002.006C][.1712.0020.0008.004C] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+004C 006C 0079 ; [.1712.0020.0008.004C][.1712.0020.0002.006C] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN SMALL LETTER Y>
+004C 006C 0059 ; [.1712.0020.0008.004C][.1712.0020.0007.006C][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L, LATIN CAPITAL LETTER Y>
+004C 004C 0079 ; [.1712.0020.0008.004C][.1712.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN SMALL LETTER Y>
+004C 004C 0059 ; [.1712.0020.0008.004C][.1712.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER Y>
+006E 006E 0079 ; [.1750.0020.0002.006E][.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+006E 006E 0059 ; [.1750.0020.0002.006E][.1750.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+006E 004E 0079 ; [.1750.0020.0002.006E][.1750.0020.0007.004E][.0000.0000.0008.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+006E 004E 0059 ; [.1750.0020.0002.006E][.1750.0020.0008.004E] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+004E 006E 0079 ; [.1750.0020.0008.004E][.1750.0020.0002.006E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 006E 0059 ; [.1750.0020.0008.004E][.1750.0020.0007.006E][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER N, LATIN CAPITAL LETTER Y>
+004E 004E 0079 ; [.1750.0020.0008.004E][.1750.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 004E 0059 ; [.1750.0020.0008.004E][.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0073 0073 007A ; [.17F4.0020.0002.0073][.17F4.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0073 0073 005A ; [.17F4.0020.0002.0073][.17F4.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0073 0053 007A ; [.17F4.0020.0002.0073][.17F4.0020.0007.0053][.0000.0000.0008.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0073 0053 005A ; [.17F4.0020.0002.0073][.17F4.0020.0008.0053] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0073 007A ; [.17F4.0020.0008.0053][.17F4.0020.0002.0073] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN SMALL LETTER Z>
+0053 0073 005A ; [.17F4.0020.0008.0053][.17F4.0020.0007.0073][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER S, LATIN CAPITAL LETTER Z>
+0053 0053 007A ; [.17F4.0020.0008.0053][.17F4.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN SMALL LETTER Z>
+0053 0053 005A ; [.17F4.0020.0008.0053][.17F4.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER Z>
+0074 0074 0079 ; [.1817.0020.0002.0074][.1817.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0074 0074 0059 ; [.1817.0020.0002.0074][.1817.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0074 0054 0079 ; [.1817.0020.0002.0074][.1817.0020.0007.0054][.0000.0000.0008.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0074 0054 0059 ; [.1817.0020.0002.0074][.1817.0020.0008.0054] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0074 0079 ; [.1817.0020.0008.0054][.1817.0020.0002.0074] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN SMALL LETTER Y>
+0054 0074 0059 ; [.1817.0020.0008.0054][.1817.0020.0007.0074][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER T, LATIN CAPITAL LETTER Y>
+0054 0054 0079 ; [.1817.0020.0008.0054][.1817.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN SMALL LETTER Y>
+0054 0054 0059 ; [.1817.0020.0008.0054][.1817.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER Y>
+007A 007A 0073 ; [.1896.0020.0002.007A][.1896.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+007A 007A 0053 ; [.1896.0020.0002.007A][.1896.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+007A 005A 0073 ; [.1896.0020.0002.007A][.1896.0020.0007.005A][.0000.0000.0008.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+007A 005A 0053 ; [.1896.0020.0002.007A][.1896.0020.0008.005A] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
+005A 007A 0073 ; [.1896.0020.0008.005A][.1896.0020.0002.007A] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN SMALL LETTER S>
+005A 007A 0053 ; [.1896.0020.0008.005A][.1896.0020.0007.007A][.0000.0000.0002.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER Z, LATIN CAPITAL LETTER S>
+005A 005A 0073 ; [.1896.0020.0008.005A][.1896.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN SMALL LETTER S>
+005A 005A 0053 ; [.1896.0020.0008.005A][.1896.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER S>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hu.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,9 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0587      ; [.1BF1.0020.0002.0584][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
-0535 0582 ; [.1BF1.0020.0008.0554][.FFF1.0000.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
+   locale_version => 0.96,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0587      ; [.1C44.0020.0002.0587][.FFF1.0000.0000.0000] # ARMENIAN SMALL LIGATURE ECH YIWN
+0584      ; [.1C44.0020.0002.0584][.FFF0.0000.0000.0000] # ARMENIAN SMALL LETTER KEH
+0535 0582 ; [.1C44.0020.0008.0535][.FFF1.0000.0000.0000] # <ARMENIAN CAPITAL LETTER ECH, ARMENIAN SMALL LETTER YIWN>
+0554      ; [.1C44.0020.0008.0554][.FFF0.0000.0000.0000] # ARMENIAN CAPITAL LETTER KEH
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/hy.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,53 +1,54 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.15BA.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.15BA.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.15BA.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0067 0062 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1645.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-0067 0068 ; [.1646.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
-0047 0068 ; [.1646.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
-0047 0048 ; [.1646.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
-0067 0077 ; [.1647.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
-0047 0077 ; [.1647.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
-0047 0057 ; [.1647.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
-1ECB      ; [.1681.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
-0069 0323 ; [.1681.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA      ; [.1681.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
-0049 0323 ; [.1681.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
-006B 0070 ; [.16B3.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
-004B 0070 ; [.16B3.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
-004B 0050 ; [.16B3.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
-006B 0077 ; [.16B4.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
-004B 0077 ; [.16B4.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
-004B 0057 ; [.16B4.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
-1E45      ; [.1703.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
-006E 0307 ; [.1703.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
-1E44      ; [.1703.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-004E 0307 ; [.1703.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
-006E 0077 ; [.1704.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
-004E 0077 ; [.1704.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
-004E 0057 ; [.1704.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
-006E 0079 ; [.1705.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1705.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1705.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-1ECD      ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-006F 0323 ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC      ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-004F 0323 ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9      ; [.1725.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1725.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EE3      ; [.1725.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2      ; [.1725.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-0073 0068 ; [.17A7.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.17A7.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17A7.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-1EE5      ; [.17EA.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
-0075 0323 ; [.17EA.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4      ; [.17EA.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
-0055 0323 ; [.17EA.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EF1      ; [.17EA.0020.0002.1EE5][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0      ; [.17EA.0020.0008.1EE4][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0063 0068 ; [.1606.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1606.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1606.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0067 0062 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1692.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+0067 0068 ; [.1693.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H>
+0047 0068 ; [.1693.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H>
+0047 0048 ; [.1693.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H>
+0067 0077 ; [.1694.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER W>
+0047 0077 ; [.1694.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER W>
+0047 0057 ; [.1694.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER W>
+1ECB      ; [.16CE.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
+0069 0323 ; [.16CE.0020.0002.1ECB] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA      ; [.16CE.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
+0049 0323 ; [.16CE.0020.0008.1ECA] # LATIN CAPITAL LETTER I WITH DOT BELOW
+006B 0070 ; [.1700.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER P>
+004B 0070 ; [.1700.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER P>
+004B 0050 ; [.1700.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER P>
+006B 0077 ; [.1701.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER W>
+004B 0077 ; [.1701.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER W>
+004B 0057 ; [.1701.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER W>
+1E45      ; [.1750.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
+006E 0307 ; [.1750.0020.0002.1E45] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44      ; [.1750.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+004E 0307 ; [.1750.0020.0008.1E44] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+006E 0077 ; [.1751.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER W>
+004E 0077 ; [.1751.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER W>
+004E 0057 ; [.1751.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER W>
+006E 0079 ; [.1752.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1752.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1752.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+1ECD      ; [.1772.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.1772.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC      ; [.1772.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.1772.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9      ; [.1772.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1772.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3      ; [.1772.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2      ; [.1772.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+0073 0068 ; [.17F4.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.17F4.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.17F4.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+1EE5      ; [.1837.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
+0075 0323 ; [.1837.0020.0002.1EE5] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4      ; [.1837.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
+0055 0323 ; [.1837.0020.0008.1EE4] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF1      ; [.1837.0020.0002.1EE5][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0      ; [.1837.0020.0008.1EE4][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ig.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,78 +1,79 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00E1      ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0111      ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.15E5.0020.0002.00F0] # LATIN SMALL LETTER ETH
-00D0      ; [.15E5.0020.0008.00D0] # LATIN CAPITAL LETTER ETH
-00E9      ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1636.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1636.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-00ED      ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1698.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1698.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-00F3      ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1748.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1748.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-00FA      ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.1811.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.1811.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-00FD      ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-0079 0301 ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-0079 0341 ; [.1843.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
-00DD      ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-0059 0301 ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-0059 0341 ; [.1843.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
-00E6      ; [.18B9.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.18B9.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.18B9.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.18B9.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.18B9.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.18B9.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.18B9.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.18B9.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.18B9.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.18B9.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.18B9.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.18B9.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.18B9.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00F6      ; [.18BA.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.18BA.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.18BA.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.18BA.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.18BA.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.18BA.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8      ; [.18BA.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.18BA.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.18BA.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.18BA.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.18BA.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.18BA.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00E5      ; [.18BB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.18BB.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.18BB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.18BB.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.18BB.0020.0008.00C5] # ANGSTROM SIGN
-01FB      ; [.18BB.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.18BB.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00E1      ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0111      ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1632.0020.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.1632.0020.0008.00D0] # LATIN CAPITAL LETTER ETH
+00E9      ; [.1683.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.1683.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.1683.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.1683.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.1683.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.1683.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED      ; [.16E5.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16E5.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16E5.0020.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.16E5.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16E5.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16E5.0020.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3      ; [.1795.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1795.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1795.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1795.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1795.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1795.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA      ; [.185E.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.185E.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.185E.0020.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.185E.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.185E.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.185E.0020.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD      ; [.1894.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0301 ; [.1894.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+0079 0341 ; [.1894.0020.0002.00FD] # LATIN SMALL LETTER Y WITH ACUTE
+00DD      ; [.1894.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0301 ; [.1894.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+0059 0341 ; [.1894.0020.0008.00DD] # LATIN CAPITAL LETTER Y WITH ACUTE
+00E6      ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00F6      ; [.1907.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1907.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1907.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1907.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1907.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1907.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8      ; [.1907.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1907.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1907.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1907.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1907.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1907.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00E5      ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/is.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,1241 +1,1846 @@
 use Unicode::Collate::CJK::JISX0208;
 +{
+   locale_version => 0.93,
    overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208,
-   entry => <<'ENTRY', # for DUCET v6.0.0
-3041      ; [.3196.0020.000F.3041] # HIRAGANA LETTER SMALL A
-3042      ; [.3196.0020.0011.3042] # HIRAGANA LETTER A
-3043      ; [.3197.0020.000F.3043] # HIRAGANA LETTER SMALL I
-3044      ; [.3197.0020.0011.3044] # HIRAGANA LETTER I
-3045      ; [.3198.0020.000F.3045] # HIRAGANA LETTER SMALL U
-3046      ; [.3198.0020.0011.3046] # HIRAGANA LETTER U
-3047      ; [.319A.0020.000F.3047] # HIRAGANA LETTER SMALL E
-3048      ; [.319A.0020.0011.3048] # HIRAGANA LETTER E
-3049      ; [.319B.0020.000F.3049] # HIRAGANA LETTER SMALL O
-304A      ; [.319B.0020.0011.304A] # HIRAGANA LETTER O
-304B      ; [.319C.0020.0011.304B] # HIRAGANA LETTER KA
-304C      ; [.319C.0020.0011.304B][.0000.014E.0002.3099] # HIRAGANA LETTER GA
-304D      ; [.319D.0020.0011.304D] # HIRAGANA LETTER KI
-304E      ; [.319D.0020.0011.304D][.0000.014E.0002.3099] # HIRAGANA LETTER GI
-304F      ; [.319E.0020.0011.304F] # HIRAGANA LETTER KU
-3050      ; [.319E.0020.0011.304F][.0000.014E.0002.3099] # HIRAGANA LETTER GU
-3051      ; [.319F.0020.0011.3051] # HIRAGANA LETTER KE
-3052      ; [.319F.0020.0011.3051][.0000.014E.0002.3099] # HIRAGANA LETTER GE
-3053      ; [.31A0.0020.0011.3053] # HIRAGANA LETTER KO
-3054      ; [.31A0.0020.0011.3053][.0000.014E.0002.3099] # HIRAGANA LETTER GO
-3055      ; [.31A1.0020.0011.3055] # HIRAGANA LETTER SA
-3056      ; [.31A1.0020.0011.3055][.0000.014E.0002.3099] # HIRAGANA LETTER ZA
-3057      ; [.31A2.0020.0011.3057] # HIRAGANA LETTER SI
-3058      ; [.31A2.0020.0011.3057][.0000.014E.0002.3099] # HIRAGANA LETTER ZI
-3059      ; [.31A3.0020.0011.3059] # HIRAGANA LETTER SU
-305A      ; [.31A3.0020.0011.3059][.0000.014E.0002.3099] # HIRAGANA LETTER ZU
-305B      ; [.31A4.0020.0011.305B] # HIRAGANA LETTER SE
-305C      ; [.31A4.0020.0011.305B][.0000.014E.0002.3099] # HIRAGANA LETTER ZE
-305D      ; [.31A5.0020.0011.305D] # HIRAGANA LETTER SO
-305E      ; [.31A5.0020.0011.305D][.0000.014E.0002.3099] # HIRAGANA LETTER ZO
-305F      ; [.31A6.0020.0011.305F] # HIRAGANA LETTER TA
-3060      ; [.31A6.0020.0011.305F][.0000.014E.0002.3099] # HIRAGANA LETTER DA
-3061      ; [.31A7.0020.0011.3061] # HIRAGANA LETTER TI
-3062      ; [.31A7.0020.0011.3061][.0000.014E.0002.3099] # HIRAGANA LETTER DI
-3063      ; [.31A8.0020.000F.3063] # HIRAGANA LETTER SMALL TU
-3064      ; [.31A8.0020.0011.3064] # HIRAGANA LETTER TU
-3065      ; [.31A8.0020.0011.3064][.0000.014E.0002.3099] # HIRAGANA LETTER DU
-3066      ; [.31A9.0020.0011.3066] # HIRAGANA LETTER TE
-3067      ; [.31A9.0020.0011.3066][.0000.014E.0002.3099] # HIRAGANA LETTER DE
-3068      ; [.31AA.0020.0011.3068] # HIRAGANA LETTER TO
-3069      ; [.31AA.0020.0011.3068][.0000.014E.0002.3099] # HIRAGANA LETTER DO
-306A      ; [.31AB.0020.0011.306A] # HIRAGANA LETTER NA
-306B      ; [.31AC.0020.0011.306B] # HIRAGANA LETTER NI
-306C      ; [.31AD.0020.0011.306C] # HIRAGANA LETTER NU
-306D      ; [.31AE.0020.0011.306D] # HIRAGANA LETTER NE
-306E      ; [.31AF.0020.0011.306E] # HIRAGANA LETTER NO
-306F      ; [.31B0.0020.0011.306F] # HIRAGANA LETTER HA
-3070      ; [.31B0.0020.0011.306F][.0000.014E.0002.3099] # HIRAGANA LETTER BA
-3071      ; [.31B0.0020.0011.306F][.0000.014F.0002.309A] # HIRAGANA LETTER PA
-3072      ; [.31B1.0020.0011.3072] # HIRAGANA LETTER HI
-3073      ; [.31B1.0020.0011.3072][.0000.014E.0002.3099] # HIRAGANA LETTER BI
-3074      ; [.31B1.0020.0011.3072][.0000.014F.0002.309A] # HIRAGANA LETTER PI
-3075      ; [.31B2.0020.0011.3075] # HIRAGANA LETTER HU
-3076      ; [.31B2.0020.0011.3075][.0000.014E.0002.3099] # HIRAGANA LETTER BU
-3077      ; [.31B2.0020.0011.3075][.0000.014F.0002.309A] # HIRAGANA LETTER PU
-3078      ; [.31B3.0020.0011.3078] # HIRAGANA LETTER HE
-3079      ; [.31B3.0020.0011.3078][.0000.014E.0002.3099] # HIRAGANA LETTER BE
-307A      ; [.31B3.0020.0011.3078][.0000.014F.0002.309A] # HIRAGANA LETTER PE
-307B      ; [.31B4.0020.0011.307B] # HIRAGANA LETTER HO
-307C      ; [.31B4.0020.0011.307B][.0000.014E.0002.3099] # HIRAGANA LETTER BO
-307D      ; [.31B4.0020.0011.307B][.0000.014F.0002.309A] # HIRAGANA LETTER PO
-307E      ; [.31B5.0020.0011.307E] # HIRAGANA LETTER MA
-307F      ; [.31B6.0020.0011.307F] # HIRAGANA LETTER MI
-3080      ; [.31B7.0020.0011.3080] # HIRAGANA LETTER MU
-3081      ; [.31B8.0020.0011.3081] # HIRAGANA LETTER ME
-3082      ; [.31B9.0020.0011.3082] # HIRAGANA LETTER MO
-3083      ; [.31BA.0020.000F.3083] # HIRAGANA LETTER SMALL YA
-3084      ; [.31BA.0020.0011.3084] # HIRAGANA LETTER YA
-3085      ; [.31BB.0020.000F.3085] # HIRAGANA LETTER SMALL YU
-3086      ; [.31BB.0020.0011.3086] # HIRAGANA LETTER YU
-3087      ; [.31BD.0020.000F.3087] # HIRAGANA LETTER SMALL YO
-3088      ; [.31BD.0020.0011.3088] # HIRAGANA LETTER YO
-3089      ; [.31BE.0020.0011.3089] # HIRAGANA LETTER RA
-308A      ; [.31BF.0020.0011.308A] # HIRAGANA LETTER RI
-308B      ; [.31C0.0020.0011.308B] # HIRAGANA LETTER RU
-308C      ; [.31C1.0020.0011.308C] # HIRAGANA LETTER RE
-308D      ; [.31C2.0020.0011.308D] # HIRAGANA LETTER RO
-308E      ; [.31C3.0020.000F.308E] # HIRAGANA LETTER SMALL WA
-308F      ; [.31C3.0020.0011.308F] # HIRAGANA LETTER WA
-3090      ; [.31C4.0020.0011.3090] # HIRAGANA LETTER WI
-3091      ; [.31C5.0020.0011.3091] # HIRAGANA LETTER WE
-3092      ; [.31C6.0020.0011.3092] # HIRAGANA LETTER WO
-3093      ; [.31C7.0020.0011.3093] # HIRAGANA LETTER N
-3094      ; [.3198.0020.0011.3046][.0000.014E.0002.3099] # HIRAGANA LETTER VU
-3095      ; [.319C.0020.000F.3095] # HIRAGANA LETTER SMALL KA
-3096      ; [.319F.0020.000F.3096] # HIRAGANA LETTER SMALL KE
+   entry => <<'ENTRY', # for DUCET v6.2.0
+3041      ; [.32BB.0020.000F.3041] # HIRAGANA LETTER SMALL A
+3042      ; [.32BB.0020.0011.3042] # HIRAGANA LETTER A
+3043      ; [.32BC.0020.000F.3043] # HIRAGANA LETTER SMALL I
+3044      ; [.32BC.0020.0011.3044] # HIRAGANA LETTER I
+3045      ; [.32BD.0020.000F.3045] # HIRAGANA LETTER SMALL U
+3046      ; [.32BD.0020.0011.3046] # HIRAGANA LETTER U
+3047      ; [.32BF.0020.000F.3047] # HIRAGANA LETTER SMALL E
+3048      ; [.32BF.0020.0011.3048] # HIRAGANA LETTER E
+3049      ; [.32C0.0020.000F.3049] # HIRAGANA LETTER SMALL O
+304A      ; [.32C0.0020.0011.304A] # HIRAGANA LETTER O
+304B      ; [.32C1.0020.0011.304B] # HIRAGANA LETTER KA
+304C      ; [.32C1.0020.0011.304B][.0000.0128.0002.3099] # HIRAGANA LETTER GA
+304D      ; [.32C2.0020.0011.304D] # HIRAGANA LETTER KI
+304E      ; [.32C2.0020.0011.304D][.0000.0128.0002.3099] # HIRAGANA LETTER GI
+304F      ; [.32C3.0020.0011.304F] # HIRAGANA LETTER KU
+3050      ; [.32C3.0020.0011.304F][.0000.0128.0002.3099] # HIRAGANA LETTER GU
+3051      ; [.32C4.0020.0011.3051] # HIRAGANA LETTER KE
+3052      ; [.32C4.0020.0011.3051][.0000.0128.0002.3099] # HIRAGANA LETTER GE
+3053      ; [.32C5.0020.0011.3053] # HIRAGANA LETTER KO
+3054      ; [.32C5.0020.0011.3053][.0000.0128.0002.3099] # HIRAGANA LETTER GO
+3055      ; [.32C6.0020.0011.3055] # HIRAGANA LETTER SA
+3056      ; [.32C6.0020.0011.3055][.0000.0128.0002.3099] # HIRAGANA LETTER ZA
+3057      ; [.32C7.0020.0011.3057] # HIRAGANA LETTER SI
+3058      ; [.32C7.0020.0011.3057][.0000.0128.0002.3099] # HIRAGANA LETTER ZI
+3059      ; [.32C8.0020.0011.3059] # HIRAGANA LETTER SU
+305A      ; [.32C8.0020.0011.3059][.0000.0128.0002.3099] # HIRAGANA LETTER ZU
+305B      ; [.32C9.0020.0011.305B] # HIRAGANA LETTER SE
+305C      ; [.32C9.0020.0011.305B][.0000.0128.0002.3099] # HIRAGANA LETTER ZE
+305D      ; [.32CA.0020.0011.305D] # HIRAGANA LETTER SO
+305E      ; [.32CA.0020.0011.305D][.0000.0128.0002.3099] # HIRAGANA LETTER ZO
+305F      ; [.32CB.0020.0011.305F] # HIRAGANA LETTER TA
+3060      ; [.32CB.0020.0011.305F][.0000.0128.0002.3099] # HIRAGANA LETTER DA
+3061      ; [.32CC.0020.0011.3061] # HIRAGANA LETTER TI
+3062      ; [.32CC.0020.0011.3061][.0000.0128.0002.3099] # HIRAGANA LETTER DI
+3063      ; [.32CD.0020.000F.3063] # HIRAGANA LETTER SMALL TU
+3064      ; [.32CD.0020.0011.3064] # HIRAGANA LETTER TU
+3065      ; [.32CD.0020.0011.3064][.0000.0128.0002.3099] # HIRAGANA LETTER DU
+3066      ; [.32CE.0020.0011.3066] # HIRAGANA LETTER TE
+3067      ; [.32CE.0020.0011.3066][.0000.0128.0002.3099] # HIRAGANA LETTER DE
+3068      ; [.32CF.0020.0011.3068] # HIRAGANA LETTER TO
+3069      ; [.32CF.0020.0011.3068][.0000.0128.0002.3099] # HIRAGANA LETTER DO
+306A      ; [.32D0.0020.0011.306A] # HIRAGANA LETTER NA
+306B      ; [.32D1.0020.0011.306B] # HIRAGANA LETTER NI
+306C      ; [.32D2.0020.0011.306C] # HIRAGANA LETTER NU
+306D      ; [.32D3.0020.0011.306D] # HIRAGANA LETTER NE
+306E      ; [.32D4.0020.0011.306E] # HIRAGANA LETTER NO
+306F      ; [.32D5.0020.0011.306F] # HIRAGANA LETTER HA
+3070      ; [.32D5.0020.0011.306F][.0000.0128.0002.3099] # HIRAGANA LETTER BA
+3071      ; [.32D5.0020.0011.306F][.0000.0129.0002.309A] # HIRAGANA LETTER PA
+3072      ; [.32D6.0020.0011.3072] # HIRAGANA LETTER HI
+3073      ; [.32D6.0020.0011.3072][.0000.0128.0002.3099] # HIRAGANA LETTER BI
+3074      ; [.32D6.0020.0011.3072][.0000.0129.0002.309A] # HIRAGANA LETTER PI
+3075      ; [.32D7.0020.0011.3075] # HIRAGANA LETTER HU
+3076      ; [.32D7.0020.0011.3075][.0000.0128.0002.3099] # HIRAGANA LETTER BU
+3077      ; [.32D7.0020.0011.3075][.0000.0129.0002.309A] # HIRAGANA LETTER PU
+3078      ; [.32D8.0020.0011.3078] # HIRAGANA LETTER HE
+3079      ; [.32D8.0020.0011.3078][.0000.0128.0002.3099] # HIRAGANA LETTER BE
+307A      ; [.32D8.0020.0011.3078][.0000.0129.0002.309A] # HIRAGANA LETTER PE
+307B      ; [.32D9.0020.0011.307B] # HIRAGANA LETTER HO
+307C      ; [.32D9.0020.0011.307B][.0000.0128.0002.3099] # HIRAGANA LETTER BO
+307D      ; [.32D9.0020.0011.307B][.0000.0129.0002.309A] # HIRAGANA LETTER PO
+307E      ; [.32DA.0020.0011.307E] # HIRAGANA LETTER MA
+307F      ; [.32DB.0020.0011.307F] # HIRAGANA LETTER MI
+3080      ; [.32DC.0020.0011.3080] # HIRAGANA LETTER MU
+3081      ; [.32DD.0020.0011.3081] # HIRAGANA LETTER ME
+3082      ; [.32DE.0020.0011.3082] # HIRAGANA LETTER MO
+3083      ; [.32DF.0020.000F.3083] # HIRAGANA LETTER SMALL YA
+3084      ; [.32DF.0020.0011.3084] # HIRAGANA LETTER YA
+3085      ; [.32E0.0020.000F.3085] # HIRAGANA LETTER SMALL YU
+3086      ; [.32E0.0020.0011.3086] # HIRAGANA LETTER YU
+3087      ; [.32E2.0020.000F.3087] # HIRAGANA LETTER SMALL YO
+3088      ; [.32E2.0020.0011.3088] # HIRAGANA LETTER YO
+3089      ; [.32E3.0020.0011.3089] # HIRAGANA LETTER RA
+308A      ; [.32E4.0020.0011.308A] # HIRAGANA LETTER RI
+308B      ; [.32E5.0020.0011.308B] # HIRAGANA LETTER RU
+308C      ; [.32E6.0020.0011.308C] # HIRAGANA LETTER RE
+308D      ; [.32E7.0020.0011.308D] # HIRAGANA LETTER RO
+308E      ; [.32E8.0020.000F.308E] # HIRAGANA LETTER SMALL WA
+308F      ; [.32E8.0020.0011.308F] # HIRAGANA LETTER WA
+3090      ; [.32E9.0020.0011.3090] # HIRAGANA LETTER WI
+3091      ; [.32EA.0020.0011.3091] # HIRAGANA LETTER WE
+3092      ; [.32EB.0020.0011.3092] # HIRAGANA LETTER WO
+3093      ; [.32EC.0020.0011.3093] # HIRAGANA LETTER N
+3094      ; [.32BD.0020.0011.3046][.0000.0128.0002.3099] # HIRAGANA LETTER VU
+3095      ; [.32C1.0020.000F.3095] # HIRAGANA LETTER SMALL KA
+3096      ; [.32C4.0020.000F.3096] # HIRAGANA LETTER SMALL KE
+309D      ; [.15BB.0020.0002.309D] # HIRAGANA ITERATION MARK
+309E      ; [.15BB.0020.0002.309D][.0000.0128.0002.3099] # HIRAGANA VOICED ITERATION MARK
 3000      ; [*020A.0020.0002.0020] # IDEOGRAPHIC SPACE
-FF01      ; [*027B.0020.0002.0021] # FULLWIDTH EXCLAMATION MARK
-FF02      ; [*0304.0020.0002.0022] # FULLWIDTH QUOTATION MARK
-FF03      ; [*0371.0020.0002.0023] # FULLWIDTH NUMBER SIGN
-FF04      ; [.1574.0020.0002.0024] # FULLWIDTH DOLLAR SIGN
-FF05      ; [*0372.0020.0002.0025] # FULLWIDTH PERCENT SIGN
-FF06      ; [*036E.0020.0002.0026] # FULLWIDTH AMPERSAND
-FF07      ; [*02FD.0020.0002.0027] # FULLWIDTH APOSTROPHE
-FF08      ; [*030E.0020.0002.0028] # FULLWIDTH LEFT PARENTHESIS
-FF09      ; [*030F.0020.0002.0029] # FULLWIDTH RIGHT PARENTHESIS
-FF0A      ; [*0366.0020.0002.002A] # FULLWIDTH ASTERISK
-FF0B      ; [*056A.0020.0002.002B] # FULLWIDTH PLUS SIGN
-FF0C      ; [*0241.0020.0002.002C] # FULLWIDTH COMMA
-FF0D      ; [*0230.0020.0002.002D] # FULLWIDTH HYPHEN-MINUS
-FF0E      ; [*028E.0020.0002.002E] # FULLWIDTH FULL STOP
-FF0F      ; [*036B.0020.0002.002F] # FULLWIDTH SOLIDUS
-FF10      ; [.1599.0020.0002.0030] # FULLWIDTH DIGIT ZERO
-FF11      ; [.159A.0020.0002.0031] # FULLWIDTH DIGIT ONE
-FF12      ; [.159B.0020.0002.0032] # FULLWIDTH DIGIT TWO
-FF13      ; [.159C.0020.0002.0033] # FULLWIDTH DIGIT THREE
-FF14      ; [.159D.0020.0002.0034] # FULLWIDTH DIGIT FOUR
-FF15      ; [.159E.0020.0002.0035] # FULLWIDTH DIGIT FIVE
-FF16      ; [.159F.0020.0002.0036] # FULLWIDTH DIGIT SIX
-FF17      ; [.15A0.0020.0002.0037] # FULLWIDTH DIGIT SEVEN
-FF18      ; [.15A1.0020.0002.0038] # FULLWIDTH DIGIT EIGHT
-FF19      ; [.15A2.0020.0002.0039] # FULLWIDTH DIGIT NINE
-FF1A      ; [*0254.0020.0002.003A] # FULLWIDTH COLON
-FF1B      ; [*0250.0020.0002.003B] # FULLWIDTH SEMICOLON
-FF1C      ; [*056E.0020.0002.003C] # FULLWIDTH LESS-THAN SIGN
-FF1D      ; [*056F.0020.0002.003D] # FULLWIDTH EQUALS SIGN
-FF1E      ; [*0570.0020.0002.003E] # FULLWIDTH GREATER-THAN SIGN
-FF1F      ; [*0280.0020.0002.003F] # FULLWIDTH QUESTION MARK
-FF20      ; [*0365.0020.0002.0040] # FULLWIDTH COMMERCIAL AT
-FF21      ; [.15A3.0020.0008.0041] # FULLWIDTH LATIN CAPITAL LETTER A
-FF22      ; [.15B9.0020.0008.0042] # FULLWIDTH LATIN CAPITAL LETTER B
-FF23      ; [.15D1.0020.0008.0043] # FULLWIDTH LATIN CAPITAL LETTER C
-FF24      ; [.15E4.0020.0008.0044] # FULLWIDTH LATIN CAPITAL LETTER D
-FF25      ; [.15FF.0020.0008.0045] # FULLWIDTH LATIN CAPITAL LETTER E
-FF26      ; [.1637.0020.0008.0046] # FULLWIDTH LATIN CAPITAL LETTER F
-FF27      ; [.1644.0020.0008.0047] # FULLWIDTH LATIN CAPITAL LETTER G
-FF28      ; [.1667.0020.0008.0048] # FULLWIDTH LATIN CAPITAL LETTER H
-FF29      ; [.1680.0020.0008.0049] # FULLWIDTH LATIN CAPITAL LETTER I
-FF2A      ; [.1699.0020.0008.004A] # FULLWIDTH LATIN CAPITAL LETTER J
-FF2B      ; [.16B2.0020.0008.004B] # FULLWIDTH LATIN CAPITAL LETTER K
-FF2C      ; [.16C4.0020.0008.004C] # FULLWIDTH LATIN CAPITAL LETTER L
-FF2D      ; [.16F4.0020.0008.004D] # FULLWIDTH LATIN CAPITAL LETTER M
-FF2E      ; [.1702.0020.0008.004E] # FULLWIDTH LATIN CAPITAL LETTER N
-FF2F      ; [.1724.0020.0008.004F] # FULLWIDTH LATIN CAPITAL LETTER O
-FF30      ; [.1749.0020.0008.0050] # FULLWIDTH LATIN CAPITAL LETTER P
-FF31      ; [.175E.0020.0008.0051] # FULLWIDTH LATIN CAPITAL LETTER Q
-FF32      ; [.1770.0020.0008.0052] # FULLWIDTH LATIN CAPITAL LETTER R
-FF33      ; [.17A6.0020.0008.0053] # FULLWIDTH LATIN CAPITAL LETTER S
-FF34      ; [.17C9.0020.0008.0054] # FULLWIDTH LATIN CAPITAL LETTER T
-FF35      ; [.17E9.0020.0008.0055] # FULLWIDTH LATIN CAPITAL LETTER U
-FF36      ; [.1812.0020.0008.0056] # FULLWIDTH LATIN CAPITAL LETTER V
-FF37      ; [.1824.0020.0008.0057] # FULLWIDTH LATIN CAPITAL LETTER W
-FF38      ; [.182E.0020.0008.0058] # FULLWIDTH LATIN CAPITAL LETTER X
-FF39      ; [.1833.0020.0008.0059] # FULLWIDTH LATIN CAPITAL LETTER Y
-FF3A      ; [.1844.0020.0008.005A] # FULLWIDTH LATIN CAPITAL LETTER Z
-FF3B      ; [*0310.0020.0002.005B] # FULLWIDTH LEFT SQUARE BRACKET
-FF3C      ; [*02FD.0020.0002.0027] # FULLWIDTH REVERSE SOLIDUS
-FF3D      ; [*0311.0020.0002.005D] # FULLWIDTH RIGHT SQUARE BRACKET
-FF3E      ; [*020F.0020.0002.005E] # FULLWIDTH CIRCUMFLEX ACCENT
-FF3F      ; [*021B.0020.0002.005F] # FULLWIDTH LOW LINE
-FF40      ; [*020C.0020.0002.0060] # FULLWIDTH GRAVE ACCENT
-FF41      ; [.15A3.0020.0002.0061] # FULLWIDTH LATIN SMALL LETTER A
-FF42      ; [.15B9.0020.0002.0062] # FULLWIDTH LATIN SMALL LETTER B
-FF43      ; [.15D1.0020.0002.0063] # FULLWIDTH LATIN SMALL LETTER C
-FF44      ; [.15E4.0020.0002.0064] # FULLWIDTH LATIN SMALL LETTER D
-FF45      ; [.15FF.0020.0002.0065] # FULLWIDTH LATIN SMALL LETTER E
-FF46      ; [.1637.0020.0002.0066] # FULLWIDTH LATIN SMALL LETTER F
-FF47      ; [.1644.0020.0002.0067] # FULLWIDTH LATIN SMALL LETTER G
-FF48      ; [.1667.0020.0002.0068] # FULLWIDTH LATIN SMALL LETTER H
-FF49      ; [.1680.0020.0002.0069] # FULLWIDTH LATIN SMALL LETTER I
-FF4A      ; [.1699.0020.0002.006A] # FULLWIDTH LATIN SMALL LETTER J
-FF4B      ; [.16B2.0020.0002.006B] # FULLWIDTH LATIN SMALL LETTER K
-FF4C      ; [.16C4.0020.0002.006C] # FULLWIDTH LATIN SMALL LETTER L
-FF4D      ; [.16F4.0020.0002.006D] # FULLWIDTH LATIN SMALL LETTER M
-FF4E      ; [.1702.0020.0002.006E] # FULLWIDTH LATIN SMALL LETTER N
-FF4F      ; [.1724.0020.0002.006F] # FULLWIDTH LATIN SMALL LETTER O
-FF50      ; [.1749.0020.0002.0070] # FULLWIDTH LATIN SMALL LETTER P
-FF51      ; [.175E.0020.0002.0071] # FULLWIDTH LATIN SMALL LETTER Q
-FF52      ; [.1770.0020.0002.0072] # FULLWIDTH LATIN SMALL LETTER R
-FF53      ; [.17A6.0020.0002.0073] # FULLWIDTH LATIN SMALL LETTER S
-FF54      ; [.17C9.0020.0002.0074] # FULLWIDTH LATIN SMALL LETTER T
-FF55      ; [.17E9.0020.0002.0075] # FULLWIDTH LATIN SMALL LETTER U
-FF56      ; [.1812.0020.0002.0076] # FULLWIDTH LATIN SMALL LETTER V
-FF57      ; [.1824.0020.0002.0077] # FULLWIDTH LATIN SMALL LETTER W
-FF58      ; [.182E.0020.0002.0078] # FULLWIDTH LATIN SMALL LETTER X
-FF59      ; [.1833.0020.0002.0079] # FULLWIDTH LATIN SMALL LETTER Y
-FF5A      ; [.1844.0020.0002.007A] # FULLWIDTH LATIN SMALL LETTER Z
-FF5B      ; [*0312.0020.0002.007B] # FULLWIDTH LEFT CURLY BRACKET
-FF5C      ; [*0572.0020.0002.007C] # FULLWIDTH VERTICAL LINE
-FF5D      ; [*0313.0020.0002.007D] # FULLWIDTH RIGHT CURLY BRACKET
-FF5E      ; [*0575.0020.0002.007E] # FULLWIDTH TILDE
-FF5F      ; [*0320.0020.0002.2985] # FULLWIDTH LEFT WHITE PARENTHESIS
-FF60      ; [*0321.0020.0002.2986] # FULLWIDTH RIGHT WHITE PARENTHESIS
-FF61      ; [*029E.0020.0002.3002] # HALFWIDTH IDEOGRAPHIC FULL STOP
-FF62      ; [*0350.0020.0002.300C] # HALFWIDTH LEFT CORNER BRACKET
-FF63      ; [*0351.0020.0002.300D] # HALFWIDTH RIGHT CORNER BRACKET
-FF64      ; [*024D.0020.0002.3001] # HALFWIDTH IDEOGRAPHIC COMMA
-FF65      ; [*0240.0020.0002.30FB] # HALFWIDTH KATAKANA MIDDLE DOT
-FF66      ; [.31C6.0020.0011.30F2] # HALFWIDTH KATAKANA LETTER WO
-FF67      ; [.3196.0020.000F.30A1] # HALFWIDTH KATAKANA LETTER SMALL A
-FF68      ; [.3197.0020.000F.30A3] # HALFWIDTH KATAKANA LETTER SMALL I
-FF69      ; [.3198.0020.000F.30A5] # HALFWIDTH KATAKANA LETTER SMALL U
-FF6A      ; [.319A.0020.000F.30A7] # HALFWIDTH KATAKANA LETTER SMALL E
-FF6B      ; [.319B.0020.000F.30A9] # HALFWIDTH KATAKANA LETTER SMALL O
-FF6C      ; [.31BA.0020.000F.30E3] # HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D      ; [.31BB.0020.000F.30E5] # HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E      ; [.31BD.0020.000F.30E7] # HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F      ; [.31A8.0020.000F.30C3] # HALFWIDTH KATAKANA LETTER SMALL TU
-FF70      ; [.1570.0020.0002.30FC] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF71      ; [.3196.0020.0011.30A2] # HALFWIDTH KATAKANA LETTER A
-FF72      ; [.3197.0020.0011.30A4] # HALFWIDTH KATAKANA LETTER I
-FF73      ; [.3198.0020.0011.30A6] # HALFWIDTH KATAKANA LETTER U
-FF74      ; [.319A.0020.0011.30A8] # HALFWIDTH KATAKANA LETTER E
-FF75      ; [.319B.0020.0011.30AA] # HALFWIDTH KATAKANA LETTER O
-FF76      ; [.319C.0020.0011.30AB] # HALFWIDTH KATAKANA LETTER KA
-FF77      ; [.319D.0020.0011.30AD] # HALFWIDTH KATAKANA LETTER KI
-FF78      ; [.319E.0020.0011.30AF] # HALFWIDTH KATAKANA LETTER KU
-FF79      ; [.319F.0020.0011.30B1] # HALFWIDTH KATAKANA LETTER KE
-FF7A      ; [.31A0.0020.0011.30B3] # HALFWIDTH KATAKANA LETTER KO
-FF7B      ; [.31A1.0020.0011.30B5] # HALFWIDTH KATAKANA LETTER SA
-FF7C      ; [.31A2.0020.0011.30B7] # HALFWIDTH KATAKANA LETTER SI
-FF7D      ; [.31A3.0020.0011.30B9] # HALFWIDTH KATAKANA LETTER SU
-FF7E      ; [.31A4.0020.0011.30BB] # HALFWIDTH KATAKANA LETTER SE
-FF7F      ; [.31A5.0020.0011.30BD] # HALFWIDTH KATAKANA LETTER SO
-FF80      ; [.31A6.0020.0011.30BF] # HALFWIDTH KATAKANA LETTER TA
-FF81      ; [.31A7.0020.0011.30C1] # HALFWIDTH KATAKANA LETTER TI
-FF82      ; [.31A8.0020.0011.30C4] # HALFWIDTH KATAKANA LETTER TU
-FF83      ; [.31A9.0020.0011.30C6] # HALFWIDTH KATAKANA LETTER TE
-FF84      ; [.31AA.0020.0011.30C8] # HALFWIDTH KATAKANA LETTER TO
-FF85      ; [.31AB.0020.0011.30CA] # HALFWIDTH KATAKANA LETTER NA
-FF86      ; [.31AC.0020.0011.30CB] # HALFWIDTH KATAKANA LETTER NI
-FF87      ; [.31AD.0020.0011.30CC] # HALFWIDTH KATAKANA LETTER NU
-FF88      ; [.31AE.0020.0011.30CD] # HALFWIDTH KATAKANA LETTER NE
-FF89      ; [.31AF.0020.0011.30CE] # HALFWIDTH KATAKANA LETTER NO
-FF8A      ; [.31B0.0020.0011.30CF] # HALFWIDTH KATAKANA LETTER HA
-FF8B      ; [.31B1.0020.0011.30D2] # HALFWIDTH KATAKANA LETTER HI
-FF8C      ; [.31B2.0020.0011.30D5] # HALFWIDTH KATAKANA LETTER HU
-FF8D      ; [.31B3.0020.0011.30D8] # HALFWIDTH KATAKANA LETTER HE
-FF8E      ; [.31B4.0020.0011.30DB] # HALFWIDTH KATAKANA LETTER HO
-FF8F      ; [.31B5.0020.0011.30DE] # HALFWIDTH KATAKANA LETTER MA
-FF90      ; [.31B6.0020.0011.30DF] # HALFWIDTH KATAKANA LETTER MI
-FF91      ; [.31B7.0020.0011.30E0] # HALFWIDTH KATAKANA LETTER MU
-FF92      ; [.31B8.0020.0011.30E1] # HALFWIDTH KATAKANA LETTER ME
-FF93      ; [.31B9.0020.0011.30E2] # HALFWIDTH KATAKANA LETTER MO
-FF94      ; [.31BA.0020.0011.30E4] # HALFWIDTH KATAKANA LETTER YA
-FF95      ; [.31BB.0020.0011.30E6] # HALFWIDTH KATAKANA LETTER YU
-FF96      ; [.31BD.0020.0011.30E8] # HALFWIDTH KATAKANA LETTER YO
-FF97      ; [.31BE.0020.0011.30E9] # HALFWIDTH KATAKANA LETTER RA
-FF98      ; [.31BF.0020.0011.30EA] # HALFWIDTH KATAKANA LETTER RI
-FF99      ; [.31C0.0020.0011.30EB] # HALFWIDTH KATAKANA LETTER RU
-FF9A      ; [.31C1.0020.0011.30EC] # HALFWIDTH KATAKANA LETTER RE
-FF9B      ; [.31C2.0020.0011.30ED] # HALFWIDTH KATAKANA LETTER RO
-FF9C      ; [.31C3.0020.0011.30EF] # HALFWIDTH KATAKANA LETTER WA
-FF9D      ; [.31C7.0020.0011.30F3] # HALFWIDTH KATAKANA LETTER N
-FF9E      ; [.0000.014E.0002.3099] # HALFWIDTH KATAKANA VOICED SOUND MARK
-FF9F      ; [.0000.014F.0002.309A] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
-FFE0      ; [.1573.0020.0002.00A2] # FULLWIDTH CENT SIGN
-FFE1      ; [.1575.0020.0002.00A3] # FULLWIDTH POUND SIGN
-FFE2      ; [*0571.0020.0002.00AC] # FULLWIDTH NOT SIGN
+FF01      ; [*025E.0020.0002.0021] # FULLWIDTH EXCLAMATION MARK
+FF02      ; [*02F1.0020.0002.0022] # FULLWIDTH QUOTATION MARK
+FF03      ; [*0376.0020.0002.0023] # FULLWIDTH NUMBER SIGN
+FF04      ; [.15BE.0020.0002.0024] # FULLWIDTH DOLLAR SIGN
+FF05      ; [*0377.0020.0002.0025] # FULLWIDTH PERCENT SIGN
+FF06      ; [*0374.0020.0002.0026] # FULLWIDTH AMPERSAND
+FF07      ; [*02EA.0020.0002.0027] # FULLWIDTH APOSTROPHE
+FF08      ; [*02FB.0020.0002.0028] # FULLWIDTH LEFT PARENTHESIS
+FF09      ; [*02FC.0020.0002.0029] # FULLWIDTH RIGHT PARENTHESIS
+FF0A      ; [*036D.0020.0002.002A] # FULLWIDTH ASTERISK
+FF0B      ; [*059C.0020.0002.002B] # FULLWIDTH PLUS SIGN
+FF0C      ; [*0221.0020.0002.002C] # FULLWIDTH COMMA
+FF0D      ; [*020E.0020.0002.002D] # FULLWIDTH HYPHEN-MINUS
+FF0E      ; [*0273.0020.0002.002E] # FULLWIDTH FULL STOP
+FF0F      ; [*0372.0020.0002.002F] # FULLWIDTH SOLIDUS
+FF10      ; [.15E5.0020.0002.0030] # FULLWIDTH DIGIT ZERO
+FF11      ; [.15E6.0020.0002.0031] # FULLWIDTH DIGIT ONE
+FF12      ; [.15E7.0020.0002.0032] # FULLWIDTH DIGIT TWO
+FF13      ; [.15E8.0020.0002.0033] # FULLWIDTH DIGIT THREE
+FF14      ; [.15E9.0020.0002.0034] # FULLWIDTH DIGIT FOUR
+FF15      ; [.15EA.0020.0002.0035] # FULLWIDTH DIGIT FIVE
+FF16      ; [.15EB.0020.0002.0036] # FULLWIDTH DIGIT SIX
+FF17      ; [.15EC.0020.0002.0037] # FULLWIDTH DIGIT SEVEN
+FF18      ; [.15ED.0020.0002.0038] # FULLWIDTH DIGIT EIGHT
+FF19      ; [.15EE.0020.0002.0039] # FULLWIDTH DIGIT NINE
+FF1A      ; [*0237.0020.0002.003A] # FULLWIDTH COLON
+FF1B      ; [*0232.0020.0002.003B] # FULLWIDTH SEMICOLON
+FF1C      ; [*05A0.0020.0002.003C] # FULLWIDTH LESS-THAN SIGN
+FF1D      ; [*05A1.0020.0002.003D] # FULLWIDTH EQUALS SIGN
+FF1E      ; [*05A2.0020.0002.003E] # FULLWIDTH GREATER-THAN SIGN
+FF1F      ; [*0263.0020.0002.003F] # FULLWIDTH QUESTION MARK
+FF20      ; [*036C.0020.0002.0040] # FULLWIDTH COMMERCIAL AT
+FF21      ; [.15EF.0020.0008.0041] # FULLWIDTH LATIN CAPITAL LETTER A
+FF22      ; [.1605.0020.0008.0042] # FULLWIDTH LATIN CAPITAL LETTER B
+FF23      ; [.161D.0020.0008.0043] # FULLWIDTH LATIN CAPITAL LETTER C
+FF24      ; [.1631.0020.0008.0044] # FULLWIDTH LATIN CAPITAL LETTER D
+FF25      ; [.164C.0020.0008.0045] # FULLWIDTH LATIN CAPITAL LETTER E
+FF26      ; [.1684.0020.0008.0046] # FULLWIDTH LATIN CAPITAL LETTER F
+FF27      ; [.1691.0020.0008.0047] # FULLWIDTH LATIN CAPITAL LETTER G
+FF28      ; [.16B4.0020.0008.0048] # FULLWIDTH LATIN CAPITAL LETTER H
+FF29      ; [.16CD.0020.0008.0049] # FULLWIDTH LATIN CAPITAL LETTER I
+FF2A      ; [.16E6.0020.0008.004A] # FULLWIDTH LATIN CAPITAL LETTER J
+FF2B      ; [.16FF.0020.0008.004B] # FULLWIDTH LATIN CAPITAL LETTER K
+FF2C      ; [.1711.0020.0008.004C] # FULLWIDTH LATIN CAPITAL LETTER L
+FF2D      ; [.1741.0020.0008.004D] # FULLWIDTH LATIN CAPITAL LETTER M
+FF2E      ; [.174F.0020.0008.004E] # FULLWIDTH LATIN CAPITAL LETTER N
+FF2F      ; [.1771.0020.0008.004F] # FULLWIDTH LATIN CAPITAL LETTER O
+FF30      ; [.1796.0020.0008.0050] # FULLWIDTH LATIN CAPITAL LETTER P
+FF31      ; [.17AB.0020.0008.0051] # FULLWIDTH LATIN CAPITAL LETTER Q
+FF32      ; [.17BD.0020.0008.0052] # FULLWIDTH LATIN CAPITAL LETTER R
+FF33      ; [.17F3.0020.0008.0053] # FULLWIDTH LATIN CAPITAL LETTER S
+FF34      ; [.1816.0020.0008.0054] # FULLWIDTH LATIN CAPITAL LETTER T
+FF35      ; [.1836.0020.0008.0055] # FULLWIDTH LATIN CAPITAL LETTER U
+FF36      ; [.185F.0020.0008.0056] # FULLWIDTH LATIN CAPITAL LETTER V
+FF37      ; [.1871.0020.0008.0057] # FULLWIDTH LATIN CAPITAL LETTER W
+FF38      ; [.187B.0020.0008.0058] # FULLWIDTH LATIN CAPITAL LETTER X
+FF39      ; [.1880.0020.0008.0059] # FULLWIDTH LATIN CAPITAL LETTER Y
+FF3A      ; [.1895.0020.0008.005A] # FULLWIDTH LATIN CAPITAL LETTER Z
+FF3B      ; [*02FD.0020.0002.005B] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C      ; [*02EA.0020.0002.0027] # FULLWIDTH REVERSE SOLIDUS
+FF3D      ; [*02FE.0020.0002.005D] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E      ; [*0412.0020.0002.005E] # FULLWIDTH CIRCUMFLEX ACCENT
+FF3F      ; [*020C.0020.0002.005F] # FULLWIDTH LOW LINE
+FF40      ; [*040F.0020.0002.0060] # FULLWIDTH GRAVE ACCENT
+FF41      ; [.15EF.0020.0002.0061] # FULLWIDTH LATIN SMALL LETTER A
+FF42      ; [.1605.0020.0002.0062] # FULLWIDTH LATIN SMALL LETTER B
+FF43      ; [.161D.0020.0002.0063] # FULLWIDTH LATIN SMALL LETTER C
+FF44      ; [.1631.0020.0002.0064] # FULLWIDTH LATIN SMALL LETTER D
+FF45      ; [.164C.0020.0002.0065] # FULLWIDTH LATIN SMALL LETTER E
+FF46      ; [.1684.0020.0002.0066] # FULLWIDTH LATIN SMALL LETTER F
+FF47      ; [.1691.0020.0002.0067] # FULLWIDTH LATIN SMALL LETTER G
+FF48      ; [.16B4.0020.0002.0068] # FULLWIDTH LATIN SMALL LETTER H
+FF49      ; [.16CD.0020.0002.0069] # FULLWIDTH LATIN SMALL LETTER I
+FF4A      ; [.16E6.0020.0002.006A] # FULLWIDTH LATIN SMALL LETTER J
+FF4B      ; [.16FF.0020.0002.006B] # FULLWIDTH LATIN SMALL LETTER K
+FF4C      ; [.1711.0020.0002.006C] # FULLWIDTH LATIN SMALL LETTER L
+FF4D      ; [.1741.0020.0002.006D] # FULLWIDTH LATIN SMALL LETTER M
+FF4E      ; [.174F.0020.0002.006E] # FULLWIDTH LATIN SMALL LETTER N
+FF4F      ; [.1771.0020.0002.006F] # FULLWIDTH LATIN SMALL LETTER O
+FF50      ; [.1796.0020.0002.0070] # FULLWIDTH LATIN SMALL LETTER P
+FF51      ; [.17AB.0020.0002.0071] # FULLWIDTH LATIN SMALL LETTER Q
+FF52      ; [.17BD.0020.0002.0072] # FULLWIDTH LATIN SMALL LETTER R
+FF53      ; [.17F3.0020.0002.0073] # FULLWIDTH LATIN SMALL LETTER S
+FF54      ; [.1816.0020.0002.0074] # FULLWIDTH LATIN SMALL LETTER T
+FF55      ; [.1836.0020.0002.0075] # FULLWIDTH LATIN SMALL LETTER U
+FF56      ; [.185F.0020.0002.0076] # FULLWIDTH LATIN SMALL LETTER V
+FF57      ; [.1871.0020.0002.0077] # FULLWIDTH LATIN SMALL LETTER W
+FF58      ; [.187B.0020.0002.0078] # FULLWIDTH LATIN SMALL LETTER X
+FF59      ; [.1880.0020.0002.0079] # FULLWIDTH LATIN SMALL LETTER Y
+FF5A      ; [.1895.0020.0002.007A] # FULLWIDTH LATIN SMALL LETTER Z
+FF5B      ; [*02FF.0020.0002.007B] # FULLWIDTH LEFT CURLY BRACKET
+FF5C      ; [*05A4.0020.0002.007C] # FULLWIDTH VERTICAL LINE
+FF5D      ; [*0300.0020.0002.007D] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E      ; [*05A6.0020.0002.007E] # FULLWIDTH TILDE
+FF5F      ; [*030D.0020.0002.2985] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60      ; [*030E.0020.0002.2986] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61      ; [*0283.0020.0002.3002] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62      ; [*0353.0020.0002.300C] # HALFWIDTH LEFT CORNER BRACKET
+FF63      ; [*0354.0020.0002.300D] # HALFWIDTH RIGHT CORNER BRACKET
+FF64      ; [*022F.0020.0002.3001] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65      ; [*0220.0020.0002.30FB] # HALFWIDTH KATAKANA MIDDLE DOT
+FF66      ; [.32EB.0020.0011.30F2] # HALFWIDTH KATAKANA LETTER WO
+FF67      ; [.32BB.0020.000F.30A1] # HALFWIDTH KATAKANA LETTER SMALL A
+FF68      ; [.32BC.0020.000F.30A3] # HALFWIDTH KATAKANA LETTER SMALL I
+FF69      ; [.32BD.0020.000F.30A5] # HALFWIDTH KATAKANA LETTER SMALL U
+FF6A      ; [.32BF.0020.000F.30A7] # HALFWIDTH KATAKANA LETTER SMALL E
+FF6B      ; [.32C0.0020.000F.30A9] # HALFWIDTH KATAKANA LETTER SMALL O
+FF6C      ; [.32DF.0020.000F.30E3] # HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D      ; [.32E0.0020.000F.30E5] # HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E      ; [.32E2.0020.000F.30E7] # HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F      ; [.32CD.0020.000F.30C3] # HALFWIDTH KATAKANA LETTER SMALL TU
+FF70      ; [.15BA.0020.0002.30FC] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF71      ; [.32BB.0020.0011.30A2] # HALFWIDTH KATAKANA LETTER A
+FF72      ; [.32BC.0020.0011.30A4] # HALFWIDTH KATAKANA LETTER I
+FF73      ; [.32BD.0020.0011.30A6] # HALFWIDTH KATAKANA LETTER U
+FF74      ; [.32BF.0020.0011.30A8] # HALFWIDTH KATAKANA LETTER E
+FF75      ; [.32C0.0020.0011.30AA] # HALFWIDTH KATAKANA LETTER O
+FF76      ; [.32C1.0020.0011.30AB] # HALFWIDTH KATAKANA LETTER KA
+FF77      ; [.32C2.0020.0011.30AD] # HALFWIDTH KATAKANA LETTER KI
+FF78      ; [.32C3.0020.0011.30AF] # HALFWIDTH KATAKANA LETTER KU
+FF79      ; [.32C4.0020.0011.30B1] # HALFWIDTH KATAKANA LETTER KE
+FF7A      ; [.32C5.0020.0011.30B3] # HALFWIDTH KATAKANA LETTER KO
+FF7B      ; [.32C6.0020.0011.30B5] # HALFWIDTH KATAKANA LETTER SA
+FF7C      ; [.32C7.0020.0011.30B7] # HALFWIDTH KATAKANA LETTER SI
+FF7D      ; [.32C8.0020.0011.30B9] # HALFWIDTH KATAKANA LETTER SU
+FF7E      ; [.32C9.0020.0011.30BB] # HALFWIDTH KATAKANA LETTER SE
+FF7F      ; [.32CA.0020.0011.30BD] # HALFWIDTH KATAKANA LETTER SO
+FF80      ; [.32CB.0020.0011.30BF] # HALFWIDTH KATAKANA LETTER TA
+FF81      ; [.32CC.0020.0011.30C1] # HALFWIDTH KATAKANA LETTER TI
+FF82      ; [.32CD.0020.0011.30C4] # HALFWIDTH KATAKANA LETTER TU
+FF83      ; [.32CE.0020.0011.30C6] # HALFWIDTH KATAKANA LETTER TE
+FF84      ; [.32CF.0020.0011.30C8] # HALFWIDTH KATAKANA LETTER TO
+FF85      ; [.32D0.0020.0011.30CA] # HALFWIDTH KATAKANA LETTER NA
+FF86      ; [.32D1.0020.0011.30CB] # HALFWIDTH KATAKANA LETTER NI
+FF87      ; [.32D2.0020.0011.30CC] # HALFWIDTH KATAKANA LETTER NU
+FF88      ; [.32D3.0020.0011.30CD] # HALFWIDTH KATAKANA LETTER NE
+FF89      ; [.32D4.0020.0011.30CE] # HALFWIDTH KATAKANA LETTER NO
+FF8A      ; [.32D5.0020.0011.30CF] # HALFWIDTH KATAKANA LETTER HA
+FF8B      ; [.32D6.0020.0011.30D2] # HALFWIDTH KATAKANA LETTER HI
+FF8C      ; [.32D7.0020.0011.30D5] # HALFWIDTH KATAKANA LETTER HU
+FF8D      ; [.32D8.0020.0011.30D8] # HALFWIDTH KATAKANA LETTER HE
+FF8E      ; [.32D9.0020.0011.30DB] # HALFWIDTH KATAKANA LETTER HO
+FF8F      ; [.32DA.0020.0011.30DE] # HALFWIDTH KATAKANA LETTER MA
+FF90      ; [.32DB.0020.0011.30DF] # HALFWIDTH KATAKANA LETTER MI
+FF91      ; [.32DC.0020.0011.30E0] # HALFWIDTH KATAKANA LETTER MU
+FF92      ; [.32DD.0020.0011.30E1] # HALFWIDTH KATAKANA LETTER ME
+FF93      ; [.32DE.0020.0011.30E2] # HALFWIDTH KATAKANA LETTER MO
+FF94      ; [.32DF.0020.0011.30E4] # HALFWIDTH KATAKANA LETTER YA
+FF95      ; [.32E0.0020.0011.30E6] # HALFWIDTH KATAKANA LETTER YU
+FF96      ; [.32E2.0020.0011.30E8] # HALFWIDTH KATAKANA LETTER YO
+FF97      ; [.32E3.0020.0011.30E9] # HALFWIDTH KATAKANA LETTER RA
+FF98      ; [.32E4.0020.0011.30EA] # HALFWIDTH KATAKANA LETTER RI
+FF99      ; [.32E5.0020.0011.30EB] # HALFWIDTH KATAKANA LETTER RU
+FF9A      ; [.32E6.0020.0011.30EC] # HALFWIDTH KATAKANA LETTER RE
+FF9B      ; [.32E7.0020.0011.30ED] # HALFWIDTH KATAKANA LETTER RO
+FF9C      ; [.32E8.0020.0011.30EF] # HALFWIDTH KATAKANA LETTER WA
+FF9D      ; [.32EC.0020.0011.30F3] # HALFWIDTH KATAKANA LETTER N
+FF9E      ; [.0000.0128.0002.3099] # HALFWIDTH KATAKANA VOICED SOUND MARK
+FF9F      ; [.0000.0129.0002.309A] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+FFE0      ; [.15BD.0020.0002.00A2] # FULLWIDTH CENT SIGN
+FFE1      ; [.15BF.0020.0002.00A3] # FULLWIDTH POUND SIGN
+FFE2      ; [*05A3.0020.0002.00AC] # FULLWIDTH NOT SIGN
 FFE3      ; [*020A.0020.0002.0020] # FULLWIDTH MACRON
-FFE4      ; [*0573.0020.0002.00A6] # FULLWIDTH BROKEN BAR
-FFE5      ; [.1576.0020.0002.00A5] # FULLWIDTH YEN SIGN
-FFE6      ; [.1588.0020.0002.20A9] # FULLWIDTH WON SIGN
-FFE8      ; [*0765.0020.0002.2502] # HALFWIDTH FORMS LIGHT VERTICAL
-FFE9      ; [*04F0.0020.0002.2190] # HALFWIDTH LEFTWARDS ARROW
-FFEA      ; [*04F2.0020.0002.2191] # HALFWIDTH UPWARDS ARROW
-FFEB      ; [*04F1.0020.0002.2192] # HALFWIDTH RIGHTWARDS ARROW
-FFEC      ; [*04F3.0020.0002.2193] # HALFWIDTH DOWNWARDS ARROW
-FFED      ; [*0803.0020.0002.25A0] # HALFWIDTH BLACK SQUARE
-FFEE      ; [*082E.0020.0002.25CB] # HALFWIDTH WHITE CIRCLE
-30A1 30FC ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF67 30FC ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF67 FF70 ; [.3196.0020.000F.30A1][.3196.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3041 30FC ; [.3196.0020.000F.3041][.3196.0020.0007.3041] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A2 30FC ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF71 30FC ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF71 FF70 ; [.3196.0020.0011.30A2][.3196.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3042 30FC ; [.3196.0020.0011.3042][.3196.0020.0007.3042] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AB 30FC ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 30FC ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF70 ; [.319C.0020.0011.30AB][.3196.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304B 30FC ; [.319C.0020.0011.304B][.3196.0020.0007.304B] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AC 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AB 3099 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF9E 30FC ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF76 FF9E FF70 ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.3196.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304C 30FC ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.3196.0020.0007.304C] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304B 3099 30FC ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.3196.0020.0007.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B5 30FC ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B 30FC ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF70 ; [.31A1.0020.0011.30B5][.3196.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3055 30FC ; [.31A1.0020.0011.3055][.3196.0020.0007.3055] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B6 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B5 3099 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF9E 30FC ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7B FF9E FF70 ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.3196.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3056 30FC ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.3196.0020.0007.3056] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3055 3099 30FC ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.3196.0020.0007.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BF 30FC ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 30FC ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF70 ; [.31A6.0020.0011.30BF][.3196.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305F 30FC ; [.31A6.0020.0011.305F][.3196.0020.0007.305F] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C0 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BF 3099 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF9E 30FC ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF80 FF9E FF70 ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.3196.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3060 30FC ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.3196.0020.0007.3060] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305F 3099 30FC ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.3196.0020.0007.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CA 30FC ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF85 30FC ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF85 FF70 ; [.31AB.0020.0011.30CA][.3196.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306A 30FC ; [.31AB.0020.0011.306A][.3196.0020.0007.306A] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 30FC ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A 30FC ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF70 ; [.31B0.0020.0011.30CF][.3196.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 30FC ; [.31B0.0020.0011.306F][.3196.0020.0007.306F] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D0 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 3099 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9E 30FC ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9E FF70 ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.3196.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3070 30FC ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.3196.0020.0007.3070] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 3099 30FC ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.3196.0020.0007.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D1 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CF 309A 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9F 30FC ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8A FF9F FF70 ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.3196.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3071 30FC ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.3196.0020.0007.3071] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306F 309A 30FC ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.3196.0020.0007.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DE 30FC ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8F 30FC ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8F FF70 ; [.31B5.0020.0011.30DE][.3196.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307E 30FC ; [.31B5.0020.0011.307E][.3196.0020.0007.307E] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E3 30FC ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6C 30FC ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6C FF70 ; [.31BA.0020.000F.30E3][.3196.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3083 30FC ; [.31BA.0020.000F.3083][.3196.0020.0007.3083] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E4 30FC ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF94 30FC ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF94 FF70 ; [.31BA.0020.0011.30E4][.3196.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3084 30FC ; [.31BA.0020.0011.3084][.3196.0020.0007.3084] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E9 30FC ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF97 30FC ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF97 FF70 ; [.31BE.0020.0011.30E9][.3196.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3089 30FC ; [.31BE.0020.0011.3089][.3196.0020.0007.3089] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EE 30FC ; [.31C3.0020.000F.30EE][.3196.0020.0007.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308E 30FC ; [.31C3.0020.000F.308E][.3196.0020.0007.308E] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EF 30FC ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C 30FC ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF70 ; [.31C3.0020.0011.30EF][.3196.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308F 30FC ; [.31C3.0020.0011.308F][.3196.0020.0007.308F] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F7 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EF 3099 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF9E 30FC ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9C FF9E FF70 ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.3196.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F5 30FC ; [.319C.0020.000F.30F5][.3196.0020.0007.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3095 30FC ; [.319C.0020.000F.3095][.3196.0020.0007.3095] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F5 30FC ; [.31B0.0020.000F.31F5][.3196.0020.0007.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FB 30FC ; [.31BE.0020.000F.31FB][.3196.0020.0007.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A3 30FC ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF68 30FC ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF68 FF70 ; [.3197.0020.000F.30A3][.3197.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3043 30FC ; [.3197.0020.000F.3043][.3197.0020.0007.3043] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A4 30FC ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF72 30FC ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF72 FF70 ; [.3197.0020.0011.30A4][.3197.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3044 30FC ; [.3197.0020.0011.3044][.3197.0020.0007.3044] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AD 30FC ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 30FC ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF70 ; [.319D.0020.0011.30AD][.3197.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304D 30FC ; [.319D.0020.0011.304D][.3197.0020.0007.304D] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AE 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AD 3099 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF9E 30FC ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF77 FF9E FF70 ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.3197.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304E 30FC ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.3197.0020.0007.304E] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304D 3099 30FC ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.3197.0020.0007.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B7 30FC ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C 30FC ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF70 ; [.31A2.0020.0011.30B7][.3197.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3057 30FC ; [.31A2.0020.0011.3057][.3197.0020.0007.3057] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B8 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B7 3099 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF9E 30FC ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7C FF9E FF70 ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.3197.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3058 30FC ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.3197.0020.0007.3058] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3057 3099 30FC ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.3197.0020.0007.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C1 30FC ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 30FC ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF70 ; [.31A7.0020.0011.30C1][.3197.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3061 30FC ; [.31A7.0020.0011.3061][.3197.0020.0007.3061] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C2 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C1 3099 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF9E 30FC ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF81 FF9E FF70 ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.3197.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3062 30FC ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.3197.0020.0007.3062] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3061 3099 30FC ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.3197.0020.0007.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CB 30FC ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF86 30FC ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF86 FF70 ; [.31AC.0020.0011.30CB][.3197.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306B 30FC ; [.31AC.0020.0011.306B][.3197.0020.0007.306B] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 30FC ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B 30FC ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF70 ; [.31B1.0020.0011.30D2][.3197.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 30FC ; [.31B1.0020.0011.3072][.3197.0020.0007.3072] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D3 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 3099 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9E 30FC ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9E FF70 ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.3197.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3073 30FC ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.3197.0020.0007.3073] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 3099 30FC ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.3197.0020.0007.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D4 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D2 309A 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9F 30FC ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8B FF9F FF70 ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.3197.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3074 30FC ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.3197.0020.0007.3074] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3072 309A 30FC ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.3197.0020.0007.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DF 30FC ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF90 30FC ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF90 FF70 ; [.31B6.0020.0011.30DF][.3197.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307F 30FC ; [.31B6.0020.0011.307F][.3197.0020.0007.307F] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EA 30FC ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF98 30FC ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF98 FF70 ; [.31BF.0020.0011.30EA][.3197.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308A 30FC ; [.31BF.0020.0011.308A][.3197.0020.0007.308A] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F0 30FC ; [.31C4.0020.0011.30F0][.3197.0020.0007.30F0] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3090 30FC ; [.31C4.0020.0011.3090][.3197.0020.0007.3090] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F8 30FC ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.3197.0020.0007.30F8] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F0 3099 30FC ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.3197.0020.0007.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F1 30FC ; [.31A2.0020.000F.31F1][.3197.0020.0007.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F6 30FC ; [.31B1.0020.000F.31F6][.3197.0020.0007.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FC 30FC ; [.31BF.0020.000F.31FC][.3197.0020.0007.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A5 30FC ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF69 30FC ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF69 FF70 ; [.3198.0020.000F.30A5][.3198.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3045 30FC ; [.3198.0020.000F.3045][.3198.0020.0007.3045] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A6 30FC ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 30FC ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF70 ; [.3198.0020.0011.30A6][.3198.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3046 30FC ; [.3198.0020.0011.3046][.3198.0020.0007.3046] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AF 30FC ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 30FC ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF70 ; [.319E.0020.0011.30AF][.3198.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304F 30FC ; [.319E.0020.0011.304F][.3198.0020.0007.304F] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B0 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AF 3099 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF9E 30FC ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF78 FF9E FF70 ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.3198.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3050 30FC ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.3198.0020.0007.3050] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304F 3099 30FC ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.3198.0020.0007.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B9 30FC ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D 30FC ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF70 ; [.31A3.0020.0011.30B9][.3198.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3059 30FC ; [.31A3.0020.0011.3059][.3198.0020.0007.3059] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BA 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B9 3099 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF9E 30FC ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7D FF9E FF70 ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.3198.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305A 30FC ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.3198.0020.0007.305A] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3059 3099 30FC ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.3198.0020.0007.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C3 30FC ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6F 30FC ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6F FF70 ; [.31A8.0020.000F.30C3][.3198.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3063 30FC ; [.31A8.0020.000F.3063][.3198.0020.0007.3063] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C4 30FC ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 30FC ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF70 ; [.31A8.0020.0011.30C4][.3198.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3064 30FC ; [.31A8.0020.0011.3064][.3198.0020.0007.3064] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C5 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C4 3099 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF9E 30FC ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF82 FF9E FF70 ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.3198.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3065 30FC ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.3198.0020.0007.3065] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3064 3099 30FC ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.3198.0020.0007.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CC 30FC ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF87 30FC ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF87 FF70 ; [.31AD.0020.0011.30CC][.3198.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306C 30FC ; [.31AD.0020.0011.306C][.3198.0020.0007.306C] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 30FC ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C 30FC ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF70 ; [.31B2.0020.0011.30D5][.3198.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 30FC ; [.31B2.0020.0011.3075][.3198.0020.0007.3075] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D6 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 3099 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9E 30FC ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9E FF70 ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.3198.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3076 30FC ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.3198.0020.0007.3076] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 3099 30FC ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.3198.0020.0007.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D7 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D5 309A 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9F 30FC ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8C FF9F FF70 ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.3198.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3077 30FC ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.3198.0020.0007.3077] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3075 309A 30FC ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.3198.0020.0007.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E0 30FC ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF91 30FC ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF91 FF70 ; [.31B7.0020.0011.30E0][.3198.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3080 30FC ; [.31B7.0020.0011.3080][.3198.0020.0007.3080] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E5 30FC ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6D 30FC ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6D FF70 ; [.31BB.0020.000F.30E5][.3198.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3085 30FC ; [.31BB.0020.000F.3085][.3198.0020.0007.3085] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E6 30FC ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF95 30FC ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF95 FF70 ; [.31BB.0020.0011.30E6][.3198.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3086 30FC ; [.31BB.0020.0011.3086][.3198.0020.0007.3086] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EB 30FC ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF99 30FC ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF99 FF70 ; [.31C0.0020.0011.30EB][.3198.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308B 30FC ; [.31C0.0020.0011.308B][.3198.0020.0007.308B] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F4 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A6 3099 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF9E 30FC ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF73 FF9E FF70 ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3094 30FC ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0007.3094] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3046 3099 30FC ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0007.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F0 30FC ; [.319E.0020.000F.31F0][.3198.0020.0007.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F2 30FC ; [.31A3.0020.000F.31F2][.3198.0020.0007.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F4 30FC ; [.31AD.0020.000F.31F4][.3198.0020.0007.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F7 30FC ; [.31B2.0020.000F.31F7][.3198.0020.0007.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FA 30FC ; [.31B7.0020.000F.31FA][.3198.0020.0007.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FD 30FC ; [.31C0.0020.000F.31FD][.3198.0020.0007.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A7 30FC ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6A 30FC ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6A FF70 ; [.319A.0020.000F.30A7][.319A.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3047 30FC ; [.319A.0020.000F.3047][.319A.0020.0007.3047] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A8 30FC ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF74 30FC ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF74 FF70 ; [.319A.0020.0011.30A8][.319A.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3048 30FC ; [.319A.0020.0011.3048][.319A.0020.0007.3048] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B1 30FC ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 30FC ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF70 ; [.319F.0020.0011.30B1][.319A.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3051 30FC ; [.319F.0020.0011.3051][.319A.0020.0007.3051] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B2 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B1 3099 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF9E 30FC ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF79 FF9E FF70 ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319A.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3052 30FC ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319A.0020.0007.3052] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3051 3099 30FC ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319A.0020.0007.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BB 30FC ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E 30FC ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF70 ; [.31A4.0020.0011.30BB][.319A.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305B 30FC ; [.31A4.0020.0011.305B][.319A.0020.0007.305B] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BC 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BB 3099 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF9E 30FC ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7E FF9E FF70 ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.319A.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305C 30FC ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.319A.0020.0007.305C] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305B 3099 30FC ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.319A.0020.0007.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C6 30FC ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 30FC ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF70 ; [.31A9.0020.0011.30C6][.319A.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3066 30FC ; [.31A9.0020.0011.3066][.319A.0020.0007.3066] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C7 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C6 3099 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF9E 30FC ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF83 FF9E FF70 ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.319A.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3067 30FC ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.319A.0020.0007.3067] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3066 3099 30FC ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.319A.0020.0007.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CD 30FC ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF88 30FC ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF88 FF70 ; [.31AE.0020.0011.30CD][.319A.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306D 30FC ; [.31AE.0020.0011.306D][.319A.0020.0007.306D] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 30FC ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D 30FC ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF70 ; [.31B3.0020.0011.30D8][.319A.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 30FC ; [.31B3.0020.0011.3078][.319A.0020.0007.3078] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D9 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 3099 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9E 30FC ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9E FF70 ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.319A.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3079 30FC ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.319A.0020.0007.3079] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 3099 30FC ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.319A.0020.0007.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DA 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30D8 309A 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9F 30FC ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8D FF9F FF70 ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.319A.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307A 30FC ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.319A.0020.0007.307A] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3078 309A 30FC ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.319A.0020.0007.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E1 30FC ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF92 30FC ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF92 FF70 ; [.31B8.0020.0011.30E1][.319A.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3081 30FC ; [.31B8.0020.0011.3081][.319A.0020.0007.3081] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30EC 30FC ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9A 30FC ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9A FF70 ; [.31C1.0020.0011.30EC][.319A.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308C 30FC ; [.31C1.0020.0011.308C][.319A.0020.0007.308C] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F1 30FC ; [.31C5.0020.0011.30F1][.319A.0020.0007.30F1] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3091 30FC ; [.31C5.0020.0011.3091][.319A.0020.0007.3091] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F9 30FC ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.319A.0020.0007.30F9] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F1 3099 30FC ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.319A.0020.0007.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F6 30FC ; [.319F.0020.000F.30F6][.319A.0020.0007.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3096 30FC ; [.319F.0020.000F.3096][.319A.0020.0007.3096] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F8 30FC ; [.31B3.0020.000F.31F8][.319A.0020.0007.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FE 30FC ; [.31C1.0020.000F.31FE][.319A.0020.0007.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A9 30FC ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6B 30FC ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6B FF70 ; [.319B.0020.000F.30A9][.319B.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3049 30FC ; [.319B.0020.000F.3049][.319B.0020.0007.3049] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30AA 30FC ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF75 30FC ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF75 FF70 ; [.319B.0020.0011.30AA][.319B.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-304A 30FC ; [.319B.0020.0011.304A][.319B.0020.0007.304A] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B3 30FC ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A 30FC ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF70 ; [.31A0.0020.0011.30B3][.319B.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3053 30FC ; [.31A0.0020.0011.3053][.319B.0020.0007.3053] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B4 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30B3 3099 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF9E 30FC ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7A FF9E FF70 ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.319B.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3054 30FC ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.319B.0020.0007.3054] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3053 3099 30FC ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.319B.0020.0007.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BD 30FC ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F 30FC ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF70 ; [.31A5.0020.0011.30BD][.319B.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305D 30FC ; [.31A5.0020.0011.305D][.319B.0020.0007.305D] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BE 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30BD 3099 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF9E 30FC ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF7F FF9E FF70 ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.319B.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305E 30FC ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.319B.0020.0007.305E] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-305D 3099 30FC ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.319B.0020.0007.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C8 30FC ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 30FC ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF70 ; [.31AA.0020.0011.30C8][.319B.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3068 30FC ; [.31AA.0020.0011.3068][.319B.0020.0007.3068] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C9 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30C8 3099 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF9E 30FC ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF84 FF9E FF70 ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.319B.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3069 30FC ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.319B.0020.0007.3069] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3068 3099 30FC ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.319B.0020.0007.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30CE 30FC ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF89 30FC ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF89 FF70 ; [.31AF.0020.0011.30CE][.319B.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-306E 30FC ; [.31AF.0020.0011.306E][.319B.0020.0007.306E] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 30FC ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E 30FC ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF70 ; [.31B4.0020.0011.30DB][.319B.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 30FC ; [.31B4.0020.0011.307B][.319B.0020.0007.307B] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DC 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 3099 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9E 30FC ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9E FF70 ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.319B.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307C 30FC ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.319B.0020.0007.307C] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 3099 30FC ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.319B.0020.0007.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DD 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30DB 309A 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9F 30FC ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF8E FF9F FF70 ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.319B.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307D 30FC ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.319B.0020.0007.307D] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-307B 309A 30FC ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.319B.0020.0007.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E2 30FC ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF93 30FC ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF93 FF70 ; [.31B9.0020.0011.30E2][.319B.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3082 30FC ; [.31B9.0020.0011.3082][.319B.0020.0007.3082] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E7 30FC ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6E 30FC ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF6E FF70 ; [.31BD.0020.000F.30E7][.319B.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3087 30FC ; [.31BD.0020.000F.3087][.319B.0020.0007.3087] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30E8 30FC ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF96 30FC ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF96 FF70 ; [.31BD.0020.0011.30E8][.319B.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3088 30FC ; [.31BD.0020.0011.3088][.319B.0020.0007.3088] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30ED 30FC ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9B 30FC ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF9B FF70 ; [.31C2.0020.0011.30ED][.319B.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-308D 30FC ; [.31C2.0020.0011.308D][.319B.0020.0007.308D] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F2 30FC ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 30FC ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF70 ; [.31C6.0020.0011.30F2][.319B.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-3092 30FC ; [.31C6.0020.0011.3092][.319B.0020.0007.3092] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30FA 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30F2 3099 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF9E 30FC ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-FF66 FF9E FF70 ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.319B.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F3 30FC ; [.31AA.0020.000F.31F3][.319B.0020.0007.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31F9 30FC ; [.31B4.0020.000F.31F9][.319B.0020.0007.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-31FF 30FC ; [.31C2.0020.000F.31FF][.319B.0020.0007.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
-30A1 30FD ; [.3196.0020.000F.30A1][.3196.0020.0010.30A1] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
-FF67 30FD ; [.3196.0020.000F.30A1][.3196.0020.0010.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
-3041 309D ; [.3196.0020.000F.3041][.3196.0020.0010.3041] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
-30A2 30FD ; [.3196.0020.0011.30A2][.3196.0020.0010.30A2] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
-FF71 30FD ; [.3196.0020.0011.30A2][.3196.0020.0010.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
-3042 309D ; [.3196.0020.0011.3042][.3196.0020.0010.3042] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
-30A3 30FD ; [.3197.0020.000F.30A3][.3197.0020.0010.30A3] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
-FF68 30FD ; [.3197.0020.000F.30A3][.3197.0020.0010.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
-3043 309D ; [.3197.0020.000F.3043][.3197.0020.0010.3043] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
-30A4 30FD ; [.3197.0020.0011.30A4][.3197.0020.0010.30A4] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
-FF72 30FD ; [.3197.0020.0011.30A4][.3197.0020.0010.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
-3044 309D ; [.3197.0020.0011.3044][.3197.0020.0010.3044] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
-30A5 30FD ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
-FF69 30FD ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
-3045 309D ; [.3198.0020.000F.3045][.3198.0020.0010.3045] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
-30A5 30FE ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
-FF69 30FE ; [.3198.0020.000F.30A5][.3198.0020.0010.30A5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
-3045 309E ; [.3198.0020.000F.3045][.3198.0020.0010.3045][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
-30A6 30FD ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
-FF73 30FD ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
-3046 309D ; [.3198.0020.0011.3046][.3198.0020.0010.3046] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
-30A6 30FE ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6][.0000.014E.0002.3099] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
-FF73 30FE ; [.3198.0020.0011.30A6][.3198.0020.0010.30A6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
-3046 309E ; [.3198.0020.0011.3046][.3198.0020.0010.3046][.0000.014E.0002.3099] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
-30A7 30FD ; [.319A.0020.000F.30A7][.319A.0020.0010.30A7] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
-FF6A 30FD ; [.319A.0020.000F.30A7][.319A.0020.0010.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
-3047 309D ; [.319A.0020.000F.3047][.319A.0020.0010.3047] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
-30A8 30FD ; [.319A.0020.0011.30A8][.319A.0020.0010.30A8] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
-FF74 30FD ; [.319A.0020.0011.30A8][.319A.0020.0010.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
-3048 309D ; [.319A.0020.0011.3048][.319A.0020.0010.3048] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
-30A9 30FD ; [.319B.0020.000F.30A9][.319B.0020.0010.30A9] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
-FF6B 30FD ; [.319B.0020.000F.30A9][.319B.0020.0010.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
-3049 309D ; [.319B.0020.000F.3049][.319B.0020.0010.3049] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
-30AA 30FD ; [.319B.0020.0011.30AA][.319B.0020.0010.30AA] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
-FF75 30FD ; [.319B.0020.0011.30AA][.319B.0020.0010.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
-304A 309D ; [.319B.0020.0011.304A][.319B.0020.0010.304A] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
-30AB 30FD ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
-FF76 30FD ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
-304B 309D ; [.319C.0020.0011.304B][.319C.0020.0010.304B] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
-30AB 30FE ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB][.0000.014E.0002.3099] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
-FF76 30FE ; [.319C.0020.0011.30AB][.319C.0020.0010.30AB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
-304B 309E ; [.319C.0020.0011.304B][.319C.0020.0010.304B][.0000.014E.0002.3099] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
-30AC 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
-30AB 3099 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF76 FF9E 30FD ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-304C 309D ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
-304B 3099 309D ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30AC 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
-30AB 3099 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF76 FF9E 30FE ; [.319C.0020.0011.30AB][.0000.014E.0002.3099][.319C.0020.0010.30AC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-304C 309E ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C][.0000.014E.0002.3099] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
-304B 3099 309E ; [.319C.0020.0011.304B][.0000.014E.0002.3099][.319C.0020.0010.304C][.0000.014E.0002.3099] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30AD 30FD ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
-FF77 30FD ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
-304D 309D ; [.319D.0020.0011.304D][.319D.0020.0010.304D] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
-30AD 30FE ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD][.0000.014E.0002.3099] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
-FF77 30FE ; [.319D.0020.0011.30AD][.319D.0020.0010.30AD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
-304D 309E ; [.319D.0020.0011.304D][.319D.0020.0010.304D][.0000.014E.0002.3099] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
-30AE 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
-30AD 3099 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF77 FF9E 30FD ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-304E 309D ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
-304D 3099 309D ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30AE 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
-30AD 3099 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF77 FF9E 30FE ; [.319D.0020.0011.30AD][.0000.014E.0002.3099][.319D.0020.0010.30AE][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-304E 309E ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E][.0000.014E.0002.3099] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
-304D 3099 309E ; [.319D.0020.0011.304D][.0000.014E.0002.3099][.319D.0020.0010.304E][.0000.014E.0002.3099] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30AF 30FD ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
-FF78 30FD ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
-304F 309D ; [.319E.0020.0011.304F][.319E.0020.0010.304F] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
-30AF 30FE ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF][.0000.014E.0002.3099] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
-FF78 30FE ; [.319E.0020.0011.30AF][.319E.0020.0010.30AF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
-304F 309E ; [.319E.0020.0011.304F][.319E.0020.0010.304F][.0000.014E.0002.3099] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
-30B0 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
-30AF 3099 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF78 FF9E 30FD ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3050 309D ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
-304F 3099 309D ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B0 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
-30AF 3099 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF78 FF9E 30FE ; [.319E.0020.0011.30AF][.0000.014E.0002.3099][.319E.0020.0010.30B0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3050 309E ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050][.0000.014E.0002.3099] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
-304F 3099 309E ; [.319E.0020.0011.304F][.0000.014E.0002.3099][.319E.0020.0010.3050][.0000.014E.0002.3099] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B1 30FD ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
-FF79 30FD ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
-3051 309D ; [.319F.0020.0011.3051][.319F.0020.0010.3051] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
-30B1 30FE ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1][.0000.014E.0002.3099] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
-FF79 30FE ; [.319F.0020.0011.30B1][.319F.0020.0010.30B1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
-3051 309E ; [.319F.0020.0011.3051][.319F.0020.0010.3051][.0000.014E.0002.3099] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
-30B2 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
-30B1 3099 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF79 FF9E 30FD ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3052 309D ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
-3051 3099 309D ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B2 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
-30B1 3099 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF79 FF9E 30FE ; [.319F.0020.0011.30B1][.0000.014E.0002.3099][.319F.0020.0010.30B2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3052 309E ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052][.0000.014E.0002.3099] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
-3051 3099 309E ; [.319F.0020.0011.3051][.0000.014E.0002.3099][.319F.0020.0010.3052][.0000.014E.0002.3099] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B3 30FD ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
-FF7A 30FD ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
-3053 309D ; [.31A0.0020.0011.3053][.31A0.0020.0010.3053] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
-30B3 30FE ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3][.0000.014E.0002.3099] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
-FF7A 30FE ; [.31A0.0020.0011.30B3][.31A0.0020.0010.30B3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
-3053 309E ; [.31A0.0020.0011.3053][.31A0.0020.0010.3053][.0000.014E.0002.3099] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
-30B4 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
-30B3 3099 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7A FF9E 30FD ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3054 309D ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
-3053 3099 309D ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B4 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
-30B3 3099 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7A FF9E 30FE ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099][.31A0.0020.0010.30B4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3054 309E ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054][.0000.014E.0002.3099] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
-3053 3099 309E ; [.31A0.0020.0011.3053][.0000.014E.0002.3099][.31A0.0020.0010.3054][.0000.014E.0002.3099] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B5 30FD ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
-FF7B 30FD ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
-3055 309D ; [.31A1.0020.0011.3055][.31A1.0020.0010.3055] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
-30B5 30FE ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5][.0000.014E.0002.3099] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
-FF7B 30FE ; [.31A1.0020.0011.30B5][.31A1.0020.0010.30B5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
-3055 309E ; [.31A1.0020.0011.3055][.31A1.0020.0010.3055][.0000.014E.0002.3099] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
-30B6 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
-30B5 3099 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7B FF9E 30FD ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3056 309D ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
-3055 3099 309D ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B6 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
-30B5 3099 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7B FF9E 30FE ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099][.31A1.0020.0010.30B6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3056 309E ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056][.0000.014E.0002.3099] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
-3055 3099 309E ; [.31A1.0020.0011.3055][.0000.014E.0002.3099][.31A1.0020.0010.3056][.0000.014E.0002.3099] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B7 30FD ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
-FF7C 30FD ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
-3057 309D ; [.31A2.0020.0011.3057][.31A2.0020.0010.3057] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
-30B7 30FE ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7][.0000.014E.0002.3099] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
-FF7C 30FE ; [.31A2.0020.0011.30B7][.31A2.0020.0010.30B7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
-3057 309E ; [.31A2.0020.0011.3057][.31A2.0020.0010.3057][.0000.014E.0002.3099] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
-30B8 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
-30B7 3099 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7C FF9E 30FD ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3058 309D ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
-3057 3099 309D ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30B8 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
-30B7 3099 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7C FF9E 30FE ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099][.31A2.0020.0010.30B8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3058 309E ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058][.0000.014E.0002.3099] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
-3057 3099 309E ; [.31A2.0020.0011.3057][.0000.014E.0002.3099][.31A2.0020.0010.3058][.0000.014E.0002.3099] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30B9 30FD ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
-FF7D 30FD ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
-3059 309D ; [.31A3.0020.0011.3059][.31A3.0020.0010.3059] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
-30B9 30FE ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9][.0000.014E.0002.3099] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
-FF7D 30FE ; [.31A3.0020.0011.30B9][.31A3.0020.0010.30B9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
-3059 309E ; [.31A3.0020.0011.3059][.31A3.0020.0010.3059][.0000.014E.0002.3099] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
-30BA 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
-30B9 3099 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7D FF9E 30FD ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305A 309D ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
-3059 3099 309D ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BA 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
-30B9 3099 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7D FF9E 30FE ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099][.31A3.0020.0010.30BA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305A 309E ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A][.0000.014E.0002.3099] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
-3059 3099 309E ; [.31A3.0020.0011.3059][.0000.014E.0002.3099][.31A3.0020.0010.305A][.0000.014E.0002.3099] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BB 30FD ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
-FF7E 30FD ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
-305B 309D ; [.31A4.0020.0011.305B][.31A4.0020.0010.305B] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
-30BB 30FE ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB][.0000.014E.0002.3099] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
-FF7E 30FE ; [.31A4.0020.0011.30BB][.31A4.0020.0010.30BB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
-305B 309E ; [.31A4.0020.0011.305B][.31A4.0020.0010.305B][.0000.014E.0002.3099] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
-30BC 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
-30BB 3099 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7E FF9E 30FD ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305C 309D ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
-305B 3099 309D ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BC 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
-30BB 3099 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7E FF9E 30FE ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099][.31A4.0020.0010.30BC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305C 309E ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C][.0000.014E.0002.3099] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
-305B 3099 309E ; [.31A4.0020.0011.305B][.0000.014E.0002.3099][.31A4.0020.0010.305C][.0000.014E.0002.3099] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BD 30FD ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
-FF7F 30FD ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
-305D 309D ; [.31A5.0020.0011.305D][.31A5.0020.0010.305D] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
-30BD 30FE ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD][.0000.014E.0002.3099] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
-FF7F 30FE ; [.31A5.0020.0011.30BD][.31A5.0020.0010.30BD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
-305D 309E ; [.31A5.0020.0011.305D][.31A5.0020.0010.305D][.0000.014E.0002.3099] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
-30BE 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
-30BD 3099 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF7F FF9E 30FD ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-305E 309D ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
-305D 3099 309D ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30BE 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
-30BD 3099 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF7F FF9E 30FE ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099][.31A5.0020.0010.30BE][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-305E 309E ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E][.0000.014E.0002.3099] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
-305D 3099 309E ; [.31A5.0020.0011.305D][.0000.014E.0002.3099][.31A5.0020.0010.305E][.0000.014E.0002.3099] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30BF 30FD ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
-FF80 30FD ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
-305F 309D ; [.31A6.0020.0011.305F][.31A6.0020.0010.305F] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
-30BF 30FE ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF][.0000.014E.0002.3099] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
-FF80 30FE ; [.31A6.0020.0011.30BF][.31A6.0020.0010.30BF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
-305F 309E ; [.31A6.0020.0011.305F][.31A6.0020.0010.305F][.0000.014E.0002.3099] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
-30C0 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
-30BF 3099 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF80 FF9E 30FD ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3060 309D ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
-305F 3099 309D ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C0 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
-30BF 3099 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF80 FF9E 30FE ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099][.31A6.0020.0010.30C0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3060 309E ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060][.0000.014E.0002.3099] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
-305F 3099 309E ; [.31A6.0020.0011.305F][.0000.014E.0002.3099][.31A6.0020.0010.3060][.0000.014E.0002.3099] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C1 30FD ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
-FF81 30FD ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
-3061 309D ; [.31A7.0020.0011.3061][.31A7.0020.0010.3061] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
-30C1 30FE ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1][.0000.014E.0002.3099] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
-FF81 30FE ; [.31A7.0020.0011.30C1][.31A7.0020.0010.30C1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
-3061 309E ; [.31A7.0020.0011.3061][.31A7.0020.0010.3061][.0000.014E.0002.3099] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
-30C2 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
-30C1 3099 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF81 FF9E 30FD ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3062 309D ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
-3061 3099 309D ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C2 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
-30C1 3099 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF81 FF9E 30FE ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099][.31A7.0020.0010.30C2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3062 309E ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062][.0000.014E.0002.3099] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
-3061 3099 309E ; [.31A7.0020.0011.3061][.0000.014E.0002.3099][.31A7.0020.0010.3062][.0000.014E.0002.3099] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C3 30FD ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
-FF6F 30FD ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
-3063 309D ; [.31A8.0020.000F.3063][.31A8.0020.0010.3063] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
-30C3 30FE ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
-FF6F 30FE ; [.31A8.0020.000F.30C3][.31A8.0020.0010.30C3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
-3063 309E ; [.31A8.0020.000F.3063][.31A8.0020.0010.3063][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
-30C4 30FD ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
-FF82 30FD ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
-3064 309D ; [.31A8.0020.0011.3064][.31A8.0020.0010.3064] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
-30C4 30FE ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4][.0000.014E.0002.3099] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
-FF82 30FE ; [.31A8.0020.0011.30C4][.31A8.0020.0010.30C4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
-3064 309E ; [.31A8.0020.0011.3064][.31A8.0020.0010.3064][.0000.014E.0002.3099] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
-30C5 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
-30C4 3099 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF82 FF9E 30FD ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3065 309D ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
-3064 3099 309D ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C5 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
-30C4 3099 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF82 FF9E 30FE ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099][.31A8.0020.0010.30C5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3065 309E ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065][.0000.014E.0002.3099] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
-3064 3099 309E ; [.31A8.0020.0011.3064][.0000.014E.0002.3099][.31A8.0020.0010.3065][.0000.014E.0002.3099] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C6 30FD ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
-FF83 30FD ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
-3066 309D ; [.31A9.0020.0011.3066][.31A9.0020.0010.3066] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
-30C6 30FE ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6][.0000.014E.0002.3099] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
-FF83 30FE ; [.31A9.0020.0011.30C6][.31A9.0020.0010.30C6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
-3066 309E ; [.31A9.0020.0011.3066][.31A9.0020.0010.3066][.0000.014E.0002.3099] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
-30C7 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
-30C6 3099 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF83 FF9E 30FD ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3067 309D ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
-3066 3099 309D ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C7 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
-30C6 3099 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF83 FF9E 30FE ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099][.31A9.0020.0010.30C7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3067 309E ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067][.0000.014E.0002.3099] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
-3066 3099 309E ; [.31A9.0020.0011.3066][.0000.014E.0002.3099][.31A9.0020.0010.3067][.0000.014E.0002.3099] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30C8 30FD ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
-FF84 30FD ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
-3068 309D ; [.31AA.0020.0011.3068][.31AA.0020.0010.3068] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
-30C8 30FE ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8][.0000.014E.0002.3099] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
-FF84 30FE ; [.31AA.0020.0011.30C8][.31AA.0020.0010.30C8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
-3068 309E ; [.31AA.0020.0011.3068][.31AA.0020.0010.3068][.0000.014E.0002.3099] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
-30C9 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
-30C8 3099 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF84 FF9E 30FD ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3069 309D ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
-3068 3099 309D ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30C9 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
-30C8 3099 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF84 FF9E 30FE ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099][.31AA.0020.0010.30C9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3069 309E ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069][.0000.014E.0002.3099] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
-3068 3099 309E ; [.31AA.0020.0011.3068][.0000.014E.0002.3099][.31AA.0020.0010.3069][.0000.014E.0002.3099] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30CA 30FD ; [.31AB.0020.0011.30CA][.31AB.0020.0010.30CA] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
-FF85 30FD ; [.31AB.0020.0011.30CA][.31AB.0020.0010.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
-306A 309D ; [.31AB.0020.0011.306A][.31AB.0020.0010.306A] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
-30CB 30FD ; [.31AC.0020.0011.30CB][.31AC.0020.0010.30CB] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
-FF86 30FD ; [.31AC.0020.0011.30CB][.31AC.0020.0010.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
-306B 309D ; [.31AC.0020.0011.306B][.31AC.0020.0010.306B] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
-30CC 30FD ; [.31AD.0020.0011.30CC][.31AD.0020.0010.30CC] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
-FF87 30FD ; [.31AD.0020.0011.30CC][.31AD.0020.0010.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
-306C 309D ; [.31AD.0020.0011.306C][.31AD.0020.0010.306C] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
-30CD 30FD ; [.31AE.0020.0011.30CD][.31AE.0020.0010.30CD] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
-FF88 30FD ; [.31AE.0020.0011.30CD][.31AE.0020.0010.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
-306D 309D ; [.31AE.0020.0011.306D][.31AE.0020.0010.306D] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
-30CE 30FD ; [.31AF.0020.0011.30CE][.31AF.0020.0010.30CE] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
-FF89 30FD ; [.31AF.0020.0011.30CE][.31AF.0020.0010.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
-306E 309D ; [.31AF.0020.0011.306E][.31AF.0020.0010.306E] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
-30CF 30FD ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
-FF8A 30FD ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
-306F 309D ; [.31B0.0020.0011.306F][.31B0.0020.0010.306F] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
-30CF 30FE ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF][.0000.014E.0002.3099] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
-FF8A 30FE ; [.31B0.0020.0011.30CF][.31B0.0020.0010.30CF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
-306F 309E ; [.31B0.0020.0011.306F][.31B0.0020.0010.306F][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
-30D0 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
-30CF 3099 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8A FF9E 30FD ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3070 309D ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
-306F 3099 309D ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D0 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
-30CF 3099 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8A FF9E 30FE ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099][.31B0.0020.0010.30D0][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3070 309E ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070][.0000.014E.0002.3099] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
-306F 3099 309E ; [.31B0.0020.0011.306F][.0000.014E.0002.3099][.31B0.0020.0010.3070][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D1 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
-30CF 309A 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8A FF9F 30FD ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3071 309D ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
-306F 309A 309D ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D1 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
-30CF 309A 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8A FF9F 30FE ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A][.31B0.0020.0010.30D1][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3071 309E ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071][.0000.014E.0002.3099] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
-306F 309A 309E ; [.31B0.0020.0011.306F][.0000.014F.0002.309A][.31B0.0020.0010.3071][.0000.014E.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D2 30FD ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
-FF8B 30FD ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
-3072 309D ; [.31B1.0020.0011.3072][.31B1.0020.0010.3072] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
-30D2 30FE ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2][.0000.014E.0002.3099] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
-FF8B 30FE ; [.31B1.0020.0011.30D2][.31B1.0020.0010.30D2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
-3072 309E ; [.31B1.0020.0011.3072][.31B1.0020.0010.3072][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
-30D3 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
-30D2 3099 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8B FF9E 30FD ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3073 309D ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
-3072 3099 309D ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D3 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
-30D2 3099 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8B FF9E 30FE ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099][.31B1.0020.0010.30D3][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3073 309E ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073][.0000.014E.0002.3099] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
-3072 3099 309E ; [.31B1.0020.0011.3072][.0000.014E.0002.3099][.31B1.0020.0010.3073][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D4 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
-30D2 309A 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8B FF9F 30FD ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3074 309D ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
-3072 309A 309D ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D4 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
-30D2 309A 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8B FF9F 30FE ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A][.31B1.0020.0010.30D4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3074 309E ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074][.0000.014E.0002.3099] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
-3072 309A 309E ; [.31B1.0020.0011.3072][.0000.014F.0002.309A][.31B1.0020.0010.3074][.0000.014E.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D5 30FD ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
-FF8C 30FD ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
-3075 309D ; [.31B2.0020.0011.3075][.31B2.0020.0010.3075] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
-30D5 30FE ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5][.0000.014E.0002.3099] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
-FF8C 30FE ; [.31B2.0020.0011.30D5][.31B2.0020.0010.30D5][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
-3075 309E ; [.31B2.0020.0011.3075][.31B2.0020.0010.3075][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
-30D6 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
-30D5 3099 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8C FF9E 30FD ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3076 309D ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
-3075 3099 309D ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D6 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
-30D5 3099 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8C FF9E 30FE ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099][.31B2.0020.0010.30D6][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3076 309E ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076][.0000.014E.0002.3099] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
-3075 3099 309E ; [.31B2.0020.0011.3075][.0000.014E.0002.3099][.31B2.0020.0010.3076][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D7 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
-30D5 309A 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8C FF9F 30FD ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3077 309D ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
-3075 309A 309D ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D7 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
-30D5 309A 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8C FF9F 30FE ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A][.31B2.0020.0010.30D7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3077 309E ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077][.0000.014E.0002.3099] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
-3075 309A 309E ; [.31B2.0020.0011.3075][.0000.014F.0002.309A][.31B2.0020.0010.3077][.0000.014E.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30D8 30FD ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
-FF8D 30FD ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
-3078 309D ; [.31B3.0020.0011.3078][.31B3.0020.0010.3078] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
-30D8 30FE ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8][.0000.014E.0002.3099] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
-FF8D 30FE ; [.31B3.0020.0011.30D8][.31B3.0020.0010.30D8][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
-3078 309E ; [.31B3.0020.0011.3078][.31B3.0020.0010.3078][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
-30D9 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
-30D8 3099 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8D FF9E 30FD ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3079 309D ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
-3078 3099 309D ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30D9 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
-30D8 3099 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8D FF9E 30FE ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099][.31B3.0020.0010.30D9][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3079 309E ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079][.0000.014E.0002.3099] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
-3078 3099 309E ; [.31B3.0020.0011.3078][.0000.014E.0002.3099][.31B3.0020.0010.3079][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DA 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
-30D8 309A 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8D FF9F 30FD ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307A 309D ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
-3078 309A 309D ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DA 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
-30D8 309A 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8D FF9F 30FE ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A][.31B3.0020.0010.30DA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307A 309E ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A][.0000.014E.0002.3099] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
-3078 309A 309E ; [.31B3.0020.0011.3078][.0000.014F.0002.309A][.31B3.0020.0010.307A][.0000.014E.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DB 30FD ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
-FF8E 30FD ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
-307B 309D ; [.31B4.0020.0011.307B][.31B4.0020.0010.307B] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
-30DB 30FE ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB][.0000.014E.0002.3099] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
-FF8E 30FE ; [.31B4.0020.0011.30DB][.31B4.0020.0010.30DB][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
-307B 309E ; [.31B4.0020.0011.307B][.31B4.0020.0010.307B][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
-30DC 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
-30DB 3099 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8E FF9E 30FD ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307C 309D ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
-307B 3099 309D ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DC 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
-30DB 3099 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8E FF9E 30FE ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099][.31B4.0020.0010.30DC][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307C 309E ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C][.0000.014E.0002.3099] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
-307B 3099 309E ; [.31B4.0020.0011.307B][.0000.014E.0002.3099][.31B4.0020.0010.307C][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DD 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
-30DB 309A 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF8E FF9F 30FD ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
-307D 309D ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
-307B 309A 309D ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30DD 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
-30DB 309A 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF8E FF9F 30FE ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A][.31B4.0020.0010.30DD][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-307D 309E ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D][.0000.014E.0002.3099] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
-307B 309A 309E ; [.31B4.0020.0011.307B][.0000.014F.0002.309A][.31B4.0020.0010.307D][.0000.014E.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30DE 30FD ; [.31B5.0020.0011.30DE][.31B5.0020.0010.30DE] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
-FF8F 30FD ; [.31B5.0020.0011.30DE][.31B5.0020.0010.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
-307E 309D ; [.31B5.0020.0011.307E][.31B5.0020.0010.307E] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
-30DF 30FD ; [.31B6.0020.0011.30DF][.31B6.0020.0010.30DF] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
-FF90 30FD ; [.31B6.0020.0011.30DF][.31B6.0020.0010.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
-307F 309D ; [.31B6.0020.0011.307F][.31B6.0020.0010.307F] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
-30E0 30FD ; [.31B7.0020.0011.30E0][.31B7.0020.0010.30E0] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
-FF91 30FD ; [.31B7.0020.0011.30E0][.31B7.0020.0010.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
-3080 309D ; [.31B7.0020.0011.3080][.31B7.0020.0010.3080] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
-30E1 30FD ; [.31B8.0020.0011.30E1][.31B8.0020.0010.30E1] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
-FF92 30FD ; [.31B8.0020.0011.30E1][.31B8.0020.0010.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
-3081 309D ; [.31B8.0020.0011.3081][.31B8.0020.0010.3081] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
-30E2 30FD ; [.31B9.0020.0011.30E2][.31B9.0020.0010.30E2] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
-FF93 30FD ; [.31B9.0020.0011.30E2][.31B9.0020.0010.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
-3082 309D ; [.31B9.0020.0011.3082][.31B9.0020.0010.3082] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
-30E3 30FD ; [.31BA.0020.000F.30E3][.31BA.0020.0010.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
-FF6C 30FD ; [.31BA.0020.000F.30E3][.31BA.0020.0010.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
-3083 309D ; [.31BA.0020.000F.3083][.31BA.0020.0010.3083] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
-30E4 30FD ; [.31BA.0020.0011.30E4][.31BA.0020.0010.30E4] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
-FF94 30FD ; [.31BA.0020.0011.30E4][.31BA.0020.0010.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
-3084 309D ; [.31BA.0020.0011.3084][.31BA.0020.0010.3084] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
-30E5 30FD ; [.31BB.0020.000F.30E5][.31BB.0020.0010.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
-FF6D 30FD ; [.31BB.0020.000F.30E5][.31BB.0020.0010.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
-3085 309D ; [.31BB.0020.000F.3085][.31BB.0020.0010.3085] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
-30E6 30FD ; [.31BB.0020.0011.30E6][.31BB.0020.0010.30E6] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
-FF95 30FD ; [.31BB.0020.0011.30E6][.31BB.0020.0010.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
-3086 309D ; [.31BB.0020.0011.3086][.31BB.0020.0010.3086] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
-30E7 30FD ; [.31BD.0020.000F.30E7][.31BD.0020.0010.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
-FF6E 30FD ; [.31BD.0020.000F.30E7][.31BD.0020.0010.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
-3087 309D ; [.31BD.0020.000F.3087][.31BD.0020.0010.3087] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
-30E8 30FD ; [.31BD.0020.0011.30E8][.31BD.0020.0010.30E8] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
-FF96 30FD ; [.31BD.0020.0011.30E8][.31BD.0020.0010.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
-3088 309D ; [.31BD.0020.0011.3088][.31BD.0020.0010.3088] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
-30E9 30FD ; [.31BE.0020.0011.30E9][.31BE.0020.0010.30E9] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
-FF97 30FD ; [.31BE.0020.0011.30E9][.31BE.0020.0010.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
-3089 309D ; [.31BE.0020.0011.3089][.31BE.0020.0010.3089] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
-30EA 30FD ; [.31BF.0020.0011.30EA][.31BF.0020.0010.30EA] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
-FF98 30FD ; [.31BF.0020.0011.30EA][.31BF.0020.0010.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
-308A 309D ; [.31BF.0020.0011.308A][.31BF.0020.0010.308A] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
-30EB 30FD ; [.31C0.0020.0011.30EB][.31C0.0020.0010.30EB] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
-FF99 30FD ; [.31C0.0020.0011.30EB][.31C0.0020.0010.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
-308B 309D ; [.31C0.0020.0011.308B][.31C0.0020.0010.308B] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
-30EC 30FD ; [.31C1.0020.0011.30EC][.31C1.0020.0010.30EC] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
-FF9A 30FD ; [.31C1.0020.0011.30EC][.31C1.0020.0010.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
-308C 309D ; [.31C1.0020.0011.308C][.31C1.0020.0010.308C] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
-30ED 30FD ; [.31C2.0020.0011.30ED][.31C2.0020.0010.30ED] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
-FF9B 30FD ; [.31C2.0020.0011.30ED][.31C2.0020.0010.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
-308D 309D ; [.31C2.0020.0011.308D][.31C2.0020.0010.308D] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
-30EE 30FD ; [.31C3.0020.000F.30EE][.31C3.0020.0010.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
-308E 309D ; [.31C3.0020.000F.308E][.31C3.0020.0010.308E] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
-30EE 30FE ; [.31C3.0020.000F.30EE][.31C3.0020.0010.30EE][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
-308E 309E ; [.31C3.0020.000F.308E][.31C3.0020.0010.308E][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
-30EF 30FD ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
-FF9C 30FD ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
-308F 309D ; [.31C3.0020.0011.308F][.31C3.0020.0010.308F] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
-30EF 30FE ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF][.0000.014E.0002.3099] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
-FF9C 30FE ; [.31C3.0020.0011.30EF][.31C3.0020.0010.30EF][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
-308F 309E ; [.31C3.0020.0011.308F][.31C3.0020.0010.308F][.0000.014E.0002.3099] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
-30F0 30FD ; [.31C4.0020.0011.30F0][.31C4.0020.0010.30F0] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
-3090 309D ; [.31C4.0020.0011.3090][.31C4.0020.0010.3090] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
-30F0 30FE ; [.31C4.0020.0011.30F0][.31C4.0020.0010.30F0][.0000.014E.0002.3099] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
-3090 309E ; [.31C4.0020.0011.3090][.31C4.0020.0010.3090][.0000.014E.0002.3099] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
-30F1 30FD ; [.31C5.0020.0011.30F1][.31C5.0020.0010.30F1] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
-3091 309D ; [.31C5.0020.0011.3091][.31C5.0020.0010.3091] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
-30F1 30FE ; [.31C5.0020.0011.30F1][.31C5.0020.0010.30F1][.0000.014E.0002.3099] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
-3091 309E ; [.31C5.0020.0011.3091][.31C5.0020.0010.3091][.0000.014E.0002.3099] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
-30F2 30FD ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
-FF66 30FD ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
-3092 309D ; [.31C6.0020.0011.3092][.31C6.0020.0010.3092] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
-30F2 30FE ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2][.0000.014E.0002.3099] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
-FF66 30FE ; [.31C6.0020.0011.30F2][.31C6.0020.0010.30F2][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
-3092 309E ; [.31C6.0020.0011.3092][.31C6.0020.0010.3092][.0000.014E.0002.3099] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
-30F3 30FD ; [.31C7.0020.0011.30F3][.31C7.0020.0010.30F3] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
-FF9D 30FD ; [.31C7.0020.0011.30F3][.31C7.0020.0010.30F3] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
-3093 309D ; [.31C7.0020.0011.3093][.31C7.0020.0010.3093] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
-30F4 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
-30A6 3099 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF73 FF9E 30FD ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-3094 309D ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
-3046 3099 309D ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
-30F4 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
-30A6 3099 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF73 FF9E 30FE ; [.3198.0020.0011.30A6][.0000.014E.0002.3099][.3198.0020.0010.30F4][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-3094 309E ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094][.0000.014E.0002.3099] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
-3046 3099 309E ; [.3198.0020.0011.3046][.0000.014E.0002.3099][.3198.0020.0010.3094][.0000.014E.0002.3099] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
-30F5 30FD ; [.319C.0020.000F.30F5][.319C.0020.0010.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
-3095 309D ; [.319C.0020.000F.3095][.319C.0020.0010.3095] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
-30F5 30FE ; [.319C.0020.000F.30F5][.319C.0020.0010.30F5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
-3095 309E ; [.319C.0020.000F.3095][.319C.0020.0010.3095][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
-30F6 30FD ; [.319F.0020.000F.30F6][.319F.0020.0010.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
-3096 309D ; [.319F.0020.000F.3096][.319F.0020.0010.3096] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
-30F6 30FE ; [.319F.0020.000F.30F6][.319F.0020.0010.30F6][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
-3096 309E ; [.319F.0020.000F.3096][.319F.0020.0010.3096][.0000.014E.0002.3099] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
-30F7 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
-30EF 3099 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF9C FF9E 30FD ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F7 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
-30EF 3099 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF9C FF9E 30FE ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099][.31C3.0020.0010.30F7][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30F8 30FD ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
-30F0 3099 30FD ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F8 30FE ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8][.0000.014E.0002.3099] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
-30F0 3099 30FE ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099][.31C4.0020.0010.30F8][.0000.014E.0002.3099] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30F9 30FD ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
-30F1 3099 30FD ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30F9 30FE ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9][.0000.014E.0002.3099] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
-30F1 3099 30FE ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099][.31C5.0020.0010.30F9][.0000.014E.0002.3099] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-30FA 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
-30F2 3099 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-FF66 FF9E 30FD ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
-30FA 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
-30F2 3099 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-FF66 FF9E 30FE ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099][.31C6.0020.0010.30FA][.0000.014E.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
-31F0 30FD ; [.319E.0020.000F.31F0][.319E.0020.0010.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
-31F0 30FE ; [.319E.0020.000F.31F0][.319E.0020.0010.31F0][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
-31F1 30FD ; [.31A2.0020.000F.31F1][.31A2.0020.0010.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
-31F1 30FE ; [.31A2.0020.000F.31F1][.31A2.0020.0010.31F1][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
-31F2 30FD ; [.31A3.0020.000F.31F2][.31A3.0020.0010.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
-31F2 30FE ; [.31A3.0020.000F.31F2][.31A3.0020.0010.31F2][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
-31F3 30FD ; [.31AA.0020.000F.31F3][.31AA.0020.0010.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
-31F3 30FE ; [.31AA.0020.000F.31F3][.31AA.0020.0010.31F3][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
-31F4 30FD ; [.31AD.0020.000F.31F4][.31AD.0020.0010.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
-31F5 30FD ; [.31B0.0020.000F.31F5][.31B0.0020.0010.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
-31F5 30FE ; [.31B0.0020.000F.31F5][.31B0.0020.0010.31F5][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
-31F6 30FD ; [.31B1.0020.000F.31F6][.31B1.0020.0010.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
-31F6 30FE ; [.31B1.0020.000F.31F6][.31B1.0020.0010.31F6][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
-31F7 30FD ; [.31B2.0020.000F.31F7][.31B2.0020.0010.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
-31F7 30FE ; [.31B2.0020.000F.31F7][.31B2.0020.0010.31F7][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
-31F8 30FD ; [.31B3.0020.000F.31F8][.31B3.0020.0010.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
-31F8 30FE ; [.31B3.0020.000F.31F8][.31B3.0020.0010.31F8][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
-31F9 30FD ; [.31B4.0020.000F.31F9][.31B4.0020.0010.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
-31F9 30FE ; [.31B4.0020.000F.31F9][.31B4.0020.0010.31F9][.0000.014E.0002.3099] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
-31FA 30FD ; [.31B7.0020.000F.31FA][.31B7.0020.0010.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
-31FB 30FD ; [.31BE.0020.000F.31FB][.31BE.0020.0010.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
-31FC 30FD ; [.31BF.0020.000F.31FC][.31BF.0020.0010.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
-31FD 30FD ; [.31C0.0020.000F.31FD][.31C0.0020.0010.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
-31FE 30FD ; [.31C1.0020.000F.31FE][.31C1.0020.0010.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
-31FF 30FD ; [.31C2.0020.000F.31FF][.31C2.0020.0010.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
+FFE4      ; [*05A5.0020.0002.00A6] # FULLWIDTH BROKEN BAR
+FFE5      ; [.15C0.0020.0002.00A5] # FULLWIDTH YEN SIGN
+FFE6      ; [.15D3.0020.0002.20A9] # FULLWIDTH WON SIGN
+FFE8      ; [*0799.0020.0002.2502] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9      ; [*0522.0020.0002.2190] # HALFWIDTH LEFTWARDS ARROW
+FFEA      ; [*0524.0020.0002.2191] # HALFWIDTH UPWARDS ARROW
+FFEB      ; [*0523.0020.0002.2192] # HALFWIDTH RIGHTWARDS ARROW
+FFEC      ; [*0525.0020.0002.2193] # HALFWIDTH DOWNWARDS ARROW
+FFED      ; [*0837.0020.0002.25A0] # HALFWIDTH BLACK SQUARE
+FFEE      ; [*0862.0020.0002.25CB] # HALFWIDTH WHITE CIRCLE
+30A1 30FC ; [.32BB.0020.000F.30A1][.32BB.0020.0007.30A1] # <KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 30FC ; [.32BB.0020.000F.30A1][.32BB.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF67 FF70 ; [.32BB.0020.000F.30A1][.32BB.0020.0007.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3041 30FC ; [.32BB.0020.000F.3041][.32BB.0020.0007.3041] # <HIRAGANA LETTER SMALL A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A2 30FC ; [.32BB.0020.0011.30A2][.32BB.0020.0007.30A2] # <KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 30FC ; [.32BB.0020.0011.30A2][.32BB.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF71 FF70 ; [.32BB.0020.0011.30A2][.32BB.0020.0007.30A2] # <HALFWIDTH KATAKANA LETTER A, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3042 30FC ; [.32BB.0020.0011.3042][.32BB.0020.0007.3042] # <HIRAGANA LETTER A, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 30FC ; [.32C1.0020.0011.30AB][.32BB.0020.0007.30AB] # <KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 30FC ; [.32C1.0020.0011.30AB][.32BB.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF70 ; [.32C1.0020.0011.30AB][.32BB.0020.0007.30AB] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 30FC ; [.32C1.0020.0011.304B][.32BB.0020.0007.304B] # <HIRAGANA LETTER KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AC 30FC ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32BB.0020.0007.30AC] # <KATAKANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AB 3099 30FC ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32BB.0020.0007.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E 30FC ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32BB.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF76 FF9E FF70 ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32BB.0020.0007.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304C 30FC ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32BB.0020.0007.304C] # <HIRAGANA LETTER GA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304B 3099 30FC ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32BB.0020.0007.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 30FC ; [.32C6.0020.0011.30B5][.32BB.0020.0007.30B5] # <KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B 30FC ; [.32C6.0020.0011.30B5][.32BB.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF70 ; [.32C6.0020.0011.30B5][.32BB.0020.0007.30B5] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 30FC ; [.32C6.0020.0011.3055][.32BB.0020.0007.3055] # <HIRAGANA LETTER SA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B6 30FC ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32BB.0020.0007.30B6] # <KATAKANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B5 3099 30FC ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32BB.0020.0007.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E 30FC ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32BB.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7B FF9E FF70 ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32BB.0020.0007.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3056 30FC ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32BB.0020.0007.3056] # <HIRAGANA LETTER ZA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3055 3099 30FC ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32BB.0020.0007.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 30FC ; [.32CB.0020.0011.30BF][.32BB.0020.0007.30BF] # <KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 30FC ; [.32CB.0020.0011.30BF][.32BB.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF70 ; [.32CB.0020.0011.30BF][.32BB.0020.0007.30BF] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 30FC ; [.32CB.0020.0011.305F][.32BB.0020.0007.305F] # <HIRAGANA LETTER TA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C0 30FC ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32BB.0020.0007.30C0] # <KATAKANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BF 3099 30FC ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32BB.0020.0007.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E 30FC ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32BB.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF80 FF9E FF70 ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32BB.0020.0007.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3060 30FC ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32BB.0020.0007.3060] # <HIRAGANA LETTER DA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305F 3099 30FC ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32BB.0020.0007.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CA 30FC ; [.32D0.0020.0011.30CA][.32BB.0020.0007.30CA] # <KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 30FC ; [.32D0.0020.0011.30CA][.32BB.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF85 FF70 ; [.32D0.0020.0011.30CA][.32BB.0020.0007.30CA] # <HALFWIDTH KATAKANA LETTER NA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306A 30FC ; [.32D0.0020.0011.306A][.32BB.0020.0007.306A] # <HIRAGANA LETTER NA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 30FC ; [.32D5.0020.0011.30CF][.32BB.0020.0007.30CF] # <KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A 30FC ; [.32D5.0020.0011.30CF][.32BB.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF70 ; [.32D5.0020.0011.30CF][.32BB.0020.0007.30CF] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 30FC ; [.32D5.0020.0011.306F][.32BB.0020.0007.306F] # <HIRAGANA LETTER HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D0 30FC ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32BB.0020.0007.30D0] # <KATAKANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 3099 30FC ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32BB.0020.0007.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E 30FC ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32BB.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9E FF70 ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32BB.0020.0007.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3070 30FC ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32BB.0020.0007.3070] # <HIRAGANA LETTER BA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 3099 30FC ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32BB.0020.0007.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D1 30FC ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32BB.0020.0007.30D1] # <KATAKANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CF 309A 30FC ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32BB.0020.0007.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F 30FC ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32BB.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8A FF9F FF70 ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32BB.0020.0007.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3071 30FC ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32BB.0020.0007.3071] # <HIRAGANA LETTER PA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306F 309A 30FC ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32BB.0020.0007.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DE 30FC ; [.32DA.0020.0011.30DE][.32BB.0020.0007.30DE] # <KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F 30FC ; [.32DA.0020.0011.30DE][.32BB.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8F FF70 ; [.32DA.0020.0011.30DE][.32BB.0020.0007.30DE] # <HALFWIDTH KATAKANA LETTER MA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307E 30FC ; [.32DA.0020.0011.307E][.32BB.0020.0007.307E] # <HIRAGANA LETTER MA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E3 30FC ; [.32DF.0020.000F.30E3][.32BB.0020.0007.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C 30FC ; [.32DF.0020.000F.30E3][.32BB.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6C FF70 ; [.32DF.0020.000F.30E3][.32BB.0020.0007.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3083 30FC ; [.32DF.0020.000F.3083][.32BB.0020.0007.3083] # <HIRAGANA LETTER SMALL YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E4 30FC ; [.32DF.0020.0011.30E4][.32BB.0020.0007.30E4] # <KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 30FC ; [.32DF.0020.0011.30E4][.32BB.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF94 FF70 ; [.32DF.0020.0011.30E4][.32BB.0020.0007.30E4] # <HALFWIDTH KATAKANA LETTER YA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3084 30FC ; [.32DF.0020.0011.3084][.32BB.0020.0007.3084] # <HIRAGANA LETTER YA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E9 30FC ; [.32E3.0020.0011.30E9][.32BB.0020.0007.30E9] # <KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 30FC ; [.32E3.0020.0011.30E9][.32BB.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF97 FF70 ; [.32E3.0020.0011.30E9][.32BB.0020.0007.30E9] # <HALFWIDTH KATAKANA LETTER RA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3089 30FC ; [.32E3.0020.0011.3089][.32BB.0020.0007.3089] # <HIRAGANA LETTER RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EE 30FC ; [.32E8.0020.000F.30EE][.32BB.0020.0007.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308E 30FC ; [.32E8.0020.000F.308E][.32BB.0020.0007.308E] # <HIRAGANA LETTER SMALL WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 30FC ; [.32E8.0020.0011.30EF][.32BB.0020.0007.30EF] # <KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C 30FC ; [.32E8.0020.0011.30EF][.32BB.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF70 ; [.32E8.0020.0011.30EF][.32BB.0020.0007.30EF] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308F 30FC ; [.32E8.0020.0011.308F][.32BB.0020.0007.308F] # <HIRAGANA LETTER WA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F7 30FC ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32BB.0020.0007.30F7] # <KATAKANA LETTER VA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EF 3099 30FC ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32BB.0020.0007.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E 30FC ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32BB.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9C FF9E FF70 ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32BB.0020.0007.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F5 30FC ; [.32C1.0020.000F.30F5][.32BB.0020.0007.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3095 30FC ; [.32C1.0020.000F.3095][.32BB.0020.0007.3095] # <HIRAGANA LETTER SMALL KA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F5 30FC ; [.32D5.0020.000F.31F5][.32BB.0020.0007.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FB 30FC ; [.32E3.0020.000F.31FB][.32BB.0020.0007.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A3 30FC ; [.32BC.0020.000F.30A3][.32BC.0020.0007.30A3] # <KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 30FC ; [.32BC.0020.000F.30A3][.32BC.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF68 FF70 ; [.32BC.0020.000F.30A3][.32BC.0020.0007.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3043 30FC ; [.32BC.0020.000F.3043][.32BC.0020.0007.3043] # <HIRAGANA LETTER SMALL I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A4 30FC ; [.32BC.0020.0011.30A4][.32BC.0020.0007.30A4] # <KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 30FC ; [.32BC.0020.0011.30A4][.32BC.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF72 FF70 ; [.32BC.0020.0011.30A4][.32BC.0020.0007.30A4] # <HALFWIDTH KATAKANA LETTER I, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3044 30FC ; [.32BC.0020.0011.3044][.32BC.0020.0007.3044] # <HIRAGANA LETTER I, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 30FC ; [.32C2.0020.0011.30AD][.32BC.0020.0007.30AD] # <KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 30FC ; [.32C2.0020.0011.30AD][.32BC.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF70 ; [.32C2.0020.0011.30AD][.32BC.0020.0007.30AD] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 30FC ; [.32C2.0020.0011.304D][.32BC.0020.0007.304D] # <HIRAGANA LETTER KI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AE 30FC ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32BC.0020.0007.30AE] # <KATAKANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AD 3099 30FC ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32BC.0020.0007.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E 30FC ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32BC.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF77 FF9E FF70 ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32BC.0020.0007.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304E 30FC ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32BC.0020.0007.304E] # <HIRAGANA LETTER GI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304D 3099 30FC ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32BC.0020.0007.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 30FC ; [.32C7.0020.0011.30B7][.32BC.0020.0007.30B7] # <KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C 30FC ; [.32C7.0020.0011.30B7][.32BC.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF70 ; [.32C7.0020.0011.30B7][.32BC.0020.0007.30B7] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 30FC ; [.32C7.0020.0011.3057][.32BC.0020.0007.3057] # <HIRAGANA LETTER SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B8 30FC ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32BC.0020.0007.30B8] # <KATAKANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B7 3099 30FC ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32BC.0020.0007.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E 30FC ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32BC.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7C FF9E FF70 ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32BC.0020.0007.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3058 30FC ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32BC.0020.0007.3058] # <HIRAGANA LETTER ZI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3057 3099 30FC ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32BC.0020.0007.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 30FC ; [.32CC.0020.0011.30C1][.32BC.0020.0007.30C1] # <KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 30FC ; [.32CC.0020.0011.30C1][.32BC.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF70 ; [.32CC.0020.0011.30C1][.32BC.0020.0007.30C1] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 30FC ; [.32CC.0020.0011.3061][.32BC.0020.0007.3061] # <HIRAGANA LETTER TI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C2 30FC ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32BC.0020.0007.30C2] # <KATAKANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C1 3099 30FC ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32BC.0020.0007.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E 30FC ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32BC.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF81 FF9E FF70 ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32BC.0020.0007.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3062 30FC ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32BC.0020.0007.3062] # <HIRAGANA LETTER DI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3061 3099 30FC ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32BC.0020.0007.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CB 30FC ; [.32D1.0020.0011.30CB][.32BC.0020.0007.30CB] # <KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 30FC ; [.32D1.0020.0011.30CB][.32BC.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF86 FF70 ; [.32D1.0020.0011.30CB][.32BC.0020.0007.30CB] # <HALFWIDTH KATAKANA LETTER NI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306B 30FC ; [.32D1.0020.0011.306B][.32BC.0020.0007.306B] # <HIRAGANA LETTER NI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 30FC ; [.32D6.0020.0011.30D2][.32BC.0020.0007.30D2] # <KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B 30FC ; [.32D6.0020.0011.30D2][.32BC.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF70 ; [.32D6.0020.0011.30D2][.32BC.0020.0007.30D2] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 30FC ; [.32D6.0020.0011.3072][.32BC.0020.0007.3072] # <HIRAGANA LETTER HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D3 30FC ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32BC.0020.0007.30D3] # <KATAKANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 3099 30FC ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32BC.0020.0007.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E 30FC ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32BC.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9E FF70 ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32BC.0020.0007.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3073 30FC ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32BC.0020.0007.3073] # <HIRAGANA LETTER BI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 3099 30FC ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32BC.0020.0007.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D4 30FC ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32BC.0020.0007.30D4] # <KATAKANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D2 309A 30FC ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32BC.0020.0007.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F 30FC ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32BC.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8B FF9F FF70 ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32BC.0020.0007.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3074 30FC ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32BC.0020.0007.3074] # <HIRAGANA LETTER PI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3072 309A 30FC ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32BC.0020.0007.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DF 30FC ; [.32DB.0020.0011.30DF][.32BC.0020.0007.30DF] # <KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 30FC ; [.32DB.0020.0011.30DF][.32BC.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF90 FF70 ; [.32DB.0020.0011.30DF][.32BC.0020.0007.30DF] # <HALFWIDTH KATAKANA LETTER MI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307F 30FC ; [.32DB.0020.0011.307F][.32BC.0020.0007.307F] # <HIRAGANA LETTER MI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EA 30FC ; [.32E4.0020.0011.30EA][.32BC.0020.0007.30EA] # <KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 30FC ; [.32E4.0020.0011.30EA][.32BC.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF98 FF70 ; [.32E4.0020.0011.30EA][.32BC.0020.0007.30EA] # <HALFWIDTH KATAKANA LETTER RI, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308A 30FC ; [.32E4.0020.0011.308A][.32BC.0020.0007.308A] # <HIRAGANA LETTER RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 30FC ; [.32E9.0020.0011.30F0][.32BC.0020.0007.30F0] # <KATAKANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3090 30FC ; [.32E9.0020.0011.3090][.32BC.0020.0007.3090] # <HIRAGANA LETTER WI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F8 30FC ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32BC.0020.0007.30F8] # <KATAKANA LETTER VI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F0 3099 30FC ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32BC.0020.0007.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F1 30FC ; [.32C7.0020.000F.31F1][.32BC.0020.0007.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F6 30FC ; [.32D6.0020.000F.31F6][.32BC.0020.0007.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FC 30FC ; [.32E4.0020.000F.31FC][.32BC.0020.0007.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A5 30FC ; [.32BD.0020.000F.30A5][.32BD.0020.0007.30A5] # <KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 30FC ; [.32BD.0020.000F.30A5][.32BD.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF69 FF70 ; [.32BD.0020.000F.30A5][.32BD.0020.0007.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3045 30FC ; [.32BD.0020.000F.3045][.32BD.0020.0007.3045] # <HIRAGANA LETTER SMALL U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 30FC ; [.32BD.0020.0011.30A6][.32BD.0020.0007.30A6] # <KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 30FC ; [.32BD.0020.0011.30A6][.32BD.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF70 ; [.32BD.0020.0011.30A6][.32BD.0020.0007.30A6] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 30FC ; [.32BD.0020.0011.3046][.32BD.0020.0007.3046] # <HIRAGANA LETTER U, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 30FC ; [.32C3.0020.0011.30AF][.32BD.0020.0007.30AF] # <KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 30FC ; [.32C3.0020.0011.30AF][.32BD.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF70 ; [.32C3.0020.0011.30AF][.32BD.0020.0007.30AF] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 30FC ; [.32C3.0020.0011.304F][.32BD.0020.0007.304F] # <HIRAGANA LETTER KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B0 30FC ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32BD.0020.0007.30B0] # <KATAKANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AF 3099 30FC ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32BD.0020.0007.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E 30FC ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32BD.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF78 FF9E FF70 ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32BD.0020.0007.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3050 30FC ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32BD.0020.0007.3050] # <HIRAGANA LETTER GU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304F 3099 30FC ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32BD.0020.0007.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 30FC ; [.32C8.0020.0011.30B9][.32BD.0020.0007.30B9] # <KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D 30FC ; [.32C8.0020.0011.30B9][.32BD.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF70 ; [.32C8.0020.0011.30B9][.32BD.0020.0007.30B9] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 30FC ; [.32C8.0020.0011.3059][.32BD.0020.0007.3059] # <HIRAGANA LETTER SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BA 30FC ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32BD.0020.0007.30BA] # <KATAKANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B9 3099 30FC ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32BD.0020.0007.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E 30FC ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32BD.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7D FF9E FF70 ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32BD.0020.0007.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305A 30FC ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32BD.0020.0007.305A] # <HIRAGANA LETTER ZU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3059 3099 30FC ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32BD.0020.0007.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C3 30FC ; [.32CD.0020.000F.30C3][.32BD.0020.0007.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F 30FC ; [.32CD.0020.000F.30C3][.32BD.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6F FF70 ; [.32CD.0020.000F.30C3][.32BD.0020.0007.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3063 30FC ; [.32CD.0020.000F.3063][.32BD.0020.0007.3063] # <HIRAGANA LETTER SMALL TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 30FC ; [.32CD.0020.0011.30C4][.32BD.0020.0007.30C4] # <KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 30FC ; [.32CD.0020.0011.30C4][.32BD.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF70 ; [.32CD.0020.0011.30C4][.32BD.0020.0007.30C4] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 30FC ; [.32CD.0020.0011.3064][.32BD.0020.0007.3064] # <HIRAGANA LETTER TU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C5 30FC ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32BD.0020.0007.30C5] # <KATAKANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C4 3099 30FC ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32BD.0020.0007.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E 30FC ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32BD.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF82 FF9E FF70 ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32BD.0020.0007.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3065 30FC ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32BD.0020.0007.3065] # <HIRAGANA LETTER DU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3064 3099 30FC ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32BD.0020.0007.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CC 30FC ; [.32D2.0020.0011.30CC][.32BD.0020.0007.30CC] # <KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 30FC ; [.32D2.0020.0011.30CC][.32BD.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF87 FF70 ; [.32D2.0020.0011.30CC][.32BD.0020.0007.30CC] # <HALFWIDTH KATAKANA LETTER NU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306C 30FC ; [.32D2.0020.0011.306C][.32BD.0020.0007.306C] # <HIRAGANA LETTER NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 30FC ; [.32D7.0020.0011.30D5][.32BD.0020.0007.30D5] # <KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C 30FC ; [.32D7.0020.0011.30D5][.32BD.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF70 ; [.32D7.0020.0011.30D5][.32BD.0020.0007.30D5] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 30FC ; [.32D7.0020.0011.3075][.32BD.0020.0007.3075] # <HIRAGANA LETTER HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D6 30FC ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32BD.0020.0007.30D6] # <KATAKANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 3099 30FC ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32BD.0020.0007.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E 30FC ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32BD.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9E FF70 ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32BD.0020.0007.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3076 30FC ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32BD.0020.0007.3076] # <HIRAGANA LETTER BU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 3099 30FC ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32BD.0020.0007.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D7 30FC ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32BD.0020.0007.30D7] # <KATAKANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D5 309A 30FC ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32BD.0020.0007.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F 30FC ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32BD.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8C FF9F FF70 ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32BD.0020.0007.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3077 30FC ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32BD.0020.0007.3077] # <HIRAGANA LETTER PU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3075 309A 30FC ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32BD.0020.0007.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E0 30FC ; [.32DC.0020.0011.30E0][.32BD.0020.0007.30E0] # <KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 30FC ; [.32DC.0020.0011.30E0][.32BD.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF91 FF70 ; [.32DC.0020.0011.30E0][.32BD.0020.0007.30E0] # <HALFWIDTH KATAKANA LETTER MU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3080 30FC ; [.32DC.0020.0011.3080][.32BD.0020.0007.3080] # <HIRAGANA LETTER MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E5 30FC ; [.32E0.0020.000F.30E5][.32BD.0020.0007.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D 30FC ; [.32E0.0020.000F.30E5][.32BD.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6D FF70 ; [.32E0.0020.000F.30E5][.32BD.0020.0007.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3085 30FC ; [.32E0.0020.000F.3085][.32BD.0020.0007.3085] # <HIRAGANA LETTER SMALL YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E6 30FC ; [.32E0.0020.0011.30E6][.32BD.0020.0007.30E6] # <KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 30FC ; [.32E0.0020.0011.30E6][.32BD.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF95 FF70 ; [.32E0.0020.0011.30E6][.32BD.0020.0007.30E6] # <HALFWIDTH KATAKANA LETTER YU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3086 30FC ; [.32E0.0020.0011.3086][.32BD.0020.0007.3086] # <HIRAGANA LETTER YU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EB 30FC ; [.32E5.0020.0011.30EB][.32BD.0020.0007.30EB] # <KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 30FC ; [.32E5.0020.0011.30EB][.32BD.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF99 FF70 ; [.32E5.0020.0011.30EB][.32BD.0020.0007.30EB] # <HALFWIDTH KATAKANA LETTER RU, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308B 30FC ; [.32E5.0020.0011.308B][.32BD.0020.0007.308B] # <HIRAGANA LETTER RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F4 30FC ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0007.30F4] # <KATAKANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A6 3099 30FC ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0007.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E 30FC ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF73 FF9E FF70 ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0007.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3094 30FC ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0007.3094] # <HIRAGANA LETTER VU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3046 3099 30FC ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0007.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F0 30FC ; [.32C3.0020.000F.31F0][.32BD.0020.0007.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F2 30FC ; [.32C8.0020.000F.31F2][.32BD.0020.0007.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F4 30FC ; [.32D2.0020.000F.31F4][.32BD.0020.0007.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F7 30FC ; [.32D7.0020.000F.31F7][.32BD.0020.0007.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FA 30FC ; [.32DC.0020.000F.31FA][.32BD.0020.0007.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FD 30FC ; [.32E5.0020.000F.31FD][.32BD.0020.0007.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A7 30FC ; [.32BF.0020.000F.30A7][.32BF.0020.0007.30A7] # <KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A 30FC ; [.32BF.0020.000F.30A7][.32BF.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6A FF70 ; [.32BF.0020.000F.30A7][.32BF.0020.0007.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3047 30FC ; [.32BF.0020.000F.3047][.32BF.0020.0007.3047] # <HIRAGANA LETTER SMALL E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A8 30FC ; [.32BF.0020.0011.30A8][.32BF.0020.0007.30A8] # <KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 30FC ; [.32BF.0020.0011.30A8][.32BF.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF74 FF70 ; [.32BF.0020.0011.30A8][.32BF.0020.0007.30A8] # <HALFWIDTH KATAKANA LETTER E, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3048 30FC ; [.32BF.0020.0011.3048][.32BF.0020.0007.3048] # <HIRAGANA LETTER E, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 30FC ; [.32C4.0020.0011.30B1][.32BF.0020.0007.30B1] # <KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 30FC ; [.32C4.0020.0011.30B1][.32BF.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF70 ; [.32C4.0020.0011.30B1][.32BF.0020.0007.30B1] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 30FC ; [.32C4.0020.0011.3051][.32BF.0020.0007.3051] # <HIRAGANA LETTER KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B2 30FC ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32BF.0020.0007.30B2] # <KATAKANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B1 3099 30FC ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32BF.0020.0007.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E 30FC ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32BF.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF79 FF9E FF70 ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32BF.0020.0007.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3052 30FC ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32BF.0020.0007.3052] # <HIRAGANA LETTER GE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3051 3099 30FC ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32BF.0020.0007.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 30FC ; [.32C9.0020.0011.30BB][.32BF.0020.0007.30BB] # <KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E 30FC ; [.32C9.0020.0011.30BB][.32BF.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF70 ; [.32C9.0020.0011.30BB][.32BF.0020.0007.30BB] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 30FC ; [.32C9.0020.0011.305B][.32BF.0020.0007.305B] # <HIRAGANA LETTER SE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BC 30FC ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32BF.0020.0007.30BC] # <KATAKANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BB 3099 30FC ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32BF.0020.0007.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E 30FC ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32BF.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7E FF9E FF70 ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32BF.0020.0007.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305C 30FC ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32BF.0020.0007.305C] # <HIRAGANA LETTER ZE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305B 3099 30FC ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32BF.0020.0007.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 30FC ; [.32CE.0020.0011.30C6][.32BF.0020.0007.30C6] # <KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 30FC ; [.32CE.0020.0011.30C6][.32BF.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF70 ; [.32CE.0020.0011.30C6][.32BF.0020.0007.30C6] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 30FC ; [.32CE.0020.0011.3066][.32BF.0020.0007.3066] # <HIRAGANA LETTER TE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C7 30FC ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32BF.0020.0007.30C7] # <KATAKANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C6 3099 30FC ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32BF.0020.0007.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E 30FC ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32BF.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF83 FF9E FF70 ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32BF.0020.0007.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3067 30FC ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32BF.0020.0007.3067] # <HIRAGANA LETTER DE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3066 3099 30FC ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32BF.0020.0007.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CD 30FC ; [.32D3.0020.0011.30CD][.32BF.0020.0007.30CD] # <KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 30FC ; [.32D3.0020.0011.30CD][.32BF.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF88 FF70 ; [.32D3.0020.0011.30CD][.32BF.0020.0007.30CD] # <HALFWIDTH KATAKANA LETTER NE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306D 30FC ; [.32D3.0020.0011.306D][.32BF.0020.0007.306D] # <HIRAGANA LETTER NE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 30FC ; [.32D8.0020.0011.30D8][.32BF.0020.0007.30D8] # <KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D 30FC ; [.32D8.0020.0011.30D8][.32BF.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF70 ; [.32D8.0020.0011.30D8][.32BF.0020.0007.30D8] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 30FC ; [.32D8.0020.0011.3078][.32BF.0020.0007.3078] # <HIRAGANA LETTER HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D9 30FC ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32BF.0020.0007.30D9] # <KATAKANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 3099 30FC ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32BF.0020.0007.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E 30FC ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32BF.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9E FF70 ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32BF.0020.0007.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3079 30FC ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32BF.0020.0007.3079] # <HIRAGANA LETTER BE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 3099 30FC ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32BF.0020.0007.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DA 30FC ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32BF.0020.0007.30DA] # <KATAKANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30D8 309A 30FC ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32BF.0020.0007.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F 30FC ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32BF.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8D FF9F FF70 ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32BF.0020.0007.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307A 30FC ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32BF.0020.0007.307A] # <HIRAGANA LETTER PE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3078 309A 30FC ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32BF.0020.0007.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E1 30FC ; [.32DD.0020.0011.30E1][.32BF.0020.0007.30E1] # <KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 30FC ; [.32DD.0020.0011.30E1][.32BF.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF92 FF70 ; [.32DD.0020.0011.30E1][.32BF.0020.0007.30E1] # <HALFWIDTH KATAKANA LETTER ME, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3081 30FC ; [.32DD.0020.0011.3081][.32BF.0020.0007.3081] # <HIRAGANA LETTER ME, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30EC 30FC ; [.32E6.0020.0011.30EC][.32BF.0020.0007.30EC] # <KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A 30FC ; [.32E6.0020.0011.30EC][.32BF.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9A FF70 ; [.32E6.0020.0011.30EC][.32BF.0020.0007.30EC] # <HALFWIDTH KATAKANA LETTER RE, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308C 30FC ; [.32E6.0020.0011.308C][.32BF.0020.0007.308C] # <HIRAGANA LETTER RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 30FC ; [.32EA.0020.0011.30F1][.32BF.0020.0007.30F1] # <KATAKANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3091 30FC ; [.32EA.0020.0011.3091][.32BF.0020.0007.3091] # <HIRAGANA LETTER WE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F9 30FC ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32BF.0020.0007.30F9] # <KATAKANA LETTER VE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F1 3099 30FC ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32BF.0020.0007.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F6 30FC ; [.32C4.0020.000F.30F6][.32BF.0020.0007.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3096 30FC ; [.32C4.0020.000F.3096][.32BF.0020.0007.3096] # <HIRAGANA LETTER SMALL KE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F8 30FC ; [.32D8.0020.000F.31F8][.32BF.0020.0007.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FE 30FC ; [.32E6.0020.000F.31FE][.32BF.0020.0007.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A9 30FC ; [.32C0.0020.000F.30A9][.32C0.0020.0007.30A9] # <KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B 30FC ; [.32C0.0020.000F.30A9][.32C0.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6B FF70 ; [.32C0.0020.000F.30A9][.32C0.0020.0007.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3049 30FC ; [.32C0.0020.000F.3049][.32C0.0020.0007.3049] # <HIRAGANA LETTER SMALL O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30AA 30FC ; [.32C0.0020.0011.30AA][.32C0.0020.0007.30AA] # <KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 30FC ; [.32C0.0020.0011.30AA][.32C0.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF75 FF70 ; [.32C0.0020.0011.30AA][.32C0.0020.0007.30AA] # <HALFWIDTH KATAKANA LETTER O, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+304A 30FC ; [.32C0.0020.0011.304A][.32C0.0020.0007.304A] # <HIRAGANA LETTER O, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 30FC ; [.32C5.0020.0011.30B3][.32C0.0020.0007.30B3] # <KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A 30FC ; [.32C5.0020.0011.30B3][.32C0.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF70 ; [.32C5.0020.0011.30B3][.32C0.0020.0007.30B3] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 30FC ; [.32C5.0020.0011.3053][.32C0.0020.0007.3053] # <HIRAGANA LETTER KO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B4 30FC ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C0.0020.0007.30B4] # <KATAKANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30B3 3099 30FC ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C0.0020.0007.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E 30FC ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C0.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7A FF9E FF70 ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C0.0020.0007.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3054 30FC ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C0.0020.0007.3054] # <HIRAGANA LETTER GO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3053 3099 30FC ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C0.0020.0007.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 30FC ; [.32CA.0020.0011.30BD][.32C0.0020.0007.30BD] # <KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F 30FC ; [.32CA.0020.0011.30BD][.32C0.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF70 ; [.32CA.0020.0011.30BD][.32C0.0020.0007.30BD] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 30FC ; [.32CA.0020.0011.305D][.32C0.0020.0007.305D] # <HIRAGANA LETTER SO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BE 30FC ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32C0.0020.0007.30BE] # <KATAKANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30BD 3099 30FC ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32C0.0020.0007.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E 30FC ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32C0.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF7F FF9E FF70 ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32C0.0020.0007.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305E 30FC ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32C0.0020.0007.305E] # <HIRAGANA LETTER ZO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+305D 3099 30FC ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32C0.0020.0007.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 30FC ; [.32CF.0020.0011.30C8][.32C0.0020.0007.30C8] # <KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 30FC ; [.32CF.0020.0011.30C8][.32C0.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF70 ; [.32CF.0020.0011.30C8][.32C0.0020.0007.30C8] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 30FC ; [.32CF.0020.0011.3068][.32C0.0020.0007.3068] # <HIRAGANA LETTER TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C9 30FC ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32C0.0020.0007.30C9] # <KATAKANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30C8 3099 30FC ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32C0.0020.0007.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E 30FC ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32C0.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF84 FF9E FF70 ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32C0.0020.0007.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3069 30FC ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32C0.0020.0007.3069] # <HIRAGANA LETTER DO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3068 3099 30FC ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32C0.0020.0007.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30CE 30FC ; [.32D4.0020.0011.30CE][.32C0.0020.0007.30CE] # <KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 30FC ; [.32D4.0020.0011.30CE][.32C0.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF89 FF70 ; [.32D4.0020.0011.30CE][.32C0.0020.0007.30CE] # <HALFWIDTH KATAKANA LETTER NO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+306E 30FC ; [.32D4.0020.0011.306E][.32C0.0020.0007.306E] # <HIRAGANA LETTER NO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 30FC ; [.32D9.0020.0011.30DB][.32C0.0020.0007.30DB] # <KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E 30FC ; [.32D9.0020.0011.30DB][.32C0.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF70 ; [.32D9.0020.0011.30DB][.32C0.0020.0007.30DB] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 30FC ; [.32D9.0020.0011.307B][.32C0.0020.0007.307B] # <HIRAGANA LETTER HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DC 30FC ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32C0.0020.0007.30DC] # <KATAKANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 3099 30FC ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32C0.0020.0007.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E 30FC ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32C0.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9E FF70 ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32C0.0020.0007.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307C 30FC ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32C0.0020.0007.307C] # <HIRAGANA LETTER BO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 3099 30FC ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32C0.0020.0007.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DD 30FC ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32C0.0020.0007.30DD] # <KATAKANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30DB 309A 30FC ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32C0.0020.0007.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F 30FC ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32C0.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF8E FF9F FF70 ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32C0.0020.0007.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307D 30FC ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32C0.0020.0007.307D] # <HIRAGANA LETTER PO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+307B 309A 30FC ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32C0.0020.0007.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E2 30FC ; [.32DE.0020.0011.30E2][.32C0.0020.0007.30E2] # <KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 30FC ; [.32DE.0020.0011.30E2][.32C0.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF93 FF70 ; [.32DE.0020.0011.30E2][.32C0.0020.0007.30E2] # <HALFWIDTH KATAKANA LETTER MO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3082 30FC ; [.32DE.0020.0011.3082][.32C0.0020.0007.3082] # <HIRAGANA LETTER MO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E7 30FC ; [.32E2.0020.000F.30E7][.32C0.0020.0007.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E 30FC ; [.32E2.0020.000F.30E7][.32C0.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF6E FF70 ; [.32E2.0020.000F.30E7][.32C0.0020.0007.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3087 30FC ; [.32E2.0020.000F.3087][.32C0.0020.0007.3087] # <HIRAGANA LETTER SMALL YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30E8 30FC ; [.32E2.0020.0011.30E8][.32C0.0020.0007.30E8] # <KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 30FC ; [.32E2.0020.0011.30E8][.32C0.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF96 FF70 ; [.32E2.0020.0011.30E8][.32C0.0020.0007.30E8] # <HALFWIDTH KATAKANA LETTER YO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3088 30FC ; [.32E2.0020.0011.3088][.32C0.0020.0007.3088] # <HIRAGANA LETTER YO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30ED 30FC ; [.32E7.0020.0011.30ED][.32C0.0020.0007.30ED] # <KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B 30FC ; [.32E7.0020.0011.30ED][.32C0.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF9B FF70 ; [.32E7.0020.0011.30ED][.32C0.0020.0007.30ED] # <HALFWIDTH KATAKANA LETTER RO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+308D 30FC ; [.32E7.0020.0011.308D][.32C0.0020.0007.308D] # <HIRAGANA LETTER RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 30FC ; [.32EB.0020.0011.30F2][.32C0.0020.0007.30F2] # <KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 30FC ; [.32EB.0020.0011.30F2][.32C0.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF70 ; [.32EB.0020.0011.30F2][.32C0.0020.0007.30F2] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+3092 30FC ; [.32EB.0020.0011.3092][.32C0.0020.0007.3092] # <HIRAGANA LETTER WO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30FA 30FC ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32C0.0020.0007.30FA] # <KATAKANA LETTER VO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30F2 3099 30FC ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32C0.0020.0007.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E 30FC ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32C0.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+FF66 FF9E FF70 ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32C0.0020.0007.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F3 30FC ; [.32CF.0020.000F.31F3][.32C0.0020.0007.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31F9 30FC ; [.32D9.0020.000F.31F9][.32C0.0020.0007.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+31FF 30FC ; [.32E7.0020.000F.31FF][.32C0.0020.0007.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA-HIRAGANA PROLONGED SOUND MARK>
+30A1 30FD ; [.32BB.0020.000F.30A1][.32BB.0020.0010.30A1] # <KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+FF67 30FD ; [.32BB.0020.000F.30A1][.32BB.0020.0010.30A1] # <HALFWIDTH KATAKANA LETTER SMALL A, KATAKANA ITERATION MARK>
+3041 309D ; [.32BB.0020.000F.3041][.32BB.0020.0010.3041] # <HIRAGANA LETTER SMALL A, HIRAGANA ITERATION MARK>
+30A2 30FD ; [.32BB.0020.0011.30A2][.32BB.0020.0010.30A2] # <KATAKANA LETTER A, KATAKANA ITERATION MARK>
+FF71 30FD ; [.32BB.0020.0011.30A2][.32BB.0020.0010.30A2] # <HALFWIDTH KATAKANA LETTER A, KATAKANA ITERATION MARK>
+3042 309D ; [.32BB.0020.0011.3042][.32BB.0020.0010.3042] # <HIRAGANA LETTER A, HIRAGANA ITERATION MARK>
+30A3 30FD ; [.32BC.0020.000F.30A3][.32BC.0020.0010.30A3] # <KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+FF68 30FD ; [.32BC.0020.000F.30A3][.32BC.0020.0010.30A3] # <HALFWIDTH KATAKANA LETTER SMALL I, KATAKANA ITERATION MARK>
+3043 309D ; [.32BC.0020.000F.3043][.32BC.0020.0010.3043] # <HIRAGANA LETTER SMALL I, HIRAGANA ITERATION MARK>
+30A4 30FD ; [.32BC.0020.0011.30A4][.32BC.0020.0010.30A4] # <KATAKANA LETTER I, KATAKANA ITERATION MARK>
+FF72 30FD ; [.32BC.0020.0011.30A4][.32BC.0020.0010.30A4] # <HALFWIDTH KATAKANA LETTER I, KATAKANA ITERATION MARK>
+3044 309D ; [.32BC.0020.0011.3044][.32BC.0020.0010.3044] # <HIRAGANA LETTER I, HIRAGANA ITERATION MARK>
+30A5 30FD ; [.32BD.0020.000F.30A5][.32BD.0020.0010.30A5] # <KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+FF69 30FD ; [.32BD.0020.000F.30A5][.32BD.0020.0010.30A5] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA ITERATION MARK>
+3045 309D ; [.32BD.0020.000F.3045][.32BD.0020.0010.3045] # <HIRAGANA LETTER SMALL U, HIRAGANA ITERATION MARK>
+30A5 30FE ; [.32BD.0020.000F.30A5][.32BD.0020.0010.30A5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+FF69 30FE ; [.32BD.0020.000F.30A5][.32BD.0020.0010.30A5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL U, KATAKANA VOICED ITERATION MARK>
+3045 309E ; [.32BD.0020.000F.3045][.32BD.0020.0010.3045][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL U, HIRAGANA VOICED ITERATION MARK>
+30A6 30FD ; [.32BD.0020.0011.30A6][.32BD.0020.0010.30A6] # <KATAKANA LETTER U, KATAKANA ITERATION MARK>
+FF73 30FD ; [.32BD.0020.0011.30A6][.32BD.0020.0010.30A6] # <HALFWIDTH KATAKANA LETTER U, KATAKANA ITERATION MARK>
+3046 309D ; [.32BD.0020.0011.3046][.32BD.0020.0010.3046] # <HIRAGANA LETTER U, HIRAGANA ITERATION MARK>
+30A6 30FE ; [.32BD.0020.0011.30A6][.32BD.0020.0010.30A6][.0000.0128.0002.3099] # <KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+FF73 30FE ; [.32BD.0020.0011.30A6][.32BD.0020.0010.30A6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER U, KATAKANA VOICED ITERATION MARK>
+3046 309E ; [.32BD.0020.0011.3046][.32BD.0020.0010.3046][.0000.0128.0002.3099] # <HIRAGANA LETTER U, HIRAGANA VOICED ITERATION MARK>
+30A7 30FD ; [.32BF.0020.000F.30A7][.32BF.0020.0010.30A7] # <KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+FF6A 30FD ; [.32BF.0020.000F.30A7][.32BF.0020.0010.30A7] # <HALFWIDTH KATAKANA LETTER SMALL E, KATAKANA ITERATION MARK>
+3047 309D ; [.32BF.0020.000F.3047][.32BF.0020.0010.3047] # <HIRAGANA LETTER SMALL E, HIRAGANA ITERATION MARK>
+30A8 30FD ; [.32BF.0020.0011.30A8][.32BF.0020.0010.30A8] # <KATAKANA LETTER E, KATAKANA ITERATION MARK>
+FF74 30FD ; [.32BF.0020.0011.30A8][.32BF.0020.0010.30A8] # <HALFWIDTH KATAKANA LETTER E, KATAKANA ITERATION MARK>
+3048 309D ; [.32BF.0020.0011.3048][.32BF.0020.0010.3048] # <HIRAGANA LETTER E, HIRAGANA ITERATION MARK>
+30A9 30FD ; [.32C0.0020.000F.30A9][.32C0.0020.0010.30A9] # <KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+FF6B 30FD ; [.32C0.0020.000F.30A9][.32C0.0020.0010.30A9] # <HALFWIDTH KATAKANA LETTER SMALL O, KATAKANA ITERATION MARK>
+3049 309D ; [.32C0.0020.000F.3049][.32C0.0020.0010.3049] # <HIRAGANA LETTER SMALL O, HIRAGANA ITERATION MARK>
+30AA 30FD ; [.32C0.0020.0011.30AA][.32C0.0020.0010.30AA] # <KATAKANA LETTER O, KATAKANA ITERATION MARK>
+FF75 30FD ; [.32C0.0020.0011.30AA][.32C0.0020.0010.30AA] # <HALFWIDTH KATAKANA LETTER O, KATAKANA ITERATION MARK>
+304A 309D ; [.32C0.0020.0011.304A][.32C0.0020.0010.304A] # <HIRAGANA LETTER O, HIRAGANA ITERATION MARK>
+30AB 30FD ; [.32C1.0020.0011.30AB][.32C1.0020.0010.30AB] # <KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+FF76 30FD ; [.32C1.0020.0011.30AB][.32C1.0020.0010.30AB] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA ITERATION MARK>
+304B 309D ; [.32C1.0020.0011.304B][.32C1.0020.0010.304B] # <HIRAGANA LETTER KA, HIRAGANA ITERATION MARK>
+30AB 30FE ; [.32C1.0020.0011.30AB][.32C1.0020.0010.30AB][.0000.0128.0002.3099] # <KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+FF76 30FE ; [.32C1.0020.0011.30AB][.32C1.0020.0010.30AB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, KATAKANA VOICED ITERATION MARK>
+304B 309E ; [.32C1.0020.0011.304B][.32C1.0020.0010.304B][.0000.0128.0002.3099] # <HIRAGANA LETTER KA, HIRAGANA VOICED ITERATION MARK>
+30AC 30FD ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC] # <KATAKANA LETTER GA, KATAKANA ITERATION MARK>
+30AB 3099 30FD ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF76 FF9E 30FD ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304C 309D ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32C1.0020.0010.304C] # <HIRAGANA LETTER GA, HIRAGANA ITERATION MARK>
+304B 3099 309D ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32C1.0020.0010.304C] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AC 30FE ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC][.0000.0128.0002.3099] # <KATAKANA LETTER GA, KATAKANA VOICED ITERATION MARK>
+30AB 3099 30FE ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC][.0000.0128.0002.3099] # <KATAKANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF76 FF9E 30FE ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099][.32C1.0020.0010.30AC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304C 309E ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32C1.0020.0010.304C][.0000.0128.0002.3099] # <HIRAGANA LETTER GA, HIRAGANA VOICED ITERATION MARK>
+304B 3099 309E ; [.32C1.0020.0011.304B][.0000.0128.0002.3099][.32C1.0020.0010.304C][.0000.0128.0002.3099] # <HIRAGANA LETTER KA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AD 30FD ; [.32C2.0020.0011.30AD][.32C2.0020.0010.30AD] # <KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+FF77 30FD ; [.32C2.0020.0011.30AD][.32C2.0020.0010.30AD] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA ITERATION MARK>
+304D 309D ; [.32C2.0020.0011.304D][.32C2.0020.0010.304D] # <HIRAGANA LETTER KI, HIRAGANA ITERATION MARK>
+30AD 30FE ; [.32C2.0020.0011.30AD][.32C2.0020.0010.30AD][.0000.0128.0002.3099] # <KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+FF77 30FE ; [.32C2.0020.0011.30AD][.32C2.0020.0010.30AD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, KATAKANA VOICED ITERATION MARK>
+304D 309E ; [.32C2.0020.0011.304D][.32C2.0020.0010.304D][.0000.0128.0002.3099] # <HIRAGANA LETTER KI, HIRAGANA VOICED ITERATION MARK>
+30AE 30FD ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE] # <KATAKANA LETTER GI, KATAKANA ITERATION MARK>
+30AD 3099 30FD ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF77 FF9E 30FD ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+304E 309D ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32C2.0020.0010.304E] # <HIRAGANA LETTER GI, HIRAGANA ITERATION MARK>
+304D 3099 309D ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32C2.0020.0010.304E] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30AE 30FE ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE][.0000.0128.0002.3099] # <KATAKANA LETTER GI, KATAKANA VOICED ITERATION MARK>
+30AD 3099 30FE ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE][.0000.0128.0002.3099] # <KATAKANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF77 FF9E 30FE ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099][.32C2.0020.0010.30AE][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+304E 309E ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32C2.0020.0010.304E][.0000.0128.0002.3099] # <HIRAGANA LETTER GI, HIRAGANA VOICED ITERATION MARK>
+304D 3099 309E ; [.32C2.0020.0011.304D][.0000.0128.0002.3099][.32C2.0020.0010.304E][.0000.0128.0002.3099] # <HIRAGANA LETTER KI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30AF 30FD ; [.32C3.0020.0011.30AF][.32C3.0020.0010.30AF] # <KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+FF78 30FD ; [.32C3.0020.0011.30AF][.32C3.0020.0010.30AF] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA ITERATION MARK>
+304F 309D ; [.32C3.0020.0011.304F][.32C3.0020.0010.304F] # <HIRAGANA LETTER KU, HIRAGANA ITERATION MARK>
+30AF 30FE ; [.32C3.0020.0011.30AF][.32C3.0020.0010.30AF][.0000.0128.0002.3099] # <KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+FF78 30FE ; [.32C3.0020.0011.30AF][.32C3.0020.0010.30AF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, KATAKANA VOICED ITERATION MARK>
+304F 309E ; [.32C3.0020.0011.304F][.32C3.0020.0010.304F][.0000.0128.0002.3099] # <HIRAGANA LETTER KU, HIRAGANA VOICED ITERATION MARK>
+30B0 30FD ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0] # <KATAKANA LETTER GU, KATAKANA ITERATION MARK>
+30AF 3099 30FD ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF78 FF9E 30FD ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3050 309D ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32C3.0020.0010.3050] # <HIRAGANA LETTER GU, HIRAGANA ITERATION MARK>
+304F 3099 309D ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32C3.0020.0010.3050] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B0 30FE ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0][.0000.0128.0002.3099] # <KATAKANA LETTER GU, KATAKANA VOICED ITERATION MARK>
+30AF 3099 30FE ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0][.0000.0128.0002.3099] # <KATAKANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF78 FF9E 30FE ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099][.32C3.0020.0010.30B0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3050 309E ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32C3.0020.0010.3050][.0000.0128.0002.3099] # <HIRAGANA LETTER GU, HIRAGANA VOICED ITERATION MARK>
+304F 3099 309E ; [.32C3.0020.0011.304F][.0000.0128.0002.3099][.32C3.0020.0010.3050][.0000.0128.0002.3099] # <HIRAGANA LETTER KU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B1 30FD ; [.32C4.0020.0011.30B1][.32C4.0020.0010.30B1] # <KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+FF79 30FD ; [.32C4.0020.0011.30B1][.32C4.0020.0010.30B1] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA ITERATION MARK>
+3051 309D ; [.32C4.0020.0011.3051][.32C4.0020.0010.3051] # <HIRAGANA LETTER KE, HIRAGANA ITERATION MARK>
+30B1 30FE ; [.32C4.0020.0011.30B1][.32C4.0020.0010.30B1][.0000.0128.0002.3099] # <KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+FF79 30FE ; [.32C4.0020.0011.30B1][.32C4.0020.0010.30B1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, KATAKANA VOICED ITERATION MARK>
+3051 309E ; [.32C4.0020.0011.3051][.32C4.0020.0010.3051][.0000.0128.0002.3099] # <HIRAGANA LETTER KE, HIRAGANA VOICED ITERATION MARK>
+30B2 30FD ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2] # <KATAKANA LETTER GE, KATAKANA ITERATION MARK>
+30B1 3099 30FD ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF79 FF9E 30FD ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3052 309D ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32C4.0020.0010.3052] # <HIRAGANA LETTER GE, HIRAGANA ITERATION MARK>
+3051 3099 309D ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32C4.0020.0010.3052] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B2 30FE ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2][.0000.0128.0002.3099] # <KATAKANA LETTER GE, KATAKANA VOICED ITERATION MARK>
+30B1 3099 30FE ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2][.0000.0128.0002.3099] # <KATAKANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF79 FF9E 30FE ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099][.32C4.0020.0010.30B2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3052 309E ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32C4.0020.0010.3052][.0000.0128.0002.3099] # <HIRAGANA LETTER GE, HIRAGANA VOICED ITERATION MARK>
+3051 3099 309E ; [.32C4.0020.0011.3051][.0000.0128.0002.3099][.32C4.0020.0010.3052][.0000.0128.0002.3099] # <HIRAGANA LETTER KE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B3 30FD ; [.32C5.0020.0011.30B3][.32C5.0020.0010.30B3] # <KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+FF7A 30FD ; [.32C5.0020.0011.30B3][.32C5.0020.0010.30B3] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA ITERATION MARK>
+3053 309D ; [.32C5.0020.0011.3053][.32C5.0020.0010.3053] # <HIRAGANA LETTER KO, HIRAGANA ITERATION MARK>
+30B3 30FE ; [.32C5.0020.0011.30B3][.32C5.0020.0010.30B3][.0000.0128.0002.3099] # <KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+FF7A 30FE ; [.32C5.0020.0011.30B3][.32C5.0020.0010.30B3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, KATAKANA VOICED ITERATION MARK>
+3053 309E ; [.32C5.0020.0011.3053][.32C5.0020.0010.3053][.0000.0128.0002.3099] # <HIRAGANA LETTER KO, HIRAGANA VOICED ITERATION MARK>
+30B4 30FD ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4] # <KATAKANA LETTER GO, KATAKANA ITERATION MARK>
+30B3 3099 30FD ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7A FF9E 30FD ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3054 309D ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C5.0020.0010.3054] # <HIRAGANA LETTER GO, HIRAGANA ITERATION MARK>
+3053 3099 309D ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C5.0020.0010.3054] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B4 30FE ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4][.0000.0128.0002.3099] # <KATAKANA LETTER GO, KATAKANA VOICED ITERATION MARK>
+30B3 3099 30FE ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4][.0000.0128.0002.3099] # <KATAKANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7A FF9E 30FE ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099][.32C5.0020.0010.30B4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER KO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3054 309E ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C5.0020.0010.3054][.0000.0128.0002.3099] # <HIRAGANA LETTER GO, HIRAGANA VOICED ITERATION MARK>
+3053 3099 309E ; [.32C5.0020.0011.3053][.0000.0128.0002.3099][.32C5.0020.0010.3054][.0000.0128.0002.3099] # <HIRAGANA LETTER KO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B5 30FD ; [.32C6.0020.0011.30B5][.32C6.0020.0010.30B5] # <KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+FF7B 30FD ; [.32C6.0020.0011.30B5][.32C6.0020.0010.30B5] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA ITERATION MARK>
+3055 309D ; [.32C6.0020.0011.3055][.32C6.0020.0010.3055] # <HIRAGANA LETTER SA, HIRAGANA ITERATION MARK>
+30B5 30FE ; [.32C6.0020.0011.30B5][.32C6.0020.0010.30B5][.0000.0128.0002.3099] # <KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+FF7B 30FE ; [.32C6.0020.0011.30B5][.32C6.0020.0010.30B5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, KATAKANA VOICED ITERATION MARK>
+3055 309E ; [.32C6.0020.0011.3055][.32C6.0020.0010.3055][.0000.0128.0002.3099] # <HIRAGANA LETTER SA, HIRAGANA VOICED ITERATION MARK>
+30B6 30FD ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6] # <KATAKANA LETTER ZA, KATAKANA ITERATION MARK>
+30B5 3099 30FD ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7B FF9E 30FD ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3056 309D ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32C6.0020.0010.3056] # <HIRAGANA LETTER ZA, HIRAGANA ITERATION MARK>
+3055 3099 309D ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32C6.0020.0010.3056] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B6 30FE ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6][.0000.0128.0002.3099] # <KATAKANA LETTER ZA, KATAKANA VOICED ITERATION MARK>
+30B5 3099 30FE ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6][.0000.0128.0002.3099] # <KATAKANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7B FF9E 30FE ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099][.32C6.0020.0010.30B6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3056 309E ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32C6.0020.0010.3056][.0000.0128.0002.3099] # <HIRAGANA LETTER ZA, HIRAGANA VOICED ITERATION MARK>
+3055 3099 309E ; [.32C6.0020.0011.3055][.0000.0128.0002.3099][.32C6.0020.0010.3056][.0000.0128.0002.3099] # <HIRAGANA LETTER SA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B7 30FD ; [.32C7.0020.0011.30B7][.32C7.0020.0010.30B7] # <KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+FF7C 30FD ; [.32C7.0020.0011.30B7][.32C7.0020.0010.30B7] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA ITERATION MARK>
+3057 309D ; [.32C7.0020.0011.3057][.32C7.0020.0010.3057] # <HIRAGANA LETTER SI, HIRAGANA ITERATION MARK>
+30B7 30FE ; [.32C7.0020.0011.30B7][.32C7.0020.0010.30B7][.0000.0128.0002.3099] # <KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+FF7C 30FE ; [.32C7.0020.0011.30B7][.32C7.0020.0010.30B7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, KATAKANA VOICED ITERATION MARK>
+3057 309E ; [.32C7.0020.0011.3057][.32C7.0020.0010.3057][.0000.0128.0002.3099] # <HIRAGANA LETTER SI, HIRAGANA VOICED ITERATION MARK>
+30B8 30FD ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8] # <KATAKANA LETTER ZI, KATAKANA ITERATION MARK>
+30B7 3099 30FD ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7C FF9E 30FD ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3058 309D ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32C7.0020.0010.3058] # <HIRAGANA LETTER ZI, HIRAGANA ITERATION MARK>
+3057 3099 309D ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32C7.0020.0010.3058] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30B8 30FE ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8][.0000.0128.0002.3099] # <KATAKANA LETTER ZI, KATAKANA VOICED ITERATION MARK>
+30B7 3099 30FE ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8][.0000.0128.0002.3099] # <KATAKANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7C FF9E 30FE ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099][.32C7.0020.0010.30B8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3058 309E ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32C7.0020.0010.3058][.0000.0128.0002.3099] # <HIRAGANA LETTER ZI, HIRAGANA VOICED ITERATION MARK>
+3057 3099 309E ; [.32C7.0020.0011.3057][.0000.0128.0002.3099][.32C7.0020.0010.3058][.0000.0128.0002.3099] # <HIRAGANA LETTER SI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30B9 30FD ; [.32C8.0020.0011.30B9][.32C8.0020.0010.30B9] # <KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+FF7D 30FD ; [.32C8.0020.0011.30B9][.32C8.0020.0010.30B9] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA ITERATION MARK>
+3059 309D ; [.32C8.0020.0011.3059][.32C8.0020.0010.3059] # <HIRAGANA LETTER SU, HIRAGANA ITERATION MARK>
+30B9 30FE ; [.32C8.0020.0011.30B9][.32C8.0020.0010.30B9][.0000.0128.0002.3099] # <KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+FF7D 30FE ; [.32C8.0020.0011.30B9][.32C8.0020.0010.30B9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, KATAKANA VOICED ITERATION MARK>
+3059 309E ; [.32C8.0020.0011.3059][.32C8.0020.0010.3059][.0000.0128.0002.3099] # <HIRAGANA LETTER SU, HIRAGANA VOICED ITERATION MARK>
+30BA 30FD ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA] # <KATAKANA LETTER ZU, KATAKANA ITERATION MARK>
+30B9 3099 30FD ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7D FF9E 30FD ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305A 309D ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32C8.0020.0010.305A] # <HIRAGANA LETTER ZU, HIRAGANA ITERATION MARK>
+3059 3099 309D ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32C8.0020.0010.305A] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BA 30FE ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA][.0000.0128.0002.3099] # <KATAKANA LETTER ZU, KATAKANA VOICED ITERATION MARK>
+30B9 3099 30FE ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA][.0000.0128.0002.3099] # <KATAKANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7D FF9E 30FE ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099][.32C8.0020.0010.30BA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305A 309E ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32C8.0020.0010.305A][.0000.0128.0002.3099] # <HIRAGANA LETTER ZU, HIRAGANA VOICED ITERATION MARK>
+3059 3099 309E ; [.32C8.0020.0011.3059][.0000.0128.0002.3099][.32C8.0020.0010.305A][.0000.0128.0002.3099] # <HIRAGANA LETTER SU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BB 30FD ; [.32C9.0020.0011.30BB][.32C9.0020.0010.30BB] # <KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+FF7E 30FD ; [.32C9.0020.0011.30BB][.32C9.0020.0010.30BB] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA ITERATION MARK>
+305B 309D ; [.32C9.0020.0011.305B][.32C9.0020.0010.305B] # <HIRAGANA LETTER SE, HIRAGANA ITERATION MARK>
+30BB 30FE ; [.32C9.0020.0011.30BB][.32C9.0020.0010.30BB][.0000.0128.0002.3099] # <KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+FF7E 30FE ; [.32C9.0020.0011.30BB][.32C9.0020.0010.30BB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, KATAKANA VOICED ITERATION MARK>
+305B 309E ; [.32C9.0020.0011.305B][.32C9.0020.0010.305B][.0000.0128.0002.3099] # <HIRAGANA LETTER SE, HIRAGANA VOICED ITERATION MARK>
+30BC 30FD ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC] # <KATAKANA LETTER ZE, KATAKANA ITERATION MARK>
+30BB 3099 30FD ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7E FF9E 30FD ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305C 309D ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32C9.0020.0010.305C] # <HIRAGANA LETTER ZE, HIRAGANA ITERATION MARK>
+305B 3099 309D ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32C9.0020.0010.305C] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BC 30FE ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC][.0000.0128.0002.3099] # <KATAKANA LETTER ZE, KATAKANA VOICED ITERATION MARK>
+30BB 3099 30FE ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC][.0000.0128.0002.3099] # <KATAKANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7E FF9E 30FE ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099][.32C9.0020.0010.30BC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305C 309E ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32C9.0020.0010.305C][.0000.0128.0002.3099] # <HIRAGANA LETTER ZE, HIRAGANA VOICED ITERATION MARK>
+305B 3099 309E ; [.32C9.0020.0011.305B][.0000.0128.0002.3099][.32C9.0020.0010.305C][.0000.0128.0002.3099] # <HIRAGANA LETTER SE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BD 30FD ; [.32CA.0020.0011.30BD][.32CA.0020.0010.30BD] # <KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+FF7F 30FD ; [.32CA.0020.0011.30BD][.32CA.0020.0010.30BD] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA ITERATION MARK>
+305D 309D ; [.32CA.0020.0011.305D][.32CA.0020.0010.305D] # <HIRAGANA LETTER SO, HIRAGANA ITERATION MARK>
+30BD 30FE ; [.32CA.0020.0011.30BD][.32CA.0020.0010.30BD][.0000.0128.0002.3099] # <KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+FF7F 30FE ; [.32CA.0020.0011.30BD][.32CA.0020.0010.30BD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, KATAKANA VOICED ITERATION MARK>
+305D 309E ; [.32CA.0020.0011.305D][.32CA.0020.0010.305D][.0000.0128.0002.3099] # <HIRAGANA LETTER SO, HIRAGANA VOICED ITERATION MARK>
+30BE 30FD ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE] # <KATAKANA LETTER ZO, KATAKANA ITERATION MARK>
+30BD 3099 30FD ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF7F FF9E 30FD ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+305E 309D ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32CA.0020.0010.305E] # <HIRAGANA LETTER ZO, HIRAGANA ITERATION MARK>
+305D 3099 309D ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32CA.0020.0010.305E] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30BE 30FE ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE][.0000.0128.0002.3099] # <KATAKANA LETTER ZO, KATAKANA VOICED ITERATION MARK>
+30BD 3099 30FE ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE][.0000.0128.0002.3099] # <KATAKANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF7F FF9E 30FE ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099][.32CA.0020.0010.30BE][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+305E 309E ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32CA.0020.0010.305E][.0000.0128.0002.3099] # <HIRAGANA LETTER ZO, HIRAGANA VOICED ITERATION MARK>
+305D 3099 309E ; [.32CA.0020.0011.305D][.0000.0128.0002.3099][.32CA.0020.0010.305E][.0000.0128.0002.3099] # <HIRAGANA LETTER SO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30BF 30FD ; [.32CB.0020.0011.30BF][.32CB.0020.0010.30BF] # <KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+FF80 30FD ; [.32CB.0020.0011.30BF][.32CB.0020.0010.30BF] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA ITERATION MARK>
+305F 309D ; [.32CB.0020.0011.305F][.32CB.0020.0010.305F] # <HIRAGANA LETTER TA, HIRAGANA ITERATION MARK>
+30BF 30FE ; [.32CB.0020.0011.30BF][.32CB.0020.0010.30BF][.0000.0128.0002.3099] # <KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+FF80 30FE ; [.32CB.0020.0011.30BF][.32CB.0020.0010.30BF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, KATAKANA VOICED ITERATION MARK>
+305F 309E ; [.32CB.0020.0011.305F][.32CB.0020.0010.305F][.0000.0128.0002.3099] # <HIRAGANA LETTER TA, HIRAGANA VOICED ITERATION MARK>
+30C0 30FD ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0] # <KATAKANA LETTER DA, KATAKANA ITERATION MARK>
+30BF 3099 30FD ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF80 FF9E 30FD ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3060 309D ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32CB.0020.0010.3060] # <HIRAGANA LETTER DA, HIRAGANA ITERATION MARK>
+305F 3099 309D ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32CB.0020.0010.3060] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C0 30FE ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0][.0000.0128.0002.3099] # <KATAKANA LETTER DA, KATAKANA VOICED ITERATION MARK>
+30BF 3099 30FE ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0][.0000.0128.0002.3099] # <KATAKANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF80 FF9E 30FE ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099][.32CB.0020.0010.30C0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3060 309E ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32CB.0020.0010.3060][.0000.0128.0002.3099] # <HIRAGANA LETTER DA, HIRAGANA VOICED ITERATION MARK>
+305F 3099 309E ; [.32CB.0020.0011.305F][.0000.0128.0002.3099][.32CB.0020.0010.3060][.0000.0128.0002.3099] # <HIRAGANA LETTER TA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C1 30FD ; [.32CC.0020.0011.30C1][.32CC.0020.0010.30C1] # <KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+FF81 30FD ; [.32CC.0020.0011.30C1][.32CC.0020.0010.30C1] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA ITERATION MARK>
+3061 309D ; [.32CC.0020.0011.3061][.32CC.0020.0010.3061] # <HIRAGANA LETTER TI, HIRAGANA ITERATION MARK>
+30C1 30FE ; [.32CC.0020.0011.30C1][.32CC.0020.0010.30C1][.0000.0128.0002.3099] # <KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+FF81 30FE ; [.32CC.0020.0011.30C1][.32CC.0020.0010.30C1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, KATAKANA VOICED ITERATION MARK>
+3061 309E ; [.32CC.0020.0011.3061][.32CC.0020.0010.3061][.0000.0128.0002.3099] # <HIRAGANA LETTER TI, HIRAGANA VOICED ITERATION MARK>
+30C2 30FD ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2] # <KATAKANA LETTER DI, KATAKANA ITERATION MARK>
+30C1 3099 30FD ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF81 FF9E 30FD ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3062 309D ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32CC.0020.0010.3062] # <HIRAGANA LETTER DI, HIRAGANA ITERATION MARK>
+3061 3099 309D ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32CC.0020.0010.3062] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C2 30FE ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2][.0000.0128.0002.3099] # <KATAKANA LETTER DI, KATAKANA VOICED ITERATION MARK>
+30C1 3099 30FE ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2][.0000.0128.0002.3099] # <KATAKANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF81 FF9E 30FE ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099][.32CC.0020.0010.30C2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3062 309E ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32CC.0020.0010.3062][.0000.0128.0002.3099] # <HIRAGANA LETTER DI, HIRAGANA VOICED ITERATION MARK>
+3061 3099 309E ; [.32CC.0020.0011.3061][.0000.0128.0002.3099][.32CC.0020.0010.3062][.0000.0128.0002.3099] # <HIRAGANA LETTER TI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C3 30FD ; [.32CD.0020.000F.30C3][.32CD.0020.0010.30C3] # <KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+FF6F 30FD ; [.32CD.0020.000F.30C3][.32CD.0020.0010.30C3] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA ITERATION MARK>
+3063 309D ; [.32CD.0020.000F.3063][.32CD.0020.0010.3063] # <HIRAGANA LETTER SMALL TU, HIRAGANA ITERATION MARK>
+30C3 30FE ; [.32CD.0020.000F.30C3][.32CD.0020.0010.30C3][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+FF6F 30FE ; [.32CD.0020.000F.30C3][.32CD.0020.0010.30C3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER SMALL TU, KATAKANA VOICED ITERATION MARK>
+3063 309E ; [.32CD.0020.000F.3063][.32CD.0020.0010.3063][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL TU, HIRAGANA VOICED ITERATION MARK>
+30C4 30FD ; [.32CD.0020.0011.30C4][.32CD.0020.0010.30C4] # <KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+FF82 30FD ; [.32CD.0020.0011.30C4][.32CD.0020.0010.30C4] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA ITERATION MARK>
+3064 309D ; [.32CD.0020.0011.3064][.32CD.0020.0010.3064] # <HIRAGANA LETTER TU, HIRAGANA ITERATION MARK>
+30C4 30FE ; [.32CD.0020.0011.30C4][.32CD.0020.0010.30C4][.0000.0128.0002.3099] # <KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+FF82 30FE ; [.32CD.0020.0011.30C4][.32CD.0020.0010.30C4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, KATAKANA VOICED ITERATION MARK>
+3064 309E ; [.32CD.0020.0011.3064][.32CD.0020.0010.3064][.0000.0128.0002.3099] # <HIRAGANA LETTER TU, HIRAGANA VOICED ITERATION MARK>
+30C5 30FD ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5] # <KATAKANA LETTER DU, KATAKANA ITERATION MARK>
+30C4 3099 30FD ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF82 FF9E 30FD ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3065 309D ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32CD.0020.0010.3065] # <HIRAGANA LETTER DU, HIRAGANA ITERATION MARK>
+3064 3099 309D ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32CD.0020.0010.3065] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C5 30FE ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5][.0000.0128.0002.3099] # <KATAKANA LETTER DU, KATAKANA VOICED ITERATION MARK>
+30C4 3099 30FE ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5][.0000.0128.0002.3099] # <KATAKANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF82 FF9E 30FE ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099][.32CD.0020.0010.30C5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3065 309E ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32CD.0020.0010.3065][.0000.0128.0002.3099] # <HIRAGANA LETTER DU, HIRAGANA VOICED ITERATION MARK>
+3064 3099 309E ; [.32CD.0020.0011.3064][.0000.0128.0002.3099][.32CD.0020.0010.3065][.0000.0128.0002.3099] # <HIRAGANA LETTER TU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C6 30FD ; [.32CE.0020.0011.30C6][.32CE.0020.0010.30C6] # <KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+FF83 30FD ; [.32CE.0020.0011.30C6][.32CE.0020.0010.30C6] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA ITERATION MARK>
+3066 309D ; [.32CE.0020.0011.3066][.32CE.0020.0010.3066] # <HIRAGANA LETTER TE, HIRAGANA ITERATION MARK>
+30C6 30FE ; [.32CE.0020.0011.30C6][.32CE.0020.0010.30C6][.0000.0128.0002.3099] # <KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+FF83 30FE ; [.32CE.0020.0011.30C6][.32CE.0020.0010.30C6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, KATAKANA VOICED ITERATION MARK>
+3066 309E ; [.32CE.0020.0011.3066][.32CE.0020.0010.3066][.0000.0128.0002.3099] # <HIRAGANA LETTER TE, HIRAGANA VOICED ITERATION MARK>
+30C7 30FD ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7] # <KATAKANA LETTER DE, KATAKANA ITERATION MARK>
+30C6 3099 30FD ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF83 FF9E 30FD ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3067 309D ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32CE.0020.0010.3067] # <HIRAGANA LETTER DE, HIRAGANA ITERATION MARK>
+3066 3099 309D ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32CE.0020.0010.3067] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C7 30FE ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7][.0000.0128.0002.3099] # <KATAKANA LETTER DE, KATAKANA VOICED ITERATION MARK>
+30C6 3099 30FE ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7][.0000.0128.0002.3099] # <KATAKANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF83 FF9E 30FE ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099][.32CE.0020.0010.30C7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3067 309E ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32CE.0020.0010.3067][.0000.0128.0002.3099] # <HIRAGANA LETTER DE, HIRAGANA VOICED ITERATION MARK>
+3066 3099 309E ; [.32CE.0020.0011.3066][.0000.0128.0002.3099][.32CE.0020.0010.3067][.0000.0128.0002.3099] # <HIRAGANA LETTER TE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30C8 30FD ; [.32CF.0020.0011.30C8][.32CF.0020.0010.30C8] # <KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+FF84 30FD ; [.32CF.0020.0011.30C8][.32CF.0020.0010.30C8] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA ITERATION MARK>
+3068 309D ; [.32CF.0020.0011.3068][.32CF.0020.0010.3068] # <HIRAGANA LETTER TO, HIRAGANA ITERATION MARK>
+30C8 30FE ; [.32CF.0020.0011.30C8][.32CF.0020.0010.30C8][.0000.0128.0002.3099] # <KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+FF84 30FE ; [.32CF.0020.0011.30C8][.32CF.0020.0010.30C8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, KATAKANA VOICED ITERATION MARK>
+3068 309E ; [.32CF.0020.0011.3068][.32CF.0020.0010.3068][.0000.0128.0002.3099] # <HIRAGANA LETTER TO, HIRAGANA VOICED ITERATION MARK>
+30C9 30FD ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9] # <KATAKANA LETTER DO, KATAKANA ITERATION MARK>
+30C8 3099 30FD ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF84 FF9E 30FD ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3069 309D ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32CF.0020.0010.3069] # <HIRAGANA LETTER DO, HIRAGANA ITERATION MARK>
+3068 3099 309D ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32CF.0020.0010.3069] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30C9 30FE ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9][.0000.0128.0002.3099] # <KATAKANA LETTER DO, KATAKANA VOICED ITERATION MARK>
+30C8 3099 30FE ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9][.0000.0128.0002.3099] # <KATAKANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF84 FF9E 30FE ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099][.32CF.0020.0010.30C9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER TO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3069 309E ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32CF.0020.0010.3069][.0000.0128.0002.3099] # <HIRAGANA LETTER DO, HIRAGANA VOICED ITERATION MARK>
+3068 3099 309E ; [.32CF.0020.0011.3068][.0000.0128.0002.3099][.32CF.0020.0010.3069][.0000.0128.0002.3099] # <HIRAGANA LETTER TO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30CA 30FD ; [.32D0.0020.0011.30CA][.32D0.0020.0010.30CA] # <KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+FF85 30FD ; [.32D0.0020.0011.30CA][.32D0.0020.0010.30CA] # <HALFWIDTH KATAKANA LETTER NA, KATAKANA ITERATION MARK>
+306A 309D ; [.32D0.0020.0011.306A][.32D0.0020.0010.306A] # <HIRAGANA LETTER NA, HIRAGANA ITERATION MARK>
+30CB 30FD ; [.32D1.0020.0011.30CB][.32D1.0020.0010.30CB] # <KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+FF86 30FD ; [.32D1.0020.0011.30CB][.32D1.0020.0010.30CB] # <HALFWIDTH KATAKANA LETTER NI, KATAKANA ITERATION MARK>
+306B 309D ; [.32D1.0020.0011.306B][.32D1.0020.0010.306B] # <HIRAGANA LETTER NI, HIRAGANA ITERATION MARK>
+30CC 30FD ; [.32D2.0020.0011.30CC][.32D2.0020.0010.30CC] # <KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+FF87 30FD ; [.32D2.0020.0011.30CC][.32D2.0020.0010.30CC] # <HALFWIDTH KATAKANA LETTER NU, KATAKANA ITERATION MARK>
+306C 309D ; [.32D2.0020.0011.306C][.32D2.0020.0010.306C] # <HIRAGANA LETTER NU, HIRAGANA ITERATION MARK>
+30CD 30FD ; [.32D3.0020.0011.30CD][.32D3.0020.0010.30CD] # <KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+FF88 30FD ; [.32D3.0020.0011.30CD][.32D3.0020.0010.30CD] # <HALFWIDTH KATAKANA LETTER NE, KATAKANA ITERATION MARK>
+306D 309D ; [.32D3.0020.0011.306D][.32D3.0020.0010.306D] # <HIRAGANA LETTER NE, HIRAGANA ITERATION MARK>
+30CE 30FD ; [.32D4.0020.0011.30CE][.32D4.0020.0010.30CE] # <KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+FF89 30FD ; [.32D4.0020.0011.30CE][.32D4.0020.0010.30CE] # <HALFWIDTH KATAKANA LETTER NO, KATAKANA ITERATION MARK>
+306E 309D ; [.32D4.0020.0011.306E][.32D4.0020.0010.306E] # <HIRAGANA LETTER NO, HIRAGANA ITERATION MARK>
+30CF 30FD ; [.32D5.0020.0011.30CF][.32D5.0020.0010.30CF] # <KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+FF8A 30FD ; [.32D5.0020.0011.30CF][.32D5.0020.0010.30CF] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA ITERATION MARK>
+306F 309D ; [.32D5.0020.0011.306F][.32D5.0020.0010.306F] # <HIRAGANA LETTER HA, HIRAGANA ITERATION MARK>
+30CF 30FE ; [.32D5.0020.0011.30CF][.32D5.0020.0010.30CF][.0000.0128.0002.3099] # <KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+FF8A 30FE ; [.32D5.0020.0011.30CF][.32D5.0020.0010.30CF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, KATAKANA VOICED ITERATION MARK>
+306F 309E ; [.32D5.0020.0011.306F][.32D5.0020.0010.306F][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, HIRAGANA VOICED ITERATION MARK>
+30D0 30FD ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0] # <KATAKANA LETTER BA, KATAKANA ITERATION MARK>
+30CF 3099 30FD ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9E 30FD ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3070 309D ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32D5.0020.0010.3070] # <HIRAGANA LETTER BA, HIRAGANA ITERATION MARK>
+306F 3099 309D ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32D5.0020.0010.3070] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D0 30FE ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0][.0000.0128.0002.3099] # <KATAKANA LETTER BA, KATAKANA VOICED ITERATION MARK>
+30CF 3099 30FE ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0][.0000.0128.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9E 30FE ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099][.32D5.0020.0010.30D0][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3070 309E ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32D5.0020.0010.3070][.0000.0128.0002.3099] # <HIRAGANA LETTER BA, HIRAGANA VOICED ITERATION MARK>
+306F 3099 309E ; [.32D5.0020.0011.306F][.0000.0128.0002.3099][.32D5.0020.0010.3070][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D1 30FD ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1] # <KATAKANA LETTER PA, KATAKANA ITERATION MARK>
+30CF 309A 30FD ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8A FF9F 30FD ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3071 309D ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32D5.0020.0010.3071] # <HIRAGANA LETTER PA, HIRAGANA ITERATION MARK>
+306F 309A 309D ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32D5.0020.0010.3071] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D1 30FE ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1][.0000.0128.0002.3099] # <KATAKANA LETTER PA, KATAKANA VOICED ITERATION MARK>
+30CF 309A 30FE ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1][.0000.0128.0002.3099] # <KATAKANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8A FF9F 30FE ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A][.32D5.0020.0010.30D1][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HA, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3071 309E ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32D5.0020.0010.3071][.0000.0128.0002.3099] # <HIRAGANA LETTER PA, HIRAGANA VOICED ITERATION MARK>
+306F 309A 309E ; [.32D5.0020.0011.306F][.0000.0129.0002.309A][.32D5.0020.0010.3071][.0000.0128.0002.3099] # <HIRAGANA LETTER HA, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D2 30FD ; [.32D6.0020.0011.30D2][.32D6.0020.0010.30D2] # <KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+FF8B 30FD ; [.32D6.0020.0011.30D2][.32D6.0020.0010.30D2] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA ITERATION MARK>
+3072 309D ; [.32D6.0020.0011.3072][.32D6.0020.0010.3072] # <HIRAGANA LETTER HI, HIRAGANA ITERATION MARK>
+30D2 30FE ; [.32D6.0020.0011.30D2][.32D6.0020.0010.30D2][.0000.0128.0002.3099] # <KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+FF8B 30FE ; [.32D6.0020.0011.30D2][.32D6.0020.0010.30D2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, KATAKANA VOICED ITERATION MARK>
+3072 309E ; [.32D6.0020.0011.3072][.32D6.0020.0010.3072][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, HIRAGANA VOICED ITERATION MARK>
+30D3 30FD ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3] # <KATAKANA LETTER BI, KATAKANA ITERATION MARK>
+30D2 3099 30FD ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9E 30FD ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3073 309D ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32D6.0020.0010.3073] # <HIRAGANA LETTER BI, HIRAGANA ITERATION MARK>
+3072 3099 309D ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32D6.0020.0010.3073] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D3 30FE ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3][.0000.0128.0002.3099] # <KATAKANA LETTER BI, KATAKANA VOICED ITERATION MARK>
+30D2 3099 30FE ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3][.0000.0128.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9E 30FE ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099][.32D6.0020.0010.30D3][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3073 309E ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32D6.0020.0010.3073][.0000.0128.0002.3099] # <HIRAGANA LETTER BI, HIRAGANA VOICED ITERATION MARK>
+3072 3099 309E ; [.32D6.0020.0011.3072][.0000.0128.0002.3099][.32D6.0020.0010.3073][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D4 30FD ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4] # <KATAKANA LETTER PI, KATAKANA ITERATION MARK>
+30D2 309A 30FD ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8B FF9F 30FD ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3074 309D ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32D6.0020.0010.3074] # <HIRAGANA LETTER PI, HIRAGANA ITERATION MARK>
+3072 309A 309D ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32D6.0020.0010.3074] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D4 30FE ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4][.0000.0128.0002.3099] # <KATAKANA LETTER PI, KATAKANA VOICED ITERATION MARK>
+30D2 309A 30FE ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4][.0000.0128.0002.3099] # <KATAKANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8B FF9F 30FE ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A][.32D6.0020.0010.30D4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HI, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3074 309E ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32D6.0020.0010.3074][.0000.0128.0002.3099] # <HIRAGANA LETTER PI, HIRAGANA VOICED ITERATION MARK>
+3072 309A 309E ; [.32D6.0020.0011.3072][.0000.0129.0002.309A][.32D6.0020.0010.3074][.0000.0128.0002.3099] # <HIRAGANA LETTER HI, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D5 30FD ; [.32D7.0020.0011.30D5][.32D7.0020.0010.30D5] # <KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+FF8C 30FD ; [.32D7.0020.0011.30D5][.32D7.0020.0010.30D5] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA ITERATION MARK>
+3075 309D ; [.32D7.0020.0011.3075][.32D7.0020.0010.3075] # <HIRAGANA LETTER HU, HIRAGANA ITERATION MARK>
+30D5 30FE ; [.32D7.0020.0011.30D5][.32D7.0020.0010.30D5][.0000.0128.0002.3099] # <KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+FF8C 30FE ; [.32D7.0020.0011.30D5][.32D7.0020.0010.30D5][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, KATAKANA VOICED ITERATION MARK>
+3075 309E ; [.32D7.0020.0011.3075][.32D7.0020.0010.3075][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, HIRAGANA VOICED ITERATION MARK>
+30D6 30FD ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6] # <KATAKANA LETTER BU, KATAKANA ITERATION MARK>
+30D5 3099 30FD ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9E 30FD ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3076 309D ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32D7.0020.0010.3076] # <HIRAGANA LETTER BU, HIRAGANA ITERATION MARK>
+3075 3099 309D ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32D7.0020.0010.3076] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D6 30FE ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6][.0000.0128.0002.3099] # <KATAKANA LETTER BU, KATAKANA VOICED ITERATION MARK>
+30D5 3099 30FE ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6][.0000.0128.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9E 30FE ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099][.32D7.0020.0010.30D6][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3076 309E ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32D7.0020.0010.3076][.0000.0128.0002.3099] # <HIRAGANA LETTER BU, HIRAGANA VOICED ITERATION MARK>
+3075 3099 309E ; [.32D7.0020.0011.3075][.0000.0128.0002.3099][.32D7.0020.0010.3076][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D7 30FD ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7] # <KATAKANA LETTER PU, KATAKANA ITERATION MARK>
+30D5 309A 30FD ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8C FF9F 30FD ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3077 309D ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32D7.0020.0010.3077] # <HIRAGANA LETTER PU, HIRAGANA ITERATION MARK>
+3075 309A 309D ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32D7.0020.0010.3077] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D7 30FE ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7][.0000.0128.0002.3099] # <KATAKANA LETTER PU, KATAKANA VOICED ITERATION MARK>
+30D5 309A 30FE ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7][.0000.0128.0002.3099] # <KATAKANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8C FF9F 30FE ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A][.32D7.0020.0010.30D7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HU, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3077 309E ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32D7.0020.0010.3077][.0000.0128.0002.3099] # <HIRAGANA LETTER PU, HIRAGANA VOICED ITERATION MARK>
+3075 309A 309E ; [.32D7.0020.0011.3075][.0000.0129.0002.309A][.32D7.0020.0010.3077][.0000.0128.0002.3099] # <HIRAGANA LETTER HU, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30D8 30FD ; [.32D8.0020.0011.30D8][.32D8.0020.0010.30D8] # <KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+FF8D 30FD ; [.32D8.0020.0011.30D8][.32D8.0020.0010.30D8] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA ITERATION MARK>
+3078 309D ; [.32D8.0020.0011.3078][.32D8.0020.0010.3078] # <HIRAGANA LETTER HE, HIRAGANA ITERATION MARK>
+30D8 30FE ; [.32D8.0020.0011.30D8][.32D8.0020.0010.30D8][.0000.0128.0002.3099] # <KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+FF8D 30FE ; [.32D8.0020.0011.30D8][.32D8.0020.0010.30D8][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, KATAKANA VOICED ITERATION MARK>
+3078 309E ; [.32D8.0020.0011.3078][.32D8.0020.0010.3078][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, HIRAGANA VOICED ITERATION MARK>
+30D9 30FD ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9] # <KATAKANA LETTER BE, KATAKANA ITERATION MARK>
+30D8 3099 30FD ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9E 30FD ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3079 309D ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32D8.0020.0010.3079] # <HIRAGANA LETTER BE, HIRAGANA ITERATION MARK>
+3078 3099 309D ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32D8.0020.0010.3079] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30D9 30FE ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9][.0000.0128.0002.3099] # <KATAKANA LETTER BE, KATAKANA VOICED ITERATION MARK>
+30D8 3099 30FE ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9][.0000.0128.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9E 30FE ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099][.32D8.0020.0010.30D9][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3079 309E ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32D8.0020.0010.3079][.0000.0128.0002.3099] # <HIRAGANA LETTER BE, HIRAGANA VOICED ITERATION MARK>
+3078 3099 309E ; [.32D8.0020.0011.3078][.0000.0128.0002.3099][.32D8.0020.0010.3079][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DA 30FD ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA] # <KATAKANA LETTER PE, KATAKANA ITERATION MARK>
+30D8 309A 30FD ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8D FF9F 30FD ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307A 309D ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32D8.0020.0010.307A] # <HIRAGANA LETTER PE, HIRAGANA ITERATION MARK>
+3078 309A 309D ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32D8.0020.0010.307A] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DA 30FE ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA][.0000.0128.0002.3099] # <KATAKANA LETTER PE, KATAKANA VOICED ITERATION MARK>
+30D8 309A 30FE ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA][.0000.0128.0002.3099] # <KATAKANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8D FF9F 30FE ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A][.32D8.0020.0010.30DA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HE, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307A 309E ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32D8.0020.0010.307A][.0000.0128.0002.3099] # <HIRAGANA LETTER PE, HIRAGANA VOICED ITERATION MARK>
+3078 309A 309E ; [.32D8.0020.0011.3078][.0000.0129.0002.309A][.32D8.0020.0010.307A][.0000.0128.0002.3099] # <HIRAGANA LETTER HE, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DB 30FD ; [.32D9.0020.0011.30DB][.32D9.0020.0010.30DB] # <KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+FF8E 30FD ; [.32D9.0020.0011.30DB][.32D9.0020.0010.30DB] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA ITERATION MARK>
+307B 309D ; [.32D9.0020.0011.307B][.32D9.0020.0010.307B] # <HIRAGANA LETTER HO, HIRAGANA ITERATION MARK>
+30DB 30FE ; [.32D9.0020.0011.30DB][.32D9.0020.0010.30DB][.0000.0128.0002.3099] # <KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+FF8E 30FE ; [.32D9.0020.0011.30DB][.32D9.0020.0010.30DB][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, KATAKANA VOICED ITERATION MARK>
+307B 309E ; [.32D9.0020.0011.307B][.32D9.0020.0010.307B][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, HIRAGANA VOICED ITERATION MARK>
+30DC 30FD ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC] # <KATAKANA LETTER BO, KATAKANA ITERATION MARK>
+30DB 3099 30FD ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9E 30FD ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307C 309D ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32D9.0020.0010.307C] # <HIRAGANA LETTER BO, HIRAGANA ITERATION MARK>
+307B 3099 309D ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32D9.0020.0010.307C] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DC 30FE ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC][.0000.0128.0002.3099] # <KATAKANA LETTER BO, KATAKANA VOICED ITERATION MARK>
+30DB 3099 30FE ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC][.0000.0128.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9E 30FE ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099][.32D9.0020.0010.30DC][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307C 309E ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32D9.0020.0010.307C][.0000.0128.0002.3099] # <HIRAGANA LETTER BO, HIRAGANA VOICED ITERATION MARK>
+307B 3099 309E ; [.32D9.0020.0011.307B][.0000.0128.0002.3099][.32D9.0020.0010.307C][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DD 30FD ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD] # <KATAKANA LETTER PO, KATAKANA ITERATION MARK>
+30DB 309A 30FD ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF8E FF9F 30FD ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA ITERATION MARK>
+307D 309D ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32D9.0020.0010.307D] # <HIRAGANA LETTER PO, HIRAGANA ITERATION MARK>
+307B 309A 309D ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32D9.0020.0010.307D] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30DD 30FE ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD][.0000.0128.0002.3099] # <KATAKANA LETTER PO, KATAKANA VOICED ITERATION MARK>
+30DB 309A 30FE ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD][.0000.0128.0002.3099] # <KATAKANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF8E FF9F 30FE ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A][.32D9.0020.0010.30DD][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER HO, HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+307D 309E ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32D9.0020.0010.307D][.0000.0128.0002.3099] # <HIRAGANA LETTER PO, HIRAGANA VOICED ITERATION MARK>
+307B 309A 309E ; [.32D9.0020.0011.307B][.0000.0129.0002.309A][.32D9.0020.0010.307D][.0000.0128.0002.3099] # <HIRAGANA LETTER HO, COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30DE 30FD ; [.32DA.0020.0011.30DE][.32DA.0020.0010.30DE] # <KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+FF8F 30FD ; [.32DA.0020.0011.30DE][.32DA.0020.0010.30DE] # <HALFWIDTH KATAKANA LETTER MA, KATAKANA ITERATION MARK>
+307E 309D ; [.32DA.0020.0011.307E][.32DA.0020.0010.307E] # <HIRAGANA LETTER MA, HIRAGANA ITERATION MARK>
+30DF 30FD ; [.32DB.0020.0011.30DF][.32DB.0020.0010.30DF] # <KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+FF90 30FD ; [.32DB.0020.0011.30DF][.32DB.0020.0010.30DF] # <HALFWIDTH KATAKANA LETTER MI, KATAKANA ITERATION MARK>
+307F 309D ; [.32DB.0020.0011.307F][.32DB.0020.0010.307F] # <HIRAGANA LETTER MI, HIRAGANA ITERATION MARK>
+30E0 30FD ; [.32DC.0020.0011.30E0][.32DC.0020.0010.30E0] # <KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+FF91 30FD ; [.32DC.0020.0011.30E0][.32DC.0020.0010.30E0] # <HALFWIDTH KATAKANA LETTER MU, KATAKANA ITERATION MARK>
+3080 309D ; [.32DC.0020.0011.3080][.32DC.0020.0010.3080] # <HIRAGANA LETTER MU, HIRAGANA ITERATION MARK>
+30E1 30FD ; [.32DD.0020.0011.30E1][.32DD.0020.0010.30E1] # <KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+FF92 30FD ; [.32DD.0020.0011.30E1][.32DD.0020.0010.30E1] # <HALFWIDTH KATAKANA LETTER ME, KATAKANA ITERATION MARK>
+3081 309D ; [.32DD.0020.0011.3081][.32DD.0020.0010.3081] # <HIRAGANA LETTER ME, HIRAGANA ITERATION MARK>
+30E2 30FD ; [.32DE.0020.0011.30E2][.32DE.0020.0010.30E2] # <KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+FF93 30FD ; [.32DE.0020.0011.30E2][.32DE.0020.0010.30E2] # <HALFWIDTH KATAKANA LETTER MO, KATAKANA ITERATION MARK>
+3082 309D ; [.32DE.0020.0011.3082][.32DE.0020.0010.3082] # <HIRAGANA LETTER MO, HIRAGANA ITERATION MARK>
+30E3 30FD ; [.32DF.0020.000F.30E3][.32DF.0020.0010.30E3] # <KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+FF6C 30FD ; [.32DF.0020.000F.30E3][.32DF.0020.0010.30E3] # <HALFWIDTH KATAKANA LETTER SMALL YA, KATAKANA ITERATION MARK>
+3083 309D ; [.32DF.0020.000F.3083][.32DF.0020.0010.3083] # <HIRAGANA LETTER SMALL YA, HIRAGANA ITERATION MARK>
+30E4 30FD ; [.32DF.0020.0011.30E4][.32DF.0020.0010.30E4] # <KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+FF94 30FD ; [.32DF.0020.0011.30E4][.32DF.0020.0010.30E4] # <HALFWIDTH KATAKANA LETTER YA, KATAKANA ITERATION MARK>
+3084 309D ; [.32DF.0020.0011.3084][.32DF.0020.0010.3084] # <HIRAGANA LETTER YA, HIRAGANA ITERATION MARK>
+30E5 30FD ; [.32E0.0020.000F.30E5][.32E0.0020.0010.30E5] # <KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+FF6D 30FD ; [.32E0.0020.000F.30E5][.32E0.0020.0010.30E5] # <HALFWIDTH KATAKANA LETTER SMALL YU, KATAKANA ITERATION MARK>
+3085 309D ; [.32E0.0020.000F.3085][.32E0.0020.0010.3085] # <HIRAGANA LETTER SMALL YU, HIRAGANA ITERATION MARK>
+30E6 30FD ; [.32E0.0020.0011.30E6][.32E0.0020.0010.30E6] # <KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+FF95 30FD ; [.32E0.0020.0011.30E6][.32E0.0020.0010.30E6] # <HALFWIDTH KATAKANA LETTER YU, KATAKANA ITERATION MARK>
+3086 309D ; [.32E0.0020.0011.3086][.32E0.0020.0010.3086] # <HIRAGANA LETTER YU, HIRAGANA ITERATION MARK>
+30E7 30FD ; [.32E2.0020.000F.30E7][.32E2.0020.0010.30E7] # <KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+FF6E 30FD ; [.32E2.0020.000F.30E7][.32E2.0020.0010.30E7] # <HALFWIDTH KATAKANA LETTER SMALL YO, KATAKANA ITERATION MARK>
+3087 309D ; [.32E2.0020.000F.3087][.32E2.0020.0010.3087] # <HIRAGANA LETTER SMALL YO, HIRAGANA ITERATION MARK>
+30E8 30FD ; [.32E2.0020.0011.30E8][.32E2.0020.0010.30E8] # <KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+FF96 30FD ; [.32E2.0020.0011.30E8][.32E2.0020.0010.30E8] # <HALFWIDTH KATAKANA LETTER YO, KATAKANA ITERATION MARK>
+3088 309D ; [.32E2.0020.0011.3088][.32E2.0020.0010.3088] # <HIRAGANA LETTER YO, HIRAGANA ITERATION MARK>
+30E9 30FD ; [.32E3.0020.0011.30E9][.32E3.0020.0010.30E9] # <KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+FF97 30FD ; [.32E3.0020.0011.30E9][.32E3.0020.0010.30E9] # <HALFWIDTH KATAKANA LETTER RA, KATAKANA ITERATION MARK>
+3089 309D ; [.32E3.0020.0011.3089][.32E3.0020.0010.3089] # <HIRAGANA LETTER RA, HIRAGANA ITERATION MARK>
+30EA 30FD ; [.32E4.0020.0011.30EA][.32E4.0020.0010.30EA] # <KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+FF98 30FD ; [.32E4.0020.0011.30EA][.32E4.0020.0010.30EA] # <HALFWIDTH KATAKANA LETTER RI, KATAKANA ITERATION MARK>
+308A 309D ; [.32E4.0020.0011.308A][.32E4.0020.0010.308A] # <HIRAGANA LETTER RI, HIRAGANA ITERATION MARK>
+30EB 30FD ; [.32E5.0020.0011.30EB][.32E5.0020.0010.30EB] # <KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+FF99 30FD ; [.32E5.0020.0011.30EB][.32E5.0020.0010.30EB] # <HALFWIDTH KATAKANA LETTER RU, KATAKANA ITERATION MARK>
+308B 309D ; [.32E5.0020.0011.308B][.32E5.0020.0010.308B] # <HIRAGANA LETTER RU, HIRAGANA ITERATION MARK>
+30EC 30FD ; [.32E6.0020.0011.30EC][.32E6.0020.0010.30EC] # <KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+FF9A 30FD ; [.32E6.0020.0011.30EC][.32E6.0020.0010.30EC] # <HALFWIDTH KATAKANA LETTER RE, KATAKANA ITERATION MARK>
+308C 309D ; [.32E6.0020.0011.308C][.32E6.0020.0010.308C] # <HIRAGANA LETTER RE, HIRAGANA ITERATION MARK>
+30ED 30FD ; [.32E7.0020.0011.30ED][.32E7.0020.0010.30ED] # <KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+FF9B 30FD ; [.32E7.0020.0011.30ED][.32E7.0020.0010.30ED] # <HALFWIDTH KATAKANA LETTER RO, KATAKANA ITERATION MARK>
+308D 309D ; [.32E7.0020.0011.308D][.32E7.0020.0010.308D] # <HIRAGANA LETTER RO, HIRAGANA ITERATION MARK>
+30EE 30FD ; [.32E8.0020.000F.30EE][.32E8.0020.0010.30EE] # <KATAKANA LETTER SMALL WA, KATAKANA ITERATION MARK>
+308E 309D ; [.32E8.0020.000F.308E][.32E8.0020.0010.308E] # <HIRAGANA LETTER SMALL WA, HIRAGANA ITERATION MARK>
+30EE 30FE ; [.32E8.0020.000F.30EE][.32E8.0020.0010.30EE][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL WA, KATAKANA VOICED ITERATION MARK>
+308E 309E ; [.32E8.0020.000F.308E][.32E8.0020.0010.308E][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL WA, HIRAGANA VOICED ITERATION MARK>
+30EF 30FD ; [.32E8.0020.0011.30EF][.32E8.0020.0010.30EF] # <KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+FF9C 30FD ; [.32E8.0020.0011.30EF][.32E8.0020.0010.30EF] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA ITERATION MARK>
+308F 309D ; [.32E8.0020.0011.308F][.32E8.0020.0010.308F] # <HIRAGANA LETTER WA, HIRAGANA ITERATION MARK>
+30EF 30FE ; [.32E8.0020.0011.30EF][.32E8.0020.0010.30EF][.0000.0128.0002.3099] # <KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+FF9C 30FE ; [.32E8.0020.0011.30EF][.32E8.0020.0010.30EF][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, KATAKANA VOICED ITERATION MARK>
+308F 309E ; [.32E8.0020.0011.308F][.32E8.0020.0010.308F][.0000.0128.0002.3099] # <HIRAGANA LETTER WA, HIRAGANA VOICED ITERATION MARK>
+30F0 30FD ; [.32E9.0020.0011.30F0][.32E9.0020.0010.30F0] # <KATAKANA LETTER WI, KATAKANA ITERATION MARK>
+3090 309D ; [.32E9.0020.0011.3090][.32E9.0020.0010.3090] # <HIRAGANA LETTER WI, HIRAGANA ITERATION MARK>
+30F0 30FE ; [.32E9.0020.0011.30F0][.32E9.0020.0010.30F0][.0000.0128.0002.3099] # <KATAKANA LETTER WI, KATAKANA VOICED ITERATION MARK>
+3090 309E ; [.32E9.0020.0011.3090][.32E9.0020.0010.3090][.0000.0128.0002.3099] # <HIRAGANA LETTER WI, HIRAGANA VOICED ITERATION MARK>
+30F1 30FD ; [.32EA.0020.0011.30F1][.32EA.0020.0010.30F1] # <KATAKANA LETTER WE, KATAKANA ITERATION MARK>
+3091 309D ; [.32EA.0020.0011.3091][.32EA.0020.0010.3091] # <HIRAGANA LETTER WE, HIRAGANA ITERATION MARK>
+30F1 30FE ; [.32EA.0020.0011.30F1][.32EA.0020.0010.30F1][.0000.0128.0002.3099] # <KATAKANA LETTER WE, KATAKANA VOICED ITERATION MARK>
+3091 309E ; [.32EA.0020.0011.3091][.32EA.0020.0010.3091][.0000.0128.0002.3099] # <HIRAGANA LETTER WE, HIRAGANA VOICED ITERATION MARK>
+30F2 30FD ; [.32EB.0020.0011.30F2][.32EB.0020.0010.30F2] # <KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+FF66 30FD ; [.32EB.0020.0011.30F2][.32EB.0020.0010.30F2] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA ITERATION MARK>
+3092 309D ; [.32EB.0020.0011.3092][.32EB.0020.0010.3092] # <HIRAGANA LETTER WO, HIRAGANA ITERATION MARK>
+30F2 30FE ; [.32EB.0020.0011.30F2][.32EB.0020.0010.30F2][.0000.0128.0002.3099] # <KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+FF66 30FE ; [.32EB.0020.0011.30F2][.32EB.0020.0010.30F2][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, KATAKANA VOICED ITERATION MARK>
+3092 309E ; [.32EB.0020.0011.3092][.32EB.0020.0010.3092][.0000.0128.0002.3099] # <HIRAGANA LETTER WO, HIRAGANA VOICED ITERATION MARK>
+30F3 30FD ; [.32EC.0020.0011.30F3][.32EC.0020.0010.30F3] # <KATAKANA LETTER N, KATAKANA ITERATION MARK>
+FF9D 30FD ; [.32EC.0020.0011.30F3][.32EC.0020.0010.30F3] # <HALFWIDTH KATAKANA LETTER N, KATAKANA ITERATION MARK>
+3093 309D ; [.32EC.0020.0011.3093][.32EC.0020.0010.3093] # <HIRAGANA LETTER N, HIRAGANA ITERATION MARK>
+30F4 30FD ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4] # <KATAKANA LETTER VU, KATAKANA ITERATION MARK>
+30A6 3099 30FD ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF73 FF9E 30FD ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+3094 309D ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0010.3094] # <HIRAGANA LETTER VU, HIRAGANA ITERATION MARK>
+3046 3099 309D ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0010.3094] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA ITERATION MARK>
+30F4 30FE ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4][.0000.0128.0002.3099] # <KATAKANA LETTER VU, KATAKANA VOICED ITERATION MARK>
+30A6 3099 30FE ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4][.0000.0128.0002.3099] # <KATAKANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF73 FF9E 30FE ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099][.32BD.0020.0010.30F4][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER U, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+3094 309E ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0010.3094][.0000.0128.0002.3099] # <HIRAGANA LETTER VU, HIRAGANA VOICED ITERATION MARK>
+3046 3099 309E ; [.32BD.0020.0011.3046][.0000.0128.0002.3099][.32BD.0020.0010.3094][.0000.0128.0002.3099] # <HIRAGANA LETTER U, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, HIRAGANA VOICED ITERATION MARK>
+30F5 30FD ; [.32C1.0020.000F.30F5][.32C1.0020.0010.30F5] # <KATAKANA LETTER SMALL KA, KATAKANA ITERATION MARK>
+3095 309D ; [.32C1.0020.000F.3095][.32C1.0020.0010.3095] # <HIRAGANA LETTER SMALL KA, HIRAGANA ITERATION MARK>
+30F5 30FE ; [.32C1.0020.000F.30F5][.32C1.0020.0010.30F5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KA, KATAKANA VOICED ITERATION MARK>
+3095 309E ; [.32C1.0020.000F.3095][.32C1.0020.0010.3095][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL KA, HIRAGANA VOICED ITERATION MARK>
+30F6 30FD ; [.32C4.0020.000F.30F6][.32C4.0020.0010.30F6] # <KATAKANA LETTER SMALL KE, KATAKANA ITERATION MARK>
+3096 309D ; [.32C4.0020.000F.3096][.32C4.0020.0010.3096] # <HIRAGANA LETTER SMALL KE, HIRAGANA ITERATION MARK>
+30F6 30FE ; [.32C4.0020.000F.30F6][.32C4.0020.0010.30F6][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KE, KATAKANA VOICED ITERATION MARK>
+3096 309E ; [.32C4.0020.000F.3096][.32C4.0020.0010.3096][.0000.0128.0002.3099] # <HIRAGANA LETTER SMALL KE, HIRAGANA VOICED ITERATION MARK>
+30F7 30FD ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7] # <KATAKANA LETTER VA, KATAKANA ITERATION MARK>
+30EF 3099 30FD ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF9C FF9E 30FD ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F7 30FE ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7][.0000.0128.0002.3099] # <KATAKANA LETTER VA, KATAKANA VOICED ITERATION MARK>
+30EF 3099 30FE ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7][.0000.0128.0002.3099] # <KATAKANA LETTER WA, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF9C FF9E 30FE ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099][.32E8.0020.0010.30F7][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WA, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F8 30FD ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32E9.0020.0010.30F8] # <KATAKANA LETTER VI, KATAKANA ITERATION MARK>
+30F0 3099 30FD ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32E9.0020.0010.30F8] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F8 30FE ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32E9.0020.0010.30F8][.0000.0128.0002.3099] # <KATAKANA LETTER VI, KATAKANA VOICED ITERATION MARK>
+30F0 3099 30FE ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099][.32E9.0020.0010.30F8][.0000.0128.0002.3099] # <KATAKANA LETTER WI, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30F9 30FD ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32EA.0020.0010.30F9] # <KATAKANA LETTER VE, KATAKANA ITERATION MARK>
+30F1 3099 30FD ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32EA.0020.0010.30F9] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30F9 30FE ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32EA.0020.0010.30F9][.0000.0128.0002.3099] # <KATAKANA LETTER VE, KATAKANA VOICED ITERATION MARK>
+30F1 3099 30FE ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099][.32EA.0020.0010.30F9][.0000.0128.0002.3099] # <KATAKANA LETTER WE, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+30FA 30FD ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA] # <KATAKANA LETTER VO, KATAKANA ITERATION MARK>
+30F2 3099 30FD ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+FF66 FF9E 30FD ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA ITERATION MARK>
+30FA 30FE ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA][.0000.0128.0002.3099] # <KATAKANA LETTER VO, KATAKANA VOICED ITERATION MARK>
+30F2 3099 30FE ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA][.0000.0128.0002.3099] # <KATAKANA LETTER WO, COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+FF66 FF9E 30FE ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099][.32EB.0020.0010.30FA][.0000.0128.0002.3099] # <HALFWIDTH KATAKANA LETTER WO, HALFWIDTH KATAKANA VOICED SOUND MARK, KATAKANA VOICED ITERATION MARK>
+31F0 30FD ; [.32C3.0020.000F.31F0][.32C3.0020.0010.31F0] # <KATAKANA LETTER SMALL KU, KATAKANA ITERATION MARK>
+31F0 30FE ; [.32C3.0020.000F.31F0][.32C3.0020.0010.31F0][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL KU, KATAKANA VOICED ITERATION MARK>
+31F1 30FD ; [.32C7.0020.000F.31F1][.32C7.0020.0010.31F1] # <KATAKANA LETTER SMALL SI, KATAKANA ITERATION MARK>
+31F1 30FE ; [.32C7.0020.000F.31F1][.32C7.0020.0010.31F1][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL SI, KATAKANA VOICED ITERATION MARK>
+31F2 30FD ; [.32C8.0020.000F.31F2][.32C8.0020.0010.31F2] # <KATAKANA LETTER SMALL SU, KATAKANA ITERATION MARK>
+31F2 30FE ; [.32C8.0020.000F.31F2][.32C8.0020.0010.31F2][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL SU, KATAKANA VOICED ITERATION MARK>
+31F3 30FD ; [.32CF.0020.000F.31F3][.32CF.0020.0010.31F3] # <KATAKANA LETTER SMALL TO, KATAKANA ITERATION MARK>
+31F3 30FE ; [.32CF.0020.000F.31F3][.32CF.0020.0010.31F3][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL TO, KATAKANA VOICED ITERATION MARK>
+31F4 30FD ; [.32D2.0020.000F.31F4][.32D2.0020.0010.31F4] # <KATAKANA LETTER SMALL NU, KATAKANA ITERATION MARK>
+31F5 30FD ; [.32D5.0020.000F.31F5][.32D5.0020.0010.31F5] # <KATAKANA LETTER SMALL HA, KATAKANA ITERATION MARK>
+31F5 30FE ; [.32D5.0020.000F.31F5][.32D5.0020.0010.31F5][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HA, KATAKANA VOICED ITERATION MARK>
+31F6 30FD ; [.32D6.0020.000F.31F6][.32D6.0020.0010.31F6] # <KATAKANA LETTER SMALL HI, KATAKANA ITERATION MARK>
+31F6 30FE ; [.32D6.0020.000F.31F6][.32D6.0020.0010.31F6][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HI, KATAKANA VOICED ITERATION MARK>
+31F7 30FD ; [.32D7.0020.000F.31F7][.32D7.0020.0010.31F7] # <KATAKANA LETTER SMALL HU, KATAKANA ITERATION MARK>
+31F7 30FE ; [.32D7.0020.000F.31F7][.32D7.0020.0010.31F7][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HU, KATAKANA VOICED ITERATION MARK>
+31F8 30FD ; [.32D8.0020.000F.31F8][.32D8.0020.0010.31F8] # <KATAKANA LETTER SMALL HE, KATAKANA ITERATION MARK>
+31F8 30FE ; [.32D8.0020.000F.31F8][.32D8.0020.0010.31F8][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HE, KATAKANA VOICED ITERATION MARK>
+31F9 30FD ; [.32D9.0020.000F.31F9][.32D9.0020.0010.31F9] # <KATAKANA LETTER SMALL HO, KATAKANA ITERATION MARK>
+31F9 30FE ; [.32D9.0020.000F.31F9][.32D9.0020.0010.31F9][.0000.0128.0002.3099] # <KATAKANA LETTER SMALL HO, KATAKANA VOICED ITERATION MARK>
+31FA 30FD ; [.32DC.0020.000F.31FA][.32DC.0020.0010.31FA] # <KATAKANA LETTER SMALL MU, KATAKANA ITERATION MARK>
+31FB 30FD ; [.32E3.0020.000F.31FB][.32E3.0020.0010.31FB] # <KATAKANA LETTER SMALL RA, KATAKANA ITERATION MARK>
+31FC 30FD ; [.32E4.0020.000F.31FC][.32E4.0020.0010.31FC] # <KATAKANA LETTER SMALL RI, KATAKANA ITERATION MARK>
+31FD 30FD ; [.32E5.0020.000F.31FD][.32E5.0020.0010.31FD] # <KATAKANA LETTER SMALL RU, KATAKANA ITERATION MARK>
+31FE 30FD ; [.32E6.0020.000F.31FE][.32E6.0020.0010.31FE] # <KATAKANA LETTER SMALL RE, KATAKANA ITERATION MARK>
+31FF 30FD ; [.32E7.0020.000F.31FF][.32E7.0020.0010.31FF] # <KATAKANA LETTER SMALL RO, KATAKANA ITERATION MARK>
+F967      ; [.8961.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70      ; [.89AD.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905      ; [.828D.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801     ; [.81B4.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E      ; [.8709.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B      ; [.8BA0.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA      ; [.8B1E.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977      ; [.8B1F.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD      ; [.84DF.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8      ; [.8B44.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+F92D      ; [.8BC8.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5      ; [.8B46.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30      ; [.897B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805     ; [.897B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+F965      ; [.89C3.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+F9D4      ; [.8B34.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F809     ; [.8926.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B     ; [.8699.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB      ; [.8B20.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31      ; [.866B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A     ; [.866B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C      ; [.8C0C.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74      ; [.84E1.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32      ; [.8A6F.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E     ; [.8A6F.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F     ; [.8C0F.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+FA72      ; [.8651.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978      ; [.8C12.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1      ; [.8B7C.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811     ; [.8284.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75      ; [.8C15.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815     ; [.83D1.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2     ; [.8A0A.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3     ; [.8C1D.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817     ; [.856C.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818     ; [.8C1F.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A     ; [.87F4.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71      ; [.8C29.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B     ; [.8C29.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E      ; [.8B47.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979      ; [.8C2C.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955      ; [.8B22.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954      ; [.98D1.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+2F81D     ; [.8C33.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E     ; [.85B0.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00      ; [.8619.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850     ; [.8619.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C      ; [.8B56.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD      ; [.8AFD.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF      ; [.8432.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820     ; [.839C.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822     ; [.815D.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+F9C7      ; [.8B10.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A      ; [.8B32.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D      ; [.8B57.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76      ; [.8AAB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825     ; [.8AAB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33      ; [.89C4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826     ; [.89C4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952      ; [.9789.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F      ; [.8C59.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34      ; [.8263.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827     ; [.8263.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F      ; [.8C5F.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77      ; [.84A2.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828     ; [.84A2.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829     ; [.89DC.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A     ; [.8C62.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963      ; [.8A15.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B     ; [.8A15.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB      ; [.8832.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C     ; [.8C73.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35      ; [.890B.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D     ; [.890B.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E     ; [.88BF.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F     ; [.86A3.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C      ; [.8AF6.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831     ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832     ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833     ; [.823D.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B      ; [.8C84.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836     ; [.820F.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837     ; [.8C87.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906      ; [.827A.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839     ; [.823E.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A     ; [.847F.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+F9DE      ; [.8AFE.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED      ; [.8C97.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D     ; [.8210.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980      ; [.8B65.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E     ; [.879F.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F     ; [.84C5.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840     ; [.8CA8.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E      ; [.8055.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842     ; [.87F7.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843     ; [.82AD.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+2F844     ; [.8CC0.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845     ; [.864E.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846     ; [.864E.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B      ; [.8CD7.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A      ; [.8CCA.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847     ; [.8CCA.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36      ; [.815E.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78      ; [.815E.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848     ; [.81FF.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+FA37      ; [.870B.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C     ; [.870B.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38      ; [.81C6.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F     ; [.8999.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9      ; [.8D08.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B     ; [.8D12.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855     ; [.82B0.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852     ; [.856E.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853     ; [.8580.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F857     ; [.89DE.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+FA39      ; [.89A8.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10      ; [.8784.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C      ; [.8784.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C      ; [.83D4.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A      ; [.8A18.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+FA7D      ; [.899A.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A      ; [.8D4A.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942      ; [.8D4E.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851     ; [.8671.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A     ; [.88B5.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B     ; [.8792.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85D     ; [.86BA.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E     ; [.8A5B.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E      ; [.809F.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C      ; [.8853.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909      ; [.82B1.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F      ; [.8A24.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F     ; [.8D66.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981      ; [.851C.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+FA80      ; [.8D83.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866     ; [.8965.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F86A     ; [.8D99.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B     ; [.8D99.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04      ; [.86EB.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D     ; [.8DAD.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+F95F      ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA      ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F     ; [.887C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC      ; [.8B23.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870     ; [.8DBA.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872     ; [.84BE.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873     ; [.8530.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875     ; [.8DC1.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD      ; [.8873.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877     ; [.87E0.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+FA3B      ; [.8675.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF      ; [.8AFF.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C      ; [.8DCD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878     ; [.8DCD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+F9D5      ; [.8DEE.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+F921      ; [.8AF7.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+F9AB      ; [.8B49.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881     ; [.8509.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F884     ; [.8700.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F886     ; [.8A02.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E      ; [.8880.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01      ; [.87EE.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88D     ; [.8513.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2      ; [.8B5A.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928      ; [.8B6E.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E     ; [.8B6E.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA0B      ; [.8140.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+F982      ; [.8E30.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890     ; [.8E36.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943      ; [.8B6F.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F874     ; [.880B.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899     ; [.82B2.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84      ; [.83D7.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A     ; [.875D.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8      ; [.8B0A.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966      ; [.8989.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85      ; [.8E5A.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D     ; [.8877.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E     ; [.843F.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3      ; [.8881.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960      ; [.87F1.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC      ; [.8B4A.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B      ; [.82B4.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0     ; [.8E80.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D      ; [.8114.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3     ; [.8114.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5     ; [.884A.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86      ; [.8E95.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9      ; [.8E8C.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88      ; [.8AA3.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9      ; [.8EAF.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6     ; [.8465.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7     ; [.835F.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9     ; [.835F.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87      ; [.8596.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8     ; [.8596.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E      ; [.812D.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+FA3F      ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89      ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB     ; [.869B.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F      ; [.8B5C.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD     ; [.899B.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AC     ; [.82EC.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+FA40      ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B      ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0     ; [.875F.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D      ; [.8ED5.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1     ; [.8ED5.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990      ; [.8EDC.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2     ; [.85ED.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3     ; [.8EE2.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2      ; [.8EE6.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C      ; [.86D2.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5     ; [.89E5.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925      ; [.8F09.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B      ; [.8EFE.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02      ; [.86EE.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6     ; [.8EF8.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+F973      ; [.84CB.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9     ; [.8903.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7     ; [.8F12.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB     ; [.8495.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4      ; [.8882.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC     ; [.867A.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975      ; [.8B0E.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1     ; [.80A3.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D      ; [.8F2B.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E      ; [.8F15.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8C3     ; [.8A29.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+F991      ; [.8883.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+FA41      ; [.895F.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8     ; [.895F.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90      ; [.8F64.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9     ; [.82BA.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969      ; [.8F6B.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE      ; [.8B24.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983      ; [.8B1C.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42      ; [.81D2.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0      ; [.8036.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD     ; [.8F89.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12      ; [.85F1.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91      ; [.85F1.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5      ; [.8F94.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43      ; [.8510.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF     ; [.8510.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06      ; [.8A06.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F901      ; [.8366.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC     ; [.8516.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4     ; [.83D2.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929      ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92      ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8     ; [.8B70.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93      ; [.8A07.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9     ; [.8A07.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1      ; [.8B00.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC     ; [.84A4.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94      ; [.8576.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB     ; [.8FB7.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+2F8E0     ; [.8FC5.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4      ; [.8B36.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9      ; [.8A9F.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA      ; [.829B.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A      ; [.8B25.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44      ; [.88B0.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2     ; [.88B0.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2      ; [.8B01.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+F914      ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C      ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF      ; [.9037.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C      ; [.9048.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+F931      ; [.8B67.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED     ; [.828E.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D      ; [.8AF8.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF     ; [.8468.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1     ; [.907B.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+FA95      ; [.9080.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+F970      ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96      ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5     ; [.840F.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6     ; [.8145.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA     ; [.88F5.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+F972      ; [.8777.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC     ; [.80A5.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968      ; [.8916.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3      ; [.87BA.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915      ; [.8AF1.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05      ; [.8829.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900     ; [.889A.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA      ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97      ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902     ; [.8B11.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903     ; [.836D.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A      ; [.8B73.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45      ; [.811D.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901     ; [.811D.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904     ; [.859C.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905     ; [.90D2.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5      ; [.8B37.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F9D6      ; [.90E5.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E     ; [.90D3.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46      ; [.8512.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908     ; [.836E.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909     ; [.90E8.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB      ; [.8B12.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC      ; [.87C3.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+FA99      ; [.8469.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B     ; [.8469.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904      ; [.8163.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E      ; [.8B74.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47      ; [.8198.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A      ; [.8198.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992      ; [.8B5D.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F     ; [.8763.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912     ; [.912F.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922      ; [.8AF9.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984      ; [.913F.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915     ; [.9140.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B      ; [.8847.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914     ; [.8847.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F835     ; [.811E.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918     ; [.83DD.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB      ; [.914B.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A     ; [.8713.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F      ; [.8B58.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916      ; [.9156.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993      ; [.8B5E.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48      ; [.8498.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C      ; [.8498.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0      ; [.916F.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE      ; [.8B38.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932      ; [.9178.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E      ; [.9179.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920     ; [.917A.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E      ; [.84A6.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921     ; [.84A6.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946      ; [.8B75.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924     ; [.83DF.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F      ; [.88F7.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F92B      ; [.8B76.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16      ; [.874F.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0      ; [.874F.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7      ; [.91AE.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928     ; [.91B0.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961      ; [.8B0B.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB      ; [.8B0B.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929     ; [.80C1.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD      ; [.8B4B.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917      ; [.91B8.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4      ; [.8B02.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC      ; [.8B13.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A      ; [.86F1.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F     ; [.91C5.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE      ; [.91C6.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+2F932     ; [.91CF.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA3      ; [.8103.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+F9CD      ; [.8B14.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976      ; [.8B0F.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962      ; [.803A.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938     ; [.803A.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5      ; [.8B04.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+FAA5      ; [.921B.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1      ; [.8B28.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E      ; [.922C.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17      ; [.8094.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6      ; [.8094.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7      ; [.85F8.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933      ; [.924A.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8      ; [.8775.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940     ; [.8775.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D      ; [.854D.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945     ; [.9253.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946     ; [.85A0.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947     ; [.85A0.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA      ; [.873E.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+2F94A     ; [.9263.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+F9CE      ; [.8B15.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B      ; [.9281.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F     ; [.9281.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B      ; [.8919.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947      ; [.928D.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+F985      ; [.927A.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18      ; [.8B4C.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C      ; [.8499.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E      ; [.81DC.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D      ; [.844C.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F      ; [.8AB9.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50      ; [.8661.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953     ; [.8661.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51      ; [.84F0.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19      ; [.85A1.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A      ; [.8550.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C      ; [.92A1.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52      ; [.80ED.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53      ; [.87AE.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B      ; [.898C.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956     ; [.898C.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6      ; [.92A7.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F956      ; [.8B2A.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54      ; [.839F.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959     ; [.839F.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95B     ; [.80D5.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55      ; [.8840.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7      ; [.8B0C.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8      ; [.8157.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56      ; [.8620.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD      ; [.8620.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962     ; [.930B.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963     ; [.8734.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6      ; [.8B5F.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944      ; [.9312.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9      ; [.8B16.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D      ; [.85F9.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966     ; [.9341.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03      ; [.8811.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B      ; [.8B2B.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F96A     ; [.81DF.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF      ; [.8940.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A      ; [.8402.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F      ; [.8B42.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF      ; [.9360.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C     ; [.935D.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F957      ; [.801C.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E     ; [.9368.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996      ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57      ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0      ; [.8B60.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58      ; [.9380.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950      ; [.9389.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59      ; [.88FA.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+FA5A      ; [.8515.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6      ; [.8ED1.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F90F      ; [.8AEA.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+F9AF      ; [.93C1.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E      ; [.8066.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934      ; [.8B78.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B      ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2      ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A     ; [.849B.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0      ; [.93E1.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997      ; [.8B61.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F     ; [.93EA.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945      ; [.8B79.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953      ; [.8B7F.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6     ; [.93F5.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982     ; [.8048.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985     ; [.9409.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926      ; [.942A.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6      ; [.8B3A.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C      ; [.84D2.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893     ; [.9433.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B     ; [.9433.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+FA6D      ; [.81B3.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C      ; [.8B2C.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990     ; [.8051.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F991     ; [.848E.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993     ; [.80F1.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994     ; [.89F0.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995     ; [.8105.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974      ; [.84AA.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998     ; [.84AA.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996     ; [.827F.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F99C     ; [.9478.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE      ; [.873C.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3      ; [.8380.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99D     ; [.9493.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+2F9A1     ; [.81FB.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2     ; [.8270.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3     ; [.83E5.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+FAB4      ; [.80F5.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958      ; [.8936.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918      ; [.8AF3.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E      ; [.8ADA.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F      ; [.8751.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F     ; [.8751.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999      ; [.8B62.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+F9C2      ; [.94BE.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+F923      ; [.8AFA.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0      ; [.94E4.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935      ; [.94E5.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F      ; [.8AFB.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910      ; [.94E9.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3     ; [.8209.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936      ; [.8B1D.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4     ; [.8B1D.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5     ; [.94EE.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B7     ; [.94F2.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+F911      ; [.8AEB.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+FA08      ; [.8381.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4     ; [.8040.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0      ; [.8B59.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7      ; [.8B05.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+F9E8      ; [.8B06.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912      ; [.8AEC.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60      ; [.8165.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6      ; [.9576.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924      ; [.9580.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7      ; [.898F.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A      ; [.82FA.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61      ; [.8454.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8      ; [.8454.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF     ; [.85FE.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+FAB9      ; [.876B.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB      ; [.8600.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D      ; [.8B2D.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941      ; [.8B81.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE      ; [.8AA6.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0     ; [.8AA6.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22      ; [.8519.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA      ; [.8519.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D      ; [.86F5.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD      ; [.86F5.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62      ; [.8097.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC      ; [.8097.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63      ; [.8273.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF      ; [.8273.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC      ; [.8478.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A      ; [.95E2.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0      ; [.8F6E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1     ; [.8F6E.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900      ; [.95ED.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2     ; [.95F1.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4     ; [.81AA.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5     ; [.9608.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948      ; [.8B69.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903      ; [.9607.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64      ; [.895D.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65      ; [.869E.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1      ; [.869E.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D7     ; [.81E4.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DA     ; [.9629.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937      ; [.8B6A.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+F902      ; [.849D.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+F998      ; [.966D.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7      ; [.8B3B.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2      ; [.8AA7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF     ; [.8AA7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07      ; [.966F.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D      ; [.967A.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D     ; [.8474.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971      ; [.86FD.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A      ; [.8B63.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25      ; [.804E.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67      ; [.804E.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3      ; [.96A7.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3      ; [.8B2E.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913      ; [.96AE.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+F92C      ; [.8B7B.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA26      ; [.87E9.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919      ; [.8AF4.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7      ; [.96CC.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9      ; [.8B07.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E      ; [.8B2F.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A      ; [.8275.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1      ; [.8B4E.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9EE     ; [.8124.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986      ; [.9739.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+F9C6      ; [.974C.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951      ; [.9751.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09      ; [.838C.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959      ; [.8B30.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3      ; [.8B09.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+F9DC      ; [.8B17.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1      ; [.8B3C.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F      ; [.8B4F.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8      ; [.9765.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+F9EA      ; [.8B08.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68      ; [.8864.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7      ; [.8864.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2      ; [.8B50.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949      ; [.8AF0.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+F938      ; [.8B6B.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3      ; [.9781.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C      ; [.8A9E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8      ; [.8A9E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FA69      ; [.8254.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA      ; [.8254.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4      ; [.8B31.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+FA6A      ; [.895E.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC      ; [.895E.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0      ; [.8B43.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02     ; [.81E7.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A      ; [.8902.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B      ; [.845D.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C      ; [.81B2.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+F91A      ; [.97E3.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+F987      ; [.97FD.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+F939      ; [.8B66.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+F9F2      ; [.8B3D.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+FA2D      ; [.8798.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A      ; [.83F8.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920      ; [.9890.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940      ; [.8476.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988      ; [.8B52.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3      ; [.8B3E.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15     ; [.8A2C.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989      ; [.98A3.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17     ; [.98B1.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA1C     ; [.892E.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+F9C4      ; [.8B19.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+F907      ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908      ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE      ; [.98CB.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ja.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,44 +1,53 @@
 +{
-# barred-o doesn't require tailoring
-   suppress => [0x0400..0x045F],
-   entry => <<'ENTRY', # for DUCET v6.0.0
-04B1      ; [.1A7A.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B0      ; [.1A7A.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-0456      ; [.1AF8.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406      ; [.1AF8.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-04D1      ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0      ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3      ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2      ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-0453      ; [.1963.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403      ; [.1963.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7      ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6      ; [.198B.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD      ; [.1997.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC      ; [.1997.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF      ; [.19A4.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE      ; [.19A4.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-04E5      ; [.19BC.0020.0002.0438][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4      ; [.19BC.0020.0008.0418][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0457      ; [.1AF8.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407      ; [.1AF8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-0439      ; [.19BC.0020.0002.0438][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT I
-0419      ; [.19BC.0020.0008.0418][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT I
-04E7      ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6      ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-045C      ; [.19DA.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C      ; [.19DA.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E      ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E      ; [.1A6B.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1      ; [.1A6B.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0      ; [.1A6B.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3      ; [.1A6B.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2      ; [.1A6B.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5      ; [.1ABE.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4      ; [.1ABE.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9      ; [.1AF1.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8      ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED      ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC      ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+   locale_version => 0.93,
+   suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+		0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
+		0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+		0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0451      ; [.19DA.0020.0002.0451] # CYRILLIC SMALL LETTER IO
+0435 0308 ; [.19DA.0020.0002.0451] # CYRILLIC SMALL LETTER IO
+0401      ; [.19DA.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
+0415 0308 ; [.19DA.0020.0008.0401] # CYRILLIC CAPITAL LETTER IO
+04AF      ; [.1ACE.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE      ; [.1ACE.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
+0456      ; [.1B46.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406      ; [.1B46.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+04D1      ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0      ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3      ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2      ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB      ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA      ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453      ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403      ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7      ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6      ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD      ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC      ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF      ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE      ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457      ; [.1B46.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407      ; [.1B46.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+04E7      ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6      ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB      ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA      ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C      ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C      ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E      ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E      ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1      ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0      ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3      ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2      ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5      ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4      ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9      ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8      ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED      ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC      ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477      ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476      ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kk.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,72 +1,73 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0111      ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0      ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-0138      ; [.175E.0021.0002.0138] # LATIN SMALL LETTER KRA
-004B 0027 ; [.175E.0021.0008.004B] # <LATIN CAPITAL LETTER K, APOSTROPHE>
-00FE      ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE      ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152      ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
-01FB      ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0111      ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+0138      ; [.17AB.0021.0002.0138] # LATIN SMALL LETTER KRA
+004B 0027 ; [.17AB.0021.0008.004B] # <LATIN CAPITAL LETTER K, APOSTROPHE>
+00FE      ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE      ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/kl.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,647 @@
 use Unicode::Collate::CJK::Korean;
 +{
+   locale_version => 0.93,
    overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+F967      ; [.315D.0021.0002.4E0D][.31E1.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70      ; [.315D.0032.0002.4E26][.31DA.0020.0002.4E26][.3246.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905      ; [.3156.0021.0002.4E32][.31DC.0020.0002.4E32][.3247.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801     ; [.3168.0021.0002.4E38][.31DD.0020.0002.4E38][.3235.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E      ; [.3159.0021.0002.4E39][.31D4.0020.0002.4E39][.3235.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B      ; [.315B.0021.0002.4E82][.31D4.0020.0002.4E82][.3235.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA      ; [.315B.0021.0002.4E86][.31E0.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977      ; [.315B.0021.0002.4EAE][.31D6.0020.0002.4EAE][.3246.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD      ; [.315F.0021.0002.4EC0][.31E8.0020.0002.4EC0][.3242.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8      ; [.315B.0021.0002.4EE4][.31DA.0020.0002.4EE4][.3246.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+F92D      ; [.315B.0021.0002.4F86][.31D5.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5      ; [.315B.0021.0002.4F8B][.31DB.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30      ; [.315C.0021.0002.4FAE][.31DC.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805     ; [.315C.0021.0002.4FAE][.31DC.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806     ; [.3166.0023.0002.4FBB][.31D4.0020.0002.4FBB][.3239.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965      ; [.3167.0021.0002.4FBF][.31DA.0020.0002.4FBF][.3235.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807     ; [.315D.0022.0002.5002][.31DA.0020.0002.5002][.3246.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4      ; [.315B.0022.0002.502B][.31E5.0020.0002.502B][.3235.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F809     ; [.315D.0022.0002.5099][.31E8.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B     ; [.315F.0023.0002.50CF][.31D4.0020.0002.50CF][.3246.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB      ; [.315B.0022.0002.50DA][.31E0.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31      ; [.315F.0023.0002.50E7][.31E6.0020.0002.50E7][.3246.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A     ; [.315F.0023.0002.50E7][.31E6.0020.0002.50E7][.3246.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C      ; [.3161.0021.0002.5140][.31DC.0020.0002.5140][.3239.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74      ; [.3164.0021.0002.5145][.31E1.0020.0002.5145][.3246.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32      ; [.315C.0021.0002.514D][.31DA.0020.0002.514D][.3235.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E     ; [.315C.0021.0002.514D][.31DA.0020.0002.514D][.3235.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F814     ; [.3158.0022.0002.5167][.31D5.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72      ; [.3162.0024.0002.5168][.31D8.0020.0002.5168][.3235.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978      ; [.315B.0023.0002.5169][.31D6.0020.0002.5169][.3246.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1      ; [.315B.0021.0002.516D][.31E5.0020.0002.516D][.3232.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811     ; [.3156.0026.0002.5177][.31E1.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75      ; [.3156.0024.0002.5180][.31E8.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815     ; [.3162.0021.0002.518D][.31D5.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2     ; [.315C.0022.0002.5192][.31DC.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3     ; [.315C.0022.0002.5195][.31DA.0020.0002.5195][.3235.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817     ; [.3161.0023.0002.5197][.31E0.0020.0002.5197][.3246.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818     ; [.3161.003B.0002.51A4][.31E2.0020.0002.51A4][.3235.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A     ; [.3159.0022.0002.51AC][.31DC.0020.0002.51AC][.3246.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+F92E      ; [.315B.0021.0002.51B7][.31D5.0020.0002.51B7][.3246.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979      ; [.315B.0024.0002.51C9][.31D6.0020.0002.51C9][.3246.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955      ; [.315B.0021.0002.51CC][.31E6.0020.0002.51CC][.3246.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954      ; [.315B.0021.0002.51DC][.31E6.0020.0002.51DC][.3241.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15      ; [.3168.0022.0002.51DE][.31E7.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81E     ; [.3161.0023.0002.5203][.31E8.0020.0002.5203][.3235.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00      ; [.3162.0021.0002.5207][.31D8.0020.0002.5207][.3239.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850     ; [.3162.0021.0002.5207][.31D8.0020.0002.5207][.3239.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C      ; [.315B.0022.0002.5217][.31DA.0020.0002.5217][.3239.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD      ; [.315B.0022.0002.5229][.31E8.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF      ; [.3162.0022.0002.523A][.31D4.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820     ; [.3156.0021.0002.523B][.31D4.0020.0002.523B][.3232.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822     ; [.3168.0021.0002.5272][.31D4.0020.0002.5272][.3239.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823     ; [.315F.002D.0002.5277][.31D4.0020.0002.5277][.3235.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7      ; [.315B.0021.0002.5289][.31E5.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A      ; [.315B.0021.0002.529B][.31DA.0020.0002.529B][.3232.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D      ; [.315B.0023.0002.52A3][.31DA.0020.0002.52A3][.3239.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76      ; [.3161.0024.0002.52C7][.31E0.0020.0002.52C7][.3246.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825     ; [.3161.0024.0002.52C7][.31E0.0020.0002.52C7][.3246.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33      ; [.315C.0023.0002.52C9][.31DA.0020.0002.52C9][.3235.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826     ; [.315C.0023.0002.52C9][.31DA.0020.0002.52C9][.3235.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952      ; [.315B.0021.0002.52D2][.31E6.0020.0002.52D2][.3232.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F      ; [.315B.0021.0002.52DE][.31DC.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34      ; [.3156.0023.0002.52E4][.31E6.0020.0002.52E4][.3235.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827     ; [.3156.0023.0002.52E4][.31E6.0020.0002.52E4][.3235.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F      ; [.315B.0023.0002.52F5][.31DA.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77      ; [.3162.0022.0002.52FA][.31D4.0020.0002.52FA][.3232.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828     ; [.3162.0022.0002.52FA][.31D4.0020.0002.52FA][.3232.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829     ; [.3167.0022.0002.5305][.31DC.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+F963      ; [.315D.0021.0002.5317][.31E1.0020.0002.5317][.3232.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B     ; [.315D.0021.0002.5317][.31E1.0020.0002.5317][.3232.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB      ; [.3158.0021.0002.533F][.31E8.0020.0002.533F][.3232.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C     ; [.3168.0021.0002.5349][.31E3.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35      ; [.315D.0025.0002.5351][.31E8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D     ; [.315D.0025.0002.5351][.31E8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E     ; [.315D.0022.0002.535A][.31D4.0020.0002.535A][.3232.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F     ; [.3162.0022.0002.5373][.31E6.0020.0002.5373][.3232.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C      ; [.315B.0022.0002.5375][.31D4.0020.0002.5375][.3235.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830     ; [.3162.0021.0002.537D][.31E6.0020.0002.537D][.3232.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831     ; [.3156.0028.0002.537F][.31DA.0020.0002.537F][.3246.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832     ; [.3156.0028.0002.537F][.31DA.0020.0002.537F][.3246.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833     ; [.3156.0028.0002.537F][.31DA.0020.0002.537F][.3246.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B      ; [.3164.0022.0002.53C3][.31D4.0020.0002.53C3][.3241.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836     ; [.3156.0022.0002.53CA][.31E6.0020.0002.53CA][.3242.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837     ; [.315F.005E.0002.53DF][.31E1.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906      ; [.3156.002A.0002.53E5][.31E1.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839     ; [.3156.0021.0002.53EB][.31E5.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A     ; [.3162.0022.0002.53F1][.31E8.0020.0002.53F1][.3239.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+F9DE      ; [.315B.0024.0002.540F][.31E8.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED      ; [.315B.0021.0002.541D][.31E8.0020.0002.541D][.3235.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D     ; [.3168.0021.0002.5438][.31E6.0020.0002.5438][.3242.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980      ; [.315B.0024.0002.5442][.31DA.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E     ; [.3162.0026.0002.5448][.31D8.0020.0002.5448][.3246.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F     ; [.3162.0028.0002.5468][.31E1.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840     ; [.3161.0031.0002.54A2][.31D4.0020.0002.54A2][.3232.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E      ; [.3161.0025.0002.54BD][.31E8.0020.0002.54BD][.3235.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842     ; [.3159.0021.0002.5510][.31D4.0020.0002.5510][.3246.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843     ; [.3156.0022.0002.5553][.31DB.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+2F844     ; [.3168.0024.0002.5563][.31D4.0020.0002.5563][.3241.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845     ; [.315F.0024.0002.5584][.31D8.0020.0002.5584][.3235.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846     ; [.315F.0024.0002.5584][.31D8.0020.0002.5584][.3235.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B      ; [.315B.0021.0002.5587][.31D4.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A      ; [.3168.0022.0002.5599][.31E3.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847     ; [.3168.0022.0002.5599][.31E3.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36      ; [.3156.0022.0002.559D][.31D4.0020.0002.559D][.3239.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78      ; [.3156.0022.0002.559D][.31D4.0020.0002.559D][.3239.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848     ; [.3157.0021.0002.55AB][.31E8.0020.0002.55AB][.3232.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+FA7B      ; [.3161.0022.0002.55E2][.31DC.0020.0002.55E2][.3239.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37      ; [.3166.0022.0002.5606][.31D4.0020.0002.5606][.3235.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C     ; [.3166.0022.0002.5606][.31D4.0020.0002.5606][.3235.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38      ; [.3156.0026.0002.5668][.31E8.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F     ; [.315D.0023.0002.5674][.31E1.0020.0002.5674][.3235.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9      ; [.315B.0023.0002.56F9][.31DA.0020.0002.56F9][.3246.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B     ; [.3159.0024.0002.5716][.31DC.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855     ; [.3168.0024.0002.578B][.31DA.0020.0002.578B][.3246.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852     ; [.315F.0021.0002.57CE][.31D8.0020.0002.57CE][.3246.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853     ; [.315F.0021.0002.57F4][.31E8.0020.0002.57F4][.3232.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F857     ; [.315D.0023.0002.5831][.31DC.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+FA39      ; [.315D.0033.0002.5840][.31DA.0020.0002.5840][.3246.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10      ; [.3164.0022.0002.585A][.31DC.0020.0002.585A][.3246.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C      ; [.3164.0022.0002.585A][.31DC.0020.0002.585A][.3246.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C      ; [.315F.0021.0002.585E][.31D5.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A      ; [.315C.0021.0002.58A8][.31E1.0020.0002.58A8][.3232.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+FA7D      ; [.315D.0024.0002.58B3][.31E1.0020.0002.58B3][.3235.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A      ; [.315B.0021.0002.58D8][.31E1.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942      ; [.315B.0021.0002.58DF][.31DC.0020.0002.58DF][.3246.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F85C     ; [.315D.0032.0002.5906][.31DC.0020.0002.5906][.3246.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D     ; [.3159.0021.0002.591A][.31D4.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E     ; [.315C.0021.0002.5922][.31DC.0020.0002.5922][.3246.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E      ; [.3161.0024.0002.5944][.31D8.0020.0002.5944][.3241.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C      ; [.3158.0023.0002.5948][.31D5.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909      ; [.3156.0024.0002.5951][.31DB.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F      ; [.315D.0025.0002.5954][.31E1.0020.0002.5954][.3235.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F     ; [.315F.0030.0002.5962][.31D4.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981      ; [.3158.0021.0002.5973][.31DA.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F862     ; [.3168.0026.0002.59EC][.31E7.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863     ; [.3161.002C.0002.5A1B][.31DC.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864     ; [.3166.0030.0002.5A27][.31D5.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80      ; [.315D.0027.0002.5A62][.31E8.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866     ; [.315D.002B.0002.5A66][.31E1.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986     ; [.3161.0025.0002.5AB5][.31E8.0020.0002.5AB5][.3246.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869     ; [.3161.0041.0002.5B08][.31E0.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81      ; [.3162.003C.0002.5B28][.31D4.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A     ; [.315B.0029.0002.5B3E][.31D4.0020.0002.5B3E][.3235.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B     ; [.315B.0029.0002.5B3E][.31D4.0020.0002.5B3E][.3235.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04      ; [.3159.0021.0002.5B85][.31D5.0020.0002.5B85][.3232.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D     ; [.3161.0029.0002.5BC3][.31E2.0020.0002.5BC3][.3235.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E     ; [.3164.003B.0002.5BD8][.31E8.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F      ; [.3158.0021.0002.5BE7][.31DA.0020.0002.5BE7][.3246.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA      ; [.3158.0021.0002.5BE7][.31DA.0020.0002.5BE7][.3246.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F     ; [.3158.0021.0002.5BE7][.31DA.0020.0002.5BE7][.3246.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC      ; [.315B.0023.0002.5BEE][.31E0.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+F9BD      ; [.3158.0021.0002.5C3F][.31E0.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877     ; [.3159.0028.0002.5C60][.31DC.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B      ; [.315B.0023.0002.5C62][.31E1.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B      ; [.3164.0021.0002.5C64][.31E6.0020.0002.5C64][.3246.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF      ; [.315B.0026.0002.5C65][.31E8.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+2F879     ; [.315F.002A.0002.5CC0][.31E1.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5      ; [.315B.0023.0002.5D19][.31E5.0020.0002.5D19][.3235.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+F921      ; [.315B.0021.0002.5D50][.31D4.0020.0002.5D50][.3241.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+F9AB      ; [.315B.0025.0002.5DBA][.31DA.0020.0002.5DBA][.3246.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881     ; [.315F.0021.0002.5DE1][.31E1.0020.0002.5DE1][.3235.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882     ; [.315F.0027.0002.5DE2][.31DC.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884     ; [.315F.0022.0002.5DFD][.31DC.0020.0002.5DFD][.3235.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885     ; [.315F.0029.0002.5E28][.31D9.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886     ; [.315C.0025.0002.5E3D][.31DC.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E      ; [.3158.0021.0002.5E74][.31DA.0020.0002.5E74][.3235.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01      ; [.3159.002B.0002.5EA6][.31DC.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88C     ; [.315D.0052.0002.5EB3][.31E8.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D     ; [.315F.0025.0002.5EB6][.31D8.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2      ; [.315B.0021.0002.5EC9][.31DA.0020.0002.5EC9][.3241.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928      ; [.315B.0021.0002.5ECA][.31D4.0020.0002.5ECA][.3246.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E     ; [.315B.0021.0002.5ECA][.31D4.0020.0002.5ECA][.3246.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA0B      ; [.3156.0021.0002.5ED3][.31DD.0020.0002.5ED3][.3232.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+F982      ; [.315B.0025.0002.5EEC][.31DA.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+F943      ; [.315B.0022.0002.5F04][.31DC.0020.0002.5F04][.3246.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894     ; [.3159.004B.0002.5F22][.31DC.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895     ; [.3159.004B.0002.5F22][.31DC.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F899     ; [.3168.0025.0002.5F62][.31DA.0020.0002.5F62][.3246.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84      ; [.3164.0025.0002.5F69][.31D5.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A     ; [.3162.0027.0002.5F6B][.31DC.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8      ; [.315B.0021.0002.5F8B][.31E5.0020.0002.5F8B][.3239.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966      ; [.315D.0026.0002.5FA9][.31DC.0020.0002.5FA9][.3232.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85      ; [.3161.0043.0002.5FAD][.31E0.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D     ; [.3161.002A.0002.5FCD][.31E8.0020.0002.5FCD][.3235.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E     ; [.3162.0026.0002.5FD7][.31E8.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3      ; [.3158.0021.0002.5FF5][.31DA.0020.0002.5FF5][.3241.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960      ; [.3158.0024.0002.6012][.31DC.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC      ; [.315B.0026.0002.601C][.31DA.0020.0002.601C][.3246.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+2F8A0     ; [.3161.0042.0002.6081][.31DA.0020.0002.6081][.3235.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D      ; [.3168.0026.0002.6094][.31DF.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3     ; [.3168.0026.0002.6094][.31DF.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5     ; [.3159.0022.0002.60C7][.31DC.0020.0002.60C7][.3235.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86      ; [.315C.002D.0002.60D8][.31D4.0020.0002.60D8][.3246.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9      ; [.3161.0025.0002.60E1][.31D4.0020.0002.60E1][.3232.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88      ; [.3161.002E.0002.6108][.31E5.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9      ; [.315B.0022.0002.6144][.31E5.0020.0002.6144][.3239.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6     ; [.3162.002A.0002.6148][.31D4.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7     ; [.3168.0027.0002.614C][.31DD.0020.0002.614C][.3246.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9     ; [.3168.0027.0002.614C][.31DD.0020.0002.614C][.3246.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA8A      ; [.3161.0047.0002.6160][.31DC.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E      ; [.3156.0028.0002.6168][.31D5.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA     ; [.315B.0031.0002.617A][.31E1.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F      ; [.3162.0022.0002.618E][.31E6.0020.0002.618E][.3246.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89      ; [.3162.0022.0002.618E][.31E6.0020.0002.618E][.3246.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB     ; [.3162.0022.0002.618E][.31E6.0020.0002.618E][.3246.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F      ; [.315B.0021.0002.6190][.31DA.0020.0002.6190][.3235.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD     ; [.315D.0028.0002.61A4][.31E1.0020.0002.61A4][.3235.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE     ; [.3164.0030.0002.61AF][.31D4.0020.0002.61AF][.3241.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC     ; [.3168.0021.0002.61B2][.31D8.0020.0002.61B2][.3235.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF     ; [.315C.0025.0002.61DE][.31DC.0020.0002.61DE][.3246.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40      ; [.3162.0022.0002.61F2][.31E8.0020.0002.61F2][.3246.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B      ; [.3162.0022.0002.61F2][.31E8.0020.0002.61F2][.3246.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0     ; [.3162.0022.0002.61F2][.31E8.0020.0002.61F2][.3246.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D      ; [.315B.0022.0002.61F6][.31D4.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1     ; [.315B.0022.0002.61F6][.31D4.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990      ; [.315B.0022.0002.6200][.31DA.0020.0002.6200][.3235.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2     ; [.315F.0026.0002.6210][.31D8.0020.0002.6210][.3246.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+F9D2      ; [.315B.0022.0002.622E][.31E5.0020.0002.622E][.3232.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C      ; [.3159.0029.0002.6234][.31D5.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5     ; [.3167.002B.0002.62B1][.31DC.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925      ; [.315B.0021.0002.62C9][.31D4.0020.0002.62C9][.3242.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B      ; [.3158.0024.0002.62CF][.31D4.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02      ; [.3164.0026.0002.62D3][.31D8.0020.0002.62D3][.3232.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6     ; [.315D.0022.0002.62D4][.31D4.0020.0002.62D4][.3239.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+F973      ; [.315F.0022.0002.62FE][.31E6.0020.0002.62FE][.3242.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9     ; [.315C.0027.0002.633D][.31D4.0020.0002.633D][.3235.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7     ; [.3161.0027.0002.6350][.31DA.0020.0002.6350][.3235.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB     ; [.315F.0039.0002.6368][.31D4.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4      ; [.3158.0024.0002.637B][.31DA.0020.0002.637B][.3241.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC     ; [.315F.0029.0002.6383][.31DC.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975      ; [.315B.0021.0002.63A0][.31D6.0020.0002.63A0][.3232.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1     ; [.3161.0025.0002.63A9][.31D8.0020.0002.63A9][.3241.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D      ; [.3161.0030.0002.63C4][.31E5.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E      ; [.315F.0030.0002.641C][.31E1.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF     ; [.3162.0025.0002.6422][.31E8.0020.0002.6422][.3235.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+2F8C3     ; [.315C.0021.0002.6469][.31D4.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+F991      ; [.3158.0022.0002.649A][.31DA.0020.0002.649A][.3235.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5     ; [.3168.0029.0002.649D][.31E4.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930      ; [.315B.0023.0002.64C4][.31DC.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41      ; [.315C.0025.0002.654F][.31E8.0020.0002.654F][.3235.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8     ; [.315C.0025.0002.654F][.31E8.0020.0002.654F][.3235.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90      ; [.3161.0030.0002.6556][.31DC.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9     ; [.3156.0030.0002.656C][.31DA.0020.0002.656C][.3246.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969      ; [.315F.0032.0002.6578][.31E1.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE      ; [.315B.0025.0002.6599][.31E0.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983      ; [.315B.0028.0002.65C5][.31DA.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+2F8CB     ; [.3156.0035.0002.65E3][.31E8.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0      ; [.3161.0024.0002.6613][.31DA.0020.0002.6613][.3232.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD     ; [.3162.0026.0002.6649][.31E8.0020.0002.6649][.3235.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12      ; [.3164.0022.0002.6674][.31D8.0020.0002.6674][.3246.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91      ; [.3164.0022.0002.6674][.31D8.0020.0002.6674][.3246.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5      ; [.3168.002A.0002.6688][.31E1.0020.0002.6688][.3235.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43      ; [.315F.002B.0002.6691][.31D8.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF     ; [.315F.002B.0002.6691][.31D8.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06      ; [.3167.0022.0002.66B4][.31DC.0020.0002.66B4][.3232.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B      ; [.315B.0022.0002.66C6][.31DA.0020.0002.66C6][.3232.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901      ; [.3156.0033.0002.66F4][.31DA.0020.0002.66F4][.3246.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC     ; [.315F.002D.0002.66F8][.31D8.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4     ; [.3164.0023.0002.6700][.31DF.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929      ; [.315B.0022.0002.6717][.31D4.0020.0002.6717][.3246.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92      ; [.315B.0022.0002.6717][.31D4.0020.0002.6717][.3246.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8     ; [.315B.0022.0002.6717][.31D4.0020.0002.6717][.3246.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93      ; [.315C.0025.0002.671B][.31D4.0020.0002.671B][.3246.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9     ; [.315C.0025.0002.671B][.31D4.0020.0002.671B][.3246.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1      ; [.315B.0028.0002.674E][.31E8.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC     ; [.3167.0025.0002.6753][.31E0.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94      ; [.3162.002E.0002.6756][.31D4.0020.0002.6756][.3246.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB     ; [.3156.0038.0002.675E][.31E8.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8      ; [.3158.0021.0002.677B][.31E5.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+F9F4      ; [.315B.0021.0002.6797][.31E8.0020.0002.6797][.3241.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9      ; [.315B.0023.0002.67F3][.31E5.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA      ; [.315B.0023.0002.6817][.31E5.0020.0002.6817][.3239.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A      ; [.315B.0025.0002.6881][.31D6.0020.0002.6881][.3246.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44      ; [.315C.0027.0002.6885][.31D5.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2     ; [.315C.0027.0002.6885][.31D5.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2      ; [.315B.0029.0002.68A8][.31E8.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E8     ; [.315F.0062.0002.6942][.31D4.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8EA     ; [.3156.002A.0002.69EA][.31D5.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914      ; [.3161.0028.0002.6A02][.31D4.0020.0002.6A02][.3232.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C      ; [.3161.0028.0002.6A02][.31D4.0020.0002.6A02][.3232.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF      ; [.3161.0028.0002.6A02][.31D4.0020.0002.6A02][.3232.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C      ; [.315B.0024.0002.6A13][.31E1.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+F931      ; [.315B.0024.0002.6AD3][.31DC.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED     ; [.3162.0021.0002.6ADB][.31E6.0020.0002.6ADB][.3239.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D      ; [.315B.0023.0002.6B04][.31D4.0020.0002.6B04][.3235.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF     ; [.3164.0028.0002.6B21][.31D4.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1     ; [.3168.0025.0002.6B54][.31D8.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3     ; [.315F.0023.0002.6B72][.31D9.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C      ; [.315B.0023.0002.6B77][.31DA.0020.0002.6B77][.3232.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+F9A5      ; [.315B.0023.0002.6BAE][.31DA.0020.0002.6BAE][.3241.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970      ; [.315F.0023.0002.6BBA][.31D4.0020.0002.6BBA][.3239.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96      ; [.315F.0023.0002.6BBA][.31D4.0020.0002.6BBA][.3239.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5     ; [.315F.0023.0002.6BBA][.31D4.0020.0002.6BBA][.3239.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8FA     ; [.315D.0025.0002.6C4E][.31D8.0020.0002.6C4E][.3241.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+F972      ; [.3164.0024.0002.6C88][.31E8.0020.0002.6C88][.3241.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC     ; [.3161.002B.0002.6CBF][.31DA.0020.0002.6CBF][.3235.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968      ; [.3167.0024.0002.6CCC][.31E8.0020.0002.6CCC][.3239.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3      ; [.3158.0022.0002.6CE5][.31E8.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915      ; [.315B.0021.0002.6D1B][.31D4.0020.0002.6D1B][.3232.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05      ; [.3159.002A.0002.6D1E][.31DC.0020.0002.6D1E][.3246.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900     ; [.3167.0029.0002.6D3E][.31D4.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA      ; [.315B.0025.0002.6D41][.31E5.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97      ; [.315B.0025.0002.6D41][.31E5.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902     ; [.315B.0025.0002.6D41][.31E5.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903     ; [.3168.002E.0002.6D69][.31DC.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A      ; [.315B.0023.0002.6D6A][.31D4.0020.0002.6D6A][.3246.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45      ; [.3168.002A.0002.6D77][.31D5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901     ; [.3168.002A.0002.6D77][.31D5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904     ; [.3164.0025.0002.6D78][.31E8.0020.0002.6D78][.3241.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905     ; [.3161.0022.0002.6D85][.31DA.0020.0002.6D85][.3239.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5      ; [.315B.0022.0002.6DCB][.31E8.0020.0002.6DCB][.3241.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D      ; [.315B.0025.0002.6DDA][.31E1.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6      ; [.315B.0024.0002.6DEA][.31E5.0020.0002.6DEA][.3235.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E     ; [.3161.0026.0002.6DF9][.31D8.0020.0002.6DF9][.3241.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46      ; [.3162.002C.0002.6E1A][.31D8.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908     ; [.3168.002B.0002.6E2F][.31D4.0020.0002.6E2F][.3246.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909     ; [.3161.002B.0002.6E6E][.31E8.0020.0002.6E6E][.3235.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB      ; [.315B.0026.0002.6E9C][.31E5.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC      ; [.3158.0022.0002.6EBA][.31E8.0020.0002.6EBA][.3232.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+FA99      ; [.3162.002B.0002.6ECB][.31D4.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B     ; [.3162.002B.0002.6ECB][.31D4.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904      ; [.3168.0022.0002.6ED1][.31DD.0020.0002.6ED1][.3239.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E      ; [.315B.0026.0002.6F0F][.31E1.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47      ; [.3168.0026.0002.6F22][.31D4.0020.0002.6F22][.3235.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A      ; [.3168.0026.0002.6F22][.31D4.0020.0002.6F22][.3235.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992      ; [.315B.0024.0002.6F23][.31DA.0020.0002.6F23][.3235.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F     ; [.3162.0033.0002.6F6E][.31DC.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912     ; [.315D.003C.0002.6FC6][.31E1.0020.0002.6FC6][.3235.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922      ; [.315B.0025.0002.6FEB][.31D4.0020.0002.6FEB][.3241.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984      ; [.315B.002A.0002.6FFE][.31DA.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915     ; [.3161.002D.0002.701B][.31DA.0020.0002.701B][.3246.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B      ; [.3162.003D.0002.701E][.31D8.0020.0002.701E][.3246.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914     ; [.3162.003D.0002.701E][.31D8.0020.0002.701E][.3246.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F835     ; [.3168.002D.0002.7070][.31DF.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918     ; [.3162.002B.0002.707D][.31D5.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB      ; [.3162.002C.0002.7099][.31D4.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A     ; [.3166.0028.0002.70AD][.31D4.0020.0002.70AD][.3235.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F      ; [.315B.0025.0002.70C8][.31DA.0020.0002.70C8][.3239.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916      ; [.315B.0022.0002.70D9][.31D4.0020.0002.70D9][.3232.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993      ; [.315B.0025.0002.7149][.31DA.0020.0002.7149][.3235.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48      ; [.3162.002D.0002.716E][.31D4.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C      ; [.3162.002D.0002.716E][.31D4.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0      ; [.315B.0026.0002.71CE][.31E0.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE      ; [.315B.0023.0002.71D0][.31E8.0020.0002.71D0][.3235.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932      ; [.315B.0027.0002.7210][.31DC.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E      ; [.315B.0026.0002.721B][.31D4.0020.0002.721B][.3235.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920     ; [.3164.0036.0002.7228][.31D4.0020.0002.7228][.3235.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E      ; [.3162.0028.0002.7235][.31D4.0020.0002.7235][.3232.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921     ; [.3162.0028.0002.7235][.31D4.0020.0002.7235][.3232.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946      ; [.315B.0023.0002.7262][.31DF.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924     ; [.315F.0030.0002.7280][.31D8.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F      ; [.315D.0027.0002.72AF][.31D8.0020.0002.72AF][.3241.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA      ; [.315F.0035.0002.72C0][.31D4.0020.0002.72C0][.3246.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B      ; [.315B.0024.0002.72FC][.31D4.0020.0002.72FC][.3246.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16      ; [.3162.002E.0002.732A][.31D8.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0      ; [.3162.002E.0002.732A][.31D8.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7      ; [.315B.0021.0002.7375][.31DA.0020.0002.7375][.3242.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928     ; [.3159.0023.0002.737A][.31D4.0020.0002.737A][.3239.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961      ; [.315F.0021.0002.7387][.31DC.0020.0002.7387][.3239.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB      ; [.315F.0021.0002.7387][.31DC.0020.0002.7387][.3239.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929     ; [.3161.0025.0002.738B][.31DD.0020.0002.738B][.3246.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD      ; [.315B.0027.0002.73B2][.31DA.0020.0002.73B2][.3246.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917      ; [.315B.0023.0002.73DE][.31D4.0020.0002.73DE][.3232.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4      ; [.315B.002D.0002.7406][.31E8.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC      ; [.315B.0028.0002.7409][.31E5.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A      ; [.3166.002B.0002.7422][.31D4.0020.0002.7422][.3232.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F     ; [.3161.003D.0002.745C][.31E5.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE      ; [.3168.002D.0002.7469][.31DA.0020.0002.7469][.3246.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1      ; [.3162.0057.0002.7471][.31D8.0020.0002.7471][.3235.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930     ; [.3162.0057.0002.7471][.31D8.0020.0002.7471][.3235.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+F994      ; [.315B.0026.0002.7489][.31DA.0020.0002.7489][.3235.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF      ; [.315B.0024.0002.7498][.31E8.0020.0002.7498][.3235.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932     ; [.3156.003A.0002.74CA][.31DA.0020.0002.74CA][.3246.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+F9CD      ; [.315B.002A.0002.7559][.31E5.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976      ; [.315B.0022.0002.7565][.31D6.0020.0002.7565][.3232.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962      ; [.3161.002C.0002.7570][.31E8.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938     ; [.3161.002C.0002.7570][.31E8.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5      ; [.315B.002F.0002.75E2][.31E8.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A     ; [.3161.0059.0002.7610][.31E5.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA5      ; [.3161.0023.0002.761F][.31DC.0020.0002.761F][.3235.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1      ; [.315B.0027.0002.7642][.31E0.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E      ; [.315B.0023.0002.7669][.31D4.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17      ; [.3161.0022.0002.76CA][.31E8.0020.0002.76CA][.3232.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6      ; [.3161.0022.0002.76CA][.31E8.0020.0002.76CA][.3232.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7      ; [.315F.002B.0002.76DB][.31D8.0020.0002.76DB][.3246.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933      ; [.315B.0028.0002.76E7][.31DC.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8      ; [.3162.0021.0002.76F4][.31E8.0020.0002.76F4][.3232.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940     ; [.3162.0021.0002.76F4][.31E8.0020.0002.76F4][.3232.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D      ; [.315F.002C.0002.7701][.31D8.0020.0002.7701][.3246.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945     ; [.3162.0033.0002.771E][.31E8.0020.0002.771E][.3235.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+FAAA      ; [.3164.0023.0002.7740][.31D4.0020.0002.7740][.3232.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+2F94A     ; [.3162.0034.0002.778B][.31E8.0020.0002.778B][.3235.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+F9CE      ; [.315B.002C.0002.786B][.31E5.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B      ; [.315B.0021.0002.788C][.31DC.0020.0002.788C][.3232.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F     ; [.315B.0021.0002.788C][.31DC.0020.0002.788C][.3232.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B      ; [.315D.0038.0002.7891][.31E8.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947      ; [.315B.0024.0002.78CA][.31DF.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+F964      ; [.315D.0032.0002.78FB][.31D4.0020.0002.78FB][.3235.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985      ; [.315B.002B.0002.792A][.31DA.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA4C      ; [.315F.0046.0002.793E][.31D4.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E      ; [.3156.004C.0002.7948][.31E8.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D      ; [.3162.0035.0002.7949][.31E8.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F      ; [.3161.0032.0002.7950][.31E1.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50      ; [.3162.0039.0002.7956][.31DC.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953     ; [.3162.0039.0002.7956][.31DC.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51      ; [.3164.0023.0002.795D][.31E1.0020.0002.795D][.3232.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19      ; [.315F.002C.0002.795E][.31E8.0020.0002.795E][.3235.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A      ; [.315F.0037.0002.7965][.31D4.0020.0002.7965][.3246.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C      ; [.315B.0022.0002.797F][.31DC.0020.0002.797F][.3232.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52      ; [.3168.0027.0002.798D][.31DD.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53      ; [.3162.0044.0002.798E][.31D8.0020.0002.798E][.3246.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B      ; [.315D.0028.0002.798F][.31DC.0020.0002.798F][.3232.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956     ; [.315D.0028.0002.798F][.31DC.0020.0002.798F][.3232.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6      ; [.315B.0023.0002.79AE][.31DB.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995      ; [.3158.0023.0002.79CA][.31DA.0020.0002.79CA][.3235.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957     ; [.3164.0024.0002.79EB][.31E1.0020.0002.79EB][.3239.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956      ; [.315B.0023.0002.7A1C][.31E6.0020.0002.7A1C][.3246.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54      ; [.3156.0025.0002.7A40][.31DC.0020.0002.7A40][.3232.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959     ; [.3156.0025.0002.7A40][.31DC.0020.0002.7A40][.3232.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+FA55      ; [.3159.0022.0002.7A81][.31DC.0020.0002.7A81][.3239.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7      ; [.315B.0022.0002.7ACB][.31E8.0020.0002.7ACB][.3242.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8      ; [.315B.0023.0002.7B20][.31E8.0020.0002.7B20][.3242.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56      ; [.3162.0027.0002.7BC0][.31D8.0020.0002.7BC0][.3239.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD      ; [.3162.0027.0002.7BC0][.31D8.0020.0002.7BC0][.3239.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962     ; [.3162.003D.0002.7BC6][.31D8.0020.0002.7BC6][.3235.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963     ; [.3164.0026.0002.7BC9][.31E1.0020.0002.7BC9][.3232.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6      ; [.315B.0025.0002.7C3E][.31DA.0020.0002.7C3E][.3241.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944      ; [.315B.0026.0002.7C60][.31DC.0020.0002.7C60][.3246.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9      ; [.315B.0024.0002.7C92][.31E8.0020.0002.7C92][.3242.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D      ; [.3162.0047.0002.7CBE][.31D8.0020.0002.7CBE][.3246.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+FA03      ; [.3159.0029.0002.7CD6][.31D4.0020.0002.7CD6][.3246.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B      ; [.315B.0029.0002.7CE7][.31D6.0020.0002.7CE7][.3246.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F96A     ; [.3156.004F.0002.7D00][.31E8.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF      ; [.3158.0022.0002.7D10][.31E5.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A      ; [.315F.0023.0002.7D22][.31D5.0020.0002.7D22][.3232.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F      ; [.315B.0028.0002.7D2F][.31E1.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF      ; [.3162.0063.0002.7D5B][.31DC.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C     ; [.315D.0034.0002.7D63][.31DA.0020.0002.7D63][.3246.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D      ; [.315B.0023.0002.7DA0][.31DC.0020.0002.7DA0][.3232.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957      ; [.315B.0024.0002.7DBE][.31E6.0020.0002.7DBE][.3246.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E     ; [.3164.0030.0002.7DC7][.31E8.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996      ; [.315B.0027.0002.7DF4][.31DA.0020.0002.7DF4][.3235.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57      ; [.315B.0027.0002.7DF4][.31DA.0020.0002.7DF4][.3235.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0      ; [.315B.0027.0002.7DF4][.31DA.0020.0002.7DF4][.3235.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58      ; [.3162.0036.0002.7E09][.31E8.0020.0002.7E09][.3235.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950      ; [.315B.0029.0002.7E37][.31E1.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59      ; [.315D.0026.0002.7E41][.31D8.0020.0002.7E41][.3235.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970     ; [.315F.0052.0002.7E45][.31DC.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1      ; [.315D.0035.0002.7F3E][.31DA.0020.0002.7F3E][.3246.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A      ; [.315F.0035.0002.7F72][.31D8.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6      ; [.315B.0031.0002.7F79][.31E8.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F90F      ; [.315B.0024.0002.7F85][.31D4.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+F9AF      ; [.315B.0029.0002.7F9A][.31DA.0020.0002.7F9A][.3246.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E      ; [.3161.0036.0002.7FBD][.31E1.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979     ; [.3156.005A.0002.7FFA][.31DC.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934      ; [.315B.0029.0002.8001][.31DC.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B      ; [.3162.0033.0002.8005][.31D4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2      ; [.3162.0033.0002.8005][.31D4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A     ; [.3162.0033.0002.8005][.31D4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0      ; [.315B.002B.0002.8046][.31DA.0020.0002.8046][.3246.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997      ; [.315B.0028.0002.806F][.31DA.0020.0002.806F][.3235.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F     ; [.3164.0028.0002.8070][.31DC.0020.0002.8070][.3246.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945      ; [.315B.0027.0002.807E][.31DC.0020.0002.807E][.3246.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953      ; [.315B.0022.0002.808B][.31E6.0020.0002.808B][.3232.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6     ; [.3158.0023.0002.80AD][.31E1.0020.0002.80AD][.3239.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982     ; [.3161.0024.0002.80B2][.31E5.0020.0002.80B2][.3232.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985     ; [.315D.003F.0002.813E][.31E8.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926      ; [.315B.0022.0002.81D8][.31D4.0020.0002.81D8][.3242.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6      ; [.315B.0024.0002.81E8][.31E8.0020.0002.81E8][.3241.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C      ; [.3164.002A.0002.81ED][.31E4.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893     ; [.3161.002E.0002.8201][.31DA.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B     ; [.3161.002E.0002.8201][.31DA.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+F97C      ; [.315B.002A.0002.826F][.31D6.0020.0002.826F][.3246.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990     ; [.3161.0037.0002.828B][.31E1.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F991     ; [.3162.003B.0002.829D][.31E8.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993     ; [.3168.0029.0002.82B1][.31DD.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994     ; [.315D.0035.0002.82B3][.31D4.0020.0002.82B3][.3246.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995     ; [.3161.0029.0002.82BD][.31D4.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974      ; [.3161.0023.0002.82E5][.31D6.0020.0002.82E5][.3232.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998     ; [.3161.0023.0002.82E5][.31D6.0020.0002.82E5][.3232.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996     ; [.3156.003A.0002.82E6][.31DC.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999     ; [.3164.002E.0002.831D][.31D5.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C     ; [.3161.004C.0002.8323][.31DC.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE      ; [.3159.0022.0002.8336][.31D4.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3      ; [.3168.0034.0002.8352][.31DD.0020.0002.8352][.3246.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99D     ; [.315C.002A.0002.83BD][.31D4.0020.0002.83BD][.3246.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E      ; [.315B.0024.0002.83C9][.31DC.0020.0002.83C9][.3232.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1     ; [.3156.0023.0002.83CA][.31E1.0020.0002.83CA][.3232.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2     ; [.3156.0025.0002.83CC][.31E5.0020.0002.83CC][.3235.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3     ; [.3164.0029.0002.83DC][.31D5.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+FAB4      ; [.3168.002A.0002.83EF][.31DD.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958      ; [.315B.0025.0002.83F1][.31E6.0020.0002.83F1][.3246.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918      ; [.315B.0025.0002.843D][.31D4.0020.0002.843D][.3232.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E      ; [.3161.0023.0002.8449][.31DA.0020.0002.8449][.3242.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F      ; [.3162.0034.0002.8457][.31D8.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F     ; [.3162.0034.0002.8457][.31D8.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999      ; [.315B.0029.0002.84EE][.31DA.0020.0002.84EE][.3235.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8     ; [.3167.002A.0002.84F1][.31DA.0020.0002.84F1][.3246.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+F9C2      ; [.315B.002A.0002.84FC][.31E0.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AC     ; [.3161.0062.0002.8564][.31E5.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923      ; [.315B.0028.0002.85CD][.31D4.0020.0002.85CD][.3241.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0      ; [.315B.0025.0002.85FA][.31E8.0020.0002.85FA][.3235.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935      ; [.315B.002A.0002.8606][.31DC.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F      ; [.315B.0027.0002.862D][.31D4.0020.0002.862D][.3235.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910      ; [.315B.0025.0002.863F][.31D4.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3     ; [.3168.0023.0002.8650][.31D4.0020.0002.8650][.3232.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936      ; [.315B.002B.0002.865C][.31DC.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4     ; [.315B.002B.0002.865C][.31DC.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5     ; [.3168.0025.0002.8667][.31E5.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B7     ; [.3164.0034.0002.86A9][.31E8.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BC     ; [.3162.0026.0002.8728][.31D8.0020.0002.8728][.3242.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+F911      ; [.315B.0026.0002.87BA][.31D4.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+F927      ; [.315B.0023.0002.881F][.31D4.0020.0002.881F][.3242.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08      ; [.3168.0025.0002.884C][.31D5.0020.0002.884C][.3246.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4     ; [.3161.0030.0002.8863][.31E7.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0      ; [.315B.0026.0002.88C2][.31DA.0020.0002.88C2][.3239.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7      ; [.315B.0034.0002.88CF][.31E8.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+F9E8      ; [.315B.0035.0002.88E1][.31E8.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912      ; [.315B.0027.0002.88F8][.31D4.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60      ; [.3156.0028.0002.8910][.31D4.0020.0002.8910][.3239.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6      ; [.3156.0034.0002.8941][.31D4.0020.0002.8941][.3246.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924      ; [.315B.0029.0002.8964][.31D4.0020.0002.8964][.3241.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7      ; [.315D.002D.0002.8986][.31DC.0020.0002.8986][.3232.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A      ; [.3156.0028.0002.898B][.31DA.0020.0002.898B][.3235.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61      ; [.315F.0037.0002.8996][.31E8.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8      ; [.315F.0037.0002.8996][.31E8.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF     ; [.315F.0031.0002.8AA0][.31D8.0020.0002.8AA0][.3246.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F      ; [.315F.002B.0002.8AAA][.31D8.0020.0002.8AAA][.3239.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1      ; [.315F.002B.0002.8AAA][.31D8.0020.0002.8AAA][.3239.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9      ; [.3162.0046.0002.8ABF][.31DC.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB      ; [.3164.0026.0002.8ACB][.31D8.0020.0002.8ACB][.3246.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D      ; [.315B.002B.0002.8AD2][.31D6.0020.0002.8AD2][.3246.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941      ; [.315B.0021.0002.8AD6][.31DC.0020.0002.8AD6][.3235.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE      ; [.3161.0046.0002.8AED][.31E5.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0     ; [.3161.0046.0002.8AED][.31E5.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22      ; [.3162.0030.0002.8AF8][.31D9.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA      ; [.3162.0030.0002.8AF8][.31D9.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D      ; [.3158.0021.0002.8AFE][.31D4.0020.0002.8AFE][.3232.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD      ; [.3158.0021.0002.8AFE][.31D4.0020.0002.8AFE][.3232.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62      ; [.3161.0022.0002.8B01][.31D4.0020.0002.8B01][.3239.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC      ; [.3161.0022.0002.8B01][.31D4.0020.0002.8B01][.3239.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63      ; [.3156.002D.0002.8B39][.31E6.0020.0002.8B39][.3235.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF      ; [.3156.002D.0002.8B39][.31E6.0020.0002.8B39][.3235.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC      ; [.315F.002C.0002.8B58][.31E8.0020.0002.8B58][.3232.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A      ; [.3159.002A.0002.8B80][.31DC.0020.0002.8B80][.3232.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0      ; [.315D.0023.0002.8B8A][.31DA.0020.0002.8B8A][.3235.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1     ; [.315D.0023.0002.8B8A][.31DA.0020.0002.8B8A][.3235.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900      ; [.3156.0057.0002.8C48][.31E8.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2     ; [.315F.003B.0002.8C55][.31E8.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4     ; [.3156.002E.0002.8CAB][.31DD.0020.0002.8CAB][.3235.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5     ; [.315D.0032.0002.8CC1][.31E1.0020.0002.8CC1][.3235.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948      ; [.315B.0025.0002.8CC2][.31DF.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903      ; [.3156.0039.0002.8CC8][.31D4.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64      ; [.315D.002D.0002.8CD3][.31E8.0020.0002.8CD3][.3235.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65      ; [.3162.002B.0002.8D08][.31E6.0020.0002.8D08][.3246.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1      ; [.3162.002B.0002.8D08][.31E6.0020.0002.8D08][.3246.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6     ; [.3156.0039.0002.8D1B][.31DC.0020.0002.8D1B][.3246.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7     ; [.3156.0058.0002.8D77][.31E8.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DA     ; [.315D.0027.0002.8DCB][.31D4.0020.0002.8DCB][.3239.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937      ; [.315B.002C.0002.8DEF][.31DC.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+F902      ; [.3164.002D.0002.8ECA][.31D4.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+F998      ; [.315B.002A.0002.8F26][.31DA.0020.0002.8F26][.3235.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7      ; [.315B.0026.0002.8F2A][.31E5.0020.0002.8F2A][.3235.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2      ; [.315F.004F.0002.8F38][.31E1.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF     ; [.315F.004F.0002.8F38][.31E1.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07      ; [.315D.002F.0002.8F3B][.31DC.0020.0002.8F3B][.3232.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D      ; [.315B.0026.0002.8F62][.31DA.0020.0002.8F62][.3232.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+F971      ; [.3162.003E.0002.8FB0][.31E8.0020.0002.8FB0][.3235.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A      ; [.315B.002B.0002.9023][.31DA.0020.0002.9023][.3235.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25      ; [.3161.0027.0002.9038][.31E8.0020.0002.9038][.3239.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67      ; [.3161.0027.0002.9038][.31E8.0020.0002.9038][.3239.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3      ; [.3162.0041.0002.9072][.31E8.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3      ; [.315B.002B.0002.907C][.31E0.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913      ; [.315B.0028.0002.908F][.31D4.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+FA2E      ; [.315B.0028.0002.90DE][.31D4.0020.0002.90DE][.3246.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+FA26      ; [.3159.0045.0002.90FD][.31DC.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919      ; [.315B.0026.0002.916A][.31D4.0020.0002.916A][.3232.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7      ; [.315B.0024.0002.91B4][.31DB.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9      ; [.315B.0036.0002.91CC][.31E8.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E      ; [.315B.002D.0002.91CF][.31D6.0020.0002.91CF][.3246.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A      ; [.3156.0021.0002.91D1][.31E8.0020.0002.91D1][.3241.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1      ; [.315B.002D.0002.9234][.31DA.0020.0002.9234][.3246.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7     ; [.315D.002F.0002.9238][.31D4.0020.0002.9238][.3239.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+2F9EA     ; [.315D.0039.0002.927C][.31DA.0020.0002.927C][.3246.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8     ; [.3168.003F.0002.92D7][.31DA.0020.0002.92D7][.3235.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+F93F      ; [.315B.0025.0002.9304][.31DC.0020.0002.9304][.3232.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B      ; [.315B.002C.0002.934A][.31DA.0020.0002.934A][.3235.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EE     ; [.3156.0033.0002.958B][.31D5.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986      ; [.315B.002E.0002.95AD][.31DA.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+F9C6      ; [.3161.0031.0002.962E][.31DD.0020.0002.962E][.3235.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951      ; [.315B.002D.0002.964B][.31E1.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09      ; [.3156.0037.0002.964D][.31D4.0020.0002.964D][.3246.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959      ; [.315B.0026.0002.9675][.31E6.0020.0002.9675][.3246.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3      ; [.315B.0023.0002.9678][.31E5.0020.0002.9678][.3232.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6      ; [.3162.004E.0002.967C][.31D8.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC      ; [.315B.0021.0002.9686][.31E5.0020.0002.9686][.3246.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1      ; [.315B.0027.0002.96A3][.31E8.0020.0002.96A3][.3235.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F      ; [.315B.0025.0002.96B7][.31DB.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8      ; [.315B.0026.0002.96B8][.31DB.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+F9EA      ; [.315B.0038.0002.96E2][.31E8.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68      ; [.3158.0023.0002.96E3][.31D4.0020.0002.96E3][.3235.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7      ; [.3158.0023.0002.96E3][.31D4.0020.0002.96E3][.3235.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2      ; [.315B.002E.0002.96F6][.31DA.0020.0002.96F6][.3246.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949      ; [.315B.0028.0002.96F7][.31DF.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5     ; [.3161.0031.0002.9723][.31E1.0020.0002.9723][.3235.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938      ; [.315B.002E.0002.9732][.31DC.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3      ; [.315B.002F.0002.9748][.31DA.0020.0002.9748][.3246.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C      ; [.3162.0054.0002.9756][.31D8.0020.0002.9756][.3246.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8      ; [.3162.0054.0002.9756][.31D8.0020.0002.9756][.3246.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+2F9FA     ; [.3167.0034.0002.97E0][.31E8.0020.0002.97E0][.3239.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69      ; [.3168.0026.0002.97FF][.31D6.0020.0002.97FF][.3246.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA      ; [.3168.0026.0002.97FF][.31D6.0020.0002.97FF][.3246.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4      ; [.315B.0030.0002.9818][.31DA.0020.0002.9818][.3246.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+FA6A      ; [.315D.002E.0002.983B][.31E8.0020.0002.983B][.3235.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC      ; [.315D.002E.0002.983B][.31E8.0020.0002.983B][.3235.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0      ; [.315B.002E.0002.985E][.31E5.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02     ; [.3156.005B.0002.98E2][.31E8.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A      ; [.315D.0039.0002.98EF][.31D4.0020.0002.98EF][.3235.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B      ; [.315F.005A.0002.98FC][.31D4.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C      ; [.3156.0030.0002.9928][.31DD.0020.0002.9928][.3235.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+F91A      ; [.315B.0027.0002.99F1][.31D4.0020.0002.99F1][.3232.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+F987      ; [.315B.0030.0002.9A6A][.31DA.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD      ; [.3162.004C.0002.9B12][.31E8.0020.0002.9B12][.3235.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A     ; [.3162.004C.0002.9B12][.31E8.0020.0002.9B12][.3235.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939      ; [.315B.002F.0002.9B6F][.31DC.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+F9F2      ; [.315B.0028.0002.9C57][.31E8.0020.0002.9C57][.3235.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+FA2D      ; [.3168.0025.0002.9DB4][.31D4.0020.0002.9DB4][.3232.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A      ; [.315B.0030.0002.9DFA][.31DC.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920      ; [.315B.0028.0002.9E1E][.31D4.0020.0002.9E1E][.3235.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940      ; [.315B.0026.0002.9E7F][.31DC.0020.0002.9E7F][.3232.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988      ; [.315B.0031.0002.9E97][.31DA.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3      ; [.315B.0029.0002.9E9F][.31E8.0020.0002.9E9F][.3235.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15     ; [.315C.0028.0002.9EBB][.31D4.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989      ; [.315B.0032.0002.9ECE][.31DA.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA1C     ; [.315D.004A.0002.9F3B][.31E8.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+F9C4      ; [.315B.0021.0002.9F8D][.31E0.0020.0002.9F8D][.3246.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9      ; [.315B.002E.0002.9F8E][.31DC.0020.0002.9F8E][.3246.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907      ; [.3156.0056.0002.9F9C][.31E1.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908      ; [.3156.0056.0002.9F9C][.31E1.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE      ; [.3156.0056.0002.9F9C][.31E1.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ko.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,22 +1,48 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0307      ; [.0000.005A.0002.0307] # COMBINING DOT ABOVE
-010D      ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0079      ; [.1680.0021.0002.0079] # LATIN SMALL LETTER Y
-0059      ; [.1680.0021.0008.0059] # LATIN CAPITAL LETTER Y
-0161      ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-0117      ; [.15FF.0020.0002.0065][.0000.005A.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE
-0116      ; [.15FF.0020.0008.0045][.0000.005A.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE
-0130      ; [.1680.0020.0008.0049][.0000.005A.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+   locale_version => 0.93,
+# in cldr test/lt.xml why I-dot-acute > I-dot though i-dot-acute < i-dot ?
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0049 0307 ; [.16CD.0020.0008.0049][.0000.0052.0002.0307] # <LATIN CAPITAL LETTER I, COMBINING DOT ABOVE>
+0307 0300 ; [.0000.0035.0002.0300] # <COMBINING DOT ABOVE, COMBINING GRAVE ACCENT>
+0307 0301 ; [.0000.0032.0002.0301] # <COMBINING DOT ABOVE, COMBINING ACUTE ACCENT>
+0307 0303 ; [.0000.004E.0002.0303] # <COMBINING DOT ABOVE, COMBINING TILDE>
+0105      ; [.15EF.0021.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.15EF.0021.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0104      ; [.15EF.0021.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.15EF.0021.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+010D      ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0119      ; [.164C.0021.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.164C.0021.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.164C.0021.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.164C.0021.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0117      ; [.164C.0022.0002.0117] # LATIN SMALL LETTER E WITH DOT ABOVE
+0065 0307 ; [.164C.0022.0002.0117] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116      ; [.164C.0022.0008.0116] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0045 0307 ; [.164C.0022.0008.0116] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+012F      ; [.16CD.0021.0002.012F] # LATIN SMALL LETTER I WITH OGONEK
+0069 0328 ; [.16CD.0021.0002.012F] # LATIN SMALL LETTER I WITH OGONEK
+012E      ; [.16CD.0021.0008.012E] # LATIN CAPITAL LETTER I WITH OGONEK
+0049 0328 ; [.16CD.0021.0008.012E] # LATIN CAPITAL LETTER I WITH OGONEK
+0079      ; [.16CD.0022.0002.0079] # LATIN SMALL LETTER Y
+0059      ; [.16CD.0022.0008.0059] # LATIN CAPITAL LETTER Y
+0161      ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0173      ; [.1836.0021.0002.0173] # LATIN SMALL LETTER U WITH OGONEK
+0075 0328 ; [.1836.0021.0002.0173] # LATIN SMALL LETTER U WITH OGONEK
+0172      ; [.1836.0021.0008.0172] # LATIN CAPITAL LETTER U WITH OGONEK
+0055 0328 ; [.1836.0021.0008.0172] # LATIN CAPITAL LETTER U WITH OGONEK
+016B      ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+017E      ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lt.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,37 +1,37 @@
 +{
-# ignored: Y < J
-   entry => <<'ENTRY', # for DUCET v6.0.0
-010D      ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15E3.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15E3.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0123      ; [.1666.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
-0067 0327 ; [.1666.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
-0122      ; [.1666.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
-0047 0327 ; [.1666.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
-0137      ; [.16C3.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
-006B 0327 ; [.16C3.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
-0136      ; [.16C3.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
-004B 0327 ; [.16C3.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
-013C      ; [.16F3.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
-006C 0327 ; [.16F3.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
-013B      ; [.16F3.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
-004C 0327 ; [.16F3.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
-0146      ; [.1723.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
-006E 0327 ; [.1723.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
-0145      ; [.1723.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
-004E 0327 ; [.1723.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
-0157      ; [.17A5.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
-0072 0327 ; [.17A5.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
-0156      ; [.17A5.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
-0052 0327 ; [.17A5.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
-0161      ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1860.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1860.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+010D      ; [.1630.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.1630.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.1630.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.1630.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0123      ; [.16B3.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
+0067 0327 ; [.16B3.0020.0002.0123] # LATIN SMALL LETTER G WITH CEDILLA
+0122      ; [.16B3.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
+0047 0327 ; [.16B3.0020.0008.0122] # LATIN CAPITAL LETTER G WITH CEDILLA
+0137      ; [.1710.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
+006B 0327 ; [.1710.0020.0002.0137] # LATIN SMALL LETTER K WITH CEDILLA
+0136      ; [.1710.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
+004B 0327 ; [.1710.0020.0008.0136] # LATIN CAPITAL LETTER K WITH CEDILLA
+013C      ; [.1740.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
+006C 0327 ; [.1740.0020.0002.013C] # LATIN SMALL LETTER L WITH CEDILLA
+013B      ; [.1740.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
+004C 0327 ; [.1740.0020.0008.013B] # LATIN CAPITAL LETTER L WITH CEDILLA
+0146      ; [.1770.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
+006E 0327 ; [.1770.0020.0002.0146] # LATIN SMALL LETTER N WITH CEDILLA
+0145      ; [.1770.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
+004E 0327 ; [.1770.0020.0008.0145] # LATIN CAPITAL LETTER N WITH CEDILLA
+0157      ; [.17F2.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
+0072 0327 ; [.17F2.0020.0002.0157] # LATIN SMALL LETTER R WITH CEDILLA
+0156      ; [.17F2.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
+0052 0327 ; [.17F2.0020.0008.0156] # LATIN CAPITAL LETTER R WITH CEDILLA
+0161      ; [.1815.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1815.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1815.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1815.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.18B1.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.18B1.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.18B1.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.18B1.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/lv.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,29 +1,30 @@
 +{
+   locale_version => 0.93,
    upper_before_lower => 1,
-   entry => <<'ENTRY', # for DUCET v6.0.0
-010B      ; [.15E3.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
-0063 0307 ; [.15E3.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
-010A      ; [.15E3.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0043 0307 ; [.15E3.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
-0121      ; [.1643.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
-0067 0307 ; [.1643.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
-0120      ; [.1643.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0047 0307 ; [.1643.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
-0067 0127 ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
-0067 0126 ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
-0047 0127 ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
-0047 0126 ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
-0067 0068 0335 ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0067 0048 0335 ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0047 0068 0335 ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0047 0048 0335 ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
-0127      ; [.167F.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
-0068 0335 ; [.167F.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
-0126      ; [.167F.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
-0048 0335 ; [.167F.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
-017C      ; [.1843.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1843.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B      ; [.1843.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1843.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   entry => <<'ENTRY', # for DUCET v6.2.0
+010B      ; [.161C.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+0063 0307 ; [.161C.0020.0002.010B] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A      ; [.161C.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0043 0307 ; [.161C.0020.0008.010A] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+0121      ; [.1690.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0067 0307 ; [.1690.0020.0002.0121] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120      ; [.1690.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0047 0307 ; [.1690.0020.0008.0120] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0067 0127 ; [.16B3.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0067 0126 ; [.16B3.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0047 0127 ; [.16B3.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H WITH STROKE>
+0047 0126 ; [.16B3.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H WITH STROKE>
+0067 0068 0335 ; [.16B3.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0067 0048 0335 ; [.16B3.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0068 0335 ; [.16B3.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0047 0048 0335 ; [.16B3.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER H, COMBINING SHORT STROKE OVERLAY>
+0127      ; [.16CC.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0068 0335 ; [.16CC.0020.0002.0127] # LATIN SMALL LETTER H WITH STROKE
+0126      ; [.16CC.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+0048 0335 ; [.16CC.0020.0008.0126] # LATIN CAPITAL LETTER H WITH STROKE
+017C      ; [.1894.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1894.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B      ; [.1894.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1894.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/mt.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,70 +1,74 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0111      ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0      ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE      ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE      ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152      ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
-01FB      ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0111      ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE      ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1908.0021.0002.0061] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1908.0021.0007.0041] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1908.0021.0008.0041] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nb.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,70 +1,74 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0111      ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0      ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE      ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE      ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E6      ; [.1845.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.1845.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1845.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1845.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1845.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1845.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1845.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E4      ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1845.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1845.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1845.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1845.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-0119      ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1845.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1845.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F8      ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1846.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1846.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1846.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1846.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-00F6      ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1846.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1846.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1846.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1846.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1846.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1846.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1846.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152      ; [.1846.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E5      ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1847.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1847.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1847.0020.0008.00C5] # ANGSTROM SIGN
-01FB      ; [.1847.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1847.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0111      ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE      ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E6      ; [.1906.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1906.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1906.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1906.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1906.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1906.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1906.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E4      ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1906.0021.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1906.0021.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1906.0021.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1906.0021.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+0119      ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1906.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1906.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F8      ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1907.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1907.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1907.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1907.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+00F6      ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1907.0021.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1907.0021.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1907.0021.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1907.0021.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1907.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1907.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1907.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.1907.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E5      ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1908.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1908.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1908.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.1908.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1908.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0061 0061 ; [.1908.0021.0002.0061] # <LATIN SMALL LETTER A, LATIN SMALL LETTER A>
+0041 0061 ; [.1908.0021.0007.0041] # <LATIN CAPITAL LETTER A, LATIN SMALL LETTER A>
+0041 0041 ; [.1908.0021.0008.0041] # <LATIN CAPITAL LETTER A, LATIN CAPITAL LETTER A>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nn.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,36 +1,37 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00EA      ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1      ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF      ; [.1600.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1600.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5      ; [.1600.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1600.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1600.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1600.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1600.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1600.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4      ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161      ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00EA      ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1      ; [.164D.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.164D.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF      ; [.164D.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.164D.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5      ; [.164D.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.164D.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.164D.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.164D.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.164D.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164D.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4      ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1772.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1772.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1772.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1772.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1772.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1772.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1772.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1772.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1772.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1772.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161      ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/nso.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,21 +1,22 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0063 0068 ; [.1845.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0043 0068 ; [.1845.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1845.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-0064 0068 ; [.1846.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0044 0068 ; [.1846.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.1846.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-006B 0068 ; [.1847.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
-004B 0068 ; [.1847.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
-004B 0048 ; [.1847.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
-006E 0079 ; [.1848.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
-004E 0079 ; [.1848.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
-004E 0059 ; [.1848.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
-0070 0068 ; [.1849.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
-0050 0068 ; [.1849.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
-0050 0048 ; [.1849.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
-0073 0068 ; [.184A.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0053 0068 ; [.184A.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0063 0068 ; [.1896.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0043 0068 ; [.1896.0020.0007.0043] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.1896.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+0064 0068 ; [.1897.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0044 0068 ; [.1897.0020.0007.0044] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.1897.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+006B 0068 ; [.1898.0020.0002.006B] # <LATIN SMALL LETTER K, LATIN SMALL LETTER H>
+004B 0068 ; [.1898.0020.0007.004B] # <LATIN CAPITAL LETTER K, LATIN SMALL LETTER H>
+004B 0048 ; [.1898.0020.0008.004B] # <LATIN CAPITAL LETTER K, LATIN CAPITAL LETTER H>
+006E 0079 ; [.1899.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER Y>
+004E 0079 ; [.1899.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER Y>
+004E 0059 ; [.1899.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER Y>
+0070 0068 ; [.189A.0020.0002.0070] # <LATIN SMALL LETTER P, LATIN SMALL LETTER H>
+0050 0068 ; [.189A.0020.0007.0050] # <LATIN CAPITAL LETTER P, LATIN SMALL LETTER H>
+0050 0048 ; [.189A.0020.0008.0050] # <LATIN CAPITAL LETTER P, LATIN CAPITAL LETTER H>
+0073 0068 ; [.189B.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0053 0068 ; [.189B.0020.0007.0053] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/om.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,50 +1,51 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0105      ; [.15A4.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
-0061 0328 ; [.15A4.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
-0104      ; [.15A4.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
-0041 0328 ; [.15A4.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
-0107      ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0301 ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0063 0341 ; [.15D2.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
-0106      ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0301 ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0043 0341 ; [.15D2.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
-0119      ; [.1600.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1600.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1600.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1600.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0142      ; [.16C5.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
-006C 0335 ; [.16C5.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
-0141      ; [.16C5.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
-004C 0335 ; [.16C5.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
-0144      ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1703.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1703.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-00F3      ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-015B      ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-0073 0301 ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-0073 0341 ; [.17A7.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
-015A      ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-0053 0301 ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-0053 0341 ; [.17A7.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
-017A      ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-007A 0301 ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-007A 0341 ; [.1845.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
-0179      ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-005A 0301 ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-005A 0341 ; [.1845.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
-017C      ; [.1846.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1846.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B      ; [.1846.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1846.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0105      ; [.15F0.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0061 0328 ; [.15F0.0020.0002.0105] # LATIN SMALL LETTER A WITH OGONEK
+0104      ; [.15F0.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+0041 0328 ; [.15F0.0020.0008.0104] # LATIN CAPITAL LETTER A WITH OGONEK
+0107      ; [.161E.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0301 ; [.161E.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0063 0341 ; [.161E.0020.0002.0107] # LATIN SMALL LETTER C WITH ACUTE
+0106      ; [.161E.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0301 ; [.161E.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0043 0341 ; [.161E.0020.0008.0106] # LATIN CAPITAL LETTER C WITH ACUTE
+0119      ; [.164D.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.164D.0020.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.164D.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.164D.0020.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0142      ; [.1712.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
+006C 0335 ; [.1712.0020.0002.0142] # LATIN SMALL LETTER L WITH STROKE
+0141      ; [.1712.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
+004C 0335 ; [.1712.0020.0008.0141] # LATIN CAPITAL LETTER L WITH STROKE
+0144      ; [.1750.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.1750.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.1750.0020.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.1750.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.1750.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.1750.0020.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+00F3      ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+015B      ; [.17F4.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+0073 0301 ; [.17F4.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+0073 0341 ; [.17F4.0020.0002.015B] # LATIN SMALL LETTER S WITH ACUTE
+015A      ; [.17F4.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0301 ; [.17F4.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+0053 0341 ; [.17F4.0020.0008.015A] # LATIN CAPITAL LETTER S WITH ACUTE
+017A      ; [.1896.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0301 ; [.1896.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+007A 0341 ; [.1896.0020.0002.017A] # LATIN SMALL LETTER Z WITH ACUTE
+0179      ; [.1896.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0301 ; [.1896.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+005A 0341 ; [.1896.0020.0008.0179] # LATIN CAPITAL LETTER Z WITH ACUTE
+017C      ; [.1897.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+007A 0307 ; [.1897.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B      ; [.1897.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+005A 0307 ; [.1897.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/pl.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,60 +1,53 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0103      ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0061 0306 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0102      ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-0041 0306 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-1EB1      ; [.15A4.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0      ; [.15A4.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EAF      ; [.15A4.0020.0002.0103][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE      ; [.15A4.0020.0008.0102][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB5      ; [.15A4.0020.0002.0103][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4      ; [.15A4.0020.0008.0102][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3      ; [.15A4.0020.0002.0103][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2      ; [.15A4.0020.0008.0102][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB7      ; [.15A4.0020.0002.0103][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6      ; [.15A4.0020.0008.0102][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-00E2      ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0061 0302 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2      ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0041 0302 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA7      ; [.15A5.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6      ; [.15A5.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA5      ; [.15A5.0020.0002.00E2][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4      ; [.15A5.0020.0008.00C2][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EAB      ; [.15A5.0020.0002.00E2][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA      ; [.15A5.0020.0008.00C2][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9      ; [.15A5.0020.0002.00E2][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8      ; [.15A5.0020.0008.00C2][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAD      ; [.15A5.0020.0002.00E2][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC      ; [.15A5.0020.0008.00C2][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-0111      ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00EE      ; [.1681.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-0069 0302 ; [.1681.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
-00CE      ; [.1681.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-0049 0302 ; [.1681.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-015F      ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0219      ; [.17A7.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
-0073 0326 ; [.17A7.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
-015E      ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0218      ; [.17A7.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0053 0326 ; [.17A7.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
-0163      ; [.17CA.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
-0074 0327 ; [.17CA.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
-021B      ; [.17CA.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
-0074 0326 ; [.17CA.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
-0162      ; [.17CA.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
-0054 0327 ; [.17CA.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
-021A      ; [.17CA.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-0054 0326 ; [.17CA.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
-017C      ; [.1845.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-007A 0307 ; [.1845.0020.0002.017C] # LATIN SMALL LETTER Z WITH DOT ABOVE
-017B      ; [.1845.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
-005A 0307 ; [.1845.0020.0008.017B] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0103      ; [.15F0.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.15F0.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0102      ; [.15F0.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.15F0.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1      ; [.15F0.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0      ; [.15F0.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF      ; [.15F0.0020.0002.0103][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE      ; [.15F0.0020.0008.0102][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5      ; [.15F0.0020.0002.0103][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4      ; [.15F0.0020.0008.0102][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3      ; [.15F0.0020.0002.0103][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2      ; [.15F0.0020.0008.0102][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7      ; [.15F0.0020.0002.0103][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6      ; [.15F0.0020.0008.0102][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2      ; [.15F1.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.15F1.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2      ; [.15F1.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.15F1.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7      ; [.15F1.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6      ; [.15F1.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5      ; [.15F1.0020.0002.00E2][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4      ; [.15F1.0020.0008.00C2][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB      ; [.15F1.0020.0002.00E2][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA      ; [.15F1.0020.0008.00C2][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9      ; [.15F1.0020.0002.00E2][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8      ; [.15F1.0020.0008.00C2][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD      ; [.15F1.0020.0002.00E2][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC      ; [.15F1.0020.0008.00C2][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+00EE      ; [.16CE.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+0069 0302 ; [.16CE.0020.0002.00EE] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE      ; [.16CE.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0049 0302 ; [.16CE.0020.0008.00CE] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+015F      ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0219      ; [.17F4.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
+0073 0326 ; [.17F4.0020.0002.0219] # LATIN SMALL LETTER S WITH COMMA BELOW
+015E      ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0218      ; [.17F4.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0053 0326 ; [.17F4.0020.0008.0218] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+0163      ; [.1817.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
+0074 0327 ; [.1817.0020.0002.0163] # LATIN SMALL LETTER T WITH CEDILLA
+021B      ; [.1817.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
+0074 0326 ; [.1817.0020.0002.021B] # LATIN SMALL LETTER T WITH COMMA BELOW
+0162      ; [.1817.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
+0054 0327 ; [.1817.0020.0008.0162] # LATIN CAPITAL LETTER T WITH CEDILLA
+021A      ; [.1817.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+0054 0326 ; [.1817.0020.0008.021A] # LATIN CAPITAL LETTER T WITH COMMA BELOW
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ro.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ru.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ru.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ru.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,35 +1,45 @@
 +{
-   suppress => [0x0400..0x0417, 0x041A..0x0437, 0x043A..0x045F],
-   entry => <<'ENTRY', # for DUCET v6.0.0
-04D1      ; [.1943.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0      ; [.1943.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3      ; [.1943.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2      ; [.1943.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-0453      ; [.1963.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
-0403      ; [.1963.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
-04D7      ; [.198B.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6      ; [.198B.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-04DD      ; [.1997.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC      ; [.1997.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-04DF      ; [.19A4.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE      ; [.19A4.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0457      ; [.19C8.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
-0407      ; [.19C8.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
-04E7      ; [.1A29.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6      ; [.1A29.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-045C      ; [.19DA.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
-040C      ; [.19DA.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
-045E      ; [.1A6B.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
-040E      ; [.1A6B.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
-04F1      ; [.1A6B.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0      ; [.1A6B.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3      ; [.1A6B.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2      ; [.1A6B.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04F5      ; [.1ABE.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4      ; [.1ABE.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04F9      ; [.1AF1.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8      ; [.1AF1.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-04ED      ; [.1B06.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC      ; [.1B06.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+   locale_version => 0.93,
+   suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+		0x0416, 0x0436, 0x0417, 0x0437, 0x0406, 0x0456, 0x041E, 0x043E,
+		0x04E8, 0x04E9, 0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447,
+		0x042B, 0x044B, 0x042D, 0x044D, 0x0474, 0x0475],
+   entry => <<'ENTRY', # for DUCET v6.2.0
+04D1      ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0      ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3      ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2      ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB      ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA      ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453      ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403      ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7      ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6      ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD      ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC      ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF      ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE      ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0457      ; [.1A16.0020.0002.0456][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YI
+0407      ; [.1A16.0020.0008.0406][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YI
+04E7      ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6      ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB      ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA      ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C      ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C      ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E      ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E      ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1      ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0      ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3      ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2      ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5      ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4      ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9      ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8      ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED      ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC      ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477      ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476      ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/ru.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,147 +1,148 @@
 +{
+   locale_version => 0.93,
 # eng, g-stroke, t-stroke don't require tailoring
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00E1      ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15B8.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15B8.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-010D      ; [.15E1.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15E1.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.15E1.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15E1.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0292      ; [.15E2.0020.0002.0292] # LATIN SMALL LETTER EZH
-01B7      ; [.15E2.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
-01EF      ; [.15E3.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
-0292 030C ; [.15E3.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
-01EE      ; [.15E3.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
-01B7 030C ; [.15E3.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
-0111      ; [.15FE.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15FE.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15FE.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15FE.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.15FE.0021.0002.00F0] # LATIN SMALL LETTER ETH
-00D0      ; [.15FE.0021.0008.00D0] # LATIN CAPITAL LETTER ETH
-01E7      ; [.164F.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
-0067 030C ; [.164F.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
-01E6      ; [.164F.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
-0047 030C ; [.164F.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
-01E9      ; [.16C3.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
-006B 030C ; [.16C3.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
-01E8      ; [.16C3.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
-004B 030C ; [.16C3.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
-0144      ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1720.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1720.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-00F1      ; [.1720.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1720.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1720.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1720.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-0161      ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17C8.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17C8.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-00FE      ; [.17CE.0021.0002.00FE] # LATIN SMALL LETTER THORN
-00DE      ; [.17CE.0021.0008.00DE] # LATIN CAPITAL LETTER THORN
-00FC      ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-017E      ; [.18B5.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.18B5.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.18B5.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.18B5.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-00F8      ; [.18B6.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.18B6.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.18B6.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.18B6.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.18B6.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.18B6.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0153      ; [.18B6.0021.0002.0153] # LATIN SMALL LIGATURE OE
-0152      ; [.18B6.0021.0008.0152] # LATIN CAPITAL LIGATURE OE
-00E6      ; [.18B7.0020.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.18B7.0020.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.18B7.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.18B7.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.18B7.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.18B7.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.18B7.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-00E5      ; [.18B9.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.18B9.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.18B9.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.18B9.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.18B9.0020.0008.00C5] # ANGSTROM SIGN
-01FB      ; [.18B9.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.18B9.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-0227      ; [.18B9.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
-0061 0307 ; [.18B9.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
-0226      ; [.18B9.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-0041 0307 ; [.18B9.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
-00E4      ; [.18BA.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.18BA.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.18BA.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.18BA.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.18BA.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.18BA.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E3      ; [.18BA.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
-0061 0303 ; [.18BA.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
-00C3      ; [.18BA.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
-0041 0303 ; [.18BA.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
-00F6      ; [.18BB.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.18BB.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.18BB.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.18BB.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.18BB.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.18BB.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-0151      ; [.18BB.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.18BB.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.18BB.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.18BB.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-00F5      ; [.18BB.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-006F 0303 ; [.18BB.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
-00D5      ; [.18BB.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-004F 0303 ; [.18BB.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
-1E4D      ; [.18BB.0022.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
-1E4C      ; [.18BB.0022.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
-022D      ; [.18BB.0022.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
-022C      ; [.18BB.0022.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
-1E4F      ; [.18BB.0022.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
-1E4E      ; [.18BB.0022.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
-1EE1      ; [.18BB.0022.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0      ; [.18BB.0022.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-00F4      ; [.18BB.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.18BB.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.18BB.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.18BB.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.18BB.0023.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.18BB.0023.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.18BB.0023.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.18BB.0023.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.18BB.0023.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.18BB.0023.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.18BB.0023.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.18BB.0023.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.18BB.0023.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.18BB.0023.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-01EB      ; [.18BB.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
-006F 0328 ; [.18BB.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
-01EA      ; [.18BB.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
-004F 0328 ; [.18BB.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00E1      ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.1604.0020.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.1604.0020.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+010D      ; [.162E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.162E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.162E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.162E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0292      ; [.162F.0020.0002.0292] # LATIN SMALL LETTER EZH
+01B7      ; [.162F.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
+01EF      ; [.1630.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
+0292 030C ; [.1630.0020.0002.01EF] # LATIN SMALL LETTER EZH WITH CARON
+01EE      ; [.1630.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
+01B7 030C ; [.1630.0020.0008.01EE] # LATIN CAPITAL LETTER EZH WITH CARON
+0111      ; [.164B.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.164B.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.164B.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.164B.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.164B.0021.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.164B.0021.0008.00D0] # LATIN CAPITAL LETTER ETH
+01E7      ; [.169C.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
+0067 030C ; [.169C.0020.0002.01E7] # LATIN SMALL LETTER G WITH CARON
+01E6      ; [.169C.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
+0047 030C ; [.169C.0020.0008.01E6] # LATIN CAPITAL LETTER G WITH CARON
+01E9      ; [.1710.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
+006B 030C ; [.1710.0020.0002.01E9] # LATIN SMALL LETTER K WITH CARON
+01E8      ; [.1710.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
+004B 030C ; [.1710.0020.0008.01E8] # LATIN CAPITAL LETTER K WITH CARON
+0144      ; [.176D.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.176D.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.176D.0021.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.176D.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.176D.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.176D.0021.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+00F1      ; [.176D.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.176D.0022.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.176D.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.176D.0022.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+0161      ; [.1815.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.1815.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.1815.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.1815.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+00FE      ; [.181B.0021.0002.00FE] # LATIN SMALL LETTER THORN
+00DE      ; [.181B.0021.0008.00DE] # LATIN CAPITAL LETTER THORN
+00FC      ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+017E      ; [.1902.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1902.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1902.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1902.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+00F8      ; [.1903.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1903.0020.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1903.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1903.0020.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1903.0020.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1903.0020.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0153      ; [.1903.0021.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.1903.0021.0008.0152] # LATIN CAPITAL LIGATURE OE
+00E6      ; [.1904.0020.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1904.0020.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1904.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1904.0020.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1904.0020.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1904.0020.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1904.0020.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+00E5      ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1906.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.1906.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1906.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+0227      ; [.1906.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
+0061 0307 ; [.1906.0021.0002.0227] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226      ; [.1906.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+0041 0307 ; [.1906.0021.0008.0226] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+00E4      ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1907.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1907.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3      ; [.1907.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
+0061 0303 ; [.1907.0021.0002.00E3] # LATIN SMALL LETTER A WITH TILDE
+00C3      ; [.1907.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
+0041 0303 ; [.1907.0021.0008.00C3] # LATIN CAPITAL LETTER A WITH TILDE
+00F6      ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1908.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1908.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151      ; [.1908.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1908.0021.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1908.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1908.0021.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5      ; [.1908.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+006F 0303 ; [.1908.0022.0002.00F5] # LATIN SMALL LETTER O WITH TILDE
+00D5      ; [.1908.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+004F 0303 ; [.1908.0022.0008.00D5] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D      ; [.1908.0022.0002.00F5][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C      ; [.1908.0022.0008.00D5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+022D      ; [.1908.0022.0002.00F5][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C      ; [.1908.0022.0008.00D5][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+1E4F      ; [.1908.0022.0002.00F5][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E      ; [.1908.0022.0008.00D5][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+1EE1      ; [.1908.0022.0002.00F5][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0      ; [.1908.0022.0008.00D5][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+00F4      ; [.1908.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1908.0023.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1908.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1908.0023.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1908.0023.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1908.0023.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1908.0023.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1908.0023.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1908.0023.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1908.0023.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1908.0023.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1908.0023.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1908.0023.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1908.0023.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01EB      ; [.1908.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
+006F 0328 ; [.1908.0024.0002.01EB] # LATIN SMALL LETTER O WITH OGONEK
+01EA      ; [.1908.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
+004F 0328 ; [.1908.0024.0008.01EA] # LATIN CAPITAL LETTER O WITH OGONEK
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/se.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,40 +1,45 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00E4      ; [.15A4.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.15A4.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.15A4.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.15A4.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.15A4.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.15A4.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-010D      ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0063 0068 ; [.1668.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
-0063 0048 ; [.1668.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
-0043 0068 ; [.1668.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
-0043 0048 ; [.1668.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
-00F4      ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161      ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00E4      ; [.15F0.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.15F0.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.15F0.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.15F0.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.15F0.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.15F0.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+010D      ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0063 0068 ; [.16B5.0020.0002.0063] # <LATIN SMALL LETTER C, LATIN SMALL LETTER H>
+0063 0048 ; [.16B5.0020.0007.0063][.0000.0000.0002.0000] # <LATIN SMALL LETTER C, LATIN CAPITAL LETTER H>
+0043 0068 ; [.16B5.0020.0007.0043][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER C, LATIN SMALL LETTER H>
+0043 0048 ; [.16B5.0020.0008.0043] # <LATIN CAPITAL LETTER C, LATIN CAPITAL LETTER H>
+00F4      ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1772.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1772.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1772.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1772.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1772.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1772.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1772.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1772.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1772.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1772.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0159      ; [.17BE.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0072 030C ; [.17BE.0020.0002.0159] # LATIN SMALL LETTER R WITH CARON
+0158      ; [.17BE.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0052 030C ; [.17BE.0020.0008.0158] # LATIN CAPITAL LETTER R WITH CARON
+0161      ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sk.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,17 +1,17 @@
 +{
-# c-acute not included
-   entry => <<'ENTRY', # for DUCET v6.0.0
-010D      ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-0063 030C ; [.15D2.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
-010C      ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0043 030C ; [.15D2.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
-0161      ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-017E      ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-007A 030C ; [.1845.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
-017D      ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
-005A 030C ; [.1845.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+010D      ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+0063 030C ; [.161E.0020.0002.010D] # LATIN SMALL LETTER C WITH CARON
+010C      ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0043 030C ; [.161E.0020.0008.010C] # LATIN CAPITAL LETTER C WITH CARON
+0161      ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+017E      ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+007A 030C ; [.1896.0020.0002.017E] # LATIN SMALL LETTER Z WITH CARON
+017D      ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
+005A 030C ; [.1896.0020.0008.017D] # LATIN CAPITAL LETTER Z WITH CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sl.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,48 +1,49 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00E7      ; [.15E3.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.15E3.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7      ; [.15E3.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.15E3.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0064 0068 ; [.15FE.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
-0064 0048 ; [.15FE.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
-0044 0068 ; [.15FE.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
-0044 0048 ; [.15FE.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
-00EB      ; [.1636.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-0065 0308 ; [.1636.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB      ; [.1636.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0045 0308 ; [.1636.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0067 006A ; [.1666.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
-0067 004A ; [.1666.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
-0047 006A ; [.1666.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
-0047 004A ; [.1666.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
-006C 006C ; [.16F3.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
-006C 004C ; [.16F3.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
-004C 006C ; [.16F3.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
-004C 004C ; [.16F3.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
-006E 006A ; [.1723.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
-006E 004A ; [.1723.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
-004E 006A ; [.1723.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
-004E 004A ; [.1723.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
-0072 0072 ; [.17A5.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
-0072 0052 ; [.17A5.0020.0007.0072][.0000.0000.0002.0000] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
-0052 0072 ; [.17A5.0020.0007.0052][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
-0052 0052 ; [.17A5.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
-0073 0068 ; [.17C8.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
-0073 0048 ; [.17C8.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
-0053 0068 ; [.17C8.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
-0053 0048 ; [.17C8.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
-0074 0068 ; [.17E8.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
-0074 0048 ; [.17E8.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
-0054 0068 ; [.17E8.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
-0054 0048 ; [.17E8.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
-0078 0068 ; [.1832.0020.0002.0078] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
-0078 0048 ; [.1832.0020.0007.0078][.0000.0000.0002.0000] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
-0058 0068 ; [.1832.0020.0007.0058][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
-0058 0048 ; [.1832.0020.0008.0058] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
-007A 0068 ; [.1860.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
-007A 0048 ; [.1860.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
-005A 0068 ; [.1860.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
-005A 0048 ; [.1860.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00E7      ; [.1630.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.1630.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7      ; [.1630.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.1630.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0064 0068 ; [.164B.0020.0002.0064] # <LATIN SMALL LETTER D, LATIN SMALL LETTER H>
+0064 0048 ; [.164B.0020.0007.0064][.0000.0000.0002.0000] # <LATIN SMALL LETTER D, LATIN CAPITAL LETTER H>
+0044 0068 ; [.164B.0020.0007.0044][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER D, LATIN SMALL LETTER H>
+0044 0048 ; [.164B.0020.0008.0044] # <LATIN CAPITAL LETTER D, LATIN CAPITAL LETTER H>
+00EB      ; [.1683.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.1683.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB      ; [.1683.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.1683.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0067 006A ; [.16B3.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER J>
+0067 004A ; [.16B3.0020.0007.0067][.0000.0000.0002.0000] # <LATIN SMALL LETTER G, LATIN CAPITAL LETTER J>
+0047 006A ; [.16B3.0020.0007.0047][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER J>
+0047 004A ; [.16B3.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER J>
+006C 006C ; [.1740.0020.0002.006C] # <LATIN SMALL LETTER L, LATIN SMALL LETTER L>
+006C 004C ; [.1740.0020.0007.006C][.0000.0000.0002.0000] # <LATIN SMALL LETTER L, LATIN CAPITAL LETTER L>
+004C 006C ; [.1740.0020.0007.004C][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER L, LATIN SMALL LETTER L>
+004C 004C ; [.1740.0020.0008.004C] # <LATIN CAPITAL LETTER L, LATIN CAPITAL LETTER L>
+006E 006A ; [.1770.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER J>
+006E 004A ; [.1770.0020.0007.006E][.0000.0000.0002.0000] # <LATIN SMALL LETTER N, LATIN CAPITAL LETTER J>
+004E 006A ; [.1770.0020.0007.004E][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER J>
+004E 004A ; [.1770.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER J>
+0072 0072 ; [.17F2.0020.0002.0072] # <LATIN SMALL LETTER R, LATIN SMALL LETTER R>
+0072 0052 ; [.17F2.0020.0007.0072][.0000.0000.0002.0000] # <LATIN SMALL LETTER R, LATIN CAPITAL LETTER R>
+0052 0072 ; [.17F2.0020.0007.0052][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER R, LATIN SMALL LETTER R>
+0052 0052 ; [.17F2.0020.0008.0052] # <LATIN CAPITAL LETTER R, LATIN CAPITAL LETTER R>
+0073 0068 ; [.1815.0020.0002.0073] # <LATIN SMALL LETTER S, LATIN SMALL LETTER H>
+0073 0048 ; [.1815.0020.0007.0073][.0000.0000.0002.0000] # <LATIN SMALL LETTER S, LATIN CAPITAL LETTER H>
+0053 0068 ; [.1815.0020.0007.0053][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER S, LATIN SMALL LETTER H>
+0053 0048 ; [.1815.0020.0008.0053] # <LATIN CAPITAL LETTER S, LATIN CAPITAL LETTER H>
+0074 0068 ; [.1835.0020.0002.0074] # <LATIN SMALL LETTER T, LATIN SMALL LETTER H>
+0074 0048 ; [.1835.0020.0007.0074][.0000.0000.0002.0000] # <LATIN SMALL LETTER T, LATIN CAPITAL LETTER H>
+0054 0068 ; [.1835.0020.0007.0054][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER T, LATIN SMALL LETTER H>
+0054 0048 ; [.1835.0020.0008.0054] # <LATIN CAPITAL LETTER T, LATIN CAPITAL LETTER H>
+0078 0068 ; [.187F.0020.0002.0078] # <LATIN SMALL LETTER X, LATIN SMALL LETTER H>
+0078 0048 ; [.187F.0020.0007.0078][.0000.0000.0002.0000] # <LATIN SMALL LETTER X, LATIN CAPITAL LETTER H>
+0058 0068 ; [.187F.0020.0007.0058][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER X, LATIN SMALL LETTER H>
+0058 0048 ; [.187F.0020.0008.0058] # <LATIN CAPITAL LETTER X, LATIN CAPITAL LETTER H>
+007A 0068 ; [.18B1.0020.0002.007A] # <LATIN SMALL LETTER Z, LATIN SMALL LETTER H>
+007A 0048 ; [.18B1.0020.0007.007A][.0000.0000.0002.0000] # <LATIN SMALL LETTER Z, LATIN CAPITAL LETTER H>
+005A 0068 ; [.18B1.0020.0007.005A][.0000.0000.0008.0000] # <LATIN CAPITAL LETTER Z, LATIN SMALL LETTER H>
+005A 0048 ; [.18B1.0020.0008.005A] # <LATIN CAPITAL LETTER Z, LATIN CAPITAL LETTER H>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sq.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,86 +1,87 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0111      ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E4.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E4.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00F0      ; [.15E4.0022.0002.00F0] # LATIN SMALL LETTER ETH
-00D0      ; [.15E4.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
-00FE      ; [.17C9.0020.0003.00FE][.1667.0020.0003.00FE] # LATIN SMALL LETTER THORN
-00DE      ; [.17C9.0020.0009.00DE][.1667.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
-0077      ; [.1812.0020.0003.0077] # LATIN SMALL LETTER W
-0057      ; [.1812.0020.0009.0057] # LATIN CAPITAL LETTER W
-00FC      ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.1833.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.1833.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.1833.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.1833.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.1833.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.1833.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.1833.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.1833.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.1833.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.1833.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0171      ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0075 030B ; [.1833.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
-0170      ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-0055 030B ; [.1833.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
-00E5      ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-0061 030A ; [.1845.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
-00C5      ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-0041 030A ; [.1845.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
-212B      ; [.1845.0020.0008.00C5] # ANGSTROM SIGN
-01FB      ; [.1845.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
-01FA      ; [.1845.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
-00E4      ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-0061 0308 ; [.1846.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
-00C4      ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-0041 0308 ; [.1846.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
-01DF      ; [.1846.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
-01DE      ; [.1846.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
-00E6      ; [.1846.0021.0002.00E6] # LATIN SMALL LETTER AE
-00C6      ; [.1846.0021.0008.00C6] # LATIN CAPITAL LETTER AE
-1D2D      ; [.1846.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
-01FD      ; [.1846.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
-01FC      ; [.1846.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
-01E3      ; [.1846.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
-01E2      ; [.1846.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
-0119      ; [.1846.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0065 0328 ; [.1846.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
-0118      ; [.1846.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-0045 0328 ; [.1846.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
-00F6      ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1847.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1847.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1847.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1847.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-00F8      ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-006F 0338 ; [.1847.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
-00D8      ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-004F 0338 ; [.1847.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
-01FF      ; [.1847.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
-01FE      ; [.1847.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
-0151      ; [.1847.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-006F 030B ; [.1847.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
-0150      ; [.1847.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-004F 030B ; [.1847.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
-0153      ; [.1847.0023.0002.0153] # LATIN SMALL LIGATURE OE
-0152      ; [.1847.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
-00F4      ; [.1847.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1847.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1847.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1847.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1847.0024.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1847.0024.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1847.0024.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1847.0024.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1847.0024.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1847.0024.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1847.0024.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1847.0024.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1847.0024.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1847.0024.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0111      ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1631.0021.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1631.0021.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00F0      ; [.1631.0022.0002.00F0] # LATIN SMALL LETTER ETH
+00D0      ; [.1631.0022.0008.00D0] # LATIN CAPITAL LETTER ETH
+00FE      ; [.1816.0020.0003.00FE][.16B4.0020.0003.00FE] # LATIN SMALL LETTER THORN
+00DE      ; [.1816.0020.0009.00DE][.16B4.0020.0009.00DE] # LATIN CAPITAL LETTER THORN
+0077      ; [.185F.0021.0002.0077] # LATIN SMALL LETTER W
+0057      ; [.185F.0021.0008.0057] # LATIN CAPITAL LETTER W
+00FC      ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1880.0021.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1880.0021.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1880.0021.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1880.0021.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1880.0021.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1880.0021.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1880.0021.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1880.0021.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1880.0021.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1880.0021.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0171      ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0075 030B ; [.1880.0022.0002.0171] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170      ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0055 030B ; [.1880.0022.0008.0170] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+00E5      ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+0061 030A ; [.1906.0020.0002.00E5] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5      ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+0041 030A ; [.1906.0020.0008.00C5] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B      ; [.1906.0020.0008.00C5] # ANGSTROM SIGN
+01FB      ; [.1906.0020.0002.00E5][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA      ; [.1906.0020.0008.00C5][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4      ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+0061 0308 ; [.1907.0020.0002.00E4] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4      ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+0041 0308 ; [.1907.0020.0008.00C4] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF      ; [.1907.0020.0002.00E4][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE      ; [.1907.0020.0008.00C4][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E6      ; [.1907.0021.0002.00E6] # LATIN SMALL LETTER AE
+00C6      ; [.1907.0021.0008.00C6] # LATIN CAPITAL LETTER AE
+1D2D      ; [.1907.0021.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD      ; [.1907.0021.0002.00E6][.0000.0032.0002.0301] # LATIN SMALL LETTER AE WITH ACUTE
+01FC      ; [.1907.0021.0008.00C6][.0000.0032.0002.0301] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3      ; [.1907.0021.0002.00E6][.0000.005B.0002.0304] # LATIN SMALL LETTER AE WITH MACRON
+01E2      ; [.1907.0021.0008.00C6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER AE WITH MACRON
+0119      ; [.1907.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0065 0328 ; [.1907.0022.0002.0119] # LATIN SMALL LETTER E WITH OGONEK
+0118      ; [.1907.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+0045 0328 ; [.1907.0022.0008.0118] # LATIN CAPITAL LETTER E WITH OGONEK
+00F6      ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1908.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1908.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1908.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1908.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+00F8      ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+006F 0338 ; [.1908.0021.0002.00F8] # LATIN SMALL LETTER O WITH STROKE
+00D8      ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+004F 0338 ; [.1908.0021.0008.00D8] # LATIN CAPITAL LETTER O WITH STROKE
+01FF      ; [.1908.0021.0002.00F8][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE      ; [.1908.0021.0008.00D8][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+0151      ; [.1908.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+006F 030B ; [.1908.0022.0002.0151] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150      ; [.1908.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+004F 030B ; [.1908.0022.0008.0150] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+0153      ; [.1908.0023.0002.0153] # LATIN SMALL LIGATURE OE
+0152      ; [.1908.0023.0008.0152] # LATIN CAPITAL LIGATURE OE
+00F4      ; [.1908.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1908.0024.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1908.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1908.0024.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1908.0024.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1908.0024.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1908.0024.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1908.0024.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1908.0024.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1908.0024.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1908.0024.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1908.0024.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1908.0024.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1908.0024.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sv.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sw.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sw.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sw.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/sw.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,36 +1,37 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00EA      ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1      ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF      ; [.1600.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1600.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5      ; [.1600.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1600.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1600.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1600.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1600.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1600.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4      ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1725.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1725.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1725.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1725.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1725.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1725.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1725.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1725.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-0161      ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0073 030C ; [.17A7.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
-0160      ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
-0053 030C ; [.17A7.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00EA      ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1      ; [.164D.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.164D.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF      ; [.164D.0020.0002.00EA][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.164D.0020.0008.00CA][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5      ; [.164D.0020.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.164D.0020.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.164D.0020.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.164D.0020.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.164D.0020.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164D.0020.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4      ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1772.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1772.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1772.0020.0002.00F4][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1772.0020.0008.00D4][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1772.0020.0002.00F4][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1772.0020.0008.00D4][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1772.0020.0002.00F4][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1772.0020.0008.00D4][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1772.0020.0002.00F4][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1772.0020.0008.00D4][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0161      ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0073 030C ; [.17F4.0020.0002.0161] # LATIN SMALL LETTER S WITH CARON
+0160      ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
+0053 030C ; [.17F4.0020.0008.0160] # LATIN CAPITAL LETTER S WITH CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tn.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,61 +1,62 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-006E 0067 ; [.1703.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
-004E 0067 ; [.1703.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
-004E 0047 ; [.1703.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
-014B      ; [.1703.0020.001C.014B] # LATIN SMALL LETTER ENG
-014A      ; [.1703.0020.001D.014A] # LATIN CAPITAL LETTER ENG
-02BB      ; [.1845.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-02BD      ; [.1845.0020.0003.02BD] # MODIFIER LETTER REVERSED COMMA
-0101      ; [.15A3.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.0021.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-00E1      ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.0021.0003.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0100      ; [.15A3.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.0021.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00C1      ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.0021.0009.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0113      ; [.15FF.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.0021.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-00E9      ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.0021.0003.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0112      ; [.15FF.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.0021.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00C9      ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.0021.0009.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-012B      ; [.1680.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.0021.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-00ED      ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.0021.0003.00ED] # LATIN SMALL LETTER I WITH ACUTE
-012A      ; [.1680.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.0021.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00CD      ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.0021.0009.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-014D      ; [.1724.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.0021.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-00F3      ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.0021.0003.00F3] # LATIN SMALL LETTER O WITH ACUTE
-014C      ; [.1724.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.0021.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00D3      ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.0021.0009.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-016B      ; [.17E9.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.0021.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-00FA      ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.0021.0003.00FA] # LATIN SMALL LETTER U WITH ACUTE
-016A      ; [.17E9.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.0021.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00DA      ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.0021.0009.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+   locale_version => 0.95,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+006E 0067 ; [.1750.0020.0002.006E] # <LATIN SMALL LETTER N, LATIN SMALL LETTER G>
+004E 0067 ; [.1750.0020.0007.004E] # <LATIN CAPITAL LETTER N, LATIN SMALL LETTER G>
+004E 0047 ; [.1750.0020.0008.004E] # <LATIN CAPITAL LETTER N, LATIN CAPITAL LETTER G>
+014B      ; [.1750.0020.001C.014B] # LATIN SMALL LETTER ENG
+014A      ; [.1750.0020.001D.014A] # LATIN CAPITAL LETTER ENG
+02BB      ; [.1896.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+02BD      ; [.1896.0020.0003.02BD] # MODIFIER LETTER REVERSED COMMA
+00E1      ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EF.0021.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EF.0021.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0101      ; [.15EF.0022.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EF.0022.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.15EF.0022.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EF.0022.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E9      ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164C.0021.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164C.0021.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0113      ; [.164C.0022.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.164C.0022.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.164C.0022.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.164C.0022.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00ED      ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CD.0021.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CD.0021.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+012B      ; [.16CD.0022.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16CD.0022.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.16CD.0022.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16CD.0022.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00F3      ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1771.0021.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1771.0021.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+014D      ; [.1771.0022.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1771.0022.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1771.0022.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1771.0022.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00FA      ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1836.0021.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1836.0021.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+016B      ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.0022.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.0022.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/to.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,45 +1,46 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00E7      ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-0063 0327 ; [.15D2.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
-00C7      ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-0043 0327 ; [.15D2.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
-011F      ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-0067 0306 ; [.1645.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
-011E      ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0047 0306 ; [.1645.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
-0131      ; [.167F.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-0049      ; [.167F.0020.0008.0049] # LATIN CAPITAL LETTER I
-00CC      ; [.167F.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
-00CD      ; [.167F.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00CE      ; [.167F.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-00CF      ; [.167F.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
-012A      ; [.167F.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
-012C      ; [.167F.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-012E      ; [.167F.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
-0130      ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-0049 0307 ; [.1680.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
-00F6      ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-006F 0308 ; [.1725.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
-00D6      ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-004F 0308 ; [.1725.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
-022B      ; [.1725.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
-022A      ; [.1725.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
-015F      ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-0073 0327 ; [.17A7.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
-015E      ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-0053 0327 ; [.17A7.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
-00FC      ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17EA.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17EA.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-01DC      ; [.17EA.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17EA.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-01D8      ; [.17EA.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17EA.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-01D6      ; [.17EA.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17EA.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-01DA      ; [.17EA.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17EA.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00E7      ; [.161E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+0063 0327 ; [.161E.0020.0002.00E7] # LATIN SMALL LETTER C WITH CEDILLA
+00C7      ; [.161E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+0043 0327 ; [.161E.0020.0008.00C7] # LATIN CAPITAL LETTER C WITH CEDILLA
+011F      ; [.1692.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+0067 0306 ; [.1692.0020.0002.011F] # LATIN SMALL LETTER G WITH BREVE
+011E      ; [.1692.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0047 0306 ; [.1692.0020.0008.011E] # LATIN CAPITAL LETTER G WITH BREVE
+0131      ; [.16CC.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+0049      ; [.16CC.0020.0008.0049] # LATIN CAPITAL LETTER I
+00CC      ; [.16CC.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+00CD      ; [.16CC.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00CE      ; [.16CC.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+00CF      ; [.16CC.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+012A      ; [.16CC.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+012C      ; [.16CC.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+012E      ; [.16CC.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+0130      ; [.16CD.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+0049 0307 ; [.16CD.0020.0008.0130] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+00F6      ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+006F 0308 ; [.1772.0020.0002.00F6] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6      ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+004F 0308 ; [.1772.0020.0008.00D6] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B      ; [.1772.0020.0002.00F6][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A      ; [.1772.0020.0008.00D6][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+015F      ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+0073 0327 ; [.17F4.0020.0002.015F] # LATIN SMALL LETTER S WITH CEDILLA
+015E      ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+0053 0327 ; [.17F4.0020.0008.015E] # LATIN CAPITAL LETTER S WITH CEDILLA
+00FC      ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1837.0020.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1837.0020.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01DC      ; [.1837.0020.0002.00FC][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1837.0020.0008.00DC][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01D8      ; [.1837.0020.0002.00FC][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1837.0020.0008.00DC][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01D6      ; [.1837.0020.0002.00FC][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1837.0020.0008.00DC][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+01DA      ; [.1837.0020.0002.00FC][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1837.0020.0008.00DC][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/tr.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,45 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0491      ; [.1964.0020.0002.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
-0490      ; [.1964.0020.0008.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+   locale_version => 0.95,
+   suppress => [0x0410, 0x0430, 0x04D8, 0x04D9, 0x0413, 0x0433, 0x0415, 0x0435,
+		0x0416, 0x0436, 0x0417, 0x0437, 0x041E, 0x043E, 0x04E8, 0x04E9,
+		0x041A, 0x043A, 0x0423, 0x0443, 0x0427, 0x0447, 0x042B, 0x044B,
+		0x042D, 0x044D, 0x0474, 0x0475],
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0491      ; [.19B2.0020.0002.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490      ; [.19B2.0020.0008.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+04D1      ; [.1991.0020.0002.0430][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0      ; [.1991.0020.0008.0410][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3      ; [.1991.0020.0002.0430][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2      ; [.1991.0020.0008.0410][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04DB      ; [.199D.0020.0002.04D9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA      ; [.199D.0020.0008.04D8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+0453      ; [.19B1.0020.0002.0433][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER GJE
+0403      ; [.19B1.0020.0008.0413][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER GJE
+04D7      ; [.19D9.0020.0002.0435][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6      ; [.19D9.0020.0008.0415][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+04DD      ; [.19E5.0020.0002.0436][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC      ; [.19E5.0020.0008.0416][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+04DF      ; [.19F2.0020.0002.0437][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE      ; [.19F2.0020.0008.0417][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+04E7      ; [.1A77.0020.0002.043E][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6      ; [.1A77.0020.0008.041E][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04EB      ; [.1A7F.0020.0002.04E9][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA      ; [.1A7F.0020.0008.04E8][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+045C      ; [.1A28.0020.0002.043A][.0000.0032.0002.0301] # CYRILLIC SMALL LETTER KJE
+040C      ; [.1A28.0020.0008.041A][.0000.0032.0002.0301] # CYRILLIC CAPITAL LETTER KJE
+045E      ; [.1AB9.0020.0002.0443][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER SHORT U
+040E      ; [.1AB9.0020.0008.0423][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER SHORT U
+04F1      ; [.1AB9.0020.0002.0443][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0      ; [.1AB9.0020.0008.0423][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3      ; [.1AB9.0020.0002.0443][.0000.004D.0002.030B] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2      ; [.1AB9.0020.0008.0423][.0000.004D.0002.030B] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04F5      ; [.1B0C.0020.0002.0447][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4      ; [.1B0C.0020.0008.0427][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04F9      ; [.1B3F.0020.0002.044B][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8      ; [.1B3F.0020.0008.042B][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+04ED      ; [.1B54.0020.0002.044D][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC      ; [.1B54.0020.0008.042D][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+0477      ; [.1B8A.0020.0002.0475][.0000.0065.0002.030F] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476      ; [.1B8A.0020.0008.0474][.0000.0065.0002.030F] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/uk.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,219 +1,220 @@
 +{
+   locale_version => 0.93,
 # 0306 is not a Vietnamese tone, just to avoid \x{303} eq \x{306}.
-   entry => <<'ENTRY', # for DUCET v6.0.0
+   entry => <<'ENTRY', # for DUCET v6.2.0
 0309      ; [.0000.0036.0002.0309] # COMBINING HOOK ABOVE
-1EA3      ; [.15A3.0020.0002.0061][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
-1EA2      ; [.15A3.0020.0008.0041][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
-1EBB      ; [.15FF.0020.0002.0065][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
-1EBA      ; [.15FF.0020.0008.0045][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
-1EC9      ; [.1680.0020.0002.0069][.0000.0036.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
-1EC8      ; [.1680.0020.0008.0049][.0000.0036.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
-1ECF      ; [.1724.0020.0002.006F][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
-1ECE      ; [.1724.0020.0008.004F][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
-1EE7      ; [.17E9.0020.0002.0075][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
-1EE6      ; [.17E9.0020.0008.0055][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
-1EF7      ; [.1833.0020.0002.0079][.0000.0036.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
-1EF6      ; [.1833.0020.0008.0059][.0000.0036.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EA3      ; [.15EF.0020.0002.0061][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2      ; [.15EF.0020.0008.0041][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+1EBB      ; [.164C.0020.0002.0065][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA      ; [.164C.0020.0008.0045][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+1EC9      ; [.16CD.0020.0002.0069][.0000.0036.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8      ; [.16CD.0020.0008.0049][.0000.0036.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+1ECF      ; [.1771.0020.0002.006F][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE      ; [.1771.0020.0008.004F][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+1EE7      ; [.1836.0020.0002.0075][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6      ; [.1836.0020.0008.0055][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+1EF7      ; [.1880.0020.0002.0079][.0000.0036.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6      ; [.1880.0020.0008.0059][.0000.0036.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
 0303      ; [.0000.0037.0002.0303] # COMBINING TILDE
-00E3      ; [.15A3.0020.0002.0061][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH TILDE
-00C3      ; [.15A3.0020.0008.0041][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
-1EBD      ; [.15FF.0020.0002.0065][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH TILDE
-1EBC      ; [.15FF.0020.0008.0045][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
-0129      ; [.1680.0020.0002.0069][.0000.0037.0002.0303] # LATIN SMALL LETTER I WITH TILDE
-0128      ; [.1680.0020.0008.0049][.0000.0037.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
-00F5      ; [.1724.0020.0002.006F][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH TILDE
-00D5      ; [.1724.0020.0008.004F][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
-0169      ; [.17E9.0020.0002.0075][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH TILDE
-0168      ; [.17E9.0020.0008.0055][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
-1EF9      ; [.1833.0020.0002.0079][.0000.0037.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
-1EF8      ; [.1833.0020.0008.0059][.0000.0037.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
+00E3      ; [.15EF.0020.0002.0061][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH TILDE
+00C3      ; [.15EF.0020.0008.0041][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
+1EBD      ; [.164C.0020.0002.0065][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH TILDE
+1EBC      ; [.164C.0020.0008.0045][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
+0129      ; [.16CD.0020.0002.0069][.0000.0037.0002.0303] # LATIN SMALL LETTER I WITH TILDE
+0128      ; [.16CD.0020.0008.0049][.0000.0037.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
+00F5      ; [.1771.0020.0002.006F][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH TILDE
+00D5      ; [.1771.0020.0008.004F][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
+0169      ; [.1836.0020.0002.0075][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH TILDE
+0168      ; [.1836.0020.0008.0055][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
+1EF9      ; [.1880.0020.0002.0079][.0000.0037.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
+1EF8      ; [.1880.0020.0008.0059][.0000.0037.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
 0301      ; [.0000.0038.0002.0301] # COMBINING ACUTE ACCENT
-00E1      ; [.15A3.0020.0002.0061][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.15A3.0020.0008.0041][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
-00E9      ; [.15FF.0020.0002.0065][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.15FF.0020.0008.0045][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
-00ED      ; [.1680.0020.0002.0069][.0000.0038.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1680.0020.0008.0049][.0000.0038.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
-00F3      ; [.1724.0020.0002.006F][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1724.0020.0008.004F][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
-00FA      ; [.17E9.0020.0002.0075][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.17E9.0020.0008.0055][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
-00FD      ; [.1833.0020.0002.0079][.0000.0038.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
-00DD      ; [.1833.0020.0008.0059][.0000.0038.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
+00E1      ; [.15EF.0020.0002.0061][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.15EF.0020.0008.0041][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
+00E9      ; [.164C.0020.0002.0065][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.164C.0020.0008.0045][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
+00ED      ; [.16CD.0020.0002.0069][.0000.0038.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.16CD.0020.0008.0049][.0000.0038.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00F3      ; [.1771.0020.0002.006F][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1771.0020.0008.004F][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
+00FA      ; [.1836.0020.0002.0075][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1836.0020.0008.0055][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
+00FD      ; [.1880.0020.0002.0079][.0000.0038.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
+00DD      ; [.1880.0020.0008.0059][.0000.0038.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
 0341      ; [.0000.0038.0002.0341] # COMBINING ACUTE TONE MARK
 0323      ; [.0000.0039.0002.0323] # COMBINING DOT BELOW
-1EA1      ; [.15A3.0020.0002.0061][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
-1EA0      ; [.15A3.0020.0008.0041][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
-1EB9      ; [.15FF.0020.0002.0065][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8      ; [.15FF.0020.0008.0045][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1ECB      ; [.1680.0020.0002.0069][.0000.0039.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
-1ECA      ; [.1680.0020.0008.0049][.0000.0039.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
-1ECD      ; [.1724.0020.0002.006F][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC      ; [.1724.0020.0008.004F][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1EE5      ; [.17E9.0020.0002.0075][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
-1EE4      ; [.17E9.0020.0008.0055][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
-1EF5      ; [.1833.0020.0002.0079][.0000.0039.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
-1EF4      ; [.1833.0020.0008.0059][.0000.0039.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+1EA1      ; [.15EF.0020.0002.0061][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0      ; [.15EF.0020.0008.0041][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB9      ; [.164C.0020.0002.0065][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8      ; [.164C.0020.0008.0045][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1ECB      ; [.16CD.0020.0002.0069][.0000.0039.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA      ; [.16CD.0020.0008.0049][.0000.0039.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1ECD      ; [.1771.0020.0002.006F][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC      ; [.1771.0020.0008.004F][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1EE5      ; [.1836.0020.0002.0075][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4      ; [.1836.0020.0008.0055][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1EF5      ; [.1880.0020.0002.0079][.0000.0039.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4      ; [.1880.0020.0008.0059][.0000.0039.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
 0306      ; [.0000.003A.0002.0306] # COMBINING BREVE
-0115      ; [.15FF.0020.0002.0065][.0000.003A.0002.0306] # LATIN SMALL LETTER E WITH BREVE
-0114      ; [.15FF.0020.0008.0045][.0000.003A.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
-012D      ; [.1680.0020.0002.0069][.0000.003A.0002.0306] # LATIN SMALL LETTER I WITH BREVE
-012C      ; [.1680.0020.0008.0049][.0000.003A.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
-014F      ; [.1724.0020.0002.006F][.0000.003A.0002.0306] # LATIN SMALL LETTER O WITH BREVE
-014E      ; [.1724.0020.0008.004F][.0000.003A.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
-016D      ; [.17E9.0020.0002.0075][.0000.003A.0002.0306] # LATIN SMALL LETTER U WITH BREVE
-016C      ; [.17E9.0020.0008.0055][.0000.003A.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
-0103      ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0061 0306 ; [.15A4.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
-0102      ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-0041 0306 ; [.15A4.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
-1EB1      ; [.15A4.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
-1EB0      ; [.15A4.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
-1EAF      ; [.15A4.0020.0002.0103][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
-1EAE      ; [.15A4.0020.0008.0102][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
-1EB5      ; [.15A4.0020.0002.0103][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
-1EB4      ; [.15A4.0020.0008.0102][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
-1EB3      ; [.15A4.0020.0002.0103][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
-1EB2      ; [.15A4.0020.0008.0102][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
-1EB7      ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
-1EB6      ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
-00E2      ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-0061 0302 ; [.15A5.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
-00C2      ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-0041 0302 ; [.15A5.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-1EA7      ; [.15A5.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA6      ; [.15A5.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
-1EA5      ; [.15A5.0020.0002.00E2][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EA4      ; [.15A5.0020.0008.00C2][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
-1EAB      ; [.15A5.0020.0002.00E2][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
-1EAA      ; [.15A5.0020.0008.00C2][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
-1EA9      ; [.15A5.0020.0002.00E2][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EA8      ; [.15A5.0020.0008.00C2][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
-1EAD      ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-1EAC      ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
-0111      ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0064 0335 ; [.15E5.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
-0110      ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-0044 0335 ; [.15E5.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
-00EA      ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.1600.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.1600.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC1      ; [.1600.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.1600.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EBF      ; [.1600.0020.0002.00EA][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.1600.0020.0008.00CA][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EC5      ; [.1600.0020.0002.00EA][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.1600.0020.0008.00CA][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.1600.0020.0002.00EA][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.1600.0020.0008.00CA][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-00F4      ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-006F 0302 ; [.1725.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
-00D4      ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-004F 0302 ; [.1725.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-1ED3      ; [.1725.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED2      ; [.1725.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
-1ED1      ; [.1725.0020.0002.00F4][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED0      ; [.1725.0020.0008.00D4][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
-1ED7      ; [.1725.0020.0002.00F4][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED6      ; [.1725.0020.0008.00D4][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
-1ED5      ; [.1725.0020.0002.00F4][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED4      ; [.1725.0020.0008.00D4][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
-1ED9      ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-01A1      ; [.1726.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
-006F 031B ; [.1726.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
-01A0      ; [.1726.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
-004F 031B ; [.1726.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
-1EDD      ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
-1EDC      ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
-1EDB      ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
-1EDA      ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
-1EE1      ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
-1EE0      ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
-1EDF      ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
-1EDE      ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
-1EE3      ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2      ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-01B0      ; [.17EA.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
-0075 031B ; [.17EA.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
-01AF      ; [.17EA.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
-0055 031B ; [.17EA.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
-1EEB      ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
-1EEA      ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
-1EE9      ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
-1EE8      ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
-1EEF      ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
-1EEE      ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
-1EED      ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
-1EEC      ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
-1EF1      ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
-1EF0      ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
-1EA1 0306 ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
-1EA0 0306 ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
-1EA1 0302 ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EA0 0302 ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EB9 0302 ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1EB8 0302 ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1ECD 0302 ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-1ECC 0302 ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-00F2 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
-1ECF 031B ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
-00F5 031B ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
-00F3 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
-1ECD 031B ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
-00D2 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
-1ECE 031B ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
-00D5 031B ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
-00D3 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
-1ECC 031B ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
-00F9 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
-1EE7 031B ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
-0169 031B ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
-00FA 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
-1EE5 031B ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
-00D9 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
-1EE6 031B ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
-0168 031B ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
-00DA 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
-1EE4 031B ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
-0061 0323 0306 ; [.15A4.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
-0041 0323 0306 ; [.15A4.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
-0061 0323 0302 ; [.15A5.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0041 0323 0302 ; [.15A5.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0065 0323 0302 ; [.1600.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-0045 0323 0302 ; [.1600.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-006F 0323 0302 ; [.1725.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-004F 0323 0302 ; [.1725.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
-006F 0300 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
-006F 0340 031B ; [.1726.0020.0002.01A1][.0000.0035.0002.0340] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
-006F 0309 031B ; [.1726.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
-006F 0303 031B ; [.1726.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
-006F 0301 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
-006F 0341 031B ; [.1726.0020.0002.01A1][.0000.0038.0002.0341] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
-006F 0323 031B ; [.1726.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
-004F 0300 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
-004F 0340 031B ; [.1726.0020.0008.01A0][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
-004F 0309 031B ; [.1726.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
-004F 0303 031B ; [.1726.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
-004F 0301 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
-004F 0341 031B ; [.1726.0020.0008.01A0][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
-004F 0323 031B ; [.1726.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
-0075 0300 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
-0075 0340 031B ; [.17EA.0020.0002.01B0][.0000.0035.0002.0340] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
-0075 0309 031B ; [.17EA.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
-0075 0303 031B ; [.17EA.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
-0075 0301 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
-0075 0341 031B ; [.17EA.0020.0002.01B0][.0000.0038.0002.0341] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
-0075 0323 031B ; [.17EA.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
-0055 0300 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
-0055 0340 031B ; [.17EA.0020.0008.01AF][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
-0055 0309 031B ; [.17EA.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
-0055 0303 031B ; [.17EA.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
-0055 0301 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
-0055 0341 031B ; [.17EA.0020.0008.01AF][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
-0055 0323 031B ; [.17EA.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+0115      ; [.164C.0020.0002.0065][.0000.003A.0002.0306] # LATIN SMALL LETTER E WITH BREVE
+0114      ; [.164C.0020.0008.0045][.0000.003A.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
+012D      ; [.16CD.0020.0002.0069][.0000.003A.0002.0306] # LATIN SMALL LETTER I WITH BREVE
+012C      ; [.16CD.0020.0008.0049][.0000.003A.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+014F      ; [.1771.0020.0002.006F][.0000.003A.0002.0306] # LATIN SMALL LETTER O WITH BREVE
+014E      ; [.1771.0020.0008.004F][.0000.003A.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
+016D      ; [.1836.0020.0002.0075][.0000.003A.0002.0306] # LATIN SMALL LETTER U WITH BREVE
+016C      ; [.1836.0020.0008.0055][.0000.003A.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
+0103      ; [.15F0.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0061 0306 ; [.15F0.0020.0002.0103] # LATIN SMALL LETTER A WITH BREVE
+0102      ; [.15F0.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+0041 0306 ; [.15F0.0020.0008.0102] # LATIN CAPITAL LETTER A WITH BREVE
+1EB1      ; [.15F0.0020.0002.0103][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0      ; [.15F0.0020.0008.0102][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EAF      ; [.15F0.0020.0002.0103][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE      ; [.15F0.0020.0008.0102][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB5      ; [.15F0.0020.0002.0103][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4      ; [.15F0.0020.0008.0102][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3      ; [.15F0.0020.0002.0103][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2      ; [.15F0.0020.0008.0102][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+1EB7      ; [.15F0.0020.0002.0103][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6      ; [.15F0.0020.0008.0102][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+00E2      ; [.15F1.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+0061 0302 ; [.15F1.0020.0002.00E2] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2      ; [.15F1.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0041 0302 ; [.15F1.0020.0008.00C2] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA7      ; [.15F1.0020.0002.00E2][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6      ; [.15F1.0020.0008.00C2][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA5      ; [.15F1.0020.0002.00E2][.0000.0038.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4      ; [.15F1.0020.0008.00C2][.0000.0038.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EAB      ; [.15F1.0020.0002.00E2][.0000.0037.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA      ; [.15F1.0020.0008.00C2][.0000.0037.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9      ; [.15F1.0020.0002.00E2][.0000.0036.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8      ; [.15F1.0020.0008.00C2][.0000.0036.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EAD      ; [.15F1.0020.0002.00E2][.0000.0039.0002.0323] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC      ; [.15F1.0020.0008.00C2][.0000.0039.0002.0323] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+0111      ; [.1632.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0064 0335 ; [.1632.0020.0002.0111] # LATIN SMALL LETTER D WITH STROKE
+0110      ; [.1632.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+0044 0335 ; [.1632.0020.0008.0110] # LATIN CAPITAL LETTER D WITH STROKE
+00EA      ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164D.0020.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164D.0020.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC1      ; [.164D.0020.0002.00EA][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.164D.0020.0008.00CA][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EBF      ; [.164D.0020.0002.00EA][.0000.0038.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.164D.0020.0008.00CA][.0000.0038.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC5      ; [.164D.0020.0002.00EA][.0000.0037.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.164D.0020.0008.00CA][.0000.0037.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.164D.0020.0002.00EA][.0000.0036.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.164D.0020.0008.00CA][.0000.0036.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.164D.0020.0002.00EA][.0000.0039.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164D.0020.0008.00CA][.0000.0039.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+00F4      ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+006F 0302 ; [.1772.0020.0002.00F4] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4      ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+004F 0302 ; [.1772.0020.0008.00D4] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED3      ; [.1772.0020.0002.00F4][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2      ; [.1772.0020.0008.00D4][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED1      ; [.1772.0020.0002.00F4][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0      ; [.1772.0020.0008.00D4][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED7      ; [.1772.0020.0002.00F4][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6      ; [.1772.0020.0008.00D4][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5      ; [.1772.0020.0002.00F4][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4      ; [.1772.0020.0008.00D4][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED9      ; [.1772.0020.0002.00F4][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1772.0020.0008.00D4][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+01A1      ; [.1773.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
+006F 031B ; [.1773.0020.0002.01A1] # LATIN SMALL LETTER O WITH HORN
+01A0      ; [.1773.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
+004F 031B ; [.1773.0020.0008.01A0] # LATIN CAPITAL LETTER O WITH HORN
+1EDD      ; [.1773.0020.0002.01A1][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC      ; [.1773.0020.0008.01A0][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EDB      ; [.1773.0020.0002.01A1][.0000.0038.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA      ; [.1773.0020.0008.01A0][.0000.0038.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EE1      ; [.1773.0020.0002.01A1][.0000.0037.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0      ; [.1773.0020.0008.01A0][.0000.0037.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF      ; [.1773.0020.0002.01A1][.0000.0036.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE      ; [.1773.0020.0008.01A0][.0000.0036.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3      ; [.1773.0020.0002.01A1][.0000.0039.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2      ; [.1773.0020.0008.01A0][.0000.0039.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+01B0      ; [.1837.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
+0075 031B ; [.1837.0020.0002.01B0] # LATIN SMALL LETTER U WITH HORN
+01AF      ; [.1837.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
+0055 031B ; [.1837.0020.0008.01AF] # LATIN CAPITAL LETTER U WITH HORN
+1EEB      ; [.1837.0020.0002.01B0][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA      ; [.1837.0020.0008.01AF][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EE9      ; [.1837.0020.0002.01B0][.0000.0038.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8      ; [.1837.0020.0008.01AF][.0000.0038.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEF      ; [.1837.0020.0002.01B0][.0000.0037.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE      ; [.1837.0020.0008.01AF][.0000.0037.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED      ; [.1837.0020.0002.01B0][.0000.0036.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC      ; [.1837.0020.0008.01AF][.0000.0036.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1      ; [.1837.0020.0002.01B0][.0000.0039.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0      ; [.1837.0020.0008.01AF][.0000.0039.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EA1 0306 ; [.15F0.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA0 0306 ; [.15F0.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING BREVE>
+1EA1 0302 ; [.15F1.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EA0 0302 ; [.15F1.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB9 0302 ; [.164D.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1EB8 0302 ; [.164D.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECD 0302 ; [.1772.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+1ECC 0302 ; [.1772.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+00F2 031B ; [.1773.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O WITH GRAVE, COMBINING HORN>
+1ECF 031B ; [.1773.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00F5 031B ; [.1773.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O WITH TILDE, COMBINING HORN>
+00F3 031B ; [.1773.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O WITH ACUTE, COMBINING HORN>
+1ECD 031B ; [.1773.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O WITH DOT BELOW, COMBINING HORN>
+00D2 031B ; [.1773.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O WITH GRAVE, COMBINING HORN>
+1ECE 031B ; [.1773.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O WITH HOOK ABOVE, COMBINING HORN>
+00D5 031B ; [.1773.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O WITH TILDE, COMBINING HORN>
+00D3 031B ; [.1773.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O WITH ACUTE, COMBINING HORN>
+1ECC 031B ; [.1773.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O WITH DOT BELOW, COMBINING HORN>
+00F9 031B ; [.1837.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U WITH GRAVE, COMBINING HORN>
+1EE7 031B ; [.1837.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0169 031B ; [.1837.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U WITH TILDE, COMBINING HORN>
+00FA 031B ; [.1837.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U WITH ACUTE, COMBINING HORN>
+1EE5 031B ; [.1837.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U WITH DOT BELOW, COMBINING HORN>
+00D9 031B ; [.1837.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U WITH GRAVE, COMBINING HORN>
+1EE6 031B ; [.1837.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U WITH HOOK ABOVE, COMBINING HORN>
+0168 031B ; [.1837.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U WITH TILDE, COMBINING HORN>
+00DA 031B ; [.1837.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U WITH ACUTE, COMBINING HORN>
+1EE4 031B ; [.1837.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U WITH DOT BELOW, COMBINING HORN>
+0061 0323 0306 ; [.15F0.0020.0002.0103][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0041 0323 0306 ; [.15F0.0020.0008.0102][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING BREVE>
+0061 0323 0302 ; [.15F1.0020.0002.00E2][.0000.0039.0002.0323] # <LATIN SMALL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0041 0323 0302 ; [.15F1.0020.0008.00C2][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER A, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0065 0323 0302 ; [.164D.0020.0002.00EA][.0000.0039.0002.0323] # <LATIN SMALL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+0045 0323 0302 ; [.164D.0020.0008.00CA][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER E, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0323 0302 ; [.1772.0020.0002.00F4][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+004F 0323 0302 ; [.1772.0020.0008.00D4][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING CIRCUMFLEX ACCENT>
+006F 0300 031B ; [.1773.0020.0002.01A1][.0000.0035.0002.0300] # <LATIN SMALL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+006F 0340 031B ; [.1773.0020.0002.01A1][.0000.0035.0002.0340] # <LATIN SMALL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+006F 0309 031B ; [.1773.0020.0002.01A1][.0000.0036.0002.0309] # <LATIN SMALL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+006F 0303 031B ; [.1773.0020.0002.01A1][.0000.0037.0002.0303] # <LATIN SMALL LETTER O, COMBINING TILDE, COMBINING HORN>
+006F 0301 031B ; [.1773.0020.0002.01A1][.0000.0038.0002.0301] # <LATIN SMALL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+006F 0341 031B ; [.1773.0020.0002.01A1][.0000.0038.0002.0341] # <LATIN SMALL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+006F 0323 031B ; [.1773.0020.0002.01A1][.0000.0039.0002.0323] # <LATIN SMALL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+004F 0300 031B ; [.1773.0020.0008.01A0][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER O, COMBINING GRAVE ACCENT, COMBINING HORN>
+004F 0340 031B ; [.1773.0020.0008.01A0][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER O, COMBINING GRAVE TONE MARK, COMBINING HORN>
+004F 0309 031B ; [.1773.0020.0008.01A0][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER O, COMBINING HOOK ABOVE, COMBINING HORN>
+004F 0303 031B ; [.1773.0020.0008.01A0][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER O, COMBINING TILDE, COMBINING HORN>
+004F 0301 031B ; [.1773.0020.0008.01A0][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER O, COMBINING ACUTE ACCENT, COMBINING HORN>
+004F 0341 031B ; [.1773.0020.0008.01A0][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER O, COMBINING ACUTE TONE MARK, COMBINING HORN>
+004F 0323 031B ; [.1773.0020.0008.01A0][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER O, COMBINING DOT BELOW, COMBINING HORN>
+0075 0300 031B ; [.1837.0020.0002.01B0][.0000.0035.0002.0300] # <LATIN SMALL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0075 0340 031B ; [.1837.0020.0002.01B0][.0000.0035.0002.0340] # <LATIN SMALL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0075 0309 031B ; [.1837.0020.0002.01B0][.0000.0036.0002.0309] # <LATIN SMALL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0075 0303 031B ; [.1837.0020.0002.01B0][.0000.0037.0002.0303] # <LATIN SMALL LETTER U, COMBINING TILDE, COMBINING HORN>
+0075 0301 031B ; [.1837.0020.0002.01B0][.0000.0038.0002.0301] # <LATIN SMALL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0075 0341 031B ; [.1837.0020.0002.01B0][.0000.0038.0002.0341] # <LATIN SMALL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0075 0323 031B ; [.1837.0020.0002.01B0][.0000.0039.0002.0323] # <LATIN SMALL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
+0055 0300 031B ; [.1837.0020.0008.01AF][.0000.0035.0002.0300] # <LATIN CAPITAL LETTER U, COMBINING GRAVE ACCENT, COMBINING HORN>
+0055 0340 031B ; [.1837.0020.0008.01AF][.0000.0035.0002.0340] # <LATIN CAPITAL LETTER U, COMBINING GRAVE TONE MARK, COMBINING HORN>
+0055 0309 031B ; [.1837.0020.0008.01AF][.0000.0036.0002.0309] # <LATIN CAPITAL LETTER U, COMBINING HOOK ABOVE, COMBINING HORN>
+0055 0303 031B ; [.1837.0020.0008.01AF][.0000.0037.0002.0303] # <LATIN CAPITAL LETTER U, COMBINING TILDE, COMBINING HORN>
+0055 0301 031B ; [.1837.0020.0008.01AF][.0000.0038.0002.0301] # <LATIN CAPITAL LETTER U, COMBINING ACUTE ACCENT, COMBINING HORN>
+0055 0341 031B ; [.1837.0020.0008.01AF][.0000.0038.0002.0341] # <LATIN CAPITAL LETTER U, COMBINING ACUTE TONE MARK, COMBINING HORN>
+0055 0323 031B ; [.1837.0020.0008.01AF][.0000.0039.0002.0323] # <LATIN CAPITAL LETTER U, COMBINING DOT BELOW, COMBINING HORN>
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/vi.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,31 +1,32 @@
 +{
+   locale_version => 0.93,
 # eng doesn't require tailoring
-   entry => <<'ENTRY', # for DUCET v6.0.0
-00E0      ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A4.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A4.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-00E9      ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.1600.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.1600.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-00EB      ; [.1601.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-0065 0308 ; [.1601.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
-00CB      ; [.1601.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-0045 0308 ; [.1601.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
-00F1      ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-006E 0303 ; [.1703.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
-00D1      ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-004E 0303 ; [.1703.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
-00F3      ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1725.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1725.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+   entry => <<'ENTRY', # for DUCET v6.2.0
+00E0      ; [.15F0.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15F0.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15F0.0020.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.15F0.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15F0.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15F0.0020.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+00E9      ; [.164D.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164D.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164D.0020.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.164D.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164D.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164D.0020.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+00EB      ; [.164E.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+0065 0308 ; [.164E.0020.0002.00EB] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB      ; [.164E.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+0045 0308 ; [.164E.0020.0008.00CB] # LATIN CAPITAL LETTER E WITH DIAERESIS
+00F1      ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.1750.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+00D1      ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+004E 0303 ; [.1750.0020.0008.00D1] # LATIN CAPITAL LETTER N WITH TILDE
+00F3      ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1772.0020.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1772.0020.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/wo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,25 +1,26 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-1EB9      ; [.1600.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
-0065 0323 ; [.1600.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
-1EB8      ; [.1600.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
-0045 0323 ; [.1600.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
-1EC7      ; [.1600.0020.0002.1EB9][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.1600.0020.0008.1EB8][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-0067 0062 ; [.1645.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
-0047 0062 ; [.1645.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
-0047 0042 ; [.1645.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
-1ECD      ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-006F 0323 ; [.1725.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
-1ECC      ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-004F 0323 ; [.1725.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
-1ED9      ; [.1725.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1ED8      ; [.1725.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
-1EE3      ; [.1725.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
-1EE2      ; [.1725.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
-1E63      ; [.17A7.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
-0073 0323 ; [.17A7.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
-1E62      ; [.17A7.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
-0053 0323 ; [.17A7.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+1EB9      ; [.164D.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+0065 0323 ; [.164D.0020.0002.1EB9] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8      ; [.164D.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+0045 0323 ; [.164D.0020.0008.1EB8] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7      ; [.164D.0020.0002.1EB9][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164D.0020.0008.1EB8][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+0067 0062 ; [.1692.0020.0002.0067] # <LATIN SMALL LETTER G, LATIN SMALL LETTER B>
+0047 0062 ; [.1692.0020.0007.0047] # <LATIN CAPITAL LETTER G, LATIN SMALL LETTER B>
+0047 0042 ; [.1692.0020.0008.0047] # <LATIN CAPITAL LETTER G, LATIN CAPITAL LETTER B>
+1ECD      ; [.1772.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+006F 0323 ; [.1772.0020.0002.1ECD] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC      ; [.1772.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+004F 0323 ; [.1772.0020.0008.1ECC] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9      ; [.1772.0020.0002.1ECD][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8      ; [.1772.0020.0008.1ECC][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1EE3      ; [.1772.0020.0002.1ECD][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2      ; [.1772.0020.0008.1ECC][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1E63      ; [.17F4.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+0073 0323 ; [.17F4.0020.0002.1E63] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62      ; [.17F4.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
+0053 0323 ; [.17F4.0020.0008.1E62] # LATIN CAPITAL LETTER S WITH DOT BELOW
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/yo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,210 +1,211 @@
 +{
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0101      ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   locale_version => 0.93,
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0101      ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,212 +1,945 @@
 use Unicode::Collate::CJK::Big5;
 +{
+   locale_version => 0.93,
    overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5,
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0101      ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0101      ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+F967      ; [.804A.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70      ; [.82DE.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905      ; [.81CB.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801     ; [.8022.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E      ; [.804D.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+F91B      ; [.8B74.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA      ; [.800F.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977      ; [.845B.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD      ; [.8057.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8      ; [.80B5.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804     ; [.81E1.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73      ; [.96AF.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D      ; [.82EE.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5      ; [.82ED.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30      ; [.846A.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805     ; [.846A.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806     ; [.981A.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965      ; [.845F.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+F9D4      ; [.8607.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808     ; [.87B2.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809     ; [.89A0.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B     ; [.8D3B.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB      ; [.8D39.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31      ; [.8D34.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A     ; [.8D34.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C      ; [.802A.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74      ; [.80B8.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32      ; [.81EB.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E     ; [.81EB.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F     ; [.82FA.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F814     ; [.8061.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72      ; [.8142.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978      ; [.82FD.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1      ; [.8062.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811     ; [.82FE.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75      ; [.9045.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815     ; [.8144.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2     ; [.8473.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3     ; [.87C6.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817     ; [.8065.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818     ; [.860A.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A     ; [.80BC.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+F92E      ; [.81EE.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F955      ; [.860E.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954      ; [.8EC0.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15      ; [.A8BA.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D     ; [.9524.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E     ; [.802B.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00      ; [.8068.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850     ; [.8068.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C      ; [.8146.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD      ; [.81F1.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF      ; [.8306.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820     ; [.8303.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821     ; [.96CC.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822     ; [.89A8.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823     ; [.8B81.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7      ; [.8EC3.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A      ; [.8018.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D      ; [.814B.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+FA76      ; [.847D.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825     ; [.847D.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33      ; [.847E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826     ; [.847E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952      ; [.87CA.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F      ; [.89AC.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34      ; [.8B85.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827     ; [.8B85.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F      ; [.916E.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77      ; [.802C.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828     ; [.802C.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829     ; [.80C3.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A     ; [.80C4.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963      ; [.80C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B     ; [.80C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB      ; [.87D1.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C     ; [.80C9.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35      ; [.8310.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D     ; [.8310.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E     ; [.89AF.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F     ; [.81F9.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C      ; [.81FA.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831     ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832     ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833     ; [.8617.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B      ; [.87D4.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836     ; [.8075.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837     ; [.861A.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906      ; [.80DF.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839     ; [.80D9.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A     ; [.80DD.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B     ; [.815E.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE      ; [.8152.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED      ; [.81FB.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D     ; [.820C.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980      ; [.8206.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E     ; [.8205.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F     ; [.832A.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F840     ; [.983D.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E      ; [.8490.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842     ; [.861C.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+FA79      ; [.87E1.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844     ; [.87E8.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845     ; [.8AD1.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846     ; [.8AD1.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B      ; [.89BC.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A      ; [.89CB.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847     ; [.89CB.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36      ; [.89B6.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78      ; [.89B6.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848     ; [.89CA.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849     ; [.89BF.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D      ; [.A137.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A     ; [.A146.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B      ; [.A140.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37      ; [.8D4C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C     ; [.8D4C.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+FA38      ; [.9052.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F     ; [.8ED2.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9      ; [.96EA.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B     ; [.8D57.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F855     ; [.849E.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852     ; [.84A2.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853     ; [.9C30.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854     ; [.9C49.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857     ; [.89D2.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856     ; [.9A14.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA10      ; [.8BA0.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C      ; [.8BA0.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C      ; [.8B9C.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A      ; [.903E.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858     ; [.A65C.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D      ; [.8ED9.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A      ; [.9282.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942      ; [.932E.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F85C     ; [.960C.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D     ; [.816B.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E     ; [.8D62.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E      ; [.833B.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C      ; [.833A.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909      ; [.84A6.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F      ; [.833C.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F     ; [.87FB.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981      ; [.8034.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865     ; [.84AB.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862     ; [.8641.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863     ; [.863F.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+FA80      ; [.8803.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866     ; [.87FF.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986     ; [.A15F.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869     ; [.8EE4.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81      ; [.A8D9.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A     ; [.AE41.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B     ; [.AE41.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04      ; [.8179.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86E     ; [.A16E.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F      ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA      ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F     ; [.8D6F.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC      ; [.8EE5.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F875     ; [.803A.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD      ; [.823D.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877     ; [.8811.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B      ; [.8D78.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B      ; [.8EE9.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF      ; [.8EEA.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C      ; [.952C.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878     ; [.952C.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A     ; [.961C.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+F9D5      ; [.881D.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C     ; [.9ECC.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921      ; [.89E9.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F     ; [.9ECD.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F880     ; [.A424.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4     ; [.A8E7.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB      ; [.9180.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881     ; [.82D0.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882     ; [.8821.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884     ; [.89EC.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885     ; [.9A3D.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886     ; [.89EE.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887     ; [.A67A.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E      ; [.8181.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01      ; [.84C9.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B     ; [.9885.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C     ; [.9C88.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D     ; [.8828.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2      ; [.8BB7.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928      ; [.89F2.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E     ; [.89F2.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82      ; [.A432.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B      ; [.8D80.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83      ; [.A431.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982      ; [.9332.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890     ; [.8044.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943      ; [.8249.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894     ; [.9729.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895     ; [.9729.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F899     ; [.824C.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84      ; [.882F.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A     ; [.8830.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8      ; [.84D1.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+F966      ; [.89F8.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85      ; [.A189.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D     ; [.8252.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E     ; [.8251.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3      ; [.8378.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960      ; [.84D5.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC      ; [.9746.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+2F8A0     ; [.9A4D.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D      ; [.8675.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3     ; [.8675.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5     ; [.884C.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86      ; [.8846.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9      ; [.89FC.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88      ; [.8BC5.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9      ; [.8BC8.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6     ; [.8BBF.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7     ; [.8BC7.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9     ; [.8BC7.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87      ; [.8BC6.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8     ; [.8BC6.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E      ; [.8A07.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA     ; [.A445.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F      ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89      ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB     ; [.8F07.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F      ; [.8F05.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD     ; [.8F0A.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE     ; [.A68D.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC     ; [.9064.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF     ; [.AB1C.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40      ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B      ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0     ; [.9333.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D      ; [.9335.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1     ; [.9335.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990      ; [.94AE.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2     ; [.8189.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3     ; [.884E.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2      ; [.8F0D.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C      ; [.918C.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5     ; [.83A2.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925      ; [.838C.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B      ; [.98A4.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02      ; [.8395.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6     ; [.8396.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA     ; [.84E9.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973      ; [.84F3.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9     ; [.8687.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7     ; [.8686.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB     ; [.886B.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4      ; [.8869.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC     ; [.885D.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975      ; [.8850.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1     ; [.885B.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D      ; [.9F18.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0     ; [.A19C.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD     ; [.9A60.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E      ; [.8BDA.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF     ; [.A1AB.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F      ; [.8A23.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3     ; [.8F0E.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6     ; [.A469.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+F991      ; [.8F1E.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5     ; [.9F0B.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930      ; [.9074.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41      ; [.8873.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8     ; [.8873.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90      ; [.886E.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9     ; [.8BE1.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969      ; [.8F25.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE      ; [.868F.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983      ; [.8691.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42      ; [.84FB.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0      ; [.83AE.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD     ; [.8693.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12      ; [.8A2F.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91      ; [.8A2F.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5      ; [.8BE7.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43      ; [.8A32.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF     ; [.8A32.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06      ; [.8F28.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B      ; [.907D.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901      ; [.8271.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC     ; [.869A.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4     ; [.89A6.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929      ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92      ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8     ; [.869D.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93      ; [.8886.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9     ; [.8886.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA     ; [.A2D8.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1      ; [.8273.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC     ; [.827D.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94      ; [.8278.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB     ; [.8279.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8      ; [.976E.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0     ; [.9769.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4      ; [.83C3.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9      ; [.8519.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF     ; [.98ED.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA      ; [.86A8.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5     ; [.9A80.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+F97A      ; [.8887.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44      ; [.8896.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2     ; [.8896.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2      ; [.8899.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6     ; [.9F53.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8     ; [.A1D6.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9     ; [.8DB6.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+F914      ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C      ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF      ; [.8F35.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C      ; [.8F32.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB     ; [.AB36.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931      ; [.933E.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED     ; [.91A0.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D      ; [.942D.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF     ; [.8199.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1     ; [.A93D.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3     ; [.8C01.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C      ; [.9093.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95      ; [.8096.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4     ; [.A49C.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5      ; [.91A7.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970      ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96      ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5     ; [.889E.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8FA     ; [.81A7.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE     ; [.9667.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972      ; [.8285.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC     ; [.83EC.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968      ; [.83DA.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD     ; [.979E.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3      ; [.83DB.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF     ; [.9ACA.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915      ; [.8534.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05      ; [.852E.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907     ; [.98FD.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900     ; [.8532.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA      ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97      ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902     ; [.852A.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903     ; [.86CD.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A      ; [.86BF.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45      ; [.86C5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901     ; [.86C5.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904     ; [.86C4.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905     ; [.86D1.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5      ; [.88AE.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D      ; [.88BB.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6      ; [.88BE.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E     ; [.88B3.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46      ; [.88B9.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908     ; [.8A5B.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909     ; [.8A6A.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB      ; [.8C16.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC      ; [.8C12.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C     ; [.8C0D.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99      ; [.8A75.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B     ; [.8A75.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904      ; [.8C14.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E      ; [.8DC3.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47      ; [.8DC5.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A      ; [.8DC5.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992      ; [.8DCC.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F     ; [.8F48.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912     ; [.A6E7.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922      ; [.91B0.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984      ; [.929E.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915     ; [.933F.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+2F913     ; [.AFA4.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917     ; [.B08F.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835     ; [.81A8.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F918     ; [.829E.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB      ; [.83FA.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A     ; [.8543.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F      ; [.86D8.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916      ; [.86D7.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+F993      ; [.8C20.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48      ; [.8A84.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C      ; [.8A84.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E     ; [.A719.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0      ; [.90AA.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE      ; [.90A5.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932      ; [.93D5.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E      ; [.9431.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920     ; [.951C.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E      ; [.91C2.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921     ; [.91C2.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946      ; [.82A0.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924     ; [.8A88.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925     ; [.A4DB.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F      ; [.810B.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA      ; [.8401.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B      ; [.86DC.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+F9A7      ; [.92A8.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928     ; [.934B.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961      ; [.88D5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB      ; [.88D5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929     ; [.80A4.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B     ; [.840A.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD      ; [.8551.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917      ; [.86E7.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4      ; [.88D9.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC      ; [.86E3.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A      ; [.8A90.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F     ; [.8C3A.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE      ; [.8F5B.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1      ; [.A4E3.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930     ; [.A4E3.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931     ; [.A72F.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994      ; [.A72A.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF      ; [.90B2.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932     ; [.934D.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+2F936     ; [.97C7.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD      ; [.86EC.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976      ; [.88E1.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962      ; [.88E4.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938     ; [.88E4.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5      ; [.8A9D.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A     ; [.A26E.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4      ; [.A739.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5      ; [.8F63.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1      ; [.91CB.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E      ; [.9435.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17      ; [.86F9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6      ; [.86F9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7      ; [.88EE.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933      ; [.90BB.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8      ; [.8412.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940     ; [.8412.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D      ; [.8568.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F946     ; [.86FD.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947     ; [.86FD.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAA9      ; [.9FEB.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948     ; [.9FEB.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A     ; [.8F6F.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D      ; [.91D2.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E     ; [.88F7.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE      ; [.88F5.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B      ; [.8C59.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F     ; [.8C59.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B      ; [.8C5C.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947      ; [.8F73.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB      ; [.A74A.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950     ; [.A74A.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964      ; [.AB7A.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985      ; [.93DB.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA4C      ; [.8415.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E      ; [.8577.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D      ; [.8576.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F      ; [.870D.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50      ; [.8710.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953     ; [.8710.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51      ; [.8712.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19      ; [.8711.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A      ; [.88F8.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C      ; [.8C60.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52      ; [.8DFC.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53      ; [.8DFA.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B      ; [.8DFB.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956     ; [.8DFB.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6      ; [.92B4.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+2F957     ; [.9B31.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956      ; [.8C64.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54      ; [.8F7A.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959     ; [.8F7A.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A     ; [.A517.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+FA55      ; [.857F.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC      ; [.A9B0.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7      ; [.8123.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F     ; [.A51F.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8      ; [.88FE.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56      ; [.8C6D.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD      ; [.8C6D.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962     ; [.8F84.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963     ; [.90CE.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6      ; [.9358.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944      ; [.9486.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+F9F9      ; [.8906.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D      ; [.8E10.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966     ; [.A9C2.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03      ; [.90D5.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+F97B      ; [.92C0.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968     ; [.ABA1.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A     ; [.8585.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF      ; [.8729.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A      ; [.8727.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F      ; [.8913.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF      ; [.8C79.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C     ; [.A019.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D      ; [.8E16.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957      ; [.8E15.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E     ; [.8E22.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996      ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57      ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0      ; [.8F8B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+FA58      ; [.90DD.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950      ; [.91EE.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59      ; [.91F5.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970     ; [.91F4.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1      ; [.A028.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A      ; [.8C7D.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6      ; [.90DF.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976     ; [.A9DD.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F      ; [.9363.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978     ; [.9DAA.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF      ; [.8919.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E      ; [.81B1.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934      ; [.81B2.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B      ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2      ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A     ; [.8421.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0      ; [.891F.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F997      ; [.9202.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F     ; [.9201.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945      ; [.9488.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953      ; [.81B9.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6     ; [.97E3.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982     ; [.82B9.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985     ; [.8ADE.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926      ; [.9368.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6      ; [.920D.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C      ; [.874A.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893     ; [.9B73.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B     ; [.9B73.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C     ; [.A042.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+F97C      ; [.82BA.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F990     ; [.82BC.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F     ; [.9698.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991     ; [.8430.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993     ; [.8436.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994     ; [.842F.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995     ; [.8433.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974      ; [.85A7.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998     ; [.85A7.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996     ; [.85A5.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+F9FE      ; [.875F.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3      ; [.8754.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0     ; [.9B92.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99D     ; [.8932.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E      ; [.A062.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1     ; [.8AF6.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2     ; [.8AF3.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3     ; [.8AFA.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E     ; [.A04E.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4      ; [.8AEC.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958      ; [.8AED.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918      ; [.8C93.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E      ; [.8C98.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F      ; [.8AEF.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F     ; [.8AEF.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999      ; [.8FA8.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8     ; [.A2E5.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9     ; [.A7A9.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2      ; [.A7AA.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA     ; [.A7AE.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC     ; [.A9FC.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923      ; [.92D2.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0      ; [.93F0.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935      ; [.93F1.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+F91F      ; [.943C.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910      ; [.94BE.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3     ; [.85B6.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936      ; [.8CA3.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4     ; [.8CA3.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5     ; [.921B.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6     ; [.AD63.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B7     ; [.876A.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA     ; [.A07B.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9     ; [.A327.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC     ; [.A587.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD     ; [.A588.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5      ; [.AA1E.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB     ; [.AA1E.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+F911      ; [.9223.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0     ; [.A7C9.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1     ; [.AD77.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927      ; [.9441.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08      ; [.81C7.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4     ; [.81C8.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0      ; [.8B09.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+2F9C6     ; [.A08D.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7     ; [.A331.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8      ; [.8CB7.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912      ; [.8E56.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9     ; [.A5A9.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60      ; [.8FC1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6      ; [.AC06.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924      ; [.93F7.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7      ; [.92DD.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A      ; [.82BE.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61      ; [.8B0C.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8      ; [.8B0C.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF     ; [.8CC6.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F      ; [.8E63.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1      ; [.8E63.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9      ; [.8FD1.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB      ; [.8FCC.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D      ; [.8FC8.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941      ; [.8FD3.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE      ; [.910F.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0     ; [.910F.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22      ; [.8FCD.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA      ; [.8FCD.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D      ; [.910B.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD      ; [.910B.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62      ; [.910C.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC      ; [.910C.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63      ; [.92E1.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF      ; [.92E1.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC      ; [.937B.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A      ; [.948E.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0      ; [.94C0.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1     ; [.94C0.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900      ; [.877F.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2     ; [.82C3.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4     ; [.8961.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5     ; [.8B21.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948      ; [.8CDA.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903      ; [.8CD6.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64      ; [.8E6D.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65      ; [.9382.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1      ; [.9382.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6     ; [.94E5.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7     ; [.8784.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB     ; [.9E2B.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA     ; [.8B2E.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937      ; [.8CDF.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC     ; [.A362.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902      ; [.82C9.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE     ; [.8787.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998      ; [.8FF7.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7      ; [.8FF8.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2      ; [.911F.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF     ; [.911F.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07      ; [.911D.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D      ; [.B17B.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+F971      ; [.82CB.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+F99A      ; [.896F.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25      ; [.8B3B.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67      ; [.8B3B.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3      ; [.9126.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3      ; [.9127.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913      ; [.94C2.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2     ; [.95D3.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C      ; [.85D2.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+2F9E3     ; [.99C1.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26      ; [.897D.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4     ; [.A380.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6     ; [.A5E0.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919      ; [.8CFE.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4      ; [.AC37.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7      ; [.9406.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9      ; [.82D8.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E      ; [.8B44.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A      ; [.844C.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1      ; [.8D0B.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7     ; [.8D03.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5      ; [.A5E7.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA     ; [.8E92.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8     ; [.A850.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9     ; [.A84E.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F      ; [.9133.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B      ; [.9255.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB     ; [.AF08.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC     ; [.B00B.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE     ; [.8B50.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986      ; [.9016.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0     ; [.AC62.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6      ; [.82DA.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951      ; [.85DA.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09      ; [.85DC.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959      ; [.8988.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3      ; [.898A.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6      ; [.9E5B.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC      ; [.8B5A.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9B8      ; [.9265.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3     ; [.A10C.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA      ; [.9304.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68      ; [.93A2.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7      ; [.93A2.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2      ; [.8D1D.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949      ; [.8D1A.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5     ; [.ADDE.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938      ; [.9459.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3      ; [.94E9.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C      ; [.8D1E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8      ; [.8D1E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FA69      ; [.945A.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA      ; [.945A.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+F9B4      ; [.8EA4.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00     ; [.A87A.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A      ; [.914C.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC      ; [.914C.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0      ; [.93A8.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02     ; [.87AA.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A      ; [.8B6B.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B      ; [.8D27.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C      ; [.9152.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04     ; [.AAB6.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05     ; [.AF33.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06     ; [.A624.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A      ; [.9159.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07     ; [.AC8F.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987      ; [.951D.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD      ; [.B044.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A     ; [.B044.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939      ; [.9037.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B     ; [.B04C.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2      ; [.94D0.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C     ; [.A8A7.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F     ; [.ACA6.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D      ; [.9468.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A      ; [.94F2.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920      ; [.9520.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940      ; [.899A.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988      ; [.93BB.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3      ; [.94D3.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15     ; [.899C.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989      ; [.903D.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17     ; [.A116.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA1A     ; [.A8B3.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B     ; [.AE29.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C     ; [.8EB5.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8      ; [.B230.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4      ; [.9168.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+F907      ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908      ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE      ; [.9169.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_big5.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,217 +1,627 @@
 use Unicode::Collate::CJK::GB2312;
 +{
+   locale_version => 0.93,
    overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312,
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0101      ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0101      ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
 E2D8      ; [.8EAB.0020.0002.E2D8] # <unknown>
 E2D9      ; [.8EAC.0020.0002.E2D9] # <unknown>
 E2DA      ; [.8EAD.0020.0002.E2DA] # <unknown>
 E2DB      ; [.8EAE.0020.0002.E2DB] # <unknown>
 E2DC      ; [.8EAF.0020.0002.E2DC] # <unknown>
+F967      ; [.80D6.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+F905      ; [.8185.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801     ; [.8AED.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E      ; [.81D9.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800     ; [.8635.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+F9BA      ; [.8668.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977      ; [.865E.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD      ; [.899D.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+F9A8      ; [.868B.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804     ; [.879A.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+F9B5      ; [.863C.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30      ; [.8B4D.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805     ; [.8B4D.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+F965      ; [.80A0.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F80B     ; [.8BB2.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB      ; [.8662.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31      ; [.893B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A     ; [.893B.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C      ; [.8EB2.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74      ; [.815D.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32      ; [.873B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E     ; [.873B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F     ; [.8AC8.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+FA72      ; [.88DA.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F9D1      ; [.8696.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811     ; [.8562.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75      ; [.8484.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815     ; [.8D70.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2     ; [.8709.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3     ; [.873A.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817     ; [.890E.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818     ; [.8D40.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A     ; [.823F.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71      ; [.85D7.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B     ; [.85D7.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E      ; [.8623.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979      ; [.8656.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955      ; [.8685.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+2F81D     ; [.8FF2.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E     ; [.88FF.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00      ; [.88A1.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850     ; [.88A1.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C      ; [.866D.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD      ; [.863A.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF      ; [.81A3.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820     ; [.85AD.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F822     ; [.833D.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+F98A      ; [.8643.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D      ; [.8670.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992     ; [.860C.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76      ; [.8CFB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825     ; [.8CFB.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33      ; [.873C.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826     ; [.873C.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952      ; [.8614.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+FA34      ; [.88AB.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827     ; [.88AB.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+FA77      ; [.8964.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828     ; [.8964.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829     ; [.805B.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A     ; [.81A9.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963      ; [.806E.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B     ; [.806E.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB      ; [.879B.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C     ; [.8445.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35      ; [.806D.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D     ; [.806D.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E     ; [.80C4.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F     ; [.847B.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C      ; [.86CC.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F831     ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832     ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833     ; [.88B5.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+2F836     ; [.8477.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837     ; [.8FEE.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906      ; [.8567.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839     ; [.84F5.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A     ; [.9154.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B     ; [.915B.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE      ; [.8633.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED      ; [.867C.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D     ; [.8B5F.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+2F83E     ; [.8143.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F     ; [.8E2F.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+F99E      ; [.8C47.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F842     ; [.8A6D.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+FA79      ; [.919C.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F845     ; [.8953.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846     ; [.8953.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B      ; [.85ED.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A      ; [.91B8.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847     ; [.91B8.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36      ; [.83D3.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78      ; [.83D3.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F849     ; [.8D92.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA38      ; [.886A.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+F9A9      ; [.91F1.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F855     ; [.8BEC.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852     ; [.8140.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853     ; [.9023.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854     ; [.9029.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+F96C      ; [.892A.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A      ; [.8762.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F851     ; [.8E64.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85D     ; [.8273.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+FA7E      ; [.8C56.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C      ; [.8785.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909      ; [.8868.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F      ; [.8079.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F     ; [.896A.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981      ; [.87C3.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865     ; [.93E3.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862     ; [.846E.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+FA80      ; [.93F1.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F986     ; [.95FD.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+FA04      ; [.8DA1.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+F9BC      ; [.9391.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F872     ; [.89C4.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873     ; [.84D0.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875     ; [.910F.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD      ; [.87A9.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877     ; [.8AC5.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F9DF      ; [.86BF.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C      ; [.93CD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878     ; [.93CD.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A     ; [.9206.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F87F     ; [.922E.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F881     ; [.8C2F.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882     ; [.812B.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884     ; [.8F50.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F886     ; [.870A.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+F98E      ; [.87A1.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01      ; [.825B.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88C     ; [.9293.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D     ; [.89E7.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2      ; [.864B.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928      ; [.8607.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E     ; [.8607.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82      ; [.9295.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B      ; [.85E9.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+2F890     ; [.9106.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943      ; [.87BF.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F874     ; [.81E6.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899     ; [.8BED.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84      ; [.80E5.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+F9D8      ; [.86C4.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+FA85      ; [.9243.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D     ; [.88FB.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E     ; [.8E11.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3      ; [.87A5.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+F960      ; [.87C2.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC      ; [.864C.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA3D      ; [.8443.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3     ; [.8443.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+FA86      ; [.92C8.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+FA88      ; [.8D33.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+2F8A6     ; [.819F.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7     ; [.842E.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9     ; [.842E.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87      ; [.8984.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8     ; [.8984.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA3E      ; [.858F.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+FA3F      ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89      ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB     ; [.8D8E.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+2F8B2     ; [.8142.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3     ; [.9554.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2      ; [.86B9.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C      ; [.81CE.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B5     ; [.8064.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925      ; [.85EC.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+FA02      ; [.8ADD.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6     ; [.802D.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA     ; [.8827.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973      ; [.899B.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9     ; [.8AF1.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7     ; [.856B.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+F9A4      ; [.87A4.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+F975      ; [.86CE.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1     ; [.8C57.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D      ; [.9130.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+FA8E      ; [.8A1A.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+FA8F      ; [.9133.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3     ; [.875D.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+FA41      ; [.874D.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8     ; [.874D.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90      ; [.801C.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9     ; [.8537.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F9BE      ; [.866C.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983      ; [.86BE.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42      ; [.848F.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+F9E0      ; [.8CB2.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+FA12      ; [.88B8.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91      ; [.88B8.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+FA43      ; [.89D9.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF     ; [.89D9.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+FA06      ; [.8066.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F901      ; [.834B.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8D4     ; [.8E9F.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929      ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92      ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8     ; [.8609.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93      ; [.8B00.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9     ; [.8B00.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+F9E1      ; [.862D.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC     ; [.94AB.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94      ; [.8DBD.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB     ; [.94AC.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9F4      ; [.8673.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9      ; [.8695.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+F9DA      ; [.8634.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+F97A      ; [.8657.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44      ; [.8710.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2     ; [.8710.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+F9E2      ; [.8625.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E8     ; [.94F8.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8EF     ; [.81A5.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+FA95      ; [.81CC.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+F972      ; [.897F.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC     ; [.8C55.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968      ; [.8733.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+F9E3      ; [.8797.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+F915      ; [.86E0.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05      ; [.8247.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F900     ; [.87DE.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA      ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97      ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902     ; [.8694.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903     ; [.83D1.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A      ; [.860A.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45      ; [.83AE.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901     ; [.83AE.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904     ; [.8523.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905     ; [.87B0.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5      ; [.8679.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+2F90E     ; [.8C4A.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46      ; [.9335.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908     ; [.832A.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909     ; [.9345.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB      ; [.868C.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC      ; [.879E.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C     ; [.8216.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99      ; [.8E7D.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B     ; [.8E7D.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904      ; [.8415.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+F94E      ; [.86A4.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+2F90F     ; [.812A.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F915     ; [.9382.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+2F913     ; [.9383.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F835     ; [.843B.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+F9FB      ; [.8E1E.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A     ; [.8A66.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F      ; [.866F.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916      ; [.8612.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C     ; [.9638.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+FA48      ; [.8E46.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C      ; [.8E46.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+F9C0      ; [.8664.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+2F920     ; [.9647.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA9E      ; [.8577.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921     ; [.8577.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+F946      ; [.860D.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924     ; [.8B6D.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+FA9F      ; [.82A9.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F92B      ; [.8606.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16      ; [.8E40.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0      ; [.8E40.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F961      ; [.86C5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB      ; [.86C5.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929     ; [.8AFA.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+F9AD      ; [.867E.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917      ; [.9484.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4      ; [.862C.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC      ; [.868D.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A      ; [.8E72.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92F     ; [.9493.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+FAA3      ; [.8416.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936     ; [.946F.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD      ; [.8691.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976      ; [.86CF.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F9E5      ; [.863E.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A     ; [.97D4.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA5      ; [.8B24.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+FA17      ; [.8CC1.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6      ; [.8CC1.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7      ; [.898D.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+FAA8      ; [.8E04.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940     ; [.8E04.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D      ; [.898C.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F946     ; [.8DDB.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947     ; [.8DDB.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA      ; [.8E76.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FA9D      ; [.8897.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E     ; [.968F.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE      ; [.868F.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B      ; [.86B0.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F     ; [.86B0.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B      ; [.806B.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947      ; [.8619.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FA18      ; [.8630.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C      ; [.8974.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E      ; [.8860.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D      ; [.9654.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA50      ; [.8E97.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953     ; [.8E97.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51      ; [.8E54.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19      ; [.897E.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A      ; [.8BAA.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+FA1B      ; [.82F2.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956     ; [.82F2.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+2F957     ; [.9779.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+FA55      ; [.8AC0.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+F9F7      ; [.863F.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+F9F8      ; [.98CB.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+2F962     ; [.8E5E.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+FAAE      ; [.861F.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9      ; [.8640.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D      ; [.852E.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+FA03      ; [.8A6E.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F968     ; [.9934.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+F96A      ; [.8A40.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F      ; [.861A.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FA59      ; [.82A2.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+FA5A      ; [.89DB.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6      ; [.96E1.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+F9AF      ; [.8684.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E      ; [.8D29.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+F934      ; [.860E.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B      ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2      ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A     ; [.8DD4.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0      ; [.9833.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+F953      ; [.861E.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6     ; [.95D0.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982     ; [.8D36.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F985     ; [.8815.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+FA5C      ; [.816D.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893     ; [.98FF.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B     ; [.98FF.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C     ; [.9901.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+F97C      ; [.8659.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D      ; [.903A.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E      ; [.903A.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990     ; [.8D2C.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F     ; [.9042.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991     ; [.8DF8.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993     ; [.8411.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994     ; [.82AD.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995     ; [.8C3C.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974      ; [.8923.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998     ; [.8923.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996     ; [.85C1.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+F9FE      ; [.8103.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3      ; [.842D.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F99A     ; [.8908.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99D     ; [.8700.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+2F9A1     ; [.8558.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2     ; [.857D.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3     ; [.80E6.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+F958      ; [.867F.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918      ; [.86DF.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+FA5F      ; [.8E4B.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F     ; [.8E4B.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F9C2      ; [.90E7.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AC     ; [.90EB.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+2F9B3     ; [.87C5.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+2F9B7     ; [.985A.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+F911      ; [.86D8.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+FA08      ; [.8BEF.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C4     ; [.8C9D.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0      ; [.866E.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F912      ; [.86DE.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+FA60      ; [.83E1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6      ; [.981C.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+FAB7      ; [.8301.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+2F9D2     ; [.996E.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D7     ; [.8863.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB     ; [.9977.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA     ; [.802E.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937      ; [.86B2.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F98D     ; [.819E.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971      ; [.8136.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66      ; [.9396.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+FA25      ; [.8CB8.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67      ; [.8CB8.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+F92C      ; [.8608.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA26      ; [.824F.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+F919      ; [.8611.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+F9B7      ; [.996C.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9      ; [.862E.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E      ; [.865C.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A      ; [.8515.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9C6      ; [.891D.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951      ; [.86A5.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09      ; [.84DA.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959      ; [.8687.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9DC      ; [.869C.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9B2      ; [.8680.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949      ; [.8616.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+F938      ; [.86B1.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+FA1C      ; [.853B.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8      ; [.853B.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+F940      ; [.86B4.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F9F3      ; [.9A5C.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15     ; [.86E4.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989      ; [.8627.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17     ; [.96AE.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18     ; [.99CF.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA1C     ; [.8084.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_gb.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,304 +1,1505 @@
 use Unicode::Collate::CJK::Pinyin;
 +{
+   locale_version => 0.93,
    overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin,
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0101      ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-3105      ; [.8000.0020.0002.3105] # BOPOMOFO LETTER B
-3106      ; [.8001.0020.0002.3106] # BOPOMOFO LETTER P
-3107      ; [.8002.0020.0002.3107] # BOPOMOFO LETTER M
-3108      ; [.8003.0020.0002.3108] # BOPOMOFO LETTER F
-3109      ; [.8004.0020.0002.3109] # BOPOMOFO LETTER D
-310A      ; [.8005.0020.0002.310A] # BOPOMOFO LETTER T
-310B      ; [.8006.0020.0002.310B] # BOPOMOFO LETTER N
-310C      ; [.8007.0020.0002.310C] # BOPOMOFO LETTER L
-310D      ; [.8008.0020.0002.310D] # BOPOMOFO LETTER G
-310E      ; [.8009.0020.0002.310E] # BOPOMOFO LETTER K
-310F      ; [.800A.0020.0002.310F] # BOPOMOFO LETTER H
-3110      ; [.800B.0020.0002.3110] # BOPOMOFO LETTER J
-3111      ; [.800C.0020.0002.3111] # BOPOMOFO LETTER Q
-3112      ; [.800D.0020.0002.3112] # BOPOMOFO LETTER X
-3113      ; [.800E.0020.0002.3113] # BOPOMOFO LETTER ZH
-3114      ; [.800F.0020.0002.3114] # BOPOMOFO LETTER CH
-3115      ; [.8010.0020.0002.3115] # BOPOMOFO LETTER SH
-3116      ; [.8011.0020.0002.3116] # BOPOMOFO LETTER R
-3117      ; [.8012.0020.0002.3117] # BOPOMOFO LETTER Z
-3118      ; [.8013.0020.0002.3118] # BOPOMOFO LETTER C
-3119      ; [.8014.0020.0002.3119] # BOPOMOFO LETTER S
-311A      ; [.8015.0020.0002.311A] # BOPOMOFO LETTER A
-311B      ; [.8016.0020.0002.311B] # BOPOMOFO LETTER O
-311C      ; [.8017.0020.0002.311C] # BOPOMOFO LETTER E
-311D      ; [.8018.0020.0002.311D] # BOPOMOFO LETTER EH
-311E      ; [.8019.0020.0002.311E] # BOPOMOFO LETTER AI
-311F      ; [.801A.0020.0002.311F] # BOPOMOFO LETTER EI
-3120      ; [.801B.0020.0002.3120] # BOPOMOFO LETTER AU
-3121      ; [.801C.0020.0002.3121] # BOPOMOFO LETTER OU
-3122      ; [.801D.0020.0002.3122] # BOPOMOFO LETTER AN
-3123      ; [.801E.0020.0002.3123] # BOPOMOFO LETTER EN
-3124      ; [.801F.0020.0002.3124] # BOPOMOFO LETTER ANG
-3125      ; [.8020.0020.0002.3125] # BOPOMOFO LETTER ENG
-3126      ; [.8021.0020.0002.3126] # BOPOMOFO LETTER ER
-3127      ; [.8022.0020.0002.3127] # BOPOMOFO LETTER I
-3128      ; [.8023.0020.0002.3128] # BOPOMOFO LETTER U
-3129      ; [.8024.0020.0002.3129] # BOPOMOFO LETTER IU
-FA1F      ; [.8049.0020.0002.FA1F] # CJK COMPATIBILITY IDEOGRAPH-FA1F
-E83D      ; [.811D.0020.0002.E83D] # <unknown>
-E83C      ; [.8121.0020.0002.E83C] # <unknown>
-E84B      ; [.83F5.0020.0002.E84B] # <unknown>
-E835      ; [.8499.0020.0002.E835] # <unknown>
-E837      ; [.876C.0020.0002.E837] # <unknown>
-E852      ; [.87FE.0020.0002.E852] # <unknown>
-E850      ; [.87FF.0020.0002.E850] # <unknown>
-E858      ; [.885B.0020.0002.E858] # <unknown>
-E827      ; [.9106.0020.0002.E827] # <unknown>
-E82D      ; [.9107.0020.0002.E82D] # <unknown>
-E821      ; [.943B.0020.0002.E821] # <unknown>
-E820      ; [.943C.0020.0002.E820] # <unknown>
-E85D      ; [.9AAB.0020.0002.E85D] # <unknown>
-E85F      ; [.9C17.0020.0002.E85F] # <unknown>
-E860      ; [.9D0D.0020.0002.E860] # <unknown>
-E84F      ; [.9DFD.0020.0002.E84F] # <unknown>
-E828      ; [.9F81.0020.0002.E828] # <unknown>
-E82E      ; [.A00C.0020.0002.E82E] # <unknown>
-E842      ; [.A012.0020.0002.E842] # <unknown>
-E841      ; [.A01A.0020.0002.E841] # <unknown>
-E85E      ; [.A3AE.0020.0002.E85E] # <unknown>
-E834      ; [.A520.0020.0002.E834] # <unknown>
-E862      ; [.AD1D.0020.0002.E862] # <unknown>
-E847      ; [.B0AF.0020.0002.E847] # <unknown>
-E846      ; [.B0C0.0020.0002.E846] # <unknown>
-E840      ; [.B0D6.0020.0002.E840] # <unknown>
-E859      ; [.B10A.0020.0002.E859] # <unknown>
-E84C      ; [.B47A.0020.0002.E84C] # <unknown>
-E849      ; [.B47B.0020.0002.E849] # <unknown>
-E84E      ; [.B482.0020.0002.E84E] # <unknown>
-E85C      ; [.B5A9.0020.0002.E85C] # <unknown>
-E82A      ; [.B7A4.0020.0002.E82A] # <unknown>
-E829      ; [.B7AD.0020.0002.E829] # <unknown>
-E82F      ; [.B8AE.0020.0002.E82F] # <unknown>
-E85B      ; [.B9DE.0020.0002.E85B] # <unknown>
-E861      ; [.B9EC.0020.0002.E861] # <unknown>
-E81F      ; [.BC3F.0020.0002.E81F] # <unknown>
-E844      ; [.C1BD.0020.0002.E844] # <unknown>
-E863      ; [.C43B.0020.0002.E863] # <unknown>
-E845      ; [.C4CA.0020.0002.E845] # <unknown>
-E84A      ; [.C5BD.0020.0002.E84A] # <unknown>
-E857      ; [.C7F0.0020.0002.E857] # <unknown>
-E856      ; [.C985.0020.0002.E856] # <unknown>
-E85A      ; [.C986.0020.0002.E85A] # <unknown>
-E853      ; [.CDE2.0020.0002.E853] # <unknown>
-E851      ; [.CDF8.0020.0002.E851] # <unknown>
-32A3      ; [.CE09.0020.0002.32A3] # CIRCLED IDEOGRAPH CORRECT
-E81B      ; [.CF43.0020.0002.E81B] # <unknown>
-E81A      ; [.CF44.0020.0002.E81A] # <unknown>
-E825      ; [.CF76.0020.0002.E825] # <unknown>
-E824      ; [.CF77.0020.0002.E824] # <unknown>
-3231      ; [.CF97.0020.0002.3231] # PARENTHESIZED IDEOGRAPH STOCK
-E83F      ; [.D02D.0020.0002.E83F] # <unknown>
-E84D      ; [.D0C4.0020.0002.E84D] # <unknown>
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0101      ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+FDD0 0041 ; [.8000.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER A>
+FDD0 0042 ; [.80C5.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER B>
+FDD0 0043 ; [.8441.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER C>
+FDD0 0044 ; [.897D.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER D>
+FDD0 0045 ; [.8D61.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER E>
+FDD0 0046 ; [.8E1B.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER F>
+FDD0 0047 ; [.9089.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER G>
+FDD0 0048 ; [.93C4.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER H>
+FDD0 004A ; [.97EC.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER J>
+FDD0 004B ; [.9E32.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER K>
+FDD0 004C ; [.A05D.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER L>
+3007      ; [.A401.0020.0002.3007] # IDEOGRAPHIC NUMBER ZERO
+FDD0 004D ; [.A680.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER M>
+FDD0 004E ; [.A9A9.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER N>
+FDD0 004F ; [.AB89.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER O>
+FDD0 0050 ; [.ABAC.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER P>
+FDD0 0051 ; [.AE02.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Q>
+FDD0 0052 ; [.B1F1.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER R>
+FDD0 0053 ; [.B337.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER S>
+FDD0 0054 ; [.B858.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER T>
+FDD0 0057 ; [.BBD3.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER W>
+FDD0 0058 ; [.BE4A.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER X>
+FDD0 0059 ; [.C382.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Y>
+FDD0 005A ; [.CB22.0020.0002.FDD0] # <noncharacter-FDD0, LATIN CAPITAL LETTER Z>
+3220      ; [*02FB.0020.0004.3220][.C5CF.0020.0004.3220][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
+3226      ; [*02FB.0020.0004.3226][.AE03.0020.0004.3226][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
+3222      ; [*02FB.0020.0004.3222][.B35F.0020.0004.3222][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
+3228      ; [*02FB.0020.0004.3228][.9C92.0020.0004.3228][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
+3221      ; [*02FB.0020.0004.3221][.8E0E.0020.0004.3221][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
+3224      ; [*02FB.0020.0004.3224][.BDF1.0020.0004.3224][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
+3239      ; [*02FB.0020.0004.3239][.89B6.0020.0004.3239][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D      ; [*02FB.0020.0004.323D][.AE82.0020.0004.323D][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241      ; [*02FB.0020.0004.3241][.C1F9.0020.0004.3241][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
+3227      ; [*02FB.0020.0004.3227][.80C6.0020.0004.3227][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
+3225      ; [*02FB.0020.0004.3225][.A49F.0020.0004.3225][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
+3238      ; [*02FB.0020.0004.3238][.A132.0020.0004.3238][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
+3229      ; [*02FB.0020.0004.3229][.B57B.0020.0004.3229][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
+323F      ; [*02FB.0020.0004.323F][.C10A.0020.0004.323F][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234      ; [*02FB.0020.0004.3234][.A8EB.0020.0004.3234][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
+323A      ; [*02FB.0020.0004.323A][.9589.0020.0004.323A][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
+3223      ; [*02FB.0020.0004.3223][.B715.0020.0004.3223][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
+322F      ; [*02FB.0020.0004.322F][.BB2D.0020.0004.322F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
+323B      ; [*02FB.0020.0004.323B][.C304.0020.0004.323B][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
+3230      ; [*02FB.0020.0004.3230][.B272.0020.0004.3230][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
+322A      ; [*02FB.0020.0004.322A][.CA96.0020.0004.322A][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
+3232      ; [*02FB.0020.0004.3232][.C8D2.0020.0004.3232][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
+322D      ; [*02FB.0020.0004.322D][.A98A.0020.0004.322D][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
+3231      ; [*02FB.0020.0004.3231][.CF58.0020.0004.3231][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
+322C      ; [*02FB.0020.0004.322C][.B6BA.0020.0004.322C][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
+322B      ; [*02FB.0020.0004.322B][.97BC.0020.0004.322B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
+3235      ; [*02FB.0020.0004.3235][.B980.0020.0004.3235][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C      ; [*02FB.0020.0004.323C][.999B.0020.0004.323C][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233      ; [*02FB.0020.0004.3233][.B4AC.0020.0004.3233][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237      ; [*02FB.0020.0004.3237][.CFAD.0020.0004.3237][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240      ; [*02FB.0020.0004.3240][.98D6.0020.0004.3240][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242      ; [*02FB.0020.0004.3242][.D0D4.0020.0004.3242][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
+3243      ; [*02FB.0020.0004.3243][.CE51.0020.0004.3243][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
+3236      ; [*02FB.0020.0004.3236][.844F.0020.0004.3236][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E      ; [*02FB.0020.0004.323E][.D0A3.0020.0004.323E][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E      ; [*02FB.0020.0004.322E][.9B96.0020.0004.322E][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
+3358      ; [.15E5.0020.0004.3358][.8B60.0020.001F.3358] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9      ; [.15E6.0020.0004.33E9][.15E5.0020.0004.33E9][.B272.0020.001F.33E9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9      ; [.15E6.0020.0004.32C9][.15E5.0020.0004.32C9][.CA96.0020.001F.32C9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362      ; [.15E6.0020.0004.3362][.15E5.0020.0004.3362][.8B60.0020.001F.3362] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA      ; [.15E6.0020.0004.33EA][.15E6.0020.0004.33EA][.B272.0020.001F.33EA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA      ; [.15E6.0020.0004.32CA][.15E6.0020.0004.32CA][.CA96.0020.001F.32CA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363      ; [.15E6.0020.0004.3363][.15E6.0020.0004.3363][.8B60.0020.001F.3363] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB      ; [.15E6.0020.0004.33EB][.15E7.0020.0004.33EB][.B272.0020.001F.33EB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB      ; [.15E6.0020.0004.32CB][.15E7.0020.0004.32CB][.CA96.0020.001F.32CB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364      ; [.15E6.0020.0004.3364][.15E7.0020.0004.3364][.8B60.0020.001F.3364] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC      ; [.15E6.0020.0004.33EC][.15E8.0020.0004.33EC][.B272.0020.001F.33EC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365      ; [.15E6.0020.0004.3365][.15E8.0020.0004.3365][.8B60.0020.001F.3365] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED      ; [.15E6.0020.0004.33ED][.15E9.0020.0004.33ED][.B272.0020.001F.33ED] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366      ; [.15E6.0020.0004.3366][.15E9.0020.0004.3366][.8B60.0020.001F.3366] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE      ; [.15E6.0020.0004.33EE][.15EA.0020.0004.33EE][.B272.0020.001F.33EE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367      ; [.15E6.0020.0004.3367][.15EA.0020.0004.3367][.8B60.0020.001F.3367] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF      ; [.15E6.0020.0004.33EF][.15EB.0020.0004.33EF][.B272.0020.001F.33EF] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368      ; [.15E6.0020.0004.3368][.15EB.0020.0004.3368][.8B60.0020.001F.3368] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0      ; [.15E6.0020.0004.33F0][.15EC.0020.0004.33F0][.B272.0020.001F.33F0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369      ; [.15E6.0020.0004.3369][.15EC.0020.0004.3369][.8B60.0020.001F.3369] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1      ; [.15E6.0020.0004.33F1][.15ED.0020.0004.33F1][.B272.0020.001F.33F1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A      ; [.15E6.0020.0004.336A][.15ED.0020.0004.336A][.8B60.0020.001F.336A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2      ; [.15E6.0020.0004.33F2][.15EE.0020.0004.33F2][.B272.0020.001F.33F2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B      ; [.15E6.0020.0004.336B][.15EE.0020.0004.336B][.8B60.0020.001F.336B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0      ; [.15E6.0020.0004.33E0][.B272.0020.001F.33E0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0      ; [.15E6.0020.0004.32C0][.CA96.0020.001F.32C0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359      ; [.15E6.0020.0004.3359][.8B60.0020.001F.3359] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3      ; [.15E7.0020.0004.33F3][.15E5.0020.0004.33F3][.B272.0020.001F.33F3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C      ; [.15E7.0020.0004.336C][.15E5.0020.0004.336C][.8B60.0020.001F.336C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4      ; [.15E7.0020.0004.33F4][.15E6.0020.0004.33F4][.B272.0020.001F.33F4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D      ; [.15E7.0020.0004.336D][.15E6.0020.0004.336D][.8B60.0020.001F.336D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5      ; [.15E7.0020.0004.33F5][.15E7.0020.0004.33F5][.B272.0020.001F.33F5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E      ; [.15E7.0020.0004.336E][.15E7.0020.0004.336E][.8B60.0020.001F.336E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6      ; [.15E7.0020.0004.33F6][.15E8.0020.0004.33F6][.B272.0020.001F.33F6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F      ; [.15E7.0020.0004.336F][.15E8.0020.0004.336F][.8B60.0020.001F.336F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7      ; [.15E7.0020.0004.33F7][.15E9.0020.0004.33F7][.B272.0020.001F.33F7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370      ; [.15E7.0020.0004.3370][.15E9.0020.0004.3370][.8B60.0020.001F.3370] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8      ; [.15E7.0020.0004.33F8][.15EA.0020.0004.33F8][.B272.0020.001F.33F8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9      ; [.15E7.0020.0004.33F9][.15EB.0020.0004.33F9][.B272.0020.001F.33F9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA      ; [.15E7.0020.0004.33FA][.15EC.0020.0004.33FA][.B272.0020.001F.33FA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB      ; [.15E7.0020.0004.33FB][.15ED.0020.0004.33FB][.B272.0020.001F.33FB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC      ; [.15E7.0020.0004.33FC][.15EE.0020.0004.33FC][.B272.0020.001F.33FC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1      ; [.15E7.0020.0004.33E1][.B272.0020.001F.33E1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1      ; [.15E7.0020.0004.32C1][.CA96.0020.001F.32C1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A      ; [.15E7.0020.0004.335A][.8B60.0020.001F.335A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD      ; [.15E8.0020.0004.33FD][.15E5.0020.0004.33FD][.B272.0020.001F.33FD] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE      ; [.15E8.0020.0004.33FE][.15E6.0020.0004.33FE][.B272.0020.001F.33FE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2      ; [.15E8.0020.0004.33E2][.B272.0020.001F.33E2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2      ; [.15E8.0020.0004.32C2][.CA96.0020.001F.32C2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B      ; [.15E8.0020.0004.335B][.8B60.0020.001F.335B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3      ; [.15E9.0020.0004.33E3][.B272.0020.001F.33E3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3      ; [.15E9.0020.0004.32C3][.CA96.0020.001F.32C3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C      ; [.15E9.0020.0004.335C][.8B60.0020.001F.335C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4      ; [.15EA.0020.0004.33E4][.B272.0020.001F.33E4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4      ; [.15EA.0020.0004.32C4][.CA96.0020.001F.32C4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D      ; [.15EA.0020.0004.335D][.8B60.0020.001F.335D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5      ; [.15EB.0020.0004.33E5][.B272.0020.001F.33E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5      ; [.15EB.0020.0004.32C5][.CA96.0020.001F.32C5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E      ; [.15EB.0020.0004.335E][.8B60.0020.001F.335E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6      ; [.15EC.0020.0004.33E6][.B272.0020.001F.33E6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6      ; [.15EC.0020.0004.32C6][.CA96.0020.001F.32C6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F      ; [.15EC.0020.0004.335F][.8B60.0020.001F.335F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7      ; [.15ED.0020.0004.33E7][.B272.0020.001F.33E7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7      ; [.15ED.0020.0004.32C7][.CA96.0020.001F.32C7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360      ; [.15ED.0020.0004.3360][.8B60.0020.001F.3360] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8      ; [.15EE.0020.0004.33E8][.B272.0020.001F.33E8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8      ; [.15EE.0020.0004.32C8][.CA96.0020.001F.32C8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361      ; [.15EE.0020.0004.3361][.8B60.0020.001F.3361] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241     ; [*0359.0020.0004.1F241][.B35F.0020.0004.1F241][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242     ; [*0359.0020.0004.1F242][.8E0E.0020.0004.1F242][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247     ; [*0359.0020.0004.1F247][.B548.0020.0004.1F247][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243     ; [*0359.0020.0004.1F243][.8049.0020.0004.1F243][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245     ; [*0359.0020.0004.1F245][.89A6.0020.0004.1F245][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248     ; [*0359.0020.0004.1F248][.811B.0020.0004.1F248][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240     ; [*0359.0020.0004.1F240][.81FC.0020.0004.1F240][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244     ; [*0359.0020.0004.1F244][.8B60.0020.0004.1F244][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246     ; [*0359.0020.0004.1F246][.8A91.0020.0004.1F246][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+2F00      ; [.C5CF.0020.0004.2F00] # KANGXI RADICAL ONE
+3192      ; [.C5CF.0020.0014.3192] # IDEOGRAPHIC ANNOTATION ONE MARK
+3280      ; [.C5CF.0020.0006.3280] # CIRCLED IDEOGRAPH ONE
+1F229     ; [.C5CF.0020.001C.1F229] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C      ; [.8BE6.0020.0014.319C] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3286      ; [.AE03.0020.0006.3286] # CIRCLED IDEOGRAPH SEVEN
+3194      ; [.B35F.0020.0014.3194] # IDEOGRAPHIC ANNOTATION THREE MARK
+3282      ; [.B35F.0020.0006.3282] # CIRCLED IDEOGRAPH THREE
+1F22A     ; [.B35F.0020.001C.1F22A] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+3196      ; [.B46D.0020.0014.3196] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A4      ; [.B46D.0020.0006.32A4] # CIRCLED IDEOGRAPH HIGH
+3198      ; [.BF75.0020.0014.3198] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+32A6      ; [.BF75.0020.0006.32A6] # CIRCLED IDEOGRAPH LOW
+319B      ; [.8382.0020.0014.319B] # IDEOGRAPHIC ANNOTATION THIRD MARK
+2F01      ; [.937A.0020.0004.2F01] # KANGXI RADICAL LINE
+3197      ; [.CECC.0020.0014.3197] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+32A5      ; [.CECC.0020.0006.32A5] # CIRCLED IDEOGRAPH CENTRE
+1F22D     ; [.CECC.0020.001C.1F22D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+2F02      ; [.CF8B.0020.0004.2F02] # KANGXI RADICAL DOT
+2F03      ; [.AD44.0020.0004.2F03] # KANGXI RADICAL SLASH
+2F04      ; [.C643.0020.0004.2F04] # KANGXI RADICAL SECOND
+319A      ; [.C643.0020.0014.319A] # IDEOGRAPHIC ANNOTATION SECOND MARK
+3288      ; [.9C92.0020.0006.3288] # CIRCLED IDEOGRAPH NINE
+2F05      ; [.9D9D.0020.0004.2F05] # KANGXI RADICAL HOOK
+2F06      ; [.8E0E.0020.0004.2F06] # KANGXI RADICAL TWO
+3193      ; [.8E0E.0020.0014.3193] # IDEOGRAPHIC ANNOTATION TWO MARK
+3281      ; [.8E0E.0020.0006.3281] # CIRCLED IDEOGRAPH TWO
+1F214     ; [.8E0E.0020.001C.1F214] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3284      ; [.BDF1.0020.0006.3284] # CIRCLED IDEOGRAPH FIVE
+2F07      ; [.BAE9.0020.0004.2F07] # KANGXI RADICAL LID
+1F218     ; [.9A8F.0020.001C.1F218] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+2F08      ; [.B22F.0020.0004.2F08] # KANGXI RADICAL MAN
+319F      ; [.B22F.0020.0014.319F] # IDEOGRAPHIC ANNOTATION MAN MARK
+32AD      ; [.AE82.0020.0006.32AD] # CIRCLED IDEOGRAPH ENTERPRISE
+32A1      ; [.C1F9.0020.0006.32A1] # CIRCLED IDEOGRAPH REST
+329D      ; [.C8A5.0020.0006.329D] # CIRCLED IDEOGRAPH EXCELLENT
+2F09      ; [.8DE5.0020.0004.2F09] # KANGXI RADICAL LEGS
+2F0A      ; [.B2E8.0020.0004.2F0A] # KANGXI RADICAL ENTER
+2F0B      ; [.80C6.0020.0004.2F0B] # KANGXI RADICAL EIGHT
+3287      ; [.80C6.0020.0006.3287] # CIRCLED IDEOGRAPH EIGHT
+3285      ; [.A49F.0020.0006.3285] # CIRCLED IDEOGRAPH SIX
+2F0C      ; [.9C60.0020.0004.2F0C] # KANGXI RADICAL DOWN BOX
+1F21E     ; [.CB49.0020.001C.1F21E] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F0D      ; [.A832.0020.0004.2F0D] # KANGXI RADICAL COVER
+32A2      ; [.C132.0020.0006.32A2] # CIRCLED IDEOGRAPH COPY
+2F0E      ; [.837B.0020.0004.2F0E] # KANGXI RADICAL ICE
+2F0F      ; [.989A.0020.0004.2F0F] # KANGXI RADICAL TABLE
+2F10      ; [.AF3D.0020.0004.2F10] # KANGXI RADICAL OPEN BOX
+2F11      ; [.8A71.0020.0004.2F11] # KANGXI RADICAL KNIFE
+1F220     ; [.8779.0020.001C.1F220] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F21C     ; [.AF1F.0020.001C.1F21C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F239     ; [.9162.0020.001C.1F239] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F12      ; [.A237.0020.0004.2F12] # KANGXI RADICAL POWER
+3298      ; [.A132.0020.0006.3298] # CIRCLED IDEOGRAPH LABOR
+2F13      ; [.8175.0020.0004.2F13] # KANGXI RADICAL WRAP
+2F14      ; [.8238.0020.0004.2F14] # KANGXI RADICAL SPOON
+2F15      ; [.8E8F.0020.0004.2F15] # KANGXI RADICAL RIGHT OPEN BOX
+2F16      ; [.BF01.0020.0004.2F16] # KANGXI RADICAL HIDING ENCLOSURE
+32A9      ; [.C5D4.0020.0006.32A9] # CIRCLED IDEOGRAPH MEDICINE
+2F17      ; [.B57B.0020.0004.2F17] # KANGXI RADICAL TEN
+3038      ; [.B57B.0020.0004.3038] # HANGZHOU NUMERAL TEN
+3289      ; [.B57B.0020.0006.3289] # CIRCLED IDEOGRAPH TEN
+3039      ; [.AAA8.0020.0004.3039] # HANGZHOU NUMERAL TWENTY
+303A      ; [.B342.0020.0004.303A] # HANGZHOU NUMERAL THIRTY
+32AF      ; [.C10A.0020.0006.32AF] # CIRCLED IDEOGRAPH ALLIANCE
+2F18      ; [.8410.0020.0004.2F18] # KANGXI RADICAL DIVINATION
+2F19      ; [.9B2A.0020.0004.2F19] # KANGXI RADICAL SEAL
+329E      ; [.C7AF.0020.0006.329E] # CIRCLED IDEOGRAPH PRINT
+2F1A      ; [.85AC.0020.0004.2F1A] # KANGXI RADICAL CLIFF
+2F1B      ; [.B6E4.0020.0004.2F1B] # KANGXI RADICAL PRIVATE
+2F1C      ; [.C8E8.0020.0004.2F1C] # KANGXI RADICAL AGAIN
+1F212     ; [.B6A1.0020.001C.1F212] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F1D      ; [.9F2E.0020.0004.2F1D] # KANGXI RADICAL MOUTH
+1F251     ; [.9ED7.0020.0006.1F251] # CIRCLED IDEOGRAPH ACCEPT
+32A8      ; [.C8E9.0020.0006.32A8] # CIRCLED IDEOGRAPH RIGHT
+1F22E     ; [.C8E9.0020.001C.1F22E] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F234     ; [.9499.0020.001C.1F234] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3294      ; [.A8EB.0020.0006.3294] # CIRCLED IDEOGRAPH NAME
+1F225     ; [.8816.0020.001C.1F225] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+3244      ; [.BD6F.0020.0006.3244] # CIRCLED IDEOGRAPH QUESTION
+1F23A     ; [.C804.0020.001C.1F23A] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+2F1E      ; [.BC8F.0020.0004.2F1E] # KANGXI RADICAL ENCLOSURE
+3195      ; [.B715.0020.0014.3195] # IDEOGRAPHIC ANNOTATION FOUR MARK
+3283      ; [.B715.0020.0006.3283] # CIRCLED IDEOGRAPH FOUR
+2F1F      ; [.BB2D.0020.0004.2F1F] # KANGXI RADICAL EARTH
+328F      ; [.BB2D.0020.0006.328F] # CIRCLED IDEOGRAPH EARTH
+319E      ; [.8AAF.0020.0014.319E] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F20      ; [.B5A9.0020.0004.2F20] # KANGXI RADICAL SCHOLAR
+1F224     ; [.B526.0020.001C.1F224] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F21      ; [.CE2D.0020.0004.2F21] # KANGXI RADICAL GO
+2F22      ; [.B7D9.0020.0004.2F22] # KANGXI RADICAL GO SLOWLY
+2F23      ; [.BE4B.0020.0004.2F23] # KANGXI RADICAL EVENING
+1F215     ; [.8D1C.0020.001C.1F215] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0      ; [.C59A.0020.0006.32B0] # CIRCLED IDEOGRAPH NIGHT
+2F24      ; [.89A7.0020.0004.2F24] # KANGXI RADICAL BIG
+337D      ; [.89A7.0020.001C.337D][.CDCB.0020.001C.337D] # SQUARE ERA NAME TAISYOU
+319D      ; [.B9F9.0020.0014.319D] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217     ; [.B9F9.0020.001C.1F217] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+2F25      ; [.AB5E.0020.0004.2F25] # KANGXI RADICAL WOMAN
+329B      ; [.AB5E.0020.0006.329B] # CIRCLED IDEOGRAPH FEMALE
+2F26      ; [.D0E1.0020.0004.2F26] # KANGXI RADICAL CHILD
+1F211     ; [.D0D3.0020.001C.1F211] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+32AB      ; [.C304.0020.0006.32AB] # CIRCLED IDEOGRAPH STUDY
+2F27      ; [.A858.0020.0004.2F27] # KANGXI RADICAL ROOF
+32AA      ; [.D0E4.0020.0006.32AA] # CIRCLED IDEOGRAPH RELIGION
+2F28      ; [.8955.0020.0004.2F28] # KANGXI RADICAL INCH
+2F29      ; [.C0DE.0020.0004.2F29] # KANGXI RADICAL SMALL
+2F2A      ; [.C8AC.0020.0004.2F2A] # KANGXI RADICAL LAME
+2F2B      ; [.B554.0020.0004.2F2B] # KANGXI RADICAL CORPSE
+2F2C      ; [.85F7.0020.0004.2F2C] # KANGXI RADICAL SPROUT
+2F2D      ; [.B3FD.0020.0004.2F2D] # KANGXI RADICAL MOUNTAIN
+2F2E      ; [.87DC.0020.0004.2F2E] # KANGXI RADICAL RIVER
+2F2F      ; [.91CB.0020.0004.2F2F] # KANGXI RADICAL WORK
+32A7      ; [.D19D.0020.0006.32A7] # CIRCLED IDEOGRAPH LEFT
+1F22C     ; [.D19D.0020.001C.1F22C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30      ; [.989B.0020.0004.2F30] # KANGXI RADICAL ONESELF
+2F31      ; [.9B91.0020.0004.2F31] # KANGXI RADICAL TURBAN
+2F32      ; [.90EE.0020.0004.2F32] # KANGXI RADICAL DRY
+337B      ; [.AD6D.0020.001C.337B][.866D.0020.001C.337B] # SQUARE ERA NAME HEISEI
+2F33      ; [.C50D.0020.0004.2F33] # KANGXI RADICAL SHORT THREAD
+3245      ; [.C8EA.0020.0006.3245] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34      ; [.9307.0020.0004.2F34] # KANGXI RADICAL DOTTED CLIFF
+2F35      ; [.C792.0020.0004.2F35] # KANGXI RADICAL LONG STRIDE
+2F36      ; [.91E7.0020.0004.2F36] # KANGXI RADICAL TWO HANDS
+2F37      ; [.C66C.0020.0004.2F37] # KANGXI RADICAL SHOOT
+2F38      ; [.91CC.0020.0004.2F38] # KANGXI RADICAL BOW
+2F39      ; [.98AF.0020.0004.2F39] # KANGXI RADICAL SNOUT
+2F3A      ; [.B3FE.0020.0004.2F3A] # KANGXI RADICAL BRISTLE
+2F3B      ; [.86F1.0020.0004.2F3B] # KANGXI RADICAL STEP
+1F21D     ; [.957C.0020.001C.1F21D] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250     ; [.8AB1.0020.0006.1F250] # CIRCLED IDEOGRAPH ADVANTAGE
+2F3C      ; [.C178.0020.0004.2F3C] # KANGXI RADICAL HEART
+2F3D      ; [.9153.0020.0004.2F3D] # KANGXI RADICAL HALBERD
+2F3E      ; [.95D9.0020.0004.2F3E] # KANGXI RADICAL DOOR
+2F3F      ; [.B60C.0020.0004.2F3F] # KANGXI RADICAL HAND
+1F210     ; [.B60C.0020.001C.1F210] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F231     ; [.89A6.0020.001C.1F231] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F227     ; [.BAEB.0020.001C.1F227] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F22F     ; [.CE40.0020.001C.1F22F] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F228     ; [.8420.0020.001C.1F228] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F40      ; [.CDDA.0020.0004.2F40] # KANGXI RADICAL BRANCH
+2F41      ; [.ADCC.0020.0004.2F41] # KANGXI RADICAL RAP
+2F42      ; [.BD44.0020.0004.2F42] # KANGXI RADICAL SCRIPT
+3246      ; [.BD44.0020.0006.3246] # CIRCLED IDEOGRAPH SCHOOL
+2F43      ; [.8C5E.0020.0004.2F43] # KANGXI RADICAL DIPPER
+1F21B     ; [.A385.0020.001C.1F21B] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44      ; [.9B93.0020.0004.2F44] # KANGXI RADICAL AXE
+1F21F     ; [.C188.0020.001C.1F21F] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45      ; [.8E90.0020.0004.2F45] # KANGXI RADICAL SQUARE
+2F46      ; [.BDD2.0020.0004.2F46] # KANGXI RADICAL NOT
+2F47      ; [.B272.0020.0004.2F47] # KANGXI RADICAL SUN
+3290      ; [.B272.0020.0006.3290] # CIRCLED IDEOGRAPH SUN
+337E      ; [.A8EC.0020.001C.337E][.CE5C.0020.001C.337E] # SQUARE ERA NAME MEIZI
+1F219     ; [.C83C.0020.001C.1F219] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C      ; [.CCD5.0020.001C.337C][.949E.0020.001C.337C] # SQUARE ERA NAME SYOUWA
+2F48      ; [.CA8E.0020.0004.2F48] # KANGXI RADICAL SAY
+2F49      ; [.CA96.0020.0004.2F49] # KANGXI RADICAL MOON
+328A      ; [.CA96.0020.0006.328A] # CIRCLED IDEOGRAPH MOON
+1F237     ; [.CA96.0020.001C.1F237] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+3292      ; [.C8D2.0020.0006.3292] # CIRCLED IDEOGRAPH HAVE
+1F236     ; [.C8D2.0020.001C.1F236] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+2F4A      ; [.A98A.0020.0004.2F4A] # KANGXI RADICAL TREE
+328D      ; [.A98A.0020.0006.328D] # CIRCLED IDEOGRAPH WOOD
+3291      ; [.CF58.0020.0006.3291] # CIRCLED IDEOGRAPH STOCK
+337F      ; [.CF58.0020.001C.337F][.B5B3.0020.001C.337F][.9737.0020.001C.337F][.B4AC.0020.001C.337F] # SQUARE CORPORATION
+2F4B      ; [.AF4C.0020.0004.2F4B] # KANGXI RADICAL LACK
+2F4C      ; [.CE2E.0020.0004.2F4C] # KANGXI RADICAL STOP
+32A3      ; [.CDCB.0020.0006.32A3] # CIRCLED IDEOGRAPH CORRECT
+2F4D      ; [.89B3.0020.0004.2F4D] # KANGXI RADICAL DEATH
+2F4E      ; [.B623.0020.0004.2F4E] # KANGXI RADICAL WEAPON
+2F4F      ; [.BDD3.0020.0004.2F4F] # KANGXI RADICAL DO NOT
+2E9F      ; [.A97A.0020.0004.2E9F] # CJK RADICAL MOTHER
+2F50      ; [.8239.0020.0004.2F50] # KANGXI RADICAL COMPARE
+2F51      ; [.A71D.0020.0004.2F51] # KANGXI RADICAL FUR
+2F52      ; [.B5AA.0020.0004.2F52] # KANGXI RADICAL CLAN
+2F53      ; [.AE99.0020.0004.2F53] # KANGXI RADICAL STEAM
+2F54      ; [.B6BA.0020.0004.2F54] # KANGXI RADICAL WATER
+328C      ; [.B6BA.0020.0006.328C] # CIRCLED IDEOGRAPH WATER
+329F      ; [.CFA5.0020.0006.329F] # CIRCLED IDEOGRAPH ATTENTION
+1F235     ; [.A6DD.0020.001C.1F235] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F226     ; [.C445.0020.001C.1F226] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+2F55      ; [.97BC.0020.0004.2F55] # KANGXI RADICAL FIRE
+328B      ; [.97BC.0020.0006.328B] # CIRCLED IDEOGRAPH FIRE
+1F21A     ; [.BDE3.0020.001C.1F21A] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F56      ; [.CCDE.0020.0004.2F56] # KANGXI RADICAL CLAW
+2F57      ; [.9046.0020.0004.2F57] # KANGXI RADICAL FATHER
+2F58      ; [.C51B.0020.0004.2F58] # KANGXI RADICAL DOUBLE X
+2F59      ; [.ABD3.0020.0004.2F59] # KANGXI RADICAL HALF TREE TRUNK
+2F5A      ; [.AD1C.0020.0004.2F5A] # KANGXI RADICAL SLICE
+2F5B      ; [.C397.0020.0004.2F5B] # KANGXI RADICAL FANG
+2F5C      ; [.AB21.0020.0004.2F5C] # KANGXI RADICAL COW
+3295      ; [.B980.0020.0006.3295] # CIRCLED IDEOGRAPH SPECIAL
+2F5D      ; [.B1B4.0020.0004.2F5D] # KANGXI RADICAL DOG
+2F5E      ; [.C2C8.0020.0004.2F5E] # KANGXI RADICAL PROFOUND
+2F5F      ; [.C99A.0020.0004.2F5F] # KANGXI RADICAL JADE
+2F60      ; [.928E.0020.0004.2F60] # KANGXI RADICAL MELON
+2F61      ; [.BBE5.0020.0004.2F61] # KANGXI RADICAL TILE
+2F62      ; [.90BE.0020.0004.2F62] # KANGXI RADICAL SWEET
+2F63      ; [.B523.0020.0004.2F63] # KANGXI RADICAL LIFE
+1F222     ; [.B523.0020.001C.1F222] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F64      ; [.C894.0020.0004.2F64] # KANGXI RADICAL USE
+2F65      ; [.BA01.0020.0004.2F65] # KANGXI RADICAL FIELD
+3199      ; [.9955.0020.0014.3199] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238     ; [.B4C6.0020.001C.1F238] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A      ; [.A9E0.0020.0006.329A] # CIRCLED IDEOGRAPH MALE
+2F66      ; [.ACE2.0020.0004.2F66] # KANGXI RADICAL BOLT OF CLOTH
+2F67      ; [.AA2F.0020.0004.2F67] # KANGXI RADICAL SICKNESS
+2F68      ; [.83AC.0020.0004.2F68] # KANGXI RADICAL DOTTED TENT
+2F69      ; [.810B.0020.0004.2F69] # KANGXI RADICAL WHITE
+2F6A      ; [.ACBB.0020.0004.2F6A] # KANGXI RADICAL SKIN
+2F6B      ; [.A8CF.0020.0004.2F6B] # KANGXI RADICAL DISH
+32AC      ; [.999B.0020.0006.32AC] # CIRCLED IDEOGRAPH SUPERVISE
+2F6C      ; [.A98D.0020.0004.2F6C] # KANGXI RADICAL EYE
+2F6D      ; [.A71E.0020.0004.2F6D] # KANGXI RADICAL SPEAR
+2F6E      ; [.B59D.0020.0004.2F6E] # KANGXI RADICAL ARROW
+2F6F      ; [.B57D.0020.0004.2F6F] # KANGXI RADICAL STONE
+2F70      ; [.B5B0.0020.0004.2F70] # KANGXI RADICAL SPIRIT
+3293      ; [.B4AC.0020.0006.3293] # CIRCLED IDEOGRAPH SOCIETY
+3297      ; [.CFAD.0020.0006.3297] # CIRCLED IDEOGRAPH CONGRATULATION
+1F232     ; [.9BD6.0020.001C.1F232] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+2F71      ; [.B2AC.0020.0004.2F71] # KANGXI RADICAL TRACK
+2F72      ; [.9498.0020.0004.2F72] # KANGXI RADICAL GRAIN
+3299      ; [.A83C.0020.0006.3299] # CIRCLED IDEOGRAPH SECRET
+2F73      ; [.C301.0020.0004.2F73] # KANGXI RADICAL CAVE
+1F233     ; [.9F18.0020.001C.1F233] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+2F74      ; [.A23B.0020.0004.2F74] # KANGXI RADICAL STAND
+2F75      ; [.CF74.0020.0004.2F75] # KANGXI RADICAL BAMBOO
+3247      ; [.CDBB.0020.0006.3247] # CIRCLED IDEOGRAPH KOTO
+2F76      ; [.A821.0020.0004.2F76] # KANGXI RADICAL RICE
+2F77      ; [.A833.0020.0004.2F77] # KANGXI RADICAL SILK
+1F221     ; [.CEDC.0020.001C.1F221] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+2F78      ; [.8F9E.0020.0004.2F78] # KANGXI RADICAL JAR
+2F79      ; [.BC56.0020.0004.2F79] # KANGXI RADICAL NET
+2F7A      ; [.C4C4.0020.0004.2F7A] # KANGXI RADICAL SHEEP
+2F7B      ; [.C975.0020.0004.2F7B] # KANGXI RADICAL FEATHER
+2F7C      ; [.A149.0020.0004.2F7C] # KANGXI RADICAL OLD
+2F7D      ; [.8DE6.0020.0004.2F7D] # KANGXI RADICAL AND
+2F7E      ; [.A19B.0020.0004.2F7E] # KANGXI RADICAL PLOW
+2F7F      ; [.8E00.0020.0004.2F7F] # KANGXI RADICAL EAR
+2F80      ; [.C99D.0020.0004.2F80] # KANGXI RADICAL BRUSH
+2F81      ; [.B2C1.0020.0004.2F81] # KANGXI RADICAL MEAT
+2F82      ; [.8612.0020.0004.2F82] # KANGXI RADICAL MINISTER
+2F83      ; [.D0D4.0020.0004.2F83] # KANGXI RADICAL SELF
+2F84      ; [.CE51.0020.0004.2F84] # KANGXI RADICAL ARRIVE
+2F85      ; [.9CA1.0020.0004.2F85] # KANGXI RADICAL MORTAR
+2F86      ; [.B4A3.0020.0004.2F86] # KANGXI RADICAL TONGUE
+2F87      ; [.87EF.0020.0004.2F87] # KANGXI RADICAL OPPOSE
+2F88      ; [.CF09.0020.0004.2F88] # KANGXI RADICAL BOAT
+2F89      ; [.91A3.0020.0004.2F89] # KANGXI RADICAL STOPPING
+2F8A      ; [.B3A0.0020.0004.2F8A] # KANGXI RADICAL COLOR
+2F8B      ; [.84B1.0020.0004.2F8B] # KANGXI RADICAL GRASS
+2F8C      ; [.9588.0020.0004.2F8C] # KANGXI RADICAL TIGER
+2F8D      ; [.872E.0020.0004.2F8D] # KANGXI RADICAL INSECT
+2F8E      ; [.C317.0020.0004.2F8E] # KANGXI RADICAL BLOOD
+2F8F      ; [.C1BA.0020.0004.2F8F] # KANGXI RADICAL WALK ENCLOSURE
+2F90      ; [.C5D3.0020.0004.2F90] # KANGXI RADICAL CLOTHES
+2F91      ; [.C3B8.0020.0004.2F91] # KANGXI RADICAL WEST
+2F92      ; [.99FE.0020.0004.2F92] # KANGXI RADICAL SEE
+2F93      ; [.9AB8.0020.0004.2F93] # KANGXI RADICAL HORN
+1F216     ; [.9B6C.0020.001C.1F216] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94      ; [.C3F5.0020.0004.2F94] # KANGXI RADICAL SPEECH
+2F95      ; [.924B.0020.0004.2F95] # KANGXI RADICAL VALLEY
+2F96      ; [.8C5F.0020.0004.2F96] # KANGXI RADICAL BEAN
+2F97      ; [.B59F.0020.0004.2F97] # KANGXI RADICAL PIG
+2F98      ; [.CE56.0020.0004.2F98] # KANGXI RADICAL BADGER
+2F99      ; [.81CA.0020.0004.2F99] # KANGXI RADICAL SHELL
+3296      ; [.844F.0020.0006.3296] # CIRCLED IDEOGRAPH FINANCIAL
+1F223     ; [.8E87.0020.001C.1F223] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+32AE      ; [.D0A3.0020.0006.32AE] # CIRCLED IDEOGRAPH RESOURCE
+2F9A      ; [.86F6.0020.0004.2F9A] # KANGXI RADICAL RED
+2F9B      ; [.D138.0020.0004.2F9B] # KANGXI RADICAL RUN
+1F230     ; [.D138.0020.001C.1F230] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9C      ; [.D141.0020.0004.2F9C] # KANGXI RADICAL FOOT
+2F9D      ; [.B4CA.0020.0004.2F9D] # KANGXI RADICAL BODY
+2F9E      ; [.85ED.0020.0004.2F9E] # KANGXI RADICAL CART
+2F9F      ; [.C17D.0020.0004.2F9F] # KANGXI RADICAL BITTER
+2FA0      ; [.8616.0020.0004.2FA0] # KANGXI RADICAL MORNING
+2FA1      ; [.8858.0020.0004.2FA1] # KANGXI RADICAL WALK
+1F22B     ; [.C8C4.0020.001C.1F22B] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C      ; [.B5EC.0020.0006.329C] # CIRCLED IDEOGRAPH SUITABLE
+2FA2      ; [.C682.0020.0004.2FA2] # KANGXI RADICAL CITY
+2FA3      ; [.C8D6.0020.0004.2FA3] # KANGXI RADICAL WINE
+2FA4      ; [.82F0.0020.0004.2FA4] # KANGXI RADICAL DISTINGUISH
+2FA5      ; [.A21E.0020.0004.2FA5] # KANGXI RADICAL VILLAGE
+2FA6      ; [.9B96.0020.0004.2FA6] # KANGXI RADICAL GOLD
+328E      ; [.9B96.0020.0006.328E] # CIRCLED IDEOGRAPH METAL
+2FA7      ; [.CCB5.0020.0004.2FA7] # KANGXI RADICAL LONG
+2FA8      ; [.A7B4.0020.0004.2FA8] # KANGXI RADICAL GATE
+2FA9      ; [.904E.0020.0004.2FA9] # KANGXI RADICAL MOUND
+2FAA      ; [.A24C.0020.0004.2FAA] # KANGXI RADICAL SLAVE
+2FAB      ; [.D014.0020.0004.2FAB] # KANGXI RADICAL SHORT TAILED BIRD
+2FAC      ; [.C976.0020.0004.2FAC] # KANGXI RADICAL RAIN
+2FAD      ; [.B063.0020.0004.2FAD] # KANGXI RADICAL BLUE
+2FAE      ; [.8EB9.0020.0004.2FAE] # KANGXI RADICAL WRONG
+2FAF      ; [.A882.0020.0004.2FAF] # KANGXI RADICAL FACE
+2FB0      ; [.9173.0020.0004.2FB0] # KANGXI RADICAL LEATHER
+2FB1      ; [.BC9A.0020.0004.2FB1] # KANGXI RADICAL TANNED LEATHER
+2FB2      ; [.9C9A.0020.0004.2FB2] # KANGXI RADICAL LEEK
+2FB3      ; [.C745.0020.0004.2FB3] # KANGXI RADICAL SOUND
+2FB4      ; [.C59E.0020.0004.2FB4] # KANGXI RADICAL LEAF
+32A0      ; [.C084.0020.0006.32A0] # CIRCLED IDEOGRAPH ITEM
+2FB5      ; [.8F57.0020.0004.2FB5] # KANGXI RADICAL WIND
+2FB6      ; [.8EBA.0020.0004.2FB6] # KANGXI RADICAL FLY
+2FB7      ; [.B58A.0020.0004.2FB7] # KANGXI RADICAL EAT
+2FB8      ; [.B60F.0020.0004.2FB8] # KANGXI RADICAL HEAD
+2FB9      ; [.C044.0020.0004.2FB9] # KANGXI RADICAL FRAGRANT
+2FBA      ; [.A690.0020.0004.2FBA] # KANGXI RADICAL HORSE
+2FBB      ; [.924E.0020.0004.2FBB] # KANGXI RADICAL BONE
+2FBC      ; [.9124.0020.0004.2FBC] # KANGXI RADICAL TALL
+2FBD      ; [.830C.0020.0004.2FBD] # KANGXI RADICAL HAIR
+2FBE      ; [.8C65.0020.0004.2FBE] # KANGXI RADICAL FIGHT
+2FBF      ; [.85BA.0020.0004.2FBF] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0      ; [.9176.0020.0004.2FC0] # KANGXI RADICAL CAULDRON
+2FC1      ; [.934D.0020.0004.2FC1] # KANGXI RADICAL GHOST
+2FC2      ; [.C936.0020.0004.2FC2] # KANGXI RADICAL FISH
+2FC3      ; [.AABB.0020.0004.2FC3] # KANGXI RADICAL BIRD
+2FC4      ; [.A552.0020.0004.2FC4] # KANGXI RADICAL SALT
+2FC5      ; [.A57C.0020.0004.2FC5] # KANGXI RADICAL DEER
+2FC6      ; [.A6C0.0020.0004.2FC6] # KANGXI RADICAL WHEAT
+2FC7      ; [.A687.0020.0004.2FC7] # KANGXI RADICAL HEMP
+2FC8      ; [.96C2.0020.0004.2FC8] # KANGXI RADICAL YELLOW
+2FC9      ; [.B656.0020.0004.2FC9] # KANGXI RADICAL MILLET
+2FCA      ; [.94F2.0020.0004.2FCA] # KANGXI RADICAL BLACK
+2FCB      ; [.CE4C.0020.0004.2FCB] # KANGXI RADICAL EMBROIDERY
+2FCC      ; [.A87C.0020.0004.2FCC] # KANGXI RADICAL FROG
+2FCD      ; [.8BF6.0020.0004.2FCD] # KANGXI RADICAL TRIPOD
+2FCE      ; [.9261.0020.0004.2FCE] # KANGXI RADICAL DRUM
+2FCF      ; [.B659.0020.0004.2FCF] # KANGXI RADICAL RAT
+2FD0      ; [.8237.0020.0004.2FD0] # KANGXI RADICAL NOSE
+2FD1      ; [.AE64.0020.0004.2FD1] # KANGXI RADICAL EVEN
+2FD2      ; [.86F0.0020.0004.2FD2] # KANGXI RADICAL TOOTH
+2FD3      ; [.A4C6.0020.0004.2FD3] # KANGXI RADICAL DRAGON
+2FD4      ; [.9336.0020.0004.2FD4] # KANGXI RADICAL TURTLE
+2EF3      ; [.9317.0020.0004.2EF3] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5      ; [.CAB5.0020.0004.2FD5] # KANGXI RADICAL FLUTE
+F967      ; [.8424.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70      ; [.839A.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905      ; [.87F6.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801     ; [.BC07.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E      ; [.89E0.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800     ; [.A23E.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F802     ; [.C5F5.0020.0002.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
+F91B      ; [.A613.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA      ; [.A17A.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977      ; [.A342.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD      ; [.B4F1.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819     ; [.837C.0020.0002.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
+F9A8      ; [.A453.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804     ; [.AA66.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73      ; [.C1BE.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D      ; [.A084.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5      ; [.A245.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30      ; [.BDFB.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805     ; [.BDFB.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806     ; [.BB64.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965      ; [.82F3.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807     ; [.839E.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4      ; [.A624.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808     ; [.CB31.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809     ; [.81DD.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B     ; [.C085.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB      ; [.A356.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31      ; [.B3C3.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A     ; [.B3C3.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C      ; [.BE12.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74      ; [.871C.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32      ; [.A86B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E     ; [.A86B.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F     ; [.BB34.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810     ; [.96DD.0020.0002.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F814     ; [.AA3E.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72      ; [.B186.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978      ; [.A338.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1      ; [.A49F.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811     ; [.9D2C.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75      ; [.98F1.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815     ; [.CB49.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2     ; [.A744.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3     ; [.A872.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817     ; [.B2A3.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818     ; [.CA20.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A     ; [.8C16.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71      ; [.9FAC.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B     ; [.9FAC.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E      ; [.A1CE.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979      ; [.A329.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955      ; [.A412.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954      ; [.A3E3.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15      ; [.BEA0.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D     ; [.AF3D.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E     ; [.B244.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00      ; [.AFFB.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850     ; [.AFFB.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C      ; [.A38C.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD      ; [.A23F.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF      ; [.88A0.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820     ; [.9EE2.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821     ; [.A65E.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822     ; [.9162.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823     ; [.8564.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7      ; [.A474.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A      ; [.A237.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D      ; [.A38D.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992     ; [.A131.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76      ; [.C87B.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825     ; [.C87B.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33      ; [.A86E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826     ; [.A86E.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952      ; [.A17D.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F      ; [.A139.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34      ; [.B039.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827     ; [.B039.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F      ; [.A284.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77      ; [.B486.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828     ; [.B486.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829     ; [.8176.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A     ; [.88AB.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963      ; [.81C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B     ; [.81C5.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB      ; [.AA7F.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C     ; [.9735.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35      ; [.81B8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D     ; [.81B8.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E     ; [.83E1.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F     ; [.9856.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C      ; [.A610.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830     ; [.985E.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831     ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832     ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833     ; [.B068.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B      ; [.8464.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836     ; [.984E.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837     ; [.B77F.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906      ; [.9D21.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839     ; [.9AED.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A     ; [.86F2.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B     ; [.C50F.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE      ; [.A23C.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED      ; [.A3EE.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D     ; [.BE4D.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980      ; [.A5C5.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E     ; [.866F.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F     ; [.CF0C.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F83C     ; [.C009.0020.0002.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840     ; [.8D98.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E      ; [.C468.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841     ; [.A8A3.0020.0002.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842     ; [.B912.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843     ; [.AE8E.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79      ; [.B968.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844     ; [.BFC2.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845     ; [.B434.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846     ; [.B434.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B      ; [.A06A.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A      ; [.9747.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847     ; [.9747.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36      ; [.9494.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78      ; [.9494.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848     ; [.86B2.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849     ; [.CC0F.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D      ; [.95EF.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A     ; [.C52C.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B      ; [.BBEB.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37      ; [.B8FC.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C     ; [.B8FC.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E     ; [.9460.0020.0002.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38      ; [.AEBB.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F     ; [.AC52.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9      ; [.A404.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B     ; [.BB20.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D     ; [.BB21.0020.0002.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F855     ; [.C1C0.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852     ; [.8675.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853     ; [.CE0E.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854     ; [.BB35.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857     ; [.81A6.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856     ; [.887F.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39      ; [.AD95.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10      ; [.CEEE.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C      ; [.CEEE.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C      ; [.B352.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A      ; [.A952.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858     ; [.8B3A.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D      ; [.8F25.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A      ; [.A1A8.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942      ; [.A4EA.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851     ; [.D00A.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A     ; [.A6BB.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B     ; [.95AA.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85C     ; [.8F78.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D     ; [.8D1C.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E     ; [.A7F8.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E      ; [.C42B.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C      ; [.A9D5.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909      ; [.AEA8.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F      ; [.81F5.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F     ; [.B49A.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981      ; [.AB5E.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865     ; [.AD48.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862     ; [.9802.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863     ; [.C92A.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864     ; [.BB66.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80      ; [.826B.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866     ; [.905C.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986     ; [.C83F.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869     ; [.B221.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81      ; [.888D.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A     ; [.A0ED.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B     ; [.A0ED.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04      ; [.CC49.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D     ; [.CA24.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E     ; [.CE90.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F      ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA      ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F     ; [.AB0C.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC      ; [.A35E.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870     ; [.819A.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872     ; [.B611.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873     ; [.9A4D.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875     ; [.C8AC.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD      ; [.AAC3.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877     ; [.BB13.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B      ; [.A5D3.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B      ; [.84DD.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF      ; [.A5D7.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C      ; [.85F7.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878     ; [.85F7.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A     ; [.AEE6.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879     ; [.C218.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5      ; [.A629.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C     ; [.C438.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921      ; [.A0B9.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F     ; [.D096.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E     ; [.8B4E.0020.0002.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880     ; [.8565.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4     ; [.BE9B.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB      ; [.A452.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881     ; [.C33F.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882     ; [.85D2.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884     ; [.C372.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885     ; [.B6BB.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886     ; [.A74C.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887     ; [.8F26.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E      ; [.AA90.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01      ; [.8CB0.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B     ; [.839D.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C     ; [.826C.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D     ; [.B673.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2      ; [.A2D5.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928      ; [.A10D.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E     ; [.A10D.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82      ; [.8093.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B      ; [.A051.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83      ; [.C6DC.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982      ; [.A537.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890     ; [.91E7.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943      ; [.AB44.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894     ; [.B94A.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895     ; [.B94A.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F874     ; [.8A3C.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899     ; [.C1BC.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84      ; [.8458.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A     ; [.8B8D.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8      ; [.A5E0.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+2F89C     ; [.8C26.0020.0002.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966      ; [.9060.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85      ; [.C52E.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D     ; [.B23C.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E     ; [.CE53.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3      ; [.AAAA.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F     ; [.9F9E.0020.0002.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960      ; [.AB5B.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC      ; [.A2CC.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B      ; [.9741.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0     ; [.CA21.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D      ; [.972E.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3     ; [.972E.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5     ; [.8CF7.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86      ; [.BC5B.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9      ; [.8DAF.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88      ; [.C9CE.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9      ; [.A276.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6     ; [.8883.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7     ; [.96B3.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9     ; [.96B3.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87      ; [.B516.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8     ; [.B516.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A      ; [.80BA.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E      ; [.9E4D.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA     ; [.A500.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F      ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89      ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB     ; [.CBF6.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F      ; [.A2E3.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD     ; [.8F40.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE     ; [.847C.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC     ; [.C030.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF     ; [.A7D7.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40      ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B      ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0     ; [.869C.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D      ; [.A0EE.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1     ; [.A0EE.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990      ; [.A324.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2     ; [.866D.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3     ; [.9945.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2      ; [.A591.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C      ; [.89D5.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B4     ; [.9F3F.0020.0002.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+2F8B5     ; [.819F.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925      ; [.A05F.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B      ; [.A9AB.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02      ; [.B86F.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6     ; [.80E0.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA     ; [.AD49.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973      ; [.B600.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9     ; [.BC1A.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7     ; [.9D69.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB     ; [.B4A9.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4      ; [.AA99.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC     ; [.B397.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975      ; [.8DA6.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1     ; [.C433.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D      ; [.C93D.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0     ; [.C40D.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD     ; [.9865.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E      ; [.B76C.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF     ; [.9BD4.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F      ; [.8391.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3     ; [.A914.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6     ; [.9AD1.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4     ; [.9A82.0020.0002.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991      ; [.AA9F.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5     ; [.9712.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930      ; [.A55B.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41      ; [.A8D9.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8     ; [.A8D9.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90      ; [.808D.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9     ; [.9C49.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969      ; [.B682.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE      ; [.A385.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983      ; [.A5CB.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42      ; [.98C1.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB     ; [.98D3.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0      ; [.C689.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD     ; [.9BCA.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12      ; [.B07B.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91      ; [.B07B.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5      ; [.CAC4.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43      ; [.B654.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF     ; [.B654.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5     ; [.9BDA.0020.0002.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06      ; [.81AB.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B      ; [.A285.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901      ; [.91C6.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC     ; [.B62E.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4     ; [.D171.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929      ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92      ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8     ; [.A11F.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93      ; [.BC6C.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9     ; [.BC6C.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA     ; [.D0F0.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1      ; [.A2BF.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC     ; [.8308.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94      ; [.CCBE.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB     ; [.AE88.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8      ; [.876A.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0     ; [.97FC.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4      ; [.A3B8.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9      ; [.A490.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF     ; [.92B4.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA      ; [.A259.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5     ; [.81F8.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+2F8E1     ; [.B37D.0020.0002.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A      ; [.A32A.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44      ; [.A76C.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2     ; [.A76C.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4     ; [.808A.0020.0002.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2      ; [.A1DC.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6     ; [.D097.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8     ; [.CC12.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9     ; [.C536.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA     ; [.90BC.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914      ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C      ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF      ; [.A176.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C      ; [.A504.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB     ; [.B4A2.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931      ; [.A562.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED     ; [.CEB6.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D      ; [.A0D6.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF     ; [.889D.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1     ; [.C249.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3     ; [.B7FD.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C      ; [.A286.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95      ; [.89B3.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4     ; [.BD36.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5      ; [.A31E.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970      ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96      ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5     ; [.B3CD.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6     ; [.AFE9.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA     ; [.8E7C.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE     ; [.AEE8.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972      ; [.8614.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC     ; [.C3F8.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968      ; [.A837.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD     ; [.81F6.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3      ; [.AA4A.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF     ; [.BDDC.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915      ; [.A66A.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05      ; [.8C3D.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907     ; [.AD78.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900     ; [.ABCA.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA      ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97      ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902     ; [.A462.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903     ; [.9477.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A      ; [.A129.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45      ; [.93D2.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901     ; [.93D2.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904     ; [.9BCC.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905     ; [.AACC.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5      ; [.A3BE.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D      ; [.A1B6.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6      ; [.A62B.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E     ; [.C3DB.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46      ; [.CF91.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908     ; [.911B.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909     ; [.C3E0.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB      ; [.A45B.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC      ; [.AA85.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C     ; [.8B4F.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99      ; [.D099.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B     ; [.D099.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904      ; [.9618.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98      ; [.C781.0020.0002.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E      ; [.A51A.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47      ; [.942D.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A      ; [.942D.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992      ; [.A2D8.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F     ; [.85DA.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912     ; [.8F27.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922      ; [.A0FC.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984      ; [.A5EF.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915     ; [.C823.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B      ; [.9C59.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914     ; [.9C59.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913     ; [.CAB7.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917     ; [.AF3B.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835     ; [.96F6.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919     ; [.CFEA.0020.0002.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918     ; [.CB3D.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB      ; [.CE5D.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A     ; [.B8F6.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F      ; [.A39A.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916      ; [.A157.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C     ; [.8CCA.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993      ; [.A318.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48      ; [.CF92.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C      ; [.CF92.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E     ; [.88BE.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0      ; [.A366.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE      ; [.A3CE.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932      ; [.A53F.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E      ; [.A0FE.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920     ; [.891A.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA49      ; [.CCFA.0020.0002.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
+FA9E      ; [.9DDC.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921     ; [.9DDC.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F922     ; [.CC22.0020.0002.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
+F946      ; [.A133.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924     ; [.BE7F.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925     ; [.81E7.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F      ; [.8E7A.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA      ; [.D00D.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B      ; [.A10A.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16      ; [.CF5B.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0      ; [.CF5B.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7      ; [.A3AA.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928     ; [.B86C.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961      ; [.A5E2.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB      ; [.A5E2.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929     ; [.BC50.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B     ; [.CA9E.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD      ; [.A410.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917      ; [.A66F.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4      ; [.A226.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC      ; [.A465.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A      ; [.D199.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E     ; [.89CF.0020.0002.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F     ; [.C94D.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE      ; [.C813.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1      ; [.CD92.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930     ; [.CD92.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931     ; [.B84D.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994      ; [.A303.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF      ; [.A3CF.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932     ; [.B0BA.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA2      ; [.8884.0020.0002.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F934     ; [.B309.0020.0002.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
+FAA3      ; [.9628.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936     ; [.CB3F.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD      ; [.A463.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976      ; [.8DA7.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962      ; [.C6B3.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938     ; [.C6B3.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5      ; [.A26F.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A     ; [.C98A.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4      ; [.92C4.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5      ; [.BD3A.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1      ; [.A369.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E      ; [.A0B0.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17      ; [.C6A9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6      ; [.C6A9.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7      ; [.B546.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933      ; [.A533.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8      ; [.CE08.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940     ; [.CE08.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D      ; [.B53E.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945     ; [.CD43.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946     ; [.CD44.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947     ; [.CD44.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA      ; [.CD35.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9      ; [.9D8B.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948     ; [.9D8B.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A     ; [.860C.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D      ; [.AFD8.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E     ; [.C1C6.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE      ; [.A467.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B      ; [.A586.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F     ; [.A586.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B      ; [.81C0.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947      ; [.A1A3.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB      ; [.BA14.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950     ; [.BA14.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964      ; [.ABDF.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985      ; [.A29F.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18      ; [.A21D.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C      ; [.B4AC.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E      ; [.AE35.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D      ; [.CE3D.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F      ; [.C8F6.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50      ; [.D153.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953     ; [.D153.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51      ; [.CFAD.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19      ; [.B4F3.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A      ; [.C062.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C      ; [.A580.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52      ; [.97D4.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53      ; [.CD54.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B      ; [.900A.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956     ; [.900A.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6      ; [.A22F.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995      ; [.AA91.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957     ; [.B64A.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956      ; [.A1CB.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54      ; [.9267.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959     ; [.9267.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A     ; [.98E8.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B     ; [.BD69.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55      ; [.BAFD.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC      ; [.BA57.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7      ; [.A23B.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F     ; [.AD6B.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8      ; [.A265.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56      ; [.9B51.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD      ; [.9B51.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962     ; [.CFF3.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963     ; [.CF80.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6      ; [.A2F7.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944      ; [.A4D9.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+FAAE      ; [.A1B4.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9      ; [.A266.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D      ; [.9C0E.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966     ; [.81EF.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03      ; [.B929.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969     ; [.B36D.0020.0002.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B      ; [.A335.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968     ; [.9A87.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A     ; [.98C4.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF      ; [.AB29.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A      ; [.B844.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F      ; [.A1B7.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF      ; [.B94E.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C     ; [.8211.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D      ; [.A5E8.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957      ; [.A432.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E     ; [.D0A7.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996      ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57      ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0      ; [.A31B.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F     ; [.D113.0020.0002.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58      ; [.9BE4.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950      ; [.A5DC.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59      ; [.8E69.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970     ; [.B38F.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1      ; [.AD85.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A      ; [.B657.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6      ; [.A1FD.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976     ; [.85DC.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F      ; [.A64E.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978     ; [.C504.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF      ; [.A422.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E      ; [.C975.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979     ; [.80A2.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934      ; [.A149.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B      ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2      ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A     ; [.CD23.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0      ; [.A424.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D     ; [.AD69.0020.0002.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997      ; [.A2F1.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F     ; [.88C7.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945      ; [.A4DA.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953      ; [.A167.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6     ; [.A9B7.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982     ; [.C9A3.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983     ; [.8934.0020.0002.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985     ; [.ACD1.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926      ; [.A078.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6      ; [.A3D4.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C      ; [.8772.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893     ; [.C928.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B     ; [.C928.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C     ; [.BF1A.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+FA6D      ; [.92D4.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C      ; [.A327.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D      ; [.84B9.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E      ; [.84B9.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990     ; [.C99E.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F     ; [.AE85.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991     ; [.CDDD.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993     ; [.960B.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994     ; [.8E93.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995     ; [.C39B.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974      ; [.B328.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998     ; [.B328.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996     ; [.9F4F.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999     ; [.8519.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C     ; [.BDDE.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE      ; [.84F7.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3      ; [.96AF.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0     ; [.AD7B.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A     ; [.B27F.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B     ; [.9B40.0020.0002.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D     ; [.A713.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E      ; [.A57A.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1     ; [.9CF4.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2     ; [.9E06.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3     ; [.845F.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E     ; [.8B10.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4      ; [.9614.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958      ; [.A426.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918      ; [.A673.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E      ; [.C5A8.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F      ; [.CD36.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F     ; [.CD36.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999      ; [.A2D9.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8     ; [.AD86.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9     ; [.9BB8.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2      ; [.A37C.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA     ; [.8966.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC     ; [.B30B.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923      ; [.A0C7.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0      ; [.A3FB.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935      ; [.A53C.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20      ; [.B110.0020.0002.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F      ; [.A0D4.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910      ; [.A656.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3     ; [.AB6D.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936      ; [.A555.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4     ; [.A555.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5     ; [.9FD0.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6     ; [.BF2F.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B8     ; [.AEF3.0020.0002.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7     ; [.86AD.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA     ; [.AD87.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9     ; [.CA2E.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC     ; [.8BD5.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD     ; [.CF66.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5      ; [.CACA.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB     ; [.CACA.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE     ; [.88A9.0020.0002.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911      ; [.A64D.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0     ; [.9359.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1     ; [.C072.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927      ; [.A07D.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08      ; [.C1BA.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C3     ; [.D03A.0020.0002.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4     ; [.C5D3.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0      ; [.A39F.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7      ; [.A229.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6     ; [.A468.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7     ; [.B6C1.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8      ; [.A2C4.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912      ; [.A661.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9     ; [.C444.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60      ; [.94E1.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6      ; [.AFA2.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924      ; [.A0CC.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7      ; [.907C.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A      ; [.99FE.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61      ; [.B5D4.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8      ; [.B5D4.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF     ; [.8692.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F      ; [.B6D2.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1      ; [.B6D2.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9      ; [.8BAD.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB      ; [.B08C.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D      ; [.A34C.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941      ; [.A63B.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE      ; [.C9F2.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0     ; [.C9F2.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22      ; [.CF69.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA      ; [.CF69.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D      ; [.AB81.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD      ; [.AB81.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62      ; [.C5BB.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC      ; [.C5BB.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63      ; [.9BBE.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF      ; [.9BBE.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC      ; [.B608.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A      ; [.8C98.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0      ; [.8304.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1     ; [.8304.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900      ; [.AE8C.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2     ; [.B59F.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4     ; [.92E0.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5     ; [.827C.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948      ; [.A588.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903      ; [.9963.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64      ; [.835E.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65      ; [.CC04.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1      ; [.CC04.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6     ; [.90FE.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7     ; [.AE8D.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB     ; [.99CD.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA     ; [.80E7.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937      ; [.A589.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC     ; [.AD12.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902      ; [.85ED.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE     ; [.B25D.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998      ; [.AAA2.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7      ; [.A632.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2      ; [.B644.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF     ; [.B644.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07      ; [.901F.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D      ; [.A2B5.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D     ; [.8885.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971      ; [.8616.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66      ; [.8857.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+F99A      ; [.A2CF.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25      ; [.C6BC.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67      ; [.C6BC.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3      ; [.86DA.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3      ; [.A364.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913      ; [.A657.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2     ; [.AE81.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C      ; [.A107.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E      ; [.A108.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3     ; [.AD74.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26      ; [.8C50.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4     ; [.D09D.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6     ; [.85D5.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919      ; [.A159.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4      ; [.B778.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7      ; [.A232.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9      ; [.A21E.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E      ; [.A34A.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A      ; [.9B96.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1      ; [.A42E.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7     ; [.83E8.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5      ; [.C1CA.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA     ; [.8395.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8     ; [.C2BB.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9     ; [.961F.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F      ; [.A59D.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B      ; [.A31F.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB     ; [.AFA4.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC     ; [.CB58.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE     ; [.9E42.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986      ; [.A5BD.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0     ; [.B3FB.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6      ; [.B2FA.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951      ; [.A518.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09      ; [.9A78.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959      ; [.A418.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3      ; [.A574.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6      ; [.CF90.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC      ; [.A4BE.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1      ; [.A3C7.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F      ; [.A288.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8      ; [.A28E.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3     ; [.AEFD.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA      ; [.A206.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68      ; [.A9EE.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7      ; [.A9EE.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2      ; [.A430.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949      ; [.A17E.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5     ; [.CB01.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938      ; [.A5AF.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3      ; [.A448.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C      ; [.9C4E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8      ; [.9C4E.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FAC9      ; [.8121.0020.0002.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA     ; [.82B7.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69      ; [.C075.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA      ; [.C075.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+FACB      ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE     ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF     ; [.8D88.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4      ; [.A451.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00     ; [.AD6C.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A      ; [.AD55.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC      ; [.AD55.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0      ; [.A1BF.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02     ; [.9806.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A      ; [.8E89.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B      ; [.B734.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C      ; [.92D6.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04     ; [.8DCB.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05     ; [.CACE.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06     ; [.8195.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A      ; [.A67A.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07     ; [.BB6B.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987      ; [.A21A.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD      ; [.CD7E.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A     ; [.CD7E.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939      ; [.A55A.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B     ; [.990A.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2      ; [.A3DE.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C     ; [.99A3.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F     ; [.ACDC.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D      ; [.94EB.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A      ; [.A5B3.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920      ; [.A60F.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940      ; [.A57C.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988      ; [.A2A1.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3      ; [.A3DF.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15     ; [.A687.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989      ; [.A1FA.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17     ; [.CE4C.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18     ; [.A86D.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA19     ; [.CE04.0020.0002.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FA1A     ; [.A84E.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B     ; [.8F2F.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C     ; [.8237.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8      ; [.8DD6.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4      ; [.A4C6.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9      ; [.AC0A.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907      ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908      ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE      ; [.9336.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_pin.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,212 +1,1589 @@
 use Unicode::Collate::CJK::Stroke;
 +{
+   locale_version => 0.93,
    overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke,
-   entry => <<'ENTRY', # for DUCET v6.0.0
-0101      ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0061 0304 ; [.15A3.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
-0100      ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-0041 0304 ; [.15A3.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
-00E1      ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0301 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-0061 0341 ; [.15A3.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
-00C1      ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0301 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-0041 0341 ; [.15A3.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
-01CE      ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-0061 030C ; [.15A3.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
-01CD      ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-0041 030C ; [.15A3.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
-00E0      ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0300 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-0061 0340 ; [.15A3.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
-00C0      ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0300 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0041 0340 ; [.15A3.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
-0113      ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0065 0304 ; [.15FF.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
-0112      ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-0045 0304 ; [.15FF.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
-00E9      ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0301 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-0065 0341 ; [.15FF.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
-00C9      ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0301 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-0045 0341 ; [.15FF.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
-011B      ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-0065 030C ; [.15FF.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
-011A      ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-0045 030C ; [.15FF.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
-00E8      ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0300 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-0065 0340 ; [.15FF.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
-00C8      ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0300 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-0045 0340 ; [.15FF.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
-00EA 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-00CA 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
-0065 0302 0304 ; [.15FF.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-0045 0302 0304 ; [.15FF.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
-1EBF      ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0301 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-0065 0302 0341 ; [.15FF.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
-1EBE      ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0301 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-0045 0302 0341 ; [.15FF.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
-00EA 0301 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00EA 0341 ; [.15FF.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00CA 0301 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
-00CA 0341 ; [.15FF.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
-00EA 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-00CA 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
-0065 0302 030C ; [.15FF.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-0045 0302 030C ; [.15FF.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
-1EC1      ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0300 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-0065 0302 0340 ; [.15FF.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
-1EC0      ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0300 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-0045 0302 0340 ; [.15FF.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
-00EA 0300 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00EA 0340 ; [.15FF.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00CA 0300 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
-00CA 0340 ; [.15FF.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
-00EA      ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-0065 0302 ; [.15FF.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
-00CA      ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-0045 0302 ; [.15FF.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-1EC5      ; [.15FF.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC4      ; [.15FF.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
-1EC3      ; [.15FF.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC2      ; [.15FF.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
-1EC7      ; [.15FF.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-1EC6      ; [.15FF.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
-012B      ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-0069 0304 ; [.1680.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
-012A      ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-0049 0304 ; [.1680.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
-00ED      ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0301 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-0069 0341 ; [.1680.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
-00CD      ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0301 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-0049 0341 ; [.1680.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
-01D0      ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-0069 030C ; [.1680.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
-01CF      ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-0049 030C ; [.1680.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
-00EC      ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0300 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-0069 0340 ; [.1680.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
-00CC      ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0300 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-0049 0340 ; [.1680.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
-006D 0304 ; [.16F4.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
-004D 0304 ; [.16F4.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
-1E3F      ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0301 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-006D 0341 ; [.16F4.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
-1E3E      ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0301 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-004D 0341 ; [.16F4.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
-006D 030C ; [.16F4.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
-004D 030C ; [.16F4.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
-006D 0300 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
-006D 0340 ; [.16F4.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
-004D 0300 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
-004D 0340 ; [.16F4.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
-006E 0304 ; [.1702.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
-004E 0304 ; [.1702.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
-0144      ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0301 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-006E 0341 ; [.1702.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
-0143      ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0301 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-004E 0341 ; [.1702.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
-0148      ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-006E 030C ; [.1702.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
-0147      ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-004E 030C ; [.1702.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
-01F9      ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0300 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-006E 0340 ; [.1702.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
-01F8      ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0300 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-004E 0340 ; [.1702.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
-014D      ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-006F 0304 ; [.1724.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
-014C      ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-004F 0304 ; [.1724.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
-00F3      ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0301 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-006F 0341 ; [.1724.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
-00D3      ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0301 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-004F 0341 ; [.1724.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
-01D2      ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-006F 030C ; [.1724.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
-01D1      ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-004F 030C ; [.1724.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
-00F2      ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0300 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-006F 0340 ; [.1724.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
-00D2      ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0300 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-004F 0340 ; [.1724.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
-016B      ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-0075 0304 ; [.17E9.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
-016A      ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-0055 0304 ; [.17E9.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
-00FA      ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0301 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-0075 0341 ; [.17E9.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
-00DA      ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0301 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-0055 0341 ; [.17E9.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
-01D4      ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-0075 030C ; [.17E9.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
-01D3      ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-0055 030C ; [.17E9.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
-00F9      ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0300 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-0075 0340 ; [.17E9.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
-00D9      ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0300 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-0055 0340 ; [.17E9.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
-01D6      ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-0075 0308 0304 ; [.17E9.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
-01D5      ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-0055 0308 0304 ; [.17E9.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
-00FC 0304 ; [.17E9.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
-00DC 0304 ; [.17E9.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
-01D8      ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0301 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-0075 0308 0341 ; [.17E9.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
-01D7      ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0301 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-0055 0308 0341 ; [.17E9.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
-00FC 0301 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00FC 0341 ; [.17E9.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-00DC 0301 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
-00DC 0341 ; [.17E9.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
-01DA      ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-0075 0308 030C ; [.17E9.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
-01D9      ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-0055 0308 030C ; [.17E9.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
-00FC 030C ; [.17E9.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
-00DC 030C ; [.17E9.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
-01DC      ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0300 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-0075 0308 0340 ; [.17E9.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
-01DB      ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0300 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-0055 0308 0340 ; [.17E9.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
-00FC 0300 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00FC 0340 ; [.17E9.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00DC 0300 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
-00DC 0340 ; [.17E9.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
-00FC      ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-0075 0308 ; [.17E9.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
-00DC      ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
-0055 0308 ; [.17E9.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+   entry => <<'ENTRY', # for DUCET v6.2.0
+0101      ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0061 0304 ; [.15EF.001C.0002.0101] # LATIN SMALL LETTER A WITH MACRON
+0100      ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+0041 0304 ; [.15EF.001C.0008.0100] # LATIN CAPITAL LETTER A WITH MACRON
+00E1      ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0301 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+0061 0341 ; [.15EF.001D.0002.00E1] # LATIN SMALL LETTER A WITH ACUTE
+00C1      ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0301 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+0041 0341 ; [.15EF.001D.0008.00C1] # LATIN CAPITAL LETTER A WITH ACUTE
+01CE      ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+0061 030C ; [.15EF.001E.0002.01CE] # LATIN SMALL LETTER A WITH CARON
+01CD      ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+0041 030C ; [.15EF.001E.0008.01CD] # LATIN CAPITAL LETTER A WITH CARON
+00E0      ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0300 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+0061 0340 ; [.15EF.001F.0002.00E0] # LATIN SMALL LETTER A WITH GRAVE
+00C0      ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0300 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0041 0340 ; [.15EF.001F.0008.00C0] # LATIN CAPITAL LETTER A WITH GRAVE
+0113      ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0065 0304 ; [.164C.001C.0002.0113] # LATIN SMALL LETTER E WITH MACRON
+0112      ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+0045 0304 ; [.164C.001C.0008.0112] # LATIN CAPITAL LETTER E WITH MACRON
+00E9      ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0301 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+0065 0341 ; [.164C.001D.0002.00E9] # LATIN SMALL LETTER E WITH ACUTE
+00C9      ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0301 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+0045 0341 ; [.164C.001D.0008.00C9] # LATIN CAPITAL LETTER E WITH ACUTE
+011B      ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+0065 030C ; [.164C.001E.0002.011B] # LATIN SMALL LETTER E WITH CARON
+011A      ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+0045 030C ; [.164C.001E.0008.011A] # LATIN CAPITAL LETTER E WITH CARON
+00E8      ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0300 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+0065 0340 ; [.164C.001F.0002.00E8] # LATIN SMALL LETTER E WITH GRAVE
+00C8      ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0300 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+0045 0340 ; [.164C.001F.0008.00C8] # LATIN CAPITAL LETTER E WITH GRAVE
+00EA 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+00CA 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING MACRON>
+0065 0302 0304 ; [.164C.0021.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+0045 0302 0304 ; [.164C.0021.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING MACRON>
+1EBF      ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0301 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+0065 0302 0341 ; [.164C.0022.0002.1EBF] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE      ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0301 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+0045 0302 0341 ; [.164C.0022.0008.1EBE] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+00EA 0301 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00EA 0341 ; [.164C.0022.0002.1EBF] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00CA 0301 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE ACCENT>
+00CA 0341 ; [.164C.0022.0008.1EBE] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING ACUTE TONE MARK>
+00EA 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+00CA 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING CARON>
+0065 0302 030C ; [.164C.0023.0002.00EA] # <LATIN SMALL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+0045 0302 030C ; [.164C.0023.0008.00CA] # <LATIN CAPITAL LETTER E, COMBINING CIRCUMFLEX ACCENT, COMBINING CARON>
+1EC1      ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0300 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+0065 0302 0340 ; [.164C.0024.0002.1EC1] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0      ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0300 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+0045 0302 0340 ; [.164C.0024.0008.1EC0] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+00EA 0300 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00EA 0340 ; [.164C.0024.0002.1EC1] # <LATIN SMALL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00CA 0300 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE ACCENT>
+00CA 0340 ; [.164C.0024.0008.1EC0] # <LATIN CAPITAL LETTER E WITH CIRCUMFLEX, COMBINING GRAVE TONE MARK>
+00EA      ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+0065 0302 ; [.164C.0025.0002.00EA] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA      ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0045 0302 ; [.164C.0025.0008.00CA] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EC5      ; [.164C.0025.0002.00EA][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4      ; [.164C.0025.0008.00CA][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3      ; [.164C.0025.0002.00EA][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2      ; [.164C.0025.0008.00CA][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC7      ; [.164C.0025.0002.00EA][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6      ; [.164C.0025.0008.00CA][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+012B      ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+0069 0304 ; [.16CD.001C.0002.012B] # LATIN SMALL LETTER I WITH MACRON
+012A      ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+0049 0304 ; [.16CD.001C.0008.012A] # LATIN CAPITAL LETTER I WITH MACRON
+00ED      ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0301 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+0069 0341 ; [.16CD.001D.0002.00ED] # LATIN SMALL LETTER I WITH ACUTE
+00CD      ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0301 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+0049 0341 ; [.16CD.001D.0008.00CD] # LATIN CAPITAL LETTER I WITH ACUTE
+01D0      ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+0069 030C ; [.16CD.001E.0002.01D0] # LATIN SMALL LETTER I WITH CARON
+01CF      ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+0049 030C ; [.16CD.001E.0008.01CF] # LATIN CAPITAL LETTER I WITH CARON
+00EC      ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0300 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+0069 0340 ; [.16CD.001F.0002.00EC] # LATIN SMALL LETTER I WITH GRAVE
+00CC      ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0300 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+0049 0340 ; [.16CD.001F.0008.00CC] # LATIN CAPITAL LETTER I WITH GRAVE
+006D 0304 ; [.1741.001C.0002.006D] # <LATIN SMALL LETTER M, COMBINING MACRON>
+004D 0304 ; [.1741.001C.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING MACRON>
+1E3F      ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0301 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+006D 0341 ; [.1741.001D.0002.1E3F] # LATIN SMALL LETTER M WITH ACUTE
+1E3E      ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0301 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+004D 0341 ; [.1741.001D.0008.1E3E] # LATIN CAPITAL LETTER M WITH ACUTE
+006D 030C ; [.1741.001E.0002.006D] # <LATIN SMALL LETTER M, COMBINING CARON>
+004D 030C ; [.1741.001E.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING CARON>
+006D 0300 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE ACCENT>
+006D 0340 ; [.1741.001F.0002.006D] # <LATIN SMALL LETTER M, COMBINING GRAVE TONE MARK>
+004D 0300 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE ACCENT>
+004D 0340 ; [.1741.001F.0008.004D] # <LATIN CAPITAL LETTER M, COMBINING GRAVE TONE MARK>
+006E 0304 ; [.174F.001C.0002.006E] # <LATIN SMALL LETTER N, COMBINING MACRON>
+004E 0304 ; [.174F.001C.0008.004E] # <LATIN CAPITAL LETTER N, COMBINING MACRON>
+0144      ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0301 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+006E 0341 ; [.174F.001D.0002.0144] # LATIN SMALL LETTER N WITH ACUTE
+0143      ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0301 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+004E 0341 ; [.174F.001D.0008.0143] # LATIN CAPITAL LETTER N WITH ACUTE
+0148      ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+006E 030C ; [.174F.001E.0002.0148] # LATIN SMALL LETTER N WITH CARON
+0147      ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+004E 030C ; [.174F.001E.0008.0147] # LATIN CAPITAL LETTER N WITH CARON
+01F9      ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0300 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+006E 0340 ; [.174F.001F.0002.01F9] # LATIN SMALL LETTER N WITH GRAVE
+01F8      ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0300 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+004E 0340 ; [.174F.001F.0008.01F8] # LATIN CAPITAL LETTER N WITH GRAVE
+014D      ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+006F 0304 ; [.1771.001C.0002.014D] # LATIN SMALL LETTER O WITH MACRON
+014C      ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+004F 0304 ; [.1771.001C.0008.014C] # LATIN CAPITAL LETTER O WITH MACRON
+00F3      ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0301 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+006F 0341 ; [.1771.001D.0002.00F3] # LATIN SMALL LETTER O WITH ACUTE
+00D3      ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0301 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+004F 0341 ; [.1771.001D.0008.00D3] # LATIN CAPITAL LETTER O WITH ACUTE
+01D2      ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+006F 030C ; [.1771.001E.0002.01D2] # LATIN SMALL LETTER O WITH CARON
+01D1      ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+004F 030C ; [.1771.001E.0008.01D1] # LATIN CAPITAL LETTER O WITH CARON
+00F2      ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0300 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+006F 0340 ; [.1771.001F.0002.00F2] # LATIN SMALL LETTER O WITH GRAVE
+00D2      ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0300 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+004F 0340 ; [.1771.001F.0008.00D2] # LATIN CAPITAL LETTER O WITH GRAVE
+016B      ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+0075 0304 ; [.1836.001C.0002.016B] # LATIN SMALL LETTER U WITH MACRON
+016A      ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+0055 0304 ; [.1836.001C.0008.016A] # LATIN CAPITAL LETTER U WITH MACRON
+00FA      ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0301 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+0075 0341 ; [.1836.001D.0002.00FA] # LATIN SMALL LETTER U WITH ACUTE
+00DA      ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0301 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+0055 0341 ; [.1836.001D.0008.00DA] # LATIN CAPITAL LETTER U WITH ACUTE
+01D4      ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+0075 030C ; [.1836.001E.0002.01D4] # LATIN SMALL LETTER U WITH CARON
+01D3      ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+0055 030C ; [.1836.001E.0008.01D3] # LATIN CAPITAL LETTER U WITH CARON
+00F9      ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0300 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+0075 0340 ; [.1836.001F.0002.00F9] # LATIN SMALL LETTER U WITH GRAVE
+00D9      ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0300 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+0055 0340 ; [.1836.001F.0008.00D9] # LATIN CAPITAL LETTER U WITH GRAVE
+01D6      ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+0075 0308 0304 ; [.1836.0021.0002.01D6] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5      ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0055 0308 0304 ; [.1836.0021.0008.01D5] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+00FC 0304 ; [.1836.0021.0002.01D6] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING MACRON>
+00DC 0304 ; [.1836.0021.0008.01D5] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING MACRON>
+01D8      ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0301 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+0075 0308 0341 ; [.1836.0022.0002.01D8] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7      ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0301 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+0055 0308 0341 ; [.1836.0022.0008.01D7] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+00FC 0301 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00FC 0341 ; [.1836.0022.0002.01D8] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+00DC 0301 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE ACCENT>
+00DC 0341 ; [.1836.0022.0008.01D7] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING ACUTE TONE MARK>
+01DA      ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+0075 0308 030C ; [.1836.0023.0002.01DA] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9      ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+0055 0308 030C ; [.1836.0023.0008.01D9] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+00FC 030C ; [.1836.0023.0002.01DA] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING CARON>
+00DC 030C ; [.1836.0023.0008.01D9] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING CARON>
+01DC      ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0300 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+0075 0308 0340 ; [.1836.0024.0002.01DC] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB      ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0300 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+0055 0308 0340 ; [.1836.0024.0008.01DB] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+00FC 0300 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00FC 0340 ; [.1836.0024.0002.01DC] # <LATIN SMALL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00DC 0300 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE ACCENT>
+00DC 0340 ; [.1836.0024.0008.01DB] # <LATIN CAPITAL LETTER U WITH DIAERESIS, COMBINING GRAVE TONE MARK>
+00FC      ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+0075 0308 ; [.1836.0025.0002.00FC] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC      ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+0055 0308 ; [.1836.0025.0008.00DC] # LATIN CAPITAL LETTER U WITH DIAERESIS
+FDD0 2801 ; [.8000.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1>
+2E84      ; [.8007.0020.0002.2E84] # CJK RADICAL SECOND THREE
+3006      ; [.8012.0020.0002.3006] # IDEOGRAPHIC CLOSING MARK
+3007      ; [.8013.0020.0002.3007] # IDEOGRAPHIC NUMBER ZERO
+3021      ; [.8014.0020.0002.3021] # HANGZHOU NUMERAL ONE
+3025      ; [.8015.0020.0002.3025] # HANGZHOU NUMERAL FIVE
+303B      ; [.8016.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
+FDD0 2802 ; [.8017.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-2>
+2E86      ; [.8031.0020.0002.2E86] # CJK RADICAL BOX
+2E87      ; [.8035.0020.0002.2E87] # CJK RADICAL TABLE
+2E88      ; [.8038.0020.0002.2E88] # CJK RADICAL KNIFE ONE
+2E8A      ; [.8042.0020.0002.2E8A] # CJK RADICAL DIVINATION
+2E80      ; [.8047.0020.0002.2E80] # CJK RADICAL REPEAT
+2ECF      ; [.804B.0020.0002.2ECF] # CJK RADICAL CITY
+2ED6      ; [.804C.0020.0002.2ED6] # CJK RADICAL MOUND TWO
+3022      ; [.804E.0020.0002.3022] # HANGZHOU NUMERAL TWO
+3024      ; [.804F.0020.0002.3024] # HANGZHOU NUMERAL FOUR
+3026      ; [.8050.0020.0002.3026] # HANGZHOU NUMERAL SIX
+FDD0 2803 ; [.8051.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-12>
+2E8C      ; [.808F.0020.0002.2E8C] # CJK RADICAL SMALL ONE
+2E8D      ; [.8090.0020.0002.2E8D] # CJK RADICAL SMALL TWO
+2E95      ; [.80A8.0020.0002.2E95] # CJK RADICAL SNOUT TWO
+2EBE      ; [.80B3.0020.0002.2EBE] # CJK RADICAL GRASS ONE
+2ECC      ; [.80B5.0020.0002.2ECC] # CJK RADICAL SIMPLIFIED WALK
+3005      ; [.80BB.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
+3023      ; [.80BC.0020.0002.3023] # HANGZHOU NUMERAL THREE
+3027      ; [.80BD.0020.0002.3027] # HANGZHOU NUMERAL SEVEN
+FDD0 2804 ; [.80BE.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-3>
+2E9C      ; [.815B.0020.0002.2E9C] # CJK RADICAL SUN
+2E9D      ; [.815E.0020.0002.2E9D] # CJK RADICAL MOON
+2EA5      ; [.8170.0020.0002.2EA5] # CJK RADICAL PAW TWO
+2EA7      ; [.817A.0020.0002.2EA7] # CJK RADICAL COW
+2EBC      ; [.8185.0020.0002.2EBC] # CJK RADICAL MEAT
+2ECD      ; [.818E.0020.0002.2ECD] # CJK RADICAL WALK ONE
+3028      ; [.8193.0020.0002.3028] # HANGZHOU NUMERAL EIGHT
+3029      ; [.8194.0020.0002.3029] # HANGZHOU NUMERAL NINE
+FDD0 2805 ; [.8195.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-13>
+2EAA      ; [.82B3.0020.0002.2EAA] # CJK RADICAL BOLT OF CLOTH
+2EAC      ; [.82BF.0020.0002.2EAC] # CJK RADICAL SPIRIT ONE
+FDD0 2806 ; [.82E7.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-23>
+2EAE      ; [.84B2.0020.0002.2EAE] # CJK RADICAL BAMBOO
+2EB6      ; [.84C6.0020.0002.2EB6] # CJK RADICAL SHEEP
+FDD0 2807 ; [.8529.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-123>
+2EC6      ; [.887A.0020.0002.2EC6] # CJK RADICAL SIMPLIFIED HORN
+2ECA      ; [.889A.0020.0002.2ECA] # CJK RADICAL FOOT
+FDD0 2808 ; [.88FA.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-4>
+FA24      ; [.8E20.0020.0002.FA24] # CJK COMPATIBILITY IDEOGRAPH-FA24
+2ED7      ; [.8E5B.0020.0002.2ED7] # CJK RADICAL RAIN
+FDD0 2809 ; [.8E7C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-14>
+2EDE      ; [.94AC.0020.0002.2EDE] # CJK RADICAL EAT TWO
+2EE3      ; [.94C3.0020.0002.2EE3] # CJK RADICAL BONE
+FDD0 280A ; [.94CA.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-24>
+FA0F      ; [.95F1.0020.0002.FA0F] # CJK COMPATIBILITY IDEOGRAPH-FA0F
+FDD0 280B ; [.9C16.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-124>
+FA21      ; [.A279.0020.0002.FA21] # CJK COMPATIBILITY IDEOGRAPH-FA21
+FA23      ; [.A312.0020.0002.FA23] # CJK COMPATIBILITY IDEOGRAPH-FA23
+FDD0 280C ; [.A41D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-34>
+FA11      ; [.A5A3.0020.0002.FA11] # CJK COMPATIBILITY IDEOGRAPH-FA11
+FDD0 280D ; [.AC7F.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-134>
+FA0E      ; [.ACD0.0020.0002.FA0E] # CJK COMPATIBILITY IDEOGRAPH-FA0E
+FA13      ; [.AEF8.0020.0002.FA13] # CJK COMPATIBILITY IDEOGRAPH-FA13
+FA29      ; [.B3B4.0020.0002.FA29] # CJK COMPATIBILITY IDEOGRAPH-FA29
+FDD0 280E ; [.B44A.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-234>
+FA14      ; [.B690.0020.0002.FA14] # CJK COMPATIBILITY IDEOGRAPH-FA14
+FDD0 280F ; [.BB5A.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1234>
+FA27      ; [.C173.0020.0002.FA27] # CJK COMPATIBILITY IDEOGRAPH-FA27
+FDD0 2810 ; [.C276.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-5>
+FA28      ; [.C748.0020.0002.FA28] # CJK COMPATIBILITY IDEOGRAPH-FA28
+FDD0 2811 ; [.C860.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-15>
+FDD0 2812 ; [.CD3D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-25>
+FDD0 2813 ; [.D0E6.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-125>
+FA1F      ; [.D23D.0020.0002.FA1F] # CJK COMPATIBILITY IDEOGRAPH-FA1F
+FDD0 2814 ; [.D41B.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-35>
+FDD0 2815 ; [.D68C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-135>
+FDD0 2816 ; [.D846.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-235>
+FDD0 2817 ; [.D993.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1235>
+FDD0 2818 ; [.DA95.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-45>
+FDD0 2819 ; [.DB3D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-145>
+FDD0 281A ; [.DBB4.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-245>
+FDD0 281B ; [.DBF1.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1245>
+FDD0 281C ; [.DC29.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-345>
+FDD0 281D ; [.DC4D.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1345>
+FDD0 281E ; [.DC5C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-2345>
+FDD0 281F ; [.DC6C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-12345>
+FDD0 2820 ; [.DC71.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-6>
+FDD0 2821 ; [.DC76.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-16>
+FDD0 2823 ; [.DC7C.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-126>
+FDD0 2824 ; [.DC7E.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-36>
+FDD0 2827 ; [.DC80.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-1236>
+FDD0 2830 ; [.DC82.0020.0002.FDD0] # <noncharacter-FDD0, BRAILLE PATTERN DOTS-56>
+3220      ; [*02FB.0020.0004.3220][.8001.0020.0004.3220][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
+3226      ; [*02FB.0020.0004.3226][.801A.0020.0004.3226][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
+3222      ; [*02FB.0020.0004.3222][.8054.0020.0004.3222][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
+3228      ; [*02FB.0020.0004.3228][.8027.0020.0004.3228][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
+3221      ; [*02FB.0020.0004.3221][.802A.0020.0004.3221][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
+3224      ; [*02FB.0020.0004.3224][.80D7.0020.0004.3224][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
+3239      ; [*02FB.0020.0004.3239][.81C2.0020.0004.3239][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
+323D      ; [*02FB.0020.0004.323D][.831C.0020.0004.323D][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+3241      ; [*02FB.0020.0004.3241][.832C.0020.0004.3241][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
+3227      ; [*02FB.0020.0004.3227][.8030.0020.0004.3227][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
+3225      ; [*02FB.0020.0004.3225][.80F5.0020.0004.3225][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
+3238      ; [*02FB.0020.0004.3238][.85A8.0020.0004.3238][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
+3229      ; [*02FB.0020.0004.3229][.8041.0020.0004.3229][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
+323F      ; [*02FB.0020.0004.323F][.899D.0020.0004.323F][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
+3234      ; [*02FB.0020.0004.3234][.839D.0020.0004.3234][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
+323A      ; [*02FB.0020.0004.323A][.89D5.0020.0004.323A][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
+3223      ; [*02FB.0020.0004.3223][.822D.0020.0004.3223][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
+322F      ; [*02FB.0020.0004.322F][.8081.0020.0004.322F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
+323B      ; [*02FB.0020.0004.323B][.8A8D.0020.0004.323B][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
+3230      ; [*02FB.0020.0004.3230][.815C.0020.0004.3230][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
+322A      ; [*02FB.0020.0004.322A][.815F.0020.0004.322A][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
+3232      ; [*02FB.0020.0004.3232][.845A.0020.0004.3232][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
+322D      ; [*02FB.0020.0004.322D][.8160.0020.0004.322D][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
+3231      ; [*02FB.0020.0004.3231][.979F.0020.0004.3231][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
+322C      ; [*02FB.0020.0004.322C][.816D.0020.0004.322C][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
+322B      ; [*02FB.0020.0004.322B][.816E.0020.0004.322B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
+3235      ; [*02FB.0020.0004.3235][.9895.0020.0004.3235][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
+323C      ; [*02FB.0020.0004.323C][.B79A.0020.0004.323C][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
+3233      ; [*02FB.0020.0004.3233][.8D2E.0020.0004.3233][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
+3237      ; [*02FB.0020.0004.3237][.9970.0020.0004.3237][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3240      ; [*02FB.0020.0004.3240][.A100.0020.0004.3240][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
+3242      ; [*02FB.0020.0004.3242][.84D8.0020.0004.3242][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
+3243      ; [*02FB.0020.0004.3243][.84D9.0020.0004.3243][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
+3236      ; [*02FB.0020.0004.3236][.9B3B.0020.0004.3236][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
+323E      ; [*02FB.0020.0004.323E][.B2A5.0020.0004.323E][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
+322E      ; [*02FB.0020.0004.322E][.8E33.0020.0004.322E][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
+3358      ; [.15E5.0020.0004.3358][.9216.0020.001F.3358] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+33E9      ; [.15E6.0020.0004.33E9][.15E5.0020.0004.33E9][.815C.0020.001F.33E9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9      ; [.15E6.0020.0004.32C9][.15E5.0020.0004.32C9][.815F.0020.001F.32C9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362      ; [.15E6.0020.0004.3362][.15E5.0020.0004.3362][.9216.0020.001F.3362] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+33EA      ; [.15E6.0020.0004.33EA][.15E6.0020.0004.33EA][.815C.0020.001F.33EA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA      ; [.15E6.0020.0004.32CA][.15E6.0020.0004.32CA][.815F.0020.001F.32CA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363      ; [.15E6.0020.0004.3363][.15E6.0020.0004.3363][.9216.0020.001F.3363] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+33EB      ; [.15E6.0020.0004.33EB][.15E7.0020.0004.33EB][.815C.0020.001F.33EB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB      ; [.15E6.0020.0004.32CB][.15E7.0020.0004.32CB][.815F.0020.001F.32CB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364      ; [.15E6.0020.0004.3364][.15E7.0020.0004.3364][.9216.0020.001F.3364] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+33EC      ; [.15E6.0020.0004.33EC][.15E8.0020.0004.33EC][.815C.0020.001F.33EC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365      ; [.15E6.0020.0004.3365][.15E8.0020.0004.3365][.9216.0020.001F.3365] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+33ED      ; [.15E6.0020.0004.33ED][.15E9.0020.0004.33ED][.815C.0020.001F.33ED] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366      ; [.15E6.0020.0004.3366][.15E9.0020.0004.3366][.9216.0020.001F.3366] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+33EE      ; [.15E6.0020.0004.33EE][.15EA.0020.0004.33EE][.815C.0020.001F.33EE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367      ; [.15E6.0020.0004.3367][.15EA.0020.0004.3367][.9216.0020.001F.3367] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+33EF      ; [.15E6.0020.0004.33EF][.15EB.0020.0004.33EF][.815C.0020.001F.33EF] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368      ; [.15E6.0020.0004.3368][.15EB.0020.0004.3368][.9216.0020.001F.3368] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+33F0      ; [.15E6.0020.0004.33F0][.15EC.0020.0004.33F0][.815C.0020.001F.33F0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369      ; [.15E6.0020.0004.3369][.15EC.0020.0004.3369][.9216.0020.001F.3369] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+33F1      ; [.15E6.0020.0004.33F1][.15ED.0020.0004.33F1][.815C.0020.001F.33F1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A      ; [.15E6.0020.0004.336A][.15ED.0020.0004.336A][.9216.0020.001F.336A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+33F2      ; [.15E6.0020.0004.33F2][.15EE.0020.0004.33F2][.815C.0020.001F.33F2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B      ; [.15E6.0020.0004.336B][.15EE.0020.0004.336B][.9216.0020.001F.336B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0      ; [.15E6.0020.0004.33E0][.815C.0020.001F.33E0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0      ; [.15E6.0020.0004.32C0][.815F.0020.001F.32C0] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359      ; [.15E6.0020.0004.3359][.9216.0020.001F.3359] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+33F3      ; [.15E7.0020.0004.33F3][.15E5.0020.0004.33F3][.815C.0020.001F.33F3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C      ; [.15E7.0020.0004.336C][.15E5.0020.0004.336C][.9216.0020.001F.336C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+33F4      ; [.15E7.0020.0004.33F4][.15E6.0020.0004.33F4][.815C.0020.001F.33F4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D      ; [.15E7.0020.0004.336D][.15E6.0020.0004.336D][.9216.0020.001F.336D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+33F5      ; [.15E7.0020.0004.33F5][.15E7.0020.0004.33F5][.815C.0020.001F.33F5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E      ; [.15E7.0020.0004.336E][.15E7.0020.0004.336E][.9216.0020.001F.336E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+33F6      ; [.15E7.0020.0004.33F6][.15E8.0020.0004.33F6][.815C.0020.001F.33F6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F      ; [.15E7.0020.0004.336F][.15E8.0020.0004.336F][.9216.0020.001F.336F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+33F7      ; [.15E7.0020.0004.33F7][.15E9.0020.0004.33F7][.815C.0020.001F.33F7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370      ; [.15E7.0020.0004.3370][.15E9.0020.0004.3370][.9216.0020.001F.3370] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+33F8      ; [.15E7.0020.0004.33F8][.15EA.0020.0004.33F8][.815C.0020.001F.33F8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+33F9      ; [.15E7.0020.0004.33F9][.15EB.0020.0004.33F9][.815C.0020.001F.33F9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+33FA      ; [.15E7.0020.0004.33FA][.15EC.0020.0004.33FA][.815C.0020.001F.33FA] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+33FB      ; [.15E7.0020.0004.33FB][.15ED.0020.0004.33FB][.815C.0020.001F.33FB] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+33FC      ; [.15E7.0020.0004.33FC][.15EE.0020.0004.33FC][.815C.0020.001F.33FC] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1      ; [.15E7.0020.0004.33E1][.815C.0020.001F.33E1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1      ; [.15E7.0020.0004.32C1][.815F.0020.001F.32C1] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A      ; [.15E7.0020.0004.335A][.9216.0020.001F.335A] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+33FD      ; [.15E8.0020.0004.33FD][.15E5.0020.0004.33FD][.815C.0020.001F.33FD] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+33FE      ; [.15E8.0020.0004.33FE][.15E6.0020.0004.33FE][.815C.0020.001F.33FE] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+33E2      ; [.15E8.0020.0004.33E2][.815C.0020.001F.33E2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2      ; [.15E8.0020.0004.32C2][.815F.0020.001F.32C2] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B      ; [.15E8.0020.0004.335B][.9216.0020.001F.335B] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+33E3      ; [.15E9.0020.0004.33E3][.815C.0020.001F.33E3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3      ; [.15E9.0020.0004.32C3][.815F.0020.001F.32C3] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C      ; [.15E9.0020.0004.335C][.9216.0020.001F.335C] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+33E4      ; [.15EA.0020.0004.33E4][.815C.0020.001F.33E4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4      ; [.15EA.0020.0004.32C4][.815F.0020.001F.32C4] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D      ; [.15EA.0020.0004.335D][.9216.0020.001F.335D] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+33E5      ; [.15EB.0020.0004.33E5][.815C.0020.001F.33E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5      ; [.15EB.0020.0004.32C5][.815F.0020.001F.32C5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E      ; [.15EB.0020.0004.335E][.9216.0020.001F.335E] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+33E6      ; [.15EC.0020.0004.33E6][.815C.0020.001F.33E6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6      ; [.15EC.0020.0004.32C6][.815F.0020.001F.32C6] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F      ; [.15EC.0020.0004.335F][.9216.0020.001F.335F] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+33E7      ; [.15ED.0020.0004.33E7][.815C.0020.001F.33E7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7      ; [.15ED.0020.0004.32C7][.815F.0020.001F.32C7] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360      ; [.15ED.0020.0004.3360][.9216.0020.001F.3360] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+33E8      ; [.15EE.0020.0004.33E8][.815C.0020.001F.33E8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8      ; [.15EE.0020.0004.32C8][.815F.0020.001F.32C8] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361      ; [.15EE.0020.0004.3361][.9216.0020.001F.3361] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+1F241     ; [*0359.0020.0004.1F241][.8054.0020.0004.1F241][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+1F242     ; [*0359.0020.0004.1F242][.802A.0020.0004.1F242][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+1F247     ; [*0359.0020.0004.1F247][.A465.0020.0004.1F247][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+1F243     ; [*0359.0020.0004.1F243][.83F0.0020.0004.1F243][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+1F245     ; [*0359.0020.0004.1F245][.8277.0020.0004.1F245][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F248     ; [*0359.0020.0004.1F248][.9EDA.0020.0004.1F248][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+1F240     ; [*0359.0020.0004.1F240][.8283.0020.0004.1F240][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+1F244     ; [*0359.0020.0004.1F244][.9216.0020.0004.1F244][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+1F246     ; [*0359.0020.0004.1F246][.A0BD.0020.0004.1F246][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+2F00      ; [.8001.0020.0004.2F00] # KANGXI RADICAL ONE
+3192      ; [.8001.0020.0014.3192] # IDEOGRAPHIC ANNOTATION ONE MARK
+3280      ; [.8001.0020.0006.3280] # CIRCLED IDEOGRAPH ONE
+1F229     ; [.8001.0020.001C.1F229] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C      ; [.8018.0020.0014.319C] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3286      ; [.801A.0020.0006.3286] # CIRCLED IDEOGRAPH SEVEN
+3194      ; [.8054.0020.0014.3194] # IDEOGRAPHIC ANNOTATION THREE MARK
+3282      ; [.8054.0020.0006.3282] # CIRCLED IDEOGRAPH THREE
+1F22A     ; [.8054.0020.001C.1F22A] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+3196      ; [.8055.0020.0014.3196] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A4      ; [.8055.0020.0006.32A4] # CIRCLED IDEOGRAPH HIGH
+3198      ; [.8056.0020.0014.3198] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+32A6      ; [.8056.0020.0006.32A6] # CIRCLED IDEOGRAPH LOW
+319B      ; [.819C.0020.0014.319B] # IDEOGRAPHIC ANNOTATION THIRD MARK
+2F01      ; [.8002.0020.0004.2F01] # KANGXI RADICAL LINE
+3197      ; [.80C6.0020.0014.3197] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+32A5      ; [.80C6.0020.0006.32A5] # CIRCLED IDEOGRAPH CENTRE
+1F22D     ; [.80C6.0020.001C.1F22D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+2F02      ; [.8003.0020.0004.2F02] # KANGXI RADICAL DOT
+2F03      ; [.8004.0020.0004.2F03] # KANGXI RADICAL SLASH
+2F04      ; [.8008.0020.0004.2F04] # KANGXI RADICAL SECOND
+319A      ; [.8008.0020.0014.319A] # IDEOGRAPHIC ANNOTATION SECOND MARK
+3288      ; [.8027.0020.0006.3288] # CIRCLED IDEOGRAPH NINE
+2F05      ; [.8010.0020.0004.2F05] # KANGXI RADICAL HOOK
+2F06      ; [.802A.0020.0004.2F06] # KANGXI RADICAL TWO
+3193      ; [.802A.0020.0014.3193] # IDEOGRAPHIC ANNOTATION TWO MARK
+3281      ; [.802A.0020.0006.3281] # CIRCLED IDEOGRAPH TWO
+1F214     ; [.802A.0020.001C.1F214] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3284      ; [.80D7.0020.0006.3284] # CIRCLED IDEOGRAPH FIVE
+2F07      ; [.802B.0020.0004.2F07] # KANGXI RADICAL LID
+1F218     ; [.8300.0020.001C.1F218] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+2F08      ; [.802C.0020.0004.2F08] # KANGXI RADICAL MAN
+319F      ; [.802C.0020.0014.319F] # IDEOGRAPHIC ANNOTATION MAN MARK
+32AD      ; [.831C.0020.0006.32AD] # CIRCLED IDEOGRAPH ENTERPRISE
+32A1      ; [.832C.0020.0006.32A1] # CIRCLED IDEOGRAPH REST
+329D      ; [.C86C.0020.0006.329D] # CIRCLED IDEOGRAPH EXCELLENT
+2F09      ; [.802E.0020.0004.2F09] # KANGXI RADICAL LEGS
+2F0A      ; [.802F.0020.0004.2F0A] # KANGXI RADICAL ENTER
+2F0B      ; [.8030.0020.0004.2F0B] # KANGXI RADICAL EIGHT
+3287      ; [.8030.0020.0006.3287] # CIRCLED IDEOGRAPH EIGHT
+3285      ; [.80F5.0020.0006.3285] # CIRCLED IDEOGRAPH SIX
+2F0C      ; [.8032.0020.0004.2F0C] # KANGXI RADICAL DOWN BOX
+1F21E     ; [.8356.0020.001C.1F21E] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F0D      ; [.8033.0020.0004.2F0D] # KANGXI RADICAL COVER
+32A2      ; [.81D8.0020.0006.32A2] # CIRCLED IDEOGRAPH COPY
+2F0E      ; [.8034.0020.0004.2F0E] # KANGXI RADICAL ICE
+2F0F      ; [.8036.0020.0004.2F0F] # KANGXI RADICAL TABLE
+2F10      ; [.8037.0020.0004.2F10] # KANGXI RADICAL OPEN BOX
+2F11      ; [.8039.0020.0004.2F11] # KANGXI RADICAL KNIFE
+1F220     ; [.858C.0020.001C.1F220] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+1F21C     ; [.8EE7.0020.001C.1F21C] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+1F239     ; [.A45F.0020.001C.1F239] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F12      ; [.803C.0020.0004.2F12] # KANGXI RADICAL POWER
+3298      ; [.85A8.0020.0006.3298] # CIRCLED IDEOGRAPH LABOR
+2F13      ; [.803D.0020.0004.2F13] # KANGXI RADICAL WRAP
+2F14      ; [.803E.0020.0004.2F14] # KANGXI RADICAL SPOON
+2F15      ; [.803F.0020.0004.2F15] # KANGXI RADICAL RIGHT OPEN BOX
+2F16      ; [.8040.0020.0004.2F16] # KANGXI RADICAL HIDING ENCLOSURE
+32A9      ; [.85B0.0020.0006.32A9] # CIRCLED IDEOGRAPH MEDICINE
+2F17      ; [.8041.0020.0004.2F17] # KANGXI RADICAL TEN
+3038      ; [.8041.0020.0004.3038] # HANGZHOU NUMERAL TEN
+3289      ; [.8041.0020.0006.3289] # CIRCLED IDEOGRAPH TEN
+3039      ; [.8059.0020.0004.3039] # HANGZHOU NUMERAL TWENTY
+303A      ; [.8118.0020.0004.303A] # HANGZHOU NUMERAL THIRTY
+32AF      ; [.899D.0020.0006.32AF] # CIRCLED IDEOGRAPH ALLIANCE
+2F18      ; [.8043.0020.0004.2F18] # KANGXI RADICAL DIVINATION
+2F19      ; [.8044.0020.0004.2F19] # KANGXI RADICAL SEAL
+329E      ; [.8384.0020.0006.329E] # CIRCLED IDEOGRAPH PRINT
+2F1A      ; [.8045.0020.0004.2F1A] # KANGXI RADICAL CLIFF
+2F1B      ; [.8046.0020.0004.2F1B] # KANGXI RADICAL PRIVATE
+2F1C      ; [.8048.0020.0004.2F1C] # KANGXI RADICAL AGAIN
+1F212     ; [.8128.0020.001C.1F212] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F1D      ; [.807F.0020.0004.2F1D] # KANGXI RADICAL MOUTH
+1F251     ; [.8218.0020.0006.1F251] # CIRCLED IDEOGRAPH ACCEPT
+32A8      ; [.821C.0020.0006.32A8] # CIRCLED IDEOGRAPH RIGHT
+1F22E     ; [.821C.0020.001C.1F22E] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+1F234     ; [.8398.0020.001C.1F234] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3294      ; [.839D.0020.0006.3294] # CIRCLED IDEOGRAPH NAME
+1F225     ; [.85E1.0020.001C.1F225] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+3244      ; [.9CC0.0020.0006.3244] # CIRCLED IDEOGRAPH QUESTION
+1F23A     ; [.9CFD.0020.001C.1F23A] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+2F1E      ; [.8080.0020.0004.2F1E] # KANGXI RADICAL ENCLOSURE
+3195      ; [.822D.0020.0014.3195] # IDEOGRAPHIC ANNOTATION FOUR MARK
+3283      ; [.822D.0020.0006.3283] # CIRCLED IDEOGRAPH FOUR
+2F1F      ; [.8081.0020.0004.2F1F] # KANGXI RADICAL EARTH
+328F      ; [.8081.0020.0006.328F] # CIRCLED IDEOGRAPH EARTH
+319E      ; [.83B9.0020.0014.319E] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F20      ; [.8082.0020.0004.2F20] # KANGXI RADICAL SCHOLAR
+1F224     ; [.8649.0020.001C.1F224] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F21      ; [.8083.0020.0004.2F21] # KANGXI RADICAL GO
+2F22      ; [.8084.0020.0004.2F22] # KANGXI RADICAL GO SLOWLY
+2F23      ; [.8085.0020.0004.2F23] # KANGXI RADICAL EVENING
+1F215     ; [.83C8.0020.001C.1F215] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0      ; [.8A3E.0020.0006.32B0] # CIRCLED IDEOGRAPH NIGHT
+2F24      ; [.8086.0020.0004.2F24] # KANGXI RADICAL BIG
+337D      ; [.8086.0020.001C.337D][.8288.0020.001C.337D] # SQUARE ERA NAME TAISYOU
+319D      ; [.8130.0020.0014.319D] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217     ; [.8130.0020.001C.1F217] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+2F25      ; [.8088.0020.0004.2F25] # KANGXI RADICAL WOMAN
+329B      ; [.8088.0020.0006.329B] # CIRCLED IDEOGRAPH FEMALE
+2F26      ; [.8089.0020.0004.2F26] # KANGXI RADICAL CHILD
+1F211     ; [.83E8.0020.001C.1F211] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+32AB      ; [.8A8D.0020.0006.32AB] # CIRCLED IDEOGRAPH STUDY
+2F27      ; [.808D.0020.0004.2F27] # KANGXI RADICAL ROOF
+32AA      ; [.8A94.0020.0006.32AA] # CIRCLED IDEOGRAPH RELIGION
+2F28      ; [.808E.0020.0004.2F28] # KANGXI RADICAL INCH
+2F29      ; [.8091.0020.0004.2F29] # KANGXI RADICAL SMALL
+2F2A      ; [.8092.0020.0004.2F2A] # KANGXI RADICAL LAME
+2F2B      ; [.8095.0020.0004.2F2B] # KANGXI RADICAL CORPSE
+2F2C      ; [.8096.0020.0004.2F2C] # KANGXI RADICAL SPROUT
+2F2D      ; [.8097.0020.0004.2F2D] # KANGXI RADICAL MOUNTAIN
+2F2E      ; [.8098.0020.0004.2F2E] # KANGXI RADICAL RIVER
+2F2F      ; [.809B.0020.0004.2F2F] # KANGXI RADICAL WORK
+32A7      ; [.8256.0020.0006.32A7] # CIRCLED IDEOGRAPH LEFT
+1F22C     ; [.8256.0020.001C.1F22C] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30      ; [.809C.0020.0004.2F30] # KANGXI RADICAL ONESELF
+2F31      ; [.809F.0020.0004.2F31] # KANGXI RADICAL TURBAN
+2F32      ; [.80A0.0020.0004.2F32] # KANGXI RADICAL DRY
+337B      ; [.825F.0020.001C.337B][.8435.0020.001C.337B] # SQUARE ERA NAME HEISEI
+2F33      ; [.80A2.0020.0004.2F33] # KANGXI RADICAL SHORT THREAD
+3245      ; [.8260.0020.0006.3245] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34      ; [.80A3.0020.0004.2F34] # KANGXI RADICAL DOTTED CLIFF
+2F35      ; [.80A4.0020.0004.2F35] # KANGXI RADICAL LONG STRIDE
+2F36      ; [.80A5.0020.0004.2F36] # KANGXI RADICAL TWO HANDS
+2F37      ; [.80A6.0020.0004.2F37] # KANGXI RADICAL SHOOT
+2F38      ; [.80A7.0020.0004.2F38] # KANGXI RADICAL BOW
+2F39      ; [.80A9.0020.0004.2F39] # KANGXI RADICAL SNOUT
+2F3A      ; [.80AB.0020.0004.2F3A] # KANGXI RADICAL BRISTLE
+2F3B      ; [.80AC.0020.0004.2F3B] # KANGXI RADICAL STEP
+1F21D     ; [.9050.0020.001C.1F21D] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250     ; [.9E0E.0020.0006.1F250] # CIRCLED IDEOGRAPH ADVANTAGE
+2F3C      ; [.8149.0020.0004.2F3C] # KANGXI RADICAL HEART
+2F3D      ; [.814B.0020.0004.2F3D] # KANGXI RADICAL HALBERD
+2F3E      ; [.814C.0020.0004.2F3E] # KANGXI RADICAL DOOR
+2F3F      ; [.814F.0020.0004.2F3F] # KANGXI RADICAL HAND
+1F210     ; [.814F.0020.001C.1F210] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+1F231     ; [.8277.0020.001C.1F231] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+1F227     ; [.873A.0020.001C.1F227] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+1F22F     ; [.90B6.0020.001C.1F22F] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F228     ; [.9724.0020.001C.1F228] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F40      ; [.8152.0020.0004.2F40] # KANGXI RADICAL BRANCH
+2F41      ; [.8153.0020.0004.2F41] # KANGXI RADICAL RAP
+2F42      ; [.8155.0020.0004.2F42] # KANGXI RADICAL SCRIPT
+3246      ; [.8155.0020.0006.3246] # CIRCLED IDEOGRAPH SCHOOL
+2F43      ; [.8156.0020.0004.2F43] # KANGXI RADICAL DIPPER
+1F21B     ; [.9745.0020.001C.1F21B] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44      ; [.8157.0020.0004.2F44] # KANGXI RADICAL AXE
+1F21F     ; [.AE69.0020.001C.1F21F] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45      ; [.8158.0020.0004.2F45] # KANGXI RADICAL SQUARE
+2F46      ; [.8159.0020.0004.2F46] # KANGXI RADICAL NOT
+2F47      ; [.815C.0020.0004.2F47] # KANGXI RADICAL SUN
+3290      ; [.815C.0020.0006.3290] # CIRCLED IDEOGRAPH SUN
+337E      ; [.8BBF.0020.001C.337E][.8C54.0020.001C.337E] # SQUARE ERA NAME MEIZI
+1F219     ; [.90F3.0020.001C.1F219] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C      ; [.9100.0020.001C.337C][.89E5.0020.001C.337C] # SQUARE ERA NAME SYOUWA
+2F48      ; [.815D.0020.0004.2F48] # KANGXI RADICAL SAY
+2F49      ; [.815F.0020.0004.2F49] # KANGXI RADICAL MOON
+328A      ; [.815F.0020.0006.328A] # CIRCLED IDEOGRAPH MOON
+1F237     ; [.815F.0020.001C.1F237] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+3292      ; [.845A.0020.0006.3292] # CIRCLED IDEOGRAPH HAVE
+1F236     ; [.845A.0020.001C.1F236] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+2F4A      ; [.8160.0020.0004.2F4A] # KANGXI RADICAL TREE
+328D      ; [.8160.0020.0006.328D] # CIRCLED IDEOGRAPH WOOD
+3291      ; [.979F.0020.0006.3291] # CIRCLED IDEOGRAPH STOCK
+337F      ; [.979F.0020.001C.337F][.841D.0020.001C.337F][.8335.0020.001C.337F][.8D2E.0020.001C.337F] # SQUARE CORPORATION
+2F4B      ; [.8163.0020.0004.2F4B] # KANGXI RADICAL LACK
+2F4C      ; [.8164.0020.0004.2F4C] # KANGXI RADICAL STOP
+32A3      ; [.8288.0020.0006.32A3] # CIRCLED IDEOGRAPH CORRECT
+2F4D      ; [.8165.0020.0004.2F4D] # KANGXI RADICAL DEATH
+2F4E      ; [.8166.0020.0004.2F4E] # KANGXI RADICAL WEAPON
+2F4F      ; [.8167.0020.0004.2F4F] # KANGXI RADICAL DO NOT
+2E9F      ; [.828A.0020.0004.2E9F] # CJK RADICAL MOTHER
+2F50      ; [.8169.0020.0004.2F50] # KANGXI RADICAL COMPARE
+2F51      ; [.816A.0020.0004.2F51] # KANGXI RADICAL FUR
+2F52      ; [.816B.0020.0004.2F52] # KANGXI RADICAL CLAN
+2F53      ; [.816C.0020.0004.2F53] # KANGXI RADICAL STEAM
+2F54      ; [.816D.0020.0004.2F54] # KANGXI RADICAL WATER
+328C      ; [.816D.0020.0006.328C] # CIRCLED IDEOGRAPH WATER
+329F      ; [.8C7F.0020.0006.329F] # CIRCLED IDEOGRAPH ATTENTION
+1F235     ; [.A7C6.0020.001C.1F235] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+1F226     ; [.B6D2.0020.001C.1F226] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+2F55      ; [.816E.0020.0004.2F55] # KANGXI RADICAL FIRE
+328B      ; [.816E.0020.0006.328B] # CIRCLED IDEOGRAPH FIRE
+1F21A     ; [.A7EB.0020.001C.1F21A] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F56      ; [.8171.0020.0004.2F56] # KANGXI RADICAL CLAW
+2F57      ; [.8173.0020.0004.2F57] # KANGXI RADICAL FATHER
+2F58      ; [.8174.0020.0004.2F58] # KANGXI RADICAL DOUBLE X
+2F59      ; [.8176.0020.0004.2F59] # KANGXI RADICAL HALF TREE TRUNK
+2F5A      ; [.8177.0020.0004.2F5A] # KANGXI RADICAL SLICE
+2F5B      ; [.8179.0020.0004.2F5B] # KANGXI RADICAL FANG
+2F5C      ; [.817B.0020.0004.2F5C] # KANGXI RADICAL COW
+3295      ; [.9895.0020.0006.3295] # CIRCLED IDEOGRAPH SPECIAL
+2F5D      ; [.817D.0020.0004.2F5D] # KANGXI RADICAL DOG
+2F5E      ; [.82A2.0020.0004.2F5E] # KANGXI RADICAL PROFOUND
+2F5F      ; [.82A3.0020.0004.2F5F] # KANGXI RADICAL JADE
+2F60      ; [.82A7.0020.0004.2F60] # KANGXI RADICAL MELON
+2F61      ; [.82A8.0020.0004.2F61] # KANGXI RADICAL TILE
+2F62      ; [.82A9.0020.0004.2F62] # KANGXI RADICAL SWEET
+2F63      ; [.82AA.0020.0004.2F63] # KANGXI RADICAL LIFE
+1F222     ; [.82AA.0020.001C.1F222] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F64      ; [.82AB.0020.0004.2F64] # KANGXI RADICAL USE
+2F65      ; [.82AD.0020.0004.2F65] # KANGXI RADICAL FIELD
+3199      ; [.82AF.0020.0014.3199] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238     ; [.82B0.0020.001C.1F238] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A      ; [.8815.0020.0006.329A] # CIRCLED IDEOGRAPH MALE
+2F66      ; [.82B4.0020.0004.2F66] # KANGXI RADICAL BOLT OF CLOTH
+2F67      ; [.82B6.0020.0004.2F67] # KANGXI RADICAL SICKNESS
+2F68      ; [.82B7.0020.0004.2F68] # KANGXI RADICAL DOTTED TENT
+2F69      ; [.82B8.0020.0004.2F69] # KANGXI RADICAL WHITE
+2F6A      ; [.82B9.0020.0004.2F6A] # KANGXI RADICAL SKIN
+2F6B      ; [.82BA.0020.0004.2F6B] # KANGXI RADICAL DISH
+32AC      ; [.B79A.0020.0006.32AC] # CIRCLED IDEOGRAPH SUPERVISE
+2F6C      ; [.82BB.0020.0004.2F6C] # KANGXI RADICAL EYE
+2F6D      ; [.82BC.0020.0004.2F6D] # KANGXI RADICAL SPEAR
+2F6E      ; [.82BD.0020.0004.2F6E] # KANGXI RADICAL ARROW
+2F6F      ; [.82BE.0020.0004.2F6F] # KANGXI RADICAL STONE
+2F70      ; [.82C0.0020.0004.2F70] # KANGXI RADICAL SPIRIT
+3293      ; [.8D2E.0020.0006.3293] # CIRCLED IDEOGRAPH SOCIETY
+3297      ; [.9970.0020.0006.3297] # CIRCLED IDEOGRAPH CONGRATULATION
+1F232     ; [.B0A6.0020.001C.1F232] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+2F71      ; [.82C1.0020.0004.2F71] # KANGXI RADICAL TRACK
+2F72      ; [.82C2.0020.0004.2F72] # KANGXI RADICAL GRAIN
+3299      ; [.9977.0020.0006.3299] # CIRCLED IDEOGRAPH SECRET
+2F73      ; [.82C3.0020.0004.2F73] # KANGXI RADICAL CAVE
+1F233     ; [.8D3E.0020.001C.1F233] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+2F74      ; [.82C4.0020.0004.2F74] # KANGXI RADICAL STAND
+2F75      ; [.84B5.0020.0004.2F75] # KANGXI RADICAL BAMBOO
+3247      ; [.B822.0020.0006.3247] # CIRCLED IDEOGRAPH KOTO
+2F76      ; [.84B6.0020.0004.2F76] # KANGXI RADICAL RICE
+2F77      ; [.84B7.0020.0004.2F77] # KANGXI RADICAL SILK
+1F221     ; [.A172.0020.001C.1F221] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+2F78      ; [.84C4.0020.0004.2F78] # KANGXI RADICAL JAR
+2F79      ; [.84C5.0020.0004.2F79] # KANGXI RADICAL NET
+2F7A      ; [.84C7.0020.0004.2F7A] # KANGXI RADICAL SHEEP
+2F7B      ; [.84CA.0020.0004.2F7B] # KANGXI RADICAL FEATHER
+2F7C      ; [.84CB.0020.0004.2F7C] # KANGXI RADICAL OLD
+2F7D      ; [.84CD.0020.0004.2F7D] # KANGXI RADICAL AND
+2F7E      ; [.84CE.0020.0004.2F7E] # KANGXI RADICAL PLOW
+2F7F      ; [.84CF.0020.0004.2F7F] # KANGXI RADICAL EAR
+2F80      ; [.84D0.0020.0004.2F80] # KANGXI RADICAL BRUSH
+2F81      ; [.84D2.0020.0004.2F81] # KANGXI RADICAL MEAT
+2F82      ; [.84D7.0020.0004.2F82] # KANGXI RADICAL MINISTER
+2F83      ; [.84D8.0020.0004.2F83] # KANGXI RADICAL SELF
+2F84      ; [.84D9.0020.0004.2F84] # KANGXI RADICAL ARRIVE
+2F85      ; [.84DA.0020.0004.2F85] # KANGXI RADICAL MORTAR
+2F86      ; [.84DC.0020.0004.2F86] # KANGXI RADICAL TONGUE
+2F87      ; [.84DD.0020.0004.2F87] # KANGXI RADICAL OPPOSE
+2F88      ; [.84DE.0020.0004.2F88] # KANGXI RADICAL BOAT
+2F89      ; [.84DF.0020.0004.2F89] # KANGXI RADICAL STOPPING
+2F8A      ; [.84E0.0020.0004.2F8A] # KANGXI RADICAL COLOR
+2F8B      ; [.84E1.0020.0004.2F8B] # KANGXI RADICAL GRASS
+2F8C      ; [.84EA.0020.0004.2F8C] # KANGXI RADICAL TIGER
+2F8D      ; [.84EB.0020.0004.2F8D] # KANGXI RADICAL INSECT
+2F8E      ; [.84EC.0020.0004.2F8E] # KANGXI RADICAL BLOOD
+2F8F      ; [.84ED.0020.0004.2F8F] # KANGXI RADICAL WALK ENCLOSURE
+2F90      ; [.84EE.0020.0004.2F90] # KANGXI RADICAL CLOTHES
+2F91      ; [.84EF.0020.0004.2F91] # KANGXI RADICAL WEST
+2F92      ; [.8878.0020.0004.2F92] # KANGXI RADICAL SEE
+2F93      ; [.887B.0020.0004.2F93] # KANGXI RADICAL HORN
+1F216     ; [.B258.0020.001C.1F216] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94      ; [.887D.0020.0004.2F94] # KANGXI RADICAL SPEECH
+2F95      ; [.8891.0020.0004.2F95] # KANGXI RADICAL VALLEY
+2F96      ; [.8892.0020.0004.2F96] # KANGXI RADICAL BEAN
+2F97      ; [.8893.0020.0004.2F97] # KANGXI RADICAL PIG
+2F98      ; [.8894.0020.0004.2F98] # KANGXI RADICAL BADGER
+2F99      ; [.8895.0020.0004.2F99] # KANGXI RADICAL SHELL
+3296      ; [.9B3B.0020.0006.3296] # CIRCLED IDEOGRAPH FINANCIAL
+1F223     ; [.A2FD.0020.001C.1F223] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+32AE      ; [.B2A5.0020.0006.32AE] # CIRCLED IDEOGRAPH RESOURCE
+2F9A      ; [.8898.0020.0004.2F9A] # KANGXI RADICAL RED
+2F9B      ; [.8899.0020.0004.2F9B] # KANGXI RADICAL RUN
+1F230     ; [.8899.0020.001C.1F230] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9C      ; [.889B.0020.0004.2F9C] # KANGXI RADICAL FOOT
+2F9D      ; [.889C.0020.0004.2F9D] # KANGXI RADICAL BODY
+2F9E      ; [.889D.0020.0004.2F9E] # KANGXI RADICAL CART
+2F9F      ; [.88A1.0020.0004.2F9F] # KANGXI RADICAL BITTER
+2FA0      ; [.88A2.0020.0004.2FA0] # KANGXI RADICAL MORNING
+2FA1      ; [.88A3.0020.0004.2FA1] # KANGXI RADICAL WALK
+1F22B     ; [.B30B.0020.001C.1F22B] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C      ; [.C10A.0020.0006.329C] # CIRCLED IDEOGRAPH SUITABLE
+2FA2      ; [.88B4.0020.0004.2FA2] # KANGXI RADICAL CITY
+2FA3      ; [.88C5.0020.0004.2FA3] # KANGXI RADICAL WINE
+2FA4      ; [.88C6.0020.0004.2FA4] # KANGXI RADICAL DISTINGUISH
+2FA5      ; [.88C7.0020.0004.2FA5] # KANGXI RADICAL VILLAGE
+2FA6      ; [.8E33.0020.0004.2FA6] # KANGXI RADICAL GOLD
+328E      ; [.8E33.0020.0006.328E] # CIRCLED IDEOGRAPH METAL
+2FA7      ; [.8E40.0020.0004.2FA7] # KANGXI RADICAL LONG
+2FA8      ; [.8E42.0020.0004.2FA8] # KANGXI RADICAL GATE
+2FA9      ; [.8E45.0020.0004.2FA9] # KANGXI RADICAL MOUND
+2FAA      ; [.8E59.0020.0004.2FAA] # KANGXI RADICAL SLAVE
+2FAB      ; [.8E5A.0020.0004.2FAB] # KANGXI RADICAL SHORT TAILED BIRD
+2FAC      ; [.8E5C.0020.0004.2FAC] # KANGXI RADICAL RAIN
+2FAD      ; [.8E5D.0020.0004.2FAD] # KANGXI RADICAL BLUE
+2FAE      ; [.8E5F.0020.0004.2FAE] # KANGXI RADICAL WRONG
+2FAF      ; [.949C.0020.0004.2FAF] # KANGXI RADICAL FACE
+2FB0      ; [.949D.0020.0004.2FB0] # KANGXI RADICAL LEATHER
+2FB1      ; [.949E.0020.0004.2FB1] # KANGXI RADICAL TANNED LEATHER
+2FB2      ; [.94A0.0020.0004.2FB2] # KANGXI RADICAL LEEK
+2FB3      ; [.94A1.0020.0004.2FB3] # KANGXI RADICAL SOUND
+2FB4      ; [.94A2.0020.0004.2FB4] # KANGXI RADICAL LEAF
+32A0      ; [.AC44.0020.0006.32A0] # CIRCLED IDEOGRAPH ITEM
+2FB5      ; [.94A7.0020.0004.2FB5] # KANGXI RADICAL WIND
+2FB6      ; [.94AB.0020.0004.2FB6] # KANGXI RADICAL FLY
+2FB7      ; [.94AD.0020.0004.2FB7] # KANGXI RADICAL EAT
+2FB8      ; [.94B7.0020.0004.2FB8] # KANGXI RADICAL HEAD
+2FB9      ; [.94B9.0020.0004.2FB9] # KANGXI RADICAL FRAGRANT
+2FBA      ; [.9BF9.0020.0004.2FBA] # KANGXI RADICAL HORSE
+2FBB      ; [.9C00.0020.0004.2FBB] # KANGXI RADICAL BONE
+2FBC      ; [.9C01.0020.0004.2FBC] # KANGXI RADICAL TALL
+2FBD      ; [.9C02.0020.0004.2FBD] # KANGXI RADICAL HAIR
+2FBE      ; [.9C03.0020.0004.2FBE] # KANGXI RADICAL FIGHT
+2FBF      ; [.9C04.0020.0004.2FBF] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0      ; [.9C05.0020.0004.2FC0] # KANGXI RADICAL CAULDRON
+2FC1      ; [.9C06.0020.0004.2FC1] # KANGXI RADICAL GHOST
+2FC2      ; [.A408.0020.0004.2FC2] # KANGXI RADICAL FISH
+2FC3      ; [.A40A.0020.0004.2FC3] # KANGXI RADICAL BIRD
+2FC4      ; [.A414.0020.0004.2FC4] # KANGXI RADICAL SALT
+2FC5      ; [.A415.0020.0004.2FC5] # KANGXI RADICAL DEER
+2FC6      ; [.A416.0020.0004.2FC6] # KANGXI RADICAL WHEAT
+2FC7      ; [.A418.0020.0004.2FC7] # KANGXI RADICAL HEMP
+2FC8      ; [.AC78.0020.0004.2FC8] # KANGXI RADICAL YELLOW
+2FC9      ; [.AC7A.0020.0004.2FC9] # KANGXI RADICAL MILLET
+2FCA      ; [.AC7B.0020.0004.2FCA] # KANGXI RADICAL BLACK
+2FCB      ; [.AC7C.0020.0004.2FCB] # KANGXI RADICAL EMBROIDERY
+2FCC      ; [.B440.0020.0004.2FCC] # KANGXI RADICAL FROG
+2FCD      ; [.B442.0020.0004.2FCD] # KANGXI RADICAL TRIPOD
+2FCE      ; [.B443.0020.0004.2FCE] # KANGXI RADICAL DRUM
+2FCF      ; [.B445.0020.0004.2FCF] # KANGXI RADICAL RAT
+2FD0      ; [.BB56.0020.0004.2FD0] # KANGXI RADICAL NOSE
+2FD1      ; [.BB57.0020.0004.2FD1] # KANGXI RADICAL EVEN
+2FD2      ; [.C273.0020.0004.2FD2] # KANGXI RADICAL TOOTH
+2FD3      ; [.C85E.0020.0004.2FD3] # KANGXI RADICAL DRAGON
+2FD4      ; [.C85F.0020.0004.2FD4] # KANGXI RADICAL TURTLE
+2EF3      ; [.88F9.0020.0004.2EF3] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5      ; [.CD3C.0020.0004.2FD5] # KANGXI RADICAL FLUTE
+F967      ; [.80BF.0020.0002.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+FA70      ; [.88FB.0020.0002.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+F905      ; [.852F.0020.0002.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F801     ; [.805D.0020.0002.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E      ; [.80CA.0020.0002.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800     ; [.852D.0020.0002.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F802     ; [.8006.0020.0002.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
+F91B      ; [.AC80.0020.0002.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+F9BA      ; [.8028.0020.0002.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+F977      ; [.8E86.0020.0002.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+F9FD      ; [.80DC.0020.0002.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819     ; [.80E8.0020.0002.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
+F9A8      ; [.81C3.0020.0002.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+2F804     ; [.856D.0020.0002.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73      ; [.8928.0020.0002.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D      ; [.892E.0020.0002.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5      ; [.8933.0020.0002.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30      ; [.8E8B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805     ; [.8E8B.0020.0002.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806     ; [.8E98.0020.0002.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965      ; [.8E9C.0020.0002.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807     ; [.94E6.0020.0002.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4      ; [.950F.0020.0002.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808     ; [.9C54.0020.0002.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809     ; [.A43E.0020.0002.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B     ; [.B44E.0020.0002.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB      ; [.B459.0020.0002.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31      ; [.B466.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A     ; [.B466.0020.0002.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+FA0C      ; [.8070.0020.0002.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74      ; [.81D0.0020.0002.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32      ; [.8578.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E     ; [.8578.0020.0002.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F     ; [.895B.0020.0002.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810     ; [.D692.0020.0002.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F814     ; [.80F3.0020.0002.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72      ; [.8350.0020.0002.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978      ; [.895F.0020.0002.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+F9D1      ; [.80F5.0020.0002.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+2F811     ; [.8961.0020.0002.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75      ; [.C28C.0020.0002.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F815     ; [.8356.0020.0002.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+2F8D2     ; [.8ED4.0020.0002.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3     ; [.9C63.0020.0002.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F817     ; [.80FF.0020.0002.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+2F818     ; [.9535.0020.0002.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F81A     ; [.81DA.0020.0002.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71      ; [.8582.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B     ; [.8582.0020.0002.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E      ; [.8584.0020.0002.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979      ; [.953F.0020.0002.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955      ; [.9542.0020.0002.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954      ; [.BB7E.0020.0002.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15      ; [.C28F.0020.0002.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F81D     ; [.8037.0020.0002.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F81E     ; [.8075.0020.0002.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00      ; [.8107.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850     ; [.8107.0020.0002.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C      ; [.836E.0020.0002.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+F9DD      ; [.8598.0020.0002.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF      ; [.897C.0020.0002.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820     ; [.897D.0020.0002.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821     ; [.8986.0020.0002.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+2F822     ; [.A45F.0020.0002.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+2F823     ; [.ACB4.0020.0002.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7      ; [.BB84.0020.0002.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A      ; [.803C.0020.0002.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+F99D      ; [.8373.0020.0002.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992     ; [.85A7.0020.0002.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+FA76      ; [.8EF2.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825     ; [.8EF2.0020.0002.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33      ; [.8EF4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826     ; [.8EF4.0020.0002.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952      ; [.9C76.0020.0002.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+F92F      ; [.A466.0020.0002.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34      ; [.ACC2.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827     ; [.ACC2.0020.0002.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F      ; [.C879.0020.0002.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+FA77      ; [.8078.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828     ; [.8078.0020.0002.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829     ; [.81F1.0020.0002.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A     ; [.81F2.0020.0002.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+F963      ; [.81F4.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B     ; [.81F4.0020.0002.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+F9EB      ; [.9C89.0020.0002.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F82C     ; [.81F9.0020.0002.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35      ; [.899A.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D     ; [.899A.0020.0002.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+2F82E     ; [.A46C.0020.0002.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F82F     ; [.85B4.0020.0002.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C      ; [.85B6.0020.0002.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830     ; [.8F00.0020.0002.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831     ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832     ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833     ; [.9569.0020.0002.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+F96B      ; [.9C93.0020.0002.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F836     ; [.8126.0020.0002.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+2F837     ; [.9570.0020.0002.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+F906      ; [.820E.0020.0002.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839     ; [.8214.0020.0002.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+2F83A     ; [.821A.0020.0002.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+2F83B     ; [.8396.0020.0002.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+F9DE      ; [.839F.0020.0002.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED      ; [.85C5.0020.0002.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D     ; [.85E0.0020.0002.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+F980      ; [.85EA.0020.0002.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E     ; [.85F0.0020.0002.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F     ; [.89C3.0020.0002.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+2F83C     ; [.8F0F.0020.0002.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840     ; [.8F13.0020.0002.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E      ; [.8F2E.0020.0002.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841     ; [.9589.0020.0002.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842     ; [.95A2.0020.0002.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+2F843     ; [.9CC4.0020.0002.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79      ; [.9CC6.0020.0002.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844     ; [.9CD2.0020.0002.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845     ; [.A485.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846     ; [.A485.0020.0002.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B      ; [.A488.0020.0002.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A      ; [.A499.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847     ; [.A499.0020.0002.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36      ; [.A49D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78      ; [.A49D.0020.0002.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848     ; [.A4AB.0020.0002.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849     ; [.A4B3.0020.0002.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+FA0D      ; [.ACD8.0020.0002.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A     ; [.ACDA.0020.0002.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B      ; [.ACF9.0020.0002.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37      ; [.B4AA.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C     ; [.B4AA.0020.0002.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E     ; [.B4CA.0020.0002.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38      ; [.C2AA.0020.0002.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F     ; [.BBCD.0020.0002.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+F9A9      ; [.8A04.0020.0002.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B     ; [.B4DC.0020.0002.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D     ; [.B4DD.0020.0002.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F855     ; [.8F63.0020.0002.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852     ; [.8F8E.0020.0002.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853     ; [.9D1E.0020.0002.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854     ; [.9D37.0020.0002.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857     ; [.A4EB.0020.0002.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856     ; [.95F7.0020.0002.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39      ; [.A4F7.0020.0002.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10      ; [.AD39.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C      ; [.AD39.0020.0002.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C      ; [.AD3D.0020.0002.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A      ; [.C26D.0020.0002.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858     ; [.BBE8.0020.0002.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D      ; [.BBEE.0020.0002.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A      ; [.CD66.0020.0002.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942      ; [.D106.0020.0002.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F851     ; [.83C5.0020.0002.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+2F85A     ; [.864B.0020.0002.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B     ; [.9D44.0020.0002.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F85C     ; [.864D.0020.0002.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F85D     ; [.83C8.0020.0002.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+2F85E     ; [.B513.0020.0002.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+FA7E      ; [.8A41.0020.0002.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C      ; [.8A45.0020.0002.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909      ; [.8F99.0020.0002.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F      ; [.8A4B.0020.0002.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F     ; [.9D4E.0020.0002.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981      ; [.8088.0020.0002.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F865     ; [.8FA7.0020.0002.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862     ; [.960A.0020.0002.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863     ; [.961C.0020.0002.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864     ; [.9628.0020.0002.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80      ; [.9D80.0020.0002.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866     ; [.9D84.0020.0002.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986     ; [.AD61.0020.0002.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869     ; [.BC16.0020.0002.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81      ; [.C2FB.0020.0002.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A     ; [.D110.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B     ; [.D110.0020.0002.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+FA04      ; [.83EC.0020.0002.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+2F86D     ; [.9DA6.0020.0002.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E     ; [.AD8F.0020.0002.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F      ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA      ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F     ; [.B554.0020.0002.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC      ; [.BC2E.0020.0002.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870     ; [.D116.0020.0002.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F872     ; [.868E.0020.0002.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873     ; [.8FE9.0020.0002.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F875     ; [.8092.0020.0002.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+F9BD      ; [.8695.0020.0002.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877     ; [.9DB7.0020.0002.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B      ; [.B558.0020.0002.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B      ; [.BC33.0020.0002.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF      ; [.BC34.0020.0002.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C      ; [.8096.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878     ; [.8096.0020.0002.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F87A     ; [.86B2.0020.0002.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879     ; [.8AD0.0020.0002.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5      ; [.9DCB.0020.0002.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C     ; [.A589.0020.0002.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921      ; [.A595.0020.0002.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F     ; [.A5A7.0020.0002.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E     ; [.ADAD.0020.0002.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880     ; [.B563.0020.0002.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4     ; [.C30C.0020.0002.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB      ; [.C8D1.0020.0002.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F881     ; [.88A4.0020.0002.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882     ; [.9DE6.0020.0002.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F884     ; [.A5AA.0020.0002.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F885     ; [.9681.0020.0002.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886     ; [.A5AD.0020.0002.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887     ; [.BC5D.0020.0002.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+F98E      ; [.8414.0020.0002.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+FA01      ; [.9036.0020.0002.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B     ; [.9038.0020.0002.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C     ; [.9DF7.0020.0002.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D     ; [.9DFA.0020.0002.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2      ; [.ADC4.0020.0002.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928      ; [.A5C1.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E     ; [.A5C1.0020.0002.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82      ; [.B587.0020.0002.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B      ; [.B588.0020.0002.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83      ; [.B58E.0020.0002.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982      ; [.D123.0020.0002.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F890     ; [.80A5.0020.0002.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+F943      ; [.86D2.0020.0002.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F894     ; [.8AF8.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895     ; [.8AF8.0020.0002.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F874     ; [.8423.0020.0002.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F899     ; [.86D9.0020.0002.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84      ; [.9E0A.0020.0002.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A     ; [.9E0B.0020.0002.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+F9D8      ; [.904F.0020.0002.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+2F89C     ; [.A5CB.0020.0002.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966      ; [.A5D0.0020.0002.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85      ; [.ADD2.0020.0002.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F89D     ; [.86E4.0020.0002.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E     ; [.86E9.0020.0002.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3      ; [.8B15.0020.0002.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F     ; [.8702.0020.0002.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960      ; [.9054.0020.0002.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC      ; [.8B2D.0020.0002.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B      ; [.96BA.0020.0002.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0     ; [.96C6.0020.0002.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D      ; [.96D5.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3     ; [.96D5.0020.0002.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5     ; [.9E43.0020.0002.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86      ; [.9E4E.0020.0002.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9      ; [.A5E1.0020.0002.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88      ; [.ADDF.0020.0002.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9      ; [.ADFC.0020.0002.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6     ; [.B5A7.0020.0002.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7     ; [.AE01.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9     ; [.AE01.0020.0002.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87      ; [.AE03.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8     ; [.AE03.0020.0002.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A      ; [.B5B4.0020.0002.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E      ; [.A614.0020.0002.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA     ; [.B5C3.0020.0002.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F      ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89      ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB     ; [.BC8F.0020.0002.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F      ; [.BC91.0020.0002.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD     ; [.BC9F.0020.0002.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE     ; [.BCA7.0020.0002.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC     ; [.C332.0020.0002.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF     ; [.C8EF.0020.0002.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40      ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B      ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0     ; [.D12A.0020.0002.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D      ; [.D12C.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1     ; [.D12C.0020.0002.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990      ; [.D9A5.0020.0002.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F8B2     ; [.8435.0020.0002.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3     ; [.9E66.0020.0002.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2      ; [.BCAF.0020.0002.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C      ; [.C8FA.0020.0002.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F8B4     ; [.843C.0020.0002.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+2F8B5     ; [.8B64.0020.0002.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925      ; [.8B7C.0020.0002.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B      ; [.9096.0020.0002.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02      ; [.8B85.0020.0002.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6     ; [.8B86.0020.0002.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA     ; [.90AC.0020.0002.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973      ; [.90AE.0020.0002.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+2F8B9     ; [.970C.0020.0002.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7     ; [.971F.0020.0002.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+2F8BB     ; [.9E77.0020.0002.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4      ; [.9E8A.0020.0002.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC     ; [.9E92.0020.0002.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975      ; [.9EAD.0020.0002.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1     ; [.9EB5.0020.0002.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D      ; [.A62A.0020.0002.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0     ; [.AE5E.0020.0002.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD     ; [.9737.0020.0002.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E      ; [.AE2E.0020.0002.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF     ; [.AE34.0020.0002.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F      ; [.A667.0020.0002.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3     ; [.BCB3.0020.0002.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6     ; [.B603.0020.0002.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4     ; [.B609.0020.0002.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991      ; [.BCCE.0020.0002.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5     ; [.BCD1.0020.0002.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930      ; [.C35E.0020.0002.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+FA41      ; [.9ED2.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8     ; [.9ED2.0020.0002.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90      ; [.9ED9.0020.0002.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+2F8C9     ; [.AE62.0020.0002.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969      ; [.BCF5.0020.0002.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+F9BE      ; [.9745.0020.0002.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+F983      ; [.974C.0020.0002.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+FA42      ; [.90EA.0020.0002.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB     ; [.9EF0.0020.0002.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+F9E0      ; [.8BC4.0020.0002.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+2F8CD     ; [.9758.0020.0002.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12      ; [.A69D.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91      ; [.A69D.0020.0002.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5      ; [.AE80.0020.0002.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43      ; [.A6AC.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF     ; [.A6AC.0020.0002.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5     ; [.B627.0020.0002.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06      ; [.BD0D.0020.0002.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B      ; [.C39E.0020.0002.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+F901      ; [.875D.0020.0002.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC     ; [.976A.0020.0002.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4     ; [.A454.0020.0002.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+F929      ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92      ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8     ; [.9773.0020.0002.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93      ; [.9F11.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9     ; [.9F11.0020.0002.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA     ; [.AE99.0020.0002.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+F9E1      ; [.876E.0020.0002.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC     ; [.8773.0020.0002.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94      ; [.8776.0020.0002.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB     ; [.877E.0020.0002.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8      ; [.8BEC.0020.0002.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0     ; [.8BF5.0020.0002.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4      ; [.8C07.0020.0002.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9      ; [.9164.0020.0002.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF     ; [.9169.0020.0002.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA      ; [.978C.0020.0002.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5     ; [.9794.0020.0002.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+2F8E1     ; [.9181.0020.0002.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A      ; [.9F37.0020.0002.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44      ; [.9F3B.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2     ; [.9F3B.0020.0002.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4     ; [.9F44.0020.0002.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2      ; [.9F5E.0020.0002.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6     ; [.A716.0020.0002.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8     ; [.AEAF.0020.0002.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9     ; [.B650.0020.0002.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA     ; [.BD23.0020.0002.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914      ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C      ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF      ; [.BD3B.0020.0002.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C      ; [.BD4B.0020.0002.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB     ; [.C959.0020.0002.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931      ; [.D157.0020.0002.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED     ; [.C962.0020.0002.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D      ; [.D6D0.0020.0002.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F8EF     ; [.846F.0020.0002.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1     ; [.C403.0020.0002.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F8F3     ; [.AF0A.0020.0002.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C      ; [.C40A.0020.0002.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95      ; [.8165.0020.0002.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F8F4     ; [.B6A0.0020.0002.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5      ; [.C969.0020.0002.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+F970      ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96      ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5     ; [.9F8B.0020.0002.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6     ; [.9F8C.0020.0002.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F8FA     ; [.847F.0020.0002.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE     ; [.879D.0020.0002.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972      ; [.87BB.0020.0002.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC     ; [.8C58.0020.0002.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968      ; [.8C64.0020.0002.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD     ; [.8C65.0020.0002.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3      ; [.8C7C.0020.0002.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+2F8FF     ; [.980A.0020.0002.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915      ; [.91C0.0020.0002.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05      ; [.91C2.0020.0002.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907     ; [.91D6.0020.0002.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900     ; [.91E0.0020.0002.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA      ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97      ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902     ; [.91E3.0020.0002.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903     ; [.981E.0020.0002.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A      ; [.981F.0020.0002.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45      ; [.982C.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901     ; [.982C.0020.0002.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904     ; [.982D.0020.0002.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905     ; [.983A.0020.0002.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5      ; [.9FBA.0020.0002.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D      ; [.9FC9.0020.0002.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6      ; [.9FD9.0020.0002.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E     ; [.9FE8.0020.0002.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46      ; [.A004.0020.0002.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908     ; [.A777.0020.0002.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909     ; [.A7B5.0020.0002.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+F9CB      ; [.AF31.0020.0002.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC      ; [.AF4F.0020.0002.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C     ; [.AF5C.0020.0002.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99      ; [.A7D3.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B     ; [.A7D3.0020.0002.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904      ; [.AF63.0020.0002.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98      ; [.AF6B.0020.0002.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E      ; [.B6CF.0020.0002.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+FA47      ; [.B6E0.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A      ; [.B6E0.0020.0002.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992      ; [.B6E1.0020.0002.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F     ; [.BDAD.0020.0002.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912     ; [.BDE2.0020.0002.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922      ; [.C98A.0020.0002.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984      ; [.CDED.0020.0002.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915     ; [.D17C.0020.0002.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B      ; [.D17F.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914     ; [.D17F.0020.0002.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913     ; [.D488.0020.0002.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917     ; [.D6DB.0020.0002.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F835     ; [.8497.0020.0002.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919     ; [.87E1.0020.0002.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918     ; [.87E7.0020.0002.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB      ; [.8CB0.0020.0002.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A     ; [.920A.0020.0002.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+F99F      ; [.9864.0020.0002.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916      ; [.9875.0020.0002.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+2F91C     ; [.AF89.0020.0002.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993      ; [.AF8D.0020.0002.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48      ; [.A80B.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C      ; [.A80B.0020.0002.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E     ; [.BDE7.0020.0002.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0      ; [.C477.0020.0002.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE      ; [.C479.0020.0002.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932      ; [.D496.0020.0002.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E      ; [.D6E6.0020.0002.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920     ; [.DC4E.0020.0002.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+FA49      ; [.8172.0020.0002.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
+FA9E      ; [.C9BB.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921     ; [.C9BB.0020.0002.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F922     ; [.AFC5.0020.0002.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
+F946      ; [.87ED.0020.0002.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+2F924     ; [.A81A.0020.0002.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925     ; [.B745.0020.0002.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+FA9F      ; [.82A0.0020.0002.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA      ; [.8CCA.0020.0002.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B      ; [.98A1.0020.0002.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16      ; [.A066.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0      ; [.A066.0020.0002.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7      ; [.CE18.0020.0002.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928     ; [.D1A8.0020.0002.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+F961      ; [.A067.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB      ; [.A067.0020.0002.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F929     ; [.817E.0020.0002.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2F92B     ; [.8CEB.0020.0002.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD      ; [.924C.0020.0002.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917      ; [.98BB.0020.0002.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4      ; [.A07D.0020.0002.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC      ; [.98D0.0020.0002.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A      ; [.A852.0020.0002.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E     ; [.AFF3.0020.0002.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F     ; [.B008.0020.0002.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE      ; [.BE24.0020.0002.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1      ; [.B763.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930     ; [.B763.0020.0002.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931     ; [.BE35.0020.0002.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994      ; [.BE39.0020.0002.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF      ; [.C4A4.0020.0002.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932     ; [.D1B4.0020.0002.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+FAA2      ; [.B77A.0020.0002.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F934     ; [.A882.0020.0002.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
+FAA3      ; [.8D01.0020.0002.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936     ; [.8D03.0020.0002.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD      ; [.98E3.0020.0002.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976      ; [.A09D.0020.0002.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962      ; [.A0A1.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938     ; [.A0A1.0020.0002.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+F9E5      ; [.A8A0.0020.0002.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A     ; [.B047.0020.0002.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4      ; [.BE59.0020.0002.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5      ; [.BE52.0020.0002.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1      ; [.C9EA.0020.0002.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E      ; [.D6F3.0020.0002.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+FA17      ; [.990E.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6      ; [.990E.0020.0002.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+FAA7      ; [.A0BF.0020.0002.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+F933      ; [.C4E1.0020.0002.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+FAA8      ; [.8D1E.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940     ; [.8D1E.0020.0002.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D      ; [.92B6.0020.0002.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945     ; [.9928.0020.0002.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946     ; [.9929.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947     ; [.9929.0020.0002.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA      ; [.A0D7.0020.0002.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9      ; [.A8C2.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948     ; [.A8C2.0020.0002.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A     ; [.BE77.0020.0002.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D      ; [.CA05.0020.0002.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F94E     ; [.A0E7.0020.0002.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE      ; [.A8DD.0020.0002.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B      ; [.B08B.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F     ; [.B08B.0020.0002.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B      ; [.B090.0020.0002.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947      ; [.BE90.0020.0002.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB      ; [.BE92.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950     ; [.BE92.0020.0002.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964      ; [.CA26.0020.0002.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985      ; [.D4C9.0020.0002.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+FA18      ; [.84B3.0020.0002.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C      ; [.8D2E.0020.0002.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+FA4E      ; [.92EC.0020.0002.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D      ; [.92ED.0020.0002.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F      ; [.9963.0020.0002.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50      ; [.9969.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953     ; [.9969.0020.0002.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51      ; [.9970.0020.0002.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+FA19      ; [.9971.0020.0002.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A      ; [.A0F9.0020.0002.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+F93C      ; [.B0A4.0020.0002.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+FA52      ; [.B7DB.0020.0002.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53      ; [.B7DC.0020.0002.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B      ; [.B7DD.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956     ; [.B7DD.0020.0002.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6      ; [.CE6D.0020.0002.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+F995      ; [.8D3A.0020.0002.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+2F957     ; [.998A.0020.0002.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956      ; [.B0BA.0020.0002.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54      ; [.BEBC.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959     ; [.BEBC.0020.0002.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A     ; [.B7F7.0020.0002.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B     ; [.C523.0020.0002.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+FA55      ; [.930C.0020.0002.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC      ; [.BEC4.0020.0002.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7      ; [.82C4.0020.0002.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F95F     ; [.B805.0020.0002.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+F9F8      ; [.A12C.0020.0002.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+FA56      ; [.B101.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD      ; [.B101.0020.0002.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962     ; [.BEEF.0020.0002.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963     ; [.C53D.0020.0002.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6      ; [.D1F9.0020.0002.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944      ; [.D8B1.0020.0002.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+FAAE      ; [.9327.0020.0002.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9      ; [.A14C.0020.0002.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D      ; [.B84B.0020.0002.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966     ; [.C563.0020.0002.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03      ; [.C567.0020.0002.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969     ; [.CE97.0020.0002.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B      ; [.CE9B.0020.0002.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968     ; [.CA8C.0020.0002.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F96A     ; [.9332.0020.0002.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF      ; [.99CE.0020.0002.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A      ; [.99E0.0020.0002.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F      ; [.A15F.0020.0002.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+FAAF      ; [.B111.0020.0002.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C     ; [.A95F.0020.0002.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D      ; [.B85B.0020.0002.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957      ; [.B879.0020.0002.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E     ; [.B882.0020.0002.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996      ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57      ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0      ; [.BF35.0020.0002.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F     ; [.BF43.0020.0002.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58      ; [.C56B.0020.0002.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950      ; [.CA9B.0020.0002.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59      ; [.CAA5.0020.0002.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970     ; [.CAA9.0020.0002.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+FAB1      ; [.A98D.0020.0002.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+FA5A      ; [.B149.0020.0002.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6      ; [.C591.0020.0002.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976     ; [.C592.0020.0002.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F      ; [.D220.0020.0002.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F978     ; [.A19D.0020.0002.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF      ; [.A19E.0020.0002.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E      ; [.84CA.0020.0002.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F979     ; [.CEC9.0020.0002.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934      ; [.84CB.0020.0002.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+FA5B      ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2      ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A     ; [.8D66.0020.0002.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+F9B0      ; [.A1BB.0020.0002.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D     ; [.A9A9.0020.0002.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997      ; [.CAC6.0020.0002.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F     ; [.CAC7.0020.0002.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945      ; [.D8C0.0020.0002.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+F953      ; [.84D3.0020.0002.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6     ; [.8D78.0020.0002.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982     ; [.8D7D.0020.0002.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983     ; [.9A39.0020.0002.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985     ; [.A9B8.0020.0002.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926      ; [.D22E.0020.0002.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+F9F6      ; [.CAE3.0020.0002.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+FA5C      ; [.9A4D.0020.0002.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F893     ; [.9A50.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B     ; [.9A50.0020.0002.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C     ; [.A9E2.0020.0002.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+FA6D      ; [.C5C0.0020.0002.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+F97C      ; [.885F.0020.0002.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+FA5D      ; [.80B4.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E      ; [.80B4.0020.0002.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2F990     ; [.8868.0020.0002.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F     ; [.886E.0020.0002.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991     ; [.8D9B.0020.0002.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993     ; [.8DAF.0020.0002.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994     ; [.8DB1.0020.0002.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995     ; [.8DBA.0020.0002.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974      ; [.93A8.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998     ; [.93A8.0020.0002.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996     ; [.93A9.0020.0002.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999     ; [.A1FD.0020.0002.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C     ; [.A1FE.0020.0002.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE      ; [.9A84.0020.0002.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3      ; [.9A9C.0020.0002.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0     ; [.9ABD.0020.0002.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A     ; [.9AAB.0020.0002.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B     ; [.A24D.0020.0002.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D     ; [.A249.0020.0002.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E      ; [.A9FD.0020.0002.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1     ; [.A9FE.0020.0002.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2     ; [.AA00.0020.0002.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3     ; [.AA0F.0020.0002.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E     ; [.AA1A.0020.0002.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4      ; [.AA22.0020.0002.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958      ; [.AA24.0020.0002.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918      ; [.B1A9.0020.0002.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E      ; [.B1B5.0020.0002.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F      ; [.AA5A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F     ; [.AA5A.0020.0002.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999      ; [.BF9A.0020.0002.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8     ; [.B208.0020.0002.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9     ; [.BF9E.0020.0002.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2      ; [.BFA7.0020.0002.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA     ; [.BFC0.0020.0002.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC     ; [.C5F0.0020.0002.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923      ; [.CF09.0020.0002.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0      ; [.D510.0020.0002.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935      ; [.D51C.0020.0002.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20      ; [.D52F.0020.0002.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F      ; [.D73C.0020.0002.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910      ; [.D9F1.0020.0002.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F9B3     ; [.93DD.0020.0002.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936      ; [.B20A.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4     ; [.B20A.0020.0002.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5     ; [.CB2D.0020.0002.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6     ; [.CF14.0020.0002.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F9B8     ; [.AA6B.0020.0002.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7     ; [.9AE5.0020.0002.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA     ; [.AA7D.0020.0002.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9     ; [.B227.0020.0002.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC     ; [.B95E.0020.0002.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD     ; [.B981.0020.0002.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5      ; [.C612.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB     ; [.C612.0020.0002.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE     ; [.C617.0020.0002.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911      ; [.CB41.0020.0002.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0     ; [.C027.0020.0002.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1     ; [.D264.0020.0002.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927      ; [.D748.0020.0002.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+FA08      ; [.84ED.0020.0002.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F9C3     ; [.C63E.0020.0002.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4     ; [.84EE.0020.0002.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+F9A0      ; [.AAAA.0020.0002.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7      ; [.B239.0020.0002.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6     ; [.AAB2.0020.0002.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7     ; [.B247.0020.0002.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8      ; [.B24A.0020.0002.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912      ; [.B995.0020.0002.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9     ; [.B997.0020.0002.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60      ; [.C03D.0020.0002.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6      ; [.CB6A.0020.0002.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924      ; [.D53F.0020.0002.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+FAB7      ; [.CF49.0020.0002.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A      ; [.8878.0020.0002.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+FA61      ; [.A103.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8      ; [.A103.0020.0002.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2F9CF     ; [.B289.0020.0002.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F      ; [.B9C9.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1      ; [.B9C9.0020.0002.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9      ; [.C06A.0020.0002.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB      ; [.C076.0020.0002.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D      ; [.C07D.0020.0002.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941      ; [.C081.0020.0002.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE      ; [.C671.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0     ; [.C671.0020.0002.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22      ; [.C08B.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA      ; [.C08B.0020.0002.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D      ; [.C681.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD      ; [.C681.0020.0002.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62      ; [.C684.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC      ; [.C684.0020.0002.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63      ; [.CF67.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF      ; [.CF67.0020.0002.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC      ; [.D2AB.0020.0002.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A      ; [.D8E4.0020.0002.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0      ; [.DA06.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1     ; [.DA06.0020.0002.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+F900      ; [.9B36.0020.0002.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2     ; [.8893.0020.0002.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F9D4     ; [.A2FF.0020.0002.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5     ; [.AB15.0020.0002.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948      ; [.B2A0.0020.0002.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+F903      ; [.B2A6.0020.0002.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64      ; [.B9E4.0020.0002.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65      ; [.D2BA.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1      ; [.D2BA.0020.0002.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6     ; [.DADB.0020.0002.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2F9D7     ; [.9B4D.0020.0002.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9DB     ; [.B2C0.0020.0002.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA     ; [.AB38.0020.0002.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937      ; [.B2D1.0020.0002.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC     ; [.B2D2.0020.0002.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+F902      ; [.889D.0020.0002.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9DE     ; [.9B5B.0020.0002.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998      ; [.C0FB.0020.0002.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7      ; [.C0FF.0020.0002.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2      ; [.C6C7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF     ; [.C6C7.0020.0002.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07      ; [.C6CA.0020.0002.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D      ; [.D8FB.0020.0002.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2F98D     ; [.B2F9.0020.0002.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971      ; [.88A2.0020.0002.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+FA66      ; [.818F.0020.0002.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+F99A      ; [.A353.0020.0002.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25      ; [.AB86.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67      ; [.AB86.0020.0002.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+FAC3      ; [.C6D6.0020.0002.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3      ; [.C6DE.0020.0002.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913      ; [.DA18.0020.0002.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2F9E2     ; [.850D.0020.0002.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C      ; [.945D.0020.0002.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E      ; [.9B86.0020.0002.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3     ; [.9465.0020.0002.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26      ; [.A369.0020.0002.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4     ; [.B321.0020.0002.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6     ; [.BA32.0020.0002.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+F919      ; [.B32C.0020.0002.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4      ; [.CBE1.0020.0002.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7      ; [.D582.0020.0002.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+F9E9      ; [.88C7.0020.0002.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+F97E      ; [.ABA9.0020.0002.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A      ; [.8E33.0020.0002.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+F9B1      ; [.B33B.0020.0002.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7     ; [.B33F.0020.0002.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5      ; [.BA52.0020.0002.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA     ; [.BA91.0020.0002.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8     ; [.C154.0020.0002.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9     ; [.C155.0020.0002.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F      ; [.C705.0020.0002.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B      ; [.CBF2.0020.0002.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB     ; [.D330.0020.0002.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC     ; [.D5A8.0020.0002.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2F9EE     ; [.ABFD.0020.0002.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986      ; [.C18F.0020.0002.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0     ; [.CC4C.0020.0002.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+F9C6      ; [.88DE.0020.0002.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951      ; [.948F.0020.0002.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09      ; [.9491.0020.0002.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959      ; [.A3DD.0020.0002.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3      ; [.A3E0.0020.0002.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6      ; [.A3E3.0020.0002.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC      ; [.AC1A.0020.0002.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1      ; [.C19A.0020.0002.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+FA2F      ; [.C776.0020.0002.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8      ; [.CC60.0020.0002.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2F9F3     ; [.AC28.0020.0002.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA      ; [.D014.0020.0002.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68      ; [.D345.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7      ; [.D345.0020.0002.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+F9B2      ; [.B3BD.0020.0002.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949      ; [.B3BE.0020.0002.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5     ; [.D017.0020.0002.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938      ; [.D7AA.0020.0002.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3      ; [.DAFA.0020.0002.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+FA1C      ; [.B3C8.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8      ; [.B3C8.0020.0002.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+FAC9      ; [.D5DE.0020.0002.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA     ; [.D5DF.0020.0002.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+FA69      ; [.D5E2.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA      ; [.D5E2.0020.0002.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+FACB      ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE     ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF     ; [.B3D9.0020.0002.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4      ; [.BAE3.0020.0002.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00     ; [.C1C8.0020.0002.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A      ; [.C7A8.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC      ; [.C7A8.0020.0002.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0      ; [.D369.0020.0002.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2FA02     ; [.9BF0.0020.0002.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A      ; [.AC59.0020.0002.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B      ; [.B3F7.0020.0002.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C      ; [.C7C5.0020.0002.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04     ; [.C7C6.0020.0002.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2FA05     ; [.D37A.0020.0002.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FA06     ; [.BB13.0020.0002.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A      ; [.C7DC.0020.0002.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07     ; [.CCB3.0020.0002.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987      ; [.DC56.0020.0002.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+FACD      ; [.D619.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A     ; [.D619.0020.0002.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+F939      ; [.C225.0020.0002.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B     ; [.D645.0020.0002.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2      ; [.DA5D.0020.0002.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2FA0C     ; [.C247.0020.0002.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F     ; [.CD1A.0020.0002.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D      ; [.D80D.0020.0002.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A      ; [.DB1F.0020.0002.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920      ; [.DC69.0020.0002.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+F940      ; [.A415.0020.0002.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+F988      ; [.D407.0020.0002.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3      ; [.DA80.0020.0002.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FA15     ; [.A418.0020.0002.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+F989      ; [.C26C.0020.0002.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FA17     ; [.AC7C.0020.0002.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FA18     ; [.8E79.0020.0002.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2FA19     ; [.D834.0020.0002.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FA1A     ; [.C26F.0020.0002.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FA1B     ; [.D0DA.0020.0002.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FA1C     ; [.BB56.0020.0002.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+FAD8      ; [.DA8C.0020.0002.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+F9C4      ; [.C85E.0020.0002.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+FAD9      ; [.D0E5.0020.0002.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+F907      ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908      ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE      ; [.C85F.0020.0002.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+2F81F     ; [.858A.0020.0002.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F
+2F888     ; [.C311.0020.0002.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888
+2F8D0     ; [.AE77.0020.0002.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
+2F8CE     ; [.C38A.0020.0002.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
+2F8DE     ; [.8BD3.0020.0002.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
+2F8EE     ; [.D879.0020.0002.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
+2F90A     ; [.AF20.0020.0002.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A
+2F92C     ; [.98A9.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C
+2F92D     ; [.98A9.0020.0002.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D
+FAD4      ; [.A8B8.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4
+2F949     ; [.A8B8.0020.0002.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949
+2F960     ; [.B808.0020.0002.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960
+2F96D     ; [.BF14.0020.0002.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D
+2F8D7     ; [.8D6B.0020.0002.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
+2FA0E     ; [.D64A.0020.0002.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
+2F8F9     ; [.B6A5.0020.0002.23AFA] # CJK COMPATIBILITY IDEOGRAPH-2F8F9
+FA6C      ; [.AFBE.0020.0002.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C
+2F93C     ; [.D6F7.0020.0002.24FB8] # CJK COMPATIBILITY IDEOGRAPH-2F93C
 ENTRY
 };


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale/zh_strk.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,43 +4,72 @@
 use Carp;
 use base qw(Unicode::Collate);
 
-our $VERSION = '0.73';
+our $VERSION = '0.96';
 
-use File::Spec;
-
-(my $ModPath = $INC{'Unicode/Collate/Locale.pm'}) =~ s/\.pm$//;
 my $PL_EXT  = '.pl';
 
 my %LocaleFile = map { ($_, $_) } qw(
-   af ar az ca cs cy da eo es et fi fil fo fr ha haw
-   hr hu hy ig is ja kk kl ko lt lv mt nb nn nso om pl ro ru
-   se sk sl sq sv sw tn to tr uk vi wo yo zh
+   af ar as az be bg bn ca cs cy da ee eo es et fa fi fil fo fr
+   gu ha haw hi hr hu hy ig is ja kk kl kn ko kok ln lt lv
+   mk ml mr mt nb nn nso om or pa pl ro ru sa se si sk sl sq
+   sr sv ta te th tn to tr uk ur vi wae wo yo zh
 );
-   $LocaleFile{'default'}         = '';
+   $LocaleFile{'default'} = '';
+# aliases
+   $LocaleFile{'bs'}      = 'hr';
+   $LocaleFile{'bs_Cyrl'} = 'sr';
+   $LocaleFile{'sr_Latn'} = 'hr';
+# short file names
    $LocaleFile{'de__phonebook'}   = 'de_phone';
    $LocaleFile{'es__traditional'} = 'es_trad';
-   $LocaleFile{'be'} = 'ru';
-   $LocaleFile{'bg'} = 'ru';
-   $LocaleFile{'mk'} = 'ru';
-   $LocaleFile{'sr'} = 'ru';
-   $LocaleFile{'zh__big5han'}   = 'zh_big5';
-   $LocaleFile{'zh__gb2312han'} = 'zh_gb';
-   $LocaleFile{'zh__pinyin'}    = 'zh_pin';
-   $LocaleFile{'zh__stroke'}    = 'zh_strk';
+   $LocaleFile{'fi__phonebook'}   = 'fi_phone';
+   $LocaleFile{'si__dictionary'}  = 'si_dict';
+   $LocaleFile{'sv__reformed'}    = 'sv_refo';
+   $LocaleFile{'zh__big5han'}     = 'zh_big5';
+   $LocaleFile{'zh__gb2312han'}   = 'zh_gb';
+   $LocaleFile{'zh__pinyin'}      = 'zh_pin';
+   $LocaleFile{'zh__stroke'}      = 'zh_strk';
+   $LocaleFile{'zh__zhuyin'}      = 'zh_zhu';
 
+my %TypeAlias = qw(
+    phone     phonebook
+    phonebk   phonebook
+    dict      dictionary
+    reform    reformed
+    trad      traditional
+    big5      big5han
+    gb2312    gb2312han
+);
+
 sub _locale {
     my $locale = shift;
     if ($locale) {
 	$locale = lc $locale;
 	$locale =~ tr/\-\ \./_/;
-	$locale =~ s/_phone(?:bk)?\z/_phonebook/;
-	$locale =~ s/_trad\z/_traditional/;
-	$locale =~ s/_big5\z/_big5han/;
-	$locale =~ s/_gb2312\z/_gb2312han/;
+	$locale =~ s/_([0-9a-z]+)\z/$TypeAlias{$1} ?
+				  "_$TypeAlias{$1}" : "_$1"/e;
 	$LocaleFile{$locale} and return $locale;
 
-	my ($l,$t,$v) = split(/_/, $locale.'__');
-	for my $loc ("${l}_${t}_$v", "${l}_$t", "${l}__$v", "${l}__$t", $l) {
+	my @code = split /_/, $locale;
+	my $lan = shift @code;
+	my $scr = @code && length $code[0] == 4 ? ucfirst shift @code : '';
+	my $reg = @code && length $code[0] <  4 ? uc      shift @code : '';
+	my $var = @code                         ?         shift @code : '';
+
+	my @list;
+	push @list, (
+	    "${lan}_${scr}_${reg}_$var",
+	    "${lan}_${scr}__$var", # empty $scr should not be ${lan}__$var.
+	    "${lan}_${reg}_$var",  # empty $reg may be ${lan}__$var.
+	    "${lan}__$var",
+	) if $var ne '';
+	push @list, (
+	    "${lan}_${scr}_${reg}",
+	    "${lan}_${scr}",
+	    "${lan}_${reg}",
+	     ${lan},
+	);
+	for my $loc (@list) {
 	    $LocaleFile{$loc} and return $loc;
 	}
     }
@@ -51,12 +80,20 @@
     return shift->{accepted_locale};
 }
 
+sub locale_version {
+    return shift->{locale_version};
+}
+
 sub _fetchpl {
     my $accepted = shift;
     my $f = $LocaleFile{$accepted};
     return if !$f;
     $f .= $PL_EXT;
-    my $path = File::Spec->catfile($ModPath, $f);
+
+    # allow to search @INC
+#   use File::Spec;
+#   my $path = File::Spec->catfile('Unicode', 'Collate', 'Locale', $f);
+    my $path = "Unicode/Collate/Locale/$f";
     my $h = do $path;
     croak "Unicode/Collate/Locale/$f can't be found" if !$h;
     return $h;
@@ -73,10 +110,13 @@
 
     my $href = _fetchpl($hash{accepted_locale});
     while (my($k,$v) = each %$href) {
-	if (exists $hash{$k}) {
+	if (!exists $hash{$k}) {
+	    $hash{$k} = $v;
+	} elsif ($k eq 'entry') {
+	    $hash{$k} = $v.$hash{$k};
+	} else {
 	    croak "$k is reserved by $hash{locale}, can't be overwritten";
 	}
-	$hash{$k} = $v;
     }
     return $class->SUPER::new(%hash);
 }
@@ -84,6 +124,97 @@
 1;
 __END__
 
+MEMORANDA for developing
+
+locale            based CLDR
+----------------------------------------------------------------------------
+af                22.1 = 1.8.1
+ar                22.1 = 1.9.0
+as                22.1 = 1.8.1
+az                22.1 = 1.8.1 (type="standard")
+be                22.1 = 1.9.0
+bg                22.1 = 1.9.0
+bn                22.1 = 2.0.1 (type="standard")
+bs                22.1 = 1.9.0 (alias source="hr")
+bs_Cyrl           22.1 = 22    (alias source="sr")
+ca                22.1 = 1.8.1 (alt="proposed" type="standard")
+cs                22.1 = 1.8.1 (type="standard")
+cy                22.1 = 1.8.1
+da                22.1 = 1.8.1 (type="standard") [mod aA to pass CLDR test]
+de__phonebook     22.1 = 2.0   (type="phonebook")
+ee                22.1 = 22
+eo                22.1 = 1.8.1
+es                22.1 = 1.9.0 (type="standard")
+es__traditional   22.1 = 1.8.1 (type="traditional")
+et                22.1 = 1.8.1
+fa                22.1 = 1.8.1
+fi                22.1 = 1.8.1 (type="standard" alt="proposed")
+fi__phonebook     22.1 = 1.8.1 (type="phonebook")
+fil               22.1 = 1.9.0 (type="standard") = 1.8.1
+fo                22.1 = 1.8.1 (alt="proposed" type="standard")
+fr                22.1 = 1.9.0 (fr_CA, backwards="on")
+gu                22.1 = 1.9.0 (type="standard")
+ha                22.1 = 1.9.0
+haw               22.1 = 1.8.1
+hi                22.1 = 1.9.0 (type="standard")
+hr                22.1 = 1.9.0 (type="standard")
+hu                22.1 = 1.8.1 (alt="proposed" type="standard")
+hy                22.1 = 1.8.1
+ig                22.1 = 1.8.1
+is                22.1 = 1.8.1 (type="standard")
+ja                22.1 = 1.8.1 (type="standard")
+kk                22.1 = 1.9.0
+kl                22.1 = 1.8.1 (type="standard")
+kn                22.1 = 1.9.0 (type="standard")
+ko                22.1 = 1.8.1 (type="standard")
+kok               22.1 = 1.8.1
+ln                22.1 = 2.0   (type="standard") = 1.8.1
+lt                22.1 = 1.9.0
+lv                22.1 = 1.9.0 (type="standard") = 1.8.1
+mk                22.1 = 1.9.0
+ml                22.1 = 1.9.0
+mr                22.1 = 1.8.1
+mt                22.1 = 1.9.0
+nb                22.1 = 2.0   (type="standard")
+nn                22.1 = 2.0   (type="standard")
+nso               22.1 = 1.8.1
+om                22.1 = 1.8.1
+or                22.1 = 1.9.0
+pa                22.1 = 1.8.1
+pl                22.1 = 1.8.1
+ro                22.1 = 1.9.0 (type="standard")
+ru                22.1 = 1.9.0
+sa                1.9.1 = 1.8.1 (type="standard" alt="proposed") [now /seed]
+se                22.1 = 1.8.1 (type="standard")
+si                22.1 = 1.9.0 (type="standard")
+si__dictionary    22.1 = 1.9.0 (type="dictionary")
+sk                22.1 = 1.9.0 (type="standard")
+sl                22.1 = 1.8.1 (type="standard" alt="proposed")
+sq                22.1 = 1.8.1 (alt="proposed" type="standard")
+sr                22.1 = 1.9.0 (type="standard")
+sr_Latn           22.1 = 1.8.1 (alias source="hr")
+sv                22.1 = 1.9.0 (type="standard")
+sv__reformed      22.1 = 1.8.1 (type="reformed")
+ta                22.1 = 1.9.0
+te                22.1 = 1.9.0
+th                22.1 = 22
+tn                22.1 = 1.8.1
+to                22.1 = 22
+tr                22.1 = 1.8.1 (type="standard")
+uk                22.1 = 21
+ur                22.1 = 1.9.0
+vi                22.1 = 1.8.1
+wae               22.1 = 2.0
+wo                1.9.1 = 1.8.1 [now /seed]
+yo                22.1 = 1.8.1
+zh                22.1 = 1.8.1 (type="standard")
+zh__big5han       22.1 = 1.8.1 (type="big5han")
+zh__gb2312han     22.1 = 1.8.1 (type="gb2312han")
+zh__pinyin        22.1 = 2.0   (type='pinyin' alt='short')
+zh__stroke        22.1 = 1.9.1 (type='stroke' alt='short')
+zh__zhuyin        22.1 = 22    (type='zhuyin' alt='short')
+----------------------------------------------------------------------------
+
 =head1 NAME
 
 Unicode::Collate::Locale - Linguistic tailoring for DUCET via Unicode::Collate
@@ -119,28 +250,33 @@
 
 A parameter list for the constructor is a hash, which can include
 a special key C<locale> and its value (case-insensitive) standing
-for a two-letter language code (ISO-639) like C<'en'> for English.
+for a Unicode base language code (two or three-letter).
 For example, C<Unicode::Collate::Locale-E<gt>new(locale =E<gt> 'FR')>
 returns a collator tailored for French.
 
-C<$locale_name> may be suffixed with a territory(country)
-code or a variant code, which are separated with C<'_'>.
+C<$locale_name> may be suffixed with a Unicode script code (four-letter),
+a Unicode region code, a Unicode language variant code. These codes are
+case-insensitive, and separated with C<'_'> or C<'-'>.
 E.g. C<en_US> for English in USA,
-C<es_ES_traditional> for Spanish in Spain (Traditional),
+C<az_Cyrl> for Azerbaijani in the Cyrillic script,
+C<es_ES_traditional> for Spanish in Spain (Traditional).
 
-If C<$localename> is not defined,
+If C<$locale_name> is not available,
 fallback is selected in the following order:
 
-    1. language_territory_variant
-    2. language_territory
-    3. language__variant
+    1. language with a variant code
+    2. language with a script code
+    3. language with a region code
     4. language
     5. default
 
 Tailoring tags provided by C<Unicode::Collate> are allowed as long as
 they are not used for C<locale> support.  Esp. the C<table> tag
-is always untailorable since it is reserved for DUCET.
+is always untailorable, since it is reserved for DUCET.
 
+However C<entry> is allowed, even if it is used for C<locale> support,
+to add or override mappings.
+
 E.g. a collator for French, which ignores diacritics and case difference
 (i.e. level 1), with reversed case ordering and no normalization.
 
@@ -182,32 +318,50 @@
 (intensionally for some languages, or due to the incomplete implementation),
 this method returns a string C<'default'> meaning no special tailoring.
 
+=item C<$Collator-E<gt>locale_version>
+
+(Since Unicode::Collate::Locale 0.87)
+Returns the version number (perhaps C</\d\.\d\d/>) of the locale, as that
+of F<Locale/*.pl>.
+
+B<Note:> F<Locale/*.pl> that a collator uses should be identified by
+a combination of return values from C<getlocale> and C<locale_version>.
+
 =back
 
 =head2 A list of tailorable locales
 
       locale name       description
-    ----------------------------------------------------------
+    --------------------------------------------------------------
       af                Afrikaans
       ar                Arabic
+      as                Assamese
       az                Azerbaijani (Azeri)
       be                Belarusian
       bg                Bulgarian
+      bn                Bengali
+      bs                Bosnian
+      bs_Cyrl           Bosnian in Cyrillic (tailored as Serbian)
       ca                Catalan
       cs                Czech
       cy                Welsh
       da                Danish
       de__phonebook     German (umlaut as 'ae', 'oe', 'ue')
+      ee                Ewe
       eo                Esperanto
       es                Spanish
       es__traditional   Spanish ('ch' and 'll' as a grapheme)
       et                Estonian
-      fi                Finnish
+      fa                Persian
+      fi                Finnish (v and w are primary equal)
+      fi__phonebook     Finnish (v and w as separate characters)
       fil               Filipino
       fo                Faroese
       fr                French
+      gu                Gujarati
       ha                Hausa
       haw               Hawaiian
+      hi                Hindi
       hr                Croatian
       hu                Hungarian
       hy                Armenian
@@ -216,40 +370,58 @@
       ja                Japanese [1]
       kk                Kazakh
       kl                Kalaallisut
+      kn                Kannada
       ko                Korean [2]
+      kok               Konkani
+      ln                Lingala
       lt                Lithuanian
       lv                Latvian
       mk                Macedonian
+      ml                Malayalam
+      mr                Marathi
       mt                Maltese
       nb                Norwegian Bokmal
       nn                Norwegian Nynorsk
       nso               Northern Sotho
       om                Oromo
+      or                Oriya
+      pa                Punjabi
       pl                Polish
       ro                Romanian
       ru                Russian
+      sa                Sanskrit
       se                Northern Sami
+      si                Sinhala
+      si__dictionary    Sinhala (U+0DA5 = U+0DA2,0DCA,0DA4)
       sk                Slovak
       sl                Slovenian
       sq                Albanian
       sr                Serbian
-      sv                Swedish
-      sw                Swahili
+      sr_Latn           Serbian in Latin (tailored as Croatian)
+      sv                Swedish (v and w are primary equal)
+      sv__reformed      Swedish (v and w as separate characters)
+      ta                Tamil
+      te                Telugu
+      th                Thai
       tn                Tswana
       to                Tonga
       tr                Turkish
       uk                Ukrainian
+      ur                Urdu
       vi                Vietnamese
+      wae               Walser
       wo                Wolof
       yo                Yoruba
       zh                Chinese
       zh__big5han       Chinese (ideographs: big5 order)
       zh__gb2312han     Chinese (ideographs: GB-2312 order)
-      zh__pinyin        Chinese (ideographs: pinyin order)
-      zh__stroke        Chinese (ideographs: stroke order)
-    ----------------------------------------------------------
+      zh__pinyin        Chinese (ideographs: pinyin order) [3]
+      zh__stroke        Chinese (ideographs: stroke order) [3]
+      zh__zhuyin        Chinese (ideographs: zhuyin order) [3]
+    --------------------------------------------------------------
 
 Locales according to the default UCA rules include
+chr (Cherokee),
 de (German),
 en (English),
 ga (Irish),
@@ -256,11 +428,11 @@
 id (Indonesian),
 it (Italian),
 ka (Georgian),
-ln (Lingala),
 ms (Malay),
 nl (Dutch),
 pt (Portuguese),
 st (Southern Sotho),
+sw (Swahili),
 xh (Xhosa),
 zu (Zulu).
 
@@ -267,7 +439,7 @@
 B<Note>
 
 [1] ja: Ideographs are sorted in JIS X 0208 order.
-Fullwidth and halfwidth forms are identical to their normal form.
+Fullwidth and halfwidth forms are identical to their regular form.
 The difference between hiragana and katakana is at the 4th level,
 the comparison also requires C<(variable =E<gt> 'Non-ignorable')>,
 and then C<katakana_before_hiragana> has no effect.
@@ -276,6 +448,11 @@
 an ideograph is primary (level 1) equal to, and secondary (level 2)
 greater than, the corresponding hangul syllable.
 
+[3] zh__pinyin, zh__stroke and zh__zhuyin: implemented alt='short',
+where a smaller number of ideographs are tailored.
+
+Note: 'pinyin' is in latin, 'zhuyin' is in bopomofo.
+
 =head1 INSTALL
 
 Installation of C<Unicode::Collate::Locale> requires F<Collate/Locale.pm>,
@@ -303,7 +480,7 @@
 
 The Unicode::Collate::Locale module for perl was written
 by SADAHIRO Tomoyuki, <SADAHIRO at cpan.org>.
-This module is Copyright(C) 2004-2011, SADAHIRO Tomoyuki. Japan.
+This module is Copyright(C) 2004-2012, SADAHIRO Tomoyuki. Japan.
 All rights reserved.
 
 This module is free software; you can redistribute it and/or


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/Locale.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,22 +1,22 @@
-# unidata-6.0.0.txt
-# Date: 2010-08-26, 13:40:04 PDT [KW]
+# unidata-6.2.0.txt
+# Date: 2012-08-14, 19:01:52 GMT [KW]
 #
 # This file defines the Default Unicode Collation Element Table
 #   (DUCET) for the Unicode Collation Algorithm
 #
-# Copyright (c) 2001-2010 Unicode, Inc.
+# Copyright (c) 2001-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # See UTS #10, Unicode Collation Algorithm, for more information.
 #
 # Diagnostic weight ranges
-# Primary weight range:   0200..4150 (16209)
-# Secondary weight range: 0020..0199 (378)
-# Variant secondaries:    015F..0164 (6)
-# Digit secondaries:      0165..0199 (53)
+# Primary weight range:   0200..432A (16683)
+# Secondary weight range: 0020..0177 (344)
+# Variant secondaries:    0139..013E (6)
+# Digit secondaries:      013F..0177 (57)
 # Tertiary weight range:  0002..001F (30)
 #
- at version 6.0.0
+ at version 6.2.0
 
 0000  ; [.0000.0000.0000.0000] # [0000] NULL (in 6429)
 0001  ; [.0000.0000.0000.0000] # [0001] START OF HEADING (in 6429)
@@ -470,133 +470,133 @@
 000C  ; [*0204.0020.0002.000C] # FORM FEED (in 6429)
 000D  ; [*0205.0020.0002.000D] # CARRIAGE RETURN (in 6429)
 0020  ; [*020A.0020.0002.0020] # SPACE
-0021  ; [*027B.0020.0002.0021] # EXCLAMATION MARK
-0022  ; [*0304.0020.0002.0022] # QUOTATION MARK
-0023  ; [*0371.0020.0002.0023] # NUMBER SIGN
-0025  ; [*0372.0020.0002.0025] # PERCENT SIGN
-0026  ; [*036E.0020.0002.0026] # AMPERSAND
-0027  ; [*02FD.0020.0002.0027] # APOSTROPHE
-0028  ; [*030E.0020.0002.0028] # LEFT PARENTHESIS
-0029  ; [*030F.0020.0002.0029] # RIGHT PARENTHESIS
-002A  ; [*0366.0020.0002.002A] # ASTERISK
-002B  ; [*056A.0020.0002.002B] # PLUS SIGN
-002C  ; [*0241.0020.0002.002C] # COMMA
-002D  ; [*0230.0020.0002.002D] # HYPHEN-MINUS
-002E  ; [*028E.0020.0002.002E] # FULL STOP
-002F  ; [*036B.0020.0002.002F] # SOLIDUS
-003A  ; [*0254.0020.0002.003A] # COLON
-003B  ; [*0250.0020.0002.003B] # SEMICOLON
-003C  ; [*056E.0020.0002.003C] # LESS-THAN SIGN
-003D  ; [*056F.0020.0002.003D] # EQUALS SIGN
-003E  ; [*0570.0020.0002.003E] # GREATER-THAN SIGN
-003F  ; [*0280.0020.0002.003F] # QUESTION MARK
-0040  ; [*0365.0020.0002.0040] # COMMERCIAL AT
-005B  ; [*0310.0020.0002.005B] # LEFT SQUARE BRACKET
-005C  ; [*036D.0020.0002.005C] # REVERSE SOLIDUS
-005D  ; [*0311.0020.0002.005D] # RIGHT SQUARE BRACKET
-005E  ; [*020F.0020.0002.005E] # CIRCUMFLEX ACCENT
-005F  ; [*021B.0020.0002.005F] # LOW LINE
-0060  ; [*020C.0020.0002.0060] # GRAVE ACCENT
-007B  ; [*0312.0020.0002.007B] # LEFT CURLY BRACKET
-007C  ; [*0572.0020.0002.007C] # VERTICAL LINE
-007D  ; [*0313.0020.0002.007D] # RIGHT CURLY BRACKET
-007E  ; [*0575.0020.0002.007E] # TILDE
+0021  ; [*025E.0020.0002.0021] # EXCLAMATION MARK
+0022  ; [*02F1.0020.0002.0022] # QUOTATION MARK
+0023  ; [*0376.0020.0002.0023] # NUMBER SIGN
+0025  ; [*0377.0020.0002.0025] # PERCENT SIGN
+0026  ; [*0374.0020.0002.0026] # AMPERSAND
+0027  ; [*02EA.0020.0002.0027] # APOSTROPHE
+0028  ; [*02FB.0020.0002.0028] # LEFT PARENTHESIS
+0029  ; [*02FC.0020.0002.0029] # RIGHT PARENTHESIS
+002A  ; [*036D.0020.0002.002A] # ASTERISK
+002B  ; [*059C.0020.0002.002B] # PLUS SIGN
+002C  ; [*0221.0020.0002.002C] # COMMA
+002D  ; [*020E.0020.0002.002D] # HYPHEN-MINUS
+002E  ; [*0273.0020.0002.002E] # FULL STOP
+002F  ; [*0372.0020.0002.002F] # SOLIDUS
+003A  ; [*0237.0020.0002.003A] # COLON
+003B  ; [*0232.0020.0002.003B] # SEMICOLON
+003C  ; [*05A0.0020.0002.003C] # LESS-THAN SIGN
+003D  ; [*05A1.0020.0002.003D] # EQUALS SIGN
+003E  ; [*05A2.0020.0002.003E] # GREATER-THAN SIGN
+003F  ; [*0263.0020.0002.003F] # QUESTION MARK
+0040  ; [*036C.0020.0002.0040] # COMMERCIAL AT
+005B  ; [*02FD.0020.0002.005B] # LEFT SQUARE BRACKET
+005C  ; [*0373.0020.0002.005C] # REVERSE SOLIDUS
+005D  ; [*02FE.0020.0002.005D] # RIGHT SQUARE BRACKET
+005E  ; [*0412.0020.0002.005E] # CIRCUMFLEX ACCENT
+005F  ; [*020C.0020.0002.005F] # LOW LINE
+0060  ; [*040F.0020.0002.0060] # GRAVE ACCENT
+007B  ; [*02FF.0020.0002.007B] # LEFT CURLY BRACKET
+007C  ; [*05A4.0020.0002.007C] # VERTICAL LINE
+007D  ; [*0300.0020.0002.007D] # RIGHT CURLY BRACKET
+007E  ; [*05A6.0020.0002.007E] # TILDE
 0085  ; [*0206.0020.0002.0085] # NEXT LINE (in 6429)
-00A0  ; [*020A.0020.001B.00A0] # NO-BREAK SPACE; QQK
-00A1  ; [*027C.0020.0002.00A1] # INVERTED EXCLAMATION MARK
-00A6  ; [*0573.0020.0002.00A6] # BROKEN BAR
-00A7  ; [*0360.0020.0002.00A7] # SECTION SIGN
-00A8  ; [*0214.0020.0002.00A8] # DIAERESIS
-00A9  ; [*0363.0020.0002.00A9] # COPYRIGHT SIGN
-00AB  ; [*030C.0020.0002.00AB] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
-00AC  ; [*0571.0020.0002.00AC] # NOT SIGN
-00AE  ; [*0364.0020.0002.00AE] # REGISTERED SIGN
-00AF  ; [*0210.0020.0002.00AF] # MACRON
-00B0  ; [*0466.0020.0002.00B0] # DEGREE SIGN
-00B1  ; [*056B.0020.0002.00B1] # PLUS-MINUS SIGN
-00B4  ; [*020D.0020.0002.00B4] # ACUTE ACCENT
-00B6  ; [*0361.0020.0002.00B6] # PILCROW SIGN
-00B7  ; [*029F.0020.0002.00B7] # MIDDLE DOT
-00B8  ; [*0219.0020.0002.00B8] # CEDILLA
-00BB  ; [*030D.0020.0002.00BB] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-00BF  ; [*0281.0020.0002.00BF] # INVERTED QUESTION MARK
-00D7  ; [*056D.0020.0002.00D7] # MULTIPLICATION SIGN
-00F7  ; [*056C.0020.0002.00F7] # DIVISION SIGN
-02B9  ; [*0404.0020.0002.02B9] # MODIFIER LETTER PRIME
-02BA  ; [*0406.0020.0002.02BA] # MODIFIER LETTER DOUBLE PRIME
-02C2  ; [*0407.0020.0002.02C2] # MODIFIER LETTER LEFT ARROWHEAD
-02C3  ; [*0408.0020.0002.02C3] # MODIFIER LETTER RIGHT ARROWHEAD
-02C4  ; [*0409.0020.0002.02C4] # MODIFIER LETTER UP ARROWHEAD
-02C5  ; [*040A.0020.0002.02C5] # MODIFIER LETTER DOWN ARROWHEAD
-02C6  ; [*040B.0020.0002.02C6] # MODIFIER LETTER CIRCUMFLEX ACCENT
-02C7  ; [*040C.0020.0002.02C7] # CARON
-02C8  ; [*040D.0020.0002.02C8] # MODIFIER LETTER VERTICAL LINE
-02C9  ; [*040E.0020.0002.02C9] # MODIFIER LETTER MACRON
-02CA  ; [*040F.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
-02CB  ; [*0410.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
-02CC  ; [*0411.0020.0002.02CC] # MODIFIER LETTER LOW VERTICAL LINE
-02CD  ; [*0412.0020.0002.02CD] # MODIFIER LETTER LOW MACRON
-02CE  ; [*0413.0020.0002.02CE] # MODIFIER LETTER LOW GRAVE ACCENT
-02CF  ; [*0414.0020.0002.02CF] # MODIFIER LETTER LOW ACUTE ACCENT
-02D2  ; [*0415.0020.0002.02D2] # MODIFIER LETTER CENTRED RIGHT HALF RING
-02D3  ; [*0416.0020.0002.02D3] # MODIFIER LETTER CENTRED LEFT HALF RING
-02D4  ; [*0417.0020.0002.02D4] # MODIFIER LETTER UP TACK
-02D5  ; [*0418.0020.0002.02D5] # MODIFIER LETTER DOWN TACK
-02D6  ; [*0419.0020.0002.02D6] # MODIFIER LETTER PLUS SIGN
-02D7  ; [*041A.0020.0002.02D7] # MODIFIER LETTER MINUS SIGN
-02D8  ; [*0212.0020.0002.02D8] # BREVE
-02D9  ; [*0213.0020.0002.02D9] # DOT ABOVE
-02DA  ; [*0215.0020.0002.02DA] # RING ABOVE
-02DB  ; [*021A.0020.0002.02DB] # OGONEK
-02DC  ; [*020E.0020.0002.02DC] # SMALL TILDE
-02DD  ; [*0216.0020.0002.02DD] # DOUBLE ACUTE ACCENT
-02DE  ; [*041B.0020.0002.02DE] # MODIFIER LETTER RHOTIC HOOK
-02DF  ; [*041C.0020.0002.02DF] # MODIFIER LETTER CROSS ACCENT
-02E5  ; [*041D.0020.0002.02E5] # MODIFIER LETTER EXTRA-HIGH TONE BAR
-02E6  ; [*041E.0020.0002.02E6] # MODIFIER LETTER HIGH TONE BAR
-02E7  ; [*041F.0020.0002.02E7] # MODIFIER LETTER MID TONE BAR
-02E8  ; [*0420.0020.0002.02E8] # MODIFIER LETTER LOW TONE BAR
-02E9  ; [*0421.0020.0002.02E9] # MODIFIER LETTER EXTRA-LOW TONE BAR
-02EA  ; [*0422.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
-02EB  ; [*0423.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
-02EC  ; [*0424.0020.0002.02EC] # MODIFIER LETTER VOICING
-02ED  ; [*0425.0020.0002.02ED] # MODIFIER LETTER UNASPIRATED
-02EF  ; [*0426.0020.0002.02EF] # MODIFIER LETTER LOW DOWN ARROWHEAD
-02F0  ; [*0427.0020.0002.02F0] # MODIFIER LETTER LOW UP ARROWHEAD
-02F1  ; [*0428.0020.0002.02F1] # MODIFIER LETTER LOW LEFT ARROWHEAD
-02F2  ; [*0429.0020.0002.02F2] # MODIFIER LETTER LOW RIGHT ARROWHEAD
-02F3  ; [*042A.0020.0002.02F3] # MODIFIER LETTER LOW RING
-02F4  ; [*042B.0020.0002.02F4] # MODIFIER LETTER MIDDLE GRAVE ACCENT
-02F5  ; [*042C.0020.0002.02F5] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
-02F6  ; [*042D.0020.0002.02F6] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
-02F7  ; [*042E.0020.0002.02F7] # MODIFIER LETTER LOW TILDE
-02F8  ; [*042F.0020.0002.02F8] # MODIFIER LETTER RAISED COLON
-02F9  ; [*0430.0020.0002.02F9] # MODIFIER LETTER BEGIN HIGH TONE
-02FA  ; [*0431.0020.0002.02FA] # MODIFIER LETTER END HIGH TONE
-02FB  ; [*0432.0020.0002.02FB] # MODIFIER LETTER BEGIN LOW TONE
-02FC  ; [*0433.0020.0002.02FC] # MODIFIER LETTER END LOW TONE
-02FD  ; [*0434.0020.0002.02FD] # MODIFIER LETTER SHELF
-02FE  ; [*0435.0020.0002.02FE] # MODIFIER LETTER OPEN SHELF
-02FF  ; [*0436.0020.0002.02FF] # MODIFIER LETTER LOW LEFT ARROW
+00A0  ; [*020A.0020.001B.00A0] # NO-BREAK SPACE
+00A1  ; [*025F.0020.0002.00A1] # INVERTED EXCLAMATION MARK
+00A6  ; [*05A5.0020.0002.00A6] # BROKEN BAR
+00A7  ; [*0368.0020.0002.00A7] # SECTION SIGN
+00A8  ; [*0416.0020.0002.00A8] # DIAERESIS
+00A9  ; [*050C.0020.0002.00A9] # COPYRIGHT SIGN
+00AB  ; [*02F9.0020.0002.00AB] # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+00AC  ; [*05A3.0020.0002.00AC] # NOT SIGN
+00AE  ; [*050D.0020.0002.00AE] # REGISTERED SIGN
+00AF  ; [*0413.0020.0002.00AF] # MACRON
+00B0  ; [*0482.0020.0002.00B0] # DEGREE SIGN
+00B1  ; [*059D.0020.0002.00B1] # PLUS-MINUS SIGN
+00B4  ; [*0410.0020.0002.00B4] # ACUTE ACCENT
+00B6  ; [*036A.0020.0002.00B6] # PILCROW SIGN
+00B7  ; [*0284.0020.0002.00B7] # MIDDLE DOT
+00B8  ; [*0419.0020.0002.00B8] # CEDILLA
+00BB  ; [*02FA.0020.0002.00BB] # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+00BF  ; [*0264.0020.0002.00BF] # INVERTED QUESTION MARK
+00D7  ; [*059F.0020.0002.00D7] # MULTIPLICATION SIGN
+00F7  ; [*059E.0020.0002.00F7] # DIVISION SIGN
+02B9  ; [*0420.0020.0002.02B9] # MODIFIER LETTER PRIME
+02BA  ; [*0422.0020.0002.02BA] # MODIFIER LETTER DOUBLE PRIME
+02C2  ; [*0423.0020.0002.02C2] # MODIFIER LETTER LEFT ARROWHEAD
+02C3  ; [*0424.0020.0002.02C3] # MODIFIER LETTER RIGHT ARROWHEAD
+02C4  ; [*0425.0020.0002.02C4] # MODIFIER LETTER UP ARROWHEAD
+02C5  ; [*0426.0020.0002.02C5] # MODIFIER LETTER DOWN ARROWHEAD
+02C6  ; [*0427.0020.0002.02C6] # MODIFIER LETTER CIRCUMFLEX ACCENT
+02C7  ; [*0428.0020.0002.02C7] # CARON
+02C8  ; [*0429.0020.0002.02C8] # MODIFIER LETTER VERTICAL LINE
+02C9  ; [*042A.0020.0002.02C9] # MODIFIER LETTER MACRON
+02CA  ; [*042B.0020.0002.02CA] # MODIFIER LETTER ACUTE ACCENT
+02CB  ; [*042C.0020.0002.02CB] # MODIFIER LETTER GRAVE ACCENT
+02CC  ; [*042D.0020.0002.02CC] # MODIFIER LETTER LOW VERTICAL LINE
+02CD  ; [*042E.0020.0002.02CD] # MODIFIER LETTER LOW MACRON
+02CE  ; [*042F.0020.0002.02CE] # MODIFIER LETTER LOW GRAVE ACCENT
+02CF  ; [*0430.0020.0002.02CF] # MODIFIER LETTER LOW ACUTE ACCENT
+02D2  ; [*0431.0020.0002.02D2] # MODIFIER LETTER CENTRED RIGHT HALF RING
+02D3  ; [*0432.0020.0002.02D3] # MODIFIER LETTER CENTRED LEFT HALF RING
+02D4  ; [*0433.0020.0002.02D4] # MODIFIER LETTER UP TACK
+02D5  ; [*0434.0020.0002.02D5] # MODIFIER LETTER DOWN TACK
+02D6  ; [*0435.0020.0002.02D6] # MODIFIER LETTER PLUS SIGN
+02D7  ; [*0436.0020.0002.02D7] # MODIFIER LETTER MINUS SIGN
+02D8  ; [*0414.0020.0002.02D8] # BREVE
+02D9  ; [*0415.0020.0002.02D9] # DOT ABOVE
+02DA  ; [*0417.0020.0002.02DA] # RING ABOVE
+02DB  ; [*041A.0020.0002.02DB] # OGONEK
+02DC  ; [*0411.0020.0002.02DC] # SMALL TILDE
+02DD  ; [*0418.0020.0002.02DD] # DOUBLE ACUTE ACCENT
+02DE  ; [*0437.0020.0002.02DE] # MODIFIER LETTER RHOTIC HOOK
+02DF  ; [*0438.0020.0002.02DF] # MODIFIER LETTER CROSS ACCENT
+02E5  ; [*0439.0020.0002.02E5] # MODIFIER LETTER EXTRA-HIGH TONE BAR
+02E6  ; [*043A.0020.0002.02E6] # MODIFIER LETTER HIGH TONE BAR
+02E7  ; [*043B.0020.0002.02E7] # MODIFIER LETTER MID TONE BAR
+02E8  ; [*043C.0020.0002.02E8] # MODIFIER LETTER LOW TONE BAR
+02E9  ; [*043D.0020.0002.02E9] # MODIFIER LETTER EXTRA-LOW TONE BAR
+02EA  ; [*043E.0020.0002.02EA] # MODIFIER LETTER YIN DEPARTING TONE MARK
+02EB  ; [*043F.0020.0002.02EB] # MODIFIER LETTER YANG DEPARTING TONE MARK
+02EC  ; [*0440.0020.0002.02EC] # MODIFIER LETTER VOICING
+02ED  ; [*0441.0020.0002.02ED] # MODIFIER LETTER UNASPIRATED
+02EF  ; [*0442.0020.0002.02EF] # MODIFIER LETTER LOW DOWN ARROWHEAD
+02F0  ; [*0443.0020.0002.02F0] # MODIFIER LETTER LOW UP ARROWHEAD
+02F1  ; [*0444.0020.0002.02F1] # MODIFIER LETTER LOW LEFT ARROWHEAD
+02F2  ; [*0445.0020.0002.02F2] # MODIFIER LETTER LOW RIGHT ARROWHEAD
+02F3  ; [*0446.0020.0002.02F3] # MODIFIER LETTER LOW RING
+02F4  ; [*0447.0020.0002.02F4] # MODIFIER LETTER MIDDLE GRAVE ACCENT
+02F5  ; [*0448.0020.0002.02F5] # MODIFIER LETTER MIDDLE DOUBLE GRAVE ACCENT
+02F6  ; [*0449.0020.0002.02F6] # MODIFIER LETTER MIDDLE DOUBLE ACUTE ACCENT
+02F7  ; [*044A.0020.0002.02F7] # MODIFIER LETTER LOW TILDE
+02F8  ; [*044B.0020.0002.02F8] # MODIFIER LETTER RAISED COLON
+02F9  ; [*044C.0020.0002.02F9] # MODIFIER LETTER BEGIN HIGH TONE
+02FA  ; [*044D.0020.0002.02FA] # MODIFIER LETTER END HIGH TONE
+02FB  ; [*044E.0020.0002.02FB] # MODIFIER LETTER BEGIN LOW TONE
+02FC  ; [*044F.0020.0002.02FC] # MODIFIER LETTER END LOW TONE
+02FD  ; [*0450.0020.0002.02FD] # MODIFIER LETTER SHELF
+02FE  ; [*0451.0020.0002.02FE] # MODIFIER LETTER OPEN SHELF
+02FF  ; [*0452.0020.0002.02FF] # MODIFIER LETTER LOW LEFT ARROW
 034F  ; [.0000.0000.0000.034F] # COMBINING GRAPHEME JOINER
-0374  ; [*0404.0020.0002.0374] # GREEK NUMERAL SIGN; QQC
-0375  ; [*0405.0020.0002.0375] # GREEK LOWER NUMERAL SIGN
-037E  ; [*0250.0020.0002.037E] # GREEK QUESTION MARK; QQC
-0384  ; [*020D.0020.0002.0384] # GREEK TONOS; QQC
-0385  ; [*0214.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA TONOS; QQCM
-0387  ; [*029F.0020.0002.0387] # GREEK ANO TELEIA; QQC
-03F6  ; [*0565.0020.0002.03F6] # GREEK REVERSED LUNATE EPSILON SYMBOL
-0482  ; [*0467.0020.0002.0482] # CYRILLIC THOUSANDS SIGN
+0374  ; [*0420.0020.0002.0374] # GREEK NUMERAL SIGN
+0375  ; [*0421.0020.0002.0375] # GREEK LOWER NUMERAL SIGN
+037E  ; [*0232.0020.0002.037E] # GREEK QUESTION MARK
+0384  ; [*0410.0020.0002.0384] # GREEK TONOS
+0385  ; [*0416.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA TONOS
+0387  ; [*0284.0020.0002.0387] # GREEK ANO TELEIA
+03F6  ; [*0597.0020.0002.03F6] # GREEK REVERSED LUNATE EPSILON SYMBOL
+0482  ; [*0483.0020.0002.0482] # CYRILLIC THOUSANDS SIGN
 0488  ; [.0000.0000.0000.0488] # COMBINING CYRILLIC HUNDRED THOUSANDS SIGN
 0489  ; [.0000.0000.0000.0489] # COMBINING CYRILLIC MILLIONS SIGN
-055A  ; [*03A1.0020.0002.055A] # ARMENIAN APOSTROPHE
-055B  ; [*03A2.0020.0002.055B] # ARMENIAN EMPHASIS MARK
-055C  ; [*027D.0020.0002.055C] # ARMENIAN EXCLAMATION MARK
-055D  ; [*0242.0020.0002.055D] # ARMENIAN COMMA
-055E  ; [*0283.0020.0002.055E] # ARMENIAN QUESTION MARK
-055F  ; [*03A3.0020.0002.055F] # ARMENIAN ABBREVIATION MARK
-0589  ; [*0255.0020.0002.0589] # ARMENIAN FULL STOP
-058A  ; [*0231.0020.0002.058A] # ARMENIAN HYPHEN
+055A  ; [*03A8.0020.0002.055A] # ARMENIAN APOSTROPHE
+055B  ; [*03A9.0020.0002.055B] # ARMENIAN EMPHASIS MARK
+055C  ; [*0260.0020.0002.055C] # ARMENIAN EXCLAMATION MARK
+055D  ; [*0224.0020.0002.055D] # ARMENIAN COMMA
+055E  ; [*0266.0020.0002.055E] # ARMENIAN QUESTION MARK
+055F  ; [*03AA.0020.0002.055F] # ARMENIAN ABBREVIATION MARK
+0589  ; [*0238.0020.0002.0589] # ARMENIAN FULL STOP
+058A  ; [*020F.0020.0002.058A] # ARMENIAN HYPHEN
 0591  ; [.0000.0000.0000.0591] # HEBREW ACCENT ETNAHTA
 0592  ; [.0000.0000.0000.0592] # HEBREW ACCENT SEGOL
 0593  ; [.0000.0000.0000.0593] # HEBREW ACCENT SHALSHELET
@@ -629,27 +629,28 @@
 05AE  ; [.0000.0000.0000.05AE] # HEBREW ACCENT ZINOR
 05AF  ; [.0000.0000.0000.05AF] # HEBREW MARK MASORA CIRCLE
 05BD  ; [.0000.0000.0000.05BD] # HEBREW POINT METEG
-05BE  ; [*03A4.0020.0002.05BE] # HEBREW PUNCTUATION MAQAF
-05C0  ; [*03A5.0020.0002.05C0] # HEBREW PUNCTUATION PASEQ
-05C3  ; [*03A6.0020.0002.05C3] # HEBREW PUNCTUATION SOF PASUQ
+05BE  ; [*03AB.0020.0002.05BE] # HEBREW PUNCTUATION MAQAF
+05C0  ; [*03AC.0020.0002.05C0] # HEBREW PUNCTUATION PASEQ
+05C3  ; [*03AD.0020.0002.05C3] # HEBREW PUNCTUATION SOF PASUQ
 05C4  ; [.0000.0000.0000.05C4] # HEBREW MARK UPPER DOT
 05C5  ; [.0000.0000.0000.05C5] # HEBREW MARK LOWER DOT
-05C6  ; [*03A7.0020.0002.05C6] # HEBREW PUNCTUATION NUN HAFUKHA
-05F3  ; [*03A8.0020.0002.05F3] # HEBREW PUNCTUATION GERESH
-05F4  ; [*03A9.0020.0002.05F4] # HEBREW PUNCTUATION GERSHAYIM
+05C6  ; [*03AE.0020.0002.05C6] # HEBREW PUNCTUATION NUN HAFUKHA
+05F3  ; [*03AF.0020.0002.05F3] # HEBREW PUNCTUATION GERESH
+05F4  ; [*03B0.0020.0002.05F4] # HEBREW PUNCTUATION GERSHAYIM
 0600  ; [.0000.0000.0000.0600] # ARABIC NUMBER SIGN
 0601  ; [.0000.0000.0000.0601] # ARABIC SIGN SANAH
 0602  ; [.0000.0000.0000.0602] # ARABIC FOOTNOTE MARKER
 0603  ; [.0000.0000.0000.0603] # ARABIC SIGN SAFHA
-0606  ; [*0580.0020.0002.0606] # ARABIC-INDIC CUBE ROOT
-0607  ; [*0582.0020.0002.0607] # ARABIC-INDIC FOURTH ROOT
-0608  ; [*0468.0020.0002.0608] # ARABIC RAY
-0609  ; [*0375.0020.0002.0609] # ARABIC-INDIC PER MILLE SIGN
-060A  ; [*0377.0020.0002.060A] # ARABIC-INDIC PER TEN THOUSAND SIGN
-060C  ; [*0243.0020.0002.060C] # ARABIC COMMA
-060D  ; [*0244.0020.0002.060D] # ARABIC DATE SEPARATOR
-060E  ; [*0469.0020.0002.060E] # ARABIC POETIC VERSE SIGN
-060F  ; [*046A.0020.0002.060F] # ARABIC SIGN MISRA
+0604  ; [.0000.0000.0000.0604] # ARABIC SIGN SAMVAT
+0606  ; [*05B3.0020.0002.0606] # ARABIC-INDIC CUBE ROOT
+0607  ; [*05B5.0020.0002.0607] # ARABIC-INDIC FOURTH ROOT
+0608  ; [*0484.0020.0002.0608] # ARABIC RAY
+0609  ; [*037A.0020.0002.0609] # ARABIC-INDIC PER MILLE SIGN
+060A  ; [*037C.0020.0002.060A] # ARABIC-INDIC PER TEN THOUSAND SIGN
+060C  ; [*0225.0020.0002.060C] # ARABIC COMMA
+060D  ; [*0226.0020.0002.060D] # ARABIC DATE SEPARATOR
+060E  ; [*0487.0020.0002.060E] # ARABIC POETIC VERSE SIGN
+060F  ; [*0488.0020.0002.060F] # ARABIC SIGN MISRA
 0610  ; [.0000.0000.0000.0610] # ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM
 0611  ; [.0000.0000.0000.0611] # ARABIC SIGN ALAYHE ASSALLAM
 0612  ; [.0000.0000.0000.0612] # ARABIC SIGN RAHMATULLAH ALAYHE
@@ -661,15 +662,15 @@
 0618  ; [.0000.0000.0000.0618] # ARABIC SMALL FATHA
 0619  ; [.0000.0000.0000.0619] # ARABIC SMALL DAMMA
 061A  ; [.0000.0000.0000.061A] # ARABIC SMALL KASRA
-061B  ; [*0251.0020.0002.061B] # ARABIC SEMICOLON
-061E  ; [*0256.0020.0002.061E] # ARABIC TRIPLE DOT PUNCTUATION MARK
-061F  ; [*0284.0020.0002.061F] # ARABIC QUESTION MARK
+061B  ; [*0233.0020.0002.061B] # ARABIC SEMICOLON
+061E  ; [*0239.0020.0002.061E] # ARABIC TRIPLE DOT PUNCTUATION MARK
+061F  ; [*0267.0020.0002.061F] # ARABIC QUESTION MARK
 0640  ; [.0000.0000.0000.0640] # ARABIC TATWEEL
-066A  ; [*0373.0020.0002.066A] # ARABIC PERCENT SIGN
-066B  ; [*0245.0020.0002.066B] # ARABIC DECIMAL SEPARATOR
-066C  ; [*0246.0020.0002.066C] # ARABIC THOUSANDS SEPARATOR
-066D  ; [*0369.0020.0002.066D] # ARABIC FIVE POINTED STAR
-06D4  ; [*0290.0020.0002.06D4] # ARABIC FULL STOP
+066A  ; [*0378.0020.0002.066A] # ARABIC PERCENT SIGN
+066B  ; [*0227.0020.0002.066B] # ARABIC DECIMAL SEPARATOR
+066C  ; [*0228.0020.0002.066C] # ARABIC THOUSANDS SEPARATOR
+066D  ; [*0370.0020.0002.066D] # ARABIC FIVE POINTED STAR
+06D4  ; [*0275.0020.0002.06D4] # ARABIC FULL STOP
 06D6  ; [.0000.0000.0000.06D6] # ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA
 06D7  ; [.0000.0000.0000.06D7] # ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA
 06D8  ; [.0000.0000.0000.06D8] # ARABIC SMALL HIGH MEEM INITIAL FORM
@@ -678,7 +679,7 @@
 06DB  ; [.0000.0000.0000.06DB] # ARABIC SMALL HIGH THREE DOTS
 06DC  ; [.0000.0000.0000.06DC] # ARABIC SMALL HIGH SEEN
 06DD  ; [.0000.0000.0000.06DD] # ARABIC END OF AYAH
-06DE  ; [*046B.0020.0002.06DE] # ARABIC START OF RUB EL HIZB
+06DE  ; [*0489.0020.0002.06DE] # ARABIC START OF RUB EL HIZB
 06DF  ; [.0000.0000.0000.06DF] # ARABIC SMALL HIGH ROUNDED ZERO
 06E0  ; [.0000.0000.0000.06E0] # ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO
 06E1  ; [.0000.0000.0000.06E1] # ARABIC SMALL HIGH DOTLESS HEAD OF KHAH
@@ -687,25 +688,25 @@
 06E4  ; [.0000.0000.0000.06E4] # ARABIC SMALL HIGH MADDA
 06E7  ; [.0000.0000.0000.06E7] # ARABIC SMALL HIGH YEH
 06E8  ; [.0000.0000.0000.06E8] # ARABIC SMALL HIGH NOON
-06E9  ; [*046C.0020.0002.06E9] # ARABIC PLACE OF SAJDAH
+06E9  ; [*048A.0020.0002.06E9] # ARABIC PLACE OF SAJDAH
 06EA  ; [.0000.0000.0000.06EA] # ARABIC EMPTY CENTRE LOW STOP
 06EB  ; [.0000.0000.0000.06EB] # ARABIC EMPTY CENTRE HIGH STOP
 06EC  ; [.0000.0000.0000.06EC] # ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE
 06ED  ; [.0000.0000.0000.06ED] # ARABIC SMALL LOW MEEM
-0700  ; [*02C4.0020.0002.0700] # SYRIAC END OF PARAGRAPH
-0701  ; [*0291.0020.0002.0701] # SYRIAC SUPRALINEAR FULL STOP
-0702  ; [*0292.0020.0002.0702] # SYRIAC SUBLINEAR FULL STOP
-0703  ; [*0257.0020.0002.0703] # SYRIAC SUPRALINEAR COLON
-0704  ; [*0258.0020.0002.0704] # SYRIAC SUBLINEAR COLON
-0705  ; [*0259.0020.0002.0705] # SYRIAC HORIZONTAL COLON
-0706  ; [*025A.0020.0002.0706] # SYRIAC COLON SKEWED LEFT
-0707  ; [*025B.0020.0002.0707] # SYRIAC COLON SKEWED RIGHT
-0708  ; [*025C.0020.0002.0708] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
-0709  ; [*0285.0020.0002.0709] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
-070A  ; [*03AA.0020.0002.070A] # SYRIAC CONTRACTION
-070B  ; [*03AB.0020.0002.070B] # SYRIAC HARKLEAN OBELUS
-070C  ; [*03AC.0020.0002.070C] # SYRIAC HARKLEAN METOBELUS
-070D  ; [*03AD.0020.0002.070D] # SYRIAC HARKLEAN ASTERISCUS
+0700  ; [*02AF.0020.0002.0700] # SYRIAC END OF PARAGRAPH
+0701  ; [*0276.0020.0002.0701] # SYRIAC SUPRALINEAR FULL STOP
+0702  ; [*0277.0020.0002.0702] # SYRIAC SUBLINEAR FULL STOP
+0703  ; [*023A.0020.0002.0703] # SYRIAC SUPRALINEAR COLON
+0704  ; [*023B.0020.0002.0704] # SYRIAC SUBLINEAR COLON
+0705  ; [*023C.0020.0002.0705] # SYRIAC HORIZONTAL COLON
+0706  ; [*023D.0020.0002.0706] # SYRIAC COLON SKEWED LEFT
+0707  ; [*023E.0020.0002.0707] # SYRIAC COLON SKEWED RIGHT
+0708  ; [*023F.0020.0002.0708] # SYRIAC SUPRALINEAR COLON SKEWED LEFT
+0709  ; [*0268.0020.0002.0709] # SYRIAC SUBLINEAR COLON SKEWED RIGHT
+070A  ; [*03B1.0020.0002.070A] # SYRIAC CONTRACTION
+070B  ; [*03B2.0020.0002.070B] # SYRIAC HARKLEAN OBELUS
+070C  ; [*03B3.0020.0002.070C] # SYRIAC HARKLEAN METOBELUS
+070D  ; [*03B4.0020.0002.070D] # SYRIAC HARKLEAN ASTERISCUS
 0740  ; [.0000.0000.0000.0740] # SYRIAC FEMININE DOT
 0743  ; [.0000.0000.0000.0743] # SYRIAC TWO VERTICAL DOTS ABOVE
 0744  ; [.0000.0000.0000.0744] # SYRIAC TWO VERTICAL DOTS BELOW
@@ -713,281 +714,290 @@
 0748  ; [.0000.0000.0000.0748] # SYRIAC OBLIQUE LINE BELOW
 0749  ; [.0000.0000.0000.0749] # SYRIAC MUSIC
 074A  ; [.0000.0000.0000.074A] # SYRIAC BARREKH
-07F6  ; [*046E.0020.0002.07F6] # NKO SYMBOL OO DENNEN
-07F7  ; [*02C5.0020.0002.07F7] # NKO SYMBOL GBAKURUNEN
-07F8  ; [*0247.0020.0002.07F8] # NKO COMMA
-07F9  ; [*027E.0020.0002.07F9] # NKO EXCLAMATION MARK
+07F6  ; [*049C.0020.0002.07F6] # NKO SYMBOL OO DENNEN
+07F7  ; [*02B0.0020.0002.07F7] # NKO SYMBOL GBAKURUNEN
+07F8  ; [*0229.0020.0002.07F8] # NKO COMMA
+07F9  ; [*0261.0020.0002.07F9] # NKO EXCLAMATION MARK
 07FA  ; [.0000.0000.0000.07FA] # NKO LAJANYALAN
-0830  ; [*025D.0020.0002.0830] # SAMARITAN PUNCTUATION NEQUDAA
-0831  ; [*025E.0020.0002.0831] # SAMARITAN PUNCTUATION AFSAAQ
-0832  ; [*025F.0020.0002.0832] # SAMARITAN PUNCTUATION ANGED
-0833  ; [*0260.0020.0002.0833] # SAMARITAN PUNCTUATION BAU
-0834  ; [*0261.0020.0002.0834] # SAMARITAN PUNCTUATION ATMAAU
-0835  ; [*0262.0020.0002.0835] # SAMARITAN PUNCTUATION SHIYYAALAA
-0836  ; [*0263.0020.0002.0836] # SAMARITAN ABBREVIATION MARK
-0837  ; [*0264.0020.0002.0837] # SAMARITAN PUNCTUATION MELODIC QITSA
-0838  ; [*0265.0020.0002.0838] # SAMARITAN PUNCTUATION ZIQAA
-0839  ; [*0266.0020.0002.0839] # SAMARITAN PUNCTUATION QITSA
-083A  ; [*0267.0020.0002.083A] # SAMARITAN PUNCTUATION ZAEF
-083B  ; [*0268.0020.0002.083B] # SAMARITAN PUNCTUATION TURU
-083C  ; [*0269.0020.0002.083C] # SAMARITAN PUNCTUATION ARKAANU
-083D  ; [*026A.0020.0002.083D] # SAMARITAN PUNCTUATION SOF MASHFAAT
-083E  ; [*026B.0020.0002.083E] # SAMARITAN PUNCTUATION ANNAAU
-085E  ; [*03AE.0020.0002.085E] # MANDAIC PUNCTUATION
+0830  ; [*0240.0020.0002.0830] # SAMARITAN PUNCTUATION NEQUDAA
+0831  ; [*0241.0020.0002.0831] # SAMARITAN PUNCTUATION AFSAAQ
+0832  ; [*0242.0020.0002.0832] # SAMARITAN PUNCTUATION ANGED
+0833  ; [*0243.0020.0002.0833] # SAMARITAN PUNCTUATION BAU
+0834  ; [*0244.0020.0002.0834] # SAMARITAN PUNCTUATION ATMAAU
+0835  ; [*0245.0020.0002.0835] # SAMARITAN PUNCTUATION SHIYYAALAA
+0836  ; [*0246.0020.0002.0836] # SAMARITAN ABBREVIATION MARK
+0837  ; [*0247.0020.0002.0837] # SAMARITAN PUNCTUATION MELODIC QITSA
+0838  ; [*0248.0020.0002.0838] # SAMARITAN PUNCTUATION ZIQAA
+0839  ; [*0249.0020.0002.0839] # SAMARITAN PUNCTUATION QITSA
+083A  ; [*024A.0020.0002.083A] # SAMARITAN PUNCTUATION ZAEF
+083B  ; [*024B.0020.0002.083B] # SAMARITAN PUNCTUATION TURU
+083C  ; [*024C.0020.0002.083C] # SAMARITAN PUNCTUATION ARKAANU
+083D  ; [*024D.0020.0002.083D] # SAMARITAN PUNCTUATION SOF MASHFAAT
+083E  ; [*024E.0020.0002.083E] # SAMARITAN PUNCTUATION ANNAAU
+085E  ; [*03B5.0020.0002.085E] # MANDAIC PUNCTUATION
+08EA  ; [.0000.0000.0000.08EA] # ARABIC TONE ONE DOT ABOVE
+08EB  ; [.0000.0000.0000.08EB] # ARABIC TONE TWO DOTS ABOVE
+08EC  ; [.0000.0000.0000.08EC] # ARABIC TONE LOOP ABOVE
+08ED  ; [.0000.0000.0000.08ED] # ARABIC TONE ONE DOT BELOW
+08EE  ; [.0000.0000.0000.08EE] # ARABIC TONE TWO DOTS BELOW
+08EF  ; [.0000.0000.0000.08EF] # ARABIC TONE LOOP BELOW
+08F3  ; [.0000.0000.0000.08F3] # ARABIC SMALL HIGH WAW
 0951  ; [.0000.0000.0000.0951] # DEVANAGARI STRESS SIGN UDATTA
 0952  ; [.0000.0000.0000.0952] # DEVANAGARI STRESS SIGN ANUDATTA
-0964  ; [*02A1.0020.0002.0964] # DEVANAGARI DANDA
-0965  ; [*02A2.0020.0002.0965] # DEVANAGARI DOUBLE DANDA
-0970  ; [*03B0.0020.0002.0970] # DEVANAGARI ABBREVIATION SIGN
-09F4  ; [*1492.0020.0002.09F4] # BENGALI CURRENCY NUMERATOR ONE
-09F5  ; [*1493.0020.0002.09F5] # BENGALI CURRENCY NUMERATOR TWO
-09F6  ; [*1494.0020.0002.09F6] # BENGALI CURRENCY NUMERATOR THREE
-09F7  ; [*1495.0020.0002.09F7] # BENGALI CURRENCY NUMERATOR FOUR
-09F8  ; [*1496.0020.0002.09F8] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
-09F9  ; [*1497.0020.0002.09F9] # BENGALI CURRENCY DENOMINATOR SIXTEEN
-09FA  ; [*046F.0020.0002.09FA] # BENGALI ISSHAR
-0B70  ; [*0470.0020.0002.0B70] # ORIYA ISSHAR
-0B72  ; [*1498.0020.0002.0B72] # ORIYA FRACTION ONE QUARTER
-0B73  ; [*1499.0020.0002.0B73] # ORIYA FRACTION ONE HALF
-0B74  ; [*149A.0020.0002.0B74] # ORIYA FRACTION THREE QUARTERS
-0B75  ; [*149B.0020.0002.0B75] # ORIYA FRACTION ONE SIXTEENTH
-0B76  ; [*149C.0020.0002.0B76] # ORIYA FRACTION ONE EIGHTH
-0B77  ; [*149D.0020.0002.0B77] # ORIYA FRACTION THREE SIXTEENTHS
-0BF0  ; [*14A4.0020.0002.0BF0] # TAMIL NUMBER TEN
-0BF1  ; [*14A5.0020.0002.0BF1] # TAMIL NUMBER ONE HUNDRED
-0BF2  ; [*14A6.0020.0002.0BF2] # TAMIL NUMBER ONE THOUSAND
-0BF3  ; [*0471.0020.0002.0BF3] # TAMIL DAY SIGN
-0BF4  ; [*0472.0020.0002.0BF4] # TAMIL MONTH SIGN
-0BF5  ; [*0473.0020.0002.0BF5] # TAMIL YEAR SIGN
-0BF6  ; [*0474.0020.0002.0BF6] # TAMIL DEBIT SIGN
-0BF7  ; [*0475.0020.0002.0BF7] # TAMIL CREDIT SIGN
-0BF8  ; [*0476.0020.0002.0BF8] # TAMIL AS ABOVE SIGN
-0BFA  ; [*0477.0020.0002.0BFA] # TAMIL NUMBER SIGN
-0C7F  ; [*0478.0020.0002.0C7F] # TELUGU SIGN TUUMU
-0D70  ; [*14A7.0020.0002.0D70] # MALAYALAM NUMBER TEN
-0D71  ; [*14A8.0020.0002.0D71] # MALAYALAM NUMBER ONE HUNDRED
-0D72  ; [*14A9.0020.0002.0D72] # MALAYALAM NUMBER ONE THOUSAND
-0D73  ; [*14AA.0020.0002.0D73] # MALAYALAM FRACTION ONE QUARTER
-0D74  ; [*14AB.0020.0002.0D74] # MALAYALAM FRACTION ONE HALF
-0D75  ; [*14AC.0020.0002.0D75] # MALAYALAM FRACTION THREE QUARTERS
-0D79  ; [*0479.0020.0002.0D79] # MALAYALAM DATE MARK
-0DF4  ; [*03B4.0020.0002.0DF4] # SINHALA PUNCTUATION KUNDDALIYA
-0E4F  ; [*0481.0020.0002.0E4F] # THAI CHARACTER FONGMAN
-0E5A  ; [*03B5.0020.0002.0E5A] # THAI CHARACTER ANGKHANKHU
-0E5B  ; [*03B6.0020.0002.0E5B] # THAI CHARACTER KHOMUT
-0F01  ; [*0482.0020.0002.0F01] # TIBETAN MARK GTER YIG MGO TRUNCATED A
-0F02  ; [*0483.0020.0002.0F02] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
-0F03  ; [*0484.0020.0002.0F03] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F04  ; [*03B9.0020.0002.0F04] # TIBETAN MARK INITIAL YIG MGO MDUN MA
-0F05  ; [*03BA.0020.0002.0F05] # TIBETAN MARK CLOSING YIG MGO SGAB MA
-0F06  ; [*03BB.0020.0002.0F06] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
-0F07  ; [*03BC.0020.0002.0F07] # TIBETAN MARK YIG MGO TSHEG SHAD MA
-0F08  ; [*03BD.0020.0002.0F08] # TIBETAN MARK SBRUL SHAD
-0F09  ; [*03BE.0020.0002.0F09] # TIBETAN MARK BSKUR YIG MGO
-0F0A  ; [*03BF.0020.0002.0F0A] # TIBETAN MARK BKA- SHOG YIG MGO
-0F0B  ; [*03C2.0020.0002.0F0B] # TIBETAN MARK INTERSYLLABIC TSHEG
-0F0C  ; [*03C2.0020.001B.0F0C] # TIBETAN MARK DELIMITER TSHEG BSTAR; QQK
-0F0D  ; [*03C3.0020.0002.0F0D] # TIBETAN MARK SHAD
-0F0E  ; [*03C4.0020.0002.0F0E] # TIBETAN MARK NYIS SHAD
-0F0F  ; [*03C5.0020.0002.0F0F] # TIBETAN MARK TSHEG SHAD
-0F10  ; [*03C6.0020.0002.0F10] # TIBETAN MARK NYIS TSHEG SHAD
-0F11  ; [*03C7.0020.0002.0F11] # TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F12  ; [*03C8.0020.0002.0F12] # TIBETAN MARK RGYA GRAM SHAD
-0F13  ; [*0485.0020.0002.0F13] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
-0F14  ; [*0273.0020.0002.0F14] # TIBETAN MARK GTER TSHEG
-0F15  ; [*0486.0020.0002.0F15] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
-0F16  ; [*0487.0020.0002.0F16] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
-0F17  ; [*0488.0020.0002.0F17] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0964  ; [*0287.0020.0002.0964] # DEVANAGARI DANDA
+0965  ; [*0288.0020.0002.0965] # DEVANAGARI DOUBLE DANDA
+0970  ; [*03B7.0020.0002.0970] # DEVANAGARI ABBREVIATION SIGN
+09F4  ; [*14D9.0020.0002.09F4] # BENGALI CURRENCY NUMERATOR ONE
+09F5  ; [*14DA.0020.0002.09F5] # BENGALI CURRENCY NUMERATOR TWO
+09F6  ; [*14DB.0020.0002.09F6] # BENGALI CURRENCY NUMERATOR THREE
+09F7  ; [*14DC.0020.0002.09F7] # BENGALI CURRENCY NUMERATOR FOUR
+09F8  ; [*14DD.0020.0002.09F8] # BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
+09F9  ; [*14DE.0020.0002.09F9] # BENGALI CURRENCY DENOMINATOR SIXTEEN
+09FA  ; [*049D.0020.0002.09FA] # BENGALI ISSHAR
+0AF0  ; [*03BB.0020.0002.0AF0] # GUJARATI ABBREVIATION SIGN
+0B70  ; [*049E.0020.0002.0B70] # ORIYA ISSHAR
+0B72  ; [*14DF.0020.0002.0B72] # ORIYA FRACTION ONE QUARTER
+0B73  ; [*14E0.0020.0002.0B73] # ORIYA FRACTION ONE HALF
+0B74  ; [*14E1.0020.0002.0B74] # ORIYA FRACTION THREE QUARTERS
+0B75  ; [*14E2.0020.0002.0B75] # ORIYA FRACTION ONE SIXTEENTH
+0B76  ; [*14E3.0020.0002.0B76] # ORIYA FRACTION ONE EIGHTH
+0B77  ; [*14E4.0020.0002.0B77] # ORIYA FRACTION THREE SIXTEENTHS
+0BF0  ; [*14EB.0020.0002.0BF0] # TAMIL NUMBER TEN
+0BF1  ; [*14EC.0020.0002.0BF1] # TAMIL NUMBER ONE HUNDRED
+0BF2  ; [*14ED.0020.0002.0BF2] # TAMIL NUMBER ONE THOUSAND
+0BF3  ; [*049F.0020.0002.0BF3] # TAMIL DAY SIGN
+0BF4  ; [*04A0.0020.0002.0BF4] # TAMIL MONTH SIGN
+0BF5  ; [*04A1.0020.0002.0BF5] # TAMIL YEAR SIGN
+0BF6  ; [*04A2.0020.0002.0BF6] # TAMIL DEBIT SIGN
+0BF7  ; [*04A3.0020.0002.0BF7] # TAMIL CREDIT SIGN
+0BF8  ; [*04A4.0020.0002.0BF8] # TAMIL AS ABOVE SIGN
+0BFA  ; [*04A5.0020.0002.0BFA] # TAMIL NUMBER SIGN
+0C7F  ; [*04A6.0020.0002.0C7F] # TELUGU SIGN TUUMU
+0D70  ; [*14EE.0020.0002.0D70] # MALAYALAM NUMBER TEN
+0D71  ; [*14EF.0020.0002.0D71] # MALAYALAM NUMBER ONE HUNDRED
+0D72  ; [*14F0.0020.0002.0D72] # MALAYALAM NUMBER ONE THOUSAND
+0D73  ; [*14F1.0020.0002.0D73] # MALAYALAM FRACTION ONE QUARTER
+0D74  ; [*14F2.0020.0002.0D74] # MALAYALAM FRACTION ONE HALF
+0D75  ; [*14F3.0020.0002.0D75] # MALAYALAM FRACTION THREE QUARTERS
+0D79  ; [*04A7.0020.0002.0D79] # MALAYALAM DATE MARK
+0DF4  ; [*03BC.0020.0002.0DF4] # SINHALA PUNCTUATION KUNDDALIYA
+0E4F  ; [*03BD.0020.0002.0E4F] # THAI CHARACTER FONGMAN
+0E5A  ; [*03BE.0020.0002.0E5A] # THAI CHARACTER ANGKHANKHU
+0E5B  ; [*03BF.0020.0002.0E5B] # THAI CHARACTER KHOMUT
+0F01  ; [*04AF.0020.0002.0F01] # TIBETAN MARK GTER YIG MGO TRUNCATED A
+0F02  ; [*04B0.0020.0002.0F02] # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
+0F03  ; [*04B1.0020.0002.0F03] # TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
+0F04  ; [*03C2.0020.0002.0F04] # TIBETAN MARK INITIAL YIG MGO MDUN MA
+0F05  ; [*03C3.0020.0002.0F05] # TIBETAN MARK CLOSING YIG MGO SGAB MA
+0F06  ; [*03C4.0020.0002.0F06] # TIBETAN MARK CARET YIG MGO PHUR SHAD MA
+0F07  ; [*03C5.0020.0002.0F07] # TIBETAN MARK YIG MGO TSHEG SHAD MA
+0F08  ; [*03C6.0020.0002.0F08] # TIBETAN MARK SBRUL SHAD
+0F09  ; [*03C7.0020.0002.0F09] # TIBETAN MARK BSKUR YIG MGO
+0F0A  ; [*03C8.0020.0002.0F0A] # TIBETAN MARK BKA- SHOG YIG MGO
+0F0B  ; [*03CB.0020.0002.0F0B] # TIBETAN MARK INTERSYLLABIC TSHEG
+0F0C  ; [*03CB.0020.001B.0F0C] # TIBETAN MARK DELIMITER TSHEG BSTAR
+0F0D  ; [*03CC.0020.0002.0F0D] # TIBETAN MARK SHAD
+0F0E  ; [*03CD.0020.0002.0F0E] # TIBETAN MARK NYIS SHAD
+0F0F  ; [*03CE.0020.0002.0F0F] # TIBETAN MARK TSHEG SHAD
+0F10  ; [*03CF.0020.0002.0F10] # TIBETAN MARK NYIS TSHEG SHAD
+0F11  ; [*03D0.0020.0002.0F11] # TIBETAN MARK RIN CHEN SPUNGS SHAD
+0F12  ; [*03D1.0020.0002.0F12] # TIBETAN MARK RGYA GRAM SHAD
+0F13  ; [*04B2.0020.0002.0F13] # TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14  ; [*0256.0020.0002.0F14] # TIBETAN MARK GTER TSHEG
+0F15  ; [*04B3.0020.0002.0F15] # TIBETAN LOGOTYPE SIGN CHAD RTAGS
+0F16  ; [*04B4.0020.0002.0F16] # TIBETAN LOGOTYPE SIGN LHAG RTAGS
+0F17  ; [*04B5.0020.0002.0F17] # TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
 0F18  ; [.0000.0000.0000.0F18] # TIBETAN ASTROLOGICAL SIGN -KHYUD PA
 0F19  ; [.0000.0000.0000.0F19] # TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
-0F1A  ; [*0489.0020.0002.0F1A] # TIBETAN SIGN RDEL DKAR GCIG
-0F1B  ; [*048A.0020.0002.0F1B] # TIBETAN SIGN RDEL DKAR GNYIS
-0F1C  ; [*048B.0020.0002.0F1C] # TIBETAN SIGN RDEL DKAR GSUM
-0F1D  ; [*048C.0020.0002.0F1D] # TIBETAN SIGN RDEL NAG GCIG
-0F1E  ; [*048D.0020.0002.0F1E] # TIBETAN SIGN RDEL NAG GNYIS
-0F1F  ; [*048E.0020.0002.0F1F] # TIBETAN SIGN RDEL DKAR RDEL NAG
-0F34  ; [*048F.0020.0002.0F34] # TIBETAN MARK BSDUS RTAGS
+0F1A  ; [*04B6.0020.0002.0F1A] # TIBETAN SIGN RDEL DKAR GCIG
+0F1B  ; [*04B7.0020.0002.0F1B] # TIBETAN SIGN RDEL DKAR GNYIS
+0F1C  ; [*04B8.0020.0002.0F1C] # TIBETAN SIGN RDEL DKAR GSUM
+0F1D  ; [*04B9.0020.0002.0F1D] # TIBETAN SIGN RDEL NAG GCIG
+0F1E  ; [*04BA.0020.0002.0F1E] # TIBETAN SIGN RDEL NAG GNYIS
+0F1F  ; [*04BB.0020.0002.0F1F] # TIBETAN SIGN RDEL DKAR RDEL NAG
+0F34  ; [*04BC.0020.0002.0F34] # TIBETAN MARK BSDUS RTAGS
 0F35  ; [.0000.0000.0000.0F35] # TIBETAN MARK NGAS BZUNG NYI ZLA
-0F36  ; [*0490.0020.0002.0F36] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
+0F36  ; [*04BD.0020.0002.0F36] # TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
 0F37  ; [.0000.0000.0000.0F37] # TIBETAN MARK NGAS BZUNG SGOR RTAGS
-0F38  ; [*0491.0020.0002.0F38] # TIBETAN MARK CHE MGO
-0F3A  ; [*0314.0020.0002.0F3A] # TIBETAN MARK GUG RTAGS GYON
-0F3B  ; [*0315.0020.0002.0F3B] # TIBETAN MARK GUG RTAGS GYAS
-0F3C  ; [*0316.0020.0002.0F3C] # TIBETAN MARK ANG KHANG GYON
-0F3D  ; [*0317.0020.0002.0F3D] # TIBETAN MARK ANG KHANG GYAS
-0F3E  ; [*0492.0020.0002.0F3E] # TIBETAN SIGN YAR TSHES
-0F3F  ; [*0493.0020.0002.0F3F] # TIBETAN SIGN MAR TSHES
+0F38  ; [*04BE.0020.0002.0F38] # TIBETAN MARK CHE MGO
+0F3A  ; [*0301.0020.0002.0F3A] # TIBETAN MARK GUG RTAGS GYON
+0F3B  ; [*0302.0020.0002.0F3B] # TIBETAN MARK GUG RTAGS GYAS
+0F3C  ; [*0303.0020.0002.0F3C] # TIBETAN MARK ANG KHANG GYON
+0F3D  ; [*0304.0020.0002.0F3D] # TIBETAN MARK ANG KHANG GYAS
+0F3E  ; [.0000.0000.0000.0F3E] # TIBETAN SIGN YAR TSHES
+0F3F  ; [.0000.0000.0000.0F3F] # TIBETAN SIGN MAR TSHES
 0F82  ; [.0000.0000.0000.0F82] # TIBETAN SIGN NYI ZLA NAA DA
 0F83  ; [.0000.0000.0000.0F83] # TIBETAN SIGN SNA LDAN
-0F85  ; [*03C9.0020.0002.0F85] # TIBETAN MARK PALUTA
+0F85  ; [*03D2.0020.0002.0F85] # TIBETAN MARK PALUTA
 0F86  ; [.0000.0000.0000.0F86] # TIBETAN SIGN LCI RTAGS
 0F87  ; [.0000.0000.0000.0F87] # TIBETAN SIGN YANG RTAGS
-0FBE  ; [*0494.0020.0002.0FBE] # TIBETAN KU RU KHA
-0FBF  ; [*0495.0020.0002.0FBF] # TIBETAN KU RU KHA BZHI MIG CAN
-0FC0  ; [*0496.0020.0002.0FC0] # TIBETAN CANTILLATION SIGN HEAVY BEAT
-0FC1  ; [*0497.0020.0002.0FC1] # TIBETAN CANTILLATION SIGN LIGHT BEAT
-0FC2  ; [*0498.0020.0002.0FC2] # TIBETAN CANTILLATION SIGN CANG TE-U
-0FC3  ; [*0499.0020.0002.0FC3] # TIBETAN CANTILLATION SIGN SBUB -CHAL
-0FC4  ; [*049A.0020.0002.0FC4] # TIBETAN SYMBOL DRIL BU
-0FC5  ; [*049B.0020.0002.0FC5] # TIBETAN SYMBOL RDO RJE
+0FBE  ; [*04BF.0020.0002.0FBE] # TIBETAN KU RU KHA
+0FBF  ; [*04C0.0020.0002.0FBF] # TIBETAN KU RU KHA BZHI MIG CAN
+0FC0  ; [*04C1.0020.0002.0FC0] # TIBETAN CANTILLATION SIGN HEAVY BEAT
+0FC1  ; [*04C2.0020.0002.0FC1] # TIBETAN CANTILLATION SIGN LIGHT BEAT
+0FC2  ; [*04C3.0020.0002.0FC2] # TIBETAN CANTILLATION SIGN CANG TE-U
+0FC3  ; [*04C4.0020.0002.0FC3] # TIBETAN CANTILLATION SIGN SBUB -CHAL
+0FC4  ; [*04C5.0020.0002.0FC4] # TIBETAN SYMBOL DRIL BU
+0FC5  ; [*04C6.0020.0002.0FC5] # TIBETAN SYMBOL RDO RJE
 0FC6  ; [.0000.0000.0000.0FC6] # TIBETAN SYMBOL PADMA GDAN
-0FC7  ; [*049C.0020.0002.0FC7] # TIBETAN SYMBOL RDO RJE RGYA GRAM
-0FC8  ; [*049D.0020.0002.0FC8] # TIBETAN SYMBOL PHUR PA
-0FC9  ; [*049E.0020.0002.0FC9] # TIBETAN SYMBOL NOR BU
-0FCA  ; [*049F.0020.0002.0FCA] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
-0FCB  ; [*04A0.0020.0002.0FCB] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
-0FCC  ; [*04A1.0020.0002.0FCC] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
-0FCE  ; [*04A2.0020.0002.0FCE] # TIBETAN SIGN RDEL NAG RDEL DKAR
-0FCF  ; [*04A3.0020.0002.0FCF] # TIBETAN SIGN RDEL NAG GSUM
-0FD0  ; [*03C0.0020.0002.0FD0] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
-0FD1  ; [*03C1.0020.0002.0FD1] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
-0FD2  ; [*03CA.0020.0002.0FD2] # TIBETAN MARK NYIS TSHEG
-0FD3  ; [*03CB.0020.0002.0FD3] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
-0FD4  ; [*03CC.0020.0002.0FD4] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
-0FD5  ; [*04A4.0020.0002.0FD5] # RIGHT-FACING SVASTI SIGN
-0FD6  ; [*04A5.0020.0002.0FD6] # LEFT-FACING SVASTI SIGN
-0FD7  ; [*04A6.0020.0002.0FD7] # RIGHT-FACING SVASTI SIGN WITH DOTS
-0FD8  ; [*04A7.0020.0002.0FD8] # LEFT-FACING SVASTI SIGN WITH DOTS
-0FD9  ; [*03CD.0020.0002.0FD9] # TIBETAN MARK LEADING MCHAN RTAGS
-0FDA  ; [*03CE.0020.0002.0FDA] # TIBETAN MARK TRAILING MCHAN RTAGS
-104A  ; [*02AC.0020.0002.104A] # MYANMAR SIGN LITTLE SECTION
-104B  ; [*02AD.0020.0002.104B] # MYANMAR SIGN SECTION
-104C  ; [*03D3.0020.0002.104C] # MYANMAR SYMBOL LOCATIVE
-104D  ; [*03D4.0020.0002.104D] # MYANMAR SYMBOL COMPLETED
-104E  ; [*03D5.0020.0002.104E] # MYANMAR SYMBOL AFOREMENTIONED
-104F  ; [*03D6.0020.0002.104F] # MYANMAR SYMBOL GENITIVE
-109E  ; [*03D7.0020.0002.109E] # MYANMAR SYMBOL SHAN ONE
-109F  ; [*03D8.0020.0002.109F] # MYANMAR SYMBOL SHAN EXCLAMATION
-10FB  ; [*02C6.0020.0002.10FB] # GEORGIAN PARAGRAPH SEPARATOR
-1360  ; [*02C7.0020.0002.1360] # ETHIOPIC SECTION MARK
-1361  ; [*026C.0020.0002.1361] # ETHIOPIC WORDSPACE
-1362  ; [*0293.0020.0002.1362] # ETHIOPIC FULL STOP
-1363  ; [*026D.0020.0002.1363] # ETHIOPIC COMMA
-1364  ; [*026E.0020.0002.1364] # ETHIOPIC SEMICOLON
-1365  ; [*026F.0020.0002.1365] # ETHIOPIC COLON
-1366  ; [*0270.0020.0002.1366] # ETHIOPIC PREFACE COLON
-1367  ; [*0286.0020.0002.1367] # ETHIOPIC QUESTION MARK
-1368  ; [*02C8.0020.0002.1368] # ETHIOPIC PARAGRAPH SEPARATOR
-1372  ; [*14AD.0020.0002.1372] # ETHIOPIC NUMBER TEN
-1373  ; [*14AE.0020.0002.1373] # ETHIOPIC NUMBER TWENTY
-1374  ; [*14AF.0020.0002.1374] # ETHIOPIC NUMBER THIRTY
-1375  ; [*14B0.0020.0002.1375] # ETHIOPIC NUMBER FORTY
-1376  ; [*14B1.0020.0002.1376] # ETHIOPIC NUMBER FIFTY
-1377  ; [*14B2.0020.0002.1377] # ETHIOPIC NUMBER SIXTY
-1378  ; [*14B3.0020.0002.1378] # ETHIOPIC NUMBER SEVENTY
-1379  ; [*14B4.0020.0002.1379] # ETHIOPIC NUMBER EIGHTY
-137A  ; [*14B5.0020.0002.137A] # ETHIOPIC NUMBER NINETY
-137B  ; [*14B6.0020.0002.137B] # ETHIOPIC NUMBER HUNDRED
-137C  ; [*14B7.0020.0002.137C] # ETHIOPIC NUMBER TEN THOUSAND
-1390  ; [*0437.0020.0002.1390] # ETHIOPIC TONAL MARK YIZET
-1391  ; [*0438.0020.0002.1391] # ETHIOPIC TONAL MARK DERET
-1392  ; [*0439.0020.0002.1392] # ETHIOPIC TONAL MARK RIKRIK
-1393  ; [*043A.0020.0002.1393] # ETHIOPIC TONAL MARK SHORT RIKRIK
-1394  ; [*043B.0020.0002.1394] # ETHIOPIC TONAL MARK DIFAT
-1395  ; [*043C.0020.0002.1395] # ETHIOPIC TONAL MARK KENAT
-1396  ; [*043D.0020.0002.1396] # ETHIOPIC TONAL MARK CHIRET
-1397  ; [*043E.0020.0002.1397] # ETHIOPIC TONAL MARK HIDET
-1398  ; [*043F.0020.0002.1398] # ETHIOPIC TONAL MARK DERET-HIDET
-1399  ; [*0440.0020.0002.1399] # ETHIOPIC TONAL MARK KURT
-1400  ; [*0232.0020.0002.1400] # CANADIAN SYLLABICS HYPHEN
-166D  ; [*03E9.0020.0002.166D] # CANADIAN SYLLABICS CHI SIGN
-166E  ; [*0296.0020.0002.166E] # CANADIAN SYLLABICS FULL STOP
-1680  ; [*020B.0020.0002.1680] # OGHAM SPACE MARK
-169B  ; [*0318.0020.0002.169B] # OGHAM FEATHER MARK
-169C  ; [*0319.0020.0002.169C] # OGHAM REVERSED FEATHER MARK
-16EB  ; [*0277.0020.0002.16EB] # RUNIC SINGLE PUNCTUATION
-16EC  ; [*0278.0020.0002.16EC] # RUNIC MULTIPLE PUNCTUATION
-16ED  ; [*0279.0020.0002.16ED] # RUNIC CROSS PUNCTUATION
-1735  ; [*02A9.0020.0002.1735] # PHILIPPINE SINGLE PUNCTUATION
-1736  ; [*02AA.0020.0002.1736] # PHILIPPINE DOUBLE PUNCTUATION
+0FC7  ; [*04C7.0020.0002.0FC7] # TIBETAN SYMBOL RDO RJE RGYA GRAM
+0FC8  ; [*04C8.0020.0002.0FC8] # TIBETAN SYMBOL PHUR PA
+0FC9  ; [*04C9.0020.0002.0FC9] # TIBETAN SYMBOL NOR BU
+0FCA  ; [*04CA.0020.0002.0FCA] # TIBETAN SYMBOL NOR BU NYIS -KHYIL
+0FCB  ; [*04CB.0020.0002.0FCB] # TIBETAN SYMBOL NOR BU GSUM -KHYIL
+0FCC  ; [*04CC.0020.0002.0FCC] # TIBETAN SYMBOL NOR BU BZHI -KHYIL
+0FCE  ; [*04CD.0020.0002.0FCE] # TIBETAN SIGN RDEL NAG RDEL DKAR
+0FCF  ; [*04CE.0020.0002.0FCF] # TIBETAN SIGN RDEL NAG GSUM
+0FD0  ; [*03C9.0020.0002.0FD0] # TIBETAN MARK BSKA- SHOG GI MGO RGYAN
+0FD1  ; [*03CA.0020.0002.0FD1] # TIBETAN MARK MNYAM YIG GI MGO RGYAN
+0FD2  ; [*03D3.0020.0002.0FD2] # TIBETAN MARK NYIS TSHEG
+0FD3  ; [*03D4.0020.0002.0FD3] # TIBETAN MARK INITIAL BRDA RNYING YIG MGO MDUN MA
+0FD4  ; [*03D5.0020.0002.0FD4] # TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
+0FD5  ; [*04CF.0020.0002.0FD5] # RIGHT-FACING SVASTI SIGN
+0FD6  ; [*04D0.0020.0002.0FD6] # LEFT-FACING SVASTI SIGN
+0FD7  ; [*04D1.0020.0002.0FD7] # RIGHT-FACING SVASTI SIGN WITH DOTS
+0FD8  ; [*04D2.0020.0002.0FD8] # LEFT-FACING SVASTI SIGN WITH DOTS
+0FD9  ; [*03D6.0020.0002.0FD9] # TIBETAN MARK LEADING MCHAN RTAGS
+0FDA  ; [*03D7.0020.0002.0FDA] # TIBETAN MARK TRAILING MCHAN RTAGS
+104A  ; [*0292.0020.0002.104A] # MYANMAR SIGN LITTLE SECTION
+104B  ; [*0293.0020.0002.104B] # MYANMAR SIGN SECTION
+104C  ; [*03DB.0020.0002.104C] # MYANMAR SYMBOL LOCATIVE
+104D  ; [*03DC.0020.0002.104D] # MYANMAR SYMBOL COMPLETED
+104E  ; [*03DD.0020.0002.104E] # MYANMAR SYMBOL AFOREMENTIONED
+104F  ; [*03DE.0020.0002.104F] # MYANMAR SYMBOL GENITIVE
+109E  ; [*04D4.0020.0002.109E] # MYANMAR SYMBOL SHAN ONE
+109F  ; [*04D5.0020.0002.109F] # MYANMAR SYMBOL SHAN EXCLAMATION
+10FB  ; [*02B1.0020.0002.10FB] # GEORGIAN PARAGRAPH SEPARATOR
+1360  ; [*02B2.0020.0002.1360] # ETHIOPIC SECTION MARK
+1361  ; [*024F.0020.0002.1361] # ETHIOPIC WORDSPACE
+1362  ; [*0278.0020.0002.1362] # ETHIOPIC FULL STOP
+1363  ; [*0250.0020.0002.1363] # ETHIOPIC COMMA
+1364  ; [*0251.0020.0002.1364] # ETHIOPIC SEMICOLON
+1365  ; [*0252.0020.0002.1365] # ETHIOPIC COLON
+1366  ; [*0253.0020.0002.1366] # ETHIOPIC PREFACE COLON
+1367  ; [*0269.0020.0002.1367] # ETHIOPIC QUESTION MARK
+1368  ; [*02B3.0020.0002.1368] # ETHIOPIC PARAGRAPH SEPARATOR
+1372  ; [*14F4.0020.0002.1372] # ETHIOPIC NUMBER TEN
+1373  ; [*14F5.0020.0002.1373] # ETHIOPIC NUMBER TWENTY
+1374  ; [*14F6.0020.0002.1374] # ETHIOPIC NUMBER THIRTY
+1375  ; [*14F7.0020.0002.1375] # ETHIOPIC NUMBER FORTY
+1376  ; [*14F8.0020.0002.1376] # ETHIOPIC NUMBER FIFTY
+1377  ; [*14F9.0020.0002.1377] # ETHIOPIC NUMBER SIXTY
+1378  ; [*14FA.0020.0002.1378] # ETHIOPIC NUMBER SEVENTY
+1379  ; [*14FB.0020.0002.1379] # ETHIOPIC NUMBER EIGHTY
+137A  ; [*14FC.0020.0002.137A] # ETHIOPIC NUMBER NINETY
+137B  ; [*14FD.0020.0002.137B] # ETHIOPIC NUMBER HUNDRED
+137C  ; [*14FE.0020.0002.137C] # ETHIOPIC NUMBER TEN THOUSAND
+1390  ; [*0453.0020.0002.1390] # ETHIOPIC TONAL MARK YIZET
+1391  ; [*0454.0020.0002.1391] # ETHIOPIC TONAL MARK DERET
+1392  ; [*0455.0020.0002.1392] # ETHIOPIC TONAL MARK RIKRIK
+1393  ; [*0456.0020.0002.1393] # ETHIOPIC TONAL MARK SHORT RIKRIK
+1394  ; [*0457.0020.0002.1394] # ETHIOPIC TONAL MARK DIFAT
+1395  ; [*0458.0020.0002.1395] # ETHIOPIC TONAL MARK KENAT
+1396  ; [*0459.0020.0002.1396] # ETHIOPIC TONAL MARK CHIRET
+1397  ; [*045A.0020.0002.1397] # ETHIOPIC TONAL MARK HIDET
+1398  ; [*045B.0020.0002.1398] # ETHIOPIC TONAL MARK DERET-HIDET
+1399  ; [*045C.0020.0002.1399] # ETHIOPIC TONAL MARK KURT
+1400  ; [*0210.0020.0002.1400] # CANADIAN SYLLABICS HYPHEN
+166D  ; [*03EB.0020.0002.166D] # CANADIAN SYLLABICS CHI SIGN
+166E  ; [*027B.0020.0002.166E] # CANADIAN SYLLABICS FULL STOP
+1680  ; [*020A.0020.0004.1680] # OGHAM SPACE MARK
+169B  ; [*0305.0020.0002.169B] # OGHAM FEATHER MARK
+169C  ; [*0306.0020.0002.169C] # OGHAM REVERSED FEATHER MARK
+16EB  ; [*025A.0020.0002.16EB] # RUNIC SINGLE PUNCTUATION
+16EC  ; [*025B.0020.0002.16EC] # RUNIC MULTIPLE PUNCTUATION
+16ED  ; [*025C.0020.0002.16ED] # RUNIC CROSS PUNCTUATION
+1735  ; [*028F.0020.0002.1735] # PHILIPPINE SINGLE PUNCTUATION
+1736  ; [*0290.0020.0002.1736] # PHILIPPINE DOUBLE PUNCTUATION
+17B4  ; [.0000.0000.0000.17B4] # KHMER VOWEL INHERENT AQ
+17B5  ; [.0000.0000.0000.17B5] # KHMER VOWEL INHERENT AA
 17D3  ; [.0000.0000.0000.17D3] # KHMER SIGN BATHAMASAT
-17D4  ; [*02AE.0020.0002.17D4] # KHMER SIGN KHAN
-17D5  ; [*02AF.0020.0002.17D5] # KHMER SIGN BARIYOOSAN
-17D6  ; [*0274.0020.0002.17D6] # KHMER SIGN CAMNUC PII KUUH
-17D7  ; [*03DC.0020.0002.17D7] # KHMER SIGN LEK TOO
-17D8  ; [*03DD.0020.0002.17D8] # KHMER SIGN BEYYAL
-17D9  ; [*03DE.0020.0002.17D9] # KHMER SIGN PHNAEK MUAN
-17DA  ; [*03DF.0020.0002.17DA] # KHMER SIGN KOOMUUT
-1800  ; [*03AF.0020.0002.1800] # MONGOLIAN BIRGA
-1801  ; [*028F.0020.0002.1801] # MONGOLIAN ELLIPSIS
-1802  ; [*0248.0020.0002.1802] # MONGOLIAN COMMA
-1803  ; [*0294.0020.0002.1803] # MONGOLIAN FULL STOP
-1804  ; [*0271.0020.0002.1804] # MONGOLIAN COLON
-1805  ; [*0272.0020.0002.1805] # MONGOLIAN FOUR DOTS
-1806  ; [*0234.0020.0002.1806] # MONGOLIAN TODO SOFT HYPHEN
-1807  ; [*0235.0020.0002.1807] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
-1808  ; [*0249.0020.0002.1808] # MONGOLIAN MANCHU COMMA
-1809  ; [*0295.0020.0002.1809] # MONGOLIAN MANCHU FULL STOP
+17D4  ; [*0294.0020.0002.17D4] # KHMER SIGN KHAN
+17D5  ; [*0295.0020.0002.17D5] # KHMER SIGN BARIYOOSAN
+17D6  ; [*0257.0020.0002.17D6] # KHMER SIGN CAMNUC PII KUUH
+17D8  ; [*03DF.0020.0002.17D8] # KHMER SIGN BEYYAL
+17D9  ; [*03E0.0020.0002.17D9] # KHMER SIGN PHNAEK MUAN
+17DA  ; [*03E1.0020.0002.17DA] # KHMER SIGN KOOMUUT
+1800  ; [*03B6.0020.0002.1800] # MONGOLIAN BIRGA
+1801  ; [*0274.0020.0002.1801] # MONGOLIAN ELLIPSIS
+1802  ; [*022A.0020.0002.1802] # MONGOLIAN COMMA
+1803  ; [*0279.0020.0002.1803] # MONGOLIAN FULL STOP
+1804  ; [*0254.0020.0002.1804] # MONGOLIAN COLON
+1805  ; [*0255.0020.0002.1805] # MONGOLIAN FOUR DOTS
+1806  ; [*0212.0020.0002.1806] # MONGOLIAN TODO SOFT HYPHEN
+1807  ; [*0213.0020.0002.1807] # MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER
+1808  ; [*022B.0020.0002.1808] # MONGOLIAN MANCHU COMMA
+1809  ; [*027A.0020.0002.1809] # MONGOLIAN MANCHU FULL STOP
 180A  ; [.0000.0000.0000.180A] # MONGOLIAN NIRUGU
 180E  ; [*0207.0020.0002.180E] # MONGOLIAN VOWEL SEPARATOR
-1940  ; [*03D2.0020.0002.1940] # LIMBU SIGN LOO
-1944  ; [*027F.0020.0002.1944] # LIMBU EXCLAMATION MARK
-1945  ; [*0287.0020.0002.1945] # LIMBU QUESTION MARK
-19E0  ; [*04A8.0020.0002.19E0] # KHMER SYMBOL PATHAMASAT
-19E1  ; [*04A9.0020.0002.19E1] # KHMER SYMBOL MUOY KOET
-19E2  ; [*04AA.0020.0002.19E2] # KHMER SYMBOL PII KOET
-19E3  ; [*04AB.0020.0002.19E3] # KHMER SYMBOL BEI KOET
-19E4  ; [*04AC.0020.0002.19E4] # KHMER SYMBOL BUON KOET
-19E5  ; [*04AD.0020.0002.19E5] # KHMER SYMBOL PRAM KOET
-19E6  ; [*04AE.0020.0002.19E6] # KHMER SYMBOL PRAM-MUOY KOET
-19E7  ; [*04AF.0020.0002.19E7] # KHMER SYMBOL PRAM-PII KOET
-19E8  ; [*04B0.0020.0002.19E8] # KHMER SYMBOL PRAM-BEI KOET
-19E9  ; [*04B1.0020.0002.19E9] # KHMER SYMBOL PRAM-BUON KOET
-19EA  ; [*04B2.0020.0002.19EA] # KHMER SYMBOL DAP KOET
-19EB  ; [*04B3.0020.0002.19EB] # KHMER SYMBOL DAP-MUOY KOET
-19EC  ; [*04B4.0020.0002.19EC] # KHMER SYMBOL DAP-PII KOET
-19ED  ; [*04B5.0020.0002.19ED] # KHMER SYMBOL DAP-BEI KOET
-19EE  ; [*04B6.0020.0002.19EE] # KHMER SYMBOL DAP-BUON KOET
-19EF  ; [*04B7.0020.0002.19EF] # KHMER SYMBOL DAP-PRAM KOET
-19F0  ; [*04B8.0020.0002.19F0] # KHMER SYMBOL TUTEYASAT
-19F1  ; [*04B9.0020.0002.19F1] # KHMER SYMBOL MUOY ROC
-19F2  ; [*04BA.0020.0002.19F2] # KHMER SYMBOL PII ROC
-19F3  ; [*04BB.0020.0002.19F3] # KHMER SYMBOL BEI ROC
-19F4  ; [*04BC.0020.0002.19F4] # KHMER SYMBOL BUON ROC
-19F5  ; [*04BD.0020.0002.19F5] # KHMER SYMBOL PRAM ROC
-19F6  ; [*04BE.0020.0002.19F6] # KHMER SYMBOL PRAM-MUOY ROC
-19F7  ; [*04BF.0020.0002.19F7] # KHMER SYMBOL PRAM-PII ROC
-19F8  ; [*04C0.0020.0002.19F8] # KHMER SYMBOL PRAM-BEI ROC
-19F9  ; [*04C1.0020.0002.19F9] # KHMER SYMBOL PRAM-BUON ROC
-19FA  ; [*04C2.0020.0002.19FA] # KHMER SYMBOL DAP ROC
-19FB  ; [*04C3.0020.0002.19FB] # KHMER SYMBOL DAP-MUOY ROC
-19FC  ; [*04C4.0020.0002.19FC] # KHMER SYMBOL DAP-PII ROC
-19FD  ; [*04C5.0020.0002.19FD] # KHMER SYMBOL DAP-BEI ROC
-19FE  ; [*04C6.0020.0002.19FE] # KHMER SYMBOL DAP-BUON ROC
-19FF  ; [*04C7.0020.0002.19FF] # KHMER SYMBOL DAP-PRAM ROC
-1A1E  ; [*02C9.0020.0002.1A1E] # BUGINESE PALLAWA
-1A1F  ; [*02CA.0020.0002.1A1F] # BUGINESE END OF SECTION
+1940  ; [*04D3.0020.0002.1940] # LIMBU SIGN LOO
+1944  ; [*0262.0020.0002.1944] # LIMBU EXCLAMATION MARK
+1945  ; [*026A.0020.0002.1945] # LIMBU QUESTION MARK
+19E0  ; [*04D9.0020.0002.19E0] # KHMER SYMBOL PATHAMASAT
+19E1  ; [*04DA.0020.0002.19E1] # KHMER SYMBOL MUOY KOET
+19E2  ; [*04DB.0020.0002.19E2] # KHMER SYMBOL PII KOET
+19E3  ; [*04DC.0020.0002.19E3] # KHMER SYMBOL BEI KOET
+19E4  ; [*04DD.0020.0002.19E4] # KHMER SYMBOL BUON KOET
+19E5  ; [*04DE.0020.0002.19E5] # KHMER SYMBOL PRAM KOET
+19E6  ; [*04DF.0020.0002.19E6] # KHMER SYMBOL PRAM-MUOY KOET
+19E7  ; [*04E0.0020.0002.19E7] # KHMER SYMBOL PRAM-PII KOET
+19E8  ; [*04E1.0020.0002.19E8] # KHMER SYMBOL PRAM-BEI KOET
+19E9  ; [*04E2.0020.0002.19E9] # KHMER SYMBOL PRAM-BUON KOET
+19EA  ; [*04E3.0020.0002.19EA] # KHMER SYMBOL DAP KOET
+19EB  ; [*04E4.0020.0002.19EB] # KHMER SYMBOL DAP-MUOY KOET
+19EC  ; [*04E5.0020.0002.19EC] # KHMER SYMBOL DAP-PII KOET
+19ED  ; [*04E6.0020.0002.19ED] # KHMER SYMBOL DAP-BEI KOET
+19EE  ; [*04E7.0020.0002.19EE] # KHMER SYMBOL DAP-BUON KOET
+19EF  ; [*04E8.0020.0002.19EF] # KHMER SYMBOL DAP-PRAM KOET
+19F0  ; [*04E9.0020.0002.19F0] # KHMER SYMBOL TUTEYASAT
+19F1  ; [*04EA.0020.0002.19F1] # KHMER SYMBOL MUOY ROC
+19F2  ; [*04EB.0020.0002.19F2] # KHMER SYMBOL PII ROC
+19F3  ; [*04EC.0020.0002.19F3] # KHMER SYMBOL BEI ROC
+19F4  ; [*04ED.0020.0002.19F4] # KHMER SYMBOL BUON ROC
+19F5  ; [*04EE.0020.0002.19F5] # KHMER SYMBOL PRAM ROC
+19F6  ; [*04EF.0020.0002.19F6] # KHMER SYMBOL PRAM-MUOY ROC
+19F7  ; [*04F0.0020.0002.19F7] # KHMER SYMBOL PRAM-PII ROC
+19F8  ; [*04F1.0020.0002.19F8] # KHMER SYMBOL PRAM-BEI ROC
+19F9  ; [*04F2.0020.0002.19F9] # KHMER SYMBOL PRAM-BUON ROC
+19FA  ; [*04F3.0020.0002.19FA] # KHMER SYMBOL DAP ROC
+19FB  ; [*04F4.0020.0002.19FB] # KHMER SYMBOL DAP-MUOY ROC
+19FC  ; [*04F5.0020.0002.19FC] # KHMER SYMBOL DAP-PII ROC
+19FD  ; [*04F6.0020.0002.19FD] # KHMER SYMBOL DAP-BEI ROC
+19FE  ; [*04F7.0020.0002.19FE] # KHMER SYMBOL DAP-BUON ROC
+19FF  ; [*04F8.0020.0002.19FF] # KHMER SYMBOL DAP-PRAM ROC
+1A1E  ; [*02B4.0020.0002.1A1E] # BUGINESE PALLAWA
+1A1F  ; [*02B5.0020.0002.1A1F] # BUGINESE END OF SECTION
 1A7F  ; [.0000.0000.0000.1A7F] # TAI THAM COMBINING CRYPTOGRAMMIC DOT
-1AA0  ; [*03E0.0020.0002.1AA0] # TAI THAM SIGN WIANG
-1AA1  ; [*03E1.0020.0002.1AA1] # TAI THAM SIGN WIANGWAAK
-1AA2  ; [*03E2.0020.0002.1AA2] # TAI THAM SIGN SAWAN
-1AA3  ; [*03E3.0020.0002.1AA3] # TAI THAM SIGN KEOW
-1AA4  ; [*03E4.0020.0002.1AA4] # TAI THAM SIGN HOY
-1AA5  ; [*03E5.0020.0002.1AA5] # TAI THAM SIGN DOKMAI
-1AA6  ; [*03E6.0020.0002.1AA6] # TAI THAM SIGN REVERSED ROTATED RANA
-1AA8  ; [*02B0.0020.0002.1AA8] # TAI THAM SIGN KAAN
-1AA9  ; [*02B1.0020.0002.1AA9] # TAI THAM SIGN KAANKUU
-1AAA  ; [*02B2.0020.0002.1AAA] # TAI THAM SIGN SATKAAN
-1AAB  ; [*02B3.0020.0002.1AAB] # TAI THAM SIGN SATKAANKUU
-1AAC  ; [*03E7.0020.0002.1AAC] # TAI THAM SIGN HANG
-1AAD  ; [*03E8.0020.0002.1AAD] # TAI THAM SIGN CAANG
-1B5A  ; [*02CB.0020.0002.1B5A] # BALINESE PANTI
-1B5B  ; [*02CC.0020.0002.1B5B] # BALINESE PAMADA
-1B5C  ; [*0297.0020.0002.1B5C] # BALINESE WINDU
-1B5D  ; [*0275.0020.0002.1B5D] # BALINESE CARIK PAMUNGKAH
-1B5E  ; [*02B4.0020.0002.1B5E] # BALINESE CARIK SIKI
-1B5F  ; [*02B5.0020.0002.1B5F] # BALINESE CARIK PAREREN
-1B60  ; [*0233.0020.0002.1B60] # BALINESE PAMENENG
-1B61  ; [*04C8.0020.0002.1B61] # BALINESE MUSICAL SYMBOL DONG
-1B62  ; [*04C9.0020.0002.1B62] # BALINESE MUSICAL SYMBOL DENG
-1B63  ; [*04CA.0020.0002.1B63] # BALINESE MUSICAL SYMBOL DUNG
-1B64  ; [*04CB.0020.0002.1B64] # BALINESE MUSICAL SYMBOL DANG
-1B65  ; [*04CC.0020.0002.1B65] # BALINESE MUSICAL SYMBOL DANG SURANG
-1B66  ; [*04CD.0020.0002.1B66] # BALINESE MUSICAL SYMBOL DING
-1B67  ; [*04CE.0020.0002.1B67] # BALINESE MUSICAL SYMBOL DAENG
-1B68  ; [*04CF.0020.0002.1B68] # BALINESE MUSICAL SYMBOL DEUNG
-1B69  ; [*04D0.0020.0002.1B69] # BALINESE MUSICAL SYMBOL DAING
-1B6A  ; [*04D1.0020.0002.1B6A] # BALINESE MUSICAL SYMBOL DANG GEDE
+1AA0  ; [*03E2.0020.0002.1AA0] # TAI THAM SIGN WIANG
+1AA1  ; [*03E3.0020.0002.1AA1] # TAI THAM SIGN WIANGWAAK
+1AA2  ; [*03E4.0020.0002.1AA2] # TAI THAM SIGN SAWAN
+1AA3  ; [*03E5.0020.0002.1AA3] # TAI THAM SIGN KEOW
+1AA4  ; [*03E6.0020.0002.1AA4] # TAI THAM SIGN HOY
+1AA5  ; [*03E7.0020.0002.1AA5] # TAI THAM SIGN DOKMAI
+1AA6  ; [*03E8.0020.0002.1AA6] # TAI THAM SIGN REVERSED ROTATED RANA
+1AA8  ; [*0296.0020.0002.1AA8] # TAI THAM SIGN KAAN
+1AA9  ; [*0297.0020.0002.1AA9] # TAI THAM SIGN KAANKUU
+1AAA  ; [*0298.0020.0002.1AAA] # TAI THAM SIGN SATKAAN
+1AAB  ; [*0299.0020.0002.1AAB] # TAI THAM SIGN SATKAANKUU
+1AAC  ; [*03E9.0020.0002.1AAC] # TAI THAM SIGN HANG
+1AAD  ; [*03EA.0020.0002.1AAD] # TAI THAM SIGN CAANG
+1B5A  ; [*02B6.0020.0002.1B5A] # BALINESE PANTI
+1B5B  ; [*02B7.0020.0002.1B5B] # BALINESE PAMADA
+1B5C  ; [*027C.0020.0002.1B5C] # BALINESE WINDU
+1B5D  ; [*0258.0020.0002.1B5D] # BALINESE CARIK PAMUNGKAH
+1B5E  ; [*029A.0020.0002.1B5E] # BALINESE CARIK SIKI
+1B5F  ; [*029B.0020.0002.1B5F] # BALINESE CARIK PAREREN
+1B60  ; [*0211.0020.0002.1B60] # BALINESE PAMENENG
+1B61  ; [*04F9.0020.0002.1B61] # BALINESE MUSICAL SYMBOL DONG
+1B62  ; [*04FA.0020.0002.1B62] # BALINESE MUSICAL SYMBOL DENG
+1B63  ; [*04FB.0020.0002.1B63] # BALINESE MUSICAL SYMBOL DUNG
+1B64  ; [*04FC.0020.0002.1B64] # BALINESE MUSICAL SYMBOL DANG
+1B65  ; [*04FD.0020.0002.1B65] # BALINESE MUSICAL SYMBOL DANG SURANG
+1B66  ; [*04FE.0020.0002.1B66] # BALINESE MUSICAL SYMBOL DING
+1B67  ; [*04FF.0020.0002.1B67] # BALINESE MUSICAL SYMBOL DAENG
+1B68  ; [*0500.0020.0002.1B68] # BALINESE MUSICAL SYMBOL DEUNG
+1B69  ; [*0501.0020.0002.1B69] # BALINESE MUSICAL SYMBOL DAING
+1B6A  ; [*0502.0020.0002.1B6A] # BALINESE MUSICAL SYMBOL DANG GEDE
 1B6B  ; [.0000.0000.0000.1B6B] # BALINESE MUSICAL SYMBOL COMBINING TEGEH
 1B6C  ; [.0000.0000.0000.1B6C] # BALINESE MUSICAL SYMBOL COMBINING ENDEP
 1B6D  ; [.0000.0000.0000.1B6D] # BALINESE MUSICAL SYMBOL COMBINING KEMPUL
@@ -997,26 +1007,34 @@
 1B71  ; [.0000.0000.0000.1B71] # BALINESE MUSICAL SYMBOL COMBINING KEMPLI WITH JEGOGAN
 1B72  ; [.0000.0000.0000.1B72] # BALINESE MUSICAL SYMBOL COMBINING BENDE
 1B73  ; [.0000.0000.0000.1B73] # BALINESE MUSICAL SYMBOL COMBINING GONG
-1B74  ; [*04D2.0020.0002.1B74] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
-1B75  ; [*04D3.0020.0002.1B75] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
-1B76  ; [*04D4.0020.0002.1B76] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
-1B77  ; [*04D5.0020.0002.1B77] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
-1B78  ; [*04D6.0020.0002.1B78] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
-1B79  ; [*04D7.0020.0002.1B79] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
-1B7A  ; [*04D8.0020.0002.1B7A] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
-1B7B  ; [*04D9.0020.0002.1B7B] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
-1B7C  ; [*04DA.0020.0002.1B7C] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
-1BFC  ; [*03ED.0020.0002.1BFC] # BATAK SYMBOL BINDU NA METEK
-1BFD  ; [*03EE.0020.0002.1BFD] # BATAK SYMBOL BINDU PINARBORAS
-1BFE  ; [*03EF.0020.0002.1BFE] # BATAK SYMBOL BINDU JUDUL
-1BFF  ; [*03F0.0020.0002.1BFF] # BATAK SYMBOL BINDU PANGOLAT
-1C3B  ; [*02A5.0020.0002.1C3B] # LEPCHA PUNCTUATION TA-ROL
-1C3C  ; [*02A6.0020.0002.1C3C] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
-1C3D  ; [*03CF.0020.0002.1C3D] # LEPCHA PUNCTUATION CER-WA
-1C3E  ; [*03D0.0020.0002.1C3E] # LEPCHA PUNCTUATION TSHOOK CER-WA
-1C3F  ; [*03D1.0020.0002.1C3F] # LEPCHA PUNCTUATION TSHOOK
-1C7E  ; [*02C2.0020.0002.1C7E] # OL CHIKI PUNCTUATION MUCAAD
-1C7F  ; [*02C3.0020.0002.1C7F] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1B74  ; [*0503.0020.0002.1B74] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG
+1B75  ; [*0504.0020.0002.1B75] # BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DAG
+1B76  ; [*0505.0020.0002.1B76] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TUK
+1B77  ; [*0506.0020.0002.1B77] # BALINESE MUSICAL SYMBOL RIGHT-HAND CLOSED TAK
+1B78  ; [*0507.0020.0002.1B78] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PANG
+1B79  ; [*0508.0020.0002.1B79] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PUNG
+1B7A  ; [*0509.0020.0002.1B7A] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLAK
+1B7B  ; [*050A.0020.0002.1B7B] # BALINESE MUSICAL SYMBOL LEFT-HAND CLOSED PLUK
+1B7C  ; [*050B.0020.0002.1B7C] # BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
+1BFC  ; [*03F7.0020.0002.1BFC] # BATAK SYMBOL BINDU NA METEK
+1BFD  ; [*03F8.0020.0002.1BFD] # BATAK SYMBOL BINDU PINARBORAS
+1BFE  ; [*03F9.0020.0002.1BFE] # BATAK SYMBOL BINDU JUDUL
+1BFF  ; [*03FA.0020.0002.1BFF] # BATAK SYMBOL BINDU PANGOLAT
+1C3B  ; [*028B.0020.0002.1C3B] # LEPCHA PUNCTUATION TA-ROL
+1C3C  ; [*028C.0020.0002.1C3C] # LEPCHA PUNCTUATION NYET THYOOM TA-ROL
+1C3D  ; [*03D8.0020.0002.1C3D] # LEPCHA PUNCTUATION CER-WA
+1C3E  ; [*03D9.0020.0002.1C3E] # LEPCHA PUNCTUATION TSHOOK CER-WA
+1C3F  ; [*03DA.0020.0002.1C3F] # LEPCHA PUNCTUATION TSHOOK
+1C7E  ; [*02AD.0020.0002.1C7E] # OL CHIKI PUNCTUATION MUCAAD
+1C7F  ; [*02AE.0020.0002.1C7F] # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0  ; [*03EC.0020.0002.1CC0] # SUNDANESE PUNCTUATION BINDU SURYA
+1CC1  ; [*03ED.0020.0002.1CC1] # SUNDANESE PUNCTUATION BINDU PANGLONG
+1CC2  ; [*03EE.0020.0002.1CC2] # SUNDANESE PUNCTUATION BINDU PURNAMA
+1CC3  ; [*03EF.0020.0002.1CC3] # SUNDANESE PUNCTUATION BINDU CAKRA
+1CC4  ; [*03F0.0020.0002.1CC4] # SUNDANESE PUNCTUATION BINDU LEU SATANGA
+1CC5  ; [*03F1.0020.0002.1CC5] # SUNDANESE PUNCTUATION BINDU KA SATANGA
+1CC6  ; [*03F2.0020.0002.1CC6] # SUNDANESE PUNCTUATION BINDU DA SATANGA
+1CC7  ; [*03F3.0020.0002.1CC7] # SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD0  ; [.0000.0000.0000.1CD0] # VEDIC TONE KARSHANA
 1CD1  ; [.0000.0000.0000.1CD1] # VEDIC TONE SHARA
 1CD2  ; [.0000.0000.0000.1CD2] # VEDIC TONE PRENKHA
@@ -1042,2748 +1060,2760 @@
 1CE6  ; [.0000.0000.0000.1CE6] # VEDIC SIGN REVERSED VISARGA ANUDATTA
 1CE7  ; [.0000.0000.0000.1CE7] # VEDIC SIGN VISARGA UDATTA WITH TAIL
 1CE8  ; [.0000.0000.0000.1CE8] # VEDIC SIGN VISARGA ANUDATTA WITH TAIL
-1FBD  ; [*0217.0020.0002.1FBD] # GREEK KORONIS; QQC
-1FBF  ; [*0217.0020.0002.1FBF] # GREEK PSILI
-1FC0  ; [*021D.0020.0002.1FC0] # GREEK PERISPOMENI
-1FC1  ; [*0214.0020.0002.00A8][.0000.0045.0002.0342] # GREEK DIALYTIKA AND PERISPOMENI; QQCM
-1FCD  ; [*0217.0020.0002.1FBF][.0000.0035.0002.0300] # GREEK PSILI AND VARIA; QQCM
-1FCE  ; [*0217.0020.0002.1FBF][.0000.0032.0002.0301] # GREEK PSILI AND OXIA; QQCM
-1FCF  ; [*0217.0020.0002.1FBF][.0000.0045.0002.0342] # GREEK PSILI AND PERISPOMENI; QQCM
-1FDD  ; [*0218.0020.0002.1FFE][.0000.0035.0002.0300] # GREEK DASIA AND VARIA; QQCM
-1FDE  ; [*0218.0020.0002.1FFE][.0000.0032.0002.0301] # GREEK DASIA AND OXIA; QQCM
-1FDF  ; [*0218.0020.0002.1FFE][.0000.0045.0002.0342] # GREEK DASIA AND PERISPOMENI; QQCM
-1FED  ; [*0214.0020.0002.00A8][.0000.0035.0002.0300] # GREEK DIALYTIKA AND VARIA; QQCM
-1FEE  ; [*0214.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA AND OXIA; QQCM
-1FEF  ; [*020C.0020.0002.1FEF] # GREEK VARIA; QQC
-1FFD  ; [*020D.0020.0002.1FFD] # GREEK OXIA; QQC
-1FFE  ; [*0218.0020.0002.1FFE] # GREEK DASIA
-2000  ; [*020A.0020.0004.2000] # EN QUAD; QQK
-2001  ; [*020A.0020.0004.2001] # EM QUAD; QQK
-2002  ; [*020A.0020.0004.2002] # EN SPACE; QQK
-2003  ; [*020A.0020.0004.2003] # EM SPACE; QQK
-2004  ; [*020A.0020.0004.2004] # THREE-PER-EM SPACE; QQK
-2005  ; [*020A.0020.0004.2005] # FOUR-PER-EM SPACE; QQK
-2006  ; [*020A.0020.0004.2006] # SIX-PER-EM SPACE; QQK
-2007  ; [*020A.0020.001B.2007] # FIGURE SPACE; QQK
-2008  ; [*020A.0020.0004.2008] # PUNCTUATION SPACE; QQK
-2009  ; [*020A.0020.0004.2009] # THIN SPACE; QQK
-200A  ; [*020A.0020.0004.200A] # HAIR SPACE; QQK
-2010  ; [*0236.0020.0002.2010] # HYPHEN
-2011  ; [*0236.0020.001B.2011] # NON-BREAKING HYPHEN; QQK
-2012  ; [*0237.0020.0002.2012] # FIGURE DASH
-2013  ; [*0238.0020.0002.2013] # EN DASH
-2014  ; [*0239.0020.0002.2014] # EM DASH
-2015  ; [*023A.0020.0002.2015] # HORIZONTAL BAR
-2016  ; [*0574.0020.0002.2016] # DOUBLE VERTICAL LINE
-2017  ; [*021C.0020.0002.2017] # DOUBLE LOW LINE
-2018  ; [*02FE.0020.0002.2018] # LEFT SINGLE QUOTATION MARK
-2019  ; [*02FF.0020.0002.2019] # RIGHT SINGLE QUOTATION MARK
-201A  ; [*0300.0020.0002.201A] # SINGLE LOW-9 QUOTATION MARK
-201B  ; [*0301.0020.0002.201B] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
-201C  ; [*0305.0020.0002.201C] # LEFT DOUBLE QUOTATION MARK
-201D  ; [*0306.0020.0002.201D] # RIGHT DOUBLE QUOTATION MARK
-201E  ; [*0307.0020.0002.201E] # DOUBLE LOW-9 QUOTATION MARK
-201F  ; [*0308.0020.0002.201F] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
-2020  ; [*0379.0020.0002.2020] # DAGGER
-2021  ; [*037A.0020.0002.2021] # DOUBLE DAGGER
-2022  ; [*037B.0020.0002.2022] # BULLET
-2023  ; [*037C.0020.0002.2023] # TRIANGULAR BULLET
-2024  ; [*028E.0020.0004.2024] # ONE DOT LEADER; QQK
-2025  ; [*028E.0020.0004.2025][*028E.0020.0004.2025] # TWO DOT LEADER; QQKN
-2026  ; [*028E.0020.0004.2026][*028E.0020.0004.2026][*028E.0020.001F.2026] # HORIZONTAL ELLIPSIS; QQKN
-2027  ; [*037D.0020.0002.2027] # HYPHENATION POINT
+1CF4  ; [.0000.0000.0000.1CF4] # VEDIC TONE CANDRA ABOVE
+1FBD  ; [*041B.0020.0002.1FBD] # GREEK KORONIS
+1FBF  ; [*041B.0020.0002.1FBF] # GREEK PSILI
+1FC0  ; [*041D.0020.0002.1FC0] # GREEK PERISPOMENI
+1FC1  ; [*0416.0020.0002.00A8][.0000.0045.0002.0342] # GREEK DIALYTIKA AND PERISPOMENI
+1FCD  ; [*041B.0020.0002.1FBF][.0000.0035.0002.0300] # GREEK PSILI AND VARIA
+1FCE  ; [*041B.0020.0002.1FBF][.0000.0032.0002.0301] # GREEK PSILI AND OXIA
+1FCF  ; [*041B.0020.0002.1FBF][.0000.0045.0002.0342] # GREEK PSILI AND PERISPOMENI
+1FDD  ; [*041C.0020.0002.1FFE][.0000.0035.0002.0300] # GREEK DASIA AND VARIA
+1FDE  ; [*041C.0020.0002.1FFE][.0000.0032.0002.0301] # GREEK DASIA AND OXIA
+1FDF  ; [*041C.0020.0002.1FFE][.0000.0045.0002.0342] # GREEK DASIA AND PERISPOMENI
+1FED  ; [*0416.0020.0002.00A8][.0000.0035.0002.0300] # GREEK DIALYTIKA AND VARIA
+1FEE  ; [*0416.0020.0002.00A8][.0000.0032.0002.0301] # GREEK DIALYTIKA AND OXIA
+1FEF  ; [*040F.0020.0002.1FEF] # GREEK VARIA
+1FFD  ; [*0410.0020.0002.1FFD] # GREEK OXIA
+1FFE  ; [*041C.0020.0002.1FFE] # GREEK DASIA
+2000  ; [*020A.0020.0004.2000] # EN QUAD
+2001  ; [*020A.0020.0004.2001] # EM QUAD
+2002  ; [*020A.0020.0004.2002] # EN SPACE
+2003  ; [*020A.0020.0004.2003] # EM SPACE
+2004  ; [*020A.0020.0004.2004] # THREE-PER-EM SPACE
+2005  ; [*020A.0020.0004.2005] # FOUR-PER-EM SPACE
+2006  ; [*020A.0020.0004.2006] # SIX-PER-EM SPACE
+2007  ; [*020A.0020.001B.2007] # FIGURE SPACE
+2008  ; [*020A.0020.0004.2008] # PUNCTUATION SPACE
+2009  ; [*020A.0020.0004.2009] # THIN SPACE
+200A  ; [*020A.0020.0004.200A] # HAIR SPACE
+2010  ; [*0214.0020.0002.2010] # HYPHEN
+2011  ; [*0214.0020.001B.2011] # NON-BREAKING HYPHEN
+2012  ; [*0215.0020.0002.2012] # FIGURE DASH
+2013  ; [*0216.0020.0002.2013] # EN DASH
+2014  ; [*0217.0020.0002.2014] # EM DASH
+2015  ; [*0218.0020.0002.2015] # HORIZONTAL BAR
+2016  ; [*0363.0020.0002.2016] # DOUBLE VERTICAL LINE
+2017  ; [*020D.0020.0002.2017] # DOUBLE LOW LINE
+2018  ; [*02EB.0020.0002.2018] # LEFT SINGLE QUOTATION MARK
+2019  ; [*02EC.0020.0002.2019] # RIGHT SINGLE QUOTATION MARK
+201A  ; [*02ED.0020.0002.201A] # SINGLE LOW-9 QUOTATION MARK
+201B  ; [*02EE.0020.0002.201B] # SINGLE HIGH-REVERSED-9 QUOTATION MARK
+201C  ; [*02F2.0020.0002.201C] # LEFT DOUBLE QUOTATION MARK
+201D  ; [*02F3.0020.0002.201D] # RIGHT DOUBLE QUOTATION MARK
+201E  ; [*02F4.0020.0002.201E] # DOUBLE LOW-9 QUOTATION MARK
+201F  ; [*02F5.0020.0002.201F] # DOUBLE HIGH-REVERSED-9 QUOTATION MARK
+2020  ; [*037D.0020.0002.2020] # DAGGER
+2021  ; [*037E.0020.0002.2021] # DOUBLE DAGGER
+2022  ; [*0382.0020.0002.2022] # BULLET
+2023  ; [*0383.0020.0002.2023] # TRIANGULAR BULLET
+2024  ; [*0273.0020.0004.2024] # ONE DOT LEADER
+2025  ; [*0273.0020.0004.2025][*0273.0020.001F.2025] # TWO DOT LEADER
+2026  ; [*0273.0020.0004.2026][*0273.0020.0004.2026][*0273.0020.001F.2026] # HORIZONTAL ELLIPSIS
+2027  ; [*0384.0020.0002.2027] # HYPHENATION POINT
 2028  ; [*0208.0020.0002.2028] # LINE SEPARATOR
 2029  ; [*0209.0020.0002.2029] # PARAGRAPH SEPARATOR
-202F  ; [*020A.0020.001B.202F] # NARROW NO-BREAK SPACE; QQK
-2030  ; [*0374.0020.0002.2030] # PER MILLE SIGN
-2031  ; [*0376.0020.0002.2031] # PER TEN THOUSAND SIGN
-2032  ; [*0381.0020.0002.2032] # PRIME
-2033  ; [*0381.0020.0004.2033][*0381.0020.0004.2033] # DOUBLE PRIME; QQKN
-2034  ; [*0381.0020.0004.2034][*0381.0020.0004.2034][*0381.0020.001F.2034] # TRIPLE PRIME; QQKN
-2035  ; [*0382.0020.0002.2035] # REVERSED PRIME
-2036  ; [*0382.0020.0004.2036][*0382.0020.0004.2036] # REVERSED DOUBLE PRIME; QQKN
-2037  ; [*0382.0020.0004.2037][*0382.0020.0004.2037][*0382.0020.001F.2037] # REVERSED TRIPLE PRIME; QQKN
-2038  ; [*0385.0020.0002.2038] # CARET
-2039  ; [*0302.0020.0002.2039] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
-203A  ; [*0303.0020.0002.203A] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
-203B  ; [*0386.0020.0002.203B] # REFERENCE MARK
-203C  ; [*027B.0020.0004.203C][*027B.0020.0004.203C] # DOUBLE EXCLAMATION MARK; QQKN
-203D  ; [*028C.0020.0002.203D] # INTERROBANG
-203E  ; [*0211.0020.0002.203E] # OVERLINE
-203F  ; [*0387.0020.0002.203F] # UNDERTIE
-2040  ; [*0389.0020.0002.2040] # CHARACTER TIE
-2041  ; [*038B.0020.0002.2041] # CARET INSERTION POINT
-2042  ; [*038C.0020.0002.2042] # ASTERISM
-2043  ; [*037E.0020.0002.2043] # HYPHEN BULLET
-2044  ; [*036C.0020.0002.2044] # FRACTION SLASH
-2045  ; [*031A.0020.0002.2045] # LEFT SQUARE BRACKET WITH QUILL
-2046  ; [*031B.0020.0002.2046] # RIGHT SQUARE BRACKET WITH QUILL
-2047  ; [*0280.0020.0004.2047][*0280.0020.0004.2047] # DOUBLE QUESTION MARK; QQKN
-2048  ; [*0280.0020.0004.2048][*027B.0020.0004.2048] # QUESTION EXCLAMATION MARK; QQKN
-2049  ; [*027B.0020.0004.2049][*0280.0020.0004.2049] # EXCLAMATION QUESTION MARK; QQKN
-204A  ; [*0370.0020.0002.204A] # TIRONIAN SIGN ET
-204B  ; [*0362.0020.0002.204B] # REVERSED PILCROW SIGN
-204C  ; [*037F.0020.0002.204C] # BLACK LEFTWARDS BULLET
-204D  ; [*0380.0020.0002.204D] # BLACK RIGHTWARDS BULLET
-204E  ; [*0367.0020.0002.204E] # LOW ASTERISK
-204F  ; [*0252.0020.0002.204F] # REVERSED SEMICOLON
-2050  ; [*038A.0020.0002.2050] # CLOSE UP
-2051  ; [*0368.0020.0002.2051] # TWO ASTERISKS ALIGNED VERTICALLY
-2052  ; [*0378.0020.0002.2052] # COMMERCIAL MINUS SIGN
-2053  ; [*023B.0020.0002.2053] # SWUNG DASH
-2054  ; [*0388.0020.0002.2054] # INVERTED UNDERTIE
-2055  ; [*02E2.0020.0002.2055] # FLOWER PUNCTUATION MARK
-2056  ; [*02E3.0020.0002.2056] # THREE DOT PUNCTUATION
-2057  ; [*0381.0020.0004.2057][*0381.0020.0004.2057][*0381.0020.001F.2057][*0381.0020.001F.2057] # QUADRUPLE PRIME; QQKN
-2058  ; [*02E4.0020.0002.2058] # FOUR DOT PUNCTUATION
-2059  ; [*02E5.0020.0002.2059] # FIVE DOT PUNCTUATION
-205A  ; [*02E6.0020.0002.205A] # TWO DOT PUNCTUATION
-205B  ; [*02E7.0020.0002.205B] # FOUR DOT MARK
-205C  ; [*02E8.0020.0002.205C] # DOTTED CROSS
-205D  ; [*02E9.0020.0002.205D] # TRICOLON
-205E  ; [*02EA.0020.0002.205E] # VERTICAL FOUR DOTS
-205F  ; [*020A.0020.0004.205F] # MEDIUM MATHEMATICAL SPACE; QQK
+202F  ; [*020A.0020.001B.202F] # NARROW NO-BREAK SPACE
+2030  ; [*0379.0020.0002.2030] # PER MILLE SIGN
+2031  ; [*037B.0020.0002.2031] # PER TEN THOUSAND SIGN
+2032  ; [*0388.0020.0002.2032] # PRIME
+2033  ; [*0388.0020.0004.2033][*0388.0020.001F.2033] # DOUBLE PRIME
+2034  ; [*0388.0020.0004.2034][*0388.0020.0004.2034][*0388.0020.001F.2034] # TRIPLE PRIME
+2035  ; [*0389.0020.0002.2035] # REVERSED PRIME
+2036  ; [*0389.0020.0004.2036][*0389.0020.001F.2036] # REVERSED DOUBLE PRIME
+2037  ; [*0389.0020.0004.2037][*0389.0020.0004.2037][*0389.0020.001F.2037] # REVERSED TRIPLE PRIME
+2038  ; [*038C.0020.0002.2038] # CARET
+2039  ; [*02EF.0020.0002.2039] # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+203A  ; [*02F0.0020.0002.203A] # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+203B  ; [*038D.0020.0002.203B] # REFERENCE MARK
+203C  ; [*025E.0020.0004.203C][*025E.0020.001F.203C] # DOUBLE EXCLAMATION MARK
+203D  ; [*0271.0020.0002.203D] # INTERROBANG
+203E  ; [*020B.0020.0002.203E] # OVERLINE
+203F  ; [*038E.0020.0002.203F] # UNDERTIE
+2040  ; [*0390.0020.0002.2040] # CHARACTER TIE
+2041  ; [*0392.0020.0002.2041] # CARET INSERTION POINT
+2042  ; [*0393.0020.0002.2042] # ASTERISM
+2043  ; [*0385.0020.0002.2043] # HYPHEN BULLET
+2044  ; [*05AC.0020.0002.2044] # FRACTION SLASH
+2045  ; [*0307.0020.0002.2045] # LEFT SQUARE BRACKET WITH QUILL
+2046  ; [*0308.0020.0002.2046] # RIGHT SQUARE BRACKET WITH QUILL
+2047  ; [*0263.0020.0004.2047][*0263.0020.001F.2047] # DOUBLE QUESTION MARK
+2048  ; [*0263.0020.0004.2048][*025E.0020.001F.2048] # QUESTION EXCLAMATION MARK
+2049  ; [*025E.0020.0004.2049][*0263.0020.001F.2049] # EXCLAMATION QUESTION MARK
+204A  ; [*0375.0020.0002.204A] # TIRONIAN SIGN ET
+204B  ; [*036B.0020.0002.204B] # REVERSED PILCROW SIGN
+204C  ; [*0386.0020.0002.204C] # BLACK LEFTWARDS BULLET
+204D  ; [*0387.0020.0002.204D] # BLACK RIGHTWARDS BULLET
+204E  ; [*036E.0020.0002.204E] # LOW ASTERISK
+204F  ; [*0234.0020.0002.204F] # REVERSED SEMICOLON
+2050  ; [*0391.0020.0002.2050] # CLOSE UP
+2051  ; [*036F.0020.0002.2051] # TWO ASTERISKS ALIGNED VERTICALLY
+2052  ; [*05A8.0020.0002.2052] # COMMERCIAL MINUS SIGN
+2053  ; [*021B.0020.0002.2053] # SWUNG DASH
+2054  ; [*038F.0020.0002.2054] # INVERTED UNDERTIE
+2055  ; [*02CF.0020.0002.2055] # FLOWER PUNCTUATION MARK
+2056  ; [*02D0.0020.0002.2056] # THREE DOT PUNCTUATION
+2057  ; [*0388.0020.0004.2057][*0388.0020.0004.2057][*0388.0020.0004.2057][*0388.0020.001F.2057] # QUADRUPLE PRIME
+2058  ; [*02D1.0020.0002.2058] # FOUR DOT PUNCTUATION
+2059  ; [*02D2.0020.0002.2059] # FIVE DOT PUNCTUATION
+205A  ; [*02D3.0020.0002.205A] # TWO DOT PUNCTUATION
+205B  ; [*02D4.0020.0002.205B] # FOUR DOT MARK
+205C  ; [*02D5.0020.0002.205C] # DOTTED CROSS
+205D  ; [*02D6.0020.0002.205D] # TRICOLON
+205E  ; [*02D7.0020.0002.205E] # VERTICAL FOUR DOTS
+205F  ; [*020A.0020.0004.205F] # MEDIUM MATHEMATICAL SPACE
 2061  ; [.0000.0000.0000.2061] # FUNCTION APPLICATION
 2062  ; [.0000.0000.0000.2062] # INVISIBLE TIMES
 2063  ; [.0000.0000.0000.2063] # INVISIBLE SEPARATOR
 2064  ; [.0000.0000.0000.2064] # INVISIBLE PLUS
-207A  ; [*056A.0020.0014.207A] # SUPERSCRIPT PLUS SIGN; QQK
-207B  ; [*0576.0020.0014.207B] # SUPERSCRIPT MINUS; QQK
-207C  ; [*056F.0020.0014.207C] # SUPERSCRIPT EQUALS SIGN; QQK
-207D  ; [*030E.0020.0014.207D] # SUPERSCRIPT LEFT PARENTHESIS; QQK
-207E  ; [*030F.0020.0014.207E] # SUPERSCRIPT RIGHT PARENTHESIS; QQK
-208A  ; [*056A.0020.0015.208A] # SUBSCRIPT PLUS SIGN; QQK
-208B  ; [*0576.0020.0015.208B] # SUBSCRIPT MINUS; QQK
-208C  ; [*056F.0020.0015.208C] # SUBSCRIPT EQUALS SIGN; QQK
-208D  ; [*030E.0020.0015.208D] # SUBSCRIPT LEFT PARENTHESIS; QQK
-208E  ; [*030F.0020.0015.208E] # SUBSCRIPT RIGHT PARENTHESIS; QQK
-2104  ; [*04DB.0020.0002.2104] # CENTRE LINE SYMBOL
-2108  ; [*04DC.0020.0002.2108] # SCRUPLE
-2114  ; [*04DD.0020.0002.2114] # L B BAR SYMBOL
-2117  ; [*04DE.0020.0002.2117] # SOUND RECORDING COPYRIGHT
-2118  ; [*04DF.0020.0002.2118] # SCRIPT CAPITAL P
-211E  ; [*04E0.0020.0002.211E] # PRESCRIPTION TAKE
-211F  ; [*04E1.0020.0002.211F] # RESPONSE
-2123  ; [*04E2.0020.0002.2123] # VERSICLE
-2125  ; [*04E3.0020.0002.2125] # OUNCE SIGN
-2127  ; [*04E4.0020.0002.2127] # INVERTED OHM SIGN
-2129  ; [*04E5.0020.0002.2129] # TURNED GREEK SMALL LETTER IOTA
-212E  ; [*04E6.0020.0002.212E] # ESTIMATED SYMBOL
-213A  ; [*04E7.0020.0002.213A] # ROTATED CAPITAL Q
-2140  ; [*0569.0020.0005.2140] # DOUBLE-STRUCK N-ARY SUMMATION; QQK
-2141  ; [*04E8.0020.0002.2141] # TURNED SANS-SERIF CAPITAL G
-2142  ; [*04E9.0020.0002.2142] # TURNED SANS-SERIF CAPITAL L
-2143  ; [*04EA.0020.0002.2143] # REVERSED SANS-SERIF CAPITAL L
-2144  ; [*04EB.0020.0002.2144] # TURNED SANS-SERIF CAPITAL Y
-214A  ; [*04EC.0020.0002.214A] # PROPERTY LINE
-214B  ; [*036F.0020.0002.214B] # TURNED AMPERSAND
-214C  ; [*04ED.0020.0002.214C] # PER SIGN
-214D  ; [*04EE.0020.0002.214D] # AKTIESELSKAB
-214F  ; [*04EF.0020.0002.214F] # SYMBOL FOR SAMARITAN SOURCE
-2180  ; [*14B8.0020.0002.2180] # ROMAN NUMERAL ONE THOUSAND C D
-2181  ; [*14B9.0020.0002.2181] # ROMAN NUMERAL FIVE THOUSAND
-2182  ; [*14BA.0020.0002.2182] # ROMAN NUMERAL TEN THOUSAND
-2186  ; [*14BB.0020.0002.2186] # ROMAN NUMERAL FIFTY EARLY FORM
-2187  ; [*14BC.0020.0002.2187] # ROMAN NUMERAL FIFTY THOUSAND
-2188  ; [*14BD.0020.0002.2188] # ROMAN NUMERAL ONE HUNDRED THOUSAND
-2190  ; [*04F0.0020.0002.2190] # LEFTWARDS ARROW
-2191  ; [*04F2.0020.0002.2191] # UPWARDS ARROW
-2192  ; [*04F1.0020.0002.2192] # RIGHTWARDS ARROW
-2193  ; [*04F3.0020.0002.2193] # DOWNWARDS ARROW
-2194  ; [*04F4.0020.0002.2194] # LEFT RIGHT ARROW
-2195  ; [*04F5.0020.0002.2195] # UP DOWN ARROW
-2196  ; [*04F6.0020.0002.2196] # NORTH WEST ARROW
-2197  ; [*04F7.0020.0002.2197] # NORTH EAST ARROW
-2198  ; [*04F8.0020.0002.2198] # SOUTH EAST ARROW
-2199  ; [*04F9.0020.0002.2199] # SOUTH WEST ARROW
-219A  ; [*04F0.0020.0002.2190][.0000.0054.0002.0338] # LEFTWARDS ARROW WITH STROKE; QQCM
-219B  ; [*04F1.0020.0002.2192][.0000.0054.0002.0338] # RIGHTWARDS ARROW WITH STROKE; QQCM
-219C  ; [*04FA.0020.0002.219C] # LEFTWARDS WAVE ARROW
-219D  ; [*04FB.0020.0002.219D] # RIGHTWARDS WAVE ARROW
-219E  ; [*04FC.0020.0002.219E] # LEFTWARDS TWO HEADED ARROW
-219F  ; [*04FD.0020.0002.219F] # UPWARDS TWO HEADED ARROW
-21A0  ; [*04FE.0020.0002.21A0] # RIGHTWARDS TWO HEADED ARROW
-21A1  ; [*04FF.0020.0002.21A1] # DOWNWARDS TWO HEADED ARROW
-21A2  ; [*0500.0020.0002.21A2] # LEFTWARDS ARROW WITH TAIL
-21A3  ; [*0501.0020.0002.21A3] # RIGHTWARDS ARROW WITH TAIL
-21A4  ; [*0502.0020.0002.21A4] # LEFTWARDS ARROW FROM BAR
-21A5  ; [*0503.0020.0002.21A5] # UPWARDS ARROW FROM BAR
-21A6  ; [*0504.0020.0002.21A6] # RIGHTWARDS ARROW FROM BAR
-21A7  ; [*0505.0020.0002.21A7] # DOWNWARDS ARROW FROM BAR
-21A8  ; [*0506.0020.0002.21A8] # UP DOWN ARROW WITH BASE
-21A9  ; [*0507.0020.0002.21A9] # LEFTWARDS ARROW WITH HOOK
-21AA  ; [*0508.0020.0002.21AA] # RIGHTWARDS ARROW WITH HOOK
-21AB  ; [*0509.0020.0002.21AB] # LEFTWARDS ARROW WITH LOOP
-21AC  ; [*050A.0020.0002.21AC] # RIGHTWARDS ARROW WITH LOOP
-21AD  ; [*050B.0020.0002.21AD] # LEFT RIGHT WAVE ARROW
-21AE  ; [*04F4.0020.0002.2194][.0000.0054.0002.0338] # LEFT RIGHT ARROW WITH STROKE; QQCM
-21AF  ; [*050C.0020.0002.21AF] # DOWNWARDS ZIGZAG ARROW
-21B0  ; [*050D.0020.0002.21B0] # UPWARDS ARROW WITH TIP LEFTWARDS
-21B1  ; [*050E.0020.0002.21B1] # UPWARDS ARROW WITH TIP RIGHTWARDS
-21B2  ; [*050F.0020.0002.21B2] # DOWNWARDS ARROW WITH TIP LEFTWARDS
-21B3  ; [*0510.0020.0002.21B3] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
-21B4  ; [*0511.0020.0002.21B4] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
-21B5  ; [*0512.0020.0002.21B5] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
-21B6  ; [*0513.0020.0002.21B6] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
-21B7  ; [*0514.0020.0002.21B7] # CLOCKWISE TOP SEMICIRCLE ARROW
-21B8  ; [*0515.0020.0002.21B8] # NORTH WEST ARROW TO LONG BAR
-21B9  ; [*0516.0020.0002.21B9] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
-21BA  ; [*0517.0020.0002.21BA] # ANTICLOCKWISE OPEN CIRCLE ARROW
-21BB  ; [*0518.0020.0002.21BB] # CLOCKWISE OPEN CIRCLE ARROW
-21BC  ; [*0519.0020.0002.21BC] # LEFTWARDS HARPOON WITH BARB UPWARDS
-21BD  ; [*051A.0020.0002.21BD] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
-21BE  ; [*051B.0020.0002.21BE] # UPWARDS HARPOON WITH BARB RIGHTWARDS
-21BF  ; [*051C.0020.0002.21BF] # UPWARDS HARPOON WITH BARB LEFTWARDS
-21C0  ; [*051D.0020.0002.21C0] # RIGHTWARDS HARPOON WITH BARB UPWARDS
-21C1  ; [*051E.0020.0002.21C1] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
-21C2  ; [*051F.0020.0002.21C2] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
-21C3  ; [*0520.0020.0002.21C3] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
-21C4  ; [*0521.0020.0002.21C4] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
-21C5  ; [*0522.0020.0002.21C5] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
-21C6  ; [*0523.0020.0002.21C6] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
-21C7  ; [*0524.0020.0002.21C7] # LEFTWARDS PAIRED ARROWS
-21C8  ; [*0525.0020.0002.21C8] # UPWARDS PAIRED ARROWS
-21C9  ; [*0526.0020.0002.21C9] # RIGHTWARDS PAIRED ARROWS
-21CA  ; [*0527.0020.0002.21CA] # DOWNWARDS PAIRED ARROWS
-21CB  ; [*0528.0020.0002.21CB] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
-21CC  ; [*0529.0020.0002.21CC] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
-21CD  ; [*052A.0020.0002.21D0][.0000.0054.0002.0338] # LEFTWARDS DOUBLE ARROW WITH STROKE; QQCM
-21CE  ; [*052E.0020.0002.21D4][.0000.0054.0002.0338] # LEFT RIGHT DOUBLE ARROW WITH STROKE; QQCM
-21CF  ; [*052C.0020.0002.21D2][.0000.0054.0002.0338] # RIGHTWARDS DOUBLE ARROW WITH STROKE; QQCM
-21D0  ; [*052A.0020.0002.21D0] # LEFTWARDS DOUBLE ARROW
-21D1  ; [*052B.0020.0002.21D1] # UPWARDS DOUBLE ARROW
-21D2  ; [*052C.0020.0002.21D2] # RIGHTWARDS DOUBLE ARROW
-21D3  ; [*052D.0020.0002.21D3] # DOWNWARDS DOUBLE ARROW
-21D4  ; [*052E.0020.0002.21D4] # LEFT RIGHT DOUBLE ARROW
-21D5  ; [*052F.0020.0002.21D5] # UP DOWN DOUBLE ARROW
-21D6  ; [*0530.0020.0002.21D6] # NORTH WEST DOUBLE ARROW
-21D7  ; [*0531.0020.0002.21D7] # NORTH EAST DOUBLE ARROW
-21D8  ; [*0532.0020.0002.21D8] # SOUTH EAST DOUBLE ARROW
-21D9  ; [*0533.0020.0002.21D9] # SOUTH WEST DOUBLE ARROW
-21DA  ; [*0534.0020.0002.21DA] # LEFTWARDS TRIPLE ARROW
-21DB  ; [*0535.0020.0002.21DB] # RIGHTWARDS TRIPLE ARROW
-21DC  ; [*0536.0020.0002.21DC] # LEFTWARDS SQUIGGLE ARROW
-21DD  ; [*0537.0020.0002.21DD] # RIGHTWARDS SQUIGGLE ARROW
-21DE  ; [*0538.0020.0002.21DE] # UPWARDS ARROW WITH DOUBLE STROKE
-21DF  ; [*0539.0020.0002.21DF] # DOWNWARDS ARROW WITH DOUBLE STROKE
-21E0  ; [*053A.0020.0002.21E0] # LEFTWARDS DASHED ARROW
-21E1  ; [*053B.0020.0002.21E1] # UPWARDS DASHED ARROW
-21E2  ; [*053C.0020.0002.21E2] # RIGHTWARDS DASHED ARROW
-21E3  ; [*053D.0020.0002.21E3] # DOWNWARDS DASHED ARROW
-21E4  ; [*053E.0020.0002.21E4] # LEFTWARDS ARROW TO BAR
-21E5  ; [*053F.0020.0002.21E5] # RIGHTWARDS ARROW TO BAR
-21E6  ; [*0540.0020.0002.21E6] # LEFTWARDS WHITE ARROW
-21E7  ; [*0541.0020.0002.21E7] # UPWARDS WHITE ARROW
-21E8  ; [*0542.0020.0002.21E8] # RIGHTWARDS WHITE ARROW
-21E9  ; [*0543.0020.0002.21E9] # DOWNWARDS WHITE ARROW
-21EA  ; [*0544.0020.0002.21EA] # UPWARDS WHITE ARROW FROM BAR
-21EB  ; [*0545.0020.0002.21EB] # UPWARDS WHITE ARROW ON PEDESTAL
-21EC  ; [*0546.0020.0002.21EC] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-21ED  ; [*0547.0020.0002.21ED] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-21EE  ; [*0548.0020.0002.21EE] # UPWARDS WHITE DOUBLE ARROW
-21EF  ; [*0549.0020.0002.21EF] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
-21F0  ; [*054A.0020.0002.21F0] # RIGHTWARDS WHITE ARROW FROM WALL
-21F1  ; [*054B.0020.0002.21F1] # NORTH WEST ARROW TO CORNER
-21F2  ; [*054C.0020.0002.21F2] # SOUTH EAST ARROW TO CORNER
-21F3  ; [*054D.0020.0002.21F3] # UP DOWN WHITE ARROW
-21F4  ; [*054E.0020.0002.21F4] # RIGHT ARROW WITH SMALL CIRCLE
-21F5  ; [*054F.0020.0002.21F5] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
-21F6  ; [*0550.0020.0002.21F6] # THREE RIGHTWARDS ARROWS
-21F7  ; [*0551.0020.0002.21F7] # LEFTWARDS ARROW WITH VERTICAL STROKE
-21F8  ; [*0552.0020.0002.21F8] # RIGHTWARDS ARROW WITH VERTICAL STROKE
-21F9  ; [*0553.0020.0002.21F9] # LEFT RIGHT ARROW WITH VERTICAL STROKE
-21FA  ; [*0554.0020.0002.21FA] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FB  ; [*0555.0020.0002.21FB] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
-21FC  ; [*0556.0020.0002.21FC] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
-21FD  ; [*0557.0020.0002.21FD] # LEFTWARDS OPEN-HEADED ARROW
-21FE  ; [*0558.0020.0002.21FE] # RIGHTWARDS OPEN-HEADED ARROW
-21FF  ; [*0559.0020.0002.21FF] # LEFT RIGHT OPEN-HEADED ARROW
-2200  ; [*055A.0020.0002.2200] # FOR ALL
-2201  ; [*055B.0020.0002.2201] # COMPLEMENT
-2202  ; [*055C.0020.0002.2202] # PARTIAL DIFFERENTIAL
-2203  ; [*055D.0020.0002.2203] # THERE EXISTS
-2204  ; [*055D.0020.0002.2203][.0000.0054.0002.0338] # THERE DOES NOT EXIST; QQCM
-2205  ; [*055E.0020.0002.2205] # EMPTY SET
-2206  ; [*055F.0020.0002.2206] # INCREMENT
-2207  ; [*0560.0020.0002.2207] # NABLA
-2208  ; [*0561.0020.0002.2208] # ELEMENT OF
-2209  ; [*0561.0020.0002.2208][.0000.0054.0002.0338] # NOT AN ELEMENT OF; QQCM
-220A  ; [*0562.0020.0002.220A] # SMALL ELEMENT OF
-220B  ; [*0563.0020.0002.220B] # CONTAINS AS MEMBER
-220C  ; [*0563.0020.0002.220B][.0000.0054.0002.0338] # DOES NOT CONTAIN AS MEMBER; QQCM
-220D  ; [*0564.0020.0002.220D] # SMALL CONTAINS AS MEMBER
-220E  ; [*0566.0020.0002.220E] # END OF PROOF
-220F  ; [*0567.0020.0002.220F] # N-ARY PRODUCT
-2210  ; [*0568.0020.0002.2210] # N-ARY COPRODUCT
-2211  ; [*0569.0020.0002.2211] # N-ARY SUMMATION
-2212  ; [*0576.0020.0002.2212] # MINUS SIGN
-2213  ; [*0577.0020.0002.2213] # MINUS-OR-PLUS SIGN
-2214  ; [*0578.0020.0002.2214] # DOT PLUS
-2215  ; [*0579.0020.0002.2215] # DIVISION SLASH
-2216  ; [*057A.0020.0002.2216] # SET MINUS
-2217  ; [*057B.0020.0002.2217] # ASTERISK OPERATOR
-2218  ; [*057C.0020.0002.2218] # RING OPERATOR
-2219  ; [*057D.0020.0002.2219] # BULLET OPERATOR
-221A  ; [*057E.0020.0002.221A] # SQUARE ROOT
-221B  ; [*057F.0020.0002.221B] # CUBE ROOT
-221C  ; [*0581.0020.0002.221C] # FOURTH ROOT
-221D  ; [*0583.0020.0002.221D] # PROPORTIONAL TO
-221E  ; [*0584.0020.0002.221E] # INFINITY
-221F  ; [*0585.0020.0002.221F] # RIGHT ANGLE
-2220  ; [*0586.0020.0002.2220] # ANGLE
-2221  ; [*0587.0020.0002.2221] # MEASURED ANGLE
-2222  ; [*0588.0020.0002.2222] # SPHERICAL ANGLE
-2223  ; [*0589.0020.0002.2223] # DIVIDES
-2224  ; [*0589.0020.0002.2223][.0000.0054.0002.0338] # DOES NOT DIVIDE; QQCM
-2225  ; [*058A.0020.0002.2225] # PARALLEL TO
-2226  ; [*058A.0020.0002.2225][.0000.0054.0002.0338] # NOT PARALLEL TO; QQCM
-2227  ; [*058B.0020.0002.2227] # LOGICAL AND
-2228  ; [*058C.0020.0002.2228] # LOGICAL OR
-2229  ; [*058D.0020.0002.2229] # INTERSECTION
-222A  ; [*058E.0020.0002.222A] # UNION
-222B  ; [*058F.0020.0002.222B] # INTEGRAL
-222C  ; [*058F.0020.0004.222C][*058F.0020.0004.222C] # DOUBLE INTEGRAL; QQKN
-222D  ; [*058F.0020.0004.222D][*058F.0020.0004.222D][*058F.0020.001F.222D] # TRIPLE INTEGRAL; QQKN
-222E  ; [*0590.0020.0002.222E] # CONTOUR INTEGRAL
-222F  ; [*0590.0020.0004.222F][*0590.0020.0004.222F] # SURFACE INTEGRAL; QQKN
-2230  ; [*0590.0020.0004.2230][*0590.0020.0004.2230][*0590.0020.001F.2230] # VOLUME INTEGRAL; QQKN
-2231  ; [*0591.0020.0002.2231] # CLOCKWISE INTEGRAL
-2232  ; [*0592.0020.0002.2232] # CLOCKWISE CONTOUR INTEGRAL
-2233  ; [*0593.0020.0002.2233] # ANTICLOCKWISE CONTOUR INTEGRAL
-2234  ; [*0594.0020.0002.2234] # THEREFORE
-2235  ; [*0595.0020.0002.2235] # BECAUSE
-2236  ; [*0596.0020.0002.2236] # RATIO
-2237  ; [*0597.0020.0002.2237] # PROPORTION
-2238  ; [*0598.0020.0002.2238] # DOT MINUS
-2239  ; [*0599.0020.0002.2239] # EXCESS
-223A  ; [*059A.0020.0002.223A] # GEOMETRIC PROPORTION
-223B  ; [*059B.0020.0002.223B] # HOMOTHETIC
-223C  ; [*059C.0020.0002.223C] # TILDE OPERATOR
-223D  ; [*059D.0020.0002.223D] # REVERSED TILDE
-223E  ; [*059E.0020.0002.223E] # INVERTED LAZY S
-223F  ; [*059F.0020.0002.223F] # SINE WAVE
-2240  ; [*05A0.0020.0002.2240] # WREATH PRODUCT
-2241  ; [*059C.0020.0002.223C][.0000.0054.0002.0338] # NOT TILDE; QQCM
-2242  ; [*05A1.0020.0002.2242] # MINUS TILDE
-2243  ; [*05A2.0020.0002.2243] # ASYMPTOTICALLY EQUAL TO
-2244  ; [*05A2.0020.0002.2243][.0000.0054.0002.0338] # NOT ASYMPTOTICALLY EQUAL TO; QQCM
-2245  ; [*05A3.0020.0002.2245] # APPROXIMATELY EQUAL TO
-2246  ; [*05A4.0020.0002.2246] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
-2247  ; [*05A3.0020.0002.2245][.0000.0054.0002.0338] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO; QQCM
-2248  ; [*05A5.0020.0002.2248] # ALMOST EQUAL TO
-2249  ; [*05A5.0020.0002.2248][.0000.0054.0002.0338] # NOT ALMOST EQUAL TO; QQCM
-224A  ; [*05A6.0020.0002.224A] # ALMOST EQUAL OR EQUAL TO
-224B  ; [*05A7.0020.0002.224B] # TRIPLE TILDE
-224C  ; [*05A8.0020.0002.224C] # ALL EQUAL TO
-224D  ; [*05A9.0020.0002.224D] # EQUIVALENT TO
-224E  ; [*05AA.0020.0002.224E] # GEOMETRICALLY EQUIVALENT TO
-224F  ; [*05AB.0020.0002.224F] # DIFFERENCE BETWEEN
-2250  ; [*05AC.0020.0002.2250] # APPROACHES THE LIMIT
-2251  ; [*05AD.0020.0002.2251] # GEOMETRICALLY EQUAL TO
-2252  ; [*05AE.0020.0002.2252] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
-2253  ; [*05AF.0020.0002.2253] # IMAGE OF OR APPROXIMATELY EQUAL TO
-2254  ; [*05B0.0020.0002.2254] # COLON EQUALS
-2255  ; [*05B1.0020.0002.2255] # EQUALS COLON
-2256  ; [*05B2.0020.0002.2256] # RING IN EQUAL TO
-2257  ; [*05B3.0020.0002.2257] # RING EQUAL TO
-2258  ; [*05B4.0020.0002.2258] # CORRESPONDS TO
-2259  ; [*05B5.0020.0002.2259] # ESTIMATES
-225A  ; [*05B6.0020.0002.225A] # EQUIANGULAR TO
-225B  ; [*05B7.0020.0002.225B] # STAR EQUALS
-225C  ; [*05B8.0020.0002.225C] # DELTA EQUAL TO
-225D  ; [*05B9.0020.0002.225D] # EQUAL TO BY DEFINITION
-225E  ; [*05BA.0020.0002.225E] # MEASURED BY
-225F  ; [*05BB.0020.0002.225F] # QUESTIONED EQUAL TO
-2260  ; [*056F.0020.0002.003D][.0000.0054.0002.0338] # NOT EQUAL TO; QQCM
-2261  ; [*05BC.0020.0002.2261] # IDENTICAL TO
-2262  ; [*05BC.0020.0002.2261][.0000.0054.0002.0338] # NOT IDENTICAL TO; QQCM
-2263  ; [*05BD.0020.0002.2263] # STRICTLY EQUIVALENT TO
-2264  ; [*05BE.0020.0002.2264] # LESS-THAN OR EQUAL TO
-2265  ; [*05BF.0020.0002.2265] # GREATER-THAN OR EQUAL TO
-2266  ; [*05C0.0020.0002.2266] # LESS-THAN OVER EQUAL TO
-2267  ; [*05C1.0020.0002.2267] # GREATER-THAN OVER EQUAL TO
-2268  ; [*05C2.0020.0002.2268] # LESS-THAN BUT NOT EQUAL TO
-2269  ; [*05C3.0020.0002.2269] # GREATER-THAN BUT NOT EQUAL TO
-226A  ; [*05C4.0020.0002.226A] # MUCH LESS-THAN
-226B  ; [*05C5.0020.0002.226B] # MUCH GREATER-THAN
-226C  ; [*05C6.0020.0002.226C] # BETWEEN
-226D  ; [*05A9.0020.0002.224D][.0000.0054.0002.0338] # NOT EQUIVALENT TO; QQCM
-226E  ; [*056E.0020.0002.003C][.0000.0054.0002.0338] # NOT LESS-THAN; QQCM
-226F  ; [*0570.0020.0002.003E][.0000.0054.0002.0338] # NOT GREATER-THAN; QQCM
-2270  ; [*05BE.0020.0002.2264][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUAL TO; QQCM
-2271  ; [*05BF.0020.0002.2265][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUAL TO; QQCM
-2272  ; [*05C7.0020.0002.2272] # LESS-THAN OR EQUIVALENT TO
-2273  ; [*05C8.0020.0002.2273] # GREATER-THAN OR EQUIVALENT TO
-2274  ; [*05C7.0020.0002.2272][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUIVALENT TO; QQCM
-2275  ; [*05C8.0020.0002.2273][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUIVALENT TO; QQCM
-2276  ; [*05C9.0020.0002.2276] # LESS-THAN OR GREATER-THAN
-2277  ; [*05CA.0020.0002.2277] # GREATER-THAN OR LESS-THAN
-2278  ; [*05C9.0020.0002.2276][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR GREATER-THAN; QQCM
-2279  ; [*05CA.0020.0002.2277][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR LESS-THAN; QQCM
-227A  ; [*05CB.0020.0002.227A] # PRECEDES
-227B  ; [*05CC.0020.0002.227B] # SUCCEEDS
-227C  ; [*05CD.0020.0002.227C] # PRECEDES OR EQUAL TO
-227D  ; [*05CE.0020.0002.227D] # SUCCEEDS OR EQUAL TO
-227E  ; [*05CF.0020.0002.227E] # PRECEDES OR EQUIVALENT TO
-227F  ; [*05D0.0020.0002.227F] # SUCCEEDS OR EQUIVALENT TO
-2280  ; [*05CB.0020.0002.227A][.0000.0054.0002.0338] # DOES NOT PRECEDE; QQCM
-2281  ; [*05CC.0020.0002.227B][.0000.0054.0002.0338] # DOES NOT SUCCEED; QQCM
-2282  ; [*05D1.0020.0002.2282] # SUBSET OF
-2283  ; [*05D2.0020.0002.2283] # SUPERSET OF
-2284  ; [*05D1.0020.0002.2282][.0000.0054.0002.0338] # NOT A SUBSET OF; QQCM
-2285  ; [*05D2.0020.0002.2283][.0000.0054.0002.0338] # NOT A SUPERSET OF; QQCM
-2286  ; [*05D3.0020.0002.2286] # SUBSET OF OR EQUAL TO
-2287  ; [*05D4.0020.0002.2287] # SUPERSET OF OR EQUAL TO
-2288  ; [*05D3.0020.0002.2286][.0000.0054.0002.0338] # NEITHER A SUBSET OF NOR EQUAL TO; QQCM
-2289  ; [*05D4.0020.0002.2287][.0000.0054.0002.0338] # NEITHER A SUPERSET OF NOR EQUAL TO; QQCM
-228A  ; [*05D5.0020.0002.228A] # SUBSET OF WITH NOT EQUAL TO
-228B  ; [*05D6.0020.0002.228B] # SUPERSET OF WITH NOT EQUAL TO
-228C  ; [*05D7.0020.0002.228C] # MULTISET
-228D  ; [*05D8.0020.0002.228D] # MULTISET MULTIPLICATION
-228E  ; [*05D9.0020.0002.228E] # MULTISET UNION
-228F  ; [*05DA.0020.0002.228F] # SQUARE IMAGE OF
-2290  ; [*05DB.0020.0002.2290] # SQUARE ORIGINAL OF
-2291  ; [*05DC.0020.0002.2291] # SQUARE IMAGE OF OR EQUAL TO
-2292  ; [*05DD.0020.0002.2292] # SQUARE ORIGINAL OF OR EQUAL TO
-2293  ; [*05DE.0020.0002.2293] # SQUARE CAP
-2294  ; [*05DF.0020.0002.2294] # SQUARE CUP
-2295  ; [*05E0.0020.0002.2295] # CIRCLED PLUS
-2296  ; [*05E1.0020.0002.2296] # CIRCLED MINUS
-2297  ; [*05E2.0020.0002.2297] # CIRCLED TIMES
-2298  ; [*05E3.0020.0002.2298] # CIRCLED DIVISION SLASH
-2299  ; [*05E4.0020.0002.2299] # CIRCLED DOT OPERATOR
-229A  ; [*05E5.0020.0002.229A] # CIRCLED RING OPERATOR
-229B  ; [*05E6.0020.0002.229B] # CIRCLED ASTERISK OPERATOR
-229C  ; [*05E7.0020.0002.229C] # CIRCLED EQUALS
-229D  ; [*05E8.0020.0002.229D] # CIRCLED DASH
-229E  ; [*05E9.0020.0002.229E] # SQUARED PLUS
-229F  ; [*05EA.0020.0002.229F] # SQUARED MINUS
-22A0  ; [*05EB.0020.0002.22A0] # SQUARED TIMES
-22A1  ; [*05EC.0020.0002.22A1] # SQUARED DOT OPERATOR
-22A2  ; [*05ED.0020.0002.22A2] # RIGHT TACK
-22A3  ; [*05EE.0020.0002.22A3] # LEFT TACK
-22A4  ; [*05EF.0020.0002.22A4] # DOWN TACK
-22A5  ; [*05F0.0020.0002.22A5] # UP TACK
-22A6  ; [*05F1.0020.0002.22A6] # ASSERTION
-22A7  ; [*05F2.0020.0002.22A7] # MODELS
-22A8  ; [*05F3.0020.0002.22A8] # TRUE
-22A9  ; [*05F4.0020.0002.22A9] # FORCES
-22AA  ; [*05F5.0020.0002.22AA] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
-22AB  ; [*05F6.0020.0002.22AB] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
-22AC  ; [*05ED.0020.0002.22A2][.0000.0054.0002.0338] # DOES NOT PROVE; QQCM
-22AD  ; [*05F3.0020.0002.22A8][.0000.0054.0002.0338] # NOT TRUE; QQCM
-22AE  ; [*05F4.0020.0002.22A9][.0000.0054.0002.0338] # DOES NOT FORCE; QQCM
-22AF  ; [*05F6.0020.0002.22AB][.0000.0054.0002.0338] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE; QQCM
-22B0  ; [*05F7.0020.0002.22B0] # PRECEDES UNDER RELATION
-22B1  ; [*05F8.0020.0002.22B1] # SUCCEEDS UNDER RELATION
-22B2  ; [*05F9.0020.0002.22B2] # NORMAL SUBGROUP OF
-22B3  ; [*05FA.0020.0002.22B3] # CONTAINS AS NORMAL SUBGROUP
-22B4  ; [*05FB.0020.0002.22B4] # NORMAL SUBGROUP OF OR EQUAL TO
-22B5  ; [*05FC.0020.0002.22B5] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
-22B6  ; [*05FD.0020.0002.22B6] # ORIGINAL OF
-22B7  ; [*05FE.0020.0002.22B7] # IMAGE OF
-22B8  ; [*05FF.0020.0002.22B8] # MULTIMAP
-22B9  ; [*0600.0020.0002.22B9] # HERMITIAN CONJUGATE MATRIX
-22BA  ; [*0601.0020.0002.22BA] # INTERCALATE
-22BB  ; [*0602.0020.0002.22BB] # XOR
-22BC  ; [*0603.0020.0002.22BC] # NAND
-22BD  ; [*0604.0020.0002.22BD] # NOR
-22BE  ; [*0605.0020.0002.22BE] # RIGHT ANGLE WITH ARC
-22BF  ; [*0606.0020.0002.22BF] # RIGHT TRIANGLE
-22C0  ; [*0607.0020.0002.22C0] # N-ARY LOGICAL AND
-22C1  ; [*0608.0020.0002.22C1] # N-ARY LOGICAL OR
-22C2  ; [*0609.0020.0002.22C2] # N-ARY INTERSECTION
-22C3  ; [*060A.0020.0002.22C3] # N-ARY UNION
-22C4  ; [*060B.0020.0002.22C4] # DIAMOND OPERATOR
-22C5  ; [*060C.0020.0002.22C5] # DOT OPERATOR
-22C6  ; [*060D.0020.0002.22C6] # STAR OPERATOR
-22C7  ; [*060E.0020.0002.22C7] # DIVISION TIMES
-22C8  ; [*060F.0020.0002.22C8] # BOWTIE
-22C9  ; [*0610.0020.0002.22C9] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CA  ; [*0611.0020.0002.22CA] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
-22CB  ; [*0612.0020.0002.22CB] # LEFT SEMIDIRECT PRODUCT
-22CC  ; [*0613.0020.0002.22CC] # RIGHT SEMIDIRECT PRODUCT
-22CD  ; [*0614.0020.0002.22CD] # REVERSED TILDE EQUALS
-22CE  ; [*0615.0020.0002.22CE] # CURLY LOGICAL OR
-22CF  ; [*0616.0020.0002.22CF] # CURLY LOGICAL AND
-22D0  ; [*0617.0020.0002.22D0] # DOUBLE SUBSET
-22D1  ; [*0618.0020.0002.22D1] # DOUBLE SUPERSET
-22D2  ; [*0619.0020.0002.22D2] # DOUBLE INTERSECTION
-22D3  ; [*061A.0020.0002.22D3] # DOUBLE UNION
-22D4  ; [*061B.0020.0002.22D4] # PITCHFORK
-22D5  ; [*061C.0020.0002.22D5] # EQUAL AND PARALLEL TO
-22D6  ; [*061D.0020.0002.22D6] # LESS-THAN WITH DOT
-22D7  ; [*061E.0020.0002.22D7] # GREATER-THAN WITH DOT
-22D8  ; [*061F.0020.0002.22D8] # VERY MUCH LESS-THAN
-22D9  ; [*0620.0020.0002.22D9] # VERY MUCH GREATER-THAN
-22DA  ; [*0621.0020.0002.22DA] # LESS-THAN EQUAL TO OR GREATER-THAN
-22DB  ; [*0622.0020.0002.22DB] # GREATER-THAN EQUAL TO OR LESS-THAN
-22DC  ; [*0623.0020.0002.22DC] # EQUAL TO OR LESS-THAN
-22DD  ; [*0624.0020.0002.22DD] # EQUAL TO OR GREATER-THAN
-22DE  ; [*0625.0020.0002.22DE] # EQUAL TO OR PRECEDES
-22DF  ; [*0626.0020.0002.22DF] # EQUAL TO OR SUCCEEDS
-22E0  ; [*05CD.0020.0002.227C][.0000.0054.0002.0338] # DOES NOT PRECEDE OR EQUAL; QQCM
-22E1  ; [*05CE.0020.0002.227D][.0000.0054.0002.0338] # DOES NOT SUCCEED OR EQUAL; QQCM
-22E2  ; [*05DC.0020.0002.2291][.0000.0054.0002.0338] # NOT SQUARE IMAGE OF OR EQUAL TO; QQCM
-22E3  ; [*05DD.0020.0002.2292][.0000.0054.0002.0338] # NOT SQUARE ORIGINAL OF OR EQUAL TO; QQCM
-22E4  ; [*0627.0020.0002.22E4] # SQUARE IMAGE OF OR NOT EQUAL TO
-22E5  ; [*0628.0020.0002.22E5] # SQUARE ORIGINAL OF OR NOT EQUAL TO
-22E6  ; [*0629.0020.0002.22E6] # LESS-THAN BUT NOT EQUIVALENT TO
-22E7  ; [*062A.0020.0002.22E7] # GREATER-THAN BUT NOT EQUIVALENT TO
-22E8  ; [*062B.0020.0002.22E8] # PRECEDES BUT NOT EQUIVALENT TO
-22E9  ; [*062C.0020.0002.22E9] # SUCCEEDS BUT NOT EQUIVALENT TO
-22EA  ; [*05F9.0020.0002.22B2][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF; QQCM
-22EB  ; [*05FA.0020.0002.22B3][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP; QQCM
-22EC  ; [*05FB.0020.0002.22B4][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF OR EQUAL TO; QQCM
-22ED  ; [*05FC.0020.0002.22B5][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL; QQCM
-22EE  ; [*062D.0020.0002.22EE] # VERTICAL ELLIPSIS
-22EF  ; [*062E.0020.0002.22EF] # MIDLINE HORIZONTAL ELLIPSIS
-22F0  ; [*062F.0020.0002.22F0] # UP RIGHT DIAGONAL ELLIPSIS
-22F1  ; [*0630.0020.0002.22F1] # DOWN RIGHT DIAGONAL ELLIPSIS
-22F2  ; [*0631.0020.0002.22F2] # ELEMENT OF WITH LONG HORIZONTAL STROKE
-22F3  ; [*0632.0020.0002.22F3] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F4  ; [*0633.0020.0002.22F4] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22F5  ; [*0634.0020.0002.22F5] # ELEMENT OF WITH DOT ABOVE
-22F6  ; [*0635.0020.0002.22F6] # ELEMENT OF WITH OVERBAR
-22F7  ; [*0636.0020.0002.22F7] # SMALL ELEMENT OF WITH OVERBAR
-22F8  ; [*0637.0020.0002.22F8] # ELEMENT OF WITH UNDERBAR
-22F9  ; [*0638.0020.0002.22F9] # ELEMENT OF WITH TWO HORIZONTAL STROKES
-22FA  ; [*0639.0020.0002.22FA] # CONTAINS WITH LONG HORIZONTAL STROKE
-22FB  ; [*063A.0020.0002.22FB] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FC  ; [*063B.0020.0002.22FC] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
-22FD  ; [*063C.0020.0002.22FD] # CONTAINS WITH OVERBAR
-22FE  ; [*063D.0020.0002.22FE] # SMALL CONTAINS WITH OVERBAR
-22FF  ; [*063E.0020.0002.22FF] # Z NOTATION BAG MEMBERSHIP
-2300  ; [*063F.0020.0002.2300] # DIAMETER SIGN
-2301  ; [*0640.0020.0002.2301] # ELECTRIC ARROW
-2302  ; [*0641.0020.0002.2302] # HOUSE
-2303  ; [*0642.0020.0002.2303] # UP ARROWHEAD
-2304  ; [*0643.0020.0002.2304] # DOWN ARROWHEAD
-2305  ; [*0644.0020.0002.2305] # PROJECTIVE
-2306  ; [*0645.0020.0002.2306] # PERSPECTIVE
-2307  ; [*0646.0020.0002.2307] # WAVY LINE
-2308  ; [*0647.0020.0002.2308] # LEFT CEILING
-2309  ; [*0648.0020.0002.2309] # RIGHT CEILING
-230A  ; [*0649.0020.0002.230A] # LEFT FLOOR
-230B  ; [*064A.0020.0002.230B] # RIGHT FLOOR
-230C  ; [*064B.0020.0002.230C] # BOTTOM RIGHT CROP
-230D  ; [*064C.0020.0002.230D] # BOTTOM LEFT CROP
-230E  ; [*064D.0020.0002.230E] # TOP RIGHT CROP
-230F  ; [*064E.0020.0002.230F] # TOP LEFT CROP
-2310  ; [*064F.0020.0002.2310] # REVERSED NOT SIGN
-2311  ; [*0650.0020.0002.2311] # SQUARE LOZENGE
-2312  ; [*0651.0020.0002.2312] # ARC
-2313  ; [*0652.0020.0002.2313] # SEGMENT
-2314  ; [*0653.0020.0002.2314] # SECTOR
-2315  ; [*0654.0020.0002.2315] # TELEPHONE RECORDER
-2316  ; [*0655.0020.0002.2316] # POSITION INDICATOR
-2317  ; [*0656.0020.0002.2317] # VIEWDATA SQUARE
-2318  ; [*0657.0020.0002.2318] # PLACE OF INTEREST SIGN
-2319  ; [*0658.0020.0002.2319] # TURNED NOT SIGN
-231A  ; [*0659.0020.0002.231A] # WATCH
-231B  ; [*065A.0020.0002.231B] # HOURGLASS
-231C  ; [*065B.0020.0002.231C] # TOP LEFT CORNER
-231D  ; [*065C.0020.0002.231D] # TOP RIGHT CORNER
-231E  ; [*065D.0020.0002.231E] # BOTTOM LEFT CORNER
-231F  ; [*065E.0020.0002.231F] # BOTTOM RIGHT CORNER
-2320  ; [*065F.0020.0002.2320] # TOP HALF INTEGRAL
-2321  ; [*0660.0020.0002.2321] # BOTTOM HALF INTEGRAL
-2322  ; [*0661.0020.0002.2322] # FROWN
-2323  ; [*0662.0020.0002.2323] # SMILE
-2324  ; [*0663.0020.0002.2324] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
-2325  ; [*0664.0020.0002.2325] # OPTION KEY
-2326  ; [*0665.0020.0002.2326] # ERASE TO THE RIGHT
-2327  ; [*0666.0020.0002.2327] # X IN A RECTANGLE BOX
-2328  ; [*0667.0020.0002.2328] # KEYBOARD
-2329  ; [*034C.0020.0002.2329] # LEFT-POINTING ANGLE BRACKET; QQC
-232A  ; [*034D.0020.0002.232A] # RIGHT-POINTING ANGLE BRACKET; QQC
-232B  ; [*0668.0020.0002.232B] # ERASE TO THE LEFT
-232C  ; [*0669.0020.0002.232C] # BENZENE RING
-232D  ; [*066A.0020.0002.232D] # CYLINDRICITY
-232E  ; [*066B.0020.0002.232E] # ALL AROUND-PROFILE
-232F  ; [*066C.0020.0002.232F] # SYMMETRY
-2330  ; [*066D.0020.0002.2330] # TOTAL RUNOUT
-2331  ; [*066E.0020.0002.2331] # DIMENSION ORIGIN
-2332  ; [*066F.0020.0002.2332] # CONICAL TAPER
-2333  ; [*0670.0020.0002.2333] # SLOPE
-2334  ; [*0671.0020.0002.2334] # COUNTERBORE
-2335  ; [*0672.0020.0002.2335] # COUNTERSINK
-2336  ; [*0673.0020.0002.2336] # APL FUNCTIONAL SYMBOL I-BEAM
-2337  ; [*0674.0020.0002.2337] # APL FUNCTIONAL SYMBOL SQUISH QUAD
-2338  ; [*0675.0020.0002.2338] # APL FUNCTIONAL SYMBOL QUAD EQUAL
-2339  ; [*0676.0020.0002.2339] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
-233A  ; [*0677.0020.0002.233A] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
-233B  ; [*0678.0020.0002.233B] # APL FUNCTIONAL SYMBOL QUAD JOT
-233C  ; [*0679.0020.0002.233C] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
-233D  ; [*067A.0020.0002.233D] # APL FUNCTIONAL SYMBOL CIRCLE STILE
-233E  ; [*067B.0020.0002.233E] # APL FUNCTIONAL SYMBOL CIRCLE JOT
-233F  ; [*067C.0020.0002.233F] # APL FUNCTIONAL SYMBOL SLASH BAR
-2340  ; [*067D.0020.0002.2340] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
-2341  ; [*067E.0020.0002.2341] # APL FUNCTIONAL SYMBOL QUAD SLASH
-2342  ; [*067F.0020.0002.2342] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
-2343  ; [*0680.0020.0002.2343] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
-2344  ; [*0681.0020.0002.2344] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
-2345  ; [*0682.0020.0002.2345] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
-2346  ; [*0683.0020.0002.2346] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
-2347  ; [*0684.0020.0002.2347] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
-2348  ; [*0685.0020.0002.2348] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
-2349  ; [*0686.0020.0002.2349] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
-234A  ; [*0687.0020.0002.234A] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
-234B  ; [*0688.0020.0002.234B] # APL FUNCTIONAL SYMBOL DELTA STILE
-234C  ; [*0689.0020.0002.234C] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
-234D  ; [*068A.0020.0002.234D] # APL FUNCTIONAL SYMBOL QUAD DELTA
-234E  ; [*068B.0020.0002.234E] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
-234F  ; [*068C.0020.0002.234F] # APL FUNCTIONAL SYMBOL UPWARDS VANE
-2350  ; [*068D.0020.0002.2350] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
-2351  ; [*068E.0020.0002.2351] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
-2352  ; [*068F.0020.0002.2352] # APL FUNCTIONAL SYMBOL DEL STILE
-2353  ; [*0690.0020.0002.2353] # APL FUNCTIONAL SYMBOL QUAD UP CARET
-2354  ; [*0691.0020.0002.2354] # APL FUNCTIONAL SYMBOL QUAD DEL
-2355  ; [*0692.0020.0002.2355] # APL FUNCTIONAL SYMBOL UP TACK JOT
-2356  ; [*0693.0020.0002.2356] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
-2357  ; [*0694.0020.0002.2357] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
-2358  ; [*0695.0020.0002.2358] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
-2359  ; [*0696.0020.0002.2359] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
-235A  ; [*0697.0020.0002.235A] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
-235B  ; [*0698.0020.0002.235B] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
-235C  ; [*0699.0020.0002.235C] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
-235D  ; [*069A.0020.0002.235D] # APL FUNCTIONAL SYMBOL UP SHOE JOT
-235E  ; [*069B.0020.0002.235E] # APL FUNCTIONAL SYMBOL QUOTE QUAD
-235F  ; [*069C.0020.0002.235F] # APL FUNCTIONAL SYMBOL CIRCLE STAR
-2360  ; [*069D.0020.0002.2360] # APL FUNCTIONAL SYMBOL QUAD COLON
-2361  ; [*069E.0020.0002.2361] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
-2362  ; [*069F.0020.0002.2362] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
-2363  ; [*06A0.0020.0002.2363] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
-2364  ; [*06A1.0020.0002.2364] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
-2365  ; [*06A2.0020.0002.2365] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
-2366  ; [*06A3.0020.0002.2366] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
-2367  ; [*06A4.0020.0002.2367] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
-2368  ; [*06A5.0020.0002.2368] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
-2369  ; [*06A6.0020.0002.2369] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
-236A  ; [*06A7.0020.0002.236A] # APL FUNCTIONAL SYMBOL COMMA BAR
-236B  ; [*06A8.0020.0002.236B] # APL FUNCTIONAL SYMBOL DEL TILDE
-236C  ; [*06A9.0020.0002.236C] # APL FUNCTIONAL SYMBOL ZILDE
-236D  ; [*06AA.0020.0002.236D] # APL FUNCTIONAL SYMBOL STILE TILDE
-236E  ; [*06AB.0020.0002.236E] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
-236F  ; [*06AC.0020.0002.236F] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
-2370  ; [*06AD.0020.0002.2370] # APL FUNCTIONAL SYMBOL QUAD QUESTION
-2371  ; [*06AE.0020.0002.2371] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
-2372  ; [*06AF.0020.0002.2372] # APL FUNCTIONAL SYMBOL UP CARET TILDE
-2373  ; [*06B0.0020.0002.2373] # APL FUNCTIONAL SYMBOL IOTA
-2374  ; [*06B1.0020.0002.2374] # APL FUNCTIONAL SYMBOL RHO
-2375  ; [*06B2.0020.0002.2375] # APL FUNCTIONAL SYMBOL OMEGA
-2376  ; [*06B3.0020.0002.2376] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
-2377  ; [*06B4.0020.0002.2377] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
-2378  ; [*06B5.0020.0002.2378] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
-2379  ; [*06B6.0020.0002.2379] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
-237A  ; [*06B7.0020.0002.237A] # APL FUNCTIONAL SYMBOL ALPHA
-237B  ; [*06B8.0020.0002.237B] # NOT CHECK MARK
-237C  ; [*06B9.0020.0002.237C] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
-237D  ; [*06BA.0020.0002.237D] # SHOULDERED OPEN BOX
-237E  ; [*06BB.0020.0002.237E] # BELL SYMBOL
-237F  ; [*06BC.0020.0002.237F] # VERTICAL LINE WITH MIDDLE DOT
-2380  ; [*06BD.0020.0002.2380] # INSERTION SYMBOL
-2381  ; [*06BE.0020.0002.2381] # CONTINUOUS UNDERLINE SYMBOL
-2382  ; [*06BF.0020.0002.2382] # DISCONTINUOUS UNDERLINE SYMBOL
-2383  ; [*06C0.0020.0002.2383] # EMPHASIS SYMBOL
-2384  ; [*06C1.0020.0002.2384] # COMPOSITION SYMBOL
-2385  ; [*06C2.0020.0002.2385] # WHITE SQUARE WITH CENTRE VERTICAL LINE
-2386  ; [*06C3.0020.0002.2386] # ENTER SYMBOL
-2387  ; [*06C4.0020.0002.2387] # ALTERNATIVE KEY SYMBOL
-2388  ; [*06C5.0020.0002.2388] # HELM SYMBOL
-2389  ; [*06C6.0020.0002.2389] # CIRCLED HORIZONTAL BAR WITH NOTCH
-238A  ; [*06C7.0020.0002.238A] # CIRCLED TRIANGLE DOWN
-238B  ; [*06C8.0020.0002.238B] # BROKEN CIRCLE WITH NORTHWEST ARROW
-238C  ; [*06C9.0020.0002.238C] # UNDO SYMBOL
-238D  ; [*06CA.0020.0002.238D] # MONOSTABLE SYMBOL
-238E  ; [*06CB.0020.0002.238E] # HYSTERESIS SYMBOL
-238F  ; [*06CC.0020.0002.238F] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
-2390  ; [*06CD.0020.0002.2390] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
-2391  ; [*06CE.0020.0002.2391] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
-2392  ; [*06CF.0020.0002.2392] # PASSIVE-PULL-UP-OUTPUT SYMBOL
-2393  ; [*06D0.0020.0002.2393] # DIRECT CURRENT SYMBOL FORM TWO
-2394  ; [*06D1.0020.0002.2394] # SOFTWARE-FUNCTION SYMBOL
-2395  ; [*06D2.0020.0002.2395] # APL FUNCTIONAL SYMBOL QUAD
-2396  ; [*06D3.0020.0002.2396] # DECIMAL SEPARATOR KEY SYMBOL
-2397  ; [*06D4.0020.0002.2397] # PREVIOUS PAGE
-2398  ; [*06D5.0020.0002.2398] # NEXT PAGE
-2399  ; [*06D6.0020.0002.2399] # PRINT SCREEN SYMBOL
-239A  ; [*06D7.0020.0002.239A] # CLEAR SCREEN SYMBOL
-239B  ; [*06D8.0020.0002.239B] # LEFT PARENTHESIS UPPER HOOK
-239C  ; [*06D9.0020.0002.239C] # LEFT PARENTHESIS EXTENSION
-239D  ; [*06DA.0020.0002.239D] # LEFT PARENTHESIS LOWER HOOK
-239E  ; [*06DB.0020.0002.239E] # RIGHT PARENTHESIS UPPER HOOK
-239F  ; [*06DC.0020.0002.239F] # RIGHT PARENTHESIS EXTENSION
-23A0  ; [*06DD.0020.0002.23A0] # RIGHT PARENTHESIS LOWER HOOK
-23A1  ; [*06DE.0020.0002.23A1] # LEFT SQUARE BRACKET UPPER CORNER
-23A2  ; [*06DF.0020.0002.23A2] # LEFT SQUARE BRACKET EXTENSION
-23A3  ; [*06E0.0020.0002.23A3] # LEFT SQUARE BRACKET LOWER CORNER
-23A4  ; [*06E1.0020.0002.23A4] # RIGHT SQUARE BRACKET UPPER CORNER
-23A5  ; [*06E2.0020.0002.23A5] # RIGHT SQUARE BRACKET EXTENSION
-23A6  ; [*06E3.0020.0002.23A6] # RIGHT SQUARE BRACKET LOWER CORNER
-23A7  ; [*06E4.0020.0002.23A7] # LEFT CURLY BRACKET UPPER HOOK
-23A8  ; [*06E5.0020.0002.23A8] # LEFT CURLY BRACKET MIDDLE PIECE
-23A9  ; [*06E6.0020.0002.23A9] # LEFT CURLY BRACKET LOWER HOOK
-23AA  ; [*06E7.0020.0002.23AA] # CURLY BRACKET EXTENSION
-23AB  ; [*06E8.0020.0002.23AB] # RIGHT CURLY BRACKET UPPER HOOK
-23AC  ; [*06E9.0020.0002.23AC] # RIGHT CURLY BRACKET MIDDLE PIECE
-23AD  ; [*06EA.0020.0002.23AD] # RIGHT CURLY BRACKET LOWER HOOK
-23AE  ; [*06EB.0020.0002.23AE] # INTEGRAL EXTENSION
-23AF  ; [*06EC.0020.0002.23AF] # HORIZONTAL LINE EXTENSION
-23B0  ; [*06ED.0020.0002.23B0] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
-23B1  ; [*06EE.0020.0002.23B1] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
-23B2  ; [*06EF.0020.0002.23B2] # SUMMATION TOP
-23B3  ; [*06F0.0020.0002.23B3] # SUMMATION BOTTOM
-23B4  ; [*06F1.0020.0002.23B4] # TOP SQUARE BRACKET
-23B5  ; [*06F2.0020.0002.23B5] # BOTTOM SQUARE BRACKET
-23B6  ; [*06F3.0020.0002.23B6] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
-23B7  ; [*06F4.0020.0002.23B7] # RADICAL SYMBOL BOTTOM
-23B8  ; [*06F5.0020.0002.23B8] # LEFT VERTICAL BOX LINE
-23B9  ; [*06F6.0020.0002.23B9] # RIGHT VERTICAL BOX LINE
-23BA  ; [*06F7.0020.0002.23BA] # HORIZONTAL SCAN LINE-1
-23BB  ; [*06F8.0020.0002.23BB] # HORIZONTAL SCAN LINE-3
-23BC  ; [*06F9.0020.0002.23BC] # HORIZONTAL SCAN LINE-7
-23BD  ; [*06FA.0020.0002.23BD] # HORIZONTAL SCAN LINE-9
-23BE  ; [*06FB.0020.0002.23BE] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
-23BF  ; [*06FC.0020.0002.23BF] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
-23C0  ; [*06FD.0020.0002.23C0] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
-23C1  ; [*06FE.0020.0002.23C1] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
-23C2  ; [*06FF.0020.0002.23C2] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
-23C3  ; [*0700.0020.0002.23C3] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
-23C4  ; [*0701.0020.0002.23C4] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
-23C5  ; [*0702.0020.0002.23C5] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
-23C6  ; [*0703.0020.0002.23C6] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
-23C7  ; [*0704.0020.0002.23C7] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
-23C8  ; [*0705.0020.0002.23C8] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
-23C9  ; [*0706.0020.0002.23C9] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
-23CA  ; [*0707.0020.0002.23CA] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
-23CB  ; [*0708.0020.0002.23CB] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
-23CC  ; [*0709.0020.0002.23CC] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
-23CD  ; [*070A.0020.0002.23CD] # SQUARE FOOT
-23CE  ; [*070B.0020.0002.23CE] # RETURN SYMBOL
-23CF  ; [*070C.0020.0002.23CF] # EJECT SYMBOL
-23D0  ; [*070D.0020.0002.23D0] # VERTICAL LINE EXTENSION
-23D1  ; [*070E.0020.0002.23D1] # METRICAL BREVE
-23D2  ; [*070F.0020.0002.23D2] # METRICAL LONG OVER SHORT
-23D3  ; [*0710.0020.0002.23D3] # METRICAL SHORT OVER LONG
-23D4  ; [*0711.0020.0002.23D4] # METRICAL LONG OVER TWO SHORTS
-23D5  ; [*0712.0020.0002.23D5] # METRICAL TWO SHORTS OVER LONG
-23D6  ; [*0713.0020.0002.23D6] # METRICAL TWO SHORTS JOINED
-23D7  ; [*0714.0020.0002.23D7] # METRICAL TRISEME
-23D8  ; [*0715.0020.0002.23D8] # METRICAL TETRASEME
-23D9  ; [*0716.0020.0002.23D9] # METRICAL PENTASEME
-23DA  ; [*0717.0020.0002.23DA] # EARTH GROUND
-23DB  ; [*0718.0020.0002.23DB] # FUSE
-23DC  ; [*0719.0020.0002.23DC] # TOP PARENTHESIS
-23DD  ; [*071A.0020.0002.23DD] # BOTTOM PARENTHESIS
-23DE  ; [*071B.0020.0002.23DE] # TOP CURLY BRACKET
-23DF  ; [*071C.0020.0002.23DF] # BOTTOM CURLY BRACKET
-23E0  ; [*071D.0020.0002.23E0] # TOP TORTOISE SHELL BRACKET
-23E1  ; [*071E.0020.0002.23E1] # BOTTOM TORTOISE SHELL BRACKET
-23E2  ; [*071F.0020.0002.23E2] # WHITE TRAPEZIUM
-23E3  ; [*0720.0020.0002.23E3] # BENZENE RING WITH CIRCLE
-23E4  ; [*0721.0020.0002.23E4] # STRAIGHTNESS
-23E5  ; [*0722.0020.0002.23E5] # FLATNESS
-23E6  ; [*0723.0020.0002.23E6] # AC CURRENT
-23E7  ; [*0724.0020.0002.23E7] # ELECTRICAL INTERSECTION
-23E8  ; [*0725.0020.0002.23E8] # DECIMAL EXPONENT SYMBOL
-23E9  ; [*0726.0020.0002.23E9] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
-23EA  ; [*0727.0020.0002.23EA] # BLACK LEFT-POINTING DOUBLE TRIANGLE
-23EB  ; [*0728.0020.0002.23EB] # BLACK UP-POINTING DOUBLE TRIANGLE
-23EC  ; [*0729.0020.0002.23EC] # BLACK DOWN-POINTING DOUBLE TRIANGLE
-23ED  ; [*072A.0020.0002.23ED] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EE  ; [*072B.0020.0002.23EE] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
-23EF  ; [*072C.0020.0002.23EF] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-23F0  ; [*072D.0020.0002.23F0] # ALARM CLOCK
-23F1  ; [*072E.0020.0002.23F1] # STOPWATCH
-23F2  ; [*072F.0020.0002.23F2] # TIMER CLOCK
-23F3  ; [*0730.0020.0002.23F3] # HOURGLASS WITH FLOWING SAND
-2400  ; [*0731.0020.0002.2400] # SYMBOL FOR NULL
-2401  ; [*0732.0020.0002.2401] # SYMBOL FOR START OF HEADING
-2402  ; [*0733.0020.0002.2402] # SYMBOL FOR START OF TEXT
-2403  ; [*0734.0020.0002.2403] # SYMBOL FOR END OF TEXT
-2404  ; [*0735.0020.0002.2404] # SYMBOL FOR END OF TRANSMISSION
-2405  ; [*0736.0020.0002.2405] # SYMBOL FOR ENQUIRY
-2406  ; [*0737.0020.0002.2406] # SYMBOL FOR ACKNOWLEDGE
-2407  ; [*0738.0020.0002.2407] # SYMBOL FOR BELL
-2408  ; [*0739.0020.0002.2408] # SYMBOL FOR BACKSPACE
-2409  ; [*073A.0020.0002.2409] # SYMBOL FOR HORIZONTAL TABULATION
-240A  ; [*073B.0020.0002.240A] # SYMBOL FOR LINE FEED
-240B  ; [*073C.0020.0002.240B] # SYMBOL FOR VERTICAL TABULATION
-240C  ; [*073D.0020.0002.240C] # SYMBOL FOR FORM FEED
-240D  ; [*073E.0020.0002.240D] # SYMBOL FOR CARRIAGE RETURN
-240E  ; [*073F.0020.0002.240E] # SYMBOL FOR SHIFT OUT
-240F  ; [*0740.0020.0002.240F] # SYMBOL FOR SHIFT IN
-2410  ; [*0741.0020.0002.2410] # SYMBOL FOR DATA LINK ESCAPE
-2411  ; [*0742.0020.0002.2411] # SYMBOL FOR DEVICE CONTROL ONE
-2412  ; [*0743.0020.0002.2412] # SYMBOL FOR DEVICE CONTROL TWO
-2413  ; [*0744.0020.0002.2413] # SYMBOL FOR DEVICE CONTROL THREE
-2414  ; [*0745.0020.0002.2414] # SYMBOL FOR DEVICE CONTROL FOUR
-2415  ; [*0746.0020.0002.2415] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
-2416  ; [*0747.0020.0002.2416] # SYMBOL FOR SYNCHRONOUS IDLE
-2417  ; [*0748.0020.0002.2417] # SYMBOL FOR END OF TRANSMISSION BLOCK
-2418  ; [*0749.0020.0002.2418] # SYMBOL FOR CANCEL
-2419  ; [*074A.0020.0002.2419] # SYMBOL FOR END OF MEDIUM
-241A  ; [*074B.0020.0002.241A] # SYMBOL FOR SUBSTITUTE
-241B  ; [*074C.0020.0002.241B] # SYMBOL FOR ESCAPE
-241C  ; [*074D.0020.0002.241C] # SYMBOL FOR FILE SEPARATOR
-241D  ; [*074E.0020.0002.241D] # SYMBOL FOR GROUP SEPARATOR
-241E  ; [*074F.0020.0002.241E] # SYMBOL FOR RECORD SEPARATOR
-241F  ; [*0750.0020.0002.241F] # SYMBOL FOR UNIT SEPARATOR
-2420  ; [*0751.0020.0002.2420] # SYMBOL FOR SPACE
-2421  ; [*0752.0020.0002.2421] # SYMBOL FOR DELETE
-2422  ; [*0753.0020.0002.2422] # BLANK SYMBOL
-2423  ; [*0754.0020.0002.2423] # OPEN BOX
-2424  ; [*0755.0020.0002.2424] # SYMBOL FOR NEWLINE
-2425  ; [*0756.0020.0002.2425] # SYMBOL FOR DELETE FORM TWO
-2426  ; [*0757.0020.0002.2426] # SYMBOL FOR SUBSTITUTE FORM TWO
-2440  ; [*0758.0020.0002.2440] # OCR HOOK
-2441  ; [*0759.0020.0002.2441] # OCR CHAIR
-2442  ; [*075A.0020.0002.2442] # OCR FORK
-2443  ; [*075B.0020.0002.2443] # OCR INVERTED FORK
-2444  ; [*075C.0020.0002.2444] # OCR BELT BUCKLE
-2445  ; [*075D.0020.0002.2445] # OCR BOW TIE
-2446  ; [*075E.0020.0002.2446] # OCR BRANCH BANK IDENTIFICATION
-2447  ; [*075F.0020.0002.2447] # OCR AMOUNT OF CHECK
-2448  ; [*0760.0020.0002.2448] # OCR DASH
-2449  ; [*0761.0020.0002.2449] # OCR CUSTOMER ACCOUNT NUMBER
-244A  ; [*0762.0020.0002.244A] # OCR DOUBLE BACKSLASH
-2500  ; [*0763.0020.0002.2500] # BOX DRAWINGS LIGHT HORIZONTAL
-2501  ; [*0764.0020.0002.2501] # BOX DRAWINGS HEAVY HORIZONTAL
-2502  ; [*0765.0020.0002.2502] # BOX DRAWINGS LIGHT VERTICAL
-2503  ; [*0766.0020.0002.2503] # BOX DRAWINGS HEAVY VERTICAL
-2504  ; [*0767.0020.0002.2504] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
-2505  ; [*0768.0020.0002.2505] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
-2506  ; [*0769.0020.0002.2506] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
-2507  ; [*076A.0020.0002.2507] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
-2508  ; [*076B.0020.0002.2508] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
-2509  ; [*076C.0020.0002.2509] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
-250A  ; [*076D.0020.0002.250A] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
-250B  ; [*076E.0020.0002.250B] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
-250C  ; [*076F.0020.0002.250C] # BOX DRAWINGS LIGHT DOWN AND RIGHT
-250D  ; [*0770.0020.0002.250D] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
-250E  ; [*0771.0020.0002.250E] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
-250F  ; [*0772.0020.0002.250F] # BOX DRAWINGS HEAVY DOWN AND RIGHT
-2510  ; [*0773.0020.0002.2510] # BOX DRAWINGS LIGHT DOWN AND LEFT
-2511  ; [*0774.0020.0002.2511] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
-2512  ; [*0775.0020.0002.2512] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
-2513  ; [*0776.0020.0002.2513] # BOX DRAWINGS HEAVY DOWN AND LEFT
-2514  ; [*0777.0020.0002.2514] # BOX DRAWINGS LIGHT UP AND RIGHT
-2515  ; [*0778.0020.0002.2515] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
-2516  ; [*0779.0020.0002.2516] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
-2517  ; [*077A.0020.0002.2517] # BOX DRAWINGS HEAVY UP AND RIGHT
-2518  ; [*077B.0020.0002.2518] # BOX DRAWINGS LIGHT UP AND LEFT
-2519  ; [*077C.0020.0002.2519] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
-251A  ; [*077D.0020.0002.251A] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
-251B  ; [*077E.0020.0002.251B] # BOX DRAWINGS HEAVY UP AND LEFT
-251C  ; [*077F.0020.0002.251C] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
-251D  ; [*0780.0020.0002.251D] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
-251E  ; [*0781.0020.0002.251E] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
-251F  ; [*0782.0020.0002.251F] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
-2520  ; [*0783.0020.0002.2520] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
-2521  ; [*0784.0020.0002.2521] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
-2522  ; [*0785.0020.0002.2522] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
-2523  ; [*0786.0020.0002.2523] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
-2524  ; [*0787.0020.0002.2524] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
-2525  ; [*0788.0020.0002.2525] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
-2526  ; [*0789.0020.0002.2526] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
-2527  ; [*078A.0020.0002.2527] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
-2528  ; [*078B.0020.0002.2528] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
-2529  ; [*078C.0020.0002.2529] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
-252A  ; [*078D.0020.0002.252A] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
-252B  ; [*078E.0020.0002.252B] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
-252C  ; [*078F.0020.0002.252C] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
-252D  ; [*0790.0020.0002.252D] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
-252E  ; [*0791.0020.0002.252E] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
-252F  ; [*0792.0020.0002.252F] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
-2530  ; [*0793.0020.0002.2530] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
-2531  ; [*0794.0020.0002.2531] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
-2532  ; [*0795.0020.0002.2532] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
-2533  ; [*0796.0020.0002.2533] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
-2534  ; [*0797.0020.0002.2534] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
-2535  ; [*0798.0020.0002.2535] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
-2536  ; [*0799.0020.0002.2536] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
-2537  ; [*079A.0020.0002.2537] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
-2538  ; [*079B.0020.0002.2538] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
-2539  ; [*079C.0020.0002.2539] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
-253A  ; [*079D.0020.0002.253A] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
-253B  ; [*079E.0020.0002.253B] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
-253C  ; [*079F.0020.0002.253C] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
-253D  ; [*07A0.0020.0002.253D] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
-253E  ; [*07A1.0020.0002.253E] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
-253F  ; [*07A2.0020.0002.253F] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
-2540  ; [*07A3.0020.0002.2540] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
-2541  ; [*07A4.0020.0002.2541] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
-2542  ; [*07A5.0020.0002.2542] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
-2543  ; [*07A6.0020.0002.2543] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
-2544  ; [*07A7.0020.0002.2544] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
-2545  ; [*07A8.0020.0002.2545] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
-2546  ; [*07A9.0020.0002.2546] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
-2547  ; [*07AA.0020.0002.2547] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
-2548  ; [*07AB.0020.0002.2548] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
-2549  ; [*07AC.0020.0002.2549] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
-254A  ; [*07AD.0020.0002.254A] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
-254B  ; [*07AE.0020.0002.254B] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
-254C  ; [*07AF.0020.0002.254C] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
-254D  ; [*07B0.0020.0002.254D] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
-254E  ; [*07B1.0020.0002.254E] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
-254F  ; [*07B2.0020.0002.254F] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
-2550  ; [*07B3.0020.0002.2550] # BOX DRAWINGS DOUBLE HORIZONTAL
-2551  ; [*07B4.0020.0002.2551] # BOX DRAWINGS DOUBLE VERTICAL
-2552  ; [*07B5.0020.0002.2552] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
-2553  ; [*07B6.0020.0002.2553] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
-2554  ; [*07B7.0020.0002.2554] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
-2555  ; [*07B8.0020.0002.2555] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
-2556  ; [*07B9.0020.0002.2556] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
-2557  ; [*07BA.0020.0002.2557] # BOX DRAWINGS DOUBLE DOWN AND LEFT
-2558  ; [*07BB.0020.0002.2558] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
-2559  ; [*07BC.0020.0002.2559] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
-255A  ; [*07BD.0020.0002.255A] # BOX DRAWINGS DOUBLE UP AND RIGHT
-255B  ; [*07BE.0020.0002.255B] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
-255C  ; [*07BF.0020.0002.255C] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
-255D  ; [*07C0.0020.0002.255D] # BOX DRAWINGS DOUBLE UP AND LEFT
-255E  ; [*07C1.0020.0002.255E] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
-255F  ; [*07C2.0020.0002.255F] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
-2560  ; [*07C3.0020.0002.2560] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
-2561  ; [*07C4.0020.0002.2561] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
-2562  ; [*07C5.0020.0002.2562] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
-2563  ; [*07C6.0020.0002.2563] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
-2564  ; [*07C7.0020.0002.2564] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
-2565  ; [*07C8.0020.0002.2565] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
-2566  ; [*07C9.0020.0002.2566] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
-2567  ; [*07CA.0020.0002.2567] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
-2568  ; [*07CB.0020.0002.2568] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
-2569  ; [*07CC.0020.0002.2569] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
-256A  ; [*07CD.0020.0002.256A] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
-256B  ; [*07CE.0020.0002.256B] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
-256C  ; [*07CF.0020.0002.256C] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
-256D  ; [*07D0.0020.0002.256D] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
-256E  ; [*07D1.0020.0002.256E] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
-256F  ; [*07D2.0020.0002.256F] # BOX DRAWINGS LIGHT ARC UP AND LEFT
-2570  ; [*07D3.0020.0002.2570] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
-2571  ; [*07D4.0020.0002.2571] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
-2572  ; [*07D5.0020.0002.2572] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
-2573  ; [*07D6.0020.0002.2573] # BOX DRAWINGS LIGHT DIAGONAL CROSS
-2574  ; [*07D7.0020.0002.2574] # BOX DRAWINGS LIGHT LEFT
-2575  ; [*07D8.0020.0002.2575] # BOX DRAWINGS LIGHT UP
-2576  ; [*07D9.0020.0002.2576] # BOX DRAWINGS LIGHT RIGHT
-2577  ; [*07DA.0020.0002.2577] # BOX DRAWINGS LIGHT DOWN
-2578  ; [*07DB.0020.0002.2578] # BOX DRAWINGS HEAVY LEFT
-2579  ; [*07DC.0020.0002.2579] # BOX DRAWINGS HEAVY UP
-257A  ; [*07DD.0020.0002.257A] # BOX DRAWINGS HEAVY RIGHT
-257B  ; [*07DE.0020.0002.257B] # BOX DRAWINGS HEAVY DOWN
-257C  ; [*07DF.0020.0002.257C] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
-257D  ; [*07E0.0020.0002.257D] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
-257E  ; [*07E1.0020.0002.257E] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
-257F  ; [*07E2.0020.0002.257F] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
-2580  ; [*07E3.0020.0002.2580] # UPPER HALF BLOCK
-2581  ; [*07E4.0020.0002.2581] # LOWER ONE EIGHTH BLOCK
-2582  ; [*07E5.0020.0002.2582] # LOWER ONE QUARTER BLOCK
-2583  ; [*07E6.0020.0002.2583] # LOWER THREE EIGHTHS BLOCK
-2584  ; [*07E7.0020.0002.2584] # LOWER HALF BLOCK
-2585  ; [*07E8.0020.0002.2585] # LOWER FIVE EIGHTHS BLOCK
-2586  ; [*07E9.0020.0002.2586] # LOWER THREE QUARTERS BLOCK
-2587  ; [*07EA.0020.0002.2587] # LOWER SEVEN EIGHTHS BLOCK
-2588  ; [*07EB.0020.0002.2588] # FULL BLOCK
-2589  ; [*07EC.0020.0002.2589] # LEFT SEVEN EIGHTHS BLOCK
-258A  ; [*07ED.0020.0002.258A] # LEFT THREE QUARTERS BLOCK
-258B  ; [*07EE.0020.0002.258B] # LEFT FIVE EIGHTHS BLOCK
-258C  ; [*07EF.0020.0002.258C] # LEFT HALF BLOCK
-258D  ; [*07F0.0020.0002.258D] # LEFT THREE EIGHTHS BLOCK
-258E  ; [*07F1.0020.0002.258E] # LEFT ONE QUARTER BLOCK
-258F  ; [*07F2.0020.0002.258F] # LEFT ONE EIGHTH BLOCK
-2590  ; [*07F3.0020.0002.2590] # RIGHT HALF BLOCK
-2591  ; [*07F4.0020.0002.2591] # LIGHT SHADE
-2592  ; [*07F5.0020.0002.2592] # MEDIUM SHADE
-2593  ; [*07F6.0020.0002.2593] # DARK SHADE
-2594  ; [*07F7.0020.0002.2594] # UPPER ONE EIGHTH BLOCK
-2595  ; [*07F8.0020.0002.2595] # RIGHT ONE EIGHTH BLOCK
-2596  ; [*07F9.0020.0002.2596] # QUADRANT LOWER LEFT
-2597  ; [*07FA.0020.0002.2597] # QUADRANT LOWER RIGHT
-2598  ; [*07FB.0020.0002.2598] # QUADRANT UPPER LEFT
-2599  ; [*07FC.0020.0002.2599] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
-259A  ; [*07FD.0020.0002.259A] # QUADRANT UPPER LEFT AND LOWER RIGHT
-259B  ; [*07FE.0020.0002.259B] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
-259C  ; [*07FF.0020.0002.259C] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
-259D  ; [*0800.0020.0002.259D] # QUADRANT UPPER RIGHT
-259E  ; [*0801.0020.0002.259E] # QUADRANT UPPER RIGHT AND LOWER LEFT
-259F  ; [*0802.0020.0002.259F] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
-25A0  ; [*0803.0020.0002.25A0] # BLACK SQUARE
-25A1  ; [*0804.0020.0002.25A1] # WHITE SQUARE
-25A2  ; [*0805.0020.0002.25A2] # WHITE SQUARE WITH ROUNDED CORNERS
-25A3  ; [*0806.0020.0002.25A3] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
-25A4  ; [*0807.0020.0002.25A4] # SQUARE WITH HORIZONTAL FILL
-25A5  ; [*0808.0020.0002.25A5] # SQUARE WITH VERTICAL FILL
-25A6  ; [*0809.0020.0002.25A6] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
-25A7  ; [*080A.0020.0002.25A7] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
-25A8  ; [*080B.0020.0002.25A8] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
-25A9  ; [*080C.0020.0002.25A9] # SQUARE WITH DIAGONAL CROSSHATCH FILL
-25AA  ; [*080D.0020.0002.25AA] # BLACK SMALL SQUARE
-25AB  ; [*080E.0020.0002.25AB] # WHITE SMALL SQUARE
-25AC  ; [*080F.0020.0002.25AC] # BLACK RECTANGLE
-25AD  ; [*0810.0020.0002.25AD] # WHITE RECTANGLE
-25AE  ; [*0811.0020.0002.25AE] # BLACK VERTICAL RECTANGLE
-25AF  ; [*0812.0020.0002.25AF] # WHITE VERTICAL RECTANGLE
-25B0  ; [*0813.0020.0002.25B0] # BLACK PARALLELOGRAM
-25B1  ; [*0814.0020.0002.25B1] # WHITE PARALLELOGRAM
-25B2  ; [*0815.0020.0002.25B2] # BLACK UP-POINTING TRIANGLE
-25B3  ; [*0816.0020.0002.25B3] # WHITE UP-POINTING TRIANGLE
-25B4  ; [*0817.0020.0002.25B4] # BLACK UP-POINTING SMALL TRIANGLE
-25B5  ; [*0818.0020.0002.25B5] # WHITE UP-POINTING SMALL TRIANGLE
-25B6  ; [*0819.0020.0002.25B6] # BLACK RIGHT-POINTING TRIANGLE
-25B7  ; [*081A.0020.0002.25B7] # WHITE RIGHT-POINTING TRIANGLE
-25B8  ; [*081B.0020.0002.25B8] # BLACK RIGHT-POINTING SMALL TRIANGLE
-25B9  ; [*081C.0020.0002.25B9] # WHITE RIGHT-POINTING SMALL TRIANGLE
-25BA  ; [*081D.0020.0002.25BA] # BLACK RIGHT-POINTING POINTER
-25BB  ; [*081E.0020.0002.25BB] # WHITE RIGHT-POINTING POINTER
-25BC  ; [*081F.0020.0002.25BC] # BLACK DOWN-POINTING TRIANGLE
-25BD  ; [*0820.0020.0002.25BD] # WHITE DOWN-POINTING TRIANGLE
-25BE  ; [*0821.0020.0002.25BE] # BLACK DOWN-POINTING SMALL TRIANGLE
-25BF  ; [*0822.0020.0002.25BF] # WHITE DOWN-POINTING SMALL TRIANGLE
-25C0  ; [*0823.0020.0002.25C0] # BLACK LEFT-POINTING TRIANGLE
-25C1  ; [*0824.0020.0002.25C1] # WHITE LEFT-POINTING TRIANGLE
-25C2  ; [*0825.0020.0002.25C2] # BLACK LEFT-POINTING SMALL TRIANGLE
-25C3  ; [*0826.0020.0002.25C3] # WHITE LEFT-POINTING SMALL TRIANGLE
-25C4  ; [*0827.0020.0002.25C4] # BLACK LEFT-POINTING POINTER
-25C5  ; [*0828.0020.0002.25C5] # WHITE LEFT-POINTING POINTER
-25C6  ; [*0829.0020.0002.25C6] # BLACK DIAMOND
-25C7  ; [*082A.0020.0002.25C7] # WHITE DIAMOND
-25C8  ; [*082B.0020.0002.25C8] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
-25C9  ; [*082C.0020.0002.25C9] # FISHEYE
-25CA  ; [*082D.0020.0002.25CA] # LOZENGE
-25CB  ; [*082E.0020.0002.25CB] # WHITE CIRCLE
-25CC  ; [*082F.0020.0002.25CC] # DOTTED CIRCLE
-25CD  ; [*0830.0020.0002.25CD] # CIRCLE WITH VERTICAL FILL
-25CE  ; [*0831.0020.0002.25CE] # BULLSEYE
-25CF  ; [*0832.0020.0002.25CF] # BLACK CIRCLE
-25D0  ; [*0833.0020.0002.25D0] # CIRCLE WITH LEFT HALF BLACK
-25D1  ; [*0834.0020.0002.25D1] # CIRCLE WITH RIGHT HALF BLACK
-25D2  ; [*0835.0020.0002.25D2] # CIRCLE WITH LOWER HALF BLACK
-25D3  ; [*0836.0020.0002.25D3] # CIRCLE WITH UPPER HALF BLACK
-25D4  ; [*0837.0020.0002.25D4] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
-25D5  ; [*0838.0020.0002.25D5] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
-25D6  ; [*0839.0020.0002.25D6] # LEFT HALF BLACK CIRCLE
-25D7  ; [*083A.0020.0002.25D7] # RIGHT HALF BLACK CIRCLE
-25D8  ; [*083B.0020.0002.25D8] # INVERSE BULLET
-25D9  ; [*083C.0020.0002.25D9] # INVERSE WHITE CIRCLE
-25DA  ; [*083D.0020.0002.25DA] # UPPER HALF INVERSE WHITE CIRCLE
-25DB  ; [*083E.0020.0002.25DB] # LOWER HALF INVERSE WHITE CIRCLE
-25DC  ; [*083F.0020.0002.25DC] # UPPER LEFT QUADRANT CIRCULAR ARC
-25DD  ; [*0840.0020.0002.25DD] # UPPER RIGHT QUADRANT CIRCULAR ARC
-25DE  ; [*0841.0020.0002.25DE] # LOWER RIGHT QUADRANT CIRCULAR ARC
-25DF  ; [*0842.0020.0002.25DF] # LOWER LEFT QUADRANT CIRCULAR ARC
-25E0  ; [*0843.0020.0002.25E0] # UPPER HALF CIRCLE
-25E1  ; [*0844.0020.0002.25E1] # LOWER HALF CIRCLE
-25E2  ; [*0845.0020.0002.25E2] # BLACK LOWER RIGHT TRIANGLE
-25E3  ; [*0846.0020.0002.25E3] # BLACK LOWER LEFT TRIANGLE
-25E4  ; [*0847.0020.0002.25E4] # BLACK UPPER LEFT TRIANGLE
-25E5  ; [*0848.0020.0002.25E5] # BLACK UPPER RIGHT TRIANGLE
-25E6  ; [*0849.0020.0002.25E6] # WHITE BULLET
-25E7  ; [*084A.0020.0002.25E7] # SQUARE WITH LEFT HALF BLACK
-25E8  ; [*084B.0020.0002.25E8] # SQUARE WITH RIGHT HALF BLACK
-25E9  ; [*084C.0020.0002.25E9] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
-25EA  ; [*084D.0020.0002.25EA] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
-25EB  ; [*084E.0020.0002.25EB] # WHITE SQUARE WITH VERTICAL BISECTING LINE
-25EC  ; [*084F.0020.0002.25EC] # WHITE UP-POINTING TRIANGLE WITH DOT
-25ED  ; [*0850.0020.0002.25ED] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
-25EE  ; [*0851.0020.0002.25EE] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
-25EF  ; [*0852.0020.0002.25EF] # LARGE CIRCLE
-25F0  ; [*0853.0020.0002.25F0] # WHITE SQUARE WITH UPPER LEFT QUADRANT
-25F1  ; [*0854.0020.0002.25F1] # WHITE SQUARE WITH LOWER LEFT QUADRANT
-25F2  ; [*0855.0020.0002.25F2] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
-25F3  ; [*0856.0020.0002.25F3] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
-25F4  ; [*0857.0020.0002.25F4] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
-25F5  ; [*0858.0020.0002.25F5] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
-25F6  ; [*0859.0020.0002.25F6] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
-25F7  ; [*085A.0020.0002.25F7] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
-25F8  ; [*085B.0020.0002.25F8] # UPPER LEFT TRIANGLE
-25F9  ; [*085C.0020.0002.25F9] # UPPER RIGHT TRIANGLE
-25FA  ; [*085D.0020.0002.25FA] # LOWER LEFT TRIANGLE
-25FB  ; [*085E.0020.0002.25FB] # WHITE MEDIUM SQUARE
-25FC  ; [*085F.0020.0002.25FC] # BLACK MEDIUM SQUARE
-25FD  ; [*0860.0020.0002.25FD] # WHITE MEDIUM SMALL SQUARE
-25FE  ; [*0861.0020.0002.25FE] # BLACK MEDIUM SMALL SQUARE
-25FF  ; [*0862.0020.0002.25FF] # LOWER RIGHT TRIANGLE
-2600  ; [*0863.0020.0002.2600] # BLACK SUN WITH RAYS
-2601  ; [*0864.0020.0002.2601] # CLOUD
-2602  ; [*0865.0020.0002.2602] # UMBRELLA
-2603  ; [*0866.0020.0002.2603] # SNOWMAN
-2604  ; [*0867.0020.0002.2604] # COMET
-2605  ; [*0868.0020.0002.2605] # BLACK STAR
-2606  ; [*0869.0020.0002.2606] # WHITE STAR
-2607  ; [*086A.0020.0002.2607] # LIGHTNING
-2608  ; [*086B.0020.0002.2608] # THUNDERSTORM
-2609  ; [*086C.0020.0002.2609] # SUN
-260A  ; [*086D.0020.0002.260A] # ASCENDING NODE
-260B  ; [*086E.0020.0002.260B] # DESCENDING NODE
-260C  ; [*086F.0020.0002.260C] # CONJUNCTION
-260D  ; [*0870.0020.0002.260D] # OPPOSITION
-260E  ; [*0871.0020.0002.260E] # BLACK TELEPHONE
-260F  ; [*0872.0020.0002.260F] # WHITE TELEPHONE
-2610  ; [*0873.0020.0002.2610] # BALLOT BOX
-2611  ; [*0874.0020.0002.2611] # BALLOT BOX WITH CHECK
-2612  ; [*0875.0020.0002.2612] # BALLOT BOX WITH X
-2613  ; [*0876.0020.0002.2613] # SALTIRE
-2614  ; [*0877.0020.0002.2614] # UMBRELLA WITH RAIN DROPS
-2615  ; [*0878.0020.0002.2615] # HOT BEVERAGE
-2616  ; [*0879.0020.0002.2616] # WHITE SHOGI PIECE
-2617  ; [*087A.0020.0002.2617] # BLACK SHOGI PIECE
-2618  ; [*087B.0020.0002.2618] # SHAMROCK
-2619  ; [*087C.0020.0002.2619] # REVERSED ROTATED FLORAL HEART BULLET
-261A  ; [*087D.0020.0002.261A] # BLACK LEFT POINTING INDEX
-261B  ; [*087E.0020.0002.261B] # BLACK RIGHT POINTING INDEX
-261C  ; [*087F.0020.0002.261C] # WHITE LEFT POINTING INDEX
-261D  ; [*0880.0020.0002.261D] # WHITE UP POINTING INDEX
-261E  ; [*0881.0020.0002.261E] # WHITE RIGHT POINTING INDEX
-261F  ; [*0882.0020.0002.261F] # WHITE DOWN POINTING INDEX
-2620  ; [*0883.0020.0002.2620] # SKULL AND CROSSBONES
-2621  ; [*0884.0020.0002.2621] # CAUTION SIGN
-2622  ; [*0885.0020.0002.2622] # RADIOACTIVE SIGN
-2623  ; [*0886.0020.0002.2623] # BIOHAZARD SIGN
-2624  ; [*0887.0020.0002.2624] # CADUCEUS
-2625  ; [*0888.0020.0002.2625] # ANKH
-2626  ; [*0889.0020.0002.2626] # ORTHODOX CROSS
-2627  ; [*088A.0020.0002.2627] # CHI RHO
-2628  ; [*088B.0020.0002.2628] # CROSS OF LORRAINE
-2629  ; [*088C.0020.0002.2629] # CROSS OF JERUSALEM
-262A  ; [*088D.0020.0002.262A] # STAR AND CRESCENT
-262B  ; [*088E.0020.0002.262B] # FARSI SYMBOL
-262C  ; [*088F.0020.0002.262C] # ADI SHAKTI
-262D  ; [*0890.0020.0002.262D] # HAMMER AND SICKLE
-262E  ; [*0891.0020.0002.262E] # PEACE SYMBOL
-262F  ; [*0892.0020.0002.262F] # YIN YANG
-2630  ; [*0D73.0020.0002.2630] # TRIGRAM FOR HEAVEN
-2631  ; [*0D74.0020.0002.2631] # TRIGRAM FOR LAKE
-2632  ; [*0D75.0020.0002.2632] # TRIGRAM FOR FIRE
-2633  ; [*0D76.0020.0002.2633] # TRIGRAM FOR THUNDER
-2634  ; [*0D77.0020.0002.2634] # TRIGRAM FOR WIND
-2635  ; [*0D78.0020.0002.2635] # TRIGRAM FOR WATER
-2636  ; [*0D79.0020.0002.2636] # TRIGRAM FOR MOUNTAIN
-2637  ; [*0D7A.0020.0002.2637] # TRIGRAM FOR EARTH
-2638  ; [*0893.0020.0002.2638] # WHEEL OF DHARMA
-2639  ; [*0894.0020.0002.2639] # WHITE FROWNING FACE
-263A  ; [*0895.0020.0002.263A] # WHITE SMILING FACE
-263B  ; [*0896.0020.0002.263B] # BLACK SMILING FACE
-263C  ; [*0897.0020.0002.263C] # WHITE SUN WITH RAYS
-263D  ; [*0898.0020.0002.263D] # FIRST QUARTER MOON
-263E  ; [*0899.0020.0002.263E] # LAST QUARTER MOON
-263F  ; [*089A.0020.0002.263F] # MERCURY
-2640  ; [*089B.0020.0002.2640] # FEMALE SIGN
-2641  ; [*089C.0020.0002.2641] # EARTH
-2642  ; [*089D.0020.0002.2642] # MALE SIGN
-2643  ; [*089E.0020.0002.2643] # JUPITER
-2644  ; [*089F.0020.0002.2644] # SATURN
-2645  ; [*08A0.0020.0002.2645] # URANUS
-2646  ; [*08A1.0020.0002.2646] # NEPTUNE
-2647  ; [*08A2.0020.0002.2647] # PLUTO
-2648  ; [*08A3.0020.0002.2648] # ARIES
-2649  ; [*08A4.0020.0002.2649] # TAURUS
-264A  ; [*08A5.0020.0002.264A] # GEMINI
-264B  ; [*08A6.0020.0002.264B] # CANCER
-264C  ; [*08A7.0020.0002.264C] # LEO
-264D  ; [*08A8.0020.0002.264D] # VIRGO
-264E  ; [*08A9.0020.0002.264E] # LIBRA
-264F  ; [*08AA.0020.0002.264F] # SCORPIUS
-2650  ; [*08AB.0020.0002.2650] # SAGITTARIUS
-2651  ; [*08AC.0020.0002.2651] # CAPRICORN
-2652  ; [*08AD.0020.0002.2652] # AQUARIUS
-2653  ; [*08AE.0020.0002.2653] # PISCES
-2654  ; [*08AF.0020.0002.2654] # WHITE CHESS KING
-2655  ; [*08B0.0020.0002.2655] # WHITE CHESS QUEEN
-2656  ; [*08B1.0020.0002.2656] # WHITE CHESS ROOK
-2657  ; [*08B2.0020.0002.2657] # WHITE CHESS BISHOP
-2658  ; [*08B3.0020.0002.2658] # WHITE CHESS KNIGHT
-2659  ; [*08B4.0020.0002.2659] # WHITE CHESS PAWN
-265A  ; [*08B5.0020.0002.265A] # BLACK CHESS KING
-265B  ; [*08B6.0020.0002.265B] # BLACK CHESS QUEEN
-265C  ; [*08B7.0020.0002.265C] # BLACK CHESS ROOK
-265D  ; [*08B8.0020.0002.265D] # BLACK CHESS BISHOP
-265E  ; [*08B9.0020.0002.265E] # BLACK CHESS KNIGHT
-265F  ; [*08BA.0020.0002.265F] # BLACK CHESS PAWN
-2660  ; [*08BB.0020.0002.2660] # BLACK SPADE SUIT
-2661  ; [*08BC.0020.0002.2661] # WHITE HEART SUIT
-2662  ; [*08BD.0020.0002.2662] # WHITE DIAMOND SUIT
-2663  ; [*08BE.0020.0002.2663] # BLACK CLUB SUIT
-2664  ; [*08BF.0020.0002.2664] # WHITE SPADE SUIT
-2665  ; [*08C0.0020.0002.2665] # BLACK HEART SUIT
-2666  ; [*08C1.0020.0002.2666] # BLACK DIAMOND SUIT
-2667  ; [*08C2.0020.0002.2667] # WHITE CLUB SUIT
-2668  ; [*08C3.0020.0002.2668] # HOT SPRINGS
-2669  ; [*08C4.0020.0002.2669] # QUARTER NOTE
-266A  ; [*08C5.0020.0002.266A] # EIGHTH NOTE
-266B  ; [*08C6.0020.0002.266B] # BEAMED EIGHTH NOTES
-266C  ; [*08C7.0020.0002.266C] # BEAMED SIXTEENTH NOTES
-266D  ; [*0FB9.0020.0002.266D] # MUSIC FLAT SIGN
-266E  ; [*0FBA.0020.0002.266E] # MUSIC NATURAL SIGN
-266F  ; [*0FBB.0020.0002.266F] # MUSIC SHARP SIGN
-2670  ; [*08C8.0020.0002.2670] # WEST SYRIAC CROSS
-2671  ; [*08C9.0020.0002.2671] # EAST SYRIAC CROSS
-2672  ; [*08CA.0020.0002.2672] # UNIVERSAL RECYCLING SYMBOL
-2673  ; [*08CB.0020.0002.2673] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
-2674  ; [*08CC.0020.0002.2674] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
-2675  ; [*08CD.0020.0002.2675] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
-2676  ; [*08CE.0020.0002.2676] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
-2677  ; [*08CF.0020.0002.2677] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
-2678  ; [*08D0.0020.0002.2678] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
-2679  ; [*08D1.0020.0002.2679] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
-267A  ; [*08D2.0020.0002.267A] # RECYCLING SYMBOL FOR GENERIC MATERIALS
-267B  ; [*08D3.0020.0002.267B] # BLACK UNIVERSAL RECYCLING SYMBOL
-267C  ; [*08D4.0020.0002.267C] # RECYCLED PAPER SYMBOL
-267D  ; [*08D5.0020.0002.267D] # PARTIALLY-RECYCLED PAPER SYMBOL
-267E  ; [*08D6.0020.0002.267E] # PERMANENT PAPER SIGN
-267F  ; [*08D7.0020.0002.267F] # WHEELCHAIR SYMBOL
-2680  ; [*08D8.0020.0002.2680] # DIE FACE-1
-2681  ; [*08D9.0020.0002.2681] # DIE FACE-2
-2682  ; [*08DA.0020.0002.2682] # DIE FACE-3
-2683  ; [*08DB.0020.0002.2683] # DIE FACE-4
-2684  ; [*08DC.0020.0002.2684] # DIE FACE-5
-2685  ; [*08DD.0020.0002.2685] # DIE FACE-6
-2686  ; [*08DE.0020.0002.2686] # WHITE CIRCLE WITH DOT RIGHT
-2687  ; [*08DF.0020.0002.2687] # WHITE CIRCLE WITH TWO DOTS
-2688  ; [*08E0.0020.0002.2688] # BLACK CIRCLE WITH WHITE DOT RIGHT
-2689  ; [*08E1.0020.0002.2689] # BLACK CIRCLE WITH TWO WHITE DOTS
-268A  ; [*0D6D.0020.0002.268A] # MONOGRAM FOR YANG
-268B  ; [*0D6E.0020.0002.268B] # MONOGRAM FOR YIN
-268C  ; [*0D6F.0020.0002.268C] # DIGRAM FOR GREATER YANG
-268D  ; [*0D70.0020.0002.268D] # DIGRAM FOR LESSER YIN
-268E  ; [*0D71.0020.0002.268E] # DIGRAM FOR LESSER YANG
-268F  ; [*0D72.0020.0002.268F] # DIGRAM FOR GREATER YIN
-2690  ; [*08E2.0020.0002.2690] # WHITE FLAG
-2691  ; [*08E3.0020.0002.2691] # BLACK FLAG
-2692  ; [*08E4.0020.0002.2692] # HAMMER AND PICK
-2693  ; [*08E5.0020.0002.2693] # ANCHOR
-2694  ; [*08E6.0020.0002.2694] # CROSSED SWORDS
-2695  ; [*08E7.0020.0002.2695] # STAFF OF AESCULAPIUS
-2696  ; [*08E8.0020.0002.2696] # SCALES
-2697  ; [*08E9.0020.0002.2697] # ALEMBIC
-2698  ; [*08EA.0020.0002.2698] # FLOWER
-2699  ; [*08EB.0020.0002.2699] # GEAR
-269A  ; [*08EC.0020.0002.269A] # STAFF OF HERMES
-269B  ; [*08ED.0020.0002.269B] # ATOM SYMBOL
-269C  ; [*08EE.0020.0002.269C] # FLEUR-DE-LIS
-269D  ; [*08EF.0020.0002.269D] # OUTLINED WHITE STAR
-269E  ; [*08F0.0020.0002.269E] # THREE LINES CONVERGING RIGHT
-269F  ; [*08F1.0020.0002.269F] # THREE LINES CONVERGING LEFT
-26A0  ; [*08F2.0020.0002.26A0] # WARNING SIGN
-26A1  ; [*08F3.0020.0002.26A1] # HIGH VOLTAGE SIGN
-26A2  ; [*08F4.0020.0002.26A2] # DOUBLED FEMALE SIGN
-26A3  ; [*08F5.0020.0002.26A3] # DOUBLED MALE SIGN
-26A4  ; [*08F6.0020.0002.26A4] # INTERLOCKED FEMALE AND MALE SIGN
-26A5  ; [*08F7.0020.0002.26A5] # MALE AND FEMALE SIGN
-26A6  ; [*08F8.0020.0002.26A6] # MALE WITH STROKE SIGN
-26A7  ; [*08F9.0020.0002.26A7] # MALE WITH STROKE AND MALE AND FEMALE SIGN
-26A8  ; [*08FA.0020.0002.26A8] # VERTICAL MALE WITH STROKE SIGN
-26A9  ; [*08FB.0020.0002.26A9] # HORIZONTAL MALE WITH STROKE SIGN
-26AA  ; [*08FC.0020.0002.26AA] # MEDIUM WHITE CIRCLE
-26AB  ; [*08FD.0020.0002.26AB] # MEDIUM BLACK CIRCLE
-26AC  ; [*08FE.0020.0002.26AC] # MEDIUM SMALL WHITE CIRCLE
-26AD  ; [*08FF.0020.0002.26AD] # MARRIAGE SYMBOL
-26AE  ; [*0900.0020.0002.26AE] # DIVORCE SYMBOL
-26AF  ; [*0901.0020.0002.26AF] # UNMARRIED PARTNERSHIP SYMBOL
-26B0  ; [*0902.0020.0002.26B0] # COFFIN
-26B1  ; [*0903.0020.0002.26B1] # FUNERAL URN
-26B2  ; [*0904.0020.0002.26B2] # NEUTER
-26B3  ; [*0905.0020.0002.26B3] # CERES
-26B4  ; [*0906.0020.0002.26B4] # PALLAS
-26B5  ; [*0907.0020.0002.26B5] # JUNO
-26B6  ; [*0908.0020.0002.26B6] # VESTA
-26B7  ; [*0909.0020.0002.26B7] # CHIRON
-26B8  ; [*090A.0020.0002.26B8] # BLACK MOON LILITH
-26B9  ; [*090B.0020.0002.26B9] # SEXTILE
-26BA  ; [*090C.0020.0002.26BA] # SEMISEXTILE
-26BB  ; [*090D.0020.0002.26BB] # QUINCUNX
-26BC  ; [*090E.0020.0002.26BC] # SESQUIQUADRATE
-26BD  ; [*090F.0020.0002.26BD] # SOCCER BALL
-26BE  ; [*0910.0020.0002.26BE] # BASEBALL
-26BF  ; [*0911.0020.0002.26BF] # SQUARED KEY
-26C0  ; [*0912.0020.0002.26C0] # WHITE DRAUGHTS MAN
-26C1  ; [*0913.0020.0002.26C1] # WHITE DRAUGHTS KING
-26C2  ; [*0914.0020.0002.26C2] # BLACK DRAUGHTS MAN
-26C3  ; [*0915.0020.0002.26C3] # BLACK DRAUGHTS KING
-26C4  ; [*0916.0020.0002.26C4] # SNOWMAN WITHOUT SNOW
-26C5  ; [*0917.0020.0002.26C5] # SUN BEHIND CLOUD
-26C6  ; [*0918.0020.0002.26C6] # RAIN
-26C7  ; [*0919.0020.0002.26C7] # BLACK SNOWMAN
-26C8  ; [*091A.0020.0002.26C8] # THUNDER CLOUD AND RAIN
-26C9  ; [*091B.0020.0002.26C9] # TURNED WHITE SHOGI PIECE
-26CA  ; [*091C.0020.0002.26CA] # TURNED BLACK SHOGI PIECE
-26CB  ; [*091D.0020.0002.26CB] # WHITE DIAMOND IN SQUARE
-26CC  ; [*091E.0020.0002.26CC] # CROSSING LANES
-26CD  ; [*091F.0020.0002.26CD] # DISABLED CAR
-26CE  ; [*0920.0020.0002.26CE] # OPHIUCHUS
-26CF  ; [*0921.0020.0002.26CF] # PICK
-26D0  ; [*0922.0020.0002.26D0] # CAR SLIDING
-26D1  ; [*0923.0020.0002.26D1] # HELMET WITH WHITE CROSS
-26D2  ; [*0924.0020.0002.26D2] # CIRCLED CROSSING LANES
-26D3  ; [*0925.0020.0002.26D3] # CHAINS
-26D4  ; [*0926.0020.0002.26D4] # NO ENTRY
-26D5  ; [*0927.0020.0002.26D5] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
-26D6  ; [*0928.0020.0002.26D6] # BLACK TWO-WAY LEFT WAY TRAFFIC
-26D7  ; [*0929.0020.0002.26D7] # WHITE TWO-WAY LEFT WAY TRAFFIC
-26D8  ; [*092A.0020.0002.26D8] # BLACK LEFT LANE MERGE
-26D9  ; [*092B.0020.0002.26D9] # WHITE LEFT LANE MERGE
-26DA  ; [*092C.0020.0002.26DA] # DRIVE SLOW SIGN
-26DB  ; [*092D.0020.0002.26DB] # HEAVY WHITE DOWN-POINTING TRIANGLE
-26DC  ; [*092E.0020.0002.26DC] # LEFT CLOSED ENTRY
-26DD  ; [*092F.0020.0002.26DD] # SQUARED SALTIRE
-26DE  ; [*0930.0020.0002.26DE] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-26DF  ; [*0931.0020.0002.26DF] # BLACK TRUCK
-26E0  ; [*0932.0020.0002.26E0] # RESTRICTED LEFT ENTRY-1
-26E1  ; [*0933.0020.0002.26E1] # RESTRICTED LEFT ENTRY-2
-26E2  ; [*0934.0020.0002.26E2] # ASTRONOMICAL SYMBOL FOR URANUS
-26E3  ; [*0935.0020.0002.26E3] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E4  ; [*0936.0020.0002.26E4] # PENTAGRAM
-26E5  ; [*0937.0020.0002.26E5] # RIGHT-HANDED INTERLACED PENTAGRAM
-26E6  ; [*0938.0020.0002.26E6] # LEFT-HANDED INTERLACED PENTAGRAM
-26E7  ; [*0939.0020.0002.26E7] # INVERTED PENTAGRAM
-26E8  ; [*093A.0020.0002.26E8] # BLACK CROSS ON SHIELD
-26E9  ; [*093B.0020.0002.26E9] # SHINTO SHRINE
-26EA  ; [*093C.0020.0002.26EA] # CHURCH
-26EB  ; [*093D.0020.0002.26EB] # CASTLE
-26EC  ; [*093E.0020.0002.26EC] # HISTORIC SITE
-26ED  ; [*093F.0020.0002.26ED] # GEAR WITHOUT HUB
-26EE  ; [*0940.0020.0002.26EE] # GEAR WITH HANDLES
-26EF  ; [*0941.0020.0002.26EF] # MAP SYMBOL FOR LIGHTHOUSE
-26F0  ; [*0942.0020.0002.26F0] # MOUNTAIN
-26F1  ; [*0943.0020.0002.26F1] # UMBRELLA ON GROUND
-26F2  ; [*0944.0020.0002.26F2] # FOUNTAIN
-26F3  ; [*0945.0020.0002.26F3] # FLAG IN HOLE
-26F4  ; [*0946.0020.0002.26F4] # FERRY
-26F5  ; [*0947.0020.0002.26F5] # SAILBOAT
-26F6  ; [*0948.0020.0002.26F6] # SQUARE FOUR CORNERS
-26F7  ; [*0949.0020.0002.26F7] # SKIER
-26F8  ; [*094A.0020.0002.26F8] # ICE SKATE
-26F9  ; [*094B.0020.0002.26F9] # PERSON WITH BALL
-26FA  ; [*094C.0020.0002.26FA] # TENT
-26FB  ; [*094D.0020.0002.26FB] # JAPANESE BANK SYMBOL
-26FC  ; [*094E.0020.0002.26FC] # HEADSTONE GRAVEYARD SYMBOL
-26FD  ; [*094F.0020.0002.26FD] # FUEL PUMP
-26FE  ; [*0950.0020.0002.26FE] # CUP ON BLACK SQUARE
-26FF  ; [*0951.0020.0002.26FF] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701  ; [*0952.0020.0002.2701] # UPPER BLADE SCISSORS
-2702  ; [*0953.0020.0002.2702] # BLACK SCISSORS
-2703  ; [*0954.0020.0002.2703] # LOWER BLADE SCISSORS
-2704  ; [*0955.0020.0002.2704] # WHITE SCISSORS
-2705  ; [*0956.0020.0002.2705] # WHITE HEAVY CHECK MARK
-2706  ; [*0957.0020.0002.2706] # TELEPHONE LOCATION SIGN
-2707  ; [*0958.0020.0002.2707] # TAPE DRIVE
-2708  ; [*0959.0020.0002.2708] # AIRPLANE
-2709  ; [*095A.0020.0002.2709] # ENVELOPE
-270A  ; [*095B.0020.0002.270A] # RAISED FIST
-270B  ; [*095C.0020.0002.270B] # RAISED HAND
-270C  ; [*095D.0020.0002.270C] # VICTORY HAND
-270D  ; [*095E.0020.0002.270D] # WRITING HAND
-270E  ; [*095F.0020.0002.270E] # LOWER RIGHT PENCIL
-270F  ; [*0960.0020.0002.270F] # PENCIL
-2710  ; [*0961.0020.0002.2710] # UPPER RIGHT PENCIL
-2711  ; [*0962.0020.0002.2711] # WHITE NIB
-2712  ; [*0963.0020.0002.2712] # BLACK NIB
-2713  ; [*0964.0020.0002.2713] # CHECK MARK
-2714  ; [*0965.0020.0002.2714] # HEAVY CHECK MARK
-2715  ; [*0966.0020.0002.2715] # MULTIPLICATION X
-2716  ; [*0967.0020.0002.2716] # HEAVY MULTIPLICATION X
-2717  ; [*0968.0020.0002.2717] # BALLOT X
-2718  ; [*0969.0020.0002.2718] # HEAVY BALLOT X
-2719  ; [*096A.0020.0002.2719] # OUTLINED GREEK CROSS
-271A  ; [*096B.0020.0002.271A] # HEAVY GREEK CROSS
-271B  ; [*096C.0020.0002.271B] # OPEN CENTRE CROSS
-271C  ; [*096D.0020.0002.271C] # HEAVY OPEN CENTRE CROSS
-271D  ; [*096E.0020.0002.271D] # LATIN CROSS
-271E  ; [*096F.0020.0002.271E] # SHADOWED WHITE LATIN CROSS
-271F  ; [*0970.0020.0002.271F] # OUTLINED LATIN CROSS
-2720  ; [*0971.0020.0002.2720] # MALTESE CROSS
-2721  ; [*0972.0020.0002.2721] # STAR OF DAVID
-2722  ; [*0973.0020.0002.2722] # FOUR TEARDROP-SPOKED ASTERISK
-2723  ; [*0974.0020.0002.2723] # FOUR BALLOON-SPOKED ASTERISK
-2724  ; [*0975.0020.0002.2724] # HEAVY FOUR BALLOON-SPOKED ASTERISK
-2725  ; [*0976.0020.0002.2725] # FOUR CLUB-SPOKED ASTERISK
-2726  ; [*0977.0020.0002.2726] # BLACK FOUR POINTED STAR
-2727  ; [*0978.0020.0002.2727] # WHITE FOUR POINTED STAR
-2728  ; [*0979.0020.0002.2728] # SPARKLES
-2729  ; [*097A.0020.0002.2729] # STRESS OUTLINED WHITE STAR
-272A  ; [*097B.0020.0002.272A] # CIRCLED WHITE STAR
-272B  ; [*097C.0020.0002.272B] # OPEN CENTRE BLACK STAR
-272C  ; [*097D.0020.0002.272C] # BLACK CENTRE WHITE STAR
-272D  ; [*097E.0020.0002.272D] # OUTLINED BLACK STAR
-272E  ; [*097F.0020.0002.272E] # HEAVY OUTLINED BLACK STAR
-272F  ; [*0980.0020.0002.272F] # PINWHEEL STAR
-2730  ; [*0981.0020.0002.2730] # SHADOWED WHITE STAR
-2731  ; [*0982.0020.0002.2731] # HEAVY ASTERISK
-2732  ; [*0983.0020.0002.2732] # OPEN CENTRE ASTERISK
-2733  ; [*0984.0020.0002.2733] # EIGHT SPOKED ASTERISK
-2734  ; [*0985.0020.0002.2734] # EIGHT POINTED BLACK STAR
-2735  ; [*0986.0020.0002.2735] # EIGHT POINTED PINWHEEL STAR
-2736  ; [*0987.0020.0002.2736] # SIX POINTED BLACK STAR
-2737  ; [*0988.0020.0002.2737] # EIGHT POINTED RECTILINEAR BLACK STAR
-2738  ; [*0989.0020.0002.2738] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
-2739  ; [*098A.0020.0002.2739] # TWELVE POINTED BLACK STAR
-273A  ; [*098B.0020.0002.273A] # SIXTEEN POINTED ASTERISK
-273B  ; [*098C.0020.0002.273B] # TEARDROP-SPOKED ASTERISK
-273C  ; [*098D.0020.0002.273C] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
-273D  ; [*098E.0020.0002.273D] # HEAVY TEARDROP-SPOKED ASTERISK
-273E  ; [*098F.0020.0002.273E] # SIX PETALLED BLACK AND WHITE FLORETTE
-273F  ; [*0990.0020.0002.273F] # BLACK FLORETTE
-2740  ; [*0991.0020.0002.2740] # WHITE FLORETTE
-2741  ; [*0992.0020.0002.2741] # EIGHT PETALLED OUTLINED BLACK FLORETTE
-2742  ; [*0993.0020.0002.2742] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
-2743  ; [*0994.0020.0002.2743] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
-2744  ; [*0995.0020.0002.2744] # SNOWFLAKE
-2745  ; [*0996.0020.0002.2745] # TIGHT TRIFOLIATE SNOWFLAKE
-2746  ; [*0997.0020.0002.2746] # HEAVY CHEVRON SNOWFLAKE
-2747  ; [*0998.0020.0002.2747] # SPARKLE
-2748  ; [*0999.0020.0002.2748] # HEAVY SPARKLE
-2749  ; [*099A.0020.0002.2749] # BALLOON-SPOKED ASTERISK
-274A  ; [*099B.0020.0002.274A] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274B  ; [*099C.0020.0002.274B] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
-274C  ; [*099D.0020.0002.274C] # CROSS MARK
-274D  ; [*099E.0020.0002.274D] # SHADOWED WHITE CIRCLE
-274E  ; [*099F.0020.0002.274E] # NEGATIVE SQUARED CROSS MARK
-274F  ; [*09A0.0020.0002.274F] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
-2750  ; [*09A1.0020.0002.2750] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
-2751  ; [*09A2.0020.0002.2751] # LOWER RIGHT SHADOWED WHITE SQUARE
-2752  ; [*09A3.0020.0002.2752] # UPPER RIGHT SHADOWED WHITE SQUARE
-2753  ; [*09A4.0020.0002.2753] # BLACK QUESTION MARK ORNAMENT
-2754  ; [*09A5.0020.0002.2754] # WHITE QUESTION MARK ORNAMENT
-2755  ; [*09A6.0020.0002.2755] # WHITE EXCLAMATION MARK ORNAMENT
-2756  ; [*09A7.0020.0002.2756] # BLACK DIAMOND MINUS WHITE X
-2757  ; [*09A8.0020.0002.2757] # HEAVY EXCLAMATION MARK SYMBOL
-2758  ; [*09A9.0020.0002.2758] # LIGHT VERTICAL BAR
-2759  ; [*09AA.0020.0002.2759] # MEDIUM VERTICAL BAR
-275A  ; [*09AB.0020.0002.275A] # HEAVY VERTICAL BAR
-275B  ; [*09AC.0020.0002.275B] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
-275C  ; [*09AD.0020.0002.275C] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
-275D  ; [*09AE.0020.0002.275D] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
-275E  ; [*09AF.0020.0002.275E] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
-275F  ; [*09B0.0020.0002.275F] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
-2760  ; [*09B1.0020.0002.2760] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
-2761  ; [*09B2.0020.0002.2761] # CURVED STEM PARAGRAPH SIGN ORNAMENT
-2762  ; [*09B3.0020.0002.2762] # HEAVY EXCLAMATION MARK ORNAMENT
-2763  ; [*09B4.0020.0002.2763] # HEAVY HEART EXCLAMATION MARK ORNAMENT
-2764  ; [*09B5.0020.0002.2764] # HEAVY BLACK HEART
-2765  ; [*09B6.0020.0002.2765] # ROTATED HEAVY BLACK HEART BULLET
-2766  ; [*09B7.0020.0002.2766] # FLORAL HEART
-2767  ; [*09B8.0020.0002.2767] # ROTATED FLORAL HEART BULLET
-2768  ; [*09B9.0020.0002.2768] # MEDIUM LEFT PARENTHESIS ORNAMENT
-2769  ; [*09BA.0020.0002.2769] # MEDIUM RIGHT PARENTHESIS ORNAMENT
-276A  ; [*09BB.0020.0002.276A] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
-276B  ; [*09BC.0020.0002.276B] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
-276C  ; [*09BD.0020.0002.276C] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
-276D  ; [*09BE.0020.0002.276D] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
-276E  ; [*09BF.0020.0002.276E] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
-276F  ; [*09C0.0020.0002.276F] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
-2770  ; [*09C1.0020.0002.2770] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
-2771  ; [*09C2.0020.0002.2771] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
-2772  ; [*09C3.0020.0002.2772] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
-2773  ; [*09C4.0020.0002.2773] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
-2774  ; [*09C5.0020.0002.2774] # MEDIUM LEFT CURLY BRACKET ORNAMENT
-2775  ; [*09C6.0020.0002.2775] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
-2794  ; [*09C7.0020.0002.2794] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
-2795  ; [*09C8.0020.0002.2795] # HEAVY PLUS SIGN
-2796  ; [*09C9.0020.0002.2796] # HEAVY MINUS SIGN
-2797  ; [*09CA.0020.0002.2797] # HEAVY DIVISION SIGN
-2798  ; [*09CB.0020.0002.2798] # HEAVY SOUTH EAST ARROW
-2799  ; [*09CC.0020.0002.2799] # HEAVY RIGHTWARDS ARROW
-279A  ; [*09CD.0020.0002.279A] # HEAVY NORTH EAST ARROW
-279B  ; [*09CE.0020.0002.279B] # DRAFTING POINT RIGHTWARDS ARROW
-279C  ; [*09CF.0020.0002.279C] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
-279D  ; [*09D0.0020.0002.279D] # TRIANGLE-HEADED RIGHTWARDS ARROW
-279E  ; [*09D1.0020.0002.279E] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
-279F  ; [*09D2.0020.0002.279F] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A0  ; [*09D3.0020.0002.27A0] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
-27A1  ; [*09D4.0020.0002.27A1] # BLACK RIGHTWARDS ARROW
-27A2  ; [*09D5.0020.0002.27A2] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
-27A3  ; [*09D6.0020.0002.27A3] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
-27A4  ; [*09D7.0020.0002.27A4] # BLACK RIGHTWARDS ARROWHEAD
-27A5  ; [*09D8.0020.0002.27A5] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
-27A6  ; [*09D9.0020.0002.27A6] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
-27A7  ; [*09DA.0020.0002.27A7] # SQUAT BLACK RIGHTWARDS ARROW
-27A8  ; [*09DB.0020.0002.27A8] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
-27A9  ; [*09DC.0020.0002.27A9] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
-27AA  ; [*09DD.0020.0002.27AA] # LEFT-SHADED WHITE RIGHTWARDS ARROW
-27AB  ; [*09DE.0020.0002.27AB] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AC  ; [*09DF.0020.0002.27AC] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
-27AD  ; [*09E0.0020.0002.27AD] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AE  ; [*09E1.0020.0002.27AE] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27AF  ; [*09E2.0020.0002.27AF] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B0  ; [*09E3.0020.0002.27B0] # CURLY LOOP
-27B1  ; [*09E4.0020.0002.27B1] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
-27B2  ; [*09E5.0020.0002.27B2] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
-27B3  ; [*09E6.0020.0002.27B3] # WHITE-FEATHERED RIGHTWARDS ARROW
-27B4  ; [*09E7.0020.0002.27B4] # BLACK-FEATHERED SOUTH EAST ARROW
-27B5  ; [*09E8.0020.0002.27B5] # BLACK-FEATHERED RIGHTWARDS ARROW
-27B6  ; [*09E9.0020.0002.27B6] # BLACK-FEATHERED NORTH EAST ARROW
-27B7  ; [*09EA.0020.0002.27B7] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
-27B8  ; [*09EB.0020.0002.27B8] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
-27B9  ; [*09EC.0020.0002.27B9] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
-27BA  ; [*09ED.0020.0002.27BA] # TEARDROP-BARBED RIGHTWARDS ARROW
-27BB  ; [*09EE.0020.0002.27BB] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
-27BC  ; [*09EF.0020.0002.27BC] # WEDGE-TAILED RIGHTWARDS ARROW
-27BD  ; [*09F0.0020.0002.27BD] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
-27BE  ; [*09F1.0020.0002.27BE] # OPEN-OUTLINED RIGHTWARDS ARROW
-27BF  ; [*09F2.0020.0002.27BF] # DOUBLE CURLY LOOP
-27C0  ; [*09F3.0020.0002.27C0] # THREE DIMENSIONAL ANGLE
-27C1  ; [*09F4.0020.0002.27C1] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
-27C2  ; [*09F5.0020.0002.27C2] # PERPENDICULAR
-27C3  ; [*09F6.0020.0002.27C3] # OPEN SUBSET
-27C4  ; [*09F7.0020.0002.27C4] # OPEN SUPERSET
-27C5  ; [*09F8.0020.0002.27C5] # LEFT S-SHAPED BAG DELIMITER
-27C6  ; [*09F9.0020.0002.27C6] # RIGHT S-SHAPED BAG DELIMITER
-27C7  ; [*09FA.0020.0002.27C7] # OR WITH DOT INSIDE
-27C8  ; [*09FB.0020.0002.27C8] # REVERSE SOLIDUS PRECEDING SUBSET
-27C9  ; [*09FC.0020.0002.27C9] # SUPERSET PRECEDING SOLIDUS
-27CA  ; [*09FD.0020.0002.27CA] # VERTICAL BAR WITH HORIZONTAL STROKE
-27CC  ; [*09FE.0020.0002.27CC] # LONG DIVISION
-27CE  ; [*09FF.0020.0002.27CE] # SQUARED LOGICAL AND
-27CF  ; [*0A00.0020.0002.27CF] # SQUARED LOGICAL OR
-27D0  ; [*0A01.0020.0002.27D0] # WHITE DIAMOND WITH CENTRED DOT
-27D1  ; [*0A02.0020.0002.27D1] # AND WITH DOT
-27D2  ; [*0A03.0020.0002.27D2] # ELEMENT OF OPENING UPWARDS
-27D3  ; [*0A04.0020.0002.27D3] # LOWER RIGHT CORNER WITH DOT
-27D4  ; [*0A05.0020.0002.27D4] # UPPER LEFT CORNER WITH DOT
-27D5  ; [*0A06.0020.0002.27D5] # LEFT OUTER JOIN
-27D6  ; [*0A07.0020.0002.27D6] # RIGHT OUTER JOIN
-27D7  ; [*0A08.0020.0002.27D7] # FULL OUTER JOIN
-27D8  ; [*0A09.0020.0002.27D8] # LARGE UP TACK
-27D9  ; [*0A0A.0020.0002.27D9] # LARGE DOWN TACK
-27DA  ; [*0A0B.0020.0002.27DA] # LEFT AND RIGHT DOUBLE TURNSTILE
-27DB  ; [*0A0C.0020.0002.27DB] # LEFT AND RIGHT TACK
-27DC  ; [*0A0D.0020.0002.27DC] # LEFT MULTIMAP
-27DD  ; [*0A0E.0020.0002.27DD] # LONG RIGHT TACK
-27DE  ; [*0A0F.0020.0002.27DE] # LONG LEFT TACK
-27DF  ; [*0A10.0020.0002.27DF] # UP TACK WITH CIRCLE ABOVE
-27E0  ; [*0A11.0020.0002.27E0] # LOZENGE DIVIDED BY HORIZONTAL RULE
-27E1  ; [*0A12.0020.0002.27E1] # WHITE CONCAVE-SIDED DIAMOND
-27E2  ; [*0A13.0020.0002.27E2] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
-27E3  ; [*0A14.0020.0002.27E3] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
-27E4  ; [*0A15.0020.0002.27E4] # WHITE SQUARE WITH LEFTWARDS TICK
-27E5  ; [*0A16.0020.0002.27E5] # WHITE SQUARE WITH RIGHTWARDS TICK
-27E6  ; [*0A17.0020.0002.27E6] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
-27E7  ; [*0A18.0020.0002.27E7] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
-27E8  ; [*0A19.0020.0002.27E8] # MATHEMATICAL LEFT ANGLE BRACKET
-27E9  ; [*0A1A.0020.0002.27E9] # MATHEMATICAL RIGHT ANGLE BRACKET
-27EA  ; [*0A1B.0020.0002.27EA] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
-27EB  ; [*0A1C.0020.0002.27EB] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
-27EC  ; [*0334.0020.0002.27EC] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
-27ED  ; [*0335.0020.0002.27ED] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
-27EE  ; [*0336.0020.0002.27EE] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
-27EF  ; [*0337.0020.0002.27EF] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
-27F0  ; [*0A1D.0020.0002.27F0] # UPWARDS QUADRUPLE ARROW
-27F1  ; [*0A1E.0020.0002.27F1] # DOWNWARDS QUADRUPLE ARROW
-27F2  ; [*0A1F.0020.0002.27F2] # ANTICLOCKWISE GAPPED CIRCLE ARROW
-27F3  ; [*0A20.0020.0002.27F3] # CLOCKWISE GAPPED CIRCLE ARROW
-27F4  ; [*0A21.0020.0002.27F4] # RIGHT ARROW WITH CIRCLED PLUS
-27F5  ; [*0A22.0020.0002.27F5] # LONG LEFTWARDS ARROW
-27F6  ; [*0A23.0020.0002.27F6] # LONG RIGHTWARDS ARROW
-27F7  ; [*0A24.0020.0002.27F7] # LONG LEFT RIGHT ARROW
-27F8  ; [*0A25.0020.0002.27F8] # LONG LEFTWARDS DOUBLE ARROW
-27F9  ; [*0A26.0020.0002.27F9] # LONG RIGHTWARDS DOUBLE ARROW
-27FA  ; [*0A27.0020.0002.27FA] # LONG LEFT RIGHT DOUBLE ARROW
-27FB  ; [*0A28.0020.0002.27FB] # LONG LEFTWARDS ARROW FROM BAR
-27FC  ; [*0A29.0020.0002.27FC] # LONG RIGHTWARDS ARROW FROM BAR
-27FD  ; [*0A2A.0020.0002.27FD] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
-27FE  ; [*0A2B.0020.0002.27FE] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
-27FF  ; [*0A2C.0020.0002.27FF] # LONG RIGHTWARDS SQUIGGLE ARROW
-2800  ; [*0C6D.0020.0002.2800] # BRAILLE PATTERN BLANK
-2801  ; [*0C6E.0020.0002.2801] # BRAILLE PATTERN DOTS-1
-2802  ; [*0C6F.0020.0002.2802] # BRAILLE PATTERN DOTS-2
-2803  ; [*0C70.0020.0002.2803] # BRAILLE PATTERN DOTS-12
-2804  ; [*0C71.0020.0002.2804] # BRAILLE PATTERN DOTS-3
-2805  ; [*0C72.0020.0002.2805] # BRAILLE PATTERN DOTS-13
-2806  ; [*0C73.0020.0002.2806] # BRAILLE PATTERN DOTS-23
-2807  ; [*0C74.0020.0002.2807] # BRAILLE PATTERN DOTS-123
-2808  ; [*0C75.0020.0002.2808] # BRAILLE PATTERN DOTS-4
-2809  ; [*0C76.0020.0002.2809] # BRAILLE PATTERN DOTS-14
-280A  ; [*0C77.0020.0002.280A] # BRAILLE PATTERN DOTS-24
-280B  ; [*0C78.0020.0002.280B] # BRAILLE PATTERN DOTS-124
-280C  ; [*0C79.0020.0002.280C] # BRAILLE PATTERN DOTS-34
-280D  ; [*0C7A.0020.0002.280D] # BRAILLE PATTERN DOTS-134
-280E  ; [*0C7B.0020.0002.280E] # BRAILLE PATTERN DOTS-234
-280F  ; [*0C7C.0020.0002.280F] # BRAILLE PATTERN DOTS-1234
-2810  ; [*0C7D.0020.0002.2810] # BRAILLE PATTERN DOTS-5
-2811  ; [*0C7E.0020.0002.2811] # BRAILLE PATTERN DOTS-15
-2812  ; [*0C7F.0020.0002.2812] # BRAILLE PATTERN DOTS-25
-2813  ; [*0C80.0020.0002.2813] # BRAILLE PATTERN DOTS-125
-2814  ; [*0C81.0020.0002.2814] # BRAILLE PATTERN DOTS-35
-2815  ; [*0C82.0020.0002.2815] # BRAILLE PATTERN DOTS-135
-2816  ; [*0C83.0020.0002.2816] # BRAILLE PATTERN DOTS-235
-2817  ; [*0C84.0020.0002.2817] # BRAILLE PATTERN DOTS-1235
-2818  ; [*0C85.0020.0002.2818] # BRAILLE PATTERN DOTS-45
-2819  ; [*0C86.0020.0002.2819] # BRAILLE PATTERN DOTS-145
-281A  ; [*0C87.0020.0002.281A] # BRAILLE PATTERN DOTS-245
-281B  ; [*0C88.0020.0002.281B] # BRAILLE PATTERN DOTS-1245
-281C  ; [*0C89.0020.0002.281C] # BRAILLE PATTERN DOTS-345
-281D  ; [*0C8A.0020.0002.281D] # BRAILLE PATTERN DOTS-1345
-281E  ; [*0C8B.0020.0002.281E] # BRAILLE PATTERN DOTS-2345
-281F  ; [*0C8C.0020.0002.281F] # BRAILLE PATTERN DOTS-12345
-2820  ; [*0C8D.0020.0002.2820] # BRAILLE PATTERN DOTS-6
-2821  ; [*0C8E.0020.0002.2821] # BRAILLE PATTERN DOTS-16
-2822  ; [*0C8F.0020.0002.2822] # BRAILLE PATTERN DOTS-26
-2823  ; [*0C90.0020.0002.2823] # BRAILLE PATTERN DOTS-126
-2824  ; [*0C91.0020.0002.2824] # BRAILLE PATTERN DOTS-36
-2825  ; [*0C92.0020.0002.2825] # BRAILLE PATTERN DOTS-136
-2826  ; [*0C93.0020.0002.2826] # BRAILLE PATTERN DOTS-236
-2827  ; [*0C94.0020.0002.2827] # BRAILLE PATTERN DOTS-1236
-2828  ; [*0C95.0020.0002.2828] # BRAILLE PATTERN DOTS-46
-2829  ; [*0C96.0020.0002.2829] # BRAILLE PATTERN DOTS-146
-282A  ; [*0C97.0020.0002.282A] # BRAILLE PATTERN DOTS-246
-282B  ; [*0C98.0020.0002.282B] # BRAILLE PATTERN DOTS-1246
-282C  ; [*0C99.0020.0002.282C] # BRAILLE PATTERN DOTS-346
-282D  ; [*0C9A.0020.0002.282D] # BRAILLE PATTERN DOTS-1346
-282E  ; [*0C9B.0020.0002.282E] # BRAILLE PATTERN DOTS-2346
-282F  ; [*0C9C.0020.0002.282F] # BRAILLE PATTERN DOTS-12346
-2830  ; [*0C9D.0020.0002.2830] # BRAILLE PATTERN DOTS-56
-2831  ; [*0C9E.0020.0002.2831] # BRAILLE PATTERN DOTS-156
-2832  ; [*0C9F.0020.0002.2832] # BRAILLE PATTERN DOTS-256
-2833  ; [*0CA0.0020.0002.2833] # BRAILLE PATTERN DOTS-1256
-2834  ; [*0CA1.0020.0002.2834] # BRAILLE PATTERN DOTS-356
-2835  ; [*0CA2.0020.0002.2835] # BRAILLE PATTERN DOTS-1356
-2836  ; [*0CA3.0020.0002.2836] # BRAILLE PATTERN DOTS-2356
-2837  ; [*0CA4.0020.0002.2837] # BRAILLE PATTERN DOTS-12356
-2838  ; [*0CA5.0020.0002.2838] # BRAILLE PATTERN DOTS-456
-2839  ; [*0CA6.0020.0002.2839] # BRAILLE PATTERN DOTS-1456
-283A  ; [*0CA7.0020.0002.283A] # BRAILLE PATTERN DOTS-2456
-283B  ; [*0CA8.0020.0002.283B] # BRAILLE PATTERN DOTS-12456
-283C  ; [*0CA9.0020.0002.283C] # BRAILLE PATTERN DOTS-3456
-283D  ; [*0CAA.0020.0002.283D] # BRAILLE PATTERN DOTS-13456
-283E  ; [*0CAB.0020.0002.283E] # BRAILLE PATTERN DOTS-23456
-283F  ; [*0CAC.0020.0002.283F] # BRAILLE PATTERN DOTS-123456
-2840  ; [*0CAD.0020.0002.2840] # BRAILLE PATTERN DOTS-7
-2841  ; [*0CAE.0020.0002.2841] # BRAILLE PATTERN DOTS-17
-2842  ; [*0CAF.0020.0002.2842] # BRAILLE PATTERN DOTS-27
-2843  ; [*0CB0.0020.0002.2843] # BRAILLE PATTERN DOTS-127
-2844  ; [*0CB1.0020.0002.2844] # BRAILLE PATTERN DOTS-37
-2845  ; [*0CB2.0020.0002.2845] # BRAILLE PATTERN DOTS-137
-2846  ; [*0CB3.0020.0002.2846] # BRAILLE PATTERN DOTS-237
-2847  ; [*0CB4.0020.0002.2847] # BRAILLE PATTERN DOTS-1237
-2848  ; [*0CB5.0020.0002.2848] # BRAILLE PATTERN DOTS-47
-2849  ; [*0CB6.0020.0002.2849] # BRAILLE PATTERN DOTS-147
-284A  ; [*0CB7.0020.0002.284A] # BRAILLE PATTERN DOTS-247
-284B  ; [*0CB8.0020.0002.284B] # BRAILLE PATTERN DOTS-1247
-284C  ; [*0CB9.0020.0002.284C] # BRAILLE PATTERN DOTS-347
-284D  ; [*0CBA.0020.0002.284D] # BRAILLE PATTERN DOTS-1347
-284E  ; [*0CBB.0020.0002.284E] # BRAILLE PATTERN DOTS-2347
-284F  ; [*0CBC.0020.0002.284F] # BRAILLE PATTERN DOTS-12347
-2850  ; [*0CBD.0020.0002.2850] # BRAILLE PATTERN DOTS-57
-2851  ; [*0CBE.0020.0002.2851] # BRAILLE PATTERN DOTS-157
-2852  ; [*0CBF.0020.0002.2852] # BRAILLE PATTERN DOTS-257
-2853  ; [*0CC0.0020.0002.2853] # BRAILLE PATTERN DOTS-1257
-2854  ; [*0CC1.0020.0002.2854] # BRAILLE PATTERN DOTS-357
-2855  ; [*0CC2.0020.0002.2855] # BRAILLE PATTERN DOTS-1357
-2856  ; [*0CC3.0020.0002.2856] # BRAILLE PATTERN DOTS-2357
-2857  ; [*0CC4.0020.0002.2857] # BRAILLE PATTERN DOTS-12357
-2858  ; [*0CC5.0020.0002.2858] # BRAILLE PATTERN DOTS-457
-2859  ; [*0CC6.0020.0002.2859] # BRAILLE PATTERN DOTS-1457
-285A  ; [*0CC7.0020.0002.285A] # BRAILLE PATTERN DOTS-2457
-285B  ; [*0CC8.0020.0002.285B] # BRAILLE PATTERN DOTS-12457
-285C  ; [*0CC9.0020.0002.285C] # BRAILLE PATTERN DOTS-3457
-285D  ; [*0CCA.0020.0002.285D] # BRAILLE PATTERN DOTS-13457
-285E  ; [*0CCB.0020.0002.285E] # BRAILLE PATTERN DOTS-23457
-285F  ; [*0CCC.0020.0002.285F] # BRAILLE PATTERN DOTS-123457
-2860  ; [*0CCD.0020.0002.2860] # BRAILLE PATTERN DOTS-67
-2861  ; [*0CCE.0020.0002.2861] # BRAILLE PATTERN DOTS-167
-2862  ; [*0CCF.0020.0002.2862] # BRAILLE PATTERN DOTS-267
-2863  ; [*0CD0.0020.0002.2863] # BRAILLE PATTERN DOTS-1267
-2864  ; [*0CD1.0020.0002.2864] # BRAILLE PATTERN DOTS-367
-2865  ; [*0CD2.0020.0002.2865] # BRAILLE PATTERN DOTS-1367
-2866  ; [*0CD3.0020.0002.2866] # BRAILLE PATTERN DOTS-2367
-2867  ; [*0CD4.0020.0002.2867] # BRAILLE PATTERN DOTS-12367
-2868  ; [*0CD5.0020.0002.2868] # BRAILLE PATTERN DOTS-467
-2869  ; [*0CD6.0020.0002.2869] # BRAILLE PATTERN DOTS-1467
-286A  ; [*0CD7.0020.0002.286A] # BRAILLE PATTERN DOTS-2467
-286B  ; [*0CD8.0020.0002.286B] # BRAILLE PATTERN DOTS-12467
-286C  ; [*0CD9.0020.0002.286C] # BRAILLE PATTERN DOTS-3467
-286D  ; [*0CDA.0020.0002.286D] # BRAILLE PATTERN DOTS-13467
-286E  ; [*0CDB.0020.0002.286E] # BRAILLE PATTERN DOTS-23467
-286F  ; [*0CDC.0020.0002.286F] # BRAILLE PATTERN DOTS-123467
-2870  ; [*0CDD.0020.0002.2870] # BRAILLE PATTERN DOTS-567
-2871  ; [*0CDE.0020.0002.2871] # BRAILLE PATTERN DOTS-1567
-2872  ; [*0CDF.0020.0002.2872] # BRAILLE PATTERN DOTS-2567
-2873  ; [*0CE0.0020.0002.2873] # BRAILLE PATTERN DOTS-12567
-2874  ; [*0CE1.0020.0002.2874] # BRAILLE PATTERN DOTS-3567
-2875  ; [*0CE2.0020.0002.2875] # BRAILLE PATTERN DOTS-13567
-2876  ; [*0CE3.0020.0002.2876] # BRAILLE PATTERN DOTS-23567
-2877  ; [*0CE4.0020.0002.2877] # BRAILLE PATTERN DOTS-123567
-2878  ; [*0CE5.0020.0002.2878] # BRAILLE PATTERN DOTS-4567
-2879  ; [*0CE6.0020.0002.2879] # BRAILLE PATTERN DOTS-14567
-287A  ; [*0CE7.0020.0002.287A] # BRAILLE PATTERN DOTS-24567
-287B  ; [*0CE8.0020.0002.287B] # BRAILLE PATTERN DOTS-124567
-287C  ; [*0CE9.0020.0002.287C] # BRAILLE PATTERN DOTS-34567
-287D  ; [*0CEA.0020.0002.287D] # BRAILLE PATTERN DOTS-134567
-287E  ; [*0CEB.0020.0002.287E] # BRAILLE PATTERN DOTS-234567
-287F  ; [*0CEC.0020.0002.287F] # BRAILLE PATTERN DOTS-1234567
-2880  ; [*0CED.0020.0002.2880] # BRAILLE PATTERN DOTS-8
-2881  ; [*0CEE.0020.0002.2881] # BRAILLE PATTERN DOTS-18
-2882  ; [*0CEF.0020.0002.2882] # BRAILLE PATTERN DOTS-28
-2883  ; [*0CF0.0020.0002.2883] # BRAILLE PATTERN DOTS-128
-2884  ; [*0CF1.0020.0002.2884] # BRAILLE PATTERN DOTS-38
-2885  ; [*0CF2.0020.0002.2885] # BRAILLE PATTERN DOTS-138
-2886  ; [*0CF3.0020.0002.2886] # BRAILLE PATTERN DOTS-238
-2887  ; [*0CF4.0020.0002.2887] # BRAILLE PATTERN DOTS-1238
-2888  ; [*0CF5.0020.0002.2888] # BRAILLE PATTERN DOTS-48
-2889  ; [*0CF6.0020.0002.2889] # BRAILLE PATTERN DOTS-148
-288A  ; [*0CF7.0020.0002.288A] # BRAILLE PATTERN DOTS-248
-288B  ; [*0CF8.0020.0002.288B] # BRAILLE PATTERN DOTS-1248
-288C  ; [*0CF9.0020.0002.288C] # BRAILLE PATTERN DOTS-348
-288D  ; [*0CFA.0020.0002.288D] # BRAILLE PATTERN DOTS-1348
-288E  ; [*0CFB.0020.0002.288E] # BRAILLE PATTERN DOTS-2348
-288F  ; [*0CFC.0020.0002.288F] # BRAILLE PATTERN DOTS-12348
-2890  ; [*0CFD.0020.0002.2890] # BRAILLE PATTERN DOTS-58
-2891  ; [*0CFE.0020.0002.2891] # BRAILLE PATTERN DOTS-158
-2892  ; [*0CFF.0020.0002.2892] # BRAILLE PATTERN DOTS-258
-2893  ; [*0D00.0020.0002.2893] # BRAILLE PATTERN DOTS-1258
-2894  ; [*0D01.0020.0002.2894] # BRAILLE PATTERN DOTS-358
-2895  ; [*0D02.0020.0002.2895] # BRAILLE PATTERN DOTS-1358
-2896  ; [*0D03.0020.0002.2896] # BRAILLE PATTERN DOTS-2358
-2897  ; [*0D04.0020.0002.2897] # BRAILLE PATTERN DOTS-12358
-2898  ; [*0D05.0020.0002.2898] # BRAILLE PATTERN DOTS-458
-2899  ; [*0D06.0020.0002.2899] # BRAILLE PATTERN DOTS-1458
-289A  ; [*0D07.0020.0002.289A] # BRAILLE PATTERN DOTS-2458
-289B  ; [*0D08.0020.0002.289B] # BRAILLE PATTERN DOTS-12458
-289C  ; [*0D09.0020.0002.289C] # BRAILLE PATTERN DOTS-3458
-289D  ; [*0D0A.0020.0002.289D] # BRAILLE PATTERN DOTS-13458
-289E  ; [*0D0B.0020.0002.289E] # BRAILLE PATTERN DOTS-23458
-289F  ; [*0D0C.0020.0002.289F] # BRAILLE PATTERN DOTS-123458
-28A0  ; [*0D0D.0020.0002.28A0] # BRAILLE PATTERN DOTS-68
-28A1  ; [*0D0E.0020.0002.28A1] # BRAILLE PATTERN DOTS-168
-28A2  ; [*0D0F.0020.0002.28A2] # BRAILLE PATTERN DOTS-268
-28A3  ; [*0D10.0020.0002.28A3] # BRAILLE PATTERN DOTS-1268
-28A4  ; [*0D11.0020.0002.28A4] # BRAILLE PATTERN DOTS-368
-28A5  ; [*0D12.0020.0002.28A5] # BRAILLE PATTERN DOTS-1368
-28A6  ; [*0D13.0020.0002.28A6] # BRAILLE PATTERN DOTS-2368
-28A7  ; [*0D14.0020.0002.28A7] # BRAILLE PATTERN DOTS-12368
-28A8  ; [*0D15.0020.0002.28A8] # BRAILLE PATTERN DOTS-468
-28A9  ; [*0D16.0020.0002.28A9] # BRAILLE PATTERN DOTS-1468
-28AA  ; [*0D17.0020.0002.28AA] # BRAILLE PATTERN DOTS-2468
-28AB  ; [*0D18.0020.0002.28AB] # BRAILLE PATTERN DOTS-12468
-28AC  ; [*0D19.0020.0002.28AC] # BRAILLE PATTERN DOTS-3468
-28AD  ; [*0D1A.0020.0002.28AD] # BRAILLE PATTERN DOTS-13468
-28AE  ; [*0D1B.0020.0002.28AE] # BRAILLE PATTERN DOTS-23468
-28AF  ; [*0D1C.0020.0002.28AF] # BRAILLE PATTERN DOTS-123468
-28B0  ; [*0D1D.0020.0002.28B0] # BRAILLE PATTERN DOTS-568
-28B1  ; [*0D1E.0020.0002.28B1] # BRAILLE PATTERN DOTS-1568
-28B2  ; [*0D1F.0020.0002.28B2] # BRAILLE PATTERN DOTS-2568
-28B3  ; [*0D20.0020.0002.28B3] # BRAILLE PATTERN DOTS-12568
-28B4  ; [*0D21.0020.0002.28B4] # BRAILLE PATTERN DOTS-3568
-28B5  ; [*0D22.0020.0002.28B5] # BRAILLE PATTERN DOTS-13568
-28B6  ; [*0D23.0020.0002.28B6] # BRAILLE PATTERN DOTS-23568
-28B7  ; [*0D24.0020.0002.28B7] # BRAILLE PATTERN DOTS-123568
-28B8  ; [*0D25.0020.0002.28B8] # BRAILLE PATTERN DOTS-4568
-28B9  ; [*0D26.0020.0002.28B9] # BRAILLE PATTERN DOTS-14568
-28BA  ; [*0D27.0020.0002.28BA] # BRAILLE PATTERN DOTS-24568
-28BB  ; [*0D28.0020.0002.28BB] # BRAILLE PATTERN DOTS-124568
-28BC  ; [*0D29.0020.0002.28BC] # BRAILLE PATTERN DOTS-34568
-28BD  ; [*0D2A.0020.0002.28BD] # BRAILLE PATTERN DOTS-134568
-28BE  ; [*0D2B.0020.0002.28BE] # BRAILLE PATTERN DOTS-234568
-28BF  ; [*0D2C.0020.0002.28BF] # BRAILLE PATTERN DOTS-1234568
-28C0  ; [*0D2D.0020.0002.28C0] # BRAILLE PATTERN DOTS-78
-28C1  ; [*0D2E.0020.0002.28C1] # BRAILLE PATTERN DOTS-178
-28C2  ; [*0D2F.0020.0002.28C2] # BRAILLE PATTERN DOTS-278
-28C3  ; [*0D30.0020.0002.28C3] # BRAILLE PATTERN DOTS-1278
-28C4  ; [*0D31.0020.0002.28C4] # BRAILLE PATTERN DOTS-378
-28C5  ; [*0D32.0020.0002.28C5] # BRAILLE PATTERN DOTS-1378
-28C6  ; [*0D33.0020.0002.28C6] # BRAILLE PATTERN DOTS-2378
-28C7  ; [*0D34.0020.0002.28C7] # BRAILLE PATTERN DOTS-12378
-28C8  ; [*0D35.0020.0002.28C8] # BRAILLE PATTERN DOTS-478
-28C9  ; [*0D36.0020.0002.28C9] # BRAILLE PATTERN DOTS-1478
-28CA  ; [*0D37.0020.0002.28CA] # BRAILLE PATTERN DOTS-2478
-28CB  ; [*0D38.0020.0002.28CB] # BRAILLE PATTERN DOTS-12478
-28CC  ; [*0D39.0020.0002.28CC] # BRAILLE PATTERN DOTS-3478
-28CD  ; [*0D3A.0020.0002.28CD] # BRAILLE PATTERN DOTS-13478
-28CE  ; [*0D3B.0020.0002.28CE] # BRAILLE PATTERN DOTS-23478
-28CF  ; [*0D3C.0020.0002.28CF] # BRAILLE PATTERN DOTS-123478
-28D0  ; [*0D3D.0020.0002.28D0] # BRAILLE PATTERN DOTS-578
-28D1  ; [*0D3E.0020.0002.28D1] # BRAILLE PATTERN DOTS-1578
-28D2  ; [*0D3F.0020.0002.28D2] # BRAILLE PATTERN DOTS-2578
-28D3  ; [*0D40.0020.0002.28D3] # BRAILLE PATTERN DOTS-12578
-28D4  ; [*0D41.0020.0002.28D4] # BRAILLE PATTERN DOTS-3578
-28D5  ; [*0D42.0020.0002.28D5] # BRAILLE PATTERN DOTS-13578
-28D6  ; [*0D43.0020.0002.28D6] # BRAILLE PATTERN DOTS-23578
-28D7  ; [*0D44.0020.0002.28D7] # BRAILLE PATTERN DOTS-123578
-28D8  ; [*0D45.0020.0002.28D8] # BRAILLE PATTERN DOTS-4578
-28D9  ; [*0D46.0020.0002.28D9] # BRAILLE PATTERN DOTS-14578
-28DA  ; [*0D47.0020.0002.28DA] # BRAILLE PATTERN DOTS-24578
-28DB  ; [*0D48.0020.0002.28DB] # BRAILLE PATTERN DOTS-124578
-28DC  ; [*0D49.0020.0002.28DC] # BRAILLE PATTERN DOTS-34578
-28DD  ; [*0D4A.0020.0002.28DD] # BRAILLE PATTERN DOTS-134578
-28DE  ; [*0D4B.0020.0002.28DE] # BRAILLE PATTERN DOTS-234578
-28DF  ; [*0D4C.0020.0002.28DF] # BRAILLE PATTERN DOTS-1234578
-28E0  ; [*0D4D.0020.0002.28E0] # BRAILLE PATTERN DOTS-678
-28E1  ; [*0D4E.0020.0002.28E1] # BRAILLE PATTERN DOTS-1678
-28E2  ; [*0D4F.0020.0002.28E2] # BRAILLE PATTERN DOTS-2678
-28E3  ; [*0D50.0020.0002.28E3] # BRAILLE PATTERN DOTS-12678
-28E4  ; [*0D51.0020.0002.28E4] # BRAILLE PATTERN DOTS-3678
-28E5  ; [*0D52.0020.0002.28E5] # BRAILLE PATTERN DOTS-13678
-28E6  ; [*0D53.0020.0002.28E6] # BRAILLE PATTERN DOTS-23678
-28E7  ; [*0D54.0020.0002.28E7] # BRAILLE PATTERN DOTS-123678
-28E8  ; [*0D55.0020.0002.28E8] # BRAILLE PATTERN DOTS-4678
-28E9  ; [*0D56.0020.0002.28E9] # BRAILLE PATTERN DOTS-14678
-28EA  ; [*0D57.0020.0002.28EA] # BRAILLE PATTERN DOTS-24678
-28EB  ; [*0D58.0020.0002.28EB] # BRAILLE PATTERN DOTS-124678
-28EC  ; [*0D59.0020.0002.28EC] # BRAILLE PATTERN DOTS-34678
-28ED  ; [*0D5A.0020.0002.28ED] # BRAILLE PATTERN DOTS-134678
-28EE  ; [*0D5B.0020.0002.28EE] # BRAILLE PATTERN DOTS-234678
-28EF  ; [*0D5C.0020.0002.28EF] # BRAILLE PATTERN DOTS-1234678
-28F0  ; [*0D5D.0020.0002.28F0] # BRAILLE PATTERN DOTS-5678
-28F1  ; [*0D5E.0020.0002.28F1] # BRAILLE PATTERN DOTS-15678
-28F2  ; [*0D5F.0020.0002.28F2] # BRAILLE PATTERN DOTS-25678
-28F3  ; [*0D60.0020.0002.28F3] # BRAILLE PATTERN DOTS-125678
-28F4  ; [*0D61.0020.0002.28F4] # BRAILLE PATTERN DOTS-35678
-28F5  ; [*0D62.0020.0002.28F5] # BRAILLE PATTERN DOTS-135678
-28F6  ; [*0D63.0020.0002.28F6] # BRAILLE PATTERN DOTS-235678
-28F7  ; [*0D64.0020.0002.28F7] # BRAILLE PATTERN DOTS-1235678
-28F8  ; [*0D65.0020.0002.28F8] # BRAILLE PATTERN DOTS-45678
-28F9  ; [*0D66.0020.0002.28F9] # BRAILLE PATTERN DOTS-145678
-28FA  ; [*0D67.0020.0002.28FA] # BRAILLE PATTERN DOTS-245678
-28FB  ; [*0D68.0020.0002.28FB] # BRAILLE PATTERN DOTS-1245678
-28FC  ; [*0D69.0020.0002.28FC] # BRAILLE PATTERN DOTS-345678
-28FD  ; [*0D6A.0020.0002.28FD] # BRAILLE PATTERN DOTS-1345678
-28FE  ; [*0D6B.0020.0002.28FE] # BRAILLE PATTERN DOTS-2345678
-28FF  ; [*0D6C.0020.0002.28FF] # BRAILLE PATTERN DOTS-12345678
-2900  ; [*0A2D.0020.0002.2900] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2901  ; [*0A2E.0020.0002.2901] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2902  ; [*0A2F.0020.0002.2902] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2903  ; [*0A30.0020.0002.2903] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
-2904  ; [*0A31.0020.0002.2904] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
-2905  ; [*0A32.0020.0002.2905] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
-2906  ; [*0A33.0020.0002.2906] # LEFTWARDS DOUBLE ARROW FROM BAR
-2907  ; [*0A34.0020.0002.2907] # RIGHTWARDS DOUBLE ARROW FROM BAR
-2908  ; [*0A35.0020.0002.2908] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
-2909  ; [*0A36.0020.0002.2909] # UPWARDS ARROW WITH HORIZONTAL STROKE
-290A  ; [*0A37.0020.0002.290A] # UPWARDS TRIPLE ARROW
-290B  ; [*0A38.0020.0002.290B] # DOWNWARDS TRIPLE ARROW
-290C  ; [*0A39.0020.0002.290C] # LEFTWARDS DOUBLE DASH ARROW
-290D  ; [*0A3A.0020.0002.290D] # RIGHTWARDS DOUBLE DASH ARROW
-290E  ; [*0A3B.0020.0002.290E] # LEFTWARDS TRIPLE DASH ARROW
-290F  ; [*0A3C.0020.0002.290F] # RIGHTWARDS TRIPLE DASH ARROW
-2910  ; [*0A3D.0020.0002.2910] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
-2911  ; [*0A3E.0020.0002.2911] # RIGHTWARDS ARROW WITH DOTTED STEM
-2912  ; [*0A3F.0020.0002.2912] # UPWARDS ARROW TO BAR
-2913  ; [*0A40.0020.0002.2913] # DOWNWARDS ARROW TO BAR
-2914  ; [*0A41.0020.0002.2914] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2915  ; [*0A42.0020.0002.2915] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2916  ; [*0A43.0020.0002.2916] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
-2917  ; [*0A44.0020.0002.2917] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2918  ; [*0A45.0020.0002.2918] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2919  ; [*0A46.0020.0002.2919] # LEFTWARDS ARROW-TAIL
-291A  ; [*0A47.0020.0002.291A] # RIGHTWARDS ARROW-TAIL
-291B  ; [*0A48.0020.0002.291B] # LEFTWARDS DOUBLE ARROW-TAIL
-291C  ; [*0A49.0020.0002.291C] # RIGHTWARDS DOUBLE ARROW-TAIL
-291D  ; [*0A4A.0020.0002.291D] # LEFTWARDS ARROW TO BLACK DIAMOND
-291E  ; [*0A4B.0020.0002.291E] # RIGHTWARDS ARROW TO BLACK DIAMOND
-291F  ; [*0A4C.0020.0002.291F] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2920  ; [*0A4D.0020.0002.2920] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
-2921  ; [*0A4E.0020.0002.2921] # NORTH WEST AND SOUTH EAST ARROW
-2922  ; [*0A4F.0020.0002.2922] # NORTH EAST AND SOUTH WEST ARROW
-2923  ; [*0A50.0020.0002.2923] # NORTH WEST ARROW WITH HOOK
-2924  ; [*0A51.0020.0002.2924] # NORTH EAST ARROW WITH HOOK
-2925  ; [*0A52.0020.0002.2925] # SOUTH EAST ARROW WITH HOOK
-2926  ; [*0A53.0020.0002.2926] # SOUTH WEST ARROW WITH HOOK
-2927  ; [*0A54.0020.0002.2927] # NORTH WEST ARROW AND NORTH EAST ARROW
-2928  ; [*0A55.0020.0002.2928] # NORTH EAST ARROW AND SOUTH EAST ARROW
-2929  ; [*0A56.0020.0002.2929] # SOUTH EAST ARROW AND SOUTH WEST ARROW
-292A  ; [*0A57.0020.0002.292A] # SOUTH WEST ARROW AND NORTH WEST ARROW
-292B  ; [*0A58.0020.0002.292B] # RISING DIAGONAL CROSSING FALLING DIAGONAL
-292C  ; [*0A59.0020.0002.292C] # FALLING DIAGONAL CROSSING RISING DIAGONAL
-292D  ; [*0A5A.0020.0002.292D] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
-292E  ; [*0A5B.0020.0002.292E] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
-292F  ; [*0A5C.0020.0002.292F] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
-2930  ; [*0A5D.0020.0002.2930] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
-2931  ; [*0A5E.0020.0002.2931] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
-2932  ; [*0A5F.0020.0002.2932] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
-2933  ; [*0A60.0020.0002.2933] # WAVE ARROW POINTING DIRECTLY RIGHT
-2934  ; [*0A61.0020.0002.2934] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
-2935  ; [*0A62.0020.0002.2935] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
-2936  ; [*0A63.0020.0002.2936] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
-2937  ; [*0A64.0020.0002.2937] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
-2938  ; [*0A65.0020.0002.2938] # RIGHT-SIDE ARC CLOCKWISE ARROW
-2939  ; [*0A66.0020.0002.2939] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
-293A  ; [*0A67.0020.0002.293A] # TOP ARC ANTICLOCKWISE ARROW
-293B  ; [*0A68.0020.0002.293B] # BOTTOM ARC ANTICLOCKWISE ARROW
-293C  ; [*0A69.0020.0002.293C] # TOP ARC CLOCKWISE ARROW WITH MINUS
-293D  ; [*0A6A.0020.0002.293D] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
-293E  ; [*0A6B.0020.0002.293E] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
-293F  ; [*0A6C.0020.0002.293F] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
-2940  ; [*0A6D.0020.0002.2940] # ANTICLOCKWISE CLOSED CIRCLE ARROW
-2941  ; [*0A6E.0020.0002.2941] # CLOCKWISE CLOSED CIRCLE ARROW
-2942  ; [*0A6F.0020.0002.2942] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
-2943  ; [*0A70.0020.0002.2943] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
-2944  ; [*0A71.0020.0002.2944] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
-2945  ; [*0A72.0020.0002.2945] # RIGHTWARDS ARROW WITH PLUS BELOW
-2946  ; [*0A73.0020.0002.2946] # LEFTWARDS ARROW WITH PLUS BELOW
-2947  ; [*0A74.0020.0002.2947] # RIGHTWARDS ARROW THROUGH X
-2948  ; [*0A75.0020.0002.2948] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
-2949  ; [*0A76.0020.0002.2949] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
-294A  ; [*0A77.0020.0002.294A] # LEFT BARB UP RIGHT BARB DOWN HARPOON
-294B  ; [*0A78.0020.0002.294B] # LEFT BARB DOWN RIGHT BARB UP HARPOON
-294C  ; [*0A79.0020.0002.294C] # UP BARB RIGHT DOWN BARB LEFT HARPOON
-294D  ; [*0A7A.0020.0002.294D] # UP BARB LEFT DOWN BARB RIGHT HARPOON
-294E  ; [*0A7B.0020.0002.294E] # LEFT BARB UP RIGHT BARB UP HARPOON
-294F  ; [*0A7C.0020.0002.294F] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
-2950  ; [*0A7D.0020.0002.2950] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
-2951  ; [*0A7E.0020.0002.2951] # UP BARB LEFT DOWN BARB LEFT HARPOON
-2952  ; [*0A7F.0020.0002.2952] # LEFTWARDS HARPOON WITH BARB UP TO BAR
-2953  ; [*0A80.0020.0002.2953] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
-2954  ; [*0A81.0020.0002.2954] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
-2955  ; [*0A82.0020.0002.2955] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
-2956  ; [*0A83.0020.0002.2956] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
-2957  ; [*0A84.0020.0002.2957] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
-2958  ; [*0A85.0020.0002.2958] # UPWARDS HARPOON WITH BARB LEFT TO BAR
-2959  ; [*0A86.0020.0002.2959] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
-295A  ; [*0A87.0020.0002.295A] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
-295B  ; [*0A88.0020.0002.295B] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
-295C  ; [*0A89.0020.0002.295C] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
-295D  ; [*0A8A.0020.0002.295D] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
-295E  ; [*0A8B.0020.0002.295E] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
-295F  ; [*0A8C.0020.0002.295F] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
-2960  ; [*0A8D.0020.0002.2960] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
-2961  ; [*0A8E.0020.0002.2961] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
-2962  ; [*0A8F.0020.0002.2962] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-2963  ; [*0A90.0020.0002.2963] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2964  ; [*0A91.0020.0002.2964] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2965  ; [*0A92.0020.0002.2965] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-2966  ; [*0A93.0020.0002.2966] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
-2967  ; [*0A94.0020.0002.2967] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
-2968  ; [*0A95.0020.0002.2968] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
-2969  ; [*0A96.0020.0002.2969] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
-296A  ; [*0A97.0020.0002.296A] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296B  ; [*0A98.0020.0002.296B] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296C  ; [*0A99.0020.0002.296C] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
-296D  ; [*0A9A.0020.0002.296D] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
-296E  ; [*0A9B.0020.0002.296E] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
-296F  ; [*0A9C.0020.0002.296F] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
-2970  ; [*0A9D.0020.0002.2970] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
-2971  ; [*0A9E.0020.0002.2971] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
-2972  ; [*0A9F.0020.0002.2972] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2973  ; [*0AA0.0020.0002.2973] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
-2974  ; [*0AA1.0020.0002.2974] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
-2975  ; [*0AA2.0020.0002.2975] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
-2976  ; [*0AA3.0020.0002.2976] # LESS-THAN ABOVE LEFTWARDS ARROW
-2977  ; [*0AA4.0020.0002.2977] # LEFTWARDS ARROW THROUGH LESS-THAN
-2978  ; [*0AA5.0020.0002.2978] # GREATER-THAN ABOVE RIGHTWARDS ARROW
-2979  ; [*0AA6.0020.0002.2979] # SUBSET ABOVE RIGHTWARDS ARROW
-297A  ; [*0AA7.0020.0002.297A] # LEFTWARDS ARROW THROUGH SUBSET
-297B  ; [*0AA8.0020.0002.297B] # SUPERSET ABOVE LEFTWARDS ARROW
-297C  ; [*0AA9.0020.0002.297C] # LEFT FISH TAIL
-297D  ; [*0AAA.0020.0002.297D] # RIGHT FISH TAIL
-297E  ; [*0AAB.0020.0002.297E] # UP FISH TAIL
-297F  ; [*0AAC.0020.0002.297F] # DOWN FISH TAIL
-2980  ; [*0AAD.0020.0002.2980] # TRIPLE VERTICAL BAR DELIMITER
-2981  ; [*0AAE.0020.0002.2981] # Z NOTATION SPOT
-2982  ; [*0AAF.0020.0002.2982] # Z NOTATION TYPE COLON
-2983  ; [*031E.0020.0002.2983] # LEFT WHITE CURLY BRACKET
-2984  ; [*031F.0020.0002.2984] # RIGHT WHITE CURLY BRACKET
-2985  ; [*0320.0020.0002.2985] # LEFT WHITE PARENTHESIS
-2986  ; [*0321.0020.0002.2986] # RIGHT WHITE PARENTHESIS
-2987  ; [*0322.0020.0002.2987] # Z NOTATION LEFT IMAGE BRACKET
-2988  ; [*0323.0020.0002.2988] # Z NOTATION RIGHT IMAGE BRACKET
-2989  ; [*0324.0020.0002.2989] # Z NOTATION LEFT BINDING BRACKET
-298A  ; [*0325.0020.0002.298A] # Z NOTATION RIGHT BINDING BRACKET
-298B  ; [*0326.0020.0002.298B] # LEFT SQUARE BRACKET WITH UNDERBAR
-298C  ; [*0327.0020.0002.298C] # RIGHT SQUARE BRACKET WITH UNDERBAR
-298D  ; [*0328.0020.0002.298D] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
-298E  ; [*0329.0020.0002.298E] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-298F  ; [*032A.0020.0002.298F] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
-2990  ; [*032B.0020.0002.2990] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
-2991  ; [*032C.0020.0002.2991] # LEFT ANGLE BRACKET WITH DOT
-2992  ; [*032D.0020.0002.2992] # RIGHT ANGLE BRACKET WITH DOT
-2993  ; [*032E.0020.0002.2993] # LEFT ARC LESS-THAN BRACKET
-2994  ; [*032F.0020.0002.2994] # RIGHT ARC GREATER-THAN BRACKET
-2995  ; [*0330.0020.0002.2995] # DOUBLE LEFT ARC GREATER-THAN BRACKET
-2996  ; [*0331.0020.0002.2996] # DOUBLE RIGHT ARC LESS-THAN BRACKET
-2997  ; [*0332.0020.0002.2997] # LEFT BLACK TORTOISE SHELL BRACKET
-2998  ; [*0333.0020.0002.2998] # RIGHT BLACK TORTOISE SHELL BRACKET
-2999  ; [*0AB0.0020.0002.2999] # DOTTED FENCE
-299A  ; [*0AB1.0020.0002.299A] # VERTICAL ZIGZAG LINE
-299B  ; [*0AB2.0020.0002.299B] # MEASURED ANGLE OPENING LEFT
-299C  ; [*0AB3.0020.0002.299C] # RIGHT ANGLE VARIANT WITH SQUARE
-299D  ; [*0AB4.0020.0002.299D] # MEASURED RIGHT ANGLE WITH DOT
-299E  ; [*0AB5.0020.0002.299E] # ANGLE WITH S INSIDE
-299F  ; [*0AB6.0020.0002.299F] # ACUTE ANGLE
-29A0  ; [*0AB7.0020.0002.29A0] # SPHERICAL ANGLE OPENING LEFT
-29A1  ; [*0AB8.0020.0002.29A1] # SPHERICAL ANGLE OPENING UP
-29A2  ; [*0AB9.0020.0002.29A2] # TURNED ANGLE
-29A3  ; [*0ABA.0020.0002.29A3] # REVERSED ANGLE
-29A4  ; [*0ABB.0020.0002.29A4] # ANGLE WITH UNDERBAR
-29A5  ; [*0ABC.0020.0002.29A5] # REVERSED ANGLE WITH UNDERBAR
-29A6  ; [*0ABD.0020.0002.29A6] # OBLIQUE ANGLE OPENING UP
-29A7  ; [*0ABE.0020.0002.29A7] # OBLIQUE ANGLE OPENING DOWN
-29A8  ; [*0ABF.0020.0002.29A8] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
-29A9  ; [*0AC0.0020.0002.29A9] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
-29AA  ; [*0AC1.0020.0002.29AA] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
-29AB  ; [*0AC2.0020.0002.29AB] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
-29AC  ; [*0AC3.0020.0002.29AC] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
-29AD  ; [*0AC4.0020.0002.29AD] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
-29AE  ; [*0AC5.0020.0002.29AE] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
-29AF  ; [*0AC6.0020.0002.29AF] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
-29B0  ; [*0AC7.0020.0002.29B0] # REVERSED EMPTY SET
-29B1  ; [*0AC8.0020.0002.29B1] # EMPTY SET WITH OVERBAR
-29B2  ; [*0AC9.0020.0002.29B2] # EMPTY SET WITH SMALL CIRCLE ABOVE
-29B3  ; [*0ACA.0020.0002.29B3] # EMPTY SET WITH RIGHT ARROW ABOVE
-29B4  ; [*0ACB.0020.0002.29B4] # EMPTY SET WITH LEFT ARROW ABOVE
-29B5  ; [*0ACC.0020.0002.29B5] # CIRCLE WITH HORIZONTAL BAR
-29B6  ; [*0ACD.0020.0002.29B6] # CIRCLED VERTICAL BAR
-29B7  ; [*0ACE.0020.0002.29B7] # CIRCLED PARALLEL
-29B8  ; [*0ACF.0020.0002.29B8] # CIRCLED REVERSE SOLIDUS
-29B9  ; [*0AD0.0020.0002.29B9] # CIRCLED PERPENDICULAR
-29BA  ; [*0AD1.0020.0002.29BA] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
-29BB  ; [*0AD2.0020.0002.29BB] # CIRCLE WITH SUPERIMPOSED X
-29BC  ; [*0AD3.0020.0002.29BC] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
-29BD  ; [*0AD4.0020.0002.29BD] # UP ARROW THROUGH CIRCLE
-29BE  ; [*0AD5.0020.0002.29BE] # CIRCLED WHITE BULLET
-29BF  ; [*0AD6.0020.0002.29BF] # CIRCLED BULLET
-29C0  ; [*0AD7.0020.0002.29C0] # CIRCLED LESS-THAN
-29C1  ; [*0AD8.0020.0002.29C1] # CIRCLED GREATER-THAN
-29C2  ; [*0AD9.0020.0002.29C2] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
-29C3  ; [*0ADA.0020.0002.29C3] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
-29C4  ; [*0ADB.0020.0002.29C4] # SQUARED RISING DIAGONAL SLASH
-29C5  ; [*0ADC.0020.0002.29C5] # SQUARED FALLING DIAGONAL SLASH
-29C6  ; [*0ADD.0020.0002.29C6] # SQUARED ASTERISK
-29C7  ; [*0ADE.0020.0002.29C7] # SQUARED SMALL CIRCLE
-29C8  ; [*0ADF.0020.0002.29C8] # SQUARED SQUARE
-29C9  ; [*0AE0.0020.0002.29C9] # TWO JOINED SQUARES
-29CA  ; [*0AE1.0020.0002.29CA] # TRIANGLE WITH DOT ABOVE
-29CB  ; [*0AE2.0020.0002.29CB] # TRIANGLE WITH UNDERBAR
-29CC  ; [*0AE3.0020.0002.29CC] # S IN TRIANGLE
-29CD  ; [*0AE4.0020.0002.29CD] # TRIANGLE WITH SERIFS AT BOTTOM
-29CE  ; [*0AE5.0020.0002.29CE] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
-29CF  ; [*0AE6.0020.0002.29CF] # LEFT TRIANGLE BESIDE VERTICAL BAR
-29D0  ; [*0AE7.0020.0002.29D0] # VERTICAL BAR BESIDE RIGHT TRIANGLE
-29D1  ; [*0AE8.0020.0002.29D1] # BOWTIE WITH LEFT HALF BLACK
-29D2  ; [*0AE9.0020.0002.29D2] # BOWTIE WITH RIGHT HALF BLACK
-29D3  ; [*0AEA.0020.0002.29D3] # BLACK BOWTIE
-29D4  ; [*0AEB.0020.0002.29D4] # TIMES WITH LEFT HALF BLACK
-29D5  ; [*0AEC.0020.0002.29D5] # TIMES WITH RIGHT HALF BLACK
-29D6  ; [*0AED.0020.0002.29D6] # WHITE HOURGLASS
-29D7  ; [*0AEE.0020.0002.29D7] # BLACK HOURGLASS
-29D8  ; [*0AEF.0020.0002.29D8] # LEFT WIGGLY FENCE
-29D9  ; [*0AF0.0020.0002.29D9] # RIGHT WIGGLY FENCE
-29DA  ; [*0AF1.0020.0002.29DA] # LEFT DOUBLE WIGGLY FENCE
-29DB  ; [*0AF2.0020.0002.29DB] # RIGHT DOUBLE WIGGLY FENCE
-29DC  ; [*0AF3.0020.0002.29DC] # INCOMPLETE INFINITY
-29DD  ; [*0AF4.0020.0002.29DD] # TIE OVER INFINITY
-29DE  ; [*0AF5.0020.0002.29DE] # INFINITY NEGATED WITH VERTICAL BAR
-29DF  ; [*0AF6.0020.0002.29DF] # DOUBLE-ENDED MULTIMAP
-29E0  ; [*0AF7.0020.0002.29E0] # SQUARE WITH CONTOURED OUTLINE
-29E1  ; [*0AF8.0020.0002.29E1] # INCREASES AS
-29E2  ; [*0AF9.0020.0002.29E2] # SHUFFLE PRODUCT
-29E3  ; [*0AFA.0020.0002.29E3] # EQUALS SIGN AND SLANTED PARALLEL
-29E4  ; [*0AFB.0020.0002.29E4] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
-29E5  ; [*0AFC.0020.0002.29E5] # IDENTICAL TO AND SLANTED PARALLEL
-29E6  ; [*0AFD.0020.0002.29E6] # GLEICH STARK
-29E7  ; [*0AFE.0020.0002.29E7] # THERMODYNAMIC
-29E8  ; [*0AFF.0020.0002.29E8] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
-29E9  ; [*0B00.0020.0002.29E9] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
-29EA  ; [*0B01.0020.0002.29EA] # BLACK DIAMOND WITH DOWN ARROW
-29EB  ; [*0B02.0020.0002.29EB] # BLACK LOZENGE
-29EC  ; [*0B03.0020.0002.29EC] # WHITE CIRCLE WITH DOWN ARROW
-29ED  ; [*0B04.0020.0002.29ED] # BLACK CIRCLE WITH DOWN ARROW
-29EE  ; [*0B05.0020.0002.29EE] # ERROR-BARRED WHITE SQUARE
-29EF  ; [*0B06.0020.0002.29EF] # ERROR-BARRED BLACK SQUARE
-29F0  ; [*0B07.0020.0002.29F0] # ERROR-BARRED WHITE DIAMOND
-29F1  ; [*0B08.0020.0002.29F1] # ERROR-BARRED BLACK DIAMOND
-29F2  ; [*0B09.0020.0002.29F2] # ERROR-BARRED WHITE CIRCLE
-29F3  ; [*0B0A.0020.0002.29F3] # ERROR-BARRED BLACK CIRCLE
-29F4  ; [*0B0B.0020.0002.29F4] # RULE-DELAYED
-29F5  ; [*0B0C.0020.0002.29F5] # REVERSE SOLIDUS OPERATOR
-29F6  ; [*0B0D.0020.0002.29F6] # SOLIDUS WITH OVERBAR
-29F7  ; [*0B0E.0020.0002.29F7] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
-29F8  ; [*0B0F.0020.0002.29F8] # BIG SOLIDUS
-29F9  ; [*0B10.0020.0002.29F9] # BIG REVERSE SOLIDUS
-29FA  ; [*0B11.0020.0002.29FA] # DOUBLE PLUS
-29FB  ; [*0B12.0020.0002.29FB] # TRIPLE PLUS
-29FC  ; [*031C.0020.0002.29FC] # LEFT-POINTING CURVED ANGLE BRACKET
-29FD  ; [*031D.0020.0002.29FD] # RIGHT-POINTING CURVED ANGLE BRACKET
-29FE  ; [*0B13.0020.0002.29FE] # TINY
-29FF  ; [*0B14.0020.0002.29FF] # MINY
-2A00  ; [*0B15.0020.0002.2A00] # N-ARY CIRCLED DOT OPERATOR
-2A01  ; [*0B16.0020.0002.2A01] # N-ARY CIRCLED PLUS OPERATOR
-2A02  ; [*0B17.0020.0002.2A02] # N-ARY CIRCLED TIMES OPERATOR
-2A03  ; [*0B18.0020.0002.2A03] # N-ARY UNION OPERATOR WITH DOT
-2A04  ; [*0B19.0020.0002.2A04] # N-ARY UNION OPERATOR WITH PLUS
-2A05  ; [*0B1A.0020.0002.2A05] # N-ARY SQUARE INTERSECTION OPERATOR
-2A06  ; [*0B1B.0020.0002.2A06] # N-ARY SQUARE UNION OPERATOR
-2A07  ; [*0B1C.0020.0002.2A07] # TWO LOGICAL AND OPERATOR
-2A08  ; [*0B1D.0020.0002.2A08] # TWO LOGICAL OR OPERATOR
-2A09  ; [*0B1E.0020.0002.2A09] # N-ARY TIMES OPERATOR
-2A0A  ; [*0B1F.0020.0002.2A0A] # MODULO TWO SUM
-2A0B  ; [*0B20.0020.0002.2A0B] # SUMMATION WITH INTEGRAL
-2A0C  ; [*058F.0020.0004.2A0C][*058F.0020.0004.2A0C][*058F.0020.001F.2A0C][*058F.0020.001F.2A0C] # QUADRUPLE INTEGRAL OPERATOR; QQKN
-2A0D  ; [*0B21.0020.0002.2A0D] # FINITE PART INTEGRAL
-2A0E  ; [*0B22.0020.0002.2A0E] # INTEGRAL WITH DOUBLE STROKE
-2A0F  ; [*0B23.0020.0002.2A0F] # INTEGRAL AVERAGE WITH SLASH
-2A10  ; [*0B24.0020.0002.2A10] # CIRCULATION FUNCTION
-2A11  ; [*0B25.0020.0002.2A11] # ANTICLOCKWISE INTEGRATION
-2A12  ; [*0B26.0020.0002.2A12] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
-2A13  ; [*0B27.0020.0002.2A13] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
-2A14  ; [*0B28.0020.0002.2A14] # LINE INTEGRATION NOT INCLUDING THE POLE
-2A15  ; [*0B29.0020.0002.2A15] # INTEGRAL AROUND A POINT OPERATOR
-2A16  ; [*0B2A.0020.0002.2A16] # QUATERNION INTEGRAL OPERATOR
-2A17  ; [*0B2B.0020.0002.2A17] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
-2A18  ; [*0B2C.0020.0002.2A18] # INTEGRAL WITH TIMES SIGN
-2A19  ; [*0B2D.0020.0002.2A19] # INTEGRAL WITH INTERSECTION
-2A1A  ; [*0B2E.0020.0002.2A1A] # INTEGRAL WITH UNION
-2A1B  ; [*0B2F.0020.0002.2A1B] # INTEGRAL WITH OVERBAR
-2A1C  ; [*0B30.0020.0002.2A1C] # INTEGRAL WITH UNDERBAR
-2A1D  ; [*0B31.0020.0002.2A1D] # JOIN
-2A1E  ; [*0B32.0020.0002.2A1E] # LARGE LEFT TRIANGLE OPERATOR
-2A1F  ; [*0B33.0020.0002.2A1F] # Z NOTATION SCHEMA COMPOSITION
-2A20  ; [*0B34.0020.0002.2A20] # Z NOTATION SCHEMA PIPING
-2A21  ; [*0B35.0020.0002.2A21] # Z NOTATION SCHEMA PROJECTION
-2A22  ; [*0B36.0020.0002.2A22] # PLUS SIGN WITH SMALL CIRCLE ABOVE
-2A23  ; [*0B37.0020.0002.2A23] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
-2A24  ; [*0B38.0020.0002.2A24] # PLUS SIGN WITH TILDE ABOVE
-2A25  ; [*0B39.0020.0002.2A25] # PLUS SIGN WITH DOT BELOW
-2A26  ; [*0B3A.0020.0002.2A26] # PLUS SIGN WITH TILDE BELOW
-2A27  ; [*0B3B.0020.0002.2A27] # PLUS SIGN WITH SUBSCRIPT TWO
-2A28  ; [*0B3C.0020.0002.2A28] # PLUS SIGN WITH BLACK TRIANGLE
-2A29  ; [*0B3D.0020.0002.2A29] # MINUS SIGN WITH COMMA ABOVE
-2A2A  ; [*0B3E.0020.0002.2A2A] # MINUS SIGN WITH DOT BELOW
-2A2B  ; [*0B3F.0020.0002.2A2B] # MINUS SIGN WITH FALLING DOTS
-2A2C  ; [*0B40.0020.0002.2A2C] # MINUS SIGN WITH RISING DOTS
-2A2D  ; [*0B41.0020.0002.2A2D] # PLUS SIGN IN LEFT HALF CIRCLE
-2A2E  ; [*0B42.0020.0002.2A2E] # PLUS SIGN IN RIGHT HALF CIRCLE
-2A2F  ; [*0B43.0020.0002.2A2F] # VECTOR OR CROSS PRODUCT
-2A30  ; [*0B44.0020.0002.2A30] # MULTIPLICATION SIGN WITH DOT ABOVE
-2A31  ; [*0B45.0020.0002.2A31] # MULTIPLICATION SIGN WITH UNDERBAR
-2A32  ; [*0B46.0020.0002.2A32] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
-2A33  ; [*0B47.0020.0002.2A33] # SMASH PRODUCT
-2A34  ; [*0B48.0020.0002.2A34] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
-2A35  ; [*0B49.0020.0002.2A35] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
-2A36  ; [*0B4A.0020.0002.2A36] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
-2A37  ; [*0B4B.0020.0002.2A37] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
-2A38  ; [*0B4C.0020.0002.2A38] # CIRCLED DIVISION SIGN
-2A39  ; [*0B4D.0020.0002.2A39] # PLUS SIGN IN TRIANGLE
-2A3A  ; [*0B4E.0020.0002.2A3A] # MINUS SIGN IN TRIANGLE
-2A3B  ; [*0B4F.0020.0002.2A3B] # MULTIPLICATION SIGN IN TRIANGLE
-2A3C  ; [*0B50.0020.0002.2A3C] # INTERIOR PRODUCT
-2A3D  ; [*0B51.0020.0002.2A3D] # RIGHTHAND INTERIOR PRODUCT
-2A3E  ; [*0B52.0020.0002.2A3E] # Z NOTATION RELATIONAL COMPOSITION
-2A3F  ; [*0B53.0020.0002.2A3F] # AMALGAMATION OR COPRODUCT
-2A40  ; [*0B54.0020.0002.2A40] # INTERSECTION WITH DOT
-2A41  ; [*0B55.0020.0002.2A41] # UNION WITH MINUS SIGN
-2A42  ; [*0B56.0020.0002.2A42] # UNION WITH OVERBAR
-2A43  ; [*0B57.0020.0002.2A43] # INTERSECTION WITH OVERBAR
-2A44  ; [*0B58.0020.0002.2A44] # INTERSECTION WITH LOGICAL AND
-2A45  ; [*0B59.0020.0002.2A45] # UNION WITH LOGICAL OR
-2A46  ; [*0B5A.0020.0002.2A46] # UNION ABOVE INTERSECTION
-2A47  ; [*0B5B.0020.0002.2A47] # INTERSECTION ABOVE UNION
-2A48  ; [*0B5C.0020.0002.2A48] # UNION ABOVE BAR ABOVE INTERSECTION
-2A49  ; [*0B5D.0020.0002.2A49] # INTERSECTION ABOVE BAR ABOVE UNION
-2A4A  ; [*0B5E.0020.0002.2A4A] # UNION BESIDE AND JOINED WITH UNION
-2A4B  ; [*0B5F.0020.0002.2A4B] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
-2A4C  ; [*0B60.0020.0002.2A4C] # CLOSED UNION WITH SERIFS
-2A4D  ; [*0B61.0020.0002.2A4D] # CLOSED INTERSECTION WITH SERIFS
-2A4E  ; [*0B62.0020.0002.2A4E] # DOUBLE SQUARE INTERSECTION
-2A4F  ; [*0B63.0020.0002.2A4F] # DOUBLE SQUARE UNION
-2A50  ; [*0B64.0020.0002.2A50] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
-2A51  ; [*0B65.0020.0002.2A51] # LOGICAL AND WITH DOT ABOVE
-2A52  ; [*0B66.0020.0002.2A52] # LOGICAL OR WITH DOT ABOVE
-2A53  ; [*0B67.0020.0002.2A53] # DOUBLE LOGICAL AND
-2A54  ; [*0B68.0020.0002.2A54] # DOUBLE LOGICAL OR
-2A55  ; [*0B69.0020.0002.2A55] # TWO INTERSECTING LOGICAL AND
-2A56  ; [*0B6A.0020.0002.2A56] # TWO INTERSECTING LOGICAL OR
-2A57  ; [*0B6B.0020.0002.2A57] # SLOPING LARGE OR
-2A58  ; [*0B6C.0020.0002.2A58] # SLOPING LARGE AND
-2A59  ; [*0B6D.0020.0002.2A59] # LOGICAL OR OVERLAPPING LOGICAL AND
-2A5A  ; [*0B6E.0020.0002.2A5A] # LOGICAL AND WITH MIDDLE STEM
-2A5B  ; [*0B6F.0020.0002.2A5B] # LOGICAL OR WITH MIDDLE STEM
-2A5C  ; [*0B70.0020.0002.2A5C] # LOGICAL AND WITH HORIZONTAL DASH
-2A5D  ; [*0B71.0020.0002.2A5D] # LOGICAL OR WITH HORIZONTAL DASH
-2A5E  ; [*0B72.0020.0002.2A5E] # LOGICAL AND WITH DOUBLE OVERBAR
-2A5F  ; [*0B73.0020.0002.2A5F] # LOGICAL AND WITH UNDERBAR
-2A60  ; [*0B74.0020.0002.2A60] # LOGICAL AND WITH DOUBLE UNDERBAR
-2A61  ; [*0B75.0020.0002.2A61] # SMALL VEE WITH UNDERBAR
-2A62  ; [*0B76.0020.0002.2A62] # LOGICAL OR WITH DOUBLE OVERBAR
-2A63  ; [*0B77.0020.0002.2A63] # LOGICAL OR WITH DOUBLE UNDERBAR
-2A64  ; [*0B78.0020.0002.2A64] # Z NOTATION DOMAIN ANTIRESTRICTION
-2A65  ; [*0B79.0020.0002.2A65] # Z NOTATION RANGE ANTIRESTRICTION
-2A66  ; [*0B7A.0020.0002.2A66] # EQUALS SIGN WITH DOT BELOW
-2A67  ; [*0B7B.0020.0002.2A67] # IDENTICAL WITH DOT ABOVE
-2A68  ; [*0B7C.0020.0002.2A68] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
-2A69  ; [*0B7D.0020.0002.2A69] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
-2A6A  ; [*0B7E.0020.0002.2A6A] # TILDE OPERATOR WITH DOT ABOVE
-2A6B  ; [*0B7F.0020.0002.2A6B] # TILDE OPERATOR WITH RISING DOTS
-2A6C  ; [*0B80.0020.0002.2A6C] # SIMILAR MINUS SIMILAR
-2A6D  ; [*0B81.0020.0002.2A6D] # CONGRUENT WITH DOT ABOVE
-2A6E  ; [*0B82.0020.0002.2A6E] # EQUALS WITH ASTERISK
-2A6F  ; [*0B83.0020.0002.2A6F] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
-2A70  ; [*0B84.0020.0002.2A70] # APPROXIMATELY EQUAL OR EQUAL TO
-2A71  ; [*0B85.0020.0002.2A71] # EQUALS SIGN ABOVE PLUS SIGN
-2A72  ; [*0B86.0020.0002.2A72] # PLUS SIGN ABOVE EQUALS SIGN
-2A73  ; [*0B87.0020.0002.2A73] # EQUALS SIGN ABOVE TILDE OPERATOR
-2A74  ; [*0254.0020.0004.2A74][*0254.0020.0004.2A74][*056F.0020.001F.2A74] # DOUBLE COLON EQUAL; QQKN
-2A75  ; [*056F.0020.0004.2A75][*056F.0020.0004.2A75] # TWO CONSECUTIVE EQUALS SIGNS; QQKN
-2A76  ; [*056F.0020.0004.2A76][*056F.0020.0004.2A76][*056F.0020.001F.2A76] # THREE CONSECUTIVE EQUALS SIGNS; QQKN
-2A77  ; [*0B88.0020.0002.2A77] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
-2A78  ; [*0B89.0020.0002.2A78] # EQUIVALENT WITH FOUR DOTS ABOVE
-2A79  ; [*0B8A.0020.0002.2A79] # LESS-THAN WITH CIRCLE INSIDE
-2A7A  ; [*0B8B.0020.0002.2A7A] # GREATER-THAN WITH CIRCLE INSIDE
-2A7B  ; [*0B8C.0020.0002.2A7B] # LESS-THAN WITH QUESTION MARK ABOVE
-2A7C  ; [*0B8D.0020.0002.2A7C] # GREATER-THAN WITH QUESTION MARK ABOVE
-2A7D  ; [*0B8E.0020.0002.2A7D] # LESS-THAN OR SLANTED EQUAL TO
-2A7E  ; [*0B8F.0020.0002.2A7E] # GREATER-THAN OR SLANTED EQUAL TO
-2A7F  ; [*0B90.0020.0002.2A7F] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A80  ; [*0B91.0020.0002.2A80] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
-2A81  ; [*0B92.0020.0002.2A81] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A82  ; [*0B93.0020.0002.2A82] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
-2A83  ; [*0B94.0020.0002.2A83] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
-2A84  ; [*0B95.0020.0002.2A84] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
-2A85  ; [*0B96.0020.0002.2A85] # LESS-THAN OR APPROXIMATE
-2A86  ; [*0B97.0020.0002.2A86] # GREATER-THAN OR APPROXIMATE
-2A87  ; [*0B98.0020.0002.2A87] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
-2A88  ; [*0B99.0020.0002.2A88] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
-2A89  ; [*0B9A.0020.0002.2A89] # LESS-THAN AND NOT APPROXIMATE
-2A8A  ; [*0B9B.0020.0002.2A8A] # GREATER-THAN AND NOT APPROXIMATE
-2A8B  ; [*0B9C.0020.0002.2A8B] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
-2A8C  ; [*0B9D.0020.0002.2A8C] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
-2A8D  ; [*0B9E.0020.0002.2A8D] # LESS-THAN ABOVE SIMILAR OR EQUAL
-2A8E  ; [*0B9F.0020.0002.2A8E] # GREATER-THAN ABOVE SIMILAR OR EQUAL
-2A8F  ; [*0BA0.0020.0002.2A8F] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
-2A90  ; [*0BA1.0020.0002.2A90] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
-2A91  ; [*0BA2.0020.0002.2A91] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
-2A92  ; [*0BA3.0020.0002.2A92] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
-2A93  ; [*0BA4.0020.0002.2A93] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
-2A94  ; [*0BA5.0020.0002.2A94] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
-2A95  ; [*0BA6.0020.0002.2A95] # SLANTED EQUAL TO OR LESS-THAN
-2A96  ; [*0BA7.0020.0002.2A96] # SLANTED EQUAL TO OR GREATER-THAN
-2A97  ; [*0BA8.0020.0002.2A97] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
-2A98  ; [*0BA9.0020.0002.2A98] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
-2A99  ; [*0BAA.0020.0002.2A99] # DOUBLE-LINE EQUAL TO OR LESS-THAN
-2A9A  ; [*0BAB.0020.0002.2A9A] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
-2A9B  ; [*0BAC.0020.0002.2A9B] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
-2A9C  ; [*0BAD.0020.0002.2A9C] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
-2A9D  ; [*0BAE.0020.0002.2A9D] # SIMILAR OR LESS-THAN
-2A9E  ; [*0BAF.0020.0002.2A9E] # SIMILAR OR GREATER-THAN
-2A9F  ; [*0BB0.0020.0002.2A9F] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
-2AA0  ; [*0BB1.0020.0002.2AA0] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
-2AA1  ; [*0BB2.0020.0002.2AA1] # DOUBLE NESTED LESS-THAN
-2AA2  ; [*0BB3.0020.0002.2AA2] # DOUBLE NESTED GREATER-THAN
-2AA3  ; [*0BB4.0020.0002.2AA3] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
-2AA4  ; [*0BB5.0020.0002.2AA4] # GREATER-THAN OVERLAPPING LESS-THAN
-2AA5  ; [*0BB6.0020.0002.2AA5] # GREATER-THAN BESIDE LESS-THAN
-2AA6  ; [*0BB7.0020.0002.2AA6] # LESS-THAN CLOSED BY CURVE
-2AA7  ; [*0BB8.0020.0002.2AA7] # GREATER-THAN CLOSED BY CURVE
-2AA8  ; [*0BB9.0020.0002.2AA8] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AA9  ; [*0BBA.0020.0002.2AA9] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
-2AAA  ; [*0BBB.0020.0002.2AAA] # SMALLER THAN
-2AAB  ; [*0BBC.0020.0002.2AAB] # LARGER THAN
-2AAC  ; [*0BBD.0020.0002.2AAC] # SMALLER THAN OR EQUAL TO
-2AAD  ; [*0BBE.0020.0002.2AAD] # LARGER THAN OR EQUAL TO
-2AAE  ; [*0BBF.0020.0002.2AAE] # EQUALS SIGN WITH BUMPY ABOVE
-2AAF  ; [*0BC0.0020.0002.2AAF] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
-2AB0  ; [*0BC1.0020.0002.2AB0] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
-2AB1  ; [*0BC2.0020.0002.2AB1] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
-2AB2  ; [*0BC3.0020.0002.2AB2] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
-2AB3  ; [*0BC4.0020.0002.2AB3] # PRECEDES ABOVE EQUALS SIGN
-2AB4  ; [*0BC5.0020.0002.2AB4] # SUCCEEDS ABOVE EQUALS SIGN
-2AB5  ; [*0BC6.0020.0002.2AB5] # PRECEDES ABOVE NOT EQUAL TO
-2AB6  ; [*0BC7.0020.0002.2AB6] # SUCCEEDS ABOVE NOT EQUAL TO
-2AB7  ; [*0BC8.0020.0002.2AB7] # PRECEDES ABOVE ALMOST EQUAL TO
-2AB8  ; [*0BC9.0020.0002.2AB8] # SUCCEEDS ABOVE ALMOST EQUAL TO
-2AB9  ; [*0BCA.0020.0002.2AB9] # PRECEDES ABOVE NOT ALMOST EQUAL TO
-2ABA  ; [*0BCB.0020.0002.2ABA] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
-2ABB  ; [*0BCC.0020.0002.2ABB] # DOUBLE PRECEDES
-2ABC  ; [*0BCD.0020.0002.2ABC] # DOUBLE SUCCEEDS
-2ABD  ; [*0BCE.0020.0002.2ABD] # SUBSET WITH DOT
-2ABE  ; [*0BCF.0020.0002.2ABE] # SUPERSET WITH DOT
-2ABF  ; [*0BD0.0020.0002.2ABF] # SUBSET WITH PLUS SIGN BELOW
-2AC0  ; [*0BD1.0020.0002.2AC0] # SUPERSET WITH PLUS SIGN BELOW
-2AC1  ; [*0BD2.0020.0002.2AC1] # SUBSET WITH MULTIPLICATION SIGN BELOW
-2AC2  ; [*0BD3.0020.0002.2AC2] # SUPERSET WITH MULTIPLICATION SIGN BELOW
-2AC3  ; [*0BD4.0020.0002.2AC3] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
-2AC4  ; [*0BD5.0020.0002.2AC4] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
-2AC5  ; [*0BD6.0020.0002.2AC5] # SUBSET OF ABOVE EQUALS SIGN
-2AC6  ; [*0BD7.0020.0002.2AC6] # SUPERSET OF ABOVE EQUALS SIGN
-2AC7  ; [*0BD8.0020.0002.2AC7] # SUBSET OF ABOVE TILDE OPERATOR
-2AC8  ; [*0BD9.0020.0002.2AC8] # SUPERSET OF ABOVE TILDE OPERATOR
-2AC9  ; [*0BDA.0020.0002.2AC9] # SUBSET OF ABOVE ALMOST EQUAL TO
-2ACA  ; [*0BDB.0020.0002.2ACA] # SUPERSET OF ABOVE ALMOST EQUAL TO
-2ACB  ; [*0BDC.0020.0002.2ACB] # SUBSET OF ABOVE NOT EQUAL TO
-2ACC  ; [*0BDD.0020.0002.2ACC] # SUPERSET OF ABOVE NOT EQUAL TO
-2ACD  ; [*0BDE.0020.0002.2ACD] # SQUARE LEFT OPEN BOX OPERATOR
-2ACE  ; [*0BDF.0020.0002.2ACE] # SQUARE RIGHT OPEN BOX OPERATOR
-2ACF  ; [*0BE0.0020.0002.2ACF] # CLOSED SUBSET
-2AD0  ; [*0BE1.0020.0002.2AD0] # CLOSED SUPERSET
-2AD1  ; [*0BE2.0020.0002.2AD1] # CLOSED SUBSET OR EQUAL TO
-2AD2  ; [*0BE3.0020.0002.2AD2] # CLOSED SUPERSET OR EQUAL TO
-2AD3  ; [*0BE4.0020.0002.2AD3] # SUBSET ABOVE SUPERSET
-2AD4  ; [*0BE5.0020.0002.2AD4] # SUPERSET ABOVE SUBSET
-2AD5  ; [*0BE6.0020.0002.2AD5] # SUBSET ABOVE SUBSET
-2AD6  ; [*0BE7.0020.0002.2AD6] # SUPERSET ABOVE SUPERSET
-2AD7  ; [*0BE8.0020.0002.2AD7] # SUPERSET BESIDE SUBSET
-2AD8  ; [*0BE9.0020.0002.2AD8] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
-2AD9  ; [*0BEA.0020.0002.2AD9] # ELEMENT OF OPENING DOWNWARDS
-2ADA  ; [*0BEB.0020.0002.2ADA] # PITCHFORK WITH TEE TOP
-2ADB  ; [*0BEC.0020.0002.2ADB] # TRANSVERSAL INTERSECTION
-2ADC  ; [*0BED.0020.0002.2ADD][.0000.0054.0002.0338] # FORKING; QQCM
-2ADD  ; [*0BED.0020.0002.2ADD] # NONFORKING
-2ADE  ; [*0BEE.0020.0002.2ADE] # SHORT LEFT TACK
-2ADF  ; [*0BEF.0020.0002.2ADF] # SHORT DOWN TACK
-2AE0  ; [*0BF0.0020.0002.2AE0] # SHORT UP TACK
-2AE1  ; [*0BF1.0020.0002.2AE1] # PERPENDICULAR WITH S
-2AE2  ; [*0BF2.0020.0002.2AE2] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
-2AE3  ; [*0BF3.0020.0002.2AE3] # DOUBLE VERTICAL BAR LEFT TURNSTILE
-2AE4  ; [*0BF4.0020.0002.2AE4] # VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE5  ; [*0BF5.0020.0002.2AE5] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
-2AE6  ; [*0BF6.0020.0002.2AE6] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
-2AE7  ; [*0BF7.0020.0002.2AE7] # SHORT DOWN TACK WITH OVERBAR
-2AE8  ; [*0BF8.0020.0002.2AE8] # SHORT UP TACK WITH UNDERBAR
-2AE9  ; [*0BF9.0020.0002.2AE9] # SHORT UP TACK ABOVE SHORT DOWN TACK
-2AEA  ; [*0BFA.0020.0002.2AEA] # DOUBLE DOWN TACK
-2AEB  ; [*0BFB.0020.0002.2AEB] # DOUBLE UP TACK
-2AEC  ; [*0BFC.0020.0002.2AEC] # DOUBLE STROKE NOT SIGN
-2AED  ; [*0BFD.0020.0002.2AED] # REVERSED DOUBLE STROKE NOT SIGN
-2AEE  ; [*0BFE.0020.0002.2AEE] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
-2AEF  ; [*0BFF.0020.0002.2AEF] # VERTICAL LINE WITH CIRCLE ABOVE
-2AF0  ; [*0C00.0020.0002.2AF0] # VERTICAL LINE WITH CIRCLE BELOW
-2AF1  ; [*0C01.0020.0002.2AF1] # DOWN TACK WITH CIRCLE BELOW
-2AF2  ; [*0C02.0020.0002.2AF2] # PARALLEL WITH HORIZONTAL STROKE
-2AF3  ; [*0C03.0020.0002.2AF3] # PARALLEL WITH TILDE OPERATOR
-2AF4  ; [*0C04.0020.0002.2AF4] # TRIPLE VERTICAL BAR BINARY RELATION
-2AF5  ; [*0C05.0020.0002.2AF5] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
-2AF6  ; [*0C06.0020.0002.2AF6] # TRIPLE COLON OPERATOR
-2AF7  ; [*0C07.0020.0002.2AF7] # TRIPLE NESTED LESS-THAN
-2AF8  ; [*0C08.0020.0002.2AF8] # TRIPLE NESTED GREATER-THAN
-2AF9  ; [*0C09.0020.0002.2AF9] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
-2AFA  ; [*0C0A.0020.0002.2AFA] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
-2AFB  ; [*0C0B.0020.0002.2AFB] # TRIPLE SOLIDUS BINARY RELATION
-2AFC  ; [*0C0C.0020.0002.2AFC] # LARGE TRIPLE VERTICAL BAR OPERATOR
-2AFD  ; [*0C0D.0020.0002.2AFD] # DOUBLE SOLIDUS OPERATOR
-2AFE  ; [*0C0E.0020.0002.2AFE] # WHITE VERTICAL BAR
-2AFF  ; [*0C0F.0020.0002.2AFF] # N-ARY WHITE VERTICAL BAR
-2B00  ; [*0C10.0020.0002.2B00] # NORTH EAST WHITE ARROW
-2B01  ; [*0C11.0020.0002.2B01] # NORTH WEST WHITE ARROW
-2B02  ; [*0C12.0020.0002.2B02] # SOUTH EAST WHITE ARROW
-2B03  ; [*0C13.0020.0002.2B03] # SOUTH WEST WHITE ARROW
-2B04  ; [*0C14.0020.0002.2B04] # LEFT RIGHT WHITE ARROW
-2B05  ; [*0C15.0020.0002.2B05] # LEFTWARDS BLACK ARROW
-2B06  ; [*0C16.0020.0002.2B06] # UPWARDS BLACK ARROW
-2B07  ; [*0C17.0020.0002.2B07] # DOWNWARDS BLACK ARROW
-2B08  ; [*0C18.0020.0002.2B08] # NORTH EAST BLACK ARROW
-2B09  ; [*0C19.0020.0002.2B09] # NORTH WEST BLACK ARROW
-2B0A  ; [*0C1A.0020.0002.2B0A] # SOUTH EAST BLACK ARROW
-2B0B  ; [*0C1B.0020.0002.2B0B] # SOUTH WEST BLACK ARROW
-2B0C  ; [*0C1C.0020.0002.2B0C] # LEFT RIGHT BLACK ARROW
-2B0D  ; [*0C1D.0020.0002.2B0D] # UP DOWN BLACK ARROW
-2B0E  ; [*0C1E.0020.0002.2B0E] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
-2B0F  ; [*0C1F.0020.0002.2B0F] # RIGHTWARDS ARROW WITH TIP UPWARDS
-2B10  ; [*0C20.0020.0002.2B10] # LEFTWARDS ARROW WITH TIP DOWNWARDS
-2B11  ; [*0C21.0020.0002.2B11] # LEFTWARDS ARROW WITH TIP UPWARDS
-2B12  ; [*0C22.0020.0002.2B12] # SQUARE WITH TOP HALF BLACK
-2B13  ; [*0C23.0020.0002.2B13] # SQUARE WITH BOTTOM HALF BLACK
-2B14  ; [*0C24.0020.0002.2B14] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
-2B15  ; [*0C25.0020.0002.2B15] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
-2B16  ; [*0C26.0020.0002.2B16] # DIAMOND WITH LEFT HALF BLACK
-2B17  ; [*0C27.0020.0002.2B17] # DIAMOND WITH RIGHT HALF BLACK
-2B18  ; [*0C28.0020.0002.2B18] # DIAMOND WITH TOP HALF BLACK
-2B19  ; [*0C29.0020.0002.2B19] # DIAMOND WITH BOTTOM HALF BLACK
-2B1A  ; [*0C2A.0020.0002.2B1A] # DOTTED SQUARE
-2B1B  ; [*0C2B.0020.0002.2B1B] # BLACK LARGE SQUARE
-2B1C  ; [*0C2C.0020.0002.2B1C] # WHITE LARGE SQUARE
-2B1D  ; [*0C2D.0020.0002.2B1D] # BLACK VERY SMALL SQUARE
-2B1E  ; [*0C2E.0020.0002.2B1E] # WHITE VERY SMALL SQUARE
-2B1F  ; [*0C2F.0020.0002.2B1F] # BLACK PENTAGON
-2B20  ; [*0C30.0020.0002.2B20] # WHITE PENTAGON
-2B21  ; [*0C31.0020.0002.2B21] # WHITE HEXAGON
-2B22  ; [*0C32.0020.0002.2B22] # BLACK HEXAGON
-2B23  ; [*0C33.0020.0002.2B23] # HORIZONTAL BLACK HEXAGON
-2B24  ; [*0C34.0020.0002.2B24] # BLACK LARGE CIRCLE
-2B25  ; [*0C35.0020.0002.2B25] # BLACK MEDIUM DIAMOND
-2B26  ; [*0C36.0020.0002.2B26] # WHITE MEDIUM DIAMOND
-2B27  ; [*0C37.0020.0002.2B27] # BLACK MEDIUM LOZENGE
-2B28  ; [*0C38.0020.0002.2B28] # WHITE MEDIUM LOZENGE
-2B29  ; [*0C39.0020.0002.2B29] # BLACK SMALL DIAMOND
-2B2A  ; [*0C3A.0020.0002.2B2A] # BLACK SMALL LOZENGE
-2B2B  ; [*0C3B.0020.0002.2B2B] # WHITE SMALL LOZENGE
-2B2C  ; [*0C3C.0020.0002.2B2C] # BLACK HORIZONTAL ELLIPSE
-2B2D  ; [*0C3D.0020.0002.2B2D] # WHITE HORIZONTAL ELLIPSE
-2B2E  ; [*0C3E.0020.0002.2B2E] # BLACK VERTICAL ELLIPSE
-2B2F  ; [*0C3F.0020.0002.2B2F] # WHITE VERTICAL ELLIPSE
-2B30  ; [*0C40.0020.0002.2B30] # LEFT ARROW WITH SMALL CIRCLE
-2B31  ; [*0C41.0020.0002.2B31] # THREE LEFTWARDS ARROWS
-2B32  ; [*0C42.0020.0002.2B32] # LEFT ARROW WITH CIRCLED PLUS
-2B33  ; [*0C43.0020.0002.2B33] # LONG LEFTWARDS SQUIGGLE ARROW
-2B34  ; [*0C44.0020.0002.2B34] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
-2B35  ; [*0C45.0020.0002.2B35] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
-2B36  ; [*0C46.0020.0002.2B36] # LEFTWARDS TWO-HEADED ARROW FROM BAR
-2B37  ; [*0C47.0020.0002.2B37] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
-2B38  ; [*0C48.0020.0002.2B38] # LEFTWARDS ARROW WITH DOTTED STEM
-2B39  ; [*0C49.0020.0002.2B39] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
-2B3A  ; [*0C4A.0020.0002.2B3A] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3B  ; [*0C4B.0020.0002.2B3B] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
-2B3C  ; [*0C4C.0020.0002.2B3C] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
-2B3D  ; [*0C4D.0020.0002.2B3D] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
-2B3E  ; [*0C4E.0020.0002.2B3E] # LEFTWARDS ARROW THROUGH X
-2B3F  ; [*0C4F.0020.0002.2B3F] # WAVE ARROW POINTING DIRECTLY LEFT
-2B40  ; [*0C50.0020.0002.2B40] # EQUALS SIGN ABOVE LEFTWARDS ARROW
-2B41  ; [*0C51.0020.0002.2B41] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B42  ; [*0C52.0020.0002.2B42] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B43  ; [*0C53.0020.0002.2B43] # RIGHTWARDS ARROW THROUGH GREATER-THAN
-2B44  ; [*0C54.0020.0002.2B44] # RIGHTWARDS ARROW THROUGH SUPERSET
-2B45  ; [*0C55.0020.0002.2B45] # LEFTWARDS QUADRUPLE ARROW
-2B46  ; [*0C56.0020.0002.2B46] # RIGHTWARDS QUADRUPLE ARROW
-2B47  ; [*0C57.0020.0002.2B47] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
-2B48  ; [*0C58.0020.0002.2B48] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
-2B49  ; [*0C59.0020.0002.2B49] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
-2B4A  ; [*0C5A.0020.0002.2B4A] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
-2B4B  ; [*0C5B.0020.0002.2B4B] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B4C  ; [*0C5C.0020.0002.2B4C] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
-2B50  ; [*0C5D.0020.0002.2B50] # WHITE MEDIUM STAR
-2B51  ; [*0C5E.0020.0002.2B51] # BLACK SMALL STAR
-2B52  ; [*0C5F.0020.0002.2B52] # WHITE SMALL STAR
-2B53  ; [*0C60.0020.0002.2B53] # BLACK RIGHT-POINTING PENTAGON
-2B54  ; [*0C61.0020.0002.2B54] # WHITE RIGHT-POINTING PENTAGON
-2B55  ; [*0C62.0020.0002.2B55] # HEAVY LARGE CIRCLE
-2B56  ; [*0C63.0020.0002.2B56] # HEAVY OVAL WITH OVAL INSIDE
-2B57  ; [*0C64.0020.0002.2B57] # HEAVY CIRCLE WITH CIRCLE INSIDE
-2B58  ; [*0C65.0020.0002.2B58] # HEAVY CIRCLE
-2B59  ; [*0C66.0020.0002.2B59] # HEAVY CIRCLED SALTIRE
-2CE5  ; [*0C67.0020.0002.2CE5] # COPTIC SYMBOL MI RO
-2CE6  ; [*0C68.0020.0002.2CE6] # COPTIC SYMBOL PI RO
-2CE7  ; [*0C69.0020.0002.2CE7] # COPTIC SYMBOL STAUROS
-2CE8  ; [*0C6A.0020.0002.2CE8] # COPTIC SYMBOL TAU RO
-2CE9  ; [*0C6B.0020.0002.2CE9] # COPTIC SYMBOL KHI RO
-2CEA  ; [*0C6C.0020.0002.2CEA] # COPTIC SYMBOL SHIMA SIMA
-2CF9  ; [*0298.0020.0002.2CF9] # COPTIC OLD NUBIAN FULL STOP
-2CFA  ; [*0288.0020.0002.2CFA] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
-2CFB  ; [*0289.0020.0002.2CFB] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
-2CFC  ; [*02EF.0020.0002.2CFC] # COPTIC OLD NUBIAN VERSE DIVIDER
-2CFD  ; [*14D4.0020.0002.2CFD] # COPTIC FRACTION ONE HALF
-2CFE  ; [*0299.0020.0002.2CFE] # COPTIC FULL STOP
-2CFF  ; [*02F0.0020.0002.2CFF] # COPTIC MORPHOLOGICAL DIVIDER
-2D70  ; [*03EA.0020.0002.2D70] # TIFINAGH SEPARATOR MARK
+207A  ; [*059C.0020.0014.207A] # SUPERSCRIPT PLUS SIGN
+207B  ; [*05A7.0020.0014.207B] # SUPERSCRIPT MINUS
+207C  ; [*05A1.0020.0014.207C] # SUPERSCRIPT EQUALS SIGN
+207D  ; [*02FB.0020.0014.207D] # SUPERSCRIPT LEFT PARENTHESIS
+207E  ; [*02FC.0020.0014.207E] # SUPERSCRIPT RIGHT PARENTHESIS
+208A  ; [*059C.0020.0015.208A] # SUBSCRIPT PLUS SIGN
+208B  ; [*05A7.0020.0015.208B] # SUBSCRIPT MINUS
+208C  ; [*05A1.0020.0015.208C] # SUBSCRIPT EQUALS SIGN
+208D  ; [*02FB.0020.0015.208D] # SUBSCRIPT LEFT PARENTHESIS
+208E  ; [*02FC.0020.0015.208E] # SUBSCRIPT RIGHT PARENTHESIS
+2104  ; [*050E.0020.0002.2104] # CENTRE LINE SYMBOL
+2108  ; [*050F.0020.0002.2108] # SCRUPLE
+2114  ; [*0510.0020.0002.2114] # L B BAR SYMBOL
+2117  ; [*0511.0020.0002.2117] # SOUND RECORDING COPYRIGHT
+2118  ; [*0512.0020.0002.2118] # SCRIPT CAPITAL P
+211E  ; [*0513.0020.0002.211E] # PRESCRIPTION TAKE
+211F  ; [*0514.0020.0002.211F] # RESPONSE
+2123  ; [*0515.0020.0002.2123] # VERSICLE
+2125  ; [*0516.0020.0002.2125] # OUNCE SIGN
+2127  ; [*0517.0020.0002.2127] # INVERTED OHM SIGN
+2129  ; [*0518.0020.0002.2129] # TURNED GREEK SMALL LETTER IOTA
+212E  ; [*0519.0020.0002.212E] # ESTIMATED SYMBOL
+213A  ; [*051A.0020.0002.213A] # ROTATED CAPITAL Q
+2140  ; [*059B.0020.0005.2140] # DOUBLE-STRUCK N-ARY SUMMATION
+2141  ; [*051B.0020.0002.2141] # TURNED SANS-SERIF CAPITAL G
+2142  ; [*051C.0020.0002.2142] # TURNED SANS-SERIF CAPITAL L
+2143  ; [*051D.0020.0002.2143] # REVERSED SANS-SERIF CAPITAL L
+2144  ; [*051E.0020.0002.2144] # TURNED SANS-SERIF CAPITAL Y
+214A  ; [*051F.0020.0002.214A] # PROPERTY LINE
+214B  ; [*0637.0020.0002.214B] # TURNED AMPERSAND
+214C  ; [*0520.0020.0002.214C] # PER SIGN
+214F  ; [*0521.0020.0002.214F] # SYMBOL FOR SAMARITAN SOURCE
+2180  ; [*14FF.0020.0002.2180] # ROMAN NUMERAL ONE THOUSAND C D
+2181  ; [*1500.0020.0002.2181] # ROMAN NUMERAL FIVE THOUSAND
+2182  ; [*1501.0020.0002.2182] # ROMAN NUMERAL TEN THOUSAND
+2186  ; [*1502.0020.0002.2186] # ROMAN NUMERAL FIFTY EARLY FORM
+2187  ; [*1503.0020.0002.2187] # ROMAN NUMERAL FIFTY THOUSAND
+2188  ; [*1504.0020.0002.2188] # ROMAN NUMERAL ONE HUNDRED THOUSAND
+2190  ; [*0522.0020.0002.2190] # LEFTWARDS ARROW
+2191  ; [*0524.0020.0002.2191] # UPWARDS ARROW
+2192  ; [*0523.0020.0002.2192] # RIGHTWARDS ARROW
+2193  ; [*0525.0020.0002.2193] # DOWNWARDS ARROW
+2194  ; [*0526.0020.0002.2194] # LEFT RIGHT ARROW
+2195  ; [*0527.0020.0002.2195] # UP DOWN ARROW
+2196  ; [*0528.0020.0002.2196] # NORTH WEST ARROW
+2197  ; [*0529.0020.0002.2197] # NORTH EAST ARROW
+2198  ; [*052A.0020.0002.2198] # SOUTH EAST ARROW
+2199  ; [*052B.0020.0002.2199] # SOUTH WEST ARROW
+219A  ; [*0522.0020.0002.2190][.0000.0054.0002.0338] # LEFTWARDS ARROW WITH STROKE
+219B  ; [*0523.0020.0002.2192][.0000.0054.0002.0338] # RIGHTWARDS ARROW WITH STROKE
+219C  ; [*052C.0020.0002.219C] # LEFTWARDS WAVE ARROW
+219D  ; [*052D.0020.0002.219D] # RIGHTWARDS WAVE ARROW
+219E  ; [*052E.0020.0002.219E] # LEFTWARDS TWO HEADED ARROW
+219F  ; [*052F.0020.0002.219F] # UPWARDS TWO HEADED ARROW
+21A0  ; [*0530.0020.0002.21A0] # RIGHTWARDS TWO HEADED ARROW
+21A1  ; [*0531.0020.0002.21A1] # DOWNWARDS TWO HEADED ARROW
+21A2  ; [*0532.0020.0002.21A2] # LEFTWARDS ARROW WITH TAIL
+21A3  ; [*0533.0020.0002.21A3] # RIGHTWARDS ARROW WITH TAIL
+21A4  ; [*0534.0020.0002.21A4] # LEFTWARDS ARROW FROM BAR
+21A5  ; [*0535.0020.0002.21A5] # UPWARDS ARROW FROM BAR
+21A6  ; [*0536.0020.0002.21A6] # RIGHTWARDS ARROW FROM BAR
+21A7  ; [*0537.0020.0002.21A7] # DOWNWARDS ARROW FROM BAR
+21A8  ; [*0538.0020.0002.21A8] # UP DOWN ARROW WITH BASE
+21A9  ; [*0539.0020.0002.21A9] # LEFTWARDS ARROW WITH HOOK
+21AA  ; [*053A.0020.0002.21AA] # RIGHTWARDS ARROW WITH HOOK
+21AB  ; [*053B.0020.0002.21AB] # LEFTWARDS ARROW WITH LOOP
+21AC  ; [*053C.0020.0002.21AC] # RIGHTWARDS ARROW WITH LOOP
+21AD  ; [*053D.0020.0002.21AD] # LEFT RIGHT WAVE ARROW
+21AE  ; [*0526.0020.0002.2194][.0000.0054.0002.0338] # LEFT RIGHT ARROW WITH STROKE
+21AF  ; [*053E.0020.0002.21AF] # DOWNWARDS ZIGZAG ARROW
+21B0  ; [*053F.0020.0002.21B0] # UPWARDS ARROW WITH TIP LEFTWARDS
+21B1  ; [*0540.0020.0002.21B1] # UPWARDS ARROW WITH TIP RIGHTWARDS
+21B2  ; [*0541.0020.0002.21B2] # DOWNWARDS ARROW WITH TIP LEFTWARDS
+21B3  ; [*0542.0020.0002.21B3] # DOWNWARDS ARROW WITH TIP RIGHTWARDS
+21B4  ; [*0543.0020.0002.21B4] # RIGHTWARDS ARROW WITH CORNER DOWNWARDS
+21B5  ; [*0544.0020.0002.21B5] # DOWNWARDS ARROW WITH CORNER LEFTWARDS
+21B6  ; [*0545.0020.0002.21B6] # ANTICLOCKWISE TOP SEMICIRCLE ARROW
+21B7  ; [*0546.0020.0002.21B7] # CLOCKWISE TOP SEMICIRCLE ARROW
+21B8  ; [*0547.0020.0002.21B8] # NORTH WEST ARROW TO LONG BAR
+21B9  ; [*0548.0020.0002.21B9] # LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR
+21BA  ; [*0549.0020.0002.21BA] # ANTICLOCKWISE OPEN CIRCLE ARROW
+21BB  ; [*054A.0020.0002.21BB] # CLOCKWISE OPEN CIRCLE ARROW
+21BC  ; [*054B.0020.0002.21BC] # LEFTWARDS HARPOON WITH BARB UPWARDS
+21BD  ; [*054C.0020.0002.21BD] # LEFTWARDS HARPOON WITH BARB DOWNWARDS
+21BE  ; [*054D.0020.0002.21BE] # UPWARDS HARPOON WITH BARB RIGHTWARDS
+21BF  ; [*054E.0020.0002.21BF] # UPWARDS HARPOON WITH BARB LEFTWARDS
+21C0  ; [*054F.0020.0002.21C0] # RIGHTWARDS HARPOON WITH BARB UPWARDS
+21C1  ; [*0550.0020.0002.21C1] # RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+21C2  ; [*0551.0020.0002.21C2] # DOWNWARDS HARPOON WITH BARB RIGHTWARDS
+21C3  ; [*0552.0020.0002.21C3] # DOWNWARDS HARPOON WITH BARB LEFTWARDS
+21C4  ; [*0553.0020.0002.21C4] # RIGHTWARDS ARROW OVER LEFTWARDS ARROW
+21C5  ; [*0554.0020.0002.21C5] # UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
+21C6  ; [*0555.0020.0002.21C6] # LEFTWARDS ARROW OVER RIGHTWARDS ARROW
+21C7  ; [*0556.0020.0002.21C7] # LEFTWARDS PAIRED ARROWS
+21C8  ; [*0557.0020.0002.21C8] # UPWARDS PAIRED ARROWS
+21C9  ; [*0558.0020.0002.21C9] # RIGHTWARDS PAIRED ARROWS
+21CA  ; [*0559.0020.0002.21CA] # DOWNWARDS PAIRED ARROWS
+21CB  ; [*055A.0020.0002.21CB] # LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
+21CC  ; [*055B.0020.0002.21CC] # RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
+21CD  ; [*055C.0020.0002.21D0][.0000.0054.0002.0338] # LEFTWARDS DOUBLE ARROW WITH STROKE
+21CE  ; [*0560.0020.0002.21D4][.0000.0054.0002.0338] # LEFT RIGHT DOUBLE ARROW WITH STROKE
+21CF  ; [*055E.0020.0002.21D2][.0000.0054.0002.0338] # RIGHTWARDS DOUBLE ARROW WITH STROKE
+21D0  ; [*055C.0020.0002.21D0] # LEFTWARDS DOUBLE ARROW
+21D1  ; [*055D.0020.0002.21D1] # UPWARDS DOUBLE ARROW
+21D2  ; [*055E.0020.0002.21D2] # RIGHTWARDS DOUBLE ARROW
+21D3  ; [*055F.0020.0002.21D3] # DOWNWARDS DOUBLE ARROW
+21D4  ; [*0560.0020.0002.21D4] # LEFT RIGHT DOUBLE ARROW
+21D5  ; [*0561.0020.0002.21D5] # UP DOWN DOUBLE ARROW
+21D6  ; [*0562.0020.0002.21D6] # NORTH WEST DOUBLE ARROW
+21D7  ; [*0563.0020.0002.21D7] # NORTH EAST DOUBLE ARROW
+21D8  ; [*0564.0020.0002.21D8] # SOUTH EAST DOUBLE ARROW
+21D9  ; [*0565.0020.0002.21D9] # SOUTH WEST DOUBLE ARROW
+21DA  ; [*0566.0020.0002.21DA] # LEFTWARDS TRIPLE ARROW
+21DB  ; [*0567.0020.0002.21DB] # RIGHTWARDS TRIPLE ARROW
+21DC  ; [*0568.0020.0002.21DC] # LEFTWARDS SQUIGGLE ARROW
+21DD  ; [*0569.0020.0002.21DD] # RIGHTWARDS SQUIGGLE ARROW
+21DE  ; [*056A.0020.0002.21DE] # UPWARDS ARROW WITH DOUBLE STROKE
+21DF  ; [*056B.0020.0002.21DF] # DOWNWARDS ARROW WITH DOUBLE STROKE
+21E0  ; [*056C.0020.0002.21E0] # LEFTWARDS DASHED ARROW
+21E1  ; [*056D.0020.0002.21E1] # UPWARDS DASHED ARROW
+21E2  ; [*056E.0020.0002.21E2] # RIGHTWARDS DASHED ARROW
+21E3  ; [*056F.0020.0002.21E3] # DOWNWARDS DASHED ARROW
+21E4  ; [*0570.0020.0002.21E4] # LEFTWARDS ARROW TO BAR
+21E5  ; [*0571.0020.0002.21E5] # RIGHTWARDS ARROW TO BAR
+21E6  ; [*0572.0020.0002.21E6] # LEFTWARDS WHITE ARROW
+21E7  ; [*0573.0020.0002.21E7] # UPWARDS WHITE ARROW
+21E8  ; [*0574.0020.0002.21E8] # RIGHTWARDS WHITE ARROW
+21E9  ; [*0575.0020.0002.21E9] # DOWNWARDS WHITE ARROW
+21EA  ; [*0576.0020.0002.21EA] # UPWARDS WHITE ARROW FROM BAR
+21EB  ; [*0577.0020.0002.21EB] # UPWARDS WHITE ARROW ON PEDESTAL
+21EC  ; [*0578.0020.0002.21EC] # UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
+21ED  ; [*0579.0020.0002.21ED] # UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
+21EE  ; [*057A.0020.0002.21EE] # UPWARDS WHITE DOUBLE ARROW
+21EF  ; [*057B.0020.0002.21EF] # UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
+21F0  ; [*057C.0020.0002.21F0] # RIGHTWARDS WHITE ARROW FROM WALL
+21F1  ; [*057D.0020.0002.21F1] # NORTH WEST ARROW TO CORNER
+21F2  ; [*057E.0020.0002.21F2] # SOUTH EAST ARROW TO CORNER
+21F3  ; [*057F.0020.0002.21F3] # UP DOWN WHITE ARROW
+21F4  ; [*0580.0020.0002.21F4] # RIGHT ARROW WITH SMALL CIRCLE
+21F5  ; [*0581.0020.0002.21F5] # DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
+21F6  ; [*0582.0020.0002.21F6] # THREE RIGHTWARDS ARROWS
+21F7  ; [*0583.0020.0002.21F7] # LEFTWARDS ARROW WITH VERTICAL STROKE
+21F8  ; [*0584.0020.0002.21F8] # RIGHTWARDS ARROW WITH VERTICAL STROKE
+21F9  ; [*0585.0020.0002.21F9] # LEFT RIGHT ARROW WITH VERTICAL STROKE
+21FA  ; [*0586.0020.0002.21FA] # LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FB  ; [*0587.0020.0002.21FB] # RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE
+21FC  ; [*0588.0020.0002.21FC] # LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE
+21FD  ; [*0589.0020.0002.21FD] # LEFTWARDS OPEN-HEADED ARROW
+21FE  ; [*058A.0020.0002.21FE] # RIGHTWARDS OPEN-HEADED ARROW
+21FF  ; [*058B.0020.0002.21FF] # LEFT RIGHT OPEN-HEADED ARROW
+2200  ; [*058C.0020.0002.2200] # FOR ALL
+2201  ; [*058D.0020.0002.2201] # COMPLEMENT
+2202  ; [*058E.0020.0002.2202] # PARTIAL DIFFERENTIAL
+2203  ; [*058F.0020.0002.2203] # THERE EXISTS
+2204  ; [*058F.0020.0002.2203][.0000.0054.0002.0338] # THERE DOES NOT EXIST
+2205  ; [*0590.0020.0002.2205] # EMPTY SET
+2206  ; [*0591.0020.0002.2206] # INCREMENT
+2207  ; [*0592.0020.0002.2207] # NABLA
+2208  ; [*0593.0020.0002.2208] # ELEMENT OF
+2209  ; [*0593.0020.0002.2208][.0000.0054.0002.0338] # NOT AN ELEMENT OF
+220A  ; [*0594.0020.0002.220A] # SMALL ELEMENT OF
+220B  ; [*0595.0020.0002.220B] # CONTAINS AS MEMBER
+220C  ; [*0595.0020.0002.220B][.0000.0054.0002.0338] # DOES NOT CONTAIN AS MEMBER
+220D  ; [*0596.0020.0002.220D] # SMALL CONTAINS AS MEMBER
+220E  ; [*0598.0020.0002.220E] # END OF PROOF
+220F  ; [*0599.0020.0002.220F] # N-ARY PRODUCT
+2210  ; [*059A.0020.0002.2210] # N-ARY COPRODUCT
+2211  ; [*059B.0020.0002.2211] # N-ARY SUMMATION
+2212  ; [*05A7.0020.0002.2212] # MINUS SIGN
+2213  ; [*05A9.0020.0002.2213] # MINUS-OR-PLUS SIGN
+2214  ; [*05AA.0020.0002.2214] # DOT PLUS
+2215  ; [*05AB.0020.0002.2215] # DIVISION SLASH
+2216  ; [*05AD.0020.0002.2216] # SET MINUS
+2217  ; [*05AE.0020.0002.2217] # ASTERISK OPERATOR
+2218  ; [*05AF.0020.0002.2218] # RING OPERATOR
+2219  ; [*05B0.0020.0002.2219] # BULLET OPERATOR
+221A  ; [*05B1.0020.0002.221A] # SQUARE ROOT
+221B  ; [*05B2.0020.0002.221B] # CUBE ROOT
+221C  ; [*05B4.0020.0002.221C] # FOURTH ROOT
+221D  ; [*05B6.0020.0002.221D] # PROPORTIONAL TO
+221E  ; [*05B7.0020.0002.221E] # INFINITY
+221F  ; [*05B8.0020.0002.221F] # RIGHT ANGLE
+2220  ; [*05B9.0020.0002.2220] # ANGLE
+2221  ; [*05BA.0020.0002.2221] # MEASURED ANGLE
+2222  ; [*05BB.0020.0002.2222] # SPHERICAL ANGLE
+2223  ; [*05BC.0020.0002.2223] # DIVIDES
+2224  ; [*05BC.0020.0002.2223][.0000.0054.0002.0338] # DOES NOT DIVIDE
+2225  ; [*05BD.0020.0002.2225] # PARALLEL TO
+2226  ; [*05BD.0020.0002.2225][.0000.0054.0002.0338] # NOT PARALLEL TO
+2227  ; [*05BE.0020.0002.2227] # LOGICAL AND
+2228  ; [*05BF.0020.0002.2228] # LOGICAL OR
+2229  ; [*05C0.0020.0002.2229] # INTERSECTION
+222A  ; [*05C1.0020.0002.222A] # UNION
+222B  ; [*05C2.0020.0002.222B] # INTEGRAL
+222C  ; [*05C2.0020.0004.222C][*05C2.0020.001F.222C] # DOUBLE INTEGRAL
+222D  ; [*05C2.0020.0004.222D][*05C2.0020.0004.222D][*05C2.0020.001F.222D] # TRIPLE INTEGRAL
+222E  ; [*05C3.0020.0002.222E] # CONTOUR INTEGRAL
+222F  ; [*05C3.0020.0004.222F][*05C3.0020.001F.222F] # SURFACE INTEGRAL
+2230  ; [*05C3.0020.0004.2230][*05C3.0020.0004.2230][*05C3.0020.001F.2230] # VOLUME INTEGRAL
+2231  ; [*05C4.0020.0002.2231] # CLOCKWISE INTEGRAL
+2232  ; [*05C5.0020.0002.2232] # CLOCKWISE CONTOUR INTEGRAL
+2233  ; [*05C6.0020.0002.2233] # ANTICLOCKWISE CONTOUR INTEGRAL
+2234  ; [*05C7.0020.0002.2234] # THEREFORE
+2235  ; [*05C8.0020.0002.2235] # BECAUSE
+2236  ; [*05C9.0020.0002.2236] # RATIO
+2237  ; [*05CA.0020.0002.2237] # PROPORTION
+2238  ; [*05CB.0020.0002.2238] # DOT MINUS
+2239  ; [*05CC.0020.0002.2239] # EXCESS
+223A  ; [*05CD.0020.0002.223A] # GEOMETRIC PROPORTION
+223B  ; [*05CE.0020.0002.223B] # HOMOTHETIC
+223C  ; [*05CF.0020.0002.223C] # TILDE OPERATOR
+223D  ; [*05D0.0020.0002.223D] # REVERSED TILDE
+223E  ; [*05D1.0020.0002.223E] # INVERTED LAZY S
+223F  ; [*05D2.0020.0002.223F] # SINE WAVE
+2240  ; [*05D3.0020.0002.2240] # WREATH PRODUCT
+2241  ; [*05CF.0020.0002.223C][.0000.0054.0002.0338] # NOT TILDE
+2242  ; [*05D4.0020.0002.2242] # MINUS TILDE
+2243  ; [*05D5.0020.0002.2243] # ASYMPTOTICALLY EQUAL TO
+2244  ; [*05D5.0020.0002.2243][.0000.0054.0002.0338] # NOT ASYMPTOTICALLY EQUAL TO
+2245  ; [*05D6.0020.0002.2245] # APPROXIMATELY EQUAL TO
+2246  ; [*05D7.0020.0002.2246] # APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
+2247  ; [*05D6.0020.0002.2245][.0000.0054.0002.0338] # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
+2248  ; [*05D8.0020.0002.2248] # ALMOST EQUAL TO
+2249  ; [*05D8.0020.0002.2248][.0000.0054.0002.0338] # NOT ALMOST EQUAL TO
+224A  ; [*05D9.0020.0002.224A] # ALMOST EQUAL OR EQUAL TO
+224B  ; [*05DA.0020.0002.224B] # TRIPLE TILDE
+224C  ; [*05DB.0020.0002.224C] # ALL EQUAL TO
+224D  ; [*05DC.0020.0002.224D] # EQUIVALENT TO
+224E  ; [*05DD.0020.0002.224E] # GEOMETRICALLY EQUIVALENT TO
+224F  ; [*05DE.0020.0002.224F] # DIFFERENCE BETWEEN
+2250  ; [*05DF.0020.0002.2250] # APPROACHES THE LIMIT
+2251  ; [*05E0.0020.0002.2251] # GEOMETRICALLY EQUAL TO
+2252  ; [*05E1.0020.0002.2252] # APPROXIMATELY EQUAL TO OR THE IMAGE OF
+2253  ; [*05E2.0020.0002.2253] # IMAGE OF OR APPROXIMATELY EQUAL TO
+2254  ; [*05E3.0020.0002.2254] # COLON EQUALS
+2255  ; [*05E4.0020.0002.2255] # EQUALS COLON
+2256  ; [*05E5.0020.0002.2256] # RING IN EQUAL TO
+2257  ; [*05E6.0020.0002.2257] # RING EQUAL TO
+2258  ; [*05E7.0020.0002.2258] # CORRESPONDS TO
+2259  ; [*05E8.0020.0002.2259] # ESTIMATES
+225A  ; [*05E9.0020.0002.225A] # EQUIANGULAR TO
+225B  ; [*05EA.0020.0002.225B] # STAR EQUALS
+225C  ; [*05EB.0020.0002.225C] # DELTA EQUAL TO
+225D  ; [*05EC.0020.0002.225D] # EQUAL TO BY DEFINITION
+225E  ; [*05ED.0020.0002.225E] # MEASURED BY
+225F  ; [*05EE.0020.0002.225F] # QUESTIONED EQUAL TO
+2260  ; [*05A1.0020.0002.003D][.0000.0054.0002.0338] # NOT EQUAL TO
+2261  ; [*05EF.0020.0002.2261] # IDENTICAL TO
+2262  ; [*05EF.0020.0002.2261][.0000.0054.0002.0338] # NOT IDENTICAL TO
+2263  ; [*05F0.0020.0002.2263] # STRICTLY EQUIVALENT TO
+2264  ; [*05F1.0020.0002.2264] # LESS-THAN OR EQUAL TO
+2265  ; [*05F2.0020.0002.2265] # GREATER-THAN OR EQUAL TO
+2266  ; [*05F3.0020.0002.2266] # LESS-THAN OVER EQUAL TO
+2267  ; [*05F4.0020.0002.2267] # GREATER-THAN OVER EQUAL TO
+2268  ; [*05F5.0020.0002.2268] # LESS-THAN BUT NOT EQUAL TO
+2269  ; [*05F6.0020.0002.2269] # GREATER-THAN BUT NOT EQUAL TO
+226A  ; [*05F7.0020.0002.226A] # MUCH LESS-THAN
+226B  ; [*05F8.0020.0002.226B] # MUCH GREATER-THAN
+226C  ; [*05F9.0020.0002.226C] # BETWEEN
+226D  ; [*05DC.0020.0002.224D][.0000.0054.0002.0338] # NOT EQUIVALENT TO
+226E  ; [*05A0.0020.0002.003C][.0000.0054.0002.0338] # NOT LESS-THAN
+226F  ; [*05A2.0020.0002.003E][.0000.0054.0002.0338] # NOT GREATER-THAN
+2270  ; [*05F1.0020.0002.2264][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUAL TO
+2271  ; [*05F2.0020.0002.2265][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUAL TO
+2272  ; [*05FA.0020.0002.2272] # LESS-THAN OR EQUIVALENT TO
+2273  ; [*05FB.0020.0002.2273] # GREATER-THAN OR EQUIVALENT TO
+2274  ; [*05FA.0020.0002.2272][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR EQUIVALENT TO
+2275  ; [*05FB.0020.0002.2273][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR EQUIVALENT TO
+2276  ; [*05FC.0020.0002.2276] # LESS-THAN OR GREATER-THAN
+2277  ; [*05FD.0020.0002.2277] # GREATER-THAN OR LESS-THAN
+2278  ; [*05FC.0020.0002.2276][.0000.0054.0002.0338] # NEITHER LESS-THAN NOR GREATER-THAN
+2279  ; [*05FD.0020.0002.2277][.0000.0054.0002.0338] # NEITHER GREATER-THAN NOR LESS-THAN
+227A  ; [*05FE.0020.0002.227A] # PRECEDES
+227B  ; [*05FF.0020.0002.227B] # SUCCEEDS
+227C  ; [*0600.0020.0002.227C] # PRECEDES OR EQUAL TO
+227D  ; [*0601.0020.0002.227D] # SUCCEEDS OR EQUAL TO
+227E  ; [*0602.0020.0002.227E] # PRECEDES OR EQUIVALENT TO
+227F  ; [*0603.0020.0002.227F] # SUCCEEDS OR EQUIVALENT TO
+2280  ; [*05FE.0020.0002.227A][.0000.0054.0002.0338] # DOES NOT PRECEDE
+2281  ; [*05FF.0020.0002.227B][.0000.0054.0002.0338] # DOES NOT SUCCEED
+2282  ; [*0604.0020.0002.2282] # SUBSET OF
+2283  ; [*0605.0020.0002.2283] # SUPERSET OF
+2284  ; [*0604.0020.0002.2282][.0000.0054.0002.0338] # NOT A SUBSET OF
+2285  ; [*0605.0020.0002.2283][.0000.0054.0002.0338] # NOT A SUPERSET OF
+2286  ; [*0606.0020.0002.2286] # SUBSET OF OR EQUAL TO
+2287  ; [*0607.0020.0002.2287] # SUPERSET OF OR EQUAL TO
+2288  ; [*0606.0020.0002.2286][.0000.0054.0002.0338] # NEITHER A SUBSET OF NOR EQUAL TO
+2289  ; [*0607.0020.0002.2287][.0000.0054.0002.0338] # NEITHER A SUPERSET OF NOR EQUAL TO
+228A  ; [*0608.0020.0002.228A] # SUBSET OF WITH NOT EQUAL TO
+228B  ; [*0609.0020.0002.228B] # SUPERSET OF WITH NOT EQUAL TO
+228C  ; [*060A.0020.0002.228C] # MULTISET
+228D  ; [*060B.0020.0002.228D] # MULTISET MULTIPLICATION
+228E  ; [*060C.0020.0002.228E] # MULTISET UNION
+228F  ; [*060D.0020.0002.228F] # SQUARE IMAGE OF
+2290  ; [*060E.0020.0002.2290] # SQUARE ORIGINAL OF
+2291  ; [*060F.0020.0002.2291] # SQUARE IMAGE OF OR EQUAL TO
+2292  ; [*0610.0020.0002.2292] # SQUARE ORIGINAL OF OR EQUAL TO
+2293  ; [*0611.0020.0002.2293] # SQUARE CAP
+2294  ; [*0612.0020.0002.2294] # SQUARE CUP
+2295  ; [*0613.0020.0002.2295] # CIRCLED PLUS
+2296  ; [*0614.0020.0002.2296] # CIRCLED MINUS
+2297  ; [*0615.0020.0002.2297] # CIRCLED TIMES
+2298  ; [*0616.0020.0002.2298] # CIRCLED DIVISION SLASH
+2299  ; [*0617.0020.0002.2299] # CIRCLED DOT OPERATOR
+229A  ; [*0618.0020.0002.229A] # CIRCLED RING OPERATOR
+229B  ; [*0619.0020.0002.229B] # CIRCLED ASTERISK OPERATOR
+229C  ; [*061A.0020.0002.229C] # CIRCLED EQUALS
+229D  ; [*061B.0020.0002.229D] # CIRCLED DASH
+229E  ; [*061C.0020.0002.229E] # SQUARED PLUS
+229F  ; [*061D.0020.0002.229F] # SQUARED MINUS
+22A0  ; [*061E.0020.0002.22A0] # SQUARED TIMES
+22A1  ; [*061F.0020.0002.22A1] # SQUARED DOT OPERATOR
+22A2  ; [*0620.0020.0002.22A2] # RIGHT TACK
+22A3  ; [*0621.0020.0002.22A3] # LEFT TACK
+22A4  ; [*0622.0020.0002.22A4] # DOWN TACK
+22A5  ; [*0623.0020.0002.22A5] # UP TACK
+22A6  ; [*0624.0020.0002.22A6] # ASSERTION
+22A7  ; [*0625.0020.0002.22A7] # MODELS
+22A8  ; [*0626.0020.0002.22A8] # TRUE
+22A9  ; [*0627.0020.0002.22A9] # FORCES
+22AA  ; [*0628.0020.0002.22AA] # TRIPLE VERTICAL BAR RIGHT TURNSTILE
+22AB  ; [*0629.0020.0002.22AB] # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22AC  ; [*0620.0020.0002.22A2][.0000.0054.0002.0338] # DOES NOT PROVE
+22AD  ; [*0626.0020.0002.22A8][.0000.0054.0002.0338] # NOT TRUE
+22AE  ; [*0627.0020.0002.22A9][.0000.0054.0002.0338] # DOES NOT FORCE
+22AF  ; [*0629.0020.0002.22AB][.0000.0054.0002.0338] # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
+22B0  ; [*062A.0020.0002.22B0] # PRECEDES UNDER RELATION
+22B1  ; [*062B.0020.0002.22B1] # SUCCEEDS UNDER RELATION
+22B2  ; [*062C.0020.0002.22B2] # NORMAL SUBGROUP OF
+22B3  ; [*062D.0020.0002.22B3] # CONTAINS AS NORMAL SUBGROUP
+22B4  ; [*062E.0020.0002.22B4] # NORMAL SUBGROUP OF OR EQUAL TO
+22B5  ; [*062F.0020.0002.22B5] # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
+22B6  ; [*0630.0020.0002.22B6] # ORIGINAL OF
+22B7  ; [*0631.0020.0002.22B7] # IMAGE OF
+22B8  ; [*0632.0020.0002.22B8] # MULTIMAP
+22B9  ; [*0633.0020.0002.22B9] # HERMITIAN CONJUGATE MATRIX
+22BA  ; [*0634.0020.0002.22BA] # INTERCALATE
+22BB  ; [*0635.0020.0002.22BB] # XOR
+22BC  ; [*0636.0020.0002.22BC] # NAND
+22BD  ; [*0638.0020.0002.22BD] # NOR
+22BE  ; [*0639.0020.0002.22BE] # RIGHT ANGLE WITH ARC
+22BF  ; [*063A.0020.0002.22BF] # RIGHT TRIANGLE
+22C0  ; [*063B.0020.0002.22C0] # N-ARY LOGICAL AND
+22C1  ; [*063C.0020.0002.22C1] # N-ARY LOGICAL OR
+22C2  ; [*063D.0020.0002.22C2] # N-ARY INTERSECTION
+22C3  ; [*063E.0020.0002.22C3] # N-ARY UNION
+22C4  ; [*063F.0020.0002.22C4] # DIAMOND OPERATOR
+22C5  ; [*0640.0020.0002.22C5] # DOT OPERATOR
+22C6  ; [*0641.0020.0002.22C6] # STAR OPERATOR
+22C7  ; [*0642.0020.0002.22C7] # DIVISION TIMES
+22C8  ; [*0643.0020.0002.22C8] # BOWTIE
+22C9  ; [*0644.0020.0002.22C9] # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CA  ; [*0645.0020.0002.22CA] # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
+22CB  ; [*0646.0020.0002.22CB] # LEFT SEMIDIRECT PRODUCT
+22CC  ; [*0647.0020.0002.22CC] # RIGHT SEMIDIRECT PRODUCT
+22CD  ; [*0648.0020.0002.22CD] # REVERSED TILDE EQUALS
+22CE  ; [*0649.0020.0002.22CE] # CURLY LOGICAL OR
+22CF  ; [*064A.0020.0002.22CF] # CURLY LOGICAL AND
+22D0  ; [*064B.0020.0002.22D0] # DOUBLE SUBSET
+22D1  ; [*064C.0020.0002.22D1] # DOUBLE SUPERSET
+22D2  ; [*064D.0020.0002.22D2] # DOUBLE INTERSECTION
+22D3  ; [*064E.0020.0002.22D3] # DOUBLE UNION
+22D4  ; [*064F.0020.0002.22D4] # PITCHFORK
+22D5  ; [*0650.0020.0002.22D5] # EQUAL AND PARALLEL TO
+22D6  ; [*0651.0020.0002.22D6] # LESS-THAN WITH DOT
+22D7  ; [*0652.0020.0002.22D7] # GREATER-THAN WITH DOT
+22D8  ; [*0653.0020.0002.22D8] # VERY MUCH LESS-THAN
+22D9  ; [*0654.0020.0002.22D9] # VERY MUCH GREATER-THAN
+22DA  ; [*0655.0020.0002.22DA] # LESS-THAN EQUAL TO OR GREATER-THAN
+22DB  ; [*0656.0020.0002.22DB] # GREATER-THAN EQUAL TO OR LESS-THAN
+22DC  ; [*0657.0020.0002.22DC] # EQUAL TO OR LESS-THAN
+22DD  ; [*0658.0020.0002.22DD] # EQUAL TO OR GREATER-THAN
+22DE  ; [*0659.0020.0002.22DE] # EQUAL TO OR PRECEDES
+22DF  ; [*065A.0020.0002.22DF] # EQUAL TO OR SUCCEEDS
+22E0  ; [*0600.0020.0002.227C][.0000.0054.0002.0338] # DOES NOT PRECEDE OR EQUAL
+22E1  ; [*0601.0020.0002.227D][.0000.0054.0002.0338] # DOES NOT SUCCEED OR EQUAL
+22E2  ; [*060F.0020.0002.2291][.0000.0054.0002.0338] # NOT SQUARE IMAGE OF OR EQUAL TO
+22E3  ; [*0610.0020.0002.2292][.0000.0054.0002.0338] # NOT SQUARE ORIGINAL OF OR EQUAL TO
+22E4  ; [*065B.0020.0002.22E4] # SQUARE IMAGE OF OR NOT EQUAL TO
+22E5  ; [*065C.0020.0002.22E5] # SQUARE ORIGINAL OF OR NOT EQUAL TO
+22E6  ; [*065D.0020.0002.22E6] # LESS-THAN BUT NOT EQUIVALENT TO
+22E7  ; [*065E.0020.0002.22E7] # GREATER-THAN BUT NOT EQUIVALENT TO
+22E8  ; [*065F.0020.0002.22E8] # PRECEDES BUT NOT EQUIVALENT TO
+22E9  ; [*0660.0020.0002.22E9] # SUCCEEDS BUT NOT EQUIVALENT TO
+22EA  ; [*062C.0020.0002.22B2][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF
+22EB  ; [*062D.0020.0002.22B3][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP
+22EC  ; [*062E.0020.0002.22B4][.0000.0054.0002.0338] # NOT NORMAL SUBGROUP OF OR EQUAL TO
+22ED  ; [*062F.0020.0002.22B5][.0000.0054.0002.0338] # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
+22EE  ; [*0661.0020.0002.22EE] # VERTICAL ELLIPSIS
+22EF  ; [*0662.0020.0002.22EF] # MIDLINE HORIZONTAL ELLIPSIS
+22F0  ; [*0663.0020.0002.22F0] # UP RIGHT DIAGONAL ELLIPSIS
+22F1  ; [*0664.0020.0002.22F1] # DOWN RIGHT DIAGONAL ELLIPSIS
+22F2  ; [*0665.0020.0002.22F2] # ELEMENT OF WITH LONG HORIZONTAL STROKE
+22F3  ; [*0666.0020.0002.22F3] # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F4  ; [*0667.0020.0002.22F4] # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22F5  ; [*0668.0020.0002.22F5] # ELEMENT OF WITH DOT ABOVE
+22F6  ; [*0669.0020.0002.22F6] # ELEMENT OF WITH OVERBAR
+22F7  ; [*066A.0020.0002.22F7] # SMALL ELEMENT OF WITH OVERBAR
+22F8  ; [*066B.0020.0002.22F8] # ELEMENT OF WITH UNDERBAR
+22F9  ; [*066C.0020.0002.22F9] # ELEMENT OF WITH TWO HORIZONTAL STROKES
+22FA  ; [*066D.0020.0002.22FA] # CONTAINS WITH LONG HORIZONTAL STROKE
+22FB  ; [*066E.0020.0002.22FB] # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FC  ; [*066F.0020.0002.22FC] # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
+22FD  ; [*0670.0020.0002.22FD] # CONTAINS WITH OVERBAR
+22FE  ; [*0671.0020.0002.22FE] # SMALL CONTAINS WITH OVERBAR
+22FF  ; [*0672.0020.0002.22FF] # Z NOTATION BAG MEMBERSHIP
+2300  ; [*0673.0020.0002.2300] # DIAMETER SIGN
+2301  ; [*0674.0020.0002.2301] # ELECTRIC ARROW
+2302  ; [*0675.0020.0002.2302] # HOUSE
+2303  ; [*0676.0020.0002.2303] # UP ARROWHEAD
+2304  ; [*0677.0020.0002.2304] # DOWN ARROWHEAD
+2305  ; [*0678.0020.0002.2305] # PROJECTIVE
+2306  ; [*0679.0020.0002.2306] # PERSPECTIVE
+2307  ; [*067A.0020.0002.2307] # WAVY LINE
+2308  ; [*067B.0020.0002.2308] # LEFT CEILING
+2309  ; [*067C.0020.0002.2309] # RIGHT CEILING
+230A  ; [*067D.0020.0002.230A] # LEFT FLOOR
+230B  ; [*067E.0020.0002.230B] # RIGHT FLOOR
+230C  ; [*067F.0020.0002.230C] # BOTTOM RIGHT CROP
+230D  ; [*0680.0020.0002.230D] # BOTTOM LEFT CROP
+230E  ; [*0681.0020.0002.230E] # TOP RIGHT CROP
+230F  ; [*0682.0020.0002.230F] # TOP LEFT CROP
+2310  ; [*0683.0020.0002.2310] # REVERSED NOT SIGN
+2311  ; [*0684.0020.0002.2311] # SQUARE LOZENGE
+2312  ; [*0685.0020.0002.2312] # ARC
+2313  ; [*0686.0020.0002.2313] # SEGMENT
+2314  ; [*0687.0020.0002.2314] # SECTOR
+2315  ; [*0688.0020.0002.2315] # TELEPHONE RECORDER
+2316  ; [*0689.0020.0002.2316] # POSITION INDICATOR
+2317  ; [*068A.0020.0002.2317] # VIEWDATA SQUARE
+2318  ; [*068B.0020.0002.2318] # PLACE OF INTEREST SIGN
+2319  ; [*068C.0020.0002.2319] # TURNED NOT SIGN
+231A  ; [*068D.0020.0002.231A] # WATCH
+231B  ; [*068E.0020.0002.231B] # HOURGLASS
+231C  ; [*068F.0020.0002.231C] # TOP LEFT CORNER
+231D  ; [*0690.0020.0002.231D] # TOP RIGHT CORNER
+231E  ; [*0691.0020.0002.231E] # BOTTOM LEFT CORNER
+231F  ; [*0692.0020.0002.231F] # BOTTOM RIGHT CORNER
+2320  ; [*0693.0020.0002.2320] # TOP HALF INTEGRAL
+2321  ; [*0694.0020.0002.2321] # BOTTOM HALF INTEGRAL
+2322  ; [*0695.0020.0002.2322] # FROWN
+2323  ; [*0696.0020.0002.2323] # SMILE
+2324  ; [*0697.0020.0002.2324] # UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS
+2325  ; [*0698.0020.0002.2325] # OPTION KEY
+2326  ; [*0699.0020.0002.2326] # ERASE TO THE RIGHT
+2327  ; [*069A.0020.0002.2327] # X IN A RECTANGLE BOX
+2328  ; [*069B.0020.0002.2328] # KEYBOARD
+2329  ; [*034F.0020.0002.2329] # LEFT-POINTING ANGLE BRACKET
+232A  ; [*0350.0020.0002.232A] # RIGHT-POINTING ANGLE BRACKET
+232B  ; [*069C.0020.0002.232B] # ERASE TO THE LEFT
+232C  ; [*069D.0020.0002.232C] # BENZENE RING
+232D  ; [*069E.0020.0002.232D] # CYLINDRICITY
+232E  ; [*069F.0020.0002.232E] # ALL AROUND-PROFILE
+232F  ; [*06A0.0020.0002.232F] # SYMMETRY
+2330  ; [*06A1.0020.0002.2330] # TOTAL RUNOUT
+2331  ; [*06A2.0020.0002.2331] # DIMENSION ORIGIN
+2332  ; [*06A3.0020.0002.2332] # CONICAL TAPER
+2333  ; [*06A4.0020.0002.2333] # SLOPE
+2334  ; [*06A5.0020.0002.2334] # COUNTERBORE
+2335  ; [*06A6.0020.0002.2335] # COUNTERSINK
+2336  ; [*06A7.0020.0002.2336] # APL FUNCTIONAL SYMBOL I-BEAM
+2337  ; [*06A8.0020.0002.2337] # APL FUNCTIONAL SYMBOL SQUISH QUAD
+2338  ; [*06A9.0020.0002.2338] # APL FUNCTIONAL SYMBOL QUAD EQUAL
+2339  ; [*06AA.0020.0002.2339] # APL FUNCTIONAL SYMBOL QUAD DIVIDE
+233A  ; [*06AB.0020.0002.233A] # APL FUNCTIONAL SYMBOL QUAD DIAMOND
+233B  ; [*06AC.0020.0002.233B] # APL FUNCTIONAL SYMBOL QUAD JOT
+233C  ; [*06AD.0020.0002.233C] # APL FUNCTIONAL SYMBOL QUAD CIRCLE
+233D  ; [*06AE.0020.0002.233D] # APL FUNCTIONAL SYMBOL CIRCLE STILE
+233E  ; [*06AF.0020.0002.233E] # APL FUNCTIONAL SYMBOL CIRCLE JOT
+233F  ; [*06B0.0020.0002.233F] # APL FUNCTIONAL SYMBOL SLASH BAR
+2340  ; [*06B1.0020.0002.2340] # APL FUNCTIONAL SYMBOL BACKSLASH BAR
+2341  ; [*06B2.0020.0002.2341] # APL FUNCTIONAL SYMBOL QUAD SLASH
+2342  ; [*06B3.0020.0002.2342] # APL FUNCTIONAL SYMBOL QUAD BACKSLASH
+2343  ; [*06B4.0020.0002.2343] # APL FUNCTIONAL SYMBOL QUAD LESS-THAN
+2344  ; [*06B5.0020.0002.2344] # APL FUNCTIONAL SYMBOL QUAD GREATER-THAN
+2345  ; [*06B6.0020.0002.2345] # APL FUNCTIONAL SYMBOL LEFTWARDS VANE
+2346  ; [*06B7.0020.0002.2346] # APL FUNCTIONAL SYMBOL RIGHTWARDS VANE
+2347  ; [*06B8.0020.0002.2347] # APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW
+2348  ; [*06B9.0020.0002.2348] # APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW
+2349  ; [*06BA.0020.0002.2349] # APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH
+234A  ; [*06BB.0020.0002.234A] # APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR
+234B  ; [*06BC.0020.0002.234B] # APL FUNCTIONAL SYMBOL DELTA STILE
+234C  ; [*06BD.0020.0002.234C] # APL FUNCTIONAL SYMBOL QUAD DOWN CARET
+234D  ; [*06BE.0020.0002.234D] # APL FUNCTIONAL SYMBOL QUAD DELTA
+234E  ; [*06BF.0020.0002.234E] # APL FUNCTIONAL SYMBOL DOWN TACK JOT
+234F  ; [*06C0.0020.0002.234F] # APL FUNCTIONAL SYMBOL UPWARDS VANE
+2350  ; [*06C1.0020.0002.2350] # APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW
+2351  ; [*06C2.0020.0002.2351] # APL FUNCTIONAL SYMBOL UP TACK OVERBAR
+2352  ; [*06C3.0020.0002.2352] # APL FUNCTIONAL SYMBOL DEL STILE
+2353  ; [*06C4.0020.0002.2353] # APL FUNCTIONAL SYMBOL QUAD UP CARET
+2354  ; [*06C5.0020.0002.2354] # APL FUNCTIONAL SYMBOL QUAD DEL
+2355  ; [*06C6.0020.0002.2355] # APL FUNCTIONAL SYMBOL UP TACK JOT
+2356  ; [*06C7.0020.0002.2356] # APL FUNCTIONAL SYMBOL DOWNWARDS VANE
+2357  ; [*06C8.0020.0002.2357] # APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW
+2358  ; [*06C9.0020.0002.2358] # APL FUNCTIONAL SYMBOL QUOTE UNDERBAR
+2359  ; [*06CA.0020.0002.2359] # APL FUNCTIONAL SYMBOL DELTA UNDERBAR
+235A  ; [*06CB.0020.0002.235A] # APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR
+235B  ; [*06CC.0020.0002.235B] # APL FUNCTIONAL SYMBOL JOT UNDERBAR
+235C  ; [*06CD.0020.0002.235C] # APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR
+235D  ; [*06CE.0020.0002.235D] # APL FUNCTIONAL SYMBOL UP SHOE JOT
+235E  ; [*06CF.0020.0002.235E] # APL FUNCTIONAL SYMBOL QUOTE QUAD
+235F  ; [*06D0.0020.0002.235F] # APL FUNCTIONAL SYMBOL CIRCLE STAR
+2360  ; [*06D1.0020.0002.2360] # APL FUNCTIONAL SYMBOL QUAD COLON
+2361  ; [*06D2.0020.0002.2361] # APL FUNCTIONAL SYMBOL UP TACK DIAERESIS
+2362  ; [*06D3.0020.0002.2362] # APL FUNCTIONAL SYMBOL DEL DIAERESIS
+2363  ; [*06D4.0020.0002.2363] # APL FUNCTIONAL SYMBOL STAR DIAERESIS
+2364  ; [*06D5.0020.0002.2364] # APL FUNCTIONAL SYMBOL JOT DIAERESIS
+2365  ; [*06D6.0020.0002.2365] # APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS
+2366  ; [*06D7.0020.0002.2366] # APL FUNCTIONAL SYMBOL DOWN SHOE STILE
+2367  ; [*06D8.0020.0002.2367] # APL FUNCTIONAL SYMBOL LEFT SHOE STILE
+2368  ; [*06D9.0020.0002.2368] # APL FUNCTIONAL SYMBOL TILDE DIAERESIS
+2369  ; [*06DA.0020.0002.2369] # APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS
+236A  ; [*06DB.0020.0002.236A] # APL FUNCTIONAL SYMBOL COMMA BAR
+236B  ; [*06DC.0020.0002.236B] # APL FUNCTIONAL SYMBOL DEL TILDE
+236C  ; [*06DD.0020.0002.236C] # APL FUNCTIONAL SYMBOL ZILDE
+236D  ; [*06DE.0020.0002.236D] # APL FUNCTIONAL SYMBOL STILE TILDE
+236E  ; [*06DF.0020.0002.236E] # APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR
+236F  ; [*06E0.0020.0002.236F] # APL FUNCTIONAL SYMBOL QUAD NOT EQUAL
+2370  ; [*06E1.0020.0002.2370] # APL FUNCTIONAL SYMBOL QUAD QUESTION
+2371  ; [*06E2.0020.0002.2371] # APL FUNCTIONAL SYMBOL DOWN CARET TILDE
+2372  ; [*06E3.0020.0002.2372] # APL FUNCTIONAL SYMBOL UP CARET TILDE
+2373  ; [*06E4.0020.0002.2373] # APL FUNCTIONAL SYMBOL IOTA
+2374  ; [*06E5.0020.0002.2374] # APL FUNCTIONAL SYMBOL RHO
+2375  ; [*06E6.0020.0002.2375] # APL FUNCTIONAL SYMBOL OMEGA
+2376  ; [*06E7.0020.0002.2376] # APL FUNCTIONAL SYMBOL ALPHA UNDERBAR
+2377  ; [*06E8.0020.0002.2377] # APL FUNCTIONAL SYMBOL EPSILON UNDERBAR
+2378  ; [*06E9.0020.0002.2378] # APL FUNCTIONAL SYMBOL IOTA UNDERBAR
+2379  ; [*06EA.0020.0002.2379] # APL FUNCTIONAL SYMBOL OMEGA UNDERBAR
+237A  ; [*06EB.0020.0002.237A] # APL FUNCTIONAL SYMBOL ALPHA
+237B  ; [*06EC.0020.0002.237B] # NOT CHECK MARK
+237C  ; [*06ED.0020.0002.237C] # RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
+237D  ; [*06EE.0020.0002.237D] # SHOULDERED OPEN BOX
+237E  ; [*06EF.0020.0002.237E] # BELL SYMBOL
+237F  ; [*06F0.0020.0002.237F] # VERTICAL LINE WITH MIDDLE DOT
+2380  ; [*06F1.0020.0002.2380] # INSERTION SYMBOL
+2381  ; [*06F2.0020.0002.2381] # CONTINUOUS UNDERLINE SYMBOL
+2382  ; [*06F3.0020.0002.2382] # DISCONTINUOUS UNDERLINE SYMBOL
+2383  ; [*06F4.0020.0002.2383] # EMPHASIS SYMBOL
+2384  ; [*06F5.0020.0002.2384] # COMPOSITION SYMBOL
+2385  ; [*06F6.0020.0002.2385] # WHITE SQUARE WITH CENTRE VERTICAL LINE
+2386  ; [*06F7.0020.0002.2386] # ENTER SYMBOL
+2387  ; [*06F8.0020.0002.2387] # ALTERNATIVE KEY SYMBOL
+2388  ; [*06F9.0020.0002.2388] # HELM SYMBOL
+2389  ; [*06FA.0020.0002.2389] # CIRCLED HORIZONTAL BAR WITH NOTCH
+238A  ; [*06FB.0020.0002.238A] # CIRCLED TRIANGLE DOWN
+238B  ; [*06FC.0020.0002.238B] # BROKEN CIRCLE WITH NORTHWEST ARROW
+238C  ; [*06FD.0020.0002.238C] # UNDO SYMBOL
+238D  ; [*06FE.0020.0002.238D] # MONOSTABLE SYMBOL
+238E  ; [*06FF.0020.0002.238E] # HYSTERESIS SYMBOL
+238F  ; [*0700.0020.0002.238F] # OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL
+2390  ; [*0701.0020.0002.2390] # OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL
+2391  ; [*0702.0020.0002.2391] # PASSIVE-PULL-DOWN-OUTPUT SYMBOL
+2392  ; [*0703.0020.0002.2392] # PASSIVE-PULL-UP-OUTPUT SYMBOL
+2393  ; [*0704.0020.0002.2393] # DIRECT CURRENT SYMBOL FORM TWO
+2394  ; [*0705.0020.0002.2394] # SOFTWARE-FUNCTION SYMBOL
+2395  ; [*0706.0020.0002.2395] # APL FUNCTIONAL SYMBOL QUAD
+2396  ; [*0707.0020.0002.2396] # DECIMAL SEPARATOR KEY SYMBOL
+2397  ; [*0708.0020.0002.2397] # PREVIOUS PAGE
+2398  ; [*0709.0020.0002.2398] # NEXT PAGE
+2399  ; [*070A.0020.0002.2399] # PRINT SCREEN SYMBOL
+239A  ; [*070B.0020.0002.239A] # CLEAR SCREEN SYMBOL
+239B  ; [*070C.0020.0002.239B] # LEFT PARENTHESIS UPPER HOOK
+239C  ; [*070D.0020.0002.239C] # LEFT PARENTHESIS EXTENSION
+239D  ; [*070E.0020.0002.239D] # LEFT PARENTHESIS LOWER HOOK
+239E  ; [*070F.0020.0002.239E] # RIGHT PARENTHESIS UPPER HOOK
+239F  ; [*0710.0020.0002.239F] # RIGHT PARENTHESIS EXTENSION
+23A0  ; [*0711.0020.0002.23A0] # RIGHT PARENTHESIS LOWER HOOK
+23A1  ; [*0712.0020.0002.23A1] # LEFT SQUARE BRACKET UPPER CORNER
+23A2  ; [*0713.0020.0002.23A2] # LEFT SQUARE BRACKET EXTENSION
+23A3  ; [*0714.0020.0002.23A3] # LEFT SQUARE BRACKET LOWER CORNER
+23A4  ; [*0715.0020.0002.23A4] # RIGHT SQUARE BRACKET UPPER CORNER
+23A5  ; [*0716.0020.0002.23A5] # RIGHT SQUARE BRACKET EXTENSION
+23A6  ; [*0717.0020.0002.23A6] # RIGHT SQUARE BRACKET LOWER CORNER
+23A7  ; [*0718.0020.0002.23A7] # LEFT CURLY BRACKET UPPER HOOK
+23A8  ; [*0719.0020.0002.23A8] # LEFT CURLY BRACKET MIDDLE PIECE
+23A9  ; [*071A.0020.0002.23A9] # LEFT CURLY BRACKET LOWER HOOK
+23AA  ; [*071B.0020.0002.23AA] # CURLY BRACKET EXTENSION
+23AB  ; [*071C.0020.0002.23AB] # RIGHT CURLY BRACKET UPPER HOOK
+23AC  ; [*071D.0020.0002.23AC] # RIGHT CURLY BRACKET MIDDLE PIECE
+23AD  ; [*071E.0020.0002.23AD] # RIGHT CURLY BRACKET LOWER HOOK
+23AE  ; [*071F.0020.0002.23AE] # INTEGRAL EXTENSION
+23AF  ; [*0720.0020.0002.23AF] # HORIZONTAL LINE EXTENSION
+23B0  ; [*0721.0020.0002.23B0] # UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
+23B1  ; [*0722.0020.0002.23B1] # UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
+23B2  ; [*0723.0020.0002.23B2] # SUMMATION TOP
+23B3  ; [*0724.0020.0002.23B3] # SUMMATION BOTTOM
+23B4  ; [*0725.0020.0002.23B4] # TOP SQUARE BRACKET
+23B5  ; [*0726.0020.0002.23B5] # BOTTOM SQUARE BRACKET
+23B6  ; [*0727.0020.0002.23B6] # BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
+23B7  ; [*0728.0020.0002.23B7] # RADICAL SYMBOL BOTTOM
+23B8  ; [*0729.0020.0002.23B8] # LEFT VERTICAL BOX LINE
+23B9  ; [*072A.0020.0002.23B9] # RIGHT VERTICAL BOX LINE
+23BA  ; [*072B.0020.0002.23BA] # HORIZONTAL SCAN LINE-1
+23BB  ; [*072C.0020.0002.23BB] # HORIZONTAL SCAN LINE-3
+23BC  ; [*072D.0020.0002.23BC] # HORIZONTAL SCAN LINE-7
+23BD  ; [*072E.0020.0002.23BD] # HORIZONTAL SCAN LINE-9
+23BE  ; [*072F.0020.0002.23BE] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
+23BF  ; [*0730.0020.0002.23BF] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
+23C0  ; [*0731.0020.0002.23C0] # DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
+23C1  ; [*0732.0020.0002.23C1] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
+23C2  ; [*0733.0020.0002.23C2] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
+23C3  ; [*0734.0020.0002.23C3] # DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
+23C4  ; [*0735.0020.0002.23C4] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
+23C5  ; [*0736.0020.0002.23C5] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
+23C6  ; [*0737.0020.0002.23C6] # DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
+23C7  ; [*0738.0020.0002.23C7] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
+23C8  ; [*0739.0020.0002.23C8] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE
+23C9  ; [*073A.0020.0002.23C9] # DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
+23CA  ; [*073B.0020.0002.23CA] # DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
+23CB  ; [*073C.0020.0002.23CB] # DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
+23CC  ; [*073D.0020.0002.23CC] # DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
+23CD  ; [*073E.0020.0002.23CD] # SQUARE FOOT
+23CE  ; [*073F.0020.0002.23CE] # RETURN SYMBOL
+23CF  ; [*0740.0020.0002.23CF] # EJECT SYMBOL
+23D0  ; [*0741.0020.0002.23D0] # VERTICAL LINE EXTENSION
+23D1  ; [*0742.0020.0002.23D1] # METRICAL BREVE
+23D2  ; [*0743.0020.0002.23D2] # METRICAL LONG OVER SHORT
+23D3  ; [*0744.0020.0002.23D3] # METRICAL SHORT OVER LONG
+23D4  ; [*0745.0020.0002.23D4] # METRICAL LONG OVER TWO SHORTS
+23D5  ; [*0746.0020.0002.23D5] # METRICAL TWO SHORTS OVER LONG
+23D6  ; [*0747.0020.0002.23D6] # METRICAL TWO SHORTS JOINED
+23D7  ; [*0748.0020.0002.23D7] # METRICAL TRISEME
+23D8  ; [*0749.0020.0002.23D8] # METRICAL TETRASEME
+23D9  ; [*074A.0020.0002.23D9] # METRICAL PENTASEME
+23DA  ; [*074B.0020.0002.23DA] # EARTH GROUND
+23DB  ; [*074C.0020.0002.23DB] # FUSE
+23DC  ; [*074D.0020.0002.23DC] # TOP PARENTHESIS
+23DD  ; [*074E.0020.0002.23DD] # BOTTOM PARENTHESIS
+23DE  ; [*074F.0020.0002.23DE] # TOP CURLY BRACKET
+23DF  ; [*0750.0020.0002.23DF] # BOTTOM CURLY BRACKET
+23E0  ; [*0751.0020.0002.23E0] # TOP TORTOISE SHELL BRACKET
+23E1  ; [*0752.0020.0002.23E1] # BOTTOM TORTOISE SHELL BRACKET
+23E2  ; [*0753.0020.0002.23E2] # WHITE TRAPEZIUM
+23E3  ; [*0754.0020.0002.23E3] # BENZENE RING WITH CIRCLE
+23E4  ; [*0755.0020.0002.23E4] # STRAIGHTNESS
+23E5  ; [*0756.0020.0002.23E5] # FLATNESS
+23E6  ; [*0757.0020.0002.23E6] # AC CURRENT
+23E7  ; [*0758.0020.0002.23E7] # ELECTRICAL INTERSECTION
+23E8  ; [*0759.0020.0002.23E8] # DECIMAL EXPONENT SYMBOL
+23E9  ; [*075A.0020.0002.23E9] # BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23EA  ; [*075B.0020.0002.23EA] # BLACK LEFT-POINTING DOUBLE TRIANGLE
+23EB  ; [*075C.0020.0002.23EB] # BLACK UP-POINTING DOUBLE TRIANGLE
+23EC  ; [*075D.0020.0002.23EC] # BLACK DOWN-POINTING DOUBLE TRIANGLE
+23ED  ; [*075E.0020.0002.23ED] # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EE  ; [*075F.0020.0002.23EE] # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
+23EF  ; [*0760.0020.0002.23EF] # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
+23F0  ; [*0761.0020.0002.23F0] # ALARM CLOCK
+23F1  ; [*0762.0020.0002.23F1] # STOPWATCH
+23F2  ; [*0763.0020.0002.23F2] # TIMER CLOCK
+23F3  ; [*0764.0020.0002.23F3] # HOURGLASS WITH FLOWING SAND
+2400  ; [*0765.0020.0002.2400] # SYMBOL FOR NULL
+2401  ; [*0766.0020.0002.2401] # SYMBOL FOR START OF HEADING
+2402  ; [*0767.0020.0002.2402] # SYMBOL FOR START OF TEXT
+2403  ; [*0768.0020.0002.2403] # SYMBOL FOR END OF TEXT
+2404  ; [*0769.0020.0002.2404] # SYMBOL FOR END OF TRANSMISSION
+2405  ; [*076A.0020.0002.2405] # SYMBOL FOR ENQUIRY
+2406  ; [*076B.0020.0002.2406] # SYMBOL FOR ACKNOWLEDGE
+2407  ; [*076C.0020.0002.2407] # SYMBOL FOR BELL
+2408  ; [*076D.0020.0002.2408] # SYMBOL FOR BACKSPACE
+2409  ; [*076E.0020.0002.2409] # SYMBOL FOR HORIZONTAL TABULATION
+240A  ; [*076F.0020.0002.240A] # SYMBOL FOR LINE FEED
+240B  ; [*0770.0020.0002.240B] # SYMBOL FOR VERTICAL TABULATION
+240C  ; [*0771.0020.0002.240C] # SYMBOL FOR FORM FEED
+240D  ; [*0772.0020.0002.240D] # SYMBOL FOR CARRIAGE RETURN
+240E  ; [*0773.0020.0002.240E] # SYMBOL FOR SHIFT OUT
+240F  ; [*0774.0020.0002.240F] # SYMBOL FOR SHIFT IN
+2410  ; [*0775.0020.0002.2410] # SYMBOL FOR DATA LINK ESCAPE
+2411  ; [*0776.0020.0002.2411] # SYMBOL FOR DEVICE CONTROL ONE
+2412  ; [*0777.0020.0002.2412] # SYMBOL FOR DEVICE CONTROL TWO
+2413  ; [*0778.0020.0002.2413] # SYMBOL FOR DEVICE CONTROL THREE
+2414  ; [*0779.0020.0002.2414] # SYMBOL FOR DEVICE CONTROL FOUR
+2415  ; [*077A.0020.0002.2415] # SYMBOL FOR NEGATIVE ACKNOWLEDGE
+2416  ; [*077B.0020.0002.2416] # SYMBOL FOR SYNCHRONOUS IDLE
+2417  ; [*077C.0020.0002.2417] # SYMBOL FOR END OF TRANSMISSION BLOCK
+2418  ; [*077D.0020.0002.2418] # SYMBOL FOR CANCEL
+2419  ; [*077E.0020.0002.2419] # SYMBOL FOR END OF MEDIUM
+241A  ; [*077F.0020.0002.241A] # SYMBOL FOR SUBSTITUTE
+241B  ; [*0780.0020.0002.241B] # SYMBOL FOR ESCAPE
+241C  ; [*0781.0020.0002.241C] # SYMBOL FOR FILE SEPARATOR
+241D  ; [*0782.0020.0002.241D] # SYMBOL FOR GROUP SEPARATOR
+241E  ; [*0783.0020.0002.241E] # SYMBOL FOR RECORD SEPARATOR
+241F  ; [*0784.0020.0002.241F] # SYMBOL FOR UNIT SEPARATOR
+2420  ; [*0785.0020.0002.2420] # SYMBOL FOR SPACE
+2421  ; [*0786.0020.0002.2421] # SYMBOL FOR DELETE
+2422  ; [*0787.0020.0002.2422] # BLANK SYMBOL
+2423  ; [*0788.0020.0002.2423] # OPEN BOX
+2424  ; [*0789.0020.0002.2424] # SYMBOL FOR NEWLINE
+2425  ; [*078A.0020.0002.2425] # SYMBOL FOR DELETE FORM TWO
+2426  ; [*078B.0020.0002.2426] # SYMBOL FOR SUBSTITUTE FORM TWO
+2440  ; [*078C.0020.0002.2440] # OCR HOOK
+2441  ; [*078D.0020.0002.2441] # OCR CHAIR
+2442  ; [*078E.0020.0002.2442] # OCR FORK
+2443  ; [*078F.0020.0002.2443] # OCR INVERTED FORK
+2444  ; [*0790.0020.0002.2444] # OCR BELT BUCKLE
+2445  ; [*0791.0020.0002.2445] # OCR BOW TIE
+2446  ; [*0792.0020.0002.2446] # OCR BRANCH BANK IDENTIFICATION
+2447  ; [*0793.0020.0002.2447] # OCR AMOUNT OF CHECK
+2448  ; [*0794.0020.0002.2448] # OCR DASH
+2449  ; [*0795.0020.0002.2449] # OCR CUSTOMER ACCOUNT NUMBER
+244A  ; [*0796.0020.0002.244A] # OCR DOUBLE BACKSLASH
+2500  ; [*0797.0020.0002.2500] # BOX DRAWINGS LIGHT HORIZONTAL
+2501  ; [*0798.0020.0002.2501] # BOX DRAWINGS HEAVY HORIZONTAL
+2502  ; [*0799.0020.0002.2502] # BOX DRAWINGS LIGHT VERTICAL
+2503  ; [*079A.0020.0002.2503] # BOX DRAWINGS HEAVY VERTICAL
+2504  ; [*079B.0020.0002.2504] # BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL
+2505  ; [*079C.0020.0002.2505] # BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL
+2506  ; [*079D.0020.0002.2506] # BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
+2507  ; [*079E.0020.0002.2507] # BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL
+2508  ; [*079F.0020.0002.2508] # BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL
+2509  ; [*07A0.0020.0002.2509] # BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL
+250A  ; [*07A1.0020.0002.250A] # BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL
+250B  ; [*07A2.0020.0002.250B] # BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL
+250C  ; [*07A3.0020.0002.250C] # BOX DRAWINGS LIGHT DOWN AND RIGHT
+250D  ; [*07A4.0020.0002.250D] # BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY
+250E  ; [*07A5.0020.0002.250E] # BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT
+250F  ; [*07A6.0020.0002.250F] # BOX DRAWINGS HEAVY DOWN AND RIGHT
+2510  ; [*07A7.0020.0002.2510] # BOX DRAWINGS LIGHT DOWN AND LEFT
+2511  ; [*07A8.0020.0002.2511] # BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY
+2512  ; [*07A9.0020.0002.2512] # BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT
+2513  ; [*07AA.0020.0002.2513] # BOX DRAWINGS HEAVY DOWN AND LEFT
+2514  ; [*07AB.0020.0002.2514] # BOX DRAWINGS LIGHT UP AND RIGHT
+2515  ; [*07AC.0020.0002.2515] # BOX DRAWINGS UP LIGHT AND RIGHT HEAVY
+2516  ; [*07AD.0020.0002.2516] # BOX DRAWINGS UP HEAVY AND RIGHT LIGHT
+2517  ; [*07AE.0020.0002.2517] # BOX DRAWINGS HEAVY UP AND RIGHT
+2518  ; [*07AF.0020.0002.2518] # BOX DRAWINGS LIGHT UP AND LEFT
+2519  ; [*07B0.0020.0002.2519] # BOX DRAWINGS UP LIGHT AND LEFT HEAVY
+251A  ; [*07B1.0020.0002.251A] # BOX DRAWINGS UP HEAVY AND LEFT LIGHT
+251B  ; [*07B2.0020.0002.251B] # BOX DRAWINGS HEAVY UP AND LEFT
+251C  ; [*07B3.0020.0002.251C] # BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+251D  ; [*07B4.0020.0002.251D] # BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY
+251E  ; [*07B5.0020.0002.251E] # BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT
+251F  ; [*07B6.0020.0002.251F] # BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT
+2520  ; [*07B7.0020.0002.2520] # BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT
+2521  ; [*07B8.0020.0002.2521] # BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY
+2522  ; [*07B9.0020.0002.2522] # BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY
+2523  ; [*07BA.0020.0002.2523] # BOX DRAWINGS HEAVY VERTICAL AND RIGHT
+2524  ; [*07BB.0020.0002.2524] # BOX DRAWINGS LIGHT VERTICAL AND LEFT
+2525  ; [*07BC.0020.0002.2525] # BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY
+2526  ; [*07BD.0020.0002.2526] # BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT
+2527  ; [*07BE.0020.0002.2527] # BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT
+2528  ; [*07BF.0020.0002.2528] # BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT
+2529  ; [*07C0.0020.0002.2529] # BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY
+252A  ; [*07C1.0020.0002.252A] # BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY
+252B  ; [*07C2.0020.0002.252B] # BOX DRAWINGS HEAVY VERTICAL AND LEFT
+252C  ; [*07C3.0020.0002.252C] # BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+252D  ; [*07C4.0020.0002.252D] # BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT
+252E  ; [*07C5.0020.0002.252E] # BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT
+252F  ; [*07C6.0020.0002.252F] # BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY
+2530  ; [*07C7.0020.0002.2530] # BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT
+2531  ; [*07C8.0020.0002.2531] # BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY
+2532  ; [*07C9.0020.0002.2532] # BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY
+2533  ; [*07CA.0020.0002.2533] # BOX DRAWINGS HEAVY DOWN AND HORIZONTAL
+2534  ; [*07CB.0020.0002.2534] # BOX DRAWINGS LIGHT UP AND HORIZONTAL
+2535  ; [*07CC.0020.0002.2535] # BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT
+2536  ; [*07CD.0020.0002.2536] # BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT
+2537  ; [*07CE.0020.0002.2537] # BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY
+2538  ; [*07CF.0020.0002.2538] # BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT
+2539  ; [*07D0.0020.0002.2539] # BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY
+253A  ; [*07D1.0020.0002.253A] # BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY
+253B  ; [*07D2.0020.0002.253B] # BOX DRAWINGS HEAVY UP AND HORIZONTAL
+253C  ; [*07D3.0020.0002.253C] # BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+253D  ; [*07D4.0020.0002.253D] # BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT
+253E  ; [*07D5.0020.0002.253E] # BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT
+253F  ; [*07D6.0020.0002.253F] # BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY
+2540  ; [*07D7.0020.0002.2540] # BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT
+2541  ; [*07D8.0020.0002.2541] # BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT
+2542  ; [*07D9.0020.0002.2542] # BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT
+2543  ; [*07DA.0020.0002.2543] # BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT
+2544  ; [*07DB.0020.0002.2544] # BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT
+2545  ; [*07DC.0020.0002.2545] # BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT
+2546  ; [*07DD.0020.0002.2546] # BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT
+2547  ; [*07DE.0020.0002.2547] # BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY
+2548  ; [*07DF.0020.0002.2548] # BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY
+2549  ; [*07E0.0020.0002.2549] # BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY
+254A  ; [*07E1.0020.0002.254A] # BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY
+254B  ; [*07E2.0020.0002.254B] # BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL
+254C  ; [*07E3.0020.0002.254C] # BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL
+254D  ; [*07E4.0020.0002.254D] # BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL
+254E  ; [*07E5.0020.0002.254E] # BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL
+254F  ; [*07E6.0020.0002.254F] # BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL
+2550  ; [*07E7.0020.0002.2550] # BOX DRAWINGS DOUBLE HORIZONTAL
+2551  ; [*07E8.0020.0002.2551] # BOX DRAWINGS DOUBLE VERTICAL
+2552  ; [*07E9.0020.0002.2552] # BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
+2553  ; [*07EA.0020.0002.2553] # BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
+2554  ; [*07EB.0020.0002.2554] # BOX DRAWINGS DOUBLE DOWN AND RIGHT
+2555  ; [*07EC.0020.0002.2555] # BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
+2556  ; [*07ED.0020.0002.2556] # BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
+2557  ; [*07EE.0020.0002.2557] # BOX DRAWINGS DOUBLE DOWN AND LEFT
+2558  ; [*07EF.0020.0002.2558] # BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
+2559  ; [*07F0.0020.0002.2559] # BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
+255A  ; [*07F1.0020.0002.255A] # BOX DRAWINGS DOUBLE UP AND RIGHT
+255B  ; [*07F2.0020.0002.255B] # BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
+255C  ; [*07F3.0020.0002.255C] # BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
+255D  ; [*07F4.0020.0002.255D] # BOX DRAWINGS DOUBLE UP AND LEFT
+255E  ; [*07F5.0020.0002.255E] # BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
+255F  ; [*07F6.0020.0002.255F] # BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
+2560  ; [*07F7.0020.0002.2560] # BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+2561  ; [*07F8.0020.0002.2561] # BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
+2562  ; [*07F9.0020.0002.2562] # BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
+2563  ; [*07FA.0020.0002.2563] # BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+2564  ; [*07FB.0020.0002.2564] # BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
+2565  ; [*07FC.0020.0002.2565] # BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
+2566  ; [*07FD.0020.0002.2566] # BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+2567  ; [*07FE.0020.0002.2567] # BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
+2568  ; [*07FF.0020.0002.2568] # BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
+2569  ; [*0800.0020.0002.2569] # BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+256A  ; [*0801.0020.0002.256A] # BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
+256B  ; [*0802.0020.0002.256B] # BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
+256C  ; [*0803.0020.0002.256C] # BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+256D  ; [*0804.0020.0002.256D] # BOX DRAWINGS LIGHT ARC DOWN AND RIGHT
+256E  ; [*0805.0020.0002.256E] # BOX DRAWINGS LIGHT ARC DOWN AND LEFT
+256F  ; [*0806.0020.0002.256F] # BOX DRAWINGS LIGHT ARC UP AND LEFT
+2570  ; [*0807.0020.0002.2570] # BOX DRAWINGS LIGHT ARC UP AND RIGHT
+2571  ; [*0808.0020.0002.2571] # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
+2572  ; [*0809.0020.0002.2572] # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
+2573  ; [*080A.0020.0002.2573] # BOX DRAWINGS LIGHT DIAGONAL CROSS
+2574  ; [*080B.0020.0002.2574] # BOX DRAWINGS LIGHT LEFT
+2575  ; [*080C.0020.0002.2575] # BOX DRAWINGS LIGHT UP
+2576  ; [*080D.0020.0002.2576] # BOX DRAWINGS LIGHT RIGHT
+2577  ; [*080E.0020.0002.2577] # BOX DRAWINGS LIGHT DOWN
+2578  ; [*080F.0020.0002.2578] # BOX DRAWINGS HEAVY LEFT
+2579  ; [*0810.0020.0002.2579] # BOX DRAWINGS HEAVY UP
+257A  ; [*0811.0020.0002.257A] # BOX DRAWINGS HEAVY RIGHT
+257B  ; [*0812.0020.0002.257B] # BOX DRAWINGS HEAVY DOWN
+257C  ; [*0813.0020.0002.257C] # BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT
+257D  ; [*0814.0020.0002.257D] # BOX DRAWINGS LIGHT UP AND HEAVY DOWN
+257E  ; [*0815.0020.0002.257E] # BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT
+257F  ; [*0816.0020.0002.257F] # BOX DRAWINGS HEAVY UP AND LIGHT DOWN
+2580  ; [*0817.0020.0002.2580] # UPPER HALF BLOCK
+2581  ; [*0818.0020.0002.2581] # LOWER ONE EIGHTH BLOCK
+2582  ; [*0819.0020.0002.2582] # LOWER ONE QUARTER BLOCK
+2583  ; [*081A.0020.0002.2583] # LOWER THREE EIGHTHS BLOCK
+2584  ; [*081B.0020.0002.2584] # LOWER HALF BLOCK
+2585  ; [*081C.0020.0002.2585] # LOWER FIVE EIGHTHS BLOCK
+2586  ; [*081D.0020.0002.2586] # LOWER THREE QUARTERS BLOCK
+2587  ; [*081E.0020.0002.2587] # LOWER SEVEN EIGHTHS BLOCK
+2588  ; [*081F.0020.0002.2588] # FULL BLOCK
+2589  ; [*0820.0020.0002.2589] # LEFT SEVEN EIGHTHS BLOCK
+258A  ; [*0821.0020.0002.258A] # LEFT THREE QUARTERS BLOCK
+258B  ; [*0822.0020.0002.258B] # LEFT FIVE EIGHTHS BLOCK
+258C  ; [*0823.0020.0002.258C] # LEFT HALF BLOCK
+258D  ; [*0824.0020.0002.258D] # LEFT THREE EIGHTHS BLOCK
+258E  ; [*0825.0020.0002.258E] # LEFT ONE QUARTER BLOCK
+258F  ; [*0826.0020.0002.258F] # LEFT ONE EIGHTH BLOCK
+2590  ; [*0827.0020.0002.2590] # RIGHT HALF BLOCK
+2591  ; [*0828.0020.0002.2591] # LIGHT SHADE
+2592  ; [*0829.0020.0002.2592] # MEDIUM SHADE
+2593  ; [*082A.0020.0002.2593] # DARK SHADE
+2594  ; [*082B.0020.0002.2594] # UPPER ONE EIGHTH BLOCK
+2595  ; [*082C.0020.0002.2595] # RIGHT ONE EIGHTH BLOCK
+2596  ; [*082D.0020.0002.2596] # QUADRANT LOWER LEFT
+2597  ; [*082E.0020.0002.2597] # QUADRANT LOWER RIGHT
+2598  ; [*082F.0020.0002.2598] # QUADRANT UPPER LEFT
+2599  ; [*0830.0020.0002.2599] # QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
+259A  ; [*0831.0020.0002.259A] # QUADRANT UPPER LEFT AND LOWER RIGHT
+259B  ; [*0832.0020.0002.259B] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
+259C  ; [*0833.0020.0002.259C] # QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
+259D  ; [*0834.0020.0002.259D] # QUADRANT UPPER RIGHT
+259E  ; [*0835.0020.0002.259E] # QUADRANT UPPER RIGHT AND LOWER LEFT
+259F  ; [*0836.0020.0002.259F] # QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT
+25A0  ; [*0837.0020.0002.25A0] # BLACK SQUARE
+25A1  ; [*0838.0020.0002.25A1] # WHITE SQUARE
+25A2  ; [*0839.0020.0002.25A2] # WHITE SQUARE WITH ROUNDED CORNERS
+25A3  ; [*083A.0020.0002.25A3] # WHITE SQUARE CONTAINING BLACK SMALL SQUARE
+25A4  ; [*083B.0020.0002.25A4] # SQUARE WITH HORIZONTAL FILL
+25A5  ; [*083C.0020.0002.25A5] # SQUARE WITH VERTICAL FILL
+25A6  ; [*083D.0020.0002.25A6] # SQUARE WITH ORTHOGONAL CROSSHATCH FILL
+25A7  ; [*083E.0020.0002.25A7] # SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
+25A8  ; [*083F.0020.0002.25A8] # SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
+25A9  ; [*0840.0020.0002.25A9] # SQUARE WITH DIAGONAL CROSSHATCH FILL
+25AA  ; [*0841.0020.0002.25AA] # BLACK SMALL SQUARE
+25AB  ; [*0842.0020.0002.25AB] # WHITE SMALL SQUARE
+25AC  ; [*0843.0020.0002.25AC] # BLACK RECTANGLE
+25AD  ; [*0844.0020.0002.25AD] # WHITE RECTANGLE
+25AE  ; [*0845.0020.0002.25AE] # BLACK VERTICAL RECTANGLE
+25AF  ; [*0846.0020.0002.25AF] # WHITE VERTICAL RECTANGLE
+25B0  ; [*0847.0020.0002.25B0] # BLACK PARALLELOGRAM
+25B1  ; [*0848.0020.0002.25B1] # WHITE PARALLELOGRAM
+25B2  ; [*0849.0020.0002.25B2] # BLACK UP-POINTING TRIANGLE
+25B3  ; [*084A.0020.0002.25B3] # WHITE UP-POINTING TRIANGLE
+25B4  ; [*084B.0020.0002.25B4] # BLACK UP-POINTING SMALL TRIANGLE
+25B5  ; [*084C.0020.0002.25B5] # WHITE UP-POINTING SMALL TRIANGLE
+25B6  ; [*084D.0020.0002.25B6] # BLACK RIGHT-POINTING TRIANGLE
+25B7  ; [*084E.0020.0002.25B7] # WHITE RIGHT-POINTING TRIANGLE
+25B8  ; [*084F.0020.0002.25B8] # BLACK RIGHT-POINTING SMALL TRIANGLE
+25B9  ; [*0850.0020.0002.25B9] # WHITE RIGHT-POINTING SMALL TRIANGLE
+25BA  ; [*0851.0020.0002.25BA] # BLACK RIGHT-POINTING POINTER
+25BB  ; [*0852.0020.0002.25BB] # WHITE RIGHT-POINTING POINTER
+25BC  ; [*0853.0020.0002.25BC] # BLACK DOWN-POINTING TRIANGLE
+25BD  ; [*0854.0020.0002.25BD] # WHITE DOWN-POINTING TRIANGLE
+25BE  ; [*0855.0020.0002.25BE] # BLACK DOWN-POINTING SMALL TRIANGLE
+25BF  ; [*0856.0020.0002.25BF] # WHITE DOWN-POINTING SMALL TRIANGLE
+25C0  ; [*0857.0020.0002.25C0] # BLACK LEFT-POINTING TRIANGLE
+25C1  ; [*0858.0020.0002.25C1] # WHITE LEFT-POINTING TRIANGLE
+25C2  ; [*0859.0020.0002.25C2] # BLACK LEFT-POINTING SMALL TRIANGLE
+25C3  ; [*085A.0020.0002.25C3] # WHITE LEFT-POINTING SMALL TRIANGLE
+25C4  ; [*085B.0020.0002.25C4] # BLACK LEFT-POINTING POINTER
+25C5  ; [*085C.0020.0002.25C5] # WHITE LEFT-POINTING POINTER
+25C6  ; [*085D.0020.0002.25C6] # BLACK DIAMOND
+25C7  ; [*085E.0020.0002.25C7] # WHITE DIAMOND
+25C8  ; [*085F.0020.0002.25C8] # WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
+25C9  ; [*0860.0020.0002.25C9] # FISHEYE
+25CA  ; [*0861.0020.0002.25CA] # LOZENGE
+25CB  ; [*0862.0020.0002.25CB] # WHITE CIRCLE
+25CC  ; [*0863.0020.0002.25CC] # DOTTED CIRCLE
+25CD  ; [*0864.0020.0002.25CD] # CIRCLE WITH VERTICAL FILL
+25CE  ; [*0865.0020.0002.25CE] # BULLSEYE
+25CF  ; [*0866.0020.0002.25CF] # BLACK CIRCLE
+25D0  ; [*0867.0020.0002.25D0] # CIRCLE WITH LEFT HALF BLACK
+25D1  ; [*0868.0020.0002.25D1] # CIRCLE WITH RIGHT HALF BLACK
+25D2  ; [*0869.0020.0002.25D2] # CIRCLE WITH LOWER HALF BLACK
+25D3  ; [*086A.0020.0002.25D3] # CIRCLE WITH UPPER HALF BLACK
+25D4  ; [*086B.0020.0002.25D4] # CIRCLE WITH UPPER RIGHT QUADRANT BLACK
+25D5  ; [*086C.0020.0002.25D5] # CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK
+25D6  ; [*086D.0020.0002.25D6] # LEFT HALF BLACK CIRCLE
+25D7  ; [*086E.0020.0002.25D7] # RIGHT HALF BLACK CIRCLE
+25D8  ; [*086F.0020.0002.25D8] # INVERSE BULLET
+25D9  ; [*0870.0020.0002.25D9] # INVERSE WHITE CIRCLE
+25DA  ; [*0871.0020.0002.25DA] # UPPER HALF INVERSE WHITE CIRCLE
+25DB  ; [*0872.0020.0002.25DB] # LOWER HALF INVERSE WHITE CIRCLE
+25DC  ; [*0873.0020.0002.25DC] # UPPER LEFT QUADRANT CIRCULAR ARC
+25DD  ; [*0874.0020.0002.25DD] # UPPER RIGHT QUADRANT CIRCULAR ARC
+25DE  ; [*0875.0020.0002.25DE] # LOWER RIGHT QUADRANT CIRCULAR ARC
+25DF  ; [*0876.0020.0002.25DF] # LOWER LEFT QUADRANT CIRCULAR ARC
+25E0  ; [*0877.0020.0002.25E0] # UPPER HALF CIRCLE
+25E1  ; [*0878.0020.0002.25E1] # LOWER HALF CIRCLE
+25E2  ; [*0879.0020.0002.25E2] # BLACK LOWER RIGHT TRIANGLE
+25E3  ; [*087A.0020.0002.25E3] # BLACK LOWER LEFT TRIANGLE
+25E4  ; [*087B.0020.0002.25E4] # BLACK UPPER LEFT TRIANGLE
+25E5  ; [*087C.0020.0002.25E5] # BLACK UPPER RIGHT TRIANGLE
+25E6  ; [*087D.0020.0002.25E6] # WHITE BULLET
+25E7  ; [*087E.0020.0002.25E7] # SQUARE WITH LEFT HALF BLACK
+25E8  ; [*087F.0020.0002.25E8] # SQUARE WITH RIGHT HALF BLACK
+25E9  ; [*0880.0020.0002.25E9] # SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
+25EA  ; [*0881.0020.0002.25EA] # SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
+25EB  ; [*0882.0020.0002.25EB] # WHITE SQUARE WITH VERTICAL BISECTING LINE
+25EC  ; [*0883.0020.0002.25EC] # WHITE UP-POINTING TRIANGLE WITH DOT
+25ED  ; [*0884.0020.0002.25ED] # UP-POINTING TRIANGLE WITH LEFT HALF BLACK
+25EE  ; [*0885.0020.0002.25EE] # UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
+25EF  ; [*0886.0020.0002.25EF] # LARGE CIRCLE
+25F0  ; [*0887.0020.0002.25F0] # WHITE SQUARE WITH UPPER LEFT QUADRANT
+25F1  ; [*0888.0020.0002.25F1] # WHITE SQUARE WITH LOWER LEFT QUADRANT
+25F2  ; [*0889.0020.0002.25F2] # WHITE SQUARE WITH LOWER RIGHT QUADRANT
+25F3  ; [*088A.0020.0002.25F3] # WHITE SQUARE WITH UPPER RIGHT QUADRANT
+25F4  ; [*088B.0020.0002.25F4] # WHITE CIRCLE WITH UPPER LEFT QUADRANT
+25F5  ; [*088C.0020.0002.25F5] # WHITE CIRCLE WITH LOWER LEFT QUADRANT
+25F6  ; [*088D.0020.0002.25F6] # WHITE CIRCLE WITH LOWER RIGHT QUADRANT
+25F7  ; [*088E.0020.0002.25F7] # WHITE CIRCLE WITH UPPER RIGHT QUADRANT
+25F8  ; [*088F.0020.0002.25F8] # UPPER LEFT TRIANGLE
+25F9  ; [*0890.0020.0002.25F9] # UPPER RIGHT TRIANGLE
+25FA  ; [*0891.0020.0002.25FA] # LOWER LEFT TRIANGLE
+25FB  ; [*0892.0020.0002.25FB] # WHITE MEDIUM SQUARE
+25FC  ; [*0893.0020.0002.25FC] # BLACK MEDIUM SQUARE
+25FD  ; [*0894.0020.0002.25FD] # WHITE MEDIUM SMALL SQUARE
+25FE  ; [*0895.0020.0002.25FE] # BLACK MEDIUM SMALL SQUARE
+25FF  ; [*0896.0020.0002.25FF] # LOWER RIGHT TRIANGLE
+2600  ; [*0897.0020.0002.2600] # BLACK SUN WITH RAYS
+2601  ; [*0898.0020.0002.2601] # CLOUD
+2602  ; [*0899.0020.0002.2602] # UMBRELLA
+2603  ; [*089A.0020.0002.2603] # SNOWMAN
+2604  ; [*089B.0020.0002.2604] # COMET
+2605  ; [*089C.0020.0002.2605] # BLACK STAR
+2606  ; [*089D.0020.0002.2606] # WHITE STAR
+2607  ; [*089E.0020.0002.2607] # LIGHTNING
+2608  ; [*089F.0020.0002.2608] # THUNDERSTORM
+2609  ; [*08A0.0020.0002.2609] # SUN
+260A  ; [*08A1.0020.0002.260A] # ASCENDING NODE
+260B  ; [*08A2.0020.0002.260B] # DESCENDING NODE
+260C  ; [*08A3.0020.0002.260C] # CONJUNCTION
+260D  ; [*08A4.0020.0002.260D] # OPPOSITION
+260E  ; [*08A5.0020.0002.260E] # BLACK TELEPHONE
+260F  ; [*08A6.0020.0002.260F] # WHITE TELEPHONE
+2610  ; [*08A7.0020.0002.2610] # BALLOT BOX
+2611  ; [*08A8.0020.0002.2611] # BALLOT BOX WITH CHECK
+2612  ; [*08A9.0020.0002.2612] # BALLOT BOX WITH X
+2613  ; [*08AA.0020.0002.2613] # SALTIRE
+2614  ; [*08AB.0020.0002.2614] # UMBRELLA WITH RAIN DROPS
+2615  ; [*08AC.0020.0002.2615] # HOT BEVERAGE
+2616  ; [*08AD.0020.0002.2616] # WHITE SHOGI PIECE
+2617  ; [*08AE.0020.0002.2617] # BLACK SHOGI PIECE
+2618  ; [*08AF.0020.0002.2618] # SHAMROCK
+2619  ; [*08B0.0020.0002.2619] # REVERSED ROTATED FLORAL HEART BULLET
+261A  ; [*08B1.0020.0002.261A] # BLACK LEFT POINTING INDEX
+261B  ; [*08B2.0020.0002.261B] # BLACK RIGHT POINTING INDEX
+261C  ; [*08B3.0020.0002.261C] # WHITE LEFT POINTING INDEX
+261D  ; [*08B4.0020.0002.261D] # WHITE UP POINTING INDEX
+261E  ; [*08B5.0020.0002.261E] # WHITE RIGHT POINTING INDEX
+261F  ; [*08B6.0020.0002.261F] # WHITE DOWN POINTING INDEX
+2620  ; [*08B7.0020.0002.2620] # SKULL AND CROSSBONES
+2621  ; [*08B8.0020.0002.2621] # CAUTION SIGN
+2622  ; [*08B9.0020.0002.2622] # RADIOACTIVE SIGN
+2623  ; [*08BA.0020.0002.2623] # BIOHAZARD SIGN
+2624  ; [*08BB.0020.0002.2624] # CADUCEUS
+2625  ; [*08BC.0020.0002.2625] # ANKH
+2626  ; [*08BD.0020.0002.2626] # ORTHODOX CROSS
+2627  ; [*08BE.0020.0002.2627] # CHI RHO
+2628  ; [*08BF.0020.0002.2628] # CROSS OF LORRAINE
+2629  ; [*08C0.0020.0002.2629] # CROSS OF JERUSALEM
+262A  ; [*08C1.0020.0002.262A] # STAR AND CRESCENT
+262B  ; [*08C2.0020.0002.262B] # FARSI SYMBOL
+262C  ; [*08C3.0020.0002.262C] # ADI SHAKTI
+262D  ; [*08C4.0020.0002.262D] # HAMMER AND SICKLE
+262E  ; [*08C5.0020.0002.262E] # PEACE SYMBOL
+262F  ; [*08C6.0020.0002.262F] # YIN YANG
+2630  ; [*0DA9.0020.0002.2630] # TRIGRAM FOR HEAVEN
+2631  ; [*0DAA.0020.0002.2631] # TRIGRAM FOR LAKE
+2632  ; [*0DAB.0020.0002.2632] # TRIGRAM FOR FIRE
+2633  ; [*0DAC.0020.0002.2633] # TRIGRAM FOR THUNDER
+2634  ; [*0DAD.0020.0002.2634] # TRIGRAM FOR WIND
+2635  ; [*0DAE.0020.0002.2635] # TRIGRAM FOR WATER
+2636  ; [*0DAF.0020.0002.2636] # TRIGRAM FOR MOUNTAIN
+2637  ; [*0DB0.0020.0002.2637] # TRIGRAM FOR EARTH
+2638  ; [*08C7.0020.0002.2638] # WHEEL OF DHARMA
+2639  ; [*08C8.0020.0002.2639] # WHITE FROWNING FACE
+263A  ; [*08C9.0020.0002.263A] # WHITE SMILING FACE
+263B  ; [*08CA.0020.0002.263B] # BLACK SMILING FACE
+263C  ; [*08CB.0020.0002.263C] # WHITE SUN WITH RAYS
+263D  ; [*08CC.0020.0002.263D] # FIRST QUARTER MOON
+263E  ; [*08CD.0020.0002.263E] # LAST QUARTER MOON
+263F  ; [*08CE.0020.0002.263F] # MERCURY
+2640  ; [*08CF.0020.0002.2640] # FEMALE SIGN
+2641  ; [*08D0.0020.0002.2641] # EARTH
+2642  ; [*08D1.0020.0002.2642] # MALE SIGN
+2643  ; [*08D2.0020.0002.2643] # JUPITER
+2644  ; [*08D3.0020.0002.2644] # SATURN
+2645  ; [*08D4.0020.0002.2645] # URANUS
+2646  ; [*08D5.0020.0002.2646] # NEPTUNE
+2647  ; [*08D6.0020.0002.2647] # PLUTO
+2648  ; [*08D7.0020.0002.2648] # ARIES
+2649  ; [*08D8.0020.0002.2649] # TAURUS
+264A  ; [*08D9.0020.0002.264A] # GEMINI
+264B  ; [*08DA.0020.0002.264B] # CANCER
+264C  ; [*08DB.0020.0002.264C] # LEO
+264D  ; [*08DC.0020.0002.264D] # VIRGO
+264E  ; [*08DD.0020.0002.264E] # LIBRA
+264F  ; [*08DE.0020.0002.264F] # SCORPIUS
+2650  ; [*08DF.0020.0002.2650] # SAGITTARIUS
+2651  ; [*08E0.0020.0002.2651] # CAPRICORN
+2652  ; [*08E1.0020.0002.2652] # AQUARIUS
+2653  ; [*08E2.0020.0002.2653] # PISCES
+2654  ; [*08E3.0020.0002.2654] # WHITE CHESS KING
+2655  ; [*08E4.0020.0002.2655] # WHITE CHESS QUEEN
+2656  ; [*08E5.0020.0002.2656] # WHITE CHESS ROOK
+2657  ; [*08E6.0020.0002.2657] # WHITE CHESS BISHOP
+2658  ; [*08E7.0020.0002.2658] # WHITE CHESS KNIGHT
+2659  ; [*08E8.0020.0002.2659] # WHITE CHESS PAWN
+265A  ; [*08E9.0020.0002.265A] # BLACK CHESS KING
+265B  ; [*08EA.0020.0002.265B] # BLACK CHESS QUEEN
+265C  ; [*08EB.0020.0002.265C] # BLACK CHESS ROOK
+265D  ; [*08EC.0020.0002.265D] # BLACK CHESS BISHOP
+265E  ; [*08ED.0020.0002.265E] # BLACK CHESS KNIGHT
+265F  ; [*08EE.0020.0002.265F] # BLACK CHESS PAWN
+2660  ; [*08EF.0020.0002.2660] # BLACK SPADE SUIT
+2661  ; [*08F0.0020.0002.2661] # WHITE HEART SUIT
+2662  ; [*08F1.0020.0002.2662] # WHITE DIAMOND SUIT
+2663  ; [*08F2.0020.0002.2663] # BLACK CLUB SUIT
+2664  ; [*08F3.0020.0002.2664] # WHITE SPADE SUIT
+2665  ; [*08F4.0020.0002.2665] # BLACK HEART SUIT
+2666  ; [*08F5.0020.0002.2666] # BLACK DIAMOND SUIT
+2667  ; [*08F6.0020.0002.2667] # WHITE CLUB SUIT
+2668  ; [*08F7.0020.0002.2668] # HOT SPRINGS
+2669  ; [*08F8.0020.0002.2669] # QUARTER NOTE
+266A  ; [*08F9.0020.0002.266A] # EIGHTH NOTE
+266B  ; [*08FA.0020.0002.266B] # BEAMED EIGHTH NOTES
+266C  ; [*08FB.0020.0002.266C] # BEAMED SIXTEENTH NOTES
+266D  ; [*0FEF.0020.0002.266D] # MUSIC FLAT SIGN
+266E  ; [*0FF0.0020.0002.266E] # MUSIC NATURAL SIGN
+266F  ; [*0FF1.0020.0002.266F] # MUSIC SHARP SIGN
+2670  ; [*08FC.0020.0002.2670] # WEST SYRIAC CROSS
+2671  ; [*08FD.0020.0002.2671] # EAST SYRIAC CROSS
+2672  ; [*08FE.0020.0002.2672] # UNIVERSAL RECYCLING SYMBOL
+2673  ; [*08FF.0020.0002.2673] # RECYCLING SYMBOL FOR TYPE-1 PLASTICS
+2674  ; [*0900.0020.0002.2674] # RECYCLING SYMBOL FOR TYPE-2 PLASTICS
+2675  ; [*0901.0020.0002.2675] # RECYCLING SYMBOL FOR TYPE-3 PLASTICS
+2676  ; [*0902.0020.0002.2676] # RECYCLING SYMBOL FOR TYPE-4 PLASTICS
+2677  ; [*0903.0020.0002.2677] # RECYCLING SYMBOL FOR TYPE-5 PLASTICS
+2678  ; [*0904.0020.0002.2678] # RECYCLING SYMBOL FOR TYPE-6 PLASTICS
+2679  ; [*0905.0020.0002.2679] # RECYCLING SYMBOL FOR TYPE-7 PLASTICS
+267A  ; [*0906.0020.0002.267A] # RECYCLING SYMBOL FOR GENERIC MATERIALS
+267B  ; [*0907.0020.0002.267B] # BLACK UNIVERSAL RECYCLING SYMBOL
+267C  ; [*0908.0020.0002.267C] # RECYCLED PAPER SYMBOL
+267D  ; [*0909.0020.0002.267D] # PARTIALLY-RECYCLED PAPER SYMBOL
+267E  ; [*090A.0020.0002.267E] # PERMANENT PAPER SIGN
+267F  ; [*090B.0020.0002.267F] # WHEELCHAIR SYMBOL
+2680  ; [*090C.0020.0002.2680] # DIE FACE-1
+2681  ; [*090D.0020.0002.2681] # DIE FACE-2
+2682  ; [*090E.0020.0002.2682] # DIE FACE-3
+2683  ; [*090F.0020.0002.2683] # DIE FACE-4
+2684  ; [*0910.0020.0002.2684] # DIE FACE-5
+2685  ; [*0911.0020.0002.2685] # DIE FACE-6
+2686  ; [*0912.0020.0002.2686] # WHITE CIRCLE WITH DOT RIGHT
+2687  ; [*0913.0020.0002.2687] # WHITE CIRCLE WITH TWO DOTS
+2688  ; [*0914.0020.0002.2688] # BLACK CIRCLE WITH WHITE DOT RIGHT
+2689  ; [*0915.0020.0002.2689] # BLACK CIRCLE WITH TWO WHITE DOTS
+268A  ; [*0DA3.0020.0002.268A] # MONOGRAM FOR YANG
+268B  ; [*0DA4.0020.0002.268B] # MONOGRAM FOR YIN
+268C  ; [*0DA5.0020.0002.268C] # DIGRAM FOR GREATER YANG
+268D  ; [*0DA6.0020.0002.268D] # DIGRAM FOR LESSER YIN
+268E  ; [*0DA7.0020.0002.268E] # DIGRAM FOR LESSER YANG
+268F  ; [*0DA8.0020.0002.268F] # DIGRAM FOR GREATER YIN
+2690  ; [*0916.0020.0002.2690] # WHITE FLAG
+2691  ; [*0917.0020.0002.2691] # BLACK FLAG
+2692  ; [*0918.0020.0002.2692] # HAMMER AND PICK
+2693  ; [*0919.0020.0002.2693] # ANCHOR
+2694  ; [*091A.0020.0002.2694] # CROSSED SWORDS
+2695  ; [*091B.0020.0002.2695] # STAFF OF AESCULAPIUS
+2696  ; [*091C.0020.0002.2696] # SCALES
+2697  ; [*091D.0020.0002.2697] # ALEMBIC
+2698  ; [*091E.0020.0002.2698] # FLOWER
+2699  ; [*091F.0020.0002.2699] # GEAR
+269A  ; [*0920.0020.0002.269A] # STAFF OF HERMES
+269B  ; [*0921.0020.0002.269B] # ATOM SYMBOL
+269C  ; [*0922.0020.0002.269C] # FLEUR-DE-LIS
+269D  ; [*0923.0020.0002.269D] # OUTLINED WHITE STAR
+269E  ; [*0924.0020.0002.269E] # THREE LINES CONVERGING RIGHT
+269F  ; [*0925.0020.0002.269F] # THREE LINES CONVERGING LEFT
+26A0  ; [*0926.0020.0002.26A0] # WARNING SIGN
+26A1  ; [*0927.0020.0002.26A1] # HIGH VOLTAGE SIGN
+26A2  ; [*0928.0020.0002.26A2] # DOUBLED FEMALE SIGN
+26A3  ; [*0929.0020.0002.26A3] # DOUBLED MALE SIGN
+26A4  ; [*092A.0020.0002.26A4] # INTERLOCKED FEMALE AND MALE SIGN
+26A5  ; [*092B.0020.0002.26A5] # MALE AND FEMALE SIGN
+26A6  ; [*092C.0020.0002.26A6] # MALE WITH STROKE SIGN
+26A7  ; [*092D.0020.0002.26A7] # MALE WITH STROKE AND MALE AND FEMALE SIGN
+26A8  ; [*092E.0020.0002.26A8] # VERTICAL MALE WITH STROKE SIGN
+26A9  ; [*092F.0020.0002.26A9] # HORIZONTAL MALE WITH STROKE SIGN
+26AA  ; [*0930.0020.0002.26AA] # MEDIUM WHITE CIRCLE
+26AB  ; [*0931.0020.0002.26AB] # MEDIUM BLACK CIRCLE
+26AC  ; [*0932.0020.0002.26AC] # MEDIUM SMALL WHITE CIRCLE
+26AD  ; [*0933.0020.0002.26AD] # MARRIAGE SYMBOL
+26AE  ; [*0934.0020.0002.26AE] # DIVORCE SYMBOL
+26AF  ; [*0935.0020.0002.26AF] # UNMARRIED PARTNERSHIP SYMBOL
+26B0  ; [*0936.0020.0002.26B0] # COFFIN
+26B1  ; [*0937.0020.0002.26B1] # FUNERAL URN
+26B2  ; [*0938.0020.0002.26B2] # NEUTER
+26B3  ; [*0939.0020.0002.26B3] # CERES
+26B4  ; [*093A.0020.0002.26B4] # PALLAS
+26B5  ; [*093B.0020.0002.26B5] # JUNO
+26B6  ; [*093C.0020.0002.26B6] # VESTA
+26B7  ; [*093D.0020.0002.26B7] # CHIRON
+26B8  ; [*093E.0020.0002.26B8] # BLACK MOON LILITH
+26B9  ; [*093F.0020.0002.26B9] # SEXTILE
+26BA  ; [*0940.0020.0002.26BA] # SEMISEXTILE
+26BB  ; [*0941.0020.0002.26BB] # QUINCUNX
+26BC  ; [*0942.0020.0002.26BC] # SESQUIQUADRATE
+26BD  ; [*0943.0020.0002.26BD] # SOCCER BALL
+26BE  ; [*0944.0020.0002.26BE] # BASEBALL
+26BF  ; [*0945.0020.0002.26BF] # SQUARED KEY
+26C0  ; [*0946.0020.0002.26C0] # WHITE DRAUGHTS MAN
+26C1  ; [*0947.0020.0002.26C1] # WHITE DRAUGHTS KING
+26C2  ; [*0948.0020.0002.26C2] # BLACK DRAUGHTS MAN
+26C3  ; [*0949.0020.0002.26C3] # BLACK DRAUGHTS KING
+26C4  ; [*094A.0020.0002.26C4] # SNOWMAN WITHOUT SNOW
+26C5  ; [*094B.0020.0002.26C5] # SUN BEHIND CLOUD
+26C6  ; [*094C.0020.0002.26C6] # RAIN
+26C7  ; [*094D.0020.0002.26C7] # BLACK SNOWMAN
+26C8  ; [*094E.0020.0002.26C8] # THUNDER CLOUD AND RAIN
+26C9  ; [*094F.0020.0002.26C9] # TURNED WHITE SHOGI PIECE
+26CA  ; [*0950.0020.0002.26CA] # TURNED BLACK SHOGI PIECE
+26CB  ; [*0951.0020.0002.26CB] # WHITE DIAMOND IN SQUARE
+26CC  ; [*0952.0020.0002.26CC] # CROSSING LANES
+26CD  ; [*0953.0020.0002.26CD] # DISABLED CAR
+26CE  ; [*0954.0020.0002.26CE] # OPHIUCHUS
+26CF  ; [*0955.0020.0002.26CF] # PICK
+26D0  ; [*0956.0020.0002.26D0] # CAR SLIDING
+26D1  ; [*0957.0020.0002.26D1] # HELMET WITH WHITE CROSS
+26D2  ; [*0958.0020.0002.26D2] # CIRCLED CROSSING LANES
+26D3  ; [*0959.0020.0002.26D3] # CHAINS
+26D4  ; [*095A.0020.0002.26D4] # NO ENTRY
+26D5  ; [*095B.0020.0002.26D5] # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
+26D6  ; [*095C.0020.0002.26D6] # BLACK TWO-WAY LEFT WAY TRAFFIC
+26D7  ; [*095D.0020.0002.26D7] # WHITE TWO-WAY LEFT WAY TRAFFIC
+26D8  ; [*095E.0020.0002.26D8] # BLACK LEFT LANE MERGE
+26D9  ; [*095F.0020.0002.26D9] # WHITE LEFT LANE MERGE
+26DA  ; [*0960.0020.0002.26DA] # DRIVE SLOW SIGN
+26DB  ; [*0961.0020.0002.26DB] # HEAVY WHITE DOWN-POINTING TRIANGLE
+26DC  ; [*0962.0020.0002.26DC] # LEFT CLOSED ENTRY
+26DD  ; [*0963.0020.0002.26DD] # SQUARED SALTIRE
+26DE  ; [*0964.0020.0002.26DE] # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
+26DF  ; [*0965.0020.0002.26DF] # BLACK TRUCK
+26E0  ; [*0966.0020.0002.26E0] # RESTRICTED LEFT ENTRY-1
+26E1  ; [*0967.0020.0002.26E1] # RESTRICTED LEFT ENTRY-2
+26E2  ; [*0968.0020.0002.26E2] # ASTRONOMICAL SYMBOL FOR URANUS
+26E3  ; [*0969.0020.0002.26E3] # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
+26E4  ; [*096A.0020.0002.26E4] # PENTAGRAM
+26E5  ; [*096B.0020.0002.26E5] # RIGHT-HANDED INTERLACED PENTAGRAM
+26E6  ; [*096C.0020.0002.26E6] # LEFT-HANDED INTERLACED PENTAGRAM
+26E7  ; [*096D.0020.0002.26E7] # INVERTED PENTAGRAM
+26E8  ; [*096E.0020.0002.26E8] # BLACK CROSS ON SHIELD
+26E9  ; [*096F.0020.0002.26E9] # SHINTO SHRINE
+26EA  ; [*0970.0020.0002.26EA] # CHURCH
+26EB  ; [*0971.0020.0002.26EB] # CASTLE
+26EC  ; [*0972.0020.0002.26EC] # HISTORIC SITE
+26ED  ; [*0973.0020.0002.26ED] # GEAR WITHOUT HUB
+26EE  ; [*0974.0020.0002.26EE] # GEAR WITH HANDLES
+26EF  ; [*0975.0020.0002.26EF] # MAP SYMBOL FOR LIGHTHOUSE
+26F0  ; [*0976.0020.0002.26F0] # MOUNTAIN
+26F1  ; [*0977.0020.0002.26F1] # UMBRELLA ON GROUND
+26F2  ; [*0978.0020.0002.26F2] # FOUNTAIN
+26F3  ; [*0979.0020.0002.26F3] # FLAG IN HOLE
+26F4  ; [*097A.0020.0002.26F4] # FERRY
+26F5  ; [*097B.0020.0002.26F5] # SAILBOAT
+26F6  ; [*097C.0020.0002.26F6] # SQUARE FOUR CORNERS
+26F7  ; [*097D.0020.0002.26F7] # SKIER
+26F8  ; [*097E.0020.0002.26F8] # ICE SKATE
+26F9  ; [*097F.0020.0002.26F9] # PERSON WITH BALL
+26FA  ; [*0980.0020.0002.26FA] # TENT
+26FB  ; [*0981.0020.0002.26FB] # JAPANESE BANK SYMBOL
+26FC  ; [*0982.0020.0002.26FC] # HEADSTONE GRAVEYARD SYMBOL
+26FD  ; [*0983.0020.0002.26FD] # FUEL PUMP
+26FE  ; [*0984.0020.0002.26FE] # CUP ON BLACK SQUARE
+26FF  ; [*0985.0020.0002.26FF] # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+2701  ; [*09A0.0020.0002.2701] # UPPER BLADE SCISSORS
+2702  ; [*09A1.0020.0002.2702] # BLACK SCISSORS
+2703  ; [*09A2.0020.0002.2703] # LOWER BLADE SCISSORS
+2704  ; [*09A3.0020.0002.2704] # WHITE SCISSORS
+2705  ; [*09A4.0020.0002.2705] # WHITE HEAVY CHECK MARK
+2706  ; [*09A5.0020.0002.2706] # TELEPHONE LOCATION SIGN
+2707  ; [*09A6.0020.0002.2707] # TAPE DRIVE
+2708  ; [*09A7.0020.0002.2708] # AIRPLANE
+2709  ; [*09A8.0020.0002.2709] # ENVELOPE
+270A  ; [*09A9.0020.0002.270A] # RAISED FIST
+270B  ; [*09AA.0020.0002.270B] # RAISED HAND
+270C  ; [*09AB.0020.0002.270C] # VICTORY HAND
+270D  ; [*09AC.0020.0002.270D] # WRITING HAND
+270E  ; [*09AD.0020.0002.270E] # LOWER RIGHT PENCIL
+270F  ; [*09AE.0020.0002.270F] # PENCIL
+2710  ; [*09AF.0020.0002.2710] # UPPER RIGHT PENCIL
+2711  ; [*09B0.0020.0002.2711] # WHITE NIB
+2712  ; [*09B1.0020.0002.2712] # BLACK NIB
+2713  ; [*09B2.0020.0002.2713] # CHECK MARK
+2714  ; [*09B3.0020.0002.2714] # HEAVY CHECK MARK
+2715  ; [*09B4.0020.0002.2715] # MULTIPLICATION X
+2716  ; [*09B5.0020.0002.2716] # HEAVY MULTIPLICATION X
+2717  ; [*09B6.0020.0002.2717] # BALLOT X
+2718  ; [*09B7.0020.0002.2718] # HEAVY BALLOT X
+2719  ; [*09B8.0020.0002.2719] # OUTLINED GREEK CROSS
+271A  ; [*09B9.0020.0002.271A] # HEAVY GREEK CROSS
+271B  ; [*09BA.0020.0002.271B] # OPEN CENTRE CROSS
+271C  ; [*09BB.0020.0002.271C] # HEAVY OPEN CENTRE CROSS
+271D  ; [*09BC.0020.0002.271D] # LATIN CROSS
+271E  ; [*09BD.0020.0002.271E] # SHADOWED WHITE LATIN CROSS
+271F  ; [*09BE.0020.0002.271F] # OUTLINED LATIN CROSS
+2720  ; [*09BF.0020.0002.2720] # MALTESE CROSS
+2721  ; [*09C0.0020.0002.2721] # STAR OF DAVID
+2722  ; [*09C1.0020.0002.2722] # FOUR TEARDROP-SPOKED ASTERISK
+2723  ; [*09C2.0020.0002.2723] # FOUR BALLOON-SPOKED ASTERISK
+2724  ; [*09C3.0020.0002.2724] # HEAVY FOUR BALLOON-SPOKED ASTERISK
+2725  ; [*09C4.0020.0002.2725] # FOUR CLUB-SPOKED ASTERISK
+2726  ; [*09C5.0020.0002.2726] # BLACK FOUR POINTED STAR
+2727  ; [*09C6.0020.0002.2727] # WHITE FOUR POINTED STAR
+2728  ; [*09C7.0020.0002.2728] # SPARKLES
+2729  ; [*09C8.0020.0002.2729] # STRESS OUTLINED WHITE STAR
+272A  ; [*09C9.0020.0002.272A] # CIRCLED WHITE STAR
+272B  ; [*09CA.0020.0002.272B] # OPEN CENTRE BLACK STAR
+272C  ; [*09CB.0020.0002.272C] # BLACK CENTRE WHITE STAR
+272D  ; [*09CC.0020.0002.272D] # OUTLINED BLACK STAR
+272E  ; [*09CD.0020.0002.272E] # HEAVY OUTLINED BLACK STAR
+272F  ; [*09CE.0020.0002.272F] # PINWHEEL STAR
+2730  ; [*09CF.0020.0002.2730] # SHADOWED WHITE STAR
+2731  ; [*09D0.0020.0002.2731] # HEAVY ASTERISK
+2732  ; [*09D1.0020.0002.2732] # OPEN CENTRE ASTERISK
+2733  ; [*09D2.0020.0002.2733] # EIGHT SPOKED ASTERISK
+2734  ; [*09D3.0020.0002.2734] # EIGHT POINTED BLACK STAR
+2735  ; [*09D4.0020.0002.2735] # EIGHT POINTED PINWHEEL STAR
+2736  ; [*09D5.0020.0002.2736] # SIX POINTED BLACK STAR
+2737  ; [*09D6.0020.0002.2737] # EIGHT POINTED RECTILINEAR BLACK STAR
+2738  ; [*09D7.0020.0002.2738] # HEAVY EIGHT POINTED RECTILINEAR BLACK STAR
+2739  ; [*09D8.0020.0002.2739] # TWELVE POINTED BLACK STAR
+273A  ; [*09D9.0020.0002.273A] # SIXTEEN POINTED ASTERISK
+273B  ; [*09DA.0020.0002.273B] # TEARDROP-SPOKED ASTERISK
+273C  ; [*09DB.0020.0002.273C] # OPEN CENTRE TEARDROP-SPOKED ASTERISK
+273D  ; [*09DC.0020.0002.273D] # HEAVY TEARDROP-SPOKED ASTERISK
+273E  ; [*09DD.0020.0002.273E] # SIX PETALLED BLACK AND WHITE FLORETTE
+273F  ; [*09DE.0020.0002.273F] # BLACK FLORETTE
+2740  ; [*09DF.0020.0002.2740] # WHITE FLORETTE
+2741  ; [*09E0.0020.0002.2741] # EIGHT PETALLED OUTLINED BLACK FLORETTE
+2742  ; [*09E1.0020.0002.2742] # CIRCLED OPEN CENTRE EIGHT POINTED STAR
+2743  ; [*09E2.0020.0002.2743] # HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
+2744  ; [*09E3.0020.0002.2744] # SNOWFLAKE
+2745  ; [*09E4.0020.0002.2745] # TIGHT TRIFOLIATE SNOWFLAKE
+2746  ; [*09E5.0020.0002.2746] # HEAVY CHEVRON SNOWFLAKE
+2747  ; [*09E6.0020.0002.2747] # SPARKLE
+2748  ; [*09E7.0020.0002.2748] # HEAVY SPARKLE
+2749  ; [*09E8.0020.0002.2749] # BALLOON-SPOKED ASTERISK
+274A  ; [*09E9.0020.0002.274A] # EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274B  ; [*09EA.0020.0002.274B] # HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK
+274C  ; [*09EB.0020.0002.274C] # CROSS MARK
+274D  ; [*09EC.0020.0002.274D] # SHADOWED WHITE CIRCLE
+274E  ; [*09ED.0020.0002.274E] # NEGATIVE SQUARED CROSS MARK
+274F  ; [*09EE.0020.0002.274F] # LOWER RIGHT DROP-SHADOWED WHITE SQUARE
+2750  ; [*09EF.0020.0002.2750] # UPPER RIGHT DROP-SHADOWED WHITE SQUARE
+2751  ; [*09F0.0020.0002.2751] # LOWER RIGHT SHADOWED WHITE SQUARE
+2752  ; [*09F1.0020.0002.2752] # UPPER RIGHT SHADOWED WHITE SQUARE
+2753  ; [*09F2.0020.0002.2753] # BLACK QUESTION MARK ORNAMENT
+2754  ; [*09F3.0020.0002.2754] # WHITE QUESTION MARK ORNAMENT
+2755  ; [*09F4.0020.0002.2755] # WHITE EXCLAMATION MARK ORNAMENT
+2756  ; [*09F5.0020.0002.2756] # BLACK DIAMOND MINUS WHITE X
+2757  ; [*09F6.0020.0002.2757] # HEAVY EXCLAMATION MARK SYMBOL
+2758  ; [*09F7.0020.0002.2758] # LIGHT VERTICAL BAR
+2759  ; [*09F8.0020.0002.2759] # MEDIUM VERTICAL BAR
+275A  ; [*09F9.0020.0002.275A] # HEAVY VERTICAL BAR
+275B  ; [*09FA.0020.0002.275B] # HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT
+275C  ; [*09FB.0020.0002.275C] # HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT
+275D  ; [*09FC.0020.0002.275D] # HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT
+275E  ; [*09FD.0020.0002.275E] # HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT
+275F  ; [*09FE.0020.0002.275F] # HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT
+2760  ; [*09FF.0020.0002.2760] # HEAVY LOW DOUBLE COMMA QUOTATION MARK ORNAMENT
+2761  ; [*0A00.0020.0002.2761] # CURVED STEM PARAGRAPH SIGN ORNAMENT
+2762  ; [*0A01.0020.0002.2762] # HEAVY EXCLAMATION MARK ORNAMENT
+2763  ; [*0A02.0020.0002.2763] # HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764  ; [*0A03.0020.0002.2764] # HEAVY BLACK HEART
+2765  ; [*0A04.0020.0002.2765] # ROTATED HEAVY BLACK HEART BULLET
+2766  ; [*0A05.0020.0002.2766] # FLORAL HEART
+2767  ; [*0A06.0020.0002.2767] # ROTATED FLORAL HEART BULLET
+2768  ; [*032D.0020.0002.2768] # MEDIUM LEFT PARENTHESIS ORNAMENT
+2769  ; [*032E.0020.0002.2769] # MEDIUM RIGHT PARENTHESIS ORNAMENT
+276A  ; [*032F.0020.0002.276A] # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
+276B  ; [*0330.0020.0002.276B] # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
+276C  ; [*0331.0020.0002.276C] # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
+276D  ; [*0332.0020.0002.276D] # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
+276E  ; [*0333.0020.0002.276E] # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
+276F  ; [*0334.0020.0002.276F] # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
+2770  ; [*0335.0020.0002.2770] # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
+2771  ; [*0336.0020.0002.2771] # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
+2772  ; [*0337.0020.0002.2772] # LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
+2773  ; [*0338.0020.0002.2773] # LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
+2774  ; [*0339.0020.0002.2774] # MEDIUM LEFT CURLY BRACKET ORNAMENT
+2775  ; [*033A.0020.0002.2775] # MEDIUM RIGHT CURLY BRACKET ORNAMENT
+2794  ; [*0A07.0020.0002.2794] # HEAVY WIDE-HEADED RIGHTWARDS ARROW
+2795  ; [*0A08.0020.0002.2795] # HEAVY PLUS SIGN
+2796  ; [*0A09.0020.0002.2796] # HEAVY MINUS SIGN
+2797  ; [*0A0A.0020.0002.2797] # HEAVY DIVISION SIGN
+2798  ; [*0A0B.0020.0002.2798] # HEAVY SOUTH EAST ARROW
+2799  ; [*0A0C.0020.0002.2799] # HEAVY RIGHTWARDS ARROW
+279A  ; [*0A0D.0020.0002.279A] # HEAVY NORTH EAST ARROW
+279B  ; [*0A0E.0020.0002.279B] # DRAFTING POINT RIGHTWARDS ARROW
+279C  ; [*0A0F.0020.0002.279C] # HEAVY ROUND-TIPPED RIGHTWARDS ARROW
+279D  ; [*0A10.0020.0002.279D] # TRIANGLE-HEADED RIGHTWARDS ARROW
+279E  ; [*0A11.0020.0002.279E] # HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW
+279F  ; [*0A12.0020.0002.279F] # DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A0  ; [*0A13.0020.0002.27A0] # HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW
+27A1  ; [*0A14.0020.0002.27A1] # BLACK RIGHTWARDS ARROW
+27A2  ; [*0A15.0020.0002.27A2] # THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
+27A3  ; [*0A16.0020.0002.27A3] # THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
+27A4  ; [*0A17.0020.0002.27A4] # BLACK RIGHTWARDS ARROWHEAD
+27A5  ; [*0A18.0020.0002.27A5] # HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW
+27A6  ; [*0A19.0020.0002.27A6] # HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW
+27A7  ; [*0A1A.0020.0002.27A7] # SQUAT BLACK RIGHTWARDS ARROW
+27A8  ; [*0A1B.0020.0002.27A8] # HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW
+27A9  ; [*0A1C.0020.0002.27A9] # RIGHT-SHADED WHITE RIGHTWARDS ARROW
+27AA  ; [*0A1D.0020.0002.27AA] # LEFT-SHADED WHITE RIGHTWARDS ARROW
+27AB  ; [*0A1E.0020.0002.27AB] # BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AC  ; [*0A1F.0020.0002.27AC] # FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW
+27AD  ; [*0A20.0020.0002.27AD] # HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AE  ; [*0A21.0020.0002.27AE] # HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27AF  ; [*0A22.0020.0002.27AF] # NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B0  ; [*0A23.0020.0002.27B0] # CURLY LOOP
+27B1  ; [*0A24.0020.0002.27B1] # NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW
+27B2  ; [*0A25.0020.0002.27B2] # CIRCLED HEAVY WHITE RIGHTWARDS ARROW
+27B3  ; [*0A26.0020.0002.27B3] # WHITE-FEATHERED RIGHTWARDS ARROW
+27B4  ; [*0A27.0020.0002.27B4] # BLACK-FEATHERED SOUTH EAST ARROW
+27B5  ; [*0A28.0020.0002.27B5] # BLACK-FEATHERED RIGHTWARDS ARROW
+27B6  ; [*0A29.0020.0002.27B6] # BLACK-FEATHERED NORTH EAST ARROW
+27B7  ; [*0A2A.0020.0002.27B7] # HEAVY BLACK-FEATHERED SOUTH EAST ARROW
+27B8  ; [*0A2B.0020.0002.27B8] # HEAVY BLACK-FEATHERED RIGHTWARDS ARROW
+27B9  ; [*0A2C.0020.0002.27B9] # HEAVY BLACK-FEATHERED NORTH EAST ARROW
+27BA  ; [*0A2D.0020.0002.27BA] # TEARDROP-BARBED RIGHTWARDS ARROW
+27BB  ; [*0A2E.0020.0002.27BB] # HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW
+27BC  ; [*0A2F.0020.0002.27BC] # WEDGE-TAILED RIGHTWARDS ARROW
+27BD  ; [*0A30.0020.0002.27BD] # HEAVY WEDGE-TAILED RIGHTWARDS ARROW
+27BE  ; [*0A31.0020.0002.27BE] # OPEN-OUTLINED RIGHTWARDS ARROW
+27BF  ; [*0A32.0020.0002.27BF] # DOUBLE CURLY LOOP
+27C0  ; [*0A33.0020.0002.27C0] # THREE DIMENSIONAL ANGLE
+27C1  ; [*0A34.0020.0002.27C1] # WHITE TRIANGLE CONTAINING SMALL WHITE TRIANGLE
+27C2  ; [*0A35.0020.0002.27C2] # PERPENDICULAR
+27C3  ; [*0A36.0020.0002.27C3] # OPEN SUBSET
+27C4  ; [*0A37.0020.0002.27C4] # OPEN SUPERSET
+27C5  ; [*0321.0020.0002.27C5] # LEFT S-SHAPED BAG DELIMITER
+27C6  ; [*0322.0020.0002.27C6] # RIGHT S-SHAPED BAG DELIMITER
+27C7  ; [*0A38.0020.0002.27C7] # OR WITH DOT INSIDE
+27C8  ; [*0A39.0020.0002.27C8] # REVERSE SOLIDUS PRECEDING SUBSET
+27C9  ; [*0A3A.0020.0002.27C9] # SUPERSET PRECEDING SOLIDUS
+27CA  ; [*0A3B.0020.0002.27CA] # VERTICAL BAR WITH HORIZONTAL STROKE
+27CB  ; [*0A3C.0020.0002.27CB] # MATHEMATICAL RISING DIAGONAL
+27CC  ; [*0A3D.0020.0002.27CC] # LONG DIVISION
+27CD  ; [*0A3E.0020.0002.27CD] # MATHEMATICAL FALLING DIAGONAL
+27CE  ; [*0A3F.0020.0002.27CE] # SQUARED LOGICAL AND
+27CF  ; [*0A40.0020.0002.27CF] # SQUARED LOGICAL OR
+27D0  ; [*0A41.0020.0002.27D0] # WHITE DIAMOND WITH CENTRED DOT
+27D1  ; [*0A42.0020.0002.27D1] # AND WITH DOT
+27D2  ; [*0A43.0020.0002.27D2] # ELEMENT OF OPENING UPWARDS
+27D3  ; [*0A44.0020.0002.27D3] # LOWER RIGHT CORNER WITH DOT
+27D4  ; [*0A45.0020.0002.27D4] # UPPER LEFT CORNER WITH DOT
+27D5  ; [*0A46.0020.0002.27D5] # LEFT OUTER JOIN
+27D6  ; [*0A47.0020.0002.27D6] # RIGHT OUTER JOIN
+27D7  ; [*0A48.0020.0002.27D7] # FULL OUTER JOIN
+27D8  ; [*0A49.0020.0002.27D8] # LARGE UP TACK
+27D9  ; [*0A4A.0020.0002.27D9] # LARGE DOWN TACK
+27DA  ; [*0A4B.0020.0002.27DA] # LEFT AND RIGHT DOUBLE TURNSTILE
+27DB  ; [*0A4C.0020.0002.27DB] # LEFT AND RIGHT TACK
+27DC  ; [*0A4D.0020.0002.27DC] # LEFT MULTIMAP
+27DD  ; [*0A4E.0020.0002.27DD] # LONG RIGHT TACK
+27DE  ; [*0A4F.0020.0002.27DE] # LONG LEFT TACK
+27DF  ; [*0A50.0020.0002.27DF] # UP TACK WITH CIRCLE ABOVE
+27E0  ; [*0A51.0020.0002.27E0] # LOZENGE DIVIDED BY HORIZONTAL RULE
+27E1  ; [*0A52.0020.0002.27E1] # WHITE CONCAVE-SIDED DIAMOND
+27E2  ; [*0A53.0020.0002.27E2] # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
+27E3  ; [*0A54.0020.0002.27E3] # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
+27E4  ; [*0A55.0020.0002.27E4] # WHITE SQUARE WITH LEFTWARDS TICK
+27E5  ; [*0A56.0020.0002.27E5] # WHITE SQUARE WITH RIGHTWARDS TICK
+27E6  ; [*0323.0020.0002.27E6] # MATHEMATICAL LEFT WHITE SQUARE BRACKET
+27E7  ; [*0324.0020.0002.27E7] # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
+27E8  ; [*0325.0020.0002.27E8] # MATHEMATICAL LEFT ANGLE BRACKET
+27E9  ; [*0326.0020.0002.27E9] # MATHEMATICAL RIGHT ANGLE BRACKET
+27EA  ; [*0327.0020.0002.27EA] # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
+27EB  ; [*0328.0020.0002.27EB] # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
+27EC  ; [*0329.0020.0002.27EC] # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
+27ED  ; [*032A.0020.0002.27ED] # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
+27EE  ; [*032B.0020.0002.27EE] # MATHEMATICAL LEFT FLATTENED PARENTHESIS
+27EF  ; [*032C.0020.0002.27EF] # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
+27F0  ; [*0A57.0020.0002.27F0] # UPWARDS QUADRUPLE ARROW
+27F1  ; [*0A58.0020.0002.27F1] # DOWNWARDS QUADRUPLE ARROW
+27F2  ; [*0A59.0020.0002.27F2] # ANTICLOCKWISE GAPPED CIRCLE ARROW
+27F3  ; [*0A5A.0020.0002.27F3] # CLOCKWISE GAPPED CIRCLE ARROW
+27F4  ; [*0A5B.0020.0002.27F4] # RIGHT ARROW WITH CIRCLED PLUS
+27F5  ; [*0A5C.0020.0002.27F5] # LONG LEFTWARDS ARROW
+27F6  ; [*0A5D.0020.0002.27F6] # LONG RIGHTWARDS ARROW
+27F7  ; [*0A5E.0020.0002.27F7] # LONG LEFT RIGHT ARROW
+27F8  ; [*0A5F.0020.0002.27F8] # LONG LEFTWARDS DOUBLE ARROW
+27F9  ; [*0A60.0020.0002.27F9] # LONG RIGHTWARDS DOUBLE ARROW
+27FA  ; [*0A61.0020.0002.27FA] # LONG LEFT RIGHT DOUBLE ARROW
+27FB  ; [*0A62.0020.0002.27FB] # LONG LEFTWARDS ARROW FROM BAR
+27FC  ; [*0A63.0020.0002.27FC] # LONG RIGHTWARDS ARROW FROM BAR
+27FD  ; [*0A64.0020.0002.27FD] # LONG LEFTWARDS DOUBLE ARROW FROM BAR
+27FE  ; [*0A65.0020.0002.27FE] # LONG RIGHTWARDS DOUBLE ARROW FROM BAR
+27FF  ; [*0A66.0020.0002.27FF] # LONG RIGHTWARDS SQUIGGLE ARROW
+2800  ; [*0CA3.0020.0002.2800] # BRAILLE PATTERN BLANK
+2801  ; [*0CA4.0020.0002.2801] # BRAILLE PATTERN DOTS-1
+2802  ; [*0CA5.0020.0002.2802] # BRAILLE PATTERN DOTS-2
+2803  ; [*0CA6.0020.0002.2803] # BRAILLE PATTERN DOTS-12
+2804  ; [*0CA7.0020.0002.2804] # BRAILLE PATTERN DOTS-3
+2805  ; [*0CA8.0020.0002.2805] # BRAILLE PATTERN DOTS-13
+2806  ; [*0CA9.0020.0002.2806] # BRAILLE PATTERN DOTS-23
+2807  ; [*0CAA.0020.0002.2807] # BRAILLE PATTERN DOTS-123
+2808  ; [*0CAB.0020.0002.2808] # BRAILLE PATTERN DOTS-4
+2809  ; [*0CAC.0020.0002.2809] # BRAILLE PATTERN DOTS-14
+280A  ; [*0CAD.0020.0002.280A] # BRAILLE PATTERN DOTS-24
+280B  ; [*0CAE.0020.0002.280B] # BRAILLE PATTERN DOTS-124
+280C  ; [*0CAF.0020.0002.280C] # BRAILLE PATTERN DOTS-34
+280D  ; [*0CB0.0020.0002.280D] # BRAILLE PATTERN DOTS-134
+280E  ; [*0CB1.0020.0002.280E] # BRAILLE PATTERN DOTS-234
+280F  ; [*0CB2.0020.0002.280F] # BRAILLE PATTERN DOTS-1234
+2810  ; [*0CB3.0020.0002.2810] # BRAILLE PATTERN DOTS-5
+2811  ; [*0CB4.0020.0002.2811] # BRAILLE PATTERN DOTS-15
+2812  ; [*0CB5.0020.0002.2812] # BRAILLE PATTERN DOTS-25
+2813  ; [*0CB6.0020.0002.2813] # BRAILLE PATTERN DOTS-125
+2814  ; [*0CB7.0020.0002.2814] # BRAILLE PATTERN DOTS-35
+2815  ; [*0CB8.0020.0002.2815] # BRAILLE PATTERN DOTS-135
+2816  ; [*0CB9.0020.0002.2816] # BRAILLE PATTERN DOTS-235
+2817  ; [*0CBA.0020.0002.2817] # BRAILLE PATTERN DOTS-1235
+2818  ; [*0CBB.0020.0002.2818] # BRAILLE PATTERN DOTS-45
+2819  ; [*0CBC.0020.0002.2819] # BRAILLE PATTERN DOTS-145
+281A  ; [*0CBD.0020.0002.281A] # BRAILLE PATTERN DOTS-245
+281B  ; [*0CBE.0020.0002.281B] # BRAILLE PATTERN DOTS-1245
+281C  ; [*0CBF.0020.0002.281C] # BRAILLE PATTERN DOTS-345
+281D  ; [*0CC0.0020.0002.281D] # BRAILLE PATTERN DOTS-1345
+281E  ; [*0CC1.0020.0002.281E] # BRAILLE PATTERN DOTS-2345
+281F  ; [*0CC2.0020.0002.281F] # BRAILLE PATTERN DOTS-12345
+2820  ; [*0CC3.0020.0002.2820] # BRAILLE PATTERN DOTS-6
+2821  ; [*0CC4.0020.0002.2821] # BRAILLE PATTERN DOTS-16
+2822  ; [*0CC5.0020.0002.2822] # BRAILLE PATTERN DOTS-26
+2823  ; [*0CC6.0020.0002.2823] # BRAILLE PATTERN DOTS-126
+2824  ; [*0CC7.0020.0002.2824] # BRAILLE PATTERN DOTS-36
+2825  ; [*0CC8.0020.0002.2825] # BRAILLE PATTERN DOTS-136
+2826  ; [*0CC9.0020.0002.2826] # BRAILLE PATTERN DOTS-236
+2827  ; [*0CCA.0020.0002.2827] # BRAILLE PATTERN DOTS-1236
+2828  ; [*0CCB.0020.0002.2828] # BRAILLE PATTERN DOTS-46
+2829  ; [*0CCC.0020.0002.2829] # BRAILLE PATTERN DOTS-146
+282A  ; [*0CCD.0020.0002.282A] # BRAILLE PATTERN DOTS-246
+282B  ; [*0CCE.0020.0002.282B] # BRAILLE PATTERN DOTS-1246
+282C  ; [*0CCF.0020.0002.282C] # BRAILLE PATTERN DOTS-346
+282D  ; [*0CD0.0020.0002.282D] # BRAILLE PATTERN DOTS-1346
+282E  ; [*0CD1.0020.0002.282E] # BRAILLE PATTERN DOTS-2346
+282F  ; [*0CD2.0020.0002.282F] # BRAILLE PATTERN DOTS-12346
+2830  ; [*0CD3.0020.0002.2830] # BRAILLE PATTERN DOTS-56
+2831  ; [*0CD4.0020.0002.2831] # BRAILLE PATTERN DOTS-156
+2832  ; [*0CD5.0020.0002.2832] # BRAILLE PATTERN DOTS-256
+2833  ; [*0CD6.0020.0002.2833] # BRAILLE PATTERN DOTS-1256
+2834  ; [*0CD7.0020.0002.2834] # BRAILLE PATTERN DOTS-356
+2835  ; [*0CD8.0020.0002.2835] # BRAILLE PATTERN DOTS-1356
+2836  ; [*0CD9.0020.0002.2836] # BRAILLE PATTERN DOTS-2356
+2837  ; [*0CDA.0020.0002.2837] # BRAILLE PATTERN DOTS-12356
+2838  ; [*0CDB.0020.0002.2838] # BRAILLE PATTERN DOTS-456
+2839  ; [*0CDC.0020.0002.2839] # BRAILLE PATTERN DOTS-1456
+283A  ; [*0CDD.0020.0002.283A] # BRAILLE PATTERN DOTS-2456
+283B  ; [*0CDE.0020.0002.283B] # BRAILLE PATTERN DOTS-12456
+283C  ; [*0CDF.0020.0002.283C] # BRAILLE PATTERN DOTS-3456
+283D  ; [*0CE0.0020.0002.283D] # BRAILLE PATTERN DOTS-13456
+283E  ; [*0CE1.0020.0002.283E] # BRAILLE PATTERN DOTS-23456
+283F  ; [*0CE2.0020.0002.283F] # BRAILLE PATTERN DOTS-123456
+2840  ; [*0CE3.0020.0002.2840] # BRAILLE PATTERN DOTS-7
+2841  ; [*0CE4.0020.0002.2841] # BRAILLE PATTERN DOTS-17
+2842  ; [*0CE5.0020.0002.2842] # BRAILLE PATTERN DOTS-27
+2843  ; [*0CE6.0020.0002.2843] # BRAILLE PATTERN DOTS-127
+2844  ; [*0CE7.0020.0002.2844] # BRAILLE PATTERN DOTS-37
+2845  ; [*0CE8.0020.0002.2845] # BRAILLE PATTERN DOTS-137
+2846  ; [*0CE9.0020.0002.2846] # BRAILLE PATTERN DOTS-237
+2847  ; [*0CEA.0020.0002.2847] # BRAILLE PATTERN DOTS-1237
+2848  ; [*0CEB.0020.0002.2848] # BRAILLE PATTERN DOTS-47
+2849  ; [*0CEC.0020.0002.2849] # BRAILLE PATTERN DOTS-147
+284A  ; [*0CED.0020.0002.284A] # BRAILLE PATTERN DOTS-247
+284B  ; [*0CEE.0020.0002.284B] # BRAILLE PATTERN DOTS-1247
+284C  ; [*0CEF.0020.0002.284C] # BRAILLE PATTERN DOTS-347
+284D  ; [*0CF0.0020.0002.284D] # BRAILLE PATTERN DOTS-1347
+284E  ; [*0CF1.0020.0002.284E] # BRAILLE PATTERN DOTS-2347
+284F  ; [*0CF2.0020.0002.284F] # BRAILLE PATTERN DOTS-12347
+2850  ; [*0CF3.0020.0002.2850] # BRAILLE PATTERN DOTS-57
+2851  ; [*0CF4.0020.0002.2851] # BRAILLE PATTERN DOTS-157
+2852  ; [*0CF5.0020.0002.2852] # BRAILLE PATTERN DOTS-257
+2853  ; [*0CF6.0020.0002.2853] # BRAILLE PATTERN DOTS-1257
+2854  ; [*0CF7.0020.0002.2854] # BRAILLE PATTERN DOTS-357
+2855  ; [*0CF8.0020.0002.2855] # BRAILLE PATTERN DOTS-1357
+2856  ; [*0CF9.0020.0002.2856] # BRAILLE PATTERN DOTS-2357
+2857  ; [*0CFA.0020.0002.2857] # BRAILLE PATTERN DOTS-12357
+2858  ; [*0CFB.0020.0002.2858] # BRAILLE PATTERN DOTS-457
+2859  ; [*0CFC.0020.0002.2859] # BRAILLE PATTERN DOTS-1457
+285A  ; [*0CFD.0020.0002.285A] # BRAILLE PATTERN DOTS-2457
+285B  ; [*0CFE.0020.0002.285B] # BRAILLE PATTERN DOTS-12457
+285C  ; [*0CFF.0020.0002.285C] # BRAILLE PATTERN DOTS-3457
+285D  ; [*0D00.0020.0002.285D] # BRAILLE PATTERN DOTS-13457
+285E  ; [*0D01.0020.0002.285E] # BRAILLE PATTERN DOTS-23457
+285F  ; [*0D02.0020.0002.285F] # BRAILLE PATTERN DOTS-123457
+2860  ; [*0D03.0020.0002.2860] # BRAILLE PATTERN DOTS-67
+2861  ; [*0D04.0020.0002.2861] # BRAILLE PATTERN DOTS-167
+2862  ; [*0D05.0020.0002.2862] # BRAILLE PATTERN DOTS-267
+2863  ; [*0D06.0020.0002.2863] # BRAILLE PATTERN DOTS-1267
+2864  ; [*0D07.0020.0002.2864] # BRAILLE PATTERN DOTS-367
+2865  ; [*0D08.0020.0002.2865] # BRAILLE PATTERN DOTS-1367
+2866  ; [*0D09.0020.0002.2866] # BRAILLE PATTERN DOTS-2367
+2867  ; [*0D0A.0020.0002.2867] # BRAILLE PATTERN DOTS-12367
+2868  ; [*0D0B.0020.0002.2868] # BRAILLE PATTERN DOTS-467
+2869  ; [*0D0C.0020.0002.2869] # BRAILLE PATTERN DOTS-1467
+286A  ; [*0D0D.0020.0002.286A] # BRAILLE PATTERN DOTS-2467
+286B  ; [*0D0E.0020.0002.286B] # BRAILLE PATTERN DOTS-12467
+286C  ; [*0D0F.0020.0002.286C] # BRAILLE PATTERN DOTS-3467
+286D  ; [*0D10.0020.0002.286D] # BRAILLE PATTERN DOTS-13467
+286E  ; [*0D11.0020.0002.286E] # BRAILLE PATTERN DOTS-23467
+286F  ; [*0D12.0020.0002.286F] # BRAILLE PATTERN DOTS-123467
+2870  ; [*0D13.0020.0002.2870] # BRAILLE PATTERN DOTS-567
+2871  ; [*0D14.0020.0002.2871] # BRAILLE PATTERN DOTS-1567
+2872  ; [*0D15.0020.0002.2872] # BRAILLE PATTERN DOTS-2567
+2873  ; [*0D16.0020.0002.2873] # BRAILLE PATTERN DOTS-12567
+2874  ; [*0D17.0020.0002.2874] # BRAILLE PATTERN DOTS-3567
+2875  ; [*0D18.0020.0002.2875] # BRAILLE PATTERN DOTS-13567
+2876  ; [*0D19.0020.0002.2876] # BRAILLE PATTERN DOTS-23567
+2877  ; [*0D1A.0020.0002.2877] # BRAILLE PATTERN DOTS-123567
+2878  ; [*0D1B.0020.0002.2878] # BRAILLE PATTERN DOTS-4567
+2879  ; [*0D1C.0020.0002.2879] # BRAILLE PATTERN DOTS-14567
+287A  ; [*0D1D.0020.0002.287A] # BRAILLE PATTERN DOTS-24567
+287B  ; [*0D1E.0020.0002.287B] # BRAILLE PATTERN DOTS-124567
+287C  ; [*0D1F.0020.0002.287C] # BRAILLE PATTERN DOTS-34567
+287D  ; [*0D20.0020.0002.287D] # BRAILLE PATTERN DOTS-134567
+287E  ; [*0D21.0020.0002.287E] # BRAILLE PATTERN DOTS-234567
+287F  ; [*0D22.0020.0002.287F] # BRAILLE PATTERN DOTS-1234567
+2880  ; [*0D23.0020.0002.2880] # BRAILLE PATTERN DOTS-8
+2881  ; [*0D24.0020.0002.2881] # BRAILLE PATTERN DOTS-18
+2882  ; [*0D25.0020.0002.2882] # BRAILLE PATTERN DOTS-28
+2883  ; [*0D26.0020.0002.2883] # BRAILLE PATTERN DOTS-128
+2884  ; [*0D27.0020.0002.2884] # BRAILLE PATTERN DOTS-38
+2885  ; [*0D28.0020.0002.2885] # BRAILLE PATTERN DOTS-138
+2886  ; [*0D29.0020.0002.2886] # BRAILLE PATTERN DOTS-238
+2887  ; [*0D2A.0020.0002.2887] # BRAILLE PATTERN DOTS-1238
+2888  ; [*0D2B.0020.0002.2888] # BRAILLE PATTERN DOTS-48
+2889  ; [*0D2C.0020.0002.2889] # BRAILLE PATTERN DOTS-148
+288A  ; [*0D2D.0020.0002.288A] # BRAILLE PATTERN DOTS-248
+288B  ; [*0D2E.0020.0002.288B] # BRAILLE PATTERN DOTS-1248
+288C  ; [*0D2F.0020.0002.288C] # BRAILLE PATTERN DOTS-348
+288D  ; [*0D30.0020.0002.288D] # BRAILLE PATTERN DOTS-1348
+288E  ; [*0D31.0020.0002.288E] # BRAILLE PATTERN DOTS-2348
+288F  ; [*0D32.0020.0002.288F] # BRAILLE PATTERN DOTS-12348
+2890  ; [*0D33.0020.0002.2890] # BRAILLE PATTERN DOTS-58
+2891  ; [*0D34.0020.0002.2891] # BRAILLE PATTERN DOTS-158
+2892  ; [*0D35.0020.0002.2892] # BRAILLE PATTERN DOTS-258
+2893  ; [*0D36.0020.0002.2893] # BRAILLE PATTERN DOTS-1258
+2894  ; [*0D37.0020.0002.2894] # BRAILLE PATTERN DOTS-358
+2895  ; [*0D38.0020.0002.2895] # BRAILLE PATTERN DOTS-1358
+2896  ; [*0D39.0020.0002.2896] # BRAILLE PATTERN DOTS-2358
+2897  ; [*0D3A.0020.0002.2897] # BRAILLE PATTERN DOTS-12358
+2898  ; [*0D3B.0020.0002.2898] # BRAILLE PATTERN DOTS-458
+2899  ; [*0D3C.0020.0002.2899] # BRAILLE PATTERN DOTS-1458
+289A  ; [*0D3D.0020.0002.289A] # BRAILLE PATTERN DOTS-2458
+289B  ; [*0D3E.0020.0002.289B] # BRAILLE PATTERN DOTS-12458
+289C  ; [*0D3F.0020.0002.289C] # BRAILLE PATTERN DOTS-3458
+289D  ; [*0D40.0020.0002.289D] # BRAILLE PATTERN DOTS-13458
+289E  ; [*0D41.0020.0002.289E] # BRAILLE PATTERN DOTS-23458
+289F  ; [*0D42.0020.0002.289F] # BRAILLE PATTERN DOTS-123458
+28A0  ; [*0D43.0020.0002.28A0] # BRAILLE PATTERN DOTS-68
+28A1  ; [*0D44.0020.0002.28A1] # BRAILLE PATTERN DOTS-168
+28A2  ; [*0D45.0020.0002.28A2] # BRAILLE PATTERN DOTS-268
+28A3  ; [*0D46.0020.0002.28A3] # BRAILLE PATTERN DOTS-1268
+28A4  ; [*0D47.0020.0002.28A4] # BRAILLE PATTERN DOTS-368
+28A5  ; [*0D48.0020.0002.28A5] # BRAILLE PATTERN DOTS-1368
+28A6  ; [*0D49.0020.0002.28A6] # BRAILLE PATTERN DOTS-2368
+28A7  ; [*0D4A.0020.0002.28A7] # BRAILLE PATTERN DOTS-12368
+28A8  ; [*0D4B.0020.0002.28A8] # BRAILLE PATTERN DOTS-468
+28A9  ; [*0D4C.0020.0002.28A9] # BRAILLE PATTERN DOTS-1468
+28AA  ; [*0D4D.0020.0002.28AA] # BRAILLE PATTERN DOTS-2468
+28AB  ; [*0D4E.0020.0002.28AB] # BRAILLE PATTERN DOTS-12468
+28AC  ; [*0D4F.0020.0002.28AC] # BRAILLE PATTERN DOTS-3468
+28AD  ; [*0D50.0020.0002.28AD] # BRAILLE PATTERN DOTS-13468
+28AE  ; [*0D51.0020.0002.28AE] # BRAILLE PATTERN DOTS-23468
+28AF  ; [*0D52.0020.0002.28AF] # BRAILLE PATTERN DOTS-123468
+28B0  ; [*0D53.0020.0002.28B0] # BRAILLE PATTERN DOTS-568
+28B1  ; [*0D54.0020.0002.28B1] # BRAILLE PATTERN DOTS-1568
+28B2  ; [*0D55.0020.0002.28B2] # BRAILLE PATTERN DOTS-2568
+28B3  ; [*0D56.0020.0002.28B3] # BRAILLE PATTERN DOTS-12568
+28B4  ; [*0D57.0020.0002.28B4] # BRAILLE PATTERN DOTS-3568
+28B5  ; [*0D58.0020.0002.28B5] # BRAILLE PATTERN DOTS-13568
+28B6  ; [*0D59.0020.0002.28B6] # BRAILLE PATTERN DOTS-23568
+28B7  ; [*0D5A.0020.0002.28B7] # BRAILLE PATTERN DOTS-123568
+28B8  ; [*0D5B.0020.0002.28B8] # BRAILLE PATTERN DOTS-4568
+28B9  ; [*0D5C.0020.0002.28B9] # BRAILLE PATTERN DOTS-14568
+28BA  ; [*0D5D.0020.0002.28BA] # BRAILLE PATTERN DOTS-24568
+28BB  ; [*0D5E.0020.0002.28BB] # BRAILLE PATTERN DOTS-124568
+28BC  ; [*0D5F.0020.0002.28BC] # BRAILLE PATTERN DOTS-34568
+28BD  ; [*0D60.0020.0002.28BD] # BRAILLE PATTERN DOTS-134568
+28BE  ; [*0D61.0020.0002.28BE] # BRAILLE PATTERN DOTS-234568
+28BF  ; [*0D62.0020.0002.28BF] # BRAILLE PATTERN DOTS-1234568
+28C0  ; [*0D63.0020.0002.28C0] # BRAILLE PATTERN DOTS-78
+28C1  ; [*0D64.0020.0002.28C1] # BRAILLE PATTERN DOTS-178
+28C2  ; [*0D65.0020.0002.28C2] # BRAILLE PATTERN DOTS-278
+28C3  ; [*0D66.0020.0002.28C3] # BRAILLE PATTERN DOTS-1278
+28C4  ; [*0D67.0020.0002.28C4] # BRAILLE PATTERN DOTS-378
+28C5  ; [*0D68.0020.0002.28C5] # BRAILLE PATTERN DOTS-1378
+28C6  ; [*0D69.0020.0002.28C6] # BRAILLE PATTERN DOTS-2378
+28C7  ; [*0D6A.0020.0002.28C7] # BRAILLE PATTERN DOTS-12378
+28C8  ; [*0D6B.0020.0002.28C8] # BRAILLE PATTERN DOTS-478
+28C9  ; [*0D6C.0020.0002.28C9] # BRAILLE PATTERN DOTS-1478
+28CA  ; [*0D6D.0020.0002.28CA] # BRAILLE PATTERN DOTS-2478
+28CB  ; [*0D6E.0020.0002.28CB] # BRAILLE PATTERN DOTS-12478
+28CC  ; [*0D6F.0020.0002.28CC] # BRAILLE PATTERN DOTS-3478
+28CD  ; [*0D70.0020.0002.28CD] # BRAILLE PATTERN DOTS-13478
+28CE  ; [*0D71.0020.0002.28CE] # BRAILLE PATTERN DOTS-23478
+28CF  ; [*0D72.0020.0002.28CF] # BRAILLE PATTERN DOTS-123478
+28D0  ; [*0D73.0020.0002.28D0] # BRAILLE PATTERN DOTS-578
+28D1  ; [*0D74.0020.0002.28D1] # BRAILLE PATTERN DOTS-1578
+28D2  ; [*0D75.0020.0002.28D2] # BRAILLE PATTERN DOTS-2578
+28D3  ; [*0D76.0020.0002.28D3] # BRAILLE PATTERN DOTS-12578
+28D4  ; [*0D77.0020.0002.28D4] # BRAILLE PATTERN DOTS-3578
+28D5  ; [*0D78.0020.0002.28D5] # BRAILLE PATTERN DOTS-13578
+28D6  ; [*0D79.0020.0002.28D6] # BRAILLE PATTERN DOTS-23578
+28D7  ; [*0D7A.0020.0002.28D7] # BRAILLE PATTERN DOTS-123578
+28D8  ; [*0D7B.0020.0002.28D8] # BRAILLE PATTERN DOTS-4578
+28D9  ; [*0D7C.0020.0002.28D9] # BRAILLE PATTERN DOTS-14578
+28DA  ; [*0D7D.0020.0002.28DA] # BRAILLE PATTERN DOTS-24578
+28DB  ; [*0D7E.0020.0002.28DB] # BRAILLE PATTERN DOTS-124578
+28DC  ; [*0D7F.0020.0002.28DC] # BRAILLE PATTERN DOTS-34578
+28DD  ; [*0D80.0020.0002.28DD] # BRAILLE PATTERN DOTS-134578
+28DE  ; [*0D81.0020.0002.28DE] # BRAILLE PATTERN DOTS-234578
+28DF  ; [*0D82.0020.0002.28DF] # BRAILLE PATTERN DOTS-1234578
+28E0  ; [*0D83.0020.0002.28E0] # BRAILLE PATTERN DOTS-678
+28E1  ; [*0D84.0020.0002.28E1] # BRAILLE PATTERN DOTS-1678
+28E2  ; [*0D85.0020.0002.28E2] # BRAILLE PATTERN DOTS-2678
+28E3  ; [*0D86.0020.0002.28E3] # BRAILLE PATTERN DOTS-12678
+28E4  ; [*0D87.0020.0002.28E4] # BRAILLE PATTERN DOTS-3678
+28E5  ; [*0D88.0020.0002.28E5] # BRAILLE PATTERN DOTS-13678
+28E6  ; [*0D89.0020.0002.28E6] # BRAILLE PATTERN DOTS-23678
+28E7  ; [*0D8A.0020.0002.28E7] # BRAILLE PATTERN DOTS-123678
+28E8  ; [*0D8B.0020.0002.28E8] # BRAILLE PATTERN DOTS-4678
+28E9  ; [*0D8C.0020.0002.28E9] # BRAILLE PATTERN DOTS-14678
+28EA  ; [*0D8D.0020.0002.28EA] # BRAILLE PATTERN DOTS-24678
+28EB  ; [*0D8E.0020.0002.28EB] # BRAILLE PATTERN DOTS-124678
+28EC  ; [*0D8F.0020.0002.28EC] # BRAILLE PATTERN DOTS-34678
+28ED  ; [*0D90.0020.0002.28ED] # BRAILLE PATTERN DOTS-134678
+28EE  ; [*0D91.0020.0002.28EE] # BRAILLE PATTERN DOTS-234678
+28EF  ; [*0D92.0020.0002.28EF] # BRAILLE PATTERN DOTS-1234678
+28F0  ; [*0D93.0020.0002.28F0] # BRAILLE PATTERN DOTS-5678
+28F1  ; [*0D94.0020.0002.28F1] # BRAILLE PATTERN DOTS-15678
+28F2  ; [*0D95.0020.0002.28F2] # BRAILLE PATTERN DOTS-25678
+28F3  ; [*0D96.0020.0002.28F3] # BRAILLE PATTERN DOTS-125678
+28F4  ; [*0D97.0020.0002.28F4] # BRAILLE PATTERN DOTS-35678
+28F5  ; [*0D98.0020.0002.28F5] # BRAILLE PATTERN DOTS-135678
+28F6  ; [*0D99.0020.0002.28F6] # BRAILLE PATTERN DOTS-235678
+28F7  ; [*0D9A.0020.0002.28F7] # BRAILLE PATTERN DOTS-1235678
+28F8  ; [*0D9B.0020.0002.28F8] # BRAILLE PATTERN DOTS-45678
+28F9  ; [*0D9C.0020.0002.28F9] # BRAILLE PATTERN DOTS-145678
+28FA  ; [*0D9D.0020.0002.28FA] # BRAILLE PATTERN DOTS-245678
+28FB  ; [*0D9E.0020.0002.28FB] # BRAILLE PATTERN DOTS-1245678
+28FC  ; [*0D9F.0020.0002.28FC] # BRAILLE PATTERN DOTS-345678
+28FD  ; [*0DA0.0020.0002.28FD] # BRAILLE PATTERN DOTS-1345678
+28FE  ; [*0DA1.0020.0002.28FE] # BRAILLE PATTERN DOTS-2345678
+28FF  ; [*0DA2.0020.0002.28FF] # BRAILLE PATTERN DOTS-12345678
+2900  ; [*0A67.0020.0002.2900] # RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2901  ; [*0A68.0020.0002.2901] # RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2902  ; [*0A69.0020.0002.2902] # LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2903  ; [*0A6A.0020.0002.2903] # RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
+2904  ; [*0A6B.0020.0002.2904] # LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
+2905  ; [*0A6C.0020.0002.2905] # RIGHTWARDS TWO-HEADED ARROW FROM BAR
+2906  ; [*0A6D.0020.0002.2906] # LEFTWARDS DOUBLE ARROW FROM BAR
+2907  ; [*0A6E.0020.0002.2907] # RIGHTWARDS DOUBLE ARROW FROM BAR
+2908  ; [*0A6F.0020.0002.2908] # DOWNWARDS ARROW WITH HORIZONTAL STROKE
+2909  ; [*0A70.0020.0002.2909] # UPWARDS ARROW WITH HORIZONTAL STROKE
+290A  ; [*0A71.0020.0002.290A] # UPWARDS TRIPLE ARROW
+290B  ; [*0A72.0020.0002.290B] # DOWNWARDS TRIPLE ARROW
+290C  ; [*0A73.0020.0002.290C] # LEFTWARDS DOUBLE DASH ARROW
+290D  ; [*0A74.0020.0002.290D] # RIGHTWARDS DOUBLE DASH ARROW
+290E  ; [*0A75.0020.0002.290E] # LEFTWARDS TRIPLE DASH ARROW
+290F  ; [*0A76.0020.0002.290F] # RIGHTWARDS TRIPLE DASH ARROW
+2910  ; [*0A77.0020.0002.2910] # RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
+2911  ; [*0A78.0020.0002.2911] # RIGHTWARDS ARROW WITH DOTTED STEM
+2912  ; [*0A79.0020.0002.2912] # UPWARDS ARROW TO BAR
+2913  ; [*0A7A.0020.0002.2913] # DOWNWARDS ARROW TO BAR
+2914  ; [*0A7B.0020.0002.2914] # RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2915  ; [*0A7C.0020.0002.2915] # RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2916  ; [*0A7D.0020.0002.2916] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL
+2917  ; [*0A7E.0020.0002.2917] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2918  ; [*0A7F.0020.0002.2918] # RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2919  ; [*0A80.0020.0002.2919] # LEFTWARDS ARROW-TAIL
+291A  ; [*0A81.0020.0002.291A] # RIGHTWARDS ARROW-TAIL
+291B  ; [*0A82.0020.0002.291B] # LEFTWARDS DOUBLE ARROW-TAIL
+291C  ; [*0A83.0020.0002.291C] # RIGHTWARDS DOUBLE ARROW-TAIL
+291D  ; [*0A84.0020.0002.291D] # LEFTWARDS ARROW TO BLACK DIAMOND
+291E  ; [*0A85.0020.0002.291E] # RIGHTWARDS ARROW TO BLACK DIAMOND
+291F  ; [*0A86.0020.0002.291F] # LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2920  ; [*0A87.0020.0002.2920] # RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
+2921  ; [*0A88.0020.0002.2921] # NORTH WEST AND SOUTH EAST ARROW
+2922  ; [*0A89.0020.0002.2922] # NORTH EAST AND SOUTH WEST ARROW
+2923  ; [*0A8A.0020.0002.2923] # NORTH WEST ARROW WITH HOOK
+2924  ; [*0A8B.0020.0002.2924] # NORTH EAST ARROW WITH HOOK
+2925  ; [*0A8C.0020.0002.2925] # SOUTH EAST ARROW WITH HOOK
+2926  ; [*0A8D.0020.0002.2926] # SOUTH WEST ARROW WITH HOOK
+2927  ; [*0A8E.0020.0002.2927] # NORTH WEST ARROW AND NORTH EAST ARROW
+2928  ; [*0A8F.0020.0002.2928] # NORTH EAST ARROW AND SOUTH EAST ARROW
+2929  ; [*0A90.0020.0002.2929] # SOUTH EAST ARROW AND SOUTH WEST ARROW
+292A  ; [*0A91.0020.0002.292A] # SOUTH WEST ARROW AND NORTH WEST ARROW
+292B  ; [*0A92.0020.0002.292B] # RISING DIAGONAL CROSSING FALLING DIAGONAL
+292C  ; [*0A93.0020.0002.292C] # FALLING DIAGONAL CROSSING RISING DIAGONAL
+292D  ; [*0A94.0020.0002.292D] # SOUTH EAST ARROW CROSSING NORTH EAST ARROW
+292E  ; [*0A95.0020.0002.292E] # NORTH EAST ARROW CROSSING SOUTH EAST ARROW
+292F  ; [*0A96.0020.0002.292F] # FALLING DIAGONAL CROSSING NORTH EAST ARROW
+2930  ; [*0A97.0020.0002.2930] # RISING DIAGONAL CROSSING SOUTH EAST ARROW
+2931  ; [*0A98.0020.0002.2931] # NORTH EAST ARROW CROSSING NORTH WEST ARROW
+2932  ; [*0A99.0020.0002.2932] # NORTH WEST ARROW CROSSING NORTH EAST ARROW
+2933  ; [*0A9A.0020.0002.2933] # WAVE ARROW POINTING DIRECTLY RIGHT
+2934  ; [*0A9B.0020.0002.2934] # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2935  ; [*0A9C.0020.0002.2935] # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2936  ; [*0A9D.0020.0002.2936] # ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
+2937  ; [*0A9E.0020.0002.2937] # ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
+2938  ; [*0A9F.0020.0002.2938] # RIGHT-SIDE ARC CLOCKWISE ARROW
+2939  ; [*0AA0.0020.0002.2939] # LEFT-SIDE ARC ANTICLOCKWISE ARROW
+293A  ; [*0AA1.0020.0002.293A] # TOP ARC ANTICLOCKWISE ARROW
+293B  ; [*0AA2.0020.0002.293B] # BOTTOM ARC ANTICLOCKWISE ARROW
+293C  ; [*0AA3.0020.0002.293C] # TOP ARC CLOCKWISE ARROW WITH MINUS
+293D  ; [*0AA4.0020.0002.293D] # TOP ARC ANTICLOCKWISE ARROW WITH PLUS
+293E  ; [*0AA5.0020.0002.293E] # LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW
+293F  ; [*0AA6.0020.0002.293F] # LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW
+2940  ; [*0AA7.0020.0002.2940] # ANTICLOCKWISE CLOSED CIRCLE ARROW
+2941  ; [*0AA8.0020.0002.2941] # CLOCKWISE CLOSED CIRCLE ARROW
+2942  ; [*0AA9.0020.0002.2942] # RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
+2943  ; [*0AAA.0020.0002.2943] # LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
+2944  ; [*0AAB.0020.0002.2944] # SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
+2945  ; [*0AAC.0020.0002.2945] # RIGHTWARDS ARROW WITH PLUS BELOW
+2946  ; [*0AAD.0020.0002.2946] # LEFTWARDS ARROW WITH PLUS BELOW
+2947  ; [*0AAE.0020.0002.2947] # RIGHTWARDS ARROW THROUGH X
+2948  ; [*0AAF.0020.0002.2948] # LEFT RIGHT ARROW THROUGH SMALL CIRCLE
+2949  ; [*0AB0.0020.0002.2949] # UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
+294A  ; [*0AB1.0020.0002.294A] # LEFT BARB UP RIGHT BARB DOWN HARPOON
+294B  ; [*0AB2.0020.0002.294B] # LEFT BARB DOWN RIGHT BARB UP HARPOON
+294C  ; [*0AB3.0020.0002.294C] # UP BARB RIGHT DOWN BARB LEFT HARPOON
+294D  ; [*0AB4.0020.0002.294D] # UP BARB LEFT DOWN BARB RIGHT HARPOON
+294E  ; [*0AB5.0020.0002.294E] # LEFT BARB UP RIGHT BARB UP HARPOON
+294F  ; [*0AB6.0020.0002.294F] # UP BARB RIGHT DOWN BARB RIGHT HARPOON
+2950  ; [*0AB7.0020.0002.2950] # LEFT BARB DOWN RIGHT BARB DOWN HARPOON
+2951  ; [*0AB8.0020.0002.2951] # UP BARB LEFT DOWN BARB LEFT HARPOON
+2952  ; [*0AB9.0020.0002.2952] # LEFTWARDS HARPOON WITH BARB UP TO BAR
+2953  ; [*0ABA.0020.0002.2953] # RIGHTWARDS HARPOON WITH BARB UP TO BAR
+2954  ; [*0ABB.0020.0002.2954] # UPWARDS HARPOON WITH BARB RIGHT TO BAR
+2955  ; [*0ABC.0020.0002.2955] # DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
+2956  ; [*0ABD.0020.0002.2956] # LEFTWARDS HARPOON WITH BARB DOWN TO BAR
+2957  ; [*0ABE.0020.0002.2957] # RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
+2958  ; [*0ABF.0020.0002.2958] # UPWARDS HARPOON WITH BARB LEFT TO BAR
+2959  ; [*0AC0.0020.0002.2959] # DOWNWARDS HARPOON WITH BARB LEFT TO BAR
+295A  ; [*0AC1.0020.0002.295A] # LEFTWARDS HARPOON WITH BARB UP FROM BAR
+295B  ; [*0AC2.0020.0002.295B] # RIGHTWARDS HARPOON WITH BARB UP FROM BAR
+295C  ; [*0AC3.0020.0002.295C] # UPWARDS HARPOON WITH BARB RIGHT FROM BAR
+295D  ; [*0AC4.0020.0002.295D] # DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
+295E  ; [*0AC5.0020.0002.295E] # LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
+295F  ; [*0AC6.0020.0002.295F] # RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
+2960  ; [*0AC7.0020.0002.2960] # UPWARDS HARPOON WITH BARB LEFT FROM BAR
+2961  ; [*0AC8.0020.0002.2961] # DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
+2962  ; [*0AC9.0020.0002.2962] # LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+2963  ; [*0ACA.0020.0002.2963] # UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2964  ; [*0ACB.0020.0002.2964] # RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2965  ; [*0ACC.0020.0002.2965] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+2966  ; [*0ACD.0020.0002.2966] # LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
+2967  ; [*0ACE.0020.0002.2967] # LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
+2968  ; [*0ACF.0020.0002.2968] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
+2969  ; [*0AD0.0020.0002.2969] # RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
+296A  ; [*0AD1.0020.0002.296A] # LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296B  ; [*0AD2.0020.0002.296B] # LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296C  ; [*0AD3.0020.0002.296C] # RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
+296D  ; [*0AD4.0020.0002.296D] # RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
+296E  ; [*0AD5.0020.0002.296E] # UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
+296F  ; [*0AD6.0020.0002.296F] # DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
+2970  ; [*0AD7.0020.0002.2970] # RIGHT DOUBLE ARROW WITH ROUNDED HEAD
+2971  ; [*0AD8.0020.0002.2971] # EQUALS SIGN ABOVE RIGHTWARDS ARROW
+2972  ; [*0AD9.0020.0002.2972] # TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2973  ; [*0ADA.0020.0002.2973] # LEFTWARDS ARROW ABOVE TILDE OPERATOR
+2974  ; [*0ADB.0020.0002.2974] # RIGHTWARDS ARROW ABOVE TILDE OPERATOR
+2975  ; [*0ADC.0020.0002.2975] # RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
+2976  ; [*0ADD.0020.0002.2976] # LESS-THAN ABOVE LEFTWARDS ARROW
+2977  ; [*0ADE.0020.0002.2977] # LEFTWARDS ARROW THROUGH LESS-THAN
+2978  ; [*0ADF.0020.0002.2978] # GREATER-THAN ABOVE RIGHTWARDS ARROW
+2979  ; [*0AE0.0020.0002.2979] # SUBSET ABOVE RIGHTWARDS ARROW
+297A  ; [*0AE1.0020.0002.297A] # LEFTWARDS ARROW THROUGH SUBSET
+297B  ; [*0AE2.0020.0002.297B] # SUPERSET ABOVE LEFTWARDS ARROW
+297C  ; [*0AE3.0020.0002.297C] # LEFT FISH TAIL
+297D  ; [*0AE4.0020.0002.297D] # RIGHT FISH TAIL
+297E  ; [*0AE5.0020.0002.297E] # UP FISH TAIL
+297F  ; [*0AE6.0020.0002.297F] # DOWN FISH TAIL
+2980  ; [*0AE7.0020.0002.2980] # TRIPLE VERTICAL BAR DELIMITER
+2981  ; [*0AE8.0020.0002.2981] # Z NOTATION SPOT
+2982  ; [*0AE9.0020.0002.2982] # Z NOTATION TYPE COLON
+2983  ; [*030B.0020.0002.2983] # LEFT WHITE CURLY BRACKET
+2984  ; [*030C.0020.0002.2984] # RIGHT WHITE CURLY BRACKET
+2985  ; [*030D.0020.0002.2985] # LEFT WHITE PARENTHESIS
+2986  ; [*030E.0020.0002.2986] # RIGHT WHITE PARENTHESIS
+2987  ; [*030F.0020.0002.2987] # Z NOTATION LEFT IMAGE BRACKET
+2988  ; [*0310.0020.0002.2988] # Z NOTATION RIGHT IMAGE BRACKET
+2989  ; [*0311.0020.0002.2989] # Z NOTATION LEFT BINDING BRACKET
+298A  ; [*0312.0020.0002.298A] # Z NOTATION RIGHT BINDING BRACKET
+298B  ; [*0313.0020.0002.298B] # LEFT SQUARE BRACKET WITH UNDERBAR
+298C  ; [*0314.0020.0002.298C] # RIGHT SQUARE BRACKET WITH UNDERBAR
+298D  ; [*0315.0020.0002.298D] # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
+298E  ; [*0316.0020.0002.298E] # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+298F  ; [*0317.0020.0002.298F] # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
+2990  ; [*0318.0020.0002.2990] # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
+2991  ; [*0319.0020.0002.2991] # LEFT ANGLE BRACKET WITH DOT
+2992  ; [*031A.0020.0002.2992] # RIGHT ANGLE BRACKET WITH DOT
+2993  ; [*031B.0020.0002.2993] # LEFT ARC LESS-THAN BRACKET
+2994  ; [*031C.0020.0002.2994] # RIGHT ARC GREATER-THAN BRACKET
+2995  ; [*031D.0020.0002.2995] # DOUBLE LEFT ARC GREATER-THAN BRACKET
+2996  ; [*031E.0020.0002.2996] # DOUBLE RIGHT ARC LESS-THAN BRACKET
+2997  ; [*031F.0020.0002.2997] # LEFT BLACK TORTOISE SHELL BRACKET
+2998  ; [*0320.0020.0002.2998] # RIGHT BLACK TORTOISE SHELL BRACKET
+2999  ; [*0AEA.0020.0002.2999] # DOTTED FENCE
+299A  ; [*0AEB.0020.0002.299A] # VERTICAL ZIGZAG LINE
+299B  ; [*0AEC.0020.0002.299B] # MEASURED ANGLE OPENING LEFT
+299C  ; [*0AED.0020.0002.299C] # RIGHT ANGLE VARIANT WITH SQUARE
+299D  ; [*0AEE.0020.0002.299D] # MEASURED RIGHT ANGLE WITH DOT
+299E  ; [*0AEF.0020.0002.299E] # ANGLE WITH S INSIDE
+299F  ; [*0AF0.0020.0002.299F] # ACUTE ANGLE
+29A0  ; [*0AF1.0020.0002.29A0] # SPHERICAL ANGLE OPENING LEFT
+29A1  ; [*0AF2.0020.0002.29A1] # SPHERICAL ANGLE OPENING UP
+29A2  ; [*0AF3.0020.0002.29A2] # TURNED ANGLE
+29A3  ; [*0AF4.0020.0002.29A3] # REVERSED ANGLE
+29A4  ; [*0AF5.0020.0002.29A4] # ANGLE WITH UNDERBAR
+29A5  ; [*0AF6.0020.0002.29A5] # REVERSED ANGLE WITH UNDERBAR
+29A6  ; [*0AF7.0020.0002.29A6] # OBLIQUE ANGLE OPENING UP
+29A7  ; [*0AF8.0020.0002.29A7] # OBLIQUE ANGLE OPENING DOWN
+29A8  ; [*0AF9.0020.0002.29A8] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
+29A9  ; [*0AFA.0020.0002.29A9] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
+29AA  ; [*0AFB.0020.0002.29AA] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
+29AB  ; [*0AFC.0020.0002.29AB] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
+29AC  ; [*0AFD.0020.0002.29AC] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
+29AD  ; [*0AFE.0020.0002.29AD] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
+29AE  ; [*0AFF.0020.0002.29AE] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
+29AF  ; [*0B00.0020.0002.29AF] # MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
+29B0  ; [*0B01.0020.0002.29B0] # REVERSED EMPTY SET
+29B1  ; [*0B02.0020.0002.29B1] # EMPTY SET WITH OVERBAR
+29B2  ; [*0B03.0020.0002.29B2] # EMPTY SET WITH SMALL CIRCLE ABOVE
+29B3  ; [*0B04.0020.0002.29B3] # EMPTY SET WITH RIGHT ARROW ABOVE
+29B4  ; [*0B05.0020.0002.29B4] # EMPTY SET WITH LEFT ARROW ABOVE
+29B5  ; [*0B06.0020.0002.29B5] # CIRCLE WITH HORIZONTAL BAR
+29B6  ; [*0B07.0020.0002.29B6] # CIRCLED VERTICAL BAR
+29B7  ; [*0B08.0020.0002.29B7] # CIRCLED PARALLEL
+29B8  ; [*0B09.0020.0002.29B8] # CIRCLED REVERSE SOLIDUS
+29B9  ; [*0B0A.0020.0002.29B9] # CIRCLED PERPENDICULAR
+29BA  ; [*0B0B.0020.0002.29BA] # CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR
+29BB  ; [*0B0C.0020.0002.29BB] # CIRCLE WITH SUPERIMPOSED X
+29BC  ; [*0B0D.0020.0002.29BC] # CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
+29BD  ; [*0B0E.0020.0002.29BD] # UP ARROW THROUGH CIRCLE
+29BE  ; [*0B0F.0020.0002.29BE] # CIRCLED WHITE BULLET
+29BF  ; [*0B10.0020.0002.29BF] # CIRCLED BULLET
+29C0  ; [*0B11.0020.0002.29C0] # CIRCLED LESS-THAN
+29C1  ; [*0B12.0020.0002.29C1] # CIRCLED GREATER-THAN
+29C2  ; [*0B13.0020.0002.29C2] # CIRCLE WITH SMALL CIRCLE TO THE RIGHT
+29C3  ; [*0B14.0020.0002.29C3] # CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
+29C4  ; [*0B15.0020.0002.29C4] # SQUARED RISING DIAGONAL SLASH
+29C5  ; [*0B16.0020.0002.29C5] # SQUARED FALLING DIAGONAL SLASH
+29C6  ; [*0B17.0020.0002.29C6] # SQUARED ASTERISK
+29C7  ; [*0B18.0020.0002.29C7] # SQUARED SMALL CIRCLE
+29C8  ; [*0B19.0020.0002.29C8] # SQUARED SQUARE
+29C9  ; [*0B1A.0020.0002.29C9] # TWO JOINED SQUARES
+29CA  ; [*0B1B.0020.0002.29CA] # TRIANGLE WITH DOT ABOVE
+29CB  ; [*0B1C.0020.0002.29CB] # TRIANGLE WITH UNDERBAR
+29CC  ; [*0B1D.0020.0002.29CC] # S IN TRIANGLE
+29CD  ; [*0B1E.0020.0002.29CD] # TRIANGLE WITH SERIFS AT BOTTOM
+29CE  ; [*0B1F.0020.0002.29CE] # RIGHT TRIANGLE ABOVE LEFT TRIANGLE
+29CF  ; [*0B20.0020.0002.29CF] # LEFT TRIANGLE BESIDE VERTICAL BAR
+29D0  ; [*0B21.0020.0002.29D0] # VERTICAL BAR BESIDE RIGHT TRIANGLE
+29D1  ; [*0B22.0020.0002.29D1] # BOWTIE WITH LEFT HALF BLACK
+29D2  ; [*0B23.0020.0002.29D2] # BOWTIE WITH RIGHT HALF BLACK
+29D3  ; [*0B24.0020.0002.29D3] # BLACK BOWTIE
+29D4  ; [*0B25.0020.0002.29D4] # TIMES WITH LEFT HALF BLACK
+29D5  ; [*0B26.0020.0002.29D5] # TIMES WITH RIGHT HALF BLACK
+29D6  ; [*0B27.0020.0002.29D6] # WHITE HOURGLASS
+29D7  ; [*0B28.0020.0002.29D7] # BLACK HOURGLASS
+29D8  ; [*0364.0020.0002.29D8] # LEFT WIGGLY FENCE
+29D9  ; [*0365.0020.0002.29D9] # RIGHT WIGGLY FENCE
+29DA  ; [*0366.0020.0002.29DA] # LEFT DOUBLE WIGGLY FENCE
+29DB  ; [*0367.0020.0002.29DB] # RIGHT DOUBLE WIGGLY FENCE
+29DC  ; [*0B29.0020.0002.29DC] # INCOMPLETE INFINITY
+29DD  ; [*0B2A.0020.0002.29DD] # TIE OVER INFINITY
+29DE  ; [*0B2B.0020.0002.29DE] # INFINITY NEGATED WITH VERTICAL BAR
+29DF  ; [*0B2C.0020.0002.29DF] # DOUBLE-ENDED MULTIMAP
+29E0  ; [*0B2D.0020.0002.29E0] # SQUARE WITH CONTOURED OUTLINE
+29E1  ; [*0B2E.0020.0002.29E1] # INCREASES AS
+29E2  ; [*0B2F.0020.0002.29E2] # SHUFFLE PRODUCT
+29E3  ; [*0B30.0020.0002.29E3] # EQUALS SIGN AND SLANTED PARALLEL
+29E4  ; [*0B31.0020.0002.29E4] # EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
+29E5  ; [*0B32.0020.0002.29E5] # IDENTICAL TO AND SLANTED PARALLEL
+29E6  ; [*0B33.0020.0002.29E6] # GLEICH STARK
+29E7  ; [*0B34.0020.0002.29E7] # THERMODYNAMIC
+29E8  ; [*0B35.0020.0002.29E8] # DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
+29E9  ; [*0B36.0020.0002.29E9] # DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
+29EA  ; [*0B37.0020.0002.29EA] # BLACK DIAMOND WITH DOWN ARROW
+29EB  ; [*0B38.0020.0002.29EB] # BLACK LOZENGE
+29EC  ; [*0B39.0020.0002.29EC] # WHITE CIRCLE WITH DOWN ARROW
+29ED  ; [*0B3A.0020.0002.29ED] # BLACK CIRCLE WITH DOWN ARROW
+29EE  ; [*0B3B.0020.0002.29EE] # ERROR-BARRED WHITE SQUARE
+29EF  ; [*0B3C.0020.0002.29EF] # ERROR-BARRED BLACK SQUARE
+29F0  ; [*0B3D.0020.0002.29F0] # ERROR-BARRED WHITE DIAMOND
+29F1  ; [*0B3E.0020.0002.29F1] # ERROR-BARRED BLACK DIAMOND
+29F2  ; [*0B3F.0020.0002.29F2] # ERROR-BARRED WHITE CIRCLE
+29F3  ; [*0B40.0020.0002.29F3] # ERROR-BARRED BLACK CIRCLE
+29F4  ; [*0B41.0020.0002.29F4] # RULE-DELAYED
+29F5  ; [*0B42.0020.0002.29F5] # REVERSE SOLIDUS OPERATOR
+29F6  ; [*0B43.0020.0002.29F6] # SOLIDUS WITH OVERBAR
+29F7  ; [*0B44.0020.0002.29F7] # REVERSE SOLIDUS WITH HORIZONTAL STROKE
+29F8  ; [*0B45.0020.0002.29F8] # BIG SOLIDUS
+29F9  ; [*0B46.0020.0002.29F9] # BIG REVERSE SOLIDUS
+29FA  ; [*0B47.0020.0002.29FA] # DOUBLE PLUS
+29FB  ; [*0B48.0020.0002.29FB] # TRIPLE PLUS
+29FC  ; [*0309.0020.0002.29FC] # LEFT-POINTING CURVED ANGLE BRACKET
+29FD  ; [*030A.0020.0002.29FD] # RIGHT-POINTING CURVED ANGLE BRACKET
+29FE  ; [*0B49.0020.0002.29FE] # TINY
+29FF  ; [*0B4A.0020.0002.29FF] # MINY
+2A00  ; [*0B4B.0020.0002.2A00] # N-ARY CIRCLED DOT OPERATOR
+2A01  ; [*0B4C.0020.0002.2A01] # N-ARY CIRCLED PLUS OPERATOR
+2A02  ; [*0B4D.0020.0002.2A02] # N-ARY CIRCLED TIMES OPERATOR
+2A03  ; [*0B4E.0020.0002.2A03] # N-ARY UNION OPERATOR WITH DOT
+2A04  ; [*0B4F.0020.0002.2A04] # N-ARY UNION OPERATOR WITH PLUS
+2A05  ; [*0B50.0020.0002.2A05] # N-ARY SQUARE INTERSECTION OPERATOR
+2A06  ; [*0B51.0020.0002.2A06] # N-ARY SQUARE UNION OPERATOR
+2A07  ; [*0B52.0020.0002.2A07] # TWO LOGICAL AND OPERATOR
+2A08  ; [*0B53.0020.0002.2A08] # TWO LOGICAL OR OPERATOR
+2A09  ; [*0B54.0020.0002.2A09] # N-ARY TIMES OPERATOR
+2A0A  ; [*0B55.0020.0002.2A0A] # MODULO TWO SUM
+2A0B  ; [*0B56.0020.0002.2A0B] # SUMMATION WITH INTEGRAL
+2A0C  ; [*05C2.0020.0004.2A0C][*05C2.0020.0004.2A0C][*05C2.0020.0004.2A0C][*05C2.0020.001F.2A0C] # QUADRUPLE INTEGRAL OPERATOR
+2A0D  ; [*0B57.0020.0002.2A0D] # FINITE PART INTEGRAL
+2A0E  ; [*0B58.0020.0002.2A0E] # INTEGRAL WITH DOUBLE STROKE
+2A0F  ; [*0B59.0020.0002.2A0F] # INTEGRAL AVERAGE WITH SLASH
+2A10  ; [*0B5A.0020.0002.2A10] # CIRCULATION FUNCTION
+2A11  ; [*0B5B.0020.0002.2A11] # ANTICLOCKWISE INTEGRATION
+2A12  ; [*0B5C.0020.0002.2A12] # LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
+2A13  ; [*0B5D.0020.0002.2A13] # LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
+2A14  ; [*0B5E.0020.0002.2A14] # LINE INTEGRATION NOT INCLUDING THE POLE
+2A15  ; [*0B5F.0020.0002.2A15] # INTEGRAL AROUND A POINT OPERATOR
+2A16  ; [*0B60.0020.0002.2A16] # QUATERNION INTEGRAL OPERATOR
+2A17  ; [*0B61.0020.0002.2A17] # INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
+2A18  ; [*0B62.0020.0002.2A18] # INTEGRAL WITH TIMES SIGN
+2A19  ; [*0B63.0020.0002.2A19] # INTEGRAL WITH INTERSECTION
+2A1A  ; [*0B64.0020.0002.2A1A] # INTEGRAL WITH UNION
+2A1B  ; [*0B65.0020.0002.2A1B] # INTEGRAL WITH OVERBAR
+2A1C  ; [*0B66.0020.0002.2A1C] # INTEGRAL WITH UNDERBAR
+2A1D  ; [*0B67.0020.0002.2A1D] # JOIN
+2A1E  ; [*0B68.0020.0002.2A1E] # LARGE LEFT TRIANGLE OPERATOR
+2A1F  ; [*0B69.0020.0002.2A1F] # Z NOTATION SCHEMA COMPOSITION
+2A20  ; [*0B6A.0020.0002.2A20] # Z NOTATION SCHEMA PIPING
+2A21  ; [*0B6B.0020.0002.2A21] # Z NOTATION SCHEMA PROJECTION
+2A22  ; [*0B6C.0020.0002.2A22] # PLUS SIGN WITH SMALL CIRCLE ABOVE
+2A23  ; [*0B6D.0020.0002.2A23] # PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
+2A24  ; [*0B6E.0020.0002.2A24] # PLUS SIGN WITH TILDE ABOVE
+2A25  ; [*0B6F.0020.0002.2A25] # PLUS SIGN WITH DOT BELOW
+2A26  ; [*0B70.0020.0002.2A26] # PLUS SIGN WITH TILDE BELOW
+2A27  ; [*0B71.0020.0002.2A27] # PLUS SIGN WITH SUBSCRIPT TWO
+2A28  ; [*0B72.0020.0002.2A28] # PLUS SIGN WITH BLACK TRIANGLE
+2A29  ; [*0B73.0020.0002.2A29] # MINUS SIGN WITH COMMA ABOVE
+2A2A  ; [*0B74.0020.0002.2A2A] # MINUS SIGN WITH DOT BELOW
+2A2B  ; [*0B75.0020.0002.2A2B] # MINUS SIGN WITH FALLING DOTS
+2A2C  ; [*0B76.0020.0002.2A2C] # MINUS SIGN WITH RISING DOTS
+2A2D  ; [*0B77.0020.0002.2A2D] # PLUS SIGN IN LEFT HALF CIRCLE
+2A2E  ; [*0B78.0020.0002.2A2E] # PLUS SIGN IN RIGHT HALF CIRCLE
+2A2F  ; [*0B79.0020.0002.2A2F] # VECTOR OR CROSS PRODUCT
+2A30  ; [*0B7A.0020.0002.2A30] # MULTIPLICATION SIGN WITH DOT ABOVE
+2A31  ; [*0B7B.0020.0002.2A31] # MULTIPLICATION SIGN WITH UNDERBAR
+2A32  ; [*0B7C.0020.0002.2A32] # SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
+2A33  ; [*0B7D.0020.0002.2A33] # SMASH PRODUCT
+2A34  ; [*0B7E.0020.0002.2A34] # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
+2A35  ; [*0B7F.0020.0002.2A35] # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
+2A36  ; [*0B80.0020.0002.2A36] # CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
+2A37  ; [*0B81.0020.0002.2A37] # MULTIPLICATION SIGN IN DOUBLE CIRCLE
+2A38  ; [*0B82.0020.0002.2A38] # CIRCLED DIVISION SIGN
+2A39  ; [*0B83.0020.0002.2A39] # PLUS SIGN IN TRIANGLE
+2A3A  ; [*0B84.0020.0002.2A3A] # MINUS SIGN IN TRIANGLE
+2A3B  ; [*0B85.0020.0002.2A3B] # MULTIPLICATION SIGN IN TRIANGLE
+2A3C  ; [*0B86.0020.0002.2A3C] # INTERIOR PRODUCT
+2A3D  ; [*0B87.0020.0002.2A3D] # RIGHTHAND INTERIOR PRODUCT
+2A3E  ; [*0B88.0020.0002.2A3E] # Z NOTATION RELATIONAL COMPOSITION
+2A3F  ; [*0B89.0020.0002.2A3F] # AMALGAMATION OR COPRODUCT
+2A40  ; [*0B8A.0020.0002.2A40] # INTERSECTION WITH DOT
+2A41  ; [*0B8B.0020.0002.2A41] # UNION WITH MINUS SIGN
+2A42  ; [*0B8C.0020.0002.2A42] # UNION WITH OVERBAR
+2A43  ; [*0B8D.0020.0002.2A43] # INTERSECTION WITH OVERBAR
+2A44  ; [*0B8E.0020.0002.2A44] # INTERSECTION WITH LOGICAL AND
+2A45  ; [*0B8F.0020.0002.2A45] # UNION WITH LOGICAL OR
+2A46  ; [*0B90.0020.0002.2A46] # UNION ABOVE INTERSECTION
+2A47  ; [*0B91.0020.0002.2A47] # INTERSECTION ABOVE UNION
+2A48  ; [*0B92.0020.0002.2A48] # UNION ABOVE BAR ABOVE INTERSECTION
+2A49  ; [*0B93.0020.0002.2A49] # INTERSECTION ABOVE BAR ABOVE UNION
+2A4A  ; [*0B94.0020.0002.2A4A] # UNION BESIDE AND JOINED WITH UNION
+2A4B  ; [*0B95.0020.0002.2A4B] # INTERSECTION BESIDE AND JOINED WITH INTERSECTION
+2A4C  ; [*0B96.0020.0002.2A4C] # CLOSED UNION WITH SERIFS
+2A4D  ; [*0B97.0020.0002.2A4D] # CLOSED INTERSECTION WITH SERIFS
+2A4E  ; [*0B98.0020.0002.2A4E] # DOUBLE SQUARE INTERSECTION
+2A4F  ; [*0B99.0020.0002.2A4F] # DOUBLE SQUARE UNION
+2A50  ; [*0B9A.0020.0002.2A50] # CLOSED UNION WITH SERIFS AND SMASH PRODUCT
+2A51  ; [*0B9B.0020.0002.2A51] # LOGICAL AND WITH DOT ABOVE
+2A52  ; [*0B9C.0020.0002.2A52] # LOGICAL OR WITH DOT ABOVE
+2A53  ; [*0B9D.0020.0002.2A53] # DOUBLE LOGICAL AND
+2A54  ; [*0B9E.0020.0002.2A54] # DOUBLE LOGICAL OR
+2A55  ; [*0B9F.0020.0002.2A55] # TWO INTERSECTING LOGICAL AND
+2A56  ; [*0BA0.0020.0002.2A56] # TWO INTERSECTING LOGICAL OR
+2A57  ; [*0BA1.0020.0002.2A57] # SLOPING LARGE OR
+2A58  ; [*0BA2.0020.0002.2A58] # SLOPING LARGE AND
+2A59  ; [*0BA3.0020.0002.2A59] # LOGICAL OR OVERLAPPING LOGICAL AND
+2A5A  ; [*0BA4.0020.0002.2A5A] # LOGICAL AND WITH MIDDLE STEM
+2A5B  ; [*0BA5.0020.0002.2A5B] # LOGICAL OR WITH MIDDLE STEM
+2A5C  ; [*0BA6.0020.0002.2A5C] # LOGICAL AND WITH HORIZONTAL DASH
+2A5D  ; [*0BA7.0020.0002.2A5D] # LOGICAL OR WITH HORIZONTAL DASH
+2A5E  ; [*0BA8.0020.0002.2A5E] # LOGICAL AND WITH DOUBLE OVERBAR
+2A5F  ; [*0BA9.0020.0002.2A5F] # LOGICAL AND WITH UNDERBAR
+2A60  ; [*0BAA.0020.0002.2A60] # LOGICAL AND WITH DOUBLE UNDERBAR
+2A61  ; [*0BAB.0020.0002.2A61] # SMALL VEE WITH UNDERBAR
+2A62  ; [*0BAC.0020.0002.2A62] # LOGICAL OR WITH DOUBLE OVERBAR
+2A63  ; [*0BAD.0020.0002.2A63] # LOGICAL OR WITH DOUBLE UNDERBAR
+2A64  ; [*0BAE.0020.0002.2A64] # Z NOTATION DOMAIN ANTIRESTRICTION
+2A65  ; [*0BAF.0020.0002.2A65] # Z NOTATION RANGE ANTIRESTRICTION
+2A66  ; [*0BB0.0020.0002.2A66] # EQUALS SIGN WITH DOT BELOW
+2A67  ; [*0BB1.0020.0002.2A67] # IDENTICAL WITH DOT ABOVE
+2A68  ; [*0BB2.0020.0002.2A68] # TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE
+2A69  ; [*0BB3.0020.0002.2A69] # TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE
+2A6A  ; [*0BB4.0020.0002.2A6A] # TILDE OPERATOR WITH DOT ABOVE
+2A6B  ; [*0BB5.0020.0002.2A6B] # TILDE OPERATOR WITH RISING DOTS
+2A6C  ; [*0BB6.0020.0002.2A6C] # SIMILAR MINUS SIMILAR
+2A6D  ; [*0BB7.0020.0002.2A6D] # CONGRUENT WITH DOT ABOVE
+2A6E  ; [*0BB8.0020.0002.2A6E] # EQUALS WITH ASTERISK
+2A6F  ; [*0BB9.0020.0002.2A6F] # ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
+2A70  ; [*0BBA.0020.0002.2A70] # APPROXIMATELY EQUAL OR EQUAL TO
+2A71  ; [*0BBB.0020.0002.2A71] # EQUALS SIGN ABOVE PLUS SIGN
+2A72  ; [*0BBC.0020.0002.2A72] # PLUS SIGN ABOVE EQUALS SIGN
+2A73  ; [*0BBD.0020.0002.2A73] # EQUALS SIGN ABOVE TILDE OPERATOR
+2A74  ; [*0237.0020.0004.2A74][*0237.0020.0004.2A74][*05A1.0020.001F.2A74] # DOUBLE COLON EQUAL
+2A75  ; [*05A1.0020.0004.2A75][*05A1.0020.001F.2A75] # TWO CONSECUTIVE EQUALS SIGNS
+2A76  ; [*05A1.0020.0004.2A76][*05A1.0020.0004.2A76][*05A1.0020.001F.2A76] # THREE CONSECUTIVE EQUALS SIGNS
+2A77  ; [*0BBE.0020.0002.2A77] # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
+2A78  ; [*0BBF.0020.0002.2A78] # EQUIVALENT WITH FOUR DOTS ABOVE
+2A79  ; [*0BC0.0020.0002.2A79] # LESS-THAN WITH CIRCLE INSIDE
+2A7A  ; [*0BC1.0020.0002.2A7A] # GREATER-THAN WITH CIRCLE INSIDE
+2A7B  ; [*0BC2.0020.0002.2A7B] # LESS-THAN WITH QUESTION MARK ABOVE
+2A7C  ; [*0BC3.0020.0002.2A7C] # GREATER-THAN WITH QUESTION MARK ABOVE
+2A7D  ; [*0BC4.0020.0002.2A7D] # LESS-THAN OR SLANTED EQUAL TO
+2A7E  ; [*0BC5.0020.0002.2A7E] # GREATER-THAN OR SLANTED EQUAL TO
+2A7F  ; [*0BC6.0020.0002.2A7F] # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A80  ; [*0BC7.0020.0002.2A80] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
+2A81  ; [*0BC8.0020.0002.2A81] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A82  ; [*0BC9.0020.0002.2A82] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
+2A83  ; [*0BCA.0020.0002.2A83] # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
+2A84  ; [*0BCB.0020.0002.2A84] # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
+2A85  ; [*0BCC.0020.0002.2A85] # LESS-THAN OR APPROXIMATE
+2A86  ; [*0BCD.0020.0002.2A86] # GREATER-THAN OR APPROXIMATE
+2A87  ; [*0BCE.0020.0002.2A87] # LESS-THAN AND SINGLE-LINE NOT EQUAL TO
+2A88  ; [*0BCF.0020.0002.2A88] # GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
+2A89  ; [*0BD0.0020.0002.2A89] # LESS-THAN AND NOT APPROXIMATE
+2A8A  ; [*0BD1.0020.0002.2A8A] # GREATER-THAN AND NOT APPROXIMATE
+2A8B  ; [*0BD2.0020.0002.2A8B] # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
+2A8C  ; [*0BD3.0020.0002.2A8C] # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
+2A8D  ; [*0BD4.0020.0002.2A8D] # LESS-THAN ABOVE SIMILAR OR EQUAL
+2A8E  ; [*0BD5.0020.0002.2A8E] # GREATER-THAN ABOVE SIMILAR OR EQUAL
+2A8F  ; [*0BD6.0020.0002.2A8F] # LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
+2A90  ; [*0BD7.0020.0002.2A90] # GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
+2A91  ; [*0BD8.0020.0002.2A91] # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
+2A92  ; [*0BD9.0020.0002.2A92] # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
+2A93  ; [*0BDA.0020.0002.2A93] # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
+2A94  ; [*0BDB.0020.0002.2A94] # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
+2A95  ; [*0BDC.0020.0002.2A95] # SLANTED EQUAL TO OR LESS-THAN
+2A96  ; [*0BDD.0020.0002.2A96] # SLANTED EQUAL TO OR GREATER-THAN
+2A97  ; [*0BDE.0020.0002.2A97] # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
+2A98  ; [*0BDF.0020.0002.2A98] # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
+2A99  ; [*0BE0.0020.0002.2A99] # DOUBLE-LINE EQUAL TO OR LESS-THAN
+2A9A  ; [*0BE1.0020.0002.2A9A] # DOUBLE-LINE EQUAL TO OR GREATER-THAN
+2A9B  ; [*0BE2.0020.0002.2A9B] # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
+2A9C  ; [*0BE3.0020.0002.2A9C] # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
+2A9D  ; [*0BE4.0020.0002.2A9D] # SIMILAR OR LESS-THAN
+2A9E  ; [*0BE5.0020.0002.2A9E] # SIMILAR OR GREATER-THAN
+2A9F  ; [*0BE6.0020.0002.2A9F] # SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
+2AA0  ; [*0BE7.0020.0002.2AA0] # SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
+2AA1  ; [*0BE8.0020.0002.2AA1] # DOUBLE NESTED LESS-THAN
+2AA2  ; [*0BE9.0020.0002.2AA2] # DOUBLE NESTED GREATER-THAN
+2AA3  ; [*0BEA.0020.0002.2AA3] # DOUBLE NESTED LESS-THAN WITH UNDERBAR
+2AA4  ; [*0BEB.0020.0002.2AA4] # GREATER-THAN OVERLAPPING LESS-THAN
+2AA5  ; [*0BEC.0020.0002.2AA5] # GREATER-THAN BESIDE LESS-THAN
+2AA6  ; [*0BED.0020.0002.2AA6] # LESS-THAN CLOSED BY CURVE
+2AA7  ; [*0BEE.0020.0002.2AA7] # GREATER-THAN CLOSED BY CURVE
+2AA8  ; [*0BEF.0020.0002.2AA8] # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AA9  ; [*0BF0.0020.0002.2AA9] # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
+2AAA  ; [*0BF1.0020.0002.2AAA] # SMALLER THAN
+2AAB  ; [*0BF2.0020.0002.2AAB] # LARGER THAN
+2AAC  ; [*0BF3.0020.0002.2AAC] # SMALLER THAN OR EQUAL TO
+2AAD  ; [*0BF4.0020.0002.2AAD] # LARGER THAN OR EQUAL TO
+2AAE  ; [*0BF5.0020.0002.2AAE] # EQUALS SIGN WITH BUMPY ABOVE
+2AAF  ; [*0BF6.0020.0002.2AAF] # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
+2AB0  ; [*0BF7.0020.0002.2AB0] # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
+2AB1  ; [*0BF8.0020.0002.2AB1] # PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
+2AB2  ; [*0BF9.0020.0002.2AB2] # SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
+2AB3  ; [*0BFA.0020.0002.2AB3] # PRECEDES ABOVE EQUALS SIGN
+2AB4  ; [*0BFB.0020.0002.2AB4] # SUCCEEDS ABOVE EQUALS SIGN
+2AB5  ; [*0BFC.0020.0002.2AB5] # PRECEDES ABOVE NOT EQUAL TO
+2AB6  ; [*0BFD.0020.0002.2AB6] # SUCCEEDS ABOVE NOT EQUAL TO
+2AB7  ; [*0BFE.0020.0002.2AB7] # PRECEDES ABOVE ALMOST EQUAL TO
+2AB8  ; [*0BFF.0020.0002.2AB8] # SUCCEEDS ABOVE ALMOST EQUAL TO
+2AB9  ; [*0C00.0020.0002.2AB9] # PRECEDES ABOVE NOT ALMOST EQUAL TO
+2ABA  ; [*0C01.0020.0002.2ABA] # SUCCEEDS ABOVE NOT ALMOST EQUAL TO
+2ABB  ; [*0C02.0020.0002.2ABB] # DOUBLE PRECEDES
+2ABC  ; [*0C03.0020.0002.2ABC] # DOUBLE SUCCEEDS
+2ABD  ; [*0C04.0020.0002.2ABD] # SUBSET WITH DOT
+2ABE  ; [*0C05.0020.0002.2ABE] # SUPERSET WITH DOT
+2ABF  ; [*0C06.0020.0002.2ABF] # SUBSET WITH PLUS SIGN BELOW
+2AC0  ; [*0C07.0020.0002.2AC0] # SUPERSET WITH PLUS SIGN BELOW
+2AC1  ; [*0C08.0020.0002.2AC1] # SUBSET WITH MULTIPLICATION SIGN BELOW
+2AC2  ; [*0C09.0020.0002.2AC2] # SUPERSET WITH MULTIPLICATION SIGN BELOW
+2AC3  ; [*0C0A.0020.0002.2AC3] # SUBSET OF OR EQUAL TO WITH DOT ABOVE
+2AC4  ; [*0C0B.0020.0002.2AC4] # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
+2AC5  ; [*0C0C.0020.0002.2AC5] # SUBSET OF ABOVE EQUALS SIGN
+2AC6  ; [*0C0D.0020.0002.2AC6] # SUPERSET OF ABOVE EQUALS SIGN
+2AC7  ; [*0C0E.0020.0002.2AC7] # SUBSET OF ABOVE TILDE OPERATOR
+2AC8  ; [*0C0F.0020.0002.2AC8] # SUPERSET OF ABOVE TILDE OPERATOR
+2AC9  ; [*0C10.0020.0002.2AC9] # SUBSET OF ABOVE ALMOST EQUAL TO
+2ACA  ; [*0C11.0020.0002.2ACA] # SUPERSET OF ABOVE ALMOST EQUAL TO
+2ACB  ; [*0C12.0020.0002.2ACB] # SUBSET OF ABOVE NOT EQUAL TO
+2ACC  ; [*0C13.0020.0002.2ACC] # SUPERSET OF ABOVE NOT EQUAL TO
+2ACD  ; [*0C14.0020.0002.2ACD] # SQUARE LEFT OPEN BOX OPERATOR
+2ACE  ; [*0C15.0020.0002.2ACE] # SQUARE RIGHT OPEN BOX OPERATOR
+2ACF  ; [*0C16.0020.0002.2ACF] # CLOSED SUBSET
+2AD0  ; [*0C17.0020.0002.2AD0] # CLOSED SUPERSET
+2AD1  ; [*0C18.0020.0002.2AD1] # CLOSED SUBSET OR EQUAL TO
+2AD2  ; [*0C19.0020.0002.2AD2] # CLOSED SUPERSET OR EQUAL TO
+2AD3  ; [*0C1A.0020.0002.2AD3] # SUBSET ABOVE SUPERSET
+2AD4  ; [*0C1B.0020.0002.2AD4] # SUPERSET ABOVE SUBSET
+2AD5  ; [*0C1C.0020.0002.2AD5] # SUBSET ABOVE SUBSET
+2AD6  ; [*0C1D.0020.0002.2AD6] # SUPERSET ABOVE SUPERSET
+2AD7  ; [*0C1E.0020.0002.2AD7] # SUPERSET BESIDE SUBSET
+2AD8  ; [*0C1F.0020.0002.2AD8] # SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
+2AD9  ; [*0C20.0020.0002.2AD9] # ELEMENT OF OPENING DOWNWARDS
+2ADA  ; [*0C21.0020.0002.2ADA] # PITCHFORK WITH TEE TOP
+2ADB  ; [*0C22.0020.0002.2ADB] # TRANSVERSAL INTERSECTION
+2ADC  ; [*0C23.0020.0002.2ADD][.0000.0054.0002.0338] # FORKING
+2ADD  ; [*0C23.0020.0002.2ADD] # NONFORKING
+2ADE  ; [*0C24.0020.0002.2ADE] # SHORT LEFT TACK
+2ADF  ; [*0C25.0020.0002.2ADF] # SHORT DOWN TACK
+2AE0  ; [*0C26.0020.0002.2AE0] # SHORT UP TACK
+2AE1  ; [*0C27.0020.0002.2AE1] # PERPENDICULAR WITH S
+2AE2  ; [*0C28.0020.0002.2AE2] # VERTICAL BAR TRIPLE RIGHT TURNSTILE
+2AE3  ; [*0C29.0020.0002.2AE3] # DOUBLE VERTICAL BAR LEFT TURNSTILE
+2AE4  ; [*0C2A.0020.0002.2AE4] # VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE5  ; [*0C2B.0020.0002.2AE5] # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
+2AE6  ; [*0C2C.0020.0002.2AE6] # LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
+2AE7  ; [*0C2D.0020.0002.2AE7] # SHORT DOWN TACK WITH OVERBAR
+2AE8  ; [*0C2E.0020.0002.2AE8] # SHORT UP TACK WITH UNDERBAR
+2AE9  ; [*0C2F.0020.0002.2AE9] # SHORT UP TACK ABOVE SHORT DOWN TACK
+2AEA  ; [*0C30.0020.0002.2AEA] # DOUBLE DOWN TACK
+2AEB  ; [*0C31.0020.0002.2AEB] # DOUBLE UP TACK
+2AEC  ; [*0C32.0020.0002.2AEC] # DOUBLE STROKE NOT SIGN
+2AED  ; [*0C33.0020.0002.2AED] # REVERSED DOUBLE STROKE NOT SIGN
+2AEE  ; [*0C34.0020.0002.2AEE] # DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
+2AEF  ; [*0C35.0020.0002.2AEF] # VERTICAL LINE WITH CIRCLE ABOVE
+2AF0  ; [*0C36.0020.0002.2AF0] # VERTICAL LINE WITH CIRCLE BELOW
+2AF1  ; [*0C37.0020.0002.2AF1] # DOWN TACK WITH CIRCLE BELOW
+2AF2  ; [*0C38.0020.0002.2AF2] # PARALLEL WITH HORIZONTAL STROKE
+2AF3  ; [*0C39.0020.0002.2AF3] # PARALLEL WITH TILDE OPERATOR
+2AF4  ; [*0C3A.0020.0002.2AF4] # TRIPLE VERTICAL BAR BINARY RELATION
+2AF5  ; [*0C3B.0020.0002.2AF5] # TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
+2AF6  ; [*0C3C.0020.0002.2AF6] # TRIPLE COLON OPERATOR
+2AF7  ; [*0C3D.0020.0002.2AF7] # TRIPLE NESTED LESS-THAN
+2AF8  ; [*0C3E.0020.0002.2AF8] # TRIPLE NESTED GREATER-THAN
+2AF9  ; [*0C3F.0020.0002.2AF9] # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
+2AFA  ; [*0C40.0020.0002.2AFA] # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
+2AFB  ; [*0C41.0020.0002.2AFB] # TRIPLE SOLIDUS BINARY RELATION
+2AFC  ; [*0C42.0020.0002.2AFC] # LARGE TRIPLE VERTICAL BAR OPERATOR
+2AFD  ; [*0C43.0020.0002.2AFD] # DOUBLE SOLIDUS OPERATOR
+2AFE  ; [*0C44.0020.0002.2AFE] # WHITE VERTICAL BAR
+2AFF  ; [*0C45.0020.0002.2AFF] # N-ARY WHITE VERTICAL BAR
+2B00  ; [*0C46.0020.0002.2B00] # NORTH EAST WHITE ARROW
+2B01  ; [*0C47.0020.0002.2B01] # NORTH WEST WHITE ARROW
+2B02  ; [*0C48.0020.0002.2B02] # SOUTH EAST WHITE ARROW
+2B03  ; [*0C49.0020.0002.2B03] # SOUTH WEST WHITE ARROW
+2B04  ; [*0C4A.0020.0002.2B04] # LEFT RIGHT WHITE ARROW
+2B05  ; [*0C4B.0020.0002.2B05] # LEFTWARDS BLACK ARROW
+2B06  ; [*0C4C.0020.0002.2B06] # UPWARDS BLACK ARROW
+2B07  ; [*0C4D.0020.0002.2B07] # DOWNWARDS BLACK ARROW
+2B08  ; [*0C4E.0020.0002.2B08] # NORTH EAST BLACK ARROW
+2B09  ; [*0C4F.0020.0002.2B09] # NORTH WEST BLACK ARROW
+2B0A  ; [*0C50.0020.0002.2B0A] # SOUTH EAST BLACK ARROW
+2B0B  ; [*0C51.0020.0002.2B0B] # SOUTH WEST BLACK ARROW
+2B0C  ; [*0C52.0020.0002.2B0C] # LEFT RIGHT BLACK ARROW
+2B0D  ; [*0C53.0020.0002.2B0D] # UP DOWN BLACK ARROW
+2B0E  ; [*0C54.0020.0002.2B0E] # RIGHTWARDS ARROW WITH TIP DOWNWARDS
+2B0F  ; [*0C55.0020.0002.2B0F] # RIGHTWARDS ARROW WITH TIP UPWARDS
+2B10  ; [*0C56.0020.0002.2B10] # LEFTWARDS ARROW WITH TIP DOWNWARDS
+2B11  ; [*0C57.0020.0002.2B11] # LEFTWARDS ARROW WITH TIP UPWARDS
+2B12  ; [*0C58.0020.0002.2B12] # SQUARE WITH TOP HALF BLACK
+2B13  ; [*0C59.0020.0002.2B13] # SQUARE WITH BOTTOM HALF BLACK
+2B14  ; [*0C5A.0020.0002.2B14] # SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
+2B15  ; [*0C5B.0020.0002.2B15] # SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
+2B16  ; [*0C5C.0020.0002.2B16] # DIAMOND WITH LEFT HALF BLACK
+2B17  ; [*0C5D.0020.0002.2B17] # DIAMOND WITH RIGHT HALF BLACK
+2B18  ; [*0C5E.0020.0002.2B18] # DIAMOND WITH TOP HALF BLACK
+2B19  ; [*0C5F.0020.0002.2B19] # DIAMOND WITH BOTTOM HALF BLACK
+2B1A  ; [*0C60.0020.0002.2B1A] # DOTTED SQUARE
+2B1B  ; [*0C61.0020.0002.2B1B] # BLACK LARGE SQUARE
+2B1C  ; [*0C62.0020.0002.2B1C] # WHITE LARGE SQUARE
+2B1D  ; [*0C63.0020.0002.2B1D] # BLACK VERY SMALL SQUARE
+2B1E  ; [*0C64.0020.0002.2B1E] # WHITE VERY SMALL SQUARE
+2B1F  ; [*0C65.0020.0002.2B1F] # BLACK PENTAGON
+2B20  ; [*0C66.0020.0002.2B20] # WHITE PENTAGON
+2B21  ; [*0C67.0020.0002.2B21] # WHITE HEXAGON
+2B22  ; [*0C68.0020.0002.2B22] # BLACK HEXAGON
+2B23  ; [*0C69.0020.0002.2B23] # HORIZONTAL BLACK HEXAGON
+2B24  ; [*0C6A.0020.0002.2B24] # BLACK LARGE CIRCLE
+2B25  ; [*0C6B.0020.0002.2B25] # BLACK MEDIUM DIAMOND
+2B26  ; [*0C6C.0020.0002.2B26] # WHITE MEDIUM DIAMOND
+2B27  ; [*0C6D.0020.0002.2B27] # BLACK MEDIUM LOZENGE
+2B28  ; [*0C6E.0020.0002.2B28] # WHITE MEDIUM LOZENGE
+2B29  ; [*0C6F.0020.0002.2B29] # BLACK SMALL DIAMOND
+2B2A  ; [*0C70.0020.0002.2B2A] # BLACK SMALL LOZENGE
+2B2B  ; [*0C71.0020.0002.2B2B] # WHITE SMALL LOZENGE
+2B2C  ; [*0C72.0020.0002.2B2C] # BLACK HORIZONTAL ELLIPSE
+2B2D  ; [*0C73.0020.0002.2B2D] # WHITE HORIZONTAL ELLIPSE
+2B2E  ; [*0C74.0020.0002.2B2E] # BLACK VERTICAL ELLIPSE
+2B2F  ; [*0C75.0020.0002.2B2F] # WHITE VERTICAL ELLIPSE
+2B30  ; [*0C76.0020.0002.2B30] # LEFT ARROW WITH SMALL CIRCLE
+2B31  ; [*0C77.0020.0002.2B31] # THREE LEFTWARDS ARROWS
+2B32  ; [*0C78.0020.0002.2B32] # LEFT ARROW WITH CIRCLED PLUS
+2B33  ; [*0C79.0020.0002.2B33] # LONG LEFTWARDS SQUIGGLE ARROW
+2B34  ; [*0C7A.0020.0002.2B34] # LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE
+2B35  ; [*0C7B.0020.0002.2B35] # LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE
+2B36  ; [*0C7C.0020.0002.2B36] # LEFTWARDS TWO-HEADED ARROW FROM BAR
+2B37  ; [*0C7D.0020.0002.2B37] # LEFTWARDS TWO-HEADED TRIPLE DASH ARROW
+2B38  ; [*0C7E.0020.0002.2B38] # LEFTWARDS ARROW WITH DOTTED STEM
+2B39  ; [*0C7F.0020.0002.2B39] # LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE
+2B3A  ; [*0C80.0020.0002.2B3A] # LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3B  ; [*0C81.0020.0002.2B3B] # LEFTWARDS TWO-HEADED ARROW WITH TAIL
+2B3C  ; [*0C82.0020.0002.2B3C] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE
+2B3D  ; [*0C83.0020.0002.2B3D] # LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE
+2B3E  ; [*0C84.0020.0002.2B3E] # LEFTWARDS ARROW THROUGH X
+2B3F  ; [*0C85.0020.0002.2B3F] # WAVE ARROW POINTING DIRECTLY LEFT
+2B40  ; [*0C86.0020.0002.2B40] # EQUALS SIGN ABOVE LEFTWARDS ARROW
+2B41  ; [*0C87.0020.0002.2B41] # REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B42  ; [*0C88.0020.0002.2B42] # LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B43  ; [*0C89.0020.0002.2B43] # RIGHTWARDS ARROW THROUGH GREATER-THAN
+2B44  ; [*0C8A.0020.0002.2B44] # RIGHTWARDS ARROW THROUGH SUPERSET
+2B45  ; [*0C8B.0020.0002.2B45] # LEFTWARDS QUADRUPLE ARROW
+2B46  ; [*0C8C.0020.0002.2B46] # RIGHTWARDS QUADRUPLE ARROW
+2B47  ; [*0C8D.0020.0002.2B47] # REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW
+2B48  ; [*0C8E.0020.0002.2B48] # RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO
+2B49  ; [*0C8F.0020.0002.2B49] # TILDE OPERATOR ABOVE LEFTWARDS ARROW
+2B4A  ; [*0C90.0020.0002.2B4A] # LEFTWARDS ARROW ABOVE ALMOST EQUAL TO
+2B4B  ; [*0C91.0020.0002.2B4B] # LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B4C  ; [*0C92.0020.0002.2B4C] # RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR
+2B50  ; [*0C93.0020.0002.2B50] # WHITE MEDIUM STAR
+2B51  ; [*0C94.0020.0002.2B51] # BLACK SMALL STAR
+2B52  ; [*0C95.0020.0002.2B52] # WHITE SMALL STAR
+2B53  ; [*0C96.0020.0002.2B53] # BLACK RIGHT-POINTING PENTAGON
+2B54  ; [*0C97.0020.0002.2B54] # WHITE RIGHT-POINTING PENTAGON
+2B55  ; [*0C98.0020.0002.2B55] # HEAVY LARGE CIRCLE
+2B56  ; [*0C99.0020.0002.2B56] # HEAVY OVAL WITH OVAL INSIDE
+2B57  ; [*0C9A.0020.0002.2B57] # HEAVY CIRCLE WITH CIRCLE INSIDE
+2B58  ; [*0C9B.0020.0002.2B58] # HEAVY CIRCLE
+2B59  ; [*0C9C.0020.0002.2B59] # HEAVY CIRCLED SALTIRE
+2CE5  ; [*0C9D.0020.0002.2CE5] # COPTIC SYMBOL MI RO
+2CE6  ; [*0C9E.0020.0002.2CE6] # COPTIC SYMBOL PI RO
+2CE7  ; [*0C9F.0020.0002.2CE7] # COPTIC SYMBOL STAUROS
+2CE8  ; [*0CA0.0020.0002.2CE8] # COPTIC SYMBOL TAU RO
+2CE9  ; [*0CA1.0020.0002.2CE9] # COPTIC SYMBOL KHI RO
+2CEA  ; [*0CA2.0020.0002.2CEA] # COPTIC SYMBOL SHIMA SIMA
+2CF9  ; [*027D.0020.0002.2CF9] # COPTIC OLD NUBIAN FULL STOP
+2CFA  ; [*026B.0020.0002.2CFA] # COPTIC OLD NUBIAN DIRECT QUESTION MARK
+2CFB  ; [*026C.0020.0002.2CFB] # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
+2CFC  ; [*02DC.0020.0002.2CFC] # COPTIC OLD NUBIAN VERSE DIVIDER
+2CFD  ; [*151B.0020.0002.2CFD] # COPTIC FRACTION ONE HALF
+2CFE  ; [*027E.0020.0002.2CFE] # COPTIC FULL STOP
+2CFF  ; [*02DD.0020.0002.2CFF] # COPTIC MORPHOLOGICAL DIVIDER
+2D70  ; [*03F4.0020.0002.2D70] # TIFINAGH SEPARATOR MARK
 2D7F  ; [.0000.0000.0000.2D7F] # TIFINAGH CONSONANT JOINER
-2E00  ; [*038D.0020.0002.2E00] # RIGHT ANGLE SUBSTITUTION MARKER
-2E01  ; [*038E.0020.0002.2E01] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
-2E02  ; [*0338.0020.0002.2E02] # LEFT SUBSTITUTION BRACKET
-2E03  ; [*0339.0020.0002.2E03] # RIGHT SUBSTITUTION BRACKET
-2E04  ; [*033A.0020.0002.2E04] # LEFT DOTTED SUBSTITUTION BRACKET
-2E05  ; [*033B.0020.0002.2E05] # RIGHT DOTTED SUBSTITUTION BRACKET
-2E06  ; [*038F.0020.0002.2E06] # RAISED INTERPOLATION MARKER
-2E07  ; [*0390.0020.0002.2E07] # RAISED DOTTED INTERPOLATION MARKER
-2E08  ; [*0391.0020.0002.2E08] # DOTTED TRANSPOSITION MARKER
-2E09  ; [*033C.0020.0002.2E09] # LEFT TRANSPOSITION BRACKET
-2E0A  ; [*033D.0020.0002.2E0A] # RIGHT TRANSPOSITION BRACKET
-2E0B  ; [*0392.0020.0002.2E0B] # RAISED SQUARE
-2E0C  ; [*033E.0020.0002.2E0C] # LEFT RAISED OMISSION BRACKET
-2E0D  ; [*033F.0020.0002.2E0D] # RIGHT RAISED OMISSION BRACKET
-2E0E  ; [*0393.0020.0002.2E0E] # EDITORIAL CORONIS
-2E0F  ; [*0394.0020.0002.2E0F] # PARAGRAPHOS
-2E10  ; [*0395.0020.0002.2E10] # FORKED PARAGRAPHOS
-2E11  ; [*0396.0020.0002.2E11] # REVERSED FORKED PARAGRAPHOS
-2E12  ; [*0397.0020.0002.2E12] # HYPODIASTOLE
-2E13  ; [*0398.0020.0002.2E13] # DOTTED OBELOS
-2E14  ; [*0399.0020.0002.2E14] # DOWNWARDS ANCORA
-2E15  ; [*039A.0020.0002.2E15] # UPWARDS ANCORA
-2E16  ; [*039B.0020.0002.2E16] # DOTTED RIGHT-POINTING ANGLE
-2E17  ; [*023C.0020.0002.2E17] # DOUBLE OBLIQUE HYPHEN
-2E18  ; [*028D.0020.0002.2E18] # INVERTED INTERROBANG
-2E19  ; [*02F1.0020.0002.2E19] # PALM BRANCH
-2E1A  ; [*039C.0020.0002.2E1A] # HYPHEN WITH DIAERESIS
-2E1B  ; [*039D.0020.0002.2E1B] # TILDE WITH RING ABOVE
-2E1C  ; [*0340.0020.0002.2E1C] # LEFT LOW PARAPHRASE BRACKET
-2E1D  ; [*0341.0020.0002.2E1D] # RIGHT LOW PARAPHRASE BRACKET
-2E1E  ; [*039E.0020.0002.2E1E] # TILDE WITH DOT ABOVE
-2E1F  ; [*039F.0020.0002.2E1F] # TILDE WITH DOT BELOW
-2E20  ; [*0342.0020.0002.2E20] # LEFT VERTICAL BAR WITH QUILL
-2E21  ; [*0343.0020.0002.2E21] # RIGHT VERTICAL BAR WITH QUILL
-2E22  ; [*0344.0020.0002.2E22] # TOP LEFT HALF BRACKET
-2E23  ; [*0345.0020.0002.2E23] # TOP RIGHT HALF BRACKET
-2E24  ; [*0346.0020.0002.2E24] # BOTTOM LEFT HALF BRACKET
-2E25  ; [*0347.0020.0002.2E25] # BOTTOM RIGHT HALF BRACKET
-2E26  ; [*0348.0020.0002.2E26] # LEFT SIDEWAYS U BRACKET
-2E27  ; [*0349.0020.0002.2E27] # RIGHT SIDEWAYS U BRACKET
-2E28  ; [*034A.0020.0002.2E28] # LEFT DOUBLE PARENTHESIS
-2E29  ; [*034B.0020.0002.2E29] # RIGHT DOUBLE PARENTHESIS
-2E2A  ; [*02EB.0020.0002.2E2A] # TWO DOTS OVER ONE DOT PUNCTUATION
-2E2B  ; [*02EC.0020.0002.2E2B] # ONE DOT OVER TWO DOTS PUNCTUATION
-2E2C  ; [*02ED.0020.0002.2E2C] # SQUARED FOUR DOT PUNCTUATION
-2E2D  ; [*02EE.0020.0002.2E2D] # FIVE DOT MARK
-2E2E  ; [*0282.0020.0002.2E2E] # REVERSED QUESTION MARK
-2E30  ; [*029A.0020.0002.2E30] # RING POINT
-2E31  ; [*02A0.0020.0002.2E31] # WORD SEPARATOR MIDDLE DOT
-2FF0  ; [*1456.0020.0002.2FF0] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
-2FF1  ; [*1457.0020.0002.2FF1] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
-2FF2  ; [*1458.0020.0002.2FF2] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
-2FF3  ; [*1459.0020.0002.2FF3] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
-2FF4  ; [*145A.0020.0002.2FF4] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
-2FF5  ; [*145B.0020.0002.2FF5] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
-2FF6  ; [*145C.0020.0002.2FF6] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
-2FF7  ; [*145D.0020.0002.2FF7] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
-2FF8  ; [*145E.0020.0002.2FF8] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
-2FF9  ; [*145F.0020.0002.2FF9] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
-2FFA  ; [*1460.0020.0002.2FFA] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
-2FFB  ; [*1461.0020.0002.2FFB] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
-3000  ; [*020A.0020.0003.3000] # IDEOGRAPHIC SPACE; QQK
-3001  ; [*024D.0020.0002.3001] # IDEOGRAPHIC COMMA
-3002  ; [*029E.0020.0002.3002] # IDEOGRAPHIC FULL STOP
-3003  ; [*0383.0020.0002.3003] # DITTO MARK
-3004  ; [*1486.0020.0002.3004] # JAPANESE INDUSTRIAL STANDARD SYMBOL
-3008  ; [*034C.0020.0002.3008] # LEFT ANGLE BRACKET
-3009  ; [*034D.0020.0002.3009] # RIGHT ANGLE BRACKET
-300A  ; [*034E.0020.0002.300A] # LEFT DOUBLE ANGLE BRACKET
-300B  ; [*034F.0020.0002.300B] # RIGHT DOUBLE ANGLE BRACKET
-300C  ; [*0350.0020.0002.300C] # LEFT CORNER BRACKET
-300D  ; [*0351.0020.0002.300D] # RIGHT CORNER BRACKET
-300E  ; [*0352.0020.0002.300E] # LEFT WHITE CORNER BRACKET
-300F  ; [*0353.0020.0002.300F] # RIGHT WHITE CORNER BRACKET
-3010  ; [*0354.0020.0002.3010] # LEFT BLACK LENTICULAR BRACKET
-3011  ; [*0355.0020.0002.3011] # RIGHT BLACK LENTICULAR BRACKET
-3012  ; [*1487.0020.0002.3012] # POSTAL MARK
-3013  ; [*1488.0020.0002.3013] # GETA MARK
-3014  ; [*0356.0020.0002.3014] # LEFT TORTOISE SHELL BRACKET
-3015  ; [*0357.0020.0002.3015] # RIGHT TORTOISE SHELL BRACKET
-3016  ; [*0358.0020.0002.3016] # LEFT WHITE LENTICULAR BRACKET
-3017  ; [*0359.0020.0002.3017] # RIGHT WHITE LENTICULAR BRACKET
-3018  ; [*035A.0020.0002.3018] # LEFT WHITE TORTOISE SHELL BRACKET
-3019  ; [*035B.0020.0002.3019] # RIGHT WHITE TORTOISE SHELL BRACKET
-301A  ; [*035C.0020.0002.301A] # LEFT WHITE SQUARE BRACKET
-301B  ; [*035D.0020.0002.301B] # RIGHT WHITE SQUARE BRACKET
-301C  ; [*023D.0020.0002.301C] # WAVE DASH
-301D  ; [*0309.0020.0002.301D] # REVERSED DOUBLE PRIME QUOTATION MARK
-301E  ; [*030A.0020.0002.301E] # DOUBLE PRIME QUOTATION MARK
-301F  ; [*030B.0020.0002.301F] # LOW DOUBLE PRIME QUOTATION MARK
-3020  ; [*1489.0020.0002.3020] # POSTAL MARK FACE
-3030  ; [*023E.0020.0002.3030] # WAVY DASH
-3036  ; [*1487.0020.0004.3036] # CIRCLED POSTAL MARK; QQK
-3037  ; [*148A.0020.0002.3037] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
-303D  ; [*0384.0020.0002.303D] # PART ALTERNATION MARK
-303E  ; [*148B.0020.0002.303E] # IDEOGRAPHIC VARIATION INDICATOR
-303F  ; [*148C.0020.0002.303F] # IDEOGRAPHIC HALF FILL SPACE
-309B  ; [*022E.0020.0002.309B] # KATAKANA-HIRAGANA VOICED SOUND MARK
-309C  ; [*022F.0020.0002.309C] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-30A0  ; [*023F.0020.0002.30A0] # KATAKANA-HIRAGANA DOUBLE HYPHEN
-30FB  ; [*0240.0020.0002.30FB] # KATAKANA MIDDLE DOT
-3190  ; [*148D.0020.0002.3190] # IDEOGRAPHIC ANNOTATION LINKING MARK
-3191  ; [*148E.0020.0002.3191] # IDEOGRAPHIC ANNOTATION REVERSE MARK
-31C0  ; [*1462.0020.0002.31C0] # CJK STROKE T
-31C1  ; [*1463.0020.0002.31C1] # CJK STROKE WG
-31C2  ; [*1464.0020.0002.31C2] # CJK STROKE XG
-31C3  ; [*1465.0020.0002.31C3] # CJK STROKE BXG
-31C4  ; [*1466.0020.0002.31C4] # CJK STROKE SW
-31C5  ; [*1467.0020.0002.31C5] # CJK STROKE HZZ
-31C6  ; [*1468.0020.0002.31C6] # CJK STROKE HZG
-31C7  ; [*1469.0020.0002.31C7] # CJK STROKE HP
-31C8  ; [*146A.0020.0002.31C8] # CJK STROKE HZWG
-31C9  ; [*146B.0020.0002.31C9] # CJK STROKE SZWG
-31CA  ; [*146C.0020.0002.31CA] # CJK STROKE HZT
-31CB  ; [*146D.0020.0002.31CB] # CJK STROKE HZZP
-31CC  ; [*146E.0020.0002.31CC] # CJK STROKE HPWG
-31CD  ; [*146F.0020.0002.31CD] # CJK STROKE HZW
-31CE  ; [*1470.0020.0002.31CE] # CJK STROKE HZZZ
-31CF  ; [*1471.0020.0002.31CF] # CJK STROKE N
-31D0  ; [*1472.0020.0002.31D0] # CJK STROKE H
-31D1  ; [*1473.0020.0002.31D1] # CJK STROKE S
-31D2  ; [*1474.0020.0002.31D2] # CJK STROKE P
-31D3  ; [*1475.0020.0002.31D3] # CJK STROKE SP
-31D4  ; [*1476.0020.0002.31D4] # CJK STROKE D
-31D5  ; [*1477.0020.0002.31D5] # CJK STROKE HZ
-31D6  ; [*1478.0020.0002.31D6] # CJK STROKE HG
-31D7  ; [*1479.0020.0002.31D7] # CJK STROKE SZ
-31D8  ; [*147A.0020.0002.31D8] # CJK STROKE SWZ
-31D9  ; [*147B.0020.0002.31D9] # CJK STROKE ST
-31DA  ; [*147C.0020.0002.31DA] # CJK STROKE SG
-31DB  ; [*147D.0020.0002.31DB] # CJK STROKE PD
-31DC  ; [*147E.0020.0002.31DC] # CJK STROKE PZ
-31DD  ; [*147F.0020.0002.31DD] # CJK STROKE TN
-31DE  ; [*1480.0020.0002.31DE] # CJK STROKE SZZ
-31DF  ; [*1481.0020.0002.31DF] # CJK STROKE SWG
-31E0  ; [*1482.0020.0002.31E0] # CJK STROKE HXWG
-31E1  ; [*1483.0020.0002.31E1] # CJK STROKE HZZZG
-31E2  ; [*1484.0020.0002.31E2] # CJK STROKE PG
-31E3  ; [*1485.0020.0002.31E3] # CJK STROKE Q
-327F  ; [*148F.0020.0002.327F] # KOREAN STANDARD SYMBOL
-4DC0  ; [*0D7B.0020.0002.4DC0] # HEXAGRAM FOR THE CREATIVE HEAVEN
-4DC1  ; [*0D7C.0020.0002.4DC1] # HEXAGRAM FOR THE RECEPTIVE EARTH
-4DC2  ; [*0D7D.0020.0002.4DC2] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
-4DC3  ; [*0D7E.0020.0002.4DC3] # HEXAGRAM FOR YOUTHFUL FOLLY
-4DC4  ; [*0D7F.0020.0002.4DC4] # HEXAGRAM FOR WAITING
-4DC5  ; [*0D80.0020.0002.4DC5] # HEXAGRAM FOR CONFLICT
-4DC6  ; [*0D81.0020.0002.4DC6] # HEXAGRAM FOR THE ARMY
-4DC7  ; [*0D82.0020.0002.4DC7] # HEXAGRAM FOR HOLDING TOGETHER
-4DC8  ; [*0D83.0020.0002.4DC8] # HEXAGRAM FOR SMALL TAMING
-4DC9  ; [*0D84.0020.0002.4DC9] # HEXAGRAM FOR TREADING
-4DCA  ; [*0D85.0020.0002.4DCA] # HEXAGRAM FOR PEACE
-4DCB  ; [*0D86.0020.0002.4DCB] # HEXAGRAM FOR STANDSTILL
-4DCC  ; [*0D87.0020.0002.4DCC] # HEXAGRAM FOR FELLOWSHIP
-4DCD  ; [*0D88.0020.0002.4DCD] # HEXAGRAM FOR GREAT POSSESSION
-4DCE  ; [*0D89.0020.0002.4DCE] # HEXAGRAM FOR MODESTY
-4DCF  ; [*0D8A.0020.0002.4DCF] # HEXAGRAM FOR ENTHUSIASM
-4DD0  ; [*0D8B.0020.0002.4DD0] # HEXAGRAM FOR FOLLOWING
-4DD1  ; [*0D8C.0020.0002.4DD1] # HEXAGRAM FOR WORK ON THE DECAYED
-4DD2  ; [*0D8D.0020.0002.4DD2] # HEXAGRAM FOR APPROACH
-4DD3  ; [*0D8E.0020.0002.4DD3] # HEXAGRAM FOR CONTEMPLATION
-4DD4  ; [*0D8F.0020.0002.4DD4] # HEXAGRAM FOR BITING THROUGH
-4DD5  ; [*0D90.0020.0002.4DD5] # HEXAGRAM FOR GRACE
-4DD6  ; [*0D91.0020.0002.4DD6] # HEXAGRAM FOR SPLITTING APART
-4DD7  ; [*0D92.0020.0002.4DD7] # HEXAGRAM FOR RETURN
-4DD8  ; [*0D93.0020.0002.4DD8] # HEXAGRAM FOR INNOCENCE
-4DD9  ; [*0D94.0020.0002.4DD9] # HEXAGRAM FOR GREAT TAMING
-4DDA  ; [*0D95.0020.0002.4DDA] # HEXAGRAM FOR MOUTH CORNERS
-4DDB  ; [*0D96.0020.0002.4DDB] # HEXAGRAM FOR GREAT PREPONDERANCE
-4DDC  ; [*0D97.0020.0002.4DDC] # HEXAGRAM FOR THE ABYSMAL WATER
-4DDD  ; [*0D98.0020.0002.4DDD] # HEXAGRAM FOR THE CLINGING FIRE
-4DDE  ; [*0D99.0020.0002.4DDE] # HEXAGRAM FOR INFLUENCE
-4DDF  ; [*0D9A.0020.0002.4DDF] # HEXAGRAM FOR DURATION
-4DE0  ; [*0D9B.0020.0002.4DE0] # HEXAGRAM FOR RETREAT
-4DE1  ; [*0D9C.0020.0002.4DE1] # HEXAGRAM FOR GREAT POWER
-4DE2  ; [*0D9D.0020.0002.4DE2] # HEXAGRAM FOR PROGRESS
-4DE3  ; [*0D9E.0020.0002.4DE3] # HEXAGRAM FOR DARKENING OF THE LIGHT
-4DE4  ; [*0D9F.0020.0002.4DE4] # HEXAGRAM FOR THE FAMILY
-4DE5  ; [*0DA0.0020.0002.4DE5] # HEXAGRAM FOR OPPOSITION
-4DE6  ; [*0DA1.0020.0002.4DE6] # HEXAGRAM FOR OBSTRUCTION
-4DE7  ; [*0DA2.0020.0002.4DE7] # HEXAGRAM FOR DELIVERANCE
-4DE8  ; [*0DA3.0020.0002.4DE8] # HEXAGRAM FOR DECREASE
-4DE9  ; [*0DA4.0020.0002.4DE9] # HEXAGRAM FOR INCREASE
-4DEA  ; [*0DA5.0020.0002.4DEA] # HEXAGRAM FOR BREAKTHROUGH
-4DEB  ; [*0DA6.0020.0002.4DEB] # HEXAGRAM FOR COMING TO MEET
-4DEC  ; [*0DA7.0020.0002.4DEC] # HEXAGRAM FOR GATHERING TOGETHER
-4DED  ; [*0DA8.0020.0002.4DED] # HEXAGRAM FOR PUSHING UPWARD
-4DEE  ; [*0DA9.0020.0002.4DEE] # HEXAGRAM FOR OPPRESSION
-4DEF  ; [*0DAA.0020.0002.4DEF] # HEXAGRAM FOR THE WELL
-4DF0  ; [*0DAB.0020.0002.4DF0] # HEXAGRAM FOR REVOLUTION
-4DF1  ; [*0DAC.0020.0002.4DF1] # HEXAGRAM FOR THE CAULDRON
-4DF2  ; [*0DAD.0020.0002.4DF2] # HEXAGRAM FOR THE AROUSING THUNDER
-4DF3  ; [*0DAE.0020.0002.4DF3] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
-4DF4  ; [*0DAF.0020.0002.4DF4] # HEXAGRAM FOR DEVELOPMENT
-4DF5  ; [*0DB0.0020.0002.4DF5] # HEXAGRAM FOR THE MARRYING MAIDEN
-4DF6  ; [*0DB1.0020.0002.4DF6] # HEXAGRAM FOR ABUNDANCE
-4DF7  ; [*0DB2.0020.0002.4DF7] # HEXAGRAM FOR THE WANDERER
-4DF8  ; [*0DB3.0020.0002.4DF8] # HEXAGRAM FOR THE GENTLE WIND
-4DF9  ; [*0DB4.0020.0002.4DF9] # HEXAGRAM FOR THE JOYOUS LAKE
-4DFA  ; [*0DB5.0020.0002.4DFA] # HEXAGRAM FOR DISPERSION
-4DFB  ; [*0DB6.0020.0002.4DFB] # HEXAGRAM FOR LIMITATION
-4DFC  ; [*0DB7.0020.0002.4DFC] # HEXAGRAM FOR INNER TRUTH
-4DFD  ; [*0DB8.0020.0002.4DFD] # HEXAGRAM FOR SMALL PREPONDERANCE
-4DFE  ; [*0DB9.0020.0002.4DFE] # HEXAGRAM FOR AFTER COMPLETION
-4DFF  ; [*0DBA.0020.0002.4DFF] # HEXAGRAM FOR BEFORE COMPLETION
-A490  ; [*0E12.0020.0002.A490] # YI RADICAL QOT
-A491  ; [*0E13.0020.0002.A491] # YI RADICAL LI
-A492  ; [*0E14.0020.0002.A492] # YI RADICAL KIT
-A493  ; [*0E15.0020.0002.A493] # YI RADICAL NYIP
-A494  ; [*0E16.0020.0002.A494] # YI RADICAL CYP
-A495  ; [*0E17.0020.0002.A495] # YI RADICAL SSI
-A496  ; [*0E18.0020.0002.A496] # YI RADICAL GGOP
-A497  ; [*0E19.0020.0002.A497] # YI RADICAL GEP
-A498  ; [*0E1A.0020.0002.A498] # YI RADICAL MI
-A499  ; [*0E1B.0020.0002.A499] # YI RADICAL HXIT
-A49A  ; [*0E1C.0020.0002.A49A] # YI RADICAL LYR
-A49B  ; [*0E1D.0020.0002.A49B] # YI RADICAL BBUT
-A49C  ; [*0E1E.0020.0002.A49C] # YI RADICAL MOP
-A49D  ; [*0E1F.0020.0002.A49D] # YI RADICAL YO
-A49E  ; [*0E20.0020.0002.A49E] # YI RADICAL PUT
-A49F  ; [*0E21.0020.0002.A49F] # YI RADICAL HXUO
-A4A0  ; [*0E22.0020.0002.A4A0] # YI RADICAL TAT
-A4A1  ; [*0E23.0020.0002.A4A1] # YI RADICAL GA
-A4A2  ; [*0E24.0020.0002.A4A2] # YI RADICAL ZUP
-A4A3  ; [*0E25.0020.0002.A4A3] # YI RADICAL CYT
-A4A4  ; [*0E26.0020.0002.A4A4] # YI RADICAL DDUR
-A4A5  ; [*0E27.0020.0002.A4A5] # YI RADICAL BUR
-A4A6  ; [*0E28.0020.0002.A4A6] # YI RADICAL GGUO
-A4A7  ; [*0E29.0020.0002.A4A7] # YI RADICAL NYOP
-A4A8  ; [*0E2A.0020.0002.A4A8] # YI RADICAL TU
-A4A9  ; [*0E2B.0020.0002.A4A9] # YI RADICAL OP
-A4AA  ; [*0E2C.0020.0002.A4AA] # YI RADICAL JJUT
-A4AB  ; [*0E2D.0020.0002.A4AB] # YI RADICAL ZOT
-A4AC  ; [*0E2E.0020.0002.A4AC] # YI RADICAL PYT
-A4AD  ; [*0E2F.0020.0002.A4AD] # YI RADICAL HMO
-A4AE  ; [*0E30.0020.0002.A4AE] # YI RADICAL YIT
-A4AF  ; [*0E31.0020.0002.A4AF] # YI RADICAL VUR
-A4B0  ; [*0E32.0020.0002.A4B0] # YI RADICAL SHY
-A4B1  ; [*0E33.0020.0002.A4B1] # YI RADICAL VEP
-A4B2  ; [*0E34.0020.0002.A4B2] # YI RADICAL ZA
-A4B3  ; [*0E35.0020.0002.A4B3] # YI RADICAL JO
-A4B4  ; [*0E36.0020.0002.A4B4] # YI RADICAL NZUP
-A4B5  ; [*0E37.0020.0002.A4B5] # YI RADICAL JJY
-A4B6  ; [*0E38.0020.0002.A4B6] # YI RADICAL GOT
-A4B7  ; [*0E39.0020.0002.A4B7] # YI RADICAL JJIE
-A4B8  ; [*0E3A.0020.0002.A4B8] # YI RADICAL WO
-A4B9  ; [*0E3B.0020.0002.A4B9] # YI RADICAL DU
-A4BA  ; [*0E3C.0020.0002.A4BA] # YI RADICAL SHUR
-A4BB  ; [*0E3D.0020.0002.A4BB] # YI RADICAL LIE
-A4BC  ; [*0E3E.0020.0002.A4BC] # YI RADICAL CY
-A4BD  ; [*0E3F.0020.0002.A4BD] # YI RADICAL CUOP
-A4BE  ; [*0E40.0020.0002.A4BE] # YI RADICAL CIP
-A4BF  ; [*0E41.0020.0002.A4BF] # YI RADICAL HXOP
-A4C0  ; [*0E42.0020.0002.A4C0] # YI RADICAL SHAT
-A4C1  ; [*0E43.0020.0002.A4C1] # YI RADICAL ZUR
-A4C2  ; [*0E44.0020.0002.A4C2] # YI RADICAL SHOP
-A4C3  ; [*0E45.0020.0002.A4C3] # YI RADICAL CHE
-A4C4  ; [*0E46.0020.0002.A4C4] # YI RADICAL ZZIET
-A4C5  ; [*0E47.0020.0002.A4C5] # YI RADICAL NBIE
-A4C6  ; [*0E48.0020.0002.A4C6] # YI RADICAL KE
-A4FE  ; [*024A.0020.0002.A4FE] # LISU PUNCTUATION COMMA
-A4FF  ; [*029B.0020.0002.A4FF] # LISU PUNCTUATION FULL STOP
-A60D  ; [*024B.0020.0002.A60D] # VAI COMMA
-A60E  ; [*029C.0020.0002.A60E] # VAI FULL STOP
-A60F  ; [*028A.0020.0002.A60F] # VAI QUESTION MARK
+2E00  ; [*0394.0020.0002.2E00] # RIGHT ANGLE SUBSTITUTION MARKER
+2E01  ; [*0395.0020.0002.2E01] # RIGHT ANGLE DOTTED SUBSTITUTION MARKER
+2E02  ; [*033B.0020.0002.2E02] # LEFT SUBSTITUTION BRACKET
+2E03  ; [*033C.0020.0002.2E03] # RIGHT SUBSTITUTION BRACKET
+2E04  ; [*033D.0020.0002.2E04] # LEFT DOTTED SUBSTITUTION BRACKET
+2E05  ; [*033E.0020.0002.2E05] # RIGHT DOTTED SUBSTITUTION BRACKET
+2E06  ; [*0396.0020.0002.2E06] # RAISED INTERPOLATION MARKER
+2E07  ; [*0397.0020.0002.2E07] # RAISED DOTTED INTERPOLATION MARKER
+2E08  ; [*0398.0020.0002.2E08] # DOTTED TRANSPOSITION MARKER
+2E09  ; [*033F.0020.0002.2E09] # LEFT TRANSPOSITION BRACKET
+2E0A  ; [*0340.0020.0002.2E0A] # RIGHT TRANSPOSITION BRACKET
+2E0B  ; [*0399.0020.0002.2E0B] # RAISED SQUARE
+2E0C  ; [*0341.0020.0002.2E0C] # LEFT RAISED OMISSION BRACKET
+2E0D  ; [*0342.0020.0002.2E0D] # RIGHT RAISED OMISSION BRACKET
+2E0E  ; [*039A.0020.0002.2E0E] # EDITORIAL CORONIS
+2E0F  ; [*039B.0020.0002.2E0F] # PARAGRAPHOS
+2E10  ; [*039C.0020.0002.2E10] # FORKED PARAGRAPHOS
+2E11  ; [*039D.0020.0002.2E11] # REVERSED FORKED PARAGRAPHOS
+2E12  ; [*039E.0020.0002.2E12] # HYPODIASTOLE
+2E13  ; [*039F.0020.0002.2E13] # DOTTED OBELOS
+2E14  ; [*03A0.0020.0002.2E14] # DOWNWARDS ANCORA
+2E15  ; [*03A1.0020.0002.2E15] # UPWARDS ANCORA
+2E16  ; [*03A2.0020.0002.2E16] # DOTTED RIGHT-POINTING ANGLE
+2E17  ; [*021C.0020.0002.2E17] # DOUBLE OBLIQUE HYPHEN
+2E18  ; [*0272.0020.0002.2E18] # INVERTED INTERROBANG
+2E19  ; [*02DE.0020.0002.2E19] # PALM BRANCH
+2E1A  ; [*03A3.0020.0002.2E1A] # HYPHEN WITH DIAERESIS
+2E1B  ; [*03A4.0020.0002.2E1B] # TILDE WITH RING ABOVE
+2E1C  ; [*0343.0020.0002.2E1C] # LEFT LOW PARAPHRASE BRACKET
+2E1D  ; [*0344.0020.0002.2E1D] # RIGHT LOW PARAPHRASE BRACKET
+2E1E  ; [*03A5.0020.0002.2E1E] # TILDE WITH DOT ABOVE
+2E1F  ; [*03A6.0020.0002.2E1F] # TILDE WITH DOT BELOW
+2E20  ; [*0345.0020.0002.2E20] # LEFT VERTICAL BAR WITH QUILL
+2E21  ; [*0346.0020.0002.2E21] # RIGHT VERTICAL BAR WITH QUILL
+2E22  ; [*0347.0020.0002.2E22] # TOP LEFT HALF BRACKET
+2E23  ; [*0348.0020.0002.2E23] # TOP RIGHT HALF BRACKET
+2E24  ; [*0349.0020.0002.2E24] # BOTTOM LEFT HALF BRACKET
+2E25  ; [*034A.0020.0002.2E25] # BOTTOM RIGHT HALF BRACKET
+2E26  ; [*034B.0020.0002.2E26] # LEFT SIDEWAYS U BRACKET
+2E27  ; [*034C.0020.0002.2E27] # RIGHT SIDEWAYS U BRACKET
+2E28  ; [*034D.0020.0002.2E28] # LEFT DOUBLE PARENTHESIS
+2E29  ; [*034E.0020.0002.2E29] # RIGHT DOUBLE PARENTHESIS
+2E2A  ; [*02D8.0020.0002.2E2A] # TWO DOTS OVER ONE DOT PUNCTUATION
+2E2B  ; [*02D9.0020.0002.2E2B] # ONE DOT OVER TWO DOTS PUNCTUATION
+2E2C  ; [*02DA.0020.0002.2E2C] # SQUARED FOUR DOT PUNCTUATION
+2E2D  ; [*02DB.0020.0002.2E2D] # FIVE DOT MARK
+2E2E  ; [*0265.0020.0002.2E2E] # REVERSED QUESTION MARK
+2E30  ; [*027F.0020.0002.2E30] # RING POINT
+2E31  ; [*0285.0020.0002.2E31] # WORD SEPARATOR MIDDLE DOT
+2E32  ; [*0223.0020.0002.2E32] # TURNED COMMA
+2E33  ; [*0286.0020.0002.2E33] # RAISED DOT
+2E34  ; [*0222.0020.0002.2E34] # RAISED COMMA
+2E35  ; [*0235.0020.0002.2E35] # TURNED SEMICOLON
+2E36  ; [*037F.0020.0002.2E36] # DAGGER WITH LEFT GUARD
+2E37  ; [*0380.0020.0002.2E37] # DAGGER WITH RIGHT GUARD
+2E38  ; [*0381.0020.0002.2E38] # TURNED DAGGER
+2E39  ; [*0369.0020.0002.2E39] # TOP HALF SECTION SIGN
+2E3A  ; [*0219.0020.0002.2E3A] # TWO-EM DASH
+2E3B  ; [*021A.0020.0002.2E3B] # THREE-EM DASH
+2FF0  ; [*149D.0020.0002.2FF0] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT
+2FF1  ; [*149E.0020.0002.2FF1] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW
+2FF2  ; [*149F.0020.0002.2FF2] # IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT
+2FF3  ; [*14A0.0020.0002.2FF3] # IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW
+2FF4  ; [*14A1.0020.0002.2FF4] # IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND
+2FF5  ; [*14A2.0020.0002.2FF5] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE
+2FF6  ; [*14A3.0020.0002.2FF6] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW
+2FF7  ; [*14A4.0020.0002.2FF7] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT
+2FF8  ; [*14A5.0020.0002.2FF8] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT
+2FF9  ; [*14A6.0020.0002.2FF9] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT
+2FFA  ; [*14A7.0020.0002.2FFA] # IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT
+2FFB  ; [*14A8.0020.0002.2FFB] # IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
+3000  ; [*020A.0020.0003.3000] # IDEOGRAPHIC SPACE
+3001  ; [*022F.0020.0002.3001] # IDEOGRAPHIC COMMA
+3002  ; [*0283.0020.0002.3002] # IDEOGRAPHIC FULL STOP
+3003  ; [*038A.0020.0002.3003] # DITTO MARK
+3004  ; [*14CD.0020.0002.3004] # JAPANESE INDUSTRIAL STANDARD SYMBOL
+3008  ; [*034F.0020.0002.3008] # LEFT ANGLE BRACKET
+3009  ; [*0350.0020.0002.3009] # RIGHT ANGLE BRACKET
+300A  ; [*0351.0020.0002.300A] # LEFT DOUBLE ANGLE BRACKET
+300B  ; [*0352.0020.0002.300B] # RIGHT DOUBLE ANGLE BRACKET
+300C  ; [*0353.0020.0002.300C] # LEFT CORNER BRACKET
+300D  ; [*0354.0020.0002.300D] # RIGHT CORNER BRACKET
+300E  ; [*0355.0020.0002.300E] # LEFT WHITE CORNER BRACKET
+300F  ; [*0356.0020.0002.300F] # RIGHT WHITE CORNER BRACKET
+3010  ; [*0357.0020.0002.3010] # LEFT BLACK LENTICULAR BRACKET
+3011  ; [*0358.0020.0002.3011] # RIGHT BLACK LENTICULAR BRACKET
+3012  ; [*14CE.0020.0002.3012] # POSTAL MARK
+3013  ; [*14CF.0020.0002.3013] # GETA MARK
+3014  ; [*0359.0020.0002.3014] # LEFT TORTOISE SHELL BRACKET
+3015  ; [*035A.0020.0002.3015] # RIGHT TORTOISE SHELL BRACKET
+3016  ; [*035B.0020.0002.3016] # LEFT WHITE LENTICULAR BRACKET
+3017  ; [*035C.0020.0002.3017] # RIGHT WHITE LENTICULAR BRACKET
+3018  ; [*035D.0020.0002.3018] # LEFT WHITE TORTOISE SHELL BRACKET
+3019  ; [*035E.0020.0002.3019] # RIGHT WHITE TORTOISE SHELL BRACKET
+301A  ; [*035F.0020.0002.301A] # LEFT WHITE SQUARE BRACKET
+301B  ; [*0360.0020.0002.301B] # RIGHT WHITE SQUARE BRACKET
+301C  ; [*021D.0020.0002.301C] # WAVE DASH
+301D  ; [*02F6.0020.0002.301D] # REVERSED DOUBLE PRIME QUOTATION MARK
+301E  ; [*02F7.0020.0002.301E] # DOUBLE PRIME QUOTATION MARK
+301F  ; [*02F8.0020.0002.301F] # LOW DOUBLE PRIME QUOTATION MARK
+3020  ; [*14D0.0020.0002.3020] # POSTAL MARK FACE
+3030  ; [*021E.0020.0002.3030] # WAVY DASH
+3036  ; [*14CE.0020.0004.3036] # CIRCLED POSTAL MARK
+3037  ; [*14D1.0020.0002.3037] # IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
+303D  ; [*038B.0020.0002.303D] # PART ALTERNATION MARK
+303E  ; [*14D2.0020.0002.303E] # IDEOGRAPHIC VARIATION INDICATOR
+303F  ; [*14D3.0020.0002.303F] # IDEOGRAPHIC HALF FILL SPACE
+309B  ; [*041E.0020.0002.309B] # KATAKANA-HIRAGANA VOICED SOUND MARK
+309C  ; [*041F.0020.0002.309C] # KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+30A0  ; [*021F.0020.0002.30A0] # KATAKANA-HIRAGANA DOUBLE HYPHEN
+30FB  ; [*0220.0020.0002.30FB] # KATAKANA MIDDLE DOT
+3190  ; [*14D4.0020.0002.3190] # IDEOGRAPHIC ANNOTATION LINKING MARK
+3191  ; [*14D5.0020.0002.3191] # IDEOGRAPHIC ANNOTATION REVERSE MARK
+31C0  ; [*14A9.0020.0002.31C0] # CJK STROKE T
+31C1  ; [*14AA.0020.0002.31C1] # CJK STROKE WG
+31C2  ; [*14AB.0020.0002.31C2] # CJK STROKE XG
+31C3  ; [*14AC.0020.0002.31C3] # CJK STROKE BXG
+31C4  ; [*14AD.0020.0002.31C4] # CJK STROKE SW
+31C5  ; [*14AE.0020.0002.31C5] # CJK STROKE HZZ
+31C6  ; [*14AF.0020.0002.31C6] # CJK STROKE HZG
+31C7  ; [*14B0.0020.0002.31C7] # CJK STROKE HP
+31C8  ; [*14B1.0020.0002.31C8] # CJK STROKE HZWG
+31C9  ; [*14B2.0020.0002.31C9] # CJK STROKE SZWG
+31CA  ; [*14B3.0020.0002.31CA] # CJK STROKE HZT
+31CB  ; [*14B4.0020.0002.31CB] # CJK STROKE HZZP
+31CC  ; [*14B5.0020.0002.31CC] # CJK STROKE HPWG
+31CD  ; [*14B6.0020.0002.31CD] # CJK STROKE HZW
+31CE  ; [*14B7.0020.0002.31CE] # CJK STROKE HZZZ
+31CF  ; [*14B8.0020.0002.31CF] # CJK STROKE N
+31D0  ; [*14B9.0020.0002.31D0] # CJK STROKE H
+31D1  ; [*14BA.0020.0002.31D1] # CJK STROKE S
+31D2  ; [*14BB.0020.0002.31D2] # CJK STROKE P
+31D3  ; [*14BC.0020.0002.31D3] # CJK STROKE SP
+31D4  ; [*14BD.0020.0002.31D4] # CJK STROKE D
+31D5  ; [*14BE.0020.0002.31D5] # CJK STROKE HZ
+31D6  ; [*14BF.0020.0002.31D6] # CJK STROKE HG
+31D7  ; [*14C0.0020.0002.31D7] # CJK STROKE SZ
+31D8  ; [*14C1.0020.0002.31D8] # CJK STROKE SWZ
+31D9  ; [*14C2.0020.0002.31D9] # CJK STROKE ST
+31DA  ; [*14C3.0020.0002.31DA] # CJK STROKE SG
+31DB  ; [*14C4.0020.0002.31DB] # CJK STROKE PD
+31DC  ; [*14C5.0020.0002.31DC] # CJK STROKE PZ
+31DD  ; [*14C6.0020.0002.31DD] # CJK STROKE TN
+31DE  ; [*14C7.0020.0002.31DE] # CJK STROKE SZZ
+31DF  ; [*14C8.0020.0002.31DF] # CJK STROKE SWG
+31E0  ; [*14C9.0020.0002.31E0] # CJK STROKE HXWG
+31E1  ; [*14CA.0020.0002.31E1] # CJK STROKE HZZZG
+31E2  ; [*14CB.0020.0002.31E2] # CJK STROKE PG
+31E3  ; [*14CC.0020.0002.31E3] # CJK STROKE Q
+327F  ; [*14D6.0020.0002.327F] # KOREAN STANDARD SYMBOL
+4DC0  ; [*0DB1.0020.0002.4DC0] # HEXAGRAM FOR THE CREATIVE HEAVEN
+4DC1  ; [*0DB2.0020.0002.4DC1] # HEXAGRAM FOR THE RECEPTIVE EARTH
+4DC2  ; [*0DB3.0020.0002.4DC2] # HEXAGRAM FOR DIFFICULTY AT THE BEGINNING
+4DC3  ; [*0DB4.0020.0002.4DC3] # HEXAGRAM FOR YOUTHFUL FOLLY
+4DC4  ; [*0DB5.0020.0002.4DC4] # HEXAGRAM FOR WAITING
+4DC5  ; [*0DB6.0020.0002.4DC5] # HEXAGRAM FOR CONFLICT
+4DC6  ; [*0DB7.0020.0002.4DC6] # HEXAGRAM FOR THE ARMY
+4DC7  ; [*0DB8.0020.0002.4DC7] # HEXAGRAM FOR HOLDING TOGETHER
+4DC8  ; [*0DB9.0020.0002.4DC8] # HEXAGRAM FOR SMALL TAMING
+4DC9  ; [*0DBA.0020.0002.4DC9] # HEXAGRAM FOR TREADING
+4DCA  ; [*0DBB.0020.0002.4DCA] # HEXAGRAM FOR PEACE
+4DCB  ; [*0DBC.0020.0002.4DCB] # HEXAGRAM FOR STANDSTILL
+4DCC  ; [*0DBD.0020.0002.4DCC] # HEXAGRAM FOR FELLOWSHIP
+4DCD  ; [*0DBE.0020.0002.4DCD] # HEXAGRAM FOR GREAT POSSESSION
+4DCE  ; [*0DBF.0020.0002.4DCE] # HEXAGRAM FOR MODESTY
+4DCF  ; [*0DC0.0020.0002.4DCF] # HEXAGRAM FOR ENTHUSIASM
+4DD0  ; [*0DC1.0020.0002.4DD0] # HEXAGRAM FOR FOLLOWING
+4DD1  ; [*0DC2.0020.0002.4DD1] # HEXAGRAM FOR WORK ON THE DECAYED
+4DD2  ; [*0DC3.0020.0002.4DD2] # HEXAGRAM FOR APPROACH
+4DD3  ; [*0DC4.0020.0002.4DD3] # HEXAGRAM FOR CONTEMPLATION
+4DD4  ; [*0DC5.0020.0002.4DD4] # HEXAGRAM FOR BITING THROUGH
+4DD5  ; [*0DC6.0020.0002.4DD5] # HEXAGRAM FOR GRACE
+4DD6  ; [*0DC7.0020.0002.4DD6] # HEXAGRAM FOR SPLITTING APART
+4DD7  ; [*0DC8.0020.0002.4DD7] # HEXAGRAM FOR RETURN
+4DD8  ; [*0DC9.0020.0002.4DD8] # HEXAGRAM FOR INNOCENCE
+4DD9  ; [*0DCA.0020.0002.4DD9] # HEXAGRAM FOR GREAT TAMING
+4DDA  ; [*0DCB.0020.0002.4DDA] # HEXAGRAM FOR MOUTH CORNERS
+4DDB  ; [*0DCC.0020.0002.4DDB] # HEXAGRAM FOR GREAT PREPONDERANCE
+4DDC  ; [*0DCD.0020.0002.4DDC] # HEXAGRAM FOR THE ABYSMAL WATER
+4DDD  ; [*0DCE.0020.0002.4DDD] # HEXAGRAM FOR THE CLINGING FIRE
+4DDE  ; [*0DCF.0020.0002.4DDE] # HEXAGRAM FOR INFLUENCE
+4DDF  ; [*0DD0.0020.0002.4DDF] # HEXAGRAM FOR DURATION
+4DE0  ; [*0DD1.0020.0002.4DE0] # HEXAGRAM FOR RETREAT
+4DE1  ; [*0DD2.0020.0002.4DE1] # HEXAGRAM FOR GREAT POWER
+4DE2  ; [*0DD3.0020.0002.4DE2] # HEXAGRAM FOR PROGRESS
+4DE3  ; [*0DD4.0020.0002.4DE3] # HEXAGRAM FOR DARKENING OF THE LIGHT
+4DE4  ; [*0DD5.0020.0002.4DE4] # HEXAGRAM FOR THE FAMILY
+4DE5  ; [*0DD6.0020.0002.4DE5] # HEXAGRAM FOR OPPOSITION
+4DE6  ; [*0DD7.0020.0002.4DE6] # HEXAGRAM FOR OBSTRUCTION
+4DE7  ; [*0DD8.0020.0002.4DE7] # HEXAGRAM FOR DELIVERANCE
+4DE8  ; [*0DD9.0020.0002.4DE8] # HEXAGRAM FOR DECREASE
+4DE9  ; [*0DDA.0020.0002.4DE9] # HEXAGRAM FOR INCREASE
+4DEA  ; [*0DDB.0020.0002.4DEA] # HEXAGRAM FOR BREAKTHROUGH
+4DEB  ; [*0DDC.0020.0002.4DEB] # HEXAGRAM FOR COMING TO MEET
+4DEC  ; [*0DDD.0020.0002.4DEC] # HEXAGRAM FOR GATHERING TOGETHER
+4DED  ; [*0DDE.0020.0002.4DED] # HEXAGRAM FOR PUSHING UPWARD
+4DEE  ; [*0DDF.0020.0002.4DEE] # HEXAGRAM FOR OPPRESSION
+4DEF  ; [*0DE0.0020.0002.4DEF] # HEXAGRAM FOR THE WELL
+4DF0  ; [*0DE1.0020.0002.4DF0] # HEXAGRAM FOR REVOLUTION
+4DF1  ; [*0DE2.0020.0002.4DF1] # HEXAGRAM FOR THE CAULDRON
+4DF2  ; [*0DE3.0020.0002.4DF2] # HEXAGRAM FOR THE AROUSING THUNDER
+4DF3  ; [*0DE4.0020.0002.4DF3] # HEXAGRAM FOR THE KEEPING STILL MOUNTAIN
+4DF4  ; [*0DE5.0020.0002.4DF4] # HEXAGRAM FOR DEVELOPMENT
+4DF5  ; [*0DE6.0020.0002.4DF5] # HEXAGRAM FOR THE MARRYING MAIDEN
+4DF6  ; [*0DE7.0020.0002.4DF6] # HEXAGRAM FOR ABUNDANCE
+4DF7  ; [*0DE8.0020.0002.4DF7] # HEXAGRAM FOR THE WANDERER
+4DF8  ; [*0DE9.0020.0002.4DF8] # HEXAGRAM FOR THE GENTLE WIND
+4DF9  ; [*0DEA.0020.0002.4DF9] # HEXAGRAM FOR THE JOYOUS LAKE
+4DFA  ; [*0DEB.0020.0002.4DFA] # HEXAGRAM FOR DISPERSION
+4DFB  ; [*0DEC.0020.0002.4DFB] # HEXAGRAM FOR LIMITATION
+4DFC  ; [*0DED.0020.0002.4DFC] # HEXAGRAM FOR INNER TRUTH
+4DFD  ; [*0DEE.0020.0002.4DFD] # HEXAGRAM FOR SMALL PREPONDERANCE
+4DFE  ; [*0DEF.0020.0002.4DFE] # HEXAGRAM FOR AFTER COMPLETION
+4DFF  ; [*0DF0.0020.0002.4DFF] # HEXAGRAM FOR BEFORE COMPLETION
+A490  ; [*0E48.0020.0002.A490] # YI RADICAL QOT
+A491  ; [*0E49.0020.0002.A491] # YI RADICAL LI
+A492  ; [*0E4A.0020.0002.A492] # YI RADICAL KIT
+A493  ; [*0E4B.0020.0002.A493] # YI RADICAL NYIP
+A494  ; [*0E4C.0020.0002.A494] # YI RADICAL CYP
+A495  ; [*0E4D.0020.0002.A495] # YI RADICAL SSI
+A496  ; [*0E4E.0020.0002.A496] # YI RADICAL GGOP
+A497  ; [*0E4F.0020.0002.A497] # YI RADICAL GEP
+A498  ; [*0E50.0020.0002.A498] # YI RADICAL MI
+A499  ; [*0E51.0020.0002.A499] # YI RADICAL HXIT
+A49A  ; [*0E52.0020.0002.A49A] # YI RADICAL LYR
+A49B  ; [*0E53.0020.0002.A49B] # YI RADICAL BBUT
+A49C  ; [*0E54.0020.0002.A49C] # YI RADICAL MOP
+A49D  ; [*0E55.0020.0002.A49D] # YI RADICAL YO
+A49E  ; [*0E56.0020.0002.A49E] # YI RADICAL PUT
+A49F  ; [*0E57.0020.0002.A49F] # YI RADICAL HXUO
+A4A0  ; [*0E58.0020.0002.A4A0] # YI RADICAL TAT
+A4A1  ; [*0E59.0020.0002.A4A1] # YI RADICAL GA
+A4A2  ; [*0E5A.0020.0002.A4A2] # YI RADICAL ZUP
+A4A3  ; [*0E5B.0020.0002.A4A3] # YI RADICAL CYT
+A4A4  ; [*0E5C.0020.0002.A4A4] # YI RADICAL DDUR
+A4A5  ; [*0E5D.0020.0002.A4A5] # YI RADICAL BUR
+A4A6  ; [*0E5E.0020.0002.A4A6] # YI RADICAL GGUO
+A4A7  ; [*0E5F.0020.0002.A4A7] # YI RADICAL NYOP
+A4A8  ; [*0E60.0020.0002.A4A8] # YI RADICAL TU
+A4A9  ; [*0E61.0020.0002.A4A9] # YI RADICAL OP
+A4AA  ; [*0E62.0020.0002.A4AA] # YI RADICAL JJUT
+A4AB  ; [*0E63.0020.0002.A4AB] # YI RADICAL ZOT
+A4AC  ; [*0E64.0020.0002.A4AC] # YI RADICAL PYT
+A4AD  ; [*0E65.0020.0002.A4AD] # YI RADICAL HMO
+A4AE  ; [*0E66.0020.0002.A4AE] # YI RADICAL YIT
+A4AF  ; [*0E67.0020.0002.A4AF] # YI RADICAL VUR
+A4B0  ; [*0E68.0020.0002.A4B0] # YI RADICAL SHY
+A4B1  ; [*0E69.0020.0002.A4B1] # YI RADICAL VEP
+A4B2  ; [*0E6A.0020.0002.A4B2] # YI RADICAL ZA
+A4B3  ; [*0E6B.0020.0002.A4B3] # YI RADICAL JO
+A4B4  ; [*0E6C.0020.0002.A4B4] # YI RADICAL NZUP
+A4B5  ; [*0E6D.0020.0002.A4B5] # YI RADICAL JJY
+A4B6  ; [*0E6E.0020.0002.A4B6] # YI RADICAL GOT
+A4B7  ; [*0E6F.0020.0002.A4B7] # YI RADICAL JJIE
+A4B8  ; [*0E70.0020.0002.A4B8] # YI RADICAL WO
+A4B9  ; [*0E71.0020.0002.A4B9] # YI RADICAL DU
+A4BA  ; [*0E72.0020.0002.A4BA] # YI RADICAL SHUR
+A4BB  ; [*0E73.0020.0002.A4BB] # YI RADICAL LIE
+A4BC  ; [*0E74.0020.0002.A4BC] # YI RADICAL CY
+A4BD  ; [*0E75.0020.0002.A4BD] # YI RADICAL CUOP
+A4BE  ; [*0E76.0020.0002.A4BE] # YI RADICAL CIP
+A4BF  ; [*0E77.0020.0002.A4BF] # YI RADICAL HXOP
+A4C0  ; [*0E78.0020.0002.A4C0] # YI RADICAL SHAT
+A4C1  ; [*0E79.0020.0002.A4C1] # YI RADICAL ZUR
+A4C2  ; [*0E7A.0020.0002.A4C2] # YI RADICAL SHOP
+A4C3  ; [*0E7B.0020.0002.A4C3] # YI RADICAL CHE
+A4C4  ; [*0E7C.0020.0002.A4C4] # YI RADICAL ZZIET
+A4C5  ; [*0E7D.0020.0002.A4C5] # YI RADICAL NBIE
+A4C6  ; [*0E7E.0020.0002.A4C6] # YI RADICAL KE
+A4FE  ; [*022C.0020.0002.A4FE] # LISU PUNCTUATION COMMA
+A4FF  ; [*0280.0020.0002.A4FF] # LISU PUNCTUATION FULL STOP
+A60D  ; [*022D.0020.0002.A60D] # VAI COMMA
+A60E  ; [*0281.0020.0002.A60E] # VAI FULL STOP
+A60F  ; [*026D.0020.0002.A60F] # VAI QUESTION MARK
 A670  ; [.0000.0000.0000.A670] # COMBINING CYRILLIC TEN MILLIONS SIGN
 A671  ; [.0000.0000.0000.A671] # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
 A672  ; [.0000.0000.0000.A672] # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A673  ; [*036A.0020.0002.A673] # SLAVONIC ASTERISK
-A67E  ; [*03A0.0020.0002.A67E] # CYRILLIC KAVYKA
-A6F2  ; [*02D7.0020.0002.A6F2] # BAMUM NJAEMLI
-A6F3  ; [*029D.0020.0002.A6F3] # BAMUM FULL STOP
-A6F4  ; [*027A.0020.0002.A6F4] # BAMUM COLON
-A6F5  ; [*024C.0020.0002.A6F5] # BAMUM COMMA
-A6F6  ; [*0253.0020.0002.A6F6] # BAMUM SEMICOLON
-A6F7  ; [*028B.0020.0002.A6F7] # BAMUM QUESTION MARK
-A700  ; [*0441.0020.0002.A700] # MODIFIER LETTER CHINESE TONE YIN PING
-A701  ; [*0442.0020.0002.A701] # MODIFIER LETTER CHINESE TONE YANG PING
-A702  ; [*0443.0020.0002.A702] # MODIFIER LETTER CHINESE TONE YIN SHANG
-A703  ; [*0444.0020.0002.A703] # MODIFIER LETTER CHINESE TONE YANG SHANG
-A704  ; [*0445.0020.0002.A704] # MODIFIER LETTER CHINESE TONE YIN QU
-A705  ; [*0446.0020.0002.A705] # MODIFIER LETTER CHINESE TONE YANG QU
-A706  ; [*0447.0020.0002.A706] # MODIFIER LETTER CHINESE TONE YIN RU
-A707  ; [*0448.0020.0002.A707] # MODIFIER LETTER CHINESE TONE YANG RU
-A708  ; [*0449.0020.0002.A708] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
-A709  ; [*044A.0020.0002.A709] # MODIFIER LETTER HIGH DOTTED TONE BAR
-A70A  ; [*044B.0020.0002.A70A] # MODIFIER LETTER MID DOTTED TONE BAR
-A70B  ; [*044C.0020.0002.A70B] # MODIFIER LETTER LOW DOTTED TONE BAR
-A70C  ; [*044D.0020.0002.A70C] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
-A70D  ; [*044E.0020.0002.A70D] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
-A70E  ; [*044F.0020.0002.A70E] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
-A70F  ; [*0450.0020.0002.A70F] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
-A710  ; [*0451.0020.0002.A710] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
-A711  ; [*0452.0020.0002.A711] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
-A712  ; [*0453.0020.0002.A712] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
-A713  ; [*0454.0020.0002.A713] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
-A714  ; [*0455.0020.0002.A714] # MODIFIER LETTER MID LEFT-STEM TONE BAR
-A715  ; [*0456.0020.0002.A715] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
-A716  ; [*0457.0020.0002.A716] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
-A717  ; [*0458.0020.0002.A717] # MODIFIER LETTER DOT VERTICAL BAR
-A718  ; [*0459.0020.0002.A718] # MODIFIER LETTER DOT SLASH
-A719  ; [*045A.0020.0002.A719] # MODIFIER LETTER DOT HORIZONTAL BAR
-A71A  ; [*045B.0020.0002.A71A] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
-A71B  ; [*045C.0020.0002.A71B] # MODIFIER LETTER RAISED UP ARROW
-A71C  ; [*045D.0020.0002.A71C] # MODIFIER LETTER RAISED DOWN ARROW
-A71D  ; [*045E.0020.0002.A71D] # MODIFIER LETTER RAISED EXCLAMATION MARK
-A71E  ; [*045F.0020.0002.A71E] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
-A71F  ; [*0460.0020.0002.A71F] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
-A720  ; [*0461.0020.0002.A720] # MODIFIER LETTER STRESS AND HIGH TONE
-A721  ; [*0462.0020.0002.A721] # MODIFIER LETTER STRESS AND LOW TONE
-A788  ; [*0463.0020.0002.A788] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
-A789  ; [*0464.0020.0002.A789] # MODIFIER LETTER COLON
-A78A  ; [*0465.0020.0002.A78A] # MODIFIER LETTER SHORT EQUALS SIGN
-A828  ; [*047A.0020.0002.A828] # SYLOTI NAGRI POETRY MARK-1
-A829  ; [*047B.0020.0002.A829] # SYLOTI NAGRI POETRY MARK-2
-A82A  ; [*047C.0020.0002.A82A] # SYLOTI NAGRI POETRY MARK-3
-A82B  ; [*047D.0020.0002.A82B] # SYLOTI NAGRI POETRY MARK-4
-A830  ; [*149E.0020.0002.A830] # NORTH INDIC FRACTION ONE QUARTER
-A831  ; [*149F.0020.0002.A831] # NORTH INDIC FRACTION ONE HALF
-A832  ; [*14A0.0020.0002.A832] # NORTH INDIC FRACTION THREE QUARTERS
-A833  ; [*14A1.0020.0002.A833] # NORTH INDIC FRACTION ONE SIXTEENTH
-A834  ; [*14A2.0020.0002.A834] # NORTH INDIC FRACTION ONE EIGHTH
-A835  ; [*14A3.0020.0002.A835] # NORTH INDIC FRACTION THREE SIXTEENTHS
-A836  ; [*047E.0020.0002.A836] # NORTH INDIC QUARTER MARK
-A837  ; [*047F.0020.0002.A837] # NORTH INDIC PLACEHOLDER MARK
-A839  ; [*0480.0020.0002.A839] # NORTH INDIC QUANTITY MARK
-A874  ; [*03EB.0020.0002.A874] # PHAGS-PA SINGLE HEAD MARK
-A875  ; [*03EC.0020.0002.A875] # PHAGS-PA DOUBLE HEAD MARK
-A876  ; [*02A7.0020.0002.A876] # PHAGS-PA MARK SHAD
-A877  ; [*02A8.0020.0002.A877] # PHAGS-PA MARK DOUBLE SHAD
-A8CE  ; [*02A3.0020.0002.A8CE] # SAURASHTRA DANDA
-A8CF  ; [*02A4.0020.0002.A8CF] # SAURASHTRA DOUBLE DANDA
+A673  ; [*0371.0020.0002.A673] # SLAVONIC ASTERISK
+A67E  ; [*03A7.0020.0002.A67E] # CYRILLIC KAVYKA
+A6F2  ; [*02C2.0020.0002.A6F2] # BAMUM NJAEMLI
+A6F3  ; [*0282.0020.0002.A6F3] # BAMUM FULL STOP
+A6F4  ; [*025D.0020.0002.A6F4] # BAMUM COLON
+A6F5  ; [*022E.0020.0002.A6F5] # BAMUM COMMA
+A6F6  ; [*0236.0020.0002.A6F6] # BAMUM SEMICOLON
+A6F7  ; [*026E.0020.0002.A6F7] # BAMUM QUESTION MARK
+A700  ; [*045D.0020.0002.A700] # MODIFIER LETTER CHINESE TONE YIN PING
+A701  ; [*045E.0020.0002.A701] # MODIFIER LETTER CHINESE TONE YANG PING
+A702  ; [*045F.0020.0002.A702] # MODIFIER LETTER CHINESE TONE YIN SHANG
+A703  ; [*0460.0020.0002.A703] # MODIFIER LETTER CHINESE TONE YANG SHANG
+A704  ; [*0461.0020.0002.A704] # MODIFIER LETTER CHINESE TONE YIN QU
+A705  ; [*0462.0020.0002.A705] # MODIFIER LETTER CHINESE TONE YANG QU
+A706  ; [*0463.0020.0002.A706] # MODIFIER LETTER CHINESE TONE YIN RU
+A707  ; [*0464.0020.0002.A707] # MODIFIER LETTER CHINESE TONE YANG RU
+A708  ; [*0465.0020.0002.A708] # MODIFIER LETTER EXTRA-HIGH DOTTED TONE BAR
+A709  ; [*0466.0020.0002.A709] # MODIFIER LETTER HIGH DOTTED TONE BAR
+A70A  ; [*0467.0020.0002.A70A] # MODIFIER LETTER MID DOTTED TONE BAR
+A70B  ; [*0468.0020.0002.A70B] # MODIFIER LETTER LOW DOTTED TONE BAR
+A70C  ; [*0469.0020.0002.A70C] # MODIFIER LETTER EXTRA-LOW DOTTED TONE BAR
+A70D  ; [*046A.0020.0002.A70D] # MODIFIER LETTER EXTRA-HIGH DOTTED LEFT-STEM TONE BAR
+A70E  ; [*046B.0020.0002.A70E] # MODIFIER LETTER HIGH DOTTED LEFT-STEM TONE BAR
+A70F  ; [*046C.0020.0002.A70F] # MODIFIER LETTER MID DOTTED LEFT-STEM TONE BAR
+A710  ; [*046D.0020.0002.A710] # MODIFIER LETTER LOW DOTTED LEFT-STEM TONE BAR
+A711  ; [*046E.0020.0002.A711] # MODIFIER LETTER EXTRA-LOW DOTTED LEFT-STEM TONE BAR
+A712  ; [*046F.0020.0002.A712] # MODIFIER LETTER EXTRA-HIGH LEFT-STEM TONE BAR
+A713  ; [*0470.0020.0002.A713] # MODIFIER LETTER HIGH LEFT-STEM TONE BAR
+A714  ; [*0471.0020.0002.A714] # MODIFIER LETTER MID LEFT-STEM TONE BAR
+A715  ; [*0472.0020.0002.A715] # MODIFIER LETTER LOW LEFT-STEM TONE BAR
+A716  ; [*0473.0020.0002.A716] # MODIFIER LETTER EXTRA-LOW LEFT-STEM TONE BAR
+A717  ; [*0474.0020.0002.A717] # MODIFIER LETTER DOT VERTICAL BAR
+A718  ; [*0475.0020.0002.A718] # MODIFIER LETTER DOT SLASH
+A719  ; [*0476.0020.0002.A719] # MODIFIER LETTER DOT HORIZONTAL BAR
+A71A  ; [*0477.0020.0002.A71A] # MODIFIER LETTER LOWER RIGHT CORNER ANGLE
+A71B  ; [*0478.0020.0002.A71B] # MODIFIER LETTER RAISED UP ARROW
+A71C  ; [*0479.0020.0002.A71C] # MODIFIER LETTER RAISED DOWN ARROW
+A71D  ; [*047A.0020.0002.A71D] # MODIFIER LETTER RAISED EXCLAMATION MARK
+A71E  ; [*047B.0020.0002.A71E] # MODIFIER LETTER RAISED INVERTED EXCLAMATION MARK
+A71F  ; [*047C.0020.0002.A71F] # MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
+A720  ; [*047D.0020.0002.A720] # MODIFIER LETTER STRESS AND HIGH TONE
+A721  ; [*047E.0020.0002.A721] # MODIFIER LETTER STRESS AND LOW TONE
+A788  ; [*047F.0020.0002.A788] # MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A789  ; [*0480.0020.0002.A789] # MODIFIER LETTER COLON
+A78A  ; [*0481.0020.0002.A78A] # MODIFIER LETTER SHORT EQUALS SIGN
+A828  ; [*04A8.0020.0002.A828] # SYLOTI NAGRI POETRY MARK-1
+A829  ; [*04A9.0020.0002.A829] # SYLOTI NAGRI POETRY MARK-2
+A82A  ; [*04AA.0020.0002.A82A] # SYLOTI NAGRI POETRY MARK-3
+A82B  ; [*04AB.0020.0002.A82B] # SYLOTI NAGRI POETRY MARK-4
+A830  ; [*14E5.0020.0002.A830] # NORTH INDIC FRACTION ONE QUARTER
+A831  ; [*14E6.0020.0002.A831] # NORTH INDIC FRACTION ONE HALF
+A832  ; [*14E7.0020.0002.A832] # NORTH INDIC FRACTION THREE QUARTERS
+A833  ; [*14E8.0020.0002.A833] # NORTH INDIC FRACTION ONE SIXTEENTH
+A834  ; [*14E9.0020.0002.A834] # NORTH INDIC FRACTION ONE EIGHTH
+A835  ; [*14EA.0020.0002.A835] # NORTH INDIC FRACTION THREE SIXTEENTHS
+A836  ; [*04AC.0020.0002.A836] # NORTH INDIC QUARTER MARK
+A837  ; [*04AD.0020.0002.A837] # NORTH INDIC PLACEHOLDER MARK
+A839  ; [*04AE.0020.0002.A839] # NORTH INDIC QUANTITY MARK
+A874  ; [*03F5.0020.0002.A874] # PHAGS-PA SINGLE HEAD MARK
+A875  ; [*03F6.0020.0002.A875] # PHAGS-PA DOUBLE HEAD MARK
+A876  ; [*028D.0020.0002.A876] # PHAGS-PA MARK SHAD
+A877  ; [*028E.0020.0002.A877] # PHAGS-PA MARK DOUBLE SHAD
+A8CE  ; [*0289.0020.0002.A8CE] # SAURASHTRA DANDA
+A8CF  ; [*028A.0020.0002.A8CF] # SAURASHTRA DOUBLE DANDA
 A8E0  ; [.0000.0000.0000.A8E0] # COMBINING DEVANAGARI DIGIT ZERO
 A8E1  ; [.0000.0000.0000.A8E1] # COMBINING DEVANAGARI DIGIT ONE
 A8E2  ; [.0000.0000.0000.A8E2] # COMBINING DEVANAGARI DIGIT TWO
@@ -3802,811 +3832,821 @@
 A8EF  ; [.0000.0000.0000.A8EF] # COMBINING DEVANAGARI LETTER RA
 A8F0  ; [.0000.0000.0000.A8F0] # COMBINING DEVANAGARI LETTER VI
 A8F1  ; [.0000.0000.0000.A8F1] # COMBINING DEVANAGARI SIGN AVAGRAHA
-A8F8  ; [*03B1.0020.0002.A8F8] # DEVANAGARI SIGN PUSHPIKA
-A8F9  ; [*03B2.0020.0002.A8F9] # DEVANAGARI GAP FILLER
-A8FA  ; [*03B3.0020.0002.A8FA] # DEVANAGARI CARET
-A92E  ; [*03F1.0020.0002.A92E] # KAYAH LI SIGN CWI
-A92F  ; [*02AB.0020.0002.A92F] # KAYAH LI SIGN SHYA
-A95F  ; [*02D8.0020.0002.A95F] # REJANG SECTION MARK
-A9C1  ; [*02CD.0020.0002.A9C1] # JAVANESE LEFT RERENGGAN
-A9C2  ; [*02CE.0020.0002.A9C2] # JAVANESE RIGHT RERENGGAN
-A9C3  ; [*02CF.0020.0002.A9C3] # JAVANESE PADA ANDAP
-A9C4  ; [*02D0.0020.0002.A9C4] # JAVANESE PADA MADYA
-A9C5  ; [*02D1.0020.0002.A9C5] # JAVANESE PADA LUHUR
-A9C6  ; [*02D2.0020.0002.A9C6] # JAVANESE PADA WINDU
-A9C7  ; [*0276.0020.0002.A9C7] # JAVANESE PADA PANGKAT
-A9C8  ; [*02B6.0020.0002.A9C8] # JAVANESE PADA LINGSA
-A9C9  ; [*02B7.0020.0002.A9C9] # JAVANESE PADA LUNGSI
-A9CA  ; [*02D3.0020.0002.A9CA] # JAVANESE PADA ADEG
-A9CB  ; [*02D4.0020.0002.A9CB] # JAVANESE PADA ADEG ADEG
-A9CC  ; [*02D5.0020.0002.A9CC] # JAVANESE PADA PISELEH
-A9CD  ; [*02D6.0020.0002.A9CD] # JAVANESE TURNED PADA PISELEH
-A9DE  ; [*03F2.0020.0002.A9DE] # JAVANESE PADA TIRTA TUMETES
-A9DF  ; [*03F3.0020.0002.A9DF] # JAVANESE PADA ISEN-ISEN
-AA5C  ; [*03F4.0020.0002.AA5C] # CHAM PUNCTUATION SPIRAL
-AA5D  ; [*02B8.0020.0002.AA5D] # CHAM PUNCTUATION DANDA
-AA5E  ; [*02B9.0020.0002.AA5E] # CHAM PUNCTUATION DOUBLE DANDA
-AA5F  ; [*02BA.0020.0002.AA5F] # CHAM PUNCTUATION TRIPLE DANDA
-AA77  ; [*03D9.0020.0002.AA77] # MYANMAR SYMBOL AITON EXCLAMATION
-AA78  ; [*03DA.0020.0002.AA78] # MYANMAR SYMBOL AITON ONE
-AA79  ; [*03DB.0020.0002.AA79] # MYANMAR SYMBOL AITON TWO
-AADE  ; [*03B7.0020.0002.AADE] # TAI VIET SYMBOL HO HOI
-AADF  ; [*03B8.0020.0002.AADF] # TAI VIET SYMBOL KOI KOI
-ABEB  ; [*02BB.0020.0002.ABEB] # MEETEI MAYEK CHEIKHEI
-FB29  ; [*056A.0020.0005.FB29] # HEBREW LETTER ALTERNATIVE PLUS SIGN; QQK
-FBB2  ; [*021E.0020.0002.FBB2] # ARABIC SYMBOL DOT ABOVE
-FBB3  ; [*021F.0020.0002.FBB3] # ARABIC SYMBOL DOT BELOW
-FBB4  ; [*0220.0020.0002.FBB4] # ARABIC SYMBOL TWO DOTS ABOVE
-FBB5  ; [*0221.0020.0002.FBB5] # ARABIC SYMBOL TWO DOTS BELOW
-FBB6  ; [*0222.0020.0002.FBB6] # ARABIC SYMBOL THREE DOTS ABOVE
-FBB7  ; [*0223.0020.0002.FBB7] # ARABIC SYMBOL THREE DOTS BELOW
-FBB8  ; [*0224.0020.0002.FBB8] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
-FBB9  ; [*0225.0020.0002.FBB9] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
-FBBA  ; [*0226.0020.0002.FBBA] # ARABIC SYMBOL FOUR DOTS ABOVE
-FBBB  ; [*0227.0020.0002.FBBB] # ARABIC SYMBOL FOUR DOTS BELOW
-FBBC  ; [*0228.0020.0002.FBBC] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
-FBBD  ; [*0229.0020.0002.FBBD] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
-FBBE  ; [*022A.0020.0002.FBBE] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
-FBBF  ; [*022B.0020.0002.FBBF] # ARABIC SYMBOL RING
-FBC0  ; [*022C.0020.0002.FBC0] # ARABIC SYMBOL SMALL TAH ABOVE
-FBC1  ; [*022D.0020.0002.FBC1] # ARABIC SYMBOL SMALL TAH BELOW
-FD3E  ; [*035E.0020.0002.FD3E] # ORNATE LEFT PARENTHESIS
-FD3F  ; [*035F.0020.0002.FD3F] # ORNATE RIGHT PARENTHESIS
-FDFD  ; [*046D.0020.0002.FDFD] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
-FE10  ; [*0241.0020.0016.FE10] # PRESENTATION FORM FOR VERTICAL COMMA; QQK
-FE11  ; [*024D.0020.0016.FE11] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA; QQK
-FE12  ; [*029E.0020.0016.FE12] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP; QQK
-FE13  ; [*0254.0020.0016.FE13] # PRESENTATION FORM FOR VERTICAL COLON; QQK
-FE14  ; [*0250.0020.0016.FE14] # PRESENTATION FORM FOR VERTICAL SEMICOLON; QQK
-FE15  ; [*027B.0020.0016.FE15] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK; QQK
-FE16  ; [*0280.0020.0016.FE16] # PRESENTATION FORM FOR VERTICAL QUESTION MARK; QQK
-FE17  ; [*0358.0020.0016.FE17] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET; QQK
-FE18  ; [*0359.0020.0016.FE18] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET; QQK
-FE19  ; [*028E.0020.0016.FE19][*028E.0020.0016.FE19][*028E.0020.001F.FE19] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS; QQKN
+A8F8  ; [*03B8.0020.0002.A8F8] # DEVANAGARI SIGN PUSHPIKA
+A8F9  ; [*03B9.0020.0002.A8F9] # DEVANAGARI GAP FILLER
+A8FA  ; [*03BA.0020.0002.A8FA] # DEVANAGARI CARET
+A92E  ; [*03FB.0020.0002.A92E] # KAYAH LI SIGN CWI
+A92F  ; [*0291.0020.0002.A92F] # KAYAH LI SIGN SHYA
+A95F  ; [*02C3.0020.0002.A95F] # REJANG SECTION MARK
+A9C1  ; [*02B8.0020.0002.A9C1] # JAVANESE LEFT RERENGGAN
+A9C2  ; [*02B9.0020.0002.A9C2] # JAVANESE RIGHT RERENGGAN
+A9C3  ; [*02BA.0020.0002.A9C3] # JAVANESE PADA ANDAP
+A9C4  ; [*02BB.0020.0002.A9C4] # JAVANESE PADA MADYA
+A9C5  ; [*02BC.0020.0002.A9C5] # JAVANESE PADA LUHUR
+A9C6  ; [*02BD.0020.0002.A9C6] # JAVANESE PADA WINDU
+A9C7  ; [*0259.0020.0002.A9C7] # JAVANESE PADA PANGKAT
+A9C8  ; [*029C.0020.0002.A9C8] # JAVANESE PADA LINGSA
+A9C9  ; [*029D.0020.0002.A9C9] # JAVANESE PADA LUNGSI
+A9CA  ; [*02BE.0020.0002.A9CA] # JAVANESE PADA ADEG
+A9CB  ; [*02BF.0020.0002.A9CB] # JAVANESE PADA ADEG ADEG
+A9CC  ; [*02C0.0020.0002.A9CC] # JAVANESE PADA PISELEH
+A9CD  ; [*02C1.0020.0002.A9CD] # JAVANESE TURNED PADA PISELEH
+A9DE  ; [*03FC.0020.0002.A9DE] # JAVANESE PADA TIRTA TUMETES
+A9DF  ; [*03FD.0020.0002.A9DF] # JAVANESE PADA ISEN-ISEN
+AA5C  ; [*03FE.0020.0002.AA5C] # CHAM PUNCTUATION SPIRAL
+AA5D  ; [*029E.0020.0002.AA5D] # CHAM PUNCTUATION DANDA
+AA5E  ; [*029F.0020.0002.AA5E] # CHAM PUNCTUATION DOUBLE DANDA
+AA5F  ; [*02A0.0020.0002.AA5F] # CHAM PUNCTUATION TRIPLE DANDA
+AA77  ; [*04D6.0020.0002.AA77] # MYANMAR SYMBOL AITON EXCLAMATION
+AA78  ; [*04D7.0020.0002.AA78] # MYANMAR SYMBOL AITON ONE
+AA79  ; [*04D8.0020.0002.AA79] # MYANMAR SYMBOL AITON TWO
+AADE  ; [*03C0.0020.0002.AADE] # TAI VIET SYMBOL HO HOI
+AADF  ; [*03C1.0020.0002.AADF] # TAI VIET SYMBOL KOI KOI
+AAF0  ; [*02A1.0020.0002.AAF0] # MEETEI MAYEK CHEIKHAN
+AAF1  ; [*026F.0020.0002.AAF1] # MEETEI MAYEK AHANG KHUDAM
+ABEB  ; [*02A2.0020.0002.ABEB] # MEETEI MAYEK CHEIKHEI
+FB29  ; [*059C.0020.0005.FB29] # HEBREW LETTER ALTERNATIVE PLUS SIGN
+FBB2  ; [*048C.0020.0002.FBB2] # ARABIC SYMBOL DOT ABOVE
+FBB3  ; [*048D.0020.0002.FBB3] # ARABIC SYMBOL DOT BELOW
+FBB4  ; [*048E.0020.0002.FBB4] # ARABIC SYMBOL TWO DOTS ABOVE
+FBB5  ; [*048F.0020.0002.FBB5] # ARABIC SYMBOL TWO DOTS BELOW
+FBB6  ; [*0490.0020.0002.FBB6] # ARABIC SYMBOL THREE DOTS ABOVE
+FBB7  ; [*0491.0020.0002.FBB7] # ARABIC SYMBOL THREE DOTS BELOW
+FBB8  ; [*0492.0020.0002.FBB8] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS ABOVE
+FBB9  ; [*0493.0020.0002.FBB9] # ARABIC SYMBOL THREE DOTS POINTING DOWNWARDS BELOW
+FBBA  ; [*0494.0020.0002.FBBA] # ARABIC SYMBOL FOUR DOTS ABOVE
+FBBB  ; [*0495.0020.0002.FBBB] # ARABIC SYMBOL FOUR DOTS BELOW
+FBBC  ; [*0496.0020.0002.FBBC] # ARABIC SYMBOL DOUBLE VERTICAL BAR BELOW
+FBBD  ; [*0497.0020.0002.FBBD] # ARABIC SYMBOL TWO DOTS VERTICALLY ABOVE
+FBBE  ; [*0498.0020.0002.FBBE] # ARABIC SYMBOL TWO DOTS VERTICALLY BELOW
+FBBF  ; [*0499.0020.0002.FBBF] # ARABIC SYMBOL RING
+FBC0  ; [*049A.0020.0002.FBC0] # ARABIC SYMBOL SMALL TAH ABOVE
+FBC1  ; [*049B.0020.0002.FBC1] # ARABIC SYMBOL SMALL TAH BELOW
+FD3E  ; [*0361.0020.0002.FD3E] # ORNATE LEFT PARENTHESIS
+FD3F  ; [*0362.0020.0002.FD3F] # ORNATE RIGHT PARENTHESIS
+FDFD  ; [*048B.0020.0002.FDFD] # ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM
+FE10  ; [*0221.0020.0016.FE10] # PRESENTATION FORM FOR VERTICAL COMMA
+FE11  ; [*022F.0020.0016.FE11] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC COMMA
+FE12  ; [*0283.0020.0016.FE12] # PRESENTATION FORM FOR VERTICAL IDEOGRAPHIC FULL STOP
+FE13  ; [*0237.0020.0016.FE13] # PRESENTATION FORM FOR VERTICAL COLON
+FE14  ; [*0232.0020.0016.FE14] # PRESENTATION FORM FOR VERTICAL SEMICOLON
+FE15  ; [*025E.0020.0016.FE15] # PRESENTATION FORM FOR VERTICAL EXCLAMATION MARK
+FE16  ; [*0263.0020.0016.FE16] # PRESENTATION FORM FOR VERTICAL QUESTION MARK
+FE17  ; [*035B.0020.0016.FE17] # PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
+FE18  ; [*035C.0020.0016.FE18] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRAKCET
+FE19  ; [*0273.0020.0016.FE19][*0273.0020.0016.FE19][*0273.0020.001F.FE19] # PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
 FE21  ; [.0000.0000.0000.FE21] # COMBINING LIGATURE RIGHT HALF
 FE23  ; [.0000.0000.0000.FE23] # COMBINING DOUBLE TILDE RIGHT HALF
 FE24  ; [.0000.0000.0000.FE24] # COMBINING MACRON LEFT HALF
 FE25  ; [.0000.0000.0000.FE25] # COMBINING MACRON RIGHT HALF
 FE26  ; [.0000.0000.0000.FE26] # COMBINING CONJOINING MACRON
-FE30  ; [*028E.0020.0016.FE30][*028E.0020.0016.FE30] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER; QQKN
-FE31  ; [*0239.0020.0016.FE31] # PRESENTATION FORM FOR VERTICAL EM DASH; QQK
-FE32  ; [*0238.0020.0016.FE32] # PRESENTATION FORM FOR VERTICAL EN DASH; QQK
-FE33  ; [*021B.0020.0016.FE33] # PRESENTATION FORM FOR VERTICAL LOW LINE; QQK
-FE34  ; [*021B.0020.0016.FE34] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE; QQK
-FE35  ; [*030E.0020.0016.FE35] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS; QQK
-FE36  ; [*030F.0020.0016.FE36] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS; QQK
-FE37  ; [*0312.0020.0016.FE37] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET; QQK
-FE38  ; [*0313.0020.0016.FE38] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET; QQK
-FE39  ; [*0356.0020.0016.FE39] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET; QQK
-FE3A  ; [*0357.0020.0016.FE3A] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET; QQK
-FE3B  ; [*0354.0020.0016.FE3B] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET; QQK
-FE3C  ; [*0355.0020.0016.FE3C] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET; QQK
-FE3D  ; [*034E.0020.0016.FE3D] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET; QQK
-FE3E  ; [*034F.0020.0016.FE3E] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET; QQK
-FE3F  ; [*034C.0020.0016.FE3F] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET; QQK
-FE40  ; [*034D.0020.0016.FE40] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET; QQK
-FE41  ; [*0350.0020.0016.FE41] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET; QQK
-FE42  ; [*0351.0020.0016.FE42] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET; QQK
-FE43  ; [*0352.0020.0016.FE43] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET; QQK
-FE44  ; [*0353.0020.0016.FE44] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET; QQK
-FE45  ; [*024E.0020.0002.FE45] # SESAME DOT
-FE46  ; [*024F.0020.0002.FE46] # WHITE SESAME DOT
-FE47  ; [*0310.0020.0016.FE47] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET; QQK
-FE48  ; [*0311.0020.0016.FE48] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET; QQK
-FE49  ; [*0211.0020.0004.FE49] # DASHED OVERLINE; QQK
-FE4A  ; [*0211.0020.0004.FE4A] # CENTRELINE OVERLINE; QQK
-FE4B  ; [*0211.0020.0004.FE4B] # WAVY OVERLINE; QQK
-FE4C  ; [*0211.0020.0004.FE4C] # DOUBLE WAVY OVERLINE; QQK
-FE4D  ; [*021B.0020.0004.FE4D] # DASHED LOW LINE; QQK
-FE4E  ; [*021B.0020.0004.FE4E] # CENTRELINE LOW LINE; QQK
-FE4F  ; [*021B.0020.0004.FE4F] # WAVY LOW LINE; QQK
-FE50  ; [*0241.0020.000F.FE50] # SMALL COMMA; QQK
-FE51  ; [*024D.0020.000F.FE51] # SMALL IDEOGRAPHIC COMMA; QQK
-FE52  ; [*028E.0020.000F.FE52] # SMALL FULL STOP; QQK
-FE54  ; [*0250.0020.000F.FE54] # SMALL SEMICOLON; QQK
-FE55  ; [*0254.0020.000F.FE55] # SMALL COLON; QQK
-FE56  ; [*0280.0020.000F.FE56] # SMALL QUESTION MARK; QQK
-FE57  ; [*027B.0020.000F.FE57] # SMALL EXCLAMATION MARK; QQK
-FE58  ; [*0239.0020.000F.FE58] # SMALL EM DASH; QQK
-FE59  ; [*030E.0020.000F.FE59] # SMALL LEFT PARENTHESIS; QQK
-FE5A  ; [*030F.0020.000F.FE5A] # SMALL RIGHT PARENTHESIS; QQK
-FE5B  ; [*0312.0020.000F.FE5B] # SMALL LEFT CURLY BRACKET; QQK
-FE5C  ; [*0313.0020.000F.FE5C] # SMALL RIGHT CURLY BRACKET; QQK
-FE5D  ; [*0356.0020.000F.FE5D] # SMALL LEFT TORTOISE SHELL BRACKET; QQK
-FE5E  ; [*0357.0020.000F.FE5E] # SMALL RIGHT TORTOISE SHELL BRACKET; QQK
-FE5F  ; [*0371.0020.000F.FE5F] # SMALL NUMBER SIGN; QQK
-FE60  ; [*036E.0020.000F.FE60] # SMALL AMPERSAND; QQK
-FE61  ; [*0366.0020.000F.FE61] # SMALL ASTERISK; QQK
-FE62  ; [*056A.0020.000F.FE62] # SMALL PLUS SIGN; QQK
-FE63  ; [*0230.0020.000F.FE63] # SMALL HYPHEN-MINUS; QQK
-FE64  ; [*056E.0020.000F.FE64] # SMALL LESS-THAN SIGN; QQK
-FE65  ; [*0570.0020.000F.FE65] # SMALL GREATER-THAN SIGN; QQK
-FE66  ; [*056F.0020.000F.FE66] # SMALL EQUALS SIGN; QQK
-FE68  ; [*036D.0020.000F.FE68] # SMALL REVERSE SOLIDUS; QQK
-FE6A  ; [*0372.0020.000F.FE6A] # SMALL PERCENT SIGN; QQK
-FE6B  ; [*0365.0020.000F.FE6B] # SMALL COMMERCIAL AT; QQK
+FE30  ; [*0273.0020.0016.FE30][*0273.0020.001F.FE30] # PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+FE31  ; [*0217.0020.0016.FE31] # PRESENTATION FORM FOR VERTICAL EM DASH
+FE32  ; [*0216.0020.0016.FE32] # PRESENTATION FORM FOR VERTICAL EN DASH
+FE33  ; [*020C.0020.0016.FE33] # PRESENTATION FORM FOR VERTICAL LOW LINE
+FE34  ; [*020C.0020.0016.FE34] # PRESENTATION FORM FOR VERTICAL WAVY LOW LINE
+FE35  ; [*02FB.0020.0016.FE35] # PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+FE36  ; [*02FC.0020.0016.FE36] # PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+FE37  ; [*02FF.0020.0016.FE37] # PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+FE38  ; [*0300.0020.0016.FE38] # PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+FE39  ; [*0359.0020.0016.FE39] # PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+FE3A  ; [*035A.0020.0016.FE3A] # PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+FE3B  ; [*0357.0020.0016.FE3B] # PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+FE3C  ; [*0358.0020.0016.FE3C] # PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+FE3D  ; [*0351.0020.0016.FE3D] # PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+FE3E  ; [*0352.0020.0016.FE3E] # PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+FE3F  ; [*034F.0020.0016.FE3F] # PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+FE40  ; [*0350.0020.0016.FE40] # PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+FE41  ; [*0353.0020.0016.FE41] # PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+FE42  ; [*0354.0020.0016.FE42] # PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+FE43  ; [*0355.0020.0016.FE43] # PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+FE44  ; [*0356.0020.0016.FE44] # PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+FE45  ; [*0230.0020.0002.FE45] # SESAME DOT
+FE46  ; [*0231.0020.0002.FE46] # WHITE SESAME DOT
+FE47  ; [*02FD.0020.0016.FE47] # PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
+FE48  ; [*02FE.0020.0016.FE48] # PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
+FE49  ; [*020B.0020.0004.FE49] # DASHED OVERLINE
+FE4A  ; [*020B.0020.0004.FE4A] # CENTRELINE OVERLINE
+FE4B  ; [*020B.0020.0004.FE4B] # WAVY OVERLINE
+FE4C  ; [*020B.0020.0004.FE4C] # DOUBLE WAVY OVERLINE
+FE4D  ; [*020C.0020.0004.FE4D] # DASHED LOW LINE
+FE4E  ; [*020C.0020.0004.FE4E] # CENTRELINE LOW LINE
+FE4F  ; [*020C.0020.0004.FE4F] # WAVY LOW LINE
+FE50  ; [*0221.0020.000F.FE50] # SMALL COMMA
+FE51  ; [*022F.0020.000F.FE51] # SMALL IDEOGRAPHIC COMMA
+FE52  ; [*0273.0020.000F.FE52] # SMALL FULL STOP
+FE54  ; [*0232.0020.000F.FE54] # SMALL SEMICOLON
+FE55  ; [*0237.0020.000F.FE55] # SMALL COLON
+FE56  ; [*0263.0020.000F.FE56] # SMALL QUESTION MARK
+FE57  ; [*025E.0020.000F.FE57] # SMALL EXCLAMATION MARK
+FE58  ; [*0217.0020.000F.FE58] # SMALL EM DASH
+FE59  ; [*02FB.0020.000F.FE59] # SMALL LEFT PARENTHESIS
+FE5A  ; [*02FC.0020.000F.FE5A] # SMALL RIGHT PARENTHESIS
+FE5B  ; [*02FF.0020.000F.FE5B] # SMALL LEFT CURLY BRACKET
+FE5C  ; [*0300.0020.000F.FE5C] # SMALL RIGHT CURLY BRACKET
+FE5D  ; [*0359.0020.000F.FE5D] # SMALL LEFT TORTOISE SHELL BRACKET
+FE5E  ; [*035A.0020.000F.FE5E] # SMALL RIGHT TORTOISE SHELL BRACKET
+FE5F  ; [*0376.0020.000F.FE5F] # SMALL NUMBER SIGN
+FE60  ; [*0374.0020.000F.FE60] # SMALL AMPERSAND
+FE61  ; [*036D.0020.000F.FE61] # SMALL ASTERISK
+FE62  ; [*059C.0020.000F.FE62] # SMALL PLUS SIGN
+FE63  ; [*020E.0020.000F.FE63] # SMALL HYPHEN-MINUS
+FE64  ; [*05A0.0020.000F.FE64] # SMALL LESS-THAN SIGN
+FE65  ; [*05A2.0020.000F.FE65] # SMALL GREATER-THAN SIGN
+FE66  ; [*05A1.0020.000F.FE66] # SMALL EQUALS SIGN
+FE68  ; [*0373.0020.000F.FE68] # SMALL REVERSE SOLIDUS
+FE6A  ; [*0377.0020.000F.FE6A] # SMALL PERCENT SIGN
+FE6B  ; [*036C.0020.000F.FE6B] # SMALL COMMERCIAL AT
 FE73  ; [.0000.0000.0000.FE73] # ARABIC TAIL FRAGMENT
-FF01  ; [*027B.0020.0003.FF01] # FULLWIDTH EXCLAMATION MARK; QQK
-FF02  ; [*0304.0020.0003.FF02] # FULLWIDTH QUOTATION MARK; QQK
-FF03  ; [*0371.0020.0003.FF03] # FULLWIDTH NUMBER SIGN; QQK
-FF05  ; [*0372.0020.0003.FF05] # FULLWIDTH PERCENT SIGN; QQK
-FF06  ; [*036E.0020.0003.FF06] # FULLWIDTH AMPERSAND; QQK
-FF07  ; [*02FD.0020.0003.FF07] # FULLWIDTH APOSTROPHE; QQK
-FF08  ; [*030E.0020.0003.FF08] # FULLWIDTH LEFT PARENTHESIS; QQK
-FF09  ; [*030F.0020.0003.FF09] # FULLWIDTH RIGHT PARENTHESIS; QQK
-FF0A  ; [*0366.0020.0003.FF0A] # FULLWIDTH ASTERISK; QQK
-FF0B  ; [*056A.0020.0003.FF0B] # FULLWIDTH PLUS SIGN; QQK
-FF0C  ; [*0241.0020.0003.FF0C] # FULLWIDTH COMMA; QQK
-FF0D  ; [*0230.0020.0003.FF0D] # FULLWIDTH HYPHEN-MINUS; QQK
-FF0E  ; [*028E.0020.0003.FF0E] # FULLWIDTH FULL STOP; QQK
-FF0F  ; [*036B.0020.0003.FF0F] # FULLWIDTH SOLIDUS; QQK
-FF1A  ; [*0254.0020.0003.FF1A] # FULLWIDTH COLON; QQK
-FF1B  ; [*0250.0020.0003.FF1B] # FULLWIDTH SEMICOLON; QQK
-FF1C  ; [*056E.0020.0003.FF1C] # FULLWIDTH LESS-THAN SIGN; QQK
-FF1D  ; [*056F.0020.0003.FF1D] # FULLWIDTH EQUALS SIGN; QQK
-FF1E  ; [*0570.0020.0003.FF1E] # FULLWIDTH GREATER-THAN SIGN; QQK
-FF1F  ; [*0280.0020.0003.FF1F] # FULLWIDTH QUESTION MARK; QQK
-FF20  ; [*0365.0020.0003.FF20] # FULLWIDTH COMMERCIAL AT; QQK
-FF3B  ; [*0310.0020.0003.FF3B] # FULLWIDTH LEFT SQUARE BRACKET; QQK
-FF3C  ; [*036D.0020.0003.FF3C] # FULLWIDTH REVERSE SOLIDUS; QQK
-FF3D  ; [*0311.0020.0003.FF3D] # FULLWIDTH RIGHT SQUARE BRACKET; QQK
-FF3E  ; [*020F.0020.0003.FF3E] # FULLWIDTH CIRCUMFLEX ACCENT; QQK
-FF3F  ; [*021B.0020.0003.FF3F] # FULLWIDTH LOW LINE; QQK
-FF40  ; [*020C.0020.0003.FF40] # FULLWIDTH GRAVE ACCENT; QQK
-FF5B  ; [*0312.0020.0003.FF5B] # FULLWIDTH LEFT CURLY BRACKET; QQK
-FF5C  ; [*0572.0020.0003.FF5C] # FULLWIDTH VERTICAL LINE; QQK
-FF5D  ; [*0313.0020.0003.FF5D] # FULLWIDTH RIGHT CURLY BRACKET; QQK
-FF5E  ; [*0575.0020.0003.FF5E] # FULLWIDTH TILDE; QQK
-FF5F  ; [*0320.0020.0003.FF5F] # FULLWIDTH LEFT WHITE PARENTHESIS; QQK
-FF60  ; [*0321.0020.0003.FF60] # FULLWIDTH RIGHT WHITE PARENTHESIS; QQK
-FF61  ; [*029E.0020.0012.FF61] # HALFWIDTH IDEOGRAPHIC FULL STOP; QQK
-FF62  ; [*0350.0020.0012.FF62] # HALFWIDTH LEFT CORNER BRACKET; QQK
-FF63  ; [*0351.0020.0012.FF63] # HALFWIDTH RIGHT CORNER BRACKET; QQK
-FF64  ; [*024D.0020.0012.FF64] # HALFWIDTH IDEOGRAPHIC COMMA; QQK
-FF65  ; [*0240.0020.0012.FF65] # HALFWIDTH KATAKANA MIDDLE DOT; QQK
-FFE2  ; [*0571.0020.0003.FFE2] # FULLWIDTH NOT SIGN; QQK
-FFE3  ; [*0210.0020.0003.FFE3] # FULLWIDTH MACRON; QQK
-FFE4  ; [*0573.0020.0003.FFE4] # FULLWIDTH BROKEN BAR; QQK
-FFE8  ; [*0765.0020.0012.FFE8] # HALFWIDTH FORMS LIGHT VERTICAL; QQK
-FFE9  ; [*04F0.0020.0012.FFE9] # HALFWIDTH LEFTWARDS ARROW; QQK
-FFEA  ; [*04F2.0020.0012.FFEA] # HALFWIDTH UPWARDS ARROW; QQK
-FFEB  ; [*04F1.0020.0012.FFEB] # HALFWIDTH RIGHTWARDS ARROW; QQK
-FFEC  ; [*04F3.0020.0012.FFEC] # HALFWIDTH DOWNWARDS ARROW; QQK
-FFED  ; [*0803.0020.0012.FFED] # HALFWIDTH BLACK SQUARE; QQK
-FFEE  ; [*082E.0020.0012.FFEE] # HALFWIDTH WHITE CIRCLE; QQK
-FFFC  ; [*1490.0020.0002.FFFC] # OBJECT REPLACEMENT CHARACTER
-FFFD  ; [*1491.0020.0002.FFFD] # REPLACEMENT CHARACTER
-10100 ; [*02F3.0020.0002.10100] # AEGEAN WORD SEPARATOR LINE
-10101 ; [*02F4.0020.0002.10101] # AEGEAN WORD SEPARATOR DOT
-10102 ; [*02F5.0020.0002.10102] # AEGEAN CHECK MARK
-10110 ; [*14D7.0020.0002.10110] # AEGEAN NUMBER TEN
-10111 ; [*14D8.0020.0002.10111] # AEGEAN NUMBER TWENTY
-10112 ; [*14D9.0020.0002.10112] # AEGEAN NUMBER THIRTY
-10113 ; [*14DA.0020.0002.10113] # AEGEAN NUMBER FORTY
-10114 ; [*14DB.0020.0002.10114] # AEGEAN NUMBER FIFTY
-10115 ; [*14DC.0020.0002.10115] # AEGEAN NUMBER SIXTY
-10116 ; [*14DD.0020.0002.10116] # AEGEAN NUMBER SEVENTY
-10117 ; [*14DE.0020.0002.10117] # AEGEAN NUMBER EIGHTY
-10118 ; [*14DF.0020.0002.10118] # AEGEAN NUMBER NINETY
-10119 ; [*14E0.0020.0002.10119] # AEGEAN NUMBER ONE HUNDRED
-1011A ; [*14E1.0020.0002.1011A] # AEGEAN NUMBER TWO HUNDRED
-1011B ; [*14E2.0020.0002.1011B] # AEGEAN NUMBER THREE HUNDRED
-1011C ; [*14E3.0020.0002.1011C] # AEGEAN NUMBER FOUR HUNDRED
-1011D ; [*14E4.0020.0002.1011D] # AEGEAN NUMBER FIVE HUNDRED
-1011E ; [*14E5.0020.0002.1011E] # AEGEAN NUMBER SIX HUNDRED
-1011F ; [*14E6.0020.0002.1011F] # AEGEAN NUMBER SEVEN HUNDRED
-10120 ; [*14E7.0020.0002.10120] # AEGEAN NUMBER EIGHT HUNDRED
-10121 ; [*14E8.0020.0002.10121] # AEGEAN NUMBER NINE HUNDRED
-10122 ; [*14E9.0020.0002.10122] # AEGEAN NUMBER ONE THOUSAND
-10123 ; [*14EA.0020.0002.10123] # AEGEAN NUMBER TWO THOUSAND
-10124 ; [*14EB.0020.0002.10124] # AEGEAN NUMBER THREE THOUSAND
-10125 ; [*14EC.0020.0002.10125] # AEGEAN NUMBER FOUR THOUSAND
-10126 ; [*14ED.0020.0002.10126] # AEGEAN NUMBER FIVE THOUSAND
-10127 ; [*14EE.0020.0002.10127] # AEGEAN NUMBER SIX THOUSAND
-10128 ; [*14EF.0020.0002.10128] # AEGEAN NUMBER SEVEN THOUSAND
-10129 ; [*14F0.0020.0002.10129] # AEGEAN NUMBER EIGHT THOUSAND
-1012A ; [*14F1.0020.0002.1012A] # AEGEAN NUMBER NINE THOUSAND
-1012B ; [*14F2.0020.0002.1012B] # AEGEAN NUMBER TEN THOUSAND
-1012C ; [*14F3.0020.0002.1012C] # AEGEAN NUMBER TWENTY THOUSAND
-1012D ; [*14F4.0020.0002.1012D] # AEGEAN NUMBER THIRTY THOUSAND
-1012E ; [*14F5.0020.0002.1012E] # AEGEAN NUMBER FORTY THOUSAND
-1012F ; [*14F6.0020.0002.1012F] # AEGEAN NUMBER FIFTY THOUSAND
-10130 ; [*14F7.0020.0002.10130] # AEGEAN NUMBER SIXTY THOUSAND
-10131 ; [*14F8.0020.0002.10131] # AEGEAN NUMBER SEVENTY THOUSAND
-10132 ; [*14F9.0020.0002.10132] # AEGEAN NUMBER EIGHTY THOUSAND
-10133 ; [*14FA.0020.0002.10133] # AEGEAN NUMBER NINETY THOUSAND
-10137 ; [*0E49.0020.0002.10137] # AEGEAN WEIGHT BASE UNIT
-10138 ; [*0E4A.0020.0002.10138] # AEGEAN WEIGHT FIRST SUBUNIT
-10139 ; [*0E4B.0020.0002.10139] # AEGEAN WEIGHT SECOND SUBUNIT
-1013A ; [*0E4C.0020.0002.1013A] # AEGEAN WEIGHT THIRD SUBUNIT
-1013B ; [*0E4D.0020.0002.1013B] # AEGEAN WEIGHT FOURTH SUBUNIT
-1013C ; [*0E4E.0020.0002.1013C] # AEGEAN DRY MEASURE FIRST SUBUNIT
-1013D ; [*0E4F.0020.0002.1013D] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
-1013E ; [*0E50.0020.0002.1013E] # AEGEAN MEASURE SECOND SUBUNIT
-1013F ; [*0E51.0020.0002.1013F] # AEGEAN MEASURE THIRD SUBUNIT
-10140 ; [*14FB.0020.0002.10140] # GREEK ACROPHONIC ATTIC ONE QUARTER
-10141 ; [*14FC.0020.0002.10141] # GREEK ACROPHONIC ATTIC ONE HALF
-10144 ; [*14FD.0020.0002.10144] # GREEK ACROPHONIC ATTIC FIFTY
-10145 ; [*14FE.0020.0002.10145] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
-10146 ; [*14FF.0020.0002.10146] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
-10147 ; [*1500.0020.0002.10147] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
-10149 ; [*1501.0020.0002.10149] # GREEK ACROPHONIC ATTIC TEN TALENTS
-1014A ; [*1502.0020.0002.1014A] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
-1014B ; [*1503.0020.0002.1014B] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
-1014C ; [*1504.0020.0002.1014C] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
-1014D ; [*1505.0020.0002.1014D] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
-1014E ; [*1506.0020.0002.1014E] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
-10150 ; [*1507.0020.0002.10150] # GREEK ACROPHONIC ATTIC TEN STATERS
-10151 ; [*1508.0020.0002.10151] # GREEK ACROPHONIC ATTIC FIFTY STATERS
-10152 ; [*1509.0020.0002.10152] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
-10153 ; [*150A.0020.0002.10153] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
-10154 ; [*150B.0020.0002.10154] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
-10155 ; [*150C.0020.0002.10155] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
-10156 ; [*150D.0020.0002.10156] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
-10157 ; [*150E.0020.0002.10157] # GREEK ACROPHONIC ATTIC TEN MNAS
-10160 ; [*150F.0020.0002.10160] # GREEK ACROPHONIC TROEZENIAN TEN
-10161 ; [*1510.0020.0002.10161] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
-10162 ; [*1511.0020.0002.10162] # GREEK ACROPHONIC HERMIONIAN TEN
-10163 ; [*1512.0020.0002.10163] # GREEK ACROPHONIC MESSENIAN TEN
-10164 ; [*1513.0020.0002.10164] # GREEK ACROPHONIC THESPIAN TEN
-10165 ; [*1514.0020.0002.10165] # GREEK ACROPHONIC THESPIAN THIRTY
-10166 ; [*1515.0020.0002.10166] # GREEK ACROPHONIC TROEZENIAN FIFTY
-10167 ; [*1516.0020.0002.10167] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
-10168 ; [*1517.0020.0002.10168] # GREEK ACROPHONIC HERMIONIAN FIFTY
-10169 ; [*1518.0020.0002.10169] # GREEK ACROPHONIC THESPIAN FIFTY
-1016A ; [*1519.0020.0002.1016A] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
-1016B ; [*151A.0020.0002.1016B] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
-1016C ; [*151B.0020.0002.1016C] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
-1016D ; [*151C.0020.0002.1016D] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
-1016E ; [*151D.0020.0002.1016E] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
-1016F ; [*151E.0020.0002.1016F] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
-10170 ; [*151F.0020.0002.10170] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
-10171 ; [*1520.0020.0002.10171] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
-10172 ; [*1521.0020.0002.10172] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
-10174 ; [*1522.0020.0002.10174] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
-10175 ; [*1523.0020.0002.10175] # GREEK ONE HALF SIGN
-10176 ; [*1524.0020.0002.10176] # GREEK ONE HALF SIGN ALTERNATE FORM
-10177 ; [*1525.0020.0002.10177] # GREEK TWO THIRDS SIGN
-10178 ; [*1526.0020.0002.10178] # GREEK THREE QUARTERS SIGN
-10179 ; [*0E52.0020.0002.10179] # GREEK YEAR SIGN
-1017A ; [*0E53.0020.0002.1017A] # GREEK TALENT SIGN
-1017B ; [*0E54.0020.0002.1017B] # GREEK DRACHMA SIGN
-1017C ; [*0E55.0020.0002.1017C] # GREEK OBOL SIGN
-1017D ; [*0E56.0020.0002.1017D] # GREEK TWO OBOLS SIGN
-1017E ; [*0E57.0020.0002.1017E] # GREEK THREE OBOLS SIGN
-1017F ; [*0E58.0020.0002.1017F] # GREEK FOUR OBOLS SIGN
-10180 ; [*0E59.0020.0002.10180] # GREEK FIVE OBOLS SIGN
-10181 ; [*0E5A.0020.0002.10181] # GREEK METRETES SIGN
-10182 ; [*0E5B.0020.0002.10182] # GREEK KYATHOS BASE SIGN
-10183 ; [*0E5C.0020.0002.10183] # GREEK LITRA SIGN
-10184 ; [*0E5D.0020.0002.10184] # GREEK OUNKIA SIGN
-10185 ; [*0E5E.0020.0002.10185] # GREEK XESTES SIGN
-10186 ; [*0E5F.0020.0002.10186] # GREEK ARTABE SIGN
-10187 ; [*0E60.0020.0002.10187] # GREEK AROURA SIGN
-10188 ; [*0E61.0020.0002.10188] # GREEK GRAMMA SIGN
-10189 ; [*0E62.0020.0002.10189] # GREEK TRYBLION BASE SIGN
-10190 ; [*0E63.0020.0002.10190] # ROMAN SEXTANS SIGN
-10191 ; [*0E64.0020.0002.10191] # ROMAN UNCIA SIGN
-10192 ; [*0E65.0020.0002.10192] # ROMAN SEMUNCIA SIGN
-10193 ; [*0E66.0020.0002.10193] # ROMAN SEXTULA SIGN
-10194 ; [*0E67.0020.0002.10194] # ROMAN DIMIDIA SEXTULA SIGN
-10195 ; [*0E68.0020.0002.10195] # ROMAN SILIQUA SIGN
-10196 ; [*0E69.0020.0002.10196] # ROMAN DENARIUS SIGN
-10197 ; [*0E6A.0020.0002.10197] # ROMAN QUINARIUS SIGN
-10198 ; [*0E6B.0020.0002.10198] # ROMAN SESTERTIUS SIGN
-10199 ; [*0E6C.0020.0002.10199] # ROMAN DUPONDIUS SIGN
-1019A ; [*0E6D.0020.0002.1019A] # ROMAN AS SIGN
-1019B ; [*0E6E.0020.0002.1019B] # ROMAN CENTURIAL SIGN
-101D0 ; [*0E6F.0020.0002.101D0] # PHAISTOS DISC SIGN PEDESTRIAN
-101D1 ; [*0E70.0020.0002.101D1] # PHAISTOS DISC SIGN PLUMED HEAD
-101D2 ; [*0E71.0020.0002.101D2] # PHAISTOS DISC SIGN TATTOOED HEAD
-101D3 ; [*0E72.0020.0002.101D3] # PHAISTOS DISC SIGN CAPTIVE
-101D4 ; [*0E73.0020.0002.101D4] # PHAISTOS DISC SIGN CHILD
-101D5 ; [*0E74.0020.0002.101D5] # PHAISTOS DISC SIGN WOMAN
-101D6 ; [*0E75.0020.0002.101D6] # PHAISTOS DISC SIGN HELMET
-101D7 ; [*0E76.0020.0002.101D7] # PHAISTOS DISC SIGN GAUNTLET
-101D8 ; [*0E77.0020.0002.101D8] # PHAISTOS DISC SIGN TIARA
-101D9 ; [*0E78.0020.0002.101D9] # PHAISTOS DISC SIGN ARROW
-101DA ; [*0E79.0020.0002.101DA] # PHAISTOS DISC SIGN BOW
-101DB ; [*0E7A.0020.0002.101DB] # PHAISTOS DISC SIGN SHIELD
-101DC ; [*0E7B.0020.0002.101DC] # PHAISTOS DISC SIGN CLUB
-101DD ; [*0E7C.0020.0002.101DD] # PHAISTOS DISC SIGN MANACLES
-101DE ; [*0E7D.0020.0002.101DE] # PHAISTOS DISC SIGN MATTOCK
-101DF ; [*0E7E.0020.0002.101DF] # PHAISTOS DISC SIGN SAW
-101E0 ; [*0E7F.0020.0002.101E0] # PHAISTOS DISC SIGN LID
-101E1 ; [*0E80.0020.0002.101E1] # PHAISTOS DISC SIGN BOOMERANG
-101E2 ; [*0E81.0020.0002.101E2] # PHAISTOS DISC SIGN CARPENTRY PLANE
-101E3 ; [*0E82.0020.0002.101E3] # PHAISTOS DISC SIGN DOLIUM
-101E4 ; [*0E83.0020.0002.101E4] # PHAISTOS DISC SIGN COMB
-101E5 ; [*0E84.0020.0002.101E5] # PHAISTOS DISC SIGN SLING
-101E6 ; [*0E85.0020.0002.101E6] # PHAISTOS DISC SIGN COLUMN
-101E7 ; [*0E86.0020.0002.101E7] # PHAISTOS DISC SIGN BEEHIVE
-101E8 ; [*0E87.0020.0002.101E8] # PHAISTOS DISC SIGN SHIP
-101E9 ; [*0E88.0020.0002.101E9] # PHAISTOS DISC SIGN HORN
-101EA ; [*0E89.0020.0002.101EA] # PHAISTOS DISC SIGN HIDE
-101EB ; [*0E8A.0020.0002.101EB] # PHAISTOS DISC SIGN BULLS LEG
-101EC ; [*0E8B.0020.0002.101EC] # PHAISTOS DISC SIGN CAT
-101ED ; [*0E8C.0020.0002.101ED] # PHAISTOS DISC SIGN RAM
-101EE ; [*0E8D.0020.0002.101EE] # PHAISTOS DISC SIGN EAGLE
-101EF ; [*0E8E.0020.0002.101EF] # PHAISTOS DISC SIGN DOVE
-101F0 ; [*0E8F.0020.0002.101F0] # PHAISTOS DISC SIGN TUNNY
-101F1 ; [*0E90.0020.0002.101F1] # PHAISTOS DISC SIGN BEE
-101F2 ; [*0E91.0020.0002.101F2] # PHAISTOS DISC SIGN PLANE TREE
-101F3 ; [*0E92.0020.0002.101F3] # PHAISTOS DISC SIGN VINE
-101F4 ; [*0E93.0020.0002.101F4] # PHAISTOS DISC SIGN PAPYRUS
-101F5 ; [*0E94.0020.0002.101F5] # PHAISTOS DISC SIGN ROSETTE
-101F6 ; [*0E95.0020.0002.101F6] # PHAISTOS DISC SIGN LILY
-101F7 ; [*0E96.0020.0002.101F7] # PHAISTOS DISC SIGN OX BACK
-101F8 ; [*0E97.0020.0002.101F8] # PHAISTOS DISC SIGN FLUTE
-101F9 ; [*0E98.0020.0002.101F9] # PHAISTOS DISC SIGN GRATER
-101FA ; [*0E99.0020.0002.101FA] # PHAISTOS DISC SIGN STRAINER
-101FB ; [*0E9A.0020.0002.101FB] # PHAISTOS DISC SIGN SMALL AXE
-101FC ; [*0E9B.0020.0002.101FC] # PHAISTOS DISC SIGN WAVY BAND
-10322 ; [*14D5.0020.0002.10322] # OLD ITALIC NUMERAL TEN
-10323 ; [*14D6.0020.0002.10323] # OLD ITALIC NUMERAL FIFTY
-1039F ; [*02F6.0020.0002.1039F] # UGARITIC WORD DIVIDER
-103D0 ; [*02F7.0020.0002.103D0] # OLD PERSIAN WORD DIVIDER
-103D3 ; [*1527.0020.0002.103D3] # OLD PERSIAN NUMBER TEN
-103D4 ; [*1528.0020.0002.103D4] # OLD PERSIAN NUMBER TWENTY
-103D5 ; [*1529.0020.0002.103D5] # OLD PERSIAN NUMBER HUNDRED
-10857 ; [*02D9.0020.0002.10857] # IMPERIAL ARAMAIC SECTION SIGN
-1085B ; [*152F.0020.0002.1085B] # IMPERIAL ARAMAIC NUMBER TEN
-1085C ; [*1530.0020.0002.1085C] # IMPERIAL ARAMAIC NUMBER TWENTY
-1085D ; [*1531.0020.0002.1085D] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
-1085E ; [*1532.0020.0002.1085E] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
-1085F ; [*1533.0020.0002.1085F] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
-10917 ; [*152C.0020.0002.10917] # PHOENICIAN NUMBER TEN
-10918 ; [*152D.0020.0002.10918] # PHOENICIAN NUMBER TWENTY
-10919 ; [*152E.0020.0002.10919] # PHOENICIAN NUMBER ONE HUNDRED
-1091F ; [*02F8.0020.0002.1091F] # PHOENICIAN WORD SEPARATOR
-1093F ; [*02F2.0020.0002.1093F] # LYDIAN TRIANGULAR MARK
-10A44 ; [*1547.0020.0002.10A44] # KHAROSHTHI NUMBER TEN
-10A45 ; [*1548.0020.0002.10A45] # KHAROSHTHI NUMBER TWENTY
-10A46 ; [*1549.0020.0002.10A46] # KHAROSHTHI NUMBER ONE HUNDRED
-10A47 ; [*154A.0020.0002.10A47] # KHAROSHTHI NUMBER ONE THOUSAND
-10A50 ; [*03FA.0020.0002.10A50] # KHAROSHTHI PUNCTUATION DOT
-10A51 ; [*03FB.0020.0002.10A51] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
-10A52 ; [*03FC.0020.0002.10A52] # KHAROSHTHI PUNCTUATION CIRCLE
-10A53 ; [*03FD.0020.0002.10A53] # KHAROSHTHI PUNCTUATION CRESCENT BAR
-10A54 ; [*03FE.0020.0002.10A54] # KHAROSHTHI PUNCTUATION MANGALAM
-10A55 ; [*03FF.0020.0002.10A55] # KHAROSHTHI PUNCTUATION LOTUS
-10A56 ; [*02BC.0020.0002.10A56] # KHAROSHTHI PUNCTUATION DANDA
-10A57 ; [*02BD.0020.0002.10A57] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
-10A58 ; [*0400.0020.0002.10A58] # KHAROSHTHI PUNCTUATION LINES
-10A7E ; [*152A.0020.0002.10A7E] # OLD SOUTH ARABIAN NUMBER FIFTY
-10A7F ; [*152B.0020.0002.10A7F] # OLD SOUTH ARABIAN NUMERIC INDICATOR
-10B39 ; [*0401.0020.0002.10B39] # AVESTAN ABBREVIATION MARK
-10B3A ; [*02DA.0020.0002.10B3A] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
-10B3B ; [*02DB.0020.0002.10B3B] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
-10B3C ; [*02DC.0020.0002.10B3C] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
-10B3D ; [*02DD.0020.0002.10B3D] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
-10B3E ; [*02DE.0020.0002.10B3E] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
-10B3F ; [*02DF.0020.0002.10B3F] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
-10B5C ; [*1534.0020.0002.10B5C] # INSCRIPTIONAL PARTHIAN NUMBER TEN
-10B5D ; [*1535.0020.0002.10B5D] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
-10B5E ; [*1536.0020.0002.10B5E] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
-10B5F ; [*1537.0020.0002.10B5F] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
-10B7C ; [*1538.0020.0002.10B7C] # INSCRIPTIONAL PAHLAVI NUMBER TEN
-10B7D ; [*1539.0020.0002.10B7D] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
-10B7E ; [*153A.0020.0002.10B7E] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
-10B7F ; [*153B.0020.0002.10B7F] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
-10E69 ; [*14BE.0020.0002.10E69] # RUMI NUMBER TEN
-10E6A ; [*14BF.0020.0002.10E6A] # RUMI NUMBER TWENTY
-10E6B ; [*14C0.0020.0002.10E6B] # RUMI NUMBER THIRTY
-10E6C ; [*14C1.0020.0002.10E6C] # RUMI NUMBER FORTY
-10E6D ; [*14C2.0020.0002.10E6D] # RUMI NUMBER FIFTY
-10E6E ; [*14C3.0020.0002.10E6E] # RUMI NUMBER SIXTY
-10E6F ; [*14C4.0020.0002.10E6F] # RUMI NUMBER SEVENTY
-10E70 ; [*14C5.0020.0002.10E70] # RUMI NUMBER EIGHTY
-10E71 ; [*14C6.0020.0002.10E71] # RUMI NUMBER NINETY
-10E72 ; [*14C7.0020.0002.10E72] # RUMI NUMBER ONE HUNDRED
-10E73 ; [*14C8.0020.0002.10E73] # RUMI NUMBER TWO HUNDRED
-10E74 ; [*14C9.0020.0002.10E74] # RUMI NUMBER THREE HUNDRED
-10E75 ; [*14CA.0020.0002.10E75] # RUMI NUMBER FOUR HUNDRED
-10E76 ; [*14CB.0020.0002.10E76] # RUMI NUMBER FIVE HUNDRED
-10E77 ; [*14CC.0020.0002.10E77] # RUMI NUMBER SIX HUNDRED
-10E78 ; [*14CD.0020.0002.10E78] # RUMI NUMBER SEVEN HUNDRED
-10E79 ; [*14CE.0020.0002.10E79] # RUMI NUMBER EIGHT HUNDRED
-10E7A ; [*14CF.0020.0002.10E7A] # RUMI NUMBER NINE HUNDRED
-10E7B ; [*14D0.0020.0002.10E7B] # RUMI FRACTION ONE HALF
-10E7C ; [*14D1.0020.0002.10E7C] # RUMI FRACTION ONE QUARTER
-10E7D ; [*14D2.0020.0002.10E7D] # RUMI FRACTION ONE THIRD
-10E7E ; [*14D3.0020.0002.10E7E] # RUMI FRACTION TWO THIRDS
-11047 ; [*02BE.0020.0002.11047] # BRAHMI DANDA
-11048 ; [*02BF.0020.0002.11048] # BRAHMI DOUBLE DANDA
-11049 ; [*03F5.0020.0002.11049] # BRAHMI PUNCTUATION DOT
-1104A ; [*03F6.0020.0002.1104A] # BRAHMI PUNCTUATION DOUBLE DOT
-1104B ; [*03F7.0020.0002.1104B] # BRAHMI PUNCTUATION LINE
-1104C ; [*03F8.0020.0002.1104C] # BRAHMI PUNCTUATION CRESCENT BAR
-1104D ; [*03F9.0020.0002.1104D] # BRAHMI PUNCTUATION LOTUS
-1105B ; [*153C.0020.0002.1105B] # BRAHMI NUMBER TEN
-1105C ; [*153D.0020.0002.1105C] # BRAHMI NUMBER TWENTY
-1105D ; [*153E.0020.0002.1105D] # BRAHMI NUMBER THIRTY
-1105E ; [*153F.0020.0002.1105E] # BRAHMI NUMBER FORTY
-1105F ; [*1540.0020.0002.1105F] # BRAHMI NUMBER FIFTY
-11060 ; [*1541.0020.0002.11060] # BRAHMI NUMBER SIXTY
-11061 ; [*1542.0020.0002.11061] # BRAHMI NUMBER SEVENTY
-11062 ; [*1543.0020.0002.11062] # BRAHMI NUMBER EIGHTY
-11063 ; [*1544.0020.0002.11063] # BRAHMI NUMBER NINETY
-11064 ; [*1545.0020.0002.11064] # BRAHMI NUMBER ONE HUNDRED
-11065 ; [*1546.0020.0002.11065] # BRAHMI NUMBER ONE THOUSAND
-110BB ; [*0402.0020.0002.110BB] # KAITHI ABBREVIATION SIGN
-110BC ; [*0403.0020.0002.110BC] # KAITHI ENUMERATION SIGN
+FF01  ; [*025E.0020.0003.FF01] # FULLWIDTH EXCLAMATION MARK
+FF02  ; [*02F1.0020.0003.FF02] # FULLWIDTH QUOTATION MARK
+FF03  ; [*0376.0020.0003.FF03] # FULLWIDTH NUMBER SIGN
+FF05  ; [*0377.0020.0003.FF05] # FULLWIDTH PERCENT SIGN
+FF06  ; [*0374.0020.0003.FF06] # FULLWIDTH AMPERSAND
+FF07  ; [*02EA.0020.0003.FF07] # FULLWIDTH APOSTROPHE
+FF08  ; [*02FB.0020.0003.FF08] # FULLWIDTH LEFT PARENTHESIS
+FF09  ; [*02FC.0020.0003.FF09] # FULLWIDTH RIGHT PARENTHESIS
+FF0A  ; [*036D.0020.0003.FF0A] # FULLWIDTH ASTERISK
+FF0B  ; [*059C.0020.0003.FF0B] # FULLWIDTH PLUS SIGN
+FF0C  ; [*0221.0020.0003.FF0C] # FULLWIDTH COMMA
+FF0D  ; [*020E.0020.0003.FF0D] # FULLWIDTH HYPHEN-MINUS
+FF0E  ; [*0273.0020.0003.FF0E] # FULLWIDTH FULL STOP
+FF0F  ; [*0372.0020.0003.FF0F] # FULLWIDTH SOLIDUS
+FF1A  ; [*0237.0020.0003.FF1A] # FULLWIDTH COLON
+FF1B  ; [*0232.0020.0003.FF1B] # FULLWIDTH SEMICOLON
+FF1C  ; [*05A0.0020.0003.FF1C] # FULLWIDTH LESS-THAN SIGN
+FF1D  ; [*05A1.0020.0003.FF1D] # FULLWIDTH EQUALS SIGN
+FF1E  ; [*05A2.0020.0003.FF1E] # FULLWIDTH GREATER-THAN SIGN
+FF1F  ; [*0263.0020.0003.FF1F] # FULLWIDTH QUESTION MARK
+FF20  ; [*036C.0020.0003.FF20] # FULLWIDTH COMMERCIAL AT
+FF3B  ; [*02FD.0020.0003.FF3B] # FULLWIDTH LEFT SQUARE BRACKET
+FF3C  ; [*0373.0020.0003.FF3C] # FULLWIDTH REVERSE SOLIDUS
+FF3D  ; [*02FE.0020.0003.FF3D] # FULLWIDTH RIGHT SQUARE BRACKET
+FF3E  ; [*0412.0020.0003.FF3E] # FULLWIDTH CIRCUMFLEX ACCENT
+FF3F  ; [*020C.0020.0003.FF3F] # FULLWIDTH LOW LINE
+FF40  ; [*040F.0020.0003.FF40] # FULLWIDTH GRAVE ACCENT
+FF5B  ; [*02FF.0020.0003.FF5B] # FULLWIDTH LEFT CURLY BRACKET
+FF5C  ; [*05A4.0020.0003.FF5C] # FULLWIDTH VERTICAL LINE
+FF5D  ; [*0300.0020.0003.FF5D] # FULLWIDTH RIGHT CURLY BRACKET
+FF5E  ; [*05A6.0020.0003.FF5E] # FULLWIDTH TILDE
+FF5F  ; [*030D.0020.0003.FF5F] # FULLWIDTH LEFT WHITE PARENTHESIS
+FF60  ; [*030E.0020.0003.FF60] # FULLWIDTH RIGHT WHITE PARENTHESIS
+FF61  ; [*0283.0020.0012.FF61] # HALFWIDTH IDEOGRAPHIC FULL STOP
+FF62  ; [*0353.0020.0012.FF62] # HALFWIDTH LEFT CORNER BRACKET
+FF63  ; [*0354.0020.0012.FF63] # HALFWIDTH RIGHT CORNER BRACKET
+FF64  ; [*022F.0020.0012.FF64] # HALFWIDTH IDEOGRAPHIC COMMA
+FF65  ; [*0220.0020.0012.FF65] # HALFWIDTH KATAKANA MIDDLE DOT
+FFE2  ; [*05A3.0020.0003.FFE2] # FULLWIDTH NOT SIGN
+FFE3  ; [*0413.0020.0003.FFE3] # FULLWIDTH MACRON
+FFE4  ; [*05A5.0020.0003.FFE4] # FULLWIDTH BROKEN BAR
+FFE8  ; [*0799.0020.0012.FFE8] # HALFWIDTH FORMS LIGHT VERTICAL
+FFE9  ; [*0522.0020.0012.FFE9] # HALFWIDTH LEFTWARDS ARROW
+FFEA  ; [*0524.0020.0012.FFEA] # HALFWIDTH UPWARDS ARROW
+FFEB  ; [*0523.0020.0012.FFEB] # HALFWIDTH RIGHTWARDS ARROW
+FFEC  ; [*0525.0020.0012.FFEC] # HALFWIDTH DOWNWARDS ARROW
+FFED  ; [*0837.0020.0012.FFED] # HALFWIDTH BLACK SQUARE
+FFEE  ; [*0862.0020.0012.FFEE] # HALFWIDTH WHITE CIRCLE
+FFFC  ; [*14D7.0020.0002.FFFC] # OBJECT REPLACEMENT CHARACTER
+FFFD  ; [*14D8.0020.0002.FFFD] # REPLACEMENT CHARACTER
+10100 ; [*02E0.0020.0002.10100] # AEGEAN WORD SEPARATOR LINE
+10101 ; [*02E1.0020.0002.10101] # AEGEAN WORD SEPARATOR DOT
+10102 ; [*02E2.0020.0002.10102] # AEGEAN CHECK MARK
+10110 ; [*151E.0020.0002.10110] # AEGEAN NUMBER TEN
+10111 ; [*151F.0020.0002.10111] # AEGEAN NUMBER TWENTY
+10112 ; [*1520.0020.0002.10112] # AEGEAN NUMBER THIRTY
+10113 ; [*1521.0020.0002.10113] # AEGEAN NUMBER FORTY
+10114 ; [*1522.0020.0002.10114] # AEGEAN NUMBER FIFTY
+10115 ; [*1523.0020.0002.10115] # AEGEAN NUMBER SIXTY
+10116 ; [*1524.0020.0002.10116] # AEGEAN NUMBER SEVENTY
+10117 ; [*1525.0020.0002.10117] # AEGEAN NUMBER EIGHTY
+10118 ; [*1526.0020.0002.10118] # AEGEAN NUMBER NINETY
+10119 ; [*1527.0020.0002.10119] # AEGEAN NUMBER ONE HUNDRED
+1011A ; [*1528.0020.0002.1011A] # AEGEAN NUMBER TWO HUNDRED
+1011B ; [*1529.0020.0002.1011B] # AEGEAN NUMBER THREE HUNDRED
+1011C ; [*152A.0020.0002.1011C] # AEGEAN NUMBER FOUR HUNDRED
+1011D ; [*152B.0020.0002.1011D] # AEGEAN NUMBER FIVE HUNDRED
+1011E ; [*152C.0020.0002.1011E] # AEGEAN NUMBER SIX HUNDRED
+1011F ; [*152D.0020.0002.1011F] # AEGEAN NUMBER SEVEN HUNDRED
+10120 ; [*152E.0020.0002.10120] # AEGEAN NUMBER EIGHT HUNDRED
+10121 ; [*152F.0020.0002.10121] # AEGEAN NUMBER NINE HUNDRED
+10122 ; [*1530.0020.0002.10122] # AEGEAN NUMBER ONE THOUSAND
+10123 ; [*1531.0020.0002.10123] # AEGEAN NUMBER TWO THOUSAND
+10124 ; [*1532.0020.0002.10124] # AEGEAN NUMBER THREE THOUSAND
+10125 ; [*1533.0020.0002.10125] # AEGEAN NUMBER FOUR THOUSAND
+10126 ; [*1534.0020.0002.10126] # AEGEAN NUMBER FIVE THOUSAND
+10127 ; [*1535.0020.0002.10127] # AEGEAN NUMBER SIX THOUSAND
+10128 ; [*1536.0020.0002.10128] # AEGEAN NUMBER SEVEN THOUSAND
+10129 ; [*1537.0020.0002.10129] # AEGEAN NUMBER EIGHT THOUSAND
+1012A ; [*1538.0020.0002.1012A] # AEGEAN NUMBER NINE THOUSAND
+1012B ; [*1539.0020.0002.1012B] # AEGEAN NUMBER TEN THOUSAND
+1012C ; [*153A.0020.0002.1012C] # AEGEAN NUMBER TWENTY THOUSAND
+1012D ; [*153B.0020.0002.1012D] # AEGEAN NUMBER THIRTY THOUSAND
+1012E ; [*153C.0020.0002.1012E] # AEGEAN NUMBER FORTY THOUSAND
+1012F ; [*153D.0020.0002.1012F] # AEGEAN NUMBER FIFTY THOUSAND
+10130 ; [*153E.0020.0002.10130] # AEGEAN NUMBER SIXTY THOUSAND
+10131 ; [*153F.0020.0002.10131] # AEGEAN NUMBER SEVENTY THOUSAND
+10132 ; [*1540.0020.0002.10132] # AEGEAN NUMBER EIGHTY THOUSAND
+10133 ; [*1541.0020.0002.10133] # AEGEAN NUMBER NINETY THOUSAND
+10137 ; [*0E7F.0020.0002.10137] # AEGEAN WEIGHT BASE UNIT
+10138 ; [*0E80.0020.0002.10138] # AEGEAN WEIGHT FIRST SUBUNIT
+10139 ; [*0E81.0020.0002.10139] # AEGEAN WEIGHT SECOND SUBUNIT
+1013A ; [*0E82.0020.0002.1013A] # AEGEAN WEIGHT THIRD SUBUNIT
+1013B ; [*0E83.0020.0002.1013B] # AEGEAN WEIGHT FOURTH SUBUNIT
+1013C ; [*0E84.0020.0002.1013C] # AEGEAN DRY MEASURE FIRST SUBUNIT
+1013D ; [*0E85.0020.0002.1013D] # AEGEAN LIQUID MEASURE FIRST SUBUNIT
+1013E ; [*0E86.0020.0002.1013E] # AEGEAN MEASURE SECOND SUBUNIT
+1013F ; [*0E87.0020.0002.1013F] # AEGEAN MEASURE THIRD SUBUNIT
+10140 ; [*1542.0020.0002.10140] # GREEK ACROPHONIC ATTIC ONE QUARTER
+10141 ; [*1543.0020.0002.10141] # GREEK ACROPHONIC ATTIC ONE HALF
+10144 ; [*1544.0020.0002.10144] # GREEK ACROPHONIC ATTIC FIFTY
+10145 ; [*1545.0020.0002.10145] # GREEK ACROPHONIC ATTIC FIVE HUNDRED
+10146 ; [*1546.0020.0002.10146] # GREEK ACROPHONIC ATTIC FIVE THOUSAND
+10147 ; [*1547.0020.0002.10147] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND
+10149 ; [*1548.0020.0002.10149] # GREEK ACROPHONIC ATTIC TEN TALENTS
+1014A ; [*1549.0020.0002.1014A] # GREEK ACROPHONIC ATTIC FIFTY TALENTS
+1014B ; [*154A.0020.0002.1014B] # GREEK ACROPHONIC ATTIC ONE HUNDRED TALENTS
+1014C ; [*154B.0020.0002.1014C] # GREEK ACROPHONIC ATTIC FIVE HUNDRED TALENTS
+1014D ; [*154C.0020.0002.1014D] # GREEK ACROPHONIC ATTIC ONE THOUSAND TALENTS
+1014E ; [*154D.0020.0002.1014E] # GREEK ACROPHONIC ATTIC FIVE THOUSAND TALENTS
+10150 ; [*154E.0020.0002.10150] # GREEK ACROPHONIC ATTIC TEN STATERS
+10151 ; [*154F.0020.0002.10151] # GREEK ACROPHONIC ATTIC FIFTY STATERS
+10152 ; [*1550.0020.0002.10152] # GREEK ACROPHONIC ATTIC ONE HUNDRED STATERS
+10153 ; [*1551.0020.0002.10153] # GREEK ACROPHONIC ATTIC FIVE HUNDRED STATERS
+10154 ; [*1552.0020.0002.10154] # GREEK ACROPHONIC ATTIC ONE THOUSAND STATERS
+10155 ; [*1553.0020.0002.10155] # GREEK ACROPHONIC ATTIC TEN THOUSAND STATERS
+10156 ; [*1554.0020.0002.10156] # GREEK ACROPHONIC ATTIC FIFTY THOUSAND STATERS
+10157 ; [*1555.0020.0002.10157] # GREEK ACROPHONIC ATTIC TEN MNAS
+10160 ; [*1556.0020.0002.10160] # GREEK ACROPHONIC TROEZENIAN TEN
+10161 ; [*1557.0020.0002.10161] # GREEK ACROPHONIC TROEZENIAN TEN ALTERNATE FORM
+10162 ; [*1558.0020.0002.10162] # GREEK ACROPHONIC HERMIONIAN TEN
+10163 ; [*1559.0020.0002.10163] # GREEK ACROPHONIC MESSENIAN TEN
+10164 ; [*155A.0020.0002.10164] # GREEK ACROPHONIC THESPIAN TEN
+10165 ; [*155B.0020.0002.10165] # GREEK ACROPHONIC THESPIAN THIRTY
+10166 ; [*155C.0020.0002.10166] # GREEK ACROPHONIC TROEZENIAN FIFTY
+10167 ; [*155D.0020.0002.10167] # GREEK ACROPHONIC TROEZENIAN FIFTY ALTERNATE FORM
+10168 ; [*155E.0020.0002.10168] # GREEK ACROPHONIC HERMIONIAN FIFTY
+10169 ; [*155F.0020.0002.10169] # GREEK ACROPHONIC THESPIAN FIFTY
+1016A ; [*1560.0020.0002.1016A] # GREEK ACROPHONIC THESPIAN ONE HUNDRED
+1016B ; [*1561.0020.0002.1016B] # GREEK ACROPHONIC THESPIAN THREE HUNDRED
+1016C ; [*1562.0020.0002.1016C] # GREEK ACROPHONIC EPIDAUREAN FIVE HUNDRED
+1016D ; [*1563.0020.0002.1016D] # GREEK ACROPHONIC TROEZENIAN FIVE HUNDRED
+1016E ; [*1564.0020.0002.1016E] # GREEK ACROPHONIC THESPIAN FIVE HUNDRED
+1016F ; [*1565.0020.0002.1016F] # GREEK ACROPHONIC CARYSTIAN FIVE HUNDRED
+10170 ; [*1566.0020.0002.10170] # GREEK ACROPHONIC NAXIAN FIVE HUNDRED
+10171 ; [*1567.0020.0002.10171] # GREEK ACROPHONIC THESPIAN ONE THOUSAND
+10172 ; [*1568.0020.0002.10172] # GREEK ACROPHONIC THESPIAN FIVE THOUSAND
+10174 ; [*1569.0020.0002.10174] # GREEK ACROPHONIC STRATIAN FIFTY MNAS
+10175 ; [*156A.0020.0002.10175] # GREEK ONE HALF SIGN
+10176 ; [*156B.0020.0002.10176] # GREEK ONE HALF SIGN ALTERNATE FORM
+10177 ; [*156C.0020.0002.10177] # GREEK TWO THIRDS SIGN
+10178 ; [*156D.0020.0002.10178] # GREEK THREE QUARTERS SIGN
+10179 ; [*0E88.0020.0002.10179] # GREEK YEAR SIGN
+1017A ; [*0E89.0020.0002.1017A] # GREEK TALENT SIGN
+1017B ; [*0E8A.0020.0002.1017B] # GREEK DRACHMA SIGN
+1017C ; [*0E8B.0020.0002.1017C] # GREEK OBOL SIGN
+1017D ; [*0E8C.0020.0002.1017D] # GREEK TWO OBOLS SIGN
+1017E ; [*0E8D.0020.0002.1017E] # GREEK THREE OBOLS SIGN
+1017F ; [*0E8E.0020.0002.1017F] # GREEK FOUR OBOLS SIGN
+10180 ; [*0E8F.0020.0002.10180] # GREEK FIVE OBOLS SIGN
+10181 ; [*0E90.0020.0002.10181] # GREEK METRETES SIGN
+10182 ; [*0E91.0020.0002.10182] # GREEK KYATHOS BASE SIGN
+10183 ; [*0E92.0020.0002.10183] # GREEK LITRA SIGN
+10184 ; [*0E93.0020.0002.10184] # GREEK OUNKIA SIGN
+10185 ; [*0E94.0020.0002.10185] # GREEK XESTES SIGN
+10186 ; [*0E95.0020.0002.10186] # GREEK ARTABE SIGN
+10187 ; [*0E96.0020.0002.10187] # GREEK AROURA SIGN
+10188 ; [*0E97.0020.0002.10188] # GREEK GRAMMA SIGN
+10189 ; [*0E98.0020.0002.10189] # GREEK TRYBLION BASE SIGN
+10190 ; [*0E99.0020.0002.10190] # ROMAN SEXTANS SIGN
+10191 ; [*0E9A.0020.0002.10191] # ROMAN UNCIA SIGN
+10192 ; [*0E9B.0020.0002.10192] # ROMAN SEMUNCIA SIGN
+10193 ; [*0E9C.0020.0002.10193] # ROMAN SEXTULA SIGN
+10194 ; [*0E9D.0020.0002.10194] # ROMAN DIMIDIA SEXTULA SIGN
+10195 ; [*0E9E.0020.0002.10195] # ROMAN SILIQUA SIGN
+10196 ; [*0E9F.0020.0002.10196] # ROMAN DENARIUS SIGN
+10197 ; [*0EA0.0020.0002.10197] # ROMAN QUINARIUS SIGN
+10198 ; [*0EA1.0020.0002.10198] # ROMAN SESTERTIUS SIGN
+10199 ; [*0EA2.0020.0002.10199] # ROMAN DUPONDIUS SIGN
+1019A ; [*0EA3.0020.0002.1019A] # ROMAN AS SIGN
+1019B ; [*0EA4.0020.0002.1019B] # ROMAN CENTURIAL SIGN
+101D0 ; [*0EA5.0020.0002.101D0] # PHAISTOS DISC SIGN PEDESTRIAN
+101D1 ; [*0EA6.0020.0002.101D1] # PHAISTOS DISC SIGN PLUMED HEAD
+101D2 ; [*0EA7.0020.0002.101D2] # PHAISTOS DISC SIGN TATTOOED HEAD
+101D3 ; [*0EA8.0020.0002.101D3] # PHAISTOS DISC SIGN CAPTIVE
+101D4 ; [*0EA9.0020.0002.101D4] # PHAISTOS DISC SIGN CHILD
+101D5 ; [*0EAA.0020.0002.101D5] # PHAISTOS DISC SIGN WOMAN
+101D6 ; [*0EAB.0020.0002.101D6] # PHAISTOS DISC SIGN HELMET
+101D7 ; [*0EAC.0020.0002.101D7] # PHAISTOS DISC SIGN GAUNTLET
+101D8 ; [*0EAD.0020.0002.101D8] # PHAISTOS DISC SIGN TIARA
+101D9 ; [*0EAE.0020.0002.101D9] # PHAISTOS DISC SIGN ARROW
+101DA ; [*0EAF.0020.0002.101DA] # PHAISTOS DISC SIGN BOW
+101DB ; [*0EB0.0020.0002.101DB] # PHAISTOS DISC SIGN SHIELD
+101DC ; [*0EB1.0020.0002.101DC] # PHAISTOS DISC SIGN CLUB
+101DD ; [*0EB2.0020.0002.101DD] # PHAISTOS DISC SIGN MANACLES
+101DE ; [*0EB3.0020.0002.101DE] # PHAISTOS DISC SIGN MATTOCK
+101DF ; [*0EB4.0020.0002.101DF] # PHAISTOS DISC SIGN SAW
+101E0 ; [*0EB5.0020.0002.101E0] # PHAISTOS DISC SIGN LID
+101E1 ; [*0EB6.0020.0002.101E1] # PHAISTOS DISC SIGN BOOMERANG
+101E2 ; [*0EB7.0020.0002.101E2] # PHAISTOS DISC SIGN CARPENTRY PLANE
+101E3 ; [*0EB8.0020.0002.101E3] # PHAISTOS DISC SIGN DOLIUM
+101E4 ; [*0EB9.0020.0002.101E4] # PHAISTOS DISC SIGN COMB
+101E5 ; [*0EBA.0020.0002.101E5] # PHAISTOS DISC SIGN SLING
+101E6 ; [*0EBB.0020.0002.101E6] # PHAISTOS DISC SIGN COLUMN
+101E7 ; [*0EBC.0020.0002.101E7] # PHAISTOS DISC SIGN BEEHIVE
+101E8 ; [*0EBD.0020.0002.101E8] # PHAISTOS DISC SIGN SHIP
+101E9 ; [*0EBE.0020.0002.101E9] # PHAISTOS DISC SIGN HORN
+101EA ; [*0EBF.0020.0002.101EA] # PHAISTOS DISC SIGN HIDE
+101EB ; [*0EC0.0020.0002.101EB] # PHAISTOS DISC SIGN BULLS LEG
+101EC ; [*0EC1.0020.0002.101EC] # PHAISTOS DISC SIGN CAT
+101ED ; [*0EC2.0020.0002.101ED] # PHAISTOS DISC SIGN RAM
+101EE ; [*0EC3.0020.0002.101EE] # PHAISTOS DISC SIGN EAGLE
+101EF ; [*0EC4.0020.0002.101EF] # PHAISTOS DISC SIGN DOVE
+101F0 ; [*0EC5.0020.0002.101F0] # PHAISTOS DISC SIGN TUNNY
+101F1 ; [*0EC6.0020.0002.101F1] # PHAISTOS DISC SIGN BEE
+101F2 ; [*0EC7.0020.0002.101F2] # PHAISTOS DISC SIGN PLANE TREE
+101F3 ; [*0EC8.0020.0002.101F3] # PHAISTOS DISC SIGN VINE
+101F4 ; [*0EC9.0020.0002.101F4] # PHAISTOS DISC SIGN PAPYRUS
+101F5 ; [*0ECA.0020.0002.101F5] # PHAISTOS DISC SIGN ROSETTE
+101F6 ; [*0ECB.0020.0002.101F6] # PHAISTOS DISC SIGN LILY
+101F7 ; [*0ECC.0020.0002.101F7] # PHAISTOS DISC SIGN OX BACK
+101F8 ; [*0ECD.0020.0002.101F8] # PHAISTOS DISC SIGN FLUTE
+101F9 ; [*0ECE.0020.0002.101F9] # PHAISTOS DISC SIGN GRATER
+101FA ; [*0ECF.0020.0002.101FA] # PHAISTOS DISC SIGN STRAINER
+101FB ; [*0ED0.0020.0002.101FB] # PHAISTOS DISC SIGN SMALL AXE
+101FC ; [*0ED1.0020.0002.101FC] # PHAISTOS DISC SIGN WAVY BAND
+10322 ; [*151C.0020.0002.10322] # OLD ITALIC NUMERAL TEN
+10323 ; [*151D.0020.0002.10323] # OLD ITALIC NUMERAL FIFTY
+1039F ; [*02E3.0020.0002.1039F] # UGARITIC WORD DIVIDER
+103D0 ; [*02E4.0020.0002.103D0] # OLD PERSIAN WORD DIVIDER
+103D3 ; [*156E.0020.0002.103D3] # OLD PERSIAN NUMBER TEN
+103D4 ; [*156F.0020.0002.103D4] # OLD PERSIAN NUMBER TWENTY
+103D5 ; [*1570.0020.0002.103D5] # OLD PERSIAN NUMBER HUNDRED
+10857 ; [*02C4.0020.0002.10857] # IMPERIAL ARAMAIC SECTION SIGN
+1085B ; [*1576.0020.0002.1085B] # IMPERIAL ARAMAIC NUMBER TEN
+1085C ; [*1577.0020.0002.1085C] # IMPERIAL ARAMAIC NUMBER TWENTY
+1085D ; [*1578.0020.0002.1085D] # IMPERIAL ARAMAIC NUMBER ONE HUNDRED
+1085E ; [*1579.0020.0002.1085E] # IMPERIAL ARAMAIC NUMBER ONE THOUSAND
+1085F ; [*157A.0020.0002.1085F] # IMPERIAL ARAMAIC NUMBER TEN THOUSAND
+10917 ; [*1573.0020.0002.10917] # PHOENICIAN NUMBER TEN
+10918 ; [*1574.0020.0002.10918] # PHOENICIAN NUMBER TWENTY
+10919 ; [*1575.0020.0002.10919] # PHOENICIAN NUMBER ONE HUNDRED
+1091F ; [*02E5.0020.0002.1091F] # PHOENICIAN WORD SEPARATOR
+1093F ; [*02DF.0020.0002.1093F] # LYDIAN TRIANGULAR MARK
+10A44 ; [*158E.0020.0002.10A44] # KHAROSHTHI NUMBER TEN
+10A45 ; [*158F.0020.0002.10A45] # KHAROSHTHI NUMBER TWENTY
+10A46 ; [*1590.0020.0002.10A46] # KHAROSHTHI NUMBER ONE HUNDRED
+10A47 ; [*1591.0020.0002.10A47] # KHAROSHTHI NUMBER ONE THOUSAND
+10A50 ; [*0404.0020.0002.10A50] # KHAROSHTHI PUNCTUATION DOT
+10A51 ; [*0405.0020.0002.10A51] # KHAROSHTHI PUNCTUATION SMALL CIRCLE
+10A52 ; [*0406.0020.0002.10A52] # KHAROSHTHI PUNCTUATION CIRCLE
+10A53 ; [*0407.0020.0002.10A53] # KHAROSHTHI PUNCTUATION CRESCENT BAR
+10A54 ; [*0408.0020.0002.10A54] # KHAROSHTHI PUNCTUATION MANGALAM
+10A55 ; [*0409.0020.0002.10A55] # KHAROSHTHI PUNCTUATION LOTUS
+10A56 ; [*02A3.0020.0002.10A56] # KHAROSHTHI PUNCTUATION DANDA
+10A57 ; [*02A4.0020.0002.10A57] # KHAROSHTHI PUNCTUATION DOUBLE DANDA
+10A58 ; [*040A.0020.0002.10A58] # KHAROSHTHI PUNCTUATION LINES
+10A7E ; [*1571.0020.0002.10A7E] # OLD SOUTH ARABIAN NUMBER FIFTY
+10A7F ; [*1572.0020.0002.10A7F] # OLD SOUTH ARABIAN NUMERIC INDICATOR
+10B39 ; [*040B.0020.0002.10B39] # AVESTAN ABBREVIATION MARK
+10B3A ; [*02C5.0020.0002.10B3A] # TINY TWO DOTS OVER ONE DOT PUNCTUATION
+10B3B ; [*02C6.0020.0002.10B3B] # SMALL TWO DOTS OVER ONE DOT PUNCTUATION
+10B3C ; [*02C7.0020.0002.10B3C] # LARGE TWO DOTS OVER ONE DOT PUNCTUATION
+10B3D ; [*02C8.0020.0002.10B3D] # LARGE ONE DOT OVER TWO DOTS PUNCTUATION
+10B3E ; [*02C9.0020.0002.10B3E] # LARGE TWO RINGS OVER ONE RING PUNCTUATION
+10B3F ; [*02CA.0020.0002.10B3F] # LARGE ONE RING OVER TWO RINGS PUNCTUATION
+10B5C ; [*157B.0020.0002.10B5C] # INSCRIPTIONAL PARTHIAN NUMBER TEN
+10B5D ; [*157C.0020.0002.10B5D] # INSCRIPTIONAL PARTHIAN NUMBER TWENTY
+10B5E ; [*157D.0020.0002.10B5E] # INSCRIPTIONAL PARTHIAN NUMBER ONE HUNDRED
+10B5F ; [*157E.0020.0002.10B5F] # INSCRIPTIONAL PARTHIAN NUMBER ONE THOUSAND
+10B7C ; [*157F.0020.0002.10B7C] # INSCRIPTIONAL PAHLAVI NUMBER TEN
+10B7D ; [*1580.0020.0002.10B7D] # INSCRIPTIONAL PAHLAVI NUMBER TWENTY
+10B7E ; [*1581.0020.0002.10B7E] # INSCRIPTIONAL PAHLAVI NUMBER ONE HUNDRED
+10B7F ; [*1582.0020.0002.10B7F] # INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
+10E69 ; [*1505.0020.0002.10E69] # RUMI NUMBER TEN
+10E6A ; [*1506.0020.0002.10E6A] # RUMI NUMBER TWENTY
+10E6B ; [*1507.0020.0002.10E6B] # RUMI NUMBER THIRTY
+10E6C ; [*1508.0020.0002.10E6C] # RUMI NUMBER FORTY
+10E6D ; [*1509.0020.0002.10E6D] # RUMI NUMBER FIFTY
+10E6E ; [*150A.0020.0002.10E6E] # RUMI NUMBER SIXTY
+10E6F ; [*150B.0020.0002.10E6F] # RUMI NUMBER SEVENTY
+10E70 ; [*150C.0020.0002.10E70] # RUMI NUMBER EIGHTY
+10E71 ; [*150D.0020.0002.10E71] # RUMI NUMBER NINETY
+10E72 ; [*150E.0020.0002.10E72] # RUMI NUMBER ONE HUNDRED
+10E73 ; [*150F.0020.0002.10E73] # RUMI NUMBER TWO HUNDRED
+10E74 ; [*1510.0020.0002.10E74] # RUMI NUMBER THREE HUNDRED
+10E75 ; [*1511.0020.0002.10E75] # RUMI NUMBER FOUR HUNDRED
+10E76 ; [*1512.0020.0002.10E76] # RUMI NUMBER FIVE HUNDRED
+10E77 ; [*1513.0020.0002.10E77] # RUMI NUMBER SIX HUNDRED
+10E78 ; [*1514.0020.0002.10E78] # RUMI NUMBER SEVEN HUNDRED
+10E79 ; [*1515.0020.0002.10E79] # RUMI NUMBER EIGHT HUNDRED
+10E7A ; [*1516.0020.0002.10E7A] # RUMI NUMBER NINE HUNDRED
+10E7B ; [*1517.0020.0002.10E7B] # RUMI FRACTION ONE HALF
+10E7C ; [*1518.0020.0002.10E7C] # RUMI FRACTION ONE QUARTER
+10E7D ; [*1519.0020.0002.10E7D] # RUMI FRACTION ONE THIRD
+10E7E ; [*151A.0020.0002.10E7E] # RUMI FRACTION TWO THIRDS
+11047 ; [*02A5.0020.0002.11047] # BRAHMI DANDA
+11048 ; [*02A6.0020.0002.11048] # BRAHMI DOUBLE DANDA
+11049 ; [*03FF.0020.0002.11049] # BRAHMI PUNCTUATION DOT
+1104A ; [*0400.0020.0002.1104A] # BRAHMI PUNCTUATION DOUBLE DOT
+1104B ; [*0401.0020.0002.1104B] # BRAHMI PUNCTUATION LINE
+1104C ; [*0402.0020.0002.1104C] # BRAHMI PUNCTUATION CRESCENT BAR
+1104D ; [*0403.0020.0002.1104D] # BRAHMI PUNCTUATION LOTUS
+1105B ; [*1583.0020.0002.1105B] # BRAHMI NUMBER TEN
+1105C ; [*1584.0020.0002.1105C] # BRAHMI NUMBER TWENTY
+1105D ; [*1585.0020.0002.1105D] # BRAHMI NUMBER THIRTY
+1105E ; [*1586.0020.0002.1105E] # BRAHMI NUMBER FORTY
+1105F ; [*1587.0020.0002.1105F] # BRAHMI NUMBER FIFTY
+11060 ; [*1588.0020.0002.11060] # BRAHMI NUMBER SIXTY
+11061 ; [*1589.0020.0002.11061] # BRAHMI NUMBER SEVENTY
+11062 ; [*158A.0020.0002.11062] # BRAHMI NUMBER EIGHTY
+11063 ; [*158B.0020.0002.11063] # BRAHMI NUMBER NINETY
+11064 ; [*158C.0020.0002.11064] # BRAHMI NUMBER ONE HUNDRED
+11065 ; [*158D.0020.0002.11065] # BRAHMI NUMBER ONE THOUSAND
+110BB ; [*040C.0020.0002.110BB] # KAITHI ABBREVIATION SIGN
+110BC ; [*040D.0020.0002.110BC] # KAITHI ENUMERATION SIGN
 110BD ; [.0000.0000.0000.110BD] # KAITHI NUMBER SIGN
-110BE ; [*02E0.0020.0002.110BE] # KAITHI SECTION MARK
-110BF ; [*02E1.0020.0002.110BF] # KAITHI DOUBLE SECTION MARK
-110C0 ; [*02C0.0020.0002.110C0] # KAITHI DANDA
-110C1 ; [*02C1.0020.0002.110C1] # KAITHI DOUBLE DANDA
-12432 ; [*154B.0020.0002.12432] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
-12433 ; [*154C.0020.0002.12433] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
-12456 ; [*154D.0020.0002.12456] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
-12457 ; [*154E.0020.0002.12457] # CUNEIFORM NUMERIC SIGN NIGIDAESH
-1245A ; [*154F.0020.0002.1245A] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
-1245B ; [*1550.0020.0002.1245B] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
-1245C ; [*1551.0020.0002.1245C] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
-1245D ; [*1552.0020.0002.1245D] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
-1245E ; [*1553.0020.0002.1245E] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
-1245F ; [*1554.0020.0002.1245F] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
-12460 ; [*1555.0020.0002.12460] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
-12461 ; [*1556.0020.0002.12461] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
-12462 ; [*1557.0020.0002.12462] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
-12470 ; [*02F9.0020.0002.12470] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
-12471 ; [*02FA.0020.0002.12471] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
-12472 ; [*02FB.0020.0002.12472] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
-12473 ; [*02FC.0020.0002.12473] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
-1D000 ; [*0E9C.0020.0002.1D000] # BYZANTINE MUSICAL SYMBOL PSILI
-1D001 ; [*0E9D.0020.0002.1D001] # BYZANTINE MUSICAL SYMBOL DASEIA
-1D002 ; [*0E9E.0020.0002.1D002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
-1D003 ; [*0E9F.0020.0002.1D003] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
-1D004 ; [*0EA0.0020.0002.1D004] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
-1D005 ; [*0EA1.0020.0002.1D005] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
-1D006 ; [*0EA2.0020.0002.1D006] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
-1D007 ; [*0EA3.0020.0002.1D007] # BYZANTINE MUSICAL SYMBOL KATHISTI
-1D008 ; [*0EA4.0020.0002.1D008] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
-1D009 ; [*0EA5.0020.0002.1D009] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
-1D00A ; [*0EA6.0020.0002.1D00A] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
-1D00B ; [*0EA7.0020.0002.1D00B] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
-1D00C ; [*0EA8.0020.0002.1D00C] # BYZANTINE MUSICAL SYMBOL KREMASTI
-1D00D ; [*0EA9.0020.0002.1D00D] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
-1D00E ; [*0EAA.0020.0002.1D00E] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
-1D00F ; [*0EAB.0020.0002.1D00F] # BYZANTINE MUSICAL SYMBOL TELEIA
-1D010 ; [*0EAC.0020.0002.1D010] # BYZANTINE MUSICAL SYMBOL KENTIMATA
-1D011 ; [*0EAD.0020.0002.1D011] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
-1D012 ; [*0EAE.0020.0002.1D012] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
-1D013 ; [*0EAF.0020.0002.1D013] # BYZANTINE MUSICAL SYMBOL SYNEVMA
-1D014 ; [*0EB0.0020.0002.1D014] # BYZANTINE MUSICAL SYMBOL THITA
-1D015 ; [*0EB1.0020.0002.1D015] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
-1D016 ; [*0EB2.0020.0002.1D016] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
-1D017 ; [*0EB3.0020.0002.1D017] # BYZANTINE MUSICAL SYMBOL PSILON
-1D018 ; [*0EB4.0020.0002.1D018] # BYZANTINE MUSICAL SYMBOL CHAMILON
-1D019 ; [*0EB5.0020.0002.1D019] # BYZANTINE MUSICAL SYMBOL VATHY
-1D01A ; [*0EB6.0020.0002.1D01A] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
-1D01B ; [*0EB7.0020.0002.1D01B] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
-1D01C ; [*0EB8.0020.0002.1D01C] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
-1D01D ; [*0EB9.0020.0002.1D01D] # BYZANTINE MUSICAL SYMBOL SAXIMATA
-1D01E ; [*0EBA.0020.0002.1D01E] # BYZANTINE MUSICAL SYMBOL PARICHON
-1D01F ; [*0EBB.0020.0002.1D01F] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
-1D020 ; [*0EBC.0020.0002.1D020] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
-1D021 ; [*0EBD.0020.0002.1D021] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
-1D022 ; [*0EBE.0020.0002.1D022] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
-1D023 ; [*0EBF.0020.0002.1D023] # BYZANTINE MUSICAL SYMBOL APOTHEMA
-1D024 ; [*0EC0.0020.0002.1D024] # BYZANTINE MUSICAL SYMBOL KLASMA
-1D025 ; [*0EC1.0020.0002.1D025] # BYZANTINE MUSICAL SYMBOL REVMA
-1D026 ; [*0EC2.0020.0002.1D026] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
-1D027 ; [*0EC3.0020.0002.1D027] # BYZANTINE MUSICAL SYMBOL TINAGMA
-1D028 ; [*0EC4.0020.0002.1D028] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
-1D029 ; [*0EC5.0020.0002.1D029] # BYZANTINE MUSICAL SYMBOL SEISMA
-1D02A ; [*0EC6.0020.0002.1D02A] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
-1D02B ; [*0EC7.0020.0002.1D02B] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
-1D02C ; [*0EC8.0020.0002.1D02C] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
-1D02D ; [*0EC9.0020.0002.1D02D] # BYZANTINE MUSICAL SYMBOL THEMA
-1D02E ; [*0ECA.0020.0002.1D02E] # BYZANTINE MUSICAL SYMBOL LEMOI
-1D02F ; [*0ECB.0020.0002.1D02F] # BYZANTINE MUSICAL SYMBOL DYO
-1D030 ; [*0ECC.0020.0002.1D030] # BYZANTINE MUSICAL SYMBOL TRIA
-1D031 ; [*0ECD.0020.0002.1D031] # BYZANTINE MUSICAL SYMBOL TESSERA
-1D032 ; [*0ECE.0020.0002.1D032] # BYZANTINE MUSICAL SYMBOL KRATIMATA
-1D033 ; [*0ECF.0020.0002.1D033] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
-1D034 ; [*0ED0.0020.0002.1D034] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
-1D035 ; [*0ED1.0020.0002.1D035] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
-1D036 ; [*0ED2.0020.0002.1D036] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
-1D037 ; [*0ED3.0020.0002.1D037] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
-1D038 ; [*0ED4.0020.0002.1D038] # BYZANTINE MUSICAL SYMBOL PELASTON
-1D039 ; [*0ED5.0020.0002.1D039] # BYZANTINE MUSICAL SYMBOL PSIFISTON
-1D03A ; [*0ED6.0020.0002.1D03A] # BYZANTINE MUSICAL SYMBOL KONTEVMA
-1D03B ; [*0ED7.0020.0002.1D03B] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
-1D03C ; [*0ED8.0020.0002.1D03C] # BYZANTINE MUSICAL SYMBOL RAPISMA
-1D03D ; [*0ED9.0020.0002.1D03D] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
-1D03E ; [*0EDA.0020.0002.1D03E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
-1D03F ; [*0EDB.0020.0002.1D03F] # BYZANTINE MUSICAL SYMBOL ICHADIN
-1D040 ; [*0EDC.0020.0002.1D040] # BYZANTINE MUSICAL SYMBOL NANA
-1D041 ; [*0EDD.0020.0002.1D041] # BYZANTINE MUSICAL SYMBOL PETASMA
-1D042 ; [*0EDE.0020.0002.1D042] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
-1D043 ; [*0EDF.0020.0002.1D043] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
-1D044 ; [*0EE0.0020.0002.1D044] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
-1D045 ; [*0EE1.0020.0002.1D045] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
-1D046 ; [*0EE2.0020.0002.1D046] # BYZANTINE MUSICAL SYMBOL ISON NEO
-1D047 ; [*0EE3.0020.0002.1D047] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
-1D048 ; [*0EE4.0020.0002.1D048] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
-1D049 ; [*0EE5.0020.0002.1D049] # BYZANTINE MUSICAL SYMBOL PETASTI
-1D04A ; [*0EE6.0020.0002.1D04A] # BYZANTINE MUSICAL SYMBOL KOUFISMA
-1D04B ; [*0EE7.0020.0002.1D04B] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
-1D04C ; [*0EE8.0020.0002.1D04C] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
-1D04D ; [*0EE9.0020.0002.1D04D] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
-1D04E ; [*0EEA.0020.0002.1D04E] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
-1D04F ; [*0EEB.0020.0002.1D04F] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
-1D050 ; [*0EEC.0020.0002.1D050] # BYZANTINE MUSICAL SYMBOL YPSILI
-1D051 ; [*0EED.0020.0002.1D051] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
-1D052 ; [*0EEE.0020.0002.1D052] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
-1D053 ; [*0EEF.0020.0002.1D053] # BYZANTINE MUSICAL SYMBOL YPORROI
-1D054 ; [*0EF0.0020.0002.1D054] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
-1D055 ; [*0EF1.0020.0002.1D055] # BYZANTINE MUSICAL SYMBOL ELAFRON
-1D056 ; [*0EF2.0020.0002.1D056] # BYZANTINE MUSICAL SYMBOL CHAMILI
-1D057 ; [*0EF3.0020.0002.1D057] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
-1D058 ; [*0EF4.0020.0002.1D058] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
-1D059 ; [*0EF5.0020.0002.1D059] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
-1D05A ; [*0EF6.0020.0002.1D05A] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
-1D05B ; [*0EF7.0020.0002.1D05B] # BYZANTINE MUSICAL SYMBOL OMALON
-1D05C ; [*0EF8.0020.0002.1D05C] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
-1D05D ; [*0EF9.0020.0002.1D05D] # BYZANTINE MUSICAL SYMBOL LYGISMA
-1D05E ; [*0EFA.0020.0002.1D05E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
-1D05F ; [*0EFB.0020.0002.1D05F] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
-1D060 ; [*0EFC.0020.0002.1D060] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
-1D061 ; [*0EFD.0020.0002.1D061] # BYZANTINE MUSICAL SYMBOL KYLISMA
-1D062 ; [*0EFE.0020.0002.1D062] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
-1D063 ; [*0EFF.0020.0002.1D063] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
-1D064 ; [*0F00.0020.0002.1D064] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
-1D065 ; [*0F01.0020.0002.1D065] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
-1D066 ; [*0F02.0020.0002.1D066] # BYZANTINE MUSICAL SYMBOL SYRMA
-1D067 ; [*0F03.0020.0002.1D067] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
-1D068 ; [*0F04.0020.0002.1D068] # BYZANTINE MUSICAL SYMBOL EPEGERMA
-1D069 ; [*0F05.0020.0002.1D069] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
-1D06A ; [*0F06.0020.0002.1D06A] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
-1D06B ; [*0F07.0020.0002.1D06B] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
-1D06C ; [*0F08.0020.0002.1D06C] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
-1D06D ; [*0F09.0020.0002.1D06D] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
-1D06E ; [*0F0A.0020.0002.1D06E] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
-1D06F ; [*0F0B.0020.0002.1D06F] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
-1D070 ; [*0F0C.0020.0002.1D070] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
-1D071 ; [*0F0D.0020.0002.1D071] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
-1D072 ; [*0F0E.0020.0002.1D072] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
-1D073 ; [*0F0F.0020.0002.1D073] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
-1D074 ; [*0F10.0020.0002.1D074] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
-1D075 ; [*0F11.0020.0002.1D075] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
-1D076 ; [*0F12.0020.0002.1D076] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
-1D077 ; [*0F13.0020.0002.1D077] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
-1D078 ; [*0F14.0020.0002.1D078] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
-1D079 ; [*0F15.0020.0002.1D079] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
-1D07A ; [*0F16.0020.0002.1D07A] # BYZANTINE MUSICAL SYMBOL KATAVASMA
-1D07B ; [*0F17.0020.0002.1D07B] # BYZANTINE MUSICAL SYMBOL ENDOFONON
-1D07C ; [*0F18.0020.0002.1D07C] # BYZANTINE MUSICAL SYMBOL YFEN KATO
-1D07D ; [*0F19.0020.0002.1D07D] # BYZANTINE MUSICAL SYMBOL YFEN ANO
-1D07E ; [*0F1A.0020.0002.1D07E] # BYZANTINE MUSICAL SYMBOL STAVROS
-1D07F ; [*0F1B.0020.0002.1D07F] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
-1D080 ; [*0F1C.0020.0002.1D080] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
-1D081 ; [*0F1D.0020.0002.1D081] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
-1D082 ; [*0F1E.0020.0002.1D082] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
-1D083 ; [*0F1F.0020.0002.1D083] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
-1D084 ; [*0F20.0020.0002.1D084] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
-1D085 ; [*0F21.0020.0002.1D085] # BYZANTINE MUSICAL SYMBOL APLI
-1D086 ; [*0F22.0020.0002.1D086] # BYZANTINE MUSICAL SYMBOL DIPLI
-1D087 ; [*0F23.0020.0002.1D087] # BYZANTINE MUSICAL SYMBOL TRIPLI
-1D088 ; [*0F24.0020.0002.1D088] # BYZANTINE MUSICAL SYMBOL TETRAPLI
-1D089 ; [*0F25.0020.0002.1D089] # BYZANTINE MUSICAL SYMBOL KORONIS
-1D08A ; [*0F26.0020.0002.1D08A] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
-1D08B ; [*0F27.0020.0002.1D08B] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
-1D08C ; [*0F28.0020.0002.1D08C] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
-1D08D ; [*0F29.0020.0002.1D08D] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
-1D08E ; [*0F2A.0020.0002.1D08E] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
-1D08F ; [*0F2B.0020.0002.1D08F] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
-1D090 ; [*0F2C.0020.0002.1D090] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
-1D091 ; [*0F2D.0020.0002.1D091] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
-1D092 ; [*0F2E.0020.0002.1D092] # BYZANTINE MUSICAL SYMBOL DIGORGON
-1D093 ; [*0F2F.0020.0002.1D093] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
-1D094 ; [*0F30.0020.0002.1D094] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
-1D095 ; [*0F31.0020.0002.1D095] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
-1D096 ; [*0F32.0020.0002.1D096] # BYZANTINE MUSICAL SYMBOL TRIGORGON
-1D097 ; [*0F33.0020.0002.1D097] # BYZANTINE MUSICAL SYMBOL ARGON
-1D098 ; [*0F34.0020.0002.1D098] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
-1D099 ; [*0F35.0020.0002.1D099] # BYZANTINE MUSICAL SYMBOL DIARGON
-1D09A ; [*0F36.0020.0002.1D09A] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
-1D09B ; [*0F37.0020.0002.1D09B] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
-1D09C ; [*0F38.0020.0002.1D09C] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
-1D09D ; [*0F39.0020.0002.1D09D] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
-1D09E ; [*0F3A.0020.0002.1D09E] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
-1D09F ; [*0F3B.0020.0002.1D09F] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
-1D0A0 ; [*0F3C.0020.0002.1D0A0] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
-1D0A1 ; [*0F3D.0020.0002.1D0A1] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
-1D0A2 ; [*0F3E.0020.0002.1D0A2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
-1D0A3 ; [*0F3F.0020.0002.1D0A3] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
-1D0A4 ; [*0F40.0020.0002.1D0A4] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
-1D0A5 ; [*0F41.0020.0002.1D0A5] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
-1D0A6 ; [*0F42.0020.0002.1D0A6] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
-1D0A7 ; [*0F43.0020.0002.1D0A7] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
-1D0A8 ; [*0F44.0020.0002.1D0A8] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
-1D0A9 ; [*0F45.0020.0002.1D0A9] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
-1D0AA ; [*0F46.0020.0002.1D0AA] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
-1D0AB ; [*0F47.0020.0002.1D0AB] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
-1D0AC ; [*0F48.0020.0002.1D0AC] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
-1D0AD ; [*0F49.0020.0002.1D0AD] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
-1D0AE ; [*0F4A.0020.0002.1D0AE] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
-1D0AF ; [*0F4B.0020.0002.1D0AF] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
-1D0B0 ; [*0F4C.0020.0002.1D0B0] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
-1D0B1 ; [*0F4D.0020.0002.1D0B1] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
-1D0B2 ; [*0F4E.0020.0002.1D0B2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
-1D0B3 ; [*0F4F.0020.0002.1D0B3] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
-1D0B4 ; [*0F50.0020.0002.1D0B4] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
-1D0B5 ; [*0F51.0020.0002.1D0B5] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
-1D0B6 ; [*0F52.0020.0002.1D0B6] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
-1D0B7 ; [*0F53.0020.0002.1D0B7] # BYZANTINE MUSICAL SYMBOL IMIFONON
-1D0B8 ; [*0F54.0020.0002.1D0B8] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
-1D0B9 ; [*0F55.0020.0002.1D0B9] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
-1D0BA ; [*0F56.0020.0002.1D0BA] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
-1D0BB ; [*0F57.0020.0002.1D0BB] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
-1D0BC ; [*0F58.0020.0002.1D0BC] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
-1D0BD ; [*0F59.0020.0002.1D0BD] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
-1D0BE ; [*0F5A.0020.0002.1D0BE] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
-1D0BF ; [*0F5B.0020.0002.1D0BF] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
-1D0C0 ; [*0F5C.0020.0002.1D0C0] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
-1D0C1 ; [*0F5D.0020.0002.1D0C1] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
-1D0C2 ; [*0F5E.0020.0002.1D0C2] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
-1D0C3 ; [*0F5F.0020.0002.1D0C3] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
-1D0C4 ; [*0F60.0020.0002.1D0C4] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
-1D0C5 ; [*0F61.0020.0002.1D0C5] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
-1D0C6 ; [*0F62.0020.0002.1D0C6] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
-1D0C7 ; [*0F63.0020.0002.1D0C7] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
-1D0C8 ; [*0F64.0020.0002.1D0C8] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
-1D0C9 ; [*0F65.0020.0002.1D0C9] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
-1D0CA ; [*0F66.0020.0002.1D0CA] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
-1D0CB ; [*0F67.0020.0002.1D0CB] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
-1D0CC ; [*0F68.0020.0002.1D0CC] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
-1D0CD ; [*0F69.0020.0002.1D0CD] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
-1D0CE ; [*0F6A.0020.0002.1D0CE] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
-1D0CF ; [*0F6B.0020.0002.1D0CF] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
-1D0D0 ; [*0F6C.0020.0002.1D0D0] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
-1D0D1 ; [*0F6D.0020.0002.1D0D1] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D2 ; [*0F6E.0020.0002.1D0D2] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
-1D0D3 ; [*0F6F.0020.0002.1D0D3] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
-1D0D4 ; [*0F70.0020.0002.1D0D4] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
-1D0D5 ; [*0F71.0020.0002.1D0D5] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
-1D0D6 ; [*0F72.0020.0002.1D0D6] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
-1D0D7 ; [*0F73.0020.0002.1D0D7] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
-1D0D8 ; [*0F74.0020.0002.1D0D8] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
-1D0D9 ; [*0F75.0020.0002.1D0D9] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
-1D0DA ; [*0F76.0020.0002.1D0DA] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
-1D0DB ; [*0F77.0020.0002.1D0DB] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
-1D0DC ; [*0F78.0020.0002.1D0DC] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
-1D0DD ; [*0F79.0020.0002.1D0DD] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
-1D0DE ; [*0F7A.0020.0002.1D0DE] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
-1D0DF ; [*0F7B.0020.0002.1D0DF] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
-1D0E0 ; [*0F7C.0020.0002.1D0E0] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
-1D0E1 ; [*0F7D.0020.0002.1D0E1] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
-1D0E2 ; [*0F7E.0020.0002.1D0E2] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
-1D0E3 ; [*0F7F.0020.0002.1D0E3] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
-1D0E4 ; [*0F80.0020.0002.1D0E4] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
-1D0E5 ; [*0F81.0020.0002.1D0E5] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
-1D0E6 ; [*0F82.0020.0002.1D0E6] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
-1D0E7 ; [*0F83.0020.0002.1D0E7] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
-1D0E8 ; [*0F84.0020.0002.1D0E8] # BYZANTINE MUSICAL SYMBOL STIGMA
-1D0E9 ; [*0F85.0020.0002.1D0E9] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
-1D0EA ; [*0F86.0020.0002.1D0EA] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
-1D0EB ; [*0F87.0020.0002.1D0EB] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
-1D0EC ; [*0F88.0020.0002.1D0EC] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
-1D0ED ; [*0F89.0020.0002.1D0ED] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
-1D0EE ; [*0F8A.0020.0002.1D0EE] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
-1D0EF ; [*0F8B.0020.0002.1D0EF] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
-1D0F0 ; [*0F8C.0020.0002.1D0F0] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
-1D0F1 ; [*0F8D.0020.0002.1D0F1] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
-1D0F2 ; [*0F8E.0020.0002.1D0F2] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
-1D0F3 ; [*0F8F.0020.0002.1D0F3] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
-1D0F4 ; [*0F90.0020.0002.1D0F4] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
-1D0F5 ; [*0F91.0020.0002.1D0F5] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
-1D100 ; [*0F92.0020.0002.1D100] # MUSICAL SYMBOL SINGLE BARLINE
-1D101 ; [*0F93.0020.0002.1D101] # MUSICAL SYMBOL DOUBLE BARLINE
-1D102 ; [*0F94.0020.0002.1D102] # MUSICAL SYMBOL FINAL BARLINE
-1D103 ; [*0F95.0020.0002.1D103] # MUSICAL SYMBOL REVERSE FINAL BARLINE
-1D104 ; [*0F96.0020.0002.1D104] # MUSICAL SYMBOL DASHED BARLINE
-1D105 ; [*0F97.0020.0002.1D105] # MUSICAL SYMBOL SHORT BARLINE
-1D106 ; [*0F98.0020.0002.1D106] # MUSICAL SYMBOL LEFT REPEAT SIGN
-1D107 ; [*0F99.0020.0002.1D107] # MUSICAL SYMBOL RIGHT REPEAT SIGN
-1D108 ; [*0F9A.0020.0002.1D108] # MUSICAL SYMBOL REPEAT DOTS
-1D109 ; [*0F9B.0020.0002.1D109] # MUSICAL SYMBOL DAL SEGNO
-1D10A ; [*0F9C.0020.0002.1D10A] # MUSICAL SYMBOL DA CAPO
-1D10B ; [*0F9D.0020.0002.1D10B] # MUSICAL SYMBOL SEGNO
-1D10C ; [*0F9E.0020.0002.1D10C] # MUSICAL SYMBOL CODA
-1D10D ; [*0F9F.0020.0002.1D10D] # MUSICAL SYMBOL REPEATED FIGURE-1
-1D10E ; [*0FA0.0020.0002.1D10E] # MUSICAL SYMBOL REPEATED FIGURE-2
-1D10F ; [*0FA1.0020.0002.1D10F] # MUSICAL SYMBOL REPEATED FIGURE-3
-1D110 ; [*0FA2.0020.0002.1D110] # MUSICAL SYMBOL FERMATA
-1D111 ; [*0FA3.0020.0002.1D111] # MUSICAL SYMBOL FERMATA BELOW
-1D112 ; [*0FA4.0020.0002.1D112] # MUSICAL SYMBOL BREATH MARK
-1D113 ; [*0FA5.0020.0002.1D113] # MUSICAL SYMBOL CAESURA
-1D114 ; [*0FA6.0020.0002.1D114] # MUSICAL SYMBOL BRACE
-1D115 ; [*0FA7.0020.0002.1D115] # MUSICAL SYMBOL BRACKET
-1D116 ; [*0FA8.0020.0002.1D116] # MUSICAL SYMBOL ONE-LINE STAFF
-1D117 ; [*0FA9.0020.0002.1D117] # MUSICAL SYMBOL TWO-LINE STAFF
-1D118 ; [*0FAA.0020.0002.1D118] # MUSICAL SYMBOL THREE-LINE STAFF
-1D119 ; [*0FAB.0020.0002.1D119] # MUSICAL SYMBOL FOUR-LINE STAFF
-1D11A ; [*0FAC.0020.0002.1D11A] # MUSICAL SYMBOL FIVE-LINE STAFF
-1D11B ; [*0FAD.0020.0002.1D11B] # MUSICAL SYMBOL SIX-LINE STAFF
-1D11C ; [*0FAE.0020.0002.1D11C] # MUSICAL SYMBOL SIX-STRING FRETBOARD
-1D11D ; [*0FAF.0020.0002.1D11D] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
-1D11E ; [*0FB0.0020.0002.1D11E] # MUSICAL SYMBOL G CLEF
-1D11F ; [*0FB1.0020.0002.1D11F] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
-1D120 ; [*0FB2.0020.0002.1D120] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
-1D121 ; [*0FB3.0020.0002.1D121] # MUSICAL SYMBOL C CLEF
-1D122 ; [*0FB4.0020.0002.1D122] # MUSICAL SYMBOL F CLEF
-1D123 ; [*0FB5.0020.0002.1D123] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
-1D124 ; [*0FB6.0020.0002.1D124] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
-1D125 ; [*0FB7.0020.0002.1D125] # MUSICAL SYMBOL DRUM CLEF-1
-1D126 ; [*0FB8.0020.0002.1D126] # MUSICAL SYMBOL DRUM CLEF-2
-1D129 ; [*0FCC.0020.0002.1D129] # MUSICAL SYMBOL MULTIPLE MEASURE REST
-1D12A ; [*0FBC.0020.0002.1D12A] # MUSICAL SYMBOL DOUBLE SHARP
-1D12B ; [*0FBD.0020.0002.1D12B] # MUSICAL SYMBOL DOUBLE FLAT
-1D12C ; [*0FBE.0020.0002.1D12C] # MUSICAL SYMBOL FLAT UP
-1D12D ; [*0FBF.0020.0002.1D12D] # MUSICAL SYMBOL FLAT DOWN
-1D12E ; [*0FC0.0020.0002.1D12E] # MUSICAL SYMBOL NATURAL UP
-1D12F ; [*0FC1.0020.0002.1D12F] # MUSICAL SYMBOL NATURAL DOWN
-1D130 ; [*0FC2.0020.0002.1D130] # MUSICAL SYMBOL SHARP UP
-1D131 ; [*0FC3.0020.0002.1D131] # MUSICAL SYMBOL SHARP DOWN
-1D132 ; [*0FC4.0020.0002.1D132] # MUSICAL SYMBOL QUARTER TONE SHARP
-1D133 ; [*0FC5.0020.0002.1D133] # MUSICAL SYMBOL QUARTER TONE FLAT
-1D134 ; [*0FC6.0020.0002.1D134] # MUSICAL SYMBOL COMMON TIME
-1D135 ; [*0FC7.0020.0002.1D135] # MUSICAL SYMBOL CUT TIME
-1D136 ; [*0FC8.0020.0002.1D136] # MUSICAL SYMBOL OTTAVA ALTA
-1D137 ; [*0FC9.0020.0002.1D137] # MUSICAL SYMBOL OTTAVA BASSA
-1D138 ; [*0FCA.0020.0002.1D138] # MUSICAL SYMBOL QUINDICESIMA ALTA
-1D139 ; [*0FCB.0020.0002.1D139] # MUSICAL SYMBOL QUINDICESIMA BASSA
-1D13A ; [*0FCD.0020.0002.1D13A] # MUSICAL SYMBOL MULTI REST
-1D13B ; [*0FCE.0020.0002.1D13B] # MUSICAL SYMBOL WHOLE REST
-1D13C ; [*0FCF.0020.0002.1D13C] # MUSICAL SYMBOL HALF REST
-1D13D ; [*0FD0.0020.0002.1D13D] # MUSICAL SYMBOL QUARTER REST
-1D13E ; [*0FD1.0020.0002.1D13E] # MUSICAL SYMBOL EIGHTH REST
-1D13F ; [*0FD2.0020.0002.1D13F] # MUSICAL SYMBOL SIXTEENTH REST
-1D140 ; [*0FD3.0020.0002.1D140] # MUSICAL SYMBOL THIRTY-SECOND REST
-1D141 ; [*0FD4.0020.0002.1D141] # MUSICAL SYMBOL SIXTY-FOURTH REST
-1D142 ; [*0FD5.0020.0002.1D142] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
-1D143 ; [*0FD6.0020.0002.1D143] # MUSICAL SYMBOL X NOTEHEAD
-1D144 ; [*0FD7.0020.0002.1D144] # MUSICAL SYMBOL PLUS NOTEHEAD
-1D145 ; [*0FD8.0020.0002.1D145] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
-1D146 ; [*0FD9.0020.0002.1D146] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
-1D147 ; [*0FDA.0020.0002.1D147] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
-1D148 ; [*0FDB.0020.0002.1D148] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
-1D149 ; [*0FDC.0020.0002.1D149] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
-1D14A ; [*0FDD.0020.0002.1D14A] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
-1D14B ; [*0FDE.0020.0002.1D14B] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
-1D14C ; [*0FDF.0020.0002.1D14C] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
-1D14D ; [*0FE0.0020.0002.1D14D] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
-1D14E ; [*0FE1.0020.0002.1D14E] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
-1D14F ; [*0FE2.0020.0002.1D14F] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
-1D150 ; [*0FE3.0020.0002.1D150] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
-1D151 ; [*0FE4.0020.0002.1D151] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
-1D152 ; [*0FE5.0020.0002.1D152] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
-1D153 ; [*0FE6.0020.0002.1D153] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
-1D154 ; [*0FE7.0020.0002.1D154] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
-1D155 ; [*0FE8.0020.0002.1D155] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
-1D156 ; [*0FE9.0020.0002.1D156] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
-1D157 ; [*0FEA.0020.0002.1D157] # MUSICAL SYMBOL VOID NOTEHEAD
-1D158 ; [*0FEB.0020.0002.1D158] # MUSICAL SYMBOL NOTEHEAD BLACK
-1D159 ; [*0FEC.0020.0002.1D159] # MUSICAL SYMBOL NULL NOTEHEAD
-1D15A ; [*0FED.0020.0002.1D15A] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
-1D15B ; [*0FEE.0020.0002.1D15B] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
-1D15C ; [*0FEF.0020.0002.1D15C] # MUSICAL SYMBOL BREVE
-1D15D ; [*0FF0.0020.0002.1D15D] # MUSICAL SYMBOL WHOLE NOTE
-1D15E ; [*0FEA.0020.0002.1D157][.0000.0000.0000.1D165] # MUSICAL SYMBOL HALF NOTE; QQCN
-1D15F ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165] # MUSICAL SYMBOL QUARTER NOTE; QQCN
-1D160 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL EIGHTH NOTE; QQCN
-1D161 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL SIXTEENTH NOTE; QQCN
-1D162 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D170] # MUSICAL SYMBOL THIRTY-SECOND NOTE; QQCN
-1D163 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D171] # MUSICAL SYMBOL SIXTY-FOURTH NOTE; QQCN
-1D164 ; [*0FEB.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D172] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE; QQCN
+110BE ; [*02CB.0020.0002.110BE] # KAITHI SECTION MARK
+110BF ; [*02CC.0020.0002.110BF] # KAITHI DOUBLE SECTION MARK
+110C0 ; [*02A7.0020.0002.110C0] # KAITHI DANDA
+110C1 ; [*02A8.0020.0002.110C1] # KAITHI DOUBLE DANDA
+11140 ; [*02CD.0020.0002.11140] # CHAKMA SECTION MARK
+11141 ; [*02A9.0020.0002.11141] # CHAKMA DANDA
+11142 ; [*02AA.0020.0002.11142] # CHAKMA DOUBLE DANDA
+11143 ; [*0270.0020.0002.11143] # CHAKMA QUESTION MARK
+111C5 ; [*02AB.0020.0002.111C5] # SHARADA DANDA
+111C6 ; [*02AC.0020.0002.111C6] # SHARADA DOUBLE DANDA
+111C7 ; [*040E.0020.0002.111C7] # SHARADA ABBREVIATION SIGN
+111C8 ; [*02CE.0020.0002.111C8] # SHARADA SEPARATOR
+12432 ; [*1592.0020.0002.12432] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
+12433 ; [*1593.0020.0002.12433] # CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
+12456 ; [*1594.0020.0002.12456] # CUNEIFORM NUMERIC SIGN NIGIDAMIN
+12457 ; [*1595.0020.0002.12457] # CUNEIFORM NUMERIC SIGN NIGIDAESH
+1245A ; [*1596.0020.0002.1245A] # CUNEIFORM NUMERIC SIGN ONE THIRD DISH
+1245B ; [*1597.0020.0002.1245B] # CUNEIFORM NUMERIC SIGN TWO THIRDS DISH
+1245C ; [*1598.0020.0002.1245C] # CUNEIFORM NUMERIC SIGN FIVE SIXTHS DISH
+1245D ; [*1599.0020.0002.1245D] # CUNEIFORM NUMERIC SIGN ONE THIRD VARIANT FORM A
+1245E ; [*159A.0020.0002.1245E] # CUNEIFORM NUMERIC SIGN TWO THIRDS VARIANT FORM A
+1245F ; [*159B.0020.0002.1245F] # CUNEIFORM NUMERIC SIGN ONE EIGHTH ASH
+12460 ; [*159C.0020.0002.12460] # CUNEIFORM NUMERIC SIGN ONE QUARTER ASH
+12461 ; [*159D.0020.0002.12461] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE SIXTH
+12462 ; [*159E.0020.0002.12462] # CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
+12470 ; [*02E6.0020.0002.12470] # CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER
+12471 ; [*02E7.0020.0002.12471] # CUNEIFORM PUNCTUATION SIGN VERTICAL COLON
+12472 ; [*02E8.0020.0002.12472] # CUNEIFORM PUNCTUATION SIGN DIAGONAL COLON
+12473 ; [*02E9.0020.0002.12473] # CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
+1D000 ; [*0ED2.0020.0002.1D000] # BYZANTINE MUSICAL SYMBOL PSILI
+1D001 ; [*0ED3.0020.0002.1D001] # BYZANTINE MUSICAL SYMBOL DASEIA
+1D002 ; [*0ED4.0020.0002.1D002] # BYZANTINE MUSICAL SYMBOL PERISPOMENI
+1D003 ; [*0ED5.0020.0002.1D003] # BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON
+1D004 ; [*0ED6.0020.0002.1D004] # BYZANTINE MUSICAL SYMBOL OXEIA DIPLI
+1D005 ; [*0ED7.0020.0002.1D005] # BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON
+1D006 ; [*0ED8.0020.0002.1D006] # BYZANTINE MUSICAL SYMBOL VAREIA DIPLI
+1D007 ; [*0ED9.0020.0002.1D007] # BYZANTINE MUSICAL SYMBOL KATHISTI
+1D008 ; [*0EDA.0020.0002.1D008] # BYZANTINE MUSICAL SYMBOL SYRMATIKI
+1D009 ; [*0EDB.0020.0002.1D009] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI
+1D00A ; [*0EDC.0020.0002.1D00A] # BYZANTINE MUSICAL SYMBOL YPOKRISIS
+1D00B ; [*0EDD.0020.0002.1D00B] # BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI
+1D00C ; [*0EDE.0020.0002.1D00C] # BYZANTINE MUSICAL SYMBOL KREMASTI
+1D00D ; [*0EDF.0020.0002.1D00D] # BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON
+1D00E ; [*0EE0.0020.0002.1D00E] # BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON
+1D00F ; [*0EE1.0020.0002.1D00F] # BYZANTINE MUSICAL SYMBOL TELEIA
+1D010 ; [*0EE2.0020.0002.1D010] # BYZANTINE MUSICAL SYMBOL KENTIMATA
+1D011 ; [*0EE3.0020.0002.1D011] # BYZANTINE MUSICAL SYMBOL APOSTROFOS
+1D012 ; [*0EE4.0020.0002.1D012] # BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI
+1D013 ; [*0EE5.0020.0002.1D013] # BYZANTINE MUSICAL SYMBOL SYNEVMA
+1D014 ; [*0EE6.0020.0002.1D014] # BYZANTINE MUSICAL SYMBOL THITA
+1D015 ; [*0EE7.0020.0002.1D015] # BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION
+1D016 ; [*0EE8.0020.0002.1D016] # BYZANTINE MUSICAL SYMBOL GORGON ARCHAION
+1D017 ; [*0EE9.0020.0002.1D017] # BYZANTINE MUSICAL SYMBOL PSILON
+1D018 ; [*0EEA.0020.0002.1D018] # BYZANTINE MUSICAL SYMBOL CHAMILON
+1D019 ; [*0EEB.0020.0002.1D019] # BYZANTINE MUSICAL SYMBOL VATHY
+1D01A ; [*0EEC.0020.0002.1D01A] # BYZANTINE MUSICAL SYMBOL ISON ARCHAION
+1D01B ; [*0EED.0020.0002.1D01B] # BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION
+1D01C ; [*0EEE.0020.0002.1D01C] # BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION
+1D01D ; [*0EEF.0020.0002.1D01D] # BYZANTINE MUSICAL SYMBOL SAXIMATA
+1D01E ; [*0EF0.0020.0002.1D01E] # BYZANTINE MUSICAL SYMBOL PARICHON
+1D01F ; [*0EF1.0020.0002.1D01F] # BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA
+1D020 ; [*0EF2.0020.0002.1D020] # BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION
+1D021 ; [*0EF3.0020.0002.1D021] # BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION
+1D022 ; [*0EF4.0020.0002.1D022] # BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION
+1D023 ; [*0EF5.0020.0002.1D023] # BYZANTINE MUSICAL SYMBOL APOTHEMA
+1D024 ; [*0EF6.0020.0002.1D024] # BYZANTINE MUSICAL SYMBOL KLASMA
+1D025 ; [*0EF7.0020.0002.1D025] # BYZANTINE MUSICAL SYMBOL REVMA
+1D026 ; [*0EF8.0020.0002.1D026] # BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION
+1D027 ; [*0EF9.0020.0002.1D027] # BYZANTINE MUSICAL SYMBOL TINAGMA
+1D028 ; [*0EFA.0020.0002.1D028] # BYZANTINE MUSICAL SYMBOL ANATRICHISMA
+1D029 ; [*0EFB.0020.0002.1D029] # BYZANTINE MUSICAL SYMBOL SEISMA
+1D02A ; [*0EFC.0020.0002.1D02A] # BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION
+1D02B ; [*0EFD.0020.0002.1D02B] # BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU
+1D02C ; [*0EFE.0020.0002.1D02C] # BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION
+1D02D ; [*0EFF.0020.0002.1D02D] # BYZANTINE MUSICAL SYMBOL THEMA
+1D02E ; [*0F00.0020.0002.1D02E] # BYZANTINE MUSICAL SYMBOL LEMOI
+1D02F ; [*0F01.0020.0002.1D02F] # BYZANTINE MUSICAL SYMBOL DYO
+1D030 ; [*0F02.0020.0002.1D030] # BYZANTINE MUSICAL SYMBOL TRIA
+1D031 ; [*0F03.0020.0002.1D031] # BYZANTINE MUSICAL SYMBOL TESSERA
+1D032 ; [*0F04.0020.0002.1D032] # BYZANTINE MUSICAL SYMBOL KRATIMATA
+1D033 ; [*0F05.0020.0002.1D033] # BYZANTINE MUSICAL SYMBOL APESO EXO NEO
+1D034 ; [*0F06.0020.0002.1D034] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION
+1D035 ; [*0F07.0020.0002.1D035] # BYZANTINE MUSICAL SYMBOL IMIFTHORA
+1D036 ; [*0F08.0020.0002.1D036] # BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION
+1D037 ; [*0F09.0020.0002.1D037] # BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON
+1D038 ; [*0F0A.0020.0002.1D038] # BYZANTINE MUSICAL SYMBOL PELASTON
+1D039 ; [*0F0B.0020.0002.1D039] # BYZANTINE MUSICAL SYMBOL PSIFISTON
+1D03A ; [*0F0C.0020.0002.1D03A] # BYZANTINE MUSICAL SYMBOL KONTEVMA
+1D03B ; [*0F0D.0020.0002.1D03B] # BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION
+1D03C ; [*0F0E.0020.0002.1D03C] # BYZANTINE MUSICAL SYMBOL RAPISMA
+1D03D ; [*0F0F.0020.0002.1D03D] # BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION
+1D03E ; [*0F10.0020.0002.1D03E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION
+1D03F ; [*0F11.0020.0002.1D03F] # BYZANTINE MUSICAL SYMBOL ICHADIN
+1D040 ; [*0F12.0020.0002.1D040] # BYZANTINE MUSICAL SYMBOL NANA
+1D041 ; [*0F13.0020.0002.1D041] # BYZANTINE MUSICAL SYMBOL PETASMA
+1D042 ; [*0F14.0020.0002.1D042] # BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO
+1D043 ; [*0F15.0020.0002.1D043] # BYZANTINE MUSICAL SYMBOL TROMIKON ALLO
+1D044 ; [*0F16.0020.0002.1D044] # BYZANTINE MUSICAL SYMBOL STRAGGISMATA
+1D045 ; [*0F17.0020.0002.1D045] # BYZANTINE MUSICAL SYMBOL GRONTHISMATA
+1D046 ; [*0F18.0020.0002.1D046] # BYZANTINE MUSICAL SYMBOL ISON NEO
+1D047 ; [*0F19.0020.0002.1D047] # BYZANTINE MUSICAL SYMBOL OLIGON NEO
+1D048 ; [*0F1A.0020.0002.1D048] # BYZANTINE MUSICAL SYMBOL OXEIA NEO
+1D049 ; [*0F1B.0020.0002.1D049] # BYZANTINE MUSICAL SYMBOL PETASTI
+1D04A ; [*0F1C.0020.0002.1D04A] # BYZANTINE MUSICAL SYMBOL KOUFISMA
+1D04B ; [*0F1D.0020.0002.1D04B] # BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA
+1D04C ; [*0F1E.0020.0002.1D04C] # BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA
+1D04D ; [*0F1F.0020.0002.1D04D] # BYZANTINE MUSICAL SYMBOL PELASTON NEO
+1D04E ; [*0F20.0020.0002.1D04E] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO
+1D04F ; [*0F21.0020.0002.1D04F] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO
+1D050 ; [*0F22.0020.0002.1D050] # BYZANTINE MUSICAL SYMBOL YPSILI
+1D051 ; [*0F23.0020.0002.1D051] # BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO
+1D052 ; [*0F24.0020.0002.1D052] # BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO
+1D053 ; [*0F25.0020.0002.1D053] # BYZANTINE MUSICAL SYMBOL YPORROI
+1D054 ; [*0F26.0020.0002.1D054] # BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON
+1D055 ; [*0F27.0020.0002.1D055] # BYZANTINE MUSICAL SYMBOL ELAFRON
+1D056 ; [*0F28.0020.0002.1D056] # BYZANTINE MUSICAL SYMBOL CHAMILI
+1D057 ; [*0F29.0020.0002.1D057] # BYZANTINE MUSICAL SYMBOL MIKRON ISON
+1D058 ; [*0F2A.0020.0002.1D058] # BYZANTINE MUSICAL SYMBOL VAREIA NEO
+1D059 ; [*0F2B.0020.0002.1D059] # BYZANTINE MUSICAL SYMBOL PIASMA NEO
+1D05A ; [*0F2C.0020.0002.1D05A] # BYZANTINE MUSICAL SYMBOL PSIFISTON NEO
+1D05B ; [*0F2D.0020.0002.1D05B] # BYZANTINE MUSICAL SYMBOL OMALON
+1D05C ; [*0F2E.0020.0002.1D05C] # BYZANTINE MUSICAL SYMBOL ANTIKENOMA
+1D05D ; [*0F2F.0020.0002.1D05D] # BYZANTINE MUSICAL SYMBOL LYGISMA
+1D05E ; [*0F30.0020.0002.1D05E] # BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO
+1D05F ; [*0F31.0020.0002.1D05F] # BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO
+1D060 ; [*0F32.0020.0002.1D060] # BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA
+1D061 ; [*0F33.0020.0002.1D061] # BYZANTINE MUSICAL SYMBOL KYLISMA
+1D062 ; [*0F34.0020.0002.1D062] # BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA
+1D063 ; [*0F35.0020.0002.1D063] # BYZANTINE MUSICAL SYMBOL TROMIKON NEO
+1D064 ; [*0F36.0020.0002.1D064] # BYZANTINE MUSICAL SYMBOL EKSTREPTON
+1D065 ; [*0F37.0020.0002.1D065] # BYZANTINE MUSICAL SYMBOL SYNAGMA NEO
+1D066 ; [*0F38.0020.0002.1D066] # BYZANTINE MUSICAL SYMBOL SYRMA
+1D067 ; [*0F39.0020.0002.1D067] # BYZANTINE MUSICAL SYMBOL CHOREVMA NEO
+1D068 ; [*0F3A.0020.0002.1D068] # BYZANTINE MUSICAL SYMBOL EPEGERMA
+1D069 ; [*0F3B.0020.0002.1D069] # BYZANTINE MUSICAL SYMBOL SEISMA NEO
+1D06A ; [*0F3C.0020.0002.1D06A] # BYZANTINE MUSICAL SYMBOL XIRON KLASMA
+1D06B ; [*0F3D.0020.0002.1D06B] # BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON
+1D06C ; [*0F3E.0020.0002.1D06C] # BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA
+1D06D ; [*0F3F.0020.0002.1D06D] # BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA
+1D06E ; [*0F40.0020.0002.1D06E] # BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA
+1D06F ; [*0F41.0020.0002.1D06F] # BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA
+1D070 ; [*0F42.0020.0002.1D070] # BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA
+1D071 ; [*0F43.0020.0002.1D071] # BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA
+1D072 ; [*0F44.0020.0002.1D072] # BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON
+1D073 ; [*0F45.0020.0002.1D073] # BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON
+1D074 ; [*0F46.0020.0002.1D074] # BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON
+1D075 ; [*0F47.0020.0002.1D075] # BYZANTINE MUSICAL SYMBOL OYRANISMA NEO
+1D076 ; [*0F48.0020.0002.1D076] # BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO
+1D077 ; [*0F49.0020.0002.1D077] # BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO
+1D078 ; [*0F4A.0020.0002.1D078] # BYZANTINE MUSICAL SYMBOL THEMA APLOUN
+1D079 ; [*0F4B.0020.0002.1D079] # BYZANTINE MUSICAL SYMBOL THES KAI APOTHES
+1D07A ; [*0F4C.0020.0002.1D07A] # BYZANTINE MUSICAL SYMBOL KATAVASMA
+1D07B ; [*0F4D.0020.0002.1D07B] # BYZANTINE MUSICAL SYMBOL ENDOFONON
+1D07C ; [*0F4E.0020.0002.1D07C] # BYZANTINE MUSICAL SYMBOL YFEN KATO
+1D07D ; [*0F4F.0020.0002.1D07D] # BYZANTINE MUSICAL SYMBOL YFEN ANO
+1D07E ; [*0F50.0020.0002.1D07E] # BYZANTINE MUSICAL SYMBOL STAVROS
+1D07F ; [*0F51.0020.0002.1D07F] # BYZANTINE MUSICAL SYMBOL KLASMA ANO
+1D080 ; [*0F52.0020.0002.1D080] # BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION
+1D081 ; [*0F53.0020.0002.1D081] # BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION
+1D082 ; [*0F54.0020.0002.1D082] # BYZANTINE MUSICAL SYMBOL KRATIMA ALLO
+1D083 ; [*0F55.0020.0002.1D083] # BYZANTINE MUSICAL SYMBOL KRATIMA NEO
+1D084 ; [*0F56.0020.0002.1D084] # BYZANTINE MUSICAL SYMBOL APODERMA NEO
+1D085 ; [*0F57.0020.0002.1D085] # BYZANTINE MUSICAL SYMBOL APLI
+1D086 ; [*0F58.0020.0002.1D086] # BYZANTINE MUSICAL SYMBOL DIPLI
+1D087 ; [*0F59.0020.0002.1D087] # BYZANTINE MUSICAL SYMBOL TRIPLI
+1D088 ; [*0F5A.0020.0002.1D088] # BYZANTINE MUSICAL SYMBOL TETRAPLI
+1D089 ; [*0F5B.0020.0002.1D089] # BYZANTINE MUSICAL SYMBOL KORONIS
+1D08A ; [*0F5C.0020.0002.1D08A] # BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU
+1D08B ; [*0F5D.0020.0002.1D08B] # BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON
+1D08C ; [*0F5E.0020.0002.1D08C] # BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON
+1D08D ; [*0F5F.0020.0002.1D08D] # BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON
+1D08E ; [*0F60.0020.0002.1D08E] # BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU
+1D08F ; [*0F61.0020.0002.1D08F] # BYZANTINE MUSICAL SYMBOL GORGON NEO ANO
+1D090 ; [*0F62.0020.0002.1D090] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA
+1D091 ; [*0F63.0020.0002.1D091] # BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA
+1D092 ; [*0F64.0020.0002.1D092] # BYZANTINE MUSICAL SYMBOL DIGORGON
+1D093 ; [*0F65.0020.0002.1D093] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO
+1D094 ; [*0F66.0020.0002.1D094] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO
+1D095 ; [*0F67.0020.0002.1D095] # BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA
+1D096 ; [*0F68.0020.0002.1D096] # BYZANTINE MUSICAL SYMBOL TRIGORGON
+1D097 ; [*0F69.0020.0002.1D097] # BYZANTINE MUSICAL SYMBOL ARGON
+1D098 ; [*0F6A.0020.0002.1D098] # BYZANTINE MUSICAL SYMBOL IMIDIARGON
+1D099 ; [*0F6B.0020.0002.1D099] # BYZANTINE MUSICAL SYMBOL DIARGON
+1D09A ; [*0F6C.0020.0002.1D09A] # BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI
+1D09B ; [*0F6D.0020.0002.1D09B] # BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI
+1D09C ; [*0F6E.0020.0002.1D09C] # BYZANTINE MUSICAL SYMBOL AGOGI ARGI
+1D09D ; [*0F6F.0020.0002.1D09D] # BYZANTINE MUSICAL SYMBOL AGOGI METRIA
+1D09E ; [*0F70.0020.0002.1D09E] # BYZANTINE MUSICAL SYMBOL AGOGI MESI
+1D09F ; [*0F71.0020.0002.1D09F] # BYZANTINE MUSICAL SYMBOL AGOGI GORGI
+1D0A0 ; [*0F72.0020.0002.1D0A0] # BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI
+1D0A1 ; [*0F73.0020.0002.1D0A1] # BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI
+1D0A2 ; [*0F74.0020.0002.1D0A2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS
+1D0A3 ; [*0F75.0020.0002.1D0A3] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS
+1D0A4 ; [*0F76.0020.0002.1D0A4] # BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS
+1D0A5 ; [*0F77.0020.0002.1D0A5] # BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS
+1D0A6 ; [*0F78.0020.0002.1D0A6] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS
+1D0A7 ; [*0F79.0020.0002.1D0A7] # BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS
+1D0A8 ; [*0F7A.0020.0002.1D0A8] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS
+1D0A9 ; [*0F7B.0020.0002.1D0A9] # BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS
+1D0AA ; [*0F7C.0020.0002.1D0AA] # BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS
+1D0AB ; [*0F7D.0020.0002.1D0AB] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS
+1D0AC ; [*0F7E.0020.0002.1D0AC] # BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS
+1D0AD ; [*0F7F.0020.0002.1D0AD] # BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS
+1D0AE ; [*0F80.0020.0002.1D0AE] # BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS
+1D0AF ; [*0F81.0020.0002.1D0AF] # BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS
+1D0B0 ; [*0F82.0020.0002.1D0B0] # BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS
+1D0B1 ; [*0F83.0020.0002.1D0B1] # BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS
+1D0B2 ; [*0F84.0020.0002.1D0B2] # BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS
+1D0B3 ; [*0F85.0020.0002.1D0B3] # BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS
+1D0B4 ; [*0F86.0020.0002.1D0B4] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN
+1D0B5 ; [*0F87.0020.0002.1D0B5] # BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN
+1D0B6 ; [*0F88.0020.0002.1D0B6] # BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU
+1D0B7 ; [*0F89.0020.0002.1D0B7] # BYZANTINE MUSICAL SYMBOL IMIFONON
+1D0B8 ; [*0F8A.0020.0002.1D0B8] # BYZANTINE MUSICAL SYMBOL IMIFTHORON
+1D0B9 ; [*0F8B.0020.0002.1D0B9] # BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU
+1D0BA ; [*0F8C.0020.0002.1D0BA] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA
+1D0BB ; [*0F8D.0020.0002.1D0BB] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA
+1D0BC ; [*0F8E.0020.0002.1D0BC] # BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS
+1D0BD ; [*0F8F.0020.0002.1D0BD] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI
+1D0BE ; [*0F90.0020.0002.1D0BE] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI
+1D0BF ; [*0F91.0020.0002.1D0BF] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE
+1D0C0 ; [*0F92.0020.0002.1D0C0] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO
+1D0C1 ; [*0F93.0020.0002.1D0C1] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO
+1D0C2 ; [*0F94.0020.0002.1D0C2] # BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO
+1D0C3 ; [*0F95.0020.0002.1D0C3] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS
+1D0C4 ; [*0F96.0020.0002.1D0C4] # BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS
+1D0C5 ; [*0F97.0020.0002.1D0C5] # BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS
+1D0C6 ; [*0F98.0020.0002.1D0C6] # BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI
+1D0C7 ; [*0F99.0020.0002.1D0C7] # BYZANTINE MUSICAL SYMBOL FTHORA NENANO
+1D0C8 ; [*0F9A.0020.0002.1D0C8] # BYZANTINE MUSICAL SYMBOL CHROA ZYGOS
+1D0C9 ; [*0F9B.0020.0002.1D0C9] # BYZANTINE MUSICAL SYMBOL CHROA KLITON
+1D0CA ; [*0F9C.0020.0002.1D0CA] # BYZANTINE MUSICAL SYMBOL CHROA SPATHI
+1D0CB ; [*0F9D.0020.0002.1D0CB] # BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION
+1D0CC ; [*0F9E.0020.0002.1D0CC] # BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA
+1D0CD ; [*0F9F.0020.0002.1D0CD] # BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION
+1D0CE ; [*0FA0.0020.0002.1D0CE] # BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION
+1D0CF ; [*0FA1.0020.0002.1D0CF] # BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION
+1D0D0 ; [*0FA2.0020.0002.1D0D0] # BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA
+1D0D1 ; [*0FA3.0020.0002.1D0D1] # BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D2 ; [*0FA4.0020.0002.1D0D2] # BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA
+1D0D3 ; [*0FA5.0020.0002.1D0D3] # BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA
+1D0D4 ; [*0FA6.0020.0002.1D0D4] # BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA
+1D0D5 ; [*0FA7.0020.0002.1D0D5] # BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA
+1D0D6 ; [*0FA8.0020.0002.1D0D6] # BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA
+1D0D7 ; [*0FA9.0020.0002.1D0D7] # BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA
+1D0D8 ; [*0FAA.0020.0002.1D0D8] # BYZANTINE MUSICAL SYMBOL GENIKI DIESIS
+1D0D9 ; [*0FAB.0020.0002.1D0D9] # BYZANTINE MUSICAL SYMBOL GENIKI YFESIS
+1D0DA ; [*0FAC.0020.0002.1D0DA] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI
+1D0DB ; [*0FAD.0020.0002.1D0DB] # BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI
+1D0DC ; [*0FAE.0020.0002.1D0DC] # BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI
+1D0DD ; [*0FAF.0020.0002.1D0DD] # BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS
+1D0DE ; [*0FB0.0020.0002.1D0DE] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS
+1D0DF ; [*0FB1.0020.0002.1D0DF] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU
+1D0E0 ; [*0FB2.0020.0002.1D0E0] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU
+1D0E1 ; [*0FB3.0020.0002.1D0E1] # BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU
+1D0E2 ; [*0FB4.0020.0002.1D0E2] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS
+1D0E3 ; [*0FB5.0020.0002.1D0E3] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU
+1D0E4 ; [*0FB6.0020.0002.1D0E4] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU
+1D0E5 ; [*0FB7.0020.0002.1D0E5] # BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU
+1D0E6 ; [*0FB8.0020.0002.1D0E6] # BYZANTINE MUSICAL SYMBOL DIGRAMMA GG
+1D0E7 ; [*0FB9.0020.0002.1D0E7] # BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU
+1D0E8 ; [*0FBA.0020.0002.1D0E8] # BYZANTINE MUSICAL SYMBOL STIGMA
+1D0E9 ; [*0FBB.0020.0002.1D0E9] # BYZANTINE MUSICAL SYMBOL ARKTIKO PA
+1D0EA ; [*0FBC.0020.0002.1D0EA] # BYZANTINE MUSICAL SYMBOL ARKTIKO VOU
+1D0EB ; [*0FBD.0020.0002.1D0EB] # BYZANTINE MUSICAL SYMBOL ARKTIKO GA
+1D0EC ; [*0FBE.0020.0002.1D0EC] # BYZANTINE MUSICAL SYMBOL ARKTIKO DI
+1D0ED ; [*0FBF.0020.0002.1D0ED] # BYZANTINE MUSICAL SYMBOL ARKTIKO KE
+1D0EE ; [*0FC0.0020.0002.1D0EE] # BYZANTINE MUSICAL SYMBOL ARKTIKO ZO
+1D0EF ; [*0FC1.0020.0002.1D0EF] # BYZANTINE MUSICAL SYMBOL ARKTIKO NI
+1D0F0 ; [*0FC2.0020.0002.1D0F0] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO
+1D0F1 ; [*0FC3.0020.0002.1D0F1] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO
+1D0F2 ; [*0FC4.0020.0002.1D0F2] # BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO
+1D0F3 ; [*0FC5.0020.0002.1D0F3] # BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO
+1D0F4 ; [*0FC6.0020.0002.1D0F4] # BYZANTINE MUSICAL SYMBOL KLASMA KATO
+1D0F5 ; [*0FC7.0020.0002.1D0F5] # BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
+1D100 ; [*0FC8.0020.0002.1D100] # MUSICAL SYMBOL SINGLE BARLINE
+1D101 ; [*0FC9.0020.0002.1D101] # MUSICAL SYMBOL DOUBLE BARLINE
+1D102 ; [*0FCA.0020.0002.1D102] # MUSICAL SYMBOL FINAL BARLINE
+1D103 ; [*0FCB.0020.0002.1D103] # MUSICAL SYMBOL REVERSE FINAL BARLINE
+1D104 ; [*0FCC.0020.0002.1D104] # MUSICAL SYMBOL DASHED BARLINE
+1D105 ; [*0FCD.0020.0002.1D105] # MUSICAL SYMBOL SHORT BARLINE
+1D106 ; [*0FCE.0020.0002.1D106] # MUSICAL SYMBOL LEFT REPEAT SIGN
+1D107 ; [*0FCF.0020.0002.1D107] # MUSICAL SYMBOL RIGHT REPEAT SIGN
+1D108 ; [*0FD0.0020.0002.1D108] # MUSICAL SYMBOL REPEAT DOTS
+1D109 ; [*0FD1.0020.0002.1D109] # MUSICAL SYMBOL DAL SEGNO
+1D10A ; [*0FD2.0020.0002.1D10A] # MUSICAL SYMBOL DA CAPO
+1D10B ; [*0FD3.0020.0002.1D10B] # MUSICAL SYMBOL SEGNO
+1D10C ; [*0FD4.0020.0002.1D10C] # MUSICAL SYMBOL CODA
+1D10D ; [*0FD5.0020.0002.1D10D] # MUSICAL SYMBOL REPEATED FIGURE-1
+1D10E ; [*0FD6.0020.0002.1D10E] # MUSICAL SYMBOL REPEATED FIGURE-2
+1D10F ; [*0FD7.0020.0002.1D10F] # MUSICAL SYMBOL REPEATED FIGURE-3
+1D110 ; [*0FD8.0020.0002.1D110] # MUSICAL SYMBOL FERMATA
+1D111 ; [*0FD9.0020.0002.1D111] # MUSICAL SYMBOL FERMATA BELOW
+1D112 ; [*0FDA.0020.0002.1D112] # MUSICAL SYMBOL BREATH MARK
+1D113 ; [*0FDB.0020.0002.1D113] # MUSICAL SYMBOL CAESURA
+1D114 ; [*0FDC.0020.0002.1D114] # MUSICAL SYMBOL BRACE
+1D115 ; [*0FDD.0020.0002.1D115] # MUSICAL SYMBOL BRACKET
+1D116 ; [*0FDE.0020.0002.1D116] # MUSICAL SYMBOL ONE-LINE STAFF
+1D117 ; [*0FDF.0020.0002.1D117] # MUSICAL SYMBOL TWO-LINE STAFF
+1D118 ; [*0FE0.0020.0002.1D118] # MUSICAL SYMBOL THREE-LINE STAFF
+1D119 ; [*0FE1.0020.0002.1D119] # MUSICAL SYMBOL FOUR-LINE STAFF
+1D11A ; [*0FE2.0020.0002.1D11A] # MUSICAL SYMBOL FIVE-LINE STAFF
+1D11B ; [*0FE3.0020.0002.1D11B] # MUSICAL SYMBOL SIX-LINE STAFF
+1D11C ; [*0FE4.0020.0002.1D11C] # MUSICAL SYMBOL SIX-STRING FRETBOARD
+1D11D ; [*0FE5.0020.0002.1D11D] # MUSICAL SYMBOL FOUR-STRING FRETBOARD
+1D11E ; [*0FE6.0020.0002.1D11E] # MUSICAL SYMBOL G CLEF
+1D11F ; [*0FE7.0020.0002.1D11F] # MUSICAL SYMBOL G CLEF OTTAVA ALTA
+1D120 ; [*0FE8.0020.0002.1D120] # MUSICAL SYMBOL G CLEF OTTAVA BASSA
+1D121 ; [*0FE9.0020.0002.1D121] # MUSICAL SYMBOL C CLEF
+1D122 ; [*0FEA.0020.0002.1D122] # MUSICAL SYMBOL F CLEF
+1D123 ; [*0FEB.0020.0002.1D123] # MUSICAL SYMBOL F CLEF OTTAVA ALTA
+1D124 ; [*0FEC.0020.0002.1D124] # MUSICAL SYMBOL F CLEF OTTAVA BASSA
+1D125 ; [*0FED.0020.0002.1D125] # MUSICAL SYMBOL DRUM CLEF-1
+1D126 ; [*0FEE.0020.0002.1D126] # MUSICAL SYMBOL DRUM CLEF-2
+1D129 ; [*1002.0020.0002.1D129] # MUSICAL SYMBOL MULTIPLE MEASURE REST
+1D12A ; [*0FF2.0020.0002.1D12A] # MUSICAL SYMBOL DOUBLE SHARP
+1D12B ; [*0FF3.0020.0002.1D12B] # MUSICAL SYMBOL DOUBLE FLAT
+1D12C ; [*0FF4.0020.0002.1D12C] # MUSICAL SYMBOL FLAT UP
+1D12D ; [*0FF5.0020.0002.1D12D] # MUSICAL SYMBOL FLAT DOWN
+1D12E ; [*0FF6.0020.0002.1D12E] # MUSICAL SYMBOL NATURAL UP
+1D12F ; [*0FF7.0020.0002.1D12F] # MUSICAL SYMBOL NATURAL DOWN
+1D130 ; [*0FF8.0020.0002.1D130] # MUSICAL SYMBOL SHARP UP
+1D131 ; [*0FF9.0020.0002.1D131] # MUSICAL SYMBOL SHARP DOWN
+1D132 ; [*0FFA.0020.0002.1D132] # MUSICAL SYMBOL QUARTER TONE SHARP
+1D133 ; [*0FFB.0020.0002.1D133] # MUSICAL SYMBOL QUARTER TONE FLAT
+1D134 ; [*0FFC.0020.0002.1D134] # MUSICAL SYMBOL COMMON TIME
+1D135 ; [*0FFD.0020.0002.1D135] # MUSICAL SYMBOL CUT TIME
+1D136 ; [*0FFE.0020.0002.1D136] # MUSICAL SYMBOL OTTAVA ALTA
+1D137 ; [*0FFF.0020.0002.1D137] # MUSICAL SYMBOL OTTAVA BASSA
+1D138 ; [*1000.0020.0002.1D138] # MUSICAL SYMBOL QUINDICESIMA ALTA
+1D139 ; [*1001.0020.0002.1D139] # MUSICAL SYMBOL QUINDICESIMA BASSA
+1D13A ; [*1003.0020.0002.1D13A] # MUSICAL SYMBOL MULTI REST
+1D13B ; [*1004.0020.0002.1D13B] # MUSICAL SYMBOL WHOLE REST
+1D13C ; [*1005.0020.0002.1D13C] # MUSICAL SYMBOL HALF REST
+1D13D ; [*1006.0020.0002.1D13D] # MUSICAL SYMBOL QUARTER REST
+1D13E ; [*1007.0020.0002.1D13E] # MUSICAL SYMBOL EIGHTH REST
+1D13F ; [*1008.0020.0002.1D13F] # MUSICAL SYMBOL SIXTEENTH REST
+1D140 ; [*1009.0020.0002.1D140] # MUSICAL SYMBOL THIRTY-SECOND REST
+1D141 ; [*100A.0020.0002.1D141] # MUSICAL SYMBOL SIXTY-FOURTH REST
+1D142 ; [*100B.0020.0002.1D142] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST
+1D143 ; [*100C.0020.0002.1D143] # MUSICAL SYMBOL X NOTEHEAD
+1D144 ; [*100D.0020.0002.1D144] # MUSICAL SYMBOL PLUS NOTEHEAD
+1D145 ; [*100E.0020.0002.1D145] # MUSICAL SYMBOL CIRCLE X NOTEHEAD
+1D146 ; [*100F.0020.0002.1D146] # MUSICAL SYMBOL SQUARE NOTEHEAD WHITE
+1D147 ; [*1010.0020.0002.1D147] # MUSICAL SYMBOL SQUARE NOTEHEAD BLACK
+1D148 ; [*1011.0020.0002.1D148] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE
+1D149 ; [*1012.0020.0002.1D149] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK
+1D14A ; [*1013.0020.0002.1D14A] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE
+1D14B ; [*1014.0020.0002.1D14B] # MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK
+1D14C ; [*1015.0020.0002.1D14C] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE
+1D14D ; [*1016.0020.0002.1D14D] # MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK
+1D14E ; [*1017.0020.0002.1D14E] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE
+1D14F ; [*1018.0020.0002.1D14F] # MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK
+1D150 ; [*1019.0020.0002.1D150] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE
+1D151 ; [*101A.0020.0002.1D151] # MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK
+1D152 ; [*101B.0020.0002.1D152] # MUSICAL SYMBOL MOON NOTEHEAD WHITE
+1D153 ; [*101C.0020.0002.1D153] # MUSICAL SYMBOL MOON NOTEHEAD BLACK
+1D154 ; [*101D.0020.0002.1D154] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE
+1D155 ; [*101E.0020.0002.1D155] # MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK
+1D156 ; [*101F.0020.0002.1D156] # MUSICAL SYMBOL PARENTHESIS NOTEHEAD
+1D157 ; [*1020.0020.0002.1D157] # MUSICAL SYMBOL VOID NOTEHEAD
+1D158 ; [*1021.0020.0002.1D158] # MUSICAL SYMBOL NOTEHEAD BLACK
+1D159 ; [*1022.0020.0002.1D159] # MUSICAL SYMBOL NULL NOTEHEAD
+1D15A ; [*1023.0020.0002.1D15A] # MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE
+1D15B ; [*1024.0020.0002.1D15B] # MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK
+1D15C ; [*1025.0020.0002.1D15C] # MUSICAL SYMBOL BREVE
+1D15D ; [*1026.0020.0002.1D15D] # MUSICAL SYMBOL WHOLE NOTE
+1D15E ; [*1020.0020.0002.1D157][.0000.0000.0000.1D165] # MUSICAL SYMBOL HALF NOTE
+1D15F ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165] # MUSICAL SYMBOL QUARTER NOTE
+1D160 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL EIGHTH NOTE
+1D161 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL SIXTEENTH NOTE
+1D162 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D170] # MUSICAL SYMBOL THIRTY-SECOND NOTE
+1D163 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D171] # MUSICAL SYMBOL SIXTY-FOURTH NOTE
+1D164 ; [*1021.0020.0002.1D158][.0000.0000.0000.1D165][.0000.0000.0000.1D172] # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
 1D165 ; [.0000.0000.0000.1D165] # MUSICAL SYMBOL COMBINING STEM
 1D166 ; [.0000.0000.0000.1D166] # MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D167 ; [.0000.0000.0000.1D167] # MUSICAL SYMBOL COMBINING TREMOLO-1
 1D168 ; [.0000.0000.0000.1D168] # MUSICAL SYMBOL COMBINING TREMOLO-2
 1D169 ; [.0000.0000.0000.1D169] # MUSICAL SYMBOL COMBINING TREMOLO-3
-1D16A ; [*0FF1.0020.0002.1D16A] # MUSICAL SYMBOL FINGERED TREMOLO-1
-1D16B ; [*0FF2.0020.0002.1D16B] # MUSICAL SYMBOL FINGERED TREMOLO-2
-1D16C ; [*0FF3.0020.0002.1D16C] # MUSICAL SYMBOL FINGERED TREMOLO-3
+1D16A ; [*1027.0020.0002.1D16A] # MUSICAL SYMBOL FINGERED TREMOLO-1
+1D16B ; [*1028.0020.0002.1D16B] # MUSICAL SYMBOL FINGERED TREMOLO-2
+1D16C ; [*1029.0020.0002.1D16C] # MUSICAL SYMBOL FINGERED TREMOLO-3
 1D16D ; [.0000.0000.0000.1D16D] # MUSICAL SYMBOL COMBINING AUGMENTATION DOT
 1D16E ; [.0000.0000.0000.1D16E] # MUSICAL SYMBOL COMBINING FLAG-1
 1D16F ; [.0000.0000.0000.1D16F] # MUSICAL SYMBOL COMBINING FLAG-2
@@ -4621,8 +4661,8 @@
 1D180 ; [.0000.0000.0000.1D180] # MUSICAL SYMBOL COMBINING MARCATO-STACCATO
 1D181 ; [.0000.0000.0000.1D181] # MUSICAL SYMBOL COMBINING ACCENT-STACCATO
 1D182 ; [.0000.0000.0000.1D182] # MUSICAL SYMBOL COMBINING LOURE
-1D183 ; [*0FF4.0020.0002.1D183] # MUSICAL SYMBOL ARPEGGIATO UP
-1D184 ; [*0FF5.0020.0002.1D184] # MUSICAL SYMBOL ARPEGGIATO DOWN
+1D183 ; [*102A.0020.0002.1D183] # MUSICAL SYMBOL ARPEGGIATO UP
+1D184 ; [*102B.0020.0002.1D184] # MUSICAL SYMBOL ARPEGGIATO DOWN
 1D185 ; [.0000.0000.0000.1D185] # MUSICAL SYMBOL COMBINING DOIT
 1D186 ; [.0000.0000.0000.1D186] # MUSICAL SYMBOL COMBINING RIP
 1D187 ; [.0000.0000.0000.1D187] # MUSICAL SYMBOL COMBINING FLIP
@@ -4630,1259 +4670,1304 @@
 1D189 ; [.0000.0000.0000.1D189] # MUSICAL SYMBOL COMBINING BEND
 1D18A ; [.0000.0000.0000.1D18A] # MUSICAL SYMBOL COMBINING DOUBLE TONGUE
 1D18B ; [.0000.0000.0000.1D18B] # MUSICAL SYMBOL COMBINING TRIPLE TONGUE
-1D18C ; [*0FF6.0020.0002.1D18C] # MUSICAL SYMBOL RINFORZANDO
-1D18D ; [*0FF7.0020.0002.1D18D] # MUSICAL SYMBOL SUBITO
-1D18E ; [*0FF8.0020.0002.1D18E] # MUSICAL SYMBOL Z
-1D18F ; [*0FF9.0020.0002.1D18F] # MUSICAL SYMBOL PIANO
-1D190 ; [*0FFA.0020.0002.1D190] # MUSICAL SYMBOL MEZZO
-1D191 ; [*0FFB.0020.0002.1D191] # MUSICAL SYMBOL FORTE
-1D192 ; [*0FFC.0020.0002.1D192] # MUSICAL SYMBOL CRESCENDO
-1D193 ; [*0FFD.0020.0002.1D193] # MUSICAL SYMBOL DECRESCENDO
-1D194 ; [*0FFE.0020.0002.1D194] # MUSICAL SYMBOL GRACE NOTE SLASH
-1D195 ; [*0FFF.0020.0002.1D195] # MUSICAL SYMBOL GRACE NOTE NO SLASH
-1D196 ; [*1000.0020.0002.1D196] # MUSICAL SYMBOL TR
-1D197 ; [*1001.0020.0002.1D197] # MUSICAL SYMBOL TURN
-1D198 ; [*1002.0020.0002.1D198] # MUSICAL SYMBOL INVERTED TURN
-1D199 ; [*1003.0020.0002.1D199] # MUSICAL SYMBOL TURN SLASH
-1D19A ; [*1004.0020.0002.1D19A] # MUSICAL SYMBOL TURN UP
-1D19B ; [*1005.0020.0002.1D19B] # MUSICAL SYMBOL ORNAMENT STROKE-1
-1D19C ; [*1006.0020.0002.1D19C] # MUSICAL SYMBOL ORNAMENT STROKE-2
-1D19D ; [*1007.0020.0002.1D19D] # MUSICAL SYMBOL ORNAMENT STROKE-3
-1D19E ; [*1008.0020.0002.1D19E] # MUSICAL SYMBOL ORNAMENT STROKE-4
-1D19F ; [*1009.0020.0002.1D19F] # MUSICAL SYMBOL ORNAMENT STROKE-5
-1D1A0 ; [*100A.0020.0002.1D1A0] # MUSICAL SYMBOL ORNAMENT STROKE-6
-1D1A1 ; [*100B.0020.0002.1D1A1] # MUSICAL SYMBOL ORNAMENT STROKE-7
-1D1A2 ; [*100C.0020.0002.1D1A2] # MUSICAL SYMBOL ORNAMENT STROKE-8
-1D1A3 ; [*100D.0020.0002.1D1A3] # MUSICAL SYMBOL ORNAMENT STROKE-9
-1D1A4 ; [*100E.0020.0002.1D1A4] # MUSICAL SYMBOL ORNAMENT STROKE-10
-1D1A5 ; [*100F.0020.0002.1D1A5] # MUSICAL SYMBOL ORNAMENT STROKE-11
-1D1A6 ; [*1010.0020.0002.1D1A6] # MUSICAL SYMBOL HAUPTSTIMME
-1D1A7 ; [*1011.0020.0002.1D1A7] # MUSICAL SYMBOL NEBENSTIMME
-1D1A8 ; [*1012.0020.0002.1D1A8] # MUSICAL SYMBOL END OF STIMME
-1D1A9 ; [*1013.0020.0002.1D1A9] # MUSICAL SYMBOL DEGREE SLASH
+1D18C ; [*102C.0020.0002.1D18C] # MUSICAL SYMBOL RINFORZANDO
+1D18D ; [*102D.0020.0002.1D18D] # MUSICAL SYMBOL SUBITO
+1D18E ; [*102E.0020.0002.1D18E] # MUSICAL SYMBOL Z
+1D18F ; [*102F.0020.0002.1D18F] # MUSICAL SYMBOL PIANO
+1D190 ; [*1030.0020.0002.1D190] # MUSICAL SYMBOL MEZZO
+1D191 ; [*1031.0020.0002.1D191] # MUSICAL SYMBOL FORTE
+1D192 ; [*1032.0020.0002.1D192] # MUSICAL SYMBOL CRESCENDO
+1D193 ; [*1033.0020.0002.1D193] # MUSICAL SYMBOL DECRESCENDO
+1D194 ; [*1034.0020.0002.1D194] # MUSICAL SYMBOL GRACE NOTE SLASH
+1D195 ; [*1035.0020.0002.1D195] # MUSICAL SYMBOL GRACE NOTE NO SLASH
+1D196 ; [*1036.0020.0002.1D196] # MUSICAL SYMBOL TR
+1D197 ; [*1037.0020.0002.1D197] # MUSICAL SYMBOL TURN
+1D198 ; [*1038.0020.0002.1D198] # MUSICAL SYMBOL INVERTED TURN
+1D199 ; [*1039.0020.0002.1D199] # MUSICAL SYMBOL TURN SLASH
+1D19A ; [*103A.0020.0002.1D19A] # MUSICAL SYMBOL TURN UP
+1D19B ; [*103B.0020.0002.1D19B] # MUSICAL SYMBOL ORNAMENT STROKE-1
+1D19C ; [*103C.0020.0002.1D19C] # MUSICAL SYMBOL ORNAMENT STROKE-2
+1D19D ; [*103D.0020.0002.1D19D] # MUSICAL SYMBOL ORNAMENT STROKE-3
+1D19E ; [*103E.0020.0002.1D19E] # MUSICAL SYMBOL ORNAMENT STROKE-4
+1D19F ; [*103F.0020.0002.1D19F] # MUSICAL SYMBOL ORNAMENT STROKE-5
+1D1A0 ; [*1040.0020.0002.1D1A0] # MUSICAL SYMBOL ORNAMENT STROKE-6
+1D1A1 ; [*1041.0020.0002.1D1A1] # MUSICAL SYMBOL ORNAMENT STROKE-7
+1D1A2 ; [*1042.0020.0002.1D1A2] # MUSICAL SYMBOL ORNAMENT STROKE-8
+1D1A3 ; [*1043.0020.0002.1D1A3] # MUSICAL SYMBOL ORNAMENT STROKE-9
+1D1A4 ; [*1044.0020.0002.1D1A4] # MUSICAL SYMBOL ORNAMENT STROKE-10
+1D1A5 ; [*1045.0020.0002.1D1A5] # MUSICAL SYMBOL ORNAMENT STROKE-11
+1D1A6 ; [*1046.0020.0002.1D1A6] # MUSICAL SYMBOL HAUPTSTIMME
+1D1A7 ; [*1047.0020.0002.1D1A7] # MUSICAL SYMBOL NEBENSTIMME
+1D1A8 ; [*1048.0020.0002.1D1A8] # MUSICAL SYMBOL END OF STIMME
+1D1A9 ; [*1049.0020.0002.1D1A9] # MUSICAL SYMBOL DEGREE SLASH
 1D1AA ; [.0000.0000.0000.1D1AA] # MUSICAL SYMBOL COMBINING DOWN BOW
 1D1AB ; [.0000.0000.0000.1D1AB] # MUSICAL SYMBOL COMBINING UP BOW
 1D1AC ; [.0000.0000.0000.1D1AC] # MUSICAL SYMBOL COMBINING HARMONIC
 1D1AD ; [.0000.0000.0000.1D1AD] # MUSICAL SYMBOL COMBINING SNAP PIZZICATO
-1D1AE ; [*1014.0020.0002.1D1AE] # MUSICAL SYMBOL PEDAL MARK
-1D1AF ; [*1015.0020.0002.1D1AF] # MUSICAL SYMBOL PEDAL UP MARK
-1D1B0 ; [*1016.0020.0002.1D1B0] # MUSICAL SYMBOL HALF PEDAL MARK
-1D1B1 ; [*1017.0020.0002.1D1B1] # MUSICAL SYMBOL GLISSANDO UP
-1D1B2 ; [*1018.0020.0002.1D1B2] # MUSICAL SYMBOL GLISSANDO DOWN
-1D1B3 ; [*1019.0020.0002.1D1B3] # MUSICAL SYMBOL WITH FINGERNAILS
-1D1B4 ; [*101A.0020.0002.1D1B4] # MUSICAL SYMBOL DAMP
-1D1B5 ; [*101B.0020.0002.1D1B5] # MUSICAL SYMBOL DAMP ALL
-1D1B6 ; [*101C.0020.0002.1D1B6] # MUSICAL SYMBOL MAXIMA
-1D1B7 ; [*101D.0020.0002.1D1B7] # MUSICAL SYMBOL LONGA
-1D1B8 ; [*101E.0020.0002.1D1B8] # MUSICAL SYMBOL BREVIS
-1D1B9 ; [*101F.0020.0002.1D1B9] # MUSICAL SYMBOL SEMIBREVIS WHITE
-1D1BA ; [*1020.0020.0002.1D1BA] # MUSICAL SYMBOL SEMIBREVIS BLACK
-1D1BB ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA; QQCN
-1D1BC ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA BLACK; QQCN
-1D1BD ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA WHITE; QQCN
-1D1BE ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA BLACK; QQCN
-1D1BF ; [*101F.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA WHITE; QQCN
-1D1C0 ; [*1020.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA BLACK; QQCN
-1D1C1 ; [*1021.0020.0002.1D1C1] # MUSICAL SYMBOL LONGA PERFECTA REST
-1D1C2 ; [*1022.0020.0002.1D1C2] # MUSICAL SYMBOL LONGA IMPERFECTA REST
-1D1C3 ; [*1023.0020.0002.1D1C3] # MUSICAL SYMBOL BREVIS REST
-1D1C4 ; [*1024.0020.0002.1D1C4] # MUSICAL SYMBOL SEMIBREVIS REST
-1D1C5 ; [*1025.0020.0002.1D1C5] # MUSICAL SYMBOL MINIMA REST
-1D1C6 ; [*1026.0020.0002.1D1C6] # MUSICAL SYMBOL SEMIMINIMA REST
-1D1C7 ; [*1027.0020.0002.1D1C7] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
-1D1C8 ; [*1028.0020.0002.1D1C8] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
-1D1C9 ; [*1029.0020.0002.1D1C9] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
-1D1CA ; [*102A.0020.0002.1D1CA] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
-1D1CB ; [*102B.0020.0002.1D1CB] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
-1D1CC ; [*102C.0020.0002.1D1CC] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
-1D1CD ; [*102D.0020.0002.1D1CD] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
-1D1CE ; [*102E.0020.0002.1D1CE] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
-1D1CF ; [*102F.0020.0002.1D1CF] # MUSICAL SYMBOL CROIX
-1D1D0 ; [*1030.0020.0002.1D1D0] # MUSICAL SYMBOL GREGORIAN C CLEF
-1D1D1 ; [*1031.0020.0002.1D1D1] # MUSICAL SYMBOL GREGORIAN F CLEF
-1D1D2 ; [*1032.0020.0002.1D1D2] # MUSICAL SYMBOL SQUARE B
-1D1D3 ; [*1033.0020.0002.1D1D3] # MUSICAL SYMBOL VIRGA
-1D1D4 ; [*1034.0020.0002.1D1D4] # MUSICAL SYMBOL PODATUS
-1D1D5 ; [*1035.0020.0002.1D1D5] # MUSICAL SYMBOL CLIVIS
-1D1D6 ; [*1036.0020.0002.1D1D6] # MUSICAL SYMBOL SCANDICUS
-1D1D7 ; [*1037.0020.0002.1D1D7] # MUSICAL SYMBOL CLIMACUS
-1D1D8 ; [*1038.0020.0002.1D1D8] # MUSICAL SYMBOL TORCULUS
-1D1D9 ; [*1039.0020.0002.1D1D9] # MUSICAL SYMBOL PORRECTUS
-1D1DA ; [*103A.0020.0002.1D1DA] # MUSICAL SYMBOL PORRECTUS FLEXUS
-1D1DB ; [*103B.0020.0002.1D1DB] # MUSICAL SYMBOL SCANDICUS FLEXUS
-1D1DC ; [*103C.0020.0002.1D1DC] # MUSICAL SYMBOL TORCULUS RESUPINUS
-1D1DD ; [*103D.0020.0002.1D1DD] # MUSICAL SYMBOL PES SUBPUNCTIS
-1D200 ; [*103E.0020.0002.1D200] # GREEK VOCAL NOTATION SYMBOL-1
-1D201 ; [*103F.0020.0002.1D201] # GREEK VOCAL NOTATION SYMBOL-2
-1D202 ; [*1040.0020.0002.1D202] # GREEK VOCAL NOTATION SYMBOL-3
-1D203 ; [*1041.0020.0002.1D203] # GREEK VOCAL NOTATION SYMBOL-4
-1D204 ; [*1042.0020.0002.1D204] # GREEK VOCAL NOTATION SYMBOL-5
-1D205 ; [*1043.0020.0002.1D205] # GREEK VOCAL NOTATION SYMBOL-6
-1D206 ; [*1044.0020.0002.1D206] # GREEK VOCAL NOTATION SYMBOL-7
-1D207 ; [*1045.0020.0002.1D207] # GREEK VOCAL NOTATION SYMBOL-8
-1D208 ; [*1046.0020.0002.1D208] # GREEK VOCAL NOTATION SYMBOL-9
-1D209 ; [*1047.0020.0002.1D209] # GREEK VOCAL NOTATION SYMBOL-10
-1D20A ; [*1048.0020.0002.1D20A] # GREEK VOCAL NOTATION SYMBOL-11
-1D20B ; [*1049.0020.0002.1D20B] # GREEK VOCAL NOTATION SYMBOL-12
-1D20C ; [*104A.0020.0002.1D20C] # GREEK VOCAL NOTATION SYMBOL-13
-1D20D ; [*104B.0020.0002.1D20D] # GREEK VOCAL NOTATION SYMBOL-14
-1D20E ; [*104C.0020.0002.1D20E] # GREEK VOCAL NOTATION SYMBOL-15
-1D20F ; [*104D.0020.0002.1D20F] # GREEK VOCAL NOTATION SYMBOL-16
-1D210 ; [*104E.0020.0002.1D210] # GREEK VOCAL NOTATION SYMBOL-17
-1D211 ; [*104F.0020.0002.1D211] # GREEK VOCAL NOTATION SYMBOL-18
-1D212 ; [*1050.0020.0002.1D212] # GREEK VOCAL NOTATION SYMBOL-19
-1D213 ; [*1051.0020.0002.1D213] # GREEK VOCAL NOTATION SYMBOL-20
-1D214 ; [*1052.0020.0002.1D214] # GREEK VOCAL NOTATION SYMBOL-21
-1D215 ; [*1053.0020.0002.1D215] # GREEK VOCAL NOTATION SYMBOL-22
-1D216 ; [*1054.0020.0002.1D216] # GREEK VOCAL NOTATION SYMBOL-23
-1D217 ; [*1055.0020.0002.1D217] # GREEK VOCAL NOTATION SYMBOL-24
-1D218 ; [*1056.0020.0002.1D218] # GREEK VOCAL NOTATION SYMBOL-50
-1D219 ; [*1057.0020.0002.1D219] # GREEK VOCAL NOTATION SYMBOL-51
-1D21A ; [*1058.0020.0002.1D21A] # GREEK VOCAL NOTATION SYMBOL-52
-1D21B ; [*1059.0020.0002.1D21B] # GREEK VOCAL NOTATION SYMBOL-53
-1D21C ; [*105A.0020.0002.1D21C] # GREEK VOCAL NOTATION SYMBOL-54
-1D21D ; [*105B.0020.0002.1D21D] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
-1D21E ; [*105C.0020.0002.1D21E] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
-1D21F ; [*105D.0020.0002.1D21F] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
-1D220 ; [*105E.0020.0002.1D220] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
-1D221 ; [*105F.0020.0002.1D221] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
-1D222 ; [*1060.0020.0002.1D222] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
-1D223 ; [*1061.0020.0002.1D223] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
-1D224 ; [*1062.0020.0002.1D224] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
-1D225 ; [*1063.0020.0002.1D225] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
-1D226 ; [*1064.0020.0002.1D226] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
-1D227 ; [*1065.0020.0002.1D227] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
-1D228 ; [*1066.0020.0002.1D228] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
-1D229 ; [*1067.0020.0002.1D229] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
-1D22A ; [*1068.0020.0002.1D22A] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
-1D22B ; [*1069.0020.0002.1D22B] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
-1D22C ; [*106A.0020.0002.1D22C] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
-1D22D ; [*106B.0020.0002.1D22D] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
-1D22E ; [*106C.0020.0002.1D22E] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
-1D22F ; [*106D.0020.0002.1D22F] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
-1D230 ; [*106E.0020.0002.1D230] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
-1D231 ; [*106F.0020.0002.1D231] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
-1D232 ; [*1070.0020.0002.1D232] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
-1D233 ; [*1071.0020.0002.1D233] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
-1D234 ; [*1072.0020.0002.1D234] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
-1D235 ; [*1073.0020.0002.1D235] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
-1D236 ; [*1074.0020.0002.1D236] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
-1D237 ; [*1075.0020.0002.1D237] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
-1D238 ; [*1076.0020.0002.1D238] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
-1D239 ; [*1077.0020.0002.1D239] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
-1D23A ; [*1078.0020.0002.1D23A] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
-1D23B ; [*1079.0020.0002.1D23B] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
-1D23C ; [*107A.0020.0002.1D23C] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
-1D23D ; [*107B.0020.0002.1D23D] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
-1D23E ; [*107C.0020.0002.1D23E] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
-1D23F ; [*107D.0020.0002.1D23F] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
-1D240 ; [*107E.0020.0002.1D240] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
-1D241 ; [*107F.0020.0002.1D241] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
+1D1AE ; [*104A.0020.0002.1D1AE] # MUSICAL SYMBOL PEDAL MARK
+1D1AF ; [*104B.0020.0002.1D1AF] # MUSICAL SYMBOL PEDAL UP MARK
+1D1B0 ; [*104C.0020.0002.1D1B0] # MUSICAL SYMBOL HALF PEDAL MARK
+1D1B1 ; [*104D.0020.0002.1D1B1] # MUSICAL SYMBOL GLISSANDO UP
+1D1B2 ; [*104E.0020.0002.1D1B2] # MUSICAL SYMBOL GLISSANDO DOWN
+1D1B3 ; [*104F.0020.0002.1D1B3] # MUSICAL SYMBOL WITH FINGERNAILS
+1D1B4 ; [*1050.0020.0002.1D1B4] # MUSICAL SYMBOL DAMP
+1D1B5 ; [*1051.0020.0002.1D1B5] # MUSICAL SYMBOL DAMP ALL
+1D1B6 ; [*1052.0020.0002.1D1B6] # MUSICAL SYMBOL MAXIMA
+1D1B7 ; [*1053.0020.0002.1D1B7] # MUSICAL SYMBOL LONGA
+1D1B8 ; [*1054.0020.0002.1D1B8] # MUSICAL SYMBOL BREVIS
+1D1B9 ; [*1055.0020.0002.1D1B9] # MUSICAL SYMBOL SEMIBREVIS WHITE
+1D1BA ; [*1056.0020.0002.1D1BA] # MUSICAL SYMBOL SEMIBREVIS BLACK
+1D1BB ; [*1055.0020.0002.1D1B9][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA
+1D1BC ; [*1056.0020.0002.1D1BA][.0000.0000.0000.1D165] # MUSICAL SYMBOL MINIMA BLACK
+1D1BD ; [*1055.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA WHITE
+1D1BE ; [*1056.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16E] # MUSICAL SYMBOL SEMIMINIMA BLACK
+1D1BF ; [*1055.0020.0002.1D1B9][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA WHITE
+1D1C0 ; [*1056.0020.0002.1D1BA][.0000.0000.0000.1D165][.0000.0000.0000.1D16F] # MUSICAL SYMBOL FUSA BLACK
+1D1C1 ; [*1057.0020.0002.1D1C1] # MUSICAL SYMBOL LONGA PERFECTA REST
+1D1C2 ; [*1058.0020.0002.1D1C2] # MUSICAL SYMBOL LONGA IMPERFECTA REST
+1D1C3 ; [*1059.0020.0002.1D1C3] # MUSICAL SYMBOL BREVIS REST
+1D1C4 ; [*105A.0020.0002.1D1C4] # MUSICAL SYMBOL SEMIBREVIS REST
+1D1C5 ; [*105B.0020.0002.1D1C5] # MUSICAL SYMBOL MINIMA REST
+1D1C6 ; [*105C.0020.0002.1D1C6] # MUSICAL SYMBOL SEMIMINIMA REST
+1D1C7 ; [*105D.0020.0002.1D1C7] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA
+1D1C8 ; [*105E.0020.0002.1D1C8] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA
+1D1C9 ; [*105F.0020.0002.1D1C9] # MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1
+1D1CA ; [*1060.0020.0002.1D1CA] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA
+1D1CB ; [*1061.0020.0002.1D1CB] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA
+1D1CC ; [*1062.0020.0002.1D1CC] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1
+1D1CD ; [*1063.0020.0002.1D1CD] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2
+1D1CE ; [*1064.0020.0002.1D1CE] # MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3
+1D1CF ; [*1065.0020.0002.1D1CF] # MUSICAL SYMBOL CROIX
+1D1D0 ; [*1066.0020.0002.1D1D0] # MUSICAL SYMBOL GREGORIAN C CLEF
+1D1D1 ; [*1067.0020.0002.1D1D1] # MUSICAL SYMBOL GREGORIAN F CLEF
+1D1D2 ; [*1068.0020.0002.1D1D2] # MUSICAL SYMBOL SQUARE B
+1D1D3 ; [*1069.0020.0002.1D1D3] # MUSICAL SYMBOL VIRGA
+1D1D4 ; [*106A.0020.0002.1D1D4] # MUSICAL SYMBOL PODATUS
+1D1D5 ; [*106B.0020.0002.1D1D5] # MUSICAL SYMBOL CLIVIS
+1D1D6 ; [*106C.0020.0002.1D1D6] # MUSICAL SYMBOL SCANDICUS
+1D1D7 ; [*106D.0020.0002.1D1D7] # MUSICAL SYMBOL CLIMACUS
+1D1D8 ; [*106E.0020.0002.1D1D8] # MUSICAL SYMBOL TORCULUS
+1D1D9 ; [*106F.0020.0002.1D1D9] # MUSICAL SYMBOL PORRECTUS
+1D1DA ; [*1070.0020.0002.1D1DA] # MUSICAL SYMBOL PORRECTUS FLEXUS
+1D1DB ; [*1071.0020.0002.1D1DB] # MUSICAL SYMBOL SCANDICUS FLEXUS
+1D1DC ; [*1072.0020.0002.1D1DC] # MUSICAL SYMBOL TORCULUS RESUPINUS
+1D1DD ; [*1073.0020.0002.1D1DD] # MUSICAL SYMBOL PES SUBPUNCTIS
+1D200 ; [*1074.0020.0002.1D200] # GREEK VOCAL NOTATION SYMBOL-1
+1D201 ; [*1075.0020.0002.1D201] # GREEK VOCAL NOTATION SYMBOL-2
+1D202 ; [*1076.0020.0002.1D202] # GREEK VOCAL NOTATION SYMBOL-3
+1D203 ; [*1077.0020.0002.1D203] # GREEK VOCAL NOTATION SYMBOL-4
+1D204 ; [*1078.0020.0002.1D204] # GREEK VOCAL NOTATION SYMBOL-5
+1D205 ; [*1079.0020.0002.1D205] # GREEK VOCAL NOTATION SYMBOL-6
+1D206 ; [*107A.0020.0002.1D206] # GREEK VOCAL NOTATION SYMBOL-7
+1D207 ; [*107B.0020.0002.1D207] # GREEK VOCAL NOTATION SYMBOL-8
+1D208 ; [*107C.0020.0002.1D208] # GREEK VOCAL NOTATION SYMBOL-9
+1D209 ; [*107D.0020.0002.1D209] # GREEK VOCAL NOTATION SYMBOL-10
+1D20A ; [*107E.0020.0002.1D20A] # GREEK VOCAL NOTATION SYMBOL-11
+1D20B ; [*107F.0020.0002.1D20B] # GREEK VOCAL NOTATION SYMBOL-12
+1D20C ; [*1080.0020.0002.1D20C] # GREEK VOCAL NOTATION SYMBOL-13
+1D20D ; [*1081.0020.0002.1D20D] # GREEK VOCAL NOTATION SYMBOL-14
+1D20E ; [*1082.0020.0002.1D20E] # GREEK VOCAL NOTATION SYMBOL-15
+1D20F ; [*1083.0020.0002.1D20F] # GREEK VOCAL NOTATION SYMBOL-16
+1D210 ; [*1084.0020.0002.1D210] # GREEK VOCAL NOTATION SYMBOL-17
+1D211 ; [*1085.0020.0002.1D211] # GREEK VOCAL NOTATION SYMBOL-18
+1D212 ; [*1086.0020.0002.1D212] # GREEK VOCAL NOTATION SYMBOL-19
+1D213 ; [*1087.0020.0002.1D213] # GREEK VOCAL NOTATION SYMBOL-20
+1D214 ; [*1088.0020.0002.1D214] # GREEK VOCAL NOTATION SYMBOL-21
+1D215 ; [*1089.0020.0002.1D215] # GREEK VOCAL NOTATION SYMBOL-22
+1D216 ; [*108A.0020.0002.1D216] # GREEK VOCAL NOTATION SYMBOL-23
+1D217 ; [*108B.0020.0002.1D217] # GREEK VOCAL NOTATION SYMBOL-24
+1D218 ; [*108C.0020.0002.1D218] # GREEK VOCAL NOTATION SYMBOL-50
+1D219 ; [*108D.0020.0002.1D219] # GREEK VOCAL NOTATION SYMBOL-51
+1D21A ; [*108E.0020.0002.1D21A] # GREEK VOCAL NOTATION SYMBOL-52
+1D21B ; [*108F.0020.0002.1D21B] # GREEK VOCAL NOTATION SYMBOL-53
+1D21C ; [*1090.0020.0002.1D21C] # GREEK VOCAL NOTATION SYMBOL-54
+1D21D ; [*1091.0020.0002.1D21D] # GREEK INSTRUMENTAL NOTATION SYMBOL-1
+1D21E ; [*1092.0020.0002.1D21E] # GREEK INSTRUMENTAL NOTATION SYMBOL-2
+1D21F ; [*1093.0020.0002.1D21F] # GREEK INSTRUMENTAL NOTATION SYMBOL-4
+1D220 ; [*1094.0020.0002.1D220] # GREEK INSTRUMENTAL NOTATION SYMBOL-5
+1D221 ; [*1095.0020.0002.1D221] # GREEK INSTRUMENTAL NOTATION SYMBOL-7
+1D222 ; [*1096.0020.0002.1D222] # GREEK INSTRUMENTAL NOTATION SYMBOL-8
+1D223 ; [*1097.0020.0002.1D223] # GREEK INSTRUMENTAL NOTATION SYMBOL-11
+1D224 ; [*1098.0020.0002.1D224] # GREEK INSTRUMENTAL NOTATION SYMBOL-12
+1D225 ; [*1099.0020.0002.1D225] # GREEK INSTRUMENTAL NOTATION SYMBOL-13
+1D226 ; [*109A.0020.0002.1D226] # GREEK INSTRUMENTAL NOTATION SYMBOL-14
+1D227 ; [*109B.0020.0002.1D227] # GREEK INSTRUMENTAL NOTATION SYMBOL-17
+1D228 ; [*109C.0020.0002.1D228] # GREEK INSTRUMENTAL NOTATION SYMBOL-18
+1D229 ; [*109D.0020.0002.1D229] # GREEK INSTRUMENTAL NOTATION SYMBOL-19
+1D22A ; [*109E.0020.0002.1D22A] # GREEK INSTRUMENTAL NOTATION SYMBOL-23
+1D22B ; [*109F.0020.0002.1D22B] # GREEK INSTRUMENTAL NOTATION SYMBOL-24
+1D22C ; [*10A0.0020.0002.1D22C] # GREEK INSTRUMENTAL NOTATION SYMBOL-25
+1D22D ; [*10A1.0020.0002.1D22D] # GREEK INSTRUMENTAL NOTATION SYMBOL-26
+1D22E ; [*10A2.0020.0002.1D22E] # GREEK INSTRUMENTAL NOTATION SYMBOL-27
+1D22F ; [*10A3.0020.0002.1D22F] # GREEK INSTRUMENTAL NOTATION SYMBOL-29
+1D230 ; [*10A4.0020.0002.1D230] # GREEK INSTRUMENTAL NOTATION SYMBOL-30
+1D231 ; [*10A5.0020.0002.1D231] # GREEK INSTRUMENTAL NOTATION SYMBOL-32
+1D232 ; [*10A6.0020.0002.1D232] # GREEK INSTRUMENTAL NOTATION SYMBOL-36
+1D233 ; [*10A7.0020.0002.1D233] # GREEK INSTRUMENTAL NOTATION SYMBOL-37
+1D234 ; [*10A8.0020.0002.1D234] # GREEK INSTRUMENTAL NOTATION SYMBOL-38
+1D235 ; [*10A9.0020.0002.1D235] # GREEK INSTRUMENTAL NOTATION SYMBOL-39
+1D236 ; [*10AA.0020.0002.1D236] # GREEK INSTRUMENTAL NOTATION SYMBOL-40
+1D237 ; [*10AB.0020.0002.1D237] # GREEK INSTRUMENTAL NOTATION SYMBOL-42
+1D238 ; [*10AC.0020.0002.1D238] # GREEK INSTRUMENTAL NOTATION SYMBOL-43
+1D239 ; [*10AD.0020.0002.1D239] # GREEK INSTRUMENTAL NOTATION SYMBOL-45
+1D23A ; [*10AE.0020.0002.1D23A] # GREEK INSTRUMENTAL NOTATION SYMBOL-47
+1D23B ; [*10AF.0020.0002.1D23B] # GREEK INSTRUMENTAL NOTATION SYMBOL-48
+1D23C ; [*10B0.0020.0002.1D23C] # GREEK INSTRUMENTAL NOTATION SYMBOL-49
+1D23D ; [*10B1.0020.0002.1D23D] # GREEK INSTRUMENTAL NOTATION SYMBOL-50
+1D23E ; [*10B2.0020.0002.1D23E] # GREEK INSTRUMENTAL NOTATION SYMBOL-51
+1D23F ; [*10B3.0020.0002.1D23F] # GREEK INSTRUMENTAL NOTATION SYMBOL-52
+1D240 ; [*10B4.0020.0002.1D240] # GREEK INSTRUMENTAL NOTATION SYMBOL-53
+1D241 ; [*10B5.0020.0002.1D241] # GREEK INSTRUMENTAL NOTATION SYMBOL-54
 1D242 ; [.0000.0000.0000.1D242] # COMBINING GREEK MUSICAL TRISEME
 1D243 ; [.0000.0000.0000.1D243] # COMBINING GREEK MUSICAL TETRASEME
 1D244 ; [.0000.0000.0000.1D244] # COMBINING GREEK MUSICAL PENTASEME
-1D245 ; [*1080.0020.0002.1D245] # GREEK MUSICAL LEIMMA
-1D300 ; [*0DBB.0020.0002.1D300] # MONOGRAM FOR EARTH
-1D301 ; [*0DBC.0020.0002.1D301] # DIGRAM FOR HEAVENLY EARTH
-1D302 ; [*0DBD.0020.0002.1D302] # DIGRAM FOR HUMAN EARTH
-1D303 ; [*0DBE.0020.0002.1D303] # DIGRAM FOR EARTHLY HEAVEN
-1D304 ; [*0DBF.0020.0002.1D304] # DIGRAM FOR EARTHLY HUMAN
-1D305 ; [*0DC0.0020.0002.1D305] # DIGRAM FOR EARTH
-1D306 ; [*0DC1.0020.0002.1D306] # TETRAGRAM FOR CENTRE
-1D307 ; [*0DC2.0020.0002.1D307] # TETRAGRAM FOR FULL CIRCLE
-1D308 ; [*0DC3.0020.0002.1D308] # TETRAGRAM FOR MIRED
-1D309 ; [*0DC4.0020.0002.1D309] # TETRAGRAM FOR BARRIER
-1D30A ; [*0DC5.0020.0002.1D30A] # TETRAGRAM FOR KEEPING SMALL
-1D30B ; [*0DC6.0020.0002.1D30B] # TETRAGRAM FOR CONTRARIETY
-1D30C ; [*0DC7.0020.0002.1D30C] # TETRAGRAM FOR ASCENT
-1D30D ; [*0DC8.0020.0002.1D30D] # TETRAGRAM FOR OPPOSITION
-1D30E ; [*0DC9.0020.0002.1D30E] # TETRAGRAM FOR BRANCHING OUT
-1D30F ; [*0DCA.0020.0002.1D30F] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
-1D310 ; [*0DCB.0020.0002.1D310] # TETRAGRAM FOR DIVERGENCE
-1D311 ; [*0DCC.0020.0002.1D311] # TETRAGRAM FOR YOUTHFULNESS
-1D312 ; [*0DCD.0020.0002.1D312] # TETRAGRAM FOR INCREASE
-1D313 ; [*0DCE.0020.0002.1D313] # TETRAGRAM FOR PENETRATION
-1D314 ; [*0DCF.0020.0002.1D314] # TETRAGRAM FOR REACH
-1D315 ; [*0DD0.0020.0002.1D315] # TETRAGRAM FOR CONTACT
-1D316 ; [*0DD1.0020.0002.1D316] # TETRAGRAM FOR HOLDING BACK
-1D317 ; [*0DD2.0020.0002.1D317] # TETRAGRAM FOR WAITING
-1D318 ; [*0DD3.0020.0002.1D318] # TETRAGRAM FOR FOLLOWING
-1D319 ; [*0DD4.0020.0002.1D319] # TETRAGRAM FOR ADVANCE
-1D31A ; [*0DD5.0020.0002.1D31A] # TETRAGRAM FOR RELEASE
-1D31B ; [*0DD6.0020.0002.1D31B] # TETRAGRAM FOR RESISTANCE
-1D31C ; [*0DD7.0020.0002.1D31C] # TETRAGRAM FOR EASE
-1D31D ; [*0DD8.0020.0002.1D31D] # TETRAGRAM FOR JOY
-1D31E ; [*0DD9.0020.0002.1D31E] # TETRAGRAM FOR CONTENTION
-1D31F ; [*0DDA.0020.0002.1D31F] # TETRAGRAM FOR ENDEAVOUR
-1D320 ; [*0DDB.0020.0002.1D320] # TETRAGRAM FOR DUTIES
-1D321 ; [*0DDC.0020.0002.1D321] # TETRAGRAM FOR CHANGE
-1D322 ; [*0DDD.0020.0002.1D322] # TETRAGRAM FOR DECISIVENESS
-1D323 ; [*0DDE.0020.0002.1D323] # TETRAGRAM FOR BOLD RESOLUTION
-1D324 ; [*0DDF.0020.0002.1D324] # TETRAGRAM FOR PACKING
-1D325 ; [*0DE0.0020.0002.1D325] # TETRAGRAM FOR LEGION
-1D326 ; [*0DE1.0020.0002.1D326] # TETRAGRAM FOR CLOSENESS
-1D327 ; [*0DE2.0020.0002.1D327] # TETRAGRAM FOR KINSHIP
-1D328 ; [*0DE3.0020.0002.1D328] # TETRAGRAM FOR GATHERING
-1D329 ; [*0DE4.0020.0002.1D329] # TETRAGRAM FOR STRENGTH
-1D32A ; [*0DE5.0020.0002.1D32A] # TETRAGRAM FOR PURITY
-1D32B ; [*0DE6.0020.0002.1D32B] # TETRAGRAM FOR FULLNESS
-1D32C ; [*0DE7.0020.0002.1D32C] # TETRAGRAM FOR RESIDENCE
-1D32D ; [*0DE8.0020.0002.1D32D] # TETRAGRAM FOR LAW OR MODEL
-1D32E ; [*0DE9.0020.0002.1D32E] # TETRAGRAM FOR RESPONSE
-1D32F ; [*0DEA.0020.0002.1D32F] # TETRAGRAM FOR GOING TO MEET
-1D330 ; [*0DEB.0020.0002.1D330] # TETRAGRAM FOR ENCOUNTERS
-1D331 ; [*0DEC.0020.0002.1D331] # TETRAGRAM FOR STOVE
-1D332 ; [*0DED.0020.0002.1D332] # TETRAGRAM FOR GREATNESS
-1D333 ; [*0DEE.0020.0002.1D333] # TETRAGRAM FOR ENLARGEMENT
-1D334 ; [*0DEF.0020.0002.1D334] # TETRAGRAM FOR PATTERN
-1D335 ; [*0DF0.0020.0002.1D335] # TETRAGRAM FOR RITUAL
-1D336 ; [*0DF1.0020.0002.1D336] # TETRAGRAM FOR FLIGHT
-1D337 ; [*0DF2.0020.0002.1D337] # TETRAGRAM FOR VASTNESS OR WASTING
-1D338 ; [*0DF3.0020.0002.1D338] # TETRAGRAM FOR CONSTANCY
-1D339 ; [*0DF4.0020.0002.1D339] # TETRAGRAM FOR MEASURE
-1D33A ; [*0DF5.0020.0002.1D33A] # TETRAGRAM FOR ETERNITY
-1D33B ; [*0DF6.0020.0002.1D33B] # TETRAGRAM FOR UNITY
-1D33C ; [*0DF7.0020.0002.1D33C] # TETRAGRAM FOR DIMINISHMENT
-1D33D ; [*0DF8.0020.0002.1D33D] # TETRAGRAM FOR CLOSED MOUTH
-1D33E ; [*0DF9.0020.0002.1D33E] # TETRAGRAM FOR GUARDEDNESS
-1D33F ; [*0DFA.0020.0002.1D33F] # TETRAGRAM FOR GATHERING IN
-1D340 ; [*0DFB.0020.0002.1D340] # TETRAGRAM FOR MASSING
-1D341 ; [*0DFC.0020.0002.1D341] # TETRAGRAM FOR ACCUMULATION
-1D342 ; [*0DFD.0020.0002.1D342] # TETRAGRAM FOR EMBELLISHMENT
-1D343 ; [*0DFE.0020.0002.1D343] # TETRAGRAM FOR DOUBT
-1D344 ; [*0DFF.0020.0002.1D344] # TETRAGRAM FOR WATCH
-1D345 ; [*0E00.0020.0002.1D345] # TETRAGRAM FOR SINKING
-1D346 ; [*0E01.0020.0002.1D346] # TETRAGRAM FOR INNER
-1D347 ; [*0E02.0020.0002.1D347] # TETRAGRAM FOR DEPARTURE
-1D348 ; [*0E03.0020.0002.1D348] # TETRAGRAM FOR DARKENING
-1D349 ; [*0E04.0020.0002.1D349] # TETRAGRAM FOR DIMMING
-1D34A ; [*0E05.0020.0002.1D34A] # TETRAGRAM FOR EXHAUSTION
-1D34B ; [*0E06.0020.0002.1D34B] # TETRAGRAM FOR SEVERANCE
-1D34C ; [*0E07.0020.0002.1D34C] # TETRAGRAM FOR STOPPAGE
-1D34D ; [*0E08.0020.0002.1D34D] # TETRAGRAM FOR HARDNESS
-1D34E ; [*0E09.0020.0002.1D34E] # TETRAGRAM FOR COMPLETION
-1D34F ; [*0E0A.0020.0002.1D34F] # TETRAGRAM FOR CLOSURE
-1D350 ; [*0E0B.0020.0002.1D350] # TETRAGRAM FOR FAILURE
-1D351 ; [*0E0C.0020.0002.1D351] # TETRAGRAM FOR AGGRAVATION
-1D352 ; [*0E0D.0020.0002.1D352] # TETRAGRAM FOR COMPLIANCE
-1D353 ; [*0E0E.0020.0002.1D353] # TETRAGRAM FOR ON THE VERGE
-1D354 ; [*0E0F.0020.0002.1D354] # TETRAGRAM FOR DIFFICULTIES
-1D355 ; [*0E10.0020.0002.1D355] # TETRAGRAM FOR LABOURING
-1D356 ; [*0E11.0020.0002.1D356] # TETRAGRAM FOR FOSTERING
-1D369 ; [*1558.0020.0002.1D369] # COUNTING ROD TENS DIGIT ONE
-1D36A ; [*1559.0020.0002.1D36A] # COUNTING ROD TENS DIGIT TWO
-1D36B ; [*155A.0020.0002.1D36B] # COUNTING ROD TENS DIGIT THREE
-1D36C ; [*155B.0020.0002.1D36C] # COUNTING ROD TENS DIGIT FOUR
-1D36D ; [*155C.0020.0002.1D36D] # COUNTING ROD TENS DIGIT FIVE
-1D36E ; [*155D.0020.0002.1D36E] # COUNTING ROD TENS DIGIT SIX
-1D36F ; [*155E.0020.0002.1D36F] # COUNTING ROD TENS DIGIT SEVEN
-1D370 ; [*155F.0020.0002.1D370] # COUNTING ROD TENS DIGIT EIGHT
-1D371 ; [*1560.0020.0002.1D371] # COUNTING ROD TENS DIGIT NINE
-1D6C1 ; [*0560.0020.0005.1D6C1] # MATHEMATICAL BOLD NABLA; QQK
-1D6DB ; [*055C.0020.0005.1D6DB] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL; QQK
-1D6FB ; [*0560.0020.0005.1D6FB] # MATHEMATICAL ITALIC NABLA; QQK
-1D715 ; [*055C.0020.0005.1D715] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL; QQK
-1D735 ; [*0560.0020.0005.1D735] # MATHEMATICAL BOLD ITALIC NABLA; QQK
-1D74F ; [*055C.0020.0005.1D74F] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL; QQK
-1D76F ; [*0560.0020.0005.1D76F] # MATHEMATICAL SANS-SERIF BOLD NABLA; QQK
-1D789 ; [*055C.0020.0005.1D789] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL; QQK
-1D7A9 ; [*0560.0020.0005.1D7A9] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA; QQK
-1D7C3 ; [*055C.0020.0005.1D7C3] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL; QQK
-1F000 ; [*1081.0020.0002.1F000] # MAHJONG TILE EAST WIND
-1F001 ; [*1082.0020.0002.1F001] # MAHJONG TILE SOUTH WIND
-1F002 ; [*1083.0020.0002.1F002] # MAHJONG TILE WEST WIND
-1F003 ; [*1084.0020.0002.1F003] # MAHJONG TILE NORTH WIND
-1F004 ; [*1085.0020.0002.1F004] # MAHJONG TILE RED DRAGON
-1F005 ; [*1086.0020.0002.1F005] # MAHJONG TILE GREEN DRAGON
-1F006 ; [*1087.0020.0002.1F006] # MAHJONG TILE WHITE DRAGON
-1F007 ; [*1088.0020.0002.1F007] # MAHJONG TILE ONE OF CHARACTERS
-1F008 ; [*1089.0020.0002.1F008] # MAHJONG TILE TWO OF CHARACTERS
-1F009 ; [*108A.0020.0002.1F009] # MAHJONG TILE THREE OF CHARACTERS
-1F00A ; [*108B.0020.0002.1F00A] # MAHJONG TILE FOUR OF CHARACTERS
-1F00B ; [*108C.0020.0002.1F00B] # MAHJONG TILE FIVE OF CHARACTERS
-1F00C ; [*108D.0020.0002.1F00C] # MAHJONG TILE SIX OF CHARACTERS
-1F00D ; [*108E.0020.0002.1F00D] # MAHJONG TILE SEVEN OF CHARACTERS
-1F00E ; [*108F.0020.0002.1F00E] # MAHJONG TILE EIGHT OF CHARACTERS
-1F00F ; [*1090.0020.0002.1F00F] # MAHJONG TILE NINE OF CHARACTERS
-1F010 ; [*1091.0020.0002.1F010] # MAHJONG TILE ONE OF BAMBOOS
-1F011 ; [*1092.0020.0002.1F011] # MAHJONG TILE TWO OF BAMBOOS
-1F012 ; [*1093.0020.0002.1F012] # MAHJONG TILE THREE OF BAMBOOS
-1F013 ; [*1094.0020.0002.1F013] # MAHJONG TILE FOUR OF BAMBOOS
-1F014 ; [*1095.0020.0002.1F014] # MAHJONG TILE FIVE OF BAMBOOS
-1F015 ; [*1096.0020.0002.1F015] # MAHJONG TILE SIX OF BAMBOOS
-1F016 ; [*1097.0020.0002.1F016] # MAHJONG TILE SEVEN OF BAMBOOS
-1F017 ; [*1098.0020.0002.1F017] # MAHJONG TILE EIGHT OF BAMBOOS
-1F018 ; [*1099.0020.0002.1F018] # MAHJONG TILE NINE OF BAMBOOS
-1F019 ; [*109A.0020.0002.1F019] # MAHJONG TILE ONE OF CIRCLES
-1F01A ; [*109B.0020.0002.1F01A] # MAHJONG TILE TWO OF CIRCLES
-1F01B ; [*109C.0020.0002.1F01B] # MAHJONG TILE THREE OF CIRCLES
-1F01C ; [*109D.0020.0002.1F01C] # MAHJONG TILE FOUR OF CIRCLES
-1F01D ; [*109E.0020.0002.1F01D] # MAHJONG TILE FIVE OF CIRCLES
-1F01E ; [*109F.0020.0002.1F01E] # MAHJONG TILE SIX OF CIRCLES
-1F01F ; [*10A0.0020.0002.1F01F] # MAHJONG TILE SEVEN OF CIRCLES
-1F020 ; [*10A1.0020.0002.1F020] # MAHJONG TILE EIGHT OF CIRCLES
-1F021 ; [*10A2.0020.0002.1F021] # MAHJONG TILE NINE OF CIRCLES
-1F022 ; [*10A3.0020.0002.1F022] # MAHJONG TILE PLUM
-1F023 ; [*10A4.0020.0002.1F023] # MAHJONG TILE ORCHID
-1F024 ; [*10A5.0020.0002.1F024] # MAHJONG TILE BAMBOO
-1F025 ; [*10A6.0020.0002.1F025] # MAHJONG TILE CHRYSANTHEMUM
-1F026 ; [*10A7.0020.0002.1F026] # MAHJONG TILE SPRING
-1F027 ; [*10A8.0020.0002.1F027] # MAHJONG TILE SUMMER
-1F028 ; [*10A9.0020.0002.1F028] # MAHJONG TILE AUTUMN
-1F029 ; [*10AA.0020.0002.1F029] # MAHJONG TILE WINTER
-1F02A ; [*10AB.0020.0002.1F02A] # MAHJONG TILE JOKER
-1F02B ; [*10AC.0020.0002.1F02B] # MAHJONG TILE BACK
-1F030 ; [*10AD.0020.0002.1F030] # DOMINO TILE HORIZONTAL BACK
-1F031 ; [*10AE.0020.0002.1F031] # DOMINO TILE HORIZONTAL-00-00
-1F032 ; [*10AF.0020.0002.1F032] # DOMINO TILE HORIZONTAL-00-01
-1F033 ; [*10B0.0020.0002.1F033] # DOMINO TILE HORIZONTAL-00-02
-1F034 ; [*10B1.0020.0002.1F034] # DOMINO TILE HORIZONTAL-00-03
-1F035 ; [*10B2.0020.0002.1F035] # DOMINO TILE HORIZONTAL-00-04
-1F036 ; [*10B3.0020.0002.1F036] # DOMINO TILE HORIZONTAL-00-05
-1F037 ; [*10B4.0020.0002.1F037] # DOMINO TILE HORIZONTAL-00-06
-1F038 ; [*10B5.0020.0002.1F038] # DOMINO TILE HORIZONTAL-01-00
-1F039 ; [*10B6.0020.0002.1F039] # DOMINO TILE HORIZONTAL-01-01
-1F03A ; [*10B7.0020.0002.1F03A] # DOMINO TILE HORIZONTAL-01-02
-1F03B ; [*10B8.0020.0002.1F03B] # DOMINO TILE HORIZONTAL-01-03
-1F03C ; [*10B9.0020.0002.1F03C] # DOMINO TILE HORIZONTAL-01-04
-1F03D ; [*10BA.0020.0002.1F03D] # DOMINO TILE HORIZONTAL-01-05
-1F03E ; [*10BB.0020.0002.1F03E] # DOMINO TILE HORIZONTAL-01-06
-1F03F ; [*10BC.0020.0002.1F03F] # DOMINO TILE HORIZONTAL-02-00
-1F040 ; [*10BD.0020.0002.1F040] # DOMINO TILE HORIZONTAL-02-01
-1F041 ; [*10BE.0020.0002.1F041] # DOMINO TILE HORIZONTAL-02-02
-1F042 ; [*10BF.0020.0002.1F042] # DOMINO TILE HORIZONTAL-02-03
-1F043 ; [*10C0.0020.0002.1F043] # DOMINO TILE HORIZONTAL-02-04
-1F044 ; [*10C1.0020.0002.1F044] # DOMINO TILE HORIZONTAL-02-05
-1F045 ; [*10C2.0020.0002.1F045] # DOMINO TILE HORIZONTAL-02-06
-1F046 ; [*10C3.0020.0002.1F046] # DOMINO TILE HORIZONTAL-03-00
-1F047 ; [*10C4.0020.0002.1F047] # DOMINO TILE HORIZONTAL-03-01
-1F048 ; [*10C5.0020.0002.1F048] # DOMINO TILE HORIZONTAL-03-02
-1F049 ; [*10C6.0020.0002.1F049] # DOMINO TILE HORIZONTAL-03-03
-1F04A ; [*10C7.0020.0002.1F04A] # DOMINO TILE HORIZONTAL-03-04
-1F04B ; [*10C8.0020.0002.1F04B] # DOMINO TILE HORIZONTAL-03-05
-1F04C ; [*10C9.0020.0002.1F04C] # DOMINO TILE HORIZONTAL-03-06
-1F04D ; [*10CA.0020.0002.1F04D] # DOMINO TILE HORIZONTAL-04-00
-1F04E ; [*10CB.0020.0002.1F04E] # DOMINO TILE HORIZONTAL-04-01
-1F04F ; [*10CC.0020.0002.1F04F] # DOMINO TILE HORIZONTAL-04-02
-1F050 ; [*10CD.0020.0002.1F050] # DOMINO TILE HORIZONTAL-04-03
-1F051 ; [*10CE.0020.0002.1F051] # DOMINO TILE HORIZONTAL-04-04
-1F052 ; [*10CF.0020.0002.1F052] # DOMINO TILE HORIZONTAL-04-05
-1F053 ; [*10D0.0020.0002.1F053] # DOMINO TILE HORIZONTAL-04-06
-1F054 ; [*10D1.0020.0002.1F054] # DOMINO TILE HORIZONTAL-05-00
-1F055 ; [*10D2.0020.0002.1F055] # DOMINO TILE HORIZONTAL-05-01
-1F056 ; [*10D3.0020.0002.1F056] # DOMINO TILE HORIZONTAL-05-02
-1F057 ; [*10D4.0020.0002.1F057] # DOMINO TILE HORIZONTAL-05-03
-1F058 ; [*10D5.0020.0002.1F058] # DOMINO TILE HORIZONTAL-05-04
-1F059 ; [*10D6.0020.0002.1F059] # DOMINO TILE HORIZONTAL-05-05
-1F05A ; [*10D7.0020.0002.1F05A] # DOMINO TILE HORIZONTAL-05-06
-1F05B ; [*10D8.0020.0002.1F05B] # DOMINO TILE HORIZONTAL-06-00
-1F05C ; [*10D9.0020.0002.1F05C] # DOMINO TILE HORIZONTAL-06-01
-1F05D ; [*10DA.0020.0002.1F05D] # DOMINO TILE HORIZONTAL-06-02
-1F05E ; [*10DB.0020.0002.1F05E] # DOMINO TILE HORIZONTAL-06-03
-1F05F ; [*10DC.0020.0002.1F05F] # DOMINO TILE HORIZONTAL-06-04
-1F060 ; [*10DD.0020.0002.1F060] # DOMINO TILE HORIZONTAL-06-05
-1F061 ; [*10DE.0020.0002.1F061] # DOMINO TILE HORIZONTAL-06-06
-1F062 ; [*10DF.0020.0002.1F062] # DOMINO TILE VERTICAL BACK
-1F063 ; [*10E0.0020.0002.1F063] # DOMINO TILE VERTICAL-00-00
-1F064 ; [*10E1.0020.0002.1F064] # DOMINO TILE VERTICAL-00-01
-1F065 ; [*10E2.0020.0002.1F065] # DOMINO TILE VERTICAL-00-02
-1F066 ; [*10E3.0020.0002.1F066] # DOMINO TILE VERTICAL-00-03
-1F067 ; [*10E4.0020.0002.1F067] # DOMINO TILE VERTICAL-00-04
-1F068 ; [*10E5.0020.0002.1F068] # DOMINO TILE VERTICAL-00-05
-1F069 ; [*10E6.0020.0002.1F069] # DOMINO TILE VERTICAL-00-06
-1F06A ; [*10E7.0020.0002.1F06A] # DOMINO TILE VERTICAL-01-00
-1F06B ; [*10E8.0020.0002.1F06B] # DOMINO TILE VERTICAL-01-01
-1F06C ; [*10E9.0020.0002.1F06C] # DOMINO TILE VERTICAL-01-02
-1F06D ; [*10EA.0020.0002.1F06D] # DOMINO TILE VERTICAL-01-03
-1F06E ; [*10EB.0020.0002.1F06E] # DOMINO TILE VERTICAL-01-04
-1F06F ; [*10EC.0020.0002.1F06F] # DOMINO TILE VERTICAL-01-05
-1F070 ; [*10ED.0020.0002.1F070] # DOMINO TILE VERTICAL-01-06
-1F071 ; [*10EE.0020.0002.1F071] # DOMINO TILE VERTICAL-02-00
-1F072 ; [*10EF.0020.0002.1F072] # DOMINO TILE VERTICAL-02-01
-1F073 ; [*10F0.0020.0002.1F073] # DOMINO TILE VERTICAL-02-02
-1F074 ; [*10F1.0020.0002.1F074] # DOMINO TILE VERTICAL-02-03
-1F075 ; [*10F2.0020.0002.1F075] # DOMINO TILE VERTICAL-02-04
-1F076 ; [*10F3.0020.0002.1F076] # DOMINO TILE VERTICAL-02-05
-1F077 ; [*10F4.0020.0002.1F077] # DOMINO TILE VERTICAL-02-06
-1F078 ; [*10F5.0020.0002.1F078] # DOMINO TILE VERTICAL-03-00
-1F079 ; [*10F6.0020.0002.1F079] # DOMINO TILE VERTICAL-03-01
-1F07A ; [*10F7.0020.0002.1F07A] # DOMINO TILE VERTICAL-03-02
-1F07B ; [*10F8.0020.0002.1F07B] # DOMINO TILE VERTICAL-03-03
-1F07C ; [*10F9.0020.0002.1F07C] # DOMINO TILE VERTICAL-03-04
-1F07D ; [*10FA.0020.0002.1F07D] # DOMINO TILE VERTICAL-03-05
-1F07E ; [*10FB.0020.0002.1F07E] # DOMINO TILE VERTICAL-03-06
-1F07F ; [*10FC.0020.0002.1F07F] # DOMINO TILE VERTICAL-04-00
-1F080 ; [*10FD.0020.0002.1F080] # DOMINO TILE VERTICAL-04-01
-1F081 ; [*10FE.0020.0002.1F081] # DOMINO TILE VERTICAL-04-02
-1F082 ; [*10FF.0020.0002.1F082] # DOMINO TILE VERTICAL-04-03
-1F083 ; [*1100.0020.0002.1F083] # DOMINO TILE VERTICAL-04-04
-1F084 ; [*1101.0020.0002.1F084] # DOMINO TILE VERTICAL-04-05
-1F085 ; [*1102.0020.0002.1F085] # DOMINO TILE VERTICAL-04-06
-1F086 ; [*1103.0020.0002.1F086] # DOMINO TILE VERTICAL-05-00
-1F087 ; [*1104.0020.0002.1F087] # DOMINO TILE VERTICAL-05-01
-1F088 ; [*1105.0020.0002.1F088] # DOMINO TILE VERTICAL-05-02
-1F089 ; [*1106.0020.0002.1F089] # DOMINO TILE VERTICAL-05-03
-1F08A ; [*1107.0020.0002.1F08A] # DOMINO TILE VERTICAL-05-04
-1F08B ; [*1108.0020.0002.1F08B] # DOMINO TILE VERTICAL-05-05
-1F08C ; [*1109.0020.0002.1F08C] # DOMINO TILE VERTICAL-05-06
-1F08D ; [*110A.0020.0002.1F08D] # DOMINO TILE VERTICAL-06-00
-1F08E ; [*110B.0020.0002.1F08E] # DOMINO TILE VERTICAL-06-01
-1F08F ; [*110C.0020.0002.1F08F] # DOMINO TILE VERTICAL-06-02
-1F090 ; [*110D.0020.0002.1F090] # DOMINO TILE VERTICAL-06-03
-1F091 ; [*110E.0020.0002.1F091] # DOMINO TILE VERTICAL-06-04
-1F092 ; [*110F.0020.0002.1F092] # DOMINO TILE VERTICAL-06-05
-1F093 ; [*1110.0020.0002.1F093] # DOMINO TILE VERTICAL-06-06
-1F0A0 ; [*1111.0020.0002.1F0A0] # PLAYING CARD BACK
-1F0A1 ; [*1112.0020.0002.1F0A1] # PLAYING CARD ACE OF SPADES
-1F0A2 ; [*1113.0020.0002.1F0A2] # PLAYING CARD TWO OF SPADES
-1F0A3 ; [*1114.0020.0002.1F0A3] # PLAYING CARD THREE OF SPADES
-1F0A4 ; [*1115.0020.0002.1F0A4] # PLAYING CARD FOUR OF SPADES
-1F0A5 ; [*1116.0020.0002.1F0A5] # PLAYING CARD FIVE OF SPADES
-1F0A6 ; [*1117.0020.0002.1F0A6] # PLAYING CARD SIX OF SPADES
-1F0A7 ; [*1118.0020.0002.1F0A7] # PLAYING CARD SEVEN OF SPADES
-1F0A8 ; [*1119.0020.0002.1F0A8] # PLAYING CARD EIGHT OF SPADES
-1F0A9 ; [*111A.0020.0002.1F0A9] # PLAYING CARD NINE OF SPADES
-1F0AA ; [*111B.0020.0002.1F0AA] # PLAYING CARD TEN OF SPADES
-1F0AB ; [*111C.0020.0002.1F0AB] # PLAYING CARD JACK OF SPADES
-1F0AC ; [*111D.0020.0002.1F0AC] # PLAYING CARD KNIGHT OF SPADES
-1F0AD ; [*111E.0020.0002.1F0AD] # PLAYING CARD QUEEN OF SPADES
-1F0AE ; [*111F.0020.0002.1F0AE] # PLAYING CARD KING OF SPADES
-1F0B1 ; [*1120.0020.0002.1F0B1] # PLAYING CARD ACE OF HEARTS
-1F0B2 ; [*1121.0020.0002.1F0B2] # PLAYING CARD TWO OF HEARTS
-1F0B3 ; [*1122.0020.0002.1F0B3] # PLAYING CARD THREE OF HEARTS
-1F0B4 ; [*1123.0020.0002.1F0B4] # PLAYING CARD FOUR OF HEARTS
-1F0B5 ; [*1124.0020.0002.1F0B5] # PLAYING CARD FIVE OF HEARTS
-1F0B6 ; [*1125.0020.0002.1F0B6] # PLAYING CARD SIX OF HEARTS
-1F0B7 ; [*1126.0020.0002.1F0B7] # PLAYING CARD SEVEN OF HEARTS
-1F0B8 ; [*1127.0020.0002.1F0B8] # PLAYING CARD EIGHT OF HEARTS
-1F0B9 ; [*1128.0020.0002.1F0B9] # PLAYING CARD NINE OF HEARTS
-1F0BA ; [*1129.0020.0002.1F0BA] # PLAYING CARD TEN OF HEARTS
-1F0BB ; [*112A.0020.0002.1F0BB] # PLAYING CARD JACK OF HEARTS
-1F0BC ; [*112B.0020.0002.1F0BC] # PLAYING CARD KNIGHT OF HEARTS
-1F0BD ; [*112C.0020.0002.1F0BD] # PLAYING CARD QUEEN OF HEARTS
-1F0BE ; [*112D.0020.0002.1F0BE] # PLAYING CARD KING OF HEARTS
-1F0C1 ; [*112E.0020.0002.1F0C1] # PLAYING CARD ACE OF DIAMONDS
-1F0C2 ; [*112F.0020.0002.1F0C2] # PLAYING CARD TWO OF DIAMONDS
-1F0C3 ; [*1130.0020.0002.1F0C3] # PLAYING CARD THREE OF DIAMONDS
-1F0C4 ; [*1131.0020.0002.1F0C4] # PLAYING CARD FOUR OF DIAMONDS
-1F0C5 ; [*1132.0020.0002.1F0C5] # PLAYING CARD FIVE OF DIAMONDS
-1F0C6 ; [*1133.0020.0002.1F0C6] # PLAYING CARD SIX OF DIAMONDS
-1F0C7 ; [*1134.0020.0002.1F0C7] # PLAYING CARD SEVEN OF DIAMONDS
-1F0C8 ; [*1135.0020.0002.1F0C8] # PLAYING CARD EIGHT OF DIAMONDS
-1F0C9 ; [*1136.0020.0002.1F0C9] # PLAYING CARD NINE OF DIAMONDS
-1F0CA ; [*1137.0020.0002.1F0CA] # PLAYING CARD TEN OF DIAMONDS
-1F0CB ; [*1138.0020.0002.1F0CB] # PLAYING CARD JACK OF DIAMONDS
-1F0CC ; [*1139.0020.0002.1F0CC] # PLAYING CARD KNIGHT OF DIAMONDS
-1F0CD ; [*113A.0020.0002.1F0CD] # PLAYING CARD QUEEN OF DIAMONDS
-1F0CE ; [*113B.0020.0002.1F0CE] # PLAYING CARD KING OF DIAMONDS
-1F0CF ; [*113C.0020.0002.1F0CF] # PLAYING CARD BLACK JOKER
-1F0D1 ; [*113D.0020.0002.1F0D1] # PLAYING CARD ACE OF CLUBS
-1F0D2 ; [*113E.0020.0002.1F0D2] # PLAYING CARD TWO OF CLUBS
-1F0D3 ; [*113F.0020.0002.1F0D3] # PLAYING CARD THREE OF CLUBS
-1F0D4 ; [*1140.0020.0002.1F0D4] # PLAYING CARD FOUR OF CLUBS
-1F0D5 ; [*1141.0020.0002.1F0D5] # PLAYING CARD FIVE OF CLUBS
-1F0D6 ; [*1142.0020.0002.1F0D6] # PLAYING CARD SIX OF CLUBS
-1F0D7 ; [*1143.0020.0002.1F0D7] # PLAYING CARD SEVEN OF CLUBS
-1F0D8 ; [*1144.0020.0002.1F0D8] # PLAYING CARD EIGHT OF CLUBS
-1F0D9 ; [*1145.0020.0002.1F0D9] # PLAYING CARD NINE OF CLUBS
-1F0DA ; [*1146.0020.0002.1F0DA] # PLAYING CARD TEN OF CLUBS
-1F0DB ; [*1147.0020.0002.1F0DB] # PLAYING CARD JACK OF CLUBS
-1F0DC ; [*1148.0020.0002.1F0DC] # PLAYING CARD KNIGHT OF CLUBS
-1F0DD ; [*1149.0020.0002.1F0DD] # PLAYING CARD QUEEN OF CLUBS
-1F0DE ; [*114A.0020.0002.1F0DE] # PLAYING CARD KING OF CLUBS
-1F0DF ; [*114B.0020.0002.1F0DF] # PLAYING CARD WHITE JOKER
-1F300 ; [*114C.0020.0002.1F300] # CYCLONE
-1F301 ; [*114D.0020.0002.1F301] # FOGGY
-1F302 ; [*114E.0020.0002.1F302] # CLOSED UMBRELLA
-1F303 ; [*114F.0020.0002.1F303] # NIGHT WITH STARS
-1F304 ; [*1150.0020.0002.1F304] # SUNRISE OVER MOUNTAINS
-1F305 ; [*1151.0020.0002.1F305] # SUNRISE
-1F306 ; [*1152.0020.0002.1F306] # CITYSCAPE AT DUSK
-1F307 ; [*1153.0020.0002.1F307] # SUNSET OVER BUILDINGS
-1F308 ; [*1154.0020.0002.1F308] # RAINBOW
-1F309 ; [*1155.0020.0002.1F309] # BRIDGE AT NIGHT
-1F30A ; [*1156.0020.0002.1F30A] # WATER WAVE
-1F30B ; [*1157.0020.0002.1F30B] # VOLCANO
-1F30C ; [*1158.0020.0002.1F30C] # MILKY WAY
-1F30D ; [*1159.0020.0002.1F30D] # EARTH GLOBE EUROPE-AFRICA
-1F30E ; [*115A.0020.0002.1F30E] # EARTH GLOBE AMERICAS
-1F30F ; [*115B.0020.0002.1F30F] # EARTH GLOBE ASIA-AUSTRALIA
-1F310 ; [*115C.0020.0002.1F310] # GLOBE WITH MERIDIANS
-1F311 ; [*115D.0020.0002.1F311] # NEW MOON SYMBOL
-1F312 ; [*115E.0020.0002.1F312] # WAXING CRESCENT MOON SYMBOL
-1F313 ; [*115F.0020.0002.1F313] # FIRST QUARTER MOON SYMBOL
-1F314 ; [*1160.0020.0002.1F314] # WAXING GIBBOUS MOON SYMBOL
-1F315 ; [*1161.0020.0002.1F315] # FULL MOON SYMBOL
-1F316 ; [*1162.0020.0002.1F316] # WANING GIBBOUS MOON SYMBOL
-1F317 ; [*1163.0020.0002.1F317] # LAST QUARTER MOON SYMBOL
-1F318 ; [*1164.0020.0002.1F318] # WANING CRESCENT MOON SYMBOL
-1F319 ; [*1165.0020.0002.1F319] # CRESCENT MOON
-1F31A ; [*1166.0020.0002.1F31A] # NEW MOON WITH FACE
-1F31B ; [*1167.0020.0002.1F31B] # FIRST QUARTER MOON WITH FACE
-1F31C ; [*1168.0020.0002.1F31C] # LAST QUARTER MOON WITH FACE
-1F31D ; [*1169.0020.0002.1F31D] # FULL MOON WITH FACE
-1F31E ; [*116A.0020.0002.1F31E] # SUN WITH FACE
-1F31F ; [*116B.0020.0002.1F31F] # GLOWING STAR
-1F320 ; [*116C.0020.0002.1F320] # SHOOTING STAR
-1F330 ; [*116D.0020.0002.1F330] # CHESTNUT
-1F331 ; [*116E.0020.0002.1F331] # SEEDLING
-1F332 ; [*116F.0020.0002.1F332] # EVERGREEN TREE
-1F333 ; [*1170.0020.0002.1F333] # DECIDUOUS TREE
-1F334 ; [*1171.0020.0002.1F334] # PALM TREE
-1F335 ; [*1172.0020.0002.1F335] # CACTUS
-1F337 ; [*1173.0020.0002.1F337] # TULIP
-1F338 ; [*1174.0020.0002.1F338] # CHERRY BLOSSOM
-1F339 ; [*1175.0020.0002.1F339] # ROSE
-1F33A ; [*1176.0020.0002.1F33A] # HIBISCUS
-1F33B ; [*1177.0020.0002.1F33B] # SUNFLOWER
-1F33C ; [*1178.0020.0002.1F33C] # BLOSSOM
-1F33D ; [*1179.0020.0002.1F33D] # EAR OF MAIZE
-1F33E ; [*117A.0020.0002.1F33E] # EAR OF RICE
-1F33F ; [*117B.0020.0002.1F33F] # HERB
-1F340 ; [*117C.0020.0002.1F340] # FOUR LEAF CLOVER
-1F341 ; [*117D.0020.0002.1F341] # MAPLE LEAF
-1F342 ; [*117E.0020.0002.1F342] # FALLEN LEAF
-1F343 ; [*117F.0020.0002.1F343] # LEAF FLUTTERING IN WIND
-1F344 ; [*1180.0020.0002.1F344] # MUSHROOM
-1F345 ; [*1181.0020.0002.1F345] # TOMATO
-1F346 ; [*1182.0020.0002.1F346] # AUBERGINE
-1F347 ; [*1183.0020.0002.1F347] # GRAPES
-1F348 ; [*1184.0020.0002.1F348] # MELON
-1F349 ; [*1185.0020.0002.1F349] # WATERMELON
-1F34A ; [*1186.0020.0002.1F34A] # TANGERINE
-1F34B ; [*1187.0020.0002.1F34B] # LEMON
-1F34C ; [*1188.0020.0002.1F34C] # BANANA
-1F34D ; [*1189.0020.0002.1F34D] # PINEAPPLE
-1F34E ; [*118A.0020.0002.1F34E] # RED APPLE
-1F34F ; [*118B.0020.0002.1F34F] # GREEN APPLE
-1F350 ; [*118C.0020.0002.1F350] # PEAR
-1F351 ; [*118D.0020.0002.1F351] # PEACH
-1F352 ; [*118E.0020.0002.1F352] # CHERRIES
-1F353 ; [*118F.0020.0002.1F353] # STRAWBERRY
-1F354 ; [*1190.0020.0002.1F354] # HAMBURGER
-1F355 ; [*1191.0020.0002.1F355] # SLICE OF PIZZA
-1F356 ; [*1192.0020.0002.1F356] # MEAT ON BONE
-1F357 ; [*1193.0020.0002.1F357] # POULTRY LEG
-1F358 ; [*1194.0020.0002.1F358] # RICE CRACKER
-1F359 ; [*1195.0020.0002.1F359] # RICE BALL
-1F35A ; [*1196.0020.0002.1F35A] # COOKED RICE
-1F35B ; [*1197.0020.0002.1F35B] # CURRY AND RICE
-1F35C ; [*1198.0020.0002.1F35C] # STEAMING BOWL
-1F35D ; [*1199.0020.0002.1F35D] # SPAGHETTI
-1F35E ; [*119A.0020.0002.1F35E] # BREAD
-1F35F ; [*119B.0020.0002.1F35F] # FRENCH FRIES
-1F360 ; [*119C.0020.0002.1F360] # ROASTED SWEET POTATO
-1F361 ; [*119D.0020.0002.1F361] # DANGO
-1F362 ; [*119E.0020.0002.1F362] # ODEN
-1F363 ; [*119F.0020.0002.1F363] # SUSHI
-1F364 ; [*11A0.0020.0002.1F364] # FRIED SHRIMP
-1F365 ; [*11A1.0020.0002.1F365] # FISH CAKE WITH SWIRL DESIGN
-1F366 ; [*11A2.0020.0002.1F366] # SOFT ICE CREAM
-1F367 ; [*11A3.0020.0002.1F367] # SHAVED ICE
-1F368 ; [*11A4.0020.0002.1F368] # ICE CREAM
-1F369 ; [*11A5.0020.0002.1F369] # DOUGHNUT
-1F36A ; [*11A6.0020.0002.1F36A] # COOKIE
-1F36B ; [*11A7.0020.0002.1F36B] # CHOCOLATE BAR
-1F36C ; [*11A8.0020.0002.1F36C] # CANDY
-1F36D ; [*11A9.0020.0002.1F36D] # LOLLIPOP
-1F36E ; [*11AA.0020.0002.1F36E] # CUSTARD
-1F36F ; [*11AB.0020.0002.1F36F] # HONEY POT
-1F370 ; [*11AC.0020.0002.1F370] # SHORTCAKE
-1F371 ; [*11AD.0020.0002.1F371] # BENTO BOX
-1F372 ; [*11AE.0020.0002.1F372] # POT OF FOOD
-1F373 ; [*11AF.0020.0002.1F373] # COOKING
-1F374 ; [*11B0.0020.0002.1F374] # FORK AND KNIFE
-1F375 ; [*11B1.0020.0002.1F375] # TEACUP WITHOUT HANDLE
-1F376 ; [*11B2.0020.0002.1F376] # SAKE BOTTLE AND CUP
-1F377 ; [*11B3.0020.0002.1F377] # WINE GLASS
-1F378 ; [*11B4.0020.0002.1F378] # COCKTAIL GLASS
-1F379 ; [*11B5.0020.0002.1F379] # TROPICAL DRINK
-1F37A ; [*11B6.0020.0002.1F37A] # BEER MUG
-1F37B ; [*11B7.0020.0002.1F37B] # CLINKING BEER MUGS
-1F37C ; [*11B8.0020.0002.1F37C] # BABY BOTTLE
-1F380 ; [*11B9.0020.0002.1F380] # RIBBON
-1F381 ; [*11BA.0020.0002.1F381] # WRAPPED PRESENT
-1F382 ; [*11BB.0020.0002.1F382] # BIRTHDAY CAKE
-1F383 ; [*11BC.0020.0002.1F383] # JACK-O-LANTERN
-1F384 ; [*11BD.0020.0002.1F384] # CHRISTMAS TREE
-1F385 ; [*11BE.0020.0002.1F385] # FATHER CHRISTMAS
-1F386 ; [*11BF.0020.0002.1F386] # FIREWORKS
-1F387 ; [*11C0.0020.0002.1F387] # FIREWORK SPARKLER
-1F388 ; [*11C1.0020.0002.1F388] # BALLOON
-1F389 ; [*11C2.0020.0002.1F389] # PARTY POPPER
-1F38A ; [*11C3.0020.0002.1F38A] # CONFETTI BALL
-1F38B ; [*11C4.0020.0002.1F38B] # TANABATA TREE
-1F38C ; [*11C5.0020.0002.1F38C] # CROSSED FLAGS
-1F38D ; [*11C6.0020.0002.1F38D] # PINE DECORATION
-1F38E ; [*11C7.0020.0002.1F38E] # JAPANESE DOLLS
-1F38F ; [*11C8.0020.0002.1F38F] # CARP STREAMER
-1F390 ; [*11C9.0020.0002.1F390] # WIND CHIME
-1F391 ; [*11CA.0020.0002.1F391] # MOON VIEWING CEREMONY
-1F392 ; [*11CB.0020.0002.1F392] # SCHOOL SATCHEL
-1F393 ; [*11CC.0020.0002.1F393] # GRADUATION CAP
-1F3A0 ; [*11CD.0020.0002.1F3A0] # CAROUSEL HORSE
-1F3A1 ; [*11CE.0020.0002.1F3A1] # FERRIS WHEEL
-1F3A2 ; [*11CF.0020.0002.1F3A2] # ROLLER COASTER
-1F3A3 ; [*11D0.0020.0002.1F3A3] # FISHING POLE AND FISH
-1F3A4 ; [*11D1.0020.0002.1F3A4] # MICROPHONE
-1F3A5 ; [*11D2.0020.0002.1F3A5] # MOVIE CAMERA
-1F3A6 ; [*11D3.0020.0002.1F3A6] # CINEMA
-1F3A7 ; [*11D4.0020.0002.1F3A7] # HEADPHONE
-1F3A8 ; [*11D5.0020.0002.1F3A8] # ARTIST PALETTE
-1F3A9 ; [*11D6.0020.0002.1F3A9] # TOP HAT
-1F3AA ; [*11D7.0020.0002.1F3AA] # CIRCUS TENT
-1F3AB ; [*11D8.0020.0002.1F3AB] # TICKET
-1F3AC ; [*11D9.0020.0002.1F3AC] # CLAPPER BOARD
-1F3AD ; [*11DA.0020.0002.1F3AD] # PERFORMING ARTS
-1F3AE ; [*11DB.0020.0002.1F3AE] # VIDEO GAME
-1F3AF ; [*11DC.0020.0002.1F3AF] # DIRECT HIT
-1F3B0 ; [*11DD.0020.0002.1F3B0] # SLOT MACHINE
-1F3B1 ; [*11DE.0020.0002.1F3B1] # BILLIARDS
-1F3B2 ; [*11DF.0020.0002.1F3B2] # GAME DIE
-1F3B3 ; [*11E0.0020.0002.1F3B3] # BOWLING
-1F3B4 ; [*11E1.0020.0002.1F3B4] # FLOWER PLAYING CARDS
-1F3B5 ; [*11E2.0020.0002.1F3B5] # MUSICAL NOTE
-1F3B6 ; [*11E3.0020.0002.1F3B6] # MULTIPLE MUSICAL NOTES
-1F3B7 ; [*11E4.0020.0002.1F3B7] # SAXOPHONE
-1F3B8 ; [*11E5.0020.0002.1F3B8] # GUITAR
-1F3B9 ; [*11E6.0020.0002.1F3B9] # MUSICAL KEYBOARD
-1F3BA ; [*11E7.0020.0002.1F3BA] # TRUMPET
-1F3BB ; [*11E8.0020.0002.1F3BB] # VIOLIN
-1F3BC ; [*11E9.0020.0002.1F3BC] # MUSICAL SCORE
-1F3BD ; [*11EA.0020.0002.1F3BD] # RUNNING SHIRT WITH SASH
-1F3BE ; [*11EB.0020.0002.1F3BE] # TENNIS RACQUET AND BALL
-1F3BF ; [*11EC.0020.0002.1F3BF] # SKI AND SKI BOOT
-1F3C0 ; [*11ED.0020.0002.1F3C0] # BASKETBALL AND HOOP
-1F3C1 ; [*11EE.0020.0002.1F3C1] # CHEQUERED FLAG
-1F3C2 ; [*11EF.0020.0002.1F3C2] # SNOWBOARDER
-1F3C3 ; [*11F0.0020.0002.1F3C3] # RUNNER
-1F3C4 ; [*11F1.0020.0002.1F3C4] # SURFER
-1F3C6 ; [*11F2.0020.0002.1F3C6] # TROPHY
-1F3C7 ; [*11F3.0020.0002.1F3C7] # HORSE RACING
-1F3C8 ; [*11F4.0020.0002.1F3C8] # AMERICAN FOOTBALL
-1F3C9 ; [*11F5.0020.0002.1F3C9] # RUGBY FOOTBALL
-1F3CA ; [*11F6.0020.0002.1F3CA] # SWIMMER
-1F3E0 ; [*11F7.0020.0002.1F3E0] # HOUSE BUILDING
-1F3E1 ; [*11F8.0020.0002.1F3E1] # HOUSE WITH GARDEN
-1F3E2 ; [*11F9.0020.0002.1F3E2] # OFFICE BUILDING
-1F3E3 ; [*11FA.0020.0002.1F3E3] # JAPANESE POST OFFICE
-1F3E4 ; [*11FB.0020.0002.1F3E4] # EUROPEAN POST OFFICE
-1F3E5 ; [*11FC.0020.0002.1F3E5] # HOSPITAL
-1F3E6 ; [*11FD.0020.0002.1F3E6] # BANK
-1F3E7 ; [*11FE.0020.0002.1F3E7] # AUTOMATED TELLER MACHINE
-1F3E8 ; [*11FF.0020.0002.1F3E8] # HOTEL
-1F3E9 ; [*1200.0020.0002.1F3E9] # LOVE HOTEL
-1F3EA ; [*1201.0020.0002.1F3EA] # CONVENIENCE STORE
-1F3EB ; [*1202.0020.0002.1F3EB] # SCHOOL
-1F3EC ; [*1203.0020.0002.1F3EC] # DEPARTMENT STORE
-1F3ED ; [*1204.0020.0002.1F3ED] # FACTORY
-1F3EE ; [*1205.0020.0002.1F3EE] # IZAKAYA LANTERN
-1F3EF ; [*1206.0020.0002.1F3EF] # JAPANESE CASTLE
-1F3F0 ; [*1207.0020.0002.1F3F0] # EUROPEAN CASTLE
-1F400 ; [*1208.0020.0002.1F400] # RAT
-1F401 ; [*1209.0020.0002.1F401] # MOUSE
-1F402 ; [*120A.0020.0002.1F402] # OX
-1F403 ; [*120B.0020.0002.1F403] # WATER BUFFALO
-1F404 ; [*120C.0020.0002.1F404] # COW
-1F405 ; [*120D.0020.0002.1F405] # TIGER
-1F406 ; [*120E.0020.0002.1F406] # LEOPARD
-1F407 ; [*120F.0020.0002.1F407] # RABBIT
-1F408 ; [*1210.0020.0002.1F408] # CAT
-1F409 ; [*1211.0020.0002.1F409] # DRAGON
-1F40A ; [*1212.0020.0002.1F40A] # CROCODILE
-1F40B ; [*1213.0020.0002.1F40B] # WHALE
-1F40C ; [*1214.0020.0002.1F40C] # SNAIL
-1F40D ; [*1215.0020.0002.1F40D] # SNAKE
-1F40E ; [*1216.0020.0002.1F40E] # HORSE
-1F40F ; [*1217.0020.0002.1F40F] # RAM
-1F410 ; [*1218.0020.0002.1F410] # GOAT
-1F411 ; [*1219.0020.0002.1F411] # SHEEP
-1F412 ; [*121A.0020.0002.1F412] # MONKEY
-1F413 ; [*121B.0020.0002.1F413] # ROOSTER
-1F414 ; [*121C.0020.0002.1F414] # CHICKEN
-1F415 ; [*121D.0020.0002.1F415] # DOG
-1F416 ; [*121E.0020.0002.1F416] # PIG
-1F417 ; [*121F.0020.0002.1F417] # BOAR
-1F418 ; [*1220.0020.0002.1F418] # ELEPHANT
-1F419 ; [*1221.0020.0002.1F419] # OCTOPUS
-1F41A ; [*1222.0020.0002.1F41A] # SPIRAL SHELL
-1F41B ; [*1223.0020.0002.1F41B] # BUG
-1F41C ; [*1224.0020.0002.1F41C] # ANT
-1F41D ; [*1225.0020.0002.1F41D] # HONEYBEE
-1F41E ; [*1226.0020.0002.1F41E] # LADY BEETLE
-1F41F ; [*1227.0020.0002.1F41F] # FISH
-1F420 ; [*1228.0020.0002.1F420] # TROPICAL FISH
-1F421 ; [*1229.0020.0002.1F421] # BLOWFISH
-1F422 ; [*122A.0020.0002.1F422] # TURTLE
-1F423 ; [*122B.0020.0002.1F423] # HATCHING CHICK
-1F424 ; [*122C.0020.0002.1F424] # BABY CHICK
-1F425 ; [*122D.0020.0002.1F425] # FRONT-FACING BABY CHICK
-1F426 ; [*122E.0020.0002.1F426] # BIRD
-1F427 ; [*122F.0020.0002.1F427] # PENGUIN
-1F428 ; [*1230.0020.0002.1F428] # KOALA
-1F429 ; [*1231.0020.0002.1F429] # POODLE
-1F42A ; [*1232.0020.0002.1F42A] # DROMEDARY CAMEL
-1F42B ; [*1233.0020.0002.1F42B] # BACTRIAN CAMEL
-1F42C ; [*1234.0020.0002.1F42C] # DOLPHIN
-1F42D ; [*1235.0020.0002.1F42D] # MOUSE FACE
-1F42E ; [*1236.0020.0002.1F42E] # COW FACE
-1F42F ; [*1237.0020.0002.1F42F] # TIGER FACE
-1F430 ; [*1238.0020.0002.1F430] # RABBIT FACE
-1F431 ; [*1239.0020.0002.1F431] # CAT FACE
-1F432 ; [*123A.0020.0002.1F432] # DRAGON FACE
-1F433 ; [*123B.0020.0002.1F433] # SPOUTING WHALE
-1F434 ; [*123C.0020.0002.1F434] # HORSE FACE
-1F435 ; [*123D.0020.0002.1F435] # MONKEY FACE
-1F436 ; [*123E.0020.0002.1F436] # DOG FACE
-1F437 ; [*123F.0020.0002.1F437] # PIG FACE
-1F438 ; [*1240.0020.0002.1F438] # FROG FACE
-1F439 ; [*1241.0020.0002.1F439] # HAMSTER FACE
-1F43A ; [*1242.0020.0002.1F43A] # WOLF FACE
-1F43B ; [*1243.0020.0002.1F43B] # BEAR FACE
-1F43C ; [*1244.0020.0002.1F43C] # PANDA FACE
-1F43D ; [*1245.0020.0002.1F43D] # PIG NOSE
-1F43E ; [*1246.0020.0002.1F43E] # PAW PRINTS
-1F440 ; [*1247.0020.0002.1F440] # EYES
-1F442 ; [*1248.0020.0002.1F442] # EAR
-1F443 ; [*1249.0020.0002.1F443] # NOSE
-1F444 ; [*124A.0020.0002.1F444] # MOUTH
-1F445 ; [*124B.0020.0002.1F445] # TONGUE
-1F446 ; [*124C.0020.0002.1F446] # WHITE UP POINTING BACKHAND INDEX
-1F447 ; [*124D.0020.0002.1F447] # WHITE DOWN POINTING BACKHAND INDEX
-1F448 ; [*124E.0020.0002.1F448] # WHITE LEFT POINTING BACKHAND INDEX
-1F449 ; [*124F.0020.0002.1F449] # WHITE RIGHT POINTING BACKHAND INDEX
-1F44A ; [*1250.0020.0002.1F44A] # FISTED HAND SIGN
-1F44B ; [*1251.0020.0002.1F44B] # WAVING HAND SIGN
-1F44C ; [*1252.0020.0002.1F44C] # OK HAND SIGN
-1F44D ; [*1253.0020.0002.1F44D] # THUMBS UP SIGN
-1F44E ; [*1254.0020.0002.1F44E] # THUMBS DOWN SIGN
-1F44F ; [*1255.0020.0002.1F44F] # CLAPPING HANDS SIGN
-1F450 ; [*1256.0020.0002.1F450] # OPEN HANDS SIGN
-1F451 ; [*1257.0020.0002.1F451] # CROWN
-1F452 ; [*1258.0020.0002.1F452] # WOMANS HAT
-1F453 ; [*1259.0020.0002.1F453] # EYEGLASSES
-1F454 ; [*125A.0020.0002.1F454] # NECKTIE
-1F455 ; [*125B.0020.0002.1F455] # T-SHIRT
-1F456 ; [*125C.0020.0002.1F456] # JEANS
-1F457 ; [*125D.0020.0002.1F457] # DRESS
-1F458 ; [*125E.0020.0002.1F458] # KIMONO
-1F459 ; [*125F.0020.0002.1F459] # BIKINI
-1F45A ; [*1260.0020.0002.1F45A] # WOMANS CLOTHES
-1F45B ; [*1261.0020.0002.1F45B] # PURSE
-1F45C ; [*1262.0020.0002.1F45C] # HANDBAG
-1F45D ; [*1263.0020.0002.1F45D] # POUCH
-1F45E ; [*1264.0020.0002.1F45E] # MANS SHOE
-1F45F ; [*1265.0020.0002.1F45F] # ATHLETIC SHOE
-1F460 ; [*1266.0020.0002.1F460] # HIGH-HEELED SHOE
-1F461 ; [*1267.0020.0002.1F461] # WOMANS SANDAL
-1F462 ; [*1268.0020.0002.1F462] # WOMANS BOOTS
-1F463 ; [*1269.0020.0002.1F463] # FOOTPRINTS
-1F464 ; [*126A.0020.0002.1F464] # BUST IN SILHOUETTE
-1F465 ; [*126B.0020.0002.1F465] # BUSTS IN SILHOUETTE
-1F466 ; [*126C.0020.0002.1F466] # BOY
-1F467 ; [*126D.0020.0002.1F467] # GIRL
-1F468 ; [*126E.0020.0002.1F468] # MAN
-1F469 ; [*126F.0020.0002.1F469] # WOMAN
-1F46A ; [*1270.0020.0002.1F46A] # FAMILY
-1F46B ; [*1271.0020.0002.1F46B] # MAN AND WOMAN HOLDING HANDS
-1F46C ; [*1272.0020.0002.1F46C] # TWO MEN HOLDING HANDS
-1F46D ; [*1273.0020.0002.1F46D] # TWO WOMEN HOLDING HANDS
-1F46E ; [*1274.0020.0002.1F46E] # POLICE OFFICER
-1F46F ; [*1275.0020.0002.1F46F] # WOMAN WITH BUNNY EARS
-1F470 ; [*1276.0020.0002.1F470] # BRIDE WITH VEIL
-1F471 ; [*1277.0020.0002.1F471] # PERSON WITH BLOND HAIR
-1F472 ; [*1278.0020.0002.1F472] # MAN WITH GUA PI MAO
-1F473 ; [*1279.0020.0002.1F473] # MAN WITH TURBAN
-1F474 ; [*127A.0020.0002.1F474] # OLDER MAN
-1F475 ; [*127B.0020.0002.1F475] # OLDER WOMAN
-1F476 ; [*127C.0020.0002.1F476] # BABY
-1F477 ; [*127D.0020.0002.1F477] # CONSTRUCTION WORKER
-1F478 ; [*127E.0020.0002.1F478] # PRINCESS
-1F479 ; [*127F.0020.0002.1F479] # JAPANESE OGRE
-1F47A ; [*1280.0020.0002.1F47A] # JAPANESE GOBLIN
-1F47B ; [*1281.0020.0002.1F47B] # GHOST
-1F47C ; [*1282.0020.0002.1F47C] # BABY ANGEL
-1F47D ; [*1283.0020.0002.1F47D] # EXTRATERRESTRIAL ALIEN
-1F47E ; [*1284.0020.0002.1F47E] # ALIEN MONSTER
-1F47F ; [*1285.0020.0002.1F47F] # IMP
-1F480 ; [*1286.0020.0002.1F480] # SKULL
-1F481 ; [*1287.0020.0002.1F481] # INFORMATION DESK PERSON
-1F482 ; [*1288.0020.0002.1F482] # GUARDSMAN
-1F483 ; [*1289.0020.0002.1F483] # DANCER
-1F484 ; [*128A.0020.0002.1F484] # LIPSTICK
-1F485 ; [*128B.0020.0002.1F485] # NAIL POLISH
-1F486 ; [*128C.0020.0002.1F486] # FACE MASSAGE
-1F487 ; [*128D.0020.0002.1F487] # HAIRCUT
-1F488 ; [*128E.0020.0002.1F488] # BARBER POLE
-1F489 ; [*128F.0020.0002.1F489] # SYRINGE
-1F48A ; [*1290.0020.0002.1F48A] # PILL
-1F48B ; [*1291.0020.0002.1F48B] # KISS MARK
-1F48C ; [*1292.0020.0002.1F48C] # LOVE LETTER
-1F48D ; [*1293.0020.0002.1F48D] # RING
-1F48E ; [*1294.0020.0002.1F48E] # GEM STONE
-1F48F ; [*1295.0020.0002.1F48F] # KISS
-1F490 ; [*1296.0020.0002.1F490] # BOUQUET
-1F491 ; [*1297.0020.0002.1F491] # COUPLE WITH HEART
-1F492 ; [*1298.0020.0002.1F492] # WEDDING
-1F493 ; [*1299.0020.0002.1F493] # BEATING HEART
-1F494 ; [*129A.0020.0002.1F494] # BROKEN HEART
-1F495 ; [*129B.0020.0002.1F495] # TWO HEARTS
-1F496 ; [*129C.0020.0002.1F496] # SPARKLING HEART
-1F497 ; [*129D.0020.0002.1F497] # GROWING HEART
-1F498 ; [*129E.0020.0002.1F498] # HEART WITH ARROW
-1F499 ; [*129F.0020.0002.1F499] # BLUE HEART
-1F49A ; [*12A0.0020.0002.1F49A] # GREEN HEART
-1F49B ; [*12A1.0020.0002.1F49B] # YELLOW HEART
-1F49C ; [*12A2.0020.0002.1F49C] # PURPLE HEART
-1F49D ; [*12A3.0020.0002.1F49D] # HEART WITH RIBBON
-1F49E ; [*12A4.0020.0002.1F49E] # REVOLVING HEARTS
-1F49F ; [*12A5.0020.0002.1F49F] # HEART DECORATION
-1F4A0 ; [*12A6.0020.0002.1F4A0] # DIAMOND SHAPE WITH A DOT INSIDE
-1F4A1 ; [*12A7.0020.0002.1F4A1] # ELECTRIC LIGHT BULB
-1F4A2 ; [*12A8.0020.0002.1F4A2] # ANGER SYMBOL
-1F4A3 ; [*12A9.0020.0002.1F4A3] # BOMB
-1F4A4 ; [*12AA.0020.0002.1F4A4] # SLEEPING SYMBOL
-1F4A5 ; [*12AB.0020.0002.1F4A5] # COLLISION SYMBOL
-1F4A6 ; [*12AC.0020.0002.1F4A6] # SPLASHING SWEAT SYMBOL
-1F4A7 ; [*12AD.0020.0002.1F4A7] # DROPLET
-1F4A8 ; [*12AE.0020.0002.1F4A8] # DASH SYMBOL
-1F4A9 ; [*12AF.0020.0002.1F4A9] # PILE OF POO
-1F4AA ; [*12B0.0020.0002.1F4AA] # FLEXED BICEPS
-1F4AB ; [*12B1.0020.0002.1F4AB] # DIZZY SYMBOL
-1F4AC ; [*12B2.0020.0002.1F4AC] # SPEECH BALLOON
-1F4AD ; [*12B3.0020.0002.1F4AD] # THOUGHT BALLOON
-1F4AE ; [*12B4.0020.0002.1F4AE] # WHITE FLOWER
-1F4AF ; [*12B5.0020.0002.1F4AF] # HUNDRED POINTS SYMBOL
-1F4B0 ; [*12B6.0020.0002.1F4B0] # MONEY BAG
-1F4B1 ; [*12B7.0020.0002.1F4B1] # CURRENCY EXCHANGE
-1F4B2 ; [*12B8.0020.0002.1F4B2] # HEAVY DOLLAR SIGN
-1F4B3 ; [*12B9.0020.0002.1F4B3] # CREDIT CARD
-1F4B4 ; [*12BA.0020.0002.1F4B4] # BANKNOTE WITH YEN SIGN
-1F4B5 ; [*12BB.0020.0002.1F4B5] # BANKNOTE WITH DOLLAR SIGN
-1F4B6 ; [*12BC.0020.0002.1F4B6] # BANKNOTE WITH EURO SIGN
-1F4B7 ; [*12BD.0020.0002.1F4B7] # BANKNOTE WITH POUND SIGN
-1F4B8 ; [*12BE.0020.0002.1F4B8] # MONEY WITH WINGS
-1F4B9 ; [*12BF.0020.0002.1F4B9] # CHART WITH UPWARDS TREND AND YEN SIGN
-1F4BA ; [*12C0.0020.0002.1F4BA] # SEAT
-1F4BB ; [*12C1.0020.0002.1F4BB] # PERSONAL COMPUTER
-1F4BC ; [*12C2.0020.0002.1F4BC] # BRIEFCASE
-1F4BD ; [*12C3.0020.0002.1F4BD] # MINIDISC
-1F4BE ; [*12C4.0020.0002.1F4BE] # FLOPPY DISK
-1F4BF ; [*12C5.0020.0002.1F4BF] # OPTICAL DISC
-1F4C0 ; [*12C6.0020.0002.1F4C0] # DVD
-1F4C1 ; [*12C7.0020.0002.1F4C1] # FILE FOLDER
-1F4C2 ; [*12C8.0020.0002.1F4C2] # OPEN FILE FOLDER
-1F4C3 ; [*12C9.0020.0002.1F4C3] # PAGE WITH CURL
-1F4C4 ; [*12CA.0020.0002.1F4C4] # PAGE FACING UP
-1F4C5 ; [*12CB.0020.0002.1F4C5] # CALENDAR
-1F4C6 ; [*12CC.0020.0002.1F4C6] # TEAR-OFF CALENDAR
-1F4C7 ; [*12CD.0020.0002.1F4C7] # CARD INDEX
-1F4C8 ; [*12CE.0020.0002.1F4C8] # CHART WITH UPWARDS TREND
-1F4C9 ; [*12CF.0020.0002.1F4C9] # CHART WITH DOWNWARDS TREND
-1F4CA ; [*12D0.0020.0002.1F4CA] # BAR CHART
-1F4CB ; [*12D1.0020.0002.1F4CB] # CLIPBOARD
-1F4CC ; [*12D2.0020.0002.1F4CC] # PUSHPIN
-1F4CD ; [*12D3.0020.0002.1F4CD] # ROUND PUSHPIN
-1F4CE ; [*12D4.0020.0002.1F4CE] # PAPERCLIP
-1F4CF ; [*12D5.0020.0002.1F4CF] # STRAIGHT RULER
-1F4D0 ; [*12D6.0020.0002.1F4D0] # TRIANGULAR RULER
-1F4D1 ; [*12D7.0020.0002.1F4D1] # BOOKMARK TABS
-1F4D2 ; [*12D8.0020.0002.1F4D2] # LEDGER
-1F4D3 ; [*12D9.0020.0002.1F4D3] # NOTEBOOK
-1F4D4 ; [*12DA.0020.0002.1F4D4] # NOTEBOOK WITH DECORATIVE COVER
-1F4D5 ; [*12DB.0020.0002.1F4D5] # CLOSED BOOK
-1F4D6 ; [*12DC.0020.0002.1F4D6] # OPEN BOOK
-1F4D7 ; [*12DD.0020.0002.1F4D7] # GREEN BOOK
-1F4D8 ; [*12DE.0020.0002.1F4D8] # BLUE BOOK
-1F4D9 ; [*12DF.0020.0002.1F4D9] # ORANGE BOOK
-1F4DA ; [*12E0.0020.0002.1F4DA] # BOOKS
-1F4DB ; [*12E1.0020.0002.1F4DB] # NAME BADGE
-1F4DC ; [*12E2.0020.0002.1F4DC] # SCROLL
-1F4DD ; [*12E3.0020.0002.1F4DD] # MEMO
-1F4DE ; [*12E4.0020.0002.1F4DE] # TELEPHONE RECEIVER
-1F4DF ; [*12E5.0020.0002.1F4DF] # PAGER
-1F4E0 ; [*12E6.0020.0002.1F4E0] # FAX MACHINE
-1F4E1 ; [*12E7.0020.0002.1F4E1] # SATELLITE ANTENNA
-1F4E2 ; [*12E8.0020.0002.1F4E2] # PUBLIC ADDRESS LOUDSPEAKER
-1F4E3 ; [*12E9.0020.0002.1F4E3] # CHEERING MEGAPHONE
-1F4E4 ; [*12EA.0020.0002.1F4E4] # OUTBOX TRAY
-1F4E5 ; [*12EB.0020.0002.1F4E5] # INBOX TRAY
-1F4E6 ; [*12EC.0020.0002.1F4E6] # PACKAGE
-1F4E7 ; [*12ED.0020.0002.1F4E7] # E-MAIL SYMBOL
-1F4E8 ; [*12EE.0020.0002.1F4E8] # INCOMING ENVELOPE
-1F4E9 ; [*12EF.0020.0002.1F4E9] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
-1F4EA ; [*12F0.0020.0002.1F4EA] # CLOSED MAILBOX WITH LOWERED FLAG
-1F4EB ; [*12F1.0020.0002.1F4EB] # CLOSED MAILBOX WITH RAISED FLAG
-1F4EC ; [*12F2.0020.0002.1F4EC] # OPEN MAILBOX WITH RAISED FLAG
-1F4ED ; [*12F3.0020.0002.1F4ED] # OPEN MAILBOX WITH LOWERED FLAG
-1F4EE ; [*12F4.0020.0002.1F4EE] # POSTBOX
-1F4EF ; [*12F5.0020.0002.1F4EF] # POSTAL HORN
-1F4F0 ; [*12F6.0020.0002.1F4F0] # NEWSPAPER
-1F4F1 ; [*12F7.0020.0002.1F4F1] # MOBILE PHONE
-1F4F2 ; [*12F8.0020.0002.1F4F2] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
-1F4F3 ; [*12F9.0020.0002.1F4F3] # VIBRATION MODE
-1F4F4 ; [*12FA.0020.0002.1F4F4] # MOBILE PHONE OFF
-1F4F5 ; [*12FB.0020.0002.1F4F5] # NO MOBILE PHONES
-1F4F6 ; [*12FC.0020.0002.1F4F6] # ANTENNA WITH BARS
-1F4F7 ; [*12FD.0020.0002.1F4F7] # CAMERA
-1F4F9 ; [*12FE.0020.0002.1F4F9] # VIDEO CAMERA
-1F4FA ; [*12FF.0020.0002.1F4FA] # TELEVISION
-1F4FB ; [*1300.0020.0002.1F4FB] # RADIO
-1F4FC ; [*1301.0020.0002.1F4FC] # VIDEOCASSETTE
-1F500 ; [*1302.0020.0002.1F500] # TWISTED RIGHTWARDS ARROWS
-1F501 ; [*1303.0020.0002.1F501] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
-1F502 ; [*1304.0020.0002.1F502] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
-1F503 ; [*1305.0020.0002.1F503] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-1F504 ; [*1306.0020.0002.1F504] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
-1F505 ; [*1307.0020.0002.1F505] # LOW BRIGHTNESS SYMBOL
-1F506 ; [*1308.0020.0002.1F506] # HIGH BRIGHTNESS SYMBOL
-1F507 ; [*1309.0020.0002.1F507] # SPEAKER WITH CANCELLATION STROKE
-1F508 ; [*130A.0020.0002.1F508] # SPEAKER
-1F509 ; [*130B.0020.0002.1F509] # SPEAKER WITH ONE SOUND WAVE
-1F50A ; [*130C.0020.0002.1F50A] # SPEAKER WITH THREE SOUND WAVES
-1F50B ; [*130D.0020.0002.1F50B] # BATTERY
-1F50C ; [*130E.0020.0002.1F50C] # ELECTRIC PLUG
-1F50D ; [*130F.0020.0002.1F50D] # LEFT-POINTING MAGNIFYING GLASS
-1F50E ; [*1310.0020.0002.1F50E] # RIGHT-POINTING MAGNIFYING GLASS
-1F50F ; [*1311.0020.0002.1F50F] # LOCK WITH INK PEN
-1F510 ; [*1312.0020.0002.1F510] # CLOSED LOCK WITH KEY
-1F511 ; [*1313.0020.0002.1F511] # KEY
-1F512 ; [*1314.0020.0002.1F512] # LOCK
-1F513 ; [*1315.0020.0002.1F513] # OPEN LOCK
-1F514 ; [*1316.0020.0002.1F514] # BELL
-1F515 ; [*1317.0020.0002.1F515] # BELL WITH CANCELLATION STROKE
-1F516 ; [*1318.0020.0002.1F516] # BOOKMARK
-1F517 ; [*1319.0020.0002.1F517] # LINK SYMBOL
-1F518 ; [*131A.0020.0002.1F518] # RADIO BUTTON
-1F519 ; [*131B.0020.0002.1F519] # BACK WITH LEFTWARDS ARROW ABOVE
-1F51A ; [*131C.0020.0002.1F51A] # END WITH LEFTWARDS ARROW ABOVE
-1F51B ; [*131D.0020.0002.1F51B] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
-1F51C ; [*131E.0020.0002.1F51C] # SOON WITH RIGHTWARDS ARROW ABOVE
-1F51D ; [*131F.0020.0002.1F51D] # TOP WITH UPWARDS ARROW ABOVE
-1F51E ; [*1320.0020.0002.1F51E] # NO ONE UNDER EIGHTEEN SYMBOL
-1F51F ; [*1321.0020.0002.1F51F] # KEYCAP TEN
-1F520 ; [*1322.0020.0002.1F520] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
-1F521 ; [*1323.0020.0002.1F521] # INPUT SYMBOL FOR LATIN SMALL LETTERS
-1F522 ; [*1324.0020.0002.1F522] # INPUT SYMBOL FOR NUMBERS
-1F523 ; [*1325.0020.0002.1F523] # INPUT SYMBOL FOR SYMBOLS
-1F524 ; [*1326.0020.0002.1F524] # INPUT SYMBOL FOR LATIN LETTERS
-1F525 ; [*1327.0020.0002.1F525] # FIRE
-1F526 ; [*1328.0020.0002.1F526] # ELECTRIC TORCH
-1F527 ; [*1329.0020.0002.1F527] # WRENCH
-1F528 ; [*132A.0020.0002.1F528] # HAMMER
-1F529 ; [*132B.0020.0002.1F529] # NUT AND BOLT
-1F52A ; [*132C.0020.0002.1F52A] # HOCHO
-1F52B ; [*132D.0020.0002.1F52B] # PISTOL
-1F52C ; [*132E.0020.0002.1F52C] # MICROSCOPE
-1F52D ; [*132F.0020.0002.1F52D] # TELESCOPE
-1F52E ; [*1330.0020.0002.1F52E] # CRYSTAL BALL
-1F52F ; [*1331.0020.0002.1F52F] # SIX POINTED STAR WITH MIDDLE DOT
-1F530 ; [*1332.0020.0002.1F530] # JAPANESE SYMBOL FOR BEGINNER
-1F531 ; [*1333.0020.0002.1F531] # TRIDENT EMBLEM
-1F532 ; [*1334.0020.0002.1F532] # BLACK SQUARE BUTTON
-1F533 ; [*1335.0020.0002.1F533] # WHITE SQUARE BUTTON
-1F534 ; [*1336.0020.0002.1F534] # LARGE RED CIRCLE
-1F535 ; [*1337.0020.0002.1F535] # LARGE BLUE CIRCLE
-1F536 ; [*1338.0020.0002.1F536] # LARGE ORANGE DIAMOND
-1F537 ; [*1339.0020.0002.1F537] # LARGE BLUE DIAMOND
-1F538 ; [*133A.0020.0002.1F538] # SMALL ORANGE DIAMOND
-1F539 ; [*133B.0020.0002.1F539] # SMALL BLUE DIAMOND
-1F53A ; [*133C.0020.0002.1F53A] # UP-POINTING RED TRIANGLE
-1F53B ; [*133D.0020.0002.1F53B] # DOWN-POINTING RED TRIANGLE
-1F53C ; [*133E.0020.0002.1F53C] # UP-POINTING SMALL RED TRIANGLE
-1F53D ; [*133F.0020.0002.1F53D] # DOWN-POINTING SMALL RED TRIANGLE
-1F550 ; [*1340.0020.0002.1F550] # CLOCK FACE ONE OCLOCK
-1F551 ; [*1341.0020.0002.1F551] # CLOCK FACE TWO OCLOCK
-1F552 ; [*1342.0020.0002.1F552] # CLOCK FACE THREE OCLOCK
-1F553 ; [*1343.0020.0002.1F553] # CLOCK FACE FOUR OCLOCK
-1F554 ; [*1344.0020.0002.1F554] # CLOCK FACE FIVE OCLOCK
-1F555 ; [*1345.0020.0002.1F555] # CLOCK FACE SIX OCLOCK
-1F556 ; [*1346.0020.0002.1F556] # CLOCK FACE SEVEN OCLOCK
-1F557 ; [*1347.0020.0002.1F557] # CLOCK FACE EIGHT OCLOCK
-1F558 ; [*1348.0020.0002.1F558] # CLOCK FACE NINE OCLOCK
-1F559 ; [*1349.0020.0002.1F559] # CLOCK FACE TEN OCLOCK
-1F55A ; [*134A.0020.0002.1F55A] # CLOCK FACE ELEVEN OCLOCK
-1F55B ; [*134B.0020.0002.1F55B] # CLOCK FACE TWELVE OCLOCK
-1F55C ; [*134C.0020.0002.1F55C] # CLOCK FACE ONE-THIRTY
-1F55D ; [*134D.0020.0002.1F55D] # CLOCK FACE TWO-THIRTY
-1F55E ; [*134E.0020.0002.1F55E] # CLOCK FACE THREE-THIRTY
-1F55F ; [*134F.0020.0002.1F55F] # CLOCK FACE FOUR-THIRTY
-1F560 ; [*1350.0020.0002.1F560] # CLOCK FACE FIVE-THIRTY
-1F561 ; [*1351.0020.0002.1F561] # CLOCK FACE SIX-THIRTY
-1F562 ; [*1352.0020.0002.1F562] # CLOCK FACE SEVEN-THIRTY
-1F563 ; [*1353.0020.0002.1F563] # CLOCK FACE EIGHT-THIRTY
-1F564 ; [*1354.0020.0002.1F564] # CLOCK FACE NINE-THIRTY
-1F565 ; [*1355.0020.0002.1F565] # CLOCK FACE TEN-THIRTY
-1F566 ; [*1356.0020.0002.1F566] # CLOCK FACE ELEVEN-THIRTY
-1F567 ; [*1357.0020.0002.1F567] # CLOCK FACE TWELVE-THIRTY
-1F5FB ; [*1358.0020.0002.1F5FB] # MOUNT FUJI
-1F5FC ; [*1359.0020.0002.1F5FC] # TOKYO TOWER
-1F5FD ; [*135A.0020.0002.1F5FD] # STATUE OF LIBERTY
-1F5FE ; [*135B.0020.0002.1F5FE] # SILHOUETTE OF JAPAN
-1F5FF ; [*135C.0020.0002.1F5FF] # MOYAI
-1F601 ; [*135D.0020.0002.1F601] # GRINNING FACE WITH SMILING EYES
-1F602 ; [*135E.0020.0002.1F602] # FACE WITH TEARS OF JOY
-1F603 ; [*135F.0020.0002.1F603] # SMILING FACE WITH OPEN MOUTH
-1F604 ; [*1360.0020.0002.1F604] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
-1F605 ; [*1361.0020.0002.1F605] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
-1F606 ; [*1362.0020.0002.1F606] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
-1F607 ; [*1363.0020.0002.1F607] # SMILING FACE WITH HALO
-1F608 ; [*1364.0020.0002.1F608] # SMILING FACE WITH HORNS
-1F609 ; [*1365.0020.0002.1F609] # WINKING FACE
-1F60A ; [*1366.0020.0002.1F60A] # SMILING FACE WITH SMILING EYES
-1F60B ; [*1367.0020.0002.1F60B] # FACE SAVOURING DELICIOUS FOOD
-1F60C ; [*1368.0020.0002.1F60C] # RELIEVED FACE
-1F60D ; [*1369.0020.0002.1F60D] # SMILING FACE WITH HEART-SHAPED EYES
-1F60E ; [*136A.0020.0002.1F60E] # SMILING FACE WITH SUNGLASSES
-1F60F ; [*136B.0020.0002.1F60F] # SMIRKING FACE
-1F610 ; [*136C.0020.0002.1F610] # NEUTRAL FACE
-1F612 ; [*136D.0020.0002.1F612] # UNAMUSED FACE
-1F613 ; [*136E.0020.0002.1F613] # FACE WITH COLD SWEAT
-1F614 ; [*136F.0020.0002.1F614] # PENSIVE FACE
-1F616 ; [*1370.0020.0002.1F616] # CONFOUNDED FACE
-1F618 ; [*1371.0020.0002.1F618] # FACE THROWING A KISS
-1F61A ; [*1372.0020.0002.1F61A] # KISSING FACE WITH CLOSED EYES
-1F61C ; [*1373.0020.0002.1F61C] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
-1F61D ; [*1374.0020.0002.1F61D] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
-1F61E ; [*1375.0020.0002.1F61E] # DISAPPOINTED FACE
-1F620 ; [*1376.0020.0002.1F620] # ANGRY FACE
-1F621 ; [*1377.0020.0002.1F621] # POUTING FACE
-1F622 ; [*1378.0020.0002.1F622] # CRYING FACE
-1F623 ; [*1379.0020.0002.1F623] # PERSEVERING FACE
-1F624 ; [*137A.0020.0002.1F624] # FACE WITH LOOK OF TRIUMPH
-1F625 ; [*137B.0020.0002.1F625] # DISAPPOINTED BUT RELIEVED FACE
-1F628 ; [*137C.0020.0002.1F628] # FEARFUL FACE
-1F629 ; [*137D.0020.0002.1F629] # WEARY FACE
-1F62A ; [*137E.0020.0002.1F62A] # SLEEPY FACE
-1F62B ; [*137F.0020.0002.1F62B] # TIRED FACE
-1F62D ; [*1380.0020.0002.1F62D] # LOUDLY CRYING FACE
-1F630 ; [*1381.0020.0002.1F630] # FACE WITH OPEN MOUTH AND COLD SWEAT
-1F631 ; [*1382.0020.0002.1F631] # FACE SCREAMING IN FEAR
-1F632 ; [*1383.0020.0002.1F632] # ASTONISHED FACE
-1F633 ; [*1384.0020.0002.1F633] # FLUSHED FACE
-1F635 ; [*1385.0020.0002.1F635] # DIZZY FACE
-1F636 ; [*1386.0020.0002.1F636] # FACE WITHOUT MOUTH
-1F637 ; [*1387.0020.0002.1F637] # FACE WITH MEDICAL MASK
-1F638 ; [*1388.0020.0002.1F638] # GRINNING CAT FACE WITH SMILING EYES
-1F639 ; [*1389.0020.0002.1F639] # CAT FACE WITH TEARS OF JOY
-1F63A ; [*138A.0020.0002.1F63A] # SMILING CAT FACE WITH OPEN MOUTH
-1F63B ; [*138B.0020.0002.1F63B] # SMILING CAT FACE WITH HEART-SHAPED EYES
-1F63C ; [*138C.0020.0002.1F63C] # CAT FACE WITH WRY SMILE
-1F63D ; [*138D.0020.0002.1F63D] # KISSING CAT FACE WITH CLOSED EYES
-1F63E ; [*138E.0020.0002.1F63E] # POUTING CAT FACE
-1F63F ; [*138F.0020.0002.1F63F] # CRYING CAT FACE
-1F640 ; [*1390.0020.0002.1F640] # WEARY CAT FACE
-1F645 ; [*1391.0020.0002.1F645] # FACE WITH NO GOOD GESTURE
-1F646 ; [*1392.0020.0002.1F646] # FACE WITH OK GESTURE
-1F647 ; [*1393.0020.0002.1F647] # PERSON BOWING DEEPLY
-1F648 ; [*1394.0020.0002.1F648] # SEE-NO-EVIL MONKEY
-1F649 ; [*1395.0020.0002.1F649] # HEAR-NO-EVIL MONKEY
-1F64A ; [*1396.0020.0002.1F64A] # SPEAK-NO-EVIL MONKEY
-1F64B ; [*1397.0020.0002.1F64B] # HAPPY PERSON RAISING ONE HAND
-1F64C ; [*1398.0020.0002.1F64C] # PERSON RAISING BOTH HANDS IN CELEBRATION
-1F64D ; [*1399.0020.0002.1F64D] # PERSON FROWNING
-1F64E ; [*139A.0020.0002.1F64E] # PERSON WITH POUTING FACE
-1F64F ; [*139B.0020.0002.1F64F] # PERSON WITH FOLDED HANDS
-1F680 ; [*139C.0020.0002.1F680] # ROCKET
-1F681 ; [*139D.0020.0002.1F681] # HELICOPTER
-1F682 ; [*139E.0020.0002.1F682] # STEAM LOCOMOTIVE
-1F683 ; [*139F.0020.0002.1F683] # RAILWAY CAR
-1F684 ; [*13A0.0020.0002.1F684] # HIGH-SPEED TRAIN
-1F685 ; [*13A1.0020.0002.1F685] # HIGH-SPEED TRAIN WITH BULLET NOSE
-1F686 ; [*13A2.0020.0002.1F686] # TRAIN
-1F687 ; [*13A3.0020.0002.1F687] # METRO
-1F688 ; [*13A4.0020.0002.1F688] # LIGHT RAIL
-1F689 ; [*13A5.0020.0002.1F689] # STATION
-1F68A ; [*13A6.0020.0002.1F68A] # TRAM
-1F68B ; [*13A7.0020.0002.1F68B] # TRAM CAR
-1F68C ; [*13A8.0020.0002.1F68C] # BUS
-1F68D ; [*13A9.0020.0002.1F68D] # ONCOMING BUS
-1F68E ; [*13AA.0020.0002.1F68E] # TROLLEYBUS
-1F68F ; [*13AB.0020.0002.1F68F] # BUS STOP
-1F690 ; [*13AC.0020.0002.1F690] # MINIBUS
-1F691 ; [*13AD.0020.0002.1F691] # AMBULANCE
-1F692 ; [*13AE.0020.0002.1F692] # FIRE ENGINE
-1F693 ; [*13AF.0020.0002.1F693] # POLICE CAR
-1F694 ; [*13B0.0020.0002.1F694] # ONCOMING POLICE CAR
-1F695 ; [*13B1.0020.0002.1F695] # TAXI
-1F696 ; [*13B2.0020.0002.1F696] # ONCOMING TAXI
-1F697 ; [*13B3.0020.0002.1F697] # AUTOMOBILE
-1F698 ; [*13B4.0020.0002.1F698] # ONCOMING AUTOMOBILE
-1F699 ; [*13B5.0020.0002.1F699] # RECREATIONAL VEHICLE
-1F69A ; [*13B6.0020.0002.1F69A] # DELIVERY TRUCK
-1F69B ; [*13B7.0020.0002.1F69B] # ARTICULATED LORRY
-1F69C ; [*13B8.0020.0002.1F69C] # TRACTOR
-1F69D ; [*13B9.0020.0002.1F69D] # MONORAIL
-1F69E ; [*13BA.0020.0002.1F69E] # MOUNTAIN RAILWAY
-1F69F ; [*13BB.0020.0002.1F69F] # SUSPENSION RAILWAY
-1F6A0 ; [*13BC.0020.0002.1F6A0] # MOUNTAIN CABLEWAY
-1F6A1 ; [*13BD.0020.0002.1F6A1] # AERIAL TRAMWAY
-1F6A2 ; [*13BE.0020.0002.1F6A2] # SHIP
-1F6A3 ; [*13BF.0020.0002.1F6A3] # ROWBOAT
-1F6A4 ; [*13C0.0020.0002.1F6A4] # SPEEDBOAT
-1F6A5 ; [*13C1.0020.0002.1F6A5] # HORIZONTAL TRAFFIC LIGHT
-1F6A6 ; [*13C2.0020.0002.1F6A6] # VERTICAL TRAFFIC LIGHT
-1F6A7 ; [*13C3.0020.0002.1F6A7] # CONSTRUCTION SIGN
-1F6A8 ; [*13C4.0020.0002.1F6A8] # POLICE CARS REVOLVING LIGHT
-1F6A9 ; [*13C5.0020.0002.1F6A9] # TRIANGULAR FLAG ON POST
-1F6AA ; [*13C6.0020.0002.1F6AA] # DOOR
-1F6AB ; [*13C7.0020.0002.1F6AB] # NO ENTRY SIGN
-1F6AC ; [*13C8.0020.0002.1F6AC] # SMOKING SYMBOL
-1F6AD ; [*13C9.0020.0002.1F6AD] # NO SMOKING SYMBOL
-1F6AE ; [*13CA.0020.0002.1F6AE] # PUT LITTER IN ITS PLACE SYMBOL
-1F6AF ; [*13CB.0020.0002.1F6AF] # DO NOT LITTER SYMBOL
-1F6B0 ; [*13CC.0020.0002.1F6B0] # POTABLE WATER SYMBOL
-1F6B1 ; [*13CD.0020.0002.1F6B1] # NON-POTABLE WATER SYMBOL
-1F6B2 ; [*13CE.0020.0002.1F6B2] # BICYCLE
-1F6B3 ; [*13CF.0020.0002.1F6B3] # NO BICYCLES
-1F6B4 ; [*13D0.0020.0002.1F6B4] # BICYCLIST
-1F6B5 ; [*13D1.0020.0002.1F6B5] # MOUNTAIN BICYCLIST
-1F6B6 ; [*13D2.0020.0002.1F6B6] # PEDESTRIAN
-1F6B7 ; [*13D3.0020.0002.1F6B7] # NO PEDESTRIANS
-1F6B8 ; [*13D4.0020.0002.1F6B8] # CHILDREN CROSSING
-1F6B9 ; [*13D5.0020.0002.1F6B9] # MENS SYMBOL
-1F6BA ; [*13D6.0020.0002.1F6BA] # WOMENS SYMBOL
-1F6BB ; [*13D7.0020.0002.1F6BB] # RESTROOM
-1F6BC ; [*13D8.0020.0002.1F6BC] # BABY SYMBOL
-1F6BD ; [*13D9.0020.0002.1F6BD] # TOILET
-1F6BE ; [*13DA.0020.0002.1F6BE] # WATER CLOSET
-1F6BF ; [*13DB.0020.0002.1F6BF] # SHOWER
-1F6C0 ; [*13DC.0020.0002.1F6C0] # BATH
-1F6C1 ; [*13DD.0020.0002.1F6C1] # BATHTUB
-1F6C2 ; [*13DE.0020.0002.1F6C2] # PASSPORT CONTROL
-1F6C3 ; [*13DF.0020.0002.1F6C3] # CUSTOMS
-1F6C4 ; [*13E0.0020.0002.1F6C4] # BAGGAGE CLAIM
-1F6C5 ; [*13E1.0020.0002.1F6C5] # LEFT LUGGAGE
-1F700 ; [*13E2.0020.0002.1F700] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
-1F701 ; [*13E3.0020.0002.1F701] # ALCHEMICAL SYMBOL FOR AIR
-1F702 ; [*13E4.0020.0002.1F702] # ALCHEMICAL SYMBOL FOR FIRE
-1F703 ; [*13E5.0020.0002.1F703] # ALCHEMICAL SYMBOL FOR EARTH
-1F704 ; [*13E6.0020.0002.1F704] # ALCHEMICAL SYMBOL FOR WATER
-1F705 ; [*13E7.0020.0002.1F705] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
-1F706 ; [*13E8.0020.0002.1F706] # ALCHEMICAL SYMBOL FOR AQUA REGIA
-1F707 ; [*13E9.0020.0002.1F707] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
-1F708 ; [*13EA.0020.0002.1F708] # ALCHEMICAL SYMBOL FOR AQUA VITAE
-1F709 ; [*13EB.0020.0002.1F709] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
-1F70A ; [*13EC.0020.0002.1F70A] # ALCHEMICAL SYMBOL FOR VINEGAR
-1F70B ; [*13ED.0020.0002.1F70B] # ALCHEMICAL SYMBOL FOR VINEGAR-2
-1F70C ; [*13EE.0020.0002.1F70C] # ALCHEMICAL SYMBOL FOR VINEGAR-3
-1F70D ; [*13EF.0020.0002.1F70D] # ALCHEMICAL SYMBOL FOR SULFUR
-1F70E ; [*13F0.0020.0002.1F70E] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
-1F70F ; [*13F1.0020.0002.1F70F] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
-1F710 ; [*13F2.0020.0002.1F710] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
-1F711 ; [*13F3.0020.0002.1F711] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
-1F712 ; [*13F4.0020.0002.1F712] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
-1F713 ; [*13F5.0020.0002.1F713] # ALCHEMICAL SYMBOL FOR CINNABAR
-1F714 ; [*13F6.0020.0002.1F714] # ALCHEMICAL SYMBOL FOR SALT
-1F715 ; [*13F7.0020.0002.1F715] # ALCHEMICAL SYMBOL FOR NITRE
-1F716 ; [*13F8.0020.0002.1F716] # ALCHEMICAL SYMBOL FOR VITRIOL
-1F717 ; [*13F9.0020.0002.1F717] # ALCHEMICAL SYMBOL FOR VITRIOL-2
-1F718 ; [*13FA.0020.0002.1F718] # ALCHEMICAL SYMBOL FOR ROCK SALT
-1F719 ; [*13FB.0020.0002.1F719] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
-1F71A ; [*13FC.0020.0002.1F71A] # ALCHEMICAL SYMBOL FOR GOLD
-1F71B ; [*13FD.0020.0002.1F71B] # ALCHEMICAL SYMBOL FOR SILVER
-1F71C ; [*13FE.0020.0002.1F71C] # ALCHEMICAL SYMBOL FOR IRON ORE
-1F71D ; [*13FF.0020.0002.1F71D] # ALCHEMICAL SYMBOL FOR IRON ORE-2
-1F71E ; [*1400.0020.0002.1F71E] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
-1F71F ; [*1401.0020.0002.1F71F] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
-1F720 ; [*1402.0020.0002.1F720] # ALCHEMICAL SYMBOL FOR COPPER ORE
-1F721 ; [*1403.0020.0002.1F721] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
-1F722 ; [*1404.0020.0002.1F722] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
-1F723 ; [*1405.0020.0002.1F723] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
-1F724 ; [*1406.0020.0002.1F724] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
-1F725 ; [*1407.0020.0002.1F725] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
-1F726 ; [*1408.0020.0002.1F726] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
-1F727 ; [*1409.0020.0002.1F727] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
-1F728 ; [*140A.0020.0002.1F728] # ALCHEMICAL SYMBOL FOR VERDIGRIS
-1F729 ; [*140B.0020.0002.1F729] # ALCHEMICAL SYMBOL FOR TIN ORE
-1F72A ; [*140C.0020.0002.1F72A] # ALCHEMICAL SYMBOL FOR LEAD ORE
-1F72B ; [*140D.0020.0002.1F72B] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
-1F72C ; [*140E.0020.0002.1F72C] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
-1F72D ; [*140F.0020.0002.1F72D] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
-1F72E ; [*1410.0020.0002.1F72E] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
-1F72F ; [*1411.0020.0002.1F72F] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
-1F730 ; [*1412.0020.0002.1F730] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
-1F731 ; [*1413.0020.0002.1F731] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
-1F732 ; [*1414.0020.0002.1F732] # ALCHEMICAL SYMBOL FOR REGULUS
-1F733 ; [*1415.0020.0002.1F733] # ALCHEMICAL SYMBOL FOR REGULUS-2
-1F734 ; [*1416.0020.0002.1F734] # ALCHEMICAL SYMBOL FOR REGULUS-3
-1F735 ; [*1417.0020.0002.1F735] # ALCHEMICAL SYMBOL FOR REGULUS-4
-1F736 ; [*1418.0020.0002.1F736] # ALCHEMICAL SYMBOL FOR ALKALI
-1F737 ; [*1419.0020.0002.1F737] # ALCHEMICAL SYMBOL FOR ALKALI-2
-1F738 ; [*141A.0020.0002.1F738] # ALCHEMICAL SYMBOL FOR MARCASITE
-1F739 ; [*141B.0020.0002.1F739] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
-1F73A ; [*141C.0020.0002.1F73A] # ALCHEMICAL SYMBOL FOR ARSENIC
-1F73B ; [*141D.0020.0002.1F73B] # ALCHEMICAL SYMBOL FOR REALGAR
-1F73C ; [*141E.0020.0002.1F73C] # ALCHEMICAL SYMBOL FOR REALGAR-2
-1F73D ; [*141F.0020.0002.1F73D] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
-1F73E ; [*1420.0020.0002.1F73E] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
-1F73F ; [*1421.0020.0002.1F73F] # ALCHEMICAL SYMBOL FOR TARTAR
-1F740 ; [*1422.0020.0002.1F740] # ALCHEMICAL SYMBOL FOR TARTAR-2
-1F741 ; [*1423.0020.0002.1F741] # ALCHEMICAL SYMBOL FOR QUICK LIME
-1F742 ; [*1424.0020.0002.1F742] # ALCHEMICAL SYMBOL FOR BORAX
-1F743 ; [*1425.0020.0002.1F743] # ALCHEMICAL SYMBOL FOR BORAX-2
-1F744 ; [*1426.0020.0002.1F744] # ALCHEMICAL SYMBOL FOR BORAX-3
-1F745 ; [*1427.0020.0002.1F745] # ALCHEMICAL SYMBOL FOR ALUM
-1F746 ; [*1428.0020.0002.1F746] # ALCHEMICAL SYMBOL FOR OIL
-1F747 ; [*1429.0020.0002.1F747] # ALCHEMICAL SYMBOL FOR SPIRIT
-1F748 ; [*142A.0020.0002.1F748] # ALCHEMICAL SYMBOL FOR TINCTURE
-1F749 ; [*142B.0020.0002.1F749] # ALCHEMICAL SYMBOL FOR GUM
-1F74A ; [*142C.0020.0002.1F74A] # ALCHEMICAL SYMBOL FOR WAX
-1F74B ; [*142D.0020.0002.1F74B] # ALCHEMICAL SYMBOL FOR POWDER
-1F74C ; [*142E.0020.0002.1F74C] # ALCHEMICAL SYMBOL FOR CALX
-1F74D ; [*142F.0020.0002.1F74D] # ALCHEMICAL SYMBOL FOR TUTTY
-1F74E ; [*1430.0020.0002.1F74E] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
-1F74F ; [*1431.0020.0002.1F74F] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
-1F750 ; [*1432.0020.0002.1F750] # ALCHEMICAL SYMBOL FOR CADUCEUS
-1F751 ; [*1433.0020.0002.1F751] # ALCHEMICAL SYMBOL FOR TRIDENT
-1F752 ; [*1434.0020.0002.1F752] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
-1F753 ; [*1435.0020.0002.1F753] # ALCHEMICAL SYMBOL FOR LODESTONE
-1F754 ; [*1436.0020.0002.1F754] # ALCHEMICAL SYMBOL FOR SOAP
-1F755 ; [*1437.0020.0002.1F755] # ALCHEMICAL SYMBOL FOR URINE
-1F756 ; [*1438.0020.0002.1F756] # ALCHEMICAL SYMBOL FOR HORSE DUNG
-1F757 ; [*1439.0020.0002.1F757] # ALCHEMICAL SYMBOL FOR ASHES
-1F758 ; [*143A.0020.0002.1F758] # ALCHEMICAL SYMBOL FOR POT ASHES
-1F759 ; [*143B.0020.0002.1F759] # ALCHEMICAL SYMBOL FOR BRICK
-1F75A ; [*143C.0020.0002.1F75A] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
-1F75B ; [*143D.0020.0002.1F75B] # ALCHEMICAL SYMBOL FOR AMALGAM
-1F75C ; [*143E.0020.0002.1F75C] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
-1F75D ; [*143F.0020.0002.1F75D] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
-1F75E ; [*1440.0020.0002.1F75E] # ALCHEMICAL SYMBOL FOR SUBLIMATION
-1F75F ; [*1441.0020.0002.1F75F] # ALCHEMICAL SYMBOL FOR PRECIPITATE
-1F760 ; [*1442.0020.0002.1F760] # ALCHEMICAL SYMBOL FOR DISTILL
-1F761 ; [*1443.0020.0002.1F761] # ALCHEMICAL SYMBOL FOR DISSOLVE
-1F762 ; [*1444.0020.0002.1F762] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
-1F763 ; [*1445.0020.0002.1F763] # ALCHEMICAL SYMBOL FOR PURIFY
-1F764 ; [*1446.0020.0002.1F764] # ALCHEMICAL SYMBOL FOR PUTREFACTION
-1F765 ; [*1447.0020.0002.1F765] # ALCHEMICAL SYMBOL FOR CRUCIBLE
-1F766 ; [*1448.0020.0002.1F766] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
-1F767 ; [*1449.0020.0002.1F767] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
-1F768 ; [*144A.0020.0002.1F768] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
-1F769 ; [*144B.0020.0002.1F769] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
-1F76A ; [*144C.0020.0002.1F76A] # ALCHEMICAL SYMBOL FOR ALEMBIC
-1F76B ; [*144D.0020.0002.1F76B] # ALCHEMICAL SYMBOL FOR BATH OF MARY
-1F76C ; [*144E.0020.0002.1F76C] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
-1F76D ; [*144F.0020.0002.1F76D] # ALCHEMICAL SYMBOL FOR RETORT
-1F76E ; [*1450.0020.0002.1F76E] # ALCHEMICAL SYMBOL FOR HOUR
-1F76F ; [*1451.0020.0002.1F76F] # ALCHEMICAL SYMBOL FOR NIGHT
-1F770 ; [*1452.0020.0002.1F770] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
-1F771 ; [*1453.0020.0002.1F771] # ALCHEMICAL SYMBOL FOR MONTH
-1F772 ; [*1454.0020.0002.1F772] # ALCHEMICAL SYMBOL FOR HALF DRAM
-1F773 ; [*1455.0020.0002.1F773] # ALCHEMICAL SYMBOL FOR HALF OUNCE
+1D245 ; [*10B6.0020.0002.1D245] # GREEK MUSICAL LEIMMA
+1D300 ; [*0DF1.0020.0002.1D300] # MONOGRAM FOR EARTH
+1D301 ; [*0DF2.0020.0002.1D301] # DIGRAM FOR HEAVENLY EARTH
+1D302 ; [*0DF3.0020.0002.1D302] # DIGRAM FOR HUMAN EARTH
+1D303 ; [*0DF4.0020.0002.1D303] # DIGRAM FOR EARTHLY HEAVEN
+1D304 ; [*0DF5.0020.0002.1D304] # DIGRAM FOR EARTHLY HUMAN
+1D305 ; [*0DF6.0020.0002.1D305] # DIGRAM FOR EARTH
+1D306 ; [*0DF7.0020.0002.1D306] # TETRAGRAM FOR CENTRE
+1D307 ; [*0DF8.0020.0002.1D307] # TETRAGRAM FOR FULL CIRCLE
+1D308 ; [*0DF9.0020.0002.1D308] # TETRAGRAM FOR MIRED
+1D309 ; [*0DFA.0020.0002.1D309] # TETRAGRAM FOR BARRIER
+1D30A ; [*0DFB.0020.0002.1D30A] # TETRAGRAM FOR KEEPING SMALL
+1D30B ; [*0DFC.0020.0002.1D30B] # TETRAGRAM FOR CONTRARIETY
+1D30C ; [*0DFD.0020.0002.1D30C] # TETRAGRAM FOR ASCENT
+1D30D ; [*0DFE.0020.0002.1D30D] # TETRAGRAM FOR OPPOSITION
+1D30E ; [*0DFF.0020.0002.1D30E] # TETRAGRAM FOR BRANCHING OUT
+1D30F ; [*0E00.0020.0002.1D30F] # TETRAGRAM FOR DEFECTIVENESS OR DISTORTION
+1D310 ; [*0E01.0020.0002.1D310] # TETRAGRAM FOR DIVERGENCE
+1D311 ; [*0E02.0020.0002.1D311] # TETRAGRAM FOR YOUTHFULNESS
+1D312 ; [*0E03.0020.0002.1D312] # TETRAGRAM FOR INCREASE
+1D313 ; [*0E04.0020.0002.1D313] # TETRAGRAM FOR PENETRATION
+1D314 ; [*0E05.0020.0002.1D314] # TETRAGRAM FOR REACH
+1D315 ; [*0E06.0020.0002.1D315] # TETRAGRAM FOR CONTACT
+1D316 ; [*0E07.0020.0002.1D316] # TETRAGRAM FOR HOLDING BACK
+1D317 ; [*0E08.0020.0002.1D317] # TETRAGRAM FOR WAITING
+1D318 ; [*0E09.0020.0002.1D318] # TETRAGRAM FOR FOLLOWING
+1D319 ; [*0E0A.0020.0002.1D319] # TETRAGRAM FOR ADVANCE
+1D31A ; [*0E0B.0020.0002.1D31A] # TETRAGRAM FOR RELEASE
+1D31B ; [*0E0C.0020.0002.1D31B] # TETRAGRAM FOR RESISTANCE
+1D31C ; [*0E0D.0020.0002.1D31C] # TETRAGRAM FOR EASE
+1D31D ; [*0E0E.0020.0002.1D31D] # TETRAGRAM FOR JOY
+1D31E ; [*0E0F.0020.0002.1D31E] # TETRAGRAM FOR CONTENTION
+1D31F ; [*0E10.0020.0002.1D31F] # TETRAGRAM FOR ENDEAVOUR
+1D320 ; [*0E11.0020.0002.1D320] # TETRAGRAM FOR DUTIES
+1D321 ; [*0E12.0020.0002.1D321] # TETRAGRAM FOR CHANGE
+1D322 ; [*0E13.0020.0002.1D322] # TETRAGRAM FOR DECISIVENESS
+1D323 ; [*0E14.0020.0002.1D323] # TETRAGRAM FOR BOLD RESOLUTION
+1D324 ; [*0E15.0020.0002.1D324] # TETRAGRAM FOR PACKING
+1D325 ; [*0E16.0020.0002.1D325] # TETRAGRAM FOR LEGION
+1D326 ; [*0E17.0020.0002.1D326] # TETRAGRAM FOR CLOSENESS
+1D327 ; [*0E18.0020.0002.1D327] # TETRAGRAM FOR KINSHIP
+1D328 ; [*0E19.0020.0002.1D328] # TETRAGRAM FOR GATHERING
+1D329 ; [*0E1A.0020.0002.1D329] # TETRAGRAM FOR STRENGTH
+1D32A ; [*0E1B.0020.0002.1D32A] # TETRAGRAM FOR PURITY
+1D32B ; [*0E1C.0020.0002.1D32B] # TETRAGRAM FOR FULLNESS
+1D32C ; [*0E1D.0020.0002.1D32C] # TETRAGRAM FOR RESIDENCE
+1D32D ; [*0E1E.0020.0002.1D32D] # TETRAGRAM FOR LAW OR MODEL
+1D32E ; [*0E1F.0020.0002.1D32E] # TETRAGRAM FOR RESPONSE
+1D32F ; [*0E20.0020.0002.1D32F] # TETRAGRAM FOR GOING TO MEET
+1D330 ; [*0E21.0020.0002.1D330] # TETRAGRAM FOR ENCOUNTERS
+1D331 ; [*0E22.0020.0002.1D331] # TETRAGRAM FOR STOVE
+1D332 ; [*0E23.0020.0002.1D332] # TETRAGRAM FOR GREATNESS
+1D333 ; [*0E24.0020.0002.1D333] # TETRAGRAM FOR ENLARGEMENT
+1D334 ; [*0E25.0020.0002.1D334] # TETRAGRAM FOR PATTERN
+1D335 ; [*0E26.0020.0002.1D335] # TETRAGRAM FOR RITUAL
+1D336 ; [*0E27.0020.0002.1D336] # TETRAGRAM FOR FLIGHT
+1D337 ; [*0E28.0020.0002.1D337] # TETRAGRAM FOR VASTNESS OR WASTING
+1D338 ; [*0E29.0020.0002.1D338] # TETRAGRAM FOR CONSTANCY
+1D339 ; [*0E2A.0020.0002.1D339] # TETRAGRAM FOR MEASURE
+1D33A ; [*0E2B.0020.0002.1D33A] # TETRAGRAM FOR ETERNITY
+1D33B ; [*0E2C.0020.0002.1D33B] # TETRAGRAM FOR UNITY
+1D33C ; [*0E2D.0020.0002.1D33C] # TETRAGRAM FOR DIMINISHMENT
+1D33D ; [*0E2E.0020.0002.1D33D] # TETRAGRAM FOR CLOSED MOUTH
+1D33E ; [*0E2F.0020.0002.1D33E] # TETRAGRAM FOR GUARDEDNESS
+1D33F ; [*0E30.0020.0002.1D33F] # TETRAGRAM FOR GATHERING IN
+1D340 ; [*0E31.0020.0002.1D340] # TETRAGRAM FOR MASSING
+1D341 ; [*0E32.0020.0002.1D341] # TETRAGRAM FOR ACCUMULATION
+1D342 ; [*0E33.0020.0002.1D342] # TETRAGRAM FOR EMBELLISHMENT
+1D343 ; [*0E34.0020.0002.1D343] # TETRAGRAM FOR DOUBT
+1D344 ; [*0E35.0020.0002.1D344] # TETRAGRAM FOR WATCH
+1D345 ; [*0E36.0020.0002.1D345] # TETRAGRAM FOR SINKING
+1D346 ; [*0E37.0020.0002.1D346] # TETRAGRAM FOR INNER
+1D347 ; [*0E38.0020.0002.1D347] # TETRAGRAM FOR DEPARTURE
+1D348 ; [*0E39.0020.0002.1D348] # TETRAGRAM FOR DARKENING
+1D349 ; [*0E3A.0020.0002.1D349] # TETRAGRAM FOR DIMMING
+1D34A ; [*0E3B.0020.0002.1D34A] # TETRAGRAM FOR EXHAUSTION
+1D34B ; [*0E3C.0020.0002.1D34B] # TETRAGRAM FOR SEVERANCE
+1D34C ; [*0E3D.0020.0002.1D34C] # TETRAGRAM FOR STOPPAGE
+1D34D ; [*0E3E.0020.0002.1D34D] # TETRAGRAM FOR HARDNESS
+1D34E ; [*0E3F.0020.0002.1D34E] # TETRAGRAM FOR COMPLETION
+1D34F ; [*0E40.0020.0002.1D34F] # TETRAGRAM FOR CLOSURE
+1D350 ; [*0E41.0020.0002.1D350] # TETRAGRAM FOR FAILURE
+1D351 ; [*0E42.0020.0002.1D351] # TETRAGRAM FOR AGGRAVATION
+1D352 ; [*0E43.0020.0002.1D352] # TETRAGRAM FOR COMPLIANCE
+1D353 ; [*0E44.0020.0002.1D353] # TETRAGRAM FOR ON THE VERGE
+1D354 ; [*0E45.0020.0002.1D354] # TETRAGRAM FOR DIFFICULTIES
+1D355 ; [*0E46.0020.0002.1D355] # TETRAGRAM FOR LABOURING
+1D356 ; [*0E47.0020.0002.1D356] # TETRAGRAM FOR FOSTERING
+1D369 ; [*159F.0020.0002.1D369] # COUNTING ROD TENS DIGIT ONE
+1D36A ; [*15A0.0020.0002.1D36A] # COUNTING ROD TENS DIGIT TWO
+1D36B ; [*15A1.0020.0002.1D36B] # COUNTING ROD TENS DIGIT THREE
+1D36C ; [*15A2.0020.0002.1D36C] # COUNTING ROD TENS DIGIT FOUR
+1D36D ; [*15A3.0020.0002.1D36D] # COUNTING ROD TENS DIGIT FIVE
+1D36E ; [*15A4.0020.0002.1D36E] # COUNTING ROD TENS DIGIT SIX
+1D36F ; [*15A5.0020.0002.1D36F] # COUNTING ROD TENS DIGIT SEVEN
+1D370 ; [*15A6.0020.0002.1D370] # COUNTING ROD TENS DIGIT EIGHT
+1D371 ; [*15A7.0020.0002.1D371] # COUNTING ROD TENS DIGIT NINE
+1D6C1 ; [*0592.0020.0005.1D6C1] # MATHEMATICAL BOLD NABLA
+1D6DB ; [*058E.0020.0005.1D6DB] # MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
+1D6FB ; [*0592.0020.0005.1D6FB] # MATHEMATICAL ITALIC NABLA
+1D715 ; [*058E.0020.0005.1D715] # MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
+1D735 ; [*0592.0020.0005.1D735] # MATHEMATICAL BOLD ITALIC NABLA
+1D74F ; [*058E.0020.0005.1D74F] # MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
+1D76F ; [*0592.0020.0005.1D76F] # MATHEMATICAL SANS-SERIF BOLD NABLA
+1D789 ; [*058E.0020.0005.1D789] # MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
+1D7A9 ; [*0592.0020.0005.1D7A9] # MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
+1D7C3 ; [*058E.0020.0005.1D7C3] # MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1EEF0 ; [*0485.0020.0002.1EEF0] # ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+1EEF1 ; [*0486.0020.0002.1EEF1] # ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+1F000 ; [*10B7.0020.0002.1F000] # MAHJONG TILE EAST WIND
+1F001 ; [*10B8.0020.0002.1F001] # MAHJONG TILE SOUTH WIND
+1F002 ; [*10B9.0020.0002.1F002] # MAHJONG TILE WEST WIND
+1F003 ; [*10BA.0020.0002.1F003] # MAHJONG TILE NORTH WIND
+1F004 ; [*10BB.0020.0002.1F004] # MAHJONG TILE RED DRAGON
+1F005 ; [*10BC.0020.0002.1F005] # MAHJONG TILE GREEN DRAGON
+1F006 ; [*10BD.0020.0002.1F006] # MAHJONG TILE WHITE DRAGON
+1F007 ; [*10BE.0020.0002.1F007] # MAHJONG TILE ONE OF CHARACTERS
+1F008 ; [*10BF.0020.0002.1F008] # MAHJONG TILE TWO OF CHARACTERS
+1F009 ; [*10C0.0020.0002.1F009] # MAHJONG TILE THREE OF CHARACTERS
+1F00A ; [*10C1.0020.0002.1F00A] # MAHJONG TILE FOUR OF CHARACTERS
+1F00B ; [*10C2.0020.0002.1F00B] # MAHJONG TILE FIVE OF CHARACTERS
+1F00C ; [*10C3.0020.0002.1F00C] # MAHJONG TILE SIX OF CHARACTERS
+1F00D ; [*10C4.0020.0002.1F00D] # MAHJONG TILE SEVEN OF CHARACTERS
+1F00E ; [*10C5.0020.0002.1F00E] # MAHJONG TILE EIGHT OF CHARACTERS
+1F00F ; [*10C6.0020.0002.1F00F] # MAHJONG TILE NINE OF CHARACTERS
+1F010 ; [*10C7.0020.0002.1F010] # MAHJONG TILE ONE OF BAMBOOS
+1F011 ; [*10C8.0020.0002.1F011] # MAHJONG TILE TWO OF BAMBOOS
+1F012 ; [*10C9.0020.0002.1F012] # MAHJONG TILE THREE OF BAMBOOS
+1F013 ; [*10CA.0020.0002.1F013] # MAHJONG TILE FOUR OF BAMBOOS
+1F014 ; [*10CB.0020.0002.1F014] # MAHJONG TILE FIVE OF BAMBOOS
+1F015 ; [*10CC.0020.0002.1F015] # MAHJONG TILE SIX OF BAMBOOS
+1F016 ; [*10CD.0020.0002.1F016] # MAHJONG TILE SEVEN OF BAMBOOS
+1F017 ; [*10CE.0020.0002.1F017] # MAHJONG TILE EIGHT OF BAMBOOS
+1F018 ; [*10CF.0020.0002.1F018] # MAHJONG TILE NINE OF BAMBOOS
+1F019 ; [*10D0.0020.0002.1F019] # MAHJONG TILE ONE OF CIRCLES
+1F01A ; [*10D1.0020.0002.1F01A] # MAHJONG TILE TWO OF CIRCLES
+1F01B ; [*10D2.0020.0002.1F01B] # MAHJONG TILE THREE OF CIRCLES
+1F01C ; [*10D3.0020.0002.1F01C] # MAHJONG TILE FOUR OF CIRCLES
+1F01D ; [*10D4.0020.0002.1F01D] # MAHJONG TILE FIVE OF CIRCLES
+1F01E ; [*10D5.0020.0002.1F01E] # MAHJONG TILE SIX OF CIRCLES
+1F01F ; [*10D6.0020.0002.1F01F] # MAHJONG TILE SEVEN OF CIRCLES
+1F020 ; [*10D7.0020.0002.1F020] # MAHJONG TILE EIGHT OF CIRCLES
+1F021 ; [*10D8.0020.0002.1F021] # MAHJONG TILE NINE OF CIRCLES
+1F022 ; [*10D9.0020.0002.1F022] # MAHJONG TILE PLUM
+1F023 ; [*10DA.0020.0002.1F023] # MAHJONG TILE ORCHID
+1F024 ; [*10DB.0020.0002.1F024] # MAHJONG TILE BAMBOO
+1F025 ; [*10DC.0020.0002.1F025] # MAHJONG TILE CHRYSANTHEMUM
+1F026 ; [*10DD.0020.0002.1F026] # MAHJONG TILE SPRING
+1F027 ; [*10DE.0020.0002.1F027] # MAHJONG TILE SUMMER
+1F028 ; [*10DF.0020.0002.1F028] # MAHJONG TILE AUTUMN
+1F029 ; [*10E0.0020.0002.1F029] # MAHJONG TILE WINTER
+1F02A ; [*10E1.0020.0002.1F02A] # MAHJONG TILE JOKER
+1F02B ; [*10E2.0020.0002.1F02B] # MAHJONG TILE BACK
+1F030 ; [*10E3.0020.0002.1F030] # DOMINO TILE HORIZONTAL BACK
+1F031 ; [*10E4.0020.0002.1F031] # DOMINO TILE HORIZONTAL-00-00
+1F032 ; [*10E5.0020.0002.1F032] # DOMINO TILE HORIZONTAL-00-01
+1F033 ; [*10E6.0020.0002.1F033] # DOMINO TILE HORIZONTAL-00-02
+1F034 ; [*10E7.0020.0002.1F034] # DOMINO TILE HORIZONTAL-00-03
+1F035 ; [*10E8.0020.0002.1F035] # DOMINO TILE HORIZONTAL-00-04
+1F036 ; [*10E9.0020.0002.1F036] # DOMINO TILE HORIZONTAL-00-05
+1F037 ; [*10EA.0020.0002.1F037] # DOMINO TILE HORIZONTAL-00-06
+1F038 ; [*10EB.0020.0002.1F038] # DOMINO TILE HORIZONTAL-01-00
+1F039 ; [*10EC.0020.0002.1F039] # DOMINO TILE HORIZONTAL-01-01
+1F03A ; [*10ED.0020.0002.1F03A] # DOMINO TILE HORIZONTAL-01-02
+1F03B ; [*10EE.0020.0002.1F03B] # DOMINO TILE HORIZONTAL-01-03
+1F03C ; [*10EF.0020.0002.1F03C] # DOMINO TILE HORIZONTAL-01-04
+1F03D ; [*10F0.0020.0002.1F03D] # DOMINO TILE HORIZONTAL-01-05
+1F03E ; [*10F1.0020.0002.1F03E] # DOMINO TILE HORIZONTAL-01-06
+1F03F ; [*10F2.0020.0002.1F03F] # DOMINO TILE HORIZONTAL-02-00
+1F040 ; [*10F3.0020.0002.1F040] # DOMINO TILE HORIZONTAL-02-01
+1F041 ; [*10F4.0020.0002.1F041] # DOMINO TILE HORIZONTAL-02-02
+1F042 ; [*10F5.0020.0002.1F042] # DOMINO TILE HORIZONTAL-02-03
+1F043 ; [*10F6.0020.0002.1F043] # DOMINO TILE HORIZONTAL-02-04
+1F044 ; [*10F7.0020.0002.1F044] # DOMINO TILE HORIZONTAL-02-05
+1F045 ; [*10F8.0020.0002.1F045] # DOMINO TILE HORIZONTAL-02-06
+1F046 ; [*10F9.0020.0002.1F046] # DOMINO TILE HORIZONTAL-03-00
+1F047 ; [*10FA.0020.0002.1F047] # DOMINO TILE HORIZONTAL-03-01
+1F048 ; [*10FB.0020.0002.1F048] # DOMINO TILE HORIZONTAL-03-02
+1F049 ; [*10FC.0020.0002.1F049] # DOMINO TILE HORIZONTAL-03-03
+1F04A ; [*10FD.0020.0002.1F04A] # DOMINO TILE HORIZONTAL-03-04
+1F04B ; [*10FE.0020.0002.1F04B] # DOMINO TILE HORIZONTAL-03-05
+1F04C ; [*10FF.0020.0002.1F04C] # DOMINO TILE HORIZONTAL-03-06
+1F04D ; [*1100.0020.0002.1F04D] # DOMINO TILE HORIZONTAL-04-00
+1F04E ; [*1101.0020.0002.1F04E] # DOMINO TILE HORIZONTAL-04-01
+1F04F ; [*1102.0020.0002.1F04F] # DOMINO TILE HORIZONTAL-04-02
+1F050 ; [*1103.0020.0002.1F050] # DOMINO TILE HORIZONTAL-04-03
+1F051 ; [*1104.0020.0002.1F051] # DOMINO TILE HORIZONTAL-04-04
+1F052 ; [*1105.0020.0002.1F052] # DOMINO TILE HORIZONTAL-04-05
+1F053 ; [*1106.0020.0002.1F053] # DOMINO TILE HORIZONTAL-04-06
+1F054 ; [*1107.0020.0002.1F054] # DOMINO TILE HORIZONTAL-05-00
+1F055 ; [*1108.0020.0002.1F055] # DOMINO TILE HORIZONTAL-05-01
+1F056 ; [*1109.0020.0002.1F056] # DOMINO TILE HORIZONTAL-05-02
+1F057 ; [*110A.0020.0002.1F057] # DOMINO TILE HORIZONTAL-05-03
+1F058 ; [*110B.0020.0002.1F058] # DOMINO TILE HORIZONTAL-05-04
+1F059 ; [*110C.0020.0002.1F059] # DOMINO TILE HORIZONTAL-05-05
+1F05A ; [*110D.0020.0002.1F05A] # DOMINO TILE HORIZONTAL-05-06
+1F05B ; [*110E.0020.0002.1F05B] # DOMINO TILE HORIZONTAL-06-00
+1F05C ; [*110F.0020.0002.1F05C] # DOMINO TILE HORIZONTAL-06-01
+1F05D ; [*1110.0020.0002.1F05D] # DOMINO TILE HORIZONTAL-06-02
+1F05E ; [*1111.0020.0002.1F05E] # DOMINO TILE HORIZONTAL-06-03
+1F05F ; [*1112.0020.0002.1F05F] # DOMINO TILE HORIZONTAL-06-04
+1F060 ; [*1113.0020.0002.1F060] # DOMINO TILE HORIZONTAL-06-05
+1F061 ; [*1114.0020.0002.1F061] # DOMINO TILE HORIZONTAL-06-06
+1F062 ; [*1115.0020.0002.1F062] # DOMINO TILE VERTICAL BACK
+1F063 ; [*1116.0020.0002.1F063] # DOMINO TILE VERTICAL-00-00
+1F064 ; [*1117.0020.0002.1F064] # DOMINO TILE VERTICAL-00-01
+1F065 ; [*1118.0020.0002.1F065] # DOMINO TILE VERTICAL-00-02
+1F066 ; [*1119.0020.0002.1F066] # DOMINO TILE VERTICAL-00-03
+1F067 ; [*111A.0020.0002.1F067] # DOMINO TILE VERTICAL-00-04
+1F068 ; [*111B.0020.0002.1F068] # DOMINO TILE VERTICAL-00-05
+1F069 ; [*111C.0020.0002.1F069] # DOMINO TILE VERTICAL-00-06
+1F06A ; [*111D.0020.0002.1F06A] # DOMINO TILE VERTICAL-01-00
+1F06B ; [*111E.0020.0002.1F06B] # DOMINO TILE VERTICAL-01-01
+1F06C ; [*111F.0020.0002.1F06C] # DOMINO TILE VERTICAL-01-02
+1F06D ; [*1120.0020.0002.1F06D] # DOMINO TILE VERTICAL-01-03
+1F06E ; [*1121.0020.0002.1F06E] # DOMINO TILE VERTICAL-01-04
+1F06F ; [*1122.0020.0002.1F06F] # DOMINO TILE VERTICAL-01-05
+1F070 ; [*1123.0020.0002.1F070] # DOMINO TILE VERTICAL-01-06
+1F071 ; [*1124.0020.0002.1F071] # DOMINO TILE VERTICAL-02-00
+1F072 ; [*1125.0020.0002.1F072] # DOMINO TILE VERTICAL-02-01
+1F073 ; [*1126.0020.0002.1F073] # DOMINO TILE VERTICAL-02-02
+1F074 ; [*1127.0020.0002.1F074] # DOMINO TILE VERTICAL-02-03
+1F075 ; [*1128.0020.0002.1F075] # DOMINO TILE VERTICAL-02-04
+1F076 ; [*1129.0020.0002.1F076] # DOMINO TILE VERTICAL-02-05
+1F077 ; [*112A.0020.0002.1F077] # DOMINO TILE VERTICAL-02-06
+1F078 ; [*112B.0020.0002.1F078] # DOMINO TILE VERTICAL-03-00
+1F079 ; [*112C.0020.0002.1F079] # DOMINO TILE VERTICAL-03-01
+1F07A ; [*112D.0020.0002.1F07A] # DOMINO TILE VERTICAL-03-02
+1F07B ; [*112E.0020.0002.1F07B] # DOMINO TILE VERTICAL-03-03
+1F07C ; [*112F.0020.0002.1F07C] # DOMINO TILE VERTICAL-03-04
+1F07D ; [*1130.0020.0002.1F07D] # DOMINO TILE VERTICAL-03-05
+1F07E ; [*1131.0020.0002.1F07E] # DOMINO TILE VERTICAL-03-06
+1F07F ; [*1132.0020.0002.1F07F] # DOMINO TILE VERTICAL-04-00
+1F080 ; [*1133.0020.0002.1F080] # DOMINO TILE VERTICAL-04-01
+1F081 ; [*1134.0020.0002.1F081] # DOMINO TILE VERTICAL-04-02
+1F082 ; [*1135.0020.0002.1F082] # DOMINO TILE VERTICAL-04-03
+1F083 ; [*1136.0020.0002.1F083] # DOMINO TILE VERTICAL-04-04
+1F084 ; [*1137.0020.0002.1F084] # DOMINO TILE VERTICAL-04-05
+1F085 ; [*1138.0020.0002.1F085] # DOMINO TILE VERTICAL-04-06
+1F086 ; [*1139.0020.0002.1F086] # DOMINO TILE VERTICAL-05-00
+1F087 ; [*113A.0020.0002.1F087] # DOMINO TILE VERTICAL-05-01
+1F088 ; [*113B.0020.0002.1F088] # DOMINO TILE VERTICAL-05-02
+1F089 ; [*113C.0020.0002.1F089] # DOMINO TILE VERTICAL-05-03
+1F08A ; [*113D.0020.0002.1F08A] # DOMINO TILE VERTICAL-05-04
+1F08B ; [*113E.0020.0002.1F08B] # DOMINO TILE VERTICAL-05-05
+1F08C ; [*113F.0020.0002.1F08C] # DOMINO TILE VERTICAL-05-06
+1F08D ; [*1140.0020.0002.1F08D] # DOMINO TILE VERTICAL-06-00
+1F08E ; [*1141.0020.0002.1F08E] # DOMINO TILE VERTICAL-06-01
+1F08F ; [*1142.0020.0002.1F08F] # DOMINO TILE VERTICAL-06-02
+1F090 ; [*1143.0020.0002.1F090] # DOMINO TILE VERTICAL-06-03
+1F091 ; [*1144.0020.0002.1F091] # DOMINO TILE VERTICAL-06-04
+1F092 ; [*1145.0020.0002.1F092] # DOMINO TILE VERTICAL-06-05
+1F093 ; [*1146.0020.0002.1F093] # DOMINO TILE VERTICAL-06-06
+1F0A0 ; [*1147.0020.0002.1F0A0] # PLAYING CARD BACK
+1F0A1 ; [*1148.0020.0002.1F0A1] # PLAYING CARD ACE OF SPADES
+1F0A2 ; [*1149.0020.0002.1F0A2] # PLAYING CARD TWO OF SPADES
+1F0A3 ; [*114A.0020.0002.1F0A3] # PLAYING CARD THREE OF SPADES
+1F0A4 ; [*114B.0020.0002.1F0A4] # PLAYING CARD FOUR OF SPADES
+1F0A5 ; [*114C.0020.0002.1F0A5] # PLAYING CARD FIVE OF SPADES
+1F0A6 ; [*114D.0020.0002.1F0A6] # PLAYING CARD SIX OF SPADES
+1F0A7 ; [*114E.0020.0002.1F0A7] # PLAYING CARD SEVEN OF SPADES
+1F0A8 ; [*114F.0020.0002.1F0A8] # PLAYING CARD EIGHT OF SPADES
+1F0A9 ; [*1150.0020.0002.1F0A9] # PLAYING CARD NINE OF SPADES
+1F0AA ; [*1151.0020.0002.1F0AA] # PLAYING CARD TEN OF SPADES
+1F0AB ; [*1152.0020.0002.1F0AB] # PLAYING CARD JACK OF SPADES
+1F0AC ; [*1153.0020.0002.1F0AC] # PLAYING CARD KNIGHT OF SPADES
+1F0AD ; [*1154.0020.0002.1F0AD] # PLAYING CARD QUEEN OF SPADES
+1F0AE ; [*1155.0020.0002.1F0AE] # PLAYING CARD KING OF SPADES
+1F0B1 ; [*1156.0020.0002.1F0B1] # PLAYING CARD ACE OF HEARTS
+1F0B2 ; [*1157.0020.0002.1F0B2] # PLAYING CARD TWO OF HEARTS
+1F0B3 ; [*1158.0020.0002.1F0B3] # PLAYING CARD THREE OF HEARTS
+1F0B4 ; [*1159.0020.0002.1F0B4] # PLAYING CARD FOUR OF HEARTS
+1F0B5 ; [*115A.0020.0002.1F0B5] # PLAYING CARD FIVE OF HEARTS
+1F0B6 ; [*115B.0020.0002.1F0B6] # PLAYING CARD SIX OF HEARTS
+1F0B7 ; [*115C.0020.0002.1F0B7] # PLAYING CARD SEVEN OF HEARTS
+1F0B8 ; [*115D.0020.0002.1F0B8] # PLAYING CARD EIGHT OF HEARTS
+1F0B9 ; [*115E.0020.0002.1F0B9] # PLAYING CARD NINE OF HEARTS
+1F0BA ; [*115F.0020.0002.1F0BA] # PLAYING CARD TEN OF HEARTS
+1F0BB ; [*1160.0020.0002.1F0BB] # PLAYING CARD JACK OF HEARTS
+1F0BC ; [*1161.0020.0002.1F0BC] # PLAYING CARD KNIGHT OF HEARTS
+1F0BD ; [*1162.0020.0002.1F0BD] # PLAYING CARD QUEEN OF HEARTS
+1F0BE ; [*1163.0020.0002.1F0BE] # PLAYING CARD KING OF HEARTS
+1F0C1 ; [*1164.0020.0002.1F0C1] # PLAYING CARD ACE OF DIAMONDS
+1F0C2 ; [*1165.0020.0002.1F0C2] # PLAYING CARD TWO OF DIAMONDS
+1F0C3 ; [*1166.0020.0002.1F0C3] # PLAYING CARD THREE OF DIAMONDS
+1F0C4 ; [*1167.0020.0002.1F0C4] # PLAYING CARD FOUR OF DIAMONDS
+1F0C5 ; [*1168.0020.0002.1F0C5] # PLAYING CARD FIVE OF DIAMONDS
+1F0C6 ; [*1169.0020.0002.1F0C6] # PLAYING CARD SIX OF DIAMONDS
+1F0C7 ; [*116A.0020.0002.1F0C7] # PLAYING CARD SEVEN OF DIAMONDS
+1F0C8 ; [*116B.0020.0002.1F0C8] # PLAYING CARD EIGHT OF DIAMONDS
+1F0C9 ; [*116C.0020.0002.1F0C9] # PLAYING CARD NINE OF DIAMONDS
+1F0CA ; [*116D.0020.0002.1F0CA] # PLAYING CARD TEN OF DIAMONDS
+1F0CB ; [*116E.0020.0002.1F0CB] # PLAYING CARD JACK OF DIAMONDS
+1F0CC ; [*116F.0020.0002.1F0CC] # PLAYING CARD KNIGHT OF DIAMONDS
+1F0CD ; [*1170.0020.0002.1F0CD] # PLAYING CARD QUEEN OF DIAMONDS
+1F0CE ; [*1171.0020.0002.1F0CE] # PLAYING CARD KING OF DIAMONDS
+1F0CF ; [*1172.0020.0002.1F0CF] # PLAYING CARD BLACK JOKER
+1F0D1 ; [*1173.0020.0002.1F0D1] # PLAYING CARD ACE OF CLUBS
+1F0D2 ; [*1174.0020.0002.1F0D2] # PLAYING CARD TWO OF CLUBS
+1F0D3 ; [*1175.0020.0002.1F0D3] # PLAYING CARD THREE OF CLUBS
+1F0D4 ; [*1176.0020.0002.1F0D4] # PLAYING CARD FOUR OF CLUBS
+1F0D5 ; [*1177.0020.0002.1F0D5] # PLAYING CARD FIVE OF CLUBS
+1F0D6 ; [*1178.0020.0002.1F0D6] # PLAYING CARD SIX OF CLUBS
+1F0D7 ; [*1179.0020.0002.1F0D7] # PLAYING CARD SEVEN OF CLUBS
+1F0D8 ; [*117A.0020.0002.1F0D8] # PLAYING CARD EIGHT OF CLUBS
+1F0D9 ; [*117B.0020.0002.1F0D9] # PLAYING CARD NINE OF CLUBS
+1F0DA ; [*117C.0020.0002.1F0DA] # PLAYING CARD TEN OF CLUBS
+1F0DB ; [*117D.0020.0002.1F0DB] # PLAYING CARD JACK OF CLUBS
+1F0DC ; [*117E.0020.0002.1F0DC] # PLAYING CARD KNIGHT OF CLUBS
+1F0DD ; [*117F.0020.0002.1F0DD] # PLAYING CARD QUEEN OF CLUBS
+1F0DE ; [*1180.0020.0002.1F0DE] # PLAYING CARD KING OF CLUBS
+1F0DF ; [*1181.0020.0002.1F0DF] # PLAYING CARD WHITE JOKER
+1F1E6 ; [*0986.0020.0002.1F1E6] # REGIONAL INDICATOR SYMBOL LETTER A
+1F1E7 ; [*0987.0020.0002.1F1E7] # REGIONAL INDICATOR SYMBOL LETTER B
+1F1E8 ; [*0988.0020.0002.1F1E8] # REGIONAL INDICATOR SYMBOL LETTER C
+1F1E9 ; [*0989.0020.0002.1F1E9] # REGIONAL INDICATOR SYMBOL LETTER D
+1F1EA ; [*098A.0020.0002.1F1EA] # REGIONAL INDICATOR SYMBOL LETTER E
+1F1EB ; [*098B.0020.0002.1F1EB] # REGIONAL INDICATOR SYMBOL LETTER F
+1F1EC ; [*098C.0020.0002.1F1EC] # REGIONAL INDICATOR SYMBOL LETTER G
+1F1ED ; [*098D.0020.0002.1F1ED] # REGIONAL INDICATOR SYMBOL LETTER H
+1F1EE ; [*098E.0020.0002.1F1EE] # REGIONAL INDICATOR SYMBOL LETTER I
+1F1EF ; [*098F.0020.0002.1F1EF] # REGIONAL INDICATOR SYMBOL LETTER J
+1F1F0 ; [*0990.0020.0002.1F1F0] # REGIONAL INDICATOR SYMBOL LETTER K
+1F1F1 ; [*0991.0020.0002.1F1F1] # REGIONAL INDICATOR SYMBOL LETTER L
+1F1F2 ; [*0992.0020.0002.1F1F2] # REGIONAL INDICATOR SYMBOL LETTER M
+1F1F3 ; [*0993.0020.0002.1F1F3] # REGIONAL INDICATOR SYMBOL LETTER N
+1F1F4 ; [*0994.0020.0002.1F1F4] # REGIONAL INDICATOR SYMBOL LETTER O
+1F1F5 ; [*0995.0020.0002.1F1F5] # REGIONAL INDICATOR SYMBOL LETTER P
+1F1F6 ; [*0996.0020.0002.1F1F6] # REGIONAL INDICATOR SYMBOL LETTER Q
+1F1F7 ; [*0997.0020.0002.1F1F7] # REGIONAL INDICATOR SYMBOL LETTER R
+1F1F8 ; [*0998.0020.0002.1F1F8] # REGIONAL INDICATOR SYMBOL LETTER S
+1F1F9 ; [*0999.0020.0002.1F1F9] # REGIONAL INDICATOR SYMBOL LETTER T
+1F1FA ; [*099A.0020.0002.1F1FA] # REGIONAL INDICATOR SYMBOL LETTER U
+1F1FB ; [*099B.0020.0002.1F1FB] # REGIONAL INDICATOR SYMBOL LETTER V
+1F1FC ; [*099C.0020.0002.1F1FC] # REGIONAL INDICATOR SYMBOL LETTER W
+1F1FD ; [*099D.0020.0002.1F1FD] # REGIONAL INDICATOR SYMBOL LETTER X
+1F1FE ; [*099E.0020.0002.1F1FE] # REGIONAL INDICATOR SYMBOL LETTER Y
+1F1FF ; [*099F.0020.0002.1F1FF] # REGIONAL INDICATOR SYMBOL LETTER Z
+1F300 ; [*1182.0020.0002.1F300] # CYCLONE
+1F301 ; [*1183.0020.0002.1F301] # FOGGY
+1F302 ; [*1184.0020.0002.1F302] # CLOSED UMBRELLA
+1F303 ; [*1185.0020.0002.1F303] # NIGHT WITH STARS
+1F304 ; [*1186.0020.0002.1F304] # SUNRISE OVER MOUNTAINS
+1F305 ; [*1187.0020.0002.1F305] # SUNRISE
+1F306 ; [*1188.0020.0002.1F306] # CITYSCAPE AT DUSK
+1F307 ; [*1189.0020.0002.1F307] # SUNSET OVER BUILDINGS
+1F308 ; [*118A.0020.0002.1F308] # RAINBOW
+1F309 ; [*118B.0020.0002.1F309] # BRIDGE AT NIGHT
+1F30A ; [*118C.0020.0002.1F30A] # WATER WAVE
+1F30B ; [*118D.0020.0002.1F30B] # VOLCANO
+1F30C ; [*118E.0020.0002.1F30C] # MILKY WAY
+1F30D ; [*118F.0020.0002.1F30D] # EARTH GLOBE EUROPE-AFRICA
+1F30E ; [*1190.0020.0002.1F30E] # EARTH GLOBE AMERICAS
+1F30F ; [*1191.0020.0002.1F30F] # EARTH GLOBE ASIA-AUSTRALIA
+1F310 ; [*1192.0020.0002.1F310] # GLOBE WITH MERIDIANS
+1F311 ; [*1193.0020.0002.1F311] # NEW MOON SYMBOL
+1F312 ; [*1194.0020.0002.1F312] # WAXING CRESCENT MOON SYMBOL
+1F313 ; [*1195.0020.0002.1F313] # FIRST QUARTER MOON SYMBOL
+1F314 ; [*1196.0020.0002.1F314] # WAXING GIBBOUS MOON SYMBOL
+1F315 ; [*1197.0020.0002.1F315] # FULL MOON SYMBOL
+1F316 ; [*1198.0020.0002.1F316] # WANING GIBBOUS MOON SYMBOL
+1F317 ; [*1199.0020.0002.1F317] # LAST QUARTER MOON SYMBOL
+1F318 ; [*119A.0020.0002.1F318] # WANING CRESCENT MOON SYMBOL
+1F319 ; [*119B.0020.0002.1F319] # CRESCENT MOON
+1F31A ; [*119C.0020.0002.1F31A] # NEW MOON WITH FACE
+1F31B ; [*119D.0020.0002.1F31B] # FIRST QUARTER MOON WITH FACE
+1F31C ; [*119E.0020.0002.1F31C] # LAST QUARTER MOON WITH FACE
+1F31D ; [*119F.0020.0002.1F31D] # FULL MOON WITH FACE
+1F31E ; [*11A0.0020.0002.1F31E] # SUN WITH FACE
+1F31F ; [*11A1.0020.0002.1F31F] # GLOWING STAR
+1F320 ; [*11A2.0020.0002.1F320] # SHOOTING STAR
+1F330 ; [*11A3.0020.0002.1F330] # CHESTNUT
+1F331 ; [*11A4.0020.0002.1F331] # SEEDLING
+1F332 ; [*11A5.0020.0002.1F332] # EVERGREEN TREE
+1F333 ; [*11A6.0020.0002.1F333] # DECIDUOUS TREE
+1F334 ; [*11A7.0020.0002.1F334] # PALM TREE
+1F335 ; [*11A8.0020.0002.1F335] # CACTUS
+1F337 ; [*11A9.0020.0002.1F337] # TULIP
+1F338 ; [*11AA.0020.0002.1F338] # CHERRY BLOSSOM
+1F339 ; [*11AB.0020.0002.1F339] # ROSE
+1F33A ; [*11AC.0020.0002.1F33A] # HIBISCUS
+1F33B ; [*11AD.0020.0002.1F33B] # SUNFLOWER
+1F33C ; [*11AE.0020.0002.1F33C] # BLOSSOM
+1F33D ; [*11AF.0020.0002.1F33D] # EAR OF MAIZE
+1F33E ; [*11B0.0020.0002.1F33E] # EAR OF RICE
+1F33F ; [*11B1.0020.0002.1F33F] # HERB
+1F340 ; [*11B2.0020.0002.1F340] # FOUR LEAF CLOVER
+1F341 ; [*11B3.0020.0002.1F341] # MAPLE LEAF
+1F342 ; [*11B4.0020.0002.1F342] # FALLEN LEAF
+1F343 ; [*11B5.0020.0002.1F343] # LEAF FLUTTERING IN WIND
+1F344 ; [*11B6.0020.0002.1F344] # MUSHROOM
+1F345 ; [*11B7.0020.0002.1F345] # TOMATO
+1F346 ; [*11B8.0020.0002.1F346] # AUBERGINE
+1F347 ; [*11B9.0020.0002.1F347] # GRAPES
+1F348 ; [*11BA.0020.0002.1F348] # MELON
+1F349 ; [*11BB.0020.0002.1F349] # WATERMELON
+1F34A ; [*11BC.0020.0002.1F34A] # TANGERINE
+1F34B ; [*11BD.0020.0002.1F34B] # LEMON
+1F34C ; [*11BE.0020.0002.1F34C] # BANANA
+1F34D ; [*11BF.0020.0002.1F34D] # PINEAPPLE
+1F34E ; [*11C0.0020.0002.1F34E] # RED APPLE
+1F34F ; [*11C1.0020.0002.1F34F] # GREEN APPLE
+1F350 ; [*11C2.0020.0002.1F350] # PEAR
+1F351 ; [*11C3.0020.0002.1F351] # PEACH
+1F352 ; [*11C4.0020.0002.1F352] # CHERRIES
+1F353 ; [*11C5.0020.0002.1F353] # STRAWBERRY
+1F354 ; [*11C6.0020.0002.1F354] # HAMBURGER
+1F355 ; [*11C7.0020.0002.1F355] # SLICE OF PIZZA
+1F356 ; [*11C8.0020.0002.1F356] # MEAT ON BONE
+1F357 ; [*11C9.0020.0002.1F357] # POULTRY LEG
+1F358 ; [*11CA.0020.0002.1F358] # RICE CRACKER
+1F359 ; [*11CB.0020.0002.1F359] # RICE BALL
+1F35A ; [*11CC.0020.0002.1F35A] # COOKED RICE
+1F35B ; [*11CD.0020.0002.1F35B] # CURRY AND RICE
+1F35C ; [*11CE.0020.0002.1F35C] # STEAMING BOWL
+1F35D ; [*11CF.0020.0002.1F35D] # SPAGHETTI
+1F35E ; [*11D0.0020.0002.1F35E] # BREAD
+1F35F ; [*11D1.0020.0002.1F35F] # FRENCH FRIES
+1F360 ; [*11D2.0020.0002.1F360] # ROASTED SWEET POTATO
+1F361 ; [*11D3.0020.0002.1F361] # DANGO
+1F362 ; [*11D4.0020.0002.1F362] # ODEN
+1F363 ; [*11D5.0020.0002.1F363] # SUSHI
+1F364 ; [*11D6.0020.0002.1F364] # FRIED SHRIMP
+1F365 ; [*11D7.0020.0002.1F365] # FISH CAKE WITH SWIRL DESIGN
+1F366 ; [*11D8.0020.0002.1F366] # SOFT ICE CREAM
+1F367 ; [*11D9.0020.0002.1F367] # SHAVED ICE
+1F368 ; [*11DA.0020.0002.1F368] # ICE CREAM
+1F369 ; [*11DB.0020.0002.1F369] # DOUGHNUT
+1F36A ; [*11DC.0020.0002.1F36A] # COOKIE
+1F36B ; [*11DD.0020.0002.1F36B] # CHOCOLATE BAR
+1F36C ; [*11DE.0020.0002.1F36C] # CANDY
+1F36D ; [*11DF.0020.0002.1F36D] # LOLLIPOP
+1F36E ; [*11E0.0020.0002.1F36E] # CUSTARD
+1F36F ; [*11E1.0020.0002.1F36F] # HONEY POT
+1F370 ; [*11E2.0020.0002.1F370] # SHORTCAKE
+1F371 ; [*11E3.0020.0002.1F371] # BENTO BOX
+1F372 ; [*11E4.0020.0002.1F372] # POT OF FOOD
+1F373 ; [*11E5.0020.0002.1F373] # COOKING
+1F374 ; [*11E6.0020.0002.1F374] # FORK AND KNIFE
+1F375 ; [*11E7.0020.0002.1F375] # TEACUP WITHOUT HANDLE
+1F376 ; [*11E8.0020.0002.1F376] # SAKE BOTTLE AND CUP
+1F377 ; [*11E9.0020.0002.1F377] # WINE GLASS
+1F378 ; [*11EA.0020.0002.1F378] # COCKTAIL GLASS
+1F379 ; [*11EB.0020.0002.1F379] # TROPICAL DRINK
+1F37A ; [*11EC.0020.0002.1F37A] # BEER MUG
+1F37B ; [*11ED.0020.0002.1F37B] # CLINKING BEER MUGS
+1F37C ; [*11EE.0020.0002.1F37C] # BABY BOTTLE
+1F380 ; [*11EF.0020.0002.1F380] # RIBBON
+1F381 ; [*11F0.0020.0002.1F381] # WRAPPED PRESENT
+1F382 ; [*11F1.0020.0002.1F382] # BIRTHDAY CAKE
+1F383 ; [*11F2.0020.0002.1F383] # JACK-O-LANTERN
+1F384 ; [*11F3.0020.0002.1F384] # CHRISTMAS TREE
+1F385 ; [*11F4.0020.0002.1F385] # FATHER CHRISTMAS
+1F386 ; [*11F5.0020.0002.1F386] # FIREWORKS
+1F387 ; [*11F6.0020.0002.1F387] # FIREWORK SPARKLER
+1F388 ; [*11F7.0020.0002.1F388] # BALLOON
+1F389 ; [*11F8.0020.0002.1F389] # PARTY POPPER
+1F38A ; [*11F9.0020.0002.1F38A] # CONFETTI BALL
+1F38B ; [*11FA.0020.0002.1F38B] # TANABATA TREE
+1F38C ; [*11FB.0020.0002.1F38C] # CROSSED FLAGS
+1F38D ; [*11FC.0020.0002.1F38D] # PINE DECORATION
+1F38E ; [*11FD.0020.0002.1F38E] # JAPANESE DOLLS
+1F38F ; [*11FE.0020.0002.1F38F] # CARP STREAMER
+1F390 ; [*11FF.0020.0002.1F390] # WIND CHIME
+1F391 ; [*1200.0020.0002.1F391] # MOON VIEWING CEREMONY
+1F392 ; [*1201.0020.0002.1F392] # SCHOOL SATCHEL
+1F393 ; [*1202.0020.0002.1F393] # GRADUATION CAP
+1F3A0 ; [*1203.0020.0002.1F3A0] # CAROUSEL HORSE
+1F3A1 ; [*1204.0020.0002.1F3A1] # FERRIS WHEEL
+1F3A2 ; [*1205.0020.0002.1F3A2] # ROLLER COASTER
+1F3A3 ; [*1206.0020.0002.1F3A3] # FISHING POLE AND FISH
+1F3A4 ; [*1207.0020.0002.1F3A4] # MICROPHONE
+1F3A5 ; [*1208.0020.0002.1F3A5] # MOVIE CAMERA
+1F3A6 ; [*1209.0020.0002.1F3A6] # CINEMA
+1F3A7 ; [*120A.0020.0002.1F3A7] # HEADPHONE
+1F3A8 ; [*120B.0020.0002.1F3A8] # ARTIST PALETTE
+1F3A9 ; [*120C.0020.0002.1F3A9] # TOP HAT
+1F3AA ; [*120D.0020.0002.1F3AA] # CIRCUS TENT
+1F3AB ; [*120E.0020.0002.1F3AB] # TICKET
+1F3AC ; [*120F.0020.0002.1F3AC] # CLAPPER BOARD
+1F3AD ; [*1210.0020.0002.1F3AD] # PERFORMING ARTS
+1F3AE ; [*1211.0020.0002.1F3AE] # VIDEO GAME
+1F3AF ; [*1212.0020.0002.1F3AF] # DIRECT HIT
+1F3B0 ; [*1213.0020.0002.1F3B0] # SLOT MACHINE
+1F3B1 ; [*1214.0020.0002.1F3B1] # BILLIARDS
+1F3B2 ; [*1215.0020.0002.1F3B2] # GAME DIE
+1F3B3 ; [*1216.0020.0002.1F3B3] # BOWLING
+1F3B4 ; [*1217.0020.0002.1F3B4] # FLOWER PLAYING CARDS
+1F3B5 ; [*1218.0020.0002.1F3B5] # MUSICAL NOTE
+1F3B6 ; [*1219.0020.0002.1F3B6] # MULTIPLE MUSICAL NOTES
+1F3B7 ; [*121A.0020.0002.1F3B7] # SAXOPHONE
+1F3B8 ; [*121B.0020.0002.1F3B8] # GUITAR
+1F3B9 ; [*121C.0020.0002.1F3B9] # MUSICAL KEYBOARD
+1F3BA ; [*121D.0020.0002.1F3BA] # TRUMPET
+1F3BB ; [*121E.0020.0002.1F3BB] # VIOLIN
+1F3BC ; [*121F.0020.0002.1F3BC] # MUSICAL SCORE
+1F3BD ; [*1220.0020.0002.1F3BD] # RUNNING SHIRT WITH SASH
+1F3BE ; [*1221.0020.0002.1F3BE] # TENNIS RACQUET AND BALL
+1F3BF ; [*1222.0020.0002.1F3BF] # SKI AND SKI BOOT
+1F3C0 ; [*1223.0020.0002.1F3C0] # BASKETBALL AND HOOP
+1F3C1 ; [*1224.0020.0002.1F3C1] # CHEQUERED FLAG
+1F3C2 ; [*1225.0020.0002.1F3C2] # SNOWBOARDER
+1F3C3 ; [*1226.0020.0002.1F3C3] # RUNNER
+1F3C4 ; [*1227.0020.0002.1F3C4] # SURFER
+1F3C6 ; [*1228.0020.0002.1F3C6] # TROPHY
+1F3C7 ; [*1229.0020.0002.1F3C7] # HORSE RACING
+1F3C8 ; [*122A.0020.0002.1F3C8] # AMERICAN FOOTBALL
+1F3C9 ; [*122B.0020.0002.1F3C9] # RUGBY FOOTBALL
+1F3CA ; [*122C.0020.0002.1F3CA] # SWIMMER
+1F3E0 ; [*122D.0020.0002.1F3E0] # HOUSE BUILDING
+1F3E1 ; [*122E.0020.0002.1F3E1] # HOUSE WITH GARDEN
+1F3E2 ; [*122F.0020.0002.1F3E2] # OFFICE BUILDING
+1F3E3 ; [*1230.0020.0002.1F3E3] # JAPANESE POST OFFICE
+1F3E4 ; [*1231.0020.0002.1F3E4] # EUROPEAN POST OFFICE
+1F3E5 ; [*1232.0020.0002.1F3E5] # HOSPITAL
+1F3E6 ; [*1233.0020.0002.1F3E6] # BANK
+1F3E7 ; [*1234.0020.0002.1F3E7] # AUTOMATED TELLER MACHINE
+1F3E8 ; [*1235.0020.0002.1F3E8] # HOTEL
+1F3E9 ; [*1236.0020.0002.1F3E9] # LOVE HOTEL
+1F3EA ; [*1237.0020.0002.1F3EA] # CONVENIENCE STORE
+1F3EB ; [*1238.0020.0002.1F3EB] # SCHOOL
+1F3EC ; [*1239.0020.0002.1F3EC] # DEPARTMENT STORE
+1F3ED ; [*123A.0020.0002.1F3ED] # FACTORY
+1F3EE ; [*123B.0020.0002.1F3EE] # IZAKAYA LANTERN
+1F3EF ; [*123C.0020.0002.1F3EF] # JAPANESE CASTLE
+1F3F0 ; [*123D.0020.0002.1F3F0] # EUROPEAN CASTLE
+1F400 ; [*123E.0020.0002.1F400] # RAT
+1F401 ; [*123F.0020.0002.1F401] # MOUSE
+1F402 ; [*1240.0020.0002.1F402] # OX
+1F403 ; [*1241.0020.0002.1F403] # WATER BUFFALO
+1F404 ; [*1242.0020.0002.1F404] # COW
+1F405 ; [*1243.0020.0002.1F405] # TIGER
+1F406 ; [*1244.0020.0002.1F406] # LEOPARD
+1F407 ; [*1245.0020.0002.1F407] # RABBIT
+1F408 ; [*1246.0020.0002.1F408] # CAT
+1F409 ; [*1247.0020.0002.1F409] # DRAGON
+1F40A ; [*1248.0020.0002.1F40A] # CROCODILE
+1F40B ; [*1249.0020.0002.1F40B] # WHALE
+1F40C ; [*124A.0020.0002.1F40C] # SNAIL
+1F40D ; [*124B.0020.0002.1F40D] # SNAKE
+1F40E ; [*124C.0020.0002.1F40E] # HORSE
+1F40F ; [*124D.0020.0002.1F40F] # RAM
+1F410 ; [*124E.0020.0002.1F410] # GOAT
+1F411 ; [*124F.0020.0002.1F411] # SHEEP
+1F412 ; [*1250.0020.0002.1F412] # MONKEY
+1F413 ; [*1251.0020.0002.1F413] # ROOSTER
+1F414 ; [*1252.0020.0002.1F414] # CHICKEN
+1F415 ; [*1253.0020.0002.1F415] # DOG
+1F416 ; [*1254.0020.0002.1F416] # PIG
+1F417 ; [*1255.0020.0002.1F417] # BOAR
+1F418 ; [*1256.0020.0002.1F418] # ELEPHANT
+1F419 ; [*1257.0020.0002.1F419] # OCTOPUS
+1F41A ; [*1258.0020.0002.1F41A] # SPIRAL SHELL
+1F41B ; [*1259.0020.0002.1F41B] # BUG
+1F41C ; [*125A.0020.0002.1F41C] # ANT
+1F41D ; [*125B.0020.0002.1F41D] # HONEYBEE
+1F41E ; [*125C.0020.0002.1F41E] # LADY BEETLE
+1F41F ; [*125D.0020.0002.1F41F] # FISH
+1F420 ; [*125E.0020.0002.1F420] # TROPICAL FISH
+1F421 ; [*125F.0020.0002.1F421] # BLOWFISH
+1F422 ; [*1260.0020.0002.1F422] # TURTLE
+1F423 ; [*1261.0020.0002.1F423] # HATCHING CHICK
+1F424 ; [*1262.0020.0002.1F424] # BABY CHICK
+1F425 ; [*1263.0020.0002.1F425] # FRONT-FACING BABY CHICK
+1F426 ; [*1264.0020.0002.1F426] # BIRD
+1F427 ; [*1265.0020.0002.1F427] # PENGUIN
+1F428 ; [*1266.0020.0002.1F428] # KOALA
+1F429 ; [*1267.0020.0002.1F429] # POODLE
+1F42A ; [*1268.0020.0002.1F42A] # DROMEDARY CAMEL
+1F42B ; [*1269.0020.0002.1F42B] # BACTRIAN CAMEL
+1F42C ; [*126A.0020.0002.1F42C] # DOLPHIN
+1F42D ; [*126B.0020.0002.1F42D] # MOUSE FACE
+1F42E ; [*126C.0020.0002.1F42E] # COW FACE
+1F42F ; [*126D.0020.0002.1F42F] # TIGER FACE
+1F430 ; [*126E.0020.0002.1F430] # RABBIT FACE
+1F431 ; [*126F.0020.0002.1F431] # CAT FACE
+1F432 ; [*1270.0020.0002.1F432] # DRAGON FACE
+1F433 ; [*1271.0020.0002.1F433] # SPOUTING WHALE
+1F434 ; [*1272.0020.0002.1F434] # HORSE FACE
+1F435 ; [*1273.0020.0002.1F435] # MONKEY FACE
+1F436 ; [*1274.0020.0002.1F436] # DOG FACE
+1F437 ; [*1275.0020.0002.1F437] # PIG FACE
+1F438 ; [*1276.0020.0002.1F438] # FROG FACE
+1F439 ; [*1277.0020.0002.1F439] # HAMSTER FACE
+1F43A ; [*1278.0020.0002.1F43A] # WOLF FACE
+1F43B ; [*1279.0020.0002.1F43B] # BEAR FACE
+1F43C ; [*127A.0020.0002.1F43C] # PANDA FACE
+1F43D ; [*127B.0020.0002.1F43D] # PIG NOSE
+1F43E ; [*127C.0020.0002.1F43E] # PAW PRINTS
+1F440 ; [*127D.0020.0002.1F440] # EYES
+1F442 ; [*127E.0020.0002.1F442] # EAR
+1F443 ; [*127F.0020.0002.1F443] # NOSE
+1F444 ; [*1280.0020.0002.1F444] # MOUTH
+1F445 ; [*1281.0020.0002.1F445] # TONGUE
+1F446 ; [*1282.0020.0002.1F446] # WHITE UP POINTING BACKHAND INDEX
+1F447 ; [*1283.0020.0002.1F447] # WHITE DOWN POINTING BACKHAND INDEX
+1F448 ; [*1284.0020.0002.1F448] # WHITE LEFT POINTING BACKHAND INDEX
+1F449 ; [*1285.0020.0002.1F449] # WHITE RIGHT POINTING BACKHAND INDEX
+1F44A ; [*1286.0020.0002.1F44A] # FISTED HAND SIGN
+1F44B ; [*1287.0020.0002.1F44B] # WAVING HAND SIGN
+1F44C ; [*1288.0020.0002.1F44C] # OK HAND SIGN
+1F44D ; [*1289.0020.0002.1F44D] # THUMBS UP SIGN
+1F44E ; [*128A.0020.0002.1F44E] # THUMBS DOWN SIGN
+1F44F ; [*128B.0020.0002.1F44F] # CLAPPING HANDS SIGN
+1F450 ; [*128C.0020.0002.1F450] # OPEN HANDS SIGN
+1F451 ; [*128D.0020.0002.1F451] # CROWN
+1F452 ; [*128E.0020.0002.1F452] # WOMANS HAT
+1F453 ; [*128F.0020.0002.1F453] # EYEGLASSES
+1F454 ; [*1290.0020.0002.1F454] # NECKTIE
+1F455 ; [*1291.0020.0002.1F455] # T-SHIRT
+1F456 ; [*1292.0020.0002.1F456] # JEANS
+1F457 ; [*1293.0020.0002.1F457] # DRESS
+1F458 ; [*1294.0020.0002.1F458] # KIMONO
+1F459 ; [*1295.0020.0002.1F459] # BIKINI
+1F45A ; [*1296.0020.0002.1F45A] # WOMANS CLOTHES
+1F45B ; [*1297.0020.0002.1F45B] # PURSE
+1F45C ; [*1298.0020.0002.1F45C] # HANDBAG
+1F45D ; [*1299.0020.0002.1F45D] # POUCH
+1F45E ; [*129A.0020.0002.1F45E] # MANS SHOE
+1F45F ; [*129B.0020.0002.1F45F] # ATHLETIC SHOE
+1F460 ; [*129C.0020.0002.1F460] # HIGH-HEELED SHOE
+1F461 ; [*129D.0020.0002.1F461] # WOMANS SANDAL
+1F462 ; [*129E.0020.0002.1F462] # WOMANS BOOTS
+1F463 ; [*129F.0020.0002.1F463] # FOOTPRINTS
+1F464 ; [*12A0.0020.0002.1F464] # BUST IN SILHOUETTE
+1F465 ; [*12A1.0020.0002.1F465] # BUSTS IN SILHOUETTE
+1F466 ; [*12A2.0020.0002.1F466] # BOY
+1F467 ; [*12A3.0020.0002.1F467] # GIRL
+1F468 ; [*12A4.0020.0002.1F468] # MAN
+1F469 ; [*12A5.0020.0002.1F469] # WOMAN
+1F46A ; [*12A6.0020.0002.1F46A] # FAMILY
+1F46B ; [*12A7.0020.0002.1F46B] # MAN AND WOMAN HOLDING HANDS
+1F46C ; [*12A8.0020.0002.1F46C] # TWO MEN HOLDING HANDS
+1F46D ; [*12A9.0020.0002.1F46D] # TWO WOMEN HOLDING HANDS
+1F46E ; [*12AA.0020.0002.1F46E] # POLICE OFFICER
+1F46F ; [*12AB.0020.0002.1F46F] # WOMAN WITH BUNNY EARS
+1F470 ; [*12AC.0020.0002.1F470] # BRIDE WITH VEIL
+1F471 ; [*12AD.0020.0002.1F471] # PERSON WITH BLOND HAIR
+1F472 ; [*12AE.0020.0002.1F472] # MAN WITH GUA PI MAO
+1F473 ; [*12AF.0020.0002.1F473] # MAN WITH TURBAN
+1F474 ; [*12B0.0020.0002.1F474] # OLDER MAN
+1F475 ; [*12B1.0020.0002.1F475] # OLDER WOMAN
+1F476 ; [*12B2.0020.0002.1F476] # BABY
+1F477 ; [*12B3.0020.0002.1F477] # CONSTRUCTION WORKER
+1F478 ; [*12B4.0020.0002.1F478] # PRINCESS
+1F479 ; [*12B5.0020.0002.1F479] # JAPANESE OGRE
+1F47A ; [*12B6.0020.0002.1F47A] # JAPANESE GOBLIN
+1F47B ; [*12B7.0020.0002.1F47B] # GHOST
+1F47C ; [*12B8.0020.0002.1F47C] # BABY ANGEL
+1F47D ; [*12B9.0020.0002.1F47D] # EXTRATERRESTRIAL ALIEN
+1F47E ; [*12BA.0020.0002.1F47E] # ALIEN MONSTER
+1F47F ; [*12BB.0020.0002.1F47F] # IMP
+1F480 ; [*12BC.0020.0002.1F480] # SKULL
+1F481 ; [*12BD.0020.0002.1F481] # INFORMATION DESK PERSON
+1F482 ; [*12BE.0020.0002.1F482] # GUARDSMAN
+1F483 ; [*12BF.0020.0002.1F483] # DANCER
+1F484 ; [*12C0.0020.0002.1F484] # LIPSTICK
+1F485 ; [*12C1.0020.0002.1F485] # NAIL POLISH
+1F486 ; [*12C2.0020.0002.1F486] # FACE MASSAGE
+1F487 ; [*12C3.0020.0002.1F487] # HAIRCUT
+1F488 ; [*12C4.0020.0002.1F488] # BARBER POLE
+1F489 ; [*12C5.0020.0002.1F489] # SYRINGE
+1F48A ; [*12C6.0020.0002.1F48A] # PILL
+1F48B ; [*12C7.0020.0002.1F48B] # KISS MARK
+1F48C ; [*12C8.0020.0002.1F48C] # LOVE LETTER
+1F48D ; [*12C9.0020.0002.1F48D] # RING
+1F48E ; [*12CA.0020.0002.1F48E] # GEM STONE
+1F48F ; [*12CB.0020.0002.1F48F] # KISS
+1F490 ; [*12CC.0020.0002.1F490] # BOUQUET
+1F491 ; [*12CD.0020.0002.1F491] # COUPLE WITH HEART
+1F492 ; [*12CE.0020.0002.1F492] # WEDDING
+1F493 ; [*12CF.0020.0002.1F493] # BEATING HEART
+1F494 ; [*12D0.0020.0002.1F494] # BROKEN HEART
+1F495 ; [*12D1.0020.0002.1F495] # TWO HEARTS
+1F496 ; [*12D2.0020.0002.1F496] # SPARKLING HEART
+1F497 ; [*12D3.0020.0002.1F497] # GROWING HEART
+1F498 ; [*12D4.0020.0002.1F498] # HEART WITH ARROW
+1F499 ; [*12D5.0020.0002.1F499] # BLUE HEART
+1F49A ; [*12D6.0020.0002.1F49A] # GREEN HEART
+1F49B ; [*12D7.0020.0002.1F49B] # YELLOW HEART
+1F49C ; [*12D8.0020.0002.1F49C] # PURPLE HEART
+1F49D ; [*12D9.0020.0002.1F49D] # HEART WITH RIBBON
+1F49E ; [*12DA.0020.0002.1F49E] # REVOLVING HEARTS
+1F49F ; [*12DB.0020.0002.1F49F] # HEART DECORATION
+1F4A0 ; [*12DC.0020.0002.1F4A0] # DIAMOND SHAPE WITH A DOT INSIDE
+1F4A1 ; [*12DD.0020.0002.1F4A1] # ELECTRIC LIGHT BULB
+1F4A2 ; [*12DE.0020.0002.1F4A2] # ANGER SYMBOL
+1F4A3 ; [*12DF.0020.0002.1F4A3] # BOMB
+1F4A4 ; [*12E0.0020.0002.1F4A4] # SLEEPING SYMBOL
+1F4A5 ; [*12E1.0020.0002.1F4A5] # COLLISION SYMBOL
+1F4A6 ; [*12E2.0020.0002.1F4A6] # SPLASHING SWEAT SYMBOL
+1F4A7 ; [*12E3.0020.0002.1F4A7] # DROPLET
+1F4A8 ; [*12E4.0020.0002.1F4A8] # DASH SYMBOL
+1F4A9 ; [*12E5.0020.0002.1F4A9] # PILE OF POO
+1F4AA ; [*12E6.0020.0002.1F4AA] # FLEXED BICEPS
+1F4AB ; [*12E7.0020.0002.1F4AB] # DIZZY SYMBOL
+1F4AC ; [*12E8.0020.0002.1F4AC] # SPEECH BALLOON
+1F4AD ; [*12E9.0020.0002.1F4AD] # THOUGHT BALLOON
+1F4AE ; [*12EA.0020.0002.1F4AE] # WHITE FLOWER
+1F4AF ; [*12EB.0020.0002.1F4AF] # HUNDRED POINTS SYMBOL
+1F4B0 ; [*12EC.0020.0002.1F4B0] # MONEY BAG
+1F4B1 ; [*12ED.0020.0002.1F4B1] # CURRENCY EXCHANGE
+1F4B2 ; [*12EE.0020.0002.1F4B2] # HEAVY DOLLAR SIGN
+1F4B3 ; [*12EF.0020.0002.1F4B3] # CREDIT CARD
+1F4B4 ; [*12F0.0020.0002.1F4B4] # BANKNOTE WITH YEN SIGN
+1F4B5 ; [*12F1.0020.0002.1F4B5] # BANKNOTE WITH DOLLAR SIGN
+1F4B6 ; [*12F2.0020.0002.1F4B6] # BANKNOTE WITH EURO SIGN
+1F4B7 ; [*12F3.0020.0002.1F4B7] # BANKNOTE WITH POUND SIGN
+1F4B8 ; [*12F4.0020.0002.1F4B8] # MONEY WITH WINGS
+1F4B9 ; [*12F5.0020.0002.1F4B9] # CHART WITH UPWARDS TREND AND YEN SIGN
+1F4BA ; [*12F6.0020.0002.1F4BA] # SEAT
+1F4BB ; [*12F7.0020.0002.1F4BB] # PERSONAL COMPUTER
+1F4BC ; [*12F8.0020.0002.1F4BC] # BRIEFCASE
+1F4BD ; [*12F9.0020.0002.1F4BD] # MINIDISC
+1F4BE ; [*12FA.0020.0002.1F4BE] # FLOPPY DISK
+1F4BF ; [*12FB.0020.0002.1F4BF] # OPTICAL DISC
+1F4C0 ; [*12FC.0020.0002.1F4C0] # DVD
+1F4C1 ; [*12FD.0020.0002.1F4C1] # FILE FOLDER
+1F4C2 ; [*12FE.0020.0002.1F4C2] # OPEN FILE FOLDER
+1F4C3 ; [*12FF.0020.0002.1F4C3] # PAGE WITH CURL
+1F4C4 ; [*1300.0020.0002.1F4C4] # PAGE FACING UP
+1F4C5 ; [*1301.0020.0002.1F4C5] # CALENDAR
+1F4C6 ; [*1302.0020.0002.1F4C6] # TEAR-OFF CALENDAR
+1F4C7 ; [*1303.0020.0002.1F4C7] # CARD INDEX
+1F4C8 ; [*1304.0020.0002.1F4C8] # CHART WITH UPWARDS TREND
+1F4C9 ; [*1305.0020.0002.1F4C9] # CHART WITH DOWNWARDS TREND
+1F4CA ; [*1306.0020.0002.1F4CA] # BAR CHART
+1F4CB ; [*1307.0020.0002.1F4CB] # CLIPBOARD
+1F4CC ; [*1308.0020.0002.1F4CC] # PUSHPIN
+1F4CD ; [*1309.0020.0002.1F4CD] # ROUND PUSHPIN
+1F4CE ; [*130A.0020.0002.1F4CE] # PAPERCLIP
+1F4CF ; [*130B.0020.0002.1F4CF] # STRAIGHT RULER
+1F4D0 ; [*130C.0020.0002.1F4D0] # TRIANGULAR RULER
+1F4D1 ; [*130D.0020.0002.1F4D1] # BOOKMARK TABS
+1F4D2 ; [*130E.0020.0002.1F4D2] # LEDGER
+1F4D3 ; [*130F.0020.0002.1F4D3] # NOTEBOOK
+1F4D4 ; [*1310.0020.0002.1F4D4] # NOTEBOOK WITH DECORATIVE COVER
+1F4D5 ; [*1311.0020.0002.1F4D5] # CLOSED BOOK
+1F4D6 ; [*1312.0020.0002.1F4D6] # OPEN BOOK
+1F4D7 ; [*1313.0020.0002.1F4D7] # GREEN BOOK
+1F4D8 ; [*1314.0020.0002.1F4D8] # BLUE BOOK
+1F4D9 ; [*1315.0020.0002.1F4D9] # ORANGE BOOK
+1F4DA ; [*1316.0020.0002.1F4DA] # BOOKS
+1F4DB ; [*1317.0020.0002.1F4DB] # NAME BADGE
+1F4DC ; [*1318.0020.0002.1F4DC] # SCROLL
+1F4DD ; [*1319.0020.0002.1F4DD] # MEMO
+1F4DE ; [*131A.0020.0002.1F4DE] # TELEPHONE RECEIVER
+1F4DF ; [*131B.0020.0002.1F4DF] # PAGER
+1F4E0 ; [*131C.0020.0002.1F4E0] # FAX MACHINE
+1F4E1 ; [*131D.0020.0002.1F4E1] # SATELLITE ANTENNA
+1F4E2 ; [*131E.0020.0002.1F4E2] # PUBLIC ADDRESS LOUDSPEAKER
+1F4E3 ; [*131F.0020.0002.1F4E3] # CHEERING MEGAPHONE
+1F4E4 ; [*1320.0020.0002.1F4E4] # OUTBOX TRAY
+1F4E5 ; [*1321.0020.0002.1F4E5] # INBOX TRAY
+1F4E6 ; [*1322.0020.0002.1F4E6] # PACKAGE
+1F4E7 ; [*1323.0020.0002.1F4E7] # E-MAIL SYMBOL
+1F4E8 ; [*1324.0020.0002.1F4E8] # INCOMING ENVELOPE
+1F4E9 ; [*1325.0020.0002.1F4E9] # ENVELOPE WITH DOWNWARDS ARROW ABOVE
+1F4EA ; [*1326.0020.0002.1F4EA] # CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB ; [*1327.0020.0002.1F4EB] # CLOSED MAILBOX WITH RAISED FLAG
+1F4EC ; [*1328.0020.0002.1F4EC] # OPEN MAILBOX WITH RAISED FLAG
+1F4ED ; [*1329.0020.0002.1F4ED] # OPEN MAILBOX WITH LOWERED FLAG
+1F4EE ; [*132A.0020.0002.1F4EE] # POSTBOX
+1F4EF ; [*132B.0020.0002.1F4EF] # POSTAL HORN
+1F4F0 ; [*132C.0020.0002.1F4F0] # NEWSPAPER
+1F4F1 ; [*132D.0020.0002.1F4F1] # MOBILE PHONE
+1F4F2 ; [*132E.0020.0002.1F4F2] # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+1F4F3 ; [*132F.0020.0002.1F4F3] # VIBRATION MODE
+1F4F4 ; [*1330.0020.0002.1F4F4] # MOBILE PHONE OFF
+1F4F5 ; [*1331.0020.0002.1F4F5] # NO MOBILE PHONES
+1F4F6 ; [*1332.0020.0002.1F4F6] # ANTENNA WITH BARS
+1F4F7 ; [*1333.0020.0002.1F4F7] # CAMERA
+1F4F9 ; [*1334.0020.0002.1F4F9] # VIDEO CAMERA
+1F4FA ; [*1335.0020.0002.1F4FA] # TELEVISION
+1F4FB ; [*1336.0020.0002.1F4FB] # RADIO
+1F4FC ; [*1337.0020.0002.1F4FC] # VIDEOCASSETTE
+1F500 ; [*1338.0020.0002.1F500] # TWISTED RIGHTWARDS ARROWS
+1F501 ; [*1339.0020.0002.1F501] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
+1F502 ; [*133A.0020.0002.1F502] # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
+1F503 ; [*133B.0020.0002.1F503] # CLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F504 ; [*133C.0020.0002.1F504] # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
+1F505 ; [*133D.0020.0002.1F505] # LOW BRIGHTNESS SYMBOL
+1F506 ; [*133E.0020.0002.1F506] # HIGH BRIGHTNESS SYMBOL
+1F507 ; [*133F.0020.0002.1F507] # SPEAKER WITH CANCELLATION STROKE
+1F508 ; [*1340.0020.0002.1F508] # SPEAKER
+1F509 ; [*1341.0020.0002.1F509] # SPEAKER WITH ONE SOUND WAVE
+1F50A ; [*1342.0020.0002.1F50A] # SPEAKER WITH THREE SOUND WAVES
+1F50B ; [*1343.0020.0002.1F50B] # BATTERY
+1F50C ; [*1344.0020.0002.1F50C] # ELECTRIC PLUG
+1F50D ; [*1345.0020.0002.1F50D] # LEFT-POINTING MAGNIFYING GLASS
+1F50E ; [*1346.0020.0002.1F50E] # RIGHT-POINTING MAGNIFYING GLASS
+1F50F ; [*1347.0020.0002.1F50F] # LOCK WITH INK PEN
+1F510 ; [*1348.0020.0002.1F510] # CLOSED LOCK WITH KEY
+1F511 ; [*1349.0020.0002.1F511] # KEY
+1F512 ; [*134A.0020.0002.1F512] # LOCK
+1F513 ; [*134B.0020.0002.1F513] # OPEN LOCK
+1F514 ; [*134C.0020.0002.1F514] # BELL
+1F515 ; [*134D.0020.0002.1F515] # BELL WITH CANCELLATION STROKE
+1F516 ; [*134E.0020.0002.1F516] # BOOKMARK
+1F517 ; [*134F.0020.0002.1F517] # LINK SYMBOL
+1F518 ; [*1350.0020.0002.1F518] # RADIO BUTTON
+1F519 ; [*1351.0020.0002.1F519] # BACK WITH LEFTWARDS ARROW ABOVE
+1F51A ; [*1352.0020.0002.1F51A] # END WITH LEFTWARDS ARROW ABOVE
+1F51B ; [*1353.0020.0002.1F51B] # ON WITH EXCLAMATION MARK WITH LEFT RIGHT ARROW ABOVE
+1F51C ; [*1354.0020.0002.1F51C] # SOON WITH RIGHTWARDS ARROW ABOVE
+1F51D ; [*1355.0020.0002.1F51D] # TOP WITH UPWARDS ARROW ABOVE
+1F51E ; [*1356.0020.0002.1F51E] # NO ONE UNDER EIGHTEEN SYMBOL
+1F51F ; [*1357.0020.0002.1F51F] # KEYCAP TEN
+1F520 ; [*1358.0020.0002.1F520] # INPUT SYMBOL FOR LATIN CAPITAL LETTERS
+1F521 ; [*1359.0020.0002.1F521] # INPUT SYMBOL FOR LATIN SMALL LETTERS
+1F522 ; [*135A.0020.0002.1F522] # INPUT SYMBOL FOR NUMBERS
+1F523 ; [*135B.0020.0002.1F523] # INPUT SYMBOL FOR SYMBOLS
+1F524 ; [*135C.0020.0002.1F524] # INPUT SYMBOL FOR LATIN LETTERS
+1F525 ; [*135D.0020.0002.1F525] # FIRE
+1F526 ; [*135E.0020.0002.1F526] # ELECTRIC TORCH
+1F527 ; [*135F.0020.0002.1F527] # WRENCH
+1F528 ; [*1360.0020.0002.1F528] # HAMMER
+1F529 ; [*1361.0020.0002.1F529] # NUT AND BOLT
+1F52A ; [*1362.0020.0002.1F52A] # HOCHO
+1F52B ; [*1363.0020.0002.1F52B] # PISTOL
+1F52C ; [*1364.0020.0002.1F52C] # MICROSCOPE
+1F52D ; [*1365.0020.0002.1F52D] # TELESCOPE
+1F52E ; [*1366.0020.0002.1F52E] # CRYSTAL BALL
+1F52F ; [*1367.0020.0002.1F52F] # SIX POINTED STAR WITH MIDDLE DOT
+1F530 ; [*1368.0020.0002.1F530] # JAPANESE SYMBOL FOR BEGINNER
+1F531 ; [*1369.0020.0002.1F531] # TRIDENT EMBLEM
+1F532 ; [*136A.0020.0002.1F532] # BLACK SQUARE BUTTON
+1F533 ; [*136B.0020.0002.1F533] # WHITE SQUARE BUTTON
+1F534 ; [*136C.0020.0002.1F534] # LARGE RED CIRCLE
+1F535 ; [*136D.0020.0002.1F535] # LARGE BLUE CIRCLE
+1F536 ; [*136E.0020.0002.1F536] # LARGE ORANGE DIAMOND
+1F537 ; [*136F.0020.0002.1F537] # LARGE BLUE DIAMOND
+1F538 ; [*1370.0020.0002.1F538] # SMALL ORANGE DIAMOND
+1F539 ; [*1371.0020.0002.1F539] # SMALL BLUE DIAMOND
+1F53A ; [*1372.0020.0002.1F53A] # UP-POINTING RED TRIANGLE
+1F53B ; [*1373.0020.0002.1F53B] # DOWN-POINTING RED TRIANGLE
+1F53C ; [*1374.0020.0002.1F53C] # UP-POINTING SMALL RED TRIANGLE
+1F53D ; [*1375.0020.0002.1F53D] # DOWN-POINTING SMALL RED TRIANGLE
+1F540 ; [*1376.0020.0002.1F540] # CIRCLED CROSS POMMEE
+1F541 ; [*1377.0020.0002.1F541] # CROSS POMMEE WITH HALF-CIRCLE BELOW
+1F542 ; [*1378.0020.0002.1F542] # CROSS POMMEE
+1F543 ; [*1379.0020.0002.1F543] # NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
+1F550 ; [*137A.0020.0002.1F550] # CLOCK FACE ONE OCLOCK
+1F551 ; [*137B.0020.0002.1F551] # CLOCK FACE TWO OCLOCK
+1F552 ; [*137C.0020.0002.1F552] # CLOCK FACE THREE OCLOCK
+1F553 ; [*137D.0020.0002.1F553] # CLOCK FACE FOUR OCLOCK
+1F554 ; [*137E.0020.0002.1F554] # CLOCK FACE FIVE OCLOCK
+1F555 ; [*137F.0020.0002.1F555] # CLOCK FACE SIX OCLOCK
+1F556 ; [*1380.0020.0002.1F556] # CLOCK FACE SEVEN OCLOCK
+1F557 ; [*1381.0020.0002.1F557] # CLOCK FACE EIGHT OCLOCK
+1F558 ; [*1382.0020.0002.1F558] # CLOCK FACE NINE OCLOCK
+1F559 ; [*1383.0020.0002.1F559] # CLOCK FACE TEN OCLOCK
+1F55A ; [*1384.0020.0002.1F55A] # CLOCK FACE ELEVEN OCLOCK
+1F55B ; [*1385.0020.0002.1F55B] # CLOCK FACE TWELVE OCLOCK
+1F55C ; [*1386.0020.0002.1F55C] # CLOCK FACE ONE-THIRTY
+1F55D ; [*1387.0020.0002.1F55D] # CLOCK FACE TWO-THIRTY
+1F55E ; [*1388.0020.0002.1F55E] # CLOCK FACE THREE-THIRTY
+1F55F ; [*1389.0020.0002.1F55F] # CLOCK FACE FOUR-THIRTY
+1F560 ; [*138A.0020.0002.1F560] # CLOCK FACE FIVE-THIRTY
+1F561 ; [*138B.0020.0002.1F561] # CLOCK FACE SIX-THIRTY
+1F562 ; [*138C.0020.0002.1F562] # CLOCK FACE SEVEN-THIRTY
+1F563 ; [*138D.0020.0002.1F563] # CLOCK FACE EIGHT-THIRTY
+1F564 ; [*138E.0020.0002.1F564] # CLOCK FACE NINE-THIRTY
+1F565 ; [*138F.0020.0002.1F565] # CLOCK FACE TEN-THIRTY
+1F566 ; [*1390.0020.0002.1F566] # CLOCK FACE ELEVEN-THIRTY
+1F567 ; [*1391.0020.0002.1F567] # CLOCK FACE TWELVE-THIRTY
+1F5FB ; [*1392.0020.0002.1F5FB] # MOUNT FUJI
+1F5FC ; [*1393.0020.0002.1F5FC] # TOKYO TOWER
+1F5FD ; [*1394.0020.0002.1F5FD] # STATUE OF LIBERTY
+1F5FE ; [*1395.0020.0002.1F5FE] # SILHOUETTE OF JAPAN
+1F5FF ; [*1396.0020.0002.1F5FF] # MOYAI
+1F600 ; [*1397.0020.0002.1F600] # GRINNING FACE
+1F601 ; [*1398.0020.0002.1F601] # GRINNING FACE WITH SMILING EYES
+1F602 ; [*1399.0020.0002.1F602] # FACE WITH TEARS OF JOY
+1F603 ; [*139A.0020.0002.1F603] # SMILING FACE WITH OPEN MOUTH
+1F604 ; [*139B.0020.0002.1F604] # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
+1F605 ; [*139C.0020.0002.1F605] # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
+1F606 ; [*139D.0020.0002.1F606] # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
+1F607 ; [*139E.0020.0002.1F607] # SMILING FACE WITH HALO
+1F608 ; [*139F.0020.0002.1F608] # SMILING FACE WITH HORNS
+1F609 ; [*13A0.0020.0002.1F609] # WINKING FACE
+1F60A ; [*13A1.0020.0002.1F60A] # SMILING FACE WITH SMILING EYES
+1F60B ; [*13A2.0020.0002.1F60B] # FACE SAVOURING DELICIOUS FOOD
+1F60C ; [*13A3.0020.0002.1F60C] # RELIEVED FACE
+1F60D ; [*13A4.0020.0002.1F60D] # SMILING FACE WITH HEART-SHAPED EYES
+1F60E ; [*13A5.0020.0002.1F60E] # SMILING FACE WITH SUNGLASSES
+1F60F ; [*13A6.0020.0002.1F60F] # SMIRKING FACE
+1F610 ; [*13A7.0020.0002.1F610] # NEUTRAL FACE
+1F611 ; [*13A8.0020.0002.1F611] # EXPRESSIONLESS FACE
+1F612 ; [*13A9.0020.0002.1F612] # UNAMUSED FACE
+1F613 ; [*13AA.0020.0002.1F613] # FACE WITH COLD SWEAT
+1F614 ; [*13AB.0020.0002.1F614] # PENSIVE FACE
+1F615 ; [*13AC.0020.0002.1F615] # CONFUSED FACE
+1F616 ; [*13AD.0020.0002.1F616] # CONFOUNDED FACE
+1F617 ; [*13AE.0020.0002.1F617] # KISSING FACE
+1F618 ; [*13AF.0020.0002.1F618] # FACE THROWING A KISS
+1F619 ; [*13B0.0020.0002.1F619] # KISSING FACE WITH SMILING EYES
+1F61A ; [*13B1.0020.0002.1F61A] # KISSING FACE WITH CLOSED EYES
+1F61B ; [*13B2.0020.0002.1F61B] # FACE WITH STUCK-OUT TONGUE
+1F61C ; [*13B3.0020.0002.1F61C] # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
+1F61D ; [*13B4.0020.0002.1F61D] # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
+1F61E ; [*13B5.0020.0002.1F61E] # DISAPPOINTED FACE
+1F61F ; [*13B6.0020.0002.1F61F] # WORRIED FACE
+1F620 ; [*13B7.0020.0002.1F620] # ANGRY FACE
+1F621 ; [*13B8.0020.0002.1F621] # POUTING FACE
+1F622 ; [*13B9.0020.0002.1F622] # CRYING FACE
+1F623 ; [*13BA.0020.0002.1F623] # PERSEVERING FACE
+1F624 ; [*13BB.0020.0002.1F624] # FACE WITH LOOK OF TRIUMPH
+1F625 ; [*13BC.0020.0002.1F625] # DISAPPOINTED BUT RELIEVED FACE
+1F626 ; [*13BD.0020.0002.1F626] # FROWNING FACE WITH OPEN MOUTH
+1F627 ; [*13BE.0020.0002.1F627] # ANGUISHED FACE
+1F628 ; [*13BF.0020.0002.1F628] # FEARFUL FACE
+1F629 ; [*13C0.0020.0002.1F629] # WEARY FACE
+1F62A ; [*13C1.0020.0002.1F62A] # SLEEPY FACE
+1F62B ; [*13C2.0020.0002.1F62B] # TIRED FACE
+1F62C ; [*13C3.0020.0002.1F62C] # GRIMACING FACE
+1F62D ; [*13C4.0020.0002.1F62D] # LOUDLY CRYING FACE
+1F62E ; [*13C5.0020.0002.1F62E] # FACE WITH OPEN MOUTH
+1F62F ; [*13C6.0020.0002.1F62F] # HUSHED FACE
+1F630 ; [*13C7.0020.0002.1F630] # FACE WITH OPEN MOUTH AND COLD SWEAT
+1F631 ; [*13C8.0020.0002.1F631] # FACE SCREAMING IN FEAR
+1F632 ; [*13C9.0020.0002.1F632] # ASTONISHED FACE
+1F633 ; [*13CA.0020.0002.1F633] # FLUSHED FACE
+1F634 ; [*13CB.0020.0002.1F634] # SLEEPING FACE
+1F635 ; [*13CC.0020.0002.1F635] # DIZZY FACE
+1F636 ; [*13CD.0020.0002.1F636] # FACE WITHOUT MOUTH
+1F637 ; [*13CE.0020.0002.1F637] # FACE WITH MEDICAL MASK
+1F638 ; [*13CF.0020.0002.1F638] # GRINNING CAT FACE WITH SMILING EYES
+1F639 ; [*13D0.0020.0002.1F639] # CAT FACE WITH TEARS OF JOY
+1F63A ; [*13D1.0020.0002.1F63A] # SMILING CAT FACE WITH OPEN MOUTH
+1F63B ; [*13D2.0020.0002.1F63B] # SMILING CAT FACE WITH HEART-SHAPED EYES
+1F63C ; [*13D3.0020.0002.1F63C] # CAT FACE WITH WRY SMILE
+1F63D ; [*13D4.0020.0002.1F63D] # KISSING CAT FACE WITH CLOSED EYES
+1F63E ; [*13D5.0020.0002.1F63E] # POUTING CAT FACE
+1F63F ; [*13D6.0020.0002.1F63F] # CRYING CAT FACE
+1F640 ; [*13D7.0020.0002.1F640] # WEARY CAT FACE
+1F645 ; [*13D8.0020.0002.1F645] # FACE WITH NO GOOD GESTURE
+1F646 ; [*13D9.0020.0002.1F646] # FACE WITH OK GESTURE
+1F647 ; [*13DA.0020.0002.1F647] # PERSON BOWING DEEPLY
+1F648 ; [*13DB.0020.0002.1F648] # SEE-NO-EVIL MONKEY
+1F649 ; [*13DC.0020.0002.1F649] # HEAR-NO-EVIL MONKEY
+1F64A ; [*13DD.0020.0002.1F64A] # SPEAK-NO-EVIL MONKEY
+1F64B ; [*13DE.0020.0002.1F64B] # HAPPY PERSON RAISING ONE HAND
+1F64C ; [*13DF.0020.0002.1F64C] # PERSON RAISING BOTH HANDS IN CELEBRATION
+1F64D ; [*13E0.0020.0002.1F64D] # PERSON FROWNING
+1F64E ; [*13E1.0020.0002.1F64E] # PERSON WITH POUTING FACE
+1F64F ; [*13E2.0020.0002.1F64F] # PERSON WITH FOLDED HANDS
+1F680 ; [*13E3.0020.0002.1F680] # ROCKET
+1F681 ; [*13E4.0020.0002.1F681] # HELICOPTER
+1F682 ; [*13E5.0020.0002.1F682] # STEAM LOCOMOTIVE
+1F683 ; [*13E6.0020.0002.1F683] # RAILWAY CAR
+1F684 ; [*13E7.0020.0002.1F684] # HIGH-SPEED TRAIN
+1F685 ; [*13E8.0020.0002.1F685] # HIGH-SPEED TRAIN WITH BULLET NOSE
+1F686 ; [*13E9.0020.0002.1F686] # TRAIN
+1F687 ; [*13EA.0020.0002.1F687] # METRO
+1F688 ; [*13EB.0020.0002.1F688] # LIGHT RAIL
+1F689 ; [*13EC.0020.0002.1F689] # STATION
+1F68A ; [*13ED.0020.0002.1F68A] # TRAM
+1F68B ; [*13EE.0020.0002.1F68B] # TRAM CAR
+1F68C ; [*13EF.0020.0002.1F68C] # BUS
+1F68D ; [*13F0.0020.0002.1F68D] # ONCOMING BUS
+1F68E ; [*13F1.0020.0002.1F68E] # TROLLEYBUS
+1F68F ; [*13F2.0020.0002.1F68F] # BUS STOP
+1F690 ; [*13F3.0020.0002.1F690] # MINIBUS
+1F691 ; [*13F4.0020.0002.1F691] # AMBULANCE
+1F692 ; [*13F5.0020.0002.1F692] # FIRE ENGINE
+1F693 ; [*13F6.0020.0002.1F693] # POLICE CAR
+1F694 ; [*13F7.0020.0002.1F694] # ONCOMING POLICE CAR
+1F695 ; [*13F8.0020.0002.1F695] # TAXI
+1F696 ; [*13F9.0020.0002.1F696] # ONCOMING TAXI
+1F697 ; [*13FA.0020.0002.1F697] # AUTOMOBILE
+1F698 ; [*13FB.0020.0002.1F698] # ONCOMING AUTOMOBILE
+1F699 ; [*13FC.0020.0002.1F699] # RECREATIONAL VEHICLE
+1F69A ; [*13FD.0020.0002.1F69A] # DELIVERY TRUCK
+1F69B ; [*13FE.0020.0002.1F69B] # ARTICULATED LORRY
+1F69C ; [*13FF.0020.0002.1F69C] # TRACTOR
+1F69D ; [*1400.0020.0002.1F69D] # MONORAIL
+1F69E ; [*1401.0020.0002.1F69E] # MOUNTAIN RAILWAY
+1F69F ; [*1402.0020.0002.1F69F] # SUSPENSION RAILWAY
+1F6A0 ; [*1403.0020.0002.1F6A0] # MOUNTAIN CABLEWAY
+1F6A1 ; [*1404.0020.0002.1F6A1] # AERIAL TRAMWAY
+1F6A2 ; [*1405.0020.0002.1F6A2] # SHIP
+1F6A3 ; [*1406.0020.0002.1F6A3] # ROWBOAT
+1F6A4 ; [*1407.0020.0002.1F6A4] # SPEEDBOAT
+1F6A5 ; [*1408.0020.0002.1F6A5] # HORIZONTAL TRAFFIC LIGHT
+1F6A6 ; [*1409.0020.0002.1F6A6] # VERTICAL TRAFFIC LIGHT
+1F6A7 ; [*140A.0020.0002.1F6A7] # CONSTRUCTION SIGN
+1F6A8 ; [*140B.0020.0002.1F6A8] # POLICE CARS REVOLVING LIGHT
+1F6A9 ; [*140C.0020.0002.1F6A9] # TRIANGULAR FLAG ON POST
+1F6AA ; [*140D.0020.0002.1F6AA] # DOOR
+1F6AB ; [*140E.0020.0002.1F6AB] # NO ENTRY SIGN
+1F6AC ; [*140F.0020.0002.1F6AC] # SMOKING SYMBOL
+1F6AD ; [*1410.0020.0002.1F6AD] # NO SMOKING SYMBOL
+1F6AE ; [*1411.0020.0002.1F6AE] # PUT LITTER IN ITS PLACE SYMBOL
+1F6AF ; [*1412.0020.0002.1F6AF] # DO NOT LITTER SYMBOL
+1F6B0 ; [*1413.0020.0002.1F6B0] # POTABLE WATER SYMBOL
+1F6B1 ; [*1414.0020.0002.1F6B1] # NON-POTABLE WATER SYMBOL
+1F6B2 ; [*1415.0020.0002.1F6B2] # BICYCLE
+1F6B3 ; [*1416.0020.0002.1F6B3] # NO BICYCLES
+1F6B4 ; [*1417.0020.0002.1F6B4] # BICYCLIST
+1F6B5 ; [*1418.0020.0002.1F6B5] # MOUNTAIN BICYCLIST
+1F6B6 ; [*1419.0020.0002.1F6B6] # PEDESTRIAN
+1F6B7 ; [*141A.0020.0002.1F6B7] # NO PEDESTRIANS
+1F6B8 ; [*141B.0020.0002.1F6B8] # CHILDREN CROSSING
+1F6B9 ; [*141C.0020.0002.1F6B9] # MENS SYMBOL
+1F6BA ; [*141D.0020.0002.1F6BA] # WOMENS SYMBOL
+1F6BB ; [*141E.0020.0002.1F6BB] # RESTROOM
+1F6BC ; [*141F.0020.0002.1F6BC] # BABY SYMBOL
+1F6BD ; [*1420.0020.0002.1F6BD] # TOILET
+1F6BE ; [*1421.0020.0002.1F6BE] # WATER CLOSET
+1F6BF ; [*1422.0020.0002.1F6BF] # SHOWER
+1F6C0 ; [*1423.0020.0002.1F6C0] # BATH
+1F6C1 ; [*1424.0020.0002.1F6C1] # BATHTUB
+1F6C2 ; [*1425.0020.0002.1F6C2] # PASSPORT CONTROL
+1F6C3 ; [*1426.0020.0002.1F6C3] # CUSTOMS
+1F6C4 ; [*1427.0020.0002.1F6C4] # BAGGAGE CLAIM
+1F6C5 ; [*1428.0020.0002.1F6C5] # LEFT LUGGAGE
+1F700 ; [*1429.0020.0002.1F700] # ALCHEMICAL SYMBOL FOR QUINTESSENCE
+1F701 ; [*142A.0020.0002.1F701] # ALCHEMICAL SYMBOL FOR AIR
+1F702 ; [*142B.0020.0002.1F702] # ALCHEMICAL SYMBOL FOR FIRE
+1F703 ; [*142C.0020.0002.1F703] # ALCHEMICAL SYMBOL FOR EARTH
+1F704 ; [*142D.0020.0002.1F704] # ALCHEMICAL SYMBOL FOR WATER
+1F705 ; [*142E.0020.0002.1F705] # ALCHEMICAL SYMBOL FOR AQUAFORTIS
+1F706 ; [*142F.0020.0002.1F706] # ALCHEMICAL SYMBOL FOR AQUA REGIA
+1F707 ; [*1430.0020.0002.1F707] # ALCHEMICAL SYMBOL FOR AQUA REGIA-2
+1F708 ; [*1431.0020.0002.1F708] # ALCHEMICAL SYMBOL FOR AQUA VITAE
+1F709 ; [*1432.0020.0002.1F709] # ALCHEMICAL SYMBOL FOR AQUA VITAE-2
+1F70A ; [*1433.0020.0002.1F70A] # ALCHEMICAL SYMBOL FOR VINEGAR
+1F70B ; [*1434.0020.0002.1F70B] # ALCHEMICAL SYMBOL FOR VINEGAR-2
+1F70C ; [*1435.0020.0002.1F70C] # ALCHEMICAL SYMBOL FOR VINEGAR-3
+1F70D ; [*1436.0020.0002.1F70D] # ALCHEMICAL SYMBOL FOR SULFUR
+1F70E ; [*1437.0020.0002.1F70E] # ALCHEMICAL SYMBOL FOR PHILOSOPHERS SULFUR
+1F70F ; [*1438.0020.0002.1F70F] # ALCHEMICAL SYMBOL FOR BLACK SULFUR
+1F710 ; [*1439.0020.0002.1F710] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE
+1F711 ; [*143A.0020.0002.1F711] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-2
+1F712 ; [*143B.0020.0002.1F712] # ALCHEMICAL SYMBOL FOR MERCURY SUBLIMATE-3
+1F713 ; [*143C.0020.0002.1F713] # ALCHEMICAL SYMBOL FOR CINNABAR
+1F714 ; [*143D.0020.0002.1F714] # ALCHEMICAL SYMBOL FOR SALT
+1F715 ; [*143E.0020.0002.1F715] # ALCHEMICAL SYMBOL FOR NITRE
+1F716 ; [*143F.0020.0002.1F716] # ALCHEMICAL SYMBOL FOR VITRIOL
+1F717 ; [*1440.0020.0002.1F717] # ALCHEMICAL SYMBOL FOR VITRIOL-2
+1F718 ; [*1441.0020.0002.1F718] # ALCHEMICAL SYMBOL FOR ROCK SALT
+1F719 ; [*1442.0020.0002.1F719] # ALCHEMICAL SYMBOL FOR ROCK SALT-2
+1F71A ; [*1443.0020.0002.1F71A] # ALCHEMICAL SYMBOL FOR GOLD
+1F71B ; [*1444.0020.0002.1F71B] # ALCHEMICAL SYMBOL FOR SILVER
+1F71C ; [*1445.0020.0002.1F71C] # ALCHEMICAL SYMBOL FOR IRON ORE
+1F71D ; [*1446.0020.0002.1F71D] # ALCHEMICAL SYMBOL FOR IRON ORE-2
+1F71E ; [*1447.0020.0002.1F71E] # ALCHEMICAL SYMBOL FOR CROCUS OF IRON
+1F71F ; [*1448.0020.0002.1F71F] # ALCHEMICAL SYMBOL FOR REGULUS OF IRON
+1F720 ; [*1449.0020.0002.1F720] # ALCHEMICAL SYMBOL FOR COPPER ORE
+1F721 ; [*144A.0020.0002.1F721] # ALCHEMICAL SYMBOL FOR IRON-COPPER ORE
+1F722 ; [*144B.0020.0002.1F722] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF COPPER
+1F723 ; [*144C.0020.0002.1F723] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER
+1F724 ; [*144D.0020.0002.1F724] # ALCHEMICAL SYMBOL FOR CROCUS OF COPPER-2
+1F725 ; [*144E.0020.0002.1F725] # ALCHEMICAL SYMBOL FOR COPPER ANTIMONIATE
+1F726 ; [*144F.0020.0002.1F726] # ALCHEMICAL SYMBOL FOR SALT OF COPPER ANTIMONIATE
+1F727 ; [*1450.0020.0002.1F727] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF COPPER
+1F728 ; [*1451.0020.0002.1F728] # ALCHEMICAL SYMBOL FOR VERDIGRIS
+1F729 ; [*1452.0020.0002.1F729] # ALCHEMICAL SYMBOL FOR TIN ORE
+1F72A ; [*1453.0020.0002.1F72A] # ALCHEMICAL SYMBOL FOR LEAD ORE
+1F72B ; [*1454.0020.0002.1F72B] # ALCHEMICAL SYMBOL FOR ANTIMONY ORE
+1F72C ; [*1455.0020.0002.1F72C] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF ANTIMONY
+1F72D ; [*1456.0020.0002.1F72D] # ALCHEMICAL SYMBOL FOR SALT OF ANTIMONY
+1F72E ; [*1457.0020.0002.1F72E] # ALCHEMICAL SYMBOL FOR SUBLIMATE OF SALT OF ANTIMONY
+1F72F ; [*1458.0020.0002.1F72F] # ALCHEMICAL SYMBOL FOR VINEGAR OF ANTIMONY
+1F730 ; [*1459.0020.0002.1F730] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY
+1F731 ; [*145A.0020.0002.1F731] # ALCHEMICAL SYMBOL FOR REGULUS OF ANTIMONY-2
+1F732 ; [*145B.0020.0002.1F732] # ALCHEMICAL SYMBOL FOR REGULUS
+1F733 ; [*145C.0020.0002.1F733] # ALCHEMICAL SYMBOL FOR REGULUS-2
+1F734 ; [*145D.0020.0002.1F734] # ALCHEMICAL SYMBOL FOR REGULUS-3
+1F735 ; [*145E.0020.0002.1F735] # ALCHEMICAL SYMBOL FOR REGULUS-4
+1F736 ; [*145F.0020.0002.1F736] # ALCHEMICAL SYMBOL FOR ALKALI
+1F737 ; [*1460.0020.0002.1F737] # ALCHEMICAL SYMBOL FOR ALKALI-2
+1F738 ; [*1461.0020.0002.1F738] # ALCHEMICAL SYMBOL FOR MARCASITE
+1F739 ; [*1462.0020.0002.1F739] # ALCHEMICAL SYMBOL FOR SAL-AMMONIAC
+1F73A ; [*1463.0020.0002.1F73A] # ALCHEMICAL SYMBOL FOR ARSENIC
+1F73B ; [*1464.0020.0002.1F73B] # ALCHEMICAL SYMBOL FOR REALGAR
+1F73C ; [*1465.0020.0002.1F73C] # ALCHEMICAL SYMBOL FOR REALGAR-2
+1F73D ; [*1466.0020.0002.1F73D] # ALCHEMICAL SYMBOL FOR AURIPIGMENT
+1F73E ; [*1467.0020.0002.1F73E] # ALCHEMICAL SYMBOL FOR BISMUTH ORE
+1F73F ; [*1468.0020.0002.1F73F] # ALCHEMICAL SYMBOL FOR TARTAR
+1F740 ; [*1469.0020.0002.1F740] # ALCHEMICAL SYMBOL FOR TARTAR-2
+1F741 ; [*146A.0020.0002.1F741] # ALCHEMICAL SYMBOL FOR QUICK LIME
+1F742 ; [*146B.0020.0002.1F742] # ALCHEMICAL SYMBOL FOR BORAX
+1F743 ; [*146C.0020.0002.1F743] # ALCHEMICAL SYMBOL FOR BORAX-2
+1F744 ; [*146D.0020.0002.1F744] # ALCHEMICAL SYMBOL FOR BORAX-3
+1F745 ; [*146E.0020.0002.1F745] # ALCHEMICAL SYMBOL FOR ALUM
+1F746 ; [*146F.0020.0002.1F746] # ALCHEMICAL SYMBOL FOR OIL
+1F747 ; [*1470.0020.0002.1F747] # ALCHEMICAL SYMBOL FOR SPIRIT
+1F748 ; [*1471.0020.0002.1F748] # ALCHEMICAL SYMBOL FOR TINCTURE
+1F749 ; [*1472.0020.0002.1F749] # ALCHEMICAL SYMBOL FOR GUM
+1F74A ; [*1473.0020.0002.1F74A] # ALCHEMICAL SYMBOL FOR WAX
+1F74B ; [*1474.0020.0002.1F74B] # ALCHEMICAL SYMBOL FOR POWDER
+1F74C ; [*1475.0020.0002.1F74C] # ALCHEMICAL SYMBOL FOR CALX
+1F74D ; [*1476.0020.0002.1F74D] # ALCHEMICAL SYMBOL FOR TUTTY
+1F74E ; [*1477.0020.0002.1F74E] # ALCHEMICAL SYMBOL FOR CAPUT MORTUUM
+1F74F ; [*1478.0020.0002.1F74F] # ALCHEMICAL SYMBOL FOR SCEPTER OF JOVE
+1F750 ; [*1479.0020.0002.1F750] # ALCHEMICAL SYMBOL FOR CADUCEUS
+1F751 ; [*147A.0020.0002.1F751] # ALCHEMICAL SYMBOL FOR TRIDENT
+1F752 ; [*147B.0020.0002.1F752] # ALCHEMICAL SYMBOL FOR STARRED TRIDENT
+1F753 ; [*147C.0020.0002.1F753] # ALCHEMICAL SYMBOL FOR LODESTONE
+1F754 ; [*147D.0020.0002.1F754] # ALCHEMICAL SYMBOL FOR SOAP
+1F755 ; [*147E.0020.0002.1F755] # ALCHEMICAL SYMBOL FOR URINE
+1F756 ; [*147F.0020.0002.1F756] # ALCHEMICAL SYMBOL FOR HORSE DUNG
+1F757 ; [*1480.0020.0002.1F757] # ALCHEMICAL SYMBOL FOR ASHES
+1F758 ; [*1481.0020.0002.1F758] # ALCHEMICAL SYMBOL FOR POT ASHES
+1F759 ; [*1482.0020.0002.1F759] # ALCHEMICAL SYMBOL FOR BRICK
+1F75A ; [*1483.0020.0002.1F75A] # ALCHEMICAL SYMBOL FOR POWDERED BRICK
+1F75B ; [*1484.0020.0002.1F75B] # ALCHEMICAL SYMBOL FOR AMALGAM
+1F75C ; [*1485.0020.0002.1F75C] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM
+1F75D ; [*1486.0020.0002.1F75D] # ALCHEMICAL SYMBOL FOR STRATUM SUPER STRATUM-2
+1F75E ; [*1487.0020.0002.1F75E] # ALCHEMICAL SYMBOL FOR SUBLIMATION
+1F75F ; [*1488.0020.0002.1F75F] # ALCHEMICAL SYMBOL FOR PRECIPITATE
+1F760 ; [*1489.0020.0002.1F760] # ALCHEMICAL SYMBOL FOR DISTILL
+1F761 ; [*148A.0020.0002.1F761] # ALCHEMICAL SYMBOL FOR DISSOLVE
+1F762 ; [*148B.0020.0002.1F762] # ALCHEMICAL SYMBOL FOR DISSOLVE-2
+1F763 ; [*148C.0020.0002.1F763] # ALCHEMICAL SYMBOL FOR PURIFY
+1F764 ; [*148D.0020.0002.1F764] # ALCHEMICAL SYMBOL FOR PUTREFACTION
+1F765 ; [*148E.0020.0002.1F765] # ALCHEMICAL SYMBOL FOR CRUCIBLE
+1F766 ; [*148F.0020.0002.1F766] # ALCHEMICAL SYMBOL FOR CRUCIBLE-2
+1F767 ; [*1490.0020.0002.1F767] # ALCHEMICAL SYMBOL FOR CRUCIBLE-3
+1F768 ; [*1491.0020.0002.1F768] # ALCHEMICAL SYMBOL FOR CRUCIBLE-4
+1F769 ; [*1492.0020.0002.1F769] # ALCHEMICAL SYMBOL FOR CRUCIBLE-5
+1F76A ; [*1493.0020.0002.1F76A] # ALCHEMICAL SYMBOL FOR ALEMBIC
+1F76B ; [*1494.0020.0002.1F76B] # ALCHEMICAL SYMBOL FOR BATH OF MARY
+1F76C ; [*1495.0020.0002.1F76C] # ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
+1F76D ; [*1496.0020.0002.1F76D] # ALCHEMICAL SYMBOL FOR RETORT
+1F76E ; [*1497.0020.0002.1F76E] # ALCHEMICAL SYMBOL FOR HOUR
+1F76F ; [*1498.0020.0002.1F76F] # ALCHEMICAL SYMBOL FOR NIGHT
+1F770 ; [*1499.0020.0002.1F770] # ALCHEMICAL SYMBOL FOR DAY-NIGHT
+1F771 ; [*149A.0020.0002.1F771] # ALCHEMICAL SYMBOL FOR MONTH
+1F772 ; [*149B.0020.0002.1F772] # ALCHEMICAL SYMBOL FOR HALF DRAM
+1F773 ; [*149C.0020.0002.1F773] # ALCHEMICAL SYMBOL FOR HALF OUNCE
 0332  ; [.0000.0021.0002.0332] # COMBINING LOW LINE
 0313  ; [.0000.0022.0002.0313] # COMBINING COMMA ABOVE
-0343  ; [.0000.0022.0002.0343] # COMBINING GREEK KORONIS; QQC
-0486  ; [.0000.0022.0002.0486] # COMBINING CYRILLIC PSILI PNEUMATA; QQC
-2CF1  ; [.0000.0022.0002.2CF1] # COPTIC COMBINING SPIRITUS LENIS; QQC
+0343  ; [.0000.0022.0002.0343] # COMBINING GREEK KORONIS
+0486  ; [.0000.0022.0002.0486] # COMBINING CYRILLIC PSILI PNEUMATA
+2CF1  ; [.0000.0022.0002.2CF1] # COPTIC COMBINING SPIRITUS LENIS
 0314  ; [.0000.002A.0002.0314] # COMBINING REVERSED COMMA ABOVE
-0485  ; [.0000.002A.0002.0485] # COMBINING CYRILLIC DASIA PNEUMATA; QQC
-2CF0  ; [.0000.002A.0002.2CF0] # COPTIC COMBINING SPIRITUS ASPER; QQC
+0485  ; [.0000.002A.0002.0485] # COMBINING CYRILLIC DASIA PNEUMATA
+2CF0  ; [.0000.002A.0002.2CF0] # COPTIC COMBINING SPIRITUS ASPER
 0301  ; [.0000.0032.0002.0301] # COMBINING ACUTE ACCENT
-0341  ; [.0000.0032.0002.0341] # COMBINING ACUTE TONE MARK; QQC
-0954  ; [.0000.0032.0002.0954] # DEVANAGARI ACUTE ACCENT; QQC
+0341  ; [.0000.0032.0002.0341] # COMBINING ACUTE TONE MARK
+0954  ; [.0000.0032.0002.0954] # DEVANAGARI ACUTE ACCENT
 0300  ; [.0000.0035.0002.0300] # COMBINING GRAVE ACCENT
-0340  ; [.0000.0035.0002.0340] # COMBINING GRAVE TONE MARK; QQC
-0953  ; [.0000.0035.0002.0953] # DEVANAGARI GRAVE ACCENT; QQC
+0340  ; [.0000.0035.0002.0340] # COMBINING GRAVE TONE MARK
+0953  ; [.0000.0035.0002.0953] # DEVANAGARI GRAVE ACCENT
 0306  ; [.0000.0037.0002.0306] # COMBINING BREVE
 0302  ; [.0000.003C.0002.0302] # COMBINING CIRCUMFLEX ACCENT
 030C  ; [.0000.0041.0002.030C] # COMBINING CARON
@@ -5889,7 +5974,7 @@
 030A  ; [.0000.0043.0002.030A] # COMBINING RING ABOVE
 0342  ; [.0000.0045.0002.0342] # COMBINING GREEK PERISPOMENI
 0308  ; [.0000.0047.0002.0308] # COMBINING DIAERESIS
-0344  ; [.0000.0047.0002.0308][.0000.0032.0002.0301] # COMBINING GREEK DIALYTIKA TONOS; QQCM
+0344  ; [.0000.0047.0002.0308][.0000.0032.0002.0301] # COMBINING GREEK DIALYTIKA TONOS
 030B  ; [.0000.004D.0002.030B] # COMBINING DOUBLE ACUTE ACCENT
 0303  ; [.0000.004E.0002.0303] # COMBINING TILDE
 0307  ; [.0000.0052.0002.0307] # COMBINING DOT ABOVE
@@ -5897,120 +5982,119 @@
 0327  ; [.0000.0056.0002.0327] # COMBINING CEDILLA
 0328  ; [.0000.0059.0002.0328] # COMBINING OGONEK
 0304  ; [.0000.005B.0002.0304] # COMBINING MACRON
-030D  ; [.0000.005F.0002.030D] # COMBINING VERTICAL LINE ABOVE; QQC
-030E  ; [.0000.005F.0002.030E] # COMBINING DOUBLE VERTICAL LINE ABOVE; QQC
-0312  ; [.0000.005F.0002.0312] # COMBINING TURNED COMMA ABOVE; QQC
-0315  ; [.0000.005F.0002.0315] # COMBINING COMMA ABOVE RIGHT; QQC
-031A  ; [.0000.005F.0002.031A] # COMBINING LEFT ANGLE ABOVE; QQC
-033D  ; [.0000.005F.0002.033D] # COMBINING X ABOVE; QQC
-033E  ; [.0000.005F.0002.033E] # COMBINING VERTICAL TILDE; QQC
-033F  ; [.0000.005F.0002.033F] # COMBINING DOUBLE OVERLINE; QQC
-0346  ; [.0000.005F.0002.0346] # COMBINING BRIDGE ABOVE; QQC
-034A  ; [.0000.005F.0002.034A] # COMBINING NOT TILDE ABOVE; QQC
-034B  ; [.0000.005F.0002.034B] # COMBINING HOMOTHETIC ABOVE; QQC
-034C  ; [.0000.005F.0002.034C] # COMBINING ALMOST EQUAL TO ABOVE; QQC
-0350  ; [.0000.005F.0002.0350] # COMBINING RIGHT ARROWHEAD ABOVE; QQC
-0351  ; [.0000.005F.0002.0351] # COMBINING LEFT HALF RING ABOVE; QQC
-0352  ; [.0000.005F.0002.0352] # COMBINING FERMATA; QQC
-0357  ; [.0000.005F.0002.0357] # COMBINING RIGHT HALF RING ABOVE; QQC
-035B  ; [.0000.005F.0002.035B] # COMBINING ZIGZAG ABOVE; QQC
-035D  ; [.0000.005F.0002.035D] # COMBINING DOUBLE BREVE; QQC
-035E  ; [.0000.005F.0002.035E] # COMBINING DOUBLE MACRON; QQC
-0484  ; [.0000.005F.0002.0484] # COMBINING CYRILLIC PALATALIZATION; QQC
-0487  ; [.0000.005F.0002.0487] # COMBINING CYRILLIC POKRYTIE; QQC
-0741  ; [.0000.005F.0002.0741] # SYRIAC QUSHSHAYA; QQC
-0745  ; [.0000.005F.0002.0745] # SYRIAC THREE DOTS ABOVE; QQC
-17CB  ; [.0000.005F.0002.17CB] # KHMER SIGN BANTOC; QQC
-17CC  ; [.0000.005F.0002.17CC] # KHMER SIGN ROBAT; QQC
-17CD  ; [.0000.005F.0002.17CD] # KHMER SIGN TOANDAKHIAT; QQC
-17CE  ; [.0000.005F.0002.17CE] # KHMER SIGN KAKABAT; QQC
-17CF  ; [.0000.005F.0002.17CF] # KHMER SIGN AHSDA; QQC
-17D0  ; [.0000.005F.0002.17D0] # KHMER SIGN SAMYOK SANNYA; QQC
-17D1  ; [.0000.005F.0002.17D1] # KHMER SIGN VIRIAM; QQC
-17DD  ; [.0000.005F.0002.17DD] # KHMER SIGN ATTHACAN; QQC
-1BE6  ; [.0000.005F.0002.1BE6] # BATAK SIGN TOMPI; QQC
-1DC0  ; [.0000.005F.0002.1DC0] # COMBINING DOTTED GRAVE ACCENT; QQC
-1DC1  ; [.0000.005F.0002.1DC1] # COMBINING DOTTED ACUTE ACCENT; QQC
-1DC3  ; [.0000.005F.0002.1DC3] # COMBINING SUSPENSION MARK; QQC
-1DC4  ; [.0000.005F.0002.1DC4] # COMBINING MACRON-ACUTE; QQC
-1DC5  ; [.0000.005F.0002.1DC5] # COMBINING GRAVE-MACRON; QQC
-1DC6  ; [.0000.005F.0002.1DC6] # COMBINING MACRON-GRAVE; QQC
-1DC7  ; [.0000.005F.0002.1DC7] # COMBINING ACUTE-MACRON; QQC
-1DC8  ; [.0000.005F.0002.1DC8] # COMBINING GRAVE-ACUTE-GRAVE; QQC
-1DC9  ; [.0000.005F.0002.1DC9] # COMBINING ACUTE-GRAVE-ACUTE; QQC
-1DCB  ; [.0000.005F.0002.1DCB] # COMBINING BREVE-MACRON; QQC
-1DCC  ; [.0000.005F.0002.1DCC] # COMBINING MACRON-BREVE; QQC
-1DCD  ; [.0000.005F.0002.1DCD] # COMBINING DOUBLE CIRCUMFLEX ABOVE; QQC
-1DCE  ; [.0000.005F.0002.1DCE] # COMBINING OGONEK ABOVE; QQC
-1DD1  ; [.0000.005F.0002.1DD1] # COMBINING UR ABOVE; QQC
-1DFE  ; [.0000.005F.0002.1DFE] # COMBINING LEFT ARROWHEAD ABOVE; QQC
-20F0  ; [.0000.005F.0002.20F0] # COMBINING ASTERISK ABOVE; QQC
-2CEF  ; [.0000.005F.0002.2CEF] # COPTIC COMBINING NI ABOVE; QQC
-A67C  ; [.0000.005F.0002.A67C] # COMBINING CYRILLIC KAVYKA; QQC
-A67D  ; [.0000.005F.0002.A67D] # COMBINING CYRILLIC PAYEROK; QQC
-0316  ; [.0000.0060.0002.0316] # COMBINING GRAVE ACCENT BELOW; QQC
-0317  ; [.0000.0060.0002.0317] # COMBINING ACUTE ACCENT BELOW; QQC
-0318  ; [.0000.0060.0002.0318] # COMBINING LEFT TACK BELOW; QQC
-0319  ; [.0000.0060.0002.0319] # COMBINING RIGHT TACK BELOW; QQC
-031C  ; [.0000.0060.0002.031C] # COMBINING LEFT HALF RING BELOW; QQC
-031D  ; [.0000.0060.0002.031D] # COMBINING UP TACK BELOW; QQC
-031E  ; [.0000.0060.0002.031E] # COMBINING DOWN TACK BELOW; QQC
-031F  ; [.0000.0060.0002.031F] # COMBINING PLUS SIGN BELOW; QQC
-0320  ; [.0000.0060.0002.0320] # COMBINING MINUS SIGN BELOW; QQC
-0329  ; [.0000.0060.0002.0329] # COMBINING VERTICAL LINE BELOW; QQC
-032A  ; [.0000.0060.0002.032A] # COMBINING BRIDGE BELOW; QQC
-032B  ; [.0000.0060.0002.032B] # COMBINING INVERTED DOUBLE ARCH BELOW; QQC
-032C  ; [.0000.0060.0002.032C] # COMBINING CARON BELOW; QQC
-032F  ; [.0000.0060.0002.032F] # COMBINING INVERTED BREVE BELOW; QQC
-0333  ; [.0000.0060.0002.0333] # COMBINING DOUBLE LOW LINE; QQC
-033A  ; [.0000.0060.0002.033A] # COMBINING INVERTED BRIDGE BELOW; QQC
-033B  ; [.0000.0060.0002.033B] # COMBINING SQUARE BELOW; QQC
-033C  ; [.0000.0060.0002.033C] # COMBINING SEAGULL BELOW; QQC
-0347  ; [.0000.0060.0002.0347] # COMBINING EQUALS SIGN BELOW; QQC
-0348  ; [.0000.0060.0002.0348] # COMBINING DOUBLE VERTICAL LINE BELOW; QQC
-0349  ; [.0000.0060.0002.0349] # COMBINING LEFT ANGLE BELOW; QQC
-034D  ; [.0000.0060.0002.034D] # COMBINING LEFT RIGHT ARROW BELOW; QQC
-034E  ; [.0000.0060.0002.034E] # COMBINING UPWARDS ARROW BELOW; QQC
-0353  ; [.0000.0060.0002.0353] # COMBINING X BELOW; QQC
-0354  ; [.0000.0060.0002.0354] # COMBINING LEFT ARROWHEAD BELOW; QQC
-0355  ; [.0000.0060.0002.0355] # COMBINING RIGHT ARROWHEAD BELOW; QQC
-0356  ; [.0000.0060.0002.0356] # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW; QQC
-0359  ; [.0000.0060.0002.0359] # COMBINING ASTERISK BELOW; QQC
-035A  ; [.0000.0060.0002.035A] # COMBINING DOUBLE RING BELOW; QQC
-035C  ; [.0000.0060.0002.035C] # COMBINING DOUBLE BREVE BELOW; QQC
-035F  ; [.0000.0060.0002.035F] # COMBINING DOUBLE MACRON BELOW; QQC
-0362  ; [.0000.0060.0002.0362] # COMBINING DOUBLE RIGHTWARDS ARROW BELOW; QQC
-0742  ; [.0000.0060.0002.0742] # SYRIAC RUKKAKHA; QQC
-0746  ; [.0000.0060.0002.0746] # SYRIAC THREE DOTS BELOW; QQC
-0859  ; [.0000.0060.0002.0859] # MANDAIC AFFRICATION MARK; QQC
-085A  ; [.0000.0060.0002.085A] # MANDAIC VOCALIZATION MARK; QQC
-085B  ; [.0000.0060.0002.085B] # MANDAIC GEMINATION MARK; QQC
-1DC2  ; [.0000.0060.0002.1DC2] # COMBINING SNAKE BELOW; QQC
-1DCF  ; [.0000.0060.0002.1DCF] # COMBINING ZIGZAG BELOW; QQC
-1DD0  ; [.0000.0060.0002.1DD0] # COMBINING IS BELOW; QQC
-1DFC  ; [.0000.0060.0002.1DFC] # COMBINING DOUBLE INVERTED BREVE BELOW; QQC
-1DFD  ; [.0000.0060.0002.1DFD] # COMBINING ALMOST EQUAL TO BELOW; QQC
-1DFF  ; [.0000.0060.0002.1DFF] # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW; QQC
-20EC  ; [.0000.0060.0002.20EC] # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS; QQC
-20ED  ; [.0000.0060.0002.20ED] # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS; QQC
-20EE  ; [.0000.0060.0002.20EE] # COMBINING LEFT ARROW BELOW; QQC
-20EF  ; [.0000.0060.0002.20EF] # COMBINING RIGHT ARROW BELOW; QQC
-10A0D ; [.0000.0060.0002.10A0D] # KHAROSHTHI SIGN DOUBLE RING BELOW; QQC
-0336  ; [.0000.0061.0002.0336] # COMBINING LONG STROKE OVERLAY; QQC
-0337  ; [.0000.0061.0002.0337] # COMBINING SHORT SOLIDUS OVERLAY; QQC
-20D8  ; [.0000.0061.0002.20D8] # COMBINING RING OVERLAY; QQC
-20D9  ; [.0000.0061.0002.20D9] # COMBINING CLOCKWISE RING OVERLAY; QQC
-20DA  ; [.0000.0061.0002.20DA] # COMBINING ANTICLOCKWISE RING OVERLAY; QQC
-20E5  ; [.0000.0061.0002.20E5] # COMBINING REVERSE SOLIDUS OVERLAY; QQC
-20EA  ; [.0000.0061.0002.20EA] # COMBINING LEFTWARDS ARROW OVERLAY; QQC
-20EB  ; [.0000.0061.0002.20EB] # COMBINING LONG DOUBLE SOLIDUS OVERLAY; QQC
-20DD  ; [.0000.0062.0002.20DD] # COMBINING ENCLOSING CIRCLE; QQC
-20DE  ; [.0000.0062.0002.20DE] # COMBINING ENCLOSING SQUARE; QQC
-20DF  ; [.0000.0062.0002.20DF] # COMBINING ENCLOSING DIAMOND; QQC
-20E0  ; [.0000.0062.0002.20E0] # COMBINING ENCLOSING CIRCLE BACKSLASH; QQC
-20E2  ; [.0000.0062.0002.20E2] # COMBINING ENCLOSING SCREEN; QQC
-20E3  ; [.0000.0062.0002.20E3] # COMBINING ENCLOSING KEYCAP; QQC
-20E4  ; [.0000.0062.0002.20E4] # COMBINING ENCLOSING UPWARD POINTING TRIANGLE; QQC
+030D  ; [.0000.005F.0002.030D] # COMBINING VERTICAL LINE ABOVE
+030E  ; [.0000.005F.0002.030E] # COMBINING DOUBLE VERTICAL LINE ABOVE
+0312  ; [.0000.005F.0002.0312] # COMBINING TURNED COMMA ABOVE
+0315  ; [.0000.005F.0002.0315] # COMBINING COMMA ABOVE RIGHT
+031A  ; [.0000.005F.0002.031A] # COMBINING LEFT ANGLE ABOVE
+033D  ; [.0000.005F.0002.033D] # COMBINING X ABOVE
+033E  ; [.0000.005F.0002.033E] # COMBINING VERTICAL TILDE
+033F  ; [.0000.005F.0002.033F] # COMBINING DOUBLE OVERLINE
+0346  ; [.0000.005F.0002.0346] # COMBINING BRIDGE ABOVE
+034A  ; [.0000.005F.0002.034A] # COMBINING NOT TILDE ABOVE
+034B  ; [.0000.005F.0002.034B] # COMBINING HOMOTHETIC ABOVE
+034C  ; [.0000.005F.0002.034C] # COMBINING ALMOST EQUAL TO ABOVE
+0350  ; [.0000.005F.0002.0350] # COMBINING RIGHT ARROWHEAD ABOVE
+0351  ; [.0000.005F.0002.0351] # COMBINING LEFT HALF RING ABOVE
+0352  ; [.0000.005F.0002.0352] # COMBINING FERMATA
+0357  ; [.0000.005F.0002.0357] # COMBINING RIGHT HALF RING ABOVE
+035B  ; [.0000.005F.0002.035B] # COMBINING ZIGZAG ABOVE
+035D  ; [.0000.005F.0002.035D] # COMBINING DOUBLE BREVE
+035E  ; [.0000.005F.0002.035E] # COMBINING DOUBLE MACRON
+0484  ; [.0000.005F.0002.0484] # COMBINING CYRILLIC PALATALIZATION
+0487  ; [.0000.005F.0002.0487] # COMBINING CYRILLIC POKRYTIE
+0741  ; [.0000.005F.0002.0741] # SYRIAC QUSHSHAYA
+0745  ; [.0000.005F.0002.0745] # SYRIAC THREE DOTS ABOVE
+17CB  ; [.0000.005F.0002.17CB] # KHMER SIGN BANTOC
+17CC  ; [.0000.005F.0002.17CC] # KHMER SIGN ROBAT
+17CD  ; [.0000.005F.0002.17CD] # KHMER SIGN TOANDAKHIAT
+17CE  ; [.0000.005F.0002.17CE] # KHMER SIGN KAKABAT
+17CF  ; [.0000.005F.0002.17CF] # KHMER SIGN AHSDA
+17D0  ; [.0000.005F.0002.17D0] # KHMER SIGN SAMYOK SANNYA
+17D1  ; [.0000.005F.0002.17D1] # KHMER SIGN VIRIAM
+17DD  ; [.0000.005F.0002.17DD] # KHMER SIGN ATTHACAN
+1DC0  ; [.0000.005F.0002.1DC0] # COMBINING DOTTED GRAVE ACCENT
+1DC1  ; [.0000.005F.0002.1DC1] # COMBINING DOTTED ACUTE ACCENT
+1DC3  ; [.0000.005F.0002.1DC3] # COMBINING SUSPENSION MARK
+1DC4  ; [.0000.005F.0002.1DC4] # COMBINING MACRON-ACUTE
+1DC5  ; [.0000.005F.0002.1DC5] # COMBINING GRAVE-MACRON
+1DC6  ; [.0000.005F.0002.1DC6] # COMBINING MACRON-GRAVE
+1DC7  ; [.0000.005F.0002.1DC7] # COMBINING ACUTE-MACRON
+1DC8  ; [.0000.005F.0002.1DC8] # COMBINING GRAVE-ACUTE-GRAVE
+1DC9  ; [.0000.005F.0002.1DC9] # COMBINING ACUTE-GRAVE-ACUTE
+1DCB  ; [.0000.005F.0002.1DCB] # COMBINING BREVE-MACRON
+1DCC  ; [.0000.005F.0002.1DCC] # COMBINING MACRON-BREVE
+1DCD  ; [.0000.005F.0002.1DCD] # COMBINING DOUBLE CIRCUMFLEX ABOVE
+1DCE  ; [.0000.005F.0002.1DCE] # COMBINING OGONEK ABOVE
+1DD1  ; [.0000.005F.0002.1DD1] # COMBINING UR ABOVE
+1DFE  ; [.0000.005F.0002.1DFE] # COMBINING LEFT ARROWHEAD ABOVE
+20F0  ; [.0000.005F.0002.20F0] # COMBINING ASTERISK ABOVE
+2CEF  ; [.0000.005F.0002.2CEF] # COPTIC COMBINING NI ABOVE
+A67C  ; [.0000.005F.0002.A67C] # COMBINING CYRILLIC KAVYKA
+A67D  ; [.0000.005F.0002.A67D] # COMBINING CYRILLIC PAYEROK
+0316  ; [.0000.0060.0002.0316] # COMBINING GRAVE ACCENT BELOW
+0317  ; [.0000.0060.0002.0317] # COMBINING ACUTE ACCENT BELOW
+0318  ; [.0000.0060.0002.0318] # COMBINING LEFT TACK BELOW
+0319  ; [.0000.0060.0002.0319] # COMBINING RIGHT TACK BELOW
+031C  ; [.0000.0060.0002.031C] # COMBINING LEFT HALF RING BELOW
+031D  ; [.0000.0060.0002.031D] # COMBINING UP TACK BELOW
+031E  ; [.0000.0060.0002.031E] # COMBINING DOWN TACK BELOW
+031F  ; [.0000.0060.0002.031F] # COMBINING PLUS SIGN BELOW
+0320  ; [.0000.0060.0002.0320] # COMBINING MINUS SIGN BELOW
+0329  ; [.0000.0060.0002.0329] # COMBINING VERTICAL LINE BELOW
+032A  ; [.0000.0060.0002.032A] # COMBINING BRIDGE BELOW
+032B  ; [.0000.0060.0002.032B] # COMBINING INVERTED DOUBLE ARCH BELOW
+032C  ; [.0000.0060.0002.032C] # COMBINING CARON BELOW
+032F  ; [.0000.0060.0002.032F] # COMBINING INVERTED BREVE BELOW
+0333  ; [.0000.0060.0002.0333] # COMBINING DOUBLE LOW LINE
+033A  ; [.0000.0060.0002.033A] # COMBINING INVERTED BRIDGE BELOW
+033B  ; [.0000.0060.0002.033B] # COMBINING SQUARE BELOW
+033C  ; [.0000.0060.0002.033C] # COMBINING SEAGULL BELOW
+0347  ; [.0000.0060.0002.0347] # COMBINING EQUALS SIGN BELOW
+0348  ; [.0000.0060.0002.0348] # COMBINING DOUBLE VERTICAL LINE BELOW
+0349  ; [.0000.0060.0002.0349] # COMBINING LEFT ANGLE BELOW
+034D  ; [.0000.0060.0002.034D] # COMBINING LEFT RIGHT ARROW BELOW
+034E  ; [.0000.0060.0002.034E] # COMBINING UPWARDS ARROW BELOW
+0353  ; [.0000.0060.0002.0353] # COMBINING X BELOW
+0354  ; [.0000.0060.0002.0354] # COMBINING LEFT ARROWHEAD BELOW
+0355  ; [.0000.0060.0002.0355] # COMBINING RIGHT ARROWHEAD BELOW
+0356  ; [.0000.0060.0002.0356] # COMBINING RIGHT ARROWHEAD AND UP ARROWHEAD BELOW
+0359  ; [.0000.0060.0002.0359] # COMBINING ASTERISK BELOW
+035A  ; [.0000.0060.0002.035A] # COMBINING DOUBLE RING BELOW
+035C  ; [.0000.0060.0002.035C] # COMBINING DOUBLE BREVE BELOW
+035F  ; [.0000.0060.0002.035F] # COMBINING DOUBLE MACRON BELOW
+0362  ; [.0000.0060.0002.0362] # COMBINING DOUBLE RIGHTWARDS ARROW BELOW
+0742  ; [.0000.0060.0002.0742] # SYRIAC RUKKAKHA
+0746  ; [.0000.0060.0002.0746] # SYRIAC THREE DOTS BELOW
+0859  ; [.0000.0060.0002.0859] # MANDAIC AFFRICATION MARK
+085A  ; [.0000.0060.0002.085A] # MANDAIC VOCALIZATION MARK
+085B  ; [.0000.0060.0002.085B] # MANDAIC GEMINATION MARK
+1DC2  ; [.0000.0060.0002.1DC2] # COMBINING SNAKE BELOW
+1DCF  ; [.0000.0060.0002.1DCF] # COMBINING ZIGZAG BELOW
+1DD0  ; [.0000.0060.0002.1DD0] # COMBINING IS BELOW
+1DFC  ; [.0000.0060.0002.1DFC] # COMBINING DOUBLE INVERTED BREVE BELOW
+1DFD  ; [.0000.0060.0002.1DFD] # COMBINING ALMOST EQUAL TO BELOW
+1DFF  ; [.0000.0060.0002.1DFF] # COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
+20EC  ; [.0000.0060.0002.20EC] # COMBINING RIGHTWARDS HARPOON WITH BARB DOWNWARDS
+20ED  ; [.0000.0060.0002.20ED] # COMBINING LEFTWARDS HARPOON WITH BARB DOWNWARDS
+20EE  ; [.0000.0060.0002.20EE] # COMBINING LEFT ARROW BELOW
+20EF  ; [.0000.0060.0002.20EF] # COMBINING RIGHT ARROW BELOW
+10A0D ; [.0000.0060.0002.10A0D] # KHAROSHTHI SIGN DOUBLE RING BELOW
+0336  ; [.0000.0061.0002.0336] # COMBINING LONG STROKE OVERLAY
+0337  ; [.0000.0061.0002.0337] # COMBINING SHORT SOLIDUS OVERLAY
+20D8  ; [.0000.0061.0002.20D8] # COMBINING RING OVERLAY
+20D9  ; [.0000.0061.0002.20D9] # COMBINING CLOCKWISE RING OVERLAY
+20DA  ; [.0000.0061.0002.20DA] # COMBINING ANTICLOCKWISE RING OVERLAY
+20E5  ; [.0000.0061.0002.20E5] # COMBINING REVERSE SOLIDUS OVERLAY
+20EA  ; [.0000.0061.0002.20EA] # COMBINING LEFTWARDS ARROW OVERLAY
+20EB  ; [.0000.0061.0002.20EB] # COMBINING LONG DOUBLE SOLIDUS OVERLAY
+20DD  ; [.0000.0062.0002.20DD] # COMBINING ENCLOSING CIRCLE
+20DE  ; [.0000.0062.0002.20DE] # COMBINING ENCLOSING SQUARE
+20DF  ; [.0000.0062.0002.20DF] # COMBINING ENCLOSING DIAMOND
+20E0  ; [.0000.0062.0002.20E0] # COMBINING ENCLOSING CIRCLE BACKSLASH
+20E2  ; [.0000.0062.0002.20E2] # COMBINING ENCLOSING SCREEN
+20E3  ; [.0000.0062.0002.20E3] # COMBINING ENCLOSING KEYCAP
+20E4  ; [.0000.0062.0002.20E4] # COMBINING ENCLOSING UPWARD POINTING TRIANGLE
 0305  ; [.0000.0063.0002.0305] # COMBINING OVERLINE
 0309  ; [.0000.0064.0002.0309] # COMBINING HOOK ABOVE
 030F  ; [.0000.0065.0002.030F] # COMBINING DOUBLE GRAVE ACCENT
@@ -6033,9 +6117,9 @@
 0345  ; [.0000.007F.0002.0345] # COMBINING GREEK YPOGEGRAMMENI
 0358  ; [.0000.0080.0002.0358] # COMBINING DOT ABOVE RIGHT
 0360  ; [.0000.0081.0002.0360] # COMBINING DOUBLE TILDE
-FE22  ; [.0000.0081.0002.FE22] # COMBINING DOUBLE TILDE LEFT HALF; QQC
+FE22  ; [.0000.0081.0002.FE22] # COMBINING DOUBLE TILDE LEFT HALF
 0361  ; [.0000.0082.0002.0361] # COMBINING DOUBLE INVERTED BREVE
-FE20  ; [.0000.0082.0002.FE20] # COMBINING LIGATURE LEFT HALF; QQC
+FE20  ; [.0000.0082.0002.FE20] # COMBINING LIGATURE LEFT HALF
 0483  ; [.0000.0083.0002.0483] # COMBINING CYRILLIC TITLO
 A66F  ; [.0000.0084.0002.A66F] # COMBINING CYRILLIC VZMET
 05B0  ; [.0000.0085.0002.05B0] # HEBREW POINT SHEVA
@@ -6047,9 +6131,9 @@
 05B6  ; [.0000.008B.0002.05B6] # HEBREW POINT SEGOL
 05B7  ; [.0000.008C.0002.05B7] # HEBREW POINT PATAH
 05B8  ; [.0000.008D.0002.05B8] # HEBREW POINT QAMATS
-05C7  ; [.0000.008D.0002.05C7] # HEBREW POINT QAMATS QATAN; QQC
+05C7  ; [.0000.008D.0002.05C7] # HEBREW POINT QAMATS QATAN
 05B9  ; [.0000.008E.0002.05B9] # HEBREW POINT HOLAM
-05BA  ; [.0000.008E.0002.05BA] # HEBREW POINT HOLAM HASER FOR VAV; QQC
+05BA  ; [.0000.008E.0002.05BA] # HEBREW POINT HOLAM HASER FOR VAV
 05BB  ; [.0000.008F.0002.05BB] # HEBREW POINT QUBUTS
 05C2  ; [.0000.0090.0002.05C2] # HEBREW POINT SIN DOT
 05C1  ; [.0000.0091.0002.05C1] # HEBREW POINT SHIN DOT
@@ -6056,18162 +6140,18822 @@
 05BC  ; [.0000.0092.0002.05BC] # HEBREW POINT DAGESH OR MAPIQ
 05BF  ; [.0000.0095.0002.05BF] # HEBREW POINT RAFE
 FB1E  ; [.0000.0096.0002.FB1E] # HEBREW POINT JUDEO-SPANISH VARIKA
-081C  ; [.0000.0097.0002.081C] # SAMARITAN VOWEL SIGN LONG E; QQC
+081C  ; [.0000.0097.0002.081C] # SAMARITAN VOWEL SIGN LONG E
 081D  ; [.0000.0097.0002.081D] # SAMARITAN VOWEL SIGN E
-081E  ; [.0000.0098.0002.081E] # SAMARITAN VOWEL SIGN OVERLONG AA; QQC
-081F  ; [.0000.0098.0002.081F] # SAMARITAN VOWEL SIGN LONG AA; QQC
+081E  ; [.0000.0098.0002.081E] # SAMARITAN VOWEL SIGN OVERLONG AA
+081F  ; [.0000.0098.0002.081F] # SAMARITAN VOWEL SIGN LONG AA
 0820  ; [.0000.0098.0002.0820] # SAMARITAN VOWEL SIGN AA
-0821  ; [.0000.0099.0002.0821] # SAMARITAN VOWEL SIGN OVERLONG A; QQC
-0822  ; [.0000.0099.0002.0822] # SAMARITAN VOWEL SIGN LONG A; QQC
+0821  ; [.0000.0099.0002.0821] # SAMARITAN VOWEL SIGN OVERLONG A
+0822  ; [.0000.0099.0002.0822] # SAMARITAN VOWEL SIGN LONG A
 0823  ; [.0000.0099.0002.0823] # SAMARITAN VOWEL SIGN A
-0824  ; [.0000.009A.0002.0824] # SAMARITAN MODIFIER LETTER SHORT A; QQC
+0824  ; [.0000.009A.0002.0824] # SAMARITAN MODIFIER LETTER SHORT A
 0825  ; [.0000.009A.0002.0825] # SAMARITAN VOWEL SIGN SHORT A
-0826  ; [.0000.009B.0002.0826] # SAMARITAN VOWEL SIGN LONG U; QQC
+0826  ; [.0000.009B.0002.0826] # SAMARITAN VOWEL SIGN LONG U
 0827  ; [.0000.009B.0002.0827] # SAMARITAN VOWEL SIGN U
-0828  ; [.0000.009C.0002.0828] # SAMARITAN MODIFIER LETTER I; QQC
-0829  ; [.0000.009C.0002.0829] # SAMARITAN VOWEL SIGN LONG I; QQC
+0828  ; [.0000.009C.0002.0828] # SAMARITAN MODIFIER LETTER I
+0829  ; [.0000.009C.0002.0829] # SAMARITAN VOWEL SIGN LONG I
 082A  ; [.0000.009C.0002.082A] # SAMARITAN VOWEL SIGN I
 082B  ; [.0000.009D.0002.082B] # SAMARITAN VOWEL SIGN O
 082C  ; [.0000.009E.0002.082C] # SAMARITAN VOWEL SIGN SUKUN
-0818  ; [.0000.009F.0002.0818] # SAMARITAN MARK DAGESH
-0819  ; [.0000.00A0.0002.0819] # SAMARITAN MARK OCCLUSION
+0818  ; [.0000.009F.0002.0818] # SAMARITAN MARK OCCLUSION
+0819  ; [.0000.00A0.0002.0819] # SAMARITAN MARK DAGESH
 082D  ; [.0000.00A1.0002.082D] # SAMARITAN MARK NEQUDAA
 064B  ; [.0000.00A2.0002.064B] # ARABIC FATHATAN
-FE71  ; [.0000.00A2.0018.FE71] # ARABIC TATWEEL WITH FATHATAN ABOVE; QQK
-FE70  ; [.0000.00A2.001A.FE70] # ARABIC FATHATAN ISOLATED FORM; QQK
-064C  ; [.0000.00A3.0002.064C] # ARABIC DAMMATAN
-FE72  ; [.0000.00A3.001A.FE72] # ARABIC DAMMATAN ISOLATED FORM; QQK
-FC5E  ; [.0000.00A3.001A.FC5E][.0000.00AD.001A.FC5E] # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM; QQKA
-064D  ; [.0000.00A5.0002.064D] # ARABIC KASRATAN
-FE74  ; [.0000.00A5.001A.FE74] # ARABIC KASRATAN ISOLATED FORM; QQK
-FC5F  ; [.0000.00A5.001A.FC5F][.0000.00AD.001A.FC5F] # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM; QQKA
-064E  ; [.0000.00A7.0002.064E] # ARABIC FATHA
-FE77  ; [.0000.00A7.0018.FE77] # ARABIC FATHA MEDIAL FORM; QQK
-FE76  ; [.0000.00A7.001A.FE76] # ARABIC FATHA ISOLATED FORM; QQK
-FCF2  ; [.0000.00A7.0018.FCF2][.0000.00AD.0018.FCF2] # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM; QQKA
-FC60  ; [.0000.00A7.001A.FC60][.0000.00AD.001A.FC60] # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM; QQKA
-064F  ; [.0000.00A9.0002.064F] # ARABIC DAMMA
-FE79  ; [.0000.00A9.0018.FE79] # ARABIC DAMMA MEDIAL FORM; QQK
-FE78  ; [.0000.00A9.001A.FE78] # ARABIC DAMMA ISOLATED FORM; QQK
-FCF3  ; [.0000.00A9.0018.FCF3][.0000.00AD.0018.FCF3] # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM; QQKA
-FC61  ; [.0000.00A9.001A.FC61][.0000.00AD.001A.FC61] # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM; QQKA
-0650  ; [.0000.00AB.0002.0650] # ARABIC KASRA
-FE7B  ; [.0000.00AB.0018.FE7B] # ARABIC KASRA MEDIAL FORM; QQK
-FE7A  ; [.0000.00AB.001A.FE7A] # ARABIC KASRA ISOLATED FORM; QQK
-FCF4  ; [.0000.00AB.0018.FCF4][.0000.00AD.0018.FCF4] # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM; QQKA
-FC62  ; [.0000.00AB.001A.FC62][.0000.00AD.001A.FC62] # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM; QQKA
-0651  ; [.0000.00AD.0002.0651] # ARABIC SHADDA
-FE7D  ; [.0000.00AD.0018.FE7D] # ARABIC SHADDA MEDIAL FORM; QQK
-FE7C  ; [.0000.00AD.001A.FE7C] # ARABIC SHADDA ISOLATED FORM; QQK
-FC63  ; [.0000.00AD.001A.FC63][.0000.00BD.001A.FC63] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-0652  ; [.0000.00AF.0002.0652] # ARABIC SUKUN
-FE7F  ; [.0000.00AF.0018.FE7F] # ARABIC SUKUN MEDIAL FORM; QQK
-FE7E  ; [.0000.00AF.001A.FE7E] # ARABIC SUKUN ISOLATED FORM; QQK
-0653  ; [.0000.00B0.0002.0653] # ARABIC MADDAH ABOVE
-0654  ; [.0000.00B1.0002.0654] # ARABIC HAMZA ABOVE
-0655  ; [.0000.00B2.0002.0655] # ARABIC HAMZA BELOW
-065F  ; [.0000.00B3.0002.065F] # ARABIC WAVY HAMZA BELOW
-0656  ; [.0000.00B4.0002.0656] # ARABIC SUBSCRIPT ALEF
-0657  ; [.0000.00B5.0002.0657] # ARABIC INVERTED DAMMA
-0658  ; [.0000.00B6.0002.0658] # ARABIC MARK NOON GHUNNA
-0659  ; [.0000.00B7.0002.0659] # ARABIC ZWARAKAY
-065A  ; [.0000.00B8.0002.065A] # ARABIC VOWEL SIGN SMALL V ABOVE
-065B  ; [.0000.00B9.0002.065B] # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
-065C  ; [.0000.00BA.0002.065C] # ARABIC VOWEL SIGN DOT BELOW
-065D  ; [.0000.00BB.0002.065D] # ARABIC REVERSED DAMMA
-065E  ; [.0000.00BC.0002.065E] # ARABIC FATHA WITH TWO DOTS
-0670  ; [.0000.00BD.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
-0711  ; [.0000.00BE.0002.0711] # SYRIAC LETTER SUPERSCRIPT ALAPH
-0730  ; [.0000.00BF.0002.0730] # SYRIAC PTHAHA ABOVE
-0731  ; [.0000.00C0.0002.0731] # SYRIAC PTHAHA BELOW
-0732  ; [.0000.00C1.0002.0732] # SYRIAC PTHAHA DOTTED
-0733  ; [.0000.00C2.0002.0733] # SYRIAC ZQAPHA ABOVE
-0734  ; [.0000.00C3.0002.0734] # SYRIAC ZQAPHA BELOW
-0735  ; [.0000.00C4.0002.0735] # SYRIAC ZQAPHA DOTTED
-0736  ; [.0000.00C5.0002.0736] # SYRIAC RBASA ABOVE
-0737  ; [.0000.00C6.0002.0737] # SYRIAC RBASA BELOW
-0738  ; [.0000.00C7.0002.0738] # SYRIAC DOTTED ZLAMA HORIZONTAL
-0739  ; [.0000.00C8.0002.0739] # SYRIAC DOTTED ZLAMA ANGULAR
-073A  ; [.0000.00C9.0002.073A] # SYRIAC HBASA ABOVE
-073B  ; [.0000.00CA.0002.073B] # SYRIAC HBASA BELOW
-073C  ; [.0000.00CB.0002.073C] # SYRIAC HBASA-ESASA DOTTED
-073D  ; [.0000.00CC.0002.073D] # SYRIAC ESASA ABOVE
-073E  ; [.0000.00CD.0002.073E] # SYRIAC ESASA BELOW
-073F  ; [.0000.00CE.0002.073F] # SYRIAC RWAHA
-07EB  ; [.0000.00CF.0002.07EB] # NKO COMBINING SHORT HIGH TONE
-07EC  ; [.0000.00D0.0002.07EC] # NKO COMBINING SHORT LOW TONE
-07ED  ; [.0000.00D1.0002.07ED] # NKO COMBINING SHORT RISING TONE
-07EE  ; [.0000.00D2.0002.07EE] # NKO COMBINING LONG DESCENDING TONE
-07EF  ; [.0000.00D3.0002.07EF] # NKO COMBINING LONG HIGH TONE
-07F0  ; [.0000.00D4.0002.07F0] # NKO COMBINING LONG LOW TONE
-07F1  ; [.0000.00D5.0002.07F1] # NKO COMBINING LONG RISING TONE
-07F2  ; [.0000.00D6.0002.07F2] # NKO COMBINING NASALIZATION MARK
-07F3  ; [.0000.00D7.0002.07F3] # NKO COMBINING DOUBLE DOT ABOVE
-135F  ; [.0000.00D8.0002.135F] # ETHIOPIC COMBINING GEMINATION MARK
-135E  ; [.0000.00D9.0002.135E] # ETHIOPIC COMBINING VOWEL LENGTH MARK
-135D  ; [.0000.00DA.0002.135D] # ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
-A6F0  ; [.0000.00DB.0002.A6F0] # BAMUM COMBINING MARK KOQNDON
-A6F1  ; [.0000.00DC.0002.A6F1] # BAMUM COMBINING MARK TUKWENTIS
-093C  ; [.0000.00DD.0002.093C] # DEVANAGARI SIGN NUKTA
-0900  ; [.0000.00DE.0002.0900] # DEVANAGARI SIGN INVERTED CANDRABINDU; QQC
-0901  ; [.0000.00DE.0002.0901] # DEVANAGARI SIGN CANDRABINDU
-0902  ; [.0000.00DF.0002.0902] # DEVANAGARI SIGN ANUSVARA
-1CED  ; [.0000.00DF.0002.1CED] # VEDIC SIGN TIRYAK; QQC
-0903  ; [.0000.00E0.0002.0903] # DEVANAGARI SIGN VISARGA
-1CF2  ; [.0000.00E0.0002.1CF2] # VEDIC SIGN ARDHAVISARGA; QQC
-09BC  ; [.0000.00E1.0002.09BC] # BENGALI SIGN NUKTA
-0981  ; [.0000.00E2.0002.0981] # BENGALI SIGN CANDRABINDU
-0982  ; [.0000.00E3.0002.0982] # BENGALI SIGN ANUSVARA
-0983  ; [.0000.00E4.0002.0983] # BENGALI SIGN VISARGA
-0A3C  ; [.0000.00E5.0002.0A3C] # GURMUKHI SIGN NUKTA
-0A01  ; [.0000.00E6.0002.0A01] # GURMUKHI SIGN ADAK BINDI
-0A02  ; [.0000.00E7.0002.0A02] # GURMUKHI SIGN BINDI
-0A03  ; [.0000.00E8.0002.0A03] # GURMUKHI SIGN VISARGA
-0A70  ; [.0000.00E9.0002.0A70] # GURMUKHI TIPPI
-0A71  ; [.0000.00EA.0002.0A71] # GURMUKHI ADDAK
-0ABC  ; [.0000.00EB.0002.0ABC] # GUJARATI SIGN NUKTA
-0A81  ; [.0000.00EC.0002.0A81] # GUJARATI SIGN CANDRABINDU
-0A82  ; [.0000.00ED.0002.0A82] # GUJARATI SIGN ANUSVARA
-0A83  ; [.0000.00EE.0002.0A83] # GUJARATI SIGN VISARGA
-0B3C  ; [.0000.00EF.0002.0B3C] # ORIYA SIGN NUKTA
-0B01  ; [.0000.00F0.0002.0B01] # ORIYA SIGN CANDRABINDU
-0B02  ; [.0000.00F1.0002.0B02] # ORIYA SIGN ANUSVARA
-0B03  ; [.0000.00F2.0002.0B03] # ORIYA SIGN VISARGA
+FE71  ; [.0000.00A2.0018.FE71] # ARABIC TATWEEL WITH FATHATAN ABOVE
+FE70  ; [.0000.00A2.001A.FE70] # ARABIC FATHATAN ISOLATED FORM
+08F0  ; [.0000.00A3.0002.08F0] # ARABIC OPEN FATHATAN
+08E7  ; [.0000.00A4.0002.08E7] # ARABIC CURLY FATHATAN
+064C  ; [.0000.00A5.0002.064C] # ARABIC DAMMATAN
+FE72  ; [.0000.00A5.001A.FE72] # ARABIC DAMMATAN ISOLATED FORM
+FC5E  ; [.0000.00A5.001A.FC5E][.0000.00BA.001A.FC5E] # ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM
+08F1  ; [.0000.00A7.0002.08F1] # ARABIC OPEN DAMMATAN
+08E8  ; [.0000.00A8.0002.08E8] # ARABIC CURLY DAMMATAN
+064D  ; [.0000.00A9.0002.064D] # ARABIC KASRATAN
+FE74  ; [.0000.00A9.001A.FE74] # ARABIC KASRATAN ISOLATED FORM
+FC5F  ; [.0000.00A9.001A.FC5F][.0000.00BA.001A.FC5F] # ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM
+08F2  ; [.0000.00AB.0002.08F2] # ARABIC OPEN KASRATAN
+08E9  ; [.0000.00AC.0002.08E9] # ARABIC CURLY KASRATAN
+064E  ; [.0000.00AD.0002.064E] # ARABIC FATHA
+FE77  ; [.0000.00AD.0018.FE77] # ARABIC FATHA MEDIAL FORM
+FE76  ; [.0000.00AD.001A.FE76] # ARABIC FATHA ISOLATED FORM
+FCF2  ; [.0000.00AD.0018.FCF2][.0000.00BA.0018.FCF2] # ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM
+FC60  ; [.0000.00AD.001A.FC60][.0000.00BA.001A.FC60] # ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM
+08E4  ; [.0000.00AF.0002.08E4] # ARABIC CURLY FATHA
+08F4  ; [.0000.00B0.0002.08F4] # ARABIC FATHA WITH RING
+08F5  ; [.0000.00B1.0002.08F5] # ARABIC FATHA WITH DOT ABOVE
+064F  ; [.0000.00B2.0002.064F] # ARABIC DAMMA
+FE79  ; [.0000.00B2.0018.FE79] # ARABIC DAMMA MEDIAL FORM
+FE78  ; [.0000.00B2.001A.FE78] # ARABIC DAMMA ISOLATED FORM
+FCF3  ; [.0000.00B2.0018.FCF3][.0000.00BA.0018.FCF3] # ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM
+FC61  ; [.0000.00B2.001A.FC61][.0000.00BA.001A.FC61] # ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM
+08E5  ; [.0000.00B4.0002.08E5] # ARABIC CURLY DAMMA
+08FE  ; [.0000.00B5.0002.08FE] # ARABIC DAMMA WITH DOT
+0650  ; [.0000.00B6.0002.0650] # ARABIC KASRA
+FE7B  ; [.0000.00B6.0018.FE7B] # ARABIC KASRA MEDIAL FORM
+FE7A  ; [.0000.00B6.001A.FE7A] # ARABIC KASRA ISOLATED FORM
+FCF4  ; [.0000.00B6.0018.FCF4][.0000.00BA.0018.FCF4] # ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM
+FC62  ; [.0000.00B6.001A.FC62][.0000.00BA.001A.FC62] # ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM
+08E6  ; [.0000.00B8.0002.08E6] # ARABIC CURLY KASRA
+08F6  ; [.0000.00B9.0002.08F6] # ARABIC KASRA WITH DOT BELOW
+0651  ; [.0000.00BA.0002.0651] # ARABIC SHADDA
+FE7D  ; [.0000.00BA.0018.FE7D] # ARABIC SHADDA MEDIAL FORM
+FE7C  ; [.0000.00BA.001A.FE7C] # ARABIC SHADDA ISOLATED FORM
+FC63  ; [.0000.00BA.001A.FC63][.0000.00D1.001A.FC63] # ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM
+0652  ; [.0000.00BC.0002.0652] # ARABIC SUKUN
+FE7F  ; [.0000.00BC.0018.FE7F] # ARABIC SUKUN MEDIAL FORM
+FE7E  ; [.0000.00BC.001A.FE7E] # ARABIC SUKUN ISOLATED FORM
+0653  ; [.0000.00BD.0002.0653] # ARABIC MADDAH ABOVE
+0654  ; [.0000.00BE.0002.0654] # ARABIC HAMZA ABOVE
+0655  ; [.0000.00BF.0002.0655] # ARABIC HAMZA BELOW
+065F  ; [.0000.00C0.0002.065F] # ARABIC WAVY HAMZA BELOW
+0656  ; [.0000.00C1.0002.0656] # ARABIC SUBSCRIPT ALEF
+0657  ; [.0000.00C2.0002.0657] # ARABIC INVERTED DAMMA
+0658  ; [.0000.00C3.0002.0658] # ARABIC MARK NOON GHUNNA
+0659  ; [.0000.00C4.0002.0659] # ARABIC ZWARAKAY
+065A  ; [.0000.00C5.0002.065A] # ARABIC VOWEL SIGN SMALL V ABOVE
+065B  ; [.0000.00C6.0002.065B] # ARABIC VOWEL SIGN INVERTED SMALL V ABOVE
+065C  ; [.0000.00C7.0002.065C] # ARABIC VOWEL SIGN DOT BELOW
+065D  ; [.0000.00C8.0002.065D] # ARABIC REVERSED DAMMA
+065E  ; [.0000.00C9.0002.065E] # ARABIC FATHA WITH TWO DOTS
+08F7  ; [.0000.00CA.0002.08F7] # ARABIC LEFT ARROWHEAD ABOVE
+08F8  ; [.0000.00CB.0002.08F8] # ARABIC RIGHT ARROWHEAD ABOVE
+08FD  ; [.0000.00CC.0002.08FD] # ARABIC RIGHT ARROWHEAD ABOVE WITH DOT
+08FB  ; [.0000.00CD.0002.08FB] # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE
+08FC  ; [.0000.00CE.0002.08FC] # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT
+08F9  ; [.0000.00CF.0002.08F9] # ARABIC LEFT ARROWHEAD BELOW
+08FA  ; [.0000.00D0.0002.08FA] # ARABIC RIGHT ARROWHEAD BELOW
+0670  ; [.0000.00D1.0002.0670] # ARABIC LETTER SUPERSCRIPT ALEF
+0711  ; [.0000.00D2.0002.0711] # SYRIAC LETTER SUPERSCRIPT ALAPH
+0730  ; [.0000.00D3.0002.0730] # SYRIAC PTHAHA ABOVE
+0731  ; [.0000.00D4.0002.0731] # SYRIAC PTHAHA BELOW
+0732  ; [.0000.00D5.0002.0732] # SYRIAC PTHAHA DOTTED
+0733  ; [.0000.00D6.0002.0733] # SYRIAC ZQAPHA ABOVE
+0734  ; [.0000.00D7.0002.0734] # SYRIAC ZQAPHA BELOW
+0735  ; [.0000.00D8.0002.0735] # SYRIAC ZQAPHA DOTTED
+0736  ; [.0000.00D9.0002.0736] # SYRIAC RBASA ABOVE
+0737  ; [.0000.00DA.0002.0737] # SYRIAC RBASA BELOW
+0738  ; [.0000.00DB.0002.0738] # SYRIAC DOTTED ZLAMA HORIZONTAL
+0739  ; [.0000.00DC.0002.0739] # SYRIAC DOTTED ZLAMA ANGULAR
+073A  ; [.0000.00DD.0002.073A] # SYRIAC HBASA ABOVE
+073B  ; [.0000.00DE.0002.073B] # SYRIAC HBASA BELOW
+073C  ; [.0000.00DF.0002.073C] # SYRIAC HBASA-ESASA DOTTED
+073D  ; [.0000.00E0.0002.073D] # SYRIAC ESASA ABOVE
+073E  ; [.0000.00E1.0002.073E] # SYRIAC ESASA BELOW
+073F  ; [.0000.00E2.0002.073F] # SYRIAC RWAHA
+07EB  ; [.0000.00E3.0002.07EB] # NKO COMBINING SHORT HIGH TONE
+07EC  ; [.0000.00E4.0002.07EC] # NKO COMBINING SHORT LOW TONE
+07ED  ; [.0000.00E5.0002.07ED] # NKO COMBINING SHORT RISING TONE
+07EE  ; [.0000.00E6.0002.07EE] # NKO COMBINING LONG DESCENDING TONE
+07EF  ; [.0000.00E7.0002.07EF] # NKO COMBINING LONG HIGH TONE
+07F0  ; [.0000.00E8.0002.07F0] # NKO COMBINING LONG LOW TONE
+07F1  ; [.0000.00E9.0002.07F1] # NKO COMBINING LONG RISING TONE
+07F2  ; [.0000.00EA.0002.07F2] # NKO COMBINING NASALIZATION MARK
+07F3  ; [.0000.00EB.0002.07F3] # NKO COMBINING DOUBLE DOT ABOVE
+135F  ; [.0000.00EC.0002.135F] # ETHIOPIC COMBINING GEMINATION MARK
+135E  ; [.0000.00ED.0002.135E] # ETHIOPIC COMBINING VOWEL LENGTH MARK
+135D  ; [.0000.00EE.0002.135D] # ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK
+A6F0  ; [.0000.00EF.0002.A6F0] # BAMUM COMBINING MARK KOQNDON
+A6F1  ; [.0000.00F0.0002.A6F1] # BAMUM COMBINING MARK TUKWENTIS
+093C  ; [.0000.00F1.0002.093C] # DEVANAGARI SIGN NUKTA
+09BC  ; [.0000.00F1.0002.09BC] # BENGALI SIGN NUKTA
+0A3C  ; [.0000.00F1.0002.0A3C] # GURMUKHI SIGN NUKTA
+0ABC  ; [.0000.00F1.0002.0ABC] # GUJARATI SIGN NUKTA
+0B3C  ; [.0000.00F1.0002.0B3C] # ORIYA SIGN NUKTA
+0CBC  ; [.0000.00F1.0002.0CBC] # KANNADA SIGN NUKTA
+1B34  ; [.0000.00F1.0002.1B34] # BALINESE SIGN REREKAN
+1BE6  ; [.0000.00F1.0002.1BE6] # BATAK SIGN TOMPI
+1C37  ; [.0000.00F1.0002.1C37] # LEPCHA SIGN NUKTA
+A9B3  ; [.0000.00F1.0002.A9B3] # JAVANESE SIGN CECAK TELU
+110BA ; [.0000.00F1.0002.110BA] # KAITHI SIGN NUKTA
+116B7 ; [.0000.00F1.0002.116B7] # TAKRI SIGN NUKTA
+0900  ; [.0000.00F2.0002.0900] # DEVANAGARI SIGN INVERTED CANDRABINDU
+0901  ; [.0000.00F2.0002.0901] # DEVANAGARI SIGN CANDRABINDU
+0981  ; [.0000.00F2.0002.0981] # BENGALI SIGN CANDRABINDU
+0A01  ; [.0000.00F2.0002.0A01] # GURMUKHI SIGN ADAK BINDI
+0A81  ; [.0000.00F2.0002.0A81] # GUJARATI SIGN CANDRABINDU
+0B01  ; [.0000.00F2.0002.0B01] # ORIYA SIGN CANDRABINDU
+0C01  ; [.0000.00F2.0002.0C01] # TELUGU SIGN CANDRABINDU
+1B00  ; [.0000.00F2.0002.1B00] # BALINESE SIGN ULU RICEM
+1B01  ; [.0000.00F2.0002.1B01] # BALINESE SIGN ULU CANDRA
+A980  ; [.0000.00F2.0002.A980] # JAVANESE SIGN PANYANGGA
+11000 ; [.0000.00F2.0002.11000] # BRAHMI SIGN CANDRABINDU
+11080 ; [.0000.00F2.0002.11080] # KAITHI SIGN CANDRABINDU
+11100 ; [.0000.00F2.0002.11100] # CHAKMA SIGN CANDRABINDU
+11180 ; [.0000.00F2.0002.11180] # SHARADA SIGN CANDRABINDU
+0902  ; [.0000.00F3.0002.0902] # DEVANAGARI SIGN ANUSVARA
+0982  ; [.0000.00F3.0002.0982] # BENGALI SIGN ANUSVARA
+0A02  ; [.0000.00F3.0002.0A02] # GURMUKHI SIGN BINDI
+0A82  ; [.0000.00F3.0002.0A82] # GUJARATI SIGN ANUSVARA
+0B02  ; [.0000.00F3.0002.0B02] # ORIYA SIGN ANUSVARA
 0B82  ; [.0000.00F3.0002.0B82] # TAMIL SIGN ANUSVARA
-0C01  ; [.0000.00F4.0002.0C01] # TELUGU SIGN CANDRABINDU
-0C02  ; [.0000.00F5.0002.0C02] # TELUGU SIGN ANUSVARA
-0C03  ; [.0000.00F6.0002.0C03] # TELUGU SIGN VISARGA
-0CBC  ; [.0000.00F7.0002.0CBC] # KANNADA SIGN NUKTA
-0C82  ; [.0000.00F8.0002.0C82] # KANNADA SIGN ANUSVARA
-0C83  ; [.0000.00F9.0002.0C83] # KANNADA SIGN VISARGA
-0D02  ; [.0000.00FA.0002.0D02] # MALAYALAM SIGN ANUSVARA
-0D03  ; [.0000.00FB.0002.0D03] # MALAYALAM SIGN VISARGA
-0D82  ; [.0000.00FC.0002.0D82] # SINHALA SIGN ANUSVARAYA
-0D83  ; [.0000.00FD.0002.0D83] # SINHALA SIGN VISARGAYA
-1B34  ; [.0000.00FE.0002.1B34] # BALINESE SIGN REREKAN
-1B00  ; [.0000.00FF.0002.1B00] # BALINESE SIGN ULU RICEM
-1B01  ; [.0000.0100.0002.1B01] # BALINESE SIGN ULU CANDRA
-1B02  ; [.0000.0101.0002.1B02] # BALINESE SIGN CECEK
-1B03  ; [.0000.0102.0002.1B03] # BALINESE SIGN SURANG
-1B04  ; [.0000.0103.0002.1B04] # BALINESE SIGN BISAH
-A9B3  ; [.0000.0104.0002.A9B3] # JAVANESE SIGN CECAK TELU
-A980  ; [.0000.0105.0002.A980] # JAVANESE SIGN PANYANGGA
-A981  ; [.0000.0106.0002.A981] # JAVANESE SIGN CECAK
-A982  ; [.0000.0107.0002.A982] # JAVANESE SIGN LAYAR
-A983  ; [.0000.0108.0002.A983] # JAVANESE SIGN WIGNYAN
-1B80  ; [.0000.0109.0002.1B80] # SUNDANESE SIGN PANYECEK
-1B81  ; [.0000.010A.0002.1B81] # SUNDANESE SIGN PANGLAYAR
-1B82  ; [.0000.010B.0002.1B82] # SUNDANESE SIGN PANGWISAD
-ABEC  ; [.0000.010C.0002.ABEC] # MEETEI MAYEK LUM IYEK
-A80B  ; [.0000.010D.0002.A80B] # SYLOTI NAGRI SIGN ANUSVARA
-A880  ; [.0000.010E.0002.A880] # SAURASHTRA SIGN ANUSVARA
-A881  ; [.0000.010F.0002.A881] # SAURASHTRA SIGN VISARGA
-11000 ; [.0000.0110.0002.11000] # BRAHMI SIGN CANDRABINDU
-11001 ; [.0000.0111.0002.11001] # BRAHMI SIGN ANUSVARA
-11002 ; [.0000.0112.0002.11002] # BRAHMI SIGN VISARGA
-10A0E ; [.0000.0113.0002.10A0E] # KHAROSHTHI SIGN ANUSVARA
-10A0F ; [.0000.0114.0002.10A0F] # KHAROSHTHI SIGN VISARGA
-10A38 ; [.0000.0115.0002.10A38] # KHAROSHTHI SIGN BAR ABOVE
-10A39 ; [.0000.0116.0002.10A39] # KHAROSHTHI SIGN CAUDA
-10A3A ; [.0000.0117.0002.10A3A] # KHAROSHTHI SIGN DOT BELOW
-110BA ; [.0000.0118.0002.110BA] # KAITHI SIGN NUKTA
-11080 ; [.0000.0119.0002.11080] # KAITHI SIGN CANDRABINDU
-11081 ; [.0000.011A.0002.11081] # KAITHI SIGN ANUSVARA
-11082 ; [.0000.011B.0002.11082] # KAITHI SIGN VISARGA
-0E4E  ; [.0000.011C.0002.0E4E] # THAI CHARACTER YAMAKKAN
-0E47  ; [.0000.011D.0002.0E47] # THAI CHARACTER MAITAIKHU
-0E48  ; [.0000.011E.0002.0E48] # THAI CHARACTER MAI EK
-0E49  ; [.0000.011F.0002.0E49] # THAI CHARACTER MAI THO
-0E4A  ; [.0000.0120.0002.0E4A] # THAI CHARACTER MAI TRI
-0E4B  ; [.0000.0121.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
-0E4C  ; [.0000.0122.0002.0E4C] # THAI CHARACTER THANTHAKHAT
-0E4D  ; [.0000.0123.0002.0E4D] # THAI CHARACTER NIKHAHIT
-0EC8  ; [.0000.0124.0002.0EC8] # LAO TONE MAI EK
-0EC9  ; [.0000.0125.0002.0EC9] # LAO TONE MAI THO
-0ECA  ; [.0000.0126.0002.0ECA] # LAO TONE MAI TI
-0ECB  ; [.0000.0127.0002.0ECB] # LAO TONE MAI CATAWA
-0ECC  ; [.0000.0128.0002.0ECC] # LAO CANCELLATION MARK
-0ECD  ; [.0000.0129.0002.0ECD] # LAO NIGGAHITA
-AABF  ; [.0000.012A.0002.AABF] # TAI VIET TONE MAI EK
-AAC1  ; [.0000.012B.0002.AAC1] # TAI VIET TONE MAI THO
-0F39  ; [.0000.012C.0002.0F39] # TIBETAN MARK TSA -PHRU
-0F7E  ; [.0000.012D.0002.0F7E] # TIBETAN SIGN RJES SU NGA RO
-0F7F  ; [.0000.012E.0002.0F7F] # TIBETAN SIGN RNAM BCAD
-1C37  ; [.0000.012F.0002.1C37] # LEPCHA SIGN NUKTA
-A92B  ; [.0000.0130.0002.A92B] # KAYAH LI TONE PLOPHU
-A92C  ; [.0000.0131.0002.A92C] # KAYAH LI TONE CALYA
-A92D  ; [.0000.0132.0002.A92D] # KAYAH LI TONE CALYA PLOPHU
-1036  ; [.0000.0133.0002.1036] # MYANMAR SIGN ANUSVARA
-1037  ; [.0000.0134.0002.1037] # MYANMAR SIGN DOT BELOW
-1038  ; [.0000.0135.0002.1038] # MYANMAR SIGN VISARGA
-108D  ; [.0000.0136.0002.108D] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
-17C6  ; [.0000.0137.0002.17C6] # KHMER SIGN NIKAHIT
-17C7  ; [.0000.0138.0002.17C7] # KHMER SIGN REAHMUK
-17C8  ; [.0000.0139.0002.17C8] # KHMER SIGN YUUKALEAPINTU
-17C9  ; [.0000.013A.0002.17C9] # KHMER SIGN MUUSIKATOAN
-17CA  ; [.0000.013B.0002.17CA] # KHMER SIGN TRIISAP
-1A74  ; [.0000.013C.0002.1A74] # TAI THAM SIGN MAI KANG
-1A75  ; [.0000.013D.0002.1A75] # TAI THAM SIGN TONE-1
-1A76  ; [.0000.013E.0002.1A76] # TAI THAM SIGN TONE-2
-1A77  ; [.0000.013F.0002.1A77] # TAI THAM SIGN KHUEN TONE-3
-1A78  ; [.0000.0140.0002.1A78] # TAI THAM SIGN KHUEN TONE-4
-1A79  ; [.0000.0141.0002.1A79] # TAI THAM SIGN KHUEN TONE-5
-1A7A  ; [.0000.0142.0002.1A7A] # TAI THAM SIGN RA HAAM
-1A7B  ; [.0000.0143.0002.1A7B] # TAI THAM SIGN MAI SAM
-1A7C  ; [.0000.0144.0002.1A7C] # TAI THAM SIGN KHUEN-LUE KARAN
-1939  ; [.0000.0145.0002.1939] # LIMBU SIGN MUKPHRENG
-193A  ; [.0000.0146.0002.193A] # LIMBU SIGN KEMPHRENG
-193B  ; [.0000.0147.0002.193B] # LIMBU SIGN SA-I
-302A  ; [.0000.0148.0002.302A] # IDEOGRAPHIC LEVEL TONE MARK
-302B  ; [.0000.0149.0002.302B] # IDEOGRAPHIC RISING TONE MARK
-302C  ; [.0000.014A.0002.302C] # IDEOGRAPHIC DEPARTING TONE MARK
-302D  ; [.0000.014B.0002.302D] # IDEOGRAPHIC ENTERING TONE MARK
-302E  ; [.0000.014C.0002.302E] # HANGUL SINGLE DOT TONE MARK
-302F  ; [.0000.014D.0002.302F] # HANGUL DOUBLE DOT TONE MARK
-3099  ; [.0000.014E.0002.3099] # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
-FF9E  ; [.0000.014E.0012.FF9E] # HALFWIDTH KATAKANA VOICED SOUND MARK; QQK
-309A  ; [.0000.014F.0002.309A] # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
-FF9F  ; [.0000.014F.0012.FF9F] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK; QQK
-20D0  ; [.0000.0150.0002.20D0] # COMBINING LEFT HARPOON ABOVE
-20D1  ; [.0000.0151.0002.20D1] # COMBINING RIGHT HARPOON ABOVE
-20D2  ; [.0000.0152.0002.20D2] # COMBINING LONG VERTICAL LINE OVERLAY
-20D3  ; [.0000.0152.0002.20D3] # COMBINING SHORT VERTICAL LINE OVERLAY; QQC
-20D4  ; [.0000.0153.0002.20D4] # COMBINING ANTICLOCKWISE ARROW ABOVE
-20D5  ; [.0000.0154.0002.20D5] # COMBINING CLOCKWISE ARROW ABOVE
-20D6  ; [.0000.0155.0002.20D6] # COMBINING LEFT ARROW ABOVE
-20D7  ; [.0000.0156.0002.20D7] # COMBINING RIGHT ARROW ABOVE
-20DB  ; [.0000.0157.0002.20DB] # COMBINING THREE DOTS ABOVE
-20DC  ; [.0000.0158.0002.20DC] # COMBINING FOUR DOTS ABOVE
-20E1  ; [.0000.0159.0002.20E1] # COMBINING LEFT RIGHT ARROW ABOVE
-20E6  ; [.0000.015A.0002.20E6] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
-20E7  ; [.0000.015B.0002.20E7] # COMBINING ANNUITY SYMBOL
-20E8  ; [.0000.015C.0002.20E8] # COMBINING TRIPLE UNDERDOT
-20E9  ; [.0000.015D.0002.20E9] # COMBINING WIDE BRIDGE ABOVE
-101FD ; [.0000.015E.0002.101FD] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
-02D0  ; [.1561.0020.0002.02D0] # MODIFIER LETTER TRIANGULAR COLON
-02D1  ; [.1562.0020.0002.02D1] # MODIFIER LETTER HALF TRIANGULAR COLON
-0971  ; [.1563.0020.0002.0971] # DEVANAGARI SIGN HIGH SPACING DOT
-0E46  ; [.1564.0020.0002.0E46] # THAI CHARACTER MAIYAMOK
-0EC6  ; [.1565.0020.0002.0EC6] # LAO KO LA
-1AA7  ; [.1566.0020.0002.1AA7] # TAI THAM SIGN MAI YAMOK
-A9CF  ; [.1567.0020.0002.A9CF] # JAVANESE PANGRANGKEP
-AA70  ; [.1568.0020.0002.AA70] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
-AADD  ; [.1569.0020.0002.AADD] # TAI VIET SYMBOL SAM
-3005  ; [.156A.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
-303B  ; [.156B.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
-3031  ; [.156C.0020.0002.3031] # VERTICAL KANA REPEAT MARK
-3032  ; [.156C.0020.0002.3031][.0000.014E.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK; QQCM
-3033  ; [.156D.0020.0002.3033] # VERTICAL KANA REPEAT MARK UPPER HALF
-3034  ; [.156D.0020.0002.3033][.0000.014E.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF; QQCM
-3035  ; [.156E.0020.0002.3035] # VERTICAL KANA REPEAT MARK LOWER HALF
-309D  ; [.156F.0020.0002.309D] # HIRAGANA ITERATION MARK
-309E  ; [.156F.0020.0002.309D][.0000.014E.0002.3099] # HIRAGANA VOICED ITERATION MARK; QQCM
-30FC  ; [.1570.0020.0002.30FC] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
-FF70  ; [.1570.0020.0012.FF70] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK; QQK
-30FD  ; [.1571.0020.0002.30FD] # KATAKANA ITERATION MARK
-30FE  ; [.1571.0020.0002.30FD][.0000.014E.0002.3099] # KATAKANA VOICED ITERATION MARK; QQCM
-00A4  ; [.1572.0020.0002.00A4] # CURRENCY SIGN
-00A2  ; [.1573.0020.0002.00A2] # CENT SIGN
-FFE0  ; [.1573.0020.0003.FFE0] # FULLWIDTH CENT SIGN; QQK
-0024  ; [.1574.0020.0002.0024] # DOLLAR SIGN
-FF04  ; [.1574.0020.0003.FF04] # FULLWIDTH DOLLAR SIGN; QQK
-FE69  ; [.1574.0020.000F.FE69] # SMALL DOLLAR SIGN; QQK
-00A3  ; [.1575.0020.0002.00A3] # POUND SIGN
-FFE1  ; [.1575.0020.0003.FFE1] # FULLWIDTH POUND SIGN; QQK
-00A5  ; [.1576.0020.0002.00A5] # YEN SIGN
-FFE5  ; [.1576.0020.0003.FFE5] # FULLWIDTH YEN SIGN; QQK
-060B  ; [.1577.0020.0002.060B] # AFGHANI SIGN
-09F2  ; [.1578.0020.0002.09F2] # BENGALI RUPEE MARK
-09F3  ; [.1579.0020.0002.09F3] # BENGALI RUPEE SIGN
-09FB  ; [.157A.0020.0002.09FB] # BENGALI GANDA MARK
-0AF1  ; [.157B.0020.0002.0AF1] # GUJARATI RUPEE SIGN
-A838  ; [.157C.0020.0002.A838] # NORTH INDIC RUPEE MARK
-0BF9  ; [.157D.0020.0002.0BF9] # TAMIL RUPEE SIGN
-0E3F  ; [.157E.0020.0002.0E3F] # THAI CURRENCY SYMBOL BAHT
-17DB  ; [.157F.0020.0002.17DB] # KHMER CURRENCY SYMBOL RIEL
-20A0  ; [.1580.0020.0002.20A0] # EURO-CURRENCY SIGN
-20A1  ; [.1581.0020.0002.20A1] # COLON SIGN
-20A2  ; [.1582.0020.0002.20A2] # CRUZEIRO SIGN
-20A3  ; [.1583.0020.0002.20A3] # FRENCH FRANC SIGN
-20A4  ; [.1584.0020.0002.20A4] # LIRA SIGN
-20A5  ; [.1585.0020.0002.20A5] # MILL SIGN
-20A6  ; [.1586.0020.0002.20A6] # NAIRA SIGN
-20A7  ; [.1587.0020.0002.20A7] # PESETA SIGN
-20A9  ; [.1588.0020.0002.20A9] # WON SIGN
-FFE6  ; [.1588.0020.0003.FFE6] # FULLWIDTH WON SIGN; QQK
-20AA  ; [.1589.0020.0002.20AA] # NEW SHEQEL SIGN
-20AB  ; [.158A.0020.0002.20AB] # DONG SIGN
-20AC  ; [.158B.0020.0002.20AC] # EURO SIGN
-20AD  ; [.158C.0020.0002.20AD] # KIP SIGN
-20AE  ; [.158D.0020.0002.20AE] # TUGRIK SIGN
-20AF  ; [.158E.0020.0002.20AF] # DRACHMA SIGN
-20B0  ; [.158F.0020.0002.20B0] # GERMAN PENNY SIGN
-20B1  ; [.1590.0020.0002.20B1] # PESO SIGN
-20B2  ; [.1591.0020.0002.20B2] # GUARANI SIGN
-20B3  ; [.1592.0020.0002.20B3] # AUSTRAL SIGN
-20B4  ; [.1593.0020.0002.20B4] # HRYVNIA SIGN
-20B5  ; [.1594.0020.0002.20B5] # CEDI SIGN
-20B6  ; [.1595.0020.0002.20B6] # LIVRE TOURNOIS SIGN
-20B7  ; [.1596.0020.0002.20B7] # SPESMILO SIGN
-20B8  ; [.1597.0020.0002.20B8] # TENGE SIGN
-20B9  ; [.1598.0020.0002.20B9] # INDIAN RUPEE SIGN
-0030  ; [.1599.0020.0002.0030] # DIGIT ZERO
-FF10  ; [.1599.0020.0003.FF10] # FULLWIDTH DIGIT ZERO; QQK
-1F100 ; [.1599.0020.0004.1F100][*028E.0020.0004.1F100] # DIGIT ZERO FULL STOP; QQKN
-1F101 ; [.1599.0020.0004.1F101][*0241.0020.0004.1F101] # DIGIT ZERO COMMA; QQKN
-1D7CE ; [.1599.0020.0005.1D7CE] # MATHEMATICAL BOLD DIGIT ZERO; QQK
-1D7D8 ; [.1599.0020.0005.1D7D8] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO; QQK
-1D7E2 ; [.1599.0020.0005.1D7E2] # MATHEMATICAL SANS-SERIF DIGIT ZERO; QQK
-1D7EC ; [.1599.0020.0005.1D7EC] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO; QQK
-1D7F6 ; [.1599.0020.0005.1D7F6] # MATHEMATICAL MONOSPACE DIGIT ZERO; QQK
-24EA  ; [.1599.0020.0006.24EA] # CIRCLED DIGIT ZERO; QQK
-24FF  ; [.1599.0020.0006.24FF] # NEGATIVE CIRCLED DIGIT ZERO; QQK
-2070  ; [.1599.0020.0014.2070] # SUPERSCRIPT ZERO; QQK
-2080  ; [.1599.0020.0015.2080] # SUBSCRIPT ZERO; QQK
-0660  ; [.1599.0020.0002.0660][.0000.0165.0002.0660] # ARABIC-INDIC DIGIT ZERO
-06F0  ; [.1599.0020.0002.06F0][.0000.0166.0002.06F0] # EXTENDED ARABIC-INDIC DIGIT ZERO
-07C0  ; [.1599.0020.0002.07C0][.0000.0168.0002.07C0] # NKO DIGIT ZERO
-104A0 ; [.1599.0020.0002.104A0][.0000.016A.0002.104A0] # OSMANYA DIGIT ZERO
-0966  ; [.1599.0020.0002.0966][.0000.016B.0002.0966] # DEVANAGARI DIGIT ZERO
-09E6  ; [.1599.0020.0002.09E6][.0000.016C.0002.09E6] # BENGALI DIGIT ZERO
-0A66  ; [.1599.0020.0002.0A66][.0000.016D.0002.0A66] # GURMUKHI DIGIT ZERO
-0AE6  ; [.1599.0020.0002.0AE6][.0000.016E.0002.0AE6] # GUJARATI DIGIT ZERO
-0B66  ; [.1599.0020.0002.0B66][.0000.016F.0002.0B66] # ORIYA DIGIT ZERO
-0BE6  ; [.1599.0020.0002.0BE6][.0000.0170.0002.0BE6] # TAMIL DIGIT ZERO
-0C66  ; [.1599.0020.0002.0C66][.0000.0171.0002.0C66] # TELUGU DIGIT ZERO
-0C78  ; [.1599.0020.0002.0C78][.0000.0171.0002.0C78] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
-0CE6  ; [.1599.0020.0002.0CE6][.0000.0172.0002.0CE6] # KANNADA DIGIT ZERO
-0D66  ; [.1599.0020.0002.0D66][.0000.0173.0002.0D66] # MALAYALAM DIGIT ZERO
-ABF0  ; [.1599.0020.0002.ABF0][.0000.0174.0002.ABF0] # MEETEI MAYEK DIGIT ZERO
-A8D0  ; [.1599.0020.0002.A8D0][.0000.0175.0002.A8D0] # SAURASHTRA DIGIT ZERO
-1946  ; [.1599.0020.0002.1946][.0000.0176.0002.1946] # LIMBU DIGIT ZERO
-19D0  ; [.1599.0020.0002.19D0][.0000.0177.0002.19D0] # NEW TAI LUE DIGIT ZERO
-1A80  ; [.1599.0020.0002.1A80][.0000.0178.0002.1A80] # TAI THAM HORA DIGIT ZERO
-1A90  ; [.1599.0020.0002.1A90][.0000.0179.0002.1A90] # TAI THAM THAM DIGIT ZERO
-0E50  ; [.1599.0020.0002.0E50][.0000.017A.0002.0E50] # THAI DIGIT ZERO
-0ED0  ; [.1599.0020.0002.0ED0][.0000.017B.0002.0ED0] # LAO DIGIT ZERO
-0F20  ; [.1599.0020.0002.0F20][.0000.017C.0002.0F20] # TIBETAN DIGIT ZERO
-0F33  ; [.1599.0020.0004.0F33][.0000.017C.0004.0F33] # TIBETAN DIGIT HALF ZERO; QQK
-1C40  ; [.1599.0020.0002.1C40][.0000.017D.0002.1C40] # LEPCHA DIGIT ZERO
-A900  ; [.1599.0020.0002.A900][.0000.017E.0002.A900] # KAYAH LI DIGIT ZERO
-1040  ; [.1599.0020.0002.1040][.0000.017F.0002.1040] # MYANMAR DIGIT ZERO
-1090  ; [.1599.0020.0002.1090][.0000.0180.0002.1090] # MYANMAR SHAN DIGIT ZERO
-17E0  ; [.1599.0020.0002.17E0][.0000.0181.0002.17E0] # KHMER DIGIT ZERO
-17F0  ; [.1599.0020.0002.17F0][.0000.0182.0002.17F0] # KHMER SYMBOL LEK ATTAK SON
-AA50  ; [.1599.0020.0002.AA50][.0000.0183.0002.AA50] # CHAM DIGIT ZERO
-1B50  ; [.1599.0020.0002.1B50][.0000.0184.0002.1B50] # BALINESE DIGIT ZERO
-A9D0  ; [.1599.0020.0002.A9D0][.0000.0185.0002.A9D0] # JAVANESE DIGIT ZERO
-1BB0  ; [.1599.0020.0002.1BB0][.0000.0186.0002.1BB0] # SUNDANESE DIGIT ZERO
-1810  ; [.1599.0020.0002.1810][.0000.0187.0002.1810] # MONGOLIAN DIGIT ZERO
-1C50  ; [.1599.0020.0002.1C50][.0000.0188.0002.1C50] # OL CHIKI DIGIT ZERO
-A620  ; [.1599.0020.0002.A620][.0000.0189.0002.A620] # VAI DIGIT ZERO
-3007  ; [.1599.0020.0002.3007][.0000.018A.0002.3007] # IDEOGRAPHIC NUMBER ZERO
-1018A ; [.1599.0020.0002.1018A][.0000.018C.0002.1018A] # GREEK ZERO SIGN
-11066 ; [.1599.0020.0002.11066][.0000.0196.0002.11066] # BRAHMI DIGIT ZERO
-2189  ; [.1599.0020.001E.2189][*036C.0020.001E.2189][.159C.0020.001F.2189] # VULGAR FRACTION ZERO THIRDS; QQKN
-3358  ; [.1599.0020.0004.3358][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO; QQKN
-0031  ; [.159A.0020.0002.0031] # DIGIT ONE
-FF11  ; [.159A.0020.0003.FF11] # FULLWIDTH DIGIT ONE; QQK
-2474  ; [*030E.0020.0004.2474][.159A.0020.0004.2474][*030F.0020.001F.2474] # PARENTHESIZED DIGIT ONE; QQKN
-2488  ; [.159A.0020.0004.2488][*028E.0020.0004.2488] # DIGIT ONE FULL STOP; QQKN
-1F102 ; [.159A.0020.0004.1F102][*0241.0020.0004.1F102] # DIGIT ONE COMMA; QQKN
-1D7CF ; [.159A.0020.0005.1D7CF] # MATHEMATICAL BOLD DIGIT ONE; QQK
-1D7D9 ; [.159A.0020.0005.1D7D9] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE; QQK
-1D7E3 ; [.159A.0020.0005.1D7E3] # MATHEMATICAL SANS-SERIF DIGIT ONE; QQK
-1D7ED ; [.159A.0020.0005.1D7ED] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE; QQK
-1D7F7 ; [.159A.0020.0005.1D7F7] # MATHEMATICAL MONOSPACE DIGIT ONE; QQK
-2460  ; [.159A.0020.0006.2460] # CIRCLED DIGIT ONE; QQK
-24F5  ; [.159A.0020.0006.24F5] # DOUBLE CIRCLED DIGIT ONE; QQK
-2776  ; [.159A.0020.0006.2776] # DINGBAT NEGATIVE CIRCLED DIGIT ONE; QQK
-2780  ; [.159A.0020.0006.2780] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE; QQK
-278A  ; [.159A.0020.0006.278A] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE; QQK
-00B9  ; [.159A.0020.0014.00B9] # SUPERSCRIPT ONE; QQK
-2081  ; [.159A.0020.0015.2081] # SUBSCRIPT ONE; QQK
-215F  ; [.159A.0020.001E.215F][*036C.0020.001E.215F] # FRACTION NUMERATOR ONE; QQKN
-0661  ; [.159A.0020.0002.0661][.0000.0165.0002.0661] # ARABIC-INDIC DIGIT ONE
-06F1  ; [.159A.0020.0002.06F1][.0000.0166.0002.06F1] # EXTENDED ARABIC-INDIC DIGIT ONE
-10E60 ; [.159A.0020.0002.10E60][.0000.0167.0002.10E60] # RUMI DIGIT ONE
-07C1  ; [.159A.0020.0002.07C1][.0000.0168.0002.07C1] # NKO DIGIT ONE
-1369  ; [.159A.0020.0002.1369][.0000.0169.0002.1369] # ETHIOPIC DIGIT ONE
-104A1 ; [.159A.0020.0002.104A1][.0000.016A.0002.104A1] # OSMANYA DIGIT ONE
-0967  ; [.159A.0020.0002.0967][.0000.016B.0002.0967] # DEVANAGARI DIGIT ONE
-09E7  ; [.159A.0020.0002.09E7][.0000.016C.0002.09E7] # BENGALI DIGIT ONE
-0A67  ; [.159A.0020.0002.0A67][.0000.016D.0002.0A67] # GURMUKHI DIGIT ONE
-0AE7  ; [.159A.0020.0002.0AE7][.0000.016E.0002.0AE7] # GUJARATI DIGIT ONE
-0B67  ; [.159A.0020.0002.0B67][.0000.016F.0002.0B67] # ORIYA DIGIT ONE
-0BE7  ; [.159A.0020.0002.0BE7][.0000.0170.0002.0BE7] # TAMIL DIGIT ONE
-0C67  ; [.159A.0020.0002.0C67][.0000.0171.0002.0C67] # TELUGU DIGIT ONE
-0C79  ; [.159A.0020.0002.0C79][.0000.0171.0002.0C79] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
-0C7C  ; [.159A.0020.0002.0C7C][.0000.0171.0002.0C7C] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
-0CE7  ; [.159A.0020.0002.0CE7][.0000.0172.0002.0CE7] # KANNADA DIGIT ONE
-0D67  ; [.159A.0020.0002.0D67][.0000.0173.0002.0D67] # MALAYALAM DIGIT ONE
-ABF1  ; [.159A.0020.0002.ABF1][.0000.0174.0002.ABF1] # MEETEI MAYEK DIGIT ONE
-A8D1  ; [.159A.0020.0002.A8D1][.0000.0175.0002.A8D1] # SAURASHTRA DIGIT ONE
-1947  ; [.159A.0020.0002.1947][.0000.0176.0002.1947] # LIMBU DIGIT ONE
-19D1  ; [.159A.0020.0002.19D1][.0000.0177.0002.19D1] # NEW TAI LUE DIGIT ONE
-19DA  ; [.159A.0020.0002.19DA][.0000.0177.0002.19DA] # NEW TAI LUE THAM DIGIT ONE
-1A81  ; [.159A.0020.0002.1A81][.0000.0178.0002.1A81] # TAI THAM HORA DIGIT ONE
-1A91  ; [.159A.0020.0002.1A91][.0000.0179.0002.1A91] # TAI THAM THAM DIGIT ONE
-0E51  ; [.159A.0020.0002.0E51][.0000.017A.0002.0E51] # THAI DIGIT ONE
-0ED1  ; [.159A.0020.0002.0ED1][.0000.017B.0002.0ED1] # LAO DIGIT ONE
-0F21  ; [.159A.0020.0002.0F21][.0000.017C.0002.0F21] # TIBETAN DIGIT ONE
-0F2A  ; [.159A.0020.0004.0F2A][.0000.017C.0004.0F2A] # TIBETAN DIGIT HALF ONE; QQK
-1C41  ; [.159A.0020.0002.1C41][.0000.017D.0002.1C41] # LEPCHA DIGIT ONE
-A901  ; [.159A.0020.0002.A901][.0000.017E.0002.A901] # KAYAH LI DIGIT ONE
-1041  ; [.159A.0020.0002.1041][.0000.017F.0002.1041] # MYANMAR DIGIT ONE
-1091  ; [.159A.0020.0002.1091][.0000.0180.0002.1091] # MYANMAR SHAN DIGIT ONE
-17E1  ; [.159A.0020.0002.17E1][.0000.0181.0002.17E1] # KHMER DIGIT ONE
-17F1  ; [.159A.0020.0002.17F1][.0000.0182.0002.17F1] # KHMER SYMBOL LEK ATTAK MUOY
-AA51  ; [.159A.0020.0002.AA51][.0000.0183.0002.AA51] # CHAM DIGIT ONE
-1B51  ; [.159A.0020.0002.1B51][.0000.0184.0002.1B51] # BALINESE DIGIT ONE
-A9D1  ; [.159A.0020.0002.A9D1][.0000.0185.0002.A9D1] # JAVANESE DIGIT ONE
-1BB1  ; [.159A.0020.0002.1BB1][.0000.0186.0002.1BB1] # SUNDANESE DIGIT ONE
-1811  ; [.159A.0020.0002.1811][.0000.0187.0002.1811] # MONGOLIAN DIGIT ONE
-1C51  ; [.159A.0020.0002.1C51][.0000.0188.0002.1C51] # OL CHIKI DIGIT ONE
-A621  ; [.159A.0020.0002.A621][.0000.0189.0002.A621] # VAI DIGIT ONE
-3021  ; [.159A.0020.0002.3021][.0000.018A.0002.3021] # HANGZHOU NUMERAL ONE
-10107 ; [.159A.0020.0002.10107][.0000.018B.0002.10107] # AEGEAN NUMBER ONE
-10142 ; [.159A.0020.0002.10142][.0000.018C.0002.10142] # GREEK ACROPHONIC ATTIC ONE DRACHMA
-10158 ; [.159A.0020.0002.10158][.0000.018C.0002.10158] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
-10159 ; [.159A.0020.0002.10159][.0000.018C.0002.10159] # GREEK ACROPHONIC THESPIAN ONE
-1015A ; [.159A.0020.0002.1015A][.0000.018C.0002.1015A] # GREEK ACROPHONIC HERMIONIAN ONE
-10320 ; [.159A.0020.0002.10320][.0000.018E.0002.10320] # OLD ITALIC NUMERAL ONE
-103D1 ; [.159A.0020.0002.103D1][.0000.018F.0002.103D1] # OLD PERSIAN NUMBER ONE
-12415 ; [.159A.0020.0002.12415][.0000.0190.0002.12415] # CUNEIFORM NUMERIC SIGN ONE GESH2
-1241E ; [.159A.0020.0002.1241E][.0000.0190.0002.1241E] # CUNEIFORM NUMERIC SIGN ONE GESHU
-1242C ; [.159A.0020.0002.1242C][.0000.0190.0002.1242C] # CUNEIFORM NUMERIC SIGN ONE SHARU
-12434 ; [.159A.0020.0002.12434][.0000.0190.0002.12434] # CUNEIFORM NUMERIC SIGN ONE BURU
-1244F ; [.159A.0020.0002.1244F][.0000.0190.0002.1244F] # CUNEIFORM NUMERIC SIGN ONE BAN2
-12458 ; [.159A.0020.0002.12458][.0000.0190.0002.12458] # CUNEIFORM NUMERIC SIGN ONE ESHE3
-10A7D ; [.159A.0020.0002.10A7D][.0000.0191.0002.10A7D] # OLD SOUTH ARABIAN NUMBER ONE
-10916 ; [.159A.0020.0002.10916][.0000.0192.0002.10916] # PHOENICIAN NUMBER ONE
-10858 ; [.159A.0020.0002.10858][.0000.0193.0002.10858] # IMPERIAL ARAMAIC NUMBER ONE
-10B58 ; [.159A.0020.0002.10B58][.0000.0194.0002.10B58] # INSCRIPTIONAL PARTHIAN NUMBER ONE
-10B78 ; [.159A.0020.0002.10B78][.0000.0195.0002.10B78] # INSCRIPTIONAL PAHLAVI NUMBER ONE
-11067 ; [.159A.0020.0002.11067][.0000.0196.0002.11067] # BRAHMI DIGIT ONE
-11052 ; [.159A.0020.0002.11052][.0000.0197.0002.11052] # BRAHMI NUMBER ONE
-10A40 ; [.159A.0020.0002.10A40][.0000.0198.0002.10A40] # KHAROSHTHI DIGIT ONE
-1D360 ; [.159A.0020.0002.1D360][.0000.0199.0002.1D360] # COUNTING ROD UNIT DIGIT ONE
-2491  ; [.159A.0020.0004.2491][.1599.0020.0004.2491][*028E.0020.001F.2491] # NUMBER TEN FULL STOP; QQKN
-247D  ; [*030E.0020.0004.247D][.159A.0020.0004.247D][.1599.0020.001F.247D][*030F.0020.001F.247D] # PARENTHESIZED NUMBER TEN; QQKN
-2469  ; [.159A.0020.0006.2469][.1599.0020.0006.2469] # CIRCLED NUMBER TEN; QQKN
-24FE  ; [.159A.0020.0006.24FE][.1599.0020.0006.24FE] # DOUBLE CIRCLED NUMBER TEN; QQKN
-277F  ; [.159A.0020.0006.277F][.1599.0020.0006.277F] # DINGBAT NEGATIVE CIRCLED NUMBER TEN; QQKN
-2789  ; [.159A.0020.0006.2789][.1599.0020.0006.2789] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN; QQKN
-2793  ; [.159A.0020.0006.2793][.1599.0020.0006.2793] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN; QQKN
-3248  ; [.159A.0020.0006.3248][.1599.0020.0006.3248] # CIRCLED NUMBER TEN ON BLACK SQUARE; QQKN
-33E9  ; [.159A.0020.0004.33E9][.1599.0020.0004.33E9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN; QQKN
-32C9  ; [.159A.0020.0004.32C9][.1599.0020.0004.32C9][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER; QQKN
-3362  ; [.159A.0020.0004.3362][.1599.0020.0004.3362][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN; QQKN
-2492  ; [.159A.0020.0004.2492][.159A.0020.0004.2492][*028E.0020.001F.2492] # NUMBER ELEVEN FULL STOP; QQKN
-247E  ; [*030E.0020.0004.247E][.159A.0020.0004.247E][.159A.0020.001F.247E][*030F.0020.001F.247E] # PARENTHESIZED NUMBER ELEVEN; QQKN
-246A  ; [.159A.0020.0006.246A][.159A.0020.0006.246A] # CIRCLED NUMBER ELEVEN; QQKN
-24EB  ; [.159A.0020.0006.24EB][.159A.0020.0006.24EB] # NEGATIVE CIRCLED NUMBER ELEVEN; QQKN
-2152  ; [.159A.0020.001E.2152][*036C.0020.001E.2152][.159A.0020.001F.2152][.1599.0020.001F.2152] # VULGAR FRACTION ONE TENTH; QQKN
-33EA  ; [.159A.0020.0004.33EA][.159A.0020.0004.33EA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN; QQKN
-32CA  ; [.159A.0020.0004.32CA][.159A.0020.0004.32CA][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER; QQKN
-3363  ; [.159A.0020.0004.3363][.159A.0020.0004.3363][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN; QQKN
-2493  ; [.159A.0020.0004.2493][.159B.0020.0004.2493][*028E.0020.001F.2493] # NUMBER TWELVE FULL STOP; QQKN
-247F  ; [*030E.0020.0004.247F][.159A.0020.0004.247F][.159B.0020.001F.247F][*030F.0020.001F.247F] # PARENTHESIZED NUMBER TWELVE; QQKN
-246B  ; [.159A.0020.0006.246B][.159B.0020.0006.246B] # CIRCLED NUMBER TWELVE; QQKN
-24EC  ; [.159A.0020.0006.24EC][.159B.0020.0006.24EC] # NEGATIVE CIRCLED NUMBER TWELVE; QQKN
-00BD  ; [.159A.0020.001E.00BD][*036C.0020.001E.00BD][.159B.0020.001F.00BD] # VULGAR FRACTION ONE HALF; QQKN
-33EB  ; [.159A.0020.0004.33EB][.159B.0020.0004.33EB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE; QQKN
-32CB  ; [.159A.0020.0004.32CB][.159B.0020.0004.32CB][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER; QQKN
-3364  ; [.159A.0020.0004.3364][.159B.0020.0004.3364][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE; QQKN
-2494  ; [.159A.0020.0004.2494][.159C.0020.0004.2494][*028E.0020.001F.2494] # NUMBER THIRTEEN FULL STOP; QQKN
-2480  ; [*030E.0020.0004.2480][.159A.0020.0004.2480][.159C.0020.001F.2480][*030F.0020.001F.2480] # PARENTHESIZED NUMBER THIRTEEN; QQKN
-246C  ; [.159A.0020.0006.246C][.159C.0020.0006.246C] # CIRCLED NUMBER THIRTEEN; QQKN
-24ED  ; [.159A.0020.0006.24ED][.159C.0020.0006.24ED] # NEGATIVE CIRCLED NUMBER THIRTEEN; QQKN
-2153  ; [.159A.0020.001E.2153][*036C.0020.001E.2153][.159C.0020.001F.2153] # VULGAR FRACTION ONE THIRD; QQKN
-33EC  ; [.159A.0020.0004.33EC][.159C.0020.0004.33EC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN; QQKN
-3365  ; [.159A.0020.0004.3365][.159C.0020.0004.3365][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN; QQKN
-2495  ; [.159A.0020.0004.2495][.159D.0020.0004.2495][*028E.0020.001F.2495] # NUMBER FOURTEEN FULL STOP; QQKN
-2481  ; [*030E.0020.0004.2481][.159A.0020.0004.2481][.159D.0020.001F.2481][*030F.0020.001F.2481] # PARENTHESIZED NUMBER FOURTEEN; QQKN
-246D  ; [.159A.0020.0006.246D][.159D.0020.0006.246D] # CIRCLED NUMBER FOURTEEN; QQKN
-24EE  ; [.159A.0020.0006.24EE][.159D.0020.0006.24EE] # NEGATIVE CIRCLED NUMBER FOURTEEN; QQKN
-00BC  ; [.159A.0020.001E.00BC][*036C.0020.001E.00BC][.159D.0020.001F.00BC] # VULGAR FRACTION ONE QUARTER; QQKN
-33ED  ; [.159A.0020.0004.33ED][.159D.0020.0004.33ED][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN; QQKN
-3366  ; [.159A.0020.0004.3366][.159D.0020.0004.3366][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN; QQKN
-2496  ; [.159A.0020.0004.2496][.159E.0020.0004.2496][*028E.0020.001F.2496] # NUMBER FIFTEEN FULL STOP; QQKN
-2482  ; [*030E.0020.0004.2482][.159A.0020.0004.2482][.159E.0020.001F.2482][*030F.0020.001F.2482] # PARENTHESIZED NUMBER FIFTEEN; QQKN
-246E  ; [.159A.0020.0006.246E][.159E.0020.0006.246E] # CIRCLED NUMBER FIFTEEN; QQKN
-24EF  ; [.159A.0020.0006.24EF][.159E.0020.0006.24EF] # NEGATIVE CIRCLED NUMBER FIFTEEN; QQKN
-2155  ; [.159A.0020.001E.2155][*036C.0020.001E.2155][.159E.0020.001F.2155] # VULGAR FRACTION ONE FIFTH; QQKN
-33EE  ; [.159A.0020.0004.33EE][.159E.0020.0004.33EE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN; QQKN
-3367  ; [.159A.0020.0004.3367][.159E.0020.0004.3367][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN; QQKN
-2497  ; [.159A.0020.0004.2497][.159F.0020.0004.2497][*028E.0020.001F.2497] # NUMBER SIXTEEN FULL STOP; QQKN
-2483  ; [*030E.0020.0004.2483][.159A.0020.0004.2483][.159F.0020.001F.2483][*030F.0020.001F.2483] # PARENTHESIZED NUMBER SIXTEEN; QQKN
-246F  ; [.159A.0020.0006.246F][.159F.0020.0006.246F] # CIRCLED NUMBER SIXTEEN; QQKN
-24F0  ; [.159A.0020.0006.24F0][.159F.0020.0006.24F0] # NEGATIVE CIRCLED NUMBER SIXTEEN; QQKN
-2159  ; [.159A.0020.001E.2159][*036C.0020.001E.2159][.159F.0020.001F.2159] # VULGAR FRACTION ONE SIXTH; QQKN
-33EF  ; [.159A.0020.0004.33EF][.159F.0020.0004.33EF][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN; QQKN
-3368  ; [.159A.0020.0004.3368][.159F.0020.0004.3368][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN; QQKN
-2498  ; [.159A.0020.0004.2498][.15A0.0020.0004.2498][*028E.0020.001F.2498] # NUMBER SEVENTEEN FULL STOP; QQKN
-2484  ; [*030E.0020.0004.2484][.159A.0020.0004.2484][.15A0.0020.001F.2484][*030F.0020.001F.2484] # PARENTHESIZED NUMBER SEVENTEEN; QQKN
-2470  ; [.159A.0020.0006.2470][.15A0.0020.0006.2470] # CIRCLED NUMBER SEVENTEEN; QQKN
-24F1  ; [.159A.0020.0006.24F1][.15A0.0020.0006.24F1] # NEGATIVE CIRCLED NUMBER SEVENTEEN; QQKN
-2150  ; [.159A.0020.001E.2150][*036C.0020.001E.2150][.15A0.0020.001F.2150] # VULGAR FRACTION ONE SEVENTH; QQKN
-33F0  ; [.159A.0020.0004.33F0][.15A0.0020.0004.33F0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN; QQKN
-3369  ; [.159A.0020.0004.3369][.15A0.0020.0004.3369][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN; QQKN
-2499  ; [.159A.0020.0004.2499][.15A1.0020.0004.2499][*028E.0020.001F.2499] # NUMBER EIGHTEEN FULL STOP; QQKN
-2485  ; [*030E.0020.0004.2485][.159A.0020.0004.2485][.15A1.0020.001F.2485][*030F.0020.001F.2485] # PARENTHESIZED NUMBER EIGHTEEN; QQKN
-2471  ; [.159A.0020.0006.2471][.15A1.0020.0006.2471] # CIRCLED NUMBER EIGHTEEN; QQKN
-24F2  ; [.159A.0020.0006.24F2][.15A1.0020.0006.24F2] # NEGATIVE CIRCLED NUMBER EIGHTEEN; QQKN
-215B  ; [.159A.0020.001E.215B][*036C.0020.001E.215B][.15A1.0020.001F.215B] # VULGAR FRACTION ONE EIGHTH; QQKN
-33F1  ; [.159A.0020.0004.33F1][.15A1.0020.0004.33F1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN; QQKN
-336A  ; [.159A.0020.0004.336A][.15A1.0020.0004.336A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN; QQKN
-249A  ; [.159A.0020.0004.249A][.15A2.0020.0004.249A][*028E.0020.001F.249A] # NUMBER NINETEEN FULL STOP; QQKN
-2486  ; [*030E.0020.0004.2486][.159A.0020.0004.2486][.15A2.0020.001F.2486][*030F.0020.001F.2486] # PARENTHESIZED NUMBER NINETEEN; QQKN
-2472  ; [.159A.0020.0006.2472][.15A2.0020.0006.2472] # CIRCLED NUMBER NINETEEN; QQKN
-24F3  ; [.159A.0020.0006.24F3][.15A2.0020.0006.24F3] # NEGATIVE CIRCLED NUMBER NINETEEN; QQKN
-2151  ; [.159A.0020.001E.2151][*036C.0020.001E.2151][.15A2.0020.001F.2151] # VULGAR FRACTION ONE NINTH; QQKN
-33F2  ; [.159A.0020.0004.33F2][.15A2.0020.0004.33F2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN; QQKN
-336B  ; [.159A.0020.0004.336B][.15A2.0020.0004.336B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN; QQKN
-33E0  ; [.159A.0020.0004.33E0][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE; QQKN
-32C0  ; [.159A.0020.0004.32C0][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY; QQKN
-3359  ; [.159A.0020.0004.3359][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE; QQKN
-0032  ; [.159B.0020.0002.0032] # DIGIT TWO
-FF12  ; [.159B.0020.0003.FF12] # FULLWIDTH DIGIT TWO; QQK
-2475  ; [*030E.0020.0004.2475][.159B.0020.0004.2475][*030F.0020.001F.2475] # PARENTHESIZED DIGIT TWO; QQKN
-2489  ; [.159B.0020.0004.2489][*028E.0020.0004.2489] # DIGIT TWO FULL STOP; QQKN
-1F103 ; [.159B.0020.0004.1F103][*0241.0020.0004.1F103] # DIGIT TWO COMMA; QQKN
-1D7D0 ; [.159B.0020.0005.1D7D0] # MATHEMATICAL BOLD DIGIT TWO; QQK
-1D7DA ; [.159B.0020.0005.1D7DA] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO; QQK
-1D7E4 ; [.159B.0020.0005.1D7E4] # MATHEMATICAL SANS-SERIF DIGIT TWO; QQK
-1D7EE ; [.159B.0020.0005.1D7EE] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO; QQK
-1D7F8 ; [.159B.0020.0005.1D7F8] # MATHEMATICAL MONOSPACE DIGIT TWO; QQK
-2461  ; [.159B.0020.0006.2461] # CIRCLED DIGIT TWO; QQK
-24F6  ; [.159B.0020.0006.24F6] # DOUBLE CIRCLED DIGIT TWO; QQK
-2777  ; [.159B.0020.0006.2777] # DINGBAT NEGATIVE CIRCLED DIGIT TWO; QQK
-2781  ; [.159B.0020.0006.2781] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO; QQK
-278B  ; [.159B.0020.0006.278B] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO; QQK
-00B2  ; [.159B.0020.0014.00B2] # SUPERSCRIPT TWO; QQK
-2082  ; [.159B.0020.0015.2082] # SUBSCRIPT TWO; QQK
-0662  ; [.159B.0020.0002.0662][.0000.0165.0002.0662] # ARABIC-INDIC DIGIT TWO
-06F2  ; [.159B.0020.0002.06F2][.0000.0166.0002.06F2] # EXTENDED ARABIC-INDIC DIGIT TWO
-10E61 ; [.159B.0020.0002.10E61][.0000.0167.0002.10E61] # RUMI DIGIT TWO
-07C2  ; [.159B.0020.0002.07C2][.0000.0168.0002.07C2] # NKO DIGIT TWO
-136A  ; [.159B.0020.0002.136A][.0000.0169.0002.136A] # ETHIOPIC DIGIT TWO
-104A2 ; [.159B.0020.0002.104A2][.0000.016A.0002.104A2] # OSMANYA DIGIT TWO
-0968  ; [.159B.0020.0002.0968][.0000.016B.0002.0968] # DEVANAGARI DIGIT TWO
-09E8  ; [.159B.0020.0002.09E8][.0000.016C.0002.09E8] # BENGALI DIGIT TWO
-0A68  ; [.159B.0020.0002.0A68][.0000.016D.0002.0A68] # GURMUKHI DIGIT TWO
-0AE8  ; [.159B.0020.0002.0AE8][.0000.016E.0002.0AE8] # GUJARATI DIGIT TWO
-0B68  ; [.159B.0020.0002.0B68][.0000.016F.0002.0B68] # ORIYA DIGIT TWO
-0BE8  ; [.159B.0020.0002.0BE8][.0000.0170.0002.0BE8] # TAMIL DIGIT TWO
-0C68  ; [.159B.0020.0002.0C68][.0000.0171.0002.0C68] # TELUGU DIGIT TWO
-0C7A  ; [.159B.0020.0002.0C7A][.0000.0171.0002.0C7A] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
-0C7D  ; [.159B.0020.0002.0C7D][.0000.0171.0002.0C7D] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
-0CE8  ; [.159B.0020.0002.0CE8][.0000.0172.0002.0CE8] # KANNADA DIGIT TWO
-0D68  ; [.159B.0020.0002.0D68][.0000.0173.0002.0D68] # MALAYALAM DIGIT TWO
-ABF2  ; [.159B.0020.0002.ABF2][.0000.0174.0002.ABF2] # MEETEI MAYEK DIGIT TWO
-A8D2  ; [.159B.0020.0002.A8D2][.0000.0175.0002.A8D2] # SAURASHTRA DIGIT TWO
-1948  ; [.159B.0020.0002.1948][.0000.0176.0002.1948] # LIMBU DIGIT TWO
-19D2  ; [.159B.0020.0002.19D2][.0000.0177.0002.19D2] # NEW TAI LUE DIGIT TWO
-1A82  ; [.159B.0020.0002.1A82][.0000.0178.0002.1A82] # TAI THAM HORA DIGIT TWO
-1A92  ; [.159B.0020.0002.1A92][.0000.0179.0002.1A92] # TAI THAM THAM DIGIT TWO
-0E52  ; [.159B.0020.0002.0E52][.0000.017A.0002.0E52] # THAI DIGIT TWO
-0ED2  ; [.159B.0020.0002.0ED2][.0000.017B.0002.0ED2] # LAO DIGIT TWO
-0F22  ; [.159B.0020.0002.0F22][.0000.017C.0002.0F22] # TIBETAN DIGIT TWO
-0F2B  ; [.159B.0020.0004.0F2B][.0000.017C.0004.0F2B] # TIBETAN DIGIT HALF TWO; QQK
-1C42  ; [.159B.0020.0002.1C42][.0000.017D.0002.1C42] # LEPCHA DIGIT TWO
-A902  ; [.159B.0020.0002.A902][.0000.017E.0002.A902] # KAYAH LI DIGIT TWO
-1042  ; [.159B.0020.0002.1042][.0000.017F.0002.1042] # MYANMAR DIGIT TWO
-1092  ; [.159B.0020.0002.1092][.0000.0180.0002.1092] # MYANMAR SHAN DIGIT TWO
-17E2  ; [.159B.0020.0002.17E2][.0000.0181.0002.17E2] # KHMER DIGIT TWO
-17F2  ; [.159B.0020.0002.17F2][.0000.0182.0002.17F2] # KHMER SYMBOL LEK ATTAK PII
-AA52  ; [.159B.0020.0002.AA52][.0000.0183.0002.AA52] # CHAM DIGIT TWO
-1B52  ; [.159B.0020.0002.1B52][.0000.0184.0002.1B52] # BALINESE DIGIT TWO
-A9D2  ; [.159B.0020.0002.A9D2][.0000.0185.0002.A9D2] # JAVANESE DIGIT TWO
-1BB2  ; [.159B.0020.0002.1BB2][.0000.0186.0002.1BB2] # SUNDANESE DIGIT TWO
-1812  ; [.159B.0020.0002.1812][.0000.0187.0002.1812] # MONGOLIAN DIGIT TWO
-1C52  ; [.159B.0020.0002.1C52][.0000.0188.0002.1C52] # OL CHIKI DIGIT TWO
-A622  ; [.159B.0020.0002.A622][.0000.0189.0002.A622] # VAI DIGIT TWO
-3022  ; [.159B.0020.0002.3022][.0000.018A.0002.3022] # HANGZHOU NUMERAL TWO
-10108 ; [.159B.0020.0002.10108][.0000.018B.0002.10108] # AEGEAN NUMBER TWO
-1015B ; [.159B.0020.0002.1015B][.0000.018C.0002.1015B] # GREEK ACROPHONIC EPIDAUREAN TWO
-1015C ; [.159B.0020.0002.1015C][.0000.018C.0002.1015C] # GREEK ACROPHONIC THESPIAN TWO
-1015D ; [.159B.0020.0002.1015D][.0000.018C.0002.1015D] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
-1015E ; [.159B.0020.0002.1015E][.0000.018C.0002.1015E] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
-103D2 ; [.159B.0020.0002.103D2][.0000.018F.0002.103D2] # OLD PERSIAN NUMBER TWO
-12400 ; [.159B.0020.0002.12400][.0000.0190.0002.12400] # CUNEIFORM NUMERIC SIGN TWO ASH
-12416 ; [.159B.0020.0002.12416][.0000.0190.0002.12416] # CUNEIFORM NUMERIC SIGN TWO GESH2
-1241F ; [.159B.0020.0002.1241F][.0000.0190.0002.1241F] # CUNEIFORM NUMERIC SIGN TWO GESHU
-12423 ; [.159B.0020.0002.12423][.0000.0190.0002.12423] # CUNEIFORM NUMERIC SIGN TWO SHAR2
-1242D ; [.159B.0020.0002.1242D][.0000.0190.0002.1242D] # CUNEIFORM NUMERIC SIGN TWO SHARU
-12435 ; [.159B.0020.0002.12435][.0000.0190.0002.12435] # CUNEIFORM NUMERIC SIGN TWO BURU
-1244A ; [.159B.0020.0002.1244A][.0000.0190.0002.1244A] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
-12450 ; [.159B.0020.0002.12450][.0000.0190.0002.12450] # CUNEIFORM NUMERIC SIGN TWO BAN2
-12459 ; [.159B.0020.0002.12459][.0000.0190.0002.12459] # CUNEIFORM NUMERIC SIGN TWO ESHE3
-1091A ; [.159B.0020.0002.1091A][.0000.0192.0002.1091A] # PHOENICIAN NUMBER TWO
-10859 ; [.159B.0020.0002.10859][.0000.0193.0002.10859] # IMPERIAL ARAMAIC NUMBER TWO
-10B59 ; [.159B.0020.0002.10B59][.0000.0194.0002.10B59] # INSCRIPTIONAL PARTHIAN NUMBER TWO
-10B79 ; [.159B.0020.0002.10B79][.0000.0195.0002.10B79] # INSCRIPTIONAL PAHLAVI NUMBER TWO
-11068 ; [.159B.0020.0002.11068][.0000.0196.0002.11068] # BRAHMI DIGIT TWO
-11053 ; [.159B.0020.0002.11053][.0000.0197.0002.11053] # BRAHMI NUMBER TWO
-10A41 ; [.159B.0020.0002.10A41][.0000.0198.0002.10A41] # KHAROSHTHI DIGIT TWO
-1D361 ; [.159B.0020.0002.1D361][.0000.0199.0002.1D361] # COUNTING ROD UNIT DIGIT TWO
-249B  ; [.159B.0020.0004.249B][.1599.0020.0004.249B][*028E.0020.001F.249B] # NUMBER TWENTY FULL STOP; QQKN
-2487  ; [*030E.0020.0004.2487][.159B.0020.0004.2487][.1599.0020.001F.2487][*030F.0020.001F.2487] # PARENTHESIZED NUMBER TWENTY; QQKN
-2473  ; [.159B.0020.0006.2473][.1599.0020.0006.2473] # CIRCLED NUMBER TWENTY; QQKN
-24F4  ; [.159B.0020.0006.24F4][.1599.0020.0006.24F4] # NEGATIVE CIRCLED NUMBER TWENTY; QQKN
-3249  ; [.159B.0020.0006.3249][.1599.0020.0006.3249] # CIRCLED NUMBER TWENTY ON BLACK SQUARE; QQKN
-33F3  ; [.159B.0020.0004.33F3][.1599.0020.0004.33F3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY; QQKN
-336C  ; [.159B.0020.0004.336C][.1599.0020.0004.336C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY; QQKN
-3251  ; [.159B.0020.0006.3251][.159A.0020.0006.3251] # CIRCLED NUMBER TWENTY ONE; QQKN
-33F4  ; [.159B.0020.0004.33F4][.159A.0020.0004.33F4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE; QQKN
-336D  ; [.159B.0020.0004.336D][.159A.0020.0004.336D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE; QQKN
-3252  ; [.159B.0020.0006.3252][.159B.0020.0006.3252] # CIRCLED NUMBER TWENTY TWO; QQKN
-33F5  ; [.159B.0020.0004.33F5][.159B.0020.0004.33F5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO; QQKN
-336E  ; [.159B.0020.0004.336E][.159B.0020.0004.336E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO; QQKN
-3253  ; [.159B.0020.0006.3253][.159C.0020.0006.3253] # CIRCLED NUMBER TWENTY THREE; QQKN
-2154  ; [.159B.0020.001E.2154][*036C.0020.001E.2154][.159C.0020.001F.2154] # VULGAR FRACTION TWO THIRDS; QQKN
-33F6  ; [.159B.0020.0004.33F6][.159C.0020.0004.33F6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE; QQKN
-336F  ; [.159B.0020.0004.336F][.159C.0020.0004.336F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE; QQKN
-3254  ; [.159B.0020.0006.3254][.159D.0020.0006.3254] # CIRCLED NUMBER TWENTY FOUR; QQKN
-33F7  ; [.159B.0020.0004.33F7][.159D.0020.0004.33F7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR; QQKN
-3370  ; [.159B.0020.0004.3370][.159D.0020.0004.3370][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR; QQKN
-3255  ; [.159B.0020.0006.3255][.159E.0020.0006.3255] # CIRCLED NUMBER TWENTY FIVE; QQKN
-2156  ; [.159B.0020.001E.2156][*036C.0020.001E.2156][.159E.0020.001F.2156] # VULGAR FRACTION TWO FIFTHS; QQKN
-33F8  ; [.159B.0020.0004.33F8][.159E.0020.0004.33F8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE; QQKN
-3256  ; [.159B.0020.0006.3256][.159F.0020.0006.3256] # CIRCLED NUMBER TWENTY SIX; QQKN
-33F9  ; [.159B.0020.0004.33F9][.159F.0020.0004.33F9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX; QQKN
-3257  ; [.159B.0020.0006.3257][.15A0.0020.0006.3257] # CIRCLED NUMBER TWENTY SEVEN; QQKN
-33FA  ; [.159B.0020.0004.33FA][.15A0.0020.0004.33FA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN; QQKN
-3258  ; [.159B.0020.0006.3258][.15A1.0020.0006.3258] # CIRCLED NUMBER TWENTY EIGHT; QQKN
-33FB  ; [.159B.0020.0004.33FB][.15A1.0020.0004.33FB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT; QQKN
-3259  ; [.159B.0020.0006.3259][.15A2.0020.0006.3259] # CIRCLED NUMBER TWENTY NINE; QQKN
-33FC  ; [.159B.0020.0004.33FC][.15A2.0020.0004.33FC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE; QQKN
-33E1  ; [.159B.0020.0004.33E1][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO; QQKN
-32C1  ; [.159B.0020.0004.32C1][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY; QQKN
-335A  ; [.159B.0020.0004.335A][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO; QQKN
-0033  ; [.159C.0020.0002.0033] # DIGIT THREE
-FF13  ; [.159C.0020.0003.FF13] # FULLWIDTH DIGIT THREE; QQK
-2476  ; [*030E.0020.0004.2476][.159C.0020.0004.2476][*030F.0020.001F.2476] # PARENTHESIZED DIGIT THREE; QQKN
-248A  ; [.159C.0020.0004.248A][*028E.0020.0004.248A] # DIGIT THREE FULL STOP; QQKN
-1F104 ; [.159C.0020.0004.1F104][*0241.0020.0004.1F104] # DIGIT THREE COMMA; QQKN
-1D7D1 ; [.159C.0020.0005.1D7D1] # MATHEMATICAL BOLD DIGIT THREE; QQK
-1D7DB ; [.159C.0020.0005.1D7DB] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE; QQK
-1D7E5 ; [.159C.0020.0005.1D7E5] # MATHEMATICAL SANS-SERIF DIGIT THREE; QQK
-1D7EF ; [.159C.0020.0005.1D7EF] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE; QQK
-1D7F9 ; [.159C.0020.0005.1D7F9] # MATHEMATICAL MONOSPACE DIGIT THREE; QQK
-2462  ; [.159C.0020.0006.2462] # CIRCLED DIGIT THREE; QQK
-24F7  ; [.159C.0020.0006.24F7] # DOUBLE CIRCLED DIGIT THREE; QQK
-2778  ; [.159C.0020.0006.2778] # DINGBAT NEGATIVE CIRCLED DIGIT THREE; QQK
-2782  ; [.159C.0020.0006.2782] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE; QQK
-278C  ; [.159C.0020.0006.278C] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE; QQK
-00B3  ; [.159C.0020.0014.00B3] # SUPERSCRIPT THREE; QQK
-2083  ; [.159C.0020.0015.2083] # SUBSCRIPT THREE; QQK
-0663  ; [.159C.0020.0002.0663][.0000.0165.0002.0663] # ARABIC-INDIC DIGIT THREE
-06F3  ; [.159C.0020.0002.06F3][.0000.0166.0002.06F3] # EXTENDED ARABIC-INDIC DIGIT THREE
-10E62 ; [.159C.0020.0002.10E62][.0000.0167.0002.10E62] # RUMI DIGIT THREE
-07C3  ; [.159C.0020.0002.07C3][.0000.0168.0002.07C3] # NKO DIGIT THREE
-136B  ; [.159C.0020.0002.136B][.0000.0169.0002.136B] # ETHIOPIC DIGIT THREE
-104A3 ; [.159C.0020.0002.104A3][.0000.016A.0002.104A3] # OSMANYA DIGIT THREE
-0969  ; [.159C.0020.0002.0969][.0000.016B.0002.0969] # DEVANAGARI DIGIT THREE
-09E9  ; [.159C.0020.0002.09E9][.0000.016C.0002.09E9] # BENGALI DIGIT THREE
-0A69  ; [.159C.0020.0002.0A69][.0000.016D.0002.0A69] # GURMUKHI DIGIT THREE
-0AE9  ; [.159C.0020.0002.0AE9][.0000.016E.0002.0AE9] # GUJARATI DIGIT THREE
-0B69  ; [.159C.0020.0002.0B69][.0000.016F.0002.0B69] # ORIYA DIGIT THREE
-0BE9  ; [.159C.0020.0002.0BE9][.0000.0170.0002.0BE9] # TAMIL DIGIT THREE
-0C69  ; [.159C.0020.0002.0C69][.0000.0171.0002.0C69] # TELUGU DIGIT THREE
-0C7B  ; [.159C.0020.0002.0C7B][.0000.0171.0002.0C7B] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
-0C7E  ; [.159C.0020.0002.0C7E][.0000.0171.0002.0C7E] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
-0CE9  ; [.159C.0020.0002.0CE9][.0000.0172.0002.0CE9] # KANNADA DIGIT THREE
-0D69  ; [.159C.0020.0002.0D69][.0000.0173.0002.0D69] # MALAYALAM DIGIT THREE
-ABF3  ; [.159C.0020.0002.ABF3][.0000.0174.0002.ABF3] # MEETEI MAYEK DIGIT THREE
-A8D3  ; [.159C.0020.0002.A8D3][.0000.0175.0002.A8D3] # SAURASHTRA DIGIT THREE
-1949  ; [.159C.0020.0002.1949][.0000.0176.0002.1949] # LIMBU DIGIT THREE
-19D3  ; [.159C.0020.0002.19D3][.0000.0177.0002.19D3] # NEW TAI LUE DIGIT THREE
-1A83  ; [.159C.0020.0002.1A83][.0000.0178.0002.1A83] # TAI THAM HORA DIGIT THREE
-1A93  ; [.159C.0020.0002.1A93][.0000.0179.0002.1A93] # TAI THAM THAM DIGIT THREE
-0E53  ; [.159C.0020.0002.0E53][.0000.017A.0002.0E53] # THAI DIGIT THREE
-0ED3  ; [.159C.0020.0002.0ED3][.0000.017B.0002.0ED3] # LAO DIGIT THREE
-0F23  ; [.159C.0020.0002.0F23][.0000.017C.0002.0F23] # TIBETAN DIGIT THREE
-0F2C  ; [.159C.0020.0004.0F2C][.0000.017C.0004.0F2C] # TIBETAN DIGIT HALF THREE; QQK
-1C43  ; [.159C.0020.0002.1C43][.0000.017D.0002.1C43] # LEPCHA DIGIT THREE
-A903  ; [.159C.0020.0002.A903][.0000.017E.0002.A903] # KAYAH LI DIGIT THREE
-1043  ; [.159C.0020.0002.1043][.0000.017F.0002.1043] # MYANMAR DIGIT THREE
-1093  ; [.159C.0020.0002.1093][.0000.0180.0002.1093] # MYANMAR SHAN DIGIT THREE
-17E3  ; [.159C.0020.0002.17E3][.0000.0181.0002.17E3] # KHMER DIGIT THREE
-17F3  ; [.159C.0020.0002.17F3][.0000.0182.0002.17F3] # KHMER SYMBOL LEK ATTAK BEI
-AA53  ; [.159C.0020.0002.AA53][.0000.0183.0002.AA53] # CHAM DIGIT THREE
-1B53  ; [.159C.0020.0002.1B53][.0000.0184.0002.1B53] # BALINESE DIGIT THREE
-A9D3  ; [.159C.0020.0002.A9D3][.0000.0185.0002.A9D3] # JAVANESE DIGIT THREE
-1BB3  ; [.159C.0020.0002.1BB3][.0000.0186.0002.1BB3] # SUNDANESE DIGIT THREE
-1813  ; [.159C.0020.0002.1813][.0000.0187.0002.1813] # MONGOLIAN DIGIT THREE
-1C53  ; [.159C.0020.0002.1C53][.0000.0188.0002.1C53] # OL CHIKI DIGIT THREE
-A623  ; [.159C.0020.0002.A623][.0000.0189.0002.A623] # VAI DIGIT THREE
-3023  ; [.159C.0020.0002.3023][.0000.018A.0002.3023] # HANGZHOU NUMERAL THREE
-10109 ; [.159C.0020.0002.10109][.0000.018B.0002.10109] # AEGEAN NUMBER THREE
-12401 ; [.159C.0020.0002.12401][.0000.0190.0002.12401] # CUNEIFORM NUMERIC SIGN THREE ASH
-12408 ; [.159C.0020.0002.12408][.0000.0190.0002.12408] # CUNEIFORM NUMERIC SIGN THREE DISH
-12417 ; [.159C.0020.0002.12417][.0000.0190.0002.12417] # CUNEIFORM NUMERIC SIGN THREE GESH2
-12420 ; [.159C.0020.0002.12420][.0000.0190.0002.12420] # CUNEIFORM NUMERIC SIGN THREE GESHU
-12424 ; [.159C.0020.0002.12424][.0000.0190.0002.12424] # CUNEIFORM NUMERIC SIGN THREE SHAR2
-12425 ; [.159C.0020.0002.12425][.0000.0190.0002.12425] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
-1242E ; [.159C.0020.0002.1242E][.0000.0190.0002.1242E] # CUNEIFORM NUMERIC SIGN THREE SHARU
-1242F ; [.159C.0020.0002.1242F][.0000.0190.0002.1242F] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
-12436 ; [.159C.0020.0002.12436][.0000.0190.0002.12436] # CUNEIFORM NUMERIC SIGN THREE BURU
-12437 ; [.159C.0020.0002.12437][.0000.0190.0002.12437] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
-1243A ; [.159C.0020.0002.1243A][.0000.0190.0002.1243A] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
-1243B ; [.159C.0020.0002.1243B][.0000.0190.0002.1243B] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
-1244B ; [.159C.0020.0002.1244B][.0000.0190.0002.1244B] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
-12451 ; [.159C.0020.0002.12451][.0000.0190.0002.12451] # CUNEIFORM NUMERIC SIGN THREE BAN2
-1091B ; [.159C.0020.0002.1091B][.0000.0192.0002.1091B] # PHOENICIAN NUMBER THREE
-1085A ; [.159C.0020.0002.1085A][.0000.0193.0002.1085A] # IMPERIAL ARAMAIC NUMBER THREE
-10B5A ; [.159C.0020.0002.10B5A][.0000.0194.0002.10B5A] # INSCRIPTIONAL PARTHIAN NUMBER THREE
-10B7A ; [.159C.0020.0002.10B7A][.0000.0195.0002.10B7A] # INSCRIPTIONAL PAHLAVI NUMBER THREE
-11069 ; [.159C.0020.0002.11069][.0000.0196.0002.11069] # BRAHMI DIGIT THREE
-11054 ; [.159C.0020.0002.11054][.0000.0197.0002.11054] # BRAHMI NUMBER THREE
-10A42 ; [.159C.0020.0002.10A42][.0000.0198.0002.10A42] # KHAROSHTHI DIGIT THREE
-1D362 ; [.159C.0020.0002.1D362][.0000.0199.0002.1D362] # COUNTING ROD UNIT DIGIT THREE
-324A  ; [.159C.0020.0006.324A][.1599.0020.0006.324A] # CIRCLED NUMBER THIRTY ON BLACK SQUARE; QQKN
-325A  ; [.159C.0020.0006.325A][.1599.0020.0006.325A] # CIRCLED NUMBER THIRTY; QQKN
-33FD  ; [.159C.0020.0004.33FD][.1599.0020.0004.33FD][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY; QQKN
-325B  ; [.159C.0020.0006.325B][.159A.0020.0006.325B] # CIRCLED NUMBER THIRTY ONE; QQKN
-33FE  ; [.159C.0020.0004.33FE][.159A.0020.0004.33FE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE; QQKN
-325C  ; [.159C.0020.0006.325C][.159B.0020.0006.325C] # CIRCLED NUMBER THIRTY TWO; QQKN
-325D  ; [.159C.0020.0006.325D][.159C.0020.0006.325D] # CIRCLED NUMBER THIRTY THREE; QQKN
-325E  ; [.159C.0020.0006.325E][.159D.0020.0006.325E] # CIRCLED NUMBER THIRTY FOUR; QQKN
-00BE  ; [.159C.0020.001E.00BE][*036C.0020.001E.00BE][.159D.0020.001F.00BE] # VULGAR FRACTION THREE QUARTERS; QQKN
-325F  ; [.159C.0020.0006.325F][.159E.0020.0006.325F] # CIRCLED NUMBER THIRTY FIVE; QQKN
-2157  ; [.159C.0020.001E.2157][*036C.0020.001E.2157][.159E.0020.001F.2157] # VULGAR FRACTION THREE FIFTHS; QQKN
-32B1  ; [.159C.0020.0006.32B1][.159F.0020.0006.32B1] # CIRCLED NUMBER THIRTY SIX; QQKN
-32B2  ; [.159C.0020.0006.32B2][.15A0.0020.0006.32B2] # CIRCLED NUMBER THIRTY SEVEN; QQKN
-32B3  ; [.159C.0020.0006.32B3][.15A1.0020.0006.32B3] # CIRCLED NUMBER THIRTY EIGHT; QQKN
-215C  ; [.159C.0020.001E.215C][*036C.0020.001E.215C][.15A1.0020.001F.215C] # VULGAR FRACTION THREE EIGHTHS; QQKN
-32B4  ; [.159C.0020.0006.32B4][.15A2.0020.0006.32B4] # CIRCLED NUMBER THIRTY NINE; QQKN
-33E2  ; [.159C.0020.0004.33E2][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE; QQKN
-32C2  ; [.159C.0020.0004.32C2][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH; QQKN
-335B  ; [.159C.0020.0004.335B][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE; QQKN
-0034  ; [.159D.0020.0002.0034] # DIGIT FOUR
-FF14  ; [.159D.0020.0003.FF14] # FULLWIDTH DIGIT FOUR; QQK
-2477  ; [*030E.0020.0004.2477][.159D.0020.0004.2477][*030F.0020.001F.2477] # PARENTHESIZED DIGIT FOUR; QQKN
-248B  ; [.159D.0020.0004.248B][*028E.0020.0004.248B] # DIGIT FOUR FULL STOP; QQKN
-1F105 ; [.159D.0020.0004.1F105][*0241.0020.0004.1F105] # DIGIT FOUR COMMA; QQKN
-1D7D2 ; [.159D.0020.0005.1D7D2] # MATHEMATICAL BOLD DIGIT FOUR; QQK
-1D7DC ; [.159D.0020.0005.1D7DC] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR; QQK
-1D7E6 ; [.159D.0020.0005.1D7E6] # MATHEMATICAL SANS-SERIF DIGIT FOUR; QQK
-1D7F0 ; [.159D.0020.0005.1D7F0] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR; QQK
-1D7FA ; [.159D.0020.0005.1D7FA] # MATHEMATICAL MONOSPACE DIGIT FOUR; QQK
-2463  ; [.159D.0020.0006.2463] # CIRCLED DIGIT FOUR; QQK
-24F8  ; [.159D.0020.0006.24F8] # DOUBLE CIRCLED DIGIT FOUR; QQK
-2779  ; [.159D.0020.0006.2779] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR; QQK
-2783  ; [.159D.0020.0006.2783] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR; QQK
-278D  ; [.159D.0020.0006.278D] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR; QQK
-2074  ; [.159D.0020.0014.2074] # SUPERSCRIPT FOUR; QQK
-2084  ; [.159D.0020.0015.2084] # SUBSCRIPT FOUR; QQK
-0664  ; [.159D.0020.0002.0664][.0000.0165.0002.0664] # ARABIC-INDIC DIGIT FOUR
-06F4  ; [.159D.0020.0002.06F4][.0000.0166.0002.06F4] # EXTENDED ARABIC-INDIC DIGIT FOUR
-10E63 ; [.159D.0020.0002.10E63][.0000.0167.0002.10E63] # RUMI DIGIT FOUR
-07C4  ; [.159D.0020.0002.07C4][.0000.0168.0002.07C4] # NKO DIGIT FOUR
-136C  ; [.159D.0020.0002.136C][.0000.0169.0002.136C] # ETHIOPIC DIGIT FOUR
-104A4 ; [.159D.0020.0002.104A4][.0000.016A.0002.104A4] # OSMANYA DIGIT FOUR
-096A  ; [.159D.0020.0002.096A][.0000.016B.0002.096A] # DEVANAGARI DIGIT FOUR
-09EA  ; [.159D.0020.0002.09EA][.0000.016C.0002.09EA] # BENGALI DIGIT FOUR
-0A6A  ; [.159D.0020.0002.0A6A][.0000.016D.0002.0A6A] # GURMUKHI DIGIT FOUR
-0AEA  ; [.159D.0020.0002.0AEA][.0000.016E.0002.0AEA] # GUJARATI DIGIT FOUR
-0B6A  ; [.159D.0020.0002.0B6A][.0000.016F.0002.0B6A] # ORIYA DIGIT FOUR
-0BEA  ; [.159D.0020.0002.0BEA][.0000.0170.0002.0BEA] # TAMIL DIGIT FOUR
-0C6A  ; [.159D.0020.0002.0C6A][.0000.0171.0002.0C6A] # TELUGU DIGIT FOUR
-0CEA  ; [.159D.0020.0002.0CEA][.0000.0172.0002.0CEA] # KANNADA DIGIT FOUR
-0D6A  ; [.159D.0020.0002.0D6A][.0000.0173.0002.0D6A] # MALAYALAM DIGIT FOUR
-ABF4  ; [.159D.0020.0002.ABF4][.0000.0174.0002.ABF4] # MEETEI MAYEK DIGIT FOUR
-A8D4  ; [.159D.0020.0002.A8D4][.0000.0175.0002.A8D4] # SAURASHTRA DIGIT FOUR
-194A  ; [.159D.0020.0002.194A][.0000.0176.0002.194A] # LIMBU DIGIT FOUR
-19D4  ; [.159D.0020.0002.19D4][.0000.0177.0002.19D4] # NEW TAI LUE DIGIT FOUR
-1A84  ; [.159D.0020.0002.1A84][.0000.0178.0002.1A84] # TAI THAM HORA DIGIT FOUR
-1A94  ; [.159D.0020.0002.1A94][.0000.0179.0002.1A94] # TAI THAM THAM DIGIT FOUR
-0E54  ; [.159D.0020.0002.0E54][.0000.017A.0002.0E54] # THAI DIGIT FOUR
-0ED4  ; [.159D.0020.0002.0ED4][.0000.017B.0002.0ED4] # LAO DIGIT FOUR
-0F24  ; [.159D.0020.0002.0F24][.0000.017C.0002.0F24] # TIBETAN DIGIT FOUR
-0F2D  ; [.159D.0020.0004.0F2D][.0000.017C.0004.0F2D] # TIBETAN DIGIT HALF FOUR; QQK
-1C44  ; [.159D.0020.0002.1C44][.0000.017D.0002.1C44] # LEPCHA DIGIT FOUR
-A904  ; [.159D.0020.0002.A904][.0000.017E.0002.A904] # KAYAH LI DIGIT FOUR
-1044  ; [.159D.0020.0002.1044][.0000.017F.0002.1044] # MYANMAR DIGIT FOUR
-1094  ; [.159D.0020.0002.1094][.0000.0180.0002.1094] # MYANMAR SHAN DIGIT FOUR
-17E4  ; [.159D.0020.0002.17E4][.0000.0181.0002.17E4] # KHMER DIGIT FOUR
-17F4  ; [.159D.0020.0002.17F4][.0000.0182.0002.17F4] # KHMER SYMBOL LEK ATTAK BUON
-AA54  ; [.159D.0020.0002.AA54][.0000.0183.0002.AA54] # CHAM DIGIT FOUR
-1B54  ; [.159D.0020.0002.1B54][.0000.0184.0002.1B54] # BALINESE DIGIT FOUR
-A9D4  ; [.159D.0020.0002.A9D4][.0000.0185.0002.A9D4] # JAVANESE DIGIT FOUR
-1BB4  ; [.159D.0020.0002.1BB4][.0000.0186.0002.1BB4] # SUNDANESE DIGIT FOUR
-1814  ; [.159D.0020.0002.1814][.0000.0187.0002.1814] # MONGOLIAN DIGIT FOUR
-1C54  ; [.159D.0020.0002.1C54][.0000.0188.0002.1C54] # OL CHIKI DIGIT FOUR
-A624  ; [.159D.0020.0002.A624][.0000.0189.0002.A624] # VAI DIGIT FOUR
-3024  ; [.159D.0020.0002.3024][.0000.018A.0002.3024] # HANGZHOU NUMERAL FOUR
-1010A ; [.159D.0020.0002.1010A][.0000.018B.0002.1010A] # AEGEAN NUMBER FOUR
-12402 ; [.159D.0020.0002.12402][.0000.0190.0002.12402] # CUNEIFORM NUMERIC SIGN FOUR ASH
-12409 ; [.159D.0020.0002.12409][.0000.0190.0002.12409] # CUNEIFORM NUMERIC SIGN FOUR DISH
-1240F ; [.159D.0020.0002.1240F][.0000.0190.0002.1240F] # CUNEIFORM NUMERIC SIGN FOUR U
-12418 ; [.159D.0020.0002.12418][.0000.0190.0002.12418] # CUNEIFORM NUMERIC SIGN FOUR GESH2
-12421 ; [.159D.0020.0002.12421][.0000.0190.0002.12421] # CUNEIFORM NUMERIC SIGN FOUR GESHU
-12426 ; [.159D.0020.0002.12426][.0000.0190.0002.12426] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
-12430 ; [.159D.0020.0002.12430][.0000.0190.0002.12430] # CUNEIFORM NUMERIC SIGN FOUR SHARU
-12438 ; [.159D.0020.0002.12438][.0000.0190.0002.12438] # CUNEIFORM NUMERIC SIGN FOUR BURU
-1243C ; [.159D.0020.0002.1243C][.0000.0190.0002.1243C] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
-1243D ; [.159D.0020.0002.1243D][.0000.0190.0002.1243D] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
-1243E ; [.159D.0020.0002.1243E][.0000.0190.0002.1243E] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
-1243F ; [.159D.0020.0002.1243F][.0000.0190.0002.1243F] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
-1244C ; [.159D.0020.0002.1244C][.0000.0190.0002.1244C] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
-12452 ; [.159D.0020.0002.12452][.0000.0190.0002.12452] # CUNEIFORM NUMERIC SIGN FOUR BAN2
-12453 ; [.159D.0020.0002.12453][.0000.0190.0002.12453] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
-10B5B ; [.159D.0020.0002.10B5B][.0000.0194.0002.10B5B] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
-10B7B ; [.159D.0020.0002.10B7B][.0000.0195.0002.10B7B] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
-1106A ; [.159D.0020.0002.1106A][.0000.0196.0002.1106A] # BRAHMI DIGIT FOUR
-11055 ; [.159D.0020.0002.11055][.0000.0197.0002.11055] # BRAHMI NUMBER FOUR
-10A43 ; [.159D.0020.0002.10A43][.0000.0198.0002.10A43] # KHAROSHTHI DIGIT FOUR
-1D363 ; [.159D.0020.0002.1D363][.0000.0199.0002.1D363] # COUNTING ROD UNIT DIGIT FOUR
-324B  ; [.159D.0020.0006.324B][.1599.0020.0006.324B] # CIRCLED NUMBER FORTY ON BLACK SQUARE; QQKN
-32B5  ; [.159D.0020.0006.32B5][.1599.0020.0006.32B5] # CIRCLED NUMBER FORTY; QQKN
-32B6  ; [.159D.0020.0006.32B6][.159A.0020.0006.32B6] # CIRCLED NUMBER FORTY ONE; QQKN
-32B7  ; [.159D.0020.0006.32B7][.159B.0020.0006.32B7] # CIRCLED NUMBER FORTY TWO; QQKN
-32B8  ; [.159D.0020.0006.32B8][.159C.0020.0006.32B8] # CIRCLED NUMBER FORTY THREE; QQKN
-32B9  ; [.159D.0020.0006.32B9][.159D.0020.0006.32B9] # CIRCLED NUMBER FORTY FOUR; QQKN
-32BA  ; [.159D.0020.0006.32BA][.159E.0020.0006.32BA] # CIRCLED NUMBER FORTY FIVE; QQKN
-2158  ; [.159D.0020.001E.2158][*036C.0020.001E.2158][.159E.0020.001F.2158] # VULGAR FRACTION FOUR FIFTHS; QQKN
-32BB  ; [.159D.0020.0006.32BB][.159F.0020.0006.32BB] # CIRCLED NUMBER FORTY SIX; QQKN
-32BC  ; [.159D.0020.0006.32BC][.15A0.0020.0006.32BC] # CIRCLED NUMBER FORTY SEVEN; QQKN
-32BD  ; [.159D.0020.0006.32BD][.15A1.0020.0006.32BD] # CIRCLED NUMBER FORTY EIGHT; QQKN
-32BE  ; [.159D.0020.0006.32BE][.15A2.0020.0006.32BE] # CIRCLED NUMBER FORTY NINE; QQKN
-33E3  ; [.159D.0020.0004.33E3][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR; QQKN
-32C3  ; [.159D.0020.0004.32C3][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL; QQKN
-335C  ; [.159D.0020.0004.335C][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR; QQKN
-0035  ; [.159E.0020.0002.0035] # DIGIT FIVE
-FF15  ; [.159E.0020.0003.FF15] # FULLWIDTH DIGIT FIVE; QQK
-2478  ; [*030E.0020.0004.2478][.159E.0020.0004.2478][*030F.0020.001F.2478] # PARENTHESIZED DIGIT FIVE; QQKN
-248C  ; [.159E.0020.0004.248C][*028E.0020.0004.248C] # DIGIT FIVE FULL STOP; QQKN
-1F106 ; [.159E.0020.0004.1F106][*0241.0020.0004.1F106] # DIGIT FIVE COMMA; QQKN
-1D7D3 ; [.159E.0020.0005.1D7D3] # MATHEMATICAL BOLD DIGIT FIVE; QQK
-1D7DD ; [.159E.0020.0005.1D7DD] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE; QQK
-1D7E7 ; [.159E.0020.0005.1D7E7] # MATHEMATICAL SANS-SERIF DIGIT FIVE; QQK
-1D7F1 ; [.159E.0020.0005.1D7F1] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE; QQK
-1D7FB ; [.159E.0020.0005.1D7FB] # MATHEMATICAL MONOSPACE DIGIT FIVE; QQK
-2464  ; [.159E.0020.0006.2464] # CIRCLED DIGIT FIVE; QQK
-24F9  ; [.159E.0020.0006.24F9] # DOUBLE CIRCLED DIGIT FIVE; QQK
-277A  ; [.159E.0020.0006.277A] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE; QQK
-2784  ; [.159E.0020.0006.2784] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE; QQK
-278E  ; [.159E.0020.0006.278E] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE; QQK
-2075  ; [.159E.0020.0014.2075] # SUPERSCRIPT FIVE; QQK
-2085  ; [.159E.0020.0015.2085] # SUBSCRIPT FIVE; QQK
-0665  ; [.159E.0020.0002.0665][.0000.0165.0002.0665] # ARABIC-INDIC DIGIT FIVE
-06F5  ; [.159E.0020.0002.06F5][.0000.0166.0002.06F5] # EXTENDED ARABIC-INDIC DIGIT FIVE
-10E64 ; [.159E.0020.0002.10E64][.0000.0167.0002.10E64] # RUMI DIGIT FIVE
-07C5  ; [.159E.0020.0002.07C5][.0000.0168.0002.07C5] # NKO DIGIT FIVE
-136D  ; [.159E.0020.0002.136D][.0000.0169.0002.136D] # ETHIOPIC DIGIT FIVE
-104A5 ; [.159E.0020.0002.104A5][.0000.016A.0002.104A5] # OSMANYA DIGIT FIVE
-096B  ; [.159E.0020.0002.096B][.0000.016B.0002.096B] # DEVANAGARI DIGIT FIVE
-09EB  ; [.159E.0020.0002.09EB][.0000.016C.0002.09EB] # BENGALI DIGIT FIVE
-0A6B  ; [.159E.0020.0002.0A6B][.0000.016D.0002.0A6B] # GURMUKHI DIGIT FIVE
-0AEB  ; [.159E.0020.0002.0AEB][.0000.016E.0002.0AEB] # GUJARATI DIGIT FIVE
-0B6B  ; [.159E.0020.0002.0B6B][.0000.016F.0002.0B6B] # ORIYA DIGIT FIVE
-0BEB  ; [.159E.0020.0002.0BEB][.0000.0170.0002.0BEB] # TAMIL DIGIT FIVE
-0C6B  ; [.159E.0020.0002.0C6B][.0000.0171.0002.0C6B] # TELUGU DIGIT FIVE
-0CEB  ; [.159E.0020.0002.0CEB][.0000.0172.0002.0CEB] # KANNADA DIGIT FIVE
-0D6B  ; [.159E.0020.0002.0D6B][.0000.0173.0002.0D6B] # MALAYALAM DIGIT FIVE
-ABF5  ; [.159E.0020.0002.ABF5][.0000.0174.0002.ABF5] # MEETEI MAYEK DIGIT FIVE
-A8D5  ; [.159E.0020.0002.A8D5][.0000.0175.0002.A8D5] # SAURASHTRA DIGIT FIVE
-194B  ; [.159E.0020.0002.194B][.0000.0176.0002.194B] # LIMBU DIGIT FIVE
-19D5  ; [.159E.0020.0002.19D5][.0000.0177.0002.19D5] # NEW TAI LUE DIGIT FIVE
-1A85  ; [.159E.0020.0002.1A85][.0000.0178.0002.1A85] # TAI THAM HORA DIGIT FIVE
-1A95  ; [.159E.0020.0002.1A95][.0000.0179.0002.1A95] # TAI THAM THAM DIGIT FIVE
-0E55  ; [.159E.0020.0002.0E55][.0000.017A.0002.0E55] # THAI DIGIT FIVE
-0ED5  ; [.159E.0020.0002.0ED5][.0000.017B.0002.0ED5] # LAO DIGIT FIVE
-0F25  ; [.159E.0020.0002.0F25][.0000.017C.0002.0F25] # TIBETAN DIGIT FIVE
-0F2E  ; [.159E.0020.0004.0F2E][.0000.017C.0004.0F2E] # TIBETAN DIGIT HALF FIVE; QQK
-1C45  ; [.159E.0020.0002.1C45][.0000.017D.0002.1C45] # LEPCHA DIGIT FIVE
-A905  ; [.159E.0020.0002.A905][.0000.017E.0002.A905] # KAYAH LI DIGIT FIVE
-1045  ; [.159E.0020.0002.1045][.0000.017F.0002.1045] # MYANMAR DIGIT FIVE
-1095  ; [.159E.0020.0002.1095][.0000.0180.0002.1095] # MYANMAR SHAN DIGIT FIVE
-17E5  ; [.159E.0020.0002.17E5][.0000.0181.0002.17E5] # KHMER DIGIT FIVE
-17F5  ; [.159E.0020.0002.17F5][.0000.0182.0002.17F5] # KHMER SYMBOL LEK ATTAK PRAM
-AA55  ; [.159E.0020.0002.AA55][.0000.0183.0002.AA55] # CHAM DIGIT FIVE
-1B55  ; [.159E.0020.0002.1B55][.0000.0184.0002.1B55] # BALINESE DIGIT FIVE
-A9D5  ; [.159E.0020.0002.A9D5][.0000.0185.0002.A9D5] # JAVANESE DIGIT FIVE
-1BB5  ; [.159E.0020.0002.1BB5][.0000.0186.0002.1BB5] # SUNDANESE DIGIT FIVE
-1815  ; [.159E.0020.0002.1815][.0000.0187.0002.1815] # MONGOLIAN DIGIT FIVE
-1C55  ; [.159E.0020.0002.1C55][.0000.0188.0002.1C55] # OL CHIKI DIGIT FIVE
-A625  ; [.159E.0020.0002.A625][.0000.0189.0002.A625] # VAI DIGIT FIVE
-3025  ; [.159E.0020.0002.3025][.0000.018A.0002.3025] # HANGZHOU NUMERAL FIVE
-1010B ; [.159E.0020.0002.1010B][.0000.018B.0002.1010B] # AEGEAN NUMBER FIVE
-10143 ; [.159E.0020.0002.10143][.0000.018C.0002.10143] # GREEK ACROPHONIC ATTIC FIVE
-10148 ; [.159E.0020.0002.10148][.0000.018C.0002.10148] # GREEK ACROPHONIC ATTIC FIVE TALENTS
-1014F ; [.159E.0020.0002.1014F][.0000.018C.0002.1014F] # GREEK ACROPHONIC ATTIC FIVE STATERS
-1015F ; [.159E.0020.0002.1015F][.0000.018C.0002.1015F] # GREEK ACROPHONIC TROEZENIAN FIVE
-10173 ; [.159E.0020.0002.10173][.0000.018C.0002.10173] # GREEK ACROPHONIC DELPHIC FIVE MNAS
-10321 ; [.159E.0020.0002.10321][.0000.018E.0002.10321] # OLD ITALIC NUMERAL FIVE
-12403 ; [.159E.0020.0002.12403][.0000.0190.0002.12403] # CUNEIFORM NUMERIC SIGN FIVE ASH
-1240A ; [.159E.0020.0002.1240A][.0000.0190.0002.1240A] # CUNEIFORM NUMERIC SIGN FIVE DISH
-12410 ; [.159E.0020.0002.12410][.0000.0190.0002.12410] # CUNEIFORM NUMERIC SIGN FIVE U
-12419 ; [.159E.0020.0002.12419][.0000.0190.0002.12419] # CUNEIFORM NUMERIC SIGN FIVE GESH2
-12422 ; [.159E.0020.0002.12422][.0000.0190.0002.12422] # CUNEIFORM NUMERIC SIGN FIVE GESHU
-12427 ; [.159E.0020.0002.12427][.0000.0190.0002.12427] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
-12431 ; [.159E.0020.0002.12431][.0000.0190.0002.12431] # CUNEIFORM NUMERIC SIGN FIVE SHARU
-12439 ; [.159E.0020.0002.12439][.0000.0190.0002.12439] # CUNEIFORM NUMERIC SIGN FIVE BURU
-1244D ; [.159E.0020.0002.1244D][.0000.0190.0002.1244D] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
-12454 ; [.159E.0020.0002.12454][.0000.0190.0002.12454] # CUNEIFORM NUMERIC SIGN FIVE BAN2
-12455 ; [.159E.0020.0002.12455][.0000.0190.0002.12455] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-1106B ; [.159E.0020.0002.1106B][.0000.0196.0002.1106B] # BRAHMI DIGIT FIVE
-11056 ; [.159E.0020.0002.11056][.0000.0197.0002.11056] # BRAHMI NUMBER FIVE
-1D364 ; [.159E.0020.0002.1D364][.0000.0199.0002.1D364] # COUNTING ROD UNIT DIGIT FIVE
-324C  ; [.159E.0020.0006.324C][.1599.0020.0006.324C] # CIRCLED NUMBER FIFTY ON BLACK SQUARE; QQKN
-32BF  ; [.159E.0020.0006.32BF][.1599.0020.0006.32BF] # CIRCLED NUMBER FIFTY; QQKN
-215A  ; [.159E.0020.001E.215A][*036C.0020.001E.215A][.159F.0020.001F.215A] # VULGAR FRACTION FIVE SIXTHS; QQKN
-215D  ; [.159E.0020.001E.215D][*036C.0020.001E.215D][.15A1.0020.001F.215D] # VULGAR FRACTION FIVE EIGHTHS; QQKN
-33E4  ; [.159E.0020.0004.33E4][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE; QQKN
-32C4  ; [.159E.0020.0004.32C4][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY; QQKN
-335D  ; [.159E.0020.0004.335D][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE; QQKN
-0036  ; [.159F.0020.0002.0036] # DIGIT SIX
-FF16  ; [.159F.0020.0003.FF16] # FULLWIDTH DIGIT SIX; QQK
-2479  ; [*030E.0020.0004.2479][.159F.0020.0004.2479][*030F.0020.001F.2479] # PARENTHESIZED DIGIT SIX; QQKN
-248D  ; [.159F.0020.0004.248D][*028E.0020.0004.248D] # DIGIT SIX FULL STOP; QQKN
-1F107 ; [.159F.0020.0004.1F107][*0241.0020.0004.1F107] # DIGIT SIX COMMA; QQKN
-1D7D4 ; [.159F.0020.0005.1D7D4] # MATHEMATICAL BOLD DIGIT SIX; QQK
-1D7DE ; [.159F.0020.0005.1D7DE] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX; QQK
-1D7E8 ; [.159F.0020.0005.1D7E8] # MATHEMATICAL SANS-SERIF DIGIT SIX; QQK
-1D7F2 ; [.159F.0020.0005.1D7F2] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX; QQK
-1D7FC ; [.159F.0020.0005.1D7FC] # MATHEMATICAL MONOSPACE DIGIT SIX; QQK
-2465  ; [.159F.0020.0006.2465] # CIRCLED DIGIT SIX; QQK
-24FA  ; [.159F.0020.0006.24FA] # DOUBLE CIRCLED DIGIT SIX; QQK
-277B  ; [.159F.0020.0006.277B] # DINGBAT NEGATIVE CIRCLED DIGIT SIX; QQK
-2785  ; [.159F.0020.0006.2785] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX; QQK
-278F  ; [.159F.0020.0006.278F] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX; QQK
-2076  ; [.159F.0020.0014.2076] # SUPERSCRIPT SIX; QQK
-2086  ; [.159F.0020.0015.2086] # SUBSCRIPT SIX; QQK
-0666  ; [.159F.0020.0002.0666][.0000.0165.0002.0666] # ARABIC-INDIC DIGIT SIX
-06F6  ; [.159F.0020.0002.06F6][.0000.0166.0002.06F6] # EXTENDED ARABIC-INDIC DIGIT SIX
-10E65 ; [.159F.0020.0002.10E65][.0000.0167.0002.10E65] # RUMI DIGIT SIX
-07C6  ; [.159F.0020.0002.07C6][.0000.0168.0002.07C6] # NKO DIGIT SIX
-136E  ; [.159F.0020.0002.136E][.0000.0169.0002.136E] # ETHIOPIC DIGIT SIX
-104A6 ; [.159F.0020.0002.104A6][.0000.016A.0002.104A6] # OSMANYA DIGIT SIX
-096C  ; [.159F.0020.0002.096C][.0000.016B.0002.096C] # DEVANAGARI DIGIT SIX
-09EC  ; [.159F.0020.0002.09EC][.0000.016C.0002.09EC] # BENGALI DIGIT SIX
-0A6C  ; [.159F.0020.0002.0A6C][.0000.016D.0002.0A6C] # GURMUKHI DIGIT SIX
-0AEC  ; [.159F.0020.0002.0AEC][.0000.016E.0002.0AEC] # GUJARATI DIGIT SIX
-0B6C  ; [.159F.0020.0002.0B6C][.0000.016F.0002.0B6C] # ORIYA DIGIT SIX
-0BEC  ; [.159F.0020.0002.0BEC][.0000.0170.0002.0BEC] # TAMIL DIGIT SIX
-0C6C  ; [.159F.0020.0002.0C6C][.0000.0171.0002.0C6C] # TELUGU DIGIT SIX
-0CEC  ; [.159F.0020.0002.0CEC][.0000.0172.0002.0CEC] # KANNADA DIGIT SIX
-0D6C  ; [.159F.0020.0002.0D6C][.0000.0173.0002.0D6C] # MALAYALAM DIGIT SIX
-ABF6  ; [.159F.0020.0002.ABF6][.0000.0174.0002.ABF6] # MEETEI MAYEK DIGIT SIX
-A8D6  ; [.159F.0020.0002.A8D6][.0000.0175.0002.A8D6] # SAURASHTRA DIGIT SIX
-194C  ; [.159F.0020.0002.194C][.0000.0176.0002.194C] # LIMBU DIGIT SIX
-19D6  ; [.159F.0020.0002.19D6][.0000.0177.0002.19D6] # NEW TAI LUE DIGIT SIX
-1A86  ; [.159F.0020.0002.1A86][.0000.0178.0002.1A86] # TAI THAM HORA DIGIT SIX
-1A96  ; [.159F.0020.0002.1A96][.0000.0179.0002.1A96] # TAI THAM THAM DIGIT SIX
-0E56  ; [.159F.0020.0002.0E56][.0000.017A.0002.0E56] # THAI DIGIT SIX
-0ED6  ; [.159F.0020.0002.0ED6][.0000.017B.0002.0ED6] # LAO DIGIT SIX
-0F26  ; [.159F.0020.0002.0F26][.0000.017C.0002.0F26] # TIBETAN DIGIT SIX
-0F2F  ; [.159F.0020.0004.0F2F][.0000.017C.0004.0F2F] # TIBETAN DIGIT HALF SIX; QQK
-1C46  ; [.159F.0020.0002.1C46][.0000.017D.0002.1C46] # LEPCHA DIGIT SIX
-A906  ; [.159F.0020.0002.A906][.0000.017E.0002.A906] # KAYAH LI DIGIT SIX
-1046  ; [.159F.0020.0002.1046][.0000.017F.0002.1046] # MYANMAR DIGIT SIX
-1096  ; [.159F.0020.0002.1096][.0000.0180.0002.1096] # MYANMAR SHAN DIGIT SIX
-17E6  ; [.159F.0020.0002.17E6][.0000.0181.0002.17E6] # KHMER DIGIT SIX
-17F6  ; [.159F.0020.0002.17F6][.0000.0182.0002.17F6] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
-AA56  ; [.159F.0020.0002.AA56][.0000.0183.0002.AA56] # CHAM DIGIT SIX
-1B56  ; [.159F.0020.0002.1B56][.0000.0184.0002.1B56] # BALINESE DIGIT SIX
-A9D6  ; [.159F.0020.0002.A9D6][.0000.0185.0002.A9D6] # JAVANESE DIGIT SIX
-1BB6  ; [.159F.0020.0002.1BB6][.0000.0186.0002.1BB6] # SUNDANESE DIGIT SIX
-1816  ; [.159F.0020.0002.1816][.0000.0187.0002.1816] # MONGOLIAN DIGIT SIX
-1C56  ; [.159F.0020.0002.1C56][.0000.0188.0002.1C56] # OL CHIKI DIGIT SIX
-A626  ; [.159F.0020.0002.A626][.0000.0189.0002.A626] # VAI DIGIT SIX
-3026  ; [.159F.0020.0002.3026][.0000.018A.0002.3026] # HANGZHOU NUMERAL SIX
-1010C ; [.159F.0020.0002.1010C][.0000.018B.0002.1010C] # AEGEAN NUMBER SIX
-2185  ; [.159F.0020.0002.2185][.0000.018D.0002.2185] # ROMAN NUMERAL SIX LATE FORM
-12404 ; [.159F.0020.0002.12404][.0000.0190.0002.12404] # CUNEIFORM NUMERIC SIGN SIX ASH
-1240B ; [.159F.0020.0002.1240B][.0000.0190.0002.1240B] # CUNEIFORM NUMERIC SIGN SIX DISH
-12411 ; [.159F.0020.0002.12411][.0000.0190.0002.12411] # CUNEIFORM NUMERIC SIGN SIX U
-1241A ; [.159F.0020.0002.1241A][.0000.0190.0002.1241A] # CUNEIFORM NUMERIC SIGN SIX GESH2
-12428 ; [.159F.0020.0002.12428][.0000.0190.0002.12428] # CUNEIFORM NUMERIC SIGN SIX SHAR2
-12440 ; [.159F.0020.0002.12440][.0000.0190.0002.12440] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
-1244E ; [.159F.0020.0002.1244E][.0000.0190.0002.1244E] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
-1106C ; [.159F.0020.0002.1106C][.0000.0196.0002.1106C] # BRAHMI DIGIT SIX
-11057 ; [.159F.0020.0002.11057][.0000.0197.0002.11057] # BRAHMI NUMBER SIX
-1D365 ; [.159F.0020.0002.1D365][.0000.0199.0002.1D365] # COUNTING ROD UNIT DIGIT SIX
-324D  ; [.159F.0020.0006.324D][.1599.0020.0006.324D] # CIRCLED NUMBER SIXTY ON BLACK SQUARE; QQKN
-33E5  ; [.159F.0020.0004.33E5][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX; QQKN
-32C5  ; [.159F.0020.0004.32C5][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE; QQKN
-335E  ; [.159F.0020.0004.335E][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX; QQKN
-0037  ; [.15A0.0020.0002.0037] # DIGIT SEVEN
-FF17  ; [.15A0.0020.0003.FF17] # FULLWIDTH DIGIT SEVEN; QQK
-247A  ; [*030E.0020.0004.247A][.15A0.0020.0004.247A][*030F.0020.001F.247A] # PARENTHESIZED DIGIT SEVEN; QQKN
-248E  ; [.15A0.0020.0004.248E][*028E.0020.0004.248E] # DIGIT SEVEN FULL STOP; QQKN
-1F108 ; [.15A0.0020.0004.1F108][*0241.0020.0004.1F108] # DIGIT SEVEN COMMA; QQKN
-1D7D5 ; [.15A0.0020.0005.1D7D5] # MATHEMATICAL BOLD DIGIT SEVEN; QQK
-1D7DF ; [.15A0.0020.0005.1D7DF] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN; QQK
-1D7E9 ; [.15A0.0020.0005.1D7E9] # MATHEMATICAL SANS-SERIF DIGIT SEVEN; QQK
-1D7F3 ; [.15A0.0020.0005.1D7F3] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN; QQK
-1D7FD ; [.15A0.0020.0005.1D7FD] # MATHEMATICAL MONOSPACE DIGIT SEVEN; QQK
-2466  ; [.15A0.0020.0006.2466] # CIRCLED DIGIT SEVEN; QQK
-24FB  ; [.15A0.0020.0006.24FB] # DOUBLE CIRCLED DIGIT SEVEN; QQK
-277C  ; [.15A0.0020.0006.277C] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN; QQK
-2786  ; [.15A0.0020.0006.2786] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN; QQK
-2790  ; [.15A0.0020.0006.2790] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN; QQK
-2077  ; [.15A0.0020.0014.2077] # SUPERSCRIPT SEVEN; QQK
-2087  ; [.15A0.0020.0015.2087] # SUBSCRIPT SEVEN; QQK
-0667  ; [.15A0.0020.0002.0667][.0000.0165.0002.0667] # ARABIC-INDIC DIGIT SEVEN
-06F7  ; [.15A0.0020.0002.06F7][.0000.0166.0002.06F7] # EXTENDED ARABIC-INDIC DIGIT SEVEN
-10E66 ; [.15A0.0020.0002.10E66][.0000.0167.0002.10E66] # RUMI DIGIT SEVEN
-07C7  ; [.15A0.0020.0002.07C7][.0000.0168.0002.07C7] # NKO DIGIT SEVEN
-136F  ; [.15A0.0020.0002.136F][.0000.0169.0002.136F] # ETHIOPIC DIGIT SEVEN
-104A7 ; [.15A0.0020.0002.104A7][.0000.016A.0002.104A7] # OSMANYA DIGIT SEVEN
-096D  ; [.15A0.0020.0002.096D][.0000.016B.0002.096D] # DEVANAGARI DIGIT SEVEN
-09ED  ; [.15A0.0020.0002.09ED][.0000.016C.0002.09ED] # BENGALI DIGIT SEVEN
-0A6D  ; [.15A0.0020.0002.0A6D][.0000.016D.0002.0A6D] # GURMUKHI DIGIT SEVEN
-0AED  ; [.15A0.0020.0002.0AED][.0000.016E.0002.0AED] # GUJARATI DIGIT SEVEN
-0B6D  ; [.15A0.0020.0002.0B6D][.0000.016F.0002.0B6D] # ORIYA DIGIT SEVEN
-0BED  ; [.15A0.0020.0002.0BED][.0000.0170.0002.0BED] # TAMIL DIGIT SEVEN
-0C6D  ; [.15A0.0020.0002.0C6D][.0000.0171.0002.0C6D] # TELUGU DIGIT SEVEN
-0CED  ; [.15A0.0020.0002.0CED][.0000.0172.0002.0CED] # KANNADA DIGIT SEVEN
-0D6D  ; [.15A0.0020.0002.0D6D][.0000.0173.0002.0D6D] # MALAYALAM DIGIT SEVEN
-ABF7  ; [.15A0.0020.0002.ABF7][.0000.0174.0002.ABF7] # MEETEI MAYEK DIGIT SEVEN
-A8D7  ; [.15A0.0020.0002.A8D7][.0000.0175.0002.A8D7] # SAURASHTRA DIGIT SEVEN
-194D  ; [.15A0.0020.0002.194D][.0000.0176.0002.194D] # LIMBU DIGIT SEVEN
-19D7  ; [.15A0.0020.0002.19D7][.0000.0177.0002.19D7] # NEW TAI LUE DIGIT SEVEN
-1A87  ; [.15A0.0020.0002.1A87][.0000.0178.0002.1A87] # TAI THAM HORA DIGIT SEVEN
-1A97  ; [.15A0.0020.0002.1A97][.0000.0179.0002.1A97] # TAI THAM THAM DIGIT SEVEN
-0E57  ; [.15A0.0020.0002.0E57][.0000.017A.0002.0E57] # THAI DIGIT SEVEN
-0ED7  ; [.15A0.0020.0002.0ED7][.0000.017B.0002.0ED7] # LAO DIGIT SEVEN
-0F27  ; [.15A0.0020.0002.0F27][.0000.017C.0002.0F27] # TIBETAN DIGIT SEVEN
-0F30  ; [.15A0.0020.0004.0F30][.0000.017C.0004.0F30] # TIBETAN DIGIT HALF SEVEN; QQK
-1C47  ; [.15A0.0020.0002.1C47][.0000.017D.0002.1C47] # LEPCHA DIGIT SEVEN
-A907  ; [.15A0.0020.0002.A907][.0000.017E.0002.A907] # KAYAH LI DIGIT SEVEN
-1047  ; [.15A0.0020.0002.1047][.0000.017F.0002.1047] # MYANMAR DIGIT SEVEN
-1097  ; [.15A0.0020.0002.1097][.0000.0180.0002.1097] # MYANMAR SHAN DIGIT SEVEN
-17E7  ; [.15A0.0020.0002.17E7][.0000.0181.0002.17E7] # KHMER DIGIT SEVEN
-17F7  ; [.15A0.0020.0002.17F7][.0000.0182.0002.17F7] # KHMER SYMBOL LEK ATTAK PRAM-PII
-AA57  ; [.15A0.0020.0002.AA57][.0000.0183.0002.AA57] # CHAM DIGIT SEVEN
-1B57  ; [.15A0.0020.0002.1B57][.0000.0184.0002.1B57] # BALINESE DIGIT SEVEN
-A9D7  ; [.15A0.0020.0002.A9D7][.0000.0185.0002.A9D7] # JAVANESE DIGIT SEVEN
-1BB7  ; [.15A0.0020.0002.1BB7][.0000.0186.0002.1BB7] # SUNDANESE DIGIT SEVEN
-1817  ; [.15A0.0020.0002.1817][.0000.0187.0002.1817] # MONGOLIAN DIGIT SEVEN
-1C57  ; [.15A0.0020.0002.1C57][.0000.0188.0002.1C57] # OL CHIKI DIGIT SEVEN
-A627  ; [.15A0.0020.0002.A627][.0000.0189.0002.A627] # VAI DIGIT SEVEN
-3027  ; [.15A0.0020.0002.3027][.0000.018A.0002.3027] # HANGZHOU NUMERAL SEVEN
-1010D ; [.15A0.0020.0002.1010D][.0000.018B.0002.1010D] # AEGEAN NUMBER SEVEN
-12405 ; [.15A0.0020.0002.12405][.0000.0190.0002.12405] # CUNEIFORM NUMERIC SIGN SEVEN ASH
-1240C ; [.15A0.0020.0002.1240C][.0000.0190.0002.1240C] # CUNEIFORM NUMERIC SIGN SEVEN DISH
-12412 ; [.15A0.0020.0002.12412][.0000.0190.0002.12412] # CUNEIFORM NUMERIC SIGN SEVEN U
-1241B ; [.15A0.0020.0002.1241B][.0000.0190.0002.1241B] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
-12429 ; [.15A0.0020.0002.12429][.0000.0190.0002.12429] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
-12441 ; [.15A0.0020.0002.12441][.0000.0190.0002.12441] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
-12442 ; [.15A0.0020.0002.12442][.0000.0190.0002.12442] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
-12443 ; [.15A0.0020.0002.12443][.0000.0190.0002.12443] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
-1106D ; [.15A0.0020.0002.1106D][.0000.0196.0002.1106D] # BRAHMI DIGIT SEVEN
-11058 ; [.15A0.0020.0002.11058][.0000.0197.0002.11058] # BRAHMI NUMBER SEVEN
-1D366 ; [.15A0.0020.0002.1D366][.0000.0199.0002.1D366] # COUNTING ROD UNIT DIGIT SEVEN
-324E  ; [.15A0.0020.0006.324E][.1599.0020.0006.324E] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE; QQKN
-215E  ; [.15A0.0020.001E.215E][*036C.0020.001E.215E][.15A1.0020.001F.215E] # VULGAR FRACTION SEVEN EIGHTHS; QQKN
-33E6  ; [.15A0.0020.0004.33E6][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN; QQKN
-32C6  ; [.15A0.0020.0004.32C6][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY; QQKN
-335F  ; [.15A0.0020.0004.335F][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN; QQKN
-0038  ; [.15A1.0020.0002.0038] # DIGIT EIGHT
-FF18  ; [.15A1.0020.0003.FF18] # FULLWIDTH DIGIT EIGHT; QQK
-247B  ; [*030E.0020.0004.247B][.15A1.0020.0004.247B][*030F.0020.001F.247B] # PARENTHESIZED DIGIT EIGHT; QQKN
-248F  ; [.15A1.0020.0004.248F][*028E.0020.0004.248F] # DIGIT EIGHT FULL STOP; QQKN
-1F109 ; [.15A1.0020.0004.1F109][*0241.0020.0004.1F109] # DIGIT EIGHT COMMA; QQKN
-1D7D6 ; [.15A1.0020.0005.1D7D6] # MATHEMATICAL BOLD DIGIT EIGHT; QQK
-1D7E0 ; [.15A1.0020.0005.1D7E0] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT; QQK
-1D7EA ; [.15A1.0020.0005.1D7EA] # MATHEMATICAL SANS-SERIF DIGIT EIGHT; QQK
-1D7F4 ; [.15A1.0020.0005.1D7F4] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT; QQK
-1D7FE ; [.15A1.0020.0005.1D7FE] # MATHEMATICAL MONOSPACE DIGIT EIGHT; QQK
-2467  ; [.15A1.0020.0006.2467] # CIRCLED DIGIT EIGHT; QQK
-24FC  ; [.15A1.0020.0006.24FC] # DOUBLE CIRCLED DIGIT EIGHT; QQK
-277D  ; [.15A1.0020.0006.277D] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT; QQK
-2787  ; [.15A1.0020.0006.2787] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT; QQK
-2791  ; [.15A1.0020.0006.2791] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT; QQK
-2078  ; [.15A1.0020.0014.2078] # SUPERSCRIPT EIGHT; QQK
-2088  ; [.15A1.0020.0015.2088] # SUBSCRIPT EIGHT; QQK
-0668  ; [.15A1.0020.0002.0668][.0000.0165.0002.0668] # ARABIC-INDIC DIGIT EIGHT
-06F8  ; [.15A1.0020.0002.06F8][.0000.0166.0002.06F8] # EXTENDED ARABIC-INDIC DIGIT EIGHT
-10E67 ; [.15A1.0020.0002.10E67][.0000.0167.0002.10E67] # RUMI DIGIT EIGHT
-07C8  ; [.15A1.0020.0002.07C8][.0000.0168.0002.07C8] # NKO DIGIT EIGHT
-1370  ; [.15A1.0020.0002.1370][.0000.0169.0002.1370] # ETHIOPIC DIGIT EIGHT
-104A8 ; [.15A1.0020.0002.104A8][.0000.016A.0002.104A8] # OSMANYA DIGIT EIGHT
-096E  ; [.15A1.0020.0002.096E][.0000.016B.0002.096E] # DEVANAGARI DIGIT EIGHT
-09EE  ; [.15A1.0020.0002.09EE][.0000.016C.0002.09EE] # BENGALI DIGIT EIGHT
-0A6E  ; [.15A1.0020.0002.0A6E][.0000.016D.0002.0A6E] # GURMUKHI DIGIT EIGHT
-0AEE  ; [.15A1.0020.0002.0AEE][.0000.016E.0002.0AEE] # GUJARATI DIGIT EIGHT
-0B6E  ; [.15A1.0020.0002.0B6E][.0000.016F.0002.0B6E] # ORIYA DIGIT EIGHT
-0BEE  ; [.15A1.0020.0002.0BEE][.0000.0170.0002.0BEE] # TAMIL DIGIT EIGHT
-0C6E  ; [.15A1.0020.0002.0C6E][.0000.0171.0002.0C6E] # TELUGU DIGIT EIGHT
-0CEE  ; [.15A1.0020.0002.0CEE][.0000.0172.0002.0CEE] # KANNADA DIGIT EIGHT
-0D6E  ; [.15A1.0020.0002.0D6E][.0000.0173.0002.0D6E] # MALAYALAM DIGIT EIGHT
-ABF8  ; [.15A1.0020.0002.ABF8][.0000.0174.0002.ABF8] # MEETEI MAYEK DIGIT EIGHT
-A8D8  ; [.15A1.0020.0002.A8D8][.0000.0175.0002.A8D8] # SAURASHTRA DIGIT EIGHT
-194E  ; [.15A1.0020.0002.194E][.0000.0176.0002.194E] # LIMBU DIGIT EIGHT
-19D8  ; [.15A1.0020.0002.19D8][.0000.0177.0002.19D8] # NEW TAI LUE DIGIT EIGHT
-1A88  ; [.15A1.0020.0002.1A88][.0000.0178.0002.1A88] # TAI THAM HORA DIGIT EIGHT
-1A98  ; [.15A1.0020.0002.1A98][.0000.0179.0002.1A98] # TAI THAM THAM DIGIT EIGHT
-0E58  ; [.15A1.0020.0002.0E58][.0000.017A.0002.0E58] # THAI DIGIT EIGHT
-0ED8  ; [.15A1.0020.0002.0ED8][.0000.017B.0002.0ED8] # LAO DIGIT EIGHT
-0F28  ; [.15A1.0020.0002.0F28][.0000.017C.0002.0F28] # TIBETAN DIGIT EIGHT
-0F31  ; [.15A1.0020.0004.0F31][.0000.017C.0004.0F31] # TIBETAN DIGIT HALF EIGHT; QQK
-1C48  ; [.15A1.0020.0002.1C48][.0000.017D.0002.1C48] # LEPCHA DIGIT EIGHT
-A908  ; [.15A1.0020.0002.A908][.0000.017E.0002.A908] # KAYAH LI DIGIT EIGHT
-1048  ; [.15A1.0020.0002.1048][.0000.017F.0002.1048] # MYANMAR DIGIT EIGHT
-1098  ; [.15A1.0020.0002.1098][.0000.0180.0002.1098] # MYANMAR SHAN DIGIT EIGHT
-17E8  ; [.15A1.0020.0002.17E8][.0000.0181.0002.17E8] # KHMER DIGIT EIGHT
-17F8  ; [.15A1.0020.0002.17F8][.0000.0182.0002.17F8] # KHMER SYMBOL LEK ATTAK PRAM-BEI
-AA58  ; [.15A1.0020.0002.AA58][.0000.0183.0002.AA58] # CHAM DIGIT EIGHT
-1B58  ; [.15A1.0020.0002.1B58][.0000.0184.0002.1B58] # BALINESE DIGIT EIGHT
-A9D8  ; [.15A1.0020.0002.A9D8][.0000.0185.0002.A9D8] # JAVANESE DIGIT EIGHT
-1BB8  ; [.15A1.0020.0002.1BB8][.0000.0186.0002.1BB8] # SUNDANESE DIGIT EIGHT
-1818  ; [.15A1.0020.0002.1818][.0000.0187.0002.1818] # MONGOLIAN DIGIT EIGHT
-1C58  ; [.15A1.0020.0002.1C58][.0000.0188.0002.1C58] # OL CHIKI DIGIT EIGHT
-A628  ; [.15A1.0020.0002.A628][.0000.0189.0002.A628] # VAI DIGIT EIGHT
-3028  ; [.15A1.0020.0002.3028][.0000.018A.0002.3028] # HANGZHOU NUMERAL EIGHT
-1010E ; [.15A1.0020.0002.1010E][.0000.018B.0002.1010E] # AEGEAN NUMBER EIGHT
-12406 ; [.15A1.0020.0002.12406][.0000.0190.0002.12406] # CUNEIFORM NUMERIC SIGN EIGHT ASH
-1240D ; [.15A1.0020.0002.1240D][.0000.0190.0002.1240D] # CUNEIFORM NUMERIC SIGN EIGHT DISH
-12413 ; [.15A1.0020.0002.12413][.0000.0190.0002.12413] # CUNEIFORM NUMERIC SIGN EIGHT U
-1241C ; [.15A1.0020.0002.1241C][.0000.0190.0002.1241C] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
-1242A ; [.15A1.0020.0002.1242A][.0000.0190.0002.1242A] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
-12444 ; [.15A1.0020.0002.12444][.0000.0190.0002.12444] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
-12445 ; [.15A1.0020.0002.12445][.0000.0190.0002.12445] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
-1106E ; [.15A1.0020.0002.1106E][.0000.0196.0002.1106E] # BRAHMI DIGIT EIGHT
-11059 ; [.15A1.0020.0002.11059][.0000.0197.0002.11059] # BRAHMI NUMBER EIGHT
-1D367 ; [.15A1.0020.0002.1D367][.0000.0199.0002.1D367] # COUNTING ROD UNIT DIGIT EIGHT
-324F  ; [.15A1.0020.0006.324F][.1599.0020.0006.324F] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE; QQKN
-33E7  ; [.15A1.0020.0004.33E7][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT; QQKN
-32C7  ; [.15A1.0020.0004.32C7][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST; QQKN
-3360  ; [.15A1.0020.0004.3360][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT; QQKN
-0039  ; [.15A2.0020.0002.0039] # DIGIT NINE
-FF19  ; [.15A2.0020.0003.FF19] # FULLWIDTH DIGIT NINE; QQK
-247C  ; [*030E.0020.0004.247C][.15A2.0020.0004.247C][*030F.0020.001F.247C] # PARENTHESIZED DIGIT NINE; QQKN
-2490  ; [.15A2.0020.0004.2490][*028E.0020.0004.2490] # DIGIT NINE FULL STOP; QQKN
-1F10A ; [.15A2.0020.0004.1F10A][*0241.0020.0004.1F10A] # DIGIT NINE COMMA; QQKN
-1D7D7 ; [.15A2.0020.0005.1D7D7] # MATHEMATICAL BOLD DIGIT NINE; QQK
-1D7E1 ; [.15A2.0020.0005.1D7E1] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE; QQK
-1D7EB ; [.15A2.0020.0005.1D7EB] # MATHEMATICAL SANS-SERIF DIGIT NINE; QQK
-1D7F5 ; [.15A2.0020.0005.1D7F5] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE; QQK
-1D7FF ; [.15A2.0020.0005.1D7FF] # MATHEMATICAL MONOSPACE DIGIT NINE; QQK
-2468  ; [.15A2.0020.0006.2468] # CIRCLED DIGIT NINE; QQK
-24FD  ; [.15A2.0020.0006.24FD] # DOUBLE CIRCLED DIGIT NINE; QQK
-277E  ; [.15A2.0020.0006.277E] # DINGBAT NEGATIVE CIRCLED DIGIT NINE; QQK
-2788  ; [.15A2.0020.0006.2788] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE; QQK
-2792  ; [.15A2.0020.0006.2792] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE; QQK
-2079  ; [.15A2.0020.0014.2079] # SUPERSCRIPT NINE; QQK
-2089  ; [.15A2.0020.0015.2089] # SUBSCRIPT NINE; QQK
-0669  ; [.15A2.0020.0002.0669][.0000.0165.0002.0669] # ARABIC-INDIC DIGIT NINE
-06F9  ; [.15A2.0020.0002.06F9][.0000.0166.0002.06F9] # EXTENDED ARABIC-INDIC DIGIT NINE
-10E68 ; [.15A2.0020.0002.10E68][.0000.0167.0002.10E68] # RUMI DIGIT NINE
-07C9  ; [.15A2.0020.0002.07C9][.0000.0168.0002.07C9] # NKO DIGIT NINE
-1371  ; [.15A2.0020.0002.1371][.0000.0169.0002.1371] # ETHIOPIC DIGIT NINE
-104A9 ; [.15A2.0020.0002.104A9][.0000.016A.0002.104A9] # OSMANYA DIGIT NINE
-096F  ; [.15A2.0020.0002.096F][.0000.016B.0002.096F] # DEVANAGARI DIGIT NINE
-09EF  ; [.15A2.0020.0002.09EF][.0000.016C.0002.09EF] # BENGALI DIGIT NINE
-0A6F  ; [.15A2.0020.0002.0A6F][.0000.016D.0002.0A6F] # GURMUKHI DIGIT NINE
-0AEF  ; [.15A2.0020.0002.0AEF][.0000.016E.0002.0AEF] # GUJARATI DIGIT NINE
-0B6F  ; [.15A2.0020.0002.0B6F][.0000.016F.0002.0B6F] # ORIYA DIGIT NINE
-0BEF  ; [.15A2.0020.0002.0BEF][.0000.0170.0002.0BEF] # TAMIL DIGIT NINE
-0C6F  ; [.15A2.0020.0002.0C6F][.0000.0171.0002.0C6F] # TELUGU DIGIT NINE
-0CEF  ; [.15A2.0020.0002.0CEF][.0000.0172.0002.0CEF] # KANNADA DIGIT NINE
-0D6F  ; [.15A2.0020.0002.0D6F][.0000.0173.0002.0D6F] # MALAYALAM DIGIT NINE
-ABF9  ; [.15A2.0020.0002.ABF9][.0000.0174.0002.ABF9] # MEETEI MAYEK DIGIT NINE
-A8D9  ; [.15A2.0020.0002.A8D9][.0000.0175.0002.A8D9] # SAURASHTRA DIGIT NINE
-194F  ; [.15A2.0020.0002.194F][.0000.0176.0002.194F] # LIMBU DIGIT NINE
-19D9  ; [.15A2.0020.0002.19D9][.0000.0177.0002.19D9] # NEW TAI LUE DIGIT NINE
-1A89  ; [.15A2.0020.0002.1A89][.0000.0178.0002.1A89] # TAI THAM HORA DIGIT NINE
-1A99  ; [.15A2.0020.0002.1A99][.0000.0179.0002.1A99] # TAI THAM THAM DIGIT NINE
-0E59  ; [.15A2.0020.0002.0E59][.0000.017A.0002.0E59] # THAI DIGIT NINE
-0ED9  ; [.15A2.0020.0002.0ED9][.0000.017B.0002.0ED9] # LAO DIGIT NINE
-0F29  ; [.15A2.0020.0002.0F29][.0000.017C.0002.0F29] # TIBETAN DIGIT NINE
-0F32  ; [.15A2.0020.0004.0F32][.0000.017C.0004.0F32] # TIBETAN DIGIT HALF NINE; QQK
-1C49  ; [.15A2.0020.0002.1C49][.0000.017D.0002.1C49] # LEPCHA DIGIT NINE
-A909  ; [.15A2.0020.0002.A909][.0000.017E.0002.A909] # KAYAH LI DIGIT NINE
-1049  ; [.15A2.0020.0002.1049][.0000.017F.0002.1049] # MYANMAR DIGIT NINE
-1099  ; [.15A2.0020.0002.1099][.0000.0180.0002.1099] # MYANMAR SHAN DIGIT NINE
-17E9  ; [.15A2.0020.0002.17E9][.0000.0181.0002.17E9] # KHMER DIGIT NINE
-17F9  ; [.15A2.0020.0002.17F9][.0000.0182.0002.17F9] # KHMER SYMBOL LEK ATTAK PRAM-BUON
-AA59  ; [.15A2.0020.0002.AA59][.0000.0183.0002.AA59] # CHAM DIGIT NINE
-1B59  ; [.15A2.0020.0002.1B59][.0000.0184.0002.1B59] # BALINESE DIGIT NINE
-A9D9  ; [.15A2.0020.0002.A9D9][.0000.0185.0002.A9D9] # JAVANESE DIGIT NINE
-1BB9  ; [.15A2.0020.0002.1BB9][.0000.0186.0002.1BB9] # SUNDANESE DIGIT NINE
-1819  ; [.15A2.0020.0002.1819][.0000.0187.0002.1819] # MONGOLIAN DIGIT NINE
-1C59  ; [.15A2.0020.0002.1C59][.0000.0188.0002.1C59] # OL CHIKI DIGIT NINE
-A629  ; [.15A2.0020.0002.A629][.0000.0189.0002.A629] # VAI DIGIT NINE
-3029  ; [.15A2.0020.0002.3029][.0000.018A.0002.3029] # HANGZHOU NUMERAL NINE
-1010F ; [.15A2.0020.0002.1010F][.0000.018B.0002.1010F] # AEGEAN NUMBER NINE
-12407 ; [.15A2.0020.0002.12407][.0000.0190.0002.12407] # CUNEIFORM NUMERIC SIGN NINE ASH
-1240E ; [.15A2.0020.0002.1240E][.0000.0190.0002.1240E] # CUNEIFORM NUMERIC SIGN NINE DISH
-12414 ; [.15A2.0020.0002.12414][.0000.0190.0002.12414] # CUNEIFORM NUMERIC SIGN NINE U
-1241D ; [.15A2.0020.0002.1241D][.0000.0190.0002.1241D] # CUNEIFORM NUMERIC SIGN NINE GESH2
-1242B ; [.15A2.0020.0002.1242B][.0000.0190.0002.1242B] # CUNEIFORM NUMERIC SIGN NINE SHAR2
-12446 ; [.15A2.0020.0002.12446][.0000.0190.0002.12446] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
-12447 ; [.15A2.0020.0002.12447][.0000.0190.0002.12447] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
-12448 ; [.15A2.0020.0002.12448][.0000.0190.0002.12448] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
-12449 ; [.15A2.0020.0002.12449][.0000.0190.0002.12449] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
-1106F ; [.15A2.0020.0002.1106F][.0000.0196.0002.1106F] # BRAHMI DIGIT NINE
-1105A ; [.15A2.0020.0002.1105A][.0000.0197.0002.1105A] # BRAHMI NUMBER NINE
-1D368 ; [.15A2.0020.0002.1D368][.0000.0199.0002.1D368] # COUNTING ROD UNIT DIGIT NINE
-33E8  ; [.15A2.0020.0004.33E8][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE; QQKN
-32C8  ; [.15A2.0020.0004.32C8][.FB40.0020.0004.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER; QQKN
-3361  ; [.15A2.0020.0004.3361][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE; QQKN
-0061  ; [.15A3.0020.0002.0061] # LATIN SMALL LETTER A
-FF41  ; [.15A3.0020.0003.FF41] # FULLWIDTH LATIN SMALL LETTER A; QQK
-0363  ; [.15A3.0020.0004.0363] # COMBINING LATIN SMALL LETTER A; QQK
-249C  ; [*030E.0020.0004.249C][.15A3.0020.0004.249C][*030F.0020.001F.249C] # PARENTHESIZED LATIN SMALL LETTER A; QQKN
-1D41A ; [.15A3.0020.0005.1D41A] # MATHEMATICAL BOLD SMALL A; QQK
-1D44E ; [.15A3.0020.0005.1D44E] # MATHEMATICAL ITALIC SMALL A; QQK
-1D482 ; [.15A3.0020.0005.1D482] # MATHEMATICAL BOLD ITALIC SMALL A; QQK
-1D4B6 ; [.15A3.0020.0005.1D4B6] # MATHEMATICAL SCRIPT SMALL A; QQK
-1D4EA ; [.15A3.0020.0005.1D4EA] # MATHEMATICAL BOLD SCRIPT SMALL A; QQK
-1D51E ; [.15A3.0020.0005.1D51E] # MATHEMATICAL FRAKTUR SMALL A; QQK
-1D552 ; [.15A3.0020.0005.1D552] # MATHEMATICAL DOUBLE-STRUCK SMALL A; QQK
-1D586 ; [.15A3.0020.0005.1D586] # MATHEMATICAL BOLD FRAKTUR SMALL A; QQK
-1D5BA ; [.15A3.0020.0005.1D5BA] # MATHEMATICAL SANS-SERIF SMALL A; QQK
-1D5EE ; [.15A3.0020.0005.1D5EE] # MATHEMATICAL SANS-SERIF BOLD SMALL A; QQK
-1D622 ; [.15A3.0020.0005.1D622] # MATHEMATICAL SANS-SERIF ITALIC SMALL A; QQK
-1D656 ; [.15A3.0020.0005.1D656] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A; QQK
-1D68A ; [.15A3.0020.0005.1D68A] # MATHEMATICAL MONOSPACE SMALL A; QQK
-24D0  ; [.15A3.0020.0006.24D0] # CIRCLED LATIN SMALL LETTER A; QQK
-0041  ; [.15A3.0020.0008.0041] # LATIN CAPITAL LETTER A
-FF21  ; [.15A3.0020.0009.FF21] # FULLWIDTH LATIN CAPITAL LETTER A; QQK
-1F110 ; [*030E.0020.0004.1F110][.15A3.0020.000A.1F110][*030F.0020.001F.1F110] # PARENTHESIZED LATIN CAPITAL LETTER A; QQKN
-1F1E6 ; [.15A3.0020.000A.1F1E6] # REGIONAL INDICATOR SYMBOL LETTER A; QQK
-1D400 ; [.15A3.0020.000B.1D400] # MATHEMATICAL BOLD CAPITAL A; QQK
-1D434 ; [.15A3.0020.000B.1D434] # MATHEMATICAL ITALIC CAPITAL A; QQK
-1D468 ; [.15A3.0020.000B.1D468] # MATHEMATICAL BOLD ITALIC CAPITAL A; QQK
-1D49C ; [.15A3.0020.000B.1D49C] # MATHEMATICAL SCRIPT CAPITAL A; QQK
-1D4D0 ; [.15A3.0020.000B.1D4D0] # MATHEMATICAL BOLD SCRIPT CAPITAL A; QQK
-1D504 ; [.15A3.0020.000B.1D504] # MATHEMATICAL FRAKTUR CAPITAL A; QQK
-1D538 ; [.15A3.0020.000B.1D538] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A; QQK
-1D56C ; [.15A3.0020.000B.1D56C] # MATHEMATICAL BOLD FRAKTUR CAPITAL A; QQK
-1D5A0 ; [.15A3.0020.000B.1D5A0] # MATHEMATICAL SANS-SERIF CAPITAL A; QQK
-1D5D4 ; [.15A3.0020.000B.1D5D4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A; QQK
-1D608 ; [.15A3.0020.000B.1D608] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A; QQK
-1D63C ; [.15A3.0020.000B.1D63C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A; QQK
-1D670 ; [.15A3.0020.000B.1D670] # MATHEMATICAL MONOSPACE CAPITAL A; QQK
-24B6  ; [.15A3.0020.000C.24B6] # CIRCLED LATIN CAPITAL LETTER A; QQK
-1F150 ; [.15A3.0020.000C.1F150] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A; QQK
-00AA  ; [.15A3.0020.0014.00AA] # FEMININE ORDINAL INDICATOR; QQK
-1D43  ; [.15A3.0020.0014.1D43] # MODIFIER LETTER SMALL A; QQK
-2090  ; [.15A3.0020.0015.2090] # LATIN SUBSCRIPT SMALL LETTER A; QQK
-1D2C  ; [.15A3.0020.001D.1D2C] # MODIFIER LETTER CAPITAL A; QQK
-1F130 ; [.15A3.0020.001D.1F130] # SQUARED LATIN CAPITAL LETTER A; QQK
-1F170 ; [.15A3.0020.001D.1F170] # NEGATIVE SQUARED LATIN CAPITAL LETTER A; QQK
-00E1  ; [.15A3.0020.0002.0061][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH ACUTE; QQCM
-00C1  ; [.15A3.0020.0008.0041][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE; QQCM
-00E0  ; [.15A3.0020.0002.0061][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH GRAVE; QQCM
-00C0  ; [.15A3.0020.0008.0041][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH GRAVE; QQCM
-0103  ; [.15A3.0020.0002.0061][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE; QQCM
-0102  ; [.15A3.0020.0008.0041][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE; QQCM
-1EAF  ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE; QQCM
-1EAE  ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE; QQCM
-1EB1  ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE; QQCM
-1EB0  ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE; QQCM
-1EB5  ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE; QQCM
-1EB4  ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE; QQCM
-1EB3  ; [.15A3.0020.0002.0061][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE; QQCM
-1EB2  ; [.15A3.0020.0008.0041][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE; QQCM
-00E2  ; [.15A3.0020.0002.0061][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX; QQCM
-00C2  ; [.15A3.0020.0008.0041][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX; QQCM
-1EA5  ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE; QQCM
-1EA4  ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE; QQCM
-1EA7  ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE; QQCM
-1EA6  ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE; QQCM
-1EAB  ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE; QQCM
-1EAA  ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE; QQCM
-1EA9  ; [.15A3.0020.0002.0061][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1EA8  ; [.15A3.0020.0008.0041][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-01CE  ; [.15A3.0020.0002.0061][.0000.0041.0002.030C] # LATIN SMALL LETTER A WITH CARON; QQCM
-01CD  ; [.15A3.0020.0008.0041][.0000.0041.0002.030C] # LATIN CAPITAL LETTER A WITH CARON; QQCM
-00E5  ; [.15A3.0020.0002.0061][.0000.0043.0002.030A] # LATIN SMALL LETTER A WITH RING ABOVE; QQCM
-00C5  ; [.15A3.0020.0008.0041][.0000.0043.0002.030A] # LATIN CAPITAL LETTER A WITH RING ABOVE; QQCM
-212B  ; [.15A3.0020.0008.0041][.0000.0043.0002.030A] # ANGSTROM SIGN; QQCM
-01FB  ; [.15A3.0020.0002.0061][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE; QQCM
-01FA  ; [.15A3.0020.0008.0041][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE; QQCM
-00E4  ; [.15A3.0020.0002.0061][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS; QQCM
-00C4  ; [.15A3.0020.0008.0041][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS; QQCM
-01DF  ; [.15A3.0020.0002.0061][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON; QQCM
-01DE  ; [.15A3.0020.0008.0041][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON; QQCM
-00E3  ; [.15A3.0020.0002.0061][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH TILDE; QQCM
-00C3  ; [.15A3.0020.0008.0041][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE; QQCM
-0227  ; [.15A3.0020.0002.0061][.0000.0052.0002.0307] # LATIN SMALL LETTER A WITH DOT ABOVE; QQCM
-0226  ; [.15A3.0020.0008.0041][.0000.0052.0002.0307] # LATIN CAPITAL LETTER A WITH DOT ABOVE; QQCM
-01E1  ; [.15A3.0020.0002.0061][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON; QQCM
-01E0  ; [.15A3.0020.0008.0041][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON; QQCM
-0105  ; [.15A3.0020.0002.0061][.0000.0059.0002.0328] # LATIN SMALL LETTER A WITH OGONEK; QQCM
-0104  ; [.15A3.0020.0008.0041][.0000.0059.0002.0328] # LATIN CAPITAL LETTER A WITH OGONEK; QQCM
-0101  ; [.15A3.0020.0002.0061][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH MACRON; QQCM
-0100  ; [.15A3.0020.0008.0041][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH MACRON; QQCM
-1EA3  ; [.15A3.0020.0002.0061][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE; QQCM
-1EA2  ; [.15A3.0020.0008.0041][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE; QQCM
-0201  ; [.15A3.0020.0002.0061][.0000.0065.0002.030F] # LATIN SMALL LETTER A WITH DOUBLE GRAVE; QQCM
-0200  ; [.15A3.0020.0008.0041][.0000.0065.0002.030F] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE; QQCM
-0203  ; [.15A3.0020.0002.0061][.0000.0067.0002.0311] # LATIN SMALL LETTER A WITH INVERTED BREVE; QQCM
-0202  ; [.15A3.0020.0008.0041][.0000.0067.0002.0311] # LATIN CAPITAL LETTER A WITH INVERTED BREVE; QQCM
-1EA1  ; [.15A3.0020.0002.0061][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW; QQCM
-1EA0  ; [.15A3.0020.0008.0041][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW; QQCM
-1EB7  ; [.15A3.0020.0002.0061][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW; QQCM
-1EB6  ; [.15A3.0020.0008.0041][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW; QQCM
-1EAD  ; [.15A3.0020.0002.0061][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1EAC  ; [.15A3.0020.0008.0041][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1E01  ; [.15A3.0020.0002.0061][.0000.0076.0002.0325] # LATIN SMALL LETTER A WITH RING BELOW; QQCM
-1E00  ; [.15A3.0020.0008.0041][.0000.0076.0002.0325] # LATIN CAPITAL LETTER A WITH RING BELOW; QQCM
-1DD3  ; [.15A3.0020.0004.1DD3][.0000.015F.0004.1DD3] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE; QQKN
-A733  ; [.15A3.0020.0004.A733][.15A3.0020.0004.A733] # LATIN SMALL LETTER AA; QQKN
-A732  ; [.15A3.0020.000A.A732][.15A3.0020.000A.A732] # LATIN CAPITAL LETTER AA; QQKN
-1F18E ; [.15A3.0020.001D.1F18E][.15B9.0020.001D.1F18E] # NEGATIVE SQUARED AB; QQKN
-2100  ; [.15A3.0020.0004.2100][*036B.0020.0004.2100][.15D1.0020.001F.2100] # ACCOUNT OF; QQKN
-00E6  ; [.15A3.0020.0004.00E6][.0000.015F.0004.00E6][.15FF.0020.001F.00E6] # LATIN SMALL LETTER AE; QQKN
-1DD4  ; [.15A3.0020.0004.1DD4][.0000.015F.0004.1DD4][.15FF.0020.001F.1DD4] # COMBINING LATIN SMALL LETTER AE; QQKN
-00C6  ; [.15A3.0020.000A.00C6][.0000.015F.0004.00C6][.15FF.0020.001F.00C6] # LATIN CAPITAL LETTER AE; QQKN
-1D2D  ; [.15A3.0020.0014.1D2D][.0000.015F.0014.1D2D][.15FF.0020.001F.1D2D] # MODIFIER LETTER CAPITAL AE; QQKN
-01FD  ; [.15A3.0020.0004.01FD][.0000.015F.0004.01FD][.15FF.0020.001F.01FD][.0000.0032.0002.01FD] # LATIN SMALL LETTER AE WITH ACUTE; QQKN
-01FC  ; [.15A3.0020.000A.01FC][.0000.015F.0004.01FC][.15FF.0020.001F.01FC][.0000.0032.0002.01FC] # LATIN CAPITAL LETTER AE WITH ACUTE; QQKN
-01E3  ; [.15A3.0020.0004.01E3][.0000.015F.0004.01E3][.15FF.0020.001F.01E3][.0000.005B.0002.01E3] # LATIN SMALL LETTER AE WITH MACRON; QQKN
-01E2  ; [.15A3.0020.000A.01E2][.0000.015F.0004.01E2][.15FF.0020.001F.01E2][.0000.005B.0002.01E2] # LATIN CAPITAL LETTER AE WITH MACRON; QQKN
-33C2  ; [.15A3.0020.001C.33C2][*028E.0020.001C.33C2][.16F4.0020.001F.33C2][*028E.0020.001F.33C2] # SQUARE AM; QQKN
-33DF  ; [.15A3.0020.001D.33DF][*0579.0020.001C.33DF][.16F4.0020.001F.33DF] # SQUARE A OVER M; QQKN
-1DD5  ; [.15A3.0020.0004.1DD5][.1724.0020.0004.1DD5] # COMBINING LATIN SMALL LETTER AO; QQKN
-A735  ; [.15A3.0020.0004.A735][.1724.0020.0004.A735] # LATIN SMALL LETTER AO; QQKN
-A734  ; [.15A3.0020.000A.A734][.1724.0020.000A.A734] # LATIN CAPITAL LETTER AO; QQKN
-2101  ; [.15A3.0020.0004.2101][*036B.0020.0004.2101][.17A6.0020.001F.2101] # ADDRESSED TO THE SUBJECT; QQKN
-A737  ; [.15A3.0020.0004.A737][.17E9.0020.0004.A737] # LATIN SMALL LETTER AU; QQKN
-A736  ; [.15A3.0020.000A.A736][.17E9.0020.000A.A736] # LATIN CAPITAL LETTER AU; QQKN
-3373  ; [.15A3.0020.001D.3373][.17E9.0020.001D.3373] # SQUARE AU; QQKN
-1DD6  ; [.15A3.0020.0004.1DD6][.1812.0020.0004.1DD6] # COMBINING LATIN SMALL LETTER AV; QQKN
-A739  ; [.15A3.0020.0004.A739][.1812.0020.0004.A739] # LATIN SMALL LETTER AV; QQKN
-A738  ; [.15A3.0020.000A.A738][.1812.0020.000A.A738] # LATIN CAPITAL LETTER AV; QQKN
-A73B  ; [.15A3.0020.0004.A73B][.0000.015F.0004.A73B][.1812.0020.001F.A73B] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR; QQKN
-A73A  ; [.15A3.0020.000A.A73A][.0000.015F.0004.A73A][.1812.0020.001F.A73A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR; QQKN
-A73D  ; [.15A3.0020.0004.A73D][.1833.0020.0004.A73D] # LATIN SMALL LETTER AY; QQKN
-A73C  ; [.15A3.0020.000A.A73C][.1833.0020.000A.A73C] # LATIN CAPITAL LETTER AY; QQKN
-1E9A  ; [.15A3.0020.0004.1E9A][.18A4.0020.0004.1E9A] # LATIN SMALL LETTER A WITH RIGHT HALF RING; QQKN
-1D00  ; [.15A7.0020.0002.1D00] # LATIN LETTER SMALL CAPITAL A
-2C65  ; [.15A8.0020.0002.2C65] # LATIN SMALL LETTER A WITH STROKE
-023A  ; [.15A8.0020.0008.023A] # LATIN CAPITAL LETTER A WITH STROKE
-1D8F  ; [.15A9.0020.0002.1D8F] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
-1D01  ; [.15AA.0020.0002.1D01] # LATIN LETTER SMALL CAPITAL AE
-1D02  ; [.15AB.0020.0002.1D02] # LATIN SMALL LETTER TURNED AE
-1D46  ; [.15AB.0020.0014.1D46] # MODIFIER LETTER SMALL TURNED AE; QQK
-0250  ; [.15AC.0020.0002.0250] # LATIN SMALL LETTER TURNED A
-2C6F  ; [.15AC.0020.0008.2C6F] # LATIN CAPITAL LETTER TURNED A
-1D44  ; [.15AC.0020.0014.1D44] # MODIFIER LETTER SMALL TURNED A; QQK
-0251  ; [.15B0.0020.0002.0251] # LATIN SMALL LETTER ALPHA
-2C6D  ; [.15B0.0020.0008.2C6D] # LATIN CAPITAL LETTER ALPHA
-1D45  ; [.15B0.0020.0014.1D45] # MODIFIER LETTER SMALL ALPHA; QQK
-1D90  ; [.15B4.0020.0002.1D90] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
-0252  ; [.15B5.0020.0002.0252] # LATIN SMALL LETTER TURNED ALPHA
-2C70  ; [.15B5.0020.0008.2C70] # LATIN CAPITAL LETTER TURNED ALPHA
-1D9B  ; [.15B5.0020.0014.1D9B] # MODIFIER LETTER SMALL TURNED ALPHA; QQK
-0062  ; [.15B9.0020.0002.0062] # LATIN SMALL LETTER B
-FF42  ; [.15B9.0020.0003.FF42] # FULLWIDTH LATIN SMALL LETTER B; QQK
-249D  ; [*030E.0020.0004.249D][.15B9.0020.0004.249D][*030F.0020.001F.249D] # PARENTHESIZED LATIN SMALL LETTER B; QQKN
-1D41B ; [.15B9.0020.0005.1D41B] # MATHEMATICAL BOLD SMALL B; QQK
-1D44F ; [.15B9.0020.0005.1D44F] # MATHEMATICAL ITALIC SMALL B; QQK
-1D483 ; [.15B9.0020.0005.1D483] # MATHEMATICAL BOLD ITALIC SMALL B; QQK
-1D4B7 ; [.15B9.0020.0005.1D4B7] # MATHEMATICAL SCRIPT SMALL B; QQK
-1D4EB ; [.15B9.0020.0005.1D4EB] # MATHEMATICAL BOLD SCRIPT SMALL B; QQK
-1D51F ; [.15B9.0020.0005.1D51F] # MATHEMATICAL FRAKTUR SMALL B; QQK
-1D553 ; [.15B9.0020.0005.1D553] # MATHEMATICAL DOUBLE-STRUCK SMALL B; QQK
-1D587 ; [.15B9.0020.0005.1D587] # MATHEMATICAL BOLD FRAKTUR SMALL B; QQK
-1D5BB ; [.15B9.0020.0005.1D5BB] # MATHEMATICAL SANS-SERIF SMALL B; QQK
-1D5EF ; [.15B9.0020.0005.1D5EF] # MATHEMATICAL SANS-SERIF BOLD SMALL B; QQK
-1D623 ; [.15B9.0020.0005.1D623] # MATHEMATICAL SANS-SERIF ITALIC SMALL B; QQK
-1D657 ; [.15B9.0020.0005.1D657] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B; QQK
-1D68B ; [.15B9.0020.0005.1D68B] # MATHEMATICAL MONOSPACE SMALL B; QQK
-24D1  ; [.15B9.0020.0006.24D1] # CIRCLED LATIN SMALL LETTER B; QQK
-0042  ; [.15B9.0020.0008.0042] # LATIN CAPITAL LETTER B
-FF22  ; [.15B9.0020.0009.FF22] # FULLWIDTH LATIN CAPITAL LETTER B; QQK
-1F111 ; [*030E.0020.0004.1F111][.15B9.0020.000A.1F111][*030F.0020.001F.1F111] # PARENTHESIZED LATIN CAPITAL LETTER B; QQKN
-1F1E7 ; [.15B9.0020.000A.1F1E7] # REGIONAL INDICATOR SYMBOL LETTER B; QQK
-212C  ; [.15B9.0020.000B.212C] # SCRIPT CAPITAL B; QQK
-1D401 ; [.15B9.0020.000B.1D401] # MATHEMATICAL BOLD CAPITAL B; QQK
-1D435 ; [.15B9.0020.000B.1D435] # MATHEMATICAL ITALIC CAPITAL B; QQK
-1D469 ; [.15B9.0020.000B.1D469] # MATHEMATICAL BOLD ITALIC CAPITAL B; QQK
-1D4D1 ; [.15B9.0020.000B.1D4D1] # MATHEMATICAL BOLD SCRIPT CAPITAL B; QQK
-1D505 ; [.15B9.0020.000B.1D505] # MATHEMATICAL FRAKTUR CAPITAL B; QQK
-1D539 ; [.15B9.0020.000B.1D539] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B; QQK
-1D56D ; [.15B9.0020.000B.1D56D] # MATHEMATICAL BOLD FRAKTUR CAPITAL B; QQK
-1D5A1 ; [.15B9.0020.000B.1D5A1] # MATHEMATICAL SANS-SERIF CAPITAL B; QQK
-1D5D5 ; [.15B9.0020.000B.1D5D5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B; QQK
-1D609 ; [.15B9.0020.000B.1D609] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B; QQK
-1D63D ; [.15B9.0020.000B.1D63D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B; QQK
-1D671 ; [.15B9.0020.000B.1D671] # MATHEMATICAL MONOSPACE CAPITAL B; QQK
-24B7  ; [.15B9.0020.000C.24B7] # CIRCLED LATIN CAPITAL LETTER B; QQK
-1F151 ; [.15B9.0020.000C.1F151] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B; QQK
-1D47  ; [.15B9.0020.0014.1D47] # MODIFIER LETTER SMALL B; QQK
-1D2E  ; [.15B9.0020.001D.1D2E] # MODIFIER LETTER CAPITAL B; QQK
-1F131 ; [.15B9.0020.001D.1F131] # SQUARED LATIN CAPITAL LETTER B; QQK
-1F171 ; [.15B9.0020.001D.1F171] # NEGATIVE SQUARED LATIN CAPITAL LETTER B; QQK
-1E03  ; [.15B9.0020.0002.0062][.0000.0052.0002.0307] # LATIN SMALL LETTER B WITH DOT ABOVE; QQCM
-1E02  ; [.15B9.0020.0008.0042][.0000.0052.0002.0307] # LATIN CAPITAL LETTER B WITH DOT ABOVE; QQCM
-1E05  ; [.15B9.0020.0002.0062][.0000.0070.0002.0323] # LATIN SMALL LETTER B WITH DOT BELOW; QQCM
-1E04  ; [.15B9.0020.0008.0042][.0000.0070.0002.0323] # LATIN CAPITAL LETTER B WITH DOT BELOW; QQCM
-1E07  ; [.15B9.0020.0002.0062][.0000.007B.0002.0331] # LATIN SMALL LETTER B WITH LINE BELOW; QQCM
-1E06  ; [.15B9.0020.0008.0042][.0000.007B.0002.0331] # LATIN CAPITAL LETTER B WITH LINE BELOW; QQCM
-3374  ; [.15B9.0020.001C.3374][.15A3.0020.001C.3374][.1770.0020.001F.3374] # SQUARE BAR; QQKN
-33C3  ; [.15B9.0020.001D.33C3][.175E.0020.001C.33C3] # SQUARE BQ; QQKN
-0299  ; [.15BD.0020.0002.0299] # LATIN LETTER SMALL CAPITAL B
-0180  ; [.15C1.0020.0002.0180] # LATIN SMALL LETTER B WITH STROKE
-0243  ; [.15C1.0020.0008.0243] # LATIN CAPITAL LETTER B WITH STROKE
-1D2F  ; [.15C5.0020.0002.1D2F] # MODIFIER LETTER CAPITAL BARRED B
-1D03  ; [.15C6.0020.0002.1D03] # LATIN LETTER SMALL CAPITAL BARRED B
-1D6C  ; [.15C7.0020.0002.1D6C] # LATIN SMALL LETTER B WITH MIDDLE TILDE
-1D80  ; [.15C8.0020.0002.1D80] # LATIN SMALL LETTER B WITH PALATAL HOOK
-0253  ; [.15C9.0020.0002.0253] # LATIN SMALL LETTER B WITH HOOK
-0181  ; [.15C9.0020.0008.0181] # LATIN CAPITAL LETTER B WITH HOOK
-0183  ; [.15CD.0020.0002.0183] # LATIN SMALL LETTER B WITH TOPBAR
-0182  ; [.15CD.0020.0008.0182] # LATIN CAPITAL LETTER B WITH TOPBAR
-0063  ; [.15D1.0020.0002.0063] # LATIN SMALL LETTER C
-FF43  ; [.15D1.0020.0003.FF43] # FULLWIDTH LATIN SMALL LETTER C; QQK
-0368  ; [.15D1.0020.0004.0368] # COMBINING LATIN SMALL LETTER C; QQK
-217D  ; [.15D1.0020.0004.217D] # SMALL ROMAN NUMERAL ONE HUNDRED; QQK
-249E  ; [*030E.0020.0004.249E][.15D1.0020.0004.249E][*030F.0020.001F.249E] # PARENTHESIZED LATIN SMALL LETTER C; QQKN
-1D41C ; [.15D1.0020.0005.1D41C] # MATHEMATICAL BOLD SMALL C; QQK
-1D450 ; [.15D1.0020.0005.1D450] # MATHEMATICAL ITALIC SMALL C; QQK
-1D484 ; [.15D1.0020.0005.1D484] # MATHEMATICAL BOLD ITALIC SMALL C; QQK
-1D4B8 ; [.15D1.0020.0005.1D4B8] # MATHEMATICAL SCRIPT SMALL C; QQK
-1D4EC ; [.15D1.0020.0005.1D4EC] # MATHEMATICAL BOLD SCRIPT SMALL C; QQK
-1D520 ; [.15D1.0020.0005.1D520] # MATHEMATICAL FRAKTUR SMALL C; QQK
-1D554 ; [.15D1.0020.0005.1D554] # MATHEMATICAL DOUBLE-STRUCK SMALL C; QQK
-1D588 ; [.15D1.0020.0005.1D588] # MATHEMATICAL BOLD FRAKTUR SMALL C; QQK
-1D5BC ; [.15D1.0020.0005.1D5BC] # MATHEMATICAL SANS-SERIF SMALL C; QQK
-1D5F0 ; [.15D1.0020.0005.1D5F0] # MATHEMATICAL SANS-SERIF BOLD SMALL C; QQK
-1D624 ; [.15D1.0020.0005.1D624] # MATHEMATICAL SANS-SERIF ITALIC SMALL C; QQK
-1D658 ; [.15D1.0020.0005.1D658] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C; QQK
-1D68C ; [.15D1.0020.0005.1D68C] # MATHEMATICAL MONOSPACE SMALL C; QQK
-24D2  ; [.15D1.0020.0006.24D2] # CIRCLED LATIN SMALL LETTER C; QQK
-0043  ; [.15D1.0020.0008.0043] # LATIN CAPITAL LETTER C
-FF23  ; [.15D1.0020.0009.FF23] # FULLWIDTH LATIN CAPITAL LETTER C; QQK
-2103  ; [*0466.0020.0004.2103][.15D1.0020.000A.2103] # DEGREE CELSIUS; QQKN
-216D  ; [.15D1.0020.000A.216D] # ROMAN NUMERAL ONE HUNDRED; QQK
-1F112 ; [*030E.0020.0004.1F112][.15D1.0020.000A.1F112][*030F.0020.001F.1F112] # PARENTHESIZED LATIN CAPITAL LETTER C; QQKN
-1F1E8 ; [.15D1.0020.000A.1F1E8] # REGIONAL INDICATOR SYMBOL LETTER C; QQK
-2102  ; [.15D1.0020.000B.2102] # DOUBLE-STRUCK CAPITAL C; QQK
-212D  ; [.15D1.0020.000B.212D] # BLACK-LETTER CAPITAL C; QQK
-1D402 ; [.15D1.0020.000B.1D402] # MATHEMATICAL BOLD CAPITAL C; QQK
-1D436 ; [.15D1.0020.000B.1D436] # MATHEMATICAL ITALIC CAPITAL C; QQK
-1D46A ; [.15D1.0020.000B.1D46A] # MATHEMATICAL BOLD ITALIC CAPITAL C; QQK
-1D49E ; [.15D1.0020.000B.1D49E] # MATHEMATICAL SCRIPT CAPITAL C; QQK
-1D4D2 ; [.15D1.0020.000B.1D4D2] # MATHEMATICAL BOLD SCRIPT CAPITAL C; QQK
-1D56E ; [.15D1.0020.000B.1D56E] # MATHEMATICAL BOLD FRAKTUR CAPITAL C; QQK
-1D5A2 ; [.15D1.0020.000B.1D5A2] # MATHEMATICAL SANS-SERIF CAPITAL C; QQK
-1D5D6 ; [.15D1.0020.000B.1D5D6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C; QQK
-1D60A ; [.15D1.0020.000B.1D60A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C; QQK
-1D63E ; [.15D1.0020.000B.1D63E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C; QQK
-1D672 ; [.15D1.0020.000B.1D672] # MATHEMATICAL MONOSPACE CAPITAL C; QQK
-24B8  ; [.15D1.0020.000C.24B8] # CIRCLED LATIN CAPITAL LETTER C; QQK
-1F12B ; [.15D1.0020.000C.1F12B] # CIRCLED ITALIC LATIN CAPITAL LETTER C; QQK
-1F152 ; [.15D1.0020.000C.1F152] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C; QQK
-1D9C  ; [.15D1.0020.0014.1D9C] # MODIFIER LETTER SMALL C; QQK
-1F132 ; [.15D1.0020.001D.1F132] # SQUARED LATIN CAPITAL LETTER C; QQK
-1F172 ; [.15D1.0020.001D.1F172] # NEGATIVE SQUARED LATIN CAPITAL LETTER C; QQK
-0107  ; [.15D1.0020.0002.0063][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH ACUTE; QQCM
-0106  ; [.15D1.0020.0008.0043][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH ACUTE; QQCM
-0109  ; [.15D1.0020.0002.0063][.0000.003C.0002.0302] # LATIN SMALL LETTER C WITH CIRCUMFLEX; QQCM
-0108  ; [.15D1.0020.0008.0043][.0000.003C.0002.0302] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX; QQCM
-010D  ; [.15D1.0020.0002.0063][.0000.0041.0002.030C] # LATIN SMALL LETTER C WITH CARON; QQCM
-010C  ; [.15D1.0020.0008.0043][.0000.0041.0002.030C] # LATIN CAPITAL LETTER C WITH CARON; QQCM
-010B  ; [.15D1.0020.0002.0063][.0000.0052.0002.0307] # LATIN SMALL LETTER C WITH DOT ABOVE; QQCM
-010A  ; [.15D1.0020.0008.0043][.0000.0052.0002.0307] # LATIN CAPITAL LETTER C WITH DOT ABOVE; QQCM
-00E7  ; [.15D1.0020.0002.0063][.0000.0056.0002.0327] # LATIN SMALL LETTER C WITH CEDILLA; QQCM
-1DD7  ; [.15D1.0020.0004.1DD7][.0000.0056.0004.1DD7] # COMBINING LATIN SMALL LETTER C CEDILLA; QQKN
-00C7  ; [.15D1.0020.0008.0043][.0000.0056.0002.0327] # LATIN CAPITAL LETTER C WITH CEDILLA; QQCM
-1E09  ; [.15D1.0020.0002.0063][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE; QQCM
-1E08  ; [.15D1.0020.0008.0043][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE; QQCM
-3388  ; [.15D1.0020.001C.3388][.15A3.0020.001C.3388][.16C4.0020.001F.3388] # SQUARE CAL; QQKN
-33C4  ; [.15D1.0020.001C.33C4][.15D1.0020.001C.33C4] # SQUARE CC; QQKN
-1F12D ; [.15D1.0020.000C.1F12D][.15E4.0020.000C.1F12D] # CIRCLED CD; QQKN
-33C5  ; [.15D1.0020.001C.33C5][.15E4.0020.001C.33C5] # SQUARE CD; QQKN
-33C6  ; [.15D1.0020.001D.33C6][*0579.0020.001C.33C6][.16B2.0020.001F.33C6][.1644.0020.001F.33C6] # SQUARE C OVER KG; QQKN
-1F191 ; [.15D1.0020.001D.1F191][.16C4.0020.001D.1F191] # SQUARED CL; QQKN
-339D  ; [.15D1.0020.001C.339D][.16F4.0020.001C.339D] # SQUARE CM; QQKN
-33A0  ; [.15D1.0020.001C.33A0][.16F4.0020.001C.33A0][.159B.0020.001F.33A0] # SQUARE CM SQUARED; QQKN
-33A4  ; [.15D1.0020.001C.33A4][.16F4.0020.001C.33A4][.159C.0020.001F.33A4] # SQUARE CM CUBED; QQKN
-2105  ; [.15D1.0020.0004.2105][*036B.0020.0004.2105][.1724.0020.001F.2105] # CARE OF; QQKN
-33C7  ; [.15D1.0020.001D.33C7][.1724.0020.001C.33C7][*028E.0020.001F.33C7] # SQUARE CO; QQKN
-1F192 ; [.15D1.0020.001D.1F192][.1724.0020.001D.1F192][.1724.0020.001F.1F192][.16C4.0020.001F.1F192] # SQUARED COOL; QQKN
-2106  ; [.15D1.0020.0004.2106][*036B.0020.0004.2106][.17E9.0020.001F.2106] # CADA UNA; QQKN
-1D04  ; [.15D5.0020.0002.1D04] # LATIN LETTER SMALL CAPITAL C
-023C  ; [.15D6.0020.0002.023C] # LATIN SMALL LETTER C WITH STROKE
-023B  ; [.15D6.0020.0008.023B] # LATIN CAPITAL LETTER C WITH STROKE
-0188  ; [.15DA.0020.0002.0188] # LATIN SMALL LETTER C WITH HOOK
-0187  ; [.15DA.0020.0008.0187] # LATIN CAPITAL LETTER C WITH HOOK
-0255  ; [.15DE.0020.0002.0255] # LATIN SMALL LETTER C WITH CURL
-1D9D  ; [.15DE.0020.0014.1D9D] # MODIFIER LETTER SMALL C WITH CURL; QQK
-2184  ; [.15E2.0020.0002.2184] # LATIN SMALL LETTER REVERSED C
-2183  ; [.15E2.0020.0008.2183] # ROMAN NUMERAL REVERSED ONE HUNDRED
-A73F  ; [.15E3.0020.0002.A73F] # LATIN SMALL LETTER REVERSED C WITH DOT
-A73E  ; [.15E3.0020.0008.A73E] # LATIN CAPITAL LETTER REVERSED C WITH DOT
-0064  ; [.15E4.0020.0002.0064] # LATIN SMALL LETTER D
-FF44  ; [.15E4.0020.0003.FF44] # FULLWIDTH LATIN SMALL LETTER D; QQK
-0369  ; [.15E4.0020.0004.0369] # COMBINING LATIN SMALL LETTER D; QQK
-217E  ; [.15E4.0020.0004.217E] # SMALL ROMAN NUMERAL FIVE HUNDRED; QQK
-249F  ; [*030E.0020.0004.249F][.15E4.0020.0004.249F][*030F.0020.001F.249F] # PARENTHESIZED LATIN SMALL LETTER D; QQKN
-2146  ; [.15E4.0020.0005.2146] # DOUBLE-STRUCK ITALIC SMALL D; QQK
-1D41D ; [.15E4.0020.0005.1D41D] # MATHEMATICAL BOLD SMALL D; QQK
-1D451 ; [.15E4.0020.0005.1D451] # MATHEMATICAL ITALIC SMALL D; QQK
-1D485 ; [.15E4.0020.0005.1D485] # MATHEMATICAL BOLD ITALIC SMALL D; QQK
-1D4B9 ; [.15E4.0020.0005.1D4B9] # MATHEMATICAL SCRIPT SMALL D; QQK
-1D4ED ; [.15E4.0020.0005.1D4ED] # MATHEMATICAL BOLD SCRIPT SMALL D; QQK
-1D521 ; [.15E4.0020.0005.1D521] # MATHEMATICAL FRAKTUR SMALL D; QQK
-1D555 ; [.15E4.0020.0005.1D555] # MATHEMATICAL DOUBLE-STRUCK SMALL D; QQK
-1D589 ; [.15E4.0020.0005.1D589] # MATHEMATICAL BOLD FRAKTUR SMALL D; QQK
-1D5BD ; [.15E4.0020.0005.1D5BD] # MATHEMATICAL SANS-SERIF SMALL D; QQK
-1D5F1 ; [.15E4.0020.0005.1D5F1] # MATHEMATICAL SANS-SERIF BOLD SMALL D; QQK
-1D625 ; [.15E4.0020.0005.1D625] # MATHEMATICAL SANS-SERIF ITALIC SMALL D; QQK
-1D659 ; [.15E4.0020.0005.1D659] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D; QQK
-1D68D ; [.15E4.0020.0005.1D68D] # MATHEMATICAL MONOSPACE SMALL D; QQK
-24D3  ; [.15E4.0020.0006.24D3] # CIRCLED LATIN SMALL LETTER D; QQK
-0044  ; [.15E4.0020.0008.0044] # LATIN CAPITAL LETTER D
-FF24  ; [.15E4.0020.0009.FF24] # FULLWIDTH LATIN CAPITAL LETTER D; QQK
-216E  ; [.15E4.0020.000A.216E] # ROMAN NUMERAL FIVE HUNDRED; QQK
-1F113 ; [*030E.0020.0004.1F113][.15E4.0020.000A.1F113][*030F.0020.001F.1F113] # PARENTHESIZED LATIN CAPITAL LETTER D; QQKN
-1F1E9 ; [.15E4.0020.000A.1F1E9] # REGIONAL INDICATOR SYMBOL LETTER D; QQK
-2145  ; [.15E4.0020.000B.2145] # DOUBLE-STRUCK ITALIC CAPITAL D; QQK
-1D403 ; [.15E4.0020.000B.1D403] # MATHEMATICAL BOLD CAPITAL D; QQK
-1D437 ; [.15E4.0020.000B.1D437] # MATHEMATICAL ITALIC CAPITAL D; QQK
-1D46B ; [.15E4.0020.000B.1D46B] # MATHEMATICAL BOLD ITALIC CAPITAL D; QQK
-1D49F ; [.15E4.0020.000B.1D49F] # MATHEMATICAL SCRIPT CAPITAL D; QQK
-1D4D3 ; [.15E4.0020.000B.1D4D3] # MATHEMATICAL BOLD SCRIPT CAPITAL D; QQK
-1D507 ; [.15E4.0020.000B.1D507] # MATHEMATICAL FRAKTUR CAPITAL D; QQK
-1D53B ; [.15E4.0020.000B.1D53B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D; QQK
-1D56F ; [.15E4.0020.000B.1D56F] # MATHEMATICAL BOLD FRAKTUR CAPITAL D; QQK
-1D5A3 ; [.15E4.0020.000B.1D5A3] # MATHEMATICAL SANS-SERIF CAPITAL D; QQK
-1D5D7 ; [.15E4.0020.000B.1D5D7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D; QQK
-1D60B ; [.15E4.0020.000B.1D60B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D; QQK
-1D63F ; [.15E4.0020.000B.1D63F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D; QQK
-1D673 ; [.15E4.0020.000B.1D673] # MATHEMATICAL MONOSPACE CAPITAL D; QQK
-24B9  ; [.15E4.0020.000C.24B9] # CIRCLED LATIN CAPITAL LETTER D; QQK
-1F153 ; [.15E4.0020.000C.1F153] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D; QQK
-1D48  ; [.15E4.0020.0014.1D48] # MODIFIER LETTER SMALL D; QQK
-1D30  ; [.15E4.0020.001D.1D30] # MODIFIER LETTER CAPITAL D; QQK
-1F133 ; [.15E4.0020.001D.1F133] # SQUARED LATIN CAPITAL LETTER D; QQK
-1F173 ; [.15E4.0020.001D.1F173] # NEGATIVE SQUARED LATIN CAPITAL LETTER D; QQK
-010F  ; [.15E4.0020.0002.0064][.0000.0041.0002.030C] # LATIN SMALL LETTER D WITH CARON; QQCM
-010E  ; [.15E4.0020.0008.0044][.0000.0041.0002.030C] # LATIN CAPITAL LETTER D WITH CARON; QQCM
-1E0B  ; [.15E4.0020.0002.0064][.0000.0052.0002.0307] # LATIN SMALL LETTER D WITH DOT ABOVE; QQCM
-1E0A  ; [.15E4.0020.0008.0044][.0000.0052.0002.0307] # LATIN CAPITAL LETTER D WITH DOT ABOVE; QQCM
-1E11  ; [.15E4.0020.0002.0064][.0000.0056.0002.0327] # LATIN SMALL LETTER D WITH CEDILLA; QQCM
-1E10  ; [.15E4.0020.0008.0044][.0000.0056.0002.0327] # LATIN CAPITAL LETTER D WITH CEDILLA; QQCM
-1E0D  ; [.15E4.0020.0002.0064][.0000.0070.0002.0323] # LATIN SMALL LETTER D WITH DOT BELOW; QQCM
-1E0C  ; [.15E4.0020.0008.0044][.0000.0070.0002.0323] # LATIN CAPITAL LETTER D WITH DOT BELOW; QQCM
-1E13  ; [.15E4.0020.0002.0064][.0000.0078.0002.032D] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW; QQCM
-1E12  ; [.15E4.0020.0008.0044][.0000.0078.0002.032D] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW; QQCM
-1E0F  ; [.15E4.0020.0002.0064][.0000.007B.0002.0331] # LATIN SMALL LETTER D WITH LINE BELOW; QQCM
-1E0E  ; [.15E4.0020.0008.0044][.0000.007B.0002.0331] # LATIN CAPITAL LETTER D WITH LINE BELOW; QQCM
-0111  ; [.15E4.0020.0002.0064][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE; QQCM
-0110  ; [.15E4.0020.0008.0044][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE; QQCM
-00F0  ; [.15E4.0020.0004.00F0][.0000.015F.0004.00F0] # LATIN SMALL LETTER ETH; QQKN
-1DD9  ; [.15E4.0020.0004.1DD9][.0000.015F.0004.1DD9] # COMBINING LATIN SMALL LETTER ETH; QQKN
-00D0  ; [.15E4.0020.000A.00D0][.0000.015F.0004.00D0] # LATIN CAPITAL LETTER ETH; QQKN
-1D9E  ; [.15E4.0020.0014.1D9E][.0000.015F.0014.1D9E] # MODIFIER LETTER SMALL ETH; QQKN
-1DD8  ; [.15E4.0020.0004.1DD8][.0000.0160.0004.1DD8] # COMBINING LATIN SMALL LETTER INSULAR D; QQKN
-A77A  ; [.15E4.0020.0004.A77A][.0000.0160.0004.A77A] # LATIN SMALL LETTER INSULAR D; QQKN
-A779  ; [.15E4.0020.000A.A779][.0000.0160.0004.A779] # LATIN CAPITAL LETTER INSULAR D; QQKN
-3372  ; [.15E4.0020.001C.3372][.15A3.0020.001C.3372] # SQUARE DA; QQKN
-0238  ; [.15E4.0020.0004.0238][.15B9.0020.0004.0238] # LATIN SMALL LETTER DB DIGRAPH; QQKN
-33C8  ; [.15E4.0020.001C.33C8][.15B9.0020.001D.33C8] # SQUARE DB; QQKN
-1F190 ; [.15E4.0020.001D.1F190][.1699.0020.001D.1F190] # SQUARE DJ; QQKN
-3397  ; [.15E4.0020.001C.3397][.16C4.0020.001C.3397] # SQUARE DL; QQKN
-3377  ; [.15E4.0020.001C.3377][.16F4.0020.001C.3377] # SQUARE DM; QQKN
-3378  ; [.15E4.0020.001C.3378][.16F4.0020.001C.3378][.159B.0020.001F.3378] # SQUARE DM SQUARED; QQKN
-3379  ; [.15E4.0020.001C.3379][.16F4.0020.001C.3379][.159C.0020.001F.3379] # SQUARE DM CUBED; QQKN
-01F3  ; [.15E4.0020.0004.01F3][.1844.0020.0004.01F3] # LATIN SMALL LETTER DZ; QQKN
-02A3  ; [.15E4.0020.0004.02A3][.1844.0020.0004.02A3] # LATIN SMALL LETTER DZ DIGRAPH; QQKN
-01F2  ; [.15E4.0020.000A.01F2][.1844.0020.0004.01F2] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z; QQKN
-01F1  ; [.15E4.0020.000A.01F1][.1844.0020.000A.01F1] # LATIN CAPITAL LETTER DZ; QQKN
-01C6  ; [.15E4.0020.0004.01C6][.1844.0020.0004.01C6][.0000.0041.001F.01C6] # LATIN SMALL LETTER DZ WITH CARON; QQKN
-01C5  ; [.15E4.0020.000A.01C5][.1844.0020.0004.01C5][.0000.0041.001F.01C5] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON; QQKN
-01C4  ; [.15E4.0020.000A.01C4][.1844.0020.000A.01C4][.0000.0041.001F.01C4] # LATIN CAPITAL LETTER DZ WITH CARON; QQKN
-02A5  ; [.15E4.0020.0004.02A5][.1857.0020.0004.02A5] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL; QQKN
-02A4  ; [.15E4.0020.0004.02A4][.1861.0020.0004.02A4] # LATIN SMALL LETTER DEZH DIGRAPH; QQKN
-1D05  ; [.15E8.0020.0002.1D05] # LATIN LETTER SMALL CAPITAL D
-1D06  ; [.15E9.0020.0002.1D06] # LATIN LETTER SMALL CAPITAL ETH
-1D6D  ; [.15EA.0020.0002.1D6D] # LATIN SMALL LETTER D WITH MIDDLE TILDE
-1D81  ; [.15EB.0020.0002.1D81] # LATIN SMALL LETTER D WITH PALATAL HOOK
-0256  ; [.15EC.0020.0002.0256] # LATIN SMALL LETTER D WITH TAIL
-0189  ; [.15EC.0020.0008.0189] # LATIN CAPITAL LETTER AFRICAN D
-0257  ; [.15F0.0020.0002.0257] # LATIN SMALL LETTER D WITH HOOK
-018A  ; [.15F0.0020.0008.018A] # LATIN CAPITAL LETTER D WITH HOOK
-1D91  ; [.15F4.0020.0002.1D91] # LATIN SMALL LETTER D WITH HOOK AND TAIL
-018C  ; [.15F5.0020.0002.018C] # LATIN SMALL LETTER D WITH TOPBAR
-018B  ; [.15F5.0020.0008.018B] # LATIN CAPITAL LETTER D WITH TOPBAR
-0221  ; [.15F9.0020.0002.0221] # LATIN SMALL LETTER D WITH CURL
-A771  ; [.15FD.0020.0002.A771] # LATIN SMALL LETTER DUM
-1E9F  ; [.15FE.0020.0002.1E9F] # LATIN SMALL LETTER DELTA
-0065  ; [.15FF.0020.0002.0065] # LATIN SMALL LETTER E
-FF45  ; [.15FF.0020.0003.FF45] # FULLWIDTH LATIN SMALL LETTER E; QQK
-0364  ; [.15FF.0020.0004.0364] # COMBINING LATIN SMALL LETTER E; QQK
-24A0  ; [*030E.0020.0004.24A0][.15FF.0020.0004.24A0][*030F.0020.001F.24A0] # PARENTHESIZED LATIN SMALL LETTER E; QQKN
-212F  ; [.15FF.0020.0005.212F] # SCRIPT SMALL E; QQK
-2147  ; [.15FF.0020.0005.2147] # DOUBLE-STRUCK ITALIC SMALL E; QQK
-1D41E ; [.15FF.0020.0005.1D41E] # MATHEMATICAL BOLD SMALL E; QQK
-1D452 ; [.15FF.0020.0005.1D452] # MATHEMATICAL ITALIC SMALL E; QQK
-1D486 ; [.15FF.0020.0005.1D486] # MATHEMATICAL BOLD ITALIC SMALL E; QQK
-1D4EE ; [.15FF.0020.0005.1D4EE] # MATHEMATICAL BOLD SCRIPT SMALL E; QQK
-1D522 ; [.15FF.0020.0005.1D522] # MATHEMATICAL FRAKTUR SMALL E; QQK
-1D556 ; [.15FF.0020.0005.1D556] # MATHEMATICAL DOUBLE-STRUCK SMALL E; QQK
-1D58A ; [.15FF.0020.0005.1D58A] # MATHEMATICAL BOLD FRAKTUR SMALL E; QQK
-1D5BE ; [.15FF.0020.0005.1D5BE] # MATHEMATICAL SANS-SERIF SMALL E; QQK
-1D5F2 ; [.15FF.0020.0005.1D5F2] # MATHEMATICAL SANS-SERIF BOLD SMALL E; QQK
-1D626 ; [.15FF.0020.0005.1D626] # MATHEMATICAL SANS-SERIF ITALIC SMALL E; QQK
-1D65A ; [.15FF.0020.0005.1D65A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E; QQK
-1D68E ; [.15FF.0020.0005.1D68E] # MATHEMATICAL MONOSPACE SMALL E; QQK
-24D4  ; [.15FF.0020.0006.24D4] # CIRCLED LATIN SMALL LETTER E; QQK
-0045  ; [.15FF.0020.0008.0045] # LATIN CAPITAL LETTER E
-FF25  ; [.15FF.0020.0009.FF25] # FULLWIDTH LATIN CAPITAL LETTER E; QQK
-1F114 ; [*030E.0020.0004.1F114][.15FF.0020.000A.1F114][*030F.0020.001F.1F114] # PARENTHESIZED LATIN CAPITAL LETTER E; QQKN
-1F1EA ; [.15FF.0020.000A.1F1EA] # REGIONAL INDICATOR SYMBOL LETTER E; QQK
-2130  ; [.15FF.0020.000B.2130] # SCRIPT CAPITAL E; QQK
-1D404 ; [.15FF.0020.000B.1D404] # MATHEMATICAL BOLD CAPITAL E; QQK
-1D438 ; [.15FF.0020.000B.1D438] # MATHEMATICAL ITALIC CAPITAL E; QQK
-1D46C ; [.15FF.0020.000B.1D46C] # MATHEMATICAL BOLD ITALIC CAPITAL E; QQK
-1D4D4 ; [.15FF.0020.000B.1D4D4] # MATHEMATICAL BOLD SCRIPT CAPITAL E; QQK
-1D508 ; [.15FF.0020.000B.1D508] # MATHEMATICAL FRAKTUR CAPITAL E; QQK
-1D53C ; [.15FF.0020.000B.1D53C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E; QQK
-1D570 ; [.15FF.0020.000B.1D570] # MATHEMATICAL BOLD FRAKTUR CAPITAL E; QQK
-1D5A4 ; [.15FF.0020.000B.1D5A4] # MATHEMATICAL SANS-SERIF CAPITAL E; QQK
-1D5D8 ; [.15FF.0020.000B.1D5D8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E; QQK
-1D60C ; [.15FF.0020.000B.1D60C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E; QQK
-1D640 ; [.15FF.0020.000B.1D640] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E; QQK
-1D674 ; [.15FF.0020.000B.1D674] # MATHEMATICAL MONOSPACE CAPITAL E; QQK
-24BA  ; [.15FF.0020.000C.24BA] # CIRCLED LATIN CAPITAL LETTER E; QQK
-1F154 ; [.15FF.0020.000C.1F154] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E; QQK
-1D49  ; [.15FF.0020.0014.1D49] # MODIFIER LETTER SMALL E; QQK
-2091  ; [.15FF.0020.0015.2091] # LATIN SUBSCRIPT SMALL LETTER E; QQK
-1D31  ; [.15FF.0020.001D.1D31] # MODIFIER LETTER CAPITAL E; QQK
-1F134 ; [.15FF.0020.001D.1F134] # SQUARED LATIN CAPITAL LETTER E; QQK
-1F174 ; [.15FF.0020.001D.1F174] # NEGATIVE SQUARED LATIN CAPITAL LETTER E; QQK
-00E9  ; [.15FF.0020.0002.0065][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH ACUTE; QQCM
-00C9  ; [.15FF.0020.0008.0045][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE; QQCM
-00E8  ; [.15FF.0020.0002.0065][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH GRAVE; QQCM
-00C8  ; [.15FF.0020.0008.0045][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH GRAVE; QQCM
-0115  ; [.15FF.0020.0002.0065][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH BREVE; QQCM
-0114  ; [.15FF.0020.0008.0045][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE; QQCM
-00EA  ; [.15FF.0020.0002.0065][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX; QQCM
-00CA  ; [.15FF.0020.0008.0045][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX; QQCM
-1EBF  ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE; QQCM
-1EBE  ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE; QQCM
-1EC1  ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE; QQCM
-1EC0  ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE; QQCM
-1EC5  ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE; QQCM
-1EC4  ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE; QQCM
-1EC3  ; [.15FF.0020.0002.0065][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1EC2  ; [.15FF.0020.0008.0045][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-011B  ; [.15FF.0020.0002.0065][.0000.0041.0002.030C] # LATIN SMALL LETTER E WITH CARON; QQCM
-011A  ; [.15FF.0020.0008.0045][.0000.0041.0002.030C] # LATIN CAPITAL LETTER E WITH CARON; QQCM
-00EB  ; [.15FF.0020.0002.0065][.0000.0047.0002.0308] # LATIN SMALL LETTER E WITH DIAERESIS; QQCM
-00CB  ; [.15FF.0020.0008.0045][.0000.0047.0002.0308] # LATIN CAPITAL LETTER E WITH DIAERESIS; QQCM
-1EBD  ; [.15FF.0020.0002.0065][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH TILDE; QQCM
-1EBC  ; [.15FF.0020.0008.0045][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE; QQCM
-0117  ; [.15FF.0020.0002.0065][.0000.0052.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE; QQCM
-0116  ; [.15FF.0020.0008.0045][.0000.0052.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE; QQCM
-0229  ; [.15FF.0020.0002.0065][.0000.0056.0002.0327] # LATIN SMALL LETTER E WITH CEDILLA; QQCM
-0228  ; [.15FF.0020.0008.0045][.0000.0056.0002.0327] # LATIN CAPITAL LETTER E WITH CEDILLA; QQCM
-1E1D  ; [.15FF.0020.0002.0065][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE; QQCM
-1E1C  ; [.15FF.0020.0008.0045][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE; QQCM
-0119  ; [.15FF.0020.0002.0065][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK; QQCM
-0118  ; [.15FF.0020.0008.0045][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK; QQCM
-0113  ; [.15FF.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON; QQCM
-0112  ; [.15FF.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON; QQCM
-1E17  ; [.15FF.0020.0002.0065][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH MACRON AND ACUTE; QQCM
-1E16  ; [.15FF.0020.0008.0045][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE; QQCM
-1E15  ; [.15FF.0020.0002.0065][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH MACRON AND GRAVE; QQCM
-1E14  ; [.15FF.0020.0008.0045][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE; QQCM
-1EBB  ; [.15FF.0020.0002.0065][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE; QQCM
-1EBA  ; [.15FF.0020.0008.0045][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE; QQCM
-0205  ; [.15FF.0020.0002.0065][.0000.0065.0002.030F] # LATIN SMALL LETTER E WITH DOUBLE GRAVE; QQCM
-0204  ; [.15FF.0020.0008.0045][.0000.0065.0002.030F] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE; QQCM
-0207  ; [.15FF.0020.0002.0065][.0000.0067.0002.0311] # LATIN SMALL LETTER E WITH INVERTED BREVE; QQCM
-0206  ; [.15FF.0020.0008.0045][.0000.0067.0002.0311] # LATIN CAPITAL LETTER E WITH INVERTED BREVE; QQCM
-1EB9  ; [.15FF.0020.0002.0065][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW; QQCM
-1EB8  ; [.15FF.0020.0008.0045][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW; QQCM
-1EC7  ; [.15FF.0020.0002.0065][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1EC6  ; [.15FF.0020.0008.0045][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1E19  ; [.15FF.0020.0002.0065][.0000.0078.0002.032D] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW; QQCM
-1E18  ; [.15FF.0020.0008.0045][.0000.0078.0002.032D] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW; QQCM
-1E1B  ; [.15FF.0020.0002.0065][.0000.007A.0002.0330] # LATIN SMALL LETTER E WITH TILDE BELOW; QQCM
-1E1A  ; [.15FF.0020.0008.0045][.0000.007A.0002.0330] # LATIN CAPITAL LETTER E WITH TILDE BELOW; QQCM
-32CD  ; [.15FF.0020.001C.32CD][.1770.0020.001C.32CD][.1644.0020.001F.32CD] # SQUARE ERG; QQKN
-32CE  ; [.15FF.0020.001C.32CE][.1812.0020.001D.32CE] # SQUARE EV; QQKN
-1D07  ; [.1603.0020.0002.1D07] # LATIN LETTER SMALL CAPITAL E
-0247  ; [.1604.0020.0002.0247] # LATIN SMALL LETTER E WITH STROKE
-0246  ; [.1604.0020.0008.0246] # LATIN CAPITAL LETTER E WITH STROKE
-1D92  ; [.1608.0020.0002.1D92] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
-2C78  ; [.1609.0020.0002.2C78] # LATIN SMALL LETTER E WITH NOTCH
-01DD  ; [.160A.0020.0002.01DD] # LATIN SMALL LETTER TURNED E
-018E  ; [.160A.0020.0008.018E] # LATIN CAPITAL LETTER REVERSED E
-1D32  ; [.160A.0020.001D.1D32] # MODIFIER LETTER CAPITAL REVERSED E; QQK
-2C7B  ; [.160E.0020.0002.2C7B] # LATIN LETTER SMALL CAPITAL TURNED E
-0259  ; [.160F.0020.0002.0259] # LATIN SMALL LETTER SCHWA
-018F  ; [.160F.0020.0008.018F] # LATIN CAPITAL LETTER SCHWA
-1D4A  ; [.160F.0020.0014.1D4A] # MODIFIER LETTER SMALL SCHWA; QQK
-2094  ; [.160F.0020.0015.2094] # LATIN SUBSCRIPT SMALL LETTER SCHWA; QQK
-1D95  ; [.1613.0020.0002.1D95] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
-025B  ; [.1614.0020.0002.025B] # LATIN SMALL LETTER OPEN E
-0190  ; [.1614.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
-2107  ; [.1614.0020.000A.2107] # EULER CONSTANT; QQK
-1D4B  ; [.1614.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E; QQK
-1D93  ; [.1618.0020.0002.1D93] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
-0258  ; [.1619.0020.0002.0258] # LATIN SMALL LETTER REVERSED E
-025A  ; [.161D.0020.0002.025A] # LATIN SMALL LETTER SCHWA WITH HOOK
-025C  ; [.1621.0020.0002.025C] # LATIN SMALL LETTER REVERSED OPEN E
-1D9F  ; [.1621.0020.0014.1D9F] # MODIFIER LETTER SMALL REVERSED OPEN E; QQK
-1D94  ; [.1625.0020.0002.1D94] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
-1D08  ; [.1626.0020.0002.1D08] # LATIN SMALL LETTER TURNED OPEN E
-1D4C  ; [.1626.0020.0014.1D4C] # MODIFIER LETTER SMALL TURNED OPEN E; QQK
-025D  ; [.1627.0020.0002.025D] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
-025E  ; [.162B.0020.0002.025E] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
-029A  ; [.162F.0020.0002.029A] # LATIN SMALL LETTER CLOSED OPEN E
-0264  ; [.1633.0020.0002.0264] # LATIN SMALL LETTER RAMS HORN
-0066  ; [.1637.0020.0002.0066] # LATIN SMALL LETTER F
-FF46  ; [.1637.0020.0003.FF46] # FULLWIDTH LATIN SMALL LETTER F; QQK
-24A1  ; [*030E.0020.0004.24A1][.1637.0020.0004.24A1][*030F.0020.001F.24A1] # PARENTHESIZED LATIN SMALL LETTER F; QQKN
-1D41F ; [.1637.0020.0005.1D41F] # MATHEMATICAL BOLD SMALL F; QQK
-1D453 ; [.1637.0020.0005.1D453] # MATHEMATICAL ITALIC SMALL F; QQK
-1D487 ; [.1637.0020.0005.1D487] # MATHEMATICAL BOLD ITALIC SMALL F; QQK
-1D4BB ; [.1637.0020.0005.1D4BB] # MATHEMATICAL SCRIPT SMALL F; QQK
-1D4EF ; [.1637.0020.0005.1D4EF] # MATHEMATICAL BOLD SCRIPT SMALL F; QQK
-1D523 ; [.1637.0020.0005.1D523] # MATHEMATICAL FRAKTUR SMALL F; QQK
-1D557 ; [.1637.0020.0005.1D557] # MATHEMATICAL DOUBLE-STRUCK SMALL F; QQK
-1D58B ; [.1637.0020.0005.1D58B] # MATHEMATICAL BOLD FRAKTUR SMALL F; QQK
-1D5BF ; [.1637.0020.0005.1D5BF] # MATHEMATICAL SANS-SERIF SMALL F; QQK
-1D5F3 ; [.1637.0020.0005.1D5F3] # MATHEMATICAL SANS-SERIF BOLD SMALL F; QQK
-1D627 ; [.1637.0020.0005.1D627] # MATHEMATICAL SANS-SERIF ITALIC SMALL F; QQK
-1D65B ; [.1637.0020.0005.1D65B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F; QQK
-1D68F ; [.1637.0020.0005.1D68F] # MATHEMATICAL MONOSPACE SMALL F; QQK
-24D5  ; [.1637.0020.0006.24D5] # CIRCLED LATIN SMALL LETTER F; QQK
-0046  ; [.1637.0020.0008.0046] # LATIN CAPITAL LETTER F
-FF26  ; [.1637.0020.0009.FF26] # FULLWIDTH LATIN CAPITAL LETTER F; QQK
-2109  ; [*0466.0020.0004.2109][.1637.0020.000A.2109] # DEGREE FAHRENHEIT; QQKN
-1F115 ; [*030E.0020.0004.1F115][.1637.0020.000A.1F115][*030F.0020.001F.1F115] # PARENTHESIZED LATIN CAPITAL LETTER F; QQKN
-1F1EB ; [.1637.0020.000A.1F1EB] # REGIONAL INDICATOR SYMBOL LETTER F; QQK
-2131  ; [.1637.0020.000B.2131] # SCRIPT CAPITAL F; QQK
-1D405 ; [.1637.0020.000B.1D405] # MATHEMATICAL BOLD CAPITAL F; QQK
-1D439 ; [.1637.0020.000B.1D439] # MATHEMATICAL ITALIC CAPITAL F; QQK
-1D46D ; [.1637.0020.000B.1D46D] # MATHEMATICAL BOLD ITALIC CAPITAL F; QQK
-1D4D5 ; [.1637.0020.000B.1D4D5] # MATHEMATICAL BOLD SCRIPT CAPITAL F; QQK
-1D509 ; [.1637.0020.000B.1D509] # MATHEMATICAL FRAKTUR CAPITAL F; QQK
-1D53D ; [.1637.0020.000B.1D53D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F; QQK
-1D571 ; [.1637.0020.000B.1D571] # MATHEMATICAL BOLD FRAKTUR CAPITAL F; QQK
-1D5A5 ; [.1637.0020.000B.1D5A5] # MATHEMATICAL SANS-SERIF CAPITAL F; QQK
-1D5D9 ; [.1637.0020.000B.1D5D9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F; QQK
-1D60D ; [.1637.0020.000B.1D60D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F; QQK
-1D641 ; [.1637.0020.000B.1D641] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F; QQK
-1D675 ; [.1637.0020.000B.1D675] # MATHEMATICAL MONOSPACE CAPITAL F; QQK
-24BB  ; [.1637.0020.000C.24BB] # CIRCLED LATIN CAPITAL LETTER F; QQK
-1F155 ; [.1637.0020.000C.1F155] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F; QQK
-1DA0  ; [.1637.0020.0014.1DA0] # MODIFIER LETTER SMALL F; QQK
-1F135 ; [.1637.0020.001D.1F135] # SQUARED LATIN CAPITAL LETTER F; QQK
-1F175 ; [.1637.0020.001D.1F175] # NEGATIVE SQUARED LATIN CAPITAL LETTER F; QQK
-1E1F  ; [.1637.0020.0002.0066][.0000.0052.0002.0307] # LATIN SMALL LETTER F WITH DOT ABOVE; QQCM
-1E1E  ; [.1637.0020.0008.0046][.0000.0052.0002.0307] # LATIN CAPITAL LETTER F WITH DOT ABOVE; QQCM
-A77C  ; [.1637.0020.0004.A77C][.0000.0160.0004.A77C] # LATIN SMALL LETTER INSULAR F; QQKN
-A77B  ; [.1637.0020.000A.A77B][.0000.0160.0004.A77B] # LATIN CAPITAL LETTER INSULAR F; QQKN
-213B  ; [.1637.0020.000A.213B][.15A3.0020.000A.213B][.182E.0020.001F.213B] # FACSIMILE SIGN; QQKN
-FB00  ; [.1637.0020.0004.FB00][.1637.0020.0004.FB00] # LATIN SMALL LIGATURE FF; QQKN
-FB03  ; [.1637.0020.0004.FB03][.1637.0020.0004.FB03][.1680.0020.001F.FB03] # LATIN SMALL LIGATURE FFI; QQKN
-FB04  ; [.1637.0020.0004.FB04][.1637.0020.0004.FB04][.16C4.0020.001F.FB04] # LATIN SMALL LIGATURE FFL; QQKN
-FB01  ; [.1637.0020.0004.FB01][.1680.0020.0004.FB01] # LATIN SMALL LIGATURE FI; QQKN
-FB02  ; [.1637.0020.0004.FB02][.16C4.0020.0004.FB02] # LATIN SMALL LIGATURE FL; QQKN
-3399  ; [.1637.0020.001C.3399][.16F4.0020.001C.3399] # SQUARE FM; QQKN
-02A9  ; [.1637.0020.0004.02A9][.1720.0020.0004.02A9] # LATIN SMALL LETTER FENG DIGRAPH; QQKN
-1F193 ; [.1637.0020.001D.1F193][.1770.0020.001D.1F193][.15FF.0020.001F.1F193][.15FF.0020.001F.1F193] # SQUARED FREE; QQKN
-A730  ; [.163B.0020.0002.A730] # LATIN LETTER SMALL CAPITAL F
-1D6E  ; [.163C.0020.0002.1D6E] # LATIN SMALL LETTER F WITH MIDDLE TILDE
-1D82  ; [.163D.0020.0002.1D82] # LATIN SMALL LETTER F WITH PALATAL HOOK
-0192  ; [.163E.0020.0002.0192] # LATIN SMALL LETTER F WITH HOOK
-0191  ; [.163E.0020.0008.0191] # LATIN CAPITAL LETTER F WITH HOOK
-214E  ; [.1642.0020.0002.214E] # TURNED SMALL F
-2132  ; [.1642.0020.0008.2132] # TURNED CAPITAL F
-A7FB  ; [.1643.0020.0002.A7FB] # LATIN EPIGRAPHIC LETTER REVERSED F
-0067  ; [.1644.0020.0002.0067] # LATIN SMALL LETTER G
-FF47  ; [.1644.0020.0003.FF47] # FULLWIDTH LATIN SMALL LETTER G; QQK
-1DDA  ; [.1644.0020.0004.1DDA] # COMBINING LATIN SMALL LETTER G; QQK
-24A2  ; [*030E.0020.0004.24A2][.1644.0020.0004.24A2][*030F.0020.001F.24A2] # PARENTHESIZED LATIN SMALL LETTER G; QQKN
-210A  ; [.1644.0020.0005.210A] # SCRIPT SMALL G; QQK
-1D420 ; [.1644.0020.0005.1D420] # MATHEMATICAL BOLD SMALL G; QQK
-1D454 ; [.1644.0020.0005.1D454] # MATHEMATICAL ITALIC SMALL G; QQK
-1D488 ; [.1644.0020.0005.1D488] # MATHEMATICAL BOLD ITALIC SMALL G; QQK
-1D4F0 ; [.1644.0020.0005.1D4F0] # MATHEMATICAL BOLD SCRIPT SMALL G; QQK
-1D524 ; [.1644.0020.0005.1D524] # MATHEMATICAL FRAKTUR SMALL G; QQK
-1D558 ; [.1644.0020.0005.1D558] # MATHEMATICAL DOUBLE-STRUCK SMALL G; QQK
-1D58C ; [.1644.0020.0005.1D58C] # MATHEMATICAL BOLD FRAKTUR SMALL G; QQK
-1D5C0 ; [.1644.0020.0005.1D5C0] # MATHEMATICAL SANS-SERIF SMALL G; QQK
-1D5F4 ; [.1644.0020.0005.1D5F4] # MATHEMATICAL SANS-SERIF BOLD SMALL G; QQK
-1D628 ; [.1644.0020.0005.1D628] # MATHEMATICAL SANS-SERIF ITALIC SMALL G; QQK
-1D65C ; [.1644.0020.0005.1D65C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G; QQK
-1D690 ; [.1644.0020.0005.1D690] # MATHEMATICAL MONOSPACE SMALL G; QQK
-24D6  ; [.1644.0020.0006.24D6] # CIRCLED LATIN SMALL LETTER G; QQK
-0047  ; [.1644.0020.0008.0047] # LATIN CAPITAL LETTER G
-FF27  ; [.1644.0020.0009.FF27] # FULLWIDTH LATIN CAPITAL LETTER G; QQK
-1F116 ; [*030E.0020.0004.1F116][.1644.0020.000A.1F116][*030F.0020.001F.1F116] # PARENTHESIZED LATIN CAPITAL LETTER G; QQKN
-1F1EC ; [.1644.0020.000A.1F1EC] # REGIONAL INDICATOR SYMBOL LETTER G; QQK
-1D406 ; [.1644.0020.000B.1D406] # MATHEMATICAL BOLD CAPITAL G; QQK
-1D43A ; [.1644.0020.000B.1D43A] # MATHEMATICAL ITALIC CAPITAL G; QQK
-1D46E ; [.1644.0020.000B.1D46E] # MATHEMATICAL BOLD ITALIC CAPITAL G; QQK
-1D4A2 ; [.1644.0020.000B.1D4A2] # MATHEMATICAL SCRIPT CAPITAL G; QQK
-1D4D6 ; [.1644.0020.000B.1D4D6] # MATHEMATICAL BOLD SCRIPT CAPITAL G; QQK
-1D50A ; [.1644.0020.000B.1D50A] # MATHEMATICAL FRAKTUR CAPITAL G; QQK
-1D53E ; [.1644.0020.000B.1D53E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G; QQK
-1D572 ; [.1644.0020.000B.1D572] # MATHEMATICAL BOLD FRAKTUR CAPITAL G; QQK
-1D5A6 ; [.1644.0020.000B.1D5A6] # MATHEMATICAL SANS-SERIF CAPITAL G; QQK
-1D5DA ; [.1644.0020.000B.1D5DA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G; QQK
-1D60E ; [.1644.0020.000B.1D60E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G; QQK
-1D642 ; [.1644.0020.000B.1D642] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G; QQK
-1D676 ; [.1644.0020.000B.1D676] # MATHEMATICAL MONOSPACE CAPITAL G; QQK
-24BC  ; [.1644.0020.000C.24BC] # CIRCLED LATIN CAPITAL LETTER G; QQK
-1F156 ; [.1644.0020.000C.1F156] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G; QQK
-1D4D  ; [.1644.0020.0014.1D4D] # MODIFIER LETTER SMALL G; QQK
-1D33  ; [.1644.0020.001D.1D33] # MODIFIER LETTER CAPITAL G; QQK
-1F136 ; [.1644.0020.001D.1F136] # SQUARED LATIN CAPITAL LETTER G; QQK
-1F176 ; [.1644.0020.001D.1F176] # NEGATIVE SQUARED LATIN CAPITAL LETTER G; QQK
-01F5  ; [.1644.0020.0002.0067][.0000.0032.0002.0301] # LATIN SMALL LETTER G WITH ACUTE; QQCM
-01F4  ; [.1644.0020.0008.0047][.0000.0032.0002.0301] # LATIN CAPITAL LETTER G WITH ACUTE; QQCM
-011F  ; [.1644.0020.0002.0067][.0000.0037.0002.0306] # LATIN SMALL LETTER G WITH BREVE; QQCM
-011E  ; [.1644.0020.0008.0047][.0000.0037.0002.0306] # LATIN CAPITAL LETTER G WITH BREVE; QQCM
-011D  ; [.1644.0020.0002.0067][.0000.003C.0002.0302] # LATIN SMALL LETTER G WITH CIRCUMFLEX; QQCM
-011C  ; [.1644.0020.0008.0047][.0000.003C.0002.0302] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX; QQCM
-01E7  ; [.1644.0020.0002.0067][.0000.0041.0002.030C] # LATIN SMALL LETTER G WITH CARON; QQCM
-01E6  ; [.1644.0020.0008.0047][.0000.0041.0002.030C] # LATIN CAPITAL LETTER G WITH CARON; QQCM
-0121  ; [.1644.0020.0002.0067][.0000.0052.0002.0307] # LATIN SMALL LETTER G WITH DOT ABOVE; QQCM
-0120  ; [.1644.0020.0008.0047][.0000.0052.0002.0307] # LATIN CAPITAL LETTER G WITH DOT ABOVE; QQCM
-0123  ; [.1644.0020.0002.0067][.0000.0056.0002.0327] # LATIN SMALL LETTER G WITH CEDILLA; QQCM
-0122  ; [.1644.0020.0008.0047][.0000.0056.0002.0327] # LATIN CAPITAL LETTER G WITH CEDILLA; QQCM
-1E21  ; [.1644.0020.0002.0067][.0000.005B.0002.0304] # LATIN SMALL LETTER G WITH MACRON; QQCM
-1E20  ; [.1644.0020.0008.0047][.0000.005B.0002.0304] # LATIN CAPITAL LETTER G WITH MACRON; QQCM
-A7A1  ; [.1644.0020.0004.A7A1][.0000.0061.0004.A7A1] # LATIN SMALL LETTER G WITH OBLIQUE STROKE; QQKN
-A7A0  ; [.1644.0020.000A.A7A0][.0000.0061.0004.A7A0] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE; QQKN
-1D79  ; [.1644.0020.0004.1D79][.0000.0160.0004.1D79] # LATIN SMALL LETTER INSULAR G; QQKN
-A77D  ; [.1644.0020.000A.A77D][.0000.0160.0004.A77D] # LATIN CAPITAL LETTER INSULAR G; QQKN
-33FF  ; [.1644.0020.001C.33FF][.15A3.0020.001C.33FF][.16C4.0020.001F.33FF] # SQUARE GAL; QQKN
-3387  ; [.1644.0020.001D.3387][.15B9.0020.001D.3387] # SQUARE GB; QQKN
-3393  ; [.1644.0020.001D.3393][.1667.0020.001D.3393][.1844.0020.001F.3393] # SQUARE GHZ; QQKN
-33AC  ; [.1644.0020.001D.33AC][.1749.0020.001D.33AC][.15A3.0020.001F.33AC] # SQUARE GPA; QQKN
-33C9  ; [.1644.0020.001D.33C9][.1833.0020.001C.33C9] # SQUARE GY; QQKN
-0261  ; [.1648.0020.0002.0261] # LATIN SMALL LETTER SCRIPT G
-1DA2  ; [.1648.0020.0014.1DA2] # MODIFIER LETTER SMALL SCRIPT G; QQK
-0262  ; [.164C.0020.0002.0262] # LATIN LETTER SMALL CAPITAL G
-1DDB  ; [.164C.0020.0004.1DDB] # COMBINING LATIN LETTER SMALL CAPITAL G; QQK
-01E5  ; [.1650.0020.0002.01E5] # LATIN SMALL LETTER G WITH STROKE
-01E4  ; [.1650.0020.0008.01E4] # LATIN CAPITAL LETTER G WITH STROKE
-1D83  ; [.1654.0020.0002.1D83] # LATIN SMALL LETTER G WITH PALATAL HOOK
-0260  ; [.1655.0020.0002.0260] # LATIN SMALL LETTER G WITH HOOK
-0193  ; [.1655.0020.0008.0193] # LATIN CAPITAL LETTER G WITH HOOK
-029B  ; [.1659.0020.0002.029B] # LATIN LETTER SMALL CAPITAL G WITH HOOK
-1D77  ; [.165D.0020.0002.1D77] # LATIN SMALL LETTER TURNED G
-A77F  ; [.165E.0020.0002.A77F] # LATIN SMALL LETTER TURNED INSULAR G
-A77E  ; [.165E.0020.0008.A77E] # LATIN CAPITAL LETTER TURNED INSULAR G
-0263  ; [.165F.0020.0002.0263] # LATIN SMALL LETTER GAMMA
-0194  ; [.165F.0020.0008.0194] # LATIN CAPITAL LETTER GAMMA
-02E0  ; [.165F.0020.0014.02E0] # MODIFIER LETTER SMALL GAMMA; QQK
-01A3  ; [.1663.0020.0002.01A3] # LATIN SMALL LETTER OI
-01A2  ; [.1663.0020.0008.01A2] # LATIN CAPITAL LETTER OI
-0068  ; [.1667.0020.0002.0068] # LATIN SMALL LETTER H
-FF48  ; [.1667.0020.0003.FF48] # FULLWIDTH LATIN SMALL LETTER H; QQK
-036A  ; [.1667.0020.0004.036A] # COMBINING LATIN SMALL LETTER H; QQK
-24A3  ; [*030E.0020.0004.24A3][.1667.0020.0004.24A3][*030F.0020.001F.24A3] # PARENTHESIZED LATIN SMALL LETTER H; QQKN
-210E  ; [.1667.0020.0005.210E] # PLANCK CONSTANT; QQK
-1D421 ; [.1667.0020.0005.1D421] # MATHEMATICAL BOLD SMALL H; QQK
-1D489 ; [.1667.0020.0005.1D489] # MATHEMATICAL BOLD ITALIC SMALL H; QQK
-1D4BD ; [.1667.0020.0005.1D4BD] # MATHEMATICAL SCRIPT SMALL H; QQK
-1D4F1 ; [.1667.0020.0005.1D4F1] # MATHEMATICAL BOLD SCRIPT SMALL H; QQK
-1D525 ; [.1667.0020.0005.1D525] # MATHEMATICAL FRAKTUR SMALL H; QQK
-1D559 ; [.1667.0020.0005.1D559] # MATHEMATICAL DOUBLE-STRUCK SMALL H; QQK
-1D58D ; [.1667.0020.0005.1D58D] # MATHEMATICAL BOLD FRAKTUR SMALL H; QQK
-1D5C1 ; [.1667.0020.0005.1D5C1] # MATHEMATICAL SANS-SERIF SMALL H; QQK
-1D5F5 ; [.1667.0020.0005.1D5F5] # MATHEMATICAL SANS-SERIF BOLD SMALL H; QQK
-1D629 ; [.1667.0020.0005.1D629] # MATHEMATICAL SANS-SERIF ITALIC SMALL H; QQK
-1D65D ; [.1667.0020.0005.1D65D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H; QQK
-1D691 ; [.1667.0020.0005.1D691] # MATHEMATICAL MONOSPACE SMALL H; QQK
-24D7  ; [.1667.0020.0006.24D7] # CIRCLED LATIN SMALL LETTER H; QQK
-0048  ; [.1667.0020.0008.0048] # LATIN CAPITAL LETTER H
-FF28  ; [.1667.0020.0009.FF28] # FULLWIDTH LATIN CAPITAL LETTER H; QQK
-1F117 ; [*030E.0020.0004.1F117][.1667.0020.000A.1F117][*030F.0020.001F.1F117] # PARENTHESIZED LATIN CAPITAL LETTER H; QQKN
-1F1ED ; [.1667.0020.000A.1F1ED] # REGIONAL INDICATOR SYMBOL LETTER H; QQK
-210B  ; [.1667.0020.000B.210B] # SCRIPT CAPITAL H; QQK
-210C  ; [.1667.0020.000B.210C] # BLACK-LETTER CAPITAL H; QQK
-210D  ; [.1667.0020.000B.210D] # DOUBLE-STRUCK CAPITAL H; QQK
-1D407 ; [.1667.0020.000B.1D407] # MATHEMATICAL BOLD CAPITAL H; QQK
-1D43B ; [.1667.0020.000B.1D43B] # MATHEMATICAL ITALIC CAPITAL H; QQK
-1D46F ; [.1667.0020.000B.1D46F] # MATHEMATICAL BOLD ITALIC CAPITAL H; QQK
-1D4D7 ; [.1667.0020.000B.1D4D7] # MATHEMATICAL BOLD SCRIPT CAPITAL H; QQK
-1D573 ; [.1667.0020.000B.1D573] # MATHEMATICAL BOLD FRAKTUR CAPITAL H; QQK
-1D5A7 ; [.1667.0020.000B.1D5A7] # MATHEMATICAL SANS-SERIF CAPITAL H; QQK
-1D5DB ; [.1667.0020.000B.1D5DB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H; QQK
-1D60F ; [.1667.0020.000B.1D60F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H; QQK
-1D643 ; [.1667.0020.000B.1D643] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H; QQK
-1D677 ; [.1667.0020.000B.1D677] # MATHEMATICAL MONOSPACE CAPITAL H; QQK
-24BD  ; [.1667.0020.000C.24BD] # CIRCLED LATIN CAPITAL LETTER H; QQK
-1F157 ; [.1667.0020.000C.1F157] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H; QQK
-02B0  ; [.1667.0020.0014.02B0] # MODIFIER LETTER SMALL H; QQK
-2095  ; [.1667.0020.0015.2095] # LATIN SUBSCRIPT SMALL LETTER H; QQK
-1D34  ; [.1667.0020.001D.1D34] # MODIFIER LETTER CAPITAL H; QQK
-1F137 ; [.1667.0020.001D.1F137] # SQUARED LATIN CAPITAL LETTER H; QQK
-1F177 ; [.1667.0020.001D.1F177] # NEGATIVE SQUARED LATIN CAPITAL LETTER H; QQK
-0125  ; [.1667.0020.0002.0068][.0000.003C.0002.0302] # LATIN SMALL LETTER H WITH CIRCUMFLEX; QQCM
-0124  ; [.1667.0020.0008.0048][.0000.003C.0002.0302] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX; QQCM
-021F  ; [.1667.0020.0002.0068][.0000.0041.0002.030C] # LATIN SMALL LETTER H WITH CARON; QQCM
-021E  ; [.1667.0020.0008.0048][.0000.0041.0002.030C] # LATIN CAPITAL LETTER H WITH CARON; QQCM
-1E27  ; [.1667.0020.0002.0068][.0000.0047.0002.0308] # LATIN SMALL LETTER H WITH DIAERESIS; QQCM
-1E26  ; [.1667.0020.0008.0048][.0000.0047.0002.0308] # LATIN CAPITAL LETTER H WITH DIAERESIS; QQCM
-1E23  ; [.1667.0020.0002.0068][.0000.0052.0002.0307] # LATIN SMALL LETTER H WITH DOT ABOVE; QQCM
-1E22  ; [.1667.0020.0008.0048][.0000.0052.0002.0307] # LATIN CAPITAL LETTER H WITH DOT ABOVE; QQCM
-1E29  ; [.1667.0020.0002.0068][.0000.0056.0002.0327] # LATIN SMALL LETTER H WITH CEDILLA; QQCM
-1E28  ; [.1667.0020.0008.0048][.0000.0056.0002.0327] # LATIN CAPITAL LETTER H WITH CEDILLA; QQCM
-1E25  ; [.1667.0020.0002.0068][.0000.0070.0002.0323] # LATIN SMALL LETTER H WITH DOT BELOW; QQCM
-1E24  ; [.1667.0020.0008.0048][.0000.0070.0002.0323] # LATIN CAPITAL LETTER H WITH DOT BELOW; QQCM
-1E2B  ; [.1667.0020.0002.0068][.0000.0079.0002.032E] # LATIN SMALL LETTER H WITH BREVE BELOW; QQCM
-1E2A  ; [.1667.0020.0008.0048][.0000.0079.0002.032E] # LATIN CAPITAL LETTER H WITH BREVE BELOW; QQCM
-1E96  ; [.1667.0020.0002.0068][.0000.007B.0002.0331] # LATIN SMALL LETTER H WITH LINE BELOW; QQCM
-0127  ; [.1667.0020.0002.0068][.0000.007D.0002.0335] # LATIN SMALL LETTER H WITH STROKE; QQCM
-210F  ; [.1667.0020.0002.210F][.0000.007D.0002.210F] # PLANCK CONSTANT OVER TWO PI; QQKN
-0126  ; [.1667.0020.0008.0048][.0000.007D.0002.0335] # LATIN CAPITAL LETTER H WITH STROKE; QQCM
-33CA  ; [.1667.0020.001C.33CA][.15A3.0020.001C.33CA] # SQUARE HA; QQKN
-32CC  ; [.1667.0020.001D.32CC][.1644.0020.001C.32CC] # SQUARE HG; QQKN
-33CB  ; [.1667.0020.001D.33CB][.1749.0020.001D.33CB] # SQUARE HP; QQKN
-3371  ; [.1667.0020.001C.3371][.1749.0020.001D.3371][.15A3.0020.001F.3371] # SQUARE HPA; QQKN
-1F14A ; [.1667.0020.001D.1F14A][.1812.0020.001D.1F14A] # SQUARED HV; QQKN
-3390  ; [.1667.0020.001D.3390][.1844.0020.001C.3390] # SQUARE HZ; QQKN
-029C  ; [.166B.0020.0002.029C] # LATIN LETTER SMALL CAPITAL H
-0195  ; [.166F.0020.0002.0195] # LATIN SMALL LETTER HV
-01F6  ; [.166F.0020.0008.01F6] # LATIN CAPITAL LETTER HWAIR
-0266  ; [.1673.0020.0002.0266] # LATIN SMALL LETTER H WITH HOOK
-02B1  ; [.1673.0020.0014.02B1] # MODIFIER LETTER SMALL H WITH HOOK; QQK
-2C68  ; [.1677.0020.0002.2C68] # LATIN SMALL LETTER H WITH DESCENDER
-2C67  ; [.1677.0020.0008.2C67] # LATIN CAPITAL LETTER H WITH DESCENDER
-2C76  ; [.1678.0020.0002.2C76] # LATIN SMALL LETTER HALF H
-2C75  ; [.1678.0020.0008.2C75] # LATIN CAPITAL LETTER HALF H
-A727  ; [.1679.0020.0002.A727] # LATIN SMALL LETTER HENG
-A726  ; [.1679.0020.0008.A726] # LATIN CAPITAL LETTER HENG
-0267  ; [.167A.0020.0002.0267] # LATIN SMALL LETTER HENG WITH HOOK
-02BB  ; [.167E.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
-02BD  ; [.167F.0020.0002.02BD] # MODIFIER LETTER REVERSED COMMA
-0069  ; [.1680.0020.0002.0069] # LATIN SMALL LETTER I
-FF49  ; [.1680.0020.0003.FF49] # FULLWIDTH LATIN SMALL LETTER I; QQK
-0365  ; [.1680.0020.0004.0365] # COMBINING LATIN SMALL LETTER I; QQK
-2170  ; [.1680.0020.0004.2170] # SMALL ROMAN NUMERAL ONE; QQK
-24A4  ; [*030E.0020.0004.24A4][.1680.0020.0004.24A4][*030F.0020.001F.24A4] # PARENTHESIZED LATIN SMALL LETTER I; QQKN
-2139  ; [.1680.0020.0005.2139] # INFORMATION SOURCE; QQK
-2148  ; [.1680.0020.0005.2148] # DOUBLE-STRUCK ITALIC SMALL I; QQK
-1D422 ; [.1680.0020.0005.1D422] # MATHEMATICAL BOLD SMALL I; QQK
-1D456 ; [.1680.0020.0005.1D456] # MATHEMATICAL ITALIC SMALL I; QQK
-1D48A ; [.1680.0020.0005.1D48A] # MATHEMATICAL BOLD ITALIC SMALL I; QQK
-1D4BE ; [.1680.0020.0005.1D4BE] # MATHEMATICAL SCRIPT SMALL I; QQK
-1D4F2 ; [.1680.0020.0005.1D4F2] # MATHEMATICAL BOLD SCRIPT SMALL I; QQK
-1D526 ; [.1680.0020.0005.1D526] # MATHEMATICAL FRAKTUR SMALL I; QQK
-1D55A ; [.1680.0020.0005.1D55A] # MATHEMATICAL DOUBLE-STRUCK SMALL I; QQK
-1D58E ; [.1680.0020.0005.1D58E] # MATHEMATICAL BOLD FRAKTUR SMALL I; QQK
-1D5C2 ; [.1680.0020.0005.1D5C2] # MATHEMATICAL SANS-SERIF SMALL I; QQK
-1D5F6 ; [.1680.0020.0005.1D5F6] # MATHEMATICAL SANS-SERIF BOLD SMALL I; QQK
-1D62A ; [.1680.0020.0005.1D62A] # MATHEMATICAL SANS-SERIF ITALIC SMALL I; QQK
-1D65E ; [.1680.0020.0005.1D65E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I; QQK
-1D692 ; [.1680.0020.0005.1D692] # MATHEMATICAL MONOSPACE SMALL I; QQK
-24D8  ; [.1680.0020.0006.24D8] # CIRCLED LATIN SMALL LETTER I; QQK
-0049  ; [.1680.0020.0008.0049] # LATIN CAPITAL LETTER I
-FF29  ; [.1680.0020.0009.FF29] # FULLWIDTH LATIN CAPITAL LETTER I; QQK
-2160  ; [.1680.0020.000A.2160] # ROMAN NUMERAL ONE; QQK
-1F118 ; [*030E.0020.0004.1F118][.1680.0020.000A.1F118][*030F.0020.001F.1F118] # PARENTHESIZED LATIN CAPITAL LETTER I; QQKN
-1F1EE ; [.1680.0020.000A.1F1EE] # REGIONAL INDICATOR SYMBOL LETTER I; QQK
-2110  ; [.1680.0020.000B.2110] # SCRIPT CAPITAL I; QQK
-2111  ; [.1680.0020.000B.2111] # BLACK-LETTER CAPITAL I; QQK
-1D408 ; [.1680.0020.000B.1D408] # MATHEMATICAL BOLD CAPITAL I; QQK
-1D43C ; [.1680.0020.000B.1D43C] # MATHEMATICAL ITALIC CAPITAL I; QQK
-1D470 ; [.1680.0020.000B.1D470] # MATHEMATICAL BOLD ITALIC CAPITAL I; QQK
-1D4D8 ; [.1680.0020.000B.1D4D8] # MATHEMATICAL BOLD SCRIPT CAPITAL I; QQK
-1D540 ; [.1680.0020.000B.1D540] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I; QQK
-1D574 ; [.1680.0020.000B.1D574] # MATHEMATICAL BOLD FRAKTUR CAPITAL I; QQK
-1D5A8 ; [.1680.0020.000B.1D5A8] # MATHEMATICAL SANS-SERIF CAPITAL I; QQK
-1D5DC ; [.1680.0020.000B.1D5DC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I; QQK
-1D610 ; [.1680.0020.000B.1D610] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I; QQK
-1D644 ; [.1680.0020.000B.1D644] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I; QQK
-1D678 ; [.1680.0020.000B.1D678] # MATHEMATICAL MONOSPACE CAPITAL I; QQK
-24BE  ; [.1680.0020.000C.24BE] # CIRCLED LATIN CAPITAL LETTER I; QQK
-1F158 ; [.1680.0020.000C.1F158] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I; QQK
-2071  ; [.1680.0020.0014.2071] # SUPERSCRIPT LATIN SMALL LETTER I; QQK
-1D62  ; [.1680.0020.0015.1D62] # LATIN SUBSCRIPT SMALL LETTER I; QQK
-1D35  ; [.1680.0020.001D.1D35] # MODIFIER LETTER CAPITAL I; QQK
-1F138 ; [.1680.0020.001D.1F138] # SQUARED LATIN CAPITAL LETTER I; QQK
-1F178 ; [.1680.0020.001D.1F178] # NEGATIVE SQUARED LATIN CAPITAL LETTER I; QQK
-00ED  ; [.1680.0020.0002.0069][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH ACUTE; QQCM
-00CD  ; [.1680.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE; QQCM
-00EC  ; [.1680.0020.0002.0069][.0000.0035.0002.0300] # LATIN SMALL LETTER I WITH GRAVE; QQCM
-00CC  ; [.1680.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE; QQCM
-012D  ; [.1680.0020.0002.0069][.0000.0037.0002.0306] # LATIN SMALL LETTER I WITH BREVE; QQCM
-012C  ; [.1680.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE; QQCM
-00EE  ; [.1680.0020.0002.0069][.0000.003C.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX; QQCM
-00CE  ; [.1680.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX; QQCM
-01D0  ; [.1680.0020.0002.0069][.0000.0041.0002.030C] # LATIN SMALL LETTER I WITH CARON; QQCM
-01CF  ; [.1680.0020.0008.0049][.0000.0041.0002.030C] # LATIN CAPITAL LETTER I WITH CARON; QQCM
-00EF  ; [.1680.0020.0002.0069][.0000.0047.0002.0308] # LATIN SMALL LETTER I WITH DIAERESIS; QQCM
-00CF  ; [.1680.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS; QQCM
-1E2F  ; [.1680.0020.0002.0069][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE; QQCM
-1E2E  ; [.1680.0020.0008.0049][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE; QQCM
-0129  ; [.1680.0020.0002.0069][.0000.004E.0002.0303] # LATIN SMALL LETTER I WITH TILDE; QQCM
-0128  ; [.1680.0020.0008.0049][.0000.004E.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE; QQCM
-0130  ; [.1680.0020.0008.0049][.0000.0052.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE; QQCM
-012F  ; [.1680.0020.0002.0069][.0000.0059.0002.0328] # LATIN SMALL LETTER I WITH OGONEK; QQCM
-012E  ; [.1680.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK; QQCM
-012B  ; [.1680.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON; QQCM
-012A  ; [.1680.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON; QQCM
-1EC9  ; [.1680.0020.0002.0069][.0000.0064.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE; QQCM
-1EC8  ; [.1680.0020.0008.0049][.0000.0064.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE; QQCM
-0209  ; [.1680.0020.0002.0069][.0000.0065.0002.030F] # LATIN SMALL LETTER I WITH DOUBLE GRAVE; QQCM
-0208  ; [.1680.0020.0008.0049][.0000.0065.0002.030F] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE; QQCM
-020B  ; [.1680.0020.0002.0069][.0000.0067.0002.0311] # LATIN SMALL LETTER I WITH INVERTED BREVE; QQCM
-020A  ; [.1680.0020.0008.0049][.0000.0067.0002.0311] # LATIN CAPITAL LETTER I WITH INVERTED BREVE; QQCM
-1ECB  ; [.1680.0020.0002.0069][.0000.0070.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW; QQCM
-1ECA  ; [.1680.0020.0008.0049][.0000.0070.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW; QQCM
-1E2D  ; [.1680.0020.0002.0069][.0000.007A.0002.0330] # LATIN SMALL LETTER I WITH TILDE BELOW; QQCM
-1E2C  ; [.1680.0020.0008.0049][.0000.007A.0002.0330] # LATIN CAPITAL LETTER I WITH TILDE BELOW; QQCM
-1F18B ; [.1680.0020.001D.1F18B][.15D1.0020.001D.1F18B] # NEGATIVE SQUARED IC; QQKN
-1F194 ; [.1680.0020.001D.1F194][.15E4.0020.001D.1F194] # SQUARED ID; QQKN
-2171  ; [.1680.0020.0004.2171][.1680.0020.0004.2171] # SMALL ROMAN NUMERAL TWO; QQKN
-2161  ; [.1680.0020.000A.2161][.1680.0020.000A.2161] # ROMAN NUMERAL TWO; QQKN
-2172  ; [.1680.0020.0004.2172][.1680.0020.0004.2172][.1680.0020.001F.2172] # SMALL ROMAN NUMERAL THREE; QQKN
-2162  ; [.1680.0020.000A.2162][.1680.0020.000A.2162][.1680.0020.001F.2162] # ROMAN NUMERAL THREE; QQKN
-0133  ; [.1680.0020.0004.0133][.1699.0020.0004.0133] # LATIN SMALL LIGATURE IJ; QQKN
-0132  ; [.1680.0020.000A.0132][.1699.0020.000A.0132] # LATIN CAPITAL LIGATURE IJ; QQKN
-33CC  ; [.1680.0020.001C.33CC][.1702.0020.001C.33CC] # SQUARE IN; QQKN
-337A  ; [.1680.0020.001D.337A][.17E9.0020.001D.337A] # SQUARE IU; QQKN
-2173  ; [.1680.0020.0004.2173][.1812.0020.0004.2173] # SMALL ROMAN NUMERAL FOUR; QQKN
-2163  ; [.1680.0020.000A.2163][.1812.0020.000A.2163] # ROMAN NUMERAL FOUR; QQKN
-2178  ; [.1680.0020.0004.2178][.182E.0020.0004.2178] # SMALL ROMAN NUMERAL NINE; QQKN
-2168  ; [.1680.0020.000A.2168][.182E.0020.000A.2168] # ROMAN NUMERAL NINE; QQKN
-0131  ; [.1684.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
-1D6A4 ; [.1684.0020.0005.1D6A4] # MATHEMATICAL ITALIC SMALL DOTLESS I; QQK
-026A  ; [.1688.0020.0002.026A] # LATIN LETTER SMALL CAPITAL I
-1DA6  ; [.1688.0020.0014.1DA6] # MODIFIER LETTER SMALL CAPITAL I; QQK
-A7FE  ; [.168C.0020.0002.A7FE] # LATIN EPIGRAPHIC LETTER I LONGA
-1D09  ; [.168D.0020.0002.1D09] # LATIN SMALL LETTER TURNED I
-1D4E  ; [.168D.0020.0014.1D4E] # MODIFIER LETTER SMALL TURNED I; QQK
-0268  ; [.168E.0020.0002.0268] # LATIN SMALL LETTER I WITH STROKE
-0197  ; [.168E.0020.0008.0197] # LATIN CAPITAL LETTER I WITH STROKE
-1DA4  ; [.168E.0020.0014.1DA4] # MODIFIER LETTER SMALL I WITH STROKE; QQK
-1D7B  ; [.1692.0020.0002.1D7B] # LATIN SMALL CAPITAL LETTER I WITH STROKE
-1DA7  ; [.1692.0020.0014.1DA7] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE; QQK
-1D96  ; [.1693.0020.0002.1D96] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
-0269  ; [.1694.0020.0002.0269] # LATIN SMALL LETTER IOTA
-0196  ; [.1694.0020.0008.0196] # LATIN CAPITAL LETTER IOTA
-1DA5  ; [.1694.0020.0014.1DA5] # MODIFIER LETTER SMALL IOTA; QQK
-1D7C  ; [.1698.0020.0002.1D7C] # LATIN SMALL LETTER IOTA WITH STROKE
-006A  ; [.1699.0020.0002.006A] # LATIN SMALL LETTER J
-FF4A  ; [.1699.0020.0003.FF4A] # FULLWIDTH LATIN SMALL LETTER J; QQK
-24A5  ; [*030E.0020.0004.24A5][.1699.0020.0004.24A5][*030F.0020.001F.24A5] # PARENTHESIZED LATIN SMALL LETTER J; QQKN
-2149  ; [.1699.0020.0005.2149] # DOUBLE-STRUCK ITALIC SMALL J; QQK
-1D423 ; [.1699.0020.0005.1D423] # MATHEMATICAL BOLD SMALL J; QQK
-1D457 ; [.1699.0020.0005.1D457] # MATHEMATICAL ITALIC SMALL J; QQK
-1D48B ; [.1699.0020.0005.1D48B] # MATHEMATICAL BOLD ITALIC SMALL J; QQK
-1D4BF ; [.1699.0020.0005.1D4BF] # MATHEMATICAL SCRIPT SMALL J; QQK
-1D4F3 ; [.1699.0020.0005.1D4F3] # MATHEMATICAL BOLD SCRIPT SMALL J; QQK
-1D527 ; [.1699.0020.0005.1D527] # MATHEMATICAL FRAKTUR SMALL J; QQK
-1D55B ; [.1699.0020.0005.1D55B] # MATHEMATICAL DOUBLE-STRUCK SMALL J; QQK
-1D58F ; [.1699.0020.0005.1D58F] # MATHEMATICAL BOLD FRAKTUR SMALL J; QQK
-1D5C3 ; [.1699.0020.0005.1D5C3] # MATHEMATICAL SANS-SERIF SMALL J; QQK
-1D5F7 ; [.1699.0020.0005.1D5F7] # MATHEMATICAL SANS-SERIF BOLD SMALL J; QQK
-1D62B ; [.1699.0020.0005.1D62B] # MATHEMATICAL SANS-SERIF ITALIC SMALL J; QQK
-1D65F ; [.1699.0020.0005.1D65F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J; QQK
-1D693 ; [.1699.0020.0005.1D693] # MATHEMATICAL MONOSPACE SMALL J; QQK
-24D9  ; [.1699.0020.0006.24D9] # CIRCLED LATIN SMALL LETTER J; QQK
-004A  ; [.1699.0020.0008.004A] # LATIN CAPITAL LETTER J
-FF2A  ; [.1699.0020.0009.FF2A] # FULLWIDTH LATIN CAPITAL LETTER J; QQK
-1F119 ; [*030E.0020.0004.1F119][.1699.0020.000A.1F119][*030F.0020.001F.1F119] # PARENTHESIZED LATIN CAPITAL LETTER J; QQKN
-1F1EF ; [.1699.0020.000A.1F1EF] # REGIONAL INDICATOR SYMBOL LETTER J; QQK
-1D409 ; [.1699.0020.000B.1D409] # MATHEMATICAL BOLD CAPITAL J; QQK
-1D43D ; [.1699.0020.000B.1D43D] # MATHEMATICAL ITALIC CAPITAL J; QQK
-1D471 ; [.1699.0020.000B.1D471] # MATHEMATICAL BOLD ITALIC CAPITAL J; QQK
-1D4A5 ; [.1699.0020.000B.1D4A5] # MATHEMATICAL SCRIPT CAPITAL J; QQK
-1D4D9 ; [.1699.0020.000B.1D4D9] # MATHEMATICAL BOLD SCRIPT CAPITAL J; QQK
-1D50D ; [.1699.0020.000B.1D50D] # MATHEMATICAL FRAKTUR CAPITAL J; QQK
-1D541 ; [.1699.0020.000B.1D541] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J; QQK
-1D575 ; [.1699.0020.000B.1D575] # MATHEMATICAL BOLD FRAKTUR CAPITAL J; QQK
-1D5A9 ; [.1699.0020.000B.1D5A9] # MATHEMATICAL SANS-SERIF CAPITAL J; QQK
-1D5DD ; [.1699.0020.000B.1D5DD] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J; QQK
-1D611 ; [.1699.0020.000B.1D611] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J; QQK
-1D645 ; [.1699.0020.000B.1D645] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J; QQK
-1D679 ; [.1699.0020.000B.1D679] # MATHEMATICAL MONOSPACE CAPITAL J; QQK
-24BF  ; [.1699.0020.000C.24BF] # CIRCLED LATIN CAPITAL LETTER J; QQK
-1F159 ; [.1699.0020.000C.1F159] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J; QQK
-02B2  ; [.1699.0020.0014.02B2] # MODIFIER LETTER SMALL J; QQK
-2C7C  ; [.1699.0020.0015.2C7C] # LATIN SUBSCRIPT SMALL LETTER J; QQK
-1D36  ; [.1699.0020.001D.1D36] # MODIFIER LETTER CAPITAL J; QQK
-1F139 ; [.1699.0020.001D.1F139] # SQUARED LATIN CAPITAL LETTER J; QQK
-1F179 ; [.1699.0020.001D.1F179] # NEGATIVE SQUARED LATIN CAPITAL LETTER J; QQK
-0135  ; [.1699.0020.0002.006A][.0000.003C.0002.0302] # LATIN SMALL LETTER J WITH CIRCUMFLEX; QQCM
-0134  ; [.1699.0020.0008.004A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX; QQCM
-01F0  ; [.1699.0020.0002.006A][.0000.0041.0002.030C] # LATIN SMALL LETTER J WITH CARON; QQCM
-0237  ; [.169D.0020.0002.0237] # LATIN SMALL LETTER DOTLESS J
-1D6A5 ; [.169D.0020.0005.1D6A5] # MATHEMATICAL ITALIC SMALL DOTLESS J; QQK
-1D0A  ; [.16A1.0020.0002.1D0A] # LATIN LETTER SMALL CAPITAL J
-0249  ; [.16A2.0020.0002.0249] # LATIN SMALL LETTER J WITH STROKE
-0248  ; [.16A2.0020.0008.0248] # LATIN CAPITAL LETTER J WITH STROKE
-029D  ; [.16A6.0020.0002.029D] # LATIN SMALL LETTER J WITH CROSSED-TAIL
-1DA8  ; [.16A6.0020.0014.1DA8] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL; QQK
-025F  ; [.16AA.0020.0002.025F] # LATIN SMALL LETTER DOTLESS J WITH STROKE
-1DA1  ; [.16AA.0020.0014.1DA1] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE; QQK
-0284  ; [.16AE.0020.0002.0284] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
-006B  ; [.16B2.0020.0002.006B] # LATIN SMALL LETTER K
-FF4B  ; [.16B2.0020.0003.FF4B] # FULLWIDTH LATIN SMALL LETTER K; QQK
-1DDC  ; [.16B2.0020.0004.1DDC] # COMBINING LATIN SMALL LETTER K; QQK
-24A6  ; [*030E.0020.0004.24A6][.16B2.0020.0004.24A6][*030F.0020.001F.24A6] # PARENTHESIZED LATIN SMALL LETTER K; QQKN
-1D424 ; [.16B2.0020.0005.1D424] # MATHEMATICAL BOLD SMALL K; QQK
-1D458 ; [.16B2.0020.0005.1D458] # MATHEMATICAL ITALIC SMALL K; QQK
-1D48C ; [.16B2.0020.0005.1D48C] # MATHEMATICAL BOLD ITALIC SMALL K; QQK
-1D4C0 ; [.16B2.0020.0005.1D4C0] # MATHEMATICAL SCRIPT SMALL K; QQK
-1D4F4 ; [.16B2.0020.0005.1D4F4] # MATHEMATICAL BOLD SCRIPT SMALL K; QQK
-1D528 ; [.16B2.0020.0005.1D528] # MATHEMATICAL FRAKTUR SMALL K; QQK
-1D55C ; [.16B2.0020.0005.1D55C] # MATHEMATICAL DOUBLE-STRUCK SMALL K; QQK
-1D590 ; [.16B2.0020.0005.1D590] # MATHEMATICAL BOLD FRAKTUR SMALL K; QQK
-1D5C4 ; [.16B2.0020.0005.1D5C4] # MATHEMATICAL SANS-SERIF SMALL K; QQK
-1D5F8 ; [.16B2.0020.0005.1D5F8] # MATHEMATICAL SANS-SERIF BOLD SMALL K; QQK
-1D62C ; [.16B2.0020.0005.1D62C] # MATHEMATICAL SANS-SERIF ITALIC SMALL K; QQK
-1D660 ; [.16B2.0020.0005.1D660] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K; QQK
-1D694 ; [.16B2.0020.0005.1D694] # MATHEMATICAL MONOSPACE SMALL K; QQK
-24DA  ; [.16B2.0020.0006.24DA] # CIRCLED LATIN SMALL LETTER K; QQK
-004B  ; [.16B2.0020.0008.004B] # LATIN CAPITAL LETTER K
-212A  ; [.16B2.0020.0008.212A] # KELVIN SIGN; QQC
-FF2B  ; [.16B2.0020.0009.FF2B] # FULLWIDTH LATIN CAPITAL LETTER K; QQK
-1F11A ; [*030E.0020.0004.1F11A][.16B2.0020.000A.1F11A][*030F.0020.001F.1F11A] # PARENTHESIZED LATIN CAPITAL LETTER K; QQKN
-1F1F0 ; [.16B2.0020.000A.1F1F0] # REGIONAL INDICATOR SYMBOL LETTER K; QQK
-1D40A ; [.16B2.0020.000B.1D40A] # MATHEMATICAL BOLD CAPITAL K; QQK
-1D43E ; [.16B2.0020.000B.1D43E] # MATHEMATICAL ITALIC CAPITAL K; QQK
-1D472 ; [.16B2.0020.000B.1D472] # MATHEMATICAL BOLD ITALIC CAPITAL K; QQK
-1D4A6 ; [.16B2.0020.000B.1D4A6] # MATHEMATICAL SCRIPT CAPITAL K; QQK
-1D4DA ; [.16B2.0020.000B.1D4DA] # MATHEMATICAL BOLD SCRIPT CAPITAL K; QQK
-1D50E ; [.16B2.0020.000B.1D50E] # MATHEMATICAL FRAKTUR CAPITAL K; QQK
-1D542 ; [.16B2.0020.000B.1D542] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K; QQK
-1D576 ; [.16B2.0020.000B.1D576] # MATHEMATICAL BOLD FRAKTUR CAPITAL K; QQK
-1D5AA ; [.16B2.0020.000B.1D5AA] # MATHEMATICAL SANS-SERIF CAPITAL K; QQK
-1D5DE ; [.16B2.0020.000B.1D5DE] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K; QQK
-1D612 ; [.16B2.0020.000B.1D612] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K; QQK
-1D646 ; [.16B2.0020.000B.1D646] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K; QQK
-1D67A ; [.16B2.0020.000B.1D67A] # MATHEMATICAL MONOSPACE CAPITAL K; QQK
-24C0  ; [.16B2.0020.000C.24C0] # CIRCLED LATIN CAPITAL LETTER K; QQK
-1F15A ; [.16B2.0020.000C.1F15A] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K; QQK
-1D4F  ; [.16B2.0020.0014.1D4F] # MODIFIER LETTER SMALL K; QQK
-2096  ; [.16B2.0020.0015.2096] # LATIN SUBSCRIPT SMALL LETTER K; QQK
-1D37  ; [.16B2.0020.001D.1D37] # MODIFIER LETTER CAPITAL K; QQK
-1F13A ; [.16B2.0020.001D.1F13A] # SQUARED LATIN CAPITAL LETTER K; QQK
-1F17A ; [.16B2.0020.001D.1F17A] # NEGATIVE SQUARED LATIN CAPITAL LETTER K; QQK
-1E31  ; [.16B2.0020.0002.006B][.0000.0032.0002.0301] # LATIN SMALL LETTER K WITH ACUTE; QQCM
-1E30  ; [.16B2.0020.0008.004B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER K WITH ACUTE; QQCM
-01E9  ; [.16B2.0020.0002.006B][.0000.0041.0002.030C] # LATIN SMALL LETTER K WITH CARON; QQCM
-01E8  ; [.16B2.0020.0008.004B][.0000.0041.0002.030C] # LATIN CAPITAL LETTER K WITH CARON; QQCM
-0137  ; [.16B2.0020.0002.006B][.0000.0056.0002.0327] # LATIN SMALL LETTER K WITH CEDILLA; QQCM
-0136  ; [.16B2.0020.0008.004B][.0000.0056.0002.0327] # LATIN CAPITAL LETTER K WITH CEDILLA; QQCM
-A7A3  ; [.16B2.0020.0004.A7A3][.0000.0061.0004.A7A3] # LATIN SMALL LETTER K WITH OBLIQUE STROKE; QQKN
-A7A2  ; [.16B2.0020.000A.A7A2][.0000.0061.0004.A7A2] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE; QQKN
-1E33  ; [.16B2.0020.0002.006B][.0000.0070.0002.0323] # LATIN SMALL LETTER K WITH DOT BELOW; QQCM
-1E32  ; [.16B2.0020.0008.004B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER K WITH DOT BELOW; QQCM
-1E35  ; [.16B2.0020.0002.006B][.0000.007B.0002.0331] # LATIN SMALL LETTER K WITH LINE BELOW; QQCM
-1E34  ; [.16B2.0020.0008.004B][.0000.007B.0002.0331] # LATIN CAPITAL LETTER K WITH LINE BELOW; QQCM
-3384  ; [.16B2.0020.001C.3384][.15A3.0020.001D.3384] # SQUARE KA; QQKN
-3385  ; [.16B2.0020.001D.3385][.15B9.0020.001D.3385] # SQUARE KB; QQKN
-3389  ; [.16B2.0020.001C.3389][.15D1.0020.001C.3389][.15A3.0020.001F.3389][.16C4.0020.001F.3389] # SQUARE KCAL; QQKN
-338F  ; [.16B2.0020.001C.338F][.1644.0020.001C.338F] # SQUARE KG; QQKN
-3391  ; [.16B2.0020.001C.3391][.1667.0020.001D.3391][.1844.0020.001F.3391] # SQUARE KHZ; QQKN
-33CD  ; [.16B2.0020.001D.33CD][.16B2.0020.001D.33CD] # SQUARE KK; QQKN
-3398  ; [.16B2.0020.001C.3398][.16C4.0020.001C.3398] # SQUARE KL; QQKN
-339E  ; [.16B2.0020.001C.339E][.16F4.0020.001C.339E] # SQUARE KM; QQKN
-33CE  ; [.16B2.0020.001D.33CE][.16F4.0020.001D.33CE] # SQUARE KM CAPITAL; QQKN
-33A2  ; [.16B2.0020.001C.33A2][.16F4.0020.001C.33A2][.159B.0020.001F.33A2] # SQUARE KM SQUARED; QQKN
-33A6  ; [.16B2.0020.001C.33A6][.16F4.0020.001C.33A6][.159C.0020.001F.33A6] # SQUARE KM CUBED; QQKN
-33AA  ; [.16B2.0020.001C.33AA][.1749.0020.001D.33AA][.15A3.0020.001F.33AA] # SQUARE KPA; QQKN
-33CF  ; [.16B2.0020.001C.33CF][.17C9.0020.001C.33CF] # SQUARE KT; QQKN
-33B8  ; [.16B2.0020.001C.33B8][.1812.0020.001D.33B8] # SQUARE KV; QQKN
-33BE  ; [.16B2.0020.001C.33BE][.1824.0020.001D.33BE] # SQUARE KW; QQKN
-33C0  ; [.16B2.0020.001C.33C0][.1904.0020.001D.33C0] # SQUARE K OHM; QQKN
-1D0B  ; [.16B6.0020.0002.1D0B] # LATIN LETTER SMALL CAPITAL K
-1D84  ; [.16B7.0020.0002.1D84] # LATIN SMALL LETTER K WITH PALATAL HOOK
-0199  ; [.16B8.0020.0002.0199] # LATIN SMALL LETTER K WITH HOOK
-0198  ; [.16B8.0020.0008.0198] # LATIN CAPITAL LETTER K WITH HOOK
-2C6A  ; [.16BC.0020.0002.2C6A] # LATIN SMALL LETTER K WITH DESCENDER
-2C69  ; [.16BC.0020.0008.2C69] # LATIN CAPITAL LETTER K WITH DESCENDER
-A741  ; [.16BD.0020.0002.A741] # LATIN SMALL LETTER K WITH STROKE
-A740  ; [.16BD.0020.0008.A740] # LATIN CAPITAL LETTER K WITH STROKE
-A743  ; [.16BE.0020.0002.A743] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
-A742  ; [.16BE.0020.0008.A742] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
-A745  ; [.16BF.0020.0002.A745] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
-A744  ; [.16BF.0020.0008.A744] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
-029E  ; [.16C0.0020.0002.029E] # LATIN SMALL LETTER TURNED K
-006C  ; [.16C4.0020.0002.006C] # LATIN SMALL LETTER L
-FF4C  ; [.16C4.0020.0003.FF4C] # FULLWIDTH LATIN SMALL LETTER L; QQK
-1DDD  ; [.16C4.0020.0004.1DDD] # COMBINING LATIN SMALL LETTER L; QQK
-217C  ; [.16C4.0020.0004.217C] # SMALL ROMAN NUMERAL FIFTY; QQK
-24A7  ; [*030E.0020.0004.24A7][.16C4.0020.0004.24A7][*030F.0020.001F.24A7] # PARENTHESIZED LATIN SMALL LETTER L; QQKN
-2113  ; [.16C4.0020.0005.2113] # SCRIPT SMALL L; QQK
-1D425 ; [.16C4.0020.0005.1D425] # MATHEMATICAL BOLD SMALL L; QQK
-1D459 ; [.16C4.0020.0005.1D459] # MATHEMATICAL ITALIC SMALL L; QQK
-1D48D ; [.16C4.0020.0005.1D48D] # MATHEMATICAL BOLD ITALIC SMALL L; QQK
-1D4C1 ; [.16C4.0020.0005.1D4C1] # MATHEMATICAL SCRIPT SMALL L; QQK
-1D4F5 ; [.16C4.0020.0005.1D4F5] # MATHEMATICAL BOLD SCRIPT SMALL L; QQK
-1D529 ; [.16C4.0020.0005.1D529] # MATHEMATICAL FRAKTUR SMALL L; QQK
-1D55D ; [.16C4.0020.0005.1D55D] # MATHEMATICAL DOUBLE-STRUCK SMALL L; QQK
-1D591 ; [.16C4.0020.0005.1D591] # MATHEMATICAL BOLD FRAKTUR SMALL L; QQK
-1D5C5 ; [.16C4.0020.0005.1D5C5] # MATHEMATICAL SANS-SERIF SMALL L; QQK
-1D5F9 ; [.16C4.0020.0005.1D5F9] # MATHEMATICAL SANS-SERIF BOLD SMALL L; QQK
-1D62D ; [.16C4.0020.0005.1D62D] # MATHEMATICAL SANS-SERIF ITALIC SMALL L; QQK
-1D661 ; [.16C4.0020.0005.1D661] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L; QQK
-1D695 ; [.16C4.0020.0005.1D695] # MATHEMATICAL MONOSPACE SMALL L; QQK
-24DB  ; [.16C4.0020.0006.24DB] # CIRCLED LATIN SMALL LETTER L; QQK
-004C  ; [.16C4.0020.0008.004C] # LATIN CAPITAL LETTER L
-FF2C  ; [.16C4.0020.0009.FF2C] # FULLWIDTH LATIN CAPITAL LETTER L; QQK
-216C  ; [.16C4.0020.000A.216C] # ROMAN NUMERAL FIFTY; QQK
-1F11B ; [*030E.0020.0004.1F11B][.16C4.0020.000A.1F11B][*030F.0020.001F.1F11B] # PARENTHESIZED LATIN CAPITAL LETTER L; QQKN
-1F1F1 ; [.16C4.0020.000A.1F1F1] # REGIONAL INDICATOR SYMBOL LETTER L; QQK
-2112  ; [.16C4.0020.000B.2112] # SCRIPT CAPITAL L; QQK
-1D40B ; [.16C4.0020.000B.1D40B] # MATHEMATICAL BOLD CAPITAL L; QQK
-1D43F ; [.16C4.0020.000B.1D43F] # MATHEMATICAL ITALIC CAPITAL L; QQK
-1D473 ; [.16C4.0020.000B.1D473] # MATHEMATICAL BOLD ITALIC CAPITAL L; QQK
-1D4DB ; [.16C4.0020.000B.1D4DB] # MATHEMATICAL BOLD SCRIPT CAPITAL L; QQK
-1D50F ; [.16C4.0020.000B.1D50F] # MATHEMATICAL FRAKTUR CAPITAL L; QQK
-1D543 ; [.16C4.0020.000B.1D543] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L; QQK
-1D577 ; [.16C4.0020.000B.1D577] # MATHEMATICAL BOLD FRAKTUR CAPITAL L; QQK
-1D5AB ; [.16C4.0020.000B.1D5AB] # MATHEMATICAL SANS-SERIF CAPITAL L; QQK
-1D5DF ; [.16C4.0020.000B.1D5DF] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L; QQK
-1D613 ; [.16C4.0020.000B.1D613] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L; QQK
-1D647 ; [.16C4.0020.000B.1D647] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L; QQK
-1D67B ; [.16C4.0020.000B.1D67B] # MATHEMATICAL MONOSPACE CAPITAL L; QQK
-24C1  ; [.16C4.0020.000C.24C1] # CIRCLED LATIN CAPITAL LETTER L; QQK
-1F15B ; [.16C4.0020.000C.1F15B] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L; QQK
-02E1  ; [.16C4.0020.0014.02E1] # MODIFIER LETTER SMALL L; QQK
-2097  ; [.16C4.0020.0015.2097] # LATIN SUBSCRIPT SMALL LETTER L; QQK
-1D38  ; [.16C4.0020.001D.1D38] # MODIFIER LETTER CAPITAL L; QQK
-1F13B ; [.16C4.0020.001D.1F13B] # SQUARED LATIN CAPITAL LETTER L; QQK
-1F17B ; [.16C4.0020.001D.1F17B] # NEGATIVE SQUARED LATIN CAPITAL LETTER L; QQK
-013A  ; [.16C4.0020.0002.006C][.0000.0032.0002.0301] # LATIN SMALL LETTER L WITH ACUTE; QQCM
-0139  ; [.16C4.0020.0008.004C][.0000.0032.0002.0301] # LATIN CAPITAL LETTER L WITH ACUTE; QQCM
-013E  ; [.16C4.0020.0002.006C][.0000.0041.0002.030C] # LATIN SMALL LETTER L WITH CARON; QQCM
-013D  ; [.16C4.0020.0008.004C][.0000.0041.0002.030C] # LATIN CAPITAL LETTER L WITH CARON; QQCM
-013C  ; [.16C4.0020.0002.006C][.0000.0056.0002.0327] # LATIN SMALL LETTER L WITH CEDILLA; QQCM
-013B  ; [.16C4.0020.0008.004C][.0000.0056.0002.0327] # LATIN CAPITAL LETTER L WITH CEDILLA; QQCM
-1E37  ; [.16C4.0020.0002.006C][.0000.0070.0002.0323] # LATIN SMALL LETTER L WITH DOT BELOW; QQCM
-1E36  ; [.16C4.0020.0008.004C][.0000.0070.0002.0323] # LATIN CAPITAL LETTER L WITH DOT BELOW; QQCM
-1E39  ; [.16C4.0020.0002.006C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON; QQCM
-1E38  ; [.16C4.0020.0008.004C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON; QQCM
-1E3D  ; [.16C4.0020.0002.006C][.0000.0078.0002.032D] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW; QQCM
-1E3C  ; [.16C4.0020.0008.004C][.0000.0078.0002.032D] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW; QQCM
-1E3B  ; [.16C4.0020.0002.006C][.0000.007B.0002.0331] # LATIN SMALL LETTER L WITH LINE BELOW; QQCM
-1E3A  ; [.16C4.0020.0008.004C][.0000.007B.0002.0331] # LATIN CAPITAL LETTER L WITH LINE BELOW; QQCM
-0142  ; [.16C4.0020.0002.006C][.0000.007D.0002.0335] # LATIN SMALL LETTER L WITH STROKE; QQCM
-0141  ; [.16C4.0020.0008.004C][.0000.007D.0002.0335] # LATIN CAPITAL LETTER L WITH STROKE; QQCM
-0140  ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT; QQKL
-006C 00B7 ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
-006C 0387 ; [.16C4.0020.0002.0140][.0000.015F.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
-013F  ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT; QQKL
-004C 00B7 ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-004C 0387 ; [.16C4.0020.0008.013F][.0000.015F.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
-01C9  ; [.16C4.0020.0004.01C9][.1699.0020.0004.01C9] # LATIN SMALL LETTER LJ; QQKN
-01C8  ; [.16C4.0020.000A.01C8][.1699.0020.0004.01C8] # LATIN CAPITAL LETTER L WITH SMALL LETTER J; QQKN
-01C7  ; [.16C4.0020.000A.01C7][.1699.0020.000A.01C7] # LATIN CAPITAL LETTER LJ; QQKN
-1EFB  ; [.16C4.0020.0004.1EFB][.16C4.0020.0004.1EFB] # LATIN SMALL LETTER MIDDLE-WELSH LL; QQKN
-1EFA  ; [.16C4.0020.000A.1EFA][.16C4.0020.000A.1EFA] # LATIN CAPITAL LETTER MIDDLE-WELSH LL; QQKN
-33D0  ; [.16C4.0020.001C.33D0][.16F4.0020.001C.33D0] # SQUARE LM; QQKN
-33D1  ; [.16C4.0020.001C.33D1][.1702.0020.001C.33D1] # SQUARE LN; QQKN
-33D2  ; [.16C4.0020.001C.33D2][.1724.0020.001C.33D2][.1644.0020.001F.33D2] # SQUARE LOG; QQKN
-02AA  ; [.16C4.0020.0004.02AA][.17A6.0020.0004.02AA] # LATIN SMALL LETTER LS DIGRAPH; QQKN
-32CF  ; [.16C4.0020.001D.32CF][.17C9.0020.001D.32CF][.15E4.0020.001F.32CF] # LIMITED LIABILITY SIGN; QQKN
-33D3  ; [.16C4.0020.001C.33D3][.182E.0020.001C.33D3] # SQUARE LX; QQKN
-02AB  ; [.16C4.0020.0004.02AB][.1844.0020.0004.02AB] # LATIN SMALL LETTER LZ DIGRAPH; QQKN
-029F  ; [.16C8.0020.0002.029F] # LATIN LETTER SMALL CAPITAL L
-1DDE  ; [.16C8.0020.0004.1DDE] # COMBINING LATIN LETTER SMALL CAPITAL L; QQK
-1DAB  ; [.16C8.0020.0014.1DAB] # MODIFIER LETTER SMALL CAPITAL L; QQK
-A747  ; [.16CC.0020.0002.A747] # LATIN SMALL LETTER BROKEN L
-A746  ; [.16CC.0020.0008.A746] # LATIN CAPITAL LETTER BROKEN L
-1D0C  ; [.16CD.0020.0002.1D0C] # LATIN LETTER SMALL CAPITAL L WITH STROKE
-A749  ; [.16CE.0020.0002.A749] # LATIN SMALL LETTER L WITH HIGH STROKE
-A748  ; [.16CE.0020.0008.A748] # LATIN CAPITAL LETTER L WITH HIGH STROKE
-019A  ; [.16CF.0020.0002.019A] # LATIN SMALL LETTER L WITH BAR
-023D  ; [.16CF.0020.0008.023D] # LATIN CAPITAL LETTER L WITH BAR
-2C61  ; [.16D3.0020.0002.2C61] # LATIN SMALL LETTER L WITH DOUBLE BAR
-2C60  ; [.16D3.0020.0008.2C60] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
-026B  ; [.16D4.0020.0002.026B] # LATIN SMALL LETTER L WITH MIDDLE TILDE
-2C62  ; [.16D4.0020.0008.2C62] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
-026C  ; [.16D8.0020.0002.026C] # LATIN SMALL LETTER L WITH BELT
-1D85  ; [.16DC.0020.0002.1D85] # LATIN SMALL LETTER L WITH PALATAL HOOK
-1DAA  ; [.16DC.0020.0014.1DAA] # MODIFIER LETTER SMALL L WITH PALATAL HOOK; QQK
-026D  ; [.16DD.0020.0002.026D] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
-1DA9  ; [.16DD.0020.0014.1DA9] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK; QQK
-A78E  ; [.16E1.0020.0002.A78E] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
-0234  ; [.16E2.0020.0002.0234] # LATIN SMALL LETTER L WITH CURL
-A772  ; [.16E6.0020.0002.A772] # LATIN SMALL LETTER LUM
-026E  ; [.16E7.0020.0002.026E] # LATIN SMALL LETTER LEZH
-A781  ; [.16EB.0020.0002.A781] # LATIN SMALL LETTER TURNED L
-A780  ; [.16EB.0020.0008.A780] # LATIN CAPITAL LETTER TURNED L
-019B  ; [.16EC.0020.0002.019B] # LATIN SMALL LETTER LAMBDA WITH STROKE
-028E  ; [.16F0.0020.0002.028E] # LATIN SMALL LETTER TURNED Y
-006D  ; [.16F4.0020.0002.006D] # LATIN SMALL LETTER M
-FF4D  ; [.16F4.0020.0003.FF4D] # FULLWIDTH LATIN SMALL LETTER M; QQK
-036B  ; [.16F4.0020.0004.036B] # COMBINING LATIN SMALL LETTER M; QQK
-217F  ; [.16F4.0020.0004.217F] # SMALL ROMAN NUMERAL ONE THOUSAND; QQK
-24A8  ; [*030E.0020.0004.24A8][.16F4.0020.0004.24A8][*030F.0020.001F.24A8] # PARENTHESIZED LATIN SMALL LETTER M; QQKN
-1D426 ; [.16F4.0020.0005.1D426] # MATHEMATICAL BOLD SMALL M; QQK
-1D45A ; [.16F4.0020.0005.1D45A] # MATHEMATICAL ITALIC SMALL M; QQK
-1D48E ; [.16F4.0020.0005.1D48E] # MATHEMATICAL BOLD ITALIC SMALL M; QQK
-1D4C2 ; [.16F4.0020.0005.1D4C2] # MATHEMATICAL SCRIPT SMALL M; QQK
-1D4F6 ; [.16F4.0020.0005.1D4F6] # MATHEMATICAL BOLD SCRIPT SMALL M; QQK
-1D52A ; [.16F4.0020.0005.1D52A] # MATHEMATICAL FRAKTUR SMALL M; QQK
-1D55E ; [.16F4.0020.0005.1D55E] # MATHEMATICAL DOUBLE-STRUCK SMALL M; QQK
-1D592 ; [.16F4.0020.0005.1D592] # MATHEMATICAL BOLD FRAKTUR SMALL M; QQK
-1D5C6 ; [.16F4.0020.0005.1D5C6] # MATHEMATICAL SANS-SERIF SMALL M; QQK
-1D5FA ; [.16F4.0020.0005.1D5FA] # MATHEMATICAL SANS-SERIF BOLD SMALL M; QQK
-1D62E ; [.16F4.0020.0005.1D62E] # MATHEMATICAL SANS-SERIF ITALIC SMALL M; QQK
-1D662 ; [.16F4.0020.0005.1D662] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M; QQK
-1D696 ; [.16F4.0020.0005.1D696] # MATHEMATICAL MONOSPACE SMALL M; QQK
-24DC  ; [.16F4.0020.0006.24DC] # CIRCLED LATIN SMALL LETTER M; QQK
-004D  ; [.16F4.0020.0008.004D] # LATIN CAPITAL LETTER M
-FF2D  ; [.16F4.0020.0009.FF2D] # FULLWIDTH LATIN CAPITAL LETTER M; QQK
-216F  ; [.16F4.0020.000A.216F] # ROMAN NUMERAL ONE THOUSAND; QQK
-1F11C ; [*030E.0020.0004.1F11C][.16F4.0020.000A.1F11C][*030F.0020.001F.1F11C] # PARENTHESIZED LATIN CAPITAL LETTER M; QQKN
-1F1F2 ; [.16F4.0020.000A.1F1F2] # REGIONAL INDICATOR SYMBOL LETTER M; QQK
-2133  ; [.16F4.0020.000B.2133] # SCRIPT CAPITAL M; QQK
-1D40C ; [.16F4.0020.000B.1D40C] # MATHEMATICAL BOLD CAPITAL M; QQK
-1D440 ; [.16F4.0020.000B.1D440] # MATHEMATICAL ITALIC CAPITAL M; QQK
-1D474 ; [.16F4.0020.000B.1D474] # MATHEMATICAL BOLD ITALIC CAPITAL M; QQK
-1D4DC ; [.16F4.0020.000B.1D4DC] # MATHEMATICAL BOLD SCRIPT CAPITAL M; QQK
-1D510 ; [.16F4.0020.000B.1D510] # MATHEMATICAL FRAKTUR CAPITAL M; QQK
-1D544 ; [.16F4.0020.000B.1D544] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M; QQK
-1D578 ; [.16F4.0020.000B.1D578] # MATHEMATICAL BOLD FRAKTUR CAPITAL M; QQK
-1D5AC ; [.16F4.0020.000B.1D5AC] # MATHEMATICAL SANS-SERIF CAPITAL M; QQK
-1D5E0 ; [.16F4.0020.000B.1D5E0] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M; QQK
-1D614 ; [.16F4.0020.000B.1D614] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M; QQK
-1D648 ; [.16F4.0020.000B.1D648] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M; QQK
-1D67C ; [.16F4.0020.000B.1D67C] # MATHEMATICAL MONOSPACE CAPITAL M; QQK
-24C2  ; [.16F4.0020.000C.24C2] # CIRCLED LATIN CAPITAL LETTER M; QQK
-1F15C ; [.16F4.0020.000C.1F15C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M; QQK
-1D50  ; [.16F4.0020.0014.1D50] # MODIFIER LETTER SMALL M; QQK
-2098  ; [.16F4.0020.0015.2098] # LATIN SUBSCRIPT SMALL LETTER M; QQK
-1D39  ; [.16F4.0020.001D.1D39] # MODIFIER LETTER CAPITAL M; QQK
-1F13C ; [.16F4.0020.001D.1F13C] # SQUARED LATIN CAPITAL LETTER M; QQK
-1F17C ; [.16F4.0020.001D.1F17C] # NEGATIVE SQUARED LATIN CAPITAL LETTER M; QQK
-1E3F  ; [.16F4.0020.0002.006D][.0000.0032.0002.0301] # LATIN SMALL LETTER M WITH ACUTE; QQCM
-1E3E  ; [.16F4.0020.0008.004D][.0000.0032.0002.0301] # LATIN CAPITAL LETTER M WITH ACUTE; QQCM
-1E41  ; [.16F4.0020.0002.006D][.0000.0052.0002.0307] # LATIN SMALL LETTER M WITH DOT ABOVE; QQCM
-1E40  ; [.16F4.0020.0008.004D][.0000.0052.0002.0307] # LATIN CAPITAL LETTER M WITH DOT ABOVE; QQCM
-1E43  ; [.16F4.0020.0002.006D][.0000.0070.0002.0323] # LATIN SMALL LETTER M WITH DOT BELOW; QQCM
-1E42  ; [.16F4.0020.0008.004D][.0000.0070.0002.0323] # LATIN CAPITAL LETTER M WITH DOT BELOW; QQCM
-33A1  ; [.16F4.0020.001C.33A1][.159B.0020.001C.33A1] # SQUARE M SQUARED; QQKN
-33A5  ; [.16F4.0020.001C.33A5][.159C.0020.001C.33A5] # SQUARE M CUBED; QQKN
-3383  ; [.16F4.0020.001C.3383][.15A3.0020.001D.3383] # SQUARE MA; QQKN
-33D4  ; [.16F4.0020.001C.33D4][.15B9.0020.001C.33D4] # SQUARE MB SMALL; QQKN
-3386  ; [.16F4.0020.001D.3386][.15B9.0020.001D.3386] # SQUARE MB; QQKN
-338E  ; [.16F4.0020.001C.338E][.1644.0020.001C.338E] # SQUARE MG; QQKN
-3392  ; [.16F4.0020.001D.3392][.1667.0020.001D.3392][.1844.0020.001F.3392] # SQUARE MHZ; QQKN
-33D5  ; [.16F4.0020.001C.33D5][.1680.0020.001C.33D5][.16C4.0020.001F.33D5] # SQUARE MIL; QQKN
-3396  ; [.16F4.0020.001C.3396][.16C4.0020.001C.3396] # SQUARE ML; QQKN
-339C  ; [.16F4.0020.001C.339C][.16F4.0020.001C.339C] # SQUARE MM; QQKN
-339F  ; [.16F4.0020.001C.339F][.16F4.0020.001C.339F][.159B.0020.001F.339F] # SQUARE MM SQUARED; QQKN
-33A3  ; [.16F4.0020.001C.33A3][.16F4.0020.001C.33A3][.159C.0020.001F.33A3] # SQUARE MM CUBED; QQKN
-33D6  ; [.16F4.0020.001C.33D6][.1724.0020.001C.33D6][.16C4.0020.001F.33D6] # SQUARE MOL; QQKN
-33AB  ; [.16F4.0020.001D.33AB][.1749.0020.001D.33AB][.15A3.0020.001F.33AB] # SQUARE MPA; QQKN
-33B3  ; [.16F4.0020.001C.33B3][.17A6.0020.001C.33B3] # SQUARE MS; QQKN
-33A7  ; [.16F4.0020.001C.33A7][*0579.0020.001C.33A7][.17A6.0020.001F.33A7] # SQUARE M OVER S; QQKN
-33A8  ; [.16F4.0020.001C.33A8][*0579.0020.001C.33A8][.17A6.0020.001F.33A8][.159B.0020.001F.33A8] # SQUARE M OVER S SQUARED; QQKN
-33B7  ; [.16F4.0020.001C.33B7][.1812.0020.001D.33B7] # SQUARE MV; QQKN
-33B9  ; [.16F4.0020.001D.33B9][.1812.0020.001D.33B9] # SQUARE MV MEGA; QQKN
-1F14B ; [.16F4.0020.001D.1F14B][.1812.0020.001D.1F14B] # SQUARED MV; QQKN
-33BD  ; [.16F4.0020.001C.33BD][.1824.0020.001D.33BD] # SQUARE MW; QQKN
-33BF  ; [.16F4.0020.001D.33BF][.1824.0020.001D.33BF] # SQUARE MW MEGA; QQKN
-33C1  ; [.16F4.0020.001D.33C1][.1904.0020.001D.33C1] # SQUARE M OHM; QQKN
-1D0D  ; [.16F8.0020.0002.1D0D] # LATIN LETTER SMALL CAPITAL M
-1DDF  ; [.16F8.0020.0004.1DDF] # COMBINING LATIN LETTER SMALL CAPITAL M; QQK
-1D6F  ; [.16F9.0020.0002.1D6F] # LATIN SMALL LETTER M WITH MIDDLE TILDE
-1D86  ; [.16FA.0020.0002.1D86] # LATIN SMALL LETTER M WITH PALATAL HOOK
-0271  ; [.16FB.0020.0002.0271] # LATIN SMALL LETTER M WITH HOOK
-2C6E  ; [.16FB.0020.0008.2C6E] # LATIN CAPITAL LETTER M WITH HOOK
-1DAC  ; [.16FB.0020.0014.1DAC] # MODIFIER LETTER SMALL M WITH HOOK; QQK
-A7FD  ; [.16FF.0020.0002.A7FD] # LATIN EPIGRAPHIC LETTER INVERTED M
-A7FF  ; [.1700.0020.0002.A7FF] # LATIN EPIGRAPHIC LETTER ARCHAIC M
-A773  ; [.1701.0020.0002.A773] # LATIN SMALL LETTER MUM
-006E  ; [.1702.0020.0002.006E] # LATIN SMALL LETTER N
-FF4E  ; [.1702.0020.0003.FF4E] # FULLWIDTH LATIN SMALL LETTER N; QQK
-1DE0  ; [.1702.0020.0004.1DE0] # COMBINING LATIN SMALL LETTER N; QQK
-24A9  ; [*030E.0020.0004.24A9][.1702.0020.0004.24A9][*030F.0020.001F.24A9] # PARENTHESIZED LATIN SMALL LETTER N; QQKN
-1D427 ; [.1702.0020.0005.1D427] # MATHEMATICAL BOLD SMALL N; QQK
-1D45B ; [.1702.0020.0005.1D45B] # MATHEMATICAL ITALIC SMALL N; QQK
-1D48F ; [.1702.0020.0005.1D48F] # MATHEMATICAL BOLD ITALIC SMALL N; QQK
-1D4C3 ; [.1702.0020.0005.1D4C3] # MATHEMATICAL SCRIPT SMALL N; QQK
-1D4F7 ; [.1702.0020.0005.1D4F7] # MATHEMATICAL BOLD SCRIPT SMALL N; QQK
-1D52B ; [.1702.0020.0005.1D52B] # MATHEMATICAL FRAKTUR SMALL N; QQK
-1D55F ; [.1702.0020.0005.1D55F] # MATHEMATICAL DOUBLE-STRUCK SMALL N; QQK
-1D593 ; [.1702.0020.0005.1D593] # MATHEMATICAL BOLD FRAKTUR SMALL N; QQK
-1D5C7 ; [.1702.0020.0005.1D5C7] # MATHEMATICAL SANS-SERIF SMALL N; QQK
-1D5FB ; [.1702.0020.0005.1D5FB] # MATHEMATICAL SANS-SERIF BOLD SMALL N; QQK
-1D62F ; [.1702.0020.0005.1D62F] # MATHEMATICAL SANS-SERIF ITALIC SMALL N; QQK
-1D663 ; [.1702.0020.0005.1D663] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N; QQK
-1D697 ; [.1702.0020.0005.1D697] # MATHEMATICAL MONOSPACE SMALL N; QQK
-24DD  ; [.1702.0020.0006.24DD] # CIRCLED LATIN SMALL LETTER N; QQK
-004E  ; [.1702.0020.0008.004E] # LATIN CAPITAL LETTER N
-FF2E  ; [.1702.0020.0009.FF2E] # FULLWIDTH LATIN CAPITAL LETTER N; QQK
-1F11D ; [*030E.0020.0004.1F11D][.1702.0020.000A.1F11D][*030F.0020.001F.1F11D] # PARENTHESIZED LATIN CAPITAL LETTER N; QQKN
-1F1F3 ; [.1702.0020.000A.1F1F3] # REGIONAL INDICATOR SYMBOL LETTER N; QQK
-2115  ; [.1702.0020.000B.2115] # DOUBLE-STRUCK CAPITAL N; QQK
-1D40D ; [.1702.0020.000B.1D40D] # MATHEMATICAL BOLD CAPITAL N; QQK
-1D441 ; [.1702.0020.000B.1D441] # MATHEMATICAL ITALIC CAPITAL N; QQK
-1D475 ; [.1702.0020.000B.1D475] # MATHEMATICAL BOLD ITALIC CAPITAL N; QQK
-1D4A9 ; [.1702.0020.000B.1D4A9] # MATHEMATICAL SCRIPT CAPITAL N; QQK
-1D4DD ; [.1702.0020.000B.1D4DD] # MATHEMATICAL BOLD SCRIPT CAPITAL N; QQK
-1D511 ; [.1702.0020.000B.1D511] # MATHEMATICAL FRAKTUR CAPITAL N; QQK
-1D579 ; [.1702.0020.000B.1D579] # MATHEMATICAL BOLD FRAKTUR CAPITAL N; QQK
-1D5AD ; [.1702.0020.000B.1D5AD] # MATHEMATICAL SANS-SERIF CAPITAL N; QQK
-1D5E1 ; [.1702.0020.000B.1D5E1] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N; QQK
-1D615 ; [.1702.0020.000B.1D615] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N; QQK
-1D649 ; [.1702.0020.000B.1D649] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N; QQK
-1D67D ; [.1702.0020.000B.1D67D] # MATHEMATICAL MONOSPACE CAPITAL N; QQK
-24C3  ; [.1702.0020.000C.24C3] # CIRCLED LATIN CAPITAL LETTER N; QQK
-1F15D ; [.1702.0020.000C.1F15D] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N; QQK
-207F  ; [.1702.0020.0014.207F] # SUPERSCRIPT LATIN SMALL LETTER N; QQK
-2099  ; [.1702.0020.0015.2099] # LATIN SUBSCRIPT SMALL LETTER N; QQK
-1D3A  ; [.1702.0020.001D.1D3A] # MODIFIER LETTER CAPITAL N; QQK
-1F13D ; [.1702.0020.001D.1F13D] # SQUARED LATIN CAPITAL LETTER N; QQK
-1F17D ; [.1702.0020.001D.1F17D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N; QQK
-0144  ; [.1702.0020.0002.006E][.0000.0032.0002.0301] # LATIN SMALL LETTER N WITH ACUTE; QQCM
-0143  ; [.1702.0020.0008.004E][.0000.0032.0002.0301] # LATIN CAPITAL LETTER N WITH ACUTE; QQCM
-01F9  ; [.1702.0020.0002.006E][.0000.0035.0002.0300] # LATIN SMALL LETTER N WITH GRAVE; QQCM
-01F8  ; [.1702.0020.0008.004E][.0000.0035.0002.0300] # LATIN CAPITAL LETTER N WITH GRAVE; QQCM
-0148  ; [.1702.0020.0002.006E][.0000.0041.0002.030C] # LATIN SMALL LETTER N WITH CARON; QQCM
-0147  ; [.1702.0020.0008.004E][.0000.0041.0002.030C] # LATIN CAPITAL LETTER N WITH CARON; QQCM
-00F1  ; [.1702.0020.0002.006E][.0000.004E.0002.0303] # LATIN SMALL LETTER N WITH TILDE; QQCM
-00D1  ; [.1702.0020.0008.004E][.0000.004E.0002.0303] # LATIN CAPITAL LETTER N WITH TILDE; QQCM
-1E45  ; [.1702.0020.0002.006E][.0000.0052.0002.0307] # LATIN SMALL LETTER N WITH DOT ABOVE; QQCM
-1E44  ; [.1702.0020.0008.004E][.0000.0052.0002.0307] # LATIN CAPITAL LETTER N WITH DOT ABOVE; QQCM
-0146  ; [.1702.0020.0002.006E][.0000.0056.0002.0327] # LATIN SMALL LETTER N WITH CEDILLA; QQCM
-0145  ; [.1702.0020.0008.004E][.0000.0056.0002.0327] # LATIN CAPITAL LETTER N WITH CEDILLA; QQCM
-A7A5  ; [.1702.0020.0004.A7A5][.0000.0061.0004.A7A5] # LATIN SMALL LETTER N WITH OBLIQUE STROKE; QQKN
-A7A4  ; [.1702.0020.000A.A7A4][.0000.0061.0004.A7A4] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE; QQKN
-1E47  ; [.1702.0020.0002.006E][.0000.0070.0002.0323] # LATIN SMALL LETTER N WITH DOT BELOW; QQCM
-1E46  ; [.1702.0020.0008.004E][.0000.0070.0002.0323] # LATIN CAPITAL LETTER N WITH DOT BELOW; QQCM
-1E4B  ; [.1702.0020.0002.006E][.0000.0078.0002.032D] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW; QQCM
-1E4A  ; [.1702.0020.0008.004E][.0000.0078.0002.032D] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW; QQCM
-1E49  ; [.1702.0020.0002.006E][.0000.007B.0002.0331] # LATIN SMALL LETTER N WITH LINE BELOW; QQCM
-1E48  ; [.1702.0020.0008.004E][.0000.007B.0002.0331] # LATIN CAPITAL LETTER N WITH LINE BELOW; QQCM
-3381  ; [.1702.0020.001C.3381][.15A3.0020.001D.3381] # SQUARE NA; QQKN
-1F195 ; [.1702.0020.001D.1F195][.15FF.0020.001D.1F195][.1824.0020.001F.1F195] # SQUARED NEW; QQKN
-338B  ; [.1702.0020.001C.338B][.1637.0020.001D.338B] # SQUARE NF; QQKN
-1F196 ; [.1702.0020.001D.1F196][.1644.0020.001D.1F196] # SQUARED NG; QQKN
-01CC  ; [.1702.0020.0004.01CC][.1699.0020.0004.01CC] # LATIN SMALL LETTER NJ; QQKN
-01CB  ; [.1702.0020.000A.01CB][.1699.0020.0004.01CB] # LATIN CAPITAL LETTER N WITH SMALL LETTER J; QQKN
-01CA  ; [.1702.0020.000A.01CA][.1699.0020.000A.01CA] # LATIN CAPITAL LETTER NJ; QQKN
-339A  ; [.1702.0020.001C.339A][.16F4.0020.001C.339A] # SQUARE NM; QQKN
-2116  ; [.1702.0020.000A.2116][.1724.0020.0004.2116] # NUMERO SIGN; QQKN
-33B1  ; [.1702.0020.001C.33B1][.17A6.0020.001C.33B1] # SQUARE NS; QQKN
-33B5  ; [.1702.0020.001C.33B5][.1812.0020.001D.33B5] # SQUARE NV; QQKN
-33BB  ; [.1702.0020.001C.33BB][.1824.0020.001D.33BB] # SQUARE NW; QQKN
-0274  ; [.1706.0020.0002.0274] # LATIN LETTER SMALL CAPITAL N
-1DE1  ; [.1706.0020.0004.1DE1] # COMBINING LATIN LETTER SMALL CAPITAL N; QQK
-1DB0  ; [.1706.0020.0014.1DB0] # MODIFIER LETTER SMALL CAPITAL N; QQK
-1D3B  ; [.170A.0020.0002.1D3B] # MODIFIER LETTER CAPITAL REVERSED N
-1D0E  ; [.170B.0020.0002.1D0E] # LATIN LETTER SMALL CAPITAL REVERSED N
-1D70  ; [.170C.0020.0002.1D70] # LATIN SMALL LETTER N WITH MIDDLE TILDE
-0272  ; [.170D.0020.0002.0272] # LATIN SMALL LETTER N WITH LEFT HOOK
-019D  ; [.170D.0020.0008.019D] # LATIN CAPITAL LETTER N WITH LEFT HOOK
-1DAE  ; [.170D.0020.0014.1DAE] # MODIFIER LETTER SMALL N WITH LEFT HOOK; QQK
-019E  ; [.1711.0020.0002.019E] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
-0220  ; [.1711.0020.0008.0220] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
-A791  ; [.1715.0020.0002.A791] # LATIN SMALL LETTER N WITH DESCENDER
-A790  ; [.1715.0020.0008.A790] # LATIN CAPITAL LETTER N WITH DESCENDER
-1D87  ; [.1716.0020.0002.1D87] # LATIN SMALL LETTER N WITH PALATAL HOOK
-0273  ; [.1717.0020.0002.0273] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
-1DAF  ; [.1717.0020.0014.1DAF] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK; QQK
-0235  ; [.171B.0020.0002.0235] # LATIN SMALL LETTER N WITH CURL
-A774  ; [.171F.0020.0002.A774] # LATIN SMALL LETTER NUM
-014B  ; [.1720.0020.0002.014B] # LATIN SMALL LETTER ENG
-014A  ; [.1720.0020.0008.014A] # LATIN CAPITAL LETTER ENG
-1D51  ; [.1720.0020.0014.1D51] # MODIFIER LETTER SMALL ENG; QQK
-006F  ; [.1724.0020.0002.006F] # LATIN SMALL LETTER O
-FF4F  ; [.1724.0020.0003.FF4F] # FULLWIDTH LATIN SMALL LETTER O; QQK
-0366  ; [.1724.0020.0004.0366] # COMBINING LATIN SMALL LETTER O; QQK
-24AA  ; [*030E.0020.0004.24AA][.1724.0020.0004.24AA][*030F.0020.001F.24AA] # PARENTHESIZED LATIN SMALL LETTER O; QQKN
-2134  ; [.1724.0020.0005.2134] # SCRIPT SMALL O; QQK
-1D428 ; [.1724.0020.0005.1D428] # MATHEMATICAL BOLD SMALL O; QQK
-1D45C ; [.1724.0020.0005.1D45C] # MATHEMATICAL ITALIC SMALL O; QQK
-1D490 ; [.1724.0020.0005.1D490] # MATHEMATICAL BOLD ITALIC SMALL O; QQK
-1D4F8 ; [.1724.0020.0005.1D4F8] # MATHEMATICAL BOLD SCRIPT SMALL O; QQK
-1D52C ; [.1724.0020.0005.1D52C] # MATHEMATICAL FRAKTUR SMALL O; QQK
-1D560 ; [.1724.0020.0005.1D560] # MATHEMATICAL DOUBLE-STRUCK SMALL O; QQK
-1D594 ; [.1724.0020.0005.1D594] # MATHEMATICAL BOLD FRAKTUR SMALL O; QQK
-1D5C8 ; [.1724.0020.0005.1D5C8] # MATHEMATICAL SANS-SERIF SMALL O; QQK
-1D5FC ; [.1724.0020.0005.1D5FC] # MATHEMATICAL SANS-SERIF BOLD SMALL O; QQK
-1D630 ; [.1724.0020.0005.1D630] # MATHEMATICAL SANS-SERIF ITALIC SMALL O; QQK
-1D664 ; [.1724.0020.0005.1D664] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O; QQK
-1D698 ; [.1724.0020.0005.1D698] # MATHEMATICAL MONOSPACE SMALL O; QQK
-24DE  ; [.1724.0020.0006.24DE] # CIRCLED LATIN SMALL LETTER O; QQK
-004F  ; [.1724.0020.0008.004F] # LATIN CAPITAL LETTER O
-FF2F  ; [.1724.0020.0009.FF2F] # FULLWIDTH LATIN CAPITAL LETTER O; QQK
-1F11E ; [*030E.0020.0004.1F11E][.1724.0020.000A.1F11E][*030F.0020.001F.1F11E] # PARENTHESIZED LATIN CAPITAL LETTER O; QQKN
-1F1F4 ; [.1724.0020.000A.1F1F4] # REGIONAL INDICATOR SYMBOL LETTER O; QQK
-1D40E ; [.1724.0020.000B.1D40E] # MATHEMATICAL BOLD CAPITAL O; QQK
-1D442 ; [.1724.0020.000B.1D442] # MATHEMATICAL ITALIC CAPITAL O; QQK
-1D476 ; [.1724.0020.000B.1D476] # MATHEMATICAL BOLD ITALIC CAPITAL O; QQK
-1D4AA ; [.1724.0020.000B.1D4AA] # MATHEMATICAL SCRIPT CAPITAL O; QQK
-1D4DE ; [.1724.0020.000B.1D4DE] # MATHEMATICAL BOLD SCRIPT CAPITAL O; QQK
-1D512 ; [.1724.0020.000B.1D512] # MATHEMATICAL FRAKTUR CAPITAL O; QQK
-1D546 ; [.1724.0020.000B.1D546] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O; QQK
-1D57A ; [.1724.0020.000B.1D57A] # MATHEMATICAL BOLD FRAKTUR CAPITAL O; QQK
-1D5AE ; [.1724.0020.000B.1D5AE] # MATHEMATICAL SANS-SERIF CAPITAL O; QQK
-1D5E2 ; [.1724.0020.000B.1D5E2] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O; QQK
-1D616 ; [.1724.0020.000B.1D616] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O; QQK
-1D64A ; [.1724.0020.000B.1D64A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O; QQK
-1D67E ; [.1724.0020.000B.1D67E] # MATHEMATICAL MONOSPACE CAPITAL O; QQK
-24C4  ; [.1724.0020.000C.24C4] # CIRCLED LATIN CAPITAL LETTER O; QQK
-1F15E ; [.1724.0020.000C.1F15E] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O; QQK
-00BA  ; [.1724.0020.0014.00BA] # MASCULINE ORDINAL INDICATOR; QQK
-1D52  ; [.1724.0020.0014.1D52] # MODIFIER LETTER SMALL O; QQK
-2092  ; [.1724.0020.0015.2092] # LATIN SUBSCRIPT SMALL LETTER O; QQK
-1D3C  ; [.1724.0020.001D.1D3C] # MODIFIER LETTER CAPITAL O; QQK
-1F13E ; [.1724.0020.001D.1F13E] # SQUARED LATIN CAPITAL LETTER O; QQK
-1F17E ; [.1724.0020.001D.1F17E] # NEGATIVE SQUARED LATIN CAPITAL LETTER O; QQK
-00F3  ; [.1724.0020.0002.006F][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH ACUTE; QQCM
-00D3  ; [.1724.0020.0008.004F][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE; QQCM
-00F2  ; [.1724.0020.0002.006F][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH GRAVE; QQCM
-00D2  ; [.1724.0020.0008.004F][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH GRAVE; QQCM
-014F  ; [.1724.0020.0002.006F][.0000.0037.0002.0306] # LATIN SMALL LETTER O WITH BREVE; QQCM
-014E  ; [.1724.0020.0008.004F][.0000.0037.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE; QQCM
-00F4  ; [.1724.0020.0002.006F][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX; QQCM
-00D4  ; [.1724.0020.0008.004F][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX; QQCM
-1ED1  ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE; QQCM
-1ED0  ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE; QQCM
-1ED3  ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE; QQCM
-1ED2  ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE; QQCM
-1ED7  ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE; QQCM
-1ED6  ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE; QQCM
-1ED5  ; [.1724.0020.0002.006F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-1ED4  ; [.1724.0020.0008.004F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE; QQCM
-01D2  ; [.1724.0020.0002.006F][.0000.0041.0002.030C] # LATIN SMALL LETTER O WITH CARON; QQCM
-01D1  ; [.1724.0020.0008.004F][.0000.0041.0002.030C] # LATIN CAPITAL LETTER O WITH CARON; QQCM
-00F6  ; [.1724.0020.0002.006F][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS; QQCM
-00D6  ; [.1724.0020.0008.004F][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS; QQCM
-022B  ; [.1724.0020.0002.006F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON; QQCM
-022A  ; [.1724.0020.0008.004F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON; QQCM
-0151  ; [.1724.0020.0002.006F][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE; QQCM
-0150  ; [.1724.0020.0008.004F][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE; QQCM
-00F5  ; [.1724.0020.0002.006F][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH TILDE; QQCM
-00D5  ; [.1724.0020.0008.004F][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE; QQCM
-1E4D  ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE; QQCM
-1E4C  ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE; QQCM
-1E4F  ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS; QQCM
-1E4E  ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS; QQCM
-022D  ; [.1724.0020.0002.006F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON; QQCM
-022C  ; [.1724.0020.0008.004F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON; QQCM
-022F  ; [.1724.0020.0002.006F][.0000.0052.0002.0307] # LATIN SMALL LETTER O WITH DOT ABOVE; QQCM
-022E  ; [.1724.0020.0008.004F][.0000.0052.0002.0307] # LATIN CAPITAL LETTER O WITH DOT ABOVE; QQCM
-0231  ; [.1724.0020.0002.006F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON; QQCM
-0230  ; [.1724.0020.0008.004F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON; QQCM
-00F8  ; [.1724.0020.0002.006F][.0000.0054.0002.0338] # LATIN SMALL LETTER O WITH STROKE; QQCM
-00D8  ; [.1724.0020.0008.004F][.0000.0054.0002.0338] # LATIN CAPITAL LETTER O WITH STROKE; QQCM
-01FF  ; [.1724.0020.0002.006F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE; QQCM
-01FE  ; [.1724.0020.0008.004F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE; QQCM
-01EB  ; [.1724.0020.0002.006F][.0000.0059.0002.0328] # LATIN SMALL LETTER O WITH OGONEK; QQCM
-01EA  ; [.1724.0020.0008.004F][.0000.0059.0002.0328] # LATIN CAPITAL LETTER O WITH OGONEK; QQCM
-01ED  ; [.1724.0020.0002.006F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH OGONEK AND MACRON; QQCM
-01EC  ; [.1724.0020.0008.004F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON; QQCM
-014D  ; [.1724.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON; QQCM
-014C  ; [.1724.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON; QQCM
-1E53  ; [.1724.0020.0002.006F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH MACRON AND ACUTE; QQCM
-1E52  ; [.1724.0020.0008.004F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE; QQCM
-1E51  ; [.1724.0020.0002.006F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH MACRON AND GRAVE; QQCM
-1E50  ; [.1724.0020.0008.004F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE; QQCM
-1ECF  ; [.1724.0020.0002.006F][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE; QQCM
-1ECE  ; [.1724.0020.0008.004F][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE; QQCM
-020D  ; [.1724.0020.0002.006F][.0000.0065.0002.030F] # LATIN SMALL LETTER O WITH DOUBLE GRAVE; QQCM
-020C  ; [.1724.0020.0008.004F][.0000.0065.0002.030F] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE; QQCM
-020F  ; [.1724.0020.0002.006F][.0000.0067.0002.0311] # LATIN SMALL LETTER O WITH INVERTED BREVE; QQCM
-020E  ; [.1724.0020.0008.004F][.0000.0067.0002.0311] # LATIN CAPITAL LETTER O WITH INVERTED BREVE; QQCM
-01A1  ; [.1724.0020.0002.006F][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN; QQCM
-01A0  ; [.1724.0020.0008.004F][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN; QQCM
-1EDB  ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE; QQCM
-1EDA  ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE; QQCM
-1EDD  ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE; QQCM
-1EDC  ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE; QQCM
-1EE1  ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE; QQCM
-1EE0  ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE; QQCM
-1EDF  ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE; QQCM
-1EDE  ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE; QQCM
-1EE3  ; [.1724.0020.0002.006F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW; QQCM
-1EE2  ; [.1724.0020.0008.004F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW; QQCM
-1ECD  ; [.1724.0020.0002.006F][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW; QQCM
-1ECC  ; [.1724.0020.0008.004F][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW; QQCM
-1ED9  ; [.1724.0020.0002.006F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW; QQCM
-1ED8  ; [.1724.0020.0008.004F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW; QQCM
-0153  ; [.1724.0020.0004.0153][.0000.015F.0004.0153][.15FF.0020.001F.0153] # LATIN SMALL LIGATURE OE; QQKN
-0152  ; [.1724.0020.000A.0152][.0000.015F.0004.0152][.15FF.0020.001F.0152] # LATIN CAPITAL LIGATURE OE; QQKN
-1F197 ; [.1724.0020.001D.1F197][.16B2.0020.001D.1F197] # SQUARED OK; QQKN
-A74F  ; [.1724.0020.0004.A74F][.1724.0020.0004.A74F] # LATIN SMALL LETTER OO; QQKN
-A74E  ; [.1724.0020.000A.A74E][.1724.0020.000A.A74E] # LATIN CAPITAL LETTER OO; QQKN
-3375  ; [.1724.0020.001C.3375][.1812.0020.001D.3375] # SQUARE OV; QQKN
-1D0F  ; [.1728.0020.0002.1D0F] # LATIN LETTER SMALL CAPITAL O
-1D11  ; [.1729.0020.0002.1D11] # LATIN SMALL LETTER SIDEWAYS O
-0276  ; [.172A.0020.0002.0276] # LATIN LETTER SMALL CAPITAL OE
-1D14  ; [.172E.0020.0002.1D14] # LATIN SMALL LETTER TURNED OE
-1D13  ; [.172F.0020.0002.1D13] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
-0254  ; [.1730.0020.0002.0254] # LATIN SMALL LETTER OPEN O
-0186  ; [.1730.0020.0008.0186] # LATIN CAPITAL LETTER OPEN O
-1D53  ; [.1730.0020.0014.1D53] # MODIFIER LETTER SMALL OPEN O; QQK
-1D10  ; [.1734.0020.0002.1D10] # LATIN LETTER SMALL CAPITAL OPEN O
-1D12  ; [.1735.0020.0002.1D12] # LATIN SMALL LETTER SIDEWAYS OPEN O
-1D97  ; [.1736.0020.0002.1D97] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
-A74D  ; [.1737.0020.0002.A74D] # LATIN SMALL LETTER O WITH LOOP
-A74C  ; [.1737.0020.0008.A74C] # LATIN CAPITAL LETTER O WITH LOOP
-1D16  ; [.1738.0020.0002.1D16] # LATIN SMALL LETTER TOP HALF O
-1D54  ; [.1738.0020.0014.1D54] # MODIFIER LETTER SMALL TOP HALF O; QQK
-1D17  ; [.1739.0020.0002.1D17] # LATIN SMALL LETTER BOTTOM HALF O
-1D55  ; [.1739.0020.0014.1D55] # MODIFIER LETTER SMALL BOTTOM HALF O; QQK
-2C7A  ; [.173A.0020.0002.2C7A] # LATIN SMALL LETTER O WITH LOW RING INSIDE
-0275  ; [.173B.0020.0002.0275] # LATIN SMALL LETTER BARRED O
-019F  ; [.173B.0020.0008.019F] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
-1DB1  ; [.173B.0020.0014.1DB1] # MODIFIER LETTER SMALL BARRED O; QQK
-A74B  ; [.173F.0020.0002.A74B] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
-A74A  ; [.173F.0020.0008.A74A] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
-0277  ; [.1740.0020.0002.0277] # LATIN SMALL LETTER CLOSED OMEGA
-0223  ; [.1744.0020.0002.0223] # LATIN SMALL LETTER OU
-0222  ; [.1744.0020.0008.0222] # LATIN CAPITAL LETTER OU
-1D3D  ; [.1744.0020.001D.1D3D] # MODIFIER LETTER CAPITAL OU; QQK
-1D15  ; [.1748.0020.0002.1D15] # LATIN LETTER SMALL CAPITAL OU
-0070  ; [.1749.0020.0002.0070] # LATIN SMALL LETTER P
-FF50  ; [.1749.0020.0003.FF50] # FULLWIDTH LATIN SMALL LETTER P; QQK
-24AB  ; [*030E.0020.0004.24AB][.1749.0020.0004.24AB][*030F.0020.001F.24AB] # PARENTHESIZED LATIN SMALL LETTER P; QQKN
-1D429 ; [.1749.0020.0005.1D429] # MATHEMATICAL BOLD SMALL P; QQK
-1D45D ; [.1749.0020.0005.1D45D] # MATHEMATICAL ITALIC SMALL P; QQK
-1D491 ; [.1749.0020.0005.1D491] # MATHEMATICAL BOLD ITALIC SMALL P; QQK
-1D4C5 ; [.1749.0020.0005.1D4C5] # MATHEMATICAL SCRIPT SMALL P; QQK
-1D4F9 ; [.1749.0020.0005.1D4F9] # MATHEMATICAL BOLD SCRIPT SMALL P; QQK
-1D52D ; [.1749.0020.0005.1D52D] # MATHEMATICAL FRAKTUR SMALL P; QQK
-1D561 ; [.1749.0020.0005.1D561] # MATHEMATICAL DOUBLE-STRUCK SMALL P; QQK
-1D595 ; [.1749.0020.0005.1D595] # MATHEMATICAL BOLD FRAKTUR SMALL P; QQK
-1D5C9 ; [.1749.0020.0005.1D5C9] # MATHEMATICAL SANS-SERIF SMALL P; QQK
-1D5FD ; [.1749.0020.0005.1D5FD] # MATHEMATICAL SANS-SERIF BOLD SMALL P; QQK
-1D631 ; [.1749.0020.0005.1D631] # MATHEMATICAL SANS-SERIF ITALIC SMALL P; QQK
-1D665 ; [.1749.0020.0005.1D665] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P; QQK
-1D699 ; [.1749.0020.0005.1D699] # MATHEMATICAL MONOSPACE SMALL P; QQK
-24DF  ; [.1749.0020.0006.24DF] # CIRCLED LATIN SMALL LETTER P; QQK
-0050  ; [.1749.0020.0008.0050] # LATIN CAPITAL LETTER P
-FF30  ; [.1749.0020.0009.FF30] # FULLWIDTH LATIN CAPITAL LETTER P; QQK
-1F11F ; [*030E.0020.0004.1F11F][.1749.0020.000A.1F11F][*030F.0020.001F.1F11F] # PARENTHESIZED LATIN CAPITAL LETTER P; QQKN
-1F1F5 ; [.1749.0020.000A.1F1F5] # REGIONAL INDICATOR SYMBOL LETTER P; QQK
-2119  ; [.1749.0020.000B.2119] # DOUBLE-STRUCK CAPITAL P; QQK
-1D40F ; [.1749.0020.000B.1D40F] # MATHEMATICAL BOLD CAPITAL P; QQK
-1D443 ; [.1749.0020.000B.1D443] # MATHEMATICAL ITALIC CAPITAL P; QQK
-1D477 ; [.1749.0020.000B.1D477] # MATHEMATICAL BOLD ITALIC CAPITAL P; QQK
-1D4AB ; [.1749.0020.000B.1D4AB] # MATHEMATICAL SCRIPT CAPITAL P; QQK
-1D4DF ; [.1749.0020.000B.1D4DF] # MATHEMATICAL BOLD SCRIPT CAPITAL P; QQK
-1D513 ; [.1749.0020.000B.1D513] # MATHEMATICAL FRAKTUR CAPITAL P; QQK
-1D57B ; [.1749.0020.000B.1D57B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P; QQK
-1D5AF ; [.1749.0020.000B.1D5AF] # MATHEMATICAL SANS-SERIF CAPITAL P; QQK
-1D5E3 ; [.1749.0020.000B.1D5E3] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P; QQK
-1D617 ; [.1749.0020.000B.1D617] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P; QQK
-1D64B ; [.1749.0020.000B.1D64B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P; QQK
-1D67F ; [.1749.0020.000B.1D67F] # MATHEMATICAL MONOSPACE CAPITAL P; QQK
-24C5  ; [.1749.0020.000C.24C5] # CIRCLED LATIN CAPITAL LETTER P; QQK
-1F15F ; [.1749.0020.000C.1F15F] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P; QQK
-1D56  ; [.1749.0020.0014.1D56] # MODIFIER LETTER SMALL P; QQK
-209A  ; [.1749.0020.0015.209A] # LATIN SUBSCRIPT SMALL LETTER P; QQK
-1D3E  ; [.1749.0020.001D.1D3E] # MODIFIER LETTER CAPITAL P; QQK
-1F13F ; [.1749.0020.001D.1F13F] # SQUARED LATIN CAPITAL LETTER P; QQK
-1F17F ; [.1749.0020.001D.1F17F] # NEGATIVE SQUARED LATIN CAPITAL LETTER P; QQK
-1F18A ; [.1749.0020.001D.1F18A] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P; QQK
-1E55  ; [.1749.0020.0002.0070][.0000.0032.0002.0301] # LATIN SMALL LETTER P WITH ACUTE; QQCM
-1E54  ; [.1749.0020.0008.0050][.0000.0032.0002.0301] # LATIN CAPITAL LETTER P WITH ACUTE; QQCM
-1E57  ; [.1749.0020.0002.0070][.0000.0052.0002.0307] # LATIN SMALL LETTER P WITH DOT ABOVE; QQCM
-1E56  ; [.1749.0020.0008.0050][.0000.0052.0002.0307] # LATIN CAPITAL LETTER P WITH DOT ABOVE; QQCM
-3380  ; [.1749.0020.001C.3380][.15A3.0020.001D.3380] # SQUARE PA AMPS; QQKN
-33A9  ; [.1749.0020.001D.33A9][.15A3.0020.001C.33A9] # SQUARE PA; QQKN
-1F18C ; [.1749.0020.001D.1F18C][.15A3.0020.001D.1F18C] # NEGATIVE SQUARED PA; QQKN
-3376  ; [.1749.0020.001C.3376][.15D1.0020.001C.3376] # SQUARE PC; QQKN
-338A  ; [.1749.0020.001C.338A][.1637.0020.001D.338A] # SQUARE PF; QQKN
-33D7  ; [.1749.0020.001D.33D7][.1667.0020.001D.33D7] # SQUARE PH; QQKN
-33D8  ; [.1749.0020.001C.33D8][*028E.0020.001C.33D8][.16F4.0020.001F.33D8][*028E.0020.001F.33D8] # SQUARE PM; QQKN
-33D9  ; [.1749.0020.001D.33D9][.1749.0020.001D.33D9][.16F4.0020.001F.33D9] # SQUARE PPM; QQKN
-1F14E ; [.1749.0020.001D.1F14E][.1749.0020.001D.1F14E][.1812.0020.001F.1F14E] # SQUARED PPV; QQKN
-33DA  ; [.1749.0020.001D.33DA][.1770.0020.001D.33DA] # SQUARE PR; QQKN
-33B0  ; [.1749.0020.001C.33B0][.17A6.0020.001C.33B0] # SQUARE PS; QQKN
-3250  ; [.1749.0020.001D.3250][.17C9.0020.001D.3250][.15FF.0020.001F.3250] # PARTNERSHIP SIGN; QQKN
-33B4  ; [.1749.0020.001C.33B4][.1812.0020.001D.33B4] # SQUARE PV; QQKN
-33BA  ; [.1749.0020.001C.33BA][.1824.0020.001D.33BA] # SQUARE PW; QQKN
-1D18  ; [.174D.0020.0002.1D18] # LATIN LETTER SMALL CAPITAL P
-1D7D  ; [.174E.0020.0002.1D7D] # LATIN SMALL LETTER P WITH STROKE
-2C63  ; [.174E.0020.0008.2C63] # LATIN CAPITAL LETTER P WITH STROKE
-A751  ; [.174F.0020.0002.A751] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
-A750  ; [.174F.0020.0008.A750] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
-1D71  ; [.1750.0020.0002.1D71] # LATIN SMALL LETTER P WITH MIDDLE TILDE
-1D88  ; [.1751.0020.0002.1D88] # LATIN SMALL LETTER P WITH PALATAL HOOK
-01A5  ; [.1752.0020.0002.01A5] # LATIN SMALL LETTER P WITH HOOK
-01A4  ; [.1752.0020.0008.01A4] # LATIN CAPITAL LETTER P WITH HOOK
-A753  ; [.1756.0020.0002.A753] # LATIN SMALL LETTER P WITH FLOURISH
-A752  ; [.1756.0020.0008.A752] # LATIN CAPITAL LETTER P WITH FLOURISH
-A755  ; [.1757.0020.0002.A755] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
-A754  ; [.1757.0020.0008.A754] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
-A7FC  ; [.1758.0020.0002.A7FC] # LATIN EPIGRAPHIC LETTER REVERSED P
-0278  ; [.1759.0020.0002.0278] # LATIN SMALL LETTER PHI
-1DB2  ; [.1759.0020.0014.1DB2] # MODIFIER LETTER SMALL PHI; QQK
-2C77  ; [.175D.0020.0002.2C77] # LATIN SMALL LETTER TAILLESS PHI
-0071  ; [.175E.0020.0002.0071] # LATIN SMALL LETTER Q
-FF51  ; [.175E.0020.0003.FF51] # FULLWIDTH LATIN SMALL LETTER Q; QQK
-24AC  ; [*030E.0020.0004.24AC][.175E.0020.0004.24AC][*030F.0020.001F.24AC] # PARENTHESIZED LATIN SMALL LETTER Q; QQKN
-1D42A ; [.175E.0020.0005.1D42A] # MATHEMATICAL BOLD SMALL Q; QQK
-1D45E ; [.175E.0020.0005.1D45E] # MATHEMATICAL ITALIC SMALL Q; QQK
-1D492 ; [.175E.0020.0005.1D492] # MATHEMATICAL BOLD ITALIC SMALL Q; QQK
-1D4C6 ; [.175E.0020.0005.1D4C6] # MATHEMATICAL SCRIPT SMALL Q; QQK
-1D4FA ; [.175E.0020.0005.1D4FA] # MATHEMATICAL BOLD SCRIPT SMALL Q; QQK
-1D52E ; [.175E.0020.0005.1D52E] # MATHEMATICAL FRAKTUR SMALL Q; QQK
-1D562 ; [.175E.0020.0005.1D562] # MATHEMATICAL DOUBLE-STRUCK SMALL Q; QQK
-1D596 ; [.175E.0020.0005.1D596] # MATHEMATICAL BOLD FRAKTUR SMALL Q; QQK
-1D5CA ; [.175E.0020.0005.1D5CA] # MATHEMATICAL SANS-SERIF SMALL Q; QQK
-1D5FE ; [.175E.0020.0005.1D5FE] # MATHEMATICAL SANS-SERIF BOLD SMALL Q; QQK
-1D632 ; [.175E.0020.0005.1D632] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q; QQK
-1D666 ; [.175E.0020.0005.1D666] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q; QQK
-1D69A ; [.175E.0020.0005.1D69A] # MATHEMATICAL MONOSPACE SMALL Q; QQK
-24E0  ; [.175E.0020.0006.24E0] # CIRCLED LATIN SMALL LETTER Q; QQK
-0051  ; [.175E.0020.0008.0051] # LATIN CAPITAL LETTER Q
-FF31  ; [.175E.0020.0009.FF31] # FULLWIDTH LATIN CAPITAL LETTER Q; QQK
-1F120 ; [*030E.0020.0004.1F120][.175E.0020.000A.1F120][*030F.0020.001F.1F120] # PARENTHESIZED LATIN CAPITAL LETTER Q; QQKN
-1F1F6 ; [.175E.0020.000A.1F1F6] # REGIONAL INDICATOR SYMBOL LETTER Q; QQK
-211A  ; [.175E.0020.000B.211A] # DOUBLE-STRUCK CAPITAL Q; QQK
-1D410 ; [.175E.0020.000B.1D410] # MATHEMATICAL BOLD CAPITAL Q; QQK
-1D444 ; [.175E.0020.000B.1D444] # MATHEMATICAL ITALIC CAPITAL Q; QQK
-1D478 ; [.175E.0020.000B.1D478] # MATHEMATICAL BOLD ITALIC CAPITAL Q; QQK
-1D4AC ; [.175E.0020.000B.1D4AC] # MATHEMATICAL SCRIPT CAPITAL Q; QQK
-1D4E0 ; [.175E.0020.000B.1D4E0] # MATHEMATICAL BOLD SCRIPT CAPITAL Q; QQK
-1D514 ; [.175E.0020.000B.1D514] # MATHEMATICAL FRAKTUR CAPITAL Q; QQK
-1D57C ; [.175E.0020.000B.1D57C] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q; QQK
-1D5B0 ; [.175E.0020.000B.1D5B0] # MATHEMATICAL SANS-SERIF CAPITAL Q; QQK
-1D5E4 ; [.175E.0020.000B.1D5E4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q; QQK
-1D618 ; [.175E.0020.000B.1D618] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q; QQK
-1D64C ; [.175E.0020.000B.1D64C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q; QQK
-1D680 ; [.175E.0020.000B.1D680] # MATHEMATICAL MONOSPACE CAPITAL Q; QQK
-24C6  ; [.175E.0020.000C.24C6] # CIRCLED LATIN CAPITAL LETTER Q; QQK
-1F160 ; [.175E.0020.000C.1F160] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q; QQK
-1F140 ; [.175E.0020.001D.1F140] # SQUARED LATIN CAPITAL LETTER Q; QQK
-1F180 ; [.175E.0020.001D.1F180] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q; QQK
-0239  ; [.175E.0020.0004.0239][.1749.0020.0004.0239] # LATIN SMALL LETTER QP DIGRAPH; QQKN
-A757  ; [.1762.0020.0002.A757] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
-A756  ; [.1762.0020.0008.A756] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
-A759  ; [.1763.0020.0002.A759] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
-A758  ; [.1763.0020.0008.A758] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
-02A0  ; [.1764.0020.0002.02A0] # LATIN SMALL LETTER Q WITH HOOK
-024B  ; [.1768.0020.0002.024B] # LATIN SMALL LETTER Q WITH HOOK TAIL
-024A  ; [.1768.0020.0008.024A] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
-0138  ; [.176C.0020.0002.0138] # LATIN SMALL LETTER KRA
-0072  ; [.1770.0020.0002.0072] # LATIN SMALL LETTER R
-FF52  ; [.1770.0020.0003.FF52] # FULLWIDTH LATIN SMALL LETTER R; QQK
-036C  ; [.1770.0020.0004.036C] # COMBINING LATIN SMALL LETTER R; QQK
-1DCA  ; [.1770.0020.0004.1DCA] # COMBINING LATIN SMALL LETTER R BELOW; QQK
-24AD  ; [*030E.0020.0004.24AD][.1770.0020.0004.24AD][*030F.0020.001F.24AD] # PARENTHESIZED LATIN SMALL LETTER R; QQKN
-1D42B ; [.1770.0020.0005.1D42B] # MATHEMATICAL BOLD SMALL R; QQK
-1D45F ; [.1770.0020.0005.1D45F] # MATHEMATICAL ITALIC SMALL R; QQK
-1D493 ; [.1770.0020.0005.1D493] # MATHEMATICAL BOLD ITALIC SMALL R; QQK
-1D4C7 ; [.1770.0020.0005.1D4C7] # MATHEMATICAL SCRIPT SMALL R; QQK
-1D4FB ; [.1770.0020.0005.1D4FB] # MATHEMATICAL BOLD SCRIPT SMALL R; QQK
-1D52F ; [.1770.0020.0005.1D52F] # MATHEMATICAL FRAKTUR SMALL R; QQK
-1D563 ; [.1770.0020.0005.1D563] # MATHEMATICAL DOUBLE-STRUCK SMALL R; QQK
-1D597 ; [.1770.0020.0005.1D597] # MATHEMATICAL BOLD FRAKTUR SMALL R; QQK
-1D5CB ; [.1770.0020.0005.1D5CB] # MATHEMATICAL SANS-SERIF SMALL R; QQK
-1D5FF ; [.1770.0020.0005.1D5FF] # MATHEMATICAL SANS-SERIF BOLD SMALL R; QQK
-1D633 ; [.1770.0020.0005.1D633] # MATHEMATICAL SANS-SERIF ITALIC SMALL R; QQK
-1D667 ; [.1770.0020.0005.1D667] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R; QQK
-1D69B ; [.1770.0020.0005.1D69B] # MATHEMATICAL MONOSPACE SMALL R; QQK
-24E1  ; [.1770.0020.0006.24E1] # CIRCLED LATIN SMALL LETTER R; QQK
-0052  ; [.1770.0020.0008.0052] # LATIN CAPITAL LETTER R
-FF32  ; [.1770.0020.0009.FF32] # FULLWIDTH LATIN CAPITAL LETTER R; QQK
-1F121 ; [*030E.0020.0004.1F121][.1770.0020.000A.1F121][*030F.0020.001F.1F121] # PARENTHESIZED LATIN CAPITAL LETTER R; QQKN
-1F1F7 ; [.1770.0020.000A.1F1F7] # REGIONAL INDICATOR SYMBOL LETTER R; QQK
-211B  ; [.1770.0020.000B.211B] # SCRIPT CAPITAL R; QQK
-211C  ; [.1770.0020.000B.211C] # BLACK-LETTER CAPITAL R; QQK
-211D  ; [.1770.0020.000B.211D] # DOUBLE-STRUCK CAPITAL R; QQK
-1D411 ; [.1770.0020.000B.1D411] # MATHEMATICAL BOLD CAPITAL R; QQK
-1D445 ; [.1770.0020.000B.1D445] # MATHEMATICAL ITALIC CAPITAL R; QQK
-1D479 ; [.1770.0020.000B.1D479] # MATHEMATICAL BOLD ITALIC CAPITAL R; QQK
-1D4E1 ; [.1770.0020.000B.1D4E1] # MATHEMATICAL BOLD SCRIPT CAPITAL R; QQK
-1D57D ; [.1770.0020.000B.1D57D] # MATHEMATICAL BOLD FRAKTUR CAPITAL R; QQK
-1D5B1 ; [.1770.0020.000B.1D5B1] # MATHEMATICAL SANS-SERIF CAPITAL R; QQK
-1D5E5 ; [.1770.0020.000B.1D5E5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R; QQK
-1D619 ; [.1770.0020.000B.1D619] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R; QQK
-1D64D ; [.1770.0020.000B.1D64D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R; QQK
-1D681 ; [.1770.0020.000B.1D681] # MATHEMATICAL MONOSPACE CAPITAL R; QQK
-24C7  ; [.1770.0020.000C.24C7] # CIRCLED LATIN CAPITAL LETTER R; QQK
-1F12C ; [.1770.0020.000C.1F12C] # CIRCLED ITALIC LATIN CAPITAL LETTER R; QQK
-1F161 ; [.1770.0020.000C.1F161] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R; QQK
-02B3  ; [.1770.0020.0014.02B3] # MODIFIER LETTER SMALL R; QQK
-1D63  ; [.1770.0020.0015.1D63] # LATIN SUBSCRIPT SMALL LETTER R; QQK
-1D3F  ; [.1770.0020.001D.1D3F] # MODIFIER LETTER CAPITAL R; QQK
-1F141 ; [.1770.0020.001D.1F141] # SQUARED LATIN CAPITAL LETTER R; QQK
-1F181 ; [.1770.0020.001D.1F181] # NEGATIVE SQUARED LATIN CAPITAL LETTER R; QQK
-0155  ; [.1770.0020.0002.0072][.0000.0032.0002.0301] # LATIN SMALL LETTER R WITH ACUTE; QQCM
-0154  ; [.1770.0020.0008.0052][.0000.0032.0002.0301] # LATIN CAPITAL LETTER R WITH ACUTE; QQCM
-0159  ; [.1770.0020.0002.0072][.0000.0041.0002.030C] # LATIN SMALL LETTER R WITH CARON; QQCM
-0158  ; [.1770.0020.0008.0052][.0000.0041.0002.030C] # LATIN CAPITAL LETTER R WITH CARON; QQCM
-1E59  ; [.1770.0020.0002.0072][.0000.0052.0002.0307] # LATIN SMALL LETTER R WITH DOT ABOVE; QQCM
-1E58  ; [.1770.0020.0008.0052][.0000.0052.0002.0307] # LATIN CAPITAL LETTER R WITH DOT ABOVE; QQCM
-0157  ; [.1770.0020.0002.0072][.0000.0056.0002.0327] # LATIN SMALL LETTER R WITH CEDILLA; QQCM
-0156  ; [.1770.0020.0008.0052][.0000.0056.0002.0327] # LATIN CAPITAL LETTER R WITH CEDILLA; QQCM
-A7A7  ; [.1770.0020.0004.A7A7][.0000.0061.0004.A7A7] # LATIN SMALL LETTER R WITH OBLIQUE STROKE; QQKN
-A7A6  ; [.1770.0020.000A.A7A6][.0000.0061.0004.A7A6] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE; QQKN
-0211  ; [.1770.0020.0002.0072][.0000.0065.0002.030F] # LATIN SMALL LETTER R WITH DOUBLE GRAVE; QQCM
-0210  ; [.1770.0020.0008.0052][.0000.0065.0002.030F] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE; QQCM
-0213  ; [.1770.0020.0002.0072][.0000.0067.0002.0311] # LATIN SMALL LETTER R WITH INVERTED BREVE; QQCM
-0212  ; [.1770.0020.0008.0052][.0000.0067.0002.0311] # LATIN CAPITAL LETTER R WITH INVERTED BREVE; QQCM
-1E5B  ; [.1770.0020.0002.0072][.0000.0070.0002.0323] # LATIN SMALL LETTER R WITH DOT BELOW; QQCM
-1E5A  ; [.1770.0020.0008.0052][.0000.0070.0002.0323] # LATIN CAPITAL LETTER R WITH DOT BELOW; QQCM
-1E5D  ; [.1770.0020.0002.0072][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON; QQCM
-1E5C  ; [.1770.0020.0008.0052][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON; QQCM
-1E5F  ; [.1770.0020.0002.0072][.0000.007B.0002.0331] # LATIN SMALL LETTER R WITH LINE BELOW; QQCM
-1E5E  ; [.1770.0020.0008.0052][.0000.007B.0002.0331] # LATIN CAPITAL LETTER R WITH LINE BELOW; QQCM
-A783  ; [.1770.0020.0004.A783][.0000.0160.0004.A783] # LATIN SMALL LETTER INSULAR R; QQKN
-A782  ; [.1770.0020.000A.A782][.0000.0160.0004.A782] # LATIN CAPITAL LETTER INSULAR R; QQKN
-33AD  ; [.1770.0020.001C.33AD][.15A3.0020.001C.33AD][.15E4.0020.001F.33AD] # SQUARE RAD; QQKN
-33AE  ; [.1770.0020.001C.33AE][.15A3.0020.001C.33AE][.15E4.0020.001F.33AE][*0579.0020.001F.33AE][.17A6.0020.001F.33AE] # SQUARE RAD OVER S; QQKN
-33AF  ; [.1770.0020.001C.33AF][.15A3.0020.001C.33AF][.15E4.0020.001F.33AF][*0579.0020.001F.33AF][.17A6.0020.001F.33AF][.159B.0020.001F.33AF] # SQUARE RAD OVER S SQUARED; QQKN
-20A8  ; [.1770.0020.000A.20A8][.17A6.0020.0004.20A8] # RUPEE SIGN; QQKN
-0280  ; [.1774.0020.0002.0280] # LATIN LETTER SMALL CAPITAL R
-1DE2  ; [.1774.0020.0004.1DE2] # COMBINING LATIN LETTER SMALL CAPITAL R; QQK
-01A6  ; [.1774.0020.0008.01A6] # LATIN LETTER YR
-A75B  ; [.1778.0020.0002.A75B] # LATIN SMALL LETTER R ROTUNDA
-1DE3  ; [.1778.0020.0004.1DE3] # COMBINING LATIN SMALL LETTER R ROTUNDA; QQK
-A75A  ; [.1778.0020.0008.A75A] # LATIN CAPITAL LETTER R ROTUNDA
-1D19  ; [.1779.0020.0002.1D19] # LATIN LETTER SMALL CAPITAL REVERSED R
-024D  ; [.177A.0020.0002.024D] # LATIN SMALL LETTER R WITH STROKE
-024C  ; [.177A.0020.0008.024C] # LATIN CAPITAL LETTER R WITH STROKE
-1D72  ; [.177E.0020.0002.1D72] # LATIN SMALL LETTER R WITH MIDDLE TILDE
-0279  ; [.177F.0020.0002.0279] # LATIN SMALL LETTER TURNED R
-02B4  ; [.177F.0020.0014.02B4] # MODIFIER LETTER SMALL TURNED R; QQK
-1D1A  ; [.1783.0020.0002.1D1A] # LATIN LETTER SMALL CAPITAL TURNED R
-027A  ; [.1784.0020.0002.027A] # LATIN SMALL LETTER TURNED R WITH LONG LEG
-1D89  ; [.1788.0020.0002.1D89] # LATIN SMALL LETTER R WITH PALATAL HOOK
-027B  ; [.1789.0020.0002.027B] # LATIN SMALL LETTER TURNED R WITH HOOK
-02B5  ; [.1789.0020.0014.02B5] # MODIFIER LETTER SMALL TURNED R WITH HOOK; QQK
-2C79  ; [.178D.0020.0002.2C79] # LATIN SMALL LETTER TURNED R WITH TAIL
-027C  ; [.178E.0020.0002.027C] # LATIN SMALL LETTER R WITH LONG LEG
-027D  ; [.1792.0020.0002.027D] # LATIN SMALL LETTER R WITH TAIL
-2C64  ; [.1792.0020.0008.2C64] # LATIN CAPITAL LETTER R WITH TAIL
-027E  ; [.1796.0020.0002.027E] # LATIN SMALL LETTER R WITH FISHHOOK
-1D73  ; [.179A.0020.0002.1D73] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
-027F  ; [.179B.0020.0002.027F] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
-0281  ; [.179F.0020.0002.0281] # LATIN LETTER SMALL CAPITAL INVERTED R
-02B6  ; [.179F.0020.0014.02B6] # MODIFIER LETTER SMALL CAPITAL INVERTED R; QQK
-A775  ; [.17A3.0020.0002.A775] # LATIN SMALL LETTER RUM
-A776  ; [.17A4.0020.0002.A776] # LATIN LETTER SMALL CAPITAL RUM
-A75D  ; [.17A5.0020.0002.A75D] # LATIN SMALL LETTER RUM ROTUNDA
-A75C  ; [.17A5.0020.0008.A75C] # LATIN CAPITAL LETTER RUM ROTUNDA
-0073  ; [.17A6.0020.0002.0073] # LATIN SMALL LETTER S
-FF53  ; [.17A6.0020.0003.FF53] # FULLWIDTH LATIN SMALL LETTER S; QQK
-1DE4  ; [.17A6.0020.0004.1DE4] # COMBINING LATIN SMALL LETTER S; QQK
-24AE  ; [*030E.0020.0004.24AE][.17A6.0020.0004.24AE][*030F.0020.001F.24AE] # PARENTHESIZED LATIN SMALL LETTER S; QQKN
-1D42C ; [.17A6.0020.0005.1D42C] # MATHEMATICAL BOLD SMALL S; QQK
-1D460 ; [.17A6.0020.0005.1D460] # MATHEMATICAL ITALIC SMALL S; QQK
-1D494 ; [.17A6.0020.0005.1D494] # MATHEMATICAL BOLD ITALIC SMALL S; QQK
-1D4C8 ; [.17A6.0020.0005.1D4C8] # MATHEMATICAL SCRIPT SMALL S; QQK
-1D4FC ; [.17A6.0020.0005.1D4FC] # MATHEMATICAL BOLD SCRIPT SMALL S; QQK
-1D530 ; [.17A6.0020.0005.1D530] # MATHEMATICAL FRAKTUR SMALL S; QQK
-1D564 ; [.17A6.0020.0005.1D564] # MATHEMATICAL DOUBLE-STRUCK SMALL S; QQK
-1D598 ; [.17A6.0020.0005.1D598] # MATHEMATICAL BOLD FRAKTUR SMALL S; QQK
-1D5CC ; [.17A6.0020.0005.1D5CC] # MATHEMATICAL SANS-SERIF SMALL S; QQK
-1D600 ; [.17A6.0020.0005.1D600] # MATHEMATICAL SANS-SERIF BOLD SMALL S; QQK
-1D634 ; [.17A6.0020.0005.1D634] # MATHEMATICAL SANS-SERIF ITALIC SMALL S; QQK
-1D668 ; [.17A6.0020.0005.1D668] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S; QQK
-1D69C ; [.17A6.0020.0005.1D69C] # MATHEMATICAL MONOSPACE SMALL S; QQK
-24E2  ; [.17A6.0020.0006.24E2] # CIRCLED LATIN SMALL LETTER S; QQK
-0053  ; [.17A6.0020.0008.0053] # LATIN CAPITAL LETTER S
-FF33  ; [.17A6.0020.0009.FF33] # FULLWIDTH LATIN CAPITAL LETTER S; QQK
-1F122 ; [*030E.0020.0004.1F122][.17A6.0020.000A.1F122][*030F.0020.001F.1F122] # PARENTHESIZED LATIN CAPITAL LETTER S; QQKN
-1F12A ; [*0356.0020.0004.1F12A][.17A6.0020.000A.1F12A][*0357.0020.001F.1F12A] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S; QQKN
-1F1F8 ; [.17A6.0020.000A.1F1F8] # REGIONAL INDICATOR SYMBOL LETTER S; QQK
-1D412 ; [.17A6.0020.000B.1D412] # MATHEMATICAL BOLD CAPITAL S; QQK
-1D446 ; [.17A6.0020.000B.1D446] # MATHEMATICAL ITALIC CAPITAL S; QQK
-1D47A ; [.17A6.0020.000B.1D47A] # MATHEMATICAL BOLD ITALIC CAPITAL S; QQK
-1D4AE ; [.17A6.0020.000B.1D4AE] # MATHEMATICAL SCRIPT CAPITAL S; QQK
-1D4E2 ; [.17A6.0020.000B.1D4E2] # MATHEMATICAL BOLD SCRIPT CAPITAL S; QQK
-1D516 ; [.17A6.0020.000B.1D516] # MATHEMATICAL FRAKTUR CAPITAL S; QQK
-1D54A ; [.17A6.0020.000B.1D54A] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S; QQK
-1D57E ; [.17A6.0020.000B.1D57E] # MATHEMATICAL BOLD FRAKTUR CAPITAL S; QQK
-1D5B2 ; [.17A6.0020.000B.1D5B2] # MATHEMATICAL SANS-SERIF CAPITAL S; QQK
-1D5E6 ; [.17A6.0020.000B.1D5E6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S; QQK
-1D61A ; [.17A6.0020.000B.1D61A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S; QQK
-1D64E ; [.17A6.0020.000B.1D64E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S; QQK
-1D682 ; [.17A6.0020.000B.1D682] # MATHEMATICAL MONOSPACE CAPITAL S; QQK
-24C8  ; [.17A6.0020.000C.24C8] # CIRCLED LATIN CAPITAL LETTER S; QQK
-1F162 ; [.17A6.0020.000C.1F162] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S; QQK
-02E2  ; [.17A6.0020.0014.02E2] # MODIFIER LETTER SMALL S; QQK
-209B  ; [.17A6.0020.0015.209B] # LATIN SUBSCRIPT SMALL LETTER S; QQK
-1F142 ; [.17A6.0020.001D.1F142] # SQUARED LATIN CAPITAL LETTER S; QQK
-1F182 ; [.17A6.0020.001D.1F182] # NEGATIVE SQUARED LATIN CAPITAL LETTER S; QQK
-015B  ; [.17A6.0020.0002.0073][.0000.0032.0002.0301] # LATIN SMALL LETTER S WITH ACUTE; QQCM
-015A  ; [.17A6.0020.0008.0053][.0000.0032.0002.0301] # LATIN CAPITAL LETTER S WITH ACUTE; QQCM
-1E65  ; [.17A6.0020.0002.0073][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE; QQCM
-1E64  ; [.17A6.0020.0008.0053][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE; QQCM
-015D  ; [.17A6.0020.0002.0073][.0000.003C.0002.0302] # LATIN SMALL LETTER S WITH CIRCUMFLEX; QQCM
-015C  ; [.17A6.0020.0008.0053][.0000.003C.0002.0302] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX; QQCM
-0161  ; [.17A6.0020.0002.0073][.0000.0041.0002.030C] # LATIN SMALL LETTER S WITH CARON; QQCM
-0160  ; [.17A6.0020.0008.0053][.0000.0041.0002.030C] # LATIN CAPITAL LETTER S WITH CARON; QQCM
-1E67  ; [.17A6.0020.0002.0073][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE; QQCM
-1E66  ; [.17A6.0020.0008.0053][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE; QQCM
-1E61  ; [.17A6.0020.0002.0073][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT ABOVE; QQCM
-1E60  ; [.17A6.0020.0008.0053][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT ABOVE; QQCM
-015F  ; [.17A6.0020.0002.0073][.0000.0056.0002.0327] # LATIN SMALL LETTER S WITH CEDILLA; QQCM
-015E  ; [.17A6.0020.0008.0053][.0000.0056.0002.0327] # LATIN CAPITAL LETTER S WITH CEDILLA; QQCM
-A7A9  ; [.17A6.0020.0004.A7A9][.0000.0061.0004.A7A9] # LATIN SMALL LETTER S WITH OBLIQUE STROKE; QQKN
-A7A8  ; [.17A6.0020.000A.A7A8][.0000.0061.0004.A7A8] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE; QQKN
-1E63  ; [.17A6.0020.0002.0073][.0000.0070.0002.0323] # LATIN SMALL LETTER S WITH DOT BELOW; QQCM
-1E62  ; [.17A6.0020.0008.0053][.0000.0070.0002.0323] # LATIN CAPITAL LETTER S WITH DOT BELOW; QQCM
-1E69  ; [.17A6.0020.0002.0073][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE; QQCM
-1E68  ; [.17A6.0020.0008.0053][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE; QQCM
-0219  ; [.17A6.0020.0002.0073][.0000.0077.0002.0326] # LATIN SMALL LETTER S WITH COMMA BELOW; QQCM
-0218  ; [.17A6.0020.0008.0053][.0000.0077.0002.0326] # LATIN CAPITAL LETTER S WITH COMMA BELOW; QQCM
-017F  ; [.17A6.0020.0004.017F][.0000.0160.0004.017F] # LATIN SMALL LETTER LONG S; QQKN
-1DE5  ; [.17A6.0020.0004.1DE5][.0000.0160.0004.1DE5] # COMBINING LATIN SMALL LETTER LONG S; QQKN
-A785  ; [.17A6.0020.0004.A785][.0000.0160.0004.A785] # LATIN SMALL LETTER INSULAR S; QQKN
-A784  ; [.17A6.0020.000A.A784][.0000.0160.0004.A784] # LATIN CAPITAL LETTER INSULAR S; QQKN
-1E9B  ; [.17A6.0020.0004.1E9B][.0000.0160.0004.1E9B][.0000.0052.0002.1E9B] # LATIN SMALL LETTER LONG S WITH DOT ABOVE; QQKN
-1F18D ; [.17A6.0020.001D.1F18D][.15A3.0020.001D.1F18D] # NEGATIVE SQUARED SA; QQKN
-1F14C ; [.17A6.0020.001D.1F14C][.15E4.0020.001D.1F14C] # SQUARED SD; QQKN
-2120  ; [.17A6.0020.0014.2120][.16F4.0020.0014.2120] # SERVICE MARK; QQKN
-1F198 ; [.17A6.0020.001D.1F198][.1724.0020.001D.1F198][.17A6.0020.001F.1F198] # SQUARED SOS; QQKN
-33DB  ; [.17A6.0020.001C.33DB][.1770.0020.001C.33DB] # SQUARE SR; QQKN
-1F14D ; [.17A6.0020.001D.1F14D][.17A6.0020.001D.1F14D] # SQUARED SS; QQKN
-00DF  ; [.17A6.0020.0004.00DF][.0000.015F.0004.00DF][.17A6.0020.001F.00DF] # LATIN SMALL LETTER SHARP S; QQKN
-1E9E  ; [.17A6.0020.000A.1E9E][.0000.015F.0004.1E9E][.17A6.0020.001F.1E9E] # LATIN CAPITAL LETTER SHARP S; QQKN
-FB06  ; [.17A6.0020.0004.FB06][.17C9.0020.0004.FB06] # LATIN SMALL LIGATURE ST; QQKN
-FB05  ; [.17A6.0020.0004.FB05][.0000.0160.0004.FB05][.17C9.0020.001F.FB05] # LATIN SMALL LIGATURE LONG S T; QQKN
-33DC  ; [.17A6.0020.001D.33DC][.1812.0020.001C.33DC] # SQUARE SV; QQKN
-A731  ; [.17AA.0020.0002.A731] # LATIN LETTER SMALL CAPITAL S
-1D74  ; [.17AB.0020.0002.1D74] # LATIN SMALL LETTER S WITH MIDDLE TILDE
-1D8A  ; [.17AC.0020.0002.1D8A] # LATIN SMALL LETTER S WITH PALATAL HOOK
-0282  ; [.17AD.0020.0002.0282] # LATIN SMALL LETTER S WITH HOOK
-1DB3  ; [.17AD.0020.0014.1DB3] # MODIFIER LETTER SMALL S WITH HOOK; QQK
-023F  ; [.17B1.0020.0002.023F] # LATIN SMALL LETTER S WITH SWASH TAIL
-2C7E  ; [.17B1.0020.0008.2C7E] # LATIN CAPITAL LETTER S WITH SWASH TAIL
-1E9C  ; [.17B5.0020.0002.1E9C] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
-1E9D  ; [.17B6.0020.0002.1E9D] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
-0283  ; [.17B7.0020.0002.0283] # LATIN SMALL LETTER ESH
-01A9  ; [.17B7.0020.0008.01A9] # LATIN CAPITAL LETTER ESH
-1DB4  ; [.17B7.0020.0014.1DB4] # MODIFIER LETTER SMALL ESH; QQK
-1D8B  ; [.17BB.0020.0002.1D8B] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
-01AA  ; [.17BC.0020.0002.01AA] # LATIN LETTER REVERSED ESH LOOP
-0285  ; [.17C0.0020.0002.0285] # LATIN SMALL LETTER SQUAT REVERSED ESH
-1D98  ; [.17C4.0020.0002.1D98] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
-0286  ; [.17C5.0020.0002.0286] # LATIN SMALL LETTER ESH WITH CURL
-0074  ; [.17C9.0020.0002.0074] # LATIN SMALL LETTER T
-FF54  ; [.17C9.0020.0003.FF54] # FULLWIDTH LATIN SMALL LETTER T; QQK
-036D  ; [.17C9.0020.0004.036D] # COMBINING LATIN SMALL LETTER T; QQK
-24AF  ; [*030E.0020.0004.24AF][.17C9.0020.0004.24AF][*030F.0020.001F.24AF] # PARENTHESIZED LATIN SMALL LETTER T; QQKN
-1D42D ; [.17C9.0020.0005.1D42D] # MATHEMATICAL BOLD SMALL T; QQK
-1D461 ; [.17C9.0020.0005.1D461] # MATHEMATICAL ITALIC SMALL T; QQK
-1D495 ; [.17C9.0020.0005.1D495] # MATHEMATICAL BOLD ITALIC SMALL T; QQK
-1D4C9 ; [.17C9.0020.0005.1D4C9] # MATHEMATICAL SCRIPT SMALL T; QQK
-1D4FD ; [.17C9.0020.0005.1D4FD] # MATHEMATICAL BOLD SCRIPT SMALL T; QQK
-1D531 ; [.17C9.0020.0005.1D531] # MATHEMATICAL FRAKTUR SMALL T; QQK
-1D565 ; [.17C9.0020.0005.1D565] # MATHEMATICAL DOUBLE-STRUCK SMALL T; QQK
-1D599 ; [.17C9.0020.0005.1D599] # MATHEMATICAL BOLD FRAKTUR SMALL T; QQK
-1D5CD ; [.17C9.0020.0005.1D5CD] # MATHEMATICAL SANS-SERIF SMALL T; QQK
-1D601 ; [.17C9.0020.0005.1D601] # MATHEMATICAL SANS-SERIF BOLD SMALL T; QQK
-1D635 ; [.17C9.0020.0005.1D635] # MATHEMATICAL SANS-SERIF ITALIC SMALL T; QQK
-1D669 ; [.17C9.0020.0005.1D669] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T; QQK
-1D69D ; [.17C9.0020.0005.1D69D] # MATHEMATICAL MONOSPACE SMALL T; QQK
-24E3  ; [.17C9.0020.0006.24E3] # CIRCLED LATIN SMALL LETTER T; QQK
-0054  ; [.17C9.0020.0008.0054] # LATIN CAPITAL LETTER T
-FF34  ; [.17C9.0020.0009.FF34] # FULLWIDTH LATIN CAPITAL LETTER T; QQK
-1F123 ; [*030E.0020.0004.1F123][.17C9.0020.000A.1F123][*030F.0020.001F.1F123] # PARENTHESIZED LATIN CAPITAL LETTER T; QQKN
-1F1F9 ; [.17C9.0020.000A.1F1F9] # REGIONAL INDICATOR SYMBOL LETTER T; QQK
-1D413 ; [.17C9.0020.000B.1D413] # MATHEMATICAL BOLD CAPITAL T; QQK
-1D447 ; [.17C9.0020.000B.1D447] # MATHEMATICAL ITALIC CAPITAL T; QQK
-1D47B ; [.17C9.0020.000B.1D47B] # MATHEMATICAL BOLD ITALIC CAPITAL T; QQK
-1D4AF ; [.17C9.0020.000B.1D4AF] # MATHEMATICAL SCRIPT CAPITAL T; QQK
-1D4E3 ; [.17C9.0020.000B.1D4E3] # MATHEMATICAL BOLD SCRIPT CAPITAL T; QQK
-1D517 ; [.17C9.0020.000B.1D517] # MATHEMATICAL FRAKTUR CAPITAL T; QQK
-1D54B ; [.17C9.0020.000B.1D54B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T; QQK
-1D57F ; [.17C9.0020.000B.1D57F] # MATHEMATICAL BOLD FRAKTUR CAPITAL T; QQK
-1D5B3 ; [.17C9.0020.000B.1D5B3] # MATHEMATICAL SANS-SERIF CAPITAL T; QQK
-1D5E7 ; [.17C9.0020.000B.1D5E7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T; QQK
-1D61B ; [.17C9.0020.000B.1D61B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T; QQK
-1D64F ; [.17C9.0020.000B.1D64F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T; QQK
-1D683 ; [.17C9.0020.000B.1D683] # MATHEMATICAL MONOSPACE CAPITAL T; QQK
-24C9  ; [.17C9.0020.000C.24C9] # CIRCLED LATIN CAPITAL LETTER T; QQK
-1F163 ; [.17C9.0020.000C.1F163] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T; QQK
-1D57  ; [.17C9.0020.0014.1D57] # MODIFIER LETTER SMALL T; QQK
-209C  ; [.17C9.0020.0015.209C] # LATIN SUBSCRIPT SMALL LETTER T; QQK
-1D40  ; [.17C9.0020.001D.1D40] # MODIFIER LETTER CAPITAL T; QQK
-1F143 ; [.17C9.0020.001D.1F143] # SQUARED LATIN CAPITAL LETTER T; QQK
-1F183 ; [.17C9.0020.001D.1F183] # NEGATIVE SQUARED LATIN CAPITAL LETTER T; QQK
-0165  ; [.17C9.0020.0002.0074][.0000.0041.0002.030C] # LATIN SMALL LETTER T WITH CARON; QQCM
-0164  ; [.17C9.0020.0008.0054][.0000.0041.0002.030C] # LATIN CAPITAL LETTER T WITH CARON; QQCM
-1E97  ; [.17C9.0020.0002.0074][.0000.0047.0002.0308] # LATIN SMALL LETTER T WITH DIAERESIS; QQCM
-1E6B  ; [.17C9.0020.0002.0074][.0000.0052.0002.0307] # LATIN SMALL LETTER T WITH DOT ABOVE; QQCM
-1E6A  ; [.17C9.0020.0008.0054][.0000.0052.0002.0307] # LATIN CAPITAL LETTER T WITH DOT ABOVE; QQCM
-0163  ; [.17C9.0020.0002.0074][.0000.0056.0002.0327] # LATIN SMALL LETTER T WITH CEDILLA; QQCM
-0162  ; [.17C9.0020.0008.0054][.0000.0056.0002.0327] # LATIN CAPITAL LETTER T WITH CEDILLA; QQCM
-1E6D  ; [.17C9.0020.0002.0074][.0000.0070.0002.0323] # LATIN SMALL LETTER T WITH DOT BELOW; QQCM
-1E6C  ; [.17C9.0020.0008.0054][.0000.0070.0002.0323] # LATIN CAPITAL LETTER T WITH DOT BELOW; QQCM
-021B  ; [.17C9.0020.0002.0074][.0000.0077.0002.0326] # LATIN SMALL LETTER T WITH COMMA BELOW; QQCM
-021A  ; [.17C9.0020.0008.0054][.0000.0077.0002.0326] # LATIN CAPITAL LETTER T WITH COMMA BELOW; QQCM
-1E71  ; [.17C9.0020.0002.0074][.0000.0078.0002.032D] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW; QQCM
-1E70  ; [.17C9.0020.0008.0054][.0000.0078.0002.032D] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW; QQCM
-1E6F  ; [.17C9.0020.0002.0074][.0000.007B.0002.0331] # LATIN SMALL LETTER T WITH LINE BELOW; QQCM
-1E6E  ; [.17C9.0020.0008.0054][.0000.007B.0002.0331] # LATIN CAPITAL LETTER T WITH LINE BELOW; QQCM
-A787  ; [.17C9.0020.0004.A787][.0000.0160.0004.A787] # LATIN SMALL LETTER INSULAR T; QQKN
-A786  ; [.17C9.0020.000A.A786][.0000.0160.0004.A786] # LATIN CAPITAL LETTER INSULAR T; QQKN
-02A8  ; [.17C9.0020.0004.02A8][.15DE.0020.0004.02A8] # LATIN SMALL LETTER TC DIGRAPH WITH CURL; QQKN
-2121  ; [.17C9.0020.000A.2121][.15FF.0020.000A.2121][.16C4.0020.001F.2121] # TELEPHONE SIGN; QQKN
-1D7A  ; [.17C9.0020.0004.1D7A][.0000.015F.0004.1D7A][.1667.0020.001F.1D7A] # LATIN SMALL LETTER TH WITH STRIKETHROUGH; QQKN
-3394  ; [.17C9.0020.001D.3394][.1667.0020.001D.3394][.1844.0020.001F.3394] # SQUARE THZ; QQKN
-2122  ; [.17C9.0020.0014.2122][.16F4.0020.0014.2122] # TRADE MARK SIGN; QQKN
-01BE  ; [.17C9.0020.0004.01BE][.17A6.0020.0004.01BE] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE; QQKN
-02A6  ; [.17C9.0020.0004.02A6][.17A6.0020.0004.02A6] # LATIN SMALL LETTER TS DIGRAPH; QQKN
-02A7  ; [.17C9.0020.0004.02A7][.17B7.0020.0004.02A7] # LATIN SMALL LETTER TESH DIGRAPH; QQKN
-A729  ; [.17C9.0020.0004.A729][.1844.0020.0004.A729] # LATIN SMALL LETTER TZ; QQKN
-A728  ; [.17C9.0020.000A.A728][.1844.0020.0004.A728] # LATIN CAPITAL LETTER TZ; QQKN
-1D1B  ; [.17CD.0020.0002.1D1B] # LATIN LETTER SMALL CAPITAL T
-0167  ; [.17CE.0020.0002.0167] # LATIN SMALL LETTER T WITH STROKE
-0166  ; [.17CE.0020.0008.0166] # LATIN CAPITAL LETTER T WITH STROKE
-2C66  ; [.17D2.0020.0002.2C66] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
-023E  ; [.17D2.0020.0008.023E] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
-1D75  ; [.17D3.0020.0002.1D75] # LATIN SMALL LETTER T WITH MIDDLE TILDE
-01AB  ; [.17D4.0020.0002.01AB] # LATIN SMALL LETTER T WITH PALATAL HOOK
-1DB5  ; [.17D4.0020.0014.1DB5] # MODIFIER LETTER SMALL T WITH PALATAL HOOK; QQK
-01AD  ; [.17D8.0020.0002.01AD] # LATIN SMALL LETTER T WITH HOOK
-01AC  ; [.17D8.0020.0008.01AC] # LATIN CAPITAL LETTER T WITH HOOK
-0288  ; [.17DC.0020.0002.0288] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
-01AE  ; [.17DC.0020.0008.01AE] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
-0236  ; [.17E0.0020.0002.0236] # LATIN SMALL LETTER T WITH CURL
-A777  ; [.17E4.0020.0002.A777] # LATIN SMALL LETTER TUM
-0287  ; [.17E5.0020.0002.0287] # LATIN SMALL LETTER TURNED T
-0075  ; [.17E9.0020.0002.0075] # LATIN SMALL LETTER U
-FF55  ; [.17E9.0020.0003.FF55] # FULLWIDTH LATIN SMALL LETTER U; QQK
-0367  ; [.17E9.0020.0004.0367] # COMBINING LATIN SMALL LETTER U; QQK
-24B0  ; [*030E.0020.0004.24B0][.17E9.0020.0004.24B0][*030F.0020.001F.24B0] # PARENTHESIZED LATIN SMALL LETTER U; QQKN
-1D42E ; [.17E9.0020.0005.1D42E] # MATHEMATICAL BOLD SMALL U; QQK
-1D462 ; [.17E9.0020.0005.1D462] # MATHEMATICAL ITALIC SMALL U; QQK
-1D496 ; [.17E9.0020.0005.1D496] # MATHEMATICAL BOLD ITALIC SMALL U; QQK
-1D4CA ; [.17E9.0020.0005.1D4CA] # MATHEMATICAL SCRIPT SMALL U; QQK
-1D4FE ; [.17E9.0020.0005.1D4FE] # MATHEMATICAL BOLD SCRIPT SMALL U; QQK
-1D532 ; [.17E9.0020.0005.1D532] # MATHEMATICAL FRAKTUR SMALL U; QQK
-1D566 ; [.17E9.0020.0005.1D566] # MATHEMATICAL DOUBLE-STRUCK SMALL U; QQK
-1D59A ; [.17E9.0020.0005.1D59A] # MATHEMATICAL BOLD FRAKTUR SMALL U; QQK
-1D5CE ; [.17E9.0020.0005.1D5CE] # MATHEMATICAL SANS-SERIF SMALL U; QQK
-1D602 ; [.17E9.0020.0005.1D602] # MATHEMATICAL SANS-SERIF BOLD SMALL U; QQK
-1D636 ; [.17E9.0020.0005.1D636] # MATHEMATICAL SANS-SERIF ITALIC SMALL U; QQK
-1D66A ; [.17E9.0020.0005.1D66A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U; QQK
-1D69E ; [.17E9.0020.0005.1D69E] # MATHEMATICAL MONOSPACE SMALL U; QQK
-24E4  ; [.17E9.0020.0006.24E4] # CIRCLED LATIN SMALL LETTER U; QQK
-0055  ; [.17E9.0020.0008.0055] # LATIN CAPITAL LETTER U
-FF35  ; [.17E9.0020.0009.FF35] # FULLWIDTH LATIN CAPITAL LETTER U; QQK
-1F124 ; [*030E.0020.0004.1F124][.17E9.0020.000A.1F124][*030F.0020.001F.1F124] # PARENTHESIZED LATIN CAPITAL LETTER U; QQKN
-1F1FA ; [.17E9.0020.000A.1F1FA] # REGIONAL INDICATOR SYMBOL LETTER U; QQK
-1D414 ; [.17E9.0020.000B.1D414] # MATHEMATICAL BOLD CAPITAL U; QQK
-1D448 ; [.17E9.0020.000B.1D448] # MATHEMATICAL ITALIC CAPITAL U; QQK
-1D47C ; [.17E9.0020.000B.1D47C] # MATHEMATICAL BOLD ITALIC CAPITAL U; QQK
-1D4B0 ; [.17E9.0020.000B.1D4B0] # MATHEMATICAL SCRIPT CAPITAL U; QQK
-1D4E4 ; [.17E9.0020.000B.1D4E4] # MATHEMATICAL BOLD SCRIPT CAPITAL U; QQK
-1D518 ; [.17E9.0020.000B.1D518] # MATHEMATICAL FRAKTUR CAPITAL U; QQK
-1D54C ; [.17E9.0020.000B.1D54C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U; QQK
-1D580 ; [.17E9.0020.000B.1D580] # MATHEMATICAL BOLD FRAKTUR CAPITAL U; QQK
-1D5B4 ; [.17E9.0020.000B.1D5B4] # MATHEMATICAL SANS-SERIF CAPITAL U; QQK
-1D5E8 ; [.17E9.0020.000B.1D5E8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U; QQK
-1D61C ; [.17E9.0020.000B.1D61C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U; QQK
-1D650 ; [.17E9.0020.000B.1D650] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U; QQK
-1D684 ; [.17E9.0020.000B.1D684] # MATHEMATICAL MONOSPACE CAPITAL U; QQK
-24CA  ; [.17E9.0020.000C.24CA] # CIRCLED LATIN CAPITAL LETTER U; QQK
-1F164 ; [.17E9.0020.000C.1F164] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U; QQK
-1D58  ; [.17E9.0020.0014.1D58] # MODIFIER LETTER SMALL U; QQK
-1D64  ; [.17E9.0020.0015.1D64] # LATIN SUBSCRIPT SMALL LETTER U; QQK
-1D41  ; [.17E9.0020.001D.1D41] # MODIFIER LETTER CAPITAL U; QQK
-1F144 ; [.17E9.0020.001D.1F144] # SQUARED LATIN CAPITAL LETTER U; QQK
-1F184 ; [.17E9.0020.001D.1F184] # NEGATIVE SQUARED LATIN CAPITAL LETTER U; QQK
-00FA  ; [.17E9.0020.0002.0075][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH ACUTE; QQCM
-00DA  ; [.17E9.0020.0008.0055][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE; QQCM
-00F9  ; [.17E9.0020.0002.0075][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH GRAVE; QQCM
-00D9  ; [.17E9.0020.0008.0055][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH GRAVE; QQCM
-016D  ; [.17E9.0020.0002.0075][.0000.0037.0002.0306] # LATIN SMALL LETTER U WITH BREVE; QQCM
-016C  ; [.17E9.0020.0008.0055][.0000.0037.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE; QQCM
-00FB  ; [.17E9.0020.0002.0075][.0000.003C.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX; QQCM
-00DB  ; [.17E9.0020.0008.0055][.0000.003C.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX; QQCM
-01D4  ; [.17E9.0020.0002.0075][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH CARON; QQCM
-01D3  ; [.17E9.0020.0008.0055][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH CARON; QQCM
-016F  ; [.17E9.0020.0002.0075][.0000.0043.0002.030A] # LATIN SMALL LETTER U WITH RING ABOVE; QQCM
-016E  ; [.17E9.0020.0008.0055][.0000.0043.0002.030A] # LATIN CAPITAL LETTER U WITH RING ABOVE; QQCM
-00FC  ; [.17E9.0020.0002.0075][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS; QQCM
-00DC  ; [.17E9.0020.0008.0055][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS; QQCM
-01D8  ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE; QQCM
-01D7  ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE; QQCM
-01DC  ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE; QQCM
-01DB  ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE; QQCM
-01DA  ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON; QQCM
-01D9  ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON; QQCM
-01D6  ; [.17E9.0020.0002.0075][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON; QQCM
-01D5  ; [.17E9.0020.0008.0055][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON; QQCM
-0171  ; [.17E9.0020.0002.0075][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE; QQCM
-0170  ; [.17E9.0020.0008.0055][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE; QQCM
-0169  ; [.17E9.0020.0002.0075][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH TILDE; QQCM
-0168  ; [.17E9.0020.0008.0055][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE; QQCM
-1E79  ; [.17E9.0020.0002.0075][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH TILDE AND ACUTE; QQCM
-1E78  ; [.17E9.0020.0008.0055][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE; QQCM
-0173  ; [.17E9.0020.0002.0075][.0000.0059.0002.0328] # LATIN SMALL LETTER U WITH OGONEK; QQCM
-0172  ; [.17E9.0020.0008.0055][.0000.0059.0002.0328] # LATIN CAPITAL LETTER U WITH OGONEK; QQCM
-016B  ; [.17E9.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON; QQCM
-016A  ; [.17E9.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON; QQCM
-1E7B  ; [.17E9.0020.0002.0075][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS; QQCM
-1E7A  ; [.17E9.0020.0008.0055][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS; QQCM
-1EE7  ; [.17E9.0020.0002.0075][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE; QQCM
-1EE6  ; [.17E9.0020.0008.0055][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE; QQCM
-0215  ; [.17E9.0020.0002.0075][.0000.0065.0002.030F] # LATIN SMALL LETTER U WITH DOUBLE GRAVE; QQCM
-0214  ; [.17E9.0020.0008.0055][.0000.0065.0002.030F] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE; QQCM
-0217  ; [.17E9.0020.0002.0075][.0000.0067.0002.0311] # LATIN SMALL LETTER U WITH INVERTED BREVE; QQCM
-0216  ; [.17E9.0020.0008.0055][.0000.0067.0002.0311] # LATIN CAPITAL LETTER U WITH INVERTED BREVE; QQCM
-01B0  ; [.17E9.0020.0002.0075][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN; QQCM
-01AF  ; [.17E9.0020.0008.0055][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN; QQCM
-1EE9  ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE; QQCM
-1EE8  ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE; QQCM
-1EEB  ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE; QQCM
-1EEA  ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE; QQCM
-1EEF  ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE; QQCM
-1EEE  ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE; QQCM
-1EED  ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE; QQCM
-1EEC  ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE; QQCM
-1EF1  ; [.17E9.0020.0002.0075][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW; QQCM
-1EF0  ; [.17E9.0020.0008.0055][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW; QQCM
-1EE5  ; [.17E9.0020.0002.0075][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW; QQCM
-1EE4  ; [.17E9.0020.0008.0055][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW; QQCM
-1E73  ; [.17E9.0020.0002.0075][.0000.0075.0002.0324] # LATIN SMALL LETTER U WITH DIAERESIS BELOW; QQCM
-1E72  ; [.17E9.0020.0008.0055][.0000.0075.0002.0324] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW; QQCM
-1E77  ; [.17E9.0020.0002.0075][.0000.0078.0002.032D] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW; QQCM
-1E76  ; [.17E9.0020.0008.0055][.0000.0078.0002.032D] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW; QQCM
-1E75  ; [.17E9.0020.0002.0075][.0000.007A.0002.0330] # LATIN SMALL LETTER U WITH TILDE BELOW; QQCM
-1E74  ; [.17E9.0020.0008.0055][.0000.007A.0002.0330] # LATIN CAPITAL LETTER U WITH TILDE BELOW; QQCM
-1F199 ; [.17E9.0020.001D.1F199][.1749.0020.001D.1F199][*027B.0020.001F.1F199] # SQUARED UP WITH EXCLAMATION MARK; QQKN
-1D1C  ; [.17ED.0020.0002.1D1C] # LATIN LETTER SMALL CAPITAL U
-1DB8  ; [.17ED.0020.0014.1DB8] # MODIFIER LETTER SMALL CAPITAL U; QQK
-1D1D  ; [.17EE.0020.0002.1D1D] # LATIN SMALL LETTER SIDEWAYS U
-1D59  ; [.17EE.0020.0014.1D59] # MODIFIER LETTER SMALL SIDEWAYS U; QQK
-1D1E  ; [.17EF.0020.0002.1D1E] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
-1D6B  ; [.17F0.0020.0002.1D6B] # LATIN SMALL LETTER UE
-0289  ; [.17F1.0020.0002.0289] # LATIN SMALL LETTER U BAR
-0244  ; [.17F1.0020.0008.0244] # LATIN CAPITAL LETTER U BAR
-1DB6  ; [.17F1.0020.0014.1DB6] # MODIFIER LETTER SMALL U BAR; QQK
-1D7E  ; [.17F5.0020.0002.1D7E] # LATIN SMALL CAPITAL LETTER U WITH STROKE
-1D99  ; [.17F6.0020.0002.1D99] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
-0265  ; [.17F7.0020.0002.0265] # LATIN SMALL LETTER TURNED H
-A78D  ; [.17F7.0020.0008.A78D] # LATIN CAPITAL LETTER TURNED H
-1DA3  ; [.17F7.0020.0014.1DA3] # MODIFIER LETTER SMALL TURNED H; QQK
-02AE  ; [.17FB.0020.0002.02AE] # LATIN SMALL LETTER TURNED H WITH FISHHOOK 
-02AF  ; [.17FF.0020.0002.02AF] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
-026F  ; [.1803.0020.0002.026F] # LATIN SMALL LETTER TURNED M
-019C  ; [.1803.0020.0008.019C] # LATIN CAPITAL LETTER TURNED M
-1D5A  ; [.1803.0020.0014.1D5A] # MODIFIER LETTER SMALL TURNED M; QQK
-A7FA  ; [.1807.0020.0002.A7FA] # LATIN LETTER SMALL CAPITAL TURNED M
-1D1F  ; [.1808.0020.0002.1D1F] # LATIN SMALL LETTER SIDEWAYS TURNED M
-0270  ; [.1809.0020.0002.0270] # LATIN SMALL LETTER TURNED M WITH LONG LEG
-1DAD  ; [.1809.0020.0014.1DAD] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG; QQK
-028A  ; [.180D.0020.0002.028A] # LATIN SMALL LETTER UPSILON
-01B1  ; [.180D.0020.0008.01B1] # LATIN CAPITAL LETTER UPSILON
-1DB7  ; [.180D.0020.0014.1DB7] # MODIFIER LETTER SMALL UPSILON; QQK
-1D7F  ; [.1811.0020.0002.1D7F] # LATIN SMALL LETTER UPSILON WITH STROKE
-0076  ; [.1812.0020.0002.0076] # LATIN SMALL LETTER V
-FF56  ; [.1812.0020.0003.FF56] # FULLWIDTH LATIN SMALL LETTER V; QQK
-036E  ; [.1812.0020.0004.036E] # COMBINING LATIN SMALL LETTER V; QQK
-2174  ; [.1812.0020.0004.2174] # SMALL ROMAN NUMERAL FIVE; QQK
-24B1  ; [*030E.0020.0004.24B1][.1812.0020.0004.24B1][*030F.0020.001F.24B1] # PARENTHESIZED LATIN SMALL LETTER V; QQKN
-1D42F ; [.1812.0020.0005.1D42F] # MATHEMATICAL BOLD SMALL V; QQK
-1D463 ; [.1812.0020.0005.1D463] # MATHEMATICAL ITALIC SMALL V; QQK
-1D497 ; [.1812.0020.0005.1D497] # MATHEMATICAL BOLD ITALIC SMALL V; QQK
-1D4CB ; [.1812.0020.0005.1D4CB] # MATHEMATICAL SCRIPT SMALL V; QQK
-1D4FF ; [.1812.0020.0005.1D4FF] # MATHEMATICAL BOLD SCRIPT SMALL V; QQK
-1D533 ; [.1812.0020.0005.1D533] # MATHEMATICAL FRAKTUR SMALL V; QQK
-1D567 ; [.1812.0020.0005.1D567] # MATHEMATICAL DOUBLE-STRUCK SMALL V; QQK
-1D59B ; [.1812.0020.0005.1D59B] # MATHEMATICAL BOLD FRAKTUR SMALL V; QQK
-1D5CF ; [.1812.0020.0005.1D5CF] # MATHEMATICAL SANS-SERIF SMALL V; QQK
-1D603 ; [.1812.0020.0005.1D603] # MATHEMATICAL SANS-SERIF BOLD SMALL V; QQK
-1D637 ; [.1812.0020.0005.1D637] # MATHEMATICAL SANS-SERIF ITALIC SMALL V; QQK
-1D66B ; [.1812.0020.0005.1D66B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V; QQK
-1D69F ; [.1812.0020.0005.1D69F] # MATHEMATICAL MONOSPACE SMALL V; QQK
-24E5  ; [.1812.0020.0006.24E5] # CIRCLED LATIN SMALL LETTER V; QQK
-0056  ; [.1812.0020.0008.0056] # LATIN CAPITAL LETTER V
-FF36  ; [.1812.0020.0009.FF36] # FULLWIDTH LATIN CAPITAL LETTER V; QQK
-2164  ; [.1812.0020.000A.2164] # ROMAN NUMERAL FIVE; QQK
-1F125 ; [*030E.0020.0004.1F125][.1812.0020.000A.1F125][*030F.0020.001F.1F125] # PARENTHESIZED LATIN CAPITAL LETTER V; QQKN
-1F1FB ; [.1812.0020.000A.1F1FB] # REGIONAL INDICATOR SYMBOL LETTER V; QQK
-1D415 ; [.1812.0020.000B.1D415] # MATHEMATICAL BOLD CAPITAL V; QQK
-1D449 ; [.1812.0020.000B.1D449] # MATHEMATICAL ITALIC CAPITAL V; QQK
-1D47D ; [.1812.0020.000B.1D47D] # MATHEMATICAL BOLD ITALIC CAPITAL V; QQK
-1D4B1 ; [.1812.0020.000B.1D4B1] # MATHEMATICAL SCRIPT CAPITAL V; QQK
-1D4E5 ; [.1812.0020.000B.1D4E5] # MATHEMATICAL BOLD SCRIPT CAPITAL V; QQK
-1D519 ; [.1812.0020.000B.1D519] # MATHEMATICAL FRAKTUR CAPITAL V; QQK
-1D54D ; [.1812.0020.000B.1D54D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V; QQK
-1D581 ; [.1812.0020.000B.1D581] # MATHEMATICAL BOLD FRAKTUR CAPITAL V; QQK
-1D5B5 ; [.1812.0020.000B.1D5B5] # MATHEMATICAL SANS-SERIF CAPITAL V; QQK
-1D5E9 ; [.1812.0020.000B.1D5E9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V; QQK
-1D61D ; [.1812.0020.000B.1D61D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V; QQK
-1D651 ; [.1812.0020.000B.1D651] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V; QQK
-1D685 ; [.1812.0020.000B.1D685] # MATHEMATICAL MONOSPACE CAPITAL V; QQK
-24CB  ; [.1812.0020.000C.24CB] # CIRCLED LATIN CAPITAL LETTER V; QQK
-1F165 ; [.1812.0020.000C.1F165] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V; QQK
-1D5B  ; [.1812.0020.0014.1D5B] # MODIFIER LETTER SMALL V; QQK
-1D65  ; [.1812.0020.0015.1D65] # LATIN SUBSCRIPT SMALL LETTER V; QQK
-2C7D  ; [.1812.0020.001D.2C7D] # MODIFIER LETTER CAPITAL V; QQK
-1F145 ; [.1812.0020.001D.1F145] # SQUARED LATIN CAPITAL LETTER V; QQK
-1F185 ; [.1812.0020.001D.1F185] # NEGATIVE SQUARED LATIN CAPITAL LETTER V; QQK
-1E7D  ; [.1812.0020.0002.0076][.0000.004E.0002.0303] # LATIN SMALL LETTER V WITH TILDE; QQCM
-1E7C  ; [.1812.0020.0008.0056][.0000.004E.0002.0303] # LATIN CAPITAL LETTER V WITH TILDE; QQCM
-1E7F  ; [.1812.0020.0002.0076][.0000.0070.0002.0323] # LATIN SMALL LETTER V WITH DOT BELOW; QQCM
-1E7E  ; [.1812.0020.0008.0056][.0000.0070.0002.0323] # LATIN CAPITAL LETTER V WITH DOT BELOW; QQCM
-2175  ; [.1812.0020.0004.2175][.1680.0020.0004.2175] # SMALL ROMAN NUMERAL SIX; QQKN
-2165  ; [.1812.0020.000A.2165][.1680.0020.000A.2165] # ROMAN NUMERAL SIX; QQKN
-2176  ; [.1812.0020.0004.2176][.1680.0020.0004.2176][.1680.0020.001F.2176] # SMALL ROMAN NUMERAL SEVEN; QQKN
-2166  ; [.1812.0020.000A.2166][.1680.0020.000A.2166][.1680.0020.001F.2166] # ROMAN NUMERAL SEVEN; QQKN
-2177  ; [.1812.0020.0004.2177][.1680.0020.0004.2177][.1680.0020.001F.2177][.1680.0020.001F.2177] # SMALL ROMAN NUMERAL EIGHT; QQKN
-2167  ; [.1812.0020.000A.2167][.1680.0020.000A.2167][.1680.0020.001F.2167][.1680.0020.001F.2167] # ROMAN NUMERAL EIGHT; QQKN
-33DE  ; [.1812.0020.001D.33DE][*0579.0020.001C.33DE][.16F4.0020.001F.33DE] # SQUARE V OVER M; QQKN
-1F19A ; [.1812.0020.001D.1F19A][.17A6.0020.001D.1F19A] # SQUARED VS; QQKN
-A761  ; [.1812.0020.0004.A761][.1833.0020.0004.A761] # LATIN SMALL LETTER VY; QQKN
-A760  ; [.1812.0020.000A.A760][.1833.0020.000A.A760] # LATIN CAPITAL LETTER VY; QQKN
-1D20  ; [.1816.0020.0002.1D20] # LATIN LETTER SMALL CAPITAL V
-A75F  ; [.1817.0020.0002.A75F] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
-A75E  ; [.1817.0020.0008.A75E] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
-1D8C  ; [.1818.0020.0002.1D8C] # LATIN SMALL LETTER V WITH PALATAL HOOK
-028B  ; [.1819.0020.0002.028B] # LATIN SMALL LETTER V WITH HOOK
-01B2  ; [.1819.0020.0008.01B2] # LATIN CAPITAL LETTER V WITH HOOK
-1DB9  ; [.1819.0020.0014.1DB9] # MODIFIER LETTER SMALL V WITH HOOK; QQK
-2C71  ; [.181D.0020.0002.2C71] # LATIN SMALL LETTER V WITH RIGHT HOOK
-2C74  ; [.181E.0020.0002.2C74] # LATIN SMALL LETTER V WITH CURL
-1EFD  ; [.181F.0020.0002.1EFD] # LATIN SMALL LETTER MIDDLE-WELSH V
-1EFC  ; [.181F.0020.0008.1EFC] # LATIN CAPITAL LETTER MIDDLE-WELSH V
-028C  ; [.1820.0020.0002.028C] # LATIN SMALL LETTER TURNED V
-0245  ; [.1820.0020.0008.0245] # LATIN CAPITAL LETTER TURNED V
-1DBA  ; [.1820.0020.0014.1DBA] # MODIFIER LETTER SMALL TURNED V; QQK
-0077  ; [.1824.0020.0002.0077] # LATIN SMALL LETTER W
-FF57  ; [.1824.0020.0003.FF57] # FULLWIDTH LATIN SMALL LETTER W; QQK
-24B2  ; [*030E.0020.0004.24B2][.1824.0020.0004.24B2][*030F.0020.001F.24B2] # PARENTHESIZED LATIN SMALL LETTER W; QQKN
-1D430 ; [.1824.0020.0005.1D430] # MATHEMATICAL BOLD SMALL W; QQK
-1D464 ; [.1824.0020.0005.1D464] # MATHEMATICAL ITALIC SMALL W; QQK
-1D498 ; [.1824.0020.0005.1D498] # MATHEMATICAL BOLD ITALIC SMALL W; QQK
-1D4CC ; [.1824.0020.0005.1D4CC] # MATHEMATICAL SCRIPT SMALL W; QQK
-1D500 ; [.1824.0020.0005.1D500] # MATHEMATICAL BOLD SCRIPT SMALL W; QQK
-1D534 ; [.1824.0020.0005.1D534] # MATHEMATICAL FRAKTUR SMALL W; QQK
-1D568 ; [.1824.0020.0005.1D568] # MATHEMATICAL DOUBLE-STRUCK SMALL W; QQK
-1D59C ; [.1824.0020.0005.1D59C] # MATHEMATICAL BOLD FRAKTUR SMALL W; QQK
-1D5D0 ; [.1824.0020.0005.1D5D0] # MATHEMATICAL SANS-SERIF SMALL W; QQK
-1D604 ; [.1824.0020.0005.1D604] # MATHEMATICAL SANS-SERIF BOLD SMALL W; QQK
-1D638 ; [.1824.0020.0005.1D638] # MATHEMATICAL SANS-SERIF ITALIC SMALL W; QQK
-1D66C ; [.1824.0020.0005.1D66C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W; QQK
-1D6A0 ; [.1824.0020.0005.1D6A0] # MATHEMATICAL MONOSPACE SMALL W; QQK
-24E6  ; [.1824.0020.0006.24E6] # CIRCLED LATIN SMALL LETTER W; QQK
-0057  ; [.1824.0020.0008.0057] # LATIN CAPITAL LETTER W
-FF37  ; [.1824.0020.0009.FF37] # FULLWIDTH LATIN CAPITAL LETTER W; QQK
-1F126 ; [*030E.0020.0004.1F126][.1824.0020.000A.1F126][*030F.0020.001F.1F126] # PARENTHESIZED LATIN CAPITAL LETTER W; QQKN
-1F1FC ; [.1824.0020.000A.1F1FC] # REGIONAL INDICATOR SYMBOL LETTER W; QQK
-1D416 ; [.1824.0020.000B.1D416] # MATHEMATICAL BOLD CAPITAL W; QQK
-1D44A ; [.1824.0020.000B.1D44A] # MATHEMATICAL ITALIC CAPITAL W; QQK
-1D47E ; [.1824.0020.000B.1D47E] # MATHEMATICAL BOLD ITALIC CAPITAL W; QQK
-1D4B2 ; [.1824.0020.000B.1D4B2] # MATHEMATICAL SCRIPT CAPITAL W; QQK
-1D4E6 ; [.1824.0020.000B.1D4E6] # MATHEMATICAL BOLD SCRIPT CAPITAL W; QQK
-1D51A ; [.1824.0020.000B.1D51A] # MATHEMATICAL FRAKTUR CAPITAL W; QQK
-1D54E ; [.1824.0020.000B.1D54E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W; QQK
-1D582 ; [.1824.0020.000B.1D582] # MATHEMATICAL BOLD FRAKTUR CAPITAL W; QQK
-1D5B6 ; [.1824.0020.000B.1D5B6] # MATHEMATICAL SANS-SERIF CAPITAL W; QQK
-1D5EA ; [.1824.0020.000B.1D5EA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W; QQK
-1D61E ; [.1824.0020.000B.1D61E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W; QQK
-1D652 ; [.1824.0020.000B.1D652] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W; QQK
-1D686 ; [.1824.0020.000B.1D686] # MATHEMATICAL MONOSPACE CAPITAL W; QQK
-24CC  ; [.1824.0020.000C.24CC] # CIRCLED LATIN CAPITAL LETTER W; QQK
-1F166 ; [.1824.0020.000C.1F166] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W; QQK
-02B7  ; [.1824.0020.0014.02B7] # MODIFIER LETTER SMALL W; QQK
-1D42  ; [.1824.0020.001D.1D42] # MODIFIER LETTER CAPITAL W; QQK
-1F146 ; [.1824.0020.001D.1F146] # SQUARED LATIN CAPITAL LETTER W; QQK
-1F186 ; [.1824.0020.001D.1F186] # NEGATIVE SQUARED LATIN CAPITAL LETTER W; QQK
-1E83  ; [.1824.0020.0002.0077][.0000.0032.0002.0301] # LATIN SMALL LETTER W WITH ACUTE; QQCM
-1E82  ; [.1824.0020.0008.0057][.0000.0032.0002.0301] # LATIN CAPITAL LETTER W WITH ACUTE; QQCM
-1E81  ; [.1824.0020.0002.0077][.0000.0035.0002.0300] # LATIN SMALL LETTER W WITH GRAVE; QQCM
-1E80  ; [.1824.0020.0008.0057][.0000.0035.0002.0300] # LATIN CAPITAL LETTER W WITH GRAVE; QQCM
-0175  ; [.1824.0020.0002.0077][.0000.003C.0002.0302] # LATIN SMALL LETTER W WITH CIRCUMFLEX; QQCM
-0174  ; [.1824.0020.0008.0057][.0000.003C.0002.0302] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX; QQCM
-1E98  ; [.1824.0020.0002.0077][.0000.0043.0002.030A] # LATIN SMALL LETTER W WITH RING ABOVE; QQCM
-1E85  ; [.1824.0020.0002.0077][.0000.0047.0002.0308] # LATIN SMALL LETTER W WITH DIAERESIS; QQCM
-1E84  ; [.1824.0020.0008.0057][.0000.0047.0002.0308] # LATIN CAPITAL LETTER W WITH DIAERESIS; QQCM
-1E87  ; [.1824.0020.0002.0077][.0000.0052.0002.0307] # LATIN SMALL LETTER W WITH DOT ABOVE; QQCM
-1E86  ; [.1824.0020.0008.0057][.0000.0052.0002.0307] # LATIN CAPITAL LETTER W WITH DOT ABOVE; QQCM
-1E89  ; [.1824.0020.0002.0077][.0000.0070.0002.0323] # LATIN SMALL LETTER W WITH DOT BELOW; QQCM
-1E88  ; [.1824.0020.0008.0057][.0000.0070.0002.0323] # LATIN CAPITAL LETTER W WITH DOT BELOW; QQCM
-33DD  ; [.1824.0020.001D.33DD][.15B9.0020.001C.33DD] # SQUARE WB; QQKN
-1F14F ; [.1824.0020.001D.1F14F][.15D1.0020.001D.1F14F] # SQUARED WC; QQKN
-1F18F ; [.1824.0020.001D.1F18F][.15D1.0020.001D.1F18F] # NEGATIVE SQUARED WC; QQKN
-1F12E ; [.1824.0020.000C.1F12E][.1844.0020.000C.1F12E] # CIRCLED WZ; QQKN
-1D21  ; [.1828.0020.0002.1D21] # LATIN LETTER SMALL CAPITAL W
-2C73  ; [.1829.0020.0002.2C73] # LATIN SMALL LETTER W WITH HOOK
-2C72  ; [.1829.0020.0008.2C72] # LATIN CAPITAL LETTER W WITH HOOK
-028D  ; [.182A.0020.0002.028D] # LATIN SMALL LETTER TURNED W
-0078  ; [.182E.0020.0002.0078] # LATIN SMALL LETTER X
-FF58  ; [.182E.0020.0003.FF58] # FULLWIDTH LATIN SMALL LETTER X; QQK
-036F  ; [.182E.0020.0004.036F] # COMBINING LATIN SMALL LETTER X; QQK
-2179  ; [.182E.0020.0004.2179] # SMALL ROMAN NUMERAL TEN; QQK
-24B3  ; [*030E.0020.0004.24B3][.182E.0020.0004.24B3][*030F.0020.001F.24B3] # PARENTHESIZED LATIN SMALL LETTER X; QQKN
-1D431 ; [.182E.0020.0005.1D431] # MATHEMATICAL BOLD SMALL X; QQK
-1D465 ; [.182E.0020.0005.1D465] # MATHEMATICAL ITALIC SMALL X; QQK
-1D499 ; [.182E.0020.0005.1D499] # MATHEMATICAL BOLD ITALIC SMALL X; QQK
-1D4CD ; [.182E.0020.0005.1D4CD] # MATHEMATICAL SCRIPT SMALL X; QQK
-1D501 ; [.182E.0020.0005.1D501] # MATHEMATICAL BOLD SCRIPT SMALL X; QQK
-1D535 ; [.182E.0020.0005.1D535] # MATHEMATICAL FRAKTUR SMALL X; QQK
-1D569 ; [.182E.0020.0005.1D569] # MATHEMATICAL DOUBLE-STRUCK SMALL X; QQK
-1D59D ; [.182E.0020.0005.1D59D] # MATHEMATICAL BOLD FRAKTUR SMALL X; QQK
-1D5D1 ; [.182E.0020.0005.1D5D1] # MATHEMATICAL SANS-SERIF SMALL X; QQK
-1D605 ; [.182E.0020.0005.1D605] # MATHEMATICAL SANS-SERIF BOLD SMALL X; QQK
-1D639 ; [.182E.0020.0005.1D639] # MATHEMATICAL SANS-SERIF ITALIC SMALL X; QQK
-1D66D ; [.182E.0020.0005.1D66D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X; QQK
-1D6A1 ; [.182E.0020.0005.1D6A1] # MATHEMATICAL MONOSPACE SMALL X; QQK
-24E7  ; [.182E.0020.0006.24E7] # CIRCLED LATIN SMALL LETTER X; QQK
-0058  ; [.182E.0020.0008.0058] # LATIN CAPITAL LETTER X
-FF38  ; [.182E.0020.0009.FF38] # FULLWIDTH LATIN CAPITAL LETTER X; QQK
-2169  ; [.182E.0020.000A.2169] # ROMAN NUMERAL TEN; QQK
-1F127 ; [*030E.0020.0004.1F127][.182E.0020.000A.1F127][*030F.0020.001F.1F127] # PARENTHESIZED LATIN CAPITAL LETTER X; QQKN
-1F1FD ; [.182E.0020.000A.1F1FD] # REGIONAL INDICATOR SYMBOL LETTER X; QQK
-1D417 ; [.182E.0020.000B.1D417] # MATHEMATICAL BOLD CAPITAL X; QQK
-1D44B ; [.182E.0020.000B.1D44B] # MATHEMATICAL ITALIC CAPITAL X; QQK
-1D47F ; [.182E.0020.000B.1D47F] # MATHEMATICAL BOLD ITALIC CAPITAL X; QQK
-1D4B3 ; [.182E.0020.000B.1D4B3] # MATHEMATICAL SCRIPT CAPITAL X; QQK
-1D4E7 ; [.182E.0020.000B.1D4E7] # MATHEMATICAL BOLD SCRIPT CAPITAL X; QQK
-1D51B ; [.182E.0020.000B.1D51B] # MATHEMATICAL FRAKTUR CAPITAL X; QQK
-1D54F ; [.182E.0020.000B.1D54F] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X; QQK
-1D583 ; [.182E.0020.000B.1D583] # MATHEMATICAL BOLD FRAKTUR CAPITAL X; QQK
-1D5B7 ; [.182E.0020.000B.1D5B7] # MATHEMATICAL SANS-SERIF CAPITAL X; QQK
-1D5EB ; [.182E.0020.000B.1D5EB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X; QQK
-1D61F ; [.182E.0020.000B.1D61F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X; QQK
-1D653 ; [.182E.0020.000B.1D653] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X; QQK
-1D687 ; [.182E.0020.000B.1D687] # MATHEMATICAL MONOSPACE CAPITAL X; QQK
-24CD  ; [.182E.0020.000C.24CD] # CIRCLED LATIN CAPITAL LETTER X; QQK
-1F167 ; [.182E.0020.000C.1F167] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X; QQK
-02E3  ; [.182E.0020.0014.02E3] # MODIFIER LETTER SMALL X; QQK
-2093  ; [.182E.0020.0015.2093] # LATIN SUBSCRIPT SMALL LETTER X; QQK
-1F147 ; [.182E.0020.001D.1F147] # SQUARED LATIN CAPITAL LETTER X; QQK
-1F187 ; [.182E.0020.001D.1F187] # NEGATIVE SQUARED LATIN CAPITAL LETTER X; QQK
-1E8D  ; [.182E.0020.0002.0078][.0000.0047.0002.0308] # LATIN SMALL LETTER X WITH DIAERESIS; QQCM
-1E8C  ; [.182E.0020.0008.0058][.0000.0047.0002.0308] # LATIN CAPITAL LETTER X WITH DIAERESIS; QQCM
-1E8B  ; [.182E.0020.0002.0078][.0000.0052.0002.0307] # LATIN SMALL LETTER X WITH DOT ABOVE; QQCM
-1E8A  ; [.182E.0020.0008.0058][.0000.0052.0002.0307] # LATIN CAPITAL LETTER X WITH DOT ABOVE; QQCM
-217A  ; [.182E.0020.0004.217A][.1680.0020.0004.217A] # SMALL ROMAN NUMERAL ELEVEN; QQKN
-216A  ; [.182E.0020.000A.216A][.1680.0020.000A.216A] # ROMAN NUMERAL ELEVEN; QQKN
-217B  ; [.182E.0020.0004.217B][.1680.0020.0004.217B][.1680.0020.001F.217B] # SMALL ROMAN NUMERAL TWELVE; QQKN
-216B  ; [.182E.0020.000A.216B][.1680.0020.000A.216B][.1680.0020.001F.216B] # ROMAN NUMERAL TWELVE; QQKN
-1D8D  ; [.1832.0020.0002.1D8D] # LATIN SMALL LETTER X WITH PALATAL HOOK
-0079  ; [.1833.0020.0002.0079] # LATIN SMALL LETTER Y
-FF59  ; [.1833.0020.0003.FF59] # FULLWIDTH LATIN SMALL LETTER Y; QQK
-24B4  ; [*030E.0020.0004.24B4][.1833.0020.0004.24B4][*030F.0020.001F.24B4] # PARENTHESIZED LATIN SMALL LETTER Y; QQKN
-1D432 ; [.1833.0020.0005.1D432] # MATHEMATICAL BOLD SMALL Y; QQK
-1D466 ; [.1833.0020.0005.1D466] # MATHEMATICAL ITALIC SMALL Y; QQK
-1D49A ; [.1833.0020.0005.1D49A] # MATHEMATICAL BOLD ITALIC SMALL Y; QQK
-1D4CE ; [.1833.0020.0005.1D4CE] # MATHEMATICAL SCRIPT SMALL Y; QQK
-1D502 ; [.1833.0020.0005.1D502] # MATHEMATICAL BOLD SCRIPT SMALL Y; QQK
-1D536 ; [.1833.0020.0005.1D536] # MATHEMATICAL FRAKTUR SMALL Y; QQK
-1D56A ; [.1833.0020.0005.1D56A] # MATHEMATICAL DOUBLE-STRUCK SMALL Y; QQK
-1D59E ; [.1833.0020.0005.1D59E] # MATHEMATICAL BOLD FRAKTUR SMALL Y; QQK
-1D5D2 ; [.1833.0020.0005.1D5D2] # MATHEMATICAL SANS-SERIF SMALL Y; QQK
-1D606 ; [.1833.0020.0005.1D606] # MATHEMATICAL SANS-SERIF BOLD SMALL Y; QQK
-1D63A ; [.1833.0020.0005.1D63A] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y; QQK
-1D66E ; [.1833.0020.0005.1D66E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y; QQK
-1D6A2 ; [.1833.0020.0005.1D6A2] # MATHEMATICAL MONOSPACE SMALL Y; QQK
-24E8  ; [.1833.0020.0006.24E8] # CIRCLED LATIN SMALL LETTER Y; QQK
-0059  ; [.1833.0020.0008.0059] # LATIN CAPITAL LETTER Y
-FF39  ; [.1833.0020.0009.FF39] # FULLWIDTH LATIN CAPITAL LETTER Y; QQK
-1F128 ; [*030E.0020.0004.1F128][.1833.0020.000A.1F128][*030F.0020.001F.1F128] # PARENTHESIZED LATIN CAPITAL LETTER Y; QQKN
-1F1FE ; [.1833.0020.000A.1F1FE] # REGIONAL INDICATOR SYMBOL LETTER Y; QQK
-1D418 ; [.1833.0020.000B.1D418] # MATHEMATICAL BOLD CAPITAL Y; QQK
-1D44C ; [.1833.0020.000B.1D44C] # MATHEMATICAL ITALIC CAPITAL Y; QQK
-1D480 ; [.1833.0020.000B.1D480] # MATHEMATICAL BOLD ITALIC CAPITAL Y; QQK
-1D4B4 ; [.1833.0020.000B.1D4B4] # MATHEMATICAL SCRIPT CAPITAL Y; QQK
-1D4E8 ; [.1833.0020.000B.1D4E8] # MATHEMATICAL BOLD SCRIPT CAPITAL Y; QQK
-1D51C ; [.1833.0020.000B.1D51C] # MATHEMATICAL FRAKTUR CAPITAL Y; QQK
-1D550 ; [.1833.0020.000B.1D550] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y; QQK
-1D584 ; [.1833.0020.000B.1D584] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y; QQK
-1D5B8 ; [.1833.0020.000B.1D5B8] # MATHEMATICAL SANS-SERIF CAPITAL Y; QQK
-1D5EC ; [.1833.0020.000B.1D5EC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y; QQK
-1D620 ; [.1833.0020.000B.1D620] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y; QQK
-1D654 ; [.1833.0020.000B.1D654] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y; QQK
-1D688 ; [.1833.0020.000B.1D688] # MATHEMATICAL MONOSPACE CAPITAL Y; QQK
-24CE  ; [.1833.0020.000C.24CE] # CIRCLED LATIN CAPITAL LETTER Y; QQK
-1F168 ; [.1833.0020.000C.1F168] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y; QQK
-02B8  ; [.1833.0020.0014.02B8] # MODIFIER LETTER SMALL Y; QQK
-1F148 ; [.1833.0020.001D.1F148] # SQUARED LATIN CAPITAL LETTER Y; QQK
-1F188 ; [.1833.0020.001D.1F188] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y; QQK
-00FD  ; [.1833.0020.0002.0079][.0000.0032.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE; QQCM
-00DD  ; [.1833.0020.0008.0059][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE; QQCM
-1EF3  ; [.1833.0020.0002.0079][.0000.0035.0002.0300] # LATIN SMALL LETTER Y WITH GRAVE; QQCM
-1EF2  ; [.1833.0020.0008.0059][.0000.0035.0002.0300] # LATIN CAPITAL LETTER Y WITH GRAVE; QQCM
-0177  ; [.1833.0020.0002.0079][.0000.003C.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX; QQCM
-0176  ; [.1833.0020.0008.0059][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX; QQCM
-1E99  ; [.1833.0020.0002.0079][.0000.0043.0002.030A] # LATIN SMALL LETTER Y WITH RING ABOVE; QQCM
-00FF  ; [.1833.0020.0002.0079][.0000.0047.0002.0308] # LATIN SMALL LETTER Y WITH DIAERESIS; QQCM
-0178  ; [.1833.0020.0008.0059][.0000.0047.0002.0308] # LATIN CAPITAL LETTER Y WITH DIAERESIS; QQCM
-1EF9  ; [.1833.0020.0002.0079][.0000.004E.0002.0303] # LATIN SMALL LETTER Y WITH TILDE; QQCM
-1EF8  ; [.1833.0020.0008.0059][.0000.004E.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE; QQCM
-1E8F  ; [.1833.0020.0002.0079][.0000.0052.0002.0307] # LATIN SMALL LETTER Y WITH DOT ABOVE; QQCM
-1E8E  ; [.1833.0020.0008.0059][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Y WITH DOT ABOVE; QQCM
-0233  ; [.1833.0020.0002.0079][.0000.005B.0002.0304] # LATIN SMALL LETTER Y WITH MACRON; QQCM
-0232  ; [.1833.0020.0008.0059][.0000.005B.0002.0304] # LATIN CAPITAL LETTER Y WITH MACRON; QQCM
-1EF7  ; [.1833.0020.0002.0079][.0000.0064.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE; QQCM
-1EF6  ; [.1833.0020.0008.0059][.0000.0064.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE; QQCM
-1EF5  ; [.1833.0020.0002.0079][.0000.0070.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW; QQCM
-1EF4  ; [.1833.0020.0008.0059][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW; QQCM
-028F  ; [.1837.0020.0002.028F] # LATIN LETTER SMALL CAPITAL Y
-024F  ; [.183B.0020.0002.024F] # LATIN SMALL LETTER Y WITH STROKE
-024E  ; [.183B.0020.0008.024E] # LATIN CAPITAL LETTER Y WITH STROKE
-01B4  ; [.183F.0020.0002.01B4] # LATIN SMALL LETTER Y WITH HOOK
-01B3  ; [.183F.0020.0008.01B3] # LATIN CAPITAL LETTER Y WITH HOOK
-1EFF  ; [.1843.0020.0002.1EFF] # LATIN SMALL LETTER Y WITH LOOP
-1EFE  ; [.1843.0020.0008.1EFE] # LATIN CAPITAL LETTER Y WITH LOOP
-007A  ; [.1844.0020.0002.007A] # LATIN SMALL LETTER Z
-FF5A  ; [.1844.0020.0003.FF5A] # FULLWIDTH LATIN SMALL LETTER Z; QQK
-1DE6  ; [.1844.0020.0004.1DE6] # COMBINING LATIN SMALL LETTER Z; QQK
-24B5  ; [*030E.0020.0004.24B5][.1844.0020.0004.24B5][*030F.0020.001F.24B5] # PARENTHESIZED LATIN SMALL LETTER Z; QQKN
-1D433 ; [.1844.0020.0005.1D433] # MATHEMATICAL BOLD SMALL Z; QQK
-1D467 ; [.1844.0020.0005.1D467] # MATHEMATICAL ITALIC SMALL Z; QQK
-1D49B ; [.1844.0020.0005.1D49B] # MATHEMATICAL BOLD ITALIC SMALL Z; QQK
-1D4CF ; [.1844.0020.0005.1D4CF] # MATHEMATICAL SCRIPT SMALL Z; QQK
-1D503 ; [.1844.0020.0005.1D503] # MATHEMATICAL BOLD SCRIPT SMALL Z; QQK
-1D537 ; [.1844.0020.0005.1D537] # MATHEMATICAL FRAKTUR SMALL Z; QQK
-1D56B ; [.1844.0020.0005.1D56B] # MATHEMATICAL DOUBLE-STRUCK SMALL Z; QQK
-1D59F ; [.1844.0020.0005.1D59F] # MATHEMATICAL BOLD FRAKTUR SMALL Z; QQK
-1D5D3 ; [.1844.0020.0005.1D5D3] # MATHEMATICAL SANS-SERIF SMALL Z; QQK
-1D607 ; [.1844.0020.0005.1D607] # MATHEMATICAL SANS-SERIF BOLD SMALL Z; QQK
-1D63B ; [.1844.0020.0005.1D63B] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z; QQK
-1D66F ; [.1844.0020.0005.1D66F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z; QQK
-1D6A3 ; [.1844.0020.0005.1D6A3] # MATHEMATICAL MONOSPACE SMALL Z; QQK
-24E9  ; [.1844.0020.0006.24E9] # CIRCLED LATIN SMALL LETTER Z; QQK
-005A  ; [.1844.0020.0008.005A] # LATIN CAPITAL LETTER Z
-FF3A  ; [.1844.0020.0009.FF3A] # FULLWIDTH LATIN CAPITAL LETTER Z; QQK
-1F129 ; [*030E.0020.0004.1F129][.1844.0020.000A.1F129][*030F.0020.001F.1F129] # PARENTHESIZED LATIN CAPITAL LETTER Z; QQKN
-1F1FF ; [.1844.0020.000A.1F1FF] # REGIONAL INDICATOR SYMBOL LETTER Z; QQK
-2124  ; [.1844.0020.000B.2124] # DOUBLE-STRUCK CAPITAL Z; QQK
-2128  ; [.1844.0020.000B.2128] # BLACK-LETTER CAPITAL Z; QQK
-1D419 ; [.1844.0020.000B.1D419] # MATHEMATICAL BOLD CAPITAL Z; QQK
-1D44D ; [.1844.0020.000B.1D44D] # MATHEMATICAL ITALIC CAPITAL Z; QQK
-1D481 ; [.1844.0020.000B.1D481] # MATHEMATICAL BOLD ITALIC CAPITAL Z; QQK
-1D4B5 ; [.1844.0020.000B.1D4B5] # MATHEMATICAL SCRIPT CAPITAL Z; QQK
-1D4E9 ; [.1844.0020.000B.1D4E9] # MATHEMATICAL BOLD SCRIPT CAPITAL Z; QQK
-1D585 ; [.1844.0020.000B.1D585] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z; QQK
-1D5B9 ; [.1844.0020.000B.1D5B9] # MATHEMATICAL SANS-SERIF CAPITAL Z; QQK
-1D5ED ; [.1844.0020.000B.1D5ED] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z; QQK
-1D621 ; [.1844.0020.000B.1D621] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z; QQK
-1D655 ; [.1844.0020.000B.1D655] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z; QQK
-1D689 ; [.1844.0020.000B.1D689] # MATHEMATICAL MONOSPACE CAPITAL Z; QQK
-24CF  ; [.1844.0020.000C.24CF] # CIRCLED LATIN CAPITAL LETTER Z; QQK
-1F169 ; [.1844.0020.000C.1F169] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z; QQK
-1DBB  ; [.1844.0020.0014.1DBB] # MODIFIER LETTER SMALL Z; QQK
-1F149 ; [.1844.0020.001D.1F149] # SQUARED LATIN CAPITAL LETTER Z; QQK
-1F189 ; [.1844.0020.001D.1F189] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z; QQK
-017A  ; [.1844.0020.0002.007A][.0000.0032.0002.0301] # LATIN SMALL LETTER Z WITH ACUTE; QQCM
-0179  ; [.1844.0020.0008.005A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Z WITH ACUTE; QQCM
-1E91  ; [.1844.0020.0002.007A][.0000.003C.0002.0302] # LATIN SMALL LETTER Z WITH CIRCUMFLEX; QQCM
-1E90  ; [.1844.0020.0008.005A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX; QQCM
-017E  ; [.1844.0020.0002.007A][.0000.0041.0002.030C] # LATIN SMALL LETTER Z WITH CARON; QQCM
-017D  ; [.1844.0020.0008.005A][.0000.0041.0002.030C] # LATIN CAPITAL LETTER Z WITH CARON; QQCM
-017C  ; [.1844.0020.0002.007A][.0000.0052.0002.0307] # LATIN SMALL LETTER Z WITH DOT ABOVE; QQCM
-017B  ; [.1844.0020.0008.005A][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Z WITH DOT ABOVE; QQCM
-1E93  ; [.1844.0020.0002.007A][.0000.0070.0002.0323] # LATIN SMALL LETTER Z WITH DOT BELOW; QQCM
-1E92  ; [.1844.0020.0008.005A][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Z WITH DOT BELOW; QQCM
-1E95  ; [.1844.0020.0002.007A][.0000.007B.0002.0331] # LATIN SMALL LETTER Z WITH LINE BELOW; QQCM
-1E94  ; [.1844.0020.0008.005A][.0000.007B.0002.0331] # LATIN CAPITAL LETTER Z WITH LINE BELOW; QQCM
-018D  ; [.1844.0020.0004.018D][.1824.0020.0004.018D] # LATIN SMALL LETTER TURNED DELTA; QQKN
-1D22  ; [.1848.0020.0002.1D22] # LATIN LETTER SMALL CAPITAL Z
-01B6  ; [.1849.0020.0002.01B6] # LATIN SMALL LETTER Z WITH STROKE
-01B5  ; [.1849.0020.0008.01B5] # LATIN CAPITAL LETTER Z WITH STROKE
-1D76  ; [.184D.0020.0002.1D76] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
-1D8E  ; [.184E.0020.0002.1D8E] # LATIN SMALL LETTER Z WITH PALATAL HOOK
-0225  ; [.184F.0020.0002.0225] # LATIN SMALL LETTER Z WITH HOOK
-0224  ; [.184F.0020.0008.0224] # LATIN CAPITAL LETTER Z WITH HOOK
-0290  ; [.1853.0020.0002.0290] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
-1DBC  ; [.1853.0020.0014.1DBC] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK; QQK
-0291  ; [.1857.0020.0002.0291] # LATIN SMALL LETTER Z WITH CURL
-1DBD  ; [.1857.0020.0014.1DBD] # MODIFIER LETTER SMALL Z WITH CURL; QQK
-0240  ; [.185B.0020.0002.0240] # LATIN SMALL LETTER Z WITH SWASH TAIL
-2C7F  ; [.185B.0020.0008.2C7F] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
-2C6C  ; [.185F.0020.0002.2C6C] # LATIN SMALL LETTER Z WITH DESCENDER
-2C6B  ; [.185F.0020.0008.2C6B] # LATIN CAPITAL LETTER Z WITH DESCENDER
-A763  ; [.1860.0020.0002.A763] # LATIN SMALL LETTER VISIGOTHIC Z
-A762  ; [.1860.0020.0008.A762] # LATIN CAPITAL LETTER VISIGOTHIC Z
-0292  ; [.1861.0020.0002.0292] # LATIN SMALL LETTER EZH
-01B7  ; [.1861.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
-1DBE  ; [.1861.0020.0014.1DBE] # MODIFIER LETTER SMALL EZH; QQK
-01EF  ; [.1861.0020.0002.0292][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON; QQCM
-01EE  ; [.1861.0020.0008.01B7][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON; QQCM
-1D23  ; [.1865.0020.0002.1D23] # LATIN LETTER SMALL CAPITAL EZH
-01B9  ; [.1866.0020.0002.01B9] # LATIN SMALL LETTER EZH REVERSED
-01B8  ; [.1866.0020.0008.01B8] # LATIN CAPITAL LETTER EZH REVERSED
-1D9A  ; [.186A.0020.0002.1D9A] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
-01BA  ; [.186B.0020.0002.01BA] # LATIN SMALL LETTER EZH WITH TAIL
-0293  ; [.186F.0020.0002.0293] # LATIN SMALL LETTER EZH WITH CURL
-021D  ; [.1873.0020.0002.021D] # LATIN SMALL LETTER YOGH
-021C  ; [.1873.0020.0008.021C] # LATIN CAPITAL LETTER YOGH
-00FE  ; [.1877.0020.0002.00FE] # LATIN SMALL LETTER THORN
-00DE  ; [.1877.0020.0008.00DE] # LATIN CAPITAL LETTER THORN
-A765  ; [.187B.0020.0002.A765] # LATIN SMALL LETTER THORN WITH STROKE
-A764  ; [.187B.0020.0008.A764] # LATIN CAPITAL LETTER THORN WITH STROKE
-A767  ; [.187C.0020.0002.A767] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
-A766  ; [.187C.0020.0008.A766] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
-01BF  ; [.187D.0020.0002.01BF] # LATIN LETTER WYNN
-01F7  ; [.187D.0020.0008.01F7] # LATIN CAPITAL LETTER WYNN
-A769  ; [.1881.0020.0002.A769] # LATIN SMALL LETTER VEND
-A768  ; [.1881.0020.0008.A768] # LATIN CAPITAL LETTER VEND
-A76B  ; [.1882.0020.0002.A76B] # LATIN SMALL LETTER ET
-A76A  ; [.1882.0020.0008.A76A] # LATIN CAPITAL LETTER ET
-A76D  ; [.1883.0020.0002.A76D] # LATIN SMALL LETTER IS
-A76C  ; [.1883.0020.0008.A76C] # LATIN CAPITAL LETTER IS
-A76F  ; [.1884.0020.0002.A76F] # LATIN SMALL LETTER CON
-1DD2  ; [.1884.0020.0004.1DD2] # COMBINING US ABOVE; QQK
-A76E  ; [.1884.0020.0008.A76E] # LATIN CAPITAL LETTER CON
-A770  ; [.1884.0020.0014.A770] # MODIFIER LETTER US; QQK
-A778  ; [.1885.0020.0002.A778] # LATIN SMALL LETTER UM
-01BB  ; [.1886.0020.0002.01BB] # LATIN LETTER TWO WITH STROKE
-A72B  ; [.188A.0020.0002.A72B] # LATIN SMALL LETTER TRESILLO
-A72A  ; [.188A.0020.0008.A72A] # LATIN CAPITAL LETTER TRESILLO
-A72D  ; [.188B.0020.0002.A72D] # LATIN SMALL LETTER CUATRILLO
-A72C  ; [.188B.0020.0008.A72C] # LATIN CAPITAL LETTER CUATRILLO
-A72F  ; [.188C.0020.0002.A72F] # LATIN SMALL LETTER CUATRILLO WITH COMMA
-A72E  ; [.188C.0020.0008.A72E] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
-01A8  ; [.188D.0020.0002.01A8] # LATIN SMALL LETTER TONE TWO
-01A7  ; [.188D.0020.0008.01A7] # LATIN CAPITAL LETTER TONE TWO
-01BD  ; [.1891.0020.0002.01BD] # LATIN SMALL LETTER TONE FIVE
-01BC  ; [.1891.0020.0008.01BC] # LATIN CAPITAL LETTER TONE FIVE
-0185  ; [.1895.0020.0002.0185] # LATIN SMALL LETTER TONE SIX
-0184  ; [.1895.0020.0008.0184] # LATIN CAPITAL LETTER TONE SIX
-0294  ; [.1899.0020.0002.0294] # LATIN LETTER GLOTTAL STOP
-0242  ; [.189D.0020.0002.0242] # LATIN SMALL LETTER GLOTTAL STOP
-0241  ; [.189D.0020.0008.0241] # LATIN CAPITAL LETTER GLOTTAL STOP
-02C0  ; [.18A1.0020.0002.02C0] # MODIFIER LETTER GLOTTAL STOP
-02BC  ; [.18A2.0020.0002.02BC] # MODIFIER LETTER APOSTROPHE
-0149  ; [.18A2.0020.0004.0149][.1702.0020.0004.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE; QQKN
-02EE  ; [.18A3.0020.0002.02EE] # MODIFIER LETTER DOUBLE APOSTROPHE
-02BE  ; [.18A4.0020.0002.02BE] # MODIFIER LETTER RIGHT HALF RING
-A723  ; [.18A5.0020.0002.A723] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
-A722  ; [.18A5.0020.0008.A722] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
-A78C  ; [.18A6.0020.0002.A78C] # LATIN SMALL LETTER SALTILLO
-A78B  ; [.18A6.0020.0008.A78B] # LATIN CAPITAL LETTER SALTILLO
-0295  ; [.18A7.0020.0002.0295] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
-02E4  ; [.18A7.0020.0014.02E4] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP; QQK
-02BF  ; [.18AB.0020.0002.02BF] # MODIFIER LETTER LEFT HALF RING
-02C1  ; [.18AC.0020.0002.02C1] # MODIFIER LETTER REVERSED GLOTTAL STOP
-1D24  ; [.18AD.0020.0002.1D24] # LATIN LETTER VOICED LARYNGEAL SPIRANT
-1D25  ; [.18AE.0020.0002.1D25] # LATIN LETTER AIN
-1D5C  ; [.18AE.0020.0014.1D5C] # MODIFIER LETTER SMALL AIN; QQK
-A725  ; [.18AF.0020.0002.A725] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
-A724  ; [.18AF.0020.0008.A724] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
-02A1  ; [.18B0.0020.0002.02A1] # LATIN LETTER GLOTTAL STOP WITH STROKE
-02A2  ; [.18B4.0020.0002.02A2] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
-0296  ; [.18B8.0020.0002.0296] # LATIN LETTER INVERTED GLOTTAL STOP
-01C0  ; [.18BC.0020.0002.01C0] # LATIN LETTER DENTAL CLICK
-01C1  ; [.18C0.0020.0002.01C1] # LATIN LETTER LATERAL CLICK
-01C2  ; [.18C4.0020.0002.01C2] # LATIN LETTER ALVEOLAR CLICK
-01C3  ; [.18C8.0020.0002.01C3] # LATIN LETTER RETROFLEX CLICK
-0297  ; [.18CC.0020.0002.0297] # LATIN LETTER STRETCHED C
-0298  ; [.18D0.0020.0002.0298] # LATIN LETTER BILABIAL CLICK
-02AC  ; [.18D4.0020.0002.02AC] # LATIN LETTER BILABIAL PERCUSSIVE
-02AD  ; [.18D8.0020.0002.02AD] # LATIN LETTER BIDENTAL PERCUSSIVE
-03B1  ; [.18DC.0020.0002.03B1] # GREEK SMALL LETTER ALPHA
-1D6C2 ; [.18DC.0020.0005.1D6C2] # MATHEMATICAL BOLD SMALL ALPHA; QQK
-1D6FC ; [.18DC.0020.0005.1D6FC] # MATHEMATICAL ITALIC SMALL ALPHA; QQK
-1D736 ; [.18DC.0020.0005.1D736] # MATHEMATICAL BOLD ITALIC SMALL ALPHA; QQK
-1D770 ; [.18DC.0020.0005.1D770] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA; QQK
-1D7AA ; [.18DC.0020.0005.1D7AA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA; QQK
-0391  ; [.18DC.0020.0008.0391] # GREEK CAPITAL LETTER ALPHA
-1D6A8 ; [.18DC.0020.000B.1D6A8] # MATHEMATICAL BOLD CAPITAL ALPHA; QQK
-1D6E2 ; [.18DC.0020.000B.1D6E2] # MATHEMATICAL ITALIC CAPITAL ALPHA; QQK
-1D71C ; [.18DC.0020.000B.1D71C] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA; QQK
-1D756 ; [.18DC.0020.000B.1D756] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA; QQK
-1D790 ; [.18DC.0020.000B.1D790] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA; QQK
-1F00  ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313] # GREEK SMALL LETTER ALPHA WITH PSILI; QQCM
-1F08  ; [.18DC.0020.0008.0391][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ALPHA WITH PSILI; QQCM
-1F04  ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA; QQCM
-1F0C  ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA; QQCM
-1F84  ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1F8C  ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F02  ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA; QQCM
-1F0A  ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA; QQCM
-1F82  ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1F8A  ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F06  ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI; QQCM
-1F0E  ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI; QQCM
-1F86  ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F8E  ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F80  ; [.18DC.0020.0002.03B1][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1F88  ; [.18DC.0020.0008.0391][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F01  ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314] # GREEK SMALL LETTER ALPHA WITH DASIA; QQCM
-1F09  ; [.18DC.0020.0008.0391][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ALPHA WITH DASIA; QQCM
-1F05  ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA; QQCM
-1F0D  ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA; QQCM
-1F85  ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1F8D  ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F03  ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA; QQCM
-1F0B  ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA; QQCM
-1F83  ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1F8B  ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F07  ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI; QQCM
-1F0F  ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI; QQCM
-1F87  ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F8F  ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F81  ; [.18DC.0020.0002.03B1][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1F89  ; [.18DC.0020.0008.0391][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03AC  ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH TONOS; QQCM
-1F71  ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH OXIA; QQCM
-0386  ; [.18DC.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH TONOS; QQCM
-1FBB  ; [.18DC.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH OXIA; QQCM
-1FB4  ; [.18DC.0020.0002.03B1][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F70  ; [.18DC.0020.0002.03B1][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH VARIA; QQCM
-1FBA  ; [.18DC.0020.0008.0391][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH VARIA; QQCM
-1FB2  ; [.18DC.0020.0002.03B1][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FB0  ; [.18DC.0020.0002.03B1][.0000.0037.0002.0306] # GREEK SMALL LETTER ALPHA WITH VRACHY; QQCM
-1FB8  ; [.18DC.0020.0008.0391][.0000.0037.0002.0306] # GREEK CAPITAL LETTER ALPHA WITH VRACHY; QQCM
-1FB6  ; [.18DC.0020.0002.03B1][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI; QQCM
-1FB7  ; [.18DC.0020.0002.03B1][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FB1  ; [.18DC.0020.0002.03B1][.0000.005B.0002.0304] # GREEK SMALL LETTER ALPHA WITH MACRON; QQCM
-1FB9  ; [.18DC.0020.0008.0391][.0000.005B.0002.0304] # GREEK CAPITAL LETTER ALPHA WITH MACRON; QQCM
-1FB3  ; [.18DC.0020.0002.03B1][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI; QQCM
-1FBC  ; [.18DC.0020.0008.0391][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI; QQCM
-03B2  ; [.18DD.0020.0002.03B2] # GREEK SMALL LETTER BETA
-03D0  ; [.18DD.0020.0004.03D0] # GREEK BETA SYMBOL; QQK
-1D6C3 ; [.18DD.0020.0005.1D6C3] # MATHEMATICAL BOLD SMALL BETA; QQK
-1D6FD ; [.18DD.0020.0005.1D6FD] # MATHEMATICAL ITALIC SMALL BETA; QQK
-1D737 ; [.18DD.0020.0005.1D737] # MATHEMATICAL BOLD ITALIC SMALL BETA; QQK
-1D771 ; [.18DD.0020.0005.1D771] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA; QQK
-1D7AB ; [.18DD.0020.0005.1D7AB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA; QQK
-0392  ; [.18DD.0020.0008.0392] # GREEK CAPITAL LETTER BETA
-1D6A9 ; [.18DD.0020.000B.1D6A9] # MATHEMATICAL BOLD CAPITAL BETA; QQK
-1D6E3 ; [.18DD.0020.000B.1D6E3] # MATHEMATICAL ITALIC CAPITAL BETA; QQK
-1D71D ; [.18DD.0020.000B.1D71D] # MATHEMATICAL BOLD ITALIC CAPITAL BETA; QQK
-1D757 ; [.18DD.0020.000B.1D757] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA; QQK
-1D791 ; [.18DD.0020.000B.1D791] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA; QQK
-1D5D  ; [.18DD.0020.0014.1D5D] # MODIFIER LETTER SMALL BETA; QQK
-1D66  ; [.18DD.0020.0015.1D66] # GREEK SUBSCRIPT SMALL LETTER BETA; QQK
-03B3  ; [.18DE.0020.0002.03B3] # GREEK SMALL LETTER GAMMA
-213D  ; [.18DE.0020.0005.213D] # DOUBLE-STRUCK SMALL GAMMA; QQK
-1D6C4 ; [.18DE.0020.0005.1D6C4] # MATHEMATICAL BOLD SMALL GAMMA; QQK
-1D6FE ; [.18DE.0020.0005.1D6FE] # MATHEMATICAL ITALIC SMALL GAMMA; QQK
-1D738 ; [.18DE.0020.0005.1D738] # MATHEMATICAL BOLD ITALIC SMALL GAMMA; QQK
-1D772 ; [.18DE.0020.0005.1D772] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA; QQK
-1D7AC ; [.18DE.0020.0005.1D7AC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA; QQK
-0393  ; [.18DE.0020.0008.0393] # GREEK CAPITAL LETTER GAMMA
-213E  ; [.18DE.0020.000B.213E] # DOUBLE-STRUCK CAPITAL GAMMA; QQK
-1D6AA ; [.18DE.0020.000B.1D6AA] # MATHEMATICAL BOLD CAPITAL GAMMA; QQK
-1D6E4 ; [.18DE.0020.000B.1D6E4] # MATHEMATICAL ITALIC CAPITAL GAMMA; QQK
-1D71E ; [.18DE.0020.000B.1D71E] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA; QQK
-1D758 ; [.18DE.0020.000B.1D758] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA; QQK
-1D792 ; [.18DE.0020.000B.1D792] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA; QQK
-1D5E  ; [.18DE.0020.0014.1D5E] # MODIFIER LETTER SMALL GREEK GAMMA; QQK
-1D67  ; [.18DE.0020.0015.1D67] # GREEK SUBSCRIPT SMALL LETTER GAMMA; QQK
-1D26  ; [.18DF.0020.0002.1D26] # GREEK LETTER SMALL CAPITAL GAMMA
-03B4  ; [.18E0.0020.0002.03B4] # GREEK SMALL LETTER DELTA
-1D6C5 ; [.18E0.0020.0005.1D6C5] # MATHEMATICAL BOLD SMALL DELTA; QQK
-1D6FF ; [.18E0.0020.0005.1D6FF] # MATHEMATICAL ITALIC SMALL DELTA; QQK
-1D739 ; [.18E0.0020.0005.1D739] # MATHEMATICAL BOLD ITALIC SMALL DELTA; QQK
-1D773 ; [.18E0.0020.0005.1D773] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA; QQK
-1D7AD ; [.18E0.0020.0005.1D7AD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA; QQK
-0394  ; [.18E0.0020.0008.0394] # GREEK CAPITAL LETTER DELTA
-1D6AB ; [.18E0.0020.000B.1D6AB] # MATHEMATICAL BOLD CAPITAL DELTA; QQK
-1D6E5 ; [.18E0.0020.000B.1D6E5] # MATHEMATICAL ITALIC CAPITAL DELTA; QQK
-1D71F ; [.18E0.0020.000B.1D71F] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA; QQK
-1D759 ; [.18E0.0020.000B.1D759] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA; QQK
-1D793 ; [.18E0.0020.000B.1D793] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA; QQK
-1D5F  ; [.18E0.0020.0014.1D5F] # MODIFIER LETTER SMALL DELTA; QQK
-03B5  ; [.18E1.0020.0002.03B5] # GREEK SMALL LETTER EPSILON
-03F5  ; [.18E1.0020.0004.03F5] # GREEK LUNATE EPSILON SYMBOL; QQK
-1D6C6 ; [.18E1.0020.0005.1D6C6] # MATHEMATICAL BOLD SMALL EPSILON; QQK
-1D6DC ; [.18E1.0020.0005.1D6DC] # MATHEMATICAL BOLD EPSILON SYMBOL; QQK
-1D700 ; [.18E1.0020.0005.1D700] # MATHEMATICAL ITALIC SMALL EPSILON; QQK
-1D716 ; [.18E1.0020.0005.1D716] # MATHEMATICAL ITALIC EPSILON SYMBOL; QQK
-1D73A ; [.18E1.0020.0005.1D73A] # MATHEMATICAL BOLD ITALIC SMALL EPSILON; QQK
-1D750 ; [.18E1.0020.0005.1D750] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL; QQK
-1D774 ; [.18E1.0020.0005.1D774] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON; QQK
-1D78A ; [.18E1.0020.0005.1D78A] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL; QQK
-1D7AE ; [.18E1.0020.0005.1D7AE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON; QQK
-1D7C4 ; [.18E1.0020.0005.1D7C4] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL; QQK
-0395  ; [.18E1.0020.0008.0395] # GREEK CAPITAL LETTER EPSILON
-1D6AC ; [.18E1.0020.000B.1D6AC] # MATHEMATICAL BOLD CAPITAL EPSILON; QQK
-1D6E6 ; [.18E1.0020.000B.1D6E6] # MATHEMATICAL ITALIC CAPITAL EPSILON; QQK
-1D720 ; [.18E1.0020.000B.1D720] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON; QQK
-1D75A ; [.18E1.0020.000B.1D75A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON; QQK
-1D794 ; [.18E1.0020.000B.1D794] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON; QQK
-1F10  ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313] # GREEK SMALL LETTER EPSILON WITH PSILI; QQCM
-1F18  ; [.18E1.0020.0008.0395][.0000.0022.0002.0313] # GREEK CAPITAL LETTER EPSILON WITH PSILI; QQCM
-1F14  ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA; QQCM
-1F1C  ; [.18E1.0020.0008.0395][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA; QQCM
-1F12  ; [.18E1.0020.0002.03B5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA; QQCM
-1F1A  ; [.18E1.0020.0008.0395][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA; QQCM
-1F11  ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314] # GREEK SMALL LETTER EPSILON WITH DASIA; QQCM
-1F19  ; [.18E1.0020.0008.0395][.0000.002A.0002.0314] # GREEK CAPITAL LETTER EPSILON WITH DASIA; QQCM
-1F15  ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA; QQCM
-1F1D  ; [.18E1.0020.0008.0395][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA; QQCM
-1F13  ; [.18E1.0020.0002.03B5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA; QQCM
-1F1B  ; [.18E1.0020.0008.0395][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA; QQCM
-03AD  ; [.18E1.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH TONOS; QQCM
-1F73  ; [.18E1.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH OXIA; QQCM
-0388  ; [.18E1.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH TONOS; QQCM
-1FC9  ; [.18E1.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH OXIA; QQCM
-1F72  ; [.18E1.0020.0002.03B5][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH VARIA; QQCM
-1FC8  ; [.18E1.0020.0008.0395][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH VARIA; QQCM
-03DD  ; [.18E2.0020.0002.03DD] # GREEK SMALL LETTER DIGAMMA
-1D7CB ; [.18E2.0020.0005.1D7CB] # MATHEMATICAL BOLD SMALL DIGAMMA; QQK
-03DC  ; [.18E2.0020.0008.03DC] # GREEK LETTER DIGAMMA
-1D7CA ; [.18E2.0020.000B.1D7CA] # MATHEMATICAL BOLD CAPITAL DIGAMMA; QQK
-0377  ; [.18E3.0020.0002.0377] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
-0376  ; [.18E3.0020.0008.0376] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
-03DB  ; [.18E4.0020.0002.03DB] # GREEK SMALL LETTER STIGMA
-03DA  ; [.18E4.0020.0008.03DA] # GREEK LETTER STIGMA
-03B6  ; [.18E5.0020.0002.03B6] # GREEK SMALL LETTER ZETA
-1D6C7 ; [.18E5.0020.0005.1D6C7] # MATHEMATICAL BOLD SMALL ZETA; QQK
-1D701 ; [.18E5.0020.0005.1D701] # MATHEMATICAL ITALIC SMALL ZETA; QQK
-1D73B ; [.18E5.0020.0005.1D73B] # MATHEMATICAL BOLD ITALIC SMALL ZETA; QQK
-1D775 ; [.18E5.0020.0005.1D775] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA; QQK
-1D7AF ; [.18E5.0020.0005.1D7AF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA; QQK
-0396  ; [.18E5.0020.0008.0396] # GREEK CAPITAL LETTER ZETA
-1D6AD ; [.18E5.0020.000B.1D6AD] # MATHEMATICAL BOLD CAPITAL ZETA; QQK
-1D6E7 ; [.18E5.0020.000B.1D6E7] # MATHEMATICAL ITALIC CAPITAL ZETA; QQK
-1D721 ; [.18E5.0020.000B.1D721] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA; QQK
-1D75B ; [.18E5.0020.000B.1D75B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA; QQK
-1D795 ; [.18E5.0020.000B.1D795] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA; QQK
-0371  ; [.18E6.0020.0002.0371] # GREEK SMALL LETTER HETA
-0370  ; [.18E6.0020.0008.0370] # GREEK CAPITAL LETTER HETA
-03B7  ; [.18E7.0020.0002.03B7] # GREEK SMALL LETTER ETA
-1D6C8 ; [.18E7.0020.0005.1D6C8] # MATHEMATICAL BOLD SMALL ETA; QQK
-1D702 ; [.18E7.0020.0005.1D702] # MATHEMATICAL ITALIC SMALL ETA; QQK
-1D73C ; [.18E7.0020.0005.1D73C] # MATHEMATICAL BOLD ITALIC SMALL ETA; QQK
-1D776 ; [.18E7.0020.0005.1D776] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA; QQK
-1D7B0 ; [.18E7.0020.0005.1D7B0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA; QQK
-0397  ; [.18E7.0020.0008.0397] # GREEK CAPITAL LETTER ETA
-1D6AE ; [.18E7.0020.000B.1D6AE] # MATHEMATICAL BOLD CAPITAL ETA; QQK
-1D6E8 ; [.18E7.0020.000B.1D6E8] # MATHEMATICAL ITALIC CAPITAL ETA; QQK
-1D722 ; [.18E7.0020.000B.1D722] # MATHEMATICAL BOLD ITALIC CAPITAL ETA; QQK
-1D75C ; [.18E7.0020.000B.1D75C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA; QQK
-1D796 ; [.18E7.0020.000B.1D796] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA; QQK
-1F20  ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313] # GREEK SMALL LETTER ETA WITH PSILI; QQCM
-1F28  ; [.18E7.0020.0008.0397][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ETA WITH PSILI; QQCM
-1F24  ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA; QQCM
-1F2C  ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA; QQCM
-1F94  ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1F9C  ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F22  ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA; QQCM
-1F2A  ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA; QQCM
-1F92  ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1F9A  ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F26  ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI; QQCM
-1F2E  ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI; QQCM
-1F96  ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F9E  ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F90  ; [.18E7.0020.0002.03B7][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1F98  ; [.18E7.0020.0008.0397][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F21  ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314] # GREEK SMALL LETTER ETA WITH DASIA; QQCM
-1F29  ; [.18E7.0020.0008.0397][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ETA WITH DASIA; QQCM
-1F25  ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA; QQCM
-1F2D  ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA; QQCM
-1F95  ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1F9D  ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F23  ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA; QQCM
-1F2B  ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA; QQCM
-1F93  ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1F9B  ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F27  ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI; QQCM
-1F2F  ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI; QQCM
-1F97  ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1F9F  ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1F91  ; [.18E7.0020.0002.03B7][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1F99  ; [.18E7.0020.0008.0397][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03AE  ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH TONOS; QQCM
-1F75  ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH OXIA; QQCM
-0389  ; [.18E7.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH TONOS; QQCM
-1FCB  ; [.18E7.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH OXIA; QQCM
-1FC4  ; [.18E7.0020.0002.03B7][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F74  ; [.18E7.0020.0002.03B7][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH VARIA; QQCM
-1FCA  ; [.18E7.0020.0008.0397][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH VARIA; QQCM
-1FC2  ; [.18E7.0020.0002.03B7][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FC6  ; [.18E7.0020.0002.03B7][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PERISPOMENI; QQCM
-1FC7  ; [.18E7.0020.0002.03B7][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FC3  ; [.18E7.0020.0002.03B7][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI; QQCM
-1FCC  ; [.18E7.0020.0008.0397][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI; QQCM
-03B8  ; [.18E8.0020.0002.03B8] # GREEK SMALL LETTER THETA
-03D1  ; [.18E8.0020.0004.03D1] # GREEK THETA SYMBOL; QQK
-1D6C9 ; [.18E8.0020.0005.1D6C9] # MATHEMATICAL BOLD SMALL THETA; QQK
-1D6DD ; [.18E8.0020.0005.1D6DD] # MATHEMATICAL BOLD THETA SYMBOL; QQK
-1D703 ; [.18E8.0020.0005.1D703] # MATHEMATICAL ITALIC SMALL THETA; QQK
-1D717 ; [.18E8.0020.0005.1D717] # MATHEMATICAL ITALIC THETA SYMBOL; QQK
-1D73D ; [.18E8.0020.0005.1D73D] # MATHEMATICAL BOLD ITALIC SMALL THETA; QQK
-1D751 ; [.18E8.0020.0005.1D751] # MATHEMATICAL BOLD ITALIC THETA SYMBOL; QQK
-1D777 ; [.18E8.0020.0005.1D777] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA; QQK
-1D78B ; [.18E8.0020.0005.1D78B] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL; QQK
-1D7B1 ; [.18E8.0020.0005.1D7B1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA; QQK
-1D7C5 ; [.18E8.0020.0005.1D7C5] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL; QQK
-0398  ; [.18E8.0020.0008.0398] # GREEK CAPITAL LETTER THETA
-03F4  ; [.18E8.0020.000A.03F4] # GREEK CAPITAL THETA SYMBOL; QQK
-1D6AF ; [.18E8.0020.000B.1D6AF] # MATHEMATICAL BOLD CAPITAL THETA; QQK
-1D6B9 ; [.18E8.0020.000B.1D6B9] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL; QQK
-1D6E9 ; [.18E8.0020.000B.1D6E9] # MATHEMATICAL ITALIC CAPITAL THETA; QQK
-1D6F3 ; [.18E8.0020.000B.1D6F3] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL; QQK
-1D723 ; [.18E8.0020.000B.1D723] # MATHEMATICAL BOLD ITALIC CAPITAL THETA; QQK
-1D72D ; [.18E8.0020.000B.1D72D] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL; QQK
-1D75D ; [.18E8.0020.000B.1D75D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA; QQK
-1D767 ; [.18E8.0020.000B.1D767] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL; QQK
-1D797 ; [.18E8.0020.000B.1D797] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA; QQK
-1D7A1 ; [.18E8.0020.000B.1D7A1] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL; QQK
-1DBF  ; [.18E8.0020.0014.1DBF] # MODIFIER LETTER SMALL THETA; QQK
-03B9  ; [.18E9.0020.0002.03B9] # GREEK SMALL LETTER IOTA
-1FBE  ; [.18E9.0020.0002.1FBE] # GREEK PROSGEGRAMMENI; QQC
-037A  ; [.18E9.0020.0004.037A] # GREEK YPOGEGRAMMENI; QQK
-1D6CA ; [.18E9.0020.0005.1D6CA] # MATHEMATICAL BOLD SMALL IOTA; QQK
-1D704 ; [.18E9.0020.0005.1D704] # MATHEMATICAL ITALIC SMALL IOTA; QQK
-1D73E ; [.18E9.0020.0005.1D73E] # MATHEMATICAL BOLD ITALIC SMALL IOTA; QQK
-1D778 ; [.18E9.0020.0005.1D778] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA; QQK
-1D7B2 ; [.18E9.0020.0005.1D7B2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA; QQK
-0399  ; [.18E9.0020.0008.0399] # GREEK CAPITAL LETTER IOTA
-1D6B0 ; [.18E9.0020.000B.1D6B0] # MATHEMATICAL BOLD CAPITAL IOTA; QQK
-1D6EA ; [.18E9.0020.000B.1D6EA] # MATHEMATICAL ITALIC CAPITAL IOTA; QQK
-1D724 ; [.18E9.0020.000B.1D724] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA; QQK
-1D75E ; [.18E9.0020.000B.1D75E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA; QQK
-1D798 ; [.18E9.0020.000B.1D798] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA; QQK
-1F30  ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313] # GREEK SMALL LETTER IOTA WITH PSILI; QQCM
-1F38  ; [.18E9.0020.0008.0399][.0000.0022.0002.0313] # GREEK CAPITAL LETTER IOTA WITH PSILI; QQCM
-1F34  ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA; QQCM
-1F3C  ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA; QQCM
-1F32  ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA; QQCM
-1F3A  ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA; QQCM
-1F36  ; [.18E9.0020.0002.03B9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI; QQCM
-1F3E  ; [.18E9.0020.0008.0399][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI; QQCM
-1F31  ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314] # GREEK SMALL LETTER IOTA WITH DASIA; QQCM
-1F39  ; [.18E9.0020.0008.0399][.0000.002A.0002.0314] # GREEK CAPITAL LETTER IOTA WITH DASIA; QQCM
-1F35  ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA; QQCM
-1F3D  ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA; QQCM
-1F33  ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA; QQCM
-1F3B  ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA; QQCM
-1F37  ; [.18E9.0020.0002.03B9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI; QQCM
-1F3F  ; [.18E9.0020.0008.0399][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI; QQCM
-03AF  ; [.18E9.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH TONOS; QQCM
-1F77  ; [.18E9.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH OXIA; QQCM
-038A  ; [.18E9.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH TONOS; QQCM
-1FDB  ; [.18E9.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH OXIA; QQCM
-1F76  ; [.18E9.0020.0002.03B9][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH VARIA; QQCM
-1FDA  ; [.18E9.0020.0008.0399][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH VARIA; QQCM
-1FD0  ; [.18E9.0020.0002.03B9][.0000.0037.0002.0306] # GREEK SMALL LETTER IOTA WITH VRACHY; QQCM
-1FD8  ; [.18E9.0020.0008.0399][.0000.0037.0002.0306] # GREEK CAPITAL LETTER IOTA WITH VRACHY; QQCM
-1FD6  ; [.18E9.0020.0002.03B9][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PERISPOMENI; QQCM
-03CA  ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308] # GREEK SMALL LETTER IOTA WITH DIALYTIKA; QQCM
-03AA  ; [.18E9.0020.0008.0399][.0000.0047.0002.0308] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA; QQCM
-0390  ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS; QQCM
-1FD3  ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; QQCM
-1FD2  ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA; QQCM
-1FD7  ; [.18E9.0020.0002.03B9][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI; QQCM
-1FD1  ; [.18E9.0020.0002.03B9][.0000.005B.0002.0304] # GREEK SMALL LETTER IOTA WITH MACRON; QQCM
-1FD9  ; [.18E9.0020.0008.0399][.0000.005B.0002.0304] # GREEK CAPITAL LETTER IOTA WITH MACRON; QQCM
-03F3  ; [.18EA.0020.0002.03F3] # GREEK LETTER YOT
-03BA  ; [.18EB.0020.0002.03BA] # GREEK SMALL LETTER KAPPA
-03F0  ; [.18EB.0020.0004.03F0] # GREEK KAPPA SYMBOL; QQK
-1D6CB ; [.18EB.0020.0005.1D6CB] # MATHEMATICAL BOLD SMALL KAPPA; QQK
-1D6DE ; [.18EB.0020.0005.1D6DE] # MATHEMATICAL BOLD KAPPA SYMBOL; QQK
-1D705 ; [.18EB.0020.0005.1D705] # MATHEMATICAL ITALIC SMALL KAPPA; QQK
-1D718 ; [.18EB.0020.0005.1D718] # MATHEMATICAL ITALIC KAPPA SYMBOL; QQK
-1D73F ; [.18EB.0020.0005.1D73F] # MATHEMATICAL BOLD ITALIC SMALL KAPPA; QQK
-1D752 ; [.18EB.0020.0005.1D752] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL; QQK
-1D779 ; [.18EB.0020.0005.1D779] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA; QQK
-1D78C ; [.18EB.0020.0005.1D78C] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL; QQK
-1D7B3 ; [.18EB.0020.0005.1D7B3] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA; QQK
-1D7C6 ; [.18EB.0020.0005.1D7C6] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL; QQK
-039A  ; [.18EB.0020.0008.039A] # GREEK CAPITAL LETTER KAPPA
-1D6B1 ; [.18EB.0020.000B.1D6B1] # MATHEMATICAL BOLD CAPITAL KAPPA; QQK
-1D6EB ; [.18EB.0020.000B.1D6EB] # MATHEMATICAL ITALIC CAPITAL KAPPA; QQK
-1D725 ; [.18EB.0020.000B.1D725] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA; QQK
-1D75F ; [.18EB.0020.000B.1D75F] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA; QQK
-1D799 ; [.18EB.0020.000B.1D799] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA; QQK
-03D7  ; [.18EB.0020.0004.03D7][.18DC.0020.0004.03D7][.18E9.0020.001F.03D7] # GREEK KAI SYMBOL; QQKN
-03CF  ; [.18EB.0020.000A.03CF][.18DC.0020.0004.03CF][.18E9.0020.001F.03CF] # GREEK CAPITAL KAI SYMBOL; QQKN
-03BB  ; [.18EC.0020.0002.03BB] # GREEK SMALL LETTER LAMDA
-1D6CC ; [.18EC.0020.0005.1D6CC] # MATHEMATICAL BOLD SMALL LAMDA; QQK
-1D706 ; [.18EC.0020.0005.1D706] # MATHEMATICAL ITALIC SMALL LAMDA; QQK
-1D740 ; [.18EC.0020.0005.1D740] # MATHEMATICAL BOLD ITALIC SMALL LAMDA; QQK
-1D77A ; [.18EC.0020.0005.1D77A] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA; QQK
-1D7B4 ; [.18EC.0020.0005.1D7B4] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA; QQK
-039B  ; [.18EC.0020.0008.039B] # GREEK CAPITAL LETTER LAMDA
-1D6B2 ; [.18EC.0020.000B.1D6B2] # MATHEMATICAL BOLD CAPITAL LAMDA; QQK
-1D6EC ; [.18EC.0020.000B.1D6EC] # MATHEMATICAL ITALIC CAPITAL LAMDA; QQK
-1D726 ; [.18EC.0020.000B.1D726] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA; QQK
-1D760 ; [.18EC.0020.000B.1D760] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA; QQK
-1D79A ; [.18EC.0020.000B.1D79A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA; QQK
-1D27  ; [.18ED.0020.0002.1D27] # GREEK LETTER SMALL CAPITAL LAMDA
-03BC  ; [.18EE.0020.0002.03BC] # GREEK SMALL LETTER MU
-00B5  ; [.18EE.0020.0004.00B5] # MICRO SIGN; QQK
-1D6CD ; [.18EE.0020.0005.1D6CD] # MATHEMATICAL BOLD SMALL MU; QQK
-1D707 ; [.18EE.0020.0005.1D707] # MATHEMATICAL ITALIC SMALL MU; QQK
-1D741 ; [.18EE.0020.0005.1D741] # MATHEMATICAL BOLD ITALIC SMALL MU; QQK
-1D77B ; [.18EE.0020.0005.1D77B] # MATHEMATICAL SANS-SERIF BOLD SMALL MU; QQK
-1D7B5 ; [.18EE.0020.0005.1D7B5] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU; QQK
-039C  ; [.18EE.0020.0008.039C] # GREEK CAPITAL LETTER MU
-1D6B3 ; [.18EE.0020.000B.1D6B3] # MATHEMATICAL BOLD CAPITAL MU; QQK
-1D6ED ; [.18EE.0020.000B.1D6ED] # MATHEMATICAL ITALIC CAPITAL MU; QQK
-1D727 ; [.18EE.0020.000B.1D727] # MATHEMATICAL BOLD ITALIC CAPITAL MU; QQK
-1D761 ; [.18EE.0020.000B.1D761] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU; QQK
-1D79B ; [.18EE.0020.000B.1D79B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU; QQK
-3382  ; [.18EE.0020.001C.3382][.15A3.0020.001D.3382] # SQUARE MU A; QQKN
-338C  ; [.18EE.0020.001C.338C][.1637.0020.001D.338C] # SQUARE MU F; QQKN
-338D  ; [.18EE.0020.001C.338D][.1644.0020.001C.338D] # SQUARE MU G; QQKN
-3395  ; [.18EE.0020.001C.3395][.16C4.0020.001C.3395] # SQUARE MU L; QQKN
-339B  ; [.18EE.0020.001C.339B][.16F4.0020.001C.339B] # SQUARE MU M; QQKN
-33B2  ; [.18EE.0020.001C.33B2][.17A6.0020.001C.33B2] # SQUARE MU S; QQKN
-33B6  ; [.18EE.0020.001C.33B6][.1812.0020.001D.33B6] # SQUARE MU V; QQKN
-33BC  ; [.18EE.0020.001C.33BC][.1824.0020.001D.33BC] # SQUARE MU W; QQKN
-03BD  ; [.18EF.0020.0002.03BD] # GREEK SMALL LETTER NU
-1D6CE ; [.18EF.0020.0005.1D6CE] # MATHEMATICAL BOLD SMALL NU; QQK
-1D708 ; [.18EF.0020.0005.1D708] # MATHEMATICAL ITALIC SMALL NU; QQK
-1D742 ; [.18EF.0020.0005.1D742] # MATHEMATICAL BOLD ITALIC SMALL NU; QQK
-1D77C ; [.18EF.0020.0005.1D77C] # MATHEMATICAL SANS-SERIF BOLD SMALL NU; QQK
-1D7B6 ; [.18EF.0020.0005.1D7B6] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU; QQK
-039D  ; [.18EF.0020.0008.039D] # GREEK CAPITAL LETTER NU
-1D6B4 ; [.18EF.0020.000B.1D6B4] # MATHEMATICAL BOLD CAPITAL NU; QQK
-1D6EE ; [.18EF.0020.000B.1D6EE] # MATHEMATICAL ITALIC CAPITAL NU; QQK
-1D728 ; [.18EF.0020.000B.1D728] # MATHEMATICAL BOLD ITALIC CAPITAL NU; QQK
-1D762 ; [.18EF.0020.000B.1D762] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU; QQK
-1D79C ; [.18EF.0020.000B.1D79C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU; QQK
-03BE  ; [.18F0.0020.0002.03BE] # GREEK SMALL LETTER XI
-1D6CF ; [.18F0.0020.0005.1D6CF] # MATHEMATICAL BOLD SMALL XI; QQK
-1D709 ; [.18F0.0020.0005.1D709] # MATHEMATICAL ITALIC SMALL XI; QQK
-1D743 ; [.18F0.0020.0005.1D743] # MATHEMATICAL BOLD ITALIC SMALL XI; QQK
-1D77D ; [.18F0.0020.0005.1D77D] # MATHEMATICAL SANS-SERIF BOLD SMALL XI; QQK
-1D7B7 ; [.18F0.0020.0005.1D7B7] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI; QQK
-039E  ; [.18F0.0020.0008.039E] # GREEK CAPITAL LETTER XI
-1D6B5 ; [.18F0.0020.000B.1D6B5] # MATHEMATICAL BOLD CAPITAL XI; QQK
-1D6EF ; [.18F0.0020.000B.1D6EF] # MATHEMATICAL ITALIC CAPITAL XI; QQK
-1D729 ; [.18F0.0020.000B.1D729] # MATHEMATICAL BOLD ITALIC CAPITAL XI; QQK
-1D763 ; [.18F0.0020.000B.1D763] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI; QQK
-1D79D ; [.18F0.0020.000B.1D79D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI; QQK
-03BF  ; [.18F1.0020.0002.03BF] # GREEK SMALL LETTER OMICRON
-1D6D0 ; [.18F1.0020.0005.1D6D0] # MATHEMATICAL BOLD SMALL OMICRON; QQK
-1D70A ; [.18F1.0020.0005.1D70A] # MATHEMATICAL ITALIC SMALL OMICRON; QQK
-1D744 ; [.18F1.0020.0005.1D744] # MATHEMATICAL BOLD ITALIC SMALL OMICRON; QQK
-1D77E ; [.18F1.0020.0005.1D77E] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON; QQK
-1D7B8 ; [.18F1.0020.0005.1D7B8] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON; QQK
-039F  ; [.18F1.0020.0008.039F] # GREEK CAPITAL LETTER OMICRON
-1D6B6 ; [.18F1.0020.000B.1D6B6] # MATHEMATICAL BOLD CAPITAL OMICRON; QQK
-1D6F0 ; [.18F1.0020.000B.1D6F0] # MATHEMATICAL ITALIC CAPITAL OMICRON; QQK
-1D72A ; [.18F1.0020.000B.1D72A] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON; QQK
-1D764 ; [.18F1.0020.000B.1D764] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON; QQK
-1D79E ; [.18F1.0020.000B.1D79E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON; QQK
-1F40  ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313] # GREEK SMALL LETTER OMICRON WITH PSILI; QQCM
-1F48  ; [.18F1.0020.0008.039F][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMICRON WITH PSILI; QQCM
-1F44  ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA; QQCM
-1F4C  ; [.18F1.0020.0008.039F][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA; QQCM
-1F42  ; [.18F1.0020.0002.03BF][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA; QQCM
-1F4A  ; [.18F1.0020.0008.039F][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA; QQCM
-1F41  ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314] # GREEK SMALL LETTER OMICRON WITH DASIA; QQCM
-1F49  ; [.18F1.0020.0008.039F][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMICRON WITH DASIA; QQCM
-1F45  ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA; QQCM
-1F4D  ; [.18F1.0020.0008.039F][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA; QQCM
-1F43  ; [.18F1.0020.0002.03BF][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA; QQCM
-1F4B  ; [.18F1.0020.0008.039F][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA; QQCM
-03CC  ; [.18F1.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH TONOS; QQCM
-1F79  ; [.18F1.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH OXIA; QQCM
-038C  ; [.18F1.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH TONOS; QQCM
-1FF9  ; [.18F1.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH OXIA; QQCM
-1F78  ; [.18F1.0020.0002.03BF][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH VARIA; QQCM
-1FF8  ; [.18F1.0020.0008.039F][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH VARIA; QQCM
-03C0  ; [.18F2.0020.0002.03C0] # GREEK SMALL LETTER PI
-03D6  ; [.18F2.0020.0004.03D6] # GREEK PI SYMBOL; QQK
-213C  ; [.18F2.0020.0005.213C] # DOUBLE-STRUCK SMALL PI; QQK
-1D6D1 ; [.18F2.0020.0005.1D6D1] # MATHEMATICAL BOLD SMALL PI; QQK
-1D6E1 ; [.18F2.0020.0005.1D6E1] # MATHEMATICAL BOLD PI SYMBOL; QQK
-1D70B ; [.18F2.0020.0005.1D70B] # MATHEMATICAL ITALIC SMALL PI; QQK
-1D71B ; [.18F2.0020.0005.1D71B] # MATHEMATICAL ITALIC PI SYMBOL; QQK
-1D745 ; [.18F2.0020.0005.1D745] # MATHEMATICAL BOLD ITALIC SMALL PI; QQK
-1D755 ; [.18F2.0020.0005.1D755] # MATHEMATICAL BOLD ITALIC PI SYMBOL; QQK
-1D77F ; [.18F2.0020.0005.1D77F] # MATHEMATICAL SANS-SERIF BOLD SMALL PI; QQK
-1D78F ; [.18F2.0020.0005.1D78F] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL; QQK
-1D7B9 ; [.18F2.0020.0005.1D7B9] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI; QQK
-1D7C9 ; [.18F2.0020.0005.1D7C9] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL; QQK
-03A0  ; [.18F2.0020.0008.03A0] # GREEK CAPITAL LETTER PI
-213F  ; [.18F2.0020.000B.213F] # DOUBLE-STRUCK CAPITAL PI; QQK
-1D6B7 ; [.18F2.0020.000B.1D6B7] # MATHEMATICAL BOLD CAPITAL PI; QQK
-1D6F1 ; [.18F2.0020.000B.1D6F1] # MATHEMATICAL ITALIC CAPITAL PI; QQK
-1D72B ; [.18F2.0020.000B.1D72B] # MATHEMATICAL BOLD ITALIC CAPITAL PI; QQK
-1D765 ; [.18F2.0020.000B.1D765] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI; QQK
-1D79F ; [.18F2.0020.000B.1D79F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI; QQK
-1D28  ; [.18F3.0020.0002.1D28] # GREEK LETTER SMALL CAPITAL PI
-03FB  ; [.18F4.0020.0002.03FB] # GREEK SMALL LETTER SAN
-03FA  ; [.18F4.0020.0008.03FA] # GREEK CAPITAL LETTER SAN
-03DF  ; [.18F5.0020.0002.03DF] # GREEK SMALL LETTER KOPPA
-03DE  ; [.18F5.0020.0008.03DE] # GREEK LETTER KOPPA
-03D9  ; [.18F6.0020.0002.03D9] # GREEK SMALL LETTER ARCHAIC KOPPA
-03D8  ; [.18F6.0020.0008.03D8] # GREEK LETTER ARCHAIC KOPPA
-03C1  ; [.18F7.0020.0002.03C1] # GREEK SMALL LETTER RHO
-03F1  ; [.18F7.0020.0004.03F1] # GREEK RHO SYMBOL; QQK
-1D6D2 ; [.18F7.0020.0005.1D6D2] # MATHEMATICAL BOLD SMALL RHO; QQK
-1D6E0 ; [.18F7.0020.0005.1D6E0] # MATHEMATICAL BOLD RHO SYMBOL; QQK
-1D70C ; [.18F7.0020.0005.1D70C] # MATHEMATICAL ITALIC SMALL RHO; QQK
-1D71A ; [.18F7.0020.0005.1D71A] # MATHEMATICAL ITALIC RHO SYMBOL; QQK
-1D746 ; [.18F7.0020.0005.1D746] # MATHEMATICAL BOLD ITALIC SMALL RHO; QQK
-1D754 ; [.18F7.0020.0005.1D754] # MATHEMATICAL BOLD ITALIC RHO SYMBOL; QQK
-1D780 ; [.18F7.0020.0005.1D780] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO; QQK
-1D78E ; [.18F7.0020.0005.1D78E] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL; QQK
-1D7BA ; [.18F7.0020.0005.1D7BA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO; QQK
-1D7C8 ; [.18F7.0020.0005.1D7C8] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL; QQK
-03A1  ; [.18F7.0020.0008.03A1] # GREEK CAPITAL LETTER RHO
-1D6B8 ; [.18F7.0020.000B.1D6B8] # MATHEMATICAL BOLD CAPITAL RHO; QQK
-1D6F2 ; [.18F7.0020.000B.1D6F2] # MATHEMATICAL ITALIC CAPITAL RHO; QQK
-1D72C ; [.18F7.0020.000B.1D72C] # MATHEMATICAL BOLD ITALIC CAPITAL RHO; QQK
-1D766 ; [.18F7.0020.000B.1D766] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO; QQK
-1D7A0 ; [.18F7.0020.000B.1D7A0] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO; QQK
-1D68  ; [.18F7.0020.0015.1D68] # GREEK SUBSCRIPT SMALL LETTER RHO; QQK
-1FE4  ; [.18F7.0020.0002.03C1][.0000.0022.0002.0313] # GREEK SMALL LETTER RHO WITH PSILI; QQCM
-1FE5  ; [.18F7.0020.0002.03C1][.0000.002A.0002.0314] # GREEK SMALL LETTER RHO WITH DASIA; QQCM
-1FEC  ; [.18F7.0020.0008.03A1][.0000.002A.0002.0314] # GREEK CAPITAL LETTER RHO WITH DASIA; QQCM
-1D29  ; [.18F8.0020.0002.1D29] # GREEK LETTER SMALL CAPITAL RHO
-03FC  ; [.18F9.0020.0002.03FC] # GREEK RHO WITH STROKE SYMBOL
-03C3  ; [.18FA.0020.0002.03C3] # GREEK SMALL LETTER SIGMA
-03F2  ; [.18FA.0020.0004.03F2] # GREEK LUNATE SIGMA SYMBOL; QQK
-1D6D3 ; [.18FA.0020.0005.1D6D3] # MATHEMATICAL BOLD SMALL FINAL SIGMA; QQK
-1D6D4 ; [.18FA.0020.0005.1D6D4] # MATHEMATICAL BOLD SMALL SIGMA; QQK
-1D70D ; [.18FA.0020.0005.1D70D] # MATHEMATICAL ITALIC SMALL FINAL SIGMA; QQK
-1D70E ; [.18FA.0020.0005.1D70E] # MATHEMATICAL ITALIC SMALL SIGMA; QQK
-1D747 ; [.18FA.0020.0005.1D747] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA; QQK
-1D748 ; [.18FA.0020.0005.1D748] # MATHEMATICAL BOLD ITALIC SMALL SIGMA; QQK
-1D781 ; [.18FA.0020.0005.1D781] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA; QQK
-1D782 ; [.18FA.0020.0005.1D782] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA; QQK
-1D7BB ; [.18FA.0020.0005.1D7BB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA; QQK
-1D7BC ; [.18FA.0020.0005.1D7BC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA; QQK
-03A3  ; [.18FA.0020.0008.03A3] # GREEK CAPITAL LETTER SIGMA
-03F9  ; [.18FA.0020.000A.03F9] # GREEK CAPITAL LUNATE SIGMA SYMBOL; QQK
-1D6BA ; [.18FA.0020.000B.1D6BA] # MATHEMATICAL BOLD CAPITAL SIGMA; QQK
-1D6F4 ; [.18FA.0020.000B.1D6F4] # MATHEMATICAL ITALIC CAPITAL SIGMA; QQK
-1D72E ; [.18FA.0020.000B.1D72E] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA; QQK
-1D768 ; [.18FA.0020.000B.1D768] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA; QQK
-1D7A2 ; [.18FA.0020.000B.1D7A2] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA; QQK
-03C2  ; [.18FA.0020.0019.03C2] # GREEK SMALL LETTER FINAL SIGMA; QQK
-037C  ; [.18FB.0020.0002.037C] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
-03FE  ; [.18FB.0020.0008.03FE] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
-037B  ; [.18FC.0020.0002.037B] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
-03FD  ; [.18FC.0020.0008.03FD] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
-037D  ; [.18FD.0020.0002.037D] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03FF  ; [.18FD.0020.0008.03FF] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
-03C4  ; [.18FE.0020.0002.03C4] # GREEK SMALL LETTER TAU
-1D6D5 ; [.18FE.0020.0005.1D6D5] # MATHEMATICAL BOLD SMALL TAU; QQK
-1D70F ; [.18FE.0020.0005.1D70F] # MATHEMATICAL ITALIC SMALL TAU; QQK
-1D749 ; [.18FE.0020.0005.1D749] # MATHEMATICAL BOLD ITALIC SMALL TAU; QQK
-1D783 ; [.18FE.0020.0005.1D783] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU; QQK
-1D7BD ; [.18FE.0020.0005.1D7BD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU; QQK
-03A4  ; [.18FE.0020.0008.03A4] # GREEK CAPITAL LETTER TAU
-1D6BB ; [.18FE.0020.000B.1D6BB] # MATHEMATICAL BOLD CAPITAL TAU; QQK
-1D6F5 ; [.18FE.0020.000B.1D6F5] # MATHEMATICAL ITALIC CAPITAL TAU; QQK
-1D72F ; [.18FE.0020.000B.1D72F] # MATHEMATICAL BOLD ITALIC CAPITAL TAU; QQK
-1D769 ; [.18FE.0020.000B.1D769] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU; QQK
-1D7A3 ; [.18FE.0020.000B.1D7A3] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU; QQK
-03C5  ; [.18FF.0020.0002.03C5] # GREEK SMALL LETTER UPSILON
-1D6D6 ; [.18FF.0020.0005.1D6D6] # MATHEMATICAL BOLD SMALL UPSILON; QQK
-1D710 ; [.18FF.0020.0005.1D710] # MATHEMATICAL ITALIC SMALL UPSILON; QQK
-1D74A ; [.18FF.0020.0005.1D74A] # MATHEMATICAL BOLD ITALIC SMALL UPSILON; QQK
-1D784 ; [.18FF.0020.0005.1D784] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON; QQK
-1D7BE ; [.18FF.0020.0005.1D7BE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON; QQK
-03A5  ; [.18FF.0020.0008.03A5] # GREEK CAPITAL LETTER UPSILON
-03D2  ; [.18FF.0020.000A.03D2] # GREEK UPSILON WITH HOOK SYMBOL; QQK
-1D6BC ; [.18FF.0020.000B.1D6BC] # MATHEMATICAL BOLD CAPITAL UPSILON; QQK
-1D6F6 ; [.18FF.0020.000B.1D6F6] # MATHEMATICAL ITALIC CAPITAL UPSILON; QQK
-1D730 ; [.18FF.0020.000B.1D730] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON; QQK
-1D76A ; [.18FF.0020.000B.1D76A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON; QQK
-1D7A4 ; [.18FF.0020.000B.1D7A4] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON; QQK
-1F50  ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313] # GREEK SMALL LETTER UPSILON WITH PSILI; QQCM
-1F54  ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA; QQCM
-1F52  ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA; QQCM
-1F56  ; [.18FF.0020.0002.03C5][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI; QQCM
-1F51  ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314] # GREEK SMALL LETTER UPSILON WITH DASIA; QQCM
-1F59  ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314] # GREEK CAPITAL LETTER UPSILON WITH DASIA; QQCM
-1F55  ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA; QQCM
-1F5D  ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA; QQCM
-1F53  ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA; QQCM
-1F5B  ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA; QQCM
-1F57  ; [.18FF.0020.0002.03C5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI; QQCM
-1F5F  ; [.18FF.0020.0008.03A5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI; QQCM
-03CD  ; [.18FF.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH TONOS; QQCM
-1F7B  ; [.18FF.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH OXIA; QQCM
-038E  ; [.18FF.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH TONOS; QQCM
-1FEB  ; [.18FF.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH OXIA; QQCM
-03D3  ; [.18FF.0020.000A.03D3][.0000.0032.0002.03D3] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL; QQKN
-1F7A  ; [.18FF.0020.0002.03C5][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH VARIA; QQCM
-1FEA  ; [.18FF.0020.0008.03A5][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH VARIA; QQCM
-1FE0  ; [.18FF.0020.0002.03C5][.0000.0037.0002.0306] # GREEK SMALL LETTER UPSILON WITH VRACHY; QQCM
-1FE8  ; [.18FF.0020.0008.03A5][.0000.0037.0002.0306] # GREEK CAPITAL LETTER UPSILON WITH VRACHY; QQCM
-1FE6  ; [.18FF.0020.0002.03C5][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI; QQCM
-03CB  ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA; QQCM
-03AB  ; [.18FF.0020.0008.03A5][.0000.0047.0002.0308] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA; QQCM
-03D4  ; [.18FF.0020.000A.03D4][.0000.0047.0002.03D4] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL; QQKN
-03B0  ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS; QQCM
-1FE3  ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; QQCM
-1FE2  ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA; QQCM
-1FE7  ; [.18FF.0020.0002.03C5][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI; QQCM
-1FE1  ; [.18FF.0020.0002.03C5][.0000.005B.0002.0304] # GREEK SMALL LETTER UPSILON WITH MACRON; QQCM
-1FE9  ; [.18FF.0020.0008.03A5][.0000.005B.0002.0304] # GREEK CAPITAL LETTER UPSILON WITH MACRON; QQCM
-03C6  ; [.1900.0020.0002.03C6] # GREEK SMALL LETTER PHI
-03D5  ; [.1900.0020.0004.03D5] # GREEK PHI SYMBOL; QQK
-1D6D7 ; [.1900.0020.0005.1D6D7] # MATHEMATICAL BOLD SMALL PHI; QQK
-1D6DF ; [.1900.0020.0005.1D6DF] # MATHEMATICAL BOLD PHI SYMBOL; QQK
-1D711 ; [.1900.0020.0005.1D711] # MATHEMATICAL ITALIC SMALL PHI; QQK
-1D719 ; [.1900.0020.0005.1D719] # MATHEMATICAL ITALIC PHI SYMBOL; QQK
-1D74B ; [.1900.0020.0005.1D74B] # MATHEMATICAL BOLD ITALIC SMALL PHI; QQK
-1D753 ; [.1900.0020.0005.1D753] # MATHEMATICAL BOLD ITALIC PHI SYMBOL; QQK
-1D785 ; [.1900.0020.0005.1D785] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI; QQK
-1D78D ; [.1900.0020.0005.1D78D] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL; QQK
-1D7BF ; [.1900.0020.0005.1D7BF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI; QQK
-1D7C7 ; [.1900.0020.0005.1D7C7] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL; QQK
-03A6  ; [.1900.0020.0008.03A6] # GREEK CAPITAL LETTER PHI
-1D6BD ; [.1900.0020.000B.1D6BD] # MATHEMATICAL BOLD CAPITAL PHI; QQK
-1D6F7 ; [.1900.0020.000B.1D6F7] # MATHEMATICAL ITALIC CAPITAL PHI; QQK
-1D731 ; [.1900.0020.000B.1D731] # MATHEMATICAL BOLD ITALIC CAPITAL PHI; QQK
-1D76B ; [.1900.0020.000B.1D76B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI; QQK
-1D7A5 ; [.1900.0020.000B.1D7A5] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI; QQK
-1D60  ; [.1900.0020.0014.1D60] # MODIFIER LETTER SMALL GREEK PHI; QQK
-1D69  ; [.1900.0020.0015.1D69] # GREEK SUBSCRIPT SMALL LETTER PHI; QQK
-03C7  ; [.1901.0020.0002.03C7] # GREEK SMALL LETTER CHI
-1D6D8 ; [.1901.0020.0005.1D6D8] # MATHEMATICAL BOLD SMALL CHI; QQK
-1D712 ; [.1901.0020.0005.1D712] # MATHEMATICAL ITALIC SMALL CHI; QQK
-1D74C ; [.1901.0020.0005.1D74C] # MATHEMATICAL BOLD ITALIC SMALL CHI; QQK
-1D786 ; [.1901.0020.0005.1D786] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI; QQK
-1D7C0 ; [.1901.0020.0005.1D7C0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI; QQK
-03A7  ; [.1901.0020.0008.03A7] # GREEK CAPITAL LETTER CHI
-1D6BE ; [.1901.0020.000B.1D6BE] # MATHEMATICAL BOLD CAPITAL CHI; QQK
-1D6F8 ; [.1901.0020.000B.1D6F8] # MATHEMATICAL ITALIC CAPITAL CHI; QQK
-1D732 ; [.1901.0020.000B.1D732] # MATHEMATICAL BOLD ITALIC CAPITAL CHI; QQK
-1D76C ; [.1901.0020.000B.1D76C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI; QQK
-1D7A6 ; [.1901.0020.000B.1D7A6] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI; QQK
-1D61  ; [.1901.0020.0014.1D61] # MODIFIER LETTER SMALL CHI; QQK
-1D6A  ; [.1901.0020.0015.1D6A] # GREEK SUBSCRIPT SMALL LETTER CHI; QQK
-03C8  ; [.1902.0020.0002.03C8] # GREEK SMALL LETTER PSI
-1D6D9 ; [.1902.0020.0005.1D6D9] # MATHEMATICAL BOLD SMALL PSI; QQK
-1D713 ; [.1902.0020.0005.1D713] # MATHEMATICAL ITALIC SMALL PSI; QQK
-1D74D ; [.1902.0020.0005.1D74D] # MATHEMATICAL BOLD ITALIC SMALL PSI; QQK
-1D787 ; [.1902.0020.0005.1D787] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI; QQK
-1D7C1 ; [.1902.0020.0005.1D7C1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI; QQK
-03A8  ; [.1902.0020.0008.03A8] # GREEK CAPITAL LETTER PSI
-1D6BF ; [.1902.0020.000B.1D6BF] # MATHEMATICAL BOLD CAPITAL PSI; QQK
-1D6F9 ; [.1902.0020.000B.1D6F9] # MATHEMATICAL ITALIC CAPITAL PSI; QQK
-1D733 ; [.1902.0020.000B.1D733] # MATHEMATICAL BOLD ITALIC CAPITAL PSI; QQK
-1D76D ; [.1902.0020.000B.1D76D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI; QQK
-1D7A7 ; [.1902.0020.000B.1D7A7] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI; QQK
-1D2A  ; [.1903.0020.0002.1D2A] # GREEK LETTER SMALL CAPITAL PSI
-03C9  ; [.1904.0020.0002.03C9] # GREEK SMALL LETTER OMEGA
-1D6DA ; [.1904.0020.0005.1D6DA] # MATHEMATICAL BOLD SMALL OMEGA; QQK
-1D714 ; [.1904.0020.0005.1D714] # MATHEMATICAL ITALIC SMALL OMEGA; QQK
-1D74E ; [.1904.0020.0005.1D74E] # MATHEMATICAL BOLD ITALIC SMALL OMEGA; QQK
-1D788 ; [.1904.0020.0005.1D788] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA; QQK
-1D7C2 ; [.1904.0020.0005.1D7C2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA; QQK
-03A9  ; [.1904.0020.0008.03A9] # GREEK CAPITAL LETTER OMEGA
-2126  ; [.1904.0020.0008.2126] # OHM SIGN; QQC
-1D6C0 ; [.1904.0020.000B.1D6C0] # MATHEMATICAL BOLD CAPITAL OMEGA; QQK
-1D6FA ; [.1904.0020.000B.1D6FA] # MATHEMATICAL ITALIC CAPITAL OMEGA; QQK
-1D734 ; [.1904.0020.000B.1D734] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA; QQK
-1D76E ; [.1904.0020.000B.1D76E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA; QQK
-1D7A8 ; [.1904.0020.000B.1D7A8] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA; QQK
-1F60  ; [.1904.0020.0002.03C9][.0000.0022.0002.0313] # GREEK SMALL LETTER OMEGA WITH PSILI; QQCM
-1F68  ; [.1904.0020.0008.03A9][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMEGA WITH PSILI; QQCM
-1F64  ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA; QQCM
-1F6C  ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA; QQCM
-1FA4  ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI; QQCM
-1FAC  ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI; QQCM
-1F62  ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA; QQCM
-1F6A  ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA; QQCM
-1FA2  ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI; QQCM
-1FAA  ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI; QQCM
-1F66  ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI; QQCM
-1F6E  ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI; QQCM
-1FA6  ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FAE  ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1FA0  ; [.1904.0020.0002.03C9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI; QQCM
-1FA8  ; [.1904.0020.0008.03A9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI; QQCM
-1F61  ; [.1904.0020.0002.03C9][.0000.002A.0002.0314] # GREEK SMALL LETTER OMEGA WITH DASIA; QQCM
-1F69  ; [.1904.0020.0008.03A9][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMEGA WITH DASIA; QQCM
-1F65  ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA; QQCM
-1F6D  ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA; QQCM
-1FA5  ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI; QQCM
-1FAD  ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI; QQCM
-1F63  ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA; QQCM
-1F6B  ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA; QQCM
-1FA3  ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI; QQCM
-1FAB  ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI; QQCM
-1F67  ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI; QQCM
-1F6F  ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI; QQCM
-1FA7  ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FAF  ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI; QQCM
-1FA1  ; [.1904.0020.0002.03C9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI; QQCM
-1FA9  ; [.1904.0020.0008.03A9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI; QQCM
-03CE  ; [.1904.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH TONOS; QQCM
-1F7D  ; [.1904.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH OXIA; QQCM
-038F  ; [.1904.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH TONOS; QQCM
-1FFB  ; [.1904.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH OXIA; QQCM
-1FF4  ; [.1904.0020.0002.03C9][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI; QQCM
-1F7C  ; [.1904.0020.0002.03C9][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH VARIA; QQCM
-1FFA  ; [.1904.0020.0008.03A9][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH VARIA; QQCM
-1FF2  ; [.1904.0020.0002.03C9][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI; QQCM
-1FF6  ; [.1904.0020.0002.03C9][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI; QQCM
-1FF7  ; [.1904.0020.0002.03C9][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI; QQCM
-1FF3  ; [.1904.0020.0002.03C9][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI; QQCM
-1FFC  ; [.1904.0020.0008.03A9][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI; QQCM
-03E1  ; [.1905.0020.0002.03E1] # GREEK SMALL LETTER SAMPI
-03E0  ; [.1905.0020.0008.03E0] # GREEK LETTER SAMPI
-0373  ; [.1906.0020.0002.0373] # GREEK SMALL LETTER ARCHAIC SAMPI
-0372  ; [.1906.0020.0008.0372] # GREEK CAPITAL LETTER ARCHAIC SAMPI
-03F8  ; [.1907.0020.0002.03F8] # GREEK SMALL LETTER SHO
-03F7  ; [.1907.0020.0008.03F7] # GREEK CAPITAL LETTER SHO
-2C81  ; [.1908.0020.0002.2C81] # COPTIC SMALL LETTER ALFA
-2C80  ; [.1908.0020.0008.2C80] # COPTIC CAPITAL LETTER ALFA
-2C83  ; [.1909.0020.0002.2C83] # COPTIC SMALL LETTER VIDA
-2C82  ; [.1909.0020.0008.2C82] # COPTIC CAPITAL LETTER VIDA
-2C85  ; [.190A.0020.0002.2C85] # COPTIC SMALL LETTER GAMMA
-2C84  ; [.190A.0020.0008.2C84] # COPTIC CAPITAL LETTER GAMMA
-2C87  ; [.190B.0020.0002.2C87] # COPTIC SMALL LETTER DALDA
-2C86  ; [.190B.0020.0008.2C86] # COPTIC CAPITAL LETTER DALDA
-2C89  ; [.190C.0020.0002.2C89] # COPTIC SMALL LETTER EIE
-2C88  ; [.190C.0020.0008.2C88] # COPTIC CAPITAL LETTER EIE
-2CB7  ; [.190D.0020.0002.2CB7] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
-2CB6  ; [.190D.0020.0008.2CB6] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
-2C8B  ; [.190E.0020.0002.2C8B] # COPTIC SMALL LETTER SOU
-2C8A  ; [.190E.0020.0008.2C8A] # COPTIC CAPITAL LETTER SOU
-2C8D  ; [.190F.0020.0002.2C8D] # COPTIC SMALL LETTER ZATA
-2C8C  ; [.190F.0020.0008.2C8C] # COPTIC CAPITAL LETTER ZATA
-2C8F  ; [.1910.0020.0002.2C8F] # COPTIC SMALL LETTER HATE
-2C8E  ; [.1910.0020.0008.2C8E] # COPTIC CAPITAL LETTER HATE
-2C91  ; [.1911.0020.0002.2C91] # COPTIC SMALL LETTER THETHE
-2C90  ; [.1911.0020.0008.2C90] # COPTIC CAPITAL LETTER THETHE
-2C93  ; [.1912.0020.0002.2C93] # COPTIC SMALL LETTER IAUDA
-2C92  ; [.1912.0020.0008.2C92] # COPTIC CAPITAL LETTER IAUDA
-2C95  ; [.1913.0020.0002.2C95] # COPTIC SMALL LETTER KAPA
-2C94  ; [.1913.0020.0008.2C94] # COPTIC CAPITAL LETTER KAPA
-2CE4  ; [.1913.0020.0004.2CE4][.1908.0020.0004.2CE4][.1912.0020.001F.2CE4] # COPTIC SYMBOL KAI; QQKN
-2CB9  ; [.1914.0020.0002.2CB9] # COPTIC SMALL LETTER DIALECT-P KAPA
-2CB8  ; [.1914.0020.0008.2CB8] # COPTIC CAPITAL LETTER DIALECT-P KAPA
-2C97  ; [.1915.0020.0002.2C97] # COPTIC SMALL LETTER LAULA
-2C96  ; [.1915.0020.0008.2C96] # COPTIC CAPITAL LETTER LAULA
-2C99  ; [.1916.0020.0002.2C99] # COPTIC SMALL LETTER MI
-2C98  ; [.1916.0020.0008.2C98] # COPTIC CAPITAL LETTER MI
-2C9B  ; [.1917.0020.0002.2C9B] # COPTIC SMALL LETTER NI
-2C9A  ; [.1917.0020.0008.2C9A] # COPTIC CAPITAL LETTER NI
-2CBB  ; [.1918.0020.0002.2CBB] # COPTIC SMALL LETTER DIALECT-P NI
-2CBA  ; [.1918.0020.0008.2CBA] # COPTIC CAPITAL LETTER DIALECT-P NI
-2CBD  ; [.1919.0020.0002.2CBD] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
-2CBC  ; [.1919.0020.0008.2CBC] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
-2C9D  ; [.191A.0020.0002.2C9D] # COPTIC SMALL LETTER KSI
-2C9C  ; [.191A.0020.0008.2C9C] # COPTIC CAPITAL LETTER KSI
-2C9F  ; [.191B.0020.0002.2C9F] # COPTIC SMALL LETTER O
-2C9E  ; [.191B.0020.0008.2C9E] # COPTIC CAPITAL LETTER O
-2CA1  ; [.191C.0020.0002.2CA1] # COPTIC SMALL LETTER PI
-2CA0  ; [.191C.0020.0008.2CA0] # COPTIC CAPITAL LETTER PI
-2CA3  ; [.191D.0020.0002.2CA3] # COPTIC SMALL LETTER RO
-2CA2  ; [.191D.0020.0008.2CA2] # COPTIC CAPITAL LETTER RO
-2CA5  ; [.191E.0020.0002.2CA5] # COPTIC SMALL LETTER SIMA
-2CA4  ; [.191E.0020.0008.2CA4] # COPTIC CAPITAL LETTER SIMA
-2CA7  ; [.191F.0020.0002.2CA7] # COPTIC SMALL LETTER TAU
-2CA6  ; [.191F.0020.0008.2CA6] # COPTIC CAPITAL LETTER TAU
-2CA9  ; [.1920.0020.0002.2CA9] # COPTIC SMALL LETTER UA
-2CA8  ; [.1920.0020.0008.2CA8] # COPTIC CAPITAL LETTER UA
-2CAB  ; [.1921.0020.0002.2CAB] # COPTIC SMALL LETTER FI
-2CAA  ; [.1921.0020.0008.2CAA] # COPTIC CAPITAL LETTER FI
-2CAD  ; [.1922.0020.0002.2CAD] # COPTIC SMALL LETTER KHI
-2CAC  ; [.1922.0020.0008.2CAC] # COPTIC CAPITAL LETTER KHI
-2CAF  ; [.1923.0020.0002.2CAF] # COPTIC SMALL LETTER PSI
-2CAE  ; [.1923.0020.0008.2CAE] # COPTIC CAPITAL LETTER PSI
-2CB1  ; [.1924.0020.0002.2CB1] # COPTIC SMALL LETTER OOU
-2CB0  ; [.1924.0020.0008.2CB0] # COPTIC CAPITAL LETTER OOU
-2CBF  ; [.1925.0020.0002.2CBF] # COPTIC SMALL LETTER OLD COPTIC OOU
-2CBE  ; [.1925.0020.0008.2CBE] # COPTIC CAPITAL LETTER OLD COPTIC OOU
-2CC1  ; [.1926.0020.0002.2CC1] # COPTIC SMALL LETTER SAMPI
-2CC0  ; [.1926.0020.0008.2CC0] # COPTIC CAPITAL LETTER SAMPI
-03E3  ; [.1927.0020.0002.03E3] # COPTIC SMALL LETTER SHEI
-03E2  ; [.1927.0020.0008.03E2] # COPTIC CAPITAL LETTER SHEI
-2CEC  ; [.1928.0020.0002.2CEC] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
-2CEB  ; [.1928.0020.0008.2CEB] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
-2CC3  ; [.1929.0020.0002.2CC3] # COPTIC SMALL LETTER CROSSED SHEI
-2CC2  ; [.1929.0020.0008.2CC2] # COPTIC CAPITAL LETTER CROSSED SHEI
-2CC5  ; [.192A.0020.0002.2CC5] # COPTIC SMALL LETTER OLD COPTIC SHEI
-2CC4  ; [.192A.0020.0008.2CC4] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
-2CC7  ; [.192B.0020.0002.2CC7] # COPTIC SMALL LETTER OLD COPTIC ESH
-2CC6  ; [.192B.0020.0008.2CC6] # COPTIC CAPITAL LETTER OLD COPTIC ESH
-03E5  ; [.192C.0020.0002.03E5] # COPTIC SMALL LETTER FEI
-03E4  ; [.192C.0020.0008.03E4] # COPTIC CAPITAL LETTER FEI
-03E7  ; [.192D.0020.0002.03E7] # COPTIC SMALL LETTER KHEI
-03E6  ; [.192D.0020.0008.03E6] # COPTIC CAPITAL LETTER KHEI
-2CC9  ; [.192E.0020.0002.2CC9] # COPTIC SMALL LETTER AKHMIMIC KHEI
-2CC8  ; [.192E.0020.0008.2CC8] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
-03E9  ; [.192F.0020.0002.03E9] # COPTIC SMALL LETTER HORI
-03E8  ; [.192F.0020.0008.03E8] # COPTIC CAPITAL LETTER HORI
-2CCB  ; [.1930.0020.0002.2CCB] # COPTIC SMALL LETTER DIALECT-P HORI
-2CCA  ; [.1930.0020.0008.2CCA] # COPTIC CAPITAL LETTER DIALECT-P HORI
-2CCD  ; [.1931.0020.0002.2CCD] # COPTIC SMALL LETTER OLD COPTIC HORI
-2CCC  ; [.1931.0020.0008.2CCC] # COPTIC CAPITAL LETTER OLD COPTIC HORI
-2CCF  ; [.1932.0020.0002.2CCF] # COPTIC SMALL LETTER OLD COPTIC HA
-2CCE  ; [.1932.0020.0008.2CCE] # COPTIC CAPITAL LETTER OLD COPTIC HA
-2CD1  ; [.1933.0020.0002.2CD1] # COPTIC SMALL LETTER L-SHAPED HA
-2CD0  ; [.1933.0020.0008.2CD0] # COPTIC CAPITAL LETTER L-SHAPED HA
-2CD3  ; [.1934.0020.0002.2CD3] # COPTIC SMALL LETTER OLD COPTIC HEI
-2CD2  ; [.1934.0020.0008.2CD2] # COPTIC CAPITAL LETTER OLD COPTIC HEI
-2CD5  ; [.1935.0020.0002.2CD5] # COPTIC SMALL LETTER OLD COPTIC HAT
-2CD4  ; [.1935.0020.0008.2CD4] # COPTIC CAPITAL LETTER OLD COPTIC HAT
-03EB  ; [.1936.0020.0002.03EB] # COPTIC SMALL LETTER GANGIA
-03EA  ; [.1936.0020.0008.03EA] # COPTIC CAPITAL LETTER GANGIA
-2CEE  ; [.1937.0020.0002.2CEE] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
-2CED  ; [.1937.0020.0008.2CED] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
-2CD7  ; [.1938.0020.0002.2CD7] # COPTIC SMALL LETTER OLD COPTIC GANGIA
-2CD6  ; [.1938.0020.0008.2CD6] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
-03ED  ; [.1939.0020.0002.03ED] # COPTIC SMALL LETTER SHIMA
-03EC  ; [.1939.0020.0008.03EC] # COPTIC CAPITAL LETTER SHIMA
-2CD9  ; [.193A.0020.0002.2CD9] # COPTIC SMALL LETTER OLD COPTIC DJA
-2CD8  ; [.193A.0020.0008.2CD8] # COPTIC CAPITAL LETTER OLD COPTIC DJA
-2CDB  ; [.193B.0020.0002.2CDB] # COPTIC SMALL LETTER OLD COPTIC SHIMA
-2CDA  ; [.193B.0020.0008.2CDA] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
-2CDD  ; [.193C.0020.0002.2CDD] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
-2CDC  ; [.193C.0020.0008.2CDC] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
-03EF  ; [.193D.0020.0002.03EF] # COPTIC SMALL LETTER DEI
-03EE  ; [.193D.0020.0008.03EE] # COPTIC CAPITAL LETTER DEI
-2CB3  ; [.193E.0020.0002.2CB3] # COPTIC SMALL LETTER DIALECT-P ALEF
-2CB2  ; [.193E.0020.0008.2CB2] # COPTIC CAPITAL LETTER DIALECT-P ALEF
-2CB5  ; [.193F.0020.0002.2CB5] # COPTIC SMALL LETTER OLD COPTIC AIN
-2CB4  ; [.193F.0020.0008.2CB4] # COPTIC CAPITAL LETTER OLD COPTIC AIN
-2CDF  ; [.1940.0020.0002.2CDF] # COPTIC SMALL LETTER OLD NUBIAN NGI
-2CDE  ; [.1940.0020.0008.2CDE] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
-2CE1  ; [.1941.0020.0002.2CE1] # COPTIC SMALL LETTER OLD NUBIAN NYI
-2CE0  ; [.1941.0020.0008.2CE0] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
-2CE3  ; [.1942.0020.0002.2CE3] # COPTIC SMALL LETTER OLD NUBIAN WAU
-2CE2  ; [.1942.0020.0008.2CE2] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
-0430  ; [.1943.0020.0002.0430] # CYRILLIC SMALL LETTER A
-2DF6  ; [.1943.0020.0004.2DF6] # COMBINING CYRILLIC LETTER A; QQK
-0410  ; [.1943.0020.0008.0410] # CYRILLIC CAPITAL LETTER A
-04D1  ; [.1947.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
-0430 0306 ; [.1947.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
-04D0  ; [.1947.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
-0410 0306 ; [.1947.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
-04D3  ; [.194B.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-0430 0308 ; [.194B.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
-04D2  ; [.194B.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-0410 0308 ; [.194B.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
-04D9  ; [.194F.0020.0002.04D9] # CYRILLIC SMALL LETTER SCHWA
-04D8  ; [.194F.0020.0008.04D8] # CYRILLIC CAPITAL LETTER SCHWA
-04DB  ; [.1953.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04D9 0308 ; [.1953.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
-04DA  ; [.1953.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D8 0308 ; [.1953.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
-04D5  ; [.1957.0020.0002.04D5] # CYRILLIC SMALL LIGATURE A IE
-04D4  ; [.1957.0020.0008.04D4] # CYRILLIC CAPITAL LIGATURE A IE
-0431  ; [.195B.0020.0002.0431] # CYRILLIC SMALL LETTER BE
-2DE0  ; [.195B.0020.0004.2DE0] # COMBINING CYRILLIC LETTER BE; QQK
-0411  ; [.195B.0020.0008.0411] # CYRILLIC CAPITAL LETTER BE
-0432  ; [.195F.0020.0002.0432] # CYRILLIC SMALL LETTER VE
-2DE1  ; [.195F.0020.0004.2DE1] # COMBINING CYRILLIC LETTER VE; QQK
-0412  ; [.195F.0020.0008.0412] # CYRILLIC CAPITAL LETTER VE
-0433  ; [.1963.0020.0002.0433] # CYRILLIC SMALL LETTER GHE
-2DE2  ; [.1963.0020.0004.2DE2] # COMBINING CYRILLIC LETTER GHE; QQK
-0413  ; [.1963.0020.0008.0413] # CYRILLIC CAPITAL LETTER GHE
-0491  ; [.1963.0020.0004.0491][.0000.0160.0004.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN; QQKN
-0490  ; [.1963.0020.000A.0490][.0000.0160.0004.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN; QQKN
-0493  ; [.1967.0020.0002.0493] # CYRILLIC SMALL LETTER GHE WITH STROKE
-0492  ; [.1967.0020.0008.0492] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
-04FB  ; [.196B.0020.0002.04FB] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
-04FA  ; [.196B.0020.0008.04FA] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
-0495  ; [.196F.0020.0002.0495] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
-0494  ; [.196F.0020.0008.0494] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
-04F7  ; [.1973.0020.0002.04F7] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
-04F6  ; [.1973.0020.0008.04F6] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
-0434  ; [.1977.0020.0002.0434] # CYRILLIC SMALL LETTER DE
-2DE3  ; [.1977.0020.0004.2DE3] # COMBINING CYRILLIC LETTER DE; QQK
-0414  ; [.1977.0020.0008.0414] # CYRILLIC CAPITAL LETTER DE
-0501  ; [.197B.0020.0002.0501] # CYRILLIC SMALL LETTER KOMI DE
-0500  ; [.197B.0020.0008.0500] # CYRILLIC CAPITAL LETTER KOMI DE
-A681  ; [.197C.0020.0002.A681] # CYRILLIC SMALL LETTER DWE
-A680  ; [.197C.0020.0008.A680] # CYRILLIC CAPITAL LETTER DWE
-0452  ; [.197D.0020.0002.0452] # CYRILLIC SMALL LETTER DJE
-0402  ; [.197D.0020.0008.0402] # CYRILLIC CAPITAL LETTER DJE
-A663  ; [.1981.0020.0002.A663] # CYRILLIC SMALL LETTER SOFT DE
-A662  ; [.1981.0020.0008.A662] # CYRILLIC CAPITAL LETTER SOFT DE
-0503  ; [.1982.0020.0002.0503] # CYRILLIC SMALL LETTER KOMI DJE
-0502  ; [.1982.0020.0008.0502] # CYRILLIC CAPITAL LETTER KOMI DJE
-0453  ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0433 0301 ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0433 0341 ; [.1983.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
-0403  ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0413 0301 ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0413 0341 ; [.1983.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
-0499  ; [.1987.0020.0002.0499] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
-0498  ; [.1987.0020.0008.0498] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
-0435  ; [.198B.0020.0002.0435] # CYRILLIC SMALL LETTER IE
-2DF7  ; [.198B.0020.0004.2DF7] # COMBINING CYRILLIC LETTER IE; QQK
-0415  ; [.198B.0020.0008.0415] # CYRILLIC CAPITAL LETTER IE
-0450  ; [.198B.0020.0002.0435][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER IE WITH GRAVE; QQCM
-0400  ; [.198B.0020.0008.0415][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER IE WITH GRAVE; QQCM
-0451  ; [.198B.0020.0002.0435][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER IO; QQCM
-0401  ; [.198B.0020.0008.0415][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER IO; QQCM
-04D7  ; [.198F.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
-0435 0306 ; [.198F.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
-04D6  ; [.198F.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0415 0306 ; [.198F.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
-0454  ; [.1993.0020.0002.0454] # CYRILLIC SMALL LETTER UKRAINIAN IE
-0404  ; [.1993.0020.0008.0404] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
-0436  ; [.1997.0020.0002.0436] # CYRILLIC SMALL LETTER ZHE
-2DE4  ; [.1997.0020.0004.2DE4] # COMBINING CYRILLIC LETTER ZHE; QQK
-0416  ; [.1997.0020.0008.0416] # CYRILLIC CAPITAL LETTER ZHE
-04C2  ; [.1997.0020.0002.0436][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER ZHE WITH BREVE; QQCM
-04C1  ; [.1997.0020.0008.0416][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE; QQCM
-A685  ; [.199B.0020.0002.A685] # CYRILLIC SMALL LETTER ZHWE
-A684  ; [.199B.0020.0008.A684] # CYRILLIC CAPITAL LETTER ZHWE
-04DD  ; [.199C.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-0436 0308 ; [.199C.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
-04DC  ; [.199C.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-0416 0308 ; [.199C.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
-0497  ; [.19A0.0020.0002.0497] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
-0496  ; [.19A0.0020.0008.0496] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
-0437  ; [.19A4.0020.0002.0437] # CYRILLIC SMALL LETTER ZE
-2DE5  ; [.19A4.0020.0004.2DE5] # COMBINING CYRILLIC LETTER ZE; QQK
-0417  ; [.19A4.0020.0008.0417] # CYRILLIC CAPITAL LETTER ZE
-A641  ; [.19A8.0020.0002.A641] # CYRILLIC SMALL LETTER ZEMLYA
-A640  ; [.19A8.0020.0008.A640] # CYRILLIC CAPITAL LETTER ZEMLYA
-0505  ; [.19A9.0020.0002.0505] # CYRILLIC SMALL LETTER KOMI ZJE
-0504  ; [.19A9.0020.0008.0504] # CYRILLIC CAPITAL LETTER KOMI ZJE
-0511  ; [.19AA.0020.0002.0511] # CYRILLIC SMALL LETTER REVERSED ZE
-0510  ; [.19AA.0020.0008.0510] # CYRILLIC CAPITAL LETTER REVERSED ZE
-04DF  ; [.19AB.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-0437 0308 ; [.19AB.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
-04DE  ; [.19AB.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-0417 0308 ; [.19AB.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
-A643  ; [.19AF.0020.0002.A643] # CYRILLIC SMALL LETTER DZELO
-A642  ; [.19AF.0020.0008.A642] # CYRILLIC CAPITAL LETTER DZELO
-0455  ; [.19B0.0020.0002.0455] # CYRILLIC SMALL LETTER DZE
-0405  ; [.19B0.0020.0008.0405] # CYRILLIC CAPITAL LETTER DZE
-A645  ; [.19B4.0020.0002.A645] # CYRILLIC SMALL LETTER REVERSED DZE
-A644  ; [.19B4.0020.0008.A644] # CYRILLIC CAPITAL LETTER REVERSED DZE
-04E1  ; [.19B5.0020.0002.04E1] # CYRILLIC SMALL LETTER ABKHASIAN DZE
-04E0  ; [.19B5.0020.0008.04E0] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
-A689  ; [.19B9.0020.0002.A689] # CYRILLIC SMALL LETTER DZZE
-A688  ; [.19B9.0020.0008.A688] # CYRILLIC CAPITAL LETTER DZZE
-0507  ; [.19BA.0020.0002.0507] # CYRILLIC SMALL LETTER KOMI DZJE
-0506  ; [.19BA.0020.0008.0506] # CYRILLIC CAPITAL LETTER KOMI DZJE
-A683  ; [.19BB.0020.0002.A683] # CYRILLIC SMALL LETTER DZWE
-A682  ; [.19BB.0020.0008.A682] # CYRILLIC CAPITAL LETTER DZWE
-0438  ; [.19BC.0020.0002.0438] # CYRILLIC SMALL LETTER I
-0418  ; [.19BC.0020.0008.0418] # CYRILLIC CAPITAL LETTER I
-045D  ; [.19BC.0020.0002.0438][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER I WITH GRAVE; QQCM
-040D  ; [.19BC.0020.0008.0418][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER I WITH GRAVE; QQCM
-04E3  ; [.19BC.0020.0002.0438][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER I WITH MACRON; QQCM
-04E2  ; [.19BC.0020.0008.0418][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER I WITH MACRON; QQCM
-048B  ; [.19C0.0020.0002.048B] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
-048A  ; [.19C0.0020.0008.048A] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
-04E5  ; [.19C4.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-0438 0308 ; [.19C4.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
-04E4  ; [.19C4.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0418 0308 ; [.19C4.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
-0456  ; [.19C8.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
-0406  ; [.19C8.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
-A647  ; [.19CC.0020.0002.A647] # CYRILLIC SMALL LETTER IOTA
-A646  ; [.19CC.0020.0008.A646] # CYRILLIC CAPITAL LETTER IOTA
-0457  ; [.19CD.0020.0002.0457] # CYRILLIC SMALL LETTER YI
-0456 0308 ; [.19CD.0020.0002.0457] # CYRILLIC SMALL LETTER YI
-0407  ; [.19CD.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
-0406 0308 ; [.19CD.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
-0439  ; [.19D1.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
-0438 0306 ; [.19D1.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
-0419  ; [.19D1.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
-0418 0306 ; [.19D1.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
-0458  ; [.19D5.0020.0002.0458] # CYRILLIC SMALL LETTER JE
-0408  ; [.19D5.0020.0008.0408] # CYRILLIC CAPITAL LETTER JE
-A649  ; [.19D9.0020.0002.A649] # CYRILLIC SMALL LETTER DJERV
-2DF8  ; [.19D9.0020.0004.2DF8] # COMBINING CYRILLIC LETTER DJERV; QQK
-A648  ; [.19D9.0020.0008.A648] # CYRILLIC CAPITAL LETTER DJERV
-043A  ; [.19DA.0020.0002.043A] # CYRILLIC SMALL LETTER KA
-2DE6  ; [.19DA.0020.0004.2DE6] # COMBINING CYRILLIC LETTER KA; QQK
-041A  ; [.19DA.0020.0008.041A] # CYRILLIC CAPITAL LETTER KA
-049B  ; [.19DE.0020.0002.049B] # CYRILLIC SMALL LETTER KA WITH DESCENDER
-049A  ; [.19DE.0020.0008.049A] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
-04C4  ; [.19E2.0020.0002.04C4] # CYRILLIC SMALL LETTER KA WITH HOOK
-04C3  ; [.19E2.0020.0008.04C3] # CYRILLIC CAPITAL LETTER KA WITH HOOK
-04A1  ; [.19E6.0020.0002.04A1] # CYRILLIC SMALL LETTER BASHKIR KA
-04A0  ; [.19E6.0020.0008.04A0] # CYRILLIC CAPITAL LETTER BASHKIR KA
-049F  ; [.19EA.0020.0002.049F] # CYRILLIC SMALL LETTER KA WITH STROKE
-049E  ; [.19EA.0020.0008.049E] # CYRILLIC CAPITAL LETTER KA WITH STROKE
-049D  ; [.19EE.0020.0002.049D] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
-049C  ; [.19EE.0020.0008.049C] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
-051F  ; [.19F2.0020.0002.051F] # CYRILLIC SMALL LETTER ALEUT KA
-051E  ; [.19F2.0020.0008.051E] # CYRILLIC CAPITAL LETTER ALEUT KA
-051B  ; [.19F3.0020.0002.051B] # CYRILLIC SMALL LETTER QA
-051A  ; [.19F3.0020.0008.051A] # CYRILLIC CAPITAL LETTER QA
-043B  ; [.19F4.0020.0002.043B] # CYRILLIC SMALL LETTER EL
-2DE7  ; [.19F4.0020.0004.2DE7] # COMBINING CYRILLIC LETTER EL; QQK
-041B  ; [.19F4.0020.0008.041B] # CYRILLIC CAPITAL LETTER EL
-1D2B  ; [.19F8.0020.0002.1D2B] # CYRILLIC LETTER SMALL CAPITAL EL
-04C6  ; [.19F9.0020.0002.04C6] # CYRILLIC SMALL LETTER EL WITH TAIL
-04C5  ; [.19F9.0020.0008.04C5] # CYRILLIC CAPITAL LETTER EL WITH TAIL
-0513  ; [.19FD.0020.0002.0513] # CYRILLIC SMALL LETTER EL WITH HOOK
-0512  ; [.19FD.0020.0008.0512] # CYRILLIC CAPITAL LETTER EL WITH HOOK
-0521  ; [.19FE.0020.0002.0521] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
-0520  ; [.19FE.0020.0008.0520] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
-0459  ; [.19FF.0020.0002.0459] # CYRILLIC SMALL LETTER LJE
-0409  ; [.19FF.0020.0008.0409] # CYRILLIC CAPITAL LETTER LJE
-A665  ; [.1A03.0020.0002.A665] # CYRILLIC SMALL LETTER SOFT EL
-A664  ; [.1A03.0020.0008.A664] # CYRILLIC CAPITAL LETTER SOFT EL
-0509  ; [.1A04.0020.0002.0509] # CYRILLIC SMALL LETTER KOMI LJE
-0508  ; [.1A04.0020.0008.0508] # CYRILLIC CAPITAL LETTER KOMI LJE
-0515  ; [.1A05.0020.0002.0515] # CYRILLIC SMALL LETTER LHA
-0514  ; [.1A05.0020.0008.0514] # CYRILLIC CAPITAL LETTER LHA
-043C  ; [.1A06.0020.0002.043C] # CYRILLIC SMALL LETTER EM
-2DE8  ; [.1A06.0020.0004.2DE8] # COMBINING CYRILLIC LETTER EM; QQK
-041C  ; [.1A06.0020.0008.041C] # CYRILLIC CAPITAL LETTER EM
-04CE  ; [.1A0A.0020.0002.04CE] # CYRILLIC SMALL LETTER EM WITH TAIL
-04CD  ; [.1A0A.0020.0008.04CD] # CYRILLIC CAPITAL LETTER EM WITH TAIL
-A667  ; [.1A0E.0020.0002.A667] # CYRILLIC SMALL LETTER SOFT EM
-A666  ; [.1A0E.0020.0008.A666] # CYRILLIC CAPITAL LETTER SOFT EM
-043D  ; [.1A0F.0020.0002.043D] # CYRILLIC SMALL LETTER EN
-2DE9  ; [.1A0F.0020.0004.2DE9] # COMBINING CYRILLIC LETTER EN; QQK
-041D  ; [.1A0F.0020.0008.041D] # CYRILLIC CAPITAL LETTER EN
-1D78  ; [.1A0F.0020.0014.1D78] # MODIFIER LETTER CYRILLIC EN; QQK
-04CA  ; [.1A13.0020.0002.04CA] # CYRILLIC SMALL LETTER EN WITH TAIL
-04C9  ; [.1A13.0020.0008.04C9] # CYRILLIC CAPITAL LETTER EN WITH TAIL
-04A3  ; [.1A17.0020.0002.04A3] # CYRILLIC SMALL LETTER EN WITH DESCENDER
-04A2  ; [.1A17.0020.0008.04A2] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
-04C8  ; [.1A1B.0020.0002.04C8] # CYRILLIC SMALL LETTER EN WITH HOOK
-04C7  ; [.1A1B.0020.0008.04C7] # CYRILLIC CAPITAL LETTER EN WITH HOOK
-0523  ; [.1A1F.0020.0002.0523] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
-0522  ; [.1A1F.0020.0008.0522] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
-04A5  ; [.1A20.0020.0002.04A5] # CYRILLIC SMALL LIGATURE EN GHE
-04A4  ; [.1A20.0020.0008.04A4] # CYRILLIC CAPITAL LIGATURE EN GHE
-045A  ; [.1A24.0020.0002.045A] # CYRILLIC SMALL LETTER NJE
-040A  ; [.1A24.0020.0008.040A] # CYRILLIC CAPITAL LETTER NJE
-050B  ; [.1A28.0020.0002.050B] # CYRILLIC SMALL LETTER KOMI NJE
-050A  ; [.1A28.0020.0008.050A] # CYRILLIC CAPITAL LETTER KOMI NJE
-043E  ; [.1A29.0020.0002.043E] # CYRILLIC SMALL LETTER O
-2DEA  ; [.1A29.0020.0004.2DEA] # COMBINING CYRILLIC LETTER O; QQK
-A669  ; [.1A29.0020.0004.A669] # CYRILLIC SMALL LETTER MONOCULAR O; QQK
-A66B  ; [.1A29.0020.0004.A66B] # CYRILLIC SMALL LETTER BINOCULAR O; QQK
-A66D  ; [.1A29.0020.0004.A66D] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O; QQK
-A66E  ; [.1A29.0020.0004.A66E] # CYRILLIC LETTER MULTIOCULAR O; QQK
-041E  ; [.1A29.0020.0008.041E] # CYRILLIC CAPITAL LETTER O
-A668  ; [.1A29.0020.000A.A668] # CYRILLIC CAPITAL LETTER MONOCULAR O; QQK
-A66A  ; [.1A29.0020.000A.A66A] # CYRILLIC CAPITAL LETTER BINOCULAR O; QQK
-A66C  ; [.1A29.0020.000A.A66C] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O; QQK
-04E7  ; [.1A2D.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-043E 0308 ; [.1A2D.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
-04E6  ; [.1A2D.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-041E 0308 ; [.1A2D.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
-04E9  ; [.1A31.0020.0002.04E9] # CYRILLIC SMALL LETTER BARRED O
-04E8  ; [.1A31.0020.0008.04E8] # CYRILLIC CAPITAL LETTER BARRED O
-04EB  ; [.1A35.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04E9 0308 ; [.1A35.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
-04EA  ; [.1A35.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-04E8 0308 ; [.1A35.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
-043F  ; [.1A39.0020.0002.043F] # CYRILLIC SMALL LETTER PE
-2DEB  ; [.1A39.0020.0004.2DEB] # COMBINING CYRILLIC LETTER PE; QQK
-041F  ; [.1A39.0020.0008.041F] # CYRILLIC CAPITAL LETTER PE
-0525  ; [.1A3D.0020.0002.0525] # CYRILLIC SMALL LETTER PE WITH DESCENDER
-0524  ; [.1A3D.0020.0008.0524] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
-04A7  ; [.1A3E.0020.0002.04A7] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
-04A6  ; [.1A3E.0020.0008.04A6] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
-0481  ; [.1A42.0020.0002.0481] # CYRILLIC SMALL LETTER KOPPA
-0480  ; [.1A42.0020.0008.0480] # CYRILLIC CAPITAL LETTER KOPPA
-0440  ; [.1A46.0020.0002.0440] # CYRILLIC SMALL LETTER ER
-2DEC  ; [.1A46.0020.0004.2DEC] # COMBINING CYRILLIC LETTER ER; QQK
-0420  ; [.1A46.0020.0008.0420] # CYRILLIC CAPITAL LETTER ER
-048F  ; [.1A4A.0020.0002.048F] # CYRILLIC SMALL LETTER ER WITH TICK
-048E  ; [.1A4A.0020.0008.048E] # CYRILLIC CAPITAL LETTER ER WITH TICK
-0517  ; [.1A4E.0020.0002.0517] # CYRILLIC SMALL LETTER RHA
-0516  ; [.1A4E.0020.0008.0516] # CYRILLIC CAPITAL LETTER RHA
-0441  ; [.1A4F.0020.0002.0441] # CYRILLIC SMALL LETTER ES
-2DED  ; [.1A4F.0020.0004.2DED] # COMBINING CYRILLIC LETTER ES; QQK
-0421  ; [.1A4F.0020.0008.0421] # CYRILLIC CAPITAL LETTER ES
-2DF5  ; [.1A4F.0020.0004.2DF5][.1A58.0020.0004.2DF5] # COMBINING CYRILLIC LETTER ES-TE; QQKN
-050D  ; [.1A53.0020.0002.050D] # CYRILLIC SMALL LETTER KOMI SJE
-050C  ; [.1A53.0020.0008.050C] # CYRILLIC CAPITAL LETTER KOMI SJE
-04AB  ; [.1A54.0020.0002.04AB] # CYRILLIC SMALL LETTER ES WITH DESCENDER
-04AA  ; [.1A54.0020.0008.04AA] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
-0442  ; [.1A58.0020.0002.0442] # CYRILLIC SMALL LETTER TE
-2DEE  ; [.1A58.0020.0004.2DEE] # COMBINING CYRILLIC LETTER TE; QQK
-0422  ; [.1A58.0020.0008.0422] # CYRILLIC CAPITAL LETTER TE
-A68D  ; [.1A5C.0020.0002.A68D] # CYRILLIC SMALL LETTER TWE
-A68C  ; [.1A5C.0020.0008.A68C] # CYRILLIC CAPITAL LETTER TWE
-050F  ; [.1A5D.0020.0002.050F] # CYRILLIC SMALL LETTER KOMI TJE
-050E  ; [.1A5D.0020.0008.050E] # CYRILLIC CAPITAL LETTER KOMI TJE
-04AD  ; [.1A5E.0020.0002.04AD] # CYRILLIC SMALL LETTER TE WITH DESCENDER
-04AC  ; [.1A5E.0020.0008.04AC] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
-A68B  ; [.1A62.0020.0002.A68B] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
-A68A  ; [.1A62.0020.0008.A68A] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
-045B  ; [.1A63.0020.0002.045B] # CYRILLIC SMALL LETTER TSHE
-040B  ; [.1A63.0020.0008.040B] # CYRILLIC CAPITAL LETTER TSHE
-045C  ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-043A 0301 ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-043A 0341 ; [.1A67.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
-040C  ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-041A 0301 ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-041A 0341 ; [.1A67.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
-0443  ; [.1A6B.0020.0002.0443] # CYRILLIC SMALL LETTER U
-0423  ; [.1A6B.0020.0008.0423] # CYRILLIC CAPITAL LETTER U
-04EF  ; [.1A6B.0020.0002.0443][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER U WITH MACRON; QQCM
-04EE  ; [.1A6B.0020.0008.0423][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER U WITH MACRON; QQCM
-045E  ; [.1A6F.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
-0443 0306 ; [.1A6F.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
-040E  ; [.1A6F.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
-0423 0306 ; [.1A6F.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
-04F1  ; [.1A73.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-0443 0308 ; [.1A73.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
-04F0  ; [.1A73.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-0423 0308 ; [.1A73.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
-04F3  ; [.1A77.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-0443 030B ; [.1A77.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
-04F2  ; [.1A77.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-0423 030B ; [.1A77.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
-04AF  ; [.1A7B.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
-04AE  ; [.1A7B.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
-04B1  ; [.1A7F.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
-04B0  ; [.1A7F.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
-A64B  ; [.1A83.0020.0002.A64B] # CYRILLIC SMALL LETTER MONOGRAPH UK
-2DF9  ; [.1A83.0020.0004.2DF9] # COMBINING CYRILLIC LETTER MONOGRAPH UK; QQK
-A64A  ; [.1A83.0020.0008.A64A] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
-0479  ; [.1A84.0020.0002.0479] # CYRILLIC SMALL LETTER UK
-0478  ; [.1A84.0020.0008.0478] # CYRILLIC CAPITAL LETTER UK
-0444  ; [.1A88.0020.0002.0444] # CYRILLIC SMALL LETTER EF
-0424  ; [.1A88.0020.0008.0424] # CYRILLIC CAPITAL LETTER EF
-0445  ; [.1A8C.0020.0002.0445] # CYRILLIC SMALL LETTER HA
-2DEF  ; [.1A8C.0020.0004.2DEF] # COMBINING CYRILLIC LETTER HA; QQK
-0425  ; [.1A8C.0020.0008.0425] # CYRILLIC CAPITAL LETTER HA
-04FD  ; [.1A90.0020.0002.04FD] # CYRILLIC SMALL LETTER HA WITH HOOK
-04FC  ; [.1A90.0020.0008.04FC] # CYRILLIC CAPITAL LETTER HA WITH HOOK
-04FF  ; [.1A94.0020.0002.04FF] # CYRILLIC SMALL LETTER HA WITH STROKE
-04FE  ; [.1A94.0020.0008.04FE] # CYRILLIC CAPITAL LETTER HA WITH STROKE
-04B3  ; [.1A98.0020.0002.04B3] # CYRILLIC SMALL LETTER HA WITH DESCENDER
-04B2  ; [.1A98.0020.0008.04B2] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
-04BB  ; [.1A9C.0020.0002.04BB] # CYRILLIC SMALL LETTER SHHA
-04BA  ; [.1A9C.0020.0008.04BA] # CYRILLIC CAPITAL LETTER SHHA
-0527  ; [.1AA0.0020.0002.0527] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
-0526  ; [.1AA0.0020.0008.0526] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
-A695  ; [.1AA1.0020.0002.A695] # CYRILLIC SMALL LETTER HWE
-A694  ; [.1AA1.0020.0008.A694] # CYRILLIC CAPITAL LETTER HWE
-0461  ; [.1AA2.0020.0002.0461] # CYRILLIC SMALL LETTER OMEGA
-0460  ; [.1AA2.0020.0008.0460] # CYRILLIC CAPITAL LETTER OMEGA
-047F  ; [.1AA6.0020.0002.047F] # CYRILLIC SMALL LETTER OT
-047E  ; [.1AA6.0020.0008.047E] # CYRILLIC CAPITAL LETTER OT
-A64D  ; [.1AAA.0020.0002.A64D] # CYRILLIC SMALL LETTER BROAD OMEGA
-A64C  ; [.1AAA.0020.0008.A64C] # CYRILLIC CAPITAL LETTER BROAD OMEGA
-047D  ; [.1AAB.0020.0002.047D] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
-047C  ; [.1AAB.0020.0008.047C] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
-047B  ; [.1AAF.0020.0002.047B] # CYRILLIC SMALL LETTER ROUND OMEGA
-047A  ; [.1AAF.0020.0008.047A] # CYRILLIC CAPITAL LETTER ROUND OMEGA
-0446  ; [.1AB3.0020.0002.0446] # CYRILLIC SMALL LETTER TSE
-2DF0  ; [.1AB3.0020.0004.2DF0] # COMBINING CYRILLIC LETTER TSE; QQK
-0426  ; [.1AB3.0020.0008.0426] # CYRILLIC CAPITAL LETTER TSE
-A661  ; [.1AB7.0020.0002.A661] # CYRILLIC SMALL LETTER REVERSED TSE
-A660  ; [.1AB7.0020.0008.A660] # CYRILLIC CAPITAL LETTER REVERSED TSE
-A68F  ; [.1AB8.0020.0002.A68F] # CYRILLIC SMALL LETTER TSWE
-A68E  ; [.1AB8.0020.0008.A68E] # CYRILLIC CAPITAL LETTER TSWE
-04B5  ; [.1AB9.0020.0002.04B5] # CYRILLIC SMALL LIGATURE TE TSE
-04B4  ; [.1AB9.0020.0008.04B4] # CYRILLIC CAPITAL LIGATURE TE TSE
-A691  ; [.1ABD.0020.0002.A691] # CYRILLIC SMALL LETTER TSSE
-A690  ; [.1ABD.0020.0008.A690] # CYRILLIC CAPITAL LETTER TSSE
-0447  ; [.1ABE.0020.0002.0447] # CYRILLIC SMALL LETTER CHE
-2DF1  ; [.1ABE.0020.0004.2DF1] # COMBINING CYRILLIC LETTER CHE; QQK
-0427  ; [.1ABE.0020.0008.0427] # CYRILLIC CAPITAL LETTER CHE
-A693  ; [.1AC2.0020.0002.A693] # CYRILLIC SMALL LETTER TCHE
-A692  ; [.1AC2.0020.0008.A692] # CYRILLIC CAPITAL LETTER TCHE
-04F5  ; [.1AC3.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-0447 0308 ; [.1AC3.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
-04F4  ; [.1AC3.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-0427 0308 ; [.1AC3.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
-04B7  ; [.1AC7.0020.0002.04B7] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
-04B6  ; [.1AC7.0020.0008.04B6] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
-04CC  ; [.1ACB.0020.0002.04CC] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
-04CB  ; [.1ACB.0020.0008.04CB] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
-04B9  ; [.1ACF.0020.0002.04B9] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
-04B8  ; [.1ACF.0020.0008.04B8] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
-A687  ; [.1AD3.0020.0002.A687] # CYRILLIC SMALL LETTER CCHE
-A686  ; [.1AD3.0020.0008.A686] # CYRILLIC CAPITAL LETTER CCHE
-04BD  ; [.1AD4.0020.0002.04BD] # CYRILLIC SMALL LETTER ABKHASIAN CHE
-04BC  ; [.1AD4.0020.0008.04BC] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
-04BF  ; [.1AD8.0020.0002.04BF] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
-04BE  ; [.1AD8.0020.0008.04BE] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
-045F  ; [.1ADC.0020.0002.045F] # CYRILLIC SMALL LETTER DZHE
-040F  ; [.1ADC.0020.0008.040F] # CYRILLIC CAPITAL LETTER DZHE
-0448  ; [.1AE0.0020.0002.0448] # CYRILLIC SMALL LETTER SHA
-2DF2  ; [.1AE0.0020.0004.2DF2] # COMBINING CYRILLIC LETTER SHA; QQK
-0428  ; [.1AE0.0020.0008.0428] # CYRILLIC CAPITAL LETTER SHA
-A697  ; [.1AE4.0020.0002.A697] # CYRILLIC SMALL LETTER SHWE
-A696  ; [.1AE4.0020.0008.A696] # CYRILLIC CAPITAL LETTER SHWE
-0449  ; [.1AE5.0020.0002.0449] # CYRILLIC SMALL LETTER SHCHA
-2DF3  ; [.1AE5.0020.0004.2DF3] # COMBINING CYRILLIC LETTER SHCHA; QQK
-0429  ; [.1AE5.0020.0008.0429] # CYRILLIC CAPITAL LETTER SHCHA
-A64F  ; [.1AE9.0020.0002.A64F] # CYRILLIC SMALL LETTER NEUTRAL YER
-A64E  ; [.1AE9.0020.0008.A64E] # CYRILLIC CAPITAL LETTER NEUTRAL YER
-2E2F  ; [.1AEA.0020.0002.2E2F] # VERTICAL TILDE
-A67F  ; [.1AEB.0020.0002.A67F] # CYRILLIC PAYEROK
-044A  ; [.1AEC.0020.0002.044A] # CYRILLIC SMALL LETTER HARD SIGN
-042A  ; [.1AEC.0020.0008.042A] # CYRILLIC CAPITAL LETTER HARD SIGN
-A651  ; [.1AF0.0020.0002.A651] # CYRILLIC SMALL LETTER YERU WITH BACK YER
-A650  ; [.1AF0.0020.0008.A650] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
-044B  ; [.1AF1.0020.0002.044B] # CYRILLIC SMALL LETTER YERU
-042B  ; [.1AF1.0020.0008.042B] # CYRILLIC CAPITAL LETTER YERU
-04F9  ; [.1AF5.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-044B 0308 ; [.1AF5.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
-04F8  ; [.1AF5.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-042B 0308 ; [.1AF5.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
-044C  ; [.1AF9.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
-042C  ; [.1AF9.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
-048D  ; [.1AFD.0020.0002.048D] # CYRILLIC SMALL LETTER SEMISOFT SIGN
-048C  ; [.1AFD.0020.0008.048C] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
-0463  ; [.1B01.0020.0002.0463] # CYRILLIC SMALL LETTER YAT
-2DFA  ; [.1B01.0020.0004.2DFA] # COMBINING CYRILLIC LETTER YAT; QQK
-0462  ; [.1B01.0020.0008.0462] # CYRILLIC CAPITAL LETTER YAT
-A653  ; [.1B05.0020.0002.A653] # CYRILLIC SMALL LETTER IOTIFIED YAT
-A652  ; [.1B05.0020.0008.A652] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
-044D  ; [.1B06.0020.0002.044D] # CYRILLIC SMALL LETTER E
-042D  ; [.1B06.0020.0008.042D] # CYRILLIC CAPITAL LETTER E
-04ED  ; [.1B0A.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-044D 0308 ; [.1B0A.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
-04EC  ; [.1B0A.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-042D 0308 ; [.1B0A.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
-044E  ; [.1B0E.0020.0002.044E] # CYRILLIC SMALL LETTER YU
-2DFB  ; [.1B0E.0020.0004.2DFB] # COMBINING CYRILLIC LETTER YU; QQK
-042E  ; [.1B0E.0020.0008.042E] # CYRILLIC CAPITAL LETTER YU
-A655  ; [.1B12.0020.0002.A655] # CYRILLIC SMALL LETTER REVERSED YU
-A654  ; [.1B12.0020.0008.A654] # CYRILLIC CAPITAL LETTER REVERSED YU
-A657  ; [.1B13.0020.0002.A657] # CYRILLIC SMALL LETTER IOTIFIED A
-2DFC  ; [.1B13.0020.0004.2DFC] # COMBINING CYRILLIC LETTER IOTIFIED A; QQK
-A656  ; [.1B13.0020.0008.A656] # CYRILLIC CAPITAL LETTER IOTIFIED A
-044F  ; [.1B14.0020.0002.044F] # CYRILLIC SMALL LETTER YA
-042F  ; [.1B14.0020.0008.042F] # CYRILLIC CAPITAL LETTER YA
-0519  ; [.1B18.0020.0002.0519] # CYRILLIC SMALL LETTER YAE
-0518  ; [.1B18.0020.0008.0518] # CYRILLIC CAPITAL LETTER YAE
-0465  ; [.1B19.0020.0002.0465] # CYRILLIC SMALL LETTER IOTIFIED E
-0464  ; [.1B19.0020.0008.0464] # CYRILLIC CAPITAL LETTER IOTIFIED E
-0467  ; [.1B1D.0020.0002.0467] # CYRILLIC SMALL LETTER LITTLE YUS
-2DFD  ; [.1B1D.0020.0004.2DFD] # COMBINING CYRILLIC LETTER LITTLE YUS; QQK
-0466  ; [.1B1D.0020.0008.0466] # CYRILLIC CAPITAL LETTER LITTLE YUS
-A659  ; [.1B21.0020.0002.A659] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
-A658  ; [.1B21.0020.0008.A658] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
-046B  ; [.1B22.0020.0002.046B] # CYRILLIC SMALL LETTER BIG YUS
-2DFE  ; [.1B22.0020.0004.2DFE] # COMBINING CYRILLIC LETTER BIG YUS; QQK
-046A  ; [.1B22.0020.0008.046A] # CYRILLIC CAPITAL LETTER BIG YUS
-A65B  ; [.1B26.0020.0002.A65B] # CYRILLIC SMALL LETTER BLENDED YUS
-A65A  ; [.1B26.0020.0008.A65A] # CYRILLIC CAPITAL LETTER BLENDED YUS
-0469  ; [.1B27.0020.0002.0469] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
-0468  ; [.1B27.0020.0008.0468] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
-A65D  ; [.1B2B.0020.0002.A65D] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
-A65C  ; [.1B2B.0020.0008.A65C] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
-046D  ; [.1B2C.0020.0002.046D] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
-2DFF  ; [.1B2C.0020.0004.2DFF] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS; QQK
-046C  ; [.1B2C.0020.0008.046C] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
-046F  ; [.1B30.0020.0002.046F] # CYRILLIC SMALL LETTER KSI
-046E  ; [.1B30.0020.0008.046E] # CYRILLIC CAPITAL LETTER KSI
-0471  ; [.1B34.0020.0002.0471] # CYRILLIC SMALL LETTER PSI
-0470  ; [.1B34.0020.0008.0470] # CYRILLIC CAPITAL LETTER PSI
-0473  ; [.1B38.0020.0002.0473] # CYRILLIC SMALL LETTER FITA
-2DF4  ; [.1B38.0020.0004.2DF4] # COMBINING CYRILLIC LETTER FITA; QQK
-0472  ; [.1B38.0020.0008.0472] # CYRILLIC CAPITAL LETTER FITA
-0475  ; [.1B3C.0020.0002.0475] # CYRILLIC SMALL LETTER IZHITSA
-0474  ; [.1B3C.0020.0008.0474] # CYRILLIC CAPITAL LETTER IZHITSA
-0477  ; [.1B40.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0475 030F ; [.1B40.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0476  ; [.1B40.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-0474 030F ; [.1B40.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
-A65F  ; [.1B44.0020.0002.A65F] # CYRILLIC SMALL LETTER YN
-A65E  ; [.1B44.0020.0008.A65E] # CYRILLIC CAPITAL LETTER YN
-04A9  ; [.1B45.0020.0002.04A9] # CYRILLIC SMALL LETTER ABKHASIAN HA
-04A8  ; [.1B45.0020.0008.04A8] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
-051D  ; [.1B49.0020.0002.051D] # CYRILLIC SMALL LETTER WE
-051C  ; [.1B49.0020.0008.051C] # CYRILLIC CAPITAL LETTER WE
-04CF  ; [.1B4A.0020.0002.04CF] # CYRILLIC SMALL LETTER PALOCHKA
-04C0  ; [.1B4A.0020.0008.04C0] # CYRILLIC LETTER PALOCHKA
-2C30  ; [.1B4E.0020.0002.2C30] # GLAGOLITIC SMALL LETTER AZU
-2C00  ; [.1B4E.0020.0008.2C00] # GLAGOLITIC CAPITAL LETTER AZU
-2C31  ; [.1B4F.0020.0002.2C31] # GLAGOLITIC SMALL LETTER BUKY
-2C01  ; [.1B4F.0020.0008.2C01] # GLAGOLITIC CAPITAL LETTER BUKY
-2C32  ; [.1B50.0020.0002.2C32] # GLAGOLITIC SMALL LETTER VEDE
-2C02  ; [.1B50.0020.0008.2C02] # GLAGOLITIC CAPITAL LETTER VEDE
-2C33  ; [.1B51.0020.0002.2C33] # GLAGOLITIC SMALL LETTER GLAGOLI
-2C03  ; [.1B51.0020.0008.2C03] # GLAGOLITIC CAPITAL LETTER GLAGOLI
-2C34  ; [.1B52.0020.0002.2C34] # GLAGOLITIC SMALL LETTER DOBRO
-2C04  ; [.1B52.0020.0008.2C04] # GLAGOLITIC CAPITAL LETTER DOBRO
-2C35  ; [.1B53.0020.0002.2C35] # GLAGOLITIC SMALL LETTER YESTU
-2C05  ; [.1B53.0020.0008.2C05] # GLAGOLITIC CAPITAL LETTER YESTU
-2C36  ; [.1B54.0020.0002.2C36] # GLAGOLITIC SMALL LETTER ZHIVETE
-2C06  ; [.1B54.0020.0008.2C06] # GLAGOLITIC CAPITAL LETTER ZHIVETE
-2C37  ; [.1B55.0020.0002.2C37] # GLAGOLITIC SMALL LETTER DZELO
-2C07  ; [.1B55.0020.0008.2C07] # GLAGOLITIC CAPITAL LETTER DZELO
-2C38  ; [.1B56.0020.0002.2C38] # GLAGOLITIC SMALL LETTER ZEMLJA
-2C08  ; [.1B56.0020.0008.2C08] # GLAGOLITIC CAPITAL LETTER ZEMLJA
-2C39  ; [.1B57.0020.0002.2C39] # GLAGOLITIC SMALL LETTER IZHE
-2C09  ; [.1B57.0020.0008.2C09] # GLAGOLITIC CAPITAL LETTER IZHE
-2C3A  ; [.1B58.0020.0002.2C3A] # GLAGOLITIC SMALL LETTER INITIAL IZHE
-2C0A  ; [.1B58.0020.0008.2C0A] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
-2C3B  ; [.1B59.0020.0002.2C3B] # GLAGOLITIC SMALL LETTER I
-2C0B  ; [.1B59.0020.0008.2C0B] # GLAGOLITIC CAPITAL LETTER I
-2C3C  ; [.1B5A.0020.0002.2C3C] # GLAGOLITIC SMALL LETTER DJERVI
-2C0C  ; [.1B5A.0020.0008.2C0C] # GLAGOLITIC CAPITAL LETTER DJERVI
-2C3D  ; [.1B5B.0020.0002.2C3D] # GLAGOLITIC SMALL LETTER KAKO
-2C0D  ; [.1B5B.0020.0008.2C0D] # GLAGOLITIC CAPITAL LETTER KAKO
-2C3E  ; [.1B5C.0020.0002.2C3E] # GLAGOLITIC SMALL LETTER LJUDIJE
-2C0E  ; [.1B5C.0020.0008.2C0E] # GLAGOLITIC CAPITAL LETTER LJUDIJE
-2C3F  ; [.1B5D.0020.0002.2C3F] # GLAGOLITIC SMALL LETTER MYSLITE
-2C0F  ; [.1B5D.0020.0008.2C0F] # GLAGOLITIC CAPITAL LETTER MYSLITE
-2C40  ; [.1B5E.0020.0002.2C40] # GLAGOLITIC SMALL LETTER NASHI
-2C10  ; [.1B5E.0020.0008.2C10] # GLAGOLITIC CAPITAL LETTER NASHI
-2C41  ; [.1B5F.0020.0002.2C41] # GLAGOLITIC SMALL LETTER ONU
-2C11  ; [.1B5F.0020.0008.2C11] # GLAGOLITIC CAPITAL LETTER ONU
-2C42  ; [.1B60.0020.0002.2C42] # GLAGOLITIC SMALL LETTER POKOJI
-2C12  ; [.1B60.0020.0008.2C12] # GLAGOLITIC CAPITAL LETTER POKOJI
-2C43  ; [.1B61.0020.0002.2C43] # GLAGOLITIC SMALL LETTER RITSI
-2C13  ; [.1B61.0020.0008.2C13] # GLAGOLITIC CAPITAL LETTER RITSI
-2C44  ; [.1B62.0020.0002.2C44] # GLAGOLITIC SMALL LETTER SLOVO
-2C14  ; [.1B62.0020.0008.2C14] # GLAGOLITIC CAPITAL LETTER SLOVO
-2C45  ; [.1B63.0020.0002.2C45] # GLAGOLITIC SMALL LETTER TVRIDO
-2C15  ; [.1B63.0020.0008.2C15] # GLAGOLITIC CAPITAL LETTER TVRIDO
-2C46  ; [.1B64.0020.0002.2C46] # GLAGOLITIC SMALL LETTER UKU
-2C16  ; [.1B64.0020.0008.2C16] # GLAGOLITIC CAPITAL LETTER UKU
-2C47  ; [.1B65.0020.0002.2C47] # GLAGOLITIC SMALL LETTER FRITU
-2C17  ; [.1B65.0020.0008.2C17] # GLAGOLITIC CAPITAL LETTER FRITU
-2C48  ; [.1B66.0020.0002.2C48] # GLAGOLITIC SMALL LETTER HERU
-2C18  ; [.1B66.0020.0008.2C18] # GLAGOLITIC CAPITAL LETTER HERU
-2C49  ; [.1B67.0020.0002.2C49] # GLAGOLITIC SMALL LETTER OTU
-2C19  ; [.1B67.0020.0008.2C19] # GLAGOLITIC CAPITAL LETTER OTU
-2C4A  ; [.1B68.0020.0002.2C4A] # GLAGOLITIC SMALL LETTER PE
-2C1A  ; [.1B68.0020.0008.2C1A] # GLAGOLITIC CAPITAL LETTER PE
-2C4B  ; [.1B69.0020.0002.2C4B] # GLAGOLITIC SMALL LETTER SHTA
-2C1B  ; [.1B69.0020.0008.2C1B] # GLAGOLITIC CAPITAL LETTER SHTA
-2C4C  ; [.1B6A.0020.0002.2C4C] # GLAGOLITIC SMALL LETTER TSI
-2C1C  ; [.1B6A.0020.0008.2C1C] # GLAGOLITIC CAPITAL LETTER TSI
-2C4D  ; [.1B6B.0020.0002.2C4D] # GLAGOLITIC SMALL LETTER CHRIVI
-2C1D  ; [.1B6B.0020.0008.2C1D] # GLAGOLITIC CAPITAL LETTER CHRIVI
-2C4E  ; [.1B6C.0020.0002.2C4E] # GLAGOLITIC SMALL LETTER SHA
-2C1E  ; [.1B6C.0020.0008.2C1E] # GLAGOLITIC CAPITAL LETTER SHA
-2C4F  ; [.1B6D.0020.0002.2C4F] # GLAGOLITIC SMALL LETTER YERU
-2C1F  ; [.1B6D.0020.0008.2C1F] # GLAGOLITIC CAPITAL LETTER YERU
-2C50  ; [.1B6E.0020.0002.2C50] # GLAGOLITIC SMALL LETTER YERI
-2C20  ; [.1B6E.0020.0008.2C20] # GLAGOLITIC CAPITAL LETTER YERI
-2C51  ; [.1B6F.0020.0002.2C51] # GLAGOLITIC SMALL LETTER YATI
-2C21  ; [.1B6F.0020.0008.2C21] # GLAGOLITIC CAPITAL LETTER YATI
-2C52  ; [.1B70.0020.0002.2C52] # GLAGOLITIC SMALL LETTER SPIDERY HA
-2C22  ; [.1B70.0020.0008.2C22] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
-2C53  ; [.1B71.0020.0002.2C53] # GLAGOLITIC SMALL LETTER YU
-2C23  ; [.1B71.0020.0008.2C23] # GLAGOLITIC CAPITAL LETTER YU
-2C54  ; [.1B72.0020.0002.2C54] # GLAGOLITIC SMALL LETTER SMALL YUS
-2C24  ; [.1B72.0020.0008.2C24] # GLAGOLITIC CAPITAL LETTER SMALL YUS
-2C55  ; [.1B73.0020.0002.2C55] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
-2C25  ; [.1B73.0020.0008.2C25] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
-2C56  ; [.1B74.0020.0002.2C56] # GLAGOLITIC SMALL LETTER YO
-2C26  ; [.1B74.0020.0008.2C26] # GLAGOLITIC CAPITAL LETTER YO
-2C57  ; [.1B75.0020.0002.2C57] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
-2C27  ; [.1B75.0020.0008.2C27] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
-2C58  ; [.1B76.0020.0002.2C58] # GLAGOLITIC SMALL LETTER BIG YUS
-2C28  ; [.1B76.0020.0008.2C28] # GLAGOLITIC CAPITAL LETTER BIG YUS
-2C59  ; [.1B77.0020.0002.2C59] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
-2C29  ; [.1B77.0020.0008.2C29] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
-2C5A  ; [.1B78.0020.0002.2C5A] # GLAGOLITIC SMALL LETTER FITA
-2C2A  ; [.1B78.0020.0008.2C2A] # GLAGOLITIC CAPITAL LETTER FITA
-2C5B  ; [.1B79.0020.0002.2C5B] # GLAGOLITIC SMALL LETTER IZHITSA
-2C2B  ; [.1B79.0020.0008.2C2B] # GLAGOLITIC CAPITAL LETTER IZHITSA
-2C5C  ; [.1B7A.0020.0002.2C5C] # GLAGOLITIC SMALL LETTER SHTAPIC
-2C2C  ; [.1B7A.0020.0008.2C2C] # GLAGOLITIC CAPITAL LETTER SHTAPIC
-2C5D  ; [.1B7B.0020.0002.2C5D] # GLAGOLITIC SMALL LETTER TROKUTASTI A
-2C2D  ; [.1B7B.0020.0008.2C2D] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
-2C5E  ; [.1B7C.0020.0002.2C5E] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C2E  ; [.1B7C.0020.0008.2C2E] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
-10D0  ; [.1B7D.0020.0002.10D0] # GEORGIAN LETTER AN
-2D00  ; [.1B7E.0020.0002.2D00] # GEORGIAN SMALL LETTER AN
-10A0  ; [.1B7E.0020.0008.10A0] # GEORGIAN CAPITAL LETTER AN
-10D1  ; [.1B7F.0020.0002.10D1] # GEORGIAN LETTER BAN
-2D01  ; [.1B80.0020.0002.2D01] # GEORGIAN SMALL LETTER BAN
-10A1  ; [.1B80.0020.0008.10A1] # GEORGIAN CAPITAL LETTER BAN
-10D2  ; [.1B81.0020.0002.10D2] # GEORGIAN LETTER GAN
-2D02  ; [.1B82.0020.0002.2D02] # GEORGIAN SMALL LETTER GAN
-10A2  ; [.1B82.0020.0008.10A2] # GEORGIAN CAPITAL LETTER GAN
-10D3  ; [.1B83.0020.0002.10D3] # GEORGIAN LETTER DON
-2D03  ; [.1B84.0020.0002.2D03] # GEORGIAN SMALL LETTER DON
-10A3  ; [.1B84.0020.0008.10A3] # GEORGIAN CAPITAL LETTER DON
-10D4  ; [.1B85.0020.0002.10D4] # GEORGIAN LETTER EN
-2D04  ; [.1B86.0020.0002.2D04] # GEORGIAN SMALL LETTER EN
-10A4  ; [.1B86.0020.0008.10A4] # GEORGIAN CAPITAL LETTER EN
-10D5  ; [.1B87.0020.0002.10D5] # GEORGIAN LETTER VIN
-2D05  ; [.1B88.0020.0002.2D05] # GEORGIAN SMALL LETTER VIN
-10A5  ; [.1B88.0020.0008.10A5] # GEORGIAN CAPITAL LETTER VIN
-10D6  ; [.1B89.0020.0002.10D6] # GEORGIAN LETTER ZEN
-2D06  ; [.1B8A.0020.0002.2D06] # GEORGIAN SMALL LETTER ZEN
-10A6  ; [.1B8A.0020.0008.10A6] # GEORGIAN CAPITAL LETTER ZEN
-10F1  ; [.1B8B.0020.0002.10F1] # GEORGIAN LETTER HE
-2D21  ; [.1B8C.0020.0002.2D21] # GEORGIAN SMALL LETTER HE
-10C1  ; [.1B8C.0020.0008.10C1] # GEORGIAN CAPITAL LETTER HE
-10D7  ; [.1B8D.0020.0002.10D7] # GEORGIAN LETTER TAN
-2D07  ; [.1B8E.0020.0002.2D07] # GEORGIAN SMALL LETTER TAN
-10A7  ; [.1B8E.0020.0008.10A7] # GEORGIAN CAPITAL LETTER TAN
-10D8  ; [.1B8F.0020.0002.10D8] # GEORGIAN LETTER IN
-2D08  ; [.1B90.0020.0002.2D08] # GEORGIAN SMALL LETTER IN
-10A8  ; [.1B90.0020.0008.10A8] # GEORGIAN CAPITAL LETTER IN
-10D9  ; [.1B91.0020.0002.10D9] # GEORGIAN LETTER KAN
-2D09  ; [.1B92.0020.0002.2D09] # GEORGIAN SMALL LETTER KAN
-10A9  ; [.1B92.0020.0008.10A9] # GEORGIAN CAPITAL LETTER KAN
-10DA  ; [.1B93.0020.0002.10DA] # GEORGIAN LETTER LAS
-2D0A  ; [.1B94.0020.0002.2D0A] # GEORGIAN SMALL LETTER LAS
-10AA  ; [.1B94.0020.0008.10AA] # GEORGIAN CAPITAL LETTER LAS
-10DB  ; [.1B95.0020.0002.10DB] # GEORGIAN LETTER MAN
-2D0B  ; [.1B96.0020.0002.2D0B] # GEORGIAN SMALL LETTER MAN
-10AB  ; [.1B96.0020.0008.10AB] # GEORGIAN CAPITAL LETTER MAN
-10DC  ; [.1B97.0020.0002.10DC] # GEORGIAN LETTER NAR
-10FC  ; [.1B97.0020.0014.10FC] # MODIFIER LETTER GEORGIAN NAR; QQK
-2D0C  ; [.1B98.0020.0002.2D0C] # GEORGIAN SMALL LETTER NAR
-10AC  ; [.1B98.0020.0008.10AC] # GEORGIAN CAPITAL LETTER NAR
-10F2  ; [.1B99.0020.0002.10F2] # GEORGIAN LETTER HIE
-2D22  ; [.1B9A.0020.0002.2D22] # GEORGIAN SMALL LETTER HIE
-10C2  ; [.1B9A.0020.0008.10C2] # GEORGIAN CAPITAL LETTER HIE
-10DD  ; [.1B9B.0020.0002.10DD] # GEORGIAN LETTER ON
-2D0D  ; [.1B9C.0020.0002.2D0D] # GEORGIAN SMALL LETTER ON
-10AD  ; [.1B9C.0020.0008.10AD] # GEORGIAN CAPITAL LETTER ON
-10DE  ; [.1B9D.0020.0002.10DE] # GEORGIAN LETTER PAR
-2D0E  ; [.1B9E.0020.0002.2D0E] # GEORGIAN SMALL LETTER PAR
-10AE  ; [.1B9E.0020.0008.10AE] # GEORGIAN CAPITAL LETTER PAR
-10DF  ; [.1B9F.0020.0002.10DF] # GEORGIAN LETTER ZHAR
-2D0F  ; [.1BA0.0020.0002.2D0F] # GEORGIAN SMALL LETTER ZHAR
-10AF  ; [.1BA0.0020.0008.10AF] # GEORGIAN CAPITAL LETTER ZHAR
-10E0  ; [.1BA1.0020.0002.10E0] # GEORGIAN LETTER RAE
-2D10  ; [.1BA2.0020.0002.2D10] # GEORGIAN SMALL LETTER RAE
-10B0  ; [.1BA2.0020.0008.10B0] # GEORGIAN CAPITAL LETTER RAE
-10E1  ; [.1BA3.0020.0002.10E1] # GEORGIAN LETTER SAN
-2D11  ; [.1BA4.0020.0002.2D11] # GEORGIAN SMALL LETTER SAN
-10B1  ; [.1BA4.0020.0008.10B1] # GEORGIAN CAPITAL LETTER SAN
-10E2  ; [.1BA5.0020.0002.10E2] # GEORGIAN LETTER TAR
-2D12  ; [.1BA6.0020.0002.2D12] # GEORGIAN SMALL LETTER TAR
-10B2  ; [.1BA6.0020.0008.10B2] # GEORGIAN CAPITAL LETTER TAR
-10F3  ; [.1BA7.0020.0002.10F3] # GEORGIAN LETTER WE
-2D23  ; [.1BA8.0020.0002.2D23] # GEORGIAN SMALL LETTER WE
-10C3  ; [.1BA8.0020.0008.10C3] # GEORGIAN CAPITAL LETTER WE
-10E3  ; [.1BA9.0020.0002.10E3] # GEORGIAN LETTER UN
-2D13  ; [.1BAA.0020.0002.2D13] # GEORGIAN SMALL LETTER UN
-10B3  ; [.1BAA.0020.0008.10B3] # GEORGIAN CAPITAL LETTER UN
-10E4  ; [.1BAB.0020.0002.10E4] # GEORGIAN LETTER PHAR
-2D14  ; [.1BAC.0020.0002.2D14] # GEORGIAN SMALL LETTER PHAR
-10B4  ; [.1BAC.0020.0008.10B4] # GEORGIAN CAPITAL LETTER PHAR
-10E5  ; [.1BAD.0020.0002.10E5] # GEORGIAN LETTER KHAR
-2D15  ; [.1BAE.0020.0002.2D15] # GEORGIAN SMALL LETTER KHAR
-10B5  ; [.1BAE.0020.0008.10B5] # GEORGIAN CAPITAL LETTER KHAR
-10E6  ; [.1BAF.0020.0002.10E6] # GEORGIAN LETTER GHAN
-2D16  ; [.1BB0.0020.0002.2D16] # GEORGIAN SMALL LETTER GHAN
-10B6  ; [.1BB0.0020.0008.10B6] # GEORGIAN CAPITAL LETTER GHAN
-10E7  ; [.1BB1.0020.0002.10E7] # GEORGIAN LETTER QAR
-2D17  ; [.1BB2.0020.0002.2D17] # GEORGIAN SMALL LETTER QAR
-10B7  ; [.1BB2.0020.0008.10B7] # GEORGIAN CAPITAL LETTER QAR
-10E8  ; [.1BB3.0020.0002.10E8] # GEORGIAN LETTER SHIN
-2D18  ; [.1BB4.0020.0002.2D18] # GEORGIAN SMALL LETTER SHIN
-10B8  ; [.1BB4.0020.0008.10B8] # GEORGIAN CAPITAL LETTER SHIN
-10E9  ; [.1BB5.0020.0002.10E9] # GEORGIAN LETTER CHIN
-2D19  ; [.1BB6.0020.0002.2D19] # GEORGIAN SMALL LETTER CHIN
-10B9  ; [.1BB6.0020.0008.10B9] # GEORGIAN CAPITAL LETTER CHIN
-10EA  ; [.1BB7.0020.0002.10EA] # GEORGIAN LETTER CAN
-2D1A  ; [.1BB8.0020.0002.2D1A] # GEORGIAN SMALL LETTER CAN
-10BA  ; [.1BB8.0020.0008.10BA] # GEORGIAN CAPITAL LETTER CAN
-10EB  ; [.1BB9.0020.0002.10EB] # GEORGIAN LETTER JIL
-2D1B  ; [.1BBA.0020.0002.2D1B] # GEORGIAN SMALL LETTER JIL
-10BB  ; [.1BBA.0020.0008.10BB] # GEORGIAN CAPITAL LETTER JIL
-10EC  ; [.1BBB.0020.0002.10EC] # GEORGIAN LETTER CIL
-2D1C  ; [.1BBC.0020.0002.2D1C] # GEORGIAN SMALL LETTER CIL
-10BC  ; [.1BBC.0020.0008.10BC] # GEORGIAN CAPITAL LETTER CIL
-10ED  ; [.1BBD.0020.0002.10ED] # GEORGIAN LETTER CHAR
-2D1D  ; [.1BBE.0020.0002.2D1D] # GEORGIAN SMALL LETTER CHAR
-10BD  ; [.1BBE.0020.0008.10BD] # GEORGIAN CAPITAL LETTER CHAR
-10EE  ; [.1BBF.0020.0002.10EE] # GEORGIAN LETTER XAN
-2D1E  ; [.1BC0.0020.0002.2D1E] # GEORGIAN SMALL LETTER XAN
-10BE  ; [.1BC0.0020.0008.10BE] # GEORGIAN CAPITAL LETTER XAN
-10F4  ; [.1BC1.0020.0002.10F4] # GEORGIAN LETTER HAR
-2D24  ; [.1BC2.0020.0002.2D24] # GEORGIAN SMALL LETTER HAR
-10C4  ; [.1BC2.0020.0008.10C4] # GEORGIAN CAPITAL LETTER HAR
-10EF  ; [.1BC3.0020.0002.10EF] # GEORGIAN LETTER JHAN
-2D1F  ; [.1BC4.0020.0002.2D1F] # GEORGIAN SMALL LETTER JHAN
-10BF  ; [.1BC4.0020.0008.10BF] # GEORGIAN CAPITAL LETTER JHAN
-10F0  ; [.1BC5.0020.0002.10F0] # GEORGIAN LETTER HAE
-2D20  ; [.1BC6.0020.0002.2D20] # GEORGIAN SMALL LETTER HAE
-10C0  ; [.1BC6.0020.0008.10C0] # GEORGIAN CAPITAL LETTER HAE
-10F5  ; [.1BC7.0020.0002.10F5] # GEORGIAN LETTER HOE
-2D25  ; [.1BC8.0020.0002.2D25] # GEORGIAN SMALL LETTER HOE
-10C5  ; [.1BC8.0020.0008.10C5] # GEORGIAN CAPITAL LETTER HOE
-10F6  ; [.1BC9.0020.0002.10F6] # GEORGIAN LETTER FI
-10F7  ; [.1BCA.0020.0002.10F7] # GEORGIAN LETTER YN
-10F8  ; [.1BCB.0020.0002.10F8] # GEORGIAN LETTER ELIFI
-10F9  ; [.1BCC.0020.0002.10F9] # GEORGIAN LETTER TURNED GAN
-10FA  ; [.1BCD.0020.0002.10FA] # GEORGIAN LETTER AIN
-0561  ; [.1BCE.0020.0002.0561] # ARMENIAN SMALL LETTER AYB
-0531  ; [.1BCE.0020.0008.0531] # ARMENIAN CAPITAL LETTER AYB
-0562  ; [.1BCF.0020.0002.0562] # ARMENIAN SMALL LETTER BEN
-0532  ; [.1BCF.0020.0008.0532] # ARMENIAN CAPITAL LETTER BEN
-0563  ; [.1BD0.0020.0002.0563] # ARMENIAN SMALL LETTER GIM
-0533  ; [.1BD0.0020.0008.0533] # ARMENIAN CAPITAL LETTER GIM
-0564  ; [.1BD1.0020.0002.0564] # ARMENIAN SMALL LETTER DA
-0534  ; [.1BD1.0020.0008.0534] # ARMENIAN CAPITAL LETTER DA
-0565  ; [.1BD2.0020.0002.0565] # ARMENIAN SMALL LETTER ECH
-0535  ; [.1BD2.0020.0008.0535] # ARMENIAN CAPITAL LETTER ECH
-0587  ; [.1BD2.0020.0004.0587][.1BEF.0020.0004.0587] # ARMENIAN SMALL LIGATURE ECH YIWN; QQKN
-0566  ; [.1BD3.0020.0002.0566] # ARMENIAN SMALL LETTER ZA
-0536  ; [.1BD3.0020.0008.0536] # ARMENIAN CAPITAL LETTER ZA
-0567  ; [.1BD4.0020.0002.0567] # ARMENIAN SMALL LETTER EH
-0537  ; [.1BD4.0020.0008.0537] # ARMENIAN CAPITAL LETTER EH
-0568  ; [.1BD5.0020.0002.0568] # ARMENIAN SMALL LETTER ET
-0538  ; [.1BD5.0020.0008.0538] # ARMENIAN CAPITAL LETTER ET
-0569  ; [.1BD6.0020.0002.0569] # ARMENIAN SMALL LETTER TO
-0539  ; [.1BD6.0020.0008.0539] # ARMENIAN CAPITAL LETTER TO
-056A  ; [.1BD7.0020.0002.056A] # ARMENIAN SMALL LETTER ZHE
-053A  ; [.1BD7.0020.0008.053A] # ARMENIAN CAPITAL LETTER ZHE
-056B  ; [.1BD8.0020.0002.056B] # ARMENIAN SMALL LETTER INI
-053B  ; [.1BD8.0020.0008.053B] # ARMENIAN CAPITAL LETTER INI
-056C  ; [.1BD9.0020.0002.056C] # ARMENIAN SMALL LETTER LIWN
-053C  ; [.1BD9.0020.0008.053C] # ARMENIAN CAPITAL LETTER LIWN
-056D  ; [.1BDA.0020.0002.056D] # ARMENIAN SMALL LETTER XEH
-053D  ; [.1BDA.0020.0008.053D] # ARMENIAN CAPITAL LETTER XEH
-056E  ; [.1BDB.0020.0002.056E] # ARMENIAN SMALL LETTER CA
-053E  ; [.1BDB.0020.0008.053E] # ARMENIAN CAPITAL LETTER CA
-056F  ; [.1BDC.0020.0002.056F] # ARMENIAN SMALL LETTER KEN
-053F  ; [.1BDC.0020.0008.053F] # ARMENIAN CAPITAL LETTER KEN
-0570  ; [.1BDD.0020.0002.0570] # ARMENIAN SMALL LETTER HO
-0540  ; [.1BDD.0020.0008.0540] # ARMENIAN CAPITAL LETTER HO
-0571  ; [.1BDE.0020.0002.0571] # ARMENIAN SMALL LETTER JA
-0541  ; [.1BDE.0020.0008.0541] # ARMENIAN CAPITAL LETTER JA
-0572  ; [.1BDF.0020.0002.0572] # ARMENIAN SMALL LETTER GHAD
-0542  ; [.1BDF.0020.0008.0542] # ARMENIAN CAPITAL LETTER GHAD
-0573  ; [.1BE0.0020.0002.0573] # ARMENIAN SMALL LETTER CHEH
-0543  ; [.1BE0.0020.0008.0543] # ARMENIAN CAPITAL LETTER CHEH
-0574  ; [.1BE1.0020.0002.0574] # ARMENIAN SMALL LETTER MEN
-0544  ; [.1BE1.0020.0008.0544] # ARMENIAN CAPITAL LETTER MEN
-FB14  ; [.1BE1.0020.0004.FB14][.1BD2.0020.0004.FB14] # ARMENIAN SMALL LIGATURE MEN ECH; QQKN
-FB15  ; [.1BE1.0020.0004.FB15][.1BD8.0020.0004.FB15] # ARMENIAN SMALL LIGATURE MEN INI; QQKN
-FB17  ; [.1BE1.0020.0004.FB17][.1BDA.0020.0004.FB17] # ARMENIAN SMALL LIGATURE MEN XEH; QQKN
-FB13  ; [.1BE1.0020.0004.FB13][.1BE3.0020.0004.FB13] # ARMENIAN SMALL LIGATURE MEN NOW; QQKN
-0575  ; [.1BE2.0020.0002.0575] # ARMENIAN SMALL LETTER YI
-0545  ; [.1BE2.0020.0008.0545] # ARMENIAN CAPITAL LETTER YI
-0576  ; [.1BE3.0020.0002.0576] # ARMENIAN SMALL LETTER NOW
-0546  ; [.1BE3.0020.0008.0546] # ARMENIAN CAPITAL LETTER NOW
-0577  ; [.1BE4.0020.0002.0577] # ARMENIAN SMALL LETTER SHA
-0547  ; [.1BE4.0020.0008.0547] # ARMENIAN CAPITAL LETTER SHA
-0578  ; [.1BE5.0020.0002.0578] # ARMENIAN SMALL LETTER VO
-0548  ; [.1BE5.0020.0008.0548] # ARMENIAN CAPITAL LETTER VO
-0579  ; [.1BE6.0020.0002.0579] # ARMENIAN SMALL LETTER CHA
-0549  ; [.1BE6.0020.0008.0549] # ARMENIAN CAPITAL LETTER CHA
-057A  ; [.1BE7.0020.0002.057A] # ARMENIAN SMALL LETTER PEH
-054A  ; [.1BE7.0020.0008.054A] # ARMENIAN CAPITAL LETTER PEH
-057B  ; [.1BE8.0020.0002.057B] # ARMENIAN SMALL LETTER JHEH
-054B  ; [.1BE8.0020.0008.054B] # ARMENIAN CAPITAL LETTER JHEH
-057C  ; [.1BE9.0020.0002.057C] # ARMENIAN SMALL LETTER RA
-054C  ; [.1BE9.0020.0008.054C] # ARMENIAN CAPITAL LETTER RA
-057D  ; [.1BEA.0020.0002.057D] # ARMENIAN SMALL LETTER SEH
-054D  ; [.1BEA.0020.0008.054D] # ARMENIAN CAPITAL LETTER SEH
-057E  ; [.1BEB.0020.0002.057E] # ARMENIAN SMALL LETTER VEW
-054E  ; [.1BEB.0020.0008.054E] # ARMENIAN CAPITAL LETTER VEW
-FB16  ; [.1BEB.0020.0004.FB16][.1BE3.0020.0004.FB16] # ARMENIAN SMALL LIGATURE VEW NOW; QQKN
-057F  ; [.1BEC.0020.0002.057F] # ARMENIAN SMALL LETTER TIWN
-054F  ; [.1BEC.0020.0008.054F] # ARMENIAN CAPITAL LETTER TIWN
-0580  ; [.1BED.0020.0002.0580] # ARMENIAN SMALL LETTER REH
-0550  ; [.1BED.0020.0008.0550] # ARMENIAN CAPITAL LETTER REH
-0581  ; [.1BEE.0020.0002.0581] # ARMENIAN SMALL LETTER CO
-0551  ; [.1BEE.0020.0008.0551] # ARMENIAN CAPITAL LETTER CO
-0582  ; [.1BEF.0020.0002.0582] # ARMENIAN SMALL LETTER YIWN
-0552  ; [.1BEF.0020.0008.0552] # ARMENIAN CAPITAL LETTER YIWN
-0583  ; [.1BF0.0020.0002.0583] # ARMENIAN SMALL LETTER PIWR
-0553  ; [.1BF0.0020.0008.0553] # ARMENIAN CAPITAL LETTER PIWR
-0584  ; [.1BF1.0020.0002.0584] # ARMENIAN SMALL LETTER KEH
-0554  ; [.1BF1.0020.0008.0554] # ARMENIAN CAPITAL LETTER KEH
-0585  ; [.1BF2.0020.0002.0585] # ARMENIAN SMALL LETTER OH
-0555  ; [.1BF2.0020.0008.0555] # ARMENIAN CAPITAL LETTER OH
-0586  ; [.1BF3.0020.0002.0586] # ARMENIAN SMALL LETTER FEH
-0556  ; [.1BF3.0020.0008.0556] # ARMENIAN CAPITAL LETTER FEH
-0559  ; [.1BF4.0020.0002.0559] # ARMENIAN MODIFIER LETTER LEFT HALF RING
-05D0  ; [.1BF5.0020.0002.05D0] # HEBREW LETTER ALEF
-2135  ; [.1BF5.0020.0004.2135] # ALEF SYMBOL; QQK
-FB21  ; [.1BF5.0020.0005.FB21] # HEBREW LETTER WIDE ALEF; QQK
-FB2E  ; [.1BF5.0020.0002.05D0][.0000.008C.0002.05B7] # HEBREW LETTER ALEF WITH PATAH; QQCM
-FB2F  ; [.1BF5.0020.0002.05D0][.0000.008D.0002.05B8] # HEBREW LETTER ALEF WITH QAMATS; QQCM
-FB30  ; [.1BF5.0020.0002.05D0][.0000.0092.0002.05BC] # HEBREW LETTER ALEF WITH MAPIQ; QQCM
-FB4F  ; [.1BF5.0020.0004.FB4F][.1C00.0020.0004.FB4F] # HEBREW LIGATURE ALEF LAMED; QQKN
-05D1  ; [.1BF6.0020.0002.05D1] # HEBREW LETTER BET
-2136  ; [.1BF6.0020.0004.2136] # BET SYMBOL; QQK
-FB31  ; [.1BF6.0020.0002.05D1][.0000.0092.0002.05BC] # HEBREW LETTER BET WITH DAGESH; QQCM
-FB4C  ; [.1BF6.0020.0002.05D1][.0000.0095.0002.05BF] # HEBREW LETTER BET WITH RAFE; QQCM
-05D2  ; [.1BF7.0020.0002.05D2] # HEBREW LETTER GIMEL
-2137  ; [.1BF7.0020.0004.2137] # GIMEL SYMBOL; QQK
-FB32  ; [.1BF7.0020.0002.05D2][.0000.0092.0002.05BC] # HEBREW LETTER GIMEL WITH DAGESH; QQCM
-05D3  ; [.1BF8.0020.0002.05D3] # HEBREW LETTER DALET
-2138  ; [.1BF8.0020.0004.2138] # DALET SYMBOL; QQK
-FB22  ; [.1BF8.0020.0005.FB22] # HEBREW LETTER WIDE DALET; QQK
-FB33  ; [.1BF8.0020.0002.05D3][.0000.0092.0002.05BC] # HEBREW LETTER DALET WITH DAGESH; QQCM
-05D4  ; [.1BF9.0020.0002.05D4] # HEBREW LETTER HE
-FB23  ; [.1BF9.0020.0005.FB23] # HEBREW LETTER WIDE HE; QQK
-FB34  ; [.1BF9.0020.0002.05D4][.0000.0092.0002.05BC] # HEBREW LETTER HE WITH MAPIQ; QQCM
-05D5  ; [.1BFA.0020.0002.05D5] # HEBREW LETTER VAV
-FB4B  ; [.1BFA.0020.0002.05D5][.0000.008E.0002.05B9] # HEBREW LETTER VAV WITH HOLAM; QQCM
-FB35  ; [.1BFA.0020.0002.05D5][.0000.0092.0002.05BC] # HEBREW LETTER VAV WITH DAGESH; QQCM
-05F0  ; [.1BFA.0020.0004.05F0][.1BFA.0020.0004.05F0] # HEBREW LIGATURE YIDDISH DOUBLE VAV; QQKN
-05F1  ; [.1BFA.0020.0004.05F1][.1BFE.0020.0004.05F1] # HEBREW LIGATURE YIDDISH VAV YOD; QQKN
-05D6  ; [.1BFB.0020.0002.05D6] # HEBREW LETTER ZAYIN
-FB36  ; [.1BFB.0020.0002.05D6][.0000.0092.0002.05BC] # HEBREW LETTER ZAYIN WITH DAGESH; QQCM
-05D7  ; [.1BFC.0020.0002.05D7] # HEBREW LETTER HET
-05D8  ; [.1BFD.0020.0002.05D8] # HEBREW LETTER TET
-FB38  ; [.1BFD.0020.0002.05D8][.0000.0092.0002.05BC] # HEBREW LETTER TET WITH DAGESH; QQCM
-05D9  ; [.1BFE.0020.0002.05D9] # HEBREW LETTER YOD
-FB1D  ; [.1BFE.0020.0002.05D9][.0000.0089.0002.05B4] # HEBREW LETTER YOD WITH HIRIQ; QQCM
-FB39  ; [.1BFE.0020.0002.05D9][.0000.0092.0002.05BC] # HEBREW LETTER YOD WITH DAGESH; QQCM
-05F2  ; [.1BFE.0020.0004.05F2][.1BFE.0020.0004.05F2] # HEBREW LIGATURE YIDDISH DOUBLE YOD; QQKN
-FB1F  ; [.1BFE.0020.0004.FB1F][.1BFE.0020.0004.FB1F][.0000.008C.0002.FB1F] # HEBREW LIGATURE YIDDISH YOD YOD PATAH; QQKN
-05DB  ; [.1BFF.0020.0002.05DB] # HEBREW LETTER KAF
-FB24  ; [.1BFF.0020.0005.FB24] # HEBREW LETTER WIDE KAF; QQK
-05DA  ; [.1BFF.0020.0019.05DA] # HEBREW LETTER FINAL KAF; QQK
-FB3B  ; [.1BFF.0020.0002.05DB][.0000.0092.0002.05BC] # HEBREW LETTER KAF WITH DAGESH; QQCM
-FB3A  ; [.1BFF.0020.0019.FB3A][.0000.0092.0002.FB3A] # HEBREW LETTER FINAL KAF WITH DAGESH; QQKN
-FB4D  ; [.1BFF.0020.0002.05DB][.0000.0095.0002.05BF] # HEBREW LETTER KAF WITH RAFE; QQCM
-05DC  ; [.1C00.0020.0002.05DC] # HEBREW LETTER LAMED
-FB25  ; [.1C00.0020.0005.FB25] # HEBREW LETTER WIDE LAMED; QQK
-FB3C  ; [.1C00.0020.0002.05DC][.0000.0092.0002.05BC] # HEBREW LETTER LAMED WITH DAGESH; QQCM
-05DE  ; [.1C01.0020.0002.05DE] # HEBREW LETTER MEM
-FB26  ; [.1C01.0020.0005.FB26] # HEBREW LETTER WIDE FINAL MEM; QQK
-05DD  ; [.1C01.0020.0019.05DD] # HEBREW LETTER FINAL MEM; QQK
-FB3E  ; [.1C01.0020.0002.05DE][.0000.0092.0002.05BC] # HEBREW LETTER MEM WITH DAGESH; QQCM
-05E0  ; [.1C02.0020.0002.05E0] # HEBREW LETTER NUN
-05DF  ; [.1C02.0020.0019.05DF] # HEBREW LETTER FINAL NUN; QQK
-FB40  ; [.1C02.0020.0002.05E0][.0000.0092.0002.05BC] # HEBREW LETTER NUN WITH DAGESH; QQCM
-05E1  ; [.1C03.0020.0002.05E1] # HEBREW LETTER SAMEKH
-FB41  ; [.1C03.0020.0002.05E1][.0000.0092.0002.05BC] # HEBREW LETTER SAMEKH WITH DAGESH; QQCM
-05E2  ; [.1C04.0020.0002.05E2] # HEBREW LETTER AYIN
-FB20  ; [.1C04.0020.0005.FB20] # HEBREW LETTER ALTERNATIVE AYIN; QQK
-05E4  ; [.1C05.0020.0002.05E4] # HEBREW LETTER PE
-05E3  ; [.1C05.0020.0019.05E3] # HEBREW LETTER FINAL PE; QQK
-FB44  ; [.1C05.0020.0002.05E4][.0000.0092.0002.05BC] # HEBREW LETTER PE WITH DAGESH; QQCM
-FB43  ; [.1C05.0020.0019.FB43][.0000.0092.0002.FB43] # HEBREW LETTER FINAL PE WITH DAGESH; QQKN
-FB4E  ; [.1C05.0020.0002.05E4][.0000.0095.0002.05BF] # HEBREW LETTER PE WITH RAFE; QQCM
-05E6  ; [.1C06.0020.0002.05E6] # HEBREW LETTER TSADI
-05E5  ; [.1C06.0020.0019.05E5] # HEBREW LETTER FINAL TSADI; QQK
-FB46  ; [.1C06.0020.0002.05E6][.0000.0092.0002.05BC] # HEBREW LETTER TSADI WITH DAGESH; QQCM
-05E7  ; [.1C07.0020.0002.05E7] # HEBREW LETTER QOF
-FB47  ; [.1C07.0020.0002.05E7][.0000.0092.0002.05BC] # HEBREW LETTER QOF WITH DAGESH; QQCM
-05E8  ; [.1C08.0020.0002.05E8] # HEBREW LETTER RESH
-FB27  ; [.1C08.0020.0005.FB27] # HEBREW LETTER WIDE RESH; QQK
-FB48  ; [.1C08.0020.0002.05E8][.0000.0092.0002.05BC] # HEBREW LETTER RESH WITH DAGESH; QQCM
-05E9  ; [.1C09.0020.0002.05E9] # HEBREW LETTER SHIN
-FB2B  ; [.1C09.0020.0002.05E9][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH SIN DOT; QQCM
-FB2A  ; [.1C09.0020.0002.05E9][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH SHIN DOT; QQCM
-FB49  ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC] # HEBREW LETTER SHIN WITH DAGESH; QQCM
-FB2D  ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT; QQCM
-FB2C  ; [.1C09.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT; QQCM
-05EA  ; [.1C0A.0020.0002.05EA] # HEBREW LETTER TAV
-FB28  ; [.1C0A.0020.0005.FB28] # HEBREW LETTER WIDE TAV; QQK
-FB4A  ; [.1C0A.0020.0002.05EA][.0000.0092.0002.05BC] # HEBREW LETTER TAV WITH DAGESH; QQCM
-10900 ; [.1C0B.0020.0002.10900] # PHOENICIAN LETTER ALF
-10901 ; [.1C0C.0020.0002.10901] # PHOENICIAN LETTER BET
-10902 ; [.1C0D.0020.0002.10902] # PHOENICIAN LETTER GAML
-10903 ; [.1C0E.0020.0002.10903] # PHOENICIAN LETTER DELT
-10904 ; [.1C0F.0020.0002.10904] # PHOENICIAN LETTER HE
-10905 ; [.1C10.0020.0002.10905] # PHOENICIAN LETTER WAU
-10906 ; [.1C11.0020.0002.10906] # PHOENICIAN LETTER ZAI
-10907 ; [.1C12.0020.0002.10907] # PHOENICIAN LETTER HET
-10908 ; [.1C13.0020.0002.10908] # PHOENICIAN LETTER TET
-10909 ; [.1C14.0020.0002.10909] # PHOENICIAN LETTER YOD
-1090A ; [.1C15.0020.0002.1090A] # PHOENICIAN LETTER KAF
-1090B ; [.1C16.0020.0002.1090B] # PHOENICIAN LETTER LAMD
-1090C ; [.1C17.0020.0002.1090C] # PHOENICIAN LETTER MEM
-1090D ; [.1C18.0020.0002.1090D] # PHOENICIAN LETTER NUN
-1090E ; [.1C19.0020.0002.1090E] # PHOENICIAN LETTER SEMK
-1090F ; [.1C1A.0020.0002.1090F] # PHOENICIAN LETTER AIN
-10910 ; [.1C1B.0020.0002.10910] # PHOENICIAN LETTER PE
-10911 ; [.1C1C.0020.0002.10911] # PHOENICIAN LETTER SADE
-10912 ; [.1C1D.0020.0002.10912] # PHOENICIAN LETTER QOF
-10913 ; [.1C1E.0020.0002.10913] # PHOENICIAN LETTER ROSH
-10914 ; [.1C1F.0020.0002.10914] # PHOENICIAN LETTER SHIN
-10915 ; [.1C20.0020.0002.10915] # PHOENICIAN LETTER TAU
-0800  ; [.1C21.0020.0002.0800] # SAMARITAN LETTER ALAF
-0801  ; [.1C22.0020.0002.0801] # SAMARITAN LETTER BIT
-0802  ; [.1C23.0020.0002.0802] # SAMARITAN LETTER GAMAN
-0803  ; [.1C24.0020.0002.0803] # SAMARITAN LETTER DALAT
-0804  ; [.1C25.0020.0002.0804] # SAMARITAN LETTER IY
-0805  ; [.1C26.0020.0002.0805] # SAMARITAN LETTER BAA
-0806  ; [.1C27.0020.0002.0806] # SAMARITAN LETTER ZEN
-0807  ; [.1C28.0020.0002.0807] # SAMARITAN LETTER IT
-0808  ; [.1C29.0020.0002.0808] # SAMARITAN LETTER TIT
-0809  ; [.1C2A.0020.0002.0809] # SAMARITAN LETTER YUT
-080A  ; [.1C2B.0020.0002.080A] # SAMARITAN LETTER KAAF
-080B  ; [.1C2C.0020.0002.080B] # SAMARITAN LETTER LABAT
-080C  ; [.1C2D.0020.0002.080C] # SAMARITAN LETTER MIM
-080D  ; [.1C2E.0020.0002.080D] # SAMARITAN LETTER NUN
-080E  ; [.1C2F.0020.0002.080E] # SAMARITAN LETTER SINGAAT
-080F  ; [.1C30.0020.0002.080F] # SAMARITAN LETTER IN
-0810  ; [.1C31.0020.0002.0810] # SAMARITAN LETTER FI
-0811  ; [.1C32.0020.0002.0811] # SAMARITAN LETTER TSAADIY
-0812  ; [.1C33.0020.0002.0812] # SAMARITAN LETTER QUF
-0813  ; [.1C34.0020.0002.0813] # SAMARITAN LETTER RISH
-0814  ; [.1C35.0020.0002.0814] # SAMARITAN LETTER SHAN
-0815  ; [.1C36.0020.0002.0815] # SAMARITAN LETTER TAAF
-0816  ; [.1C37.0020.0002.0816] # SAMARITAN MARK IN
-0817  ; [.1C38.0020.0002.0817] # SAMARITAN MARK IN-ALAF
-081A  ; [.1C39.0020.0002.081A] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
-081B  ; [.1C3A.0020.0002.081B] # SAMARITAN MARK EPENTHETIC YUT
-0621  ; [.1C3B.0020.0002.0621] # ARABIC LETTER HAMZA
-0674  ; [.1C3B.0020.0004.0674] # ARABIC LETTER HIGH HAMZA; QQK
-FE80  ; [.1C3B.0020.001A.FE80] # ARABIC LETTER HAMZA ISOLATED FORM; QQK
-06FD  ; [.1C3B.0020.0004.06FD][.0000.0160.0004.06FD] # ARABIC SIGN SINDHI AMPERSAND; QQKN
-0622  ; [.1C3C.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
-0627 0653 ; [.1C3C.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
-FE82  ; [.1C3C.0020.0019.FE82] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM; QQK
-FE81  ; [.1C3C.0020.001A.FE81] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM; QQK
-0623  ; [.1C3D.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-0627 0654 ; [.1C3D.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
-FE84  ; [.1C3D.0020.0019.FE84] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM; QQK
-FE83  ; [.1C3D.0020.001A.FE83] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM; QQK
-0672  ; [.1C3E.0020.0002.0672] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
-0671  ; [.1C3F.0020.0002.0671] # ARABIC LETTER ALEF WASLA
-FB51  ; [.1C3F.0020.0019.FB51] # ARABIC LETTER ALEF WASLA FINAL FORM; QQK
-FB50  ; [.1C3F.0020.001A.FB50] # ARABIC LETTER ALEF WASLA ISOLATED FORM; QQK
-0624  ; [.1C40.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
-0648 0654 ; [.1C40.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
-FE86  ; [.1C40.0020.0019.FE86] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM; QQK
-FE85  ; [.1C40.0020.001A.FE85] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM; QQK
-0625  ; [.1C41.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
-0627 0655 ; [.1C41.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
-FE88  ; [.1C41.0020.0019.FE88] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM; QQK
-FE87  ; [.1C41.0020.001A.FE87] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM; QQK
-0673  ; [.1C42.0020.0002.0673] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
-0773  ; [.1C43.0020.0002.0773] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0774  ; [.1C44.0020.0002.0774] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0626  ; [.1C45.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
-064A 0654 ; [.1C45.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
-FE8B  ; [.1C45.0020.0017.FE8B] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM; QQK
-FE8C  ; [.1C45.0020.0018.FE8C] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM; QQK
-FE8A  ; [.1C45.0020.0019.FE8A] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM; QQK
-FE89  ; [.1C45.0020.001A.FE89] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM; QQK
-FBEB  ; [.1C45.0020.0019.FBEB][.1C46.0020.0019.FBEB] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM; QQKN
-FBEA  ; [.1C45.0020.001A.FBEA][.1C46.0020.001A.FBEA] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM; QQKN
-FC97  ; [.1C45.0020.0017.FC97][.1C5B.0020.0017.FC97] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM; QQKN
-FC00  ; [.1C45.0020.001A.FC00][.1C5B.0020.001A.FC00] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM; QQKN
-FC98  ; [.1C45.0020.0017.FC98][.1C61.0020.0017.FC98] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM; QQKN
-FC01  ; [.1C45.0020.001A.FC01][.1C61.0020.001A.FC01] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM; QQKN
-FC99  ; [.1C45.0020.0017.FC99][.1C62.0020.0017.FC99] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM; QQKN
-FC64  ; [.1C45.0020.0019.FC64][.1C7A.0020.0019.FC64] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM; QQKN
-FC65  ; [.1C45.0020.0019.FC65][.1C7B.0020.0019.FC65] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM; QQKN
-FC9A  ; [.1C45.0020.0017.FC9A][.1CCA.0020.0017.FC9A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM; QQKN
-FCDF  ; [.1C45.0020.0018.FCDF][.1CCA.0020.0018.FCDF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM; QQKN
-FC66  ; [.1C45.0020.0019.FC66][.1CCA.0020.0019.FC66] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM; QQKN
-FC02  ; [.1C45.0020.001A.FC02][.1CCA.0020.001A.FC02] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM; QQKN
-FC67  ; [.1C45.0020.0019.FC67][.1CCD.0020.0019.FC67] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM; QQKN
-FC9B  ; [.1C45.0020.0017.FC9B][.1CD6.0020.0017.FC9B] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM; QQKN
-FCE0  ; [.1C45.0020.0018.FCE0][.1CD6.0020.0018.FCE0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM; QQKN
-FBED  ; [.1C45.0020.0019.FBED][.1CDB.0020.0019.FBED] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM; QQKN
-FBEC  ; [.1C45.0020.001A.FBEC][.1CDB.0020.001A.FBEC] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM; QQKN
-FBEF  ; [.1C45.0020.0019.FBEF][.1CDC.0020.0019.FBEF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM; QQKN
-FBEE  ; [.1C45.0020.001A.FBEE][.1CDC.0020.001A.FBEE] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM; QQKN
-FBF3  ; [.1C45.0020.0019.FBF3][.1CDF.0020.0019.FBF3] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM; QQKN
-FBF2  ; [.1C45.0020.001A.FBF2][.1CDF.0020.001A.FBF2] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM; QQKN
-FBF1  ; [.1C45.0020.0019.FBF1][.1CE0.0020.0019.FBF1] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM; QQKN
-FBF0  ; [.1C45.0020.001A.FBF0][.1CE0.0020.001A.FBF0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM; QQKN
-FBF5  ; [.1C45.0020.0019.FBF5][.1CE1.0020.0019.FBF5] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM; QQKN
-FBF4  ; [.1C45.0020.001A.FBF4][.1CE1.0020.001A.FBF4] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM; QQKN
-FBFB  ; [.1C45.0020.0017.FBFB][.1CE8.0020.0017.FBFB] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM; QQKN
-FBFA  ; [.1C45.0020.0019.FBFA][.1CE8.0020.0019.FBFA] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM; QQKN
-FC68  ; [.1C45.0020.0019.FC68][.1CE8.0020.0019.FC68] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM; QQKN
-FBF9  ; [.1C45.0020.001A.FBF9][.1CE8.0020.001A.FBF9] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC03  ; [.1C45.0020.001A.FC03][.1CE8.0020.001A.FC03] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC69  ; [.1C45.0020.0019.FC69][.1CE9.0020.0019.FC69] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM; QQKN
-FC04  ; [.1C45.0020.001A.FC04][.1CE9.0020.001A.FC04] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM; QQKN
-FBF8  ; [.1C45.0020.0017.FBF8][.1CED.0020.0017.FBF8] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM; QQKN
-FBF7  ; [.1C45.0020.0019.FBF7][.1CED.0020.0019.FBF7] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM; QQKN
-FBF6  ; [.1C45.0020.001A.FBF6][.1CED.0020.001A.FBF6] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM; QQKN
-0627  ; [.1C46.0020.0002.0627] # ARABIC LETTER ALEF
-FE8E  ; [.1C46.0020.0019.FE8E] # ARABIC LETTER ALEF FINAL FORM; QQK
-FE8D  ; [.1C46.0020.001A.FE8D] # ARABIC LETTER ALEF ISOLATED FORM; QQK
-FD3C  ; [.1C46.0020.0019.FD3C][.0000.00A2.0019.FD3C] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM; QQKN
-FD3D  ; [.1C46.0020.001A.FD3D][.0000.00A2.001A.FD3D] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM; QQKN
-0675  ; [.1C46.0020.0004.0675][.1C3B.0020.0004.0675] # ARABIC LETTER HIGH HAMZA ALEF; QQKN
-FDF3  ; [.1C46.0020.001A.FDF3][.1CB1.0020.001A.FDF3][.1C48.0020.001F.FDF3][.1C7A.0020.001F.FDF3] # ARABIC LIGATURE AKBAR ISOLATED FORM; QQKN
-FDF2  ; [.1C46.0020.001A.FDF2][.1CC4.0020.001A.FDF2][.1CC4.0020.001F.FDF2][.1CD6.0020.001F.FDF2] # ARABIC LIGATURE ALLAH ISOLATED FORM; QQKN
-066E  ; [.1C47.0020.0002.066E] # ARABIC LETTER DOTLESS BEH
-0628  ; [.1C48.0020.0002.0628] # ARABIC LETTER BEH
-FE91  ; [.1C48.0020.0017.FE91] # ARABIC LETTER BEH INITIAL FORM; QQK
-FE92  ; [.1C48.0020.0018.FE92] # ARABIC LETTER BEH MEDIAL FORM; QQK
-FE90  ; [.1C48.0020.0019.FE90] # ARABIC LETTER BEH FINAL FORM; QQK
-FE8F  ; [.1C48.0020.001A.FE8F] # ARABIC LETTER BEH ISOLATED FORM; QQK
-FC9C  ; [.1C48.0020.0017.FC9C][.1C5B.0020.0017.FC9C] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM; QQKN
-FC05  ; [.1C48.0020.001A.FC05][.1C5B.0020.001A.FC05] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM; QQKN
-FC9D  ; [.1C48.0020.0017.FC9D][.1C61.0020.0017.FC9D] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM; QQKN
-FC06  ; [.1C48.0020.001A.FC06][.1C61.0020.001A.FC06] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM; QQKN
-FDC2  ; [.1C48.0020.0019.FDC2][.1C61.0020.0019.FDC2][.1CE9.0020.001F.FDC2] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM; QQKN
-FC9E  ; [.1C48.0020.0017.FC9E][.1C62.0020.0017.FC9E] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM; QQKN
-FC07  ; [.1C48.0020.001A.FC07][.1C62.0020.001A.FC07] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM; QQKN
-FD9E  ; [.1C48.0020.0019.FD9E][.1C62.0020.0019.FD9E][.1CE9.0020.001F.FD9E] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM; QQKN
-FC6A  ; [.1C48.0020.0019.FC6A][.1C7A.0020.0019.FC6A] # ARABIC LIGATURE BEH WITH REH FINAL FORM; QQKN
-FC6B  ; [.1C48.0020.0019.FC6B][.1C7B.0020.0019.FC6B] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM; QQKN
-FC9F  ; [.1C48.0020.0017.FC9F][.1CCA.0020.0017.FC9F] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM; QQKN
-FCE1  ; [.1C48.0020.0018.FCE1][.1CCA.0020.0018.FCE1] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM; QQKN
-FC6C  ; [.1C48.0020.0019.FC6C][.1CCA.0020.0019.FC6C] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM; QQKN
-FC08  ; [.1C48.0020.001A.FC08][.1CCA.0020.001A.FC08] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM; QQKN
-FC6D  ; [.1C48.0020.0019.FC6D][.1CCD.0020.0019.FC6D] # ARABIC LIGATURE BEH WITH NOON FINAL FORM; QQKN
-FCA0  ; [.1C48.0020.0017.FCA0][.1CD6.0020.0017.FCA0] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM; QQKN
-FCE2  ; [.1C48.0020.0018.FCE2][.1CD6.0020.0018.FCE2] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM; QQKN
-FC6E  ; [.1C48.0020.0019.FC6E][.1CE8.0020.0019.FC6E] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC09  ; [.1C48.0020.001A.FC09][.1CE8.0020.001A.FC09] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC6F  ; [.1C48.0020.0019.FC6F][.1CE9.0020.0019.FC6F] # ARABIC LIGATURE BEH WITH YEH FINAL FORM; QQKN
-FC0A  ; [.1C48.0020.001A.FC0A][.1CE9.0020.001A.FC0A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM; QQKN
-067B  ; [.1C49.0020.0002.067B] # ARABIC LETTER BEEH
-FB54  ; [.1C49.0020.0017.FB54] # ARABIC LETTER BEEH INITIAL FORM; QQK
-FB55  ; [.1C49.0020.0018.FB55] # ARABIC LETTER BEEH MEDIAL FORM; QQK
-FB53  ; [.1C49.0020.0019.FB53] # ARABIC LETTER BEEH FINAL FORM; QQK
-FB52  ; [.1C49.0020.001A.FB52] # ARABIC LETTER BEEH ISOLATED FORM; QQK
-067E  ; [.1C4A.0020.0002.067E] # ARABIC LETTER PEH
-FB58  ; [.1C4A.0020.0017.FB58] # ARABIC LETTER PEH INITIAL FORM; QQK
-FB59  ; [.1C4A.0020.0018.FB59] # ARABIC LETTER PEH MEDIAL FORM; QQK
-FB57  ; [.1C4A.0020.0019.FB57] # ARABIC LETTER PEH FINAL FORM; QQK
-FB56  ; [.1C4A.0020.001A.FB56] # ARABIC LETTER PEH ISOLATED FORM; QQK
-0680  ; [.1C4B.0020.0002.0680] # ARABIC LETTER BEHEH
-FB5C  ; [.1C4B.0020.0017.FB5C] # ARABIC LETTER BEHEH INITIAL FORM; QQK
-FB5D  ; [.1C4B.0020.0018.FB5D] # ARABIC LETTER BEHEH MEDIAL FORM; QQK
-FB5B  ; [.1C4B.0020.0019.FB5B] # ARABIC LETTER BEHEH FINAL FORM; QQK
-FB5A  ; [.1C4B.0020.001A.FB5A] # ARABIC LETTER BEHEH ISOLATED FORM; QQK
-0750  ; [.1C4C.0020.0002.0750] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
-0751  ; [.1C4D.0020.0002.0751] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
-0752  ; [.1C4E.0020.0002.0752] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
-0753  ; [.1C4F.0020.0002.0753] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
-0754  ; [.1C50.0020.0002.0754] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
-0755  ; [.1C51.0020.0002.0755] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
-0756  ; [.1C52.0020.0002.0756] # ARABIC LETTER BEH WITH SMALL V
-0629  ; [.1C53.0020.0002.0629] # ARABIC LETTER TEH MARBUTA
-FE94  ; [.1C53.0020.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM; QQK
-FE93  ; [.1C53.0020.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM; QQK
-062A  ; [.1C54.0020.0002.062A] # ARABIC LETTER TEH
-FE97  ; [.1C54.0020.0017.FE97] # ARABIC LETTER TEH INITIAL FORM; QQK
-FE98  ; [.1C54.0020.0018.FE98] # ARABIC LETTER TEH MEDIAL FORM; QQK
-FE96  ; [.1C54.0020.0019.FE96] # ARABIC LETTER TEH FINAL FORM; QQK
-FE95  ; [.1C54.0020.001A.FE95] # ARABIC LETTER TEH ISOLATED FORM; QQK
-FCA1  ; [.1C54.0020.0017.FCA1][.1C5B.0020.0017.FCA1] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM; QQKN
-FC0B  ; [.1C54.0020.001A.FC0B][.1C5B.0020.001A.FC0B] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM; QQKN
-FD50  ; [.1C54.0020.0017.FD50][.1C5B.0020.0017.FD50][.1CCA.0020.001F.FD50] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDA0  ; [.1C54.0020.0019.FDA0][.1C5B.0020.0019.FDA0][.1CE8.0020.001F.FDA0] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD9F  ; [.1C54.0020.0019.FD9F][.1C5B.0020.0019.FD9F][.1CE9.0020.001F.FD9F] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCA2  ; [.1C54.0020.0017.FCA2][.1C61.0020.0017.FCA2] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM; QQKN
-FC0C  ; [.1C54.0020.001A.FC0C][.1C61.0020.001A.FC0C] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM; QQKN
-FD52  ; [.1C54.0020.0017.FD52][.1C61.0020.0017.FD52][.1C5B.0020.001F.FD52] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM; QQKN
-FD51  ; [.1C54.0020.0019.FD51][.1C61.0020.0019.FD51][.1C5B.0020.001F.FD51] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM; QQKN
-FD53  ; [.1C54.0020.0017.FD53][.1C61.0020.0017.FD53][.1CCA.0020.001F.FD53] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM; QQKN
-FCA3  ; [.1C54.0020.0017.FCA3][.1C62.0020.0017.FCA3] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM; QQKN
-FC0D  ; [.1C54.0020.001A.FC0D][.1C62.0020.001A.FC0D] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM; QQKN
-FD54  ; [.1C54.0020.0017.FD54][.1C62.0020.0017.FD54][.1CCA.0020.001F.FD54] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FDA2  ; [.1C54.0020.0019.FDA2][.1C62.0020.0019.FDA2][.1CE8.0020.001F.FDA2] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA1  ; [.1C54.0020.0019.FDA1][.1C62.0020.0019.FDA1][.1CE9.0020.001F.FDA1] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM; QQKN
-FC70  ; [.1C54.0020.0019.FC70][.1C7A.0020.0019.FC70] # ARABIC LIGATURE TEH WITH REH FINAL FORM; QQKN
-FC71  ; [.1C54.0020.0019.FC71][.1C7B.0020.0019.FC71] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM; QQKN
-FCA4  ; [.1C54.0020.0017.FCA4][.1CCA.0020.0017.FCA4] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM; QQKN
-FCE3  ; [.1C54.0020.0018.FCE3][.1CCA.0020.0018.FCE3] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM; QQKN
-FC72  ; [.1C54.0020.0019.FC72][.1CCA.0020.0019.FC72] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM; QQKN
-FC0E  ; [.1C54.0020.001A.FC0E][.1CCA.0020.001A.FC0E] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM; QQKN
-FD55  ; [.1C54.0020.0017.FD55][.1CCA.0020.0017.FD55][.1C5B.0020.001F.FD55] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD56  ; [.1C54.0020.0017.FD56][.1CCA.0020.0017.FD56][.1C61.0020.001F.FD56] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD57  ; [.1C54.0020.0017.FD57][.1CCA.0020.0017.FD57][.1C62.0020.001F.FD57] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM; QQKN
-FDA4  ; [.1C54.0020.0019.FDA4][.1CCA.0020.0019.FDA4][.1CE8.0020.001F.FDA4] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA3  ; [.1C54.0020.0019.FDA3][.1CCA.0020.0019.FDA3][.1CE9.0020.001F.FDA3] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC73  ; [.1C54.0020.0019.FC73][.1CCD.0020.0019.FC73] # ARABIC LIGATURE TEH WITH NOON FINAL FORM; QQKN
-FCA5  ; [.1C54.0020.0017.FCA5][.1CD6.0020.0017.FCA5] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM; QQKN
-FCE4  ; [.1C54.0020.0018.FCE4][.1CD6.0020.0018.FCE4] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM; QQKN
-FC74  ; [.1C54.0020.0019.FC74][.1CE8.0020.0019.FC74] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC0F  ; [.1C54.0020.001A.FC0F][.1CE8.0020.001A.FC0F] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC75  ; [.1C54.0020.0019.FC75][.1CE9.0020.0019.FC75] # ARABIC LIGATURE TEH WITH YEH FINAL FORM; QQKN
-FC10  ; [.1C54.0020.001A.FC10][.1CE9.0020.001A.FC10] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM; QQKN
-062B  ; [.1C55.0020.0002.062B] # ARABIC LETTER THEH
-FE9B  ; [.1C55.0020.0017.FE9B] # ARABIC LETTER THEH INITIAL FORM; QQK
-FE9C  ; [.1C55.0020.0018.FE9C] # ARABIC LETTER THEH MEDIAL FORM; QQK
-FE9A  ; [.1C55.0020.0019.FE9A] # ARABIC LETTER THEH FINAL FORM; QQK
-FE99  ; [.1C55.0020.001A.FE99] # ARABIC LETTER THEH ISOLATED FORM; QQK
-FC11  ; [.1C55.0020.001A.FC11][.1C5B.0020.001A.FC11] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM; QQKN
-FC76  ; [.1C55.0020.0019.FC76][.1C7A.0020.0019.FC76] # ARABIC LIGATURE THEH WITH REH FINAL FORM; QQKN
-FC77  ; [.1C55.0020.0019.FC77][.1C7B.0020.0019.FC77] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM; QQKN
-FCA6  ; [.1C55.0020.0017.FCA6][.1CCA.0020.0017.FCA6] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM; QQKN
-FCE5  ; [.1C55.0020.0018.FCE5][.1CCA.0020.0018.FCE5] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM; QQKN
-FC78  ; [.1C55.0020.0019.FC78][.1CCA.0020.0019.FC78] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM; QQKN
-FC12  ; [.1C55.0020.001A.FC12][.1CCA.0020.001A.FC12] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM; QQKN
-FC79  ; [.1C55.0020.0019.FC79][.1CCD.0020.0019.FC79] # ARABIC LIGATURE THEH WITH NOON FINAL FORM; QQKN
-FCE6  ; [.1C55.0020.0018.FCE6][.1CD6.0020.0018.FCE6] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM; QQKN
-FC7A  ; [.1C55.0020.0019.FC7A][.1CE8.0020.0019.FC7A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC13  ; [.1C55.0020.001A.FC13][.1CE8.0020.001A.FC13] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7B  ; [.1C55.0020.0019.FC7B][.1CE9.0020.0019.FC7B] # ARABIC LIGATURE THEH WITH YEH FINAL FORM; QQKN
-FC14  ; [.1C55.0020.001A.FC14][.1CE9.0020.001A.FC14] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM; QQKN
-0679  ; [.1C56.0020.0002.0679] # ARABIC LETTER TTEH
-FB68  ; [.1C56.0020.0017.FB68] # ARABIC LETTER TTEH INITIAL FORM; QQK
-FB69  ; [.1C56.0020.0018.FB69] # ARABIC LETTER TTEH MEDIAL FORM; QQK
-FB67  ; [.1C56.0020.0019.FB67] # ARABIC LETTER TTEH FINAL FORM; QQK
-FB66  ; [.1C56.0020.001A.FB66] # ARABIC LETTER TTEH ISOLATED FORM; QQK
-067A  ; [.1C57.0020.0002.067A] # ARABIC LETTER TTEHEH
-FB60  ; [.1C57.0020.0017.FB60] # ARABIC LETTER TTEHEH INITIAL FORM; QQK
-FB61  ; [.1C57.0020.0018.FB61] # ARABIC LETTER TTEHEH MEDIAL FORM; QQK
-FB5F  ; [.1C57.0020.0019.FB5F] # ARABIC LETTER TTEHEH FINAL FORM; QQK
-FB5E  ; [.1C57.0020.001A.FB5E] # ARABIC LETTER TTEHEH ISOLATED FORM; QQK
-067C  ; [.1C58.0020.0002.067C] # ARABIC LETTER TEH WITH RING
-067D  ; [.1C59.0020.0002.067D] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
-067F  ; [.1C5A.0020.0002.067F] # ARABIC LETTER TEHEH
-FB64  ; [.1C5A.0020.0017.FB64] # ARABIC LETTER TEHEH INITIAL FORM; QQK
-FB65  ; [.1C5A.0020.0018.FB65] # ARABIC LETTER TEHEH MEDIAL FORM; QQK
-FB63  ; [.1C5A.0020.0019.FB63] # ARABIC LETTER TEHEH FINAL FORM; QQK
-FB62  ; [.1C5A.0020.001A.FB62] # ARABIC LETTER TEHEH ISOLATED FORM; QQK
-062C  ; [.1C5B.0020.0002.062C] # ARABIC LETTER JEEM
-FE9F  ; [.1C5B.0020.0017.FE9F] # ARABIC LETTER JEEM INITIAL FORM; QQK
-FEA0  ; [.1C5B.0020.0018.FEA0] # ARABIC LETTER JEEM MEDIAL FORM; QQK
-FE9E  ; [.1C5B.0020.0019.FE9E] # ARABIC LETTER JEEM FINAL FORM; QQK
-FE9D  ; [.1C5B.0020.001A.FE9D] # ARABIC LETTER JEEM ISOLATED FORM; QQK
-FCA7  ; [.1C5B.0020.0017.FCA7][.1C61.0020.0017.FCA7] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM; QQKN
-FC15  ; [.1C5B.0020.001A.FC15][.1C61.0020.001A.FC15] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM; QQKN
-FDA6  ; [.1C5B.0020.0019.FDA6][.1C61.0020.0019.FDA6][.1CE8.0020.001F.FDA6] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDBE  ; [.1C5B.0020.0019.FDBE][.1C61.0020.0019.FDBE][.1CE9.0020.001F.FDBE] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM; QQKN
-FDFB  ; [.1C5B.0020.001A.FDFB][.1CC4.0020.001A.FDFB][*020A.0020.001F.FDFB][.1C5B.0020.001F.FDFB][.1CC4.0020.001F.FDFB][.1C46.0020.001F.FDFB][.1CC4.0020.001F.FDFB][.1CD6.0020.001F.FDFB] # ARABIC LIGATURE JALLAJALALOUHOU; QQKN
-FCA8  ; [.1C5B.0020.0017.FCA8][.1CCA.0020.0017.FCA8] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM; QQKN
-FC16  ; [.1C5B.0020.001A.FC16][.1CCA.0020.001A.FC16] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM; QQKN
-FD59  ; [.1C5B.0020.0017.FD59][.1CCA.0020.0017.FD59][.1C61.0020.001F.FD59] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD58  ; [.1C5B.0020.0019.FD58][.1CCA.0020.0019.FD58][.1C61.0020.001F.FD58] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM; QQKN
-FDA7  ; [.1C5B.0020.0019.FDA7][.1CCA.0020.0019.FDA7][.1CE8.0020.001F.FDA7] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDA5  ; [.1C5B.0020.0019.FDA5][.1CCA.0020.0019.FDA5][.1CE9.0020.001F.FDA5] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM; QQKN
-FD1D  ; [.1C5B.0020.0019.FD1D][.1CE8.0020.0019.FD1D] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD01  ; [.1C5B.0020.001A.FD01][.1CE8.0020.001A.FD01] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1E  ; [.1C5B.0020.0019.FD1E][.1CE9.0020.0019.FD1E] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM; QQKN
-FD02  ; [.1C5B.0020.001A.FD02][.1CE9.0020.001A.FD02] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM; QQKN
-0683  ; [.1C5C.0020.0002.0683] # ARABIC LETTER NYEH
-FB78  ; [.1C5C.0020.0017.FB78] # ARABIC LETTER NYEH INITIAL FORM; QQK
-FB79  ; [.1C5C.0020.0018.FB79] # ARABIC LETTER NYEH MEDIAL FORM; QQK
-FB77  ; [.1C5C.0020.0019.FB77] # ARABIC LETTER NYEH FINAL FORM; QQK
-FB76  ; [.1C5C.0020.001A.FB76] # ARABIC LETTER NYEH ISOLATED FORM; QQK
-0684  ; [.1C5D.0020.0002.0684] # ARABIC LETTER DYEH
-FB74  ; [.1C5D.0020.0017.FB74] # ARABIC LETTER DYEH INITIAL FORM; QQK
-FB75  ; [.1C5D.0020.0018.FB75] # ARABIC LETTER DYEH MEDIAL FORM; QQK
-FB73  ; [.1C5D.0020.0019.FB73] # ARABIC LETTER DYEH FINAL FORM; QQK
-FB72  ; [.1C5D.0020.001A.FB72] # ARABIC LETTER DYEH ISOLATED FORM; QQK
-0686  ; [.1C5E.0020.0002.0686] # ARABIC LETTER TCHEH
-FB7C  ; [.1C5E.0020.0017.FB7C] # ARABIC LETTER TCHEH INITIAL FORM; QQK
-FB7D  ; [.1C5E.0020.0018.FB7D] # ARABIC LETTER TCHEH MEDIAL FORM; QQK
-FB7B  ; [.1C5E.0020.0019.FB7B] # ARABIC LETTER TCHEH FINAL FORM; QQK
-FB7A  ; [.1C5E.0020.001A.FB7A] # ARABIC LETTER TCHEH ISOLATED FORM; QQK
-06BF  ; [.1C5F.0020.0002.06BF] # ARABIC LETTER TCHEH WITH DOT ABOVE
-0687  ; [.1C60.0020.0002.0687] # ARABIC LETTER TCHEHEH
-FB80  ; [.1C60.0020.0017.FB80] # ARABIC LETTER TCHEHEH INITIAL FORM; QQK
-FB81  ; [.1C60.0020.0018.FB81] # ARABIC LETTER TCHEHEH MEDIAL FORM; QQK
-FB7F  ; [.1C60.0020.0019.FB7F] # ARABIC LETTER TCHEHEH FINAL FORM; QQK
-FB7E  ; [.1C60.0020.001A.FB7E] # ARABIC LETTER TCHEHEH ISOLATED FORM; QQK
-062D  ; [.1C61.0020.0002.062D] # ARABIC LETTER HAH
-FEA3  ; [.1C61.0020.0017.FEA3] # ARABIC LETTER HAH INITIAL FORM; QQK
-FEA4  ; [.1C61.0020.0018.FEA4] # ARABIC LETTER HAH MEDIAL FORM; QQK
-FEA2  ; [.1C61.0020.0019.FEA2] # ARABIC LETTER HAH FINAL FORM; QQK
-FEA1  ; [.1C61.0020.001A.FEA1] # ARABIC LETTER HAH ISOLATED FORM; QQK
-FCA9  ; [.1C61.0020.0017.FCA9][.1C5B.0020.0017.FCA9] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM; QQKN
-FC17  ; [.1C61.0020.001A.FC17][.1C5B.0020.001A.FC17] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM; QQKN
-FDBF  ; [.1C61.0020.0019.FDBF][.1C5B.0020.0019.FDBF][.1CE9.0020.001F.FDBF] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCAA  ; [.1C61.0020.0017.FCAA][.1CCA.0020.0017.FCAA] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM; QQKN
-FC18  ; [.1C61.0020.001A.FC18][.1CCA.0020.001A.FC18] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM; QQKN
-FD5B  ; [.1C61.0020.0019.FD5B][.1CCA.0020.0019.FD5B][.1CE8.0020.001F.FD5B] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD5A  ; [.1C61.0020.0019.FD5A][.1CCA.0020.0019.FD5A][.1CE9.0020.001F.FD5A] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM; QQKN
-FD1B  ; [.1C61.0020.0019.FD1B][.1CE8.0020.0019.FD1B] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFF  ; [.1C61.0020.001A.FCFF][.1CE8.0020.001A.FCFF] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1C  ; [.1C61.0020.0019.FD1C][.1CE9.0020.0019.FD1C] # ARABIC LIGATURE HAH WITH YEH FINAL FORM; QQKN
-FD00  ; [.1C61.0020.001A.FD00][.1CE9.0020.001A.FD00] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM; QQKN
-062E  ; [.1C62.0020.0002.062E] # ARABIC LETTER KHAH
-FEA7  ; [.1C62.0020.0017.FEA7] # ARABIC LETTER KHAH INITIAL FORM; QQK
-FEA8  ; [.1C62.0020.0018.FEA8] # ARABIC LETTER KHAH MEDIAL FORM; QQK
-FEA6  ; [.1C62.0020.0019.FEA6] # ARABIC LETTER KHAH FINAL FORM; QQK
-FEA5  ; [.1C62.0020.001A.FEA5] # ARABIC LETTER KHAH ISOLATED FORM; QQK
-FCAB  ; [.1C62.0020.0017.FCAB][.1C5B.0020.0017.FCAB] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM; QQKN
-FC19  ; [.1C62.0020.001A.FC19][.1C5B.0020.001A.FC19] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM; QQKN
-FC1A  ; [.1C62.0020.001A.FC1A][.1C61.0020.001A.FC1A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM; QQKN
-FCAC  ; [.1C62.0020.0017.FCAC][.1CCA.0020.0017.FCAC] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM; QQKN
-FC1B  ; [.1C62.0020.001A.FC1B][.1CCA.0020.001A.FC1B] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM; QQKN
-FD1F  ; [.1C62.0020.0019.FD1F][.1CE8.0020.0019.FD1F] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FD03  ; [.1C62.0020.001A.FD03][.1CE8.0020.001A.FD03] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD20  ; [.1C62.0020.0019.FD20][.1CE9.0020.0019.FD20] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM; QQKN
-FD04  ; [.1C62.0020.001A.FD04][.1CE9.0020.001A.FD04] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM; QQKN
-0681  ; [.1C63.0020.0002.0681] # ARABIC LETTER HAH WITH HAMZA ABOVE
-0682  ; [.1C64.0020.0002.0682] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
-0685  ; [.1C65.0020.0002.0685] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
-0757  ; [.1C66.0020.0002.0757] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
-0758  ; [.1C67.0020.0002.0758] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
-076E  ; [.1C68.0020.0002.076E] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
-076F  ; [.1C69.0020.0002.076F] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0772  ; [.1C6A.0020.0002.0772] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
-077C  ; [.1C6B.0020.0002.077C] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-062F  ; [.1C6C.0020.0002.062F] # ARABIC LETTER DAL
-FEAA  ; [.1C6C.0020.0019.FEAA] # ARABIC LETTER DAL FINAL FORM; QQK
-FEA9  ; [.1C6C.0020.001A.FEA9] # ARABIC LETTER DAL ISOLATED FORM; QQK
-0630  ; [.1C6D.0020.0002.0630] # ARABIC LETTER THAL
-FEAC  ; [.1C6D.0020.0019.FEAC] # ARABIC LETTER THAL FINAL FORM; QQK
-FEAB  ; [.1C6D.0020.001A.FEAB] # ARABIC LETTER THAL ISOLATED FORM; QQK
-FC5B  ; [.1C6D.0020.001A.FC5B][.0000.00BD.001A.FC5B] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-0688  ; [.1C6E.0020.0002.0688] # ARABIC LETTER DDAL
-FB89  ; [.1C6E.0020.0019.FB89] # ARABIC LETTER DDAL FINAL FORM; QQK
-FB88  ; [.1C6E.0020.001A.FB88] # ARABIC LETTER DDAL ISOLATED FORM; QQK
-0689  ; [.1C6F.0020.0002.0689] # ARABIC LETTER DAL WITH RING
-068A  ; [.1C70.0020.0002.068A] # ARABIC LETTER DAL WITH DOT BELOW
-068B  ; [.1C71.0020.0002.068B] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
-068C  ; [.1C72.0020.0002.068C] # ARABIC LETTER DAHAL
-FB85  ; [.1C72.0020.0019.FB85] # ARABIC LETTER DAHAL FINAL FORM; QQK
-FB84  ; [.1C72.0020.001A.FB84] # ARABIC LETTER DAHAL ISOLATED FORM; QQK
-068D  ; [.1C73.0020.0002.068D] # ARABIC LETTER DDAHAL
-FB83  ; [.1C73.0020.0019.FB83] # ARABIC LETTER DDAHAL FINAL FORM; QQK
-FB82  ; [.1C73.0020.001A.FB82] # ARABIC LETTER DDAHAL ISOLATED FORM; QQK
-068E  ; [.1C74.0020.0002.068E] # ARABIC LETTER DUL
-FB87  ; [.1C74.0020.0019.FB87] # ARABIC LETTER DUL FINAL FORM; QQK
-FB86  ; [.1C74.0020.001A.FB86] # ARABIC LETTER DUL ISOLATED FORM; QQK
-068F  ; [.1C75.0020.0002.068F] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
-0690  ; [.1C76.0020.0002.0690] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
-06EE  ; [.1C77.0020.0002.06EE] # ARABIC LETTER DAL WITH INVERTED V
-0759  ; [.1C78.0020.0002.0759] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
-075A  ; [.1C79.0020.0002.075A] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
-0631  ; [.1C7A.0020.0002.0631] # ARABIC LETTER REH
-FEAE  ; [.1C7A.0020.0019.FEAE] # ARABIC LETTER REH FINAL FORM; QQK
-FEAD  ; [.1C7A.0020.001A.FEAD] # ARABIC LETTER REH ISOLATED FORM; QQK
-FC5C  ; [.1C7A.0020.001A.FC5C][.0000.00BD.001A.FC5C] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-FDF6  ; [.1C7A.0020.001A.FDF6][.1C8A.0020.001A.FDF6][.1CDC.0020.001F.FDF6][.1CC4.0020.001F.FDF6] # ARABIC LIGATURE RASOUL ISOLATED FORM; QQKN
-FDFC  ; [.1C7A.0020.001A.FDFC][.1CEA.0020.001A.FDFC][.1C46.0020.001F.FDFC][.1CC4.0020.001F.FDFC] # RIAL SIGN; QQKN
-0632  ; [.1C7B.0020.0002.0632] # ARABIC LETTER ZAIN
-FEB0  ; [.1C7B.0020.0019.FEB0] # ARABIC LETTER ZAIN FINAL FORM; QQK
-FEAF  ; [.1C7B.0020.001A.FEAF] # ARABIC LETTER ZAIN ISOLATED FORM; QQK
-0691  ; [.1C7C.0020.0002.0691] # ARABIC LETTER RREH
-FB8D  ; [.1C7C.0020.0019.FB8D] # ARABIC LETTER RREH FINAL FORM; QQK
-FB8C  ; [.1C7C.0020.001A.FB8C] # ARABIC LETTER RREH ISOLATED FORM; QQK
-0692  ; [.1C7D.0020.0002.0692] # ARABIC LETTER REH WITH SMALL V
-0693  ; [.1C7E.0020.0002.0693] # ARABIC LETTER REH WITH RING
-0694  ; [.1C7F.0020.0002.0694] # ARABIC LETTER REH WITH DOT BELOW
-0695  ; [.1C80.0020.0002.0695] # ARABIC LETTER REH WITH SMALL V BELOW
-0696  ; [.1C81.0020.0002.0696] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
-0697  ; [.1C82.0020.0002.0697] # ARABIC LETTER REH WITH TWO DOTS ABOVE
-0698  ; [.1C83.0020.0002.0698] # ARABIC LETTER JEH
-FB8B  ; [.1C83.0020.0019.FB8B] # ARABIC LETTER JEH FINAL FORM; QQK
-FB8A  ; [.1C83.0020.001A.FB8A] # ARABIC LETTER JEH ISOLATED FORM; QQK
-0699  ; [.1C84.0020.0002.0699] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
-06EF  ; [.1C85.0020.0002.06EF] # ARABIC LETTER REH WITH INVERTED V
-075B  ; [.1C86.0020.0002.075B] # ARABIC LETTER REH WITH STROKE
-076B  ; [.1C87.0020.0002.076B] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
-076C  ; [.1C88.0020.0002.076C] # ARABIC LETTER REH WITH HAMZA ABOVE
-0771  ; [.1C89.0020.0002.0771] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-0633  ; [.1C8A.0020.0002.0633] # ARABIC LETTER SEEN
-FEB3  ; [.1C8A.0020.0017.FEB3] # ARABIC LETTER SEEN INITIAL FORM; QQK
-FEB4  ; [.1C8A.0020.0018.FEB4] # ARABIC LETTER SEEN MEDIAL FORM; QQK
-FEB2  ; [.1C8A.0020.0019.FEB2] # ARABIC LETTER SEEN FINAL FORM; QQK
-FEB1  ; [.1C8A.0020.001A.FEB1] # ARABIC LETTER SEEN ISOLATED FORM; QQK
-FCAD  ; [.1C8A.0020.0017.FCAD][.1C5B.0020.0017.FCAD] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM; QQKN
-FD34  ; [.1C8A.0020.0018.FD34][.1C5B.0020.0018.FD34] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM; QQKN
-FC1C  ; [.1C8A.0020.001A.FC1C][.1C5B.0020.001A.FC1C] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM; QQKN
-FD5D  ; [.1C8A.0020.0017.FD5D][.1C5B.0020.0017.FD5D][.1C61.0020.001F.FD5D] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM; QQKN
-FD5E  ; [.1C8A.0020.0019.FD5E][.1C5B.0020.0019.FD5E][.1CE8.0020.001F.FD5E] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FCAE  ; [.1C8A.0020.0017.FCAE][.1C61.0020.0017.FCAE] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM; QQKN
-FD35  ; [.1C8A.0020.0018.FD35][.1C61.0020.0018.FD35] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM; QQKN
-FC1D  ; [.1C8A.0020.001A.FC1D][.1C61.0020.001A.FC1D] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM; QQKN
-FD5C  ; [.1C8A.0020.0017.FD5C][.1C61.0020.0017.FD5C][.1C5B.0020.001F.FD5C] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM; QQKN
-FCAF  ; [.1C8A.0020.0017.FCAF][.1C62.0020.0017.FCAF] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM; QQKN
-FD36  ; [.1C8A.0020.0018.FD36][.1C62.0020.0018.FD36] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM; QQKN
-FC1E  ; [.1C8A.0020.001A.FC1E][.1C62.0020.001A.FC1E] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM; QQKN
-FDA8  ; [.1C8A.0020.0019.FDA8][.1C62.0020.0019.FDA8][.1CE8.0020.001F.FDA8] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDC6  ; [.1C8A.0020.0019.FDC6][.1C62.0020.0019.FDC6][.1CE9.0020.001F.FDC6] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM; QQKN
-FD2A  ; [.1C8A.0020.0019.FD2A][.1C7A.0020.0019.FD2A] # ARABIC LIGATURE SEEN WITH REH FINAL FORM; QQKN
-FD0E  ; [.1C8A.0020.001A.FD0E][.1C7A.0020.001A.FD0E] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM; QQKN
-FCB0  ; [.1C8A.0020.0017.FCB0][.1CCA.0020.0017.FCB0] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM; QQKN
-FCE7  ; [.1C8A.0020.0018.FCE7][.1CCA.0020.0018.FCE7] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM; QQKN
-FC1F  ; [.1C8A.0020.001A.FC1F][.1CCA.0020.001A.FC1F] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM; QQKN
-FD61  ; [.1C8A.0020.0017.FD61][.1CCA.0020.0017.FD61][.1C5B.0020.001F.FD61] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD60  ; [.1C8A.0020.0017.FD60][.1CCA.0020.0017.FD60][.1C61.0020.001F.FD60] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD5F  ; [.1C8A.0020.0019.FD5F][.1CCA.0020.0019.FD5F][.1C61.0020.001F.FD5F] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM; QQKN
-FD63  ; [.1C8A.0020.0017.FD63][.1CCA.0020.0017.FD63][.1CCA.0020.001F.FD63] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD62  ; [.1C8A.0020.0019.FD62][.1CCA.0020.0019.FD62][.1CCA.0020.001F.FD62] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD31  ; [.1C8A.0020.0017.FD31][.1CD6.0020.0017.FD31] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM; QQKN
-FCE8  ; [.1C8A.0020.0018.FCE8][.1CD6.0020.0018.FCE8] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM; QQKN
-FD17  ; [.1C8A.0020.0019.FD17][.1CE8.0020.0019.FD17] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFB  ; [.1C8A.0020.001A.FCFB][.1CE8.0020.001A.FCFB] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD18  ; [.1C8A.0020.0019.FD18][.1CE9.0020.0019.FD18] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM; QQKN
-FCFC  ; [.1C8A.0020.001A.FCFC][.1CE9.0020.001A.FCFC] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM; QQKN
-0634  ; [.1C8B.0020.0002.0634] # ARABIC LETTER SHEEN
-FEB7  ; [.1C8B.0020.0017.FEB7] # ARABIC LETTER SHEEN INITIAL FORM; QQK
-FEB8  ; [.1C8B.0020.0018.FEB8] # ARABIC LETTER SHEEN MEDIAL FORM; QQK
-FEB6  ; [.1C8B.0020.0019.FEB6] # ARABIC LETTER SHEEN FINAL FORM; QQK
-FEB5  ; [.1C8B.0020.001A.FEB5] # ARABIC LETTER SHEEN ISOLATED FORM; QQK
-FD2D  ; [.1C8B.0020.0017.FD2D][.1C5B.0020.0017.FD2D] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM; QQKN
-FD37  ; [.1C8B.0020.0018.FD37][.1C5B.0020.0018.FD37] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM; QQKN
-FD25  ; [.1C8B.0020.0019.FD25][.1C5B.0020.0019.FD25] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM; QQKN
-FD09  ; [.1C8B.0020.001A.FD09][.1C5B.0020.001A.FD09] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM; QQKN
-FD69  ; [.1C8B.0020.0019.FD69][.1C5B.0020.0019.FD69][.1CE9.0020.001F.FD69] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM; QQKN
-FD2E  ; [.1C8B.0020.0017.FD2E][.1C61.0020.0017.FD2E] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM; QQKN
-FD38  ; [.1C8B.0020.0018.FD38][.1C61.0020.0018.FD38] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM; QQKN
-FD26  ; [.1C8B.0020.0019.FD26][.1C61.0020.0019.FD26] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM; QQKN
-FD0A  ; [.1C8B.0020.001A.FD0A][.1C61.0020.001A.FD0A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM; QQKN
-FD68  ; [.1C8B.0020.0017.FD68][.1C61.0020.0017.FD68][.1CCA.0020.001F.FD68] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD67  ; [.1C8B.0020.0019.FD67][.1C61.0020.0019.FD67][.1CCA.0020.001F.FD67] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM; QQKN
-FDAA  ; [.1C8B.0020.0019.FDAA][.1C61.0020.0019.FDAA][.1CE9.0020.001F.FDAA] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM; QQKN
-FD2F  ; [.1C8B.0020.0017.FD2F][.1C62.0020.0017.FD2F] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM; QQKN
-FD39  ; [.1C8B.0020.0018.FD39][.1C62.0020.0018.FD39] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM; QQKN
-FD27  ; [.1C8B.0020.0019.FD27][.1C62.0020.0019.FD27] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM; QQKN
-FD0B  ; [.1C8B.0020.001A.FD0B][.1C62.0020.001A.FD0B] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM; QQKN
-FD29  ; [.1C8B.0020.0019.FD29][.1C7A.0020.0019.FD29] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM; QQKN
-FD0D  ; [.1C8B.0020.001A.FD0D][.1C7A.0020.001A.FD0D] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM; QQKN
-FD30  ; [.1C8B.0020.0017.FD30][.1CCA.0020.0017.FD30] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM; QQKN
-FCE9  ; [.1C8B.0020.0018.FCE9][.1CCA.0020.0018.FCE9] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM; QQKN
-FD28  ; [.1C8B.0020.0019.FD28][.1CCA.0020.0019.FD28] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM; QQKN
-FD0C  ; [.1C8B.0020.001A.FD0C][.1CCA.0020.001A.FD0C] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM; QQKN
-FD6B  ; [.1C8B.0020.0017.FD6B][.1CCA.0020.0017.FD6B][.1C62.0020.001F.FD6B] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM; QQKN
-FD6A  ; [.1C8B.0020.0019.FD6A][.1CCA.0020.0019.FD6A][.1C62.0020.001F.FD6A] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM; QQKN
-FD6D  ; [.1C8B.0020.0017.FD6D][.1CCA.0020.0017.FD6D][.1CCA.0020.001F.FD6D] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD6C  ; [.1C8B.0020.0019.FD6C][.1CCA.0020.0019.FD6C][.1CCA.0020.001F.FD6C] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD32  ; [.1C8B.0020.0017.FD32][.1CD6.0020.0017.FD32] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM; QQKN
-FCEA  ; [.1C8B.0020.0018.FCEA][.1CD6.0020.0018.FCEA] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM; QQKN
-FD19  ; [.1C8B.0020.0019.FD19][.1CE8.0020.0019.FD19] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCFD  ; [.1C8B.0020.001A.FCFD][.1CE8.0020.001A.FCFD] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD1A  ; [.1C8B.0020.0019.FD1A][.1CE9.0020.0019.FD1A] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM; QQKN
-FCFE  ; [.1C8B.0020.001A.FCFE][.1CE9.0020.001A.FCFE] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM; QQKN
-069A  ; [.1C8C.0020.0002.069A] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
-069B  ; [.1C8D.0020.0002.069B] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
-069C  ; [.1C8E.0020.0002.069C] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
-06FA  ; [.1C8F.0020.0002.06FA] # ARABIC LETTER SHEEN WITH DOT BELOW
-075C  ; [.1C90.0020.0002.075C] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
-076D  ; [.1C91.0020.0002.076D] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
-0770  ; [.1C92.0020.0002.0770] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
-077D  ; [.1C93.0020.0002.077D] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
-077E  ; [.1C94.0020.0002.077E] # ARABIC LETTER SEEN WITH INVERTED V
-0635  ; [.1C95.0020.0002.0635] # ARABIC LETTER SAD
-FEBB  ; [.1C95.0020.0017.FEBB] # ARABIC LETTER SAD INITIAL FORM; QQK
-FEBC  ; [.1C95.0020.0018.FEBC] # ARABIC LETTER SAD MEDIAL FORM; QQK
-FEBA  ; [.1C95.0020.0019.FEBA] # ARABIC LETTER SAD FINAL FORM; QQK
-FEB9  ; [.1C95.0020.001A.FEB9] # ARABIC LETTER SAD ISOLATED FORM; QQK
-FCB1  ; [.1C95.0020.0017.FCB1][.1C61.0020.0017.FCB1] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM; QQKN
-FC20  ; [.1C95.0020.001A.FC20][.1C61.0020.001A.FC20] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM; QQKN
-FD65  ; [.1C95.0020.0017.FD65][.1C61.0020.0017.FD65][.1C61.0020.001F.FD65] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM; QQKN
-FD64  ; [.1C95.0020.0019.FD64][.1C61.0020.0019.FD64][.1C61.0020.001F.FD64] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM; QQKN
-FDA9  ; [.1C95.0020.0019.FDA9][.1C61.0020.0019.FDA9][.1CE9.0020.001F.FDA9] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM; QQKN
-FCB2  ; [.1C95.0020.0017.FCB2][.1C62.0020.0017.FCB2] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM; QQKN
-FD2B  ; [.1C95.0020.0019.FD2B][.1C7A.0020.0019.FD2B] # ARABIC LIGATURE SAD WITH REH FINAL FORM; QQKN
-FD0F  ; [.1C95.0020.001A.FD0F][.1C7A.0020.001A.FD0F] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM; QQKN
-FDF5  ; [.1C95.0020.001A.FDF5][.1CC4.0020.001A.FDF5][.1C9D.0020.001F.FDF5][.1CCA.0020.001F.FDF5] # ARABIC LIGATURE SALAM ISOLATED FORM; QQKN
-FDF9  ; [.1C95.0020.001A.FDF9][.1CC4.0020.001A.FDF9][.1CE8.0020.001F.FDF9] # ARABIC LIGATURE SALLA ISOLATED FORM; QQKN
-FDFA  ; [.1C95.0020.001A.FDFA][.1CC4.0020.001A.FDFA][.1CE8.0020.001F.FDFA][*020A.0020.001F.FDFA][.1C46.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CD6.0020.001F.FDFA][*020A.0020.001F.FDFA][.1C9D.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CE9.0020.001F.FDFA][.1CD6.0020.001F.FDFA][*020A.0020.001F.FDFA][.1CDC.0020.001F.FDFA][.1C8A.0020.001F.FDFA][.1CC4.0020.001F.FDFA][.1CCA.0020.001F.FDFA] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM; QQKN
-FDF0  ; [.1C95.0020.001A.FDF0][.1CC4.0020.001A.FDF0][.1CF6.0020.001F.FDF0] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM; QQKN
-FCB3  ; [.1C95.0020.0017.FCB3][.1CCA.0020.0017.FCB3] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM; QQKN
-FC21  ; [.1C95.0020.001A.FC21][.1CCA.0020.001A.FC21] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM; QQKN
-FDC5  ; [.1C95.0020.0017.FDC5][.1CCA.0020.0017.FDC5][.1CCA.0020.001F.FDC5] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD66  ; [.1C95.0020.0019.FD66][.1CCA.0020.0019.FD66][.1CCA.0020.001F.FD66] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD21  ; [.1C95.0020.0019.FD21][.1CE8.0020.0019.FD21] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM; QQKN
-FD05  ; [.1C95.0020.001A.FD05][.1CE8.0020.001A.FD05] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD22  ; [.1C95.0020.0019.FD22][.1CE9.0020.0019.FD22] # ARABIC LIGATURE SAD WITH YEH FINAL FORM; QQKN
-FD06  ; [.1C95.0020.001A.FD06][.1CE9.0020.001A.FD06] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM; QQKN
-0636  ; [.1C96.0020.0002.0636] # ARABIC LETTER DAD
-FEBF  ; [.1C96.0020.0017.FEBF] # ARABIC LETTER DAD INITIAL FORM; QQK
-FEC0  ; [.1C96.0020.0018.FEC0] # ARABIC LETTER DAD MEDIAL FORM; QQK
-FEBE  ; [.1C96.0020.0019.FEBE] # ARABIC LETTER DAD FINAL FORM; QQK
-FEBD  ; [.1C96.0020.001A.FEBD] # ARABIC LETTER DAD ISOLATED FORM; QQK
-FCB4  ; [.1C96.0020.0017.FCB4][.1C5B.0020.0017.FCB4] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM; QQKN
-FC22  ; [.1C96.0020.001A.FC22][.1C5B.0020.001A.FC22] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM; QQKN
-FCB5  ; [.1C96.0020.0017.FCB5][.1C61.0020.0017.FCB5] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM; QQKN
-FC23  ; [.1C96.0020.001A.FC23][.1C61.0020.001A.FC23] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM; QQKN
-FD6E  ; [.1C96.0020.0019.FD6E][.1C61.0020.0019.FD6E][.1CE8.0020.001F.FD6E] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDAB  ; [.1C96.0020.0019.FDAB][.1C61.0020.0019.FDAB][.1CE9.0020.001F.FDAB] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM; QQKN
-FCB6  ; [.1C96.0020.0017.FCB6][.1C62.0020.0017.FCB6] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM; QQKN
-FC24  ; [.1C96.0020.001A.FC24][.1C62.0020.001A.FC24] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM; QQKN
-FD70  ; [.1C96.0020.0017.FD70][.1C62.0020.0017.FD70][.1CCA.0020.001F.FD70] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD6F  ; [.1C96.0020.0019.FD6F][.1C62.0020.0019.FD6F][.1CCA.0020.001F.FD6F] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM; QQKN
-FD2C  ; [.1C96.0020.0019.FD2C][.1C7A.0020.0019.FD2C] # ARABIC LIGATURE DAD WITH REH FINAL FORM; QQKN
-FD10  ; [.1C96.0020.001A.FD10][.1C7A.0020.001A.FD10] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM; QQKN
-FCB7  ; [.1C96.0020.0017.FCB7][.1CCA.0020.0017.FCB7] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM; QQKN
-FC25  ; [.1C96.0020.001A.FC25][.1CCA.0020.001A.FC25] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM; QQKN
-FD23  ; [.1C96.0020.0019.FD23][.1CE8.0020.0019.FD23] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM; QQKN
-FD07  ; [.1C96.0020.001A.FD07][.1CE8.0020.001A.FD07] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD24  ; [.1C96.0020.0019.FD24][.1CE9.0020.0019.FD24] # ARABIC LIGATURE DAD WITH YEH FINAL FORM; QQKN
-FD08  ; [.1C96.0020.001A.FD08][.1CE9.0020.001A.FD08] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM; QQKN
-069D  ; [.1C97.0020.0002.069D] # ARABIC LETTER SAD WITH TWO DOTS BELOW
-069E  ; [.1C98.0020.0002.069E] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
-06FB  ; [.1C99.0020.0002.06FB] # ARABIC LETTER DAD WITH DOT BELOW
-0637  ; [.1C9A.0020.0002.0637] # ARABIC LETTER TAH
-FEC3  ; [.1C9A.0020.0017.FEC3] # ARABIC LETTER TAH INITIAL FORM; QQK
-FEC4  ; [.1C9A.0020.0018.FEC4] # ARABIC LETTER TAH MEDIAL FORM; QQK
-FEC2  ; [.1C9A.0020.0019.FEC2] # ARABIC LETTER TAH FINAL FORM; QQK
-FEC1  ; [.1C9A.0020.001A.FEC1] # ARABIC LETTER TAH ISOLATED FORM; QQK
-FCB8  ; [.1C9A.0020.0017.FCB8][.1C61.0020.0017.FCB8] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM; QQKN
-FC26  ; [.1C9A.0020.001A.FC26][.1C61.0020.001A.FC26] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM; QQKN
-FD33  ; [.1C9A.0020.0017.FD33][.1CCA.0020.0017.FD33] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM; QQKN
-FD3A  ; [.1C9A.0020.0018.FD3A][.1CCA.0020.0018.FD3A] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM; QQKN
-FC27  ; [.1C9A.0020.001A.FC27][.1CCA.0020.001A.FC27] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM; QQKN
-FD72  ; [.1C9A.0020.0017.FD72][.1CCA.0020.0017.FD72][.1C61.0020.001F.FD72] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD71  ; [.1C9A.0020.0019.FD71][.1CCA.0020.0019.FD71][.1C61.0020.001F.FD71] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM; QQKN
-FD73  ; [.1C9A.0020.0017.FD73][.1CCA.0020.0017.FD73][.1CCA.0020.001F.FD73] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD74  ; [.1C9A.0020.0019.FD74][.1CCA.0020.0019.FD74][.1CE9.0020.001F.FD74] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM; QQKN
-FD11  ; [.1C9A.0020.0019.FD11][.1CE8.0020.0019.FD11] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF5  ; [.1C9A.0020.001A.FCF5][.1CE8.0020.001A.FCF5] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD12  ; [.1C9A.0020.0019.FD12][.1CE9.0020.0019.FD12] # ARABIC LIGATURE TAH WITH YEH FINAL FORM; QQKN
-FCF6  ; [.1C9A.0020.001A.FCF6][.1CE9.0020.001A.FCF6] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM; QQKN
-0638  ; [.1C9B.0020.0002.0638] # ARABIC LETTER ZAH
-FEC7  ; [.1C9B.0020.0017.FEC7] # ARABIC LETTER ZAH INITIAL FORM; QQK
-FEC8  ; [.1C9B.0020.0018.FEC8] # ARABIC LETTER ZAH MEDIAL FORM; QQK
-FEC6  ; [.1C9B.0020.0019.FEC6] # ARABIC LETTER ZAH FINAL FORM; QQK
-FEC5  ; [.1C9B.0020.001A.FEC5] # ARABIC LETTER ZAH ISOLATED FORM; QQK
-FCB9  ; [.1C9B.0020.0017.FCB9][.1CCA.0020.0017.FCB9] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM; QQKN
-FD3B  ; [.1C9B.0020.0018.FD3B][.1CCA.0020.0018.FD3B] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM; QQKN
-FC28  ; [.1C9B.0020.001A.FC28][.1CCA.0020.001A.FC28] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM; QQKN
-069F  ; [.1C9C.0020.0002.069F] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
-0639  ; [.1C9D.0020.0002.0639] # ARABIC LETTER AIN
-FECB  ; [.1C9D.0020.0017.FECB] # ARABIC LETTER AIN INITIAL FORM; QQK
-FECC  ; [.1C9D.0020.0018.FECC] # ARABIC LETTER AIN MEDIAL FORM; QQK
-FECA  ; [.1C9D.0020.0019.FECA] # ARABIC LETTER AIN FINAL FORM; QQK
-FEC9  ; [.1C9D.0020.001A.FEC9] # ARABIC LETTER AIN ISOLATED FORM; QQK
-FCBA  ; [.1C9D.0020.0017.FCBA][.1C5B.0020.0017.FCBA] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM; QQKN
-FC29  ; [.1C9D.0020.001A.FC29][.1C5B.0020.001A.FC29] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM; QQKN
-FDC4  ; [.1C9D.0020.0017.FDC4][.1C5B.0020.0017.FDC4][.1CCA.0020.001F.FDC4] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FD75  ; [.1C9D.0020.0019.FD75][.1C5B.0020.0019.FD75][.1CCA.0020.001F.FD75] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM; QQKN
-FDF7  ; [.1C9D.0020.001A.FDF7][.1CC4.0020.001A.FDF7][.1CE9.0020.001F.FDF7][.1CD6.0020.001F.FDF7] # ARABIC LIGATURE ALAYHE ISOLATED FORM; QQKN
-FCBB  ; [.1C9D.0020.0017.FCBB][.1CCA.0020.0017.FCBB] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM; QQKN
-FC2A  ; [.1C9D.0020.001A.FC2A][.1CCA.0020.001A.FC2A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM; QQKN
-FD77  ; [.1C9D.0020.0017.FD77][.1CCA.0020.0017.FD77][.1CCA.0020.001F.FD77] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD76  ; [.1C9D.0020.0019.FD76][.1CCA.0020.0019.FD76][.1CCA.0020.001F.FD76] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD78  ; [.1C9D.0020.0019.FD78][.1CCA.0020.0019.FD78][.1CE8.0020.001F.FD78] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDB6  ; [.1C9D.0020.0019.FDB6][.1CCA.0020.0019.FDB6][.1CE9.0020.001F.FDB6] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM; QQKN
-FD13  ; [.1C9D.0020.0019.FD13][.1CE8.0020.0019.FD13] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF7  ; [.1C9D.0020.001A.FCF7][.1CE8.0020.001A.FCF7] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD14  ; [.1C9D.0020.0019.FD14][.1CE9.0020.0019.FD14] # ARABIC LIGATURE AIN WITH YEH FINAL FORM; QQKN
-FCF8  ; [.1C9D.0020.001A.FCF8][.1CE9.0020.001A.FCF8] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM; QQKN
-063A  ; [.1C9E.0020.0002.063A] # ARABIC LETTER GHAIN
-FECF  ; [.1C9E.0020.0017.FECF] # ARABIC LETTER GHAIN INITIAL FORM; QQK
-FED0  ; [.1C9E.0020.0018.FED0] # ARABIC LETTER GHAIN MEDIAL FORM; QQK
-FECE  ; [.1C9E.0020.0019.FECE] # ARABIC LETTER GHAIN FINAL FORM; QQK
-FECD  ; [.1C9E.0020.001A.FECD] # ARABIC LETTER GHAIN ISOLATED FORM; QQK
-FCBC  ; [.1C9E.0020.0017.FCBC][.1C5B.0020.0017.FCBC] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM; QQKN
-FC2B  ; [.1C9E.0020.001A.FC2B][.1C5B.0020.001A.FC2B] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM; QQKN
-FCBD  ; [.1C9E.0020.0017.FCBD][.1CCA.0020.0017.FCBD] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM; QQKN
-FC2C  ; [.1C9E.0020.001A.FC2C][.1CCA.0020.001A.FC2C] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM; QQKN
-FD79  ; [.1C9E.0020.0019.FD79][.1CCA.0020.0019.FD79][.1CCA.0020.001F.FD79] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM; QQKN
-FD7B  ; [.1C9E.0020.0019.FD7B][.1CCA.0020.0019.FD7B][.1CE8.0020.001F.FD7B] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD7A  ; [.1C9E.0020.0019.FD7A][.1CCA.0020.0019.FD7A][.1CE9.0020.001F.FD7A] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM; QQKN
-FD15  ; [.1C9E.0020.0019.FD15][.1CE8.0020.0019.FD15] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM; QQKN
-FCF9  ; [.1C9E.0020.001A.FCF9][.1CE8.0020.001A.FCF9] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FD16  ; [.1C9E.0020.0019.FD16][.1CE9.0020.0019.FD16] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM; QQKN
-FCFA  ; [.1C9E.0020.001A.FCFA][.1CE9.0020.001A.FCFA] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM; QQKN
-06A0  ; [.1C9F.0020.0002.06A0] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
-06FC  ; [.1CA0.0020.0002.06FC] # ARABIC LETTER GHAIN WITH DOT BELOW
-075D  ; [.1CA1.0020.0002.075D] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
-075E  ; [.1CA2.0020.0002.075E] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
-075F  ; [.1CA3.0020.0002.075F] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
-0641  ; [.1CA4.0020.0002.0641] # ARABIC LETTER FEH
-FED3  ; [.1CA4.0020.0017.FED3] # ARABIC LETTER FEH INITIAL FORM; QQK
-FED4  ; [.1CA4.0020.0018.FED4] # ARABIC LETTER FEH MEDIAL FORM; QQK
-FED2  ; [.1CA4.0020.0019.FED2] # ARABIC LETTER FEH FINAL FORM; QQK
-FED1  ; [.1CA4.0020.001A.FED1] # ARABIC LETTER FEH ISOLATED FORM; QQK
-FCBE  ; [.1CA4.0020.0017.FCBE][.1C5B.0020.0017.FCBE] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM; QQKN
-FC2D  ; [.1CA4.0020.001A.FC2D][.1C5B.0020.001A.FC2D] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM; QQKN
-FCBF  ; [.1CA4.0020.0017.FCBF][.1C61.0020.0017.FCBF] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM; QQKN
-FC2E  ; [.1CA4.0020.001A.FC2E][.1C61.0020.001A.FC2E] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM; QQKN
-FCC0  ; [.1CA4.0020.0017.FCC0][.1C62.0020.0017.FCC0] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM; QQKN
-FC2F  ; [.1CA4.0020.001A.FC2F][.1C62.0020.001A.FC2F] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM; QQKN
-FD7D  ; [.1CA4.0020.0017.FD7D][.1C62.0020.0017.FD7D][.1CCA.0020.001F.FD7D] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD7C  ; [.1CA4.0020.0019.FD7C][.1C62.0020.0019.FD7C][.1CCA.0020.001F.FD7C] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM; QQKN
-FCC1  ; [.1CA4.0020.0017.FCC1][.1CCA.0020.0017.FCC1] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM; QQKN
-FC30  ; [.1CA4.0020.001A.FC30][.1CCA.0020.001A.FC30] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM; QQKN
-FDC1  ; [.1CA4.0020.0019.FDC1][.1CCA.0020.0019.FDC1][.1CE9.0020.001F.FDC1] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC7C  ; [.1CA4.0020.0019.FC7C][.1CE8.0020.0019.FC7C] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC31  ; [.1CA4.0020.001A.FC31][.1CE8.0020.001A.FC31] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7D  ; [.1CA4.0020.0019.FC7D][.1CE9.0020.0019.FC7D] # ARABIC LIGATURE FEH WITH YEH FINAL FORM; QQKN
-FC32  ; [.1CA4.0020.001A.FC32][.1CE9.0020.001A.FC32] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM; QQKN
-06A1  ; [.1CA5.0020.0002.06A1] # ARABIC LETTER DOTLESS FEH
-06A2  ; [.1CA6.0020.0002.06A2] # ARABIC LETTER FEH WITH DOT MOVED BELOW
-06A3  ; [.1CA7.0020.0002.06A3] # ARABIC LETTER FEH WITH DOT BELOW
-06A4  ; [.1CA8.0020.0002.06A4] # ARABIC LETTER VEH
-FB6C  ; [.1CA8.0020.0017.FB6C] # ARABIC LETTER VEH INITIAL FORM; QQK
-FB6D  ; [.1CA8.0020.0018.FB6D] # ARABIC LETTER VEH MEDIAL FORM; QQK
-FB6B  ; [.1CA8.0020.0019.FB6B] # ARABIC LETTER VEH FINAL FORM; QQK
-FB6A  ; [.1CA8.0020.001A.FB6A] # ARABIC LETTER VEH ISOLATED FORM; QQK
-06A5  ; [.1CA9.0020.0002.06A5] # ARABIC LETTER FEH WITH THREE DOTS BELOW
-06A6  ; [.1CAA.0020.0002.06A6] # ARABIC LETTER PEHEH
-FB70  ; [.1CAA.0020.0017.FB70] # ARABIC LETTER PEHEH INITIAL FORM; QQK
-FB71  ; [.1CAA.0020.0018.FB71] # ARABIC LETTER PEHEH MEDIAL FORM; QQK
-FB6F  ; [.1CAA.0020.0019.FB6F] # ARABIC LETTER PEHEH FINAL FORM; QQK
-FB6E  ; [.1CAA.0020.001A.FB6E] # ARABIC LETTER PEHEH ISOLATED FORM; QQK
-0760  ; [.1CAB.0020.0002.0760] # ARABIC LETTER FEH WITH TWO DOTS BELOW
-0761  ; [.1CAC.0020.0002.0761] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
-066F  ; [.1CAD.0020.0002.066F] # ARABIC LETTER DOTLESS QAF
-0642  ; [.1CAE.0020.0002.0642] # ARABIC LETTER QAF
-FED7  ; [.1CAE.0020.0017.FED7] # ARABIC LETTER QAF INITIAL FORM; QQK
-FED8  ; [.1CAE.0020.0018.FED8] # ARABIC LETTER QAF MEDIAL FORM; QQK
-FED6  ; [.1CAE.0020.0019.FED6] # ARABIC LETTER QAF FINAL FORM; QQK
-FED5  ; [.1CAE.0020.001A.FED5] # ARABIC LETTER QAF ISOLATED FORM; QQK
-FCC2  ; [.1CAE.0020.0017.FCC2][.1C61.0020.0017.FCC2] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM; QQKN
-FC33  ; [.1CAE.0020.001A.FC33][.1C61.0020.001A.FC33] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM; QQKN
-FDF1  ; [.1CAE.0020.001A.FDF1][.1CC4.0020.001A.FDF1][.1CF6.0020.001F.FDF1] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM; QQKN
-FCC3  ; [.1CAE.0020.0017.FCC3][.1CCA.0020.0017.FCC3] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM; QQKN
-FC34  ; [.1CAE.0020.001A.FC34][.1CCA.0020.001A.FC34] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM; QQKN
-FDB4  ; [.1CAE.0020.0017.FDB4][.1CCA.0020.0017.FDB4][.1C61.0020.001F.FDB4] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD7E  ; [.1CAE.0020.0019.FD7E][.1CCA.0020.0019.FD7E][.1C61.0020.001F.FD7E] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM; QQKN
-FD7F  ; [.1CAE.0020.0019.FD7F][.1CCA.0020.0019.FD7F][.1CCA.0020.001F.FD7F] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB2  ; [.1CAE.0020.0019.FDB2][.1CCA.0020.0019.FDB2][.1CE9.0020.001F.FDB2] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM; QQKN
-FC7E  ; [.1CAE.0020.0019.FC7E][.1CE8.0020.0019.FC7E] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM; QQKN
-FC35  ; [.1CAE.0020.001A.FC35][.1CE8.0020.001A.FC35] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC7F  ; [.1CAE.0020.0019.FC7F][.1CE9.0020.0019.FC7F] # ARABIC LIGATURE QAF WITH YEH FINAL FORM; QQKN
-FC36  ; [.1CAE.0020.001A.FC36][.1CE9.0020.001A.FC36] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM; QQKN
-06A7  ; [.1CAF.0020.0002.06A7] # ARABIC LETTER QAF WITH DOT ABOVE
-06A8  ; [.1CB0.0020.0002.06A8] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
-0643  ; [.1CB1.0020.0002.0643] # ARABIC LETTER KAF
-FEDB  ; [.1CB1.0020.0017.FEDB] # ARABIC LETTER KAF INITIAL FORM; QQK
-FEDC  ; [.1CB1.0020.0018.FEDC] # ARABIC LETTER KAF MEDIAL FORM; QQK
-FEDA  ; [.1CB1.0020.0019.FEDA] # ARABIC LETTER KAF FINAL FORM; QQK
-FED9  ; [.1CB1.0020.001A.FED9] # ARABIC LETTER KAF ISOLATED FORM; QQK
-FC80  ; [.1CB1.0020.0019.FC80][.1C46.0020.0019.FC80] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM; QQKN
-FC37  ; [.1CB1.0020.001A.FC37][.1C46.0020.001A.FC37] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM; QQKN
-FCC4  ; [.1CB1.0020.0017.FCC4][.1C5B.0020.0017.FCC4] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM; QQKN
-FC38  ; [.1CB1.0020.001A.FC38][.1C5B.0020.001A.FC38] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM; QQKN
-FCC5  ; [.1CB1.0020.0017.FCC5][.1C61.0020.0017.FCC5] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM; QQKN
-FC39  ; [.1CB1.0020.001A.FC39][.1C61.0020.001A.FC39] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM; QQKN
-FCC6  ; [.1CB1.0020.0017.FCC6][.1C62.0020.0017.FCC6] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM; QQKN
-FC3A  ; [.1CB1.0020.001A.FC3A][.1C62.0020.001A.FC3A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM; QQKN
-FCC7  ; [.1CB1.0020.0017.FCC7][.1CC4.0020.0017.FCC7] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM; QQKN
-FCEB  ; [.1CB1.0020.0018.FCEB][.1CC4.0020.0018.FCEB] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM; QQKN
-FC81  ; [.1CB1.0020.0019.FC81][.1CC4.0020.0019.FC81] # ARABIC LIGATURE KAF WITH LAM FINAL FORM; QQKN
-FC3B  ; [.1CB1.0020.001A.FC3B][.1CC4.0020.001A.FC3B] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM; QQKN
-FCC8  ; [.1CB1.0020.0017.FCC8][.1CCA.0020.0017.FCC8] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM; QQKN
-FCEC  ; [.1CB1.0020.0018.FCEC][.1CCA.0020.0018.FCEC] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM; QQKN
-FC82  ; [.1CB1.0020.0019.FC82][.1CCA.0020.0019.FC82] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM; QQKN
-FC3C  ; [.1CB1.0020.001A.FC3C][.1CCA.0020.001A.FC3C] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM; QQKN
-FDC3  ; [.1CB1.0020.0017.FDC3][.1CCA.0020.0017.FDC3][.1CCA.0020.001F.FDC3] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FDBB  ; [.1CB1.0020.0019.FDBB][.1CCA.0020.0019.FDBB][.1CCA.0020.001F.FDBB] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB7  ; [.1CB1.0020.0019.FDB7][.1CCA.0020.0019.FDB7][.1CE9.0020.001F.FDB7] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM; QQKN
-FC83  ; [.1CB1.0020.0019.FC83][.1CE8.0020.0019.FC83] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM; QQKN
-FC3D  ; [.1CB1.0020.001A.FC3D][.1CE8.0020.001A.FC3D] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC84  ; [.1CB1.0020.0019.FC84][.1CE9.0020.0019.FC84] # ARABIC LIGATURE KAF WITH YEH FINAL FORM; QQKN
-FC3E  ; [.1CB1.0020.001A.FC3E][.1CE9.0020.001A.FC3E] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM; QQKN
-06A9  ; [.1CB2.0020.0002.06A9] # ARABIC LETTER KEHEH
-FB90  ; [.1CB2.0020.0017.FB90] # ARABIC LETTER KEHEH INITIAL FORM; QQK
-FB91  ; [.1CB2.0020.0018.FB91] # ARABIC LETTER KEHEH MEDIAL FORM; QQK
-FB8F  ; [.1CB2.0020.0019.FB8F] # ARABIC LETTER KEHEH FINAL FORM; QQK
-FB8E  ; [.1CB2.0020.001A.FB8E] # ARABIC LETTER KEHEH ISOLATED FORM; QQK
-06AA  ; [.1CB3.0020.0002.06AA] # ARABIC LETTER SWASH KAF
-06AB  ; [.1CB4.0020.0002.06AB] # ARABIC LETTER KAF WITH RING
-06AC  ; [.1CB5.0020.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
-077F  ; [.1CB6.0020.0002.077F] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
-06AD  ; [.1CB7.0020.0002.06AD] # ARABIC LETTER NG
-FBD5  ; [.1CB7.0020.0017.FBD5] # ARABIC LETTER NG INITIAL FORM; QQK
-FBD6  ; [.1CB7.0020.0018.FBD6] # ARABIC LETTER NG MEDIAL FORM; QQK
-FBD4  ; [.1CB7.0020.0019.FBD4] # ARABIC LETTER NG FINAL FORM; QQK
-FBD3  ; [.1CB7.0020.001A.FBD3] # ARABIC LETTER NG ISOLATED FORM; QQK
-06AE  ; [.1CB8.0020.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
-06AF  ; [.1CB9.0020.0002.06AF] # ARABIC LETTER GAF
-FB94  ; [.1CB9.0020.0017.FB94] # ARABIC LETTER GAF INITIAL FORM; QQK
-FB95  ; [.1CB9.0020.0018.FB95] # ARABIC LETTER GAF MEDIAL FORM; QQK
-FB93  ; [.1CB9.0020.0019.FB93] # ARABIC LETTER GAF FINAL FORM; QQK
-FB92  ; [.1CB9.0020.001A.FB92] # ARABIC LETTER GAF ISOLATED FORM; QQK
-06B0  ; [.1CBA.0020.0002.06B0] # ARABIC LETTER GAF WITH RING
-06B1  ; [.1CBB.0020.0002.06B1] # ARABIC LETTER NGOEH
-FB9C  ; [.1CBB.0020.0017.FB9C] # ARABIC LETTER NGOEH INITIAL FORM; QQK
-FB9D  ; [.1CBB.0020.0018.FB9D] # ARABIC LETTER NGOEH MEDIAL FORM; QQK
-FB9B  ; [.1CBB.0020.0019.FB9B] # ARABIC LETTER NGOEH FINAL FORM; QQK
-FB9A  ; [.1CBB.0020.001A.FB9A] # ARABIC LETTER NGOEH ISOLATED FORM; QQK
-06B2  ; [.1CBC.0020.0002.06B2] # ARABIC LETTER GAF WITH TWO DOTS BELOW
-06B3  ; [.1CBD.0020.0002.06B3] # ARABIC LETTER GUEH
-FB98  ; [.1CBD.0020.0017.FB98] # ARABIC LETTER GUEH INITIAL FORM; QQK
-FB99  ; [.1CBD.0020.0018.FB99] # ARABIC LETTER GUEH MEDIAL FORM; QQK
-FB97  ; [.1CBD.0020.0019.FB97] # ARABIC LETTER GUEH FINAL FORM; QQK
-FB96  ; [.1CBD.0020.001A.FB96] # ARABIC LETTER GUEH ISOLATED FORM; QQK
-06B4  ; [.1CBE.0020.0002.06B4] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
-0762  ; [.1CBF.0020.0002.0762] # ARABIC LETTER KEHEH WITH DOT ABOVE
-063B  ; [.1CC0.0020.0002.063B] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
-063C  ; [.1CC1.0020.0002.063C] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
-0763  ; [.1CC2.0020.0002.0763] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
-0764  ; [.1CC3.0020.0002.0764] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
-0644  ; [.1CC4.0020.0002.0644] # ARABIC LETTER LAM
-FEDF  ; [.1CC4.0020.0017.FEDF] # ARABIC LETTER LAM INITIAL FORM; QQK
-FEE0  ; [.1CC4.0020.0018.FEE0] # ARABIC LETTER LAM MEDIAL FORM; QQK
-FEDE  ; [.1CC4.0020.0019.FEDE] # ARABIC LETTER LAM FINAL FORM; QQK
-FEDD  ; [.1CC4.0020.001A.FEDD] # ARABIC LETTER LAM ISOLATED FORM; QQK
-FEF6  ; [.1CC4.0020.0019.FEF6][.1C3C.0020.0019.FEF6] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM; QQKN
-FEF5  ; [.1CC4.0020.001A.FEF5][.1C3C.0020.001A.FEF5] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM; QQKN
-FEF8  ; [.1CC4.0020.0019.FEF8][.1C3D.0020.0019.FEF8] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM; QQKN
-FEF7  ; [.1CC4.0020.001A.FEF7][.1C3D.0020.001A.FEF7] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM; QQKN
-FEFA  ; [.1CC4.0020.0019.FEFA][.1C41.0020.0019.FEFA] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM; QQKN
-FEF9  ; [.1CC4.0020.001A.FEF9][.1C41.0020.001A.FEF9] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM; QQKN
-FEFC  ; [.1CC4.0020.0019.FEFC][.1C46.0020.0019.FEFC] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM; QQKN
-FEFB  ; [.1CC4.0020.001A.FEFB][.1C46.0020.001A.FEFB] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM; QQKN
-FCC9  ; [.1CC4.0020.0017.FCC9][.1C5B.0020.0017.FCC9] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM; QQKN
-FC3F  ; [.1CC4.0020.001A.FC3F][.1C5B.0020.001A.FC3F] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM; QQKN
-FD83  ; [.1CC4.0020.0017.FD83][.1C5B.0020.0017.FD83][.1C5B.0020.001F.FD83] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM; QQKN
-FD84  ; [.1CC4.0020.0019.FD84][.1C5B.0020.0019.FD84][.1C5B.0020.001F.FD84] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM; QQKN
-FDBA  ; [.1CC4.0020.0017.FDBA][.1C5B.0020.0017.FDBA][.1CCA.0020.001F.FDBA] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDBC  ; [.1CC4.0020.0019.FDBC][.1C5B.0020.0019.FDBC][.1CCA.0020.001F.FDBC] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM; QQKN
-FDAC  ; [.1CC4.0020.0019.FDAC][.1C5B.0020.0019.FDAC][.1CE9.0020.001F.FDAC] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM; QQKN
-FCCA  ; [.1CC4.0020.0017.FCCA][.1C61.0020.0017.FCCA] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM; QQKN
-FC40  ; [.1CC4.0020.001A.FC40][.1C61.0020.001A.FC40] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM; QQKN
-FDB5  ; [.1CC4.0020.0017.FDB5][.1C61.0020.0017.FDB5][.1CCA.0020.001F.FDB5] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD80  ; [.1CC4.0020.0019.FD80][.1C61.0020.0019.FD80][.1CCA.0020.001F.FD80] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM; QQKN
-FD82  ; [.1CC4.0020.0019.FD82][.1C61.0020.0019.FD82][.1CE8.0020.001F.FD82] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FD81  ; [.1CC4.0020.0019.FD81][.1C61.0020.0019.FD81][.1CE9.0020.001F.FD81] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM; QQKN
-FCCB  ; [.1CC4.0020.0017.FCCB][.1C62.0020.0017.FCCB] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM; QQKN
-FC41  ; [.1CC4.0020.001A.FC41][.1C62.0020.001A.FC41] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM; QQKN
-FD86  ; [.1CC4.0020.0017.FD86][.1C62.0020.0017.FD86][.1CCA.0020.001F.FD86] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FD85  ; [.1CC4.0020.0019.FD85][.1C62.0020.0019.FD85][.1CCA.0020.001F.FD85] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM; QQKN
-FCCC  ; [.1CC4.0020.0017.FCCC][.1CCA.0020.0017.FCCC] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM; QQKN
-FCED  ; [.1CC4.0020.0018.FCED][.1CCA.0020.0018.FCED] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM; QQKN
-FC85  ; [.1CC4.0020.0019.FC85][.1CCA.0020.0019.FC85] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM; QQKN
-FC42  ; [.1CC4.0020.001A.FC42][.1CCA.0020.001A.FC42] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM; QQKN
-FD88  ; [.1CC4.0020.0017.FD88][.1CCA.0020.0017.FD88][.1C61.0020.001F.FD88] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM; QQKN
-FD87  ; [.1CC4.0020.0019.FD87][.1CCA.0020.0019.FD87][.1C61.0020.001F.FD87] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM; QQKN
-FDAD  ; [.1CC4.0020.0019.FDAD][.1CCA.0020.0019.FDAD][.1CE9.0020.001F.FDAD] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM; QQKN
-FCCD  ; [.1CC4.0020.0017.FCCD][.1CD6.0020.0017.FCCD] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM; QQKN
-FC86  ; [.1CC4.0020.0019.FC86][.1CE8.0020.0019.FC86] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM; QQKN
-FC43  ; [.1CC4.0020.001A.FC43][.1CE8.0020.001A.FC43] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC87  ; [.1CC4.0020.0019.FC87][.1CE9.0020.0019.FC87] # ARABIC LIGATURE LAM WITH YEH FINAL FORM; QQKN
-FC44  ; [.1CC4.0020.001A.FC44][.1CE9.0020.001A.FC44] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM; QQKN
-06B5  ; [.1CC5.0020.0002.06B5] # ARABIC LETTER LAM WITH SMALL V
-06B6  ; [.1CC6.0020.0002.06B6] # ARABIC LETTER LAM WITH DOT ABOVE
-06B7  ; [.1CC7.0020.0002.06B7] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
-06B8  ; [.1CC8.0020.0002.06B8] # ARABIC LETTER LAM WITH THREE DOTS BELOW
-076A  ; [.1CC9.0020.0002.076A] # ARABIC LETTER LAM WITH BAR
-0645  ; [.1CCA.0020.0002.0645] # ARABIC LETTER MEEM
-FEE3  ; [.1CCA.0020.0017.FEE3] # ARABIC LETTER MEEM INITIAL FORM; QQK
-FEE4  ; [.1CCA.0020.0018.FEE4] # ARABIC LETTER MEEM MEDIAL FORM; QQK
-FEE2  ; [.1CCA.0020.0019.FEE2] # ARABIC LETTER MEEM FINAL FORM; QQK
-FEE1  ; [.1CCA.0020.001A.FEE1] # ARABIC LETTER MEEM ISOLATED FORM; QQK
-06FE  ; [.1CCA.0020.0004.06FE][.0000.0160.0004.06FE] # ARABIC SIGN SINDHI POSTPOSITION MEN; QQKN
-FC88  ; [.1CCA.0020.0019.FC88][.1C46.0020.0019.FC88] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM; QQKN
-FCCE  ; [.1CCA.0020.0017.FCCE][.1C5B.0020.0017.FCCE] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM; QQKN
-FC45  ; [.1CCA.0020.001A.FC45][.1C5B.0020.001A.FC45] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM; QQKN
-FD8C  ; [.1CCA.0020.0017.FD8C][.1C5B.0020.0017.FD8C][.1C61.0020.001F.FD8C] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM; QQKN
-FD92  ; [.1CCA.0020.0017.FD92][.1C5B.0020.0017.FD92][.1C62.0020.001F.FD92] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM; QQKN
-FD8D  ; [.1CCA.0020.0017.FD8D][.1C5B.0020.0017.FD8D][.1CCA.0020.001F.FD8D] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FDC0  ; [.1CCA.0020.0019.FDC0][.1C5B.0020.0019.FDC0][.1CE9.0020.001F.FDC0] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM; QQKN
-FCCF  ; [.1CCA.0020.0017.FCCF][.1C61.0020.0017.FCCF] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM; QQKN
-FC46  ; [.1CCA.0020.001A.FC46][.1C61.0020.001A.FC46] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM; QQKN
-FD89  ; [.1CCA.0020.0017.FD89][.1C61.0020.0017.FD89][.1C5B.0020.001F.FD89] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM; QQKN
-FD8A  ; [.1CCA.0020.0017.FD8A][.1C61.0020.0017.FD8A][.1CCA.0020.001F.FD8A] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM; QQKN
-FDF4  ; [.1CCA.0020.001A.FDF4][.1C61.0020.001A.FDF4][.1CCA.0020.001F.FDF4][.1C6C.0020.001F.FDF4] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM; QQKN
-FD8B  ; [.1CCA.0020.0019.FD8B][.1C61.0020.0019.FD8B][.1CE9.0020.001F.FD8B] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM; QQKN
-FCD0  ; [.1CCA.0020.0017.FCD0][.1C62.0020.0017.FCD0] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM; QQKN
-FC47  ; [.1CCA.0020.001A.FC47][.1C62.0020.001A.FC47] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM; QQKN
-FD8E  ; [.1CCA.0020.0017.FD8E][.1C62.0020.0017.FD8E][.1C5B.0020.001F.FD8E] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM; QQKN
-FD8F  ; [.1CCA.0020.0017.FD8F][.1C62.0020.0017.FD8F][.1CCA.0020.001F.FD8F] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM; QQKN
-FDB9  ; [.1CCA.0020.0019.FDB9][.1C62.0020.0019.FDB9][.1CE9.0020.001F.FDB9] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM; QQKN
-FCD1  ; [.1CCA.0020.0017.FCD1][.1CCA.0020.0017.FCD1] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM; QQKN
-FC89  ; [.1CCA.0020.0019.FC89][.1CCA.0020.0019.FC89] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM; QQKN
-FC48  ; [.1CCA.0020.001A.FC48][.1CCA.0020.001A.FC48] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM; QQKN
-FDB1  ; [.1CCA.0020.0019.FDB1][.1CCA.0020.0019.FDB1][.1CE9.0020.001F.FDB1] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM; QQKN
-FC49  ; [.1CCA.0020.001A.FC49][.1CE8.0020.001A.FC49] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC4A  ; [.1CCA.0020.001A.FC4A][.1CE9.0020.001A.FC4A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM; QQKN
-0765  ; [.1CCB.0020.0002.0765] # ARABIC LETTER MEEM WITH DOT ABOVE
-0766  ; [.1CCC.0020.0002.0766] # ARABIC LETTER MEEM WITH DOT BELOW
-0646  ; [.1CCD.0020.0002.0646] # ARABIC LETTER NOON
-FEE7  ; [.1CCD.0020.0017.FEE7] # ARABIC LETTER NOON INITIAL FORM; QQK
-FEE8  ; [.1CCD.0020.0018.FEE8] # ARABIC LETTER NOON MEDIAL FORM; QQK
-FEE6  ; [.1CCD.0020.0019.FEE6] # ARABIC LETTER NOON FINAL FORM; QQK
-FEE5  ; [.1CCD.0020.001A.FEE5] # ARABIC LETTER NOON ISOLATED FORM; QQK
-FCD2  ; [.1CCD.0020.0017.FCD2][.1C5B.0020.0017.FCD2] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM; QQKN
-FC4B  ; [.1CCD.0020.001A.FC4B][.1C5B.0020.001A.FC4B] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM; QQKN
-FDB8  ; [.1CCD.0020.0017.FDB8][.1C5B.0020.0017.FDB8][.1C61.0020.001F.FDB8] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM; QQKN
-FDBD  ; [.1CCD.0020.0019.FDBD][.1C5B.0020.0019.FDBD][.1C61.0020.001F.FDBD] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM; QQKN
-FD98  ; [.1CCD.0020.0017.FD98][.1C5B.0020.0017.FD98][.1CCA.0020.001F.FD98] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM; QQKN
-FD97  ; [.1CCD.0020.0019.FD97][.1C5B.0020.0019.FD97][.1CCA.0020.001F.FD97] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM; QQKN
-FD99  ; [.1CCD.0020.0019.FD99][.1C5B.0020.0019.FD99][.1CE8.0020.001F.FD99] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FDC7  ; [.1CCD.0020.0019.FDC7][.1C5B.0020.0019.FDC7][.1CE9.0020.001F.FDC7] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM; QQKN
-FCD3  ; [.1CCD.0020.0017.FCD3][.1C61.0020.0017.FCD3] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM; QQKN
-FC4C  ; [.1CCD.0020.001A.FC4C][.1C61.0020.001A.FC4C] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM; QQKN
-FD95  ; [.1CCD.0020.0017.FD95][.1C61.0020.0017.FD95][.1CCA.0020.001F.FD95] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM; QQKN
-FD96  ; [.1CCD.0020.0019.FD96][.1C61.0020.0019.FD96][.1CE8.0020.001F.FD96] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM; QQKN
-FDB3  ; [.1CCD.0020.0019.FDB3][.1C61.0020.0019.FDB3][.1CE9.0020.001F.FDB3] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM; QQKN
-FCD4  ; [.1CCD.0020.0017.FCD4][.1C62.0020.0017.FCD4] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM; QQKN
-FC4D  ; [.1CCD.0020.001A.FC4D][.1C62.0020.001A.FC4D] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM; QQKN
-FC8A  ; [.1CCD.0020.0019.FC8A][.1C7A.0020.0019.FC8A] # ARABIC LIGATURE NOON WITH REH FINAL FORM; QQKN
-FC8B  ; [.1CCD.0020.0019.FC8B][.1C7B.0020.0019.FC8B] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM; QQKN
-FCD5  ; [.1CCD.0020.0017.FCD5][.1CCA.0020.0017.FCD5] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM; QQKN
-FCEE  ; [.1CCD.0020.0018.FCEE][.1CCA.0020.0018.FCEE] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM; QQKN
-FC8C  ; [.1CCD.0020.0019.FC8C][.1CCA.0020.0019.FC8C] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM; QQKN
-FC4E  ; [.1CCD.0020.001A.FC4E][.1CCA.0020.001A.FC4E] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM; QQKN
-FD9B  ; [.1CCD.0020.0019.FD9B][.1CCA.0020.0019.FD9B][.1CE8.0020.001F.FD9B] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM; QQKN
-FD9A  ; [.1CCD.0020.0019.FD9A][.1CCA.0020.0019.FD9A][.1CE9.0020.001F.FD9A] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM; QQKN
-FC8D  ; [.1CCD.0020.0019.FC8D][.1CCD.0020.0019.FC8D] # ARABIC LIGATURE NOON WITH NOON FINAL FORM; QQKN
-FCD6  ; [.1CCD.0020.0017.FCD6][.1CD6.0020.0017.FCD6] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM; QQKN
-FCEF  ; [.1CCD.0020.0018.FCEF][.1CD6.0020.0018.FCEF] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM; QQKN
-FC8E  ; [.1CCD.0020.0019.FC8E][.1CE8.0020.0019.FC8E] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM; QQKN
-FC4F  ; [.1CCD.0020.001A.FC4F][.1CE8.0020.001A.FC4F] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC8F  ; [.1CCD.0020.0019.FC8F][.1CE9.0020.0019.FC8F] # ARABIC LIGATURE NOON WITH YEH FINAL FORM; QQKN
-FC50  ; [.1CCD.0020.001A.FC50][.1CE9.0020.001A.FC50] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM; QQKN
-06BA  ; [.1CCE.0020.0002.06BA] # ARABIC LETTER NOON GHUNNA
-FB9F  ; [.1CCE.0020.0019.FB9F] # ARABIC LETTER NOON GHUNNA FINAL FORM; QQK
-FB9E  ; [.1CCE.0020.001A.FB9E] # ARABIC LETTER NOON GHUNNA ISOLATED FORM; QQK
-06BB  ; [.1CCF.0020.0002.06BB] # ARABIC LETTER RNOON
-FBA2  ; [.1CCF.0020.0017.FBA2] # ARABIC LETTER RNOON INITIAL FORM; QQK
-FBA3  ; [.1CCF.0020.0018.FBA3] # ARABIC LETTER RNOON MEDIAL FORM; QQK
-FBA1  ; [.1CCF.0020.0019.FBA1] # ARABIC LETTER RNOON FINAL FORM; QQK
-FBA0  ; [.1CCF.0020.001A.FBA0] # ARABIC LETTER RNOON ISOLATED FORM; QQK
-06BC  ; [.1CD0.0020.0002.06BC] # ARABIC LETTER NOON WITH RING
-06BD  ; [.1CD1.0020.0002.06BD] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
-06B9  ; [.1CD2.0020.0002.06B9] # ARABIC LETTER NOON WITH DOT BELOW
-0767  ; [.1CD3.0020.0002.0767] # ARABIC LETTER NOON WITH TWO DOTS BELOW
-0768  ; [.1CD4.0020.0002.0768] # ARABIC LETTER NOON WITH SMALL TAH
-0769  ; [.1CD5.0020.0002.0769] # ARABIC LETTER NOON WITH SMALL V
-0647  ; [.1CD6.0020.0002.0647] # ARABIC LETTER HEH
-FEEB  ; [.1CD6.0020.0017.FEEB] # ARABIC LETTER HEH INITIAL FORM; QQK
-FEEC  ; [.1CD6.0020.0018.FEEC] # ARABIC LETTER HEH MEDIAL FORM; QQK
-FEEA  ; [.1CD6.0020.0019.FEEA] # ARABIC LETTER HEH FINAL FORM; QQK
-FEE9  ; [.1CD6.0020.001A.FEE9] # ARABIC LETTER HEH ISOLATED FORM; QQK
-FCD9  ; [.1CD6.0020.0017.FCD9][.0000.00BD.0017.FCD9] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM; QQKN
-FCD7  ; [.1CD6.0020.0017.FCD7][.1C5B.0020.0017.FCD7] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM; QQKN
-FC51  ; [.1CD6.0020.001A.FC51][.1C5B.0020.001A.FC51] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM; QQKN
-FCD8  ; [.1CD6.0020.0017.FCD8][.1CCA.0020.0017.FCD8] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM; QQKN
-FC52  ; [.1CD6.0020.001A.FC52][.1CCA.0020.001A.FC52] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM; QQKN
-FD93  ; [.1CD6.0020.0017.FD93][.1CCA.0020.0017.FD93][.1C5B.0020.001F.FD93] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM; QQKN
-FD94  ; [.1CD6.0020.0017.FD94][.1CCA.0020.0017.FD94][.1CCA.0020.001F.FD94] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FC53  ; [.1CD6.0020.001A.FC53][.1CE8.0020.001A.FC53] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC54  ; [.1CD6.0020.001A.FC54][.1CE9.0020.001A.FC54] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM; QQKN
-06BE  ; [.1CD7.0020.0002.06BE] # ARABIC LETTER HEH DOACHASHMEE
-FBAC  ; [.1CD7.0020.0017.FBAC] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM; QQK
-FBAD  ; [.1CD7.0020.0018.FBAD] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM; QQK
-FBAB  ; [.1CD7.0020.0019.FBAB] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM; QQK
-FBAA  ; [.1CD7.0020.001A.FBAA] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM; QQK
-06C1  ; [.1CD8.0020.0002.06C1] # ARABIC LETTER HEH GOAL
-FBA8  ; [.1CD8.0020.0017.FBA8] # ARABIC LETTER HEH GOAL INITIAL FORM; QQK
-FBA9  ; [.1CD8.0020.0018.FBA9] # ARABIC LETTER HEH GOAL MEDIAL FORM; QQK
-FBA7  ; [.1CD8.0020.0019.FBA7] # ARABIC LETTER HEH GOAL FINAL FORM; QQK
-FBA6  ; [.1CD8.0020.001A.FBA6] # ARABIC LETTER HEH GOAL ISOLATED FORM; QQK
-06C2  ; [.1CD8.0020.0002.06C1][.0000.00B1.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE; QQCM
-06C3  ; [.1CD9.0020.0002.06C3] # ARABIC LETTER TEH MARBUTA GOAL
-06FF  ; [.1CDA.0020.0002.06FF] # ARABIC LETTER HEH WITH INVERTED V
-06D5  ; [.1CDB.0020.0002.06D5] # ARABIC LETTER AE
-06C0  ; [.1CDB.0020.0002.06D5][.0000.00B1.0002.0654] # ARABIC LETTER HEH WITH YEH ABOVE; QQCM
-FBA5  ; [.1CDB.0020.0019.FBA5][.0000.00B1.0019.FBA5] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM; QQKN
-FBA4  ; [.1CDB.0020.001A.FBA4][.0000.00B1.001A.FBA4] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM; QQKN
-0648  ; [.1CDC.0020.0002.0648] # ARABIC LETTER WAW
-06E5  ; [.1CDC.0020.0004.06E5] # ARABIC SMALL WAW; QQK
-FEEE  ; [.1CDC.0020.0019.FEEE] # ARABIC LETTER WAW FINAL FORM; QQK
-FEED  ; [.1CDC.0020.001A.FEED] # ARABIC LETTER WAW ISOLATED FORM; QQK
-0676  ; [.1CDC.0020.0004.0676][.1C3B.0020.0004.0676] # ARABIC LETTER HIGH HAMZA WAW; QQKN
-FDF8  ; [.1CDC.0020.001A.FDF8][.1C8A.0020.001A.FDF8][.1CC4.0020.001F.FDF8][.1CCA.0020.001F.FDF8] # ARABIC LIGATURE WASALLAM ISOLATED FORM; QQKN
-06C4  ; [.1CDD.0020.0002.06C4] # ARABIC LETTER WAW WITH RING
-06C5  ; [.1CDE.0020.0002.06C5] # ARABIC LETTER KIRGHIZ OE
-FBE1  ; [.1CDE.0020.0019.FBE1] # ARABIC LETTER KIRGHIZ OE FINAL FORM; QQK
-FBE0  ; [.1CDE.0020.001A.FBE0] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM; QQK
-06C6  ; [.1CDF.0020.0002.06C6] # ARABIC LETTER OE
-FBDA  ; [.1CDF.0020.0019.FBDA] # ARABIC LETTER OE FINAL FORM; QQK
-FBD9  ; [.1CDF.0020.001A.FBD9] # ARABIC LETTER OE ISOLATED FORM; QQK
-06C7  ; [.1CE0.0020.0002.06C7] # ARABIC LETTER U
-FBD8  ; [.1CE0.0020.0019.FBD8] # ARABIC LETTER U FINAL FORM; QQK
-FBD7  ; [.1CE0.0020.001A.FBD7] # ARABIC LETTER U ISOLATED FORM; QQK
-0677  ; [.1CE0.0020.0004.0677][.1C3B.0020.0004.0677] # ARABIC LETTER U WITH HAMZA ABOVE; QQKN
-FBDD  ; [.1CE0.0020.001A.FBDD][.1C3B.0020.001A.FBDD] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM; QQKN
-06C8  ; [.1CE1.0020.0002.06C8] # ARABIC LETTER YU
-FBDC  ; [.1CE1.0020.0019.FBDC] # ARABIC LETTER YU FINAL FORM; QQK
-FBDB  ; [.1CE1.0020.001A.FBDB] # ARABIC LETTER YU ISOLATED FORM; QQK
-06C9  ; [.1CE2.0020.0002.06C9] # ARABIC LETTER KIRGHIZ YU
-FBE3  ; [.1CE2.0020.0019.FBE3] # ARABIC LETTER KIRGHIZ YU FINAL FORM; QQK
-FBE2  ; [.1CE2.0020.001A.FBE2] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM; QQK
-06CA  ; [.1CE3.0020.0002.06CA] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
-06CB  ; [.1CE4.0020.0002.06CB] # ARABIC LETTER VE
-FBDF  ; [.1CE4.0020.0019.FBDF] # ARABIC LETTER VE FINAL FORM; QQK
-FBDE  ; [.1CE4.0020.001A.FBDE] # ARABIC LETTER VE ISOLATED FORM; QQK
-06CF  ; [.1CE5.0020.0002.06CF] # ARABIC LETTER WAW WITH DOT ABOVE
-0778  ; [.1CE6.0020.0002.0778] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0779  ; [.1CE7.0020.0002.0779] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0649  ; [.1CE8.0020.0002.0649] # ARABIC LETTER ALEF MAKSURA
-FBE8  ; [.1CE8.0020.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM; QQK
-FBE9  ; [.1CE8.0020.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM; QQK
-FEF0  ; [.1CE8.0020.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM; QQK
-FEEF  ; [.1CE8.0020.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM; QQK
-FC90  ; [.1CE8.0020.0019.FC90][.0000.00BD.0019.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM; QQKN
-FC5D  ; [.1CE8.0020.001A.FC5D][.0000.00BD.001A.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM; QQKN
-064A  ; [.1CE9.0020.0002.064A] # ARABIC LETTER YEH
-06E6  ; [.1CE9.0020.0004.06E6] # ARABIC SMALL YEH; QQK
-FEF3  ; [.1CE9.0020.0017.FEF3] # ARABIC LETTER YEH INITIAL FORM; QQK
-FEF4  ; [.1CE9.0020.0018.FEF4] # ARABIC LETTER YEH MEDIAL FORM; QQK
-FEF2  ; [.1CE9.0020.0019.FEF2] # ARABIC LETTER YEH FINAL FORM; QQK
-FEF1  ; [.1CE9.0020.001A.FEF1] # ARABIC LETTER YEH ISOLATED FORM; QQK
-0678  ; [.1CE9.0020.0004.0678][.1C3B.0020.0004.0678] # ARABIC LETTER HIGH HAMZA YEH; QQKN
-FCDA  ; [.1CE9.0020.0017.FCDA][.1C5B.0020.0017.FCDA] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM; QQKN
-FC55  ; [.1CE9.0020.001A.FC55][.1C5B.0020.001A.FC55] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM; QQKN
-FDAF  ; [.1CE9.0020.0019.FDAF][.1C5B.0020.0019.FDAF][.1CE9.0020.001F.FDAF] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM; QQKN
-FCDB  ; [.1CE9.0020.0017.FCDB][.1C61.0020.0017.FCDB] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM; QQKN
-FC56  ; [.1CE9.0020.001A.FC56][.1C61.0020.001A.FC56] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM; QQKN
-FDAE  ; [.1CE9.0020.0019.FDAE][.1C61.0020.0019.FDAE][.1CE9.0020.001F.FDAE] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM; QQKN
-FCDC  ; [.1CE9.0020.0017.FCDC][.1C62.0020.0017.FCDC] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM; QQKN
-FC57  ; [.1CE9.0020.001A.FC57][.1C62.0020.001A.FC57] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM; QQKN
-FC91  ; [.1CE9.0020.0019.FC91][.1C7A.0020.0019.FC91] # ARABIC LIGATURE YEH WITH REH FINAL FORM; QQKN
-FC92  ; [.1CE9.0020.0019.FC92][.1C7B.0020.0019.FC92] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM; QQKN
-FCDD  ; [.1CE9.0020.0017.FCDD][.1CCA.0020.0017.FCDD] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM; QQKN
-FCF0  ; [.1CE9.0020.0018.FCF0][.1CCA.0020.0018.FCF0] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM; QQKN
-FC93  ; [.1CE9.0020.0019.FC93][.1CCA.0020.0019.FC93] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM; QQKN
-FC58  ; [.1CE9.0020.001A.FC58][.1CCA.0020.001A.FC58] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM; QQKN
-FD9D  ; [.1CE9.0020.0017.FD9D][.1CCA.0020.0017.FD9D][.1CCA.0020.001F.FD9D] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM; QQKN
-FD9C  ; [.1CE9.0020.0019.FD9C][.1CCA.0020.0019.FD9C][.1CCA.0020.001F.FD9C] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM; QQKN
-FDB0  ; [.1CE9.0020.0019.FDB0][.1CCA.0020.0019.FDB0][.1CE9.0020.001F.FDB0] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM; QQKN
-FC94  ; [.1CE9.0020.0019.FC94][.1CCD.0020.0019.FC94] # ARABIC LIGATURE YEH WITH NOON FINAL FORM; QQKN
-FCDE  ; [.1CE9.0020.0017.FCDE][.1CD6.0020.0017.FCDE] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM; QQKN
-FCF1  ; [.1CE9.0020.0018.FCF1][.1CD6.0020.0018.FCF1] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM; QQKN
-FC95  ; [.1CE9.0020.0019.FC95][.1CE8.0020.0019.FC95] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM; QQKN
-FC59  ; [.1CE9.0020.001A.FC59][.1CE8.0020.001A.FC59] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM; QQKN
-FC96  ; [.1CE9.0020.0019.FC96][.1CE9.0020.0019.FC96] # ARABIC LIGATURE YEH WITH YEH FINAL FORM; QQKN
-FC5A  ; [.1CE9.0020.001A.FC5A][.1CE9.0020.001A.FC5A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM; QQKN
-06CC  ; [.1CEA.0020.0002.06CC] # ARABIC LETTER FARSI YEH
-FBFE  ; [.1CEA.0020.0017.FBFE] # ARABIC LETTER FARSI YEH INITIAL FORM; QQK
-FBFF  ; [.1CEA.0020.0018.FBFF] # ARABIC LETTER FARSI YEH MEDIAL FORM; QQK
-FBFD  ; [.1CEA.0020.0019.FBFD] # ARABIC LETTER FARSI YEH FINAL FORM; QQK
-FBFC  ; [.1CEA.0020.001A.FBFC] # ARABIC LETTER FARSI YEH ISOLATED FORM; QQK
-06CD  ; [.1CEB.0020.0002.06CD] # ARABIC LETTER YEH WITH TAIL
-06CE  ; [.1CEC.0020.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
-06D0  ; [.1CED.0020.0002.06D0] # ARABIC LETTER E
-FBE6  ; [.1CED.0020.0017.FBE6] # ARABIC LETTER E INITIAL FORM; QQK
-FBE7  ; [.1CED.0020.0018.FBE7] # ARABIC LETTER E MEDIAL FORM; QQK
-FBE5  ; [.1CED.0020.0019.FBE5] # ARABIC LETTER E FINAL FORM; QQK
-FBE4  ; [.1CED.0020.001A.FBE4] # ARABIC LETTER E ISOLATED FORM; QQK
-06D1  ; [.1CEE.0020.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
-063D  ; [.1CEF.0020.0002.063D] # ARABIC LETTER FARSI YEH WITH INVERTED V
-063E  ; [.1CF0.0020.0002.063E] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
-063F  ; [.1CF1.0020.0002.063F] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
-0620  ; [.1CF2.0020.0002.0620] # ARABIC LETTER KASHMIRI YEH
-0775  ; [.1CF3.0020.0002.0775] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-0776  ; [.1CF4.0020.0002.0776] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0777  ; [.1CF5.0020.0002.0777] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
-06D2  ; [.1CF6.0020.0002.06D2] # ARABIC LETTER YEH BARREE
-FBAF  ; [.1CF6.0020.0019.FBAF] # ARABIC LETTER YEH BARREE FINAL FORM; QQK
-FBAE  ; [.1CF6.0020.001A.FBAE] # ARABIC LETTER YEH BARREE ISOLATED FORM; QQK
-06D3  ; [.1CF6.0020.0002.06D2][.0000.00B1.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE; QQCM
-FBB1  ; [.1CF6.0020.0019.FBB1][.0000.00B1.0019.FBB1] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM; QQKN
-FBB0  ; [.1CF6.0020.001A.FBB0][.0000.00B1.001A.FBB0] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM; QQKN
-077A  ; [.1CF7.0020.0002.077A] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
-077B  ; [.1CF8.0020.0002.077B] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
-0710  ; [.1CF9.0020.0002.0710] # SYRIAC LETTER ALAPH
-0712  ; [.1CFA.0020.0002.0712] # SYRIAC LETTER BETH
-072D  ; [.1CFA.0020.0004.072D][.0000.0162.0004.072D] # SYRIAC LETTER PERSIAN BHETH; QQKN
-0713  ; [.1CFB.0020.0002.0713] # SYRIAC LETTER GAMAL
-0714  ; [.1CFB.0020.0004.0714][.0000.0160.0004.0714] # SYRIAC LETTER GAMAL GARSHUNI; QQKN
-072E  ; [.1CFB.0020.0004.072E][.0000.0162.0004.072E] # SYRIAC LETTER PERSIAN GHAMAL; QQKN
-0716  ; [.1CFC.0020.0002.0716] # SYRIAC LETTER DOTLESS DALATH RISH
-0715  ; [.1CFD.0020.0002.0715] # SYRIAC LETTER DALATH
-072F  ; [.1CFD.0020.0004.072F][.0000.0162.0004.072F] # SYRIAC LETTER PERSIAN DHALATH; QQKN
-0717  ; [.1CFE.0020.0002.0717] # SYRIAC LETTER HE
-0718  ; [.1CFF.0020.0002.0718] # SYRIAC LETTER WAW
-0719  ; [.1D00.0020.0002.0719] # SYRIAC LETTER ZAIN
-074D  ; [.1D01.0020.0002.074D] # SYRIAC LETTER SOGDIAN ZHAIN
-071A  ; [.1D02.0020.0002.071A] # SYRIAC LETTER HETH
-071B  ; [.1D03.0020.0002.071B] # SYRIAC LETTER TETH
-071C  ; [.1D03.0020.0004.071C][.0000.0160.0004.071C] # SYRIAC LETTER TETH GARSHUNI; QQKN
-071D  ; [.1D04.0020.0002.071D] # SYRIAC LETTER YUDH
-071E  ; [.1D05.0020.0002.071E] # SYRIAC LETTER YUDH HE
-071F  ; [.1D06.0020.0002.071F] # SYRIAC LETTER KAPH
-074E  ; [.1D07.0020.0002.074E] # SYRIAC LETTER SOGDIAN KHAPH
-0720  ; [.1D08.0020.0002.0720] # SYRIAC LETTER LAMADH
-0721  ; [.1D09.0020.0002.0721] # SYRIAC LETTER MIM
-0722  ; [.1D0A.0020.0002.0722] # SYRIAC LETTER NUN
-0723  ; [.1D0B.0020.0002.0723] # SYRIAC LETTER SEMKATH
-0724  ; [.1D0B.0020.0019.0724] # SYRIAC LETTER FINAL SEMKATH; QQK
-0725  ; [.1D0C.0020.0002.0725] # SYRIAC LETTER E
-0726  ; [.1D0D.0020.0002.0726] # SYRIAC LETTER PE
-0727  ; [.1D0D.0020.0004.0727][.0000.0160.0004.0727] # SYRIAC LETTER REVERSED PE; QQKN
-074F  ; [.1D0E.0020.0002.074F] # SYRIAC LETTER SOGDIAN FE
-0728  ; [.1D0F.0020.0002.0728] # SYRIAC LETTER SADHE
-0729  ; [.1D10.0020.0002.0729] # SYRIAC LETTER QAPH
-072A  ; [.1D11.0020.0002.072A] # SYRIAC LETTER RISH
-072B  ; [.1D12.0020.0002.072B] # SYRIAC LETTER SHIN
-072C  ; [.1D13.0020.0002.072C] # SYRIAC LETTER TAW
-0840  ; [.1D14.0020.0002.0840] # MANDAIC LETTER HALQA
-0841  ; [.1D15.0020.0002.0841] # MANDAIC LETTER AB
-0842  ; [.1D16.0020.0002.0842] # MANDAIC LETTER AG
-0843  ; [.1D17.0020.0002.0843] # MANDAIC LETTER AD
-0844  ; [.1D18.0020.0002.0844] # MANDAIC LETTER AH
-0845  ; [.1D19.0020.0002.0845] # MANDAIC LETTER USHENNA
-0846  ; [.1D1A.0020.0002.0846] # MANDAIC LETTER AZ
-0847  ; [.1D1B.0020.0002.0847] # MANDAIC LETTER IT
-0848  ; [.1D1C.0020.0002.0848] # MANDAIC LETTER ATT
-0849  ; [.1D1D.0020.0002.0849] # MANDAIC LETTER AKSA
-084A  ; [.1D1E.0020.0002.084A] # MANDAIC LETTER AK
-084B  ; [.1D1F.0020.0002.084B] # MANDAIC LETTER AL
-084C  ; [.1D20.0020.0002.084C] # MANDAIC LETTER AM
-084D  ; [.1D21.0020.0002.084D] # MANDAIC LETTER AN
-084E  ; [.1D22.0020.0002.084E] # MANDAIC LETTER AS
-084F  ; [.1D23.0020.0002.084F] # MANDAIC LETTER IN
-0850  ; [.1D24.0020.0002.0850] # MANDAIC LETTER AP
-0851  ; [.1D25.0020.0002.0851] # MANDAIC LETTER ASZ
-0852  ; [.1D26.0020.0002.0852] # MANDAIC LETTER AQ
-0853  ; [.1D27.0020.0002.0853] # MANDAIC LETTER AR
-0854  ; [.1D28.0020.0002.0854] # MANDAIC LETTER ASH
-0855  ; [.1D29.0020.0002.0855] # MANDAIC LETTER AT
-0856  ; [.1D2A.0020.0002.0856] # MANDAIC LETTER DUSHENNA
-0857  ; [.1D2B.0020.0002.0857] # MANDAIC LETTER KAD
-0858  ; [.1D2C.0020.0002.0858] # MANDAIC LETTER AIN
-0780  ; [.1D2D.0020.0002.0780] # THAANA LETTER HAA
-0799  ; [.1D2E.0020.0002.0799] # THAANA LETTER HHAA
-079A  ; [.1D2F.0020.0002.079A] # THAANA LETTER KHAA
-0781  ; [.1D30.0020.0002.0781] # THAANA LETTER SHAVIYANI
-0782  ; [.1D31.0020.0002.0782] # THAANA LETTER NOONU
-0783  ; [.1D32.0020.0002.0783] # THAANA LETTER RAA
-079C  ; [.1D33.0020.0002.079C] # THAANA LETTER ZAA
-0784  ; [.1D34.0020.0002.0784] # THAANA LETTER BAA
-0785  ; [.1D35.0020.0002.0785] # THAANA LETTER LHAVIYANI
-0786  ; [.1D36.0020.0002.0786] # THAANA LETTER KAAFU
-0787  ; [.1D37.0020.0002.0787] # THAANA LETTER ALIFU
-07A2  ; [.1D38.0020.0002.07A2] # THAANA LETTER AINU
-07A3  ; [.1D39.0020.0002.07A3] # THAANA LETTER GHAINU
-0788  ; [.1D3A.0020.0002.0788] # THAANA LETTER VAAVU
-07A5  ; [.1D3B.0020.0002.07A5] # THAANA LETTER WAAVU
-0789  ; [.1D3C.0020.0002.0789] # THAANA LETTER MEEMU
-078A  ; [.1D3D.0020.0002.078A] # THAANA LETTER FAAFU
-078B  ; [.1D3E.0020.0002.078B] # THAANA LETTER DHAALU
-079B  ; [.1D3F.0020.0002.079B] # THAANA LETTER THAALU
-078C  ; [.1D40.0020.0002.078C] # THAANA LETTER THAA
-0798  ; [.1D41.0020.0002.0798] # THAANA LETTER TTAA
-07A0  ; [.1D42.0020.0002.07A0] # THAANA LETTER TO
-07A1  ; [.1D43.0020.0002.07A1] # THAANA LETTER ZO
-078D  ; [.1D44.0020.0002.078D] # THAANA LETTER LAAMU
-078E  ; [.1D45.0020.0002.078E] # THAANA LETTER GAAFU
-07A4  ; [.1D46.0020.0002.07A4] # THAANA LETTER QAAFU
-078F  ; [.1D47.0020.0002.078F] # THAANA LETTER GNAVIYANI
-0790  ; [.1D48.0020.0002.0790] # THAANA LETTER SEENU
-079D  ; [.1D49.0020.0002.079D] # THAANA LETTER SHEENU
-079E  ; [.1D4A.0020.0002.079E] # THAANA LETTER SAADHU
-079F  ; [.1D4B.0020.0002.079F] # THAANA LETTER DAADHU
-0791  ; [.1D4C.0020.0002.0791] # THAANA LETTER DAVIYANI
-0792  ; [.1D4D.0020.0002.0792] # THAANA LETTER ZAVIYANI
-0793  ; [.1D4E.0020.0002.0793] # THAANA LETTER TAVIYANI
-0794  ; [.1D4F.0020.0002.0794] # THAANA LETTER YAA
-0795  ; [.1D50.0020.0002.0795] # THAANA LETTER PAVIYANI
-0796  ; [.1D51.0020.0002.0796] # THAANA LETTER JAVIYANI
-0797  ; [.1D52.0020.0002.0797] # THAANA LETTER CHAVIYANI
-07B1  ; [.1D53.0020.0002.07B1] # THAANA LETTER NAA
-07A6  ; [.1D54.0020.0002.07A6] # THAANA ABAFILI
-07A7  ; [.1D55.0020.0002.07A7] # THAANA AABAAFILI
-07A8  ; [.1D56.0020.0002.07A8] # THAANA IBIFILI
-07A9  ; [.1D57.0020.0002.07A9] # THAANA EEBEEFILI
-07AA  ; [.1D58.0020.0002.07AA] # THAANA UBUFILI
-07AB  ; [.1D59.0020.0002.07AB] # THAANA OOBOOFILI
-07AC  ; [.1D5A.0020.0002.07AC] # THAANA EBEFILI
-07AD  ; [.1D5B.0020.0002.07AD] # THAANA EYBEYFILI
-07AE  ; [.1D5C.0020.0002.07AE] # THAANA OBOFILI
-07AF  ; [.1D5D.0020.0002.07AF] # THAANA OABOAFILI
-07B0  ; [.1D5E.0020.0002.07B0] # THAANA SUKUN
-07CA  ; [.1D5F.0020.0002.07CA] # NKO LETTER A
-07CB  ; [.1D60.0020.0002.07CB] # NKO LETTER EE
-07CC  ; [.1D61.0020.0002.07CC] # NKO LETTER I
-07CD  ; [.1D62.0020.0002.07CD] # NKO LETTER E
-07CE  ; [.1D63.0020.0002.07CE] # NKO LETTER U
-07CF  ; [.1D64.0020.0002.07CF] # NKO LETTER OO
-07D0  ; [.1D65.0020.0002.07D0] # NKO LETTER O
-07D1  ; [.1D66.0020.0002.07D1] # NKO LETTER DAGBASINNA
-07D2  ; [.1D67.0020.0002.07D2] # NKO LETTER N
-07D3  ; [.1D68.0020.0002.07D3] # NKO LETTER BA
-07D4  ; [.1D69.0020.0002.07D4] # NKO LETTER PA
-07D5  ; [.1D6A.0020.0002.07D5] # NKO LETTER TA
-07D6  ; [.1D6B.0020.0002.07D6] # NKO LETTER JA
-07E8  ; [.1D6B.0020.0004.07E8][.0000.015F.0004.07E8] # NKO LETTER JONA JA; QQKN
-07D7  ; [.1D6C.0020.0002.07D7] # NKO LETTER CHA
-07E9  ; [.1D6C.0020.0004.07E9][.0000.015F.0004.07E9] # NKO LETTER JONA CHA; QQKN
-07D8  ; [.1D6D.0020.0002.07D8] # NKO LETTER DA
-07D9  ; [.1D6E.0020.0002.07D9] # NKO LETTER RA
-07EA  ; [.1D6E.0020.0004.07EA][.0000.015F.0004.07EA] # NKO LETTER JONA RA; QQKN
-07DA  ; [.1D6F.0020.0002.07DA] # NKO LETTER RRA
-07DB  ; [.1D70.0020.0002.07DB] # NKO LETTER SA
-07DC  ; [.1D71.0020.0002.07DC] # NKO LETTER GBA
-07DD  ; [.1D72.0020.0002.07DD] # NKO LETTER FA
-07DE  ; [.1D73.0020.0002.07DE] # NKO LETTER KA
-07DF  ; [.1D74.0020.0002.07DF] # NKO LETTER LA
-07E0  ; [.1D75.0020.0002.07E0] # NKO LETTER NA WOLOSO
-07E1  ; [.1D76.0020.0002.07E1] # NKO LETTER MA
-07E2  ; [.1D77.0020.0002.07E2] # NKO LETTER NYA
-07E3  ; [.1D78.0020.0002.07E3] # NKO LETTER NA
-07E4  ; [.1D79.0020.0002.07E4] # NKO LETTER HA
-07E5  ; [.1D7A.0020.0002.07E5] # NKO LETTER WA
-07E6  ; [.1D7B.0020.0002.07E6] # NKO LETTER YA
-07E7  ; [.1D7C.0020.0002.07E7] # NKO LETTER NYA WOLOSO
-07F4  ; [.1D7D.0020.0002.07F4] # NKO HIGH TONE APOSTROPHE
-07F5  ; [.1D7E.0020.0002.07F5] # NKO LOW TONE APOSTROPHE
-2D30  ; [.1D7F.0020.0002.2D30] # TIFINAGH LETTER YA
-2D31  ; [.1D80.0020.0002.2D31] # TIFINAGH LETTER YAB
-2D32  ; [.1D81.0020.0002.2D32] # TIFINAGH LETTER YABH
-2D33  ; [.1D82.0020.0002.2D33] # TIFINAGH LETTER YAG
-2D34  ; [.1D83.0020.0002.2D34] # TIFINAGH LETTER YAGHH
-2D35  ; [.1D84.0020.0002.2D35] # TIFINAGH LETTER BERBER ACADEMY YAJ
-2D36  ; [.1D85.0020.0002.2D36] # TIFINAGH LETTER YAJ
-2D37  ; [.1D86.0020.0002.2D37] # TIFINAGH LETTER YAD
-2D38  ; [.1D87.0020.0002.2D38] # TIFINAGH LETTER YADH
-2D39  ; [.1D88.0020.0002.2D39] # TIFINAGH LETTER YADD
-2D3A  ; [.1D89.0020.0002.2D3A] # TIFINAGH LETTER YADDH
-2D3B  ; [.1D8A.0020.0002.2D3B] # TIFINAGH LETTER YEY
-2D3C  ; [.1D8B.0020.0002.2D3C] # TIFINAGH LETTER YAF
-2D3D  ; [.1D8C.0020.0002.2D3D] # TIFINAGH LETTER YAK
-2D3E  ; [.1D8D.0020.0002.2D3E] # TIFINAGH LETTER TUAREG YAK
-2D3F  ; [.1D8E.0020.0002.2D3F] # TIFINAGH LETTER YAKHH
-2D40  ; [.1D8F.0020.0002.2D40] # TIFINAGH LETTER YAH
-2D41  ; [.1D90.0020.0002.2D41] # TIFINAGH LETTER BERBER ACADEMY YAH
-2D42  ; [.1D91.0020.0002.2D42] # TIFINAGH LETTER TUAREG YAH
-2D43  ; [.1D92.0020.0002.2D43] # TIFINAGH LETTER YAHH
-2D44  ; [.1D93.0020.0002.2D44] # TIFINAGH LETTER YAA
-2D45  ; [.1D94.0020.0002.2D45] # TIFINAGH LETTER YAKH
-2D46  ; [.1D95.0020.0002.2D46] # TIFINAGH LETTER TUAREG YAKH
-2D47  ; [.1D96.0020.0002.2D47] # TIFINAGH LETTER YAQ
-2D48  ; [.1D97.0020.0002.2D48] # TIFINAGH LETTER TUAREG YAQ
-2D49  ; [.1D98.0020.0002.2D49] # TIFINAGH LETTER YI
-2D4A  ; [.1D99.0020.0002.2D4A] # TIFINAGH LETTER YAZH
-2D4B  ; [.1D9A.0020.0002.2D4B] # TIFINAGH LETTER AHAGGAR YAZH
-2D4C  ; [.1D9B.0020.0002.2D4C] # TIFINAGH LETTER TUAREG YAZH
-2D4D  ; [.1D9C.0020.0002.2D4D] # TIFINAGH LETTER YAL
-2D4E  ; [.1D9D.0020.0002.2D4E] # TIFINAGH LETTER YAM
-2D4F  ; [.1D9E.0020.0002.2D4F] # TIFINAGH LETTER YAN
-2D50  ; [.1D9F.0020.0002.2D50] # TIFINAGH LETTER TUAREG YAGN
-2D51  ; [.1DA0.0020.0002.2D51] # TIFINAGH LETTER TUAREG YANG
-2D52  ; [.1DA1.0020.0002.2D52] # TIFINAGH LETTER YAP
-2D53  ; [.1DA2.0020.0002.2D53] # TIFINAGH LETTER YU
-2D54  ; [.1DA3.0020.0002.2D54] # TIFINAGH LETTER YAR
-2D55  ; [.1DA4.0020.0002.2D55] # TIFINAGH LETTER YARR
-2D56  ; [.1DA5.0020.0002.2D56] # TIFINAGH LETTER YAGH
-2D57  ; [.1DA6.0020.0002.2D57] # TIFINAGH LETTER TUAREG YAGH
-2D58  ; [.1DA7.0020.0002.2D58] # TIFINAGH LETTER AYER YAGH
-2D59  ; [.1DA8.0020.0002.2D59] # TIFINAGH LETTER YAS
-2D5A  ; [.1DA9.0020.0002.2D5A] # TIFINAGH LETTER YASS
-2D5B  ; [.1DAA.0020.0002.2D5B] # TIFINAGH LETTER YASH
-2D5C  ; [.1DAB.0020.0002.2D5C] # TIFINAGH LETTER YAT
-2D5D  ; [.1DAC.0020.0002.2D5D] # TIFINAGH LETTER YATH
-2D5E  ; [.1DAD.0020.0002.2D5E] # TIFINAGH LETTER YACH
-2D5F  ; [.1DAE.0020.0002.2D5F] # TIFINAGH LETTER YATT
-2D60  ; [.1DAF.0020.0002.2D60] # TIFINAGH LETTER YAV
-2D61  ; [.1DB0.0020.0002.2D61] # TIFINAGH LETTER YAW
-2D62  ; [.1DB1.0020.0002.2D62] # TIFINAGH LETTER YAY
-2D63  ; [.1DB2.0020.0002.2D63] # TIFINAGH LETTER YAZ
-2D64  ; [.1DB3.0020.0002.2D64] # TIFINAGH LETTER TAWELLEMET YAZ
-2D65  ; [.1DB4.0020.0002.2D65] # TIFINAGH LETTER YAZZ
-2D6F  ; [.1DB5.0020.0002.2D6F] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
-1200  ; [.1DB6.0020.0002.1200] # ETHIOPIC SYLLABLE HA
-1201  ; [.1DB7.0020.0002.1201] # ETHIOPIC SYLLABLE HU
-1202  ; [.1DB8.0020.0002.1202] # ETHIOPIC SYLLABLE HI
-1203  ; [.1DB9.0020.0002.1203] # ETHIOPIC SYLLABLE HAA
-1204  ; [.1DBA.0020.0002.1204] # ETHIOPIC SYLLABLE HEE
-1205  ; [.1DBB.0020.0002.1205] # ETHIOPIC SYLLABLE HE
-1206  ; [.1DBC.0020.0002.1206] # ETHIOPIC SYLLABLE HO
-1207  ; [.1DBD.0020.0002.1207] # ETHIOPIC SYLLABLE HOA
-1208  ; [.1DBE.0020.0002.1208] # ETHIOPIC SYLLABLE LA
-1209  ; [.1DBF.0020.0002.1209] # ETHIOPIC SYLLABLE LU
-120A  ; [.1DC0.0020.0002.120A] # ETHIOPIC SYLLABLE LI
-120B  ; [.1DC1.0020.0002.120B] # ETHIOPIC SYLLABLE LAA
-120C  ; [.1DC2.0020.0002.120C] # ETHIOPIC SYLLABLE LEE
-120D  ; [.1DC3.0020.0002.120D] # ETHIOPIC SYLLABLE LE
-120E  ; [.1DC4.0020.0002.120E] # ETHIOPIC SYLLABLE LO
-120F  ; [.1DC5.0020.0002.120F] # ETHIOPIC SYLLABLE LWA
-2D80  ; [.1DC6.0020.0002.2D80] # ETHIOPIC SYLLABLE LOA
-1210  ; [.1DC7.0020.0002.1210] # ETHIOPIC SYLLABLE HHA
-1211  ; [.1DC8.0020.0002.1211] # ETHIOPIC SYLLABLE HHU
-1212  ; [.1DC9.0020.0002.1212] # ETHIOPIC SYLLABLE HHI
-1213  ; [.1DCA.0020.0002.1213] # ETHIOPIC SYLLABLE HHAA
-1214  ; [.1DCB.0020.0002.1214] # ETHIOPIC SYLLABLE HHEE
-1215  ; [.1DCC.0020.0002.1215] # ETHIOPIC SYLLABLE HHE
-1216  ; [.1DCD.0020.0002.1216] # ETHIOPIC SYLLABLE HHO
-1217  ; [.1DCE.0020.0002.1217] # ETHIOPIC SYLLABLE HHWA
-1218  ; [.1DCF.0020.0002.1218] # ETHIOPIC SYLLABLE MA
-1219  ; [.1DD0.0020.0002.1219] # ETHIOPIC SYLLABLE MU
-121A  ; [.1DD1.0020.0002.121A] # ETHIOPIC SYLLABLE MI
-121B  ; [.1DD2.0020.0002.121B] # ETHIOPIC SYLLABLE MAA
-121C  ; [.1DD3.0020.0002.121C] # ETHIOPIC SYLLABLE MEE
-121D  ; [.1DD4.0020.0002.121D] # ETHIOPIC SYLLABLE ME
-121E  ; [.1DD5.0020.0002.121E] # ETHIOPIC SYLLABLE MO
-121F  ; [.1DD6.0020.0002.121F] # ETHIOPIC SYLLABLE MWA
-1380  ; [.1DD7.0020.0002.1380] # ETHIOPIC SYLLABLE SEBATBEIT MWA
-1381  ; [.1DD8.0020.0002.1381] # ETHIOPIC SYLLABLE MWI
-1382  ; [.1DD9.0020.0002.1382] # ETHIOPIC SYLLABLE MWEE
-1383  ; [.1DDA.0020.0002.1383] # ETHIOPIC SYLLABLE MWE
-2D81  ; [.1DDB.0020.0002.2D81] # ETHIOPIC SYLLABLE MOA
-1220  ; [.1DDC.0020.0002.1220] # ETHIOPIC SYLLABLE SZA
-1221  ; [.1DDD.0020.0002.1221] # ETHIOPIC SYLLABLE SZU
-1222  ; [.1DDE.0020.0002.1222] # ETHIOPIC SYLLABLE SZI
-1223  ; [.1DDF.0020.0002.1223] # ETHIOPIC SYLLABLE SZAA
-1224  ; [.1DE0.0020.0002.1224] # ETHIOPIC SYLLABLE SZEE
-1225  ; [.1DE1.0020.0002.1225] # ETHIOPIC SYLLABLE SZE
-1226  ; [.1DE2.0020.0002.1226] # ETHIOPIC SYLLABLE SZO
-1227  ; [.1DE3.0020.0002.1227] # ETHIOPIC SYLLABLE SZWA
-1228  ; [.1DE4.0020.0002.1228] # ETHIOPIC SYLLABLE RA
-1229  ; [.1DE5.0020.0002.1229] # ETHIOPIC SYLLABLE RU
-122A  ; [.1DE6.0020.0002.122A] # ETHIOPIC SYLLABLE RI
-122B  ; [.1DE7.0020.0002.122B] # ETHIOPIC SYLLABLE RAA
-122C  ; [.1DE8.0020.0002.122C] # ETHIOPIC SYLLABLE REE
-122D  ; [.1DE9.0020.0002.122D] # ETHIOPIC SYLLABLE RE
-122E  ; [.1DEA.0020.0002.122E] # ETHIOPIC SYLLABLE RO
-122F  ; [.1DEB.0020.0002.122F] # ETHIOPIC SYLLABLE RWA
-2D82  ; [.1DEC.0020.0002.2D82] # ETHIOPIC SYLLABLE ROA
-1230  ; [.1DED.0020.0002.1230] # ETHIOPIC SYLLABLE SA
-1231  ; [.1DEE.0020.0002.1231] # ETHIOPIC SYLLABLE SU
-1232  ; [.1DEF.0020.0002.1232] # ETHIOPIC SYLLABLE SI
-1233  ; [.1DF0.0020.0002.1233] # ETHIOPIC SYLLABLE SAA
-1234  ; [.1DF1.0020.0002.1234] # ETHIOPIC SYLLABLE SEE
-1235  ; [.1DF2.0020.0002.1235] # ETHIOPIC SYLLABLE SE
-1236  ; [.1DF3.0020.0002.1236] # ETHIOPIC SYLLABLE SO
-1237  ; [.1DF4.0020.0002.1237] # ETHIOPIC SYLLABLE SWA
-2D83  ; [.1DF5.0020.0002.2D83] # ETHIOPIC SYLLABLE SOA
-AB01  ; [.1DF6.0020.0002.AB01] # ETHIOPIC SYLLABLE TTHU
-AB02  ; [.1DF7.0020.0002.AB02] # ETHIOPIC SYLLABLE TTHI
-AB03  ; [.1DF8.0020.0002.AB03] # ETHIOPIC SYLLABLE TTHAA
-AB04  ; [.1DF9.0020.0002.AB04] # ETHIOPIC SYLLABLE TTHEE
-AB05  ; [.1DFA.0020.0002.AB05] # ETHIOPIC SYLLABLE TTHE
-AB06  ; [.1DFB.0020.0002.AB06] # ETHIOPIC SYLLABLE TTHO
-1238  ; [.1DFC.0020.0002.1238] # ETHIOPIC SYLLABLE SHA
-1239  ; [.1DFD.0020.0002.1239] # ETHIOPIC SYLLABLE SHU
-123A  ; [.1DFE.0020.0002.123A] # ETHIOPIC SYLLABLE SHI
-123B  ; [.1DFF.0020.0002.123B] # ETHIOPIC SYLLABLE SHAA
-123C  ; [.1E00.0020.0002.123C] # ETHIOPIC SYLLABLE SHEE
-123D  ; [.1E01.0020.0002.123D] # ETHIOPIC SYLLABLE SHE
-123E  ; [.1E02.0020.0002.123E] # ETHIOPIC SYLLABLE SHO
-123F  ; [.1E03.0020.0002.123F] # ETHIOPIC SYLLABLE SHWA
-2D84  ; [.1E04.0020.0002.2D84] # ETHIOPIC SYLLABLE SHOA
-1240  ; [.1E05.0020.0002.1240] # ETHIOPIC SYLLABLE QA
-1241  ; [.1E06.0020.0002.1241] # ETHIOPIC SYLLABLE QU
-1242  ; [.1E07.0020.0002.1242] # ETHIOPIC SYLLABLE QI
-1243  ; [.1E08.0020.0002.1243] # ETHIOPIC SYLLABLE QAA
-1244  ; [.1E09.0020.0002.1244] # ETHIOPIC SYLLABLE QEE
-1245  ; [.1E0A.0020.0002.1245] # ETHIOPIC SYLLABLE QE
-1246  ; [.1E0B.0020.0002.1246] # ETHIOPIC SYLLABLE QO
-1247  ; [.1E0C.0020.0002.1247] # ETHIOPIC SYLLABLE QOA
-1248  ; [.1E0D.0020.0002.1248] # ETHIOPIC SYLLABLE QWA
-124A  ; [.1E0E.0020.0002.124A] # ETHIOPIC SYLLABLE QWI
-124B  ; [.1E0F.0020.0002.124B] # ETHIOPIC SYLLABLE QWAA
-124C  ; [.1E10.0020.0002.124C] # ETHIOPIC SYLLABLE QWEE
-124D  ; [.1E11.0020.0002.124D] # ETHIOPIC SYLLABLE QWE
-1250  ; [.1E12.0020.0002.1250] # ETHIOPIC SYLLABLE QHA
-1251  ; [.1E13.0020.0002.1251] # ETHIOPIC SYLLABLE QHU
-1252  ; [.1E14.0020.0002.1252] # ETHIOPIC SYLLABLE QHI
-1253  ; [.1E15.0020.0002.1253] # ETHIOPIC SYLLABLE QHAA
-1254  ; [.1E16.0020.0002.1254] # ETHIOPIC SYLLABLE QHEE
-1255  ; [.1E17.0020.0002.1255] # ETHIOPIC SYLLABLE QHE
-1256  ; [.1E18.0020.0002.1256] # ETHIOPIC SYLLABLE QHO
-1258  ; [.1E19.0020.0002.1258] # ETHIOPIC SYLLABLE QHWA
-125A  ; [.1E1A.0020.0002.125A] # ETHIOPIC SYLLABLE QHWI
-125B  ; [.1E1B.0020.0002.125B] # ETHIOPIC SYLLABLE QHWAA
-125C  ; [.1E1C.0020.0002.125C] # ETHIOPIC SYLLABLE QHWEE
-125D  ; [.1E1D.0020.0002.125D] # ETHIOPIC SYLLABLE QHWE
-1260  ; [.1E1E.0020.0002.1260] # ETHIOPIC SYLLABLE BA
-1261  ; [.1E1F.0020.0002.1261] # ETHIOPIC SYLLABLE BU
-1262  ; [.1E20.0020.0002.1262] # ETHIOPIC SYLLABLE BI
-1263  ; [.1E21.0020.0002.1263] # ETHIOPIC SYLLABLE BAA
-1264  ; [.1E22.0020.0002.1264] # ETHIOPIC SYLLABLE BEE
-1265  ; [.1E23.0020.0002.1265] # ETHIOPIC SYLLABLE BE
-1266  ; [.1E24.0020.0002.1266] # ETHIOPIC SYLLABLE BO
-1267  ; [.1E25.0020.0002.1267] # ETHIOPIC SYLLABLE BWA
-1384  ; [.1E26.0020.0002.1384] # ETHIOPIC SYLLABLE SEBATBEIT BWA
-1385  ; [.1E27.0020.0002.1385] # ETHIOPIC SYLLABLE BWI
-1386  ; [.1E28.0020.0002.1386] # ETHIOPIC SYLLABLE BWEE
-1387  ; [.1E29.0020.0002.1387] # ETHIOPIC SYLLABLE BWE
-2D85  ; [.1E2A.0020.0002.2D85] # ETHIOPIC SYLLABLE BOA
-1268  ; [.1E2B.0020.0002.1268] # ETHIOPIC SYLLABLE VA
-1269  ; [.1E2C.0020.0002.1269] # ETHIOPIC SYLLABLE VU
-126A  ; [.1E2D.0020.0002.126A] # ETHIOPIC SYLLABLE VI
-126B  ; [.1E2E.0020.0002.126B] # ETHIOPIC SYLLABLE VAA
-126C  ; [.1E2F.0020.0002.126C] # ETHIOPIC SYLLABLE VEE
-126D  ; [.1E30.0020.0002.126D] # ETHIOPIC SYLLABLE VE
-126E  ; [.1E31.0020.0002.126E] # ETHIOPIC SYLLABLE VO
-126F  ; [.1E32.0020.0002.126F] # ETHIOPIC SYLLABLE VWA
-1270  ; [.1E33.0020.0002.1270] # ETHIOPIC SYLLABLE TA
-1271  ; [.1E34.0020.0002.1271] # ETHIOPIC SYLLABLE TU
-1272  ; [.1E35.0020.0002.1272] # ETHIOPIC SYLLABLE TI
-1273  ; [.1E36.0020.0002.1273] # ETHIOPIC SYLLABLE TAA
-1274  ; [.1E37.0020.0002.1274] # ETHIOPIC SYLLABLE TEE
-1275  ; [.1E38.0020.0002.1275] # ETHIOPIC SYLLABLE TE
-1276  ; [.1E39.0020.0002.1276] # ETHIOPIC SYLLABLE TO
-1277  ; [.1E3A.0020.0002.1277] # ETHIOPIC SYLLABLE TWA
-2D86  ; [.1E3B.0020.0002.2D86] # ETHIOPIC SYLLABLE TOA
-1278  ; [.1E3C.0020.0002.1278] # ETHIOPIC SYLLABLE CA
-1279  ; [.1E3D.0020.0002.1279] # ETHIOPIC SYLLABLE CU
-127A  ; [.1E3E.0020.0002.127A] # ETHIOPIC SYLLABLE CI
-127B  ; [.1E3F.0020.0002.127B] # ETHIOPIC SYLLABLE CAA
-127C  ; [.1E40.0020.0002.127C] # ETHIOPIC SYLLABLE CEE
-127D  ; [.1E41.0020.0002.127D] # ETHIOPIC SYLLABLE CE
-127E  ; [.1E42.0020.0002.127E] # ETHIOPIC SYLLABLE CO
-127F  ; [.1E43.0020.0002.127F] # ETHIOPIC SYLLABLE CWA
-2D87  ; [.1E44.0020.0002.2D87] # ETHIOPIC SYLLABLE COA
-1280  ; [.1E45.0020.0002.1280] # ETHIOPIC SYLLABLE XA
-1281  ; [.1E46.0020.0002.1281] # ETHIOPIC SYLLABLE XU
-1282  ; [.1E47.0020.0002.1282] # ETHIOPIC SYLLABLE XI
-1283  ; [.1E48.0020.0002.1283] # ETHIOPIC SYLLABLE XAA
-1284  ; [.1E49.0020.0002.1284] # ETHIOPIC SYLLABLE XEE
-1285  ; [.1E4A.0020.0002.1285] # ETHIOPIC SYLLABLE XE
-1286  ; [.1E4B.0020.0002.1286] # ETHIOPIC SYLLABLE XO
-1287  ; [.1E4C.0020.0002.1287] # ETHIOPIC SYLLABLE XOA
-1288  ; [.1E4D.0020.0002.1288] # ETHIOPIC SYLLABLE XWA
-128A  ; [.1E4E.0020.0002.128A] # ETHIOPIC SYLLABLE XWI
-128B  ; [.1E4F.0020.0002.128B] # ETHIOPIC SYLLABLE XWAA
-128C  ; [.1E50.0020.0002.128C] # ETHIOPIC SYLLABLE XWEE
-128D  ; [.1E51.0020.0002.128D] # ETHIOPIC SYLLABLE XWE
-1290  ; [.1E52.0020.0002.1290] # ETHIOPIC SYLLABLE NA
-1291  ; [.1E53.0020.0002.1291] # ETHIOPIC SYLLABLE NU
-1292  ; [.1E54.0020.0002.1292] # ETHIOPIC SYLLABLE NI
-1293  ; [.1E55.0020.0002.1293] # ETHIOPIC SYLLABLE NAA
-1294  ; [.1E56.0020.0002.1294] # ETHIOPIC SYLLABLE NEE
-1295  ; [.1E57.0020.0002.1295] # ETHIOPIC SYLLABLE NE
-1296  ; [.1E58.0020.0002.1296] # ETHIOPIC SYLLABLE NO
-1297  ; [.1E59.0020.0002.1297] # ETHIOPIC SYLLABLE NWA
-2D88  ; [.1E5A.0020.0002.2D88] # ETHIOPIC SYLLABLE NOA
-1298  ; [.1E5B.0020.0002.1298] # ETHIOPIC SYLLABLE NYA
-1299  ; [.1E5C.0020.0002.1299] # ETHIOPIC SYLLABLE NYU
-129A  ; [.1E5D.0020.0002.129A] # ETHIOPIC SYLLABLE NYI
-129B  ; [.1E5E.0020.0002.129B] # ETHIOPIC SYLLABLE NYAA
-129C  ; [.1E5F.0020.0002.129C] # ETHIOPIC SYLLABLE NYEE
-129D  ; [.1E60.0020.0002.129D] # ETHIOPIC SYLLABLE NYE
-129E  ; [.1E61.0020.0002.129E] # ETHIOPIC SYLLABLE NYO
-129F  ; [.1E62.0020.0002.129F] # ETHIOPIC SYLLABLE NYWA
-2D89  ; [.1E63.0020.0002.2D89] # ETHIOPIC SYLLABLE NYOA
-12A0  ; [.1E64.0020.0002.12A0] # ETHIOPIC SYLLABLE GLOTTAL A
-12A1  ; [.1E65.0020.0002.12A1] # ETHIOPIC SYLLABLE GLOTTAL U
-12A2  ; [.1E66.0020.0002.12A2] # ETHIOPIC SYLLABLE GLOTTAL I
-12A3  ; [.1E67.0020.0002.12A3] # ETHIOPIC SYLLABLE GLOTTAL AA
-12A4  ; [.1E68.0020.0002.12A4] # ETHIOPIC SYLLABLE GLOTTAL EE
-12A5  ; [.1E69.0020.0002.12A5] # ETHIOPIC SYLLABLE GLOTTAL E
-12A6  ; [.1E6A.0020.0002.12A6] # ETHIOPIC SYLLABLE GLOTTAL O
-12A7  ; [.1E6B.0020.0002.12A7] # ETHIOPIC SYLLABLE GLOTTAL WA
-2D8A  ; [.1E6C.0020.0002.2D8A] # ETHIOPIC SYLLABLE GLOTTAL OA
-12A8  ; [.1E6D.0020.0002.12A8] # ETHIOPIC SYLLABLE KA
-12A9  ; [.1E6E.0020.0002.12A9] # ETHIOPIC SYLLABLE KU
-12AA  ; [.1E6F.0020.0002.12AA] # ETHIOPIC SYLLABLE KI
-12AB  ; [.1E70.0020.0002.12AB] # ETHIOPIC SYLLABLE KAA
-12AC  ; [.1E71.0020.0002.12AC] # ETHIOPIC SYLLABLE KEE
-12AD  ; [.1E72.0020.0002.12AD] # ETHIOPIC SYLLABLE KE
-12AE  ; [.1E73.0020.0002.12AE] # ETHIOPIC SYLLABLE KO
-12AF  ; [.1E74.0020.0002.12AF] # ETHIOPIC SYLLABLE KOA
-12B0  ; [.1E75.0020.0002.12B0] # ETHIOPIC SYLLABLE KWA
-12B2  ; [.1E76.0020.0002.12B2] # ETHIOPIC SYLLABLE KWI
-12B3  ; [.1E77.0020.0002.12B3] # ETHIOPIC SYLLABLE KWAA
-12B4  ; [.1E78.0020.0002.12B4] # ETHIOPIC SYLLABLE KWEE
-12B5  ; [.1E79.0020.0002.12B5] # ETHIOPIC SYLLABLE KWE
-12B8  ; [.1E7A.0020.0002.12B8] # ETHIOPIC SYLLABLE KXA
-12B9  ; [.1E7B.0020.0002.12B9] # ETHIOPIC SYLLABLE KXU
-12BA  ; [.1E7C.0020.0002.12BA] # ETHIOPIC SYLLABLE KXI
-12BB  ; [.1E7D.0020.0002.12BB] # ETHIOPIC SYLLABLE KXAA
-12BC  ; [.1E7E.0020.0002.12BC] # ETHIOPIC SYLLABLE KXEE
-12BD  ; [.1E7F.0020.0002.12BD] # ETHIOPIC SYLLABLE KXE
-12BE  ; [.1E80.0020.0002.12BE] # ETHIOPIC SYLLABLE KXO
-12C0  ; [.1E81.0020.0002.12C0] # ETHIOPIC SYLLABLE KXWA
-12C2  ; [.1E82.0020.0002.12C2] # ETHIOPIC SYLLABLE KXWI
-12C3  ; [.1E83.0020.0002.12C3] # ETHIOPIC SYLLABLE KXWAA
-12C4  ; [.1E84.0020.0002.12C4] # ETHIOPIC SYLLABLE KXWEE
-12C5  ; [.1E85.0020.0002.12C5] # ETHIOPIC SYLLABLE KXWE
-12C8  ; [.1E86.0020.0002.12C8] # ETHIOPIC SYLLABLE WA
-12C9  ; [.1E87.0020.0002.12C9] # ETHIOPIC SYLLABLE WU
-12CA  ; [.1E88.0020.0002.12CA] # ETHIOPIC SYLLABLE WI
-12CB  ; [.1E89.0020.0002.12CB] # ETHIOPIC SYLLABLE WAA
-12CC  ; [.1E8A.0020.0002.12CC] # ETHIOPIC SYLLABLE WEE
-12CD  ; [.1E8B.0020.0002.12CD] # ETHIOPIC SYLLABLE WE
-12CE  ; [.1E8C.0020.0002.12CE] # ETHIOPIC SYLLABLE WO
-12CF  ; [.1E8D.0020.0002.12CF] # ETHIOPIC SYLLABLE WOA
-12D0  ; [.1E8E.0020.0002.12D0] # ETHIOPIC SYLLABLE PHARYNGEAL A
-12D1  ; [.1E8F.0020.0002.12D1] # ETHIOPIC SYLLABLE PHARYNGEAL U
-12D2  ; [.1E90.0020.0002.12D2] # ETHIOPIC SYLLABLE PHARYNGEAL I
-12D3  ; [.1E91.0020.0002.12D3] # ETHIOPIC SYLLABLE PHARYNGEAL AA
-12D4  ; [.1E92.0020.0002.12D4] # ETHIOPIC SYLLABLE PHARYNGEAL EE
-12D5  ; [.1E93.0020.0002.12D5] # ETHIOPIC SYLLABLE PHARYNGEAL E
-12D6  ; [.1E94.0020.0002.12D6] # ETHIOPIC SYLLABLE PHARYNGEAL O
-12D8  ; [.1E95.0020.0002.12D8] # ETHIOPIC SYLLABLE ZA
-12D9  ; [.1E96.0020.0002.12D9] # ETHIOPIC SYLLABLE ZU
-12DA  ; [.1E97.0020.0002.12DA] # ETHIOPIC SYLLABLE ZI
-12DB  ; [.1E98.0020.0002.12DB] # ETHIOPIC SYLLABLE ZAA
-12DC  ; [.1E99.0020.0002.12DC] # ETHIOPIC SYLLABLE ZEE
-12DD  ; [.1E9A.0020.0002.12DD] # ETHIOPIC SYLLABLE ZE
-12DE  ; [.1E9B.0020.0002.12DE] # ETHIOPIC SYLLABLE ZO
-12DF  ; [.1E9C.0020.0002.12DF] # ETHIOPIC SYLLABLE ZWA
-2D8B  ; [.1E9D.0020.0002.2D8B] # ETHIOPIC SYLLABLE ZOA
-AB11  ; [.1E9E.0020.0002.AB11] # ETHIOPIC SYLLABLE DZU
-AB12  ; [.1E9F.0020.0002.AB12] # ETHIOPIC SYLLABLE DZI
-AB13  ; [.1EA0.0020.0002.AB13] # ETHIOPIC SYLLABLE DZAA
-AB14  ; [.1EA1.0020.0002.AB14] # ETHIOPIC SYLLABLE DZEE
-AB15  ; [.1EA2.0020.0002.AB15] # ETHIOPIC SYLLABLE DZE
-AB16  ; [.1EA3.0020.0002.AB16] # ETHIOPIC SYLLABLE DZO
-12E0  ; [.1EA4.0020.0002.12E0] # ETHIOPIC SYLLABLE ZHA
-12E1  ; [.1EA5.0020.0002.12E1] # ETHIOPIC SYLLABLE ZHU
-12E2  ; [.1EA6.0020.0002.12E2] # ETHIOPIC SYLLABLE ZHI
-12E3  ; [.1EA7.0020.0002.12E3] # ETHIOPIC SYLLABLE ZHAA
-12E4  ; [.1EA8.0020.0002.12E4] # ETHIOPIC SYLLABLE ZHEE
-12E5  ; [.1EA9.0020.0002.12E5] # ETHIOPIC SYLLABLE ZHE
-12E6  ; [.1EAA.0020.0002.12E6] # ETHIOPIC SYLLABLE ZHO
-12E7  ; [.1EAB.0020.0002.12E7] # ETHIOPIC SYLLABLE ZHWA
-12E8  ; [.1EAC.0020.0002.12E8] # ETHIOPIC SYLLABLE YA
-12E9  ; [.1EAD.0020.0002.12E9] # ETHIOPIC SYLLABLE YU
-12EA  ; [.1EAE.0020.0002.12EA] # ETHIOPIC SYLLABLE YI
-12EB  ; [.1EAF.0020.0002.12EB] # ETHIOPIC SYLLABLE YAA
-12EC  ; [.1EB0.0020.0002.12EC] # ETHIOPIC SYLLABLE YEE
-12ED  ; [.1EB1.0020.0002.12ED] # ETHIOPIC SYLLABLE YE
-12EE  ; [.1EB2.0020.0002.12EE] # ETHIOPIC SYLLABLE YO
-12EF  ; [.1EB3.0020.0002.12EF] # ETHIOPIC SYLLABLE YOA
-12F0  ; [.1EB4.0020.0002.12F0] # ETHIOPIC SYLLABLE DA
-12F1  ; [.1EB5.0020.0002.12F1] # ETHIOPIC SYLLABLE DU
-12F2  ; [.1EB6.0020.0002.12F2] # ETHIOPIC SYLLABLE DI
-12F3  ; [.1EB7.0020.0002.12F3] # ETHIOPIC SYLLABLE DAA
-12F4  ; [.1EB8.0020.0002.12F4] # ETHIOPIC SYLLABLE DEE
-12F5  ; [.1EB9.0020.0002.12F5] # ETHIOPIC SYLLABLE DE
-12F6  ; [.1EBA.0020.0002.12F6] # ETHIOPIC SYLLABLE DO
-12F7  ; [.1EBB.0020.0002.12F7] # ETHIOPIC SYLLABLE DWA
-2D8C  ; [.1EBC.0020.0002.2D8C] # ETHIOPIC SYLLABLE DOA
-AB09  ; [.1EBD.0020.0002.AB09] # ETHIOPIC SYLLABLE DDHU
-AB0A  ; [.1EBE.0020.0002.AB0A] # ETHIOPIC SYLLABLE DDHI
-AB0B  ; [.1EBF.0020.0002.AB0B] # ETHIOPIC SYLLABLE DDHAA
-AB0C  ; [.1EC0.0020.0002.AB0C] # ETHIOPIC SYLLABLE DDHEE
-AB0D  ; [.1EC1.0020.0002.AB0D] # ETHIOPIC SYLLABLE DDHE
-AB0E  ; [.1EC2.0020.0002.AB0E] # ETHIOPIC SYLLABLE DDHO
-12F8  ; [.1EC3.0020.0002.12F8] # ETHIOPIC SYLLABLE DDA
-12F9  ; [.1EC4.0020.0002.12F9] # ETHIOPIC SYLLABLE DDU
-12FA  ; [.1EC5.0020.0002.12FA] # ETHIOPIC SYLLABLE DDI
-12FB  ; [.1EC6.0020.0002.12FB] # ETHIOPIC SYLLABLE DDAA
-12FC  ; [.1EC7.0020.0002.12FC] # ETHIOPIC SYLLABLE DDEE
-12FD  ; [.1EC8.0020.0002.12FD] # ETHIOPIC SYLLABLE DDE
-12FE  ; [.1EC9.0020.0002.12FE] # ETHIOPIC SYLLABLE DDO
-12FF  ; [.1ECA.0020.0002.12FF] # ETHIOPIC SYLLABLE DDWA
-2D8D  ; [.1ECB.0020.0002.2D8D] # ETHIOPIC SYLLABLE DDOA
-1300  ; [.1ECC.0020.0002.1300] # ETHIOPIC SYLLABLE JA
-1301  ; [.1ECD.0020.0002.1301] # ETHIOPIC SYLLABLE JU
-1302  ; [.1ECE.0020.0002.1302] # ETHIOPIC SYLLABLE JI
-1303  ; [.1ECF.0020.0002.1303] # ETHIOPIC SYLLABLE JAA
-1304  ; [.1ED0.0020.0002.1304] # ETHIOPIC SYLLABLE JEE
-1305  ; [.1ED1.0020.0002.1305] # ETHIOPIC SYLLABLE JE
-1306  ; [.1ED2.0020.0002.1306] # ETHIOPIC SYLLABLE JO
-1307  ; [.1ED3.0020.0002.1307] # ETHIOPIC SYLLABLE JWA
-2D8E  ; [.1ED4.0020.0002.2D8E] # ETHIOPIC SYLLABLE JOA
-1308  ; [.1ED5.0020.0002.1308] # ETHIOPIC SYLLABLE GA
-1309  ; [.1ED6.0020.0002.1309] # ETHIOPIC SYLLABLE GU
-130A  ; [.1ED7.0020.0002.130A] # ETHIOPIC SYLLABLE GI
-130B  ; [.1ED8.0020.0002.130B] # ETHIOPIC SYLLABLE GAA
-130C  ; [.1ED9.0020.0002.130C] # ETHIOPIC SYLLABLE GEE
-130D  ; [.1EDA.0020.0002.130D] # ETHIOPIC SYLLABLE GE
-130E  ; [.1EDB.0020.0002.130E] # ETHIOPIC SYLLABLE GO
-130F  ; [.1EDC.0020.0002.130F] # ETHIOPIC SYLLABLE GOA
-1310  ; [.1EDD.0020.0002.1310] # ETHIOPIC SYLLABLE GWA
-1312  ; [.1EDE.0020.0002.1312] # ETHIOPIC SYLLABLE GWI
-1313  ; [.1EDF.0020.0002.1313] # ETHIOPIC SYLLABLE GWAA
-1314  ; [.1EE0.0020.0002.1314] # ETHIOPIC SYLLABLE GWEE
-1315  ; [.1EE1.0020.0002.1315] # ETHIOPIC SYLLABLE GWE
-1318  ; [.1EE2.0020.0002.1318] # ETHIOPIC SYLLABLE GGA
-1319  ; [.1EE3.0020.0002.1319] # ETHIOPIC SYLLABLE GGU
-131A  ; [.1EE4.0020.0002.131A] # ETHIOPIC SYLLABLE GGI
-131B  ; [.1EE5.0020.0002.131B] # ETHIOPIC SYLLABLE GGAA
-131C  ; [.1EE6.0020.0002.131C] # ETHIOPIC SYLLABLE GGEE
-131D  ; [.1EE7.0020.0002.131D] # ETHIOPIC SYLLABLE GGE
-131E  ; [.1EE8.0020.0002.131E] # ETHIOPIC SYLLABLE GGO
-131F  ; [.1EE9.0020.0002.131F] # ETHIOPIC SYLLABLE GGWAA
-2D93  ; [.1EEA.0020.0002.2D93] # ETHIOPIC SYLLABLE GGWA
-2D94  ; [.1EEB.0020.0002.2D94] # ETHIOPIC SYLLABLE GGWI
-2D95  ; [.1EEC.0020.0002.2D95] # ETHIOPIC SYLLABLE GGWEE
-2D96  ; [.1EED.0020.0002.2D96] # ETHIOPIC SYLLABLE GGWE
-1320  ; [.1EEE.0020.0002.1320] # ETHIOPIC SYLLABLE THA
-1321  ; [.1EEF.0020.0002.1321] # ETHIOPIC SYLLABLE THU
-1322  ; [.1EF0.0020.0002.1322] # ETHIOPIC SYLLABLE THI
-1323  ; [.1EF1.0020.0002.1323] # ETHIOPIC SYLLABLE THAA
-1324  ; [.1EF2.0020.0002.1324] # ETHIOPIC SYLLABLE THEE
-1325  ; [.1EF3.0020.0002.1325] # ETHIOPIC SYLLABLE THE
-1326  ; [.1EF4.0020.0002.1326] # ETHIOPIC SYLLABLE THO
-1327  ; [.1EF5.0020.0002.1327] # ETHIOPIC SYLLABLE THWA
-2D8F  ; [.1EF6.0020.0002.2D8F] # ETHIOPIC SYLLABLE THOA
-1328  ; [.1EF7.0020.0002.1328] # ETHIOPIC SYLLABLE CHA
-1329  ; [.1EF8.0020.0002.1329] # ETHIOPIC SYLLABLE CHU
-132A  ; [.1EF9.0020.0002.132A] # ETHIOPIC SYLLABLE CHI
-132B  ; [.1EFA.0020.0002.132B] # ETHIOPIC SYLLABLE CHAA
-132C  ; [.1EFB.0020.0002.132C] # ETHIOPIC SYLLABLE CHEE
-132D  ; [.1EFC.0020.0002.132D] # ETHIOPIC SYLLABLE CHE
-132E  ; [.1EFD.0020.0002.132E] # ETHIOPIC SYLLABLE CHO
-132F  ; [.1EFE.0020.0002.132F] # ETHIOPIC SYLLABLE CHWA
-2D90  ; [.1EFF.0020.0002.2D90] # ETHIOPIC SYLLABLE CHOA
-AB20  ; [.1F00.0020.0002.AB20] # ETHIOPIC SYLLABLE CCHHA
-AB21  ; [.1F01.0020.0002.AB21] # ETHIOPIC SYLLABLE CCHHU
-AB22  ; [.1F02.0020.0002.AB22] # ETHIOPIC SYLLABLE CCHHI
-AB23  ; [.1F03.0020.0002.AB23] # ETHIOPIC SYLLABLE CCHHAA
-AB24  ; [.1F04.0020.0002.AB24] # ETHIOPIC SYLLABLE CCHHEE
-AB25  ; [.1F05.0020.0002.AB25] # ETHIOPIC SYLLABLE CCHHE
-AB26  ; [.1F06.0020.0002.AB26] # ETHIOPIC SYLLABLE CCHHO
-1330  ; [.1F07.0020.0002.1330] # ETHIOPIC SYLLABLE PHA
-1331  ; [.1F08.0020.0002.1331] # ETHIOPIC SYLLABLE PHU
-1332  ; [.1F09.0020.0002.1332] # ETHIOPIC SYLLABLE PHI
-1333  ; [.1F0A.0020.0002.1333] # ETHIOPIC SYLLABLE PHAA
-1334  ; [.1F0B.0020.0002.1334] # ETHIOPIC SYLLABLE PHEE
-1335  ; [.1F0C.0020.0002.1335] # ETHIOPIC SYLLABLE PHE
-1336  ; [.1F0D.0020.0002.1336] # ETHIOPIC SYLLABLE PHO
-1337  ; [.1F0E.0020.0002.1337] # ETHIOPIC SYLLABLE PHWA
-2D91  ; [.1F0F.0020.0002.2D91] # ETHIOPIC SYLLABLE PHOA
-1338  ; [.1F10.0020.0002.1338] # ETHIOPIC SYLLABLE TSA
-1339  ; [.1F11.0020.0002.1339] # ETHIOPIC SYLLABLE TSU
-133A  ; [.1F12.0020.0002.133A] # ETHIOPIC SYLLABLE TSI
-133B  ; [.1F13.0020.0002.133B] # ETHIOPIC SYLLABLE TSAA
-133C  ; [.1F14.0020.0002.133C] # ETHIOPIC SYLLABLE TSEE
-133D  ; [.1F15.0020.0002.133D] # ETHIOPIC SYLLABLE TSE
-133E  ; [.1F16.0020.0002.133E] # ETHIOPIC SYLLABLE TSO
-133F  ; [.1F17.0020.0002.133F] # ETHIOPIC SYLLABLE TSWA
-AB28  ; [.1F18.0020.0002.AB28] # ETHIOPIC SYLLABLE BBA
-AB29  ; [.1F19.0020.0002.AB29] # ETHIOPIC SYLLABLE BBU
-AB2A  ; [.1F1A.0020.0002.AB2A] # ETHIOPIC SYLLABLE BBI
-AB2B  ; [.1F1B.0020.0002.AB2B] # ETHIOPIC SYLLABLE BBAA
-AB2C  ; [.1F1C.0020.0002.AB2C] # ETHIOPIC SYLLABLE BBEE
-AB2D  ; [.1F1D.0020.0002.AB2D] # ETHIOPIC SYLLABLE BBE
-AB2E  ; [.1F1E.0020.0002.AB2E] # ETHIOPIC SYLLABLE BBO
-1340  ; [.1F1F.0020.0002.1340] # ETHIOPIC SYLLABLE TZA
-1341  ; [.1F20.0020.0002.1341] # ETHIOPIC SYLLABLE TZU
-1342  ; [.1F21.0020.0002.1342] # ETHIOPIC SYLLABLE TZI
-1343  ; [.1F22.0020.0002.1343] # ETHIOPIC SYLLABLE TZAA
-1344  ; [.1F23.0020.0002.1344] # ETHIOPIC SYLLABLE TZEE
-1345  ; [.1F24.0020.0002.1345] # ETHIOPIC SYLLABLE TZE
-1346  ; [.1F25.0020.0002.1346] # ETHIOPIC SYLLABLE TZO
-1347  ; [.1F26.0020.0002.1347] # ETHIOPIC SYLLABLE TZOA
-1348  ; [.1F27.0020.0002.1348] # ETHIOPIC SYLLABLE FA
-1349  ; [.1F28.0020.0002.1349] # ETHIOPIC SYLLABLE FU
-134A  ; [.1F29.0020.0002.134A] # ETHIOPIC SYLLABLE FI
-134B  ; [.1F2A.0020.0002.134B] # ETHIOPIC SYLLABLE FAA
-134C  ; [.1F2B.0020.0002.134C] # ETHIOPIC SYLLABLE FEE
-134D  ; [.1F2C.0020.0002.134D] # ETHIOPIC SYLLABLE FE
-134E  ; [.1F2D.0020.0002.134E] # ETHIOPIC SYLLABLE FO
-134F  ; [.1F2E.0020.0002.134F] # ETHIOPIC SYLLABLE FWA
-1388  ; [.1F2F.0020.0002.1388] # ETHIOPIC SYLLABLE SEBATBEIT FWA
-1389  ; [.1F30.0020.0002.1389] # ETHIOPIC SYLLABLE FWI
-138A  ; [.1F31.0020.0002.138A] # ETHIOPIC SYLLABLE FWEE
-138B  ; [.1F32.0020.0002.138B] # ETHIOPIC SYLLABLE FWE
-1350  ; [.1F33.0020.0002.1350] # ETHIOPIC SYLLABLE PA
-1351  ; [.1F34.0020.0002.1351] # ETHIOPIC SYLLABLE PU
-1352  ; [.1F35.0020.0002.1352] # ETHIOPIC SYLLABLE PI
-1353  ; [.1F36.0020.0002.1353] # ETHIOPIC SYLLABLE PAA
-1354  ; [.1F37.0020.0002.1354] # ETHIOPIC SYLLABLE PEE
-1355  ; [.1F38.0020.0002.1355] # ETHIOPIC SYLLABLE PE
-1356  ; [.1F39.0020.0002.1356] # ETHIOPIC SYLLABLE PO
-1357  ; [.1F3A.0020.0002.1357] # ETHIOPIC SYLLABLE PWA
-138C  ; [.1F3B.0020.0002.138C] # ETHIOPIC SYLLABLE SEBATBEIT PWA
-138D  ; [.1F3C.0020.0002.138D] # ETHIOPIC SYLLABLE PWI
-138E  ; [.1F3D.0020.0002.138E] # ETHIOPIC SYLLABLE PWEE
-138F  ; [.1F3E.0020.0002.138F] # ETHIOPIC SYLLABLE PWE
-2D92  ; [.1F3F.0020.0002.2D92] # ETHIOPIC SYLLABLE POA
-1358  ; [.1F40.0020.0002.1358] # ETHIOPIC SYLLABLE RYA
-1359  ; [.1F41.0020.0002.1359] # ETHIOPIC SYLLABLE MYA
-135A  ; [.1F42.0020.0002.135A] # ETHIOPIC SYLLABLE FYA
-2DA0  ; [.1F43.0020.0002.2DA0] # ETHIOPIC SYLLABLE SSA
-2DA1  ; [.1F44.0020.0002.2DA1] # ETHIOPIC SYLLABLE SSU
-2DA2  ; [.1F45.0020.0002.2DA2] # ETHIOPIC SYLLABLE SSI
-2DA3  ; [.1F46.0020.0002.2DA3] # ETHIOPIC SYLLABLE SSAA
-2DA4  ; [.1F47.0020.0002.2DA4] # ETHIOPIC SYLLABLE SSEE
-2DA5  ; [.1F48.0020.0002.2DA5] # ETHIOPIC SYLLABLE SSE
-2DA6  ; [.1F49.0020.0002.2DA6] # ETHIOPIC SYLLABLE SSO
-2DA8  ; [.1F4A.0020.0002.2DA8] # ETHIOPIC SYLLABLE CCA
-2DA9  ; [.1F4B.0020.0002.2DA9] # ETHIOPIC SYLLABLE CCU
-2DAA  ; [.1F4C.0020.0002.2DAA] # ETHIOPIC SYLLABLE CCI
-2DAB  ; [.1F4D.0020.0002.2DAB] # ETHIOPIC SYLLABLE CCAA
-2DAC  ; [.1F4E.0020.0002.2DAC] # ETHIOPIC SYLLABLE CCEE
-2DAD  ; [.1F4F.0020.0002.2DAD] # ETHIOPIC SYLLABLE CCE
-2DAE  ; [.1F50.0020.0002.2DAE] # ETHIOPIC SYLLABLE CCO
-2DB0  ; [.1F51.0020.0002.2DB0] # ETHIOPIC SYLLABLE ZZA
-2DB1  ; [.1F52.0020.0002.2DB1] # ETHIOPIC SYLLABLE ZZU
-2DB2  ; [.1F53.0020.0002.2DB2] # ETHIOPIC SYLLABLE ZZI
-2DB3  ; [.1F54.0020.0002.2DB3] # ETHIOPIC SYLLABLE ZZAA
-2DB4  ; [.1F55.0020.0002.2DB4] # ETHIOPIC SYLLABLE ZZEE
-2DB5  ; [.1F56.0020.0002.2DB5] # ETHIOPIC SYLLABLE ZZE
-2DB6  ; [.1F57.0020.0002.2DB6] # ETHIOPIC SYLLABLE ZZO
-2DB8  ; [.1F58.0020.0002.2DB8] # ETHIOPIC SYLLABLE CCHA
-2DB9  ; [.1F59.0020.0002.2DB9] # ETHIOPIC SYLLABLE CCHU
-2DBA  ; [.1F5A.0020.0002.2DBA] # ETHIOPIC SYLLABLE CCHI
-2DBB  ; [.1F5B.0020.0002.2DBB] # ETHIOPIC SYLLABLE CCHAA
-2DBC  ; [.1F5C.0020.0002.2DBC] # ETHIOPIC SYLLABLE CCHEE
-2DBD  ; [.1F5D.0020.0002.2DBD] # ETHIOPIC SYLLABLE CCHE
-2DBE  ; [.1F5E.0020.0002.2DBE] # ETHIOPIC SYLLABLE CCHO
-2DC0  ; [.1F5F.0020.0002.2DC0] # ETHIOPIC SYLLABLE QYA
-2DC1  ; [.1F60.0020.0002.2DC1] # ETHIOPIC SYLLABLE QYU
-2DC2  ; [.1F61.0020.0002.2DC2] # ETHIOPIC SYLLABLE QYI
-2DC3  ; [.1F62.0020.0002.2DC3] # ETHIOPIC SYLLABLE QYAA
-2DC4  ; [.1F63.0020.0002.2DC4] # ETHIOPIC SYLLABLE QYEE
-2DC5  ; [.1F64.0020.0002.2DC5] # ETHIOPIC SYLLABLE QYE
-2DC6  ; [.1F65.0020.0002.2DC6] # ETHIOPIC SYLLABLE QYO
-2DC8  ; [.1F66.0020.0002.2DC8] # ETHIOPIC SYLLABLE KYA
-2DC9  ; [.1F67.0020.0002.2DC9] # ETHIOPIC SYLLABLE KYU
-2DCA  ; [.1F68.0020.0002.2DCA] # ETHIOPIC SYLLABLE KYI
-2DCB  ; [.1F69.0020.0002.2DCB] # ETHIOPIC SYLLABLE KYAA
-2DCC  ; [.1F6A.0020.0002.2DCC] # ETHIOPIC SYLLABLE KYEE
-2DCD  ; [.1F6B.0020.0002.2DCD] # ETHIOPIC SYLLABLE KYE
-2DCE  ; [.1F6C.0020.0002.2DCE] # ETHIOPIC SYLLABLE KYO
-2DD0  ; [.1F6D.0020.0002.2DD0] # ETHIOPIC SYLLABLE XYA
-2DD1  ; [.1F6E.0020.0002.2DD1] # ETHIOPIC SYLLABLE XYU
-2DD2  ; [.1F6F.0020.0002.2DD2] # ETHIOPIC SYLLABLE XYI
-2DD3  ; [.1F70.0020.0002.2DD3] # ETHIOPIC SYLLABLE XYAA
-2DD4  ; [.1F71.0020.0002.2DD4] # ETHIOPIC SYLLABLE XYEE
-2DD5  ; [.1F72.0020.0002.2DD5] # ETHIOPIC SYLLABLE XYE
-2DD6  ; [.1F73.0020.0002.2DD6] # ETHIOPIC SYLLABLE XYO
-2DD8  ; [.1F74.0020.0002.2DD8] # ETHIOPIC SYLLABLE GYA
-2DD9  ; [.1F75.0020.0002.2DD9] # ETHIOPIC SYLLABLE GYU
-2DDA  ; [.1F76.0020.0002.2DDA] # ETHIOPIC SYLLABLE GYI
-2DDB  ; [.1F77.0020.0002.2DDB] # ETHIOPIC SYLLABLE GYAA
-2DDC  ; [.1F78.0020.0002.2DDC] # ETHIOPIC SYLLABLE GYEE
-2DDD  ; [.1F79.0020.0002.2DDD] # ETHIOPIC SYLLABLE GYE
-2DDE  ; [.1F7A.0020.0002.2DDE] # ETHIOPIC SYLLABLE GYO
-0950  ; [.1F7B.0020.0002.0950] # DEVANAGARI OM
-0972  ; [.1F7C.0020.0002.0972] # DEVANAGARI LETTER CANDRA A
-0904  ; [.1F7D.0020.0002.0904] # DEVANAGARI LETTER SHORT A
-0905  ; [.1F7E.0020.0002.0905] # DEVANAGARI LETTER A
-0906  ; [.1F7F.0020.0002.0906] # DEVANAGARI LETTER AA
-0973  ; [.1F80.0020.0002.0973] # DEVANAGARI LETTER OE
-0974  ; [.1F81.0020.0002.0974] # DEVANAGARI LETTER OOE
-0975  ; [.1F82.0020.0002.0975] # DEVANAGARI LETTER AW
-0976  ; [.1F83.0020.0002.0976] # DEVANAGARI LETTER UE
-0977  ; [.1F84.0020.0002.0977] # DEVANAGARI LETTER UUE
-0907  ; [.1F85.0020.0002.0907] # DEVANAGARI LETTER I
-0908  ; [.1F86.0020.0002.0908] # DEVANAGARI LETTER II
-0909  ; [.1F87.0020.0002.0909] # DEVANAGARI LETTER U
-090A  ; [.1F88.0020.0002.090A] # DEVANAGARI LETTER UU
-090B  ; [.1F89.0020.0002.090B] # DEVANAGARI LETTER VOCALIC R
-0960  ; [.1F8A.0020.0002.0960] # DEVANAGARI LETTER VOCALIC RR
-090C  ; [.1F8B.0020.0002.090C] # DEVANAGARI LETTER VOCALIC L
-0961  ; [.1F8C.0020.0002.0961] # DEVANAGARI LETTER VOCALIC LL
-090D  ; [.1F8D.0020.0002.090D] # DEVANAGARI LETTER CANDRA E
-090E  ; [.1F8E.0020.0002.090E] # DEVANAGARI LETTER SHORT E
-090F  ; [.1F8F.0020.0002.090F] # DEVANAGARI LETTER E
-0910  ; [.1F90.0020.0002.0910] # DEVANAGARI LETTER AI
-0911  ; [.1F91.0020.0002.0911] # DEVANAGARI LETTER CANDRA O
-0912  ; [.1F92.0020.0002.0912] # DEVANAGARI LETTER SHORT O
-0913  ; [.1F93.0020.0002.0913] # DEVANAGARI LETTER O
-0914  ; [.1F94.0020.0002.0914] # DEVANAGARI LETTER AU
-0915  ; [.1F95.0020.0002.0915] # DEVANAGARI LETTER KA
-0958  ; [.1F95.0020.0002.0915][.0000.00DD.0002.093C] # DEVANAGARI LETTER QA; QQCM
-0916  ; [.1F96.0020.0002.0916] # DEVANAGARI LETTER KHA
-0959  ; [.1F96.0020.0002.0916][.0000.00DD.0002.093C] # DEVANAGARI LETTER KHHA; QQCM
-0917  ; [.1F97.0020.0002.0917] # DEVANAGARI LETTER GA
-095A  ; [.1F97.0020.0002.0917][.0000.00DD.0002.093C] # DEVANAGARI LETTER GHHA; QQCM
-097B  ; [.1F98.0020.0002.097B] # DEVANAGARI LETTER GGA
-0918  ; [.1F99.0020.0002.0918] # DEVANAGARI LETTER GHA
-0919  ; [.1F9A.0020.0002.0919] # DEVANAGARI LETTER NGA
-091A  ; [.1F9B.0020.0002.091A] # DEVANAGARI LETTER CA
-091B  ; [.1F9C.0020.0002.091B] # DEVANAGARI LETTER CHA
-091C  ; [.1F9D.0020.0002.091C] # DEVANAGARI LETTER JA
-095B  ; [.1F9D.0020.0002.091C][.0000.00DD.0002.093C] # DEVANAGARI LETTER ZA; QQCM
-0979  ; [.1F9E.0020.0002.0979] # DEVANAGARI LETTER ZHA
-097C  ; [.1F9F.0020.0002.097C] # DEVANAGARI LETTER JJA
-091D  ; [.1FA0.0020.0002.091D] # DEVANAGARI LETTER JHA
-091E  ; [.1FA1.0020.0002.091E] # DEVANAGARI LETTER NYA
-091F  ; [.1FA2.0020.0002.091F] # DEVANAGARI LETTER TTA
-0920  ; [.1FA3.0020.0002.0920] # DEVANAGARI LETTER TTHA
-0921  ; [.1FA4.0020.0002.0921] # DEVANAGARI LETTER DDA
-095C  ; [.1FA4.0020.0002.0921][.0000.00DD.0002.093C] # DEVANAGARI LETTER DDDHA; QQCM
-097E  ; [.1FA5.0020.0002.097E] # DEVANAGARI LETTER DDDA
-0922  ; [.1FA6.0020.0002.0922] # DEVANAGARI LETTER DDHA
-095D  ; [.1FA6.0020.0002.0922][.0000.00DD.0002.093C] # DEVANAGARI LETTER RHA; QQCM
-0923  ; [.1FA7.0020.0002.0923] # DEVANAGARI LETTER NNA
-0924  ; [.1FA8.0020.0002.0924] # DEVANAGARI LETTER TA
-0925  ; [.1FA9.0020.0002.0925] # DEVANAGARI LETTER THA
-0926  ; [.1FAA.0020.0002.0926] # DEVANAGARI LETTER DA
-0927  ; [.1FAB.0020.0002.0927] # DEVANAGARI LETTER DHA
-0928  ; [.1FAC.0020.0002.0928] # DEVANAGARI LETTER NA
-0929  ; [.1FAC.0020.0002.0928][.0000.00DD.0002.093C] # DEVANAGARI LETTER NNNA; QQCM
-092A  ; [.1FAD.0020.0002.092A] # DEVANAGARI LETTER PA
-092B  ; [.1FAE.0020.0002.092B] # DEVANAGARI LETTER PHA
-095E  ; [.1FAE.0020.0002.092B][.0000.00DD.0002.093C] # DEVANAGARI LETTER FA; QQCM
-092C  ; [.1FAF.0020.0002.092C] # DEVANAGARI LETTER BA
-097F  ; [.1FB0.0020.0002.097F] # DEVANAGARI LETTER BBA
-092D  ; [.1FB1.0020.0002.092D] # DEVANAGARI LETTER BHA
-092E  ; [.1FB2.0020.0002.092E] # DEVANAGARI LETTER MA
-092F  ; [.1FB3.0020.0002.092F] # DEVANAGARI LETTER YA
-095F  ; [.1FB3.0020.0002.092F][.0000.00DD.0002.093C] # DEVANAGARI LETTER YYA; QQCM
-097A  ; [.1FB4.0020.0002.097A] # DEVANAGARI LETTER HEAVY YA
-0930  ; [.1FB5.0020.0002.0930] # DEVANAGARI LETTER RA
-0931  ; [.1FB5.0020.0002.0930][.0000.00DD.0002.093C] # DEVANAGARI LETTER RRA; QQCM
-0932  ; [.1FB6.0020.0002.0932] # DEVANAGARI LETTER LA
-0933  ; [.1FB7.0020.0002.0933] # DEVANAGARI LETTER LLA
-0934  ; [.1FB7.0020.0002.0933][.0000.00DD.0002.093C] # DEVANAGARI LETTER LLLA; QQCM
-0935  ; [.1FB8.0020.0002.0935] # DEVANAGARI LETTER VA
-0936  ; [.1FB9.0020.0002.0936] # DEVANAGARI LETTER SHA
-0937  ; [.1FBA.0020.0002.0937] # DEVANAGARI LETTER SSA
-0938  ; [.1FBB.0020.0002.0938] # DEVANAGARI LETTER SA
-0939  ; [.1FBC.0020.0002.0939] # DEVANAGARI LETTER HA
-093D  ; [.1FBD.0020.0002.093D] # DEVANAGARI SIGN AVAGRAHA
-097D  ; [.1FBE.0020.0002.097D] # DEVANAGARI LETTER GLOTTAL STOP
-1CE9  ; [.1FBF.0020.0002.1CE9] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
-1CEA  ; [.1FBF.0020.0004.1CEA] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA; QQK
-1CEB  ; [.1FBF.0020.0004.1CEB] # VEDIC SIGN ANUSVARA VAMAGOMUKHA; QQK
-1CEC  ; [.1FBF.0020.0004.1CEC] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL; QQK
-1CEE  ; [.1FBF.0020.0004.1CEE] # VEDIC SIGN HEXIFORM LONG ANUSVARA; QQK
-1CEF  ; [.1FBF.0020.0004.1CEF] # VEDIC SIGN LONG ANUSVARA; QQK
-1CF0  ; [.1FBF.0020.0004.1CF0] # VEDIC SIGN RTHANG LONG ANUSVARA; QQK
-1CF1  ; [.1FBF.0020.0004.1CF1] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA; QQK
-A8F2  ; [.1FC0.0020.0002.A8F2] # DEVANAGARI SIGN SPACING CANDRABINDU
-A8F3  ; [.1FC0.0020.0004.A8F3] # DEVANAGARI SIGN CANDRABINDU VIRAMA; QQK
-A8F4  ; [.1FC0.0020.0004.A8F4] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA; QQK
-A8F5  ; [.1FC0.0020.0004.A8F5] # DEVANAGARI SIGN CANDRABINDU TWO; QQK
-A8F6  ; [.1FC0.0020.0004.A8F6] # DEVANAGARI SIGN CANDRABINDU THREE; QQK
-A8F7  ; [.1FC0.0020.0004.A8F7] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA; QQK
-A8FB  ; [.1FC1.0020.0002.A8FB] # DEVANAGARI HEADSTROKE
-093E  ; [.1FC2.0020.0002.093E] # DEVANAGARI VOWEL SIGN AA
-093A  ; [.1FC3.0020.0002.093A] # DEVANAGARI VOWEL SIGN OE
-093B  ; [.1FC4.0020.0002.093B] # DEVANAGARI VOWEL SIGN OOE
-094F  ; [.1FC5.0020.0002.094F] # DEVANAGARI VOWEL SIGN AW
-0956  ; [.1FC6.0020.0002.0956] # DEVANAGARI VOWEL SIGN UE
-0957  ; [.1FC7.0020.0002.0957] # DEVANAGARI VOWEL SIGN UUE
-093F  ; [.1FC8.0020.0002.093F] # DEVANAGARI VOWEL SIGN I
-0940  ; [.1FC9.0020.0002.0940] # DEVANAGARI VOWEL SIGN II
-0941  ; [.1FCA.0020.0002.0941] # DEVANAGARI VOWEL SIGN U
-0942  ; [.1FCB.0020.0002.0942] # DEVANAGARI VOWEL SIGN UU
-0943  ; [.1FCC.0020.0002.0943] # DEVANAGARI VOWEL SIGN VOCALIC R
-0944  ; [.1FCD.0020.0002.0944] # DEVANAGARI VOWEL SIGN VOCALIC RR
-0962  ; [.1FCE.0020.0002.0962] # DEVANAGARI VOWEL SIGN VOCALIC L
-0963  ; [.1FCF.0020.0002.0963] # DEVANAGARI VOWEL SIGN VOCALIC LL
-0945  ; [.1FD0.0020.0002.0945] # DEVANAGARI VOWEL SIGN CANDRA E
-0955  ; [.1FD1.0020.0002.0955] # DEVANAGARI VOWEL SIGN CANDRA LONG E
-0946  ; [.1FD2.0020.0002.0946] # DEVANAGARI VOWEL SIGN SHORT E
-0947  ; [.1FD3.0020.0002.0947] # DEVANAGARI VOWEL SIGN E
-094E  ; [.1FD4.0020.0002.094E] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
-0948  ; [.1FD5.0020.0002.0948] # DEVANAGARI VOWEL SIGN AI
-0949  ; [.1FD6.0020.0002.0949] # DEVANAGARI VOWEL SIGN CANDRA O
-094A  ; [.1FD7.0020.0002.094A] # DEVANAGARI VOWEL SIGN SHORT O
-094B  ; [.1FD8.0020.0002.094B] # DEVANAGARI VOWEL SIGN O
-094C  ; [.1FD9.0020.0002.094C] # DEVANAGARI VOWEL SIGN AU
-094D  ; [.1FDA.0020.0002.094D] # DEVANAGARI SIGN VIRAMA
-0985  ; [.1FDB.0020.0002.0985] # BENGALI LETTER A
-0986  ; [.1FDC.0020.0002.0986] # BENGALI LETTER AA
-0987  ; [.1FDD.0020.0002.0987] # BENGALI LETTER I
-0988  ; [.1FDE.0020.0002.0988] # BENGALI LETTER II
-0989  ; [.1FDF.0020.0002.0989] # BENGALI LETTER U
-098A  ; [.1FE0.0020.0002.098A] # BENGALI LETTER UU
-098B  ; [.1FE1.0020.0002.098B] # BENGALI LETTER VOCALIC R
-09E0  ; [.1FE2.0020.0002.09E0] # BENGALI LETTER VOCALIC RR
-098C  ; [.1FE3.0020.0002.098C] # BENGALI LETTER VOCALIC L
-09E1  ; [.1FE4.0020.0002.09E1] # BENGALI LETTER VOCALIC LL
-098F  ; [.1FE5.0020.0002.098F] # BENGALI LETTER E
-0990  ; [.1FE6.0020.0002.0990] # BENGALI LETTER AI
-0993  ; [.1FE7.0020.0002.0993] # BENGALI LETTER O
-0994  ; [.1FE8.0020.0002.0994] # BENGALI LETTER AU
-0995  ; [.1FE9.0020.0002.0995] # BENGALI LETTER KA
-0996  ; [.1FEA.0020.0002.0996] # BENGALI LETTER KHA
-0997  ; [.1FEB.0020.0002.0997] # BENGALI LETTER GA
-0998  ; [.1FEC.0020.0002.0998] # BENGALI LETTER GHA
-0999  ; [.1FED.0020.0002.0999] # BENGALI LETTER NGA
-099A  ; [.1FEE.0020.0002.099A] # BENGALI LETTER CA
-099B  ; [.1FEF.0020.0002.099B] # BENGALI LETTER CHA
-099C  ; [.1FF0.0020.0002.099C] # BENGALI LETTER JA
-099D  ; [.1FF1.0020.0002.099D] # BENGALI LETTER JHA
-099E  ; [.1FF2.0020.0002.099E] # BENGALI LETTER NYA
-099F  ; [.1FF3.0020.0002.099F] # BENGALI LETTER TTA
-09A0  ; [.1FF4.0020.0002.09A0] # BENGALI LETTER TTHA
-09A1  ; [.1FF5.0020.0002.09A1] # BENGALI LETTER DDA
-09DC  ; [.1FF5.0020.0002.09A1][.0000.00E1.0002.09BC] # BENGALI LETTER RRA; QQCM
-09A2  ; [.1FF6.0020.0002.09A2] # BENGALI LETTER DDHA
-09DD  ; [.1FF6.0020.0002.09A2][.0000.00E1.0002.09BC] # BENGALI LETTER RHA; QQCM
-09A3  ; [.1FF7.0020.0002.09A3] # BENGALI LETTER NNA
-09A4  ; [.1FF8.0020.0002.09A4] # BENGALI LETTER TA
-09CE  ; [.1FF8.0020.0004.09CE][.2019.0020.0004.09CE] # BENGALI LETTER KHANDA TA; QQKN
-09A5  ; [.1FF9.0020.0002.09A5] # BENGALI LETTER THA
-09A6  ; [.1FFA.0020.0002.09A6] # BENGALI LETTER DA
-09A7  ; [.1FFB.0020.0002.09A7] # BENGALI LETTER DHA
-09A8  ; [.1FFC.0020.0002.09A8] # BENGALI LETTER NA
-09AA  ; [.1FFD.0020.0002.09AA] # BENGALI LETTER PA
-09AB  ; [.1FFE.0020.0002.09AB] # BENGALI LETTER PHA
-09AC  ; [.1FFF.0020.0002.09AC] # BENGALI LETTER BA
-09AD  ; [.2000.0020.0002.09AD] # BENGALI LETTER BHA
-09AE  ; [.2001.0020.0002.09AE] # BENGALI LETTER MA
-09AF  ; [.2002.0020.0002.09AF] # BENGALI LETTER YA
-09DF  ; [.2002.0020.0002.09AF][.0000.00E1.0002.09BC] # BENGALI LETTER YYA; QQCM
-09B0  ; [.2003.0020.0002.09B0] # BENGALI LETTER RA
-09F0  ; [.2004.0020.0002.09F0] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
-09B2  ; [.2005.0020.0002.09B2] # BENGALI LETTER LA
-09F1  ; [.2006.0020.0002.09F1] # BENGALI LETTER RA WITH LOWER DIAGONAL
-09B6  ; [.2007.0020.0002.09B6] # BENGALI LETTER SHA
-09B7  ; [.2008.0020.0002.09B7] # BENGALI LETTER SSA
-09B8  ; [.2009.0020.0002.09B8] # BENGALI LETTER SA
-09B9  ; [.200A.0020.0002.09B9] # BENGALI LETTER HA
-09BD  ; [.200B.0020.0002.09BD] # BENGALI SIGN AVAGRAHA
-09BE  ; [.200C.0020.0002.09BE] # BENGALI VOWEL SIGN AA
-09BF  ; [.200D.0020.0002.09BF] # BENGALI VOWEL SIGN I
-09C0  ; [.200E.0020.0002.09C0] # BENGALI VOWEL SIGN II
-09C1  ; [.200F.0020.0002.09C1] # BENGALI VOWEL SIGN U
-09C2  ; [.2010.0020.0002.09C2] # BENGALI VOWEL SIGN UU
-09C3  ; [.2011.0020.0002.09C3] # BENGALI VOWEL SIGN VOCALIC R
-09C4  ; [.2012.0020.0002.09C4] # BENGALI VOWEL SIGN VOCALIC RR
-09E2  ; [.2013.0020.0002.09E2] # BENGALI VOWEL SIGN VOCALIC L
-09E3  ; [.2014.0020.0002.09E3] # BENGALI VOWEL SIGN VOCALIC LL
-09C7  ; [.2015.0020.0002.09C7] # BENGALI VOWEL SIGN E
-09C8  ; [.2016.0020.0002.09C8] # BENGALI VOWEL SIGN AI
-09CB  ; [.2017.0020.0002.09CB] # BENGALI VOWEL SIGN O
-09C7 09BE ; [.2017.0020.0002.09CB] # BENGALI VOWEL SIGN O
-09CC  ; [.2018.0020.0002.09CC] # BENGALI VOWEL SIGN AU
-09C7 09D7 ; [.2018.0020.0002.09CC] # BENGALI VOWEL SIGN AU
-09CD  ; [.2019.0020.0002.09CD] # BENGALI SIGN VIRAMA
-09D7  ; [.201A.0020.0002.09D7] # BENGALI AU LENGTH MARK
-0A74  ; [.201B.0020.0002.0A74] # GURMUKHI EK ONKAR
-0A73  ; [.201C.0020.0002.0A73] # GURMUKHI URA
-0A09  ; [.201D.0020.0002.0A09] # GURMUKHI LETTER U
-0A0A  ; [.201E.0020.0002.0A0A] # GURMUKHI LETTER UU
-0A13  ; [.201F.0020.0002.0A13] # GURMUKHI LETTER OO
-0A05  ; [.2020.0020.0002.0A05] # GURMUKHI LETTER A
-0A06  ; [.2021.0020.0002.0A06] # GURMUKHI LETTER AA
-0A10  ; [.2022.0020.0002.0A10] # GURMUKHI LETTER AI
-0A14  ; [.2023.0020.0002.0A14] # GURMUKHI LETTER AU
-0A72  ; [.2024.0020.0002.0A72] # GURMUKHI IRI
-0A07  ; [.2025.0020.0002.0A07] # GURMUKHI LETTER I
-0A08  ; [.2026.0020.0002.0A08] # GURMUKHI LETTER II
-0A0F  ; [.2027.0020.0002.0A0F] # GURMUKHI LETTER EE
-0A38  ; [.2028.0020.0002.0A38] # GURMUKHI LETTER SA
-0A36  ; [.2028.0020.0002.0A38][.0000.00E5.0002.0A3C] # GURMUKHI LETTER SHA; QQCM
-0A39  ; [.2029.0020.0002.0A39] # GURMUKHI LETTER HA
-0A51  ; [.202A.0020.0002.0A51] # GURMUKHI SIGN UDAAT
-0A15  ; [.202B.0020.0002.0A15] # GURMUKHI LETTER KA
-0A16  ; [.202C.0020.0002.0A16] # GURMUKHI LETTER KHA
-0A59  ; [.202C.0020.0002.0A16][.0000.00E5.0002.0A3C] # GURMUKHI LETTER KHHA; QQCM
-0A17  ; [.202D.0020.0002.0A17] # GURMUKHI LETTER GA
-0A5A  ; [.202D.0020.0002.0A17][.0000.00E5.0002.0A3C] # GURMUKHI LETTER GHHA; QQCM
-0A18  ; [.202E.0020.0002.0A18] # GURMUKHI LETTER GHA
-0A19  ; [.202F.0020.0002.0A19] # GURMUKHI LETTER NGA
-0A1A  ; [.2030.0020.0002.0A1A] # GURMUKHI LETTER CA
-0A1B  ; [.2031.0020.0002.0A1B] # GURMUKHI LETTER CHA
-0A1C  ; [.2032.0020.0002.0A1C] # GURMUKHI LETTER JA
-0A5B  ; [.2032.0020.0002.0A1C][.0000.00E5.0002.0A3C] # GURMUKHI LETTER ZA; QQCM
-0A1D  ; [.2033.0020.0002.0A1D] # GURMUKHI LETTER JHA
-0A1E  ; [.2034.0020.0002.0A1E] # GURMUKHI LETTER NYA
-0A1F  ; [.2035.0020.0002.0A1F] # GURMUKHI LETTER TTA
-0A20  ; [.2036.0020.0002.0A20] # GURMUKHI LETTER TTHA
-0A21  ; [.2037.0020.0002.0A21] # GURMUKHI LETTER DDA
-0A22  ; [.2038.0020.0002.0A22] # GURMUKHI LETTER DDHA
-0A23  ; [.2039.0020.0002.0A23] # GURMUKHI LETTER NNA
-0A24  ; [.203A.0020.0002.0A24] # GURMUKHI LETTER TA
-0A25  ; [.203B.0020.0002.0A25] # GURMUKHI LETTER THA
-0A26  ; [.203C.0020.0002.0A26] # GURMUKHI LETTER DA
-0A27  ; [.203D.0020.0002.0A27] # GURMUKHI LETTER DHA
-0A28  ; [.203E.0020.0002.0A28] # GURMUKHI LETTER NA
-0A2A  ; [.203F.0020.0002.0A2A] # GURMUKHI LETTER PA
-0A2B  ; [.2040.0020.0002.0A2B] # GURMUKHI LETTER PHA
-0A5E  ; [.2040.0020.0002.0A2B][.0000.00E5.0002.0A3C] # GURMUKHI LETTER FA; QQCM
-0A2C  ; [.2041.0020.0002.0A2C] # GURMUKHI LETTER BA
-0A2D  ; [.2042.0020.0002.0A2D] # GURMUKHI LETTER BHA
-0A2E  ; [.2043.0020.0002.0A2E] # GURMUKHI LETTER MA
-0A2F  ; [.2044.0020.0002.0A2F] # GURMUKHI LETTER YA
-0A75  ; [.2045.0020.0002.0A75] # GURMUKHI SIGN YAKASH
-0A30  ; [.2046.0020.0002.0A30] # GURMUKHI LETTER RA
-0A32  ; [.2047.0020.0002.0A32] # GURMUKHI LETTER LA
-0A33  ; [.2047.0020.0002.0A32][.0000.00E5.0002.0A3C] # GURMUKHI LETTER LLA; QQCM
-0A35  ; [.2048.0020.0002.0A35] # GURMUKHI LETTER VA
-0A5C  ; [.2049.0020.0002.0A5C] # GURMUKHI LETTER RRA
-0A3E  ; [.204A.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
-0A3F  ; [.204B.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
-0A40  ; [.204C.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
-0A41  ; [.204D.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
-0A42  ; [.204E.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
-0A47  ; [.204F.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
-0A48  ; [.2050.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
-0A4B  ; [.2051.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
-0A4C  ; [.2052.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
-0A4D  ; [.2053.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
-0AD0  ; [.2054.0020.0002.0AD0] # GUJARATI OM
-0A85  ; [.2055.0020.0002.0A85] # GUJARATI LETTER A
-0A86  ; [.2056.0020.0002.0A86] # GUJARATI LETTER AA
-0A87  ; [.2057.0020.0002.0A87] # GUJARATI LETTER I
-0A88  ; [.2058.0020.0002.0A88] # GUJARATI LETTER II
-0A89  ; [.2059.0020.0002.0A89] # GUJARATI LETTER U
-0A8A  ; [.205A.0020.0002.0A8A] # GUJARATI LETTER UU
-0A8B  ; [.205B.0020.0002.0A8B] # GUJARATI LETTER VOCALIC R
-0AE0  ; [.205C.0020.0002.0AE0] # GUJARATI LETTER VOCALIC RR
-0A8C  ; [.205D.0020.0002.0A8C] # GUJARATI LETTER VOCALIC L
-0AE1  ; [.205E.0020.0002.0AE1] # GUJARATI LETTER VOCALIC LL
-0A8D  ; [.205F.0020.0002.0A8D] # GUJARATI VOWEL CANDRA E
-0A8F  ; [.2060.0020.0002.0A8F] # GUJARATI LETTER E
-0A90  ; [.2061.0020.0002.0A90] # GUJARATI LETTER AI
-0A91  ; [.2062.0020.0002.0A91] # GUJARATI VOWEL CANDRA O
-0A93  ; [.2063.0020.0002.0A93] # GUJARATI LETTER O
-0A94  ; [.2064.0020.0002.0A94] # GUJARATI LETTER AU
-0A95  ; [.2065.0020.0002.0A95] # GUJARATI LETTER KA
-0A96  ; [.2066.0020.0002.0A96] # GUJARATI LETTER KHA
-0A97  ; [.2067.0020.0002.0A97] # GUJARATI LETTER GA
-0A98  ; [.2068.0020.0002.0A98] # GUJARATI LETTER GHA
-0A99  ; [.2069.0020.0002.0A99] # GUJARATI LETTER NGA
-0A9A  ; [.206A.0020.0002.0A9A] # GUJARATI LETTER CA
-0A9B  ; [.206B.0020.0002.0A9B] # GUJARATI LETTER CHA
-0A9C  ; [.206C.0020.0002.0A9C] # GUJARATI LETTER JA
-0A9D  ; [.206D.0020.0002.0A9D] # GUJARATI LETTER JHA
-0A9E  ; [.206E.0020.0002.0A9E] # GUJARATI LETTER NYA
-0A9F  ; [.206F.0020.0002.0A9F] # GUJARATI LETTER TTA
-0AA0  ; [.2070.0020.0002.0AA0] # GUJARATI LETTER TTHA
-0AA1  ; [.2071.0020.0002.0AA1] # GUJARATI LETTER DDA
-0AA2  ; [.2072.0020.0002.0AA2] # GUJARATI LETTER DDHA
-0AA3  ; [.2073.0020.0002.0AA3] # GUJARATI LETTER NNA
-0AA4  ; [.2074.0020.0002.0AA4] # GUJARATI LETTER TA
-0AA5  ; [.2075.0020.0002.0AA5] # GUJARATI LETTER THA
-0AA6  ; [.2076.0020.0002.0AA6] # GUJARATI LETTER DA
-0AA7  ; [.2077.0020.0002.0AA7] # GUJARATI LETTER DHA
-0AA8  ; [.2078.0020.0002.0AA8] # GUJARATI LETTER NA
-0AAA  ; [.2079.0020.0002.0AAA] # GUJARATI LETTER PA
-0AAB  ; [.207A.0020.0002.0AAB] # GUJARATI LETTER PHA
-0AAC  ; [.207B.0020.0002.0AAC] # GUJARATI LETTER BA
-0AAD  ; [.207C.0020.0002.0AAD] # GUJARATI LETTER BHA
-0AAE  ; [.207D.0020.0002.0AAE] # GUJARATI LETTER MA
-0AAF  ; [.207E.0020.0002.0AAF] # GUJARATI LETTER YA
-0AB0  ; [.207F.0020.0002.0AB0] # GUJARATI LETTER RA
-0AB2  ; [.2080.0020.0002.0AB2] # GUJARATI LETTER LA
-0AB5  ; [.2081.0020.0002.0AB5] # GUJARATI LETTER VA
-0AB6  ; [.2082.0020.0002.0AB6] # GUJARATI LETTER SHA
-0AB7  ; [.2083.0020.0002.0AB7] # GUJARATI LETTER SSA
-0AB8  ; [.2084.0020.0002.0AB8] # GUJARATI LETTER SA
-0AB9  ; [.2085.0020.0002.0AB9] # GUJARATI LETTER HA
-0AB3  ; [.2086.0020.0002.0AB3] # GUJARATI LETTER LLA
-0ABD  ; [.2087.0020.0002.0ABD] # GUJARATI SIGN AVAGRAHA
-0ABE  ; [.2088.0020.0002.0ABE] # GUJARATI VOWEL SIGN AA
-0ABF  ; [.2089.0020.0002.0ABF] # GUJARATI VOWEL SIGN I
-0AC0  ; [.208A.0020.0002.0AC0] # GUJARATI VOWEL SIGN II
-0AC1  ; [.208B.0020.0002.0AC1] # GUJARATI VOWEL SIGN U
-0AC2  ; [.208C.0020.0002.0AC2] # GUJARATI VOWEL SIGN UU
-0AC3  ; [.208D.0020.0002.0AC3] # GUJARATI VOWEL SIGN VOCALIC R
-0AC4  ; [.208E.0020.0002.0AC4] # GUJARATI VOWEL SIGN VOCALIC RR
-0AE2  ; [.208F.0020.0002.0AE2] # GUJARATI VOWEL SIGN VOCALIC L
-0AE3  ; [.2090.0020.0002.0AE3] # GUJARATI VOWEL SIGN VOCALIC LL
-0AC5  ; [.2091.0020.0002.0AC5] # GUJARATI VOWEL SIGN CANDRA E
-0AC7  ; [.2092.0020.0002.0AC7] # GUJARATI VOWEL SIGN E
-0AC8  ; [.2093.0020.0002.0AC8] # GUJARATI VOWEL SIGN AI
-0AC9  ; [.2094.0020.0002.0AC9] # GUJARATI VOWEL SIGN CANDRA O
-0ACB  ; [.2095.0020.0002.0ACB] # GUJARATI VOWEL SIGN O
-0ACC  ; [.2096.0020.0002.0ACC] # GUJARATI VOWEL SIGN AU
-0ACD  ; [.2097.0020.0002.0ACD] # GUJARATI SIGN VIRAMA
-0B05  ; [.2098.0020.0002.0B05] # ORIYA LETTER A
-0B06  ; [.2099.0020.0002.0B06] # ORIYA LETTER AA
-0B07  ; [.209A.0020.0002.0B07] # ORIYA LETTER I
-0B08  ; [.209B.0020.0002.0B08] # ORIYA LETTER II
-0B09  ; [.209C.0020.0002.0B09] # ORIYA LETTER U
-0B0A  ; [.209D.0020.0002.0B0A] # ORIYA LETTER UU
-0B0B  ; [.209E.0020.0002.0B0B] # ORIYA LETTER VOCALIC R
-0B60  ; [.209F.0020.0002.0B60] # ORIYA LETTER VOCALIC RR
-0B0C  ; [.20A0.0020.0002.0B0C] # ORIYA LETTER VOCALIC L
-0B61  ; [.20A1.0020.0002.0B61] # ORIYA LETTER VOCALIC LL
-0B0F  ; [.20A2.0020.0002.0B0F] # ORIYA LETTER E
-0B10  ; [.20A3.0020.0002.0B10] # ORIYA LETTER AI
-0B13  ; [.20A4.0020.0002.0B13] # ORIYA LETTER O
-0B14  ; [.20A5.0020.0002.0B14] # ORIYA LETTER AU
-0B15  ; [.20A6.0020.0002.0B15] # ORIYA LETTER KA
-0B16  ; [.20A7.0020.0002.0B16] # ORIYA LETTER KHA
-0B17  ; [.20A8.0020.0002.0B17] # ORIYA LETTER GA
-0B18  ; [.20A9.0020.0002.0B18] # ORIYA LETTER GHA
-0B19  ; [.20AA.0020.0002.0B19] # ORIYA LETTER NGA
-0B1A  ; [.20AB.0020.0002.0B1A] # ORIYA LETTER CA
-0B1B  ; [.20AC.0020.0002.0B1B] # ORIYA LETTER CHA
-0B1C  ; [.20AD.0020.0002.0B1C] # ORIYA LETTER JA
-0B1D  ; [.20AE.0020.0002.0B1D] # ORIYA LETTER JHA
-0B1E  ; [.20AF.0020.0002.0B1E] # ORIYA LETTER NYA
-0B1F  ; [.20B0.0020.0002.0B1F] # ORIYA LETTER TTA
-0B20  ; [.20B1.0020.0002.0B20] # ORIYA LETTER TTHA
-0B21  ; [.20B2.0020.0002.0B21] # ORIYA LETTER DDA
-0B5C  ; [.20B2.0020.0002.0B21][.0000.00EF.0002.0B3C] # ORIYA LETTER RRA; QQCM
-0B22  ; [.20B3.0020.0002.0B22] # ORIYA LETTER DDHA
-0B5D  ; [.20B3.0020.0002.0B22][.0000.00EF.0002.0B3C] # ORIYA LETTER RHA; QQCM
-0B23  ; [.20B4.0020.0002.0B23] # ORIYA LETTER NNA
-0B24  ; [.20B5.0020.0002.0B24] # ORIYA LETTER TA
-0B25  ; [.20B6.0020.0002.0B25] # ORIYA LETTER THA
-0B26  ; [.20B7.0020.0002.0B26] # ORIYA LETTER DA
-0B27  ; [.20B8.0020.0002.0B27] # ORIYA LETTER DHA
-0B28  ; [.20B9.0020.0002.0B28] # ORIYA LETTER NA
-0B2A  ; [.20BA.0020.0002.0B2A] # ORIYA LETTER PA
-0B2B  ; [.20BB.0020.0002.0B2B] # ORIYA LETTER PHA
-0B2C  ; [.20BC.0020.0002.0B2C] # ORIYA LETTER BA
-0B2D  ; [.20BD.0020.0002.0B2D] # ORIYA LETTER BHA
-0B2E  ; [.20BE.0020.0002.0B2E] # ORIYA LETTER MA
-0B2F  ; [.20BF.0020.0002.0B2F] # ORIYA LETTER YA
-0B5F  ; [.20C0.0020.0002.0B5F] # ORIYA LETTER YYA
-0B30  ; [.20C1.0020.0002.0B30] # ORIYA LETTER RA
-0B32  ; [.20C2.0020.0002.0B32] # ORIYA LETTER LA
-0B33  ; [.20C3.0020.0002.0B33] # ORIYA LETTER LLA
-0B35  ; [.20C4.0020.0002.0B35] # ORIYA LETTER VA
-0B71  ; [.20C5.0020.0002.0B71] # ORIYA LETTER WA
-0B36  ; [.20C6.0020.0002.0B36] # ORIYA LETTER SHA
-0B37  ; [.20C7.0020.0002.0B37] # ORIYA LETTER SSA
-0B38  ; [.20C8.0020.0002.0B38] # ORIYA LETTER SA
-0B39  ; [.20C9.0020.0002.0B39] # ORIYA LETTER HA
-0B3D  ; [.20CA.0020.0002.0B3D] # ORIYA SIGN AVAGRAHA
-0B3E  ; [.20CB.0020.0002.0B3E] # ORIYA VOWEL SIGN AA
-0B3F  ; [.20CC.0020.0002.0B3F] # ORIYA VOWEL SIGN I
-0B40  ; [.20CD.0020.0002.0B40] # ORIYA VOWEL SIGN II
-0B41  ; [.20CE.0020.0002.0B41] # ORIYA VOWEL SIGN U
-0B42  ; [.20CF.0020.0002.0B42] # ORIYA VOWEL SIGN UU
-0B43  ; [.20D0.0020.0002.0B43] # ORIYA VOWEL SIGN VOCALIC R
-0B44  ; [.20D1.0020.0002.0B44] # ORIYA VOWEL SIGN VOCALIC RR
-0B62  ; [.20D2.0020.0002.0B62] # ORIYA VOWEL SIGN VOCALIC L
-0B63  ; [.20D3.0020.0002.0B63] # ORIYA VOWEL SIGN VOCALIC LL
-0B47  ; [.20D4.0020.0002.0B47] # ORIYA VOWEL SIGN E
-0B48  ; [.20D5.0020.0002.0B48] # ORIYA VOWEL SIGN AI
-0B47 0B56 ; [.20D5.0020.0002.0B48] # ORIYA VOWEL SIGN AI
-0B4B  ; [.20D6.0020.0002.0B4B] # ORIYA VOWEL SIGN O
-0B47 0B3E ; [.20D6.0020.0002.0B4B] # ORIYA VOWEL SIGN O
-0B4C  ; [.20D7.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
-0B47 0B57 ; [.20D7.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
-0B4D  ; [.20D8.0020.0002.0B4D] # ORIYA SIGN VIRAMA
-0B56  ; [.20D9.0020.0002.0B56] # ORIYA AI LENGTH MARK
-0B57  ; [.20DA.0020.0002.0B57] # ORIYA AU LENGTH MARK
-0BD0  ; [.20DB.0020.0002.0BD0] # TAMIL OM
-0B85  ; [.20DC.0020.0002.0B85] # TAMIL LETTER A
-0B86  ; [.20DD.0020.0002.0B86] # TAMIL LETTER AA
-0B87  ; [.20DE.0020.0002.0B87] # TAMIL LETTER I
-0B88  ; [.20DF.0020.0002.0B88] # TAMIL LETTER II
-0B89  ; [.20E0.0020.0002.0B89] # TAMIL LETTER U
-0B8A  ; [.20E1.0020.0002.0B8A] # TAMIL LETTER UU
-0B8E  ; [.20E2.0020.0002.0B8E] # TAMIL LETTER E
-0B8F  ; [.20E3.0020.0002.0B8F] # TAMIL LETTER EE
-0B90  ; [.20E4.0020.0002.0B90] # TAMIL LETTER AI
-0B92  ; [.20E5.0020.0002.0B92] # TAMIL LETTER O
-0B93  ; [.20E6.0020.0002.0B93] # TAMIL LETTER OO
-0B94  ; [.20E7.0020.0002.0B94] # TAMIL LETTER AU
-0B92 0BD7 ; [.20E7.0020.0002.0B94] # TAMIL LETTER AU
-0B83  ; [.20E8.0020.0002.0B83] # TAMIL SIGN VISARGA
-0B95  ; [.20E9.0020.0002.0B95] # TAMIL LETTER KA
-0B99  ; [.20EA.0020.0002.0B99] # TAMIL LETTER NGA
-0B9A  ; [.20EB.0020.0002.0B9A] # TAMIL LETTER CA
-0B9E  ; [.20EC.0020.0002.0B9E] # TAMIL LETTER NYA
-0B9F  ; [.20ED.0020.0002.0B9F] # TAMIL LETTER TTA
-0BA3  ; [.20EE.0020.0002.0BA3] # TAMIL LETTER NNA
-0BA4  ; [.20EF.0020.0002.0BA4] # TAMIL LETTER TA
-0BA8  ; [.20F0.0020.0002.0BA8] # TAMIL LETTER NA
-0BAA  ; [.20F1.0020.0002.0BAA] # TAMIL LETTER PA
-0BAE  ; [.20F2.0020.0002.0BAE] # TAMIL LETTER MA
-0BAF  ; [.20F3.0020.0002.0BAF] # TAMIL LETTER YA
-0BB0  ; [.20F4.0020.0002.0BB0] # TAMIL LETTER RA
-0BB2  ; [.20F5.0020.0002.0BB2] # TAMIL LETTER LA
-0BB5  ; [.20F6.0020.0002.0BB5] # TAMIL LETTER VA
-0BB4  ; [.20F7.0020.0002.0BB4] # TAMIL LETTER LLLA
-0BB3  ; [.20F8.0020.0002.0BB3] # TAMIL LETTER LLA
-0BB1  ; [.20F9.0020.0002.0BB1] # TAMIL LETTER RRA
-0BA9  ; [.20FA.0020.0002.0BA9] # TAMIL LETTER NNNA
-0B9C  ; [.20FB.0020.0002.0B9C] # TAMIL LETTER JA
-0BB6  ; [.20FC.0020.0002.0BB6] # TAMIL LETTER SHA
-0BB7  ; [.20FD.0020.0002.0BB7] # TAMIL LETTER SSA
-0BB8  ; [.20FE.0020.0002.0BB8] # TAMIL LETTER SA
-0BB9  ; [.20FF.0020.0002.0BB9] # TAMIL LETTER HA
-0BBE  ; [.2100.0020.0002.0BBE] # TAMIL VOWEL SIGN AA
-0BBF  ; [.2101.0020.0002.0BBF] # TAMIL VOWEL SIGN I
-0BC0  ; [.2102.0020.0002.0BC0] # TAMIL VOWEL SIGN II
-0BC1  ; [.2103.0020.0002.0BC1] # TAMIL VOWEL SIGN U
-0BC2  ; [.2104.0020.0002.0BC2] # TAMIL VOWEL SIGN UU
-0BC6  ; [.2105.0020.0002.0BC6] # TAMIL VOWEL SIGN E
-0BC7  ; [.2106.0020.0002.0BC7] # TAMIL VOWEL SIGN EE
-0BC8  ; [.2107.0020.0002.0BC8] # TAMIL VOWEL SIGN AI
-0BCA  ; [.2108.0020.0002.0BCA] # TAMIL VOWEL SIGN O
-0BC6 0BBE ; [.2108.0020.0002.0BCA] # TAMIL VOWEL SIGN O
-0BCB  ; [.2109.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
-0BC7 0BBE ; [.2109.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
-0BCC  ; [.210A.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
-0BC6 0BD7 ; [.210A.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
-0BCD  ; [.210B.0020.0002.0BCD] # TAMIL SIGN VIRAMA
-0BD7  ; [.210C.0020.0002.0BD7] # TAMIL AU LENGTH MARK
-0C05  ; [.210D.0020.0002.0C05] # TELUGU LETTER A
-0C06  ; [.210E.0020.0002.0C06] # TELUGU LETTER AA
-0C07  ; [.210F.0020.0002.0C07] # TELUGU LETTER I
-0C08  ; [.2110.0020.0002.0C08] # TELUGU LETTER II
-0C09  ; [.2111.0020.0002.0C09] # TELUGU LETTER U
-0C0A  ; [.2112.0020.0002.0C0A] # TELUGU LETTER UU
-0C0B  ; [.2113.0020.0002.0C0B] # TELUGU LETTER VOCALIC R
-0C60  ; [.2114.0020.0002.0C60] # TELUGU LETTER VOCALIC RR
-0C0C  ; [.2115.0020.0002.0C0C] # TELUGU LETTER VOCALIC L
-0C61  ; [.2116.0020.0002.0C61] # TELUGU LETTER VOCALIC LL
-0C0E  ; [.2117.0020.0002.0C0E] # TELUGU LETTER E
-0C0F  ; [.2118.0020.0002.0C0F] # TELUGU LETTER EE
-0C10  ; [.2119.0020.0002.0C10] # TELUGU LETTER AI
-0C12  ; [.211A.0020.0002.0C12] # TELUGU LETTER O
-0C13  ; [.211B.0020.0002.0C13] # TELUGU LETTER OO
-0C14  ; [.211C.0020.0002.0C14] # TELUGU LETTER AU
-0C15  ; [.211D.0020.0002.0C15] # TELUGU LETTER KA
-0C16  ; [.211E.0020.0002.0C16] # TELUGU LETTER KHA
-0C17  ; [.211F.0020.0002.0C17] # TELUGU LETTER GA
-0C18  ; [.2120.0020.0002.0C18] # TELUGU LETTER GHA
-0C19  ; [.2121.0020.0002.0C19] # TELUGU LETTER NGA
-0C1A  ; [.2122.0020.0002.0C1A] # TELUGU LETTER CA
-0C58  ; [.2123.0020.0002.0C58] # TELUGU LETTER TSA
-0C1B  ; [.2124.0020.0002.0C1B] # TELUGU LETTER CHA
-0C1C  ; [.2125.0020.0002.0C1C] # TELUGU LETTER JA
-0C59  ; [.2126.0020.0002.0C59] # TELUGU LETTER DZA
-0C1D  ; [.2127.0020.0002.0C1D] # TELUGU LETTER JHA
-0C1E  ; [.2128.0020.0002.0C1E] # TELUGU LETTER NYA
-0C1F  ; [.2129.0020.0002.0C1F] # TELUGU LETTER TTA
-0C20  ; [.212A.0020.0002.0C20] # TELUGU LETTER TTHA
-0C21  ; [.212B.0020.0002.0C21] # TELUGU LETTER DDA
-0C22  ; [.212C.0020.0002.0C22] # TELUGU LETTER DDHA
-0C23  ; [.212D.0020.0002.0C23] # TELUGU LETTER NNA
-0C24  ; [.212E.0020.0002.0C24] # TELUGU LETTER TA
-0C25  ; [.212F.0020.0002.0C25] # TELUGU LETTER THA
-0C26  ; [.2130.0020.0002.0C26] # TELUGU LETTER DA
-0C27  ; [.2131.0020.0002.0C27] # TELUGU LETTER DHA
-0C28  ; [.2132.0020.0002.0C28] # TELUGU LETTER NA
-0C2A  ; [.2133.0020.0002.0C2A] # TELUGU LETTER PA
-0C2B  ; [.2134.0020.0002.0C2B] # TELUGU LETTER PHA
-0C2C  ; [.2135.0020.0002.0C2C] # TELUGU LETTER BA
-0C2D  ; [.2136.0020.0002.0C2D] # TELUGU LETTER BHA
-0C2E  ; [.2137.0020.0002.0C2E] # TELUGU LETTER MA
-0C2F  ; [.2138.0020.0002.0C2F] # TELUGU LETTER YA
-0C30  ; [.2139.0020.0002.0C30] # TELUGU LETTER RA
-0C31  ; [.213A.0020.0002.0C31] # TELUGU LETTER RRA
-0C32  ; [.213B.0020.0002.0C32] # TELUGU LETTER LA
-0C35  ; [.213C.0020.0002.0C35] # TELUGU LETTER VA
-0C36  ; [.213D.0020.0002.0C36] # TELUGU LETTER SHA
-0C37  ; [.213E.0020.0002.0C37] # TELUGU LETTER SSA
-0C38  ; [.213F.0020.0002.0C38] # TELUGU LETTER SA
-0C39  ; [.2140.0020.0002.0C39] # TELUGU LETTER HA
-0C33  ; [.2141.0020.0002.0C33] # TELUGU LETTER LLA
-0C3D  ; [.2142.0020.0002.0C3D] # TELUGU SIGN AVAGRAHA
-0C3E  ; [.2143.0020.0002.0C3E] # TELUGU VOWEL SIGN AA
-0C3F  ; [.2144.0020.0002.0C3F] # TELUGU VOWEL SIGN I
-0C40  ; [.2145.0020.0002.0C40] # TELUGU VOWEL SIGN II
-0C41  ; [.2146.0020.0002.0C41] # TELUGU VOWEL SIGN U
-0C42  ; [.2147.0020.0002.0C42] # TELUGU VOWEL SIGN UU
-0C43  ; [.2148.0020.0002.0C43] # TELUGU VOWEL SIGN VOCALIC R
-0C44  ; [.2149.0020.0002.0C44] # TELUGU VOWEL SIGN VOCALIC RR
-0C62  ; [.214A.0020.0002.0C62] # TELUGU VOWEL SIGN VOCALIC L
-0C63  ; [.214B.0020.0002.0C63] # TELUGU VOWEL SIGN VOCALIC LL
-0C46  ; [.214C.0020.0002.0C46] # TELUGU VOWEL SIGN E
-0C47  ; [.214D.0020.0002.0C47] # TELUGU VOWEL SIGN EE
-0C48  ; [.214E.0020.0002.0C48] # TELUGU VOWEL SIGN AI
-0C46 0C56 ; [.214E.0020.0002.0C48] # TELUGU VOWEL SIGN AI
-0C4A  ; [.214F.0020.0002.0C4A] # TELUGU VOWEL SIGN O
-0C4B  ; [.2150.0020.0002.0C4B] # TELUGU VOWEL SIGN OO
-0C4C  ; [.2151.0020.0002.0C4C] # TELUGU VOWEL SIGN AU
-0C4D  ; [.2152.0020.0002.0C4D] # TELUGU SIGN VIRAMA
-0C55  ; [.2153.0020.0002.0C55] # TELUGU LENGTH MARK
-0C56  ; [.2154.0020.0002.0C56] # TELUGU AI LENGTH MARK
-0C85  ; [.2155.0020.0002.0C85] # KANNADA LETTER A
-0C86  ; [.2156.0020.0002.0C86] # KANNADA LETTER AA
-0C87  ; [.2157.0020.0002.0C87] # KANNADA LETTER I
-0C88  ; [.2158.0020.0002.0C88] # KANNADA LETTER II
-0C89  ; [.2159.0020.0002.0C89] # KANNADA LETTER U
-0C8A  ; [.215A.0020.0002.0C8A] # KANNADA LETTER UU
-0C8B  ; [.215B.0020.0002.0C8B] # KANNADA LETTER VOCALIC R
-0CE0  ; [.215C.0020.0002.0CE0] # KANNADA LETTER VOCALIC RR
-0C8C  ; [.215D.0020.0002.0C8C] # KANNADA LETTER VOCALIC L
-0CE1  ; [.215E.0020.0002.0CE1] # KANNADA LETTER VOCALIC LL
-0C8E  ; [.215F.0020.0002.0C8E] # KANNADA LETTER E
-0C8F  ; [.2160.0020.0002.0C8F] # KANNADA LETTER EE
-0C90  ; [.2161.0020.0002.0C90] # KANNADA LETTER AI
-0C92  ; [.2162.0020.0002.0C92] # KANNADA LETTER O
-0C93  ; [.2163.0020.0002.0C93] # KANNADA LETTER OO
-0C94  ; [.2164.0020.0002.0C94] # KANNADA LETTER AU
-0C95  ; [.2165.0020.0002.0C95] # KANNADA LETTER KA
-0C96  ; [.2166.0020.0002.0C96] # KANNADA LETTER KHA
-0C97  ; [.2167.0020.0002.0C97] # KANNADA LETTER GA
-0C98  ; [.2168.0020.0002.0C98] # KANNADA LETTER GHA
-0C99  ; [.2169.0020.0002.0C99] # KANNADA LETTER NGA
-0C9A  ; [.216A.0020.0002.0C9A] # KANNADA LETTER CA
-0C9B  ; [.216B.0020.0002.0C9B] # KANNADA LETTER CHA
-0C9C  ; [.216C.0020.0002.0C9C] # KANNADA LETTER JA
-0C9D  ; [.216D.0020.0002.0C9D] # KANNADA LETTER JHA
-0C9E  ; [.216E.0020.0002.0C9E] # KANNADA LETTER NYA
-0C9F  ; [.216F.0020.0002.0C9F] # KANNADA LETTER TTA
-0CA0  ; [.2170.0020.0002.0CA0] # KANNADA LETTER TTHA
-0CA1  ; [.2171.0020.0002.0CA1] # KANNADA LETTER DDA
-0CA2  ; [.2172.0020.0002.0CA2] # KANNADA LETTER DDHA
-0CA3  ; [.2173.0020.0002.0CA3] # KANNADA LETTER NNA
-0CA4  ; [.2174.0020.0002.0CA4] # KANNADA LETTER TA
-0CA5  ; [.2175.0020.0002.0CA5] # KANNADA LETTER THA
-0CA6  ; [.2176.0020.0002.0CA6] # KANNADA LETTER DA
-0CA7  ; [.2177.0020.0002.0CA7] # KANNADA LETTER DHA
-0CA8  ; [.2178.0020.0002.0CA8] # KANNADA LETTER NA
-0CAA  ; [.2179.0020.0002.0CAA] # KANNADA LETTER PA
-0CAB  ; [.217A.0020.0002.0CAB] # KANNADA LETTER PHA
-0CAC  ; [.217B.0020.0002.0CAC] # KANNADA LETTER BA
-0CAD  ; [.217C.0020.0002.0CAD] # KANNADA LETTER BHA
-0CAE  ; [.217D.0020.0002.0CAE] # KANNADA LETTER MA
-0CAF  ; [.217E.0020.0002.0CAF] # KANNADA LETTER YA
-0CB0  ; [.217F.0020.0002.0CB0] # KANNADA LETTER RA
-0CB1  ; [.2180.0020.0002.0CB1] # KANNADA LETTER RRA
-0CB2  ; [.2181.0020.0002.0CB2] # KANNADA LETTER LA
-0CB5  ; [.2182.0020.0002.0CB5] # KANNADA LETTER VA
-0CB6  ; [.2183.0020.0002.0CB6] # KANNADA LETTER SHA
-0CB7  ; [.2184.0020.0002.0CB7] # KANNADA LETTER SSA
-0CB8  ; [.2185.0020.0002.0CB8] # KANNADA LETTER SA
-0CB9  ; [.2186.0020.0002.0CB9] # KANNADA LETTER HA
-0CB3  ; [.2187.0020.0002.0CB3] # KANNADA LETTER LLA
-0CDE  ; [.2188.0020.0002.0CDE] # KANNADA LETTER FA
-0CBD  ; [.2189.0020.0002.0CBD] # KANNADA SIGN AVAGRAHA
-0CF1  ; [.218A.0020.0002.0CF1] # KANNADA SIGN JIHVAMULIYA
-0CF2  ; [.218B.0020.0002.0CF2] # KANNADA SIGN UPADHMANIYA
-0CBE  ; [.218C.0020.0002.0CBE] # KANNADA VOWEL SIGN AA
-0CBF  ; [.218D.0020.0002.0CBF] # KANNADA VOWEL SIGN I
-0CC0  ; [.218E.0020.0002.0CC0] # KANNADA VOWEL SIGN II
-0CBF 0CD5 ; [.218E.0020.0002.0CC0] # KANNADA VOWEL SIGN II
-0CC1  ; [.218F.0020.0002.0CC1] # KANNADA VOWEL SIGN U
-0CC2  ; [.2190.0020.0002.0CC2] # KANNADA VOWEL SIGN UU
-0CC3  ; [.2191.0020.0002.0CC3] # KANNADA VOWEL SIGN VOCALIC R
-0CC4  ; [.2192.0020.0002.0CC4] # KANNADA VOWEL SIGN VOCALIC RR
-0CE2  ; [.2193.0020.0002.0CE2] # KANNADA VOWEL SIGN VOCALIC L
-0CE3  ; [.2194.0020.0002.0CE3] # KANNADA VOWEL SIGN VOCALIC LL
-0CC6  ; [.2195.0020.0002.0CC6] # KANNADA VOWEL SIGN E
-0CC7  ; [.2196.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
-0CC6 0CD5 ; [.2196.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
-0CC8  ; [.2197.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
-0CC6 0CD6 ; [.2197.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
-0CCA  ; [.2198.0020.0002.0CCA] # KANNADA VOWEL SIGN O
-0CC6 0CC2 ; [.2198.0020.0002.0CCA] # KANNADA VOWEL SIGN O
-0CCB  ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CC6 0CC2 0CD5 ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CCA 0CD5 ; [.2199.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
-0CCC  ; [.219A.0020.0002.0CCC] # KANNADA VOWEL SIGN AU
-0CCD  ; [.219B.0020.0002.0CCD] # KANNADA SIGN VIRAMA
-0CD5  ; [.219C.0020.0002.0CD5] # KANNADA LENGTH MARK
-0CD6  ; [.219D.0020.0002.0CD6] # KANNADA AI LENGTH MARK
-0D05  ; [.219E.0020.0002.0D05] # MALAYALAM LETTER A
-0D06  ; [.219F.0020.0002.0D06] # MALAYALAM LETTER AA
-0D07  ; [.21A0.0020.0002.0D07] # MALAYALAM LETTER I
-0D08  ; [.21A1.0020.0002.0D08] # MALAYALAM LETTER II
-0D09  ; [.21A2.0020.0002.0D09] # MALAYALAM LETTER U
-0D0A  ; [.21A3.0020.0002.0D0A] # MALAYALAM LETTER UU
-0D0B  ; [.21A4.0020.0002.0D0B] # MALAYALAM LETTER VOCALIC R
-0D60  ; [.21A5.0020.0002.0D60] # MALAYALAM LETTER VOCALIC RR
-0D0C  ; [.21A6.0020.0002.0D0C] # MALAYALAM LETTER VOCALIC L
-0D61  ; [.21A7.0020.0002.0D61] # MALAYALAM LETTER VOCALIC LL
-0D0E  ; [.21A8.0020.0002.0D0E] # MALAYALAM LETTER E
-0D0F  ; [.21A9.0020.0002.0D0F] # MALAYALAM LETTER EE
-0D10  ; [.21AA.0020.0002.0D10] # MALAYALAM LETTER AI
-0D12  ; [.21AB.0020.0002.0D12] # MALAYALAM LETTER O
-0D13  ; [.21AC.0020.0002.0D13] # MALAYALAM LETTER OO
-0D14  ; [.21AD.0020.0002.0D14] # MALAYALAM LETTER AU
-0D15  ; [.21AE.0020.0002.0D15] # MALAYALAM LETTER KA
-0D7F  ; [.21AE.0020.0004.0D7F][.21E5.0020.0004.0D7F] # MALAYALAM LETTER CHILLU K; QQKN
-0D16  ; [.21AF.0020.0002.0D16] # MALAYALAM LETTER KHA
-0D17  ; [.21B0.0020.0002.0D17] # MALAYALAM LETTER GA
-0D18  ; [.21B1.0020.0002.0D18] # MALAYALAM LETTER GHA
-0D19  ; [.21B2.0020.0002.0D19] # MALAYALAM LETTER NGA
-0D1A  ; [.21B3.0020.0002.0D1A] # MALAYALAM LETTER CA
-0D1B  ; [.21B4.0020.0002.0D1B] # MALAYALAM LETTER CHA
-0D1C  ; [.21B5.0020.0002.0D1C] # MALAYALAM LETTER JA
-0D1D  ; [.21B6.0020.0002.0D1D] # MALAYALAM LETTER JHA
-0D1E  ; [.21B7.0020.0002.0D1E] # MALAYALAM LETTER NYA
-0D1F  ; [.21B8.0020.0002.0D1F] # MALAYALAM LETTER TTA
-0D20  ; [.21B9.0020.0002.0D20] # MALAYALAM LETTER TTHA
-0D21  ; [.21BA.0020.0002.0D21] # MALAYALAM LETTER DDA
-0D22  ; [.21BB.0020.0002.0D22] # MALAYALAM LETTER DDHA
-0D23  ; [.21BC.0020.0002.0D23] # MALAYALAM LETTER NNA
-0D7A  ; [.21BC.0020.0004.0D7A][.21E5.0020.0004.0D7A] # MALAYALAM LETTER CHILLU NN; QQKN
-0D24  ; [.21BD.0020.0002.0D24] # MALAYALAM LETTER TA
-0D25  ; [.21BE.0020.0002.0D25] # MALAYALAM LETTER THA
-0D26  ; [.21BF.0020.0002.0D26] # MALAYALAM LETTER DA
-0D27  ; [.21C0.0020.0002.0D27] # MALAYALAM LETTER DHA
-0D28  ; [.21C1.0020.0002.0D28] # MALAYALAM LETTER NA
-0D7B  ; [.21C1.0020.0004.0D7B][.21E5.0020.0004.0D7B] # MALAYALAM LETTER CHILLU N; QQKN
-0D29  ; [.21C2.0020.0002.0D29] # MALAYALAM LETTER NNNA
-0D2A  ; [.21C3.0020.0002.0D2A] # MALAYALAM LETTER PA
-0D2B  ; [.21C4.0020.0002.0D2B] # MALAYALAM LETTER PHA
-0D2C  ; [.21C5.0020.0002.0D2C] # MALAYALAM LETTER BA
-0D2D  ; [.21C6.0020.0002.0D2D] # MALAYALAM LETTER BHA
-0D2E  ; [.21C7.0020.0002.0D2E] # MALAYALAM LETTER MA
-0D2F  ; [.21C8.0020.0002.0D2F] # MALAYALAM LETTER YA
-0D30  ; [.21C9.0020.0002.0D30] # MALAYALAM LETTER RA
-0D4E  ; [.21C9.0020.0004.0D4E][.21E5.0020.0004.0D4E] # MALAYALAM LETTER DOT REPH; QQKN
-0D7C  ; [.21C9.0020.0004.0D7C][.21E5.0020.0004.0D7C] # MALAYALAM LETTER CHILLU RR; QQKN
-0D32  ; [.21CA.0020.0002.0D32] # MALAYALAM LETTER LA
-0D7D  ; [.21CA.0020.0004.0D7D][.21E5.0020.0004.0D7D] # MALAYALAM LETTER CHILLU L; QQKN
-0D35  ; [.21CB.0020.0002.0D35] # MALAYALAM LETTER VA
-0D36  ; [.21CC.0020.0002.0D36] # MALAYALAM LETTER SHA
-0D37  ; [.21CD.0020.0002.0D37] # MALAYALAM LETTER SSA
-0D38  ; [.21CE.0020.0002.0D38] # MALAYALAM LETTER SA
-0D39  ; [.21CF.0020.0002.0D39] # MALAYALAM LETTER HA
-0D33  ; [.21D0.0020.0002.0D33] # MALAYALAM LETTER LLA
-0D7E  ; [.21D0.0020.0004.0D7E][.21E5.0020.0004.0D7E] # MALAYALAM LETTER CHILLU LL; QQKN
-0D34  ; [.21D1.0020.0002.0D34] # MALAYALAM LETTER LLLA
-0D31  ; [.21D2.0020.0002.0D31] # MALAYALAM LETTER RRA
-0D3A  ; [.21D3.0020.0002.0D3A] # MALAYALAM LETTER TTTA
-0D3D  ; [.21D4.0020.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
-0D3E  ; [.21D5.0020.0002.0D3E] # MALAYALAM VOWEL SIGN AA
-0D3F  ; [.21D6.0020.0002.0D3F] # MALAYALAM VOWEL SIGN I
-0D40  ; [.21D7.0020.0002.0D40] # MALAYALAM VOWEL SIGN II
-0D41  ; [.21D8.0020.0002.0D41] # MALAYALAM VOWEL SIGN U
-0D42  ; [.21D9.0020.0002.0D42] # MALAYALAM VOWEL SIGN UU
-0D43  ; [.21DA.0020.0002.0D43] # MALAYALAM VOWEL SIGN VOCALIC R
-0D44  ; [.21DB.0020.0002.0D44] # MALAYALAM VOWEL SIGN VOCALIC RR
-0D62  ; [.21DC.0020.0002.0D62] # MALAYALAM VOWEL SIGN VOCALIC L
-0D63  ; [.21DD.0020.0002.0D63] # MALAYALAM VOWEL SIGN VOCALIC LL
-0D46  ; [.21DE.0020.0002.0D46] # MALAYALAM VOWEL SIGN E
-0D47  ; [.21DF.0020.0002.0D47] # MALAYALAM VOWEL SIGN EE
-0D48  ; [.21E0.0020.0002.0D48] # MALAYALAM VOWEL SIGN AI
-0D4A  ; [.21E1.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
-0D46 0D3E ; [.21E1.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
-0D4B  ; [.21E2.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
-0D47 0D3E ; [.21E2.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
-0D4C  ; [.21E3.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
-0D46 0D57 ; [.21E3.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
-0D57  ; [.21E4.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
-0D4D  ; [.21E5.0020.0002.0D4D] # MALAYALAM SIGN VIRAMA
-0D85  ; [.21E6.0020.0002.0D85] # SINHALA LETTER AYANNA
-0D86  ; [.21E7.0020.0002.0D86] # SINHALA LETTER AAYANNA
-0D87  ; [.21E8.0020.0002.0D87] # SINHALA LETTER AEYANNA
-0D88  ; [.21E9.0020.0002.0D88] # SINHALA LETTER AEEYANNA
-0D89  ; [.21EA.0020.0002.0D89] # SINHALA LETTER IYANNA
-0D8A  ; [.21EB.0020.0002.0D8A] # SINHALA LETTER IIYANNA
-0D8B  ; [.21EC.0020.0002.0D8B] # SINHALA LETTER UYANNA
-0D8C  ; [.21ED.0020.0002.0D8C] # SINHALA LETTER UUYANNA
-0D8D  ; [.21EE.0020.0002.0D8D] # SINHALA LETTER IRUYANNA
-0D8E  ; [.21EF.0020.0002.0D8E] # SINHALA LETTER IRUUYANNA
-0D8F  ; [.21F0.0020.0002.0D8F] # SINHALA LETTER ILUYANNA
-0D90  ; [.21F1.0020.0002.0D90] # SINHALA LETTER ILUUYANNA
-0D91  ; [.21F2.0020.0002.0D91] # SINHALA LETTER EYANNA
-0D92  ; [.21F3.0020.0002.0D92] # SINHALA LETTER EEYANNA
-0D93  ; [.21F4.0020.0002.0D93] # SINHALA LETTER AIYANNA
-0D94  ; [.21F5.0020.0002.0D94] # SINHALA LETTER OYANNA
-0D95  ; [.21F6.0020.0002.0D95] # SINHALA LETTER OOYANNA
-0D96  ; [.21F7.0020.0002.0D96] # SINHALA LETTER AUYANNA
-0D9A  ; [.21F8.0020.0002.0D9A] # SINHALA LETTER ALPAPRAANA KAYANNA
-0D9B  ; [.21F9.0020.0002.0D9B] # SINHALA LETTER MAHAAPRAANA KAYANNA
-0D9C  ; [.21FA.0020.0002.0D9C] # SINHALA LETTER ALPAPRAANA GAYANNA
-0D9D  ; [.21FB.0020.0002.0D9D] # SINHALA LETTER MAHAAPRAANA GAYANNA
-0D9E  ; [.21FC.0020.0002.0D9E] # SINHALA LETTER KANTAJA NAASIKYAYA
-0D9F  ; [.21FD.0020.0002.0D9F] # SINHALA LETTER SANYAKA GAYANNA
-0DA0  ; [.21FE.0020.0002.0DA0] # SINHALA LETTER ALPAPRAANA CAYANNA
-0DA1  ; [.21FF.0020.0002.0DA1] # SINHALA LETTER MAHAAPRAANA CAYANNA
-0DA2  ; [.2200.0020.0002.0DA2] # SINHALA LETTER ALPAPRAANA JAYANNA
-0DA3  ; [.2201.0020.0002.0DA3] # SINHALA LETTER MAHAAPRAANA JAYANNA
-0DA4  ; [.2202.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
-0DA5  ; [.2203.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
-0DA6  ; [.2204.0020.0002.0DA6] # SINHALA LETTER SANYAKA JAYANNA
-0DA7  ; [.2205.0020.0002.0DA7] # SINHALA LETTER ALPAPRAANA TTAYANNA
-0DA8  ; [.2206.0020.0002.0DA8] # SINHALA LETTER MAHAAPRAANA TTAYANNA
-0DA9  ; [.2207.0020.0002.0DA9] # SINHALA LETTER ALPAPRAANA DDAYANNA
-0DAA  ; [.2208.0020.0002.0DAA] # SINHALA LETTER MAHAAPRAANA DDAYANNA
-0DAB  ; [.2209.0020.0002.0DAB] # SINHALA LETTER MUURDHAJA NAYANNA
-0DAC  ; [.220A.0020.0002.0DAC] # SINHALA LETTER SANYAKA DDAYANNA
-0DAD  ; [.220B.0020.0002.0DAD] # SINHALA LETTER ALPAPRAANA TAYANNA
-0DAE  ; [.220C.0020.0002.0DAE] # SINHALA LETTER MAHAAPRAANA TAYANNA
-0DAF  ; [.220D.0020.0002.0DAF] # SINHALA LETTER ALPAPRAANA DAYANNA
-0DB0  ; [.220E.0020.0002.0DB0] # SINHALA LETTER MAHAAPRAANA DAYANNA
-0DB1  ; [.220F.0020.0002.0DB1] # SINHALA LETTER DANTAJA NAYANNA
-0DB3  ; [.2210.0020.0002.0DB3] # SINHALA LETTER SANYAKA DAYANNA
-0DB4  ; [.2211.0020.0002.0DB4] # SINHALA LETTER ALPAPRAANA PAYANNA
-0DB5  ; [.2212.0020.0002.0DB5] # SINHALA LETTER MAHAAPRAANA PAYANNA
-0DB6  ; [.2213.0020.0002.0DB6] # SINHALA LETTER ALPAPRAANA BAYANNA
-0DB7  ; [.2214.0020.0002.0DB7] # SINHALA LETTER MAHAAPRAANA BAYANNA
-0DB8  ; [.2215.0020.0002.0DB8] # SINHALA LETTER MAYANNA
-0DB9  ; [.2216.0020.0002.0DB9] # SINHALA LETTER AMBA BAYANNA
-0DBA  ; [.2217.0020.0002.0DBA] # SINHALA LETTER YAYANNA
-0DBB  ; [.2218.0020.0002.0DBB] # SINHALA LETTER RAYANNA
-0DBD  ; [.2219.0020.0002.0DBD] # SINHALA LETTER DANTAJA LAYANNA
-0DC0  ; [.221A.0020.0002.0DC0] # SINHALA LETTER VAYANNA
-0DC1  ; [.221B.0020.0002.0DC1] # SINHALA LETTER TAALUJA SAYANNA
-0DC2  ; [.221C.0020.0002.0DC2] # SINHALA LETTER MUURDHAJA SAYANNA
-0DC3  ; [.221D.0020.0002.0DC3] # SINHALA LETTER DANTAJA SAYANNA
-0DC4  ; [.221E.0020.0002.0DC4] # SINHALA LETTER HAYANNA
-0DC5  ; [.221F.0020.0002.0DC5] # SINHALA LETTER MUURDHAJA LAYANNA
-0DC6  ; [.2220.0020.0002.0DC6] # SINHALA LETTER FAYANNA
-0DCF  ; [.2221.0020.0002.0DCF] # SINHALA VOWEL SIGN AELA-PILLA
-0DD0  ; [.2222.0020.0002.0DD0] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
-0DD1  ; [.2223.0020.0002.0DD1] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
-0DD2  ; [.2224.0020.0002.0DD2] # SINHALA VOWEL SIGN KETTI IS-PILLA
-0DD3  ; [.2225.0020.0002.0DD3] # SINHALA VOWEL SIGN DIGA IS-PILLA
-0DD4  ; [.2226.0020.0002.0DD4] # SINHALA VOWEL SIGN KETTI PAA-PILLA
-0DD6  ; [.2227.0020.0002.0DD6] # SINHALA VOWEL SIGN DIGA PAA-PILLA
-0DD8  ; [.2228.0020.0002.0DD8] # SINHALA VOWEL SIGN GAETTA-PILLA
-0DF2  ; [.2229.0020.0002.0DF2] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
-0DDF  ; [.222A.0020.0002.0DDF] # SINHALA VOWEL SIGN GAYANUKITTA
-0DF3  ; [.222B.0020.0002.0DF3] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0DD9  ; [.222C.0020.0002.0DD9] # SINHALA VOWEL SIGN KOMBUVA
-0DDA  ; [.222D.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DD9 0DCA ; [.222D.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
-0DDB  ; [.222E.0020.0002.0DDB] # SINHALA VOWEL SIGN KOMBU DEKA
-0DDC  ; [.222F.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DD9 0DCF ; [.222F.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
-0DDD  ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DD9 0DCF 0DCA ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDC 0DCA ; [.2230.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
-0DDE  ; [.2231.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DD9 0DDF ; [.2231.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
-0DCA  ; [.2232.0020.0002.0DCA] # SINHALA SIGN AL-LAKUNA
-ABC0  ; [.2233.0020.0002.ABC0] # MEETEI MAYEK LETTER KOK
-ABC1  ; [.2234.0020.0002.ABC1] # MEETEI MAYEK LETTER SAM
-ABC2  ; [.2235.0020.0002.ABC2] # MEETEI MAYEK LETTER LAI
-ABC3  ; [.2236.0020.0002.ABC3] # MEETEI MAYEK LETTER MIT
-ABC4  ; [.2237.0020.0002.ABC4] # MEETEI MAYEK LETTER PA
-ABC5  ; [.2238.0020.0002.ABC5] # MEETEI MAYEK LETTER NA
-ABC6  ; [.2239.0020.0002.ABC6] # MEETEI MAYEK LETTER CHIL
-ABC7  ; [.223A.0020.0002.ABC7] # MEETEI MAYEK LETTER TIL
-ABC8  ; [.223B.0020.0002.ABC8] # MEETEI MAYEK LETTER KHOU
-ABC9  ; [.223C.0020.0002.ABC9] # MEETEI MAYEK LETTER NGOU
-ABCA  ; [.223D.0020.0002.ABCA] # MEETEI MAYEK LETTER THOU
-ABCB  ; [.223E.0020.0002.ABCB] # MEETEI MAYEK LETTER WAI
-ABCC  ; [.223F.0020.0002.ABCC] # MEETEI MAYEK LETTER YANG
-ABCD  ; [.2240.0020.0002.ABCD] # MEETEI MAYEK LETTER HUK
-ABCE  ; [.2241.0020.0002.ABCE] # MEETEI MAYEK LETTER UN
-ABCF  ; [.2242.0020.0002.ABCF] # MEETEI MAYEK LETTER I
-ABD0  ; [.2243.0020.0002.ABD0] # MEETEI MAYEK LETTER PHAM
-ABD1  ; [.2244.0020.0002.ABD1] # MEETEI MAYEK LETTER ATIYA
-ABD2  ; [.2245.0020.0002.ABD2] # MEETEI MAYEK LETTER GOK
-ABD3  ; [.2246.0020.0002.ABD3] # MEETEI MAYEK LETTER JHAM
-ABD4  ; [.2247.0020.0002.ABD4] # MEETEI MAYEK LETTER RAI
-ABD5  ; [.2248.0020.0002.ABD5] # MEETEI MAYEK LETTER BA
-ABD6  ; [.2249.0020.0002.ABD6] # MEETEI MAYEK LETTER JIL
-ABD7  ; [.224A.0020.0002.ABD7] # MEETEI MAYEK LETTER DIL
-ABD8  ; [.224B.0020.0002.ABD8] # MEETEI MAYEK LETTER GHOU
-ABD9  ; [.224C.0020.0002.ABD9] # MEETEI MAYEK LETTER DHOU
-ABDA  ; [.224D.0020.0002.ABDA] # MEETEI MAYEK LETTER BHAM
-ABE3  ; [.224E.0020.0002.ABE3] # MEETEI MAYEK VOWEL SIGN ONAP
-ABE4  ; [.224F.0020.0002.ABE4] # MEETEI MAYEK VOWEL SIGN INAP
-ABE5  ; [.2250.0020.0002.ABE5] # MEETEI MAYEK VOWEL SIGN ANAP
-ABE6  ; [.2251.0020.0002.ABE6] # MEETEI MAYEK VOWEL SIGN YENAP
-ABE7  ; [.2252.0020.0002.ABE7] # MEETEI MAYEK VOWEL SIGN SOUNAP
-ABE8  ; [.2253.0020.0002.ABE8] # MEETEI MAYEK VOWEL SIGN UNAP
-ABE9  ; [.2254.0020.0002.ABE9] # MEETEI MAYEK VOWEL SIGN CHEINAP
-ABEA  ; [.2255.0020.0002.ABEA] # MEETEI MAYEK VOWEL SIGN NUNG
-ABDB  ; [.2256.0020.0002.ABDB] # MEETEI MAYEK LETTER KOK LONSUM
-ABDC  ; [.2257.0020.0002.ABDC] # MEETEI MAYEK LETTER LAI LONSUM
-ABDD  ; [.2258.0020.0002.ABDD] # MEETEI MAYEK LETTER MIT LONSUM
-ABDE  ; [.2259.0020.0002.ABDE] # MEETEI MAYEK LETTER PA LONSUM
-ABDF  ; [.225A.0020.0002.ABDF] # MEETEI MAYEK LETTER NA LONSUM
-ABE0  ; [.225B.0020.0002.ABE0] # MEETEI MAYEK LETTER TIL LONSUM
-ABE1  ; [.225C.0020.0002.ABE1] # MEETEI MAYEK LETTER NGOU LONSUM
-ABE2  ; [.225D.0020.0002.ABE2] # MEETEI MAYEK LETTER I LONSUM
-ABED  ; [.225E.0020.0002.ABED] # MEETEI MAYEK APUN IYEK
-A800  ; [.225F.0020.0002.A800] # SYLOTI NAGRI LETTER A
-A801  ; [.2260.0020.0002.A801] # SYLOTI NAGRI LETTER I
-A802  ; [.2261.0020.0002.A802] # SYLOTI NAGRI SIGN DVISVARA
-A803  ; [.2262.0020.0002.A803] # SYLOTI NAGRI LETTER U
-A804  ; [.2263.0020.0002.A804] # SYLOTI NAGRI LETTER E
-A805  ; [.2264.0020.0002.A805] # SYLOTI NAGRI LETTER O
-A806  ; [.2265.0020.0002.A806] # SYLOTI NAGRI SIGN HASANTA
-A807  ; [.2266.0020.0002.A807] # SYLOTI NAGRI LETTER KO
-A808  ; [.2267.0020.0002.A808] # SYLOTI NAGRI LETTER KHO
-A809  ; [.2268.0020.0002.A809] # SYLOTI NAGRI LETTER GO
-A80A  ; [.2269.0020.0002.A80A] # SYLOTI NAGRI LETTER GHO
-A80C  ; [.226A.0020.0002.A80C] # SYLOTI NAGRI LETTER CO
-A80D  ; [.226B.0020.0002.A80D] # SYLOTI NAGRI LETTER CHO
-A80E  ; [.226C.0020.0002.A80E] # SYLOTI NAGRI LETTER JO
-A80F  ; [.226D.0020.0002.A80F] # SYLOTI NAGRI LETTER JHO
-A810  ; [.226E.0020.0002.A810] # SYLOTI NAGRI LETTER TTO
-A811  ; [.226F.0020.0002.A811] # SYLOTI NAGRI LETTER TTHO
-A812  ; [.2270.0020.0002.A812] # SYLOTI NAGRI LETTER DDO
-A813  ; [.2271.0020.0002.A813] # SYLOTI NAGRI LETTER DDHO
-A814  ; [.2272.0020.0002.A814] # SYLOTI NAGRI LETTER TO
-A815  ; [.2273.0020.0002.A815] # SYLOTI NAGRI LETTER THO
-A816  ; [.2274.0020.0002.A816] # SYLOTI NAGRI LETTER DO
-A817  ; [.2275.0020.0002.A817] # SYLOTI NAGRI LETTER DHO
-A818  ; [.2276.0020.0002.A818] # SYLOTI NAGRI LETTER NO
-A819  ; [.2277.0020.0002.A819] # SYLOTI NAGRI LETTER PO
-A81A  ; [.2278.0020.0002.A81A] # SYLOTI NAGRI LETTER PHO
-A81B  ; [.2279.0020.0002.A81B] # SYLOTI NAGRI LETTER BO
-A81C  ; [.227A.0020.0002.A81C] # SYLOTI NAGRI LETTER BHO
-A81D  ; [.227B.0020.0002.A81D] # SYLOTI NAGRI LETTER MO
-A81E  ; [.227C.0020.0002.A81E] # SYLOTI NAGRI LETTER RO
-A81F  ; [.227D.0020.0002.A81F] # SYLOTI NAGRI LETTER LO
-A820  ; [.227E.0020.0002.A820] # SYLOTI NAGRI LETTER RRO
-A821  ; [.227F.0020.0002.A821] # SYLOTI NAGRI LETTER SO
-A822  ; [.2280.0020.0002.A822] # SYLOTI NAGRI LETTER HO
-A823  ; [.2281.0020.0002.A823] # SYLOTI NAGRI VOWEL SIGN A
-A824  ; [.2282.0020.0002.A824] # SYLOTI NAGRI VOWEL SIGN I
-A825  ; [.2283.0020.0002.A825] # SYLOTI NAGRI VOWEL SIGN U
-A826  ; [.2284.0020.0002.A826] # SYLOTI NAGRI VOWEL SIGN E
-A827  ; [.2285.0020.0002.A827] # SYLOTI NAGRI VOWEL SIGN OO
-A882  ; [.2286.0020.0002.A882] # SAURASHTRA LETTER A
-A883  ; [.2287.0020.0002.A883] # SAURASHTRA LETTER AA
-A884  ; [.2288.0020.0002.A884] # SAURASHTRA LETTER I
-A885  ; [.2289.0020.0002.A885] # SAURASHTRA LETTER II
-A886  ; [.228A.0020.0002.A886] # SAURASHTRA LETTER U
-A887  ; [.228B.0020.0002.A887] # SAURASHTRA LETTER UU
-A888  ; [.228C.0020.0002.A888] # SAURASHTRA LETTER VOCALIC R
-A889  ; [.228D.0020.0002.A889] # SAURASHTRA LETTER VOCALIC RR
-A88A  ; [.228E.0020.0002.A88A] # SAURASHTRA LETTER VOCALIC L
-A88B  ; [.228F.0020.0002.A88B] # SAURASHTRA LETTER VOCALIC LL
-A88C  ; [.2290.0020.0002.A88C] # SAURASHTRA LETTER E
-A88D  ; [.2291.0020.0002.A88D] # SAURASHTRA LETTER EE
-A88E  ; [.2292.0020.0002.A88E] # SAURASHTRA LETTER AI
-A88F  ; [.2293.0020.0002.A88F] # SAURASHTRA LETTER O
-A890  ; [.2294.0020.0002.A890] # SAURASHTRA LETTER OO
-A891  ; [.2295.0020.0002.A891] # SAURASHTRA LETTER AU
-A892  ; [.2296.0020.0002.A892] # SAURASHTRA LETTER KA
-A893  ; [.2297.0020.0002.A893] # SAURASHTRA LETTER KHA
-A894  ; [.2298.0020.0002.A894] # SAURASHTRA LETTER GA
-A895  ; [.2299.0020.0002.A895] # SAURASHTRA LETTER GHA
-A896  ; [.229A.0020.0002.A896] # SAURASHTRA LETTER NGA
-A897  ; [.229B.0020.0002.A897] # SAURASHTRA LETTER CA
-A898  ; [.229C.0020.0002.A898] # SAURASHTRA LETTER CHA
-A899  ; [.229D.0020.0002.A899] # SAURASHTRA LETTER JA
-A89A  ; [.229E.0020.0002.A89A] # SAURASHTRA LETTER JHA
-A89B  ; [.229F.0020.0002.A89B] # SAURASHTRA LETTER NYA
-A89C  ; [.22A0.0020.0002.A89C] # SAURASHTRA LETTER TTA
-A89D  ; [.22A1.0020.0002.A89D] # SAURASHTRA LETTER TTHA
-A89E  ; [.22A2.0020.0002.A89E] # SAURASHTRA LETTER DDA
-A89F  ; [.22A3.0020.0002.A89F] # SAURASHTRA LETTER DDHA
-A8A0  ; [.22A4.0020.0002.A8A0] # SAURASHTRA LETTER NNA
-A8A1  ; [.22A5.0020.0002.A8A1] # SAURASHTRA LETTER TA
-A8A2  ; [.22A6.0020.0002.A8A2] # SAURASHTRA LETTER THA
-A8A3  ; [.22A7.0020.0002.A8A3] # SAURASHTRA LETTER DA
-A8A4  ; [.22A8.0020.0002.A8A4] # SAURASHTRA LETTER DHA
-A8A5  ; [.22A9.0020.0002.A8A5] # SAURASHTRA LETTER NA
-A8A6  ; [.22AA.0020.0002.A8A6] # SAURASHTRA LETTER PA
-A8A7  ; [.22AB.0020.0002.A8A7] # SAURASHTRA LETTER PHA
-A8A8  ; [.22AC.0020.0002.A8A8] # SAURASHTRA LETTER BA
-A8A9  ; [.22AD.0020.0002.A8A9] # SAURASHTRA LETTER BHA
-A8AA  ; [.22AE.0020.0002.A8AA] # SAURASHTRA LETTER MA
-A8AB  ; [.22AF.0020.0002.A8AB] # SAURASHTRA LETTER YA
-A8AC  ; [.22B0.0020.0002.A8AC] # SAURASHTRA LETTER RA
-A8AD  ; [.22B1.0020.0002.A8AD] # SAURASHTRA LETTER LA
-A8AE  ; [.22B2.0020.0002.A8AE] # SAURASHTRA LETTER VA
-A8AF  ; [.22B3.0020.0002.A8AF] # SAURASHTRA LETTER SHA
-A8B0  ; [.22B4.0020.0002.A8B0] # SAURASHTRA LETTER SSA
-A8B1  ; [.22B5.0020.0002.A8B1] # SAURASHTRA LETTER SA
-A8B2  ; [.22B6.0020.0002.A8B2] # SAURASHTRA LETTER HA
-A8B3  ; [.22B7.0020.0002.A8B3] # SAURASHTRA LETTER LLA
-A8B4  ; [.22B8.0020.0002.A8B4] # SAURASHTRA CONSONANT SIGN HAARU
-A8B5  ; [.22B9.0020.0002.A8B5] # SAURASHTRA VOWEL SIGN AA
-A8B6  ; [.22BA.0020.0002.A8B6] # SAURASHTRA VOWEL SIGN I
-A8B7  ; [.22BB.0020.0002.A8B7] # SAURASHTRA VOWEL SIGN II
-A8B8  ; [.22BC.0020.0002.A8B8] # SAURASHTRA VOWEL SIGN U
-A8B9  ; [.22BD.0020.0002.A8B9] # SAURASHTRA VOWEL SIGN UU
-A8BA  ; [.22BE.0020.0002.A8BA] # SAURASHTRA VOWEL SIGN VOCALIC R
-A8BB  ; [.22BF.0020.0002.A8BB] # SAURASHTRA VOWEL SIGN VOCALIC RR
-A8BC  ; [.22C0.0020.0002.A8BC] # SAURASHTRA VOWEL SIGN VOCALIC L
-A8BD  ; [.22C1.0020.0002.A8BD] # SAURASHTRA VOWEL SIGN VOCALIC LL
-A8BE  ; [.22C2.0020.0002.A8BE] # SAURASHTRA VOWEL SIGN E
-A8BF  ; [.22C3.0020.0002.A8BF] # SAURASHTRA VOWEL SIGN EE
-A8C0  ; [.22C4.0020.0002.A8C0] # SAURASHTRA VOWEL SIGN AI
-A8C1  ; [.22C5.0020.0002.A8C1] # SAURASHTRA VOWEL SIGN O
-A8C2  ; [.22C6.0020.0002.A8C2] # SAURASHTRA VOWEL SIGN OO
-A8C3  ; [.22C7.0020.0002.A8C3] # SAURASHTRA VOWEL SIGN AU
-A8C4  ; [.22C8.0020.0002.A8C4] # SAURASHTRA SIGN VIRAMA
-11083 ; [.22C9.0020.0002.11083] # KAITHI LETTER A
-11084 ; [.22CA.0020.0002.11084] # KAITHI LETTER AA
-11085 ; [.22CB.0020.0002.11085] # KAITHI LETTER I
-11086 ; [.22CC.0020.0002.11086] # KAITHI LETTER II
-11087 ; [.22CD.0020.0002.11087] # KAITHI LETTER U
-11088 ; [.22CE.0020.0002.11088] # KAITHI LETTER UU
-11089 ; [.22CF.0020.0002.11089] # KAITHI LETTER E
-1108A ; [.22D0.0020.0002.1108A] # KAITHI LETTER AI
-1108B ; [.22D1.0020.0002.1108B] # KAITHI LETTER O
-1108C ; [.22D2.0020.0002.1108C] # KAITHI LETTER AU
-1108D ; [.22D3.0020.0002.1108D] # KAITHI LETTER KA
-1108E ; [.22D4.0020.0002.1108E] # KAITHI LETTER KHA
-1108F ; [.22D5.0020.0002.1108F] # KAITHI LETTER GA
-11090 ; [.22D6.0020.0002.11090] # KAITHI LETTER GHA
-11091 ; [.22D7.0020.0002.11091] # KAITHI LETTER NGA
-11092 ; [.22D8.0020.0002.11092] # KAITHI LETTER CA
-11093 ; [.22D9.0020.0002.11093] # KAITHI LETTER CHA
-11094 ; [.22DA.0020.0002.11094] # KAITHI LETTER JA
-11095 ; [.22DB.0020.0002.11095] # KAITHI LETTER JHA
-11096 ; [.22DC.0020.0002.11096] # KAITHI LETTER NYA
-11097 ; [.22DD.0020.0002.11097] # KAITHI LETTER TTA
-11098 ; [.22DE.0020.0002.11098] # KAITHI LETTER TTHA
-11099 ; [.22DF.0020.0002.11099] # KAITHI LETTER DDA
-1109A ; [.22DF.0020.0002.11099][.0000.0118.0002.110BA] # KAITHI LETTER DDDHA; QQCM
-1109B ; [.22E0.0020.0002.1109B] # KAITHI LETTER DDHA
-1109C ; [.22E0.0020.0002.1109B][.0000.0118.0002.110BA] # KAITHI LETTER RHA; QQCM
-1109D ; [.22E1.0020.0002.1109D] # KAITHI LETTER NNA
-1109E ; [.22E2.0020.0002.1109E] # KAITHI LETTER TA
-1109F ; [.22E3.0020.0002.1109F] # KAITHI LETTER THA
-110A0 ; [.22E4.0020.0002.110A0] # KAITHI LETTER DA
-110A1 ; [.22E5.0020.0002.110A1] # KAITHI LETTER DHA
-110A2 ; [.22E6.0020.0002.110A2] # KAITHI LETTER NA
-110A3 ; [.22E7.0020.0002.110A3] # KAITHI LETTER PA
-110A4 ; [.22E8.0020.0002.110A4] # KAITHI LETTER PHA
-110A5 ; [.22E9.0020.0002.110A5] # KAITHI LETTER BA
-110AB ; [.22E9.0020.0002.110A5][.0000.0118.0002.110BA] # KAITHI LETTER VA; QQCM
-110A6 ; [.22EA.0020.0002.110A6] # KAITHI LETTER BHA
-110A7 ; [.22EB.0020.0002.110A7] # KAITHI LETTER MA
-110A8 ; [.22EC.0020.0002.110A8] # KAITHI LETTER YA
-110A9 ; [.22ED.0020.0002.110A9] # KAITHI LETTER RA
-110AA ; [.22EE.0020.0002.110AA] # KAITHI LETTER LA
-110AC ; [.22EF.0020.0002.110AC] # KAITHI LETTER SHA
-110AD ; [.22F0.0020.0002.110AD] # KAITHI LETTER SSA
-110AE ; [.22F1.0020.0002.110AE] # KAITHI LETTER SA
-110AF ; [.22F2.0020.0002.110AF] # KAITHI LETTER HA
-110B0 ; [.22F3.0020.0002.110B0] # KAITHI VOWEL SIGN AA
-110B1 ; [.22F4.0020.0002.110B1] # KAITHI VOWEL SIGN I
-110B2 ; [.22F5.0020.0002.110B2] # KAITHI VOWEL SIGN II
-110B3 ; [.22F6.0020.0002.110B3] # KAITHI VOWEL SIGN U
-110B4 ; [.22F7.0020.0002.110B4] # KAITHI VOWEL SIGN UU
-110B5 ; [.22F8.0020.0002.110B5] # KAITHI VOWEL SIGN E
-110B6 ; [.22F9.0020.0002.110B6] # KAITHI VOWEL SIGN AI
-110B7 ; [.22FA.0020.0002.110B7] # KAITHI VOWEL SIGN O
-110B8 ; [.22FB.0020.0002.110B8] # KAITHI VOWEL SIGN AU
-110B9 ; [.22FC.0020.0002.110B9] # KAITHI SIGN VIRAMA
-1B83  ; [.22FD.0020.0002.1B83] # SUNDANESE LETTER A
-1B84  ; [.22FE.0020.0002.1B84] # SUNDANESE LETTER I
-1B85  ; [.22FF.0020.0002.1B85] # SUNDANESE LETTER U
-1B86  ; [.2300.0020.0002.1B86] # SUNDANESE LETTER AE
-1B87  ; [.2301.0020.0002.1B87] # SUNDANESE LETTER O
-1B88  ; [.2302.0020.0002.1B88] # SUNDANESE LETTER E
-1B89  ; [.2303.0020.0002.1B89] # SUNDANESE LETTER EU
-1B8A  ; [.2304.0020.0002.1B8A] # SUNDANESE LETTER KA
-1BAE  ; [.2305.0020.0002.1BAE] # SUNDANESE LETTER KHA
-1B8B  ; [.2306.0020.0002.1B8B] # SUNDANESE LETTER QA
-1B8C  ; [.2307.0020.0002.1B8C] # SUNDANESE LETTER GA
-1B8D  ; [.2308.0020.0002.1B8D] # SUNDANESE LETTER NGA
-1B8E  ; [.2309.0020.0002.1B8E] # SUNDANESE LETTER CA
-1B8F  ; [.230A.0020.0002.1B8F] # SUNDANESE LETTER JA
-1B90  ; [.230B.0020.0002.1B90] # SUNDANESE LETTER ZA
-1B91  ; [.230C.0020.0002.1B91] # SUNDANESE LETTER NYA
-1B92  ; [.230D.0020.0002.1B92] # SUNDANESE LETTER TA
-1B93  ; [.230E.0020.0002.1B93] # SUNDANESE LETTER DA
-1B94  ; [.230F.0020.0002.1B94] # SUNDANESE LETTER NA
-1B95  ; [.2310.0020.0002.1B95] # SUNDANESE LETTER PA
-1B96  ; [.2311.0020.0002.1B96] # SUNDANESE LETTER FA
-1B97  ; [.2312.0020.0002.1B97] # SUNDANESE LETTER VA
-1B98  ; [.2313.0020.0002.1B98] # SUNDANESE LETTER BA
-1B99  ; [.2314.0020.0002.1B99] # SUNDANESE LETTER MA
-1B9A  ; [.2315.0020.0002.1B9A] # SUNDANESE LETTER YA
-1BA1  ; [.2316.0020.0002.1BA1] # SUNDANESE CONSONANT SIGN PAMINGKAL
-1B9B  ; [.2317.0020.0002.1B9B] # SUNDANESE LETTER RA
-1BA2  ; [.2318.0020.0002.1BA2] # SUNDANESE CONSONANT SIGN PANYAKRA
-1B9C  ; [.2319.0020.0002.1B9C] # SUNDANESE LETTER LA
-1BA3  ; [.231A.0020.0002.1BA3] # SUNDANESE CONSONANT SIGN PANYIKU
-1B9D  ; [.231B.0020.0002.1B9D] # SUNDANESE LETTER WA
-1B9E  ; [.231C.0020.0002.1B9E] # SUNDANESE LETTER SA
-1B9F  ; [.231D.0020.0002.1B9F] # SUNDANESE LETTER XA
-1BAF  ; [.231E.0020.0002.1BAF] # SUNDANESE LETTER SYA
-1BA0  ; [.231F.0020.0002.1BA0] # SUNDANESE LETTER HA
-1BA4  ; [.2320.0020.0002.1BA4] # SUNDANESE VOWEL SIGN PANGHULU
-1BA5  ; [.2321.0020.0002.1BA5] # SUNDANESE VOWEL SIGN PANYUKU
-1BA6  ; [.2322.0020.0002.1BA6] # SUNDANESE VOWEL SIGN PANAELAENG
-1BA7  ; [.2323.0020.0002.1BA7] # SUNDANESE VOWEL SIGN PANOLONG
-1BA8  ; [.2324.0020.0002.1BA8] # SUNDANESE VOWEL SIGN PAMEPET
-1BA9  ; [.2325.0020.0002.1BA9] # SUNDANESE VOWEL SIGN PANEULEUNG
-1BAA  ; [.2326.0020.0002.1BAA] # SUNDANESE SIGN PAMAAEH
-11005 ; [.2327.0020.0002.11005] # BRAHMI LETTER A
-11006 ; [.2328.0020.0002.11006] # BRAHMI LETTER AA
-11007 ; [.2329.0020.0002.11007] # BRAHMI LETTER I
-11008 ; [.232A.0020.0002.11008] # BRAHMI LETTER II
-11009 ; [.232B.0020.0002.11009] # BRAHMI LETTER U
-1100A ; [.232C.0020.0002.1100A] # BRAHMI LETTER UU
-1100B ; [.232D.0020.0002.1100B] # BRAHMI LETTER VOCALIC R
-1100C ; [.232E.0020.0002.1100C] # BRAHMI LETTER VOCALIC RR
-1100D ; [.232F.0020.0002.1100D] # BRAHMI LETTER VOCALIC L
-1100E ; [.2330.0020.0002.1100E] # BRAHMI LETTER VOCALIC LL
-1100F ; [.2331.0020.0002.1100F] # BRAHMI LETTER E
-11010 ; [.2332.0020.0002.11010] # BRAHMI LETTER AI
-11011 ; [.2333.0020.0002.11011] # BRAHMI LETTER O
-11012 ; [.2334.0020.0002.11012] # BRAHMI LETTER AU
-11013 ; [.2335.0020.0002.11013] # BRAHMI LETTER KA
-11014 ; [.2336.0020.0002.11014] # BRAHMI LETTER KHA
-11015 ; [.2337.0020.0002.11015] # BRAHMI LETTER GA
-11016 ; [.2338.0020.0002.11016] # BRAHMI LETTER GHA
-11017 ; [.2339.0020.0002.11017] # BRAHMI LETTER NGA
-11018 ; [.233A.0020.0002.11018] # BRAHMI LETTER CA
-11019 ; [.233B.0020.0002.11019] # BRAHMI LETTER CHA
-1101A ; [.233C.0020.0002.1101A] # BRAHMI LETTER JA
-1101B ; [.233D.0020.0002.1101B] # BRAHMI LETTER JHA
-1101C ; [.233E.0020.0002.1101C] # BRAHMI LETTER NYA
-1101D ; [.233F.0020.0002.1101D] # BRAHMI LETTER TTA
-1101E ; [.2340.0020.0002.1101E] # BRAHMI LETTER TTHA
-1101F ; [.2341.0020.0002.1101F] # BRAHMI LETTER DDA
-11020 ; [.2342.0020.0002.11020] # BRAHMI LETTER DDHA
-11021 ; [.2343.0020.0002.11021] # BRAHMI LETTER NNA
-11022 ; [.2344.0020.0002.11022] # BRAHMI LETTER TA
-11023 ; [.2345.0020.0002.11023] # BRAHMI LETTER THA
-11024 ; [.2346.0020.0002.11024] # BRAHMI LETTER DA
-11025 ; [.2347.0020.0002.11025] # BRAHMI LETTER DHA
-11026 ; [.2348.0020.0002.11026] # BRAHMI LETTER NA
-11027 ; [.2349.0020.0002.11027] # BRAHMI LETTER PA
-11028 ; [.234A.0020.0002.11028] # BRAHMI LETTER PHA
-11029 ; [.234B.0020.0002.11029] # BRAHMI LETTER BA
-1102A ; [.234C.0020.0002.1102A] # BRAHMI LETTER BHA
-1102B ; [.234D.0020.0002.1102B] # BRAHMI LETTER MA
-1102C ; [.234E.0020.0002.1102C] # BRAHMI LETTER YA
-1102D ; [.234F.0020.0002.1102D] # BRAHMI LETTER RA
-1102E ; [.2350.0020.0002.1102E] # BRAHMI LETTER LA
-1102F ; [.2351.0020.0002.1102F] # BRAHMI LETTER VA
-11030 ; [.2352.0020.0002.11030] # BRAHMI LETTER SHA
-11031 ; [.2353.0020.0002.11031] # BRAHMI LETTER SSA
-11032 ; [.2354.0020.0002.11032] # BRAHMI LETTER SA
-11033 ; [.2355.0020.0002.11033] # BRAHMI LETTER HA
-11003 ; [.2356.0020.0002.11003] # BRAHMI SIGN JIHVAMULIYA
-11004 ; [.2357.0020.0002.11004] # BRAHMI SIGN UPADHMANIYA
-11034 ; [.2358.0020.0002.11034] # BRAHMI LETTER LLA
-11035 ; [.2359.0020.0002.11035] # BRAHMI LETTER OLD TAMIL LLLA
-11036 ; [.235A.0020.0002.11036] # BRAHMI LETTER OLD TAMIL RRA
-11037 ; [.235B.0020.0002.11037] # BRAHMI LETTER OLD TAMIL NNNA
-11038 ; [.235C.0020.0002.11038] # BRAHMI VOWEL SIGN AA
-11039 ; [.235D.0020.0002.11039] # BRAHMI VOWEL SIGN BHATTIPROLU AA
-1103A ; [.235E.0020.0002.1103A] # BRAHMI VOWEL SIGN I
-1103B ; [.235F.0020.0002.1103B] # BRAHMI VOWEL SIGN II
-1103C ; [.2360.0020.0002.1103C] # BRAHMI VOWEL SIGN U
-1103D ; [.2361.0020.0002.1103D] # BRAHMI VOWEL SIGN UU
-1103E ; [.2362.0020.0002.1103E] # BRAHMI VOWEL SIGN VOCALIC R
-1103F ; [.2363.0020.0002.1103F] # BRAHMI VOWEL SIGN VOCALIC RR
-11040 ; [.2364.0020.0002.11040] # BRAHMI VOWEL SIGN VOCALIC L
-11041 ; [.2365.0020.0002.11041] # BRAHMI VOWEL SIGN VOCALIC LL
-11042 ; [.2366.0020.0002.11042] # BRAHMI VOWEL SIGN E
-11043 ; [.2367.0020.0002.11043] # BRAHMI VOWEL SIGN AI
-11044 ; [.2368.0020.0002.11044] # BRAHMI VOWEL SIGN O
-11045 ; [.2369.0020.0002.11045] # BRAHMI VOWEL SIGN AU
-11046 ; [.236A.0020.0002.11046] # BRAHMI VIRAMA
-10A00 ; [.236B.0020.0002.10A00] # KHAROSHTHI LETTER A
-10A01 ; [.236C.0020.0002.10A01] # KHAROSHTHI VOWEL SIGN I
-10A02 ; [.236D.0020.0002.10A02] # KHAROSHTHI VOWEL SIGN U
-10A03 ; [.236E.0020.0002.10A03] # KHAROSHTHI VOWEL SIGN VOCALIC R
-10A05 ; [.236F.0020.0002.10A05] # KHAROSHTHI VOWEL SIGN E
-10A06 ; [.2370.0020.0002.10A06] # KHAROSHTHI VOWEL SIGN O
-10A0C ; [.2371.0020.0002.10A0C] # KHAROSHTHI VOWEL LENGTH MARK
-10A10 ; [.2372.0020.0002.10A10] # KHAROSHTHI LETTER KA
-10A11 ; [.2373.0020.0002.10A11] # KHAROSHTHI LETTER KHA
-10A12 ; [.2374.0020.0002.10A12] # KHAROSHTHI LETTER GA
-10A13 ; [.2375.0020.0002.10A13] # KHAROSHTHI LETTER GHA
-10A15 ; [.2376.0020.0002.10A15] # KHAROSHTHI LETTER CA
-10A16 ; [.2377.0020.0002.10A16] # KHAROSHTHI LETTER CHA
-10A17 ; [.2378.0020.0002.10A17] # KHAROSHTHI LETTER JA
-10A19 ; [.2379.0020.0002.10A19] # KHAROSHTHI LETTER NYA
-10A1A ; [.237A.0020.0002.10A1A] # KHAROSHTHI LETTER TTA
-10A1B ; [.237B.0020.0002.10A1B] # KHAROSHTHI LETTER TTHA
-10A1C ; [.237C.0020.0002.10A1C] # KHAROSHTHI LETTER DDA
-10A1D ; [.237D.0020.0002.10A1D] # KHAROSHTHI LETTER DDHA
-10A1E ; [.237E.0020.0002.10A1E] # KHAROSHTHI LETTER NNA
-10A1F ; [.237F.0020.0002.10A1F] # KHAROSHTHI LETTER TA
-10A20 ; [.2380.0020.0002.10A20] # KHAROSHTHI LETTER THA
-10A21 ; [.2381.0020.0002.10A21] # KHAROSHTHI LETTER DA
-10A22 ; [.2382.0020.0002.10A22] # KHAROSHTHI LETTER DHA
-10A23 ; [.2383.0020.0002.10A23] # KHAROSHTHI LETTER NA
-10A24 ; [.2384.0020.0002.10A24] # KHAROSHTHI LETTER PA
-10A25 ; [.2385.0020.0002.10A25] # KHAROSHTHI LETTER PHA
-10A26 ; [.2386.0020.0002.10A26] # KHAROSHTHI LETTER BA
-10A27 ; [.2387.0020.0002.10A27] # KHAROSHTHI LETTER BHA
-10A28 ; [.2388.0020.0002.10A28] # KHAROSHTHI LETTER MA
-10A29 ; [.2389.0020.0002.10A29] # KHAROSHTHI LETTER YA
-10A2A ; [.238A.0020.0002.10A2A] # KHAROSHTHI LETTER RA
-10A2B ; [.238B.0020.0002.10A2B] # KHAROSHTHI LETTER LA
-10A2C ; [.238C.0020.0002.10A2C] # KHAROSHTHI LETTER VA
-10A2D ; [.238D.0020.0002.10A2D] # KHAROSHTHI LETTER SHA
-10A2E ; [.238E.0020.0002.10A2E] # KHAROSHTHI LETTER SSA
-10A2F ; [.238F.0020.0002.10A2F] # KHAROSHTHI LETTER SA
-10A30 ; [.2390.0020.0002.10A30] # KHAROSHTHI LETTER ZA
-10A31 ; [.2391.0020.0002.10A31] # KHAROSHTHI LETTER HA
-10A32 ; [.2392.0020.0002.10A32] # KHAROSHTHI LETTER KKA
-10A33 ; [.2393.0020.0002.10A33] # KHAROSHTHI LETTER TTTHA
-10A3F ; [.2394.0020.0002.10A3F] # KHAROSHTHI VIRAMA
-0E01  ; [.2395.0020.0002.0E01] # THAI CHARACTER KO KAI
-0E40 0E01 ; [.2395.0020.0002.0E01][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
-0E41 0E01 ; [.2395.0020.0002.0E01][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
-0E42 0E01 ; [.2395.0020.0002.0E01][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
-0E43 0E01 ; [.2395.0020.0002.0E01][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
-0E44 0E01 ; [.2395.0020.0002.0E01][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
-0E02  ; [.2396.0020.0002.0E02] # THAI CHARACTER KHO KHAI
-0E40 0E02 ; [.2396.0020.0002.0E02][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
-0E41 0E02 ; [.2396.0020.0002.0E02][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
-0E42 0E02 ; [.2396.0020.0002.0E02][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
-0E43 0E02 ; [.2396.0020.0002.0E02][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
-0E44 0E02 ; [.2396.0020.0002.0E02][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
-0E03  ; [.2397.0020.0002.0E03] # THAI CHARACTER KHO KHUAT
-0E40 0E03 ; [.2397.0020.0002.0E03][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
-0E41 0E03 ; [.2397.0020.0002.0E03][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
-0E42 0E03 ; [.2397.0020.0002.0E03][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
-0E43 0E03 ; [.2397.0020.0002.0E03][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
-0E44 0E03 ; [.2397.0020.0002.0E03][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
-0E04  ; [.2398.0020.0002.0E04] # THAI CHARACTER KHO KHWAI
-0E40 0E04 ; [.2398.0020.0002.0E04][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
-0E41 0E04 ; [.2398.0020.0002.0E04][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
-0E42 0E04 ; [.2398.0020.0002.0E04][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
-0E43 0E04 ; [.2398.0020.0002.0E04][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
-0E44 0E04 ; [.2398.0020.0002.0E04][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
-0E05  ; [.2399.0020.0002.0E05] # THAI CHARACTER KHO KHON
-0E40 0E05 ; [.2399.0020.0002.0E05][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
-0E41 0E05 ; [.2399.0020.0002.0E05][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
-0E42 0E05 ; [.2399.0020.0002.0E05][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
-0E43 0E05 ; [.2399.0020.0002.0E05][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
-0E44 0E05 ; [.2399.0020.0002.0E05][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
-0E06  ; [.239A.0020.0002.0E06] # THAI CHARACTER KHO RAKHANG
-0E40 0E06 ; [.239A.0020.0002.0E06][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
-0E41 0E06 ; [.239A.0020.0002.0E06][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
-0E42 0E06 ; [.239A.0020.0002.0E06][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
-0E43 0E06 ; [.239A.0020.0002.0E06][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
-0E44 0E06 ; [.239A.0020.0002.0E06][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
-0E07  ; [.239B.0020.0002.0E07] # THAI CHARACTER NGO NGU
-0E40 0E07 ; [.239B.0020.0002.0E07][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
-0E41 0E07 ; [.239B.0020.0002.0E07][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
-0E42 0E07 ; [.239B.0020.0002.0E07][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
-0E43 0E07 ; [.239B.0020.0002.0E07][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
-0E44 0E07 ; [.239B.0020.0002.0E07][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
-0E08  ; [.239C.0020.0002.0E08] # THAI CHARACTER CHO CHAN
-0E40 0E08 ; [.239C.0020.0002.0E08][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
-0E41 0E08 ; [.239C.0020.0002.0E08][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
-0E42 0E08 ; [.239C.0020.0002.0E08][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
-0E43 0E08 ; [.239C.0020.0002.0E08][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
-0E44 0E08 ; [.239C.0020.0002.0E08][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
-0E09  ; [.239D.0020.0002.0E09] # THAI CHARACTER CHO CHING
-0E40 0E09 ; [.239D.0020.0002.0E09][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
-0E41 0E09 ; [.239D.0020.0002.0E09][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
-0E42 0E09 ; [.239D.0020.0002.0E09][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
-0E43 0E09 ; [.239D.0020.0002.0E09][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
-0E44 0E09 ; [.239D.0020.0002.0E09][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
-0E0A  ; [.239E.0020.0002.0E0A] # THAI CHARACTER CHO CHANG
-0E40 0E0A ; [.239E.0020.0002.0E0A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
-0E41 0E0A ; [.239E.0020.0002.0E0A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
-0E42 0E0A ; [.239E.0020.0002.0E0A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
-0E43 0E0A ; [.239E.0020.0002.0E0A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
-0E44 0E0A ; [.239E.0020.0002.0E0A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
-0E0B  ; [.239F.0020.0002.0E0B] # THAI CHARACTER SO SO
-0E40 0E0B ; [.239F.0020.0002.0E0B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
-0E41 0E0B ; [.239F.0020.0002.0E0B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
-0E42 0E0B ; [.239F.0020.0002.0E0B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
-0E43 0E0B ; [.239F.0020.0002.0E0B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
-0E44 0E0B ; [.239F.0020.0002.0E0B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
-0E0C  ; [.23A0.0020.0002.0E0C] # THAI CHARACTER CHO CHOE
-0E40 0E0C ; [.23A0.0020.0002.0E0C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
-0E41 0E0C ; [.23A0.0020.0002.0E0C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
-0E42 0E0C ; [.23A0.0020.0002.0E0C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
-0E43 0E0C ; [.23A0.0020.0002.0E0C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
-0E44 0E0C ; [.23A0.0020.0002.0E0C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
-0E0D  ; [.23A1.0020.0002.0E0D] # THAI CHARACTER YO YING
-0E40 0E0D ; [.23A1.0020.0002.0E0D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
-0E41 0E0D ; [.23A1.0020.0002.0E0D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
-0E42 0E0D ; [.23A1.0020.0002.0E0D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
-0E43 0E0D ; [.23A1.0020.0002.0E0D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
-0E44 0E0D ; [.23A1.0020.0002.0E0D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
-0E0E  ; [.23A2.0020.0002.0E0E] # THAI CHARACTER DO CHADA
-0E40 0E0E ; [.23A2.0020.0002.0E0E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
-0E41 0E0E ; [.23A2.0020.0002.0E0E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
-0E42 0E0E ; [.23A2.0020.0002.0E0E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
-0E43 0E0E ; [.23A2.0020.0002.0E0E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
-0E44 0E0E ; [.23A2.0020.0002.0E0E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
-0E0F  ; [.23A3.0020.0002.0E0F] # THAI CHARACTER TO PATAK
-0E40 0E0F ; [.23A3.0020.0002.0E0F][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
-0E41 0E0F ; [.23A3.0020.0002.0E0F][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
-0E42 0E0F ; [.23A3.0020.0002.0E0F][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
-0E43 0E0F ; [.23A3.0020.0002.0E0F][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
-0E44 0E0F ; [.23A3.0020.0002.0E0F][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
-0E10  ; [.23A4.0020.0002.0E10] # THAI CHARACTER THO THAN
-0E40 0E10 ; [.23A4.0020.0002.0E10][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
-0E41 0E10 ; [.23A4.0020.0002.0E10][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
-0E42 0E10 ; [.23A4.0020.0002.0E10][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
-0E43 0E10 ; [.23A4.0020.0002.0E10][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
-0E44 0E10 ; [.23A4.0020.0002.0E10][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
-0E11  ; [.23A5.0020.0002.0E11] # THAI CHARACTER THO NANGMONTHO
-0E40 0E11 ; [.23A5.0020.0002.0E11][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
-0E41 0E11 ; [.23A5.0020.0002.0E11][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
-0E42 0E11 ; [.23A5.0020.0002.0E11][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
-0E43 0E11 ; [.23A5.0020.0002.0E11][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
-0E44 0E11 ; [.23A5.0020.0002.0E11][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
-0E12  ; [.23A6.0020.0002.0E12] # THAI CHARACTER THO PHUTHAO
-0E40 0E12 ; [.23A6.0020.0002.0E12][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
-0E41 0E12 ; [.23A6.0020.0002.0E12][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
-0E42 0E12 ; [.23A6.0020.0002.0E12][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
-0E43 0E12 ; [.23A6.0020.0002.0E12][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
-0E44 0E12 ; [.23A6.0020.0002.0E12][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
-0E13  ; [.23A7.0020.0002.0E13] # THAI CHARACTER NO NEN
-0E40 0E13 ; [.23A7.0020.0002.0E13][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
-0E41 0E13 ; [.23A7.0020.0002.0E13][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
-0E42 0E13 ; [.23A7.0020.0002.0E13][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
-0E43 0E13 ; [.23A7.0020.0002.0E13][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
-0E44 0E13 ; [.23A7.0020.0002.0E13][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
-0E14  ; [.23A8.0020.0002.0E14] # THAI CHARACTER DO DEK
-0E40 0E14 ; [.23A8.0020.0002.0E14][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
-0E41 0E14 ; [.23A8.0020.0002.0E14][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
-0E42 0E14 ; [.23A8.0020.0002.0E14][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
-0E43 0E14 ; [.23A8.0020.0002.0E14][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
-0E44 0E14 ; [.23A8.0020.0002.0E14][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
-0E15  ; [.23A9.0020.0002.0E15] # THAI CHARACTER TO TAO
-0E40 0E15 ; [.23A9.0020.0002.0E15][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
-0E41 0E15 ; [.23A9.0020.0002.0E15][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
-0E42 0E15 ; [.23A9.0020.0002.0E15][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
-0E43 0E15 ; [.23A9.0020.0002.0E15][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
-0E44 0E15 ; [.23A9.0020.0002.0E15][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
-0E16  ; [.23AA.0020.0002.0E16] # THAI CHARACTER THO THUNG
-0E40 0E16 ; [.23AA.0020.0002.0E16][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
-0E41 0E16 ; [.23AA.0020.0002.0E16][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
-0E42 0E16 ; [.23AA.0020.0002.0E16][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
-0E43 0E16 ; [.23AA.0020.0002.0E16][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
-0E44 0E16 ; [.23AA.0020.0002.0E16][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
-0E17  ; [.23AB.0020.0002.0E17] # THAI CHARACTER THO THAHAN
-0E40 0E17 ; [.23AB.0020.0002.0E17][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
-0E41 0E17 ; [.23AB.0020.0002.0E17][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
-0E42 0E17 ; [.23AB.0020.0002.0E17][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
-0E43 0E17 ; [.23AB.0020.0002.0E17][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
-0E44 0E17 ; [.23AB.0020.0002.0E17][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
-0E18  ; [.23AC.0020.0002.0E18] # THAI CHARACTER THO THONG
-0E40 0E18 ; [.23AC.0020.0002.0E18][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
-0E41 0E18 ; [.23AC.0020.0002.0E18][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
-0E42 0E18 ; [.23AC.0020.0002.0E18][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
-0E43 0E18 ; [.23AC.0020.0002.0E18][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
-0E44 0E18 ; [.23AC.0020.0002.0E18][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
-0E19  ; [.23AD.0020.0002.0E19] # THAI CHARACTER NO NU
-0E40 0E19 ; [.23AD.0020.0002.0E19][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
-0E41 0E19 ; [.23AD.0020.0002.0E19][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
-0E42 0E19 ; [.23AD.0020.0002.0E19][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
-0E43 0E19 ; [.23AD.0020.0002.0E19][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
-0E44 0E19 ; [.23AD.0020.0002.0E19][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
-0E1A  ; [.23AE.0020.0002.0E1A] # THAI CHARACTER BO BAIMAI
-0E40 0E1A ; [.23AE.0020.0002.0E1A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
-0E41 0E1A ; [.23AE.0020.0002.0E1A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
-0E42 0E1A ; [.23AE.0020.0002.0E1A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
-0E43 0E1A ; [.23AE.0020.0002.0E1A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
-0E44 0E1A ; [.23AE.0020.0002.0E1A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
-0E1B  ; [.23AF.0020.0002.0E1B] # THAI CHARACTER PO PLA
-0E40 0E1B ; [.23AF.0020.0002.0E1B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
-0E41 0E1B ; [.23AF.0020.0002.0E1B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
-0E42 0E1B ; [.23AF.0020.0002.0E1B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
-0E43 0E1B ; [.23AF.0020.0002.0E1B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
-0E44 0E1B ; [.23AF.0020.0002.0E1B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
-0E1C  ; [.23B0.0020.0002.0E1C] # THAI CHARACTER PHO PHUNG
-0E40 0E1C ; [.23B0.0020.0002.0E1C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
-0E41 0E1C ; [.23B0.0020.0002.0E1C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
-0E42 0E1C ; [.23B0.0020.0002.0E1C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
-0E43 0E1C ; [.23B0.0020.0002.0E1C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
-0E44 0E1C ; [.23B0.0020.0002.0E1C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
-0E1D  ; [.23B1.0020.0002.0E1D] # THAI CHARACTER FO FA
-0E40 0E1D ; [.23B1.0020.0002.0E1D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
-0E41 0E1D ; [.23B1.0020.0002.0E1D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
-0E42 0E1D ; [.23B1.0020.0002.0E1D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
-0E43 0E1D ; [.23B1.0020.0002.0E1D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
-0E44 0E1D ; [.23B1.0020.0002.0E1D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
-0E1E  ; [.23B2.0020.0002.0E1E] # THAI CHARACTER PHO PHAN
-0E40 0E1E ; [.23B2.0020.0002.0E1E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
-0E41 0E1E ; [.23B2.0020.0002.0E1E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
-0E42 0E1E ; [.23B2.0020.0002.0E1E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
-0E43 0E1E ; [.23B2.0020.0002.0E1E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
-0E44 0E1E ; [.23B2.0020.0002.0E1E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
-0E1F  ; [.23B3.0020.0002.0E1F] # THAI CHARACTER FO FAN
-0E40 0E1F ; [.23B3.0020.0002.0E1F][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
-0E41 0E1F ; [.23B3.0020.0002.0E1F][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
-0E42 0E1F ; [.23B3.0020.0002.0E1F][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
-0E43 0E1F ; [.23B3.0020.0002.0E1F][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
-0E44 0E1F ; [.23B3.0020.0002.0E1F][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
-0E20  ; [.23B4.0020.0002.0E20] # THAI CHARACTER PHO SAMPHAO
-0E40 0E20 ; [.23B4.0020.0002.0E20][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
-0E41 0E20 ; [.23B4.0020.0002.0E20][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
-0E42 0E20 ; [.23B4.0020.0002.0E20][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
-0E43 0E20 ; [.23B4.0020.0002.0E20][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
-0E44 0E20 ; [.23B4.0020.0002.0E20][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
-0E21  ; [.23B5.0020.0002.0E21] # THAI CHARACTER MO MA
-0E40 0E21 ; [.23B5.0020.0002.0E21][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
-0E41 0E21 ; [.23B5.0020.0002.0E21][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
-0E42 0E21 ; [.23B5.0020.0002.0E21][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
-0E43 0E21 ; [.23B5.0020.0002.0E21][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
-0E44 0E21 ; [.23B5.0020.0002.0E21][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
-0E22  ; [.23B6.0020.0002.0E22] # THAI CHARACTER YO YAK
-0E40 0E22 ; [.23B6.0020.0002.0E22][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
-0E41 0E22 ; [.23B6.0020.0002.0E22][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
-0E42 0E22 ; [.23B6.0020.0002.0E22][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
-0E43 0E22 ; [.23B6.0020.0002.0E22][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
-0E44 0E22 ; [.23B6.0020.0002.0E22][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
-0E23  ; [.23B7.0020.0002.0E23] # THAI CHARACTER RO RUA
-0E40 0E23 ; [.23B7.0020.0002.0E23][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
-0E41 0E23 ; [.23B7.0020.0002.0E23][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
-0E42 0E23 ; [.23B7.0020.0002.0E23][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
-0E43 0E23 ; [.23B7.0020.0002.0E23][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
-0E44 0E23 ; [.23B7.0020.0002.0E23][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
-0E24  ; [.23B8.0020.0002.0E24] # THAI CHARACTER RU
-0E40 0E24 ; [.23B8.0020.0002.0E24][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
-0E41 0E24 ; [.23B8.0020.0002.0E24][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
-0E42 0E24 ; [.23B8.0020.0002.0E24][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
-0E43 0E24 ; [.23B8.0020.0002.0E24][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
-0E44 0E24 ; [.23B8.0020.0002.0E24][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
-0E25  ; [.23B9.0020.0002.0E25] # THAI CHARACTER LO LING
-0E40 0E25 ; [.23B9.0020.0002.0E25][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
-0E41 0E25 ; [.23B9.0020.0002.0E25][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
-0E42 0E25 ; [.23B9.0020.0002.0E25][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
-0E43 0E25 ; [.23B9.0020.0002.0E25][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
-0E44 0E25 ; [.23B9.0020.0002.0E25][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
-0E26  ; [.23BA.0020.0002.0E26] # THAI CHARACTER LU
-0E40 0E26 ; [.23BA.0020.0002.0E26][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
-0E41 0E26 ; [.23BA.0020.0002.0E26][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
-0E42 0E26 ; [.23BA.0020.0002.0E26][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
-0E43 0E26 ; [.23BA.0020.0002.0E26][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
-0E44 0E26 ; [.23BA.0020.0002.0E26][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
-0E27  ; [.23BB.0020.0002.0E27] # THAI CHARACTER WO WAEN
-0E40 0E27 ; [.23BB.0020.0002.0E27][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
-0E41 0E27 ; [.23BB.0020.0002.0E27][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
-0E42 0E27 ; [.23BB.0020.0002.0E27][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
-0E43 0E27 ; [.23BB.0020.0002.0E27][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
-0E44 0E27 ; [.23BB.0020.0002.0E27][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
-0E28  ; [.23BC.0020.0002.0E28] # THAI CHARACTER SO SALA
-0E40 0E28 ; [.23BC.0020.0002.0E28][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
-0E41 0E28 ; [.23BC.0020.0002.0E28][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
-0E42 0E28 ; [.23BC.0020.0002.0E28][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
-0E43 0E28 ; [.23BC.0020.0002.0E28][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
-0E44 0E28 ; [.23BC.0020.0002.0E28][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
-0E29  ; [.23BD.0020.0002.0E29] # THAI CHARACTER SO RUSI
-0E40 0E29 ; [.23BD.0020.0002.0E29][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
-0E41 0E29 ; [.23BD.0020.0002.0E29][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
-0E42 0E29 ; [.23BD.0020.0002.0E29][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
-0E43 0E29 ; [.23BD.0020.0002.0E29][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
-0E44 0E29 ; [.23BD.0020.0002.0E29][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
-0E2A  ; [.23BE.0020.0002.0E2A] # THAI CHARACTER SO SUA
-0E40 0E2A ; [.23BE.0020.0002.0E2A][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
-0E41 0E2A ; [.23BE.0020.0002.0E2A][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
-0E42 0E2A ; [.23BE.0020.0002.0E2A][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
-0E43 0E2A ; [.23BE.0020.0002.0E2A][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
-0E44 0E2A ; [.23BE.0020.0002.0E2A][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
-0E2B  ; [.23BF.0020.0002.0E2B] # THAI CHARACTER HO HIP
-0E40 0E2B ; [.23BF.0020.0002.0E2B][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
-0E41 0E2B ; [.23BF.0020.0002.0E2B][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
-0E42 0E2B ; [.23BF.0020.0002.0E2B][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
-0E43 0E2B ; [.23BF.0020.0002.0E2B][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
-0E44 0E2B ; [.23BF.0020.0002.0E2B][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
-0E2C  ; [.23C0.0020.0002.0E2C] # THAI CHARACTER LO CHULA
-0E40 0E2C ; [.23C0.0020.0002.0E2C][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
-0E41 0E2C ; [.23C0.0020.0002.0E2C][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
-0E42 0E2C ; [.23C0.0020.0002.0E2C][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
-0E43 0E2C ; [.23C0.0020.0002.0E2C][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
-0E44 0E2C ; [.23C0.0020.0002.0E2C][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
-0E2D  ; [.23C1.0020.0002.0E2D] # THAI CHARACTER O ANG
-0E40 0E2D ; [.23C1.0020.0002.0E2D][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
-0E41 0E2D ; [.23C1.0020.0002.0E2D][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
-0E42 0E2D ; [.23C1.0020.0002.0E2D][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
-0E43 0E2D ; [.23C1.0020.0002.0E2D][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
-0E44 0E2D ; [.23C1.0020.0002.0E2D][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
-0E2E  ; [.23C2.0020.0002.0E2E] # THAI CHARACTER HO NOKHUK
-0E40 0E2E ; [.23C2.0020.0002.0E2E][.23CF.0020.001F.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
-0E41 0E2E ; [.23C2.0020.0002.0E2E][.23D0.0020.001F.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
-0E42 0E2E ; [.23C2.0020.0002.0E2E][.23D1.0020.001F.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
-0E43 0E2E ; [.23C2.0020.0002.0E2E][.23D2.0020.001F.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
-0E44 0E2E ; [.23C2.0020.0002.0E2E][.23D3.0020.001F.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
-0E2F  ; [.23C3.0020.0002.0E2F] # THAI CHARACTER PAIYANNOI
-0E30  ; [.23C4.0020.0002.0E30] # THAI CHARACTER SARA A
-0E31  ; [.23C5.0020.0002.0E31] # THAI CHARACTER MAI HAN-AKAT
-0E32  ; [.23C6.0020.0002.0E32] # THAI CHARACTER SARA AA
-0E33  ; [.23C7.0020.0002.0E33] # THAI CHARACTER SARA AM
-0E4D 0E32 ; [.23C7.0020.0002.0E33] # THAI CHARACTER SARA AM
-0E34  ; [.23C8.0020.0002.0E34] # THAI CHARACTER SARA I
-0E35  ; [.23C9.0020.0002.0E35] # THAI CHARACTER SARA II
-0E36  ; [.23CA.0020.0002.0E36] # THAI CHARACTER SARA UE
-0E37  ; [.23CB.0020.0002.0E37] # THAI CHARACTER SARA UEE
-0E38  ; [.23CC.0020.0002.0E38] # THAI CHARACTER SARA U
-0E39  ; [.23CD.0020.0002.0E39] # THAI CHARACTER SARA UU
-0E3A  ; [.23CE.0020.0002.0E3A] # THAI CHARACTER PHINTHU
-0E40  ; [.23CF.0020.0002.0E40] # THAI CHARACTER SARA E
-0E41  ; [.23D0.0020.0002.0E41] # THAI CHARACTER SARA AE
-0E42  ; [.23D1.0020.0002.0E42] # THAI CHARACTER SARA O
-0E43  ; [.23D2.0020.0002.0E43] # THAI CHARACTER SARA AI MAIMUAN
-0E44  ; [.23D3.0020.0002.0E44] # THAI CHARACTER SARA AI MAIMALAI
-0E45  ; [.23D4.0020.0002.0E45] # THAI CHARACTER LAKKHANGYAO
-0E81  ; [.23D5.0020.0002.0E81] # LAO LETTER KO
-0EC0 0E81 ; [.23D5.0020.0002.0E81][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KO>
-0EC1 0E81 ; [.23D5.0020.0002.0E81][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KO>
-0EC2 0E81 ; [.23D5.0020.0002.0E81][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KO>
-0EC3 0E81 ; [.23D5.0020.0002.0E81][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KO>
-0EC4 0E81 ; [.23D5.0020.0002.0E81][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KO>
-0E82  ; [.23D6.0020.0002.0E82] # LAO LETTER KHO SUNG
-0EC0 0E82 ; [.23D6.0020.0002.0E82][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
-0EC1 0E82 ; [.23D6.0020.0002.0E82][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
-0EC2 0E82 ; [.23D6.0020.0002.0E82][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
-0EC3 0E82 ; [.23D6.0020.0002.0E82][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
-0EC4 0E82 ; [.23D6.0020.0002.0E82][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
-0E84  ; [.23D7.0020.0002.0E84] # LAO LETTER KHO TAM
-0EC0 0E84 ; [.23D7.0020.0002.0E84][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
-0EC1 0E84 ; [.23D7.0020.0002.0E84][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
-0EC2 0E84 ; [.23D7.0020.0002.0E84][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
-0EC3 0E84 ; [.23D7.0020.0002.0E84][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
-0EC4 0E84 ; [.23D7.0020.0002.0E84][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
-0E87  ; [.23D8.0020.0002.0E87] # LAO LETTER NGO
-0EC0 0E87 ; [.23D8.0020.0002.0E87][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NGO>
-0EC1 0E87 ; [.23D8.0020.0002.0E87][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
-0EC2 0E87 ; [.23D8.0020.0002.0E87][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NGO>
-0EC3 0E87 ; [.23D8.0020.0002.0E87][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
-0EC4 0E87 ; [.23D8.0020.0002.0E87][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
-0E88  ; [.23D9.0020.0002.0E88] # LAO LETTER CO
-0EC0 0E88 ; [.23D9.0020.0002.0E88][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER CO>
-0EC1 0E88 ; [.23D9.0020.0002.0E88][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER CO>
-0EC2 0E88 ; [.23D9.0020.0002.0E88][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER CO>
-0EC3 0E88 ; [.23D9.0020.0002.0E88][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER CO>
-0EC4 0E88 ; [.23D9.0020.0002.0E88][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER CO>
-0EAA  ; [.23DA.0020.0002.0EAA] # LAO LETTER SO SUNG
-0EC0 0EAA ; [.23DA.0020.0002.0EAA][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
-0EC1 0EAA ; [.23DA.0020.0002.0EAA][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
-0EC2 0EAA ; [.23DA.0020.0002.0EAA][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
-0EC3 0EAA ; [.23DA.0020.0002.0EAA][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
-0EC4 0EAA ; [.23DA.0020.0002.0EAA][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
-0E8A  ; [.23DB.0020.0002.0E8A] # LAO LETTER SO TAM
-0EC0 0E8A ; [.23DB.0020.0002.0E8A][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
-0EC1 0E8A ; [.23DB.0020.0002.0E8A][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
-0EC2 0E8A ; [.23DB.0020.0002.0E8A][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
-0EC3 0E8A ; [.23DB.0020.0002.0E8A][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
-0EC4 0E8A ; [.23DB.0020.0002.0E8A][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
-0E8D  ; [.23DC.0020.0002.0E8D] # LAO LETTER NYO
-0EC0 0E8D ; [.23DC.0020.0002.0E8D][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NYO>
-0EC1 0E8D ; [.23DC.0020.0002.0E8D][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
-0EC2 0E8D ; [.23DC.0020.0002.0E8D][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NYO>
-0EC3 0E8D ; [.23DC.0020.0002.0E8D][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
-0EC4 0E8D ; [.23DC.0020.0002.0E8D][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
-0E94  ; [.23DD.0020.0002.0E94] # LAO LETTER DO
-0EC0 0E94 ; [.23DD.0020.0002.0E94][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER DO>
-0EC1 0E94 ; [.23DD.0020.0002.0E94][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER DO>
-0EC2 0E94 ; [.23DD.0020.0002.0E94][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER DO>
-0EC3 0E94 ; [.23DD.0020.0002.0E94][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER DO>
-0EC4 0E94 ; [.23DD.0020.0002.0E94][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER DO>
-0E95  ; [.23DE.0020.0002.0E95] # LAO LETTER TO
-0EC0 0E95 ; [.23DE.0020.0002.0E95][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER TO>
-0EC1 0E95 ; [.23DE.0020.0002.0E95][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER TO>
-0EC2 0E95 ; [.23DE.0020.0002.0E95][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER TO>
-0EC3 0E95 ; [.23DE.0020.0002.0E95][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER TO>
-0EC4 0E95 ; [.23DE.0020.0002.0E95][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER TO>
-0E96  ; [.23DF.0020.0002.0E96] # LAO LETTER THO SUNG
-0EC0 0E96 ; [.23DF.0020.0002.0E96][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
-0EC1 0E96 ; [.23DF.0020.0002.0E96][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
-0EC2 0E96 ; [.23DF.0020.0002.0E96][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
-0EC3 0E96 ; [.23DF.0020.0002.0E96][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
-0EC4 0E96 ; [.23DF.0020.0002.0E96][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
-0E97  ; [.23E0.0020.0002.0E97] # LAO LETTER THO TAM
-0EC0 0E97 ; [.23E0.0020.0002.0E97][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
-0EC1 0E97 ; [.23E0.0020.0002.0E97][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
-0EC2 0E97 ; [.23E0.0020.0002.0E97][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
-0EC3 0E97 ; [.23E0.0020.0002.0E97][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
-0EC4 0E97 ; [.23E0.0020.0002.0E97][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
-0E99  ; [.23E1.0020.0002.0E99] # LAO LETTER NO
-0EC0 0E99 ; [.23E1.0020.0002.0E99][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NO>
-0EC1 0E99 ; [.23E1.0020.0002.0E99][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NO>
-0EC2 0E99 ; [.23E1.0020.0002.0E99][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NO>
-0EC3 0E99 ; [.23E1.0020.0002.0E99][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NO>
-0EC4 0E99 ; [.23E1.0020.0002.0E99][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NO>
-0E9A  ; [.23E2.0020.0002.0E9A] # LAO LETTER BO
-0EC0 0E9A ; [.23E2.0020.0002.0E9A][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER BO>
-0EC1 0E9A ; [.23E2.0020.0002.0E9A][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER BO>
-0EC2 0E9A ; [.23E2.0020.0002.0E9A][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER BO>
-0EC3 0E9A ; [.23E2.0020.0002.0E9A][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER BO>
-0EC4 0E9A ; [.23E2.0020.0002.0E9A][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER BO>
-0E9B  ; [.23E3.0020.0002.0E9B] # LAO LETTER PO
-0EC0 0E9B ; [.23E3.0020.0002.0E9B][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PO>
-0EC1 0E9B ; [.23E3.0020.0002.0E9B][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PO>
-0EC2 0E9B ; [.23E3.0020.0002.0E9B][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PO>
-0EC3 0E9B ; [.23E3.0020.0002.0E9B][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PO>
-0EC4 0E9B ; [.23E3.0020.0002.0E9B][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PO>
-0E9C  ; [.23E4.0020.0002.0E9C] # LAO LETTER PHO SUNG
-0EC0 0E9C ; [.23E4.0020.0002.0E9C][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
-0EC1 0E9C ; [.23E4.0020.0002.0E9C][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
-0EC2 0E9C ; [.23E4.0020.0002.0E9C][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
-0EC3 0E9C ; [.23E4.0020.0002.0E9C][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
-0EC4 0E9C ; [.23E4.0020.0002.0E9C][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
-0E9D  ; [.23E5.0020.0002.0E9D] # LAO LETTER FO TAM
-0EC0 0E9D ; [.23E5.0020.0002.0E9D][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
-0EC1 0E9D ; [.23E5.0020.0002.0E9D][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
-0EC2 0E9D ; [.23E5.0020.0002.0E9D][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
-0EC3 0E9D ; [.23E5.0020.0002.0E9D][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
-0EC4 0E9D ; [.23E5.0020.0002.0E9D][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
-0E9E  ; [.23E6.0020.0002.0E9E] # LAO LETTER PHO TAM
-0EC0 0E9E ; [.23E6.0020.0002.0E9E][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
-0EC1 0E9E ; [.23E6.0020.0002.0E9E][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
-0EC2 0E9E ; [.23E6.0020.0002.0E9E][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
-0EC3 0E9E ; [.23E6.0020.0002.0E9E][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
-0EC4 0E9E ; [.23E6.0020.0002.0E9E][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
-0E9F  ; [.23E7.0020.0002.0E9F] # LAO LETTER FO SUNG
-0EC0 0E9F ; [.23E7.0020.0002.0E9F][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
-0EC1 0E9F ; [.23E7.0020.0002.0E9F][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
-0EC2 0E9F ; [.23E7.0020.0002.0E9F][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
-0EC3 0E9F ; [.23E7.0020.0002.0E9F][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
-0EC4 0E9F ; [.23E7.0020.0002.0E9F][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
-0EA1  ; [.23E8.0020.0002.0EA1] # LAO LETTER MO
-0EC0 0EA1 ; [.23E8.0020.0002.0EA1][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER MO>
-0EC1 0EA1 ; [.23E8.0020.0002.0EA1][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER MO>
-0EC2 0EA1 ; [.23E8.0020.0002.0EA1][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER MO>
-0EC3 0EA1 ; [.23E8.0020.0002.0EA1][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER MO>
-0EC4 0EA1 ; [.23E8.0020.0002.0EA1][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER MO>
-0EA2  ; [.23E9.0020.0002.0EA2] # LAO LETTER YO
-0EC0 0EA2 ; [.23E9.0020.0002.0EA2][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER YO>
-0EC1 0EA2 ; [.23E9.0020.0002.0EA2][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER YO>
-0EC2 0EA2 ; [.23E9.0020.0002.0EA2][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER YO>
-0EC3 0EA2 ; [.23E9.0020.0002.0EA2][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER YO>
-0EC4 0EA2 ; [.23E9.0020.0002.0EA2][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER YO>
-0EA3  ; [.23EA.0020.0002.0EA3] # LAO LETTER LO LING
-0EC0 0EA3 ; [.23EA.0020.0002.0EA3][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
-0EC1 0EA3 ; [.23EA.0020.0002.0EA3][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
-0EC2 0EA3 ; [.23EA.0020.0002.0EA3][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
-0EC3 0EA3 ; [.23EA.0020.0002.0EA3][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
-0EC4 0EA3 ; [.23EA.0020.0002.0EA3][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
-0EA5  ; [.23EB.0020.0002.0EA5] # LAO LETTER LO LOOT
-0EC0 0EA5 ; [.23EB.0020.0002.0EA5][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
-0EC1 0EA5 ; [.23EB.0020.0002.0EA5][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
-0EC2 0EA5 ; [.23EB.0020.0002.0EA5][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
-0EC3 0EA5 ; [.23EB.0020.0002.0EA5][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
-0EC4 0EA5 ; [.23EB.0020.0002.0EA5][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
-0EA7  ; [.23EC.0020.0002.0EA7] # LAO LETTER WO
-0EC0 0EA7 ; [.23EC.0020.0002.0EA7][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER WO>
-0EC1 0EA7 ; [.23EC.0020.0002.0EA7][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER WO>
-0EC2 0EA7 ; [.23EC.0020.0002.0EA7][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER WO>
-0EC3 0EA7 ; [.23EC.0020.0002.0EA7][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER WO>
-0EC4 0EA7 ; [.23EC.0020.0002.0EA7][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER WO>
-0EAB  ; [.23ED.0020.0002.0EAB] # LAO LETTER HO SUNG
-0EDC  ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC] # LAO HO NO; QQKN
-0EC0 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO NO>
-0EC1 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO NO>
-0EC2 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO NO>
-0EC3 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO NO>
-0EC4 0EDC ; [.23ED.0020.0004.0EDC][.23E1.0020.0004.0EDC][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO NO>
-0EDD  ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD] # LAO HO MO; QQKN
-0EC0 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO HO MO>
-0EC1 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO HO MO>
-0EC2 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO HO MO>
-0EC3 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO HO MO>
-0EC4 0EDD ; [.23ED.0020.0004.0EDD][.23E8.0020.0004.0EDD][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO HO MO>
-0EC0 0EAB ; [.23ED.0020.0002.0EAB][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
-0EC1 0EAB ; [.23ED.0020.0002.0EAB][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
-0EC2 0EAB ; [.23ED.0020.0002.0EAB][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
-0EC3 0EAB ; [.23ED.0020.0002.0EAB][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
-0EC4 0EAB ; [.23ED.0020.0002.0EAB][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
-0EAD  ; [.23EE.0020.0002.0EAD] # LAO LETTER O
-0EC0 0EAD ; [.23EE.0020.0002.0EAD][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER O>
-0EC1 0EAD ; [.23EE.0020.0002.0EAD][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER O>
-0EC2 0EAD ; [.23EE.0020.0002.0EAD][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER O>
-0EC3 0EAD ; [.23EE.0020.0002.0EAD][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER O>
-0EC4 0EAD ; [.23EE.0020.0002.0EAD][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER O>
-0EAE  ; [.23EF.0020.0002.0EAE] # LAO LETTER HO TAM
-0EC0 0EAE ; [.23EF.0020.0002.0EAE][.23FE.0020.001F.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
-0EC1 0EAE ; [.23EF.0020.0002.0EAE][.23FF.0020.001F.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
-0EC2 0EAE ; [.23EF.0020.0002.0EAE][.2400.0020.001F.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
-0EC3 0EAE ; [.23EF.0020.0002.0EAE][.2401.0020.001F.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
-0EC4 0EAE ; [.23EF.0020.0002.0EAE][.2402.0020.001F.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
-0EAF  ; [.23F0.0020.0002.0EAF] # LAO ELLIPSIS
-0EB0  ; [.23F1.0020.0002.0EB0] # LAO VOWEL SIGN A
-0EB1  ; [.23F2.0020.0002.0EB1] # LAO VOWEL SIGN MAI KAN
-0EB2  ; [.23F3.0020.0002.0EB2] # LAO VOWEL SIGN AA
-0EB3  ; [.23F4.0020.0002.0EB3] # LAO VOWEL SIGN AM
-0ECD 0EB2 ; [.23F4.0020.0002.0EB3] # LAO VOWEL SIGN AM
-0EB4  ; [.23F5.0020.0002.0EB4] # LAO VOWEL SIGN I
-0EB5  ; [.23F6.0020.0002.0EB5] # LAO VOWEL SIGN II
-0EB6  ; [.23F7.0020.0002.0EB6] # LAO VOWEL SIGN Y
-0EB7  ; [.23F8.0020.0002.0EB7] # LAO VOWEL SIGN YY
-0EB8  ; [.23F9.0020.0002.0EB8] # LAO VOWEL SIGN U
-0EB9  ; [.23FA.0020.0002.0EB9] # LAO VOWEL SIGN UU
-0EBB  ; [.23FB.0020.0002.0EBB] # LAO VOWEL SIGN MAI KON
-0EBC  ; [.23FC.0020.0002.0EBC] # LAO SEMIVOWEL SIGN LO
-0EBD  ; [.23FD.0020.0002.0EBD] # LAO SEMIVOWEL SIGN NYO
-0EC0  ; [.23FE.0020.0002.0EC0] # LAO VOWEL SIGN E
-0EC1  ; [.23FF.0020.0002.0EC1] # LAO VOWEL SIGN EI
-0EC2  ; [.2400.0020.0002.0EC2] # LAO VOWEL SIGN O
-0EC3  ; [.2401.0020.0002.0EC3] # LAO VOWEL SIGN AY
-0EC4  ; [.2402.0020.0002.0EC4] # LAO VOWEL SIGN AI
-AA80  ; [.2403.0020.0002.AA80] # TAI VIET LETTER LOW KO
-AAB5 AA80 ; [.2403.0020.0002.AA80][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
-AAB6 AA80 ; [.2403.0020.0002.AA80][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
-AAB9 AA80 ; [.2403.0020.0002.AA80][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
-AABB AA80 ; [.2403.0020.0002.AA80][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
-AABC AA80 ; [.2403.0020.0002.AA80][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
-AA81  ; [.2404.0020.0002.AA81] # TAI VIET LETTER HIGH KO
-AAB5 AA81 ; [.2404.0020.0002.AA81][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
-AAB6 AA81 ; [.2404.0020.0002.AA81][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
-AAB9 AA81 ; [.2404.0020.0002.AA81][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
-AABB AA81 ; [.2404.0020.0002.AA81][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
-AABC AA81 ; [.2404.0020.0002.AA81][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
-AA82  ; [.2405.0020.0002.AA82] # TAI VIET LETTER LOW KHO
-AAB5 AA82 ; [.2405.0020.0002.AA82][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
-AAB6 AA82 ; [.2405.0020.0002.AA82][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
-AAB9 AA82 ; [.2405.0020.0002.AA82][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
-AABB AA82 ; [.2405.0020.0002.AA82][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
-AABC AA82 ; [.2405.0020.0002.AA82][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
-AA83  ; [.2406.0020.0002.AA83] # TAI VIET LETTER HIGH KHO
-AAB5 AA83 ; [.2406.0020.0002.AA83][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
-AAB6 AA83 ; [.2406.0020.0002.AA83][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
-AAB9 AA83 ; [.2406.0020.0002.AA83][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
-AABB AA83 ; [.2406.0020.0002.AA83][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
-AABC AA83 ; [.2406.0020.0002.AA83][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
-AA84  ; [.2407.0020.0002.AA84] # TAI VIET LETTER LOW KHHO
-AAB5 AA84 ; [.2407.0020.0002.AA84][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
-AAB6 AA84 ; [.2407.0020.0002.AA84][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
-AAB9 AA84 ; [.2407.0020.0002.AA84][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
-AABB AA84 ; [.2407.0020.0002.AA84][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
-AABC AA84 ; [.2407.0020.0002.AA84][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
-AA85  ; [.2408.0020.0002.AA85] # TAI VIET LETTER HIGH KHHO
-AAB5 AA85 ; [.2408.0020.0002.AA85][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
-AAB6 AA85 ; [.2408.0020.0002.AA85][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
-AAB9 AA85 ; [.2408.0020.0002.AA85][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
-AABB AA85 ; [.2408.0020.0002.AA85][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
-AABC AA85 ; [.2408.0020.0002.AA85][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
-AA86  ; [.2409.0020.0002.AA86] # TAI VIET LETTER LOW GO
-AAB5 AA86 ; [.2409.0020.0002.AA86][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
-AAB6 AA86 ; [.2409.0020.0002.AA86][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
-AAB9 AA86 ; [.2409.0020.0002.AA86][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
-AABB AA86 ; [.2409.0020.0002.AA86][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
-AABC AA86 ; [.2409.0020.0002.AA86][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
-AA87  ; [.240A.0020.0002.AA87] # TAI VIET LETTER HIGH GO
-AAB5 AA87 ; [.240A.0020.0002.AA87][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
-AAB6 AA87 ; [.240A.0020.0002.AA87][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
-AAB9 AA87 ; [.240A.0020.0002.AA87][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
-AABB AA87 ; [.240A.0020.0002.AA87][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
-AABC AA87 ; [.240A.0020.0002.AA87][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
-AA88  ; [.240B.0020.0002.AA88] # TAI VIET LETTER LOW NGO
-AAB5 AA88 ; [.240B.0020.0002.AA88][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
-AAB6 AA88 ; [.240B.0020.0002.AA88][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
-AAB9 AA88 ; [.240B.0020.0002.AA88][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
-AABB AA88 ; [.240B.0020.0002.AA88][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
-AABC AA88 ; [.240B.0020.0002.AA88][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
-AA89  ; [.240C.0020.0002.AA89] # TAI VIET LETTER HIGH NGO
-AAB5 AA89 ; [.240C.0020.0002.AA89][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
-AAB6 AA89 ; [.240C.0020.0002.AA89][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
-AAB9 AA89 ; [.240C.0020.0002.AA89][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
-AABB AA89 ; [.240C.0020.0002.AA89][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
-AABC AA89 ; [.240C.0020.0002.AA89][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
-AA8A  ; [.240D.0020.0002.AA8A] # TAI VIET LETTER LOW CO
-AAB5 AA8A ; [.240D.0020.0002.AA8A][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
-AAB6 AA8A ; [.240D.0020.0002.AA8A][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
-AAB9 AA8A ; [.240D.0020.0002.AA8A][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
-AABB AA8A ; [.240D.0020.0002.AA8A][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
-AABC AA8A ; [.240D.0020.0002.AA8A][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
-AA8B  ; [.240E.0020.0002.AA8B] # TAI VIET LETTER HIGH CO
-AAB5 AA8B ; [.240E.0020.0002.AA8B][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
-AAB6 AA8B ; [.240E.0020.0002.AA8B][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
-AAB9 AA8B ; [.240E.0020.0002.AA8B][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
-AABB AA8B ; [.240E.0020.0002.AA8B][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
-AABC AA8B ; [.240E.0020.0002.AA8B][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
-AA8C  ; [.240F.0020.0002.AA8C] # TAI VIET LETTER LOW CHO
-AAB5 AA8C ; [.240F.0020.0002.AA8C][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
-AAB6 AA8C ; [.240F.0020.0002.AA8C][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
-AAB9 AA8C ; [.240F.0020.0002.AA8C][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
-AABB AA8C ; [.240F.0020.0002.AA8C][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
-AABC AA8C ; [.240F.0020.0002.AA8C][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
-AA8D  ; [.2410.0020.0002.AA8D] # TAI VIET LETTER HIGH CHO
-AAB5 AA8D ; [.2410.0020.0002.AA8D][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
-AAB6 AA8D ; [.2410.0020.0002.AA8D][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
-AAB9 AA8D ; [.2410.0020.0002.AA8D][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
-AABB AA8D ; [.2410.0020.0002.AA8D][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
-AABC AA8D ; [.2410.0020.0002.AA8D][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
-AA8E  ; [.2411.0020.0002.AA8E] # TAI VIET LETTER LOW SO
-AAB5 AA8E ; [.2411.0020.0002.AA8E][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
-AAB6 AA8E ; [.2411.0020.0002.AA8E][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
-AAB9 AA8E ; [.2411.0020.0002.AA8E][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
-AABB AA8E ; [.2411.0020.0002.AA8E][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
-AABC AA8E ; [.2411.0020.0002.AA8E][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
-AA8F  ; [.2412.0020.0002.AA8F] # TAI VIET LETTER HIGH SO
-AAB5 AA8F ; [.2412.0020.0002.AA8F][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
-AAB6 AA8F ; [.2412.0020.0002.AA8F][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
-AAB9 AA8F ; [.2412.0020.0002.AA8F][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
-AABB AA8F ; [.2412.0020.0002.AA8F][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
-AABC AA8F ; [.2412.0020.0002.AA8F][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
-AA90  ; [.2413.0020.0002.AA90] # TAI VIET LETTER LOW NYO
-AAB5 AA90 ; [.2413.0020.0002.AA90][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
-AAB6 AA90 ; [.2413.0020.0002.AA90][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
-AAB9 AA90 ; [.2413.0020.0002.AA90][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
-AABB AA90 ; [.2413.0020.0002.AA90][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
-AABC AA90 ; [.2413.0020.0002.AA90][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
-AA91  ; [.2414.0020.0002.AA91] # TAI VIET LETTER HIGH NYO
-AAB5 AA91 ; [.2414.0020.0002.AA91][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
-AAB6 AA91 ; [.2414.0020.0002.AA91][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
-AAB9 AA91 ; [.2414.0020.0002.AA91][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
-AABB AA91 ; [.2414.0020.0002.AA91][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
-AABC AA91 ; [.2414.0020.0002.AA91][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
-AA92  ; [.2415.0020.0002.AA92] # TAI VIET LETTER LOW DO
-AAB5 AA92 ; [.2415.0020.0002.AA92][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
-AAB6 AA92 ; [.2415.0020.0002.AA92][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
-AAB9 AA92 ; [.2415.0020.0002.AA92][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
-AABB AA92 ; [.2415.0020.0002.AA92][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
-AABC AA92 ; [.2415.0020.0002.AA92][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
-AA93  ; [.2416.0020.0002.AA93] # TAI VIET LETTER HIGH DO
-AAB5 AA93 ; [.2416.0020.0002.AA93][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
-AAB6 AA93 ; [.2416.0020.0002.AA93][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
-AAB9 AA93 ; [.2416.0020.0002.AA93][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
-AABB AA93 ; [.2416.0020.0002.AA93][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
-AABC AA93 ; [.2416.0020.0002.AA93][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
-AA94  ; [.2417.0020.0002.AA94] # TAI VIET LETTER LOW TO
-AAB5 AA94 ; [.2417.0020.0002.AA94][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
-AAB6 AA94 ; [.2417.0020.0002.AA94][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
-AAB9 AA94 ; [.2417.0020.0002.AA94][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
-AABB AA94 ; [.2417.0020.0002.AA94][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
-AABC AA94 ; [.2417.0020.0002.AA94][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
-AA95  ; [.2418.0020.0002.AA95] # TAI VIET LETTER HIGH TO
-AAB5 AA95 ; [.2418.0020.0002.AA95][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
-AAB6 AA95 ; [.2418.0020.0002.AA95][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
-AAB9 AA95 ; [.2418.0020.0002.AA95][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
-AABB AA95 ; [.2418.0020.0002.AA95][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
-AABC AA95 ; [.2418.0020.0002.AA95][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
-AA96  ; [.2419.0020.0002.AA96] # TAI VIET LETTER LOW THO
-AAB5 AA96 ; [.2419.0020.0002.AA96][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
-AAB6 AA96 ; [.2419.0020.0002.AA96][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
-AAB9 AA96 ; [.2419.0020.0002.AA96][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
-AABB AA96 ; [.2419.0020.0002.AA96][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
-AABC AA96 ; [.2419.0020.0002.AA96][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
-AA97  ; [.241A.0020.0002.AA97] # TAI VIET LETTER HIGH THO
-AAB5 AA97 ; [.241A.0020.0002.AA97][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
-AAB6 AA97 ; [.241A.0020.0002.AA97][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
-AAB9 AA97 ; [.241A.0020.0002.AA97][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
-AABB AA97 ; [.241A.0020.0002.AA97][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
-AABC AA97 ; [.241A.0020.0002.AA97][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
-AA98  ; [.241B.0020.0002.AA98] # TAI VIET LETTER LOW NO
-AAB5 AA98 ; [.241B.0020.0002.AA98][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
-AAB6 AA98 ; [.241B.0020.0002.AA98][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
-AAB9 AA98 ; [.241B.0020.0002.AA98][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
-AABB AA98 ; [.241B.0020.0002.AA98][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
-AABC AA98 ; [.241B.0020.0002.AA98][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
-AA99  ; [.241C.0020.0002.AA99] # TAI VIET LETTER HIGH NO
-AAB5 AA99 ; [.241C.0020.0002.AA99][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
-AAB6 AA99 ; [.241C.0020.0002.AA99][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
-AAB9 AA99 ; [.241C.0020.0002.AA99][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
-AABB AA99 ; [.241C.0020.0002.AA99][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
-AABC AA99 ; [.241C.0020.0002.AA99][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
-AA9A  ; [.241D.0020.0002.AA9A] # TAI VIET LETTER LOW BO
-AAB5 AA9A ; [.241D.0020.0002.AA9A][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
-AAB6 AA9A ; [.241D.0020.0002.AA9A][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
-AAB9 AA9A ; [.241D.0020.0002.AA9A][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
-AABB AA9A ; [.241D.0020.0002.AA9A][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
-AABC AA9A ; [.241D.0020.0002.AA9A][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
-AA9B  ; [.241E.0020.0002.AA9B] # TAI VIET LETTER HIGH BO
-AAB5 AA9B ; [.241E.0020.0002.AA9B][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
-AAB6 AA9B ; [.241E.0020.0002.AA9B][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
-AAB9 AA9B ; [.241E.0020.0002.AA9B][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
-AABB AA9B ; [.241E.0020.0002.AA9B][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
-AABC AA9B ; [.241E.0020.0002.AA9B][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
-AA9C  ; [.241F.0020.0002.AA9C] # TAI VIET LETTER LOW PO
-AAB5 AA9C ; [.241F.0020.0002.AA9C][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
-AAB6 AA9C ; [.241F.0020.0002.AA9C][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
-AAB9 AA9C ; [.241F.0020.0002.AA9C][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
-AABB AA9C ; [.241F.0020.0002.AA9C][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
-AABC AA9C ; [.241F.0020.0002.AA9C][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
-AA9D  ; [.2420.0020.0002.AA9D] # TAI VIET LETTER HIGH PO
-AAB5 AA9D ; [.2420.0020.0002.AA9D][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
-AAB6 AA9D ; [.2420.0020.0002.AA9D][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
-AAB9 AA9D ; [.2420.0020.0002.AA9D][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
-AABB AA9D ; [.2420.0020.0002.AA9D][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
-AABC AA9D ; [.2420.0020.0002.AA9D][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
-AA9E  ; [.2421.0020.0002.AA9E] # TAI VIET LETTER LOW PHO
-AAB5 AA9E ; [.2421.0020.0002.AA9E][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
-AAB6 AA9E ; [.2421.0020.0002.AA9E][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
-AAB9 AA9E ; [.2421.0020.0002.AA9E][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
-AABB AA9E ; [.2421.0020.0002.AA9E][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
-AABC AA9E ; [.2421.0020.0002.AA9E][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
-AA9F  ; [.2422.0020.0002.AA9F] # TAI VIET LETTER HIGH PHO
-AAB5 AA9F ; [.2422.0020.0002.AA9F][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
-AAB6 AA9F ; [.2422.0020.0002.AA9F][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
-AAB9 AA9F ; [.2422.0020.0002.AA9F][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
-AABB AA9F ; [.2422.0020.0002.AA9F][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
-AABC AA9F ; [.2422.0020.0002.AA9F][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
-AAA0  ; [.2423.0020.0002.AAA0] # TAI VIET LETTER LOW FO
-AAB5 AAA0 ; [.2423.0020.0002.AAA0][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
-AAB6 AAA0 ; [.2423.0020.0002.AAA0][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
-AAB9 AAA0 ; [.2423.0020.0002.AAA0][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
-AABB AAA0 ; [.2423.0020.0002.AAA0][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
-AABC AAA0 ; [.2423.0020.0002.AAA0][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
-AAA1  ; [.2424.0020.0002.AAA1] # TAI VIET LETTER HIGH FO
-AAB5 AAA1 ; [.2424.0020.0002.AAA1][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
-AAB6 AAA1 ; [.2424.0020.0002.AAA1][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
-AAB9 AAA1 ; [.2424.0020.0002.AAA1][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
-AABB AAA1 ; [.2424.0020.0002.AAA1][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
-AABC AAA1 ; [.2424.0020.0002.AAA1][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
-AAA2  ; [.2425.0020.0002.AAA2] # TAI VIET LETTER LOW MO
-AAB5 AAA2 ; [.2425.0020.0002.AAA2][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
-AAB6 AAA2 ; [.2425.0020.0002.AAA2][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
-AAB9 AAA2 ; [.2425.0020.0002.AAA2][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
-AABB AAA2 ; [.2425.0020.0002.AAA2][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
-AABC AAA2 ; [.2425.0020.0002.AAA2][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
-AAA3  ; [.2426.0020.0002.AAA3] # TAI VIET LETTER HIGH MO
-AAB5 AAA3 ; [.2426.0020.0002.AAA3][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
-AAB6 AAA3 ; [.2426.0020.0002.AAA3][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
-AAB9 AAA3 ; [.2426.0020.0002.AAA3][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
-AABB AAA3 ; [.2426.0020.0002.AAA3][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
-AABC AAA3 ; [.2426.0020.0002.AAA3][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
-AAA4  ; [.2427.0020.0002.AAA4] # TAI VIET LETTER LOW YO
-AAB5 AAA4 ; [.2427.0020.0002.AAA4][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
-AAB6 AAA4 ; [.2427.0020.0002.AAA4][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
-AAB9 AAA4 ; [.2427.0020.0002.AAA4][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
-AABB AAA4 ; [.2427.0020.0002.AAA4][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
-AABC AAA4 ; [.2427.0020.0002.AAA4][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
-AAA5  ; [.2428.0020.0002.AAA5] # TAI VIET LETTER HIGH YO
-AAB5 AAA5 ; [.2428.0020.0002.AAA5][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
-AAB6 AAA5 ; [.2428.0020.0002.AAA5][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
-AAB9 AAA5 ; [.2428.0020.0002.AAA5][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
-AABB AAA5 ; [.2428.0020.0002.AAA5][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
-AABC AAA5 ; [.2428.0020.0002.AAA5][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
-AAA6  ; [.2429.0020.0002.AAA6] # TAI VIET LETTER LOW RO
-AAB5 AAA6 ; [.2429.0020.0002.AAA6][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
-AAB6 AAA6 ; [.2429.0020.0002.AAA6][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
-AAB9 AAA6 ; [.2429.0020.0002.AAA6][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
-AABB AAA6 ; [.2429.0020.0002.AAA6][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
-AABC AAA6 ; [.2429.0020.0002.AAA6][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
-AAA7  ; [.242A.0020.0002.AAA7] # TAI VIET LETTER HIGH RO
-AAB5 AAA7 ; [.242A.0020.0002.AAA7][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
-AAB6 AAA7 ; [.242A.0020.0002.AAA7][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
-AAB9 AAA7 ; [.242A.0020.0002.AAA7][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
-AABB AAA7 ; [.242A.0020.0002.AAA7][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
-AABC AAA7 ; [.242A.0020.0002.AAA7][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
-AAA8  ; [.242B.0020.0002.AAA8] # TAI VIET LETTER LOW LO
-AAB5 AAA8 ; [.242B.0020.0002.AAA8][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
-AAB6 AAA8 ; [.242B.0020.0002.AAA8][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
-AAB9 AAA8 ; [.242B.0020.0002.AAA8][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
-AABB AAA8 ; [.242B.0020.0002.AAA8][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
-AABC AAA8 ; [.242B.0020.0002.AAA8][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
-AAA9  ; [.242C.0020.0002.AAA9] # TAI VIET LETTER HIGH LO
-AAB5 AAA9 ; [.242C.0020.0002.AAA9][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
-AAB6 AAA9 ; [.242C.0020.0002.AAA9][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
-AAB9 AAA9 ; [.242C.0020.0002.AAA9][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
-AABB AAA9 ; [.242C.0020.0002.AAA9][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
-AABC AAA9 ; [.242C.0020.0002.AAA9][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
-AAAA  ; [.242D.0020.0002.AAAA] # TAI VIET LETTER LOW VO
-AAB5 AAAA ; [.242D.0020.0002.AAAA][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
-AAB6 AAAA ; [.242D.0020.0002.AAAA][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
-AAB9 AAAA ; [.242D.0020.0002.AAAA][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
-AABB AAAA ; [.242D.0020.0002.AAAA][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
-AABC AAAA ; [.242D.0020.0002.AAAA][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
-AAAB  ; [.242E.0020.0002.AAAB] # TAI VIET LETTER HIGH VO
-AAB5 AAAB ; [.242E.0020.0002.AAAB][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
-AAB6 AAAB ; [.242E.0020.0002.AAAB][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
-AAB9 AAAB ; [.242E.0020.0002.AAAB][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
-AABB AAAB ; [.242E.0020.0002.AAAB][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
-AABC AAAB ; [.242E.0020.0002.AAAB][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
-AAAC  ; [.242F.0020.0002.AAAC] # TAI VIET LETTER LOW HO
-AAB5 AAAC ; [.242F.0020.0002.AAAC][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
-AAB6 AAAC ; [.242F.0020.0002.AAAC][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
-AAB9 AAAC ; [.242F.0020.0002.AAAC][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
-AABB AAAC ; [.242F.0020.0002.AAAC][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
-AABC AAAC ; [.242F.0020.0002.AAAC][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
-AAAD  ; [.2430.0020.0002.AAAD] # TAI VIET LETTER HIGH HO
-AAB5 AAAD ; [.2430.0020.0002.AAAD][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
-AAB6 AAAD ; [.2430.0020.0002.AAAD][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
-AAB9 AAAD ; [.2430.0020.0002.AAAD][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
-AABB AAAD ; [.2430.0020.0002.AAAD][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
-AABC AAAD ; [.2430.0020.0002.AAAD][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
-AAAE  ; [.2431.0020.0002.AAAE] # TAI VIET LETTER LOW O
-AAB5 AAAE ; [.2431.0020.0002.AAAE][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
-AAB6 AAAE ; [.2431.0020.0002.AAAE][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
-AAB9 AAAE ; [.2431.0020.0002.AAAE][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
-AABB AAAE ; [.2431.0020.0002.AAAE][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
-AABC AAAE ; [.2431.0020.0002.AAAE][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
-AAAF  ; [.2432.0020.0002.AAAF] # TAI VIET LETTER HIGH O
-AAB5 AAAF ; [.2432.0020.0002.AAAF][.2438.0020.001F.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
-AAB6 AAAF ; [.2432.0020.0002.AAAF][.2439.0020.001F.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
-AAB9 AAAF ; [.2432.0020.0002.AAAF][.243C.0020.001F.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
-AABB AAAF ; [.2432.0020.0002.AAAF][.243E.0020.001F.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
-AABC AAAF ; [.2432.0020.0002.AAAF][.243F.0020.001F.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
-AAB0  ; [.2433.0020.0002.AAB0] # TAI VIET MAI KANG
-AAB1  ; [.2434.0020.0002.AAB1] # TAI VIET VOWEL AA
-AAB2  ; [.2435.0020.0002.AAB2] # TAI VIET VOWEL I
-AAB3  ; [.2436.0020.0002.AAB3] # TAI VIET VOWEL UE
-AAB4  ; [.2437.0020.0002.AAB4] # TAI VIET VOWEL U
-AAB5  ; [.2438.0020.0002.AAB5] # TAI VIET VOWEL E
-AAB6  ; [.2439.0020.0002.AAB6] # TAI VIET VOWEL O
-AAB7  ; [.243A.0020.0002.AAB7] # TAI VIET MAY KHIT
-AAB8  ; [.243B.0020.0002.AAB8] # TAI VIET VOWEL IA
-AAB9  ; [.243C.0020.0002.AAB9] # TAI VIET VOWEL UEA
-AABA  ; [.243D.0020.0002.AABA] # TAI VIET VOWEL UA
-AABB  ; [.243E.0020.0002.AABB] # TAI VIET VOWEL AUE
-AABC  ; [.243F.0020.0002.AABC] # TAI VIET VOWEL AY
-AABD  ; [.2440.0020.0002.AABD] # TAI VIET VOWEL AN
-AABE  ; [.2441.0020.0002.AABE] # TAI VIET VOWEL AM
-AAC0  ; [.2442.0020.0002.AAC0] # TAI VIET TONE MAI NUENG
-AAC2  ; [.2443.0020.0002.AAC2] # TAI VIET TONE MAI SONG
-AADB  ; [.2444.0020.0002.AADB] # TAI VIET SYMBOL KON
-AADC  ; [.2445.0020.0002.AADC] # TAI VIET SYMBOL NUENG
-0F40  ; [.2446.0020.0002.0F40] # TIBETAN LETTER KA
-0F69  ; [.2446.0020.0002.0F40][.2487.0020.0002.0FB5] # TIBETAN LETTER KSSA; QQCN
-0F90  ; [.2447.0020.0002.0F90] # TIBETAN SUBJOINED LETTER KA
-0FB9  ; [.2447.0020.0002.0F90][.2487.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER KSSA; QQCN
-0F6B  ; [.2448.0020.0002.0F6B] # TIBETAN LETTER KKA
-0F41  ; [.2449.0020.0002.0F41] # TIBETAN LETTER KHA
-0F91  ; [.244A.0020.0002.0F91] # TIBETAN SUBJOINED LETTER KHA
-0F42  ; [.244B.0020.0002.0F42] # TIBETAN LETTER GA
-0F43  ; [.244B.0020.0002.0F42][.248B.0020.0002.0FB7] # TIBETAN LETTER GHA; QQCN
-0F92  ; [.244C.0020.0002.0F92] # TIBETAN SUBJOINED LETTER GA
-0F93  ; [.244C.0020.0002.0F92][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER GHA; QQCN
-0F44  ; [.244D.0020.0002.0F44] # TIBETAN LETTER NGA
-0F94  ; [.244E.0020.0002.0F94] # TIBETAN SUBJOINED LETTER NGA
-0F45  ; [.244F.0020.0002.0F45] # TIBETAN LETTER CA
-0F95  ; [.2450.0020.0002.0F95] # TIBETAN SUBJOINED LETTER CA
-0F46  ; [.2451.0020.0002.0F46] # TIBETAN LETTER CHA
-0F96  ; [.2452.0020.0002.0F96] # TIBETAN SUBJOINED LETTER CHA
-0F47  ; [.2453.0020.0002.0F47] # TIBETAN LETTER JA
-0F97  ; [.2454.0020.0002.0F97] # TIBETAN SUBJOINED LETTER JA
-0F49  ; [.2455.0020.0002.0F49] # TIBETAN LETTER NYA
-0F99  ; [.2456.0020.0002.0F99] # TIBETAN SUBJOINED LETTER NYA
-0F4A  ; [.2457.0020.0002.0F4A] # TIBETAN LETTER TTA
-0F9A  ; [.2458.0020.0002.0F9A] # TIBETAN SUBJOINED LETTER TTA
-0F4B  ; [.2459.0020.0002.0F4B] # TIBETAN LETTER TTHA
-0F9B  ; [.245A.0020.0002.0F9B] # TIBETAN SUBJOINED LETTER TTHA
-0F4C  ; [.245B.0020.0002.0F4C] # TIBETAN LETTER DDA
-0F4D  ; [.245B.0020.0002.0F4C][.248B.0020.0002.0FB7] # TIBETAN LETTER DDHA; QQCN
-0F9C  ; [.245C.0020.0002.0F9C] # TIBETAN SUBJOINED LETTER DDA
-0F9D  ; [.245C.0020.0002.0F9C][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DDHA; QQCN
-0F4E  ; [.245D.0020.0002.0F4E] # TIBETAN LETTER NNA
-0F9E  ; [.245E.0020.0002.0F9E] # TIBETAN SUBJOINED LETTER NNA
-0F4F  ; [.245F.0020.0002.0F4F] # TIBETAN LETTER TA
-0F9F  ; [.2460.0020.0002.0F9F] # TIBETAN SUBJOINED LETTER TA
-0F50  ; [.2461.0020.0002.0F50] # TIBETAN LETTER THA
-0FA0  ; [.2462.0020.0002.0FA0] # TIBETAN SUBJOINED LETTER THA
-0F51  ; [.2463.0020.0002.0F51] # TIBETAN LETTER DA
-0F52  ; [.2463.0020.0002.0F51][.248B.0020.0002.0FB7] # TIBETAN LETTER DHA; QQCN
-0FA1  ; [.2464.0020.0002.0FA1] # TIBETAN SUBJOINED LETTER DA
-0FA2  ; [.2464.0020.0002.0FA1][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DHA; QQCN
-0F53  ; [.2465.0020.0002.0F53] # TIBETAN LETTER NA
-0FA3  ; [.2466.0020.0002.0FA3] # TIBETAN SUBJOINED LETTER NA
-0F54  ; [.2467.0020.0002.0F54] # TIBETAN LETTER PA
-0FA4  ; [.2468.0020.0002.0FA4] # TIBETAN SUBJOINED LETTER PA
-0F55  ; [.2469.0020.0002.0F55] # TIBETAN LETTER PHA
-0FA5  ; [.246A.0020.0002.0FA5] # TIBETAN SUBJOINED LETTER PHA
-0F56  ; [.246B.0020.0002.0F56] # TIBETAN LETTER BA
-0F57  ; [.246B.0020.0002.0F56][.248B.0020.0002.0FB7] # TIBETAN LETTER BHA; QQCN
-0FA6  ; [.246C.0020.0002.0FA6] # TIBETAN SUBJOINED LETTER BA
-0FA7  ; [.246C.0020.0002.0FA6][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER BHA; QQCN
-0F58  ; [.246D.0020.0002.0F58] # TIBETAN LETTER MA
-0FA8  ; [.246E.0020.0002.0FA8] # TIBETAN SUBJOINED LETTER MA
-0F59  ; [.246F.0020.0002.0F59] # TIBETAN LETTER TSA
-0FA9  ; [.2470.0020.0002.0FA9] # TIBETAN SUBJOINED LETTER TSA
-0F5A  ; [.2471.0020.0002.0F5A] # TIBETAN LETTER TSHA
-0FAA  ; [.2472.0020.0002.0FAA] # TIBETAN SUBJOINED LETTER TSHA
-0F5B  ; [.2473.0020.0002.0F5B] # TIBETAN LETTER DZA
-0F5C  ; [.2473.0020.0002.0F5B][.248B.0020.0002.0FB7] # TIBETAN LETTER DZHA; QQCN
-0FAB  ; [.2474.0020.0002.0FAB] # TIBETAN SUBJOINED LETTER DZA
-0FAC  ; [.2474.0020.0002.0FAB][.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DZHA; QQCN
-0F5D  ; [.2475.0020.0002.0F5D] # TIBETAN LETTER WA
-0FAD  ; [.2476.0020.0002.0FAD] # TIBETAN SUBJOINED LETTER WA
-0FBA  ; [.2476.0020.0004.0FBA][.0000.0160.0004.0FBA] # TIBETAN SUBJOINED LETTER FIXED-FORM WA; QQKN
-0F5E  ; [.2477.0020.0002.0F5E] # TIBETAN LETTER ZHA
-0FAE  ; [.2478.0020.0002.0FAE] # TIBETAN SUBJOINED LETTER ZHA
-0F5F  ; [.2479.0020.0002.0F5F] # TIBETAN LETTER ZA
-0FAF  ; [.247A.0020.0002.0FAF] # TIBETAN SUBJOINED LETTER ZA
-0F60  ; [.247B.0020.0002.0F60] # TIBETAN LETTER -A
-0FB0  ; [.247C.0020.0002.0FB0] # TIBETAN SUBJOINED LETTER -A
-0F61  ; [.247D.0020.0002.0F61] # TIBETAN LETTER YA
-0FB1  ; [.247E.0020.0002.0FB1] # TIBETAN SUBJOINED LETTER YA
-0FBB  ; [.247E.0020.0004.0FBB][.0000.0160.0004.0FBB] # TIBETAN SUBJOINED LETTER FIXED-FORM YA; QQKN
-0F62  ; [.247F.0020.0002.0F62] # TIBETAN LETTER RA
-0F6A  ; [.247F.0020.0004.0F6A][.0000.0160.0004.0F6A] # TIBETAN LETTER FIXED-FORM RA; QQKN
-0FB2  ; [.2480.0020.0002.0FB2] # TIBETAN SUBJOINED LETTER RA
-0FBC  ; [.2480.0020.0004.0FBC][.0000.0160.0004.0FBC] # TIBETAN SUBJOINED LETTER FIXED-FORM RA; QQKN
-0F6C  ; [.2481.0020.0002.0F6C] # TIBETAN LETTER RRA
-0F63  ; [.2482.0020.0002.0F63] # TIBETAN LETTER LA
-0FB3  ; [.2483.0020.0002.0FB3] # TIBETAN SUBJOINED LETTER LA
-0F64  ; [.2484.0020.0002.0F64] # TIBETAN LETTER SHA
-0FB4  ; [.2485.0020.0002.0FB4] # TIBETAN SUBJOINED LETTER SHA
-0F65  ; [.2486.0020.0002.0F65] # TIBETAN LETTER SSA
-0FB5  ; [.2487.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER SSA
-0F66  ; [.2488.0020.0002.0F66] # TIBETAN LETTER SA
-0FB6  ; [.2489.0020.0002.0FB6] # TIBETAN SUBJOINED LETTER SA
-0F67  ; [.248A.0020.0002.0F67] # TIBETAN LETTER HA
-0FB7  ; [.248B.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER HA
-0F68  ; [.248C.0020.0002.0F68] # TIBETAN LETTER A
-0F00  ; [.248C.0020.0004.0F00][.24A3.0020.0004.0F00][.0000.012D.001F.0F00] # TIBETAN SYLLABLE OM; QQKN
-0FB8  ; [.248D.0020.0002.0FB8] # TIBETAN SUBJOINED LETTER A
-0F88  ; [.248E.0020.0002.0F88] # TIBETAN SIGN LCE TSA CAN
-0F8D  ; [.248F.0020.0002.0F8D] # TIBETAN SUBJOINED SIGN LCE TSA CAN
-0F89  ; [.2490.0020.0002.0F89] # TIBETAN SIGN MCHU CAN
-0F8E  ; [.2491.0020.0002.0F8E] # TIBETAN SUBJOINED SIGN MCHU CAN
-0F8C  ; [.2492.0020.0002.0F8C] # TIBETAN SIGN INVERTED MCHU CAN
-0F8F  ; [.2493.0020.0002.0F8F] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
-0F8A  ; [.2494.0020.0002.0F8A] # TIBETAN SIGN GRU CAN RGYINGS
-0F8B  ; [.2495.0020.0002.0F8B] # TIBETAN SIGN GRU MED RGYINGS
-0F71  ; [.2496.0020.0002.0F71] # TIBETAN VOWEL SIGN AA
-0F72  ; [.2497.0020.0002.0F72] # TIBETAN VOWEL SIGN I
-0F73  ; [.2498.0020.0002.0F73] # TIBETAN VOWEL SIGN II
-0F71 0F72 ; [.2498.0020.0002.0F73] # TIBETAN VOWEL SIGN II
-0F80  ; [.2499.0020.0002.0F80] # TIBETAN VOWEL SIGN REVERSED I
-0F81  ; [.249A.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
-0F71 0F80 ; [.249A.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
-0F74  ; [.249B.0020.0002.0F74] # TIBETAN VOWEL SIGN U
-0F75  ; [.249C.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
-0F71 0F74 ; [.249C.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
-0F76  ; [.249D.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
-0FB2 0F80 ; [.249D.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
-0F77  ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F71 0F80 ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0FB2 0F81 ; [.249E.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
-0F78  ; [.249F.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
-0FB3 0F80 ; [.249F.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
-0F79  ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F71 0F80 ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0FB3 0F81 ; [.24A0.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
-0F7A  ; [.24A1.0020.0002.0F7A] # TIBETAN VOWEL SIGN E
-0F7B  ; [.24A2.0020.0002.0F7B] # TIBETAN VOWEL SIGN EE
-0F7C  ; [.24A3.0020.0002.0F7C] # TIBETAN VOWEL SIGN O
-0F7D  ; [.24A4.0020.0002.0F7D] # TIBETAN VOWEL SIGN OO
-0F84  ; [.24A5.0020.0002.0F84] # TIBETAN MARK HALANTA
-1C00  ; [.24A6.0020.0002.1C00] # LEPCHA LETTER KA
-1C01  ; [.24A7.0020.0002.1C01] # LEPCHA LETTER KLA
-1C02  ; [.24A8.0020.0002.1C02] # LEPCHA LETTER KHA
-1C03  ; [.24A9.0020.0002.1C03] # LEPCHA LETTER GA
-1C04  ; [.24AA.0020.0002.1C04] # LEPCHA LETTER GLA
-1C05  ; [.24AB.0020.0002.1C05] # LEPCHA LETTER NGA
-1C06  ; [.24AC.0020.0002.1C06] # LEPCHA LETTER CA
-1C07  ; [.24AD.0020.0002.1C07] # LEPCHA LETTER CHA
-1C08  ; [.24AE.0020.0002.1C08] # LEPCHA LETTER JA
-1C09  ; [.24AF.0020.0002.1C09] # LEPCHA LETTER NYA
-1C4D  ; [.24B0.0020.0002.1C4D] # LEPCHA LETTER TTA
-1C4E  ; [.24B1.0020.0002.1C4E] # LEPCHA LETTER TTHA
-1C4F  ; [.24B2.0020.0002.1C4F] # LEPCHA LETTER DDA
-1C0A  ; [.24B3.0020.0002.1C0A] # LEPCHA LETTER TA
-1C0B  ; [.24B4.0020.0002.1C0B] # LEPCHA LETTER THA
-1C0C  ; [.24B5.0020.0002.1C0C] # LEPCHA LETTER DA
-1C0D  ; [.24B6.0020.0002.1C0D] # LEPCHA LETTER NA
-1C0E  ; [.24B7.0020.0002.1C0E] # LEPCHA LETTER PA
-1C0F  ; [.24B8.0020.0002.1C0F] # LEPCHA LETTER PLA
-1C10  ; [.24B9.0020.0002.1C10] # LEPCHA LETTER PHA
-1C11  ; [.24BA.0020.0002.1C11] # LEPCHA LETTER FA
-1C12  ; [.24BB.0020.0002.1C12] # LEPCHA LETTER FLA
-1C13  ; [.24BC.0020.0002.1C13] # LEPCHA LETTER BA
-1C14  ; [.24BD.0020.0002.1C14] # LEPCHA LETTER BLA
-1C15  ; [.24BE.0020.0002.1C15] # LEPCHA LETTER MA
-1C16  ; [.24BF.0020.0002.1C16] # LEPCHA LETTER MLA
-1C17  ; [.24C0.0020.0002.1C17] # LEPCHA LETTER TSA
-1C18  ; [.24C1.0020.0002.1C18] # LEPCHA LETTER TSHA
-1C19  ; [.24C2.0020.0002.1C19] # LEPCHA LETTER DZA
-1C1A  ; [.24C3.0020.0002.1C1A] # LEPCHA LETTER YA
-1C24  ; [.24C4.0020.0002.1C24] # LEPCHA SUBJOINED LETTER YA
-1C1B  ; [.24C5.0020.0002.1C1B] # LEPCHA LETTER RA
-1C25  ; [.24C6.0020.0002.1C25] # LEPCHA SUBJOINED LETTER RA
-1C1C  ; [.24C7.0020.0002.1C1C] # LEPCHA LETTER LA
-1C1D  ; [.24C8.0020.0002.1C1D] # LEPCHA LETTER HA
-1C1E  ; [.24C9.0020.0002.1C1E] # LEPCHA LETTER HLA
-1C1F  ; [.24CA.0020.0002.1C1F] # LEPCHA LETTER VA
-1C20  ; [.24CB.0020.0002.1C20] # LEPCHA LETTER SA
-1C21  ; [.24CC.0020.0002.1C21] # LEPCHA LETTER SHA
-1C22  ; [.24CD.0020.0002.1C22] # LEPCHA LETTER WA
-1C23  ; [.24CE.0020.0002.1C23] # LEPCHA LETTER A
-1C36  ; [.24CF.0020.0002.1C36] # LEPCHA SIGN RAN
-1C26  ; [.24D0.0020.0002.1C26] # LEPCHA VOWEL SIGN AA
-1C27  ; [.24D1.0020.0002.1C27] # LEPCHA VOWEL SIGN I
-1C28  ; [.24D2.0020.0002.1C28] # LEPCHA VOWEL SIGN O
-1C29  ; [.24D3.0020.0002.1C29] # LEPCHA VOWEL SIGN OO
-1C2A  ; [.24D4.0020.0002.1C2A] # LEPCHA VOWEL SIGN U
-1C2B  ; [.24D5.0020.0002.1C2B] # LEPCHA VOWEL SIGN UU
-1C2C  ; [.24D6.0020.0002.1C2C] # LEPCHA VOWEL SIGN E
-1C2D  ; [.24D7.0020.0002.1C2D] # LEPCHA CONSONANT SIGN K
-1C2E  ; [.24D8.0020.0002.1C2E] # LEPCHA CONSONANT SIGN M
-1C2F  ; [.24D9.0020.0002.1C2F] # LEPCHA CONSONANT SIGN L
-1C30  ; [.24DA.0020.0002.1C30] # LEPCHA CONSONANT SIGN N
-1C31  ; [.24DB.0020.0002.1C31] # LEPCHA CONSONANT SIGN P
-1C32  ; [.24DC.0020.0002.1C32] # LEPCHA CONSONANT SIGN R
-1C33  ; [.24DD.0020.0002.1C33] # LEPCHA CONSONANT SIGN T
-1C34  ; [.24DE.0020.0002.1C34] # LEPCHA CONSONANT SIGN NYIN-DO
-1C35  ; [.24DF.0020.0002.1C35] # LEPCHA CONSONANT SIGN KANG
-A840  ; [.24E0.0020.0002.A840] # PHAGS-PA LETTER KA
-A841  ; [.24E1.0020.0002.A841] # PHAGS-PA LETTER KHA
-A842  ; [.24E2.0020.0002.A842] # PHAGS-PA LETTER GA
-A843  ; [.24E3.0020.0002.A843] # PHAGS-PA LETTER NGA
-A844  ; [.24E4.0020.0002.A844] # PHAGS-PA LETTER CA
-A845  ; [.24E5.0020.0002.A845] # PHAGS-PA LETTER CHA
-A846  ; [.24E6.0020.0002.A846] # PHAGS-PA LETTER JA
-A847  ; [.24E7.0020.0002.A847] # PHAGS-PA LETTER NYA
-A869  ; [.24E8.0020.0002.A869] # PHAGS-PA LETTER TTA
-A86A  ; [.24E9.0020.0002.A86A] # PHAGS-PA LETTER TTHA
-A86B  ; [.24EA.0020.0002.A86B] # PHAGS-PA LETTER DDA
-A86C  ; [.24EB.0020.0002.A86C] # PHAGS-PA LETTER NNA
-A848  ; [.24EC.0020.0002.A848] # PHAGS-PA LETTER TA
-A849  ; [.24ED.0020.0002.A849] # PHAGS-PA LETTER THA
-A84A  ; [.24EE.0020.0002.A84A] # PHAGS-PA LETTER DA
-A84B  ; [.24EF.0020.0002.A84B] # PHAGS-PA LETTER NA
-A84C  ; [.24F0.0020.0002.A84C] # PHAGS-PA LETTER PA
-A84D  ; [.24F1.0020.0002.A84D] # PHAGS-PA LETTER PHA
-A84E  ; [.24F2.0020.0002.A84E] # PHAGS-PA LETTER BA
-A84F  ; [.24F3.0020.0002.A84F] # PHAGS-PA LETTER MA
-A850  ; [.24F4.0020.0002.A850] # PHAGS-PA LETTER TSA
-A851  ; [.24F5.0020.0002.A851] # PHAGS-PA LETTER TSHA
-A852  ; [.24F6.0020.0002.A852] # PHAGS-PA LETTER DZA
-A853  ; [.24F7.0020.0002.A853] # PHAGS-PA LETTER WA
-A867  ; [.24F8.0020.0002.A867] # PHAGS-PA SUBJOINED LETTER WA
-A854  ; [.24F9.0020.0002.A854] # PHAGS-PA LETTER ZHA
-A855  ; [.24FA.0020.0002.A855] # PHAGS-PA LETTER ZA
-A856  ; [.24FB.0020.0002.A856] # PHAGS-PA LETTER SMALL A
-A857  ; [.24FC.0020.0002.A857] # PHAGS-PA LETTER YA
-A868  ; [.24FD.0020.0002.A868] # PHAGS-PA SUBJOINED LETTER YA
-A86D  ; [.24FE.0020.0002.A86D] # PHAGS-PA LETTER ALTERNATE YA
-A858  ; [.24FF.0020.0002.A858] # PHAGS-PA LETTER RA
-A871  ; [.2500.0020.0002.A871] # PHAGS-PA SUBJOINED LETTER RA
-A872  ; [.2501.0020.0002.A872] # PHAGS-PA SUPERFIXED LETTER RA
-A859  ; [.2502.0020.0002.A859] # PHAGS-PA LETTER LA
-A85A  ; [.2503.0020.0002.A85A] # PHAGS-PA LETTER SHA
-A86E  ; [.2504.0020.0002.A86E] # PHAGS-PA LETTER VOICELESS SHA
-A85B  ; [.2505.0020.0002.A85B] # PHAGS-PA LETTER SA
-A85C  ; [.2506.0020.0002.A85C] # PHAGS-PA LETTER HA
-A86F  ; [.2507.0020.0002.A86F] # PHAGS-PA LETTER VOICED HA
-A870  ; [.2508.0020.0002.A870] # PHAGS-PA LETTER ASPIRATED FA
-A85D  ; [.2509.0020.0002.A85D] # PHAGS-PA LETTER A
-A862  ; [.250A.0020.0002.A862] # PHAGS-PA LETTER QA
-A863  ; [.250B.0020.0002.A863] # PHAGS-PA LETTER XA
-A864  ; [.250C.0020.0002.A864] # PHAGS-PA LETTER FA
-A865  ; [.250D.0020.0002.A865] # PHAGS-PA LETTER GGA
-A85E  ; [.250E.0020.0002.A85E] # PHAGS-PA LETTER I
-A85F  ; [.250F.0020.0002.A85F] # PHAGS-PA LETTER U
-A860  ; [.2510.0020.0002.A860] # PHAGS-PA LETTER E
-A861  ; [.2511.0020.0002.A861] # PHAGS-PA LETTER O
-A866  ; [.2512.0020.0002.A866] # PHAGS-PA LETTER EE
-A873  ; [.2513.0020.0002.A873] # PHAGS-PA LETTER CANDRABINDU
-1900  ; [.2514.0020.0002.1900] # LIMBU VOWEL-CARRIER LETTER
-1901  ; [.2515.0020.0002.1901] # LIMBU LETTER KA
-1902  ; [.2516.0020.0002.1902] # LIMBU LETTER KHA
-1903  ; [.2517.0020.0002.1903] # LIMBU LETTER GA
-1904  ; [.2518.0020.0002.1904] # LIMBU LETTER GHA
-1905  ; [.2519.0020.0002.1905] # LIMBU LETTER NGA
-1906  ; [.251A.0020.0002.1906] # LIMBU LETTER CA
-1907  ; [.251B.0020.0002.1907] # LIMBU LETTER CHA
-1908  ; [.251C.0020.0002.1908] # LIMBU LETTER JA
-1909  ; [.251D.0020.0002.1909] # LIMBU LETTER JHA
-190A  ; [.251E.0020.0002.190A] # LIMBU LETTER YAN
-190B  ; [.251F.0020.0002.190B] # LIMBU LETTER TA
-190C  ; [.2520.0020.0002.190C] # LIMBU LETTER THA
-190D  ; [.2521.0020.0002.190D] # LIMBU LETTER DA
-190E  ; [.2522.0020.0002.190E] # LIMBU LETTER DHA
-190F  ; [.2523.0020.0002.190F] # LIMBU LETTER NA
-1910  ; [.2524.0020.0002.1910] # LIMBU LETTER PA
-1911  ; [.2525.0020.0002.1911] # LIMBU LETTER PHA
-1912  ; [.2526.0020.0002.1912] # LIMBU LETTER BA
-1913  ; [.2527.0020.0002.1913] # LIMBU LETTER BHA
-1914  ; [.2528.0020.0002.1914] # LIMBU LETTER MA
-1915  ; [.2529.0020.0002.1915] # LIMBU LETTER YA
-1916  ; [.252A.0020.0002.1916] # LIMBU LETTER RA
-1917  ; [.252B.0020.0002.1917] # LIMBU LETTER LA
-1918  ; [.252C.0020.0002.1918] # LIMBU LETTER WA
-1919  ; [.252D.0020.0002.1919] # LIMBU LETTER SHA
-191A  ; [.252E.0020.0002.191A] # LIMBU LETTER SSA
-191B  ; [.252F.0020.0002.191B] # LIMBU LETTER SA
-191C  ; [.2530.0020.0002.191C] # LIMBU LETTER HA
-1920  ; [.2531.0020.0002.1920] # LIMBU VOWEL SIGN A
-1921  ; [.2532.0020.0002.1921] # LIMBU VOWEL SIGN I
-1922  ; [.2533.0020.0002.1922] # LIMBU VOWEL SIGN U
-1923  ; [.2534.0020.0002.1923] # LIMBU VOWEL SIGN EE
-1924  ; [.2535.0020.0002.1924] # LIMBU VOWEL SIGN AI
-1925  ; [.2536.0020.0002.1925] # LIMBU VOWEL SIGN OO
-1926  ; [.2537.0020.0002.1926] # LIMBU VOWEL SIGN AU
-1927  ; [.2538.0020.0002.1927] # LIMBU VOWEL SIGN E
-1928  ; [.2539.0020.0002.1928] # LIMBU VOWEL SIGN O
-1929  ; [.253A.0020.0002.1929] # LIMBU SUBJOINED LETTER YA
-192A  ; [.253B.0020.0002.192A] # LIMBU SUBJOINED LETTER RA
-192B  ; [.253C.0020.0002.192B] # LIMBU SUBJOINED LETTER WA
-1930  ; [.253D.0020.0002.1930] # LIMBU SMALL LETTER KA
-1931  ; [.253E.0020.0002.1931] # LIMBU SMALL LETTER NGA
-1932  ; [.253F.0020.0002.1932] # LIMBU SMALL LETTER ANUSVARA
-1933  ; [.2540.0020.0002.1933] # LIMBU SMALL LETTER TA
-1934  ; [.2541.0020.0002.1934] # LIMBU SMALL LETTER NA
-1935  ; [.2542.0020.0002.1935] # LIMBU SMALL LETTER PA
-1936  ; [.2543.0020.0002.1936] # LIMBU SMALL LETTER MA
-1937  ; [.2544.0020.0002.1937] # LIMBU SMALL LETTER RA
-1938  ; [.2545.0020.0002.1938] # LIMBU SMALL LETTER LA
-1700  ; [.2546.0020.0002.1700] # TAGALOG LETTER A
-1701  ; [.2547.0020.0002.1701] # TAGALOG LETTER I
-1702  ; [.2548.0020.0002.1702] # TAGALOG LETTER U
-1703  ; [.2549.0020.0002.1703] # TAGALOG LETTER KA
-1704  ; [.254A.0020.0002.1704] # TAGALOG LETTER GA
-1705  ; [.254B.0020.0002.1705] # TAGALOG LETTER NGA
-1706  ; [.254C.0020.0002.1706] # TAGALOG LETTER TA
-1707  ; [.254D.0020.0002.1707] # TAGALOG LETTER DA
-1708  ; [.254E.0020.0002.1708] # TAGALOG LETTER NA
-1709  ; [.254F.0020.0002.1709] # TAGALOG LETTER PA
-170A  ; [.2550.0020.0002.170A] # TAGALOG LETTER BA
-170B  ; [.2551.0020.0002.170B] # TAGALOG LETTER MA
-170C  ; [.2552.0020.0002.170C] # TAGALOG LETTER YA
-170E  ; [.2553.0020.0002.170E] # TAGALOG LETTER LA
-170F  ; [.2554.0020.0002.170F] # TAGALOG LETTER WA
-1710  ; [.2555.0020.0002.1710] # TAGALOG LETTER SA
-1711  ; [.2556.0020.0002.1711] # TAGALOG LETTER HA
-1712  ; [.2557.0020.0002.1712] # TAGALOG VOWEL SIGN I
-1713  ; [.2558.0020.0002.1713] # TAGALOG VOWEL SIGN U
-1714  ; [.2559.0020.0002.1714] # TAGALOG SIGN VIRAMA
-1720  ; [.255A.0020.0002.1720] # HANUNOO LETTER A
-1721  ; [.255B.0020.0002.1721] # HANUNOO LETTER I
-1722  ; [.255C.0020.0002.1722] # HANUNOO LETTER U
-1723  ; [.255D.0020.0002.1723] # HANUNOO LETTER KA
-1724  ; [.255E.0020.0002.1724] # HANUNOO LETTER GA
-1725  ; [.255F.0020.0002.1725] # HANUNOO LETTER NGA
-1726  ; [.2560.0020.0002.1726] # HANUNOO LETTER TA
-1727  ; [.2561.0020.0002.1727] # HANUNOO LETTER DA
-1728  ; [.2562.0020.0002.1728] # HANUNOO LETTER NA
-1729  ; [.2563.0020.0002.1729] # HANUNOO LETTER PA
-172A  ; [.2564.0020.0002.172A] # HANUNOO LETTER BA
-172B  ; [.2565.0020.0002.172B] # HANUNOO LETTER MA
-172C  ; [.2566.0020.0002.172C] # HANUNOO LETTER YA
-172D  ; [.2567.0020.0002.172D] # HANUNOO LETTER RA
-172E  ; [.2568.0020.0002.172E] # HANUNOO LETTER LA
-172F  ; [.2569.0020.0002.172F] # HANUNOO LETTER WA
-1730  ; [.256A.0020.0002.1730] # HANUNOO LETTER SA
-1731  ; [.256B.0020.0002.1731] # HANUNOO LETTER HA
-1732  ; [.256C.0020.0002.1732] # HANUNOO VOWEL SIGN I
-1733  ; [.256D.0020.0002.1733] # HANUNOO VOWEL SIGN U
-1734  ; [.256E.0020.0002.1734] # HANUNOO SIGN PAMUDPOD
-1740  ; [.256F.0020.0002.1740] # BUHID LETTER A
-1741  ; [.2570.0020.0002.1741] # BUHID LETTER I
-1742  ; [.2571.0020.0002.1742] # BUHID LETTER U
-1743  ; [.2572.0020.0002.1743] # BUHID LETTER KA
-1744  ; [.2573.0020.0002.1744] # BUHID LETTER GA
-1745  ; [.2574.0020.0002.1745] # BUHID LETTER NGA
-1746  ; [.2575.0020.0002.1746] # BUHID LETTER TA
-1747  ; [.2576.0020.0002.1747] # BUHID LETTER DA
-1748  ; [.2577.0020.0002.1748] # BUHID LETTER NA
-1749  ; [.2578.0020.0002.1749] # BUHID LETTER PA
-174A  ; [.2579.0020.0002.174A] # BUHID LETTER BA
-174B  ; [.257A.0020.0002.174B] # BUHID LETTER MA
-174C  ; [.257B.0020.0002.174C] # BUHID LETTER YA
-174D  ; [.257C.0020.0002.174D] # BUHID LETTER RA
-174E  ; [.257D.0020.0002.174E] # BUHID LETTER LA
-174F  ; [.257E.0020.0002.174F] # BUHID LETTER WA
-1750  ; [.257F.0020.0002.1750] # BUHID LETTER SA
-1751  ; [.2580.0020.0002.1751] # BUHID LETTER HA
-1752  ; [.2581.0020.0002.1752] # BUHID VOWEL SIGN I
-1753  ; [.2582.0020.0002.1753] # BUHID VOWEL SIGN U
-1760  ; [.2583.0020.0002.1760] # TAGBANWA LETTER A
-1761  ; [.2584.0020.0002.1761] # TAGBANWA LETTER I
-1762  ; [.2585.0020.0002.1762] # TAGBANWA LETTER U
-1763  ; [.2586.0020.0002.1763] # TAGBANWA LETTER KA
-1764  ; [.2587.0020.0002.1764] # TAGBANWA LETTER GA
-1765  ; [.2588.0020.0002.1765] # TAGBANWA LETTER NGA
-1766  ; [.2589.0020.0002.1766] # TAGBANWA LETTER TA
-1767  ; [.258A.0020.0002.1767] # TAGBANWA LETTER DA
-1768  ; [.258B.0020.0002.1768] # TAGBANWA LETTER NA
-1769  ; [.258C.0020.0002.1769] # TAGBANWA LETTER PA
-176A  ; [.258D.0020.0002.176A] # TAGBANWA LETTER BA
-176B  ; [.258E.0020.0002.176B] # TAGBANWA LETTER MA
-176C  ; [.258F.0020.0002.176C] # TAGBANWA LETTER YA
-176E  ; [.2590.0020.0002.176E] # TAGBANWA LETTER LA
-176F  ; [.2591.0020.0002.176F] # TAGBANWA LETTER WA
-1770  ; [.2592.0020.0002.1770] # TAGBANWA LETTER SA
-1772  ; [.2593.0020.0002.1772] # TAGBANWA VOWEL SIGN I
-1773  ; [.2594.0020.0002.1773] # TAGBANWA VOWEL SIGN U
-1A00  ; [.2595.0020.0002.1A00] # BUGINESE LETTER KA
-1A01  ; [.2596.0020.0002.1A01] # BUGINESE LETTER GA
-1A02  ; [.2597.0020.0002.1A02] # BUGINESE LETTER NGA
-1A03  ; [.2598.0020.0002.1A03] # BUGINESE LETTER NGKA
-1A04  ; [.2599.0020.0002.1A04] # BUGINESE LETTER PA
-1A05  ; [.259A.0020.0002.1A05] # BUGINESE LETTER BA
-1A06  ; [.259B.0020.0002.1A06] # BUGINESE LETTER MA
-1A07  ; [.259C.0020.0002.1A07] # BUGINESE LETTER MPA
-1A08  ; [.259D.0020.0002.1A08] # BUGINESE LETTER TA
-1A09  ; [.259E.0020.0002.1A09] # BUGINESE LETTER DA
-1A0A  ; [.259F.0020.0002.1A0A] # BUGINESE LETTER NA
-1A0B  ; [.25A0.0020.0002.1A0B] # BUGINESE LETTER NRA
-1A0C  ; [.25A1.0020.0002.1A0C] # BUGINESE LETTER CA
-1A0D  ; [.25A2.0020.0002.1A0D] # BUGINESE LETTER JA
-1A0E  ; [.25A3.0020.0002.1A0E] # BUGINESE LETTER NYA
-1A0F  ; [.25A4.0020.0002.1A0F] # BUGINESE LETTER NYCA
-1A10  ; [.25A5.0020.0002.1A10] # BUGINESE LETTER YA
-1A11  ; [.25A6.0020.0002.1A11] # BUGINESE LETTER RA
-1A12  ; [.25A7.0020.0002.1A12] # BUGINESE LETTER LA
-1A13  ; [.25A8.0020.0002.1A13] # BUGINESE LETTER VA
-1A14  ; [.25A9.0020.0002.1A14] # BUGINESE LETTER SA
-1A15  ; [.25AA.0020.0002.1A15] # BUGINESE LETTER A
-1A16  ; [.25AB.0020.0002.1A16] # BUGINESE LETTER HA
-1A17  ; [.25AC.0020.0002.1A17] # BUGINESE VOWEL SIGN I
-1A18  ; [.25AD.0020.0002.1A18] # BUGINESE VOWEL SIGN U
-1A19  ; [.25AE.0020.0002.1A19] # BUGINESE VOWEL SIGN E
-1A1A  ; [.25AF.0020.0002.1A1A] # BUGINESE VOWEL SIGN O
-1A1B  ; [.25B0.0020.0002.1A1B] # BUGINESE VOWEL SIGN AE
-1BC0  ; [.25B1.0020.0002.1BC0] # BATAK LETTER A
-1BC1  ; [.25B1.0020.0004.1BC1] # BATAK LETTER SIMALUNGUN A; QQK
-1BC2  ; [.25B2.0020.0002.1BC2] # BATAK LETTER HA
-1BC3  ; [.25B2.0020.0004.1BC3] # BATAK LETTER SIMALUNGUN HA; QQK
-1BC4  ; [.25B2.0020.0004.1BC4] # BATAK LETTER MANDAILING HA; QQK
-1BC5  ; [.25B3.0020.0002.1BC5] # BATAK LETTER BA
-1BC6  ; [.25B3.0020.0004.1BC6] # BATAK LETTER KARO BA; QQK
-1BC7  ; [.25B4.0020.0002.1BC7] # BATAK LETTER PA
-1BC8  ; [.25B4.0020.0004.1BC8] # BATAK LETTER SIMALUNGUN PA; QQK
-1BC9  ; [.25B5.0020.0002.1BC9] # BATAK LETTER NA
-1BCA  ; [.25B5.0020.0004.1BCA] # BATAK LETTER MANDAILING NA; QQK
-1BCB  ; [.25B6.0020.0002.1BCB] # BATAK LETTER WA
-1BCC  ; [.25B6.0020.0004.1BCC] # BATAK LETTER SIMALUNGUN WA; QQK
-1BCD  ; [.25B6.0020.0004.1BCD] # BATAK LETTER PAKPAK WA; QQK
-1BCE  ; [.25B7.0020.0002.1BCE] # BATAK LETTER GA
-1BCF  ; [.25B7.0020.0004.1BCF] # BATAK LETTER SIMALUNGUN GA; QQK
-1BD0  ; [.25B8.0020.0002.1BD0] # BATAK LETTER JA
-1BD1  ; [.25B9.0020.0002.1BD1] # BATAK LETTER DA
-1BD2  ; [.25BA.0020.0002.1BD2] # BATAK LETTER RA
-1BD3  ; [.25BA.0020.0004.1BD3] # BATAK LETTER SIMALUNGUN RA; QQK
-1BD4  ; [.25BB.0020.0002.1BD4] # BATAK LETTER MA
-1BD5  ; [.25BB.0020.0004.1BD5] # BATAK LETTER SIMALUNGUN MA; QQK
-1BD6  ; [.25BC.0020.0002.1BD6] # BATAK LETTER SOUTHERN TA
-1BD7  ; [.25BC.0020.0004.1BD7] # BATAK LETTER NORTHERN TA; QQK
-1BD8  ; [.25BD.0020.0002.1BD8] # BATAK LETTER SA
-1BD9  ; [.25BD.0020.0004.1BD9] # BATAK LETTER SIMALUNGUN SA; QQK
-1BDA  ; [.25BD.0020.0004.1BDA] # BATAK LETTER MANDAILING SA; QQK
-1BDB  ; [.25BE.0020.0002.1BDB] # BATAK LETTER YA
-1BDC  ; [.25BE.0020.0004.1BDC] # BATAK LETTER SIMALUNGUN YA; QQK
-1BDD  ; [.25BF.0020.0002.1BDD] # BATAK LETTER NGA
-1BDE  ; [.25C0.0020.0002.1BDE] # BATAK LETTER LA
-1BDF  ; [.25C0.0020.0004.1BDF] # BATAK LETTER SIMALUNGUN LA; QQK
-1BE0  ; [.25C1.0020.0002.1BE0] # BATAK LETTER NYA
-1BE1  ; [.25C2.0020.0002.1BE1] # BATAK LETTER CA
-1BE2  ; [.25C3.0020.0002.1BE2] # BATAK LETTER NDA
-1BE3  ; [.25C4.0020.0002.1BE3] # BATAK LETTER MBA
-1BE4  ; [.25C5.0020.0002.1BE4] # BATAK LETTER I
-1BE5  ; [.25C6.0020.0002.1BE5] # BATAK LETTER U
-1BE7  ; [.25C7.0020.0002.1BE7] # BATAK VOWEL SIGN E
-1BE8  ; [.25C7.0020.0004.1BE8] # BATAK VOWEL SIGN PAKPAK E; QQK
-1BE9  ; [.25C8.0020.0002.1BE9] # BATAK VOWEL SIGN EE
-1BEA  ; [.25C9.0020.0002.1BEA] # BATAK VOWEL SIGN I
-1BEB  ; [.25C9.0020.0004.1BEB] # BATAK VOWEL SIGN KARO I; QQK
-1BEC  ; [.25CA.0020.0002.1BEC] # BATAK VOWEL SIGN O
-1BED  ; [.25CA.0020.0004.1BED] # BATAK VOWEL SIGN KARO O; QQK
-1BEE  ; [.25CB.0020.0002.1BEE] # BATAK VOWEL SIGN U
-1BEF  ; [.25CB.0020.0004.1BEF] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA; QQK
-1BF0  ; [.25CC.0020.0002.1BF0] # BATAK CONSONANT SIGN NG
-1BF1  ; [.25CD.0020.0002.1BF1] # BATAK CONSONANT SIGN H
-1BF2  ; [.25CE.0020.0002.1BF2] # BATAK PANGOLAT
-1BF3  ; [.25CF.0020.0002.1BF3] # BATAK PANONGONAN
-A930  ; [.25D0.0020.0002.A930] # REJANG LETTER KA
-A931  ; [.25D1.0020.0002.A931] # REJANG LETTER GA
-A932  ; [.25D2.0020.0002.A932] # REJANG LETTER NGA
-A933  ; [.25D3.0020.0002.A933] # REJANG LETTER TA
-A934  ; [.25D4.0020.0002.A934] # REJANG LETTER DA
-A935  ; [.25D5.0020.0002.A935] # REJANG LETTER NA
-A936  ; [.25D6.0020.0002.A936] # REJANG LETTER PA
-A937  ; [.25D7.0020.0002.A937] # REJANG LETTER BA
-A938  ; [.25D8.0020.0002.A938] # REJANG LETTER MA
-A939  ; [.25D9.0020.0002.A939] # REJANG LETTER CA
-A93A  ; [.25DA.0020.0002.A93A] # REJANG LETTER JA
-A93B  ; [.25DB.0020.0002.A93B] # REJANG LETTER NYA
-A93C  ; [.25DC.0020.0002.A93C] # REJANG LETTER SA
-A93D  ; [.25DD.0020.0002.A93D] # REJANG LETTER RA
-A93E  ; [.25DE.0020.0002.A93E] # REJANG LETTER LA
-A93F  ; [.25DF.0020.0002.A93F] # REJANG LETTER YA
-A940  ; [.25E0.0020.0002.A940] # REJANG LETTER WA
-A941  ; [.25E1.0020.0002.A941] # REJANG LETTER HA
-A942  ; [.25E2.0020.0002.A942] # REJANG LETTER MBA
-A943  ; [.25E3.0020.0002.A943] # REJANG LETTER NGGA
-A944  ; [.25E4.0020.0002.A944] # REJANG LETTER NDA
-A945  ; [.25E5.0020.0002.A945] # REJANG LETTER NYJA
-A946  ; [.25E6.0020.0002.A946] # REJANG LETTER A
-A947  ; [.25E7.0020.0002.A947] # REJANG VOWEL SIGN I
-A948  ; [.25E8.0020.0002.A948] # REJANG VOWEL SIGN U
-A949  ; [.25E9.0020.0002.A949] # REJANG VOWEL SIGN E
-A94A  ; [.25EA.0020.0002.A94A] # REJANG VOWEL SIGN AI
-A94B  ; [.25EB.0020.0002.A94B] # REJANG VOWEL SIGN O
-A94C  ; [.25EC.0020.0002.A94C] # REJANG VOWEL SIGN AU
-A94D  ; [.25ED.0020.0002.A94D] # REJANG VOWEL SIGN EU
-A94E  ; [.25EE.0020.0002.A94E] # REJANG VOWEL SIGN EA
-A94F  ; [.25EF.0020.0002.A94F] # REJANG CONSONANT SIGN NG
-A950  ; [.25F0.0020.0002.A950] # REJANG CONSONANT SIGN N
-A951  ; [.25F1.0020.0002.A951] # REJANG CONSONANT SIGN R
-A952  ; [.25F2.0020.0002.A952] # REJANG CONSONANT SIGN H
-A953  ; [.25F3.0020.0002.A953] # REJANG VIRAMA
-A90A  ; [.25F4.0020.0002.A90A] # KAYAH LI LETTER KA
-A90B  ; [.25F5.0020.0002.A90B] # KAYAH LI LETTER KHA
-A90C  ; [.25F6.0020.0002.A90C] # KAYAH LI LETTER GA
-A90D  ; [.25F7.0020.0002.A90D] # KAYAH LI LETTER NGA
-A90E  ; [.25F8.0020.0002.A90E] # KAYAH LI LETTER SA
-A90F  ; [.25F9.0020.0002.A90F] # KAYAH LI LETTER SHA
-A910  ; [.25FA.0020.0002.A910] # KAYAH LI LETTER ZA
-A911  ; [.25FB.0020.0002.A911] # KAYAH LI LETTER NYA
-A912  ; [.25FC.0020.0002.A912] # KAYAH LI LETTER TA
-A913  ; [.25FD.0020.0002.A913] # KAYAH LI LETTER HTA
-A914  ; [.25FE.0020.0002.A914] # KAYAH LI LETTER NA
-A915  ; [.25FF.0020.0002.A915] # KAYAH LI LETTER PA
-A916  ; [.2600.0020.0002.A916] # KAYAH LI LETTER PHA
-A917  ; [.2601.0020.0002.A917] # KAYAH LI LETTER MA
-A918  ; [.2602.0020.0002.A918] # KAYAH LI LETTER DA
-A919  ; [.2603.0020.0002.A919] # KAYAH LI LETTER BA
-A91A  ; [.2604.0020.0002.A91A] # KAYAH LI LETTER RA
-A91B  ; [.2605.0020.0002.A91B] # KAYAH LI LETTER YA
-A91C  ; [.2606.0020.0002.A91C] # KAYAH LI LETTER LA
-A91D  ; [.2607.0020.0002.A91D] # KAYAH LI LETTER WA
-A91E  ; [.2608.0020.0002.A91E] # KAYAH LI LETTER THA
-A91F  ; [.2609.0020.0002.A91F] # KAYAH LI LETTER HA
-A920  ; [.260A.0020.0002.A920] # KAYAH LI LETTER VA
-A921  ; [.260B.0020.0002.A921] # KAYAH LI LETTER CA
-A922  ; [.260C.0020.0002.A922] # KAYAH LI LETTER A
-A923  ; [.260D.0020.0002.A923] # KAYAH LI LETTER OE
-A924  ; [.260E.0020.0002.A924] # KAYAH LI LETTER I
-A925  ; [.260F.0020.0002.A925] # KAYAH LI LETTER OO
-A926  ; [.2610.0020.0002.A926] # KAYAH LI VOWEL UE
-A927  ; [.2611.0020.0002.A927] # KAYAH LI VOWEL E
-A928  ; [.2612.0020.0002.A928] # KAYAH LI VOWEL U
-A929  ; [.2613.0020.0002.A929] # KAYAH LI VOWEL EE
-A92A  ; [.2614.0020.0002.A92A] # KAYAH LI VOWEL O
-1000  ; [.2615.0020.0002.1000] # MYANMAR LETTER KA
-1075  ; [.2616.0020.0002.1075] # MYANMAR LETTER SHAN KA
-1001  ; [.2617.0020.0002.1001] # MYANMAR LETTER KHA
-1076  ; [.2618.0020.0002.1076] # MYANMAR LETTER SHAN KHA
-1002  ; [.2619.0020.0002.1002] # MYANMAR LETTER GA
-1077  ; [.261A.0020.0002.1077] # MYANMAR LETTER SHAN GA
-AA60  ; [.261B.0020.0002.AA60] # MYANMAR LETTER KHAMTI GA
-1003  ; [.261C.0020.0002.1003] # MYANMAR LETTER GHA
-1004  ; [.261D.0020.0002.1004] # MYANMAR LETTER NGA
-105A  ; [.261E.0020.0002.105A] # MYANMAR LETTER MON NGA
-1005  ; [.261F.0020.0002.1005] # MYANMAR LETTER CA
-1078  ; [.2620.0020.0002.1078] # MYANMAR LETTER SHAN CA
-AA61  ; [.2621.0020.0002.AA61] # MYANMAR LETTER KHAMTI CA
-1006  ; [.2622.0020.0002.1006] # MYANMAR LETTER CHA
-AA62  ; [.2623.0020.0002.AA62] # MYANMAR LETTER KHAMTI CHA
-1007  ; [.2624.0020.0002.1007] # MYANMAR LETTER JA
-AA63  ; [.2625.0020.0002.AA63] # MYANMAR LETTER KHAMTI JA
-1079  ; [.2626.0020.0002.1079] # MYANMAR LETTER SHAN ZA
-AA72  ; [.2627.0020.0002.AA72] # MYANMAR LETTER KHAMTI ZA
-1008  ; [.2628.0020.0002.1008] # MYANMAR LETTER JHA
-105B  ; [.2629.0020.0002.105B] # MYANMAR LETTER MON JHA
-AA64  ; [.262A.0020.0002.AA64] # MYANMAR LETTER KHAMTI JHA
-1061  ; [.262B.0020.0002.1061] # MYANMAR LETTER SGAW KAREN SHA
-1009  ; [.262C.0020.0002.1009] # MYANMAR LETTER NYA
-107A  ; [.262D.0020.0002.107A] # MYANMAR LETTER SHAN NYA
-AA65  ; [.262E.0020.0002.AA65] # MYANMAR LETTER KHAMTI NYA
-100A  ; [.262F.0020.0002.100A] # MYANMAR LETTER NNYA
-100B  ; [.2630.0020.0002.100B] # MYANMAR LETTER TTA
-AA66  ; [.2631.0020.0002.AA66] # MYANMAR LETTER KHAMTI TTA
-100C  ; [.2632.0020.0002.100C] # MYANMAR LETTER TTHA
-AA67  ; [.2633.0020.0002.AA67] # MYANMAR LETTER KHAMTI TTHA
-100D  ; [.2634.0020.0002.100D] # MYANMAR LETTER DDA
-AA68  ; [.2635.0020.0002.AA68] # MYANMAR LETTER KHAMTI DDA
-100E  ; [.2636.0020.0002.100E] # MYANMAR LETTER DDHA
-AA69  ; [.2637.0020.0002.AA69] # MYANMAR LETTER KHAMTI DDHA
-100F  ; [.2638.0020.0002.100F] # MYANMAR LETTER NNA
-106E  ; [.2639.0020.0002.106E] # MYANMAR LETTER EASTERN PWO KAREN NNA
-1010  ; [.263A.0020.0002.1010] # MYANMAR LETTER TA
-1011  ; [.263B.0020.0002.1011] # MYANMAR LETTER THA
-1012  ; [.263C.0020.0002.1012] # MYANMAR LETTER DA
-107B  ; [.263D.0020.0002.107B] # MYANMAR LETTER SHAN DA
-1013  ; [.263E.0020.0002.1013] # MYANMAR LETTER DHA
-AA6A  ; [.263F.0020.0002.AA6A] # MYANMAR LETTER KHAMTI DHA
-1014  ; [.2640.0020.0002.1014] # MYANMAR LETTER NA
-107C  ; [.2641.0020.0002.107C] # MYANMAR LETTER SHAN NA
-AA6B  ; [.2642.0020.0002.AA6B] # MYANMAR LETTER KHAMTI NA
-105E  ; [.2643.0020.0002.105E] # MYANMAR CONSONANT SIGN MON MEDIAL NA
-1015  ; [.2644.0020.0002.1015] # MYANMAR LETTER PA
-1016  ; [.2645.0020.0002.1016] # MYANMAR LETTER PHA
-107D  ; [.2646.0020.0002.107D] # MYANMAR LETTER SHAN PHA
-107E  ; [.2647.0020.0002.107E] # MYANMAR LETTER SHAN FA
-AA6F  ; [.2648.0020.0002.AA6F] # MYANMAR LETTER KHAMTI FA
-108E  ; [.2649.0020.0002.108E] # MYANMAR LETTER RUMAI PALAUNG FA
-1017  ; [.264A.0020.0002.1017] # MYANMAR LETTER BA
-107F  ; [.264B.0020.0002.107F] # MYANMAR LETTER SHAN BA
-1018  ; [.264C.0020.0002.1018] # MYANMAR LETTER BHA
-1019  ; [.264D.0020.0002.1019] # MYANMAR LETTER MA
-105F  ; [.264E.0020.0002.105F] # MYANMAR CONSONANT SIGN MON MEDIAL MA
-101A  ; [.264F.0020.0002.101A] # MYANMAR LETTER YA
-103B  ; [.2650.0020.0002.103B] # MYANMAR CONSONANT SIGN MEDIAL YA
-101B  ; [.2651.0020.0002.101B] # MYANMAR LETTER RA
-AA73  ; [.2652.0020.0002.AA73] # MYANMAR LETTER KHAMTI RA
-AA7A  ; [.2653.0020.0002.AA7A] # MYANMAR LETTER AITON RA
-103C  ; [.2654.0020.0002.103C] # MYANMAR CONSONANT SIGN MEDIAL RA
-101C  ; [.2655.0020.0002.101C] # MYANMAR LETTER LA
-1060  ; [.2656.0020.0002.1060] # MYANMAR CONSONANT SIGN MON MEDIAL LA
-101D  ; [.2657.0020.0002.101D] # MYANMAR LETTER WA
-103D  ; [.2658.0020.0002.103D] # MYANMAR CONSONANT SIGN MEDIAL WA
-1082  ; [.2659.0020.0002.1082] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
-1080  ; [.265A.0020.0002.1080] # MYANMAR LETTER SHAN THA
-1050  ; [.265B.0020.0002.1050] # MYANMAR LETTER SHA
-1051  ; [.265C.0020.0002.1051] # MYANMAR LETTER SSA
-1065  ; [.265D.0020.0002.1065] # MYANMAR LETTER WESTERN PWO KAREN THA
-101E  ; [.265E.0020.0002.101E] # MYANMAR LETTER SA
-103F  ; [.265E.0020.0004.103F][.2695.0020.0004.103F][.265E.0020.001F.103F] # MYANMAR LETTER GREAT SA; QQKN
-AA6C  ; [.265F.0020.0002.AA6C] # MYANMAR LETTER KHAMTI SA
-101F  ; [.2660.0020.0002.101F] # MYANMAR LETTER HA
-1081  ; [.2661.0020.0002.1081] # MYANMAR LETTER SHAN HA
-AA6D  ; [.2662.0020.0002.AA6D] # MYANMAR LETTER KHAMTI HA
-103E  ; [.2663.0020.0002.103E] # MYANMAR CONSONANT SIGN MEDIAL HA
-AA6E  ; [.2664.0020.0002.AA6E] # MYANMAR LETTER KHAMTI HHA
-AA71  ; [.2665.0020.0002.AA71] # MYANMAR LETTER KHAMTI XA
-1020  ; [.2666.0020.0002.1020] # MYANMAR LETTER LLA
-105C  ; [.2667.0020.0002.105C] # MYANMAR LETTER MON BBA
-105D  ; [.2668.0020.0002.105D] # MYANMAR LETTER MON BBE
-106F  ; [.2669.0020.0002.106F] # MYANMAR LETTER EASTERN PWO KAREN YWA
-1070  ; [.266A.0020.0002.1070] # MYANMAR LETTER EASTERN PWO KAREN GHWA
-1066  ; [.266B.0020.0002.1066] # MYANMAR LETTER WESTERN PWO KAREN PWA
-1021  ; [.266C.0020.0002.1021] # MYANMAR LETTER A
-1022  ; [.266D.0020.0002.1022] # MYANMAR LETTER SHAN A
-1023  ; [.266E.0020.0002.1023] # MYANMAR LETTER I
-1024  ; [.266F.0020.0002.1024] # MYANMAR LETTER II
-1025  ; [.2670.0020.0002.1025] # MYANMAR LETTER U
-1026  ; [.2671.0020.0002.1026] # MYANMAR LETTER UU
-1025 102E ; [.2671.0020.0002.1026] # MYANMAR LETTER UU
-1052  ; [.2672.0020.0002.1052] # MYANMAR LETTER VOCALIC R
-1053  ; [.2673.0020.0002.1053] # MYANMAR LETTER VOCALIC RR
-1054  ; [.2674.0020.0002.1054] # MYANMAR LETTER VOCALIC L
-1055  ; [.2675.0020.0002.1055] # MYANMAR LETTER VOCALIC LL
-1027  ; [.2676.0020.0002.1027] # MYANMAR LETTER E
-1028  ; [.2677.0020.0002.1028] # MYANMAR LETTER MON E
-1029  ; [.2678.0020.0002.1029] # MYANMAR LETTER O
-102A  ; [.2679.0020.0002.102A] # MYANMAR LETTER AU
-102C  ; [.267A.0020.0002.102C] # MYANMAR VOWEL SIGN AA
-102B  ; [.267A.0020.0004.102B] # MYANMAR VOWEL SIGN TALL AA; QQK
-1083  ; [.267B.0020.0002.1083] # MYANMAR VOWEL SIGN SHAN AA
-1072  ; [.267C.0020.0002.1072] # MYANMAR VOWEL SIGN KAYAH OE
-109C  ; [.267D.0020.0002.109C] # MYANMAR VOWEL SIGN AITON A
-102D  ; [.267E.0020.0002.102D] # MYANMAR VOWEL SIGN I
-1071  ; [.267F.0020.0002.1071] # MYANMAR VOWEL SIGN GEBA KAREN I
-102E  ; [.2680.0020.0002.102E] # MYANMAR VOWEL SIGN II
-1033  ; [.2681.0020.0002.1033] # MYANMAR VOWEL SIGN MON II
-102F  ; [.2682.0020.0002.102F] # MYANMAR VOWEL SIGN U
-1073  ; [.2683.0020.0002.1073] # MYANMAR VOWEL SIGN KAYAH U
-1074  ; [.2684.0020.0002.1074] # MYANMAR VOWEL SIGN KAYAH EE
-1030  ; [.2685.0020.0002.1030] # MYANMAR VOWEL SIGN UU
-1056  ; [.2686.0020.0002.1056] # MYANMAR VOWEL SIGN VOCALIC R
-1057  ; [.2687.0020.0002.1057] # MYANMAR VOWEL SIGN VOCALIC RR
-1058  ; [.2688.0020.0002.1058] # MYANMAR VOWEL SIGN VOCALIC L
-1059  ; [.2689.0020.0002.1059] # MYANMAR VOWEL SIGN VOCALIC LL
-1031  ; [.268A.0020.0002.1031] # MYANMAR VOWEL SIGN E
-1084  ; [.268B.0020.0002.1084] # MYANMAR VOWEL SIGN SHAN E
-1035  ; [.268C.0020.0002.1035] # MYANMAR VOWEL SIGN E ABOVE
-1085  ; [.268D.0020.0002.1085] # MYANMAR VOWEL SIGN SHAN E ABOVE
-1032  ; [.268E.0020.0002.1032] # MYANMAR VOWEL SIGN AI
-109D  ; [.268F.0020.0002.109D] # MYANMAR VOWEL SIGN AITON AI
-1034  ; [.2690.0020.0002.1034] # MYANMAR VOWEL SIGN MON O
-1062  ; [.2691.0020.0002.1062] # MYANMAR VOWEL SIGN SGAW KAREN EU
-1067  ; [.2692.0020.0002.1067] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
-1068  ; [.2693.0020.0002.1068] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
-1086  ; [.2694.0020.0002.1086] # MYANMAR VOWEL SIGN SHAN FINAL Y
-1039  ; [.2695.0020.0002.1039] # MYANMAR SIGN VIRAMA
-103A  ; [.2696.0020.0002.103A] # MYANMAR SIGN ASAT
-1063  ; [.2697.0020.0002.1063] # MYANMAR TONE MARK SGAW KAREN HATHI
-1064  ; [.2698.0020.0002.1064] # MYANMAR TONE MARK SGAW KAREN KE PHO
-1069  ; [.2699.0020.0002.1069] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
-106A  ; [.269A.0020.0002.106A] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
-106B  ; [.269B.0020.0002.106B] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
-106C  ; [.269C.0020.0002.106C] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
-106D  ; [.269D.0020.0002.106D] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1087  ; [.269E.0020.0002.1087] # MYANMAR SIGN SHAN TONE-2
-108B  ; [.269F.0020.0002.108B] # MYANMAR SIGN SHAN COUNCIL TONE-2
-1088  ; [.26A0.0020.0002.1088] # MYANMAR SIGN SHAN TONE-3
-108C  ; [.26A1.0020.0002.108C] # MYANMAR SIGN SHAN COUNCIL TONE-3
-1089  ; [.26A2.0020.0002.1089] # MYANMAR SIGN SHAN TONE-5
-108A  ; [.26A3.0020.0002.108A] # MYANMAR SIGN SHAN TONE-6
-108F  ; [.26A4.0020.0002.108F] # MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A  ; [.26A5.0020.0002.109A] # MYANMAR SIGN KHAMTI TONE-1
-109B  ; [.26A6.0020.0002.109B] # MYANMAR SIGN KHAMTI TONE-3
-AA7B  ; [.26A7.0020.0002.AA7B] # MYANMAR SIGN PAO KAREN TONE
-AA74  ; [.26A8.0020.0002.AA74] # MYANMAR LOGOGRAM KHAMTI OAY
-AA75  ; [.26A9.0020.0002.AA75] # MYANMAR LOGOGRAM KHAMTI QN
-AA76  ; [.26AA.0020.0002.AA76] # MYANMAR LOGOGRAM KHAMTI HM
-1780  ; [.26AB.0020.0002.1780] # KHMER LETTER KA
-1781  ; [.26AC.0020.0002.1781] # KHMER LETTER KHA
-1782  ; [.26AD.0020.0002.1782] # KHMER LETTER KO
-1783  ; [.26AE.0020.0002.1783] # KHMER LETTER KHO
-1784  ; [.26AF.0020.0002.1784] # KHMER LETTER NGO
-1785  ; [.26B0.0020.0002.1785] # KHMER LETTER CA
-1786  ; [.26B1.0020.0002.1786] # KHMER LETTER CHA
-1787  ; [.26B2.0020.0002.1787] # KHMER LETTER CO
-1788  ; [.26B3.0020.0002.1788] # KHMER LETTER CHO
-1789  ; [.26B4.0020.0002.1789] # KHMER LETTER NYO
-178A  ; [.26B5.0020.0002.178A] # KHMER LETTER DA
-178B  ; [.26B6.0020.0002.178B] # KHMER LETTER TTHA
-178C  ; [.26B7.0020.0002.178C] # KHMER LETTER DO
-178D  ; [.26B8.0020.0002.178D] # KHMER LETTER TTHO
-178E  ; [.26B9.0020.0002.178E] # KHMER LETTER NNO
-178F  ; [.26BA.0020.0002.178F] # KHMER LETTER TA
-1790  ; [.26BB.0020.0002.1790] # KHMER LETTER THA
-1791  ; [.26BC.0020.0002.1791] # KHMER LETTER TO
-1792  ; [.26BD.0020.0002.1792] # KHMER LETTER THO
-1793  ; [.26BE.0020.0002.1793] # KHMER LETTER NO
-1794  ; [.26BF.0020.0002.1794] # KHMER LETTER BA
-1795  ; [.26C0.0020.0002.1795] # KHMER LETTER PHA
-1796  ; [.26C1.0020.0002.1796] # KHMER LETTER PO
-1797  ; [.26C2.0020.0002.1797] # KHMER LETTER PHO
-1798  ; [.26C3.0020.0002.1798] # KHMER LETTER MO
-1799  ; [.26C4.0020.0002.1799] # KHMER LETTER YO
-179A  ; [.26C5.0020.0002.179A] # KHMER LETTER RO
-179B  ; [.26C6.0020.0002.179B] # KHMER LETTER LO
-179C  ; [.26C7.0020.0002.179C] # KHMER LETTER VO
-179D  ; [.26C8.0020.0002.179D] # KHMER LETTER SHA
-179E  ; [.26C9.0020.0002.179E] # KHMER LETTER SSO
-179F  ; [.26CA.0020.0002.179F] # KHMER LETTER SA
-17A0  ; [.26CB.0020.0002.17A0] # KHMER LETTER HA
-17A1  ; [.26CC.0020.0002.17A1] # KHMER LETTER LA
-17A2  ; [.26CD.0020.0002.17A2] # KHMER LETTER QA
-17DC  ; [.26CE.0020.0002.17DC] # KHMER SIGN AVAKRAHASANYA
-17A3  ; [.26CF.0020.0002.17A3] # KHMER INDEPENDENT VOWEL QAQ
-17A4  ; [.26D0.0020.0002.17A4] # KHMER INDEPENDENT VOWEL QAA
-17A5  ; [.26D1.0020.0002.17A5] # KHMER INDEPENDENT VOWEL QI
-17A6  ; [.26D2.0020.0002.17A6] # KHMER INDEPENDENT VOWEL QII
-17A7  ; [.26D3.0020.0002.17A7] # KHMER INDEPENDENT VOWEL QU
-17A8  ; [.26D4.0020.0002.17A8] # KHMER INDEPENDENT VOWEL QUK
-17A9  ; [.26D5.0020.0002.17A9] # KHMER INDEPENDENT VOWEL QUU
-17AA  ; [.26D6.0020.0002.17AA] # KHMER INDEPENDENT VOWEL QUUV
-17AB  ; [.26D7.0020.0002.17AB] # KHMER INDEPENDENT VOWEL RY
-17AC  ; [.26D8.0020.0002.17AC] # KHMER INDEPENDENT VOWEL RYY
-17AD  ; [.26D9.0020.0002.17AD] # KHMER INDEPENDENT VOWEL LY
-17AE  ; [.26DA.0020.0002.17AE] # KHMER INDEPENDENT VOWEL LYY
-17AF  ; [.26DB.0020.0002.17AF] # KHMER INDEPENDENT VOWEL QE
-17B0  ; [.26DC.0020.0002.17B0] # KHMER INDEPENDENT VOWEL QAI
-17B1  ; [.26DD.0020.0002.17B1] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
-17B2  ; [.26DE.0020.0002.17B2] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
-17B3  ; [.26DF.0020.0002.17B3] # KHMER INDEPENDENT VOWEL QAU
-17B4  ; [.26E0.0020.0002.17B4] # KHMER VOWEL INHERENT AQ
-17B5  ; [.26E1.0020.0002.17B5] # KHMER VOWEL INHERENT AA
-17B6  ; [.26E2.0020.0002.17B6] # KHMER VOWEL SIGN AA
-17B7  ; [.26E3.0020.0002.17B7] # KHMER VOWEL SIGN I
-17B8  ; [.26E4.0020.0002.17B8] # KHMER VOWEL SIGN II
-17B9  ; [.26E5.0020.0002.17B9] # KHMER VOWEL SIGN Y
-17BA  ; [.26E6.0020.0002.17BA] # KHMER VOWEL SIGN YY
-17BB  ; [.26E7.0020.0002.17BB] # KHMER VOWEL SIGN U
-17BC  ; [.26E8.0020.0002.17BC] # KHMER VOWEL SIGN UU
-17BD  ; [.26E9.0020.0002.17BD] # KHMER VOWEL SIGN UA
-17BE  ; [.26EA.0020.0002.17BE] # KHMER VOWEL SIGN OE
-17BF  ; [.26EB.0020.0002.17BF] # KHMER VOWEL SIGN YA
-17C0  ; [.26EC.0020.0002.17C0] # KHMER VOWEL SIGN IE
-17C1  ; [.26ED.0020.0002.17C1] # KHMER VOWEL SIGN E
-17C2  ; [.26EE.0020.0002.17C2] # KHMER VOWEL SIGN AE
-17C3  ; [.26EF.0020.0002.17C3] # KHMER VOWEL SIGN AI
-17C4  ; [.26F0.0020.0002.17C4] # KHMER VOWEL SIGN OO
-17C5  ; [.26F1.0020.0002.17C5] # KHMER VOWEL SIGN AU
-17D2  ; [.26F2.0020.0002.17D2] # KHMER SIGN COENG
-1950  ; [.26F3.0020.0002.1950] # TAI LE LETTER KA
-1951  ; [.26F4.0020.0002.1951] # TAI LE LETTER XA
-1952  ; [.26F5.0020.0002.1952] # TAI LE LETTER NGA
-1953  ; [.26F6.0020.0002.1953] # TAI LE LETTER TSA
-1954  ; [.26F7.0020.0002.1954] # TAI LE LETTER SA
-1955  ; [.26F8.0020.0002.1955] # TAI LE LETTER YA
-1956  ; [.26F9.0020.0002.1956] # TAI LE LETTER TA
-1957  ; [.26FA.0020.0002.1957] # TAI LE LETTER THA
-1958  ; [.26FB.0020.0002.1958] # TAI LE LETTER LA
-1959  ; [.26FC.0020.0002.1959] # TAI LE LETTER PA
-195A  ; [.26FD.0020.0002.195A] # TAI LE LETTER PHA
-195B  ; [.26FE.0020.0002.195B] # TAI LE LETTER MA
-195C  ; [.26FF.0020.0002.195C] # TAI LE LETTER FA
-195D  ; [.2700.0020.0002.195D] # TAI LE LETTER VA
-195E  ; [.2701.0020.0002.195E] # TAI LE LETTER HA
-195F  ; [.2702.0020.0002.195F] # TAI LE LETTER QA
-1960  ; [.2703.0020.0002.1960] # TAI LE LETTER KHA
-1961  ; [.2704.0020.0002.1961] # TAI LE LETTER TSHA
-1962  ; [.2705.0020.0002.1962] # TAI LE LETTER NA
-1963  ; [.2706.0020.0002.1963] # TAI LE LETTER A
-1964  ; [.2707.0020.0002.1964] # TAI LE LETTER I
-1965  ; [.2708.0020.0002.1965] # TAI LE LETTER EE
-1966  ; [.2709.0020.0002.1966] # TAI LE LETTER EH
-1967  ; [.270A.0020.0002.1967] # TAI LE LETTER U
-1968  ; [.270B.0020.0002.1968] # TAI LE LETTER OO
-1969  ; [.270C.0020.0002.1969] # TAI LE LETTER O
-196A  ; [.270D.0020.0002.196A] # TAI LE LETTER UE
-196B  ; [.270E.0020.0002.196B] # TAI LE LETTER E
-196C  ; [.270F.0020.0002.196C] # TAI LE LETTER AUE
-196D  ; [.2710.0020.0002.196D] # TAI LE LETTER AI
-1970  ; [.2711.0020.0002.1970] # TAI LE LETTER TONE-2
-1971  ; [.2712.0020.0002.1971] # TAI LE LETTER TONE-3
-1972  ; [.2713.0020.0002.1972] # TAI LE LETTER TONE-4
-1973  ; [.2714.0020.0002.1973] # TAI LE LETTER TONE-5
-1974  ; [.2715.0020.0002.1974] # TAI LE LETTER TONE-6
-1980  ; [.2716.0020.0002.1980] # NEW TAI LUE LETTER HIGH QA
-1981  ; [.2717.0020.0002.1981] # NEW TAI LUE LETTER LOW QA
-1982  ; [.2718.0020.0002.1982] # NEW TAI LUE LETTER HIGH KA
-1983  ; [.2719.0020.0002.1983] # NEW TAI LUE LETTER HIGH XA
-1984  ; [.271A.0020.0002.1984] # NEW TAI LUE LETTER HIGH NGA
-1985  ; [.271B.0020.0002.1985] # NEW TAI LUE LETTER LOW KA
-1986  ; [.271C.0020.0002.1986] # NEW TAI LUE LETTER LOW XA
-1987  ; [.271D.0020.0002.1987] # NEW TAI LUE LETTER LOW NGA
-1988  ; [.271E.0020.0002.1988] # NEW TAI LUE LETTER HIGH TSA
-1989  ; [.271F.0020.0002.1989] # NEW TAI LUE LETTER HIGH SA
-198A  ; [.2720.0020.0002.198A] # NEW TAI LUE LETTER HIGH YA
-198B  ; [.2721.0020.0002.198B] # NEW TAI LUE LETTER LOW TSA
-198C  ; [.2722.0020.0002.198C] # NEW TAI LUE LETTER LOW SA
-198D  ; [.2723.0020.0002.198D] # NEW TAI LUE LETTER LOW YA
-198E  ; [.2724.0020.0002.198E] # NEW TAI LUE LETTER HIGH TA
-198F  ; [.2725.0020.0002.198F] # NEW TAI LUE LETTER HIGH THA
-1990  ; [.2726.0020.0002.1990] # NEW TAI LUE LETTER HIGH NA
-1991  ; [.2727.0020.0002.1991] # NEW TAI LUE LETTER LOW TA
-1992  ; [.2728.0020.0002.1992] # NEW TAI LUE LETTER LOW THA
-1993  ; [.2729.0020.0002.1993] # NEW TAI LUE LETTER LOW NA
-1994  ; [.272A.0020.0002.1994] # NEW TAI LUE LETTER HIGH PA
-1995  ; [.272B.0020.0002.1995] # NEW TAI LUE LETTER HIGH PHA
-1996  ; [.272C.0020.0002.1996] # NEW TAI LUE LETTER HIGH MA
-1997  ; [.272D.0020.0002.1997] # NEW TAI LUE LETTER LOW PA
-1998  ; [.272E.0020.0002.1998] # NEW TAI LUE LETTER LOW PHA
-1999  ; [.272F.0020.0002.1999] # NEW TAI LUE LETTER LOW MA
-199A  ; [.2730.0020.0002.199A] # NEW TAI LUE LETTER HIGH FA
-199B  ; [.2731.0020.0002.199B] # NEW TAI LUE LETTER HIGH VA
-199C  ; [.2732.0020.0002.199C] # NEW TAI LUE LETTER HIGH LA
-19DE  ; [.2732.0020.0004.19DE][.2748.0020.0004.19DE] # NEW TAI LUE SIGN LAE; QQKN
-19DF  ; [.2732.0020.0004.19DF][.2748.0020.0004.19DF][.2753.0020.001F.19DF] # NEW TAI LUE SIGN LAEV; QQKN
-199D  ; [.2733.0020.0002.199D] # NEW TAI LUE LETTER LOW FA
-199E  ; [.2734.0020.0002.199E] # NEW TAI LUE LETTER LOW VA
-199F  ; [.2735.0020.0002.199F] # NEW TAI LUE LETTER LOW LA
-19A0  ; [.2736.0020.0002.19A0] # NEW TAI LUE LETTER HIGH HA
-19A1  ; [.2737.0020.0002.19A1] # NEW TAI LUE LETTER HIGH DA
-19A2  ; [.2738.0020.0002.19A2] # NEW TAI LUE LETTER HIGH BA
-19A3  ; [.2739.0020.0002.19A3] # NEW TAI LUE LETTER LOW HA
-19A4  ; [.273A.0020.0002.19A4] # NEW TAI LUE LETTER LOW DA
-19A5  ; [.273B.0020.0002.19A5] # NEW TAI LUE LETTER LOW BA
-19A6  ; [.273C.0020.0002.19A6] # NEW TAI LUE LETTER HIGH KVA
-19A7  ; [.273D.0020.0002.19A7] # NEW TAI LUE LETTER HIGH XVA
-19A8  ; [.273E.0020.0002.19A8] # NEW TAI LUE LETTER LOW KVA
-19A9  ; [.273F.0020.0002.19A9] # NEW TAI LUE LETTER LOW XVA
-19AA  ; [.2740.0020.0002.19AA] # NEW TAI LUE LETTER HIGH SUA
-19AB  ; [.2741.0020.0002.19AB] # NEW TAI LUE LETTER LOW SUA
-19B0  ; [.2742.0020.0002.19B0] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
-19B1  ; [.2743.0020.0002.19B1] # NEW TAI LUE VOWEL SIGN AA
-19B2  ; [.2744.0020.0002.19B2] # NEW TAI LUE VOWEL SIGN II
-19B3  ; [.2745.0020.0002.19B3] # NEW TAI LUE VOWEL SIGN U
-19B4  ; [.2746.0020.0002.19B4] # NEW TAI LUE VOWEL SIGN UU
-19B5  ; [.2747.0020.0002.19B5] # NEW TAI LUE VOWEL SIGN E
-19B6  ; [.2748.0020.0002.19B6] # NEW TAI LUE VOWEL SIGN AE
-19B7  ; [.2749.0020.0002.19B7] # NEW TAI LUE VOWEL SIGN O
-19B8  ; [.274A.0020.0002.19B8] # NEW TAI LUE VOWEL SIGN OA
-19B9  ; [.274B.0020.0002.19B9] # NEW TAI LUE VOWEL SIGN UE
-19BA  ; [.274C.0020.0002.19BA] # NEW TAI LUE VOWEL SIGN AY
-19BB  ; [.274D.0020.0002.19BB] # NEW TAI LUE VOWEL SIGN AAY
-19BC  ; [.274E.0020.0002.19BC] # NEW TAI LUE VOWEL SIGN UY
-19BD  ; [.274F.0020.0002.19BD] # NEW TAI LUE VOWEL SIGN OY
-19BE  ; [.2750.0020.0002.19BE] # NEW TAI LUE VOWEL SIGN OAY
-19BF  ; [.2751.0020.0002.19BF] # NEW TAI LUE VOWEL SIGN UEY
-19C0  ; [.2752.0020.0002.19C0] # NEW TAI LUE VOWEL SIGN IY
-19C1  ; [.2753.0020.0002.19C1] # NEW TAI LUE LETTER FINAL V
-19C2  ; [.2754.0020.0002.19C2] # NEW TAI LUE LETTER FINAL NG
-19C3  ; [.2755.0020.0002.19C3] # NEW TAI LUE LETTER FINAL N
-19C4  ; [.2756.0020.0002.19C4] # NEW TAI LUE LETTER FINAL M
-19C5  ; [.2757.0020.0002.19C5] # NEW TAI LUE LETTER FINAL K
-19C6  ; [.2758.0020.0002.19C6] # NEW TAI LUE LETTER FINAL D
-19C7  ; [.2759.0020.0002.19C7] # NEW TAI LUE LETTER FINAL B
-19C8  ; [.275A.0020.0002.19C8] # NEW TAI LUE TONE MARK-1
-19C9  ; [.275B.0020.0002.19C9] # NEW TAI LUE TONE MARK-2
-1A20  ; [.275C.0020.0002.1A20] # TAI THAM LETTER HIGH KA
-1A21  ; [.275D.0020.0002.1A21] # TAI THAM LETTER HIGH KHA
-1A22  ; [.275E.0020.0002.1A22] # TAI THAM LETTER HIGH KXA
-1A23  ; [.275F.0020.0002.1A23] # TAI THAM LETTER LOW KA
-1A24  ; [.2760.0020.0002.1A24] # TAI THAM LETTER LOW KXA
-1A25  ; [.2761.0020.0002.1A25] # TAI THAM LETTER LOW KHA
-1A26  ; [.2762.0020.0002.1A26] # TAI THAM LETTER NGA
-1A58  ; [.2762.0020.0004.1A58] # TAI THAM SIGN MAI KANG LAI; QQK
-1A59  ; [.2762.0020.0004.1A59] # TAI THAM CONSONANT SIGN FINAL NGA; QQK
-1A27  ; [.2763.0020.0002.1A27] # TAI THAM LETTER HIGH CA
-1A28  ; [.2764.0020.0002.1A28] # TAI THAM LETTER HIGH CHA
-1A29  ; [.2765.0020.0002.1A29] # TAI THAM LETTER LOW CA
-1A2A  ; [.2766.0020.0002.1A2A] # TAI THAM LETTER LOW SA
-1A2B  ; [.2767.0020.0002.1A2B] # TAI THAM LETTER LOW CHA
-1A2C  ; [.2768.0020.0002.1A2C] # TAI THAM LETTER NYA
-1A2D  ; [.2769.0020.0002.1A2D] # TAI THAM LETTER RATA
-1A2E  ; [.276A.0020.0002.1A2E] # TAI THAM LETTER HIGH RATHA
-1A2F  ; [.276B.0020.0002.1A2F] # TAI THAM LETTER DA
-1A30  ; [.276C.0020.0002.1A30] # TAI THAM LETTER LOW RATHA
-1A31  ; [.276D.0020.0002.1A31] # TAI THAM LETTER RANA
-1A32  ; [.276E.0020.0002.1A32] # TAI THAM LETTER HIGH TA
-1A33  ; [.276F.0020.0002.1A33] # TAI THAM LETTER HIGH THA
-1A34  ; [.2770.0020.0002.1A34] # TAI THAM LETTER LOW TA
-1A35  ; [.2771.0020.0002.1A35] # TAI THAM LETTER LOW THA
-1A36  ; [.2772.0020.0002.1A36] # TAI THAM LETTER NA
-1A37  ; [.2773.0020.0002.1A37] # TAI THAM LETTER BA
-1A38  ; [.2774.0020.0002.1A38] # TAI THAM LETTER HIGH PA
-1A39  ; [.2775.0020.0002.1A39] # TAI THAM LETTER HIGH PHA
-1A3A  ; [.2776.0020.0002.1A3A] # TAI THAM LETTER HIGH FA
-1A3B  ; [.2777.0020.0002.1A3B] # TAI THAM LETTER LOW PA
-1A5A  ; [.2777.0020.0004.1A5A] # TAI THAM CONSONANT SIGN LOW PA; QQK
-1A5B  ; [.2777.0020.0004.1A5B] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA; QQK
-1A3C  ; [.2778.0020.0002.1A3C] # TAI THAM LETTER LOW FA
-1A3D  ; [.2779.0020.0002.1A3D] # TAI THAM LETTER LOW PHA
-1A3E  ; [.277A.0020.0002.1A3E] # TAI THAM LETTER MA
-1A3F  ; [.277B.0020.0002.1A3F] # TAI THAM LETTER LOW YA
-1A40  ; [.277C.0020.0002.1A40] # TAI THAM LETTER HIGH YA
-1A41  ; [.277D.0020.0002.1A41] # TAI THAM LETTER RA
-1A42  ; [.277E.0020.0002.1A42] # TAI THAM LETTER RUE
-1A43  ; [.277F.0020.0002.1A43] # TAI THAM LETTER LA
-1A44  ; [.2780.0020.0002.1A44] # TAI THAM LETTER LUE
-1A45  ; [.2781.0020.0002.1A45] # TAI THAM LETTER WA
-1A46  ; [.2782.0020.0002.1A46] # TAI THAM LETTER HIGH SHA
-1A54  ; [.2782.0020.0004.1A54][.27A8.0020.0004.1A54][.2782.0020.001F.1A54] # TAI THAM LETTER GREAT SA; QQKN
-1A47  ; [.2783.0020.0002.1A47] # TAI THAM LETTER HIGH SSA
-1A48  ; [.2784.0020.0002.1A48] # TAI THAM LETTER HIGH SA
-1A49  ; [.2785.0020.0002.1A49] # TAI THAM LETTER HIGH HA
-1A4A  ; [.2786.0020.0002.1A4A] # TAI THAM LETTER LLA
-1A4B  ; [.2787.0020.0002.1A4B] # TAI THAM LETTER A
-1A4C  ; [.2788.0020.0002.1A4C] # TAI THAM LETTER LOW HA
-1A53  ; [.2789.0020.0002.1A53] # TAI THAM LETTER LAE
-1A6B  ; [.278A.0020.0002.1A6B] # TAI THAM VOWEL SIGN O
-1A55  ; [.278B.0020.0002.1A55] # TAI THAM CONSONANT SIGN MEDIAL RA
-1A56  ; [.278C.0020.0002.1A56] # TAI THAM CONSONANT SIGN MEDIAL LA
-1A57  ; [.278D.0020.0002.1A57] # TAI THAM CONSONANT SIGN LA TANG LAI
-1A5C  ; [.278E.0020.0002.1A5C] # TAI THAM CONSONANT SIGN MA
-1A5D  ; [.278F.0020.0002.1A5D] # TAI THAM CONSONANT SIGN BA
-1A5E  ; [.2790.0020.0002.1A5E] # TAI THAM CONSONANT SIGN SA
-1A4D  ; [.2791.0020.0002.1A4D] # TAI THAM LETTER I
-1A4E  ; [.2792.0020.0002.1A4E] # TAI THAM LETTER II
-1A4F  ; [.2793.0020.0002.1A4F] # TAI THAM LETTER U
-1A50  ; [.2794.0020.0002.1A50] # TAI THAM LETTER UU
-1A51  ; [.2795.0020.0002.1A51] # TAI THAM LETTER EE
-1A52  ; [.2796.0020.0002.1A52] # TAI THAM LETTER OO
-1A61  ; [.2797.0020.0002.1A61] # TAI THAM VOWEL SIGN A
-1A6C  ; [.2798.0020.0002.1A6C] # TAI THAM VOWEL SIGN OA BELOW
-1A62  ; [.2799.0020.0002.1A62] # TAI THAM VOWEL SIGN MAI SAT
-1A63  ; [.279A.0020.0002.1A63] # TAI THAM VOWEL SIGN AA
-1A64  ; [.279A.0020.0004.1A64] # TAI THAM VOWEL SIGN TALL AA; QQK
-1A65  ; [.279B.0020.0002.1A65] # TAI THAM VOWEL SIGN I
-1A66  ; [.279C.0020.0002.1A66] # TAI THAM VOWEL SIGN II
-1A67  ; [.279D.0020.0002.1A67] # TAI THAM VOWEL SIGN UE
-1A68  ; [.279E.0020.0002.1A68] # TAI THAM VOWEL SIGN UUE
-1A69  ; [.279F.0020.0002.1A69] # TAI THAM VOWEL SIGN U
-1A6A  ; [.27A0.0020.0002.1A6A] # TAI THAM VOWEL SIGN UU
-1A6E  ; [.27A1.0020.0002.1A6E] # TAI THAM VOWEL SIGN E
-1A6F  ; [.27A2.0020.0002.1A6F] # TAI THAM VOWEL SIGN AE
-1A73  ; [.27A3.0020.0002.1A73] # TAI THAM VOWEL SIGN OA ABOVE
-1A70  ; [.27A4.0020.0002.1A70] # TAI THAM VOWEL SIGN OO
-1A71  ; [.27A5.0020.0002.1A71] # TAI THAM VOWEL SIGN AI
-1A72  ; [.27A6.0020.0002.1A72] # TAI THAM VOWEL SIGN THAM AI
-1A6D  ; [.27A7.0020.0002.1A6D] # TAI THAM VOWEL SIGN OY
-1A60  ; [.27A8.0020.0002.1A60] # TAI THAM SIGN SAKOT
-AA00  ; [.27A9.0020.0002.AA00] # CHAM LETTER A
-AA01  ; [.27AA.0020.0002.AA01] # CHAM LETTER I
-AA02  ; [.27AB.0020.0002.AA02] # CHAM LETTER U
-AA03  ; [.27AC.0020.0002.AA03] # CHAM LETTER E
-AA04  ; [.27AD.0020.0002.AA04] # CHAM LETTER AI
-AA05  ; [.27AE.0020.0002.AA05] # CHAM LETTER O
-AA06  ; [.27AF.0020.0002.AA06] # CHAM LETTER KA
-AA07  ; [.27B0.0020.0002.AA07] # CHAM LETTER KHA
-AA08  ; [.27B1.0020.0002.AA08] # CHAM LETTER GA
-AA09  ; [.27B2.0020.0002.AA09] # CHAM LETTER GHA
-AA0A  ; [.27B3.0020.0002.AA0A] # CHAM LETTER NGUE
-AA0B  ; [.27B4.0020.0002.AA0B] # CHAM LETTER NGA
-AA0C  ; [.27B5.0020.0002.AA0C] # CHAM LETTER CHA
-AA0D  ; [.27B6.0020.0002.AA0D] # CHAM LETTER CHHA
-AA0E  ; [.27B7.0020.0002.AA0E] # CHAM LETTER JA
-AA0F  ; [.27B8.0020.0002.AA0F] # CHAM LETTER JHA
-AA10  ; [.27B9.0020.0002.AA10] # CHAM LETTER NHUE
-AA11  ; [.27BA.0020.0002.AA11] # CHAM LETTER NHA
-AA12  ; [.27BB.0020.0002.AA12] # CHAM LETTER NHJA
-AA13  ; [.27BC.0020.0002.AA13] # CHAM LETTER TA
-AA14  ; [.27BD.0020.0002.AA14] # CHAM LETTER THA
-AA15  ; [.27BE.0020.0002.AA15] # CHAM LETTER DA
-AA16  ; [.27BF.0020.0002.AA16] # CHAM LETTER DHA
-AA17  ; [.27C0.0020.0002.AA17] # CHAM LETTER NUE
-AA18  ; [.27C1.0020.0002.AA18] # CHAM LETTER NA
-AA19  ; [.27C2.0020.0002.AA19] # CHAM LETTER DDA
-AA1A  ; [.27C3.0020.0002.AA1A] # CHAM LETTER PA
-AA1B  ; [.27C4.0020.0002.AA1B] # CHAM LETTER PPA
-AA1C  ; [.27C5.0020.0002.AA1C] # CHAM LETTER PHA
-AA1D  ; [.27C6.0020.0002.AA1D] # CHAM LETTER BA
-AA1E  ; [.27C7.0020.0002.AA1E] # CHAM LETTER BHA
-AA1F  ; [.27C8.0020.0002.AA1F] # CHAM LETTER MUE
-AA20  ; [.27C9.0020.0002.AA20] # CHAM LETTER MA
-AA21  ; [.27CA.0020.0002.AA21] # CHAM LETTER BBA
-AA22  ; [.27CB.0020.0002.AA22] # CHAM LETTER YA
-AA23  ; [.27CC.0020.0002.AA23] # CHAM LETTER RA
-AA24  ; [.27CD.0020.0002.AA24] # CHAM LETTER LA
-AA25  ; [.27CE.0020.0002.AA25] # CHAM LETTER VA
-AA26  ; [.27CF.0020.0002.AA26] # CHAM LETTER SSA
-AA27  ; [.27D0.0020.0002.AA27] # CHAM LETTER SA
-AA28  ; [.27D1.0020.0002.AA28] # CHAM LETTER HA
-AA33  ; [.27D2.0020.0002.AA33] # CHAM CONSONANT SIGN YA
-AA34  ; [.27D3.0020.0002.AA34] # CHAM CONSONANT SIGN RA
-AA35  ; [.27D4.0020.0002.AA35] # CHAM CONSONANT SIGN LA
-AA36  ; [.27D5.0020.0002.AA36] # CHAM CONSONANT SIGN WA
-AA29  ; [.27D6.0020.0002.AA29] # CHAM VOWEL SIGN AA
-AA2A  ; [.27D7.0020.0002.AA2A] # CHAM VOWEL SIGN I
-AA2B  ; [.27D8.0020.0002.AA2B] # CHAM VOWEL SIGN II
-AA2C  ; [.27D9.0020.0002.AA2C] # CHAM VOWEL SIGN EI
-AA2D  ; [.27DA.0020.0002.AA2D] # CHAM VOWEL SIGN U
-AA2E  ; [.27DB.0020.0002.AA2E] # CHAM VOWEL SIGN OE
-AA2F  ; [.27DC.0020.0002.AA2F] # CHAM VOWEL SIGN O
-AA30  ; [.27DD.0020.0002.AA30] # CHAM VOWEL SIGN AI
-AA31  ; [.27DE.0020.0002.AA31] # CHAM VOWEL SIGN AU
-AA32  ; [.27DF.0020.0002.AA32] # CHAM VOWEL SIGN UE
-AA40  ; [.27E0.0020.0002.AA40] # CHAM LETTER FINAL K
-AA41  ; [.27E1.0020.0002.AA41] # CHAM LETTER FINAL G
-AA42  ; [.27E2.0020.0002.AA42] # CHAM LETTER FINAL NG
-AA43  ; [.27E3.0020.0002.AA43] # CHAM CONSONANT SIGN FINAL NG
-AA44  ; [.27E4.0020.0002.AA44] # CHAM LETTER FINAL CH
-AA45  ; [.27E5.0020.0002.AA45] # CHAM LETTER FINAL T
-AA46  ; [.27E6.0020.0002.AA46] # CHAM LETTER FINAL N
-AA47  ; [.27E7.0020.0002.AA47] # CHAM LETTER FINAL P
-AA48  ; [.27E8.0020.0002.AA48] # CHAM LETTER FINAL Y
-AA49  ; [.27E9.0020.0002.AA49] # CHAM LETTER FINAL R
-AA4A  ; [.27EA.0020.0002.AA4A] # CHAM LETTER FINAL L
-AA4B  ; [.27EB.0020.0002.AA4B] # CHAM LETTER FINAL SS
-AA4C  ; [.27EC.0020.0002.AA4C] # CHAM CONSONANT SIGN FINAL M
-AA4D  ; [.27ED.0020.0002.AA4D] # CHAM CONSONANT SIGN FINAL H
-1B05  ; [.27EE.0020.0002.1B05] # BALINESE LETTER AKARA
-1B06  ; [.27EF.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
-1B05 1B35 ; [.27EF.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
-1B07  ; [.27F0.0020.0002.1B07] # BALINESE LETTER IKARA
-1B08  ; [.27F1.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
-1B07 1B35 ; [.27F1.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
-1B09  ; [.27F2.0020.0002.1B09] # BALINESE LETTER UKARA
-1B0A  ; [.27F3.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
-1B09 1B35 ; [.27F3.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
-1B0B  ; [.27F4.0020.0002.1B0B] # BALINESE LETTER RA REPA
-1B0C  ; [.27F5.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
-1B0B 1B35 ; [.27F5.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
-1B0D  ; [.27F6.0020.0002.1B0D] # BALINESE LETTER LA LENGA
-1B0E  ; [.27F7.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
-1B0D 1B35 ; [.27F7.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
-1B0F  ; [.27F8.0020.0002.1B0F] # BALINESE LETTER EKARA
-1B10  ; [.27F9.0020.0002.1B10] # BALINESE LETTER AIKARA
-1B11  ; [.27FA.0020.0002.1B11] # BALINESE LETTER OKARA
-1B12  ; [.27FB.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
-1B11 1B35 ; [.27FB.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
-1B13  ; [.27FC.0020.0002.1B13] # BALINESE LETTER KA
-1B45  ; [.27FD.0020.0002.1B45] # BALINESE LETTER KAF SASAK
-1B46  ; [.27FE.0020.0002.1B46] # BALINESE LETTER KHOT SASAK
-1B14  ; [.27FF.0020.0002.1B14] # BALINESE LETTER KA MAHAPRANA
-1B15  ; [.2800.0020.0002.1B15] # BALINESE LETTER GA
-1B16  ; [.2801.0020.0002.1B16] # BALINESE LETTER GA GORA
-1B17  ; [.2802.0020.0002.1B17] # BALINESE LETTER NGA
-1B18  ; [.2803.0020.0002.1B18] # BALINESE LETTER CA
-1B19  ; [.2804.0020.0002.1B19] # BALINESE LETTER CA LACA
-1B1A  ; [.2805.0020.0002.1B1A] # BALINESE LETTER JA
-1B1B  ; [.2806.0020.0002.1B1B] # BALINESE LETTER JA JERA
-1B1C  ; [.2807.0020.0002.1B1C] # BALINESE LETTER NYA
-1B1D  ; [.2808.0020.0002.1B1D] # BALINESE LETTER TA LATIK
-1B1E  ; [.2809.0020.0002.1B1E] # BALINESE LETTER TA MURDA MAHAPRANA
-1B1F  ; [.280A.0020.0002.1B1F] # BALINESE LETTER DA MURDA ALPAPRANA
-1B20  ; [.280B.0020.0002.1B20] # BALINESE LETTER DA MURDA MAHAPRANA
-1B21  ; [.280C.0020.0002.1B21] # BALINESE LETTER NA RAMBAT
-1B22  ; [.280D.0020.0002.1B22] # BALINESE LETTER TA
-1B47  ; [.280E.0020.0002.1B47] # BALINESE LETTER TZIR SASAK
-1B23  ; [.280F.0020.0002.1B23] # BALINESE LETTER TA TAWA
-1B24  ; [.2810.0020.0002.1B24] # BALINESE LETTER DA
-1B25  ; [.2811.0020.0002.1B25] # BALINESE LETTER DA MADU
-1B26  ; [.2812.0020.0002.1B26] # BALINESE LETTER NA
-1B27  ; [.2813.0020.0002.1B27] # BALINESE LETTER PA
-1B48  ; [.2814.0020.0002.1B48] # BALINESE LETTER EF SASAK
-1B28  ; [.2815.0020.0002.1B28] # BALINESE LETTER PA KAPAL
-1B29  ; [.2816.0020.0002.1B29] # BALINESE LETTER BA
-1B2A  ; [.2817.0020.0002.1B2A] # BALINESE LETTER BA KEMBANG
-1B2B  ; [.2818.0020.0002.1B2B] # BALINESE LETTER MA
-1B2C  ; [.2819.0020.0002.1B2C] # BALINESE LETTER YA
-1B2D  ; [.281A.0020.0002.1B2D] # BALINESE LETTER RA
-1B2E  ; [.281B.0020.0002.1B2E] # BALINESE LETTER LA
-1B2F  ; [.281C.0020.0002.1B2F] # BALINESE LETTER WA
-1B49  ; [.281D.0020.0002.1B49] # BALINESE LETTER VE SASAK
-1B30  ; [.281E.0020.0002.1B30] # BALINESE LETTER SA SAGA
-1B31  ; [.281F.0020.0002.1B31] # BALINESE LETTER SA SAPA
-1B32  ; [.2820.0020.0002.1B32] # BALINESE LETTER SA
-1B4A  ; [.2821.0020.0002.1B4A] # BALINESE LETTER ZAL SASAK
-1B4B  ; [.2822.0020.0002.1B4B] # BALINESE LETTER ASYURA SASAK
-1B33  ; [.2823.0020.0002.1B33] # BALINESE LETTER HA
-1B35  ; [.2824.0020.0002.1B35] # BALINESE VOWEL SIGN TEDUNG
-1B36  ; [.2825.0020.0002.1B36] # BALINESE VOWEL SIGN ULU
-1B37  ; [.2826.0020.0002.1B37] # BALINESE VOWEL SIGN ULU SARI
-1B38  ; [.2827.0020.0002.1B38] # BALINESE VOWEL SIGN SUKU
-1B39  ; [.2828.0020.0002.1B39] # BALINESE VOWEL SIGN SUKU ILUT
-1B3A  ; [.2829.0020.0002.1B3A] # BALINESE VOWEL SIGN RA REPA
-1B3B  ; [.282A.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3A 1B35 ; [.282A.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
-1B3C  ; [.282B.0020.0002.1B3C] # BALINESE VOWEL SIGN LA LENGA
-1B3D  ; [.282C.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3C 1B35 ; [.282C.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
-1B3E  ; [.282D.0020.0002.1B3E] # BALINESE VOWEL SIGN TALING
-1B3F  ; [.282E.0020.0002.1B3F] # BALINESE VOWEL SIGN TALING REPA
-1B40  ; [.282F.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
-1B3E 1B35 ; [.282F.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
-1B41  ; [.2830.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B3F 1B35 ; [.2830.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
-1B42  ; [.2831.0020.0002.1B42] # BALINESE VOWEL SIGN PEPET
-1B43  ; [.2832.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B42 1B35 ; [.2832.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
-1B44  ; [.2833.0020.0002.1B44] # BALINESE ADEG ADEG
-A984  ; [.2834.0020.0002.A984] # JAVANESE LETTER A
-A985  ; [.2835.0020.0002.A985] # JAVANESE LETTER I KAWI
-A986  ; [.2836.0020.0002.A986] # JAVANESE LETTER I
-A987  ; [.2837.0020.0002.A987] # JAVANESE LETTER II
-A988  ; [.2838.0020.0002.A988] # JAVANESE LETTER U
-A989  ; [.2839.0020.0002.A989] # JAVANESE LETTER PA CEREK
-A98A  ; [.283A.0020.0002.A98A] # JAVANESE LETTER NGA LELET
-A98B  ; [.283B.0020.0002.A98B] # JAVANESE LETTER NGA LELET RASWADI
-A98C  ; [.283C.0020.0002.A98C] # JAVANESE LETTER E
-A98D  ; [.283D.0020.0002.A98D] # JAVANESE LETTER AI
-A98E  ; [.283E.0020.0002.A98E] # JAVANESE LETTER O
-A98F  ; [.283F.0020.0002.A98F] # JAVANESE LETTER KA
-A990  ; [.2840.0020.0002.A990] # JAVANESE LETTER KA SASAK
-A991  ; [.2841.0020.0002.A991] # JAVANESE LETTER KA MURDA
-A992  ; [.2842.0020.0002.A992] # JAVANESE LETTER GA
-A993  ; [.2843.0020.0002.A993] # JAVANESE LETTER GA MURDA
-A994  ; [.2844.0020.0002.A994] # JAVANESE LETTER NGA
-A995  ; [.2845.0020.0002.A995] # JAVANESE LETTER CA
-A996  ; [.2846.0020.0002.A996] # JAVANESE LETTER CA MURDA
-A997  ; [.2847.0020.0002.A997] # JAVANESE LETTER JA
-A998  ; [.2848.0020.0002.A998] # JAVANESE LETTER NYA MURDA
-A999  ; [.2849.0020.0002.A999] # JAVANESE LETTER JA MAHAPRANA
-A99A  ; [.284A.0020.0002.A99A] # JAVANESE LETTER NYA
-A99B  ; [.284B.0020.0002.A99B] # JAVANESE LETTER TTA
-A99C  ; [.284C.0020.0002.A99C] # JAVANESE LETTER TTA MAHAPRANA
-A99D  ; [.284D.0020.0002.A99D] # JAVANESE LETTER DDA
-A99E  ; [.284E.0020.0002.A99E] # JAVANESE LETTER DDA MAHAPRANA
-A99F  ; [.284F.0020.0002.A99F] # JAVANESE LETTER NA MURDA
-A9A0  ; [.2850.0020.0002.A9A0] # JAVANESE LETTER TA
-A9A1  ; [.2851.0020.0002.A9A1] # JAVANESE LETTER TA MURDA
-A9A2  ; [.2852.0020.0002.A9A2] # JAVANESE LETTER DA
-A9A3  ; [.2853.0020.0002.A9A3] # JAVANESE LETTER DA MAHAPRANA
-A9A4  ; [.2854.0020.0002.A9A4] # JAVANESE LETTER NA
-A9A5  ; [.2855.0020.0002.A9A5] # JAVANESE LETTER PA
-A9A6  ; [.2856.0020.0002.A9A6] # JAVANESE LETTER PA MURDA
-A9A7  ; [.2857.0020.0002.A9A7] # JAVANESE LETTER BA
-A9A8  ; [.2858.0020.0002.A9A8] # JAVANESE LETTER BA MURDA
-A9A9  ; [.2859.0020.0002.A9A9] # JAVANESE LETTER MA
-A9AA  ; [.285A.0020.0002.A9AA] # JAVANESE LETTER YA
-A9BE  ; [.285B.0020.0002.A9BE] # JAVANESE CONSONANT SIGN PENGKAL
-A9AB  ; [.285C.0020.0002.A9AB] # JAVANESE LETTER RA
-A9AC  ; [.285C.0020.0004.A9AC] # JAVANESE LETTER RA AGUNG; QQK
-A9BF  ; [.285D.0020.0002.A9BF] # JAVANESE CONSONANT SIGN CAKRA
-A9AD  ; [.285E.0020.0002.A9AD] # JAVANESE LETTER LA
-A9AE  ; [.285F.0020.0002.A9AE] # JAVANESE LETTER WA
-A9AF  ; [.2860.0020.0002.A9AF] # JAVANESE LETTER SA MURDA
-A9B0  ; [.2861.0020.0002.A9B0] # JAVANESE LETTER SA MAHAPRANA
-A9B1  ; [.2862.0020.0002.A9B1] # JAVANESE LETTER SA
-A9B2  ; [.2863.0020.0002.A9B2] # JAVANESE LETTER HA
-A9B4  ; [.2864.0020.0002.A9B4] # JAVANESE VOWEL SIGN TARUNG
-A9BC  ; [.2865.0020.0002.A9BC] # JAVANESE VOWEL SIGN PEPET
-A9B6  ; [.2866.0020.0002.A9B6] # JAVANESE VOWEL SIGN WULU
-A9B7  ; [.2867.0020.0002.A9B7] # JAVANESE VOWEL SIGN WULU MELIK
-A9B8  ; [.2868.0020.0002.A9B8] # JAVANESE VOWEL SIGN SUKU
-A9B9  ; [.2869.0020.0002.A9B9] # JAVANESE VOWEL SIGN SUKU MENDUT
-A9BD  ; [.286A.0020.0002.A9BD] # JAVANESE CONSONANT SIGN KERET
-A9BA  ; [.286B.0020.0002.A9BA] # JAVANESE VOWEL SIGN TALING
-A9BB  ; [.286C.0020.0002.A9BB] # JAVANESE VOWEL SIGN DIRGA MURE
-A9B5  ; [.286D.0020.0002.A9B5] # JAVANESE VOWEL SIGN TOLONG
-A9C0  ; [.286E.0020.0002.A9C0] # JAVANESE PANGKON
-1880  ; [.286F.0020.0002.1880] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
-1881  ; [.2870.0020.0002.1881] # MONGOLIAN LETTER ALI GALI VISARGA ONE
-1882  ; [.2871.0020.0002.1882] # MONGOLIAN LETTER ALI GALI DAMARU
-1883  ; [.2872.0020.0002.1883] # MONGOLIAN LETTER ALI GALI UBADAMA
-1884  ; [.2873.0020.0002.1884] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
-1885  ; [.2874.0020.0002.1885] # MONGOLIAN LETTER ALI GALI BALUDA
-1886  ; [.2875.0020.0002.1886] # MONGOLIAN LETTER ALI GALI THREE BALUDA
-1843  ; [.2876.0020.0002.1843] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
-1820  ; [.2877.0020.0002.1820] # MONGOLIAN LETTER A
-1887  ; [.2878.0020.0002.1887] # MONGOLIAN LETTER ALI GALI A
-1821  ; [.2879.0020.0002.1821] # MONGOLIAN LETTER E
-1844  ; [.287A.0020.0002.1844] # MONGOLIAN LETTER TODO E
-185D  ; [.287B.0020.0002.185D] # MONGOLIAN LETTER SIBE E
-1822  ; [.287C.0020.0002.1822] # MONGOLIAN LETTER I
-1845  ; [.287D.0020.0002.1845] # MONGOLIAN LETTER TODO I
-185E  ; [.287E.0020.0002.185E] # MONGOLIAN LETTER SIBE I
-1873  ; [.287F.0020.0002.1873] # MONGOLIAN LETTER MANCHU I
-1888  ; [.2880.0020.0002.1888] # MONGOLIAN LETTER ALI GALI I
-185F  ; [.2881.0020.0002.185F] # MONGOLIAN LETTER SIBE IY
-1823  ; [.2882.0020.0002.1823] # MONGOLIAN LETTER O
-1846  ; [.2883.0020.0002.1846] # MONGOLIAN LETTER TODO O
-1824  ; [.2884.0020.0002.1824] # MONGOLIAN LETTER U
-1847  ; [.2885.0020.0002.1847] # MONGOLIAN LETTER TODO U
-1861  ; [.2886.0020.0002.1861] # MONGOLIAN LETTER SIBE U
-1825  ; [.2887.0020.0002.1825] # MONGOLIAN LETTER OE
-1848  ; [.2888.0020.0002.1848] # MONGOLIAN LETTER TODO OE
-1826  ; [.2889.0020.0002.1826] # MONGOLIAN LETTER UE
-1849  ; [.288A.0020.0002.1849] # MONGOLIAN LETTER TODO UE
-1860  ; [.288B.0020.0002.1860] # MONGOLIAN LETTER SIBE UE
-1827  ; [.288C.0020.0002.1827] # MONGOLIAN LETTER EE
-1828  ; [.288D.0020.0002.1828] # MONGOLIAN LETTER NA
-1829  ; [.288E.0020.0002.1829] # MONGOLIAN LETTER ANG
-184A  ; [.288F.0020.0002.184A] # MONGOLIAN LETTER TODO ANG
-1862  ; [.2890.0020.0002.1862] # MONGOLIAN LETTER SIBE ANG
-188A  ; [.2891.0020.0002.188A] # MONGOLIAN LETTER ALI GALI NGA
-189B  ; [.2892.0020.0002.189B] # MONGOLIAN LETTER MANCHU ALI GALI NGA
-182A  ; [.2893.0020.0002.182A] # MONGOLIAN LETTER BA
-184B  ; [.2894.0020.0002.184B] # MONGOLIAN LETTER TODO BA
-182B  ; [.2895.0020.0002.182B] # MONGOLIAN LETTER PA
-184C  ; [.2896.0020.0002.184C] # MONGOLIAN LETTER TODO PA
-1866  ; [.2897.0020.0002.1866] # MONGOLIAN LETTER SIBE PA
-182C  ; [.2898.0020.0002.182C] # MONGOLIAN LETTER QA
-184D  ; [.2899.0020.0002.184D] # MONGOLIAN LETTER TODO QA
-182D  ; [.289A.0020.0002.182D] # MONGOLIAN LETTER GA
-184E  ; [.289B.0020.0002.184E] # MONGOLIAN LETTER TODO GA
-1864  ; [.289C.0020.0002.1864] # MONGOLIAN LETTER SIBE GA
-189A  ; [.289D.0020.0002.189A] # MONGOLIAN LETTER MANCHU ALI GALI GHA
-1865  ; [.289E.0020.0002.1865] # MONGOLIAN LETTER SIBE HA
-182E  ; [.289F.0020.0002.182E] # MONGOLIAN LETTER MA
-184F  ; [.28A0.0020.0002.184F] # MONGOLIAN LETTER TODO MA
-182F  ; [.28A1.0020.0002.182F] # MONGOLIAN LETTER LA
-1830  ; [.28A2.0020.0002.1830] # MONGOLIAN LETTER SA
-1831  ; [.28A3.0020.0002.1831] # MONGOLIAN LETTER SHA
-1867  ; [.28A4.0020.0002.1867] # MONGOLIAN LETTER SIBE SHA
-189C  ; [.28A5.0020.0002.189C] # MONGOLIAN LETTER MANCHU ALI GALI CA
-189D  ; [.28A6.0020.0002.189D] # MONGOLIAN LETTER MANCHU ALI GALI JHA
-18A2  ; [.28A7.0020.0002.18A2] # MONGOLIAN LETTER MANCHU ALI GALI SSA
-18A4  ; [.28A8.0020.0002.18A4] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
-18A5  ; [.28A9.0020.0002.18A5] # MONGOLIAN LETTER MANCHU ALI GALI ZA
-1832  ; [.28AA.0020.0002.1832] # MONGOLIAN LETTER TA
-1850  ; [.28AB.0020.0002.1850] # MONGOLIAN LETTER TODO TA
-1868  ; [.28AC.0020.0002.1868] # MONGOLIAN LETTER SIBE TA
-1833  ; [.28AD.0020.0002.1833] # MONGOLIAN LETTER DA
-1851  ; [.28AE.0020.0002.1851] # MONGOLIAN LETTER TODO DA
-1869  ; [.28AF.0020.0002.1869] # MONGOLIAN LETTER SIBE DA
-1834  ; [.28B0.0020.0002.1834] # MONGOLIAN LETTER CHA
-1852  ; [.28B1.0020.0002.1852] # MONGOLIAN LETTER TODO CHA
-1871  ; [.28B2.0020.0002.1871] # MONGOLIAN LETTER SIBE CHA
-185C  ; [.28B3.0020.0002.185C] # MONGOLIAN LETTER TODO DZA
-188B  ; [.28B4.0020.0002.188B] # MONGOLIAN LETTER ALI GALI CA
-1835  ; [.28B5.0020.0002.1835] # MONGOLIAN LETTER JA
-1853  ; [.28B6.0020.0002.1853] # MONGOLIAN LETTER TODO JA
-186A  ; [.28B7.0020.0002.186A] # MONGOLIAN LETTER SIBE JA
-1877  ; [.28B8.0020.0002.1877] # MONGOLIAN LETTER MANCHU ZHA
-1836  ; [.28B9.0020.0002.1836] # MONGOLIAN LETTER YA
-1855  ; [.28BA.0020.0002.1855] # MONGOLIAN LETTER TODO YA
-1872  ; [.28BB.0020.0002.1872] # MONGOLIAN LETTER SIBE ZHA
-1837  ; [.28BC.0020.0002.1837] # MONGOLIAN LETTER RA
-1875  ; [.28BD.0020.0002.1875] # MONGOLIAN LETTER MANCHU RA
-1838  ; [.28BE.0020.0002.1838] # MONGOLIAN LETTER WA
-1856  ; [.28BF.0020.0002.1856] # MONGOLIAN LETTER TODO WA
-1839  ; [.28C0.0020.0002.1839] # MONGOLIAN LETTER FA
-186B  ; [.28C1.0020.0002.186B] # MONGOLIAN LETTER SIBE FA
-1876  ; [.28C2.0020.0002.1876] # MONGOLIAN LETTER MANCHU FA
-183A  ; [.28C3.0020.0002.183A] # MONGOLIAN LETTER KA
-1857  ; [.28C4.0020.0002.1857] # MONGOLIAN LETTER TODO KA
-1863  ; [.28C5.0020.0002.1863] # MONGOLIAN LETTER SIBE KA
-1874  ; [.28C6.0020.0002.1874] # MONGOLIAN LETTER MANCHU KA
-1889  ; [.28C7.0020.0002.1889] # MONGOLIAN LETTER ALI GALI KA
-183B  ; [.28C8.0020.0002.183B] # MONGOLIAN LETTER KHA
-183C  ; [.28C9.0020.0002.183C] # MONGOLIAN LETTER TSA
-1854  ; [.28CA.0020.0002.1854] # MONGOLIAN LETTER TODO TSA
-186E  ; [.28CB.0020.0002.186E] # MONGOLIAN LETTER SIBE TSA
-183D  ; [.28CC.0020.0002.183D] # MONGOLIAN LETTER ZA
-186F  ; [.28CD.0020.0002.186F] # MONGOLIAN LETTER SIBE ZA
-1858  ; [.28CE.0020.0002.1858] # MONGOLIAN LETTER TODO GAA
-186C  ; [.28CF.0020.0002.186C] # MONGOLIAN LETTER SIBE GAA
-183E  ; [.28D0.0020.0002.183E] # MONGOLIAN LETTER HAA
-1859  ; [.28D1.0020.0002.1859] # MONGOLIAN LETTER TODO HAA
-186D  ; [.28D2.0020.0002.186D] # MONGOLIAN LETTER SIBE HAA
-183F  ; [.28D3.0020.0002.183F] # MONGOLIAN LETTER ZRA
-1840  ; [.28D4.0020.0002.1840] # MONGOLIAN LETTER LHA
-1841  ; [.28D5.0020.0002.1841] # MONGOLIAN LETTER ZHI
-1842  ; [.28D6.0020.0002.1842] # MONGOLIAN LETTER CHI
-185A  ; [.28D7.0020.0002.185A] # MONGOLIAN LETTER TODO JIA
-185B  ; [.28D8.0020.0002.185B] # MONGOLIAN LETTER TODO NIA
-1870  ; [.28D9.0020.0002.1870] # MONGOLIAN LETTER SIBE RAA
-188C  ; [.28DA.0020.0002.188C] # MONGOLIAN LETTER ALI GALI TTA
-189E  ; [.28DB.0020.0002.189E] # MONGOLIAN LETTER MANCHU ALI GALI TTA
-188D  ; [.28DC.0020.0002.188D] # MONGOLIAN LETTER ALI GALI TTHA
-188E  ; [.28DD.0020.0002.188E] # MONGOLIAN LETTER ALI GALI DDA
-189F  ; [.28DE.0020.0002.189F] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
-188F  ; [.28DF.0020.0002.188F] # MONGOLIAN LETTER ALI GALI NNA
-1890  ; [.28E0.0020.0002.1890] # MONGOLIAN LETTER ALI GALI TA
-1898  ; [.28E1.0020.0002.1898] # MONGOLIAN LETTER TODO ALI GALI TA
-18A0  ; [.28E2.0020.0002.18A0] # MONGOLIAN LETTER MANCHU ALI GALI TA
-1891  ; [.28E3.0020.0002.1891] # MONGOLIAN LETTER ALI GALI DA
-18A1  ; [.28E4.0020.0002.18A1] # MONGOLIAN LETTER MANCHU ALI GALI DHA
-1892  ; [.28E5.0020.0002.1892] # MONGOLIAN LETTER ALI GALI PA
-1893  ; [.28E6.0020.0002.1893] # MONGOLIAN LETTER ALI GALI PHA
-18A8  ; [.28E7.0020.0002.18A8] # MONGOLIAN LETTER MANCHU ALI GALI BHA
-1894  ; [.28E8.0020.0002.1894] # MONGOLIAN LETTER ALI GALI SSA
-18A3  ; [.28E9.0020.0002.18A3] # MONGOLIAN LETTER MANCHU ALI GALI CYA
-1895  ; [.28EA.0020.0002.1895] # MONGOLIAN LETTER ALI GALI ZHA
-1899  ; [.28EB.0020.0002.1899] # MONGOLIAN LETTER TODO ALI GALI ZHA
-1896  ; [.28EC.0020.0002.1896] # MONGOLIAN LETTER ALI GALI ZA
-1897  ; [.28ED.0020.0002.1897] # MONGOLIAN LETTER ALI GALI AH
-18A6  ; [.28EE.0020.0002.18A6] # MONGOLIAN LETTER ALI GALI HALF U
-18A7  ; [.28EF.0020.0002.18A7] # MONGOLIAN LETTER ALI GALI HALF YA
-18AA  ; [.28F0.0020.0002.18AA] # MONGOLIAN LETTER MANCHU ALI GALI LHA
-18A9  ; [.28F1.0020.0002.18A9] # MONGOLIAN LETTER ALI GALI DAGALGA
-1C5A  ; [.28F2.0020.0002.1C5A] # OL CHIKI LETTER LA
-1C5B  ; [.28F3.0020.0002.1C5B] # OL CHIKI LETTER AT
-1C5C  ; [.28F4.0020.0002.1C5C] # OL CHIKI LETTER AG
-1C5D  ; [.28F5.0020.0002.1C5D] # OL CHIKI LETTER ANG
-1C5E  ; [.28F6.0020.0002.1C5E] # OL CHIKI LETTER AL
-1C5F  ; [.28F7.0020.0002.1C5F] # OL CHIKI LETTER LAA
-1C60  ; [.28F8.0020.0002.1C60] # OL CHIKI LETTER AAK
-1C61  ; [.28F9.0020.0002.1C61] # OL CHIKI LETTER AAJ
-1C62  ; [.28FA.0020.0002.1C62] # OL CHIKI LETTER AAM
-1C63  ; [.28FB.0020.0002.1C63] # OL CHIKI LETTER AAW
-1C64  ; [.28FC.0020.0002.1C64] # OL CHIKI LETTER LI
-1C65  ; [.28FD.0020.0002.1C65] # OL CHIKI LETTER IS
-1C66  ; [.28FE.0020.0002.1C66] # OL CHIKI LETTER IH
-1C67  ; [.28FF.0020.0002.1C67] # OL CHIKI LETTER INY
-1C68  ; [.2900.0020.0002.1C68] # OL CHIKI LETTER IR
-1C69  ; [.2901.0020.0002.1C69] # OL CHIKI LETTER LU
-1C6A  ; [.2902.0020.0002.1C6A] # OL CHIKI LETTER UC
-1C6B  ; [.2903.0020.0002.1C6B] # OL CHIKI LETTER UD
-1C6C  ; [.2904.0020.0002.1C6C] # OL CHIKI LETTER UNN
-1C6D  ; [.2905.0020.0002.1C6D] # OL CHIKI LETTER UY
-1C6E  ; [.2906.0020.0002.1C6E] # OL CHIKI LETTER LE
-1C6F  ; [.2907.0020.0002.1C6F] # OL CHIKI LETTER EP
-1C70  ; [.2908.0020.0002.1C70] # OL CHIKI LETTER EDD
-1C71  ; [.2909.0020.0002.1C71] # OL CHIKI LETTER EN
-1C72  ; [.290A.0020.0002.1C72] # OL CHIKI LETTER ERR
-1C73  ; [.290B.0020.0002.1C73] # OL CHIKI LETTER LO
-1C74  ; [.290C.0020.0002.1C74] # OL CHIKI LETTER OTT
-1C75  ; [.290D.0020.0002.1C75] # OL CHIKI LETTER OB
-1C76  ; [.290E.0020.0002.1C76] # OL CHIKI LETTER OV
-1C77  ; [.290F.0020.0002.1C77] # OL CHIKI LETTER OH
-1C78  ; [.2910.0020.0002.1C78] # OL CHIKI MU TTUDDAG
-1C79  ; [.2911.0020.0002.1C79] # OL CHIKI GAAHLAA TTUDDAAG
-1C7A  ; [.2912.0020.0002.1C7A] # OL CHIKI MU-GAAHLAA TTUDDAAG
-1C7B  ; [.2913.0020.0002.1C7B] # OL CHIKI RELAA
-1C7C  ; [.2914.0020.0002.1C7C] # OL CHIKI PHAARKAA
-1C7D  ; [.2915.0020.0002.1C7D] # OL CHIKI AHAD
-13A0  ; [.2916.0020.0002.13A0] # CHEROKEE LETTER A
-13A1  ; [.2917.0020.0002.13A1] # CHEROKEE LETTER E
-13A2  ; [.2918.0020.0002.13A2] # CHEROKEE LETTER I
-13A3  ; [.2919.0020.0002.13A3] # CHEROKEE LETTER O
-13A4  ; [.291A.0020.0002.13A4] # CHEROKEE LETTER U
-13A5  ; [.291B.0020.0002.13A5] # CHEROKEE LETTER V
-13A6  ; [.291C.0020.0002.13A6] # CHEROKEE LETTER GA
-13A7  ; [.291D.0020.0002.13A7] # CHEROKEE LETTER KA
-13A8  ; [.291E.0020.0002.13A8] # CHEROKEE LETTER GE
-13A9  ; [.291F.0020.0002.13A9] # CHEROKEE LETTER GI
-13AA  ; [.2920.0020.0002.13AA] # CHEROKEE LETTER GO
-13AB  ; [.2921.0020.0002.13AB] # CHEROKEE LETTER GU
-13AC  ; [.2922.0020.0002.13AC] # CHEROKEE LETTER GV
-13AD  ; [.2923.0020.0002.13AD] # CHEROKEE LETTER HA
-13AE  ; [.2924.0020.0002.13AE] # CHEROKEE LETTER HE
-13AF  ; [.2925.0020.0002.13AF] # CHEROKEE LETTER HI
-13B0  ; [.2926.0020.0002.13B0] # CHEROKEE LETTER HO
-13B1  ; [.2927.0020.0002.13B1] # CHEROKEE LETTER HU
-13B2  ; [.2928.0020.0002.13B2] # CHEROKEE LETTER HV
-13B3  ; [.2929.0020.0002.13B3] # CHEROKEE LETTER LA
-13B4  ; [.292A.0020.0002.13B4] # CHEROKEE LETTER LE
-13B5  ; [.292B.0020.0002.13B5] # CHEROKEE LETTER LI
-13B6  ; [.292C.0020.0002.13B6] # CHEROKEE LETTER LO
-13B7  ; [.292D.0020.0002.13B7] # CHEROKEE LETTER LU
-13B8  ; [.292E.0020.0002.13B8] # CHEROKEE LETTER LV
-13B9  ; [.292F.0020.0002.13B9] # CHEROKEE LETTER MA
-13BA  ; [.2930.0020.0002.13BA] # CHEROKEE LETTER ME
-13BB  ; [.2931.0020.0002.13BB] # CHEROKEE LETTER MI
-13BC  ; [.2932.0020.0002.13BC] # CHEROKEE LETTER MO
-13BD  ; [.2933.0020.0002.13BD] # CHEROKEE LETTER MU
-13BE  ; [.2934.0020.0002.13BE] # CHEROKEE LETTER NA
-13BF  ; [.2935.0020.0002.13BF] # CHEROKEE LETTER HNA
-13C0  ; [.2936.0020.0002.13C0] # CHEROKEE LETTER NAH
-13C1  ; [.2937.0020.0002.13C1] # CHEROKEE LETTER NE
-13C2  ; [.2938.0020.0002.13C2] # CHEROKEE LETTER NI
-13C3  ; [.2939.0020.0002.13C3] # CHEROKEE LETTER NO
-13C4  ; [.293A.0020.0002.13C4] # CHEROKEE LETTER NU
-13C5  ; [.293B.0020.0002.13C5] # CHEROKEE LETTER NV
-13C6  ; [.293C.0020.0002.13C6] # CHEROKEE LETTER QUA
-13C7  ; [.293D.0020.0002.13C7] # CHEROKEE LETTER QUE
-13C8  ; [.293E.0020.0002.13C8] # CHEROKEE LETTER QUI
-13C9  ; [.293F.0020.0002.13C9] # CHEROKEE LETTER QUO
-13CA  ; [.2940.0020.0002.13CA] # CHEROKEE LETTER QUU
-13CB  ; [.2941.0020.0002.13CB] # CHEROKEE LETTER QUV
-13CC  ; [.2942.0020.0002.13CC] # CHEROKEE LETTER SA
-13CD  ; [.2943.0020.0002.13CD] # CHEROKEE LETTER S
-13CE  ; [.2944.0020.0002.13CE] # CHEROKEE LETTER SE
-13CF  ; [.2945.0020.0002.13CF] # CHEROKEE LETTER SI
-13D0  ; [.2946.0020.0002.13D0] # CHEROKEE LETTER SO
-13D1  ; [.2947.0020.0002.13D1] # CHEROKEE LETTER SU
-13D2  ; [.2948.0020.0002.13D2] # CHEROKEE LETTER SV
-13D3  ; [.2949.0020.0002.13D3] # CHEROKEE LETTER DA
-13D4  ; [.294A.0020.0002.13D4] # CHEROKEE LETTER TA
-13D5  ; [.294B.0020.0002.13D5] # CHEROKEE LETTER DE
-13D6  ; [.294C.0020.0002.13D6] # CHEROKEE LETTER TE
-13D7  ; [.294D.0020.0002.13D7] # CHEROKEE LETTER DI
-13D8  ; [.294E.0020.0002.13D8] # CHEROKEE LETTER TI
-13D9  ; [.294F.0020.0002.13D9] # CHEROKEE LETTER DO
-13DA  ; [.2950.0020.0002.13DA] # CHEROKEE LETTER DU
-13DB  ; [.2951.0020.0002.13DB] # CHEROKEE LETTER DV
-13DC  ; [.2952.0020.0002.13DC] # CHEROKEE LETTER DLA
-13DD  ; [.2953.0020.0002.13DD] # CHEROKEE LETTER TLA
-13DE  ; [.2954.0020.0002.13DE] # CHEROKEE LETTER TLE
-13DF  ; [.2955.0020.0002.13DF] # CHEROKEE LETTER TLI
-13E0  ; [.2956.0020.0002.13E0] # CHEROKEE LETTER TLO
-13E1  ; [.2957.0020.0002.13E1] # CHEROKEE LETTER TLU
-13E2  ; [.2958.0020.0002.13E2] # CHEROKEE LETTER TLV
-13E3  ; [.2959.0020.0002.13E3] # CHEROKEE LETTER TSA
-13E4  ; [.295A.0020.0002.13E4] # CHEROKEE LETTER TSE
-13E5  ; [.295B.0020.0002.13E5] # CHEROKEE LETTER TSI
-13E6  ; [.295C.0020.0002.13E6] # CHEROKEE LETTER TSO
-13E7  ; [.295D.0020.0002.13E7] # CHEROKEE LETTER TSU
-13E8  ; [.295E.0020.0002.13E8] # CHEROKEE LETTER TSV
-13E9  ; [.295F.0020.0002.13E9] # CHEROKEE LETTER WA
-13EA  ; [.2960.0020.0002.13EA] # CHEROKEE LETTER WE
-13EB  ; [.2961.0020.0002.13EB] # CHEROKEE LETTER WI
-13EC  ; [.2962.0020.0002.13EC] # CHEROKEE LETTER WO
-13ED  ; [.2963.0020.0002.13ED] # CHEROKEE LETTER WU
-13EE  ; [.2964.0020.0002.13EE] # CHEROKEE LETTER WV
-13EF  ; [.2965.0020.0002.13EF] # CHEROKEE LETTER YA
-13F0  ; [.2966.0020.0002.13F0] # CHEROKEE LETTER YE
-13F1  ; [.2967.0020.0002.13F1] # CHEROKEE LETTER YI
-13F2  ; [.2968.0020.0002.13F2] # CHEROKEE LETTER YO
-13F3  ; [.2969.0020.0002.13F3] # CHEROKEE LETTER YU
-13F4  ; [.296A.0020.0002.13F4] # CHEROKEE LETTER YV
-1401  ; [.296B.0020.0002.1401] # CANADIAN SYLLABICS E
-1402  ; [.296C.0020.0002.1402] # CANADIAN SYLLABICS AAI
-1403  ; [.296D.0020.0002.1403] # CANADIAN SYLLABICS I
-1404  ; [.296E.0020.0002.1404] # CANADIAN SYLLABICS II
-1405  ; [.296F.0020.0002.1405] # CANADIAN SYLLABICS O
-1406  ; [.2970.0020.0002.1406] # CANADIAN SYLLABICS OO
-1407  ; [.2971.0020.0002.1407] # CANADIAN SYLLABICS Y-CREE OO
-1408  ; [.2972.0020.0002.1408] # CANADIAN SYLLABICS CARRIER EE
-1409  ; [.2973.0020.0002.1409] # CANADIAN SYLLABICS CARRIER I
-140A  ; [.2974.0020.0002.140A] # CANADIAN SYLLABICS A
-140B  ; [.2975.0020.0002.140B] # CANADIAN SYLLABICS AA
-140C  ; [.2976.0020.0002.140C] # CANADIAN SYLLABICS WE
-140D  ; [.2977.0020.0002.140D] # CANADIAN SYLLABICS WEST-CREE WE
-140E  ; [.2978.0020.0002.140E] # CANADIAN SYLLABICS WI
-140F  ; [.2979.0020.0002.140F] # CANADIAN SYLLABICS WEST-CREE WI
-1410  ; [.297A.0020.0002.1410] # CANADIAN SYLLABICS WII
-1411  ; [.297B.0020.0002.1411] # CANADIAN SYLLABICS WEST-CREE WII
-1412  ; [.297C.0020.0002.1412] # CANADIAN SYLLABICS WO
-1413  ; [.297D.0020.0002.1413] # CANADIAN SYLLABICS WEST-CREE WO
-1414  ; [.297E.0020.0002.1414] # CANADIAN SYLLABICS WOO
-1415  ; [.297F.0020.0002.1415] # CANADIAN SYLLABICS WEST-CREE WOO
-1416  ; [.2980.0020.0002.1416] # CANADIAN SYLLABICS NASKAPI WOO
-1417  ; [.2981.0020.0002.1417] # CANADIAN SYLLABICS WA
-1418  ; [.2982.0020.0002.1418] # CANADIAN SYLLABICS WEST-CREE WA
-1419  ; [.2983.0020.0002.1419] # CANADIAN SYLLABICS WAA
-141A  ; [.2984.0020.0002.141A] # CANADIAN SYLLABICS WEST-CREE WAA
-141B  ; [.2985.0020.0002.141B] # CANADIAN SYLLABICS NASKAPI WAA
-141C  ; [.2986.0020.0002.141C] # CANADIAN SYLLABICS AI
-141D  ; [.2987.0020.0002.141D] # CANADIAN SYLLABICS Y-CREE W
-141E  ; [.2988.0020.0002.141E] # CANADIAN SYLLABICS GLOTTAL STOP
-141F  ; [.2989.0020.0002.141F] # CANADIAN SYLLABICS FINAL ACUTE
-1420  ; [.298A.0020.0002.1420] # CANADIAN SYLLABICS FINAL GRAVE
-1421  ; [.298B.0020.0002.1421] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
-1422  ; [.298C.0020.0002.1422] # CANADIAN SYLLABICS FINAL TOP HALF RING
-1423  ; [.298D.0020.0002.1423] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
-1424  ; [.298E.0020.0002.1424] # CANADIAN SYLLABICS FINAL RING
-1425  ; [.298F.0020.0002.1425] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
-1426  ; [.2990.0020.0002.1426] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
-1427  ; [.2991.0020.0002.1427] # CANADIAN SYLLABICS FINAL MIDDLE DOT
-1428  ; [.2992.0020.0002.1428] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
-1429  ; [.2993.0020.0002.1429] # CANADIAN SYLLABICS FINAL PLUS
-142A  ; [.2994.0020.0002.142A] # CANADIAN SYLLABICS FINAL DOWN TACK
-142B  ; [.2995.0020.0002.142B] # CANADIAN SYLLABICS EN
-142C  ; [.2996.0020.0002.142C] # CANADIAN SYLLABICS IN
-142D  ; [.2997.0020.0002.142D] # CANADIAN SYLLABICS ON
-142E  ; [.2998.0020.0002.142E] # CANADIAN SYLLABICS AN
-142F  ; [.2999.0020.0002.142F] # CANADIAN SYLLABICS PE
-1430  ; [.299A.0020.0002.1430] # CANADIAN SYLLABICS PAAI
-1431  ; [.299B.0020.0002.1431] # CANADIAN SYLLABICS PI
-1432  ; [.299C.0020.0002.1432] # CANADIAN SYLLABICS PII
-1433  ; [.299D.0020.0002.1433] # CANADIAN SYLLABICS PO
-1434  ; [.299E.0020.0002.1434] # CANADIAN SYLLABICS POO
-1435  ; [.299F.0020.0002.1435] # CANADIAN SYLLABICS Y-CREE POO
-1436  ; [.29A0.0020.0002.1436] # CANADIAN SYLLABICS CARRIER HEE
-1437  ; [.29A1.0020.0002.1437] # CANADIAN SYLLABICS CARRIER HI
-1438  ; [.29A2.0020.0002.1438] # CANADIAN SYLLABICS PA
-1439  ; [.29A3.0020.0002.1439] # CANADIAN SYLLABICS PAA
-143A  ; [.29A4.0020.0002.143A] # CANADIAN SYLLABICS PWE
-143B  ; [.29A5.0020.0002.143B] # CANADIAN SYLLABICS WEST-CREE PWE
-143C  ; [.29A6.0020.0002.143C] # CANADIAN SYLLABICS PWI
-143D  ; [.29A7.0020.0002.143D] # CANADIAN SYLLABICS WEST-CREE PWI
-143E  ; [.29A8.0020.0002.143E] # CANADIAN SYLLABICS PWII
-143F  ; [.29A9.0020.0002.143F] # CANADIAN SYLLABICS WEST-CREE PWII
-1440  ; [.29AA.0020.0002.1440] # CANADIAN SYLLABICS PWO
-1441  ; [.29AB.0020.0002.1441] # CANADIAN SYLLABICS WEST-CREE PWO
-1442  ; [.29AC.0020.0002.1442] # CANADIAN SYLLABICS PWOO
-1443  ; [.29AD.0020.0002.1443] # CANADIAN SYLLABICS WEST-CREE PWOO
-1444  ; [.29AE.0020.0002.1444] # CANADIAN SYLLABICS PWA
-1445  ; [.29AF.0020.0002.1445] # CANADIAN SYLLABICS WEST-CREE PWA
-1446  ; [.29B0.0020.0002.1446] # CANADIAN SYLLABICS PWAA
-1447  ; [.29B1.0020.0002.1447] # CANADIAN SYLLABICS WEST-CREE PWAA
-1448  ; [.29B2.0020.0002.1448] # CANADIAN SYLLABICS Y-CREE PWAA
-1449  ; [.29B3.0020.0002.1449] # CANADIAN SYLLABICS P
-144A  ; [.29B4.0020.0002.144A] # CANADIAN SYLLABICS WEST-CREE P
-144B  ; [.29B5.0020.0002.144B] # CANADIAN SYLLABICS CARRIER H
-144C  ; [.29B6.0020.0002.144C] # CANADIAN SYLLABICS TE
-144D  ; [.29B7.0020.0002.144D] # CANADIAN SYLLABICS TAAI
-144E  ; [.29B8.0020.0002.144E] # CANADIAN SYLLABICS TI
-144F  ; [.29B9.0020.0002.144F] # CANADIAN SYLLABICS TII
-1450  ; [.29BA.0020.0002.1450] # CANADIAN SYLLABICS TO
-1451  ; [.29BB.0020.0002.1451] # CANADIAN SYLLABICS TOO
-1452  ; [.29BC.0020.0002.1452] # CANADIAN SYLLABICS Y-CREE TOO
-1453  ; [.29BD.0020.0002.1453] # CANADIAN SYLLABICS CARRIER DEE
-1454  ; [.29BE.0020.0002.1454] # CANADIAN SYLLABICS CARRIER DI
-1455  ; [.29BF.0020.0002.1455] # CANADIAN SYLLABICS TA
-1456  ; [.29C0.0020.0002.1456] # CANADIAN SYLLABICS TAA
-1457  ; [.29C1.0020.0002.1457] # CANADIAN SYLLABICS TWE
-1458  ; [.29C2.0020.0002.1458] # CANADIAN SYLLABICS WEST-CREE TWE
-1459  ; [.29C3.0020.0002.1459] # CANADIAN SYLLABICS TWI
-145A  ; [.29C4.0020.0002.145A] # CANADIAN SYLLABICS WEST-CREE TWI
-145B  ; [.29C5.0020.0002.145B] # CANADIAN SYLLABICS TWII
-145C  ; [.29C6.0020.0002.145C] # CANADIAN SYLLABICS WEST-CREE TWII
-145D  ; [.29C7.0020.0002.145D] # CANADIAN SYLLABICS TWO
-145E  ; [.29C8.0020.0002.145E] # CANADIAN SYLLABICS WEST-CREE TWO
-145F  ; [.29C9.0020.0002.145F] # CANADIAN SYLLABICS TWOO
-1460  ; [.29CA.0020.0002.1460] # CANADIAN SYLLABICS WEST-CREE TWOO
-1461  ; [.29CB.0020.0002.1461] # CANADIAN SYLLABICS TWA
-1462  ; [.29CC.0020.0002.1462] # CANADIAN SYLLABICS WEST-CREE TWA
-1463  ; [.29CD.0020.0002.1463] # CANADIAN SYLLABICS TWAA
-1464  ; [.29CE.0020.0002.1464] # CANADIAN SYLLABICS WEST-CREE TWAA
-1465  ; [.29CF.0020.0002.1465] # CANADIAN SYLLABICS NASKAPI TWAA
-1466  ; [.29D0.0020.0002.1466] # CANADIAN SYLLABICS T
-1467  ; [.29D1.0020.0002.1467] # CANADIAN SYLLABICS TTE
-1468  ; [.29D2.0020.0002.1468] # CANADIAN SYLLABICS TTI
-1469  ; [.29D3.0020.0002.1469] # CANADIAN SYLLABICS TTO
-146A  ; [.29D4.0020.0002.146A] # CANADIAN SYLLABICS TTA
-146B  ; [.29D5.0020.0002.146B] # CANADIAN SYLLABICS KE
-146C  ; [.29D6.0020.0002.146C] # CANADIAN SYLLABICS KAAI
-146D  ; [.29D7.0020.0002.146D] # CANADIAN SYLLABICS KI
-146E  ; [.29D8.0020.0002.146E] # CANADIAN SYLLABICS KII
-146F  ; [.29D9.0020.0002.146F] # CANADIAN SYLLABICS KO
-1470  ; [.29DA.0020.0002.1470] # CANADIAN SYLLABICS KOO
-1471  ; [.29DB.0020.0002.1471] # CANADIAN SYLLABICS Y-CREE KOO
-1472  ; [.29DC.0020.0002.1472] # CANADIAN SYLLABICS KA
-1473  ; [.29DD.0020.0002.1473] # CANADIAN SYLLABICS KAA
-1474  ; [.29DE.0020.0002.1474] # CANADIAN SYLLABICS KWE
-1475  ; [.29DF.0020.0002.1475] # CANADIAN SYLLABICS WEST-CREE KWE
-1476  ; [.29E0.0020.0002.1476] # CANADIAN SYLLABICS KWI
-1477  ; [.29E1.0020.0002.1477] # CANADIAN SYLLABICS WEST-CREE KWI
-1478  ; [.29E2.0020.0002.1478] # CANADIAN SYLLABICS KWII
-1479  ; [.29E3.0020.0002.1479] # CANADIAN SYLLABICS WEST-CREE KWII
-147A  ; [.29E4.0020.0002.147A] # CANADIAN SYLLABICS KWO
-147B  ; [.29E5.0020.0002.147B] # CANADIAN SYLLABICS WEST-CREE KWO
-147C  ; [.29E6.0020.0002.147C] # CANADIAN SYLLABICS KWOO
-147D  ; [.29E7.0020.0002.147D] # CANADIAN SYLLABICS WEST-CREE KWOO
-147E  ; [.29E8.0020.0002.147E] # CANADIAN SYLLABICS KWA
-147F  ; [.29E9.0020.0002.147F] # CANADIAN SYLLABICS WEST-CREE KWA
-1480  ; [.29EA.0020.0002.1480] # CANADIAN SYLLABICS KWAA
-1481  ; [.29EB.0020.0002.1481] # CANADIAN SYLLABICS WEST-CREE KWAA
-1482  ; [.29EC.0020.0002.1482] # CANADIAN SYLLABICS NASKAPI KWAA
-1483  ; [.29ED.0020.0002.1483] # CANADIAN SYLLABICS K
-1484  ; [.29EE.0020.0002.1484] # CANADIAN SYLLABICS KW
-1485  ; [.29EF.0020.0002.1485] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
-1486  ; [.29F0.0020.0002.1486] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
-1487  ; [.29F1.0020.0002.1487] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
-1488  ; [.29F2.0020.0002.1488] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
-1489  ; [.29F3.0020.0002.1489] # CANADIAN SYLLABICS CE
-148A  ; [.29F4.0020.0002.148A] # CANADIAN SYLLABICS CAAI
-148B  ; [.29F5.0020.0002.148B] # CANADIAN SYLLABICS CI
-148C  ; [.29F6.0020.0002.148C] # CANADIAN SYLLABICS CII
-148D  ; [.29F7.0020.0002.148D] # CANADIAN SYLLABICS CO
-148E  ; [.29F8.0020.0002.148E] # CANADIAN SYLLABICS COO
-148F  ; [.29F9.0020.0002.148F] # CANADIAN SYLLABICS Y-CREE COO
-1490  ; [.29FA.0020.0002.1490] # CANADIAN SYLLABICS CA
-1491  ; [.29FB.0020.0002.1491] # CANADIAN SYLLABICS CAA
-1492  ; [.29FC.0020.0002.1492] # CANADIAN SYLLABICS CWE
-1493  ; [.29FD.0020.0002.1493] # CANADIAN SYLLABICS WEST-CREE CWE
-1494  ; [.29FE.0020.0002.1494] # CANADIAN SYLLABICS CWI
-1495  ; [.29FF.0020.0002.1495] # CANADIAN SYLLABICS WEST-CREE CWI
-1496  ; [.2A00.0020.0002.1496] # CANADIAN SYLLABICS CWII
-1497  ; [.2A01.0020.0002.1497] # CANADIAN SYLLABICS WEST-CREE CWII
-1498  ; [.2A02.0020.0002.1498] # CANADIAN SYLLABICS CWO
-1499  ; [.2A03.0020.0002.1499] # CANADIAN SYLLABICS WEST-CREE CWO
-149A  ; [.2A04.0020.0002.149A] # CANADIAN SYLLABICS CWOO
-149B  ; [.2A05.0020.0002.149B] # CANADIAN SYLLABICS WEST-CREE CWOO
-149C  ; [.2A06.0020.0002.149C] # CANADIAN SYLLABICS CWA
-149D  ; [.2A07.0020.0002.149D] # CANADIAN SYLLABICS WEST-CREE CWA
-149E  ; [.2A08.0020.0002.149E] # CANADIAN SYLLABICS CWAA
-149F  ; [.2A09.0020.0002.149F] # CANADIAN SYLLABICS WEST-CREE CWAA
-14A0  ; [.2A0A.0020.0002.14A0] # CANADIAN SYLLABICS NASKAPI CWAA
-14A1  ; [.2A0B.0020.0002.14A1] # CANADIAN SYLLABICS C
-14A2  ; [.2A0C.0020.0002.14A2] # CANADIAN SYLLABICS SAYISI TH
-14A3  ; [.2A0D.0020.0002.14A3] # CANADIAN SYLLABICS ME
-14A4  ; [.2A0E.0020.0002.14A4] # CANADIAN SYLLABICS MAAI
-14A5  ; [.2A0F.0020.0002.14A5] # CANADIAN SYLLABICS MI
-14A6  ; [.2A10.0020.0002.14A6] # CANADIAN SYLLABICS MII
-14A7  ; [.2A11.0020.0002.14A7] # CANADIAN SYLLABICS MO
-14A8  ; [.2A12.0020.0002.14A8] # CANADIAN SYLLABICS MOO
-14A9  ; [.2A13.0020.0002.14A9] # CANADIAN SYLLABICS Y-CREE MOO
-14AA  ; [.2A14.0020.0002.14AA] # CANADIAN SYLLABICS MA
-14AB  ; [.2A15.0020.0002.14AB] # CANADIAN SYLLABICS MAA
-14AC  ; [.2A16.0020.0002.14AC] # CANADIAN SYLLABICS MWE
-14AD  ; [.2A17.0020.0002.14AD] # CANADIAN SYLLABICS WEST-CREE MWE
-14AE  ; [.2A18.0020.0002.14AE] # CANADIAN SYLLABICS MWI
-14AF  ; [.2A19.0020.0002.14AF] # CANADIAN SYLLABICS WEST-CREE MWI
-14B0  ; [.2A1A.0020.0002.14B0] # CANADIAN SYLLABICS MWII
-14B1  ; [.2A1B.0020.0002.14B1] # CANADIAN SYLLABICS WEST-CREE MWII
-14B2  ; [.2A1C.0020.0002.14B2] # CANADIAN SYLLABICS MWO
-14B3  ; [.2A1D.0020.0002.14B3] # CANADIAN SYLLABICS WEST-CREE MWO
-14B4  ; [.2A1E.0020.0002.14B4] # CANADIAN SYLLABICS MWOO
-14B5  ; [.2A1F.0020.0002.14B5] # CANADIAN SYLLABICS WEST-CREE MWOO
-14B6  ; [.2A20.0020.0002.14B6] # CANADIAN SYLLABICS MWA
-14B7  ; [.2A21.0020.0002.14B7] # CANADIAN SYLLABICS WEST-CREE MWA
-14B8  ; [.2A22.0020.0002.14B8] # CANADIAN SYLLABICS MWAA
-14B9  ; [.2A23.0020.0002.14B9] # CANADIAN SYLLABICS WEST-CREE MWAA
-14BA  ; [.2A24.0020.0002.14BA] # CANADIAN SYLLABICS NASKAPI MWAA
-14BB  ; [.2A25.0020.0002.14BB] # CANADIAN SYLLABICS M
-14BC  ; [.2A26.0020.0002.14BC] # CANADIAN SYLLABICS WEST-CREE M
-14BD  ; [.2A27.0020.0002.14BD] # CANADIAN SYLLABICS MH
-14BE  ; [.2A28.0020.0002.14BE] # CANADIAN SYLLABICS ATHAPASCAN M
-14BF  ; [.2A29.0020.0002.14BF] # CANADIAN SYLLABICS SAYISI M
-14C0  ; [.2A2A.0020.0002.14C0] # CANADIAN SYLLABICS NE
-14C1  ; [.2A2B.0020.0002.14C1] # CANADIAN SYLLABICS NAAI
-14C2  ; [.2A2C.0020.0002.14C2] # CANADIAN SYLLABICS NI
-14C3  ; [.2A2D.0020.0002.14C3] # CANADIAN SYLLABICS NII
-14C4  ; [.2A2E.0020.0002.14C4] # CANADIAN SYLLABICS NO
-14C5  ; [.2A2F.0020.0002.14C5] # CANADIAN SYLLABICS NOO
-14C6  ; [.2A30.0020.0002.14C6] # CANADIAN SYLLABICS Y-CREE NOO
-14C7  ; [.2A31.0020.0002.14C7] # CANADIAN SYLLABICS NA
-14C8  ; [.2A32.0020.0002.14C8] # CANADIAN SYLLABICS NAA
-14C9  ; [.2A33.0020.0002.14C9] # CANADIAN SYLLABICS NWE
-14CA  ; [.2A34.0020.0002.14CA] # CANADIAN SYLLABICS WEST-CREE NWE
-14CB  ; [.2A35.0020.0002.14CB] # CANADIAN SYLLABICS NWA
-14CC  ; [.2A36.0020.0002.14CC] # CANADIAN SYLLABICS WEST-CREE NWA
-14CD  ; [.2A37.0020.0002.14CD] # CANADIAN SYLLABICS NWAA
-14CE  ; [.2A38.0020.0002.14CE] # CANADIAN SYLLABICS WEST-CREE NWAA
-14CF  ; [.2A39.0020.0002.14CF] # CANADIAN SYLLABICS NASKAPI NWAA
-14D0  ; [.2A3A.0020.0002.14D0] # CANADIAN SYLLABICS N
-14D1  ; [.2A3B.0020.0002.14D1] # CANADIAN SYLLABICS CARRIER NG
-14D2  ; [.2A3C.0020.0002.14D2] # CANADIAN SYLLABICS NH
-14D3  ; [.2A3D.0020.0002.14D3] # CANADIAN SYLLABICS LE
-14D4  ; [.2A3E.0020.0002.14D4] # CANADIAN SYLLABICS LAAI
-14D5  ; [.2A3F.0020.0002.14D5] # CANADIAN SYLLABICS LI
-14D6  ; [.2A40.0020.0002.14D6] # CANADIAN SYLLABICS LII
-14D7  ; [.2A41.0020.0002.14D7] # CANADIAN SYLLABICS LO
-14D8  ; [.2A42.0020.0002.14D8] # CANADIAN SYLLABICS LOO
-14D9  ; [.2A43.0020.0002.14D9] # CANADIAN SYLLABICS Y-CREE LOO
-14DA  ; [.2A44.0020.0002.14DA] # CANADIAN SYLLABICS LA
-14DB  ; [.2A45.0020.0002.14DB] # CANADIAN SYLLABICS LAA
-14DC  ; [.2A46.0020.0002.14DC] # CANADIAN SYLLABICS LWE
-14DD  ; [.2A47.0020.0002.14DD] # CANADIAN SYLLABICS WEST-CREE LWE
-14DE  ; [.2A48.0020.0002.14DE] # CANADIAN SYLLABICS LWI
-14DF  ; [.2A49.0020.0002.14DF] # CANADIAN SYLLABICS WEST-CREE LWI
-14E0  ; [.2A4A.0020.0002.14E0] # CANADIAN SYLLABICS LWII
-14E1  ; [.2A4B.0020.0002.14E1] # CANADIAN SYLLABICS WEST-CREE LWII
-14E2  ; [.2A4C.0020.0002.14E2] # CANADIAN SYLLABICS LWO
-14E3  ; [.2A4D.0020.0002.14E3] # CANADIAN SYLLABICS WEST-CREE LWO
-14E4  ; [.2A4E.0020.0002.14E4] # CANADIAN SYLLABICS LWOO
-14E5  ; [.2A4F.0020.0002.14E5] # CANADIAN SYLLABICS WEST-CREE LWOO
-14E6  ; [.2A50.0020.0002.14E6] # CANADIAN SYLLABICS LWA
-14E7  ; [.2A51.0020.0002.14E7] # CANADIAN SYLLABICS WEST-CREE LWA
-14E8  ; [.2A52.0020.0002.14E8] # CANADIAN SYLLABICS LWAA
-14E9  ; [.2A53.0020.0002.14E9] # CANADIAN SYLLABICS WEST-CREE LWAA
-14EA  ; [.2A54.0020.0002.14EA] # CANADIAN SYLLABICS L
-14EB  ; [.2A55.0020.0002.14EB] # CANADIAN SYLLABICS WEST-CREE L
-14EC  ; [.2A56.0020.0002.14EC] # CANADIAN SYLLABICS MEDIAL L
-14ED  ; [.2A57.0020.0002.14ED] # CANADIAN SYLLABICS SE
-14EE  ; [.2A58.0020.0002.14EE] # CANADIAN SYLLABICS SAAI
-14EF  ; [.2A59.0020.0002.14EF] # CANADIAN SYLLABICS SI
-14F0  ; [.2A5A.0020.0002.14F0] # CANADIAN SYLLABICS SII
-14F1  ; [.2A5B.0020.0002.14F1] # CANADIAN SYLLABICS SO
-14F2  ; [.2A5C.0020.0002.14F2] # CANADIAN SYLLABICS SOO
-14F3  ; [.2A5D.0020.0002.14F3] # CANADIAN SYLLABICS Y-CREE SOO
-14F4  ; [.2A5E.0020.0002.14F4] # CANADIAN SYLLABICS SA
-14F5  ; [.2A5F.0020.0002.14F5] # CANADIAN SYLLABICS SAA
-14F6  ; [.2A60.0020.0002.14F6] # CANADIAN SYLLABICS SWE
-14F7  ; [.2A61.0020.0002.14F7] # CANADIAN SYLLABICS WEST-CREE SWE
-14F8  ; [.2A62.0020.0002.14F8] # CANADIAN SYLLABICS SWI
-14F9  ; [.2A63.0020.0002.14F9] # CANADIAN SYLLABICS WEST-CREE SWI
-14FA  ; [.2A64.0020.0002.14FA] # CANADIAN SYLLABICS SWII
-14FB  ; [.2A65.0020.0002.14FB] # CANADIAN SYLLABICS WEST-CREE SWII
-14FC  ; [.2A66.0020.0002.14FC] # CANADIAN SYLLABICS SWO
-14FD  ; [.2A67.0020.0002.14FD] # CANADIAN SYLLABICS WEST-CREE SWO
-14FE  ; [.2A68.0020.0002.14FE] # CANADIAN SYLLABICS SWOO
-14FF  ; [.2A69.0020.0002.14FF] # CANADIAN SYLLABICS WEST-CREE SWOO
-1500  ; [.2A6A.0020.0002.1500] # CANADIAN SYLLABICS SWA
-1501  ; [.2A6B.0020.0002.1501] # CANADIAN SYLLABICS WEST-CREE SWA
-1502  ; [.2A6C.0020.0002.1502] # CANADIAN SYLLABICS SWAA
-1503  ; [.2A6D.0020.0002.1503] # CANADIAN SYLLABICS WEST-CREE SWAA
-1504  ; [.2A6E.0020.0002.1504] # CANADIAN SYLLABICS NASKAPI SWAA
-1505  ; [.2A6F.0020.0002.1505] # CANADIAN SYLLABICS S
-1506  ; [.2A70.0020.0002.1506] # CANADIAN SYLLABICS ATHAPASCAN S
-1507  ; [.2A71.0020.0002.1507] # CANADIAN SYLLABICS SW
-1508  ; [.2A72.0020.0002.1508] # CANADIAN SYLLABICS BLACKFOOT S
-1509  ; [.2A73.0020.0002.1509] # CANADIAN SYLLABICS MOOSE-CREE SK
-150A  ; [.2A74.0020.0002.150A] # CANADIAN SYLLABICS NASKAPI SKW
-150B  ; [.2A75.0020.0002.150B] # CANADIAN SYLLABICS NASKAPI S-W
-150C  ; [.2A76.0020.0002.150C] # CANADIAN SYLLABICS NASKAPI SPWA
-150D  ; [.2A77.0020.0002.150D] # CANADIAN SYLLABICS NASKAPI STWA
-150E  ; [.2A78.0020.0002.150E] # CANADIAN SYLLABICS NASKAPI SKWA
-150F  ; [.2A79.0020.0002.150F] # CANADIAN SYLLABICS NASKAPI SCWA
-1510  ; [.2A7A.0020.0002.1510] # CANADIAN SYLLABICS SHE
-1511  ; [.2A7B.0020.0002.1511] # CANADIAN SYLLABICS SHI
-1512  ; [.2A7C.0020.0002.1512] # CANADIAN SYLLABICS SHII
-1513  ; [.2A7D.0020.0002.1513] # CANADIAN SYLLABICS SHO
-1514  ; [.2A7E.0020.0002.1514] # CANADIAN SYLLABICS SHOO
-1515  ; [.2A7F.0020.0002.1515] # CANADIAN SYLLABICS SHA
-1516  ; [.2A80.0020.0002.1516] # CANADIAN SYLLABICS SHAA
-1517  ; [.2A81.0020.0002.1517] # CANADIAN SYLLABICS SHWE
-1518  ; [.2A82.0020.0002.1518] # CANADIAN SYLLABICS WEST-CREE SHWE
-1519  ; [.2A83.0020.0002.1519] # CANADIAN SYLLABICS SHWI
-151A  ; [.2A84.0020.0002.151A] # CANADIAN SYLLABICS WEST-CREE SHWI
-151B  ; [.2A85.0020.0002.151B] # CANADIAN SYLLABICS SHWII
-151C  ; [.2A86.0020.0002.151C] # CANADIAN SYLLABICS WEST-CREE SHWII
-151D  ; [.2A87.0020.0002.151D] # CANADIAN SYLLABICS SHWO
-151E  ; [.2A88.0020.0002.151E] # CANADIAN SYLLABICS WEST-CREE SHWO
-151F  ; [.2A89.0020.0002.151F] # CANADIAN SYLLABICS SHWOO
-1520  ; [.2A8A.0020.0002.1520] # CANADIAN SYLLABICS WEST-CREE SHWOO
-1521  ; [.2A8B.0020.0002.1521] # CANADIAN SYLLABICS SHWA
-1522  ; [.2A8C.0020.0002.1522] # CANADIAN SYLLABICS WEST-CREE SHWA
-1523  ; [.2A8D.0020.0002.1523] # CANADIAN SYLLABICS SHWAA
-1524  ; [.2A8E.0020.0002.1524] # CANADIAN SYLLABICS WEST-CREE SHWAA
-1525  ; [.2A8F.0020.0002.1525] # CANADIAN SYLLABICS SH
-1526  ; [.2A90.0020.0002.1526] # CANADIAN SYLLABICS YE
-1527  ; [.2A91.0020.0002.1527] # CANADIAN SYLLABICS YAAI
-1528  ; [.2A92.0020.0002.1528] # CANADIAN SYLLABICS YI
-1529  ; [.2A93.0020.0002.1529] # CANADIAN SYLLABICS YII
-152A  ; [.2A94.0020.0002.152A] # CANADIAN SYLLABICS YO
-152B  ; [.2A95.0020.0002.152B] # CANADIAN SYLLABICS YOO
-152C  ; [.2A96.0020.0002.152C] # CANADIAN SYLLABICS Y-CREE YOO
-152D  ; [.2A97.0020.0002.152D] # CANADIAN SYLLABICS YA
-152E  ; [.2A98.0020.0002.152E] # CANADIAN SYLLABICS YAA
-152F  ; [.2A99.0020.0002.152F] # CANADIAN SYLLABICS YWE
-1530  ; [.2A9A.0020.0002.1530] # CANADIAN SYLLABICS WEST-CREE YWE
-1531  ; [.2A9B.0020.0002.1531] # CANADIAN SYLLABICS YWI
-1532  ; [.2A9C.0020.0002.1532] # CANADIAN SYLLABICS WEST-CREE YWI
-1533  ; [.2A9D.0020.0002.1533] # CANADIAN SYLLABICS YWII
-1534  ; [.2A9E.0020.0002.1534] # CANADIAN SYLLABICS WEST-CREE YWII
-1535  ; [.2A9F.0020.0002.1535] # CANADIAN SYLLABICS YWO
-1536  ; [.2AA0.0020.0002.1536] # CANADIAN SYLLABICS WEST-CREE YWO
-1537  ; [.2AA1.0020.0002.1537] # CANADIAN SYLLABICS YWOO
-1538  ; [.2AA2.0020.0002.1538] # CANADIAN SYLLABICS WEST-CREE YWOO
-1539  ; [.2AA3.0020.0002.1539] # CANADIAN SYLLABICS YWA
-153A  ; [.2AA4.0020.0002.153A] # CANADIAN SYLLABICS WEST-CREE YWA
-153B  ; [.2AA5.0020.0002.153B] # CANADIAN SYLLABICS YWAA
-153C  ; [.2AA6.0020.0002.153C] # CANADIAN SYLLABICS WEST-CREE YWAA
-153D  ; [.2AA7.0020.0002.153D] # CANADIAN SYLLABICS NASKAPI YWAA
-153E  ; [.2AA8.0020.0002.153E] # CANADIAN SYLLABICS Y
-153F  ; [.2AA9.0020.0002.153F] # CANADIAN SYLLABICS BIBLE-CREE Y
-1540  ; [.2AAA.0020.0002.1540] # CANADIAN SYLLABICS WEST-CREE Y
-1541  ; [.2AAB.0020.0002.1541] # CANADIAN SYLLABICS SAYISI YI
-1542  ; [.2AAC.0020.0002.1542] # CANADIAN SYLLABICS RE
-1543  ; [.2AAD.0020.0002.1543] # CANADIAN SYLLABICS R-CREE RE
-1544  ; [.2AAE.0020.0002.1544] # CANADIAN SYLLABICS WEST-CREE LE
-1545  ; [.2AAF.0020.0002.1545] # CANADIAN SYLLABICS RAAI
-1546  ; [.2AB0.0020.0002.1546] # CANADIAN SYLLABICS RI
-1547  ; [.2AB1.0020.0002.1547] # CANADIAN SYLLABICS RII
-1548  ; [.2AB2.0020.0002.1548] # CANADIAN SYLLABICS RO
-1549  ; [.2AB3.0020.0002.1549] # CANADIAN SYLLABICS ROO
-154A  ; [.2AB4.0020.0002.154A] # CANADIAN SYLLABICS WEST-CREE LO
-154B  ; [.2AB5.0020.0002.154B] # CANADIAN SYLLABICS RA
-154C  ; [.2AB6.0020.0002.154C] # CANADIAN SYLLABICS RAA
-154D  ; [.2AB7.0020.0002.154D] # CANADIAN SYLLABICS WEST-CREE LA
-154E  ; [.2AB8.0020.0002.154E] # CANADIAN SYLLABICS RWAA
-154F  ; [.2AB9.0020.0002.154F] # CANADIAN SYLLABICS WEST-CREE RWAA
-1550  ; [.2ABA.0020.0002.1550] # CANADIAN SYLLABICS R
-1551  ; [.2ABB.0020.0002.1551] # CANADIAN SYLLABICS WEST-CREE R
-1552  ; [.2ABC.0020.0002.1552] # CANADIAN SYLLABICS MEDIAL R
-1553  ; [.2ABD.0020.0002.1553] # CANADIAN SYLLABICS FE
-1554  ; [.2ABE.0020.0002.1554] # CANADIAN SYLLABICS FAAI
-1555  ; [.2ABF.0020.0002.1555] # CANADIAN SYLLABICS FI
-1556  ; [.2AC0.0020.0002.1556] # CANADIAN SYLLABICS FII
-1557  ; [.2AC1.0020.0002.1557] # CANADIAN SYLLABICS FO
-1558  ; [.2AC2.0020.0002.1558] # CANADIAN SYLLABICS FOO
-1559  ; [.2AC3.0020.0002.1559] # CANADIAN SYLLABICS FA
-155A  ; [.2AC4.0020.0002.155A] # CANADIAN SYLLABICS FAA
-155B  ; [.2AC5.0020.0002.155B] # CANADIAN SYLLABICS FWAA
-155C  ; [.2AC6.0020.0002.155C] # CANADIAN SYLLABICS WEST-CREE FWAA
-155D  ; [.2AC7.0020.0002.155D] # CANADIAN SYLLABICS F
-155E  ; [.2AC8.0020.0002.155E] # CANADIAN SYLLABICS THE
-155F  ; [.2AC9.0020.0002.155F] # CANADIAN SYLLABICS N-CREE THE
-1560  ; [.2ACA.0020.0002.1560] # CANADIAN SYLLABICS THI
-1561  ; [.2ACB.0020.0002.1561] # CANADIAN SYLLABICS N-CREE THI
-1562  ; [.2ACC.0020.0002.1562] # CANADIAN SYLLABICS THII
-1563  ; [.2ACD.0020.0002.1563] # CANADIAN SYLLABICS N-CREE THII
-1564  ; [.2ACE.0020.0002.1564] # CANADIAN SYLLABICS THO
-1565  ; [.2ACF.0020.0002.1565] # CANADIAN SYLLABICS THOO
-1566  ; [.2AD0.0020.0002.1566] # CANADIAN SYLLABICS THA
-1567  ; [.2AD1.0020.0002.1567] # CANADIAN SYLLABICS THAA
-1568  ; [.2AD2.0020.0002.1568] # CANADIAN SYLLABICS THWAA
-1569  ; [.2AD3.0020.0002.1569] # CANADIAN SYLLABICS WEST-CREE THWAA
-156A  ; [.2AD4.0020.0002.156A] # CANADIAN SYLLABICS TH
-156B  ; [.2AD5.0020.0002.156B] # CANADIAN SYLLABICS TTHE
-156C  ; [.2AD6.0020.0002.156C] # CANADIAN SYLLABICS TTHI
-156D  ; [.2AD7.0020.0002.156D] # CANADIAN SYLLABICS TTHO
-156E  ; [.2AD8.0020.0002.156E] # CANADIAN SYLLABICS TTHA
-156F  ; [.2AD9.0020.0002.156F] # CANADIAN SYLLABICS TTH
-1570  ; [.2ADA.0020.0002.1570] # CANADIAN SYLLABICS TYE
-1571  ; [.2ADB.0020.0002.1571] # CANADIAN SYLLABICS TYI
-1572  ; [.2ADC.0020.0002.1572] # CANADIAN SYLLABICS TYO
-1573  ; [.2ADD.0020.0002.1573] # CANADIAN SYLLABICS TYA
-1574  ; [.2ADE.0020.0002.1574] # CANADIAN SYLLABICS NUNAVIK HE
-1575  ; [.2ADF.0020.0002.1575] # CANADIAN SYLLABICS NUNAVIK HI
-1576  ; [.2AE0.0020.0002.1576] # CANADIAN SYLLABICS NUNAVIK HII
-1577  ; [.2AE1.0020.0002.1577] # CANADIAN SYLLABICS NUNAVIK HO
-1578  ; [.2AE2.0020.0002.1578] # CANADIAN SYLLABICS NUNAVIK HOO
-1579  ; [.2AE3.0020.0002.1579] # CANADIAN SYLLABICS NUNAVIK HA
-157A  ; [.2AE4.0020.0002.157A] # CANADIAN SYLLABICS NUNAVIK HAA
-157B  ; [.2AE5.0020.0002.157B] # CANADIAN SYLLABICS NUNAVIK H
-157D  ; [.2AE6.0020.0002.157D] # CANADIAN SYLLABICS HK
-166F  ; [.2AE7.0020.0002.166F] # CANADIAN SYLLABICS QAI
-157E  ; [.2AE8.0020.0002.157E] # CANADIAN SYLLABICS QAAI
-157F  ; [.2AE9.0020.0002.157F] # CANADIAN SYLLABICS QI
-1580  ; [.2AEA.0020.0002.1580] # CANADIAN SYLLABICS QII
-1581  ; [.2AEB.0020.0002.1581] # CANADIAN SYLLABICS QO
-1582  ; [.2AEC.0020.0002.1582] # CANADIAN SYLLABICS QOO
-1583  ; [.2AED.0020.0002.1583] # CANADIAN SYLLABICS QA
-1584  ; [.2AEE.0020.0002.1584] # CANADIAN SYLLABICS QAA
-1585  ; [.2AEF.0020.0002.1585] # CANADIAN SYLLABICS Q
-1586  ; [.2AF0.0020.0002.1586] # CANADIAN SYLLABICS TLHE
-1587  ; [.2AF1.0020.0002.1587] # CANADIAN SYLLABICS TLHI
-1588  ; [.2AF2.0020.0002.1588] # CANADIAN SYLLABICS TLHO
-1589  ; [.2AF3.0020.0002.1589] # CANADIAN SYLLABICS TLHA
-158A  ; [.2AF4.0020.0002.158A] # CANADIAN SYLLABICS WEST-CREE RE
-158B  ; [.2AF5.0020.0002.158B] # CANADIAN SYLLABICS WEST-CREE RI
-158C  ; [.2AF6.0020.0002.158C] # CANADIAN SYLLABICS WEST-CREE RO
-158D  ; [.2AF7.0020.0002.158D] # CANADIAN SYLLABICS WEST-CREE RA
-1670  ; [.2AF8.0020.0002.1670] # CANADIAN SYLLABICS NGAI
-158E  ; [.2AF9.0020.0002.158E] # CANADIAN SYLLABICS NGAAI
-158F  ; [.2AFA.0020.0002.158F] # CANADIAN SYLLABICS NGI
-1590  ; [.2AFB.0020.0002.1590] # CANADIAN SYLLABICS NGII
-1591  ; [.2AFC.0020.0002.1591] # CANADIAN SYLLABICS NGO
-1592  ; [.2AFD.0020.0002.1592] # CANADIAN SYLLABICS NGOO
-1593  ; [.2AFE.0020.0002.1593] # CANADIAN SYLLABICS NGA
-1594  ; [.2AFF.0020.0002.1594] # CANADIAN SYLLABICS NGAA
-1595  ; [.2B00.0020.0002.1595] # CANADIAN SYLLABICS NG
-1671  ; [.2B01.0020.0002.1671] # CANADIAN SYLLABICS NNGI
-1672  ; [.2B02.0020.0002.1672] # CANADIAN SYLLABICS NNGII
-1673  ; [.2B03.0020.0002.1673] # CANADIAN SYLLABICS NNGO
-1674  ; [.2B04.0020.0002.1674] # CANADIAN SYLLABICS NNGOO
-1675  ; [.2B05.0020.0002.1675] # CANADIAN SYLLABICS NNGA
-1676  ; [.2B06.0020.0002.1676] # CANADIAN SYLLABICS NNGAA
-1596  ; [.2B07.0020.0002.1596] # CANADIAN SYLLABICS NNG
-1597  ; [.2B08.0020.0002.1597] # CANADIAN SYLLABICS SAYISI SHE
-1598  ; [.2B09.0020.0002.1598] # CANADIAN SYLLABICS SAYISI SHI
-1599  ; [.2B0A.0020.0002.1599] # CANADIAN SYLLABICS SAYISI SHO
-159A  ; [.2B0B.0020.0002.159A] # CANADIAN SYLLABICS SAYISI SHA
-159B  ; [.2B0C.0020.0002.159B] # CANADIAN SYLLABICS WOODS-CREE THE
-159C  ; [.2B0D.0020.0002.159C] # CANADIAN SYLLABICS WOODS-CREE THI
-159D  ; [.2B0E.0020.0002.159D] # CANADIAN SYLLABICS WOODS-CREE THO
-159E  ; [.2B0F.0020.0002.159E] # CANADIAN SYLLABICS WOODS-CREE THA
-159F  ; [.2B10.0020.0002.159F] # CANADIAN SYLLABICS WOODS-CREE TH
-15A0  ; [.2B11.0020.0002.15A0] # CANADIAN SYLLABICS LHI
-15A1  ; [.2B12.0020.0002.15A1] # CANADIAN SYLLABICS LHII
-15A2  ; [.2B13.0020.0002.15A2] # CANADIAN SYLLABICS LHO
-15A3  ; [.2B14.0020.0002.15A3] # CANADIAN SYLLABICS LHOO
-15A4  ; [.2B15.0020.0002.15A4] # CANADIAN SYLLABICS LHA
-15A5  ; [.2B16.0020.0002.15A5] # CANADIAN SYLLABICS LHAA
-15A6  ; [.2B17.0020.0002.15A6] # CANADIAN SYLLABICS LH
-157C  ; [.2B18.0020.0002.157C] # CANADIAN SYLLABICS NUNAVUT H
-15A7  ; [.2B19.0020.0002.15A7] # CANADIAN SYLLABICS TH-CREE THE
-15A8  ; [.2B1A.0020.0002.15A8] # CANADIAN SYLLABICS TH-CREE THI
-15A9  ; [.2B1B.0020.0002.15A9] # CANADIAN SYLLABICS TH-CREE THII
-15AA  ; [.2B1C.0020.0002.15AA] # CANADIAN SYLLABICS TH-CREE THO
-15AB  ; [.2B1D.0020.0002.15AB] # CANADIAN SYLLABICS TH-CREE THOO
-15AC  ; [.2B1E.0020.0002.15AC] # CANADIAN SYLLABICS TH-CREE THA
-15AD  ; [.2B1F.0020.0002.15AD] # CANADIAN SYLLABICS TH-CREE THAA
-15AE  ; [.2B20.0020.0002.15AE] # CANADIAN SYLLABICS TH-CREE TH
-15AF  ; [.2B21.0020.0002.15AF] # CANADIAN SYLLABICS AIVILIK B
-15B0  ; [.2B22.0020.0002.15B0] # CANADIAN SYLLABICS BLACKFOOT E
-15B1  ; [.2B23.0020.0002.15B1] # CANADIAN SYLLABICS BLACKFOOT I
-15B2  ; [.2B24.0020.0002.15B2] # CANADIAN SYLLABICS BLACKFOOT O
-15B3  ; [.2B25.0020.0002.15B3] # CANADIAN SYLLABICS BLACKFOOT A
-15B4  ; [.2B26.0020.0002.15B4] # CANADIAN SYLLABICS BLACKFOOT WE
-15B5  ; [.2B27.0020.0002.15B5] # CANADIAN SYLLABICS BLACKFOOT WI
-15B6  ; [.2B28.0020.0002.15B6] # CANADIAN SYLLABICS BLACKFOOT WO
-15B7  ; [.2B29.0020.0002.15B7] # CANADIAN SYLLABICS BLACKFOOT WA
-15B8  ; [.2B2A.0020.0002.15B8] # CANADIAN SYLLABICS BLACKFOOT NE
-15B9  ; [.2B2B.0020.0002.15B9] # CANADIAN SYLLABICS BLACKFOOT NI
-15BA  ; [.2B2C.0020.0002.15BA] # CANADIAN SYLLABICS BLACKFOOT NO
-15BB  ; [.2B2D.0020.0002.15BB] # CANADIAN SYLLABICS BLACKFOOT NA
-15BC  ; [.2B2E.0020.0002.15BC] # CANADIAN SYLLABICS BLACKFOOT KE
-15BD  ; [.2B2F.0020.0002.15BD] # CANADIAN SYLLABICS BLACKFOOT KI
-15BE  ; [.2B30.0020.0002.15BE] # CANADIAN SYLLABICS BLACKFOOT KO
-15BF  ; [.2B31.0020.0002.15BF] # CANADIAN SYLLABICS BLACKFOOT KA
-15C0  ; [.2B32.0020.0002.15C0] # CANADIAN SYLLABICS SAYISI HE
-15C1  ; [.2B33.0020.0002.15C1] # CANADIAN SYLLABICS SAYISI HI
-15C2  ; [.2B34.0020.0002.15C2] # CANADIAN SYLLABICS SAYISI HO
-15C3  ; [.2B35.0020.0002.15C3] # CANADIAN SYLLABICS SAYISI HA
-15C4  ; [.2B36.0020.0002.15C4] # CANADIAN SYLLABICS CARRIER GHU
-15C5  ; [.2B37.0020.0002.15C5] # CANADIAN SYLLABICS CARRIER GHO
-15C6  ; [.2B38.0020.0002.15C6] # CANADIAN SYLLABICS CARRIER GHE
-15C7  ; [.2B39.0020.0002.15C7] # CANADIAN SYLLABICS CARRIER GHEE
-15C8  ; [.2B3A.0020.0002.15C8] # CANADIAN SYLLABICS CARRIER GHI
-15C9  ; [.2B3B.0020.0002.15C9] # CANADIAN SYLLABICS CARRIER GHA
-15CA  ; [.2B3C.0020.0002.15CA] # CANADIAN SYLLABICS CARRIER RU
-15CB  ; [.2B3D.0020.0002.15CB] # CANADIAN SYLLABICS CARRIER RO
-15CC  ; [.2B3E.0020.0002.15CC] # CANADIAN SYLLABICS CARRIER RE
-15CD  ; [.2B3F.0020.0002.15CD] # CANADIAN SYLLABICS CARRIER REE
-15CE  ; [.2B40.0020.0002.15CE] # CANADIAN SYLLABICS CARRIER RI
-15CF  ; [.2B41.0020.0002.15CF] # CANADIAN SYLLABICS CARRIER RA
-15D0  ; [.2B42.0020.0002.15D0] # CANADIAN SYLLABICS CARRIER WU
-15D1  ; [.2B43.0020.0002.15D1] # CANADIAN SYLLABICS CARRIER WO
-15D2  ; [.2B44.0020.0002.15D2] # CANADIAN SYLLABICS CARRIER WE
-15D3  ; [.2B45.0020.0002.15D3] # CANADIAN SYLLABICS CARRIER WEE
-15D4  ; [.2B46.0020.0002.15D4] # CANADIAN SYLLABICS CARRIER WI
-15D5  ; [.2B47.0020.0002.15D5] # CANADIAN SYLLABICS CARRIER WA
-15D6  ; [.2B48.0020.0002.15D6] # CANADIAN SYLLABICS CARRIER HWU
-15D7  ; [.2B49.0020.0002.15D7] # CANADIAN SYLLABICS CARRIER HWO
-15D8  ; [.2B4A.0020.0002.15D8] # CANADIAN SYLLABICS CARRIER HWE
-15D9  ; [.2B4B.0020.0002.15D9] # CANADIAN SYLLABICS CARRIER HWEE
-15DA  ; [.2B4C.0020.0002.15DA] # CANADIAN SYLLABICS CARRIER HWI
-15DB  ; [.2B4D.0020.0002.15DB] # CANADIAN SYLLABICS CARRIER HWA
-15DC  ; [.2B4E.0020.0002.15DC] # CANADIAN SYLLABICS CARRIER THU
-15DD  ; [.2B4F.0020.0002.15DD] # CANADIAN SYLLABICS CARRIER THO
-15DE  ; [.2B50.0020.0002.15DE] # CANADIAN SYLLABICS CARRIER THE
-15DF  ; [.2B51.0020.0002.15DF] # CANADIAN SYLLABICS CARRIER THEE
-15E0  ; [.2B52.0020.0002.15E0] # CANADIAN SYLLABICS CARRIER THI
-15E1  ; [.2B53.0020.0002.15E1] # CANADIAN SYLLABICS CARRIER THA
-15E2  ; [.2B54.0020.0002.15E2] # CANADIAN SYLLABICS CARRIER TTU
-15E3  ; [.2B55.0020.0002.15E3] # CANADIAN SYLLABICS CARRIER TTO
-15E4  ; [.2B56.0020.0002.15E4] # CANADIAN SYLLABICS CARRIER TTE
-15E5  ; [.2B57.0020.0002.15E5] # CANADIAN SYLLABICS CARRIER TTEE
-15E6  ; [.2B58.0020.0002.15E6] # CANADIAN SYLLABICS CARRIER TTI
-15E7  ; [.2B59.0020.0002.15E7] # CANADIAN SYLLABICS CARRIER TTA
-15E8  ; [.2B5A.0020.0002.15E8] # CANADIAN SYLLABICS CARRIER PU
-15E9  ; [.2B5B.0020.0002.15E9] # CANADIAN SYLLABICS CARRIER PO
-15EA  ; [.2B5C.0020.0002.15EA] # CANADIAN SYLLABICS CARRIER PE
-15EB  ; [.2B5D.0020.0002.15EB] # CANADIAN SYLLABICS CARRIER PEE
-15EC  ; [.2B5E.0020.0002.15EC] # CANADIAN SYLLABICS CARRIER PI
-15ED  ; [.2B5F.0020.0002.15ED] # CANADIAN SYLLABICS CARRIER PA
-15EE  ; [.2B60.0020.0002.15EE] # CANADIAN SYLLABICS CARRIER P
-15EF  ; [.2B61.0020.0002.15EF] # CANADIAN SYLLABICS CARRIER GU
-15F0  ; [.2B62.0020.0002.15F0] # CANADIAN SYLLABICS CARRIER GO
-15F1  ; [.2B63.0020.0002.15F1] # CANADIAN SYLLABICS CARRIER GE
-15F2  ; [.2B64.0020.0002.15F2] # CANADIAN SYLLABICS CARRIER GEE
-15F3  ; [.2B65.0020.0002.15F3] # CANADIAN SYLLABICS CARRIER GI
-15F4  ; [.2B66.0020.0002.15F4] # CANADIAN SYLLABICS CARRIER GA
-15F5  ; [.2B67.0020.0002.15F5] # CANADIAN SYLLABICS CARRIER KHU
-15F6  ; [.2B68.0020.0002.15F6] # CANADIAN SYLLABICS CARRIER KHO
-15F7  ; [.2B69.0020.0002.15F7] # CANADIAN SYLLABICS CARRIER KHE
-15F8  ; [.2B6A.0020.0002.15F8] # CANADIAN SYLLABICS CARRIER KHEE
-15F9  ; [.2B6B.0020.0002.15F9] # CANADIAN SYLLABICS CARRIER KHI
-15FA  ; [.2B6C.0020.0002.15FA] # CANADIAN SYLLABICS CARRIER KHA
-15FB  ; [.2B6D.0020.0002.15FB] # CANADIAN SYLLABICS CARRIER KKU
-15FC  ; [.2B6E.0020.0002.15FC] # CANADIAN SYLLABICS CARRIER KKO
-15FD  ; [.2B6F.0020.0002.15FD] # CANADIAN SYLLABICS CARRIER KKE
-15FE  ; [.2B70.0020.0002.15FE] # CANADIAN SYLLABICS CARRIER KKEE
-15FF  ; [.2B71.0020.0002.15FF] # CANADIAN SYLLABICS CARRIER KKI
-1600  ; [.2B72.0020.0002.1600] # CANADIAN SYLLABICS CARRIER KKA
-1601  ; [.2B73.0020.0002.1601] # CANADIAN SYLLABICS CARRIER KK
-1602  ; [.2B74.0020.0002.1602] # CANADIAN SYLLABICS CARRIER NU
-1603  ; [.2B75.0020.0002.1603] # CANADIAN SYLLABICS CARRIER NO
-1604  ; [.2B76.0020.0002.1604] # CANADIAN SYLLABICS CARRIER NE
-1605  ; [.2B77.0020.0002.1605] # CANADIAN SYLLABICS CARRIER NEE
-1606  ; [.2B78.0020.0002.1606] # CANADIAN SYLLABICS CARRIER NI
-1607  ; [.2B79.0020.0002.1607] # CANADIAN SYLLABICS CARRIER NA
-1608  ; [.2B7A.0020.0002.1608] # CANADIAN SYLLABICS CARRIER MU
-1609  ; [.2B7B.0020.0002.1609] # CANADIAN SYLLABICS CARRIER MO
-160A  ; [.2B7C.0020.0002.160A] # CANADIAN SYLLABICS CARRIER ME
-160B  ; [.2B7D.0020.0002.160B] # CANADIAN SYLLABICS CARRIER MEE
-160C  ; [.2B7E.0020.0002.160C] # CANADIAN SYLLABICS CARRIER MI
-160D  ; [.2B7F.0020.0002.160D] # CANADIAN SYLLABICS CARRIER MA
-160E  ; [.2B80.0020.0002.160E] # CANADIAN SYLLABICS CARRIER YU
-160F  ; [.2B81.0020.0002.160F] # CANADIAN SYLLABICS CARRIER YO
-1610  ; [.2B82.0020.0002.1610] # CANADIAN SYLLABICS CARRIER YE
-1611  ; [.2B83.0020.0002.1611] # CANADIAN SYLLABICS CARRIER YEE
-1612  ; [.2B84.0020.0002.1612] # CANADIAN SYLLABICS CARRIER YI
-1613  ; [.2B85.0020.0002.1613] # CANADIAN SYLLABICS CARRIER YA
-1614  ; [.2B86.0020.0002.1614] # CANADIAN SYLLABICS CARRIER JU
-1615  ; [.2B87.0020.0002.1615] # CANADIAN SYLLABICS SAYISI JU
-1616  ; [.2B88.0020.0002.1616] # CANADIAN SYLLABICS CARRIER JO
-1617  ; [.2B89.0020.0002.1617] # CANADIAN SYLLABICS CARRIER JE
-1618  ; [.2B8A.0020.0002.1618] # CANADIAN SYLLABICS CARRIER JEE
-1619  ; [.2B8B.0020.0002.1619] # CANADIAN SYLLABICS CARRIER JI
-161A  ; [.2B8C.0020.0002.161A] # CANADIAN SYLLABICS SAYISI JI
-161B  ; [.2B8D.0020.0002.161B] # CANADIAN SYLLABICS CARRIER JA
-161C  ; [.2B8E.0020.0002.161C] # CANADIAN SYLLABICS CARRIER JJU
-161D  ; [.2B8F.0020.0002.161D] # CANADIAN SYLLABICS CARRIER JJO
-161E  ; [.2B90.0020.0002.161E] # CANADIAN SYLLABICS CARRIER JJE
-161F  ; [.2B91.0020.0002.161F] # CANADIAN SYLLABICS CARRIER JJEE
-1620  ; [.2B92.0020.0002.1620] # CANADIAN SYLLABICS CARRIER JJI
-1621  ; [.2B93.0020.0002.1621] # CANADIAN SYLLABICS CARRIER JJA
-1622  ; [.2B94.0020.0002.1622] # CANADIAN SYLLABICS CARRIER LU
-1623  ; [.2B95.0020.0002.1623] # CANADIAN SYLLABICS CARRIER LO
-1624  ; [.2B96.0020.0002.1624] # CANADIAN SYLLABICS CARRIER LE
-1625  ; [.2B97.0020.0002.1625] # CANADIAN SYLLABICS CARRIER LEE
-1626  ; [.2B98.0020.0002.1626] # CANADIAN SYLLABICS CARRIER LI
-1627  ; [.2B99.0020.0002.1627] # CANADIAN SYLLABICS CARRIER LA
-1628  ; [.2B9A.0020.0002.1628] # CANADIAN SYLLABICS CARRIER DLU
-1629  ; [.2B9B.0020.0002.1629] # CANADIAN SYLLABICS CARRIER DLO
-162A  ; [.2B9C.0020.0002.162A] # CANADIAN SYLLABICS CARRIER DLE
-162B  ; [.2B9D.0020.0002.162B] # CANADIAN SYLLABICS CARRIER DLEE
-162C  ; [.2B9E.0020.0002.162C] # CANADIAN SYLLABICS CARRIER DLI
-162D  ; [.2B9F.0020.0002.162D] # CANADIAN SYLLABICS CARRIER DLA
-162E  ; [.2BA0.0020.0002.162E] # CANADIAN SYLLABICS CARRIER LHU
-162F  ; [.2BA1.0020.0002.162F] # CANADIAN SYLLABICS CARRIER LHO
-1630  ; [.2BA2.0020.0002.1630] # CANADIAN SYLLABICS CARRIER LHE
-1631  ; [.2BA3.0020.0002.1631] # CANADIAN SYLLABICS CARRIER LHEE
-1632  ; [.2BA4.0020.0002.1632] # CANADIAN SYLLABICS CARRIER LHI
-1633  ; [.2BA5.0020.0002.1633] # CANADIAN SYLLABICS CARRIER LHA
-1634  ; [.2BA6.0020.0002.1634] # CANADIAN SYLLABICS CARRIER TLHU
-1635  ; [.2BA7.0020.0002.1635] # CANADIAN SYLLABICS CARRIER TLHO
-1636  ; [.2BA8.0020.0002.1636] # CANADIAN SYLLABICS CARRIER TLHE
-1637  ; [.2BA9.0020.0002.1637] # CANADIAN SYLLABICS CARRIER TLHEE
-1638  ; [.2BAA.0020.0002.1638] # CANADIAN SYLLABICS CARRIER TLHI
-1639  ; [.2BAB.0020.0002.1639] # CANADIAN SYLLABICS CARRIER TLHA
-163A  ; [.2BAC.0020.0002.163A] # CANADIAN SYLLABICS CARRIER TLU
-163B  ; [.2BAD.0020.0002.163B] # CANADIAN SYLLABICS CARRIER TLO
-163C  ; [.2BAE.0020.0002.163C] # CANADIAN SYLLABICS CARRIER TLE
-163D  ; [.2BAF.0020.0002.163D] # CANADIAN SYLLABICS CARRIER TLEE
-163E  ; [.2BB0.0020.0002.163E] # CANADIAN SYLLABICS CARRIER TLI
-163F  ; [.2BB1.0020.0002.163F] # CANADIAN SYLLABICS CARRIER TLA
-1640  ; [.2BB2.0020.0002.1640] # CANADIAN SYLLABICS CARRIER ZU
-1641  ; [.2BB3.0020.0002.1641] # CANADIAN SYLLABICS CARRIER ZO
-1642  ; [.2BB4.0020.0002.1642] # CANADIAN SYLLABICS CARRIER ZE
-1643  ; [.2BB5.0020.0002.1643] # CANADIAN SYLLABICS CARRIER ZEE
-1644  ; [.2BB6.0020.0002.1644] # CANADIAN SYLLABICS CARRIER ZI
-1645  ; [.2BB7.0020.0002.1645] # CANADIAN SYLLABICS CARRIER ZA
-1646  ; [.2BB8.0020.0002.1646] # CANADIAN SYLLABICS CARRIER Z
-1647  ; [.2BB9.0020.0002.1647] # CANADIAN SYLLABICS CARRIER INITIAL Z
-1648  ; [.2BBA.0020.0002.1648] # CANADIAN SYLLABICS CARRIER DZU
-1649  ; [.2BBB.0020.0002.1649] # CANADIAN SYLLABICS CARRIER DZO
-164A  ; [.2BBC.0020.0002.164A] # CANADIAN SYLLABICS CARRIER DZE
-164B  ; [.2BBD.0020.0002.164B] # CANADIAN SYLLABICS CARRIER DZEE
-164C  ; [.2BBE.0020.0002.164C] # CANADIAN SYLLABICS CARRIER DZI
-164D  ; [.2BBF.0020.0002.164D] # CANADIAN SYLLABICS CARRIER DZA
-164E  ; [.2BC0.0020.0002.164E] # CANADIAN SYLLABICS CARRIER SU
-164F  ; [.2BC1.0020.0002.164F] # CANADIAN SYLLABICS CARRIER SO
-1650  ; [.2BC2.0020.0002.1650] # CANADIAN SYLLABICS CARRIER SE
-1651  ; [.2BC3.0020.0002.1651] # CANADIAN SYLLABICS CARRIER SEE
-1652  ; [.2BC4.0020.0002.1652] # CANADIAN SYLLABICS CARRIER SI
-1653  ; [.2BC5.0020.0002.1653] # CANADIAN SYLLABICS CARRIER SA
-1654  ; [.2BC6.0020.0002.1654] # CANADIAN SYLLABICS CARRIER SHU
-1655  ; [.2BC7.0020.0002.1655] # CANADIAN SYLLABICS CARRIER SHO
-1656  ; [.2BC8.0020.0002.1656] # CANADIAN SYLLABICS CARRIER SHE
-1657  ; [.2BC9.0020.0002.1657] # CANADIAN SYLLABICS CARRIER SHEE
-1658  ; [.2BCA.0020.0002.1658] # CANADIAN SYLLABICS CARRIER SHI
-1659  ; [.2BCB.0020.0002.1659] # CANADIAN SYLLABICS CARRIER SHA
-165A  ; [.2BCC.0020.0002.165A] # CANADIAN SYLLABICS CARRIER SH
-165B  ; [.2BCD.0020.0002.165B] # CANADIAN SYLLABICS CARRIER TSU
-165C  ; [.2BCE.0020.0002.165C] # CANADIAN SYLLABICS CARRIER TSO
-165D  ; [.2BCF.0020.0002.165D] # CANADIAN SYLLABICS CARRIER TSE
-165E  ; [.2BD0.0020.0002.165E] # CANADIAN SYLLABICS CARRIER TSEE
-165F  ; [.2BD1.0020.0002.165F] # CANADIAN SYLLABICS CARRIER TSI
-1660  ; [.2BD2.0020.0002.1660] # CANADIAN SYLLABICS CARRIER TSA
-1661  ; [.2BD3.0020.0002.1661] # CANADIAN SYLLABICS CARRIER CHU
-1662  ; [.2BD4.0020.0002.1662] # CANADIAN SYLLABICS CARRIER CHO
-1663  ; [.2BD5.0020.0002.1663] # CANADIAN SYLLABICS CARRIER CHE
-1664  ; [.2BD6.0020.0002.1664] # CANADIAN SYLLABICS CARRIER CHEE
-1665  ; [.2BD7.0020.0002.1665] # CANADIAN SYLLABICS CARRIER CHI
-1666  ; [.2BD8.0020.0002.1666] # CANADIAN SYLLABICS CARRIER CHA
-1667  ; [.2BD9.0020.0002.1667] # CANADIAN SYLLABICS CARRIER TTSU
-1668  ; [.2BDA.0020.0002.1668] # CANADIAN SYLLABICS CARRIER TTSO
-1669  ; [.2BDB.0020.0002.1669] # CANADIAN SYLLABICS CARRIER TTSE
-166A  ; [.2BDC.0020.0002.166A] # CANADIAN SYLLABICS CARRIER TTSEE
-166B  ; [.2BDD.0020.0002.166B] # CANADIAN SYLLABICS CARRIER TTSI
-166C  ; [.2BDE.0020.0002.166C] # CANADIAN SYLLABICS CARRIER TTSA
-1677  ; [.2BDF.0020.0002.1677] # CANADIAN SYLLABICS WOODS-CREE THWEE
-1678  ; [.2BE0.0020.0002.1678] # CANADIAN SYLLABICS WOODS-CREE THWI
-1679  ; [.2BE1.0020.0002.1679] # CANADIAN SYLLABICS WOODS-CREE THWII
-167A  ; [.2BE2.0020.0002.167A] # CANADIAN SYLLABICS WOODS-CREE THWO
-167B  ; [.2BE3.0020.0002.167B] # CANADIAN SYLLABICS WOODS-CREE THWOO
-167C  ; [.2BE4.0020.0002.167C] # CANADIAN SYLLABICS WOODS-CREE THWA
-167D  ; [.2BE5.0020.0002.167D] # CANADIAN SYLLABICS WOODS-CREE THWAA
-167E  ; [.2BE6.0020.0002.167E] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
-167F  ; [.2BE7.0020.0002.167F] # CANADIAN SYLLABICS BLACKFOOT W
-18B0  ; [.2BE8.0020.0002.18B0] # CANADIAN SYLLABICS OY
-18B1  ; [.2BE9.0020.0002.18B1] # CANADIAN SYLLABICS AY
-18B2  ; [.2BEA.0020.0002.18B2] # CANADIAN SYLLABICS AAY
-18B3  ; [.2BEB.0020.0002.18B3] # CANADIAN SYLLABICS WAY
-18B4  ; [.2BEC.0020.0002.18B4] # CANADIAN SYLLABICS POY
-18B5  ; [.2BED.0020.0002.18B5] # CANADIAN SYLLABICS PAY
-18B6  ; [.2BEE.0020.0002.18B6] # CANADIAN SYLLABICS PWOY
-18B7  ; [.2BEF.0020.0002.18B7] # CANADIAN SYLLABICS TAY
-18B8  ; [.2BF0.0020.0002.18B8] # CANADIAN SYLLABICS KAY
-18B9  ; [.2BF1.0020.0002.18B9] # CANADIAN SYLLABICS KWAY
-18BA  ; [.2BF2.0020.0002.18BA] # CANADIAN SYLLABICS MAY
-18BB  ; [.2BF3.0020.0002.18BB] # CANADIAN SYLLABICS NOY
-18BC  ; [.2BF4.0020.0002.18BC] # CANADIAN SYLLABICS NAY
-18BD  ; [.2BF5.0020.0002.18BD] # CANADIAN SYLLABICS LAY
-18BE  ; [.2BF6.0020.0002.18BE] # CANADIAN SYLLABICS SOY
-18BF  ; [.2BF7.0020.0002.18BF] # CANADIAN SYLLABICS SAY
-18C0  ; [.2BF8.0020.0002.18C0] # CANADIAN SYLLABICS SHOY
-18C1  ; [.2BF9.0020.0002.18C1] # CANADIAN SYLLABICS SHAY
-18C2  ; [.2BFA.0020.0002.18C2] # CANADIAN SYLLABICS SHWOY
-18C3  ; [.2BFB.0020.0002.18C3] # CANADIAN SYLLABICS YOY
-18C4  ; [.2BFC.0020.0002.18C4] # CANADIAN SYLLABICS YAY
-18C5  ; [.2BFD.0020.0002.18C5] # CANADIAN SYLLABICS RAY
-18C6  ; [.2BFE.0020.0002.18C6] # CANADIAN SYLLABICS NWI
-18C7  ; [.2BFF.0020.0002.18C7] # CANADIAN SYLLABICS OJIBWAY NWI
-18C8  ; [.2C00.0020.0002.18C8] # CANADIAN SYLLABICS NWII
-18C9  ; [.2C01.0020.0002.18C9] # CANADIAN SYLLABICS OJIBWAY NWII
-18CA  ; [.2C02.0020.0002.18CA] # CANADIAN SYLLABICS NWO
-18CB  ; [.2C03.0020.0002.18CB] # CANADIAN SYLLABICS OJIBWAY NWO
-18CC  ; [.2C04.0020.0002.18CC] # CANADIAN SYLLABICS NWOO
-18CD  ; [.2C05.0020.0002.18CD] # CANADIAN SYLLABICS OJIBWAY NWOO
-18CE  ; [.2C06.0020.0002.18CE] # CANADIAN SYLLABICS RWEE
-18CF  ; [.2C07.0020.0002.18CF] # CANADIAN SYLLABICS RWI
-18D0  ; [.2C08.0020.0002.18D0] # CANADIAN SYLLABICS RWII
-18D1  ; [.2C09.0020.0002.18D1] # CANADIAN SYLLABICS RWO
-18D2  ; [.2C0A.0020.0002.18D2] # CANADIAN SYLLABICS RWOO
-18D3  ; [.2C0B.0020.0002.18D3] # CANADIAN SYLLABICS RWA
-18D4  ; [.2C0C.0020.0002.18D4] # CANADIAN SYLLABICS OJIBWAY P
-18D5  ; [.2C0D.0020.0002.18D5] # CANADIAN SYLLABICS OJIBWAY T
-18D6  ; [.2C0E.0020.0002.18D6] # CANADIAN SYLLABICS OJIBWAY K
-18D7  ; [.2C0F.0020.0002.18D7] # CANADIAN SYLLABICS OJIBWAY C
-18D8  ; [.2C10.0020.0002.18D8] # CANADIAN SYLLABICS OJIBWAY M
-18D9  ; [.2C11.0020.0002.18D9] # CANADIAN SYLLABICS OJIBWAY N
-18DA  ; [.2C12.0020.0002.18DA] # CANADIAN SYLLABICS OJIBWAY S
-18DB  ; [.2C13.0020.0002.18DB] # CANADIAN SYLLABICS OJIBWAY SH
-18DC  ; [.2C14.0020.0002.18DC] # CANADIAN SYLLABICS EASTERN W
-18DD  ; [.2C15.0020.0002.18DD] # CANADIAN SYLLABICS WESTERN W
-18DE  ; [.2C16.0020.0002.18DE] # CANADIAN SYLLABICS FINAL SMALL RING
-18DF  ; [.2C17.0020.0002.18DF] # CANADIAN SYLLABICS FINAL RAISED DOT
-18E0  ; [.2C18.0020.0002.18E0] # CANADIAN SYLLABICS R-CREE RWE
-18E1  ; [.2C19.0020.0002.18E1] # CANADIAN SYLLABICS WEST-CREE LOO
-18E2  ; [.2C1A.0020.0002.18E2] # CANADIAN SYLLABICS WEST-CREE LAA
-18E3  ; [.2C1B.0020.0002.18E3] # CANADIAN SYLLABICS THWE
-18E4  ; [.2C1C.0020.0002.18E4] # CANADIAN SYLLABICS THWA
-18E5  ; [.2C1D.0020.0002.18E5] # CANADIAN SYLLABICS TTHWE
-18E6  ; [.2C1E.0020.0002.18E6] # CANADIAN SYLLABICS TTHOO
-18E7  ; [.2C1F.0020.0002.18E7] # CANADIAN SYLLABICS TTHAA
-18E8  ; [.2C20.0020.0002.18E8] # CANADIAN SYLLABICS TLHWE
-18E9  ; [.2C21.0020.0002.18E9] # CANADIAN SYLLABICS TLHOO
-18EA  ; [.2C22.0020.0002.18EA] # CANADIAN SYLLABICS SAYISI SHWE
-18EB  ; [.2C23.0020.0002.18EB] # CANADIAN SYLLABICS SAYISI SHOO
-18EC  ; [.2C24.0020.0002.18EC] # CANADIAN SYLLABICS SAYISI HOO
-18ED  ; [.2C25.0020.0002.18ED] # CANADIAN SYLLABICS CARRIER GWU
-18EE  ; [.2C26.0020.0002.18EE] # CANADIAN SYLLABICS CARRIER DENE GEE
-18EF  ; [.2C27.0020.0002.18EF] # CANADIAN SYLLABICS CARRIER GAA
-18F0  ; [.2C28.0020.0002.18F0] # CANADIAN SYLLABICS CARRIER GWA
-18F1  ; [.2C29.0020.0002.18F1] # CANADIAN SYLLABICS SAYISI JUU
-18F2  ; [.2C2A.0020.0002.18F2] # CANADIAN SYLLABICS CARRIER JWA
-18F3  ; [.2C2B.0020.0002.18F3] # CANADIAN SYLLABICS BEAVER DENE L
-18F4  ; [.2C2C.0020.0002.18F4] # CANADIAN SYLLABICS BEAVER DENE R
-18F5  ; [.2C2D.0020.0002.18F5] # CANADIAN SYLLABICS CARRIER DENTAL S
-1681  ; [.2C2E.0020.0002.1681] # OGHAM LETTER BEITH
-1682  ; [.2C2F.0020.0002.1682] # OGHAM LETTER LUIS
-1683  ; [.2C30.0020.0002.1683] # OGHAM LETTER FEARN
-1684  ; [.2C31.0020.0002.1684] # OGHAM LETTER SAIL
-1685  ; [.2C32.0020.0002.1685] # OGHAM LETTER NION
-1686  ; [.2C33.0020.0002.1686] # OGHAM LETTER UATH
-1687  ; [.2C34.0020.0002.1687] # OGHAM LETTER DAIR
-1688  ; [.2C35.0020.0002.1688] # OGHAM LETTER TINNE
-1689  ; [.2C36.0020.0002.1689] # OGHAM LETTER COLL
-168A  ; [.2C37.0020.0002.168A] # OGHAM LETTER CEIRT
-168B  ; [.2C38.0020.0002.168B] # OGHAM LETTER MUIN
-168C  ; [.2C39.0020.0002.168C] # OGHAM LETTER GORT
-168D  ; [.2C3A.0020.0002.168D] # OGHAM LETTER NGEADAL
-168E  ; [.2C3B.0020.0002.168E] # OGHAM LETTER STRAIF
-168F  ; [.2C3C.0020.0002.168F] # OGHAM LETTER RUIS
-1690  ; [.2C3D.0020.0002.1690] # OGHAM LETTER AILM
-1691  ; [.2C3E.0020.0002.1691] # OGHAM LETTER ONN
-1692  ; [.2C3F.0020.0002.1692] # OGHAM LETTER UR
-1693  ; [.2C40.0020.0002.1693] # OGHAM LETTER EADHADH
-1694  ; [.2C41.0020.0002.1694] # OGHAM LETTER IODHADH
-1695  ; [.2C42.0020.0002.1695] # OGHAM LETTER EABHADH
-1696  ; [.2C43.0020.0002.1696] # OGHAM LETTER OR
-1697  ; [.2C44.0020.0002.1697] # OGHAM LETTER UILLEANN
-1698  ; [.2C45.0020.0002.1698] # OGHAM LETTER IFIN
-1699  ; [.2C46.0020.0002.1699] # OGHAM LETTER EAMHANCHOLL
-169A  ; [.2C47.0020.0002.169A] # OGHAM LETTER PEITH
-16A0  ; [.2C48.0020.0002.16A0] # RUNIC LETTER FEHU FEOH FE F
-16A1  ; [.2C48.0020.0004.16A1][.0000.015F.0004.16A1] # RUNIC LETTER V; QQKN
-16A2  ; [.2C49.0020.0002.16A2] # RUNIC LETTER URUZ UR U
-16A4  ; [.2C49.0020.0004.16A4][.0000.015F.0004.16A4] # RUNIC LETTER Y; QQKN
-16A5  ; [.2C49.0020.0004.16A5][.0000.0160.0004.16A5] # RUNIC LETTER W; QQKN
-16A6  ; [.2C4A.0020.0002.16A6] # RUNIC LETTER THURISAZ THURS THORN
-16A7  ; [.2C4A.0020.0004.16A7][.0000.015F.0004.16A7] # RUNIC LETTER ETH; QQKN
-16F0  ; [.2C4A.0020.0004.16F0][.2C4A.0020.0004.16F0] # RUNIC BELGTHOR SYMBOL; QQKN
-16A8  ; [.2C4B.0020.0002.16A8] # RUNIC LETTER ANSUZ A
-16A9  ; [.2C4B.0020.0004.16A9][.0000.015F.0004.16A9] # RUNIC LETTER OS O; QQKN
-16AC  ; [.2C4B.0020.0004.16AC][.0000.0160.0004.16AC] # RUNIC LETTER LONG-BRANCH-OSS O; QQKN
-16AD  ; [.2C4B.0020.0004.16AD][.0000.0162.0004.16AD] # RUNIC LETTER SHORT-TWIG-OSS O; QQKN
-16AE  ; [.2C4B.0020.0004.16AE][.0000.0163.0004.16AE] # RUNIC LETTER O; QQKN
-16AF  ; [.2C4C.0020.0002.16AF] # RUNIC LETTER OE
-16B0  ; [.2C4D.0020.0002.16B0] # RUNIC LETTER ON
-16B1  ; [.2C4E.0020.0002.16B1] # RUNIC LETTER RAIDO RAD REID R
-16B2  ; [.2C4F.0020.0002.16B2] # RUNIC LETTER KAUNA
-16B3  ; [.2C4F.0020.0004.16B3][.0000.015F.0004.16B3] # RUNIC LETTER CEN; QQKN
-16B4  ; [.2C4F.0020.0004.16B4][.0000.0160.0004.16B4] # RUNIC LETTER KAUN K; QQKN
-16B5  ; [.2C4F.0020.0004.16B5][.0000.0162.0004.16B5] # RUNIC LETTER G; QQKN
-16B6  ; [.2C4F.0020.0004.16B6][.0000.0163.0004.16B6] # RUNIC LETTER ENG; QQKN
-16B7  ; [.2C50.0020.0002.16B7] # RUNIC LETTER GEBO GYFU G
-16B9  ; [.2C51.0020.0002.16B9] # RUNIC LETTER WUNJO WYNN W
-16E9  ; [.2C51.0020.0004.16E9][.0000.015F.0004.16E9] # RUNIC LETTER Q; QQKN
-16BA  ; [.2C52.0020.0002.16BA] # RUNIC LETTER HAGLAZ H
-16BB  ; [.2C52.0020.0004.16BB][.0000.015F.0004.16BB] # RUNIC LETTER HAEGL H; QQKN
-16BC  ; [.2C52.0020.0004.16BC][.0000.0160.0004.16BC] # RUNIC LETTER LONG-BRANCH-HAGALL H; QQKN
-16BD  ; [.2C52.0020.0004.16BD][.0000.0162.0004.16BD] # RUNIC LETTER SHORT-TWIG-HAGALL H; QQKN
-16BE  ; [.2C53.0020.0002.16BE] # RUNIC LETTER NAUDIZ NYD NAUD N
-16BF  ; [.2C53.0020.0004.16BF][.0000.015F.0004.16BF] # RUNIC LETTER SHORT-TWIG-NAUD N; QQKN
-16C0  ; [.2C53.0020.0004.16C0][.0000.0160.0004.16C0] # RUNIC LETTER DOTTED-N; QQKN
-16C1  ; [.2C54.0020.0002.16C1] # RUNIC LETTER ISAZ IS ISS I
-16C2  ; [.2C54.0020.0004.16C2][.0000.015F.0004.16C2] # RUNIC LETTER E; QQKN
-16C3  ; [.2C55.0020.0002.16C3] # RUNIC LETTER JERAN J
-16C4  ; [.2C55.0020.0004.16C4][.0000.015F.0004.16C4] # RUNIC LETTER GER; QQKN
-16C5  ; [.2C56.0020.0002.16C5] # RUNIC LETTER LONG-BRANCH-AR AE
-16C6  ; [.2C56.0020.0004.16C6][.0000.015F.0004.16C6] # RUNIC LETTER SHORT-TWIG-AR A; QQKN
-16EE  ; [.2C56.0020.0004.16EE][.2C5F.0020.0004.16EE] # RUNIC ARLAUG SYMBOL; QQKN
-16C7  ; [.2C57.0020.0002.16C7] # RUNIC LETTER IWAZ EOH
-16C8  ; [.2C58.0020.0002.16C8] # RUNIC LETTER PERTHO PEORTH P
-16D5  ; [.2C58.0020.0004.16D5][.0000.015F.0004.16D5] # RUNIC LETTER OPEN-P; QQKN
-16C9  ; [.2C59.0020.0002.16C9] # RUNIC LETTER ALGIZ EOLHX
-16CA  ; [.2C5A.0020.0002.16CA] # RUNIC LETTER SOWILO S
-16CB  ; [.2C5A.0020.0004.16CB][.0000.015F.0004.16CB] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S; QQKN
-16EA  ; [.2C5A.0020.0004.16EA][.0000.0160.0004.16EA] # RUNIC LETTER X; QQKN
-16CC  ; [.2C5A.0020.0004.16CC][.0000.0162.0004.16CC] # RUNIC LETTER SHORT-TWIG-SOL S; QQKN
-16CD  ; [.2C5A.0020.0004.16CD][.0000.0163.0004.16CD] # RUNIC LETTER C; QQKN
-16CE  ; [.2C5A.0020.0004.16CE][.0000.0164.0004.16CE] # RUNIC LETTER Z; QQKN
-16CF  ; [.2C5B.0020.0002.16CF] # RUNIC LETTER TIWAZ TIR TYR T
-16D0  ; [.2C5B.0020.0004.16D0][.0000.015F.0004.16D0] # RUNIC LETTER SHORT-TWIG-TYR T; QQKN
-16D1  ; [.2C5B.0020.0004.16D1][.0000.0160.0004.16D1] # RUNIC LETTER D; QQKN
-16D2  ; [.2C5C.0020.0002.16D2] # RUNIC LETTER BERKANAN BEORC BJARKAN B
-16D3  ; [.2C5C.0020.0004.16D3][.0000.015F.0004.16D3] # RUNIC LETTER SHORT-TWIG-BJARKAN B; QQKN
-16D4  ; [.2C5C.0020.0004.16D4][.0000.0160.0004.16D4] # RUNIC LETTER DOTTED-P; QQKN
-16D6  ; [.2C5D.0020.0002.16D6] # RUNIC LETTER EHWAZ EH E
-16D7  ; [.2C5E.0020.0002.16D7] # RUNIC LETTER MANNAZ MAN M
-16D8  ; [.2C5E.0020.0004.16D8][.0000.015F.0004.16D8] # RUNIC LETTER LONG-BRANCH-MADR M; QQKN
-16D9  ; [.2C5E.0020.0004.16D9][.0000.0160.0004.16D9] # RUNIC LETTER SHORT-TWIG-MADR M; QQKN
-16EF  ; [.2C5E.0020.0004.16EF][.0000.015F.0004.16EF][.2C5E.0020.001F.16EF][.0000.015F.001F.16EF] # RUNIC TVIMADUR SYMBOL; QQKN
-16DA  ; [.2C5F.0020.0002.16DA] # RUNIC LETTER LAUKAZ LAGU LOGR L
-16DB  ; [.2C5F.0020.0004.16DB][.0000.015F.0004.16DB] # RUNIC LETTER DOTTED-L; QQKN
-16DC  ; [.2C60.0020.0002.16DC] # RUNIC LETTER INGWAZ
-16DD  ; [.2C60.0020.0004.16DD][.0000.015F.0004.16DD] # RUNIC LETTER ING; QQKN
-16DE  ; [.2C61.0020.0002.16DE] # RUNIC LETTER DAGAZ DAEG D
-16DF  ; [.2C62.0020.0002.16DF] # RUNIC LETTER OTHALAN ETHEL O
-16AA  ; [.2C63.0020.0002.16AA] # RUNIC LETTER AC A
-16AB  ; [.2C64.0020.0002.16AB] # RUNIC LETTER AESC
-16A3  ; [.2C65.0020.0002.16A3] # RUNIC LETTER YR
-16E0  ; [.2C66.0020.0002.16E0] # RUNIC LETTER EAR
-16E3  ; [.2C67.0020.0002.16E3] # RUNIC LETTER CALC
-16B8  ; [.2C68.0020.0002.16B8] # RUNIC LETTER GAR
-16E4  ; [.2C69.0020.0002.16E4] # RUNIC LETTER CEALC
-16E1  ; [.2C6A.0020.0002.16E1] # RUNIC LETTER IOR
-16E2  ; [.2C6B.0020.0002.16E2] # RUNIC LETTER CWEORTH
-16E5  ; [.2C6C.0020.0002.16E5] # RUNIC LETTER STAN
-16E6  ; [.2C6D.0020.0002.16E6] # RUNIC LETTER LONG-BRANCH-YR
-16E7  ; [.2C6D.0020.0004.16E7][.0000.015F.0004.16E7] # RUNIC LETTER SHORT-TWIG-YR; QQKN
-16E8  ; [.2C6D.0020.0004.16E8][.0000.0160.0004.16E8] # RUNIC LETTER ICELANDIC-YR; QQKN
-10C00 ; [.2C6E.0020.0002.10C00] # OLD TURKIC LETTER ORKHON A
-10C01 ; [.2C6E.0020.0004.10C01][.0000.015F.0004.10C01] # OLD TURKIC LETTER YENISEI A; QQKN
-10C02 ; [.2C6F.0020.0002.10C02] # OLD TURKIC LETTER YENISEI AE
-10C03 ; [.2C70.0020.0002.10C03] # OLD TURKIC LETTER ORKHON I
-10C04 ; [.2C70.0020.0004.10C04][.0000.015F.0004.10C04] # OLD TURKIC LETTER YENISEI I; QQKN
-10C05 ; [.2C71.0020.0002.10C05] # OLD TURKIC LETTER YENISEI E
-10C06 ; [.2C72.0020.0002.10C06] # OLD TURKIC LETTER ORKHON O
-10C07 ; [.2C73.0020.0002.10C07] # OLD TURKIC LETTER ORKHON OE
-10C08 ; [.2C73.0020.0004.10C08][.0000.015F.0004.10C08] # OLD TURKIC LETTER YENISEI OE; QQKN
-10C09 ; [.2C74.0020.0002.10C09] # OLD TURKIC LETTER ORKHON AB
-10C0A ; [.2C74.0020.0004.10C0A][.0000.015F.0004.10C0A] # OLD TURKIC LETTER YENISEI AB; QQKN
-10C0B ; [.2C75.0020.0002.10C0B] # OLD TURKIC LETTER ORKHON AEB
-10C0C ; [.2C75.0020.0004.10C0C][.0000.015F.0004.10C0C] # OLD TURKIC LETTER YENISEI AEB; QQKN
-10C0D ; [.2C76.0020.0002.10C0D] # OLD TURKIC LETTER ORKHON AG
-10C0E ; [.2C76.0020.0004.10C0E][.0000.015F.0004.10C0E] # OLD TURKIC LETTER YENISEI AG; QQKN
-10C0F ; [.2C77.0020.0002.10C0F] # OLD TURKIC LETTER ORKHON AEG
-10C10 ; [.2C77.0020.0004.10C10][.0000.015F.0004.10C10] # OLD TURKIC LETTER YENISEI AEG; QQKN
-10C11 ; [.2C78.0020.0002.10C11] # OLD TURKIC LETTER ORKHON AD
-10C12 ; [.2C78.0020.0004.10C12][.0000.015F.0004.10C12] # OLD TURKIC LETTER YENISEI AD; QQKN
-10C13 ; [.2C79.0020.0002.10C13] # OLD TURKIC LETTER ORKHON AED
-10C14 ; [.2C7A.0020.0002.10C14] # OLD TURKIC LETTER ORKHON EZ
-10C15 ; [.2C7A.0020.0004.10C15][.0000.015F.0004.10C15] # OLD TURKIC LETTER YENISEI EZ; QQKN
-10C16 ; [.2C7B.0020.0002.10C16] # OLD TURKIC LETTER ORKHON AY
-10C17 ; [.2C7B.0020.0004.10C17][.0000.015F.0004.10C17] # OLD TURKIC LETTER YENISEI AY; QQKN
-10C18 ; [.2C7C.0020.0002.10C18] # OLD TURKIC LETTER ORKHON AEY
-10C19 ; [.2C7C.0020.0004.10C19][.0000.015F.0004.10C19] # OLD TURKIC LETTER YENISEI AEY; QQKN
-10C1A ; [.2C7D.0020.0002.10C1A] # OLD TURKIC LETTER ORKHON AEK
-10C1B ; [.2C7D.0020.0004.10C1B][.0000.015F.0004.10C1B] # OLD TURKIC LETTER YENISEI AEK; QQKN
-10C1C ; [.2C7E.0020.0002.10C1C] # OLD TURKIC LETTER ORKHON OEK
-10C1D ; [.2C7E.0020.0004.10C1D][.0000.015F.0004.10C1D] # OLD TURKIC LETTER YENISEI OEK; QQKN
-10C1E ; [.2C7F.0020.0002.10C1E] # OLD TURKIC LETTER ORKHON AL
-10C1F ; [.2C7F.0020.0004.10C1F][.0000.015F.0004.10C1F] # OLD TURKIC LETTER YENISEI AL; QQKN
-10C20 ; [.2C80.0020.0002.10C20] # OLD TURKIC LETTER ORKHON AEL
-10C21 ; [.2C81.0020.0002.10C21] # OLD TURKIC LETTER ORKHON ELT
-10C22 ; [.2C82.0020.0002.10C22] # OLD TURKIC LETTER ORKHON EM
-10C23 ; [.2C83.0020.0002.10C23] # OLD TURKIC LETTER ORKHON AN
-10C24 ; [.2C84.0020.0002.10C24] # OLD TURKIC LETTER ORKHON AEN
-10C25 ; [.2C84.0020.0004.10C25][.0000.015F.0004.10C25] # OLD TURKIC LETTER YENISEI AEN; QQKN
-10C26 ; [.2C85.0020.0002.10C26] # OLD TURKIC LETTER ORKHON ENT
-10C27 ; [.2C85.0020.0004.10C27][.0000.015F.0004.10C27] # OLD TURKIC LETTER YENISEI ENT; QQKN
-10C28 ; [.2C86.0020.0002.10C28] # OLD TURKIC LETTER ORKHON ENC
-10C29 ; [.2C86.0020.0004.10C29][.0000.015F.0004.10C29] # OLD TURKIC LETTER YENISEI ENC; QQKN
-10C2A ; [.2C87.0020.0002.10C2A] # OLD TURKIC LETTER ORKHON ENY
-10C2B ; [.2C87.0020.0004.10C2B][.0000.015F.0004.10C2B] # OLD TURKIC LETTER YENISEI ENY; QQKN
-10C2C ; [.2C88.0020.0002.10C2C] # OLD TURKIC LETTER YENISEI ANG
-10C2D ; [.2C89.0020.0002.10C2D] # OLD TURKIC LETTER ORKHON ENG
-10C2E ; [.2C89.0020.0004.10C2E][.0000.015F.0004.10C2E] # OLD TURKIC LETTER YENISEI AENG; QQKN
-10C2F ; [.2C8A.0020.0002.10C2F] # OLD TURKIC LETTER ORKHON EP
-10C30 ; [.2C8B.0020.0002.10C30] # OLD TURKIC LETTER ORKHON OP
-10C31 ; [.2C8C.0020.0002.10C31] # OLD TURKIC LETTER ORKHON IC
-10C32 ; [.2C8D.0020.0002.10C32] # OLD TURKIC LETTER ORKHON EC
-10C33 ; [.2C8D.0020.0004.10C33][.0000.015F.0004.10C33] # OLD TURKIC LETTER YENISEI EC; QQKN
-10C34 ; [.2C8E.0020.0002.10C34] # OLD TURKIC LETTER ORKHON AQ
-10C35 ; [.2C8E.0020.0004.10C35][.0000.015F.0004.10C35] # OLD TURKIC LETTER YENISEI AQ; QQKN
-10C36 ; [.2C8F.0020.0002.10C36] # OLD TURKIC LETTER ORKHON IQ
-10C37 ; [.2C8F.0020.0004.10C37][.0000.015F.0004.10C37] # OLD TURKIC LETTER YENISEI IQ; QQKN
-10C38 ; [.2C90.0020.0002.10C38] # OLD TURKIC LETTER ORKHON OQ
-10C39 ; [.2C90.0020.0004.10C39][.0000.015F.0004.10C39] # OLD TURKIC LETTER YENISEI OQ; QQKN
-10C3A ; [.2C91.0020.0002.10C3A] # OLD TURKIC LETTER ORKHON AR
-10C3B ; [.2C91.0020.0004.10C3B][.0000.015F.0004.10C3B] # OLD TURKIC LETTER YENISEI AR; QQKN
-10C3C ; [.2C92.0020.0002.10C3C] # OLD TURKIC LETTER ORKHON AER
-10C3D ; [.2C93.0020.0002.10C3D] # OLD TURKIC LETTER ORKHON AS
-10C3E ; [.2C94.0020.0002.10C3E] # OLD TURKIC LETTER ORKHON AES
-10C3F ; [.2C95.0020.0002.10C3F] # OLD TURKIC LETTER ORKHON ASH
-10C40 ; [.2C95.0020.0004.10C40][.0000.015F.0004.10C40] # OLD TURKIC LETTER YENISEI ASH; QQKN
-10C41 ; [.2C96.0020.0002.10C41] # OLD TURKIC LETTER ORKHON ESH
-10C42 ; [.2C96.0020.0004.10C42][.0000.015F.0004.10C42] # OLD TURKIC LETTER YENISEI ESH; QQKN
-10C43 ; [.2C97.0020.0002.10C43] # OLD TURKIC LETTER ORKHON AT
-10C44 ; [.2C97.0020.0004.10C44][.0000.015F.0004.10C44] # OLD TURKIC LETTER YENISEI AT; QQKN
-10C45 ; [.2C98.0020.0002.10C45] # OLD TURKIC LETTER ORKHON AET
-10C46 ; [.2C98.0020.0004.10C46][.0000.015F.0004.10C46] # OLD TURKIC LETTER YENISEI AET; QQKN
-10C47 ; [.2C99.0020.0002.10C47] # OLD TURKIC LETTER ORKHON OT
-10C48 ; [.2C9A.0020.0002.10C48] # OLD TURKIC LETTER ORKHON BASH
-A500  ; [.2C9B.0020.0002.A500] # VAI SYLLABLE EE
-A501  ; [.2C9C.0020.0002.A501] # VAI SYLLABLE EEN
-A502  ; [.2C9D.0020.0002.A502] # VAI SYLLABLE HEE
-A503  ; [.2C9E.0020.0002.A503] # VAI SYLLABLE WEE
-A504  ; [.2C9F.0020.0002.A504] # VAI SYLLABLE WEEN
-A505  ; [.2CA0.0020.0002.A505] # VAI SYLLABLE PEE
-A506  ; [.2CA1.0020.0002.A506] # VAI SYLLABLE BHEE
-A507  ; [.2CA2.0020.0002.A507] # VAI SYLLABLE BEE
-A508  ; [.2CA3.0020.0002.A508] # VAI SYLLABLE MBEE
-A509  ; [.2CA4.0020.0002.A509] # VAI SYLLABLE KPEE
-A50A  ; [.2CA5.0020.0002.A50A] # VAI SYLLABLE MGBEE
-A50B  ; [.2CA6.0020.0002.A50B] # VAI SYLLABLE GBEE
-A50C  ; [.2CA7.0020.0002.A50C] # VAI SYLLABLE FEE
-A613  ; [.2CA7.0020.0004.A613][.2DA6.0020.0004.A613] # VAI SYMBOL FEENG; QQKN
-A50D  ; [.2CA8.0020.0002.A50D] # VAI SYLLABLE VEE
-A50E  ; [.2CA9.0020.0002.A50E] # VAI SYLLABLE TEE
-A50F  ; [.2CAA.0020.0002.A50F] # VAI SYLLABLE THEE
-A510  ; [.2CAB.0020.0002.A510] # VAI SYLLABLE DHEE
-A511  ; [.2CAC.0020.0002.A511] # VAI SYLLABLE DHHEE
-A512  ; [.2CAD.0020.0002.A512] # VAI SYLLABLE LEE
-A513  ; [.2CAE.0020.0002.A513] # VAI SYLLABLE REE
-A514  ; [.2CAF.0020.0002.A514] # VAI SYLLABLE DEE
-A515  ; [.2CB0.0020.0002.A515] # VAI SYLLABLE NDEE
-A516  ; [.2CB1.0020.0002.A516] # VAI SYLLABLE SEE
-A517  ; [.2CB2.0020.0002.A517] # VAI SYLLABLE SHEE
-A518  ; [.2CB3.0020.0002.A518] # VAI SYLLABLE ZEE
-A519  ; [.2CB4.0020.0002.A519] # VAI SYLLABLE ZHEE
-A51A  ; [.2CB5.0020.0002.A51A] # VAI SYLLABLE CEE
-A51B  ; [.2CB6.0020.0002.A51B] # VAI SYLLABLE JEE
-A51C  ; [.2CB7.0020.0002.A51C] # VAI SYLLABLE NJEE
-A51D  ; [.2CB8.0020.0002.A51D] # VAI SYLLABLE YEE
-A51E  ; [.2CB9.0020.0002.A51E] # VAI SYLLABLE KEE
-A614  ; [.2CB9.0020.0004.A614][.2DA6.0020.0004.A614] # VAI SYMBOL KEENG; QQKN
-A51F  ; [.2CBA.0020.0002.A51F] # VAI SYLLABLE NGGEE
-A520  ; [.2CBB.0020.0002.A520] # VAI SYLLABLE GEE
-A521  ; [.2CBC.0020.0002.A521] # VAI SYLLABLE MEE
-A522  ; [.2CBD.0020.0002.A522] # VAI SYLLABLE NEE
-A523  ; [.2CBE.0020.0002.A523] # VAI SYLLABLE NYEE
-A524  ; [.2CBF.0020.0002.A524] # VAI SYLLABLE I
-A525  ; [.2CC0.0020.0002.A525] # VAI SYLLABLE IN
-A526  ; [.2CC1.0020.0002.A526] # VAI SYLLABLE HI
-A527  ; [.2CC2.0020.0002.A527] # VAI SYLLABLE HIN
-A528  ; [.2CC3.0020.0002.A528] # VAI SYLLABLE WI
-A529  ; [.2CC4.0020.0002.A529] # VAI SYLLABLE WIN
-A52A  ; [.2CC5.0020.0002.A52A] # VAI SYLLABLE PI
-A52B  ; [.2CC6.0020.0002.A52B] # VAI SYLLABLE BHI
-A52C  ; [.2CC7.0020.0002.A52C] # VAI SYLLABLE BI
-A52D  ; [.2CC8.0020.0002.A52D] # VAI SYLLABLE MBI
-A52E  ; [.2CC9.0020.0002.A52E] # VAI SYLLABLE KPI
-A52F  ; [.2CCA.0020.0002.A52F] # VAI SYLLABLE MGBI
-A530  ; [.2CCB.0020.0002.A530] # VAI SYLLABLE GBI
-A531  ; [.2CCC.0020.0002.A531] # VAI SYLLABLE FI
-A532  ; [.2CCD.0020.0002.A532] # VAI SYLLABLE VI
-A533  ; [.2CCE.0020.0002.A533] # VAI SYLLABLE TI
-A615  ; [.2CCE.0020.0004.A615][.2DA6.0020.0004.A615] # VAI SYMBOL TING; QQKN
-A534  ; [.2CCF.0020.0002.A534] # VAI SYLLABLE THI
-A535  ; [.2CD0.0020.0002.A535] # VAI SYLLABLE DHI
-A536  ; [.2CD1.0020.0002.A536] # VAI SYLLABLE DHHI
-A537  ; [.2CD2.0020.0002.A537] # VAI SYLLABLE LI
-A538  ; [.2CD3.0020.0002.A538] # VAI SYLLABLE RI
-A539  ; [.2CD4.0020.0002.A539] # VAI SYLLABLE DI
-A53A  ; [.2CD5.0020.0002.A53A] # VAI SYLLABLE NDI
-A53B  ; [.2CD6.0020.0002.A53B] # VAI SYLLABLE SI
-A53C  ; [.2CD7.0020.0002.A53C] # VAI SYLLABLE SHI
-A53D  ; [.2CD8.0020.0002.A53D] # VAI SYLLABLE ZI
-A53E  ; [.2CD9.0020.0002.A53E] # VAI SYLLABLE ZHI
-A53F  ; [.2CDA.0020.0002.A53F] # VAI SYLLABLE CI
-A540  ; [.2CDB.0020.0002.A540] # VAI SYLLABLE JI
-A541  ; [.2CDC.0020.0002.A541] # VAI SYLLABLE NJI
-A542  ; [.2CDD.0020.0002.A542] # VAI SYLLABLE YI
-A543  ; [.2CDE.0020.0002.A543] # VAI SYLLABLE KI
-A544  ; [.2CDF.0020.0002.A544] # VAI SYLLABLE NGGI
-A545  ; [.2CE0.0020.0002.A545] # VAI SYLLABLE GI
-A546  ; [.2CE1.0020.0002.A546] # VAI SYLLABLE MI
-A547  ; [.2CE2.0020.0002.A547] # VAI SYLLABLE NI
-A616  ; [.2CE2.0020.0004.A616][.2DA7.0020.0004.A616] # VAI SYMBOL NII; QQKN
-A548  ; [.2CE3.0020.0002.A548] # VAI SYLLABLE NYI
-A549  ; [.2CE4.0020.0002.A549] # VAI SYLLABLE A
-A54A  ; [.2CE5.0020.0002.A54A] # VAI SYLLABLE AN
-A54B  ; [.2CE6.0020.0002.A54B] # VAI SYLLABLE NGAN
-A54C  ; [.2CE7.0020.0002.A54C] # VAI SYLLABLE HA
-A54D  ; [.2CE8.0020.0002.A54D] # VAI SYLLABLE HAN
-A54E  ; [.2CE9.0020.0002.A54E] # VAI SYLLABLE WA
-A54F  ; [.2CEA.0020.0002.A54F] # VAI SYLLABLE WAN
-A550  ; [.2CEB.0020.0002.A550] # VAI SYLLABLE PA
-A551  ; [.2CEC.0020.0002.A551] # VAI SYLLABLE BHA
-A552  ; [.2CED.0020.0002.A552] # VAI SYLLABLE BA
-A617  ; [.2CED.0020.0004.A617][.2DA6.0020.0004.A617] # VAI SYMBOL BANG; QQKN
-A553  ; [.2CEE.0020.0002.A553] # VAI SYLLABLE MBA
-A554  ; [.2CEF.0020.0002.A554] # VAI SYLLABLE KPA
-A555  ; [.2CF0.0020.0002.A555] # VAI SYLLABLE KPAN
-A556  ; [.2CF1.0020.0002.A556] # VAI SYLLABLE MGBA
-A557  ; [.2CF2.0020.0002.A557] # VAI SYLLABLE GBA
-A558  ; [.2CF3.0020.0002.A558] # VAI SYLLABLE FA
-A610  ; [.2CF3.0020.0004.A610] # VAI SYLLABLE NDOLE FA; QQK
-A618  ; [.2CF3.0020.0004.A618][.2DA7.0020.0004.A618] # VAI SYMBOL FAA; QQKN
-A559  ; [.2CF4.0020.0002.A559] # VAI SYLLABLE VA
-A55A  ; [.2CF5.0020.0002.A55A] # VAI SYLLABLE TA
-A619  ; [.2CF5.0020.0004.A619][.2DA7.0020.0004.A619] # VAI SYMBOL TAA; QQKN
-A55B  ; [.2CF6.0020.0002.A55B] # VAI SYLLABLE THA
-A55C  ; [.2CF7.0020.0002.A55C] # VAI SYLLABLE DHA
-A55D  ; [.2CF8.0020.0002.A55D] # VAI SYLLABLE DHHA
-A55E  ; [.2CF9.0020.0002.A55E] # VAI SYLLABLE LA
-A55F  ; [.2CFA.0020.0002.A55F] # VAI SYLLABLE RA
-A560  ; [.2CFB.0020.0002.A560] # VAI SYLLABLE DA
-A61A  ; [.2CFB.0020.0004.A61A][.2DA6.0020.0004.A61A] # VAI SYMBOL DANG; QQKN
-A561  ; [.2CFC.0020.0002.A561] # VAI SYLLABLE NDA
-A562  ; [.2CFD.0020.0002.A562] # VAI SYLLABLE SA
-A563  ; [.2CFE.0020.0002.A563] # VAI SYLLABLE SHA
-A564  ; [.2CFF.0020.0002.A564] # VAI SYLLABLE ZA
-A565  ; [.2D00.0020.0002.A565] # VAI SYLLABLE ZHA
-A566  ; [.2D01.0020.0002.A566] # VAI SYLLABLE CA
-A567  ; [.2D02.0020.0002.A567] # VAI SYLLABLE JA
-A568  ; [.2D03.0020.0002.A568] # VAI SYLLABLE NJA
-A569  ; [.2D04.0020.0002.A569] # VAI SYLLABLE YA
-A56A  ; [.2D05.0020.0002.A56A] # VAI SYLLABLE KA
-A611  ; [.2D05.0020.0004.A611] # VAI SYLLABLE NDOLE KA; QQK
-A56B  ; [.2D06.0020.0002.A56B] # VAI SYLLABLE KAN
-A56C  ; [.2D07.0020.0002.A56C] # VAI SYLLABLE NGGA
-A56D  ; [.2D08.0020.0002.A56D] # VAI SYLLABLE GA
-A56E  ; [.2D09.0020.0002.A56E] # VAI SYLLABLE MA
-A62A  ; [.2D09.0020.0004.A62A] # VAI SYLLABLE NDOLE MA; QQK
-A56F  ; [.2D0A.0020.0002.A56F] # VAI SYLLABLE NA
-A570  ; [.2D0B.0020.0002.A570] # VAI SYLLABLE NYA
-A571  ; [.2D0C.0020.0002.A571] # VAI SYLLABLE OO
-A572  ; [.2D0D.0020.0002.A572] # VAI SYLLABLE OON
-A573  ; [.2D0E.0020.0002.A573] # VAI SYLLABLE HOO
-A574  ; [.2D0F.0020.0002.A574] # VAI SYLLABLE WOO
-A575  ; [.2D10.0020.0002.A575] # VAI SYLLABLE WOON
-A576  ; [.2D11.0020.0002.A576] # VAI SYLLABLE POO
-A577  ; [.2D12.0020.0002.A577] # VAI SYLLABLE BHOO
-A578  ; [.2D13.0020.0002.A578] # VAI SYLLABLE BOO
-A579  ; [.2D14.0020.0002.A579] # VAI SYLLABLE MBOO
-A57A  ; [.2D15.0020.0002.A57A] # VAI SYLLABLE KPOO
-A57B  ; [.2D16.0020.0002.A57B] # VAI SYLLABLE MGBOO
-A57C  ; [.2D17.0020.0002.A57C] # VAI SYLLABLE GBOO
-A57D  ; [.2D18.0020.0002.A57D] # VAI SYLLABLE FOO
-A57E  ; [.2D19.0020.0002.A57E] # VAI SYLLABLE VOO
-A57F  ; [.2D1A.0020.0002.A57F] # VAI SYLLABLE TOO
-A580  ; [.2D1B.0020.0002.A580] # VAI SYLLABLE THOO
-A581  ; [.2D1C.0020.0002.A581] # VAI SYLLABLE DHOO
-A582  ; [.2D1D.0020.0002.A582] # VAI SYLLABLE DHHOO
-A583  ; [.2D1E.0020.0002.A583] # VAI SYLLABLE LOO
-A584  ; [.2D1F.0020.0002.A584] # VAI SYLLABLE ROO
-A585  ; [.2D20.0020.0002.A585] # VAI SYLLABLE DOO
-A61B  ; [.2D20.0020.0004.A61B][.2DA6.0020.0004.A61B] # VAI SYMBOL DOONG; QQKN
-A586  ; [.2D21.0020.0002.A586] # VAI SYLLABLE NDOO
-A587  ; [.2D22.0020.0002.A587] # VAI SYLLABLE SOO
-A612  ; [.2D22.0020.0004.A612] # VAI SYLLABLE NDOLE SOO; QQK
-A588  ; [.2D23.0020.0002.A588] # VAI SYLLABLE SHOO
-A589  ; [.2D24.0020.0002.A589] # VAI SYLLABLE ZOO
-A58A  ; [.2D25.0020.0002.A58A] # VAI SYLLABLE ZHOO
-A58B  ; [.2D26.0020.0002.A58B] # VAI SYLLABLE COO
-A58C  ; [.2D27.0020.0002.A58C] # VAI SYLLABLE JOO
-A58D  ; [.2D28.0020.0002.A58D] # VAI SYLLABLE NJOO
-A58E  ; [.2D29.0020.0002.A58E] # VAI SYLLABLE YOO
-A58F  ; [.2D2A.0020.0002.A58F] # VAI SYLLABLE KOO
-A590  ; [.2D2B.0020.0002.A590] # VAI SYLLABLE NGGOO
-A591  ; [.2D2C.0020.0002.A591] # VAI SYLLABLE GOO
-A592  ; [.2D2D.0020.0002.A592] # VAI SYLLABLE MOO
-A593  ; [.2D2E.0020.0002.A593] # VAI SYLLABLE NOO
-A594  ; [.2D2F.0020.0002.A594] # VAI SYLLABLE NYOO
-A595  ; [.2D30.0020.0002.A595] # VAI SYLLABLE U
-A596  ; [.2D31.0020.0002.A596] # VAI SYLLABLE UN
-A597  ; [.2D32.0020.0002.A597] # VAI SYLLABLE HU
-A598  ; [.2D33.0020.0002.A598] # VAI SYLLABLE HUN
-A599  ; [.2D34.0020.0002.A599] # VAI SYLLABLE WU
-A59A  ; [.2D35.0020.0002.A59A] # VAI SYLLABLE WUN
-A59B  ; [.2D36.0020.0002.A59B] # VAI SYLLABLE PU
-A59C  ; [.2D37.0020.0002.A59C] # VAI SYLLABLE BHU
-A59D  ; [.2D38.0020.0002.A59D] # VAI SYLLABLE BU
-A59E  ; [.2D39.0020.0002.A59E] # VAI SYLLABLE MBU
-A59F  ; [.2D3A.0020.0002.A59F] # VAI SYLLABLE KPU
-A5A0  ; [.2D3B.0020.0002.A5A0] # VAI SYLLABLE MGBU
-A5A1  ; [.2D3C.0020.0002.A5A1] # VAI SYLLABLE GBU
-A5A2  ; [.2D3D.0020.0002.A5A2] # VAI SYLLABLE FU
-A5A3  ; [.2D3E.0020.0002.A5A3] # VAI SYLLABLE VU
-A5A4  ; [.2D3F.0020.0002.A5A4] # VAI SYLLABLE TU
-A5A5  ; [.2D40.0020.0002.A5A5] # VAI SYLLABLE THU
-A5A6  ; [.2D41.0020.0002.A5A6] # VAI SYLLABLE DHU
-A5A7  ; [.2D42.0020.0002.A5A7] # VAI SYLLABLE DHHU
-A5A8  ; [.2D43.0020.0002.A5A8] # VAI SYLLABLE LU
-A5A9  ; [.2D44.0020.0002.A5A9] # VAI SYLLABLE RU
-A5AA  ; [.2D45.0020.0002.A5AA] # VAI SYLLABLE DU
-A5AB  ; [.2D46.0020.0002.A5AB] # VAI SYLLABLE NDU
-A5AC  ; [.2D47.0020.0002.A5AC] # VAI SYLLABLE SU
-A5AD  ; [.2D48.0020.0002.A5AD] # VAI SYLLABLE SHU
-A5AE  ; [.2D49.0020.0002.A5AE] # VAI SYLLABLE ZU
-A5AF  ; [.2D4A.0020.0002.A5AF] # VAI SYLLABLE ZHU
-A5B0  ; [.2D4B.0020.0002.A5B0] # VAI SYLLABLE CU
-A5B1  ; [.2D4C.0020.0002.A5B1] # VAI SYLLABLE JU
-A5B2  ; [.2D4D.0020.0002.A5B2] # VAI SYLLABLE NJU
-A5B3  ; [.2D4E.0020.0002.A5B3] # VAI SYLLABLE YU
-A5B4  ; [.2D4F.0020.0002.A5B4] # VAI SYLLABLE KU
-A61C  ; [.2D4F.0020.0004.A61C][.2DA6.0020.0004.A61C] # VAI SYMBOL KUNG; QQKN
-A5B5  ; [.2D50.0020.0002.A5B5] # VAI SYLLABLE NGGU
-A5B6  ; [.2D51.0020.0002.A5B6] # VAI SYLLABLE GU
-A5B7  ; [.2D52.0020.0002.A5B7] # VAI SYLLABLE MU
-A5B8  ; [.2D53.0020.0002.A5B8] # VAI SYLLABLE NU
-A5B9  ; [.2D54.0020.0002.A5B9] # VAI SYLLABLE NYU
-A5BA  ; [.2D55.0020.0002.A5BA] # VAI SYLLABLE O
-A5BB  ; [.2D56.0020.0002.A5BB] # VAI SYLLABLE ON
-A5BC  ; [.2D57.0020.0002.A5BC] # VAI SYLLABLE NGON
-A5BD  ; [.2D58.0020.0002.A5BD] # VAI SYLLABLE HO
-A5BE  ; [.2D59.0020.0002.A5BE] # VAI SYLLABLE HON
-A5BF  ; [.2D5A.0020.0002.A5BF] # VAI SYLLABLE WO
-A5C0  ; [.2D5B.0020.0002.A5C0] # VAI SYLLABLE WON
-A5C1  ; [.2D5C.0020.0002.A5C1] # VAI SYLLABLE PO
-A5C2  ; [.2D5D.0020.0002.A5C2] # VAI SYLLABLE BHO
-A5C3  ; [.2D5E.0020.0002.A5C3] # VAI SYLLABLE BO
-A5C4  ; [.2D5F.0020.0002.A5C4] # VAI SYLLABLE MBO
-A5C5  ; [.2D60.0020.0002.A5C5] # VAI SYLLABLE KPO
-A5C6  ; [.2D61.0020.0002.A5C6] # VAI SYLLABLE MGBO
-A5C7  ; [.2D62.0020.0002.A5C7] # VAI SYLLABLE GBO
-A5C8  ; [.2D63.0020.0002.A5C8] # VAI SYLLABLE GBON
-A5C9  ; [.2D64.0020.0002.A5C9] # VAI SYLLABLE FO
-A5CA  ; [.2D65.0020.0002.A5CA] # VAI SYLLABLE VO
-A5CB  ; [.2D66.0020.0002.A5CB] # VAI SYLLABLE TO
-A61D  ; [.2D66.0020.0004.A61D][.2DA6.0020.0004.A61D] # VAI SYMBOL TONG; QQKN
-A5CC  ; [.2D67.0020.0002.A5CC] # VAI SYLLABLE THO
-A5CD  ; [.2D68.0020.0002.A5CD] # VAI SYLLABLE DHO
-A5CE  ; [.2D69.0020.0002.A5CE] # VAI SYLLABLE DHHO
-A5CF  ; [.2D6A.0020.0002.A5CF] # VAI SYLLABLE LO
-A5D0  ; [.2D6B.0020.0002.A5D0] # VAI SYLLABLE RO
-A5D1  ; [.2D6C.0020.0002.A5D1] # VAI SYLLABLE DO
-A62B  ; [.2D6C.0020.0004.A62B] # VAI SYLLABLE NDOLE DO; QQK
-A61E  ; [.2D6C.0020.0004.A61E][.2DA7.0020.0004.A61E] # VAI SYMBOL DO-O; QQKN
-A5D2  ; [.2D6D.0020.0002.A5D2] # VAI SYLLABLE NDO
-A5D3  ; [.2D6E.0020.0002.A5D3] # VAI SYLLABLE SO
-A5D4  ; [.2D6F.0020.0002.A5D4] # VAI SYLLABLE SHO
-A5D5  ; [.2D70.0020.0002.A5D5] # VAI SYLLABLE ZO
-A5D6  ; [.2D71.0020.0002.A5D6] # VAI SYLLABLE ZHO
-A5D7  ; [.2D72.0020.0002.A5D7] # VAI SYLLABLE CO
-A5D8  ; [.2D73.0020.0002.A5D8] # VAI SYLLABLE JO
-A61F  ; [.2D73.0020.0004.A61F][.2DA6.0020.0004.A61F] # VAI SYMBOL JONG; QQKN
-A5D9  ; [.2D74.0020.0002.A5D9] # VAI SYLLABLE NJO
-A5DA  ; [.2D75.0020.0002.A5DA] # VAI SYLLABLE YO
-A5DB  ; [.2D76.0020.0002.A5DB] # VAI SYLLABLE KO
-A5DC  ; [.2D77.0020.0002.A5DC] # VAI SYLLABLE NGGO
-A5DD  ; [.2D78.0020.0002.A5DD] # VAI SYLLABLE GO
-A5DE  ; [.2D79.0020.0002.A5DE] # VAI SYLLABLE MO
-A5DF  ; [.2D7A.0020.0002.A5DF] # VAI SYLLABLE NO
-A5E0  ; [.2D7B.0020.0002.A5E0] # VAI SYLLABLE NYO
-A5E1  ; [.2D7C.0020.0002.A5E1] # VAI SYLLABLE E
-A5E2  ; [.2D7D.0020.0002.A5E2] # VAI SYLLABLE EN
-A5E3  ; [.2D7E.0020.0002.A5E3] # VAI SYLLABLE NGEN
-A5E4  ; [.2D7F.0020.0002.A5E4] # VAI SYLLABLE HE
-A5E5  ; [.2D80.0020.0002.A5E5] # VAI SYLLABLE HEN
-A5E6  ; [.2D81.0020.0002.A5E6] # VAI SYLLABLE WE
-A5E7  ; [.2D82.0020.0002.A5E7] # VAI SYLLABLE WEN
-A5E8  ; [.2D83.0020.0002.A5E8] # VAI SYLLABLE PE
-A5E9  ; [.2D84.0020.0002.A5E9] # VAI SYLLABLE BHE
-A5EA  ; [.2D85.0020.0002.A5EA] # VAI SYLLABLE BE
-A5EB  ; [.2D86.0020.0002.A5EB] # VAI SYLLABLE MBE
-A5EC  ; [.2D87.0020.0002.A5EC] # VAI SYLLABLE KPE
-A5ED  ; [.2D88.0020.0002.A5ED] # VAI SYLLABLE KPEN
-A5EE  ; [.2D89.0020.0002.A5EE] # VAI SYLLABLE MGBE
-A5EF  ; [.2D8A.0020.0002.A5EF] # VAI SYLLABLE GBE
-A5F0  ; [.2D8B.0020.0002.A5F0] # VAI SYLLABLE GBEN
-A5F1  ; [.2D8C.0020.0002.A5F1] # VAI SYLLABLE FE
-A5F2  ; [.2D8D.0020.0002.A5F2] # VAI SYLLABLE VE
-A5F3  ; [.2D8E.0020.0002.A5F3] # VAI SYLLABLE TE
-A5F4  ; [.2D8F.0020.0002.A5F4] # VAI SYLLABLE THE
-A5F5  ; [.2D90.0020.0002.A5F5] # VAI SYLLABLE DHE
-A5F6  ; [.2D91.0020.0002.A5F6] # VAI SYLLABLE DHHE
-A5F7  ; [.2D92.0020.0002.A5F7] # VAI SYLLABLE LE
-A5F8  ; [.2D93.0020.0002.A5F8] # VAI SYLLABLE RE
-A5F9  ; [.2D94.0020.0002.A5F9] # VAI SYLLABLE DE
-A5FA  ; [.2D95.0020.0002.A5FA] # VAI SYLLABLE NDE
-A5FB  ; [.2D96.0020.0002.A5FB] # VAI SYLLABLE SE
-A5FC  ; [.2D97.0020.0002.A5FC] # VAI SYLLABLE SHE
-A5FD  ; [.2D98.0020.0002.A5FD] # VAI SYLLABLE ZE
-A5FE  ; [.2D99.0020.0002.A5FE] # VAI SYLLABLE ZHE
-A5FF  ; [.2D9A.0020.0002.A5FF] # VAI SYLLABLE CE
-A600  ; [.2D9B.0020.0002.A600] # VAI SYLLABLE JE
-A601  ; [.2D9C.0020.0002.A601] # VAI SYLLABLE NJE
-A602  ; [.2D9D.0020.0002.A602] # VAI SYLLABLE YE
-A603  ; [.2D9E.0020.0002.A603] # VAI SYLLABLE KE
-A604  ; [.2D9F.0020.0002.A604] # VAI SYLLABLE NGGE
-A605  ; [.2DA0.0020.0002.A605] # VAI SYLLABLE NGGEN
-A606  ; [.2DA1.0020.0002.A606] # VAI SYLLABLE GE
-A607  ; [.2DA2.0020.0002.A607] # VAI SYLLABLE GEN
-A608  ; [.2DA3.0020.0002.A608] # VAI SYLLABLE ME
-A609  ; [.2DA4.0020.0002.A609] # VAI SYLLABLE NE
-A60A  ; [.2DA5.0020.0002.A60A] # VAI SYLLABLE NYE
-A60B  ; [.2DA6.0020.0002.A60B] # VAI SYLLABLE NG
-A60C  ; [.2DA7.0020.0002.A60C] # VAI SYLLABLE LENGTHENER
-A6A0  ; [.2DA8.0020.0002.A6A0] # BAMUM LETTER A
-A6A1  ; [.2DA9.0020.0002.A6A1] # BAMUM LETTER KA
-A6A2  ; [.2DAA.0020.0002.A6A2] # BAMUM LETTER U
-A6A3  ; [.2DAB.0020.0002.A6A3] # BAMUM LETTER KU
-A6A4  ; [.2DAC.0020.0002.A6A4] # BAMUM LETTER EE
-A6A5  ; [.2DAD.0020.0002.A6A5] # BAMUM LETTER REE
-A6A6  ; [.2DAE.0020.0002.A6A6] # BAMUM LETTER TAE
-A6A7  ; [.2DAF.0020.0002.A6A7] # BAMUM LETTER O
-A6A8  ; [.2DB0.0020.0002.A6A8] # BAMUM LETTER NYI
-A6A9  ; [.2DB1.0020.0002.A6A9] # BAMUM LETTER I
-A6AA  ; [.2DB2.0020.0002.A6AA] # BAMUM LETTER LA
-A6AB  ; [.2DB3.0020.0002.A6AB] # BAMUM LETTER PA
-A6AC  ; [.2DB4.0020.0002.A6AC] # BAMUM LETTER RII
-A6AD  ; [.2DB5.0020.0002.A6AD] # BAMUM LETTER RIEE
-A6AE  ; [.2DB6.0020.0002.A6AE] # BAMUM LETTER LEEEE
-A6AF  ; [.2DB7.0020.0002.A6AF] # BAMUM LETTER MEEEE
-A6B0  ; [.2DB8.0020.0002.A6B0] # BAMUM LETTER TAA
-A6B1  ; [.2DB9.0020.0002.A6B1] # BAMUM LETTER NDAA
-A6B2  ; [.2DBA.0020.0002.A6B2] # BAMUM LETTER NJAEM
-A6B3  ; [.2DBB.0020.0002.A6B3] # BAMUM LETTER M
-A6B4  ; [.2DBC.0020.0002.A6B4] # BAMUM LETTER SUU
-A6B5  ; [.2DBD.0020.0002.A6B5] # BAMUM LETTER MU
-A6B6  ; [.2DBE.0020.0002.A6B6] # BAMUM LETTER SHII
-A6B7  ; [.2DBF.0020.0002.A6B7] # BAMUM LETTER SI
-A6B8  ; [.2DC0.0020.0002.A6B8] # BAMUM LETTER SHEUX
-A6B9  ; [.2DC1.0020.0002.A6B9] # BAMUM LETTER SEUX
-A6BA  ; [.2DC2.0020.0002.A6BA] # BAMUM LETTER KYEE
-A6BB  ; [.2DC3.0020.0002.A6BB] # BAMUM LETTER KET
-A6BC  ; [.2DC4.0020.0002.A6BC] # BAMUM LETTER NUAE
-A6BD  ; [.2DC5.0020.0002.A6BD] # BAMUM LETTER NU
-A6BE  ; [.2DC6.0020.0002.A6BE] # BAMUM LETTER NJUAE
-A6BF  ; [.2DC7.0020.0002.A6BF] # BAMUM LETTER YOQ
-A6C0  ; [.2DC8.0020.0002.A6C0] # BAMUM LETTER SHU
-A6C1  ; [.2DC9.0020.0002.A6C1] # BAMUM LETTER YUQ
-A6C2  ; [.2DCA.0020.0002.A6C2] # BAMUM LETTER YA
-A6C3  ; [.2DCB.0020.0002.A6C3] # BAMUM LETTER NSHA
-A6C4  ; [.2DCC.0020.0002.A6C4] # BAMUM LETTER KEUX
-A6C5  ; [.2DCD.0020.0002.A6C5] # BAMUM LETTER PEUX
-A6C6  ; [.2DCE.0020.0002.A6C6] # BAMUM LETTER NJEE
-A6C7  ; [.2DCF.0020.0002.A6C7] # BAMUM LETTER NTEE
-A6C8  ; [.2DD0.0020.0002.A6C8] # BAMUM LETTER PUE
-A6C9  ; [.2DD1.0020.0002.A6C9] # BAMUM LETTER WUE
-A6CA  ; [.2DD2.0020.0002.A6CA] # BAMUM LETTER PEE
-A6CB  ; [.2DD3.0020.0002.A6CB] # BAMUM LETTER FEE
-A6CC  ; [.2DD4.0020.0002.A6CC] # BAMUM LETTER RU
-A6CD  ; [.2DD5.0020.0002.A6CD] # BAMUM LETTER LU
-A6CE  ; [.2DD6.0020.0002.A6CE] # BAMUM LETTER MI
-A6CF  ; [.2DD7.0020.0002.A6CF] # BAMUM LETTER NI
-A6D0  ; [.2DD8.0020.0002.A6D0] # BAMUM LETTER REUX
-A6D1  ; [.2DD9.0020.0002.A6D1] # BAMUM LETTER RAE
-A6D2  ; [.2DDA.0020.0002.A6D2] # BAMUM LETTER KEN
-A6D3  ; [.2DDB.0020.0002.A6D3] # BAMUM LETTER NGKWAEN
-A6D4  ; [.2DDC.0020.0002.A6D4] # BAMUM LETTER NGGA
-A6D5  ; [.2DDD.0020.0002.A6D5] # BAMUM LETTER NGA
-A6D6  ; [.2DDE.0020.0002.A6D6] # BAMUM LETTER SHO
-A6D7  ; [.2DDF.0020.0002.A6D7] # BAMUM LETTER PUAE
-A6D8  ; [.2DE0.0020.0002.A6D8] # BAMUM LETTER FU
-A6D9  ; [.2DE1.0020.0002.A6D9] # BAMUM LETTER FOM
-A6DA  ; [.2DE2.0020.0002.A6DA] # BAMUM LETTER WA
-A6DB  ; [.2DE3.0020.0002.A6DB] # BAMUM LETTER NA
-A6DC  ; [.2DE4.0020.0002.A6DC] # BAMUM LETTER LI
-A6DD  ; [.2DE5.0020.0002.A6DD] # BAMUM LETTER PI
-A6DE  ; [.2DE6.0020.0002.A6DE] # BAMUM LETTER LOQ
-A6DF  ; [.2DE7.0020.0002.A6DF] # BAMUM LETTER KO
-A6E0  ; [.2DE8.0020.0002.A6E0] # BAMUM LETTER MBEN
-A6E1  ; [.2DE9.0020.0002.A6E1] # BAMUM LETTER REN
-A6E2  ; [.2DEA.0020.0002.A6E2] # BAMUM LETTER MEN
-A6E3  ; [.2DEB.0020.0002.A6E3] # BAMUM LETTER MA
-A6E4  ; [.2DEC.0020.0002.A6E4] # BAMUM LETTER TI
-A6E5  ; [.2DED.0020.0002.A6E5] # BAMUM LETTER KI
-A6E6  ; [.2DEE.0020.0002.A6E6] # BAMUM LETTER MO
-A6E7  ; [.2DEF.0020.0002.A6E7] # BAMUM LETTER MBAA
-A6E8  ; [.2DF0.0020.0002.A6E8] # BAMUM LETTER TET
-A6E9  ; [.2DF1.0020.0002.A6E9] # BAMUM LETTER KPA
-A6EA  ; [.2DF2.0020.0002.A6EA] # BAMUM LETTER TEN
-A6EB  ; [.2DF3.0020.0002.A6EB] # BAMUM LETTER NTUU
-A6EC  ; [.2DF4.0020.0002.A6EC] # BAMUM LETTER SAMBA
-A6ED  ; [.2DF5.0020.0002.A6ED] # BAMUM LETTER FAAMAE
-A6EE  ; [.2DF6.0020.0002.A6EE] # BAMUM LETTER KOVUU
-A6EF  ; [.2DF7.0020.0002.A6EF] # BAMUM LETTER KOGHOM
-16800 ; [.2DF8.0020.0002.16800] # BAMUM LETTER PHASE-A NGKUE MFON
-16801 ; [.2DF9.0020.0002.16801] # BAMUM LETTER PHASE-A GBIEE FON
-16802 ; [.2DFA.0020.0002.16802] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
-16803 ; [.2DFB.0020.0002.16803] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
-16804 ; [.2DFC.0020.0002.16804] # BAMUM LETTER PHASE-A NAA MFON
-16805 ; [.2DFD.0020.0002.16805] # BAMUM LETTER PHASE-A SHUENSHUET
-16806 ; [.2DFE.0020.0002.16806] # BAMUM LETTER PHASE-A TITA MFON
-16807 ; [.2DFF.0020.0002.16807] # BAMUM LETTER PHASE-A NZA MFON
-16808 ; [.2E00.0020.0002.16808] # BAMUM LETTER PHASE-A SHINDA PA NJI
-16809 ; [.2E01.0020.0002.16809] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
-1680A ; [.2E02.0020.0002.1680A] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
-1680B ; [.2E03.0020.0002.1680B] # BAMUM LETTER PHASE-A MAEMBGBIEE
-1680C ; [.2E04.0020.0002.1680C] # BAMUM LETTER PHASE-A TU MAEMBA
-1680D ; [.2E05.0020.0002.1680D] # BAMUM LETTER PHASE-A NGANGU
-1680E ; [.2E06.0020.0002.1680E] # BAMUM LETTER PHASE-A MAEMVEUX
-1680F ; [.2E07.0020.0002.1680F] # BAMUM LETTER PHASE-A MANSUAE
-16810 ; [.2E08.0020.0002.16810] # BAMUM LETTER PHASE-A MVEUAENGAM
-16811 ; [.2E09.0020.0002.16811] # BAMUM LETTER PHASE-A SEUNYAM
-16812 ; [.2E0A.0020.0002.16812] # BAMUM LETTER PHASE-A NTOQPEN
-16813 ; [.2E0B.0020.0002.16813] # BAMUM LETTER PHASE-A KEUKEUTNDA
-16814 ; [.2E0C.0020.0002.16814] # BAMUM LETTER PHASE-A NKINDI
-16815 ; [.2E0D.0020.0002.16815] # BAMUM LETTER PHASE-A SUU
-16816 ; [.2E0E.0020.0002.16816] # BAMUM LETTER PHASE-A NGKUENZEUM
-16817 ; [.2E0F.0020.0002.16817] # BAMUM LETTER PHASE-A LAPAQ
-16818 ; [.2E10.0020.0002.16818] # BAMUM LETTER PHASE-A LET KUT
-16819 ; [.2E11.0020.0002.16819] # BAMUM LETTER PHASE-A NTAP MFAA
-1681A ; [.2E12.0020.0002.1681A] # BAMUM LETTER PHASE-A MAEKEUP
-1681B ; [.2E13.0020.0002.1681B] # BAMUM LETTER PHASE-A PASHAE
-1681C ; [.2E14.0020.0002.1681C] # BAMUM LETTER PHASE-A GHEUAERAE
-1681D ; [.2E15.0020.0002.1681D] # BAMUM LETTER PHASE-A PAMSHAE
-1681E ; [.2E16.0020.0002.1681E] # BAMUM LETTER PHASE-A MON NGGEUAET
-1681F ; [.2E17.0020.0002.1681F] # BAMUM LETTER PHASE-A NZUN MEUT
-16820 ; [.2E18.0020.0002.16820] # BAMUM LETTER PHASE-A U YUQ NAE
-16821 ; [.2E19.0020.0002.16821] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
-16822 ; [.2E1A.0020.0002.16822] # BAMUM LETTER PHASE-A NTAP NTAA
-16823 ; [.2E1B.0020.0002.16823] # BAMUM LETTER PHASE-A SISA
-16824 ; [.2E1C.0020.0002.16824] # BAMUM LETTER PHASE-A MGBASA
-16825 ; [.2E1D.0020.0002.16825] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
-16826 ; [.2E1E.0020.0002.16826] # BAMUM LETTER PHASE-A MOOMPUQ
-16827 ; [.2E1F.0020.0002.16827] # BAMUM LETTER PHASE-A KAFA
-16828 ; [.2E20.0020.0002.16828] # BAMUM LETTER PHASE-A PA LEERAEWA
-16829 ; [.2E21.0020.0002.16829] # BAMUM LETTER PHASE-A NDA LEERAEWA
-1682A ; [.2E22.0020.0002.1682A] # BAMUM LETTER PHASE-A PET
-1682B ; [.2E23.0020.0002.1682B] # BAMUM LETTER PHASE-A MAEMKPEN
-1682C ; [.2E24.0020.0002.1682C] # BAMUM LETTER PHASE-A NIKA
-1682D ; [.2E25.0020.0002.1682D] # BAMUM LETTER PHASE-A PUP
-1682E ; [.2E26.0020.0002.1682E] # BAMUM LETTER PHASE-A TUAEP
-1682F ; [.2E27.0020.0002.1682F] # BAMUM LETTER PHASE-A LUAEP
-16830 ; [.2E28.0020.0002.16830] # BAMUM LETTER PHASE-A SONJAM
-16831 ; [.2E29.0020.0002.16831] # BAMUM LETTER PHASE-A TEUTEUWEN
-16832 ; [.2E2A.0020.0002.16832] # BAMUM LETTER PHASE-A MAENYI
-16833 ; [.2E2B.0020.0002.16833] # BAMUM LETTER PHASE-A KET
-16834 ; [.2E2C.0020.0002.16834] # BAMUM LETTER PHASE-A NDAANGGEUAET
-16835 ; [.2E2D.0020.0002.16835] # BAMUM LETTER PHASE-A KUOQ
-16836 ; [.2E2E.0020.0002.16836] # BAMUM LETTER PHASE-A MOOMEUT
-16837 ; [.2E2F.0020.0002.16837] # BAMUM LETTER PHASE-A SHUM
-16838 ; [.2E30.0020.0002.16838] # BAMUM LETTER PHASE-A LOMMAE
-16839 ; [.2E31.0020.0002.16839] # BAMUM LETTER PHASE-A FIRI
-1683A ; [.2E32.0020.0002.1683A] # BAMUM LETTER PHASE-A ROM
-1683B ; [.2E33.0020.0002.1683B] # BAMUM LETTER PHASE-A KPOQ
-1683C ; [.2E34.0020.0002.1683C] # BAMUM LETTER PHASE-A SOQ
-1683D ; [.2E35.0020.0002.1683D] # BAMUM LETTER PHASE-A MAP PIEET
-1683E ; [.2E36.0020.0002.1683E] # BAMUM LETTER PHASE-A SHIRAE
-1683F ; [.2E37.0020.0002.1683F] # BAMUM LETTER PHASE-A NTAP
-16840 ; [.2E38.0020.0002.16840] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
-16841 ; [.2E39.0020.0002.16841] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
-16842 ; [.2E3A.0020.0002.16842] # BAMUM LETTER PHASE-A PAARAE
-16843 ; [.2E3B.0020.0002.16843] # BAMUM LETTER PHASE-A NKAARAE
-16844 ; [.2E3C.0020.0002.16844] # BAMUM LETTER PHASE-A UNKNOWN
-16845 ; [.2E3D.0020.0002.16845] # BAMUM LETTER PHASE-A NGGEN
-16846 ; [.2E3E.0020.0002.16846] # BAMUM LETTER PHASE-A MAESI
-16847 ; [.2E3F.0020.0002.16847] # BAMUM LETTER PHASE-A NJAM
-16848 ; [.2E40.0020.0002.16848] # BAMUM LETTER PHASE-A MBANYI
-16849 ; [.2E41.0020.0002.16849] # BAMUM LETTER PHASE-A NYET
-1684A ; [.2E42.0020.0002.1684A] # BAMUM LETTER PHASE-A TEUAEN
-1684B ; [.2E43.0020.0002.1684B] # BAMUM LETTER PHASE-A SOT
-1684C ; [.2E44.0020.0002.1684C] # BAMUM LETTER PHASE-A PAAM
-1684D ; [.2E45.0020.0002.1684D] # BAMUM LETTER PHASE-A NSHIEE
-1684E ; [.2E46.0020.0002.1684E] # BAMUM LETTER PHASE-A MAEM
-1684F ; [.2E47.0020.0002.1684F] # BAMUM LETTER PHASE-A NYI
-16850 ; [.2E48.0020.0002.16850] # BAMUM LETTER PHASE-A KAQ
-16851 ; [.2E49.0020.0002.16851] # BAMUM LETTER PHASE-A NSHA
-16852 ; [.2E4A.0020.0002.16852] # BAMUM LETTER PHASE-A VEE
-16853 ; [.2E4B.0020.0002.16853] # BAMUM LETTER PHASE-A LU
-16854 ; [.2E4C.0020.0002.16854] # BAMUM LETTER PHASE-A NEN
-16855 ; [.2E4D.0020.0002.16855] # BAMUM LETTER PHASE-A NAQ
-16856 ; [.2E4E.0020.0002.16856] # BAMUM LETTER PHASE-A MBAQ
-16857 ; [.2E4F.0020.0002.16857] # BAMUM LETTER PHASE-B NSHUET
-16858 ; [.2E50.0020.0002.16858] # BAMUM LETTER PHASE-B TU MAEMGBIEE
-16859 ; [.2E51.0020.0002.16859] # BAMUM LETTER PHASE-B SIEE
-1685A ; [.2E52.0020.0002.1685A] # BAMUM LETTER PHASE-B SET TU
-1685B ; [.2E53.0020.0002.1685B] # BAMUM LETTER PHASE-B LOM NTEUM
-1685C ; [.2E54.0020.0002.1685C] # BAMUM LETTER PHASE-B MBA MAELEE
-1685D ; [.2E55.0020.0002.1685D] # BAMUM LETTER PHASE-B KIEEM
-1685E ; [.2E56.0020.0002.1685E] # BAMUM LETTER PHASE-B YEURAE
-1685F ; [.2E57.0020.0002.1685F] # BAMUM LETTER PHASE-B MBAARAE
-16860 ; [.2E58.0020.0002.16860] # BAMUM LETTER PHASE-B KAM
-16861 ; [.2E59.0020.0002.16861] # BAMUM LETTER PHASE-B PEESHI
-16862 ; [.2E5A.0020.0002.16862] # BAMUM LETTER PHASE-B YAFU LEERAEWA
-16863 ; [.2E5B.0020.0002.16863] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
-16864 ; [.2E5C.0020.0002.16864] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
-16865 ; [.2E5D.0020.0002.16865] # BAMUM LETTER PHASE-B NDU NJAA
-16866 ; [.2E5E.0020.0002.16866] # BAMUM LETTER PHASE-B GHEUGHEUAEM
-16867 ; [.2E5F.0020.0002.16867] # BAMUM LETTER PHASE-B PIT
-16868 ; [.2E60.0020.0002.16868] # BAMUM LETTER PHASE-B TU NSIEE
-16869 ; [.2E61.0020.0002.16869] # BAMUM LETTER PHASE-B SHET NJAQ
-1686A ; [.2E62.0020.0002.1686A] # BAMUM LETTER PHASE-B SHEUAEQTU
-1686B ; [.2E63.0020.0002.1686B] # BAMUM LETTER PHASE-B MFON TEUAEQ
-1686C ; [.2E64.0020.0002.1686C] # BAMUM LETTER PHASE-B MBIT MBAAKET
-1686D ; [.2E65.0020.0002.1686D] # BAMUM LETTER PHASE-B NYI NTEUM
-1686E ; [.2E66.0020.0002.1686E] # BAMUM LETTER PHASE-B KEUPUQ
-1686F ; [.2E67.0020.0002.1686F] # BAMUM LETTER PHASE-B GHEUGHEN
-16870 ; [.2E68.0020.0002.16870] # BAMUM LETTER PHASE-B KEUYEUX
-16871 ; [.2E69.0020.0002.16871] # BAMUM LETTER PHASE-B LAANAE
-16872 ; [.2E6A.0020.0002.16872] # BAMUM LETTER PHASE-B PARUM
-16873 ; [.2E6B.0020.0002.16873] # BAMUM LETTER PHASE-B VEUM
-16874 ; [.2E6C.0020.0002.16874] # BAMUM LETTER PHASE-B NGKINDI MVOP
-16875 ; [.2E6D.0020.0002.16875] # BAMUM LETTER PHASE-B NGGEU MBU
-16876 ; [.2E6E.0020.0002.16876] # BAMUM LETTER PHASE-B WUAET
-16877 ; [.2E6F.0020.0002.16877] # BAMUM LETTER PHASE-B SAKEUAE
-16878 ; [.2E70.0020.0002.16878] # BAMUM LETTER PHASE-B TAAM
-16879 ; [.2E71.0020.0002.16879] # BAMUM LETTER PHASE-B MEUQ
-1687A ; [.2E72.0020.0002.1687A] # BAMUM LETTER PHASE-B NGGUOQ
-1687B ; [.2E73.0020.0002.1687B] # BAMUM LETTER PHASE-B NGGUOQ LARGE
-1687C ; [.2E74.0020.0002.1687C] # BAMUM LETTER PHASE-B MFIYAQ
-1687D ; [.2E75.0020.0002.1687D] # BAMUM LETTER PHASE-B SUE
-1687E ; [.2E76.0020.0002.1687E] # BAMUM LETTER PHASE-B MBEURI
-1687F ; [.2E77.0020.0002.1687F] # BAMUM LETTER PHASE-B MONTIEEN
-16880 ; [.2E78.0020.0002.16880] # BAMUM LETTER PHASE-B NYAEMAE
-16881 ; [.2E79.0020.0002.16881] # BAMUM LETTER PHASE-B PUNGAAM
-16882 ; [.2E7A.0020.0002.16882] # BAMUM LETTER PHASE-B MEUT NGGEET
-16883 ; [.2E7B.0020.0002.16883] # BAMUM LETTER PHASE-B FEUX
-16884 ; [.2E7C.0020.0002.16884] # BAMUM LETTER PHASE-B MBUOQ
-16885 ; [.2E7D.0020.0002.16885] # BAMUM LETTER PHASE-B FEE
-16886 ; [.2E7E.0020.0002.16886] # BAMUM LETTER PHASE-B KEUAEM
-16887 ; [.2E7F.0020.0002.16887] # BAMUM LETTER PHASE-B MA NJEUAENA
-16888 ; [.2E80.0020.0002.16888] # BAMUM LETTER PHASE-B MA NJUQA
-16889 ; [.2E81.0020.0002.16889] # BAMUM LETTER PHASE-B LET
-1688A ; [.2E82.0020.0002.1688A] # BAMUM LETTER PHASE-B NGGAAM
-1688B ; [.2E83.0020.0002.1688B] # BAMUM LETTER PHASE-B NSEN
-1688C ; [.2E84.0020.0002.1688C] # BAMUM LETTER PHASE-B MA
-1688D ; [.2E85.0020.0002.1688D] # BAMUM LETTER PHASE-B KIQ
-1688E ; [.2E86.0020.0002.1688E] # BAMUM LETTER PHASE-B NGOM
-1688F ; [.2E87.0020.0002.1688F] # BAMUM LETTER PHASE-C NGKUE MAEMBA
-16890 ; [.2E88.0020.0002.16890] # BAMUM LETTER PHASE-C NZA
-16891 ; [.2E89.0020.0002.16891] # BAMUM LETTER PHASE-C YUM
-16892 ; [.2E8A.0020.0002.16892] # BAMUM LETTER PHASE-C WANGKUOQ
-16893 ; [.2E8B.0020.0002.16893] # BAMUM LETTER PHASE-C NGGEN
-16894 ; [.2E8C.0020.0002.16894] # BAMUM LETTER PHASE-C NDEUAEREE
-16895 ; [.2E8D.0020.0002.16895] # BAMUM LETTER PHASE-C NGKAQ
-16896 ; [.2E8E.0020.0002.16896] # BAMUM LETTER PHASE-C GHARAE
-16897 ; [.2E8F.0020.0002.16897] # BAMUM LETTER PHASE-C MBEEKEET
-16898 ; [.2E90.0020.0002.16898] # BAMUM LETTER PHASE-C GBAYI
-16899 ; [.2E91.0020.0002.16899] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
-1689A ; [.2E92.0020.0002.1689A] # BAMUM LETTER PHASE-C NTU MBIT
-1689B ; [.2E93.0020.0002.1689B] # BAMUM LETTER PHASE-C MBEUM
-1689C ; [.2E94.0020.0002.1689C] # BAMUM LETTER PHASE-C PIRIEEN
-1689D ; [.2E95.0020.0002.1689D] # BAMUM LETTER PHASE-C NDOMBU
-1689E ; [.2E96.0020.0002.1689E] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
-1689F ; [.2E97.0020.0002.1689F] # BAMUM LETTER PHASE-C KEUSHEUAEP
-168A0 ; [.2E98.0020.0002.168A0] # BAMUM LETTER PHASE-C GHAP
-168A1 ; [.2E99.0020.0002.168A1] # BAMUM LETTER PHASE-C KEUKAQ
-168A2 ; [.2E9A.0020.0002.168A2] # BAMUM LETTER PHASE-C YU MUOMAE
-168A3 ; [.2E9B.0020.0002.168A3] # BAMUM LETTER PHASE-C NZEUM
-168A4 ; [.2E9C.0020.0002.168A4] # BAMUM LETTER PHASE-C MBUE
-168A5 ; [.2E9D.0020.0002.168A5] # BAMUM LETTER PHASE-C NSEUAEN
-168A6 ; [.2E9E.0020.0002.168A6] # BAMUM LETTER PHASE-C MBIT
-168A7 ; [.2E9F.0020.0002.168A7] # BAMUM LETTER PHASE-C YEUQ
-168A8 ; [.2EA0.0020.0002.168A8] # BAMUM LETTER PHASE-C KPARAQ
-168A9 ; [.2EA1.0020.0002.168A9] # BAMUM LETTER PHASE-C KAA
-168AA ; [.2EA2.0020.0002.168AA] # BAMUM LETTER PHASE-C SEUX
-168AB ; [.2EA3.0020.0002.168AB] # BAMUM LETTER PHASE-C NDIDA
-168AC ; [.2EA4.0020.0002.168AC] # BAMUM LETTER PHASE-C TAASHAE
-168AD ; [.2EA5.0020.0002.168AD] # BAMUM LETTER PHASE-C NJUEQ
-168AE ; [.2EA6.0020.0002.168AE] # BAMUM LETTER PHASE-C TITA YUE
-168AF ; [.2EA7.0020.0002.168AF] # BAMUM LETTER PHASE-C SUAET
-168B0 ; [.2EA8.0020.0002.168B0] # BAMUM LETTER PHASE-C NGGUAEN NYAM
-168B1 ; [.2EA9.0020.0002.168B1] # BAMUM LETTER PHASE-C VEUX
-168B2 ; [.2EAA.0020.0002.168B2] # BAMUM LETTER PHASE-C NANSANAQ
-168B3 ; [.2EAB.0020.0002.168B3] # BAMUM LETTER PHASE-C MA KEUAERI
-168B4 ; [.2EAC.0020.0002.168B4] # BAMUM LETTER PHASE-C NTAA
-168B5 ; [.2EAD.0020.0002.168B5] # BAMUM LETTER PHASE-C NGGUON
-168B6 ; [.2EAE.0020.0002.168B6] # BAMUM LETTER PHASE-C LAP
-168B7 ; [.2EAF.0020.0002.168B7] # BAMUM LETTER PHASE-C MBIRIEEN
-168B8 ; [.2EB0.0020.0002.168B8] # BAMUM LETTER PHASE-C MGBASAQ
-168B9 ; [.2EB1.0020.0002.168B9] # BAMUM LETTER PHASE-C NTEUNGBA
-168BA ; [.2EB2.0020.0002.168BA] # BAMUM LETTER PHASE-C TEUTEUX
-168BB ; [.2EB3.0020.0002.168BB] # BAMUM LETTER PHASE-C NGGUM
-168BC ; [.2EB4.0020.0002.168BC] # BAMUM LETTER PHASE-C FUE
-168BD ; [.2EB5.0020.0002.168BD] # BAMUM LETTER PHASE-C NDEUT
-168BE ; [.2EB6.0020.0002.168BE] # BAMUM LETTER PHASE-C NSA
-168BF ; [.2EB7.0020.0002.168BF] # BAMUM LETTER PHASE-C NSHAQ
-168C0 ; [.2EB8.0020.0002.168C0] # BAMUM LETTER PHASE-C BUNG
-168C1 ; [.2EB9.0020.0002.168C1] # BAMUM LETTER PHASE-C VEUAEPEN
-168C2 ; [.2EBA.0020.0002.168C2] # BAMUM LETTER PHASE-C MBERAE
-168C3 ; [.2EBB.0020.0002.168C3] # BAMUM LETTER PHASE-C RU
-168C4 ; [.2EBC.0020.0002.168C4] # BAMUM LETTER PHASE-C NJAEM
-168C5 ; [.2EBD.0020.0002.168C5] # BAMUM LETTER PHASE-C LAM
-168C6 ; [.2EBE.0020.0002.168C6] # BAMUM LETTER PHASE-C TITUAEP
-168C7 ; [.2EBF.0020.0002.168C7] # BAMUM LETTER PHASE-C NSUOT NGOM
-168C8 ; [.2EC0.0020.0002.168C8] # BAMUM LETTER PHASE-C NJEEEE
-168C9 ; [.2EC1.0020.0002.168C9] # BAMUM LETTER PHASE-C KET
-168CA ; [.2EC2.0020.0002.168CA] # BAMUM LETTER PHASE-C NGGU
-168CB ; [.2EC3.0020.0002.168CB] # BAMUM LETTER PHASE-C MAESI
-168CC ; [.2EC4.0020.0002.168CC] # BAMUM LETTER PHASE-C MBUAEM
-168CD ; [.2EC5.0020.0002.168CD] # BAMUM LETTER PHASE-C LU
-168CE ; [.2EC6.0020.0002.168CE] # BAMUM LETTER PHASE-C KUT
-168CF ; [.2EC7.0020.0002.168CF] # BAMUM LETTER PHASE-C NJAM
-168D0 ; [.2EC8.0020.0002.168D0] # BAMUM LETTER PHASE-C NGOM
-168D1 ; [.2EC9.0020.0002.168D1] # BAMUM LETTER PHASE-C WUP
-168D2 ; [.2ECA.0020.0002.168D2] # BAMUM LETTER PHASE-C NGGUEET
-168D3 ; [.2ECB.0020.0002.168D3] # BAMUM LETTER PHASE-C NSOM
-168D4 ; [.2ECC.0020.0002.168D4] # BAMUM LETTER PHASE-C NTEN
-168D5 ; [.2ECD.0020.0002.168D5] # BAMUM LETTER PHASE-C KUOP NKAARAE
-168D6 ; [.2ECE.0020.0002.168D6] # BAMUM LETTER PHASE-C NSUN
-168D7 ; [.2ECF.0020.0002.168D7] # BAMUM LETTER PHASE-C NDAM
-168D8 ; [.2ED0.0020.0002.168D8] # BAMUM LETTER PHASE-C MA NSIEE
-168D9 ; [.2ED1.0020.0002.168D9] # BAMUM LETTER PHASE-C YAA
-168DA ; [.2ED2.0020.0002.168DA] # BAMUM LETTER PHASE-C NDAP
-168DB ; [.2ED3.0020.0002.168DB] # BAMUM LETTER PHASE-C SHUEQ
-168DC ; [.2ED4.0020.0002.168DC] # BAMUM LETTER PHASE-C SETFON
-168DD ; [.2ED5.0020.0002.168DD] # BAMUM LETTER PHASE-C MBI
-168DE ; [.2ED6.0020.0002.168DE] # BAMUM LETTER PHASE-C MAEMBA
-168DF ; [.2ED7.0020.0002.168DF] # BAMUM LETTER PHASE-C MBANYI
-168E0 ; [.2ED8.0020.0002.168E0] # BAMUM LETTER PHASE-C KEUSEUX
-168E1 ; [.2ED9.0020.0002.168E1] # BAMUM LETTER PHASE-C MBEUX
-168E2 ; [.2EDA.0020.0002.168E2] # BAMUM LETTER PHASE-C KEUM
-168E3 ; [.2EDB.0020.0002.168E3] # BAMUM LETTER PHASE-C MBAA PICKET
-168E4 ; [.2EDC.0020.0002.168E4] # BAMUM LETTER PHASE-C YUWOQ
-168E5 ; [.2EDD.0020.0002.168E5] # BAMUM LETTER PHASE-C NJEUX
-168E6 ; [.2EDE.0020.0002.168E6] # BAMUM LETTER PHASE-C MIEE
-168E7 ; [.2EDF.0020.0002.168E7] # BAMUM LETTER PHASE-C MUAE
-168E8 ; [.2EE0.0020.0002.168E8] # BAMUM LETTER PHASE-C SHIQ
-168E9 ; [.2EE1.0020.0002.168E9] # BAMUM LETTER PHASE-C KEN LAW
-168EA ; [.2EE2.0020.0002.168EA] # BAMUM LETTER PHASE-C KEN FATIGUE
-168EB ; [.2EE3.0020.0002.168EB] # BAMUM LETTER PHASE-C NGAQ
-168EC ; [.2EE4.0020.0002.168EC] # BAMUM LETTER PHASE-C NAQ
-168ED ; [.2EE5.0020.0002.168ED] # BAMUM LETTER PHASE-C LIQ
-168EE ; [.2EE6.0020.0002.168EE] # BAMUM LETTER PHASE-C PIN
-168EF ; [.2EE7.0020.0002.168EF] # BAMUM LETTER PHASE-C PEN
-168F0 ; [.2EE8.0020.0002.168F0] # BAMUM LETTER PHASE-C TET
-168F1 ; [.2EE9.0020.0002.168F1] # BAMUM LETTER PHASE-D MBUO
-168F2 ; [.2EEA.0020.0002.168F2] # BAMUM LETTER PHASE-D WAP
-168F3 ; [.2EEB.0020.0002.168F3] # BAMUM LETTER PHASE-D NJI
-168F4 ; [.2EEC.0020.0002.168F4] # BAMUM LETTER PHASE-D MFON
-168F5 ; [.2EED.0020.0002.168F5] # BAMUM LETTER PHASE-D NJIEE
-168F6 ; [.2EEE.0020.0002.168F6] # BAMUM LETTER PHASE-D LIEE
-168F7 ; [.2EEF.0020.0002.168F7] # BAMUM LETTER PHASE-D NJEUT
-168F8 ; [.2EF0.0020.0002.168F8] # BAMUM LETTER PHASE-D NSHEE
-168F9 ; [.2EF1.0020.0002.168F9] # BAMUM LETTER PHASE-D NGGAAMAE
-168FA ; [.2EF2.0020.0002.168FA] # BAMUM LETTER PHASE-D NYAM
-168FB ; [.2EF3.0020.0002.168FB] # BAMUM LETTER PHASE-D WUAEN
-168FC ; [.2EF4.0020.0002.168FC] # BAMUM LETTER PHASE-D NGKUN
-168FD ; [.2EF5.0020.0002.168FD] # BAMUM LETTER PHASE-D SHEE
-168FE ; [.2EF6.0020.0002.168FE] # BAMUM LETTER PHASE-D NGKAP
-168FF ; [.2EF7.0020.0002.168FF] # BAMUM LETTER PHASE-D KEUAETMEUN
-16900 ; [.2EF8.0020.0002.16900] # BAMUM LETTER PHASE-D TEUT
-16901 ; [.2EF9.0020.0002.16901] # BAMUM LETTER PHASE-D SHEUAE
-16902 ; [.2EFA.0020.0002.16902] # BAMUM LETTER PHASE-D NJAP
-16903 ; [.2EFB.0020.0002.16903] # BAMUM LETTER PHASE-D SUE
-16904 ; [.2EFC.0020.0002.16904] # BAMUM LETTER PHASE-D KET
-16905 ; [.2EFD.0020.0002.16905] # BAMUM LETTER PHASE-D YAEMMAE
-16906 ; [.2EFE.0020.0002.16906] # BAMUM LETTER PHASE-D KUOM
-16907 ; [.2EFF.0020.0002.16907] # BAMUM LETTER PHASE-D SAP
-16908 ; [.2F00.0020.0002.16908] # BAMUM LETTER PHASE-D MFEUT
-16909 ; [.2F01.0020.0002.16909] # BAMUM LETTER PHASE-D NDEUX
-1690A ; [.2F02.0020.0002.1690A] # BAMUM LETTER PHASE-D MALEERI
-1690B ; [.2F03.0020.0002.1690B] # BAMUM LETTER PHASE-D MEUT
-1690C ; [.2F04.0020.0002.1690C] # BAMUM LETTER PHASE-D SEUAEQ
-1690D ; [.2F05.0020.0002.1690D] # BAMUM LETTER PHASE-D YEN
-1690E ; [.2F06.0020.0002.1690E] # BAMUM LETTER PHASE-D NJEUAEM
-1690F ; [.2F07.0020.0002.1690F] # BAMUM LETTER PHASE-D KEUOT MBUAE
-16910 ; [.2F08.0020.0002.16910] # BAMUM LETTER PHASE-D NGKEURI
-16911 ; [.2F09.0020.0002.16911] # BAMUM LETTER PHASE-D TU
-16912 ; [.2F0A.0020.0002.16912] # BAMUM LETTER PHASE-D GHAA
-16913 ; [.2F0B.0020.0002.16913] # BAMUM LETTER PHASE-D NGKYEE
-16914 ; [.2F0C.0020.0002.16914] # BAMUM LETTER PHASE-D FEUFEUAET
-16915 ; [.2F0D.0020.0002.16915] # BAMUM LETTER PHASE-D NDEE
-16916 ; [.2F0E.0020.0002.16916] # BAMUM LETTER PHASE-D MGBOFUM
-16917 ; [.2F0F.0020.0002.16917] # BAMUM LETTER PHASE-D LEUAEP
-16918 ; [.2F10.0020.0002.16918] # BAMUM LETTER PHASE-D NDON
-16919 ; [.2F11.0020.0002.16919] # BAMUM LETTER PHASE-D MONI
-1691A ; [.2F12.0020.0002.1691A] # BAMUM LETTER PHASE-D MGBEUN
-1691B ; [.2F13.0020.0002.1691B] # BAMUM LETTER PHASE-D PUUT
-1691C ; [.2F14.0020.0002.1691C] # BAMUM LETTER PHASE-D MGBIEE
-1691D ; [.2F15.0020.0002.1691D] # BAMUM LETTER PHASE-D MFO
-1691E ; [.2F16.0020.0002.1691E] # BAMUM LETTER PHASE-D LUM
-1691F ; [.2F17.0020.0002.1691F] # BAMUM LETTER PHASE-D NSIEEP
-16920 ; [.2F18.0020.0002.16920] # BAMUM LETTER PHASE-D MBAA
-16921 ; [.2F19.0020.0002.16921] # BAMUM LETTER PHASE-D KWAET
-16922 ; [.2F1A.0020.0002.16922] # BAMUM LETTER PHASE-D NYET
-16923 ; [.2F1B.0020.0002.16923] # BAMUM LETTER PHASE-D TEUAEN
-16924 ; [.2F1C.0020.0002.16924] # BAMUM LETTER PHASE-D SOT
-16925 ; [.2F1D.0020.0002.16925] # BAMUM LETTER PHASE-D YUWOQ
-16926 ; [.2F1E.0020.0002.16926] # BAMUM LETTER PHASE-D KEUM
-16927 ; [.2F1F.0020.0002.16927] # BAMUM LETTER PHASE-D RAEM
-16928 ; [.2F20.0020.0002.16928] # BAMUM LETTER PHASE-D TEEEE
-16929 ; [.2F21.0020.0002.16929] # BAMUM LETTER PHASE-D NGKEUAEQ
-1692A ; [.2F22.0020.0002.1692A] # BAMUM LETTER PHASE-D MFEUAE
-1692B ; [.2F23.0020.0002.1692B] # BAMUM LETTER PHASE-D NSIEET
-1692C ; [.2F24.0020.0002.1692C] # BAMUM LETTER PHASE-D KEUP
-1692D ; [.2F25.0020.0002.1692D] # BAMUM LETTER PHASE-D PIP
-1692E ; [.2F26.0020.0002.1692E] # BAMUM LETTER PHASE-D PEUTAE
-1692F ; [.2F27.0020.0002.1692F] # BAMUM LETTER PHASE-D NYUE
-16930 ; [.2F28.0020.0002.16930] # BAMUM LETTER PHASE-D LET
-16931 ; [.2F29.0020.0002.16931] # BAMUM LETTER PHASE-D NGGAAM
-16932 ; [.2F2A.0020.0002.16932] # BAMUM LETTER PHASE-D MFIEE
-16933 ; [.2F2B.0020.0002.16933] # BAMUM LETTER PHASE-D NGGWAEN
-16934 ; [.2F2C.0020.0002.16934] # BAMUM LETTER PHASE-D YUOM
-16935 ; [.2F2D.0020.0002.16935] # BAMUM LETTER PHASE-D PAP
-16936 ; [.2F2E.0020.0002.16936] # BAMUM LETTER PHASE-D YUOP
-16937 ; [.2F2F.0020.0002.16937] # BAMUM LETTER PHASE-D NDAM
-16938 ; [.2F30.0020.0002.16938] # BAMUM LETTER PHASE-D NTEUM
-16939 ; [.2F31.0020.0002.16939] # BAMUM LETTER PHASE-D SUAE
-1693A ; [.2F32.0020.0002.1693A] # BAMUM LETTER PHASE-D KUN
-1693B ; [.2F33.0020.0002.1693B] # BAMUM LETTER PHASE-D NGGEUX
-1693C ; [.2F34.0020.0002.1693C] # BAMUM LETTER PHASE-D NGKIEE
-1693D ; [.2F35.0020.0002.1693D] # BAMUM LETTER PHASE-D TUOT
-1693E ; [.2F36.0020.0002.1693E] # BAMUM LETTER PHASE-D MEUN
-1693F ; [.2F37.0020.0002.1693F] # BAMUM LETTER PHASE-D KUQ
-16940 ; [.2F38.0020.0002.16940] # BAMUM LETTER PHASE-D NSUM
-16941 ; [.2F39.0020.0002.16941] # BAMUM LETTER PHASE-D TEUN
-16942 ; [.2F3A.0020.0002.16942] # BAMUM LETTER PHASE-D MAENJET
-16943 ; [.2F3B.0020.0002.16943] # BAMUM LETTER PHASE-D NGGAP
-16944 ; [.2F3C.0020.0002.16944] # BAMUM LETTER PHASE-D LEUM
-16945 ; [.2F3D.0020.0002.16945] # BAMUM LETTER PHASE-D NGGUOM
-16946 ; [.2F3E.0020.0002.16946] # BAMUM LETTER PHASE-D NSHUT
-16947 ; [.2F3F.0020.0002.16947] # BAMUM LETTER PHASE-D NJUEQ
-16948 ; [.2F40.0020.0002.16948] # BAMUM LETTER PHASE-D GHEUAE
-16949 ; [.2F41.0020.0002.16949] # BAMUM LETTER PHASE-D KU
-1694A ; [.2F42.0020.0002.1694A] # BAMUM LETTER PHASE-D REN OLD
-1694B ; [.2F43.0020.0002.1694B] # BAMUM LETTER PHASE-D TAE
-1694C ; [.2F44.0020.0002.1694C] # BAMUM LETTER PHASE-D TOQ
-1694D ; [.2F45.0020.0002.1694D] # BAMUM LETTER PHASE-D NYI
-1694E ; [.2F46.0020.0002.1694E] # BAMUM LETTER PHASE-D RII
-1694F ; [.2F47.0020.0002.1694F] # BAMUM LETTER PHASE-D LEEEE
-16950 ; [.2F48.0020.0002.16950] # BAMUM LETTER PHASE-D MEEEE
-16951 ; [.2F49.0020.0002.16951] # BAMUM LETTER PHASE-D M
-16952 ; [.2F4A.0020.0002.16952] # BAMUM LETTER PHASE-D SUU
-16953 ; [.2F4B.0020.0002.16953] # BAMUM LETTER PHASE-D MU
-16954 ; [.2F4C.0020.0002.16954] # BAMUM LETTER PHASE-D SHII
-16955 ; [.2F4D.0020.0002.16955] # BAMUM LETTER PHASE-D SHEUX
-16956 ; [.2F4E.0020.0002.16956] # BAMUM LETTER PHASE-D KYEE
-16957 ; [.2F4F.0020.0002.16957] # BAMUM LETTER PHASE-D NU
-16958 ; [.2F50.0020.0002.16958] # BAMUM LETTER PHASE-D SHU
-16959 ; [.2F51.0020.0002.16959] # BAMUM LETTER PHASE-D NTEE
-1695A ; [.2F52.0020.0002.1695A] # BAMUM LETTER PHASE-D PEE
-1695B ; [.2F53.0020.0002.1695B] # BAMUM LETTER PHASE-D NI
-1695C ; [.2F54.0020.0002.1695C] # BAMUM LETTER PHASE-D SHOQ
-1695D ; [.2F55.0020.0002.1695D] # BAMUM LETTER PHASE-D PUQ
-1695E ; [.2F56.0020.0002.1695E] # BAMUM LETTER PHASE-D MVOP
-1695F ; [.2F57.0020.0002.1695F] # BAMUM LETTER PHASE-D LOQ
-16960 ; [.2F58.0020.0002.16960] # BAMUM LETTER PHASE-D REN MUCH
-16961 ; [.2F59.0020.0002.16961] # BAMUM LETTER PHASE-D TI
-16962 ; [.2F5A.0020.0002.16962] # BAMUM LETTER PHASE-D NTUU
-16963 ; [.2F5B.0020.0002.16963] # BAMUM LETTER PHASE-D MBAA SEVEN
-16964 ; [.2F5C.0020.0002.16964] # BAMUM LETTER PHASE-D SAQ
-16965 ; [.2F5D.0020.0002.16965] # BAMUM LETTER PHASE-D FAA
-16966 ; [.2F5E.0020.0002.16966] # BAMUM LETTER PHASE-E NDAP
-16967 ; [.2F5F.0020.0002.16967] # BAMUM LETTER PHASE-E TOON
-16968 ; [.2F60.0020.0002.16968] # BAMUM LETTER PHASE-E MBEUM
-16969 ; [.2F61.0020.0002.16969] # BAMUM LETTER PHASE-E LAP
-1696A ; [.2F62.0020.0002.1696A] # BAMUM LETTER PHASE-E VOM
-1696B ; [.2F63.0020.0002.1696B] # BAMUM LETTER PHASE-E LOON
-1696C ; [.2F64.0020.0002.1696C] # BAMUM LETTER PHASE-E PAA
-1696D ; [.2F65.0020.0002.1696D] # BAMUM LETTER PHASE-E SOM
-1696E ; [.2F66.0020.0002.1696E] # BAMUM LETTER PHASE-E RAQ
-1696F ; [.2F67.0020.0002.1696F] # BAMUM LETTER PHASE-E NSHUOP
-16970 ; [.2F68.0020.0002.16970] # BAMUM LETTER PHASE-E NDUN
-16971 ; [.2F69.0020.0002.16971] # BAMUM LETTER PHASE-E PUAE
-16972 ; [.2F6A.0020.0002.16972] # BAMUM LETTER PHASE-E TAM
-16973 ; [.2F6B.0020.0002.16973] # BAMUM LETTER PHASE-E NGKA
-16974 ; [.2F6C.0020.0002.16974] # BAMUM LETTER PHASE-E KPEUX
-16975 ; [.2F6D.0020.0002.16975] # BAMUM LETTER PHASE-E WUO
-16976 ; [.2F6E.0020.0002.16976] # BAMUM LETTER PHASE-E SEE
-16977 ; [.2F6F.0020.0002.16977] # BAMUM LETTER PHASE-E NGGEUAET
-16978 ; [.2F70.0020.0002.16978] # BAMUM LETTER PHASE-E PAAM
-16979 ; [.2F71.0020.0002.16979] # BAMUM LETTER PHASE-E TOO
-1697A ; [.2F72.0020.0002.1697A] # BAMUM LETTER PHASE-E KUOP
-1697B ; [.2F73.0020.0002.1697B] # BAMUM LETTER PHASE-E LOM
-1697C ; [.2F74.0020.0002.1697C] # BAMUM LETTER PHASE-E NSHIEE
-1697D ; [.2F75.0020.0002.1697D] # BAMUM LETTER PHASE-E NGOP
-1697E ; [.2F76.0020.0002.1697E] # BAMUM LETTER PHASE-E MAEM
-1697F ; [.2F77.0020.0002.1697F] # BAMUM LETTER PHASE-E NGKEUX
-16980 ; [.2F78.0020.0002.16980] # BAMUM LETTER PHASE-E NGOQ
-16981 ; [.2F79.0020.0002.16981] # BAMUM LETTER PHASE-E NSHUE
-16982 ; [.2F7A.0020.0002.16982] # BAMUM LETTER PHASE-E RIMGBA
-16983 ; [.2F7B.0020.0002.16983] # BAMUM LETTER PHASE-E NJEUX
-16984 ; [.2F7C.0020.0002.16984] # BAMUM LETTER PHASE-E PEEM
-16985 ; [.2F7D.0020.0002.16985] # BAMUM LETTER PHASE-E SAA
-16986 ; [.2F7E.0020.0002.16986] # BAMUM LETTER PHASE-E NGGURAE
-16987 ; [.2F7F.0020.0002.16987] # BAMUM LETTER PHASE-E MGBA
-16988 ; [.2F80.0020.0002.16988] # BAMUM LETTER PHASE-E GHEUX
-16989 ; [.2F81.0020.0002.16989] # BAMUM LETTER PHASE-E NGKEUAEM
-1698A ; [.2F82.0020.0002.1698A] # BAMUM LETTER PHASE-E NJAEMLI
-1698B ; [.2F83.0020.0002.1698B] # BAMUM LETTER PHASE-E MAP
-1698C ; [.2F84.0020.0002.1698C] # BAMUM LETTER PHASE-E LOOT
-1698D ; [.2F85.0020.0002.1698D] # BAMUM LETTER PHASE-E NGGEEEE
-1698E ; [.2F86.0020.0002.1698E] # BAMUM LETTER PHASE-E NDIQ
-1698F ; [.2F87.0020.0002.1698F] # BAMUM LETTER PHASE-E TAEN NTEUM
-16990 ; [.2F88.0020.0002.16990] # BAMUM LETTER PHASE-E SET
-16991 ; [.2F89.0020.0002.16991] # BAMUM LETTER PHASE-E PUM
-16992 ; [.2F8A.0020.0002.16992] # BAMUM LETTER PHASE-E NDAA SOFTNESS
-16993 ; [.2F8B.0020.0002.16993] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
-16994 ; [.2F8C.0020.0002.16994] # BAMUM LETTER PHASE-E YIEE
-16995 ; [.2F8D.0020.0002.16995] # BAMUM LETTER PHASE-E GHEUN
-16996 ; [.2F8E.0020.0002.16996] # BAMUM LETTER PHASE-E TUAE
-16997 ; [.2F8F.0020.0002.16997] # BAMUM LETTER PHASE-E YEUAE
-16998 ; [.2F90.0020.0002.16998] # BAMUM LETTER PHASE-E PO
-16999 ; [.2F91.0020.0002.16999] # BAMUM LETTER PHASE-E TUMAE
-1699A ; [.2F92.0020.0002.1699A] # BAMUM LETTER PHASE-E KEUAE
-1699B ; [.2F93.0020.0002.1699B] # BAMUM LETTER PHASE-E SUAEN
-1699C ; [.2F94.0020.0002.1699C] # BAMUM LETTER PHASE-E TEUAEQ
-1699D ; [.2F95.0020.0002.1699D] # BAMUM LETTER PHASE-E VEUAE
-1699E ; [.2F96.0020.0002.1699E] # BAMUM LETTER PHASE-E WEUX
-1699F ; [.2F97.0020.0002.1699F] # BAMUM LETTER PHASE-E LAAM
-169A0 ; [.2F98.0020.0002.169A0] # BAMUM LETTER PHASE-E PU
-169A1 ; [.2F99.0020.0002.169A1] # BAMUM LETTER PHASE-E TAAQ
-169A2 ; [.2F9A.0020.0002.169A2] # BAMUM LETTER PHASE-E GHAAMAE
-169A3 ; [.2F9B.0020.0002.169A3] # BAMUM LETTER PHASE-E NGEUREUT
-169A4 ; [.2F9C.0020.0002.169A4] # BAMUM LETTER PHASE-E SHEUAEQ
-169A5 ; [.2F9D.0020.0002.169A5] # BAMUM LETTER PHASE-E MGBEN
-169A6 ; [.2F9E.0020.0002.169A6] # BAMUM LETTER PHASE-E MBEE
-169A7 ; [.2F9F.0020.0002.169A7] # BAMUM LETTER PHASE-E NZAQ
-169A8 ; [.2FA0.0020.0002.169A8] # BAMUM LETTER PHASE-E NKOM
-169A9 ; [.2FA1.0020.0002.169A9] # BAMUM LETTER PHASE-E GBET
-169AA ; [.2FA2.0020.0002.169AA] # BAMUM LETTER PHASE-E TUM
-169AB ; [.2FA3.0020.0002.169AB] # BAMUM LETTER PHASE-E KUET
-169AC ; [.2FA4.0020.0002.169AC] # BAMUM LETTER PHASE-E YAP
-169AD ; [.2FA5.0020.0002.169AD] # BAMUM LETTER PHASE-E NYI CLEAVER
-169AE ; [.2FA6.0020.0002.169AE] # BAMUM LETTER PHASE-E YIT
-169AF ; [.2FA7.0020.0002.169AF] # BAMUM LETTER PHASE-E MFEUQ
-169B0 ; [.2FA8.0020.0002.169B0] # BAMUM LETTER PHASE-E NDIAQ
-169B1 ; [.2FA9.0020.0002.169B1] # BAMUM LETTER PHASE-E PIEEQ
-169B2 ; [.2FAA.0020.0002.169B2] # BAMUM LETTER PHASE-E YUEQ
-169B3 ; [.2FAB.0020.0002.169B3] # BAMUM LETTER PHASE-E LEUAEM
-169B4 ; [.2FAC.0020.0002.169B4] # BAMUM LETTER PHASE-E FUE
-169B5 ; [.2FAD.0020.0002.169B5] # BAMUM LETTER PHASE-E GBEUX
-169B6 ; [.2FAE.0020.0002.169B6] # BAMUM LETTER PHASE-E NGKUP
-169B7 ; [.2FAF.0020.0002.169B7] # BAMUM LETTER PHASE-E KET
-169B8 ; [.2FB0.0020.0002.169B8] # BAMUM LETTER PHASE-E MAE
-169B9 ; [.2FB1.0020.0002.169B9] # BAMUM LETTER PHASE-E NGKAAMI
-169BA ; [.2FB2.0020.0002.169BA] # BAMUM LETTER PHASE-E GHET
-169BB ; [.2FB3.0020.0002.169BB] # BAMUM LETTER PHASE-E FA
-169BC ; [.2FB4.0020.0002.169BC] # BAMUM LETTER PHASE-E NTUM
-169BD ; [.2FB5.0020.0002.169BD] # BAMUM LETTER PHASE-E PEUT
-169BE ; [.2FB6.0020.0002.169BE] # BAMUM LETTER PHASE-E YEUM
-169BF ; [.2FB7.0020.0002.169BF] # BAMUM LETTER PHASE-E NGGEUAE
-169C0 ; [.2FB8.0020.0002.169C0] # BAMUM LETTER PHASE-E NYI BETWEEN
-169C1 ; [.2FB9.0020.0002.169C1] # BAMUM LETTER PHASE-E NZUQ
-169C2 ; [.2FBA.0020.0002.169C2] # BAMUM LETTER PHASE-E POON
-169C3 ; [.2FBB.0020.0002.169C3] # BAMUM LETTER PHASE-E MIEE
-169C4 ; [.2FBC.0020.0002.169C4] # BAMUM LETTER PHASE-E FUET
-169C5 ; [.2FBD.0020.0002.169C5] # BAMUM LETTER PHASE-E NAE
-169C6 ; [.2FBE.0020.0002.169C6] # BAMUM LETTER PHASE-E MUAE
-169C7 ; [.2FBF.0020.0002.169C7] # BAMUM LETTER PHASE-E GHEUAE
-169C8 ; [.2FC0.0020.0002.169C8] # BAMUM LETTER PHASE-E FU I
-169C9 ; [.2FC1.0020.0002.169C9] # BAMUM LETTER PHASE-E MVI
-169CA ; [.2FC2.0020.0002.169CA] # BAMUM LETTER PHASE-E PUAQ
-169CB ; [.2FC3.0020.0002.169CB] # BAMUM LETTER PHASE-E NGKUM
-169CC ; [.2FC4.0020.0002.169CC] # BAMUM LETTER PHASE-E KUT
-169CD ; [.2FC5.0020.0002.169CD] # BAMUM LETTER PHASE-E PIET
-169CE ; [.2FC6.0020.0002.169CE] # BAMUM LETTER PHASE-E NTAP
-169CF ; [.2FC7.0020.0002.169CF] # BAMUM LETTER PHASE-E YEUAET
-169D0 ; [.2FC8.0020.0002.169D0] # BAMUM LETTER PHASE-E NGGUP
-169D1 ; [.2FC9.0020.0002.169D1] # BAMUM LETTER PHASE-E PA PEOPLE
-169D2 ; [.2FCA.0020.0002.169D2] # BAMUM LETTER PHASE-E FU CALL
-169D3 ; [.2FCB.0020.0002.169D3] # BAMUM LETTER PHASE-E FOM
-169D4 ; [.2FCC.0020.0002.169D4] # BAMUM LETTER PHASE-E NJEE
-169D5 ; [.2FCD.0020.0002.169D5] # BAMUM LETTER PHASE-E A
-169D6 ; [.2FCE.0020.0002.169D6] # BAMUM LETTER PHASE-E TOQ
-169D7 ; [.2FCF.0020.0002.169D7] # BAMUM LETTER PHASE-E O
-169D8 ; [.2FD0.0020.0002.169D8] # BAMUM LETTER PHASE-E I
-169D9 ; [.2FD1.0020.0002.169D9] # BAMUM LETTER PHASE-E LAQ
-169DA ; [.2FD2.0020.0002.169DA] # BAMUM LETTER PHASE-E PA PLURAL
-169DB ; [.2FD3.0020.0002.169DB] # BAMUM LETTER PHASE-E TAA
-169DC ; [.2FD4.0020.0002.169DC] # BAMUM LETTER PHASE-E TAQ
-169DD ; [.2FD5.0020.0002.169DD] # BAMUM LETTER PHASE-E NDAA MY HOUSE
-169DE ; [.2FD6.0020.0002.169DE] # BAMUM LETTER PHASE-E SHIQ
-169DF ; [.2FD7.0020.0002.169DF] # BAMUM LETTER PHASE-E YEUX
-169E0 ; [.2FD8.0020.0002.169E0] # BAMUM LETTER PHASE-E NGUAE
-169E1 ; [.2FD9.0020.0002.169E1] # BAMUM LETTER PHASE-E YUAEN
-169E2 ; [.2FDA.0020.0002.169E2] # BAMUM LETTER PHASE-E YOQ SWIMMING
-169E3 ; [.2FDB.0020.0002.169E3] # BAMUM LETTER PHASE-E YOQ COVER
-169E4 ; [.2FDC.0020.0002.169E4] # BAMUM LETTER PHASE-E YUQ
-169E5 ; [.2FDD.0020.0002.169E5] # BAMUM LETTER PHASE-E YUN
-169E6 ; [.2FDE.0020.0002.169E6] # BAMUM LETTER PHASE-E KEUX
-169E7 ; [.2FDF.0020.0002.169E7] # BAMUM LETTER PHASE-E PEUX
-169E8 ; [.2FE0.0020.0002.169E8] # BAMUM LETTER PHASE-E NJEE EPOCH
-169E9 ; [.2FE1.0020.0002.169E9] # BAMUM LETTER PHASE-E PUE
-169EA ; [.2FE2.0020.0002.169EA] # BAMUM LETTER PHASE-E WUE
-169EB ; [.2FE3.0020.0002.169EB] # BAMUM LETTER PHASE-E FEE
-169EC ; [.2FE4.0020.0002.169EC] # BAMUM LETTER PHASE-E VEE
-169ED ; [.2FE5.0020.0002.169ED] # BAMUM LETTER PHASE-E LU
-169EE ; [.2FE6.0020.0002.169EE] # BAMUM LETTER PHASE-E MI
-169EF ; [.2FE7.0020.0002.169EF] # BAMUM LETTER PHASE-E REUX
-169F0 ; [.2FE8.0020.0002.169F0] # BAMUM LETTER PHASE-E RAE
-169F1 ; [.2FE9.0020.0002.169F1] # BAMUM LETTER PHASE-E NGUAET
-169F2 ; [.2FEA.0020.0002.169F2] # BAMUM LETTER PHASE-E NGA
-169F3 ; [.2FEB.0020.0002.169F3] # BAMUM LETTER PHASE-E SHO
-169F4 ; [.2FEC.0020.0002.169F4] # BAMUM LETTER PHASE-E SHOQ
-169F5 ; [.2FED.0020.0002.169F5] # BAMUM LETTER PHASE-E FU REMEDY
-169F6 ; [.2FEE.0020.0002.169F6] # BAMUM LETTER PHASE-E NA
-169F7 ; [.2FEF.0020.0002.169F7] # BAMUM LETTER PHASE-E PI
-169F8 ; [.2FF0.0020.0002.169F8] # BAMUM LETTER PHASE-E LOQ
-169F9 ; [.2FF1.0020.0002.169F9] # BAMUM LETTER PHASE-E KO
-169FA ; [.2FF2.0020.0002.169FA] # BAMUM LETTER PHASE-E MEN
-169FB ; [.2FF3.0020.0002.169FB] # BAMUM LETTER PHASE-E MA
-169FC ; [.2FF4.0020.0002.169FC] # BAMUM LETTER PHASE-E MAQ
-169FD ; [.2FF5.0020.0002.169FD] # BAMUM LETTER PHASE-E TEU
-169FE ; [.2FF6.0020.0002.169FE] # BAMUM LETTER PHASE-E KI
-169FF ; [.2FF7.0020.0002.169FF] # BAMUM LETTER PHASE-E MON
-16A00 ; [.2FF8.0020.0002.16A00] # BAMUM LETTER PHASE-E TEN
-16A01 ; [.2FF9.0020.0002.16A01] # BAMUM LETTER PHASE-E FAQ
-16A02 ; [.2FFA.0020.0002.16A02] # BAMUM LETTER PHASE-E GHOM
-16A03 ; [.2FFB.0020.0002.16A03] # BAMUM LETTER PHASE-F KA
-16A04 ; [.2FFC.0020.0002.16A04] # BAMUM LETTER PHASE-F U
-16A05 ; [.2FFD.0020.0002.16A05] # BAMUM LETTER PHASE-F KU
-16A06 ; [.2FFE.0020.0002.16A06] # BAMUM LETTER PHASE-F EE
-16A07 ; [.2FFF.0020.0002.16A07] # BAMUM LETTER PHASE-F REE
-16A08 ; [.3000.0020.0002.16A08] # BAMUM LETTER PHASE-F TAE
-16A09 ; [.3001.0020.0002.16A09] # BAMUM LETTER PHASE-F NYI
-16A0A ; [.3002.0020.0002.16A0A] # BAMUM LETTER PHASE-F LA
-16A0B ; [.3003.0020.0002.16A0B] # BAMUM LETTER PHASE-F RII
-16A0C ; [.3004.0020.0002.16A0C] # BAMUM LETTER PHASE-F RIEE
-16A0D ; [.3005.0020.0002.16A0D] # BAMUM LETTER PHASE-F MEEEE
-16A0E ; [.3006.0020.0002.16A0E] # BAMUM LETTER PHASE-F TAA
-16A0F ; [.3007.0020.0002.16A0F] # BAMUM LETTER PHASE-F NDAA
-16A10 ; [.3008.0020.0002.16A10] # BAMUM LETTER PHASE-F NJAEM
-16A11 ; [.3009.0020.0002.16A11] # BAMUM LETTER PHASE-F M
-16A12 ; [.300A.0020.0002.16A12] # BAMUM LETTER PHASE-F SUU
-16A13 ; [.300B.0020.0002.16A13] # BAMUM LETTER PHASE-F SHII
-16A14 ; [.300C.0020.0002.16A14] # BAMUM LETTER PHASE-F SI
-16A15 ; [.300D.0020.0002.16A15] # BAMUM LETTER PHASE-F SEUX
-16A16 ; [.300E.0020.0002.16A16] # BAMUM LETTER PHASE-F KYEE
-16A17 ; [.300F.0020.0002.16A17] # BAMUM LETTER PHASE-F KET
-16A18 ; [.3010.0020.0002.16A18] # BAMUM LETTER PHASE-F NUAE
-16A19 ; [.3011.0020.0002.16A19] # BAMUM LETTER PHASE-F NU
-16A1A ; [.3012.0020.0002.16A1A] # BAMUM LETTER PHASE-F NJUAE
-16A1B ; [.3013.0020.0002.16A1B] # BAMUM LETTER PHASE-F YOQ
-16A1C ; [.3014.0020.0002.16A1C] # BAMUM LETTER PHASE-F SHU
-16A1D ; [.3015.0020.0002.16A1D] # BAMUM LETTER PHASE-F YA
-16A1E ; [.3016.0020.0002.16A1E] # BAMUM LETTER PHASE-F NSHA
-16A1F ; [.3017.0020.0002.16A1F] # BAMUM LETTER PHASE-F PEUX
-16A20 ; [.3018.0020.0002.16A20] # BAMUM LETTER PHASE-F NTEE
-16A21 ; [.3019.0020.0002.16A21] # BAMUM LETTER PHASE-F WUE
-16A22 ; [.301A.0020.0002.16A22] # BAMUM LETTER PHASE-F PEE
-16A23 ; [.301B.0020.0002.16A23] # BAMUM LETTER PHASE-F RU
-16A24 ; [.301C.0020.0002.16A24] # BAMUM LETTER PHASE-F NI
-16A25 ; [.301D.0020.0002.16A25] # BAMUM LETTER PHASE-F REUX
-16A26 ; [.301E.0020.0002.16A26] # BAMUM LETTER PHASE-F KEN
-16A27 ; [.301F.0020.0002.16A27] # BAMUM LETTER PHASE-F NGKWAEN
-16A28 ; [.3020.0020.0002.16A28] # BAMUM LETTER PHASE-F NGGA
-16A29 ; [.3021.0020.0002.16A29] # BAMUM LETTER PHASE-F SHO
-16A2A ; [.3022.0020.0002.16A2A] # BAMUM LETTER PHASE-F PUAE
-16A2B ; [.3023.0020.0002.16A2B] # BAMUM LETTER PHASE-F FOM
-16A2C ; [.3024.0020.0002.16A2C] # BAMUM LETTER PHASE-F WA
-16A2D ; [.3025.0020.0002.16A2D] # BAMUM LETTER PHASE-F LI
-16A2E ; [.3026.0020.0002.16A2E] # BAMUM LETTER PHASE-F LOQ
-16A2F ; [.3027.0020.0002.16A2F] # BAMUM LETTER PHASE-F KO
-16A30 ; [.3028.0020.0002.16A30] # BAMUM LETTER PHASE-F MBEN
-16A31 ; [.3029.0020.0002.16A31] # BAMUM LETTER PHASE-F REN
-16A32 ; [.302A.0020.0002.16A32] # BAMUM LETTER PHASE-F MA
-16A33 ; [.302B.0020.0002.16A33] # BAMUM LETTER PHASE-F MO
-16A34 ; [.302C.0020.0002.16A34] # BAMUM LETTER PHASE-F MBAA
-16A35 ; [.302D.0020.0002.16A35] # BAMUM LETTER PHASE-F TET
-16A36 ; [.302E.0020.0002.16A36] # BAMUM LETTER PHASE-F KPA
-16A37 ; [.302F.0020.0002.16A37] # BAMUM LETTER PHASE-F SAMBA
-16A38 ; [.3030.0020.0002.16A38] # BAMUM LETTER PHASE-F VUEQ
-1100  ; [.3031.0020.0002.1100] # HANGUL CHOSEONG KIYEOK
-3131  ; [.3031.0020.0004.3131] # HANGUL LETTER KIYEOK; QQK
-3200  ; [*030E.0020.0004.3200][.3031.0020.0004.3200][*030F.0020.001F.3200] # PARENTHESIZED HANGUL KIYEOK; QQKN
-3260  ; [.3031.0020.0006.3260] # CIRCLED HANGUL KIYEOK; QQK
-FFA1  ; [.3031.0020.0012.FFA1] # HALFWIDTH HANGUL LETTER KIYEOK; QQK
-320E  ; [*030E.0020.0004.320E][.3031.0020.0004.320E][.30AF.0020.001F.320E][*030F.0020.001F.320E] # PARENTHESIZED HANGUL KIYEOK A; QQKN
-326E  ; [.3031.0020.0006.326E][.30AF.0020.0006.326E] # CIRCLED HANGUL KIYEOK A; QQKN
-1101  ; [.3032.0020.0002.1101] # HANGUL CHOSEONG SSANGKIYEOK
-3132  ; [.3032.0020.0004.3132] # HANGUL LETTER SSANGKIYEOK; QQK
-FFA2  ; [.3032.0020.0012.FFA2] # HALFWIDTH HANGUL LETTER SSANGKIYEOK; QQK
-1102  ; [.3033.0020.0002.1102] # HANGUL CHOSEONG NIEUN
-3134  ; [.3033.0020.0004.3134] # HANGUL LETTER NIEUN; QQK
-3201  ; [*030E.0020.0004.3201][.3033.0020.0004.3201][*030F.0020.001F.3201] # PARENTHESIZED HANGUL NIEUN; QQKN
-3261  ; [.3033.0020.0006.3261] # CIRCLED HANGUL NIEUN; QQK
-FFA4  ; [.3033.0020.0012.FFA4] # HALFWIDTH HANGUL LETTER NIEUN; QQK
-320F  ; [*030E.0020.0004.320F][.3033.0020.0004.320F][.30AF.0020.001F.320F][*030F.0020.001F.320F] # PARENTHESIZED HANGUL NIEUN A; QQKN
-326F  ; [.3033.0020.0006.326F][.30AF.0020.0006.326F] # CIRCLED HANGUL NIEUN A; QQKN
-1103  ; [.3034.0020.0002.1103] # HANGUL CHOSEONG TIKEUT
-3137  ; [.3034.0020.0004.3137] # HANGUL LETTER TIKEUT; QQK
-3202  ; [*030E.0020.0004.3202][.3034.0020.0004.3202][*030F.0020.001F.3202] # PARENTHESIZED HANGUL TIKEUT; QQKN
-3262  ; [.3034.0020.0006.3262] # CIRCLED HANGUL TIKEUT; QQK
-FFA7  ; [.3034.0020.0012.FFA7] # HALFWIDTH HANGUL LETTER TIKEUT; QQK
-3210  ; [*030E.0020.0004.3210][.3034.0020.0004.3210][.30AF.0020.001F.3210][*030F.0020.001F.3210] # PARENTHESIZED HANGUL TIKEUT A; QQKN
-3270  ; [.3034.0020.0006.3270][.30AF.0020.0006.3270] # CIRCLED HANGUL TIKEUT A; QQKN
-1104  ; [.3035.0020.0002.1104] # HANGUL CHOSEONG SSANGTIKEUT
-3138  ; [.3035.0020.0004.3138] # HANGUL LETTER SSANGTIKEUT; QQK
-FFA8  ; [.3035.0020.0012.FFA8] # HALFWIDTH HANGUL LETTER SSANGTIKEUT; QQK
-1105  ; [.3036.0020.0002.1105] # HANGUL CHOSEONG RIEUL
-3139  ; [.3036.0020.0004.3139] # HANGUL LETTER RIEUL; QQK
-3203  ; [*030E.0020.0004.3203][.3036.0020.0004.3203][*030F.0020.001F.3203] # PARENTHESIZED HANGUL RIEUL; QQKN
-3263  ; [.3036.0020.0006.3263] # CIRCLED HANGUL RIEUL; QQK
-FFA9  ; [.3036.0020.0012.FFA9] # HALFWIDTH HANGUL LETTER RIEUL; QQK
-3211  ; [*030E.0020.0004.3211][.3036.0020.0004.3211][.30AF.0020.001F.3211][*030F.0020.001F.3211] # PARENTHESIZED HANGUL RIEUL A; QQKN
-3271  ; [.3036.0020.0006.3271][.30AF.0020.0006.3271] # CIRCLED HANGUL RIEUL A; QQKN
-1106  ; [.3037.0020.0002.1106] # HANGUL CHOSEONG MIEUM
-3141  ; [.3037.0020.0004.3141] # HANGUL LETTER MIEUM; QQK
-3204  ; [*030E.0020.0004.3204][.3037.0020.0004.3204][*030F.0020.001F.3204] # PARENTHESIZED HANGUL MIEUM; QQKN
-3264  ; [.3037.0020.0006.3264] # CIRCLED HANGUL MIEUM; QQK
-FFB1  ; [.3037.0020.0012.FFB1] # HALFWIDTH HANGUL LETTER MIEUM; QQK
-3212  ; [*030E.0020.0004.3212][.3037.0020.0004.3212][.30AF.0020.001F.3212][*030F.0020.001F.3212] # PARENTHESIZED HANGUL MIEUM A; QQKN
-3272  ; [.3037.0020.0006.3272][.30AF.0020.0006.3272] # CIRCLED HANGUL MIEUM A; QQKN
-1107  ; [.3038.0020.0002.1107] # HANGUL CHOSEONG PIEUP
-3142  ; [.3038.0020.0004.3142] # HANGUL LETTER PIEUP; QQK
-3205  ; [*030E.0020.0004.3205][.3038.0020.0004.3205][*030F.0020.001F.3205] # PARENTHESIZED HANGUL PIEUP; QQKN
-3265  ; [.3038.0020.0006.3265] # CIRCLED HANGUL PIEUP; QQK
-FFB2  ; [.3038.0020.0012.FFB2] # HALFWIDTH HANGUL LETTER PIEUP; QQK
-3213  ; [*030E.0020.0004.3213][.3038.0020.0004.3213][.30AF.0020.001F.3213][*030F.0020.001F.3213] # PARENTHESIZED HANGUL PIEUP A; QQKN
-3273  ; [.3038.0020.0006.3273][.30AF.0020.0006.3273] # CIRCLED HANGUL PIEUP A; QQKN
-1108  ; [.3039.0020.0002.1108] # HANGUL CHOSEONG SSANGPIEUP
-3143  ; [.3039.0020.0004.3143] # HANGUL LETTER SSANGPIEUP; QQK
-FFB3  ; [.3039.0020.0012.FFB3] # HALFWIDTH HANGUL LETTER SSANGPIEUP; QQK
-1109  ; [.303A.0020.0002.1109] # HANGUL CHOSEONG SIOS
-3145  ; [.303A.0020.0004.3145] # HANGUL LETTER SIOS; QQK
-3206  ; [*030E.0020.0004.3206][.303A.0020.0004.3206][*030F.0020.001F.3206] # PARENTHESIZED HANGUL SIOS; QQKN
-3266  ; [.303A.0020.0006.3266] # CIRCLED HANGUL SIOS; QQK
-FFB5  ; [.303A.0020.0012.FFB5] # HALFWIDTH HANGUL LETTER SIOS; QQK
-3214  ; [*030E.0020.0004.3214][.303A.0020.0004.3214][.30AF.0020.001F.3214][*030F.0020.001F.3214] # PARENTHESIZED HANGUL SIOS A; QQKN
-3274  ; [.303A.0020.0006.3274][.30AF.0020.0006.3274] # CIRCLED HANGUL SIOS A; QQKN
-110A  ; [.303B.0020.0002.110A] # HANGUL CHOSEONG SSANGSIOS
-3146  ; [.303B.0020.0004.3146] # HANGUL LETTER SSANGSIOS; QQK
-FFB6  ; [.303B.0020.0012.FFB6] # HALFWIDTH HANGUL LETTER SSANGSIOS; QQK
-110B  ; [.303C.0020.0002.110B] # HANGUL CHOSEONG IEUNG
-3147  ; [.303C.0020.0004.3147] # HANGUL LETTER IEUNG; QQK
-3207  ; [*030E.0020.0004.3207][.303C.0020.0004.3207][*030F.0020.001F.3207] # PARENTHESIZED HANGUL IEUNG; QQKN
-3267  ; [.303C.0020.0006.3267] # CIRCLED HANGUL IEUNG; QQK
-FFB7  ; [.303C.0020.0012.FFB7] # HALFWIDTH HANGUL LETTER IEUNG; QQK
-3215  ; [*030E.0020.0004.3215][.303C.0020.0004.3215][.30AF.0020.001F.3215][*030F.0020.001F.3215] # PARENTHESIZED HANGUL IEUNG A; QQKN
-3275  ; [.303C.0020.0006.3275][.30AF.0020.0006.3275] # CIRCLED HANGUL IEUNG A; QQKN
-321D  ; [*030E.0020.0004.321D][.303C.0020.0004.321D][.30B7.0020.001F.321D][.303D.0020.001F.321D][.30B3.0020.001F.321D][.3110.0020.001F.321D][*030F.0020.001F.321D] # PARENTHESIZED KOREAN CHARACTER OJEON; QQKN
-321E  ; [*030E.0020.0004.321E][.303C.0020.0004.321E][.30B7.0020.001F.321E][.3043.0020.001F.321E][.30BC.0020.001F.321E][*030F.0020.001F.321E] # PARENTHESIZED KOREAN CHARACTER O HU; QQKN
-327E  ; [.303C.0020.0006.327E][.30BC.0020.0006.327E] # CIRCLED HANGUL IEUNG U; QQKN
-110C  ; [.303D.0020.0002.110C] # HANGUL CHOSEONG CIEUC
-3148  ; [.303D.0020.0004.3148] # HANGUL LETTER CIEUC; QQK
-3208  ; [*030E.0020.0004.3208][.303D.0020.0004.3208][*030F.0020.001F.3208] # PARENTHESIZED HANGUL CIEUC; QQKN
-3268  ; [.303D.0020.0006.3268] # CIRCLED HANGUL CIEUC; QQK
-FFB8  ; [.303D.0020.0012.FFB8] # HALFWIDTH HANGUL LETTER CIEUC; QQK
-3216  ; [*030E.0020.0004.3216][.303D.0020.0004.3216][.30AF.0020.001F.3216][*030F.0020.001F.3216] # PARENTHESIZED HANGUL CIEUC A; QQKN
-3276  ; [.303D.0020.0006.3276][.30AF.0020.0006.3276] # CIRCLED HANGUL CIEUC A; QQKN
-321C  ; [*030E.0020.0004.321C][.303D.0020.0004.321C][.30BC.0020.001F.321C][*030F.0020.001F.321C] # PARENTHESIZED HANGUL CIEUC U; QQKN
-327D  ; [.303D.0020.0006.327D][.30BC.0020.0006.327D][.303C.0020.001F.327D][.30C2.0020.001F.327D] # CIRCLED KOREAN CHARACTER JUEUI; QQKN
-110D  ; [.303E.0020.0002.110D] # HANGUL CHOSEONG SSANGCIEUC
-3149  ; [.303E.0020.0004.3149] # HANGUL LETTER SSANGCIEUC; QQK
-FFB9  ; [.303E.0020.0012.FFB9] # HALFWIDTH HANGUL LETTER SSANGCIEUC; QQK
-110E  ; [.303F.0020.0002.110E] # HANGUL CHOSEONG CHIEUCH
-314A  ; [.303F.0020.0004.314A] # HANGUL LETTER CHIEUCH; QQK
-3209  ; [*030E.0020.0004.3209][.303F.0020.0004.3209][*030F.0020.001F.3209] # PARENTHESIZED HANGUL CHIEUCH; QQKN
-3269  ; [.303F.0020.0006.3269] # CIRCLED HANGUL CHIEUCH; QQK
-FFBA  ; [.303F.0020.0012.FFBA] # HALFWIDTH HANGUL LETTER CHIEUCH; QQK
-3217  ; [*030E.0020.0004.3217][.303F.0020.0004.3217][.30AF.0020.001F.3217][*030F.0020.001F.3217] # PARENTHESIZED HANGUL CHIEUCH A; QQKN
-3277  ; [.303F.0020.0006.3277][.30AF.0020.0006.3277] # CIRCLED HANGUL CHIEUCH A; QQKN
-327C  ; [.303F.0020.0006.327C][.30AF.0020.0006.327C][.311C.0020.001F.327C][.3031.0020.001F.327C][.30B7.0020.001F.327C] # CIRCLED KOREAN CHARACTER CHAMKO; QQKN
-110F  ; [.3040.0020.0002.110F] # HANGUL CHOSEONG KHIEUKH
-314B  ; [.3040.0020.0004.314B] # HANGUL LETTER KHIEUKH; QQK
-320A  ; [*030E.0020.0004.320A][.3040.0020.0004.320A][*030F.0020.001F.320A] # PARENTHESIZED HANGUL KHIEUKH; QQKN
-326A  ; [.3040.0020.0006.326A] # CIRCLED HANGUL KHIEUKH; QQK
-FFBB  ; [.3040.0020.0012.FFBB] # HALFWIDTH HANGUL LETTER KHIEUKH; QQK
-3218  ; [*030E.0020.0004.3218][.3040.0020.0004.3218][.30AF.0020.001F.3218][*030F.0020.001F.3218] # PARENTHESIZED HANGUL KHIEUKH A; QQKN
-3278  ; [.3040.0020.0006.3278][.30AF.0020.0006.3278] # CIRCLED HANGUL KHIEUKH A; QQKN
-1110  ; [.3041.0020.0002.1110] # HANGUL CHOSEONG THIEUTH
-314C  ; [.3041.0020.0004.314C] # HANGUL LETTER THIEUTH; QQK
-320B  ; [*030E.0020.0004.320B][.3041.0020.0004.320B][*030F.0020.001F.320B] # PARENTHESIZED HANGUL THIEUTH; QQKN
-326B  ; [.3041.0020.0006.326B] # CIRCLED HANGUL THIEUTH; QQK
-FFBC  ; [.3041.0020.0012.FFBC] # HALFWIDTH HANGUL LETTER THIEUTH; QQK
-3219  ; [*030E.0020.0004.3219][.3041.0020.0004.3219][.30AF.0020.001F.3219][*030F.0020.001F.3219] # PARENTHESIZED HANGUL THIEUTH A; QQKN
-3279  ; [.3041.0020.0006.3279][.30AF.0020.0006.3279] # CIRCLED HANGUL THIEUTH A; QQKN
-1111  ; [.3042.0020.0002.1111] # HANGUL CHOSEONG PHIEUPH
-314D  ; [.3042.0020.0004.314D] # HANGUL LETTER PHIEUPH; QQK
-320C  ; [*030E.0020.0004.320C][.3042.0020.0004.320C][*030F.0020.001F.320C] # PARENTHESIZED HANGUL PHIEUPH; QQKN
-326C  ; [.3042.0020.0006.326C] # CIRCLED HANGUL PHIEUPH; QQK
-FFBD  ; [.3042.0020.0012.FFBD] # HALFWIDTH HANGUL LETTER PHIEUPH; QQK
-321A  ; [*030E.0020.0004.321A][.3042.0020.0004.321A][.30AF.0020.001F.321A][*030F.0020.001F.321A] # PARENTHESIZED HANGUL PHIEUPH A; QQKN
-327A  ; [.3042.0020.0006.327A][.30AF.0020.0006.327A] # CIRCLED HANGUL PHIEUPH A; QQKN
-1112  ; [.3043.0020.0002.1112] # HANGUL CHOSEONG HIEUH
-314E  ; [.3043.0020.0004.314E] # HANGUL LETTER HIEUH; QQK
-320D  ; [*030E.0020.0004.320D][.3043.0020.0004.320D][*030F.0020.001F.320D] # PARENTHESIZED HANGUL HIEUH; QQKN
-326D  ; [.3043.0020.0006.326D] # CIRCLED HANGUL HIEUH; QQK
-FFBE  ; [.3043.0020.0012.FFBE] # HALFWIDTH HANGUL LETTER HIEUH; QQK
-321B  ; [*030E.0020.0004.321B][.3043.0020.0004.321B][.30AF.0020.001F.321B][*030F.0020.001F.321B] # PARENTHESIZED HANGUL HIEUH A; QQKN
-327B  ; [.3043.0020.0006.327B][.30AF.0020.0006.327B] # CIRCLED HANGUL HIEUH A; QQKN
-1113  ; [.3044.0020.0002.1113] # HANGUL CHOSEONG NIEUN-KIYEOK
-1114  ; [.3045.0020.0002.1114] # HANGUL CHOSEONG SSANGNIEUN
-3165  ; [.3045.0020.0004.3165] # HANGUL LETTER SSANGNIEUN; QQK
-1115  ; [.3046.0020.0002.1115] # HANGUL CHOSEONG NIEUN-TIKEUT
-3166  ; [.3046.0020.0004.3166] # HANGUL LETTER NIEUN-TIKEUT; QQK
-1116  ; [.3047.0020.0002.1116] # HANGUL CHOSEONG NIEUN-PIEUP
-1117  ; [.3048.0020.0002.1117] # HANGUL CHOSEONG TIKEUT-KIYEOK
-1118  ; [.3049.0020.0002.1118] # HANGUL CHOSEONG RIEUL-NIEUN
-1119  ; [.304A.0020.0002.1119] # HANGUL CHOSEONG SSANGRIEUL
-111A  ; [.304B.0020.0002.111A] # HANGUL CHOSEONG RIEUL-HIEUH
-3140  ; [.304B.0020.0004.3140] # HANGUL LETTER RIEUL-HIEUH; QQK
-FFB0  ; [.304B.0020.0012.FFB0] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH; QQK
-111B  ; [.304C.0020.0002.111B] # HANGUL CHOSEONG KAPYEOUNRIEUL
-111C  ; [.304D.0020.0002.111C] # HANGUL CHOSEONG MIEUM-PIEUP
-316E  ; [.304D.0020.0004.316E] # HANGUL LETTER MIEUM-PIEUP; QQK
-111D  ; [.304E.0020.0002.111D] # HANGUL CHOSEONG KAPYEOUNMIEUM
-3171  ; [.304E.0020.0004.3171] # HANGUL LETTER KAPYEOUNMIEUM; QQK
-111E  ; [.304F.0020.0002.111E] # HANGUL CHOSEONG PIEUP-KIYEOK
-3172  ; [.304F.0020.0004.3172] # HANGUL LETTER PIEUP-KIYEOK; QQK
-111F  ; [.3050.0020.0002.111F] # HANGUL CHOSEONG PIEUP-NIEUN
-1120  ; [.3051.0020.0002.1120] # HANGUL CHOSEONG PIEUP-TIKEUT
-3173  ; [.3051.0020.0004.3173] # HANGUL LETTER PIEUP-TIKEUT; QQK
-1121  ; [.3052.0020.0002.1121] # HANGUL CHOSEONG PIEUP-SIOS
-3144  ; [.3052.0020.0004.3144] # HANGUL LETTER PIEUP-SIOS; QQK
-FFB4  ; [.3052.0020.0012.FFB4] # HALFWIDTH HANGUL LETTER PIEUP-SIOS; QQK
-1122  ; [.3053.0020.0002.1122] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
-3174  ; [.3053.0020.0004.3174] # HANGUL LETTER PIEUP-SIOS-KIYEOK; QQK
-1123  ; [.3054.0020.0002.1123] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
-3175  ; [.3054.0020.0004.3175] # HANGUL LETTER PIEUP-SIOS-TIKEUT; QQK
-1124  ; [.3055.0020.0002.1124] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
-1125  ; [.3056.0020.0002.1125] # HANGUL CHOSEONG PIEUP-SSANGSIOS
-1126  ; [.3057.0020.0002.1126] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
-1127  ; [.3058.0020.0002.1127] # HANGUL CHOSEONG PIEUP-CIEUC
-3176  ; [.3058.0020.0004.3176] # HANGUL LETTER PIEUP-CIEUC; QQK
-1128  ; [.3059.0020.0002.1128] # HANGUL CHOSEONG PIEUP-CHIEUCH
-1129  ; [.305A.0020.0002.1129] # HANGUL CHOSEONG PIEUP-THIEUTH
-3177  ; [.305A.0020.0004.3177] # HANGUL LETTER PIEUP-THIEUTH; QQK
-112A  ; [.305B.0020.0002.112A] # HANGUL CHOSEONG PIEUP-PHIEUPH
-112B  ; [.305C.0020.0002.112B] # HANGUL CHOSEONG KAPYEOUNPIEUP
-3178  ; [.305C.0020.0004.3178] # HANGUL LETTER KAPYEOUNPIEUP; QQK
-112C  ; [.305D.0020.0002.112C] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
-3179  ; [.305D.0020.0004.3179] # HANGUL LETTER KAPYEOUNSSANGPIEUP; QQK
-112D  ; [.305E.0020.0002.112D] # HANGUL CHOSEONG SIOS-KIYEOK
-317A  ; [.305E.0020.0004.317A] # HANGUL LETTER SIOS-KIYEOK; QQK
-112E  ; [.305F.0020.0002.112E] # HANGUL CHOSEONG SIOS-NIEUN
-317B  ; [.305F.0020.0004.317B] # HANGUL LETTER SIOS-NIEUN; QQK
-112F  ; [.3060.0020.0002.112F] # HANGUL CHOSEONG SIOS-TIKEUT
-317C  ; [.3060.0020.0004.317C] # HANGUL LETTER SIOS-TIKEUT; QQK
-1130  ; [.3061.0020.0002.1130] # HANGUL CHOSEONG SIOS-RIEUL
-1131  ; [.3062.0020.0002.1131] # HANGUL CHOSEONG SIOS-MIEUM
-1132  ; [.3063.0020.0002.1132] # HANGUL CHOSEONG SIOS-PIEUP
-317D  ; [.3063.0020.0004.317D] # HANGUL LETTER SIOS-PIEUP; QQK
-1133  ; [.3064.0020.0002.1133] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
-1134  ; [.3065.0020.0002.1134] # HANGUL CHOSEONG SIOS-SSANGSIOS
-1135  ; [.3066.0020.0002.1135] # HANGUL CHOSEONG SIOS-IEUNG
-1136  ; [.3067.0020.0002.1136] # HANGUL CHOSEONG SIOS-CIEUC
-317E  ; [.3067.0020.0004.317E] # HANGUL LETTER SIOS-CIEUC; QQK
-1137  ; [.3068.0020.0002.1137] # HANGUL CHOSEONG SIOS-CHIEUCH
-1138  ; [.3069.0020.0002.1138] # HANGUL CHOSEONG SIOS-KHIEUKH
-1139  ; [.306A.0020.0002.1139] # HANGUL CHOSEONG SIOS-THIEUTH
-113A  ; [.306B.0020.0002.113A] # HANGUL CHOSEONG SIOS-PHIEUPH
-113B  ; [.306C.0020.0002.113B] # HANGUL CHOSEONG SIOS-HIEUH
-113C  ; [.306D.0020.0002.113C] # HANGUL CHOSEONG CHITUEUMSIOS
-113D  ; [.306E.0020.0002.113D] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
-113E  ; [.306F.0020.0002.113E] # HANGUL CHOSEONG CEONGCHIEUMSIOS
-113F  ; [.3070.0020.0002.113F] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
-1140  ; [.3071.0020.0002.1140] # HANGUL CHOSEONG PANSIOS
-317F  ; [.3071.0020.0004.317F] # HANGUL LETTER PANSIOS; QQK
-1141  ; [.3072.0020.0002.1141] # HANGUL CHOSEONG IEUNG-KIYEOK
-1142  ; [.3073.0020.0002.1142] # HANGUL CHOSEONG IEUNG-TIKEUT
-1143  ; [.3074.0020.0002.1143] # HANGUL CHOSEONG IEUNG-MIEUM
-1144  ; [.3075.0020.0002.1144] # HANGUL CHOSEONG IEUNG-PIEUP
-1145  ; [.3076.0020.0002.1145] # HANGUL CHOSEONG IEUNG-SIOS
-1146  ; [.3077.0020.0002.1146] # HANGUL CHOSEONG IEUNG-PANSIOS
-1147  ; [.3078.0020.0002.1147] # HANGUL CHOSEONG SSANGIEUNG
-3180  ; [.3078.0020.0004.3180] # HANGUL LETTER SSANGIEUNG; QQK
-1148  ; [.3079.0020.0002.1148] # HANGUL CHOSEONG IEUNG-CIEUC
-1149  ; [.307A.0020.0002.1149] # HANGUL CHOSEONG IEUNG-CHIEUCH
-114A  ; [.307B.0020.0002.114A] # HANGUL CHOSEONG IEUNG-THIEUTH
-114B  ; [.307C.0020.0002.114B] # HANGUL CHOSEONG IEUNG-PHIEUPH
-114C  ; [.307D.0020.0002.114C] # HANGUL CHOSEONG YESIEUNG
-3181  ; [.307D.0020.0004.3181] # HANGUL LETTER YESIEUNG; QQK
-114D  ; [.307E.0020.0002.114D] # HANGUL CHOSEONG CIEUC-IEUNG
-114E  ; [.307F.0020.0002.114E] # HANGUL CHOSEONG CHITUEUMCIEUC
-114F  ; [.3080.0020.0002.114F] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
-1150  ; [.3081.0020.0002.1150] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
-1151  ; [.3082.0020.0002.1151] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
-1152  ; [.3083.0020.0002.1152] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
-1153  ; [.3084.0020.0002.1153] # HANGUL CHOSEONG CHIEUCH-HIEUH
-1154  ; [.3085.0020.0002.1154] # HANGUL CHOSEONG CHITUEUMCHIEUCH
-1155  ; [.3086.0020.0002.1155] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
-1156  ; [.3087.0020.0002.1156] # HANGUL CHOSEONG PHIEUPH-PIEUP
-1157  ; [.3088.0020.0002.1157] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
-3184  ; [.3088.0020.0004.3184] # HANGUL LETTER KAPYEOUNPHIEUPH; QQK
-1158  ; [.3089.0020.0002.1158] # HANGUL CHOSEONG SSANGHIEUH
-3185  ; [.3089.0020.0004.3185] # HANGUL LETTER SSANGHIEUH; QQK
-1159  ; [.308A.0020.0002.1159] # HANGUL CHOSEONG YEORINHIEUH
-3186  ; [.308A.0020.0004.3186] # HANGUL LETTER YEORINHIEUH; QQK
-115A  ; [.308B.0020.0002.115A] # HANGUL CHOSEONG KIYEOK-TIKEUT
-115B  ; [.308C.0020.0002.115B] # HANGUL CHOSEONG NIEUN-SIOS
-115C  ; [.308D.0020.0002.115C] # HANGUL CHOSEONG NIEUN-CIEUC
-115D  ; [.308E.0020.0002.115D] # HANGUL CHOSEONG NIEUN-HIEUH
-115E  ; [.308F.0020.0002.115E] # HANGUL CHOSEONG TIKEUT-RIEUL
-A960  ; [.3090.0020.0002.A960] # HANGUL CHOSEONG TIKEUT-MIEUM
-A961  ; [.3091.0020.0002.A961] # HANGUL CHOSEONG TIKEUT-PIEUP
-A962  ; [.3092.0020.0002.A962] # HANGUL CHOSEONG TIKEUT-SIOS
-A963  ; [.3093.0020.0002.A963] # HANGUL CHOSEONG TIKEUT-CIEUC
-A964  ; [.3094.0020.0002.A964] # HANGUL CHOSEONG RIEUL-KIYEOK
-A965  ; [.3095.0020.0002.A965] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
-A966  ; [.3096.0020.0002.A966] # HANGUL CHOSEONG RIEUL-TIKEUT
-A967  ; [.3097.0020.0002.A967] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
-A968  ; [.3098.0020.0002.A968] # HANGUL CHOSEONG RIEUL-MIEUM
-A969  ; [.3099.0020.0002.A969] # HANGUL CHOSEONG RIEUL-PIEUP
-A96A  ; [.309A.0020.0002.A96A] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
-A96B  ; [.309B.0020.0002.A96B] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
-A96C  ; [.309C.0020.0002.A96C] # HANGUL CHOSEONG RIEUL-SIOS
-A96D  ; [.309D.0020.0002.A96D] # HANGUL CHOSEONG RIEUL-CIEUC
-A96E  ; [.309E.0020.0002.A96E] # HANGUL CHOSEONG RIEUL-KHIEUKH
-A96F  ; [.309F.0020.0002.A96F] # HANGUL CHOSEONG MIEUM-KIYEOK
-A970  ; [.30A0.0020.0002.A970] # HANGUL CHOSEONG MIEUM-TIKEUT
-A971  ; [.30A1.0020.0002.A971] # HANGUL CHOSEONG MIEUM-SIOS
-A972  ; [.30A2.0020.0002.A972] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
-A973  ; [.30A3.0020.0002.A973] # HANGUL CHOSEONG PIEUP-KHIEUKH
-A974  ; [.30A4.0020.0002.A974] # HANGUL CHOSEONG PIEUP-HIEUH
-A975  ; [.30A5.0020.0002.A975] # HANGUL CHOSEONG SSANGSIOS-PIEUP
-A976  ; [.30A6.0020.0002.A976] # HANGUL CHOSEONG IEUNG-RIEUL
-A977  ; [.30A7.0020.0002.A977] # HANGUL CHOSEONG IEUNG-HIEUH
-A978  ; [.30A8.0020.0002.A978] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
-A979  ; [.30A9.0020.0002.A979] # HANGUL CHOSEONG SSANGTHIEUTH
-A97A  ; [.30AA.0020.0002.A97A] # HANGUL CHOSEONG PHIEUPH-HIEUH
-A97B  ; [.30AB.0020.0002.A97B] # HANGUL CHOSEONG HIEUH-SIOS
-A97C  ; [.30AC.0020.0002.A97C] # HANGUL CHOSEONG SSANGYEORINHIEUH
-115F  ; [.30AD.0020.0002.115F] # HANGUL CHOSEONG FILLER
-1160  ; [.30AE.0020.0002.1160] # HANGUL JUNGSEONG FILLER
-3164  ; [.30AE.0020.0004.3164] # HANGUL FILLER; QQK
-FFA0  ; [.30AE.0020.0012.FFA0] # HALFWIDTH HANGUL FILLER; QQK
-1161  ; [.30AF.0020.0002.1161] # HANGUL JUNGSEONG A
-314F  ; [.30AF.0020.0004.314F] # HANGUL LETTER A; QQK
-FFC2  ; [.30AF.0020.0012.FFC2] # HALFWIDTH HANGUL LETTER A; QQK
-1162  ; [.30B0.0020.0002.1162] # HANGUL JUNGSEONG AE
-3150  ; [.30B0.0020.0004.3150] # HANGUL LETTER AE; QQK
-FFC3  ; [.30B0.0020.0012.FFC3] # HALFWIDTH HANGUL LETTER AE; QQK
-1163  ; [.30B1.0020.0002.1163] # HANGUL JUNGSEONG YA
-3151  ; [.30B1.0020.0004.3151] # HANGUL LETTER YA; QQK
-FFC4  ; [.30B1.0020.0012.FFC4] # HALFWIDTH HANGUL LETTER YA; QQK
-1164  ; [.30B2.0020.0002.1164] # HANGUL JUNGSEONG YAE
-3152  ; [.30B2.0020.0004.3152] # HANGUL LETTER YAE; QQK
-FFC5  ; [.30B2.0020.0012.FFC5] # HALFWIDTH HANGUL LETTER YAE; QQK
-1165  ; [.30B3.0020.0002.1165] # HANGUL JUNGSEONG EO
-3153  ; [.30B3.0020.0004.3153] # HANGUL LETTER EO; QQK
-FFC6  ; [.30B3.0020.0012.FFC6] # HALFWIDTH HANGUL LETTER EO; QQK
-1166  ; [.30B4.0020.0002.1166] # HANGUL JUNGSEONG E
-3154  ; [.30B4.0020.0004.3154] # HANGUL LETTER E; QQK
-FFC7  ; [.30B4.0020.0012.FFC7] # HALFWIDTH HANGUL LETTER E; QQK
-1167  ; [.30B5.0020.0002.1167] # HANGUL JUNGSEONG YEO
-3155  ; [.30B5.0020.0004.3155] # HANGUL LETTER YEO; QQK
-FFCA  ; [.30B5.0020.0012.FFCA] # HALFWIDTH HANGUL LETTER YEO; QQK
-1168  ; [.30B6.0020.0002.1168] # HANGUL JUNGSEONG YE
-3156  ; [.30B6.0020.0004.3156] # HANGUL LETTER YE; QQK
-FFCB  ; [.30B6.0020.0012.FFCB] # HALFWIDTH HANGUL LETTER YE; QQK
-1169  ; [.30B7.0020.0002.1169] # HANGUL JUNGSEONG O
-3157  ; [.30B7.0020.0004.3157] # HANGUL LETTER O; QQK
-FFCC  ; [.30B7.0020.0012.FFCC] # HALFWIDTH HANGUL LETTER O; QQK
-116A  ; [.30B8.0020.0002.116A] # HANGUL JUNGSEONG WA
-3158  ; [.30B8.0020.0004.3158] # HANGUL LETTER WA; QQK
-FFCD  ; [.30B8.0020.0012.FFCD] # HALFWIDTH HANGUL LETTER WA; QQK
-116B  ; [.30B9.0020.0002.116B] # HANGUL JUNGSEONG WAE
-3159  ; [.30B9.0020.0004.3159] # HANGUL LETTER WAE; QQK
-FFCE  ; [.30B9.0020.0012.FFCE] # HALFWIDTH HANGUL LETTER WAE; QQK
-116C  ; [.30BA.0020.0002.116C] # HANGUL JUNGSEONG OE
-315A  ; [.30BA.0020.0004.315A] # HANGUL LETTER OE; QQK
-FFCF  ; [.30BA.0020.0012.FFCF] # HALFWIDTH HANGUL LETTER OE; QQK
-116D  ; [.30BB.0020.0002.116D] # HANGUL JUNGSEONG YO
-315B  ; [.30BB.0020.0004.315B] # HANGUL LETTER YO; QQK
-FFD2  ; [.30BB.0020.0012.FFD2] # HALFWIDTH HANGUL LETTER YO; QQK
-116E  ; [.30BC.0020.0002.116E] # HANGUL JUNGSEONG U
-315C  ; [.30BC.0020.0004.315C] # HANGUL LETTER U; QQK
-FFD3  ; [.30BC.0020.0012.FFD3] # HALFWIDTH HANGUL LETTER U; QQK
-116F  ; [.30BD.0020.0002.116F] # HANGUL JUNGSEONG WEO
-315D  ; [.30BD.0020.0004.315D] # HANGUL LETTER WEO; QQK
-FFD4  ; [.30BD.0020.0012.FFD4] # HALFWIDTH HANGUL LETTER WEO; QQK
-1170  ; [.30BE.0020.0002.1170] # HANGUL JUNGSEONG WE
-315E  ; [.30BE.0020.0004.315E] # HANGUL LETTER WE; QQK
-FFD5  ; [.30BE.0020.0012.FFD5] # HALFWIDTH HANGUL LETTER WE; QQK
-1171  ; [.30BF.0020.0002.1171] # HANGUL JUNGSEONG WI
-315F  ; [.30BF.0020.0004.315F] # HANGUL LETTER WI; QQK
-FFD6  ; [.30BF.0020.0012.FFD6] # HALFWIDTH HANGUL LETTER WI; QQK
-1172  ; [.30C0.0020.0002.1172] # HANGUL JUNGSEONG YU
-3160  ; [.30C0.0020.0004.3160] # HANGUL LETTER YU; QQK
-FFD7  ; [.30C0.0020.0012.FFD7] # HALFWIDTH HANGUL LETTER YU; QQK
-1173  ; [.30C1.0020.0002.1173] # HANGUL JUNGSEONG EU
-3161  ; [.30C1.0020.0004.3161] # HANGUL LETTER EU; QQK
-FFDA  ; [.30C1.0020.0012.FFDA] # HALFWIDTH HANGUL LETTER EU; QQK
-1174  ; [.30C2.0020.0002.1174] # HANGUL JUNGSEONG YI
-3162  ; [.30C2.0020.0004.3162] # HANGUL LETTER YI; QQK
-FFDB  ; [.30C2.0020.0012.FFDB] # HALFWIDTH HANGUL LETTER YI; QQK
-1175  ; [.30C3.0020.0002.1175] # HANGUL JUNGSEONG I
-3163  ; [.30C3.0020.0004.3163] # HANGUL LETTER I; QQK
-FFDC  ; [.30C3.0020.0012.FFDC] # HALFWIDTH HANGUL LETTER I; QQK
-1176  ; [.30C4.0020.0002.1176] # HANGUL JUNGSEONG A-O
-1177  ; [.30C5.0020.0002.1177] # HANGUL JUNGSEONG A-U
-1178  ; [.30C6.0020.0002.1178] # HANGUL JUNGSEONG YA-O
-1179  ; [.30C7.0020.0002.1179] # HANGUL JUNGSEONG YA-YO
-117A  ; [.30C8.0020.0002.117A] # HANGUL JUNGSEONG EO-O
-117B  ; [.30C9.0020.0002.117B] # HANGUL JUNGSEONG EO-U
-117C  ; [.30CA.0020.0002.117C] # HANGUL JUNGSEONG EO-EU
-117D  ; [.30CB.0020.0002.117D] # HANGUL JUNGSEONG YEO-O
-117E  ; [.30CC.0020.0002.117E] # HANGUL JUNGSEONG YEO-U
-117F  ; [.30CD.0020.0002.117F] # HANGUL JUNGSEONG O-EO
-1180  ; [.30CE.0020.0002.1180] # HANGUL JUNGSEONG O-E
-1181  ; [.30CF.0020.0002.1181] # HANGUL JUNGSEONG O-YE
-1182  ; [.30D0.0020.0002.1182] # HANGUL JUNGSEONG O-O
-1183  ; [.30D1.0020.0002.1183] # HANGUL JUNGSEONG O-U
-1184  ; [.30D2.0020.0002.1184] # HANGUL JUNGSEONG YO-YA
-3187  ; [.30D2.0020.0004.3187] # HANGUL LETTER YO-YA; QQK
-1185  ; [.30D3.0020.0002.1185] # HANGUL JUNGSEONG YO-YAE
-3188  ; [.30D3.0020.0004.3188] # HANGUL LETTER YO-YAE; QQK
-1186  ; [.30D4.0020.0002.1186] # HANGUL JUNGSEONG YO-YEO
-1187  ; [.30D5.0020.0002.1187] # HANGUL JUNGSEONG YO-O
-1188  ; [.30D6.0020.0002.1188] # HANGUL JUNGSEONG YO-I
-3189  ; [.30D6.0020.0004.3189] # HANGUL LETTER YO-I; QQK
-1189  ; [.30D7.0020.0002.1189] # HANGUL JUNGSEONG U-A
-118A  ; [.30D8.0020.0002.118A] # HANGUL JUNGSEONG U-AE
-118B  ; [.30D9.0020.0002.118B] # HANGUL JUNGSEONG U-EO-EU
-118C  ; [.30DA.0020.0002.118C] # HANGUL JUNGSEONG U-YE
-118D  ; [.30DB.0020.0002.118D] # HANGUL JUNGSEONG U-U
-118E  ; [.30DC.0020.0002.118E] # HANGUL JUNGSEONG YU-A
-118F  ; [.30DD.0020.0002.118F] # HANGUL JUNGSEONG YU-EO
-1190  ; [.30DE.0020.0002.1190] # HANGUL JUNGSEONG YU-E
-1191  ; [.30DF.0020.0002.1191] # HANGUL JUNGSEONG YU-YEO
-318A  ; [.30DF.0020.0004.318A] # HANGUL LETTER YU-YEO; QQK
-1192  ; [.30E0.0020.0002.1192] # HANGUL JUNGSEONG YU-YE
-318B  ; [.30E0.0020.0004.318B] # HANGUL LETTER YU-YE; QQK
-1193  ; [.30E1.0020.0002.1193] # HANGUL JUNGSEONG YU-U
-1194  ; [.30E2.0020.0002.1194] # HANGUL JUNGSEONG YU-I
-318C  ; [.30E2.0020.0004.318C] # HANGUL LETTER YU-I; QQK
-1195  ; [.30E3.0020.0002.1195] # HANGUL JUNGSEONG EU-U
-1196  ; [.30E4.0020.0002.1196] # HANGUL JUNGSEONG EU-EU
-1197  ; [.30E5.0020.0002.1197] # HANGUL JUNGSEONG YI-U
-1198  ; [.30E6.0020.0002.1198] # HANGUL JUNGSEONG I-A
-1199  ; [.30E7.0020.0002.1199] # HANGUL JUNGSEONG I-YA
-119A  ; [.30E8.0020.0002.119A] # HANGUL JUNGSEONG I-O
-119B  ; [.30E9.0020.0002.119B] # HANGUL JUNGSEONG I-U
-119C  ; [.30EA.0020.0002.119C] # HANGUL JUNGSEONG I-EU
-119D  ; [.30EB.0020.0002.119D] # HANGUL JUNGSEONG I-ARAEA
-119E  ; [.30EC.0020.0002.119E] # HANGUL JUNGSEONG ARAEA
-318D  ; [.30EC.0020.0004.318D] # HANGUL LETTER ARAEA; QQK
-119F  ; [.30ED.0020.0002.119F] # HANGUL JUNGSEONG ARAEA-EO
-11A0  ; [.30EE.0020.0002.11A0] # HANGUL JUNGSEONG ARAEA-U
-11A1  ; [.30EF.0020.0002.11A1] # HANGUL JUNGSEONG ARAEA-I
-318E  ; [.30EF.0020.0004.318E] # HANGUL LETTER ARAEAE; QQK
-11A2  ; [.30F0.0020.0002.11A2] # HANGUL JUNGSEONG SSANGARAEA
-11A3  ; [.30F1.0020.0002.11A3] # HANGUL JUNGSEONG A-EU
-11A4  ; [.30F2.0020.0002.11A4] # HANGUL JUNGSEONG YA-U
-11A5  ; [.30F3.0020.0002.11A5] # HANGUL JUNGSEONG YEO-YA
-11A6  ; [.30F4.0020.0002.11A6] # HANGUL JUNGSEONG O-YA
-11A7  ; [.30F5.0020.0002.11A7] # HANGUL JUNGSEONG O-YAE
-D7B0  ; [.30F6.0020.0002.D7B0] # HANGUL JUNGSEONG O-YEO
-D7B1  ; [.30F7.0020.0002.D7B1] # HANGUL JUNGSEONG O-O-I
-D7B2  ; [.30F8.0020.0002.D7B2] # HANGUL JUNGSEONG YO-A
-D7B3  ; [.30F9.0020.0002.D7B3] # HANGUL JUNGSEONG YO-AE
-D7B4  ; [.30FA.0020.0002.D7B4] # HANGUL JUNGSEONG YO-EO
-D7B5  ; [.30FB.0020.0002.D7B5] # HANGUL JUNGSEONG U-YEO
-D7B6  ; [.30FC.0020.0002.D7B6] # HANGUL JUNGSEONG U-I-I
-D7B7  ; [.30FD.0020.0002.D7B7] # HANGUL JUNGSEONG YU-AE
-D7B8  ; [.30FE.0020.0002.D7B8] # HANGUL JUNGSEONG YU-O
-D7B9  ; [.30FF.0020.0002.D7B9] # HANGUL JUNGSEONG EU-A
-D7BA  ; [.3100.0020.0002.D7BA] # HANGUL JUNGSEONG EU-EO
-D7BB  ; [.3101.0020.0002.D7BB] # HANGUL JUNGSEONG EU-E
-D7BC  ; [.3102.0020.0002.D7BC] # HANGUL JUNGSEONG EU-O
-D7BD  ; [.3103.0020.0002.D7BD] # HANGUL JUNGSEONG I-YA-O
-D7BE  ; [.3104.0020.0002.D7BE] # HANGUL JUNGSEONG I-YAE
-D7BF  ; [.3105.0020.0002.D7BF] # HANGUL JUNGSEONG I-YEO
-D7C0  ; [.3106.0020.0002.D7C0] # HANGUL JUNGSEONG I-YE
-D7C1  ; [.3107.0020.0002.D7C1] # HANGUL JUNGSEONG I-O-I
-D7C2  ; [.3108.0020.0002.D7C2] # HANGUL JUNGSEONG I-YO
-D7C3  ; [.3109.0020.0002.D7C3] # HANGUL JUNGSEONG I-YU
-D7C4  ; [.310A.0020.0002.D7C4] # HANGUL JUNGSEONG I-I
-D7C5  ; [.310B.0020.0002.D7C5] # HANGUL JUNGSEONG ARAEA-A
-D7C6  ; [.310C.0020.0002.D7C6] # HANGUL JUNGSEONG ARAEA-E
-11A8  ; [.310D.0020.0002.11A8] # HANGUL JONGSEONG KIYEOK
-11A9  ; [.310E.0020.0002.11A9] # HANGUL JONGSEONG SSANGKIYEOK
-11AA  ; [.310F.0020.0002.11AA] # HANGUL JONGSEONG KIYEOK-SIOS
-3133  ; [.310F.0020.0004.3133] # HANGUL LETTER KIYEOK-SIOS; QQK
-FFA3  ; [.310F.0020.0012.FFA3] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS; QQK
-11AB  ; [.3110.0020.0002.11AB] # HANGUL JONGSEONG NIEUN
-11AC  ; [.3111.0020.0002.11AC] # HANGUL JONGSEONG NIEUN-CIEUC
-3135  ; [.3111.0020.0004.3135] # HANGUL LETTER NIEUN-CIEUC; QQK
-FFA5  ; [.3111.0020.0012.FFA5] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC; QQK
-11AD  ; [.3112.0020.0002.11AD] # HANGUL JONGSEONG NIEUN-HIEUH
-3136  ; [.3112.0020.0004.3136] # HANGUL LETTER NIEUN-HIEUH; QQK
-FFA6  ; [.3112.0020.0012.FFA6] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH; QQK
-11AE  ; [.3113.0020.0002.11AE] # HANGUL JONGSEONG TIKEUT
-11AF  ; [.3114.0020.0002.11AF] # HANGUL JONGSEONG RIEUL
-11B0  ; [.3115.0020.0002.11B0] # HANGUL JONGSEONG RIEUL-KIYEOK
-313A  ; [.3115.0020.0004.313A] # HANGUL LETTER RIEUL-KIYEOK; QQK
-FFAA  ; [.3115.0020.0012.FFAA] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK; QQK
-11B1  ; [.3116.0020.0002.11B1] # HANGUL JONGSEONG RIEUL-MIEUM
-313B  ; [.3116.0020.0004.313B] # HANGUL LETTER RIEUL-MIEUM; QQK
-FFAB  ; [.3116.0020.0012.FFAB] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM; QQK
-11B2  ; [.3117.0020.0002.11B2] # HANGUL JONGSEONG RIEUL-PIEUP
-313C  ; [.3117.0020.0004.313C] # HANGUL LETTER RIEUL-PIEUP; QQK
-FFAC  ; [.3117.0020.0012.FFAC] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP; QQK
-11B3  ; [.3118.0020.0002.11B3] # HANGUL JONGSEONG RIEUL-SIOS
-313D  ; [.3118.0020.0004.313D] # HANGUL LETTER RIEUL-SIOS; QQK
-FFAD  ; [.3118.0020.0012.FFAD] # HALFWIDTH HANGUL LETTER RIEUL-SIOS; QQK
-11B4  ; [.3119.0020.0002.11B4] # HANGUL JONGSEONG RIEUL-THIEUTH
-313E  ; [.3119.0020.0004.313E] # HANGUL LETTER RIEUL-THIEUTH; QQK
-FFAE  ; [.3119.0020.0012.FFAE] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH; QQK
-11B5  ; [.311A.0020.0002.11B5] # HANGUL JONGSEONG RIEUL-PHIEUPH
-313F  ; [.311A.0020.0004.313F] # HANGUL LETTER RIEUL-PHIEUPH; QQK
-FFAF  ; [.311A.0020.0012.FFAF] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH; QQK
-11B6  ; [.311B.0020.0002.11B6] # HANGUL JONGSEONG RIEUL-HIEUH
-11B7  ; [.311C.0020.0002.11B7] # HANGUL JONGSEONG MIEUM
-11B8  ; [.311D.0020.0002.11B8] # HANGUL JONGSEONG PIEUP
-11B9  ; [.311E.0020.0002.11B9] # HANGUL JONGSEONG PIEUP-SIOS
-11BA  ; [.311F.0020.0002.11BA] # HANGUL JONGSEONG SIOS
-11BB  ; [.3120.0020.0002.11BB] # HANGUL JONGSEONG SSANGSIOS
-11BC  ; [.3121.0020.0002.11BC] # HANGUL JONGSEONG IEUNG
-11BD  ; [.3122.0020.0002.11BD] # HANGUL JONGSEONG CIEUC
-11BE  ; [.3123.0020.0002.11BE] # HANGUL JONGSEONG CHIEUCH
-11BF  ; [.3124.0020.0002.11BF] # HANGUL JONGSEONG KHIEUKH
-11C0  ; [.3125.0020.0002.11C0] # HANGUL JONGSEONG THIEUTH
-11C1  ; [.3126.0020.0002.11C1] # HANGUL JONGSEONG PHIEUPH
-11C2  ; [.3127.0020.0002.11C2] # HANGUL JONGSEONG HIEUH
-11C3  ; [.3128.0020.0002.11C3] # HANGUL JONGSEONG KIYEOK-RIEUL
-11C4  ; [.3129.0020.0002.11C4] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
-11C5  ; [.312A.0020.0002.11C5] # HANGUL JONGSEONG NIEUN-KIYEOK
-11C6  ; [.312B.0020.0002.11C6] # HANGUL JONGSEONG NIEUN-TIKEUT
-11C7  ; [.312C.0020.0002.11C7] # HANGUL JONGSEONG NIEUN-SIOS
-3167  ; [.312C.0020.0004.3167] # HANGUL LETTER NIEUN-SIOS; QQK
-11C8  ; [.312D.0020.0002.11C8] # HANGUL JONGSEONG NIEUN-PANSIOS
-3168  ; [.312D.0020.0004.3168] # HANGUL LETTER NIEUN-PANSIOS; QQK
-11C9  ; [.312E.0020.0002.11C9] # HANGUL JONGSEONG NIEUN-THIEUTH
-11CA  ; [.312F.0020.0002.11CA] # HANGUL JONGSEONG TIKEUT-KIYEOK
-11CB  ; [.3130.0020.0002.11CB] # HANGUL JONGSEONG TIKEUT-RIEUL
-11CC  ; [.3131.0020.0002.11CC] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
-3169  ; [.3131.0020.0004.3169] # HANGUL LETTER RIEUL-KIYEOK-SIOS; QQK
-11CD  ; [.3132.0020.0002.11CD] # HANGUL JONGSEONG RIEUL-NIEUN
-11CE  ; [.3133.0020.0002.11CE] # HANGUL JONGSEONG RIEUL-TIKEUT
-316A  ; [.3133.0020.0004.316A] # HANGUL LETTER RIEUL-TIKEUT; QQK
-11CF  ; [.3134.0020.0002.11CF] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
-11D0  ; [.3135.0020.0002.11D0] # HANGUL JONGSEONG SSANGRIEUL
-11D1  ; [.3136.0020.0002.11D1] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
-11D2  ; [.3137.0020.0002.11D2] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
-11D3  ; [.3138.0020.0002.11D3] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
-316B  ; [.3138.0020.0004.316B] # HANGUL LETTER RIEUL-PIEUP-SIOS; QQK
-11D4  ; [.3139.0020.0002.11D4] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
-11D5  ; [.313A.0020.0002.11D5] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
-11D6  ; [.313B.0020.0002.11D6] # HANGUL JONGSEONG RIEUL-SSANGSIOS
-11D7  ; [.313C.0020.0002.11D7] # HANGUL JONGSEONG RIEUL-PANSIOS
-316C  ; [.313C.0020.0004.316C] # HANGUL LETTER RIEUL-PANSIOS; QQK
-11D8  ; [.313D.0020.0002.11D8] # HANGUL JONGSEONG RIEUL-KHIEUKH
-11D9  ; [.313E.0020.0002.11D9] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
-316D  ; [.313E.0020.0004.316D] # HANGUL LETTER RIEUL-YEORINHIEUH; QQK
-11DA  ; [.313F.0020.0002.11DA] # HANGUL JONGSEONG MIEUM-KIYEOK
-11DB  ; [.3140.0020.0002.11DB] # HANGUL JONGSEONG MIEUM-RIEUL
-11DC  ; [.3141.0020.0002.11DC] # HANGUL JONGSEONG MIEUM-PIEUP
-11DD  ; [.3142.0020.0002.11DD] # HANGUL JONGSEONG MIEUM-SIOS
-316F  ; [.3142.0020.0004.316F] # HANGUL LETTER MIEUM-SIOS; QQK
-11DE  ; [.3143.0020.0002.11DE] # HANGUL JONGSEONG MIEUM-SSANGSIOS
-11DF  ; [.3144.0020.0002.11DF] # HANGUL JONGSEONG MIEUM-PANSIOS
-3170  ; [.3144.0020.0004.3170] # HANGUL LETTER MIEUM-PANSIOS; QQK
-11E0  ; [.3145.0020.0002.11E0] # HANGUL JONGSEONG MIEUM-CHIEUCH
-11E1  ; [.3146.0020.0002.11E1] # HANGUL JONGSEONG MIEUM-HIEUH
-11E2  ; [.3147.0020.0002.11E2] # HANGUL JONGSEONG KAPYEOUNMIEUM
-11E3  ; [.3148.0020.0002.11E3] # HANGUL JONGSEONG PIEUP-RIEUL
-11E4  ; [.3149.0020.0002.11E4] # HANGUL JONGSEONG PIEUP-PHIEUPH
-11E5  ; [.314A.0020.0002.11E5] # HANGUL JONGSEONG PIEUP-HIEUH
-11E6  ; [.314B.0020.0002.11E6] # HANGUL JONGSEONG KAPYEOUNPIEUP
-11E7  ; [.314C.0020.0002.11E7] # HANGUL JONGSEONG SIOS-KIYEOK
-11E8  ; [.314D.0020.0002.11E8] # HANGUL JONGSEONG SIOS-TIKEUT
-11E9  ; [.314E.0020.0002.11E9] # HANGUL JONGSEONG SIOS-RIEUL
-11EA  ; [.314F.0020.0002.11EA] # HANGUL JONGSEONG SIOS-PIEUP
-11EB  ; [.3150.0020.0002.11EB] # HANGUL JONGSEONG PANSIOS
-11EC  ; [.3151.0020.0002.11EC] # HANGUL JONGSEONG IEUNG-KIYEOK
-11ED  ; [.3152.0020.0002.11ED] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
-11EE  ; [.3153.0020.0002.11EE] # HANGUL JONGSEONG SSANGIEUNG
-11EF  ; [.3154.0020.0002.11EF] # HANGUL JONGSEONG IEUNG-KHIEUKH
-11F0  ; [.3155.0020.0002.11F0] # HANGUL JONGSEONG YESIEUNG
-11F1  ; [.3156.0020.0002.11F1] # HANGUL JONGSEONG YESIEUNG-SIOS
-3182  ; [.3156.0020.0004.3182] # HANGUL LETTER YESIEUNG-SIOS; QQK
-11F2  ; [.3157.0020.0002.11F2] # HANGUL JONGSEONG YESIEUNG-PANSIOS
-3183  ; [.3157.0020.0004.3183] # HANGUL LETTER YESIEUNG-PANSIOS; QQK
-11F3  ; [.3158.0020.0002.11F3] # HANGUL JONGSEONG PHIEUPH-PIEUP
-11F4  ; [.3159.0020.0002.11F4] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
-11F5  ; [.315A.0020.0002.11F5] # HANGUL JONGSEONG HIEUH-NIEUN
-11F6  ; [.315B.0020.0002.11F6] # HANGUL JONGSEONG HIEUH-RIEUL
-11F7  ; [.315C.0020.0002.11F7] # HANGUL JONGSEONG HIEUH-MIEUM
-11F8  ; [.315D.0020.0002.11F8] # HANGUL JONGSEONG HIEUH-PIEUP
-11F9  ; [.315E.0020.0002.11F9] # HANGUL JONGSEONG YEORINHIEUH
-11FA  ; [.315F.0020.0002.11FA] # HANGUL JONGSEONG KIYEOK-NIEUN
-11FB  ; [.3160.0020.0002.11FB] # HANGUL JONGSEONG KIYEOK-PIEUP
-11FC  ; [.3161.0020.0002.11FC] # HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD  ; [.3162.0020.0002.11FD] # HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE  ; [.3163.0020.0002.11FE] # HANGUL JONGSEONG KIYEOK-HIEUH
-11FF  ; [.3164.0020.0002.11FF] # HANGUL JONGSEONG SSANGNIEUN
-D7CB  ; [.3165.0020.0002.D7CB] # HANGUL JONGSEONG NIEUN-RIEUL
-D7CC  ; [.3166.0020.0002.D7CC] # HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD  ; [.3167.0020.0002.D7CD] # HANGUL JONGSEONG SSANGTIKEUT
-D7CE  ; [.3168.0020.0002.D7CE] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF  ; [.3169.0020.0002.D7CF] # HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0  ; [.316A.0020.0002.D7D0] # HANGUL JONGSEONG TIKEUT-SIOS
-D7D1  ; [.316B.0020.0002.D7D1] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2  ; [.316C.0020.0002.D7D2] # HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3  ; [.316D.0020.0002.D7D3] # HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4  ; [.316E.0020.0002.D7D4] # HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5  ; [.316F.0020.0002.D7D5] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6  ; [.3170.0020.0002.D7D6] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7  ; [.3171.0020.0002.D7D7] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8  ; [.3172.0020.0002.D7D8] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9  ; [.3173.0020.0002.D7D9] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA  ; [.3174.0020.0002.D7DA] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB  ; [.3175.0020.0002.D7DB] # HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC  ; [.3176.0020.0002.D7DC] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD  ; [.3177.0020.0002.D7DD] # HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE  ; [.3178.0020.0002.D7DE] # HANGUL JONGSEONG MIEUM-NIEUN
-D7DF  ; [.3179.0020.0002.D7DF] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0  ; [.317A.0020.0002.D7E0] # HANGUL JONGSEONG SSANGMIEUM
-D7E1  ; [.317B.0020.0002.D7E1] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2  ; [.317C.0020.0002.D7E2] # HANGUL JONGSEONG MIEUM-CIEUC
-D7E3  ; [.317D.0020.0002.D7E3] # HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4  ; [.317E.0020.0002.D7E4] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5  ; [.317F.0020.0002.D7E5] # HANGUL JONGSEONG PIEUP-MIEUM
-D7E6  ; [.3180.0020.0002.D7E6] # HANGUL JONGSEONG SSANGPIEUP
-D7E7  ; [.3181.0020.0002.D7E7] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8  ; [.3182.0020.0002.D7E8] # HANGUL JONGSEONG PIEUP-CIEUC
-D7E9  ; [.3183.0020.0002.D7E9] # HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA  ; [.3184.0020.0002.D7EA] # HANGUL JONGSEONG SIOS-MIEUM
-D7EB  ; [.3185.0020.0002.D7EB] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC  ; [.3186.0020.0002.D7EC] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED  ; [.3187.0020.0002.D7ED] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE  ; [.3188.0020.0002.D7EE] # HANGUL JONGSEONG SIOS-PANSIOS
-D7EF  ; [.3189.0020.0002.D7EF] # HANGUL JONGSEONG SIOS-CIEUC
-D7F0  ; [.318A.0020.0002.D7F0] # HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1  ; [.318B.0020.0002.D7F1] # HANGUL JONGSEONG SIOS-THIEUTH
-D7F2  ; [.318C.0020.0002.D7F2] # HANGUL JONGSEONG SIOS-HIEUH
-D7F3  ; [.318D.0020.0002.D7F3] # HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4  ; [.318E.0020.0002.D7F4] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5  ; [.318F.0020.0002.D7F5] # HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6  ; [.3190.0020.0002.D7F6] # HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7  ; [.3191.0020.0002.D7F7] # HANGUL JONGSEONG CIEUC-PIEUP
-D7F8  ; [.3192.0020.0002.D7F8] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9  ; [.3193.0020.0002.D7F9] # HANGUL JONGSEONG SSANGCIEUC
-D7FA  ; [.3194.0020.0002.D7FA] # HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB  ; [.3195.0020.0002.D7FB] # HANGUL JONGSEONG PHIEUPH-THIEUTH
-3041  ; [.3196.0020.000D.3041] # HIRAGANA LETTER SMALL A
-3042  ; [.3196.0020.000E.3042] # HIRAGANA LETTER A
-30A1  ; [.3196.0020.000F.30A1] # KATAKANA LETTER SMALL A
-FF67  ; [.3196.0020.0010.FF67] # HALFWIDTH KATAKANA LETTER SMALL A; QQK
-30A2  ; [.3196.0020.0011.30A2] # KATAKANA LETTER A
-FF71  ; [.3196.0020.0012.FF71] # HALFWIDTH KATAKANA LETTER A; QQK
-32D0  ; [.3196.0020.0013.32D0] # CIRCLED KATAKANA A; QQK
-3303  ; [.3196.0020.001C.3303][.1570.0020.001C.3303][.31C0.0020.001F.3303] # SQUARE AARU; QQKN
-3300  ; [.3196.0020.001C.3300][.31B0.0020.001C.3300][.0000.014F.001F.3300][.1570.0020.001F.3300][.31AA.0020.001F.3300] # SQUARE APAATO; QQKN
-3301  ; [.3196.0020.001C.3301][.31C0.0020.001C.3301][.31B2.0020.001F.3301][.3196.0020.001F.3301] # SQUARE ARUHUA; QQKN
-3302  ; [.3196.0020.001C.3302][.31C7.0020.001C.3302][.31B3.0020.001F.3302][.0000.014F.001F.3302][.3196.0020.001F.3302] # SQUARE ANPEA; QQKN
-3043  ; [.3197.0020.000D.3043] # HIRAGANA LETTER SMALL I
-3044  ; [.3197.0020.000E.3044] # HIRAGANA LETTER I
-30A3  ; [.3197.0020.000F.30A3] # KATAKANA LETTER SMALL I
-FF68  ; [.3197.0020.0010.FF68] # HALFWIDTH KATAKANA LETTER SMALL I; QQK
-30A4  ; [.3197.0020.0011.30A4] # KATAKANA LETTER I
-FF72  ; [.3197.0020.0012.FF72] # HALFWIDTH KATAKANA LETTER I; QQK
-32D1  ; [.3197.0020.0013.32D1] # CIRCLED KATAKANA I; QQK
-3304  ; [.3197.0020.001C.3304][.31AC.0020.001C.3304][.31C7.0020.001F.3304][.319E.0020.001F.3304][.0000.014E.001F.3304] # SQUARE ININGU; QQKN
-3305  ; [.3197.0020.001C.3305][.31C7.0020.001C.3305][.31A7.0020.001F.3305] # SQUARE INTI; QQKN
-3045  ; [.3198.0020.000D.3045] # HIRAGANA LETTER SMALL U
-3046  ; [.3198.0020.000E.3046] # HIRAGANA LETTER U
-30A5  ; [.3198.0020.000F.30A5] # KATAKANA LETTER SMALL U
-FF69  ; [.3198.0020.0010.FF69] # HALFWIDTH KATAKANA LETTER SMALL U; QQK
-30A6  ; [.3198.0020.0011.30A6] # KATAKANA LETTER U
-FF73  ; [.3198.0020.0012.FF73] # HALFWIDTH KATAKANA LETTER U; QQK
-32D2  ; [.3198.0020.0013.32D2] # CIRCLED KATAKANA U; QQK
-3094  ; [.3198.0020.000E.3046][.0000.014E.0002.3099] # HIRAGANA LETTER VU; QQCM
-30F4  ; [.3198.0020.0011.30A6][.0000.014E.0002.3099] # KATAKANA LETTER VU; QQCM
-3306  ; [.3198.0020.001C.3306][.319B.0020.001C.3306][.31C7.0020.001F.3306] # SQUARE UON; QQKN
-1B000 ; [.3199.0020.0002.1B000] # KATAKANA LETTER ARCHAIC E
-3047  ; [.319A.0020.000D.3047] # HIRAGANA LETTER SMALL E
-3048  ; [.319A.0020.000E.3048] # HIRAGANA LETTER E
-30A7  ; [.319A.0020.000F.30A7] # KATAKANA LETTER SMALL E
-FF6A  ; [.319A.0020.0010.FF6A] # HALFWIDTH KATAKANA LETTER SMALL E; QQK
-30A8  ; [.319A.0020.0011.30A8] # KATAKANA LETTER E
-FF74  ; [.319A.0020.0012.FF74] # HALFWIDTH KATAKANA LETTER E; QQK
-32D3  ; [.319A.0020.0013.32D3] # CIRCLED KATAKANA E; QQK
-3308  ; [.319A.0020.001C.3308][.1570.0020.001C.3308][.319C.0020.001F.3308][.1570.0020.001F.3308] # SQUARE EEKAA; QQKN
-3307  ; [.319A.0020.001C.3307][.31A3.0020.001C.3307][.319E.0020.001F.3307][.1570.0020.001F.3307][.31AA.0020.001F.3307][.0000.014E.001F.3307] # SQUARE ESUKUUDO; QQKN
-3049  ; [.319B.0020.000D.3049] # HIRAGANA LETTER SMALL O
-304A  ; [.319B.0020.000E.304A] # HIRAGANA LETTER O
-30A9  ; [.319B.0020.000F.30A9] # KATAKANA LETTER SMALL O
-FF6B  ; [.319B.0020.0010.FF6B] # HALFWIDTH KATAKANA LETTER SMALL O; QQK
-30AA  ; [.319B.0020.0011.30AA] # KATAKANA LETTER O
-FF75  ; [.319B.0020.0012.FF75] # HALFWIDTH KATAKANA LETTER O; QQK
-32D4  ; [.319B.0020.0013.32D4] # CIRCLED KATAKANA O; QQK
-330A  ; [.319B.0020.001C.330A][.1570.0020.001C.330A][.31B7.0020.001F.330A] # SQUARE OOMU; QQKN
-3309  ; [.319B.0020.001C.3309][.31C7.0020.001C.3309][.31A3.0020.001F.3309] # SQUARE ONSU; QQKN
-3095  ; [.319C.0020.000D.3095] # HIRAGANA LETTER SMALL KA
-304B  ; [.319C.0020.000E.304B] # HIRAGANA LETTER KA
-30F5  ; [.319C.0020.000F.30F5] # KATAKANA LETTER SMALL KA
-30AB  ; [.319C.0020.0011.30AB] # KATAKANA LETTER KA
-FF76  ; [.319C.0020.0012.FF76] # HALFWIDTH KATAKANA LETTER KA; QQK
-32D5  ; [.319C.0020.0013.32D5] # CIRCLED KATAKANA KA; QQK
-304C  ; [.319C.0020.000E.304B][.0000.014E.0002.3099] # HIRAGANA LETTER GA; QQCM
-30AC  ; [.319C.0020.0011.30AB][.0000.014E.0002.3099] # KATAKANA LETTER GA; QQCM
-330B  ; [.319C.0020.001C.330B][.3197.0020.001C.330B][.31BF.0020.001F.330B] # SQUARE KAIRI; QQKN
-330C  ; [.319C.0020.001C.330C][.31BE.0020.001C.330C][.31A8.0020.001F.330C][.31AA.0020.001F.330C] # SQUARE KARATTO; QQKN
-330D  ; [.319C.0020.001C.330D][.31C2.0020.001C.330D][.31BF.0020.001F.330D][.1570.0020.001F.330D] # SQUARE KARORII; QQKN
-330E  ; [.319C.0020.001C.330E][.0000.014E.001C.330E][.31C2.0020.001F.330E][.31C7.0020.001F.330E] # SQUARE GARON; QQKN
-330F  ; [.319C.0020.001C.330F][.0000.014E.001C.330F][.31C7.0020.001F.330F][.31B5.0020.001F.330F] # SQUARE GANMA; QQKN
-304D  ; [.319D.0020.000E.304D] # HIRAGANA LETTER KI
-30AD  ; [.319D.0020.0011.30AD] # KATAKANA LETTER KI
-FF77  ; [.319D.0020.0012.FF77] # HALFWIDTH KATAKANA LETTER KI; QQK
-32D6  ; [.319D.0020.0013.32D6] # CIRCLED KATAKANA KI; QQK
-304E  ; [.319D.0020.000E.304D][.0000.014E.0002.3099] # HIRAGANA LETTER GI; QQCM
-30AE  ; [.319D.0020.0011.30AD][.0000.014E.0002.3099] # KATAKANA LETTER GI; QQCM
-3310  ; [.319D.0020.001C.3310][.0000.014E.001C.3310][.319C.0020.001F.3310][.0000.014E.001F.3310] # SQUARE GIGA; QQKN
-3311  ; [.319D.0020.001C.3311][.0000.014E.001C.3311][.31AC.0020.001F.3311][.1570.0020.001F.3311] # SQUARE GINII; QQKN
-3312  ; [.319D.0020.001C.3312][.31BB.0020.001C.3312][.31BF.0020.001F.3312][.1570.0020.001F.3312] # SQUARE KYURII; QQKN
-3313  ; [.319D.0020.001C.3313][.0000.014E.001C.3313][.31C0.0020.001F.3313][.31A6.0020.001F.3313][.0000.014E.001F.3313][.1570.0020.001F.3313] # SQUARE GIRUDAA; QQKN
-3314  ; [.319D.0020.001C.3314][.31C2.0020.001C.3314] # SQUARE KIRO; QQKN
-3315  ; [.319D.0020.001C.3315][.31C2.0020.001C.3315][.319E.0020.001F.3315][.0000.014E.001F.3315][.31BE.0020.001F.3315][.31B7.0020.001F.3315] # SQUARE KIROGURAMU; QQKN
-3316  ; [.319D.0020.001C.3316][.31C2.0020.001C.3316][.31B8.0020.001F.3316][.1570.0020.001F.3316][.31AA.0020.001F.3316][.31C0.0020.001F.3316] # SQUARE KIROMEETORU; QQKN
-3317  ; [.319D.0020.001C.3317][.31C2.0020.001C.3317][.31C3.0020.001F.3317][.31A8.0020.001F.3317][.31AA.0020.001F.3317] # SQUARE KIROWATTO; QQKN
-304F  ; [.319E.0020.000E.304F] # HIRAGANA LETTER KU
-31F0  ; [.319E.0020.000F.31F0] # KATAKANA LETTER SMALL KU
-30AF  ; [.319E.0020.0011.30AF] # KATAKANA LETTER KU
-FF78  ; [.319E.0020.0012.FF78] # HALFWIDTH KATAKANA LETTER KU; QQK
-32D7  ; [.319E.0020.0013.32D7] # CIRCLED KATAKANA KU; QQK
-3050  ; [.319E.0020.000E.304F][.0000.014E.0002.3099] # HIRAGANA LETTER GU; QQCM
-30B0  ; [.319E.0020.0011.30AF][.0000.014E.0002.3099] # KATAKANA LETTER GU; QQCM
-3318  ; [.319E.0020.001C.3318][.0000.014E.001C.3318][.31BE.0020.001F.3318][.31B7.0020.001F.3318] # SQUARE GURAMU; QQKN
-3319  ; [.319E.0020.001C.3319][.0000.014E.001C.3319][.31BE.0020.001F.3319][.31B7.0020.001F.3319][.31AA.0020.001F.3319][.31C7.0020.001F.3319] # SQUARE GURAMUTON; QQKN
-331A  ; [.319E.0020.001C.331A][.31C0.0020.001C.331A][.31A4.0020.001F.331A][.0000.014E.001F.331A][.3197.0020.001F.331A][.31C2.0020.001F.331A] # SQUARE KURUZEIRO; QQKN
-331B  ; [.319E.0020.001C.331B][.31C2.0020.001C.331B][.1570.0020.001F.331B][.31AE.0020.001F.331B] # SQUARE KUROONE; QQKN
-3096  ; [.319F.0020.000D.3096] # HIRAGANA LETTER SMALL KE
-3051  ; [.319F.0020.000E.3051] # HIRAGANA LETTER KE
-30F6  ; [.319F.0020.000F.30F6] # KATAKANA LETTER SMALL KE
-30B1  ; [.319F.0020.0011.30B1] # KATAKANA LETTER KE
-FF79  ; [.319F.0020.0012.FF79] # HALFWIDTH KATAKANA LETTER KE; QQK
-32D8  ; [.319F.0020.0013.32D8] # CIRCLED KATAKANA KE; QQK
-3052  ; [.319F.0020.000E.3051][.0000.014E.0002.3099] # HIRAGANA LETTER GE; QQCM
-30B2  ; [.319F.0020.0011.30B1][.0000.014E.0002.3099] # KATAKANA LETTER GE; QQCM
-331C  ; [.319F.0020.001C.331C][.1570.0020.001C.331C][.31A3.0020.001F.331C] # SQUARE KEESU; QQKN
-3053  ; [.31A0.0020.000E.3053] # HIRAGANA LETTER KO
-30B3  ; [.31A0.0020.0011.30B3] # KATAKANA LETTER KO
-FF7A  ; [.31A0.0020.0012.FF7A] # HALFWIDTH KATAKANA LETTER KO; QQK
-32D9  ; [.31A0.0020.0013.32D9] # CIRCLED KATAKANA KO; QQK
-3054  ; [.31A0.0020.000E.3053][.0000.014E.0002.3099] # HIRAGANA LETTER GO; QQCM
-30B4  ; [.31A0.0020.0011.30B3][.0000.014E.0002.3099] # KATAKANA LETTER GO; QQCM
-331E  ; [.31A0.0020.001C.331E][.1570.0020.001C.331E][.31B4.0020.001F.331E][.0000.014F.001F.331E] # SQUARE KOOPO; QQKN
-1F201 ; [.31A0.0020.001C.1F201][.31A0.0020.001C.1F201] # SQUARED KATAKANA KOKO; QQKN
-30FF  ; [.31A0.0020.0016.30FF][.31AA.0020.0016.30FF] # KATAKANA DIGRAPH KOTO; QQKN
-331D  ; [.31A0.0020.001C.331D][.31C0.0020.001C.331D][.31AB.0020.001F.331D] # SQUARE KORUNA; QQKN
-3055  ; [.31A1.0020.000E.3055] # HIRAGANA LETTER SA
-30B5  ; [.31A1.0020.0011.30B5] # KATAKANA LETTER SA
-FF7B  ; [.31A1.0020.0012.FF7B] # HALFWIDTH KATAKANA LETTER SA; QQK
-32DA  ; [.31A1.0020.0013.32DA] # CIRCLED KATAKANA SA; QQK
-1F202 ; [.31A1.0020.001C.1F202] # SQUARED KATAKANA SA; QQK
-3056  ; [.31A1.0020.000E.3055][.0000.014E.0002.3099] # HIRAGANA LETTER ZA; QQCM
-30B6  ; [.31A1.0020.0011.30B5][.0000.014E.0002.3099] # KATAKANA LETTER ZA; QQCM
-331F  ; [.31A1.0020.001C.331F][.3197.0020.001C.331F][.319E.0020.001F.331F][.31C0.0020.001F.331F] # SQUARE SAIKURU; QQKN
-3320  ; [.31A1.0020.001C.3320][.31C7.0020.001C.3320][.31A7.0020.001F.3320][.1570.0020.001F.3320][.31B7.0020.001F.3320] # SQUARE SANTIIMU; QQKN
-3057  ; [.31A2.0020.000E.3057] # HIRAGANA LETTER SI
-31F1  ; [.31A2.0020.000F.31F1] # KATAKANA LETTER SMALL SI
-30B7  ; [.31A2.0020.0011.30B7] # KATAKANA LETTER SI
-FF7C  ; [.31A2.0020.0012.FF7C] # HALFWIDTH KATAKANA LETTER SI; QQK
-32DB  ; [.31A2.0020.0013.32DB] # CIRCLED KATAKANA SI; QQK
-3058  ; [.31A2.0020.000E.3057][.0000.014E.0002.3099] # HIRAGANA LETTER ZI; QQCM
-30B8  ; [.31A2.0020.0011.30B7][.0000.014E.0002.3099] # KATAKANA LETTER ZI; QQCM
-3006  ; [.31A2.0020.0004.3006][.31B8.0020.0004.3006] # IDEOGRAPHIC CLOSING MARK; QQKN
-3321  ; [.31A2.0020.001C.3321][.31BF.0020.001C.3321][.31C7.0020.001F.3321][.319E.0020.001F.3321][.0000.014E.001F.3321] # SQUARE SIRINGU; QQKN
-3059  ; [.31A3.0020.000E.3059] # HIRAGANA LETTER SU
-31F2  ; [.31A3.0020.000F.31F2] # KATAKANA LETTER SMALL SU
-30B9  ; [.31A3.0020.0011.30B9] # KATAKANA LETTER SU
-FF7D  ; [.31A3.0020.0012.FF7D] # HALFWIDTH KATAKANA LETTER SU; QQK
-32DC  ; [.31A3.0020.0013.32DC] # CIRCLED KATAKANA SU; QQK
-305A  ; [.31A3.0020.000E.3059][.0000.014E.0002.3099] # HIRAGANA LETTER ZU; QQCM
-30BA  ; [.31A3.0020.0011.30B9][.0000.014E.0002.3099] # KATAKANA LETTER ZU; QQCM
-305B  ; [.31A4.0020.000E.305B] # HIRAGANA LETTER SE
-30BB  ; [.31A4.0020.0011.30BB] # KATAKANA LETTER SE
-FF7E  ; [.31A4.0020.0012.FF7E] # HALFWIDTH KATAKANA LETTER SE; QQK
-32DD  ; [.31A4.0020.0013.32DD] # CIRCLED KATAKANA SE; QQK
-305C  ; [.31A4.0020.000E.305B][.0000.014E.0002.3099] # HIRAGANA LETTER ZE; QQCM
-30BC  ; [.31A4.0020.0011.30BB][.0000.014E.0002.3099] # KATAKANA LETTER ZE; QQCM
-3322  ; [.31A4.0020.001C.3322][.31C7.0020.001C.3322][.31A7.0020.001F.3322] # SQUARE SENTI; QQKN
-3323  ; [.31A4.0020.001C.3323][.31C7.0020.001C.3323][.31AA.0020.001F.3323] # SQUARE SENTO; QQKN
-305D  ; [.31A5.0020.000E.305D] # HIRAGANA LETTER SO
-30BD  ; [.31A5.0020.0011.30BD] # KATAKANA LETTER SO
-FF7F  ; [.31A5.0020.0012.FF7F] # HALFWIDTH KATAKANA LETTER SO; QQK
-32DE  ; [.31A5.0020.0013.32DE] # CIRCLED KATAKANA SO; QQK
-305E  ; [.31A5.0020.000E.305D][.0000.014E.0002.3099] # HIRAGANA LETTER ZO; QQCM
-30BE  ; [.31A5.0020.0011.30BD][.0000.014E.0002.3099] # KATAKANA LETTER ZO; QQCM
-305F  ; [.31A6.0020.000E.305F] # HIRAGANA LETTER TA
-30BF  ; [.31A6.0020.0011.30BF] # KATAKANA LETTER TA
-FF80  ; [.31A6.0020.0012.FF80] # HALFWIDTH KATAKANA LETTER TA; QQK
-32DF  ; [.31A6.0020.0013.32DF] # CIRCLED KATAKANA TA; QQK
-3060  ; [.31A6.0020.000E.305F][.0000.014E.0002.3099] # HIRAGANA LETTER DA; QQCM
-30C0  ; [.31A6.0020.0011.30BF][.0000.014E.0002.3099] # KATAKANA LETTER DA; QQCM
-3324  ; [.31A6.0020.001C.3324][.0000.014E.001C.3324][.1570.0020.001F.3324][.31A3.0020.001F.3324] # SQUARE DAASU; QQKN
-3061  ; [.31A7.0020.000E.3061] # HIRAGANA LETTER TI
-30C1  ; [.31A7.0020.0011.30C1] # KATAKANA LETTER TI
-FF81  ; [.31A7.0020.0012.FF81] # HALFWIDTH KATAKANA LETTER TI; QQK
-32E0  ; [.31A7.0020.0013.32E0] # CIRCLED KATAKANA TI; QQK
-3062  ; [.31A7.0020.000E.3061][.0000.014E.0002.3099] # HIRAGANA LETTER DI; QQCM
-30C2  ; [.31A7.0020.0011.30C1][.0000.014E.0002.3099] # KATAKANA LETTER DI; QQCM
-3063  ; [.31A8.0020.000D.3063] # HIRAGANA LETTER SMALL TU
-3064  ; [.31A8.0020.000E.3064] # HIRAGANA LETTER TU
-30C3  ; [.31A8.0020.000F.30C3] # KATAKANA LETTER SMALL TU
-FF6F  ; [.31A8.0020.0010.FF6F] # HALFWIDTH KATAKANA LETTER SMALL TU; QQK
-30C4  ; [.31A8.0020.0011.30C4] # KATAKANA LETTER TU
-FF82  ; [.31A8.0020.0012.FF82] # HALFWIDTH KATAKANA LETTER TU; QQK
-32E1  ; [.31A8.0020.0013.32E1] # CIRCLED KATAKANA TU; QQK
-3065  ; [.31A8.0020.000E.3064][.0000.014E.0002.3099] # HIRAGANA LETTER DU; QQCM
-30C5  ; [.31A8.0020.0011.30C4][.0000.014E.0002.3099] # KATAKANA LETTER DU; QQCM
-3066  ; [.31A9.0020.000E.3066] # HIRAGANA LETTER TE
-30C6  ; [.31A9.0020.0011.30C6] # KATAKANA LETTER TE
-FF83  ; [.31A9.0020.0012.FF83] # HALFWIDTH KATAKANA LETTER TE; QQK
-32E2  ; [.31A9.0020.0013.32E2] # CIRCLED KATAKANA TE; QQK
-3067  ; [.31A9.0020.000E.3066][.0000.014E.0002.3099] # HIRAGANA LETTER DE; QQCM
-30C7  ; [.31A9.0020.0011.30C6][.0000.014E.0002.3099] # KATAKANA LETTER DE; QQCM
-1F213 ; [.31A9.0020.001C.1F213][.0000.014E.001C.1F213] # SQUARED KATAKANA DE; QQKN
-3325  ; [.31A9.0020.001C.3325][.0000.014E.001C.3325][.31A2.0020.001F.3325] # SQUARE DESI; QQKN
-3068  ; [.31AA.0020.000E.3068] # HIRAGANA LETTER TO
-31F3  ; [.31AA.0020.000F.31F3] # KATAKANA LETTER SMALL TO
-30C8  ; [.31AA.0020.0011.30C8] # KATAKANA LETTER TO
-FF84  ; [.31AA.0020.0012.FF84] # HALFWIDTH KATAKANA LETTER TO; QQK
-32E3  ; [.31AA.0020.0013.32E3] # CIRCLED KATAKANA TO; QQK
-3069  ; [.31AA.0020.000E.3068][.0000.014E.0002.3099] # HIRAGANA LETTER DO; QQCM
-30C9  ; [.31AA.0020.0011.30C8][.0000.014E.0002.3099] # KATAKANA LETTER DO; QQCM
-3326  ; [.31AA.0020.001C.3326][.0000.014E.001C.3326][.31C0.0020.001F.3326] # SQUARE DORU; QQKN
-3327  ; [.31AA.0020.001C.3327][.31C7.0020.001C.3327] # SQUARE TON; QQKN
-306A  ; [.31AB.0020.000E.306A] # HIRAGANA LETTER NA
-30CA  ; [.31AB.0020.0011.30CA] # KATAKANA LETTER NA
-FF85  ; [.31AB.0020.0012.FF85] # HALFWIDTH KATAKANA LETTER NA; QQK
-32E4  ; [.31AB.0020.0013.32E4] # CIRCLED KATAKANA NA; QQK
-3328  ; [.31AB.0020.001C.3328][.31AF.0020.001C.3328] # SQUARE NANO; QQKN
-306B  ; [.31AC.0020.000E.306B] # HIRAGANA LETTER NI
-30CB  ; [.31AC.0020.0011.30CB] # KATAKANA LETTER NI
-FF86  ; [.31AC.0020.0012.FF86] # HALFWIDTH KATAKANA LETTER NI; QQK
-32E5  ; [.31AC.0020.0013.32E5] # CIRCLED KATAKANA NI; QQK
-306C  ; [.31AD.0020.000E.306C] # HIRAGANA LETTER NU
-31F4  ; [.31AD.0020.000F.31F4] # KATAKANA LETTER SMALL NU
-30CC  ; [.31AD.0020.0011.30CC] # KATAKANA LETTER NU
-FF87  ; [.31AD.0020.0012.FF87] # HALFWIDTH KATAKANA LETTER NU; QQK
-32E6  ; [.31AD.0020.0013.32E6] # CIRCLED KATAKANA NU; QQK
-306D  ; [.31AE.0020.000E.306D] # HIRAGANA LETTER NE
-30CD  ; [.31AE.0020.0011.30CD] # KATAKANA LETTER NE
-FF88  ; [.31AE.0020.0012.FF88] # HALFWIDTH KATAKANA LETTER NE; QQK
-32E7  ; [.31AE.0020.0013.32E7] # CIRCLED KATAKANA NE; QQK
-306E  ; [.31AF.0020.000E.306E] # HIRAGANA LETTER NO
-30CE  ; [.31AF.0020.0011.30CE] # KATAKANA LETTER NO
-FF89  ; [.31AF.0020.0012.FF89] # HALFWIDTH KATAKANA LETTER NO; QQK
-32E8  ; [.31AF.0020.0013.32E8] # CIRCLED KATAKANA NO; QQK
-3329  ; [.31AF.0020.001C.3329][.31A8.0020.001C.3329][.31AA.0020.001F.3329] # SQUARE NOTTO; QQKN
-306F  ; [.31B0.0020.000E.306F] # HIRAGANA LETTER HA
-31F5  ; [.31B0.0020.000F.31F5] # KATAKANA LETTER SMALL HA
-30CF  ; [.31B0.0020.0011.30CF] # KATAKANA LETTER HA
-FF8A  ; [.31B0.0020.0012.FF8A] # HALFWIDTH KATAKANA LETTER HA; QQK
-32E9  ; [.31B0.0020.0013.32E9] # CIRCLED KATAKANA HA; QQK
-3070  ; [.31B0.0020.000E.306F][.0000.014E.0002.3099] # HIRAGANA LETTER BA; QQCM
-30D0  ; [.31B0.0020.0011.30CF][.0000.014E.0002.3099] # KATAKANA LETTER BA; QQCM
-3071  ; [.31B0.0020.000E.306F][.0000.014F.0002.309A] # HIRAGANA LETTER PA; QQCM
-30D1  ; [.31B0.0020.0011.30CF][.0000.014F.0002.309A] # KATAKANA LETTER PA; QQCM
-332B  ; [.31B0.0020.001C.332B][.0000.014F.001C.332B][.1570.0020.001F.332B][.31A4.0020.001F.332B][.31C7.0020.001F.332B][.31AA.0020.001F.332B] # SQUARE PAASENTO; QQKN
-332C  ; [.31B0.0020.001C.332C][.0000.014F.001C.332C][.1570.0020.001F.332C][.31A8.0020.001F.332C] # SQUARE PAATU; QQKN
-332D  ; [.31B0.0020.001C.332D][.0000.014E.001C.332D][.1570.0020.001F.332D][.31C1.0020.001F.332D][.31C0.0020.001F.332D] # SQUARE BAARERU; QQKN
-332A  ; [.31B0.0020.001C.332A][.3197.0020.001C.332A][.31A8.0020.001F.332A] # SQUARE HAITU; QQKN
-3072  ; [.31B1.0020.000E.3072] # HIRAGANA LETTER HI
-31F6  ; [.31B1.0020.000F.31F6] # KATAKANA LETTER SMALL HI
-30D2  ; [.31B1.0020.0011.30D2] # KATAKANA LETTER HI
-FF8B  ; [.31B1.0020.0012.FF8B] # HALFWIDTH KATAKANA LETTER HI; QQK
-32EA  ; [.31B1.0020.0013.32EA] # CIRCLED KATAKANA HI; QQK
-3073  ; [.31B1.0020.000E.3072][.0000.014E.0002.3099] # HIRAGANA LETTER BI; QQCM
-30D3  ; [.31B1.0020.0011.30D2][.0000.014E.0002.3099] # KATAKANA LETTER BI; QQCM
-3074  ; [.31B1.0020.000E.3072][.0000.014F.0002.309A] # HIRAGANA LETTER PI; QQCM
-30D4  ; [.31B1.0020.0011.30D2][.0000.014F.0002.309A] # KATAKANA LETTER PI; QQCM
-332E  ; [.31B1.0020.001C.332E][.0000.014F.001C.332E][.3196.0020.001F.332E][.31A3.0020.001F.332E][.31AA.0020.001F.332E][.31C0.0020.001F.332E] # SQUARE PIASUTORU; QQKN
-332F  ; [.31B1.0020.001C.332F][.0000.014F.001C.332F][.319E.0020.001F.332F][.31C0.0020.001F.332F] # SQUARE PIKURU; QQKN
-3330  ; [.31B1.0020.001C.3330][.0000.014F.001C.3330][.31A0.0020.001F.3330] # SQUARE PIKO; QQKN
-3331  ; [.31B1.0020.001C.3331][.0000.014E.001C.3331][.31C0.0020.001F.3331] # SQUARE BIRU; QQKN
-3075  ; [.31B2.0020.000E.3075] # HIRAGANA LETTER HU
-31F7  ; [.31B2.0020.000F.31F7] # KATAKANA LETTER SMALL HU
-30D5  ; [.31B2.0020.0011.30D5] # KATAKANA LETTER HU
-FF8C  ; [.31B2.0020.0012.FF8C] # HALFWIDTH KATAKANA LETTER HU; QQK
-32EB  ; [.31B2.0020.0013.32EB] # CIRCLED KATAKANA HU; QQK
-3076  ; [.31B2.0020.000E.3075][.0000.014E.0002.3099] # HIRAGANA LETTER BU; QQCM
-30D6  ; [.31B2.0020.0011.30D5][.0000.014E.0002.3099] # KATAKANA LETTER BU; QQCM
-3077  ; [.31B2.0020.000E.3075][.0000.014F.0002.309A] # HIRAGANA LETTER PU; QQCM
-30D7  ; [.31B2.0020.0011.30D5][.0000.014F.0002.309A] # KATAKANA LETTER PU; QQCM
-3332  ; [.31B2.0020.001C.3332][.3196.0020.001C.3332][.31BE.0020.001F.3332][.31A8.0020.001F.3332][.31AA.0020.001F.3332][.0000.014E.001F.3332] # SQUARE HUARADDO; QQKN
-3333  ; [.31B2.0020.001C.3333][.3197.0020.001C.3333][.1570.0020.001F.3333][.31AA.0020.001F.3333] # SQUARE HUIITO; QQKN
-3334  ; [.31B2.0020.001C.3334][.0000.014E.001C.3334][.31A8.0020.001F.3334][.31A2.0020.001F.3334][.319A.0020.001F.3334][.31C0.0020.001F.3334] # SQUARE BUSSYERU; QQKN
-3335  ; [.31B2.0020.001C.3335][.31BE.0020.001C.3335][.31C7.0020.001F.3335] # SQUARE HURAN; QQKN
-3078  ; [.31B3.0020.000E.3078] # HIRAGANA LETTER HE
-31F8  ; [.31B3.0020.000F.31F8] # KATAKANA LETTER SMALL HE
-30D8  ; [.31B3.0020.0011.30D8] # KATAKANA LETTER HE
-FF8D  ; [.31B3.0020.0012.FF8D] # HALFWIDTH KATAKANA LETTER HE; QQK
-32EC  ; [.31B3.0020.0013.32EC] # CIRCLED KATAKANA HE; QQK
-3079  ; [.31B3.0020.000E.3078][.0000.014E.0002.3099] # HIRAGANA LETTER BE; QQCM
-30D9  ; [.31B3.0020.0011.30D8][.0000.014E.0002.3099] # KATAKANA LETTER BE; QQCM
-307A  ; [.31B3.0020.000E.3078][.0000.014F.0002.309A] # HIRAGANA LETTER PE; QQCM
-30DA  ; [.31B3.0020.0011.30D8][.0000.014F.0002.309A] # KATAKANA LETTER PE; QQCM
-333B  ; [.31B3.0020.001C.333B][.0000.014F.001C.333B][.1570.0020.001F.333B][.31A2.0020.001F.333B][.0000.014E.001F.333B] # SQUARE PEEZI; QQKN
-333C  ; [.31B3.0020.001C.333C][.0000.014E.001C.333C][.1570.0020.001F.333C][.31A6.0020.001F.333C] # SQUARE BEETA; QQKN
-3336  ; [.31B3.0020.001C.3336][.319E.0020.001C.3336][.31A6.0020.001F.3336][.1570.0020.001F.3336][.31C0.0020.001F.3336] # SQUARE HEKUTAARU; QQKN
-3337  ; [.31B3.0020.001C.3337][.0000.014F.001C.3337][.31A5.0020.001F.3337] # SQUARE PESO; QQKN
-3338  ; [.31B3.0020.001C.3338][.0000.014F.001C.3338][.31AC.0020.001F.3338][.31B1.0020.001F.3338] # SQUARE PENIHI; QQKN
-3339  ; [.31B3.0020.001C.3339][.31C0.0020.001C.3339][.31A8.0020.001F.3339] # SQUARE HERUTU; QQKN
-333A  ; [.31B3.0020.001C.333A][.0000.014F.001C.333A][.31C7.0020.001F.333A][.31A3.0020.001F.333A] # SQUARE PENSU; QQKN
-307B  ; [.31B4.0020.000E.307B] # HIRAGANA LETTER HO
-31F9  ; [.31B4.0020.000F.31F9] # KATAKANA LETTER SMALL HO
-30DB  ; [.31B4.0020.0011.30DB] # KATAKANA LETTER HO
-FF8E  ; [.31B4.0020.0012.FF8E] # HALFWIDTH KATAKANA LETTER HO; QQK
-32ED  ; [.31B4.0020.0013.32ED] # CIRCLED KATAKANA HO; QQK
-307C  ; [.31B4.0020.000E.307B][.0000.014E.0002.3099] # HIRAGANA LETTER BO; QQCM
-30DC  ; [.31B4.0020.0011.30DB][.0000.014E.0002.3099] # KATAKANA LETTER BO; QQCM
-307D  ; [.31B4.0020.000E.307B][.0000.014F.0002.309A] # HIRAGANA LETTER PO; QQCM
-30DD  ; [.31B4.0020.0011.30DB][.0000.014F.0002.309A] # KATAKANA LETTER PO; QQCM
-3341  ; [.31B4.0020.001C.3341][.1570.0020.001C.3341][.31C0.0020.001F.3341] # SQUARE HOORU; QQKN
-3342  ; [.31B4.0020.001C.3342][.1570.0020.001C.3342][.31C7.0020.001F.3342] # SQUARE HOON; QQKN
-333D  ; [.31B4.0020.001C.333D][.0000.014F.001C.333D][.3197.0020.001F.333D][.31C7.0020.001F.333D][.31AA.0020.001F.333D] # SQUARE POINTO; QQKN
-1F200 ; [.31B4.0020.001C.1F200][.319C.0020.001C.1F200] # SQUARE HIRAGANA HOKA; QQKN
-333E  ; [.31B4.0020.001C.333E][.0000.014E.001C.333E][.31C0.0020.001F.333E][.31AA.0020.001F.333E] # SQUARE BORUTO; QQKN
-333F  ; [.31B4.0020.001C.333F][.31C7.0020.001C.333F] # SQUARE HON; QQKN
-3340  ; [.31B4.0020.001C.3340][.0000.014F.001C.3340][.31C7.0020.001F.3340][.31AA.0020.001F.3340][.0000.014E.001F.3340] # SQUARE PONDO; QQKN
-307E  ; [.31B5.0020.000E.307E] # HIRAGANA LETTER MA
-30DE  ; [.31B5.0020.0011.30DE] # KATAKANA LETTER MA
-FF8F  ; [.31B5.0020.0012.FF8F] # HALFWIDTH KATAKANA LETTER MA; QQK
-32EE  ; [.31B5.0020.0013.32EE] # CIRCLED KATAKANA MA; QQK
-3343  ; [.31B5.0020.001C.3343][.3197.0020.001C.3343][.319E.0020.001F.3343][.31C2.0020.001F.3343] # SQUARE MAIKURO; QQKN
-3344  ; [.31B5.0020.001C.3344][.3197.0020.001C.3344][.31C0.0020.001F.3344] # SQUARE MAIRU; QQKN
-303C  ; [.31B5.0020.0004.303C][.31A3.0020.0004.303C] # MASU MARK; QQKN
-3345  ; [.31B5.0020.001C.3345][.31A8.0020.001C.3345][.31B0.0020.001F.3345] # SQUARE MAHHA; QQKN
-3346  ; [.31B5.0020.001C.3346][.31C0.0020.001C.3346][.319E.0020.001F.3346] # SQUARE MARUKU; QQKN
-3347  ; [.31B5.0020.001C.3347][.31C7.0020.001C.3347][.31A2.0020.001F.3347][.31BD.0020.001F.3347][.31C7.0020.001F.3347] # SQUARE MANSYON; QQKN
-307F  ; [.31B6.0020.000E.307F] # HIRAGANA LETTER MI
-30DF  ; [.31B6.0020.0011.30DF] # KATAKANA LETTER MI
-FF90  ; [.31B6.0020.0012.FF90] # HALFWIDTH KATAKANA LETTER MI; QQK
-32EF  ; [.31B6.0020.0013.32EF] # CIRCLED KATAKANA MI; QQK
-3348  ; [.31B6.0020.001C.3348][.319E.0020.001C.3348][.31C2.0020.001F.3348][.31C7.0020.001F.3348] # SQUARE MIKURON; QQKN
-3349  ; [.31B6.0020.001C.3349][.31BF.0020.001C.3349] # SQUARE MIRI; QQKN
-334A  ; [.31B6.0020.001C.334A][.31BF.0020.001C.334A][.31B0.0020.001F.334A][.0000.014E.001F.334A][.1570.0020.001F.334A][.31C0.0020.001F.334A] # SQUARE MIRIBAARU; QQKN
-3080  ; [.31B7.0020.000E.3080] # HIRAGANA LETTER MU
-31FA  ; [.31B7.0020.000F.31FA] # KATAKANA LETTER SMALL MU
-30E0  ; [.31B7.0020.0011.30E0] # KATAKANA LETTER MU
-FF91  ; [.31B7.0020.0012.FF91] # HALFWIDTH KATAKANA LETTER MU; QQK
-32F0  ; [.31B7.0020.0013.32F0] # CIRCLED KATAKANA MU; QQK
-3081  ; [.31B8.0020.000E.3081] # HIRAGANA LETTER ME
-30E1  ; [.31B8.0020.0011.30E1] # KATAKANA LETTER ME
-FF92  ; [.31B8.0020.0012.FF92] # HALFWIDTH KATAKANA LETTER ME; QQK
-32F1  ; [.31B8.0020.0013.32F1] # CIRCLED KATAKANA ME; QQK
-334D  ; [.31B8.0020.001C.334D][.1570.0020.001C.334D][.31AA.0020.001F.334D][.31C0.0020.001F.334D] # SQUARE MEETORU; QQKN
-334B  ; [.31B8.0020.001C.334B][.319C.0020.001C.334B][.0000.014E.001F.334B] # SQUARE MEGA; QQKN
-334C  ; [.31B8.0020.001C.334C][.319C.0020.001C.334C][.0000.014E.001F.334C][.31AA.0020.001F.334C][.31C7.0020.001F.334C] # SQUARE MEGATON; QQKN
-3082  ; [.31B9.0020.000E.3082] # HIRAGANA LETTER MO
-30E2  ; [.31B9.0020.0011.30E2] # KATAKANA LETTER MO
-FF93  ; [.31B9.0020.0012.FF93] # HALFWIDTH KATAKANA LETTER MO; QQK
-32F2  ; [.31B9.0020.0013.32F2] # CIRCLED KATAKANA MO; QQK
-3083  ; [.31BA.0020.000D.3083] # HIRAGANA LETTER SMALL YA
-3084  ; [.31BA.0020.000E.3084] # HIRAGANA LETTER YA
-30E3  ; [.31BA.0020.000F.30E3] # KATAKANA LETTER SMALL YA
-FF6C  ; [.31BA.0020.0010.FF6C] # HALFWIDTH KATAKANA LETTER SMALL YA; QQK
-30E4  ; [.31BA.0020.0011.30E4] # KATAKANA LETTER YA
-FF94  ; [.31BA.0020.0012.FF94] # HALFWIDTH KATAKANA LETTER YA; QQK
-32F3  ; [.31BA.0020.0013.32F3] # CIRCLED KATAKANA YA; QQK
-334E  ; [.31BA.0020.001C.334E][.1570.0020.001C.334E][.31AA.0020.001F.334E][.0000.014E.001F.334E] # SQUARE YAADO; QQKN
-334F  ; [.31BA.0020.001C.334F][.1570.0020.001C.334F][.31C0.0020.001F.334F] # SQUARE YAARU; QQKN
-3085  ; [.31BB.0020.000D.3085] # HIRAGANA LETTER SMALL YU
-3086  ; [.31BB.0020.000E.3086] # HIRAGANA LETTER YU
-30E5  ; [.31BB.0020.000F.30E5] # KATAKANA LETTER SMALL YU
-FF6D  ; [.31BB.0020.0010.FF6D] # HALFWIDTH KATAKANA LETTER SMALL YU; QQK
-30E6  ; [.31BB.0020.0011.30E6] # KATAKANA LETTER YU
-FF95  ; [.31BB.0020.0012.FF95] # HALFWIDTH KATAKANA LETTER YU; QQK
-32F4  ; [.31BB.0020.0013.32F4] # CIRCLED KATAKANA YU; QQK
-3350  ; [.31BB.0020.001C.3350][.3196.0020.001C.3350][.31C7.0020.001F.3350] # SQUARE YUAN; QQKN
-1B001 ; [.31BC.0020.0002.1B001] # HIRAGANA LETTER ARCHAIC YE
-3087  ; [.31BD.0020.000D.3087] # HIRAGANA LETTER SMALL YO
-3088  ; [.31BD.0020.000E.3088] # HIRAGANA LETTER YO
-30E7  ; [.31BD.0020.000F.30E7] # KATAKANA LETTER SMALL YO
-FF6E  ; [.31BD.0020.0010.FF6E] # HALFWIDTH KATAKANA LETTER SMALL YO; QQK
-30E8  ; [.31BD.0020.0011.30E8] # KATAKANA LETTER YO
-FF96  ; [.31BD.0020.0012.FF96] # HALFWIDTH KATAKANA LETTER YO; QQK
-32F5  ; [.31BD.0020.0013.32F5] # CIRCLED KATAKANA YO; QQK
-309F  ; [.31BD.0020.0016.309F][.31BF.0020.0016.309F] # HIRAGANA DIGRAPH YORI; QQKN
-3089  ; [.31BE.0020.000E.3089] # HIRAGANA LETTER RA
-31FB  ; [.31BE.0020.000F.31FB] # KATAKANA LETTER SMALL RA
-30E9  ; [.31BE.0020.0011.30E9] # KATAKANA LETTER RA
-FF97  ; [.31BE.0020.0012.FF97] # HALFWIDTH KATAKANA LETTER RA; QQK
-32F6  ; [.31BE.0020.0013.32F6] # CIRCLED KATAKANA RA; QQK
-308A  ; [.31BF.0020.000E.308A] # HIRAGANA LETTER RI
-31FC  ; [.31BF.0020.000F.31FC] # KATAKANA LETTER SMALL RI
-30EA  ; [.31BF.0020.0011.30EA] # KATAKANA LETTER RI
-FF98  ; [.31BF.0020.0012.FF98] # HALFWIDTH KATAKANA LETTER RI; QQK
-32F7  ; [.31BF.0020.0013.32F7] # CIRCLED KATAKANA RI; QQK
-3351  ; [.31BF.0020.001C.3351][.31A8.0020.001C.3351][.31AA.0020.001F.3351][.31C0.0020.001F.3351] # SQUARE RITTORU; QQKN
-3352  ; [.31BF.0020.001C.3352][.31BE.0020.001C.3352] # SQUARE RIRA; QQKN
-308B  ; [.31C0.0020.000E.308B] # HIRAGANA LETTER RU
-31FD  ; [.31C0.0020.000F.31FD] # KATAKANA LETTER SMALL RU
-30EB  ; [.31C0.0020.0011.30EB] # KATAKANA LETTER RU
-FF99  ; [.31C0.0020.0012.FF99] # HALFWIDTH KATAKANA LETTER RU; QQK
-32F8  ; [.31C0.0020.0013.32F8] # CIRCLED KATAKANA RU; QQK
-3354  ; [.31C0.0020.001C.3354][.1570.0020.001C.3354][.31B2.0020.001F.3354][.0000.014E.001F.3354][.31C0.0020.001F.3354] # SQUARE RUUBURU; QQKN
-3353  ; [.31C0.0020.001C.3353][.31B1.0020.001C.3353][.0000.014F.001F.3353][.1570.0020.001F.3353] # SQUARE RUPII; QQKN
-308C  ; [.31C1.0020.000E.308C] # HIRAGANA LETTER RE
-31FE  ; [.31C1.0020.000F.31FE] # KATAKANA LETTER SMALL RE
-30EC  ; [.31C1.0020.0011.30EC] # KATAKANA LETTER RE
-FF9A  ; [.31C1.0020.0012.FF9A] # HALFWIDTH KATAKANA LETTER RE; QQK
-32F9  ; [.31C1.0020.0013.32F9] # CIRCLED KATAKANA RE; QQK
-3355  ; [.31C1.0020.001C.3355][.31B7.0020.001C.3355] # SQUARE REMU; QQKN
-3356  ; [.31C1.0020.001C.3356][.31C7.0020.001C.3356][.31AA.0020.001F.3356][.319F.0020.001F.3356][.0000.014E.001F.3356][.31C7.0020.001F.3356] # SQUARE RENTOGEN; QQKN
-308D  ; [.31C2.0020.000E.308D] # HIRAGANA LETTER RO
-31FF  ; [.31C2.0020.000F.31FF] # KATAKANA LETTER SMALL RO
-30ED  ; [.31C2.0020.0011.30ED] # KATAKANA LETTER RO
-FF9B  ; [.31C2.0020.0012.FF9B] # HALFWIDTH KATAKANA LETTER RO; QQK
-32FA  ; [.31C2.0020.0013.32FA] # CIRCLED KATAKANA RO; QQK
-308E  ; [.31C3.0020.000D.308E] # HIRAGANA LETTER SMALL WA
-308F  ; [.31C3.0020.000E.308F] # HIRAGANA LETTER WA
-30EE  ; [.31C3.0020.000F.30EE] # KATAKANA LETTER SMALL WA
-30EF  ; [.31C3.0020.0011.30EF] # KATAKANA LETTER WA
-FF9C  ; [.31C3.0020.0012.FF9C] # HALFWIDTH KATAKANA LETTER WA; QQK
-32FB  ; [.31C3.0020.0013.32FB] # CIRCLED KATAKANA WA; QQK
-30F7  ; [.31C3.0020.0011.30EF][.0000.014E.0002.3099] # KATAKANA LETTER VA; QQCM
-3357  ; [.31C3.0020.001C.3357][.31A8.0020.001C.3357][.31AA.0020.001F.3357] # SQUARE WATTO; QQKN
-3090  ; [.31C4.0020.000E.3090] # HIRAGANA LETTER WI
-30F0  ; [.31C4.0020.0011.30F0] # KATAKANA LETTER WI
-32FC  ; [.31C4.0020.0013.32FC] # CIRCLED KATAKANA WI; QQK
-30F8  ; [.31C4.0020.0011.30F0][.0000.014E.0002.3099] # KATAKANA LETTER VI; QQCM
-3091  ; [.31C5.0020.000E.3091] # HIRAGANA LETTER WE
-30F1  ; [.31C5.0020.0011.30F1] # KATAKANA LETTER WE
-32FD  ; [.31C5.0020.0013.32FD] # CIRCLED KATAKANA WE; QQK
-30F9  ; [.31C5.0020.0011.30F1][.0000.014E.0002.3099] # KATAKANA LETTER VE; QQCM
-3092  ; [.31C6.0020.000E.3092] # HIRAGANA LETTER WO
-30F2  ; [.31C6.0020.0011.30F2] # KATAKANA LETTER WO
-FF66  ; [.31C6.0020.0012.FF66] # HALFWIDTH KATAKANA LETTER WO; QQK
-32FE  ; [.31C6.0020.0013.32FE] # CIRCLED KATAKANA WO; QQK
-30FA  ; [.31C6.0020.0011.30F2][.0000.014E.0002.3099] # KATAKANA LETTER VO; QQCM
-3093  ; [.31C7.0020.000E.3093] # HIRAGANA LETTER N
-30F3  ; [.31C7.0020.0011.30F3] # KATAKANA LETTER N
-FF9D  ; [.31C7.0020.0012.FF9D] # HALFWIDTH KATAKANA LETTER N; QQK
-3105  ; [.31C8.0020.0002.3105] # BOPOMOFO LETTER B
-31A0  ; [.31C8.0020.0004.31A0][.0000.0160.0004.31A0] # BOPOMOFO LETTER BU; QQKN
-3106  ; [.31C9.0020.0002.3106] # BOPOMOFO LETTER P
-31B4  ; [.31C9.0020.0019.31B4] # BOPOMOFO FINAL LETTER P; QQK
-3107  ; [.31CA.0020.0002.3107] # BOPOMOFO LETTER M
-3108  ; [.31CB.0020.0002.3108] # BOPOMOFO LETTER F
-312A  ; [.31CC.0020.0002.312A] # BOPOMOFO LETTER V
-3109  ; [.31CD.0020.0002.3109] # BOPOMOFO LETTER D
-310A  ; [.31CE.0020.0002.310A] # BOPOMOFO LETTER T
-31B5  ; [.31CE.0020.0019.31B5] # BOPOMOFO FINAL LETTER T; QQK
-310B  ; [.31CF.0020.0002.310B] # BOPOMOFO LETTER N
-310C  ; [.31D0.0020.0002.310C] # BOPOMOFO LETTER L
-310D  ; [.31D1.0020.0002.310D] # BOPOMOFO LETTER G
-31A3  ; [.31D1.0020.0004.31A3][.0000.0160.0004.31A3] # BOPOMOFO LETTER GU; QQKN
-310E  ; [.31D2.0020.0002.310E] # BOPOMOFO LETTER K
-31B6  ; [.31D2.0020.0019.31B6] # BOPOMOFO FINAL LETTER K; QQK
-312B  ; [.31D3.0020.0002.312B] # BOPOMOFO LETTER NG
-31AD  ; [.31D4.0020.0002.31AD] # BOPOMOFO LETTER NGG
-310F  ; [.31D5.0020.0002.310F] # BOPOMOFO LETTER H
-31B7  ; [.31D5.0020.0019.31B7] # BOPOMOFO FINAL LETTER H; QQK
-3110  ; [.31D6.0020.0002.3110] # BOPOMOFO LETTER J
-31A2  ; [.31D6.0020.0004.31A2][.0000.0160.0004.31A2] # BOPOMOFO LETTER JI; QQKN
-3111  ; [.31D7.0020.0002.3111] # BOPOMOFO LETTER Q
-3112  ; [.31D8.0020.0002.3112] # BOPOMOFO LETTER X
-312C  ; [.31D9.0020.0002.312C] # BOPOMOFO LETTER GN
-3113  ; [.31DA.0020.0002.3113] # BOPOMOFO LETTER ZH
-3114  ; [.31DB.0020.0002.3114] # BOPOMOFO LETTER CH
-3115  ; [.31DC.0020.0002.3115] # BOPOMOFO LETTER SH
-3116  ; [.31DD.0020.0002.3116] # BOPOMOFO LETTER R
-3117  ; [.31DE.0020.0002.3117] # BOPOMOFO LETTER Z
-31A1  ; [.31DE.0020.0004.31A1][.0000.0160.0004.31A1] # BOPOMOFO LETTER ZI; QQKN
-3118  ; [.31DF.0020.0002.3118] # BOPOMOFO LETTER C
-3119  ; [.31E0.0020.0002.3119] # BOPOMOFO LETTER S
-31B8  ; [.31E1.0020.0002.31B8] # BOPOMOFO LETTER GH
-31B9  ; [.31E2.0020.0002.31B9] # BOPOMOFO LETTER LH
-31BA  ; [.31E3.0020.0002.31BA] # BOPOMOFO LETTER ZY
-311A  ; [.31E4.0020.0002.311A] # BOPOMOFO LETTER A
-31A9  ; [.31E4.0020.0004.31A9][.0000.0160.0004.31A9] # BOPOMOFO LETTER ANN; QQKN
-311B  ; [.31E5.0020.0002.311B] # BOPOMOFO LETTER O
-31A7  ; [.31E5.0020.0004.31A7][.0000.0160.0004.31A7] # BOPOMOFO LETTER ONN; QQKN
-31A6  ; [.31E6.0020.0002.31A6] # BOPOMOFO LETTER OO
-311C  ; [.31E7.0020.0002.311C] # BOPOMOFO LETTER E
-311D  ; [.31E8.0020.0002.311D] # BOPOMOFO LETTER EH
-31A4  ; [.31E9.0020.0002.31A4] # BOPOMOFO LETTER EE
-31A5  ; [.31E9.0020.0004.31A5][.0000.0160.0004.31A5] # BOPOMOFO LETTER ENN; QQKN
-311E  ; [.31EA.0020.0002.311E] # BOPOMOFO LETTER AI
-31AE  ; [.31EA.0020.0004.31AE][.0000.0160.0004.31AE] # BOPOMOFO LETTER AINN; QQKN
-311F  ; [.31EB.0020.0002.311F] # BOPOMOFO LETTER EI
-3120  ; [.31EC.0020.0002.3120] # BOPOMOFO LETTER AU
-31AF  ; [.31EC.0020.0004.31AF][.0000.0160.0004.31AF] # BOPOMOFO LETTER AUNN; QQKN
-3121  ; [.31ED.0020.0002.3121] # BOPOMOFO LETTER OU
-3122  ; [.31EE.0020.0002.3122] # BOPOMOFO LETTER AN
-3123  ; [.31EF.0020.0002.3123] # BOPOMOFO LETTER EN
-3124  ; [.31F0.0020.0002.3124] # BOPOMOFO LETTER ANG
-31B2  ; [.31F1.0020.0002.31B2] # BOPOMOFO LETTER ONG
-3125  ; [.31F2.0020.0002.3125] # BOPOMOFO LETTER ENG
-31B0  ; [.31F3.0020.0002.31B0] # BOPOMOFO LETTER AM
-31B1  ; [.31F4.0020.0002.31B1] # BOPOMOFO LETTER OM
-31AC  ; [.31F5.0020.0002.31AC] # BOPOMOFO LETTER IM
-3126  ; [.31F6.0020.0002.3126] # BOPOMOFO LETTER ER
-3127  ; [.31F7.0020.0002.3127] # BOPOMOFO LETTER I
-31AA  ; [.31F7.0020.0004.31AA][.0000.0160.0004.31AA] # BOPOMOFO LETTER INN; QQKN
-31B3  ; [.31F7.0020.0016.31B3][.0000.0160.0016.31B3] # BOPOMOFO LETTER INNN; QQKN
-3128  ; [.31F8.0020.0002.3128] # BOPOMOFO LETTER U
-31AB  ; [.31F8.0020.0004.31AB][.0000.0160.0004.31AB] # BOPOMOFO LETTER UNN; QQKN
-31A8  ; [.31F8.0020.0004.31A8][.0000.0162.0004.31A8] # BOPOMOFO LETTER IR; QQKN
-3129  ; [.31F9.0020.0002.3129] # BOPOMOFO LETTER IU
-312D  ; [.31FA.0020.0002.312D] # BOPOMOFO LETTER IH
-A000  ; [.31FB.0020.0002.A000] # YI SYLLABLE IT
-A001  ; [.31FC.0020.0002.A001] # YI SYLLABLE IX
-A002  ; [.31FD.0020.0002.A002] # YI SYLLABLE I
-A003  ; [.31FE.0020.0002.A003] # YI SYLLABLE IP
-A004  ; [.31FF.0020.0002.A004] # YI SYLLABLE IET
-A005  ; [.3200.0020.0002.A005] # YI SYLLABLE IEX
-A006  ; [.3201.0020.0002.A006] # YI SYLLABLE IE
-A007  ; [.3202.0020.0002.A007] # YI SYLLABLE IEP
-A008  ; [.3203.0020.0002.A008] # YI SYLLABLE AT
-A009  ; [.3204.0020.0002.A009] # YI SYLLABLE AX
-A00A  ; [.3205.0020.0002.A00A] # YI SYLLABLE A
-A00B  ; [.3206.0020.0002.A00B] # YI SYLLABLE AP
-A00C  ; [.3207.0020.0002.A00C] # YI SYLLABLE UOX
-A00D  ; [.3208.0020.0002.A00D] # YI SYLLABLE UO
-A00E  ; [.3209.0020.0002.A00E] # YI SYLLABLE UOP
-A00F  ; [.320A.0020.0002.A00F] # YI SYLLABLE OT
-A010  ; [.320B.0020.0002.A010] # YI SYLLABLE OX
-A011  ; [.320C.0020.0002.A011] # YI SYLLABLE O
-A012  ; [.320D.0020.0002.A012] # YI SYLLABLE OP
-A013  ; [.320E.0020.0002.A013] # YI SYLLABLE EX
-A014  ; [.320F.0020.0002.A014] # YI SYLLABLE E
-A015  ; [.3210.0020.0002.A015] # YI SYLLABLE WU
-A016  ; [.3211.0020.0002.A016] # YI SYLLABLE BIT
-A017  ; [.3212.0020.0002.A017] # YI SYLLABLE BIX
-A018  ; [.3213.0020.0002.A018] # YI SYLLABLE BI
-A019  ; [.3214.0020.0002.A019] # YI SYLLABLE BIP
-A01A  ; [.3215.0020.0002.A01A] # YI SYLLABLE BIET
-A01B  ; [.3216.0020.0002.A01B] # YI SYLLABLE BIEX
-A01C  ; [.3217.0020.0002.A01C] # YI SYLLABLE BIE
-A01D  ; [.3218.0020.0002.A01D] # YI SYLLABLE BIEP
-A01E  ; [.3219.0020.0002.A01E] # YI SYLLABLE BAT
-A01F  ; [.321A.0020.0002.A01F] # YI SYLLABLE BAX
-A020  ; [.321B.0020.0002.A020] # YI SYLLABLE BA
-A021  ; [.321C.0020.0002.A021] # YI SYLLABLE BAP
-A022  ; [.321D.0020.0002.A022] # YI SYLLABLE BUOX
-A023  ; [.321E.0020.0002.A023] # YI SYLLABLE BUO
-A024  ; [.321F.0020.0002.A024] # YI SYLLABLE BUOP
-A025  ; [.3220.0020.0002.A025] # YI SYLLABLE BOT
-A026  ; [.3221.0020.0002.A026] # YI SYLLABLE BOX
-A027  ; [.3222.0020.0002.A027] # YI SYLLABLE BO
-A028  ; [.3223.0020.0002.A028] # YI SYLLABLE BOP
-A029  ; [.3224.0020.0002.A029] # YI SYLLABLE BEX
-A02A  ; [.3225.0020.0002.A02A] # YI SYLLABLE BE
-A02B  ; [.3226.0020.0002.A02B] # YI SYLLABLE BEP
-A02C  ; [.3227.0020.0002.A02C] # YI SYLLABLE BUT
-A02D  ; [.3228.0020.0002.A02D] # YI SYLLABLE BUX
-A02E  ; [.3229.0020.0002.A02E] # YI SYLLABLE BU
-A02F  ; [.322A.0020.0002.A02F] # YI SYLLABLE BUP
-A030  ; [.322B.0020.0002.A030] # YI SYLLABLE BURX
-A031  ; [.322C.0020.0002.A031] # YI SYLLABLE BUR
-A032  ; [.322D.0020.0002.A032] # YI SYLLABLE BYT
-A033  ; [.322E.0020.0002.A033] # YI SYLLABLE BYX
-A034  ; [.322F.0020.0002.A034] # YI SYLLABLE BY
-A035  ; [.3230.0020.0002.A035] # YI SYLLABLE BYP
-A036  ; [.3231.0020.0002.A036] # YI SYLLABLE BYRX
-A037  ; [.3232.0020.0002.A037] # YI SYLLABLE BYR
-A038  ; [.3233.0020.0002.A038] # YI SYLLABLE PIT
-A039  ; [.3234.0020.0002.A039] # YI SYLLABLE PIX
-A03A  ; [.3235.0020.0002.A03A] # YI SYLLABLE PI
-A03B  ; [.3236.0020.0002.A03B] # YI SYLLABLE PIP
-A03C  ; [.3237.0020.0002.A03C] # YI SYLLABLE PIEX
-A03D  ; [.3238.0020.0002.A03D] # YI SYLLABLE PIE
-A03E  ; [.3239.0020.0002.A03E] # YI SYLLABLE PIEP
-A03F  ; [.323A.0020.0002.A03F] # YI SYLLABLE PAT
-A040  ; [.323B.0020.0002.A040] # YI SYLLABLE PAX
-A041  ; [.323C.0020.0002.A041] # YI SYLLABLE PA
-A042  ; [.323D.0020.0002.A042] # YI SYLLABLE PAP
-A043  ; [.323E.0020.0002.A043] # YI SYLLABLE PUOX
-A044  ; [.323F.0020.0002.A044] # YI SYLLABLE PUO
-A045  ; [.3240.0020.0002.A045] # YI SYLLABLE PUOP
-A046  ; [.3241.0020.0002.A046] # YI SYLLABLE POT
-A047  ; [.3242.0020.0002.A047] # YI SYLLABLE POX
-A048  ; [.3243.0020.0002.A048] # YI SYLLABLE PO
-A049  ; [.3244.0020.0002.A049] # YI SYLLABLE POP
-A04A  ; [.3245.0020.0002.A04A] # YI SYLLABLE PUT
-A04B  ; [.3246.0020.0002.A04B] # YI SYLLABLE PUX
-A04C  ; [.3247.0020.0002.A04C] # YI SYLLABLE PU
-A04D  ; [.3248.0020.0002.A04D] # YI SYLLABLE PUP
-A04E  ; [.3249.0020.0002.A04E] # YI SYLLABLE PURX
-A04F  ; [.324A.0020.0002.A04F] # YI SYLLABLE PUR
-A050  ; [.324B.0020.0002.A050] # YI SYLLABLE PYT
-A051  ; [.324C.0020.0002.A051] # YI SYLLABLE PYX
-A052  ; [.324D.0020.0002.A052] # YI SYLLABLE PY
-A053  ; [.324E.0020.0002.A053] # YI SYLLABLE PYP
-A054  ; [.324F.0020.0002.A054] # YI SYLLABLE PYRX
-A055  ; [.3250.0020.0002.A055] # YI SYLLABLE PYR
-A056  ; [.3251.0020.0002.A056] # YI SYLLABLE BBIT
-A057  ; [.3252.0020.0002.A057] # YI SYLLABLE BBIX
-A058  ; [.3253.0020.0002.A058] # YI SYLLABLE BBI
-A059  ; [.3254.0020.0002.A059] # YI SYLLABLE BBIP
-A05A  ; [.3255.0020.0002.A05A] # YI SYLLABLE BBIET
-A05B  ; [.3256.0020.0002.A05B] # YI SYLLABLE BBIEX
-A05C  ; [.3257.0020.0002.A05C] # YI SYLLABLE BBIE
-A05D  ; [.3258.0020.0002.A05D] # YI SYLLABLE BBIEP
-A05E  ; [.3259.0020.0002.A05E] # YI SYLLABLE BBAT
-A05F  ; [.325A.0020.0002.A05F] # YI SYLLABLE BBAX
-A060  ; [.325B.0020.0002.A060] # YI SYLLABLE BBA
-A061  ; [.325C.0020.0002.A061] # YI SYLLABLE BBAP
-A062  ; [.325D.0020.0002.A062] # YI SYLLABLE BBUOX
-A063  ; [.325E.0020.0002.A063] # YI SYLLABLE BBUO
-A064  ; [.325F.0020.0002.A064] # YI SYLLABLE BBUOP
-A065  ; [.3260.0020.0002.A065] # YI SYLLABLE BBOT
-A066  ; [.3261.0020.0002.A066] # YI SYLLABLE BBOX
-A067  ; [.3262.0020.0002.A067] # YI SYLLABLE BBO
-A068  ; [.3263.0020.0002.A068] # YI SYLLABLE BBOP
-A069  ; [.3264.0020.0002.A069] # YI SYLLABLE BBEX
-A06A  ; [.3265.0020.0002.A06A] # YI SYLLABLE BBE
-A06B  ; [.3266.0020.0002.A06B] # YI SYLLABLE BBEP
-A06C  ; [.3267.0020.0002.A06C] # YI SYLLABLE BBUT
-A06D  ; [.3268.0020.0002.A06D] # YI SYLLABLE BBUX
-A06E  ; [.3269.0020.0002.A06E] # YI SYLLABLE BBU
-A06F  ; [.326A.0020.0002.A06F] # YI SYLLABLE BBUP
-A070  ; [.326B.0020.0002.A070] # YI SYLLABLE BBURX
-A071  ; [.326C.0020.0002.A071] # YI SYLLABLE BBUR
-A072  ; [.326D.0020.0002.A072] # YI SYLLABLE BBYT
-A073  ; [.326E.0020.0002.A073] # YI SYLLABLE BBYX
-A074  ; [.326F.0020.0002.A074] # YI SYLLABLE BBY
-A075  ; [.3270.0020.0002.A075] # YI SYLLABLE BBYP
-A076  ; [.3271.0020.0002.A076] # YI SYLLABLE NBIT
-A077  ; [.3272.0020.0002.A077] # YI SYLLABLE NBIX
-A078  ; [.3273.0020.0002.A078] # YI SYLLABLE NBI
-A079  ; [.3274.0020.0002.A079] # YI SYLLABLE NBIP
-A07A  ; [.3275.0020.0002.A07A] # YI SYLLABLE NBIEX
-A07B  ; [.3276.0020.0002.A07B] # YI SYLLABLE NBIE
-A07C  ; [.3277.0020.0002.A07C] # YI SYLLABLE NBIEP
-A07D  ; [.3278.0020.0002.A07D] # YI SYLLABLE NBAT
-A07E  ; [.3279.0020.0002.A07E] # YI SYLLABLE NBAX
-A07F  ; [.327A.0020.0002.A07F] # YI SYLLABLE NBA
-A080  ; [.327B.0020.0002.A080] # YI SYLLABLE NBAP
-A081  ; [.327C.0020.0002.A081] # YI SYLLABLE NBOT
-A082  ; [.327D.0020.0002.A082] # YI SYLLABLE NBOX
-A083  ; [.327E.0020.0002.A083] # YI SYLLABLE NBO
-A084  ; [.327F.0020.0002.A084] # YI SYLLABLE NBOP
-A085  ; [.3280.0020.0002.A085] # YI SYLLABLE NBUT
-A086  ; [.3281.0020.0002.A086] # YI SYLLABLE NBUX
-A087  ; [.3282.0020.0002.A087] # YI SYLLABLE NBU
-A088  ; [.3283.0020.0002.A088] # YI SYLLABLE NBUP
-A089  ; [.3284.0020.0002.A089] # YI SYLLABLE NBURX
-A08A  ; [.3285.0020.0002.A08A] # YI SYLLABLE NBUR
-A08B  ; [.3286.0020.0002.A08B] # YI SYLLABLE NBYT
-A08C  ; [.3287.0020.0002.A08C] # YI SYLLABLE NBYX
-A08D  ; [.3288.0020.0002.A08D] # YI SYLLABLE NBY
-A08E  ; [.3289.0020.0002.A08E] # YI SYLLABLE NBYP
-A08F  ; [.328A.0020.0002.A08F] # YI SYLLABLE NBYRX
-A090  ; [.328B.0020.0002.A090] # YI SYLLABLE NBYR
-A091  ; [.328C.0020.0002.A091] # YI SYLLABLE HMIT
-A092  ; [.328D.0020.0002.A092] # YI SYLLABLE HMIX
-A093  ; [.328E.0020.0002.A093] # YI SYLLABLE HMI
-A094  ; [.328F.0020.0002.A094] # YI SYLLABLE HMIP
-A095  ; [.3290.0020.0002.A095] # YI SYLLABLE HMIEX
-A096  ; [.3291.0020.0002.A096] # YI SYLLABLE HMIE
-A097  ; [.3292.0020.0002.A097] # YI SYLLABLE HMIEP
-A098  ; [.3293.0020.0002.A098] # YI SYLLABLE HMAT
-A099  ; [.3294.0020.0002.A099] # YI SYLLABLE HMAX
-A09A  ; [.3295.0020.0002.A09A] # YI SYLLABLE HMA
-A09B  ; [.3296.0020.0002.A09B] # YI SYLLABLE HMAP
-A09C  ; [.3297.0020.0002.A09C] # YI SYLLABLE HMUOX
-A09D  ; [.3298.0020.0002.A09D] # YI SYLLABLE HMUO
-A09E  ; [.3299.0020.0002.A09E] # YI SYLLABLE HMUOP
-A09F  ; [.329A.0020.0002.A09F] # YI SYLLABLE HMOT
-A0A0  ; [.329B.0020.0002.A0A0] # YI SYLLABLE HMOX
-A0A1  ; [.329C.0020.0002.A0A1] # YI SYLLABLE HMO
-A0A2  ; [.329D.0020.0002.A0A2] # YI SYLLABLE HMOP
-A0A3  ; [.329E.0020.0002.A0A3] # YI SYLLABLE HMUT
-A0A4  ; [.329F.0020.0002.A0A4] # YI SYLLABLE HMUX
-A0A5  ; [.32A0.0020.0002.A0A5] # YI SYLLABLE HMU
-A0A6  ; [.32A1.0020.0002.A0A6] # YI SYLLABLE HMUP
-A0A7  ; [.32A2.0020.0002.A0A7] # YI SYLLABLE HMURX
-A0A8  ; [.32A3.0020.0002.A0A8] # YI SYLLABLE HMUR
-A0A9  ; [.32A4.0020.0002.A0A9] # YI SYLLABLE HMYX
-A0AA  ; [.32A5.0020.0002.A0AA] # YI SYLLABLE HMY
-A0AB  ; [.32A6.0020.0002.A0AB] # YI SYLLABLE HMYP
-A0AC  ; [.32A7.0020.0002.A0AC] # YI SYLLABLE HMYRX
-A0AD  ; [.32A8.0020.0002.A0AD] # YI SYLLABLE HMYR
-A0AE  ; [.32A9.0020.0002.A0AE] # YI SYLLABLE MIT
-A0AF  ; [.32AA.0020.0002.A0AF] # YI SYLLABLE MIX
-A0B0  ; [.32AB.0020.0002.A0B0] # YI SYLLABLE MI
-A0B1  ; [.32AC.0020.0002.A0B1] # YI SYLLABLE MIP
-A0B2  ; [.32AD.0020.0002.A0B2] # YI SYLLABLE MIEX
-A0B3  ; [.32AE.0020.0002.A0B3] # YI SYLLABLE MIE
-A0B4  ; [.32AF.0020.0002.A0B4] # YI SYLLABLE MIEP
-A0B5  ; [.32B0.0020.0002.A0B5] # YI SYLLABLE MAT
-A0B6  ; [.32B1.0020.0002.A0B6] # YI SYLLABLE MAX
-A0B7  ; [.32B2.0020.0002.A0B7] # YI SYLLABLE MA
-A0B8  ; [.32B3.0020.0002.A0B8] # YI SYLLABLE MAP
-A0B9  ; [.32B4.0020.0002.A0B9] # YI SYLLABLE MUOT
-A0BA  ; [.32B5.0020.0002.A0BA] # YI SYLLABLE MUOX
-A0BB  ; [.32B6.0020.0002.A0BB] # YI SYLLABLE MUO
-A0BC  ; [.32B7.0020.0002.A0BC] # YI SYLLABLE MUOP
-A0BD  ; [.32B8.0020.0002.A0BD] # YI SYLLABLE MOT
-A0BE  ; [.32B9.0020.0002.A0BE] # YI SYLLABLE MOX
-A0BF  ; [.32BA.0020.0002.A0BF] # YI SYLLABLE MO
-A0C0  ; [.32BB.0020.0002.A0C0] # YI SYLLABLE MOP
-A0C1  ; [.32BC.0020.0002.A0C1] # YI SYLLABLE MEX
-A0C2  ; [.32BD.0020.0002.A0C2] # YI SYLLABLE ME
-A0C3  ; [.32BE.0020.0002.A0C3] # YI SYLLABLE MUT
-A0C4  ; [.32BF.0020.0002.A0C4] # YI SYLLABLE MUX
-A0C5  ; [.32C0.0020.0002.A0C5] # YI SYLLABLE MU
-A0C6  ; [.32C1.0020.0002.A0C6] # YI SYLLABLE MUP
-A0C7  ; [.32C2.0020.0002.A0C7] # YI SYLLABLE MURX
-A0C8  ; [.32C3.0020.0002.A0C8] # YI SYLLABLE MUR
-A0C9  ; [.32C4.0020.0002.A0C9] # YI SYLLABLE MYT
-A0CA  ; [.32C5.0020.0002.A0CA] # YI SYLLABLE MYX
-A0CB  ; [.32C6.0020.0002.A0CB] # YI SYLLABLE MY
-A0CC  ; [.32C7.0020.0002.A0CC] # YI SYLLABLE MYP
-A0CD  ; [.32C8.0020.0002.A0CD] # YI SYLLABLE FIT
-A0CE  ; [.32C9.0020.0002.A0CE] # YI SYLLABLE FIX
-A0CF  ; [.32CA.0020.0002.A0CF] # YI SYLLABLE FI
-A0D0  ; [.32CB.0020.0002.A0D0] # YI SYLLABLE FIP
-A0D1  ; [.32CC.0020.0002.A0D1] # YI SYLLABLE FAT
-A0D2  ; [.32CD.0020.0002.A0D2] # YI SYLLABLE FAX
-A0D3  ; [.32CE.0020.0002.A0D3] # YI SYLLABLE FA
-A0D4  ; [.32CF.0020.0002.A0D4] # YI SYLLABLE FAP
-A0D5  ; [.32D0.0020.0002.A0D5] # YI SYLLABLE FOX
-A0D6  ; [.32D1.0020.0002.A0D6] # YI SYLLABLE FO
-A0D7  ; [.32D2.0020.0002.A0D7] # YI SYLLABLE FOP
-A0D8  ; [.32D3.0020.0002.A0D8] # YI SYLLABLE FUT
-A0D9  ; [.32D4.0020.0002.A0D9] # YI SYLLABLE FUX
-A0DA  ; [.32D5.0020.0002.A0DA] # YI SYLLABLE FU
-A0DB  ; [.32D6.0020.0002.A0DB] # YI SYLLABLE FUP
-A0DC  ; [.32D7.0020.0002.A0DC] # YI SYLLABLE FURX
-A0DD  ; [.32D8.0020.0002.A0DD] # YI SYLLABLE FUR
-A0DE  ; [.32D9.0020.0002.A0DE] # YI SYLLABLE FYT
-A0DF  ; [.32DA.0020.0002.A0DF] # YI SYLLABLE FYX
-A0E0  ; [.32DB.0020.0002.A0E0] # YI SYLLABLE FY
-A0E1  ; [.32DC.0020.0002.A0E1] # YI SYLLABLE FYP
-A0E2  ; [.32DD.0020.0002.A0E2] # YI SYLLABLE VIT
-A0E3  ; [.32DE.0020.0002.A0E3] # YI SYLLABLE VIX
-A0E4  ; [.32DF.0020.0002.A0E4] # YI SYLLABLE VI
-A0E5  ; [.32E0.0020.0002.A0E5] # YI SYLLABLE VIP
-A0E6  ; [.32E1.0020.0002.A0E6] # YI SYLLABLE VIET
-A0E7  ; [.32E2.0020.0002.A0E7] # YI SYLLABLE VIEX
-A0E8  ; [.32E3.0020.0002.A0E8] # YI SYLLABLE VIE
-A0E9  ; [.32E4.0020.0002.A0E9] # YI SYLLABLE VIEP
-A0EA  ; [.32E5.0020.0002.A0EA] # YI SYLLABLE VAT
-A0EB  ; [.32E6.0020.0002.A0EB] # YI SYLLABLE VAX
-A0EC  ; [.32E7.0020.0002.A0EC] # YI SYLLABLE VA
-A0ED  ; [.32E8.0020.0002.A0ED] # YI SYLLABLE VAP
-A0EE  ; [.32E9.0020.0002.A0EE] # YI SYLLABLE VOT
-A0EF  ; [.32EA.0020.0002.A0EF] # YI SYLLABLE VOX
-A0F0  ; [.32EB.0020.0002.A0F0] # YI SYLLABLE VO
-A0F1  ; [.32EC.0020.0002.A0F1] # YI SYLLABLE VOP
-A0F2  ; [.32ED.0020.0002.A0F2] # YI SYLLABLE VEX
-A0F3  ; [.32EE.0020.0002.A0F3] # YI SYLLABLE VEP
-A0F4  ; [.32EF.0020.0002.A0F4] # YI SYLLABLE VUT
-A0F5  ; [.32F0.0020.0002.A0F5] # YI SYLLABLE VUX
-A0F6  ; [.32F1.0020.0002.A0F6] # YI SYLLABLE VU
-A0F7  ; [.32F2.0020.0002.A0F7] # YI SYLLABLE VUP
-A0F8  ; [.32F3.0020.0002.A0F8] # YI SYLLABLE VURX
-A0F9  ; [.32F4.0020.0002.A0F9] # YI SYLLABLE VUR
-A0FA  ; [.32F5.0020.0002.A0FA] # YI SYLLABLE VYT
-A0FB  ; [.32F6.0020.0002.A0FB] # YI SYLLABLE VYX
-A0FC  ; [.32F7.0020.0002.A0FC] # YI SYLLABLE VY
-A0FD  ; [.32F8.0020.0002.A0FD] # YI SYLLABLE VYP
-A0FE  ; [.32F9.0020.0002.A0FE] # YI SYLLABLE VYRX
-A0FF  ; [.32FA.0020.0002.A0FF] # YI SYLLABLE VYR
-A100  ; [.32FB.0020.0002.A100] # YI SYLLABLE DIT
-A101  ; [.32FC.0020.0002.A101] # YI SYLLABLE DIX
-A102  ; [.32FD.0020.0002.A102] # YI SYLLABLE DI
-A103  ; [.32FE.0020.0002.A103] # YI SYLLABLE DIP
-A104  ; [.32FF.0020.0002.A104] # YI SYLLABLE DIEX
-A105  ; [.3300.0020.0002.A105] # YI SYLLABLE DIE
-A106  ; [.3301.0020.0002.A106] # YI SYLLABLE DIEP
-A107  ; [.3302.0020.0002.A107] # YI SYLLABLE DAT
-A108  ; [.3303.0020.0002.A108] # YI SYLLABLE DAX
-A109  ; [.3304.0020.0002.A109] # YI SYLLABLE DA
-A10A  ; [.3305.0020.0002.A10A] # YI SYLLABLE DAP
-A10B  ; [.3306.0020.0002.A10B] # YI SYLLABLE DUOX
-A10C  ; [.3307.0020.0002.A10C] # YI SYLLABLE DUO
-A10D  ; [.3308.0020.0002.A10D] # YI SYLLABLE DOT
-A10E  ; [.3309.0020.0002.A10E] # YI SYLLABLE DOX
-A10F  ; [.330A.0020.0002.A10F] # YI SYLLABLE DO
-A110  ; [.330B.0020.0002.A110] # YI SYLLABLE DOP
-A111  ; [.330C.0020.0002.A111] # YI SYLLABLE DEX
-A112  ; [.330D.0020.0002.A112] # YI SYLLABLE DE
-A113  ; [.330E.0020.0002.A113] # YI SYLLABLE DEP
-A114  ; [.330F.0020.0002.A114] # YI SYLLABLE DUT
-A115  ; [.3310.0020.0002.A115] # YI SYLLABLE DUX
-A116  ; [.3311.0020.0002.A116] # YI SYLLABLE DU
-A117  ; [.3312.0020.0002.A117] # YI SYLLABLE DUP
-A118  ; [.3313.0020.0002.A118] # YI SYLLABLE DURX
-A119  ; [.3314.0020.0002.A119] # YI SYLLABLE DUR
-A11A  ; [.3315.0020.0002.A11A] # YI SYLLABLE TIT
-A11B  ; [.3316.0020.0002.A11B] # YI SYLLABLE TIX
-A11C  ; [.3317.0020.0002.A11C] # YI SYLLABLE TI
-A11D  ; [.3318.0020.0002.A11D] # YI SYLLABLE TIP
-A11E  ; [.3319.0020.0002.A11E] # YI SYLLABLE TIEX
-A11F  ; [.331A.0020.0002.A11F] # YI SYLLABLE TIE
-A120  ; [.331B.0020.0002.A120] # YI SYLLABLE TIEP
-A121  ; [.331C.0020.0002.A121] # YI SYLLABLE TAT
-A122  ; [.331D.0020.0002.A122] # YI SYLLABLE TAX
-A123  ; [.331E.0020.0002.A123] # YI SYLLABLE TA
-A124  ; [.331F.0020.0002.A124] # YI SYLLABLE TAP
-A125  ; [.3320.0020.0002.A125] # YI SYLLABLE TUOT
-A126  ; [.3321.0020.0002.A126] # YI SYLLABLE TUOX
-A127  ; [.3322.0020.0002.A127] # YI SYLLABLE TUO
-A128  ; [.3323.0020.0002.A128] # YI SYLLABLE TUOP
-A129  ; [.3324.0020.0002.A129] # YI SYLLABLE TOT
-A12A  ; [.3325.0020.0002.A12A] # YI SYLLABLE TOX
-A12B  ; [.3326.0020.0002.A12B] # YI SYLLABLE TO
-A12C  ; [.3327.0020.0002.A12C] # YI SYLLABLE TOP
-A12D  ; [.3328.0020.0002.A12D] # YI SYLLABLE TEX
-A12E  ; [.3329.0020.0002.A12E] # YI SYLLABLE TE
-A12F  ; [.332A.0020.0002.A12F] # YI SYLLABLE TEP
-A130  ; [.332B.0020.0002.A130] # YI SYLLABLE TUT
-A131  ; [.332C.0020.0002.A131] # YI SYLLABLE TUX
-A132  ; [.332D.0020.0002.A132] # YI SYLLABLE TU
-A133  ; [.332E.0020.0002.A133] # YI SYLLABLE TUP
-A134  ; [.332F.0020.0002.A134] # YI SYLLABLE TURX
-A135  ; [.3330.0020.0002.A135] # YI SYLLABLE TUR
-A136  ; [.3331.0020.0002.A136] # YI SYLLABLE DDIT
-A137  ; [.3332.0020.0002.A137] # YI SYLLABLE DDIX
-A138  ; [.3333.0020.0002.A138] # YI SYLLABLE DDI
-A139  ; [.3334.0020.0002.A139] # YI SYLLABLE DDIP
-A13A  ; [.3335.0020.0002.A13A] # YI SYLLABLE DDIEX
-A13B  ; [.3336.0020.0002.A13B] # YI SYLLABLE DDIE
-A13C  ; [.3337.0020.0002.A13C] # YI SYLLABLE DDIEP
-A13D  ; [.3338.0020.0002.A13D] # YI SYLLABLE DDAT
-A13E  ; [.3339.0020.0002.A13E] # YI SYLLABLE DDAX
-A13F  ; [.333A.0020.0002.A13F] # YI SYLLABLE DDA
-A140  ; [.333B.0020.0002.A140] # YI SYLLABLE DDAP
-A141  ; [.333C.0020.0002.A141] # YI SYLLABLE DDUOX
-A142  ; [.333D.0020.0002.A142] # YI SYLLABLE DDUO
-A143  ; [.333E.0020.0002.A143] # YI SYLLABLE DDUOP
-A144  ; [.333F.0020.0002.A144] # YI SYLLABLE DDOT
-A145  ; [.3340.0020.0002.A145] # YI SYLLABLE DDOX
-A146  ; [.3341.0020.0002.A146] # YI SYLLABLE DDO
-A147  ; [.3342.0020.0002.A147] # YI SYLLABLE DDOP
-A148  ; [.3343.0020.0002.A148] # YI SYLLABLE DDEX
-A149  ; [.3344.0020.0002.A149] # YI SYLLABLE DDE
-A14A  ; [.3345.0020.0002.A14A] # YI SYLLABLE DDEP
-A14B  ; [.3346.0020.0002.A14B] # YI SYLLABLE DDUT
-A14C  ; [.3347.0020.0002.A14C] # YI SYLLABLE DDUX
-A14D  ; [.3348.0020.0002.A14D] # YI SYLLABLE DDU
-A14E  ; [.3349.0020.0002.A14E] # YI SYLLABLE DDUP
-A14F  ; [.334A.0020.0002.A14F] # YI SYLLABLE DDURX
-A150  ; [.334B.0020.0002.A150] # YI SYLLABLE DDUR
-A151  ; [.334C.0020.0002.A151] # YI SYLLABLE NDIT
-A152  ; [.334D.0020.0002.A152] # YI SYLLABLE NDIX
-A153  ; [.334E.0020.0002.A153] # YI SYLLABLE NDI
-A154  ; [.334F.0020.0002.A154] # YI SYLLABLE NDIP
-A155  ; [.3350.0020.0002.A155] # YI SYLLABLE NDIEX
-A156  ; [.3351.0020.0002.A156] # YI SYLLABLE NDIE
-A157  ; [.3352.0020.0002.A157] # YI SYLLABLE NDAT
-A158  ; [.3353.0020.0002.A158] # YI SYLLABLE NDAX
-A159  ; [.3354.0020.0002.A159] # YI SYLLABLE NDA
-A15A  ; [.3355.0020.0002.A15A] # YI SYLLABLE NDAP
-A15B  ; [.3356.0020.0002.A15B] # YI SYLLABLE NDOT
-A15C  ; [.3357.0020.0002.A15C] # YI SYLLABLE NDOX
-A15D  ; [.3358.0020.0002.A15D] # YI SYLLABLE NDO
-A15E  ; [.3359.0020.0002.A15E] # YI SYLLABLE NDOP
-A15F  ; [.335A.0020.0002.A15F] # YI SYLLABLE NDEX
-A160  ; [.335B.0020.0002.A160] # YI SYLLABLE NDE
-A161  ; [.335C.0020.0002.A161] # YI SYLLABLE NDEP
-A162  ; [.335D.0020.0002.A162] # YI SYLLABLE NDUT
-A163  ; [.335E.0020.0002.A163] # YI SYLLABLE NDUX
-A164  ; [.335F.0020.0002.A164] # YI SYLLABLE NDU
-A165  ; [.3360.0020.0002.A165] # YI SYLLABLE NDUP
-A166  ; [.3361.0020.0002.A166] # YI SYLLABLE NDURX
-A167  ; [.3362.0020.0002.A167] # YI SYLLABLE NDUR
-A168  ; [.3363.0020.0002.A168] # YI SYLLABLE HNIT
-A169  ; [.3364.0020.0002.A169] # YI SYLLABLE HNIX
-A16A  ; [.3365.0020.0002.A16A] # YI SYLLABLE HNI
-A16B  ; [.3366.0020.0002.A16B] # YI SYLLABLE HNIP
-A16C  ; [.3367.0020.0002.A16C] # YI SYLLABLE HNIET
-A16D  ; [.3368.0020.0002.A16D] # YI SYLLABLE HNIEX
-A16E  ; [.3369.0020.0002.A16E] # YI SYLLABLE HNIE
-A16F  ; [.336A.0020.0002.A16F] # YI SYLLABLE HNIEP
-A170  ; [.336B.0020.0002.A170] # YI SYLLABLE HNAT
-A171  ; [.336C.0020.0002.A171] # YI SYLLABLE HNAX
-A172  ; [.336D.0020.0002.A172] # YI SYLLABLE HNA
-A173  ; [.336E.0020.0002.A173] # YI SYLLABLE HNAP
-A174  ; [.336F.0020.0002.A174] # YI SYLLABLE HNUOX
-A175  ; [.3370.0020.0002.A175] # YI SYLLABLE HNUO
-A176  ; [.3371.0020.0002.A176] # YI SYLLABLE HNOT
-A177  ; [.3372.0020.0002.A177] # YI SYLLABLE HNOX
-A178  ; [.3373.0020.0002.A178] # YI SYLLABLE HNOP
-A179  ; [.3374.0020.0002.A179] # YI SYLLABLE HNEX
-A17A  ; [.3375.0020.0002.A17A] # YI SYLLABLE HNE
-A17B  ; [.3376.0020.0002.A17B] # YI SYLLABLE HNEP
-A17C  ; [.3377.0020.0002.A17C] # YI SYLLABLE HNUT
-A17D  ; [.3378.0020.0002.A17D] # YI SYLLABLE NIT
-A17E  ; [.3379.0020.0002.A17E] # YI SYLLABLE NIX
-A17F  ; [.337A.0020.0002.A17F] # YI SYLLABLE NI
-A180  ; [.337B.0020.0002.A180] # YI SYLLABLE NIP
-A181  ; [.337C.0020.0002.A181] # YI SYLLABLE NIEX
-A182  ; [.337D.0020.0002.A182] # YI SYLLABLE NIE
-A183  ; [.337E.0020.0002.A183] # YI SYLLABLE NIEP
-A184  ; [.337F.0020.0002.A184] # YI SYLLABLE NAX
-A185  ; [.3380.0020.0002.A185] # YI SYLLABLE NA
-A186  ; [.3381.0020.0002.A186] # YI SYLLABLE NAP
-A187  ; [.3382.0020.0002.A187] # YI SYLLABLE NUOX
-A188  ; [.3383.0020.0002.A188] # YI SYLLABLE NUO
-A189  ; [.3384.0020.0002.A189] # YI SYLLABLE NUOP
-A18A  ; [.3385.0020.0002.A18A] # YI SYLLABLE NOT
-A18B  ; [.3386.0020.0002.A18B] # YI SYLLABLE NOX
-A18C  ; [.3387.0020.0002.A18C] # YI SYLLABLE NO
-A18D  ; [.3388.0020.0002.A18D] # YI SYLLABLE NOP
-A18E  ; [.3389.0020.0002.A18E] # YI SYLLABLE NEX
-A18F  ; [.338A.0020.0002.A18F] # YI SYLLABLE NE
-A190  ; [.338B.0020.0002.A190] # YI SYLLABLE NEP
-A191  ; [.338C.0020.0002.A191] # YI SYLLABLE NUT
-A192  ; [.338D.0020.0002.A192] # YI SYLLABLE NUX
-A193  ; [.338E.0020.0002.A193] # YI SYLLABLE NU
-A194  ; [.338F.0020.0002.A194] # YI SYLLABLE NUP
-A195  ; [.3390.0020.0002.A195] # YI SYLLABLE NURX
-A196  ; [.3391.0020.0002.A196] # YI SYLLABLE NUR
-A197  ; [.3392.0020.0002.A197] # YI SYLLABLE HLIT
-A198  ; [.3393.0020.0002.A198] # YI SYLLABLE HLIX
-A199  ; [.3394.0020.0002.A199] # YI SYLLABLE HLI
-A19A  ; [.3395.0020.0002.A19A] # YI SYLLABLE HLIP
-A19B  ; [.3396.0020.0002.A19B] # YI SYLLABLE HLIEX
-A19C  ; [.3397.0020.0002.A19C] # YI SYLLABLE HLIE
-A19D  ; [.3398.0020.0002.A19D] # YI SYLLABLE HLIEP
-A19E  ; [.3399.0020.0002.A19E] # YI SYLLABLE HLAT
-A19F  ; [.339A.0020.0002.A19F] # YI SYLLABLE HLAX
-A1A0  ; [.339B.0020.0002.A1A0] # YI SYLLABLE HLA
-A1A1  ; [.339C.0020.0002.A1A1] # YI SYLLABLE HLAP
-A1A2  ; [.339D.0020.0002.A1A2] # YI SYLLABLE HLUOX
-A1A3  ; [.339E.0020.0002.A1A3] # YI SYLLABLE HLUO
-A1A4  ; [.339F.0020.0002.A1A4] # YI SYLLABLE HLUOP
-A1A5  ; [.33A0.0020.0002.A1A5] # YI SYLLABLE HLOX
-A1A6  ; [.33A1.0020.0002.A1A6] # YI SYLLABLE HLO
-A1A7  ; [.33A2.0020.0002.A1A7] # YI SYLLABLE HLOP
-A1A8  ; [.33A3.0020.0002.A1A8] # YI SYLLABLE HLEX
-A1A9  ; [.33A4.0020.0002.A1A9] # YI SYLLABLE HLE
-A1AA  ; [.33A5.0020.0002.A1AA] # YI SYLLABLE HLEP
-A1AB  ; [.33A6.0020.0002.A1AB] # YI SYLLABLE HLUT
-A1AC  ; [.33A7.0020.0002.A1AC] # YI SYLLABLE HLUX
-A1AD  ; [.33A8.0020.0002.A1AD] # YI SYLLABLE HLU
-A1AE  ; [.33A9.0020.0002.A1AE] # YI SYLLABLE HLUP
-A1AF  ; [.33AA.0020.0002.A1AF] # YI SYLLABLE HLURX
-A1B0  ; [.33AB.0020.0002.A1B0] # YI SYLLABLE HLUR
-A1B1  ; [.33AC.0020.0002.A1B1] # YI SYLLABLE HLYT
-A1B2  ; [.33AD.0020.0002.A1B2] # YI SYLLABLE HLYX
-A1B3  ; [.33AE.0020.0002.A1B3] # YI SYLLABLE HLY
-A1B4  ; [.33AF.0020.0002.A1B4] # YI SYLLABLE HLYP
-A1B5  ; [.33B0.0020.0002.A1B5] # YI SYLLABLE HLYRX
-A1B6  ; [.33B1.0020.0002.A1B6] # YI SYLLABLE HLYR
-A1B7  ; [.33B2.0020.0002.A1B7] # YI SYLLABLE LIT
-A1B8  ; [.33B3.0020.0002.A1B8] # YI SYLLABLE LIX
-A1B9  ; [.33B4.0020.0002.A1B9] # YI SYLLABLE LI
-A1BA  ; [.33B5.0020.0002.A1BA] # YI SYLLABLE LIP
-A1BB  ; [.33B6.0020.0002.A1BB] # YI SYLLABLE LIET
-A1BC  ; [.33B7.0020.0002.A1BC] # YI SYLLABLE LIEX
-A1BD  ; [.33B8.0020.0002.A1BD] # YI SYLLABLE LIE
-A1BE  ; [.33B9.0020.0002.A1BE] # YI SYLLABLE LIEP
-A1BF  ; [.33BA.0020.0002.A1BF] # YI SYLLABLE LAT
-A1C0  ; [.33BB.0020.0002.A1C0] # YI SYLLABLE LAX
-A1C1  ; [.33BC.0020.0002.A1C1] # YI SYLLABLE LA
-A1C2  ; [.33BD.0020.0002.A1C2] # YI SYLLABLE LAP
-A1C3  ; [.33BE.0020.0002.A1C3] # YI SYLLABLE LUOT
-A1C4  ; [.33BF.0020.0002.A1C4] # YI SYLLABLE LUOX
-A1C5  ; [.33C0.0020.0002.A1C5] # YI SYLLABLE LUO
-A1C6  ; [.33C1.0020.0002.A1C6] # YI SYLLABLE LUOP
-A1C7  ; [.33C2.0020.0002.A1C7] # YI SYLLABLE LOT
-A1C8  ; [.33C3.0020.0002.A1C8] # YI SYLLABLE LOX
-A1C9  ; [.33C4.0020.0002.A1C9] # YI SYLLABLE LO
-A1CA  ; [.33C5.0020.0002.A1CA] # YI SYLLABLE LOP
-A1CB  ; [.33C6.0020.0002.A1CB] # YI SYLLABLE LEX
-A1CC  ; [.33C7.0020.0002.A1CC] # YI SYLLABLE LE
-A1CD  ; [.33C8.0020.0002.A1CD] # YI SYLLABLE LEP
-A1CE  ; [.33C9.0020.0002.A1CE] # YI SYLLABLE LUT
-A1CF  ; [.33CA.0020.0002.A1CF] # YI SYLLABLE LUX
-A1D0  ; [.33CB.0020.0002.A1D0] # YI SYLLABLE LU
-A1D1  ; [.33CC.0020.0002.A1D1] # YI SYLLABLE LUP
-A1D2  ; [.33CD.0020.0002.A1D2] # YI SYLLABLE LURX
-A1D3  ; [.33CE.0020.0002.A1D3] # YI SYLLABLE LUR
-A1D4  ; [.33CF.0020.0002.A1D4] # YI SYLLABLE LYT
-A1D5  ; [.33D0.0020.0002.A1D5] # YI SYLLABLE LYX
-A1D6  ; [.33D1.0020.0002.A1D6] # YI SYLLABLE LY
-A1D7  ; [.33D2.0020.0002.A1D7] # YI SYLLABLE LYP
-A1D8  ; [.33D3.0020.0002.A1D8] # YI SYLLABLE LYRX
-A1D9  ; [.33D4.0020.0002.A1D9] # YI SYLLABLE LYR
-A1DA  ; [.33D5.0020.0002.A1DA] # YI SYLLABLE GIT
-A1DB  ; [.33D6.0020.0002.A1DB] # YI SYLLABLE GIX
-A1DC  ; [.33D7.0020.0002.A1DC] # YI SYLLABLE GI
-A1DD  ; [.33D8.0020.0002.A1DD] # YI SYLLABLE GIP
-A1DE  ; [.33D9.0020.0002.A1DE] # YI SYLLABLE GIET
-A1DF  ; [.33DA.0020.0002.A1DF] # YI SYLLABLE GIEX
-A1E0  ; [.33DB.0020.0002.A1E0] # YI SYLLABLE GIE
-A1E1  ; [.33DC.0020.0002.A1E1] # YI SYLLABLE GIEP
-A1E2  ; [.33DD.0020.0002.A1E2] # YI SYLLABLE GAT
-A1E3  ; [.33DE.0020.0002.A1E3] # YI SYLLABLE GAX
-A1E4  ; [.33DF.0020.0002.A1E4] # YI SYLLABLE GA
-A1E5  ; [.33E0.0020.0002.A1E5] # YI SYLLABLE GAP
-A1E6  ; [.33E1.0020.0002.A1E6] # YI SYLLABLE GUOT
-A1E7  ; [.33E2.0020.0002.A1E7] # YI SYLLABLE GUOX
-A1E8  ; [.33E3.0020.0002.A1E8] # YI SYLLABLE GUO
-A1E9  ; [.33E4.0020.0002.A1E9] # YI SYLLABLE GUOP
-A1EA  ; [.33E5.0020.0002.A1EA] # YI SYLLABLE GOT
-A1EB  ; [.33E6.0020.0002.A1EB] # YI SYLLABLE GOX
-A1EC  ; [.33E7.0020.0002.A1EC] # YI SYLLABLE GO
-A1ED  ; [.33E8.0020.0002.A1ED] # YI SYLLABLE GOP
-A1EE  ; [.33E9.0020.0002.A1EE] # YI SYLLABLE GET
-A1EF  ; [.33EA.0020.0002.A1EF] # YI SYLLABLE GEX
-A1F0  ; [.33EB.0020.0002.A1F0] # YI SYLLABLE GE
-A1F1  ; [.33EC.0020.0002.A1F1] # YI SYLLABLE GEP
-A1F2  ; [.33ED.0020.0002.A1F2] # YI SYLLABLE GUT
-A1F3  ; [.33EE.0020.0002.A1F3] # YI SYLLABLE GUX
-A1F4  ; [.33EF.0020.0002.A1F4] # YI SYLLABLE GU
-A1F5  ; [.33F0.0020.0002.A1F5] # YI SYLLABLE GUP
-A1F6  ; [.33F1.0020.0002.A1F6] # YI SYLLABLE GURX
-A1F7  ; [.33F2.0020.0002.A1F7] # YI SYLLABLE GUR
-A1F8  ; [.33F3.0020.0002.A1F8] # YI SYLLABLE KIT
-A1F9  ; [.33F4.0020.0002.A1F9] # YI SYLLABLE KIX
-A1FA  ; [.33F5.0020.0002.A1FA] # YI SYLLABLE KI
-A1FB  ; [.33F6.0020.0002.A1FB] # YI SYLLABLE KIP
-A1FC  ; [.33F7.0020.0002.A1FC] # YI SYLLABLE KIEX
-A1FD  ; [.33F8.0020.0002.A1FD] # YI SYLLABLE KIE
-A1FE  ; [.33F9.0020.0002.A1FE] # YI SYLLABLE KIEP
-A1FF  ; [.33FA.0020.0002.A1FF] # YI SYLLABLE KAT
-A200  ; [.33FB.0020.0002.A200] # YI SYLLABLE KAX
-A201  ; [.33FC.0020.0002.A201] # YI SYLLABLE KA
-A202  ; [.33FD.0020.0002.A202] # YI SYLLABLE KAP
-A203  ; [.33FE.0020.0002.A203] # YI SYLLABLE KUOX
-A204  ; [.33FF.0020.0002.A204] # YI SYLLABLE KUO
-A205  ; [.3400.0020.0002.A205] # YI SYLLABLE KUOP
-A206  ; [.3401.0020.0002.A206] # YI SYLLABLE KOT
-A207  ; [.3402.0020.0002.A207] # YI SYLLABLE KOX
-A208  ; [.3403.0020.0002.A208] # YI SYLLABLE KO
-A209  ; [.3404.0020.0002.A209] # YI SYLLABLE KOP
-A20A  ; [.3405.0020.0002.A20A] # YI SYLLABLE KET
-A20B  ; [.3406.0020.0002.A20B] # YI SYLLABLE KEX
-A20C  ; [.3407.0020.0002.A20C] # YI SYLLABLE KE
-A20D  ; [.3408.0020.0002.A20D] # YI SYLLABLE KEP
-A20E  ; [.3409.0020.0002.A20E] # YI SYLLABLE KUT
-A20F  ; [.340A.0020.0002.A20F] # YI SYLLABLE KUX
-A210  ; [.340B.0020.0002.A210] # YI SYLLABLE KU
-A211  ; [.340C.0020.0002.A211] # YI SYLLABLE KUP
-A212  ; [.340D.0020.0002.A212] # YI SYLLABLE KURX
-A213  ; [.340E.0020.0002.A213] # YI SYLLABLE KUR
-A214  ; [.340F.0020.0002.A214] # YI SYLLABLE GGIT
-A215  ; [.3410.0020.0002.A215] # YI SYLLABLE GGIX
-A216  ; [.3411.0020.0002.A216] # YI SYLLABLE GGI
-A217  ; [.3412.0020.0002.A217] # YI SYLLABLE GGIEX
-A218  ; [.3413.0020.0002.A218] # YI SYLLABLE GGIE
-A219  ; [.3414.0020.0002.A219] # YI SYLLABLE GGIEP
-A21A  ; [.3415.0020.0002.A21A] # YI SYLLABLE GGAT
-A21B  ; [.3416.0020.0002.A21B] # YI SYLLABLE GGAX
-A21C  ; [.3417.0020.0002.A21C] # YI SYLLABLE GGA
-A21D  ; [.3418.0020.0002.A21D] # YI SYLLABLE GGAP
-A21E  ; [.3419.0020.0002.A21E] # YI SYLLABLE GGUOT
-A21F  ; [.341A.0020.0002.A21F] # YI SYLLABLE GGUOX
-A220  ; [.341B.0020.0002.A220] # YI SYLLABLE GGUO
-A221  ; [.341C.0020.0002.A221] # YI SYLLABLE GGUOP
-A222  ; [.341D.0020.0002.A222] # YI SYLLABLE GGOT
-A223  ; [.341E.0020.0002.A223] # YI SYLLABLE GGOX
-A224  ; [.341F.0020.0002.A224] # YI SYLLABLE GGO
-A225  ; [.3420.0020.0002.A225] # YI SYLLABLE GGOP
-A226  ; [.3421.0020.0002.A226] # YI SYLLABLE GGET
-A227  ; [.3422.0020.0002.A227] # YI SYLLABLE GGEX
-A228  ; [.3423.0020.0002.A228] # YI SYLLABLE GGE
-A229  ; [.3424.0020.0002.A229] # YI SYLLABLE GGEP
-A22A  ; [.3425.0020.0002.A22A] # YI SYLLABLE GGUT
-A22B  ; [.3426.0020.0002.A22B] # YI SYLLABLE GGUX
-A22C  ; [.3427.0020.0002.A22C] # YI SYLLABLE GGU
-A22D  ; [.3428.0020.0002.A22D] # YI SYLLABLE GGUP
-A22E  ; [.3429.0020.0002.A22E] # YI SYLLABLE GGURX
-A22F  ; [.342A.0020.0002.A22F] # YI SYLLABLE GGUR
-A230  ; [.342B.0020.0002.A230] # YI SYLLABLE MGIEX
-A231  ; [.342C.0020.0002.A231] # YI SYLLABLE MGIE
-A232  ; [.342D.0020.0002.A232] # YI SYLLABLE MGAT
-A233  ; [.342E.0020.0002.A233] # YI SYLLABLE MGAX
-A234  ; [.342F.0020.0002.A234] # YI SYLLABLE MGA
-A235  ; [.3430.0020.0002.A235] # YI SYLLABLE MGAP
-A236  ; [.3431.0020.0002.A236] # YI SYLLABLE MGUOX
-A237  ; [.3432.0020.0002.A237] # YI SYLLABLE MGUO
-A238  ; [.3433.0020.0002.A238] # YI SYLLABLE MGUOP
-A239  ; [.3434.0020.0002.A239] # YI SYLLABLE MGOT
-A23A  ; [.3435.0020.0002.A23A] # YI SYLLABLE MGOX
-A23B  ; [.3436.0020.0002.A23B] # YI SYLLABLE MGO
-A23C  ; [.3437.0020.0002.A23C] # YI SYLLABLE MGOP
-A23D  ; [.3438.0020.0002.A23D] # YI SYLLABLE MGEX
-A23E  ; [.3439.0020.0002.A23E] # YI SYLLABLE MGE
-A23F  ; [.343A.0020.0002.A23F] # YI SYLLABLE MGEP
-A240  ; [.343B.0020.0002.A240] # YI SYLLABLE MGUT
-A241  ; [.343C.0020.0002.A241] # YI SYLLABLE MGUX
-A242  ; [.343D.0020.0002.A242] # YI SYLLABLE MGU
-A243  ; [.343E.0020.0002.A243] # YI SYLLABLE MGUP
-A244  ; [.343F.0020.0002.A244] # YI SYLLABLE MGURX
-A245  ; [.3440.0020.0002.A245] # YI SYLLABLE MGUR
-A246  ; [.3441.0020.0002.A246] # YI SYLLABLE HXIT
-A247  ; [.3442.0020.0002.A247] # YI SYLLABLE HXIX
-A248  ; [.3443.0020.0002.A248] # YI SYLLABLE HXI
-A249  ; [.3444.0020.0002.A249] # YI SYLLABLE HXIP
-A24A  ; [.3445.0020.0002.A24A] # YI SYLLABLE HXIET
-A24B  ; [.3446.0020.0002.A24B] # YI SYLLABLE HXIEX
-A24C  ; [.3447.0020.0002.A24C] # YI SYLLABLE HXIE
-A24D  ; [.3448.0020.0002.A24D] # YI SYLLABLE HXIEP
-A24E  ; [.3449.0020.0002.A24E] # YI SYLLABLE HXAT
-A24F  ; [.344A.0020.0002.A24F] # YI SYLLABLE HXAX
-A250  ; [.344B.0020.0002.A250] # YI SYLLABLE HXA
-A251  ; [.344C.0020.0002.A251] # YI SYLLABLE HXAP
-A252  ; [.344D.0020.0002.A252] # YI SYLLABLE HXUOT
-A253  ; [.344E.0020.0002.A253] # YI SYLLABLE HXUOX
-A254  ; [.344F.0020.0002.A254] # YI SYLLABLE HXUO
-A255  ; [.3450.0020.0002.A255] # YI SYLLABLE HXUOP
-A256  ; [.3451.0020.0002.A256] # YI SYLLABLE HXOT
-A257  ; [.3452.0020.0002.A257] # YI SYLLABLE HXOX
-A258  ; [.3453.0020.0002.A258] # YI SYLLABLE HXO
-A259  ; [.3454.0020.0002.A259] # YI SYLLABLE HXOP
-A25A  ; [.3455.0020.0002.A25A] # YI SYLLABLE HXEX
-A25B  ; [.3456.0020.0002.A25B] # YI SYLLABLE HXE
-A25C  ; [.3457.0020.0002.A25C] # YI SYLLABLE HXEP
-A25D  ; [.3458.0020.0002.A25D] # YI SYLLABLE NGIEX
-A25E  ; [.3459.0020.0002.A25E] # YI SYLLABLE NGIE
-A25F  ; [.345A.0020.0002.A25F] # YI SYLLABLE NGIEP
-A260  ; [.345B.0020.0002.A260] # YI SYLLABLE NGAT
-A261  ; [.345C.0020.0002.A261] # YI SYLLABLE NGAX
-A262  ; [.345D.0020.0002.A262] # YI SYLLABLE NGA
-A263  ; [.345E.0020.0002.A263] # YI SYLLABLE NGAP
-A264  ; [.345F.0020.0002.A264] # YI SYLLABLE NGUOT
-A265  ; [.3460.0020.0002.A265] # YI SYLLABLE NGUOX
-A266  ; [.3461.0020.0002.A266] # YI SYLLABLE NGUO
-A267  ; [.3462.0020.0002.A267] # YI SYLLABLE NGOT
-A268  ; [.3463.0020.0002.A268] # YI SYLLABLE NGOX
-A269  ; [.3464.0020.0002.A269] # YI SYLLABLE NGO
-A26A  ; [.3465.0020.0002.A26A] # YI SYLLABLE NGOP
-A26B  ; [.3466.0020.0002.A26B] # YI SYLLABLE NGEX
-A26C  ; [.3467.0020.0002.A26C] # YI SYLLABLE NGE
-A26D  ; [.3468.0020.0002.A26D] # YI SYLLABLE NGEP
-A26E  ; [.3469.0020.0002.A26E] # YI SYLLABLE HIT
-A26F  ; [.346A.0020.0002.A26F] # YI SYLLABLE HIEX
-A270  ; [.346B.0020.0002.A270] # YI SYLLABLE HIE
-A271  ; [.346C.0020.0002.A271] # YI SYLLABLE HAT
-A272  ; [.346D.0020.0002.A272] # YI SYLLABLE HAX
-A273  ; [.346E.0020.0002.A273] # YI SYLLABLE HA
-A274  ; [.346F.0020.0002.A274] # YI SYLLABLE HAP
-A275  ; [.3470.0020.0002.A275] # YI SYLLABLE HUOT
-A276  ; [.3471.0020.0002.A276] # YI SYLLABLE HUOX
-A277  ; [.3472.0020.0002.A277] # YI SYLLABLE HUO
-A278  ; [.3473.0020.0002.A278] # YI SYLLABLE HUOP
-A279  ; [.3474.0020.0002.A279] # YI SYLLABLE HOT
-A27A  ; [.3475.0020.0002.A27A] # YI SYLLABLE HOX
-A27B  ; [.3476.0020.0002.A27B] # YI SYLLABLE HO
-A27C  ; [.3477.0020.0002.A27C] # YI SYLLABLE HOP
-A27D  ; [.3478.0020.0002.A27D] # YI SYLLABLE HEX
-A27E  ; [.3479.0020.0002.A27E] # YI SYLLABLE HE
-A27F  ; [.347A.0020.0002.A27F] # YI SYLLABLE HEP
-A280  ; [.347B.0020.0002.A280] # YI SYLLABLE WAT
-A281  ; [.347C.0020.0002.A281] # YI SYLLABLE WAX
-A282  ; [.347D.0020.0002.A282] # YI SYLLABLE WA
-A283  ; [.347E.0020.0002.A283] # YI SYLLABLE WAP
-A284  ; [.347F.0020.0002.A284] # YI SYLLABLE WUOX
-A285  ; [.3480.0020.0002.A285] # YI SYLLABLE WUO
-A286  ; [.3481.0020.0002.A286] # YI SYLLABLE WUOP
-A287  ; [.3482.0020.0002.A287] # YI SYLLABLE WOX
-A288  ; [.3483.0020.0002.A288] # YI SYLLABLE WO
-A289  ; [.3484.0020.0002.A289] # YI SYLLABLE WOP
-A28A  ; [.3485.0020.0002.A28A] # YI SYLLABLE WEX
-A28B  ; [.3486.0020.0002.A28B] # YI SYLLABLE WE
-A28C  ; [.3487.0020.0002.A28C] # YI SYLLABLE WEP
-A28D  ; [.3488.0020.0002.A28D] # YI SYLLABLE ZIT
-A28E  ; [.3489.0020.0002.A28E] # YI SYLLABLE ZIX
-A28F  ; [.348A.0020.0002.A28F] # YI SYLLABLE ZI
-A290  ; [.348B.0020.0002.A290] # YI SYLLABLE ZIP
-A291  ; [.348C.0020.0002.A291] # YI SYLLABLE ZIEX
-A292  ; [.348D.0020.0002.A292] # YI SYLLABLE ZIE
-A293  ; [.348E.0020.0002.A293] # YI SYLLABLE ZIEP
-A294  ; [.348F.0020.0002.A294] # YI SYLLABLE ZAT
-A295  ; [.3490.0020.0002.A295] # YI SYLLABLE ZAX
-A296  ; [.3491.0020.0002.A296] # YI SYLLABLE ZA
-A297  ; [.3492.0020.0002.A297] # YI SYLLABLE ZAP
-A298  ; [.3493.0020.0002.A298] # YI SYLLABLE ZUOX
-A299  ; [.3494.0020.0002.A299] # YI SYLLABLE ZUO
-A29A  ; [.3495.0020.0002.A29A] # YI SYLLABLE ZUOP
-A29B  ; [.3496.0020.0002.A29B] # YI SYLLABLE ZOT
-A29C  ; [.3497.0020.0002.A29C] # YI SYLLABLE ZOX
-A29D  ; [.3498.0020.0002.A29D] # YI SYLLABLE ZO
-A29E  ; [.3499.0020.0002.A29E] # YI SYLLABLE ZOP
-A29F  ; [.349A.0020.0002.A29F] # YI SYLLABLE ZEX
-A2A0  ; [.349B.0020.0002.A2A0] # YI SYLLABLE ZE
-A2A1  ; [.349C.0020.0002.A2A1] # YI SYLLABLE ZEP
-A2A2  ; [.349D.0020.0002.A2A2] # YI SYLLABLE ZUT
-A2A3  ; [.349E.0020.0002.A2A3] # YI SYLLABLE ZUX
-A2A4  ; [.349F.0020.0002.A2A4] # YI SYLLABLE ZU
-A2A5  ; [.34A0.0020.0002.A2A5] # YI SYLLABLE ZUP
-A2A6  ; [.34A1.0020.0002.A2A6] # YI SYLLABLE ZURX
-A2A7  ; [.34A2.0020.0002.A2A7] # YI SYLLABLE ZUR
-A2A8  ; [.34A3.0020.0002.A2A8] # YI SYLLABLE ZYT
-A2A9  ; [.34A4.0020.0002.A2A9] # YI SYLLABLE ZYX
-A2AA  ; [.34A5.0020.0002.A2AA] # YI SYLLABLE ZY
-A2AB  ; [.34A6.0020.0002.A2AB] # YI SYLLABLE ZYP
-A2AC  ; [.34A7.0020.0002.A2AC] # YI SYLLABLE ZYRX
-A2AD  ; [.34A8.0020.0002.A2AD] # YI SYLLABLE ZYR
-A2AE  ; [.34A9.0020.0002.A2AE] # YI SYLLABLE CIT
-A2AF  ; [.34AA.0020.0002.A2AF] # YI SYLLABLE CIX
-A2B0  ; [.34AB.0020.0002.A2B0] # YI SYLLABLE CI
-A2B1  ; [.34AC.0020.0002.A2B1] # YI SYLLABLE CIP
-A2B2  ; [.34AD.0020.0002.A2B2] # YI SYLLABLE CIET
-A2B3  ; [.34AE.0020.0002.A2B3] # YI SYLLABLE CIEX
-A2B4  ; [.34AF.0020.0002.A2B4] # YI SYLLABLE CIE
-A2B5  ; [.34B0.0020.0002.A2B5] # YI SYLLABLE CIEP
-A2B6  ; [.34B1.0020.0002.A2B6] # YI SYLLABLE CAT
-A2B7  ; [.34B2.0020.0002.A2B7] # YI SYLLABLE CAX
-A2B8  ; [.34B3.0020.0002.A2B8] # YI SYLLABLE CA
-A2B9  ; [.34B4.0020.0002.A2B9] # YI SYLLABLE CAP
-A2BA  ; [.34B5.0020.0002.A2BA] # YI SYLLABLE CUOX
-A2BB  ; [.34B6.0020.0002.A2BB] # YI SYLLABLE CUO
-A2BC  ; [.34B7.0020.0002.A2BC] # YI SYLLABLE CUOP
-A2BD  ; [.34B8.0020.0002.A2BD] # YI SYLLABLE COT
-A2BE  ; [.34B9.0020.0002.A2BE] # YI SYLLABLE COX
-A2BF  ; [.34BA.0020.0002.A2BF] # YI SYLLABLE CO
-A2C0  ; [.34BB.0020.0002.A2C0] # YI SYLLABLE COP
-A2C1  ; [.34BC.0020.0002.A2C1] # YI SYLLABLE CEX
-A2C2  ; [.34BD.0020.0002.A2C2] # YI SYLLABLE CE
-A2C3  ; [.34BE.0020.0002.A2C3] # YI SYLLABLE CEP
-A2C4  ; [.34BF.0020.0002.A2C4] # YI SYLLABLE CUT
-A2C5  ; [.34C0.0020.0002.A2C5] # YI SYLLABLE CUX
-A2C6  ; [.34C1.0020.0002.A2C6] # YI SYLLABLE CU
-A2C7  ; [.34C2.0020.0002.A2C7] # YI SYLLABLE CUP
-A2C8  ; [.34C3.0020.0002.A2C8] # YI SYLLABLE CURX
-A2C9  ; [.34C4.0020.0002.A2C9] # YI SYLLABLE CUR
-A2CA  ; [.34C5.0020.0002.A2CA] # YI SYLLABLE CYT
-A2CB  ; [.34C6.0020.0002.A2CB] # YI SYLLABLE CYX
-A2CC  ; [.34C7.0020.0002.A2CC] # YI SYLLABLE CY
-A2CD  ; [.34C8.0020.0002.A2CD] # YI SYLLABLE CYP
-A2CE  ; [.34C9.0020.0002.A2CE] # YI SYLLABLE CYRX
-A2CF  ; [.34CA.0020.0002.A2CF] # YI SYLLABLE CYR
-A2D0  ; [.34CB.0020.0002.A2D0] # YI SYLLABLE ZZIT
-A2D1  ; [.34CC.0020.0002.A2D1] # YI SYLLABLE ZZIX
-A2D2  ; [.34CD.0020.0002.A2D2] # YI SYLLABLE ZZI
-A2D3  ; [.34CE.0020.0002.A2D3] # YI SYLLABLE ZZIP
-A2D4  ; [.34CF.0020.0002.A2D4] # YI SYLLABLE ZZIET
-A2D5  ; [.34D0.0020.0002.A2D5] # YI SYLLABLE ZZIEX
-A2D6  ; [.34D1.0020.0002.A2D6] # YI SYLLABLE ZZIE
-A2D7  ; [.34D2.0020.0002.A2D7] # YI SYLLABLE ZZIEP
-A2D8  ; [.34D3.0020.0002.A2D8] # YI SYLLABLE ZZAT
-A2D9  ; [.34D4.0020.0002.A2D9] # YI SYLLABLE ZZAX
-A2DA  ; [.34D5.0020.0002.A2DA] # YI SYLLABLE ZZA
-A2DB  ; [.34D6.0020.0002.A2DB] # YI SYLLABLE ZZAP
-A2DC  ; [.34D7.0020.0002.A2DC] # YI SYLLABLE ZZOX
-A2DD  ; [.34D8.0020.0002.A2DD] # YI SYLLABLE ZZO
-A2DE  ; [.34D9.0020.0002.A2DE] # YI SYLLABLE ZZOP
-A2DF  ; [.34DA.0020.0002.A2DF] # YI SYLLABLE ZZEX
-A2E0  ; [.34DB.0020.0002.A2E0] # YI SYLLABLE ZZE
-A2E1  ; [.34DC.0020.0002.A2E1] # YI SYLLABLE ZZEP
-A2E2  ; [.34DD.0020.0002.A2E2] # YI SYLLABLE ZZUX
-A2E3  ; [.34DE.0020.0002.A2E3] # YI SYLLABLE ZZU
-A2E4  ; [.34DF.0020.0002.A2E4] # YI SYLLABLE ZZUP
-A2E5  ; [.34E0.0020.0002.A2E5] # YI SYLLABLE ZZURX
-A2E6  ; [.34E1.0020.0002.A2E6] # YI SYLLABLE ZZUR
-A2E7  ; [.34E2.0020.0002.A2E7] # YI SYLLABLE ZZYT
-A2E8  ; [.34E3.0020.0002.A2E8] # YI SYLLABLE ZZYX
-A2E9  ; [.34E4.0020.0002.A2E9] # YI SYLLABLE ZZY
-A2EA  ; [.34E5.0020.0002.A2EA] # YI SYLLABLE ZZYP
-A2EB  ; [.34E6.0020.0002.A2EB] # YI SYLLABLE ZZYRX
-A2EC  ; [.34E7.0020.0002.A2EC] # YI SYLLABLE ZZYR
-A2ED  ; [.34E8.0020.0002.A2ED] # YI SYLLABLE NZIT
-A2EE  ; [.34E9.0020.0002.A2EE] # YI SYLLABLE NZIX
-A2EF  ; [.34EA.0020.0002.A2EF] # YI SYLLABLE NZI
-A2F0  ; [.34EB.0020.0002.A2F0] # YI SYLLABLE NZIP
-A2F1  ; [.34EC.0020.0002.A2F1] # YI SYLLABLE NZIEX
-A2F2  ; [.34ED.0020.0002.A2F2] # YI SYLLABLE NZIE
-A2F3  ; [.34EE.0020.0002.A2F3] # YI SYLLABLE NZIEP
-A2F4  ; [.34EF.0020.0002.A2F4] # YI SYLLABLE NZAT
-A2F5  ; [.34F0.0020.0002.A2F5] # YI SYLLABLE NZAX
-A2F6  ; [.34F1.0020.0002.A2F6] # YI SYLLABLE NZA
-A2F7  ; [.34F2.0020.0002.A2F7] # YI SYLLABLE NZAP
-A2F8  ; [.34F3.0020.0002.A2F8] # YI SYLLABLE NZUOX
-A2F9  ; [.34F4.0020.0002.A2F9] # YI SYLLABLE NZUO
-A2FA  ; [.34F5.0020.0002.A2FA] # YI SYLLABLE NZOX
-A2FB  ; [.34F6.0020.0002.A2FB] # YI SYLLABLE NZOP
-A2FC  ; [.34F7.0020.0002.A2FC] # YI SYLLABLE NZEX
-A2FD  ; [.34F8.0020.0002.A2FD] # YI SYLLABLE NZE
-A2FE  ; [.34F9.0020.0002.A2FE] # YI SYLLABLE NZUX
-A2FF  ; [.34FA.0020.0002.A2FF] # YI SYLLABLE NZU
-A300  ; [.34FB.0020.0002.A300] # YI SYLLABLE NZUP
-A301  ; [.34FC.0020.0002.A301] # YI SYLLABLE NZURX
-A302  ; [.34FD.0020.0002.A302] # YI SYLLABLE NZUR
-A303  ; [.34FE.0020.0002.A303] # YI SYLLABLE NZYT
-A304  ; [.34FF.0020.0002.A304] # YI SYLLABLE NZYX
-A305  ; [.3500.0020.0002.A305] # YI SYLLABLE NZY
-A306  ; [.3501.0020.0002.A306] # YI SYLLABLE NZYP
-A307  ; [.3502.0020.0002.A307] # YI SYLLABLE NZYRX
-A308  ; [.3503.0020.0002.A308] # YI SYLLABLE NZYR
-A309  ; [.3504.0020.0002.A309] # YI SYLLABLE SIT
-A30A  ; [.3505.0020.0002.A30A] # YI SYLLABLE SIX
-A30B  ; [.3506.0020.0002.A30B] # YI SYLLABLE SI
-A30C  ; [.3507.0020.0002.A30C] # YI SYLLABLE SIP
-A30D  ; [.3508.0020.0002.A30D] # YI SYLLABLE SIEX
-A30E  ; [.3509.0020.0002.A30E] # YI SYLLABLE SIE
-A30F  ; [.350A.0020.0002.A30F] # YI SYLLABLE SIEP
-A310  ; [.350B.0020.0002.A310] # YI SYLLABLE SAT
-A311  ; [.350C.0020.0002.A311] # YI SYLLABLE SAX
-A312  ; [.350D.0020.0002.A312] # YI SYLLABLE SA
-A313  ; [.350E.0020.0002.A313] # YI SYLLABLE SAP
-A314  ; [.350F.0020.0002.A314] # YI SYLLABLE SUOX
-A315  ; [.3510.0020.0002.A315] # YI SYLLABLE SUO
-A316  ; [.3511.0020.0002.A316] # YI SYLLABLE SUOP
-A317  ; [.3512.0020.0002.A317] # YI SYLLABLE SOT
-A318  ; [.3513.0020.0002.A318] # YI SYLLABLE SOX
-A319  ; [.3514.0020.0002.A319] # YI SYLLABLE SO
-A31A  ; [.3515.0020.0002.A31A] # YI SYLLABLE SOP
-A31B  ; [.3516.0020.0002.A31B] # YI SYLLABLE SEX
-A31C  ; [.3517.0020.0002.A31C] # YI SYLLABLE SE
-A31D  ; [.3518.0020.0002.A31D] # YI SYLLABLE SEP
-A31E  ; [.3519.0020.0002.A31E] # YI SYLLABLE SUT
-A31F  ; [.351A.0020.0002.A31F] # YI SYLLABLE SUX
-A320  ; [.351B.0020.0002.A320] # YI SYLLABLE SU
-A321  ; [.351C.0020.0002.A321] # YI SYLLABLE SUP
-A322  ; [.351D.0020.0002.A322] # YI SYLLABLE SURX
-A323  ; [.351E.0020.0002.A323] # YI SYLLABLE SUR
-A324  ; [.351F.0020.0002.A324] # YI SYLLABLE SYT
-A325  ; [.3520.0020.0002.A325] # YI SYLLABLE SYX
-A326  ; [.3521.0020.0002.A326] # YI SYLLABLE SY
-A327  ; [.3522.0020.0002.A327] # YI SYLLABLE SYP
-A328  ; [.3523.0020.0002.A328] # YI SYLLABLE SYRX
-A329  ; [.3524.0020.0002.A329] # YI SYLLABLE SYR
-A32A  ; [.3525.0020.0002.A32A] # YI SYLLABLE SSIT
-A32B  ; [.3526.0020.0002.A32B] # YI SYLLABLE SSIX
-A32C  ; [.3527.0020.0002.A32C] # YI SYLLABLE SSI
-A32D  ; [.3528.0020.0002.A32D] # YI SYLLABLE SSIP
-A32E  ; [.3529.0020.0002.A32E] # YI SYLLABLE SSIEX
-A32F  ; [.352A.0020.0002.A32F] # YI SYLLABLE SSIE
-A330  ; [.352B.0020.0002.A330] # YI SYLLABLE SSIEP
-A331  ; [.352C.0020.0002.A331] # YI SYLLABLE SSAT
-A332  ; [.352D.0020.0002.A332] # YI SYLLABLE SSAX
-A333  ; [.352E.0020.0002.A333] # YI SYLLABLE SSA
-A334  ; [.352F.0020.0002.A334] # YI SYLLABLE SSAP
-A335  ; [.3530.0020.0002.A335] # YI SYLLABLE SSOT
-A336  ; [.3531.0020.0002.A336] # YI SYLLABLE SSOX
-A337  ; [.3532.0020.0002.A337] # YI SYLLABLE SSO
-A338  ; [.3533.0020.0002.A338] # YI SYLLABLE SSOP
-A339  ; [.3534.0020.0002.A339] # YI SYLLABLE SSEX
-A33A  ; [.3535.0020.0002.A33A] # YI SYLLABLE SSE
-A33B  ; [.3536.0020.0002.A33B] # YI SYLLABLE SSEP
-A33C  ; [.3537.0020.0002.A33C] # YI SYLLABLE SSUT
-A33D  ; [.3538.0020.0002.A33D] # YI SYLLABLE SSUX
-A33E  ; [.3539.0020.0002.A33E] # YI SYLLABLE SSU
-A33F  ; [.353A.0020.0002.A33F] # YI SYLLABLE SSUP
-A340  ; [.353B.0020.0002.A340] # YI SYLLABLE SSYT
-A341  ; [.353C.0020.0002.A341] # YI SYLLABLE SSYX
-A342  ; [.353D.0020.0002.A342] # YI SYLLABLE SSY
-A343  ; [.353E.0020.0002.A343] # YI SYLLABLE SSYP
-A344  ; [.353F.0020.0002.A344] # YI SYLLABLE SSYRX
-A345  ; [.3540.0020.0002.A345] # YI SYLLABLE SSYR
-A346  ; [.3541.0020.0002.A346] # YI SYLLABLE ZHAT
-A347  ; [.3542.0020.0002.A347] # YI SYLLABLE ZHAX
-A348  ; [.3543.0020.0002.A348] # YI SYLLABLE ZHA
-A349  ; [.3544.0020.0002.A349] # YI SYLLABLE ZHAP
-A34A  ; [.3545.0020.0002.A34A] # YI SYLLABLE ZHUOX
-A34B  ; [.3546.0020.0002.A34B] # YI SYLLABLE ZHUO
-A34C  ; [.3547.0020.0002.A34C] # YI SYLLABLE ZHUOP
-A34D  ; [.3548.0020.0002.A34D] # YI SYLLABLE ZHOT
-A34E  ; [.3549.0020.0002.A34E] # YI SYLLABLE ZHOX
-A34F  ; [.354A.0020.0002.A34F] # YI SYLLABLE ZHO
-A350  ; [.354B.0020.0002.A350] # YI SYLLABLE ZHOP
-A351  ; [.354C.0020.0002.A351] # YI SYLLABLE ZHET
-A352  ; [.354D.0020.0002.A352] # YI SYLLABLE ZHEX
-A353  ; [.354E.0020.0002.A353] # YI SYLLABLE ZHE
-A354  ; [.354F.0020.0002.A354] # YI SYLLABLE ZHEP
-A355  ; [.3550.0020.0002.A355] # YI SYLLABLE ZHUT
-A356  ; [.3551.0020.0002.A356] # YI SYLLABLE ZHUX
-A357  ; [.3552.0020.0002.A357] # YI SYLLABLE ZHU
-A358  ; [.3553.0020.0002.A358] # YI SYLLABLE ZHUP
-A359  ; [.3554.0020.0002.A359] # YI SYLLABLE ZHURX
-A35A  ; [.3555.0020.0002.A35A] # YI SYLLABLE ZHUR
-A35B  ; [.3556.0020.0002.A35B] # YI SYLLABLE ZHYT
-A35C  ; [.3557.0020.0002.A35C] # YI SYLLABLE ZHYX
-A35D  ; [.3558.0020.0002.A35D] # YI SYLLABLE ZHY
-A35E  ; [.3559.0020.0002.A35E] # YI SYLLABLE ZHYP
-A35F  ; [.355A.0020.0002.A35F] # YI SYLLABLE ZHYRX
-A360  ; [.355B.0020.0002.A360] # YI SYLLABLE ZHYR
-A361  ; [.355C.0020.0002.A361] # YI SYLLABLE CHAT
-A362  ; [.355D.0020.0002.A362] # YI SYLLABLE CHAX
-A363  ; [.355E.0020.0002.A363] # YI SYLLABLE CHA
-A364  ; [.355F.0020.0002.A364] # YI SYLLABLE CHAP
-A365  ; [.3560.0020.0002.A365] # YI SYLLABLE CHUOT
-A366  ; [.3561.0020.0002.A366] # YI SYLLABLE CHUOX
-A367  ; [.3562.0020.0002.A367] # YI SYLLABLE CHUO
-A368  ; [.3563.0020.0002.A368] # YI SYLLABLE CHUOP
-A369  ; [.3564.0020.0002.A369] # YI SYLLABLE CHOT
-A36A  ; [.3565.0020.0002.A36A] # YI SYLLABLE CHOX
-A36B  ; [.3566.0020.0002.A36B] # YI SYLLABLE CHO
-A36C  ; [.3567.0020.0002.A36C] # YI SYLLABLE CHOP
-A36D  ; [.3568.0020.0002.A36D] # YI SYLLABLE CHET
-A36E  ; [.3569.0020.0002.A36E] # YI SYLLABLE CHEX
-A36F  ; [.356A.0020.0002.A36F] # YI SYLLABLE CHE
-A370  ; [.356B.0020.0002.A370] # YI SYLLABLE CHEP
-A371  ; [.356C.0020.0002.A371] # YI SYLLABLE CHUX
-A372  ; [.356D.0020.0002.A372] # YI SYLLABLE CHU
-A373  ; [.356E.0020.0002.A373] # YI SYLLABLE CHUP
-A374  ; [.356F.0020.0002.A374] # YI SYLLABLE CHURX
-A375  ; [.3570.0020.0002.A375] # YI SYLLABLE CHUR
-A376  ; [.3571.0020.0002.A376] # YI SYLLABLE CHYT
-A377  ; [.3572.0020.0002.A377] # YI SYLLABLE CHYX
-A378  ; [.3573.0020.0002.A378] # YI SYLLABLE CHY
-A379  ; [.3574.0020.0002.A379] # YI SYLLABLE CHYP
-A37A  ; [.3575.0020.0002.A37A] # YI SYLLABLE CHYRX
-A37B  ; [.3576.0020.0002.A37B] # YI SYLLABLE CHYR
-A37C  ; [.3577.0020.0002.A37C] # YI SYLLABLE RRAX
-A37D  ; [.3578.0020.0002.A37D] # YI SYLLABLE RRA
-A37E  ; [.3579.0020.0002.A37E] # YI SYLLABLE RRUOX
-A37F  ; [.357A.0020.0002.A37F] # YI SYLLABLE RRUO
-A380  ; [.357B.0020.0002.A380] # YI SYLLABLE RROT
-A381  ; [.357C.0020.0002.A381] # YI SYLLABLE RROX
-A382  ; [.357D.0020.0002.A382] # YI SYLLABLE RRO
-A383  ; [.357E.0020.0002.A383] # YI SYLLABLE RROP
-A384  ; [.357F.0020.0002.A384] # YI SYLLABLE RRET
-A385  ; [.3580.0020.0002.A385] # YI SYLLABLE RREX
-A386  ; [.3581.0020.0002.A386] # YI SYLLABLE RRE
-A387  ; [.3582.0020.0002.A387] # YI SYLLABLE RREP
-A388  ; [.3583.0020.0002.A388] # YI SYLLABLE RRUT
-A389  ; [.3584.0020.0002.A389] # YI SYLLABLE RRUX
-A38A  ; [.3585.0020.0002.A38A] # YI SYLLABLE RRU
-A38B  ; [.3586.0020.0002.A38B] # YI SYLLABLE RRUP
-A38C  ; [.3587.0020.0002.A38C] # YI SYLLABLE RRURX
-A38D  ; [.3588.0020.0002.A38D] # YI SYLLABLE RRUR
-A38E  ; [.3589.0020.0002.A38E] # YI SYLLABLE RRYT
-A38F  ; [.358A.0020.0002.A38F] # YI SYLLABLE RRYX
-A390  ; [.358B.0020.0002.A390] # YI SYLLABLE RRY
-A391  ; [.358C.0020.0002.A391] # YI SYLLABLE RRYP
-A392  ; [.358D.0020.0002.A392] # YI SYLLABLE RRYRX
-A393  ; [.358E.0020.0002.A393] # YI SYLLABLE RRYR
-A394  ; [.358F.0020.0002.A394] # YI SYLLABLE NRAT
-A395  ; [.3590.0020.0002.A395] # YI SYLLABLE NRAX
-A396  ; [.3591.0020.0002.A396] # YI SYLLABLE NRA
-A397  ; [.3592.0020.0002.A397] # YI SYLLABLE NRAP
-A398  ; [.3593.0020.0002.A398] # YI SYLLABLE NROX
-A399  ; [.3594.0020.0002.A399] # YI SYLLABLE NRO
-A39A  ; [.3595.0020.0002.A39A] # YI SYLLABLE NROP
-A39B  ; [.3596.0020.0002.A39B] # YI SYLLABLE NRET
-A39C  ; [.3597.0020.0002.A39C] # YI SYLLABLE NREX
-A39D  ; [.3598.0020.0002.A39D] # YI SYLLABLE NRE
-A39E  ; [.3599.0020.0002.A39E] # YI SYLLABLE NREP
-A39F  ; [.359A.0020.0002.A39F] # YI SYLLABLE NRUT
-A3A0  ; [.359B.0020.0002.A3A0] # YI SYLLABLE NRUX
-A3A1  ; [.359C.0020.0002.A3A1] # YI SYLLABLE NRU
-A3A2  ; [.359D.0020.0002.A3A2] # YI SYLLABLE NRUP
-A3A3  ; [.359E.0020.0002.A3A3] # YI SYLLABLE NRURX
-A3A4  ; [.359F.0020.0002.A3A4] # YI SYLLABLE NRUR
-A3A5  ; [.35A0.0020.0002.A3A5] # YI SYLLABLE NRYT
-A3A6  ; [.35A1.0020.0002.A3A6] # YI SYLLABLE NRYX
-A3A7  ; [.35A2.0020.0002.A3A7] # YI SYLLABLE NRY
-A3A8  ; [.35A3.0020.0002.A3A8] # YI SYLLABLE NRYP
-A3A9  ; [.35A4.0020.0002.A3A9] # YI SYLLABLE NRYRX
-A3AA  ; [.35A5.0020.0002.A3AA] # YI SYLLABLE NRYR
-A3AB  ; [.35A6.0020.0002.A3AB] # YI SYLLABLE SHAT
-A3AC  ; [.35A7.0020.0002.A3AC] # YI SYLLABLE SHAX
-A3AD  ; [.35A8.0020.0002.A3AD] # YI SYLLABLE SHA
-A3AE  ; [.35A9.0020.0002.A3AE] # YI SYLLABLE SHAP
-A3AF  ; [.35AA.0020.0002.A3AF] # YI SYLLABLE SHUOX
-A3B0  ; [.35AB.0020.0002.A3B0] # YI SYLLABLE SHUO
-A3B1  ; [.35AC.0020.0002.A3B1] # YI SYLLABLE SHUOP
-A3B2  ; [.35AD.0020.0002.A3B2] # YI SYLLABLE SHOT
-A3B3  ; [.35AE.0020.0002.A3B3] # YI SYLLABLE SHOX
-A3B4  ; [.35AF.0020.0002.A3B4] # YI SYLLABLE SHO
-A3B5  ; [.35B0.0020.0002.A3B5] # YI SYLLABLE SHOP
-A3B6  ; [.35B1.0020.0002.A3B6] # YI SYLLABLE SHET
-A3B7  ; [.35B2.0020.0002.A3B7] # YI SYLLABLE SHEX
-A3B8  ; [.35B3.0020.0002.A3B8] # YI SYLLABLE SHE
-A3B9  ; [.35B4.0020.0002.A3B9] # YI SYLLABLE SHEP
-A3BA  ; [.35B5.0020.0002.A3BA] # YI SYLLABLE SHUT
-A3BB  ; [.35B6.0020.0002.A3BB] # YI SYLLABLE SHUX
-A3BC  ; [.35B7.0020.0002.A3BC] # YI SYLLABLE SHU
-A3BD  ; [.35B8.0020.0002.A3BD] # YI SYLLABLE SHUP
-A3BE  ; [.35B9.0020.0002.A3BE] # YI SYLLABLE SHURX
-A3BF  ; [.35BA.0020.0002.A3BF] # YI SYLLABLE SHUR
-A3C0  ; [.35BB.0020.0002.A3C0] # YI SYLLABLE SHYT
-A3C1  ; [.35BC.0020.0002.A3C1] # YI SYLLABLE SHYX
-A3C2  ; [.35BD.0020.0002.A3C2] # YI SYLLABLE SHY
-A3C3  ; [.35BE.0020.0002.A3C3] # YI SYLLABLE SHYP
-A3C4  ; [.35BF.0020.0002.A3C4] # YI SYLLABLE SHYRX
-A3C5  ; [.35C0.0020.0002.A3C5] # YI SYLLABLE SHYR
-A3C6  ; [.35C1.0020.0002.A3C6] # YI SYLLABLE RAT
-A3C7  ; [.35C2.0020.0002.A3C7] # YI SYLLABLE RAX
-A3C8  ; [.35C3.0020.0002.A3C8] # YI SYLLABLE RA
-A3C9  ; [.35C4.0020.0002.A3C9] # YI SYLLABLE RAP
-A3CA  ; [.35C5.0020.0002.A3CA] # YI SYLLABLE RUOX
-A3CB  ; [.35C6.0020.0002.A3CB] # YI SYLLABLE RUO
-A3CC  ; [.35C7.0020.0002.A3CC] # YI SYLLABLE RUOP
-A3CD  ; [.35C8.0020.0002.A3CD] # YI SYLLABLE ROT
-A3CE  ; [.35C9.0020.0002.A3CE] # YI SYLLABLE ROX
-A3CF  ; [.35CA.0020.0002.A3CF] # YI SYLLABLE RO
-A3D0  ; [.35CB.0020.0002.A3D0] # YI SYLLABLE ROP
-A3D1  ; [.35CC.0020.0002.A3D1] # YI SYLLABLE REX
-A3D2  ; [.35CD.0020.0002.A3D2] # YI SYLLABLE RE
-A3D3  ; [.35CE.0020.0002.A3D3] # YI SYLLABLE REP
-A3D4  ; [.35CF.0020.0002.A3D4] # YI SYLLABLE RUT
-A3D5  ; [.35D0.0020.0002.A3D5] # YI SYLLABLE RUX
-A3D6  ; [.35D1.0020.0002.A3D6] # YI SYLLABLE RU
-A3D7  ; [.35D2.0020.0002.A3D7] # YI SYLLABLE RUP
-A3D8  ; [.35D3.0020.0002.A3D8] # YI SYLLABLE RURX
-A3D9  ; [.35D4.0020.0002.A3D9] # YI SYLLABLE RUR
-A3DA  ; [.35D5.0020.0002.A3DA] # YI SYLLABLE RYT
-A3DB  ; [.35D6.0020.0002.A3DB] # YI SYLLABLE RYX
-A3DC  ; [.35D7.0020.0002.A3DC] # YI SYLLABLE RY
-A3DD  ; [.35D8.0020.0002.A3DD] # YI SYLLABLE RYP
-A3DE  ; [.35D9.0020.0002.A3DE] # YI SYLLABLE RYRX
-A3DF  ; [.35DA.0020.0002.A3DF] # YI SYLLABLE RYR
-A3E0  ; [.35DB.0020.0002.A3E0] # YI SYLLABLE JIT
-A3E1  ; [.35DC.0020.0002.A3E1] # YI SYLLABLE JIX
-A3E2  ; [.35DD.0020.0002.A3E2] # YI SYLLABLE JI
-A3E3  ; [.35DE.0020.0002.A3E3] # YI SYLLABLE JIP
-A3E4  ; [.35DF.0020.0002.A3E4] # YI SYLLABLE JIET
-A3E5  ; [.35E0.0020.0002.A3E5] # YI SYLLABLE JIEX
-A3E6  ; [.35E1.0020.0002.A3E6] # YI SYLLABLE JIE
-A3E7  ; [.35E2.0020.0002.A3E7] # YI SYLLABLE JIEP
-A3E8  ; [.35E3.0020.0002.A3E8] # YI SYLLABLE JUOT
-A3E9  ; [.35E4.0020.0002.A3E9] # YI SYLLABLE JUOX
-A3EA  ; [.35E5.0020.0002.A3EA] # YI SYLLABLE JUO
-A3EB  ; [.35E6.0020.0002.A3EB] # YI SYLLABLE JUOP
-A3EC  ; [.35E7.0020.0002.A3EC] # YI SYLLABLE JOT
-A3ED  ; [.35E8.0020.0002.A3ED] # YI SYLLABLE JOX
-A3EE  ; [.35E9.0020.0002.A3EE] # YI SYLLABLE JO
-A3EF  ; [.35EA.0020.0002.A3EF] # YI SYLLABLE JOP
-A3F0  ; [.35EB.0020.0002.A3F0] # YI SYLLABLE JUT
-A3F1  ; [.35EC.0020.0002.A3F1] # YI SYLLABLE JUX
-A3F2  ; [.35ED.0020.0002.A3F2] # YI SYLLABLE JU
-A3F3  ; [.35EE.0020.0002.A3F3] # YI SYLLABLE JUP
-A3F4  ; [.35EF.0020.0002.A3F4] # YI SYLLABLE JURX
-A3F5  ; [.35F0.0020.0002.A3F5] # YI SYLLABLE JUR
-A3F6  ; [.35F1.0020.0002.A3F6] # YI SYLLABLE JYT
-A3F7  ; [.35F2.0020.0002.A3F7] # YI SYLLABLE JYX
-A3F8  ; [.35F3.0020.0002.A3F8] # YI SYLLABLE JY
-A3F9  ; [.35F4.0020.0002.A3F9] # YI SYLLABLE JYP
-A3FA  ; [.35F5.0020.0002.A3FA] # YI SYLLABLE JYRX
-A3FB  ; [.35F6.0020.0002.A3FB] # YI SYLLABLE JYR
-A3FC  ; [.35F7.0020.0002.A3FC] # YI SYLLABLE QIT
-A3FD  ; [.35F8.0020.0002.A3FD] # YI SYLLABLE QIX
-A3FE  ; [.35F9.0020.0002.A3FE] # YI SYLLABLE QI
-A3FF  ; [.35FA.0020.0002.A3FF] # YI SYLLABLE QIP
-A400  ; [.35FB.0020.0002.A400] # YI SYLLABLE QIET
-A401  ; [.35FC.0020.0002.A401] # YI SYLLABLE QIEX
-A402  ; [.35FD.0020.0002.A402] # YI SYLLABLE QIE
-A403  ; [.35FE.0020.0002.A403] # YI SYLLABLE QIEP
-A404  ; [.35FF.0020.0002.A404] # YI SYLLABLE QUOT
-A405  ; [.3600.0020.0002.A405] # YI SYLLABLE QUOX
-A406  ; [.3601.0020.0002.A406] # YI SYLLABLE QUO
-A407  ; [.3602.0020.0002.A407] # YI SYLLABLE QUOP
-A408  ; [.3603.0020.0002.A408] # YI SYLLABLE QOT
-A409  ; [.3604.0020.0002.A409] # YI SYLLABLE QOX
-A40A  ; [.3605.0020.0002.A40A] # YI SYLLABLE QO
-A40B  ; [.3606.0020.0002.A40B] # YI SYLLABLE QOP
-A40C  ; [.3607.0020.0002.A40C] # YI SYLLABLE QUT
-A40D  ; [.3608.0020.0002.A40D] # YI SYLLABLE QUX
-A40E  ; [.3609.0020.0002.A40E] # YI SYLLABLE QU
-A40F  ; [.360A.0020.0002.A40F] # YI SYLLABLE QUP
-A410  ; [.360B.0020.0002.A410] # YI SYLLABLE QURX
-A411  ; [.360C.0020.0002.A411] # YI SYLLABLE QUR
-A412  ; [.360D.0020.0002.A412] # YI SYLLABLE QYT
-A413  ; [.360E.0020.0002.A413] # YI SYLLABLE QYX
-A414  ; [.360F.0020.0002.A414] # YI SYLLABLE QY
-A415  ; [.3610.0020.0002.A415] # YI SYLLABLE QYP
-A416  ; [.3611.0020.0002.A416] # YI SYLLABLE QYRX
-A417  ; [.3612.0020.0002.A417] # YI SYLLABLE QYR
-A418  ; [.3613.0020.0002.A418] # YI SYLLABLE JJIT
-A419  ; [.3614.0020.0002.A419] # YI SYLLABLE JJIX
-A41A  ; [.3615.0020.0002.A41A] # YI SYLLABLE JJI
-A41B  ; [.3616.0020.0002.A41B] # YI SYLLABLE JJIP
-A41C  ; [.3617.0020.0002.A41C] # YI SYLLABLE JJIET
-A41D  ; [.3618.0020.0002.A41D] # YI SYLLABLE JJIEX
-A41E  ; [.3619.0020.0002.A41E] # YI SYLLABLE JJIE
-A41F  ; [.361A.0020.0002.A41F] # YI SYLLABLE JJIEP
-A420  ; [.361B.0020.0002.A420] # YI SYLLABLE JJUOX
-A421  ; [.361C.0020.0002.A421] # YI SYLLABLE JJUO
-A422  ; [.361D.0020.0002.A422] # YI SYLLABLE JJUOP
-A423  ; [.361E.0020.0002.A423] # YI SYLLABLE JJOT
-A424  ; [.361F.0020.0002.A424] # YI SYLLABLE JJOX
-A425  ; [.3620.0020.0002.A425] # YI SYLLABLE JJO
-A426  ; [.3621.0020.0002.A426] # YI SYLLABLE JJOP
-A427  ; [.3622.0020.0002.A427] # YI SYLLABLE JJUT
-A428  ; [.3623.0020.0002.A428] # YI SYLLABLE JJUX
-A429  ; [.3624.0020.0002.A429] # YI SYLLABLE JJU
-A42A  ; [.3625.0020.0002.A42A] # YI SYLLABLE JJUP
-A42B  ; [.3626.0020.0002.A42B] # YI SYLLABLE JJURX
-A42C  ; [.3627.0020.0002.A42C] # YI SYLLABLE JJUR
-A42D  ; [.3628.0020.0002.A42D] # YI SYLLABLE JJYT
-A42E  ; [.3629.0020.0002.A42E] # YI SYLLABLE JJYX
-A42F  ; [.362A.0020.0002.A42F] # YI SYLLABLE JJY
-A430  ; [.362B.0020.0002.A430] # YI SYLLABLE JJYP
-A431  ; [.362C.0020.0002.A431] # YI SYLLABLE NJIT
-A432  ; [.362D.0020.0002.A432] # YI SYLLABLE NJIX
-A433  ; [.362E.0020.0002.A433] # YI SYLLABLE NJI
-A434  ; [.362F.0020.0002.A434] # YI SYLLABLE NJIP
-A435  ; [.3630.0020.0002.A435] # YI SYLLABLE NJIET
-A436  ; [.3631.0020.0002.A436] # YI SYLLABLE NJIEX
-A437  ; [.3632.0020.0002.A437] # YI SYLLABLE NJIE
-A438  ; [.3633.0020.0002.A438] # YI SYLLABLE NJIEP
-A439  ; [.3634.0020.0002.A439] # YI SYLLABLE NJUOX
-A43A  ; [.3635.0020.0002.A43A] # YI SYLLABLE NJUO
-A43B  ; [.3636.0020.0002.A43B] # YI SYLLABLE NJOT
-A43C  ; [.3637.0020.0002.A43C] # YI SYLLABLE NJOX
-A43D  ; [.3638.0020.0002.A43D] # YI SYLLABLE NJO
-A43E  ; [.3639.0020.0002.A43E] # YI SYLLABLE NJOP
-A43F  ; [.363A.0020.0002.A43F] # YI SYLLABLE NJUX
-A440  ; [.363B.0020.0002.A440] # YI SYLLABLE NJU
-A441  ; [.363C.0020.0002.A441] # YI SYLLABLE NJUP
-A442  ; [.363D.0020.0002.A442] # YI SYLLABLE NJURX
-A443  ; [.363E.0020.0002.A443] # YI SYLLABLE NJUR
-A444  ; [.363F.0020.0002.A444] # YI SYLLABLE NJYT
-A445  ; [.3640.0020.0002.A445] # YI SYLLABLE NJYX
-A446  ; [.3641.0020.0002.A446] # YI SYLLABLE NJY
-A447  ; [.3642.0020.0002.A447] # YI SYLLABLE NJYP
-A448  ; [.3643.0020.0002.A448] # YI SYLLABLE NJYRX
-A449  ; [.3644.0020.0002.A449] # YI SYLLABLE NJYR
-A44A  ; [.3645.0020.0002.A44A] # YI SYLLABLE NYIT
-A44B  ; [.3646.0020.0002.A44B] # YI SYLLABLE NYIX
-A44C  ; [.3647.0020.0002.A44C] # YI SYLLABLE NYI
-A44D  ; [.3648.0020.0002.A44D] # YI SYLLABLE NYIP
-A44E  ; [.3649.0020.0002.A44E] # YI SYLLABLE NYIET
-A44F  ; [.364A.0020.0002.A44F] # YI SYLLABLE NYIEX
-A450  ; [.364B.0020.0002.A450] # YI SYLLABLE NYIE
-A451  ; [.364C.0020.0002.A451] # YI SYLLABLE NYIEP
-A452  ; [.364D.0020.0002.A452] # YI SYLLABLE NYUOX
-A453  ; [.364E.0020.0002.A453] # YI SYLLABLE NYUO
-A454  ; [.364F.0020.0002.A454] # YI SYLLABLE NYUOP
-A455  ; [.3650.0020.0002.A455] # YI SYLLABLE NYOT
-A456  ; [.3651.0020.0002.A456] # YI SYLLABLE NYOX
-A457  ; [.3652.0020.0002.A457] # YI SYLLABLE NYO
-A458  ; [.3653.0020.0002.A458] # YI SYLLABLE NYOP
-A459  ; [.3654.0020.0002.A459] # YI SYLLABLE NYUT
-A45A  ; [.3655.0020.0002.A45A] # YI SYLLABLE NYUX
-A45B  ; [.3656.0020.0002.A45B] # YI SYLLABLE NYU
-A45C  ; [.3657.0020.0002.A45C] # YI SYLLABLE NYUP
-A45D  ; [.3658.0020.0002.A45D] # YI SYLLABLE XIT
-A45E  ; [.3659.0020.0002.A45E] # YI SYLLABLE XIX
-A45F  ; [.365A.0020.0002.A45F] # YI SYLLABLE XI
-A460  ; [.365B.0020.0002.A460] # YI SYLLABLE XIP
-A461  ; [.365C.0020.0002.A461] # YI SYLLABLE XIET
-A462  ; [.365D.0020.0002.A462] # YI SYLLABLE XIEX
-A463  ; [.365E.0020.0002.A463] # YI SYLLABLE XIE
-A464  ; [.365F.0020.0002.A464] # YI SYLLABLE XIEP
-A465  ; [.3660.0020.0002.A465] # YI SYLLABLE XUOX
-A466  ; [.3661.0020.0002.A466] # YI SYLLABLE XUO
-A467  ; [.3662.0020.0002.A467] # YI SYLLABLE XOT
-A468  ; [.3663.0020.0002.A468] # YI SYLLABLE XOX
-A469  ; [.3664.0020.0002.A469] # YI SYLLABLE XO
-A46A  ; [.3665.0020.0002.A46A] # YI SYLLABLE XOP
-A46B  ; [.3666.0020.0002.A46B] # YI SYLLABLE XYT
-A46C  ; [.3667.0020.0002.A46C] # YI SYLLABLE XYX
-A46D  ; [.3668.0020.0002.A46D] # YI SYLLABLE XY
-A46E  ; [.3669.0020.0002.A46E] # YI SYLLABLE XYP
-A46F  ; [.366A.0020.0002.A46F] # YI SYLLABLE XYRX
-A470  ; [.366B.0020.0002.A470] # YI SYLLABLE XYR
-A471  ; [.366C.0020.0002.A471] # YI SYLLABLE YIT
-A472  ; [.366D.0020.0002.A472] # YI SYLLABLE YIX
-A473  ; [.366E.0020.0002.A473] # YI SYLLABLE YI
-A474  ; [.366F.0020.0002.A474] # YI SYLLABLE YIP
-A475  ; [.3670.0020.0002.A475] # YI SYLLABLE YIET
-A476  ; [.3671.0020.0002.A476] # YI SYLLABLE YIEX
-A477  ; [.3672.0020.0002.A477] # YI SYLLABLE YIE
-A478  ; [.3673.0020.0002.A478] # YI SYLLABLE YIEP
-A479  ; [.3674.0020.0002.A479] # YI SYLLABLE YUOT
-A47A  ; [.3675.0020.0002.A47A] # YI SYLLABLE YUOX
-A47B  ; [.3676.0020.0002.A47B] # YI SYLLABLE YUO
-A47C  ; [.3677.0020.0002.A47C] # YI SYLLABLE YUOP
-A47D  ; [.3678.0020.0002.A47D] # YI SYLLABLE YOT
-A47E  ; [.3679.0020.0002.A47E] # YI SYLLABLE YOX
-A47F  ; [.367A.0020.0002.A47F] # YI SYLLABLE YO
-A480  ; [.367B.0020.0002.A480] # YI SYLLABLE YOP
-A481  ; [.367C.0020.0002.A481] # YI SYLLABLE YUT
-A482  ; [.367D.0020.0002.A482] # YI SYLLABLE YUX
-A483  ; [.367E.0020.0002.A483] # YI SYLLABLE YU
-A484  ; [.367F.0020.0002.A484] # YI SYLLABLE YUP
-A485  ; [.3680.0020.0002.A485] # YI SYLLABLE YURX
-A486  ; [.3681.0020.0002.A486] # YI SYLLABLE YUR
-A487  ; [.3682.0020.0002.A487] # YI SYLLABLE YYT
-A488  ; [.3683.0020.0002.A488] # YI SYLLABLE YYX
-A489  ; [.3684.0020.0002.A489] # YI SYLLABLE YY
-A48A  ; [.3685.0020.0002.A48A] # YI SYLLABLE YYP
-A48B  ; [.3686.0020.0002.A48B] # YI SYLLABLE YYRX
-A48C  ; [.3687.0020.0002.A48C] # YI SYLLABLE YYR
-A4F8  ; [.3688.0020.0002.A4F8] # LISU LETTER TONE MYA TI
-A4F9  ; [.3689.0020.0002.A4F9] # LISU LETTER TONE NA PO
-A4FA  ; [.368A.0020.0002.A4FA] # LISU LETTER TONE MYA CYA
-A4FB  ; [.368B.0020.0002.A4FB] # LISU LETTER TONE MYA BO
-A4FD  ; [.368C.0020.0002.A4FD] # LISU LETTER TONE MYA JEU
-A4FC  ; [.368D.0020.0002.A4FC] # LISU LETTER TONE MYA NA
-A4D0  ; [.368E.0020.0002.A4D0] # LISU LETTER BA
-A4D1  ; [.368F.0020.0002.A4D1] # LISU LETTER PA
-A4D2  ; [.3690.0020.0002.A4D2] # LISU LETTER PHA
-A4D3  ; [.3691.0020.0002.A4D3] # LISU LETTER DA
-A4D4  ; [.3692.0020.0002.A4D4] # LISU LETTER TA
-A4D5  ; [.3693.0020.0002.A4D5] # LISU LETTER THA
-A4D6  ; [.3694.0020.0002.A4D6] # LISU LETTER GA
-A4D7  ; [.3695.0020.0002.A4D7] # LISU LETTER KA
-A4D8  ; [.3696.0020.0002.A4D8] # LISU LETTER KHA
-A4D9  ; [.3697.0020.0002.A4D9] # LISU LETTER JA
-A4DA  ; [.3698.0020.0002.A4DA] # LISU LETTER CA
-A4DB  ; [.3699.0020.0002.A4DB] # LISU LETTER CHA
-A4DC  ; [.369A.0020.0002.A4DC] # LISU LETTER DZA
-A4DD  ; [.369B.0020.0002.A4DD] # LISU LETTER TSA
-A4DE  ; [.369C.0020.0002.A4DE] # LISU LETTER TSHA
-A4DF  ; [.369D.0020.0002.A4DF] # LISU LETTER MA
-A4E0  ; [.369E.0020.0002.A4E0] # LISU LETTER NA
-A4E1  ; [.369F.0020.0002.A4E1] # LISU LETTER LA
-A4E2  ; [.36A0.0020.0002.A4E2] # LISU LETTER SA
-A4E3  ; [.36A1.0020.0002.A4E3] # LISU LETTER ZHA
-A4E4  ; [.36A2.0020.0002.A4E4] # LISU LETTER ZA
-A4E5  ; [.36A3.0020.0002.A4E5] # LISU LETTER NGA
-A4E6  ; [.36A4.0020.0002.A4E6] # LISU LETTER HA
-A4E7  ; [.36A5.0020.0002.A4E7] # LISU LETTER XA
-A4E8  ; [.36A6.0020.0002.A4E8] # LISU LETTER HHA
-A4E9  ; [.36A7.0020.0002.A4E9] # LISU LETTER FA
-A4EB  ; [.36A8.0020.0002.A4EB] # LISU LETTER SHA
-A4ED  ; [.36A9.0020.0002.A4ED] # LISU LETTER GHA
-A4EA  ; [.36AA.0020.0002.A4EA] # LISU LETTER WA
-A4EC  ; [.36AB.0020.0002.A4EC] # LISU LETTER YA
-A4EE  ; [.36AC.0020.0002.A4EE] # LISU LETTER A
-A4EF  ; [.36AD.0020.0002.A4EF] # LISU LETTER AE
-A4F0  ; [.36AE.0020.0002.A4F0] # LISU LETTER E
-A4F1  ; [.36AF.0020.0002.A4F1] # LISU LETTER EU
-A4F2  ; [.36B0.0020.0002.A4F2] # LISU LETTER I
-A4F3  ; [.36B1.0020.0002.A4F3] # LISU LETTER O
-A4F4  ; [.36B2.0020.0002.A4F4] # LISU LETTER U
-A4F5  ; [.36B3.0020.0002.A4F5] # LISU LETTER UE
-A4F6  ; [.36B4.0020.0002.A4F6] # LISU LETTER UH
-A4F7  ; [.36B5.0020.0002.A4F7] # LISU LETTER OE
-10280 ; [.36B6.0020.0002.10280] # LYCIAN LETTER A
-10281 ; [.36B7.0020.0002.10281] # LYCIAN LETTER E
-10282 ; [.36B8.0020.0002.10282] # LYCIAN LETTER B
-10283 ; [.36B9.0020.0002.10283] # LYCIAN LETTER BH
-10284 ; [.36BA.0020.0002.10284] # LYCIAN LETTER G
-10285 ; [.36BB.0020.0002.10285] # LYCIAN LETTER D
-10286 ; [.36BC.0020.0002.10286] # LYCIAN LETTER I
-10287 ; [.36BD.0020.0002.10287] # LYCIAN LETTER W
-10288 ; [.36BE.0020.0002.10288] # LYCIAN LETTER Z
-10289 ; [.36BF.0020.0002.10289] # LYCIAN LETTER TH
-1028A ; [.36C0.0020.0002.1028A] # LYCIAN LETTER J
-1028B ; [.36C1.0020.0002.1028B] # LYCIAN LETTER K
-1028C ; [.36C2.0020.0002.1028C] # LYCIAN LETTER Q
-1028D ; [.36C3.0020.0002.1028D] # LYCIAN LETTER L
-1028E ; [.36C4.0020.0002.1028E] # LYCIAN LETTER M
-1028F ; [.36C5.0020.0002.1028F] # LYCIAN LETTER N
-10290 ; [.36C6.0020.0002.10290] # LYCIAN LETTER MM
-10291 ; [.36C7.0020.0002.10291] # LYCIAN LETTER NN
-10292 ; [.36C8.0020.0002.10292] # LYCIAN LETTER U
-10293 ; [.36C9.0020.0002.10293] # LYCIAN LETTER P
-10294 ; [.36CA.0020.0002.10294] # LYCIAN LETTER KK
-10295 ; [.36CB.0020.0002.10295] # LYCIAN LETTER R
-10296 ; [.36CC.0020.0002.10296] # LYCIAN LETTER S
-10297 ; [.36CD.0020.0002.10297] # LYCIAN LETTER T
-10298 ; [.36CE.0020.0002.10298] # LYCIAN LETTER TT
-10299 ; [.36CF.0020.0002.10299] # LYCIAN LETTER AN
-1029A ; [.36D0.0020.0002.1029A] # LYCIAN LETTER EN
-1029B ; [.36D1.0020.0002.1029B] # LYCIAN LETTER H
-1029C ; [.36D2.0020.0002.1029C] # LYCIAN LETTER X
-102A0 ; [.36D3.0020.0002.102A0] # CARIAN LETTER A
-102A1 ; [.36D4.0020.0002.102A1] # CARIAN LETTER P2
-102A2 ; [.36D5.0020.0002.102A2] # CARIAN LETTER D
-102A3 ; [.36D6.0020.0002.102A3] # CARIAN LETTER L
-102A4 ; [.36D7.0020.0002.102A4] # CARIAN LETTER UUU
-102A5 ; [.36D8.0020.0002.102A5] # CARIAN LETTER R
-102A6 ; [.36D9.0020.0002.102A6] # CARIAN LETTER LD
-102A7 ; [.36DA.0020.0002.102A7] # CARIAN LETTER A2
-102A8 ; [.36DB.0020.0002.102A8] # CARIAN LETTER Q
-102A9 ; [.36DC.0020.0002.102A9] # CARIAN LETTER B
-102AA ; [.36DD.0020.0002.102AA] # CARIAN LETTER M
-102AB ; [.36DE.0020.0002.102AB] # CARIAN LETTER O
-102AC ; [.36DF.0020.0002.102AC] # CARIAN LETTER D2
-102AD ; [.36E0.0020.0002.102AD] # CARIAN LETTER T
-102AE ; [.36E1.0020.0002.102AE] # CARIAN LETTER SH
-102AF ; [.36E2.0020.0002.102AF] # CARIAN LETTER SH2
-102B0 ; [.36E3.0020.0002.102B0] # CARIAN LETTER S
-102B1 ; [.36E4.0020.0002.102B1] # CARIAN LETTER C-18
-102B2 ; [.36E5.0020.0002.102B2] # CARIAN LETTER U
-102B3 ; [.36E6.0020.0002.102B3] # CARIAN LETTER NN
-102B4 ; [.36E7.0020.0002.102B4] # CARIAN LETTER X
-102B5 ; [.36E8.0020.0002.102B5] # CARIAN LETTER N
-102B6 ; [.36E9.0020.0002.102B6] # CARIAN LETTER TT2
-102B7 ; [.36EA.0020.0002.102B7] # CARIAN LETTER P
-102B8 ; [.36EB.0020.0002.102B8] # CARIAN LETTER SS
-102B9 ; [.36EC.0020.0002.102B9] # CARIAN LETTER I
-102BA ; [.36ED.0020.0002.102BA] # CARIAN LETTER E
-102BB ; [.36EE.0020.0002.102BB] # CARIAN LETTER UUUU
-102BC ; [.36EF.0020.0002.102BC] # CARIAN LETTER K
-102BD ; [.36F0.0020.0002.102BD] # CARIAN LETTER K2
-102BE ; [.36F1.0020.0002.102BE] # CARIAN LETTER ND
-102BF ; [.36F2.0020.0002.102BF] # CARIAN LETTER UU
-102C0 ; [.36F3.0020.0002.102C0] # CARIAN LETTER G
-102C1 ; [.36F4.0020.0002.102C1] # CARIAN LETTER G2
-102C2 ; [.36F5.0020.0002.102C2] # CARIAN LETTER ST
-102C3 ; [.36F6.0020.0002.102C3] # CARIAN LETTER ST2
-102C4 ; [.36F7.0020.0002.102C4] # CARIAN LETTER NG
-102C5 ; [.36F8.0020.0002.102C5] # CARIAN LETTER II
-102C6 ; [.36F9.0020.0002.102C6] # CARIAN LETTER C-39
-102C7 ; [.36FA.0020.0002.102C7] # CARIAN LETTER TT
-102C8 ; [.36FB.0020.0002.102C8] # CARIAN LETTER UUU2
-102C9 ; [.36FC.0020.0002.102C9] # CARIAN LETTER RR
-102CA ; [.36FD.0020.0002.102CA] # CARIAN LETTER MB
-102CB ; [.36FE.0020.0002.102CB] # CARIAN LETTER MB2
-102CC ; [.36FF.0020.0002.102CC] # CARIAN LETTER MB3
-102CD ; [.3700.0020.0002.102CD] # CARIAN LETTER MB4
-102CE ; [.3701.0020.0002.102CE] # CARIAN LETTER LD2
-102CF ; [.3702.0020.0002.102CF] # CARIAN LETTER E2
-102D0 ; [.3703.0020.0002.102D0] # CARIAN LETTER UUU3
-10920 ; [.3704.0020.0002.10920] # LYDIAN LETTER A
-10921 ; [.3705.0020.0002.10921] # LYDIAN LETTER B
-10922 ; [.3706.0020.0002.10922] # LYDIAN LETTER G
-10923 ; [.3707.0020.0002.10923] # LYDIAN LETTER D
-10924 ; [.3708.0020.0002.10924] # LYDIAN LETTER E
-10925 ; [.3709.0020.0002.10925] # LYDIAN LETTER V
-10926 ; [.370A.0020.0002.10926] # LYDIAN LETTER I
-10927 ; [.370B.0020.0002.10927] # LYDIAN LETTER Y
-10928 ; [.370C.0020.0002.10928] # LYDIAN LETTER K
-10929 ; [.370D.0020.0002.10929] # LYDIAN LETTER L
-1092A ; [.370E.0020.0002.1092A] # LYDIAN LETTER M
-1092B ; [.370F.0020.0002.1092B] # LYDIAN LETTER N
-1092C ; [.3710.0020.0002.1092C] # LYDIAN LETTER O
-1092D ; [.3711.0020.0002.1092D] # LYDIAN LETTER R
-1092E ; [.3712.0020.0002.1092E] # LYDIAN LETTER SS
-1092F ; [.3713.0020.0002.1092F] # LYDIAN LETTER T
-10930 ; [.3714.0020.0002.10930] # LYDIAN LETTER U
-10931 ; [.3715.0020.0002.10931] # LYDIAN LETTER F
-10932 ; [.3716.0020.0002.10932] # LYDIAN LETTER Q
-10933 ; [.3717.0020.0002.10933] # LYDIAN LETTER S
-10934 ; [.3718.0020.0002.10934] # LYDIAN LETTER TT
-10935 ; [.3719.0020.0002.10935] # LYDIAN LETTER AN
-10936 ; [.371A.0020.0002.10936] # LYDIAN LETTER EN
-10937 ; [.371B.0020.0002.10937] # LYDIAN LETTER LY
-10938 ; [.371C.0020.0002.10938] # LYDIAN LETTER NN
-10939 ; [.371D.0020.0002.10939] # LYDIAN LETTER C
-10300 ; [.371E.0020.0002.10300] # OLD ITALIC LETTER A
-10301 ; [.371F.0020.0002.10301] # OLD ITALIC LETTER BE
-10302 ; [.3720.0020.0002.10302] # OLD ITALIC LETTER KE
-10303 ; [.3721.0020.0002.10303] # OLD ITALIC LETTER DE
-10304 ; [.3722.0020.0002.10304] # OLD ITALIC LETTER E
-10305 ; [.3723.0020.0002.10305] # OLD ITALIC LETTER VE
-10306 ; [.3724.0020.0002.10306] # OLD ITALIC LETTER ZE
-10307 ; [.3725.0020.0002.10307] # OLD ITALIC LETTER HE
-10308 ; [.3726.0020.0002.10308] # OLD ITALIC LETTER THE
-10309 ; [.3727.0020.0002.10309] # OLD ITALIC LETTER I
-1030A ; [.3728.0020.0002.1030A] # OLD ITALIC LETTER KA
-1030B ; [.3729.0020.0002.1030B] # OLD ITALIC LETTER EL
-1030C ; [.372A.0020.0002.1030C] # OLD ITALIC LETTER EM
-1030D ; [.372B.0020.0002.1030D] # OLD ITALIC LETTER EN
-1030E ; [.372C.0020.0002.1030E] # OLD ITALIC LETTER ESH
-1030F ; [.372D.0020.0002.1030F] # OLD ITALIC LETTER O
-10310 ; [.372E.0020.0002.10310] # OLD ITALIC LETTER PE
-10311 ; [.372F.0020.0002.10311] # OLD ITALIC LETTER SHE
-10312 ; [.3730.0020.0002.10312] # OLD ITALIC LETTER KU
-10313 ; [.3731.0020.0002.10313] # OLD ITALIC LETTER ER
-10314 ; [.3732.0020.0002.10314] # OLD ITALIC LETTER ES
-10315 ; [.3733.0020.0002.10315] # OLD ITALIC LETTER TE
-10316 ; [.3734.0020.0002.10316] # OLD ITALIC LETTER U
-10317 ; [.3735.0020.0002.10317] # OLD ITALIC LETTER EKS
-10318 ; [.3736.0020.0002.10318] # OLD ITALIC LETTER PHE
-10319 ; [.3737.0020.0002.10319] # OLD ITALIC LETTER KHE
-1031A ; [.3738.0020.0002.1031A] # OLD ITALIC LETTER EF
-1031B ; [.3739.0020.0002.1031B] # OLD ITALIC LETTER ERS
-1031C ; [.373A.0020.0002.1031C] # OLD ITALIC LETTER CHE
-1031D ; [.373B.0020.0002.1031D] # OLD ITALIC LETTER II
-1031E ; [.373C.0020.0002.1031E] # OLD ITALIC LETTER UU
-10330 ; [.373D.0020.0002.10330] # GOTHIC LETTER AHSA
-10331 ; [.373E.0020.0002.10331] # GOTHIC LETTER BAIRKAN
-10332 ; [.373F.0020.0002.10332] # GOTHIC LETTER GIBA
-10333 ; [.3740.0020.0002.10333] # GOTHIC LETTER DAGS
-10334 ; [.3741.0020.0002.10334] # GOTHIC LETTER AIHVUS
-10335 ; [.3742.0020.0002.10335] # GOTHIC LETTER QAIRTHRA
-10336 ; [.3743.0020.0002.10336] # GOTHIC LETTER IUJA
-10337 ; [.3744.0020.0002.10337] # GOTHIC LETTER HAGL
-10338 ; [.3745.0020.0002.10338] # GOTHIC LETTER THIUTH
-10339 ; [.3746.0020.0002.10339] # GOTHIC LETTER EIS
-1033A ; [.3747.0020.0002.1033A] # GOTHIC LETTER KUSMA
-1033B ; [.3748.0020.0002.1033B] # GOTHIC LETTER LAGUS
-1033C ; [.3749.0020.0002.1033C] # GOTHIC LETTER MANNA
-1033D ; [.374A.0020.0002.1033D] # GOTHIC LETTER NAUTHS
-1033E ; [.374B.0020.0002.1033E] # GOTHIC LETTER JER
-1033F ; [.374C.0020.0002.1033F] # GOTHIC LETTER URUS
-10340 ; [.374D.0020.0002.10340] # GOTHIC LETTER PAIRTHRA
-10341 ; [.374E.0020.0002.10341] # GOTHIC LETTER NINETY
-10342 ; [.374F.0020.0002.10342] # GOTHIC LETTER RAIDA
-10343 ; [.3750.0020.0002.10343] # GOTHIC LETTER SAUIL
-10344 ; [.3751.0020.0002.10344] # GOTHIC LETTER TEIWS
-10345 ; [.3752.0020.0002.10345] # GOTHIC LETTER WINJA
-10346 ; [.3753.0020.0002.10346] # GOTHIC LETTER FAIHU
-10347 ; [.3754.0020.0002.10347] # GOTHIC LETTER IGGWS
-10348 ; [.3755.0020.0002.10348] # GOTHIC LETTER HWAIR
-10349 ; [.3756.0020.0002.10349] # GOTHIC LETTER OTHAL
-1034A ; [.3757.0020.0002.1034A] # GOTHIC LETTER NINE HUNDRED
-10428 ; [.3758.0020.0002.10428] # DESERET SMALL LETTER LONG I
-10400 ; [.3758.0020.0008.10400] # DESERET CAPITAL LETTER LONG I
-10429 ; [.3759.0020.0002.10429] # DESERET SMALL LETTER LONG E
-10401 ; [.3759.0020.0008.10401] # DESERET CAPITAL LETTER LONG E
-1042A ; [.375A.0020.0002.1042A] # DESERET SMALL LETTER LONG A
-10402 ; [.375A.0020.0008.10402] # DESERET CAPITAL LETTER LONG A
-1042B ; [.375B.0020.0002.1042B] # DESERET SMALL LETTER LONG AH
-10403 ; [.375B.0020.0008.10403] # DESERET CAPITAL LETTER LONG AH
-1042C ; [.375C.0020.0002.1042C] # DESERET SMALL LETTER LONG O
-10404 ; [.375C.0020.0008.10404] # DESERET CAPITAL LETTER LONG O
-1042D ; [.375D.0020.0002.1042D] # DESERET SMALL LETTER LONG OO
-10405 ; [.375D.0020.0008.10405] # DESERET CAPITAL LETTER LONG OO
-1042E ; [.375E.0020.0002.1042E] # DESERET SMALL LETTER SHORT I
-10406 ; [.375E.0020.0008.10406] # DESERET CAPITAL LETTER SHORT I
-1042F ; [.375F.0020.0002.1042F] # DESERET SMALL LETTER SHORT E
-10407 ; [.375F.0020.0008.10407] # DESERET CAPITAL LETTER SHORT E
-10430 ; [.3760.0020.0002.10430] # DESERET SMALL LETTER SHORT A
-10408 ; [.3760.0020.0008.10408] # DESERET CAPITAL LETTER SHORT A
-10431 ; [.3761.0020.0002.10431] # DESERET SMALL LETTER SHORT AH
-10409 ; [.3761.0020.0008.10409] # DESERET CAPITAL LETTER SHORT AH
-10432 ; [.3762.0020.0002.10432] # DESERET SMALL LETTER SHORT O
-1040A ; [.3762.0020.0008.1040A] # DESERET CAPITAL LETTER SHORT O
-10433 ; [.3763.0020.0002.10433] # DESERET SMALL LETTER SHORT OO
-1040B ; [.3763.0020.0008.1040B] # DESERET CAPITAL LETTER SHORT OO
-10434 ; [.3764.0020.0002.10434] # DESERET SMALL LETTER AY
-1040C ; [.3764.0020.0008.1040C] # DESERET CAPITAL LETTER AY
-10435 ; [.3765.0020.0002.10435] # DESERET SMALL LETTER OW
-1040D ; [.3765.0020.0008.1040D] # DESERET CAPITAL LETTER OW
-10436 ; [.3766.0020.0002.10436] # DESERET SMALL LETTER WU
-1040E ; [.3766.0020.0008.1040E] # DESERET CAPITAL LETTER WU
-10437 ; [.3767.0020.0002.10437] # DESERET SMALL LETTER YEE
-1040F ; [.3767.0020.0008.1040F] # DESERET CAPITAL LETTER YEE
-10438 ; [.3768.0020.0002.10438] # DESERET SMALL LETTER H
-10410 ; [.3768.0020.0008.10410] # DESERET CAPITAL LETTER H
-10439 ; [.3769.0020.0002.10439] # DESERET SMALL LETTER PEE
-10411 ; [.3769.0020.0008.10411] # DESERET CAPITAL LETTER PEE
-1043A ; [.376A.0020.0002.1043A] # DESERET SMALL LETTER BEE
-10412 ; [.376A.0020.0008.10412] # DESERET CAPITAL LETTER BEE
-1043B ; [.376B.0020.0002.1043B] # DESERET SMALL LETTER TEE
-10413 ; [.376B.0020.0008.10413] # DESERET CAPITAL LETTER TEE
-1043C ; [.376C.0020.0002.1043C] # DESERET SMALL LETTER DEE
-10414 ; [.376C.0020.0008.10414] # DESERET CAPITAL LETTER DEE
-1043D ; [.376D.0020.0002.1043D] # DESERET SMALL LETTER CHEE
-10415 ; [.376D.0020.0008.10415] # DESERET CAPITAL LETTER CHEE
-1043E ; [.376E.0020.0002.1043E] # DESERET SMALL LETTER JEE
-10416 ; [.376E.0020.0008.10416] # DESERET CAPITAL LETTER JEE
-1043F ; [.376F.0020.0002.1043F] # DESERET SMALL LETTER KAY
-10417 ; [.376F.0020.0008.10417] # DESERET CAPITAL LETTER KAY
-10440 ; [.3770.0020.0002.10440] # DESERET SMALL LETTER GAY
-10418 ; [.3770.0020.0008.10418] # DESERET CAPITAL LETTER GAY
-10441 ; [.3771.0020.0002.10441] # DESERET SMALL LETTER EF
-10419 ; [.3771.0020.0008.10419] # DESERET CAPITAL LETTER EF
-10442 ; [.3772.0020.0002.10442] # DESERET SMALL LETTER VEE
-1041A ; [.3772.0020.0008.1041A] # DESERET CAPITAL LETTER VEE
-10443 ; [.3773.0020.0002.10443] # DESERET SMALL LETTER ETH
-1041B ; [.3773.0020.0008.1041B] # DESERET CAPITAL LETTER ETH
-10444 ; [.3774.0020.0002.10444] # DESERET SMALL LETTER THEE
-1041C ; [.3774.0020.0008.1041C] # DESERET CAPITAL LETTER THEE
-10445 ; [.3775.0020.0002.10445] # DESERET SMALL LETTER ES
-1041D ; [.3775.0020.0008.1041D] # DESERET CAPITAL LETTER ES
-10446 ; [.3776.0020.0002.10446] # DESERET SMALL LETTER ZEE
-1041E ; [.3776.0020.0008.1041E] # DESERET CAPITAL LETTER ZEE
-10447 ; [.3777.0020.0002.10447] # DESERET SMALL LETTER ESH
-1041F ; [.3777.0020.0008.1041F] # DESERET CAPITAL LETTER ESH
-10448 ; [.3778.0020.0002.10448] # DESERET SMALL LETTER ZHEE
-10420 ; [.3778.0020.0008.10420] # DESERET CAPITAL LETTER ZHEE
-10449 ; [.3779.0020.0002.10449] # DESERET SMALL LETTER ER
-10421 ; [.3779.0020.0008.10421] # DESERET CAPITAL LETTER ER
-1044A ; [.377A.0020.0002.1044A] # DESERET SMALL LETTER EL
-10422 ; [.377A.0020.0008.10422] # DESERET CAPITAL LETTER EL
-1044B ; [.377B.0020.0002.1044B] # DESERET SMALL LETTER EM
-10423 ; [.377B.0020.0008.10423] # DESERET CAPITAL LETTER EM
-1044C ; [.377C.0020.0002.1044C] # DESERET SMALL LETTER EN
-10424 ; [.377C.0020.0008.10424] # DESERET CAPITAL LETTER EN
-1044D ; [.377D.0020.0002.1044D] # DESERET SMALL LETTER ENG
-10425 ; [.377D.0020.0008.10425] # DESERET CAPITAL LETTER ENG
-1044E ; [.377E.0020.0002.1044E] # DESERET SMALL LETTER OI
-10426 ; [.377E.0020.0008.10426] # DESERET CAPITAL LETTER OI
-1044F ; [.377F.0020.0002.1044F] # DESERET SMALL LETTER EW
-10427 ; [.377F.0020.0008.10427] # DESERET CAPITAL LETTER EW
-10450 ; [.3780.0020.0002.10450] # SHAVIAN LETTER PEEP
-10451 ; [.3781.0020.0002.10451] # SHAVIAN LETTER TOT
-10452 ; [.3782.0020.0002.10452] # SHAVIAN LETTER KICK
-10453 ; [.3783.0020.0002.10453] # SHAVIAN LETTER FEE
-10454 ; [.3784.0020.0002.10454] # SHAVIAN LETTER THIGH
-10455 ; [.3785.0020.0002.10455] # SHAVIAN LETTER SO
-10456 ; [.3786.0020.0002.10456] # SHAVIAN LETTER SURE
-10457 ; [.3787.0020.0002.10457] # SHAVIAN LETTER CHURCH
-10458 ; [.3788.0020.0002.10458] # SHAVIAN LETTER YEA
-10459 ; [.3789.0020.0002.10459] # SHAVIAN LETTER HUNG
-1045A ; [.378A.0020.0002.1045A] # SHAVIAN LETTER BIB
-1045B ; [.378B.0020.0002.1045B] # SHAVIAN LETTER DEAD
-1045C ; [.378C.0020.0002.1045C] # SHAVIAN LETTER GAG
-1045D ; [.378D.0020.0002.1045D] # SHAVIAN LETTER VOW
-1045E ; [.378E.0020.0002.1045E] # SHAVIAN LETTER THEY
-1045F ; [.378F.0020.0002.1045F] # SHAVIAN LETTER ZOO
-10460 ; [.3790.0020.0002.10460] # SHAVIAN LETTER MEASURE
-10461 ; [.3791.0020.0002.10461] # SHAVIAN LETTER JUDGE
-10462 ; [.3792.0020.0002.10462] # SHAVIAN LETTER WOE
-10463 ; [.3793.0020.0002.10463] # SHAVIAN LETTER HA-HA
-10464 ; [.3794.0020.0002.10464] # SHAVIAN LETTER LOLL
-10465 ; [.3795.0020.0002.10465] # SHAVIAN LETTER MIME
-10466 ; [.3796.0020.0002.10466] # SHAVIAN LETTER IF
-10467 ; [.3797.0020.0002.10467] # SHAVIAN LETTER EGG
-10468 ; [.3798.0020.0002.10468] # SHAVIAN LETTER ASH
-10469 ; [.3799.0020.0002.10469] # SHAVIAN LETTER ADO
-1046A ; [.379A.0020.0002.1046A] # SHAVIAN LETTER ON
-1046B ; [.379B.0020.0002.1046B] # SHAVIAN LETTER WOOL
-1046C ; [.379C.0020.0002.1046C] # SHAVIAN LETTER OUT
-1046D ; [.379D.0020.0002.1046D] # SHAVIAN LETTER AH
-1046E ; [.379E.0020.0002.1046E] # SHAVIAN LETTER ROAR
-1046F ; [.379F.0020.0002.1046F] # SHAVIAN LETTER NUN
-10470 ; [.37A0.0020.0002.10470] # SHAVIAN LETTER EAT
-10471 ; [.37A1.0020.0002.10471] # SHAVIAN LETTER AGE
-10472 ; [.37A2.0020.0002.10472] # SHAVIAN LETTER ICE
-10473 ; [.37A3.0020.0002.10473] # SHAVIAN LETTER UP
-10474 ; [.37A4.0020.0002.10474] # SHAVIAN LETTER OAK
-10475 ; [.37A5.0020.0002.10475] # SHAVIAN LETTER OOZE
-10476 ; [.37A6.0020.0002.10476] # SHAVIAN LETTER OIL
-10477 ; [.37A7.0020.0002.10477] # SHAVIAN LETTER AWE
-10478 ; [.37A8.0020.0002.10478] # SHAVIAN LETTER ARE
-10479 ; [.37A9.0020.0002.10479] # SHAVIAN LETTER OR
-1047A ; [.37AA.0020.0002.1047A] # SHAVIAN LETTER AIR
-1047B ; [.37AB.0020.0002.1047B] # SHAVIAN LETTER ERR
-1047C ; [.37AC.0020.0002.1047C] # SHAVIAN LETTER ARRAY
-1047D ; [.37AD.0020.0002.1047D] # SHAVIAN LETTER EAR
-1047E ; [.37AE.0020.0002.1047E] # SHAVIAN LETTER IAN
-1047F ; [.37AF.0020.0002.1047F] # SHAVIAN LETTER YEW
-10480 ; [.37B0.0020.0002.10480] # OSMANYA LETTER ALEF
-10481 ; [.37B1.0020.0002.10481] # OSMANYA LETTER BA
-10482 ; [.37B2.0020.0002.10482] # OSMANYA LETTER TA
-10483 ; [.37B3.0020.0002.10483] # OSMANYA LETTER JA
-10484 ; [.37B4.0020.0002.10484] # OSMANYA LETTER XA
-10485 ; [.37B5.0020.0002.10485] # OSMANYA LETTER KHA
-10486 ; [.37B6.0020.0002.10486] # OSMANYA LETTER DEEL
-10487 ; [.37B7.0020.0002.10487] # OSMANYA LETTER RA
-10488 ; [.37B8.0020.0002.10488] # OSMANYA LETTER SA
-10489 ; [.37B9.0020.0002.10489] # OSMANYA LETTER SHIIN
-1048A ; [.37BA.0020.0002.1048A] # OSMANYA LETTER DHA
-1048B ; [.37BB.0020.0002.1048B] # OSMANYA LETTER CAYN
-1048C ; [.37BC.0020.0002.1048C] # OSMANYA LETTER GA
-1048D ; [.37BD.0020.0002.1048D] # OSMANYA LETTER FA
-1048E ; [.37BE.0020.0002.1048E] # OSMANYA LETTER QAAF
-1048F ; [.37BF.0020.0002.1048F] # OSMANYA LETTER KAAF
-10490 ; [.37C0.0020.0002.10490] # OSMANYA LETTER LAAN
-10491 ; [.37C1.0020.0002.10491] # OSMANYA LETTER MIIN
-10492 ; [.37C2.0020.0002.10492] # OSMANYA LETTER NUUN
-10493 ; [.37C3.0020.0002.10493] # OSMANYA LETTER WAW
-10494 ; [.37C4.0020.0002.10494] # OSMANYA LETTER HA
-10495 ; [.37C5.0020.0002.10495] # OSMANYA LETTER YA
-10496 ; [.37C6.0020.0002.10496] # OSMANYA LETTER A
-10497 ; [.37C7.0020.0002.10497] # OSMANYA LETTER E
-10498 ; [.37C8.0020.0002.10498] # OSMANYA LETTER I
-10499 ; [.37C9.0020.0002.10499] # OSMANYA LETTER O
-1049A ; [.37CA.0020.0002.1049A] # OSMANYA LETTER U
-1049B ; [.37CB.0020.0002.1049B] # OSMANYA LETTER AA
-1049C ; [.37CC.0020.0002.1049C] # OSMANYA LETTER EE
-1049D ; [.37CD.0020.0002.1049D] # OSMANYA LETTER OO
-10000 ; [.37CE.0020.0002.10000] # LINEAR B SYLLABLE B008 A
-10001 ; [.37CF.0020.0002.10001] # LINEAR B SYLLABLE B038 E
-10002 ; [.37D0.0020.0002.10002] # LINEAR B SYLLABLE B028 I
-10003 ; [.37D1.0020.0002.10003] # LINEAR B SYLLABLE B061 O
-10004 ; [.37D2.0020.0002.10004] # LINEAR B SYLLABLE B010 U
-10005 ; [.37D3.0020.0002.10005] # LINEAR B SYLLABLE B001 DA
-10006 ; [.37D4.0020.0002.10006] # LINEAR B SYLLABLE B045 DE
-10007 ; [.37D5.0020.0002.10007] # LINEAR B SYLLABLE B007 DI
-10008 ; [.37D6.0020.0002.10008] # LINEAR B SYLLABLE B014 DO
-10009 ; [.37D7.0020.0002.10009] # LINEAR B SYLLABLE B051 DU
-1000A ; [.37D8.0020.0002.1000A] # LINEAR B SYLLABLE B057 JA
-1000B ; [.37D9.0020.0002.1000B] # LINEAR B SYLLABLE B046 JE
-1000D ; [.37DA.0020.0002.1000D] # LINEAR B SYLLABLE B036 JO
-1000E ; [.37DB.0020.0002.1000E] # LINEAR B SYLLABLE B065 JU
-1000F ; [.37DC.0020.0002.1000F] # LINEAR B SYLLABLE B077 KA
-10010 ; [.37DD.0020.0002.10010] # LINEAR B SYLLABLE B044 KE
-10011 ; [.37DE.0020.0002.10011] # LINEAR B SYLLABLE B067 KI
-10012 ; [.37DF.0020.0002.10012] # LINEAR B SYLLABLE B070 KO
-10013 ; [.37E0.0020.0002.10013] # LINEAR B SYLLABLE B081 KU
-10014 ; [.37E1.0020.0002.10014] # LINEAR B SYLLABLE B080 MA
-10015 ; [.37E2.0020.0002.10015] # LINEAR B SYLLABLE B013 ME
-10016 ; [.37E3.0020.0002.10016] # LINEAR B SYLLABLE B073 MI
-10017 ; [.37E4.0020.0002.10017] # LINEAR B SYLLABLE B015 MO
-10018 ; [.37E5.0020.0002.10018] # LINEAR B SYLLABLE B023 MU
-10019 ; [.37E6.0020.0002.10019] # LINEAR B SYLLABLE B006 NA
-1001A ; [.37E7.0020.0002.1001A] # LINEAR B SYLLABLE B024 NE
-1001B ; [.37E8.0020.0002.1001B] # LINEAR B SYLLABLE B030 NI
-1001C ; [.37E9.0020.0002.1001C] # LINEAR B SYLLABLE B052 NO
-1001D ; [.37EA.0020.0002.1001D] # LINEAR B SYLLABLE B055 NU
-1001E ; [.37EB.0020.0002.1001E] # LINEAR B SYLLABLE B003 PA
-1001F ; [.37EC.0020.0002.1001F] # LINEAR B SYLLABLE B072 PE
-10020 ; [.37ED.0020.0002.10020] # LINEAR B SYLLABLE B039 PI
-10021 ; [.37EE.0020.0002.10021] # LINEAR B SYLLABLE B011 PO
-10022 ; [.37EF.0020.0002.10022] # LINEAR B SYLLABLE B050 PU
-10023 ; [.37F0.0020.0002.10023] # LINEAR B SYLLABLE B016 QA
-10024 ; [.37F1.0020.0002.10024] # LINEAR B SYLLABLE B078 QE
-10025 ; [.37F2.0020.0002.10025] # LINEAR B SYLLABLE B021 QI
-10026 ; [.37F3.0020.0002.10026] # LINEAR B SYLLABLE B032 QO
-10028 ; [.37F4.0020.0002.10028] # LINEAR B SYLLABLE B060 RA
-10029 ; [.37F5.0020.0002.10029] # LINEAR B SYLLABLE B027 RE
-1002A ; [.37F6.0020.0002.1002A] # LINEAR B SYLLABLE B053 RI
-1002B ; [.37F7.0020.0002.1002B] # LINEAR B SYLLABLE B002 RO
-1002C ; [.37F8.0020.0002.1002C] # LINEAR B SYLLABLE B026 RU
-1002D ; [.37F9.0020.0002.1002D] # LINEAR B SYLLABLE B031 SA
-1002E ; [.37FA.0020.0002.1002E] # LINEAR B SYLLABLE B009 SE
-1002F ; [.37FB.0020.0002.1002F] # LINEAR B SYLLABLE B041 SI
-10030 ; [.37FC.0020.0002.10030] # LINEAR B SYLLABLE B012 SO
-10031 ; [.37FD.0020.0002.10031] # LINEAR B SYLLABLE B058 SU
-10032 ; [.37FE.0020.0002.10032] # LINEAR B SYLLABLE B059 TA
-10033 ; [.37FF.0020.0002.10033] # LINEAR B SYLLABLE B004 TE
-10034 ; [.3800.0020.0002.10034] # LINEAR B SYLLABLE B037 TI
-10035 ; [.3801.0020.0002.10035] # LINEAR B SYLLABLE B005 TO
-10036 ; [.3802.0020.0002.10036] # LINEAR B SYLLABLE B069 TU
-10037 ; [.3803.0020.0002.10037] # LINEAR B SYLLABLE B054 WA
-10038 ; [.3804.0020.0002.10038] # LINEAR B SYLLABLE B075 WE
-10039 ; [.3805.0020.0002.10039] # LINEAR B SYLLABLE B040 WI
-1003A ; [.3806.0020.0002.1003A] # LINEAR B SYLLABLE B042 WO
-1003C ; [.3807.0020.0002.1003C] # LINEAR B SYLLABLE B017 ZA
-1003D ; [.3808.0020.0002.1003D] # LINEAR B SYLLABLE B074 ZE
-1003F ; [.3809.0020.0002.1003F] # LINEAR B SYLLABLE B020 ZO
-10040 ; [.380A.0020.0002.10040] # LINEAR B SYLLABLE B025 A2
-10041 ; [.380B.0020.0002.10041] # LINEAR B SYLLABLE B043 A3
-10042 ; [.380C.0020.0002.10042] # LINEAR B SYLLABLE B085 AU
-10043 ; [.380D.0020.0002.10043] # LINEAR B SYLLABLE B071 DWE
-10044 ; [.380E.0020.0002.10044] # LINEAR B SYLLABLE B090 DWO
-10045 ; [.380F.0020.0002.10045] # LINEAR B SYLLABLE B048 NWA
-10046 ; [.3810.0020.0002.10046] # LINEAR B SYLLABLE B029 PU2
-10047 ; [.3811.0020.0002.10047] # LINEAR B SYLLABLE B062 PTE
-10048 ; [.3812.0020.0002.10048] # LINEAR B SYLLABLE B076 RA2
-10049 ; [.3813.0020.0002.10049] # LINEAR B SYLLABLE B033 RA3
-1004A ; [.3814.0020.0002.1004A] # LINEAR B SYLLABLE B068 RO2
-1004B ; [.3815.0020.0002.1004B] # LINEAR B SYLLABLE B066 TA2
-1004C ; [.3816.0020.0002.1004C] # LINEAR B SYLLABLE B087 TWE
-1004D ; [.3817.0020.0002.1004D] # LINEAR B SYLLABLE B091 TWO
-10050 ; [.3818.0020.0002.10050] # LINEAR B SYMBOL B018
-10051 ; [.3819.0020.0002.10051] # LINEAR B SYMBOL B019
-10052 ; [.381A.0020.0002.10052] # LINEAR B SYMBOL B022
-10053 ; [.381B.0020.0002.10053] # LINEAR B SYMBOL B034
-10054 ; [.381C.0020.0002.10054] # LINEAR B SYMBOL B047
-10055 ; [.381D.0020.0002.10055] # LINEAR B SYMBOL B049
-10056 ; [.381E.0020.0002.10056] # LINEAR B SYMBOL B056
-10057 ; [.381F.0020.0002.10057] # LINEAR B SYMBOL B063
-10058 ; [.3820.0020.0002.10058] # LINEAR B SYMBOL B064
-10059 ; [.3821.0020.0002.10059] # LINEAR B SYMBOL B079
-1005A ; [.3822.0020.0002.1005A] # LINEAR B SYMBOL B082
-1005B ; [.3823.0020.0002.1005B] # LINEAR B SYMBOL B083
-1005C ; [.3824.0020.0002.1005C] # LINEAR B SYMBOL B086
-1005D ; [.3825.0020.0002.1005D] # LINEAR B SYMBOL B089
-10080 ; [.3826.0020.0002.10080] # LINEAR B IDEOGRAM B100 MAN
-10081 ; [.3827.0020.0002.10081] # LINEAR B IDEOGRAM B102 WOMAN
-10082 ; [.3828.0020.0002.10082] # LINEAR B IDEOGRAM B104 DEER
-10083 ; [.3829.0020.0002.10083] # LINEAR B IDEOGRAM B105 EQUID
-10084 ; [.382A.0020.0002.10084] # LINEAR B IDEOGRAM B105F MARE
-10085 ; [.382B.0020.0002.10085] # LINEAR B IDEOGRAM B105M STALLION
-10086 ; [.382C.0020.0002.10086] # LINEAR B IDEOGRAM B106F EWE
-10087 ; [.382D.0020.0002.10087] # LINEAR B IDEOGRAM B106M RAM
-10088 ; [.382E.0020.0002.10088] # LINEAR B IDEOGRAM B107F SHE-GOAT
-10089 ; [.382F.0020.0002.10089] # LINEAR B IDEOGRAM B107M HE-GOAT
-1008A ; [.3830.0020.0002.1008A] # LINEAR B IDEOGRAM B108F SOW
-1008B ; [.3831.0020.0002.1008B] # LINEAR B IDEOGRAM B108M BOAR
-1008C ; [.3832.0020.0002.1008C] # LINEAR B IDEOGRAM B109F COW
-1008D ; [.3833.0020.0002.1008D] # LINEAR B IDEOGRAM B109M BULL
-1008E ; [.3834.0020.0002.1008E] # LINEAR B IDEOGRAM B120 WHEAT
-1008F ; [.3835.0020.0002.1008F] # LINEAR B IDEOGRAM B121 BARLEY
-10090 ; [.3836.0020.0002.10090] # LINEAR B IDEOGRAM B122 OLIVE
-10091 ; [.3837.0020.0002.10091] # LINEAR B IDEOGRAM B123 SPICE
-10092 ; [.3838.0020.0002.10092] # LINEAR B IDEOGRAM B125 CYPERUS
-10093 ; [.3839.0020.0002.10093] # LINEAR B MONOGRAM B127 KAPO
-10094 ; [.383A.0020.0002.10094] # LINEAR B MONOGRAM B128 KANAKO
-10095 ; [.383B.0020.0002.10095] # LINEAR B IDEOGRAM B130 OIL
-10096 ; [.383C.0020.0002.10096] # LINEAR B IDEOGRAM B131 WINE
-10097 ; [.383D.0020.0002.10097] # LINEAR B IDEOGRAM B132
-10098 ; [.383E.0020.0002.10098] # LINEAR B MONOGRAM B133 AREPA
-10099 ; [.383F.0020.0002.10099] # LINEAR B MONOGRAM B135 MERI
-1009A ; [.3840.0020.0002.1009A] # LINEAR B IDEOGRAM B140 BRONZE
-1009B ; [.3841.0020.0002.1009B] # LINEAR B IDEOGRAM B141 GOLD
-1009C ; [.3842.0020.0002.1009C] # LINEAR B IDEOGRAM B142
-1009D ; [.3843.0020.0002.1009D] # LINEAR B IDEOGRAM B145 WOOL
-1009E ; [.3844.0020.0002.1009E] # LINEAR B IDEOGRAM B146
-1009F ; [.3845.0020.0002.1009F] # LINEAR B IDEOGRAM B150
-100A0 ; [.3846.0020.0002.100A0] # LINEAR B IDEOGRAM B151 HORN
-100A1 ; [.3847.0020.0002.100A1] # LINEAR B IDEOGRAM B152
-100A2 ; [.3848.0020.0002.100A2] # LINEAR B IDEOGRAM B153
-100A3 ; [.3849.0020.0002.100A3] # LINEAR B IDEOGRAM B154
-100A4 ; [.384A.0020.0002.100A4] # LINEAR B MONOGRAM B156 TURO2
-100A5 ; [.384B.0020.0002.100A5] # LINEAR B IDEOGRAM B157
-100A6 ; [.384C.0020.0002.100A6] # LINEAR B IDEOGRAM B158
-100A7 ; [.384D.0020.0002.100A7] # LINEAR B IDEOGRAM B159 CLOTH
-100A8 ; [.384E.0020.0002.100A8] # LINEAR B IDEOGRAM B160
-100A9 ; [.384F.0020.0002.100A9] # LINEAR B IDEOGRAM B161
-100AA ; [.3850.0020.0002.100AA] # LINEAR B IDEOGRAM B162 GARMENT
-100AB ; [.3851.0020.0002.100AB] # LINEAR B IDEOGRAM B163 ARMOUR
-100AC ; [.3852.0020.0002.100AC] # LINEAR B IDEOGRAM B164
-100AD ; [.3853.0020.0002.100AD] # LINEAR B IDEOGRAM B165
-100AE ; [.3854.0020.0002.100AE] # LINEAR B IDEOGRAM B166
-100AF ; [.3855.0020.0002.100AF] # LINEAR B IDEOGRAM B167
-100B0 ; [.3856.0020.0002.100B0] # LINEAR B IDEOGRAM B168
-100B1 ; [.3857.0020.0002.100B1] # LINEAR B IDEOGRAM B169
-100B2 ; [.3858.0020.0002.100B2] # LINEAR B IDEOGRAM B170
-100B3 ; [.3859.0020.0002.100B3] # LINEAR B IDEOGRAM B171
-100B4 ; [.385A.0020.0002.100B4] # LINEAR B IDEOGRAM B172
-100B5 ; [.385B.0020.0002.100B5] # LINEAR B IDEOGRAM B173 MONTH
-100B6 ; [.385C.0020.0002.100B6] # LINEAR B IDEOGRAM B174
-100B7 ; [.385D.0020.0002.100B7] # LINEAR B IDEOGRAM B176 TREE
-100B8 ; [.385E.0020.0002.100B8] # LINEAR B IDEOGRAM B177
-100B9 ; [.385F.0020.0002.100B9] # LINEAR B IDEOGRAM B178
-100BA ; [.3860.0020.0002.100BA] # LINEAR B IDEOGRAM B179
-100BB ; [.3861.0020.0002.100BB] # LINEAR B IDEOGRAM B180
-100BC ; [.3862.0020.0002.100BC] # LINEAR B IDEOGRAM B181
-100BD ; [.3863.0020.0002.100BD] # LINEAR B IDEOGRAM B182
-100BE ; [.3864.0020.0002.100BE] # LINEAR B IDEOGRAM B183
-100BF ; [.3865.0020.0002.100BF] # LINEAR B IDEOGRAM B184
-100C0 ; [.3866.0020.0002.100C0] # LINEAR B IDEOGRAM B185
-100C1 ; [.3867.0020.0002.100C1] # LINEAR B IDEOGRAM B189
-100C2 ; [.3868.0020.0002.100C2] # LINEAR B IDEOGRAM B190
-100C3 ; [.3869.0020.0002.100C3] # LINEAR B IDEOGRAM B191 HELMET
-100C4 ; [.386A.0020.0002.100C4] # LINEAR B IDEOGRAM B220 FOOTSTOOL
-100C5 ; [.386B.0020.0002.100C5] # LINEAR B IDEOGRAM B225 BATHTUB
-100C6 ; [.386C.0020.0002.100C6] # LINEAR B IDEOGRAM B230 SPEAR
-100C7 ; [.386D.0020.0002.100C7] # LINEAR B IDEOGRAM B231 ARROW
-100C8 ; [.386E.0020.0002.100C8] # LINEAR B IDEOGRAM B232
-100C9 ; [.386F.0020.0002.100C9] # LINEAR B IDEOGRAM B233 SWORD
-100CA ; [.3870.0020.0002.100CA] # LINEAR B IDEOGRAM B234
-100CB ; [.3871.0020.0002.100CB] # LINEAR B IDEOGRAM B236
-100CC ; [.3872.0020.0002.100CC] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
-100CD ; [.3873.0020.0002.100CD] # LINEAR B IDEOGRAM B241 CHARIOT
-100CE ; [.3874.0020.0002.100CE] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
-100CF ; [.3875.0020.0002.100CF] # LINEAR B IDEOGRAM B243 WHEEL
-100D0 ; [.3876.0020.0002.100D0] # LINEAR B IDEOGRAM B245
-100D1 ; [.3877.0020.0002.100D1] # LINEAR B IDEOGRAM B246
-100D2 ; [.3878.0020.0002.100D2] # LINEAR B MONOGRAM B247 DIPTE
-100D3 ; [.3879.0020.0002.100D3] # LINEAR B IDEOGRAM B248
-100D4 ; [.387A.0020.0002.100D4] # LINEAR B IDEOGRAM B249
-100D5 ; [.387B.0020.0002.100D5] # LINEAR B IDEOGRAM B251
-100D6 ; [.387C.0020.0002.100D6] # LINEAR B IDEOGRAM B252
-100D7 ; [.387D.0020.0002.100D7] # LINEAR B IDEOGRAM B253
-100D8 ; [.387E.0020.0002.100D8] # LINEAR B IDEOGRAM B254 DART
-100D9 ; [.387F.0020.0002.100D9] # LINEAR B IDEOGRAM B255
-100DA ; [.3880.0020.0002.100DA] # LINEAR B IDEOGRAM B256
-100DB ; [.3881.0020.0002.100DB] # LINEAR B IDEOGRAM B257
-100DC ; [.3882.0020.0002.100DC] # LINEAR B IDEOGRAM B258
-100DD ; [.3883.0020.0002.100DD] # LINEAR B IDEOGRAM B259
-100DE ; [.3884.0020.0002.100DE] # LINEAR B IDEOGRAM VESSEL B155
-100DF ; [.3885.0020.0002.100DF] # LINEAR B IDEOGRAM VESSEL B200
-100E0 ; [.3886.0020.0002.100E0] # LINEAR B IDEOGRAM VESSEL B201
-100E1 ; [.3887.0020.0002.100E1] # LINEAR B IDEOGRAM VESSEL B202
-100E2 ; [.3888.0020.0002.100E2] # LINEAR B IDEOGRAM VESSEL B203
-100E3 ; [.3889.0020.0002.100E3] # LINEAR B IDEOGRAM VESSEL B204
-100E4 ; [.388A.0020.0002.100E4] # LINEAR B IDEOGRAM VESSEL B205
-100E5 ; [.388B.0020.0002.100E5] # LINEAR B IDEOGRAM VESSEL B206
-100E6 ; [.388C.0020.0002.100E6] # LINEAR B IDEOGRAM VESSEL B207
-100E7 ; [.388D.0020.0002.100E7] # LINEAR B IDEOGRAM VESSEL B208
-100E8 ; [.388E.0020.0002.100E8] # LINEAR B IDEOGRAM VESSEL B209
-100E9 ; [.388F.0020.0002.100E9] # LINEAR B IDEOGRAM VESSEL B210
-100EA ; [.3890.0020.0002.100EA] # LINEAR B IDEOGRAM VESSEL B211
-100EB ; [.3891.0020.0002.100EB] # LINEAR B IDEOGRAM VESSEL B212
-100EC ; [.3892.0020.0002.100EC] # LINEAR B IDEOGRAM VESSEL B213
-100ED ; [.3893.0020.0002.100ED] # LINEAR B IDEOGRAM VESSEL B214
-100EE ; [.3894.0020.0002.100EE] # LINEAR B IDEOGRAM VESSEL B215
-100EF ; [.3895.0020.0002.100EF] # LINEAR B IDEOGRAM VESSEL B216
-100F0 ; [.3896.0020.0002.100F0] # LINEAR B IDEOGRAM VESSEL B217
-100F1 ; [.3897.0020.0002.100F1] # LINEAR B IDEOGRAM VESSEL B218
-100F2 ; [.3898.0020.0002.100F2] # LINEAR B IDEOGRAM VESSEL B219
-100F3 ; [.3899.0020.0002.100F3] # LINEAR B IDEOGRAM VESSEL B221
-100F4 ; [.389A.0020.0002.100F4] # LINEAR B IDEOGRAM VESSEL B222
-100F5 ; [.389B.0020.0002.100F5] # LINEAR B IDEOGRAM VESSEL B226
-100F6 ; [.389C.0020.0002.100F6] # LINEAR B IDEOGRAM VESSEL B227
-100F7 ; [.389D.0020.0002.100F7] # LINEAR B IDEOGRAM VESSEL B228
-100F8 ; [.389E.0020.0002.100F8] # LINEAR B IDEOGRAM VESSEL B229
-100F9 ; [.389F.0020.0002.100F9] # LINEAR B IDEOGRAM VESSEL B250
-100FA ; [.38A0.0020.0002.100FA] # LINEAR B IDEOGRAM VESSEL B305
-10800 ; [.38A1.0020.0002.10800] # CYPRIOT SYLLABLE A
-10801 ; [.38A2.0020.0002.10801] # CYPRIOT SYLLABLE E
-10802 ; [.38A3.0020.0002.10802] # CYPRIOT SYLLABLE I
-10803 ; [.38A4.0020.0002.10803] # CYPRIOT SYLLABLE O
-10804 ; [.38A5.0020.0002.10804] # CYPRIOT SYLLABLE U
-10805 ; [.38A6.0020.0002.10805] # CYPRIOT SYLLABLE JA
-10808 ; [.38A7.0020.0002.10808] # CYPRIOT SYLLABLE JO
-1080A ; [.38A8.0020.0002.1080A] # CYPRIOT SYLLABLE KA
-1080B ; [.38A9.0020.0002.1080B] # CYPRIOT SYLLABLE KE
-1080C ; [.38AA.0020.0002.1080C] # CYPRIOT SYLLABLE KI
-1080D ; [.38AB.0020.0002.1080D] # CYPRIOT SYLLABLE KO
-1080E ; [.38AC.0020.0002.1080E] # CYPRIOT SYLLABLE KU
-1080F ; [.38AD.0020.0002.1080F] # CYPRIOT SYLLABLE LA
-10810 ; [.38AE.0020.0002.10810] # CYPRIOT SYLLABLE LE
-10811 ; [.38AF.0020.0002.10811] # CYPRIOT SYLLABLE LI
-10812 ; [.38B0.0020.0002.10812] # CYPRIOT SYLLABLE LO
-10813 ; [.38B1.0020.0002.10813] # CYPRIOT SYLLABLE LU
-10814 ; [.38B2.0020.0002.10814] # CYPRIOT SYLLABLE MA
-10815 ; [.38B3.0020.0002.10815] # CYPRIOT SYLLABLE ME
-10816 ; [.38B4.0020.0002.10816] # CYPRIOT SYLLABLE MI
-10817 ; [.38B5.0020.0002.10817] # CYPRIOT SYLLABLE MO
-10818 ; [.38B6.0020.0002.10818] # CYPRIOT SYLLABLE MU
-10819 ; [.38B7.0020.0002.10819] # CYPRIOT SYLLABLE NA
-1081A ; [.38B8.0020.0002.1081A] # CYPRIOT SYLLABLE NE
-1081B ; [.38B9.0020.0002.1081B] # CYPRIOT SYLLABLE NI
-1081C ; [.38BA.0020.0002.1081C] # CYPRIOT SYLLABLE NO
-1081D ; [.38BB.0020.0002.1081D] # CYPRIOT SYLLABLE NU
-1081E ; [.38BC.0020.0002.1081E] # CYPRIOT SYLLABLE PA
-1081F ; [.38BD.0020.0002.1081F] # CYPRIOT SYLLABLE PE
-10820 ; [.38BE.0020.0002.10820] # CYPRIOT SYLLABLE PI
-10821 ; [.38BF.0020.0002.10821] # CYPRIOT SYLLABLE PO
-10822 ; [.38C0.0020.0002.10822] # CYPRIOT SYLLABLE PU
-10823 ; [.38C1.0020.0002.10823] # CYPRIOT SYLLABLE RA
-10824 ; [.38C2.0020.0002.10824] # CYPRIOT SYLLABLE RE
-10825 ; [.38C3.0020.0002.10825] # CYPRIOT SYLLABLE RI
-10826 ; [.38C4.0020.0002.10826] # CYPRIOT SYLLABLE RO
-10827 ; [.38C5.0020.0002.10827] # CYPRIOT SYLLABLE RU
-10828 ; [.38C6.0020.0002.10828] # CYPRIOT SYLLABLE SA
-10829 ; [.38C7.0020.0002.10829] # CYPRIOT SYLLABLE SE
-1082A ; [.38C8.0020.0002.1082A] # CYPRIOT SYLLABLE SI
-1082B ; [.38C9.0020.0002.1082B] # CYPRIOT SYLLABLE SO
-1082C ; [.38CA.0020.0002.1082C] # CYPRIOT SYLLABLE SU
-1082D ; [.38CB.0020.0002.1082D] # CYPRIOT SYLLABLE TA
-1082E ; [.38CC.0020.0002.1082E] # CYPRIOT SYLLABLE TE
-1082F ; [.38CD.0020.0002.1082F] # CYPRIOT SYLLABLE TI
-10830 ; [.38CE.0020.0002.10830] # CYPRIOT SYLLABLE TO
-10831 ; [.38CF.0020.0002.10831] # CYPRIOT SYLLABLE TU
-10832 ; [.38D0.0020.0002.10832] # CYPRIOT SYLLABLE WA
-10833 ; [.38D1.0020.0002.10833] # CYPRIOT SYLLABLE WE
-10834 ; [.38D2.0020.0002.10834] # CYPRIOT SYLLABLE WI
-10835 ; [.38D3.0020.0002.10835] # CYPRIOT SYLLABLE WO
-10837 ; [.38D4.0020.0002.10837] # CYPRIOT SYLLABLE XA
-10838 ; [.38D5.0020.0002.10838] # CYPRIOT SYLLABLE XE
-1083C ; [.38D6.0020.0002.1083C] # CYPRIOT SYLLABLE ZA
-1083F ; [.38D7.0020.0002.1083F] # CYPRIOT SYLLABLE ZO
-10A60 ; [.38D8.0020.0002.10A60] # OLD SOUTH ARABIAN LETTER HE
-10A61 ; [.38D9.0020.0002.10A61] # OLD SOUTH ARABIAN LETTER LAMEDH
-10A62 ; [.38DA.0020.0002.10A62] # OLD SOUTH ARABIAN LETTER HETH
-10A63 ; [.38DB.0020.0002.10A63] # OLD SOUTH ARABIAN LETTER MEM
-10A64 ; [.38DC.0020.0002.10A64] # OLD SOUTH ARABIAN LETTER QOPH
-10A65 ; [.38DD.0020.0002.10A65] # OLD SOUTH ARABIAN LETTER WAW
-10A66 ; [.38DE.0020.0002.10A66] # OLD SOUTH ARABIAN LETTER SHIN
-10A67 ; [.38DF.0020.0002.10A67] # OLD SOUTH ARABIAN LETTER RESH
-10A68 ; [.38E0.0020.0002.10A68] # OLD SOUTH ARABIAN LETTER BETH
-10A69 ; [.38E1.0020.0002.10A69] # OLD SOUTH ARABIAN LETTER TAW
-10A6A ; [.38E2.0020.0002.10A6A] # OLD SOUTH ARABIAN LETTER SAT
-10A6B ; [.38E3.0020.0002.10A6B] # OLD SOUTH ARABIAN LETTER KAPH
-10A6C ; [.38E4.0020.0002.10A6C] # OLD SOUTH ARABIAN LETTER NUN
-10A6D ; [.38E5.0020.0002.10A6D] # OLD SOUTH ARABIAN LETTER KHETH
-10A6E ; [.38E6.0020.0002.10A6E] # OLD SOUTH ARABIAN LETTER SADHE
-10A6F ; [.38E7.0020.0002.10A6F] # OLD SOUTH ARABIAN LETTER SAMEKH
-10A70 ; [.38E8.0020.0002.10A70] # OLD SOUTH ARABIAN LETTER FE
-10A71 ; [.38E9.0020.0002.10A71] # OLD SOUTH ARABIAN LETTER ALEF
-10A72 ; [.38EA.0020.0002.10A72] # OLD SOUTH ARABIAN LETTER AYN
-10A73 ; [.38EB.0020.0002.10A73] # OLD SOUTH ARABIAN LETTER DHADHE
-10A74 ; [.38EC.0020.0002.10A74] # OLD SOUTH ARABIAN LETTER GIMEL
-10A75 ; [.38ED.0020.0002.10A75] # OLD SOUTH ARABIAN LETTER DALETH
-10A76 ; [.38EE.0020.0002.10A76] # OLD SOUTH ARABIAN LETTER GHAYN
-10A77 ; [.38EF.0020.0002.10A77] # OLD SOUTH ARABIAN LETTER TETH
-10A78 ; [.38F0.0020.0002.10A78] # OLD SOUTH ARABIAN LETTER ZAYN
-10A79 ; [.38F1.0020.0002.10A79] # OLD SOUTH ARABIAN LETTER DHALETH
-10A7A ; [.38F2.0020.0002.10A7A] # OLD SOUTH ARABIAN LETTER YODH
-10A7B ; [.38F3.0020.0002.10A7B] # OLD SOUTH ARABIAN LETTER THAW
-10A7C ; [.38F4.0020.0002.10A7C] # OLD SOUTH ARABIAN LETTER THETH
-10B00 ; [.38F5.0020.0002.10B00] # AVESTAN LETTER A
-10B01 ; [.38F6.0020.0002.10B01] # AVESTAN LETTER AA
-10B02 ; [.38F7.0020.0002.10B02] # AVESTAN LETTER AO
-10B03 ; [.38F8.0020.0002.10B03] # AVESTAN LETTER AAO
-10B04 ; [.38F9.0020.0002.10B04] # AVESTAN LETTER AN
-10B05 ; [.38FA.0020.0002.10B05] # AVESTAN LETTER AAN
-10B06 ; [.38FB.0020.0002.10B06] # AVESTAN LETTER AE
-10B07 ; [.38FC.0020.0002.10B07] # AVESTAN LETTER AEE
-10B08 ; [.38FD.0020.0002.10B08] # AVESTAN LETTER E
-10B09 ; [.38FE.0020.0002.10B09] # AVESTAN LETTER EE
-10B0A ; [.38FF.0020.0002.10B0A] # AVESTAN LETTER O
-10B0B ; [.3900.0020.0002.10B0B] # AVESTAN LETTER OO
-10B0C ; [.3901.0020.0002.10B0C] # AVESTAN LETTER I
-10B0D ; [.3902.0020.0002.10B0D] # AVESTAN LETTER II
-10B0E ; [.3903.0020.0002.10B0E] # AVESTAN LETTER U
-10B0F ; [.3904.0020.0002.10B0F] # AVESTAN LETTER UU
-10B10 ; [.3905.0020.0002.10B10] # AVESTAN LETTER KE
-10B11 ; [.3906.0020.0002.10B11] # AVESTAN LETTER XE
-10B12 ; [.3907.0020.0002.10B12] # AVESTAN LETTER XYE
-10B13 ; [.3908.0020.0002.10B13] # AVESTAN LETTER XVE
-10B14 ; [.3909.0020.0002.10B14] # AVESTAN LETTER GE
-10B15 ; [.390A.0020.0002.10B15] # AVESTAN LETTER GGE
-10B16 ; [.390B.0020.0002.10B16] # AVESTAN LETTER GHE
-10B17 ; [.390C.0020.0002.10B17] # AVESTAN LETTER CE
-10B18 ; [.390D.0020.0002.10B18] # AVESTAN LETTER JE
-10B19 ; [.390E.0020.0002.10B19] # AVESTAN LETTER TE
-10B1A ; [.390F.0020.0002.10B1A] # AVESTAN LETTER THE
-10B1B ; [.3910.0020.0002.10B1B] # AVESTAN LETTER DE
-10B1C ; [.3911.0020.0002.10B1C] # AVESTAN LETTER DHE
-10B1D ; [.3912.0020.0002.10B1D] # AVESTAN LETTER TTE
-10B1E ; [.3913.0020.0002.10B1E] # AVESTAN LETTER PE
-10B1F ; [.3914.0020.0002.10B1F] # AVESTAN LETTER FE
-10B20 ; [.3915.0020.0002.10B20] # AVESTAN LETTER BE
-10B21 ; [.3916.0020.0002.10B21] # AVESTAN LETTER BHE
-10B22 ; [.3917.0020.0002.10B22] # AVESTAN LETTER NGE
-10B23 ; [.3918.0020.0002.10B23] # AVESTAN LETTER NGYE
-10B24 ; [.3919.0020.0002.10B24] # AVESTAN LETTER NGVE
-10B25 ; [.391A.0020.0002.10B25] # AVESTAN LETTER NE
-10B26 ; [.391B.0020.0002.10B26] # AVESTAN LETTER NYE
-10B27 ; [.391C.0020.0002.10B27] # AVESTAN LETTER NNE
-10B28 ; [.391D.0020.0002.10B28] # AVESTAN LETTER ME
-10B29 ; [.391E.0020.0002.10B29] # AVESTAN LETTER HME
-10B2A ; [.391F.0020.0002.10B2A] # AVESTAN LETTER YYE
-10B2B ; [.3920.0020.0002.10B2B] # AVESTAN LETTER YE
-10B2C ; [.3921.0020.0002.10B2C] # AVESTAN LETTER VE
-10B2D ; [.3922.0020.0002.10B2D] # AVESTAN LETTER RE
-10B2E ; [.3922.0020.0004.10B2E][.0000.015F.0004.10B2E] # AVESTAN LETTER LE; QQKN
-10B2F ; [.3923.0020.0002.10B2F] # AVESTAN LETTER SE
-10B30 ; [.3924.0020.0002.10B30] # AVESTAN LETTER ZE
-10B31 ; [.3925.0020.0002.10B31] # AVESTAN LETTER SHE
-10B32 ; [.3926.0020.0002.10B32] # AVESTAN LETTER ZHE
-10B33 ; [.3927.0020.0002.10B33] # AVESTAN LETTER SHYE
-10B34 ; [.3928.0020.0002.10B34] # AVESTAN LETTER SSHE
-10B35 ; [.3929.0020.0002.10B35] # AVESTAN LETTER HE
-10840 ; [.392A.0020.0002.10840] # IMPERIAL ARAMAIC LETTER ALEPH
-10841 ; [.392B.0020.0002.10841] # IMPERIAL ARAMAIC LETTER BETH
-10842 ; [.392C.0020.0002.10842] # IMPERIAL ARAMAIC LETTER GIMEL
-10843 ; [.392D.0020.0002.10843] # IMPERIAL ARAMAIC LETTER DALETH
-10844 ; [.392E.0020.0002.10844] # IMPERIAL ARAMAIC LETTER HE
-10845 ; [.392F.0020.0002.10845] # IMPERIAL ARAMAIC LETTER WAW
-10846 ; [.3930.0020.0002.10846] # IMPERIAL ARAMAIC LETTER ZAYIN
-10847 ; [.3931.0020.0002.10847] # IMPERIAL ARAMAIC LETTER HETH
-10848 ; [.3932.0020.0002.10848] # IMPERIAL ARAMAIC LETTER TETH
-10849 ; [.3933.0020.0002.10849] # IMPERIAL ARAMAIC LETTER YODH
-1084A ; [.3934.0020.0002.1084A] # IMPERIAL ARAMAIC LETTER KAPH
-1084B ; [.3935.0020.0002.1084B] # IMPERIAL ARAMAIC LETTER LAMEDH
-1084C ; [.3936.0020.0002.1084C] # IMPERIAL ARAMAIC LETTER MEM
-1084D ; [.3937.0020.0002.1084D] # IMPERIAL ARAMAIC LETTER NUN
-1084E ; [.3938.0020.0002.1084E] # IMPERIAL ARAMAIC LETTER SAMEKH
-1084F ; [.3939.0020.0002.1084F] # IMPERIAL ARAMAIC LETTER AYIN
-10850 ; [.393A.0020.0002.10850] # IMPERIAL ARAMAIC LETTER PE
-10851 ; [.393B.0020.0002.10851] # IMPERIAL ARAMAIC LETTER SADHE
-10852 ; [.393C.0020.0002.10852] # IMPERIAL ARAMAIC LETTER QOPH
-10853 ; [.393D.0020.0002.10853] # IMPERIAL ARAMAIC LETTER RESH
-10854 ; [.393E.0020.0002.10854] # IMPERIAL ARAMAIC LETTER SHIN
-10855 ; [.393F.0020.0002.10855] # IMPERIAL ARAMAIC LETTER TAW
-10B40 ; [.3940.0020.0002.10B40] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
-10B41 ; [.3941.0020.0002.10B41] # INSCRIPTIONAL PARTHIAN LETTER BETH
-10B42 ; [.3942.0020.0002.10B42] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
-10B43 ; [.3943.0020.0002.10B43] # INSCRIPTIONAL PARTHIAN LETTER DALETH
-10B44 ; [.3944.0020.0002.10B44] # INSCRIPTIONAL PARTHIAN LETTER HE
-10B45 ; [.3945.0020.0002.10B45] # INSCRIPTIONAL PARTHIAN LETTER WAW
-10B46 ; [.3946.0020.0002.10B46] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
-10B47 ; [.3947.0020.0002.10B47] # INSCRIPTIONAL PARTHIAN LETTER HETH
-10B48 ; [.3948.0020.0002.10B48] # INSCRIPTIONAL PARTHIAN LETTER TETH
-10B49 ; [.3949.0020.0002.10B49] # INSCRIPTIONAL PARTHIAN LETTER YODH
-10B4A ; [.394A.0020.0002.10B4A] # INSCRIPTIONAL PARTHIAN LETTER KAPH
-10B4B ; [.394B.0020.0002.10B4B] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
-10B4C ; [.394C.0020.0002.10B4C] # INSCRIPTIONAL PARTHIAN LETTER MEM
-10B4D ; [.394D.0020.0002.10B4D] # INSCRIPTIONAL PARTHIAN LETTER NUN
-10B4E ; [.394E.0020.0002.10B4E] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
-10B4F ; [.394F.0020.0002.10B4F] # INSCRIPTIONAL PARTHIAN LETTER AYIN
-10B50 ; [.3950.0020.0002.10B50] # INSCRIPTIONAL PARTHIAN LETTER PE
-10B51 ; [.3951.0020.0002.10B51] # INSCRIPTIONAL PARTHIAN LETTER SADHE
-10B52 ; [.3952.0020.0002.10B52] # INSCRIPTIONAL PARTHIAN LETTER QOPH
-10B53 ; [.3953.0020.0002.10B53] # INSCRIPTIONAL PARTHIAN LETTER RESH
-10B54 ; [.3954.0020.0002.10B54] # INSCRIPTIONAL PARTHIAN LETTER SHIN
-10B55 ; [.3955.0020.0002.10B55] # INSCRIPTIONAL PARTHIAN LETTER TAW
-10B60 ; [.3956.0020.0002.10B60] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
-10B61 ; [.3957.0020.0002.10B61] # INSCRIPTIONAL PAHLAVI LETTER BETH
-10B62 ; [.3958.0020.0002.10B62] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
-10B63 ; [.3959.0020.0002.10B63] # INSCRIPTIONAL PAHLAVI LETTER DALETH
-10B64 ; [.395A.0020.0002.10B64] # INSCRIPTIONAL PAHLAVI LETTER HE
-10B65 ; [.395B.0020.0002.10B65] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
-10B66 ; [.395C.0020.0002.10B66] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
-10B67 ; [.395D.0020.0002.10B67] # INSCRIPTIONAL PAHLAVI LETTER HETH
-10B68 ; [.395E.0020.0002.10B68] # INSCRIPTIONAL PAHLAVI LETTER TETH
-10B69 ; [.395F.0020.0002.10B69] # INSCRIPTIONAL PAHLAVI LETTER YODH
-10B6A ; [.3960.0020.0002.10B6A] # INSCRIPTIONAL PAHLAVI LETTER KAPH
-10B6B ; [.3961.0020.0002.10B6B] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
-10B6C ; [.3962.0020.0002.10B6C] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
-10B6D ; [.3963.0020.0002.10B6D] # INSCRIPTIONAL PAHLAVI LETTER NUN
-10B6E ; [.3964.0020.0002.10B6E] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
-10B6F ; [.3965.0020.0002.10B6F] # INSCRIPTIONAL PAHLAVI LETTER PE
-10B70 ; [.3966.0020.0002.10B70] # INSCRIPTIONAL PAHLAVI LETTER SADHE
-10B71 ; [.3967.0020.0002.10B71] # INSCRIPTIONAL PAHLAVI LETTER SHIN
-10B72 ; [.3968.0020.0002.10B72] # INSCRIPTIONAL PAHLAVI LETTER TAW
-10380 ; [.3969.0020.0002.10380] # UGARITIC LETTER ALPA
-10381 ; [.396A.0020.0002.10381] # UGARITIC LETTER BETA
-10382 ; [.396B.0020.0002.10382] # UGARITIC LETTER GAMLA
-10383 ; [.396C.0020.0002.10383] # UGARITIC LETTER KHA
-10384 ; [.396D.0020.0002.10384] # UGARITIC LETTER DELTA
-10385 ; [.396E.0020.0002.10385] # UGARITIC LETTER HO
-10386 ; [.396F.0020.0002.10386] # UGARITIC LETTER WO
-10387 ; [.3970.0020.0002.10387] # UGARITIC LETTER ZETA
-10388 ; [.3971.0020.0002.10388] # UGARITIC LETTER HOTA
-10389 ; [.3972.0020.0002.10389] # UGARITIC LETTER TET
-1038A ; [.3973.0020.0002.1038A] # UGARITIC LETTER YOD
-1038B ; [.3974.0020.0002.1038B] # UGARITIC LETTER KAF
-1038C ; [.3975.0020.0002.1038C] # UGARITIC LETTER SHIN
-1038D ; [.3976.0020.0002.1038D] # UGARITIC LETTER LAMDA
-1038E ; [.3977.0020.0002.1038E] # UGARITIC LETTER MEM
-1038F ; [.3978.0020.0002.1038F] # UGARITIC LETTER DHAL
-10390 ; [.3979.0020.0002.10390] # UGARITIC LETTER NUN
-10391 ; [.397A.0020.0002.10391] # UGARITIC LETTER ZU
-10392 ; [.397B.0020.0002.10392] # UGARITIC LETTER SAMKA
-10393 ; [.397C.0020.0002.10393] # UGARITIC LETTER AIN
-10394 ; [.397D.0020.0002.10394] # UGARITIC LETTER PU
-10395 ; [.397E.0020.0002.10395] # UGARITIC LETTER SADE
-10396 ; [.397F.0020.0002.10396] # UGARITIC LETTER QOPA
-10397 ; [.3980.0020.0002.10397] # UGARITIC LETTER RASHA
-10398 ; [.3981.0020.0002.10398] # UGARITIC LETTER THANNA
-10399 ; [.3982.0020.0002.10399] # UGARITIC LETTER GHAIN
-1039A ; [.3983.0020.0002.1039A] # UGARITIC LETTER TO
-1039B ; [.3984.0020.0002.1039B] # UGARITIC LETTER I
-1039C ; [.3985.0020.0002.1039C] # UGARITIC LETTER U
-1039D ; [.3986.0020.0002.1039D] # UGARITIC LETTER SSU
-103A0 ; [.3987.0020.0002.103A0] # OLD PERSIAN SIGN A
-103A1 ; [.3988.0020.0002.103A1] # OLD PERSIAN SIGN I
-103A2 ; [.3989.0020.0002.103A2] # OLD PERSIAN SIGN U
-103A3 ; [.398A.0020.0002.103A3] # OLD PERSIAN SIGN KA
-103A4 ; [.398B.0020.0002.103A4] # OLD PERSIAN SIGN KU
-103A5 ; [.398C.0020.0002.103A5] # OLD PERSIAN SIGN GA
-103A6 ; [.398D.0020.0002.103A6] # OLD PERSIAN SIGN GU
-103A7 ; [.398E.0020.0002.103A7] # OLD PERSIAN SIGN XA
-103A8 ; [.398F.0020.0002.103A8] # OLD PERSIAN SIGN CA
-103A9 ; [.3990.0020.0002.103A9] # OLD PERSIAN SIGN JA
-103AA ; [.3991.0020.0002.103AA] # OLD PERSIAN SIGN JI
-103AB ; [.3992.0020.0002.103AB] # OLD PERSIAN SIGN TA
-103AC ; [.3993.0020.0002.103AC] # OLD PERSIAN SIGN TU
-103AD ; [.3994.0020.0002.103AD] # OLD PERSIAN SIGN DA
-103AE ; [.3995.0020.0002.103AE] # OLD PERSIAN SIGN DI
-103AF ; [.3996.0020.0002.103AF] # OLD PERSIAN SIGN DU
-103B0 ; [.3997.0020.0002.103B0] # OLD PERSIAN SIGN THA
-103B1 ; [.3998.0020.0002.103B1] # OLD PERSIAN SIGN PA
-103B2 ; [.3999.0020.0002.103B2] # OLD PERSIAN SIGN BA
-103B3 ; [.399A.0020.0002.103B3] # OLD PERSIAN SIGN FA
-103B4 ; [.399B.0020.0002.103B4] # OLD PERSIAN SIGN NA
-103B5 ; [.399C.0020.0002.103B5] # OLD PERSIAN SIGN NU
-103B6 ; [.399D.0020.0002.103B6] # OLD PERSIAN SIGN MA
-103B7 ; [.399E.0020.0002.103B7] # OLD PERSIAN SIGN MI
-103B8 ; [.399F.0020.0002.103B8] # OLD PERSIAN SIGN MU
-103B9 ; [.39A0.0020.0002.103B9] # OLD PERSIAN SIGN YA
-103BA ; [.39A1.0020.0002.103BA] # OLD PERSIAN SIGN VA
-103BB ; [.39A2.0020.0002.103BB] # OLD PERSIAN SIGN VI
-103BC ; [.39A3.0020.0002.103BC] # OLD PERSIAN SIGN RA
-103BD ; [.39A4.0020.0002.103BD] # OLD PERSIAN SIGN RU
-103BE ; [.39A5.0020.0002.103BE] # OLD PERSIAN SIGN LA
-103BF ; [.39A6.0020.0002.103BF] # OLD PERSIAN SIGN SA
-103C0 ; [.39A7.0020.0002.103C0] # OLD PERSIAN SIGN ZA
-103C1 ; [.39A8.0020.0002.103C1] # OLD PERSIAN SIGN SHA
-103C2 ; [.39A9.0020.0002.103C2] # OLD PERSIAN SIGN SSA
-103C3 ; [.39AA.0020.0002.103C3] # OLD PERSIAN SIGN HA
-103C8 ; [.39AB.0020.0002.103C8] # OLD PERSIAN SIGN AURAMAZDAA
-103C9 ; [.39AC.0020.0002.103C9] # OLD PERSIAN SIGN AURAMAZDAA-2
-103CA ; [.39AD.0020.0002.103CA] # OLD PERSIAN SIGN AURAMAZDAAHA
-103CB ; [.39AE.0020.0002.103CB] # OLD PERSIAN SIGN XSHAAYATHIYA
-103CC ; [.39AF.0020.0002.103CC] # OLD PERSIAN SIGN DAHYAAUSH
-103CD ; [.39B0.0020.0002.103CD] # OLD PERSIAN SIGN DAHYAAUSH-2
-103CE ; [.39B1.0020.0002.103CE] # OLD PERSIAN SIGN BAGA
-103CF ; [.39B2.0020.0002.103CF] # OLD PERSIAN SIGN BUUMISH
-12000 ; [.39B3.0020.0002.12000] # CUNEIFORM SIGN A
-12001 ; [.39B4.0020.0002.12001] # CUNEIFORM SIGN A TIMES A
-12002 ; [.39B5.0020.0002.12002] # CUNEIFORM SIGN A TIMES BAD
-12003 ; [.39B6.0020.0002.12003] # CUNEIFORM SIGN A TIMES GAN2 TENU
-12004 ; [.39B7.0020.0002.12004] # CUNEIFORM SIGN A TIMES HA
-12005 ; [.39B8.0020.0002.12005] # CUNEIFORM SIGN A TIMES IGI
-12006 ; [.39B9.0020.0002.12006] # CUNEIFORM SIGN A TIMES LAGAR GUNU
-12007 ; [.39BA.0020.0002.12007] # CUNEIFORM SIGN A TIMES MUSH
-12008 ; [.39BB.0020.0002.12008] # CUNEIFORM SIGN A TIMES SAG
-12009 ; [.39BC.0020.0002.12009] # CUNEIFORM SIGN A2
-1200A ; [.39BD.0020.0002.1200A] # CUNEIFORM SIGN AB
-1200B ; [.39BE.0020.0002.1200B] # CUNEIFORM SIGN AB TIMES ASH2
-1200C ; [.39BF.0020.0002.1200C] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
-1200D ; [.39C0.0020.0002.1200D] # CUNEIFORM SIGN AB TIMES GAL
-1200E ; [.39C1.0020.0002.1200E] # CUNEIFORM SIGN AB TIMES GAN2 TENU
-1200F ; [.39C2.0020.0002.1200F] # CUNEIFORM SIGN AB TIMES HA
-12010 ; [.39C3.0020.0002.12010] # CUNEIFORM SIGN AB TIMES IGI GUNU
-12011 ; [.39C4.0020.0002.12011] # CUNEIFORM SIGN AB TIMES IMIN
-12012 ; [.39C5.0020.0002.12012] # CUNEIFORM SIGN AB TIMES LAGAB
-12013 ; [.39C6.0020.0002.12013] # CUNEIFORM SIGN AB TIMES SHESH
-12014 ; [.39C7.0020.0002.12014] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
-12015 ; [.39C8.0020.0002.12015] # CUNEIFORM SIGN AB GUNU
-12016 ; [.39C9.0020.0002.12016] # CUNEIFORM SIGN AB2
-12017 ; [.39CA.0020.0002.12017] # CUNEIFORM SIGN AB2 TIMES BALAG
-12018 ; [.39CB.0020.0002.12018] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
-12019 ; [.39CC.0020.0002.12019] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
-1201A ; [.39CD.0020.0002.1201A] # CUNEIFORM SIGN AB2 TIMES SHA3
-1201B ; [.39CE.0020.0002.1201B] # CUNEIFORM SIGN AB2 TIMES TAK4
-1201C ; [.39CF.0020.0002.1201C] # CUNEIFORM SIGN AD
-1201D ; [.39D0.0020.0002.1201D] # CUNEIFORM SIGN AK
-1201E ; [.39D1.0020.0002.1201E] # CUNEIFORM SIGN AK TIMES ERIN2
-1201F ; [.39D2.0020.0002.1201F] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
-12020 ; [.39D3.0020.0002.12020] # CUNEIFORM SIGN AL
-12021 ; [.39D4.0020.0002.12021] # CUNEIFORM SIGN AL TIMES AL
-12022 ; [.39D5.0020.0002.12022] # CUNEIFORM SIGN AL TIMES DIM2
-12023 ; [.39D6.0020.0002.12023] # CUNEIFORM SIGN AL TIMES GISH
-12024 ; [.39D7.0020.0002.12024] # CUNEIFORM SIGN AL TIMES HA
-12025 ; [.39D8.0020.0002.12025] # CUNEIFORM SIGN AL TIMES KAD3
-12026 ; [.39D9.0020.0002.12026] # CUNEIFORM SIGN AL TIMES KI
-12027 ; [.39DA.0020.0002.12027] # CUNEIFORM SIGN AL TIMES SHE
-12028 ; [.39DB.0020.0002.12028] # CUNEIFORM SIGN AL TIMES USH
-12029 ; [.39DC.0020.0002.12029] # CUNEIFORM SIGN ALAN
-1202A ; [.39DD.0020.0002.1202A] # CUNEIFORM SIGN ALEPH
-1202B ; [.39DE.0020.0002.1202B] # CUNEIFORM SIGN AMAR
-1202C ; [.39DF.0020.0002.1202C] # CUNEIFORM SIGN AMAR TIMES SHE
-1202D ; [.39E0.0020.0002.1202D] # CUNEIFORM SIGN AN
-1202E ; [.39E1.0020.0002.1202E] # CUNEIFORM SIGN AN OVER AN
-1202F ; [.39E2.0020.0002.1202F] # CUNEIFORM SIGN AN THREE TIMES
-12030 ; [.39E3.0020.0002.12030] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
-12031 ; [.39E4.0020.0002.12031] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
-12032 ; [.39E5.0020.0002.12032] # CUNEIFORM SIGN ANSHE
-12033 ; [.39E6.0020.0002.12033] # CUNEIFORM SIGN APIN
-12034 ; [.39E7.0020.0002.12034] # CUNEIFORM SIGN ARAD
-12035 ; [.39E8.0020.0002.12035] # CUNEIFORM SIGN ARAD TIMES KUR
-12036 ; [.39E9.0020.0002.12036] # CUNEIFORM SIGN ARKAB
-12037 ; [.39EA.0020.0002.12037] # CUNEIFORM SIGN ASAL2
-12038 ; [.39EB.0020.0002.12038] # CUNEIFORM SIGN ASH
-12039 ; [.39EC.0020.0002.12039] # CUNEIFORM SIGN ASH ZIDA TENU
-1203A ; [.39ED.0020.0002.1203A] # CUNEIFORM SIGN ASH KABA TENU
-1203B ; [.39EE.0020.0002.1203B] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
-1203C ; [.39EF.0020.0002.1203C] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
-1203D ; [.39F0.0020.0002.1203D] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
-1203E ; [.39F1.0020.0002.1203E] # CUNEIFORM SIGN ASH2
-1203F ; [.39F2.0020.0002.1203F] # CUNEIFORM SIGN ASHGAB
-12040 ; [.39F3.0020.0002.12040] # CUNEIFORM SIGN BA
-12041 ; [.39F4.0020.0002.12041] # CUNEIFORM SIGN BAD
-12042 ; [.39F5.0020.0002.12042] # CUNEIFORM SIGN BAG3
-12043 ; [.39F6.0020.0002.12043] # CUNEIFORM SIGN BAHAR2
-12044 ; [.39F7.0020.0002.12044] # CUNEIFORM SIGN BAL
-12045 ; [.39F8.0020.0002.12045] # CUNEIFORM SIGN BAL OVER BAL
-12046 ; [.39F9.0020.0002.12046] # CUNEIFORM SIGN BALAG
-12047 ; [.39FA.0020.0002.12047] # CUNEIFORM SIGN BAR
-12048 ; [.39FB.0020.0002.12048] # CUNEIFORM SIGN BARA2
-12049 ; [.39FC.0020.0002.12049] # CUNEIFORM SIGN BI
-1204A ; [.39FD.0020.0002.1204A] # CUNEIFORM SIGN BI TIMES A
-1204B ; [.39FE.0020.0002.1204B] # CUNEIFORM SIGN BI TIMES GAR
-1204C ; [.39FF.0020.0002.1204C] # CUNEIFORM SIGN BI TIMES IGI GUNU
-1204D ; [.3A00.0020.0002.1204D] # CUNEIFORM SIGN BU
-1204E ; [.3A01.0020.0002.1204E] # CUNEIFORM SIGN BU OVER BU AB
-1204F ; [.3A02.0020.0002.1204F] # CUNEIFORM SIGN BU OVER BU UN
-12050 ; [.3A03.0020.0002.12050] # CUNEIFORM SIGN BU CROSSING BU
-12051 ; [.3A04.0020.0002.12051] # CUNEIFORM SIGN BULUG
-12052 ; [.3A05.0020.0002.12052] # CUNEIFORM SIGN BULUG OVER BULUG
-12053 ; [.3A06.0020.0002.12053] # CUNEIFORM SIGN BUR
-12054 ; [.3A07.0020.0002.12054] # CUNEIFORM SIGN BUR2
-12055 ; [.3A08.0020.0002.12055] # CUNEIFORM SIGN DA
-12056 ; [.3A09.0020.0002.12056] # CUNEIFORM SIGN DAG
-12057 ; [.3A0A.0020.0002.12057] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
-12058 ; [.3A0B.0020.0002.12058] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
-12059 ; [.3A0C.0020.0002.12059] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
-1205A ; [.3A0D.0020.0002.1205A] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
-1205B ; [.3A0E.0020.0002.1205B] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
-1205C ; [.3A0F.0020.0002.1205C] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
-1205D ; [.3A10.0020.0002.1205D] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
-1205E ; [.3A11.0020.0002.1205E] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
-1205F ; [.3A12.0020.0002.1205F] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
-12060 ; [.3A13.0020.0002.12060] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
-12061 ; [.3A14.0020.0002.12061] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
-12062 ; [.3A15.0020.0002.12062] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
-12063 ; [.3A16.0020.0002.12063] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
-12064 ; [.3A17.0020.0002.12064] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
-12065 ; [.3A18.0020.0002.12065] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
-12066 ; [.3A19.0020.0002.12066] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
-12067 ; [.3A1A.0020.0002.12067] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
-12068 ; [.3A1B.0020.0002.12068] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
-12069 ; [.3A1C.0020.0002.12069] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
-1206A ; [.3A1D.0020.0002.1206A] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
-1206B ; [.3A1E.0020.0002.1206B] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
-1206C ; [.3A1F.0020.0002.1206C] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
-1206D ; [.3A20.0020.0002.1206D] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
-1206E ; [.3A21.0020.0002.1206E] # CUNEIFORM SIGN DAM
-1206F ; [.3A22.0020.0002.1206F] # CUNEIFORM SIGN DAR
-12070 ; [.3A23.0020.0002.12070] # CUNEIFORM SIGN DARA3
-12071 ; [.3A24.0020.0002.12071] # CUNEIFORM SIGN DARA4
-12072 ; [.3A25.0020.0002.12072] # CUNEIFORM SIGN DI
-12073 ; [.3A26.0020.0002.12073] # CUNEIFORM SIGN DIB
-12074 ; [.3A27.0020.0002.12074] # CUNEIFORM SIGN DIM
-12075 ; [.3A28.0020.0002.12075] # CUNEIFORM SIGN DIM TIMES SHE
-12076 ; [.3A29.0020.0002.12076] # CUNEIFORM SIGN DIM2
-12077 ; [.3A2A.0020.0002.12077] # CUNEIFORM SIGN DIN
-12078 ; [.3A2B.0020.0002.12078] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
-12079 ; [.3A2C.0020.0002.12079] # CUNEIFORM SIGN DISH
-1207A ; [.3A2D.0020.0002.1207A] # CUNEIFORM SIGN DU
-1207B ; [.3A2E.0020.0002.1207B] # CUNEIFORM SIGN DU OVER DU
-1207C ; [.3A2F.0020.0002.1207C] # CUNEIFORM SIGN DU GUNU
-1207D ; [.3A30.0020.0002.1207D] # CUNEIFORM SIGN DU SHESHIG
-1207E ; [.3A31.0020.0002.1207E] # CUNEIFORM SIGN DUB
-1207F ; [.3A32.0020.0002.1207F] # CUNEIFORM SIGN DUB TIMES ESH2
-12080 ; [.3A33.0020.0002.12080] # CUNEIFORM SIGN DUB2
-12081 ; [.3A34.0020.0002.12081] # CUNEIFORM SIGN DUG
-12082 ; [.3A35.0020.0002.12082] # CUNEIFORM SIGN DUGUD
-12083 ; [.3A36.0020.0002.12083] # CUNEIFORM SIGN DUH
-12084 ; [.3A37.0020.0002.12084] # CUNEIFORM SIGN DUN
-12085 ; [.3A38.0020.0002.12085] # CUNEIFORM SIGN DUN3
-12086 ; [.3A39.0020.0002.12086] # CUNEIFORM SIGN DUN3 GUNU
-12087 ; [.3A3A.0020.0002.12087] # CUNEIFORM SIGN DUN3 GUNU GUNU
-12088 ; [.3A3B.0020.0002.12088] # CUNEIFORM SIGN DUN4
-12089 ; [.3A3C.0020.0002.12089] # CUNEIFORM SIGN DUR2
-1208A ; [.3A3D.0020.0002.1208A] # CUNEIFORM SIGN E
-1208B ; [.3A3E.0020.0002.1208B] # CUNEIFORM SIGN E TIMES PAP
-1208C ; [.3A3F.0020.0002.1208C] # CUNEIFORM SIGN E OVER E NUN OVER NUN
-1208D ; [.3A40.0020.0002.1208D] # CUNEIFORM SIGN E2
-1208E ; [.3A41.0020.0002.1208E] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
-1208F ; [.3A42.0020.0002.1208F] # CUNEIFORM SIGN E2 TIMES GAR
-12090 ; [.3A43.0020.0002.12090] # CUNEIFORM SIGN E2 TIMES MI
-12091 ; [.3A44.0020.0002.12091] # CUNEIFORM SIGN E2 TIMES SAL
-12092 ; [.3A45.0020.0002.12092] # CUNEIFORM SIGN E2 TIMES SHE
-12093 ; [.3A46.0020.0002.12093] # CUNEIFORM SIGN E2 TIMES U
-12094 ; [.3A47.0020.0002.12094] # CUNEIFORM SIGN EDIN
-12095 ; [.3A48.0020.0002.12095] # CUNEIFORM SIGN EGIR
-12096 ; [.3A49.0020.0002.12096] # CUNEIFORM SIGN EL
-12097 ; [.3A4A.0020.0002.12097] # CUNEIFORM SIGN EN
-12098 ; [.3A4B.0020.0002.12098] # CUNEIFORM SIGN EN TIMES GAN2
-12099 ; [.3A4C.0020.0002.12099] # CUNEIFORM SIGN EN TIMES GAN2 TENU
-1209A ; [.3A4D.0020.0002.1209A] # CUNEIFORM SIGN EN TIMES ME
-1209B ; [.3A4E.0020.0002.1209B] # CUNEIFORM SIGN EN CROSSING EN
-1209C ; [.3A4F.0020.0002.1209C] # CUNEIFORM SIGN EN OPPOSING EN
-1209D ; [.3A50.0020.0002.1209D] # CUNEIFORM SIGN EN SQUARED
-1209E ; [.3A51.0020.0002.1209E] # CUNEIFORM SIGN EREN
-1209F ; [.3A52.0020.0002.1209F] # CUNEIFORM SIGN ERIN2
-120A0 ; [.3A53.0020.0002.120A0] # CUNEIFORM SIGN ESH2
-120A1 ; [.3A54.0020.0002.120A1] # CUNEIFORM SIGN EZEN
-120A2 ; [.3A55.0020.0002.120A2] # CUNEIFORM SIGN EZEN TIMES A
-120A3 ; [.3A56.0020.0002.120A3] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
-120A4 ; [.3A57.0020.0002.120A4] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
-120A5 ; [.3A58.0020.0002.120A5] # CUNEIFORM SIGN EZEN TIMES AN
-120A6 ; [.3A59.0020.0002.120A6] # CUNEIFORM SIGN EZEN TIMES BAD
-120A7 ; [.3A5A.0020.0002.120A7] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
-120A8 ; [.3A5B.0020.0002.120A8] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
-120A9 ; [.3A5C.0020.0002.120A9] # CUNEIFORM SIGN EZEN TIMES HA
-120AA ; [.3A5D.0020.0002.120AA] # CUNEIFORM SIGN EZEN TIMES HA GUNU
-120AB ; [.3A5E.0020.0002.120AB] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
-120AC ; [.3A5F.0020.0002.120AC] # CUNEIFORM SIGN EZEN TIMES KASKAL
-120AD ; [.3A60.0020.0002.120AD] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
-120AE ; [.3A61.0020.0002.120AE] # CUNEIFORM SIGN EZEN TIMES KU3
-120AF ; [.3A62.0020.0002.120AF] # CUNEIFORM SIGN EZEN TIMES LA
-120B0 ; [.3A63.0020.0002.120B0] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
-120B1 ; [.3A64.0020.0002.120B1] # CUNEIFORM SIGN EZEN TIMES LI
-120B2 ; [.3A65.0020.0002.120B2] # CUNEIFORM SIGN EZEN TIMES LU
-120B3 ; [.3A66.0020.0002.120B3] # CUNEIFORM SIGN EZEN TIMES U2
-120B4 ; [.3A67.0020.0002.120B4] # CUNEIFORM SIGN EZEN TIMES UD
-120B5 ; [.3A68.0020.0002.120B5] # CUNEIFORM SIGN GA
-120B6 ; [.3A69.0020.0002.120B6] # CUNEIFORM SIGN GA GUNU
-120B7 ; [.3A6A.0020.0002.120B7] # CUNEIFORM SIGN GA2
-120B8 ; [.3A6B.0020.0002.120B8] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
-120B9 ; [.3A6C.0020.0002.120B9] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
-120BA ; [.3A6D.0020.0002.120BA] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
-120BB ; [.3A6E.0020.0002.120BB] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
-120BC ; [.3A6F.0020.0002.120BC] # CUNEIFORM SIGN GA2 TIMES AN
-120BD ; [.3A70.0020.0002.120BD] # CUNEIFORM SIGN GA2 TIMES ASH
-120BE ; [.3A71.0020.0002.120BE] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
-120BF ; [.3A72.0020.0002.120BF] # CUNEIFORM SIGN GA2 TIMES BAD
-120C0 ; [.3A73.0020.0002.120C0] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
-120C1 ; [.3A74.0020.0002.120C1] # CUNEIFORM SIGN GA2 TIMES BUR
-120C2 ; [.3A75.0020.0002.120C2] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
-120C3 ; [.3A76.0020.0002.120C3] # CUNEIFORM SIGN GA2 TIMES DA
-120C4 ; [.3A77.0020.0002.120C4] # CUNEIFORM SIGN GA2 TIMES DI
-120C5 ; [.3A78.0020.0002.120C5] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
-120C6 ; [.3A79.0020.0002.120C6] # CUNEIFORM SIGN GA2 TIMES DUB
-120C7 ; [.3A7A.0020.0002.120C7] # CUNEIFORM SIGN GA2 TIMES EL
-120C8 ; [.3A7B.0020.0002.120C8] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
-120C9 ; [.3A7C.0020.0002.120C9] # CUNEIFORM SIGN GA2 TIMES EN
-120CA ; [.3A7D.0020.0002.120CA] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
-120CB ; [.3A7E.0020.0002.120CB] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
-120CC ; [.3A7F.0020.0002.120CC] # CUNEIFORM SIGN GA2 TIMES GAR
-120CD ; [.3A80.0020.0002.120CD] # CUNEIFORM SIGN GA2 TIMES GI
-120CE ; [.3A81.0020.0002.120CE] # CUNEIFORM SIGN GA2 TIMES GI4
-120CF ; [.3A82.0020.0002.120CF] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
-120D0 ; [.3A83.0020.0002.120D0] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
-120D1 ; [.3A84.0020.0002.120D1] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
-120D2 ; [.3A85.0020.0002.120D2] # CUNEIFORM SIGN GA2 TIMES HAL
-120D3 ; [.3A86.0020.0002.120D3] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
-120D4 ; [.3A87.0020.0002.120D4] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
-120D5 ; [.3A88.0020.0002.120D5] # CUNEIFORM SIGN GA2 TIMES HUB2
-120D6 ; [.3A89.0020.0002.120D6] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
-120D7 ; [.3A8A.0020.0002.120D7] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
-120D8 ; [.3A8B.0020.0002.120D8] # CUNEIFORM SIGN GA2 TIMES KAK
-120D9 ; [.3A8C.0020.0002.120D9] # CUNEIFORM SIGN GA2 TIMES KASKAL
-120DA ; [.3A8D.0020.0002.120DA] # CUNEIFORM SIGN GA2 TIMES KID
-120DB ; [.3A8E.0020.0002.120DB] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
-120DC ; [.3A8F.0020.0002.120DC] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
-120DD ; [.3A90.0020.0002.120DD] # CUNEIFORM SIGN GA2 TIMES LA
-120DE ; [.3A91.0020.0002.120DE] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
-120DF ; [.3A92.0020.0002.120DF] # CUNEIFORM SIGN GA2 TIMES MI
-120E0 ; [.3A93.0020.0002.120E0] # CUNEIFORM SIGN GA2 TIMES NUN
-120E1 ; [.3A94.0020.0002.120E1] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
-120E2 ; [.3A95.0020.0002.120E2] # CUNEIFORM SIGN GA2 TIMES PA
-120E3 ; [.3A96.0020.0002.120E3] # CUNEIFORM SIGN GA2 TIMES SAL
-120E4 ; [.3A97.0020.0002.120E4] # CUNEIFORM SIGN GA2 TIMES SAR
-120E5 ; [.3A98.0020.0002.120E5] # CUNEIFORM SIGN GA2 TIMES SHE
-120E6 ; [.3A99.0020.0002.120E6] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
-120E7 ; [.3A9A.0020.0002.120E7] # CUNEIFORM SIGN GA2 TIMES SHID
-120E8 ; [.3A9B.0020.0002.120E8] # CUNEIFORM SIGN GA2 TIMES SUM
-120E9 ; [.3A9C.0020.0002.120E9] # CUNEIFORM SIGN GA2 TIMES TAK4
-120EA ; [.3A9D.0020.0002.120EA] # CUNEIFORM SIGN GA2 TIMES U
-120EB ; [.3A9E.0020.0002.120EB] # CUNEIFORM SIGN GA2 TIMES UD
-120EC ; [.3A9F.0020.0002.120EC] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
-120ED ; [.3AA0.0020.0002.120ED] # CUNEIFORM SIGN GA2 OVER GA2
-120EE ; [.3AA1.0020.0002.120EE] # CUNEIFORM SIGN GABA
-120EF ; [.3AA2.0020.0002.120EF] # CUNEIFORM SIGN GABA CROSSING GABA
-120F0 ; [.3AA3.0020.0002.120F0] # CUNEIFORM SIGN GAD
-120F1 ; [.3AA4.0020.0002.120F1] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
-120F2 ; [.3AA5.0020.0002.120F2] # CUNEIFORM SIGN GAL
-120F3 ; [.3AA6.0020.0002.120F3] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
-120F4 ; [.3AA7.0020.0002.120F4] # CUNEIFORM SIGN GALAM
-120F5 ; [.3AA8.0020.0002.120F5] # CUNEIFORM SIGN GAM
-120F6 ; [.3AA9.0020.0002.120F6] # CUNEIFORM SIGN GAN
-120F7 ; [.3AAA.0020.0002.120F7] # CUNEIFORM SIGN GAN2
-120F8 ; [.3AAB.0020.0002.120F8] # CUNEIFORM SIGN GAN2 TENU
-120F9 ; [.3AAC.0020.0002.120F9] # CUNEIFORM SIGN GAN2 OVER GAN2
-120FA ; [.3AAD.0020.0002.120FA] # CUNEIFORM SIGN GAN2 CROSSING GAN2
-120FB ; [.3AAE.0020.0002.120FB] # CUNEIFORM SIGN GAR
-120FC ; [.3AAF.0020.0002.120FC] # CUNEIFORM SIGN GAR3
-120FD ; [.3AB0.0020.0002.120FD] # CUNEIFORM SIGN GASHAN
-120FE ; [.3AB1.0020.0002.120FE] # CUNEIFORM SIGN GESHTIN
-120FF ; [.3AB2.0020.0002.120FF] # CUNEIFORM SIGN GESHTIN TIMES KUR
-12100 ; [.3AB3.0020.0002.12100] # CUNEIFORM SIGN GI
-12101 ; [.3AB4.0020.0002.12101] # CUNEIFORM SIGN GI TIMES E
-12102 ; [.3AB5.0020.0002.12102] # CUNEIFORM SIGN GI TIMES U
-12103 ; [.3AB6.0020.0002.12103] # CUNEIFORM SIGN GI CROSSING GI
-12104 ; [.3AB7.0020.0002.12104] # CUNEIFORM SIGN GI4
-12105 ; [.3AB8.0020.0002.12105] # CUNEIFORM SIGN GI4 OVER GI4
-12106 ; [.3AB9.0020.0002.12106] # CUNEIFORM SIGN GI4 CROSSING GI4
-12107 ; [.3ABA.0020.0002.12107] # CUNEIFORM SIGN GIDIM
-12108 ; [.3ABB.0020.0002.12108] # CUNEIFORM SIGN GIR2
-12109 ; [.3ABC.0020.0002.12109] # CUNEIFORM SIGN GIR2 GUNU
-1210A ; [.3ABD.0020.0002.1210A] # CUNEIFORM SIGN GIR3
-1210B ; [.3ABE.0020.0002.1210B] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
-1210C ; [.3ABF.0020.0002.1210C] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
-1210D ; [.3AC0.0020.0002.1210D] # CUNEIFORM SIGN GIR3 TIMES IGI
-1210E ; [.3AC1.0020.0002.1210E] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
-1210F ; [.3AC2.0020.0002.1210F] # CUNEIFORM SIGN GIR3 TIMES PA
-12110 ; [.3AC3.0020.0002.12110] # CUNEIFORM SIGN GISAL
-12111 ; [.3AC4.0020.0002.12111] # CUNEIFORM SIGN GISH
-12112 ; [.3AC5.0020.0002.12112] # CUNEIFORM SIGN GISH CROSSING GISH
-12113 ; [.3AC6.0020.0002.12113] # CUNEIFORM SIGN GISH TIMES BAD
-12114 ; [.3AC7.0020.0002.12114] # CUNEIFORM SIGN GISH TIMES TAK4
-12115 ; [.3AC8.0020.0002.12115] # CUNEIFORM SIGN GISH TENU
-12116 ; [.3AC9.0020.0002.12116] # CUNEIFORM SIGN GU
-12117 ; [.3ACA.0020.0002.12117] # CUNEIFORM SIGN GU CROSSING GU
-12118 ; [.3ACB.0020.0002.12118] # CUNEIFORM SIGN GU2
-12119 ; [.3ACC.0020.0002.12119] # CUNEIFORM SIGN GU2 TIMES KAK
-1211A ; [.3ACD.0020.0002.1211A] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
-1211B ; [.3ACE.0020.0002.1211B] # CUNEIFORM SIGN GU2 TIMES NUN
-1211C ; [.3ACF.0020.0002.1211C] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
-1211D ; [.3AD0.0020.0002.1211D] # CUNEIFORM SIGN GU2 GUNU
-1211E ; [.3AD1.0020.0002.1211E] # CUNEIFORM SIGN GUD
-1211F ; [.3AD2.0020.0002.1211F] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
-12120 ; [.3AD3.0020.0002.12120] # CUNEIFORM SIGN GUD TIMES KUR
-12121 ; [.3AD4.0020.0002.12121] # CUNEIFORM SIGN GUD OVER GUD LUGAL
-12122 ; [.3AD5.0020.0002.12122] # CUNEIFORM SIGN GUL
-12123 ; [.3AD6.0020.0002.12123] # CUNEIFORM SIGN GUM
-12124 ; [.3AD7.0020.0002.12124] # CUNEIFORM SIGN GUM TIMES SHE
-12125 ; [.3AD8.0020.0002.12125] # CUNEIFORM SIGN GUR
-12126 ; [.3AD9.0020.0002.12126] # CUNEIFORM SIGN GUR7
-12127 ; [.3ADA.0020.0002.12127] # CUNEIFORM SIGN GURUN
-12128 ; [.3ADB.0020.0002.12128] # CUNEIFORM SIGN GURUSH
-12129 ; [.3ADC.0020.0002.12129] # CUNEIFORM SIGN HA
-1212A ; [.3ADD.0020.0002.1212A] # CUNEIFORM SIGN HA TENU
-1212B ; [.3ADE.0020.0002.1212B] # CUNEIFORM SIGN HA GUNU
-1212C ; [.3ADF.0020.0002.1212C] # CUNEIFORM SIGN HAL
-1212D ; [.3AE0.0020.0002.1212D] # CUNEIFORM SIGN HI
-1212E ; [.3AE1.0020.0002.1212E] # CUNEIFORM SIGN HI TIMES ASH
-1212F ; [.3AE2.0020.0002.1212F] # CUNEIFORM SIGN HI TIMES ASH2
-12130 ; [.3AE3.0020.0002.12130] # CUNEIFORM SIGN HI TIMES BAD
-12131 ; [.3AE4.0020.0002.12131] # CUNEIFORM SIGN HI TIMES DISH
-12132 ; [.3AE5.0020.0002.12132] # CUNEIFORM SIGN HI TIMES GAD
-12133 ; [.3AE6.0020.0002.12133] # CUNEIFORM SIGN HI TIMES KIN
-12134 ; [.3AE7.0020.0002.12134] # CUNEIFORM SIGN HI TIMES NUN
-12135 ; [.3AE8.0020.0002.12135] # CUNEIFORM SIGN HI TIMES SHE
-12136 ; [.3AE9.0020.0002.12136] # CUNEIFORM SIGN HI TIMES U
-12137 ; [.3AEA.0020.0002.12137] # CUNEIFORM SIGN HU
-12138 ; [.3AEB.0020.0002.12138] # CUNEIFORM SIGN HUB2
-12139 ; [.3AEC.0020.0002.12139] # CUNEIFORM SIGN HUB2 TIMES AN
-1213A ; [.3AED.0020.0002.1213A] # CUNEIFORM SIGN HUB2 TIMES HAL
-1213B ; [.3AEE.0020.0002.1213B] # CUNEIFORM SIGN HUB2 TIMES KASKAL
-1213C ; [.3AEF.0020.0002.1213C] # CUNEIFORM SIGN HUB2 TIMES LISH
-1213D ; [.3AF0.0020.0002.1213D] # CUNEIFORM SIGN HUB2 TIMES UD
-1213E ; [.3AF1.0020.0002.1213E] # CUNEIFORM SIGN HUL2
-1213F ; [.3AF2.0020.0002.1213F] # CUNEIFORM SIGN I
-12140 ; [.3AF3.0020.0002.12140] # CUNEIFORM SIGN I A
-12141 ; [.3AF4.0020.0002.12141] # CUNEIFORM SIGN IB
-12142 ; [.3AF5.0020.0002.12142] # CUNEIFORM SIGN IDIM
-12143 ; [.3AF6.0020.0002.12143] # CUNEIFORM SIGN IDIM OVER IDIM BUR
-12144 ; [.3AF7.0020.0002.12144] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
-12145 ; [.3AF8.0020.0002.12145] # CUNEIFORM SIGN IG
-12146 ; [.3AF9.0020.0002.12146] # CUNEIFORM SIGN IGI
-12147 ; [.3AFA.0020.0002.12147] # CUNEIFORM SIGN IGI DIB
-12148 ; [.3AFB.0020.0002.12148] # CUNEIFORM SIGN IGI RI
-12149 ; [.3AFC.0020.0002.12149] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
-1214A ; [.3AFD.0020.0002.1214A] # CUNEIFORM SIGN IGI GUNU
-1214B ; [.3AFE.0020.0002.1214B] # CUNEIFORM SIGN IL
-1214C ; [.3AFF.0020.0002.1214C] # CUNEIFORM SIGN IL TIMES GAN2 TENU
-1214D ; [.3B00.0020.0002.1214D] # CUNEIFORM SIGN IL2
-1214E ; [.3B01.0020.0002.1214E] # CUNEIFORM SIGN IM
-1214F ; [.3B02.0020.0002.1214F] # CUNEIFORM SIGN IM TIMES TAK4
-12150 ; [.3B03.0020.0002.12150] # CUNEIFORM SIGN IM CROSSING IM
-12151 ; [.3B04.0020.0002.12151] # CUNEIFORM SIGN IM OPPOSING IM
-12152 ; [.3B05.0020.0002.12152] # CUNEIFORM SIGN IM SQUARED
-12153 ; [.3B06.0020.0002.12153] # CUNEIFORM SIGN IMIN
-12154 ; [.3B07.0020.0002.12154] # CUNEIFORM SIGN IN
-12155 ; [.3B08.0020.0002.12155] # CUNEIFORM SIGN IR
-12156 ; [.3B09.0020.0002.12156] # CUNEIFORM SIGN ISH
-12157 ; [.3B0A.0020.0002.12157] # CUNEIFORM SIGN KA
-12158 ; [.3B0B.0020.0002.12158] # CUNEIFORM SIGN KA TIMES A
-12159 ; [.3B0C.0020.0002.12159] # CUNEIFORM SIGN KA TIMES AD
-1215A ; [.3B0D.0020.0002.1215A] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
-1215B ; [.3B0E.0020.0002.1215B] # CUNEIFORM SIGN KA TIMES ASH2
-1215C ; [.3B0F.0020.0002.1215C] # CUNEIFORM SIGN KA TIMES BAD
-1215D ; [.3B10.0020.0002.1215D] # CUNEIFORM SIGN KA TIMES BALAG
-1215E ; [.3B11.0020.0002.1215E] # CUNEIFORM SIGN KA TIMES BAR
-1215F ; [.3B12.0020.0002.1215F] # CUNEIFORM SIGN KA TIMES BI
-12160 ; [.3B13.0020.0002.12160] # CUNEIFORM SIGN KA TIMES ERIN2
-12161 ; [.3B14.0020.0002.12161] # CUNEIFORM SIGN KA TIMES ESH2
-12162 ; [.3B15.0020.0002.12162] # CUNEIFORM SIGN KA TIMES GA
-12163 ; [.3B16.0020.0002.12163] # CUNEIFORM SIGN KA TIMES GAL
-12164 ; [.3B17.0020.0002.12164] # CUNEIFORM SIGN KA TIMES GAN2 TENU
-12165 ; [.3B18.0020.0002.12165] # CUNEIFORM SIGN KA TIMES GAR
-12166 ; [.3B19.0020.0002.12166] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
-12167 ; [.3B1A.0020.0002.12167] # CUNEIFORM SIGN KA TIMES GI
-12168 ; [.3B1B.0020.0002.12168] # CUNEIFORM SIGN KA TIMES GIR2
-12169 ; [.3B1C.0020.0002.12169] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
-1216A ; [.3B1D.0020.0002.1216A] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
-1216B ; [.3B1E.0020.0002.1216B] # CUNEIFORM SIGN KA TIMES GU
-1216C ; [.3B1F.0020.0002.1216C] # CUNEIFORM SIGN KA TIMES GUR7
-1216D ; [.3B20.0020.0002.1216D] # CUNEIFORM SIGN KA TIMES IGI
-1216E ; [.3B21.0020.0002.1216E] # CUNEIFORM SIGN KA TIMES IM
-1216F ; [.3B22.0020.0002.1216F] # CUNEIFORM SIGN KA TIMES KAK
-12170 ; [.3B23.0020.0002.12170] # CUNEIFORM SIGN KA TIMES KI
-12171 ; [.3B24.0020.0002.12171] # CUNEIFORM SIGN KA TIMES KID
-12172 ; [.3B25.0020.0002.12172] # CUNEIFORM SIGN KA TIMES LI
-12173 ; [.3B26.0020.0002.12173] # CUNEIFORM SIGN KA TIMES LU
-12174 ; [.3B27.0020.0002.12174] # CUNEIFORM SIGN KA TIMES ME
-12175 ; [.3B28.0020.0002.12175] # CUNEIFORM SIGN KA TIMES ME PLUS DU
-12176 ; [.3B29.0020.0002.12176] # CUNEIFORM SIGN KA TIMES ME PLUS GI
-12177 ; [.3B2A.0020.0002.12177] # CUNEIFORM SIGN KA TIMES ME PLUS TE
-12178 ; [.3B2B.0020.0002.12178] # CUNEIFORM SIGN KA TIMES MI
-12179 ; [.3B2C.0020.0002.12179] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
-1217A ; [.3B2D.0020.0002.1217A] # CUNEIFORM SIGN KA TIMES NE
-1217B ; [.3B2E.0020.0002.1217B] # CUNEIFORM SIGN KA TIMES NUN
-1217C ; [.3B2F.0020.0002.1217C] # CUNEIFORM SIGN KA TIMES PI
-1217D ; [.3B30.0020.0002.1217D] # CUNEIFORM SIGN KA TIMES RU
-1217E ; [.3B31.0020.0002.1217E] # CUNEIFORM SIGN KA TIMES SA
-1217F ; [.3B32.0020.0002.1217F] # CUNEIFORM SIGN KA TIMES SAR
-12180 ; [.3B33.0020.0002.12180] # CUNEIFORM SIGN KA TIMES SHA
-12181 ; [.3B34.0020.0002.12181] # CUNEIFORM SIGN KA TIMES SHE
-12182 ; [.3B35.0020.0002.12182] # CUNEIFORM SIGN KA TIMES SHID
-12183 ; [.3B36.0020.0002.12183] # CUNEIFORM SIGN KA TIMES SHU
-12184 ; [.3B37.0020.0002.12184] # CUNEIFORM SIGN KA TIMES SIG
-12185 ; [.3B38.0020.0002.12185] # CUNEIFORM SIGN KA TIMES SUHUR
-12186 ; [.3B39.0020.0002.12186] # CUNEIFORM SIGN KA TIMES TAR
-12187 ; [.3B3A.0020.0002.12187] # CUNEIFORM SIGN KA TIMES U
-12188 ; [.3B3B.0020.0002.12188] # CUNEIFORM SIGN KA TIMES U2
-12189 ; [.3B3C.0020.0002.12189] # CUNEIFORM SIGN KA TIMES UD
-1218A ; [.3B3D.0020.0002.1218A] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
-1218B ; [.3B3E.0020.0002.1218B] # CUNEIFORM SIGN KA TIMES USH
-1218C ; [.3B3F.0020.0002.1218C] # CUNEIFORM SIGN KA TIMES ZI
-1218D ; [.3B40.0020.0002.1218D] # CUNEIFORM SIGN KA2
-1218E ; [.3B41.0020.0002.1218E] # CUNEIFORM SIGN KA2 CROSSING KA2
-1218F ; [.3B42.0020.0002.1218F] # CUNEIFORM SIGN KAB
-12190 ; [.3B43.0020.0002.12190] # CUNEIFORM SIGN KAD2
-12191 ; [.3B44.0020.0002.12191] # CUNEIFORM SIGN KAD3
-12192 ; [.3B45.0020.0002.12192] # CUNEIFORM SIGN KAD4
-12193 ; [.3B46.0020.0002.12193] # CUNEIFORM SIGN KAD5
-12194 ; [.3B47.0020.0002.12194] # CUNEIFORM SIGN KAD5 OVER KAD5
-12195 ; [.3B48.0020.0002.12195] # CUNEIFORM SIGN KAK
-12196 ; [.3B49.0020.0002.12196] # CUNEIFORM SIGN KAK TIMES IGI GUNU
-12197 ; [.3B4A.0020.0002.12197] # CUNEIFORM SIGN KAL
-12198 ; [.3B4B.0020.0002.12198] # CUNEIFORM SIGN KAL TIMES BAD
-12199 ; [.3B4C.0020.0002.12199] # CUNEIFORM SIGN KAL CROSSING KAL
-1219A ; [.3B4D.0020.0002.1219A] # CUNEIFORM SIGN KAM2
-1219B ; [.3B4E.0020.0002.1219B] # CUNEIFORM SIGN KAM4
-1219C ; [.3B4F.0020.0002.1219C] # CUNEIFORM SIGN KASKAL
-1219D ; [.3B50.0020.0002.1219D] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219E ; [.3B51.0020.0002.1219E] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
-1219F ; [.3B52.0020.0002.1219F] # CUNEIFORM SIGN KESH2
-121A0 ; [.3B53.0020.0002.121A0] # CUNEIFORM SIGN KI
-121A1 ; [.3B54.0020.0002.121A1] # CUNEIFORM SIGN KI TIMES BAD
-121A2 ; [.3B55.0020.0002.121A2] # CUNEIFORM SIGN KI TIMES U
-121A3 ; [.3B56.0020.0002.121A3] # CUNEIFORM SIGN KI TIMES UD
-121A4 ; [.3B57.0020.0002.121A4] # CUNEIFORM SIGN KID
-121A5 ; [.3B58.0020.0002.121A5] # CUNEIFORM SIGN KIN
-121A6 ; [.3B59.0020.0002.121A6] # CUNEIFORM SIGN KISAL
-121A7 ; [.3B5A.0020.0002.121A7] # CUNEIFORM SIGN KISH
-121A8 ; [.3B5B.0020.0002.121A8] # CUNEIFORM SIGN KISIM5
-121A9 ; [.3B5C.0020.0002.121A9] # CUNEIFORM SIGN KISIM5 OVER KISIM5
-121AA ; [.3B5D.0020.0002.121AA] # CUNEIFORM SIGN KU
-121AB ; [.3B5E.0020.0002.121AB] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
-121AC ; [.3B5F.0020.0002.121AC] # CUNEIFORM SIGN KU3
-121AD ; [.3B60.0020.0002.121AD] # CUNEIFORM SIGN KU4
-121AE ; [.3B61.0020.0002.121AE] # CUNEIFORM SIGN KU4 VARIANT FORM
-121AF ; [.3B62.0020.0002.121AF] # CUNEIFORM SIGN KU7
-121B0 ; [.3B63.0020.0002.121B0] # CUNEIFORM SIGN KUL
-121B1 ; [.3B64.0020.0002.121B1] # CUNEIFORM SIGN KUL GUNU
-121B2 ; [.3B65.0020.0002.121B2] # CUNEIFORM SIGN KUN
-121B3 ; [.3B66.0020.0002.121B3] # CUNEIFORM SIGN KUR
-121B4 ; [.3B67.0020.0002.121B4] # CUNEIFORM SIGN KUR OPPOSING KUR
-121B5 ; [.3B68.0020.0002.121B5] # CUNEIFORM SIGN KUSHU2
-121B6 ; [.3B69.0020.0002.121B6] # CUNEIFORM SIGN KWU318
-121B7 ; [.3B6A.0020.0002.121B7] # CUNEIFORM SIGN LA
-121B8 ; [.3B6B.0020.0002.121B8] # CUNEIFORM SIGN LAGAB
-121B9 ; [.3B6C.0020.0002.121B9] # CUNEIFORM SIGN LAGAB TIMES A
-121BA ; [.3B6D.0020.0002.121BA] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
-121BB ; [.3B6E.0020.0002.121BB] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
-121BC ; [.3B6F.0020.0002.121BC] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
-121BD ; [.3B70.0020.0002.121BD] # CUNEIFORM SIGN LAGAB TIMES AL
-121BE ; [.3B71.0020.0002.121BE] # CUNEIFORM SIGN LAGAB TIMES AN
-121BF ; [.3B72.0020.0002.121BF] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
-121C0 ; [.3B73.0020.0002.121C0] # CUNEIFORM SIGN LAGAB TIMES BAD
-121C1 ; [.3B74.0020.0002.121C1] # CUNEIFORM SIGN LAGAB TIMES BI
-121C2 ; [.3B75.0020.0002.121C2] # CUNEIFORM SIGN LAGAB TIMES DAR
-121C3 ; [.3B76.0020.0002.121C3] # CUNEIFORM SIGN LAGAB TIMES EN
-121C4 ; [.3B77.0020.0002.121C4] # CUNEIFORM SIGN LAGAB TIMES GA
-121C5 ; [.3B78.0020.0002.121C5] # CUNEIFORM SIGN LAGAB TIMES GAR
-121C6 ; [.3B79.0020.0002.121C6] # CUNEIFORM SIGN LAGAB TIMES GUD
-121C7 ; [.3B7A.0020.0002.121C7] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
-121C8 ; [.3B7B.0020.0002.121C8] # CUNEIFORM SIGN LAGAB TIMES HA
-121C9 ; [.3B7C.0020.0002.121C9] # CUNEIFORM SIGN LAGAB TIMES HAL
-121CA ; [.3B7D.0020.0002.121CA] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
-121CB ; [.3B7E.0020.0002.121CB] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
-121CC ; [.3B7F.0020.0002.121CC] # CUNEIFORM SIGN LAGAB TIMES IM
-121CD ; [.3B80.0020.0002.121CD] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
-121CE ; [.3B81.0020.0002.121CE] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
-121CF ; [.3B82.0020.0002.121CF] # CUNEIFORM SIGN LAGAB TIMES KI
-121D0 ; [.3B83.0020.0002.121D0] # CUNEIFORM SIGN LAGAB TIMES KIN
-121D1 ; [.3B84.0020.0002.121D1] # CUNEIFORM SIGN LAGAB TIMES KU3
-121D2 ; [.3B85.0020.0002.121D2] # CUNEIFORM SIGN LAGAB TIMES KUL
-121D3 ; [.3B86.0020.0002.121D3] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
-121D4 ; [.3B87.0020.0002.121D4] # CUNEIFORM SIGN LAGAB TIMES LAGAB
-121D5 ; [.3B88.0020.0002.121D5] # CUNEIFORM SIGN LAGAB TIMES LISH
-121D6 ; [.3B89.0020.0002.121D6] # CUNEIFORM SIGN LAGAB TIMES LU
-121D7 ; [.3B8A.0020.0002.121D7] # CUNEIFORM SIGN LAGAB TIMES LUL
-121D8 ; [.3B8B.0020.0002.121D8] # CUNEIFORM SIGN LAGAB TIMES ME
-121D9 ; [.3B8C.0020.0002.121D9] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
-121DA ; [.3B8D.0020.0002.121DA] # CUNEIFORM SIGN LAGAB TIMES MUSH
-121DB ; [.3B8E.0020.0002.121DB] # CUNEIFORM SIGN LAGAB TIMES NE
-121DC ; [.3B8F.0020.0002.121DC] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
-121DD ; [.3B90.0020.0002.121DD] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
-121DE ; [.3B91.0020.0002.121DE] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
-121DF ; [.3B92.0020.0002.121DF] # CUNEIFORM SIGN LAGAB TIMES SHU2
-121E0 ; [.3B93.0020.0002.121E0] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
-121E1 ; [.3B94.0020.0002.121E1] # CUNEIFORM SIGN LAGAB TIMES SUM
-121E2 ; [.3B95.0020.0002.121E2] # CUNEIFORM SIGN LAGAB TIMES TAG
-121E3 ; [.3B96.0020.0002.121E3] # CUNEIFORM SIGN LAGAB TIMES TAK4
-121E4 ; [.3B97.0020.0002.121E4] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
-121E5 ; [.3B98.0020.0002.121E5] # CUNEIFORM SIGN LAGAB TIMES U
-121E6 ; [.3B99.0020.0002.121E6] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
-121E7 ; [.3B9A.0020.0002.121E7] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
-121E8 ; [.3B9B.0020.0002.121E8] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
-121E9 ; [.3B9C.0020.0002.121E9] # CUNEIFORM SIGN LAGAB TIMES UD
-121EA ; [.3B9D.0020.0002.121EA] # CUNEIFORM SIGN LAGAB TIMES USH
-121EB ; [.3B9E.0020.0002.121EB] # CUNEIFORM SIGN LAGAB SQUARED
-121EC ; [.3B9F.0020.0002.121EC] # CUNEIFORM SIGN LAGAR
-121ED ; [.3BA0.0020.0002.121ED] # CUNEIFORM SIGN LAGAR TIMES SHE
-121EE ; [.3BA1.0020.0002.121EE] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
-121EF ; [.3BA2.0020.0002.121EF] # CUNEIFORM SIGN LAGAR GUNU
-121F0 ; [.3BA3.0020.0002.121F0] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
-121F1 ; [.3BA4.0020.0002.121F1] # CUNEIFORM SIGN LAHSHU
-121F2 ; [.3BA5.0020.0002.121F2] # CUNEIFORM SIGN LAL
-121F3 ; [.3BA6.0020.0002.121F3] # CUNEIFORM SIGN LAL TIMES LAL
-121F4 ; [.3BA7.0020.0002.121F4] # CUNEIFORM SIGN LAM
-121F5 ; [.3BA8.0020.0002.121F5] # CUNEIFORM SIGN LAM TIMES KUR
-121F6 ; [.3BA9.0020.0002.121F6] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
-121F7 ; [.3BAA.0020.0002.121F7] # CUNEIFORM SIGN LI
-121F8 ; [.3BAB.0020.0002.121F8] # CUNEIFORM SIGN LIL
-121F9 ; [.3BAC.0020.0002.121F9] # CUNEIFORM SIGN LIMMU2
-121FA ; [.3BAD.0020.0002.121FA] # CUNEIFORM SIGN LISH
-121FB ; [.3BAE.0020.0002.121FB] # CUNEIFORM SIGN LU
-121FC ; [.3BAF.0020.0002.121FC] # CUNEIFORM SIGN LU TIMES BAD
-121FD ; [.3BB0.0020.0002.121FD] # CUNEIFORM SIGN LU2
-121FE ; [.3BB1.0020.0002.121FE] # CUNEIFORM SIGN LU2 TIMES AL
-121FF ; [.3BB2.0020.0002.121FF] # CUNEIFORM SIGN LU2 TIMES BAD
-12200 ; [.3BB3.0020.0002.12200] # CUNEIFORM SIGN LU2 TIMES ESH2
-12201 ; [.3BB4.0020.0002.12201] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
-12202 ; [.3BB5.0020.0002.12202] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
-12203 ; [.3BB6.0020.0002.12203] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
-12204 ; [.3BB7.0020.0002.12204] # CUNEIFORM SIGN LU2 TIMES IM
-12205 ; [.3BB8.0020.0002.12205] # CUNEIFORM SIGN LU2 TIMES KAD2
-12206 ; [.3BB9.0020.0002.12206] # CUNEIFORM SIGN LU2 TIMES KAD3
-12207 ; [.3BBA.0020.0002.12207] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
-12208 ; [.3BBB.0020.0002.12208] # CUNEIFORM SIGN LU2 TIMES KI
-12209 ; [.3BBC.0020.0002.12209] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
-1220A ; [.3BBD.0020.0002.1220A] # CUNEIFORM SIGN LU2 TIMES LAGAB
-1220B ; [.3BBE.0020.0002.1220B] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
-1220C ; [.3BBF.0020.0002.1220C] # CUNEIFORM SIGN LU2 TIMES NE
-1220D ; [.3BC0.0020.0002.1220D] # CUNEIFORM SIGN LU2 TIMES NU
-1220E ; [.3BC1.0020.0002.1220E] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
-1220F ; [.3BC2.0020.0002.1220F] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
-12210 ; [.3BC3.0020.0002.12210] # CUNEIFORM SIGN LU2 TIMES TUG2
-12211 ; [.3BC4.0020.0002.12211] # CUNEIFORM SIGN LU2 TENU
-12212 ; [.3BC5.0020.0002.12212] # CUNEIFORM SIGN LU2 CROSSING LU2
-12213 ; [.3BC6.0020.0002.12213] # CUNEIFORM SIGN LU2 OPPOSING LU2
-12214 ; [.3BC7.0020.0002.12214] # CUNEIFORM SIGN LU2 SQUARED
-12215 ; [.3BC8.0020.0002.12215] # CUNEIFORM SIGN LU2 SHESHIG
-12216 ; [.3BC9.0020.0002.12216] # CUNEIFORM SIGN LU3
-12217 ; [.3BCA.0020.0002.12217] # CUNEIFORM SIGN LUGAL
-12218 ; [.3BCB.0020.0002.12218] # CUNEIFORM SIGN LUGAL OVER LUGAL
-12219 ; [.3BCC.0020.0002.12219] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
-1221A ; [.3BCD.0020.0002.1221A] # CUNEIFORM SIGN LUGAL SHESHIG
-1221B ; [.3BCE.0020.0002.1221B] # CUNEIFORM SIGN LUH
-1221C ; [.3BCF.0020.0002.1221C] # CUNEIFORM SIGN LUL
-1221D ; [.3BD0.0020.0002.1221D] # CUNEIFORM SIGN LUM
-1221E ; [.3BD1.0020.0002.1221E] # CUNEIFORM SIGN LUM OVER LUM
-1221F ; [.3BD2.0020.0002.1221F] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
-12220 ; [.3BD3.0020.0002.12220] # CUNEIFORM SIGN MA
-12221 ; [.3BD4.0020.0002.12221] # CUNEIFORM SIGN MA TIMES TAK4
-12222 ; [.3BD5.0020.0002.12222] # CUNEIFORM SIGN MA GUNU
-12223 ; [.3BD6.0020.0002.12223] # CUNEIFORM SIGN MA2
-12224 ; [.3BD7.0020.0002.12224] # CUNEIFORM SIGN MAH
-12225 ; [.3BD8.0020.0002.12225] # CUNEIFORM SIGN MAR
-12226 ; [.3BD9.0020.0002.12226] # CUNEIFORM SIGN MASH
-12227 ; [.3BDA.0020.0002.12227] # CUNEIFORM SIGN MASH2
-12228 ; [.3BDB.0020.0002.12228] # CUNEIFORM SIGN ME
-12229 ; [.3BDC.0020.0002.12229] # CUNEIFORM SIGN MES
-1222A ; [.3BDD.0020.0002.1222A] # CUNEIFORM SIGN MI
-1222B ; [.3BDE.0020.0002.1222B] # CUNEIFORM SIGN MIN
-1222C ; [.3BDF.0020.0002.1222C] # CUNEIFORM SIGN MU
-1222D ; [.3BE0.0020.0002.1222D] # CUNEIFORM SIGN MU OVER MU
-1222E ; [.3BE1.0020.0002.1222E] # CUNEIFORM SIGN MUG
-1222F ; [.3BE2.0020.0002.1222F] # CUNEIFORM SIGN MUG GUNU
-12230 ; [.3BE3.0020.0002.12230] # CUNEIFORM SIGN MUNSUB
-12231 ; [.3BE4.0020.0002.12231] # CUNEIFORM SIGN MURGU2
-12232 ; [.3BE5.0020.0002.12232] # CUNEIFORM SIGN MUSH
-12233 ; [.3BE6.0020.0002.12233] # CUNEIFORM SIGN MUSH TIMES A
-12234 ; [.3BE7.0020.0002.12234] # CUNEIFORM SIGN MUSH TIMES KUR
-12235 ; [.3BE8.0020.0002.12235] # CUNEIFORM SIGN MUSH TIMES ZA
-12236 ; [.3BE9.0020.0002.12236] # CUNEIFORM SIGN MUSH OVER MUSH
-12237 ; [.3BEA.0020.0002.12237] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
-12238 ; [.3BEB.0020.0002.12238] # CUNEIFORM SIGN MUSH CROSSING MUSH
-12239 ; [.3BEC.0020.0002.12239] # CUNEIFORM SIGN MUSH3
-1223A ; [.3BED.0020.0002.1223A] # CUNEIFORM SIGN MUSH3 TIMES A
-1223B ; [.3BEE.0020.0002.1223B] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
-1223C ; [.3BEF.0020.0002.1223C] # CUNEIFORM SIGN MUSH3 TIMES DI
-1223D ; [.3BF0.0020.0002.1223D] # CUNEIFORM SIGN MUSH3 GUNU
-1223E ; [.3BF1.0020.0002.1223E] # CUNEIFORM SIGN NA
-1223F ; [.3BF2.0020.0002.1223F] # CUNEIFORM SIGN NA2
-12240 ; [.3BF3.0020.0002.12240] # CUNEIFORM SIGN NAGA
-12241 ; [.3BF4.0020.0002.12241] # CUNEIFORM SIGN NAGA INVERTED
-12242 ; [.3BF5.0020.0002.12242] # CUNEIFORM SIGN NAGA TIMES SHU TENU
-12243 ; [.3BF6.0020.0002.12243] # CUNEIFORM SIGN NAGA OPPOSING NAGA
-12244 ; [.3BF7.0020.0002.12244] # CUNEIFORM SIGN NAGAR
-12245 ; [.3BF8.0020.0002.12245] # CUNEIFORM SIGN NAM NUTILLU
-12246 ; [.3BF9.0020.0002.12246] # CUNEIFORM SIGN NAM
-12247 ; [.3BFA.0020.0002.12247] # CUNEIFORM SIGN NAM2
-12248 ; [.3BFB.0020.0002.12248] # CUNEIFORM SIGN NE
-12249 ; [.3BFC.0020.0002.12249] # CUNEIFORM SIGN NE TIMES A
-1224A ; [.3BFD.0020.0002.1224A] # CUNEIFORM SIGN NE TIMES UD
-1224B ; [.3BFE.0020.0002.1224B] # CUNEIFORM SIGN NE SHESHIG
-1224C ; [.3BFF.0020.0002.1224C] # CUNEIFORM SIGN NI
-1224D ; [.3C00.0020.0002.1224D] # CUNEIFORM SIGN NI TIMES E
-1224E ; [.3C01.0020.0002.1224E] # CUNEIFORM SIGN NI2
-1224F ; [.3C02.0020.0002.1224F] # CUNEIFORM SIGN NIM
-12250 ; [.3C03.0020.0002.12250] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
-12251 ; [.3C04.0020.0002.12251] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
-12252 ; [.3C05.0020.0002.12252] # CUNEIFORM SIGN NINDA2
-12253 ; [.3C06.0020.0002.12253] # CUNEIFORM SIGN NINDA2 TIMES AN
-12254 ; [.3C07.0020.0002.12254] # CUNEIFORM SIGN NINDA2 TIMES ASH
-12255 ; [.3C08.0020.0002.12255] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
-12256 ; [.3C09.0020.0002.12256] # CUNEIFORM SIGN NINDA2 TIMES GUD
-12257 ; [.3C0A.0020.0002.12257] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
-12258 ; [.3C0B.0020.0002.12258] # CUNEIFORM SIGN NINDA2 TIMES NE
-12259 ; [.3C0C.0020.0002.12259] # CUNEIFORM SIGN NINDA2 TIMES NUN
-1225A ; [.3C0D.0020.0002.1225A] # CUNEIFORM SIGN NINDA2 TIMES SHE
-1225B ; [.3C0E.0020.0002.1225B] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
-1225C ; [.3C0F.0020.0002.1225C] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
-1225D ; [.3C10.0020.0002.1225D] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
-1225E ; [.3C11.0020.0002.1225E] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
-1225F ; [.3C12.0020.0002.1225F] # CUNEIFORM SIGN NINDA2 TIMES USH
-12260 ; [.3C13.0020.0002.12260] # CUNEIFORM SIGN NISAG
-12261 ; [.3C14.0020.0002.12261] # CUNEIFORM SIGN NU
-12262 ; [.3C15.0020.0002.12262] # CUNEIFORM SIGN NU11
-12263 ; [.3C16.0020.0002.12263] # CUNEIFORM SIGN NUN
-12264 ; [.3C17.0020.0002.12264] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
-12265 ; [.3C18.0020.0002.12265] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
-12266 ; [.3C19.0020.0002.12266] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
-12267 ; [.3C1A.0020.0002.12267] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
-12268 ; [.3C1B.0020.0002.12268] # CUNEIFORM SIGN NUN LAGAR TIMES USH
-12269 ; [.3C1C.0020.0002.12269] # CUNEIFORM SIGN NUN TENU
-1226A ; [.3C1D.0020.0002.1226A] # CUNEIFORM SIGN NUN OVER NUN
-1226B ; [.3C1E.0020.0002.1226B] # CUNEIFORM SIGN NUN CROSSING NUN
-1226C ; [.3C1F.0020.0002.1226C] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
-1226D ; [.3C20.0020.0002.1226D] # CUNEIFORM SIGN NUNUZ
-1226E ; [.3C21.0020.0002.1226E] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
-1226F ; [.3C22.0020.0002.1226F] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
-12270 ; [.3C23.0020.0002.12270] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
-12271 ; [.3C24.0020.0002.12271] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
-12272 ; [.3C25.0020.0002.12272] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
-12273 ; [.3C26.0020.0002.12273] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
-12274 ; [.3C27.0020.0002.12274] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
-12275 ; [.3C28.0020.0002.12275] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
-12276 ; [.3C29.0020.0002.12276] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
-12277 ; [.3C2A.0020.0002.12277] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
-12278 ; [.3C2B.0020.0002.12278] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
-12279 ; [.3C2C.0020.0002.12279] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
-1227A ; [.3C2D.0020.0002.1227A] # CUNEIFORM SIGN PA
-1227B ; [.3C2E.0020.0002.1227B] # CUNEIFORM SIGN PAD
-1227C ; [.3C2F.0020.0002.1227C] # CUNEIFORM SIGN PAN
-1227D ; [.3C30.0020.0002.1227D] # CUNEIFORM SIGN PAP
-1227E ; [.3C31.0020.0002.1227E] # CUNEIFORM SIGN PESH2
-1227F ; [.3C32.0020.0002.1227F] # CUNEIFORM SIGN PI
-12280 ; [.3C33.0020.0002.12280] # CUNEIFORM SIGN PI TIMES A
-12281 ; [.3C34.0020.0002.12281] # CUNEIFORM SIGN PI TIMES AB
-12282 ; [.3C35.0020.0002.12282] # CUNEIFORM SIGN PI TIMES BI
-12283 ; [.3C36.0020.0002.12283] # CUNEIFORM SIGN PI TIMES BU
-12284 ; [.3C37.0020.0002.12284] # CUNEIFORM SIGN PI TIMES E
-12285 ; [.3C38.0020.0002.12285] # CUNEIFORM SIGN PI TIMES I
-12286 ; [.3C39.0020.0002.12286] # CUNEIFORM SIGN PI TIMES IB
-12287 ; [.3C3A.0020.0002.12287] # CUNEIFORM SIGN PI TIMES U
-12288 ; [.3C3B.0020.0002.12288] # CUNEIFORM SIGN PI TIMES U2
-12289 ; [.3C3C.0020.0002.12289] # CUNEIFORM SIGN PI CROSSING PI
-1228A ; [.3C3D.0020.0002.1228A] # CUNEIFORM SIGN PIRIG
-1228B ; [.3C3E.0020.0002.1228B] # CUNEIFORM SIGN PIRIG TIMES KAL
-1228C ; [.3C3F.0020.0002.1228C] # CUNEIFORM SIGN PIRIG TIMES UD
-1228D ; [.3C40.0020.0002.1228D] # CUNEIFORM SIGN PIRIG TIMES ZA
-1228E ; [.3C41.0020.0002.1228E] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
-1228F ; [.3C42.0020.0002.1228F] # CUNEIFORM SIGN RA
-12290 ; [.3C43.0020.0002.12290] # CUNEIFORM SIGN RAB
-12291 ; [.3C44.0020.0002.12291] # CUNEIFORM SIGN RI
-12292 ; [.3C45.0020.0002.12292] # CUNEIFORM SIGN RU
-12293 ; [.3C46.0020.0002.12293] # CUNEIFORM SIGN SA
-12294 ; [.3C47.0020.0002.12294] # CUNEIFORM SIGN SAG NUTILLU
-12295 ; [.3C48.0020.0002.12295] # CUNEIFORM SIGN SAG
-12296 ; [.3C49.0020.0002.12296] # CUNEIFORM SIGN SAG TIMES A
-12297 ; [.3C4A.0020.0002.12297] # CUNEIFORM SIGN SAG TIMES DU
-12298 ; [.3C4B.0020.0002.12298] # CUNEIFORM SIGN SAG TIMES DUB
-12299 ; [.3C4C.0020.0002.12299] # CUNEIFORM SIGN SAG TIMES HA
-1229A ; [.3C4D.0020.0002.1229A] # CUNEIFORM SIGN SAG TIMES KAK
-1229B ; [.3C4E.0020.0002.1229B] # CUNEIFORM SIGN SAG TIMES KUR
-1229C ; [.3C4F.0020.0002.1229C] # CUNEIFORM SIGN SAG TIMES LUM
-1229D ; [.3C50.0020.0002.1229D] # CUNEIFORM SIGN SAG TIMES MI
-1229E ; [.3C51.0020.0002.1229E] # CUNEIFORM SIGN SAG TIMES NUN
-1229F ; [.3C52.0020.0002.1229F] # CUNEIFORM SIGN SAG TIMES SAL
-122A0 ; [.3C53.0020.0002.122A0] # CUNEIFORM SIGN SAG TIMES SHID
-122A1 ; [.3C54.0020.0002.122A1] # CUNEIFORM SIGN SAG TIMES TAB
-122A2 ; [.3C55.0020.0002.122A2] # CUNEIFORM SIGN SAG TIMES U2
-122A3 ; [.3C56.0020.0002.122A3] # CUNEIFORM SIGN SAG TIMES UB
-122A4 ; [.3C57.0020.0002.122A4] # CUNEIFORM SIGN SAG TIMES UM
-122A5 ; [.3C58.0020.0002.122A5] # CUNEIFORM SIGN SAG TIMES UR
-122A6 ; [.3C59.0020.0002.122A6] # CUNEIFORM SIGN SAG TIMES USH
-122A7 ; [.3C5A.0020.0002.122A7] # CUNEIFORM SIGN SAG OVER SAG
-122A8 ; [.3C5B.0020.0002.122A8] # CUNEIFORM SIGN SAG GUNU
-122A9 ; [.3C5C.0020.0002.122A9] # CUNEIFORM SIGN SAL
-122AA ; [.3C5D.0020.0002.122AA] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
-122AB ; [.3C5E.0020.0002.122AB] # CUNEIFORM SIGN SANGA2
-122AC ; [.3C5F.0020.0002.122AC] # CUNEIFORM SIGN SAR
-122AD ; [.3C60.0020.0002.122AD] # CUNEIFORM SIGN SHA
-122AE ; [.3C61.0020.0002.122AE] # CUNEIFORM SIGN SHA3
-122AF ; [.3C62.0020.0002.122AF] # CUNEIFORM SIGN SHA3 TIMES A
-122B0 ; [.3C63.0020.0002.122B0] # CUNEIFORM SIGN SHA3 TIMES BAD
-122B1 ; [.3C64.0020.0002.122B1] # CUNEIFORM SIGN SHA3 TIMES GISH
-122B2 ; [.3C65.0020.0002.122B2] # CUNEIFORM SIGN SHA3 TIMES NE
-122B3 ; [.3C66.0020.0002.122B3] # CUNEIFORM SIGN SHA3 TIMES SHU2
-122B4 ; [.3C67.0020.0002.122B4] # CUNEIFORM SIGN SHA3 TIMES TUR
-122B5 ; [.3C68.0020.0002.122B5] # CUNEIFORM SIGN SHA3 TIMES U
-122B6 ; [.3C69.0020.0002.122B6] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
-122B7 ; [.3C6A.0020.0002.122B7] # CUNEIFORM SIGN SHA6
-122B8 ; [.3C6B.0020.0002.122B8] # CUNEIFORM SIGN SHAB6
-122B9 ; [.3C6C.0020.0002.122B9] # CUNEIFORM SIGN SHAR2
-122BA ; [.3C6D.0020.0002.122BA] # CUNEIFORM SIGN SHE
-122BB ; [.3C6E.0020.0002.122BB] # CUNEIFORM SIGN SHE HU
-122BC ; [.3C6F.0020.0002.122BC] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
-122BD ; [.3C70.0020.0002.122BD] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
-122BE ; [.3C71.0020.0002.122BE] # CUNEIFORM SIGN SHEG9
-122BF ; [.3C72.0020.0002.122BF] # CUNEIFORM SIGN SHEN
-122C0 ; [.3C73.0020.0002.122C0] # CUNEIFORM SIGN SHESH
-122C1 ; [.3C74.0020.0002.122C1] # CUNEIFORM SIGN SHESH2
-122C2 ; [.3C75.0020.0002.122C2] # CUNEIFORM SIGN SHESHLAM
-122C3 ; [.3C76.0020.0002.122C3] # CUNEIFORM SIGN SHID
-122C4 ; [.3C77.0020.0002.122C4] # CUNEIFORM SIGN SHID TIMES A
-122C5 ; [.3C78.0020.0002.122C5] # CUNEIFORM SIGN SHID TIMES IM
-122C6 ; [.3C79.0020.0002.122C6] # CUNEIFORM SIGN SHIM
-122C7 ; [.3C7A.0020.0002.122C7] # CUNEIFORM SIGN SHIM TIMES A
-122C8 ; [.3C7B.0020.0002.122C8] # CUNEIFORM SIGN SHIM TIMES BAL
-122C9 ; [.3C7C.0020.0002.122C9] # CUNEIFORM SIGN SHIM TIMES BULUG
-122CA ; [.3C7D.0020.0002.122CA] # CUNEIFORM SIGN SHIM TIMES DIN
-122CB ; [.3C7E.0020.0002.122CB] # CUNEIFORM SIGN SHIM TIMES GAR
-122CC ; [.3C7F.0020.0002.122CC] # CUNEIFORM SIGN SHIM TIMES IGI
-122CD ; [.3C80.0020.0002.122CD] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
-122CE ; [.3C81.0020.0002.122CE] # CUNEIFORM SIGN SHIM TIMES KUSHU2
-122CF ; [.3C82.0020.0002.122CF] # CUNEIFORM SIGN SHIM TIMES LUL
-122D0 ; [.3C83.0020.0002.122D0] # CUNEIFORM SIGN SHIM TIMES MUG
-122D1 ; [.3C84.0020.0002.122D1] # CUNEIFORM SIGN SHIM TIMES SAL
-122D2 ; [.3C85.0020.0002.122D2] # CUNEIFORM SIGN SHINIG
-122D3 ; [.3C86.0020.0002.122D3] # CUNEIFORM SIGN SHIR
-122D4 ; [.3C87.0020.0002.122D4] # CUNEIFORM SIGN SHIR TENU
-122D5 ; [.3C88.0020.0002.122D5] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
-122D6 ; [.3C89.0020.0002.122D6] # CUNEIFORM SIGN SHITA
-122D7 ; [.3C8A.0020.0002.122D7] # CUNEIFORM SIGN SHU
-122D8 ; [.3C8B.0020.0002.122D8] # CUNEIFORM SIGN SHU OVER INVERTED SHU
-122D9 ; [.3C8C.0020.0002.122D9] # CUNEIFORM SIGN SHU2
-122DA ; [.3C8D.0020.0002.122DA] # CUNEIFORM SIGN SHUBUR
-122DB ; [.3C8E.0020.0002.122DB] # CUNEIFORM SIGN SI
-122DC ; [.3C8F.0020.0002.122DC] # CUNEIFORM SIGN SI GUNU
-122DD ; [.3C90.0020.0002.122DD] # CUNEIFORM SIGN SIG
-122DE ; [.3C91.0020.0002.122DE] # CUNEIFORM SIGN SIG4
-122DF ; [.3C92.0020.0002.122DF] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
-122E0 ; [.3C93.0020.0002.122E0] # CUNEIFORM SIGN SIK2
-122E1 ; [.3C94.0020.0002.122E1] # CUNEIFORM SIGN SILA3
-122E2 ; [.3C95.0020.0002.122E2] # CUNEIFORM SIGN SU
-122E3 ; [.3C96.0020.0002.122E3] # CUNEIFORM SIGN SU OVER SU
-122E4 ; [.3C97.0020.0002.122E4] # CUNEIFORM SIGN SUD
-122E5 ; [.3C98.0020.0002.122E5] # CUNEIFORM SIGN SUD2
-122E6 ; [.3C99.0020.0002.122E6] # CUNEIFORM SIGN SUHUR
-122E7 ; [.3C9A.0020.0002.122E7] # CUNEIFORM SIGN SUM
-122E8 ; [.3C9B.0020.0002.122E8] # CUNEIFORM SIGN SUMASH
-122E9 ; [.3C9C.0020.0002.122E9] # CUNEIFORM SIGN SUR
-122EA ; [.3C9D.0020.0002.122EA] # CUNEIFORM SIGN SUR9
-122EB ; [.3C9E.0020.0002.122EB] # CUNEIFORM SIGN TA
-122EC ; [.3C9F.0020.0002.122EC] # CUNEIFORM SIGN TA ASTERISK
-122ED ; [.3CA0.0020.0002.122ED] # CUNEIFORM SIGN TA TIMES HI
-122EE ; [.3CA1.0020.0002.122EE] # CUNEIFORM SIGN TA TIMES MI
-122EF ; [.3CA2.0020.0002.122EF] # CUNEIFORM SIGN TA GUNU
-122F0 ; [.3CA3.0020.0002.122F0] # CUNEIFORM SIGN TAB
-122F1 ; [.3CA4.0020.0002.122F1] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
-122F2 ; [.3CA5.0020.0002.122F2] # CUNEIFORM SIGN TAB SQUARED
-122F3 ; [.3CA6.0020.0002.122F3] # CUNEIFORM SIGN TAG
-122F4 ; [.3CA7.0020.0002.122F4] # CUNEIFORM SIGN TAG TIMES BI
-122F5 ; [.3CA8.0020.0002.122F5] # CUNEIFORM SIGN TAG TIMES GUD
-122F6 ; [.3CA9.0020.0002.122F6] # CUNEIFORM SIGN TAG TIMES SHE
-122F7 ; [.3CAA.0020.0002.122F7] # CUNEIFORM SIGN TAG TIMES SHU
-122F8 ; [.3CAB.0020.0002.122F8] # CUNEIFORM SIGN TAG TIMES TUG2
-122F9 ; [.3CAC.0020.0002.122F9] # CUNEIFORM SIGN TAG TIMES UD
-122FA ; [.3CAD.0020.0002.122FA] # CUNEIFORM SIGN TAK4
-122FB ; [.3CAE.0020.0002.122FB] # CUNEIFORM SIGN TAR
-122FC ; [.3CAF.0020.0002.122FC] # CUNEIFORM SIGN TE
-122FD ; [.3CB0.0020.0002.122FD] # CUNEIFORM SIGN TE GUNU
-122FE ; [.3CB1.0020.0002.122FE] # CUNEIFORM SIGN TI
-122FF ; [.3CB2.0020.0002.122FF] # CUNEIFORM SIGN TI TENU
-12300 ; [.3CB3.0020.0002.12300] # CUNEIFORM SIGN TIL
-12301 ; [.3CB4.0020.0002.12301] # CUNEIFORM SIGN TIR
-12302 ; [.3CB5.0020.0002.12302] # CUNEIFORM SIGN TIR TIMES TAK4
-12303 ; [.3CB6.0020.0002.12303] # CUNEIFORM SIGN TIR OVER TIR
-12304 ; [.3CB7.0020.0002.12304] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
-12305 ; [.3CB8.0020.0002.12305] # CUNEIFORM SIGN TU
-12306 ; [.3CB9.0020.0002.12306] # CUNEIFORM SIGN TUG2
-12307 ; [.3CBA.0020.0002.12307] # CUNEIFORM SIGN TUK
-12308 ; [.3CBB.0020.0002.12308] # CUNEIFORM SIGN TUM
-12309 ; [.3CBC.0020.0002.12309] # CUNEIFORM SIGN TUR
-1230A ; [.3CBD.0020.0002.1230A] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
-1230B ; [.3CBE.0020.0002.1230B] # CUNEIFORM SIGN U
-1230C ; [.3CBF.0020.0002.1230C] # CUNEIFORM SIGN U GUD
-1230D ; [.3CC0.0020.0002.1230D] # CUNEIFORM SIGN U U U
-1230E ; [.3CC1.0020.0002.1230E] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
-1230F ; [.3CC2.0020.0002.1230F] # CUNEIFORM SIGN U OVER U SUR OVER SUR
-12310 ; [.3CC3.0020.0002.12310] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
-12311 ; [.3CC4.0020.0002.12311] # CUNEIFORM SIGN U2
-12312 ; [.3CC5.0020.0002.12312] # CUNEIFORM SIGN UB
-12313 ; [.3CC6.0020.0002.12313] # CUNEIFORM SIGN UD
-12314 ; [.3CC7.0020.0002.12314] # CUNEIFORM SIGN UD KUSHU2
-12315 ; [.3CC8.0020.0002.12315] # CUNEIFORM SIGN UD TIMES BAD
-12316 ; [.3CC9.0020.0002.12316] # CUNEIFORM SIGN UD TIMES MI
-12317 ; [.3CCA.0020.0002.12317] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
-12318 ; [.3CCB.0020.0002.12318] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
-12319 ; [.3CCC.0020.0002.12319] # CUNEIFORM SIGN UD GUNU
-1231A ; [.3CCD.0020.0002.1231A] # CUNEIFORM SIGN UD SHESHIG
-1231B ; [.3CCE.0020.0002.1231B] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
-1231C ; [.3CCF.0020.0002.1231C] # CUNEIFORM SIGN UDUG
-1231D ; [.3CD0.0020.0002.1231D] # CUNEIFORM SIGN UM
-1231E ; [.3CD1.0020.0002.1231E] # CUNEIFORM SIGN UM TIMES LAGAB
-1231F ; [.3CD2.0020.0002.1231F] # CUNEIFORM SIGN UM TIMES ME PLUS DA
-12320 ; [.3CD3.0020.0002.12320] # CUNEIFORM SIGN UM TIMES SHA3
-12321 ; [.3CD4.0020.0002.12321] # CUNEIFORM SIGN UM TIMES U
-12322 ; [.3CD5.0020.0002.12322] # CUNEIFORM SIGN UMBIN
-12323 ; [.3CD6.0020.0002.12323] # CUNEIFORM SIGN UMUM
-12324 ; [.3CD7.0020.0002.12324] # CUNEIFORM SIGN UMUM TIMES KASKAL
-12325 ; [.3CD8.0020.0002.12325] # CUNEIFORM SIGN UMUM TIMES PA
-12326 ; [.3CD9.0020.0002.12326] # CUNEIFORM SIGN UN
-12327 ; [.3CDA.0020.0002.12327] # CUNEIFORM SIGN UN GUNU
-12328 ; [.3CDB.0020.0002.12328] # CUNEIFORM SIGN UR
-12329 ; [.3CDC.0020.0002.12329] # CUNEIFORM SIGN UR CROSSING UR
-1232A ; [.3CDD.0020.0002.1232A] # CUNEIFORM SIGN UR SHESHIG
-1232B ; [.3CDE.0020.0002.1232B] # CUNEIFORM SIGN UR2
-1232C ; [.3CDF.0020.0002.1232C] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
-1232D ; [.3CE0.0020.0002.1232D] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
-1232E ; [.3CE1.0020.0002.1232E] # CUNEIFORM SIGN UR2 TIMES AL
-1232F ; [.3CE2.0020.0002.1232F] # CUNEIFORM SIGN UR2 TIMES HA
-12330 ; [.3CE3.0020.0002.12330] # CUNEIFORM SIGN UR2 TIMES NUN
-12331 ; [.3CE4.0020.0002.12331] # CUNEIFORM SIGN UR2 TIMES U2
-12332 ; [.3CE5.0020.0002.12332] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
-12333 ; [.3CE6.0020.0002.12333] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
-12334 ; [.3CE7.0020.0002.12334] # CUNEIFORM SIGN UR4
-12335 ; [.3CE8.0020.0002.12335] # CUNEIFORM SIGN URI
-12336 ; [.3CE9.0020.0002.12336] # CUNEIFORM SIGN URI3
-12337 ; [.3CEA.0020.0002.12337] # CUNEIFORM SIGN URU
-12338 ; [.3CEB.0020.0002.12338] # CUNEIFORM SIGN URU TIMES A
-12339 ; [.3CEC.0020.0002.12339] # CUNEIFORM SIGN URU TIMES ASHGAB
-1233A ; [.3CED.0020.0002.1233A] # CUNEIFORM SIGN URU TIMES BAR
-1233B ; [.3CEE.0020.0002.1233B] # CUNEIFORM SIGN URU TIMES DUN
-1233C ; [.3CEF.0020.0002.1233C] # CUNEIFORM SIGN URU TIMES GA
-1233D ; [.3CF0.0020.0002.1233D] # CUNEIFORM SIGN URU TIMES GAL
-1233E ; [.3CF1.0020.0002.1233E] # CUNEIFORM SIGN URU TIMES GAN2 TENU
-1233F ; [.3CF2.0020.0002.1233F] # CUNEIFORM SIGN URU TIMES GAR
-12340 ; [.3CF3.0020.0002.12340] # CUNEIFORM SIGN URU TIMES GU
-12341 ; [.3CF4.0020.0002.12341] # CUNEIFORM SIGN URU TIMES HA
-12342 ; [.3CF5.0020.0002.12342] # CUNEIFORM SIGN URU TIMES IGI
-12343 ; [.3CF6.0020.0002.12343] # CUNEIFORM SIGN URU TIMES IM
-12344 ; [.3CF7.0020.0002.12344] # CUNEIFORM SIGN URU TIMES ISH
-12345 ; [.3CF8.0020.0002.12345] # CUNEIFORM SIGN URU TIMES KI
-12346 ; [.3CF9.0020.0002.12346] # CUNEIFORM SIGN URU TIMES LUM
-12347 ; [.3CFA.0020.0002.12347] # CUNEIFORM SIGN URU TIMES MIN
-12348 ; [.3CFB.0020.0002.12348] # CUNEIFORM SIGN URU TIMES PA
-12349 ; [.3CFC.0020.0002.12349] # CUNEIFORM SIGN URU TIMES SHE
-1234A ; [.3CFD.0020.0002.1234A] # CUNEIFORM SIGN URU TIMES SIG4
-1234B ; [.3CFE.0020.0002.1234B] # CUNEIFORM SIGN URU TIMES TU
-1234C ; [.3CFF.0020.0002.1234C] # CUNEIFORM SIGN URU TIMES U PLUS GUD
-1234D ; [.3D00.0020.0002.1234D] # CUNEIFORM SIGN URU TIMES UD
-1234E ; [.3D01.0020.0002.1234E] # CUNEIFORM SIGN URU TIMES URUDA
-1234F ; [.3D02.0020.0002.1234F] # CUNEIFORM SIGN URUDA
-12350 ; [.3D03.0020.0002.12350] # CUNEIFORM SIGN URUDA TIMES U
-12351 ; [.3D04.0020.0002.12351] # CUNEIFORM SIGN USH
-12352 ; [.3D05.0020.0002.12352] # CUNEIFORM SIGN USH TIMES A
-12353 ; [.3D06.0020.0002.12353] # CUNEIFORM SIGN USH TIMES KU
-12354 ; [.3D07.0020.0002.12354] # CUNEIFORM SIGN USH TIMES KUR
-12355 ; [.3D08.0020.0002.12355] # CUNEIFORM SIGN USH TIMES TAK4
-12356 ; [.3D09.0020.0002.12356] # CUNEIFORM SIGN USHX
-12357 ; [.3D0A.0020.0002.12357] # CUNEIFORM SIGN USH2
-12358 ; [.3D0B.0020.0002.12358] # CUNEIFORM SIGN USHUMX
-12359 ; [.3D0C.0020.0002.12359] # CUNEIFORM SIGN UTUKI
-1235A ; [.3D0D.0020.0002.1235A] # CUNEIFORM SIGN UZ3
-1235B ; [.3D0E.0020.0002.1235B] # CUNEIFORM SIGN UZ3 TIMES KASKAL
-1235C ; [.3D0F.0020.0002.1235C] # CUNEIFORM SIGN UZU
-1235D ; [.3D10.0020.0002.1235D] # CUNEIFORM SIGN ZA
-1235E ; [.3D11.0020.0002.1235E] # CUNEIFORM SIGN ZA TENU
-1235F ; [.3D12.0020.0002.1235F] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
-12360 ; [.3D13.0020.0002.12360] # CUNEIFORM SIGN ZAG
-12361 ; [.3D14.0020.0002.12361] # CUNEIFORM SIGN ZAMX
-12362 ; [.3D15.0020.0002.12362] # CUNEIFORM SIGN ZE2
-12363 ; [.3D16.0020.0002.12363] # CUNEIFORM SIGN ZI
-12364 ; [.3D17.0020.0002.12364] # CUNEIFORM SIGN ZI OVER ZI
-12365 ; [.3D18.0020.0002.12365] # CUNEIFORM SIGN ZI3
-12366 ; [.3D19.0020.0002.12366] # CUNEIFORM SIGN ZIB
-12367 ; [.3D1A.0020.0002.12367] # CUNEIFORM SIGN ZIB KABA TENU
-12368 ; [.3D1B.0020.0002.12368] # CUNEIFORM SIGN ZIG
-12369 ; [.3D1C.0020.0002.12369] # CUNEIFORM SIGN ZIZ2
-1236A ; [.3D1D.0020.0002.1236A] # CUNEIFORM SIGN ZU
-1236B ; [.3D1E.0020.0002.1236B] # CUNEIFORM SIGN ZU5
-1236C ; [.3D1F.0020.0002.1236C] # CUNEIFORM SIGN ZU5 TIMES A
-1236D ; [.3D20.0020.0002.1236D] # CUNEIFORM SIGN ZUBUR
-1236E ; [.3D21.0020.0002.1236E] # CUNEIFORM SIGN ZUM
-13000 ; [.3D22.0020.0002.13000] # EGYPTIAN HIEROGLYPH A001
-13001 ; [.3D23.0020.0002.13001] # EGYPTIAN HIEROGLYPH A002
-13002 ; [.3D24.0020.0002.13002] # EGYPTIAN HIEROGLYPH A003
-13003 ; [.3D25.0020.0002.13003] # EGYPTIAN HIEROGLYPH A004
-13004 ; [.3D26.0020.0002.13004] # EGYPTIAN HIEROGLYPH A005
-13005 ; [.3D27.0020.0002.13005] # EGYPTIAN HIEROGLYPH A005A
-13006 ; [.3D28.0020.0002.13006] # EGYPTIAN HIEROGLYPH A006
-13007 ; [.3D29.0020.0002.13007] # EGYPTIAN HIEROGLYPH A006A
-13008 ; [.3D2A.0020.0002.13008] # EGYPTIAN HIEROGLYPH A006B
-13009 ; [.3D2B.0020.0002.13009] # EGYPTIAN HIEROGLYPH A007
-1300A ; [.3D2C.0020.0002.1300A] # EGYPTIAN HIEROGLYPH A008
-1300B ; [.3D2D.0020.0002.1300B] # EGYPTIAN HIEROGLYPH A009
-1300C ; [.3D2E.0020.0002.1300C] # EGYPTIAN HIEROGLYPH A010
-1300D ; [.3D2F.0020.0002.1300D] # EGYPTIAN HIEROGLYPH A011
-1300E ; [.3D30.0020.0002.1300E] # EGYPTIAN HIEROGLYPH A012
-1300F ; [.3D31.0020.0002.1300F] # EGYPTIAN HIEROGLYPH A013
-13010 ; [.3D32.0020.0002.13010] # EGYPTIAN HIEROGLYPH A014
-13011 ; [.3D33.0020.0002.13011] # EGYPTIAN HIEROGLYPH A014A
-13012 ; [.3D34.0020.0002.13012] # EGYPTIAN HIEROGLYPH A015
-13013 ; [.3D35.0020.0002.13013] # EGYPTIAN HIEROGLYPH A016
-13014 ; [.3D36.0020.0002.13014] # EGYPTIAN HIEROGLYPH A017
-13015 ; [.3D37.0020.0002.13015] # EGYPTIAN HIEROGLYPH A017A
-13016 ; [.3D38.0020.0002.13016] # EGYPTIAN HIEROGLYPH A018
-13017 ; [.3D39.0020.0002.13017] # EGYPTIAN HIEROGLYPH A019
-13018 ; [.3D3A.0020.0002.13018] # EGYPTIAN HIEROGLYPH A020
-13019 ; [.3D3B.0020.0002.13019] # EGYPTIAN HIEROGLYPH A021
-1301A ; [.3D3C.0020.0002.1301A] # EGYPTIAN HIEROGLYPH A022
-1301B ; [.3D3D.0020.0002.1301B] # EGYPTIAN HIEROGLYPH A023
-1301C ; [.3D3E.0020.0002.1301C] # EGYPTIAN HIEROGLYPH A024
-1301D ; [.3D3F.0020.0002.1301D] # EGYPTIAN HIEROGLYPH A025
-1301E ; [.3D40.0020.0002.1301E] # EGYPTIAN HIEROGLYPH A026
-1301F ; [.3D41.0020.0002.1301F] # EGYPTIAN HIEROGLYPH A027
-13020 ; [.3D42.0020.0002.13020] # EGYPTIAN HIEROGLYPH A028
-13021 ; [.3D43.0020.0002.13021] # EGYPTIAN HIEROGLYPH A029
-13022 ; [.3D44.0020.0002.13022] # EGYPTIAN HIEROGLYPH A030
-13023 ; [.3D45.0020.0002.13023] # EGYPTIAN HIEROGLYPH A031
-13024 ; [.3D46.0020.0002.13024] # EGYPTIAN HIEROGLYPH A032
-13025 ; [.3D47.0020.0002.13025] # EGYPTIAN HIEROGLYPH A032A
-13026 ; [.3D48.0020.0002.13026] # EGYPTIAN HIEROGLYPH A033
-13027 ; [.3D49.0020.0002.13027] # EGYPTIAN HIEROGLYPH A034
-13028 ; [.3D4A.0020.0002.13028] # EGYPTIAN HIEROGLYPH A035
-13029 ; [.3D4B.0020.0002.13029] # EGYPTIAN HIEROGLYPH A036
-1302A ; [.3D4C.0020.0002.1302A] # EGYPTIAN HIEROGLYPH A037
-1302B ; [.3D4D.0020.0002.1302B] # EGYPTIAN HIEROGLYPH A038
-1302C ; [.3D4E.0020.0002.1302C] # EGYPTIAN HIEROGLYPH A039
-1302D ; [.3D4F.0020.0002.1302D] # EGYPTIAN HIEROGLYPH A040
-1302E ; [.3D50.0020.0002.1302E] # EGYPTIAN HIEROGLYPH A040A
-1302F ; [.3D51.0020.0002.1302F] # EGYPTIAN HIEROGLYPH A041
-13030 ; [.3D52.0020.0002.13030] # EGYPTIAN HIEROGLYPH A042
-13031 ; [.3D53.0020.0002.13031] # EGYPTIAN HIEROGLYPH A042A
-13032 ; [.3D54.0020.0002.13032] # EGYPTIAN HIEROGLYPH A043
-13033 ; [.3D55.0020.0002.13033] # EGYPTIAN HIEROGLYPH A043A
-13034 ; [.3D56.0020.0002.13034] # EGYPTIAN HIEROGLYPH A044
-13035 ; [.3D57.0020.0002.13035] # EGYPTIAN HIEROGLYPH A045
-13036 ; [.3D58.0020.0002.13036] # EGYPTIAN HIEROGLYPH A045A
-13037 ; [.3D59.0020.0002.13037] # EGYPTIAN HIEROGLYPH A046
-13038 ; [.3D5A.0020.0002.13038] # EGYPTIAN HIEROGLYPH A047
-13039 ; [.3D5B.0020.0002.13039] # EGYPTIAN HIEROGLYPH A048
-1303A ; [.3D5C.0020.0002.1303A] # EGYPTIAN HIEROGLYPH A049
-1303B ; [.3D5D.0020.0002.1303B] # EGYPTIAN HIEROGLYPH A050
-1303C ; [.3D5E.0020.0002.1303C] # EGYPTIAN HIEROGLYPH A051
-1303D ; [.3D5F.0020.0002.1303D] # EGYPTIAN HIEROGLYPH A052
-1303E ; [.3D60.0020.0002.1303E] # EGYPTIAN HIEROGLYPH A053
-1303F ; [.3D61.0020.0002.1303F] # EGYPTIAN HIEROGLYPH A054
-13040 ; [.3D62.0020.0002.13040] # EGYPTIAN HIEROGLYPH A055
-13041 ; [.3D63.0020.0002.13041] # EGYPTIAN HIEROGLYPH A056
-13042 ; [.3D64.0020.0002.13042] # EGYPTIAN HIEROGLYPH A057
-13043 ; [.3D65.0020.0002.13043] # EGYPTIAN HIEROGLYPH A058
-13044 ; [.3D66.0020.0002.13044] # EGYPTIAN HIEROGLYPH A059
-13045 ; [.3D67.0020.0002.13045] # EGYPTIAN HIEROGLYPH A060
-13046 ; [.3D68.0020.0002.13046] # EGYPTIAN HIEROGLYPH A061
-13047 ; [.3D69.0020.0002.13047] # EGYPTIAN HIEROGLYPH A062
-13048 ; [.3D6A.0020.0002.13048] # EGYPTIAN HIEROGLYPH A063
-13049 ; [.3D6B.0020.0002.13049] # EGYPTIAN HIEROGLYPH A064
-1304A ; [.3D6C.0020.0002.1304A] # EGYPTIAN HIEROGLYPH A065
-1304B ; [.3D6D.0020.0002.1304B] # EGYPTIAN HIEROGLYPH A066
-1304C ; [.3D6E.0020.0002.1304C] # EGYPTIAN HIEROGLYPH A067
-1304D ; [.3D6F.0020.0002.1304D] # EGYPTIAN HIEROGLYPH A068
-1304E ; [.3D70.0020.0002.1304E] # EGYPTIAN HIEROGLYPH A069
-1304F ; [.3D71.0020.0002.1304F] # EGYPTIAN HIEROGLYPH A070
-13050 ; [.3D72.0020.0002.13050] # EGYPTIAN HIEROGLYPH B001
-13051 ; [.3D73.0020.0002.13051] # EGYPTIAN HIEROGLYPH B002
-13052 ; [.3D74.0020.0002.13052] # EGYPTIAN HIEROGLYPH B003
-13053 ; [.3D75.0020.0002.13053] # EGYPTIAN HIEROGLYPH B004
-13054 ; [.3D76.0020.0002.13054] # EGYPTIAN HIEROGLYPH B005
-13055 ; [.3D77.0020.0002.13055] # EGYPTIAN HIEROGLYPH B005A
-13056 ; [.3D78.0020.0002.13056] # EGYPTIAN HIEROGLYPH B006
-13057 ; [.3D79.0020.0002.13057] # EGYPTIAN HIEROGLYPH B007
-13058 ; [.3D7A.0020.0002.13058] # EGYPTIAN HIEROGLYPH B008
-13059 ; [.3D7B.0020.0002.13059] # EGYPTIAN HIEROGLYPH B009
-1305A ; [.3D7C.0020.0002.1305A] # EGYPTIAN HIEROGLYPH C001
-1305B ; [.3D7D.0020.0002.1305B] # EGYPTIAN HIEROGLYPH C002
-1305C ; [.3D7E.0020.0002.1305C] # EGYPTIAN HIEROGLYPH C002A
-1305D ; [.3D7F.0020.0002.1305D] # EGYPTIAN HIEROGLYPH C002B
-1305E ; [.3D80.0020.0002.1305E] # EGYPTIAN HIEROGLYPH C002C
-1305F ; [.3D81.0020.0002.1305F] # EGYPTIAN HIEROGLYPH C003
-13060 ; [.3D82.0020.0002.13060] # EGYPTIAN HIEROGLYPH C004
-13061 ; [.3D83.0020.0002.13061] # EGYPTIAN HIEROGLYPH C005
-13062 ; [.3D84.0020.0002.13062] # EGYPTIAN HIEROGLYPH C006
-13063 ; [.3D85.0020.0002.13063] # EGYPTIAN HIEROGLYPH C007
-13064 ; [.3D86.0020.0002.13064] # EGYPTIAN HIEROGLYPH C008
-13065 ; [.3D87.0020.0002.13065] # EGYPTIAN HIEROGLYPH C009
-13066 ; [.3D88.0020.0002.13066] # EGYPTIAN HIEROGLYPH C010
-13067 ; [.3D89.0020.0002.13067] # EGYPTIAN HIEROGLYPH C010A
-13068 ; [.3D8A.0020.0002.13068] # EGYPTIAN HIEROGLYPH C011
-13069 ; [.3D8B.0020.0002.13069] # EGYPTIAN HIEROGLYPH C012
-1306A ; [.3D8C.0020.0002.1306A] # EGYPTIAN HIEROGLYPH C013
-1306B ; [.3D8D.0020.0002.1306B] # EGYPTIAN HIEROGLYPH C014
-1306C ; [.3D8E.0020.0002.1306C] # EGYPTIAN HIEROGLYPH C015
-1306D ; [.3D8F.0020.0002.1306D] # EGYPTIAN HIEROGLYPH C016
-1306E ; [.3D90.0020.0002.1306E] # EGYPTIAN HIEROGLYPH C017
-1306F ; [.3D91.0020.0002.1306F] # EGYPTIAN HIEROGLYPH C018
-13070 ; [.3D92.0020.0002.13070] # EGYPTIAN HIEROGLYPH C019
-13071 ; [.3D93.0020.0002.13071] # EGYPTIAN HIEROGLYPH C020
-13072 ; [.3D94.0020.0002.13072] # EGYPTIAN HIEROGLYPH C021
-13073 ; [.3D95.0020.0002.13073] # EGYPTIAN HIEROGLYPH C022
-13074 ; [.3D96.0020.0002.13074] # EGYPTIAN HIEROGLYPH C023
-13075 ; [.3D97.0020.0002.13075] # EGYPTIAN HIEROGLYPH C024
-13076 ; [.3D98.0020.0002.13076] # EGYPTIAN HIEROGLYPH D001
-13077 ; [.3D99.0020.0002.13077] # EGYPTIAN HIEROGLYPH D002
-13078 ; [.3D9A.0020.0002.13078] # EGYPTIAN HIEROGLYPH D003
-13079 ; [.3D9B.0020.0002.13079] # EGYPTIAN HIEROGLYPH D004
-1307A ; [.3D9C.0020.0002.1307A] # EGYPTIAN HIEROGLYPH D005
-1307B ; [.3D9D.0020.0002.1307B] # EGYPTIAN HIEROGLYPH D006
-1307C ; [.3D9E.0020.0002.1307C] # EGYPTIAN HIEROGLYPH D007
-1307D ; [.3D9F.0020.0002.1307D] # EGYPTIAN HIEROGLYPH D008
-1307E ; [.3DA0.0020.0002.1307E] # EGYPTIAN HIEROGLYPH D008A
-1307F ; [.3DA1.0020.0002.1307F] # EGYPTIAN HIEROGLYPH D009
-13080 ; [.3DA2.0020.0002.13080] # EGYPTIAN HIEROGLYPH D010
-13081 ; [.3DA3.0020.0002.13081] # EGYPTIAN HIEROGLYPH D011
-13082 ; [.3DA4.0020.0002.13082] # EGYPTIAN HIEROGLYPH D012
-13083 ; [.3DA5.0020.0002.13083] # EGYPTIAN HIEROGLYPH D013
-13084 ; [.3DA6.0020.0002.13084] # EGYPTIAN HIEROGLYPH D014
-13085 ; [.3DA7.0020.0002.13085] # EGYPTIAN HIEROGLYPH D015
-13086 ; [.3DA8.0020.0002.13086] # EGYPTIAN HIEROGLYPH D016
-13087 ; [.3DA9.0020.0002.13087] # EGYPTIAN HIEROGLYPH D017
-13088 ; [.3DAA.0020.0002.13088] # EGYPTIAN HIEROGLYPH D018
-13089 ; [.3DAB.0020.0002.13089] # EGYPTIAN HIEROGLYPH D019
-1308A ; [.3DAC.0020.0002.1308A] # EGYPTIAN HIEROGLYPH D020
-1308B ; [.3DAD.0020.0002.1308B] # EGYPTIAN HIEROGLYPH D021
-1308C ; [.3DAE.0020.0002.1308C] # EGYPTIAN HIEROGLYPH D022
-1308D ; [.3DAF.0020.0002.1308D] # EGYPTIAN HIEROGLYPH D023
-1308E ; [.3DB0.0020.0002.1308E] # EGYPTIAN HIEROGLYPH D024
-1308F ; [.3DB1.0020.0002.1308F] # EGYPTIAN HIEROGLYPH D025
-13090 ; [.3DB2.0020.0002.13090] # EGYPTIAN HIEROGLYPH D026
-13091 ; [.3DB3.0020.0002.13091] # EGYPTIAN HIEROGLYPH D027
-13092 ; [.3DB4.0020.0002.13092] # EGYPTIAN HIEROGLYPH D027A
-13093 ; [.3DB5.0020.0002.13093] # EGYPTIAN HIEROGLYPH D028
-13094 ; [.3DB6.0020.0002.13094] # EGYPTIAN HIEROGLYPH D029
-13095 ; [.3DB7.0020.0002.13095] # EGYPTIAN HIEROGLYPH D030
-13096 ; [.3DB8.0020.0002.13096] # EGYPTIAN HIEROGLYPH D031
-13097 ; [.3DB9.0020.0002.13097] # EGYPTIAN HIEROGLYPH D031A
-13098 ; [.3DBA.0020.0002.13098] # EGYPTIAN HIEROGLYPH D032
-13099 ; [.3DBB.0020.0002.13099] # EGYPTIAN HIEROGLYPH D033
-1309A ; [.3DBC.0020.0002.1309A] # EGYPTIAN HIEROGLYPH D034
-1309B ; [.3DBD.0020.0002.1309B] # EGYPTIAN HIEROGLYPH D034A
-1309C ; [.3DBE.0020.0002.1309C] # EGYPTIAN HIEROGLYPH D035
-1309D ; [.3DBF.0020.0002.1309D] # EGYPTIAN HIEROGLYPH D036
-1309E ; [.3DC0.0020.0002.1309E] # EGYPTIAN HIEROGLYPH D037
-1309F ; [.3DC1.0020.0002.1309F] # EGYPTIAN HIEROGLYPH D038
-130A0 ; [.3DC2.0020.0002.130A0] # EGYPTIAN HIEROGLYPH D039
-130A1 ; [.3DC3.0020.0002.130A1] # EGYPTIAN HIEROGLYPH D040
-130A2 ; [.3DC4.0020.0002.130A2] # EGYPTIAN HIEROGLYPH D041
-130A3 ; [.3DC5.0020.0002.130A3] # EGYPTIAN HIEROGLYPH D042
-130A4 ; [.3DC6.0020.0002.130A4] # EGYPTIAN HIEROGLYPH D043
-130A5 ; [.3DC7.0020.0002.130A5] # EGYPTIAN HIEROGLYPH D044
-130A6 ; [.3DC8.0020.0002.130A6] # EGYPTIAN HIEROGLYPH D045
-130A7 ; [.3DC9.0020.0002.130A7] # EGYPTIAN HIEROGLYPH D046
-130A8 ; [.3DCA.0020.0002.130A8] # EGYPTIAN HIEROGLYPH D046A
-130A9 ; [.3DCB.0020.0002.130A9] # EGYPTIAN HIEROGLYPH D047
-130AA ; [.3DCC.0020.0002.130AA] # EGYPTIAN HIEROGLYPH D048
-130AB ; [.3DCD.0020.0002.130AB] # EGYPTIAN HIEROGLYPH D048A
-130AC ; [.3DCE.0020.0002.130AC] # EGYPTIAN HIEROGLYPH D049
-130AD ; [.3DCF.0020.0002.130AD] # EGYPTIAN HIEROGLYPH D050
-130AE ; [.3DD0.0020.0002.130AE] # EGYPTIAN HIEROGLYPH D050A
-130AF ; [.3DD1.0020.0002.130AF] # EGYPTIAN HIEROGLYPH D050B
-130B0 ; [.3DD2.0020.0002.130B0] # EGYPTIAN HIEROGLYPH D050C
-130B1 ; [.3DD3.0020.0002.130B1] # EGYPTIAN HIEROGLYPH D050D
-130B2 ; [.3DD4.0020.0002.130B2] # EGYPTIAN HIEROGLYPH D050E
-130B3 ; [.3DD5.0020.0002.130B3] # EGYPTIAN HIEROGLYPH D050F
-130B4 ; [.3DD6.0020.0002.130B4] # EGYPTIAN HIEROGLYPH D050G
-130B5 ; [.3DD7.0020.0002.130B5] # EGYPTIAN HIEROGLYPH D050H
-130B6 ; [.3DD8.0020.0002.130B6] # EGYPTIAN HIEROGLYPH D050I
-130B7 ; [.3DD9.0020.0002.130B7] # EGYPTIAN HIEROGLYPH D051
-130B8 ; [.3DDA.0020.0002.130B8] # EGYPTIAN HIEROGLYPH D052
-130B9 ; [.3DDB.0020.0002.130B9] # EGYPTIAN HIEROGLYPH D052A
-130BA ; [.3DDC.0020.0002.130BA] # EGYPTIAN HIEROGLYPH D053
-130BB ; [.3DDD.0020.0002.130BB] # EGYPTIAN HIEROGLYPH D054
-130BC ; [.3DDE.0020.0002.130BC] # EGYPTIAN HIEROGLYPH D054A
-130BD ; [.3DDF.0020.0002.130BD] # EGYPTIAN HIEROGLYPH D055
-130BE ; [.3DE0.0020.0002.130BE] # EGYPTIAN HIEROGLYPH D056
-130BF ; [.3DE1.0020.0002.130BF] # EGYPTIAN HIEROGLYPH D057
-130C0 ; [.3DE2.0020.0002.130C0] # EGYPTIAN HIEROGLYPH D058
-130C1 ; [.3DE3.0020.0002.130C1] # EGYPTIAN HIEROGLYPH D059
-130C2 ; [.3DE4.0020.0002.130C2] # EGYPTIAN HIEROGLYPH D060
-130C3 ; [.3DE5.0020.0002.130C3] # EGYPTIAN HIEROGLYPH D061
-130C4 ; [.3DE6.0020.0002.130C4] # EGYPTIAN HIEROGLYPH D062
-130C5 ; [.3DE7.0020.0002.130C5] # EGYPTIAN HIEROGLYPH D063
-130C6 ; [.3DE8.0020.0002.130C6] # EGYPTIAN HIEROGLYPH D064
-130C7 ; [.3DE9.0020.0002.130C7] # EGYPTIAN HIEROGLYPH D065
-130C8 ; [.3DEA.0020.0002.130C8] # EGYPTIAN HIEROGLYPH D066
-130C9 ; [.3DEB.0020.0002.130C9] # EGYPTIAN HIEROGLYPH D067
-130CA ; [.3DEC.0020.0002.130CA] # EGYPTIAN HIEROGLYPH D067A
-130CB ; [.3DED.0020.0002.130CB] # EGYPTIAN HIEROGLYPH D067B
-130CC ; [.3DEE.0020.0002.130CC] # EGYPTIAN HIEROGLYPH D067C
-130CD ; [.3DEF.0020.0002.130CD] # EGYPTIAN HIEROGLYPH D067D
-130CE ; [.3DF0.0020.0002.130CE] # EGYPTIAN HIEROGLYPH D067E
-130CF ; [.3DF1.0020.0002.130CF] # EGYPTIAN HIEROGLYPH D067F
-130D0 ; [.3DF2.0020.0002.130D0] # EGYPTIAN HIEROGLYPH D067G
-130D1 ; [.3DF3.0020.0002.130D1] # EGYPTIAN HIEROGLYPH D067H
-130D2 ; [.3DF4.0020.0002.130D2] # EGYPTIAN HIEROGLYPH E001
-130D3 ; [.3DF5.0020.0002.130D3] # EGYPTIAN HIEROGLYPH E002
-130D4 ; [.3DF6.0020.0002.130D4] # EGYPTIAN HIEROGLYPH E003
-130D5 ; [.3DF7.0020.0002.130D5] # EGYPTIAN HIEROGLYPH E004
-130D6 ; [.3DF8.0020.0002.130D6] # EGYPTIAN HIEROGLYPH E005
-130D7 ; [.3DF9.0020.0002.130D7] # EGYPTIAN HIEROGLYPH E006
-130D8 ; [.3DFA.0020.0002.130D8] # EGYPTIAN HIEROGLYPH E007
-130D9 ; [.3DFB.0020.0002.130D9] # EGYPTIAN HIEROGLYPH E008
-130DA ; [.3DFC.0020.0002.130DA] # EGYPTIAN HIEROGLYPH E008A
-130DB ; [.3DFD.0020.0002.130DB] # EGYPTIAN HIEROGLYPH E009
-130DC ; [.3DFE.0020.0002.130DC] # EGYPTIAN HIEROGLYPH E009A
-130DD ; [.3DFF.0020.0002.130DD] # EGYPTIAN HIEROGLYPH E010
-130DE ; [.3E00.0020.0002.130DE] # EGYPTIAN HIEROGLYPH E011
-130DF ; [.3E01.0020.0002.130DF] # EGYPTIAN HIEROGLYPH E012
-130E0 ; [.3E02.0020.0002.130E0] # EGYPTIAN HIEROGLYPH E013
-130E1 ; [.3E03.0020.0002.130E1] # EGYPTIAN HIEROGLYPH E014
-130E2 ; [.3E04.0020.0002.130E2] # EGYPTIAN HIEROGLYPH E015
-130E3 ; [.3E05.0020.0002.130E3] # EGYPTIAN HIEROGLYPH E016
-130E4 ; [.3E06.0020.0002.130E4] # EGYPTIAN HIEROGLYPH E016A
-130E5 ; [.3E07.0020.0002.130E5] # EGYPTIAN HIEROGLYPH E017
-130E6 ; [.3E08.0020.0002.130E6] # EGYPTIAN HIEROGLYPH E017A
-130E7 ; [.3E09.0020.0002.130E7] # EGYPTIAN HIEROGLYPH E018
-130E8 ; [.3E0A.0020.0002.130E8] # EGYPTIAN HIEROGLYPH E019
-130E9 ; [.3E0B.0020.0002.130E9] # EGYPTIAN HIEROGLYPH E020
-130EA ; [.3E0C.0020.0002.130EA] # EGYPTIAN HIEROGLYPH E020A
-130EB ; [.3E0D.0020.0002.130EB] # EGYPTIAN HIEROGLYPH E021
-130EC ; [.3E0E.0020.0002.130EC] # EGYPTIAN HIEROGLYPH E022
-130ED ; [.3E0F.0020.0002.130ED] # EGYPTIAN HIEROGLYPH E023
-130EE ; [.3E10.0020.0002.130EE] # EGYPTIAN HIEROGLYPH E024
-130EF ; [.3E11.0020.0002.130EF] # EGYPTIAN HIEROGLYPH E025
-130F0 ; [.3E12.0020.0002.130F0] # EGYPTIAN HIEROGLYPH E026
-130F1 ; [.3E13.0020.0002.130F1] # EGYPTIAN HIEROGLYPH E027
-130F2 ; [.3E14.0020.0002.130F2] # EGYPTIAN HIEROGLYPH E028
-130F3 ; [.3E15.0020.0002.130F3] # EGYPTIAN HIEROGLYPH E028A
-130F4 ; [.3E16.0020.0002.130F4] # EGYPTIAN HIEROGLYPH E029
-130F5 ; [.3E17.0020.0002.130F5] # EGYPTIAN HIEROGLYPH E030
-130F6 ; [.3E18.0020.0002.130F6] # EGYPTIAN HIEROGLYPH E031
-130F7 ; [.3E19.0020.0002.130F7] # EGYPTIAN HIEROGLYPH E032
-130F8 ; [.3E1A.0020.0002.130F8] # EGYPTIAN HIEROGLYPH E033
-130F9 ; [.3E1B.0020.0002.130F9] # EGYPTIAN HIEROGLYPH E034
-130FA ; [.3E1C.0020.0002.130FA] # EGYPTIAN HIEROGLYPH E034A
-130FB ; [.3E1D.0020.0002.130FB] # EGYPTIAN HIEROGLYPH E036
-130FC ; [.3E1E.0020.0002.130FC] # EGYPTIAN HIEROGLYPH E037
-130FD ; [.3E1F.0020.0002.130FD] # EGYPTIAN HIEROGLYPH E038
-130FE ; [.3E20.0020.0002.130FE] # EGYPTIAN HIEROGLYPH F001
-130FF ; [.3E21.0020.0002.130FF] # EGYPTIAN HIEROGLYPH F001A
-13100 ; [.3E22.0020.0002.13100] # EGYPTIAN HIEROGLYPH F002
-13101 ; [.3E23.0020.0002.13101] # EGYPTIAN HIEROGLYPH F003
-13102 ; [.3E24.0020.0002.13102] # EGYPTIAN HIEROGLYPH F004
-13103 ; [.3E25.0020.0002.13103] # EGYPTIAN HIEROGLYPH F005
-13104 ; [.3E26.0020.0002.13104] # EGYPTIAN HIEROGLYPH F006
-13105 ; [.3E27.0020.0002.13105] # EGYPTIAN HIEROGLYPH F007
-13106 ; [.3E28.0020.0002.13106] # EGYPTIAN HIEROGLYPH F008
-13107 ; [.3E29.0020.0002.13107] # EGYPTIAN HIEROGLYPH F009
-13108 ; [.3E2A.0020.0002.13108] # EGYPTIAN HIEROGLYPH F010
-13109 ; [.3E2B.0020.0002.13109] # EGYPTIAN HIEROGLYPH F011
-1310A ; [.3E2C.0020.0002.1310A] # EGYPTIAN HIEROGLYPH F012
-1310B ; [.3E2D.0020.0002.1310B] # EGYPTIAN HIEROGLYPH F013
-1310C ; [.3E2E.0020.0002.1310C] # EGYPTIAN HIEROGLYPH F013A
-1310D ; [.3E2F.0020.0002.1310D] # EGYPTIAN HIEROGLYPH F014
-1310E ; [.3E30.0020.0002.1310E] # EGYPTIAN HIEROGLYPH F015
-1310F ; [.3E31.0020.0002.1310F] # EGYPTIAN HIEROGLYPH F016
-13110 ; [.3E32.0020.0002.13110] # EGYPTIAN HIEROGLYPH F017
-13111 ; [.3E33.0020.0002.13111] # EGYPTIAN HIEROGLYPH F018
-13112 ; [.3E34.0020.0002.13112] # EGYPTIAN HIEROGLYPH F019
-13113 ; [.3E35.0020.0002.13113] # EGYPTIAN HIEROGLYPH F020
-13114 ; [.3E36.0020.0002.13114] # EGYPTIAN HIEROGLYPH F021
-13115 ; [.3E37.0020.0002.13115] # EGYPTIAN HIEROGLYPH F021A
-13116 ; [.3E38.0020.0002.13116] # EGYPTIAN HIEROGLYPH F022
-13117 ; [.3E39.0020.0002.13117] # EGYPTIAN HIEROGLYPH F023
-13118 ; [.3E3A.0020.0002.13118] # EGYPTIAN HIEROGLYPH F024
-13119 ; [.3E3B.0020.0002.13119] # EGYPTIAN HIEROGLYPH F025
-1311A ; [.3E3C.0020.0002.1311A] # EGYPTIAN HIEROGLYPH F026
-1311B ; [.3E3D.0020.0002.1311B] # EGYPTIAN HIEROGLYPH F027
-1311C ; [.3E3E.0020.0002.1311C] # EGYPTIAN HIEROGLYPH F028
-1311D ; [.3E3F.0020.0002.1311D] # EGYPTIAN HIEROGLYPH F029
-1311E ; [.3E40.0020.0002.1311E] # EGYPTIAN HIEROGLYPH F030
-1311F ; [.3E41.0020.0002.1311F] # EGYPTIAN HIEROGLYPH F031
-13120 ; [.3E42.0020.0002.13120] # EGYPTIAN HIEROGLYPH F031A
-13121 ; [.3E43.0020.0002.13121] # EGYPTIAN HIEROGLYPH F032
-13122 ; [.3E44.0020.0002.13122] # EGYPTIAN HIEROGLYPH F033
-13123 ; [.3E45.0020.0002.13123] # EGYPTIAN HIEROGLYPH F034
-13124 ; [.3E46.0020.0002.13124] # EGYPTIAN HIEROGLYPH F035
-13125 ; [.3E47.0020.0002.13125] # EGYPTIAN HIEROGLYPH F036
-13126 ; [.3E48.0020.0002.13126] # EGYPTIAN HIEROGLYPH F037
-13127 ; [.3E49.0020.0002.13127] # EGYPTIAN HIEROGLYPH F037A
-13128 ; [.3E4A.0020.0002.13128] # EGYPTIAN HIEROGLYPH F038
-13129 ; [.3E4B.0020.0002.13129] # EGYPTIAN HIEROGLYPH F038A
-1312A ; [.3E4C.0020.0002.1312A] # EGYPTIAN HIEROGLYPH F039
-1312B ; [.3E4D.0020.0002.1312B] # EGYPTIAN HIEROGLYPH F040
-1312C ; [.3E4E.0020.0002.1312C] # EGYPTIAN HIEROGLYPH F041
-1312D ; [.3E4F.0020.0002.1312D] # EGYPTIAN HIEROGLYPH F042
-1312E ; [.3E50.0020.0002.1312E] # EGYPTIAN HIEROGLYPH F043
-1312F ; [.3E51.0020.0002.1312F] # EGYPTIAN HIEROGLYPH F044
-13130 ; [.3E52.0020.0002.13130] # EGYPTIAN HIEROGLYPH F045
-13131 ; [.3E53.0020.0002.13131] # EGYPTIAN HIEROGLYPH F045A
-13132 ; [.3E54.0020.0002.13132] # EGYPTIAN HIEROGLYPH F046
-13133 ; [.3E55.0020.0002.13133] # EGYPTIAN HIEROGLYPH F046A
-13134 ; [.3E56.0020.0002.13134] # EGYPTIAN HIEROGLYPH F047
-13135 ; [.3E57.0020.0002.13135] # EGYPTIAN HIEROGLYPH F047A
-13136 ; [.3E58.0020.0002.13136] # EGYPTIAN HIEROGLYPH F048
-13137 ; [.3E59.0020.0002.13137] # EGYPTIAN HIEROGLYPH F049
-13138 ; [.3E5A.0020.0002.13138] # EGYPTIAN HIEROGLYPH F050
-13139 ; [.3E5B.0020.0002.13139] # EGYPTIAN HIEROGLYPH F051
-1313A ; [.3E5C.0020.0002.1313A] # EGYPTIAN HIEROGLYPH F051A
-1313B ; [.3E5D.0020.0002.1313B] # EGYPTIAN HIEROGLYPH F051B
-1313C ; [.3E5E.0020.0002.1313C] # EGYPTIAN HIEROGLYPH F051C
-1313D ; [.3E5F.0020.0002.1313D] # EGYPTIAN HIEROGLYPH F052
-1313E ; [.3E60.0020.0002.1313E] # EGYPTIAN HIEROGLYPH F053
-1313F ; [.3E61.0020.0002.1313F] # EGYPTIAN HIEROGLYPH G001
-13140 ; [.3E62.0020.0002.13140] # EGYPTIAN HIEROGLYPH G002
-13141 ; [.3E63.0020.0002.13141] # EGYPTIAN HIEROGLYPH G003
-13142 ; [.3E64.0020.0002.13142] # EGYPTIAN HIEROGLYPH G004
-13143 ; [.3E65.0020.0002.13143] # EGYPTIAN HIEROGLYPH G005
-13144 ; [.3E66.0020.0002.13144] # EGYPTIAN HIEROGLYPH G006
-13145 ; [.3E67.0020.0002.13145] # EGYPTIAN HIEROGLYPH G006A
-13146 ; [.3E68.0020.0002.13146] # EGYPTIAN HIEROGLYPH G007
-13147 ; [.3E69.0020.0002.13147] # EGYPTIAN HIEROGLYPH G007A
-13148 ; [.3E6A.0020.0002.13148] # EGYPTIAN HIEROGLYPH G007B
-13149 ; [.3E6B.0020.0002.13149] # EGYPTIAN HIEROGLYPH G008
-1314A ; [.3E6C.0020.0002.1314A] # EGYPTIAN HIEROGLYPH G009
-1314B ; [.3E6D.0020.0002.1314B] # EGYPTIAN HIEROGLYPH G010
-1314C ; [.3E6E.0020.0002.1314C] # EGYPTIAN HIEROGLYPH G011
-1314D ; [.3E6F.0020.0002.1314D] # EGYPTIAN HIEROGLYPH G011A
-1314E ; [.3E70.0020.0002.1314E] # EGYPTIAN HIEROGLYPH G012
-1314F ; [.3E71.0020.0002.1314F] # EGYPTIAN HIEROGLYPH G013
-13150 ; [.3E72.0020.0002.13150] # EGYPTIAN HIEROGLYPH G014
-13151 ; [.3E73.0020.0002.13151] # EGYPTIAN HIEROGLYPH G015
-13152 ; [.3E74.0020.0002.13152] # EGYPTIAN HIEROGLYPH G016
-13153 ; [.3E75.0020.0002.13153] # EGYPTIAN HIEROGLYPH G017
-13154 ; [.3E76.0020.0002.13154] # EGYPTIAN HIEROGLYPH G018
-13155 ; [.3E77.0020.0002.13155] # EGYPTIAN HIEROGLYPH G019
-13156 ; [.3E78.0020.0002.13156] # EGYPTIAN HIEROGLYPH G020
-13157 ; [.3E79.0020.0002.13157] # EGYPTIAN HIEROGLYPH G020A
-13158 ; [.3E7A.0020.0002.13158] # EGYPTIAN HIEROGLYPH G021
-13159 ; [.3E7B.0020.0002.13159] # EGYPTIAN HIEROGLYPH G022
-1315A ; [.3E7C.0020.0002.1315A] # EGYPTIAN HIEROGLYPH G023
-1315B ; [.3E7D.0020.0002.1315B] # EGYPTIAN HIEROGLYPH G024
-1315C ; [.3E7E.0020.0002.1315C] # EGYPTIAN HIEROGLYPH G025
-1315D ; [.3E7F.0020.0002.1315D] # EGYPTIAN HIEROGLYPH G026
-1315E ; [.3E80.0020.0002.1315E] # EGYPTIAN HIEROGLYPH G026A
-1315F ; [.3E81.0020.0002.1315F] # EGYPTIAN HIEROGLYPH G027
-13160 ; [.3E82.0020.0002.13160] # EGYPTIAN HIEROGLYPH G028
-13161 ; [.3E83.0020.0002.13161] # EGYPTIAN HIEROGLYPH G029
-13162 ; [.3E84.0020.0002.13162] # EGYPTIAN HIEROGLYPH G030
-13163 ; [.3E85.0020.0002.13163] # EGYPTIAN HIEROGLYPH G031
-13164 ; [.3E86.0020.0002.13164] # EGYPTIAN HIEROGLYPH G032
-13165 ; [.3E87.0020.0002.13165] # EGYPTIAN HIEROGLYPH G033
-13166 ; [.3E88.0020.0002.13166] # EGYPTIAN HIEROGLYPH G034
-13167 ; [.3E89.0020.0002.13167] # EGYPTIAN HIEROGLYPH G035
-13168 ; [.3E8A.0020.0002.13168] # EGYPTIAN HIEROGLYPH G036
-13169 ; [.3E8B.0020.0002.13169] # EGYPTIAN HIEROGLYPH G036A
-1316A ; [.3E8C.0020.0002.1316A] # EGYPTIAN HIEROGLYPH G037
-1316B ; [.3E8D.0020.0002.1316B] # EGYPTIAN HIEROGLYPH G037A
-1316C ; [.3E8E.0020.0002.1316C] # EGYPTIAN HIEROGLYPH G038
-1316D ; [.3E8F.0020.0002.1316D] # EGYPTIAN HIEROGLYPH G039
-1316E ; [.3E90.0020.0002.1316E] # EGYPTIAN HIEROGLYPH G040
-1316F ; [.3E91.0020.0002.1316F] # EGYPTIAN HIEROGLYPH G041
-13170 ; [.3E92.0020.0002.13170] # EGYPTIAN HIEROGLYPH G042
-13171 ; [.3E93.0020.0002.13171] # EGYPTIAN HIEROGLYPH G043
-13172 ; [.3E94.0020.0002.13172] # EGYPTIAN HIEROGLYPH G043A
-13173 ; [.3E95.0020.0002.13173] # EGYPTIAN HIEROGLYPH G044
-13174 ; [.3E96.0020.0002.13174] # EGYPTIAN HIEROGLYPH G045
-13175 ; [.3E97.0020.0002.13175] # EGYPTIAN HIEROGLYPH G045A
-13176 ; [.3E98.0020.0002.13176] # EGYPTIAN HIEROGLYPH G046
-13177 ; [.3E99.0020.0002.13177] # EGYPTIAN HIEROGLYPH G047
-13178 ; [.3E9A.0020.0002.13178] # EGYPTIAN HIEROGLYPH G048
-13179 ; [.3E9B.0020.0002.13179] # EGYPTIAN HIEROGLYPH G049
-1317A ; [.3E9C.0020.0002.1317A] # EGYPTIAN HIEROGLYPH G050
-1317B ; [.3E9D.0020.0002.1317B] # EGYPTIAN HIEROGLYPH G051
-1317C ; [.3E9E.0020.0002.1317C] # EGYPTIAN HIEROGLYPH G052
-1317D ; [.3E9F.0020.0002.1317D] # EGYPTIAN HIEROGLYPH G053
-1317E ; [.3EA0.0020.0002.1317E] # EGYPTIAN HIEROGLYPH G054
-1317F ; [.3EA1.0020.0002.1317F] # EGYPTIAN HIEROGLYPH H001
-13180 ; [.3EA2.0020.0002.13180] # EGYPTIAN HIEROGLYPH H002
-13181 ; [.3EA3.0020.0002.13181] # EGYPTIAN HIEROGLYPH H003
-13182 ; [.3EA4.0020.0002.13182] # EGYPTIAN HIEROGLYPH H004
-13183 ; [.3EA5.0020.0002.13183] # EGYPTIAN HIEROGLYPH H005
-13184 ; [.3EA6.0020.0002.13184] # EGYPTIAN HIEROGLYPH H006
-13185 ; [.3EA7.0020.0002.13185] # EGYPTIAN HIEROGLYPH H006A
-13186 ; [.3EA8.0020.0002.13186] # EGYPTIAN HIEROGLYPH H007
-13187 ; [.3EA9.0020.0002.13187] # EGYPTIAN HIEROGLYPH H008
-13188 ; [.3EAA.0020.0002.13188] # EGYPTIAN HIEROGLYPH I001
-13189 ; [.3EAB.0020.0002.13189] # EGYPTIAN HIEROGLYPH I002
-1318A ; [.3EAC.0020.0002.1318A] # EGYPTIAN HIEROGLYPH I003
-1318B ; [.3EAD.0020.0002.1318B] # EGYPTIAN HIEROGLYPH I004
-1318C ; [.3EAE.0020.0002.1318C] # EGYPTIAN HIEROGLYPH I005
-1318D ; [.3EAF.0020.0002.1318D] # EGYPTIAN HIEROGLYPH I005A
-1318E ; [.3EB0.0020.0002.1318E] # EGYPTIAN HIEROGLYPH I006
-1318F ; [.3EB1.0020.0002.1318F] # EGYPTIAN HIEROGLYPH I007
-13190 ; [.3EB2.0020.0002.13190] # EGYPTIAN HIEROGLYPH I008
-13191 ; [.3EB3.0020.0002.13191] # EGYPTIAN HIEROGLYPH I009
-13192 ; [.3EB4.0020.0002.13192] # EGYPTIAN HIEROGLYPH I009A
-13193 ; [.3EB5.0020.0002.13193] # EGYPTIAN HIEROGLYPH I010
-13194 ; [.3EB6.0020.0002.13194] # EGYPTIAN HIEROGLYPH I010A
-13195 ; [.3EB7.0020.0002.13195] # EGYPTIAN HIEROGLYPH I011
-13196 ; [.3EB8.0020.0002.13196] # EGYPTIAN HIEROGLYPH I011A
-13197 ; [.3EB9.0020.0002.13197] # EGYPTIAN HIEROGLYPH I012
-13198 ; [.3EBA.0020.0002.13198] # EGYPTIAN HIEROGLYPH I013
-13199 ; [.3EBB.0020.0002.13199] # EGYPTIAN HIEROGLYPH I014
-1319A ; [.3EBC.0020.0002.1319A] # EGYPTIAN HIEROGLYPH I015
-1319B ; [.3EBD.0020.0002.1319B] # EGYPTIAN HIEROGLYPH K001
-1319C ; [.3EBE.0020.0002.1319C] # EGYPTIAN HIEROGLYPH K002
-1319D ; [.3EBF.0020.0002.1319D] # EGYPTIAN HIEROGLYPH K003
-1319E ; [.3EC0.0020.0002.1319E] # EGYPTIAN HIEROGLYPH K004
-1319F ; [.3EC1.0020.0002.1319F] # EGYPTIAN HIEROGLYPH K005
-131A0 ; [.3EC2.0020.0002.131A0] # EGYPTIAN HIEROGLYPH K006
-131A1 ; [.3EC3.0020.0002.131A1] # EGYPTIAN HIEROGLYPH K007
-131A2 ; [.3EC4.0020.0002.131A2] # EGYPTIAN HIEROGLYPH K008
-131A3 ; [.3EC5.0020.0002.131A3] # EGYPTIAN HIEROGLYPH L001
-131A4 ; [.3EC6.0020.0002.131A4] # EGYPTIAN HIEROGLYPH L002
-131A5 ; [.3EC7.0020.0002.131A5] # EGYPTIAN HIEROGLYPH L002A
-131A6 ; [.3EC8.0020.0002.131A6] # EGYPTIAN HIEROGLYPH L003
-131A7 ; [.3EC9.0020.0002.131A7] # EGYPTIAN HIEROGLYPH L004
-131A8 ; [.3ECA.0020.0002.131A8] # EGYPTIAN HIEROGLYPH L005
-131A9 ; [.3ECB.0020.0002.131A9] # EGYPTIAN HIEROGLYPH L006
-131AA ; [.3ECC.0020.0002.131AA] # EGYPTIAN HIEROGLYPH L006A
-131AB ; [.3ECD.0020.0002.131AB] # EGYPTIAN HIEROGLYPH L007
-131AC ; [.3ECE.0020.0002.131AC] # EGYPTIAN HIEROGLYPH L008
-131AD ; [.3ECF.0020.0002.131AD] # EGYPTIAN HIEROGLYPH M001
-131AE ; [.3ED0.0020.0002.131AE] # EGYPTIAN HIEROGLYPH M001A
-131AF ; [.3ED1.0020.0002.131AF] # EGYPTIAN HIEROGLYPH M001B
-131B0 ; [.3ED2.0020.0002.131B0] # EGYPTIAN HIEROGLYPH M002
-131B1 ; [.3ED3.0020.0002.131B1] # EGYPTIAN HIEROGLYPH M003
-131B2 ; [.3ED4.0020.0002.131B2] # EGYPTIAN HIEROGLYPH M003A
-131B3 ; [.3ED5.0020.0002.131B3] # EGYPTIAN HIEROGLYPH M004
-131B4 ; [.3ED6.0020.0002.131B4] # EGYPTIAN HIEROGLYPH M005
-131B5 ; [.3ED7.0020.0002.131B5] # EGYPTIAN HIEROGLYPH M006
-131B6 ; [.3ED8.0020.0002.131B6] # EGYPTIAN HIEROGLYPH M007
-131B7 ; [.3ED9.0020.0002.131B7] # EGYPTIAN HIEROGLYPH M008
-131B8 ; [.3EDA.0020.0002.131B8] # EGYPTIAN HIEROGLYPH M009
-131B9 ; [.3EDB.0020.0002.131B9] # EGYPTIAN HIEROGLYPH M010
-131BA ; [.3EDC.0020.0002.131BA] # EGYPTIAN HIEROGLYPH M010A
-131BB ; [.3EDD.0020.0002.131BB] # EGYPTIAN HIEROGLYPH M011
-131BC ; [.3EDE.0020.0002.131BC] # EGYPTIAN HIEROGLYPH M012
-131BD ; [.3EDF.0020.0002.131BD] # EGYPTIAN HIEROGLYPH M012A
-131BE ; [.3EE0.0020.0002.131BE] # EGYPTIAN HIEROGLYPH M012B
-131BF ; [.3EE1.0020.0002.131BF] # EGYPTIAN HIEROGLYPH M012C
-131C0 ; [.3EE2.0020.0002.131C0] # EGYPTIAN HIEROGLYPH M012D
-131C1 ; [.3EE3.0020.0002.131C1] # EGYPTIAN HIEROGLYPH M012E
-131C2 ; [.3EE4.0020.0002.131C2] # EGYPTIAN HIEROGLYPH M012F
-131C3 ; [.3EE5.0020.0002.131C3] # EGYPTIAN HIEROGLYPH M012G
-131C4 ; [.3EE6.0020.0002.131C4] # EGYPTIAN HIEROGLYPH M012H
-131C5 ; [.3EE7.0020.0002.131C5] # EGYPTIAN HIEROGLYPH M013
-131C6 ; [.3EE8.0020.0002.131C6] # EGYPTIAN HIEROGLYPH M014
-131C7 ; [.3EE9.0020.0002.131C7] # EGYPTIAN HIEROGLYPH M015
-131C8 ; [.3EEA.0020.0002.131C8] # EGYPTIAN HIEROGLYPH M015A
-131C9 ; [.3EEB.0020.0002.131C9] # EGYPTIAN HIEROGLYPH M016
-131CA ; [.3EEC.0020.0002.131CA] # EGYPTIAN HIEROGLYPH M016A
-131CB ; [.3EED.0020.0002.131CB] # EGYPTIAN HIEROGLYPH M017
-131CC ; [.3EEE.0020.0002.131CC] # EGYPTIAN HIEROGLYPH M017A
-131CD ; [.3EEF.0020.0002.131CD] # EGYPTIAN HIEROGLYPH M018
-131CE ; [.3EF0.0020.0002.131CE] # EGYPTIAN HIEROGLYPH M019
-131CF ; [.3EF1.0020.0002.131CF] # EGYPTIAN HIEROGLYPH M020
-131D0 ; [.3EF2.0020.0002.131D0] # EGYPTIAN HIEROGLYPH M021
-131D1 ; [.3EF3.0020.0002.131D1] # EGYPTIAN HIEROGLYPH M022
-131D2 ; [.3EF4.0020.0002.131D2] # EGYPTIAN HIEROGLYPH M022A
-131D3 ; [.3EF5.0020.0002.131D3] # EGYPTIAN HIEROGLYPH M023
-131D4 ; [.3EF6.0020.0002.131D4] # EGYPTIAN HIEROGLYPH M024
-131D5 ; [.3EF7.0020.0002.131D5] # EGYPTIAN HIEROGLYPH M024A
-131D6 ; [.3EF8.0020.0002.131D6] # EGYPTIAN HIEROGLYPH M025
-131D7 ; [.3EF9.0020.0002.131D7] # EGYPTIAN HIEROGLYPH M026
-131D8 ; [.3EFA.0020.0002.131D8] # EGYPTIAN HIEROGLYPH M027
-131D9 ; [.3EFB.0020.0002.131D9] # EGYPTIAN HIEROGLYPH M028
-131DA ; [.3EFC.0020.0002.131DA] # EGYPTIAN HIEROGLYPH M028A
-131DB ; [.3EFD.0020.0002.131DB] # EGYPTIAN HIEROGLYPH M029
-131DC ; [.3EFE.0020.0002.131DC] # EGYPTIAN HIEROGLYPH M030
-131DD ; [.3EFF.0020.0002.131DD] # EGYPTIAN HIEROGLYPH M031
-131DE ; [.3F00.0020.0002.131DE] # EGYPTIAN HIEROGLYPH M031A
-131DF ; [.3F01.0020.0002.131DF] # EGYPTIAN HIEROGLYPH M032
-131E0 ; [.3F02.0020.0002.131E0] # EGYPTIAN HIEROGLYPH M033
-131E1 ; [.3F03.0020.0002.131E1] # EGYPTIAN HIEROGLYPH M033A
-131E2 ; [.3F04.0020.0002.131E2] # EGYPTIAN HIEROGLYPH M033B
-131E3 ; [.3F05.0020.0002.131E3] # EGYPTIAN HIEROGLYPH M034
-131E4 ; [.3F06.0020.0002.131E4] # EGYPTIAN HIEROGLYPH M035
-131E5 ; [.3F07.0020.0002.131E5] # EGYPTIAN HIEROGLYPH M036
-131E6 ; [.3F08.0020.0002.131E6] # EGYPTIAN HIEROGLYPH M037
-131E7 ; [.3F09.0020.0002.131E7] # EGYPTIAN HIEROGLYPH M038
-131E8 ; [.3F0A.0020.0002.131E8] # EGYPTIAN HIEROGLYPH M039
-131E9 ; [.3F0B.0020.0002.131E9] # EGYPTIAN HIEROGLYPH M040
-131EA ; [.3F0C.0020.0002.131EA] # EGYPTIAN HIEROGLYPH M040A
-131EB ; [.3F0D.0020.0002.131EB] # EGYPTIAN HIEROGLYPH M041
-131EC ; [.3F0E.0020.0002.131EC] # EGYPTIAN HIEROGLYPH M042
-131ED ; [.3F0F.0020.0002.131ED] # EGYPTIAN HIEROGLYPH M043
-131EE ; [.3F10.0020.0002.131EE] # EGYPTIAN HIEROGLYPH M044
-131EF ; [.3F11.0020.0002.131EF] # EGYPTIAN HIEROGLYPH N001
-131F0 ; [.3F12.0020.0002.131F0] # EGYPTIAN HIEROGLYPH N002
-131F1 ; [.3F13.0020.0002.131F1] # EGYPTIAN HIEROGLYPH N003
-131F2 ; [.3F14.0020.0002.131F2] # EGYPTIAN HIEROGLYPH N004
-131F3 ; [.3F15.0020.0002.131F3] # EGYPTIAN HIEROGLYPH N005
-131F4 ; [.3F16.0020.0002.131F4] # EGYPTIAN HIEROGLYPH N006
-131F5 ; [.3F17.0020.0002.131F5] # EGYPTIAN HIEROGLYPH N007
-131F6 ; [.3F18.0020.0002.131F6] # EGYPTIAN HIEROGLYPH N008
-131F7 ; [.3F19.0020.0002.131F7] # EGYPTIAN HIEROGLYPH N009
-131F8 ; [.3F1A.0020.0002.131F8] # EGYPTIAN HIEROGLYPH N010
-131F9 ; [.3F1B.0020.0002.131F9] # EGYPTIAN HIEROGLYPH N011
-131FA ; [.3F1C.0020.0002.131FA] # EGYPTIAN HIEROGLYPH N012
-131FB ; [.3F1D.0020.0002.131FB] # EGYPTIAN HIEROGLYPH N013
-131FC ; [.3F1E.0020.0002.131FC] # EGYPTIAN HIEROGLYPH N014
-131FD ; [.3F1F.0020.0002.131FD] # EGYPTIAN HIEROGLYPH N015
-131FE ; [.3F20.0020.0002.131FE] # EGYPTIAN HIEROGLYPH N016
-131FF ; [.3F21.0020.0002.131FF] # EGYPTIAN HIEROGLYPH N017
-13200 ; [.3F22.0020.0002.13200] # EGYPTIAN HIEROGLYPH N018
-13201 ; [.3F23.0020.0002.13201] # EGYPTIAN HIEROGLYPH N018A
-13202 ; [.3F24.0020.0002.13202] # EGYPTIAN HIEROGLYPH N018B
-13203 ; [.3F25.0020.0002.13203] # EGYPTIAN HIEROGLYPH N019
-13204 ; [.3F26.0020.0002.13204] # EGYPTIAN HIEROGLYPH N020
-13205 ; [.3F27.0020.0002.13205] # EGYPTIAN HIEROGLYPH N021
-13206 ; [.3F28.0020.0002.13206] # EGYPTIAN HIEROGLYPH N022
-13207 ; [.3F29.0020.0002.13207] # EGYPTIAN HIEROGLYPH N023
-13208 ; [.3F2A.0020.0002.13208] # EGYPTIAN HIEROGLYPH N024
-13209 ; [.3F2B.0020.0002.13209] # EGYPTIAN HIEROGLYPH N025
-1320A ; [.3F2C.0020.0002.1320A] # EGYPTIAN HIEROGLYPH N025A
-1320B ; [.3F2D.0020.0002.1320B] # EGYPTIAN HIEROGLYPH N026
-1320C ; [.3F2E.0020.0002.1320C] # EGYPTIAN HIEROGLYPH N027
-1320D ; [.3F2F.0020.0002.1320D] # EGYPTIAN HIEROGLYPH N028
-1320E ; [.3F30.0020.0002.1320E] # EGYPTIAN HIEROGLYPH N029
-1320F ; [.3F31.0020.0002.1320F] # EGYPTIAN HIEROGLYPH N030
-13210 ; [.3F32.0020.0002.13210] # EGYPTIAN HIEROGLYPH N031
-13211 ; [.3F33.0020.0002.13211] # EGYPTIAN HIEROGLYPH N032
-13212 ; [.3F34.0020.0002.13212] # EGYPTIAN HIEROGLYPH N033
-13213 ; [.3F35.0020.0002.13213] # EGYPTIAN HIEROGLYPH N033A
-13214 ; [.3F36.0020.0002.13214] # EGYPTIAN HIEROGLYPH N034
-13215 ; [.3F37.0020.0002.13215] # EGYPTIAN HIEROGLYPH N034A
-13216 ; [.3F38.0020.0002.13216] # EGYPTIAN HIEROGLYPH N035
-13217 ; [.3F39.0020.0002.13217] # EGYPTIAN HIEROGLYPH N035A
-13218 ; [.3F3A.0020.0002.13218] # EGYPTIAN HIEROGLYPH N036
-13219 ; [.3F3B.0020.0002.13219] # EGYPTIAN HIEROGLYPH N037
-1321A ; [.3F3C.0020.0002.1321A] # EGYPTIAN HIEROGLYPH N037A
-1321B ; [.3F3D.0020.0002.1321B] # EGYPTIAN HIEROGLYPH N038
-1321C ; [.3F3E.0020.0002.1321C] # EGYPTIAN HIEROGLYPH N039
-1321D ; [.3F3F.0020.0002.1321D] # EGYPTIAN HIEROGLYPH N040
-1321E ; [.3F40.0020.0002.1321E] # EGYPTIAN HIEROGLYPH N041
-1321F ; [.3F41.0020.0002.1321F] # EGYPTIAN HIEROGLYPH N042
-13220 ; [.3F42.0020.0002.13220] # EGYPTIAN HIEROGLYPH NL001
-13221 ; [.3F43.0020.0002.13221] # EGYPTIAN HIEROGLYPH NL002
-13222 ; [.3F44.0020.0002.13222] # EGYPTIAN HIEROGLYPH NL003
-13223 ; [.3F45.0020.0002.13223] # EGYPTIAN HIEROGLYPH NL004
-13224 ; [.3F46.0020.0002.13224] # EGYPTIAN HIEROGLYPH NL005
-13225 ; [.3F47.0020.0002.13225] # EGYPTIAN HIEROGLYPH NL005A
-13226 ; [.3F48.0020.0002.13226] # EGYPTIAN HIEROGLYPH NL006
-13227 ; [.3F49.0020.0002.13227] # EGYPTIAN HIEROGLYPH NL007
-13228 ; [.3F4A.0020.0002.13228] # EGYPTIAN HIEROGLYPH NL008
-13229 ; [.3F4B.0020.0002.13229] # EGYPTIAN HIEROGLYPH NL009
-1322A ; [.3F4C.0020.0002.1322A] # EGYPTIAN HIEROGLYPH NL010
-1322B ; [.3F4D.0020.0002.1322B] # EGYPTIAN HIEROGLYPH NL011
-1322C ; [.3F4E.0020.0002.1322C] # EGYPTIAN HIEROGLYPH NL012
-1322D ; [.3F4F.0020.0002.1322D] # EGYPTIAN HIEROGLYPH NL013
-1322E ; [.3F50.0020.0002.1322E] # EGYPTIAN HIEROGLYPH NL014
-1322F ; [.3F51.0020.0002.1322F] # EGYPTIAN HIEROGLYPH NL015
-13230 ; [.3F52.0020.0002.13230] # EGYPTIAN HIEROGLYPH NL016
-13231 ; [.3F53.0020.0002.13231] # EGYPTIAN HIEROGLYPH NL017
-13232 ; [.3F54.0020.0002.13232] # EGYPTIAN HIEROGLYPH NL017A
-13233 ; [.3F55.0020.0002.13233] # EGYPTIAN HIEROGLYPH NL018
-13234 ; [.3F56.0020.0002.13234] # EGYPTIAN HIEROGLYPH NL019
-13235 ; [.3F57.0020.0002.13235] # EGYPTIAN HIEROGLYPH NL020
-13236 ; [.3F58.0020.0002.13236] # EGYPTIAN HIEROGLYPH NU001
-13237 ; [.3F59.0020.0002.13237] # EGYPTIAN HIEROGLYPH NU002
-13238 ; [.3F5A.0020.0002.13238] # EGYPTIAN HIEROGLYPH NU003
-13239 ; [.3F5B.0020.0002.13239] # EGYPTIAN HIEROGLYPH NU004
-1323A ; [.3F5C.0020.0002.1323A] # EGYPTIAN HIEROGLYPH NU005
-1323B ; [.3F5D.0020.0002.1323B] # EGYPTIAN HIEROGLYPH NU006
-1323C ; [.3F5E.0020.0002.1323C] # EGYPTIAN HIEROGLYPH NU007
-1323D ; [.3F5F.0020.0002.1323D] # EGYPTIAN HIEROGLYPH NU008
-1323E ; [.3F60.0020.0002.1323E] # EGYPTIAN HIEROGLYPH NU009
-1323F ; [.3F61.0020.0002.1323F] # EGYPTIAN HIEROGLYPH NU010
-13240 ; [.3F62.0020.0002.13240] # EGYPTIAN HIEROGLYPH NU010A
-13241 ; [.3F63.0020.0002.13241] # EGYPTIAN HIEROGLYPH NU011
-13242 ; [.3F64.0020.0002.13242] # EGYPTIAN HIEROGLYPH NU011A
-13243 ; [.3F65.0020.0002.13243] # EGYPTIAN HIEROGLYPH NU012
-13244 ; [.3F66.0020.0002.13244] # EGYPTIAN HIEROGLYPH NU013
-13245 ; [.3F67.0020.0002.13245] # EGYPTIAN HIEROGLYPH NU014
-13246 ; [.3F68.0020.0002.13246] # EGYPTIAN HIEROGLYPH NU015
-13247 ; [.3F69.0020.0002.13247] # EGYPTIAN HIEROGLYPH NU016
-13248 ; [.3F6A.0020.0002.13248] # EGYPTIAN HIEROGLYPH NU017
-13249 ; [.3F6B.0020.0002.13249] # EGYPTIAN HIEROGLYPH NU018
-1324A ; [.3F6C.0020.0002.1324A] # EGYPTIAN HIEROGLYPH NU018A
-1324B ; [.3F6D.0020.0002.1324B] # EGYPTIAN HIEROGLYPH NU019
-1324C ; [.3F6E.0020.0002.1324C] # EGYPTIAN HIEROGLYPH NU020
-1324D ; [.3F6F.0020.0002.1324D] # EGYPTIAN HIEROGLYPH NU021
-1324E ; [.3F70.0020.0002.1324E] # EGYPTIAN HIEROGLYPH NU022
-1324F ; [.3F71.0020.0002.1324F] # EGYPTIAN HIEROGLYPH NU022A
-13250 ; [.3F72.0020.0002.13250] # EGYPTIAN HIEROGLYPH O001
-13251 ; [.3F73.0020.0002.13251] # EGYPTIAN HIEROGLYPH O001A
-13252 ; [.3F74.0020.0002.13252] # EGYPTIAN HIEROGLYPH O002
-13253 ; [.3F75.0020.0002.13253] # EGYPTIAN HIEROGLYPH O003
-13254 ; [.3F76.0020.0002.13254] # EGYPTIAN HIEROGLYPH O004
-13255 ; [.3F77.0020.0002.13255] # EGYPTIAN HIEROGLYPH O005
-13256 ; [.3F78.0020.0002.13256] # EGYPTIAN HIEROGLYPH O005A
-13257 ; [.3F79.0020.0002.13257] # EGYPTIAN HIEROGLYPH O006
-13258 ; [.3F7A.0020.0002.13258] # EGYPTIAN HIEROGLYPH O006A
-13259 ; [.3F7B.0020.0002.13259] # EGYPTIAN HIEROGLYPH O006B
-1325A ; [.3F7C.0020.0002.1325A] # EGYPTIAN HIEROGLYPH O006C
-1325B ; [.3F7D.0020.0002.1325B] # EGYPTIAN HIEROGLYPH O006D
-1325C ; [.3F7E.0020.0002.1325C] # EGYPTIAN HIEROGLYPH O006E
-1325D ; [.3F7F.0020.0002.1325D] # EGYPTIAN HIEROGLYPH O006F
-1325E ; [.3F80.0020.0002.1325E] # EGYPTIAN HIEROGLYPH O007
-1325F ; [.3F81.0020.0002.1325F] # EGYPTIAN HIEROGLYPH O008
-13260 ; [.3F82.0020.0002.13260] # EGYPTIAN HIEROGLYPH O009
-13261 ; [.3F83.0020.0002.13261] # EGYPTIAN HIEROGLYPH O010
-13262 ; [.3F84.0020.0002.13262] # EGYPTIAN HIEROGLYPH O010A
-13263 ; [.3F85.0020.0002.13263] # EGYPTIAN HIEROGLYPH O010B
-13264 ; [.3F86.0020.0002.13264] # EGYPTIAN HIEROGLYPH O010C
-13265 ; [.3F87.0020.0002.13265] # EGYPTIAN HIEROGLYPH O011
-13266 ; [.3F88.0020.0002.13266] # EGYPTIAN HIEROGLYPH O012
-13267 ; [.3F89.0020.0002.13267] # EGYPTIAN HIEROGLYPH O013
-13268 ; [.3F8A.0020.0002.13268] # EGYPTIAN HIEROGLYPH O014
-13269 ; [.3F8B.0020.0002.13269] # EGYPTIAN HIEROGLYPH O015
-1326A ; [.3F8C.0020.0002.1326A] # EGYPTIAN HIEROGLYPH O016
-1326B ; [.3F8D.0020.0002.1326B] # EGYPTIAN HIEROGLYPH O017
-1326C ; [.3F8E.0020.0002.1326C] # EGYPTIAN HIEROGLYPH O018
-1326D ; [.3F8F.0020.0002.1326D] # EGYPTIAN HIEROGLYPH O019
-1326E ; [.3F90.0020.0002.1326E] # EGYPTIAN HIEROGLYPH O019A
-1326F ; [.3F91.0020.0002.1326F] # EGYPTIAN HIEROGLYPH O020
-13270 ; [.3F92.0020.0002.13270] # EGYPTIAN HIEROGLYPH O020A
-13271 ; [.3F93.0020.0002.13271] # EGYPTIAN HIEROGLYPH O021
-13272 ; [.3F94.0020.0002.13272] # EGYPTIAN HIEROGLYPH O022
-13273 ; [.3F95.0020.0002.13273] # EGYPTIAN HIEROGLYPH O023
-13274 ; [.3F96.0020.0002.13274] # EGYPTIAN HIEROGLYPH O024
-13275 ; [.3F97.0020.0002.13275] # EGYPTIAN HIEROGLYPH O024A
-13276 ; [.3F98.0020.0002.13276] # EGYPTIAN HIEROGLYPH O025
-13277 ; [.3F99.0020.0002.13277] # EGYPTIAN HIEROGLYPH O025A
-13278 ; [.3F9A.0020.0002.13278] # EGYPTIAN HIEROGLYPH O026
-13279 ; [.3F9B.0020.0002.13279] # EGYPTIAN HIEROGLYPH O027
-1327A ; [.3F9C.0020.0002.1327A] # EGYPTIAN HIEROGLYPH O028
-1327B ; [.3F9D.0020.0002.1327B] # EGYPTIAN HIEROGLYPH O029
-1327C ; [.3F9E.0020.0002.1327C] # EGYPTIAN HIEROGLYPH O029A
-1327D ; [.3F9F.0020.0002.1327D] # EGYPTIAN HIEROGLYPH O030
-1327E ; [.3FA0.0020.0002.1327E] # EGYPTIAN HIEROGLYPH O030A
-1327F ; [.3FA1.0020.0002.1327F] # EGYPTIAN HIEROGLYPH O031
-13280 ; [.3FA2.0020.0002.13280] # EGYPTIAN HIEROGLYPH O032
-13281 ; [.3FA3.0020.0002.13281] # EGYPTIAN HIEROGLYPH O033
-13282 ; [.3FA4.0020.0002.13282] # EGYPTIAN HIEROGLYPH O033A
-13283 ; [.3FA5.0020.0002.13283] # EGYPTIAN HIEROGLYPH O034
-13284 ; [.3FA6.0020.0002.13284] # EGYPTIAN HIEROGLYPH O035
-13285 ; [.3FA7.0020.0002.13285] # EGYPTIAN HIEROGLYPH O036
-13286 ; [.3FA8.0020.0002.13286] # EGYPTIAN HIEROGLYPH O036A
-13287 ; [.3FA9.0020.0002.13287] # EGYPTIAN HIEROGLYPH O036B
-13288 ; [.3FAA.0020.0002.13288] # EGYPTIAN HIEROGLYPH O036C
-13289 ; [.3FAB.0020.0002.13289] # EGYPTIAN HIEROGLYPH O036D
-1328A ; [.3FAC.0020.0002.1328A] # EGYPTIAN HIEROGLYPH O037
-1328B ; [.3FAD.0020.0002.1328B] # EGYPTIAN HIEROGLYPH O038
-1328C ; [.3FAE.0020.0002.1328C] # EGYPTIAN HIEROGLYPH O039
-1328D ; [.3FAF.0020.0002.1328D] # EGYPTIAN HIEROGLYPH O040
-1328E ; [.3FB0.0020.0002.1328E] # EGYPTIAN HIEROGLYPH O041
-1328F ; [.3FB1.0020.0002.1328F] # EGYPTIAN HIEROGLYPH O042
-13290 ; [.3FB2.0020.0002.13290] # EGYPTIAN HIEROGLYPH O043
-13291 ; [.3FB3.0020.0002.13291] # EGYPTIAN HIEROGLYPH O044
-13292 ; [.3FB4.0020.0002.13292] # EGYPTIAN HIEROGLYPH O045
-13293 ; [.3FB5.0020.0002.13293] # EGYPTIAN HIEROGLYPH O046
-13294 ; [.3FB6.0020.0002.13294] # EGYPTIAN HIEROGLYPH O047
-13295 ; [.3FB7.0020.0002.13295] # EGYPTIAN HIEROGLYPH O048
-13296 ; [.3FB8.0020.0002.13296] # EGYPTIAN HIEROGLYPH O049
-13297 ; [.3FB9.0020.0002.13297] # EGYPTIAN HIEROGLYPH O050
-13298 ; [.3FBA.0020.0002.13298] # EGYPTIAN HIEROGLYPH O050A
-13299 ; [.3FBB.0020.0002.13299] # EGYPTIAN HIEROGLYPH O050B
-1329A ; [.3FBC.0020.0002.1329A] # EGYPTIAN HIEROGLYPH O051
-1329B ; [.3FBD.0020.0002.1329B] # EGYPTIAN HIEROGLYPH P001
-1329C ; [.3FBE.0020.0002.1329C] # EGYPTIAN HIEROGLYPH P001A
-1329D ; [.3FBF.0020.0002.1329D] # EGYPTIAN HIEROGLYPH P002
-1329E ; [.3FC0.0020.0002.1329E] # EGYPTIAN HIEROGLYPH P003
-1329F ; [.3FC1.0020.0002.1329F] # EGYPTIAN HIEROGLYPH P003A
-132A0 ; [.3FC2.0020.0002.132A0] # EGYPTIAN HIEROGLYPH P004
-132A1 ; [.3FC3.0020.0002.132A1] # EGYPTIAN HIEROGLYPH P005
-132A2 ; [.3FC4.0020.0002.132A2] # EGYPTIAN HIEROGLYPH P006
-132A3 ; [.3FC5.0020.0002.132A3] # EGYPTIAN HIEROGLYPH P007
-132A4 ; [.3FC6.0020.0002.132A4] # EGYPTIAN HIEROGLYPH P008
-132A5 ; [.3FC7.0020.0002.132A5] # EGYPTIAN HIEROGLYPH P009
-132A6 ; [.3FC8.0020.0002.132A6] # EGYPTIAN HIEROGLYPH P010
-132A7 ; [.3FC9.0020.0002.132A7] # EGYPTIAN HIEROGLYPH P011
-132A8 ; [.3FCA.0020.0002.132A8] # EGYPTIAN HIEROGLYPH Q001
-132A9 ; [.3FCB.0020.0002.132A9] # EGYPTIAN HIEROGLYPH Q002
-132AA ; [.3FCC.0020.0002.132AA] # EGYPTIAN HIEROGLYPH Q003
-132AB ; [.3FCD.0020.0002.132AB] # EGYPTIAN HIEROGLYPH Q004
-132AC ; [.3FCE.0020.0002.132AC] # EGYPTIAN HIEROGLYPH Q005
-132AD ; [.3FCF.0020.0002.132AD] # EGYPTIAN HIEROGLYPH Q006
-132AE ; [.3FD0.0020.0002.132AE] # EGYPTIAN HIEROGLYPH Q007
-132AF ; [.3FD1.0020.0002.132AF] # EGYPTIAN HIEROGLYPH R001
-132B0 ; [.3FD2.0020.0002.132B0] # EGYPTIAN HIEROGLYPH R002
-132B1 ; [.3FD3.0020.0002.132B1] # EGYPTIAN HIEROGLYPH R002A
-132B2 ; [.3FD4.0020.0002.132B2] # EGYPTIAN HIEROGLYPH R003
-132B3 ; [.3FD5.0020.0002.132B3] # EGYPTIAN HIEROGLYPH R003A
-132B4 ; [.3FD6.0020.0002.132B4] # EGYPTIAN HIEROGLYPH R003B
-132B5 ; [.3FD7.0020.0002.132B5] # EGYPTIAN HIEROGLYPH R004
-132B6 ; [.3FD8.0020.0002.132B6] # EGYPTIAN HIEROGLYPH R005
-132B7 ; [.3FD9.0020.0002.132B7] # EGYPTIAN HIEROGLYPH R006
-132B8 ; [.3FDA.0020.0002.132B8] # EGYPTIAN HIEROGLYPH R007
-132B9 ; [.3FDB.0020.0002.132B9] # EGYPTIAN HIEROGLYPH R008
-132BA ; [.3FDC.0020.0002.132BA] # EGYPTIAN HIEROGLYPH R009
-132BB ; [.3FDD.0020.0002.132BB] # EGYPTIAN HIEROGLYPH R010
-132BC ; [.3FDE.0020.0002.132BC] # EGYPTIAN HIEROGLYPH R010A
-132BD ; [.3FDF.0020.0002.132BD] # EGYPTIAN HIEROGLYPH R011
-132BE ; [.3FE0.0020.0002.132BE] # EGYPTIAN HIEROGLYPH R012
-132BF ; [.3FE1.0020.0002.132BF] # EGYPTIAN HIEROGLYPH R013
-132C0 ; [.3FE2.0020.0002.132C0] # EGYPTIAN HIEROGLYPH R014
-132C1 ; [.3FE3.0020.0002.132C1] # EGYPTIAN HIEROGLYPH R015
-132C2 ; [.3FE4.0020.0002.132C2] # EGYPTIAN HIEROGLYPH R016
-132C3 ; [.3FE5.0020.0002.132C3] # EGYPTIAN HIEROGLYPH R016A
-132C4 ; [.3FE6.0020.0002.132C4] # EGYPTIAN HIEROGLYPH R017
-132C5 ; [.3FE7.0020.0002.132C5] # EGYPTIAN HIEROGLYPH R018
-132C6 ; [.3FE8.0020.0002.132C6] # EGYPTIAN HIEROGLYPH R019
-132C7 ; [.3FE9.0020.0002.132C7] # EGYPTIAN HIEROGLYPH R020
-132C8 ; [.3FEA.0020.0002.132C8] # EGYPTIAN HIEROGLYPH R021
-132C9 ; [.3FEB.0020.0002.132C9] # EGYPTIAN HIEROGLYPH R022
-132CA ; [.3FEC.0020.0002.132CA] # EGYPTIAN HIEROGLYPH R023
-132CB ; [.3FED.0020.0002.132CB] # EGYPTIAN HIEROGLYPH R024
-132CC ; [.3FEE.0020.0002.132CC] # EGYPTIAN HIEROGLYPH R025
-132CD ; [.3FEF.0020.0002.132CD] # EGYPTIAN HIEROGLYPH R026
-132CE ; [.3FF0.0020.0002.132CE] # EGYPTIAN HIEROGLYPH R027
-132CF ; [.3FF1.0020.0002.132CF] # EGYPTIAN HIEROGLYPH R028
-132D0 ; [.3FF2.0020.0002.132D0] # EGYPTIAN HIEROGLYPH R029
-132D1 ; [.3FF3.0020.0002.132D1] # EGYPTIAN HIEROGLYPH S001
-132D2 ; [.3FF4.0020.0002.132D2] # EGYPTIAN HIEROGLYPH S002
-132D3 ; [.3FF5.0020.0002.132D3] # EGYPTIAN HIEROGLYPH S002A
-132D4 ; [.3FF6.0020.0002.132D4] # EGYPTIAN HIEROGLYPH S003
-132D5 ; [.3FF7.0020.0002.132D5] # EGYPTIAN HIEROGLYPH S004
-132D6 ; [.3FF8.0020.0002.132D6] # EGYPTIAN HIEROGLYPH S005
-132D7 ; [.3FF9.0020.0002.132D7] # EGYPTIAN HIEROGLYPH S006
-132D8 ; [.3FFA.0020.0002.132D8] # EGYPTIAN HIEROGLYPH S006A
-132D9 ; [.3FFB.0020.0002.132D9] # EGYPTIAN HIEROGLYPH S007
-132DA ; [.3FFC.0020.0002.132DA] # EGYPTIAN HIEROGLYPH S008
-132DB ; [.3FFD.0020.0002.132DB] # EGYPTIAN HIEROGLYPH S009
-132DC ; [.3FFE.0020.0002.132DC] # EGYPTIAN HIEROGLYPH S010
-132DD ; [.3FFF.0020.0002.132DD] # EGYPTIAN HIEROGLYPH S011
-132DE ; [.4000.0020.0002.132DE] # EGYPTIAN HIEROGLYPH S012
-132DF ; [.4001.0020.0002.132DF] # EGYPTIAN HIEROGLYPH S013
-132E0 ; [.4002.0020.0002.132E0] # EGYPTIAN HIEROGLYPH S014
-132E1 ; [.4003.0020.0002.132E1] # EGYPTIAN HIEROGLYPH S014A
-132E2 ; [.4004.0020.0002.132E2] # EGYPTIAN HIEROGLYPH S014B
-132E3 ; [.4005.0020.0002.132E3] # EGYPTIAN HIEROGLYPH S015
-132E4 ; [.4006.0020.0002.132E4] # EGYPTIAN HIEROGLYPH S016
-132E5 ; [.4007.0020.0002.132E5] # EGYPTIAN HIEROGLYPH S017
-132E6 ; [.4008.0020.0002.132E6] # EGYPTIAN HIEROGLYPH S017A
-132E7 ; [.4009.0020.0002.132E7] # EGYPTIAN HIEROGLYPH S018
-132E8 ; [.400A.0020.0002.132E8] # EGYPTIAN HIEROGLYPH S019
-132E9 ; [.400B.0020.0002.132E9] # EGYPTIAN HIEROGLYPH S020
-132EA ; [.400C.0020.0002.132EA] # EGYPTIAN HIEROGLYPH S021
-132EB ; [.400D.0020.0002.132EB] # EGYPTIAN HIEROGLYPH S022
-132EC ; [.400E.0020.0002.132EC] # EGYPTIAN HIEROGLYPH S023
-132ED ; [.400F.0020.0002.132ED] # EGYPTIAN HIEROGLYPH S024
-132EE ; [.4010.0020.0002.132EE] # EGYPTIAN HIEROGLYPH S025
-132EF ; [.4011.0020.0002.132EF] # EGYPTIAN HIEROGLYPH S026
-132F0 ; [.4012.0020.0002.132F0] # EGYPTIAN HIEROGLYPH S026A
-132F1 ; [.4013.0020.0002.132F1] # EGYPTIAN HIEROGLYPH S026B
-132F2 ; [.4014.0020.0002.132F2] # EGYPTIAN HIEROGLYPH S027
-132F3 ; [.4015.0020.0002.132F3] # EGYPTIAN HIEROGLYPH S028
-132F4 ; [.4016.0020.0002.132F4] # EGYPTIAN HIEROGLYPH S029
-132F5 ; [.4017.0020.0002.132F5] # EGYPTIAN HIEROGLYPH S030
-132F6 ; [.4018.0020.0002.132F6] # EGYPTIAN HIEROGLYPH S031
-132F7 ; [.4019.0020.0002.132F7] # EGYPTIAN HIEROGLYPH S032
-132F8 ; [.401A.0020.0002.132F8] # EGYPTIAN HIEROGLYPH S033
-132F9 ; [.401B.0020.0002.132F9] # EGYPTIAN HIEROGLYPH S034
-132FA ; [.401C.0020.0002.132FA] # EGYPTIAN HIEROGLYPH S035
-132FB ; [.401D.0020.0002.132FB] # EGYPTIAN HIEROGLYPH S035A
-132FC ; [.401E.0020.0002.132FC] # EGYPTIAN HIEROGLYPH S036
-132FD ; [.401F.0020.0002.132FD] # EGYPTIAN HIEROGLYPH S037
-132FE ; [.4020.0020.0002.132FE] # EGYPTIAN HIEROGLYPH S038
-132FF ; [.4021.0020.0002.132FF] # EGYPTIAN HIEROGLYPH S039
-13300 ; [.4022.0020.0002.13300] # EGYPTIAN HIEROGLYPH S040
-13301 ; [.4023.0020.0002.13301] # EGYPTIAN HIEROGLYPH S041
-13302 ; [.4024.0020.0002.13302] # EGYPTIAN HIEROGLYPH S042
-13303 ; [.4025.0020.0002.13303] # EGYPTIAN HIEROGLYPH S043
-13304 ; [.4026.0020.0002.13304] # EGYPTIAN HIEROGLYPH S044
-13305 ; [.4027.0020.0002.13305] # EGYPTIAN HIEROGLYPH S045
-13306 ; [.4028.0020.0002.13306] # EGYPTIAN HIEROGLYPH S046
-13307 ; [.4029.0020.0002.13307] # EGYPTIAN HIEROGLYPH T001
-13308 ; [.402A.0020.0002.13308] # EGYPTIAN HIEROGLYPH T002
-13309 ; [.402B.0020.0002.13309] # EGYPTIAN HIEROGLYPH T003
-1330A ; [.402C.0020.0002.1330A] # EGYPTIAN HIEROGLYPH T003A
-1330B ; [.402D.0020.0002.1330B] # EGYPTIAN HIEROGLYPH T004
-1330C ; [.402E.0020.0002.1330C] # EGYPTIAN HIEROGLYPH T005
-1330D ; [.402F.0020.0002.1330D] # EGYPTIAN HIEROGLYPH T006
-1330E ; [.4030.0020.0002.1330E] # EGYPTIAN HIEROGLYPH T007
-1330F ; [.4031.0020.0002.1330F] # EGYPTIAN HIEROGLYPH T007A
-13310 ; [.4032.0020.0002.13310] # EGYPTIAN HIEROGLYPH T008
-13311 ; [.4033.0020.0002.13311] # EGYPTIAN HIEROGLYPH T008A
-13312 ; [.4034.0020.0002.13312] # EGYPTIAN HIEROGLYPH T009
-13313 ; [.4035.0020.0002.13313] # EGYPTIAN HIEROGLYPH T009A
-13314 ; [.4036.0020.0002.13314] # EGYPTIAN HIEROGLYPH T010
-13315 ; [.4037.0020.0002.13315] # EGYPTIAN HIEROGLYPH T011
-13316 ; [.4038.0020.0002.13316] # EGYPTIAN HIEROGLYPH T011A
-13317 ; [.4039.0020.0002.13317] # EGYPTIAN HIEROGLYPH T012
-13318 ; [.403A.0020.0002.13318] # EGYPTIAN HIEROGLYPH T013
-13319 ; [.403B.0020.0002.13319] # EGYPTIAN HIEROGLYPH T014
-1331A ; [.403C.0020.0002.1331A] # EGYPTIAN HIEROGLYPH T015
-1331B ; [.403D.0020.0002.1331B] # EGYPTIAN HIEROGLYPH T016
-1331C ; [.403E.0020.0002.1331C] # EGYPTIAN HIEROGLYPH T016A
-1331D ; [.403F.0020.0002.1331D] # EGYPTIAN HIEROGLYPH T017
-1331E ; [.4040.0020.0002.1331E] # EGYPTIAN HIEROGLYPH T018
-1331F ; [.4041.0020.0002.1331F] # EGYPTIAN HIEROGLYPH T019
-13320 ; [.4042.0020.0002.13320] # EGYPTIAN HIEROGLYPH T020
-13321 ; [.4043.0020.0002.13321] # EGYPTIAN HIEROGLYPH T021
-13322 ; [.4044.0020.0002.13322] # EGYPTIAN HIEROGLYPH T022
-13323 ; [.4045.0020.0002.13323] # EGYPTIAN HIEROGLYPH T023
-13324 ; [.4046.0020.0002.13324] # EGYPTIAN HIEROGLYPH T024
-13325 ; [.4047.0020.0002.13325] # EGYPTIAN HIEROGLYPH T025
-13326 ; [.4048.0020.0002.13326] # EGYPTIAN HIEROGLYPH T026
-13327 ; [.4049.0020.0002.13327] # EGYPTIAN HIEROGLYPH T027
-13328 ; [.404A.0020.0002.13328] # EGYPTIAN HIEROGLYPH T028
-13329 ; [.404B.0020.0002.13329] # EGYPTIAN HIEROGLYPH T029
-1332A ; [.404C.0020.0002.1332A] # EGYPTIAN HIEROGLYPH T030
-1332B ; [.404D.0020.0002.1332B] # EGYPTIAN HIEROGLYPH T031
-1332C ; [.404E.0020.0002.1332C] # EGYPTIAN HIEROGLYPH T032
-1332D ; [.404F.0020.0002.1332D] # EGYPTIAN HIEROGLYPH T032A
-1332E ; [.4050.0020.0002.1332E] # EGYPTIAN HIEROGLYPH T033
-1332F ; [.4051.0020.0002.1332F] # EGYPTIAN HIEROGLYPH T033A
-13330 ; [.4052.0020.0002.13330] # EGYPTIAN HIEROGLYPH T034
-13331 ; [.4053.0020.0002.13331] # EGYPTIAN HIEROGLYPH T035
-13332 ; [.4054.0020.0002.13332] # EGYPTIAN HIEROGLYPH T036
-13333 ; [.4055.0020.0002.13333] # EGYPTIAN HIEROGLYPH U001
-13334 ; [.4056.0020.0002.13334] # EGYPTIAN HIEROGLYPH U002
-13335 ; [.4057.0020.0002.13335] # EGYPTIAN HIEROGLYPH U003
-13336 ; [.4058.0020.0002.13336] # EGYPTIAN HIEROGLYPH U004
-13337 ; [.4059.0020.0002.13337] # EGYPTIAN HIEROGLYPH U005
-13338 ; [.405A.0020.0002.13338] # EGYPTIAN HIEROGLYPH U006
-13339 ; [.405B.0020.0002.13339] # EGYPTIAN HIEROGLYPH U006A
-1333A ; [.405C.0020.0002.1333A] # EGYPTIAN HIEROGLYPH U006B
-1333B ; [.405D.0020.0002.1333B] # EGYPTIAN HIEROGLYPH U007
-1333C ; [.405E.0020.0002.1333C] # EGYPTIAN HIEROGLYPH U008
-1333D ; [.405F.0020.0002.1333D] # EGYPTIAN HIEROGLYPH U009
-1333E ; [.4060.0020.0002.1333E] # EGYPTIAN HIEROGLYPH U010
-1333F ; [.4061.0020.0002.1333F] # EGYPTIAN HIEROGLYPH U011
-13340 ; [.4062.0020.0002.13340] # EGYPTIAN HIEROGLYPH U012
-13341 ; [.4063.0020.0002.13341] # EGYPTIAN HIEROGLYPH U013
-13342 ; [.4064.0020.0002.13342] # EGYPTIAN HIEROGLYPH U014
-13343 ; [.4065.0020.0002.13343] # EGYPTIAN HIEROGLYPH U015
-13344 ; [.4066.0020.0002.13344] # EGYPTIAN HIEROGLYPH U016
-13345 ; [.4067.0020.0002.13345] # EGYPTIAN HIEROGLYPH U017
-13346 ; [.4068.0020.0002.13346] # EGYPTIAN HIEROGLYPH U018
-13347 ; [.4069.0020.0002.13347] # EGYPTIAN HIEROGLYPH U019
-13348 ; [.406A.0020.0002.13348] # EGYPTIAN HIEROGLYPH U020
-13349 ; [.406B.0020.0002.13349] # EGYPTIAN HIEROGLYPH U021
-1334A ; [.406C.0020.0002.1334A] # EGYPTIAN HIEROGLYPH U022
-1334B ; [.406D.0020.0002.1334B] # EGYPTIAN HIEROGLYPH U023
-1334C ; [.406E.0020.0002.1334C] # EGYPTIAN HIEROGLYPH U023A
-1334D ; [.406F.0020.0002.1334D] # EGYPTIAN HIEROGLYPH U024
-1334E ; [.4070.0020.0002.1334E] # EGYPTIAN HIEROGLYPH U025
-1334F ; [.4071.0020.0002.1334F] # EGYPTIAN HIEROGLYPH U026
-13350 ; [.4072.0020.0002.13350] # EGYPTIAN HIEROGLYPH U027
-13351 ; [.4073.0020.0002.13351] # EGYPTIAN HIEROGLYPH U028
-13352 ; [.4074.0020.0002.13352] # EGYPTIAN HIEROGLYPH U029
-13353 ; [.4075.0020.0002.13353] # EGYPTIAN HIEROGLYPH U029A
-13354 ; [.4076.0020.0002.13354] # EGYPTIAN HIEROGLYPH U030
-13355 ; [.4077.0020.0002.13355] # EGYPTIAN HIEROGLYPH U031
-13356 ; [.4078.0020.0002.13356] # EGYPTIAN HIEROGLYPH U032
-13357 ; [.4079.0020.0002.13357] # EGYPTIAN HIEROGLYPH U032A
-13358 ; [.407A.0020.0002.13358] # EGYPTIAN HIEROGLYPH U033
-13359 ; [.407B.0020.0002.13359] # EGYPTIAN HIEROGLYPH U034
-1335A ; [.407C.0020.0002.1335A] # EGYPTIAN HIEROGLYPH U035
-1335B ; [.407D.0020.0002.1335B] # EGYPTIAN HIEROGLYPH U036
-1335C ; [.407E.0020.0002.1335C] # EGYPTIAN HIEROGLYPH U037
-1335D ; [.407F.0020.0002.1335D] # EGYPTIAN HIEROGLYPH U038
-1335E ; [.4080.0020.0002.1335E] # EGYPTIAN HIEROGLYPH U039
-1335F ; [.4081.0020.0002.1335F] # EGYPTIAN HIEROGLYPH U040
-13360 ; [.4082.0020.0002.13360] # EGYPTIAN HIEROGLYPH U041
-13361 ; [.4083.0020.0002.13361] # EGYPTIAN HIEROGLYPH U042
-13362 ; [.4084.0020.0002.13362] # EGYPTIAN HIEROGLYPH V001
-13363 ; [.4085.0020.0002.13363] # EGYPTIAN HIEROGLYPH V001A
-13364 ; [.4086.0020.0002.13364] # EGYPTIAN HIEROGLYPH V001B
-13365 ; [.4087.0020.0002.13365] # EGYPTIAN HIEROGLYPH V001C
-13366 ; [.4088.0020.0002.13366] # EGYPTIAN HIEROGLYPH V001D
-13367 ; [.4089.0020.0002.13367] # EGYPTIAN HIEROGLYPH V001E
-13368 ; [.408A.0020.0002.13368] # EGYPTIAN HIEROGLYPH V001F
-13369 ; [.408B.0020.0002.13369] # EGYPTIAN HIEROGLYPH V001G
-1336A ; [.408C.0020.0002.1336A] # EGYPTIAN HIEROGLYPH V001H
-1336B ; [.408D.0020.0002.1336B] # EGYPTIAN HIEROGLYPH V001I
-1336C ; [.408E.0020.0002.1336C] # EGYPTIAN HIEROGLYPH V002
-1336D ; [.408F.0020.0002.1336D] # EGYPTIAN HIEROGLYPH V002A
-1336E ; [.4090.0020.0002.1336E] # EGYPTIAN HIEROGLYPH V003
-1336F ; [.4091.0020.0002.1336F] # EGYPTIAN HIEROGLYPH V004
-13370 ; [.4092.0020.0002.13370] # EGYPTIAN HIEROGLYPH V005
-13371 ; [.4093.0020.0002.13371] # EGYPTIAN HIEROGLYPH V006
-13372 ; [.4094.0020.0002.13372] # EGYPTIAN HIEROGLYPH V007
-13373 ; [.4095.0020.0002.13373] # EGYPTIAN HIEROGLYPH V007A
-13374 ; [.4096.0020.0002.13374] # EGYPTIAN HIEROGLYPH V007B
-13375 ; [.4097.0020.0002.13375] # EGYPTIAN HIEROGLYPH V008
-13376 ; [.4098.0020.0002.13376] # EGYPTIAN HIEROGLYPH V009
-13377 ; [.4099.0020.0002.13377] # EGYPTIAN HIEROGLYPH V010
-13378 ; [.409A.0020.0002.13378] # EGYPTIAN HIEROGLYPH V011
-13379 ; [.409B.0020.0002.13379] # EGYPTIAN HIEROGLYPH V011A
-1337A ; [.409C.0020.0002.1337A] # EGYPTIAN HIEROGLYPH V011B
-1337B ; [.409D.0020.0002.1337B] # EGYPTIAN HIEROGLYPH V011C
-1337C ; [.409E.0020.0002.1337C] # EGYPTIAN HIEROGLYPH V012
-1337D ; [.409F.0020.0002.1337D] # EGYPTIAN HIEROGLYPH V012A
-1337E ; [.40A0.0020.0002.1337E] # EGYPTIAN HIEROGLYPH V012B
-1337F ; [.40A1.0020.0002.1337F] # EGYPTIAN HIEROGLYPH V013
-13380 ; [.40A2.0020.0002.13380] # EGYPTIAN HIEROGLYPH V014
-13381 ; [.40A3.0020.0002.13381] # EGYPTIAN HIEROGLYPH V015
-13382 ; [.40A4.0020.0002.13382] # EGYPTIAN HIEROGLYPH V016
-13383 ; [.40A5.0020.0002.13383] # EGYPTIAN HIEROGLYPH V017
-13384 ; [.40A6.0020.0002.13384] # EGYPTIAN HIEROGLYPH V018
-13385 ; [.40A7.0020.0002.13385] # EGYPTIAN HIEROGLYPH V019
-13386 ; [.40A8.0020.0002.13386] # EGYPTIAN HIEROGLYPH V020
-13387 ; [.40A9.0020.0002.13387] # EGYPTIAN HIEROGLYPH V020A
-13388 ; [.40AA.0020.0002.13388] # EGYPTIAN HIEROGLYPH V020B
-13389 ; [.40AB.0020.0002.13389] # EGYPTIAN HIEROGLYPH V020C
-1338A ; [.40AC.0020.0002.1338A] # EGYPTIAN HIEROGLYPH V020D
-1338B ; [.40AD.0020.0002.1338B] # EGYPTIAN HIEROGLYPH V020E
-1338C ; [.40AE.0020.0002.1338C] # EGYPTIAN HIEROGLYPH V020F
-1338D ; [.40AF.0020.0002.1338D] # EGYPTIAN HIEROGLYPH V020G
-1338E ; [.40B0.0020.0002.1338E] # EGYPTIAN HIEROGLYPH V020H
-1338F ; [.40B1.0020.0002.1338F] # EGYPTIAN HIEROGLYPH V020I
-13390 ; [.40B2.0020.0002.13390] # EGYPTIAN HIEROGLYPH V020J
-13391 ; [.40B3.0020.0002.13391] # EGYPTIAN HIEROGLYPH V020K
-13392 ; [.40B4.0020.0002.13392] # EGYPTIAN HIEROGLYPH V020L
-13393 ; [.40B5.0020.0002.13393] # EGYPTIAN HIEROGLYPH V021
-13394 ; [.40B6.0020.0002.13394] # EGYPTIAN HIEROGLYPH V022
-13395 ; [.40B7.0020.0002.13395] # EGYPTIAN HIEROGLYPH V023
-13396 ; [.40B8.0020.0002.13396] # EGYPTIAN HIEROGLYPH V023A
-13397 ; [.40B9.0020.0002.13397] # EGYPTIAN HIEROGLYPH V024
-13398 ; [.40BA.0020.0002.13398] # EGYPTIAN HIEROGLYPH V025
-13399 ; [.40BB.0020.0002.13399] # EGYPTIAN HIEROGLYPH V026
-1339A ; [.40BC.0020.0002.1339A] # EGYPTIAN HIEROGLYPH V027
-1339B ; [.40BD.0020.0002.1339B] # EGYPTIAN HIEROGLYPH V028
-1339C ; [.40BE.0020.0002.1339C] # EGYPTIAN HIEROGLYPH V028A
-1339D ; [.40BF.0020.0002.1339D] # EGYPTIAN HIEROGLYPH V029
-1339E ; [.40C0.0020.0002.1339E] # EGYPTIAN HIEROGLYPH V029A
-1339F ; [.40C1.0020.0002.1339F] # EGYPTIAN HIEROGLYPH V030
-133A0 ; [.40C2.0020.0002.133A0] # EGYPTIAN HIEROGLYPH V030A
-133A1 ; [.40C3.0020.0002.133A1] # EGYPTIAN HIEROGLYPH V031
-133A2 ; [.40C4.0020.0002.133A2] # EGYPTIAN HIEROGLYPH V031A
-133A3 ; [.40C5.0020.0002.133A3] # EGYPTIAN HIEROGLYPH V032
-133A4 ; [.40C6.0020.0002.133A4] # EGYPTIAN HIEROGLYPH V033
-133A5 ; [.40C7.0020.0002.133A5] # EGYPTIAN HIEROGLYPH V033A
-133A6 ; [.40C8.0020.0002.133A6] # EGYPTIAN HIEROGLYPH V034
-133A7 ; [.40C9.0020.0002.133A7] # EGYPTIAN HIEROGLYPH V035
-133A8 ; [.40CA.0020.0002.133A8] # EGYPTIAN HIEROGLYPH V036
-133A9 ; [.40CB.0020.0002.133A9] # EGYPTIAN HIEROGLYPH V037
-133AA ; [.40CC.0020.0002.133AA] # EGYPTIAN HIEROGLYPH V037A
-133AB ; [.40CD.0020.0002.133AB] # EGYPTIAN HIEROGLYPH V038
-133AC ; [.40CE.0020.0002.133AC] # EGYPTIAN HIEROGLYPH V039
-133AD ; [.40CF.0020.0002.133AD] # EGYPTIAN HIEROGLYPH V040
-133AE ; [.40D0.0020.0002.133AE] # EGYPTIAN HIEROGLYPH V040A
-133AF ; [.40D1.0020.0002.133AF] # EGYPTIAN HIEROGLYPH W001
-133B0 ; [.40D2.0020.0002.133B0] # EGYPTIAN HIEROGLYPH W002
-133B1 ; [.40D3.0020.0002.133B1] # EGYPTIAN HIEROGLYPH W003
-133B2 ; [.40D4.0020.0002.133B2] # EGYPTIAN HIEROGLYPH W003A
-133B3 ; [.40D5.0020.0002.133B3] # EGYPTIAN HIEROGLYPH W004
-133B4 ; [.40D6.0020.0002.133B4] # EGYPTIAN HIEROGLYPH W005
-133B5 ; [.40D7.0020.0002.133B5] # EGYPTIAN HIEROGLYPH W006
-133B6 ; [.40D8.0020.0002.133B6] # EGYPTIAN HIEROGLYPH W007
-133B7 ; [.40D9.0020.0002.133B7] # EGYPTIAN HIEROGLYPH W008
-133B8 ; [.40DA.0020.0002.133B8] # EGYPTIAN HIEROGLYPH W009
-133B9 ; [.40DB.0020.0002.133B9] # EGYPTIAN HIEROGLYPH W009A
-133BA ; [.40DC.0020.0002.133BA] # EGYPTIAN HIEROGLYPH W010
-133BB ; [.40DD.0020.0002.133BB] # EGYPTIAN HIEROGLYPH W010A
-133BC ; [.40DE.0020.0002.133BC] # EGYPTIAN HIEROGLYPH W011
-133BD ; [.40DF.0020.0002.133BD] # EGYPTIAN HIEROGLYPH W012
-133BE ; [.40E0.0020.0002.133BE] # EGYPTIAN HIEROGLYPH W013
-133BF ; [.40E1.0020.0002.133BF] # EGYPTIAN HIEROGLYPH W014
-133C0 ; [.40E2.0020.0002.133C0] # EGYPTIAN HIEROGLYPH W014A
-133C1 ; [.40E3.0020.0002.133C1] # EGYPTIAN HIEROGLYPH W015
-133C2 ; [.40E4.0020.0002.133C2] # EGYPTIAN HIEROGLYPH W016
-133C3 ; [.40E5.0020.0002.133C3] # EGYPTIAN HIEROGLYPH W017
-133C4 ; [.40E6.0020.0002.133C4] # EGYPTIAN HIEROGLYPH W017A
-133C5 ; [.40E7.0020.0002.133C5] # EGYPTIAN HIEROGLYPH W018
-133C6 ; [.40E8.0020.0002.133C6] # EGYPTIAN HIEROGLYPH W018A
-133C7 ; [.40E9.0020.0002.133C7] # EGYPTIAN HIEROGLYPH W019
-133C8 ; [.40EA.0020.0002.133C8] # EGYPTIAN HIEROGLYPH W020
-133C9 ; [.40EB.0020.0002.133C9] # EGYPTIAN HIEROGLYPH W021
-133CA ; [.40EC.0020.0002.133CA] # EGYPTIAN HIEROGLYPH W022
-133CB ; [.40ED.0020.0002.133CB] # EGYPTIAN HIEROGLYPH W023
-133CC ; [.40EE.0020.0002.133CC] # EGYPTIAN HIEROGLYPH W024
-133CD ; [.40EF.0020.0002.133CD] # EGYPTIAN HIEROGLYPH W024A
-133CE ; [.40F0.0020.0002.133CE] # EGYPTIAN HIEROGLYPH W025
-133CF ; [.40F1.0020.0002.133CF] # EGYPTIAN HIEROGLYPH X001
-133D0 ; [.40F2.0020.0002.133D0] # EGYPTIAN HIEROGLYPH X002
-133D1 ; [.40F3.0020.0002.133D1] # EGYPTIAN HIEROGLYPH X003
-133D2 ; [.40F4.0020.0002.133D2] # EGYPTIAN HIEROGLYPH X004
-133D3 ; [.40F5.0020.0002.133D3] # EGYPTIAN HIEROGLYPH X004A
-133D4 ; [.40F6.0020.0002.133D4] # EGYPTIAN HIEROGLYPH X004B
-133D5 ; [.40F7.0020.0002.133D5] # EGYPTIAN HIEROGLYPH X005
-133D6 ; [.40F8.0020.0002.133D6] # EGYPTIAN HIEROGLYPH X006
-133D7 ; [.40F9.0020.0002.133D7] # EGYPTIAN HIEROGLYPH X006A
-133D8 ; [.40FA.0020.0002.133D8] # EGYPTIAN HIEROGLYPH X007
-133D9 ; [.40FB.0020.0002.133D9] # EGYPTIAN HIEROGLYPH X008
-133DA ; [.40FC.0020.0002.133DA] # EGYPTIAN HIEROGLYPH X008A
-133DB ; [.40FD.0020.0002.133DB] # EGYPTIAN HIEROGLYPH Y001
-133DC ; [.40FE.0020.0002.133DC] # EGYPTIAN HIEROGLYPH Y001A
-133DD ; [.40FF.0020.0002.133DD] # EGYPTIAN HIEROGLYPH Y002
-133DE ; [.4100.0020.0002.133DE] # EGYPTIAN HIEROGLYPH Y003
-133DF ; [.4101.0020.0002.133DF] # EGYPTIAN HIEROGLYPH Y004
-133E0 ; [.4102.0020.0002.133E0] # EGYPTIAN HIEROGLYPH Y005
-133E1 ; [.4103.0020.0002.133E1] # EGYPTIAN HIEROGLYPH Y006
-133E2 ; [.4104.0020.0002.133E2] # EGYPTIAN HIEROGLYPH Y007
-133E3 ; [.4105.0020.0002.133E3] # EGYPTIAN HIEROGLYPH Y008
-133E4 ; [.4106.0020.0002.133E4] # EGYPTIAN HIEROGLYPH Z001
-133E5 ; [.4107.0020.0002.133E5] # EGYPTIAN HIEROGLYPH Z002
-133E6 ; [.4108.0020.0002.133E6] # EGYPTIAN HIEROGLYPH Z002A
-133E7 ; [.4109.0020.0002.133E7] # EGYPTIAN HIEROGLYPH Z002B
-133E8 ; [.410A.0020.0002.133E8] # EGYPTIAN HIEROGLYPH Z002C
-133E9 ; [.410B.0020.0002.133E9] # EGYPTIAN HIEROGLYPH Z002D
-133EA ; [.410C.0020.0002.133EA] # EGYPTIAN HIEROGLYPH Z003
-133EB ; [.410D.0020.0002.133EB] # EGYPTIAN HIEROGLYPH Z003A
-133EC ; [.410E.0020.0002.133EC] # EGYPTIAN HIEROGLYPH Z003B
-133ED ; [.410F.0020.0002.133ED] # EGYPTIAN HIEROGLYPH Z004
-133EE ; [.4110.0020.0002.133EE] # EGYPTIAN HIEROGLYPH Z004A
-133EF ; [.4111.0020.0002.133EF] # EGYPTIAN HIEROGLYPH Z005
-133F0 ; [.4112.0020.0002.133F0] # EGYPTIAN HIEROGLYPH Z005A
-133F1 ; [.4113.0020.0002.133F1] # EGYPTIAN HIEROGLYPH Z006
-133F2 ; [.4114.0020.0002.133F2] # EGYPTIAN HIEROGLYPH Z007
-133F3 ; [.4115.0020.0002.133F3] # EGYPTIAN HIEROGLYPH Z008
-133F4 ; [.4116.0020.0002.133F4] # EGYPTIAN HIEROGLYPH Z009
-133F5 ; [.4117.0020.0002.133F5] # EGYPTIAN HIEROGLYPH Z010
-133F6 ; [.4118.0020.0002.133F6] # EGYPTIAN HIEROGLYPH Z011
-133F7 ; [.4119.0020.0002.133F7] # EGYPTIAN HIEROGLYPH Z012
-133F8 ; [.411A.0020.0002.133F8] # EGYPTIAN HIEROGLYPH Z013
-133F9 ; [.411B.0020.0002.133F9] # EGYPTIAN HIEROGLYPH Z014
-133FA ; [.411C.0020.0002.133FA] # EGYPTIAN HIEROGLYPH Z015
-133FB ; [.411D.0020.0002.133FB] # EGYPTIAN HIEROGLYPH Z015A
-133FC ; [.411E.0020.0002.133FC] # EGYPTIAN HIEROGLYPH Z015B
-133FD ; [.411F.0020.0002.133FD] # EGYPTIAN HIEROGLYPH Z015C
-133FE ; [.4120.0020.0002.133FE] # EGYPTIAN HIEROGLYPH Z015D
-133FF ; [.4121.0020.0002.133FF] # EGYPTIAN HIEROGLYPH Z015E
-13400 ; [.4122.0020.0002.13400] # EGYPTIAN HIEROGLYPH Z015F
-13401 ; [.4123.0020.0002.13401] # EGYPTIAN HIEROGLYPH Z015G
-13402 ; [.4124.0020.0002.13402] # EGYPTIAN HIEROGLYPH Z015H
-13403 ; [.4125.0020.0002.13403] # EGYPTIAN HIEROGLYPH Z015I
-13404 ; [.4126.0020.0002.13404] # EGYPTIAN HIEROGLYPH Z016
-13405 ; [.4127.0020.0002.13405] # EGYPTIAN HIEROGLYPH Z016A
-13406 ; [.4128.0020.0002.13406] # EGYPTIAN HIEROGLYPH Z016B
-13407 ; [.4129.0020.0002.13407] # EGYPTIAN HIEROGLYPH Z016C
-13408 ; [.412A.0020.0002.13408] # EGYPTIAN HIEROGLYPH Z016D
-13409 ; [.412B.0020.0002.13409] # EGYPTIAN HIEROGLYPH Z016E
-1340A ; [.412C.0020.0002.1340A] # EGYPTIAN HIEROGLYPH Z016F
-1340B ; [.412D.0020.0002.1340B] # EGYPTIAN HIEROGLYPH Z016G
-1340C ; [.412E.0020.0002.1340C] # EGYPTIAN HIEROGLYPH Z016H
-1340D ; [.412F.0020.0002.1340D] # EGYPTIAN HIEROGLYPH AA001
-1340E ; [.4130.0020.0002.1340E] # EGYPTIAN HIEROGLYPH AA002
-1340F ; [.4131.0020.0002.1340F] # EGYPTIAN HIEROGLYPH AA003
-13410 ; [.4132.0020.0002.13410] # EGYPTIAN HIEROGLYPH AA004
-13411 ; [.4133.0020.0002.13411] # EGYPTIAN HIEROGLYPH AA005
-13412 ; [.4134.0020.0002.13412] # EGYPTIAN HIEROGLYPH AA006
-13413 ; [.4135.0020.0002.13413] # EGYPTIAN HIEROGLYPH AA007
-13414 ; [.4136.0020.0002.13414] # EGYPTIAN HIEROGLYPH AA007A
-13415 ; [.4137.0020.0002.13415] # EGYPTIAN HIEROGLYPH AA007B
-13416 ; [.4138.0020.0002.13416] # EGYPTIAN HIEROGLYPH AA008
-13417 ; [.4139.0020.0002.13417] # EGYPTIAN HIEROGLYPH AA009
-13418 ; [.413A.0020.0002.13418] # EGYPTIAN HIEROGLYPH AA010
-13419 ; [.413B.0020.0002.13419] # EGYPTIAN HIEROGLYPH AA011
-1341A ; [.413C.0020.0002.1341A] # EGYPTIAN HIEROGLYPH AA012
-1341B ; [.413D.0020.0002.1341B] # EGYPTIAN HIEROGLYPH AA013
-1341C ; [.413E.0020.0002.1341C] # EGYPTIAN HIEROGLYPH AA014
-1341D ; [.413F.0020.0002.1341D] # EGYPTIAN HIEROGLYPH AA015
-1341E ; [.4140.0020.0002.1341E] # EGYPTIAN HIEROGLYPH AA016
-1341F ; [.4141.0020.0002.1341F] # EGYPTIAN HIEROGLYPH AA017
-13420 ; [.4142.0020.0002.13420] # EGYPTIAN HIEROGLYPH AA018
-13421 ; [.4143.0020.0002.13421] # EGYPTIAN HIEROGLYPH AA019
-13422 ; [.4144.0020.0002.13422] # EGYPTIAN HIEROGLYPH AA020
-13423 ; [.4145.0020.0002.13423] # EGYPTIAN HIEROGLYPH AA021
-13424 ; [.4146.0020.0002.13424] # EGYPTIAN HIEROGLYPH AA022
-13425 ; [.4147.0020.0002.13425] # EGYPTIAN HIEROGLYPH AA023
-13426 ; [.4148.0020.0002.13426] # EGYPTIAN HIEROGLYPH AA024
-13427 ; [.4149.0020.0002.13427] # EGYPTIAN HIEROGLYPH AA025
-13428 ; [.414A.0020.0002.13428] # EGYPTIAN HIEROGLYPH AA026
-13429 ; [.414B.0020.0002.13429] # EGYPTIAN HIEROGLYPH AA027
-1342A ; [.414C.0020.0002.1342A] # EGYPTIAN HIEROGLYPH AA028
-1342B ; [.414D.0020.0002.1342B] # EGYPTIAN HIEROGLYPH AA029
-1342C ; [.414E.0020.0002.1342C] # EGYPTIAN HIEROGLYPH AA030
-1342D ; [.414F.0020.0002.1342D] # EGYPTIAN HIEROGLYPH AA031
-1342E ; [.4150.0020.0002.1342E] # EGYPTIAN HIEROGLYPH AA032
-2F00  ; [.FB40.0020.0004.4E00][.CE00.0000.0000.4E00] # KANGXI RADICAL ONE; QQK
-3220  ; [*030E.0020.0004.3220][.FB40.0020.0004.4E00][.CE00.0000.0000.4E00][*030F.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE; QQKN
-3280  ; [.FB40.0020.0006.4E00][.CE00.0000.0000.4E00] # CIRCLED IDEOGRAPH ONE; QQK
-3192  ; [.FB40.0020.0014.4E00][.CE00.0000.0000.4E00] # IDEOGRAPHIC ANNOTATION ONE MARK; QQK
-1F229 ; [.FB40.0020.001C.4E00][.CE00.0000.0000.4E00] # SQUARED CJK UNIFIED IDEOGRAPH-4E00; QQK
-319C  ; [.FB40.0020.0014.4E01][.CE01.0000.0000.4E01] # IDEOGRAPHIC ANNOTATION FOURTH MARK; QQK
-3226  ; [*030E.0020.0004.3226][.FB40.0020.0004.4E03][.CE03.0000.0000.4E03][*030F.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN; QQKN
-3286  ; [.FB40.0020.0006.4E03][.CE03.0000.0000.4E03] # CIRCLED IDEOGRAPH SEVEN; QQK
-3222  ; [*030E.0020.0004.3222][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*030F.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE; QQKN
-1F241 ; [*0356.0020.0004.1F241][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*0357.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09; QQKN
-3282  ; [.FB40.0020.0006.4E09][.CE09.0000.0000.4E09] # CIRCLED IDEOGRAPH THREE; QQK
-3194  ; [.FB40.0020.0014.4E09][.CE09.0000.0000.4E09] # IDEOGRAPHIC ANNOTATION THREE MARK; QQK
-1F22A ; [.FB40.0020.001C.4E09][.CE09.0000.0000.4E09] # SQUARED CJK UNIFIED IDEOGRAPH-4E09; QQK
-32A4  ; [.FB40.0020.0006.4E0A][.CE0A.0000.0000.4E0A] # CIRCLED IDEOGRAPH HIGH; QQK
-3196  ; [.FB40.0020.0014.4E0A][.CE0A.0000.0000.4E0A] # IDEOGRAPHIC ANNOTATION TOP MARK; QQK
-32A6  ; [.FB40.0020.0006.4E0B][.CE0B.0000.0000.4E0B] # CIRCLED IDEOGRAPH LOW; QQK
-3198  ; [.FB40.0020.0014.4E0B][.CE0B.0000.0000.4E0B] # IDEOGRAPHIC ANNOTATION BOTTOM MARK; QQK
-F967  ; [.FB40.0020.0002.4E0D][.CE0D.0000.0000.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967; QQC
-319B  ; [.FB40.0020.0014.4E19][.CE19.0000.0000.4E19] # IDEOGRAPHIC ANNOTATION THIRD MARK; QQK
-FA70  ; [.FB40.0020.0002.4E26][.CE26.0000.0000.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70; QQC
-2F01  ; [.FB40.0020.0004.4E28][.CE28.0000.0000.4E28] # KANGXI RADICAL LINE; QQK
-2EA6  ; [.FB40.0020.0004.4E2C][.CE2C.0000.0000.4E2C] # CJK RADICAL SIMPLIFIED HALF TREE TRUNK; QQK
-32A5  ; [.FB40.0020.0006.4E2D][.CE2D.0000.0000.4E2D] # CIRCLED IDEOGRAPH CENTRE; QQK
-3197  ; [.FB40.0020.0014.4E2D][.CE2D.0000.0000.4E2D] # IDEOGRAPHIC ANNOTATION MIDDLE MARK; QQK
-1F22D ; [.FB40.0020.001C.4E2D][.CE2D.0000.0000.4E2D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D; QQK
-F905  ; [.FB40.0020.0002.4E32][.CE32.0000.0000.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905; QQC
-2F02  ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36] # KANGXI RADICAL DOT; QQK
-2E80  ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36][.0000.015F.001F.2E80] # CJK RADICAL REPEAT; QQKN
-2F801 ; [.FB40.0020.0002.4E38][.CE38.0000.0000.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801; QQC
-F95E  ; [.FB40.0020.0002.4E39][.CE39.0000.0000.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E; QQC
-2F800 ; [.FB40.0020.0002.4E3D][.CE3D.0000.0000.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800; QQC
-2F03  ; [.FB40.0020.0004.4E3F][.CE3F.0000.0000.4E3F] # KANGXI RADICAL SLASH; QQK
-2F802 ; [.FB40.0020.0002.4E41][.CE41.0000.0000.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802; QQC
-2F04  ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59] # KANGXI RADICAL SECOND; QQK
-319A  ; [.FB40.0020.0014.4E59][.CE59.0000.0000.4E59] # IDEOGRAPHIC ANNOTATION SECOND MARK; QQK
-2E84  ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59][.0000.015F.001F.2E84] # CJK RADICAL SECOND THREE; QQKN
-2E83  ; [.FB40.0020.0004.4E5A][.CE5A.0000.0000.4E5A] # CJK RADICAL SECOND TWO; QQK
-2E82  ; [.FB40.0020.0004.4E5B][.CE5B.0000.0000.4E5B] # CJK RADICAL SECOND ONE; QQK
-3228  ; [*030E.0020.0004.3228][.FB40.0020.0004.4E5D][.CE5D.0000.0000.4E5D][*030F.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE; QQKN
-3288  ; [.FB40.0020.0006.4E5D][.CE5D.0000.0000.4E5D] # CIRCLED IDEOGRAPH NINE; QQK
-F91B  ; [.FB40.0020.0002.4E82][.CE82.0000.0000.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B; QQC
-2F05  ; [.FB40.0020.0004.4E85][.CE85.0000.0000.4E85] # KANGXI RADICAL HOOK; QQK
-F9BA  ; [.FB40.0020.0002.4E86][.CE86.0000.0000.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA; QQC
-2F06  ; [.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C] # KANGXI RADICAL TWO; QQK
-3221  ; [*030E.0020.0004.3221][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*030F.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO; QQKN
-1F242 ; [*0356.0020.0004.1F242][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*0357.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C; QQKN
-3281  ; [.FB40.0020.0006.4E8C][.CE8C.0000.0000.4E8C] # CIRCLED IDEOGRAPH TWO; QQK
-3193  ; [.FB40.0020.0014.4E8C][.CE8C.0000.0000.4E8C] # IDEOGRAPHIC ANNOTATION TWO MARK; QQK
-1F214 ; [.FB40.0020.001C.4E8C][.CE8C.0000.0000.4E8C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C; QQK
-3224  ; [*030E.0020.0004.3224][.FB40.0020.0004.4E94][.CE94.0000.0000.4E94][*030F.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE; QQKN
-3284  ; [.FB40.0020.0006.4E94][.CE94.0000.0000.4E94] # CIRCLED IDEOGRAPH FIVE; QQK
-2F07  ; [.FB40.0020.0004.4EA0][.CEA0.0000.0000.4EA0] # KANGXI RADICAL LID; QQK
-1F218 ; [.FB40.0020.001C.4EA4][.CEA4.0000.0000.4EA4] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4; QQK
-F977  ; [.FB40.0020.0002.4EAE][.CEAE.0000.0000.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977; QQC
-2F08  ; [.FB40.0020.0004.4EBA][.CEBA.0000.0000.4EBA] # KANGXI RADICAL MAN; QQK
-319F  ; [.FB40.0020.0014.4EBA][.CEBA.0000.0000.4EBA] # IDEOGRAPHIC ANNOTATION MAN MARK; QQK
-2E85  ; [.FB40.0020.0004.4EBB][.CEBB.0000.0000.4EBB] # CJK RADICAL PERSON; QQK
-F9FD  ; [.FB40.0020.0002.4EC0][.CEC0.0000.0000.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD; QQC
-2F819 ; [.FB40.0020.0002.4ECC][.CECC.0000.0000.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819; QQC
-3239  ; [*030E.0020.0004.3239][.FB40.0020.0004.4EE3][.CEE3.0000.0000.4EE3][*030F.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT; QQKN
-F9A8  ; [.FB40.0020.0002.4EE4][.CEE4.0000.0000.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8; QQC
-323D  ; [*030E.0020.0004.323D][.FB40.0020.0004.4F01][.CF01.0000.0000.4F01][*030F.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE; QQKN
-32AD  ; [.FB40.0020.0006.4F01][.CF01.0000.0000.4F01] # CIRCLED IDEOGRAPH ENTERPRISE; QQK
-3241  ; [*030E.0020.0004.3241][.FB40.0020.0004.4F11][.CF11.0000.0000.4F11][*030F.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST; QQKN
-32A1  ; [.FB40.0020.0006.4F11][.CF11.0000.0000.4F11] # CIRCLED IDEOGRAPH REST; QQK
-2F804 ; [.FB40.0020.0002.4F60][.CF60.0000.0000.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804; QQC
-FA73  ; [.FB40.0020.0002.4F80][.CF80.0000.0000.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73; QQC
-F92D  ; [.FB40.0020.0002.4F86][.CF86.0000.0000.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D; QQC
-F9B5  ; [.FB40.0020.0002.4F8B][.CF8B.0000.0000.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5; QQC
-FA30  ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30; QQC
-2F805 ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805; QQC
-2F806 ; [.FB40.0020.0002.4FBB][.CFBB.0000.0000.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806; QQC
-F965  ; [.FB40.0020.0002.4FBF][.CFBF.0000.0000.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965; QQC
-2F807 ; [.FB40.0020.0002.5002][.D002.0000.0000.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807; QQC
-F9D4  ; [.FB40.0020.0002.502B][.D02B.0000.0000.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4; QQC
-2F808 ; [.FB40.0020.0002.507A][.D07A.0000.0000.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808; QQC
-2F809 ; [.FB40.0020.0002.5099][.D099.0000.0000.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809; QQC
-2F80B ; [.FB40.0020.0002.50CF][.D0CF.0000.0000.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B; QQC
-F9BB  ; [.FB40.0020.0002.50DA][.D0DA.0000.0000.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB; QQC
-FA31  ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31; QQC
-2F80A ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A; QQC
-329D  ; [.FB40.0020.0006.512A][.D12A.0000.0000.512A] # CIRCLED IDEOGRAPH EXCELLENT; QQK
-2F09  ; [.FB40.0020.0004.513F][.D13F.0000.0000.513F] # KANGXI RADICAL LEGS; QQK
-FA0C  ; [.FB40.0020.0002.5140][.D140.0000.0000.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C; QQC
-FA74  ; [.FB40.0020.0002.5145][.D145.0000.0000.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74; QQC
-FA32  ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32; QQC
-2F80E ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E; QQC
-2F80F ; [.FB40.0020.0002.5154][.D154.0000.0000.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F; QQC
-2F810 ; [.FB40.0020.0002.5164][.D164.0000.0000.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810; QQC
-2F0A  ; [.FB40.0020.0004.5165][.D165.0000.0000.5165] # KANGXI RADICAL ENTER; QQK
-2F814 ; [.FB40.0020.0002.5167][.D167.0000.0000.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814; QQC
-FA72  ; [.FB40.0020.0002.5168][.D168.0000.0000.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72; QQC
-F978  ; [.FB40.0020.0002.5169][.D169.0000.0000.5169] # CJK COMPATIBILITY IDEOGRAPH-F978; QQC
-2F0B  ; [.FB40.0020.0004.516B][.D16B.0000.0000.516B] # KANGXI RADICAL EIGHT; QQK
-3227  ; [*030E.0020.0004.3227][.FB40.0020.0004.516B][.D16B.0000.0000.516B][*030F.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT; QQKN
-3287  ; [.FB40.0020.0006.516B][.D16B.0000.0000.516B] # CIRCLED IDEOGRAPH EIGHT; QQK
-F9D1  ; [.FB40.0020.0002.516D][.D16D.0000.0000.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1; QQC
-3225  ; [*030E.0020.0004.3225][.FB40.0020.0004.516D][.D16D.0000.0000.516D][*030F.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX; QQKN
-3285  ; [.FB40.0020.0006.516D][.D16D.0000.0000.516D] # CIRCLED IDEOGRAPH SIX; QQK
-2F811 ; [.FB40.0020.0002.5177][.D177.0000.0000.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811; QQC
-FA75  ; [.FB40.0020.0002.5180][.D180.0000.0000.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75; QQC
-2F0C  ; [.FB40.0020.0004.5182][.D182.0000.0000.5182] # KANGXI RADICAL DOWN BOX; QQK
-2E86  ; [.FB40.0020.0004.5182][.D182.0000.0000.5182][.0000.015F.001F.2E86] # CJK RADICAL BOX; QQKN
-2F815 ; [.FB40.0020.0002.518D][.D18D.0000.0000.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815; QQC
-1F21E ; [.FB40.0020.001C.518D][.D18D.0000.0000.518D] # SQUARED CJK UNIFIED IDEOGRAPH-518D; QQK
-2F8D2 ; [.FB40.0020.0002.5192][.D192.0000.0000.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2; QQC
-2F8D3 ; [.FB40.0020.0002.5195][.D195.0000.0000.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3; QQC
-2F0D  ; [.FB40.0020.0004.5196][.D196.0000.0000.5196] # KANGXI RADICAL COVER; QQK
-2F817 ; [.FB40.0020.0002.5197][.D197.0000.0000.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817; QQC
-32A2  ; [.FB40.0020.0006.5199][.D199.0000.0000.5199] # CIRCLED IDEOGRAPH COPY; QQK
-2F818 ; [.FB40.0020.0002.51A4][.D1A4.0000.0000.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818; QQC
-2F0E  ; [.FB40.0020.0004.51AB][.D1AB.0000.0000.51AB] # KANGXI RADICAL ICE; QQK
-2F81A ; [.FB40.0020.0002.51AC][.D1AC.0000.0000.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A; QQC
-FA71  ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71; QQC
-2F81B ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B; QQC
-F92E  ; [.FB40.0020.0002.51B7][.D1B7.0000.0000.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E; QQC
-F979  ; [.FB40.0020.0002.51C9][.D1C9.0000.0000.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979; QQC
-F955  ; [.FB40.0020.0002.51CC][.D1CC.0000.0000.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955; QQC
-F954  ; [.FB40.0020.0002.51DC][.D1DC.0000.0000.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954; QQC
-FA15  ; [.FB40.0020.0002.51DE][.D1DE.0000.0000.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15; QQC
-2F0F  ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0] # KANGXI RADICAL TABLE; QQK
-2E87  ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0][.0000.015F.001F.2E87] # CJK RADICAL TABLE; QQKN
-2F81D ; [.FB40.0020.0002.51F5][.D1F5.0000.0000.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D; QQC
-2F10  ; [.FB40.0020.0004.51F5][.D1F5.0000.0000.51F5] # KANGXI RADICAL OPEN BOX; QQK
-2F11  ; [.FB40.0020.0004.5200][.D200.0000.0000.5200] # KANGXI RADICAL KNIFE; QQK
-2E88  ; [.FB40.0020.0004.5200][.D200.0000.0000.5200][.0000.015F.001F.2E88] # CJK RADICAL KNIFE ONE; QQKN
-2E89  ; [.FB40.0020.0004.5202][.D202.0000.0000.5202] # CJK RADICAL KNIFE TWO; QQK
-2F81E ; [.FB40.0020.0002.5203][.D203.0000.0000.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E; QQC
-FA00  ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00; QQC
-2F850 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850; QQC
-F99C  ; [.FB40.0020.0002.5217][.D217.0000.0000.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C; QQC
-1F220 ; [.FB40.0020.001C.521D][.D21D.0000.0000.521D] # SQUARED CJK UNIFIED IDEOGRAPH-521D; QQK
-F9DD  ; [.FB40.0020.0002.5229][.D229.0000.0000.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD; QQC
-F9FF  ; [.FB40.0020.0002.523A][.D23A.0000.0000.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF; QQC
-2F820 ; [.FB40.0020.0002.523B][.D23B.0000.0000.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820; QQC
-2F821 ; [.FB40.0020.0002.5246][.D246.0000.0000.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821; QQC
-1F21C ; [.FB40.0020.001C.524D][.D24D.0000.0000.524D] # SQUARED CJK UNIFIED IDEOGRAPH-524D; QQK
-2F822 ; [.FB40.0020.0002.5272][.D272.0000.0000.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822; QQC
-1F239 ; [.FB40.0020.001C.5272][.D272.0000.0000.5272] # SQUARED CJK UNIFIED IDEOGRAPH-5272; QQK
-2F823 ; [.FB40.0020.0002.5277][.D277.0000.0000.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823; QQC
-F9C7  ; [.FB40.0020.0002.5289][.D289.0000.0000.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7; QQC
-F98A  ; [.FB40.0020.0002.529B][.D29B.0000.0000.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A; QQC
-2F12  ; [.FB40.0020.0004.529B][.D29B.0000.0000.529B] # KANGXI RADICAL POWER; QQK
-F99D  ; [.FB40.0020.0002.52A3][.D2A3.0000.0000.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D; QQC
-2F992 ; [.FB40.0020.0002.52B3][.D2B3.0000.0000.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992; QQC
-3238  ; [*030E.0020.0004.3238][.FB40.0020.0004.52B4][.D2B4.0000.0000.52B4][*030F.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR; QQKN
-3298  ; [.FB40.0020.0006.52B4][.D2B4.0000.0000.52B4] # CIRCLED IDEOGRAPH LABOR; QQK
-FA76  ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76; QQC
-2F825 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825; QQC
-FA33  ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33; QQC
-2F826 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826; QQC
-F952  ; [.FB40.0020.0002.52D2][.D2D2.0000.0000.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952; QQC
-1F247 ; [*0356.0020.0004.1F247][.FB40.0020.0004.52DD][.D2DD.0000.0000.52DD][*0357.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD; QQKN
-F92F  ; [.FB40.0020.0002.52DE][.D2DE.0000.0000.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F; QQC
-FA34  ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34; QQC
-2F827 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827; QQC
-F97F  ; [.FB40.0020.0002.52F5][.D2F5.0000.0000.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F; QQC
-2F13  ; [.FB40.0020.0004.52F9][.D2F9.0000.0000.52F9] # KANGXI RADICAL WRAP; QQK
-FA77  ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77; QQC
-2F828 ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828; QQC
-2F829 ; [.FB40.0020.0002.5305][.D305.0000.0000.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829; QQC
-2F82A ; [.FB40.0020.0002.5306][.D306.0000.0000.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A; QQC
-2F14  ; [.FB40.0020.0004.5315][.D315.0000.0000.5315] # KANGXI RADICAL SPOON; QQK
-F963  ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-F963; QQC
-2F82B ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B; QQC
-2F15  ; [.FB40.0020.0004.531A][.D31A.0000.0000.531A] # KANGXI RADICAL RIGHT OPEN BOX; QQK
-2F16  ; [.FB40.0020.0004.5338][.D338.0000.0000.5338] # KANGXI RADICAL HIDING ENCLOSURE; QQK
-32A9  ; [.FB40.0020.0006.533B][.D33B.0000.0000.533B] # CIRCLED IDEOGRAPH MEDICINE; QQK
-F9EB  ; [.FB40.0020.0002.533F][.D33F.0000.0000.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB; QQC
-2F17  ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # KANGXI RADICAL TEN; QQK
-3038  ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # HANGZHOU NUMERAL TEN; QQK
-3229  ; [*030E.0020.0004.3229][.FB40.0020.0004.5341][.D341.0000.0000.5341][*030F.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN; QQKN
-3289  ; [.FB40.0020.0006.5341][.D341.0000.0000.5341] # CIRCLED IDEOGRAPH TEN; QQK
-3039  ; [.FB40.0020.0004.5344][.D344.0000.0000.5344] # HANGZHOU NUMERAL TWENTY; QQK
-303A  ; [.FB40.0020.0004.5345][.D345.0000.0000.5345] # HANGZHOU NUMERAL THIRTY; QQK
-2F82C ; [.FB40.0020.0002.5349][.D349.0000.0000.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C; QQC
-FA35  ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35; QQC
-2F82D ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D; QQC
-323F  ; [*030E.0020.0004.323F][.FB40.0020.0004.5354][.D354.0000.0000.5354][*030F.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE; QQKN
-32AF  ; [.FB40.0020.0006.5354][.D354.0000.0000.5354] # CIRCLED IDEOGRAPH ALLIANCE; QQK
-2F82E ; [.FB40.0020.0002.535A][.D35A.0000.0000.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E; QQC
-2F18  ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C] # KANGXI RADICAL DIVINATION; QQK
-2E8A  ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C][.0000.015F.001F.2E8A] # CJK RADICAL DIVINATION; QQKN
-2F19  ; [.FB40.0020.0004.5369][.D369.0000.0000.5369] # KANGXI RADICAL SEAL; QQK
-2E8B  ; [.FB40.0020.0004.5369][.D369.0000.0000.5369][.0000.015F.001F.2E8B] # CJK RADICAL SEAL; QQKN
-329E  ; [.FB40.0020.0006.5370][.D370.0000.0000.5370] # CIRCLED IDEOGRAPH PRINT; QQK
-2F82F ; [.FB40.0020.0002.5373][.D373.0000.0000.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F; QQC
-F91C  ; [.FB40.0020.0002.5375][.D375.0000.0000.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C; QQC
-2F830 ; [.FB40.0020.0002.537D][.D37D.0000.0000.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830; QQC
-2F831 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831; QQC
-2F832 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832; QQC
-2F833 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833; QQC
-2F1A  ; [.FB40.0020.0004.5382][.D382.0000.0000.5382] # KANGXI RADICAL CLIFF; QQK
-2E81  ; [.FB40.0020.0004.5382][.D382.0000.0000.5382][.0000.015F.001F.2E81] # CJK RADICAL CLIFF; QQKN
-2F1B  ; [.FB40.0020.0004.53B6][.D3B6.0000.0000.53B6] # KANGXI RADICAL PRIVATE; QQK
-F96B  ; [.FB40.0020.0002.53C3][.D3C3.0000.0000.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B; QQC
-2F1C  ; [.FB40.0020.0004.53C8][.D3C8.0000.0000.53C8] # KANGXI RADICAL AGAIN; QQK
-2F836 ; [.FB40.0020.0002.53CA][.D3CA.0000.0000.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836; QQC
-1F212 ; [.FB40.0020.001C.53CC][.D3CC.0000.0000.53CC] # SQUARED CJK UNIFIED IDEOGRAPH-53CC; QQK
-2F837 ; [.FB40.0020.0002.53DF][.D3DF.0000.0000.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837; QQC
-2F1D  ; [.FB40.0020.0004.53E3][.D3E3.0000.0000.53E3] # KANGXI RADICAL MOUTH; QQK
-F906  ; [.FB40.0020.0002.53E5][.D3E5.0000.0000.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906; QQC
-2F839 ; [.FB40.0020.0002.53EB][.D3EB.0000.0000.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839; QQC
-1F251 ; [.FB40.0020.0006.53EF][.D3EF.0000.0000.53EF] # CIRCLED IDEOGRAPH ACCEPT; QQK
-2F83A ; [.FB40.0020.0002.53F1][.D3F1.0000.0000.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A; QQC
-32A8  ; [.FB40.0020.0006.53F3][.D3F3.0000.0000.53F3] # CIRCLED IDEOGRAPH RIGHT; QQK
-1F22E ; [.FB40.0020.001C.53F3][.D3F3.0000.0000.53F3] # SQUARED CJK UNIFIED IDEOGRAPH-53F3; QQK
-2F83B ; [.FB40.0020.0002.5406][.D406.0000.0000.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B; QQC
-1F234 ; [.FB40.0020.001C.5408][.D408.0000.0000.5408] # SQUARED CJK UNIFIED IDEOGRAPH-5408; QQK
-3234  ; [*030E.0020.0004.3234][.FB40.0020.0004.540D][.D40D.0000.0000.540D][*030F.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME; QQKN
-3294  ; [.FB40.0020.0006.540D][.D40D.0000.0000.540D] # CIRCLED IDEOGRAPH NAME; QQK
-F9DE  ; [.FB40.0020.0002.540F][.D40F.0000.0000.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE; QQC
-F9ED  ; [.FB40.0020.0002.541D][.D41D.0000.0000.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED; QQC
-2F83D ; [.FB40.0020.0002.5438][.D438.0000.0000.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D; QQC
-1F225 ; [.FB40.0020.001C.5439][.D439.0000.0000.5439] # SQUARED CJK UNIFIED IDEOGRAPH-5439; QQK
-F980  ; [.FB40.0020.0002.5442][.D442.0000.0000.5442] # CJK COMPATIBILITY IDEOGRAPH-F980; QQC
-2F83E ; [.FB40.0020.0002.5448][.D448.0000.0000.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E; QQC
-2F83F ; [.FB40.0020.0002.5468][.D468.0000.0000.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F; QQC
-323A  ; [*030E.0020.0004.323A][.FB40.0020.0004.547C][.D47C.0000.0000.547C][*030F.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL; QQKN
-2F83C ; [.FB40.0020.0002.549E][.D49E.0000.0000.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C; QQC
-2F840 ; [.FB40.0020.0002.54A2][.D4A2.0000.0000.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840; QQC
-F99E  ; [.FB40.0020.0002.54BD][.D4BD.0000.0000.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E; QQC
-2F841 ; [.FB40.0020.0002.54F6][.D4F6.0000.0000.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841; QQC
-2F842 ; [.FB40.0020.0002.5510][.D510.0000.0000.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842; QQC
-3244  ; [.FB40.0020.0006.554F][.D54F.0000.0000.554F] # CIRCLED IDEOGRAPH QUESTION; QQK
-2F843 ; [.FB40.0020.0002.5553][.D553.0000.0000.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843; QQC
-FA79  ; [.FB40.0020.0002.5555][.D555.0000.0000.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79; QQC
-2F844 ; [.FB40.0020.0002.5563][.D563.0000.0000.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844; QQC
-2F845 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845; QQC
-2F846 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846; QQC
-F90B  ; [.FB40.0020.0002.5587][.D587.0000.0000.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B; QQC
-FA7A  ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A; QQC
-2F847 ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847; QQC
-FA36  ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36; QQC
-FA78  ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78; QQC
-2F848 ; [.FB40.0020.0002.55AB][.D5AB.0000.0000.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848; QQC
-2F849 ; [.FB40.0020.0002.55B3][.D5B3.0000.0000.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849; QQC
-1F23A ; [.FB40.0020.001C.55B6][.D5B6.0000.0000.55B6] # SQUARED CJK UNIFIED IDEOGRAPH-55B6; QQK
-FA0D  ; [.FB40.0020.0002.55C0][.D5C0.0000.0000.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D; QQC
-2F84A ; [.FB40.0020.0002.55C2][.D5C2.0000.0000.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A; QQC
-FA7B  ; [.FB40.0020.0002.55E2][.D5E2.0000.0000.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B; QQC
-FA37  ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37; QQC
-2F84C ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C; QQC
-2F84E ; [.FB40.0020.0002.5651][.D651.0000.0000.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E; QQC
-FA38  ; [.FB40.0020.0002.5668][.D668.0000.0000.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38; QQC
-2F84F ; [.FB40.0020.0002.5674][.D674.0000.0000.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F; QQC
-2F1E  ; [.FB40.0020.0004.56D7][.D6D7.0000.0000.56D7] # KANGXI RADICAL ENCLOSURE; QQK
-3223  ; [*030E.0020.0004.3223][.FB40.0020.0004.56DB][.D6DB.0000.0000.56DB][*030F.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR; QQKN
-3283  ; [.FB40.0020.0006.56DB][.D6DB.0000.0000.56DB] # CIRCLED IDEOGRAPH FOUR; QQK
-3195  ; [.FB40.0020.0014.56DB][.D6DB.0000.0000.56DB] # IDEOGRAPHIC ANNOTATION FOUR MARK; QQK
-F9A9  ; [.FB40.0020.0002.56F9][.D6F9.0000.0000.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9; QQC
-2F84B ; [.FB40.0020.0002.5716][.D716.0000.0000.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B; QQC
-2F84D ; [.FB40.0020.0002.5717][.D717.0000.0000.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D; QQC
-2F1F  ; [.FB40.0020.0004.571F][.D71F.0000.0000.571F] # KANGXI RADICAL EARTH; QQK
-322F  ; [*030E.0020.0004.322F][.FB40.0020.0004.571F][.D71F.0000.0000.571F][*030F.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH; QQKN
-328F  ; [.FB40.0020.0006.571F][.D71F.0000.0000.571F] # CIRCLED IDEOGRAPH EARTH; QQK
-319E  ; [.FB40.0020.0014.5730][.D730.0000.0000.5730] # IDEOGRAPHIC ANNOTATION EARTH MARK; QQK
-2F855 ; [.FB40.0020.0002.578B][.D78B.0000.0000.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855; QQC
-2F852 ; [.FB40.0020.0002.57CE][.D7CE.0000.0000.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852; QQC
-2F853 ; [.FB40.0020.0002.57F4][.D7F4.0000.0000.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853; QQC
-2F854 ; [.FB40.0020.0002.580D][.D80D.0000.0000.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854; QQC
-2F857 ; [.FB40.0020.0002.5831][.D831.0000.0000.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857; QQC
-2F856 ; [.FB40.0020.0002.5832][.D832.0000.0000.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856; QQC
-FA39  ; [.FB40.0020.0002.5840][.D840.0000.0000.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39; QQC
-FA10  ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10; QQC
-FA7C  ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C; QQC
-F96C  ; [.FB40.0020.0002.585E][.D85E.0000.0000.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C; QQC
-FA3A  ; [.FB40.0020.0002.58A8][.D8A8.0000.0000.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A; QQC
-2F858 ; [.FB40.0020.0002.58AC][.D8AC.0000.0000.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858; QQC
-FA7D  ; [.FB40.0020.0002.58B3][.D8B3.0000.0000.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D; QQC
-F94A  ; [.FB40.0020.0002.58D8][.D8D8.0000.0000.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A; QQC
-F942  ; [.FB40.0020.0002.58DF][.D8DF.0000.0000.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942; QQC
-2F20  ; [.FB40.0020.0004.58EB][.D8EB.0000.0000.58EB] # KANGXI RADICAL SCHOLAR; QQK
-2F851 ; [.FB40.0020.0002.58EE][.D8EE.0000.0000.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851; QQC
-1F224 ; [.FB40.0020.001C.58F0][.D8F0.0000.0000.58F0] # SQUARED CJK UNIFIED IDEOGRAPH-58F0; QQK
-2F85A ; [.FB40.0020.0002.58F2][.D8F2.0000.0000.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A; QQC
-2F85B ; [.FB40.0020.0002.58F7][.D8F7.0000.0000.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B; QQC
-2F21  ; [.FB40.0020.0004.5902][.D902.0000.0000.5902] # KANGXI RADICAL GO; QQK
-2F85C ; [.FB40.0020.0002.5906][.D906.0000.0000.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C; QQC
-2F22  ; [.FB40.0020.0004.590A][.D90A.0000.0000.590A] # KANGXI RADICAL GO SLOWLY; QQK
-2F23  ; [.FB40.0020.0004.5915][.D915.0000.0000.5915] # KANGXI RADICAL EVENING; QQK
-2F85D ; [.FB40.0020.0002.591A][.D91A.0000.0000.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D; QQC
-1F215 ; [.FB40.0020.001C.591A][.D91A.0000.0000.591A] # SQUARED CJK UNIFIED IDEOGRAPH-591A; QQK
-32B0  ; [.FB40.0020.0006.591C][.D91C.0000.0000.591C] # CIRCLED IDEOGRAPH NIGHT; QQK
-2F85E ; [.FB40.0020.0002.5922][.D922.0000.0000.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E; QQC
-2F24  ; [.FB40.0020.0004.5927][.D927.0000.0000.5927] # KANGXI RADICAL BIG; QQK
-337D  ; [.FB40.0020.001C.5927][.D927.0000.0000.5927][.FB40.0020.001F.6B63][.EB63.0000.0000.6B63] # SQUARE ERA NAME TAISYOU; QQKN
-319D  ; [.FB40.0020.0014.5929][.D929.0000.0000.5929] # IDEOGRAPHIC ANNOTATION HEAVEN MARK; QQK
-1F217 ; [.FB40.0020.001C.5929][.D929.0000.0000.5929] # SQUARED CJK UNIFIED IDEOGRAPH-5929; QQK
-FA7E  ; [.FB40.0020.0002.5944][.D944.0000.0000.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E; QQC
-F90C  ; [.FB40.0020.0002.5948][.D948.0000.0000.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C; QQC
-F909  ; [.FB40.0020.0002.5951][.D951.0000.0000.5951] # CJK COMPATIBILITY IDEOGRAPH-F909; QQC
-FA7F  ; [.FB40.0020.0002.5954][.D954.0000.0000.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F; QQC
-2F85F ; [.FB40.0020.0002.5962][.D962.0000.0000.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F; QQC
-F981  ; [.FB40.0020.0002.5973][.D973.0000.0000.5973] # CJK COMPATIBILITY IDEOGRAPH-F981; QQC
-2F25  ; [.FB40.0020.0004.5973][.D973.0000.0000.5973] # KANGXI RADICAL WOMAN; QQK
-329B  ; [.FB40.0020.0006.5973][.D973.0000.0000.5973] # CIRCLED IDEOGRAPH FEMALE; QQK
-2F865 ; [.FB40.0020.0002.59D8][.D9D8.0000.0000.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865; QQC
-2F862 ; [.FB40.0020.0002.59EC][.D9EC.0000.0000.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862; QQC
-2F863 ; [.FB40.0020.0002.5A1B][.DA1B.0000.0000.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863; QQC
-2F864 ; [.FB40.0020.0002.5A27][.DA27.0000.0000.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864; QQC
-FA80  ; [.FB40.0020.0002.5A62][.DA62.0000.0000.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80; QQC
-2F866 ; [.FB40.0020.0002.5A66][.DA66.0000.0000.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866; QQC
-2F986 ; [.FB40.0020.0002.5AB5][.DAB5.0000.0000.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986; QQC
-2F869 ; [.FB40.0020.0002.5B08][.DB08.0000.0000.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869; QQC
-FA81  ; [.FB40.0020.0002.5B28][.DB28.0000.0000.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81; QQC
-2F86A ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A; QQC
-2F86B ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B; QQC
-2F26  ; [.FB40.0020.0004.5B50][.DB50.0000.0000.5B50] # KANGXI RADICAL CHILD; QQK
-1F211 ; [.FB40.0020.001C.5B57][.DB57.0000.0000.5B57] # SQUARED CJK UNIFIED IDEOGRAPH-5B57; QQK
-323B  ; [*030E.0020.0004.323B][.FB40.0020.0004.5B66][.DB66.0000.0000.5B66][*030F.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY; QQKN
-32AB  ; [.FB40.0020.0006.5B66][.DB66.0000.0000.5B66] # CIRCLED IDEOGRAPH STUDY; QQK
-2F27  ; [.FB40.0020.0004.5B80][.DB80.0000.0000.5B80] # KANGXI RADICAL ROOF; QQK
-FA04  ; [.FB40.0020.0002.5B85][.DB85.0000.0000.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04; QQC
-1F243 ; [*0356.0020.0004.1F243][.FB40.0020.0004.5B89][.DB89.0000.0000.5B89][*0357.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89; QQKN
-32AA  ; [.FB40.0020.0006.5B97][.DB97.0000.0000.5B97] # CIRCLED IDEOGRAPH RELIGION; QQK
-2F86D ; [.FB40.0020.0002.5BC3][.DBC3.0000.0000.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D; QQC
-2F86E ; [.FB40.0020.0002.5BD8][.DBD8.0000.0000.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E; QQC
-F95F  ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F; QQC
-F9AA  ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA; QQC
-2F86F ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F; QQC
-F9BC  ; [.FB40.0020.0002.5BEE][.DBEE.0000.0000.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC; QQC
-2F870 ; [.FB40.0020.0002.5BF3][.DBF3.0000.0000.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870; QQC
-2F28  ; [.FB40.0020.0004.5BF8][.DBF8.0000.0000.5BF8] # KANGXI RADICAL INCH; QQK
-2F872 ; [.FB40.0020.0002.5BFF][.DBFF.0000.0000.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872; QQC
-2F873 ; [.FB40.0020.0002.5C06][.DC06.0000.0000.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873; QQC
-2F29  ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F] # KANGXI RADICAL SMALL; QQK
-2E8C  ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.015F.001F.2E8C] # CJK RADICAL SMALL ONE; QQKN
-2E8D  ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.0160.001F.2E8D] # CJK RADICAL SMALL TWO; QQKN
-2F875 ; [.FB40.0020.0002.5C22][.DC22.0000.0000.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875; QQC
-2E90  ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # CJK RADICAL LAME THREE; QQK
-2F2A  ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # KANGXI RADICAL LAME; QQK
-2E8E  ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22][.0000.015F.001F.2E8E] # CJK RADICAL LAME ONE; QQKN
-2E8F  ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23] # CJK RADICAL LAME TWO; QQK
-2E91  ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23][.0000.015F.001F.2E91] # CJK RADICAL LAME FOUR; QQKN
-2F2B  ; [.FB40.0020.0004.5C38][.DC38.0000.0000.5C38] # KANGXI RADICAL CORPSE; QQK
-F9BD  ; [.FB40.0020.0002.5C3F][.DC3F.0000.0000.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD; QQC
-2F877 ; [.FB40.0020.0002.5C60][.DC60.0000.0000.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877; QQC
-F94B  ; [.FB40.0020.0002.5C62][.DC62.0000.0000.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B; QQC
-FA3B  ; [.FB40.0020.0002.5C64][.DC64.0000.0000.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B; QQC
-F9DF  ; [.FB40.0020.0002.5C65][.DC65.0000.0000.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF; QQC
-FA3C  ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C; QQC
-2F878 ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878; QQC
-2F2C  ; [.FB40.0020.0004.5C6E][.DC6E.0000.0000.5C6E] # KANGXI RADICAL SPROUT; QQK
-2F2D  ; [.FB40.0020.0004.5C71][.DC71.0000.0000.5C71] # KANGXI RADICAL MOUNTAIN; QQK
-2F87A ; [.FB40.0020.0002.5C8D][.DC8D.0000.0000.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A; QQC
-2F879 ; [.FB40.0020.0002.5CC0][.DCC0.0000.0000.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879; QQC
-F9D5  ; [.FB40.0020.0002.5D19][.DD19.0000.0000.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5; QQC
-2F87C ; [.FB40.0020.0002.5D43][.DD43.0000.0000.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C; QQC
-F921  ; [.FB40.0020.0002.5D50][.DD50.0000.0000.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921; QQC
-2F87F ; [.FB40.0020.0002.5D6B][.DD6B.0000.0000.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F; QQC
-2F87E ; [.FB40.0020.0002.5D6E][.DD6E.0000.0000.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E; QQC
-2F880 ; [.FB40.0020.0002.5D7C][.DD7C.0000.0000.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880; QQC
-2F9F4 ; [.FB40.0020.0002.5DB2][.DDB2.0000.0000.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4; QQC
-F9AB  ; [.FB40.0020.0002.5DBA][.DDBA.0000.0000.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB; QQC
-2F2E  ; [.FB40.0020.0004.5DDB][.DDDB.0000.0000.5DDB] # KANGXI RADICAL RIVER; QQK
-2F881 ; [.FB40.0020.0002.5DE1][.DDE1.0000.0000.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881; QQC
-2F882 ; [.FB40.0020.0002.5DE2][.DDE2.0000.0000.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882; QQC
-2F2F  ; [.FB40.0020.0004.5DE5][.DDE5.0000.0000.5DE5] # KANGXI RADICAL WORK; QQK
-32A7  ; [.FB40.0020.0006.5DE6][.DDE6.0000.0000.5DE6] # CIRCLED IDEOGRAPH LEFT; QQK
-1F22C ; [.FB40.0020.001C.5DE6][.DDE6.0000.0000.5DE6] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6; QQK
-2F30  ; [.FB40.0020.0004.5DF1][.DDF1.0000.0000.5DF1] # KANGXI RADICAL ONESELF; QQK
-2E92  ; [.FB40.0020.0004.5DF3][.DDF3.0000.0000.5DF3] # CJK RADICAL SNAKE; QQK
-2F884 ; [.FB40.0020.0002.5DFD][.DDFD.0000.0000.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884; QQC
-2F31  ; [.FB40.0020.0004.5DFE][.DDFE.0000.0000.5DFE] # KANGXI RADICAL TURBAN; QQK
-2F885 ; [.FB40.0020.0002.5E28][.DE28.0000.0000.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885; QQC
-2F886 ; [.FB40.0020.0002.5E3D][.DE3D.0000.0000.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886; QQC
-2F887 ; [.FB40.0020.0002.5E69][.DE69.0000.0000.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887; QQC
-2F32  ; [.FB40.0020.0004.5E72][.DE72.0000.0000.5E72] # KANGXI RADICAL DRY; QQK
-337B  ; [.FB40.0020.001C.5E73][.DE73.0000.0000.5E73][.FB40.0020.001F.6210][.E210.0000.0000.6210] # SQUARE ERA NAME HEISEI; QQKN
-F98E  ; [.FB40.0020.0002.5E74][.DE74.0000.0000.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E; QQC
-2E93  ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # CJK RADICAL THREAD; QQK
-2F33  ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # KANGXI RADICAL SHORT THREAD; QQK
-3245  ; [.FB40.0020.0006.5E7C][.DE7C.0000.0000.5E7C] # CIRCLED IDEOGRAPH KINDERGARTEN; QQK
-2F34  ; [.FB40.0020.0004.5E7F][.DE7F.0000.0000.5E7F] # KANGXI RADICAL DOTTED CLIFF; QQK
-FA01  ; [.FB40.0020.0002.5EA6][.DEA6.0000.0000.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01; QQC
-2F88B ; [.FB40.0020.0002.5EB0][.DEB0.0000.0000.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B; QQC
-2F88C ; [.FB40.0020.0002.5EB3][.DEB3.0000.0000.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C; QQC
-2F88D ; [.FB40.0020.0002.5EB6][.DEB6.0000.0000.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D; QQC
-F9A2  ; [.FB40.0020.0002.5EC9][.DEC9.0000.0000.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2; QQC
-F928  ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928; QQC
-2F88E ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E; QQC
-FA82  ; [.FB40.0020.0002.5ED2][.DED2.0000.0000.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82; QQC
-FA0B  ; [.FB40.0020.0002.5ED3][.DED3.0000.0000.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B; QQC
-FA83  ; [.FB40.0020.0002.5ED9][.DED9.0000.0000.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83; QQC
-F982  ; [.FB40.0020.0002.5EEC][.DEEC.0000.0000.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982; QQC
-2F35  ; [.FB40.0020.0004.5EF4][.DEF4.0000.0000.5EF4] # KANGXI RADICAL LONG STRIDE; QQK
-2F890 ; [.FB40.0020.0002.5EFE][.DEFE.0000.0000.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890; QQC
-2F36  ; [.FB40.0020.0004.5EFE][.DEFE.0000.0000.5EFE] # KANGXI RADICAL TWO HANDS; QQK
-F943  ; [.FB40.0020.0002.5F04][.DF04.0000.0000.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943; QQC
-2F37  ; [.FB40.0020.0004.5F0B][.DF0B.0000.0000.5F0B] # KANGXI RADICAL SHOOT; QQK
-2F38  ; [.FB40.0020.0004.5F13][.DF13.0000.0000.5F13] # KANGXI RADICAL BOW; QQK
-2F894 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894; QQC
-2F895 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895; QQC
-2F39  ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50] # KANGXI RADICAL SNOUT; QQK
-2E95  ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50][.0000.015F.001F.2E95] # CJK RADICAL SNOUT TWO; QQKN
-2E94  ; [.FB40.0020.0004.5F51][.DF51.0000.0000.5F51] # CJK RADICAL SNOUT ONE; QQK
-2F874 ; [.FB40.0020.0002.5F53][.DF53.0000.0000.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874; QQC
-2F3A  ; [.FB40.0020.0004.5F61][.DF61.0000.0000.5F61] # KANGXI RADICAL BRISTLE; QQK
-2F899 ; [.FB40.0020.0002.5F62][.DF62.0000.0000.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899; QQC
-FA84  ; [.FB40.0020.0002.5F69][.DF69.0000.0000.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84; QQC
-2F89A ; [.FB40.0020.0002.5F6B][.DF6B.0000.0000.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A; QQC
-2F3B  ; [.FB40.0020.0004.5F73][.DF73.0000.0000.5F73] # KANGXI RADICAL STEP; QQK
-F9D8  ; [.FB40.0020.0002.5F8B][.DF8B.0000.0000.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8; QQC
-1F21D ; [.FB40.0020.001C.5F8C][.DF8C.0000.0000.5F8C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C; QQK
-1F250 ; [.FB40.0020.0006.5F97][.DF97.0000.0000.5F97] # CIRCLED IDEOGRAPH ADVANTAGE; QQK
-2F89C ; [.FB40.0020.0002.5F9A][.DF9A.0000.0000.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C; QQC
-F966  ; [.FB40.0020.0002.5FA9][.DFA9.0000.0000.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966; QQC
-FA85  ; [.FB40.0020.0002.5FAD][.DFAD.0000.0000.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85; QQC
-2F3C  ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3] # KANGXI RADICAL HEART; QQK
-2E97  ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3][.0000.015F.001F.2E97] # CJK RADICAL HEART TWO; QQKN
-2E96  ; [.FB40.0020.0004.5FC4][.DFC4.0000.0000.5FC4] # CJK RADICAL HEART ONE; QQK
-2F89D ; [.FB40.0020.0002.5FCD][.DFCD.0000.0000.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D; QQC
-2F89E ; [.FB40.0020.0002.5FD7][.DFD7.0000.0000.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E; QQC
-F9A3  ; [.FB40.0020.0002.5FF5][.DFF5.0000.0000.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3; QQC
-2F89F ; [.FB40.0020.0002.5FF9][.DFF9.0000.0000.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F; QQC
-F960  ; [.FB40.0020.0002.6012][.E012.0000.0000.6012] # CJK COMPATIBILITY IDEOGRAPH-F960; QQC
-F9AC  ; [.FB40.0020.0002.601C][.E01C.0000.0000.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC; QQC
-FA6B  ; [.FB40.0020.0002.6075][.E075.0000.0000.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B; QQC
-2F8A0 ; [.FB40.0020.0002.6081][.E081.0000.0000.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0; QQC
-FA3D  ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D; QQC
-2F8A3 ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3; QQC
-2F8A5 ; [.FB40.0020.0002.60C7][.E0C7.0000.0000.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5; QQC
-FA86  ; [.FB40.0020.0002.60D8][.E0D8.0000.0000.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86; QQC
-F9B9  ; [.FB40.0020.0002.60E1][.E0E1.0000.0000.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9; QQC
-FA88  ; [.FB40.0020.0002.6108][.E108.0000.0000.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88; QQC
-F9D9  ; [.FB40.0020.0002.6144][.E144.0000.0000.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9; QQC
-2F8A6 ; [.FB40.0020.0002.6148][.E148.0000.0000.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6; QQC
-2F8A7 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7; QQC
-2F8A9 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9; QQC
-FA87  ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87; QQC
-2F8A8 ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8; QQC
-FA8A  ; [.FB40.0020.0002.6160][.E160.0000.0000.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A; QQC
-FA3E  ; [.FB40.0020.0002.6168][.E168.0000.0000.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E; QQC
-2F8AA ; [.FB40.0020.0002.617A][.E17A.0000.0000.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA; QQC
-FA3F  ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F; QQC
-FA89  ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89; QQC
-2F8AB ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB; QQC
-F98F  ; [.FB40.0020.0002.6190][.E190.0000.0000.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F; QQC
-2F8AD ; [.FB40.0020.0002.61A4][.E1A4.0000.0000.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD; QQC
-2F8AE ; [.FB40.0020.0002.61AF][.E1AF.0000.0000.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE; QQC
-2F8AC ; [.FB40.0020.0002.61B2][.E1B2.0000.0000.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC; QQC
-2F8AF ; [.FB40.0020.0002.61DE][.E1DE.0000.0000.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF; QQC
-FA40  ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40; QQC
-FA8B  ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B; QQC
-2F8B0 ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0; QQC
-F90D  ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D; QQC
-2F8B1 ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1; QQC
-F990  ; [.FB40.0020.0002.6200][.E200.0000.0000.6200] # CJK COMPATIBILITY IDEOGRAPH-F990; QQC
-2F3D  ; [.FB40.0020.0004.6208][.E208.0000.0000.6208] # KANGXI RADICAL HALBERD; QQK
-2F8B2 ; [.FB40.0020.0002.6210][.E210.0000.0000.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2; QQC
-2F8B3 ; [.FB40.0020.0002.621B][.E21B.0000.0000.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3; QQC
-F9D2  ; [.FB40.0020.0002.622E][.E22E.0000.0000.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2; QQC
-FA8C  ; [.FB40.0020.0002.6234][.E234.0000.0000.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C; QQC
-2F3E  ; [.FB40.0020.0004.6236][.E236.0000.0000.6236] # KANGXI RADICAL DOOR; QQK
-2F3F  ; [.FB40.0020.0004.624B][.E24B.0000.0000.624B] # KANGXI RADICAL HAND; QQK
-1F210 ; [.FB40.0020.001C.624B][.E24B.0000.0000.624B] # SQUARED CJK UNIFIED IDEOGRAPH-624B; QQK
-2E98  ; [.FB40.0020.0004.624C][.E24C.0000.0000.624C] # CJK RADICAL HAND; QQK
-1F245 ; [*0356.0020.0004.1F245][.FB40.0020.0004.6253][.E253.0000.0000.6253][*0357.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253; QQKN
-1F231 ; [.FB40.0020.001C.6253][.E253.0000.0000.6253] # SQUARED CJK UNIFIED IDEOGRAPH-6253; QQK
-2F8B4 ; [.FB40.0020.0002.625D][.E25D.0000.0000.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4; QQC
-1F227 ; [.FB40.0020.001C.6295][.E295.0000.0000.6295] # SQUARED CJK UNIFIED IDEOGRAPH-6295; QQK
-2F8B5 ; [.FB40.0020.0002.62B1][.E2B1.0000.0000.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5; QQC
-F925  ; [.FB40.0020.0002.62C9][.E2C9.0000.0000.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925; QQC
-F95B  ; [.FB40.0020.0002.62CF][.E2CF.0000.0000.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B; QQC
-FA02  ; [.FB40.0020.0002.62D3][.E2D3.0000.0000.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02; QQC
-2F8B6 ; [.FB40.0020.0002.62D4][.E2D4.0000.0000.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6; QQC
-2F8BA ; [.FB40.0020.0002.62FC][.E2FC.0000.0000.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA; QQC
-F973  ; [.FB40.0020.0002.62FE][.E2FE.0000.0000.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973; QQC
-1F22F ; [.FB40.0020.001C.6307][.E307.0000.0000.6307] # SQUARED CJK UNIFIED IDEOGRAPH-6307; QQK
-2F8B9 ; [.FB40.0020.0002.633D][.E33D.0000.0000.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9; QQC
-2F8B7 ; [.FB40.0020.0002.6350][.E350.0000.0000.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7; QQC
-1F228 ; [.FB40.0020.001C.6355][.E355.0000.0000.6355] # SQUARED CJK UNIFIED IDEOGRAPH-6355; QQK
-2F8BB ; [.FB40.0020.0002.6368][.E368.0000.0000.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB; QQC
-F9A4  ; [.FB40.0020.0002.637B][.E37B.0000.0000.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4; QQC
-2F8BC ; [.FB40.0020.0002.6383][.E383.0000.0000.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC; QQC
-F975  ; [.FB40.0020.0002.63A0][.E3A0.0000.0000.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975; QQC
-2F8C1 ; [.FB40.0020.0002.63A9][.E3A9.0000.0000.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1; QQC
-FA8D  ; [.FB40.0020.0002.63C4][.E3C4.0000.0000.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D; QQC
-2F8C0 ; [.FB40.0020.0002.63C5][.E3C5.0000.0000.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0; QQC
-2F8BD ; [.FB40.0020.0002.63E4][.E3E4.0000.0000.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD; QQC
-FA8E  ; [.FB40.0020.0002.641C][.E41C.0000.0000.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E; QQC
-2F8BF ; [.FB40.0020.0002.6422][.E422.0000.0000.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF; QQC
-FA8F  ; [.FB40.0020.0002.6452][.E452.0000.0000.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F; QQC
-2F8C3 ; [.FB40.0020.0002.6469][.E469.0000.0000.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3; QQC
-2F8C6 ; [.FB40.0020.0002.6477][.E477.0000.0000.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6; QQC
-2F8C4 ; [.FB40.0020.0002.647E][.E47E.0000.0000.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4; QQC
-F991  ; [.FB40.0020.0002.649A][.E49A.0000.0000.649A] # CJK COMPATIBILITY IDEOGRAPH-F991; QQC
-2F8C5 ; [.FB40.0020.0002.649D][.E49D.0000.0000.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5; QQC
-F930  ; [.FB40.0020.0002.64C4][.E4C4.0000.0000.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930; QQC
-2F40  ; [.FB40.0020.0004.652F][.E52F.0000.0000.652F] # KANGXI RADICAL BRANCH; QQK
-2F41  ; [.FB40.0020.0004.6534][.E534.0000.0000.6534] # KANGXI RADICAL RAP; QQK
-2E99  ; [.FB40.0020.0004.6535][.E535.0000.0000.6535] # CJK RADICAL RAP; QQK
-FA41  ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41; QQC
-2F8C8 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8; QQC
-FA90  ; [.FB40.0020.0002.6556][.E556.0000.0000.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90; QQC
-1F248 ; [*0356.0020.0004.1F248][.FB40.0020.0004.6557][.E557.0000.0000.6557][*0357.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557; QQKN
-2F8C9 ; [.FB40.0020.0002.656C][.E56C.0000.0000.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9; QQC
-F969  ; [.FB40.0020.0002.6578][.E578.0000.0000.6578] # CJK COMPATIBILITY IDEOGRAPH-F969; QQC
-2F42  ; [.FB40.0020.0004.6587][.E587.0000.0000.6587] # KANGXI RADICAL SCRIPT; QQK
-3246  ; [.FB40.0020.0006.6587][.E587.0000.0000.6587] # CIRCLED IDEOGRAPH SCHOOL; QQK
-2F43  ; [.FB40.0020.0004.6597][.E597.0000.0000.6597] # KANGXI RADICAL DIPPER; QQK
-F9BE  ; [.FB40.0020.0002.6599][.E599.0000.0000.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE; QQC
-1F21B ; [.FB40.0020.001C.6599][.E599.0000.0000.6599] # SQUARED CJK UNIFIED IDEOGRAPH-6599; QQK
-2F44  ; [.FB40.0020.0004.65A4][.E5A4.0000.0000.65A4] # KANGXI RADICAL AXE; QQK
-1F21F ; [.FB40.0020.001C.65B0][.E5B0.0000.0000.65B0] # SQUARED CJK UNIFIED IDEOGRAPH-65B0; QQK
-2F45  ; [.FB40.0020.0004.65B9][.E5B9.0000.0000.65B9] # KANGXI RADICAL SQUARE; QQK
-F983  ; [.FB40.0020.0002.65C5][.E5C5.0000.0000.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983; QQC
-2F46  ; [.FB40.0020.0004.65E0][.E5E0.0000.0000.65E0] # KANGXI RADICAL NOT; QQK
-2E9B  ; [.FB40.0020.0004.65E1][.E5E1.0000.0000.65E1] # CJK RADICAL CHOKE; QQK
-FA42  ; [.FB40.0020.0002.65E2][.E5E2.0000.0000.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42; QQC
-2F8CB ; [.FB40.0020.0002.65E3][.E5E3.0000.0000.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB; QQC
-2F47  ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # KANGXI RADICAL SUN; QQK
-3230  ; [*030E.0020.0004.3230][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][*030F.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN; QQKN
-3290  ; [.FB40.0020.0006.65E5][.E5E5.0000.0000.65E5] # CIRCLED IDEOGRAPH SUN; QQK
-2E9C  ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][.0000.015F.001F.2E9C] # CJK RADICAL SUN; QQKN
-337E  ; [.FB40.0020.001C.660E][.E60E.0000.0000.660E][.FB40.0020.001F.6CBB][.ECBB.0000.0000.6CBB] # SQUARE ERA NAME MEIZI; QQKN
-F9E0  ; [.FB40.0020.0002.6613][.E613.0000.0000.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0; QQC
-1F219 ; [.FB40.0020.001C.6620][.E620.0000.0000.6620] # SQUARED CJK UNIFIED IDEOGRAPH-6620; QQK
-337C  ; [.FB40.0020.001C.662D][.E62D.0000.0000.662D][.FB40.0020.001F.548C][.D48C.0000.0000.548C] # SQUARE ERA NAME SYOUWA; QQKN
-2F8CD ; [.FB40.0020.0002.6649][.E649.0000.0000.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD; QQC
-FA12  ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12; QQC
-FA91  ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91; QQC
-F9C5  ; [.FB40.0020.0002.6688][.E688.0000.0000.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5; QQC
-FA43  ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43; QQC
-2F8CF ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF; QQC
-2F8D5 ; [.FB40.0020.0002.669C][.E69C.0000.0000.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5; QQC
-FA06  ; [.FB40.0020.0002.66B4][.E6B4.0000.0000.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06; QQC
-F98B  ; [.FB40.0020.0002.66C6][.E6C6.0000.0000.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B; QQC
-2F48  ; [.FB40.0020.0004.66F0][.E6F0.0000.0000.66F0] # KANGXI RADICAL SAY; QQK
-F901  ; [.FB40.0020.0002.66F4][.E6F4.0000.0000.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901; QQC
-2F8CC ; [.FB40.0020.0002.66F8][.E6F8.0000.0000.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC; QQC
-2F8D4 ; [.FB40.0020.0002.6700][.E700.0000.0000.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4; QQC
-2F49  ; [.FB40.0020.0004.6708][.E708.0000.0000.6708] # KANGXI RADICAL MOON; QQK
-322A  ; [*030E.0020.0004.322A][.FB40.0020.0004.6708][.E708.0000.0000.6708][*030F.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON; QQKN
-328A  ; [.FB40.0020.0006.6708][.E708.0000.0000.6708] # CIRCLED IDEOGRAPH MOON; QQK
-1F237 ; [.FB40.0020.001C.6708][.E708.0000.0000.6708] # SQUARED CJK UNIFIED IDEOGRAPH-6708; QQK
-2E9D  ; [.FB40.0020.0004.6708][.E708.0000.0000.6708][.0000.015F.001F.2E9D] # CJK RADICAL MOON; QQKN
-3232  ; [*030E.0020.0004.3232][.FB40.0020.0004.6709][.E709.0000.0000.6709][*030F.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE; QQKN
-3292  ; [.FB40.0020.0006.6709][.E709.0000.0000.6709] # CIRCLED IDEOGRAPH HAVE; QQK
-1F236 ; [.FB40.0020.001C.6709][.E709.0000.0000.6709] # SQUARED CJK UNIFIED IDEOGRAPH-6709; QQK
-F929  ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-F929; QQC
-FA92  ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92; QQC
-2F8D8 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8; QQC
-FA93  ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93; QQC
-2F8D9 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9; QQC
-2F8DA ; [.FB40.0020.0002.6721][.E721.0000.0000.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA; QQC
-2F4A  ; [.FB40.0020.0004.6728][.E728.0000.0000.6728] # KANGXI RADICAL TREE; QQK
-322D  ; [*030E.0020.0004.322D][.FB40.0020.0004.6728][.E728.0000.0000.6728][*030F.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD; QQKN
-328D  ; [.FB40.0020.0006.6728][.E728.0000.0000.6728] # CIRCLED IDEOGRAPH WOOD; QQK
-1F240 ; [*0356.0020.0004.1F240][.FB40.0020.0004.672C][.E72C.0000.0000.672C][*0357.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C; QQKN
-F9E1  ; [.FB40.0020.0002.674E][.E74E.0000.0000.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1; QQC
-2F8DC ; [.FB40.0020.0002.6753][.E753.0000.0000.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC; QQC
-FA94  ; [.FB40.0020.0002.6756][.E756.0000.0000.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94; QQC
-2F8DB ; [.FB40.0020.0002.675E][.E75E.0000.0000.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB; QQC
-F9C8  ; [.FB40.0020.0002.677B][.E77B.0000.0000.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8; QQC
-2F8E0 ; [.FB40.0020.0002.6785][.E785.0000.0000.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0; QQC
-F9F4  ; [.FB40.0020.0002.6797][.E797.0000.0000.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4; QQC
-F9C9  ; [.FB40.0020.0002.67F3][.E7F3.0000.0000.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9; QQC
-2F8DF ; [.FB40.0020.0002.67FA][.E7FA.0000.0000.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF; QQC
-F9DA  ; [.FB40.0020.0002.6817][.E817.0000.0000.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA; QQC
-2F8E5 ; [.FB40.0020.0002.681F][.E81F.0000.0000.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5; QQC
-3231  ; [*030E.0020.0004.3231][.FB40.0020.0004.682A][.E82A.0000.0000.682A][*030F.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK; QQKN
-3291  ; [.FB40.0020.0006.682A][.E82A.0000.0000.682A] # CIRCLED IDEOGRAPH STOCK; QQK
-337F  ; [.FB40.0020.001C.682A][.E82A.0000.0000.682A][.FB40.0020.001F.5F0F][.DF0F.0000.0000.5F0F][.FB40.0020.001F.4F1A][.CF1A.0000.0000.4F1A][.FB40.0020.001F.793E][.F93E.0000.0000.793E] # SQUARE CORPORATION; QQKN
-2F8E1 ; [.FB40.0020.0002.6852][.E852.0000.0000.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1; QQC
-F97A  ; [.FB40.0020.0002.6881][.E881.0000.0000.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A; QQC
-FA44  ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44; QQC
-2F8E2 ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2; QQC
-2F8E4 ; [.FB40.0020.0002.688E][.E88E.0000.0000.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4; QQC
-F9E2  ; [.FB40.0020.0002.68A8][.E8A8.0000.0000.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2; QQC
-2F8E6 ; [.FB40.0020.0002.6914][.E914.0000.0000.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6; QQC
-2F8E8 ; [.FB40.0020.0002.6942][.E942.0000.0000.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8; QQC
-2F8E9 ; [.FB40.0020.0002.69A3][.E9A3.0000.0000.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9; QQC
-2F8EA ; [.FB40.0020.0002.69EA][.E9EA.0000.0000.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA; QQC
-F914  ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914; QQC
-F95C  ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C; QQC
-F9BF  ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF; QQC
-F94C  ; [.FB40.0020.0002.6A13][.EA13.0000.0000.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C; QQC
-2F8EB ; [.FB40.0020.0002.6AA8][.EAA8.0000.0000.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB; QQC
-F931  ; [.FB40.0020.0002.6AD3][.EAD3.0000.0000.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931; QQC
-2F8ED ; [.FB40.0020.0002.6ADB][.EADB.0000.0000.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED; QQC
-F91D  ; [.FB40.0020.0002.6B04][.EB04.0000.0000.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D; QQC
-2F4B  ; [.FB40.0020.0004.6B20][.EB20.0000.0000.6B20] # KANGXI RADICAL LACK; QQK
-2F8EF ; [.FB40.0020.0002.6B21][.EB21.0000.0000.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF; QQC
-2F8F1 ; [.FB40.0020.0002.6B54][.EB54.0000.0000.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1; QQC
-2F4C  ; [.FB40.0020.0004.6B62][.EB62.0000.0000.6B62] # KANGXI RADICAL STOP; QQK
-32A3  ; [.FB40.0020.0006.6B63][.EB63.0000.0000.6B63] # CIRCLED IDEOGRAPH CORRECT; QQK
-2F8F3 ; [.FB40.0020.0002.6B72][.EB72.0000.0000.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3; QQC
-F98C  ; [.FB40.0020.0002.6B77][.EB77.0000.0000.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C; QQC
-FA95  ; [.FB40.0020.0002.6B79][.EB79.0000.0000.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95; QQC
-2F4D  ; [.FB40.0020.0004.6B79][.EB79.0000.0000.6B79] # KANGXI RADICAL DEATH; QQK
-2E9E  ; [.FB40.0020.0004.6B7A][.EB7A.0000.0000.6B7A][.0000.015F.001F.2E9E] # CJK RADICAL DEATH; QQKN
-2F8F4 ; [.FB40.0020.0002.6B9F][.EB9F.0000.0000.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4; QQC
-F9A5  ; [.FB40.0020.0002.6BAE][.EBAE.0000.0000.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5; QQC
-2F4E  ; [.FB40.0020.0004.6BB3][.EBB3.0000.0000.6BB3] # KANGXI RADICAL WEAPON; QQK
-F970  ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970; QQC
-FA96  ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96; QQC
-2F8F5 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5; QQC
-2F8F6 ; [.FB40.0020.0002.6BBB][.EBBB.0000.0000.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6; QQC
-2F4F  ; [.FB40.0020.0004.6BCB][.EBCB.0000.0000.6BCB] # KANGXI RADICAL DO NOT; QQK
-2E9F  ; [.FB40.0020.0004.6BCD][.EBCD.0000.0000.6BCD] # CJK RADICAL MOTHER; QQK
-2F50  ; [.FB40.0020.0004.6BD4][.EBD4.0000.0000.6BD4] # KANGXI RADICAL COMPARE; QQK
-2F51  ; [.FB40.0020.0004.6BDB][.EBDB.0000.0000.6BDB] # KANGXI RADICAL FUR; QQK
-2F52  ; [.FB40.0020.0004.6C0F][.EC0F.0000.0000.6C0F] # KANGXI RADICAL CLAN; QQK
-2EA0  ; [.FB40.0020.0004.6C11][.EC11.0000.0000.6C11] # CJK RADICAL CIVILIAN; QQK
-2F53  ; [.FB40.0020.0004.6C14][.EC14.0000.0000.6C14] # KANGXI RADICAL STEAM; QQK
-2F54  ; [.FB40.0020.0004.6C34][.EC34.0000.0000.6C34] # KANGXI RADICAL WATER; QQK
-322C  ; [*030E.0020.0004.322C][.FB40.0020.0004.6C34][.EC34.0000.0000.6C34][*030F.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER; QQKN
-328C  ; [.FB40.0020.0006.6C34][.EC34.0000.0000.6C34] # CIRCLED IDEOGRAPH WATER; QQK
-2EA1  ; [.FB40.0020.0004.6C35][.EC35.0000.0000.6C35] # CJK RADICAL WATER ONE; QQK
-2EA2  ; [.FB40.0020.0004.6C3A][.EC3A.0000.0000.6C3A] # CJK RADICAL WATER TWO; QQK
-2F8FA ; [.FB40.0020.0002.6C4E][.EC4E.0000.0000.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA; QQC
-2F8FE ; [.FB40.0020.0002.6C67][.EC67.0000.0000.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE; QQC
-F972  ; [.FB40.0020.0002.6C88][.EC88.0000.0000.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972; QQC
-2F8FC ; [.FB40.0020.0002.6CBF][.ECBF.0000.0000.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC; QQC
-F968  ; [.FB40.0020.0002.6CCC][.ECCC.0000.0000.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968; QQC
-2F8FD ; [.FB40.0020.0002.6CCD][.ECCD.0000.0000.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD; QQC
-F9E3  ; [.FB40.0020.0002.6CE5][.ECE5.0000.0000.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3; QQC
-329F  ; [.FB40.0020.0006.6CE8][.ECE8.0000.0000.6CE8] # CIRCLED IDEOGRAPH ATTENTION; QQK
-2F8FF ; [.FB40.0020.0002.6D16][.ED16.0000.0000.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF; QQC
-F915  ; [.FB40.0020.0002.6D1B][.ED1B.0000.0000.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915; QQC
-FA05  ; [.FB40.0020.0002.6D1E][.ED1E.0000.0000.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05; QQC
-2F907 ; [.FB40.0020.0002.6D34][.ED34.0000.0000.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907; QQC
-2F900 ; [.FB40.0020.0002.6D3E][.ED3E.0000.0000.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900; QQC
-F9CA  ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA; QQC
-FA97  ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97; QQC
-2F902 ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902; QQC
-2F903 ; [.FB40.0020.0002.6D69][.ED69.0000.0000.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903; QQC
-F92A  ; [.FB40.0020.0002.6D6A][.ED6A.0000.0000.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A; QQC
-FA45  ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45; QQC
-2F901 ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901; QQC
-2F904 ; [.FB40.0020.0002.6D78][.ED78.0000.0000.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904; QQC
-2F905 ; [.FB40.0020.0002.6D85][.ED85.0000.0000.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905; QQC
-F9F5  ; [.FB40.0020.0002.6DCB][.EDCB.0000.0000.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5; QQC
-F94D  ; [.FB40.0020.0002.6DDA][.EDDA.0000.0000.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D; QQC
-F9D6  ; [.FB40.0020.0002.6DEA][.EDEA.0000.0000.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6; QQC
-2F90E ; [.FB40.0020.0002.6DF9][.EDF9.0000.0000.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E; QQC
-FA46  ; [.FB40.0020.0002.6E1A][.EE1A.0000.0000.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46; QQC
-2F908 ; [.FB40.0020.0002.6E2F][.EE2F.0000.0000.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908; QQC
-2F909 ; [.FB40.0020.0002.6E6E][.EE6E.0000.0000.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909; QQC
-1F235 ; [.FB40.0020.001C.6E80][.EE80.0000.0000.6E80] # SQUARED CJK UNIFIED IDEOGRAPH-6E80; QQK
-F9CB  ; [.FB40.0020.0002.6E9C][.EE9C.0000.0000.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB; QQC
-F9EC  ; [.FB40.0020.0002.6EBA][.EEBA.0000.0000.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC; QQC
-2F90C ; [.FB40.0020.0002.6EC7][.EEC7.0000.0000.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C; QQC
-FA99  ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99; QQC
-2F90B ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B; QQC
-F904  ; [.FB40.0020.0002.6ED1][.EED1.0000.0000.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904; QQC
-FA98  ; [.FB40.0020.0002.6EDB][.EEDB.0000.0000.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98; QQC
-F94E  ; [.FB40.0020.0002.6F0F][.EF0F.0000.0000.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E; QQC
-1F226 ; [.FB40.0020.001C.6F14][.EF14.0000.0000.6F14] # SQUARED CJK UNIFIED IDEOGRAPH-6F14; QQK
-FA47  ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47; QQC
-FA9A  ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A; QQC
-F992  ; [.FB40.0020.0002.6F23][.EF23.0000.0000.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992; QQC
-2F90F ; [.FB40.0020.0002.6F6E][.EF6E.0000.0000.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F; QQC
-2F912 ; [.FB40.0020.0002.6FC6][.EFC6.0000.0000.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912; QQC
-F922  ; [.FB40.0020.0002.6FEB][.EFEB.0000.0000.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922; QQC
-F984  ; [.FB40.0020.0002.6FFE][.EFFE.0000.0000.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984; QQC
-2F915 ; [.FB40.0020.0002.701B][.F01B.0000.0000.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915; QQC
-FA9B  ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B; QQC
-2F914 ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914; QQC
-2F913 ; [.FB40.0020.0002.7039][.F039.0000.0000.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913; QQC
-2F917 ; [.FB40.0020.0002.704A][.F04A.0000.0000.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917; QQC
-2F55  ; [.FB40.0020.0004.706B][.F06B.0000.0000.706B] # KANGXI RADICAL FIRE; QQK
-322B  ; [*030E.0020.0004.322B][.FB40.0020.0004.706B][.F06B.0000.0000.706B][*030F.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE; QQKN
-328B  ; [.FB40.0020.0006.706B][.F06B.0000.0000.706B] # CIRCLED IDEOGRAPH FIRE; QQK
-2EA3  ; [.FB40.0020.0004.706C][.F06C.0000.0000.706C] # CJK RADICAL FIRE; QQK
-2F835 ; [.FB40.0020.0002.7070][.F070.0000.0000.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835; QQC
-2F919 ; [.FB40.0020.0002.7077][.F077.0000.0000.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919; QQC
-2F918 ; [.FB40.0020.0002.707D][.F07D.0000.0000.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918; QQC
-F9FB  ; [.FB40.0020.0002.7099][.F099.0000.0000.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB; QQC
-2F91A ; [.FB40.0020.0002.70AD][.F0AD.0000.0000.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A; QQC
-1F244 ; [*0356.0020.0004.1F244][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9][*0357.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9; QQKN
-F99F  ; [.FB40.0020.0002.70C8][.F0C8.0000.0000.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F; QQC
-F916  ; [.FB40.0020.0002.70D9][.F0D9.0000.0000.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916; QQC
-1F21A ; [.FB40.0020.001C.7121][.F121.0000.0000.7121] # SQUARED CJK UNIFIED IDEOGRAPH-7121; QQK
-2F91C ; [.FB40.0020.0002.7145][.F145.0000.0000.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C; QQC
-F993  ; [.FB40.0020.0002.7149][.F149.0000.0000.7149] # CJK COMPATIBILITY IDEOGRAPH-F993; QQC
-FA48  ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48; QQC
-FA9C  ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C; QQC
-2F91E ; [.FB40.0020.0002.719C][.F19C.0000.0000.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E; QQC
-F9C0  ; [.FB40.0020.0002.71CE][.F1CE.0000.0000.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0; QQC
-F9EE  ; [.FB40.0020.0002.71D0][.F1D0.0000.0000.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE; QQC
-F932  ; [.FB40.0020.0002.7210][.F210.0000.0000.7210] # CJK COMPATIBILITY IDEOGRAPH-F932; QQC
-F91E  ; [.FB40.0020.0002.721B][.F21B.0000.0000.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E; QQC
-2F920 ; [.FB40.0020.0002.7228][.F228.0000.0000.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920; QQC
-2F56  ; [.FB40.0020.0004.722A][.F22A.0000.0000.722A] # KANGXI RADICAL CLAW; QQK
-FA49  ; [.FB40.0020.0002.722B][.F22B.0000.0000.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49; QQC
-2EA4  ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B] # CJK RADICAL PAW ONE; QQK
-2EA5  ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B][.0000.015F.001F.2EA5] # CJK RADICAL PAW TWO; QQKN
-FA9E  ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E; QQC
-2F921 ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921; QQC
-2F57  ; [.FB40.0020.0004.7236][.F236.0000.0000.7236] # KANGXI RADICAL FATHER; QQK
-2F58  ; [.FB40.0020.0004.723B][.F23B.0000.0000.723B] # KANGXI RADICAL DOUBLE X; QQK
-2F59  ; [.FB40.0020.0004.723F][.F23F.0000.0000.723F] # KANGXI RADICAL HALF TREE TRUNK; QQK
-2F5A  ; [.FB40.0020.0004.7247][.F247.0000.0000.7247] # KANGXI RADICAL SLICE; QQK
-2F922 ; [.FB40.0020.0002.7250][.F250.0000.0000.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922; QQC
-2F5B  ; [.FB40.0020.0004.7259][.F259.0000.0000.7259] # KANGXI RADICAL FANG; QQK
-2F5C  ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B] # KANGXI RADICAL COW; QQK
-2EA7  ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B][.0000.015F.001F.2EA7] # CJK RADICAL COW; QQKN
-F946  ; [.FB40.0020.0002.7262][.F262.0000.0000.7262] # CJK COMPATIBILITY IDEOGRAPH-F946; QQC
-3235  ; [*030E.0020.0004.3235][.FB40.0020.0004.7279][.F279.0000.0000.7279][*030F.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL; QQKN
-3295  ; [.FB40.0020.0006.7279][.F279.0000.0000.7279] # CIRCLED IDEOGRAPH SPECIAL; QQK
-2F924 ; [.FB40.0020.0002.7280][.F280.0000.0000.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924; QQC
-2F925 ; [.FB40.0020.0002.7295][.F295.0000.0000.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925; QQC
-2F5D  ; [.FB40.0020.0004.72AC][.F2AC.0000.0000.72AC] # KANGXI RADICAL DOG; QQK
-2EA8  ; [.FB40.0020.0004.72AD][.F2AD.0000.0000.72AD] # CJK RADICAL DOG; QQK
-FA9F  ; [.FB40.0020.0002.72AF][.F2AF.0000.0000.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F; QQC
-F9FA  ; [.FB40.0020.0002.72C0][.F2C0.0000.0000.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA; QQC
-F92B  ; [.FB40.0020.0002.72FC][.F2FC.0000.0000.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B; QQC
-FA16  ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16; QQC
-FAA0  ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0; QQC
-F9A7  ; [.FB40.0020.0002.7375][.F375.0000.0000.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7; QQC
-2F928 ; [.FB40.0020.0002.737A][.F37A.0000.0000.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928; QQC
-2F5E  ; [.FB40.0020.0004.7384][.F384.0000.0000.7384] # KANGXI RADICAL PROFOUND; QQK
-F961  ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F961; QQC
-F9DB  ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB; QQC
-2F5F  ; [.FB40.0020.0004.7389][.F389.0000.0000.7389] # KANGXI RADICAL JADE; QQK
-2F929 ; [.FB40.0020.0002.738B][.F38B.0000.0000.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929; QQC
-2EA9  ; [.FB40.0020.0004.738B][.F38B.0000.0000.738B][.0000.015F.001F.2EA9] # CJK RADICAL JADE; QQKN
-2F92B ; [.FB40.0020.0002.73A5][.F3A5.0000.0000.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B; QQC
-F9AD  ; [.FB40.0020.0002.73B2][.F3B2.0000.0000.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD; QQC
-F917  ; [.FB40.0020.0002.73DE][.F3DE.0000.0000.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917; QQC
-F9E4  ; [.FB40.0020.0002.7406][.F406.0000.0000.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4; QQC
-F9CC  ; [.FB40.0020.0002.7409][.F409.0000.0000.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC; QQC
-FA4A  ; [.FB40.0020.0002.7422][.F422.0000.0000.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A; QQC
-2F92E ; [.FB40.0020.0002.7447][.F447.0000.0000.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E; QQC
-2F92F ; [.FB40.0020.0002.745C][.F45C.0000.0000.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F; QQC
-F9AE  ; [.FB40.0020.0002.7469][.F469.0000.0000.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE; QQC
-FAA1  ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1; QQC
-2F930 ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930; QQC
-2F931 ; [.FB40.0020.0002.7485][.F485.0000.0000.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931; QQC
-F994  ; [.FB40.0020.0002.7489][.F489.0000.0000.7489] # CJK COMPATIBILITY IDEOGRAPH-F994; QQC
-F9EF  ; [.FB40.0020.0002.7498][.F498.0000.0000.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF; QQC
-2F932 ; [.FB40.0020.0002.74CA][.F4CA.0000.0000.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932; QQC
-2F60  ; [.FB40.0020.0004.74DC][.F4DC.0000.0000.74DC] # KANGXI RADICAL MELON; QQK
-2F61  ; [.FB40.0020.0004.74E6][.F4E6.0000.0000.74E6] # KANGXI RADICAL TILE; QQK
-FAA2  ; [.FB40.0020.0002.7506][.F506.0000.0000.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2; QQC
-2F62  ; [.FB40.0020.0004.7518][.F518.0000.0000.7518] # KANGXI RADICAL SWEET; QQK
-2F63  ; [.FB40.0020.0004.751F][.F51F.0000.0000.751F] # KANGXI RADICAL LIFE; QQK
-1F222 ; [.FB40.0020.001C.751F][.F51F.0000.0000.751F] # SQUARED CJK UNIFIED IDEOGRAPH-751F; QQK
-2F934 ; [.FB40.0020.0002.7524][.F524.0000.0000.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934; QQC
-2F64  ; [.FB40.0020.0004.7528][.F528.0000.0000.7528] # KANGXI RADICAL USE; QQK
-2F65  ; [.FB40.0020.0004.7530][.F530.0000.0000.7530] # KANGXI RADICAL FIELD; QQK
-3199  ; [.FB40.0020.0014.7532][.F532.0000.0000.7532] # IDEOGRAPHIC ANNOTATION FIRST MARK; QQK
-1F238 ; [.FB40.0020.001C.7533][.F533.0000.0000.7533] # SQUARED CJK UNIFIED IDEOGRAPH-7533; QQK
-329A  ; [.FB40.0020.0006.7537][.F537.0000.0000.7537] # CIRCLED IDEOGRAPH MALE; QQK
-FAA3  ; [.FB40.0020.0002.753B][.F53B.0000.0000.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3; QQC
-2F936 ; [.FB40.0020.0002.753E][.F53E.0000.0000.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936; QQC
-F9CD  ; [.FB40.0020.0002.7559][.F559.0000.0000.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD; QQC
-F976  ; [.FB40.0020.0002.7565][.F565.0000.0000.7565] # CJK COMPATIBILITY IDEOGRAPH-F976; QQC
-F962  ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-F962; QQC
-2F938 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938; QQC
-2F66  ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B] # KANGXI RADICAL BOLT OF CLOTH; QQK
-2EAA  ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B][.0000.015F.001F.2EAA] # CJK RADICAL BOLT OF CLOTH; QQKN
-2F67  ; [.FB40.0020.0004.7592][.F592.0000.0000.7592] # KANGXI RADICAL SICKNESS; QQK
-F9E5  ; [.FB40.0020.0002.75E2][.F5E2.0000.0000.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5; QQC
-2F93A ; [.FB40.0020.0002.7610][.F610.0000.0000.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A; QQC
-FAA4  ; [.FB40.0020.0002.761D][.F61D.0000.0000.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4; QQC
-FAA5  ; [.FB40.0020.0002.761F][.F61F.0000.0000.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5; QQC
-F9C1  ; [.FB40.0020.0002.7642][.F642.0000.0000.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1; QQC
-F90E  ; [.FB40.0020.0002.7669][.F669.0000.0000.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E; QQC
-2F68  ; [.FB40.0020.0004.7676][.F676.0000.0000.7676] # KANGXI RADICAL DOTTED TENT; QQK
-2F69  ; [.FB40.0020.0004.767D][.F67D.0000.0000.767D] # KANGXI RADICAL WHITE; QQK
-2F6A  ; [.FB40.0020.0004.76AE][.F6AE.0000.0000.76AE] # KANGXI RADICAL SKIN; QQK
-2F6B  ; [.FB40.0020.0004.76BF][.F6BF.0000.0000.76BF] # KANGXI RADICAL DISH; QQK
-FA17  ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17; QQC
-FAA6  ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6; QQC
-1F246 ; [*0356.0020.0004.1F246][.FB40.0020.0004.76D7][.F6D7.0000.0000.76D7][*0357.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7; QQKN
-FAA7  ; [.FB40.0020.0002.76DB][.F6DB.0000.0000.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7; QQC
-323C  ; [*030E.0020.0004.323C][.FB40.0020.0004.76E3][.F6E3.0000.0000.76E3][*030F.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE; QQKN
-32AC  ; [.FB40.0020.0006.76E3][.F6E3.0000.0000.76E3] # CIRCLED IDEOGRAPH SUPERVISE; QQK
-F933  ; [.FB40.0020.0002.76E7][.F6E7.0000.0000.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933; QQC
-2F6C  ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE] # KANGXI RADICAL EYE; QQK
-2EAB  ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE][.0000.015F.001F.2EAB] # CJK RADICAL EYE; QQKN
-FAA8  ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8; QQC
-2F940 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940; QQC
-F96D  ; [.FB40.0020.0002.7701][.F701.0000.0000.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D; QQC
-2F945 ; [.FB40.0020.0002.771E][.F71E.0000.0000.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945; QQC
-2F946 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946; QQC
-2F947 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947; QQC
-FAAA  ; [.FB40.0020.0002.7740][.F740.0000.0000.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA; QQC
-FAA9  ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9; QQC
-2F948 ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948; QQC
-2F94A ; [.FB40.0020.0002.778B][.F78B.0000.0000.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A; QQC
-FA9D  ; [.FB40.0020.0002.77A7][.F7A7.0000.0000.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D; QQC
-2F6D  ; [.FB40.0020.0004.77DB][.F7DB.0000.0000.77DB] # KANGXI RADICAL SPEAR; QQK
-2F6E  ; [.FB40.0020.0004.77E2][.F7E2.0000.0000.77E2] # KANGXI RADICAL ARROW; QQK
-2F6F  ; [.FB40.0020.0004.77F3][.F7F3.0000.0000.77F3] # KANGXI RADICAL STONE; QQK
-2F94E ; [.FB40.0020.0002.784E][.F84E.0000.0000.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E; QQC
-F9CE  ; [.FB40.0020.0002.786B][.F86B.0000.0000.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE; QQC
-F93B  ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B; QQC
-2F94F ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F; QQC
-FA4B  ; [.FB40.0020.0002.7891][.F891.0000.0000.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B; QQC
-F947  ; [.FB40.0020.0002.78CA][.F8CA.0000.0000.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947; QQC
-FAAB  ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB; QQC
-2F950 ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950; QQC
-F964  ; [.FB40.0020.0002.78FB][.F8FB.0000.0000.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964; QQC
-F985  ; [.FB40.0020.0002.792A][.F92A.0000.0000.792A] # CJK COMPATIBILITY IDEOGRAPH-F985; QQC
-2F70  ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A] # KANGXI RADICAL SPIRIT; QQK
-2EAC  ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A][.0000.015F.001F.2EAC] # CJK RADICAL SPIRIT ONE; QQKN
-2EAD  ; [.FB40.0020.0004.793B][.F93B.0000.0000.793B] # CJK RADICAL SPIRIT TWO; QQK
-FA18  ; [.FB40.0020.0002.793C][.F93C.0000.0000.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18; QQC
-FA4C  ; [.FB40.0020.0002.793E][.F93E.0000.0000.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C; QQC
-3233  ; [*030E.0020.0004.3233][.FB40.0020.0004.793E][.F93E.0000.0000.793E][*030F.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY; QQKN
-3293  ; [.FB40.0020.0006.793E][.F93E.0000.0000.793E] # CIRCLED IDEOGRAPH SOCIETY; QQK
-FA4E  ; [.FB40.0020.0002.7948][.F948.0000.0000.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E; QQC
-FA4D  ; [.FB40.0020.0002.7949][.F949.0000.0000.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D; QQC
-FA4F  ; [.FB40.0020.0002.7950][.F950.0000.0000.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F; QQC
-FA50  ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50; QQC
-2F953 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953; QQC
-FA51  ; [.FB40.0020.0002.795D][.F95D.0000.0000.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51; QQC
-3237  ; [*030E.0020.0004.3237][.FB40.0020.0004.795D][.F95D.0000.0000.795D][*030F.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION; QQKN
-3297  ; [.FB40.0020.0006.795D][.F95D.0000.0000.795D] # CIRCLED IDEOGRAPH CONGRATULATION; QQK
-FA19  ; [.FB40.0020.0002.795E][.F95E.0000.0000.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19; QQC
-FA1A  ; [.FB40.0020.0002.7965][.F965.0000.0000.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A; QQC
-3240  ; [*030E.0020.0004.3240][.FB40.0020.0004.796D][.F96D.0000.0000.796D][*030F.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL; QQKN
-F93C  ; [.FB40.0020.0002.797F][.F97F.0000.0000.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C; QQC
-1F232 ; [.FB40.0020.001C.7981][.F981.0000.0000.7981] # SQUARED CJK UNIFIED IDEOGRAPH-7981; QQK
-FA52  ; [.FB40.0020.0002.798D][.F98D.0000.0000.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52; QQC
-FA53  ; [.FB40.0020.0002.798E][.F98E.0000.0000.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53; QQC
-FA1B  ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B; QQC
-2F956 ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956; QQC
-F9B6  ; [.FB40.0020.0002.79AE][.F9AE.0000.0000.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6; QQC
-2F71  ; [.FB40.0020.0004.79B8][.F9B8.0000.0000.79B8] # KANGXI RADICAL TRACK; QQK
-2F72  ; [.FB40.0020.0004.79BE][.F9BE.0000.0000.79BE] # KANGXI RADICAL GRAIN; QQK
-F995  ; [.FB40.0020.0002.79CA][.F9CA.0000.0000.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995; QQC
-3299  ; [.FB40.0020.0006.79D8][.F9D8.0000.0000.79D8] # CIRCLED IDEOGRAPH SECRET; QQK
-2F957 ; [.FB40.0020.0002.79EB][.F9EB.0000.0000.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957; QQC
-F956  ; [.FB40.0020.0002.7A1C][.FA1C.0000.0000.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956; QQC
-FA54  ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54; QQC
-2F959 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959; QQC
-2F95A ; [.FB40.0020.0002.7A4A][.FA4A.0000.0000.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A; QQC
-2F95B ; [.FB40.0020.0002.7A4F][.FA4F.0000.0000.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B; QQC
-2F73  ; [.FB40.0020.0004.7A74][.FA74.0000.0000.7A74] # KANGXI RADICAL CAVE; QQK
-1F233 ; [.FB40.0020.001C.7A7A][.FA7A.0000.0000.7A7A] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A; QQK
-FA55  ; [.FB40.0020.0002.7A81][.FA81.0000.0000.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55; QQC
-FAAC  ; [.FB40.0020.0002.7AB1][.FAB1.0000.0000.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC; QQC
-F9F7  ; [.FB40.0020.0002.7ACB][.FACB.0000.0000.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7; QQC
-2F74  ; [.FB40.0020.0004.7ACB][.FACB.0000.0000.7ACB] # KANGXI RADICAL STAND; QQK
-2F95F ; [.FB40.0020.0002.7AEE][.FAEE.0000.0000.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F; QQC
-2F75  ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9] # KANGXI RADICAL BAMBOO; QQK
-2EAE  ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9][.0000.015F.001F.2EAE] # CJK RADICAL BAMBOO; QQKN
-F9F8  ; [.FB40.0020.0002.7B20][.FB20.0000.0000.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8; QQC
-3247  ; [.FB40.0020.0006.7B8F][.FB8F.0000.0000.7B8F] # CIRCLED IDEOGRAPH KOTO; QQK
-FA56  ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56; QQC
-FAAD  ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD; QQC
-2F962 ; [.FB40.0020.0002.7BC6][.FBC6.0000.0000.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962; QQC
-2F963 ; [.FB40.0020.0002.7BC9][.FBC9.0000.0000.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963; QQC
-F9A6  ; [.FB40.0020.0002.7C3E][.FC3E.0000.0000.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6; QQC
-F944  ; [.FB40.0020.0002.7C60][.FC60.0000.0000.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944; QQC
-2F76  ; [.FB40.0020.0004.7C73][.FC73.0000.0000.7C73] # KANGXI RADICAL RICE; QQK
-FAAE  ; [.FB40.0020.0002.7C7B][.FC7B.0000.0000.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE; QQC
-F9F9  ; [.FB40.0020.0002.7C92][.FC92.0000.0000.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9; QQC
-FA1D  ; [.FB40.0020.0002.7CBE][.FCBE.0000.0000.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D; QQC
-2F966 ; [.FB40.0020.0002.7CD2][.FCD2.0000.0000.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966; QQC
-FA03  ; [.FB40.0020.0002.7CD6][.FCD6.0000.0000.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03; QQC
-2F969 ; [.FB40.0020.0002.7CE3][.FCE3.0000.0000.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969; QQC
-F97B  ; [.FB40.0020.0002.7CE7][.FCE7.0000.0000.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B; QQC
-2F968 ; [.FB40.0020.0002.7CE8][.FCE8.0000.0000.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968; QQC
-2F77  ; [.FB40.0020.0004.7CF8][.FCF8.0000.0000.7CF8] # KANGXI RADICAL SILK; QQK
-2EAF  ; [.FB40.0020.0004.7CF9][.FCF9.0000.0000.7CF9] # CJK RADICAL SILK; QQK
-2F96A ; [.FB40.0020.0002.7D00][.FD00.0000.0000.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A; QQC
-F9CF  ; [.FB40.0020.0002.7D10][.FD10.0000.0000.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF; QQC
-F96A  ; [.FB40.0020.0002.7D22][.FD22.0000.0000.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A; QQC
-F94F  ; [.FB40.0020.0002.7D2F][.FD2F.0000.0000.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F; QQC
-1F221 ; [.FB40.0020.001C.7D42][.FD42.0000.0000.7D42] # SQUARED CJK UNIFIED IDEOGRAPH-7D42; QQK
-FAAF  ; [.FB40.0020.0002.7D5B][.FD5B.0000.0000.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF; QQC
-2F96C ; [.FB40.0020.0002.7D63][.FD63.0000.0000.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C; QQC
-F93D  ; [.FB40.0020.0002.7DA0][.FDA0.0000.0000.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D; QQC
-F957  ; [.FB40.0020.0002.7DBE][.FDBE.0000.0000.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957; QQC
-2F96E ; [.FB40.0020.0002.7DC7][.FDC7.0000.0000.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E; QQC
-F996  ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996; QQC
-FA57  ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57; QQC
-FAB0  ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0; QQC
-2F96F ; [.FB40.0020.0002.7E02][.FE02.0000.0000.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F; QQC
-FA58  ; [.FB40.0020.0002.7E09][.FE09.0000.0000.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58; QQC
-F950  ; [.FB40.0020.0002.7E37][.FE37.0000.0000.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950; QQC
-FA59  ; [.FB40.0020.0002.7E41][.FE41.0000.0000.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59; QQC
-2F970 ; [.FB40.0020.0002.7E45][.FE45.0000.0000.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970; QQC
-2EB0  ; [.FB40.0020.0004.7E9F][.FE9F.0000.0000.7E9F] # CJK RADICAL C-SIMPLIFIED SILK; QQK
-2F78  ; [.FB40.0020.0004.7F36][.FF36.0000.0000.7F36] # KANGXI RADICAL JAR; QQK
-FAB1  ; [.FB40.0020.0002.7F3E][.FF3E.0000.0000.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1; QQC
-2F79  ; [.FB40.0020.0004.7F51][.FF51.0000.0000.7F51] # KANGXI RADICAL NET; QQK
-2EB2  ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52] # CJK RADICAL NET TWO; QQK
-2EB5  ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52][.0000.015F.001F.2EB5] # CJK RADICAL MESH; QQKN
-2EB1  ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53] # CJK RADICAL NET ONE; QQK
-2EB3  ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.015F.001F.2EB3] # CJK RADICAL NET THREE; QQKN
-2EB4  ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.0160.001F.2EB4] # CJK RADICAL NET FOUR; QQKN
-FA5A  ; [.FB40.0020.0002.7F72][.FF72.0000.0000.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A; QQC
-F9E6  ; [.FB40.0020.0002.7F79][.FF79.0000.0000.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6; QQC
-2F976 ; [.FB40.0020.0002.7F7A][.FF7A.0000.0000.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976; QQC
-F90F  ; [.FB40.0020.0002.7F85][.FF85.0000.0000.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F; QQC
-2F7A  ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A] # KANGXI RADICAL SHEEP; QQK
-2EB6  ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.015F.001F.2EB6] # CJK RADICAL SHEEP; QQKN
-2EB7  ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.0160.001F.2EB7] # CJK RADICAL RAM; QQKN
-2EB8  ; [.FB40.0020.0004.7F8B][.FF8B.0000.0000.7F8B] # CJK RADICAL EWE; QQK
-2F978 ; [.FB40.0020.0002.7F95][.FF95.0000.0000.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978; QQC
-F9AF  ; [.FB40.0020.0002.7F9A][.FF9A.0000.0000.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF; QQC
-FA1E  ; [.FB40.0020.0002.7FBD][.FFBD.0000.0000.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E; QQC
-2F7B  ; [.FB40.0020.0004.7FBD][.FFBD.0000.0000.7FBD] # KANGXI RADICAL FEATHER; QQK
-2F979 ; [.FB40.0020.0002.7FFA][.FFFA.0000.0000.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979; QQC
-F934  ; [.FB41.0020.0002.8001][.8001.0000.0000.8001] # CJK COMPATIBILITY IDEOGRAPH-F934; QQC
-2F7C  ; [.FB41.0020.0004.8001][.8001.0000.0000.8001] # KANGXI RADICAL OLD; QQK
-2EB9  ; [.FB41.0020.0004.8002][.8002.0000.0000.8002] # CJK RADICAL OLD; QQK
-FA5B  ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B; QQC
-FAB2  ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2; QQC
-2F97A ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A; QQC
-2F7D  ; [.FB41.0020.0004.800C][.800C.0000.0000.800C] # KANGXI RADICAL AND; QQK
-2F7E  ; [.FB41.0020.0004.8012][.8012.0000.0000.8012] # KANGXI RADICAL PLOW; QQK
-2F7F  ; [.FB41.0020.0004.8033][.8033.0000.0000.8033] # KANGXI RADICAL EAR; QQK
-F9B0  ; [.FB41.0020.0002.8046][.8046.0000.0000.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0; QQC
-2F97D ; [.FB41.0020.0002.8060][.8060.0000.0000.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D; QQC
-F997  ; [.FB41.0020.0002.806F][.806F.0000.0000.806F] # CJK COMPATIBILITY IDEOGRAPH-F997; QQC
-2F97F ; [.FB41.0020.0002.8070][.8070.0000.0000.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F; QQC
-F945  ; [.FB41.0020.0002.807E][.807E.0000.0000.807E] # CJK COMPATIBILITY IDEOGRAPH-F945; QQC
-2F80  ; [.FB41.0020.0004.807F][.807F.0000.0000.807F] # KANGXI RADICAL BRUSH; QQK
-2EBB  ; [.FB41.0020.0004.807F][.807F.0000.0000.807F][.0000.015F.001F.2EBB] # CJK RADICAL BRUSH TWO; QQKN
-2EBA  ; [.FB41.0020.0004.8080][.8080.0000.0000.8080] # CJK RADICAL BRUSH ONE; QQK
-2F81  ; [.FB41.0020.0004.8089][.8089.0000.0000.8089] # KANGXI RADICAL MEAT; QQK
-2EBC  ; [.FB41.0020.0004.8089][.8089.0000.0000.8089][.0000.015F.001F.2EBC] # CJK RADICAL MEAT; QQKN
-F953  ; [.FB41.0020.0002.808B][.808B.0000.0000.808B] # CJK COMPATIBILITY IDEOGRAPH-F953; QQC
-2F8D6 ; [.FB41.0020.0002.80AD][.80AD.0000.0000.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6; QQC
-2F982 ; [.FB41.0020.0002.80B2][.80B2.0000.0000.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982; QQC
-2F983 ; [.FB41.0020.0002.8103][.8103.0000.0000.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983; QQC
-2F985 ; [.FB41.0020.0002.813E][.813E.0000.0000.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985; QQC
-F926  ; [.FB41.0020.0002.81D8][.81D8.0000.0000.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926; QQC
-2F82  ; [.FB41.0020.0004.81E3][.81E3.0000.0000.81E3] # KANGXI RADICAL MINISTER; QQK
-F9F6  ; [.FB41.0020.0002.81E8][.81E8.0000.0000.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6; QQC
-2F83  ; [.FB41.0020.0004.81EA][.81EA.0000.0000.81EA] # KANGXI RADICAL SELF; QQK
-3242  ; [*030E.0020.0004.3242][.FB41.0020.0004.81EA][.81EA.0000.0000.81EA][*030F.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF; QQKN
-FA5C  ; [.FB41.0020.0002.81ED][.81ED.0000.0000.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C; QQC
-2F84  ; [.FB41.0020.0004.81F3][.81F3.0000.0000.81F3] # KANGXI RADICAL ARRIVE; QQK
-3243  ; [*030E.0020.0004.3243][.FB41.0020.0004.81F3][.81F3.0000.0000.81F3][*030F.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH; QQKN
-2F85  ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC] # KANGXI RADICAL MORTAR; QQK
-2EBD  ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC][.0000.015F.001F.2EBD] # CJK RADICAL MORTAR; QQKN
-2F893 ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893; QQC
-2F98B ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B; QQC
-2F98C ; [.FB41.0020.0002.8204][.8204.0000.0000.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C; QQC
-2F86  ; [.FB41.0020.0004.820C][.820C.0000.0000.820C] # KANGXI RADICAL TONGUE; QQK
-FA6D  ; [.FB41.0020.0002.8218][.8218.0000.0000.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D; QQC
-2F87  ; [.FB41.0020.0004.821B][.821B.0000.0000.821B] # KANGXI RADICAL OPPOSE; QQK
-2F88  ; [.FB41.0020.0004.821F][.821F.0000.0000.821F] # KANGXI RADICAL BOAT; QQK
-2F89  ; [.FB41.0020.0004.826E][.826E.0000.0000.826E] # KANGXI RADICAL STOPPING; QQK
-F97C  ; [.FB41.0020.0002.826F][.826F.0000.0000.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C; QQC
-2F8A  ; [.FB41.0020.0004.8272][.8272.0000.0000.8272] # KANGXI RADICAL COLOR; QQK
-2F8B  ; [.FB41.0020.0004.8278][.8278.0000.0000.8278] # KANGXI RADICAL GRASS; QQK
-FA5D  ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D; QQC
-FA5E  ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E; QQC
-2EBE  ; [.FB41.0020.0004.8279][.8279.0000.0000.8279] # CJK RADICAL GRASS ONE; QQK
-2EBF  ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.015F.001F.2EBF] # CJK RADICAL GRASS TWO; QQKN
-2EC0  ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.0160.001F.2EC0] # CJK RADICAL GRASS THREE; QQKN
-2F990 ; [.FB41.0020.0002.828B][.828B.0000.0000.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990; QQC
-2F98F ; [.FB41.0020.0002.8291][.8291.0000.0000.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F; QQC
-2F991 ; [.FB41.0020.0002.829D][.829D.0000.0000.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991; QQC
-2F993 ; [.FB41.0020.0002.82B1][.82B1.0000.0000.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993; QQC
-2F994 ; [.FB41.0020.0002.82B3][.82B3.0000.0000.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994; QQC
-2F995 ; [.FB41.0020.0002.82BD][.82BD.0000.0000.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995; QQC
-F974  ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974; QQC
-2F998 ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998; QQC
-2F996 ; [.FB41.0020.0002.82E6][.82E6.0000.0000.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996; QQC
-2F999 ; [.FB41.0020.0002.831D][.831D.0000.0000.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999; QQC
-2F99C ; [.FB41.0020.0002.8323][.8323.0000.0000.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C; QQC
-F9FE  ; [.FB41.0020.0002.8336][.8336.0000.0000.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE; QQC
-FAB3  ; [.FB41.0020.0002.8352][.8352.0000.0000.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3; QQC
-2F9A0 ; [.FB41.0020.0002.8353][.8353.0000.0000.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0; QQC
-2F99A ; [.FB41.0020.0002.8363][.8363.0000.0000.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A; QQC
-2F99B ; [.FB41.0020.0002.83AD][.83AD.0000.0000.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B; QQC
-2F99D ; [.FB41.0020.0002.83BD][.83BD.0000.0000.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D; QQC
-F93E  ; [.FB41.0020.0002.83C9][.83C9.0000.0000.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E; QQC
-2F9A1 ; [.FB41.0020.0002.83CA][.83CA.0000.0000.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1; QQC
-2F9A2 ; [.FB41.0020.0002.83CC][.83CC.0000.0000.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2; QQC
-2F9A3 ; [.FB41.0020.0002.83DC][.83DC.0000.0000.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3; QQC
-2F99E ; [.FB41.0020.0002.83E7][.83E7.0000.0000.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E; QQC
-FAB4  ; [.FB41.0020.0002.83EF][.83EF.0000.0000.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4; QQC
-F958  ; [.FB41.0020.0002.83F1][.83F1.0000.0000.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958; QQC
-F918  ; [.FB41.0020.0002.843D][.843D.0000.0000.843D] # CJK COMPATIBILITY IDEOGRAPH-F918; QQC
-F96E  ; [.FB41.0020.0002.8449][.8449.0000.0000.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E; QQC
-FA5F  ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F; QQC
-2F99F ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F; QQC
-F999  ; [.FB41.0020.0002.84EE][.84EE.0000.0000.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999; QQC
-2F9A8 ; [.FB41.0020.0002.84F1][.84F1.0000.0000.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8; QQC
-2F9A9 ; [.FB41.0020.0002.84F3][.84F3.0000.0000.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9; QQC
-F9C2  ; [.FB41.0020.0002.84FC][.84FC.0000.0000.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2; QQC
-2F9AA ; [.FB41.0020.0002.8516][.8516.0000.0000.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA; QQC
-2F9AC ; [.FB41.0020.0002.8564][.8564.0000.0000.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC; QQC
-F923  ; [.FB41.0020.0002.85CD][.85CD.0000.0000.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923; QQC
-F9F0  ; [.FB41.0020.0002.85FA][.85FA.0000.0000.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0; QQC
-F935  ; [.FB41.0020.0002.8606][.8606.0000.0000.8606] # CJK COMPATIBILITY IDEOGRAPH-F935; QQC
-FA20  ; [.FB41.0020.0002.8612][.8612.0000.0000.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20; QQC
-F91F  ; [.FB41.0020.0002.862D][.862D.0000.0000.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F; QQC
-F910  ; [.FB41.0020.0002.863F][.863F.0000.0000.863F] # CJK COMPATIBILITY IDEOGRAPH-F910; QQC
-2F8C  ; [.FB41.0020.0004.864D][.864D.0000.0000.864D] # KANGXI RADICAL TIGER; QQK
-2EC1  ; [.FB41.0020.0004.864E][.864E.0000.0000.864E] # CJK RADICAL TIGER; QQK
-2F9B3 ; [.FB41.0020.0002.8650][.8650.0000.0000.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3; QQC
-F936  ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-F936; QQC
-2F9B4 ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4; QQC
-2F9B5 ; [.FB41.0020.0002.8667][.8667.0000.0000.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5; QQC
-2F9B6 ; [.FB41.0020.0002.8669][.8669.0000.0000.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6; QQC
-2F8D  ; [.FB41.0020.0004.866B][.866B.0000.0000.866B] # KANGXI RADICAL INSECT; QQK
-2F9B8 ; [.FB41.0020.0002.8688][.8688.0000.0000.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8; QQC
-2F9B7 ; [.FB41.0020.0002.86A9][.86A9.0000.0000.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7; QQC
-2F9BA ; [.FB41.0020.0002.86E2][.86E2.0000.0000.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA; QQC
-2F9B9 ; [.FB41.0020.0002.870E][.870E.0000.0000.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9; QQC
-2F9BC ; [.FB41.0020.0002.8728][.8728.0000.0000.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC; QQC
-2F9BD ; [.FB41.0020.0002.876B][.876B.0000.0000.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD; QQC
-FAB5  ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5; QQC
-2F9BB ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB; QQC
-2F9BE ; [.FB41.0020.0002.8786][.8786.0000.0000.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE; QQC
-F911  ; [.FB41.0020.0002.87BA][.87BA.0000.0000.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911; QQC
-2F9C0 ; [.FB41.0020.0002.87E1][.87E1.0000.0000.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0; QQC
-2F9C1 ; [.FB41.0020.0002.8801][.8801.0000.0000.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1; QQC
-F927  ; [.FB41.0020.0002.881F][.881F.0000.0000.881F] # CJK COMPATIBILITY IDEOGRAPH-F927; QQC
-2F8E  ; [.FB41.0020.0004.8840][.8840.0000.0000.8840] # KANGXI RADICAL BLOOD; QQK
-FA08  ; [.FB41.0020.0002.884C][.884C.0000.0000.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08; QQC
-2F8F  ; [.FB41.0020.0004.884C][.884C.0000.0000.884C] # KANGXI RADICAL WALK ENCLOSURE; QQK
-2F9C3 ; [.FB41.0020.0002.8860][.8860.0000.0000.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3; QQC
-2F9C4 ; [.FB41.0020.0002.8863][.8863.0000.0000.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4; QQC
-2F90  ; [.FB41.0020.0004.8863][.8863.0000.0000.8863] # KANGXI RADICAL CLOTHES; QQK
-2EC2  ; [.FB41.0020.0004.8864][.8864.0000.0000.8864] # CJK RADICAL CLOTHES; QQK
-F9A0  ; [.FB41.0020.0002.88C2][.88C2.0000.0000.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0; QQC
-F9E7  ; [.FB41.0020.0002.88CF][.88CF.0000.0000.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7; QQC
-2F9C6 ; [.FB41.0020.0002.88D7][.88D7.0000.0000.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6; QQC
-2F9C7 ; [.FB41.0020.0002.88DE][.88DE.0000.0000.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7; QQC
-F9E8  ; [.FB41.0020.0002.88E1][.88E1.0000.0000.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8; QQC
-F912  ; [.FB41.0020.0002.88F8][.88F8.0000.0000.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912; QQC
-2F9C9 ; [.FB41.0020.0002.88FA][.88FA.0000.0000.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9; QQC
-FA60  ; [.FB41.0020.0002.8910][.8910.0000.0000.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60; QQC
-FAB6  ; [.FB41.0020.0002.8941][.8941.0000.0000.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6; QQC
-F924  ; [.FB41.0020.0002.8964][.8964.0000.0000.8964] # CJK COMPATIBILITY IDEOGRAPH-F924; QQC
-2F91  ; [.FB41.0020.0004.897E][.897E.0000.0000.897E] # KANGXI RADICAL WEST; QQK
-2EC4  ; [.FB41.0020.0004.897F][.897F.0000.0000.897F] # CJK RADICAL WEST TWO; QQK
-2EC3  ; [.FB41.0020.0004.8980][.8980.0000.0000.8980] # CJK RADICAL WEST ONE; QQK
-FAB7  ; [.FB41.0020.0002.8986][.8986.0000.0000.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7; QQC
-FA0A  ; [.FB41.0020.0002.898B][.898B.0000.0000.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A; QQC
-2F92  ; [.FB41.0020.0004.898B][.898B.0000.0000.898B] # KANGXI RADICAL SEE; QQK
-FA61  ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61; QQC
-FAB8  ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8; QQC
-2EC5  ; [.FB41.0020.0004.89C1][.89C1.0000.0000.89C1] # CJK RADICAL C-SIMPLIFIED SEE; QQK
-2EC6  ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # CJK RADICAL SIMPLIFIED HORN; QQK
-2F93  ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # KANGXI RADICAL HORN; QQK
-2EC7  ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2][.0000.015F.001F.2EC7] # CJK RADICAL HORN; QQKN
-1F216 ; [.FB41.0020.001C.89E3][.89E3.0000.0000.89E3] # SQUARED CJK UNIFIED IDEOGRAPH-89E3; QQK
-2F94  ; [.FB41.0020.0004.8A00][.8A00.0000.0000.8A00] # KANGXI RADICAL SPEECH; QQK
-2F9CF ; [.FB41.0020.0002.8AA0][.8AA0.0000.0000.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF; QQC
-F96F  ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F; QQC
-F9A1  ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1; QQC
-FAB9  ; [.FB41.0020.0002.8ABF][.8ABF.0000.0000.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9; QQC
-FABB  ; [.FB41.0020.0002.8ACB][.8ACB.0000.0000.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB; QQC
-F97D  ; [.FB41.0020.0002.8AD2][.8AD2.0000.0000.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D; QQC
-F941  ; [.FB41.0020.0002.8AD6][.8AD6.0000.0000.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941; QQC
-FABE  ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE; QQC
-2F9D0 ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0; QQC
-FA22  ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22; QQC
-FABA  ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA; QQC
-F95D  ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D; QQC
-FABD  ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD; QQC
-FA62  ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62; QQC
-FABC  ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC; QQC
-FA63  ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63; QQC
-FABF  ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF; QQC
-F9FC  ; [.FB41.0020.0002.8B58][.8B58.0000.0000.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC; QQC
-F95A  ; [.FB41.0020.0002.8B80][.8B80.0000.0000.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A; QQC
-FAC0  ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0; QQC
-2F9D1 ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1; QQC
-2EC8  ; [.FB41.0020.0004.8BA0][.8BA0.0000.0000.8BA0] # CJK RADICAL C-SIMPLIFIED SPEECH; QQK
-2F95  ; [.FB41.0020.0004.8C37][.8C37.0000.0000.8C37] # KANGXI RADICAL VALLEY; QQK
-2F96  ; [.FB41.0020.0004.8C46][.8C46.0000.0000.8C46] # KANGXI RADICAL BEAN; QQK
-F900  ; [.FB41.0020.0002.8C48][.8C48.0000.0000.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900; QQC
-2F9D2 ; [.FB41.0020.0002.8C55][.8C55.0000.0000.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2; QQC
-2F97  ; [.FB41.0020.0004.8C55][.8C55.0000.0000.8C55] # KANGXI RADICAL PIG; QQK
-2F98  ; [.FB41.0020.0004.8C78][.8C78.0000.0000.8C78] # KANGXI RADICAL BADGER; QQK
-2F99  ; [.FB41.0020.0004.8C9D][.8C9D.0000.0000.8C9D] # KANGXI RADICAL SHELL; QQK
-3236  ; [*030E.0020.0004.3236][.FB41.0020.0004.8CA1][.8CA1.0000.0000.8CA1][*030F.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL; QQKN
-3296  ; [.FB41.0020.0006.8CA1][.8CA1.0000.0000.8CA1] # CIRCLED IDEOGRAPH FINANCIAL; QQK
-1F223 ; [.FB41.0020.001C.8CA9][.8CA9.0000.0000.8CA9] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9; QQK
-2F9D4 ; [.FB41.0020.0002.8CAB][.8CAB.0000.0000.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4; QQC
-2F9D5 ; [.FB41.0020.0002.8CC1][.8CC1.0000.0000.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5; QQC
-F948  ; [.FB41.0020.0002.8CC2][.8CC2.0000.0000.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948; QQC
-323E  ; [*030E.0020.0004.323E][.FB41.0020.0004.8CC7][.8CC7.0000.0000.8CC7][*030F.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE; QQKN
-32AE  ; [.FB41.0020.0006.8CC7][.8CC7.0000.0000.8CC7] # CIRCLED IDEOGRAPH RESOURCE; QQK
-F903  ; [.FB41.0020.0002.8CC8][.8CC8.0000.0000.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903; QQC
-FA64  ; [.FB41.0020.0002.8CD3][.8CD3.0000.0000.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64; QQC
-FA65  ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65; QQC
-FAC1  ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1; QQC
-2F9D6 ; [.FB41.0020.0002.8D1B][.8D1B.0000.0000.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6; QQC
-2EC9  ; [.FB41.0020.0004.8D1D][.8D1D.0000.0000.8D1D] # CJK RADICAL C-SIMPLIFIED SHELL; QQK
-2F9A  ; [.FB41.0020.0004.8D64][.8D64.0000.0000.8D64] # KANGXI RADICAL RED; QQK
-2F9B  ; [.FB41.0020.0004.8D70][.8D70.0000.0000.8D70] # KANGXI RADICAL RUN; QQK
-1F230 ; [.FB41.0020.001C.8D70][.8D70.0000.0000.8D70] # SQUARED CJK UNIFIED IDEOGRAPH-8D70; QQK
-2F9D7 ; [.FB41.0020.0002.8D77][.8D77.0000.0000.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7; QQC
-2F9C  ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3] # KANGXI RADICAL FOOT; QQK
-2ECA  ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3][.0000.015F.001F.2ECA] # CJK RADICAL FOOT; QQKN
-2F9DB ; [.FB41.0020.0002.8DBC][.8DBC.0000.0000.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB; QQC
-2F9DA ; [.FB41.0020.0002.8DCB][.8DCB.0000.0000.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA; QQC
-F937  ; [.FB41.0020.0002.8DEF][.8DEF.0000.0000.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937; QQC
-2F9DC ; [.FB41.0020.0002.8DF0][.8DF0.0000.0000.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC; QQC
-2F9D  ; [.FB41.0020.0004.8EAB][.8EAB.0000.0000.8EAB] # KANGXI RADICAL BODY; QQK
-F902  ; [.FB41.0020.0002.8ECA][.8ECA.0000.0000.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902; QQC
-2F9E  ; [.FB41.0020.0004.8ECA][.8ECA.0000.0000.8ECA] # KANGXI RADICAL CART; QQK
-2F9DE ; [.FB41.0020.0002.8ED4][.8ED4.0000.0000.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE; QQC
-F998  ; [.FB41.0020.0002.8F26][.8F26.0000.0000.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998; QQC
-F9D7  ; [.FB41.0020.0002.8F2A][.8F2A.0000.0000.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7; QQC
-FAC2  ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2; QQC
-2F9DF ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF; QQC
-FA07  ; [.FB41.0020.0002.8F3B][.8F3B.0000.0000.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07; QQC
-F98D  ; [.FB41.0020.0002.8F62][.8F62.0000.0000.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D; QQC
-2ECB  ; [.FB41.0020.0004.8F66][.8F66.0000.0000.8F66] # CJK RADICAL C-SIMPLIFIED CART; QQK
-2F9F  ; [.FB41.0020.0004.8F9B][.8F9B.0000.0000.8F9B] # KANGXI RADICAL BITTER; QQK
-2F98D ; [.FB41.0020.0002.8F9E][.8F9E.0000.0000.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D; QQC
-F971  ; [.FB41.0020.0002.8FB0][.8FB0.0000.0000.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971; QQC
-2FA0  ; [.FB41.0020.0004.8FB0][.8FB0.0000.0000.8FB0] # KANGXI RADICAL MORNING; QQK
-2FA1  ; [.FB41.0020.0004.8FB5][.8FB5.0000.0000.8FB5] # KANGXI RADICAL WALK; QQK
-FA66  ; [.FB41.0020.0002.8FB6][.8FB6.0000.0000.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66; QQC
-2ECC  ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6] # CJK RADICAL SIMPLIFIED WALK; QQK
-2ECD  ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.015F.001F.2ECD] # CJK RADICAL WALK ONE; QQKN
-2ECE  ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.0160.001F.2ECE] # CJK RADICAL WALK TWO; QQKN
-F99A  ; [.FB41.0020.0002.9023][.9023.0000.0000.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A; QQC
-FA25  ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25; QQC
-FA67  ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67; QQC
-1F22B ; [.FB41.0020.001C.904A][.904A.0000.0000.904A] # SQUARED CJK UNIFIED IDEOGRAPH-904A; QQK
-329C  ; [.FB41.0020.0006.9069][.9069.0000.0000.9069] # CIRCLED IDEOGRAPH SUITABLE; QQK
-FAC3  ; [.FB41.0020.0002.9072][.9072.0000.0000.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3; QQC
-F9C3  ; [.FB41.0020.0002.907C][.907C.0000.0000.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3; QQC
-F913  ; [.FB41.0020.0002.908F][.908F.0000.0000.908F] # CJK COMPATIBILITY IDEOGRAPH-F913; QQC
-2FA2  ; [.FB41.0020.0004.9091][.9091.0000.0000.9091] # KANGXI RADICAL CITY; QQK
-2ECF  ; [.FB41.0020.0004.9091][.9091.0000.0000.9091][.0000.015F.001F.2ECF] # CJK RADICAL CITY; QQKN
-2F9E2 ; [.FB41.0020.0002.9094][.9094.0000.0000.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2; QQC
-F92C  ; [.FB41.0020.0002.90CE][.90CE.0000.0000.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C; QQC
-2F9E3 ; [.FB41.0020.0002.90F1][.90F1.0000.0000.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3; QQC
-FA26  ; [.FB41.0020.0002.90FD][.90FD.0000.0000.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26; QQC
-2F9E4 ; [.FB41.0020.0002.9111][.9111.0000.0000.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4; QQC
-2F9E6 ; [.FB41.0020.0002.911B][.911B.0000.0000.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6; QQC
-2FA3  ; [.FB41.0020.0004.9149][.9149.0000.0000.9149] # KANGXI RADICAL WINE; QQK
-F919  ; [.FB41.0020.0002.916A][.916A.0000.0000.916A] # CJK COMPATIBILITY IDEOGRAPH-F919; QQC
-FAC4  ; [.FB41.0020.0002.9199][.9199.0000.0000.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4; QQC
-F9B7  ; [.FB41.0020.0002.91B4][.91B4.0000.0000.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7; QQC
-2FA4  ; [.FB41.0020.0004.91C6][.91C6.0000.0000.91C6] # KANGXI RADICAL DISTINGUISH; QQK
-F9E9  ; [.FB41.0020.0002.91CC][.91CC.0000.0000.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9; QQC
-2FA5  ; [.FB41.0020.0004.91CC][.91CC.0000.0000.91CC] # KANGXI RADICAL VILLAGE; QQK
-F97E  ; [.FB41.0020.0002.91CF][.91CF.0000.0000.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E; QQC
-F90A  ; [.FB41.0020.0002.91D1][.91D1.0000.0000.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A; QQC
-2FA6  ; [.FB41.0020.0004.91D1][.91D1.0000.0000.91D1] # KANGXI RADICAL GOLD; QQK
-322E  ; [*030E.0020.0004.322E][.FB41.0020.0004.91D1][.91D1.0000.0000.91D1][*030F.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL; QQKN
-328E  ; [.FB41.0020.0006.91D1][.91D1.0000.0000.91D1] # CIRCLED IDEOGRAPH METAL; QQK
-F9B1  ; [.FB41.0020.0002.9234][.9234.0000.0000.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1; QQC
-2F9E7 ; [.FB41.0020.0002.9238][.9238.0000.0000.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7; QQC
-FAC5  ; [.FB41.0020.0002.9276][.9276.0000.0000.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5; QQC
-2F9EA ; [.FB41.0020.0002.927C][.927C.0000.0000.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA; QQC
-2F9E8 ; [.FB41.0020.0002.92D7][.92D7.0000.0000.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8; QQC
-2F9E9 ; [.FB41.0020.0002.92D8][.92D8.0000.0000.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9; QQC
-F93F  ; [.FB41.0020.0002.9304][.9304.0000.0000.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F; QQC
-F99B  ; [.FB41.0020.0002.934A][.934A.0000.0000.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B; QQC
-2F9EB ; [.FB41.0020.0002.93F9][.93F9.0000.0000.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB; QQC
-2F9EC ; [.FB41.0020.0002.9415][.9415.0000.0000.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC; QQC
-2ED0  ; [.FB41.0020.0004.9485][.9485.0000.0000.9485] # CJK RADICAL C-SIMPLIFIED GOLD; QQK
-2ED1  ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # CJK RADICAL LONG ONE; QQK
-2FA7  ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # KANGXI RADICAL LONG; QQK
-2ED2  ; [.FB41.0020.0004.9578][.9578.0000.0000.9578] # CJK RADICAL LONG TWO; QQK
-2ED3  ; [.FB41.0020.0004.957F][.957F.0000.0000.957F] # CJK RADICAL C-SIMPLIFIED LONG; QQK
-2FA8  ; [.FB41.0020.0004.9580][.9580.0000.0000.9580] # KANGXI RADICAL GATE; QQK
-2F9EE ; [.FB41.0020.0002.958B][.958B.0000.0000.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE; QQC
-F986  ; [.FB41.0020.0002.95AD][.95AD.0000.0000.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986; QQC
-2F9F0 ; [.FB41.0020.0002.95B7][.95B7.0000.0000.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0; QQC
-2ED4  ; [.FB41.0020.0004.95E8][.95E8.0000.0000.95E8] # CJK RADICAL C-SIMPLIFIED GATE; QQK
-2FA9  ; [.FB41.0020.0004.961C][.961C.0000.0000.961C] # KANGXI RADICAL MOUND; QQK
-2ED5  ; [.FB41.0020.0004.961C][.961C.0000.0000.961C][.0000.015F.001F.2ED5] # CJK RADICAL MOUND ONE; QQKN
-2ED6  ; [.FB41.0020.0004.961D][.961D.0000.0000.961D] # CJK RADICAL MOUND TWO; QQK
-F9C6  ; [.FB41.0020.0002.962E][.962E.0000.0000.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6; QQC
-F951  ; [.FB41.0020.0002.964B][.964B.0000.0000.964B] # CJK COMPATIBILITY IDEOGRAPH-F951; QQC
-FA09  ; [.FB41.0020.0002.964D][.964D.0000.0000.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09; QQC
-F959  ; [.FB41.0020.0002.9675][.9675.0000.0000.9675] # CJK COMPATIBILITY IDEOGRAPH-F959; QQC
-F9D3  ; [.FB41.0020.0002.9678][.9678.0000.0000.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3; QQC
-FAC6  ; [.FB41.0020.0002.967C][.967C.0000.0000.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6; QQC
-F9DC  ; [.FB41.0020.0002.9686][.9686.0000.0000.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC; QQC
-F9F1  ; [.FB41.0020.0002.96A3][.96A3.0000.0000.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1; QQC
-2FAA  ; [.FB41.0020.0004.96B6][.96B6.0000.0000.96B6] # KANGXI RADICAL SLAVE; QQK
-F9B8  ; [.FB41.0020.0002.96B8][.96B8.0000.0000.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8; QQC
-2FAB  ; [.FB41.0020.0004.96B9][.96B9.0000.0000.96B9] # KANGXI RADICAL SHORT TAILED BIRD; QQK
-2F9F3 ; [.FB41.0020.0002.96C3][.96C3.0000.0000.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3; QQC
-F9EA  ; [.FB41.0020.0002.96E2][.96E2.0000.0000.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA; QQC
-FA68  ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68; QQC
-FAC7  ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7; QQC
-2FAC  ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8] # KANGXI RADICAL RAIN; QQK
-2ED7  ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8][.0000.015F.001F.2ED7] # CJK RADICAL RAIN; QQKN
-F9B2  ; [.FB41.0020.0002.96F6][.96F6.0000.0000.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2; QQC
-F949  ; [.FB41.0020.0002.96F7][.96F7.0000.0000.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949; QQC
-2F9F5 ; [.FB41.0020.0002.9723][.9723.0000.0000.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5; QQC
-F938  ; [.FB41.0020.0002.9732][.9732.0000.0000.9732] # CJK COMPATIBILITY IDEOGRAPH-F938; QQC
-F9B3  ; [.FB41.0020.0002.9748][.9748.0000.0000.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3; QQC
-2FAD  ; [.FB41.0020.0004.9751][.9751.0000.0000.9751] # KANGXI RADICAL BLUE; QQK
-2ED8  ; [.FB41.0020.0004.9752][.9752.0000.0000.9752] # CJK RADICAL BLUE; QQK
-FA1C  ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C; QQC
-FAC8  ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8; QQC
-2FAE  ; [.FB41.0020.0004.975E][.975E.0000.0000.975E] # KANGXI RADICAL WRONG; QQK
-2FAF  ; [.FB41.0020.0004.9762][.9762.0000.0000.9762] # KANGXI RADICAL FACE; QQK
-2FB0  ; [.FB41.0020.0004.9769][.9769.0000.0000.9769] # KANGXI RADICAL LEATHER; QQK
-2FB1  ; [.FB41.0020.0004.97CB][.97CB.0000.0000.97CB] # KANGXI RADICAL TANNED LEATHER; QQK
-FAC9  ; [.FB41.0020.0002.97DB][.97DB.0000.0000.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9; QQC
-2F9FA ; [.FB41.0020.0002.97E0][.97E0.0000.0000.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA; QQC
-2ED9  ; [.FB41.0020.0004.97E6][.97E6.0000.0000.97E6] # CJK RADICAL C-SIMPLIFIED TANNED LEATHER; QQK
-2FB2  ; [.FB41.0020.0004.97ED][.97ED.0000.0000.97ED] # KANGXI RADICAL LEEK; QQK
-2FB3  ; [.FB41.0020.0004.97F3][.97F3.0000.0000.97F3] # KANGXI RADICAL SOUND; QQK
-FA69  ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69; QQC
-FACA  ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA; QQC
-2FB4  ; [.FB41.0020.0004.9801][.9801.0000.0000.9801] # KANGXI RADICAL LEAF; QQK
-32A0  ; [.FB41.0020.0006.9805][.9805.0000.0000.9805] # CIRCLED IDEOGRAPH ITEM; QQK
-FACB  ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB; QQC
-2F9FE ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE; QQC
-2F9FF ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF; QQC
-F9B4  ; [.FB41.0020.0002.9818][.9818.0000.0000.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4; QQC
-2FA00 ; [.FB41.0020.0002.9829][.9829.0000.0000.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00; QQC
-FA6A  ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A; QQC
-FACC  ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC; QQC
-F9D0  ; [.FB41.0020.0002.985E][.985E.0000.0000.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0; QQC
-2EDA  ; [.FB41.0020.0004.9875][.9875.0000.0000.9875] # CJK RADICAL C-SIMPLIFIED LEAF; QQK
-2FB5  ; [.FB41.0020.0004.98A8][.98A8.0000.0000.98A8] # KANGXI RADICAL WIND; QQK
-2EDB  ; [.FB41.0020.0004.98CE][.98CE.0000.0000.98CE] # CJK RADICAL C-SIMPLIFIED WIND; QQK
-2FB6  ; [.FB41.0020.0004.98DB][.98DB.0000.0000.98DB] # KANGXI RADICAL FLY; QQK
-2EDC  ; [.FB41.0020.0004.98DE][.98DE.0000.0000.98DE] # CJK RADICAL C-SIMPLIFIED FLY; QQK
-2EDD  ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # CJK RADICAL EAT ONE; QQK
-2FB7  ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # KANGXI RADICAL EAT; QQK
-2EDF  ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0] # CJK RADICAL EAT THREE; QQK
-2EDE  ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0][.0000.015F.001F.2EDE] # CJK RADICAL EAT TWO; QQKN
-2FA02 ; [.FB41.0020.0002.98E2][.98E2.0000.0000.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02; QQC
-FA2A  ; [.FB41.0020.0002.98EF][.98EF.0000.0000.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A; QQC
-FA2B  ; [.FB41.0020.0002.98FC][.98FC.0000.0000.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B; QQC
-FA2C  ; [.FB41.0020.0002.9928][.9928.0000.0000.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C; QQC
-2FA04 ; [.FB41.0020.0002.9929][.9929.0000.0000.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04; QQC
-2EE0  ; [.FB41.0020.0004.9963][.9963.0000.0000.9963] # CJK RADICAL C-SIMPLIFIED EAT; QQK
-2FB8  ; [.FB41.0020.0004.9996][.9996.0000.0000.9996] # KANGXI RADICAL HEAD; QQK
-2EE1  ; [.FB41.0020.0004.9996][.9996.0000.0000.9996][.0000.015F.001F.2EE1] # CJK RADICAL HEAD; QQKN
-2FB9  ; [.FB41.0020.0004.9999][.9999.0000.0000.9999] # KANGXI RADICAL FRAGRANT; QQK
-2FA05 ; [.FB41.0020.0002.99A7][.99A7.0000.0000.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05; QQC
-2FBA  ; [.FB41.0020.0004.99AC][.99AC.0000.0000.99AC] # KANGXI RADICAL HORSE; QQK
-2FA06 ; [.FB41.0020.0002.99C2][.99C2.0000.0000.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06; QQC
-F91A  ; [.FB41.0020.0002.99F1][.99F1.0000.0000.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A; QQC
-2FA07 ; [.FB41.0020.0002.99FE][.99FE.0000.0000.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07; QQC
-F987  ; [.FB41.0020.0002.9A6A][.9A6A.0000.0000.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987; QQC
-2EE2  ; [.FB41.0020.0004.9A6C][.9A6C.0000.0000.9A6C] # CJK RADICAL C-SIMPLIFIED HORSE; QQK
-2FBB  ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8] # KANGXI RADICAL BONE; QQK
-2EE3  ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8][.0000.015F.001F.2EE3] # CJK RADICAL BONE; QQKN
-2FBC  ; [.FB41.0020.0004.9AD8][.9AD8.0000.0000.9AD8] # KANGXI RADICAL TALL; QQK
-2FBD  ; [.FB41.0020.0004.9ADF][.9ADF.0000.0000.9ADF] # KANGXI RADICAL HAIR; QQK
-FACD  ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD; QQC
-2FA0A ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A; QQC
-2FBE  ; [.FB41.0020.0004.9B25][.9B25.0000.0000.9B25] # KANGXI RADICAL FIGHT; QQK
-2FBF  ; [.FB41.0020.0004.9B2F][.9B2F.0000.0000.9B2F] # KANGXI RADICAL SACRIFICIAL WINE; QQK
-2FC0  ; [.FB41.0020.0004.9B32][.9B32.0000.0000.9B32] # KANGXI RADICAL CAULDRON; QQK
-2FC1  ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C] # KANGXI RADICAL GHOST; QQK
-2EE4  ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C][.0000.015F.001F.2EE4] # CJK RADICAL GHOST; QQKN
-2FC2  ; [.FB41.0020.0004.9B5A][.9B5A.0000.0000.9B5A] # KANGXI RADICAL FISH; QQK
-F939  ; [.FB41.0020.0002.9B6F][.9B6F.0000.0000.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939; QQC
-2FA0B ; [.FB41.0020.0002.9C40][.9C40.0000.0000.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B; QQC
-F9F2  ; [.FB41.0020.0002.9C57][.9C57.0000.0000.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2; QQC
-2EE5  ; [.FB41.0020.0004.9C7C][.9C7C.0000.0000.9C7C] # CJK RADICAL C-SIMPLIFIED FISH; QQK
-2FC3  ; [.FB41.0020.0004.9CE5][.9CE5.0000.0000.9CE5] # KANGXI RADICAL BIRD; QQK
-2FA0C ; [.FB41.0020.0002.9CFD][.9CFD.0000.0000.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C; QQC
-2FA0F ; [.FB41.0020.0002.9D67][.9D67.0000.0000.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F; QQC
-FA2D  ; [.FB41.0020.0002.9DB4][.9DB4.0000.0000.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D; QQC
-F93A  ; [.FB41.0020.0002.9DFA][.9DFA.0000.0000.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A; QQC
-F920  ; [.FB41.0020.0002.9E1E][.9E1E.0000.0000.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920; QQC
-2EE6  ; [.FB41.0020.0004.9E1F][.9E1F.0000.0000.9E1F] # CJK RADICAL C-SIMPLIFIED BIRD; QQK
-2FC4  ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75] # KANGXI RADICAL SALT; QQK
-2EE7  ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75][.0000.015F.001F.2EE7] # CJK RADICAL C-SIMPLIFIED SALT; QQKN
-F940  ; [.FB41.0020.0002.9E7F][.9E7F.0000.0000.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940; QQC
-2FC5  ; [.FB41.0020.0004.9E7F][.9E7F.0000.0000.9E7F] # KANGXI RADICAL DEER; QQK
-F988  ; [.FB41.0020.0002.9E97][.9E97.0000.0000.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988; QQC
-F9F3  ; [.FB41.0020.0002.9E9F][.9E9F.0000.0000.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3; QQC
-2FC6  ; [.FB41.0020.0004.9EA5][.9EA5.0000.0000.9EA5] # KANGXI RADICAL WHEAT; QQK
-2EE8  ; [.FB41.0020.0004.9EA6][.9EA6.0000.0000.9EA6] # CJK RADICAL SIMPLIFIED WHEAT; QQK
-2FA15 ; [.FB41.0020.0002.9EBB][.9EBB.0000.0000.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15; QQC
-2FC7  ; [.FB41.0020.0004.9EBB][.9EBB.0000.0000.9EBB] # KANGXI RADICAL HEMP; QQK
-2FC8  ; [.FB41.0020.0004.9EC3][.9EC3.0000.0000.9EC3] # KANGXI RADICAL YELLOW; QQK
-2EE9  ; [.FB41.0020.0004.9EC4][.9EC4.0000.0000.9EC4] # CJK RADICAL SIMPLIFIED YELLOW; QQK
-2FC9  ; [.FB41.0020.0004.9ECD][.9ECD.0000.0000.9ECD] # KANGXI RADICAL MILLET; QQK
-F989  ; [.FB41.0020.0002.9ECE][.9ECE.0000.0000.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989; QQC
-2FCA  ; [.FB41.0020.0004.9ED1][.9ED1.0000.0000.9ED1] # KANGXI RADICAL BLACK; QQK
-2FA17 ; [.FB41.0020.0002.9EF9][.9EF9.0000.0000.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17; QQC
-2FCB  ; [.FB41.0020.0004.9EF9][.9EF9.0000.0000.9EF9] # KANGXI RADICAL EMBROIDERY; QQK
-2FCC  ; [.FB41.0020.0004.9EFD][.9EFD.0000.0000.9EFD] # KANGXI RADICAL FROG; QQK
-2FA18 ; [.FB41.0020.0002.9EFE][.9EFE.0000.0000.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18; QQC
-2EEA  ; [.FB41.0020.0004.9EFE][.9EFE.0000.0000.9EFE] # CJK RADICAL C-SIMPLIFIED FROG; QQK
-2FA19 ; [.FB41.0020.0002.9F05][.9F05.0000.0000.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19; QQC
-2FCD  ; [.FB41.0020.0004.9F0E][.9F0E.0000.0000.9F0E] # KANGXI RADICAL TRIPOD; QQK
-2FA1A ; [.FB41.0020.0002.9F0F][.9F0F.0000.0000.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A; QQC
-2FCE  ; [.FB41.0020.0004.9F13][.9F13.0000.0000.9F13] # KANGXI RADICAL DRUM; QQK
-2FA1B ; [.FB41.0020.0002.9F16][.9F16.0000.0000.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B; QQC
-2FCF  ; [.FB41.0020.0004.9F20][.9F20.0000.0000.9F20] # KANGXI RADICAL RAT; QQK
-2FA1C ; [.FB41.0020.0002.9F3B][.9F3B.0000.0000.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C; QQC
-2FD0  ; [.FB41.0020.0004.9F3B][.9F3B.0000.0000.9F3B] # KANGXI RADICAL NOSE; QQK
-FAD8  ; [.FB41.0020.0002.9F43][.9F43.0000.0000.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8; QQC
-2FD1  ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A] # KANGXI RADICAL EVEN; QQK
-2EEB  ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A][.0000.015F.001F.2EEB] # CJK RADICAL J-SIMPLIFIED EVEN; QQKN
-2EEC  ; [.FB41.0020.0004.9F50][.9F50.0000.0000.9F50] # CJK RADICAL C-SIMPLIFIED EVEN; QQK
-2FD2  ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52] # KANGXI RADICAL TOOTH; QQK
-2EED  ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52][.0000.015F.001F.2EED] # CJK RADICAL J-SIMPLIFIED TOOTH; QQKN
-2EEE  ; [.FB41.0020.0004.9F7F][.9F7F.0000.0000.9F7F] # CJK RADICAL C-SIMPLIFIED TOOTH; QQK
-F9C4  ; [.FB41.0020.0002.9F8D][.9F8D.0000.0000.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4; QQC
-2FD3  ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D] # KANGXI RADICAL DRAGON; QQK
-2EEF  ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D][.0000.015F.001F.2EEF] # CJK RADICAL J-SIMPLIFIED DRAGON; QQKN
-FAD9  ; [.FB41.0020.0002.9F8E][.9F8E.0000.0000.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9; QQC
-2EF0  ; [.FB41.0020.0004.9F99][.9F99.0000.0000.9F99] # CJK RADICAL C-SIMPLIFIED DRAGON; QQK
-F907  ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907; QQC
-F908  ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908; QQC
-FACE  ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE; QQC
-2FD4  ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C] # KANGXI RADICAL TURTLE; QQK
-2EF1  ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.015F.001F.2EF1] # CJK RADICAL TURTLE; QQKN
-2EF2  ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.0160.001F.2EF2] # CJK RADICAL J-SIMPLIFIED TURTLE; QQKN
-2EF3  ; [.FB41.0020.0004.9F9F][.9F9F.0000.0000.9F9F] # CJK RADICAL C-SIMPLIFIED TURTLE; QQK
-2FD5  ; [.FB41.0020.0004.9FA0][.9FA0.0000.0000.9FA0] # KANGXI RADICAL FLUTE; QQK
+0C02  ; [.0000.00F3.0002.0C02] # TELUGU SIGN ANUSVARA
+0C82  ; [.0000.00F3.0002.0C82] # KANNADA SIGN ANUSVARA
+0D02  ; [.0000.00F3.0002.0D02] # MALAYALAM SIGN ANUSVARA
+0D82  ; [.0000.00F3.0002.0D82] # SINHALA SIGN ANUSVARAYA
+0F7E  ; [.0000.00F3.0002.0F7E] # TIBETAN SIGN RJES SU NGA RO
+1036  ; [.0000.00F3.0002.1036] # MYANMAR SIGN ANUSVARA
+17C6  ; [.0000.00F3.0002.17C6] # KHMER SIGN NIKAHIT
+1A74  ; [.0000.00F3.0002.1A74] # TAI THAM SIGN MAI KANG
+1B02  ; [.0000.00F3.0002.1B02] # BALINESE SIGN CECEK
+1B80  ; [.0000.00F3.0002.1B80] # SUNDANESE SIGN PANYECEK
+1CED  ; [.0000.00F3.0002.1CED] # VEDIC SIGN TIRYAK
+A80B  ; [.0000.00F3.0002.A80B] # SYLOTI NAGRI SIGN ANUSVARA
+A880  ; [.0000.00F3.0002.A880] # SAURASHTRA SIGN ANUSVARA
+A981  ; [.0000.00F3.0002.A981] # JAVANESE SIGN CECAK
+10A0E ; [.0000.00F3.0002.10A0E] # KHAROSHTHI SIGN ANUSVARA
+11001 ; [.0000.00F3.0002.11001] # BRAHMI SIGN ANUSVARA
+11081 ; [.0000.00F3.0002.11081] # KAITHI SIGN ANUSVARA
+11101 ; [.0000.00F3.0002.11101] # CHAKMA SIGN ANUSVARA
+11181 ; [.0000.00F3.0002.11181] # SHARADA SIGN ANUSVARA
+116AB ; [.0000.00F3.0002.116AB] # TAKRI SIGN ANUSVARA
+0903  ; [.0000.00F4.0002.0903] # DEVANAGARI SIGN VISARGA
+0983  ; [.0000.00F4.0002.0983] # BENGALI SIGN VISARGA
+0A03  ; [.0000.00F4.0002.0A03] # GURMUKHI SIGN VISARGA
+0A83  ; [.0000.00F4.0002.0A83] # GUJARATI SIGN VISARGA
+0B03  ; [.0000.00F4.0002.0B03] # ORIYA SIGN VISARGA
+0C03  ; [.0000.00F4.0002.0C03] # TELUGU SIGN VISARGA
+0C83  ; [.0000.00F4.0002.0C83] # KANNADA SIGN VISARGA
+0D03  ; [.0000.00F4.0002.0D03] # MALAYALAM SIGN VISARGA
+0D83  ; [.0000.00F4.0002.0D83] # SINHALA SIGN VISARGAYA
+0F7F  ; [.0000.00F4.0002.0F7F] # TIBETAN SIGN RNAM BCAD
+1038  ; [.0000.00F4.0002.1038] # MYANMAR SIGN VISARGA
+17C7  ; [.0000.00F4.0002.17C7] # KHMER SIGN REAHMUK
+1B04  ; [.0000.00F4.0002.1B04] # BALINESE SIGN BISAH
+1B82  ; [.0000.00F4.0002.1B82] # SUNDANESE SIGN PANGWISAD
+1CF2  ; [.0000.00F4.0002.1CF2] # VEDIC SIGN ARDHAVISARGA
+1CF3  ; [.0000.00F4.0002.1CF3] # VEDIC SIGN ROTATED ARDHAVISARGA
+A881  ; [.0000.00F4.0002.A881] # SAURASHTRA SIGN VISARGA
+A983  ; [.0000.00F4.0002.A983] # JAVANESE SIGN WIGNYAN
+10A0F ; [.0000.00F4.0002.10A0F] # KHAROSHTHI SIGN VISARGA
+11002 ; [.0000.00F4.0002.11002] # BRAHMI SIGN VISARGA
+11082 ; [.0000.00F4.0002.11082] # KAITHI SIGN VISARGA
+11102 ; [.0000.00F4.0002.11102] # CHAKMA SIGN VISARGA
+11182 ; [.0000.00F4.0002.11182] # SHARADA SIGN VISARGA
+116AC ; [.0000.00F4.0002.116AC] # TAKRI SIGN VISARGA
+0A70  ; [.0000.00F5.0002.0A70] # GURMUKHI TIPPI
+0A71  ; [.0000.00F6.0002.0A71] # GURMUKHI ADDAK
+1B03  ; [.0000.00F7.0002.1B03] # BALINESE SIGN SURANG
+A982  ; [.0000.00F8.0002.A982] # JAVANESE SIGN LAYAR
+1B81  ; [.0000.00F9.0002.1B81] # SUNDANESE SIGN PANGLAYAR
+ABEC  ; [.0000.00FA.0002.ABEC] # MEETEI MAYEK LUM IYEK
+10A38 ; [.0000.00FB.0002.10A38] # KHAROSHTHI SIGN BAR ABOVE
+10A39 ; [.0000.00FC.0002.10A39] # KHAROSHTHI SIGN CAUDA
+10A3A ; [.0000.00FD.0002.10A3A] # KHAROSHTHI SIGN DOT BELOW
+0E4E  ; [.0000.00FE.0002.0E4E] # THAI CHARACTER YAMAKKAN
+0E47  ; [.0000.00FF.0002.0E47] # THAI CHARACTER MAITAIKHU
+0E48  ; [.0000.0100.0002.0E48] # THAI CHARACTER MAI EK
+0E49  ; [.0000.0101.0002.0E49] # THAI CHARACTER MAI THO
+0E4A  ; [.0000.0102.0002.0E4A] # THAI CHARACTER MAI TRI
+0E4B  ; [.0000.0103.0002.0E4B] # THAI CHARACTER MAI CHATTAWA
+0E4C  ; [.0000.0104.0002.0E4C] # THAI CHARACTER THANTHAKHAT
+0E4D  ; [.0000.0105.0002.0E4D] # THAI CHARACTER NIKHAHIT
+0EC8  ; [.0000.0106.0002.0EC8] # LAO TONE MAI EK
+0EC9  ; [.0000.0107.0002.0EC9] # LAO TONE MAI THO
+0ECA  ; [.0000.0108.0002.0ECA] # LAO TONE MAI TI
+0ECB  ; [.0000.0109.0002.0ECB] # LAO TONE MAI CATAWA
+0ECC  ; [.0000.010A.0002.0ECC] # LAO CANCELLATION MARK
+0ECD  ; [.0000.010B.0002.0ECD] # LAO NIGGAHITA
+AABF  ; [.0000.010C.0002.AABF] # TAI VIET TONE MAI EK
+AAC1  ; [.0000.010D.0002.AAC1] # TAI VIET TONE MAI THO
+0F39  ; [.0000.010E.0002.0F39] # TIBETAN MARK TSA -PHRU
+A92B  ; [.0000.010F.0002.A92B] # KAYAH LI TONE PLOPHU
+A92C  ; [.0000.0110.0002.A92C] # KAYAH LI TONE CALYA
+A92D  ; [.0000.0111.0002.A92D] # KAYAH LI TONE CALYA PLOPHU
+1037  ; [.0000.0112.0002.1037] # MYANMAR SIGN DOT BELOW
+108D  ; [.0000.0113.0002.108D] # MYANMAR SIGN SHAN COUNCIL EMPHATIC TONE
+17C8  ; [.0000.0114.0002.17C8] # KHMER SIGN YUUKALEAPINTU
+17C9  ; [.0000.0115.0002.17C9] # KHMER SIGN MUUSIKATOAN
+17CA  ; [.0000.0116.0002.17CA] # KHMER SIGN TRIISAP
+1A75  ; [.0000.0117.0002.1A75] # TAI THAM SIGN TONE-1
+1A76  ; [.0000.0118.0002.1A76] # TAI THAM SIGN TONE-2
+1A77  ; [.0000.0119.0002.1A77] # TAI THAM SIGN KHUEN TONE-3
+1A78  ; [.0000.011A.0002.1A78] # TAI THAM SIGN KHUEN TONE-4
+1A79  ; [.0000.011B.0002.1A79] # TAI THAM SIGN KHUEN TONE-5
+1A7A  ; [.0000.011C.0002.1A7A] # TAI THAM SIGN RA HAAM
+1A7B  ; [.0000.011D.0002.1A7B] # TAI THAM SIGN MAI SAM
+1A7C  ; [.0000.011E.0002.1A7C] # TAI THAM SIGN KHUEN-LUE KARAN
+1939  ; [.0000.011F.0002.1939] # LIMBU SIGN MUKPHRENG
+193A  ; [.0000.0120.0002.193A] # LIMBU SIGN KEMPHRENG
+193B  ; [.0000.0121.0002.193B] # LIMBU SIGN SA-I
+302A  ; [.0000.0122.0002.302A] # IDEOGRAPHIC LEVEL TONE MARK
+302B  ; [.0000.0123.0002.302B] # IDEOGRAPHIC RISING TONE MARK
+302C  ; [.0000.0124.0002.302C] # IDEOGRAPHIC DEPARTING TONE MARK
+302D  ; [.0000.0125.0002.302D] # IDEOGRAPHIC ENTERING TONE MARK
+302E  ; [.0000.0126.0002.302E] # HANGUL SINGLE DOT TONE MARK
+302F  ; [.0000.0127.0002.302F] # HANGUL DOUBLE DOT TONE MARK
+3099  ; [.0000.0128.0002.3099] # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+FF9E  ; [.0000.0128.0012.FF9E] # HALFWIDTH KATAKANA VOICED SOUND MARK
+309A  ; [.0000.0129.0002.309A] # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+FF9F  ; [.0000.0129.0012.FF9F] # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+20D0  ; [.0000.012A.0002.20D0] # COMBINING LEFT HARPOON ABOVE
+20D1  ; [.0000.012B.0002.20D1] # COMBINING RIGHT HARPOON ABOVE
+20D2  ; [.0000.012C.0002.20D2] # COMBINING LONG VERTICAL LINE OVERLAY
+20D3  ; [.0000.012C.0002.20D3] # COMBINING SHORT VERTICAL LINE OVERLAY
+20D4  ; [.0000.012D.0002.20D4] # COMBINING ANTICLOCKWISE ARROW ABOVE
+20D5  ; [.0000.012E.0002.20D5] # COMBINING CLOCKWISE ARROW ABOVE
+20D6  ; [.0000.012F.0002.20D6] # COMBINING LEFT ARROW ABOVE
+20D7  ; [.0000.0130.0002.20D7] # COMBINING RIGHT ARROW ABOVE
+20DB  ; [.0000.0131.0002.20DB] # COMBINING THREE DOTS ABOVE
+20DC  ; [.0000.0132.0002.20DC] # COMBINING FOUR DOTS ABOVE
+20E1  ; [.0000.0133.0002.20E1] # COMBINING LEFT RIGHT ARROW ABOVE
+20E6  ; [.0000.0134.0002.20E6] # COMBINING DOUBLE VERTICAL STROKE OVERLAY
+20E7  ; [.0000.0135.0002.20E7] # COMBINING ANNUITY SYMBOL
+20E8  ; [.0000.0136.0002.20E8] # COMBINING TRIPLE UNDERDOT
+20E9  ; [.0000.0137.0002.20E9] # COMBINING WIDE BRIDGE ABOVE
+101FD ; [.0000.0138.0002.101FD] # PHAISTOS DISC SIGN COMBINING OBLIQUE STROKE
+02D0  ; [.15A8.0020.0002.02D0] # MODIFIER LETTER TRIANGULAR COLON
+02D1  ; [.15A9.0020.0002.02D1] # MODIFIER LETTER HALF TRIANGULAR COLON
+0971  ; [.15AA.0020.0002.0971] # DEVANAGARI SIGN HIGH SPACING DOT
+0E46  ; [.15AB.0020.0002.0E46] # THAI CHARACTER MAIYAMOK
+0EC6  ; [.15AC.0020.0002.0EC6] # LAO KO LA
+17D7  ; [.15AD.0020.0002.17D7] # KHMER SIGN LEK TOO
+1AA7  ; [.15AE.0020.0002.1AA7] # TAI THAM SIGN MAI YAMOK
+A9CF  ; [.15AF.0020.0002.A9CF] # JAVANESE PANGRANGKEP
+AA70  ; [.15B0.0020.0002.AA70] # MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
+AADD  ; [.15B1.0020.0002.AADD] # TAI VIET SYMBOL SAM
+AAF3  ; [.15B2.0020.0002.AAF3] # MEETEI MAYEK SYLLABLE REPETITION MARK
+AAF4  ; [.15B3.0020.0002.AAF4] # MEETEI MAYEK WORD REPETITION MARK
+3005  ; [.15B4.0020.0002.3005] # IDEOGRAPHIC ITERATION MARK
+303B  ; [.15B5.0020.0002.303B] # VERTICAL IDEOGRAPHIC ITERATION MARK
+3031  ; [.15B6.0020.0002.3031] # VERTICAL KANA REPEAT MARK
+3032  ; [.15B6.0020.0002.3031][.0000.0128.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK
+3033  ; [.15B7.0020.0002.3033] # VERTICAL KANA REPEAT MARK UPPER HALF
+3034  ; [.15B7.0020.0002.3033][.0000.0128.0002.3099] # VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF
+3035  ; [.15B8.0020.0002.3035] # VERTICAL KANA REPEAT MARK LOWER HALF
+309D  ; [.15B9.0020.0002.309D] # HIRAGANA ITERATION MARK
+309E  ; [.15B9.0020.0002.309D][.0000.0128.0002.3099] # HIRAGANA VOICED ITERATION MARK
+30FC  ; [.15BA.0020.0002.30FC] # KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF70  ; [.15BA.0020.0012.FF70] # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+30FD  ; [.15BB.0020.0002.30FD] # KATAKANA ITERATION MARK
+30FE  ; [.15BB.0020.0002.30FD][.0000.0128.0002.3099] # KATAKANA VOICED ITERATION MARK
+00A4  ; [.15BC.0020.0002.00A4] # CURRENCY SIGN
+00A2  ; [.15BD.0020.0002.00A2] # CENT SIGN
+FFE0  ; [.15BD.0020.0003.FFE0] # FULLWIDTH CENT SIGN
+0024  ; [.15BE.0020.0002.0024] # DOLLAR SIGN
+FF04  ; [.15BE.0020.0003.FF04] # FULLWIDTH DOLLAR SIGN
+FE69  ; [.15BE.0020.000F.FE69] # SMALL DOLLAR SIGN
+00A3  ; [.15BF.0020.0002.00A3] # POUND SIGN
+FFE1  ; [.15BF.0020.0003.FFE1] # FULLWIDTH POUND SIGN
+00A5  ; [.15C0.0020.0002.00A5] # YEN SIGN
+FFE5  ; [.15C0.0020.0003.FFE5] # FULLWIDTH YEN SIGN
+058F  ; [.15C1.0020.0002.058F] # ARMENIAN DRAM SIGN
+060B  ; [.15C2.0020.0002.060B] # AFGHANI SIGN
+09F2  ; [.15C3.0020.0002.09F2] # BENGALI RUPEE MARK
+09F3  ; [.15C4.0020.0002.09F3] # BENGALI RUPEE SIGN
+09FB  ; [.15C5.0020.0002.09FB] # BENGALI GANDA MARK
+0AF1  ; [.15C6.0020.0002.0AF1] # GUJARATI RUPEE SIGN
+A838  ; [.15C7.0020.0002.A838] # NORTH INDIC RUPEE MARK
+0BF9  ; [.15C8.0020.0002.0BF9] # TAMIL RUPEE SIGN
+0E3F  ; [.15C9.0020.0002.0E3F] # THAI CURRENCY SYMBOL BAHT
+17DB  ; [.15CA.0020.0002.17DB] # KHMER CURRENCY SYMBOL RIEL
+20A0  ; [.15CB.0020.0002.20A0] # EURO-CURRENCY SIGN
+20A1  ; [.15CC.0020.0002.20A1] # COLON SIGN
+20A2  ; [.15CD.0020.0002.20A2] # CRUZEIRO SIGN
+20A3  ; [.15CE.0020.0002.20A3] # FRENCH FRANC SIGN
+20A4  ; [.15CF.0020.0002.20A4] # LIRA SIGN
+20A5  ; [.15D0.0020.0002.20A5] # MILL SIGN
+20A6  ; [.15D1.0020.0002.20A6] # NAIRA SIGN
+20A7  ; [.15D2.0020.0002.20A7] # PESETA SIGN
+20A9  ; [.15D3.0020.0002.20A9] # WON SIGN
+FFE6  ; [.15D3.0020.0003.FFE6] # FULLWIDTH WON SIGN
+20AA  ; [.15D4.0020.0002.20AA] # NEW SHEQEL SIGN
+20AB  ; [.15D5.0020.0002.20AB] # DONG SIGN
+20AC  ; [.15D6.0020.0002.20AC] # EURO SIGN
+20AD  ; [.15D7.0020.0002.20AD] # KIP SIGN
+20AE  ; [.15D8.0020.0002.20AE] # TUGRIK SIGN
+20AF  ; [.15D9.0020.0002.20AF] # DRACHMA SIGN
+20B0  ; [.15DA.0020.0002.20B0] # GERMAN PENNY SIGN
+20B1  ; [.15DB.0020.0002.20B1] # PESO SIGN
+20B2  ; [.15DC.0020.0002.20B2] # GUARANI SIGN
+20B3  ; [.15DD.0020.0002.20B3] # AUSTRAL SIGN
+20B4  ; [.15DE.0020.0002.20B4] # HRYVNIA SIGN
+20B5  ; [.15DF.0020.0002.20B5] # CEDI SIGN
+20B6  ; [.15E0.0020.0002.20B6] # LIVRE TOURNOIS SIGN
+20B7  ; [.15E1.0020.0002.20B7] # SPESMILO SIGN
+20B8  ; [.15E2.0020.0002.20B8] # TENGE SIGN
+20B9  ; [.15E3.0020.0002.20B9] # INDIAN RUPEE SIGN
+20BA  ; [.15E4.0020.0002.20BA] # TURKISH LIRA SIGN
+0030  ; [.15E5.0020.0002.0030] # DIGIT ZERO
+FF10  ; [.15E5.0020.0003.FF10] # FULLWIDTH DIGIT ZERO
+1F100 ; [.15E5.0020.0004.1F100][*0273.0020.001F.1F100] # DIGIT ZERO FULL STOP
+1F101 ; [.15E5.0020.0004.1F101][*0221.0020.001F.1F101] # DIGIT ZERO COMMA
+1D7CE ; [.15E5.0020.0005.1D7CE] # MATHEMATICAL BOLD DIGIT ZERO
+1D7D8 ; [.15E5.0020.0005.1D7D8] # MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
+1D7E2 ; [.15E5.0020.0005.1D7E2] # MATHEMATICAL SANS-SERIF DIGIT ZERO
+1D7EC ; [.15E5.0020.0005.1D7EC] # MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO
+1D7F6 ; [.15E5.0020.0005.1D7F6] # MATHEMATICAL MONOSPACE DIGIT ZERO
+24EA  ; [.15E5.0020.0006.24EA] # CIRCLED DIGIT ZERO
+24FF  ; [.15E5.0020.0006.24FF] # NEGATIVE CIRCLED DIGIT ZERO
+2070  ; [.15E5.0020.0014.2070] # SUPERSCRIPT ZERO
+2080  ; [.15E5.0020.0015.2080] # SUBSCRIPT ZERO
+0660  ; [.15E5.0020.0002.0660][.0000.013F.0002.0660] # ARABIC-INDIC DIGIT ZERO
+06F0  ; [.15E5.0020.0002.06F0][.0000.0140.0002.06F0] # EXTENDED ARABIC-INDIC DIGIT ZERO
+07C0  ; [.15E5.0020.0002.07C0][.0000.0142.0002.07C0] # NKO DIGIT ZERO
+104A0 ; [.15E5.0020.0002.104A0][.0000.0144.0002.104A0] # OSMANYA DIGIT ZERO
+0966  ; [.15E5.0020.0002.0966][.0000.0145.0002.0966] # DEVANAGARI DIGIT ZERO
+09E6  ; [.15E5.0020.0002.09E6][.0000.0146.0002.09E6] # BENGALI DIGIT ZERO
+0A66  ; [.15E5.0020.0002.0A66][.0000.0147.0002.0A66] # GURMUKHI DIGIT ZERO
+0AE6  ; [.15E5.0020.0002.0AE6][.0000.0148.0002.0AE6] # GUJARATI DIGIT ZERO
+0B66  ; [.15E5.0020.0002.0B66][.0000.0149.0002.0B66] # ORIYA DIGIT ZERO
+0BE6  ; [.15E5.0020.0002.0BE6][.0000.014A.0002.0BE6] # TAMIL DIGIT ZERO
+0C66  ; [.15E5.0020.0002.0C66][.0000.014B.0002.0C66] # TELUGU DIGIT ZERO
+0C78  ; [.15E5.0020.0002.0C78][.0000.014B.0002.0C78] # TELUGU FRACTION DIGIT ZERO FOR ODD POWERS OF FOUR
+0CE6  ; [.15E5.0020.0002.0CE6][.0000.014C.0002.0CE6] # KANNADA DIGIT ZERO
+0D66  ; [.15E5.0020.0002.0D66][.0000.014D.0002.0D66] # MALAYALAM DIGIT ZERO
+ABF0  ; [.15E5.0020.0002.ABF0][.0000.014E.0002.ABF0] # MEETEI MAYEK DIGIT ZERO
+A8D0  ; [.15E5.0020.0002.A8D0][.0000.014F.0002.A8D0] # SAURASHTRA DIGIT ZERO
+1946  ; [.15E5.0020.0002.1946][.0000.0150.0002.1946] # LIMBU DIGIT ZERO
+19D0  ; [.15E5.0020.0002.19D0][.0000.0151.0002.19D0] # NEW TAI LUE DIGIT ZERO
+1A80  ; [.15E5.0020.0002.1A80][.0000.0152.0002.1A80] # TAI THAM HORA DIGIT ZERO
+1A90  ; [.15E5.0020.0002.1A90][.0000.0153.0002.1A90] # TAI THAM THAM DIGIT ZERO
+0E50  ; [.15E5.0020.0002.0E50][.0000.0154.0002.0E50] # THAI DIGIT ZERO
+0ED0  ; [.15E5.0020.0002.0ED0][.0000.0155.0002.0ED0] # LAO DIGIT ZERO
+0F20  ; [.15E5.0020.0002.0F20][.0000.0156.0002.0F20] # TIBETAN DIGIT ZERO
+0F33  ; [.15E5.0020.0004.0F33][.0000.0156.0004.0F33] # TIBETAN DIGIT HALF ZERO
+1C40  ; [.15E5.0020.0002.1C40][.0000.0157.0002.1C40] # LEPCHA DIGIT ZERO
+A900  ; [.15E5.0020.0002.A900][.0000.0158.0002.A900] # KAYAH LI DIGIT ZERO
+1040  ; [.15E5.0020.0002.1040][.0000.0159.0002.1040] # MYANMAR DIGIT ZERO
+1090  ; [.15E5.0020.0002.1090][.0000.015A.0002.1090] # MYANMAR SHAN DIGIT ZERO
+11136 ; [.15E5.0020.0002.11136][.0000.015B.0002.11136] # CHAKMA DIGIT ZERO
+17E0  ; [.15E5.0020.0002.17E0][.0000.015C.0002.17E0] # KHMER DIGIT ZERO
+17F0  ; [.15E5.0020.0002.17F0][.0000.015D.0002.17F0] # KHMER SYMBOL LEK ATTAK SON
+AA50  ; [.15E5.0020.0002.AA50][.0000.015E.0002.AA50] # CHAM DIGIT ZERO
+1B50  ; [.15E5.0020.0002.1B50][.0000.015F.0002.1B50] # BALINESE DIGIT ZERO
+A9D0  ; [.15E5.0020.0002.A9D0][.0000.0160.0002.A9D0] # JAVANESE DIGIT ZERO
+1BB0  ; [.15E5.0020.0002.1BB0][.0000.0161.0002.1BB0] # SUNDANESE DIGIT ZERO
+1810  ; [.15E5.0020.0002.1810][.0000.0162.0002.1810] # MONGOLIAN DIGIT ZERO
+1C50  ; [.15E5.0020.0002.1C50][.0000.0163.0002.1C50] # OL CHIKI DIGIT ZERO
+A620  ; [.15E5.0020.0002.A620][.0000.0164.0002.A620] # VAI DIGIT ZERO
+110F0 ; [.15E5.0020.0002.110F0][.0000.0165.0002.110F0] # SORA SOMPENG DIGIT ZERO
+3007  ; [.15E5.0020.0002.3007][.0000.0166.0002.3007] # IDEOGRAPHIC NUMBER ZERO
+1018A ; [.15E5.0020.0002.1018A][.0000.0168.0002.1018A] # GREEK ZERO SIGN
+111D0 ; [.15E5.0020.0002.111D0][.0000.0172.0002.111D0] # SHARADA DIGIT ZERO
+116C0 ; [.15E5.0020.0002.116C0][.0000.0173.0002.116C0] # TAKRI DIGIT ZERO
+11066 ; [.15E5.0020.0002.11066][.0000.0174.0002.11066] # BRAHMI DIGIT ZERO
+2189  ; [.15E5.0020.001E.2189][*05AC.0020.001E.2189][.15E8.0020.001E.2189] # VULGAR FRACTION ZERO THIRDS
+3358  ; [.15E5.0020.0004.3358][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO
+0031  ; [.15E6.0020.0002.0031] # DIGIT ONE
+FF11  ; [.15E6.0020.0003.FF11] # FULLWIDTH DIGIT ONE
+2474  ; [*02FB.0020.0004.2474][.15E6.0020.0004.2474][*02FC.0020.001F.2474] # PARENTHESIZED DIGIT ONE
+2488  ; [.15E6.0020.0004.2488][*0273.0020.001F.2488] # DIGIT ONE FULL STOP
+1F102 ; [.15E6.0020.0004.1F102][*0221.0020.001F.1F102] # DIGIT ONE COMMA
+1D7CF ; [.15E6.0020.0005.1D7CF] # MATHEMATICAL BOLD DIGIT ONE
+1D7D9 ; [.15E6.0020.0005.1D7D9] # MATHEMATICAL DOUBLE-STRUCK DIGIT ONE
+1D7E3 ; [.15E6.0020.0005.1D7E3] # MATHEMATICAL SANS-SERIF DIGIT ONE
+1D7ED ; [.15E6.0020.0005.1D7ED] # MATHEMATICAL SANS-SERIF BOLD DIGIT ONE
+1D7F7 ; [.15E6.0020.0005.1D7F7] # MATHEMATICAL MONOSPACE DIGIT ONE
+2460  ; [.15E6.0020.0006.2460] # CIRCLED DIGIT ONE
+24F5  ; [.15E6.0020.0006.24F5] # DOUBLE CIRCLED DIGIT ONE
+2776  ; [.15E6.0020.0006.2776] # DINGBAT NEGATIVE CIRCLED DIGIT ONE
+2780  ; [.15E6.0020.0006.2780] # DINGBAT CIRCLED SANS-SERIF DIGIT ONE
+278A  ; [.15E6.0020.0006.278A] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE
+00B9  ; [.15E6.0020.0014.00B9] # SUPERSCRIPT ONE
+2081  ; [.15E6.0020.0015.2081] # SUBSCRIPT ONE
+215F  ; [.15E6.0020.001E.215F][*05AC.0020.001E.215F] # FRACTION NUMERATOR ONE
+0661  ; [.15E6.0020.0002.0661][.0000.013F.0002.0661] # ARABIC-INDIC DIGIT ONE
+06F1  ; [.15E6.0020.0002.06F1][.0000.0140.0002.06F1] # EXTENDED ARABIC-INDIC DIGIT ONE
+10E60 ; [.15E6.0020.0002.10E60][.0000.0141.0002.10E60] # RUMI DIGIT ONE
+07C1  ; [.15E6.0020.0002.07C1][.0000.0142.0002.07C1] # NKO DIGIT ONE
+1369  ; [.15E6.0020.0002.1369][.0000.0143.0002.1369] # ETHIOPIC DIGIT ONE
+104A1 ; [.15E6.0020.0002.104A1][.0000.0144.0002.104A1] # OSMANYA DIGIT ONE
+0967  ; [.15E6.0020.0002.0967][.0000.0145.0002.0967] # DEVANAGARI DIGIT ONE
+09E7  ; [.15E6.0020.0002.09E7][.0000.0146.0002.09E7] # BENGALI DIGIT ONE
+0A67  ; [.15E6.0020.0002.0A67][.0000.0147.0002.0A67] # GURMUKHI DIGIT ONE
+0AE7  ; [.15E6.0020.0002.0AE7][.0000.0148.0002.0AE7] # GUJARATI DIGIT ONE
+0B67  ; [.15E6.0020.0002.0B67][.0000.0149.0002.0B67] # ORIYA DIGIT ONE
+0BE7  ; [.15E6.0020.0002.0BE7][.0000.014A.0002.0BE7] # TAMIL DIGIT ONE
+0C67  ; [.15E6.0020.0002.0C67][.0000.014B.0002.0C67] # TELUGU DIGIT ONE
+0C79  ; [.15E6.0020.0002.0C79][.0000.014B.0002.0C79] # TELUGU FRACTION DIGIT ONE FOR ODD POWERS OF FOUR
+0C7C  ; [.15E6.0020.0002.0C7C][.0000.014B.0002.0C7C] # TELUGU FRACTION DIGIT ONE FOR EVEN POWERS OF FOUR
+0CE7  ; [.15E6.0020.0002.0CE7][.0000.014C.0002.0CE7] # KANNADA DIGIT ONE
+0D67  ; [.15E6.0020.0002.0D67][.0000.014D.0002.0D67] # MALAYALAM DIGIT ONE
+ABF1  ; [.15E6.0020.0002.ABF1][.0000.014E.0002.ABF1] # MEETEI MAYEK DIGIT ONE
+A8D1  ; [.15E6.0020.0002.A8D1][.0000.014F.0002.A8D1] # SAURASHTRA DIGIT ONE
+1947  ; [.15E6.0020.0002.1947][.0000.0150.0002.1947] # LIMBU DIGIT ONE
+19D1  ; [.15E6.0020.0002.19D1][.0000.0151.0002.19D1] # NEW TAI LUE DIGIT ONE
+19DA  ; [.15E6.0020.0002.19DA][.0000.0151.0002.19DA] # NEW TAI LUE THAM DIGIT ONE
+1A81  ; [.15E6.0020.0002.1A81][.0000.0152.0002.1A81] # TAI THAM HORA DIGIT ONE
+1A91  ; [.15E6.0020.0002.1A91][.0000.0153.0002.1A91] # TAI THAM THAM DIGIT ONE
+0E51  ; [.15E6.0020.0002.0E51][.0000.0154.0002.0E51] # THAI DIGIT ONE
+0ED1  ; [.15E6.0020.0002.0ED1][.0000.0155.0002.0ED1] # LAO DIGIT ONE
+0F21  ; [.15E6.0020.0002.0F21][.0000.0156.0002.0F21] # TIBETAN DIGIT ONE
+0F2A  ; [.15E6.0020.0004.0F2A][.0000.0156.0004.0F2A] # TIBETAN DIGIT HALF ONE
+1C41  ; [.15E6.0020.0002.1C41][.0000.0157.0002.1C41] # LEPCHA DIGIT ONE
+A901  ; [.15E6.0020.0002.A901][.0000.0158.0002.A901] # KAYAH LI DIGIT ONE
+1041  ; [.15E6.0020.0002.1041][.0000.0159.0002.1041] # MYANMAR DIGIT ONE
+1091  ; [.15E6.0020.0002.1091][.0000.015A.0002.1091] # MYANMAR SHAN DIGIT ONE
+11137 ; [.15E6.0020.0002.11137][.0000.015B.0002.11137] # CHAKMA DIGIT ONE
+17E1  ; [.15E6.0020.0002.17E1][.0000.015C.0002.17E1] # KHMER DIGIT ONE
+17F1  ; [.15E6.0020.0002.17F1][.0000.015D.0002.17F1] # KHMER SYMBOL LEK ATTAK MUOY
+AA51  ; [.15E6.0020.0002.AA51][.0000.015E.0002.AA51] # CHAM DIGIT ONE
+1B51  ; [.15E6.0020.0002.1B51][.0000.015F.0002.1B51] # BALINESE DIGIT ONE
+A9D1  ; [.15E6.0020.0002.A9D1][.0000.0160.0002.A9D1] # JAVANESE DIGIT ONE
+1BB1  ; [.15E6.0020.0002.1BB1][.0000.0161.0002.1BB1] # SUNDANESE DIGIT ONE
+1811  ; [.15E6.0020.0002.1811][.0000.0162.0002.1811] # MONGOLIAN DIGIT ONE
+1C51  ; [.15E6.0020.0002.1C51][.0000.0163.0002.1C51] # OL CHIKI DIGIT ONE
+A621  ; [.15E6.0020.0002.A621][.0000.0164.0002.A621] # VAI DIGIT ONE
+110F1 ; [.15E6.0020.0002.110F1][.0000.0165.0002.110F1] # SORA SOMPENG DIGIT ONE
+3021  ; [.15E6.0020.0002.3021][.0000.0166.0002.3021] # HANGZHOU NUMERAL ONE
+10107 ; [.15E6.0020.0002.10107][.0000.0167.0002.10107] # AEGEAN NUMBER ONE
+10142 ; [.15E6.0020.0002.10142][.0000.0168.0002.10142] # GREEK ACROPHONIC ATTIC ONE DRACHMA
+10158 ; [.15E6.0020.0002.10158][.0000.0168.0002.10158] # GREEK ACROPHONIC HERAEUM ONE PLETHRON
+10159 ; [.15E6.0020.0002.10159][.0000.0168.0002.10159] # GREEK ACROPHONIC THESPIAN ONE
+1015A ; [.15E6.0020.0002.1015A][.0000.0168.0002.1015A] # GREEK ACROPHONIC HERMIONIAN ONE
+10320 ; [.15E6.0020.0002.10320][.0000.016A.0002.10320] # OLD ITALIC NUMERAL ONE
+103D1 ; [.15E6.0020.0002.103D1][.0000.016B.0002.103D1] # OLD PERSIAN NUMBER ONE
+12415 ; [.15E6.0020.0002.12415][.0000.016C.0002.12415] # CUNEIFORM NUMERIC SIGN ONE GESH2
+1241E ; [.15E6.0020.0002.1241E][.0000.016C.0002.1241E] # CUNEIFORM NUMERIC SIGN ONE GESHU
+1242C ; [.15E6.0020.0002.1242C][.0000.016C.0002.1242C] # CUNEIFORM NUMERIC SIGN ONE SHARU
+12434 ; [.15E6.0020.0002.12434][.0000.016C.0002.12434] # CUNEIFORM NUMERIC SIGN ONE BURU
+1244F ; [.15E6.0020.0002.1244F][.0000.016C.0002.1244F] # CUNEIFORM NUMERIC SIGN ONE BAN2
+12458 ; [.15E6.0020.0002.12458][.0000.016C.0002.12458] # CUNEIFORM NUMERIC SIGN ONE ESHE3
+10A7D ; [.15E6.0020.0002.10A7D][.0000.016D.0002.10A7D] # OLD SOUTH ARABIAN NUMBER ONE
+10916 ; [.15E6.0020.0002.10916][.0000.016E.0002.10916] # PHOENICIAN NUMBER ONE
+10858 ; [.15E6.0020.0002.10858][.0000.016F.0002.10858] # IMPERIAL ARAMAIC NUMBER ONE
+10B58 ; [.15E6.0020.0002.10B58][.0000.0170.0002.10B58] # INSCRIPTIONAL PARTHIAN NUMBER ONE
+10B78 ; [.15E6.0020.0002.10B78][.0000.0171.0002.10B78] # INSCRIPTIONAL PAHLAVI NUMBER ONE
+111D1 ; [.15E6.0020.0002.111D1][.0000.0172.0002.111D1] # SHARADA DIGIT ONE
+116C1 ; [.15E6.0020.0002.116C1][.0000.0173.0002.116C1] # TAKRI DIGIT ONE
+11067 ; [.15E6.0020.0002.11067][.0000.0174.0002.11067] # BRAHMI DIGIT ONE
+11052 ; [.15E6.0020.0002.11052][.0000.0175.0002.11052] # BRAHMI NUMBER ONE
+10A40 ; [.15E6.0020.0002.10A40][.0000.0176.0002.10A40] # KHAROSHTHI DIGIT ONE
+1D360 ; [.15E6.0020.0002.1D360][.0000.0177.0002.1D360] # COUNTING ROD UNIT DIGIT ONE
+247D  ; [*02FB.0020.0004.247D][.15E6.0020.0004.247D][.15E5.0020.0004.247D][*02FC.0020.001F.247D] # PARENTHESIZED NUMBER TEN
+2491  ; [.15E6.0020.0004.2491][.15E5.0020.0004.2491][*0273.0020.001F.2491] # NUMBER TEN FULL STOP
+2469  ; [.15E6.0020.0006.2469][.15E5.0020.0006.2469] # CIRCLED NUMBER TEN
+24FE  ; [.15E6.0020.0006.24FE][.15E5.0020.0006.24FE] # DOUBLE CIRCLED NUMBER TEN
+277F  ; [.15E6.0020.0006.277F][.15E5.0020.0006.277F] # DINGBAT NEGATIVE CIRCLED NUMBER TEN
+2789  ; [.15E6.0020.0006.2789][.15E5.0020.0006.2789] # DINGBAT CIRCLED SANS-SERIF NUMBER TEN
+2793  ; [.15E6.0020.0006.2793][.15E5.0020.0006.2793] # DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
+3248  ; [.15E6.0020.0006.3248][.15E5.0020.0006.3248] # CIRCLED NUMBER TEN ON BLACK SQUARE
+33E9  ; [.15E6.0020.0004.33E9][.15E5.0020.0004.33E9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN
+32C9  ; [.15E6.0020.0004.32C9][.15E5.0020.0004.32C9][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER
+3362  ; [.15E6.0020.0004.3362][.15E5.0020.0004.3362][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN
+247E  ; [*02FB.0020.0004.247E][.15E6.0020.0004.247E][.15E6.0020.0004.247E][*02FC.0020.001F.247E] # PARENTHESIZED NUMBER ELEVEN
+2492  ; [.15E6.0020.0004.2492][.15E6.0020.0004.2492][*0273.0020.001F.2492] # NUMBER ELEVEN FULL STOP
+246A  ; [.15E6.0020.0006.246A][.15E6.0020.0006.246A] # CIRCLED NUMBER ELEVEN
+24EB  ; [.15E6.0020.0006.24EB][.15E6.0020.0006.24EB] # NEGATIVE CIRCLED NUMBER ELEVEN
+2152  ; [.15E6.0020.001E.2152][*05AC.0020.001E.2152][.15E6.0020.001E.2152][.15E5.0020.001E.2152] # VULGAR FRACTION ONE TENTH
+33EA  ; [.15E6.0020.0004.33EA][.15E6.0020.0004.33EA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN
+32CA  ; [.15E6.0020.0004.32CA][.15E6.0020.0004.32CA][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER
+3363  ; [.15E6.0020.0004.3363][.15E6.0020.0004.3363][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN
+247F  ; [*02FB.0020.0004.247F][.15E6.0020.0004.247F][.15E7.0020.0004.247F][*02FC.0020.001F.247F] # PARENTHESIZED NUMBER TWELVE
+2493  ; [.15E6.0020.0004.2493][.15E7.0020.0004.2493][*0273.0020.001F.2493] # NUMBER TWELVE FULL STOP
+246B  ; [.15E6.0020.0006.246B][.15E7.0020.0006.246B] # CIRCLED NUMBER TWELVE
+24EC  ; [.15E6.0020.0006.24EC][.15E7.0020.0006.24EC] # NEGATIVE CIRCLED NUMBER TWELVE
+00BD  ; [.15E6.0020.001E.00BD][*05AC.0020.001E.00BD][.15E7.0020.001E.00BD] # VULGAR FRACTION ONE HALF
+33EB  ; [.15E6.0020.0004.33EB][.15E7.0020.0004.33EB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE
+32CB  ; [.15E6.0020.0004.32CB][.15E7.0020.0004.32CB][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER
+3364  ; [.15E6.0020.0004.3364][.15E7.0020.0004.3364][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE
+2480  ; [*02FB.0020.0004.2480][.15E6.0020.0004.2480][.15E8.0020.0004.2480][*02FC.0020.001F.2480] # PARENTHESIZED NUMBER THIRTEEN
+2494  ; [.15E6.0020.0004.2494][.15E8.0020.0004.2494][*0273.0020.001F.2494] # NUMBER THIRTEEN FULL STOP
+246C  ; [.15E6.0020.0006.246C][.15E8.0020.0006.246C] # CIRCLED NUMBER THIRTEEN
+24ED  ; [.15E6.0020.0006.24ED][.15E8.0020.0006.24ED] # NEGATIVE CIRCLED NUMBER THIRTEEN
+2153  ; [.15E6.0020.001E.2153][*05AC.0020.001E.2153][.15E8.0020.001E.2153] # VULGAR FRACTION ONE THIRD
+33EC  ; [.15E6.0020.0004.33EC][.15E8.0020.0004.33EC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN
+3365  ; [.15E6.0020.0004.3365][.15E8.0020.0004.3365][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN
+2481  ; [*02FB.0020.0004.2481][.15E6.0020.0004.2481][.15E9.0020.0004.2481][*02FC.0020.001F.2481] # PARENTHESIZED NUMBER FOURTEEN
+2495  ; [.15E6.0020.0004.2495][.15E9.0020.0004.2495][*0273.0020.001F.2495] # NUMBER FOURTEEN FULL STOP
+246D  ; [.15E6.0020.0006.246D][.15E9.0020.0006.246D] # CIRCLED NUMBER FOURTEEN
+24EE  ; [.15E6.0020.0006.24EE][.15E9.0020.0006.24EE] # NEGATIVE CIRCLED NUMBER FOURTEEN
+00BC  ; [.15E6.0020.001E.00BC][*05AC.0020.001E.00BC][.15E9.0020.001E.00BC] # VULGAR FRACTION ONE QUARTER
+33ED  ; [.15E6.0020.0004.33ED][.15E9.0020.0004.33ED][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN
+3366  ; [.15E6.0020.0004.3366][.15E9.0020.0004.3366][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN
+2482  ; [*02FB.0020.0004.2482][.15E6.0020.0004.2482][.15EA.0020.0004.2482][*02FC.0020.001F.2482] # PARENTHESIZED NUMBER FIFTEEN
+2496  ; [.15E6.0020.0004.2496][.15EA.0020.0004.2496][*0273.0020.001F.2496] # NUMBER FIFTEEN FULL STOP
+246E  ; [.15E6.0020.0006.246E][.15EA.0020.0006.246E] # CIRCLED NUMBER FIFTEEN
+24EF  ; [.15E6.0020.0006.24EF][.15EA.0020.0006.24EF] # NEGATIVE CIRCLED NUMBER FIFTEEN
+2155  ; [.15E6.0020.001E.2155][*05AC.0020.001E.2155][.15EA.0020.001E.2155] # VULGAR FRACTION ONE FIFTH
+33EE  ; [.15E6.0020.0004.33EE][.15EA.0020.0004.33EE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN
+3367  ; [.15E6.0020.0004.3367][.15EA.0020.0004.3367][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN
+2483  ; [*02FB.0020.0004.2483][.15E6.0020.0004.2483][.15EB.0020.0004.2483][*02FC.0020.001F.2483] # PARENTHESIZED NUMBER SIXTEEN
+2497  ; [.15E6.0020.0004.2497][.15EB.0020.0004.2497][*0273.0020.001F.2497] # NUMBER SIXTEEN FULL STOP
+246F  ; [.15E6.0020.0006.246F][.15EB.0020.0006.246F] # CIRCLED NUMBER SIXTEEN
+24F0  ; [.15E6.0020.0006.24F0][.15EB.0020.0006.24F0] # NEGATIVE CIRCLED NUMBER SIXTEEN
+2159  ; [.15E6.0020.001E.2159][*05AC.0020.001E.2159][.15EB.0020.001E.2159] # VULGAR FRACTION ONE SIXTH
+33EF  ; [.15E6.0020.0004.33EF][.15EB.0020.0004.33EF][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN
+3368  ; [.15E6.0020.0004.3368][.15EB.0020.0004.3368][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN
+2484  ; [*02FB.0020.0004.2484][.15E6.0020.0004.2484][.15EC.0020.0004.2484][*02FC.0020.001F.2484] # PARENTHESIZED NUMBER SEVENTEEN
+2498  ; [.15E6.0020.0004.2498][.15EC.0020.0004.2498][*0273.0020.001F.2498] # NUMBER SEVENTEEN FULL STOP
+2470  ; [.15E6.0020.0006.2470][.15EC.0020.0006.2470] # CIRCLED NUMBER SEVENTEEN
+24F1  ; [.15E6.0020.0006.24F1][.15EC.0020.0006.24F1] # NEGATIVE CIRCLED NUMBER SEVENTEEN
+2150  ; [.15E6.0020.001E.2150][*05AC.0020.001E.2150][.15EC.0020.001E.2150] # VULGAR FRACTION ONE SEVENTH
+33F0  ; [.15E6.0020.0004.33F0][.15EC.0020.0004.33F0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN
+3369  ; [.15E6.0020.0004.3369][.15EC.0020.0004.3369][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN
+2485  ; [*02FB.0020.0004.2485][.15E6.0020.0004.2485][.15ED.0020.0004.2485][*02FC.0020.001F.2485] # PARENTHESIZED NUMBER EIGHTEEN
+2499  ; [.15E6.0020.0004.2499][.15ED.0020.0004.2499][*0273.0020.001F.2499] # NUMBER EIGHTEEN FULL STOP
+2471  ; [.15E6.0020.0006.2471][.15ED.0020.0006.2471] # CIRCLED NUMBER EIGHTEEN
+24F2  ; [.15E6.0020.0006.24F2][.15ED.0020.0006.24F2] # NEGATIVE CIRCLED NUMBER EIGHTEEN
+215B  ; [.15E6.0020.001E.215B][*05AC.0020.001E.215B][.15ED.0020.001E.215B] # VULGAR FRACTION ONE EIGHTH
+33F1  ; [.15E6.0020.0004.33F1][.15ED.0020.0004.33F1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN
+336A  ; [.15E6.0020.0004.336A][.15ED.0020.0004.336A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN
+2486  ; [*02FB.0020.0004.2486][.15E6.0020.0004.2486][.15EE.0020.0004.2486][*02FC.0020.001F.2486] # PARENTHESIZED NUMBER NINETEEN
+249A  ; [.15E6.0020.0004.249A][.15EE.0020.0004.249A][*0273.0020.001F.249A] # NUMBER NINETEEN FULL STOP
+2472  ; [.15E6.0020.0006.2472][.15EE.0020.0006.2472] # CIRCLED NUMBER NINETEEN
+24F3  ; [.15E6.0020.0006.24F3][.15EE.0020.0006.24F3] # NEGATIVE CIRCLED NUMBER NINETEEN
+2151  ; [.15E6.0020.001E.2151][*05AC.0020.001E.2151][.15EE.0020.001E.2151] # VULGAR FRACTION ONE NINTH
+33F2  ; [.15E6.0020.0004.33F2][.15EE.0020.0004.33F2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN
+336B  ; [.15E6.0020.0004.336B][.15EE.0020.0004.336B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN
+33E0  ; [.15E6.0020.0004.33E0][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE
+32C0  ; [.15E6.0020.0004.32C0][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY
+3359  ; [.15E6.0020.0004.3359][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE
+0032  ; [.15E7.0020.0002.0032] # DIGIT TWO
+FF12  ; [.15E7.0020.0003.FF12] # FULLWIDTH DIGIT TWO
+2475  ; [*02FB.0020.0004.2475][.15E7.0020.0004.2475][*02FC.0020.001F.2475] # PARENTHESIZED DIGIT TWO
+2489  ; [.15E7.0020.0004.2489][*0273.0020.001F.2489] # DIGIT TWO FULL STOP
+1F103 ; [.15E7.0020.0004.1F103][*0221.0020.001F.1F103] # DIGIT TWO COMMA
+1D7D0 ; [.15E7.0020.0005.1D7D0] # MATHEMATICAL BOLD DIGIT TWO
+1D7DA ; [.15E7.0020.0005.1D7DA] # MATHEMATICAL DOUBLE-STRUCK DIGIT TWO
+1D7E4 ; [.15E7.0020.0005.1D7E4] # MATHEMATICAL SANS-SERIF DIGIT TWO
+1D7EE ; [.15E7.0020.0005.1D7EE] # MATHEMATICAL SANS-SERIF BOLD DIGIT TWO
+1D7F8 ; [.15E7.0020.0005.1D7F8] # MATHEMATICAL MONOSPACE DIGIT TWO
+2461  ; [.15E7.0020.0006.2461] # CIRCLED DIGIT TWO
+24F6  ; [.15E7.0020.0006.24F6] # DOUBLE CIRCLED DIGIT TWO
+2777  ; [.15E7.0020.0006.2777] # DINGBAT NEGATIVE CIRCLED DIGIT TWO
+2781  ; [.15E7.0020.0006.2781] # DINGBAT CIRCLED SANS-SERIF DIGIT TWO
+278B  ; [.15E7.0020.0006.278B] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO
+00B2  ; [.15E7.0020.0014.00B2] # SUPERSCRIPT TWO
+2082  ; [.15E7.0020.0015.2082] # SUBSCRIPT TWO
+0662  ; [.15E7.0020.0002.0662][.0000.013F.0002.0662] # ARABIC-INDIC DIGIT TWO
+06F2  ; [.15E7.0020.0002.06F2][.0000.0140.0002.06F2] # EXTENDED ARABIC-INDIC DIGIT TWO
+10E61 ; [.15E7.0020.0002.10E61][.0000.0141.0002.10E61] # RUMI DIGIT TWO
+07C2  ; [.15E7.0020.0002.07C2][.0000.0142.0002.07C2] # NKO DIGIT TWO
+136A  ; [.15E7.0020.0002.136A][.0000.0143.0002.136A] # ETHIOPIC DIGIT TWO
+104A2 ; [.15E7.0020.0002.104A2][.0000.0144.0002.104A2] # OSMANYA DIGIT TWO
+0968  ; [.15E7.0020.0002.0968][.0000.0145.0002.0968] # DEVANAGARI DIGIT TWO
+09E8  ; [.15E7.0020.0002.09E8][.0000.0146.0002.09E8] # BENGALI DIGIT TWO
+0A68  ; [.15E7.0020.0002.0A68][.0000.0147.0002.0A68] # GURMUKHI DIGIT TWO
+0AE8  ; [.15E7.0020.0002.0AE8][.0000.0148.0002.0AE8] # GUJARATI DIGIT TWO
+0B68  ; [.15E7.0020.0002.0B68][.0000.0149.0002.0B68] # ORIYA DIGIT TWO
+0BE8  ; [.15E7.0020.0002.0BE8][.0000.014A.0002.0BE8] # TAMIL DIGIT TWO
+0C68  ; [.15E7.0020.0002.0C68][.0000.014B.0002.0C68] # TELUGU DIGIT TWO
+0C7A  ; [.15E7.0020.0002.0C7A][.0000.014B.0002.0C7A] # TELUGU FRACTION DIGIT TWO FOR ODD POWERS OF FOUR
+0C7D  ; [.15E7.0020.0002.0C7D][.0000.014B.0002.0C7D] # TELUGU FRACTION DIGIT TWO FOR EVEN POWERS OF FOUR
+0CE8  ; [.15E7.0020.0002.0CE8][.0000.014C.0002.0CE8] # KANNADA DIGIT TWO
+0D68  ; [.15E7.0020.0002.0D68][.0000.014D.0002.0D68] # MALAYALAM DIGIT TWO
+ABF2  ; [.15E7.0020.0002.ABF2][.0000.014E.0002.ABF2] # MEETEI MAYEK DIGIT TWO
+A8D2  ; [.15E7.0020.0002.A8D2][.0000.014F.0002.A8D2] # SAURASHTRA DIGIT TWO
+1948  ; [.15E7.0020.0002.1948][.0000.0150.0002.1948] # LIMBU DIGIT TWO
+19D2  ; [.15E7.0020.0002.19D2][.0000.0151.0002.19D2] # NEW TAI LUE DIGIT TWO
+1A82  ; [.15E7.0020.0002.1A82][.0000.0152.0002.1A82] # TAI THAM HORA DIGIT TWO
+1A92  ; [.15E7.0020.0002.1A92][.0000.0153.0002.1A92] # TAI THAM THAM DIGIT TWO
+0E52  ; [.15E7.0020.0002.0E52][.0000.0154.0002.0E52] # THAI DIGIT TWO
+0ED2  ; [.15E7.0020.0002.0ED2][.0000.0155.0002.0ED2] # LAO DIGIT TWO
+0F22  ; [.15E7.0020.0002.0F22][.0000.0156.0002.0F22] # TIBETAN DIGIT TWO
+0F2B  ; [.15E7.0020.0004.0F2B][.0000.0156.0004.0F2B] # TIBETAN DIGIT HALF TWO
+1C42  ; [.15E7.0020.0002.1C42][.0000.0157.0002.1C42] # LEPCHA DIGIT TWO
+A902  ; [.15E7.0020.0002.A902][.0000.0158.0002.A902] # KAYAH LI DIGIT TWO
+1042  ; [.15E7.0020.0002.1042][.0000.0159.0002.1042] # MYANMAR DIGIT TWO
+1092  ; [.15E7.0020.0002.1092][.0000.015A.0002.1092] # MYANMAR SHAN DIGIT TWO
+11138 ; [.15E7.0020.0002.11138][.0000.015B.0002.11138] # CHAKMA DIGIT TWO
+17E2  ; [.15E7.0020.0002.17E2][.0000.015C.0002.17E2] # KHMER DIGIT TWO
+17F2  ; [.15E7.0020.0002.17F2][.0000.015D.0002.17F2] # KHMER SYMBOL LEK ATTAK PII
+AA52  ; [.15E7.0020.0002.AA52][.0000.015E.0002.AA52] # CHAM DIGIT TWO
+1B52  ; [.15E7.0020.0002.1B52][.0000.015F.0002.1B52] # BALINESE DIGIT TWO
+A9D2  ; [.15E7.0020.0002.A9D2][.0000.0160.0002.A9D2] # JAVANESE DIGIT TWO
+1BB2  ; [.15E7.0020.0002.1BB2][.0000.0161.0002.1BB2] # SUNDANESE DIGIT TWO
+1812  ; [.15E7.0020.0002.1812][.0000.0162.0002.1812] # MONGOLIAN DIGIT TWO
+1C52  ; [.15E7.0020.0002.1C52][.0000.0163.0002.1C52] # OL CHIKI DIGIT TWO
+A622  ; [.15E7.0020.0002.A622][.0000.0164.0002.A622] # VAI DIGIT TWO
+110F2 ; [.15E7.0020.0002.110F2][.0000.0165.0002.110F2] # SORA SOMPENG DIGIT TWO
+3022  ; [.15E7.0020.0002.3022][.0000.0166.0002.3022] # HANGZHOU NUMERAL TWO
+10108 ; [.15E7.0020.0002.10108][.0000.0167.0002.10108] # AEGEAN NUMBER TWO
+1015B ; [.15E7.0020.0002.1015B][.0000.0168.0002.1015B] # GREEK ACROPHONIC EPIDAUREAN TWO
+1015C ; [.15E7.0020.0002.1015C][.0000.0168.0002.1015C] # GREEK ACROPHONIC THESPIAN TWO
+1015D ; [.15E7.0020.0002.1015D][.0000.0168.0002.1015D] # GREEK ACROPHONIC CYRENAIC TWO DRACHMAS
+1015E ; [.15E7.0020.0002.1015E][.0000.0168.0002.1015E] # GREEK ACROPHONIC EPIDAUREAN TWO DRACHMAS
+103D2 ; [.15E7.0020.0002.103D2][.0000.016B.0002.103D2] # OLD PERSIAN NUMBER TWO
+12400 ; [.15E7.0020.0002.12400][.0000.016C.0002.12400] # CUNEIFORM NUMERIC SIGN TWO ASH
+12416 ; [.15E7.0020.0002.12416][.0000.016C.0002.12416] # CUNEIFORM NUMERIC SIGN TWO GESH2
+1241F ; [.15E7.0020.0002.1241F][.0000.016C.0002.1241F] # CUNEIFORM NUMERIC SIGN TWO GESHU
+12423 ; [.15E7.0020.0002.12423][.0000.016C.0002.12423] # CUNEIFORM NUMERIC SIGN TWO SHAR2
+1242D ; [.15E7.0020.0002.1242D][.0000.016C.0002.1242D] # CUNEIFORM NUMERIC SIGN TWO SHARU
+12435 ; [.15E7.0020.0002.12435][.0000.016C.0002.12435] # CUNEIFORM NUMERIC SIGN TWO BURU
+1244A ; [.15E7.0020.0002.1244A][.0000.016C.0002.1244A] # CUNEIFORM NUMERIC SIGN TWO ASH TENU
+12450 ; [.15E7.0020.0002.12450][.0000.016C.0002.12450] # CUNEIFORM NUMERIC SIGN TWO BAN2
+12459 ; [.15E7.0020.0002.12459][.0000.016C.0002.12459] # CUNEIFORM NUMERIC SIGN TWO ESHE3
+1091A ; [.15E7.0020.0002.1091A][.0000.016E.0002.1091A] # PHOENICIAN NUMBER TWO
+10859 ; [.15E7.0020.0002.10859][.0000.016F.0002.10859] # IMPERIAL ARAMAIC NUMBER TWO
+10B59 ; [.15E7.0020.0002.10B59][.0000.0170.0002.10B59] # INSCRIPTIONAL PARTHIAN NUMBER TWO
+10B79 ; [.15E7.0020.0002.10B79][.0000.0171.0002.10B79] # INSCRIPTIONAL PAHLAVI NUMBER TWO
+111D2 ; [.15E7.0020.0002.111D2][.0000.0172.0002.111D2] # SHARADA DIGIT TWO
+116C2 ; [.15E7.0020.0002.116C2][.0000.0173.0002.116C2] # TAKRI DIGIT TWO
+11068 ; [.15E7.0020.0002.11068][.0000.0174.0002.11068] # BRAHMI DIGIT TWO
+11053 ; [.15E7.0020.0002.11053][.0000.0175.0002.11053] # BRAHMI NUMBER TWO
+10A41 ; [.15E7.0020.0002.10A41][.0000.0176.0002.10A41] # KHAROSHTHI DIGIT TWO
+1D361 ; [.15E7.0020.0002.1D361][.0000.0177.0002.1D361] # COUNTING ROD UNIT DIGIT TWO
+2487  ; [*02FB.0020.0004.2487][.15E7.0020.0004.2487][.15E5.0020.0004.2487][*02FC.0020.001F.2487] # PARENTHESIZED NUMBER TWENTY
+249B  ; [.15E7.0020.0004.249B][.15E5.0020.0004.249B][*0273.0020.001F.249B] # NUMBER TWENTY FULL STOP
+2473  ; [.15E7.0020.0006.2473][.15E5.0020.0006.2473] # CIRCLED NUMBER TWENTY
+24F4  ; [.15E7.0020.0006.24F4][.15E5.0020.0006.24F4] # NEGATIVE CIRCLED NUMBER TWENTY
+3249  ; [.15E7.0020.0006.3249][.15E5.0020.0006.3249] # CIRCLED NUMBER TWENTY ON BLACK SQUARE
+33F3  ; [.15E7.0020.0004.33F3][.15E5.0020.0004.33F3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY
+336C  ; [.15E7.0020.0004.336C][.15E5.0020.0004.336C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY
+3251  ; [.15E7.0020.0006.3251][.15E6.0020.0006.3251] # CIRCLED NUMBER TWENTY ONE
+33F4  ; [.15E7.0020.0004.33F4][.15E6.0020.0004.33F4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE
+336D  ; [.15E7.0020.0004.336D][.15E6.0020.0004.336D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE
+3252  ; [.15E7.0020.0006.3252][.15E7.0020.0006.3252] # CIRCLED NUMBER TWENTY TWO
+33F5  ; [.15E7.0020.0004.33F5][.15E7.0020.0004.33F5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO
+336E  ; [.15E7.0020.0004.336E][.15E7.0020.0004.336E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO
+3253  ; [.15E7.0020.0006.3253][.15E8.0020.0006.3253] # CIRCLED NUMBER TWENTY THREE
+2154  ; [.15E7.0020.001E.2154][*05AC.0020.001E.2154][.15E8.0020.001E.2154] # VULGAR FRACTION TWO THIRDS
+33F6  ; [.15E7.0020.0004.33F6][.15E8.0020.0004.33F6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE
+336F  ; [.15E7.0020.0004.336F][.15E8.0020.0004.336F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE
+3254  ; [.15E7.0020.0006.3254][.15E9.0020.0006.3254] # CIRCLED NUMBER TWENTY FOUR
+33F7  ; [.15E7.0020.0004.33F7][.15E9.0020.0004.33F7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR
+3370  ; [.15E7.0020.0004.3370][.15E9.0020.0004.3370][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR
+3255  ; [.15E7.0020.0006.3255][.15EA.0020.0006.3255] # CIRCLED NUMBER TWENTY FIVE
+2156  ; [.15E7.0020.001E.2156][*05AC.0020.001E.2156][.15EA.0020.001E.2156] # VULGAR FRACTION TWO FIFTHS
+33F8  ; [.15E7.0020.0004.33F8][.15EA.0020.0004.33F8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE
+3256  ; [.15E7.0020.0006.3256][.15EB.0020.0006.3256] # CIRCLED NUMBER TWENTY SIX
+33F9  ; [.15E7.0020.0004.33F9][.15EB.0020.0004.33F9][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX
+3257  ; [.15E7.0020.0006.3257][.15EC.0020.0006.3257] # CIRCLED NUMBER TWENTY SEVEN
+33FA  ; [.15E7.0020.0004.33FA][.15EC.0020.0004.33FA][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN
+3258  ; [.15E7.0020.0006.3258][.15ED.0020.0006.3258] # CIRCLED NUMBER TWENTY EIGHT
+33FB  ; [.15E7.0020.0004.33FB][.15ED.0020.0004.33FB][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT
+3259  ; [.15E7.0020.0006.3259][.15EE.0020.0006.3259] # CIRCLED NUMBER TWENTY NINE
+33FC  ; [.15E7.0020.0004.33FC][.15EE.0020.0004.33FC][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE
+33E1  ; [.15E7.0020.0004.33E1][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO
+32C1  ; [.15E7.0020.0004.32C1][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY
+335A  ; [.15E7.0020.0004.335A][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO
+0033  ; [.15E8.0020.0002.0033] # DIGIT THREE
+FF13  ; [.15E8.0020.0003.FF13] # FULLWIDTH DIGIT THREE
+2476  ; [*02FB.0020.0004.2476][.15E8.0020.0004.2476][*02FC.0020.001F.2476] # PARENTHESIZED DIGIT THREE
+248A  ; [.15E8.0020.0004.248A][*0273.0020.001F.248A] # DIGIT THREE FULL STOP
+1F104 ; [.15E8.0020.0004.1F104][*0221.0020.001F.1F104] # DIGIT THREE COMMA
+1D7D1 ; [.15E8.0020.0005.1D7D1] # MATHEMATICAL BOLD DIGIT THREE
+1D7DB ; [.15E8.0020.0005.1D7DB] # MATHEMATICAL DOUBLE-STRUCK DIGIT THREE
+1D7E5 ; [.15E8.0020.0005.1D7E5] # MATHEMATICAL SANS-SERIF DIGIT THREE
+1D7EF ; [.15E8.0020.0005.1D7EF] # MATHEMATICAL SANS-SERIF BOLD DIGIT THREE
+1D7F9 ; [.15E8.0020.0005.1D7F9] # MATHEMATICAL MONOSPACE DIGIT THREE
+2462  ; [.15E8.0020.0006.2462] # CIRCLED DIGIT THREE
+24F7  ; [.15E8.0020.0006.24F7] # DOUBLE CIRCLED DIGIT THREE
+2778  ; [.15E8.0020.0006.2778] # DINGBAT NEGATIVE CIRCLED DIGIT THREE
+2782  ; [.15E8.0020.0006.2782] # DINGBAT CIRCLED SANS-SERIF DIGIT THREE
+278C  ; [.15E8.0020.0006.278C] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE
+00B3  ; [.15E8.0020.0014.00B3] # SUPERSCRIPT THREE
+2083  ; [.15E8.0020.0015.2083] # SUBSCRIPT THREE
+0663  ; [.15E8.0020.0002.0663][.0000.013F.0002.0663] # ARABIC-INDIC DIGIT THREE
+06F3  ; [.15E8.0020.0002.06F3][.0000.0140.0002.06F3] # EXTENDED ARABIC-INDIC DIGIT THREE
+10E62 ; [.15E8.0020.0002.10E62][.0000.0141.0002.10E62] # RUMI DIGIT THREE
+07C3  ; [.15E8.0020.0002.07C3][.0000.0142.0002.07C3] # NKO DIGIT THREE
+136B  ; [.15E8.0020.0002.136B][.0000.0143.0002.136B] # ETHIOPIC DIGIT THREE
+104A3 ; [.15E8.0020.0002.104A3][.0000.0144.0002.104A3] # OSMANYA DIGIT THREE
+0969  ; [.15E8.0020.0002.0969][.0000.0145.0002.0969] # DEVANAGARI DIGIT THREE
+09E9  ; [.15E8.0020.0002.09E9][.0000.0146.0002.09E9] # BENGALI DIGIT THREE
+0A69  ; [.15E8.0020.0002.0A69][.0000.0147.0002.0A69] # GURMUKHI DIGIT THREE
+0AE9  ; [.15E8.0020.0002.0AE9][.0000.0148.0002.0AE9] # GUJARATI DIGIT THREE
+0B69  ; [.15E8.0020.0002.0B69][.0000.0149.0002.0B69] # ORIYA DIGIT THREE
+0BE9  ; [.15E8.0020.0002.0BE9][.0000.014A.0002.0BE9] # TAMIL DIGIT THREE
+0C69  ; [.15E8.0020.0002.0C69][.0000.014B.0002.0C69] # TELUGU DIGIT THREE
+0C7B  ; [.15E8.0020.0002.0C7B][.0000.014B.0002.0C7B] # TELUGU FRACTION DIGIT THREE FOR ODD POWERS OF FOUR
+0C7E  ; [.15E8.0020.0002.0C7E][.0000.014B.0002.0C7E] # TELUGU FRACTION DIGIT THREE FOR EVEN POWERS OF FOUR
+0CE9  ; [.15E8.0020.0002.0CE9][.0000.014C.0002.0CE9] # KANNADA DIGIT THREE
+0D69  ; [.15E8.0020.0002.0D69][.0000.014D.0002.0D69] # MALAYALAM DIGIT THREE
+ABF3  ; [.15E8.0020.0002.ABF3][.0000.014E.0002.ABF3] # MEETEI MAYEK DIGIT THREE
+A8D3  ; [.15E8.0020.0002.A8D3][.0000.014F.0002.A8D3] # SAURASHTRA DIGIT THREE
+1949  ; [.15E8.0020.0002.1949][.0000.0150.0002.1949] # LIMBU DIGIT THREE
+19D3  ; [.15E8.0020.0002.19D3][.0000.0151.0002.19D3] # NEW TAI LUE DIGIT THREE
+1A83  ; [.15E8.0020.0002.1A83][.0000.0152.0002.1A83] # TAI THAM HORA DIGIT THREE
+1A93  ; [.15E8.0020.0002.1A93][.0000.0153.0002.1A93] # TAI THAM THAM DIGIT THREE
+0E53  ; [.15E8.0020.0002.0E53][.0000.0154.0002.0E53] # THAI DIGIT THREE
+0ED3  ; [.15E8.0020.0002.0ED3][.0000.0155.0002.0ED3] # LAO DIGIT THREE
+0F23  ; [.15E8.0020.0002.0F23][.0000.0156.0002.0F23] # TIBETAN DIGIT THREE
+0F2C  ; [.15E8.0020.0004.0F2C][.0000.0156.0004.0F2C] # TIBETAN DIGIT HALF THREE
+1C43  ; [.15E8.0020.0002.1C43][.0000.0157.0002.1C43] # LEPCHA DIGIT THREE
+A903  ; [.15E8.0020.0002.A903][.0000.0158.0002.A903] # KAYAH LI DIGIT THREE
+1043  ; [.15E8.0020.0002.1043][.0000.0159.0002.1043] # MYANMAR DIGIT THREE
+1093  ; [.15E8.0020.0002.1093][.0000.015A.0002.1093] # MYANMAR SHAN DIGIT THREE
+11139 ; [.15E8.0020.0002.11139][.0000.015B.0002.11139] # CHAKMA DIGIT THREE
+17E3  ; [.15E8.0020.0002.17E3][.0000.015C.0002.17E3] # KHMER DIGIT THREE
+17F3  ; [.15E8.0020.0002.17F3][.0000.015D.0002.17F3] # KHMER SYMBOL LEK ATTAK BEI
+AA53  ; [.15E8.0020.0002.AA53][.0000.015E.0002.AA53] # CHAM DIGIT THREE
+1B53  ; [.15E8.0020.0002.1B53][.0000.015F.0002.1B53] # BALINESE DIGIT THREE
+A9D3  ; [.15E8.0020.0002.A9D3][.0000.0160.0002.A9D3] # JAVANESE DIGIT THREE
+1BB3  ; [.15E8.0020.0002.1BB3][.0000.0161.0002.1BB3] # SUNDANESE DIGIT THREE
+1813  ; [.15E8.0020.0002.1813][.0000.0162.0002.1813] # MONGOLIAN DIGIT THREE
+1C53  ; [.15E8.0020.0002.1C53][.0000.0163.0002.1C53] # OL CHIKI DIGIT THREE
+A623  ; [.15E8.0020.0002.A623][.0000.0164.0002.A623] # VAI DIGIT THREE
+110F3 ; [.15E8.0020.0002.110F3][.0000.0165.0002.110F3] # SORA SOMPENG DIGIT THREE
+3023  ; [.15E8.0020.0002.3023][.0000.0166.0002.3023] # HANGZHOU NUMERAL THREE
+10109 ; [.15E8.0020.0002.10109][.0000.0167.0002.10109] # AEGEAN NUMBER THREE
+12401 ; [.15E8.0020.0002.12401][.0000.016C.0002.12401] # CUNEIFORM NUMERIC SIGN THREE ASH
+12408 ; [.15E8.0020.0002.12408][.0000.016C.0002.12408] # CUNEIFORM NUMERIC SIGN THREE DISH
+12417 ; [.15E8.0020.0002.12417][.0000.016C.0002.12417] # CUNEIFORM NUMERIC SIGN THREE GESH2
+12420 ; [.15E8.0020.0002.12420][.0000.016C.0002.12420] # CUNEIFORM NUMERIC SIGN THREE GESHU
+12424 ; [.15E8.0020.0002.12424][.0000.016C.0002.12424] # CUNEIFORM NUMERIC SIGN THREE SHAR2
+12425 ; [.15E8.0020.0002.12425][.0000.016C.0002.12425] # CUNEIFORM NUMERIC SIGN THREE SHAR2 VARIANT FORM
+1242E ; [.15E8.0020.0002.1242E][.0000.016C.0002.1242E] # CUNEIFORM NUMERIC SIGN THREE SHARU
+1242F ; [.15E8.0020.0002.1242F][.0000.016C.0002.1242F] # CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM
+12436 ; [.15E8.0020.0002.12436][.0000.016C.0002.12436] # CUNEIFORM NUMERIC SIGN THREE BURU
+12437 ; [.15E8.0020.0002.12437][.0000.016C.0002.12437] # CUNEIFORM NUMERIC SIGN THREE BURU VARIANT FORM
+1243A ; [.15E8.0020.0002.1243A][.0000.016C.0002.1243A] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH16
+1243B ; [.15E8.0020.0002.1243B][.0000.016C.0002.1243B] # CUNEIFORM NUMERIC SIGN THREE VARIANT FORM ESH21
+1244B ; [.15E8.0020.0002.1244B][.0000.016C.0002.1244B] # CUNEIFORM NUMERIC SIGN THREE ASH TENU
+12451 ; [.15E8.0020.0002.12451][.0000.016C.0002.12451] # CUNEIFORM NUMERIC SIGN THREE BAN2
+1091B ; [.15E8.0020.0002.1091B][.0000.016E.0002.1091B] # PHOENICIAN NUMBER THREE
+1085A ; [.15E8.0020.0002.1085A][.0000.016F.0002.1085A] # IMPERIAL ARAMAIC NUMBER THREE
+10B5A ; [.15E8.0020.0002.10B5A][.0000.0170.0002.10B5A] # INSCRIPTIONAL PARTHIAN NUMBER THREE
+10B7A ; [.15E8.0020.0002.10B7A][.0000.0171.0002.10B7A] # INSCRIPTIONAL PAHLAVI NUMBER THREE
+111D3 ; [.15E8.0020.0002.111D3][.0000.0172.0002.111D3] # SHARADA DIGIT THREE
+116C3 ; [.15E8.0020.0002.116C3][.0000.0173.0002.116C3] # TAKRI DIGIT THREE
+11069 ; [.15E8.0020.0002.11069][.0000.0174.0002.11069] # BRAHMI DIGIT THREE
+11054 ; [.15E8.0020.0002.11054][.0000.0175.0002.11054] # BRAHMI NUMBER THREE
+10A42 ; [.15E8.0020.0002.10A42][.0000.0176.0002.10A42] # KHAROSHTHI DIGIT THREE
+1D362 ; [.15E8.0020.0002.1D362][.0000.0177.0002.1D362] # COUNTING ROD UNIT DIGIT THREE
+324A  ; [.15E8.0020.0006.324A][.15E5.0020.0006.324A] # CIRCLED NUMBER THIRTY ON BLACK SQUARE
+325A  ; [.15E8.0020.0006.325A][.15E5.0020.0006.325A] # CIRCLED NUMBER THIRTY
+33FD  ; [.15E8.0020.0004.33FD][.15E5.0020.0004.33FD][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY
+325B  ; [.15E8.0020.0006.325B][.15E6.0020.0006.325B] # CIRCLED NUMBER THIRTY ONE
+33FE  ; [.15E8.0020.0004.33FE][.15E6.0020.0004.33FE][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE
+325C  ; [.15E8.0020.0006.325C][.15E7.0020.0006.325C] # CIRCLED NUMBER THIRTY TWO
+325D  ; [.15E8.0020.0006.325D][.15E8.0020.0006.325D] # CIRCLED NUMBER THIRTY THREE
+325E  ; [.15E8.0020.0006.325E][.15E9.0020.0006.325E] # CIRCLED NUMBER THIRTY FOUR
+00BE  ; [.15E8.0020.001E.00BE][*05AC.0020.001E.00BE][.15E9.0020.001E.00BE] # VULGAR FRACTION THREE QUARTERS
+325F  ; [.15E8.0020.0006.325F][.15EA.0020.0006.325F] # CIRCLED NUMBER THIRTY FIVE
+2157  ; [.15E8.0020.001E.2157][*05AC.0020.001E.2157][.15EA.0020.001E.2157] # VULGAR FRACTION THREE FIFTHS
+32B1  ; [.15E8.0020.0006.32B1][.15EB.0020.0006.32B1] # CIRCLED NUMBER THIRTY SIX
+32B2  ; [.15E8.0020.0006.32B2][.15EC.0020.0006.32B2] # CIRCLED NUMBER THIRTY SEVEN
+32B3  ; [.15E8.0020.0006.32B3][.15ED.0020.0006.32B3] # CIRCLED NUMBER THIRTY EIGHT
+215C  ; [.15E8.0020.001E.215C][*05AC.0020.001E.215C][.15ED.0020.001E.215C] # VULGAR FRACTION THREE EIGHTHS
+32B4  ; [.15E8.0020.0006.32B4][.15EE.0020.0006.32B4] # CIRCLED NUMBER THIRTY NINE
+33E2  ; [.15E8.0020.0004.33E2][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE
+32C2  ; [.15E8.0020.0004.32C2][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH
+335B  ; [.15E8.0020.0004.335B][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE
+0034  ; [.15E9.0020.0002.0034] # DIGIT FOUR
+FF14  ; [.15E9.0020.0003.FF14] # FULLWIDTH DIGIT FOUR
+2477  ; [*02FB.0020.0004.2477][.15E9.0020.0004.2477][*02FC.0020.001F.2477] # PARENTHESIZED DIGIT FOUR
+248B  ; [.15E9.0020.0004.248B][*0273.0020.001F.248B] # DIGIT FOUR FULL STOP
+1F105 ; [.15E9.0020.0004.1F105][*0221.0020.001F.1F105] # DIGIT FOUR COMMA
+1D7D2 ; [.15E9.0020.0005.1D7D2] # MATHEMATICAL BOLD DIGIT FOUR
+1D7DC ; [.15E9.0020.0005.1D7DC] # MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR
+1D7E6 ; [.15E9.0020.0005.1D7E6] # MATHEMATICAL SANS-SERIF DIGIT FOUR
+1D7F0 ; [.15E9.0020.0005.1D7F0] # MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR
+1D7FA ; [.15E9.0020.0005.1D7FA] # MATHEMATICAL MONOSPACE DIGIT FOUR
+2463  ; [.15E9.0020.0006.2463] # CIRCLED DIGIT FOUR
+24F8  ; [.15E9.0020.0006.24F8] # DOUBLE CIRCLED DIGIT FOUR
+2779  ; [.15E9.0020.0006.2779] # DINGBAT NEGATIVE CIRCLED DIGIT FOUR
+2783  ; [.15E9.0020.0006.2783] # DINGBAT CIRCLED SANS-SERIF DIGIT FOUR
+278D  ; [.15E9.0020.0006.278D] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR
+2074  ; [.15E9.0020.0014.2074] # SUPERSCRIPT FOUR
+2084  ; [.15E9.0020.0015.2084] # SUBSCRIPT FOUR
+0664  ; [.15E9.0020.0002.0664][.0000.013F.0002.0664] # ARABIC-INDIC DIGIT FOUR
+06F4  ; [.15E9.0020.0002.06F4][.0000.0140.0002.06F4] # EXTENDED ARABIC-INDIC DIGIT FOUR
+10E63 ; [.15E9.0020.0002.10E63][.0000.0141.0002.10E63] # RUMI DIGIT FOUR
+07C4  ; [.15E9.0020.0002.07C4][.0000.0142.0002.07C4] # NKO DIGIT FOUR
+136C  ; [.15E9.0020.0002.136C][.0000.0143.0002.136C] # ETHIOPIC DIGIT FOUR
+104A4 ; [.15E9.0020.0002.104A4][.0000.0144.0002.104A4] # OSMANYA DIGIT FOUR
+096A  ; [.15E9.0020.0002.096A][.0000.0145.0002.096A] # DEVANAGARI DIGIT FOUR
+09EA  ; [.15E9.0020.0002.09EA][.0000.0146.0002.09EA] # BENGALI DIGIT FOUR
+0A6A  ; [.15E9.0020.0002.0A6A][.0000.0147.0002.0A6A] # GURMUKHI DIGIT FOUR
+0AEA  ; [.15E9.0020.0002.0AEA][.0000.0148.0002.0AEA] # GUJARATI DIGIT FOUR
+0B6A  ; [.15E9.0020.0002.0B6A][.0000.0149.0002.0B6A] # ORIYA DIGIT FOUR
+0BEA  ; [.15E9.0020.0002.0BEA][.0000.014A.0002.0BEA] # TAMIL DIGIT FOUR
+0C6A  ; [.15E9.0020.0002.0C6A][.0000.014B.0002.0C6A] # TELUGU DIGIT FOUR
+0CEA  ; [.15E9.0020.0002.0CEA][.0000.014C.0002.0CEA] # KANNADA DIGIT FOUR
+0D6A  ; [.15E9.0020.0002.0D6A][.0000.014D.0002.0D6A] # MALAYALAM DIGIT FOUR
+ABF4  ; [.15E9.0020.0002.ABF4][.0000.014E.0002.ABF4] # MEETEI MAYEK DIGIT FOUR
+A8D4  ; [.15E9.0020.0002.A8D4][.0000.014F.0002.A8D4] # SAURASHTRA DIGIT FOUR
+194A  ; [.15E9.0020.0002.194A][.0000.0150.0002.194A] # LIMBU DIGIT FOUR
+19D4  ; [.15E9.0020.0002.19D4][.0000.0151.0002.19D4] # NEW TAI LUE DIGIT FOUR
+1A84  ; [.15E9.0020.0002.1A84][.0000.0152.0002.1A84] # TAI THAM HORA DIGIT FOUR
+1A94  ; [.15E9.0020.0002.1A94][.0000.0153.0002.1A94] # TAI THAM THAM DIGIT FOUR
+0E54  ; [.15E9.0020.0002.0E54][.0000.0154.0002.0E54] # THAI DIGIT FOUR
+0ED4  ; [.15E9.0020.0002.0ED4][.0000.0155.0002.0ED4] # LAO DIGIT FOUR
+0F24  ; [.15E9.0020.0002.0F24][.0000.0156.0002.0F24] # TIBETAN DIGIT FOUR
+0F2D  ; [.15E9.0020.0004.0F2D][.0000.0156.0004.0F2D] # TIBETAN DIGIT HALF FOUR
+1C44  ; [.15E9.0020.0002.1C44][.0000.0157.0002.1C44] # LEPCHA DIGIT FOUR
+A904  ; [.15E9.0020.0002.A904][.0000.0158.0002.A904] # KAYAH LI DIGIT FOUR
+1044  ; [.15E9.0020.0002.1044][.0000.0159.0002.1044] # MYANMAR DIGIT FOUR
+1094  ; [.15E9.0020.0002.1094][.0000.015A.0002.1094] # MYANMAR SHAN DIGIT FOUR
+1113A ; [.15E9.0020.0002.1113A][.0000.015B.0002.1113A] # CHAKMA DIGIT FOUR
+17E4  ; [.15E9.0020.0002.17E4][.0000.015C.0002.17E4] # KHMER DIGIT FOUR
+17F4  ; [.15E9.0020.0002.17F4][.0000.015D.0002.17F4] # KHMER SYMBOL LEK ATTAK BUON
+AA54  ; [.15E9.0020.0002.AA54][.0000.015E.0002.AA54] # CHAM DIGIT FOUR
+1B54  ; [.15E9.0020.0002.1B54][.0000.015F.0002.1B54] # BALINESE DIGIT FOUR
+A9D4  ; [.15E9.0020.0002.A9D4][.0000.0160.0002.A9D4] # JAVANESE DIGIT FOUR
+1BB4  ; [.15E9.0020.0002.1BB4][.0000.0161.0002.1BB4] # SUNDANESE DIGIT FOUR
+1814  ; [.15E9.0020.0002.1814][.0000.0162.0002.1814] # MONGOLIAN DIGIT FOUR
+1C54  ; [.15E9.0020.0002.1C54][.0000.0163.0002.1C54] # OL CHIKI DIGIT FOUR
+A624  ; [.15E9.0020.0002.A624][.0000.0164.0002.A624] # VAI DIGIT FOUR
+110F4 ; [.15E9.0020.0002.110F4][.0000.0165.0002.110F4] # SORA SOMPENG DIGIT FOUR
+3024  ; [.15E9.0020.0002.3024][.0000.0166.0002.3024] # HANGZHOU NUMERAL FOUR
+1010A ; [.15E9.0020.0002.1010A][.0000.0167.0002.1010A] # AEGEAN NUMBER FOUR
+12402 ; [.15E9.0020.0002.12402][.0000.016C.0002.12402] # CUNEIFORM NUMERIC SIGN FOUR ASH
+12409 ; [.15E9.0020.0002.12409][.0000.016C.0002.12409] # CUNEIFORM NUMERIC SIGN FOUR DISH
+1240F ; [.15E9.0020.0002.1240F][.0000.016C.0002.1240F] # CUNEIFORM NUMERIC SIGN FOUR U
+12418 ; [.15E9.0020.0002.12418][.0000.016C.0002.12418] # CUNEIFORM NUMERIC SIGN FOUR GESH2
+12421 ; [.15E9.0020.0002.12421][.0000.016C.0002.12421] # CUNEIFORM NUMERIC SIGN FOUR GESHU
+12426 ; [.15E9.0020.0002.12426][.0000.016C.0002.12426] # CUNEIFORM NUMERIC SIGN FOUR SHAR2
+12430 ; [.15E9.0020.0002.12430][.0000.016C.0002.12430] # CUNEIFORM NUMERIC SIGN FOUR SHARU
+12438 ; [.15E9.0020.0002.12438][.0000.016C.0002.12438] # CUNEIFORM NUMERIC SIGN FOUR BURU
+1243C ; [.15E9.0020.0002.1243C][.0000.016C.0002.1243C] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU
+1243D ; [.15E9.0020.0002.1243D][.0000.016C.0002.1243D] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU4
+1243E ; [.15E9.0020.0002.1243E][.0000.016C.0002.1243E] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU A
+1243F ; [.15E9.0020.0002.1243F][.0000.016C.0002.1243F] # CUNEIFORM NUMERIC SIGN FOUR VARIANT FORM LIMMU B
+1244C ; [.15E9.0020.0002.1244C][.0000.016C.0002.1244C] # CUNEIFORM NUMERIC SIGN FOUR ASH TENU
+12452 ; [.15E9.0020.0002.12452][.0000.016C.0002.12452] # CUNEIFORM NUMERIC SIGN FOUR BAN2
+12453 ; [.15E9.0020.0002.12453][.0000.016C.0002.12453] # CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM
+10B5B ; [.15E9.0020.0002.10B5B][.0000.0170.0002.10B5B] # INSCRIPTIONAL PARTHIAN NUMBER FOUR
+10B7B ; [.15E9.0020.0002.10B7B][.0000.0171.0002.10B7B] # INSCRIPTIONAL PAHLAVI NUMBER FOUR
+111D4 ; [.15E9.0020.0002.111D4][.0000.0172.0002.111D4] # SHARADA DIGIT FOUR
+116C4 ; [.15E9.0020.0002.116C4][.0000.0173.0002.116C4] # TAKRI DIGIT FOUR
+1106A ; [.15E9.0020.0002.1106A][.0000.0174.0002.1106A] # BRAHMI DIGIT FOUR
+11055 ; [.15E9.0020.0002.11055][.0000.0175.0002.11055] # BRAHMI NUMBER FOUR
+10A43 ; [.15E9.0020.0002.10A43][.0000.0176.0002.10A43] # KHAROSHTHI DIGIT FOUR
+1D363 ; [.15E9.0020.0002.1D363][.0000.0177.0002.1D363] # COUNTING ROD UNIT DIGIT FOUR
+324B  ; [.15E9.0020.0006.324B][.15E5.0020.0006.324B] # CIRCLED NUMBER FORTY ON BLACK SQUARE
+32B5  ; [.15E9.0020.0006.32B5][.15E5.0020.0006.32B5] # CIRCLED NUMBER FORTY
+32B6  ; [.15E9.0020.0006.32B6][.15E6.0020.0006.32B6] # CIRCLED NUMBER FORTY ONE
+32B7  ; [.15E9.0020.0006.32B7][.15E7.0020.0006.32B7] # CIRCLED NUMBER FORTY TWO
+32B8  ; [.15E9.0020.0006.32B8][.15E8.0020.0006.32B8] # CIRCLED NUMBER FORTY THREE
+32B9  ; [.15E9.0020.0006.32B9][.15E9.0020.0006.32B9] # CIRCLED NUMBER FORTY FOUR
+32BA  ; [.15E9.0020.0006.32BA][.15EA.0020.0006.32BA] # CIRCLED NUMBER FORTY FIVE
+2158  ; [.15E9.0020.001E.2158][*05AC.0020.001E.2158][.15EA.0020.001E.2158] # VULGAR FRACTION FOUR FIFTHS
+32BB  ; [.15E9.0020.0006.32BB][.15EB.0020.0006.32BB] # CIRCLED NUMBER FORTY SIX
+32BC  ; [.15E9.0020.0006.32BC][.15EC.0020.0006.32BC] # CIRCLED NUMBER FORTY SEVEN
+32BD  ; [.15E9.0020.0006.32BD][.15ED.0020.0006.32BD] # CIRCLED NUMBER FORTY EIGHT
+32BE  ; [.15E9.0020.0006.32BE][.15EE.0020.0006.32BE] # CIRCLED NUMBER FORTY NINE
+33E3  ; [.15E9.0020.0004.33E3][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR
+32C3  ; [.15E9.0020.0004.32C3][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL
+335C  ; [.15E9.0020.0004.335C][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR
+0035  ; [.15EA.0020.0002.0035] # DIGIT FIVE
+FF15  ; [.15EA.0020.0003.FF15] # FULLWIDTH DIGIT FIVE
+2478  ; [*02FB.0020.0004.2478][.15EA.0020.0004.2478][*02FC.0020.001F.2478] # PARENTHESIZED DIGIT FIVE
+248C  ; [.15EA.0020.0004.248C][*0273.0020.001F.248C] # DIGIT FIVE FULL STOP
+1F106 ; [.15EA.0020.0004.1F106][*0221.0020.001F.1F106] # DIGIT FIVE COMMA
+1D7D3 ; [.15EA.0020.0005.1D7D3] # MATHEMATICAL BOLD DIGIT FIVE
+1D7DD ; [.15EA.0020.0005.1D7DD] # MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE
+1D7E7 ; [.15EA.0020.0005.1D7E7] # MATHEMATICAL SANS-SERIF DIGIT FIVE
+1D7F1 ; [.15EA.0020.0005.1D7F1] # MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE
+1D7FB ; [.15EA.0020.0005.1D7FB] # MATHEMATICAL MONOSPACE DIGIT FIVE
+2464  ; [.15EA.0020.0006.2464] # CIRCLED DIGIT FIVE
+24F9  ; [.15EA.0020.0006.24F9] # DOUBLE CIRCLED DIGIT FIVE
+277A  ; [.15EA.0020.0006.277A] # DINGBAT NEGATIVE CIRCLED DIGIT FIVE
+2784  ; [.15EA.0020.0006.2784] # DINGBAT CIRCLED SANS-SERIF DIGIT FIVE
+278E  ; [.15EA.0020.0006.278E] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE
+2075  ; [.15EA.0020.0014.2075] # SUPERSCRIPT FIVE
+2085  ; [.15EA.0020.0015.2085] # SUBSCRIPT FIVE
+0665  ; [.15EA.0020.0002.0665][.0000.013F.0002.0665] # ARABIC-INDIC DIGIT FIVE
+06F5  ; [.15EA.0020.0002.06F5][.0000.0140.0002.06F5] # EXTENDED ARABIC-INDIC DIGIT FIVE
+10E64 ; [.15EA.0020.0002.10E64][.0000.0141.0002.10E64] # RUMI DIGIT FIVE
+07C5  ; [.15EA.0020.0002.07C5][.0000.0142.0002.07C5] # NKO DIGIT FIVE
+136D  ; [.15EA.0020.0002.136D][.0000.0143.0002.136D] # ETHIOPIC DIGIT FIVE
+104A5 ; [.15EA.0020.0002.104A5][.0000.0144.0002.104A5] # OSMANYA DIGIT FIVE
+096B  ; [.15EA.0020.0002.096B][.0000.0145.0002.096B] # DEVANAGARI DIGIT FIVE
+09EB  ; [.15EA.0020.0002.09EB][.0000.0146.0002.09EB] # BENGALI DIGIT FIVE
+0A6B  ; [.15EA.0020.0002.0A6B][.0000.0147.0002.0A6B] # GURMUKHI DIGIT FIVE
+0AEB  ; [.15EA.0020.0002.0AEB][.0000.0148.0002.0AEB] # GUJARATI DIGIT FIVE
+0B6B  ; [.15EA.0020.0002.0B6B][.0000.0149.0002.0B6B] # ORIYA DIGIT FIVE
+0BEB  ; [.15EA.0020.0002.0BEB][.0000.014A.0002.0BEB] # TAMIL DIGIT FIVE
+0C6B  ; [.15EA.0020.0002.0C6B][.0000.014B.0002.0C6B] # TELUGU DIGIT FIVE
+0CEB  ; [.15EA.0020.0002.0CEB][.0000.014C.0002.0CEB] # KANNADA DIGIT FIVE
+0D6B  ; [.15EA.0020.0002.0D6B][.0000.014D.0002.0D6B] # MALAYALAM DIGIT FIVE
+ABF5  ; [.15EA.0020.0002.ABF5][.0000.014E.0002.ABF5] # MEETEI MAYEK DIGIT FIVE
+A8D5  ; [.15EA.0020.0002.A8D5][.0000.014F.0002.A8D5] # SAURASHTRA DIGIT FIVE
+194B  ; [.15EA.0020.0002.194B][.0000.0150.0002.194B] # LIMBU DIGIT FIVE
+19D5  ; [.15EA.0020.0002.19D5][.0000.0151.0002.19D5] # NEW TAI LUE DIGIT FIVE
+1A85  ; [.15EA.0020.0002.1A85][.0000.0152.0002.1A85] # TAI THAM HORA DIGIT FIVE
+1A95  ; [.15EA.0020.0002.1A95][.0000.0153.0002.1A95] # TAI THAM THAM DIGIT FIVE
+0E55  ; [.15EA.0020.0002.0E55][.0000.0154.0002.0E55] # THAI DIGIT FIVE
+0ED5  ; [.15EA.0020.0002.0ED5][.0000.0155.0002.0ED5] # LAO DIGIT FIVE
+0F25  ; [.15EA.0020.0002.0F25][.0000.0156.0002.0F25] # TIBETAN DIGIT FIVE
+0F2E  ; [.15EA.0020.0004.0F2E][.0000.0156.0004.0F2E] # TIBETAN DIGIT HALF FIVE
+1C45  ; [.15EA.0020.0002.1C45][.0000.0157.0002.1C45] # LEPCHA DIGIT FIVE
+A905  ; [.15EA.0020.0002.A905][.0000.0158.0002.A905] # KAYAH LI DIGIT FIVE
+1045  ; [.15EA.0020.0002.1045][.0000.0159.0002.1045] # MYANMAR DIGIT FIVE
+1095  ; [.15EA.0020.0002.1095][.0000.015A.0002.1095] # MYANMAR SHAN DIGIT FIVE
+1113B ; [.15EA.0020.0002.1113B][.0000.015B.0002.1113B] # CHAKMA DIGIT FIVE
+17E5  ; [.15EA.0020.0002.17E5][.0000.015C.0002.17E5] # KHMER DIGIT FIVE
+17F5  ; [.15EA.0020.0002.17F5][.0000.015D.0002.17F5] # KHMER SYMBOL LEK ATTAK PRAM
+AA55  ; [.15EA.0020.0002.AA55][.0000.015E.0002.AA55] # CHAM DIGIT FIVE
+1B55  ; [.15EA.0020.0002.1B55][.0000.015F.0002.1B55] # BALINESE DIGIT FIVE
+A9D5  ; [.15EA.0020.0002.A9D5][.0000.0160.0002.A9D5] # JAVANESE DIGIT FIVE
+1BB5  ; [.15EA.0020.0002.1BB5][.0000.0161.0002.1BB5] # SUNDANESE DIGIT FIVE
+1815  ; [.15EA.0020.0002.1815][.0000.0162.0002.1815] # MONGOLIAN DIGIT FIVE
+1C55  ; [.15EA.0020.0002.1C55][.0000.0163.0002.1C55] # OL CHIKI DIGIT FIVE
+A625  ; [.15EA.0020.0002.A625][.0000.0164.0002.A625] # VAI DIGIT FIVE
+110F5 ; [.15EA.0020.0002.110F5][.0000.0165.0002.110F5] # SORA SOMPENG DIGIT FIVE
+3025  ; [.15EA.0020.0002.3025][.0000.0166.0002.3025] # HANGZHOU NUMERAL FIVE
+1010B ; [.15EA.0020.0002.1010B][.0000.0167.0002.1010B] # AEGEAN NUMBER FIVE
+10143 ; [.15EA.0020.0002.10143][.0000.0168.0002.10143] # GREEK ACROPHONIC ATTIC FIVE
+10148 ; [.15EA.0020.0002.10148][.0000.0168.0002.10148] # GREEK ACROPHONIC ATTIC FIVE TALENTS
+1014F ; [.15EA.0020.0002.1014F][.0000.0168.0002.1014F] # GREEK ACROPHONIC ATTIC FIVE STATERS
+1015F ; [.15EA.0020.0002.1015F][.0000.0168.0002.1015F] # GREEK ACROPHONIC TROEZENIAN FIVE
+10173 ; [.15EA.0020.0002.10173][.0000.0168.0002.10173] # GREEK ACROPHONIC DELPHIC FIVE MNAS
+10321 ; [.15EA.0020.0002.10321][.0000.016A.0002.10321] # OLD ITALIC NUMERAL FIVE
+12403 ; [.15EA.0020.0002.12403][.0000.016C.0002.12403] # CUNEIFORM NUMERIC SIGN FIVE ASH
+1240A ; [.15EA.0020.0002.1240A][.0000.016C.0002.1240A] # CUNEIFORM NUMERIC SIGN FIVE DISH
+12410 ; [.15EA.0020.0002.12410][.0000.016C.0002.12410] # CUNEIFORM NUMERIC SIGN FIVE U
+12419 ; [.15EA.0020.0002.12419][.0000.016C.0002.12419] # CUNEIFORM NUMERIC SIGN FIVE GESH2
+12422 ; [.15EA.0020.0002.12422][.0000.016C.0002.12422] # CUNEIFORM NUMERIC SIGN FIVE GESHU
+12427 ; [.15EA.0020.0002.12427][.0000.016C.0002.12427] # CUNEIFORM NUMERIC SIGN FIVE SHAR2
+12431 ; [.15EA.0020.0002.12431][.0000.016C.0002.12431] # CUNEIFORM NUMERIC SIGN FIVE SHARU
+12439 ; [.15EA.0020.0002.12439][.0000.016C.0002.12439] # CUNEIFORM NUMERIC SIGN FIVE BURU
+1244D ; [.15EA.0020.0002.1244D][.0000.016C.0002.1244D] # CUNEIFORM NUMERIC SIGN FIVE ASH TENU
+12454 ; [.15EA.0020.0002.12454][.0000.016C.0002.12454] # CUNEIFORM NUMERIC SIGN FIVE BAN2
+12455 ; [.15EA.0020.0002.12455][.0000.016C.0002.12455] # CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
+111D5 ; [.15EA.0020.0002.111D5][.0000.0172.0002.111D5] # SHARADA DIGIT FIVE
+116C5 ; [.15EA.0020.0002.116C5][.0000.0173.0002.116C5] # TAKRI DIGIT FIVE
+1106B ; [.15EA.0020.0002.1106B][.0000.0174.0002.1106B] # BRAHMI DIGIT FIVE
+11056 ; [.15EA.0020.0002.11056][.0000.0175.0002.11056] # BRAHMI NUMBER FIVE
+1D364 ; [.15EA.0020.0002.1D364][.0000.0177.0002.1D364] # COUNTING ROD UNIT DIGIT FIVE
+324C  ; [.15EA.0020.0006.324C][.15E5.0020.0006.324C] # CIRCLED NUMBER FIFTY ON BLACK SQUARE
+32BF  ; [.15EA.0020.0006.32BF][.15E5.0020.0006.32BF] # CIRCLED NUMBER FIFTY
+215A  ; [.15EA.0020.001E.215A][*05AC.0020.001E.215A][.15EB.0020.001E.215A] # VULGAR FRACTION FIVE SIXTHS
+215D  ; [.15EA.0020.001E.215D][*05AC.0020.001E.215D][.15ED.0020.001E.215D] # VULGAR FRACTION FIVE EIGHTHS
+33E4  ; [.15EA.0020.0004.33E4][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE
+32C4  ; [.15EA.0020.0004.32C4][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY
+335D  ; [.15EA.0020.0004.335D][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE
+0036  ; [.15EB.0020.0002.0036] # DIGIT SIX
+FF16  ; [.15EB.0020.0003.FF16] # FULLWIDTH DIGIT SIX
+2479  ; [*02FB.0020.0004.2479][.15EB.0020.0004.2479][*02FC.0020.001F.2479] # PARENTHESIZED DIGIT SIX
+248D  ; [.15EB.0020.0004.248D][*0273.0020.001F.248D] # DIGIT SIX FULL STOP
+1F107 ; [.15EB.0020.0004.1F107][*0221.0020.001F.1F107] # DIGIT SIX COMMA
+1D7D4 ; [.15EB.0020.0005.1D7D4] # MATHEMATICAL BOLD DIGIT SIX
+1D7DE ; [.15EB.0020.0005.1D7DE] # MATHEMATICAL DOUBLE-STRUCK DIGIT SIX
+1D7E8 ; [.15EB.0020.0005.1D7E8] # MATHEMATICAL SANS-SERIF DIGIT SIX
+1D7F2 ; [.15EB.0020.0005.1D7F2] # MATHEMATICAL SANS-SERIF BOLD DIGIT SIX
+1D7FC ; [.15EB.0020.0005.1D7FC] # MATHEMATICAL MONOSPACE DIGIT SIX
+2465  ; [.15EB.0020.0006.2465] # CIRCLED DIGIT SIX
+24FA  ; [.15EB.0020.0006.24FA] # DOUBLE CIRCLED DIGIT SIX
+277B  ; [.15EB.0020.0006.277B] # DINGBAT NEGATIVE CIRCLED DIGIT SIX
+2785  ; [.15EB.0020.0006.2785] # DINGBAT CIRCLED SANS-SERIF DIGIT SIX
+278F  ; [.15EB.0020.0006.278F] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX
+2076  ; [.15EB.0020.0014.2076] # SUPERSCRIPT SIX
+2086  ; [.15EB.0020.0015.2086] # SUBSCRIPT SIX
+0666  ; [.15EB.0020.0002.0666][.0000.013F.0002.0666] # ARABIC-INDIC DIGIT SIX
+06F6  ; [.15EB.0020.0002.06F6][.0000.0140.0002.06F6] # EXTENDED ARABIC-INDIC DIGIT SIX
+10E65 ; [.15EB.0020.0002.10E65][.0000.0141.0002.10E65] # RUMI DIGIT SIX
+07C6  ; [.15EB.0020.0002.07C6][.0000.0142.0002.07C6] # NKO DIGIT SIX
+136E  ; [.15EB.0020.0002.136E][.0000.0143.0002.136E] # ETHIOPIC DIGIT SIX
+104A6 ; [.15EB.0020.0002.104A6][.0000.0144.0002.104A6] # OSMANYA DIGIT SIX
+096C  ; [.15EB.0020.0002.096C][.0000.0145.0002.096C] # DEVANAGARI DIGIT SIX
+09EC  ; [.15EB.0020.0002.09EC][.0000.0146.0002.09EC] # BENGALI DIGIT SIX
+0A6C  ; [.15EB.0020.0002.0A6C][.0000.0147.0002.0A6C] # GURMUKHI DIGIT SIX
+0AEC  ; [.15EB.0020.0002.0AEC][.0000.0148.0002.0AEC] # GUJARATI DIGIT SIX
+0B6C  ; [.15EB.0020.0002.0B6C][.0000.0149.0002.0B6C] # ORIYA DIGIT SIX
+0BEC  ; [.15EB.0020.0002.0BEC][.0000.014A.0002.0BEC] # TAMIL DIGIT SIX
+0C6C  ; [.15EB.0020.0002.0C6C][.0000.014B.0002.0C6C] # TELUGU DIGIT SIX
+0CEC  ; [.15EB.0020.0002.0CEC][.0000.014C.0002.0CEC] # KANNADA DIGIT SIX
+0D6C  ; [.15EB.0020.0002.0D6C][.0000.014D.0002.0D6C] # MALAYALAM DIGIT SIX
+ABF6  ; [.15EB.0020.0002.ABF6][.0000.014E.0002.ABF6] # MEETEI MAYEK DIGIT SIX
+A8D6  ; [.15EB.0020.0002.A8D6][.0000.014F.0002.A8D6] # SAURASHTRA DIGIT SIX
+194C  ; [.15EB.0020.0002.194C][.0000.0150.0002.194C] # LIMBU DIGIT SIX
+19D6  ; [.15EB.0020.0002.19D6][.0000.0151.0002.19D6] # NEW TAI LUE DIGIT SIX
+1A86  ; [.15EB.0020.0002.1A86][.0000.0152.0002.1A86] # TAI THAM HORA DIGIT SIX
+1A96  ; [.15EB.0020.0002.1A96][.0000.0153.0002.1A96] # TAI THAM THAM DIGIT SIX
+0E56  ; [.15EB.0020.0002.0E56][.0000.0154.0002.0E56] # THAI DIGIT SIX
+0ED6  ; [.15EB.0020.0002.0ED6][.0000.0155.0002.0ED6] # LAO DIGIT SIX
+0F26  ; [.15EB.0020.0002.0F26][.0000.0156.0002.0F26] # TIBETAN DIGIT SIX
+0F2F  ; [.15EB.0020.0004.0F2F][.0000.0156.0004.0F2F] # TIBETAN DIGIT HALF SIX
+1C46  ; [.15EB.0020.0002.1C46][.0000.0157.0002.1C46] # LEPCHA DIGIT SIX
+A906  ; [.15EB.0020.0002.A906][.0000.0158.0002.A906] # KAYAH LI DIGIT SIX
+1046  ; [.15EB.0020.0002.1046][.0000.0159.0002.1046] # MYANMAR DIGIT SIX
+1096  ; [.15EB.0020.0002.1096][.0000.015A.0002.1096] # MYANMAR SHAN DIGIT SIX
+1113C ; [.15EB.0020.0002.1113C][.0000.015B.0002.1113C] # CHAKMA DIGIT SIX
+17E6  ; [.15EB.0020.0002.17E6][.0000.015C.0002.17E6] # KHMER DIGIT SIX
+17F6  ; [.15EB.0020.0002.17F6][.0000.015D.0002.17F6] # KHMER SYMBOL LEK ATTAK PRAM-MUOY
+AA56  ; [.15EB.0020.0002.AA56][.0000.015E.0002.AA56] # CHAM DIGIT SIX
+1B56  ; [.15EB.0020.0002.1B56][.0000.015F.0002.1B56] # BALINESE DIGIT SIX
+A9D6  ; [.15EB.0020.0002.A9D6][.0000.0160.0002.A9D6] # JAVANESE DIGIT SIX
+1BB6  ; [.15EB.0020.0002.1BB6][.0000.0161.0002.1BB6] # SUNDANESE DIGIT SIX
+1816  ; [.15EB.0020.0002.1816][.0000.0162.0002.1816] # MONGOLIAN DIGIT SIX
+1C56  ; [.15EB.0020.0002.1C56][.0000.0163.0002.1C56] # OL CHIKI DIGIT SIX
+A626  ; [.15EB.0020.0002.A626][.0000.0164.0002.A626] # VAI DIGIT SIX
+110F6 ; [.15EB.0020.0002.110F6][.0000.0165.0002.110F6] # SORA SOMPENG DIGIT SIX
+3026  ; [.15EB.0020.0002.3026][.0000.0166.0002.3026] # HANGZHOU NUMERAL SIX
+1010C ; [.15EB.0020.0002.1010C][.0000.0167.0002.1010C] # AEGEAN NUMBER SIX
+2185  ; [.15EB.0020.0002.2185][.0000.0169.0002.2185] # ROMAN NUMERAL SIX LATE FORM
+12404 ; [.15EB.0020.0002.12404][.0000.016C.0002.12404] # CUNEIFORM NUMERIC SIGN SIX ASH
+1240B ; [.15EB.0020.0002.1240B][.0000.016C.0002.1240B] # CUNEIFORM NUMERIC SIGN SIX DISH
+12411 ; [.15EB.0020.0002.12411][.0000.016C.0002.12411] # CUNEIFORM NUMERIC SIGN SIX U
+1241A ; [.15EB.0020.0002.1241A][.0000.016C.0002.1241A] # CUNEIFORM NUMERIC SIGN SIX GESH2
+12428 ; [.15EB.0020.0002.12428][.0000.016C.0002.12428] # CUNEIFORM NUMERIC SIGN SIX SHAR2
+12440 ; [.15EB.0020.0002.12440][.0000.016C.0002.12440] # CUNEIFORM NUMERIC SIGN SIX VARIANT FORM ASH9
+1244E ; [.15EB.0020.0002.1244E][.0000.016C.0002.1244E] # CUNEIFORM NUMERIC SIGN SIX ASH TENU
+111D6 ; [.15EB.0020.0002.111D6][.0000.0172.0002.111D6] # SHARADA DIGIT SIX
+116C6 ; [.15EB.0020.0002.116C6][.0000.0173.0002.116C6] # TAKRI DIGIT SIX
+1106C ; [.15EB.0020.0002.1106C][.0000.0174.0002.1106C] # BRAHMI DIGIT SIX
+11057 ; [.15EB.0020.0002.11057][.0000.0175.0002.11057] # BRAHMI NUMBER SIX
+1D365 ; [.15EB.0020.0002.1D365][.0000.0177.0002.1D365] # COUNTING ROD UNIT DIGIT SIX
+324D  ; [.15EB.0020.0006.324D][.15E5.0020.0006.324D] # CIRCLED NUMBER SIXTY ON BLACK SQUARE
+33E5  ; [.15EB.0020.0004.33E5][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX
+32C5  ; [.15EB.0020.0004.32C5][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE
+335E  ; [.15EB.0020.0004.335E][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX
+0037  ; [.15EC.0020.0002.0037] # DIGIT SEVEN
+FF17  ; [.15EC.0020.0003.FF17] # FULLWIDTH DIGIT SEVEN
+247A  ; [*02FB.0020.0004.247A][.15EC.0020.0004.247A][*02FC.0020.001F.247A] # PARENTHESIZED DIGIT SEVEN
+248E  ; [.15EC.0020.0004.248E][*0273.0020.001F.248E] # DIGIT SEVEN FULL STOP
+1F108 ; [.15EC.0020.0004.1F108][*0221.0020.001F.1F108] # DIGIT SEVEN COMMA
+1D7D5 ; [.15EC.0020.0005.1D7D5] # MATHEMATICAL BOLD DIGIT SEVEN
+1D7DF ; [.15EC.0020.0005.1D7DF] # MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN
+1D7E9 ; [.15EC.0020.0005.1D7E9] # MATHEMATICAL SANS-SERIF DIGIT SEVEN
+1D7F3 ; [.15EC.0020.0005.1D7F3] # MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN
+1D7FD ; [.15EC.0020.0005.1D7FD] # MATHEMATICAL MONOSPACE DIGIT SEVEN
+2466  ; [.15EC.0020.0006.2466] # CIRCLED DIGIT SEVEN
+24FB  ; [.15EC.0020.0006.24FB] # DOUBLE CIRCLED DIGIT SEVEN
+277C  ; [.15EC.0020.0006.277C] # DINGBAT NEGATIVE CIRCLED DIGIT SEVEN
+2786  ; [.15EC.0020.0006.2786] # DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN
+2790  ; [.15EC.0020.0006.2790] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN
+2077  ; [.15EC.0020.0014.2077] # SUPERSCRIPT SEVEN
+2087  ; [.15EC.0020.0015.2087] # SUBSCRIPT SEVEN
+0667  ; [.15EC.0020.0002.0667][.0000.013F.0002.0667] # ARABIC-INDIC DIGIT SEVEN
+06F7  ; [.15EC.0020.0002.06F7][.0000.0140.0002.06F7] # EXTENDED ARABIC-INDIC DIGIT SEVEN
+10E66 ; [.15EC.0020.0002.10E66][.0000.0141.0002.10E66] # RUMI DIGIT SEVEN
+07C7  ; [.15EC.0020.0002.07C7][.0000.0142.0002.07C7] # NKO DIGIT SEVEN
+136F  ; [.15EC.0020.0002.136F][.0000.0143.0002.136F] # ETHIOPIC DIGIT SEVEN
+104A7 ; [.15EC.0020.0002.104A7][.0000.0144.0002.104A7] # OSMANYA DIGIT SEVEN
+096D  ; [.15EC.0020.0002.096D][.0000.0145.0002.096D] # DEVANAGARI DIGIT SEVEN
+09ED  ; [.15EC.0020.0002.09ED][.0000.0146.0002.09ED] # BENGALI DIGIT SEVEN
+0A6D  ; [.15EC.0020.0002.0A6D][.0000.0147.0002.0A6D] # GURMUKHI DIGIT SEVEN
+0AED  ; [.15EC.0020.0002.0AED][.0000.0148.0002.0AED] # GUJARATI DIGIT SEVEN
+0B6D  ; [.15EC.0020.0002.0B6D][.0000.0149.0002.0B6D] # ORIYA DIGIT SEVEN
+0BED  ; [.15EC.0020.0002.0BED][.0000.014A.0002.0BED] # TAMIL DIGIT SEVEN
+0C6D  ; [.15EC.0020.0002.0C6D][.0000.014B.0002.0C6D] # TELUGU DIGIT SEVEN
+0CED  ; [.15EC.0020.0002.0CED][.0000.014C.0002.0CED] # KANNADA DIGIT SEVEN
+0D6D  ; [.15EC.0020.0002.0D6D][.0000.014D.0002.0D6D] # MALAYALAM DIGIT SEVEN
+ABF7  ; [.15EC.0020.0002.ABF7][.0000.014E.0002.ABF7] # MEETEI MAYEK DIGIT SEVEN
+A8D7  ; [.15EC.0020.0002.A8D7][.0000.014F.0002.A8D7] # SAURASHTRA DIGIT SEVEN
+194D  ; [.15EC.0020.0002.194D][.0000.0150.0002.194D] # LIMBU DIGIT SEVEN
+19D7  ; [.15EC.0020.0002.19D7][.0000.0151.0002.19D7] # NEW TAI LUE DIGIT SEVEN
+1A87  ; [.15EC.0020.0002.1A87][.0000.0152.0002.1A87] # TAI THAM HORA DIGIT SEVEN
+1A97  ; [.15EC.0020.0002.1A97][.0000.0153.0002.1A97] # TAI THAM THAM DIGIT SEVEN
+0E57  ; [.15EC.0020.0002.0E57][.0000.0154.0002.0E57] # THAI DIGIT SEVEN
+0ED7  ; [.15EC.0020.0002.0ED7][.0000.0155.0002.0ED7] # LAO DIGIT SEVEN
+0F27  ; [.15EC.0020.0002.0F27][.0000.0156.0002.0F27] # TIBETAN DIGIT SEVEN
+0F30  ; [.15EC.0020.0004.0F30][.0000.0156.0004.0F30] # TIBETAN DIGIT HALF SEVEN
+1C47  ; [.15EC.0020.0002.1C47][.0000.0157.0002.1C47] # LEPCHA DIGIT SEVEN
+A907  ; [.15EC.0020.0002.A907][.0000.0158.0002.A907] # KAYAH LI DIGIT SEVEN
+1047  ; [.15EC.0020.0002.1047][.0000.0159.0002.1047] # MYANMAR DIGIT SEVEN
+1097  ; [.15EC.0020.0002.1097][.0000.015A.0002.1097] # MYANMAR SHAN DIGIT SEVEN
+1113D ; [.15EC.0020.0002.1113D][.0000.015B.0002.1113D] # CHAKMA DIGIT SEVEN
+17E7  ; [.15EC.0020.0002.17E7][.0000.015C.0002.17E7] # KHMER DIGIT SEVEN
+17F7  ; [.15EC.0020.0002.17F7][.0000.015D.0002.17F7] # KHMER SYMBOL LEK ATTAK PRAM-PII
+AA57  ; [.15EC.0020.0002.AA57][.0000.015E.0002.AA57] # CHAM DIGIT SEVEN
+1B57  ; [.15EC.0020.0002.1B57][.0000.015F.0002.1B57] # BALINESE DIGIT SEVEN
+A9D7  ; [.15EC.0020.0002.A9D7][.0000.0160.0002.A9D7] # JAVANESE DIGIT SEVEN
+1BB7  ; [.15EC.0020.0002.1BB7][.0000.0161.0002.1BB7] # SUNDANESE DIGIT SEVEN
+1817  ; [.15EC.0020.0002.1817][.0000.0162.0002.1817] # MONGOLIAN DIGIT SEVEN
+1C57  ; [.15EC.0020.0002.1C57][.0000.0163.0002.1C57] # OL CHIKI DIGIT SEVEN
+A627  ; [.15EC.0020.0002.A627][.0000.0164.0002.A627] # VAI DIGIT SEVEN
+110F7 ; [.15EC.0020.0002.110F7][.0000.0165.0002.110F7] # SORA SOMPENG DIGIT SEVEN
+3027  ; [.15EC.0020.0002.3027][.0000.0166.0002.3027] # HANGZHOU NUMERAL SEVEN
+1010D ; [.15EC.0020.0002.1010D][.0000.0167.0002.1010D] # AEGEAN NUMBER SEVEN
+12405 ; [.15EC.0020.0002.12405][.0000.016C.0002.12405] # CUNEIFORM NUMERIC SIGN SEVEN ASH
+1240C ; [.15EC.0020.0002.1240C][.0000.016C.0002.1240C] # CUNEIFORM NUMERIC SIGN SEVEN DISH
+12412 ; [.15EC.0020.0002.12412][.0000.016C.0002.12412] # CUNEIFORM NUMERIC SIGN SEVEN U
+1241B ; [.15EC.0020.0002.1241B][.0000.016C.0002.1241B] # CUNEIFORM NUMERIC SIGN SEVEN GESH2
+12429 ; [.15EC.0020.0002.12429][.0000.016C.0002.12429] # CUNEIFORM NUMERIC SIGN SEVEN SHAR2
+12441 ; [.15EC.0020.0002.12441][.0000.016C.0002.12441] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN3
+12442 ; [.15EC.0020.0002.12442][.0000.016C.0002.12442] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN A
+12443 ; [.15EC.0020.0002.12443][.0000.016C.0002.12443] # CUNEIFORM NUMERIC SIGN SEVEN VARIANT FORM IMIN B
+111D7 ; [.15EC.0020.0002.111D7][.0000.0172.0002.111D7] # SHARADA DIGIT SEVEN
+116C7 ; [.15EC.0020.0002.116C7][.0000.0173.0002.116C7] # TAKRI DIGIT SEVEN
+1106D ; [.15EC.0020.0002.1106D][.0000.0174.0002.1106D] # BRAHMI DIGIT SEVEN
+11058 ; [.15EC.0020.0002.11058][.0000.0175.0002.11058] # BRAHMI NUMBER SEVEN
+1D366 ; [.15EC.0020.0002.1D366][.0000.0177.0002.1D366] # COUNTING ROD UNIT DIGIT SEVEN
+324E  ; [.15EC.0020.0006.324E][.15E5.0020.0006.324E] # CIRCLED NUMBER SEVENTY ON BLACK SQUARE
+215E  ; [.15EC.0020.001E.215E][*05AC.0020.001E.215E][.15ED.0020.001E.215E] # VULGAR FRACTION SEVEN EIGHTHS
+33E6  ; [.15EC.0020.0004.33E6][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN
+32C6  ; [.15EC.0020.0004.32C6][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY
+335F  ; [.15EC.0020.0004.335F][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN
+0038  ; [.15ED.0020.0002.0038] # DIGIT EIGHT
+FF18  ; [.15ED.0020.0003.FF18] # FULLWIDTH DIGIT EIGHT
+247B  ; [*02FB.0020.0004.247B][.15ED.0020.0004.247B][*02FC.0020.001F.247B] # PARENTHESIZED DIGIT EIGHT
+248F  ; [.15ED.0020.0004.248F][*0273.0020.001F.248F] # DIGIT EIGHT FULL STOP
+1F109 ; [.15ED.0020.0004.1F109][*0221.0020.001F.1F109] # DIGIT EIGHT COMMA
+1D7D6 ; [.15ED.0020.0005.1D7D6] # MATHEMATICAL BOLD DIGIT EIGHT
+1D7E0 ; [.15ED.0020.0005.1D7E0] # MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT
+1D7EA ; [.15ED.0020.0005.1D7EA] # MATHEMATICAL SANS-SERIF DIGIT EIGHT
+1D7F4 ; [.15ED.0020.0005.1D7F4] # MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT
+1D7FE ; [.15ED.0020.0005.1D7FE] # MATHEMATICAL MONOSPACE DIGIT EIGHT
+2467  ; [.15ED.0020.0006.2467] # CIRCLED DIGIT EIGHT
+24FC  ; [.15ED.0020.0006.24FC] # DOUBLE CIRCLED DIGIT EIGHT
+277D  ; [.15ED.0020.0006.277D] # DINGBAT NEGATIVE CIRCLED DIGIT EIGHT
+2787  ; [.15ED.0020.0006.2787] # DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT
+2791  ; [.15ED.0020.0006.2791] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT
+2078  ; [.15ED.0020.0014.2078] # SUPERSCRIPT EIGHT
+2088  ; [.15ED.0020.0015.2088] # SUBSCRIPT EIGHT
+0668  ; [.15ED.0020.0002.0668][.0000.013F.0002.0668] # ARABIC-INDIC DIGIT EIGHT
+06F8  ; [.15ED.0020.0002.06F8][.0000.0140.0002.06F8] # EXTENDED ARABIC-INDIC DIGIT EIGHT
+10E67 ; [.15ED.0020.0002.10E67][.0000.0141.0002.10E67] # RUMI DIGIT EIGHT
+07C8  ; [.15ED.0020.0002.07C8][.0000.0142.0002.07C8] # NKO DIGIT EIGHT
+1370  ; [.15ED.0020.0002.1370][.0000.0143.0002.1370] # ETHIOPIC DIGIT EIGHT
+104A8 ; [.15ED.0020.0002.104A8][.0000.0144.0002.104A8] # OSMANYA DIGIT EIGHT
+096E  ; [.15ED.0020.0002.096E][.0000.0145.0002.096E] # DEVANAGARI DIGIT EIGHT
+09EE  ; [.15ED.0020.0002.09EE][.0000.0146.0002.09EE] # BENGALI DIGIT EIGHT
+0A6E  ; [.15ED.0020.0002.0A6E][.0000.0147.0002.0A6E] # GURMUKHI DIGIT EIGHT
+0AEE  ; [.15ED.0020.0002.0AEE][.0000.0148.0002.0AEE] # GUJARATI DIGIT EIGHT
+0B6E  ; [.15ED.0020.0002.0B6E][.0000.0149.0002.0B6E] # ORIYA DIGIT EIGHT
+0BEE  ; [.15ED.0020.0002.0BEE][.0000.014A.0002.0BEE] # TAMIL DIGIT EIGHT
+0C6E  ; [.15ED.0020.0002.0C6E][.0000.014B.0002.0C6E] # TELUGU DIGIT EIGHT
+0CEE  ; [.15ED.0020.0002.0CEE][.0000.014C.0002.0CEE] # KANNADA DIGIT EIGHT
+0D6E  ; [.15ED.0020.0002.0D6E][.0000.014D.0002.0D6E] # MALAYALAM DIGIT EIGHT
+ABF8  ; [.15ED.0020.0002.ABF8][.0000.014E.0002.ABF8] # MEETEI MAYEK DIGIT EIGHT
+A8D8  ; [.15ED.0020.0002.A8D8][.0000.014F.0002.A8D8] # SAURASHTRA DIGIT EIGHT
+194E  ; [.15ED.0020.0002.194E][.0000.0150.0002.194E] # LIMBU DIGIT EIGHT
+19D8  ; [.15ED.0020.0002.19D8][.0000.0151.0002.19D8] # NEW TAI LUE DIGIT EIGHT
+1A88  ; [.15ED.0020.0002.1A88][.0000.0152.0002.1A88] # TAI THAM HORA DIGIT EIGHT
+1A98  ; [.15ED.0020.0002.1A98][.0000.0153.0002.1A98] # TAI THAM THAM DIGIT EIGHT
+0E58  ; [.15ED.0020.0002.0E58][.0000.0154.0002.0E58] # THAI DIGIT EIGHT
+0ED8  ; [.15ED.0020.0002.0ED8][.0000.0155.0002.0ED8] # LAO DIGIT EIGHT
+0F28  ; [.15ED.0020.0002.0F28][.0000.0156.0002.0F28] # TIBETAN DIGIT EIGHT
+0F31  ; [.15ED.0020.0004.0F31][.0000.0156.0004.0F31] # TIBETAN DIGIT HALF EIGHT
+1C48  ; [.15ED.0020.0002.1C48][.0000.0157.0002.1C48] # LEPCHA DIGIT EIGHT
+A908  ; [.15ED.0020.0002.A908][.0000.0158.0002.A908] # KAYAH LI DIGIT EIGHT
+1048  ; [.15ED.0020.0002.1048][.0000.0159.0002.1048] # MYANMAR DIGIT EIGHT
+1098  ; [.15ED.0020.0002.1098][.0000.015A.0002.1098] # MYANMAR SHAN DIGIT EIGHT
+1113E ; [.15ED.0020.0002.1113E][.0000.015B.0002.1113E] # CHAKMA DIGIT EIGHT
+17E8  ; [.15ED.0020.0002.17E8][.0000.015C.0002.17E8] # KHMER DIGIT EIGHT
+17F8  ; [.15ED.0020.0002.17F8][.0000.015D.0002.17F8] # KHMER SYMBOL LEK ATTAK PRAM-BEI
+AA58  ; [.15ED.0020.0002.AA58][.0000.015E.0002.AA58] # CHAM DIGIT EIGHT
+1B58  ; [.15ED.0020.0002.1B58][.0000.015F.0002.1B58] # BALINESE DIGIT EIGHT
+A9D8  ; [.15ED.0020.0002.A9D8][.0000.0160.0002.A9D8] # JAVANESE DIGIT EIGHT
+1BB8  ; [.15ED.0020.0002.1BB8][.0000.0161.0002.1BB8] # SUNDANESE DIGIT EIGHT
+1818  ; [.15ED.0020.0002.1818][.0000.0162.0002.1818] # MONGOLIAN DIGIT EIGHT
+1C58  ; [.15ED.0020.0002.1C58][.0000.0163.0002.1C58] # OL CHIKI DIGIT EIGHT
+A628  ; [.15ED.0020.0002.A628][.0000.0164.0002.A628] # VAI DIGIT EIGHT
+110F8 ; [.15ED.0020.0002.110F8][.0000.0165.0002.110F8] # SORA SOMPENG DIGIT EIGHT
+3028  ; [.15ED.0020.0002.3028][.0000.0166.0002.3028] # HANGZHOU NUMERAL EIGHT
+1010E ; [.15ED.0020.0002.1010E][.0000.0167.0002.1010E] # AEGEAN NUMBER EIGHT
+12406 ; [.15ED.0020.0002.12406][.0000.016C.0002.12406] # CUNEIFORM NUMERIC SIGN EIGHT ASH
+1240D ; [.15ED.0020.0002.1240D][.0000.016C.0002.1240D] # CUNEIFORM NUMERIC SIGN EIGHT DISH
+12413 ; [.15ED.0020.0002.12413][.0000.016C.0002.12413] # CUNEIFORM NUMERIC SIGN EIGHT U
+1241C ; [.15ED.0020.0002.1241C][.0000.016C.0002.1241C] # CUNEIFORM NUMERIC SIGN EIGHT GESH2
+1242A ; [.15ED.0020.0002.1242A][.0000.016C.0002.1242A] # CUNEIFORM NUMERIC SIGN EIGHT SHAR2
+12444 ; [.15ED.0020.0002.12444][.0000.016C.0002.12444] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU
+12445 ; [.15ED.0020.0002.12445][.0000.016C.0002.12445] # CUNEIFORM NUMERIC SIGN EIGHT VARIANT FORM USSU3
+111D8 ; [.15ED.0020.0002.111D8][.0000.0172.0002.111D8] # SHARADA DIGIT EIGHT
+116C8 ; [.15ED.0020.0002.116C8][.0000.0173.0002.116C8] # TAKRI DIGIT EIGHT
+1106E ; [.15ED.0020.0002.1106E][.0000.0174.0002.1106E] # BRAHMI DIGIT EIGHT
+11059 ; [.15ED.0020.0002.11059][.0000.0175.0002.11059] # BRAHMI NUMBER EIGHT
+1D367 ; [.15ED.0020.0002.1D367][.0000.0177.0002.1D367] # COUNTING ROD UNIT DIGIT EIGHT
+324F  ; [.15ED.0020.0006.324F][.15E5.0020.0006.324F] # CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+33E7  ; [.15ED.0020.0004.33E7][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT
+32C7  ; [.15ED.0020.0004.32C7][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST
+3360  ; [.15ED.0020.0004.3360][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT
+0039  ; [.15EE.0020.0002.0039] # DIGIT NINE
+FF19  ; [.15EE.0020.0003.FF19] # FULLWIDTH DIGIT NINE
+247C  ; [*02FB.0020.0004.247C][.15EE.0020.0004.247C][*02FC.0020.001F.247C] # PARENTHESIZED DIGIT NINE
+2490  ; [.15EE.0020.0004.2490][*0273.0020.001F.2490] # DIGIT NINE FULL STOP
+1F10A ; [.15EE.0020.0004.1F10A][*0221.0020.001F.1F10A] # DIGIT NINE COMMA
+1D7D7 ; [.15EE.0020.0005.1D7D7] # MATHEMATICAL BOLD DIGIT NINE
+1D7E1 ; [.15EE.0020.0005.1D7E1] # MATHEMATICAL DOUBLE-STRUCK DIGIT NINE
+1D7EB ; [.15EE.0020.0005.1D7EB] # MATHEMATICAL SANS-SERIF DIGIT NINE
+1D7F5 ; [.15EE.0020.0005.1D7F5] # MATHEMATICAL SANS-SERIF BOLD DIGIT NINE
+1D7FF ; [.15EE.0020.0005.1D7FF] # MATHEMATICAL MONOSPACE DIGIT NINE
+2468  ; [.15EE.0020.0006.2468] # CIRCLED DIGIT NINE
+24FD  ; [.15EE.0020.0006.24FD] # DOUBLE CIRCLED DIGIT NINE
+277E  ; [.15EE.0020.0006.277E] # DINGBAT NEGATIVE CIRCLED DIGIT NINE
+2788  ; [.15EE.0020.0006.2788] # DINGBAT CIRCLED SANS-SERIF DIGIT NINE
+2792  ; [.15EE.0020.0006.2792] # DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE
+2079  ; [.15EE.0020.0014.2079] # SUPERSCRIPT NINE
+2089  ; [.15EE.0020.0015.2089] # SUBSCRIPT NINE
+0669  ; [.15EE.0020.0002.0669][.0000.013F.0002.0669] # ARABIC-INDIC DIGIT NINE
+06F9  ; [.15EE.0020.0002.06F9][.0000.0140.0002.06F9] # EXTENDED ARABIC-INDIC DIGIT NINE
+10E68 ; [.15EE.0020.0002.10E68][.0000.0141.0002.10E68] # RUMI DIGIT NINE
+07C9  ; [.15EE.0020.0002.07C9][.0000.0142.0002.07C9] # NKO DIGIT NINE
+1371  ; [.15EE.0020.0002.1371][.0000.0143.0002.1371] # ETHIOPIC DIGIT NINE
+104A9 ; [.15EE.0020.0002.104A9][.0000.0144.0002.104A9] # OSMANYA DIGIT NINE
+096F  ; [.15EE.0020.0002.096F][.0000.0145.0002.096F] # DEVANAGARI DIGIT NINE
+09EF  ; [.15EE.0020.0002.09EF][.0000.0146.0002.09EF] # BENGALI DIGIT NINE
+0A6F  ; [.15EE.0020.0002.0A6F][.0000.0147.0002.0A6F] # GURMUKHI DIGIT NINE
+0AEF  ; [.15EE.0020.0002.0AEF][.0000.0148.0002.0AEF] # GUJARATI DIGIT NINE
+0B6F  ; [.15EE.0020.0002.0B6F][.0000.0149.0002.0B6F] # ORIYA DIGIT NINE
+0BEF  ; [.15EE.0020.0002.0BEF][.0000.014A.0002.0BEF] # TAMIL DIGIT NINE
+0C6F  ; [.15EE.0020.0002.0C6F][.0000.014B.0002.0C6F] # TELUGU DIGIT NINE
+0CEF  ; [.15EE.0020.0002.0CEF][.0000.014C.0002.0CEF] # KANNADA DIGIT NINE
+0D6F  ; [.15EE.0020.0002.0D6F][.0000.014D.0002.0D6F] # MALAYALAM DIGIT NINE
+ABF9  ; [.15EE.0020.0002.ABF9][.0000.014E.0002.ABF9] # MEETEI MAYEK DIGIT NINE
+A8D9  ; [.15EE.0020.0002.A8D9][.0000.014F.0002.A8D9] # SAURASHTRA DIGIT NINE
+194F  ; [.15EE.0020.0002.194F][.0000.0150.0002.194F] # LIMBU DIGIT NINE
+19D9  ; [.15EE.0020.0002.19D9][.0000.0151.0002.19D9] # NEW TAI LUE DIGIT NINE
+1A89  ; [.15EE.0020.0002.1A89][.0000.0152.0002.1A89] # TAI THAM HORA DIGIT NINE
+1A99  ; [.15EE.0020.0002.1A99][.0000.0153.0002.1A99] # TAI THAM THAM DIGIT NINE
+0E59  ; [.15EE.0020.0002.0E59][.0000.0154.0002.0E59] # THAI DIGIT NINE
+0ED9  ; [.15EE.0020.0002.0ED9][.0000.0155.0002.0ED9] # LAO DIGIT NINE
+0F29  ; [.15EE.0020.0002.0F29][.0000.0156.0002.0F29] # TIBETAN DIGIT NINE
+0F32  ; [.15EE.0020.0004.0F32][.0000.0156.0004.0F32] # TIBETAN DIGIT HALF NINE
+1C49  ; [.15EE.0020.0002.1C49][.0000.0157.0002.1C49] # LEPCHA DIGIT NINE
+A909  ; [.15EE.0020.0002.A909][.0000.0158.0002.A909] # KAYAH LI DIGIT NINE
+1049  ; [.15EE.0020.0002.1049][.0000.0159.0002.1049] # MYANMAR DIGIT NINE
+1099  ; [.15EE.0020.0002.1099][.0000.015A.0002.1099] # MYANMAR SHAN DIGIT NINE
+1113F ; [.15EE.0020.0002.1113F][.0000.015B.0002.1113F] # CHAKMA DIGIT NINE
+17E9  ; [.15EE.0020.0002.17E9][.0000.015C.0002.17E9] # KHMER DIGIT NINE
+17F9  ; [.15EE.0020.0002.17F9][.0000.015D.0002.17F9] # KHMER SYMBOL LEK ATTAK PRAM-BUON
+AA59  ; [.15EE.0020.0002.AA59][.0000.015E.0002.AA59] # CHAM DIGIT NINE
+1B59  ; [.15EE.0020.0002.1B59][.0000.015F.0002.1B59] # BALINESE DIGIT NINE
+A9D9  ; [.15EE.0020.0002.A9D9][.0000.0160.0002.A9D9] # JAVANESE DIGIT NINE
+1BB9  ; [.15EE.0020.0002.1BB9][.0000.0161.0002.1BB9] # SUNDANESE DIGIT NINE
+1819  ; [.15EE.0020.0002.1819][.0000.0162.0002.1819] # MONGOLIAN DIGIT NINE
+1C59  ; [.15EE.0020.0002.1C59][.0000.0163.0002.1C59] # OL CHIKI DIGIT NINE
+A629  ; [.15EE.0020.0002.A629][.0000.0164.0002.A629] # VAI DIGIT NINE
+110F9 ; [.15EE.0020.0002.110F9][.0000.0165.0002.110F9] # SORA SOMPENG DIGIT NINE
+3029  ; [.15EE.0020.0002.3029][.0000.0166.0002.3029] # HANGZHOU NUMERAL NINE
+1010F ; [.15EE.0020.0002.1010F][.0000.0167.0002.1010F] # AEGEAN NUMBER NINE
+12407 ; [.15EE.0020.0002.12407][.0000.016C.0002.12407] # CUNEIFORM NUMERIC SIGN NINE ASH
+1240E ; [.15EE.0020.0002.1240E][.0000.016C.0002.1240E] # CUNEIFORM NUMERIC SIGN NINE DISH
+12414 ; [.15EE.0020.0002.12414][.0000.016C.0002.12414] # CUNEIFORM NUMERIC SIGN NINE U
+1241D ; [.15EE.0020.0002.1241D][.0000.016C.0002.1241D] # CUNEIFORM NUMERIC SIGN NINE GESH2
+1242B ; [.15EE.0020.0002.1242B][.0000.016C.0002.1242B] # CUNEIFORM NUMERIC SIGN NINE SHAR2
+12446 ; [.15EE.0020.0002.12446][.0000.016C.0002.12446] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU
+12447 ; [.15EE.0020.0002.12447][.0000.016C.0002.12447] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU3
+12448 ; [.15EE.0020.0002.12448][.0000.016C.0002.12448] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU4
+12449 ; [.15EE.0020.0002.12449][.0000.016C.0002.12449] # CUNEIFORM NUMERIC SIGN NINE VARIANT FORM ILIMMU A
+111D9 ; [.15EE.0020.0002.111D9][.0000.0172.0002.111D9] # SHARADA DIGIT NINE
+116C9 ; [.15EE.0020.0002.116C9][.0000.0173.0002.116C9] # TAKRI DIGIT NINE
+1106F ; [.15EE.0020.0002.1106F][.0000.0174.0002.1106F] # BRAHMI DIGIT NINE
+1105A ; [.15EE.0020.0002.1105A][.0000.0175.0002.1105A] # BRAHMI NUMBER NINE
+1D368 ; [.15EE.0020.0002.1D368][.0000.0177.0002.1D368] # COUNTING ROD UNIT DIGIT NINE
+33E8  ; [.15EE.0020.0004.33E8][.FB40.0020.001F.65E5][.E5E5.0000.0000.65E5] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE
+32C8  ; [.15EE.0020.0004.32C8][.FB40.0020.001F.6708][.E708.0000.0000.6708] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER
+3361  ; [.15EE.0020.0004.3361][.FB40.0020.001F.70B9][.F0B9.0000.0000.70B9] # IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE
+0061  ; [.15EF.0020.0002.0061] # LATIN SMALL LETTER A
+FF41  ; [.15EF.0020.0003.FF41] # FULLWIDTH LATIN SMALL LETTER A
+0363  ; [.15EF.0020.0004.0363] # COMBINING LATIN SMALL LETTER A
+249C  ; [*02FB.0020.0004.249C][.15EF.0020.0004.249C][*02FC.0020.001F.249C] # PARENTHESIZED LATIN SMALL LETTER A
+1D41A ; [.15EF.0020.0005.1D41A] # MATHEMATICAL BOLD SMALL A
+1D44E ; [.15EF.0020.0005.1D44E] # MATHEMATICAL ITALIC SMALL A
+1D482 ; [.15EF.0020.0005.1D482] # MATHEMATICAL BOLD ITALIC SMALL A
+1D4B6 ; [.15EF.0020.0005.1D4B6] # MATHEMATICAL SCRIPT SMALL A
+1D4EA ; [.15EF.0020.0005.1D4EA] # MATHEMATICAL BOLD SCRIPT SMALL A
+1D51E ; [.15EF.0020.0005.1D51E] # MATHEMATICAL FRAKTUR SMALL A
+1D552 ; [.15EF.0020.0005.1D552] # MATHEMATICAL DOUBLE-STRUCK SMALL A
+1D586 ; [.15EF.0020.0005.1D586] # MATHEMATICAL BOLD FRAKTUR SMALL A
+1D5BA ; [.15EF.0020.0005.1D5BA] # MATHEMATICAL SANS-SERIF SMALL A
+1D5EE ; [.15EF.0020.0005.1D5EE] # MATHEMATICAL SANS-SERIF BOLD SMALL A
+1D622 ; [.15EF.0020.0005.1D622] # MATHEMATICAL SANS-SERIF ITALIC SMALL A
+1D656 ; [.15EF.0020.0005.1D656] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A
+1D68A ; [.15EF.0020.0005.1D68A] # MATHEMATICAL MONOSPACE SMALL A
+24D0  ; [.15EF.0020.0006.24D0] # CIRCLED LATIN SMALL LETTER A
+0041  ; [.15EF.0020.0008.0041] # LATIN CAPITAL LETTER A
+FF21  ; [.15EF.0020.0009.FF21] # FULLWIDTH LATIN CAPITAL LETTER A
+1F110 ; [*02FB.0020.0004.1F110][.15EF.0020.000A.1F110][*02FC.0020.001F.1F110] # PARENTHESIZED LATIN CAPITAL LETTER A
+1D400 ; [.15EF.0020.000B.1D400] # MATHEMATICAL BOLD CAPITAL A
+1D434 ; [.15EF.0020.000B.1D434] # MATHEMATICAL ITALIC CAPITAL A
+1D468 ; [.15EF.0020.000B.1D468] # MATHEMATICAL BOLD ITALIC CAPITAL A
+1D49C ; [.15EF.0020.000B.1D49C] # MATHEMATICAL SCRIPT CAPITAL A
+1D4D0 ; [.15EF.0020.000B.1D4D0] # MATHEMATICAL BOLD SCRIPT CAPITAL A
+1D504 ; [.15EF.0020.000B.1D504] # MATHEMATICAL FRAKTUR CAPITAL A
+1D538 ; [.15EF.0020.000B.1D538] # MATHEMATICAL DOUBLE-STRUCK CAPITAL A
+1D56C ; [.15EF.0020.000B.1D56C] # MATHEMATICAL BOLD FRAKTUR CAPITAL A
+1D5A0 ; [.15EF.0020.000B.1D5A0] # MATHEMATICAL SANS-SERIF CAPITAL A
+1D5D4 ; [.15EF.0020.000B.1D5D4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL A
+1D608 ; [.15EF.0020.000B.1D608] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL A
+1D63C ; [.15EF.0020.000B.1D63C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A
+1D670 ; [.15EF.0020.000B.1D670] # MATHEMATICAL MONOSPACE CAPITAL A
+24B6  ; [.15EF.0020.000C.24B6] # CIRCLED LATIN CAPITAL LETTER A
+1F150 ; [.15EF.0020.000C.1F150] # NEGATIVE CIRCLED LATIN CAPITAL LETTER A
+00AA  ; [.15EF.0020.0014.00AA] # FEMININE ORDINAL INDICATOR
+1D43  ; [.15EF.0020.0014.1D43] # MODIFIER LETTER SMALL A
+2090  ; [.15EF.0020.0015.2090] # LATIN SUBSCRIPT SMALL LETTER A
+1D2C  ; [.15EF.0020.001D.1D2C] # MODIFIER LETTER CAPITAL A
+1F130 ; [.15EF.0020.001D.1F130] # SQUARED LATIN CAPITAL LETTER A
+1F170 ; [.15EF.0020.001D.1F170] # NEGATIVE SQUARED LATIN CAPITAL LETTER A
+00E1  ; [.15EF.0020.0002.0061][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH ACUTE
+00C1  ; [.15EF.0020.0008.0041][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH ACUTE
+00E0  ; [.15EF.0020.0002.0061][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH GRAVE
+00C0  ; [.15EF.0020.0008.0041][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH GRAVE
+0103  ; [.15EF.0020.0002.0061][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE
+0102  ; [.15EF.0020.0008.0041][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE
+1EAF  ; [.15EF.0020.0002.0061][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH BREVE AND ACUTE
+1EAE  ; [.15EF.0020.0008.0041][.0000.0037.0002.0306][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE
+1EB1  ; [.15EF.0020.0002.0061][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH BREVE AND GRAVE
+1EB0  ; [.15EF.0020.0008.0041][.0000.0037.0002.0306][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE
+1EB5  ; [.15EF.0020.0002.0061][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH BREVE AND TILDE
+1EB4  ; [.15EF.0020.0008.0041][.0000.0037.0002.0306][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH BREVE AND TILDE
+1EB3  ; [.15EF.0020.0002.0061][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE
+1EB2  ; [.15EF.0020.0008.0041][.0000.0037.0002.0306][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE
+00E2  ; [.15EF.0020.0002.0061][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX
+00C2  ; [.15EF.0020.0008.0041][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+1EA5  ; [.15EF.0020.0002.0061][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA4  ; [.15EF.0020.0008.0041][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE
+1EA7  ; [.15EF.0020.0002.0061][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EA6  ; [.15EF.0020.0008.0041][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE
+1EAB  ; [.15EF.0020.0002.0061][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE
+1EAA  ; [.15EF.0020.0008.0041][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE
+1EA9  ; [.15EF.0020.0002.0061][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+1EA8  ; [.15EF.0020.0008.0041][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE
+01CE  ; [.15EF.0020.0002.0061][.0000.0041.0002.030C] # LATIN SMALL LETTER A WITH CARON
+01CD  ; [.15EF.0020.0008.0041][.0000.0041.0002.030C] # LATIN CAPITAL LETTER A WITH CARON
+00E5  ; [.15EF.0020.0002.0061][.0000.0043.0002.030A] # LATIN SMALL LETTER A WITH RING ABOVE
+00C5  ; [.15EF.0020.0008.0041][.0000.0043.0002.030A] # LATIN CAPITAL LETTER A WITH RING ABOVE
+212B  ; [.15EF.0020.0008.0041][.0000.0043.0002.030A] # ANGSTROM SIGN
+01FB  ; [.15EF.0020.0002.0061][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE
+01FA  ; [.15EF.0020.0008.0041][.0000.0043.0002.030A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE
+00E4  ; [.15EF.0020.0002.0061][.0000.0047.0002.0308] # LATIN SMALL LETTER A WITH DIAERESIS
+00C4  ; [.15EF.0020.0008.0041][.0000.0047.0002.0308] # LATIN CAPITAL LETTER A WITH DIAERESIS
+01DF  ; [.15EF.0020.0002.0061][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON
+01DE  ; [.15EF.0020.0008.0041][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON
+00E3  ; [.15EF.0020.0002.0061][.0000.004E.0002.0303] # LATIN SMALL LETTER A WITH TILDE
+00C3  ; [.15EF.0020.0008.0041][.0000.004E.0002.0303] # LATIN CAPITAL LETTER A WITH TILDE
+0227  ; [.15EF.0020.0002.0061][.0000.0052.0002.0307] # LATIN SMALL LETTER A WITH DOT ABOVE
+0226  ; [.15EF.0020.0008.0041][.0000.0052.0002.0307] # LATIN CAPITAL LETTER A WITH DOT ABOVE
+01E1  ; [.15EF.0020.0002.0061][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON
+01E0  ; [.15EF.0020.0008.0041][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON
+0105  ; [.15EF.0020.0002.0061][.0000.0059.0002.0328] # LATIN SMALL LETTER A WITH OGONEK
+0104  ; [.15EF.0020.0008.0041][.0000.0059.0002.0328] # LATIN CAPITAL LETTER A WITH OGONEK
+0101  ; [.15EF.0020.0002.0061][.0000.005B.0002.0304] # LATIN SMALL LETTER A WITH MACRON
+0100  ; [.15EF.0020.0008.0041][.0000.005B.0002.0304] # LATIN CAPITAL LETTER A WITH MACRON
+1EA3  ; [.15EF.0020.0002.0061][.0000.0064.0002.0309] # LATIN SMALL LETTER A WITH HOOK ABOVE
+1EA2  ; [.15EF.0020.0008.0041][.0000.0064.0002.0309] # LATIN CAPITAL LETTER A WITH HOOK ABOVE
+0201  ; [.15EF.0020.0002.0061][.0000.0065.0002.030F] # LATIN SMALL LETTER A WITH DOUBLE GRAVE
+0200  ; [.15EF.0020.0008.0041][.0000.0065.0002.030F] # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE
+0203  ; [.15EF.0020.0002.0061][.0000.0067.0002.0311] # LATIN SMALL LETTER A WITH INVERTED BREVE
+0202  ; [.15EF.0020.0008.0041][.0000.0067.0002.0311] # LATIN CAPITAL LETTER A WITH INVERTED BREVE
+1EA1  ; [.15EF.0020.0002.0061][.0000.0070.0002.0323] # LATIN SMALL LETTER A WITH DOT BELOW
+1EA0  ; [.15EF.0020.0008.0041][.0000.0070.0002.0323] # LATIN CAPITAL LETTER A WITH DOT BELOW
+1EB7  ; [.15EF.0020.0002.0061][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW
+1EB6  ; [.15EF.0020.0008.0041][.0000.0070.0002.0323][.0000.0037.0002.0306] # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW
+1EAD  ; [.15EF.0020.0002.0061][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1EAC  ; [.15EF.0020.0008.0041][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW
+1E01  ; [.15EF.0020.0002.0061][.0000.0076.0002.0325] # LATIN SMALL LETTER A WITH RING BELOW
+1E00  ; [.15EF.0020.0008.0041][.0000.0076.0002.0325] # LATIN CAPITAL LETTER A WITH RING BELOW
+1DD3  ; [.15EF.0020.0004.1DD3][.0000.0139.0004.1DD3] # COMBINING LATIN SMALL LETTER FLATTENED OPEN A ABOVE
+A733  ; [.15EF.0020.0004.A733][.15EF.0020.0004.A733] # LATIN SMALL LETTER AA
+A732  ; [.15EF.0020.000A.A732][.15EF.0020.000A.A732] # LATIN CAPITAL LETTER AA
+1F18E ; [.15EF.0020.001D.1F18E][.1605.0020.001D.1F18E] # NEGATIVE SQUARED AB
+2100  ; [.15EF.0020.0004.2100][*0372.0020.0004.2100][.161D.0020.0004.2100] # ACCOUNT OF
+00E6  ; [.15EF.0020.0004.00E6][.0000.0139.0004.00E6][.164C.0020.0004.00E6] # LATIN SMALL LETTER AE
+1DD4  ; [.15EF.0020.0004.1DD4][.0000.0139.0004.1DD4][.164C.0020.0004.1DD4] # COMBINING LATIN SMALL LETTER AE
+00C6  ; [.15EF.0020.000A.00C6][.0000.0139.0004.00C6][.164C.0020.000A.00C6] # LATIN CAPITAL LETTER AE
+1D2D  ; [.15EF.0020.0014.1D2D][.0000.0139.0014.1D2D][.164C.0020.0014.1D2D] # MODIFIER LETTER CAPITAL AE
+01FD  ; [.15EF.0020.0004.01FD][.0000.0139.0004.01FD][.164C.0020.0004.01FD][.0000.0032.0002.01FD] # LATIN SMALL LETTER AE WITH ACUTE
+01FC  ; [.15EF.0020.000A.01FC][.0000.0139.0004.01FC][.164C.0020.000A.01FC][.0000.0032.0002.01FC] # LATIN CAPITAL LETTER AE WITH ACUTE
+01E3  ; [.15EF.0020.0004.01E3][.0000.0139.0004.01E3][.164C.0020.0004.01E3][.0000.005B.0002.01E3] # LATIN SMALL LETTER AE WITH MACRON
+01E2  ; [.15EF.0020.000A.01E2][.0000.0139.0004.01E2][.164C.0020.000A.01E2][.0000.005B.0002.01E2] # LATIN CAPITAL LETTER AE WITH MACRON
+33C2  ; [.15EF.0020.001C.33C2][*0273.0020.001C.33C2][.1741.0020.001C.33C2][*0273.0020.001C.33C2] # SQUARE AM
+33DF  ; [.15EF.0020.001D.33DF][*05AB.0020.001C.33DF][.1741.0020.001C.33DF] # SQUARE A OVER M
+1DD5  ; [.15EF.0020.0004.1DD5][.1771.0020.0004.1DD5] # COMBINING LATIN SMALL LETTER AO
+A735  ; [.15EF.0020.0004.A735][.1771.0020.0004.A735] # LATIN SMALL LETTER AO
+A734  ; [.15EF.0020.000A.A734][.1771.0020.000A.A734] # LATIN CAPITAL LETTER AO
+2101  ; [.15EF.0020.0004.2101][*0372.0020.0004.2101][.17F3.0020.0004.2101] # ADDRESSED TO THE SUBJECT
+214D  ; [.15EF.0020.000A.214D][*0372.0020.0004.214D][.17F3.0020.000A.214D] # AKTIESELSKAB
+A737  ; [.15EF.0020.0004.A737][.1836.0020.0004.A737] # LATIN SMALL LETTER AU
+A736  ; [.15EF.0020.000A.A736][.1836.0020.000A.A736] # LATIN CAPITAL LETTER AU
+3373  ; [.15EF.0020.001D.3373][.1836.0020.001D.3373] # SQUARE AU
+1DD6  ; [.15EF.0020.0004.1DD6][.185F.0020.0004.1DD6] # COMBINING LATIN SMALL LETTER AV
+A739  ; [.15EF.0020.0004.A739][.185F.0020.0004.A739] # LATIN SMALL LETTER AV
+A738  ; [.15EF.0020.000A.A738][.185F.0020.000A.A738] # LATIN CAPITAL LETTER AV
+A73B  ; [.15EF.0020.0004.A73B][.0000.0139.0004.A73B][.185F.0020.0004.A73B] # LATIN SMALL LETTER AV WITH HORIZONTAL BAR
+A73A  ; [.15EF.0020.000A.A73A][.0000.0139.0004.A73A][.185F.0020.000A.A73A] # LATIN CAPITAL LETTER AV WITH HORIZONTAL BAR
+A73D  ; [.15EF.0020.0004.A73D][.1880.0020.0004.A73D] # LATIN SMALL LETTER AY
+A73C  ; [.15EF.0020.000A.A73C][.1880.0020.000A.A73C] # LATIN CAPITAL LETTER AY
+1E9A  ; [.15EF.0020.0004.1E9A][.18F1.0020.0004.1E9A] # LATIN SMALL LETTER A WITH RIGHT HALF RING
+1D00  ; [.15F3.0020.0002.1D00] # LATIN LETTER SMALL CAPITAL A
+2C65  ; [.15F4.0020.0002.2C65] # LATIN SMALL LETTER A WITH STROKE
+023A  ; [.15F4.0020.0008.023A] # LATIN CAPITAL LETTER A WITH STROKE
+1D8F  ; [.15F5.0020.0002.1D8F] # LATIN SMALL LETTER A WITH RETROFLEX HOOK
+1D01  ; [.15F6.0020.0002.1D01] # LATIN LETTER SMALL CAPITAL AE
+1D02  ; [.15F7.0020.0002.1D02] # LATIN SMALL LETTER TURNED AE
+1D46  ; [.15F7.0020.0014.1D46] # MODIFIER LETTER SMALL TURNED AE
+0250  ; [.15F8.0020.0002.0250] # LATIN SMALL LETTER TURNED A
+2C6F  ; [.15F8.0020.0008.2C6F] # LATIN CAPITAL LETTER TURNED A
+1D44  ; [.15F8.0020.0014.1D44] # MODIFIER LETTER SMALL TURNED A
+0251  ; [.15FC.0020.0002.0251] # LATIN SMALL LETTER ALPHA
+2C6D  ; [.15FC.0020.0008.2C6D] # LATIN CAPITAL LETTER ALPHA
+1D45  ; [.15FC.0020.0014.1D45] # MODIFIER LETTER SMALL ALPHA
+1D90  ; [.1600.0020.0002.1D90] # LATIN SMALL LETTER ALPHA WITH RETROFLEX HOOK
+0252  ; [.1601.0020.0002.0252] # LATIN SMALL LETTER TURNED ALPHA
+2C70  ; [.1601.0020.0008.2C70] # LATIN CAPITAL LETTER TURNED ALPHA
+1D9B  ; [.1601.0020.0014.1D9B] # MODIFIER LETTER SMALL TURNED ALPHA
+0062  ; [.1605.0020.0002.0062] # LATIN SMALL LETTER B
+FF42  ; [.1605.0020.0003.FF42] # FULLWIDTH LATIN SMALL LETTER B
+249D  ; [*02FB.0020.0004.249D][.1605.0020.0004.249D][*02FC.0020.001F.249D] # PARENTHESIZED LATIN SMALL LETTER B
+1D41B ; [.1605.0020.0005.1D41B] # MATHEMATICAL BOLD SMALL B
+1D44F ; [.1605.0020.0005.1D44F] # MATHEMATICAL ITALIC SMALL B
+1D483 ; [.1605.0020.0005.1D483] # MATHEMATICAL BOLD ITALIC SMALL B
+1D4B7 ; [.1605.0020.0005.1D4B7] # MATHEMATICAL SCRIPT SMALL B
+1D4EB ; [.1605.0020.0005.1D4EB] # MATHEMATICAL BOLD SCRIPT SMALL B
+1D51F ; [.1605.0020.0005.1D51F] # MATHEMATICAL FRAKTUR SMALL B
+1D553 ; [.1605.0020.0005.1D553] # MATHEMATICAL DOUBLE-STRUCK SMALL B
+1D587 ; [.1605.0020.0005.1D587] # MATHEMATICAL BOLD FRAKTUR SMALL B
+1D5BB ; [.1605.0020.0005.1D5BB] # MATHEMATICAL SANS-SERIF SMALL B
+1D5EF ; [.1605.0020.0005.1D5EF] # MATHEMATICAL SANS-SERIF BOLD SMALL B
+1D623 ; [.1605.0020.0005.1D623] # MATHEMATICAL SANS-SERIF ITALIC SMALL B
+1D657 ; [.1605.0020.0005.1D657] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B
+1D68B ; [.1605.0020.0005.1D68B] # MATHEMATICAL MONOSPACE SMALL B
+24D1  ; [.1605.0020.0006.24D1] # CIRCLED LATIN SMALL LETTER B
+0042  ; [.1605.0020.0008.0042] # LATIN CAPITAL LETTER B
+FF22  ; [.1605.0020.0009.FF22] # FULLWIDTH LATIN CAPITAL LETTER B
+1F111 ; [*02FB.0020.0004.1F111][.1605.0020.000A.1F111][*02FC.0020.001F.1F111] # PARENTHESIZED LATIN CAPITAL LETTER B
+212C  ; [.1605.0020.000B.212C] # SCRIPT CAPITAL B
+1D401 ; [.1605.0020.000B.1D401] # MATHEMATICAL BOLD CAPITAL B
+1D435 ; [.1605.0020.000B.1D435] # MATHEMATICAL ITALIC CAPITAL B
+1D469 ; [.1605.0020.000B.1D469] # MATHEMATICAL BOLD ITALIC CAPITAL B
+1D4D1 ; [.1605.0020.000B.1D4D1] # MATHEMATICAL BOLD SCRIPT CAPITAL B
+1D505 ; [.1605.0020.000B.1D505] # MATHEMATICAL FRAKTUR CAPITAL B
+1D539 ; [.1605.0020.000B.1D539] # MATHEMATICAL DOUBLE-STRUCK CAPITAL B
+1D56D ; [.1605.0020.000B.1D56D] # MATHEMATICAL BOLD FRAKTUR CAPITAL B
+1D5A1 ; [.1605.0020.000B.1D5A1] # MATHEMATICAL SANS-SERIF CAPITAL B
+1D5D5 ; [.1605.0020.000B.1D5D5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL B
+1D609 ; [.1605.0020.000B.1D609] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL B
+1D63D ; [.1605.0020.000B.1D63D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B
+1D671 ; [.1605.0020.000B.1D671] # MATHEMATICAL MONOSPACE CAPITAL B
+24B7  ; [.1605.0020.000C.24B7] # CIRCLED LATIN CAPITAL LETTER B
+1F151 ; [.1605.0020.000C.1F151] # NEGATIVE CIRCLED LATIN CAPITAL LETTER B
+1D47  ; [.1605.0020.0014.1D47] # MODIFIER LETTER SMALL B
+1D2E  ; [.1605.0020.001D.1D2E] # MODIFIER LETTER CAPITAL B
+1F131 ; [.1605.0020.001D.1F131] # SQUARED LATIN CAPITAL LETTER B
+1F171 ; [.1605.0020.001D.1F171] # NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1E03  ; [.1605.0020.0002.0062][.0000.0052.0002.0307] # LATIN SMALL LETTER B WITH DOT ABOVE
+1E02  ; [.1605.0020.0008.0042][.0000.0052.0002.0307] # LATIN CAPITAL LETTER B WITH DOT ABOVE
+1E05  ; [.1605.0020.0002.0062][.0000.0070.0002.0323] # LATIN SMALL LETTER B WITH DOT BELOW
+1E04  ; [.1605.0020.0008.0042][.0000.0070.0002.0323] # LATIN CAPITAL LETTER B WITH DOT BELOW
+1E07  ; [.1605.0020.0002.0062][.0000.007B.0002.0331] # LATIN SMALL LETTER B WITH LINE BELOW
+1E06  ; [.1605.0020.0008.0042][.0000.007B.0002.0331] # LATIN CAPITAL LETTER B WITH LINE BELOW
+3374  ; [.1605.0020.001C.3374][.15EF.0020.001C.3374][.17BD.0020.001C.3374] # SQUARE BAR
+33C3  ; [.1605.0020.001D.33C3][.17AB.0020.001C.33C3] # SQUARE BQ
+0299  ; [.1609.0020.0002.0299] # LATIN LETTER SMALL CAPITAL B
+0180  ; [.160D.0020.0002.0180] # LATIN SMALL LETTER B WITH STROKE
+0243  ; [.160D.0020.0008.0243] # LATIN CAPITAL LETTER B WITH STROKE
+1D2F  ; [.1611.0020.0002.1D2F] # MODIFIER LETTER CAPITAL BARRED B
+1D03  ; [.1612.0020.0002.1D03] # LATIN LETTER SMALL CAPITAL BARRED B
+1D6C  ; [.1613.0020.0002.1D6C] # LATIN SMALL LETTER B WITH MIDDLE TILDE
+1D80  ; [.1614.0020.0002.1D80] # LATIN SMALL LETTER B WITH PALATAL HOOK
+0253  ; [.1615.0020.0002.0253] # LATIN SMALL LETTER B WITH HOOK
+0181  ; [.1615.0020.0008.0181] # LATIN CAPITAL LETTER B WITH HOOK
+0183  ; [.1619.0020.0002.0183] # LATIN SMALL LETTER B WITH TOPBAR
+0182  ; [.1619.0020.0008.0182] # LATIN CAPITAL LETTER B WITH TOPBAR
+0063  ; [.161D.0020.0002.0063] # LATIN SMALL LETTER C
+FF43  ; [.161D.0020.0003.FF43] # FULLWIDTH LATIN SMALL LETTER C
+0368  ; [.161D.0020.0004.0368] # COMBINING LATIN SMALL LETTER C
+217D  ; [.161D.0020.0004.217D] # SMALL ROMAN NUMERAL ONE HUNDRED
+249E  ; [*02FB.0020.0004.249E][.161D.0020.0004.249E][*02FC.0020.001F.249E] # PARENTHESIZED LATIN SMALL LETTER C
+1D41C ; [.161D.0020.0005.1D41C] # MATHEMATICAL BOLD SMALL C
+1D450 ; [.161D.0020.0005.1D450] # MATHEMATICAL ITALIC SMALL C
+1D484 ; [.161D.0020.0005.1D484] # MATHEMATICAL BOLD ITALIC SMALL C
+1D4B8 ; [.161D.0020.0005.1D4B8] # MATHEMATICAL SCRIPT SMALL C
+1D4EC ; [.161D.0020.0005.1D4EC] # MATHEMATICAL BOLD SCRIPT SMALL C
+1D520 ; [.161D.0020.0005.1D520] # MATHEMATICAL FRAKTUR SMALL C
+1D554 ; [.161D.0020.0005.1D554] # MATHEMATICAL DOUBLE-STRUCK SMALL C
+1D588 ; [.161D.0020.0005.1D588] # MATHEMATICAL BOLD FRAKTUR SMALL C
+1D5BC ; [.161D.0020.0005.1D5BC] # MATHEMATICAL SANS-SERIF SMALL C
+1D5F0 ; [.161D.0020.0005.1D5F0] # MATHEMATICAL SANS-SERIF BOLD SMALL C
+1D624 ; [.161D.0020.0005.1D624] # MATHEMATICAL SANS-SERIF ITALIC SMALL C
+1D658 ; [.161D.0020.0005.1D658] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C
+1D68C ; [.161D.0020.0005.1D68C] # MATHEMATICAL MONOSPACE SMALL C
+24D2  ; [.161D.0020.0006.24D2] # CIRCLED LATIN SMALL LETTER C
+0043  ; [.161D.0020.0008.0043] # LATIN CAPITAL LETTER C
+FF23  ; [.161D.0020.0009.FF23] # FULLWIDTH LATIN CAPITAL LETTER C
+2103  ; [*0482.0020.0004.2103][.161D.0020.000A.2103] # DEGREE CELSIUS
+216D  ; [.161D.0020.000A.216D] # ROMAN NUMERAL ONE HUNDRED
+1F112 ; [*02FB.0020.0004.1F112][.161D.0020.000A.1F112][*02FC.0020.001F.1F112] # PARENTHESIZED LATIN CAPITAL LETTER C
+2102  ; [.161D.0020.000B.2102] # DOUBLE-STRUCK CAPITAL C
+212D  ; [.161D.0020.000B.212D] # BLACK-LETTER CAPITAL C
+1D402 ; [.161D.0020.000B.1D402] # MATHEMATICAL BOLD CAPITAL C
+1D436 ; [.161D.0020.000B.1D436] # MATHEMATICAL ITALIC CAPITAL C
+1D46A ; [.161D.0020.000B.1D46A] # MATHEMATICAL BOLD ITALIC CAPITAL C
+1D49E ; [.161D.0020.000B.1D49E] # MATHEMATICAL SCRIPT CAPITAL C
+1D4D2 ; [.161D.0020.000B.1D4D2] # MATHEMATICAL BOLD SCRIPT CAPITAL C
+1D56E ; [.161D.0020.000B.1D56E] # MATHEMATICAL BOLD FRAKTUR CAPITAL C
+1D5A2 ; [.161D.0020.000B.1D5A2] # MATHEMATICAL SANS-SERIF CAPITAL C
+1D5D6 ; [.161D.0020.000B.1D5D6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL C
+1D60A ; [.161D.0020.000B.1D60A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL C
+1D63E ; [.161D.0020.000B.1D63E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C
+1D672 ; [.161D.0020.000B.1D672] # MATHEMATICAL MONOSPACE CAPITAL C
+24B8  ; [.161D.0020.000C.24B8] # CIRCLED LATIN CAPITAL LETTER C
+1F12B ; [.161D.0020.000C.1F12B] # CIRCLED ITALIC LATIN CAPITAL LETTER C
+1F152 ; [.161D.0020.000C.1F152] # NEGATIVE CIRCLED LATIN CAPITAL LETTER C
+1D9C  ; [.161D.0020.0014.1D9C] # MODIFIER LETTER SMALL C
+1F132 ; [.161D.0020.001D.1F132] # SQUARED LATIN CAPITAL LETTER C
+1F172 ; [.161D.0020.001D.1F172] # NEGATIVE SQUARED LATIN CAPITAL LETTER C
+0107  ; [.161D.0020.0002.0063][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH ACUTE
+0106  ; [.161D.0020.0008.0043][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH ACUTE
+0109  ; [.161D.0020.0002.0063][.0000.003C.0002.0302] # LATIN SMALL LETTER C WITH CIRCUMFLEX
+0108  ; [.161D.0020.0008.0043][.0000.003C.0002.0302] # LATIN CAPITAL LETTER C WITH CIRCUMFLEX
+010D  ; [.161D.0020.0002.0063][.0000.0041.0002.030C] # LATIN SMALL LETTER C WITH CARON
+010C  ; [.161D.0020.0008.0043][.0000.0041.0002.030C] # LATIN CAPITAL LETTER C WITH CARON
+010B  ; [.161D.0020.0002.0063][.0000.0052.0002.0307] # LATIN SMALL LETTER C WITH DOT ABOVE
+010A  ; [.161D.0020.0008.0043][.0000.0052.0002.0307] # LATIN CAPITAL LETTER C WITH DOT ABOVE
+00E7  ; [.161D.0020.0002.0063][.0000.0056.0002.0327] # LATIN SMALL LETTER C WITH CEDILLA
+1DD7  ; [.161D.0020.0004.1DD7][.0000.0056.0004.1DD7] # COMBINING LATIN SMALL LETTER C CEDILLA
+00C7  ; [.161D.0020.0008.0043][.0000.0056.0002.0327] # LATIN CAPITAL LETTER C WITH CEDILLA
+1E09  ; [.161D.0020.0002.0063][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE
+1E08  ; [.161D.0020.0008.0043][.0000.0056.0002.0327][.0000.0032.0002.0301] # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE
+3388  ; [.161D.0020.001C.3388][.15EF.0020.001C.3388][.1711.0020.001C.3388] # SQUARE CAL
+33C4  ; [.161D.0020.001C.33C4][.161D.0020.001C.33C4] # SQUARE CC
+1F12D ; [.161D.0020.000C.1F12D][.1631.0020.000C.1F12D] # CIRCLED CD
+33C5  ; [.161D.0020.001C.33C5][.1631.0020.001C.33C5] # SQUARE CD
+33C6  ; [.161D.0020.001D.33C6][*05AB.0020.001C.33C6][.16FF.0020.001C.33C6][.1691.0020.001C.33C6] # SQUARE C OVER KG
+1F191 ; [.161D.0020.001D.1F191][.1711.0020.001D.1F191] # SQUARED CL
+339D  ; [.161D.0020.001C.339D][.1741.0020.001C.339D] # SQUARE CM
+33A0  ; [.161D.0020.001C.33A0][.1741.0020.001C.33A0][.15E7.0020.001C.33A0] # SQUARE CM SQUARED
+33A4  ; [.161D.0020.001C.33A4][.1741.0020.001C.33A4][.15E8.0020.001C.33A4] # SQUARE CM CUBED
+2105  ; [.161D.0020.0004.2105][*0372.0020.0004.2105][.1771.0020.0004.2105] # CARE OF
+33C7  ; [.161D.0020.001D.33C7][.1771.0020.001C.33C7][*0273.0020.001C.33C7] # SQUARE CO
+1F192 ; [.161D.0020.001D.1F192][.1771.0020.001D.1F192][.1771.0020.001D.1F192][.1711.0020.001D.1F192] # SQUARED COOL
+2106  ; [.161D.0020.0004.2106][*0372.0020.0004.2106][.1836.0020.0004.2106] # CADA UNA
+1D04  ; [.1621.0020.0002.1D04] # LATIN LETTER SMALL CAPITAL C
+023C  ; [.1622.0020.0002.023C] # LATIN SMALL LETTER C WITH STROKE
+023B  ; [.1622.0020.0008.023B] # LATIN CAPITAL LETTER C WITH STROKE
+A793  ; [.1626.0020.0002.A793] # LATIN SMALL LETTER C WITH BAR
+A792  ; [.1626.0020.0008.A792] # LATIN CAPITAL LETTER C WITH BAR
+0188  ; [.1627.0020.0002.0188] # LATIN SMALL LETTER C WITH HOOK
+0187  ; [.1627.0020.0008.0187] # LATIN CAPITAL LETTER C WITH HOOK
+0255  ; [.162B.0020.0002.0255] # LATIN SMALL LETTER C WITH CURL
+1D9D  ; [.162B.0020.0014.1D9D] # MODIFIER LETTER SMALL C WITH CURL
+2184  ; [.162F.0020.0002.2184] # LATIN SMALL LETTER REVERSED C
+2183  ; [.162F.0020.0008.2183] # ROMAN NUMERAL REVERSED ONE HUNDRED
+A73F  ; [.1630.0020.0002.A73F] # LATIN SMALL LETTER REVERSED C WITH DOT
+A73E  ; [.1630.0020.0008.A73E] # LATIN CAPITAL LETTER REVERSED C WITH DOT
+0064  ; [.1631.0020.0002.0064] # LATIN SMALL LETTER D
+FF44  ; [.1631.0020.0003.FF44] # FULLWIDTH LATIN SMALL LETTER D
+0369  ; [.1631.0020.0004.0369] # COMBINING LATIN SMALL LETTER D
+217E  ; [.1631.0020.0004.217E] # SMALL ROMAN NUMERAL FIVE HUNDRED
+249F  ; [*02FB.0020.0004.249F][.1631.0020.0004.249F][*02FC.0020.001F.249F] # PARENTHESIZED LATIN SMALL LETTER D
+2146  ; [.1631.0020.0005.2146] # DOUBLE-STRUCK ITALIC SMALL D
+1D41D ; [.1631.0020.0005.1D41D] # MATHEMATICAL BOLD SMALL D
+1D451 ; [.1631.0020.0005.1D451] # MATHEMATICAL ITALIC SMALL D
+1D485 ; [.1631.0020.0005.1D485] # MATHEMATICAL BOLD ITALIC SMALL D
+1D4B9 ; [.1631.0020.0005.1D4B9] # MATHEMATICAL SCRIPT SMALL D
+1D4ED ; [.1631.0020.0005.1D4ED] # MATHEMATICAL BOLD SCRIPT SMALL D
+1D521 ; [.1631.0020.0005.1D521] # MATHEMATICAL FRAKTUR SMALL D
+1D555 ; [.1631.0020.0005.1D555] # MATHEMATICAL DOUBLE-STRUCK SMALL D
+1D589 ; [.1631.0020.0005.1D589] # MATHEMATICAL BOLD FRAKTUR SMALL D
+1D5BD ; [.1631.0020.0005.1D5BD] # MATHEMATICAL SANS-SERIF SMALL D
+1D5F1 ; [.1631.0020.0005.1D5F1] # MATHEMATICAL SANS-SERIF BOLD SMALL D
+1D625 ; [.1631.0020.0005.1D625] # MATHEMATICAL SANS-SERIF ITALIC SMALL D
+1D659 ; [.1631.0020.0005.1D659] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D
+1D68D ; [.1631.0020.0005.1D68D] # MATHEMATICAL MONOSPACE SMALL D
+24D3  ; [.1631.0020.0006.24D3] # CIRCLED LATIN SMALL LETTER D
+0044  ; [.1631.0020.0008.0044] # LATIN CAPITAL LETTER D
+FF24  ; [.1631.0020.0009.FF24] # FULLWIDTH LATIN CAPITAL LETTER D
+216E  ; [.1631.0020.000A.216E] # ROMAN NUMERAL FIVE HUNDRED
+1F113 ; [*02FB.0020.0004.1F113][.1631.0020.000A.1F113][*02FC.0020.001F.1F113] # PARENTHESIZED LATIN CAPITAL LETTER D
+2145  ; [.1631.0020.000B.2145] # DOUBLE-STRUCK ITALIC CAPITAL D
+1D403 ; [.1631.0020.000B.1D403] # MATHEMATICAL BOLD CAPITAL D
+1D437 ; [.1631.0020.000B.1D437] # MATHEMATICAL ITALIC CAPITAL D
+1D46B ; [.1631.0020.000B.1D46B] # MATHEMATICAL BOLD ITALIC CAPITAL D
+1D49F ; [.1631.0020.000B.1D49F] # MATHEMATICAL SCRIPT CAPITAL D
+1D4D3 ; [.1631.0020.000B.1D4D3] # MATHEMATICAL BOLD SCRIPT CAPITAL D
+1D507 ; [.1631.0020.000B.1D507] # MATHEMATICAL FRAKTUR CAPITAL D
+1D53B ; [.1631.0020.000B.1D53B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL D
+1D56F ; [.1631.0020.000B.1D56F] # MATHEMATICAL BOLD FRAKTUR CAPITAL D
+1D5A3 ; [.1631.0020.000B.1D5A3] # MATHEMATICAL SANS-SERIF CAPITAL D
+1D5D7 ; [.1631.0020.000B.1D5D7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL D
+1D60B ; [.1631.0020.000B.1D60B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL D
+1D63F ; [.1631.0020.000B.1D63F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D
+1D673 ; [.1631.0020.000B.1D673] # MATHEMATICAL MONOSPACE CAPITAL D
+24B9  ; [.1631.0020.000C.24B9] # CIRCLED LATIN CAPITAL LETTER D
+1F153 ; [.1631.0020.000C.1F153] # NEGATIVE CIRCLED LATIN CAPITAL LETTER D
+1D48  ; [.1631.0020.0014.1D48] # MODIFIER LETTER SMALL D
+1D30  ; [.1631.0020.001D.1D30] # MODIFIER LETTER CAPITAL D
+1F133 ; [.1631.0020.001D.1F133] # SQUARED LATIN CAPITAL LETTER D
+1F173 ; [.1631.0020.001D.1F173] # NEGATIVE SQUARED LATIN CAPITAL LETTER D
+010F  ; [.1631.0020.0002.0064][.0000.0041.0002.030C] # LATIN SMALL LETTER D WITH CARON
+010E  ; [.1631.0020.0008.0044][.0000.0041.0002.030C] # LATIN CAPITAL LETTER D WITH CARON
+1E0B  ; [.1631.0020.0002.0064][.0000.0052.0002.0307] # LATIN SMALL LETTER D WITH DOT ABOVE
+1E0A  ; [.1631.0020.0008.0044][.0000.0052.0002.0307] # LATIN CAPITAL LETTER D WITH DOT ABOVE
+1E11  ; [.1631.0020.0002.0064][.0000.0056.0002.0327] # LATIN SMALL LETTER D WITH CEDILLA
+1E10  ; [.1631.0020.0008.0044][.0000.0056.0002.0327] # LATIN CAPITAL LETTER D WITH CEDILLA
+1E0D  ; [.1631.0020.0002.0064][.0000.0070.0002.0323] # LATIN SMALL LETTER D WITH DOT BELOW
+1E0C  ; [.1631.0020.0008.0044][.0000.0070.0002.0323] # LATIN CAPITAL LETTER D WITH DOT BELOW
+1E13  ; [.1631.0020.0002.0064][.0000.0078.0002.032D] # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW
+1E12  ; [.1631.0020.0008.0044][.0000.0078.0002.032D] # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW
+1E0F  ; [.1631.0020.0002.0064][.0000.007B.0002.0331] # LATIN SMALL LETTER D WITH LINE BELOW
+1E0E  ; [.1631.0020.0008.0044][.0000.007B.0002.0331] # LATIN CAPITAL LETTER D WITH LINE BELOW
+0111  ; [.1631.0020.0002.0064][.0000.007D.0002.0335] # LATIN SMALL LETTER D WITH STROKE
+0110  ; [.1631.0020.0008.0044][.0000.007D.0002.0335] # LATIN CAPITAL LETTER D WITH STROKE
+00F0  ; [.1631.0020.0004.00F0][.0000.0139.0004.00F0] # LATIN SMALL LETTER ETH
+1DD9  ; [.1631.0020.0004.1DD9][.0000.0139.0004.1DD9] # COMBINING LATIN SMALL LETTER ETH
+00D0  ; [.1631.0020.000A.00D0][.0000.0139.0004.00D0] # LATIN CAPITAL LETTER ETH
+1D9E  ; [.1631.0020.0014.1D9E][.0000.0139.0014.1D9E] # MODIFIER LETTER SMALL ETH
+1DD8  ; [.1631.0020.0004.1DD8][.0000.013A.0004.1DD8] # COMBINING LATIN SMALL LETTER INSULAR D
+A77A  ; [.1631.0020.0004.A77A][.0000.013A.0004.A77A] # LATIN SMALL LETTER INSULAR D
+A779  ; [.1631.0020.000A.A779][.0000.013A.0004.A779] # LATIN CAPITAL LETTER INSULAR D
+3372  ; [.1631.0020.001C.3372][.15EF.0020.001C.3372] # SQUARE DA
+0238  ; [.1631.0020.0004.0238][.1605.0020.0004.0238] # LATIN SMALL LETTER DB DIGRAPH
+33C8  ; [.1631.0020.001C.33C8][.1605.0020.001D.33C8] # SQUARE DB
+1F190 ; [.1631.0020.001D.1F190][.16E6.0020.001D.1F190] # SQUARE DJ
+3397  ; [.1631.0020.001C.3397][.1711.0020.001C.3397] # SQUARE DL
+3377  ; [.1631.0020.001C.3377][.1741.0020.001C.3377] # SQUARE DM
+3378  ; [.1631.0020.001C.3378][.1741.0020.001C.3378][.15E7.0020.001C.3378] # SQUARE DM SQUARED
+3379  ; [.1631.0020.001C.3379][.1741.0020.001C.3379][.15E8.0020.001C.3379] # SQUARE DM CUBED
+01F3  ; [.1631.0020.0004.01F3][.1895.0020.0004.01F3] # LATIN SMALL LETTER DZ
+02A3  ; [.1631.0020.0004.02A3][.1895.0020.0004.02A3] # LATIN SMALL LETTER DZ DIGRAPH
+01F2  ; [.1631.0020.000A.01F2][.1895.0020.0004.01F2] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+01F1  ; [.1631.0020.000A.01F1][.1895.0020.000A.01F1] # LATIN CAPITAL LETTER DZ
+01C6  ; [.1631.0020.0004.01C6][.1895.0020.0004.01C6][.0000.0041.0004.01C6] # LATIN SMALL LETTER DZ WITH CARON
+01C5  ; [.1631.0020.000A.01C5][.1895.0020.0004.01C5][.0000.0041.0004.01C5] # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+01C4  ; [.1631.0020.000A.01C4][.1895.0020.000A.01C4][.0000.0041.0004.01C4] # LATIN CAPITAL LETTER DZ WITH CARON
+02A5  ; [.1631.0020.0004.02A5][.18A8.0020.0004.02A5] # LATIN SMALL LETTER DZ DIGRAPH WITH CURL
+02A4  ; [.1631.0020.0004.02A4][.18B2.0020.0004.02A4] # LATIN SMALL LETTER DEZH DIGRAPH
+1D05  ; [.1635.0020.0002.1D05] # LATIN LETTER SMALL CAPITAL D
+1D06  ; [.1636.0020.0002.1D06] # LATIN LETTER SMALL CAPITAL ETH
+1D6D  ; [.1637.0020.0002.1D6D] # LATIN SMALL LETTER D WITH MIDDLE TILDE
+1D81  ; [.1638.0020.0002.1D81] # LATIN SMALL LETTER D WITH PALATAL HOOK
+0256  ; [.1639.0020.0002.0256] # LATIN SMALL LETTER D WITH TAIL
+0189  ; [.1639.0020.0008.0189] # LATIN CAPITAL LETTER AFRICAN D
+0257  ; [.163D.0020.0002.0257] # LATIN SMALL LETTER D WITH HOOK
+018A  ; [.163D.0020.0008.018A] # LATIN CAPITAL LETTER D WITH HOOK
+1D91  ; [.1641.0020.0002.1D91] # LATIN SMALL LETTER D WITH HOOK AND TAIL
+018C  ; [.1642.0020.0002.018C] # LATIN SMALL LETTER D WITH TOPBAR
+018B  ; [.1642.0020.0008.018B] # LATIN CAPITAL LETTER D WITH TOPBAR
+0221  ; [.1646.0020.0002.0221] # LATIN SMALL LETTER D WITH CURL
+A771  ; [.164A.0020.0002.A771] # LATIN SMALL LETTER DUM
+1E9F  ; [.164B.0020.0002.1E9F] # LATIN SMALL LETTER DELTA
+0065  ; [.164C.0020.0002.0065] # LATIN SMALL LETTER E
+FF45  ; [.164C.0020.0003.FF45] # FULLWIDTH LATIN SMALL LETTER E
+0364  ; [.164C.0020.0004.0364] # COMBINING LATIN SMALL LETTER E
+24A0  ; [*02FB.0020.0004.24A0][.164C.0020.0004.24A0][*02FC.0020.001F.24A0] # PARENTHESIZED LATIN SMALL LETTER E
+212F  ; [.164C.0020.0005.212F] # SCRIPT SMALL E
+2147  ; [.164C.0020.0005.2147] # DOUBLE-STRUCK ITALIC SMALL E
+1D41E ; [.164C.0020.0005.1D41E] # MATHEMATICAL BOLD SMALL E
+1D452 ; [.164C.0020.0005.1D452] # MATHEMATICAL ITALIC SMALL E
+1D486 ; [.164C.0020.0005.1D486] # MATHEMATICAL BOLD ITALIC SMALL E
+1D4EE ; [.164C.0020.0005.1D4EE] # MATHEMATICAL BOLD SCRIPT SMALL E
+1D522 ; [.164C.0020.0005.1D522] # MATHEMATICAL FRAKTUR SMALL E
+1D556 ; [.164C.0020.0005.1D556] # MATHEMATICAL DOUBLE-STRUCK SMALL E
+1D58A ; [.164C.0020.0005.1D58A] # MATHEMATICAL BOLD FRAKTUR SMALL E
+1D5BE ; [.164C.0020.0005.1D5BE] # MATHEMATICAL SANS-SERIF SMALL E
+1D5F2 ; [.164C.0020.0005.1D5F2] # MATHEMATICAL SANS-SERIF BOLD SMALL E
+1D626 ; [.164C.0020.0005.1D626] # MATHEMATICAL SANS-SERIF ITALIC SMALL E
+1D65A ; [.164C.0020.0005.1D65A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E
+1D68E ; [.164C.0020.0005.1D68E] # MATHEMATICAL MONOSPACE SMALL E
+24D4  ; [.164C.0020.0006.24D4] # CIRCLED LATIN SMALL LETTER E
+0045  ; [.164C.0020.0008.0045] # LATIN CAPITAL LETTER E
+FF25  ; [.164C.0020.0009.FF25] # FULLWIDTH LATIN CAPITAL LETTER E
+1F114 ; [*02FB.0020.0004.1F114][.164C.0020.000A.1F114][*02FC.0020.001F.1F114] # PARENTHESIZED LATIN CAPITAL LETTER E
+2130  ; [.164C.0020.000B.2130] # SCRIPT CAPITAL E
+1D404 ; [.164C.0020.000B.1D404] # MATHEMATICAL BOLD CAPITAL E
+1D438 ; [.164C.0020.000B.1D438] # MATHEMATICAL ITALIC CAPITAL E
+1D46C ; [.164C.0020.000B.1D46C] # MATHEMATICAL BOLD ITALIC CAPITAL E
+1D4D4 ; [.164C.0020.000B.1D4D4] # MATHEMATICAL BOLD SCRIPT CAPITAL E
+1D508 ; [.164C.0020.000B.1D508] # MATHEMATICAL FRAKTUR CAPITAL E
+1D53C ; [.164C.0020.000B.1D53C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL E
+1D570 ; [.164C.0020.000B.1D570] # MATHEMATICAL BOLD FRAKTUR CAPITAL E
+1D5A4 ; [.164C.0020.000B.1D5A4] # MATHEMATICAL SANS-SERIF CAPITAL E
+1D5D8 ; [.164C.0020.000B.1D5D8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL E
+1D60C ; [.164C.0020.000B.1D60C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL E
+1D640 ; [.164C.0020.000B.1D640] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E
+1D674 ; [.164C.0020.000B.1D674] # MATHEMATICAL MONOSPACE CAPITAL E
+24BA  ; [.164C.0020.000C.24BA] # CIRCLED LATIN CAPITAL LETTER E
+1F154 ; [.164C.0020.000C.1F154] # NEGATIVE CIRCLED LATIN CAPITAL LETTER E
+1D49  ; [.164C.0020.0014.1D49] # MODIFIER LETTER SMALL E
+2091  ; [.164C.0020.0015.2091] # LATIN SUBSCRIPT SMALL LETTER E
+1D31  ; [.164C.0020.001D.1D31] # MODIFIER LETTER CAPITAL E
+1F134 ; [.164C.0020.001D.1F134] # SQUARED LATIN CAPITAL LETTER E
+1F174 ; [.164C.0020.001D.1F174] # NEGATIVE SQUARED LATIN CAPITAL LETTER E
+00E9  ; [.164C.0020.0002.0065][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH ACUTE
+00C9  ; [.164C.0020.0008.0045][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH ACUTE
+00E8  ; [.164C.0020.0002.0065][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH GRAVE
+00C8  ; [.164C.0020.0008.0045][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH GRAVE
+0115  ; [.164C.0020.0002.0065][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH BREVE
+0114  ; [.164C.0020.0008.0045][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH BREVE
+00EA  ; [.164C.0020.0002.0065][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX
+00CA  ; [.164C.0020.0008.0045][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+1EBF  ; [.164C.0020.0002.0065][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EBE  ; [.164C.0020.0008.0045][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE
+1EC1  ; [.164C.0020.0002.0065][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC0  ; [.164C.0020.0008.0045][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE
+1EC5  ; [.164C.0020.0002.0065][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC4  ; [.164C.0020.0008.0045][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE
+1EC3  ; [.164C.0020.0002.0065][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+1EC2  ; [.164C.0020.0008.0045][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE
+011B  ; [.164C.0020.0002.0065][.0000.0041.0002.030C] # LATIN SMALL LETTER E WITH CARON
+011A  ; [.164C.0020.0008.0045][.0000.0041.0002.030C] # LATIN CAPITAL LETTER E WITH CARON
+00EB  ; [.164C.0020.0002.0065][.0000.0047.0002.0308] # LATIN SMALL LETTER E WITH DIAERESIS
+00CB  ; [.164C.0020.0008.0045][.0000.0047.0002.0308] # LATIN CAPITAL LETTER E WITH DIAERESIS
+1EBD  ; [.164C.0020.0002.0065][.0000.004E.0002.0303] # LATIN SMALL LETTER E WITH TILDE
+1EBC  ; [.164C.0020.0008.0045][.0000.004E.0002.0303] # LATIN CAPITAL LETTER E WITH TILDE
+0117  ; [.164C.0020.0002.0065][.0000.0052.0002.0307] # LATIN SMALL LETTER E WITH DOT ABOVE
+0116  ; [.164C.0020.0008.0045][.0000.0052.0002.0307] # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0229  ; [.164C.0020.0002.0065][.0000.0056.0002.0327] # LATIN SMALL LETTER E WITH CEDILLA
+0228  ; [.164C.0020.0008.0045][.0000.0056.0002.0327] # LATIN CAPITAL LETTER E WITH CEDILLA
+1E1D  ; [.164C.0020.0002.0065][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN SMALL LETTER E WITH CEDILLA AND BREVE
+1E1C  ; [.164C.0020.0008.0045][.0000.0056.0002.0327][.0000.0037.0002.0306] # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE
+0119  ; [.164C.0020.0002.0065][.0000.0059.0002.0328] # LATIN SMALL LETTER E WITH OGONEK
+0118  ; [.164C.0020.0008.0045][.0000.0059.0002.0328] # LATIN CAPITAL LETTER E WITH OGONEK
+0113  ; [.164C.0020.0002.0065][.0000.005B.0002.0304] # LATIN SMALL LETTER E WITH MACRON
+0112  ; [.164C.0020.0008.0045][.0000.005B.0002.0304] # LATIN CAPITAL LETTER E WITH MACRON
+1E17  ; [.164C.0020.0002.0065][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER E WITH MACRON AND ACUTE
+1E16  ; [.164C.0020.0008.0045][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE
+1E15  ; [.164C.0020.0002.0065][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER E WITH MACRON AND GRAVE
+1E14  ; [.164C.0020.0008.0045][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE
+1EBB  ; [.164C.0020.0002.0065][.0000.0064.0002.0309] # LATIN SMALL LETTER E WITH HOOK ABOVE
+1EBA  ; [.164C.0020.0008.0045][.0000.0064.0002.0309] # LATIN CAPITAL LETTER E WITH HOOK ABOVE
+0205  ; [.164C.0020.0002.0065][.0000.0065.0002.030F] # LATIN SMALL LETTER E WITH DOUBLE GRAVE
+0204  ; [.164C.0020.0008.0045][.0000.0065.0002.030F] # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE
+0207  ; [.164C.0020.0002.0065][.0000.0067.0002.0311] # LATIN SMALL LETTER E WITH INVERTED BREVE
+0206  ; [.164C.0020.0008.0045][.0000.0067.0002.0311] # LATIN CAPITAL LETTER E WITH INVERTED BREVE
+1EB9  ; [.164C.0020.0002.0065][.0000.0070.0002.0323] # LATIN SMALL LETTER E WITH DOT BELOW
+1EB8  ; [.164C.0020.0008.0045][.0000.0070.0002.0323] # LATIN CAPITAL LETTER E WITH DOT BELOW
+1EC7  ; [.164C.0020.0002.0065][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1EC6  ; [.164C.0020.0008.0045][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
+1E19  ; [.164C.0020.0002.0065][.0000.0078.0002.032D] # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW
+1E18  ; [.164C.0020.0008.0045][.0000.0078.0002.032D] # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW
+1E1B  ; [.164C.0020.0002.0065][.0000.007A.0002.0330] # LATIN SMALL LETTER E WITH TILDE BELOW
+1E1A  ; [.164C.0020.0008.0045][.0000.007A.0002.0330] # LATIN CAPITAL LETTER E WITH TILDE BELOW
+32CD  ; [.164C.0020.001C.32CD][.17BD.0020.001C.32CD][.1691.0020.001C.32CD] # SQUARE ERG
+32CE  ; [.164C.0020.001C.32CE][.185F.0020.001D.32CE] # SQUARE EV
+1D07  ; [.1650.0020.0002.1D07] # LATIN LETTER SMALL CAPITAL E
+0247  ; [.1651.0020.0002.0247] # LATIN SMALL LETTER E WITH STROKE
+0246  ; [.1651.0020.0008.0246] # LATIN CAPITAL LETTER E WITH STROKE
+1D92  ; [.1655.0020.0002.1D92] # LATIN SMALL LETTER E WITH RETROFLEX HOOK
+2C78  ; [.1656.0020.0002.2C78] # LATIN SMALL LETTER E WITH NOTCH
+01DD  ; [.1657.0020.0002.01DD] # LATIN SMALL LETTER TURNED E
+018E  ; [.1657.0020.0008.018E] # LATIN CAPITAL LETTER REVERSED E
+1D32  ; [.1657.0020.001D.1D32] # MODIFIER LETTER CAPITAL REVERSED E
+2C7B  ; [.165B.0020.0002.2C7B] # LATIN LETTER SMALL CAPITAL TURNED E
+0259  ; [.165C.0020.0002.0259] # LATIN SMALL LETTER SCHWA
+018F  ; [.165C.0020.0008.018F] # LATIN CAPITAL LETTER SCHWA
+1D4A  ; [.165C.0020.0014.1D4A] # MODIFIER LETTER SMALL SCHWA
+2094  ; [.165C.0020.0015.2094] # LATIN SUBSCRIPT SMALL LETTER SCHWA
+1D95  ; [.1660.0020.0002.1D95] # LATIN SMALL LETTER SCHWA WITH RETROFLEX HOOK
+025B  ; [.1661.0020.0002.025B] # LATIN SMALL LETTER OPEN E
+0190  ; [.1661.0020.0008.0190] # LATIN CAPITAL LETTER OPEN E
+2107  ; [.1661.0020.000A.2107] # EULER CONSTANT
+1D4B  ; [.1661.0020.0014.1D4B] # MODIFIER LETTER SMALL OPEN E
+1D93  ; [.1665.0020.0002.1D93] # LATIN SMALL LETTER OPEN E WITH RETROFLEX HOOK
+0258  ; [.1666.0020.0002.0258] # LATIN SMALL LETTER REVERSED E
+025A  ; [.166A.0020.0002.025A] # LATIN SMALL LETTER SCHWA WITH HOOK
+025C  ; [.166E.0020.0002.025C] # LATIN SMALL LETTER REVERSED OPEN E
+1D9F  ; [.166E.0020.0014.1D9F] # MODIFIER LETTER SMALL REVERSED OPEN E
+1D94  ; [.1672.0020.0002.1D94] # LATIN SMALL LETTER REVERSED OPEN E WITH RETROFLEX HOOK
+1D08  ; [.1673.0020.0002.1D08] # LATIN SMALL LETTER TURNED OPEN E
+1D4C  ; [.1673.0020.0014.1D4C] # MODIFIER LETTER SMALL TURNED OPEN E
+025D  ; [.1674.0020.0002.025D] # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+025E  ; [.1678.0020.0002.025E] # LATIN SMALL LETTER CLOSED REVERSED OPEN E
+029A  ; [.167C.0020.0002.029A] # LATIN SMALL LETTER CLOSED OPEN E
+0264  ; [.1680.0020.0002.0264] # LATIN SMALL LETTER RAMS HORN
+0066  ; [.1684.0020.0002.0066] # LATIN SMALL LETTER F
+FF46  ; [.1684.0020.0003.FF46] # FULLWIDTH LATIN SMALL LETTER F
+24A1  ; [*02FB.0020.0004.24A1][.1684.0020.0004.24A1][*02FC.0020.001F.24A1] # PARENTHESIZED LATIN SMALL LETTER F
+1D41F ; [.1684.0020.0005.1D41F] # MATHEMATICAL BOLD SMALL F
+1D453 ; [.1684.0020.0005.1D453] # MATHEMATICAL ITALIC SMALL F
+1D487 ; [.1684.0020.0005.1D487] # MATHEMATICAL BOLD ITALIC SMALL F
+1D4BB ; [.1684.0020.0005.1D4BB] # MATHEMATICAL SCRIPT SMALL F
+1D4EF ; [.1684.0020.0005.1D4EF] # MATHEMATICAL BOLD SCRIPT SMALL F
+1D523 ; [.1684.0020.0005.1D523] # MATHEMATICAL FRAKTUR SMALL F
+1D557 ; [.1684.0020.0005.1D557] # MATHEMATICAL DOUBLE-STRUCK SMALL F
+1D58B ; [.1684.0020.0005.1D58B] # MATHEMATICAL BOLD FRAKTUR SMALL F
+1D5BF ; [.1684.0020.0005.1D5BF] # MATHEMATICAL SANS-SERIF SMALL F
+1D5F3 ; [.1684.0020.0005.1D5F3] # MATHEMATICAL SANS-SERIF BOLD SMALL F
+1D627 ; [.1684.0020.0005.1D627] # MATHEMATICAL SANS-SERIF ITALIC SMALL F
+1D65B ; [.1684.0020.0005.1D65B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F
+1D68F ; [.1684.0020.0005.1D68F] # MATHEMATICAL MONOSPACE SMALL F
+24D5  ; [.1684.0020.0006.24D5] # CIRCLED LATIN SMALL LETTER F
+0046  ; [.1684.0020.0008.0046] # LATIN CAPITAL LETTER F
+FF26  ; [.1684.0020.0009.FF26] # FULLWIDTH LATIN CAPITAL LETTER F
+2109  ; [*0482.0020.0004.2109][.1684.0020.000A.2109] # DEGREE FAHRENHEIT
+1F115 ; [*02FB.0020.0004.1F115][.1684.0020.000A.1F115][*02FC.0020.001F.1F115] # PARENTHESIZED LATIN CAPITAL LETTER F
+2131  ; [.1684.0020.000B.2131] # SCRIPT CAPITAL F
+1D405 ; [.1684.0020.000B.1D405] # MATHEMATICAL BOLD CAPITAL F
+1D439 ; [.1684.0020.000B.1D439] # MATHEMATICAL ITALIC CAPITAL F
+1D46D ; [.1684.0020.000B.1D46D] # MATHEMATICAL BOLD ITALIC CAPITAL F
+1D4D5 ; [.1684.0020.000B.1D4D5] # MATHEMATICAL BOLD SCRIPT CAPITAL F
+1D509 ; [.1684.0020.000B.1D509] # MATHEMATICAL FRAKTUR CAPITAL F
+1D53D ; [.1684.0020.000B.1D53D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL F
+1D571 ; [.1684.0020.000B.1D571] # MATHEMATICAL BOLD FRAKTUR CAPITAL F
+1D5A5 ; [.1684.0020.000B.1D5A5] # MATHEMATICAL SANS-SERIF CAPITAL F
+1D5D9 ; [.1684.0020.000B.1D5D9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL F
+1D60D ; [.1684.0020.000B.1D60D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL F
+1D641 ; [.1684.0020.000B.1D641] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F
+1D675 ; [.1684.0020.000B.1D675] # MATHEMATICAL MONOSPACE CAPITAL F
+24BB  ; [.1684.0020.000C.24BB] # CIRCLED LATIN CAPITAL LETTER F
+1F155 ; [.1684.0020.000C.1F155] # NEGATIVE CIRCLED LATIN CAPITAL LETTER F
+1DA0  ; [.1684.0020.0014.1DA0] # MODIFIER LETTER SMALL F
+1F135 ; [.1684.0020.001D.1F135] # SQUARED LATIN CAPITAL LETTER F
+1F175 ; [.1684.0020.001D.1F175] # NEGATIVE SQUARED LATIN CAPITAL LETTER F
+1E1F  ; [.1684.0020.0002.0066][.0000.0052.0002.0307] # LATIN SMALL LETTER F WITH DOT ABOVE
+1E1E  ; [.1684.0020.0008.0046][.0000.0052.0002.0307] # LATIN CAPITAL LETTER F WITH DOT ABOVE
+A77C  ; [.1684.0020.0004.A77C][.0000.013A.0004.A77C] # LATIN SMALL LETTER INSULAR F
+A77B  ; [.1684.0020.000A.A77B][.0000.013A.0004.A77B] # LATIN CAPITAL LETTER INSULAR F
+213B  ; [.1684.0020.000A.213B][.15EF.0020.000A.213B][.187B.0020.000A.213B] # FACSIMILE SIGN
+FB00  ; [.1684.0020.0004.FB00][.1684.0020.0004.FB00] # LATIN SMALL LIGATURE FF
+FB03  ; [.1684.0020.0004.FB03][.1684.0020.0004.FB03][.16CD.0020.0004.FB03] # LATIN SMALL LIGATURE FFI
+FB04  ; [.1684.0020.0004.FB04][.1684.0020.0004.FB04][.1711.0020.0004.FB04] # LATIN SMALL LIGATURE FFL
+FB01  ; [.1684.0020.0004.FB01][.16CD.0020.0004.FB01] # LATIN SMALL LIGATURE FI
+FB02  ; [.1684.0020.0004.FB02][.1711.0020.0004.FB02] # LATIN SMALL LIGATURE FL
+3399  ; [.1684.0020.001C.3399][.1741.0020.001C.3399] # SQUARE FM
+02A9  ; [.1684.0020.0004.02A9][.176D.0020.0004.02A9] # LATIN SMALL LETTER FENG DIGRAPH
+1F193 ; [.1684.0020.001D.1F193][.17BD.0020.001D.1F193][.164C.0020.001D.1F193][.164C.0020.001D.1F193] # SQUARED FREE
+A730  ; [.1688.0020.0002.A730] # LATIN LETTER SMALL CAPITAL F
+1D6E  ; [.1689.0020.0002.1D6E] # LATIN SMALL LETTER F WITH MIDDLE TILDE
+1D82  ; [.168A.0020.0002.1D82] # LATIN SMALL LETTER F WITH PALATAL HOOK
+0192  ; [.168B.0020.0002.0192] # LATIN SMALL LETTER F WITH HOOK
+0191  ; [.168B.0020.0008.0191] # LATIN CAPITAL LETTER F WITH HOOK
+214E  ; [.168F.0020.0002.214E] # TURNED SMALL F
+2132  ; [.168F.0020.0008.2132] # TURNED CAPITAL F
+A7FB  ; [.1690.0020.0002.A7FB] # LATIN EPIGRAPHIC LETTER REVERSED F
+0067  ; [.1691.0020.0002.0067] # LATIN SMALL LETTER G
+FF47  ; [.1691.0020.0003.FF47] # FULLWIDTH LATIN SMALL LETTER G
+1DDA  ; [.1691.0020.0004.1DDA] # COMBINING LATIN SMALL LETTER G
+24A2  ; [*02FB.0020.0004.24A2][.1691.0020.0004.24A2][*02FC.0020.001F.24A2] # PARENTHESIZED LATIN SMALL LETTER G
+210A  ; [.1691.0020.0005.210A] # SCRIPT SMALL G
+1D420 ; [.1691.0020.0005.1D420] # MATHEMATICAL BOLD SMALL G
+1D454 ; [.1691.0020.0005.1D454] # MATHEMATICAL ITALIC SMALL G
+1D488 ; [.1691.0020.0005.1D488] # MATHEMATICAL BOLD ITALIC SMALL G
+1D4F0 ; [.1691.0020.0005.1D4F0] # MATHEMATICAL BOLD SCRIPT SMALL G
+1D524 ; [.1691.0020.0005.1D524] # MATHEMATICAL FRAKTUR SMALL G
+1D558 ; [.1691.0020.0005.1D558] # MATHEMATICAL DOUBLE-STRUCK SMALL G
+1D58C ; [.1691.0020.0005.1D58C] # MATHEMATICAL BOLD FRAKTUR SMALL G
+1D5C0 ; [.1691.0020.0005.1D5C0] # MATHEMATICAL SANS-SERIF SMALL G
+1D5F4 ; [.1691.0020.0005.1D5F4] # MATHEMATICAL SANS-SERIF BOLD SMALL G
+1D628 ; [.1691.0020.0005.1D628] # MATHEMATICAL SANS-SERIF ITALIC SMALL G
+1D65C ; [.1691.0020.0005.1D65C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G
+1D690 ; [.1691.0020.0005.1D690] # MATHEMATICAL MONOSPACE SMALL G
+24D6  ; [.1691.0020.0006.24D6] # CIRCLED LATIN SMALL LETTER G
+0047  ; [.1691.0020.0008.0047] # LATIN CAPITAL LETTER G
+FF27  ; [.1691.0020.0009.FF27] # FULLWIDTH LATIN CAPITAL LETTER G
+1F116 ; [*02FB.0020.0004.1F116][.1691.0020.000A.1F116][*02FC.0020.001F.1F116] # PARENTHESIZED LATIN CAPITAL LETTER G
+1D406 ; [.1691.0020.000B.1D406] # MATHEMATICAL BOLD CAPITAL G
+1D43A ; [.1691.0020.000B.1D43A] # MATHEMATICAL ITALIC CAPITAL G
+1D46E ; [.1691.0020.000B.1D46E] # MATHEMATICAL BOLD ITALIC CAPITAL G
+1D4A2 ; [.1691.0020.000B.1D4A2] # MATHEMATICAL SCRIPT CAPITAL G
+1D4D6 ; [.1691.0020.000B.1D4D6] # MATHEMATICAL BOLD SCRIPT CAPITAL G
+1D50A ; [.1691.0020.000B.1D50A] # MATHEMATICAL FRAKTUR CAPITAL G
+1D53E ; [.1691.0020.000B.1D53E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL G
+1D572 ; [.1691.0020.000B.1D572] # MATHEMATICAL BOLD FRAKTUR CAPITAL G
+1D5A6 ; [.1691.0020.000B.1D5A6] # MATHEMATICAL SANS-SERIF CAPITAL G
+1D5DA ; [.1691.0020.000B.1D5DA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL G
+1D60E ; [.1691.0020.000B.1D60E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL G
+1D642 ; [.1691.0020.000B.1D642] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G
+1D676 ; [.1691.0020.000B.1D676] # MATHEMATICAL MONOSPACE CAPITAL G
+24BC  ; [.1691.0020.000C.24BC] # CIRCLED LATIN CAPITAL LETTER G
+1F156 ; [.1691.0020.000C.1F156] # NEGATIVE CIRCLED LATIN CAPITAL LETTER G
+1D4D  ; [.1691.0020.0014.1D4D] # MODIFIER LETTER SMALL G
+1D33  ; [.1691.0020.001D.1D33] # MODIFIER LETTER CAPITAL G
+1F136 ; [.1691.0020.001D.1F136] # SQUARED LATIN CAPITAL LETTER G
+1F176 ; [.1691.0020.001D.1F176] # NEGATIVE SQUARED LATIN CAPITAL LETTER G
+01F5  ; [.1691.0020.0002.0067][.0000.0032.0002.0301] # LATIN SMALL LETTER G WITH ACUTE
+01F4  ; [.1691.0020.0008.0047][.0000.0032.0002.0301] # LATIN CAPITAL LETTER G WITH ACUTE
+011F  ; [.1691.0020.0002.0067][.0000.0037.0002.0306] # LATIN SMALL LETTER G WITH BREVE
+011E  ; [.1691.0020.0008.0047][.0000.0037.0002.0306] # LATIN CAPITAL LETTER G WITH BREVE
+011D  ; [.1691.0020.0002.0067][.0000.003C.0002.0302] # LATIN SMALL LETTER G WITH CIRCUMFLEX
+011C  ; [.1691.0020.0008.0047][.0000.003C.0002.0302] # LATIN CAPITAL LETTER G WITH CIRCUMFLEX
+01E7  ; [.1691.0020.0002.0067][.0000.0041.0002.030C] # LATIN SMALL LETTER G WITH CARON
+01E6  ; [.1691.0020.0008.0047][.0000.0041.0002.030C] # LATIN CAPITAL LETTER G WITH CARON
+0121  ; [.1691.0020.0002.0067][.0000.0052.0002.0307] # LATIN SMALL LETTER G WITH DOT ABOVE
+0120  ; [.1691.0020.0008.0047][.0000.0052.0002.0307] # LATIN CAPITAL LETTER G WITH DOT ABOVE
+0123  ; [.1691.0020.0002.0067][.0000.0056.0002.0327] # LATIN SMALL LETTER G WITH CEDILLA
+0122  ; [.1691.0020.0008.0047][.0000.0056.0002.0327] # LATIN CAPITAL LETTER G WITH CEDILLA
+1E21  ; [.1691.0020.0002.0067][.0000.005B.0002.0304] # LATIN SMALL LETTER G WITH MACRON
+1E20  ; [.1691.0020.0008.0047][.0000.005B.0002.0304] # LATIN CAPITAL LETTER G WITH MACRON
+A7A1  ; [.1691.0020.0004.A7A1][.0000.0061.0004.A7A1] # LATIN SMALL LETTER G WITH OBLIQUE STROKE
+A7A0  ; [.1691.0020.000A.A7A0][.0000.0061.0004.A7A0] # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
+1D79  ; [.1691.0020.0004.1D79][.0000.013A.0004.1D79] # LATIN SMALL LETTER INSULAR G
+A77D  ; [.1691.0020.000A.A77D][.0000.013A.0004.A77D] # LATIN CAPITAL LETTER INSULAR G
+33FF  ; [.1691.0020.001C.33FF][.15EF.0020.001C.33FF][.1711.0020.001C.33FF] # SQUARE GAL
+3387  ; [.1691.0020.001D.3387][.1605.0020.001D.3387] # SQUARE GB
+3393  ; [.1691.0020.001D.3393][.16B4.0020.001D.3393][.1895.0020.001C.3393] # SQUARE GHZ
+33AC  ; [.1691.0020.001D.33AC][.1796.0020.001D.33AC][.15EF.0020.001C.33AC] # SQUARE GPA
+33C9  ; [.1691.0020.001D.33C9][.1880.0020.001C.33C9] # SQUARE GY
+0261  ; [.1695.0020.0002.0261] # LATIN SMALL LETTER SCRIPT G
+1DA2  ; [.1695.0020.0014.1DA2] # MODIFIER LETTER SMALL SCRIPT G
+0262  ; [.1699.0020.0002.0262] # LATIN LETTER SMALL CAPITAL G
+1DDB  ; [.1699.0020.0004.1DDB] # COMBINING LATIN LETTER SMALL CAPITAL G
+01E5  ; [.169D.0020.0002.01E5] # LATIN SMALL LETTER G WITH STROKE
+01E4  ; [.169D.0020.0008.01E4] # LATIN CAPITAL LETTER G WITH STROKE
+1D83  ; [.16A1.0020.0002.1D83] # LATIN SMALL LETTER G WITH PALATAL HOOK
+0260  ; [.16A2.0020.0002.0260] # LATIN SMALL LETTER G WITH HOOK
+0193  ; [.16A2.0020.0008.0193] # LATIN CAPITAL LETTER G WITH HOOK
+029B  ; [.16A6.0020.0002.029B] # LATIN LETTER SMALL CAPITAL G WITH HOOK
+1D77  ; [.16AA.0020.0002.1D77] # LATIN SMALL LETTER TURNED G
+A77F  ; [.16AB.0020.0002.A77F] # LATIN SMALL LETTER TURNED INSULAR G
+A77E  ; [.16AB.0020.0008.A77E] # LATIN CAPITAL LETTER TURNED INSULAR G
+0263  ; [.16AC.0020.0002.0263] # LATIN SMALL LETTER GAMMA
+0194  ; [.16AC.0020.0008.0194] # LATIN CAPITAL LETTER GAMMA
+02E0  ; [.16AC.0020.0014.02E0] # MODIFIER LETTER SMALL GAMMA
+01A3  ; [.16B0.0020.0002.01A3] # LATIN SMALL LETTER OI
+01A2  ; [.16B0.0020.0008.01A2] # LATIN CAPITAL LETTER OI
+0068  ; [.16B4.0020.0002.0068] # LATIN SMALL LETTER H
+FF48  ; [.16B4.0020.0003.FF48] # FULLWIDTH LATIN SMALL LETTER H
+036A  ; [.16B4.0020.0004.036A] # COMBINING LATIN SMALL LETTER H
+24A3  ; [*02FB.0020.0004.24A3][.16B4.0020.0004.24A3][*02FC.0020.001F.24A3] # PARENTHESIZED LATIN SMALL LETTER H
+210E  ; [.16B4.0020.0005.210E] # PLANCK CONSTANT
+1D421 ; [.16B4.0020.0005.1D421] # MATHEMATICAL BOLD SMALL H
+1D489 ; [.16B4.0020.0005.1D489] # MATHEMATICAL BOLD ITALIC SMALL H
+1D4BD ; [.16B4.0020.0005.1D4BD] # MATHEMATICAL SCRIPT SMALL H
+1D4F1 ; [.16B4.0020.0005.1D4F1] # MATHEMATICAL BOLD SCRIPT SMALL H
+1D525 ; [.16B4.0020.0005.1D525] # MATHEMATICAL FRAKTUR SMALL H
+1D559 ; [.16B4.0020.0005.1D559] # MATHEMATICAL DOUBLE-STRUCK SMALL H
+1D58D ; [.16B4.0020.0005.1D58D] # MATHEMATICAL BOLD FRAKTUR SMALL H
+1D5C1 ; [.16B4.0020.0005.1D5C1] # MATHEMATICAL SANS-SERIF SMALL H
+1D5F5 ; [.16B4.0020.0005.1D5F5] # MATHEMATICAL SANS-SERIF BOLD SMALL H
+1D629 ; [.16B4.0020.0005.1D629] # MATHEMATICAL SANS-SERIF ITALIC SMALL H
+1D65D ; [.16B4.0020.0005.1D65D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H
+1D691 ; [.16B4.0020.0005.1D691] # MATHEMATICAL MONOSPACE SMALL H
+24D7  ; [.16B4.0020.0006.24D7] # CIRCLED LATIN SMALL LETTER H
+0048  ; [.16B4.0020.0008.0048] # LATIN CAPITAL LETTER H
+FF28  ; [.16B4.0020.0009.FF28] # FULLWIDTH LATIN CAPITAL LETTER H
+1F117 ; [*02FB.0020.0004.1F117][.16B4.0020.000A.1F117][*02FC.0020.001F.1F117] # PARENTHESIZED LATIN CAPITAL LETTER H
+210B  ; [.16B4.0020.000B.210B] # SCRIPT CAPITAL H
+210C  ; [.16B4.0020.000B.210C] # BLACK-LETTER CAPITAL H
+210D  ; [.16B4.0020.000B.210D] # DOUBLE-STRUCK CAPITAL H
+1D407 ; [.16B4.0020.000B.1D407] # MATHEMATICAL BOLD CAPITAL H
+1D43B ; [.16B4.0020.000B.1D43B] # MATHEMATICAL ITALIC CAPITAL H
+1D46F ; [.16B4.0020.000B.1D46F] # MATHEMATICAL BOLD ITALIC CAPITAL H
+1D4D7 ; [.16B4.0020.000B.1D4D7] # MATHEMATICAL BOLD SCRIPT CAPITAL H
+1D573 ; [.16B4.0020.000B.1D573] # MATHEMATICAL BOLD FRAKTUR CAPITAL H
+1D5A7 ; [.16B4.0020.000B.1D5A7] # MATHEMATICAL SANS-SERIF CAPITAL H
+1D5DB ; [.16B4.0020.000B.1D5DB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL H
+1D60F ; [.16B4.0020.000B.1D60F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL H
+1D643 ; [.16B4.0020.000B.1D643] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H
+1D677 ; [.16B4.0020.000B.1D677] # MATHEMATICAL MONOSPACE CAPITAL H
+24BD  ; [.16B4.0020.000C.24BD] # CIRCLED LATIN CAPITAL LETTER H
+1F157 ; [.16B4.0020.000C.1F157] # NEGATIVE CIRCLED LATIN CAPITAL LETTER H
+02B0  ; [.16B4.0020.0014.02B0] # MODIFIER LETTER SMALL H
+2095  ; [.16B4.0020.0015.2095] # LATIN SUBSCRIPT SMALL LETTER H
+1D34  ; [.16B4.0020.001D.1D34] # MODIFIER LETTER CAPITAL H
+1F137 ; [.16B4.0020.001D.1F137] # SQUARED LATIN CAPITAL LETTER H
+1F177 ; [.16B4.0020.001D.1F177] # NEGATIVE SQUARED LATIN CAPITAL LETTER H
+0125  ; [.16B4.0020.0002.0068][.0000.003C.0002.0302] # LATIN SMALL LETTER H WITH CIRCUMFLEX
+0124  ; [.16B4.0020.0008.0048][.0000.003C.0002.0302] # LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+021F  ; [.16B4.0020.0002.0068][.0000.0041.0002.030C] # LATIN SMALL LETTER H WITH CARON
+021E  ; [.16B4.0020.0008.0048][.0000.0041.0002.030C] # LATIN CAPITAL LETTER H WITH CARON
+1E27  ; [.16B4.0020.0002.0068][.0000.0047.0002.0308] # LATIN SMALL LETTER H WITH DIAERESIS
+1E26  ; [.16B4.0020.0008.0048][.0000.0047.0002.0308] # LATIN CAPITAL LETTER H WITH DIAERESIS
+1E23  ; [.16B4.0020.0002.0068][.0000.0052.0002.0307] # LATIN SMALL LETTER H WITH DOT ABOVE
+1E22  ; [.16B4.0020.0008.0048][.0000.0052.0002.0307] # LATIN CAPITAL LETTER H WITH DOT ABOVE
+1E29  ; [.16B4.0020.0002.0068][.0000.0056.0002.0327] # LATIN SMALL LETTER H WITH CEDILLA
+1E28  ; [.16B4.0020.0008.0048][.0000.0056.0002.0327] # LATIN CAPITAL LETTER H WITH CEDILLA
+1E25  ; [.16B4.0020.0002.0068][.0000.0070.0002.0323] # LATIN SMALL LETTER H WITH DOT BELOW
+1E24  ; [.16B4.0020.0008.0048][.0000.0070.0002.0323] # LATIN CAPITAL LETTER H WITH DOT BELOW
+1E2B  ; [.16B4.0020.0002.0068][.0000.0079.0002.032E] # LATIN SMALL LETTER H WITH BREVE BELOW
+1E2A  ; [.16B4.0020.0008.0048][.0000.0079.0002.032E] # LATIN CAPITAL LETTER H WITH BREVE BELOW
+1E96  ; [.16B4.0020.0002.0068][.0000.007B.0002.0331] # LATIN SMALL LETTER H WITH LINE BELOW
+0127  ; [.16B4.0020.0002.0068][.0000.007D.0002.0335] # LATIN SMALL LETTER H WITH STROKE
+210F  ; [.16B4.0020.0002.210F][.0000.007D.0002.210F] # PLANCK CONSTANT OVER TWO PI
+0126  ; [.16B4.0020.0008.0048][.0000.007D.0002.0335] # LATIN CAPITAL LETTER H WITH STROKE
+A7F8  ; [.16B4.0020.0014.A7F8][.0000.007D.0014.A7F8] # MODIFIER LETTER CAPITAL H WITH STROKE
+33CA  ; [.16B4.0020.001C.33CA][.15EF.0020.001C.33CA] # SQUARE HA
+32CC  ; [.16B4.0020.001D.32CC][.1691.0020.001C.32CC] # SQUARE HG
+33CB  ; [.16B4.0020.001D.33CB][.1796.0020.001D.33CB] # SQUARE HP
+3371  ; [.16B4.0020.001C.3371][.1796.0020.001D.3371][.15EF.0020.001C.3371] # SQUARE HPA
+1F14A ; [.16B4.0020.001D.1F14A][.185F.0020.001D.1F14A] # SQUARED HV
+3390  ; [.16B4.0020.001D.3390][.1895.0020.001C.3390] # SQUARE HZ
+029C  ; [.16B8.0020.0002.029C] # LATIN LETTER SMALL CAPITAL H
+0195  ; [.16BC.0020.0002.0195] # LATIN SMALL LETTER HV
+01F6  ; [.16BC.0020.0008.01F6] # LATIN CAPITAL LETTER HWAIR
+0266  ; [.16C0.0020.0002.0266] # LATIN SMALL LETTER H WITH HOOK
+A7AA  ; [.16C0.0020.0008.A7AA] # LATIN CAPITAL LETTER H WITH HOOK
+02B1  ; [.16C0.0020.0014.02B1] # MODIFIER LETTER SMALL H WITH HOOK
+2C68  ; [.16C4.0020.0002.2C68] # LATIN SMALL LETTER H WITH DESCENDER
+2C67  ; [.16C4.0020.0008.2C67] # LATIN CAPITAL LETTER H WITH DESCENDER
+2C76  ; [.16C5.0020.0002.2C76] # LATIN SMALL LETTER HALF H
+2C75  ; [.16C5.0020.0008.2C75] # LATIN CAPITAL LETTER HALF H
+A727  ; [.16C6.0020.0002.A727] # LATIN SMALL LETTER HENG
+A726  ; [.16C6.0020.0008.A726] # LATIN CAPITAL LETTER HENG
+0267  ; [.16C7.0020.0002.0267] # LATIN SMALL LETTER HENG WITH HOOK
+02BB  ; [.16CB.0020.0002.02BB] # MODIFIER LETTER TURNED COMMA
+02BD  ; [.16CC.0020.0002.02BD] # MODIFIER LETTER REVERSED COMMA
+0069  ; [.16CD.0020.0002.0069] # LATIN SMALL LETTER I
+FF49  ; [.16CD.0020.0003.FF49] # FULLWIDTH LATIN SMALL LETTER I
+0365  ; [.16CD.0020.0004.0365] # COMBINING LATIN SMALL LETTER I
+2170  ; [.16CD.0020.0004.2170] # SMALL ROMAN NUMERAL ONE
+24A4  ; [*02FB.0020.0004.24A4][.16CD.0020.0004.24A4][*02FC.0020.001F.24A4] # PARENTHESIZED LATIN SMALL LETTER I
+2139  ; [.16CD.0020.0005.2139] # INFORMATION SOURCE
+2148  ; [.16CD.0020.0005.2148] # DOUBLE-STRUCK ITALIC SMALL I
+1D422 ; [.16CD.0020.0005.1D422] # MATHEMATICAL BOLD SMALL I
+1D456 ; [.16CD.0020.0005.1D456] # MATHEMATICAL ITALIC SMALL I
+1D48A ; [.16CD.0020.0005.1D48A] # MATHEMATICAL BOLD ITALIC SMALL I
+1D4BE ; [.16CD.0020.0005.1D4BE] # MATHEMATICAL SCRIPT SMALL I
+1D4F2 ; [.16CD.0020.0005.1D4F2] # MATHEMATICAL BOLD SCRIPT SMALL I
+1D526 ; [.16CD.0020.0005.1D526] # MATHEMATICAL FRAKTUR SMALL I
+1D55A ; [.16CD.0020.0005.1D55A] # MATHEMATICAL DOUBLE-STRUCK SMALL I
+1D58E ; [.16CD.0020.0005.1D58E] # MATHEMATICAL BOLD FRAKTUR SMALL I
+1D5C2 ; [.16CD.0020.0005.1D5C2] # MATHEMATICAL SANS-SERIF SMALL I
+1D5F6 ; [.16CD.0020.0005.1D5F6] # MATHEMATICAL SANS-SERIF BOLD SMALL I
+1D62A ; [.16CD.0020.0005.1D62A] # MATHEMATICAL SANS-SERIF ITALIC SMALL I
+1D65E ; [.16CD.0020.0005.1D65E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I
+1D692 ; [.16CD.0020.0005.1D692] # MATHEMATICAL MONOSPACE SMALL I
+24D8  ; [.16CD.0020.0006.24D8] # CIRCLED LATIN SMALL LETTER I
+0049  ; [.16CD.0020.0008.0049] # LATIN CAPITAL LETTER I
+FF29  ; [.16CD.0020.0009.FF29] # FULLWIDTH LATIN CAPITAL LETTER I
+2160  ; [.16CD.0020.000A.2160] # ROMAN NUMERAL ONE
+1F118 ; [*02FB.0020.0004.1F118][.16CD.0020.000A.1F118][*02FC.0020.001F.1F118] # PARENTHESIZED LATIN CAPITAL LETTER I
+2110  ; [.16CD.0020.000B.2110] # SCRIPT CAPITAL I
+2111  ; [.16CD.0020.000B.2111] # BLACK-LETTER CAPITAL I
+1D408 ; [.16CD.0020.000B.1D408] # MATHEMATICAL BOLD CAPITAL I
+1D43C ; [.16CD.0020.000B.1D43C] # MATHEMATICAL ITALIC CAPITAL I
+1D470 ; [.16CD.0020.000B.1D470] # MATHEMATICAL BOLD ITALIC CAPITAL I
+1D4D8 ; [.16CD.0020.000B.1D4D8] # MATHEMATICAL BOLD SCRIPT CAPITAL I
+1D540 ; [.16CD.0020.000B.1D540] # MATHEMATICAL DOUBLE-STRUCK CAPITAL I
+1D574 ; [.16CD.0020.000B.1D574] # MATHEMATICAL BOLD FRAKTUR CAPITAL I
+1D5A8 ; [.16CD.0020.000B.1D5A8] # MATHEMATICAL SANS-SERIF CAPITAL I
+1D5DC ; [.16CD.0020.000B.1D5DC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL I
+1D610 ; [.16CD.0020.000B.1D610] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL I
+1D644 ; [.16CD.0020.000B.1D644] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I
+1D678 ; [.16CD.0020.000B.1D678] # MATHEMATICAL MONOSPACE CAPITAL I
+24BE  ; [.16CD.0020.000C.24BE] # CIRCLED LATIN CAPITAL LETTER I
+1F158 ; [.16CD.0020.000C.1F158] # NEGATIVE CIRCLED LATIN CAPITAL LETTER I
+2071  ; [.16CD.0020.0014.2071] # SUPERSCRIPT LATIN SMALL LETTER I
+1D62  ; [.16CD.0020.0015.1D62] # LATIN SUBSCRIPT SMALL LETTER I
+1D35  ; [.16CD.0020.001D.1D35] # MODIFIER LETTER CAPITAL I
+1F138 ; [.16CD.0020.001D.1F138] # SQUARED LATIN CAPITAL LETTER I
+1F178 ; [.16CD.0020.001D.1F178] # NEGATIVE SQUARED LATIN CAPITAL LETTER I
+00ED  ; [.16CD.0020.0002.0069][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH ACUTE
+00CD  ; [.16CD.0020.0008.0049][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH ACUTE
+00EC  ; [.16CD.0020.0002.0069][.0000.0035.0002.0300] # LATIN SMALL LETTER I WITH GRAVE
+00CC  ; [.16CD.0020.0008.0049][.0000.0035.0002.0300] # LATIN CAPITAL LETTER I WITH GRAVE
+012D  ; [.16CD.0020.0002.0069][.0000.0037.0002.0306] # LATIN SMALL LETTER I WITH BREVE
+012C  ; [.16CD.0020.0008.0049][.0000.0037.0002.0306] # LATIN CAPITAL LETTER I WITH BREVE
+00EE  ; [.16CD.0020.0002.0069][.0000.003C.0002.0302] # LATIN SMALL LETTER I WITH CIRCUMFLEX
+00CE  ; [.16CD.0020.0008.0049][.0000.003C.0002.0302] # LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+01D0  ; [.16CD.0020.0002.0069][.0000.0041.0002.030C] # LATIN SMALL LETTER I WITH CARON
+01CF  ; [.16CD.0020.0008.0049][.0000.0041.0002.030C] # LATIN CAPITAL LETTER I WITH CARON
+00EF  ; [.16CD.0020.0002.0069][.0000.0047.0002.0308] # LATIN SMALL LETTER I WITH DIAERESIS
+00CF  ; [.16CD.0020.0008.0049][.0000.0047.0002.0308] # LATIN CAPITAL LETTER I WITH DIAERESIS
+1E2F  ; [.16CD.0020.0002.0069][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE
+1E2E  ; [.16CD.0020.0008.0049][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE
+0129  ; [.16CD.0020.0002.0069][.0000.004E.0002.0303] # LATIN SMALL LETTER I WITH TILDE
+0128  ; [.16CD.0020.0008.0049][.0000.004E.0002.0303] # LATIN CAPITAL LETTER I WITH TILDE
+0130  ; [.16CD.0020.0008.0049][.0000.0052.0002.0307] # LATIN CAPITAL LETTER I WITH DOT ABOVE
+012F  ; [.16CD.0020.0002.0069][.0000.0059.0002.0328] # LATIN SMALL LETTER I WITH OGONEK
+012E  ; [.16CD.0020.0008.0049][.0000.0059.0002.0328] # LATIN CAPITAL LETTER I WITH OGONEK
+012B  ; [.16CD.0020.0002.0069][.0000.005B.0002.0304] # LATIN SMALL LETTER I WITH MACRON
+012A  ; [.16CD.0020.0008.0049][.0000.005B.0002.0304] # LATIN CAPITAL LETTER I WITH MACRON
+1EC9  ; [.16CD.0020.0002.0069][.0000.0064.0002.0309] # LATIN SMALL LETTER I WITH HOOK ABOVE
+1EC8  ; [.16CD.0020.0008.0049][.0000.0064.0002.0309] # LATIN CAPITAL LETTER I WITH HOOK ABOVE
+0209  ; [.16CD.0020.0002.0069][.0000.0065.0002.030F] # LATIN SMALL LETTER I WITH DOUBLE GRAVE
+0208  ; [.16CD.0020.0008.0049][.0000.0065.0002.030F] # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE
+020B  ; [.16CD.0020.0002.0069][.0000.0067.0002.0311] # LATIN SMALL LETTER I WITH INVERTED BREVE
+020A  ; [.16CD.0020.0008.0049][.0000.0067.0002.0311] # LATIN CAPITAL LETTER I WITH INVERTED BREVE
+1ECB  ; [.16CD.0020.0002.0069][.0000.0070.0002.0323] # LATIN SMALL LETTER I WITH DOT BELOW
+1ECA  ; [.16CD.0020.0008.0049][.0000.0070.0002.0323] # LATIN CAPITAL LETTER I WITH DOT BELOW
+1E2D  ; [.16CD.0020.0002.0069][.0000.007A.0002.0330] # LATIN SMALL LETTER I WITH TILDE BELOW
+1E2C  ; [.16CD.0020.0008.0049][.0000.007A.0002.0330] # LATIN CAPITAL LETTER I WITH TILDE BELOW
+1F18B ; [.16CD.0020.001D.1F18B][.161D.0020.001D.1F18B] # NEGATIVE SQUARED IC
+1F194 ; [.16CD.0020.001D.1F194][.1631.0020.001D.1F194] # SQUARED ID
+2171  ; [.16CD.0020.0004.2171][.16CD.0020.001F.2171] # SMALL ROMAN NUMERAL TWO
+2161  ; [.16CD.0020.000A.2161][.16CD.0020.001F.2161] # ROMAN NUMERAL TWO
+2172  ; [.16CD.0020.0004.2172][.16CD.0020.0004.2172][.16CD.0020.001F.2172] # SMALL ROMAN NUMERAL THREE
+2162  ; [.16CD.0020.000A.2162][.16CD.0020.000A.2162][.16CD.0020.001F.2162] # ROMAN NUMERAL THREE
+0133  ; [.16CD.0020.0004.0133][.16E6.0020.0004.0133] # LATIN SMALL LIGATURE IJ
+0132  ; [.16CD.0020.000A.0132][.16E6.0020.000A.0132] # LATIN CAPITAL LIGATURE IJ
+33CC  ; [.16CD.0020.001C.33CC][.174F.0020.001C.33CC] # SQUARE IN
+337A  ; [.16CD.0020.001D.337A][.1836.0020.001D.337A] # SQUARE IU
+2173  ; [.16CD.0020.0004.2173][.185F.0020.001F.2173] # SMALL ROMAN NUMERAL FOUR
+2163  ; [.16CD.0020.000A.2163][.185F.0020.001F.2163] # ROMAN NUMERAL FOUR
+2178  ; [.16CD.0020.0004.2178][.187B.0020.001F.2178] # SMALL ROMAN NUMERAL NINE
+2168  ; [.16CD.0020.000A.2168][.187B.0020.001F.2168] # ROMAN NUMERAL NINE
+0131  ; [.16D1.0020.0002.0131] # LATIN SMALL LETTER DOTLESS I
+1D6A4 ; [.16D1.0020.0005.1D6A4] # MATHEMATICAL ITALIC SMALL DOTLESS I
+026A  ; [.16D5.0020.0002.026A] # LATIN LETTER SMALL CAPITAL I
+1DA6  ; [.16D5.0020.0014.1DA6] # MODIFIER LETTER SMALL CAPITAL I
+A7FE  ; [.16D9.0020.0002.A7FE] # LATIN EPIGRAPHIC LETTER I LONGA
+1D09  ; [.16DA.0020.0002.1D09] # LATIN SMALL LETTER TURNED I
+1D4E  ; [.16DA.0020.0014.1D4E] # MODIFIER LETTER SMALL TURNED I
+0268  ; [.16DB.0020.0002.0268] # LATIN SMALL LETTER I WITH STROKE
+0197  ; [.16DB.0020.0008.0197] # LATIN CAPITAL LETTER I WITH STROKE
+1DA4  ; [.16DB.0020.0014.1DA4] # MODIFIER LETTER SMALL I WITH STROKE
+1D7B  ; [.16DF.0020.0002.1D7B] # LATIN SMALL CAPITAL LETTER I WITH STROKE
+1DA7  ; [.16DF.0020.0014.1DA7] # MODIFIER LETTER SMALL CAPITAL I WITH STROKE
+1D96  ; [.16E0.0020.0002.1D96] # LATIN SMALL LETTER I WITH RETROFLEX HOOK
+0269  ; [.16E1.0020.0002.0269] # LATIN SMALL LETTER IOTA
+0196  ; [.16E1.0020.0008.0196] # LATIN CAPITAL LETTER IOTA
+1DA5  ; [.16E1.0020.0014.1DA5] # MODIFIER LETTER SMALL IOTA
+1D7C  ; [.16E5.0020.0002.1D7C] # LATIN SMALL LETTER IOTA WITH STROKE
+006A  ; [.16E6.0020.0002.006A] # LATIN SMALL LETTER J
+FF4A  ; [.16E6.0020.0003.FF4A] # FULLWIDTH LATIN SMALL LETTER J
+24A5  ; [*02FB.0020.0004.24A5][.16E6.0020.0004.24A5][*02FC.0020.001F.24A5] # PARENTHESIZED LATIN SMALL LETTER J
+2149  ; [.16E6.0020.0005.2149] # DOUBLE-STRUCK ITALIC SMALL J
+1D423 ; [.16E6.0020.0005.1D423] # MATHEMATICAL BOLD SMALL J
+1D457 ; [.16E6.0020.0005.1D457] # MATHEMATICAL ITALIC SMALL J
+1D48B ; [.16E6.0020.0005.1D48B] # MATHEMATICAL BOLD ITALIC SMALL J
+1D4BF ; [.16E6.0020.0005.1D4BF] # MATHEMATICAL SCRIPT SMALL J
+1D4F3 ; [.16E6.0020.0005.1D4F3] # MATHEMATICAL BOLD SCRIPT SMALL J
+1D527 ; [.16E6.0020.0005.1D527] # MATHEMATICAL FRAKTUR SMALL J
+1D55B ; [.16E6.0020.0005.1D55B] # MATHEMATICAL DOUBLE-STRUCK SMALL J
+1D58F ; [.16E6.0020.0005.1D58F] # MATHEMATICAL BOLD FRAKTUR SMALL J
+1D5C3 ; [.16E6.0020.0005.1D5C3] # MATHEMATICAL SANS-SERIF SMALL J
+1D5F7 ; [.16E6.0020.0005.1D5F7] # MATHEMATICAL SANS-SERIF BOLD SMALL J
+1D62B ; [.16E6.0020.0005.1D62B] # MATHEMATICAL SANS-SERIF ITALIC SMALL J
+1D65F ; [.16E6.0020.0005.1D65F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J
+1D693 ; [.16E6.0020.0005.1D693] # MATHEMATICAL MONOSPACE SMALL J
+24D9  ; [.16E6.0020.0006.24D9] # CIRCLED LATIN SMALL LETTER J
+004A  ; [.16E6.0020.0008.004A] # LATIN CAPITAL LETTER J
+FF2A  ; [.16E6.0020.0009.FF2A] # FULLWIDTH LATIN CAPITAL LETTER J
+1F119 ; [*02FB.0020.0004.1F119][.16E6.0020.000A.1F119][*02FC.0020.001F.1F119] # PARENTHESIZED LATIN CAPITAL LETTER J
+1D409 ; [.16E6.0020.000B.1D409] # MATHEMATICAL BOLD CAPITAL J
+1D43D ; [.16E6.0020.000B.1D43D] # MATHEMATICAL ITALIC CAPITAL J
+1D471 ; [.16E6.0020.000B.1D471] # MATHEMATICAL BOLD ITALIC CAPITAL J
+1D4A5 ; [.16E6.0020.000B.1D4A5] # MATHEMATICAL SCRIPT CAPITAL J
+1D4D9 ; [.16E6.0020.000B.1D4D9] # MATHEMATICAL BOLD SCRIPT CAPITAL J
+1D50D ; [.16E6.0020.000B.1D50D] # MATHEMATICAL FRAKTUR CAPITAL J
+1D541 ; [.16E6.0020.000B.1D541] # MATHEMATICAL DOUBLE-STRUCK CAPITAL J
+1D575 ; [.16E6.0020.000B.1D575] # MATHEMATICAL BOLD FRAKTUR CAPITAL J
+1D5A9 ; [.16E6.0020.000B.1D5A9] # MATHEMATICAL SANS-SERIF CAPITAL J
+1D5DD ; [.16E6.0020.000B.1D5DD] # MATHEMATICAL SANS-SERIF BOLD CAPITAL J
+1D611 ; [.16E6.0020.000B.1D611] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL J
+1D645 ; [.16E6.0020.000B.1D645] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J
+1D679 ; [.16E6.0020.000B.1D679] # MATHEMATICAL MONOSPACE CAPITAL J
+24BF  ; [.16E6.0020.000C.24BF] # CIRCLED LATIN CAPITAL LETTER J
+1F159 ; [.16E6.0020.000C.1F159] # NEGATIVE CIRCLED LATIN CAPITAL LETTER J
+02B2  ; [.16E6.0020.0014.02B2] # MODIFIER LETTER SMALL J
+2C7C  ; [.16E6.0020.0015.2C7C] # LATIN SUBSCRIPT SMALL LETTER J
+1D36  ; [.16E6.0020.001D.1D36] # MODIFIER LETTER CAPITAL J
+1F139 ; [.16E6.0020.001D.1F139] # SQUARED LATIN CAPITAL LETTER J
+1F179 ; [.16E6.0020.001D.1F179] # NEGATIVE SQUARED LATIN CAPITAL LETTER J
+0135  ; [.16E6.0020.0002.006A][.0000.003C.0002.0302] # LATIN SMALL LETTER J WITH CIRCUMFLEX
+0134  ; [.16E6.0020.0008.004A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER J WITH CIRCUMFLEX
+01F0  ; [.16E6.0020.0002.006A][.0000.0041.0002.030C] # LATIN SMALL LETTER J WITH CARON
+0237  ; [.16EA.0020.0002.0237] # LATIN SMALL LETTER DOTLESS J
+1D6A5 ; [.16EA.0020.0005.1D6A5] # MATHEMATICAL ITALIC SMALL DOTLESS J
+1D0A  ; [.16EE.0020.0002.1D0A] # LATIN LETTER SMALL CAPITAL J
+0249  ; [.16EF.0020.0002.0249] # LATIN SMALL LETTER J WITH STROKE
+0248  ; [.16EF.0020.0008.0248] # LATIN CAPITAL LETTER J WITH STROKE
+029D  ; [.16F3.0020.0002.029D] # LATIN SMALL LETTER J WITH CROSSED-TAIL
+1DA8  ; [.16F3.0020.0014.1DA8] # MODIFIER LETTER SMALL J WITH CROSSED-TAIL
+025F  ; [.16F7.0020.0002.025F] # LATIN SMALL LETTER DOTLESS J WITH STROKE
+1DA1  ; [.16F7.0020.0014.1DA1] # MODIFIER LETTER SMALL DOTLESS J WITH STROKE
+0284  ; [.16FB.0020.0002.0284] # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK
+006B  ; [.16FF.0020.0002.006B] # LATIN SMALL LETTER K
+FF4B  ; [.16FF.0020.0003.FF4B] # FULLWIDTH LATIN SMALL LETTER K
+1DDC  ; [.16FF.0020.0004.1DDC] # COMBINING LATIN SMALL LETTER K
+24A6  ; [*02FB.0020.0004.24A6][.16FF.0020.0004.24A6][*02FC.0020.001F.24A6] # PARENTHESIZED LATIN SMALL LETTER K
+1D424 ; [.16FF.0020.0005.1D424] # MATHEMATICAL BOLD SMALL K
+1D458 ; [.16FF.0020.0005.1D458] # MATHEMATICAL ITALIC SMALL K
+1D48C ; [.16FF.0020.0005.1D48C] # MATHEMATICAL BOLD ITALIC SMALL K
+1D4C0 ; [.16FF.0020.0005.1D4C0] # MATHEMATICAL SCRIPT SMALL K
+1D4F4 ; [.16FF.0020.0005.1D4F4] # MATHEMATICAL BOLD SCRIPT SMALL K
+1D528 ; [.16FF.0020.0005.1D528] # MATHEMATICAL FRAKTUR SMALL K
+1D55C ; [.16FF.0020.0005.1D55C] # MATHEMATICAL DOUBLE-STRUCK SMALL K
+1D590 ; [.16FF.0020.0005.1D590] # MATHEMATICAL BOLD FRAKTUR SMALL K
+1D5C4 ; [.16FF.0020.0005.1D5C4] # MATHEMATICAL SANS-SERIF SMALL K
+1D5F8 ; [.16FF.0020.0005.1D5F8] # MATHEMATICAL SANS-SERIF BOLD SMALL K
+1D62C ; [.16FF.0020.0005.1D62C] # MATHEMATICAL SANS-SERIF ITALIC SMALL K
+1D660 ; [.16FF.0020.0005.1D660] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K
+1D694 ; [.16FF.0020.0005.1D694] # MATHEMATICAL MONOSPACE SMALL K
+24DA  ; [.16FF.0020.0006.24DA] # CIRCLED LATIN SMALL LETTER K
+004B  ; [.16FF.0020.0008.004B] # LATIN CAPITAL LETTER K
+212A  ; [.16FF.0020.0008.212A] # KELVIN SIGN
+FF2B  ; [.16FF.0020.0009.FF2B] # FULLWIDTH LATIN CAPITAL LETTER K
+1F11A ; [*02FB.0020.0004.1F11A][.16FF.0020.000A.1F11A][*02FC.0020.001F.1F11A] # PARENTHESIZED LATIN CAPITAL LETTER K
+1D40A ; [.16FF.0020.000B.1D40A] # MATHEMATICAL BOLD CAPITAL K
+1D43E ; [.16FF.0020.000B.1D43E] # MATHEMATICAL ITALIC CAPITAL K
+1D472 ; [.16FF.0020.000B.1D472] # MATHEMATICAL BOLD ITALIC CAPITAL K
+1D4A6 ; [.16FF.0020.000B.1D4A6] # MATHEMATICAL SCRIPT CAPITAL K
+1D4DA ; [.16FF.0020.000B.1D4DA] # MATHEMATICAL BOLD SCRIPT CAPITAL K
+1D50E ; [.16FF.0020.000B.1D50E] # MATHEMATICAL FRAKTUR CAPITAL K
+1D542 ; [.16FF.0020.000B.1D542] # MATHEMATICAL DOUBLE-STRUCK CAPITAL K
+1D576 ; [.16FF.0020.000B.1D576] # MATHEMATICAL BOLD FRAKTUR CAPITAL K
+1D5AA ; [.16FF.0020.000B.1D5AA] # MATHEMATICAL SANS-SERIF CAPITAL K
+1D5DE ; [.16FF.0020.000B.1D5DE] # MATHEMATICAL SANS-SERIF BOLD CAPITAL K
+1D612 ; [.16FF.0020.000B.1D612] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL K
+1D646 ; [.16FF.0020.000B.1D646] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K
+1D67A ; [.16FF.0020.000B.1D67A] # MATHEMATICAL MONOSPACE CAPITAL K
+24C0  ; [.16FF.0020.000C.24C0] # CIRCLED LATIN CAPITAL LETTER K
+1F15A ; [.16FF.0020.000C.1F15A] # NEGATIVE CIRCLED LATIN CAPITAL LETTER K
+1D4F  ; [.16FF.0020.0014.1D4F] # MODIFIER LETTER SMALL K
+2096  ; [.16FF.0020.0015.2096] # LATIN SUBSCRIPT SMALL LETTER K
+1D37  ; [.16FF.0020.001D.1D37] # MODIFIER LETTER CAPITAL K
+1F13A ; [.16FF.0020.001D.1F13A] # SQUARED LATIN CAPITAL LETTER K
+1F17A ; [.16FF.0020.001D.1F17A] # NEGATIVE SQUARED LATIN CAPITAL LETTER K
+1E31  ; [.16FF.0020.0002.006B][.0000.0032.0002.0301] # LATIN SMALL LETTER K WITH ACUTE
+1E30  ; [.16FF.0020.0008.004B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER K WITH ACUTE
+01E9  ; [.16FF.0020.0002.006B][.0000.0041.0002.030C] # LATIN SMALL LETTER K WITH CARON
+01E8  ; [.16FF.0020.0008.004B][.0000.0041.0002.030C] # LATIN CAPITAL LETTER K WITH CARON
+0137  ; [.16FF.0020.0002.006B][.0000.0056.0002.0327] # LATIN SMALL LETTER K WITH CEDILLA
+0136  ; [.16FF.0020.0008.004B][.0000.0056.0002.0327] # LATIN CAPITAL LETTER K WITH CEDILLA
+A7A3  ; [.16FF.0020.0004.A7A3][.0000.0061.0004.A7A3] # LATIN SMALL LETTER K WITH OBLIQUE STROKE
+A7A2  ; [.16FF.0020.000A.A7A2][.0000.0061.0004.A7A2] # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
+1E33  ; [.16FF.0020.0002.006B][.0000.0070.0002.0323] # LATIN SMALL LETTER K WITH DOT BELOW
+1E32  ; [.16FF.0020.0008.004B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER K WITH DOT BELOW
+1E35  ; [.16FF.0020.0002.006B][.0000.007B.0002.0331] # LATIN SMALL LETTER K WITH LINE BELOW
+1E34  ; [.16FF.0020.0008.004B][.0000.007B.0002.0331] # LATIN CAPITAL LETTER K WITH LINE BELOW
+3384  ; [.16FF.0020.001C.3384][.15EF.0020.001D.3384] # SQUARE KA
+3385  ; [.16FF.0020.001D.3385][.1605.0020.001D.3385] # SQUARE KB
+3389  ; [.16FF.0020.001C.3389][.161D.0020.001C.3389][.15EF.0020.001C.3389][.1711.0020.001C.3389] # SQUARE KCAL
+338F  ; [.16FF.0020.001C.338F][.1691.0020.001C.338F] # SQUARE KG
+3391  ; [.16FF.0020.001C.3391][.16B4.0020.001D.3391][.1895.0020.001C.3391] # SQUARE KHZ
+33CD  ; [.16FF.0020.001D.33CD][.16FF.0020.001D.33CD] # SQUARE KK
+3398  ; [.16FF.0020.001C.3398][.1711.0020.001C.3398] # SQUARE KL
+339E  ; [.16FF.0020.001C.339E][.1741.0020.001C.339E] # SQUARE KM
+33CE  ; [.16FF.0020.001D.33CE][.1741.0020.001D.33CE] # SQUARE KM CAPITAL
+33A2  ; [.16FF.0020.001C.33A2][.1741.0020.001C.33A2][.15E7.0020.001C.33A2] # SQUARE KM SQUARED
+33A6  ; [.16FF.0020.001C.33A6][.1741.0020.001C.33A6][.15E8.0020.001C.33A6] # SQUARE KM CUBED
+33AA  ; [.16FF.0020.001C.33AA][.1796.0020.001D.33AA][.15EF.0020.001C.33AA] # SQUARE KPA
+33CF  ; [.16FF.0020.001C.33CF][.1816.0020.001C.33CF] # SQUARE KT
+33B8  ; [.16FF.0020.001C.33B8][.185F.0020.001D.33B8] # SQUARE KV
+33BE  ; [.16FF.0020.001C.33BE][.1871.0020.001D.33BE] # SQUARE KW
+33C0  ; [.16FF.0020.001C.33C0][.1951.0020.001D.33C0] # SQUARE K OHM
+1D0B  ; [.1703.0020.0002.1D0B] # LATIN LETTER SMALL CAPITAL K
+1D84  ; [.1704.0020.0002.1D84] # LATIN SMALL LETTER K WITH PALATAL HOOK
+0199  ; [.1705.0020.0002.0199] # LATIN SMALL LETTER K WITH HOOK
+0198  ; [.1705.0020.0008.0198] # LATIN CAPITAL LETTER K WITH HOOK
+2C6A  ; [.1709.0020.0002.2C6A] # LATIN SMALL LETTER K WITH DESCENDER
+2C69  ; [.1709.0020.0008.2C69] # LATIN CAPITAL LETTER K WITH DESCENDER
+A741  ; [.170A.0020.0002.A741] # LATIN SMALL LETTER K WITH STROKE
+A740  ; [.170A.0020.0008.A740] # LATIN CAPITAL LETTER K WITH STROKE
+A743  ; [.170B.0020.0002.A743] # LATIN SMALL LETTER K WITH DIAGONAL STROKE
+A742  ; [.170B.0020.0008.A742] # LATIN CAPITAL LETTER K WITH DIAGONAL STROKE
+A745  ; [.170C.0020.0002.A745] # LATIN SMALL LETTER K WITH STROKE AND DIAGONAL STROKE
+A744  ; [.170C.0020.0008.A744] # LATIN CAPITAL LETTER K WITH STROKE AND DIAGONAL STROKE
+029E  ; [.170D.0020.0002.029E] # LATIN SMALL LETTER TURNED K
+006C  ; [.1711.0020.0002.006C] # LATIN SMALL LETTER L
+FF4C  ; [.1711.0020.0003.FF4C] # FULLWIDTH LATIN SMALL LETTER L
+1DDD  ; [.1711.0020.0004.1DDD] # COMBINING LATIN SMALL LETTER L
+217C  ; [.1711.0020.0004.217C] # SMALL ROMAN NUMERAL FIFTY
+24A7  ; [*02FB.0020.0004.24A7][.1711.0020.0004.24A7][*02FC.0020.001F.24A7] # PARENTHESIZED LATIN SMALL LETTER L
+2113  ; [.1711.0020.0005.2113] # SCRIPT SMALL L
+1D425 ; [.1711.0020.0005.1D425] # MATHEMATICAL BOLD SMALL L
+1D459 ; [.1711.0020.0005.1D459] # MATHEMATICAL ITALIC SMALL L
+1D48D ; [.1711.0020.0005.1D48D] # MATHEMATICAL BOLD ITALIC SMALL L
+1D4C1 ; [.1711.0020.0005.1D4C1] # MATHEMATICAL SCRIPT SMALL L
+1D4F5 ; [.1711.0020.0005.1D4F5] # MATHEMATICAL BOLD SCRIPT SMALL L
+1D529 ; [.1711.0020.0005.1D529] # MATHEMATICAL FRAKTUR SMALL L
+1D55D ; [.1711.0020.0005.1D55D] # MATHEMATICAL DOUBLE-STRUCK SMALL L
+1D591 ; [.1711.0020.0005.1D591] # MATHEMATICAL BOLD FRAKTUR SMALL L
+1D5C5 ; [.1711.0020.0005.1D5C5] # MATHEMATICAL SANS-SERIF SMALL L
+1D5F9 ; [.1711.0020.0005.1D5F9] # MATHEMATICAL SANS-SERIF BOLD SMALL L
+1D62D ; [.1711.0020.0005.1D62D] # MATHEMATICAL SANS-SERIF ITALIC SMALL L
+1D661 ; [.1711.0020.0005.1D661] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L
+1D695 ; [.1711.0020.0005.1D695] # MATHEMATICAL MONOSPACE SMALL L
+24DB  ; [.1711.0020.0006.24DB] # CIRCLED LATIN SMALL LETTER L
+004C  ; [.1711.0020.0008.004C] # LATIN CAPITAL LETTER L
+FF2C  ; [.1711.0020.0009.FF2C] # FULLWIDTH LATIN CAPITAL LETTER L
+216C  ; [.1711.0020.000A.216C] # ROMAN NUMERAL FIFTY
+1F11B ; [*02FB.0020.0004.1F11B][.1711.0020.000A.1F11B][*02FC.0020.001F.1F11B] # PARENTHESIZED LATIN CAPITAL LETTER L
+2112  ; [.1711.0020.000B.2112] # SCRIPT CAPITAL L
+1D40B ; [.1711.0020.000B.1D40B] # MATHEMATICAL BOLD CAPITAL L
+1D43F ; [.1711.0020.000B.1D43F] # MATHEMATICAL ITALIC CAPITAL L
+1D473 ; [.1711.0020.000B.1D473] # MATHEMATICAL BOLD ITALIC CAPITAL L
+1D4DB ; [.1711.0020.000B.1D4DB] # MATHEMATICAL BOLD SCRIPT CAPITAL L
+1D50F ; [.1711.0020.000B.1D50F] # MATHEMATICAL FRAKTUR CAPITAL L
+1D543 ; [.1711.0020.000B.1D543] # MATHEMATICAL DOUBLE-STRUCK CAPITAL L
+1D577 ; [.1711.0020.000B.1D577] # MATHEMATICAL BOLD FRAKTUR CAPITAL L
+1D5AB ; [.1711.0020.000B.1D5AB] # MATHEMATICAL SANS-SERIF CAPITAL L
+1D5DF ; [.1711.0020.000B.1D5DF] # MATHEMATICAL SANS-SERIF BOLD CAPITAL L
+1D613 ; [.1711.0020.000B.1D613] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL L
+1D647 ; [.1711.0020.000B.1D647] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L
+1D67B ; [.1711.0020.000B.1D67B] # MATHEMATICAL MONOSPACE CAPITAL L
+24C1  ; [.1711.0020.000C.24C1] # CIRCLED LATIN CAPITAL LETTER L
+1F15B ; [.1711.0020.000C.1F15B] # NEGATIVE CIRCLED LATIN CAPITAL LETTER L
+02E1  ; [.1711.0020.0014.02E1] # MODIFIER LETTER SMALL L
+2097  ; [.1711.0020.0015.2097] # LATIN SUBSCRIPT SMALL LETTER L
+1D38  ; [.1711.0020.001D.1D38] # MODIFIER LETTER CAPITAL L
+1F13B ; [.1711.0020.001D.1F13B] # SQUARED LATIN CAPITAL LETTER L
+1F17B ; [.1711.0020.001D.1F17B] # NEGATIVE SQUARED LATIN CAPITAL LETTER L
+013A  ; [.1711.0020.0002.006C][.0000.0032.0002.0301] # LATIN SMALL LETTER L WITH ACUTE
+0139  ; [.1711.0020.0008.004C][.0000.0032.0002.0301] # LATIN CAPITAL LETTER L WITH ACUTE
+013E  ; [.1711.0020.0002.006C][.0000.0041.0002.030C] # LATIN SMALL LETTER L WITH CARON
+013D  ; [.1711.0020.0008.004C][.0000.0041.0002.030C] # LATIN CAPITAL LETTER L WITH CARON
+013C  ; [.1711.0020.0002.006C][.0000.0056.0002.0327] # LATIN SMALL LETTER L WITH CEDILLA
+013B  ; [.1711.0020.0008.004C][.0000.0056.0002.0327] # LATIN CAPITAL LETTER L WITH CEDILLA
+1E37  ; [.1711.0020.0002.006C][.0000.0070.0002.0323] # LATIN SMALL LETTER L WITH DOT BELOW
+1E36  ; [.1711.0020.0008.004C][.0000.0070.0002.0323] # LATIN CAPITAL LETTER L WITH DOT BELOW
+1E39  ; [.1711.0020.0002.006C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON
+1E38  ; [.1711.0020.0008.004C][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON
+1E3D  ; [.1711.0020.0002.006C][.0000.0078.0002.032D] # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW
+1E3C  ; [.1711.0020.0008.004C][.0000.0078.0002.032D] # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW
+1E3B  ; [.1711.0020.0002.006C][.0000.007B.0002.0331] # LATIN SMALL LETTER L WITH LINE BELOW
+1E3A  ; [.1711.0020.0008.004C][.0000.007B.0002.0331] # LATIN CAPITAL LETTER L WITH LINE BELOW
+0142  ; [.1711.0020.0002.006C][.0000.007D.0002.0335] # LATIN SMALL LETTER L WITH STROKE
+0141  ; [.1711.0020.0008.004C][.0000.007D.0002.0335] # LATIN CAPITAL LETTER L WITH STROKE
+0140  ; [.1711.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 00B7 ; [.1711.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
+006C 0387 ; [.1711.0020.0002.0140][.0000.0139.0002.0140] # LATIN SMALL LETTER L WITH MIDDLE DOT
+013F  ; [.1711.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 00B7 ; [.1711.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+004C 0387 ; [.1711.0020.0008.013F][.0000.0139.0002.013F] # LATIN CAPITAL LETTER L WITH MIDDLE DOT
+01C9  ; [.1711.0020.0004.01C9][.16E6.0020.0004.01C9] # LATIN SMALL LETTER LJ
+01C8  ; [.1711.0020.000A.01C8][.16E6.0020.0004.01C8] # LATIN CAPITAL LETTER L WITH SMALL LETTER J
+01C7  ; [.1711.0020.000A.01C7][.16E6.0020.000A.01C7] # LATIN CAPITAL LETTER LJ
+1EFB  ; [.1711.0020.0004.1EFB][.1711.0020.0004.1EFB] # LATIN SMALL LETTER MIDDLE-WELSH LL
+1EFA  ; [.1711.0020.000A.1EFA][.1711.0020.000A.1EFA] # LATIN CAPITAL LETTER MIDDLE-WELSH LL
+33D0  ; [.1711.0020.001C.33D0][.1741.0020.001C.33D0] # SQUARE LM
+33D1  ; [.1711.0020.001C.33D1][.174F.0020.001C.33D1] # SQUARE LN
+33D2  ; [.1711.0020.001C.33D2][.1771.0020.001C.33D2][.1691.0020.001C.33D2] # SQUARE LOG
+02AA  ; [.1711.0020.0004.02AA][.17F3.0020.0004.02AA] # LATIN SMALL LETTER LS DIGRAPH
+32CF  ; [.1711.0020.001D.32CF][.1816.0020.001D.32CF][.1631.0020.001D.32CF] # LIMITED LIABILITY SIGN
+33D3  ; [.1711.0020.001C.33D3][.187B.0020.001C.33D3] # SQUARE LX
+02AB  ; [.1711.0020.0004.02AB][.1895.0020.0004.02AB] # LATIN SMALL LETTER LZ DIGRAPH
+029F  ; [.1715.0020.0002.029F] # LATIN LETTER SMALL CAPITAL L
+1DDE  ; [.1715.0020.0004.1DDE] # COMBINING LATIN LETTER SMALL CAPITAL L
+1DAB  ; [.1715.0020.0014.1DAB] # MODIFIER LETTER SMALL CAPITAL L
+A747  ; [.1719.0020.0002.A747] # LATIN SMALL LETTER BROKEN L
+A746  ; [.1719.0020.0008.A746] # LATIN CAPITAL LETTER BROKEN L
+1D0C  ; [.171A.0020.0002.1D0C] # LATIN LETTER SMALL CAPITAL L WITH STROKE
+A749  ; [.171B.0020.0002.A749] # LATIN SMALL LETTER L WITH HIGH STROKE
+A748  ; [.171B.0020.0008.A748] # LATIN CAPITAL LETTER L WITH HIGH STROKE
+019A  ; [.171C.0020.0002.019A] # LATIN SMALL LETTER L WITH BAR
+023D  ; [.171C.0020.0008.023D] # LATIN CAPITAL LETTER L WITH BAR
+2C61  ; [.1720.0020.0002.2C61] # LATIN SMALL LETTER L WITH DOUBLE BAR
+2C60  ; [.1720.0020.0008.2C60] # LATIN CAPITAL LETTER L WITH DOUBLE BAR
+026B  ; [.1721.0020.0002.026B] # LATIN SMALL LETTER L WITH MIDDLE TILDE
+2C62  ; [.1721.0020.0008.2C62] # LATIN CAPITAL LETTER L WITH MIDDLE TILDE
+026C  ; [.1725.0020.0002.026C] # LATIN SMALL LETTER L WITH BELT
+1D85  ; [.1729.0020.0002.1D85] # LATIN SMALL LETTER L WITH PALATAL HOOK
+1DAA  ; [.1729.0020.0014.1DAA] # MODIFIER LETTER SMALL L WITH PALATAL HOOK
+026D  ; [.172A.0020.0002.026D] # LATIN SMALL LETTER L WITH RETROFLEX HOOK
+1DA9  ; [.172A.0020.0014.1DA9] # MODIFIER LETTER SMALL L WITH RETROFLEX HOOK
+A78E  ; [.172E.0020.0002.A78E] # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
+0234  ; [.172F.0020.0002.0234] # LATIN SMALL LETTER L WITH CURL
+A772  ; [.1733.0020.0002.A772] # LATIN SMALL LETTER LUM
+026E  ; [.1734.0020.0002.026E] # LATIN SMALL LETTER LEZH
+A781  ; [.1738.0020.0002.A781] # LATIN SMALL LETTER TURNED L
+A780  ; [.1738.0020.0008.A780] # LATIN CAPITAL LETTER TURNED L
+019B  ; [.1739.0020.0002.019B] # LATIN SMALL LETTER LAMBDA WITH STROKE
+028E  ; [.173D.0020.0002.028E] # LATIN SMALL LETTER TURNED Y
+006D  ; [.1741.0020.0002.006D] # LATIN SMALL LETTER M
+FF4D  ; [.1741.0020.0003.FF4D] # FULLWIDTH LATIN SMALL LETTER M
+036B  ; [.1741.0020.0004.036B] # COMBINING LATIN SMALL LETTER M
+217F  ; [.1741.0020.0004.217F] # SMALL ROMAN NUMERAL ONE THOUSAND
+24A8  ; [*02FB.0020.0004.24A8][.1741.0020.0004.24A8][*02FC.0020.001F.24A8] # PARENTHESIZED LATIN SMALL LETTER M
+1D426 ; [.1741.0020.0005.1D426] # MATHEMATICAL BOLD SMALL M
+1D45A ; [.1741.0020.0005.1D45A] # MATHEMATICAL ITALIC SMALL M
+1D48E ; [.1741.0020.0005.1D48E] # MATHEMATICAL BOLD ITALIC SMALL M
+1D4C2 ; [.1741.0020.0005.1D4C2] # MATHEMATICAL SCRIPT SMALL M
+1D4F6 ; [.1741.0020.0005.1D4F6] # MATHEMATICAL BOLD SCRIPT SMALL M
+1D52A ; [.1741.0020.0005.1D52A] # MATHEMATICAL FRAKTUR SMALL M
+1D55E ; [.1741.0020.0005.1D55E] # MATHEMATICAL DOUBLE-STRUCK SMALL M
+1D592 ; [.1741.0020.0005.1D592] # MATHEMATICAL BOLD FRAKTUR SMALL M
+1D5C6 ; [.1741.0020.0005.1D5C6] # MATHEMATICAL SANS-SERIF SMALL M
+1D5FA ; [.1741.0020.0005.1D5FA] # MATHEMATICAL SANS-SERIF BOLD SMALL M
+1D62E ; [.1741.0020.0005.1D62E] # MATHEMATICAL SANS-SERIF ITALIC SMALL M
+1D662 ; [.1741.0020.0005.1D662] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M
+1D696 ; [.1741.0020.0005.1D696] # MATHEMATICAL MONOSPACE SMALL M
+24DC  ; [.1741.0020.0006.24DC] # CIRCLED LATIN SMALL LETTER M
+004D  ; [.1741.0020.0008.004D] # LATIN CAPITAL LETTER M
+FF2D  ; [.1741.0020.0009.FF2D] # FULLWIDTH LATIN CAPITAL LETTER M
+216F  ; [.1741.0020.000A.216F] # ROMAN NUMERAL ONE THOUSAND
+1F11C ; [*02FB.0020.0004.1F11C][.1741.0020.000A.1F11C][*02FC.0020.001F.1F11C] # PARENTHESIZED LATIN CAPITAL LETTER M
+2133  ; [.1741.0020.000B.2133] # SCRIPT CAPITAL M
+1D40C ; [.1741.0020.000B.1D40C] # MATHEMATICAL BOLD CAPITAL M
+1D440 ; [.1741.0020.000B.1D440] # MATHEMATICAL ITALIC CAPITAL M
+1D474 ; [.1741.0020.000B.1D474] # MATHEMATICAL BOLD ITALIC CAPITAL M
+1D4DC ; [.1741.0020.000B.1D4DC] # MATHEMATICAL BOLD SCRIPT CAPITAL M
+1D510 ; [.1741.0020.000B.1D510] # MATHEMATICAL FRAKTUR CAPITAL M
+1D544 ; [.1741.0020.000B.1D544] # MATHEMATICAL DOUBLE-STRUCK CAPITAL M
+1D578 ; [.1741.0020.000B.1D578] # MATHEMATICAL BOLD FRAKTUR CAPITAL M
+1D5AC ; [.1741.0020.000B.1D5AC] # MATHEMATICAL SANS-SERIF CAPITAL M
+1D5E0 ; [.1741.0020.000B.1D5E0] # MATHEMATICAL SANS-SERIF BOLD CAPITAL M
+1D614 ; [.1741.0020.000B.1D614] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL M
+1D648 ; [.1741.0020.000B.1D648] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M
+1D67C ; [.1741.0020.000B.1D67C] # MATHEMATICAL MONOSPACE CAPITAL M
+24C2  ; [.1741.0020.000C.24C2] # CIRCLED LATIN CAPITAL LETTER M
+1F15C ; [.1741.0020.000C.1F15C] # NEGATIVE CIRCLED LATIN CAPITAL LETTER M
+1D50  ; [.1741.0020.0014.1D50] # MODIFIER LETTER SMALL M
+2098  ; [.1741.0020.0015.2098] # LATIN SUBSCRIPT SMALL LETTER M
+1D39  ; [.1741.0020.001D.1D39] # MODIFIER LETTER CAPITAL M
+1F13C ; [.1741.0020.001D.1F13C] # SQUARED LATIN CAPITAL LETTER M
+1F17C ; [.1741.0020.001D.1F17C] # NEGATIVE SQUARED LATIN CAPITAL LETTER M
+1E3F  ; [.1741.0020.0002.006D][.0000.0032.0002.0301] # LATIN SMALL LETTER M WITH ACUTE
+1E3E  ; [.1741.0020.0008.004D][.0000.0032.0002.0301] # LATIN CAPITAL LETTER M WITH ACUTE
+1E41  ; [.1741.0020.0002.006D][.0000.0052.0002.0307] # LATIN SMALL LETTER M WITH DOT ABOVE
+1E40  ; [.1741.0020.0008.004D][.0000.0052.0002.0307] # LATIN CAPITAL LETTER M WITH DOT ABOVE
+1E43  ; [.1741.0020.0002.006D][.0000.0070.0002.0323] # LATIN SMALL LETTER M WITH DOT BELOW
+1E42  ; [.1741.0020.0008.004D][.0000.0070.0002.0323] # LATIN CAPITAL LETTER M WITH DOT BELOW
+33A1  ; [.1741.0020.001C.33A1][.15E7.0020.001C.33A1] # SQUARE M SQUARED
+33A5  ; [.1741.0020.001C.33A5][.15E8.0020.001C.33A5] # SQUARE M CUBED
+3383  ; [.1741.0020.001C.3383][.15EF.0020.001D.3383] # SQUARE MA
+33D4  ; [.1741.0020.001C.33D4][.1605.0020.001C.33D4] # SQUARE MB SMALL
+3386  ; [.1741.0020.001D.3386][.1605.0020.001D.3386] # SQUARE MB
+1F16A ; [.1741.0020.0014.1F16A][.161D.0020.0014.1F16A] # RAISED MC SIGN
+1F16B ; [.1741.0020.0014.1F16B][.1631.0020.0014.1F16B] # RAISED MD SIGN
+338E  ; [.1741.0020.001C.338E][.1691.0020.001C.338E] # SQUARE MG
+3392  ; [.1741.0020.001D.3392][.16B4.0020.001D.3392][.1895.0020.001C.3392] # SQUARE MHZ
+33D5  ; [.1741.0020.001C.33D5][.16CD.0020.001C.33D5][.1711.0020.001C.33D5] # SQUARE MIL
+3396  ; [.1741.0020.001C.3396][.1711.0020.001C.3396] # SQUARE ML
+339C  ; [.1741.0020.001C.339C][.1741.0020.001C.339C] # SQUARE MM
+339F  ; [.1741.0020.001C.339F][.1741.0020.001C.339F][.15E7.0020.001C.339F] # SQUARE MM SQUARED
+33A3  ; [.1741.0020.001C.33A3][.1741.0020.001C.33A3][.15E8.0020.001C.33A3] # SQUARE MM CUBED
+33D6  ; [.1741.0020.001C.33D6][.1771.0020.001C.33D6][.1711.0020.001C.33D6] # SQUARE MOL
+33AB  ; [.1741.0020.001D.33AB][.1796.0020.001D.33AB][.15EF.0020.001C.33AB] # SQUARE MPA
+33A7  ; [.1741.0020.001C.33A7][*05AB.0020.001C.33A7][.17F3.0020.001C.33A7] # SQUARE M OVER S
+33B3  ; [.1741.0020.001C.33B3][.17F3.0020.001C.33B3] # SQUARE MS
+33A8  ; [.1741.0020.001C.33A8][*05AB.0020.001C.33A8][.17F3.0020.001C.33A8][.15E7.0020.001C.33A8] # SQUARE M OVER S SQUARED
+33B7  ; [.1741.0020.001C.33B7][.185F.0020.001D.33B7] # SQUARE MV
+33B9  ; [.1741.0020.001D.33B9][.185F.0020.001D.33B9] # SQUARE MV MEGA
+1F14B ; [.1741.0020.001D.1F14B][.185F.0020.001D.1F14B] # SQUARED MV
+33BD  ; [.1741.0020.001C.33BD][.1871.0020.001D.33BD] # SQUARE MW
+33BF  ; [.1741.0020.001D.33BF][.1871.0020.001D.33BF] # SQUARE MW MEGA
+33C1  ; [.1741.0020.001D.33C1][.1951.0020.001D.33C1] # SQUARE M OHM
+1D0D  ; [.1745.0020.0002.1D0D] # LATIN LETTER SMALL CAPITAL M
+1DDF  ; [.1745.0020.0004.1DDF] # COMBINING LATIN LETTER SMALL CAPITAL M
+1D6F  ; [.1746.0020.0002.1D6F] # LATIN SMALL LETTER M WITH MIDDLE TILDE
+1D86  ; [.1747.0020.0002.1D86] # LATIN SMALL LETTER M WITH PALATAL HOOK
+0271  ; [.1748.0020.0002.0271] # LATIN SMALL LETTER M WITH HOOK
+2C6E  ; [.1748.0020.0008.2C6E] # LATIN CAPITAL LETTER M WITH HOOK
+1DAC  ; [.1748.0020.0014.1DAC] # MODIFIER LETTER SMALL M WITH HOOK
+A7FD  ; [.174C.0020.0002.A7FD] # LATIN EPIGRAPHIC LETTER INVERTED M
+A7FF  ; [.174D.0020.0002.A7FF] # LATIN EPIGRAPHIC LETTER ARCHAIC M
+A773  ; [.174E.0020.0002.A773] # LATIN SMALL LETTER MUM
+006E  ; [.174F.0020.0002.006E] # LATIN SMALL LETTER N
+FF4E  ; [.174F.0020.0003.FF4E] # FULLWIDTH LATIN SMALL LETTER N
+1DE0  ; [.174F.0020.0004.1DE0] # COMBINING LATIN SMALL LETTER N
+24A9  ; [*02FB.0020.0004.24A9][.174F.0020.0004.24A9][*02FC.0020.001F.24A9] # PARENTHESIZED LATIN SMALL LETTER N
+1D427 ; [.174F.0020.0005.1D427] # MATHEMATICAL BOLD SMALL N
+1D45B ; [.174F.0020.0005.1D45B] # MATHEMATICAL ITALIC SMALL N
+1D48F ; [.174F.0020.0005.1D48F] # MATHEMATICAL BOLD ITALIC SMALL N
+1D4C3 ; [.174F.0020.0005.1D4C3] # MATHEMATICAL SCRIPT SMALL N
+1D4F7 ; [.174F.0020.0005.1D4F7] # MATHEMATICAL BOLD SCRIPT SMALL N
+1D52B ; [.174F.0020.0005.1D52B] # MATHEMATICAL FRAKTUR SMALL N
+1D55F ; [.174F.0020.0005.1D55F] # MATHEMATICAL DOUBLE-STRUCK SMALL N
+1D593 ; [.174F.0020.0005.1D593] # MATHEMATICAL BOLD FRAKTUR SMALL N
+1D5C7 ; [.174F.0020.0005.1D5C7] # MATHEMATICAL SANS-SERIF SMALL N
+1D5FB ; [.174F.0020.0005.1D5FB] # MATHEMATICAL SANS-SERIF BOLD SMALL N
+1D62F ; [.174F.0020.0005.1D62F] # MATHEMATICAL SANS-SERIF ITALIC SMALL N
+1D663 ; [.174F.0020.0005.1D663] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N
+1D697 ; [.174F.0020.0005.1D697] # MATHEMATICAL MONOSPACE SMALL N
+24DD  ; [.174F.0020.0006.24DD] # CIRCLED LATIN SMALL LETTER N
+004E  ; [.174F.0020.0008.004E] # LATIN CAPITAL LETTER N
+FF2E  ; [.174F.0020.0009.FF2E] # FULLWIDTH LATIN CAPITAL LETTER N
+1F11D ; [*02FB.0020.0004.1F11D][.174F.0020.000A.1F11D][*02FC.0020.001F.1F11D] # PARENTHESIZED LATIN CAPITAL LETTER N
+2115  ; [.174F.0020.000B.2115] # DOUBLE-STRUCK CAPITAL N
+1D40D ; [.174F.0020.000B.1D40D] # MATHEMATICAL BOLD CAPITAL N
+1D441 ; [.174F.0020.000B.1D441] # MATHEMATICAL ITALIC CAPITAL N
+1D475 ; [.174F.0020.000B.1D475] # MATHEMATICAL BOLD ITALIC CAPITAL N
+1D4A9 ; [.174F.0020.000B.1D4A9] # MATHEMATICAL SCRIPT CAPITAL N
+1D4DD ; [.174F.0020.000B.1D4DD] # MATHEMATICAL BOLD SCRIPT CAPITAL N
+1D511 ; [.174F.0020.000B.1D511] # MATHEMATICAL FRAKTUR CAPITAL N
+1D579 ; [.174F.0020.000B.1D579] # MATHEMATICAL BOLD FRAKTUR CAPITAL N
+1D5AD ; [.174F.0020.000B.1D5AD] # MATHEMATICAL SANS-SERIF CAPITAL N
+1D5E1 ; [.174F.0020.000B.1D5E1] # MATHEMATICAL SANS-SERIF BOLD CAPITAL N
+1D615 ; [.174F.0020.000B.1D615] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL N
+1D649 ; [.174F.0020.000B.1D649] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N
+1D67D ; [.174F.0020.000B.1D67D] # MATHEMATICAL MONOSPACE CAPITAL N
+24C3  ; [.174F.0020.000C.24C3] # CIRCLED LATIN CAPITAL LETTER N
+1F15D ; [.174F.0020.000C.1F15D] # NEGATIVE CIRCLED LATIN CAPITAL LETTER N
+207F  ; [.174F.0020.0014.207F] # SUPERSCRIPT LATIN SMALL LETTER N
+2099  ; [.174F.0020.0015.2099] # LATIN SUBSCRIPT SMALL LETTER N
+1D3A  ; [.174F.0020.001D.1D3A] # MODIFIER LETTER CAPITAL N
+1F13D ; [.174F.0020.001D.1F13D] # SQUARED LATIN CAPITAL LETTER N
+1F17D ; [.174F.0020.001D.1F17D] # NEGATIVE SQUARED LATIN CAPITAL LETTER N
+0144  ; [.174F.0020.0002.006E][.0000.0032.0002.0301] # LATIN SMALL LETTER N WITH ACUTE
+0143  ; [.174F.0020.0008.004E][.0000.0032.0002.0301] # LATIN CAPITAL LETTER N WITH ACUTE
+01F9  ; [.174F.0020.0002.006E][.0000.0035.0002.0300] # LATIN SMALL LETTER N WITH GRAVE
+01F8  ; [.174F.0020.0008.004E][.0000.0035.0002.0300] # LATIN CAPITAL LETTER N WITH GRAVE
+0148  ; [.174F.0020.0002.006E][.0000.0041.0002.030C] # LATIN SMALL LETTER N WITH CARON
+0147  ; [.174F.0020.0008.004E][.0000.0041.0002.030C] # LATIN CAPITAL LETTER N WITH CARON
+00F1  ; [.174F.0020.0002.006E][.0000.004E.0002.0303] # LATIN SMALL LETTER N WITH TILDE
+00D1  ; [.174F.0020.0008.004E][.0000.004E.0002.0303] # LATIN CAPITAL LETTER N WITH TILDE
+1E45  ; [.174F.0020.0002.006E][.0000.0052.0002.0307] # LATIN SMALL LETTER N WITH DOT ABOVE
+1E44  ; [.174F.0020.0008.004E][.0000.0052.0002.0307] # LATIN CAPITAL LETTER N WITH DOT ABOVE
+0146  ; [.174F.0020.0002.006E][.0000.0056.0002.0327] # LATIN SMALL LETTER N WITH CEDILLA
+0145  ; [.174F.0020.0008.004E][.0000.0056.0002.0327] # LATIN CAPITAL LETTER N WITH CEDILLA
+A7A5  ; [.174F.0020.0004.A7A5][.0000.0061.0004.A7A5] # LATIN SMALL LETTER N WITH OBLIQUE STROKE
+A7A4  ; [.174F.0020.000A.A7A4][.0000.0061.0004.A7A4] # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
+1E47  ; [.174F.0020.0002.006E][.0000.0070.0002.0323] # LATIN SMALL LETTER N WITH DOT BELOW
+1E46  ; [.174F.0020.0008.004E][.0000.0070.0002.0323] # LATIN CAPITAL LETTER N WITH DOT BELOW
+1E4B  ; [.174F.0020.0002.006E][.0000.0078.0002.032D] # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW
+1E4A  ; [.174F.0020.0008.004E][.0000.0078.0002.032D] # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW
+1E49  ; [.174F.0020.0002.006E][.0000.007B.0002.0331] # LATIN SMALL LETTER N WITH LINE BELOW
+1E48  ; [.174F.0020.0008.004E][.0000.007B.0002.0331] # LATIN CAPITAL LETTER N WITH LINE BELOW
+3381  ; [.174F.0020.001C.3381][.15EF.0020.001D.3381] # SQUARE NA
+1F195 ; [.174F.0020.001D.1F195][.164C.0020.001D.1F195][.1871.0020.001D.1F195] # SQUARED NEW
+338B  ; [.174F.0020.001C.338B][.1684.0020.001D.338B] # SQUARE NF
+1F196 ; [.174F.0020.001D.1F196][.1691.0020.001D.1F196] # SQUARED NG
+01CC  ; [.174F.0020.0004.01CC][.16E6.0020.0004.01CC] # LATIN SMALL LETTER NJ
+01CB  ; [.174F.0020.000A.01CB][.16E6.0020.0004.01CB] # LATIN CAPITAL LETTER N WITH SMALL LETTER J
+01CA  ; [.174F.0020.000A.01CA][.16E6.0020.000A.01CA] # LATIN CAPITAL LETTER NJ
+339A  ; [.174F.0020.001C.339A][.1741.0020.001C.339A] # SQUARE NM
+2116  ; [.174F.0020.000A.2116][.1771.0020.0004.2116] # NUMERO SIGN
+33B1  ; [.174F.0020.001C.33B1][.17F3.0020.001C.33B1] # SQUARE NS
+33B5  ; [.174F.0020.001C.33B5][.185F.0020.001D.33B5] # SQUARE NV
+33BB  ; [.174F.0020.001C.33BB][.1871.0020.001D.33BB] # SQUARE NW
+0274  ; [.1753.0020.0002.0274] # LATIN LETTER SMALL CAPITAL N
+1DE1  ; [.1753.0020.0004.1DE1] # COMBINING LATIN LETTER SMALL CAPITAL N
+1DB0  ; [.1753.0020.0014.1DB0] # MODIFIER LETTER SMALL CAPITAL N
+1D3B  ; [.1757.0020.0002.1D3B] # MODIFIER LETTER CAPITAL REVERSED N
+1D0E  ; [.1758.0020.0002.1D0E] # LATIN LETTER SMALL CAPITAL REVERSED N
+1D70  ; [.1759.0020.0002.1D70] # LATIN SMALL LETTER N WITH MIDDLE TILDE
+0272  ; [.175A.0020.0002.0272] # LATIN SMALL LETTER N WITH LEFT HOOK
+019D  ; [.175A.0020.0008.019D] # LATIN CAPITAL LETTER N WITH LEFT HOOK
+1DAE  ; [.175A.0020.0014.1DAE] # MODIFIER LETTER SMALL N WITH LEFT HOOK
+019E  ; [.175E.0020.0002.019E] # LATIN SMALL LETTER N WITH LONG RIGHT LEG
+0220  ; [.175E.0020.0008.0220] # LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
+A791  ; [.1762.0020.0002.A791] # LATIN SMALL LETTER N WITH DESCENDER
+A790  ; [.1762.0020.0008.A790] # LATIN CAPITAL LETTER N WITH DESCENDER
+1D87  ; [.1763.0020.0002.1D87] # LATIN SMALL LETTER N WITH PALATAL HOOK
+0273  ; [.1764.0020.0002.0273] # LATIN SMALL LETTER N WITH RETROFLEX HOOK
+1DAF  ; [.1764.0020.0014.1DAF] # MODIFIER LETTER SMALL N WITH RETROFLEX HOOK
+0235  ; [.1768.0020.0002.0235] # LATIN SMALL LETTER N WITH CURL
+A774  ; [.176C.0020.0002.A774] # LATIN SMALL LETTER NUM
+014B  ; [.176D.0020.0002.014B] # LATIN SMALL LETTER ENG
+014A  ; [.176D.0020.0008.014A] # LATIN CAPITAL LETTER ENG
+1D51  ; [.176D.0020.0014.1D51] # MODIFIER LETTER SMALL ENG
+006F  ; [.1771.0020.0002.006F] # LATIN SMALL LETTER O
+FF4F  ; [.1771.0020.0003.FF4F] # FULLWIDTH LATIN SMALL LETTER O
+0366  ; [.1771.0020.0004.0366] # COMBINING LATIN SMALL LETTER O
+24AA  ; [*02FB.0020.0004.24AA][.1771.0020.0004.24AA][*02FC.0020.001F.24AA] # PARENTHESIZED LATIN SMALL LETTER O
+2134  ; [.1771.0020.0005.2134] # SCRIPT SMALL O
+1D428 ; [.1771.0020.0005.1D428] # MATHEMATICAL BOLD SMALL O
+1D45C ; [.1771.0020.0005.1D45C] # MATHEMATICAL ITALIC SMALL O
+1D490 ; [.1771.0020.0005.1D490] # MATHEMATICAL BOLD ITALIC SMALL O
+1D4F8 ; [.1771.0020.0005.1D4F8] # MATHEMATICAL BOLD SCRIPT SMALL O
+1D52C ; [.1771.0020.0005.1D52C] # MATHEMATICAL FRAKTUR SMALL O
+1D560 ; [.1771.0020.0005.1D560] # MATHEMATICAL DOUBLE-STRUCK SMALL O
+1D594 ; [.1771.0020.0005.1D594] # MATHEMATICAL BOLD FRAKTUR SMALL O
+1D5C8 ; [.1771.0020.0005.1D5C8] # MATHEMATICAL SANS-SERIF SMALL O
+1D5FC ; [.1771.0020.0005.1D5FC] # MATHEMATICAL SANS-SERIF BOLD SMALL O
+1D630 ; [.1771.0020.0005.1D630] # MATHEMATICAL SANS-SERIF ITALIC SMALL O
+1D664 ; [.1771.0020.0005.1D664] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O
+1D698 ; [.1771.0020.0005.1D698] # MATHEMATICAL MONOSPACE SMALL O
+24DE  ; [.1771.0020.0006.24DE] # CIRCLED LATIN SMALL LETTER O
+004F  ; [.1771.0020.0008.004F] # LATIN CAPITAL LETTER O
+FF2F  ; [.1771.0020.0009.FF2F] # FULLWIDTH LATIN CAPITAL LETTER O
+1F11E ; [*02FB.0020.0004.1F11E][.1771.0020.000A.1F11E][*02FC.0020.001F.1F11E] # PARENTHESIZED LATIN CAPITAL LETTER O
+1D40E ; [.1771.0020.000B.1D40E] # MATHEMATICAL BOLD CAPITAL O
+1D442 ; [.1771.0020.000B.1D442] # MATHEMATICAL ITALIC CAPITAL O
+1D476 ; [.1771.0020.000B.1D476] # MATHEMATICAL BOLD ITALIC CAPITAL O
+1D4AA ; [.1771.0020.000B.1D4AA] # MATHEMATICAL SCRIPT CAPITAL O
+1D4DE ; [.1771.0020.000B.1D4DE] # MATHEMATICAL BOLD SCRIPT CAPITAL O
+1D512 ; [.1771.0020.000B.1D512] # MATHEMATICAL FRAKTUR CAPITAL O
+1D546 ; [.1771.0020.000B.1D546] # MATHEMATICAL DOUBLE-STRUCK CAPITAL O
+1D57A ; [.1771.0020.000B.1D57A] # MATHEMATICAL BOLD FRAKTUR CAPITAL O
+1D5AE ; [.1771.0020.000B.1D5AE] # MATHEMATICAL SANS-SERIF CAPITAL O
+1D5E2 ; [.1771.0020.000B.1D5E2] # MATHEMATICAL SANS-SERIF BOLD CAPITAL O
+1D616 ; [.1771.0020.000B.1D616] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL O
+1D64A ; [.1771.0020.000B.1D64A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O
+1D67E ; [.1771.0020.000B.1D67E] # MATHEMATICAL MONOSPACE CAPITAL O
+24C4  ; [.1771.0020.000C.24C4] # CIRCLED LATIN CAPITAL LETTER O
+1F15E ; [.1771.0020.000C.1F15E] # NEGATIVE CIRCLED LATIN CAPITAL LETTER O
+00BA  ; [.1771.0020.0014.00BA] # MASCULINE ORDINAL INDICATOR
+1D52  ; [.1771.0020.0014.1D52] # MODIFIER LETTER SMALL O
+2092  ; [.1771.0020.0015.2092] # LATIN SUBSCRIPT SMALL LETTER O
+1D3C  ; [.1771.0020.001D.1D3C] # MODIFIER LETTER CAPITAL O
+1F13E ; [.1771.0020.001D.1F13E] # SQUARED LATIN CAPITAL LETTER O
+1F17E ; [.1771.0020.001D.1F17E] # NEGATIVE SQUARED LATIN CAPITAL LETTER O
+00F3  ; [.1771.0020.0002.006F][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH ACUTE
+00D3  ; [.1771.0020.0008.004F][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH ACUTE
+00F2  ; [.1771.0020.0002.006F][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH GRAVE
+00D2  ; [.1771.0020.0008.004F][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH GRAVE
+014F  ; [.1771.0020.0002.006F][.0000.0037.0002.0306] # LATIN SMALL LETTER O WITH BREVE
+014E  ; [.1771.0020.0008.004F][.0000.0037.0002.0306] # LATIN CAPITAL LETTER O WITH BREVE
+00F4  ; [.1771.0020.0002.006F][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX
+00D4  ; [.1771.0020.0008.004F][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+1ED1  ; [.1771.0020.0002.006F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED0  ; [.1771.0020.0008.004F][.0000.003C.0002.0302][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE
+1ED3  ; [.1771.0020.0002.006F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED2  ; [.1771.0020.0008.004F][.0000.003C.0002.0302][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE
+1ED7  ; [.1771.0020.0002.006F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED6  ; [.1771.0020.0008.004F][.0000.003C.0002.0302][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE
+1ED5  ; [.1771.0020.0002.006F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+1ED4  ; [.1771.0020.0008.004F][.0000.003C.0002.0302][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE
+01D2  ; [.1771.0020.0002.006F][.0000.0041.0002.030C] # LATIN SMALL LETTER O WITH CARON
+01D1  ; [.1771.0020.0008.004F][.0000.0041.0002.030C] # LATIN CAPITAL LETTER O WITH CARON
+00F6  ; [.1771.0020.0002.006F][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH DIAERESIS
+00D6  ; [.1771.0020.0008.004F][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH DIAERESIS
+022B  ; [.1771.0020.0002.006F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON
+022A  ; [.1771.0020.0008.004F][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON
+0151  ; [.1771.0020.0002.006F][.0000.004D.0002.030B] # LATIN SMALL LETTER O WITH DOUBLE ACUTE
+0150  ; [.1771.0020.0008.004F][.0000.004D.0002.030B] # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
+00F5  ; [.1771.0020.0002.006F][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH TILDE
+00D5  ; [.1771.0020.0008.004F][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH TILDE
+1E4D  ; [.1771.0020.0002.006F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH TILDE AND ACUTE
+1E4C  ; [.1771.0020.0008.004F][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE
+1E4F  ; [.1771.0020.0002.006F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS
+1E4E  ; [.1771.0020.0008.004F][.0000.004E.0002.0303][.0000.0047.0002.0308] # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS
+022D  ; [.1771.0020.0002.006F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH TILDE AND MACRON
+022C  ; [.1771.0020.0008.004F][.0000.004E.0002.0303][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH TILDE AND MACRON
+022F  ; [.1771.0020.0002.006F][.0000.0052.0002.0307] # LATIN SMALL LETTER O WITH DOT ABOVE
+022E  ; [.1771.0020.0008.004F][.0000.0052.0002.0307] # LATIN CAPITAL LETTER O WITH DOT ABOVE
+0231  ; [.1771.0020.0002.006F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON
+0230  ; [.1771.0020.0008.004F][.0000.0052.0002.0307][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON
+00F8  ; [.1771.0020.0002.006F][.0000.0054.0002.0338] # LATIN SMALL LETTER O WITH STROKE
+00D8  ; [.1771.0020.0008.004F][.0000.0054.0002.0338] # LATIN CAPITAL LETTER O WITH STROKE
+01FF  ; [.1771.0020.0002.006F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH STROKE AND ACUTE
+01FE  ; [.1771.0020.0008.004F][.0000.0054.0002.0338][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE
+01EB  ; [.1771.0020.0002.006F][.0000.0059.0002.0328] # LATIN SMALL LETTER O WITH OGONEK
+01EA  ; [.1771.0020.0008.004F][.0000.0059.0002.0328] # LATIN CAPITAL LETTER O WITH OGONEK
+01ED  ; [.1771.0020.0002.006F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH OGONEK AND MACRON
+01EC  ; [.1771.0020.0008.004F][.0000.0059.0002.0328][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON
+014D  ; [.1771.0020.0002.006F][.0000.005B.0002.0304] # LATIN SMALL LETTER O WITH MACRON
+014C  ; [.1771.0020.0008.004F][.0000.005B.0002.0304] # LATIN CAPITAL LETTER O WITH MACRON
+1E53  ; [.1771.0020.0002.006F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH MACRON AND ACUTE
+1E52  ; [.1771.0020.0008.004F][.0000.005B.0002.0304][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE
+1E51  ; [.1771.0020.0002.006F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH MACRON AND GRAVE
+1E50  ; [.1771.0020.0008.004F][.0000.005B.0002.0304][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE
+1ECF  ; [.1771.0020.0002.006F][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HOOK ABOVE
+1ECE  ; [.1771.0020.0008.004F][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HOOK ABOVE
+020D  ; [.1771.0020.0002.006F][.0000.0065.0002.030F] # LATIN SMALL LETTER O WITH DOUBLE GRAVE
+020C  ; [.1771.0020.0008.004F][.0000.0065.0002.030F] # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE
+020F  ; [.1771.0020.0002.006F][.0000.0067.0002.0311] # LATIN SMALL LETTER O WITH INVERTED BREVE
+020E  ; [.1771.0020.0008.004F][.0000.0067.0002.0311] # LATIN CAPITAL LETTER O WITH INVERTED BREVE
+01A1  ; [.1771.0020.0002.006F][.0000.0068.0002.031B] # LATIN SMALL LETTER O WITH HORN
+01A0  ; [.1771.0020.0008.004F][.0000.0068.0002.031B] # LATIN CAPITAL LETTER O WITH HORN
+1EDB  ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER O WITH HORN AND ACUTE
+1EDA  ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER O WITH HORN AND ACUTE
+1EDD  ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER O WITH HORN AND GRAVE
+1EDC  ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER O WITH HORN AND GRAVE
+1EE1  ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER O WITH HORN AND TILDE
+1EE0  ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER O WITH HORN AND TILDE
+1EDF  ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE
+1EDE  ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE
+1EE3  ; [.1771.0020.0002.006F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH HORN AND DOT BELOW
+1EE2  ; [.1771.0020.0008.004F][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW
+1ECD  ; [.1771.0020.0002.006F][.0000.0070.0002.0323] # LATIN SMALL LETTER O WITH DOT BELOW
+1ECC  ; [.1771.0020.0008.004F][.0000.0070.0002.0323] # LATIN CAPITAL LETTER O WITH DOT BELOW
+1ED9  ; [.1771.0020.0002.006F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+1ED8  ; [.1771.0020.0008.004F][.0000.0070.0002.0323][.0000.003C.0002.0302] # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW
+0153  ; [.1771.0020.0004.0153][.0000.0139.0004.0153][.164C.0020.0004.0153] # LATIN SMALL LIGATURE OE
+0152  ; [.1771.0020.000A.0152][.0000.0139.0004.0152][.164C.0020.000A.0152] # LATIN CAPITAL LIGATURE OE
+A7F9  ; [.1771.0020.0014.A7F9][.0000.0139.0014.A7F9][.164C.0020.0014.A7F9] # MODIFIER LETTER SMALL LIGATURE OE
+1F197 ; [.1771.0020.001D.1F197][.16FF.0020.001D.1F197] # SQUARED OK
+A74F  ; [.1771.0020.0004.A74F][.1771.0020.0004.A74F] # LATIN SMALL LETTER OO
+A74E  ; [.1771.0020.000A.A74E][.1771.0020.000A.A74E] # LATIN CAPITAL LETTER OO
+3375  ; [.1771.0020.001C.3375][.185F.0020.001D.3375] # SQUARE OV
+1D0F  ; [.1775.0020.0002.1D0F] # LATIN LETTER SMALL CAPITAL O
+1D11  ; [.1776.0020.0002.1D11] # LATIN SMALL LETTER SIDEWAYS O
+0276  ; [.1777.0020.0002.0276] # LATIN LETTER SMALL CAPITAL OE
+1D14  ; [.177B.0020.0002.1D14] # LATIN SMALL LETTER TURNED OE
+1D13  ; [.177C.0020.0002.1D13] # LATIN SMALL LETTER SIDEWAYS O WITH STROKE
+0254  ; [.177D.0020.0002.0254] # LATIN SMALL LETTER OPEN O
+0186  ; [.177D.0020.0008.0186] # LATIN CAPITAL LETTER OPEN O
+1D53  ; [.177D.0020.0014.1D53] # MODIFIER LETTER SMALL OPEN O
+1D10  ; [.1781.0020.0002.1D10] # LATIN LETTER SMALL CAPITAL OPEN O
+1D12  ; [.1782.0020.0002.1D12] # LATIN SMALL LETTER SIDEWAYS OPEN O
+1D97  ; [.1783.0020.0002.1D97] # LATIN SMALL LETTER OPEN O WITH RETROFLEX HOOK
+A74D  ; [.1784.0020.0002.A74D] # LATIN SMALL LETTER O WITH LOOP
+A74C  ; [.1784.0020.0008.A74C] # LATIN CAPITAL LETTER O WITH LOOP
+1D16  ; [.1785.0020.0002.1D16] # LATIN SMALL LETTER TOP HALF O
+1D54  ; [.1785.0020.0014.1D54] # MODIFIER LETTER SMALL TOP HALF O
+1D17  ; [.1786.0020.0002.1D17] # LATIN SMALL LETTER BOTTOM HALF O
+1D55  ; [.1786.0020.0014.1D55] # MODIFIER LETTER SMALL BOTTOM HALF O
+2C7A  ; [.1787.0020.0002.2C7A] # LATIN SMALL LETTER O WITH LOW RING INSIDE
+0275  ; [.1788.0020.0002.0275] # LATIN SMALL LETTER BARRED O
+019F  ; [.1788.0020.0008.019F] # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
+1DB1  ; [.1788.0020.0014.1DB1] # MODIFIER LETTER SMALL BARRED O
+A74B  ; [.178C.0020.0002.A74B] # LATIN SMALL LETTER O WITH LONG STROKE OVERLAY
+A74A  ; [.178C.0020.0008.A74A] # LATIN CAPITAL LETTER O WITH LONG STROKE OVERLAY
+0277  ; [.178D.0020.0002.0277] # LATIN SMALL LETTER CLOSED OMEGA
+0223  ; [.1791.0020.0002.0223] # LATIN SMALL LETTER OU
+0222  ; [.1791.0020.0008.0222] # LATIN CAPITAL LETTER OU
+1D3D  ; [.1791.0020.001D.1D3D] # MODIFIER LETTER CAPITAL OU
+1D15  ; [.1795.0020.0002.1D15] # LATIN LETTER SMALL CAPITAL OU
+0070  ; [.1796.0020.0002.0070] # LATIN SMALL LETTER P
+FF50  ; [.1796.0020.0003.FF50] # FULLWIDTH LATIN SMALL LETTER P
+24AB  ; [*02FB.0020.0004.24AB][.1796.0020.0004.24AB][*02FC.0020.001F.24AB] # PARENTHESIZED LATIN SMALL LETTER P
+1D429 ; [.1796.0020.0005.1D429] # MATHEMATICAL BOLD SMALL P
+1D45D ; [.1796.0020.0005.1D45D] # MATHEMATICAL ITALIC SMALL P
+1D491 ; [.1796.0020.0005.1D491] # MATHEMATICAL BOLD ITALIC SMALL P
+1D4C5 ; [.1796.0020.0005.1D4C5] # MATHEMATICAL SCRIPT SMALL P
+1D4F9 ; [.1796.0020.0005.1D4F9] # MATHEMATICAL BOLD SCRIPT SMALL P
+1D52D ; [.1796.0020.0005.1D52D] # MATHEMATICAL FRAKTUR SMALL P
+1D561 ; [.1796.0020.0005.1D561] # MATHEMATICAL DOUBLE-STRUCK SMALL P
+1D595 ; [.1796.0020.0005.1D595] # MATHEMATICAL BOLD FRAKTUR SMALL P
+1D5C9 ; [.1796.0020.0005.1D5C9] # MATHEMATICAL SANS-SERIF SMALL P
+1D5FD ; [.1796.0020.0005.1D5FD] # MATHEMATICAL SANS-SERIF BOLD SMALL P
+1D631 ; [.1796.0020.0005.1D631] # MATHEMATICAL SANS-SERIF ITALIC SMALL P
+1D665 ; [.1796.0020.0005.1D665] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P
+1D699 ; [.1796.0020.0005.1D699] # MATHEMATICAL MONOSPACE SMALL P
+24DF  ; [.1796.0020.0006.24DF] # CIRCLED LATIN SMALL LETTER P
+0050  ; [.1796.0020.0008.0050] # LATIN CAPITAL LETTER P
+FF30  ; [.1796.0020.0009.FF30] # FULLWIDTH LATIN CAPITAL LETTER P
+1F11F ; [*02FB.0020.0004.1F11F][.1796.0020.000A.1F11F][*02FC.0020.001F.1F11F] # PARENTHESIZED LATIN CAPITAL LETTER P
+2119  ; [.1796.0020.000B.2119] # DOUBLE-STRUCK CAPITAL P
+1D40F ; [.1796.0020.000B.1D40F] # MATHEMATICAL BOLD CAPITAL P
+1D443 ; [.1796.0020.000B.1D443] # MATHEMATICAL ITALIC CAPITAL P
+1D477 ; [.1796.0020.000B.1D477] # MATHEMATICAL BOLD ITALIC CAPITAL P
+1D4AB ; [.1796.0020.000B.1D4AB] # MATHEMATICAL SCRIPT CAPITAL P
+1D4DF ; [.1796.0020.000B.1D4DF] # MATHEMATICAL BOLD SCRIPT CAPITAL P
+1D513 ; [.1796.0020.000B.1D513] # MATHEMATICAL FRAKTUR CAPITAL P
+1D57B ; [.1796.0020.000B.1D57B] # MATHEMATICAL BOLD FRAKTUR CAPITAL P
+1D5AF ; [.1796.0020.000B.1D5AF] # MATHEMATICAL SANS-SERIF CAPITAL P
+1D5E3 ; [.1796.0020.000B.1D5E3] # MATHEMATICAL SANS-SERIF BOLD CAPITAL P
+1D617 ; [.1796.0020.000B.1D617] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL P
+1D64B ; [.1796.0020.000B.1D64B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P
+1D67F ; [.1796.0020.000B.1D67F] # MATHEMATICAL MONOSPACE CAPITAL P
+24C5  ; [.1796.0020.000C.24C5] # CIRCLED LATIN CAPITAL LETTER P
+1F15F ; [.1796.0020.000C.1F15F] # NEGATIVE CIRCLED LATIN CAPITAL LETTER P
+1D56  ; [.1796.0020.0014.1D56] # MODIFIER LETTER SMALL P
+209A  ; [.1796.0020.0015.209A] # LATIN SUBSCRIPT SMALL LETTER P
+1D3E  ; [.1796.0020.001D.1D3E] # MODIFIER LETTER CAPITAL P
+1F13F ; [.1796.0020.001D.1F13F] # SQUARED LATIN CAPITAL LETTER P
+1F17F ; [.1796.0020.001D.1F17F] # NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F18A ; [.1796.0020.001D.1F18A] # CROSSED NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1E55  ; [.1796.0020.0002.0070][.0000.0032.0002.0301] # LATIN SMALL LETTER P WITH ACUTE
+1E54  ; [.1796.0020.0008.0050][.0000.0032.0002.0301] # LATIN CAPITAL LETTER P WITH ACUTE
+1E57  ; [.1796.0020.0002.0070][.0000.0052.0002.0307] # LATIN SMALL LETTER P WITH DOT ABOVE
+1E56  ; [.1796.0020.0008.0050][.0000.0052.0002.0307] # LATIN CAPITAL LETTER P WITH DOT ABOVE
+3380  ; [.1796.0020.001C.3380][.15EF.0020.001D.3380] # SQUARE PA AMPS
+33A9  ; [.1796.0020.001D.33A9][.15EF.0020.001C.33A9] # SQUARE PA
+1F18C ; [.1796.0020.001D.1F18C][.15EF.0020.001D.1F18C] # NEGATIVE SQUARED PA
+3376  ; [.1796.0020.001C.3376][.161D.0020.001C.3376] # SQUARE PC
+338A  ; [.1796.0020.001C.338A][.1684.0020.001D.338A] # SQUARE PF
+33D7  ; [.1796.0020.001D.33D7][.16B4.0020.001D.33D7] # SQUARE PH
+33D8  ; [.1796.0020.001C.33D8][*0273.0020.001C.33D8][.1741.0020.001C.33D8][*0273.0020.001C.33D8] # SQUARE PM
+33D9  ; [.1796.0020.001D.33D9][.1796.0020.001D.33D9][.1741.0020.001D.33D9] # SQUARE PPM
+1F14E ; [.1796.0020.001D.1F14E][.1796.0020.001D.1F14E][.185F.0020.001D.1F14E] # SQUARED PPV
+33DA  ; [.1796.0020.001D.33DA][.17BD.0020.001D.33DA] # SQUARE PR
+33B0  ; [.1796.0020.001C.33B0][.17F3.0020.001C.33B0] # SQUARE PS
+3250  ; [.1796.0020.001D.3250][.1816.0020.001D.3250][.164C.0020.001D.3250] # PARTNERSHIP SIGN
+33B4  ; [.1796.0020.001C.33B4][.185F.0020.001D.33B4] # SQUARE PV
+33BA  ; [.1796.0020.001C.33BA][.1871.0020.001D.33BA] # SQUARE PW
+1D18  ; [.179A.0020.0002.1D18] # LATIN LETTER SMALL CAPITAL P
+1D7D  ; [.179B.0020.0002.1D7D] # LATIN SMALL LETTER P WITH STROKE
+2C63  ; [.179B.0020.0008.2C63] # LATIN CAPITAL LETTER P WITH STROKE
+A751  ; [.179C.0020.0002.A751] # LATIN SMALL LETTER P WITH STROKE THROUGH DESCENDER
+A750  ; [.179C.0020.0008.A750] # LATIN CAPITAL LETTER P WITH STROKE THROUGH DESCENDER
+1D71  ; [.179D.0020.0002.1D71] # LATIN SMALL LETTER P WITH MIDDLE TILDE
+1D88  ; [.179E.0020.0002.1D88] # LATIN SMALL LETTER P WITH PALATAL HOOK
+01A5  ; [.179F.0020.0002.01A5] # LATIN SMALL LETTER P WITH HOOK
+01A4  ; [.179F.0020.0008.01A4] # LATIN CAPITAL LETTER P WITH HOOK
+A753  ; [.17A3.0020.0002.A753] # LATIN SMALL LETTER P WITH FLOURISH
+A752  ; [.17A3.0020.0008.A752] # LATIN CAPITAL LETTER P WITH FLOURISH
+A755  ; [.17A4.0020.0002.A755] # LATIN SMALL LETTER P WITH SQUIRREL TAIL
+A754  ; [.17A4.0020.0008.A754] # LATIN CAPITAL LETTER P WITH SQUIRREL TAIL
+A7FC  ; [.17A5.0020.0002.A7FC] # LATIN EPIGRAPHIC LETTER REVERSED P
+0278  ; [.17A6.0020.0002.0278] # LATIN SMALL LETTER PHI
+1DB2  ; [.17A6.0020.0014.1DB2] # MODIFIER LETTER SMALL PHI
+2C77  ; [.17AA.0020.0002.2C77] # LATIN SMALL LETTER TAILLESS PHI
+0071  ; [.17AB.0020.0002.0071] # LATIN SMALL LETTER Q
+FF51  ; [.17AB.0020.0003.FF51] # FULLWIDTH LATIN SMALL LETTER Q
+24AC  ; [*02FB.0020.0004.24AC][.17AB.0020.0004.24AC][*02FC.0020.001F.24AC] # PARENTHESIZED LATIN SMALL LETTER Q
+1D42A ; [.17AB.0020.0005.1D42A] # MATHEMATICAL BOLD SMALL Q
+1D45E ; [.17AB.0020.0005.1D45E] # MATHEMATICAL ITALIC SMALL Q
+1D492 ; [.17AB.0020.0005.1D492] # MATHEMATICAL BOLD ITALIC SMALL Q
+1D4C6 ; [.17AB.0020.0005.1D4C6] # MATHEMATICAL SCRIPT SMALL Q
+1D4FA ; [.17AB.0020.0005.1D4FA] # MATHEMATICAL BOLD SCRIPT SMALL Q
+1D52E ; [.17AB.0020.0005.1D52E] # MATHEMATICAL FRAKTUR SMALL Q
+1D562 ; [.17AB.0020.0005.1D562] # MATHEMATICAL DOUBLE-STRUCK SMALL Q
+1D596 ; [.17AB.0020.0005.1D596] # MATHEMATICAL BOLD FRAKTUR SMALL Q
+1D5CA ; [.17AB.0020.0005.1D5CA] # MATHEMATICAL SANS-SERIF SMALL Q
+1D5FE ; [.17AB.0020.0005.1D5FE] # MATHEMATICAL SANS-SERIF BOLD SMALL Q
+1D632 ; [.17AB.0020.0005.1D632] # MATHEMATICAL SANS-SERIF ITALIC SMALL Q
+1D666 ; [.17AB.0020.0005.1D666] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q
+1D69A ; [.17AB.0020.0005.1D69A] # MATHEMATICAL MONOSPACE SMALL Q
+24E0  ; [.17AB.0020.0006.24E0] # CIRCLED LATIN SMALL LETTER Q
+0051  ; [.17AB.0020.0008.0051] # LATIN CAPITAL LETTER Q
+FF31  ; [.17AB.0020.0009.FF31] # FULLWIDTH LATIN CAPITAL LETTER Q
+1F120 ; [*02FB.0020.0004.1F120][.17AB.0020.000A.1F120][*02FC.0020.001F.1F120] # PARENTHESIZED LATIN CAPITAL LETTER Q
+211A  ; [.17AB.0020.000B.211A] # DOUBLE-STRUCK CAPITAL Q
+1D410 ; [.17AB.0020.000B.1D410] # MATHEMATICAL BOLD CAPITAL Q
+1D444 ; [.17AB.0020.000B.1D444] # MATHEMATICAL ITALIC CAPITAL Q
+1D478 ; [.17AB.0020.000B.1D478] # MATHEMATICAL BOLD ITALIC CAPITAL Q
+1D4AC ; [.17AB.0020.000B.1D4AC] # MATHEMATICAL SCRIPT CAPITAL Q
+1D4E0 ; [.17AB.0020.000B.1D4E0] # MATHEMATICAL BOLD SCRIPT CAPITAL Q
+1D514 ; [.17AB.0020.000B.1D514] # MATHEMATICAL FRAKTUR CAPITAL Q
+1D57C ; [.17AB.0020.000B.1D57C] # MATHEMATICAL BOLD FRAKTUR CAPITAL Q
+1D5B0 ; [.17AB.0020.000B.1D5B0] # MATHEMATICAL SANS-SERIF CAPITAL Q
+1D5E4 ; [.17AB.0020.000B.1D5E4] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Q
+1D618 ; [.17AB.0020.000B.1D618] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q
+1D64C ; [.17AB.0020.000B.1D64C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q
+1D680 ; [.17AB.0020.000B.1D680] # MATHEMATICAL MONOSPACE CAPITAL Q
+24C6  ; [.17AB.0020.000C.24C6] # CIRCLED LATIN CAPITAL LETTER Q
+1F160 ; [.17AB.0020.000C.1F160] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
+1F140 ; [.17AB.0020.001D.1F140] # SQUARED LATIN CAPITAL LETTER Q
+1F180 ; [.17AB.0020.001D.1F180] # NEGATIVE SQUARED LATIN CAPITAL LETTER Q
+0239  ; [.17AB.0020.0004.0239][.1796.0020.0004.0239] # LATIN SMALL LETTER QP DIGRAPH
+A757  ; [.17AF.0020.0002.A757] # LATIN SMALL LETTER Q WITH STROKE THROUGH DESCENDER
+A756  ; [.17AF.0020.0008.A756] # LATIN CAPITAL LETTER Q WITH STROKE THROUGH DESCENDER
+A759  ; [.17B0.0020.0002.A759] # LATIN SMALL LETTER Q WITH DIAGONAL STROKE
+A758  ; [.17B0.0020.0008.A758] # LATIN CAPITAL LETTER Q WITH DIAGONAL STROKE
+02A0  ; [.17B1.0020.0002.02A0] # LATIN SMALL LETTER Q WITH HOOK
+024B  ; [.17B5.0020.0002.024B] # LATIN SMALL LETTER Q WITH HOOK TAIL
+024A  ; [.17B5.0020.0008.024A] # LATIN CAPITAL LETTER SMALL Q WITH HOOK TAIL
+0138  ; [.17B9.0020.0002.0138] # LATIN SMALL LETTER KRA
+0072  ; [.17BD.0020.0002.0072] # LATIN SMALL LETTER R
+FF52  ; [.17BD.0020.0003.FF52] # FULLWIDTH LATIN SMALL LETTER R
+036C  ; [.17BD.0020.0004.036C] # COMBINING LATIN SMALL LETTER R
+1DCA  ; [.17BD.0020.0004.1DCA] # COMBINING LATIN SMALL LETTER R BELOW
+24AD  ; [*02FB.0020.0004.24AD][.17BD.0020.0004.24AD][*02FC.0020.001F.24AD] # PARENTHESIZED LATIN SMALL LETTER R
+1D42B ; [.17BD.0020.0005.1D42B] # MATHEMATICAL BOLD SMALL R
+1D45F ; [.17BD.0020.0005.1D45F] # MATHEMATICAL ITALIC SMALL R
+1D493 ; [.17BD.0020.0005.1D493] # MATHEMATICAL BOLD ITALIC SMALL R
+1D4C7 ; [.17BD.0020.0005.1D4C7] # MATHEMATICAL SCRIPT SMALL R
+1D4FB ; [.17BD.0020.0005.1D4FB] # MATHEMATICAL BOLD SCRIPT SMALL R
+1D52F ; [.17BD.0020.0005.1D52F] # MATHEMATICAL FRAKTUR SMALL R
+1D563 ; [.17BD.0020.0005.1D563] # MATHEMATICAL DOUBLE-STRUCK SMALL R
+1D597 ; [.17BD.0020.0005.1D597] # MATHEMATICAL BOLD FRAKTUR SMALL R
+1D5CB ; [.17BD.0020.0005.1D5CB] # MATHEMATICAL SANS-SERIF SMALL R
+1D5FF ; [.17BD.0020.0005.1D5FF] # MATHEMATICAL SANS-SERIF BOLD SMALL R
+1D633 ; [.17BD.0020.0005.1D633] # MATHEMATICAL SANS-SERIF ITALIC SMALL R
+1D667 ; [.17BD.0020.0005.1D667] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R
+1D69B ; [.17BD.0020.0005.1D69B] # MATHEMATICAL MONOSPACE SMALL R
+24E1  ; [.17BD.0020.0006.24E1] # CIRCLED LATIN SMALL LETTER R
+0052  ; [.17BD.0020.0008.0052] # LATIN CAPITAL LETTER R
+FF32  ; [.17BD.0020.0009.FF32] # FULLWIDTH LATIN CAPITAL LETTER R
+1F121 ; [*02FB.0020.0004.1F121][.17BD.0020.000A.1F121][*02FC.0020.001F.1F121] # PARENTHESIZED LATIN CAPITAL LETTER R
+211B  ; [.17BD.0020.000B.211B] # SCRIPT CAPITAL R
+211C  ; [.17BD.0020.000B.211C] # BLACK-LETTER CAPITAL R
+211D  ; [.17BD.0020.000B.211D] # DOUBLE-STRUCK CAPITAL R
+1D411 ; [.17BD.0020.000B.1D411] # MATHEMATICAL BOLD CAPITAL R
+1D445 ; [.17BD.0020.000B.1D445] # MATHEMATICAL ITALIC CAPITAL R
+1D479 ; [.17BD.0020.000B.1D479] # MATHEMATICAL BOLD ITALIC CAPITAL R
+1D4E1 ; [.17BD.0020.000B.1D4E1] # MATHEMATICAL BOLD SCRIPT CAPITAL R
+1D57D ; [.17BD.0020.000B.1D57D] # MATHEMATICAL BOLD FRAKTUR CAPITAL R
+1D5B1 ; [.17BD.0020.000B.1D5B1] # MATHEMATICAL SANS-SERIF CAPITAL R
+1D5E5 ; [.17BD.0020.000B.1D5E5] # MATHEMATICAL SANS-SERIF BOLD CAPITAL R
+1D619 ; [.17BD.0020.000B.1D619] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL R
+1D64D ; [.17BD.0020.000B.1D64D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R
+1D681 ; [.17BD.0020.000B.1D681] # MATHEMATICAL MONOSPACE CAPITAL R
+24C7  ; [.17BD.0020.000C.24C7] # CIRCLED LATIN CAPITAL LETTER R
+1F12C ; [.17BD.0020.000C.1F12C] # CIRCLED ITALIC LATIN CAPITAL LETTER R
+1F161 ; [.17BD.0020.000C.1F161] # NEGATIVE CIRCLED LATIN CAPITAL LETTER R
+02B3  ; [.17BD.0020.0014.02B3] # MODIFIER LETTER SMALL R
+1D63  ; [.17BD.0020.0015.1D63] # LATIN SUBSCRIPT SMALL LETTER R
+1D3F  ; [.17BD.0020.001D.1D3F] # MODIFIER LETTER CAPITAL R
+1F141 ; [.17BD.0020.001D.1F141] # SQUARED LATIN CAPITAL LETTER R
+1F181 ; [.17BD.0020.001D.1F181] # NEGATIVE SQUARED LATIN CAPITAL LETTER R
+0155  ; [.17BD.0020.0002.0072][.0000.0032.0002.0301] # LATIN SMALL LETTER R WITH ACUTE
+0154  ; [.17BD.0020.0008.0052][.0000.0032.0002.0301] # LATIN CAPITAL LETTER R WITH ACUTE
+0159  ; [.17BD.0020.0002.0072][.0000.0041.0002.030C] # LATIN SMALL LETTER R WITH CARON
+0158  ; [.17BD.0020.0008.0052][.0000.0041.0002.030C] # LATIN CAPITAL LETTER R WITH CARON
+1E59  ; [.17BD.0020.0002.0072][.0000.0052.0002.0307] # LATIN SMALL LETTER R WITH DOT ABOVE
+1E58  ; [.17BD.0020.0008.0052][.0000.0052.0002.0307] # LATIN CAPITAL LETTER R WITH DOT ABOVE
+0157  ; [.17BD.0020.0002.0072][.0000.0056.0002.0327] # LATIN SMALL LETTER R WITH CEDILLA
+0156  ; [.17BD.0020.0008.0052][.0000.0056.0002.0327] # LATIN CAPITAL LETTER R WITH CEDILLA
+A7A7  ; [.17BD.0020.0004.A7A7][.0000.0061.0004.A7A7] # LATIN SMALL LETTER R WITH OBLIQUE STROKE
+A7A6  ; [.17BD.0020.000A.A7A6][.0000.0061.0004.A7A6] # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
+0211  ; [.17BD.0020.0002.0072][.0000.0065.0002.030F] # LATIN SMALL LETTER R WITH DOUBLE GRAVE
+0210  ; [.17BD.0020.0008.0052][.0000.0065.0002.030F] # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE
+0213  ; [.17BD.0020.0002.0072][.0000.0067.0002.0311] # LATIN SMALL LETTER R WITH INVERTED BREVE
+0212  ; [.17BD.0020.0008.0052][.0000.0067.0002.0311] # LATIN CAPITAL LETTER R WITH INVERTED BREVE
+1E5B  ; [.17BD.0020.0002.0072][.0000.0070.0002.0323] # LATIN SMALL LETTER R WITH DOT BELOW
+1E5A  ; [.17BD.0020.0008.0052][.0000.0070.0002.0323] # LATIN CAPITAL LETTER R WITH DOT BELOW
+1E5D  ; [.17BD.0020.0002.0072][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON
+1E5C  ; [.17BD.0020.0008.0052][.0000.0070.0002.0323][.0000.005B.0002.0304] # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON
+1E5F  ; [.17BD.0020.0002.0072][.0000.007B.0002.0331] # LATIN SMALL LETTER R WITH LINE BELOW
+1E5E  ; [.17BD.0020.0008.0052][.0000.007B.0002.0331] # LATIN CAPITAL LETTER R WITH LINE BELOW
+A783  ; [.17BD.0020.0004.A783][.0000.013A.0004.A783] # LATIN SMALL LETTER INSULAR R
+A782  ; [.17BD.0020.000A.A782][.0000.013A.0004.A782] # LATIN CAPITAL LETTER INSULAR R
+33AD  ; [.17BD.0020.001C.33AD][.15EF.0020.001C.33AD][.1631.0020.001C.33AD] # SQUARE RAD
+33AE  ; [.17BD.0020.001C.33AE][.15EF.0020.001C.33AE][.1631.0020.001C.33AE][*05AB.0020.001C.33AE][.17F3.0020.001C.33AE] # SQUARE RAD OVER S
+33AF  ; [.17BD.0020.001C.33AF][.15EF.0020.001C.33AF][.1631.0020.001C.33AF][*05AB.0020.001C.33AF][.17F3.0020.001C.33AF][.15E7.0020.001C.33AF] # SQUARE RAD OVER S SQUARED
+20A8  ; [.17BD.0020.000A.20A8][.17F3.0020.0004.20A8] # RUPEE SIGN
+0280  ; [.17C1.0020.0002.0280] # LATIN LETTER SMALL CAPITAL R
+1DE2  ; [.17C1.0020.0004.1DE2] # COMBINING LATIN LETTER SMALL CAPITAL R
+01A6  ; [.17C1.0020.0008.01A6] # LATIN LETTER YR
+A75B  ; [.17C5.0020.0002.A75B] # LATIN SMALL LETTER R ROTUNDA
+1DE3  ; [.17C5.0020.0004.1DE3] # COMBINING LATIN SMALL LETTER R ROTUNDA
+A75A  ; [.17C5.0020.0008.A75A] # LATIN CAPITAL LETTER R ROTUNDA
+1D19  ; [.17C6.0020.0002.1D19] # LATIN LETTER SMALL CAPITAL REVERSED R
+024D  ; [.17C7.0020.0002.024D] # LATIN SMALL LETTER R WITH STROKE
+024C  ; [.17C7.0020.0008.024C] # LATIN CAPITAL LETTER R WITH STROKE
+1D72  ; [.17CB.0020.0002.1D72] # LATIN SMALL LETTER R WITH MIDDLE TILDE
+0279  ; [.17CC.0020.0002.0279] # LATIN SMALL LETTER TURNED R
+02B4  ; [.17CC.0020.0014.02B4] # MODIFIER LETTER SMALL TURNED R
+1D1A  ; [.17D0.0020.0002.1D1A] # LATIN LETTER SMALL CAPITAL TURNED R
+027A  ; [.17D1.0020.0002.027A] # LATIN SMALL LETTER TURNED R WITH LONG LEG
+1D89  ; [.17D5.0020.0002.1D89] # LATIN SMALL LETTER R WITH PALATAL HOOK
+027B  ; [.17D6.0020.0002.027B] # LATIN SMALL LETTER TURNED R WITH HOOK
+02B5  ; [.17D6.0020.0014.02B5] # MODIFIER LETTER SMALL TURNED R WITH HOOK
+2C79  ; [.17DA.0020.0002.2C79] # LATIN SMALL LETTER TURNED R WITH TAIL
+027C  ; [.17DB.0020.0002.027C] # LATIN SMALL LETTER R WITH LONG LEG
+027D  ; [.17DF.0020.0002.027D] # LATIN SMALL LETTER R WITH TAIL
+2C64  ; [.17DF.0020.0008.2C64] # LATIN CAPITAL LETTER R WITH TAIL
+027E  ; [.17E3.0020.0002.027E] # LATIN SMALL LETTER R WITH FISHHOOK
+1D73  ; [.17E7.0020.0002.1D73] # LATIN SMALL LETTER R WITH FISHHOOK AND MIDDLE TILDE
+027F  ; [.17E8.0020.0002.027F] # LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+0281  ; [.17EC.0020.0002.0281] # LATIN LETTER SMALL CAPITAL INVERTED R
+02B6  ; [.17EC.0020.0014.02B6] # MODIFIER LETTER SMALL CAPITAL INVERTED R
+A775  ; [.17F0.0020.0002.A775] # LATIN SMALL LETTER RUM
+A776  ; [.17F1.0020.0002.A776] # LATIN LETTER SMALL CAPITAL RUM
+A75D  ; [.17F2.0020.0002.A75D] # LATIN SMALL LETTER RUM ROTUNDA
+A75C  ; [.17F2.0020.0008.A75C] # LATIN CAPITAL LETTER RUM ROTUNDA
+0073  ; [.17F3.0020.0002.0073] # LATIN SMALL LETTER S
+FF53  ; [.17F3.0020.0003.FF53] # FULLWIDTH LATIN SMALL LETTER S
+1DE4  ; [.17F3.0020.0004.1DE4] # COMBINING LATIN SMALL LETTER S
+24AE  ; [*02FB.0020.0004.24AE][.17F3.0020.0004.24AE][*02FC.0020.001F.24AE] # PARENTHESIZED LATIN SMALL LETTER S
+1D42C ; [.17F3.0020.0005.1D42C] # MATHEMATICAL BOLD SMALL S
+1D460 ; [.17F3.0020.0005.1D460] # MATHEMATICAL ITALIC SMALL S
+1D494 ; [.17F3.0020.0005.1D494] # MATHEMATICAL BOLD ITALIC SMALL S
+1D4C8 ; [.17F3.0020.0005.1D4C8] # MATHEMATICAL SCRIPT SMALL S
+1D4FC ; [.17F3.0020.0005.1D4FC] # MATHEMATICAL BOLD SCRIPT SMALL S
+1D530 ; [.17F3.0020.0005.1D530] # MATHEMATICAL FRAKTUR SMALL S
+1D564 ; [.17F3.0020.0005.1D564] # MATHEMATICAL DOUBLE-STRUCK SMALL S
+1D598 ; [.17F3.0020.0005.1D598] # MATHEMATICAL BOLD FRAKTUR SMALL S
+1D5CC ; [.17F3.0020.0005.1D5CC] # MATHEMATICAL SANS-SERIF SMALL S
+1D600 ; [.17F3.0020.0005.1D600] # MATHEMATICAL SANS-SERIF BOLD SMALL S
+1D634 ; [.17F3.0020.0005.1D634] # MATHEMATICAL SANS-SERIF ITALIC SMALL S
+1D668 ; [.17F3.0020.0005.1D668] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S
+1D69C ; [.17F3.0020.0005.1D69C] # MATHEMATICAL MONOSPACE SMALL S
+24E2  ; [.17F3.0020.0006.24E2] # CIRCLED LATIN SMALL LETTER S
+0053  ; [.17F3.0020.0008.0053] # LATIN CAPITAL LETTER S
+FF33  ; [.17F3.0020.0009.FF33] # FULLWIDTH LATIN CAPITAL LETTER S
+1F122 ; [*02FB.0020.0004.1F122][.17F3.0020.000A.1F122][*02FC.0020.001F.1F122] # PARENTHESIZED LATIN CAPITAL LETTER S
+1F12A ; [*0359.0020.0004.1F12A][.17F3.0020.000A.1F12A][*035A.0020.001F.1F12A] # TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
+1D412 ; [.17F3.0020.000B.1D412] # MATHEMATICAL BOLD CAPITAL S
+1D446 ; [.17F3.0020.000B.1D446] # MATHEMATICAL ITALIC CAPITAL S
+1D47A ; [.17F3.0020.000B.1D47A] # MATHEMATICAL BOLD ITALIC CAPITAL S
+1D4AE ; [.17F3.0020.000B.1D4AE] # MATHEMATICAL SCRIPT CAPITAL S
+1D4E2 ; [.17F3.0020.000B.1D4E2] # MATHEMATICAL BOLD SCRIPT CAPITAL S
+1D516 ; [.17F3.0020.000B.1D516] # MATHEMATICAL FRAKTUR CAPITAL S
+1D54A ; [.17F3.0020.000B.1D54A] # MATHEMATICAL DOUBLE-STRUCK CAPITAL S
+1D57E ; [.17F3.0020.000B.1D57E] # MATHEMATICAL BOLD FRAKTUR CAPITAL S
+1D5B2 ; [.17F3.0020.000B.1D5B2] # MATHEMATICAL SANS-SERIF CAPITAL S
+1D5E6 ; [.17F3.0020.000B.1D5E6] # MATHEMATICAL SANS-SERIF BOLD CAPITAL S
+1D61A ; [.17F3.0020.000B.1D61A] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL S
+1D64E ; [.17F3.0020.000B.1D64E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S
+1D682 ; [.17F3.0020.000B.1D682] # MATHEMATICAL MONOSPACE CAPITAL S
+24C8  ; [.17F3.0020.000C.24C8] # CIRCLED LATIN CAPITAL LETTER S
+1F162 ; [.17F3.0020.000C.1F162] # NEGATIVE CIRCLED LATIN CAPITAL LETTER S
+02E2  ; [.17F3.0020.0014.02E2] # MODIFIER LETTER SMALL S
+209B  ; [.17F3.0020.0015.209B] # LATIN SUBSCRIPT SMALL LETTER S
+1F142 ; [.17F3.0020.001D.1F142] # SQUARED LATIN CAPITAL LETTER S
+1F182 ; [.17F3.0020.001D.1F182] # NEGATIVE SQUARED LATIN CAPITAL LETTER S
+015B  ; [.17F3.0020.0002.0073][.0000.0032.0002.0301] # LATIN SMALL LETTER S WITH ACUTE
+015A  ; [.17F3.0020.0008.0053][.0000.0032.0002.0301] # LATIN CAPITAL LETTER S WITH ACUTE
+1E65  ; [.17F3.0020.0002.0073][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE
+1E64  ; [.17F3.0020.0008.0053][.0000.0032.0002.0301][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE
+015D  ; [.17F3.0020.0002.0073][.0000.003C.0002.0302] # LATIN SMALL LETTER S WITH CIRCUMFLEX
+015C  ; [.17F3.0020.0008.0053][.0000.003C.0002.0302] # LATIN CAPITAL LETTER S WITH CIRCUMFLEX
+0161  ; [.17F3.0020.0002.0073][.0000.0041.0002.030C] # LATIN SMALL LETTER S WITH CARON
+0160  ; [.17F3.0020.0008.0053][.0000.0041.0002.030C] # LATIN CAPITAL LETTER S WITH CARON
+1E67  ; [.17F3.0020.0002.0073][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE
+1E66  ; [.17F3.0020.0008.0053][.0000.0041.0002.030C][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE
+1E61  ; [.17F3.0020.0002.0073][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT ABOVE
+1E60  ; [.17F3.0020.0008.0053][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT ABOVE
+015F  ; [.17F3.0020.0002.0073][.0000.0056.0002.0327] # LATIN SMALL LETTER S WITH CEDILLA
+015E  ; [.17F3.0020.0008.0053][.0000.0056.0002.0327] # LATIN CAPITAL LETTER S WITH CEDILLA
+A7A9  ; [.17F3.0020.0004.A7A9][.0000.0061.0004.A7A9] # LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7A8  ; [.17F3.0020.000A.A7A8][.0000.0061.0004.A7A8] # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+1E63  ; [.17F3.0020.0002.0073][.0000.0070.0002.0323] # LATIN SMALL LETTER S WITH DOT BELOW
+1E62  ; [.17F3.0020.0008.0053][.0000.0070.0002.0323] # LATIN CAPITAL LETTER S WITH DOT BELOW
+1E69  ; [.17F3.0020.0002.0073][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE
+1E68  ; [.17F3.0020.0008.0053][.0000.0070.0002.0323][.0000.0052.0002.0307] # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE
+0219  ; [.17F3.0020.0002.0073][.0000.0077.0002.0326] # LATIN SMALL LETTER S WITH COMMA BELOW
+0218  ; [.17F3.0020.0008.0053][.0000.0077.0002.0326] # LATIN CAPITAL LETTER S WITH COMMA BELOW
+017F  ; [.17F3.0020.0004.017F][.0000.013A.0004.017F] # LATIN SMALL LETTER LONG S
+1DE5  ; [.17F3.0020.0004.1DE5][.0000.013A.0004.1DE5] # COMBINING LATIN SMALL LETTER LONG S
+A785  ; [.17F3.0020.0004.A785][.0000.013A.0004.A785] # LATIN SMALL LETTER INSULAR S
+A784  ; [.17F3.0020.000A.A784][.0000.013A.0004.A784] # LATIN CAPITAL LETTER INSULAR S
+1E9B  ; [.17F3.0020.0004.1E9B][.0000.013A.0004.1E9B][.0000.0052.0002.1E9B] # LATIN SMALL LETTER LONG S WITH DOT ABOVE
+1F18D ; [.17F3.0020.001D.1F18D][.15EF.0020.001D.1F18D] # NEGATIVE SQUARED SA
+1F14C ; [.17F3.0020.001D.1F14C][.1631.0020.001D.1F14C] # SQUARED SD
+2120  ; [.17F3.0020.0014.2120][.1741.0020.0014.2120] # SERVICE MARK
+1F198 ; [.17F3.0020.001D.1F198][.1771.0020.001D.1F198][.17F3.0020.001D.1F198] # SQUARED SOS
+33DB  ; [.17F3.0020.001C.33DB][.17BD.0020.001C.33DB] # SQUARE SR
+1F14D ; [.17F3.0020.001D.1F14D][.17F3.0020.001D.1F14D] # SQUARED SS
+00DF  ; [.17F3.0020.0004.00DF][.0000.0139.0004.00DF][.17F3.0020.0004.00DF] # LATIN SMALL LETTER SHARP S
+1E9E  ; [.17F3.0020.000A.1E9E][.0000.0139.0004.1E9E][.17F3.0020.000A.1E9E] # LATIN CAPITAL LETTER SHARP S
+FB06  ; [.17F3.0020.0004.FB06][.1816.0020.0004.FB06] # LATIN SMALL LIGATURE ST
+FB05  ; [.17F3.0020.0004.FB05][.0000.013A.0004.FB05][.1816.0020.0004.FB05] # LATIN SMALL LIGATURE LONG S T
+33DC  ; [.17F3.0020.001D.33DC][.185F.0020.001C.33DC] # SQUARE SV
+A731  ; [.17F7.0020.0002.A731] # LATIN LETTER SMALL CAPITAL S
+1D74  ; [.17F8.0020.0002.1D74] # LATIN SMALL LETTER S WITH MIDDLE TILDE
+1D8A  ; [.17F9.0020.0002.1D8A] # LATIN SMALL LETTER S WITH PALATAL HOOK
+0282  ; [.17FA.0020.0002.0282] # LATIN SMALL LETTER S WITH HOOK
+1DB3  ; [.17FA.0020.0014.1DB3] # MODIFIER LETTER SMALL S WITH HOOK
+023F  ; [.17FE.0020.0002.023F] # LATIN SMALL LETTER S WITH SWASH TAIL
+2C7E  ; [.17FE.0020.0008.2C7E] # LATIN CAPITAL LETTER S WITH SWASH TAIL
+1E9C  ; [.1802.0020.0002.1E9C] # LATIN SMALL LETTER LONG S WITH DIAGONAL STROKE
+1E9D  ; [.1803.0020.0002.1E9D] # LATIN SMALL LETTER LONG S WITH HIGH STROKE
+0283  ; [.1804.0020.0002.0283] # LATIN SMALL LETTER ESH
+01A9  ; [.1804.0020.0008.01A9] # LATIN CAPITAL LETTER ESH
+1DB4  ; [.1804.0020.0014.1DB4] # MODIFIER LETTER SMALL ESH
+1D8B  ; [.1808.0020.0002.1D8B] # LATIN SMALL LETTER ESH WITH PALATAL HOOK
+01AA  ; [.1809.0020.0002.01AA] # LATIN LETTER REVERSED ESH LOOP
+0285  ; [.180D.0020.0002.0285] # LATIN SMALL LETTER SQUAT REVERSED ESH
+1D98  ; [.1811.0020.0002.1D98] # LATIN SMALL LETTER ESH WITH RETROFLEX HOOK
+0286  ; [.1812.0020.0002.0286] # LATIN SMALL LETTER ESH WITH CURL
+0074  ; [.1816.0020.0002.0074] # LATIN SMALL LETTER T
+FF54  ; [.1816.0020.0003.FF54] # FULLWIDTH LATIN SMALL LETTER T
+036D  ; [.1816.0020.0004.036D] # COMBINING LATIN SMALL LETTER T
+24AF  ; [*02FB.0020.0004.24AF][.1816.0020.0004.24AF][*02FC.0020.001F.24AF] # PARENTHESIZED LATIN SMALL LETTER T
+1D42D ; [.1816.0020.0005.1D42D] # MATHEMATICAL BOLD SMALL T
+1D461 ; [.1816.0020.0005.1D461] # MATHEMATICAL ITALIC SMALL T
+1D495 ; [.1816.0020.0005.1D495] # MATHEMATICAL BOLD ITALIC SMALL T
+1D4C9 ; [.1816.0020.0005.1D4C9] # MATHEMATICAL SCRIPT SMALL T
+1D4FD ; [.1816.0020.0005.1D4FD] # MATHEMATICAL BOLD SCRIPT SMALL T
+1D531 ; [.1816.0020.0005.1D531] # MATHEMATICAL FRAKTUR SMALL T
+1D565 ; [.1816.0020.0005.1D565] # MATHEMATICAL DOUBLE-STRUCK SMALL T
+1D599 ; [.1816.0020.0005.1D599] # MATHEMATICAL BOLD FRAKTUR SMALL T
+1D5CD ; [.1816.0020.0005.1D5CD] # MATHEMATICAL SANS-SERIF SMALL T
+1D601 ; [.1816.0020.0005.1D601] # MATHEMATICAL SANS-SERIF BOLD SMALL T
+1D635 ; [.1816.0020.0005.1D635] # MATHEMATICAL SANS-SERIF ITALIC SMALL T
+1D669 ; [.1816.0020.0005.1D669] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T
+1D69D ; [.1816.0020.0005.1D69D] # MATHEMATICAL MONOSPACE SMALL T
+24E3  ; [.1816.0020.0006.24E3] # CIRCLED LATIN SMALL LETTER T
+0054  ; [.1816.0020.0008.0054] # LATIN CAPITAL LETTER T
+FF34  ; [.1816.0020.0009.FF34] # FULLWIDTH LATIN CAPITAL LETTER T
+1F123 ; [*02FB.0020.0004.1F123][.1816.0020.000A.1F123][*02FC.0020.001F.1F123] # PARENTHESIZED LATIN CAPITAL LETTER T
+1D413 ; [.1816.0020.000B.1D413] # MATHEMATICAL BOLD CAPITAL T
+1D447 ; [.1816.0020.000B.1D447] # MATHEMATICAL ITALIC CAPITAL T
+1D47B ; [.1816.0020.000B.1D47B] # MATHEMATICAL BOLD ITALIC CAPITAL T
+1D4AF ; [.1816.0020.000B.1D4AF] # MATHEMATICAL SCRIPT CAPITAL T
+1D4E3 ; [.1816.0020.000B.1D4E3] # MATHEMATICAL BOLD SCRIPT CAPITAL T
+1D517 ; [.1816.0020.000B.1D517] # MATHEMATICAL FRAKTUR CAPITAL T
+1D54B ; [.1816.0020.000B.1D54B] # MATHEMATICAL DOUBLE-STRUCK CAPITAL T
+1D57F ; [.1816.0020.000B.1D57F] # MATHEMATICAL BOLD FRAKTUR CAPITAL T
+1D5B3 ; [.1816.0020.000B.1D5B3] # MATHEMATICAL SANS-SERIF CAPITAL T
+1D5E7 ; [.1816.0020.000B.1D5E7] # MATHEMATICAL SANS-SERIF BOLD CAPITAL T
+1D61B ; [.1816.0020.000B.1D61B] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL T
+1D64F ; [.1816.0020.000B.1D64F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T
+1D683 ; [.1816.0020.000B.1D683] # MATHEMATICAL MONOSPACE CAPITAL T
+24C9  ; [.1816.0020.000C.24C9] # CIRCLED LATIN CAPITAL LETTER T
+1F163 ; [.1816.0020.000C.1F163] # NEGATIVE CIRCLED LATIN CAPITAL LETTER T
+1D57  ; [.1816.0020.0014.1D57] # MODIFIER LETTER SMALL T
+209C  ; [.1816.0020.0015.209C] # LATIN SUBSCRIPT SMALL LETTER T
+1D40  ; [.1816.0020.001D.1D40] # MODIFIER LETTER CAPITAL T
+1F143 ; [.1816.0020.001D.1F143] # SQUARED LATIN CAPITAL LETTER T
+1F183 ; [.1816.0020.001D.1F183] # NEGATIVE SQUARED LATIN CAPITAL LETTER T
+0165  ; [.1816.0020.0002.0074][.0000.0041.0002.030C] # LATIN SMALL LETTER T WITH CARON
+0164  ; [.1816.0020.0008.0054][.0000.0041.0002.030C] # LATIN CAPITAL LETTER T WITH CARON
+1E97  ; [.1816.0020.0002.0074][.0000.0047.0002.0308] # LATIN SMALL LETTER T WITH DIAERESIS
+1E6B  ; [.1816.0020.0002.0074][.0000.0052.0002.0307] # LATIN SMALL LETTER T WITH DOT ABOVE
+1E6A  ; [.1816.0020.0008.0054][.0000.0052.0002.0307] # LATIN CAPITAL LETTER T WITH DOT ABOVE
+0163  ; [.1816.0020.0002.0074][.0000.0056.0002.0327] # LATIN SMALL LETTER T WITH CEDILLA
+0162  ; [.1816.0020.0008.0054][.0000.0056.0002.0327] # LATIN CAPITAL LETTER T WITH CEDILLA
+1E6D  ; [.1816.0020.0002.0074][.0000.0070.0002.0323] # LATIN SMALL LETTER T WITH DOT BELOW
+1E6C  ; [.1816.0020.0008.0054][.0000.0070.0002.0323] # LATIN CAPITAL LETTER T WITH DOT BELOW
+021B  ; [.1816.0020.0002.0074][.0000.0077.0002.0326] # LATIN SMALL LETTER T WITH COMMA BELOW
+021A  ; [.1816.0020.0008.0054][.0000.0077.0002.0326] # LATIN CAPITAL LETTER T WITH COMMA BELOW
+1E71  ; [.1816.0020.0002.0074][.0000.0078.0002.032D] # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW
+1E70  ; [.1816.0020.0008.0054][.0000.0078.0002.032D] # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW
+1E6F  ; [.1816.0020.0002.0074][.0000.007B.0002.0331] # LATIN SMALL LETTER T WITH LINE BELOW
+1E6E  ; [.1816.0020.0008.0054][.0000.007B.0002.0331] # LATIN CAPITAL LETTER T WITH LINE BELOW
+A787  ; [.1816.0020.0004.A787][.0000.013A.0004.A787] # LATIN SMALL LETTER INSULAR T
+A786  ; [.1816.0020.000A.A786][.0000.013A.0004.A786] # LATIN CAPITAL LETTER INSULAR T
+02A8  ; [.1816.0020.0004.02A8][.162B.0020.0004.02A8] # LATIN SMALL LETTER TC DIGRAPH WITH CURL
+2121  ; [.1816.0020.000A.2121][.164C.0020.000A.2121][.1711.0020.000A.2121] # TELEPHONE SIGN
+1D7A  ; [.1816.0020.0004.1D7A][.0000.0139.0004.1D7A][.16B4.0020.0004.1D7A] # LATIN SMALL LETTER TH WITH STRIKETHROUGH
+3394  ; [.1816.0020.001D.3394][.16B4.0020.001D.3394][.1895.0020.001C.3394] # SQUARE THZ
+2122  ; [.1816.0020.0014.2122][.1741.0020.0014.2122] # TRADE MARK SIGN
+01BE  ; [.1816.0020.0004.01BE][.17F3.0020.0004.01BE] # LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
+02A6  ; [.1816.0020.0004.02A6][.17F3.0020.0004.02A6] # LATIN SMALL LETTER TS DIGRAPH
+02A7  ; [.1816.0020.0004.02A7][.1804.0020.0004.02A7] # LATIN SMALL LETTER TESH DIGRAPH
+A729  ; [.1816.0020.0004.A729][.1895.0020.0004.A729] # LATIN SMALL LETTER TZ
+A728  ; [.1816.0020.000A.A728][.1895.0020.0004.A728] # LATIN CAPITAL LETTER TZ
+1D1B  ; [.181A.0020.0002.1D1B] # LATIN LETTER SMALL CAPITAL T
+0167  ; [.181B.0020.0002.0167] # LATIN SMALL LETTER T WITH STROKE
+0166  ; [.181B.0020.0008.0166] # LATIN CAPITAL LETTER T WITH STROKE
+2C66  ; [.181F.0020.0002.2C66] # LATIN SMALL LETTER T WITH DIAGONAL STROKE
+023E  ; [.181F.0020.0008.023E] # LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
+1D75  ; [.1820.0020.0002.1D75] # LATIN SMALL LETTER T WITH MIDDLE TILDE
+01AB  ; [.1821.0020.0002.01AB] # LATIN SMALL LETTER T WITH PALATAL HOOK
+1DB5  ; [.1821.0020.0014.1DB5] # MODIFIER LETTER SMALL T WITH PALATAL HOOK
+01AD  ; [.1825.0020.0002.01AD] # LATIN SMALL LETTER T WITH HOOK
+01AC  ; [.1825.0020.0008.01AC] # LATIN CAPITAL LETTER T WITH HOOK
+0288  ; [.1829.0020.0002.0288] # LATIN SMALL LETTER T WITH RETROFLEX HOOK
+01AE  ; [.1829.0020.0008.01AE] # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
+0236  ; [.182D.0020.0002.0236] # LATIN SMALL LETTER T WITH CURL
+A777  ; [.1831.0020.0002.A777] # LATIN SMALL LETTER TUM
+0287  ; [.1832.0020.0002.0287] # LATIN SMALL LETTER TURNED T
+0075  ; [.1836.0020.0002.0075] # LATIN SMALL LETTER U
+FF55  ; [.1836.0020.0003.FF55] # FULLWIDTH LATIN SMALL LETTER U
+0367  ; [.1836.0020.0004.0367] # COMBINING LATIN SMALL LETTER U
+24B0  ; [*02FB.0020.0004.24B0][.1836.0020.0004.24B0][*02FC.0020.001F.24B0] # PARENTHESIZED LATIN SMALL LETTER U
+1D42E ; [.1836.0020.0005.1D42E] # MATHEMATICAL BOLD SMALL U
+1D462 ; [.1836.0020.0005.1D462] # MATHEMATICAL ITALIC SMALL U
+1D496 ; [.1836.0020.0005.1D496] # MATHEMATICAL BOLD ITALIC SMALL U
+1D4CA ; [.1836.0020.0005.1D4CA] # MATHEMATICAL SCRIPT SMALL U
+1D4FE ; [.1836.0020.0005.1D4FE] # MATHEMATICAL BOLD SCRIPT SMALL U
+1D532 ; [.1836.0020.0005.1D532] # MATHEMATICAL FRAKTUR SMALL U
+1D566 ; [.1836.0020.0005.1D566] # MATHEMATICAL DOUBLE-STRUCK SMALL U
+1D59A ; [.1836.0020.0005.1D59A] # MATHEMATICAL BOLD FRAKTUR SMALL U
+1D5CE ; [.1836.0020.0005.1D5CE] # MATHEMATICAL SANS-SERIF SMALL U
+1D602 ; [.1836.0020.0005.1D602] # MATHEMATICAL SANS-SERIF BOLD SMALL U
+1D636 ; [.1836.0020.0005.1D636] # MATHEMATICAL SANS-SERIF ITALIC SMALL U
+1D66A ; [.1836.0020.0005.1D66A] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U
+1D69E ; [.1836.0020.0005.1D69E] # MATHEMATICAL MONOSPACE SMALL U
+24E4  ; [.1836.0020.0006.24E4] # CIRCLED LATIN SMALL LETTER U
+0055  ; [.1836.0020.0008.0055] # LATIN CAPITAL LETTER U
+FF35  ; [.1836.0020.0009.FF35] # FULLWIDTH LATIN CAPITAL LETTER U
+1F124 ; [*02FB.0020.0004.1F124][.1836.0020.000A.1F124][*02FC.0020.001F.1F124] # PARENTHESIZED LATIN CAPITAL LETTER U
+1D414 ; [.1836.0020.000B.1D414] # MATHEMATICAL BOLD CAPITAL U
+1D448 ; [.1836.0020.000B.1D448] # MATHEMATICAL ITALIC CAPITAL U
+1D47C ; [.1836.0020.000B.1D47C] # MATHEMATICAL BOLD ITALIC CAPITAL U
+1D4B0 ; [.1836.0020.000B.1D4B0] # MATHEMATICAL SCRIPT CAPITAL U
+1D4E4 ; [.1836.0020.000B.1D4E4] # MATHEMATICAL BOLD SCRIPT CAPITAL U
+1D518 ; [.1836.0020.000B.1D518] # MATHEMATICAL FRAKTUR CAPITAL U
+1D54C ; [.1836.0020.000B.1D54C] # MATHEMATICAL DOUBLE-STRUCK CAPITAL U
+1D580 ; [.1836.0020.000B.1D580] # MATHEMATICAL BOLD FRAKTUR CAPITAL U
+1D5B4 ; [.1836.0020.000B.1D5B4] # MATHEMATICAL SANS-SERIF CAPITAL U
+1D5E8 ; [.1836.0020.000B.1D5E8] # MATHEMATICAL SANS-SERIF BOLD CAPITAL U
+1D61C ; [.1836.0020.000B.1D61C] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL U
+1D650 ; [.1836.0020.000B.1D650] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U
+1D684 ; [.1836.0020.000B.1D684] # MATHEMATICAL MONOSPACE CAPITAL U
+24CA  ; [.1836.0020.000C.24CA] # CIRCLED LATIN CAPITAL LETTER U
+1F164 ; [.1836.0020.000C.1F164] # NEGATIVE CIRCLED LATIN CAPITAL LETTER U
+1D58  ; [.1836.0020.0014.1D58] # MODIFIER LETTER SMALL U
+1D64  ; [.1836.0020.0015.1D64] # LATIN SUBSCRIPT SMALL LETTER U
+1D41  ; [.1836.0020.001D.1D41] # MODIFIER LETTER CAPITAL U
+1F144 ; [.1836.0020.001D.1F144] # SQUARED LATIN CAPITAL LETTER U
+1F184 ; [.1836.0020.001D.1F184] # NEGATIVE SQUARED LATIN CAPITAL LETTER U
+00FA  ; [.1836.0020.0002.0075][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH ACUTE
+00DA  ; [.1836.0020.0008.0055][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH ACUTE
+00F9  ; [.1836.0020.0002.0075][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH GRAVE
+00D9  ; [.1836.0020.0008.0055][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH GRAVE
+016D  ; [.1836.0020.0002.0075][.0000.0037.0002.0306] # LATIN SMALL LETTER U WITH BREVE
+016C  ; [.1836.0020.0008.0055][.0000.0037.0002.0306] # LATIN CAPITAL LETTER U WITH BREVE
+00FB  ; [.1836.0020.0002.0075][.0000.003C.0002.0302] # LATIN SMALL LETTER U WITH CIRCUMFLEX
+00DB  ; [.1836.0020.0008.0055][.0000.003C.0002.0302] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+01D4  ; [.1836.0020.0002.0075][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH CARON
+01D3  ; [.1836.0020.0008.0055][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH CARON
+016F  ; [.1836.0020.0002.0075][.0000.0043.0002.030A] # LATIN SMALL LETTER U WITH RING ABOVE
+016E  ; [.1836.0020.0008.0055][.0000.0043.0002.030A] # LATIN CAPITAL LETTER U WITH RING ABOVE
+00FC  ; [.1836.0020.0002.0075][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH DIAERESIS
+00DC  ; [.1836.0020.0008.0055][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH DIAERESIS
+01D8  ; [.1836.0020.0002.0075][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE
+01D7  ; [.1836.0020.0008.0055][.0000.0047.0002.0308][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE
+01DC  ; [.1836.0020.0002.0075][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE
+01DB  ; [.1836.0020.0008.0055][.0000.0047.0002.0308][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE
+01DA  ; [.1836.0020.0002.0075][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN SMALL LETTER U WITH DIAERESIS AND CARON
+01D9  ; [.1836.0020.0008.0055][.0000.0047.0002.0308][.0000.0041.0002.030C] # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON
+01D6  ; [.1836.0020.0002.0075][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON
+01D5  ; [.1836.0020.0008.0055][.0000.0047.0002.0308][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON
+0171  ; [.1836.0020.0002.0075][.0000.004D.0002.030B] # LATIN SMALL LETTER U WITH DOUBLE ACUTE
+0170  ; [.1836.0020.0008.0055][.0000.004D.0002.030B] # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
+0169  ; [.1836.0020.0002.0075][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH TILDE
+0168  ; [.1836.0020.0008.0055][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH TILDE
+1E79  ; [.1836.0020.0002.0075][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH TILDE AND ACUTE
+1E78  ; [.1836.0020.0008.0055][.0000.004E.0002.0303][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE
+0173  ; [.1836.0020.0002.0075][.0000.0059.0002.0328] # LATIN SMALL LETTER U WITH OGONEK
+0172  ; [.1836.0020.0008.0055][.0000.0059.0002.0328] # LATIN CAPITAL LETTER U WITH OGONEK
+016B  ; [.1836.0020.0002.0075][.0000.005B.0002.0304] # LATIN SMALL LETTER U WITH MACRON
+016A  ; [.1836.0020.0008.0055][.0000.005B.0002.0304] # LATIN CAPITAL LETTER U WITH MACRON
+1E7B  ; [.1836.0020.0002.0075][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS
+1E7A  ; [.1836.0020.0008.0055][.0000.005B.0002.0304][.0000.0047.0002.0308] # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS
+1EE7  ; [.1836.0020.0002.0075][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HOOK ABOVE
+1EE6  ; [.1836.0020.0008.0055][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HOOK ABOVE
+0215  ; [.1836.0020.0002.0075][.0000.0065.0002.030F] # LATIN SMALL LETTER U WITH DOUBLE GRAVE
+0214  ; [.1836.0020.0008.0055][.0000.0065.0002.030F] # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE
+0217  ; [.1836.0020.0002.0075][.0000.0067.0002.0311] # LATIN SMALL LETTER U WITH INVERTED BREVE
+0216  ; [.1836.0020.0008.0055][.0000.0067.0002.0311] # LATIN CAPITAL LETTER U WITH INVERTED BREVE
+01B0  ; [.1836.0020.0002.0075][.0000.0068.0002.031B] # LATIN SMALL LETTER U WITH HORN
+01AF  ; [.1836.0020.0008.0055][.0000.0068.0002.031B] # LATIN CAPITAL LETTER U WITH HORN
+1EE9  ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN SMALL LETTER U WITH HORN AND ACUTE
+1EE8  ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.0032.0002.0301] # LATIN CAPITAL LETTER U WITH HORN AND ACUTE
+1EEB  ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN SMALL LETTER U WITH HORN AND GRAVE
+1EEA  ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.0035.0002.0300] # LATIN CAPITAL LETTER U WITH HORN AND GRAVE
+1EEF  ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN SMALL LETTER U WITH HORN AND TILDE
+1EEE  ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.004E.0002.0303] # LATIN CAPITAL LETTER U WITH HORN AND TILDE
+1EED  ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE
+1EEC  ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.0064.0002.0309] # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE
+1EF1  ; [.1836.0020.0002.0075][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH HORN AND DOT BELOW
+1EF0  ; [.1836.0020.0008.0055][.0000.0068.0002.031B][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW
+1EE5  ; [.1836.0020.0002.0075][.0000.0070.0002.0323] # LATIN SMALL LETTER U WITH DOT BELOW
+1EE4  ; [.1836.0020.0008.0055][.0000.0070.0002.0323] # LATIN CAPITAL LETTER U WITH DOT BELOW
+1E73  ; [.1836.0020.0002.0075][.0000.0075.0002.0324] # LATIN SMALL LETTER U WITH DIAERESIS BELOW
+1E72  ; [.1836.0020.0008.0055][.0000.0075.0002.0324] # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW
+1E77  ; [.1836.0020.0002.0075][.0000.0078.0002.032D] # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW
+1E76  ; [.1836.0020.0008.0055][.0000.0078.0002.032D] # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW
+1E75  ; [.1836.0020.0002.0075][.0000.007A.0002.0330] # LATIN SMALL LETTER U WITH TILDE BELOW
+1E74  ; [.1836.0020.0008.0055][.0000.007A.0002.0330] # LATIN CAPITAL LETTER U WITH TILDE BELOW
+1F199 ; [.1836.0020.001D.1F199][.1796.0020.001D.1F199][*025E.0020.001C.1F199] # SQUARED UP WITH EXCLAMATION MARK
+1D1C  ; [.183A.0020.0002.1D1C] # LATIN LETTER SMALL CAPITAL U
+1DB8  ; [.183A.0020.0014.1DB8] # MODIFIER LETTER SMALL CAPITAL U
+1D1D  ; [.183B.0020.0002.1D1D] # LATIN SMALL LETTER SIDEWAYS U
+1D59  ; [.183B.0020.0014.1D59] # MODIFIER LETTER SMALL SIDEWAYS U
+1D1E  ; [.183C.0020.0002.1D1E] # LATIN SMALL LETTER SIDEWAYS DIAERESIZED U
+1D6B  ; [.183D.0020.0002.1D6B] # LATIN SMALL LETTER UE
+0289  ; [.183E.0020.0002.0289] # LATIN SMALL LETTER U BAR
+0244  ; [.183E.0020.0008.0244] # LATIN CAPITAL LETTER U BAR
+1DB6  ; [.183E.0020.0014.1DB6] # MODIFIER LETTER SMALL U BAR
+1D7E  ; [.1842.0020.0002.1D7E] # LATIN SMALL CAPITAL LETTER U WITH STROKE
+1D99  ; [.1843.0020.0002.1D99] # LATIN SMALL LETTER U WITH RETROFLEX HOOK
+0265  ; [.1844.0020.0002.0265] # LATIN SMALL LETTER TURNED H
+A78D  ; [.1844.0020.0008.A78D] # LATIN CAPITAL LETTER TURNED H
+1DA3  ; [.1844.0020.0014.1DA3] # MODIFIER LETTER SMALL TURNED H
+02AE  ; [.1848.0020.0002.02AE] # LATIN SMALL LETTER TURNED H WITH FISHHOOK 
+02AF  ; [.184C.0020.0002.02AF] # LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL
+026F  ; [.1850.0020.0002.026F] # LATIN SMALL LETTER TURNED M
+019C  ; [.1850.0020.0008.019C] # LATIN CAPITAL LETTER TURNED M
+1D5A  ; [.1850.0020.0014.1D5A] # MODIFIER LETTER SMALL TURNED M
+A7FA  ; [.1854.0020.0002.A7FA] # LATIN LETTER SMALL CAPITAL TURNED M
+1D1F  ; [.1855.0020.0002.1D1F] # LATIN SMALL LETTER SIDEWAYS TURNED M
+0270  ; [.1856.0020.0002.0270] # LATIN SMALL LETTER TURNED M WITH LONG LEG
+1DAD  ; [.1856.0020.0014.1DAD] # MODIFIER LETTER SMALL TURNED M WITH LONG LEG
+028A  ; [.185A.0020.0002.028A] # LATIN SMALL LETTER UPSILON
+01B1  ; [.185A.0020.0008.01B1] # LATIN CAPITAL LETTER UPSILON
+1DB7  ; [.185A.0020.0014.1DB7] # MODIFIER LETTER SMALL UPSILON
+1D7F  ; [.185E.0020.0002.1D7F] # LATIN SMALL LETTER UPSILON WITH STROKE
+0076  ; [.185F.0020.0002.0076] # LATIN SMALL LETTER V
+FF56  ; [.185F.0020.0003.FF56] # FULLWIDTH LATIN SMALL LETTER V
+036E  ; [.185F.0020.0004.036E] # COMBINING LATIN SMALL LETTER V
+2174  ; [.185F.0020.0004.2174] # SMALL ROMAN NUMERAL FIVE
+24B1  ; [*02FB.0020.0004.24B1][.185F.0020.0004.24B1][*02FC.0020.001F.24B1] # PARENTHESIZED LATIN SMALL LETTER V
+1D42F ; [.185F.0020.0005.1D42F] # MATHEMATICAL BOLD SMALL V
+1D463 ; [.185F.0020.0005.1D463] # MATHEMATICAL ITALIC SMALL V
+1D497 ; [.185F.0020.0005.1D497] # MATHEMATICAL BOLD ITALIC SMALL V
+1D4CB ; [.185F.0020.0005.1D4CB] # MATHEMATICAL SCRIPT SMALL V
+1D4FF ; [.185F.0020.0005.1D4FF] # MATHEMATICAL BOLD SCRIPT SMALL V
+1D533 ; [.185F.0020.0005.1D533] # MATHEMATICAL FRAKTUR SMALL V
+1D567 ; [.185F.0020.0005.1D567] # MATHEMATICAL DOUBLE-STRUCK SMALL V
+1D59B ; [.185F.0020.0005.1D59B] # MATHEMATICAL BOLD FRAKTUR SMALL V
+1D5CF ; [.185F.0020.0005.1D5CF] # MATHEMATICAL SANS-SERIF SMALL V
+1D603 ; [.185F.0020.0005.1D603] # MATHEMATICAL SANS-SERIF BOLD SMALL V
+1D637 ; [.185F.0020.0005.1D637] # MATHEMATICAL SANS-SERIF ITALIC SMALL V
+1D66B ; [.185F.0020.0005.1D66B] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V
+1D69F ; [.185F.0020.0005.1D69F] # MATHEMATICAL MONOSPACE SMALL V
+24E5  ; [.185F.0020.0006.24E5] # CIRCLED LATIN SMALL LETTER V
+0056  ; [.185F.0020.0008.0056] # LATIN CAPITAL LETTER V
+FF36  ; [.185F.0020.0009.FF36] # FULLWIDTH LATIN CAPITAL LETTER V
+2164  ; [.185F.0020.000A.2164] # ROMAN NUMERAL FIVE
+1F125 ; [*02FB.0020.0004.1F125][.185F.0020.000A.1F125][*02FC.0020.001F.1F125] # PARENTHESIZED LATIN CAPITAL LETTER V
+1D415 ; [.185F.0020.000B.1D415] # MATHEMATICAL BOLD CAPITAL V
+1D449 ; [.185F.0020.000B.1D449] # MATHEMATICAL ITALIC CAPITAL V
+1D47D ; [.185F.0020.000B.1D47D] # MATHEMATICAL BOLD ITALIC CAPITAL V
+1D4B1 ; [.185F.0020.000B.1D4B1] # MATHEMATICAL SCRIPT CAPITAL V
+1D4E5 ; [.185F.0020.000B.1D4E5] # MATHEMATICAL BOLD SCRIPT CAPITAL V
+1D519 ; [.185F.0020.000B.1D519] # MATHEMATICAL FRAKTUR CAPITAL V
+1D54D ; [.185F.0020.000B.1D54D] # MATHEMATICAL DOUBLE-STRUCK CAPITAL V
+1D581 ; [.185F.0020.000B.1D581] # MATHEMATICAL BOLD FRAKTUR CAPITAL V
+1D5B5 ; [.185F.0020.000B.1D5B5] # MATHEMATICAL SANS-SERIF CAPITAL V
+1D5E9 ; [.185F.0020.000B.1D5E9] # MATHEMATICAL SANS-SERIF BOLD CAPITAL V
+1D61D ; [.185F.0020.000B.1D61D] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL V
+1D651 ; [.185F.0020.000B.1D651] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V
+1D685 ; [.185F.0020.000B.1D685] # MATHEMATICAL MONOSPACE CAPITAL V
+24CB  ; [.185F.0020.000C.24CB] # CIRCLED LATIN CAPITAL LETTER V
+1F165 ; [.185F.0020.000C.1F165] # NEGATIVE CIRCLED LATIN CAPITAL LETTER V
+1D5B  ; [.185F.0020.0014.1D5B] # MODIFIER LETTER SMALL V
+1D65  ; [.185F.0020.0015.1D65] # LATIN SUBSCRIPT SMALL LETTER V
+2C7D  ; [.185F.0020.001D.2C7D] # MODIFIER LETTER CAPITAL V
+1F145 ; [.185F.0020.001D.1F145] # SQUARED LATIN CAPITAL LETTER V
+1F185 ; [.185F.0020.001D.1F185] # NEGATIVE SQUARED LATIN CAPITAL LETTER V
+1E7D  ; [.185F.0020.0002.0076][.0000.004E.0002.0303] # LATIN SMALL LETTER V WITH TILDE
+1E7C  ; [.185F.0020.0008.0056][.0000.004E.0002.0303] # LATIN CAPITAL LETTER V WITH TILDE
+1E7F  ; [.185F.0020.0002.0076][.0000.0070.0002.0323] # LATIN SMALL LETTER V WITH DOT BELOW
+1E7E  ; [.185F.0020.0008.0056][.0000.0070.0002.0323] # LATIN CAPITAL LETTER V WITH DOT BELOW
+2175  ; [.185F.0020.0004.2175][.16CD.0020.001F.2175] # SMALL ROMAN NUMERAL SIX
+2165  ; [.185F.0020.000A.2165][.16CD.0020.001F.2165] # ROMAN NUMERAL SIX
+2176  ; [.185F.0020.0004.2176][.16CD.0020.0004.2176][.16CD.0020.001F.2176] # SMALL ROMAN NUMERAL SEVEN
+2166  ; [.185F.0020.000A.2166][.16CD.0020.000A.2166][.16CD.0020.001F.2166] # ROMAN NUMERAL SEVEN
+2177  ; [.185F.0020.0004.2177][.16CD.0020.0004.2177][.16CD.0020.0004.2177][.16CD.0020.001F.2177] # SMALL ROMAN NUMERAL EIGHT
+2167  ; [.185F.0020.000A.2167][.16CD.0020.000A.2167][.16CD.0020.000A.2167][.16CD.0020.001F.2167] # ROMAN NUMERAL EIGHT
+33DE  ; [.185F.0020.001D.33DE][*05AB.0020.001C.33DE][.1741.0020.001C.33DE] # SQUARE V OVER M
+1F19A ; [.185F.0020.001D.1F19A][.17F3.0020.001D.1F19A] # SQUARED VS
+A761  ; [.185F.0020.0004.A761][.1880.0020.0004.A761] # LATIN SMALL LETTER VY
+A760  ; [.185F.0020.000A.A760][.1880.0020.000A.A760] # LATIN CAPITAL LETTER VY
+1D20  ; [.1863.0020.0002.1D20] # LATIN LETTER SMALL CAPITAL V
+A75F  ; [.1864.0020.0002.A75F] # LATIN SMALL LETTER V WITH DIAGONAL STROKE
+A75E  ; [.1864.0020.0008.A75E] # LATIN CAPITAL LETTER V WITH DIAGONAL STROKE
+1D8C  ; [.1865.0020.0002.1D8C] # LATIN SMALL LETTER V WITH PALATAL HOOK
+028B  ; [.1866.0020.0002.028B] # LATIN SMALL LETTER V WITH HOOK
+01B2  ; [.1866.0020.0008.01B2] # LATIN CAPITAL LETTER V WITH HOOK
+1DB9  ; [.1866.0020.0014.1DB9] # MODIFIER LETTER SMALL V WITH HOOK
+2C71  ; [.186A.0020.0002.2C71] # LATIN SMALL LETTER V WITH RIGHT HOOK
+2C74  ; [.186B.0020.0002.2C74] # LATIN SMALL LETTER V WITH CURL
+1EFD  ; [.186C.0020.0002.1EFD] # LATIN SMALL LETTER MIDDLE-WELSH V
+1EFC  ; [.186C.0020.0008.1EFC] # LATIN CAPITAL LETTER MIDDLE-WELSH V
+028C  ; [.186D.0020.0002.028C] # LATIN SMALL LETTER TURNED V
+0245  ; [.186D.0020.0008.0245] # LATIN CAPITAL LETTER TURNED V
+1DBA  ; [.186D.0020.0014.1DBA] # MODIFIER LETTER SMALL TURNED V
+0077  ; [.1871.0020.0002.0077] # LATIN SMALL LETTER W
+FF57  ; [.1871.0020.0003.FF57] # FULLWIDTH LATIN SMALL LETTER W
+24B2  ; [*02FB.0020.0004.24B2][.1871.0020.0004.24B2][*02FC.0020.001F.24B2] # PARENTHESIZED LATIN SMALL LETTER W
+1D430 ; [.1871.0020.0005.1D430] # MATHEMATICAL BOLD SMALL W
+1D464 ; [.1871.0020.0005.1D464] # MATHEMATICAL ITALIC SMALL W
+1D498 ; [.1871.0020.0005.1D498] # MATHEMATICAL BOLD ITALIC SMALL W
+1D4CC ; [.1871.0020.0005.1D4CC] # MATHEMATICAL SCRIPT SMALL W
+1D500 ; [.1871.0020.0005.1D500] # MATHEMATICAL BOLD SCRIPT SMALL W
+1D534 ; [.1871.0020.0005.1D534] # MATHEMATICAL FRAKTUR SMALL W
+1D568 ; [.1871.0020.0005.1D568] # MATHEMATICAL DOUBLE-STRUCK SMALL W
+1D59C ; [.1871.0020.0005.1D59C] # MATHEMATICAL BOLD FRAKTUR SMALL W
+1D5D0 ; [.1871.0020.0005.1D5D0] # MATHEMATICAL SANS-SERIF SMALL W
+1D604 ; [.1871.0020.0005.1D604] # MATHEMATICAL SANS-SERIF BOLD SMALL W
+1D638 ; [.1871.0020.0005.1D638] # MATHEMATICAL SANS-SERIF ITALIC SMALL W
+1D66C ; [.1871.0020.0005.1D66C] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W
+1D6A0 ; [.1871.0020.0005.1D6A0] # MATHEMATICAL MONOSPACE SMALL W
+24E6  ; [.1871.0020.0006.24E6] # CIRCLED LATIN SMALL LETTER W
+0057  ; [.1871.0020.0008.0057] # LATIN CAPITAL LETTER W
+FF37  ; [.1871.0020.0009.FF37] # FULLWIDTH LATIN CAPITAL LETTER W
+1F126 ; [*02FB.0020.0004.1F126][.1871.0020.000A.1F126][*02FC.0020.001F.1F126] # PARENTHESIZED LATIN CAPITAL LETTER W
+1D416 ; [.1871.0020.000B.1D416] # MATHEMATICAL BOLD CAPITAL W
+1D44A ; [.1871.0020.000B.1D44A] # MATHEMATICAL ITALIC CAPITAL W
+1D47E ; [.1871.0020.000B.1D47E] # MATHEMATICAL BOLD ITALIC CAPITAL W
+1D4B2 ; [.1871.0020.000B.1D4B2] # MATHEMATICAL SCRIPT CAPITAL W
+1D4E6 ; [.1871.0020.000B.1D4E6] # MATHEMATICAL BOLD SCRIPT CAPITAL W
+1D51A ; [.1871.0020.000B.1D51A] # MATHEMATICAL FRAKTUR CAPITAL W
+1D54E ; [.1871.0020.000B.1D54E] # MATHEMATICAL DOUBLE-STRUCK CAPITAL W
+1D582 ; [.1871.0020.000B.1D582] # MATHEMATICAL BOLD FRAKTUR CAPITAL W
+1D5B6 ; [.1871.0020.000B.1D5B6] # MATHEMATICAL SANS-SERIF CAPITAL W
+1D5EA ; [.1871.0020.000B.1D5EA] # MATHEMATICAL SANS-SERIF BOLD CAPITAL W
+1D61E ; [.1871.0020.000B.1D61E] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL W
+1D652 ; [.1871.0020.000B.1D652] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W
+1D686 ; [.1871.0020.000B.1D686] # MATHEMATICAL MONOSPACE CAPITAL W
+24CC  ; [.1871.0020.000C.24CC] # CIRCLED LATIN CAPITAL LETTER W
+1F166 ; [.1871.0020.000C.1F166] # NEGATIVE CIRCLED LATIN CAPITAL LETTER W
+02B7  ; [.1871.0020.0014.02B7] # MODIFIER LETTER SMALL W
+1D42  ; [.1871.0020.001D.1D42] # MODIFIER LETTER CAPITAL W
+1F146 ; [.1871.0020.001D.1F146] # SQUARED LATIN CAPITAL LETTER W
+1F186 ; [.1871.0020.001D.1F186] # NEGATIVE SQUARED LATIN CAPITAL LETTER W
+1E83  ; [.1871.0020.0002.0077][.0000.0032.0002.0301] # LATIN SMALL LETTER W WITH ACUTE
+1E82  ; [.1871.0020.0008.0057][.0000.0032.0002.0301] # LATIN CAPITAL LETTER W WITH ACUTE
+1E81  ; [.1871.0020.0002.0077][.0000.0035.0002.0300] # LATIN SMALL LETTER W WITH GRAVE
+1E80  ; [.1871.0020.0008.0057][.0000.0035.0002.0300] # LATIN CAPITAL LETTER W WITH GRAVE
+0175  ; [.1871.0020.0002.0077][.0000.003C.0002.0302] # LATIN SMALL LETTER W WITH CIRCUMFLEX
+0174  ; [.1871.0020.0008.0057][.0000.003C.0002.0302] # LATIN CAPITAL LETTER W WITH CIRCUMFLEX
+1E98  ; [.1871.0020.0002.0077][.0000.0043.0002.030A] # LATIN SMALL LETTER W WITH RING ABOVE
+1E85  ; [.1871.0020.0002.0077][.0000.0047.0002.0308] # LATIN SMALL LETTER W WITH DIAERESIS
+1E84  ; [.1871.0020.0008.0057][.0000.0047.0002.0308] # LATIN CAPITAL LETTER W WITH DIAERESIS
+1E87  ; [.1871.0020.0002.0077][.0000.0052.0002.0307] # LATIN SMALL LETTER W WITH DOT ABOVE
+1E86  ; [.1871.0020.0008.0057][.0000.0052.0002.0307] # LATIN CAPITAL LETTER W WITH DOT ABOVE
+1E89  ; [.1871.0020.0002.0077][.0000.0070.0002.0323] # LATIN SMALL LETTER W WITH DOT BELOW
+1E88  ; [.1871.0020.0008.0057][.0000.0070.0002.0323] # LATIN CAPITAL LETTER W WITH DOT BELOW
+33DD  ; [.1871.0020.001D.33DD][.1605.0020.001C.33DD] # SQUARE WB
+1F14F ; [.1871.0020.001D.1F14F][.161D.0020.001D.1F14F] # SQUARED WC
+1F18F ; [.1871.0020.001D.1F18F][.161D.0020.001D.1F18F] # NEGATIVE SQUARED WC
+1F12E ; [.1871.0020.000C.1F12E][.1895.0020.000C.1F12E] # CIRCLED WZ
+1D21  ; [.1875.0020.0002.1D21] # LATIN LETTER SMALL CAPITAL W
+2C73  ; [.1876.0020.0002.2C73] # LATIN SMALL LETTER W WITH HOOK
+2C72  ; [.1876.0020.0008.2C72] # LATIN CAPITAL LETTER W WITH HOOK
+028D  ; [.1877.0020.0002.028D] # LATIN SMALL LETTER TURNED W
+0078  ; [.187B.0020.0002.0078] # LATIN SMALL LETTER X
+FF58  ; [.187B.0020.0003.FF58] # FULLWIDTH LATIN SMALL LETTER X
+036F  ; [.187B.0020.0004.036F] # COMBINING LATIN SMALL LETTER X
+2179  ; [.187B.0020.0004.2179] # SMALL ROMAN NUMERAL TEN
+24B3  ; [*02FB.0020.0004.24B3][.187B.0020.0004.24B3][*02FC.0020.001F.24B3] # PARENTHESIZED LATIN SMALL LETTER X
+1D431 ; [.187B.0020.0005.1D431] # MATHEMATICAL BOLD SMALL X
+1D465 ; [.187B.0020.0005.1D465] # MATHEMATICAL ITALIC SMALL X
+1D499 ; [.187B.0020.0005.1D499] # MATHEMATICAL BOLD ITALIC SMALL X
+1D4CD ; [.187B.0020.0005.1D4CD] # MATHEMATICAL SCRIPT SMALL X
+1D501 ; [.187B.0020.0005.1D501] # MATHEMATICAL BOLD SCRIPT SMALL X
+1D535 ; [.187B.0020.0005.1D535] # MATHEMATICAL FRAKTUR SMALL X
+1D569 ; [.187B.0020.0005.1D569] # MATHEMATICAL DOUBLE-STRUCK SMALL X
+1D59D ; [.187B.0020.0005.1D59D] # MATHEMATICAL BOLD FRAKTUR SMALL X
+1D5D1 ; [.187B.0020.0005.1D5D1] # MATHEMATICAL SANS-SERIF SMALL X
+1D605 ; [.187B.0020.0005.1D605] # MATHEMATICAL SANS-SERIF BOLD SMALL X
+1D639 ; [.187B.0020.0005.1D639] # MATHEMATICAL SANS-SERIF ITALIC SMALL X
+1D66D ; [.187B.0020.0005.1D66D] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X
+1D6A1 ; [.187B.0020.0005.1D6A1] # MATHEMATICAL MONOSPACE SMALL X
+24E7  ; [.187B.0020.0006.24E7] # CIRCLED LATIN SMALL LETTER X
+0058  ; [.187B.0020.0008.0058] # LATIN CAPITAL LETTER X
+FF38  ; [.187B.0020.0009.FF38] # FULLWIDTH LATIN CAPITAL LETTER X
+2169  ; [.187B.0020.000A.2169] # ROMAN NUMERAL TEN
+1F127 ; [*02FB.0020.0004.1F127][.187B.0020.000A.1F127][*02FC.0020.001F.1F127] # PARENTHESIZED LATIN CAPITAL LETTER X
+1D417 ; [.187B.0020.000B.1D417] # MATHEMATICAL BOLD CAPITAL X
+1D44B ; [.187B.0020.000B.1D44B] # MATHEMATICAL ITALIC CAPITAL X
+1D47F ; [.187B.0020.000B.1D47F] # MATHEMATICAL BOLD ITALIC CAPITAL X
+1D4B3 ; [.187B.0020.000B.1D4B3] # MATHEMATICAL SCRIPT CAPITAL X
+1D4E7 ; [.187B.0020.000B.1D4E7] # MATHEMATICAL BOLD SCRIPT CAPITAL X
+1D51B ; [.187B.0020.000B.1D51B] # MATHEMATICAL FRAKTUR CAPITAL X
+1D54F ; [.187B.0020.000B.1D54F] # MATHEMATICAL DOUBLE-STRUCK CAPITAL X
+1D583 ; [.187B.0020.000B.1D583] # MATHEMATICAL BOLD FRAKTUR CAPITAL X
+1D5B7 ; [.187B.0020.000B.1D5B7] # MATHEMATICAL SANS-SERIF CAPITAL X
+1D5EB ; [.187B.0020.000B.1D5EB] # MATHEMATICAL SANS-SERIF BOLD CAPITAL X
+1D61F ; [.187B.0020.000B.1D61F] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL X
+1D653 ; [.187B.0020.000B.1D653] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X
+1D687 ; [.187B.0020.000B.1D687] # MATHEMATICAL MONOSPACE CAPITAL X
+24CD  ; [.187B.0020.000C.24CD] # CIRCLED LATIN CAPITAL LETTER X
+1F167 ; [.187B.0020.000C.1F167] # NEGATIVE CIRCLED LATIN CAPITAL LETTER X
+02E3  ; [.187B.0020.0014.02E3] # MODIFIER LETTER SMALL X
+2093  ; [.187B.0020.0015.2093] # LATIN SUBSCRIPT SMALL LETTER X
+1F147 ; [.187B.0020.001D.1F147] # SQUARED LATIN CAPITAL LETTER X
+1F187 ; [.187B.0020.001D.1F187] # NEGATIVE SQUARED LATIN CAPITAL LETTER X
+1E8D  ; [.187B.0020.0002.0078][.0000.0047.0002.0308] # LATIN SMALL LETTER X WITH DIAERESIS
+1E8C  ; [.187B.0020.0008.0058][.0000.0047.0002.0308] # LATIN CAPITAL LETTER X WITH DIAERESIS
+1E8B  ; [.187B.0020.0002.0078][.0000.0052.0002.0307] # LATIN SMALL LETTER X WITH DOT ABOVE
+1E8A  ; [.187B.0020.0008.0058][.0000.0052.0002.0307] # LATIN CAPITAL LETTER X WITH DOT ABOVE
+217A  ; [.187B.0020.0004.217A][.16CD.0020.001F.217A] # SMALL ROMAN NUMERAL ELEVEN
+216A  ; [.187B.0020.000A.216A][.16CD.0020.001F.216A] # ROMAN NUMERAL ELEVEN
+217B  ; [.187B.0020.0004.217B][.16CD.0020.0004.217B][.16CD.0020.001F.217B] # SMALL ROMAN NUMERAL TWELVE
+216B  ; [.187B.0020.000A.216B][.16CD.0020.000A.216B][.16CD.0020.001F.216B] # ROMAN NUMERAL TWELVE
+1D8D  ; [.187F.0020.0002.1D8D] # LATIN SMALL LETTER X WITH PALATAL HOOK
+0079  ; [.1880.0020.0002.0079] # LATIN SMALL LETTER Y
+FF59  ; [.1880.0020.0003.FF59] # FULLWIDTH LATIN SMALL LETTER Y
+24B4  ; [*02FB.0020.0004.24B4][.1880.0020.0004.24B4][*02FC.0020.001F.24B4] # PARENTHESIZED LATIN SMALL LETTER Y
+1D432 ; [.1880.0020.0005.1D432] # MATHEMATICAL BOLD SMALL Y
+1D466 ; [.1880.0020.0005.1D466] # MATHEMATICAL ITALIC SMALL Y
+1D49A ; [.1880.0020.0005.1D49A] # MATHEMATICAL BOLD ITALIC SMALL Y
+1D4CE ; [.1880.0020.0005.1D4CE] # MATHEMATICAL SCRIPT SMALL Y
+1D502 ; [.1880.0020.0005.1D502] # MATHEMATICAL BOLD SCRIPT SMALL Y
+1D536 ; [.1880.0020.0005.1D536] # MATHEMATICAL FRAKTUR SMALL Y
+1D56A ; [.1880.0020.0005.1D56A] # MATHEMATICAL DOUBLE-STRUCK SMALL Y
+1D59E ; [.1880.0020.0005.1D59E] # MATHEMATICAL BOLD FRAKTUR SMALL Y
+1D5D2 ; [.1880.0020.0005.1D5D2] # MATHEMATICAL SANS-SERIF SMALL Y
+1D606 ; [.1880.0020.0005.1D606] # MATHEMATICAL SANS-SERIF BOLD SMALL Y
+1D63A ; [.1880.0020.0005.1D63A] # MATHEMATICAL SANS-SERIF ITALIC SMALL Y
+1D66E ; [.1880.0020.0005.1D66E] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y
+1D6A2 ; [.1880.0020.0005.1D6A2] # MATHEMATICAL MONOSPACE SMALL Y
+24E8  ; [.1880.0020.0006.24E8] # CIRCLED LATIN SMALL LETTER Y
+0059  ; [.1880.0020.0008.0059] # LATIN CAPITAL LETTER Y
+FF39  ; [.1880.0020.0009.FF39] # FULLWIDTH LATIN CAPITAL LETTER Y
+1F128 ; [*02FB.0020.0004.1F128][.1880.0020.000A.1F128][*02FC.0020.001F.1F128] # PARENTHESIZED LATIN CAPITAL LETTER Y
+1D418 ; [.1880.0020.000B.1D418] # MATHEMATICAL BOLD CAPITAL Y
+1D44C ; [.1880.0020.000B.1D44C] # MATHEMATICAL ITALIC CAPITAL Y
+1D480 ; [.1880.0020.000B.1D480] # MATHEMATICAL BOLD ITALIC CAPITAL Y
+1D4B4 ; [.1880.0020.000B.1D4B4] # MATHEMATICAL SCRIPT CAPITAL Y
+1D4E8 ; [.1880.0020.000B.1D4E8] # MATHEMATICAL BOLD SCRIPT CAPITAL Y
+1D51C ; [.1880.0020.000B.1D51C] # MATHEMATICAL FRAKTUR CAPITAL Y
+1D550 ; [.1880.0020.000B.1D550] # MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
+1D584 ; [.1880.0020.000B.1D584] # MATHEMATICAL BOLD FRAKTUR CAPITAL Y
+1D5B8 ; [.1880.0020.000B.1D5B8] # MATHEMATICAL SANS-SERIF CAPITAL Y
+1D5EC ; [.1880.0020.000B.1D5EC] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Y
+1D620 ; [.1880.0020.000B.1D620] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y
+1D654 ; [.1880.0020.000B.1D654] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y
+1D688 ; [.1880.0020.000B.1D688] # MATHEMATICAL MONOSPACE CAPITAL Y
+24CE  ; [.1880.0020.000C.24CE] # CIRCLED LATIN CAPITAL LETTER Y
+1F168 ; [.1880.0020.000C.1F168] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
+02B8  ; [.1880.0020.0014.02B8] # MODIFIER LETTER SMALL Y
+1F148 ; [.1880.0020.001D.1F148] # SQUARED LATIN CAPITAL LETTER Y
+1F188 ; [.1880.0020.001D.1F188] # NEGATIVE SQUARED LATIN CAPITAL LETTER Y
+00FD  ; [.1880.0020.0002.0079][.0000.0032.0002.0301] # LATIN SMALL LETTER Y WITH ACUTE
+00DD  ; [.1880.0020.0008.0059][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Y WITH ACUTE
+1EF3  ; [.1880.0020.0002.0079][.0000.0035.0002.0300] # LATIN SMALL LETTER Y WITH GRAVE
+1EF2  ; [.1880.0020.0008.0059][.0000.0035.0002.0300] # LATIN CAPITAL LETTER Y WITH GRAVE
+0177  ; [.1880.0020.0002.0079][.0000.003C.0002.0302] # LATIN SMALL LETTER Y WITH CIRCUMFLEX
+0176  ; [.1880.0020.0008.0059][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
+1E99  ; [.1880.0020.0002.0079][.0000.0043.0002.030A] # LATIN SMALL LETTER Y WITH RING ABOVE
+00FF  ; [.1880.0020.0002.0079][.0000.0047.0002.0308] # LATIN SMALL LETTER Y WITH DIAERESIS
+0178  ; [.1880.0020.0008.0059][.0000.0047.0002.0308] # LATIN CAPITAL LETTER Y WITH DIAERESIS
+1EF9  ; [.1880.0020.0002.0079][.0000.004E.0002.0303] # LATIN SMALL LETTER Y WITH TILDE
+1EF8  ; [.1880.0020.0008.0059][.0000.004E.0002.0303] # LATIN CAPITAL LETTER Y WITH TILDE
+1E8F  ; [.1880.0020.0002.0079][.0000.0052.0002.0307] # LATIN SMALL LETTER Y WITH DOT ABOVE
+1E8E  ; [.1880.0020.0008.0059][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Y WITH DOT ABOVE
+0233  ; [.1880.0020.0002.0079][.0000.005B.0002.0304] # LATIN SMALL LETTER Y WITH MACRON
+0232  ; [.1880.0020.0008.0059][.0000.005B.0002.0304] # LATIN CAPITAL LETTER Y WITH MACRON
+1EF7  ; [.1880.0020.0002.0079][.0000.0064.0002.0309] # LATIN SMALL LETTER Y WITH HOOK ABOVE
+1EF6  ; [.1880.0020.0008.0059][.0000.0064.0002.0309] # LATIN CAPITAL LETTER Y WITH HOOK ABOVE
+1EF5  ; [.1880.0020.0002.0079][.0000.0070.0002.0323] # LATIN SMALL LETTER Y WITH DOT BELOW
+1EF4  ; [.1880.0020.0008.0059][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Y WITH DOT BELOW
+028F  ; [.1884.0020.0002.028F] # LATIN LETTER SMALL CAPITAL Y
+024F  ; [.1888.0020.0002.024F] # LATIN SMALL LETTER Y WITH STROKE
+024E  ; [.1888.0020.0008.024E] # LATIN CAPITAL LETTER Y WITH STROKE
+01B4  ; [.188C.0020.0002.01B4] # LATIN SMALL LETTER Y WITH HOOK
+01B3  ; [.188C.0020.0008.01B3] # LATIN CAPITAL LETTER Y WITH HOOK
+1EFF  ; [.1890.0020.0002.1EFF] # LATIN SMALL LETTER Y WITH LOOP
+1EFE  ; [.1890.0020.0008.1EFE] # LATIN CAPITAL LETTER Y WITH LOOP
+021D  ; [.1891.0020.0002.021D] # LATIN SMALL LETTER YOGH
+021C  ; [.1891.0020.0008.021C] # LATIN CAPITAL LETTER YOGH
+007A  ; [.1895.0020.0002.007A] # LATIN SMALL LETTER Z
+FF5A  ; [.1895.0020.0003.FF5A] # FULLWIDTH LATIN SMALL LETTER Z
+1DE6  ; [.1895.0020.0004.1DE6] # COMBINING LATIN SMALL LETTER Z
+24B5  ; [*02FB.0020.0004.24B5][.1895.0020.0004.24B5][*02FC.0020.001F.24B5] # PARENTHESIZED LATIN SMALL LETTER Z
+1D433 ; [.1895.0020.0005.1D433] # MATHEMATICAL BOLD SMALL Z
+1D467 ; [.1895.0020.0005.1D467] # MATHEMATICAL ITALIC SMALL Z
+1D49B ; [.1895.0020.0005.1D49B] # MATHEMATICAL BOLD ITALIC SMALL Z
+1D4CF ; [.1895.0020.0005.1D4CF] # MATHEMATICAL SCRIPT SMALL Z
+1D503 ; [.1895.0020.0005.1D503] # MATHEMATICAL BOLD SCRIPT SMALL Z
+1D537 ; [.1895.0020.0005.1D537] # MATHEMATICAL FRAKTUR SMALL Z
+1D56B ; [.1895.0020.0005.1D56B] # MATHEMATICAL DOUBLE-STRUCK SMALL Z
+1D59F ; [.1895.0020.0005.1D59F] # MATHEMATICAL BOLD FRAKTUR SMALL Z
+1D5D3 ; [.1895.0020.0005.1D5D3] # MATHEMATICAL SANS-SERIF SMALL Z
+1D607 ; [.1895.0020.0005.1D607] # MATHEMATICAL SANS-SERIF BOLD SMALL Z
+1D63B ; [.1895.0020.0005.1D63B] # MATHEMATICAL SANS-SERIF ITALIC SMALL Z
+1D66F ; [.1895.0020.0005.1D66F] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z
+1D6A3 ; [.1895.0020.0005.1D6A3] # MATHEMATICAL MONOSPACE SMALL Z
+24E9  ; [.1895.0020.0006.24E9] # CIRCLED LATIN SMALL LETTER Z
+005A  ; [.1895.0020.0008.005A] # LATIN CAPITAL LETTER Z
+FF3A  ; [.1895.0020.0009.FF3A] # FULLWIDTH LATIN CAPITAL LETTER Z
+1F129 ; [*02FB.0020.0004.1F129][.1895.0020.000A.1F129][*02FC.0020.001F.1F129] # PARENTHESIZED LATIN CAPITAL LETTER Z
+2124  ; [.1895.0020.000B.2124] # DOUBLE-STRUCK CAPITAL Z
+2128  ; [.1895.0020.000B.2128] # BLACK-LETTER CAPITAL Z
+1D419 ; [.1895.0020.000B.1D419] # MATHEMATICAL BOLD CAPITAL Z
+1D44D ; [.1895.0020.000B.1D44D] # MATHEMATICAL ITALIC CAPITAL Z
+1D481 ; [.1895.0020.000B.1D481] # MATHEMATICAL BOLD ITALIC CAPITAL Z
+1D4B5 ; [.1895.0020.000B.1D4B5] # MATHEMATICAL SCRIPT CAPITAL Z
+1D4E9 ; [.1895.0020.000B.1D4E9] # MATHEMATICAL BOLD SCRIPT CAPITAL Z
+1D585 ; [.1895.0020.000B.1D585] # MATHEMATICAL BOLD FRAKTUR CAPITAL Z
+1D5B9 ; [.1895.0020.000B.1D5B9] # MATHEMATICAL SANS-SERIF CAPITAL Z
+1D5ED ; [.1895.0020.000B.1D5ED] # MATHEMATICAL SANS-SERIF BOLD CAPITAL Z
+1D621 ; [.1895.0020.000B.1D621] # MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z
+1D655 ; [.1895.0020.000B.1D655] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z
+1D689 ; [.1895.0020.000B.1D689] # MATHEMATICAL MONOSPACE CAPITAL Z
+24CF  ; [.1895.0020.000C.24CF] # CIRCLED LATIN CAPITAL LETTER Z
+1F169 ; [.1895.0020.000C.1F169] # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1DBB  ; [.1895.0020.0014.1DBB] # MODIFIER LETTER SMALL Z
+1F149 ; [.1895.0020.001D.1F149] # SQUARED LATIN CAPITAL LETTER Z
+1F189 ; [.1895.0020.001D.1F189] # NEGATIVE SQUARED LATIN CAPITAL LETTER Z
+017A  ; [.1895.0020.0002.007A][.0000.0032.0002.0301] # LATIN SMALL LETTER Z WITH ACUTE
+0179  ; [.1895.0020.0008.005A][.0000.0032.0002.0301] # LATIN CAPITAL LETTER Z WITH ACUTE
+1E91  ; [.1895.0020.0002.007A][.0000.003C.0002.0302] # LATIN SMALL LETTER Z WITH CIRCUMFLEX
+1E90  ; [.1895.0020.0008.005A][.0000.003C.0002.0302] # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX
+017E  ; [.1895.0020.0002.007A][.0000.0041.0002.030C] # LATIN SMALL LETTER Z WITH CARON
+017D  ; [.1895.0020.0008.005A][.0000.0041.0002.030C] # LATIN CAPITAL LETTER Z WITH CARON
+017C  ; [.1895.0020.0002.007A][.0000.0052.0002.0307] # LATIN SMALL LETTER Z WITH DOT ABOVE
+017B  ; [.1895.0020.0008.005A][.0000.0052.0002.0307] # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+1E93  ; [.1895.0020.0002.007A][.0000.0070.0002.0323] # LATIN SMALL LETTER Z WITH DOT BELOW
+1E92  ; [.1895.0020.0008.005A][.0000.0070.0002.0323] # LATIN CAPITAL LETTER Z WITH DOT BELOW
+1E95  ; [.1895.0020.0002.007A][.0000.007B.0002.0331] # LATIN SMALL LETTER Z WITH LINE BELOW
+1E94  ; [.1895.0020.0008.005A][.0000.007B.0002.0331] # LATIN CAPITAL LETTER Z WITH LINE BELOW
+018D  ; [.1895.0020.0004.018D][.1871.0020.0004.018D] # LATIN SMALL LETTER TURNED DELTA
+1D22  ; [.1899.0020.0002.1D22] # LATIN LETTER SMALL CAPITAL Z
+01B6  ; [.189A.0020.0002.01B6] # LATIN SMALL LETTER Z WITH STROKE
+01B5  ; [.189A.0020.0008.01B5] # LATIN CAPITAL LETTER Z WITH STROKE
+1D76  ; [.189E.0020.0002.1D76] # LATIN SMALL LETTER Z WITH MIDDLE TILDE
+1D8E  ; [.189F.0020.0002.1D8E] # LATIN SMALL LETTER Z WITH PALATAL HOOK
+0225  ; [.18A0.0020.0002.0225] # LATIN SMALL LETTER Z WITH HOOK
+0224  ; [.18A0.0020.0008.0224] # LATIN CAPITAL LETTER Z WITH HOOK
+0290  ; [.18A4.0020.0002.0290] # LATIN SMALL LETTER Z WITH RETROFLEX HOOK
+1DBC  ; [.18A4.0020.0014.1DBC] # MODIFIER LETTER SMALL Z WITH RETROFLEX HOOK
+0291  ; [.18A8.0020.0002.0291] # LATIN SMALL LETTER Z WITH CURL
+1DBD  ; [.18A8.0020.0014.1DBD] # MODIFIER LETTER SMALL Z WITH CURL
+0240  ; [.18AC.0020.0002.0240] # LATIN SMALL LETTER Z WITH SWASH TAIL
+2C7F  ; [.18AC.0020.0008.2C7F] # LATIN CAPITAL LETTER Z WITH SWASH TAIL
+2C6C  ; [.18B0.0020.0002.2C6C] # LATIN SMALL LETTER Z WITH DESCENDER
+2C6B  ; [.18B0.0020.0008.2C6B] # LATIN CAPITAL LETTER Z WITH DESCENDER
+A763  ; [.18B1.0020.0002.A763] # LATIN SMALL LETTER VISIGOTHIC Z
+A762  ; [.18B1.0020.0008.A762] # LATIN CAPITAL LETTER VISIGOTHIC Z
+0292  ; [.18B2.0020.0002.0292] # LATIN SMALL LETTER EZH
+01B7  ; [.18B2.0020.0008.01B7] # LATIN CAPITAL LETTER EZH
+1DBE  ; [.18B2.0020.0014.1DBE] # MODIFIER LETTER SMALL EZH
+01EF  ; [.18B2.0020.0002.0292][.0000.0041.0002.030C] # LATIN SMALL LETTER EZH WITH CARON
+01EE  ; [.18B2.0020.0008.01B7][.0000.0041.0002.030C] # LATIN CAPITAL LETTER EZH WITH CARON
+1D23  ; [.18B6.0020.0002.1D23] # LATIN LETTER SMALL CAPITAL EZH
+01B9  ; [.18B7.0020.0002.01B9] # LATIN SMALL LETTER EZH REVERSED
+01B8  ; [.18B7.0020.0008.01B8] # LATIN CAPITAL LETTER EZH REVERSED
+1D9A  ; [.18BB.0020.0002.1D9A] # LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
+01BA  ; [.18BC.0020.0002.01BA] # LATIN SMALL LETTER EZH WITH TAIL
+0293  ; [.18C0.0020.0002.0293] # LATIN SMALL LETTER EZH WITH CURL
+00FE  ; [.18C4.0020.0002.00FE] # LATIN SMALL LETTER THORN
+00DE  ; [.18C4.0020.0008.00DE] # LATIN CAPITAL LETTER THORN
+A765  ; [.18C8.0020.0002.A765] # LATIN SMALL LETTER THORN WITH STROKE
+A764  ; [.18C8.0020.0008.A764] # LATIN CAPITAL LETTER THORN WITH STROKE
+A767  ; [.18C9.0020.0002.A767] # LATIN SMALL LETTER THORN WITH STROKE THROUGH DESCENDER
+A766  ; [.18C9.0020.0008.A766] # LATIN CAPITAL LETTER THORN WITH STROKE THROUGH DESCENDER
+01BF  ; [.18CA.0020.0002.01BF] # LATIN LETTER WYNN
+01F7  ; [.18CA.0020.0008.01F7] # LATIN CAPITAL LETTER WYNN
+A769  ; [.18CE.0020.0002.A769] # LATIN SMALL LETTER VEND
+A768  ; [.18CE.0020.0008.A768] # LATIN CAPITAL LETTER VEND
+A76B  ; [.18CF.0020.0002.A76B] # LATIN SMALL LETTER ET
+A76A  ; [.18CF.0020.0008.A76A] # LATIN CAPITAL LETTER ET
+A76D  ; [.18D0.0020.0002.A76D] # LATIN SMALL LETTER IS
+A76C  ; [.18D0.0020.0008.A76C] # LATIN CAPITAL LETTER IS
+A76F  ; [.18D1.0020.0002.A76F] # LATIN SMALL LETTER CON
+1DD2  ; [.18D1.0020.0004.1DD2] # COMBINING US ABOVE
+A76E  ; [.18D1.0020.0008.A76E] # LATIN CAPITAL LETTER CON
+A770  ; [.18D1.0020.0014.A770] # MODIFIER LETTER US
+A778  ; [.18D2.0020.0002.A778] # LATIN SMALL LETTER UM
+01BB  ; [.18D3.0020.0002.01BB] # LATIN LETTER TWO WITH STROKE
+A72B  ; [.18D7.0020.0002.A72B] # LATIN SMALL LETTER TRESILLO
+A72A  ; [.18D7.0020.0008.A72A] # LATIN CAPITAL LETTER TRESILLO
+A72D  ; [.18D8.0020.0002.A72D] # LATIN SMALL LETTER CUATRILLO
+A72C  ; [.18D8.0020.0008.A72C] # LATIN CAPITAL LETTER CUATRILLO
+A72F  ; [.18D9.0020.0002.A72F] # LATIN SMALL LETTER CUATRILLO WITH COMMA
+A72E  ; [.18D9.0020.0008.A72E] # LATIN CAPITAL LETTER CUATRILLO WITH COMMA
+01A8  ; [.18DA.0020.0002.01A8] # LATIN SMALL LETTER TONE TWO
+01A7  ; [.18DA.0020.0008.01A7] # LATIN CAPITAL LETTER TONE TWO
+01BD  ; [.18DE.0020.0002.01BD] # LATIN SMALL LETTER TONE FIVE
+01BC  ; [.18DE.0020.0008.01BC] # LATIN CAPITAL LETTER TONE FIVE
+0185  ; [.18E2.0020.0002.0185] # LATIN SMALL LETTER TONE SIX
+0184  ; [.18E2.0020.0008.0184] # LATIN CAPITAL LETTER TONE SIX
+0294  ; [.18E6.0020.0002.0294] # LATIN LETTER GLOTTAL STOP
+0242  ; [.18EA.0020.0002.0242] # LATIN SMALL LETTER GLOTTAL STOP
+0241  ; [.18EA.0020.0008.0241] # LATIN CAPITAL LETTER GLOTTAL STOP
+02C0  ; [.18EE.0020.0002.02C0] # MODIFIER LETTER GLOTTAL STOP
+02BC  ; [.18EF.0020.0002.02BC] # MODIFIER LETTER APOSTROPHE
+0149  ; [.18EF.0020.0004.0149][.174F.0020.0004.0149] # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+02EE  ; [.18F0.0020.0002.02EE] # MODIFIER LETTER DOUBLE APOSTROPHE
+02BE  ; [.18F1.0020.0002.02BE] # MODIFIER LETTER RIGHT HALF RING
+A723  ; [.18F2.0020.0002.A723] # LATIN SMALL LETTER EGYPTOLOGICAL ALEF
+A722  ; [.18F2.0020.0008.A722] # LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF
+A78C  ; [.18F3.0020.0002.A78C] # LATIN SMALL LETTER SALTILLO
+A78B  ; [.18F3.0020.0008.A78B] # LATIN CAPITAL LETTER SALTILLO
+0295  ; [.18F4.0020.0002.0295] # LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+02E4  ; [.18F4.0020.0014.02E4] # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
+02BF  ; [.18F8.0020.0002.02BF] # MODIFIER LETTER LEFT HALF RING
+02C1  ; [.18F9.0020.0002.02C1] # MODIFIER LETTER REVERSED GLOTTAL STOP
+1D24  ; [.18FA.0020.0002.1D24] # LATIN LETTER VOICED LARYNGEAL SPIRANT
+1D25  ; [.18FB.0020.0002.1D25] # LATIN LETTER AIN
+1D5C  ; [.18FB.0020.0014.1D5C] # MODIFIER LETTER SMALL AIN
+A725  ; [.18FC.0020.0002.A725] # LATIN SMALL LETTER EGYPTOLOGICAL AIN
+A724  ; [.18FC.0020.0008.A724] # LATIN CAPITAL LETTER EGYPTOLOGICAL AIN
+02A1  ; [.18FD.0020.0002.02A1] # LATIN LETTER GLOTTAL STOP WITH STROKE
+02A2  ; [.1901.0020.0002.02A2] # LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+0296  ; [.1905.0020.0002.0296] # LATIN LETTER INVERTED GLOTTAL STOP
+01C0  ; [.1909.0020.0002.01C0] # LATIN LETTER DENTAL CLICK
+01C1  ; [.190D.0020.0002.01C1] # LATIN LETTER LATERAL CLICK
+01C2  ; [.1911.0020.0002.01C2] # LATIN LETTER ALVEOLAR CLICK
+01C3  ; [.1915.0020.0002.01C3] # LATIN LETTER RETROFLEX CLICK
+0297  ; [.1919.0020.0002.0297] # LATIN LETTER STRETCHED C
+0298  ; [.191D.0020.0002.0298] # LATIN LETTER BILABIAL CLICK
+02AC  ; [.1921.0020.0002.02AC] # LATIN LETTER BILABIAL PERCUSSIVE
+02AD  ; [.1925.0020.0002.02AD] # LATIN LETTER BIDENTAL PERCUSSIVE
+03B1  ; [.1929.0020.0002.03B1] # GREEK SMALL LETTER ALPHA
+1D6C2 ; [.1929.0020.0005.1D6C2] # MATHEMATICAL BOLD SMALL ALPHA
+1D6FC ; [.1929.0020.0005.1D6FC] # MATHEMATICAL ITALIC SMALL ALPHA
+1D736 ; [.1929.0020.0005.1D736] # MATHEMATICAL BOLD ITALIC SMALL ALPHA
+1D770 ; [.1929.0020.0005.1D770] # MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA
+1D7AA ; [.1929.0020.0005.1D7AA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA
+0391  ; [.1929.0020.0008.0391] # GREEK CAPITAL LETTER ALPHA
+1D6A8 ; [.1929.0020.000B.1D6A8] # MATHEMATICAL BOLD CAPITAL ALPHA
+1D6E2 ; [.1929.0020.000B.1D6E2] # MATHEMATICAL ITALIC CAPITAL ALPHA
+1D71C ; [.1929.0020.000B.1D71C] # MATHEMATICAL BOLD ITALIC CAPITAL ALPHA
+1D756 ; [.1929.0020.000B.1D756] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA
+1D790 ; [.1929.0020.000B.1D790] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA
+1F00  ; [.1929.0020.0002.03B1][.0000.0022.0002.0313] # GREEK SMALL LETTER ALPHA WITH PSILI
+1F08  ; [.1929.0020.0008.0391][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ALPHA WITH PSILI
+1F04  ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA
+1F0C  ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA
+1F84  ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F8C  ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F02  ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA
+1F0A  ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA
+1F82  ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F8A  ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F06  ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1F0E  ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI
+1F86  ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F8E  ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F80  ; [.1929.0020.0002.03B1][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI
+1F88  ; [.1929.0020.0008.0391][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI
+1F01  ; [.1929.0020.0002.03B1][.0000.002A.0002.0314] # GREEK SMALL LETTER ALPHA WITH DASIA
+1F09  ; [.1929.0020.0008.0391][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ALPHA WITH DASIA
+1F05  ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA
+1F0D  ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA
+1F85  ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F8D  ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F03  ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA
+1F0B  ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA
+1F83  ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F8B  ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F07  ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F0F  ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI
+1F87  ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F8F  ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F81  ; [.1929.0020.0002.03B1][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI
+1F89  ; [.1929.0020.0008.0391][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI
+03AC  ; [.1929.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH TONOS
+1F71  ; [.1929.0020.0002.03B1][.0000.0032.0002.0301] # GREEK SMALL LETTER ALPHA WITH OXIA
+0386  ; [.1929.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH TONOS
+1FBB  ; [.1929.0020.0008.0391][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ALPHA WITH OXIA
+1FB4  ; [.1929.0020.0002.03B1][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI
+1F70  ; [.1929.0020.0002.03B1][.0000.0035.0002.0300] # GREEK SMALL LETTER ALPHA WITH VARIA
+1FBA  ; [.1929.0020.0008.0391][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ALPHA WITH VARIA
+1FB2  ; [.1929.0020.0002.03B1][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI
+1FB0  ; [.1929.0020.0002.03B1][.0000.0037.0002.0306] # GREEK SMALL LETTER ALPHA WITH VRACHY
+1FB8  ; [.1929.0020.0008.0391][.0000.0037.0002.0306] # GREEK CAPITAL LETTER ALPHA WITH VRACHY
+1FB6  ; [.1929.0020.0002.03B1][.0000.0045.0002.0342] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI
+1FB7  ; [.1929.0020.0002.03B1][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FB1  ; [.1929.0020.0002.03B1][.0000.005B.0002.0304] # GREEK SMALL LETTER ALPHA WITH MACRON
+1FB9  ; [.1929.0020.0008.0391][.0000.005B.0002.0304] # GREEK CAPITAL LETTER ALPHA WITH MACRON
+1FB3  ; [.1929.0020.0002.03B1][.0000.007F.0002.0345] # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI
+1FBC  ; [.1929.0020.0008.0391][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI
+03B2  ; [.192A.0020.0002.03B2] # GREEK SMALL LETTER BETA
+03D0  ; [.192A.0020.0004.03D0] # GREEK BETA SYMBOL
+1D6C3 ; [.192A.0020.0005.1D6C3] # MATHEMATICAL BOLD SMALL BETA
+1D6FD ; [.192A.0020.0005.1D6FD] # MATHEMATICAL ITALIC SMALL BETA
+1D737 ; [.192A.0020.0005.1D737] # MATHEMATICAL BOLD ITALIC SMALL BETA
+1D771 ; [.192A.0020.0005.1D771] # MATHEMATICAL SANS-SERIF BOLD SMALL BETA
+1D7AB ; [.192A.0020.0005.1D7AB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA
+0392  ; [.192A.0020.0008.0392] # GREEK CAPITAL LETTER BETA
+1D6A9 ; [.192A.0020.000B.1D6A9] # MATHEMATICAL BOLD CAPITAL BETA
+1D6E3 ; [.192A.0020.000B.1D6E3] # MATHEMATICAL ITALIC CAPITAL BETA
+1D71D ; [.192A.0020.000B.1D71D] # MATHEMATICAL BOLD ITALIC CAPITAL BETA
+1D757 ; [.192A.0020.000B.1D757] # MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA
+1D791 ; [.192A.0020.000B.1D791] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA
+1D5D  ; [.192A.0020.0014.1D5D] # MODIFIER LETTER SMALL BETA
+1D66  ; [.192A.0020.0015.1D66] # GREEK SUBSCRIPT SMALL LETTER BETA
+03B3  ; [.192B.0020.0002.03B3] # GREEK SMALL LETTER GAMMA
+213D  ; [.192B.0020.0005.213D] # DOUBLE-STRUCK SMALL GAMMA
+1D6C4 ; [.192B.0020.0005.1D6C4] # MATHEMATICAL BOLD SMALL GAMMA
+1D6FE ; [.192B.0020.0005.1D6FE] # MATHEMATICAL ITALIC SMALL GAMMA
+1D738 ; [.192B.0020.0005.1D738] # MATHEMATICAL BOLD ITALIC SMALL GAMMA
+1D772 ; [.192B.0020.0005.1D772] # MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA
+1D7AC ; [.192B.0020.0005.1D7AC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA
+0393  ; [.192B.0020.0008.0393] # GREEK CAPITAL LETTER GAMMA
+213E  ; [.192B.0020.000B.213E] # DOUBLE-STRUCK CAPITAL GAMMA
+1D6AA ; [.192B.0020.000B.1D6AA] # MATHEMATICAL BOLD CAPITAL GAMMA
+1D6E4 ; [.192B.0020.000B.1D6E4] # MATHEMATICAL ITALIC CAPITAL GAMMA
+1D71E ; [.192B.0020.000B.1D71E] # MATHEMATICAL BOLD ITALIC CAPITAL GAMMA
+1D758 ; [.192B.0020.000B.1D758] # MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA
+1D792 ; [.192B.0020.000B.1D792] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA
+1D5E  ; [.192B.0020.0014.1D5E] # MODIFIER LETTER SMALL GREEK GAMMA
+1D67  ; [.192B.0020.0015.1D67] # GREEK SUBSCRIPT SMALL LETTER GAMMA
+1D26  ; [.192C.0020.0002.1D26] # GREEK LETTER SMALL CAPITAL GAMMA
+03B4  ; [.192D.0020.0002.03B4] # GREEK SMALL LETTER DELTA
+1D6C5 ; [.192D.0020.0005.1D6C5] # MATHEMATICAL BOLD SMALL DELTA
+1D6FF ; [.192D.0020.0005.1D6FF] # MATHEMATICAL ITALIC SMALL DELTA
+1D739 ; [.192D.0020.0005.1D739] # MATHEMATICAL BOLD ITALIC SMALL DELTA
+1D773 ; [.192D.0020.0005.1D773] # MATHEMATICAL SANS-SERIF BOLD SMALL DELTA
+1D7AD ; [.192D.0020.0005.1D7AD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA
+0394  ; [.192D.0020.0008.0394] # GREEK CAPITAL LETTER DELTA
+1D6AB ; [.192D.0020.000B.1D6AB] # MATHEMATICAL BOLD CAPITAL DELTA
+1D6E5 ; [.192D.0020.000B.1D6E5] # MATHEMATICAL ITALIC CAPITAL DELTA
+1D71F ; [.192D.0020.000B.1D71F] # MATHEMATICAL BOLD ITALIC CAPITAL DELTA
+1D759 ; [.192D.0020.000B.1D759] # MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA
+1D793 ; [.192D.0020.000B.1D793] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA
+1D5F  ; [.192D.0020.0014.1D5F] # MODIFIER LETTER SMALL DELTA
+03B5  ; [.192E.0020.0002.03B5] # GREEK SMALL LETTER EPSILON
+03F5  ; [.192E.0020.0004.03F5] # GREEK LUNATE EPSILON SYMBOL
+1D6C6 ; [.192E.0020.0005.1D6C6] # MATHEMATICAL BOLD SMALL EPSILON
+1D6DC ; [.192E.0020.0005.1D6DC] # MATHEMATICAL BOLD EPSILON SYMBOL
+1D700 ; [.192E.0020.0005.1D700] # MATHEMATICAL ITALIC SMALL EPSILON
+1D716 ; [.192E.0020.0005.1D716] # MATHEMATICAL ITALIC EPSILON SYMBOL
+1D73A ; [.192E.0020.0005.1D73A] # MATHEMATICAL BOLD ITALIC SMALL EPSILON
+1D750 ; [.192E.0020.0005.1D750] # MATHEMATICAL BOLD ITALIC EPSILON SYMBOL
+1D774 ; [.192E.0020.0005.1D774] # MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON
+1D78A ; [.192E.0020.0005.1D78A] # MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL
+1D7AE ; [.192E.0020.0005.1D7AE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON
+1D7C4 ; [.192E.0020.0005.1D7C4] # MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL
+0395  ; [.192E.0020.0008.0395] # GREEK CAPITAL LETTER EPSILON
+1D6AC ; [.192E.0020.000B.1D6AC] # MATHEMATICAL BOLD CAPITAL EPSILON
+1D6E6 ; [.192E.0020.000B.1D6E6] # MATHEMATICAL ITALIC CAPITAL EPSILON
+1D720 ; [.192E.0020.000B.1D720] # MATHEMATICAL BOLD ITALIC CAPITAL EPSILON
+1D75A ; [.192E.0020.000B.1D75A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON
+1D794 ; [.192E.0020.000B.1D794] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON
+1F10  ; [.192E.0020.0002.03B5][.0000.0022.0002.0313] # GREEK SMALL LETTER EPSILON WITH PSILI
+1F18  ; [.192E.0020.0008.0395][.0000.0022.0002.0313] # GREEK CAPITAL LETTER EPSILON WITH PSILI
+1F14  ; [.192E.0020.0002.03B5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA
+1F1C  ; [.192E.0020.0008.0395][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA
+1F12  ; [.192E.0020.0002.03B5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA
+1F1A  ; [.192E.0020.0008.0395][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA
+1F11  ; [.192E.0020.0002.03B5][.0000.002A.0002.0314] # GREEK SMALL LETTER EPSILON WITH DASIA
+1F19  ; [.192E.0020.0008.0395][.0000.002A.0002.0314] # GREEK CAPITAL LETTER EPSILON WITH DASIA
+1F15  ; [.192E.0020.0002.03B5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
+1F1D  ; [.192E.0020.0008.0395][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
+1F13  ; [.192E.0020.0002.03B5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA
+1F1B  ; [.192E.0020.0008.0395][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA
+03AD  ; [.192E.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH TONOS
+1F73  ; [.192E.0020.0002.03B5][.0000.0032.0002.0301] # GREEK SMALL LETTER EPSILON WITH OXIA
+0388  ; [.192E.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH TONOS
+1FC9  ; [.192E.0020.0008.0395][.0000.0032.0002.0301] # GREEK CAPITAL LETTER EPSILON WITH OXIA
+1F72  ; [.192E.0020.0002.03B5][.0000.0035.0002.0300] # GREEK SMALL LETTER EPSILON WITH VARIA
+1FC8  ; [.192E.0020.0008.0395][.0000.0035.0002.0300] # GREEK CAPITAL LETTER EPSILON WITH VARIA
+03DD  ; [.192F.0020.0002.03DD] # GREEK SMALL LETTER DIGAMMA
+1D7CB ; [.192F.0020.0005.1D7CB] # MATHEMATICAL BOLD SMALL DIGAMMA
+03DC  ; [.192F.0020.0008.03DC] # GREEK LETTER DIGAMMA
+1D7CA ; [.192F.0020.000B.1D7CA] # MATHEMATICAL BOLD CAPITAL DIGAMMA
+0377  ; [.1930.0020.0002.0377] # GREEK SMALL LETTER PAMPHYLIAN DIGAMMA
+0376  ; [.1930.0020.0008.0376] # GREEK CAPITAL LETTER PAMPHYLIAN DIGAMMA
+03DB  ; [.1931.0020.0002.03DB] # GREEK SMALL LETTER STIGMA
+03DA  ; [.1931.0020.0008.03DA] # GREEK LETTER STIGMA
+03B6  ; [.1932.0020.0002.03B6] # GREEK SMALL LETTER ZETA
+1D6C7 ; [.1932.0020.0005.1D6C7] # MATHEMATICAL BOLD SMALL ZETA
+1D701 ; [.1932.0020.0005.1D701] # MATHEMATICAL ITALIC SMALL ZETA
+1D73B ; [.1932.0020.0005.1D73B] # MATHEMATICAL BOLD ITALIC SMALL ZETA
+1D775 ; [.1932.0020.0005.1D775] # MATHEMATICAL SANS-SERIF BOLD SMALL ZETA
+1D7AF ; [.1932.0020.0005.1D7AF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA
+0396  ; [.1932.0020.0008.0396] # GREEK CAPITAL LETTER ZETA
+1D6AD ; [.1932.0020.000B.1D6AD] # MATHEMATICAL BOLD CAPITAL ZETA
+1D6E7 ; [.1932.0020.000B.1D6E7] # MATHEMATICAL ITALIC CAPITAL ZETA
+1D721 ; [.1932.0020.000B.1D721] # MATHEMATICAL BOLD ITALIC CAPITAL ZETA
+1D75B ; [.1932.0020.000B.1D75B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA
+1D795 ; [.1932.0020.000B.1D795] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA
+0371  ; [.1933.0020.0002.0371] # GREEK SMALL LETTER HETA
+0370  ; [.1933.0020.0008.0370] # GREEK CAPITAL LETTER HETA
+03B7  ; [.1934.0020.0002.03B7] # GREEK SMALL LETTER ETA
+1D6C8 ; [.1934.0020.0005.1D6C8] # MATHEMATICAL BOLD SMALL ETA
+1D702 ; [.1934.0020.0005.1D702] # MATHEMATICAL ITALIC SMALL ETA
+1D73C ; [.1934.0020.0005.1D73C] # MATHEMATICAL BOLD ITALIC SMALL ETA
+1D776 ; [.1934.0020.0005.1D776] # MATHEMATICAL SANS-SERIF BOLD SMALL ETA
+1D7B0 ; [.1934.0020.0005.1D7B0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA
+0397  ; [.1934.0020.0008.0397] # GREEK CAPITAL LETTER ETA
+1D6AE ; [.1934.0020.000B.1D6AE] # MATHEMATICAL BOLD CAPITAL ETA
+1D6E8 ; [.1934.0020.000B.1D6E8] # MATHEMATICAL ITALIC CAPITAL ETA
+1D722 ; [.1934.0020.000B.1D722] # MATHEMATICAL BOLD ITALIC CAPITAL ETA
+1D75C ; [.1934.0020.000B.1D75C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA
+1D796 ; [.1934.0020.000B.1D796] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA
+1F20  ; [.1934.0020.0002.03B7][.0000.0022.0002.0313] # GREEK SMALL LETTER ETA WITH PSILI
+1F28  ; [.1934.0020.0008.0397][.0000.0022.0002.0313] # GREEK CAPITAL LETTER ETA WITH PSILI
+1F24  ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA
+1F2C  ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA
+1F94  ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1F9C  ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F22  ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA
+1F2A  ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA
+1F92  ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1F9A  ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F26  ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI
+1F2E  ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI
+1F96  ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1F9E  ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1F90  ; [.1934.0020.0002.03B7][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI
+1F98  ; [.1934.0020.0008.0397][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI
+1F21  ; [.1934.0020.0002.03B7][.0000.002A.0002.0314] # GREEK SMALL LETTER ETA WITH DASIA
+1F29  ; [.1934.0020.0008.0397][.0000.002A.0002.0314] # GREEK CAPITAL LETTER ETA WITH DASIA
+1F25  ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA
+1F2D  ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA
+1F95  ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1F9D  ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F23  ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA
+1F2B  ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA
+1F93  ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1F9B  ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F27  ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI
+1F2F  ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI
+1F97  ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1F9F  ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1F91  ; [.1934.0020.0002.03B7][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI
+1F99  ; [.1934.0020.0008.0397][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI
+03AE  ; [.1934.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH TONOS
+1F75  ; [.1934.0020.0002.03B7][.0000.0032.0002.0301] # GREEK SMALL LETTER ETA WITH OXIA
+0389  ; [.1934.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH TONOS
+1FCB  ; [.1934.0020.0008.0397][.0000.0032.0002.0301] # GREEK CAPITAL LETTER ETA WITH OXIA
+1FC4  ; [.1934.0020.0002.03B7][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI
+1F74  ; [.1934.0020.0002.03B7][.0000.0035.0002.0300] # GREEK SMALL LETTER ETA WITH VARIA
+1FCA  ; [.1934.0020.0008.0397][.0000.0035.0002.0300] # GREEK CAPITAL LETTER ETA WITH VARIA
+1FC2  ; [.1934.0020.0002.03B7][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI
+1FC6  ; [.1934.0020.0002.03B7][.0000.0045.0002.0342] # GREEK SMALL LETTER ETA WITH PERISPOMENI
+1FC7  ; [.1934.0020.0002.03B7][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FC3  ; [.1934.0020.0002.03B7][.0000.007F.0002.0345] # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI
+1FCC  ; [.1934.0020.0008.0397][.0000.007F.0002.0345] # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI
+03B8  ; [.1935.0020.0002.03B8] # GREEK SMALL LETTER THETA
+03D1  ; [.1935.0020.0004.03D1] # GREEK THETA SYMBOL
+1D6C9 ; [.1935.0020.0005.1D6C9] # MATHEMATICAL BOLD SMALL THETA
+1D6DD ; [.1935.0020.0005.1D6DD] # MATHEMATICAL BOLD THETA SYMBOL
+1D703 ; [.1935.0020.0005.1D703] # MATHEMATICAL ITALIC SMALL THETA
+1D717 ; [.1935.0020.0005.1D717] # MATHEMATICAL ITALIC THETA SYMBOL
+1D73D ; [.1935.0020.0005.1D73D] # MATHEMATICAL BOLD ITALIC SMALL THETA
+1D751 ; [.1935.0020.0005.1D751] # MATHEMATICAL BOLD ITALIC THETA SYMBOL
+1D777 ; [.1935.0020.0005.1D777] # MATHEMATICAL SANS-SERIF BOLD SMALL THETA
+1D78B ; [.1935.0020.0005.1D78B] # MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL
+1D7B1 ; [.1935.0020.0005.1D7B1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA
+1D7C5 ; [.1935.0020.0005.1D7C5] # MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL
+0398  ; [.1935.0020.0008.0398] # GREEK CAPITAL LETTER THETA
+03F4  ; [.1935.0020.000A.03F4] # GREEK CAPITAL THETA SYMBOL
+1D6AF ; [.1935.0020.000B.1D6AF] # MATHEMATICAL BOLD CAPITAL THETA
+1D6B9 ; [.1935.0020.000B.1D6B9] # MATHEMATICAL BOLD CAPITAL THETA SYMBOL
+1D6E9 ; [.1935.0020.000B.1D6E9] # MATHEMATICAL ITALIC CAPITAL THETA
+1D6F3 ; [.1935.0020.000B.1D6F3] # MATHEMATICAL ITALIC CAPITAL THETA SYMBOL
+1D723 ; [.1935.0020.000B.1D723] # MATHEMATICAL BOLD ITALIC CAPITAL THETA
+1D72D ; [.1935.0020.000B.1D72D] # MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL
+1D75D ; [.1935.0020.000B.1D75D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA
+1D767 ; [.1935.0020.000B.1D767] # MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL
+1D797 ; [.1935.0020.000B.1D797] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA
+1D7A1 ; [.1935.0020.000B.1D7A1] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL
+1DBF  ; [.1935.0020.0014.1DBF] # MODIFIER LETTER SMALL THETA
+03B9  ; [.1936.0020.0002.03B9] # GREEK SMALL LETTER IOTA
+1FBE  ; [.1936.0020.0002.1FBE] # GREEK PROSGEGRAMMENI
+037A  ; [.1936.0020.0004.037A] # GREEK YPOGEGRAMMENI
+1D6CA ; [.1936.0020.0005.1D6CA] # MATHEMATICAL BOLD SMALL IOTA
+1D704 ; [.1936.0020.0005.1D704] # MATHEMATICAL ITALIC SMALL IOTA
+1D73E ; [.1936.0020.0005.1D73E] # MATHEMATICAL BOLD ITALIC SMALL IOTA
+1D778 ; [.1936.0020.0005.1D778] # MATHEMATICAL SANS-SERIF BOLD SMALL IOTA
+1D7B2 ; [.1936.0020.0005.1D7B2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA
+0399  ; [.1936.0020.0008.0399] # GREEK CAPITAL LETTER IOTA
+1D6B0 ; [.1936.0020.000B.1D6B0] # MATHEMATICAL BOLD CAPITAL IOTA
+1D6EA ; [.1936.0020.000B.1D6EA] # MATHEMATICAL ITALIC CAPITAL IOTA
+1D724 ; [.1936.0020.000B.1D724] # MATHEMATICAL BOLD ITALIC CAPITAL IOTA
+1D75E ; [.1936.0020.000B.1D75E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA
+1D798 ; [.1936.0020.000B.1D798] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA
+1F30  ; [.1936.0020.0002.03B9][.0000.0022.0002.0313] # GREEK SMALL LETTER IOTA WITH PSILI
+1F38  ; [.1936.0020.0008.0399][.0000.0022.0002.0313] # GREEK CAPITAL LETTER IOTA WITH PSILI
+1F34  ; [.1936.0020.0002.03B9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA
+1F3C  ; [.1936.0020.0008.0399][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA
+1F32  ; [.1936.0020.0002.03B9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA
+1F3A  ; [.1936.0020.0008.0399][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA
+1F36  ; [.1936.0020.0002.03B9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI
+1F3E  ; [.1936.0020.0008.0399][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI
+1F31  ; [.1936.0020.0002.03B9][.0000.002A.0002.0314] # GREEK SMALL LETTER IOTA WITH DASIA
+1F39  ; [.1936.0020.0008.0399][.0000.002A.0002.0314] # GREEK CAPITAL LETTER IOTA WITH DASIA
+1F35  ; [.1936.0020.0002.03B9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA
+1F3D  ; [.1936.0020.0008.0399][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA
+1F33  ; [.1936.0020.0002.03B9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA
+1F3B  ; [.1936.0020.0008.0399][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA
+1F37  ; [.1936.0020.0002.03B9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI
+1F3F  ; [.1936.0020.0008.0399][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI
+03AF  ; [.1936.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH TONOS
+1F77  ; [.1936.0020.0002.03B9][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH OXIA
+038A  ; [.1936.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH TONOS
+1FDB  ; [.1936.0020.0008.0399][.0000.0032.0002.0301] # GREEK CAPITAL LETTER IOTA WITH OXIA
+1F76  ; [.1936.0020.0002.03B9][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH VARIA
+1FDA  ; [.1936.0020.0008.0399][.0000.0035.0002.0300] # GREEK CAPITAL LETTER IOTA WITH VARIA
+1FD0  ; [.1936.0020.0002.03B9][.0000.0037.0002.0306] # GREEK SMALL LETTER IOTA WITH VRACHY
+1FD8  ; [.1936.0020.0008.0399][.0000.0037.0002.0306] # GREEK CAPITAL LETTER IOTA WITH VRACHY
+1FD6  ; [.1936.0020.0002.03B9][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH PERISPOMENI
+03CA  ; [.1936.0020.0002.03B9][.0000.0047.0002.0308] # GREEK SMALL LETTER IOTA WITH DIALYTIKA
+03AA  ; [.1936.0020.0008.0399][.0000.0047.0002.0308] # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
+0390  ; [.1936.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+1FD3  ; [.1936.0020.0002.03B9][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+1FD2  ; [.1936.0020.0002.03B9][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA
+1FD7  ; [.1936.0020.0002.03B9][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI
+1FD1  ; [.1936.0020.0002.03B9][.0000.005B.0002.0304] # GREEK SMALL LETTER IOTA WITH MACRON
+1FD9  ; [.1936.0020.0008.0399][.0000.005B.0002.0304] # GREEK CAPITAL LETTER IOTA WITH MACRON
+03F3  ; [.1937.0020.0002.03F3] # GREEK LETTER YOT
+03BA  ; [.1938.0020.0002.03BA] # GREEK SMALL LETTER KAPPA
+03F0  ; [.1938.0020.0004.03F0] # GREEK KAPPA SYMBOL
+1D6CB ; [.1938.0020.0005.1D6CB] # MATHEMATICAL BOLD SMALL KAPPA
+1D6DE ; [.1938.0020.0005.1D6DE] # MATHEMATICAL BOLD KAPPA SYMBOL
+1D705 ; [.1938.0020.0005.1D705] # MATHEMATICAL ITALIC SMALL KAPPA
+1D718 ; [.1938.0020.0005.1D718] # MATHEMATICAL ITALIC KAPPA SYMBOL
+1D73F ; [.1938.0020.0005.1D73F] # MATHEMATICAL BOLD ITALIC SMALL KAPPA
+1D752 ; [.1938.0020.0005.1D752] # MATHEMATICAL BOLD ITALIC KAPPA SYMBOL
+1D779 ; [.1938.0020.0005.1D779] # MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA
+1D78C ; [.1938.0020.0005.1D78C] # MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL
+1D7B3 ; [.1938.0020.0005.1D7B3] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA
+1D7C6 ; [.1938.0020.0005.1D7C6] # MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL
+039A  ; [.1938.0020.0008.039A] # GREEK CAPITAL LETTER KAPPA
+1D6B1 ; [.1938.0020.000B.1D6B1] # MATHEMATICAL BOLD CAPITAL KAPPA
+1D6EB ; [.1938.0020.000B.1D6EB] # MATHEMATICAL ITALIC CAPITAL KAPPA
+1D725 ; [.1938.0020.000B.1D725] # MATHEMATICAL BOLD ITALIC CAPITAL KAPPA
+1D75F ; [.1938.0020.000B.1D75F] # MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA
+1D799 ; [.1938.0020.000B.1D799] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA
+03D7  ; [.1938.0020.0004.03D7][.1929.0020.0004.03D7][.1936.0020.0004.03D7] # GREEK KAI SYMBOL
+03CF  ; [.1938.0020.000A.03CF][.1929.0020.0004.03CF][.1936.0020.0004.03CF] # GREEK CAPITAL KAI SYMBOL
+03BB  ; [.1939.0020.0002.03BB] # GREEK SMALL LETTER LAMDA
+1D6CC ; [.1939.0020.0005.1D6CC] # MATHEMATICAL BOLD SMALL LAMDA
+1D706 ; [.1939.0020.0005.1D706] # MATHEMATICAL ITALIC SMALL LAMDA
+1D740 ; [.1939.0020.0005.1D740] # MATHEMATICAL BOLD ITALIC SMALL LAMDA
+1D77A ; [.1939.0020.0005.1D77A] # MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA
+1D7B4 ; [.1939.0020.0005.1D7B4] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA
+039B  ; [.1939.0020.0008.039B] # GREEK CAPITAL LETTER LAMDA
+1D6B2 ; [.1939.0020.000B.1D6B2] # MATHEMATICAL BOLD CAPITAL LAMDA
+1D6EC ; [.1939.0020.000B.1D6EC] # MATHEMATICAL ITALIC CAPITAL LAMDA
+1D726 ; [.1939.0020.000B.1D726] # MATHEMATICAL BOLD ITALIC CAPITAL LAMDA
+1D760 ; [.1939.0020.000B.1D760] # MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA
+1D79A ; [.1939.0020.000B.1D79A] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA
+1D27  ; [.193A.0020.0002.1D27] # GREEK LETTER SMALL CAPITAL LAMDA
+03BC  ; [.193B.0020.0002.03BC] # GREEK SMALL LETTER MU
+00B5  ; [.193B.0020.0004.00B5] # MICRO SIGN
+1D6CD ; [.193B.0020.0005.1D6CD] # MATHEMATICAL BOLD SMALL MU
+1D707 ; [.193B.0020.0005.1D707] # MATHEMATICAL ITALIC SMALL MU
+1D741 ; [.193B.0020.0005.1D741] # MATHEMATICAL BOLD ITALIC SMALL MU
+1D77B ; [.193B.0020.0005.1D77B] # MATHEMATICAL SANS-SERIF BOLD SMALL MU
+1D7B5 ; [.193B.0020.0005.1D7B5] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU
+039C  ; [.193B.0020.0008.039C] # GREEK CAPITAL LETTER MU
+1D6B3 ; [.193B.0020.000B.1D6B3] # MATHEMATICAL BOLD CAPITAL MU
+1D6ED ; [.193B.0020.000B.1D6ED] # MATHEMATICAL ITALIC CAPITAL MU
+1D727 ; [.193B.0020.000B.1D727] # MATHEMATICAL BOLD ITALIC CAPITAL MU
+1D761 ; [.193B.0020.000B.1D761] # MATHEMATICAL SANS-SERIF BOLD CAPITAL MU
+1D79B ; [.193B.0020.000B.1D79B] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU
+3382  ; [.193B.0020.001C.3382][.15EF.0020.001D.3382] # SQUARE MU A
+338C  ; [.193B.0020.001C.338C][.1684.0020.001D.338C] # SQUARE MU F
+338D  ; [.193B.0020.001C.338D][.1691.0020.001C.338D] # SQUARE MU G
+3395  ; [.193B.0020.001C.3395][.1711.0020.001C.3395] # SQUARE MU L
+339B  ; [.193B.0020.001C.339B][.1741.0020.001C.339B] # SQUARE MU M
+33B2  ; [.193B.0020.001C.33B2][.17F3.0020.001C.33B2] # SQUARE MU S
+33B6  ; [.193B.0020.001C.33B6][.185F.0020.001D.33B6] # SQUARE MU V
+33BC  ; [.193B.0020.001C.33BC][.1871.0020.001D.33BC] # SQUARE MU W
+03BD  ; [.193C.0020.0002.03BD] # GREEK SMALL LETTER NU
+1D6CE ; [.193C.0020.0005.1D6CE] # MATHEMATICAL BOLD SMALL NU
+1D708 ; [.193C.0020.0005.1D708] # MATHEMATICAL ITALIC SMALL NU
+1D742 ; [.193C.0020.0005.1D742] # MATHEMATICAL BOLD ITALIC SMALL NU
+1D77C ; [.193C.0020.0005.1D77C] # MATHEMATICAL SANS-SERIF BOLD SMALL NU
+1D7B6 ; [.193C.0020.0005.1D7B6] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU
+039D  ; [.193C.0020.0008.039D] # GREEK CAPITAL LETTER NU
+1D6B4 ; [.193C.0020.000B.1D6B4] # MATHEMATICAL BOLD CAPITAL NU
+1D6EE ; [.193C.0020.000B.1D6EE] # MATHEMATICAL ITALIC CAPITAL NU
+1D728 ; [.193C.0020.000B.1D728] # MATHEMATICAL BOLD ITALIC CAPITAL NU
+1D762 ; [.193C.0020.000B.1D762] # MATHEMATICAL SANS-SERIF BOLD CAPITAL NU
+1D79C ; [.193C.0020.000B.1D79C] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU
+03BE  ; [.193D.0020.0002.03BE] # GREEK SMALL LETTER XI
+1D6CF ; [.193D.0020.0005.1D6CF] # MATHEMATICAL BOLD SMALL XI
+1D709 ; [.193D.0020.0005.1D709] # MATHEMATICAL ITALIC SMALL XI
+1D743 ; [.193D.0020.0005.1D743] # MATHEMATICAL BOLD ITALIC SMALL XI
+1D77D ; [.193D.0020.0005.1D77D] # MATHEMATICAL SANS-SERIF BOLD SMALL XI
+1D7B7 ; [.193D.0020.0005.1D7B7] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI
+039E  ; [.193D.0020.0008.039E] # GREEK CAPITAL LETTER XI
+1D6B5 ; [.193D.0020.000B.1D6B5] # MATHEMATICAL BOLD CAPITAL XI
+1D6EF ; [.193D.0020.000B.1D6EF] # MATHEMATICAL ITALIC CAPITAL XI
+1D729 ; [.193D.0020.000B.1D729] # MATHEMATICAL BOLD ITALIC CAPITAL XI
+1D763 ; [.193D.0020.000B.1D763] # MATHEMATICAL SANS-SERIF BOLD CAPITAL XI
+1D79D ; [.193D.0020.000B.1D79D] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI
+03BF  ; [.193E.0020.0002.03BF] # GREEK SMALL LETTER OMICRON
+1D6D0 ; [.193E.0020.0005.1D6D0] # MATHEMATICAL BOLD SMALL OMICRON
+1D70A ; [.193E.0020.0005.1D70A] # MATHEMATICAL ITALIC SMALL OMICRON
+1D744 ; [.193E.0020.0005.1D744] # MATHEMATICAL BOLD ITALIC SMALL OMICRON
+1D77E ; [.193E.0020.0005.1D77E] # MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON
+1D7B8 ; [.193E.0020.0005.1D7B8] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON
+039F  ; [.193E.0020.0008.039F] # GREEK CAPITAL LETTER OMICRON
+1D6B6 ; [.193E.0020.000B.1D6B6] # MATHEMATICAL BOLD CAPITAL OMICRON
+1D6F0 ; [.193E.0020.000B.1D6F0] # MATHEMATICAL ITALIC CAPITAL OMICRON
+1D72A ; [.193E.0020.000B.1D72A] # MATHEMATICAL BOLD ITALIC CAPITAL OMICRON
+1D764 ; [.193E.0020.000B.1D764] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON
+1D79E ; [.193E.0020.000B.1D79E] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON
+1F40  ; [.193E.0020.0002.03BF][.0000.0022.0002.0313] # GREEK SMALL LETTER OMICRON WITH PSILI
+1F48  ; [.193E.0020.0008.039F][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMICRON WITH PSILI
+1F44  ; [.193E.0020.0002.03BF][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA
+1F4C  ; [.193E.0020.0008.039F][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA
+1F42  ; [.193E.0020.0002.03BF][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA
+1F4A  ; [.193E.0020.0008.039F][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA
+1F41  ; [.193E.0020.0002.03BF][.0000.002A.0002.0314] # GREEK SMALL LETTER OMICRON WITH DASIA
+1F49  ; [.193E.0020.0008.039F][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMICRON WITH DASIA
+1F45  ; [.193E.0020.0002.03BF][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA
+1F4D  ; [.193E.0020.0008.039F][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA
+1F43  ; [.193E.0020.0002.03BF][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA
+1F4B  ; [.193E.0020.0008.039F][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA
+03CC  ; [.193E.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH TONOS
+1F79  ; [.193E.0020.0002.03BF][.0000.0032.0002.0301] # GREEK SMALL LETTER OMICRON WITH OXIA
+038C  ; [.193E.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH TONOS
+1FF9  ; [.193E.0020.0008.039F][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMICRON WITH OXIA
+1F78  ; [.193E.0020.0002.03BF][.0000.0035.0002.0300] # GREEK SMALL LETTER OMICRON WITH VARIA
+1FF8  ; [.193E.0020.0008.039F][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMICRON WITH VARIA
+03C0  ; [.193F.0020.0002.03C0] # GREEK SMALL LETTER PI
+03D6  ; [.193F.0020.0004.03D6] # GREEK PI SYMBOL
+213C  ; [.193F.0020.0005.213C] # DOUBLE-STRUCK SMALL PI
+1D6D1 ; [.193F.0020.0005.1D6D1] # MATHEMATICAL BOLD SMALL PI
+1D6E1 ; [.193F.0020.0005.1D6E1] # MATHEMATICAL BOLD PI SYMBOL
+1D70B ; [.193F.0020.0005.1D70B] # MATHEMATICAL ITALIC SMALL PI
+1D71B ; [.193F.0020.0005.1D71B] # MATHEMATICAL ITALIC PI SYMBOL
+1D745 ; [.193F.0020.0005.1D745] # MATHEMATICAL BOLD ITALIC SMALL PI
+1D755 ; [.193F.0020.0005.1D755] # MATHEMATICAL BOLD ITALIC PI SYMBOL
+1D77F ; [.193F.0020.0005.1D77F] # MATHEMATICAL SANS-SERIF BOLD SMALL PI
+1D78F ; [.193F.0020.0005.1D78F] # MATHEMATICAL SANS-SERIF BOLD PI SYMBOL
+1D7B9 ; [.193F.0020.0005.1D7B9] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI
+1D7C9 ; [.193F.0020.0005.1D7C9] # MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL
+03A0  ; [.193F.0020.0008.03A0] # GREEK CAPITAL LETTER PI
+213F  ; [.193F.0020.000B.213F] # DOUBLE-STRUCK CAPITAL PI
+1D6B7 ; [.193F.0020.000B.1D6B7] # MATHEMATICAL BOLD CAPITAL PI
+1D6F1 ; [.193F.0020.000B.1D6F1] # MATHEMATICAL ITALIC CAPITAL PI
+1D72B ; [.193F.0020.000B.1D72B] # MATHEMATICAL BOLD ITALIC CAPITAL PI
+1D765 ; [.193F.0020.000B.1D765] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PI
+1D79F ; [.193F.0020.000B.1D79F] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI
+1D28  ; [.1940.0020.0002.1D28] # GREEK LETTER SMALL CAPITAL PI
+03FB  ; [.1941.0020.0002.03FB] # GREEK SMALL LETTER SAN
+03FA  ; [.1941.0020.0008.03FA] # GREEK CAPITAL LETTER SAN
+03DF  ; [.1942.0020.0002.03DF] # GREEK SMALL LETTER KOPPA
+03DE  ; [.1942.0020.0008.03DE] # GREEK LETTER KOPPA
+03D9  ; [.1943.0020.0002.03D9] # GREEK SMALL LETTER ARCHAIC KOPPA
+03D8  ; [.1943.0020.0008.03D8] # GREEK LETTER ARCHAIC KOPPA
+03C1  ; [.1944.0020.0002.03C1] # GREEK SMALL LETTER RHO
+03F1  ; [.1944.0020.0004.03F1] # GREEK RHO SYMBOL
+1D6D2 ; [.1944.0020.0005.1D6D2] # MATHEMATICAL BOLD SMALL RHO
+1D6E0 ; [.1944.0020.0005.1D6E0] # MATHEMATICAL BOLD RHO SYMBOL
+1D70C ; [.1944.0020.0005.1D70C] # MATHEMATICAL ITALIC SMALL RHO
+1D71A ; [.1944.0020.0005.1D71A] # MATHEMATICAL ITALIC RHO SYMBOL
+1D746 ; [.1944.0020.0005.1D746] # MATHEMATICAL BOLD ITALIC SMALL RHO
+1D754 ; [.1944.0020.0005.1D754] # MATHEMATICAL BOLD ITALIC RHO SYMBOL
+1D780 ; [.1944.0020.0005.1D780] # MATHEMATICAL SANS-SERIF BOLD SMALL RHO
+1D78E ; [.1944.0020.0005.1D78E] # MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL
+1D7BA ; [.1944.0020.0005.1D7BA] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO
+1D7C8 ; [.1944.0020.0005.1D7C8] # MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL
+03A1  ; [.1944.0020.0008.03A1] # GREEK CAPITAL LETTER RHO
+1D6B8 ; [.1944.0020.000B.1D6B8] # MATHEMATICAL BOLD CAPITAL RHO
+1D6F2 ; [.1944.0020.000B.1D6F2] # MATHEMATICAL ITALIC CAPITAL RHO
+1D72C ; [.1944.0020.000B.1D72C] # MATHEMATICAL BOLD ITALIC CAPITAL RHO
+1D766 ; [.1944.0020.000B.1D766] # MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO
+1D7A0 ; [.1944.0020.000B.1D7A0] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO
+1D68  ; [.1944.0020.0015.1D68] # GREEK SUBSCRIPT SMALL LETTER RHO
+1FE4  ; [.1944.0020.0002.03C1][.0000.0022.0002.0313] # GREEK SMALL LETTER RHO WITH PSILI
+1FE5  ; [.1944.0020.0002.03C1][.0000.002A.0002.0314] # GREEK SMALL LETTER RHO WITH DASIA
+1FEC  ; [.1944.0020.0008.03A1][.0000.002A.0002.0314] # GREEK CAPITAL LETTER RHO WITH DASIA
+1D29  ; [.1945.0020.0002.1D29] # GREEK LETTER SMALL CAPITAL RHO
+03FC  ; [.1946.0020.0002.03FC] # GREEK RHO WITH STROKE SYMBOL
+03C3  ; [.1947.0020.0002.03C3] # GREEK SMALL LETTER SIGMA
+03F2  ; [.1947.0020.0004.03F2] # GREEK LUNATE SIGMA SYMBOL
+1D6D3 ; [.1947.0020.0005.1D6D3] # MATHEMATICAL BOLD SMALL FINAL SIGMA
+1D6D4 ; [.1947.0020.0005.1D6D4] # MATHEMATICAL BOLD SMALL SIGMA
+1D70D ; [.1947.0020.0005.1D70D] # MATHEMATICAL ITALIC SMALL FINAL SIGMA
+1D70E ; [.1947.0020.0005.1D70E] # MATHEMATICAL ITALIC SMALL SIGMA
+1D747 ; [.1947.0020.0005.1D747] # MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA
+1D748 ; [.1947.0020.0005.1D748] # MATHEMATICAL BOLD ITALIC SMALL SIGMA
+1D781 ; [.1947.0020.0005.1D781] # MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA
+1D782 ; [.1947.0020.0005.1D782] # MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA
+1D7BB ; [.1947.0020.0005.1D7BB] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA
+1D7BC ; [.1947.0020.0005.1D7BC] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA
+03A3  ; [.1947.0020.0008.03A3] # GREEK CAPITAL LETTER SIGMA
+03F9  ; [.1947.0020.000A.03F9] # GREEK CAPITAL LUNATE SIGMA SYMBOL
+1D6BA ; [.1947.0020.000B.1D6BA] # MATHEMATICAL BOLD CAPITAL SIGMA
+1D6F4 ; [.1947.0020.000B.1D6F4] # MATHEMATICAL ITALIC CAPITAL SIGMA
+1D72E ; [.1947.0020.000B.1D72E] # MATHEMATICAL BOLD ITALIC CAPITAL SIGMA
+1D768 ; [.1947.0020.000B.1D768] # MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA
+1D7A2 ; [.1947.0020.000B.1D7A2] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA
+03C2  ; [.1947.0020.0019.03C2] # GREEK SMALL LETTER FINAL SIGMA
+037C  ; [.1948.0020.0002.037C] # GREEK SMALL DOTTED LUNATE SIGMA SYMBOL
+03FE  ; [.1948.0020.0008.03FE] # GREEK CAPITAL DOTTED LUNATE SIGMA SYMBOL
+037B  ; [.1949.0020.0002.037B] # GREEK SMALL REVERSED LUNATE SIGMA SYMBOL
+03FD  ; [.1949.0020.0008.03FD] # GREEK CAPITAL REVERSED LUNATE SIGMA SYMBOL
+037D  ; [.194A.0020.0002.037D] # GREEK SMALL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03FF  ; [.194A.0020.0008.03FF] # GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
+03C4  ; [.194B.0020.0002.03C4] # GREEK SMALL LETTER TAU
+1D6D5 ; [.194B.0020.0005.1D6D5] # MATHEMATICAL BOLD SMALL TAU
+1D70F ; [.194B.0020.0005.1D70F] # MATHEMATICAL ITALIC SMALL TAU
+1D749 ; [.194B.0020.0005.1D749] # MATHEMATICAL BOLD ITALIC SMALL TAU
+1D783 ; [.194B.0020.0005.1D783] # MATHEMATICAL SANS-SERIF BOLD SMALL TAU
+1D7BD ; [.194B.0020.0005.1D7BD] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU
+03A4  ; [.194B.0020.0008.03A4] # GREEK CAPITAL LETTER TAU
+1D6BB ; [.194B.0020.000B.1D6BB] # MATHEMATICAL BOLD CAPITAL TAU
+1D6F5 ; [.194B.0020.000B.1D6F5] # MATHEMATICAL ITALIC CAPITAL TAU
+1D72F ; [.194B.0020.000B.1D72F] # MATHEMATICAL BOLD ITALIC CAPITAL TAU
+1D769 ; [.194B.0020.000B.1D769] # MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU
+1D7A3 ; [.194B.0020.000B.1D7A3] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU
+03C5  ; [.194C.0020.0002.03C5] # GREEK SMALL LETTER UPSILON
+1D6D6 ; [.194C.0020.0005.1D6D6] # MATHEMATICAL BOLD SMALL UPSILON
+1D710 ; [.194C.0020.0005.1D710] # MATHEMATICAL ITALIC SMALL UPSILON
+1D74A ; [.194C.0020.0005.1D74A] # MATHEMATICAL BOLD ITALIC SMALL UPSILON
+1D784 ; [.194C.0020.0005.1D784] # MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON
+1D7BE ; [.194C.0020.0005.1D7BE] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON
+03A5  ; [.194C.0020.0008.03A5] # GREEK CAPITAL LETTER UPSILON
+03D2  ; [.194C.0020.000A.03D2] # GREEK UPSILON WITH HOOK SYMBOL
+1D6BC ; [.194C.0020.000B.1D6BC] # MATHEMATICAL BOLD CAPITAL UPSILON
+1D6F6 ; [.194C.0020.000B.1D6F6] # MATHEMATICAL ITALIC CAPITAL UPSILON
+1D730 ; [.194C.0020.000B.1D730] # MATHEMATICAL BOLD ITALIC CAPITAL UPSILON
+1D76A ; [.194C.0020.000B.1D76A] # MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON
+1D7A4 ; [.194C.0020.000B.1D7A4] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON
+1F50  ; [.194C.0020.0002.03C5][.0000.0022.0002.0313] # GREEK SMALL LETTER UPSILON WITH PSILI
+1F54  ; [.194C.0020.0002.03C5][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA
+1F52  ; [.194C.0020.0002.03C5][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA
+1F56  ; [.194C.0020.0002.03C5][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI
+1F51  ; [.194C.0020.0002.03C5][.0000.002A.0002.0314] # GREEK SMALL LETTER UPSILON WITH DASIA
+1F59  ; [.194C.0020.0008.03A5][.0000.002A.0002.0314] # GREEK CAPITAL LETTER UPSILON WITH DASIA
+1F55  ; [.194C.0020.0002.03C5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA
+1F5D  ; [.194C.0020.0008.03A5][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA
+1F53  ; [.194C.0020.0002.03C5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA
+1F5B  ; [.194C.0020.0008.03A5][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA
+1F57  ; [.194C.0020.0002.03C5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI
+1F5F  ; [.194C.0020.0008.03A5][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI
+03CD  ; [.194C.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH TONOS
+1F7B  ; [.194C.0020.0002.03C5][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH OXIA
+038E  ; [.194C.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH TONOS
+1FEB  ; [.194C.0020.0008.03A5][.0000.0032.0002.0301] # GREEK CAPITAL LETTER UPSILON WITH OXIA
+03D3  ; [.194C.0020.000A.03D3][.0000.0032.0002.03D3] # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL
+1F7A  ; [.194C.0020.0002.03C5][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH VARIA
+1FEA  ; [.194C.0020.0008.03A5][.0000.0035.0002.0300] # GREEK CAPITAL LETTER UPSILON WITH VARIA
+1FE0  ; [.194C.0020.0002.03C5][.0000.0037.0002.0306] # GREEK SMALL LETTER UPSILON WITH VRACHY
+1FE8  ; [.194C.0020.0008.03A5][.0000.0037.0002.0306] # GREEK CAPITAL LETTER UPSILON WITH VRACHY
+1FE6  ; [.194C.0020.0002.03C5][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH PERISPOMENI
+03CB  ; [.194C.0020.0002.03C5][.0000.0047.0002.0308] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA
+03AB  ; [.194C.0020.0008.03A5][.0000.0047.0002.0308] # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
+03D4  ; [.194C.0020.000A.03D4][.0000.0047.0002.03D4] # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL
+03B0  ; [.194C.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+1FE3  ; [.194C.0020.0002.03C5][.0000.0047.0002.0308][.0000.0032.0002.0301] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+1FE2  ; [.194C.0020.0002.03C5][.0000.0047.0002.0308][.0000.0035.0002.0300] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA
+1FE7  ; [.194C.0020.0002.03C5][.0000.0047.0002.0308][.0000.0045.0002.0342] # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
+1FE1  ; [.194C.0020.0002.03C5][.0000.005B.0002.0304] # GREEK SMALL LETTER UPSILON WITH MACRON
+1FE9  ; [.194C.0020.0008.03A5][.0000.005B.0002.0304] # GREEK CAPITAL LETTER UPSILON WITH MACRON
+03C6  ; [.194D.0020.0002.03C6] # GREEK SMALL LETTER PHI
+03D5  ; [.194D.0020.0004.03D5] # GREEK PHI SYMBOL
+1D6D7 ; [.194D.0020.0005.1D6D7] # MATHEMATICAL BOLD SMALL PHI
+1D6DF ; [.194D.0020.0005.1D6DF] # MATHEMATICAL BOLD PHI SYMBOL
+1D711 ; [.194D.0020.0005.1D711] # MATHEMATICAL ITALIC SMALL PHI
+1D719 ; [.194D.0020.0005.1D719] # MATHEMATICAL ITALIC PHI SYMBOL
+1D74B ; [.194D.0020.0005.1D74B] # MATHEMATICAL BOLD ITALIC SMALL PHI
+1D753 ; [.194D.0020.0005.1D753] # MATHEMATICAL BOLD ITALIC PHI SYMBOL
+1D785 ; [.194D.0020.0005.1D785] # MATHEMATICAL SANS-SERIF BOLD SMALL PHI
+1D78D ; [.194D.0020.0005.1D78D] # MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL
+1D7BF ; [.194D.0020.0005.1D7BF] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI
+1D7C7 ; [.194D.0020.0005.1D7C7] # MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL
+03A6  ; [.194D.0020.0008.03A6] # GREEK CAPITAL LETTER PHI
+1D6BD ; [.194D.0020.000B.1D6BD] # MATHEMATICAL BOLD CAPITAL PHI
+1D6F7 ; [.194D.0020.000B.1D6F7] # MATHEMATICAL ITALIC CAPITAL PHI
+1D731 ; [.194D.0020.000B.1D731] # MATHEMATICAL BOLD ITALIC CAPITAL PHI
+1D76B ; [.194D.0020.000B.1D76B] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI
+1D7A5 ; [.194D.0020.000B.1D7A5] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI
+1D60  ; [.194D.0020.0014.1D60] # MODIFIER LETTER SMALL GREEK PHI
+1D69  ; [.194D.0020.0015.1D69] # GREEK SUBSCRIPT SMALL LETTER PHI
+03C7  ; [.194E.0020.0002.03C7] # GREEK SMALL LETTER CHI
+1D6D8 ; [.194E.0020.0005.1D6D8] # MATHEMATICAL BOLD SMALL CHI
+1D712 ; [.194E.0020.0005.1D712] # MATHEMATICAL ITALIC SMALL CHI
+1D74C ; [.194E.0020.0005.1D74C] # MATHEMATICAL BOLD ITALIC SMALL CHI
+1D786 ; [.194E.0020.0005.1D786] # MATHEMATICAL SANS-SERIF BOLD SMALL CHI
+1D7C0 ; [.194E.0020.0005.1D7C0] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI
+03A7  ; [.194E.0020.0008.03A7] # GREEK CAPITAL LETTER CHI
+1D6BE ; [.194E.0020.000B.1D6BE] # MATHEMATICAL BOLD CAPITAL CHI
+1D6F8 ; [.194E.0020.000B.1D6F8] # MATHEMATICAL ITALIC CAPITAL CHI
+1D732 ; [.194E.0020.000B.1D732] # MATHEMATICAL BOLD ITALIC CAPITAL CHI
+1D76C ; [.194E.0020.000B.1D76C] # MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI
+1D7A6 ; [.194E.0020.000B.1D7A6] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI
+1D61  ; [.194E.0020.0014.1D61] # MODIFIER LETTER SMALL CHI
+1D6A  ; [.194E.0020.0015.1D6A] # GREEK SUBSCRIPT SMALL LETTER CHI
+03C8  ; [.194F.0020.0002.03C8] # GREEK SMALL LETTER PSI
+1D6D9 ; [.194F.0020.0005.1D6D9] # MATHEMATICAL BOLD SMALL PSI
+1D713 ; [.194F.0020.0005.1D713] # MATHEMATICAL ITALIC SMALL PSI
+1D74D ; [.194F.0020.0005.1D74D] # MATHEMATICAL BOLD ITALIC SMALL PSI
+1D787 ; [.194F.0020.0005.1D787] # MATHEMATICAL SANS-SERIF BOLD SMALL PSI
+1D7C1 ; [.194F.0020.0005.1D7C1] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI
+03A8  ; [.194F.0020.0008.03A8] # GREEK CAPITAL LETTER PSI
+1D6BF ; [.194F.0020.000B.1D6BF] # MATHEMATICAL BOLD CAPITAL PSI
+1D6F9 ; [.194F.0020.000B.1D6F9] # MATHEMATICAL ITALIC CAPITAL PSI
+1D733 ; [.194F.0020.000B.1D733] # MATHEMATICAL BOLD ITALIC CAPITAL PSI
+1D76D ; [.194F.0020.000B.1D76D] # MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI
+1D7A7 ; [.194F.0020.000B.1D7A7] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI
+1D2A  ; [.1950.0020.0002.1D2A] # GREEK LETTER SMALL CAPITAL PSI
+03C9  ; [.1951.0020.0002.03C9] # GREEK SMALL LETTER OMEGA
+1D6DA ; [.1951.0020.0005.1D6DA] # MATHEMATICAL BOLD SMALL OMEGA
+1D714 ; [.1951.0020.0005.1D714] # MATHEMATICAL ITALIC SMALL OMEGA
+1D74E ; [.1951.0020.0005.1D74E] # MATHEMATICAL BOLD ITALIC SMALL OMEGA
+1D788 ; [.1951.0020.0005.1D788] # MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA
+1D7C2 ; [.1951.0020.0005.1D7C2] # MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
+03A9  ; [.1951.0020.0008.03A9] # GREEK CAPITAL LETTER OMEGA
+2126  ; [.1951.0020.0008.2126] # OHM SIGN
+1D6C0 ; [.1951.0020.000B.1D6C0] # MATHEMATICAL BOLD CAPITAL OMEGA
+1D6FA ; [.1951.0020.000B.1D6FA] # MATHEMATICAL ITALIC CAPITAL OMEGA
+1D734 ; [.1951.0020.000B.1D734] # MATHEMATICAL BOLD ITALIC CAPITAL OMEGA
+1D76E ; [.1951.0020.000B.1D76E] # MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA
+1D7A8 ; [.1951.0020.000B.1D7A8] # MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
+1F60  ; [.1951.0020.0002.03C9][.0000.0022.0002.0313] # GREEK SMALL LETTER OMEGA WITH PSILI
+1F68  ; [.1951.0020.0008.03A9][.0000.0022.0002.0313] # GREEK CAPITAL LETTER OMEGA WITH PSILI
+1F64  ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA
+1F6C  ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA
+1FA4  ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI
+1FAC  ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI
+1F62  ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA
+1F6A  ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA
+1FA2  ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI
+1FAA  ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI
+1F66  ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1F6E  ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI
+1FA6  ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI
+1FAE  ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI
+1FA0  ; [.1951.0020.0002.03C9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI
+1FA8  ; [.1951.0020.0008.03A9][.0000.0022.0002.0313][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI
+1F61  ; [.1951.0020.0002.03C9][.0000.002A.0002.0314] # GREEK SMALL LETTER OMEGA WITH DASIA
+1F69  ; [.1951.0020.0008.03A9][.0000.002A.0002.0314] # GREEK CAPITAL LETTER OMEGA WITH DASIA
+1F65  ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA
+1F6D  ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA
+1FA5  ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI
+1FAD  ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI
+1F63  ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA
+1F6B  ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA
+1FA3  ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI
+1FAB  ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI
+1F67  ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1F6F  ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI
+1FA7  ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI
+1FAF  ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI
+1FA1  ; [.1951.0020.0002.03C9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI
+1FA9  ; [.1951.0020.0008.03A9][.0000.002A.0002.0314][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI
+03CE  ; [.1951.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH TONOS
+1F7D  ; [.1951.0020.0002.03C9][.0000.0032.0002.0301] # GREEK SMALL LETTER OMEGA WITH OXIA
+038F  ; [.1951.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH TONOS
+1FFB  ; [.1951.0020.0008.03A9][.0000.0032.0002.0301] # GREEK CAPITAL LETTER OMEGA WITH OXIA
+1FF4  ; [.1951.0020.0002.03C9][.0000.0032.0002.0301][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
+1F7C  ; [.1951.0020.0002.03C9][.0000.0035.0002.0300] # GREEK SMALL LETTER OMEGA WITH VARIA
+1FFA  ; [.1951.0020.0008.03A9][.0000.0035.0002.0300] # GREEK CAPITAL LETTER OMEGA WITH VARIA
+1FF2  ; [.1951.0020.0002.03C9][.0000.0035.0002.0300][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI
+1FF6  ; [.1951.0020.0002.03C9][.0000.0045.0002.0342] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI
+1FF7  ; [.1951.0020.0002.03C9][.0000.0045.0002.0342][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
+1FF3  ; [.1951.0020.0002.03C9][.0000.007F.0002.0345] # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI
+1FFC  ; [.1951.0020.0008.03A9][.0000.007F.0002.0345] # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
+03E1  ; [.1952.0020.0002.03E1] # GREEK SMALL LETTER SAMPI
+03E0  ; [.1952.0020.0008.03E0] # GREEK LETTER SAMPI
+0373  ; [.1953.0020.0002.0373] # GREEK SMALL LETTER ARCHAIC SAMPI
+0372  ; [.1953.0020.0008.0372] # GREEK CAPITAL LETTER ARCHAIC SAMPI
+03F8  ; [.1954.0020.0002.03F8] # GREEK SMALL LETTER SHO
+03F7  ; [.1954.0020.0008.03F7] # GREEK CAPITAL LETTER SHO
+2C81  ; [.1955.0020.0002.2C81] # COPTIC SMALL LETTER ALFA
+2C80  ; [.1955.0020.0008.2C80] # COPTIC CAPITAL LETTER ALFA
+2C83  ; [.1956.0020.0002.2C83] # COPTIC SMALL LETTER VIDA
+2C82  ; [.1956.0020.0008.2C82] # COPTIC CAPITAL LETTER VIDA
+2C85  ; [.1957.0020.0002.2C85] # COPTIC SMALL LETTER GAMMA
+2C84  ; [.1957.0020.0008.2C84] # COPTIC CAPITAL LETTER GAMMA
+2C87  ; [.1958.0020.0002.2C87] # COPTIC SMALL LETTER DALDA
+2C86  ; [.1958.0020.0008.2C86] # COPTIC CAPITAL LETTER DALDA
+2C89  ; [.1959.0020.0002.2C89] # COPTIC SMALL LETTER EIE
+2C88  ; [.1959.0020.0008.2C88] # COPTIC CAPITAL LETTER EIE
+2CB7  ; [.195A.0020.0002.2CB7] # COPTIC SMALL LETTER CRYPTOGRAMMIC EIE
+2CB6  ; [.195A.0020.0008.2CB6] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC EIE
+2C8B  ; [.195B.0020.0002.2C8B] # COPTIC SMALL LETTER SOU
+2C8A  ; [.195B.0020.0008.2C8A] # COPTIC CAPITAL LETTER SOU
+2C8D  ; [.195C.0020.0002.2C8D] # COPTIC SMALL LETTER ZATA
+2C8C  ; [.195C.0020.0008.2C8C] # COPTIC CAPITAL LETTER ZATA
+2C8F  ; [.195D.0020.0002.2C8F] # COPTIC SMALL LETTER HATE
+2C8E  ; [.195D.0020.0008.2C8E] # COPTIC CAPITAL LETTER HATE
+2C91  ; [.195E.0020.0002.2C91] # COPTIC SMALL LETTER THETHE
+2C90  ; [.195E.0020.0008.2C90] # COPTIC CAPITAL LETTER THETHE
+2C93  ; [.195F.0020.0002.2C93] # COPTIC SMALL LETTER IAUDA
+2C92  ; [.195F.0020.0008.2C92] # COPTIC CAPITAL LETTER IAUDA
+2C95  ; [.1960.0020.0002.2C95] # COPTIC SMALL LETTER KAPA
+2C94  ; [.1960.0020.0008.2C94] # COPTIC CAPITAL LETTER KAPA
+2CE4  ; [.1960.0020.0004.2CE4][.1955.0020.0004.2CE4][.195F.0020.0004.2CE4] # COPTIC SYMBOL KAI
+2CB9  ; [.1961.0020.0002.2CB9] # COPTIC SMALL LETTER DIALECT-P KAPA
+2CB8  ; [.1961.0020.0008.2CB8] # COPTIC CAPITAL LETTER DIALECT-P KAPA
+2C97  ; [.1962.0020.0002.2C97] # COPTIC SMALL LETTER LAULA
+2C96  ; [.1962.0020.0008.2C96] # COPTIC CAPITAL LETTER LAULA
+2C99  ; [.1963.0020.0002.2C99] # COPTIC SMALL LETTER MI
+2C98  ; [.1963.0020.0008.2C98] # COPTIC CAPITAL LETTER MI
+2C9B  ; [.1964.0020.0002.2C9B] # COPTIC SMALL LETTER NI
+2C9A  ; [.1964.0020.0008.2C9A] # COPTIC CAPITAL LETTER NI
+2CBB  ; [.1965.0020.0002.2CBB] # COPTIC SMALL LETTER DIALECT-P NI
+2CBA  ; [.1965.0020.0008.2CBA] # COPTIC CAPITAL LETTER DIALECT-P NI
+2CBD  ; [.1966.0020.0002.2CBD] # COPTIC SMALL LETTER CRYPTOGRAMMIC NI
+2CBC  ; [.1966.0020.0008.2CBC] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC NI
+2C9D  ; [.1967.0020.0002.2C9D] # COPTIC SMALL LETTER KSI
+2C9C  ; [.1967.0020.0008.2C9C] # COPTIC CAPITAL LETTER KSI
+2C9F  ; [.1968.0020.0002.2C9F] # COPTIC SMALL LETTER O
+2C9E  ; [.1968.0020.0008.2C9E] # COPTIC CAPITAL LETTER O
+2CA1  ; [.1969.0020.0002.2CA1] # COPTIC SMALL LETTER PI
+2CA0  ; [.1969.0020.0008.2CA0] # COPTIC CAPITAL LETTER PI
+2CA3  ; [.196A.0020.0002.2CA3] # COPTIC SMALL LETTER RO
+2CA2  ; [.196A.0020.0008.2CA2] # COPTIC CAPITAL LETTER RO
+2CA5  ; [.196B.0020.0002.2CA5] # COPTIC SMALL LETTER SIMA
+2CA4  ; [.196B.0020.0008.2CA4] # COPTIC CAPITAL LETTER SIMA
+2CA7  ; [.196C.0020.0002.2CA7] # COPTIC SMALL LETTER TAU
+2CA6  ; [.196C.0020.0008.2CA6] # COPTIC CAPITAL LETTER TAU
+2CA9  ; [.196D.0020.0002.2CA9] # COPTIC SMALL LETTER UA
+2CA8  ; [.196D.0020.0008.2CA8] # COPTIC CAPITAL LETTER UA
+2CAB  ; [.196E.0020.0002.2CAB] # COPTIC SMALL LETTER FI
+2CAA  ; [.196E.0020.0008.2CAA] # COPTIC CAPITAL LETTER FI
+2CAD  ; [.196F.0020.0002.2CAD] # COPTIC SMALL LETTER KHI
+2CAC  ; [.196F.0020.0008.2CAC] # COPTIC CAPITAL LETTER KHI
+2CAF  ; [.1970.0020.0002.2CAF] # COPTIC SMALL LETTER PSI
+2CAE  ; [.1970.0020.0008.2CAE] # COPTIC CAPITAL LETTER PSI
+2CB1  ; [.1971.0020.0002.2CB1] # COPTIC SMALL LETTER OOU
+2CB0  ; [.1971.0020.0008.2CB0] # COPTIC CAPITAL LETTER OOU
+2CBF  ; [.1972.0020.0002.2CBF] # COPTIC SMALL LETTER OLD COPTIC OOU
+2CBE  ; [.1972.0020.0008.2CBE] # COPTIC CAPITAL LETTER OLD COPTIC OOU
+2CC1  ; [.1973.0020.0002.2CC1] # COPTIC SMALL LETTER SAMPI
+2CC0  ; [.1973.0020.0008.2CC0] # COPTIC CAPITAL LETTER SAMPI
+03E3  ; [.1974.0020.0002.03E3] # COPTIC SMALL LETTER SHEI
+03E2  ; [.1974.0020.0008.03E2] # COPTIC CAPITAL LETTER SHEI
+2CEC  ; [.1975.0020.0002.2CEC] # COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
+2CEB  ; [.1975.0020.0008.2CEB] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
+2CC3  ; [.1976.0020.0002.2CC3] # COPTIC SMALL LETTER CROSSED SHEI
+2CC2  ; [.1976.0020.0008.2CC2] # COPTIC CAPITAL LETTER CROSSED SHEI
+2CC5  ; [.1977.0020.0002.2CC5] # COPTIC SMALL LETTER OLD COPTIC SHEI
+2CC4  ; [.1977.0020.0008.2CC4] # COPTIC CAPITAL LETTER OLD COPTIC SHEI
+2CC7  ; [.1978.0020.0002.2CC7] # COPTIC SMALL LETTER OLD COPTIC ESH
+2CC6  ; [.1978.0020.0008.2CC6] # COPTIC CAPITAL LETTER OLD COPTIC ESH
+03E5  ; [.1979.0020.0002.03E5] # COPTIC SMALL LETTER FEI
+03E4  ; [.1979.0020.0008.03E4] # COPTIC CAPITAL LETTER FEI
+03E7  ; [.197A.0020.0002.03E7] # COPTIC SMALL LETTER KHEI
+03E6  ; [.197A.0020.0008.03E6] # COPTIC CAPITAL LETTER KHEI
+2CF3  ; [.197B.0020.0002.2CF3] # COPTIC SMALL LETTER BOHAIRIC KHEI
+2CF2  ; [.197B.0020.0008.2CF2] # COPTIC CAPITAL LETTER BOHAIRIC KHEI
+2CC9  ; [.197C.0020.0002.2CC9] # COPTIC SMALL LETTER AKHMIMIC KHEI
+2CC8  ; [.197C.0020.0008.2CC8] # COPTIC CAPITAL LETTER AKHMIMIC KHEI
+03E9  ; [.197D.0020.0002.03E9] # COPTIC SMALL LETTER HORI
+03E8  ; [.197D.0020.0008.03E8] # COPTIC CAPITAL LETTER HORI
+2CCB  ; [.197E.0020.0002.2CCB] # COPTIC SMALL LETTER DIALECT-P HORI
+2CCA  ; [.197E.0020.0008.2CCA] # COPTIC CAPITAL LETTER DIALECT-P HORI
+2CCD  ; [.197F.0020.0002.2CCD] # COPTIC SMALL LETTER OLD COPTIC HORI
+2CCC  ; [.197F.0020.0008.2CCC] # COPTIC CAPITAL LETTER OLD COPTIC HORI
+2CCF  ; [.1980.0020.0002.2CCF] # COPTIC SMALL LETTER OLD COPTIC HA
+2CCE  ; [.1980.0020.0008.2CCE] # COPTIC CAPITAL LETTER OLD COPTIC HA
+2CD1  ; [.1981.0020.0002.2CD1] # COPTIC SMALL LETTER L-SHAPED HA
+2CD0  ; [.1981.0020.0008.2CD0] # COPTIC CAPITAL LETTER L-SHAPED HA
+2CD3  ; [.1982.0020.0002.2CD3] # COPTIC SMALL LETTER OLD COPTIC HEI
+2CD2  ; [.1982.0020.0008.2CD2] # COPTIC CAPITAL LETTER OLD COPTIC HEI
+2CD5  ; [.1983.0020.0002.2CD5] # COPTIC SMALL LETTER OLD COPTIC HAT
+2CD4  ; [.1983.0020.0008.2CD4] # COPTIC CAPITAL LETTER OLD COPTIC HAT
+03EB  ; [.1984.0020.0002.03EB] # COPTIC SMALL LETTER GANGIA
+03EA  ; [.1984.0020.0008.03EA] # COPTIC CAPITAL LETTER GANGIA
+2CEE  ; [.1985.0020.0002.2CEE] # COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CED  ; [.1985.0020.0008.2CED] # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CD7  ; [.1986.0020.0002.2CD7] # COPTIC SMALL LETTER OLD COPTIC GANGIA
+2CD6  ; [.1986.0020.0008.2CD6] # COPTIC CAPITAL LETTER OLD COPTIC GANGIA
+03ED  ; [.1987.0020.0002.03ED] # COPTIC SMALL LETTER SHIMA
+03EC  ; [.1987.0020.0008.03EC] # COPTIC CAPITAL LETTER SHIMA
+2CD9  ; [.1988.0020.0002.2CD9] # COPTIC SMALL LETTER OLD COPTIC DJA
+2CD8  ; [.1988.0020.0008.2CD8] # COPTIC CAPITAL LETTER OLD COPTIC DJA
+2CDB  ; [.1989.0020.0002.2CDB] # COPTIC SMALL LETTER OLD COPTIC SHIMA
+2CDA  ; [.1989.0020.0008.2CDA] # COPTIC CAPITAL LETTER OLD COPTIC SHIMA
+2CDD  ; [.198A.0020.0002.2CDD] # COPTIC SMALL LETTER OLD NUBIAN SHIMA
+2CDC  ; [.198A.0020.0008.2CDC] # COPTIC CAPITAL LETTER OLD NUBIAN SHIMA
+03EF  ; [.198B.0020.0002.03EF] # COPTIC SMALL LETTER DEI
+03EE  ; [.198B.0020.0008.03EE] # COPTIC CAPITAL LETTER DEI
+2CB3  ; [.198C.0020.0002.2CB3] # COPTIC SMALL LETTER DIALECT-P ALEF
+2CB2  ; [.198C.0020.0008.2CB2] # COPTIC CAPITAL LETTER DIALECT-P ALEF
+2CB5  ; [.198D.0020.0002.2CB5] # COPTIC SMALL LETTER OLD COPTIC AIN
+2CB4  ; [.198D.0020.0008.2CB4] # COPTIC CAPITAL LETTER OLD COPTIC AIN
+2CDF  ; [.198E.0020.0002.2CDF] # COPTIC SMALL LETTER OLD NUBIAN NGI
+2CDE  ; [.198E.0020.0008.2CDE] # COPTIC CAPITAL LETTER OLD NUBIAN NGI
+2CE1  ; [.198F.0020.0002.2CE1] # COPTIC SMALL LETTER OLD NUBIAN NYI
+2CE0  ; [.198F.0020.0008.2CE0] # COPTIC CAPITAL LETTER OLD NUBIAN NYI
+2CE3  ; [.1990.0020.0002.2CE3] # COPTIC SMALL LETTER OLD NUBIAN WAU
+2CE2  ; [.1990.0020.0008.2CE2] # COPTIC CAPITAL LETTER OLD NUBIAN WAU
+0430  ; [.1991.0020.0002.0430] # CYRILLIC SMALL LETTER A
+2DF6  ; [.1991.0020.0004.2DF6] # COMBINING CYRILLIC LETTER A
+0410  ; [.1991.0020.0008.0410] # CYRILLIC CAPITAL LETTER A
+04D1  ; [.1995.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
+0430 0306 ; [.1995.0020.0002.04D1] # CYRILLIC SMALL LETTER A WITH BREVE
+04D0  ; [.1995.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
+0410 0306 ; [.1995.0020.0008.04D0] # CYRILLIC CAPITAL LETTER A WITH BREVE
+04D3  ; [.1999.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+0430 0308 ; [.1999.0020.0002.04D3] # CYRILLIC SMALL LETTER A WITH DIAERESIS
+04D2  ; [.1999.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+0410 0308 ; [.1999.0020.0008.04D2] # CYRILLIC CAPITAL LETTER A WITH DIAERESIS
+04D9  ; [.199D.0020.0002.04D9] # CYRILLIC SMALL LETTER SCHWA
+04D8  ; [.199D.0020.0008.04D8] # CYRILLIC CAPITAL LETTER SCHWA
+04DB  ; [.19A1.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04D9 0308 ; [.19A1.0020.0002.04DB] # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS
+04DA  ; [.19A1.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D8 0308 ; [.19A1.0020.0008.04DA] # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS
+04D5  ; [.19A5.0020.0002.04D5] # CYRILLIC SMALL LIGATURE A IE
+04D4  ; [.19A5.0020.0008.04D4] # CYRILLIC CAPITAL LIGATURE A IE
+0431  ; [.19A9.0020.0002.0431] # CYRILLIC SMALL LETTER BE
+2DE0  ; [.19A9.0020.0004.2DE0] # COMBINING CYRILLIC LETTER BE
+0411  ; [.19A9.0020.0008.0411] # CYRILLIC CAPITAL LETTER BE
+0432  ; [.19AD.0020.0002.0432] # CYRILLIC SMALL LETTER VE
+2DE1  ; [.19AD.0020.0004.2DE1] # COMBINING CYRILLIC LETTER VE
+0412  ; [.19AD.0020.0008.0412] # CYRILLIC CAPITAL LETTER VE
+0433  ; [.19B1.0020.0002.0433] # CYRILLIC SMALL LETTER GHE
+2DE2  ; [.19B1.0020.0004.2DE2] # COMBINING CYRILLIC LETTER GHE
+0413  ; [.19B1.0020.0008.0413] # CYRILLIC CAPITAL LETTER GHE
+0491  ; [.19B1.0020.0004.0491][.0000.013A.0004.0491] # CYRILLIC SMALL LETTER GHE WITH UPTURN
+0490  ; [.19B1.0020.000A.0490][.0000.013A.0004.0490] # CYRILLIC CAPITAL LETTER GHE WITH UPTURN
+0493  ; [.19B5.0020.0002.0493] # CYRILLIC SMALL LETTER GHE WITH STROKE
+0492  ; [.19B5.0020.0008.0492] # CYRILLIC CAPITAL LETTER GHE WITH STROKE
+04FB  ; [.19B9.0020.0002.04FB] # CYRILLIC SMALL LETTER GHE WITH STROKE AND HOOK
+04FA  ; [.19B9.0020.0008.04FA] # CYRILLIC CAPITAL LETTER GHE WITH STROKE AND HOOK
+0495  ; [.19BD.0020.0002.0495] # CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK
+0494  ; [.19BD.0020.0008.0494] # CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK
+04F7  ; [.19C1.0020.0002.04F7] # CYRILLIC SMALL LETTER GHE WITH DESCENDER
+04F6  ; [.19C1.0020.0008.04F6] # CYRILLIC CAPITAL LETTER GHE WITH DESCENDER
+0434  ; [.19C5.0020.0002.0434] # CYRILLIC SMALL LETTER DE
+2DE3  ; [.19C5.0020.0004.2DE3] # COMBINING CYRILLIC LETTER DE
+0414  ; [.19C5.0020.0008.0414] # CYRILLIC CAPITAL LETTER DE
+0501  ; [.19C9.0020.0002.0501] # CYRILLIC SMALL LETTER KOMI DE
+0500  ; [.19C9.0020.0008.0500] # CYRILLIC CAPITAL LETTER KOMI DE
+A681  ; [.19CA.0020.0002.A681] # CYRILLIC SMALL LETTER DWE
+A680  ; [.19CA.0020.0008.A680] # CYRILLIC CAPITAL LETTER DWE
+0452  ; [.19CB.0020.0002.0452] # CYRILLIC SMALL LETTER DJE
+0402  ; [.19CB.0020.0008.0402] # CYRILLIC CAPITAL LETTER DJE
+A663  ; [.19CF.0020.0002.A663] # CYRILLIC SMALL LETTER SOFT DE
+A662  ; [.19CF.0020.0008.A662] # CYRILLIC CAPITAL LETTER SOFT DE
+0503  ; [.19D0.0020.0002.0503] # CYRILLIC SMALL LETTER KOMI DJE
+0502  ; [.19D0.0020.0008.0502] # CYRILLIC CAPITAL LETTER KOMI DJE
+0453  ; [.19D1.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0433 0301 ; [.19D1.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0433 0341 ; [.19D1.0020.0002.0453] # CYRILLIC SMALL LETTER GJE
+0403  ; [.19D1.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0413 0301 ; [.19D1.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0413 0341 ; [.19D1.0020.0008.0403] # CYRILLIC CAPITAL LETTER GJE
+0499  ; [.19D5.0020.0002.0499] # CYRILLIC SMALL LETTER ZE WITH DESCENDER
+0498  ; [.19D5.0020.0008.0498] # CYRILLIC CAPITAL LETTER ZE WITH DESCENDER
+0435  ; [.19D9.0020.0002.0435] # CYRILLIC SMALL LETTER IE
+2DF7  ; [.19D9.0020.0004.2DF7] # COMBINING CYRILLIC LETTER IE
+0415  ; [.19D9.0020.0008.0415] # CYRILLIC CAPITAL LETTER IE
+0450  ; [.19D9.0020.0002.0435][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER IE WITH GRAVE
+0400  ; [.19D9.0020.0008.0415][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER IE WITH GRAVE
+0451  ; [.19D9.0020.0002.0435][.0000.0047.0002.0308] # CYRILLIC SMALL LETTER IO
+0401  ; [.19D9.0020.0008.0415][.0000.0047.0002.0308] # CYRILLIC CAPITAL LETTER IO
+04D7  ; [.19DD.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
+0435 0306 ; [.19DD.0020.0002.04D7] # CYRILLIC SMALL LETTER IE WITH BREVE
+04D6  ; [.19DD.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0415 0306 ; [.19DD.0020.0008.04D6] # CYRILLIC CAPITAL LETTER IE WITH BREVE
+0454  ; [.19E1.0020.0002.0454] # CYRILLIC SMALL LETTER UKRAINIAN IE
+A674  ; [.19E1.0020.0004.A674] # COMBINING CYRILLIC LETTER UKRAINIAN IE
+0404  ; [.19E1.0020.0008.0404] # CYRILLIC CAPITAL LETTER UKRAINIAN IE
+0436  ; [.19E5.0020.0002.0436] # CYRILLIC SMALL LETTER ZHE
+2DE4  ; [.19E5.0020.0004.2DE4] # COMBINING CYRILLIC LETTER ZHE
+0416  ; [.19E5.0020.0008.0416] # CYRILLIC CAPITAL LETTER ZHE
+04C2  ; [.19E5.0020.0002.0436][.0000.0037.0002.0306] # CYRILLIC SMALL LETTER ZHE WITH BREVE
+04C1  ; [.19E5.0020.0008.0416][.0000.0037.0002.0306] # CYRILLIC CAPITAL LETTER ZHE WITH BREVE
+A685  ; [.19E9.0020.0002.A685] # CYRILLIC SMALL LETTER ZHWE
+A684  ; [.19E9.0020.0008.A684] # CYRILLIC CAPITAL LETTER ZHWE
+04DD  ; [.19EA.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+0436 0308 ; [.19EA.0020.0002.04DD] # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS
+04DC  ; [.19EA.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+0416 0308 ; [.19EA.0020.0008.04DC] # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS
+0497  ; [.19EE.0020.0002.0497] # CYRILLIC SMALL LETTER ZHE WITH DESCENDER
+0496  ; [.19EE.0020.0008.0496] # CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER
+0437  ; [.19F2.0020.0002.0437] # CYRILLIC SMALL LETTER ZE
+2DE5  ; [.19F2.0020.0004.2DE5] # COMBINING CYRILLIC LETTER ZE
+0417  ; [.19F2.0020.0008.0417] # CYRILLIC CAPITAL LETTER ZE
+A641  ; [.19F6.0020.0002.A641] # CYRILLIC SMALL LETTER ZEMLYA
+A640  ; [.19F6.0020.0008.A640] # CYRILLIC CAPITAL LETTER ZEMLYA
+0505  ; [.19F7.0020.0002.0505] # CYRILLIC SMALL LETTER KOMI ZJE
+0504  ; [.19F7.0020.0008.0504] # CYRILLIC CAPITAL LETTER KOMI ZJE
+0511  ; [.19F8.0020.0002.0511] # CYRILLIC SMALL LETTER REVERSED ZE
+0510  ; [.19F8.0020.0008.0510] # CYRILLIC CAPITAL LETTER REVERSED ZE
+04DF  ; [.19F9.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+0437 0308 ; [.19F9.0020.0002.04DF] # CYRILLIC SMALL LETTER ZE WITH DIAERESIS
+04DE  ; [.19F9.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+0417 0308 ; [.19F9.0020.0008.04DE] # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS
+A643  ; [.19FD.0020.0002.A643] # CYRILLIC SMALL LETTER DZELO
+A642  ; [.19FD.0020.0008.A642] # CYRILLIC CAPITAL LETTER DZELO
+0455  ; [.19FE.0020.0002.0455] # CYRILLIC SMALL LETTER DZE
+0405  ; [.19FE.0020.0008.0405] # CYRILLIC CAPITAL LETTER DZE
+A645  ; [.1A02.0020.0002.A645] # CYRILLIC SMALL LETTER REVERSED DZE
+A644  ; [.1A02.0020.0008.A644] # CYRILLIC CAPITAL LETTER REVERSED DZE
+04E1  ; [.1A03.0020.0002.04E1] # CYRILLIC SMALL LETTER ABKHASIAN DZE
+04E0  ; [.1A03.0020.0008.04E0] # CYRILLIC CAPITAL LETTER ABKHASIAN DZE
+A689  ; [.1A07.0020.0002.A689] # CYRILLIC SMALL LETTER DZZE
+A688  ; [.1A07.0020.0008.A688] # CYRILLIC CAPITAL LETTER DZZE
+0507  ; [.1A08.0020.0002.0507] # CYRILLIC SMALL LETTER KOMI DZJE
+0506  ; [.1A08.0020.0008.0506] # CYRILLIC CAPITAL LETTER KOMI DZJE
+A683  ; [.1A09.0020.0002.A683] # CYRILLIC SMALL LETTER DZWE
+A682  ; [.1A09.0020.0008.A682] # CYRILLIC CAPITAL LETTER DZWE
+0438  ; [.1A0A.0020.0002.0438] # CYRILLIC SMALL LETTER I
+A675  ; [.1A0A.0020.0004.A675] # COMBINING CYRILLIC LETTER I
+0418  ; [.1A0A.0020.0008.0418] # CYRILLIC CAPITAL LETTER I
+045D  ; [.1A0A.0020.0002.0438][.0000.0035.0002.0300] # CYRILLIC SMALL LETTER I WITH GRAVE
+040D  ; [.1A0A.0020.0008.0418][.0000.0035.0002.0300] # CYRILLIC CAPITAL LETTER I WITH GRAVE
+04E3  ; [.1A0A.0020.0002.0438][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER I WITH MACRON
+04E2  ; [.1A0A.0020.0008.0418][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER I WITH MACRON
+048B  ; [.1A0E.0020.0002.048B] # CYRILLIC SMALL LETTER SHORT I WITH TAIL
+048A  ; [.1A0E.0020.0008.048A] # CYRILLIC CAPITAL LETTER SHORT I WITH TAIL
+04E5  ; [.1A12.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+0438 0308 ; [.1A12.0020.0002.04E5] # CYRILLIC SMALL LETTER I WITH DIAERESIS
+04E4  ; [.1A12.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0418 0308 ; [.1A12.0020.0008.04E4] # CYRILLIC CAPITAL LETTER I WITH DIAERESIS
+0456  ; [.1A16.0020.0002.0456] # CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
+0406  ; [.1A16.0020.0008.0406] # CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
+A647  ; [.1A1A.0020.0002.A647] # CYRILLIC SMALL LETTER IOTA
+A646  ; [.1A1A.0020.0008.A646] # CYRILLIC CAPITAL LETTER IOTA
+0457  ; [.1A1B.0020.0002.0457] # CYRILLIC SMALL LETTER YI
+0456 0308 ; [.1A1B.0020.0002.0457] # CYRILLIC SMALL LETTER YI
+A676  ; [.1A1B.0020.0004.A676] # COMBINING CYRILLIC LETTER YI
+0407  ; [.1A1B.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
+0406 0308 ; [.1A1B.0020.0008.0407] # CYRILLIC CAPITAL LETTER YI
+0439  ; [.1A1F.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
+0438 0306 ; [.1A1F.0020.0002.0439] # CYRILLIC SMALL LETTER SHORT I
+0419  ; [.1A1F.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
+0418 0306 ; [.1A1F.0020.0008.0419] # CYRILLIC CAPITAL LETTER SHORT I
+0458  ; [.1A23.0020.0002.0458] # CYRILLIC SMALL LETTER JE
+0408  ; [.1A23.0020.0008.0408] # CYRILLIC CAPITAL LETTER JE
+A649  ; [.1A27.0020.0002.A649] # CYRILLIC SMALL LETTER DJERV
+2DF8  ; [.1A27.0020.0004.2DF8] # COMBINING CYRILLIC LETTER DJERV
+A648  ; [.1A27.0020.0008.A648] # CYRILLIC CAPITAL LETTER DJERV
+043A  ; [.1A28.0020.0002.043A] # CYRILLIC SMALL LETTER KA
+2DE6  ; [.1A28.0020.0004.2DE6] # COMBINING CYRILLIC LETTER KA
+041A  ; [.1A28.0020.0008.041A] # CYRILLIC CAPITAL LETTER KA
+049B  ; [.1A2C.0020.0002.049B] # CYRILLIC SMALL LETTER KA WITH DESCENDER
+049A  ; [.1A2C.0020.0008.049A] # CYRILLIC CAPITAL LETTER KA WITH DESCENDER
+04C4  ; [.1A30.0020.0002.04C4] # CYRILLIC SMALL LETTER KA WITH HOOK
+04C3  ; [.1A30.0020.0008.04C3] # CYRILLIC CAPITAL LETTER KA WITH HOOK
+04A1  ; [.1A34.0020.0002.04A1] # CYRILLIC SMALL LETTER BASHKIR KA
+04A0  ; [.1A34.0020.0008.04A0] # CYRILLIC CAPITAL LETTER BASHKIR KA
+049F  ; [.1A38.0020.0002.049F] # CYRILLIC SMALL LETTER KA WITH STROKE
+049E  ; [.1A38.0020.0008.049E] # CYRILLIC CAPITAL LETTER KA WITH STROKE
+049D  ; [.1A3C.0020.0002.049D] # CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE
+049C  ; [.1A3C.0020.0008.049C] # CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE
+051F  ; [.1A40.0020.0002.051F] # CYRILLIC SMALL LETTER ALEUT KA
+051E  ; [.1A40.0020.0008.051E] # CYRILLIC CAPITAL LETTER ALEUT KA
+051B  ; [.1A41.0020.0002.051B] # CYRILLIC SMALL LETTER QA
+051A  ; [.1A41.0020.0008.051A] # CYRILLIC CAPITAL LETTER QA
+043B  ; [.1A42.0020.0002.043B] # CYRILLIC SMALL LETTER EL
+2DE7  ; [.1A42.0020.0004.2DE7] # COMBINING CYRILLIC LETTER EL
+041B  ; [.1A42.0020.0008.041B] # CYRILLIC CAPITAL LETTER EL
+1D2B  ; [.1A46.0020.0002.1D2B] # CYRILLIC LETTER SMALL CAPITAL EL
+04C6  ; [.1A47.0020.0002.04C6] # CYRILLIC SMALL LETTER EL WITH TAIL
+04C5  ; [.1A47.0020.0008.04C5] # CYRILLIC CAPITAL LETTER EL WITH TAIL
+0513  ; [.1A4B.0020.0002.0513] # CYRILLIC SMALL LETTER EL WITH HOOK
+0512  ; [.1A4B.0020.0008.0512] # CYRILLIC CAPITAL LETTER EL WITH HOOK
+0521  ; [.1A4C.0020.0002.0521] # CYRILLIC SMALL LETTER EL WITH MIDDLE HOOK
+0520  ; [.1A4C.0020.0008.0520] # CYRILLIC CAPITAL LETTER EL WITH MIDDLE HOOK
+0459  ; [.1A4D.0020.0002.0459] # CYRILLIC SMALL LETTER LJE
+0409  ; [.1A4D.0020.0008.0409] # CYRILLIC CAPITAL LETTER LJE
+A665  ; [.1A51.0020.0002.A665] # CYRILLIC SMALL LETTER SOFT EL
+A664  ; [.1A51.0020.0008.A664] # CYRILLIC CAPITAL LETTER SOFT EL
+0509  ; [.1A52.0020.0002.0509] # CYRILLIC SMALL LETTER KOMI LJE
+0508  ; [.1A52.0020.0008.0508] # CYRILLIC CAPITAL LETTER KOMI LJE
+0515  ; [.1A53.0020.0002.0515] # CYRILLIC SMALL LETTER LHA
+0514  ; [.1A53.0020.0008.0514] # CYRILLIC CAPITAL LETTER LHA
+043C  ; [.1A54.0020.0002.043C] # CYRILLIC SMALL LETTER EM
+2DE8  ; [.1A54.0020.0004.2DE8] # COMBINING CYRILLIC LETTER EM
+041C  ; [.1A54.0020.0008.041C] # CYRILLIC CAPITAL LETTER EM
+04CE  ; [.1A58.0020.0002.04CE] # CYRILLIC SMALL LETTER EM WITH TAIL
+04CD  ; [.1A58.0020.0008.04CD] # CYRILLIC CAPITAL LETTER EM WITH TAIL
+A667  ; [.1A5C.0020.0002.A667] # CYRILLIC SMALL LETTER SOFT EM
+A666  ; [.1A5C.0020.0008.A666] # CYRILLIC CAPITAL LETTER SOFT EM
+043D  ; [.1A5D.0020.0002.043D] # CYRILLIC SMALL LETTER EN
+2DE9  ; [.1A5D.0020.0004.2DE9] # COMBINING CYRILLIC LETTER EN
+041D  ; [.1A5D.0020.0008.041D] # CYRILLIC CAPITAL LETTER EN
+1D78  ; [.1A5D.0020.0014.1D78] # MODIFIER LETTER CYRILLIC EN
+04CA  ; [.1A61.0020.0002.04CA] # CYRILLIC SMALL LETTER EN WITH TAIL
+04C9  ; [.1A61.0020.0008.04C9] # CYRILLIC CAPITAL LETTER EN WITH TAIL
+04A3  ; [.1A65.0020.0002.04A3] # CYRILLIC SMALL LETTER EN WITH DESCENDER
+04A2  ; [.1A65.0020.0008.04A2] # CYRILLIC CAPITAL LETTER EN WITH DESCENDER
+04C8  ; [.1A69.0020.0002.04C8] # CYRILLIC SMALL LETTER EN WITH HOOK
+04C7  ; [.1A69.0020.0008.04C7] # CYRILLIC CAPITAL LETTER EN WITH HOOK
+0523  ; [.1A6D.0020.0002.0523] # CYRILLIC SMALL LETTER EN WITH MIDDLE HOOK
+0522  ; [.1A6D.0020.0008.0522] # CYRILLIC CAPITAL LETTER EN WITH MIDDLE HOOK
+04A5  ; [.1A6E.0020.0002.04A5] # CYRILLIC SMALL LIGATURE EN GHE
+04A4  ; [.1A6E.0020.0008.04A4] # CYRILLIC CAPITAL LIGATURE EN GHE
+045A  ; [.1A72.0020.0002.045A] # CYRILLIC SMALL LETTER NJE
+040A  ; [.1A72.0020.0008.040A] # CYRILLIC CAPITAL LETTER NJE
+050B  ; [.1A76.0020.0002.050B] # CYRILLIC SMALL LETTER KOMI NJE
+050A  ; [.1A76.0020.0008.050A] # CYRILLIC CAPITAL LETTER KOMI NJE
+043E  ; [.1A77.0020.0002.043E] # CYRILLIC SMALL LETTER O
+2DEA  ; [.1A77.0020.0004.2DEA] # COMBINING CYRILLIC LETTER O
+A669  ; [.1A77.0020.0004.A669] # CYRILLIC SMALL LETTER MONOCULAR O
+A66B  ; [.1A77.0020.0004.A66B] # CYRILLIC SMALL LETTER BINOCULAR O
+A66D  ; [.1A77.0020.0004.A66D] # CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
+A66E  ; [.1A77.0020.0004.A66E] # CYRILLIC LETTER MULTIOCULAR O
+041E  ; [.1A77.0020.0008.041E] # CYRILLIC CAPITAL LETTER O
+A668  ; [.1A77.0020.000A.A668] # CYRILLIC CAPITAL LETTER MONOCULAR O
+A66A  ; [.1A77.0020.000A.A66A] # CYRILLIC CAPITAL LETTER BINOCULAR O
+A66C  ; [.1A77.0020.000A.A66C] # CYRILLIC CAPITAL LETTER DOUBLE MONOCULAR O
+04E7  ; [.1A7B.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+043E 0308 ; [.1A7B.0020.0002.04E7] # CYRILLIC SMALL LETTER O WITH DIAERESIS
+04E6  ; [.1A7B.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+041E 0308 ; [.1A7B.0020.0008.04E6] # CYRILLIC CAPITAL LETTER O WITH DIAERESIS
+04E9  ; [.1A7F.0020.0002.04E9] # CYRILLIC SMALL LETTER BARRED O
+04E8  ; [.1A7F.0020.0008.04E8] # CYRILLIC CAPITAL LETTER BARRED O
+04EB  ; [.1A83.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04E9 0308 ; [.1A83.0020.0002.04EB] # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS
+04EA  ; [.1A83.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+04E8 0308 ; [.1A83.0020.0008.04EA] # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS
+043F  ; [.1A87.0020.0002.043F] # CYRILLIC SMALL LETTER PE
+2DEB  ; [.1A87.0020.0004.2DEB] # COMBINING CYRILLIC LETTER PE
+041F  ; [.1A87.0020.0008.041F] # CYRILLIC CAPITAL LETTER PE
+0525  ; [.1A8B.0020.0002.0525] # CYRILLIC SMALL LETTER PE WITH DESCENDER
+0524  ; [.1A8B.0020.0008.0524] # CYRILLIC CAPITAL LETTER PE WITH DESCENDER
+04A7  ; [.1A8C.0020.0002.04A7] # CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK
+04A6  ; [.1A8C.0020.0008.04A6] # CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK
+0481  ; [.1A90.0020.0002.0481] # CYRILLIC SMALL LETTER KOPPA
+0480  ; [.1A90.0020.0008.0480] # CYRILLIC CAPITAL LETTER KOPPA
+0440  ; [.1A94.0020.0002.0440] # CYRILLIC SMALL LETTER ER
+2DEC  ; [.1A94.0020.0004.2DEC] # COMBINING CYRILLIC LETTER ER
+0420  ; [.1A94.0020.0008.0420] # CYRILLIC CAPITAL LETTER ER
+048F  ; [.1A98.0020.0002.048F] # CYRILLIC SMALL LETTER ER WITH TICK
+048E  ; [.1A98.0020.0008.048E] # CYRILLIC CAPITAL LETTER ER WITH TICK
+0517  ; [.1A9C.0020.0002.0517] # CYRILLIC SMALL LETTER RHA
+0516  ; [.1A9C.0020.0008.0516] # CYRILLIC CAPITAL LETTER RHA
+0441  ; [.1A9D.0020.0002.0441] # CYRILLIC SMALL LETTER ES
+2DED  ; [.1A9D.0020.0004.2DED] # COMBINING CYRILLIC LETTER ES
+0421  ; [.1A9D.0020.0008.0421] # CYRILLIC CAPITAL LETTER ES
+2DF5  ; [.1A9D.0020.0004.2DF5][.1AA6.0020.0004.2DF5] # COMBINING CYRILLIC LETTER ES-TE
+050D  ; [.1AA1.0020.0002.050D] # CYRILLIC SMALL LETTER KOMI SJE
+050C  ; [.1AA1.0020.0008.050C] # CYRILLIC CAPITAL LETTER KOMI SJE
+04AB  ; [.1AA2.0020.0002.04AB] # CYRILLIC SMALL LETTER ES WITH DESCENDER
+04AA  ; [.1AA2.0020.0008.04AA] # CYRILLIC CAPITAL LETTER ES WITH DESCENDER
+0442  ; [.1AA6.0020.0002.0442] # CYRILLIC SMALL LETTER TE
+2DEE  ; [.1AA6.0020.0004.2DEE] # COMBINING CYRILLIC LETTER TE
+0422  ; [.1AA6.0020.0008.0422] # CYRILLIC CAPITAL LETTER TE
+A68D  ; [.1AAA.0020.0002.A68D] # CYRILLIC SMALL LETTER TWE
+A68C  ; [.1AAA.0020.0008.A68C] # CYRILLIC CAPITAL LETTER TWE
+050F  ; [.1AAB.0020.0002.050F] # CYRILLIC SMALL LETTER KOMI TJE
+050E  ; [.1AAB.0020.0008.050E] # CYRILLIC CAPITAL LETTER KOMI TJE
+04AD  ; [.1AAC.0020.0002.04AD] # CYRILLIC SMALL LETTER TE WITH DESCENDER
+04AC  ; [.1AAC.0020.0008.04AC] # CYRILLIC CAPITAL LETTER TE WITH DESCENDER
+A68B  ; [.1AB0.0020.0002.A68B] # CYRILLIC SMALL LETTER TE WITH MIDDLE HOOK
+A68A  ; [.1AB0.0020.0008.A68A] # CYRILLIC CAPITAL LETTER TE WITH MIDDLE HOOK
+045B  ; [.1AB1.0020.0002.045B] # CYRILLIC SMALL LETTER TSHE
+040B  ; [.1AB1.0020.0008.040B] # CYRILLIC CAPITAL LETTER TSHE
+045C  ; [.1AB5.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+043A 0301 ; [.1AB5.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+043A 0341 ; [.1AB5.0020.0002.045C] # CYRILLIC SMALL LETTER KJE
+040C  ; [.1AB5.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+041A 0301 ; [.1AB5.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+041A 0341 ; [.1AB5.0020.0008.040C] # CYRILLIC CAPITAL LETTER KJE
+0443  ; [.1AB9.0020.0002.0443] # CYRILLIC SMALL LETTER U
+A677  ; [.1AB9.0020.0004.A677] # COMBINING CYRILLIC LETTER U
+0423  ; [.1AB9.0020.0008.0423] # CYRILLIC CAPITAL LETTER U
+04EF  ; [.1AB9.0020.0002.0443][.0000.005B.0002.0304] # CYRILLIC SMALL LETTER U WITH MACRON
+04EE  ; [.1AB9.0020.0008.0423][.0000.005B.0002.0304] # CYRILLIC CAPITAL LETTER U WITH MACRON
+045E  ; [.1ABD.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
+0443 0306 ; [.1ABD.0020.0002.045E] # CYRILLIC SMALL LETTER SHORT U
+040E  ; [.1ABD.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
+0423 0306 ; [.1ABD.0020.0008.040E] # CYRILLIC CAPITAL LETTER SHORT U
+04F1  ; [.1AC1.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+0443 0308 ; [.1AC1.0020.0002.04F1] # CYRILLIC SMALL LETTER U WITH DIAERESIS
+04F0  ; [.1AC1.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+0423 0308 ; [.1AC1.0020.0008.04F0] # CYRILLIC CAPITAL LETTER U WITH DIAERESIS
+04F3  ; [.1AC5.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+0443 030B ; [.1AC5.0020.0002.04F3] # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE
+04F2  ; [.1AC5.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+0423 030B ; [.1AC5.0020.0008.04F2] # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE
+04AF  ; [.1AC9.0020.0002.04AF] # CYRILLIC SMALL LETTER STRAIGHT U
+04AE  ; [.1AC9.0020.0008.04AE] # CYRILLIC CAPITAL LETTER STRAIGHT U
+04B1  ; [.1ACD.0020.0002.04B1] # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE
+04B0  ; [.1ACD.0020.0008.04B0] # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE
+A64B  ; [.1AD1.0020.0002.A64B] # CYRILLIC SMALL LETTER MONOGRAPH UK
+2DF9  ; [.1AD1.0020.0004.2DF9] # COMBINING CYRILLIC LETTER MONOGRAPH UK
+A64A  ; [.1AD1.0020.0008.A64A] # CYRILLIC CAPITAL LETTER MONOGRAPH UK
+0479  ; [.1AD2.0020.0002.0479] # CYRILLIC SMALL LETTER UK
+0478  ; [.1AD2.0020.0008.0478] # CYRILLIC CAPITAL LETTER UK
+0444  ; [.1AD6.0020.0002.0444] # CYRILLIC SMALL LETTER EF
+0424  ; [.1AD6.0020.0008.0424] # CYRILLIC CAPITAL LETTER EF
+0445  ; [.1ADA.0020.0002.0445] # CYRILLIC SMALL LETTER HA
+2DEF  ; [.1ADA.0020.0004.2DEF] # COMBINING CYRILLIC LETTER HA
+0425  ; [.1ADA.0020.0008.0425] # CYRILLIC CAPITAL LETTER HA
+04FD  ; [.1ADE.0020.0002.04FD] # CYRILLIC SMALL LETTER HA WITH HOOK
+04FC  ; [.1ADE.0020.0008.04FC] # CYRILLIC CAPITAL LETTER HA WITH HOOK
+04FF  ; [.1AE2.0020.0002.04FF] # CYRILLIC SMALL LETTER HA WITH STROKE
+04FE  ; [.1AE2.0020.0008.04FE] # CYRILLIC CAPITAL LETTER HA WITH STROKE
+04B3  ; [.1AE6.0020.0002.04B3] # CYRILLIC SMALL LETTER HA WITH DESCENDER
+04B2  ; [.1AE6.0020.0008.04B2] # CYRILLIC CAPITAL LETTER HA WITH DESCENDER
+04BB  ; [.1AEA.0020.0002.04BB] # CYRILLIC SMALL LETTER SHHA
+04BA  ; [.1AEA.0020.0008.04BA] # CYRILLIC CAPITAL LETTER SHHA
+0527  ; [.1AEE.0020.0002.0527] # CYRILLIC SMALL LETTER SHHA WITH DESCENDER
+0526  ; [.1AEE.0020.0008.0526] # CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
+A695  ; [.1AEF.0020.0002.A695] # CYRILLIC SMALL LETTER HWE
+A694  ; [.1AEF.0020.0008.A694] # CYRILLIC CAPITAL LETTER HWE
+0461  ; [.1AF0.0020.0002.0461] # CYRILLIC SMALL LETTER OMEGA
+A67B  ; [.1AF0.0020.0004.A67B] # COMBINING CYRILLIC LETTER OMEGA
+0460  ; [.1AF0.0020.0008.0460] # CYRILLIC CAPITAL LETTER OMEGA
+047F  ; [.1AF4.0020.0002.047F] # CYRILLIC SMALL LETTER OT
+047E  ; [.1AF4.0020.0008.047E] # CYRILLIC CAPITAL LETTER OT
+A64D  ; [.1AF8.0020.0002.A64D] # CYRILLIC SMALL LETTER BROAD OMEGA
+A64C  ; [.1AF8.0020.0008.A64C] # CYRILLIC CAPITAL LETTER BROAD OMEGA
+047D  ; [.1AF9.0020.0002.047D] # CYRILLIC SMALL LETTER OMEGA WITH TITLO
+047C  ; [.1AF9.0020.0008.047C] # CYRILLIC CAPITAL LETTER OMEGA WITH TITLO
+047B  ; [.1AFD.0020.0002.047B] # CYRILLIC SMALL LETTER ROUND OMEGA
+047A  ; [.1AFD.0020.0008.047A] # CYRILLIC CAPITAL LETTER ROUND OMEGA
+0446  ; [.1B01.0020.0002.0446] # CYRILLIC SMALL LETTER TSE
+2DF0  ; [.1B01.0020.0004.2DF0] # COMBINING CYRILLIC LETTER TSE
+0426  ; [.1B01.0020.0008.0426] # CYRILLIC CAPITAL LETTER TSE
+A661  ; [.1B05.0020.0002.A661] # CYRILLIC SMALL LETTER REVERSED TSE
+A660  ; [.1B05.0020.0008.A660] # CYRILLIC CAPITAL LETTER REVERSED TSE
+A68F  ; [.1B06.0020.0002.A68F] # CYRILLIC SMALL LETTER TSWE
+A68E  ; [.1B06.0020.0008.A68E] # CYRILLIC CAPITAL LETTER TSWE
+04B5  ; [.1B07.0020.0002.04B5] # CYRILLIC SMALL LIGATURE TE TSE
+04B4  ; [.1B07.0020.0008.04B4] # CYRILLIC CAPITAL LIGATURE TE TSE
+A691  ; [.1B0B.0020.0002.A691] # CYRILLIC SMALL LETTER TSSE
+A690  ; [.1B0B.0020.0008.A690] # CYRILLIC CAPITAL LETTER TSSE
+0447  ; [.1B0C.0020.0002.0447] # CYRILLIC SMALL LETTER CHE
+2DF1  ; [.1B0C.0020.0004.2DF1] # COMBINING CYRILLIC LETTER CHE
+0427  ; [.1B0C.0020.0008.0427] # CYRILLIC CAPITAL LETTER CHE
+A693  ; [.1B10.0020.0002.A693] # CYRILLIC SMALL LETTER TCHE
+A692  ; [.1B10.0020.0008.A692] # CYRILLIC CAPITAL LETTER TCHE
+04F5  ; [.1B11.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+0447 0308 ; [.1B11.0020.0002.04F5] # CYRILLIC SMALL LETTER CHE WITH DIAERESIS
+04F4  ; [.1B11.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+0427 0308 ; [.1B11.0020.0008.04F4] # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS
+04B7  ; [.1B15.0020.0002.04B7] # CYRILLIC SMALL LETTER CHE WITH DESCENDER
+04B6  ; [.1B15.0020.0008.04B6] # CYRILLIC CAPITAL LETTER CHE WITH DESCENDER
+04CC  ; [.1B19.0020.0002.04CC] # CYRILLIC SMALL LETTER KHAKASSIAN CHE
+04CB  ; [.1B19.0020.0008.04CB] # CYRILLIC CAPITAL LETTER KHAKASSIAN CHE
+04B9  ; [.1B1D.0020.0002.04B9] # CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE
+04B8  ; [.1B1D.0020.0008.04B8] # CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE
+A687  ; [.1B21.0020.0002.A687] # CYRILLIC SMALL LETTER CCHE
+A686  ; [.1B21.0020.0008.A686] # CYRILLIC CAPITAL LETTER CCHE
+04BD  ; [.1B22.0020.0002.04BD] # CYRILLIC SMALL LETTER ABKHASIAN CHE
+04BC  ; [.1B22.0020.0008.04BC] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE
+04BF  ; [.1B26.0020.0002.04BF] # CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER
+04BE  ; [.1B26.0020.0008.04BE] # CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER
+045F  ; [.1B2A.0020.0002.045F] # CYRILLIC SMALL LETTER DZHE
+040F  ; [.1B2A.0020.0008.040F] # CYRILLIC CAPITAL LETTER DZHE
+0448  ; [.1B2E.0020.0002.0448] # CYRILLIC SMALL LETTER SHA
+2DF2  ; [.1B2E.0020.0004.2DF2] # COMBINING CYRILLIC LETTER SHA
+0428  ; [.1B2E.0020.0008.0428] # CYRILLIC CAPITAL LETTER SHA
+A697  ; [.1B32.0020.0002.A697] # CYRILLIC SMALL LETTER SHWE
+A696  ; [.1B32.0020.0008.A696] # CYRILLIC CAPITAL LETTER SHWE
+0449  ; [.1B33.0020.0002.0449] # CYRILLIC SMALL LETTER SHCHA
+2DF3  ; [.1B33.0020.0004.2DF3] # COMBINING CYRILLIC LETTER SHCHA
+0429  ; [.1B33.0020.0008.0429] # CYRILLIC CAPITAL LETTER SHCHA
+A64F  ; [.1B37.0020.0002.A64F] # CYRILLIC SMALL LETTER NEUTRAL YER
+A64E  ; [.1B37.0020.0008.A64E] # CYRILLIC CAPITAL LETTER NEUTRAL YER
+2E2F  ; [.1B38.0020.0002.2E2F] # VERTICAL TILDE
+A67F  ; [.1B39.0020.0002.A67F] # CYRILLIC PAYEROK
+044A  ; [.1B3A.0020.0002.044A] # CYRILLIC SMALL LETTER HARD SIGN
+A678  ; [.1B3A.0020.0004.A678] # COMBINING CYRILLIC LETTER HARD SIGN
+042A  ; [.1B3A.0020.0008.042A] # CYRILLIC CAPITAL LETTER HARD SIGN
+A651  ; [.1B3E.0020.0002.A651] # CYRILLIC SMALL LETTER YERU WITH BACK YER
+A650  ; [.1B3E.0020.0008.A650] # CYRILLIC CAPITAL LETTER YERU WITH BACK YER
+044B  ; [.1B3F.0020.0002.044B] # CYRILLIC SMALL LETTER YERU
+A679  ; [.1B3F.0020.0004.A679] # COMBINING CYRILLIC LETTER YERU
+042B  ; [.1B3F.0020.0008.042B] # CYRILLIC CAPITAL LETTER YERU
+04F9  ; [.1B43.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+044B 0308 ; [.1B43.0020.0002.04F9] # CYRILLIC SMALL LETTER YERU WITH DIAERESIS
+04F8  ; [.1B43.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+042B 0308 ; [.1B43.0020.0008.04F8] # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS
+044C  ; [.1B47.0020.0002.044C] # CYRILLIC SMALL LETTER SOFT SIGN
+A67A  ; [.1B47.0020.0004.A67A] # COMBINING CYRILLIC LETTER SOFT SIGN
+042C  ; [.1B47.0020.0008.042C] # CYRILLIC CAPITAL LETTER SOFT SIGN
+048D  ; [.1B4B.0020.0002.048D] # CYRILLIC SMALL LETTER SEMISOFT SIGN
+048C  ; [.1B4B.0020.0008.048C] # CYRILLIC CAPITAL LETTER SEMISOFT SIGN
+0463  ; [.1B4F.0020.0002.0463] # CYRILLIC SMALL LETTER YAT
+2DFA  ; [.1B4F.0020.0004.2DFA] # COMBINING CYRILLIC LETTER YAT
+0462  ; [.1B4F.0020.0008.0462] # CYRILLIC CAPITAL LETTER YAT
+A653  ; [.1B53.0020.0002.A653] # CYRILLIC SMALL LETTER IOTIFIED YAT
+A652  ; [.1B53.0020.0008.A652] # CYRILLIC CAPITAL LETTER IOTIFIED YAT
+044D  ; [.1B54.0020.0002.044D] # CYRILLIC SMALL LETTER E
+042D  ; [.1B54.0020.0008.042D] # CYRILLIC CAPITAL LETTER E
+04ED  ; [.1B58.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+044D 0308 ; [.1B58.0020.0002.04ED] # CYRILLIC SMALL LETTER E WITH DIAERESIS
+04EC  ; [.1B58.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+042D 0308 ; [.1B58.0020.0008.04EC] # CYRILLIC CAPITAL LETTER E WITH DIAERESIS
+044E  ; [.1B5C.0020.0002.044E] # CYRILLIC SMALL LETTER YU
+2DFB  ; [.1B5C.0020.0004.2DFB] # COMBINING CYRILLIC LETTER YU
+042E  ; [.1B5C.0020.0008.042E] # CYRILLIC CAPITAL LETTER YU
+A655  ; [.1B60.0020.0002.A655] # CYRILLIC SMALL LETTER REVERSED YU
+A654  ; [.1B60.0020.0008.A654] # CYRILLIC CAPITAL LETTER REVERSED YU
+A657  ; [.1B61.0020.0002.A657] # CYRILLIC SMALL LETTER IOTIFIED A
+2DFC  ; [.1B61.0020.0004.2DFC] # COMBINING CYRILLIC LETTER IOTIFIED A
+A656  ; [.1B61.0020.0008.A656] # CYRILLIC CAPITAL LETTER IOTIFIED A
+044F  ; [.1B62.0020.0002.044F] # CYRILLIC SMALL LETTER YA
+042F  ; [.1B62.0020.0008.042F] # CYRILLIC CAPITAL LETTER YA
+0519  ; [.1B66.0020.0002.0519] # CYRILLIC SMALL LETTER YAE
+0518  ; [.1B66.0020.0008.0518] # CYRILLIC CAPITAL LETTER YAE
+0465  ; [.1B67.0020.0002.0465] # CYRILLIC SMALL LETTER IOTIFIED E
+A69F  ; [.1B67.0020.0004.A69F] # COMBINING CYRILLIC LETTER IOTIFIED E
+0464  ; [.1B67.0020.0008.0464] # CYRILLIC CAPITAL LETTER IOTIFIED E
+0467  ; [.1B6B.0020.0002.0467] # CYRILLIC SMALL LETTER LITTLE YUS
+2DFD  ; [.1B6B.0020.0004.2DFD] # COMBINING CYRILLIC LETTER LITTLE YUS
+0466  ; [.1B6B.0020.0008.0466] # CYRILLIC CAPITAL LETTER LITTLE YUS
+A659  ; [.1B6F.0020.0002.A659] # CYRILLIC SMALL LETTER CLOSED LITTLE YUS
+A658  ; [.1B6F.0020.0008.A658] # CYRILLIC CAPITAL LETTER CLOSED LITTLE YUS
+046B  ; [.1B70.0020.0002.046B] # CYRILLIC SMALL LETTER BIG YUS
+2DFE  ; [.1B70.0020.0004.2DFE] # COMBINING CYRILLIC LETTER BIG YUS
+046A  ; [.1B70.0020.0008.046A] # CYRILLIC CAPITAL LETTER BIG YUS
+A65B  ; [.1B74.0020.0002.A65B] # CYRILLIC SMALL LETTER BLENDED YUS
+A65A  ; [.1B74.0020.0008.A65A] # CYRILLIC CAPITAL LETTER BLENDED YUS
+0469  ; [.1B75.0020.0002.0469] # CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS
+0468  ; [.1B75.0020.0008.0468] # CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS
+A65D  ; [.1B79.0020.0002.A65D] # CYRILLIC SMALL LETTER IOTIFIED CLOSED LITTLE YUS
+A65C  ; [.1B79.0020.0008.A65C] # CYRILLIC CAPITAL LETTER IOTIFIED CLOSED LITTLE YUS
+046D  ; [.1B7A.0020.0002.046D] # CYRILLIC SMALL LETTER IOTIFIED BIG YUS
+2DFF  ; [.1B7A.0020.0004.2DFF] # COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+046C  ; [.1B7A.0020.0008.046C] # CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS
+046F  ; [.1B7E.0020.0002.046F] # CYRILLIC SMALL LETTER KSI
+046E  ; [.1B7E.0020.0008.046E] # CYRILLIC CAPITAL LETTER KSI
+0471  ; [.1B82.0020.0002.0471] # CYRILLIC SMALL LETTER PSI
+0470  ; [.1B82.0020.0008.0470] # CYRILLIC CAPITAL LETTER PSI
+0473  ; [.1B86.0020.0002.0473] # CYRILLIC SMALL LETTER FITA
+2DF4  ; [.1B86.0020.0004.2DF4] # COMBINING CYRILLIC LETTER FITA
+0472  ; [.1B86.0020.0008.0472] # CYRILLIC CAPITAL LETTER FITA
+0475  ; [.1B8A.0020.0002.0475] # CYRILLIC SMALL LETTER IZHITSA
+0474  ; [.1B8A.0020.0008.0474] # CYRILLIC CAPITAL LETTER IZHITSA
+0477  ; [.1B8E.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0475 030F ; [.1B8E.0020.0002.0477] # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0476  ; [.1B8E.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+0474 030F ; [.1B8E.0020.0008.0476] # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT
+A65F  ; [.1B92.0020.0002.A65F] # CYRILLIC SMALL LETTER YN
+A65E  ; [.1B92.0020.0008.A65E] # CYRILLIC CAPITAL LETTER YN
+04A9  ; [.1B93.0020.0002.04A9] # CYRILLIC SMALL LETTER ABKHASIAN HA
+04A8  ; [.1B93.0020.0008.04A8] # CYRILLIC CAPITAL LETTER ABKHASIAN HA
+051D  ; [.1B97.0020.0002.051D] # CYRILLIC SMALL LETTER WE
+051C  ; [.1B97.0020.0008.051C] # CYRILLIC CAPITAL LETTER WE
+04CF  ; [.1B98.0020.0002.04CF] # CYRILLIC SMALL LETTER PALOCHKA
+04C0  ; [.1B98.0020.0008.04C0] # CYRILLIC LETTER PALOCHKA
+2C30  ; [.1B9C.0020.0002.2C30] # GLAGOLITIC SMALL LETTER AZU
+2C00  ; [.1B9C.0020.0008.2C00] # GLAGOLITIC CAPITAL LETTER AZU
+2C31  ; [.1B9D.0020.0002.2C31] # GLAGOLITIC SMALL LETTER BUKY
+2C01  ; [.1B9D.0020.0008.2C01] # GLAGOLITIC CAPITAL LETTER BUKY
+2C32  ; [.1B9E.0020.0002.2C32] # GLAGOLITIC SMALL LETTER VEDE
+2C02  ; [.1B9E.0020.0008.2C02] # GLAGOLITIC CAPITAL LETTER VEDE
+2C33  ; [.1B9F.0020.0002.2C33] # GLAGOLITIC SMALL LETTER GLAGOLI
+2C03  ; [.1B9F.0020.0008.2C03] # GLAGOLITIC CAPITAL LETTER GLAGOLI
+2C34  ; [.1BA0.0020.0002.2C34] # GLAGOLITIC SMALL LETTER DOBRO
+2C04  ; [.1BA0.0020.0008.2C04] # GLAGOLITIC CAPITAL LETTER DOBRO
+2C35  ; [.1BA1.0020.0002.2C35] # GLAGOLITIC SMALL LETTER YESTU
+2C05  ; [.1BA1.0020.0008.2C05] # GLAGOLITIC CAPITAL LETTER YESTU
+2C36  ; [.1BA2.0020.0002.2C36] # GLAGOLITIC SMALL LETTER ZHIVETE
+2C06  ; [.1BA2.0020.0008.2C06] # GLAGOLITIC CAPITAL LETTER ZHIVETE
+2C37  ; [.1BA3.0020.0002.2C37] # GLAGOLITIC SMALL LETTER DZELO
+2C07  ; [.1BA3.0020.0008.2C07] # GLAGOLITIC CAPITAL LETTER DZELO
+2C38  ; [.1BA4.0020.0002.2C38] # GLAGOLITIC SMALL LETTER ZEMLJA
+2C08  ; [.1BA4.0020.0008.2C08] # GLAGOLITIC CAPITAL LETTER ZEMLJA
+2C39  ; [.1BA5.0020.0002.2C39] # GLAGOLITIC SMALL LETTER IZHE
+2C09  ; [.1BA5.0020.0008.2C09] # GLAGOLITIC CAPITAL LETTER IZHE
+2C3A  ; [.1BA6.0020.0002.2C3A] # GLAGOLITIC SMALL LETTER INITIAL IZHE
+2C0A  ; [.1BA6.0020.0008.2C0A] # GLAGOLITIC CAPITAL LETTER INITIAL IZHE
+2C3B  ; [.1BA7.0020.0002.2C3B] # GLAGOLITIC SMALL LETTER I
+2C0B  ; [.1BA7.0020.0008.2C0B] # GLAGOLITIC CAPITAL LETTER I
+2C3C  ; [.1BA8.0020.0002.2C3C] # GLAGOLITIC SMALL LETTER DJERVI
+2C0C  ; [.1BA8.0020.0008.2C0C] # GLAGOLITIC CAPITAL LETTER DJERVI
+2C3D  ; [.1BA9.0020.0002.2C3D] # GLAGOLITIC SMALL LETTER KAKO
+2C0D  ; [.1BA9.0020.0008.2C0D] # GLAGOLITIC CAPITAL LETTER KAKO
+2C3E  ; [.1BAA.0020.0002.2C3E] # GLAGOLITIC SMALL LETTER LJUDIJE
+2C0E  ; [.1BAA.0020.0008.2C0E] # GLAGOLITIC CAPITAL LETTER LJUDIJE
+2C3F  ; [.1BAB.0020.0002.2C3F] # GLAGOLITIC SMALL LETTER MYSLITE
+2C0F  ; [.1BAB.0020.0008.2C0F] # GLAGOLITIC CAPITAL LETTER MYSLITE
+2C40  ; [.1BAC.0020.0002.2C40] # GLAGOLITIC SMALL LETTER NASHI
+2C10  ; [.1BAC.0020.0008.2C10] # GLAGOLITIC CAPITAL LETTER NASHI
+2C41  ; [.1BAD.0020.0002.2C41] # GLAGOLITIC SMALL LETTER ONU
+2C11  ; [.1BAD.0020.0008.2C11] # GLAGOLITIC CAPITAL LETTER ONU
+2C42  ; [.1BAE.0020.0002.2C42] # GLAGOLITIC SMALL LETTER POKOJI
+2C12  ; [.1BAE.0020.0008.2C12] # GLAGOLITIC CAPITAL LETTER POKOJI
+2C43  ; [.1BAF.0020.0002.2C43] # GLAGOLITIC SMALL LETTER RITSI
+2C13  ; [.1BAF.0020.0008.2C13] # GLAGOLITIC CAPITAL LETTER RITSI
+2C44  ; [.1BB0.0020.0002.2C44] # GLAGOLITIC SMALL LETTER SLOVO
+2C14  ; [.1BB0.0020.0008.2C14] # GLAGOLITIC CAPITAL LETTER SLOVO
+2C45  ; [.1BB1.0020.0002.2C45] # GLAGOLITIC SMALL LETTER TVRIDO
+2C15  ; [.1BB1.0020.0008.2C15] # GLAGOLITIC CAPITAL LETTER TVRIDO
+2C46  ; [.1BB2.0020.0002.2C46] # GLAGOLITIC SMALL LETTER UKU
+2C16  ; [.1BB2.0020.0008.2C16] # GLAGOLITIC CAPITAL LETTER UKU
+2C47  ; [.1BB3.0020.0002.2C47] # GLAGOLITIC SMALL LETTER FRITU
+2C17  ; [.1BB3.0020.0008.2C17] # GLAGOLITIC CAPITAL LETTER FRITU
+2C48  ; [.1BB4.0020.0002.2C48] # GLAGOLITIC SMALL LETTER HERU
+2C18  ; [.1BB4.0020.0008.2C18] # GLAGOLITIC CAPITAL LETTER HERU
+2C49  ; [.1BB5.0020.0002.2C49] # GLAGOLITIC SMALL LETTER OTU
+2C19  ; [.1BB5.0020.0008.2C19] # GLAGOLITIC CAPITAL LETTER OTU
+2C4A  ; [.1BB6.0020.0002.2C4A] # GLAGOLITIC SMALL LETTER PE
+2C1A  ; [.1BB6.0020.0008.2C1A] # GLAGOLITIC CAPITAL LETTER PE
+2C4B  ; [.1BB7.0020.0002.2C4B] # GLAGOLITIC SMALL LETTER SHTA
+2C1B  ; [.1BB7.0020.0008.2C1B] # GLAGOLITIC CAPITAL LETTER SHTA
+2C4C  ; [.1BB8.0020.0002.2C4C] # GLAGOLITIC SMALL LETTER TSI
+2C1C  ; [.1BB8.0020.0008.2C1C] # GLAGOLITIC CAPITAL LETTER TSI
+2C4D  ; [.1BB9.0020.0002.2C4D] # GLAGOLITIC SMALL LETTER CHRIVI
+2C1D  ; [.1BB9.0020.0008.2C1D] # GLAGOLITIC CAPITAL LETTER CHRIVI
+2C4E  ; [.1BBA.0020.0002.2C4E] # GLAGOLITIC SMALL LETTER SHA
+2C1E  ; [.1BBA.0020.0008.2C1E] # GLAGOLITIC CAPITAL LETTER SHA
+2C4F  ; [.1BBB.0020.0002.2C4F] # GLAGOLITIC SMALL LETTER YERU
+2C1F  ; [.1BBB.0020.0008.2C1F] # GLAGOLITIC CAPITAL LETTER YERU
+2C50  ; [.1BBC.0020.0002.2C50] # GLAGOLITIC SMALL LETTER YERI
+2C20  ; [.1BBC.0020.0008.2C20] # GLAGOLITIC CAPITAL LETTER YERI
+2C51  ; [.1BBD.0020.0002.2C51] # GLAGOLITIC SMALL LETTER YATI
+2C21  ; [.1BBD.0020.0008.2C21] # GLAGOLITIC CAPITAL LETTER YATI
+2C52  ; [.1BBE.0020.0002.2C52] # GLAGOLITIC SMALL LETTER SPIDERY HA
+2C22  ; [.1BBE.0020.0008.2C22] # GLAGOLITIC CAPITAL LETTER SPIDERY HA
+2C53  ; [.1BBF.0020.0002.2C53] # GLAGOLITIC SMALL LETTER YU
+2C23  ; [.1BBF.0020.0008.2C23] # GLAGOLITIC CAPITAL LETTER YU
+2C54  ; [.1BC0.0020.0002.2C54] # GLAGOLITIC SMALL LETTER SMALL YUS
+2C24  ; [.1BC0.0020.0008.2C24] # GLAGOLITIC CAPITAL LETTER SMALL YUS
+2C55  ; [.1BC1.0020.0002.2C55] # GLAGOLITIC SMALL LETTER SMALL YUS WITH TAIL
+2C25  ; [.1BC1.0020.0008.2C25] # GLAGOLITIC CAPITAL LETTER SMALL YUS WITH TAIL
+2C56  ; [.1BC2.0020.0002.2C56] # GLAGOLITIC SMALL LETTER YO
+2C26  ; [.1BC2.0020.0008.2C26] # GLAGOLITIC CAPITAL LETTER YO
+2C57  ; [.1BC3.0020.0002.2C57] # GLAGOLITIC SMALL LETTER IOTATED SMALL YUS
+2C27  ; [.1BC3.0020.0008.2C27] # GLAGOLITIC CAPITAL LETTER IOTATED SMALL YUS
+2C58  ; [.1BC4.0020.0002.2C58] # GLAGOLITIC SMALL LETTER BIG YUS
+2C28  ; [.1BC4.0020.0008.2C28] # GLAGOLITIC CAPITAL LETTER BIG YUS
+2C59  ; [.1BC5.0020.0002.2C59] # GLAGOLITIC SMALL LETTER IOTATED BIG YUS
+2C29  ; [.1BC5.0020.0008.2C29] # GLAGOLITIC CAPITAL LETTER IOTATED BIG YUS
+2C5A  ; [.1BC6.0020.0002.2C5A] # GLAGOLITIC SMALL LETTER FITA
+2C2A  ; [.1BC6.0020.0008.2C2A] # GLAGOLITIC CAPITAL LETTER FITA
+2C5B  ; [.1BC7.0020.0002.2C5B] # GLAGOLITIC SMALL LETTER IZHITSA
+2C2B  ; [.1BC7.0020.0008.2C2B] # GLAGOLITIC CAPITAL LETTER IZHITSA
+2C5C  ; [.1BC8.0020.0002.2C5C] # GLAGOLITIC SMALL LETTER SHTAPIC
+2C2C  ; [.1BC8.0020.0008.2C2C] # GLAGOLITIC CAPITAL LETTER SHTAPIC
+2C5D  ; [.1BC9.0020.0002.2C5D] # GLAGOLITIC SMALL LETTER TROKUTASTI A
+2C2D  ; [.1BC9.0020.0008.2C2D] # GLAGOLITIC CAPITAL LETTER TROKUTASTI A
+2C5E  ; [.1BCA.0020.0002.2C5E] # GLAGOLITIC SMALL LETTER LATINATE MYSLITE
+2C2E  ; [.1BCA.0020.0008.2C2E] # GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
+10D0  ; [.1BCB.0020.0002.10D0] # GEORGIAN LETTER AN
+2D00  ; [.1BCC.0020.0002.2D00] # GEORGIAN SMALL LETTER AN
+10A0  ; [.1BCC.0020.0008.10A0] # GEORGIAN CAPITAL LETTER AN
+10D1  ; [.1BCD.0020.0002.10D1] # GEORGIAN LETTER BAN
+2D01  ; [.1BCE.0020.0002.2D01] # GEORGIAN SMALL LETTER BAN
+10A1  ; [.1BCE.0020.0008.10A1] # GEORGIAN CAPITAL LETTER BAN
+10D2  ; [.1BCF.0020.0002.10D2] # GEORGIAN LETTER GAN
+2D02  ; [.1BD0.0020.0002.2D02] # GEORGIAN SMALL LETTER GAN
+10A2  ; [.1BD0.0020.0008.10A2] # GEORGIAN CAPITAL LETTER GAN
+10D3  ; [.1BD1.0020.0002.10D3] # GEORGIAN LETTER DON
+2D03  ; [.1BD2.0020.0002.2D03] # GEORGIAN SMALL LETTER DON
+10A3  ; [.1BD2.0020.0008.10A3] # GEORGIAN CAPITAL LETTER DON
+10D4  ; [.1BD3.0020.0002.10D4] # GEORGIAN LETTER EN
+2D04  ; [.1BD4.0020.0002.2D04] # GEORGIAN SMALL LETTER EN
+10A4  ; [.1BD4.0020.0008.10A4] # GEORGIAN CAPITAL LETTER EN
+10D5  ; [.1BD5.0020.0002.10D5] # GEORGIAN LETTER VIN
+2D05  ; [.1BD6.0020.0002.2D05] # GEORGIAN SMALL LETTER VIN
+10A5  ; [.1BD6.0020.0008.10A5] # GEORGIAN CAPITAL LETTER VIN
+10D6  ; [.1BD7.0020.0002.10D6] # GEORGIAN LETTER ZEN
+2D06  ; [.1BD8.0020.0002.2D06] # GEORGIAN SMALL LETTER ZEN
+10A6  ; [.1BD8.0020.0008.10A6] # GEORGIAN CAPITAL LETTER ZEN
+10F1  ; [.1BD9.0020.0002.10F1] # GEORGIAN LETTER HE
+2D21  ; [.1BDA.0020.0002.2D21] # GEORGIAN SMALL LETTER HE
+10C1  ; [.1BDA.0020.0008.10C1] # GEORGIAN CAPITAL LETTER HE
+10D7  ; [.1BDB.0020.0002.10D7] # GEORGIAN LETTER TAN
+2D07  ; [.1BDC.0020.0002.2D07] # GEORGIAN SMALL LETTER TAN
+10A7  ; [.1BDC.0020.0008.10A7] # GEORGIAN CAPITAL LETTER TAN
+10D8  ; [.1BDD.0020.0002.10D8] # GEORGIAN LETTER IN
+2D08  ; [.1BDE.0020.0002.2D08] # GEORGIAN SMALL LETTER IN
+10A8  ; [.1BDE.0020.0008.10A8] # GEORGIAN CAPITAL LETTER IN
+10D9  ; [.1BDF.0020.0002.10D9] # GEORGIAN LETTER KAN
+2D09  ; [.1BE0.0020.0002.2D09] # GEORGIAN SMALL LETTER KAN
+10A9  ; [.1BE0.0020.0008.10A9] # GEORGIAN CAPITAL LETTER KAN
+10DA  ; [.1BE1.0020.0002.10DA] # GEORGIAN LETTER LAS
+2D0A  ; [.1BE2.0020.0002.2D0A] # GEORGIAN SMALL LETTER LAS
+10AA  ; [.1BE2.0020.0008.10AA] # GEORGIAN CAPITAL LETTER LAS
+10DB  ; [.1BE3.0020.0002.10DB] # GEORGIAN LETTER MAN
+2D0B  ; [.1BE4.0020.0002.2D0B] # GEORGIAN SMALL LETTER MAN
+10AB  ; [.1BE4.0020.0008.10AB] # GEORGIAN CAPITAL LETTER MAN
+10DC  ; [.1BE5.0020.0002.10DC] # GEORGIAN LETTER NAR
+10FC  ; [.1BE5.0020.0014.10FC] # MODIFIER LETTER GEORGIAN NAR
+2D0C  ; [.1BE6.0020.0002.2D0C] # GEORGIAN SMALL LETTER NAR
+10AC  ; [.1BE6.0020.0008.10AC] # GEORGIAN CAPITAL LETTER NAR
+10F2  ; [.1BE7.0020.0002.10F2] # GEORGIAN LETTER HIE
+2D22  ; [.1BE8.0020.0002.2D22] # GEORGIAN SMALL LETTER HIE
+10C2  ; [.1BE8.0020.0008.10C2] # GEORGIAN CAPITAL LETTER HIE
+10DD  ; [.1BE9.0020.0002.10DD] # GEORGIAN LETTER ON
+2D0D  ; [.1BEA.0020.0002.2D0D] # GEORGIAN SMALL LETTER ON
+10AD  ; [.1BEA.0020.0008.10AD] # GEORGIAN CAPITAL LETTER ON
+10DE  ; [.1BEB.0020.0002.10DE] # GEORGIAN LETTER PAR
+2D0E  ; [.1BEC.0020.0002.2D0E] # GEORGIAN SMALL LETTER PAR
+10AE  ; [.1BEC.0020.0008.10AE] # GEORGIAN CAPITAL LETTER PAR
+10DF  ; [.1BED.0020.0002.10DF] # GEORGIAN LETTER ZHAR
+2D0F  ; [.1BEE.0020.0002.2D0F] # GEORGIAN SMALL LETTER ZHAR
+10AF  ; [.1BEE.0020.0008.10AF] # GEORGIAN CAPITAL LETTER ZHAR
+10E0  ; [.1BEF.0020.0002.10E0] # GEORGIAN LETTER RAE
+2D10  ; [.1BF0.0020.0002.2D10] # GEORGIAN SMALL LETTER RAE
+10B0  ; [.1BF0.0020.0008.10B0] # GEORGIAN CAPITAL LETTER RAE
+10E1  ; [.1BF1.0020.0002.10E1] # GEORGIAN LETTER SAN
+2D11  ; [.1BF2.0020.0002.2D11] # GEORGIAN SMALL LETTER SAN
+10B1  ; [.1BF2.0020.0008.10B1] # GEORGIAN CAPITAL LETTER SAN
+10E2  ; [.1BF3.0020.0002.10E2] # GEORGIAN LETTER TAR
+2D12  ; [.1BF4.0020.0002.2D12] # GEORGIAN SMALL LETTER TAR
+10B2  ; [.1BF4.0020.0008.10B2] # GEORGIAN CAPITAL LETTER TAR
+10F3  ; [.1BF5.0020.0002.10F3] # GEORGIAN LETTER WE
+2D23  ; [.1BF6.0020.0002.2D23] # GEORGIAN SMALL LETTER WE
+10C3  ; [.1BF6.0020.0008.10C3] # GEORGIAN CAPITAL LETTER WE
+10E3  ; [.1BF7.0020.0002.10E3] # GEORGIAN LETTER UN
+2D13  ; [.1BF8.0020.0002.2D13] # GEORGIAN SMALL LETTER UN
+10B3  ; [.1BF8.0020.0008.10B3] # GEORGIAN CAPITAL LETTER UN
+10E4  ; [.1BF9.0020.0002.10E4] # GEORGIAN LETTER PHAR
+2D14  ; [.1BFA.0020.0002.2D14] # GEORGIAN SMALL LETTER PHAR
+10B4  ; [.1BFA.0020.0008.10B4] # GEORGIAN CAPITAL LETTER PHAR
+10E5  ; [.1BFB.0020.0002.10E5] # GEORGIAN LETTER KHAR
+2D15  ; [.1BFC.0020.0002.2D15] # GEORGIAN SMALL LETTER KHAR
+10B5  ; [.1BFC.0020.0008.10B5] # GEORGIAN CAPITAL LETTER KHAR
+10E6  ; [.1BFD.0020.0002.10E6] # GEORGIAN LETTER GHAN
+2D16  ; [.1BFE.0020.0002.2D16] # GEORGIAN SMALL LETTER GHAN
+10B6  ; [.1BFE.0020.0008.10B6] # GEORGIAN CAPITAL LETTER GHAN
+10E7  ; [.1BFF.0020.0002.10E7] # GEORGIAN LETTER QAR
+2D17  ; [.1C00.0020.0002.2D17] # GEORGIAN SMALL LETTER QAR
+10B7  ; [.1C00.0020.0008.10B7] # GEORGIAN CAPITAL LETTER QAR
+10E8  ; [.1C01.0020.0002.10E8] # GEORGIAN LETTER SHIN
+2D18  ; [.1C02.0020.0002.2D18] # GEORGIAN SMALL LETTER SHIN
+10B8  ; [.1C02.0020.0008.10B8] # GEORGIAN CAPITAL LETTER SHIN
+10E9  ; [.1C03.0020.0002.10E9] # GEORGIAN LETTER CHIN
+2D19  ; [.1C04.0020.0002.2D19] # GEORGIAN SMALL LETTER CHIN
+10B9  ; [.1C04.0020.0008.10B9] # GEORGIAN CAPITAL LETTER CHIN
+10EA  ; [.1C05.0020.0002.10EA] # GEORGIAN LETTER CAN
+2D1A  ; [.1C06.0020.0002.2D1A] # GEORGIAN SMALL LETTER CAN
+10BA  ; [.1C06.0020.0008.10BA] # GEORGIAN CAPITAL LETTER CAN
+10EB  ; [.1C07.0020.0002.10EB] # GEORGIAN LETTER JIL
+2D1B  ; [.1C08.0020.0002.2D1B] # GEORGIAN SMALL LETTER JIL
+10BB  ; [.1C08.0020.0008.10BB] # GEORGIAN CAPITAL LETTER JIL
+10EC  ; [.1C09.0020.0002.10EC] # GEORGIAN LETTER CIL
+2D1C  ; [.1C0A.0020.0002.2D1C] # GEORGIAN SMALL LETTER CIL
+10BC  ; [.1C0A.0020.0008.10BC] # GEORGIAN CAPITAL LETTER CIL
+10ED  ; [.1C0B.0020.0002.10ED] # GEORGIAN LETTER CHAR
+2D1D  ; [.1C0C.0020.0002.2D1D] # GEORGIAN SMALL LETTER CHAR
+10BD  ; [.1C0C.0020.0008.10BD] # GEORGIAN CAPITAL LETTER CHAR
+10EE  ; [.1C0D.0020.0002.10EE] # GEORGIAN LETTER XAN
+2D1E  ; [.1C0E.0020.0002.2D1E] # GEORGIAN SMALL LETTER XAN
+10BE  ; [.1C0E.0020.0008.10BE] # GEORGIAN CAPITAL LETTER XAN
+10F4  ; [.1C0F.0020.0002.10F4] # GEORGIAN LETTER HAR
+2D24  ; [.1C10.0020.0002.2D24] # GEORGIAN SMALL LETTER HAR
+10C4  ; [.1C10.0020.0008.10C4] # GEORGIAN CAPITAL LETTER HAR
+10EF  ; [.1C11.0020.0002.10EF] # GEORGIAN LETTER JHAN
+2D1F  ; [.1C12.0020.0002.2D1F] # GEORGIAN SMALL LETTER JHAN
+10BF  ; [.1C12.0020.0008.10BF] # GEORGIAN CAPITAL LETTER JHAN
+10F0  ; [.1C13.0020.0002.10F0] # GEORGIAN LETTER HAE
+2D20  ; [.1C14.0020.0002.2D20] # GEORGIAN SMALL LETTER HAE
+10C0  ; [.1C14.0020.0008.10C0] # GEORGIAN CAPITAL LETTER HAE
+10F5  ; [.1C15.0020.0002.10F5] # GEORGIAN LETTER HOE
+2D25  ; [.1C16.0020.0002.2D25] # GEORGIAN SMALL LETTER HOE
+10C5  ; [.1C16.0020.0008.10C5] # GEORGIAN CAPITAL LETTER HOE
+10F6  ; [.1C17.0020.0002.10F6] # GEORGIAN LETTER FI
+10F7  ; [.1C18.0020.0002.10F7] # GEORGIAN LETTER YN
+2D27  ; [.1C19.0020.0002.2D27] # GEORGIAN SMALL LETTER YN
+10C7  ; [.1C19.0020.0008.10C7] # GEORGIAN CAPITAL LETTER YN
+10F8  ; [.1C1A.0020.0002.10F8] # GEORGIAN LETTER ELIFI
+10F9  ; [.1C1B.0020.0002.10F9] # GEORGIAN LETTER TURNED GAN
+10FA  ; [.1C1C.0020.0002.10FA] # GEORGIAN LETTER AIN
+10FD  ; [.1C1D.0020.0002.10FD] # GEORGIAN LETTER AEN
+2D2D  ; [.1C1E.0020.0002.2D2D] # GEORGIAN SMALL LETTER AEN
+10CD  ; [.1C1E.0020.0008.10CD] # GEORGIAN CAPITAL LETTER AEN
+10FE  ; [.1C1F.0020.0002.10FE] # GEORGIAN LETTER HARD SIGN
+10FF  ; [.1C20.0020.0002.10FF] # GEORGIAN LETTER LABIAL SIGN
+0561  ; [.1C21.0020.0002.0561] # ARMENIAN SMALL LETTER AYB
+0531  ; [.1C21.0020.0008.0531] # ARMENIAN CAPITAL LETTER AYB
+0562  ; [.1C22.0020.0002.0562] # ARMENIAN SMALL LETTER BEN
+0532  ; [.1C22.0020.0008.0532] # ARMENIAN CAPITAL LETTER BEN
+0563  ; [.1C23.0020.0002.0563] # ARMENIAN SMALL LETTER GIM
+0533  ; [.1C23.0020.0008.0533] # ARMENIAN CAPITAL LETTER GIM
+0564  ; [.1C24.0020.0002.0564] # ARMENIAN SMALL LETTER DA
+0534  ; [.1C24.0020.0008.0534] # ARMENIAN CAPITAL LETTER DA
+0565  ; [.1C25.0020.0002.0565] # ARMENIAN SMALL LETTER ECH
+0535  ; [.1C25.0020.0008.0535] # ARMENIAN CAPITAL LETTER ECH
+0587  ; [.1C25.0020.0004.0587][.1C42.0020.0004.0587] # ARMENIAN SMALL LIGATURE ECH YIWN
+0566  ; [.1C26.0020.0002.0566] # ARMENIAN SMALL LETTER ZA
+0536  ; [.1C26.0020.0008.0536] # ARMENIAN CAPITAL LETTER ZA
+0567  ; [.1C27.0020.0002.0567] # ARMENIAN SMALL LETTER EH
+0537  ; [.1C27.0020.0008.0537] # ARMENIAN CAPITAL LETTER EH
+0568  ; [.1C28.0020.0002.0568] # ARMENIAN SMALL LETTER ET
+0538  ; [.1C28.0020.0008.0538] # ARMENIAN CAPITAL LETTER ET
+0569  ; [.1C29.0020.0002.0569] # ARMENIAN SMALL LETTER TO
+0539  ; [.1C29.0020.0008.0539] # ARMENIAN CAPITAL LETTER TO
+056A  ; [.1C2A.0020.0002.056A] # ARMENIAN SMALL LETTER ZHE
+053A  ; [.1C2A.0020.0008.053A] # ARMENIAN CAPITAL LETTER ZHE
+056B  ; [.1C2B.0020.0002.056B] # ARMENIAN SMALL LETTER INI
+053B  ; [.1C2B.0020.0008.053B] # ARMENIAN CAPITAL LETTER INI
+056C  ; [.1C2C.0020.0002.056C] # ARMENIAN SMALL LETTER LIWN
+053C  ; [.1C2C.0020.0008.053C] # ARMENIAN CAPITAL LETTER LIWN
+056D  ; [.1C2D.0020.0002.056D] # ARMENIAN SMALL LETTER XEH
+053D  ; [.1C2D.0020.0008.053D] # ARMENIAN CAPITAL LETTER XEH
+056E  ; [.1C2E.0020.0002.056E] # ARMENIAN SMALL LETTER CA
+053E  ; [.1C2E.0020.0008.053E] # ARMENIAN CAPITAL LETTER CA
+056F  ; [.1C2F.0020.0002.056F] # ARMENIAN SMALL LETTER KEN
+053F  ; [.1C2F.0020.0008.053F] # ARMENIAN CAPITAL LETTER KEN
+0570  ; [.1C30.0020.0002.0570] # ARMENIAN SMALL LETTER HO
+0540  ; [.1C30.0020.0008.0540] # ARMENIAN CAPITAL LETTER HO
+0571  ; [.1C31.0020.0002.0571] # ARMENIAN SMALL LETTER JA
+0541  ; [.1C31.0020.0008.0541] # ARMENIAN CAPITAL LETTER JA
+0572  ; [.1C32.0020.0002.0572] # ARMENIAN SMALL LETTER GHAD
+0542  ; [.1C32.0020.0008.0542] # ARMENIAN CAPITAL LETTER GHAD
+0573  ; [.1C33.0020.0002.0573] # ARMENIAN SMALL LETTER CHEH
+0543  ; [.1C33.0020.0008.0543] # ARMENIAN CAPITAL LETTER CHEH
+0574  ; [.1C34.0020.0002.0574] # ARMENIAN SMALL LETTER MEN
+0544  ; [.1C34.0020.0008.0544] # ARMENIAN CAPITAL LETTER MEN
+FB14  ; [.1C34.0020.0004.FB14][.1C25.0020.0004.FB14] # ARMENIAN SMALL LIGATURE MEN ECH
+FB15  ; [.1C34.0020.0004.FB15][.1C2B.0020.0004.FB15] # ARMENIAN SMALL LIGATURE MEN INI
+FB17  ; [.1C34.0020.0004.FB17][.1C2D.0020.0004.FB17] # ARMENIAN SMALL LIGATURE MEN XEH
+FB13  ; [.1C34.0020.0004.FB13][.1C36.0020.0004.FB13] # ARMENIAN SMALL LIGATURE MEN NOW
+0575  ; [.1C35.0020.0002.0575] # ARMENIAN SMALL LETTER YI
+0545  ; [.1C35.0020.0008.0545] # ARMENIAN CAPITAL LETTER YI
+0576  ; [.1C36.0020.0002.0576] # ARMENIAN SMALL LETTER NOW
+0546  ; [.1C36.0020.0008.0546] # ARMENIAN CAPITAL LETTER NOW
+0577  ; [.1C37.0020.0002.0577] # ARMENIAN SMALL LETTER SHA
+0547  ; [.1C37.0020.0008.0547] # ARMENIAN CAPITAL LETTER SHA
+0578  ; [.1C38.0020.0002.0578] # ARMENIAN SMALL LETTER VO
+0548  ; [.1C38.0020.0008.0548] # ARMENIAN CAPITAL LETTER VO
+0579  ; [.1C39.0020.0002.0579] # ARMENIAN SMALL LETTER CHA
+0549  ; [.1C39.0020.0008.0549] # ARMENIAN CAPITAL LETTER CHA
+057A  ; [.1C3A.0020.0002.057A] # ARMENIAN SMALL LETTER PEH
+054A  ; [.1C3A.0020.0008.054A] # ARMENIAN CAPITAL LETTER PEH
+057B  ; [.1C3B.0020.0002.057B] # ARMENIAN SMALL LETTER JHEH
+054B  ; [.1C3B.0020.0008.054B] # ARMENIAN CAPITAL LETTER JHEH
+057C  ; [.1C3C.0020.0002.057C] # ARMENIAN SMALL LETTER RA
+054C  ; [.1C3C.0020.0008.054C] # ARMENIAN CAPITAL LETTER RA
+057D  ; [.1C3D.0020.0002.057D] # ARMENIAN SMALL LETTER SEH
+054D  ; [.1C3D.0020.0008.054D] # ARMENIAN CAPITAL LETTER SEH
+057E  ; [.1C3E.0020.0002.057E] # ARMENIAN SMALL LETTER VEW
+054E  ; [.1C3E.0020.0008.054E] # ARMENIAN CAPITAL LETTER VEW
+FB16  ; [.1C3E.0020.0004.FB16][.1C36.0020.0004.FB16] # ARMENIAN SMALL LIGATURE VEW NOW
+057F  ; [.1C3F.0020.0002.057F] # ARMENIAN SMALL LETTER TIWN
+054F  ; [.1C3F.0020.0008.054F] # ARMENIAN CAPITAL LETTER TIWN
+0580  ; [.1C40.0020.0002.0580] # ARMENIAN SMALL LETTER REH
+0550  ; [.1C40.0020.0008.0550] # ARMENIAN CAPITAL LETTER REH
+0581  ; [.1C41.0020.0002.0581] # ARMENIAN SMALL LETTER CO
+0551  ; [.1C41.0020.0008.0551] # ARMENIAN CAPITAL LETTER CO
+0582  ; [.1C42.0020.0002.0582] # ARMENIAN SMALL LETTER YIWN
+0552  ; [.1C42.0020.0008.0552] # ARMENIAN CAPITAL LETTER YIWN
+0583  ; [.1C43.0020.0002.0583] # ARMENIAN SMALL LETTER PIWR
+0553  ; [.1C43.0020.0008.0553] # ARMENIAN CAPITAL LETTER PIWR
+0584  ; [.1C44.0020.0002.0584] # ARMENIAN SMALL LETTER KEH
+0554  ; [.1C44.0020.0008.0554] # ARMENIAN CAPITAL LETTER KEH
+0585  ; [.1C45.0020.0002.0585] # ARMENIAN SMALL LETTER OH
+0555  ; [.1C45.0020.0008.0555] # ARMENIAN CAPITAL LETTER OH
+0586  ; [.1C46.0020.0002.0586] # ARMENIAN SMALL LETTER FEH
+0556  ; [.1C46.0020.0008.0556] # ARMENIAN CAPITAL LETTER FEH
+0559  ; [.1C47.0020.0002.0559] # ARMENIAN MODIFIER LETTER LEFT HALF RING
+05D0  ; [.1C48.0020.0002.05D0] # HEBREW LETTER ALEF
+2135  ; [.1C48.0020.0004.2135] # ALEF SYMBOL
+FB21  ; [.1C48.0020.0005.FB21] # HEBREW LETTER WIDE ALEF
+FB2E  ; [.1C48.0020.0002.05D0][.0000.008C.0002.05B7] # HEBREW LETTER ALEF WITH PATAH
+FB2F  ; [.1C48.0020.0002.05D0][.0000.008D.0002.05B8] # HEBREW LETTER ALEF WITH QAMATS
+FB30  ; [.1C48.0020.0002.05D0][.0000.0092.0002.05BC] # HEBREW LETTER ALEF WITH MAPIQ
+FB4F  ; [.1C48.0020.0004.FB4F][.1C53.0020.0004.FB4F] # HEBREW LIGATURE ALEF LAMED
+05D1  ; [.1C49.0020.0002.05D1] # HEBREW LETTER BET
+2136  ; [.1C49.0020.0004.2136] # BET SYMBOL
+FB31  ; [.1C49.0020.0002.05D1][.0000.0092.0002.05BC] # HEBREW LETTER BET WITH DAGESH
+FB4C  ; [.1C49.0020.0002.05D1][.0000.0095.0002.05BF] # HEBREW LETTER BET WITH RAFE
+05D2  ; [.1C4A.0020.0002.05D2] # HEBREW LETTER GIMEL
+2137  ; [.1C4A.0020.0004.2137] # GIMEL SYMBOL
+FB32  ; [.1C4A.0020.0002.05D2][.0000.0092.0002.05BC] # HEBREW LETTER GIMEL WITH DAGESH
+05D3  ; [.1C4B.0020.0002.05D3] # HEBREW LETTER DALET
+2138  ; [.1C4B.0020.0004.2138] # DALET SYMBOL
+FB22  ; [.1C4B.0020.0005.FB22] # HEBREW LETTER WIDE DALET
+FB33  ; [.1C4B.0020.0002.05D3][.0000.0092.0002.05BC] # HEBREW LETTER DALET WITH DAGESH
+05D4  ; [.1C4C.0020.0002.05D4] # HEBREW LETTER HE
+FB23  ; [.1C4C.0020.0005.FB23] # HEBREW LETTER WIDE HE
+FB34  ; [.1C4C.0020.0002.05D4][.0000.0092.0002.05BC] # HEBREW LETTER HE WITH MAPIQ
+05D5  ; [.1C4D.0020.0002.05D5] # HEBREW LETTER VAV
+FB4B  ; [.1C4D.0020.0002.05D5][.0000.008E.0002.05B9] # HEBREW LETTER VAV WITH HOLAM
+FB35  ; [.1C4D.0020.0002.05D5][.0000.0092.0002.05BC] # HEBREW LETTER VAV WITH DAGESH
+05F0  ; [.1C4D.0020.0004.05F0][.1C4D.0020.0004.05F0] # HEBREW LIGATURE YIDDISH DOUBLE VAV
+05F1  ; [.1C4D.0020.0004.05F1][.1C51.0020.0004.05F1] # HEBREW LIGATURE YIDDISH VAV YOD
+05D6  ; [.1C4E.0020.0002.05D6] # HEBREW LETTER ZAYIN
+FB36  ; [.1C4E.0020.0002.05D6][.0000.0092.0002.05BC] # HEBREW LETTER ZAYIN WITH DAGESH
+05D7  ; [.1C4F.0020.0002.05D7] # HEBREW LETTER HET
+05D8  ; [.1C50.0020.0002.05D8] # HEBREW LETTER TET
+FB38  ; [.1C50.0020.0002.05D8][.0000.0092.0002.05BC] # HEBREW LETTER TET WITH DAGESH
+05D9  ; [.1C51.0020.0002.05D9] # HEBREW LETTER YOD
+FB1D  ; [.1C51.0020.0002.05D9][.0000.0089.0002.05B4] # HEBREW LETTER YOD WITH HIRIQ
+FB39  ; [.1C51.0020.0002.05D9][.0000.0092.0002.05BC] # HEBREW LETTER YOD WITH DAGESH
+05F2  ; [.1C51.0020.0004.05F2][.1C51.0020.0004.05F2] # HEBREW LIGATURE YIDDISH DOUBLE YOD
+FB1F  ; [.1C51.0020.0004.FB1F][.1C51.0020.0004.FB1F][.0000.008C.0002.FB1F] # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+05DB  ; [.1C52.0020.0002.05DB] # HEBREW LETTER KAF
+FB24  ; [.1C52.0020.0005.FB24] # HEBREW LETTER WIDE KAF
+05DA  ; [.1C52.0020.0019.05DA] # HEBREW LETTER FINAL KAF
+FB3B  ; [.1C52.0020.0002.05DB][.0000.0092.0002.05BC] # HEBREW LETTER KAF WITH DAGESH
+FB3A  ; [.1C52.0020.0019.FB3A][.0000.0092.0002.FB3A] # HEBREW LETTER FINAL KAF WITH DAGESH
+FB4D  ; [.1C52.0020.0002.05DB][.0000.0095.0002.05BF] # HEBREW LETTER KAF WITH RAFE
+05DC  ; [.1C53.0020.0002.05DC] # HEBREW LETTER LAMED
+FB25  ; [.1C53.0020.0005.FB25] # HEBREW LETTER WIDE LAMED
+FB3C  ; [.1C53.0020.0002.05DC][.0000.0092.0002.05BC] # HEBREW LETTER LAMED WITH DAGESH
+05DE  ; [.1C54.0020.0002.05DE] # HEBREW LETTER MEM
+FB26  ; [.1C54.0020.0005.FB26] # HEBREW LETTER WIDE FINAL MEM
+05DD  ; [.1C54.0020.0019.05DD] # HEBREW LETTER FINAL MEM
+FB3E  ; [.1C54.0020.0002.05DE][.0000.0092.0002.05BC] # HEBREW LETTER MEM WITH DAGESH
+05E0  ; [.1C55.0020.0002.05E0] # HEBREW LETTER NUN
+05DF  ; [.1C55.0020.0019.05DF] # HEBREW LETTER FINAL NUN
+FB40  ; [.1C55.0020.0002.05E0][.0000.0092.0002.05BC] # HEBREW LETTER NUN WITH DAGESH
+05E1  ; [.1C56.0020.0002.05E1] # HEBREW LETTER SAMEKH
+FB41  ; [.1C56.0020.0002.05E1][.0000.0092.0002.05BC] # HEBREW LETTER SAMEKH WITH DAGESH
+05E2  ; [.1C57.0020.0002.05E2] # HEBREW LETTER AYIN
+FB20  ; [.1C57.0020.0005.FB20] # HEBREW LETTER ALTERNATIVE AYIN
+05E4  ; [.1C58.0020.0002.05E4] # HEBREW LETTER PE
+05E3  ; [.1C58.0020.0019.05E3] # HEBREW LETTER FINAL PE
+FB44  ; [.1C58.0020.0002.05E4][.0000.0092.0002.05BC] # HEBREW LETTER PE WITH DAGESH
+FB43  ; [.1C58.0020.0019.FB43][.0000.0092.0002.FB43] # HEBREW LETTER FINAL PE WITH DAGESH
+FB4E  ; [.1C58.0020.0002.05E4][.0000.0095.0002.05BF] # HEBREW LETTER PE WITH RAFE
+05E6  ; [.1C59.0020.0002.05E6] # HEBREW LETTER TSADI
+05E5  ; [.1C59.0020.0019.05E5] # HEBREW LETTER FINAL TSADI
+FB46  ; [.1C59.0020.0002.05E6][.0000.0092.0002.05BC] # HEBREW LETTER TSADI WITH DAGESH
+05E7  ; [.1C5A.0020.0002.05E7] # HEBREW LETTER QOF
+FB47  ; [.1C5A.0020.0002.05E7][.0000.0092.0002.05BC] # HEBREW LETTER QOF WITH DAGESH
+05E8  ; [.1C5B.0020.0002.05E8] # HEBREW LETTER RESH
+FB27  ; [.1C5B.0020.0005.FB27] # HEBREW LETTER WIDE RESH
+FB48  ; [.1C5B.0020.0002.05E8][.0000.0092.0002.05BC] # HEBREW LETTER RESH WITH DAGESH
+05E9  ; [.1C5C.0020.0002.05E9] # HEBREW LETTER SHIN
+FB2B  ; [.1C5C.0020.0002.05E9][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH SIN DOT
+FB2A  ; [.1C5C.0020.0002.05E9][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH SHIN DOT
+FB49  ; [.1C5C.0020.0002.05E9][.0000.0092.0002.05BC] # HEBREW LETTER SHIN WITH DAGESH
+FB2D  ; [.1C5C.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0090.0002.05C2] # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+FB2C  ; [.1C5C.0020.0002.05E9][.0000.0092.0002.05BC][.0000.0091.0002.05C1] # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+05EA  ; [.1C5D.0020.0002.05EA] # HEBREW LETTER TAV
+FB28  ; [.1C5D.0020.0005.FB28] # HEBREW LETTER WIDE TAV
+FB4A  ; [.1C5D.0020.0002.05EA][.0000.0092.0002.05BC] # HEBREW LETTER TAV WITH DAGESH
+10900 ; [.1C5E.0020.0002.10900] # PHOENICIAN LETTER ALF
+10901 ; [.1C5F.0020.0002.10901] # PHOENICIAN LETTER BET
+10902 ; [.1C60.0020.0002.10902] # PHOENICIAN LETTER GAML
+10903 ; [.1C61.0020.0002.10903] # PHOENICIAN LETTER DELT
+10904 ; [.1C62.0020.0002.10904] # PHOENICIAN LETTER HE
+10905 ; [.1C63.0020.0002.10905] # PHOENICIAN LETTER WAU
+10906 ; [.1C64.0020.0002.10906] # PHOENICIAN LETTER ZAI
+10907 ; [.1C65.0020.0002.10907] # PHOENICIAN LETTER HET
+10908 ; [.1C66.0020.0002.10908] # PHOENICIAN LETTER TET
+10909 ; [.1C67.0020.0002.10909] # PHOENICIAN LETTER YOD
+1090A ; [.1C68.0020.0002.1090A] # PHOENICIAN LETTER KAF
+1090B ; [.1C69.0020.0002.1090B] # PHOENICIAN LETTER LAMD
+1090C ; [.1C6A.0020.0002.1090C] # PHOENICIAN LETTER MEM
+1090D ; [.1C6B.0020.0002.1090D] # PHOENICIAN LETTER NUN
+1090E ; [.1C6C.0020.0002.1090E] # PHOENICIAN LETTER SEMK
+1090F ; [.1C6D.0020.0002.1090F] # PHOENICIAN LETTER AIN
+10910 ; [.1C6E.0020.0002.10910] # PHOENICIAN LETTER PE
+10911 ; [.1C6F.0020.0002.10911] # PHOENICIAN LETTER SADE
+10912 ; [.1C70.0020.0002.10912] # PHOENICIAN LETTER QOF
+10913 ; [.1C71.0020.0002.10913] # PHOENICIAN LETTER ROSH
+10914 ; [.1C72.0020.0002.10914] # PHOENICIAN LETTER SHIN
+10915 ; [.1C73.0020.0002.10915] # PHOENICIAN LETTER TAU
+0800  ; [.1C74.0020.0002.0800] # SAMARITAN LETTER ALAF
+0801  ; [.1C75.0020.0002.0801] # SAMARITAN LETTER BIT
+0802  ; [.1C76.0020.0002.0802] # SAMARITAN LETTER GAMAN
+0803  ; [.1C77.0020.0002.0803] # SAMARITAN LETTER DALAT
+0804  ; [.1C78.0020.0002.0804] # SAMARITAN LETTER IY
+0805  ; [.1C79.0020.0002.0805] # SAMARITAN LETTER BAA
+0806  ; [.1C7A.0020.0002.0806] # SAMARITAN LETTER ZEN
+0807  ; [.1C7B.0020.0002.0807] # SAMARITAN LETTER IT
+0808  ; [.1C7C.0020.0002.0808] # SAMARITAN LETTER TIT
+0809  ; [.1C7D.0020.0002.0809] # SAMARITAN LETTER YUT
+080A  ; [.1C7E.0020.0002.080A] # SAMARITAN LETTER KAAF
+080B  ; [.1C7F.0020.0002.080B] # SAMARITAN LETTER LABAT
+080C  ; [.1C80.0020.0002.080C] # SAMARITAN LETTER MIM
+080D  ; [.1C81.0020.0002.080D] # SAMARITAN LETTER NUN
+080E  ; [.1C82.0020.0002.080E] # SAMARITAN LETTER SINGAAT
+080F  ; [.1C83.0020.0002.080F] # SAMARITAN LETTER IN
+0810  ; [.1C84.0020.0002.0810] # SAMARITAN LETTER FI
+0811  ; [.1C85.0020.0002.0811] # SAMARITAN LETTER TSAADIY
+0812  ; [.1C86.0020.0002.0812] # SAMARITAN LETTER QUF
+0813  ; [.1C87.0020.0002.0813] # SAMARITAN LETTER RISH
+0814  ; [.1C88.0020.0002.0814] # SAMARITAN LETTER SHAN
+0815  ; [.1C89.0020.0002.0815] # SAMARITAN LETTER TAAF
+0816  ; [.1C8A.0020.0002.0816] # SAMARITAN MARK IN
+0817  ; [.1C8B.0020.0002.0817] # SAMARITAN MARK IN-ALAF
+081A  ; [.1C8C.0020.0002.081A] # SAMARITAN MODIFIER LETTER EPENTHETIC YUT
+081B  ; [.1C8D.0020.0002.081B] # SAMARITAN MARK EPENTHETIC YUT
+0621  ; [.1C8E.0020.0002.0621] # ARABIC LETTER HAMZA
+0674  ; [.1C8E.0020.0004.0674] # ARABIC LETTER HIGH HAMZA
+FE80  ; [.1C8E.0020.001A.FE80] # ARABIC LETTER HAMZA ISOLATED FORM
+06FD  ; [.1C8E.0020.0004.06FD][.0000.013A.0004.06FD] # ARABIC SIGN SINDHI AMPERSAND
+0622  ; [.1C8F.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
+0627 0653 ; [.1C8F.0020.0002.0622] # ARABIC LETTER ALEF WITH MADDA ABOVE
+FE82  ; [.1C8F.0020.0019.FE82] # ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+FE81  ; [.1C8F.0020.001A.FE81] # ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+0623  ; [.1C90.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+0627 0654 ; [.1C90.0020.0002.0623] # ARABIC LETTER ALEF WITH HAMZA ABOVE
+FE84  ; [.1C90.0020.0019.FE84] # ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+FE83  ; [.1C90.0020.001A.FE83] # ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+0672  ; [.1C91.0020.0002.0672] # ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
+0671  ; [.1C92.0020.0002.0671] # ARABIC LETTER ALEF WASLA
+FB51  ; [.1C92.0020.0019.FB51] # ARABIC LETTER ALEF WASLA FINAL FORM
+FB50  ; [.1C92.0020.001A.FB50] # ARABIC LETTER ALEF WASLA ISOLATED FORM
+0624  ; [.1C93.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
+0648 0654 ; [.1C93.0020.0002.0624] # ARABIC LETTER WAW WITH HAMZA ABOVE
+FE86  ; [.1C93.0020.0019.FE86] # ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
+FE85  ; [.1C93.0020.001A.FE85] # ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+0625  ; [.1C94.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
+0627 0655 ; [.1C94.0020.0002.0625] # ARABIC LETTER ALEF WITH HAMZA BELOW
+FE88  ; [.1C94.0020.0019.FE88] # ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
+FE87  ; [.1C94.0020.001A.FE87] # ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
+0673  ; [.1C95.0020.0002.0673] # ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
+0773  ; [.1C96.0020.0002.0773] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0774  ; [.1C97.0020.0002.0774] # ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0626  ; [.1C98.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
+064A 0654 ; [.1C98.0020.0002.0626] # ARABIC LETTER YEH WITH HAMZA ABOVE
+FE8B  ; [.1C98.0020.0017.FE8B] # ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+FE8C  ; [.1C98.0020.0018.FE8C] # ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
+FE8A  ; [.1C98.0020.0019.FE8A] # ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+FE89  ; [.1C98.0020.001A.FE89] # ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+FBEB  ; [.1C98.0020.0019.FBEB][.1C9C.0020.0019.FBEB] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM
+FBEA  ; [.1C98.0020.001A.FBEA][.1C9C.0020.001A.FBEA] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM
+FC97  ; [.1C98.0020.0017.FC97][.1CB2.0020.0017.FC97] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM
+FC00  ; [.1C98.0020.001A.FC00][.1CB2.0020.001A.FC00] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM
+FC98  ; [.1C98.0020.0017.FC98][.1CB9.0020.0017.FC98] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM
+FC01  ; [.1C98.0020.001A.FC01][.1CB9.0020.001A.FC01] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM
+FC99  ; [.1C98.0020.0017.FC99][.1CBA.0020.0017.FC99] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM
+FC64  ; [.1C98.0020.0019.FC64][.1CD2.0020.0019.FC64] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM
+FC65  ; [.1C98.0020.0019.FC65][.1CD3.0020.0019.FC65] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM
+FC9A  ; [.1C98.0020.0017.FC9A][.1D27.0020.0017.FC9A] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM
+FCDF  ; [.1C98.0020.0018.FCDF][.1D27.0020.0018.FCDF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM
+FC66  ; [.1C98.0020.0019.FC66][.1D27.0020.0019.FC66] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM
+FC02  ; [.1C98.0020.001A.FC02][.1D27.0020.001A.FC02] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM
+FC67  ; [.1C98.0020.0019.FC67][.1D2B.0020.0019.FC67] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM
+FC9B  ; [.1C98.0020.0017.FC9B][.1D34.0020.0017.FC9B] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM
+FCE0  ; [.1C98.0020.0018.FCE0][.1D34.0020.0018.FCE0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM
+FBED  ; [.1C98.0020.0019.FBED][.1D39.0020.0019.FBED] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM
+FBEC  ; [.1C98.0020.001A.FBEC][.1D39.0020.001A.FBEC] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM
+FBEF  ; [.1C98.0020.0019.FBEF][.1D3A.0020.0019.FBEF] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM
+FBEE  ; [.1C98.0020.001A.FBEE][.1D3A.0020.001A.FBEE] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM
+FBF3  ; [.1C98.0020.0019.FBF3][.1D3D.0020.0019.FBF3] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM
+FBF2  ; [.1C98.0020.001A.FBF2][.1D3D.0020.001A.FBF2] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM
+FBF1  ; [.1C98.0020.0019.FBF1][.1D3E.0020.0019.FBF1] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM
+FBF0  ; [.1C98.0020.001A.FBF0][.1D3E.0020.001A.FBF0] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM
+FBF5  ; [.1C98.0020.0019.FBF5][.1D3F.0020.0019.FBF5] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM
+FBF4  ; [.1C98.0020.001A.FBF4][.1D3F.0020.001A.FBF4] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM
+FBFB  ; [.1C98.0020.0017.FBFB][.1D47.0020.0017.FBFB] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM
+FBFA  ; [.1C98.0020.0019.FBFA][.1D47.0020.0019.FBFA] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FC68  ; [.1C98.0020.0019.FC68][.1D47.0020.0019.FC68] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM
+FBF9  ; [.1C98.0020.001A.FBF9][.1D47.0020.001A.FBF9] # ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FC03  ; [.1C98.0020.001A.FC03][.1D47.0020.001A.FC03] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM
+FC69  ; [.1C98.0020.0019.FC69][.1D48.0020.0019.FC69] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM
+FC04  ; [.1C98.0020.001A.FC04][.1D48.0020.001A.FC04] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM
+FBF8  ; [.1C98.0020.0017.FBF8][.1D4C.0020.0017.FBF8] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM
+FBF7  ; [.1C98.0020.0019.FBF7][.1D4C.0020.0019.FBF7] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM
+FBF6  ; [.1C98.0020.001A.FBF6][.1D4C.0020.001A.FBF6] # ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM
+08A8  ; [.1C99.0020.0002.08A8] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
+08A9  ; [.1C9A.0020.0002.08A9] # ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+08AC  ; [.1C9B.0020.0002.08AC] # ARABIC LETTER ROHINGYA YEH
+0627  ; [.1C9C.0020.0002.0627] # ARABIC LETTER ALEF
+1EE00 ; [.1C9C.0020.0005.1EE00] # ARABIC MATHEMATICAL ALEF
+1EE80 ; [.1C9C.0020.0005.1EE80] # ARABIC MATHEMATICAL LOOPED ALEF
+FE8E  ; [.1C9C.0020.0019.FE8E] # ARABIC LETTER ALEF FINAL FORM
+FE8D  ; [.1C9C.0020.001A.FE8D] # ARABIC LETTER ALEF ISOLATED FORM
+FD3C  ; [.1C9C.0020.0019.FD3C][.0000.00A2.0019.FD3C] # ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM
+FD3D  ; [.1C9C.0020.001A.FD3D][.0000.00A2.001A.FD3D] # ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
+0675  ; [.1C9C.0020.0004.0675][.1C8E.0020.0004.0675] # ARABIC LETTER HIGH HAMZA ALEF
+FDF3  ; [.1C9C.0020.001A.FDF3][.1D0D.0020.001A.FDF3][.1C9E.0020.001A.FDF3][.1CD2.0020.001A.FDF3] # ARABIC LIGATURE AKBAR ISOLATED FORM
+FDF2  ; [.1C9C.0020.001A.FDF2][.1D20.0020.001A.FDF2][.1D20.0020.001A.FDF2][.1D34.0020.001A.FDF2] # ARABIC LIGATURE ALLAH ISOLATED FORM
+066E  ; [.1C9D.0020.0002.066E] # ARABIC LETTER DOTLESS BEH
+1EE1C ; [.1C9D.0020.0005.1EE1C] # ARABIC MATHEMATICAL DOTLESS BEH
+1EE7C ; [.1C9D.0020.0005.1EE7C] # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+0628  ; [.1C9E.0020.0002.0628] # ARABIC LETTER BEH
+1EE01 ; [.1C9E.0020.0005.1EE01] # ARABIC MATHEMATICAL BEH
+1EE21 ; [.1C9E.0020.0005.1EE21] # ARABIC MATHEMATICAL INITIAL BEH
+1EE61 ; [.1C9E.0020.0005.1EE61] # ARABIC MATHEMATICAL STRETCHED BEH
+1EE81 ; [.1C9E.0020.0005.1EE81] # ARABIC MATHEMATICAL LOOPED BEH
+1EEA1 ; [.1C9E.0020.0005.1EEA1] # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+FE91  ; [.1C9E.0020.0017.FE91] # ARABIC LETTER BEH INITIAL FORM
+FE92  ; [.1C9E.0020.0018.FE92] # ARABIC LETTER BEH MEDIAL FORM
+FE90  ; [.1C9E.0020.0019.FE90] # ARABIC LETTER BEH FINAL FORM
+FE8F  ; [.1C9E.0020.001A.FE8F] # ARABIC LETTER BEH ISOLATED FORM
+FC9C  ; [.1C9E.0020.0017.FC9C][.1CB2.0020.0017.FC9C] # ARABIC LIGATURE BEH WITH JEEM INITIAL FORM
+FC05  ; [.1C9E.0020.001A.FC05][.1CB2.0020.001A.FC05] # ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM
+FC9D  ; [.1C9E.0020.0017.FC9D][.1CB9.0020.0017.FC9D] # ARABIC LIGATURE BEH WITH HAH INITIAL FORM
+FC06  ; [.1C9E.0020.001A.FC06][.1CB9.0020.001A.FC06] # ARABIC LIGATURE BEH WITH HAH ISOLATED FORM
+FDC2  ; [.1C9E.0020.0019.FDC2][.1CB9.0020.0019.FDC2][.1D48.0020.0019.FDC2] # ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM
+FC9E  ; [.1C9E.0020.0017.FC9E][.1CBA.0020.0017.FC9E] # ARABIC LIGATURE BEH WITH KHAH INITIAL FORM
+FC07  ; [.1C9E.0020.001A.FC07][.1CBA.0020.001A.FC07] # ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM
+FD9E  ; [.1C9E.0020.0019.FD9E][.1CBA.0020.0019.FD9E][.1D48.0020.0019.FD9E] # ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM
+FC6A  ; [.1C9E.0020.0019.FC6A][.1CD2.0020.0019.FC6A] # ARABIC LIGATURE BEH WITH REH FINAL FORM
+FC6B  ; [.1C9E.0020.0019.FC6B][.1CD3.0020.0019.FC6B] # ARABIC LIGATURE BEH WITH ZAIN FINAL FORM
+FC9F  ; [.1C9E.0020.0017.FC9F][.1D27.0020.0017.FC9F] # ARABIC LIGATURE BEH WITH MEEM INITIAL FORM
+FCE1  ; [.1C9E.0020.0018.FCE1][.1D27.0020.0018.FCE1] # ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM
+FC6C  ; [.1C9E.0020.0019.FC6C][.1D27.0020.0019.FC6C] # ARABIC LIGATURE BEH WITH MEEM FINAL FORM
+FC08  ; [.1C9E.0020.001A.FC08][.1D27.0020.001A.FC08] # ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM
+FC6D  ; [.1C9E.0020.0019.FC6D][.1D2B.0020.0019.FC6D] # ARABIC LIGATURE BEH WITH NOON FINAL FORM
+FCA0  ; [.1C9E.0020.0017.FCA0][.1D34.0020.0017.FCA0] # ARABIC LIGATURE BEH WITH HEH INITIAL FORM
+FCE2  ; [.1C9E.0020.0018.FCE2][.1D34.0020.0018.FCE2] # ARABIC LIGATURE BEH WITH HEH MEDIAL FORM
+FC6E  ; [.1C9E.0020.0019.FC6E][.1D47.0020.0019.FC6E] # ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM
+FC09  ; [.1C9E.0020.001A.FC09][.1D47.0020.001A.FC09] # ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM
+FC6F  ; [.1C9E.0020.0019.FC6F][.1D48.0020.0019.FC6F] # ARABIC LIGATURE BEH WITH YEH FINAL FORM
+FC0A  ; [.1C9E.0020.001A.FC0A][.1D48.0020.001A.FC0A] # ARABIC LIGATURE BEH WITH YEH ISOLATED FORM
+067B  ; [.1C9F.0020.0002.067B] # ARABIC LETTER BEEH
+FB54  ; [.1C9F.0020.0017.FB54] # ARABIC LETTER BEEH INITIAL FORM
+FB55  ; [.1C9F.0020.0018.FB55] # ARABIC LETTER BEEH MEDIAL FORM
+FB53  ; [.1C9F.0020.0019.FB53] # ARABIC LETTER BEEH FINAL FORM
+FB52  ; [.1C9F.0020.001A.FB52] # ARABIC LETTER BEEH ISOLATED FORM
+067E  ; [.1CA0.0020.0002.067E] # ARABIC LETTER PEH
+FB58  ; [.1CA0.0020.0017.FB58] # ARABIC LETTER PEH INITIAL FORM
+FB59  ; [.1CA0.0020.0018.FB59] # ARABIC LETTER PEH MEDIAL FORM
+FB57  ; [.1CA0.0020.0019.FB57] # ARABIC LETTER PEH FINAL FORM
+FB56  ; [.1CA0.0020.001A.FB56] # ARABIC LETTER PEH ISOLATED FORM
+0680  ; [.1CA1.0020.0002.0680] # ARABIC LETTER BEHEH
+FB5C  ; [.1CA1.0020.0017.FB5C] # ARABIC LETTER BEHEH INITIAL FORM
+FB5D  ; [.1CA1.0020.0018.FB5D] # ARABIC LETTER BEHEH MEDIAL FORM
+FB5B  ; [.1CA1.0020.0019.FB5B] # ARABIC LETTER BEHEH FINAL FORM
+FB5A  ; [.1CA1.0020.001A.FB5A] # ARABIC LETTER BEHEH ISOLATED FORM
+0750  ; [.1CA2.0020.0002.0750] # ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW
+0751  ; [.1CA3.0020.0002.0751] # ARABIC LETTER BEH WITH DOT BELOW AND THREE DOTS ABOVE
+0752  ; [.1CA4.0020.0002.0752] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW
+0753  ; [.1CA5.0020.0002.0753] # ARABIC LETTER BEH WITH THREE DOTS POINTING UPWARDS BELOW AND TWO DOTS ABOVE
+0754  ; [.1CA6.0020.0002.0754] # ARABIC LETTER BEH WITH TWO DOTS BELOW AND DOT ABOVE
+0755  ; [.1CA7.0020.0002.0755] # ARABIC LETTER BEH WITH INVERTED SMALL V BELOW
+08A0  ; [.1CA8.0020.0002.08A0] # ARABIC LETTER BEH WITH SMALL V BELOW
+0756  ; [.1CA9.0020.0002.0756] # ARABIC LETTER BEH WITH SMALL V
+0629  ; [.1CAA.0020.0002.0629] # ARABIC LETTER TEH MARBUTA
+FE94  ; [.1CAA.0020.0019.FE94] # ARABIC LETTER TEH MARBUTA FINAL FORM
+FE93  ; [.1CAA.0020.001A.FE93] # ARABIC LETTER TEH MARBUTA ISOLATED FORM
+062A  ; [.1CAB.0020.0002.062A] # ARABIC LETTER TEH
+1EE15 ; [.1CAB.0020.0005.1EE15] # ARABIC MATHEMATICAL TEH
+1EE35 ; [.1CAB.0020.0005.1EE35] # ARABIC MATHEMATICAL INITIAL TEH
+1EE75 ; [.1CAB.0020.0005.1EE75] # ARABIC MATHEMATICAL STRETCHED TEH
+1EE95 ; [.1CAB.0020.0005.1EE95] # ARABIC MATHEMATICAL LOOPED TEH
+1EEB5 ; [.1CAB.0020.0005.1EEB5] # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+FE97  ; [.1CAB.0020.0017.FE97] # ARABIC LETTER TEH INITIAL FORM
+FE98  ; [.1CAB.0020.0018.FE98] # ARABIC LETTER TEH MEDIAL FORM
+FE96  ; [.1CAB.0020.0019.FE96] # ARABIC LETTER TEH FINAL FORM
+FE95  ; [.1CAB.0020.001A.FE95] # ARABIC LETTER TEH ISOLATED FORM
+FCA1  ; [.1CAB.0020.0017.FCA1][.1CB2.0020.0017.FCA1] # ARABIC LIGATURE TEH WITH JEEM INITIAL FORM
+FC0B  ; [.1CAB.0020.001A.FC0B][.1CB2.0020.001A.FC0B] # ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM
+FD50  ; [.1CAB.0020.0017.FD50][.1CB2.0020.0017.FD50][.1D27.0020.0017.FD50] # ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM
+FDA0  ; [.1CAB.0020.0019.FDA0][.1CB2.0020.0019.FDA0][.1D47.0020.0019.FDA0] # ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FD9F  ; [.1CAB.0020.0019.FD9F][.1CB2.0020.0019.FD9F][.1D48.0020.0019.FD9F] # ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM
+FCA2  ; [.1CAB.0020.0017.FCA2][.1CB9.0020.0017.FCA2] # ARABIC LIGATURE TEH WITH HAH INITIAL FORM
+FC0C  ; [.1CAB.0020.001A.FC0C][.1CB9.0020.001A.FC0C] # ARABIC LIGATURE TEH WITH HAH ISOLATED FORM
+FD52  ; [.1CAB.0020.0017.FD52][.1CB9.0020.0017.FD52][.1CB2.0020.0017.FD52] # ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM
+FD51  ; [.1CAB.0020.0019.FD51][.1CB9.0020.0019.FD51][.1CB2.0020.0019.FD51] # ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM
+FD53  ; [.1CAB.0020.0017.FD53][.1CB9.0020.0017.FD53][.1D27.0020.0017.FD53] # ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM
+FCA3  ; [.1CAB.0020.0017.FCA3][.1CBA.0020.0017.FCA3] # ARABIC LIGATURE TEH WITH KHAH INITIAL FORM
+FC0D  ; [.1CAB.0020.001A.FC0D][.1CBA.0020.001A.FC0D] # ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM
+FD54  ; [.1CAB.0020.0017.FD54][.1CBA.0020.0017.FD54][.1D27.0020.0017.FD54] # ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM
+FDA2  ; [.1CAB.0020.0019.FDA2][.1CBA.0020.0019.FDA2][.1D47.0020.0019.FDA2] # ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM
+FDA1  ; [.1CAB.0020.0019.FDA1][.1CBA.0020.0019.FDA1][.1D48.0020.0019.FDA1] # ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM
+FC70  ; [.1CAB.0020.0019.FC70][.1CD2.0020.0019.FC70] # ARABIC LIGATURE TEH WITH REH FINAL FORM
+FC71  ; [.1CAB.0020.0019.FC71][.1CD3.0020.0019.FC71] # ARABIC LIGATURE TEH WITH ZAIN FINAL FORM
+FCA4  ; [.1CAB.0020.0017.FCA4][.1D27.0020.0017.FCA4] # ARABIC LIGATURE TEH WITH MEEM INITIAL FORM
+FCE3  ; [.1CAB.0020.0018.FCE3][.1D27.0020.0018.FCE3] # ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM
+FC72  ; [.1CAB.0020.0019.FC72][.1D27.0020.0019.FC72] # ARABIC LIGATURE TEH WITH MEEM FINAL FORM
+FC0E  ; [.1CAB.0020.001A.FC0E][.1D27.0020.001A.FC0E] # ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM
+FD55  ; [.1CAB.0020.0017.FD55][.1D27.0020.0017.FD55][.1CB2.0020.0017.FD55] # ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM
+FD56  ; [.1CAB.0020.0017.FD56][.1D27.0020.0017.FD56][.1CB9.0020.0017.FD56] # ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM
+FD57  ; [.1CAB.0020.0017.FD57][.1D27.0020.0017.FD57][.1CBA.0020.0017.FD57] # ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM
+FDA4  ; [.1CAB.0020.0019.FDA4][.1D27.0020.0019.FDA4][.1D47.0020.0019.FDA4] # ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDA3  ; [.1CAB.0020.0019.FDA3][.1D27.0020.0019.FDA3][.1D48.0020.0019.FDA3] # ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM
+FC73  ; [.1CAB.0020.0019.FC73][.1D2B.0020.0019.FC73] # ARABIC LIGATURE TEH WITH NOON FINAL FORM
+FCA5  ; [.1CAB.0020.0017.FCA5][.1D34.0020.0017.FCA5] # ARABIC LIGATURE TEH WITH HEH INITIAL FORM
+FCE4  ; [.1CAB.0020.0018.FCE4][.1D34.0020.0018.FCE4] # ARABIC LIGATURE TEH WITH HEH MEDIAL FORM
+FC74  ; [.1CAB.0020.0019.FC74][.1D47.0020.0019.FC74] # ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM
+FC0F  ; [.1CAB.0020.001A.FC0F][.1D47.0020.001A.FC0F] # ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM
+FC75  ; [.1CAB.0020.0019.FC75][.1D48.0020.0019.FC75] # ARABIC LIGATURE TEH WITH YEH FINAL FORM
+FC10  ; [.1CAB.0020.001A.FC10][.1D48.0020.001A.FC10] # ARABIC LIGATURE TEH WITH YEH ISOLATED FORM
+062B  ; [.1CAC.0020.0002.062B] # ARABIC LETTER THEH
+1EE16 ; [.1CAC.0020.0005.1EE16] # ARABIC MATHEMATICAL THEH
+1EE36 ; [.1CAC.0020.0005.1EE36] # ARABIC MATHEMATICAL INITIAL THEH
+1EE76 ; [.1CAC.0020.0005.1EE76] # ARABIC MATHEMATICAL STRETCHED THEH
+1EE96 ; [.1CAC.0020.0005.1EE96] # ARABIC MATHEMATICAL LOOPED THEH
+1EEB6 ; [.1CAC.0020.0005.1EEB6] # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+FE9B  ; [.1CAC.0020.0017.FE9B] # ARABIC LETTER THEH INITIAL FORM
+FE9C  ; [.1CAC.0020.0018.FE9C] # ARABIC LETTER THEH MEDIAL FORM
+FE9A  ; [.1CAC.0020.0019.FE9A] # ARABIC LETTER THEH FINAL FORM
+FE99  ; [.1CAC.0020.001A.FE99] # ARABIC LETTER THEH ISOLATED FORM
+FC11  ; [.1CAC.0020.001A.FC11][.1CB2.0020.001A.FC11] # ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM
+FC76  ; [.1CAC.0020.0019.FC76][.1CD2.0020.0019.FC76] # ARABIC LIGATURE THEH WITH REH FINAL FORM
+FC77  ; [.1CAC.0020.0019.FC77][.1CD3.0020.0019.FC77] # ARABIC LIGATURE THEH WITH ZAIN FINAL FORM
+FCA6  ; [.1CAC.0020.0017.FCA6][.1D27.0020.0017.FCA6] # ARABIC LIGATURE THEH WITH MEEM INITIAL FORM
+FCE5  ; [.1CAC.0020.0018.FCE5][.1D27.0020.0018.FCE5] # ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM
+FC78  ; [.1CAC.0020.0019.FC78][.1D27.0020.0019.FC78] # ARABIC LIGATURE THEH WITH MEEM FINAL FORM
+FC12  ; [.1CAC.0020.001A.FC12][.1D27.0020.001A.FC12] # ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM
+FC79  ; [.1CAC.0020.0019.FC79][.1D2B.0020.0019.FC79] # ARABIC LIGATURE THEH WITH NOON FINAL FORM
+FCE6  ; [.1CAC.0020.0018.FCE6][.1D34.0020.0018.FCE6] # ARABIC LIGATURE THEH WITH HEH MEDIAL FORM
+FC7A  ; [.1CAC.0020.0019.FC7A][.1D47.0020.0019.FC7A] # ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM
+FC13  ; [.1CAC.0020.001A.FC13][.1D47.0020.001A.FC13] # ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM
+FC7B  ; [.1CAC.0020.0019.FC7B][.1D48.0020.0019.FC7B] # ARABIC LIGATURE THEH WITH YEH FINAL FORM
+FC14  ; [.1CAC.0020.001A.FC14][.1D48.0020.001A.FC14] # ARABIC LIGATURE THEH WITH YEH ISOLATED FORM
+0679  ; [.1CAD.0020.0002.0679] # ARABIC LETTER TTEH
+FB68  ; [.1CAD.0020.0017.FB68] # ARABIC LETTER TTEH INITIAL FORM
+FB69  ; [.1CAD.0020.0018.FB69] # ARABIC LETTER TTEH MEDIAL FORM
+FB67  ; [.1CAD.0020.0019.FB67] # ARABIC LETTER TTEH FINAL FORM
+FB66  ; [.1CAD.0020.001A.FB66] # ARABIC LETTER TTEH ISOLATED FORM
+067A  ; [.1CAE.0020.0002.067A] # ARABIC LETTER TTEHEH
+FB60  ; [.1CAE.0020.0017.FB60] # ARABIC LETTER TTEHEH INITIAL FORM
+FB61  ; [.1CAE.0020.0018.FB61] # ARABIC LETTER TTEHEH MEDIAL FORM
+FB5F  ; [.1CAE.0020.0019.FB5F] # ARABIC LETTER TTEHEH FINAL FORM
+FB5E  ; [.1CAE.0020.001A.FB5E] # ARABIC LETTER TTEHEH ISOLATED FORM
+067C  ; [.1CAF.0020.0002.067C] # ARABIC LETTER TEH WITH RING
+067D  ; [.1CB0.0020.0002.067D] # ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS
+067F  ; [.1CB1.0020.0002.067F] # ARABIC LETTER TEHEH
+FB64  ; [.1CB1.0020.0017.FB64] # ARABIC LETTER TEHEH INITIAL FORM
+FB65  ; [.1CB1.0020.0018.FB65] # ARABIC LETTER TEHEH MEDIAL FORM
+FB63  ; [.1CB1.0020.0019.FB63] # ARABIC LETTER TEHEH FINAL FORM
+FB62  ; [.1CB1.0020.001A.FB62] # ARABIC LETTER TEHEH ISOLATED FORM
+062C  ; [.1CB2.0020.0002.062C] # ARABIC LETTER JEEM
+1EE02 ; [.1CB2.0020.0005.1EE02] # ARABIC MATHEMATICAL JEEM
+1EE22 ; [.1CB2.0020.0005.1EE22] # ARABIC MATHEMATICAL INITIAL JEEM
+1EE42 ; [.1CB2.0020.0005.1EE42] # ARABIC MATHEMATICAL TAILED JEEM
+1EE62 ; [.1CB2.0020.0005.1EE62] # ARABIC MATHEMATICAL STRETCHED JEEM
+1EE82 ; [.1CB2.0020.0005.1EE82] # ARABIC MATHEMATICAL LOOPED JEEM
+1EEA2 ; [.1CB2.0020.0005.1EEA2] # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+FE9F  ; [.1CB2.0020.0017.FE9F] # ARABIC LETTER JEEM INITIAL FORM
+FEA0  ; [.1CB2.0020.0018.FEA0] # ARABIC LETTER JEEM MEDIAL FORM
+FE9E  ; [.1CB2.0020.0019.FE9E] # ARABIC LETTER JEEM FINAL FORM
+FE9D  ; [.1CB2.0020.001A.FE9D] # ARABIC LETTER JEEM ISOLATED FORM
+FCA7  ; [.1CB2.0020.0017.FCA7][.1CB9.0020.0017.FCA7] # ARABIC LIGATURE JEEM WITH HAH INITIAL FORM
+FC15  ; [.1CB2.0020.001A.FC15][.1CB9.0020.001A.FC15] # ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM
+FDA6  ; [.1CB2.0020.0019.FDA6][.1CB9.0020.0019.FDA6][.1D47.0020.0019.FDA6] # ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDBE  ; [.1CB2.0020.0019.FDBE][.1CB9.0020.0019.FDBE][.1D48.0020.0019.FDBE] # ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM
+FDFB  ; [.1CB2.0020.001A.FDFB][.1D20.0020.001A.FDFB][*020A.0020.001A.FDFB][.1CB2.0020.001A.FDFB][.1D20.0020.001A.FDFB][.1C9C.0020.001A.FDFB][.1D20.0020.001A.FDFB][.1D34.0020.001A.FDFB] # ARABIC LIGATURE JALLAJALALOUHOU
+FCA8  ; [.1CB2.0020.0017.FCA8][.1D27.0020.0017.FCA8] # ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM
+FC16  ; [.1CB2.0020.001A.FC16][.1D27.0020.001A.FC16] # ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM
+FD59  ; [.1CB2.0020.0017.FD59][.1D27.0020.0017.FD59][.1CB9.0020.0017.FD59] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM
+FD58  ; [.1CB2.0020.0019.FD58][.1D27.0020.0019.FD58][.1CB9.0020.0019.FD58] # ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM
+FDA7  ; [.1CB2.0020.0019.FDA7][.1D27.0020.0019.FDA7][.1D47.0020.0019.FDA7] # ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDA5  ; [.1CB2.0020.0019.FDA5][.1D27.0020.0019.FDA5][.1D48.0020.0019.FDA5] # ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM
+FD1D  ; [.1CB2.0020.0019.FD1D][.1D47.0020.0019.FD1D] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM
+FD01  ; [.1CB2.0020.001A.FD01][.1D47.0020.001A.FD01] # ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM
+FD1E  ; [.1CB2.0020.0019.FD1E][.1D48.0020.0019.FD1E] # ARABIC LIGATURE JEEM WITH YEH FINAL FORM
+FD02  ; [.1CB2.0020.001A.FD02][.1D48.0020.001A.FD02] # ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM
+0683  ; [.1CB3.0020.0002.0683] # ARABIC LETTER NYEH
+FB78  ; [.1CB3.0020.0017.FB78] # ARABIC LETTER NYEH INITIAL FORM
+FB79  ; [.1CB3.0020.0018.FB79] # ARABIC LETTER NYEH MEDIAL FORM
+FB77  ; [.1CB3.0020.0019.FB77] # ARABIC LETTER NYEH FINAL FORM
+FB76  ; [.1CB3.0020.001A.FB76] # ARABIC LETTER NYEH ISOLATED FORM
+0684  ; [.1CB4.0020.0002.0684] # ARABIC LETTER DYEH
+FB74  ; [.1CB4.0020.0017.FB74] # ARABIC LETTER DYEH INITIAL FORM
+FB75  ; [.1CB4.0020.0018.FB75] # ARABIC LETTER DYEH MEDIAL FORM
+FB73  ; [.1CB4.0020.0019.FB73] # ARABIC LETTER DYEH FINAL FORM
+FB72  ; [.1CB4.0020.001A.FB72] # ARABIC LETTER DYEH ISOLATED FORM
+0686  ; [.1CB5.0020.0002.0686] # ARABIC LETTER TCHEH
+FB7C  ; [.1CB5.0020.0017.FB7C] # ARABIC LETTER TCHEH INITIAL FORM
+FB7D  ; [.1CB5.0020.0018.FB7D] # ARABIC LETTER TCHEH MEDIAL FORM
+FB7B  ; [.1CB5.0020.0019.FB7B] # ARABIC LETTER TCHEH FINAL FORM
+FB7A  ; [.1CB5.0020.001A.FB7A] # ARABIC LETTER TCHEH ISOLATED FORM
+06BF  ; [.1CB6.0020.0002.06BF] # ARABIC LETTER TCHEH WITH DOT ABOVE
+0687  ; [.1CB7.0020.0002.0687] # ARABIC LETTER TCHEHEH
+FB80  ; [.1CB7.0020.0017.FB80] # ARABIC LETTER TCHEHEH INITIAL FORM
+FB81  ; [.1CB7.0020.0018.FB81] # ARABIC LETTER TCHEHEH MEDIAL FORM
+FB7F  ; [.1CB7.0020.0019.FB7F] # ARABIC LETTER TCHEHEH FINAL FORM
+FB7E  ; [.1CB7.0020.001A.FB7E] # ARABIC LETTER TCHEHEH ISOLATED FORM
+08A2  ; [.1CB8.0020.0002.08A2] # ARABIC LETTER JEEM WITH TWO DOTS ABOVE
+062D  ; [.1CB9.0020.0002.062D] # ARABIC LETTER HAH
+1EE07 ; [.1CB9.0020.0005.1EE07] # ARABIC MATHEMATICAL HAH
+1EE27 ; [.1CB9.0020.0005.1EE27] # ARABIC MATHEMATICAL INITIAL HAH
+1EE47 ; [.1CB9.0020.0005.1EE47] # ARABIC MATHEMATICAL TAILED HAH
+1EE67 ; [.1CB9.0020.0005.1EE67] # ARABIC MATHEMATICAL STRETCHED HAH
+1EE87 ; [.1CB9.0020.0005.1EE87] # ARABIC MATHEMATICAL LOOPED HAH
+1EEA7 ; [.1CB9.0020.0005.1EEA7] # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+FEA3  ; [.1CB9.0020.0017.FEA3] # ARABIC LETTER HAH INITIAL FORM
+FEA4  ; [.1CB9.0020.0018.FEA4] # ARABIC LETTER HAH MEDIAL FORM
+FEA2  ; [.1CB9.0020.0019.FEA2] # ARABIC LETTER HAH FINAL FORM
+FEA1  ; [.1CB9.0020.001A.FEA1] # ARABIC LETTER HAH ISOLATED FORM
+FCA9  ; [.1CB9.0020.0017.FCA9][.1CB2.0020.0017.FCA9] # ARABIC LIGATURE HAH WITH JEEM INITIAL FORM
+FC17  ; [.1CB9.0020.001A.FC17][.1CB2.0020.001A.FC17] # ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM
+FDBF  ; [.1CB9.0020.0019.FDBF][.1CB2.0020.0019.FDBF][.1D48.0020.0019.FDBF] # ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM
+FCAA  ; [.1CB9.0020.0017.FCAA][.1D27.0020.0017.FCAA] # ARABIC LIGATURE HAH WITH MEEM INITIAL FORM
+FC18  ; [.1CB9.0020.001A.FC18][.1D27.0020.001A.FC18] # ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM
+FD5B  ; [.1CB9.0020.0019.FD5B][.1D27.0020.0019.FD5B][.1D47.0020.0019.FD5B] # ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD5A  ; [.1CB9.0020.0019.FD5A][.1D27.0020.0019.FD5A][.1D48.0020.0019.FD5A] # ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM
+FD1B  ; [.1CB9.0020.0019.FD1B][.1D47.0020.0019.FD1B] # ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM
+FCFF  ; [.1CB9.0020.001A.FCFF][.1D47.0020.001A.FCFF] # ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM
+FD1C  ; [.1CB9.0020.0019.FD1C][.1D48.0020.0019.FD1C] # ARABIC LIGATURE HAH WITH YEH FINAL FORM
+FD00  ; [.1CB9.0020.001A.FD00][.1D48.0020.001A.FD00] # ARABIC LIGATURE HAH WITH YEH ISOLATED FORM
+062E  ; [.1CBA.0020.0002.062E] # ARABIC LETTER KHAH
+1EE17 ; [.1CBA.0020.0005.1EE17] # ARABIC MATHEMATICAL KHAH
+1EE37 ; [.1CBA.0020.0005.1EE37] # ARABIC MATHEMATICAL INITIAL KHAH
+1EE57 ; [.1CBA.0020.0005.1EE57] # ARABIC MATHEMATICAL TAILED KHAH
+1EE77 ; [.1CBA.0020.0005.1EE77] # ARABIC MATHEMATICAL STRETCHED KHAH
+1EE97 ; [.1CBA.0020.0005.1EE97] # ARABIC MATHEMATICAL LOOPED KHAH
+1EEB7 ; [.1CBA.0020.0005.1EEB7] # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+FEA7  ; [.1CBA.0020.0017.FEA7] # ARABIC LETTER KHAH INITIAL FORM
+FEA8  ; [.1CBA.0020.0018.FEA8] # ARABIC LETTER KHAH MEDIAL FORM
+FEA6  ; [.1CBA.0020.0019.FEA6] # ARABIC LETTER KHAH FINAL FORM
+FEA5  ; [.1CBA.0020.001A.FEA5] # ARABIC LETTER KHAH ISOLATED FORM
+FCAB  ; [.1CBA.0020.0017.FCAB][.1CB2.0020.0017.FCAB] # ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM
+FC19  ; [.1CBA.0020.001A.FC19][.1CB2.0020.001A.FC19] # ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM
+FC1A  ; [.1CBA.0020.001A.FC1A][.1CB9.0020.001A.FC1A] # ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM
+FCAC  ; [.1CBA.0020.0017.FCAC][.1D27.0020.0017.FCAC] # ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM
+FC1B  ; [.1CBA.0020.001A.FC1B][.1D27.0020.001A.FC1B] # ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM
+FD1F  ; [.1CBA.0020.0019.FD1F][.1D47.0020.0019.FD1F] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM
+FD03  ; [.1CBA.0020.001A.FD03][.1D47.0020.001A.FD03] # ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM
+FD20  ; [.1CBA.0020.0019.FD20][.1D48.0020.0019.FD20] # ARABIC LIGATURE KHAH WITH YEH FINAL FORM
+FD04  ; [.1CBA.0020.001A.FD04][.1D48.0020.001A.FD04] # ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM
+0681  ; [.1CBB.0020.0002.0681] # ARABIC LETTER HAH WITH HAMZA ABOVE
+0682  ; [.1CBC.0020.0002.0682] # ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE
+0685  ; [.1CBD.0020.0002.0685] # ARABIC LETTER HAH WITH THREE DOTS ABOVE
+0757  ; [.1CBE.0020.0002.0757] # ARABIC LETTER HAH WITH TWO DOTS ABOVE
+0758  ; [.1CBF.0020.0002.0758] # ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
+076E  ; [.1CC0.0020.0002.076E] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW
+076F  ; [.1CC1.0020.0002.076F] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+0772  ; [.1CC2.0020.0002.0772] # ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
+077C  ; [.1CC3.0020.0002.077C] # ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+062F  ; [.1CC4.0020.0002.062F] # ARABIC LETTER DAL
+1EE03 ; [.1CC4.0020.0005.1EE03] # ARABIC MATHEMATICAL DAL
+1EE83 ; [.1CC4.0020.0005.1EE83] # ARABIC MATHEMATICAL LOOPED DAL
+1EEA3 ; [.1CC4.0020.0005.1EEA3] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+FEAA  ; [.1CC4.0020.0019.FEAA] # ARABIC LETTER DAL FINAL FORM
+FEA9  ; [.1CC4.0020.001A.FEA9] # ARABIC LETTER DAL ISOLATED FORM
+0630  ; [.1CC5.0020.0002.0630] # ARABIC LETTER THAL
+1EE18 ; [.1CC5.0020.0005.1EE18] # ARABIC MATHEMATICAL THAL
+1EE98 ; [.1CC5.0020.0005.1EE98] # ARABIC MATHEMATICAL LOOPED THAL
+1EEB8 ; [.1CC5.0020.0005.1EEB8] # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+FEAC  ; [.1CC5.0020.0019.FEAC] # ARABIC LETTER THAL FINAL FORM
+FEAB  ; [.1CC5.0020.001A.FEAB] # ARABIC LETTER THAL ISOLATED FORM
+FC5B  ; [.1CC5.0020.001A.FC5B][.0000.00D1.001A.FC5B] # ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM
+0688  ; [.1CC6.0020.0002.0688] # ARABIC LETTER DDAL
+FB89  ; [.1CC6.0020.0019.FB89] # ARABIC LETTER DDAL FINAL FORM
+FB88  ; [.1CC6.0020.001A.FB88] # ARABIC LETTER DDAL ISOLATED FORM
+0689  ; [.1CC7.0020.0002.0689] # ARABIC LETTER DAL WITH RING
+068A  ; [.1CC8.0020.0002.068A] # ARABIC LETTER DAL WITH DOT BELOW
+068B  ; [.1CC9.0020.0002.068B] # ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH
+068C  ; [.1CCA.0020.0002.068C] # ARABIC LETTER DAHAL
+FB85  ; [.1CCA.0020.0019.FB85] # ARABIC LETTER DAHAL FINAL FORM
+FB84  ; [.1CCA.0020.001A.FB84] # ARABIC LETTER DAHAL ISOLATED FORM
+068D  ; [.1CCB.0020.0002.068D] # ARABIC LETTER DDAHAL
+FB83  ; [.1CCB.0020.0019.FB83] # ARABIC LETTER DDAHAL FINAL FORM
+FB82  ; [.1CCB.0020.001A.FB82] # ARABIC LETTER DDAHAL ISOLATED FORM
+068E  ; [.1CCC.0020.0002.068E] # ARABIC LETTER DUL
+FB87  ; [.1CCC.0020.0019.FB87] # ARABIC LETTER DUL FINAL FORM
+FB86  ; [.1CCC.0020.001A.FB86] # ARABIC LETTER DUL ISOLATED FORM
+068F  ; [.1CCD.0020.0002.068F] # ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS
+0690  ; [.1CCE.0020.0002.0690] # ARABIC LETTER DAL WITH FOUR DOTS ABOVE
+06EE  ; [.1CCF.0020.0002.06EE] # ARABIC LETTER DAL WITH INVERTED V
+0759  ; [.1CD0.0020.0002.0759] # ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH
+075A  ; [.1CD1.0020.0002.075A] # ARABIC LETTER DAL WITH INVERTED SMALL V BELOW
+0631  ; [.1CD2.0020.0002.0631] # ARABIC LETTER REH
+1EE13 ; [.1CD2.0020.0005.1EE13] # ARABIC MATHEMATICAL REH
+1EE93 ; [.1CD2.0020.0005.1EE93] # ARABIC MATHEMATICAL LOOPED REH
+1EEB3 ; [.1CD2.0020.0005.1EEB3] # ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+FEAE  ; [.1CD2.0020.0019.FEAE] # ARABIC LETTER REH FINAL FORM
+FEAD  ; [.1CD2.0020.001A.FEAD] # ARABIC LETTER REH ISOLATED FORM
+FC5C  ; [.1CD2.0020.001A.FC5C][.0000.00D1.001A.FC5C] # ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM
+FDF6  ; [.1CD2.0020.001A.FDF6][.1CE3.0020.001A.FDF6][.1D3A.0020.001A.FDF6][.1D20.0020.001A.FDF6] # ARABIC LIGATURE RASOUL ISOLATED FORM
+FDFC  ; [.1CD2.0020.001A.FDFC][.1D49.0020.001A.FDFC][.1C9C.0020.001A.FDFC][.1D20.0020.001A.FDFC] # RIAL SIGN
+0632  ; [.1CD3.0020.0002.0632] # ARABIC LETTER ZAIN
+1EE06 ; [.1CD3.0020.0005.1EE06] # ARABIC MATHEMATICAL ZAIN
+1EE86 ; [.1CD3.0020.0005.1EE86] # ARABIC MATHEMATICAL LOOPED ZAIN
+1EEA6 ; [.1CD3.0020.0005.1EEA6] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+FEB0  ; [.1CD3.0020.0019.FEB0] # ARABIC LETTER ZAIN FINAL FORM
+FEAF  ; [.1CD3.0020.001A.FEAF] # ARABIC LETTER ZAIN ISOLATED FORM
+0691  ; [.1CD4.0020.0002.0691] # ARABIC LETTER RREH
+FB8D  ; [.1CD4.0020.0019.FB8D] # ARABIC LETTER RREH FINAL FORM
+FB8C  ; [.1CD4.0020.001A.FB8C] # ARABIC LETTER RREH ISOLATED FORM
+0692  ; [.1CD5.0020.0002.0692] # ARABIC LETTER REH WITH SMALL V
+0693  ; [.1CD6.0020.0002.0693] # ARABIC LETTER REH WITH RING
+0694  ; [.1CD7.0020.0002.0694] # ARABIC LETTER REH WITH DOT BELOW
+0695  ; [.1CD8.0020.0002.0695] # ARABIC LETTER REH WITH SMALL V BELOW
+0696  ; [.1CD9.0020.0002.0696] # ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE
+0697  ; [.1CDA.0020.0002.0697] # ARABIC LETTER REH WITH TWO DOTS ABOVE
+0698  ; [.1CDB.0020.0002.0698] # ARABIC LETTER JEH
+FB8B  ; [.1CDB.0020.0019.FB8B] # ARABIC LETTER JEH FINAL FORM
+FB8A  ; [.1CDB.0020.001A.FB8A] # ARABIC LETTER JEH ISOLATED FORM
+0699  ; [.1CDC.0020.0002.0699] # ARABIC LETTER REH WITH FOUR DOTS ABOVE
+06EF  ; [.1CDD.0020.0002.06EF] # ARABIC LETTER REH WITH INVERTED V
+075B  ; [.1CDE.0020.0002.075B] # ARABIC LETTER REH WITH STROKE
+076B  ; [.1CDF.0020.0002.076B] # ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE
+076C  ; [.1CE0.0020.0002.076C] # ARABIC LETTER REH WITH HAMZA ABOVE
+0771  ; [.1CE1.0020.0002.0771] # ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+08AA  ; [.1CE2.0020.0002.08AA] # ARABIC LETTER REH WITH LOOP
+0633  ; [.1CE3.0020.0002.0633] # ARABIC LETTER SEEN
+1EE0E ; [.1CE3.0020.0005.1EE0E] # ARABIC MATHEMATICAL SEEN
+1EE2E ; [.1CE3.0020.0005.1EE2E] # ARABIC MATHEMATICAL INITIAL SEEN
+1EE4E ; [.1CE3.0020.0005.1EE4E] # ARABIC MATHEMATICAL TAILED SEEN
+1EE6E ; [.1CE3.0020.0005.1EE6E] # ARABIC MATHEMATICAL STRETCHED SEEN
+1EE8E ; [.1CE3.0020.0005.1EE8E] # ARABIC MATHEMATICAL LOOPED SEEN
+1EEAE ; [.1CE3.0020.0005.1EEAE] # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+FEB3  ; [.1CE3.0020.0017.FEB3] # ARABIC LETTER SEEN INITIAL FORM
+FEB4  ; [.1CE3.0020.0018.FEB4] # ARABIC LETTER SEEN MEDIAL FORM
+FEB2  ; [.1CE3.0020.0019.FEB2] # ARABIC LETTER SEEN FINAL FORM
+FEB1  ; [.1CE3.0020.001A.FEB1] # ARABIC LETTER SEEN ISOLATED FORM
+FCAD  ; [.1CE3.0020.0017.FCAD][.1CB2.0020.0017.FCAD] # ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM
+FD34  ; [.1CE3.0020.0018.FD34][.1CB2.0020.0018.FD34] # ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM
+FC1C  ; [.1CE3.0020.001A.FC1C][.1CB2.0020.001A.FC1C] # ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM
+FD5D  ; [.1CE3.0020.0017.FD5D][.1CB2.0020.0017.FD5D][.1CB9.0020.0017.FD5D] # ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM
+FD5E  ; [.1CE3.0020.0019.FD5E][.1CB2.0020.0019.FD5E][.1D47.0020.0019.FD5E] # ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FCAE  ; [.1CE3.0020.0017.FCAE][.1CB9.0020.0017.FCAE] # ARABIC LIGATURE SEEN WITH HAH INITIAL FORM
+FD35  ; [.1CE3.0020.0018.FD35][.1CB9.0020.0018.FD35] # ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM
+FC1D  ; [.1CE3.0020.001A.FC1D][.1CB9.0020.001A.FC1D] # ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM
+FD5C  ; [.1CE3.0020.0017.FD5C][.1CB9.0020.0017.FD5C][.1CB2.0020.0017.FD5C] # ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM
+FCAF  ; [.1CE3.0020.0017.FCAF][.1CBA.0020.0017.FCAF] # ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM
+FD36  ; [.1CE3.0020.0018.FD36][.1CBA.0020.0018.FD36] # ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM
+FC1E  ; [.1CE3.0020.001A.FC1E][.1CBA.0020.001A.FC1E] # ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM
+FDA8  ; [.1CE3.0020.0019.FDA8][.1CBA.0020.0019.FDA8][.1D47.0020.0019.FDA8] # ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM
+FDC6  ; [.1CE3.0020.0019.FDC6][.1CBA.0020.0019.FDC6][.1D48.0020.0019.FDC6] # ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM
+FD2A  ; [.1CE3.0020.0019.FD2A][.1CD2.0020.0019.FD2A] # ARABIC LIGATURE SEEN WITH REH FINAL FORM
+FD0E  ; [.1CE3.0020.001A.FD0E][.1CD2.0020.001A.FD0E] # ARABIC LIGATURE SEEN WITH REH ISOLATED FORM
+FCB0  ; [.1CE3.0020.0017.FCB0][.1D27.0020.0017.FCB0] # ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM
+FCE7  ; [.1CE3.0020.0018.FCE7][.1D27.0020.0018.FCE7] # ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM
+FC1F  ; [.1CE3.0020.001A.FC1F][.1D27.0020.001A.FC1F] # ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM
+FD61  ; [.1CE3.0020.0017.FD61][.1D27.0020.0017.FD61][.1CB2.0020.0017.FD61] # ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM
+FD60  ; [.1CE3.0020.0017.FD60][.1D27.0020.0017.FD60][.1CB9.0020.0017.FD60] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM
+FD5F  ; [.1CE3.0020.0019.FD5F][.1D27.0020.0019.FD5F][.1CB9.0020.0019.FD5F] # ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM
+FD63  ; [.1CE3.0020.0017.FD63][.1D27.0020.0017.FD63][.1D27.0020.0017.FD63] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM
+FD62  ; [.1CE3.0020.0019.FD62][.1D27.0020.0019.FD62][.1D27.0020.0019.FD62] # ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM
+FD31  ; [.1CE3.0020.0017.FD31][.1D34.0020.0017.FD31] # ARABIC LIGATURE SEEN WITH HEH INITIAL FORM
+FCE8  ; [.1CE3.0020.0018.FCE8][.1D34.0020.0018.FCE8] # ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM
+FD17  ; [.1CE3.0020.0019.FD17][.1D47.0020.0019.FD17] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM
+FCFB  ; [.1CE3.0020.001A.FCFB][.1D47.0020.001A.FCFB] # ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM
+FD18  ; [.1CE3.0020.0019.FD18][.1D48.0020.0019.FD18] # ARABIC LIGATURE SEEN WITH YEH FINAL FORM
+FCFC  ; [.1CE3.0020.001A.FCFC][.1D48.0020.001A.FCFC] # ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM
+0634  ; [.1CE4.0020.0002.0634] # ARABIC LETTER SHEEN
+1EE14 ; [.1CE4.0020.0005.1EE14] # ARABIC MATHEMATICAL SHEEN
+1EE34 ; [.1CE4.0020.0005.1EE34] # ARABIC MATHEMATICAL INITIAL SHEEN
+1EE54 ; [.1CE4.0020.0005.1EE54] # ARABIC MATHEMATICAL TAILED SHEEN
+1EE74 ; [.1CE4.0020.0005.1EE74] # ARABIC MATHEMATICAL STRETCHED SHEEN
+1EE94 ; [.1CE4.0020.0005.1EE94] # ARABIC MATHEMATICAL LOOPED SHEEN
+1EEB4 ; [.1CE4.0020.0005.1EEB4] # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+FEB7  ; [.1CE4.0020.0017.FEB7] # ARABIC LETTER SHEEN INITIAL FORM
+FEB8  ; [.1CE4.0020.0018.FEB8] # ARABIC LETTER SHEEN MEDIAL FORM
+FEB6  ; [.1CE4.0020.0019.FEB6] # ARABIC LETTER SHEEN FINAL FORM
+FEB5  ; [.1CE4.0020.001A.FEB5] # ARABIC LETTER SHEEN ISOLATED FORM
+FD2D  ; [.1CE4.0020.0017.FD2D][.1CB2.0020.0017.FD2D] # ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM
+FD37  ; [.1CE4.0020.0018.FD37][.1CB2.0020.0018.FD37] # ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM
+FD25  ; [.1CE4.0020.0019.FD25][.1CB2.0020.0019.FD25] # ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM
+FD09  ; [.1CE4.0020.001A.FD09][.1CB2.0020.001A.FD09] # ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM
+FD69  ; [.1CE4.0020.0019.FD69][.1CB2.0020.0019.FD69][.1D48.0020.0019.FD69] # ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM
+FD2E  ; [.1CE4.0020.0017.FD2E][.1CB9.0020.0017.FD2E] # ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM
+FD38  ; [.1CE4.0020.0018.FD38][.1CB9.0020.0018.FD38] # ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM
+FD26  ; [.1CE4.0020.0019.FD26][.1CB9.0020.0019.FD26] # ARABIC LIGATURE SHEEN WITH HAH FINAL FORM
+FD0A  ; [.1CE4.0020.001A.FD0A][.1CB9.0020.001A.FD0A] # ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM
+FD68  ; [.1CE4.0020.0017.FD68][.1CB9.0020.0017.FD68][.1D27.0020.0017.FD68] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM
+FD67  ; [.1CE4.0020.0019.FD67][.1CB9.0020.0019.FD67][.1D27.0020.0019.FD67] # ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM
+FDAA  ; [.1CE4.0020.0019.FDAA][.1CB9.0020.0019.FDAA][.1D48.0020.0019.FDAA] # ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM
+FD2F  ; [.1CE4.0020.0017.FD2F][.1CBA.0020.0017.FD2F] # ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM
+FD39  ; [.1CE4.0020.0018.FD39][.1CBA.0020.0018.FD39] # ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM
+FD27  ; [.1CE4.0020.0019.FD27][.1CBA.0020.0019.FD27] # ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM
+FD0B  ; [.1CE4.0020.001A.FD0B][.1CBA.0020.001A.FD0B] # ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM
+FD29  ; [.1CE4.0020.0019.FD29][.1CD2.0020.0019.FD29] # ARABIC LIGATURE SHEEN WITH REH FINAL FORM
+FD0D  ; [.1CE4.0020.001A.FD0D][.1CD2.0020.001A.FD0D] # ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM
+FD30  ; [.1CE4.0020.0017.FD30][.1D27.0020.0017.FD30] # ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM
+FCE9  ; [.1CE4.0020.0018.FCE9][.1D27.0020.0018.FCE9] # ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM
+FD28  ; [.1CE4.0020.0019.FD28][.1D27.0020.0019.FD28] # ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM
+FD0C  ; [.1CE4.0020.001A.FD0C][.1D27.0020.001A.FD0C] # ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM
+FD6B  ; [.1CE4.0020.0017.FD6B][.1D27.0020.0017.FD6B][.1CBA.0020.0017.FD6B] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM
+FD6A  ; [.1CE4.0020.0019.FD6A][.1D27.0020.0019.FD6A][.1CBA.0020.0019.FD6A] # ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM
+FD6D  ; [.1CE4.0020.0017.FD6D][.1D27.0020.0017.FD6D][.1D27.0020.0017.FD6D] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM
+FD6C  ; [.1CE4.0020.0019.FD6C][.1D27.0020.0019.FD6C][.1D27.0020.0019.FD6C] # ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM
+FD32  ; [.1CE4.0020.0017.FD32][.1D34.0020.0017.FD32] # ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM
+FCEA  ; [.1CE4.0020.0018.FCEA][.1D34.0020.0018.FCEA] # ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM
+FD19  ; [.1CE4.0020.0019.FD19][.1D47.0020.0019.FD19] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM
+FCFD  ; [.1CE4.0020.001A.FCFD][.1D47.0020.001A.FCFD] # ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM
+FD1A  ; [.1CE4.0020.0019.FD1A][.1D48.0020.0019.FD1A] # ARABIC LIGATURE SHEEN WITH YEH FINAL FORM
+FCFE  ; [.1CE4.0020.001A.FCFE][.1D48.0020.001A.FCFE] # ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM
+069A  ; [.1CE5.0020.0002.069A] # ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE
+069B  ; [.1CE6.0020.0002.069B] # ARABIC LETTER SEEN WITH THREE DOTS BELOW
+069C  ; [.1CE7.0020.0002.069C] # ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
+06FA  ; [.1CE8.0020.0002.06FA] # ARABIC LETTER SHEEN WITH DOT BELOW
+075C  ; [.1CE9.0020.0002.075C] # ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
+076D  ; [.1CEA.0020.0002.076D] # ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
+0770  ; [.1CEB.0020.0002.0770] # ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+077D  ; [.1CEC.0020.0002.077D] # ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE
+077E  ; [.1CED.0020.0002.077E] # ARABIC LETTER SEEN WITH INVERTED V
+0635  ; [.1CEE.0020.0002.0635] # ARABIC LETTER SAD
+1EE11 ; [.1CEE.0020.0005.1EE11] # ARABIC MATHEMATICAL SAD
+1EE31 ; [.1CEE.0020.0005.1EE31] # ARABIC MATHEMATICAL INITIAL SAD
+1EE51 ; [.1CEE.0020.0005.1EE51] # ARABIC MATHEMATICAL TAILED SAD
+1EE71 ; [.1CEE.0020.0005.1EE71] # ARABIC MATHEMATICAL STRETCHED SAD
+1EE91 ; [.1CEE.0020.0005.1EE91] # ARABIC MATHEMATICAL LOOPED SAD
+1EEB1 ; [.1CEE.0020.0005.1EEB1] # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+FEBB  ; [.1CEE.0020.0017.FEBB] # ARABIC LETTER SAD INITIAL FORM
+FEBC  ; [.1CEE.0020.0018.FEBC] # ARABIC LETTER SAD MEDIAL FORM
+FEBA  ; [.1CEE.0020.0019.FEBA] # ARABIC LETTER SAD FINAL FORM
+FEB9  ; [.1CEE.0020.001A.FEB9] # ARABIC LETTER SAD ISOLATED FORM
+FCB1  ; [.1CEE.0020.0017.FCB1][.1CB9.0020.0017.FCB1] # ARABIC LIGATURE SAD WITH HAH INITIAL FORM
+FC20  ; [.1CEE.0020.001A.FC20][.1CB9.0020.001A.FC20] # ARABIC LIGATURE SAD WITH HAH ISOLATED FORM
+FD65  ; [.1CEE.0020.0017.FD65][.1CB9.0020.0017.FD65][.1CB9.0020.0017.FD65] # ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM
+FD64  ; [.1CEE.0020.0019.FD64][.1CB9.0020.0019.FD64][.1CB9.0020.0019.FD64] # ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM
+FDA9  ; [.1CEE.0020.0019.FDA9][.1CB9.0020.0019.FDA9][.1D48.0020.0019.FDA9] # ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM
+FCB2  ; [.1CEE.0020.0017.FCB2][.1CBA.0020.0017.FCB2] # ARABIC LIGATURE SAD WITH KHAH INITIAL FORM
+FD2B  ; [.1CEE.0020.0019.FD2B][.1CD2.0020.0019.FD2B] # ARABIC LIGATURE SAD WITH REH FINAL FORM
+FD0F  ; [.1CEE.0020.001A.FD0F][.1CD2.0020.001A.FD0F] # ARABIC LIGATURE SAD WITH REH ISOLATED FORM
+FDF5  ; [.1CEE.0020.001A.FDF5][.1D20.0020.001A.FDF5][.1CF7.0020.001A.FDF5][.1D27.0020.001A.FDF5] # ARABIC LIGATURE SALAM ISOLATED FORM
+FDF9  ; [.1CEE.0020.001A.FDF9][.1D20.0020.001A.FDF9][.1D47.0020.001A.FDF9] # ARABIC LIGATURE SALLA ISOLATED FORM
+FDFA  ; [.1CEE.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D47.0020.001A.FDFA][*020A.0020.001A.FDFA][.1C9C.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D34.0020.001A.FDFA][*020A.0020.001A.FDFA][.1CF7.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D48.0020.001A.FDFA][.1D34.0020.001A.FDFA][*020A.0020.001A.FDFA][.1D3A.0020.001A.FDFA][.1CE3.0020.001A.FDFA][.1D20.0020.001A.FDFA][.1D27.0020.001A.FDFA] # ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM
+FDF0  ; [.1CEE.0020.001A.FDF0][.1D20.0020.001A.FDF0][.1D55.0020.001A.FDF0] # ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM
+FCB3  ; [.1CEE.0020.0017.FCB3][.1D27.0020.0017.FCB3] # ARABIC LIGATURE SAD WITH MEEM INITIAL FORM
+FC21  ; [.1CEE.0020.001A.FC21][.1D27.0020.001A.FC21] # ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM
+FDC5  ; [.1CEE.0020.0017.FDC5][.1D27.0020.0017.FDC5][.1D27.0020.0017.FDC5] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM
+FD66  ; [.1CEE.0020.0019.FD66][.1D27.0020.0019.FD66][.1D27.0020.0019.FD66] # ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM
+FD21  ; [.1CEE.0020.0019.FD21][.1D47.0020.0019.FD21] # ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM
+FD05  ; [.1CEE.0020.001A.FD05][.1D47.0020.001A.FD05] # ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM
+FD22  ; [.1CEE.0020.0019.FD22][.1D48.0020.0019.FD22] # ARABIC LIGATURE SAD WITH YEH FINAL FORM
+FD06  ; [.1CEE.0020.001A.FD06][.1D48.0020.001A.FD06] # ARABIC LIGATURE SAD WITH YEH ISOLATED FORM
+0636  ; [.1CEF.0020.0002.0636] # ARABIC LETTER DAD
+1EE19 ; [.1CEF.0020.0005.1EE19] # ARABIC MATHEMATICAL DAD
+1EE39 ; [.1CEF.0020.0005.1EE39] # ARABIC MATHEMATICAL INITIAL DAD
+1EE59 ; [.1CEF.0020.0005.1EE59] # ARABIC MATHEMATICAL TAILED DAD
+1EE79 ; [.1CEF.0020.0005.1EE79] # ARABIC MATHEMATICAL STRETCHED DAD
+1EE99 ; [.1CEF.0020.0005.1EE99] # ARABIC MATHEMATICAL LOOPED DAD
+1EEB9 ; [.1CEF.0020.0005.1EEB9] # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+FEBF  ; [.1CEF.0020.0017.FEBF] # ARABIC LETTER DAD INITIAL FORM
+FEC0  ; [.1CEF.0020.0018.FEC0] # ARABIC LETTER DAD MEDIAL FORM
+FEBE  ; [.1CEF.0020.0019.FEBE] # ARABIC LETTER DAD FINAL FORM
+FEBD  ; [.1CEF.0020.001A.FEBD] # ARABIC LETTER DAD ISOLATED FORM
+FCB4  ; [.1CEF.0020.0017.FCB4][.1CB2.0020.0017.FCB4] # ARABIC LIGATURE DAD WITH JEEM INITIAL FORM
+FC22  ; [.1CEF.0020.001A.FC22][.1CB2.0020.001A.FC22] # ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM
+FCB5  ; [.1CEF.0020.0017.FCB5][.1CB9.0020.0017.FCB5] # ARABIC LIGATURE DAD WITH HAH INITIAL FORM
+FC23  ; [.1CEF.0020.001A.FC23][.1CB9.0020.001A.FC23] # ARABIC LIGATURE DAD WITH HAH ISOLATED FORM
+FD6E  ; [.1CEF.0020.0019.FD6E][.1CB9.0020.0019.FD6E][.1D47.0020.0019.FD6E] # ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDAB  ; [.1CEF.0020.0019.FDAB][.1CB9.0020.0019.FDAB][.1D48.0020.0019.FDAB] # ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM
+FCB6  ; [.1CEF.0020.0017.FCB6][.1CBA.0020.0017.FCB6] # ARABIC LIGATURE DAD WITH KHAH INITIAL FORM
+FC24  ; [.1CEF.0020.001A.FC24][.1CBA.0020.001A.FC24] # ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM
+FD70  ; [.1CEF.0020.0017.FD70][.1CBA.0020.0017.FD70][.1D27.0020.0017.FD70] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM
+FD6F  ; [.1CEF.0020.0019.FD6F][.1CBA.0020.0019.FD6F][.1D27.0020.0019.FD6F] # ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM
+FD2C  ; [.1CEF.0020.0019.FD2C][.1CD2.0020.0019.FD2C] # ARABIC LIGATURE DAD WITH REH FINAL FORM
+FD10  ; [.1CEF.0020.001A.FD10][.1CD2.0020.001A.FD10] # ARABIC LIGATURE DAD WITH REH ISOLATED FORM
+FCB7  ; [.1CEF.0020.0017.FCB7][.1D27.0020.0017.FCB7] # ARABIC LIGATURE DAD WITH MEEM INITIAL FORM
+FC25  ; [.1CEF.0020.001A.FC25][.1D27.0020.001A.FC25] # ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM
+FD23  ; [.1CEF.0020.0019.FD23][.1D47.0020.0019.FD23] # ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM
+FD07  ; [.1CEF.0020.001A.FD07][.1D47.0020.001A.FD07] # ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM
+FD24  ; [.1CEF.0020.0019.FD24][.1D48.0020.0019.FD24] # ARABIC LIGATURE DAD WITH YEH FINAL FORM
+FD08  ; [.1CEF.0020.001A.FD08][.1D48.0020.001A.FD08] # ARABIC LIGATURE DAD WITH YEH ISOLATED FORM
+069D  ; [.1CF0.0020.0002.069D] # ARABIC LETTER SAD WITH TWO DOTS BELOW
+069E  ; [.1CF1.0020.0002.069E] # ARABIC LETTER SAD WITH THREE DOTS ABOVE
+06FB  ; [.1CF2.0020.0002.06FB] # ARABIC LETTER DAD WITH DOT BELOW
+0637  ; [.1CF3.0020.0002.0637] # ARABIC LETTER TAH
+1EE08 ; [.1CF3.0020.0005.1EE08] # ARABIC MATHEMATICAL TAH
+1EE68 ; [.1CF3.0020.0005.1EE68] # ARABIC MATHEMATICAL STRETCHED TAH
+1EE88 ; [.1CF3.0020.0005.1EE88] # ARABIC MATHEMATICAL LOOPED TAH
+1EEA8 ; [.1CF3.0020.0005.1EEA8] # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+FEC3  ; [.1CF3.0020.0017.FEC3] # ARABIC LETTER TAH INITIAL FORM
+FEC4  ; [.1CF3.0020.0018.FEC4] # ARABIC LETTER TAH MEDIAL FORM
+FEC2  ; [.1CF3.0020.0019.FEC2] # ARABIC LETTER TAH FINAL FORM
+FEC1  ; [.1CF3.0020.001A.FEC1] # ARABIC LETTER TAH ISOLATED FORM
+FCB8  ; [.1CF3.0020.0017.FCB8][.1CB9.0020.0017.FCB8] # ARABIC LIGATURE TAH WITH HAH INITIAL FORM
+FC26  ; [.1CF3.0020.001A.FC26][.1CB9.0020.001A.FC26] # ARABIC LIGATURE TAH WITH HAH ISOLATED FORM
+FD33  ; [.1CF3.0020.0017.FD33][.1D27.0020.0017.FD33] # ARABIC LIGATURE TAH WITH MEEM INITIAL FORM
+FD3A  ; [.1CF3.0020.0018.FD3A][.1D27.0020.0018.FD3A] # ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM
+FC27  ; [.1CF3.0020.001A.FC27][.1D27.0020.001A.FC27] # ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM
+FD72  ; [.1CF3.0020.0017.FD72][.1D27.0020.0017.FD72][.1CB9.0020.0017.FD72] # ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM
+FD71  ; [.1CF3.0020.0019.FD71][.1D27.0020.0019.FD71][.1CB9.0020.0019.FD71] # ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM
+FD73  ; [.1CF3.0020.0017.FD73][.1D27.0020.0017.FD73][.1D27.0020.0017.FD73] # ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM
+FD74  ; [.1CF3.0020.0019.FD74][.1D27.0020.0019.FD74][.1D48.0020.0019.FD74] # ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM
+FD11  ; [.1CF3.0020.0019.FD11][.1D47.0020.0019.FD11] # ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM
+FCF5  ; [.1CF3.0020.001A.FCF5][.1D47.0020.001A.FCF5] # ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM
+FD12  ; [.1CF3.0020.0019.FD12][.1D48.0020.0019.FD12] # ARABIC LIGATURE TAH WITH YEH FINAL FORM
+FCF6  ; [.1CF3.0020.001A.FCF6][.1D48.0020.001A.FCF6] # ARABIC LIGATURE TAH WITH YEH ISOLATED FORM
+0638  ; [.1CF4.0020.0002.0638] # ARABIC LETTER ZAH
+1EE1A ; [.1CF4.0020.0005.1EE1A] # ARABIC MATHEMATICAL ZAH
+1EE7A ; [.1CF4.0020.0005.1EE7A] # ARABIC MATHEMATICAL STRETCHED ZAH
+1EE9A ; [.1CF4.0020.0005.1EE9A] # ARABIC MATHEMATICAL LOOPED ZAH
+1EEBA ; [.1CF4.0020.0005.1EEBA] # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+FEC7  ; [.1CF4.0020.0017.FEC7] # ARABIC LETTER ZAH INITIAL FORM
+FEC8  ; [.1CF4.0020.0018.FEC8] # ARABIC LETTER ZAH MEDIAL FORM
+FEC6  ; [.1CF4.0020.0019.FEC6] # ARABIC LETTER ZAH FINAL FORM
+FEC5  ; [.1CF4.0020.001A.FEC5] # ARABIC LETTER ZAH ISOLATED FORM
+FCB9  ; [.1CF4.0020.0017.FCB9][.1D27.0020.0017.FCB9] # ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM
+FD3B  ; [.1CF4.0020.0018.FD3B][.1D27.0020.0018.FD3B] # ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM
+FC28  ; [.1CF4.0020.001A.FC28][.1D27.0020.001A.FC28] # ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM
+069F  ; [.1CF5.0020.0002.069F] # ARABIC LETTER TAH WITH THREE DOTS ABOVE
+08A3  ; [.1CF6.0020.0002.08A3] # ARABIC LETTER TAH WITH TWO DOTS ABOVE
+0639  ; [.1CF7.0020.0002.0639] # ARABIC LETTER AIN
+1EE0F ; [.1CF7.0020.0005.1EE0F] # ARABIC MATHEMATICAL AIN
+1EE2F ; [.1CF7.0020.0005.1EE2F] # ARABIC MATHEMATICAL INITIAL AIN
+1EE4F ; [.1CF7.0020.0005.1EE4F] # ARABIC MATHEMATICAL TAILED AIN
+1EE6F ; [.1CF7.0020.0005.1EE6F] # ARABIC MATHEMATICAL STRETCHED AIN
+1EE8F ; [.1CF7.0020.0005.1EE8F] # ARABIC MATHEMATICAL LOOPED AIN
+1EEAF ; [.1CF7.0020.0005.1EEAF] # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+FECB  ; [.1CF7.0020.0017.FECB] # ARABIC LETTER AIN INITIAL FORM
+FECC  ; [.1CF7.0020.0018.FECC] # ARABIC LETTER AIN MEDIAL FORM
+FECA  ; [.1CF7.0020.0019.FECA] # ARABIC LETTER AIN FINAL FORM
+FEC9  ; [.1CF7.0020.001A.FEC9] # ARABIC LETTER AIN ISOLATED FORM
+FCBA  ; [.1CF7.0020.0017.FCBA][.1CB2.0020.0017.FCBA] # ARABIC LIGATURE AIN WITH JEEM INITIAL FORM
+FC29  ; [.1CF7.0020.001A.FC29][.1CB2.0020.001A.FC29] # ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM
+FDC4  ; [.1CF7.0020.0017.FDC4][.1CB2.0020.0017.FDC4][.1D27.0020.0017.FDC4] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM
+FD75  ; [.1CF7.0020.0019.FD75][.1CB2.0020.0019.FD75][.1D27.0020.0019.FD75] # ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM
+FDF7  ; [.1CF7.0020.001A.FDF7][.1D20.0020.001A.FDF7][.1D48.0020.001A.FDF7][.1D34.0020.001A.FDF7] # ARABIC LIGATURE ALAYHE ISOLATED FORM
+FCBB  ; [.1CF7.0020.0017.FCBB][.1D27.0020.0017.FCBB] # ARABIC LIGATURE AIN WITH MEEM INITIAL FORM
+FC2A  ; [.1CF7.0020.001A.FC2A][.1D27.0020.001A.FC2A] # ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM
+FD77  ; [.1CF7.0020.0017.FD77][.1D27.0020.0017.FD77][.1D27.0020.0017.FD77] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM
+FD76  ; [.1CF7.0020.0019.FD76][.1D27.0020.0019.FD76][.1D27.0020.0019.FD76] # ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM
+FD78  ; [.1CF7.0020.0019.FD78][.1D27.0020.0019.FD78][.1D47.0020.0019.FD78] # ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FDB6  ; [.1CF7.0020.0019.FDB6][.1D27.0020.0019.FDB6][.1D48.0020.0019.FDB6] # ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM
+FD13  ; [.1CF7.0020.0019.FD13][.1D47.0020.0019.FD13] # ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM
+FCF7  ; [.1CF7.0020.001A.FCF7][.1D47.0020.001A.FCF7] # ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM
+FD14  ; [.1CF7.0020.0019.FD14][.1D48.0020.0019.FD14] # ARABIC LIGATURE AIN WITH YEH FINAL FORM
+FCF8  ; [.1CF7.0020.001A.FCF8][.1D48.0020.001A.FCF8] # ARABIC LIGATURE AIN WITH YEH ISOLATED FORM
+063A  ; [.1CF8.0020.0002.063A] # ARABIC LETTER GHAIN
+1EE1B ; [.1CF8.0020.0005.1EE1B] # ARABIC MATHEMATICAL GHAIN
+1EE3B ; [.1CF8.0020.0005.1EE3B] # ARABIC MATHEMATICAL INITIAL GHAIN
+1EE5B ; [.1CF8.0020.0005.1EE5B] # ARABIC MATHEMATICAL TAILED GHAIN
+1EE7B ; [.1CF8.0020.0005.1EE7B] # ARABIC MATHEMATICAL STRETCHED GHAIN
+1EE9B ; [.1CF8.0020.0005.1EE9B] # ARABIC MATHEMATICAL LOOPED GHAIN
+1EEBB ; [.1CF8.0020.0005.1EEBB] # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+FECF  ; [.1CF8.0020.0017.FECF] # ARABIC LETTER GHAIN INITIAL FORM
+FED0  ; [.1CF8.0020.0018.FED0] # ARABIC LETTER GHAIN MEDIAL FORM
+FECE  ; [.1CF8.0020.0019.FECE] # ARABIC LETTER GHAIN FINAL FORM
+FECD  ; [.1CF8.0020.001A.FECD] # ARABIC LETTER GHAIN ISOLATED FORM
+FCBC  ; [.1CF8.0020.0017.FCBC][.1CB2.0020.0017.FCBC] # ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM
+FC2B  ; [.1CF8.0020.001A.FC2B][.1CB2.0020.001A.FC2B] # ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM
+FCBD  ; [.1CF8.0020.0017.FCBD][.1D27.0020.0017.FCBD] # ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM
+FC2C  ; [.1CF8.0020.001A.FC2C][.1D27.0020.001A.FC2C] # ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM
+FD79  ; [.1CF8.0020.0019.FD79][.1D27.0020.0019.FD79][.1D27.0020.0019.FD79] # ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM
+FD7B  ; [.1CF8.0020.0019.FD7B][.1D27.0020.0019.FD7B][.1D47.0020.0019.FD7B] # ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD7A  ; [.1CF8.0020.0019.FD7A][.1D27.0020.0019.FD7A][.1D48.0020.0019.FD7A] # ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM
+FD15  ; [.1CF8.0020.0019.FD15][.1D47.0020.0019.FD15] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM
+FCF9  ; [.1CF8.0020.001A.FCF9][.1D47.0020.001A.FCF9] # ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM
+FD16  ; [.1CF8.0020.0019.FD16][.1D48.0020.0019.FD16] # ARABIC LIGATURE GHAIN WITH YEH FINAL FORM
+FCFA  ; [.1CF8.0020.001A.FCFA][.1D48.0020.001A.FCFA] # ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM
+06A0  ; [.1CF9.0020.0002.06A0] # ARABIC LETTER AIN WITH THREE DOTS ABOVE
+06FC  ; [.1CFA.0020.0002.06FC] # ARABIC LETTER GHAIN WITH DOT BELOW
+075D  ; [.1CFB.0020.0002.075D] # ARABIC LETTER AIN WITH TWO DOTS ABOVE
+075E  ; [.1CFC.0020.0002.075E] # ARABIC LETTER AIN WITH THREE DOTS POINTING DOWNWARDS ABOVE
+075F  ; [.1CFD.0020.0002.075F] # ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE
+0641  ; [.1CFE.0020.0002.0641] # ARABIC LETTER FEH
+1EE10 ; [.1CFE.0020.0005.1EE10] # ARABIC MATHEMATICAL FEH
+1EE30 ; [.1CFE.0020.0005.1EE30] # ARABIC MATHEMATICAL INITIAL FEH
+1EE70 ; [.1CFE.0020.0005.1EE70] # ARABIC MATHEMATICAL STRETCHED FEH
+1EE90 ; [.1CFE.0020.0005.1EE90] # ARABIC MATHEMATICAL LOOPED FEH
+1EEB0 ; [.1CFE.0020.0005.1EEB0] # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+FED3  ; [.1CFE.0020.0017.FED3] # ARABIC LETTER FEH INITIAL FORM
+FED4  ; [.1CFE.0020.0018.FED4] # ARABIC LETTER FEH MEDIAL FORM
+FED2  ; [.1CFE.0020.0019.FED2] # ARABIC LETTER FEH FINAL FORM
+FED1  ; [.1CFE.0020.001A.FED1] # ARABIC LETTER FEH ISOLATED FORM
+FCBE  ; [.1CFE.0020.0017.FCBE][.1CB2.0020.0017.FCBE] # ARABIC LIGATURE FEH WITH JEEM INITIAL FORM
+FC2D  ; [.1CFE.0020.001A.FC2D][.1CB2.0020.001A.FC2D] # ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM
+FCBF  ; [.1CFE.0020.0017.FCBF][.1CB9.0020.0017.FCBF] # ARABIC LIGATURE FEH WITH HAH INITIAL FORM
+FC2E  ; [.1CFE.0020.001A.FC2E][.1CB9.0020.001A.FC2E] # ARABIC LIGATURE FEH WITH HAH ISOLATED FORM
+FCC0  ; [.1CFE.0020.0017.FCC0][.1CBA.0020.0017.FCC0] # ARABIC LIGATURE FEH WITH KHAH INITIAL FORM
+FC2F  ; [.1CFE.0020.001A.FC2F][.1CBA.0020.001A.FC2F] # ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM
+FD7D  ; [.1CFE.0020.0017.FD7D][.1CBA.0020.0017.FD7D][.1D27.0020.0017.FD7D] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM
+FD7C  ; [.1CFE.0020.0019.FD7C][.1CBA.0020.0019.FD7C][.1D27.0020.0019.FD7C] # ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM
+FCC1  ; [.1CFE.0020.0017.FCC1][.1D27.0020.0017.FCC1] # ARABIC LIGATURE FEH WITH MEEM INITIAL FORM
+FC30  ; [.1CFE.0020.001A.FC30][.1D27.0020.001A.FC30] # ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM
+FDC1  ; [.1CFE.0020.0019.FDC1][.1D27.0020.0019.FDC1][.1D48.0020.0019.FDC1] # ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM
+FC7C  ; [.1CFE.0020.0019.FC7C][.1D47.0020.0019.FC7C] # ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM
+FC31  ; [.1CFE.0020.001A.FC31][.1D47.0020.001A.FC31] # ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM
+FC7D  ; [.1CFE.0020.0019.FC7D][.1D48.0020.0019.FC7D] # ARABIC LIGATURE FEH WITH YEH FINAL FORM
+FC32  ; [.1CFE.0020.001A.FC32][.1D48.0020.001A.FC32] # ARABIC LIGATURE FEH WITH YEH ISOLATED FORM
+06A1  ; [.1CFF.0020.0002.06A1] # ARABIC LETTER DOTLESS FEH
+1EE1E ; [.1CFF.0020.0005.1EE1E] # ARABIC MATHEMATICAL DOTLESS FEH
+1EE7E ; [.1CFF.0020.0005.1EE7E] # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+06A2  ; [.1D00.0020.0002.06A2] # ARABIC LETTER FEH WITH DOT MOVED BELOW
+06A3  ; [.1D01.0020.0002.06A3] # ARABIC LETTER FEH WITH DOT BELOW
+06A4  ; [.1D02.0020.0002.06A4] # ARABIC LETTER VEH
+FB6C  ; [.1D02.0020.0017.FB6C] # ARABIC LETTER VEH INITIAL FORM
+FB6D  ; [.1D02.0020.0018.FB6D] # ARABIC LETTER VEH MEDIAL FORM
+FB6B  ; [.1D02.0020.0019.FB6B] # ARABIC LETTER VEH FINAL FORM
+FB6A  ; [.1D02.0020.001A.FB6A] # ARABIC LETTER VEH ISOLATED FORM
+08A4  ; [.1D03.0020.0002.08A4] # ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
+06A5  ; [.1D04.0020.0002.06A5] # ARABIC LETTER FEH WITH THREE DOTS BELOW
+06A6  ; [.1D05.0020.0002.06A6] # ARABIC LETTER PEHEH
+FB70  ; [.1D05.0020.0017.FB70] # ARABIC LETTER PEHEH INITIAL FORM
+FB71  ; [.1D05.0020.0018.FB71] # ARABIC LETTER PEHEH MEDIAL FORM
+FB6F  ; [.1D05.0020.0019.FB6F] # ARABIC LETTER PEHEH FINAL FORM
+FB6E  ; [.1D05.0020.001A.FB6E] # ARABIC LETTER PEHEH ISOLATED FORM
+0760  ; [.1D06.0020.0002.0760] # ARABIC LETTER FEH WITH TWO DOTS BELOW
+0761  ; [.1D07.0020.0002.0761] # ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+066F  ; [.1D08.0020.0002.066F] # ARABIC LETTER DOTLESS QAF
+1EE1F ; [.1D08.0020.0005.1EE1F] # ARABIC MATHEMATICAL DOTLESS QAF
+1EE5F ; [.1D08.0020.0005.1EE5F] # ARABIC MATHEMATICAL TAILED DOTLESS QAF
+0642  ; [.1D09.0020.0002.0642] # ARABIC LETTER QAF
+1EE12 ; [.1D09.0020.0005.1EE12] # ARABIC MATHEMATICAL QAF
+1EE32 ; [.1D09.0020.0005.1EE32] # ARABIC MATHEMATICAL INITIAL QAF
+1EE52 ; [.1D09.0020.0005.1EE52] # ARABIC MATHEMATICAL TAILED QAF
+1EE72 ; [.1D09.0020.0005.1EE72] # ARABIC MATHEMATICAL STRETCHED QAF
+1EE92 ; [.1D09.0020.0005.1EE92] # ARABIC MATHEMATICAL LOOPED QAF
+1EEB2 ; [.1D09.0020.0005.1EEB2] # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+FED7  ; [.1D09.0020.0017.FED7] # ARABIC LETTER QAF INITIAL FORM
+FED8  ; [.1D09.0020.0018.FED8] # ARABIC LETTER QAF MEDIAL FORM
+FED6  ; [.1D09.0020.0019.FED6] # ARABIC LETTER QAF FINAL FORM
+FED5  ; [.1D09.0020.001A.FED5] # ARABIC LETTER QAF ISOLATED FORM
+FCC2  ; [.1D09.0020.0017.FCC2][.1CB9.0020.0017.FCC2] # ARABIC LIGATURE QAF WITH HAH INITIAL FORM
+FC33  ; [.1D09.0020.001A.FC33][.1CB9.0020.001A.FC33] # ARABIC LIGATURE QAF WITH HAH ISOLATED FORM
+FDF1  ; [.1D09.0020.001A.FDF1][.1D20.0020.001A.FDF1][.1D55.0020.001A.FDF1] # ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM
+FCC3  ; [.1D09.0020.0017.FCC3][.1D27.0020.0017.FCC3] # ARABIC LIGATURE QAF WITH MEEM INITIAL FORM
+FC34  ; [.1D09.0020.001A.FC34][.1D27.0020.001A.FC34] # ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM
+FDB4  ; [.1D09.0020.0017.FDB4][.1D27.0020.0017.FDB4][.1CB9.0020.0017.FDB4] # ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM
+FD7E  ; [.1D09.0020.0019.FD7E][.1D27.0020.0019.FD7E][.1CB9.0020.0019.FD7E] # ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM
+FD7F  ; [.1D09.0020.0019.FD7F][.1D27.0020.0019.FD7F][.1D27.0020.0019.FD7F] # ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM
+FDB2  ; [.1D09.0020.0019.FDB2][.1D27.0020.0019.FDB2][.1D48.0020.0019.FDB2] # ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM
+FC7E  ; [.1D09.0020.0019.FC7E][.1D47.0020.0019.FC7E] # ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM
+FC35  ; [.1D09.0020.001A.FC35][.1D47.0020.001A.FC35] # ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM
+FC7F  ; [.1D09.0020.0019.FC7F][.1D48.0020.0019.FC7F] # ARABIC LIGATURE QAF WITH YEH FINAL FORM
+FC36  ; [.1D09.0020.001A.FC36][.1D48.0020.001A.FC36] # ARABIC LIGATURE QAF WITH YEH ISOLATED FORM
+06A7  ; [.1D0A.0020.0002.06A7] # ARABIC LETTER QAF WITH DOT ABOVE
+06A8  ; [.1D0B.0020.0002.06A8] # ARABIC LETTER QAF WITH THREE DOTS ABOVE
+08A5  ; [.1D0C.0020.0002.08A5] # ARABIC LETTER QAF WITH DOT BELOW
+0643  ; [.1D0D.0020.0002.0643] # ARABIC LETTER KAF
+1EE0A ; [.1D0D.0020.0005.1EE0A] # ARABIC MATHEMATICAL KAF
+1EE2A ; [.1D0D.0020.0005.1EE2A] # ARABIC MATHEMATICAL INITIAL KAF
+1EE6A ; [.1D0D.0020.0005.1EE6A] # ARABIC MATHEMATICAL STRETCHED KAF
+FEDB  ; [.1D0D.0020.0017.FEDB] # ARABIC LETTER KAF INITIAL FORM
+FEDC  ; [.1D0D.0020.0018.FEDC] # ARABIC LETTER KAF MEDIAL FORM
+FEDA  ; [.1D0D.0020.0019.FEDA] # ARABIC LETTER KAF FINAL FORM
+FED9  ; [.1D0D.0020.001A.FED9] # ARABIC LETTER KAF ISOLATED FORM
+FC80  ; [.1D0D.0020.0019.FC80][.1C9C.0020.0019.FC80] # ARABIC LIGATURE KAF WITH ALEF FINAL FORM
+FC37  ; [.1D0D.0020.001A.FC37][.1C9C.0020.001A.FC37] # ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM
+FCC4  ; [.1D0D.0020.0017.FCC4][.1CB2.0020.0017.FCC4] # ARABIC LIGATURE KAF WITH JEEM INITIAL FORM
+FC38  ; [.1D0D.0020.001A.FC38][.1CB2.0020.001A.FC38] # ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM
+FCC5  ; [.1D0D.0020.0017.FCC5][.1CB9.0020.0017.FCC5] # ARABIC LIGATURE KAF WITH HAH INITIAL FORM
+FC39  ; [.1D0D.0020.001A.FC39][.1CB9.0020.001A.FC39] # ARABIC LIGATURE KAF WITH HAH ISOLATED FORM
+FCC6  ; [.1D0D.0020.0017.FCC6][.1CBA.0020.0017.FCC6] # ARABIC LIGATURE KAF WITH KHAH INITIAL FORM
+FC3A  ; [.1D0D.0020.001A.FC3A][.1CBA.0020.001A.FC3A] # ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM
+FCC7  ; [.1D0D.0020.0017.FCC7][.1D20.0020.0017.FCC7] # ARABIC LIGATURE KAF WITH LAM INITIAL FORM
+FCEB  ; [.1D0D.0020.0018.FCEB][.1D20.0020.0018.FCEB] # ARABIC LIGATURE KAF WITH LAM MEDIAL FORM
+FC81  ; [.1D0D.0020.0019.FC81][.1D20.0020.0019.FC81] # ARABIC LIGATURE KAF WITH LAM FINAL FORM
+FC3B  ; [.1D0D.0020.001A.FC3B][.1D20.0020.001A.FC3B] # ARABIC LIGATURE KAF WITH LAM ISOLATED FORM
+FCC8  ; [.1D0D.0020.0017.FCC8][.1D27.0020.0017.FCC8] # ARABIC LIGATURE KAF WITH MEEM INITIAL FORM
+FCEC  ; [.1D0D.0020.0018.FCEC][.1D27.0020.0018.FCEC] # ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM
+FC82  ; [.1D0D.0020.0019.FC82][.1D27.0020.0019.FC82] # ARABIC LIGATURE KAF WITH MEEM FINAL FORM
+FC3C  ; [.1D0D.0020.001A.FC3C][.1D27.0020.001A.FC3C] # ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM
+FDC3  ; [.1D0D.0020.0017.FDC3][.1D27.0020.0017.FDC3][.1D27.0020.0017.FDC3] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM
+FDBB  ; [.1D0D.0020.0019.FDBB][.1D27.0020.0019.FDBB][.1D27.0020.0019.FDBB] # ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM
+FDB7  ; [.1D0D.0020.0019.FDB7][.1D27.0020.0019.FDB7][.1D48.0020.0019.FDB7] # ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM
+FC83  ; [.1D0D.0020.0019.FC83][.1D47.0020.0019.FC83] # ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM
+FC3D  ; [.1D0D.0020.001A.FC3D][.1D47.0020.001A.FC3D] # ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM
+FC84  ; [.1D0D.0020.0019.FC84][.1D48.0020.0019.FC84] # ARABIC LIGATURE KAF WITH YEH FINAL FORM
+FC3E  ; [.1D0D.0020.001A.FC3E][.1D48.0020.001A.FC3E] # ARABIC LIGATURE KAF WITH YEH ISOLATED FORM
+06A9  ; [.1D0E.0020.0002.06A9] # ARABIC LETTER KEHEH
+FB90  ; [.1D0E.0020.0017.FB90] # ARABIC LETTER KEHEH INITIAL FORM
+FB91  ; [.1D0E.0020.0018.FB91] # ARABIC LETTER KEHEH MEDIAL FORM
+FB8F  ; [.1D0E.0020.0019.FB8F] # ARABIC LETTER KEHEH FINAL FORM
+FB8E  ; [.1D0E.0020.001A.FB8E] # ARABIC LETTER KEHEH ISOLATED FORM
+06AA  ; [.1D0F.0020.0002.06AA] # ARABIC LETTER SWASH KAF
+06AB  ; [.1D10.0020.0002.06AB] # ARABIC LETTER KAF WITH RING
+06AC  ; [.1D11.0020.0002.06AC] # ARABIC LETTER KAF WITH DOT ABOVE
+077F  ; [.1D12.0020.0002.077F] # ARABIC LETTER KAF WITH TWO DOTS ABOVE
+06AD  ; [.1D13.0020.0002.06AD] # ARABIC LETTER NG
+FBD5  ; [.1D13.0020.0017.FBD5] # ARABIC LETTER NG INITIAL FORM
+FBD6  ; [.1D13.0020.0018.FBD6] # ARABIC LETTER NG MEDIAL FORM
+FBD4  ; [.1D13.0020.0019.FBD4] # ARABIC LETTER NG FINAL FORM
+FBD3  ; [.1D13.0020.001A.FBD3] # ARABIC LETTER NG ISOLATED FORM
+06AE  ; [.1D14.0020.0002.06AE] # ARABIC LETTER KAF WITH THREE DOTS BELOW
+06AF  ; [.1D15.0020.0002.06AF] # ARABIC LETTER GAF
+FB94  ; [.1D15.0020.0017.FB94] # ARABIC LETTER GAF INITIAL FORM
+FB95  ; [.1D15.0020.0018.FB95] # ARABIC LETTER GAF MEDIAL FORM
+FB93  ; [.1D15.0020.0019.FB93] # ARABIC LETTER GAF FINAL FORM
+FB92  ; [.1D15.0020.001A.FB92] # ARABIC LETTER GAF ISOLATED FORM
+06B0  ; [.1D16.0020.0002.06B0] # ARABIC LETTER GAF WITH RING
+06B1  ; [.1D17.0020.0002.06B1] # ARABIC LETTER NGOEH
+FB9C  ; [.1D17.0020.0017.FB9C] # ARABIC LETTER NGOEH INITIAL FORM
+FB9D  ; [.1D17.0020.0018.FB9D] # ARABIC LETTER NGOEH MEDIAL FORM
+FB9B  ; [.1D17.0020.0019.FB9B] # ARABIC LETTER NGOEH FINAL FORM
+FB9A  ; [.1D17.0020.001A.FB9A] # ARABIC LETTER NGOEH ISOLATED FORM
+06B2  ; [.1D18.0020.0002.06B2] # ARABIC LETTER GAF WITH TWO DOTS BELOW
+06B3  ; [.1D19.0020.0002.06B3] # ARABIC LETTER GUEH
+FB98  ; [.1D19.0020.0017.FB98] # ARABIC LETTER GUEH INITIAL FORM
+FB99  ; [.1D19.0020.0018.FB99] # ARABIC LETTER GUEH MEDIAL FORM
+FB97  ; [.1D19.0020.0019.FB97] # ARABIC LETTER GUEH FINAL FORM
+FB96  ; [.1D19.0020.001A.FB96] # ARABIC LETTER GUEH ISOLATED FORM
+06B4  ; [.1D1A.0020.0002.06B4] # ARABIC LETTER GAF WITH THREE DOTS ABOVE
+0762  ; [.1D1B.0020.0002.0762] # ARABIC LETTER KEHEH WITH DOT ABOVE
+063B  ; [.1D1C.0020.0002.063B] # ARABIC LETTER KEHEH WITH TWO DOTS ABOVE
+063C  ; [.1D1D.0020.0002.063C] # ARABIC LETTER KEHEH WITH THREE DOTS BELOW
+0763  ; [.1D1E.0020.0002.0763] # ARABIC LETTER KEHEH WITH THREE DOTS ABOVE
+0764  ; [.1D1F.0020.0002.0764] # ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW
+0644  ; [.1D20.0020.0002.0644] # ARABIC LETTER LAM
+1EE0B ; [.1D20.0020.0005.1EE0B] # ARABIC MATHEMATICAL LAM
+1EE2B ; [.1D20.0020.0005.1EE2B] # ARABIC MATHEMATICAL INITIAL LAM
+1EE4B ; [.1D20.0020.0005.1EE4B] # ARABIC MATHEMATICAL TAILED LAM
+1EE8B ; [.1D20.0020.0005.1EE8B] # ARABIC MATHEMATICAL LOOPED LAM
+1EEAB ; [.1D20.0020.0005.1EEAB] # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+FEDF  ; [.1D20.0020.0017.FEDF] # ARABIC LETTER LAM INITIAL FORM
+FEE0  ; [.1D20.0020.0018.FEE0] # ARABIC LETTER LAM MEDIAL FORM
+FEDE  ; [.1D20.0020.0019.FEDE] # ARABIC LETTER LAM FINAL FORM
+FEDD  ; [.1D20.0020.001A.FEDD] # ARABIC LETTER LAM ISOLATED FORM
+FEF6  ; [.1D20.0020.0019.FEF6][.1C8F.0020.0019.FEF6] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM
+FEF5  ; [.1D20.0020.001A.FEF5][.1C8F.0020.001A.FEF5] # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM
+FEF8  ; [.1D20.0020.0019.FEF8][.1C90.0020.0019.FEF8] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM
+FEF7  ; [.1D20.0020.001A.FEF7][.1C90.0020.001A.FEF7] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM
+FEFA  ; [.1D20.0020.0019.FEFA][.1C94.0020.0019.FEFA] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM
+FEF9  ; [.1D20.0020.001A.FEF9][.1C94.0020.001A.FEF9] # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM
+FEFC  ; [.1D20.0020.0019.FEFC][.1C9C.0020.0019.FEFC] # ARABIC LIGATURE LAM WITH ALEF FINAL FORM
+FEFB  ; [.1D20.0020.001A.FEFB][.1C9C.0020.001A.FEFB] # ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
+FCC9  ; [.1D20.0020.0017.FCC9][.1CB2.0020.0017.FCC9] # ARABIC LIGATURE LAM WITH JEEM INITIAL FORM
+FC3F  ; [.1D20.0020.001A.FC3F][.1CB2.0020.001A.FC3F] # ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM
+FD83  ; [.1D20.0020.0017.FD83][.1CB2.0020.0017.FD83][.1CB2.0020.0017.FD83] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM
+FD84  ; [.1D20.0020.0019.FD84][.1CB2.0020.0019.FD84][.1CB2.0020.0019.FD84] # ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM
+FDBA  ; [.1D20.0020.0017.FDBA][.1CB2.0020.0017.FDBA][.1D27.0020.0017.FDBA] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM
+FDBC  ; [.1D20.0020.0019.FDBC][.1CB2.0020.0019.FDBC][.1D27.0020.0019.FDBC] # ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM
+FDAC  ; [.1D20.0020.0019.FDAC][.1CB2.0020.0019.FDAC][.1D48.0020.0019.FDAC] # ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM
+FCCA  ; [.1D20.0020.0017.FCCA][.1CB9.0020.0017.FCCA] # ARABIC LIGATURE LAM WITH HAH INITIAL FORM
+FC40  ; [.1D20.0020.001A.FC40][.1CB9.0020.001A.FC40] # ARABIC LIGATURE LAM WITH HAH ISOLATED FORM
+FDB5  ; [.1D20.0020.0017.FDB5][.1CB9.0020.0017.FDB5][.1D27.0020.0017.FDB5] # ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM
+FD80  ; [.1D20.0020.0019.FD80][.1CB9.0020.0019.FD80][.1D27.0020.0019.FD80] # ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM
+FD82  ; [.1D20.0020.0019.FD82][.1CB9.0020.0019.FD82][.1D47.0020.0019.FD82] # ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM
+FD81  ; [.1D20.0020.0019.FD81][.1CB9.0020.0019.FD81][.1D48.0020.0019.FD81] # ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM
+FCCB  ; [.1D20.0020.0017.FCCB][.1CBA.0020.0017.FCCB] # ARABIC LIGATURE LAM WITH KHAH INITIAL FORM
+FC41  ; [.1D20.0020.001A.FC41][.1CBA.0020.001A.FC41] # ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM
+FD86  ; [.1D20.0020.0017.FD86][.1CBA.0020.0017.FD86][.1D27.0020.0017.FD86] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM
+FD85  ; [.1D20.0020.0019.FD85][.1CBA.0020.0019.FD85][.1D27.0020.0019.FD85] # ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM
+FCCC  ; [.1D20.0020.0017.FCCC][.1D27.0020.0017.FCCC] # ARABIC LIGATURE LAM WITH MEEM INITIAL FORM
+FCED  ; [.1D20.0020.0018.FCED][.1D27.0020.0018.FCED] # ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM
+FC85  ; [.1D20.0020.0019.FC85][.1D27.0020.0019.FC85] # ARABIC LIGATURE LAM WITH MEEM FINAL FORM
+FC42  ; [.1D20.0020.001A.FC42][.1D27.0020.001A.FC42] # ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM
+FD88  ; [.1D20.0020.0017.FD88][.1D27.0020.0017.FD88][.1CB9.0020.0017.FD88] # ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM
+FD87  ; [.1D20.0020.0019.FD87][.1D27.0020.0019.FD87][.1CB9.0020.0019.FD87] # ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM
+FDAD  ; [.1D20.0020.0019.FDAD][.1D27.0020.0019.FDAD][.1D48.0020.0019.FDAD] # ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM
+FCCD  ; [.1D20.0020.0017.FCCD][.1D34.0020.0017.FCCD] # ARABIC LIGATURE LAM WITH HEH INITIAL FORM
+FC86  ; [.1D20.0020.0019.FC86][.1D47.0020.0019.FC86] # ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM
+FC43  ; [.1D20.0020.001A.FC43][.1D47.0020.001A.FC43] # ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM
+FC87  ; [.1D20.0020.0019.FC87][.1D48.0020.0019.FC87] # ARABIC LIGATURE LAM WITH YEH FINAL FORM
+FC44  ; [.1D20.0020.001A.FC44][.1D48.0020.001A.FC44] # ARABIC LIGATURE LAM WITH YEH ISOLATED FORM
+06B5  ; [.1D21.0020.0002.06B5] # ARABIC LETTER LAM WITH SMALL V
+06B6  ; [.1D22.0020.0002.06B6] # ARABIC LETTER LAM WITH DOT ABOVE
+06B7  ; [.1D23.0020.0002.06B7] # ARABIC LETTER LAM WITH THREE DOTS ABOVE
+06B8  ; [.1D24.0020.0002.06B8] # ARABIC LETTER LAM WITH THREE DOTS BELOW
+076A  ; [.1D25.0020.0002.076A] # ARABIC LETTER LAM WITH BAR
+08A6  ; [.1D26.0020.0002.08A6] # ARABIC LETTER LAM WITH DOUBLE BAR
+0645  ; [.1D27.0020.0002.0645] # ARABIC LETTER MEEM
+1EE0C ; [.1D27.0020.0005.1EE0C] # ARABIC MATHEMATICAL MEEM
+1EE2C ; [.1D27.0020.0005.1EE2C] # ARABIC MATHEMATICAL INITIAL MEEM
+1EE6C ; [.1D27.0020.0005.1EE6C] # ARABIC MATHEMATICAL STRETCHED MEEM
+1EE8C ; [.1D27.0020.0005.1EE8C] # ARABIC MATHEMATICAL LOOPED MEEM
+1EEAC ; [.1D27.0020.0005.1EEAC] # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+FEE3  ; [.1D27.0020.0017.FEE3] # ARABIC LETTER MEEM INITIAL FORM
+FEE4  ; [.1D27.0020.0018.FEE4] # ARABIC LETTER MEEM MEDIAL FORM
+FEE2  ; [.1D27.0020.0019.FEE2] # ARABIC LETTER MEEM FINAL FORM
+FEE1  ; [.1D27.0020.001A.FEE1] # ARABIC LETTER MEEM ISOLATED FORM
+06FE  ; [.1D27.0020.0004.06FE][.0000.013A.0004.06FE] # ARABIC SIGN SINDHI POSTPOSITION MEN
+FC88  ; [.1D27.0020.0019.FC88][.1C9C.0020.0019.FC88] # ARABIC LIGATURE MEEM WITH ALEF FINAL FORM
+FCCE  ; [.1D27.0020.0017.FCCE][.1CB2.0020.0017.FCCE] # ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM
+FC45  ; [.1D27.0020.001A.FC45][.1CB2.0020.001A.FC45] # ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM
+FD8C  ; [.1D27.0020.0017.FD8C][.1CB2.0020.0017.FD8C][.1CB9.0020.0017.FD8C] # ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM
+FD92  ; [.1D27.0020.0017.FD92][.1CB2.0020.0017.FD92][.1CBA.0020.0017.FD92] # ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM
+FD8D  ; [.1D27.0020.0017.FD8D][.1CB2.0020.0017.FD8D][.1D27.0020.0017.FD8D] # ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM
+FDC0  ; [.1D27.0020.0019.FDC0][.1CB2.0020.0019.FDC0][.1D48.0020.0019.FDC0] # ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM
+FCCF  ; [.1D27.0020.0017.FCCF][.1CB9.0020.0017.FCCF] # ARABIC LIGATURE MEEM WITH HAH INITIAL FORM
+FC46  ; [.1D27.0020.001A.FC46][.1CB9.0020.001A.FC46] # ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM
+FD89  ; [.1D27.0020.0017.FD89][.1CB9.0020.0017.FD89][.1CB2.0020.0017.FD89] # ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM
+FD8A  ; [.1D27.0020.0017.FD8A][.1CB9.0020.0017.FD8A][.1D27.0020.0017.FD8A] # ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM
+FDF4  ; [.1D27.0020.001A.FDF4][.1CB9.0020.001A.FDF4][.1D27.0020.001A.FDF4][.1CC4.0020.001A.FDF4] # ARABIC LIGATURE MOHAMMAD ISOLATED FORM
+FD8B  ; [.1D27.0020.0019.FD8B][.1CB9.0020.0019.FD8B][.1D48.0020.0019.FD8B] # ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM
+FCD0  ; [.1D27.0020.0017.FCD0][.1CBA.0020.0017.FCD0] # ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM
+FC47  ; [.1D27.0020.001A.FC47][.1CBA.0020.001A.FC47] # ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM
+FD8E  ; [.1D27.0020.0017.FD8E][.1CBA.0020.0017.FD8E][.1CB2.0020.0017.FD8E] # ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM
+FD8F  ; [.1D27.0020.0017.FD8F][.1CBA.0020.0017.FD8F][.1D27.0020.0017.FD8F] # ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
+FDB9  ; [.1D27.0020.0019.FDB9][.1CBA.0020.0019.FDB9][.1D48.0020.0019.FDB9] # ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM
+FCD1  ; [.1D27.0020.0017.FCD1][.1D27.0020.0017.FCD1] # ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM
+FC89  ; [.1D27.0020.0019.FC89][.1D27.0020.0019.FC89] # ARABIC LIGATURE MEEM WITH MEEM FINAL FORM
+FC48  ; [.1D27.0020.001A.FC48][.1D27.0020.001A.FC48] # ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM
+FDB1  ; [.1D27.0020.0019.FDB1][.1D27.0020.0019.FDB1][.1D48.0020.0019.FDB1] # ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM
+FC49  ; [.1D27.0020.001A.FC49][.1D47.0020.001A.FC49] # ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM
+FC4A  ; [.1D27.0020.001A.FC4A][.1D48.0020.001A.FC4A] # ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM
+0765  ; [.1D28.0020.0002.0765] # ARABIC LETTER MEEM WITH DOT ABOVE
+0766  ; [.1D29.0020.0002.0766] # ARABIC LETTER MEEM WITH DOT BELOW
+08A7  ; [.1D2A.0020.0002.08A7] # ARABIC LETTER MEEM WITH THREE DOTS ABOVE
+0646  ; [.1D2B.0020.0002.0646] # ARABIC LETTER NOON
+1EE0D ; [.1D2B.0020.0005.1EE0D] # ARABIC MATHEMATICAL NOON
+1EE2D ; [.1D2B.0020.0005.1EE2D] # ARABIC MATHEMATICAL INITIAL NOON
+1EE4D ; [.1D2B.0020.0005.1EE4D] # ARABIC MATHEMATICAL TAILED NOON
+1EE6D ; [.1D2B.0020.0005.1EE6D] # ARABIC MATHEMATICAL STRETCHED NOON
+1EE8D ; [.1D2B.0020.0005.1EE8D] # ARABIC MATHEMATICAL LOOPED NOON
+1EEAD ; [.1D2B.0020.0005.1EEAD] # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+FEE7  ; [.1D2B.0020.0017.FEE7] # ARABIC LETTER NOON INITIAL FORM
+FEE8  ; [.1D2B.0020.0018.FEE8] # ARABIC LETTER NOON MEDIAL FORM
+FEE6  ; [.1D2B.0020.0019.FEE6] # ARABIC LETTER NOON FINAL FORM
+FEE5  ; [.1D2B.0020.001A.FEE5] # ARABIC LETTER NOON ISOLATED FORM
+FCD2  ; [.1D2B.0020.0017.FCD2][.1CB2.0020.0017.FCD2] # ARABIC LIGATURE NOON WITH JEEM INITIAL FORM
+FC4B  ; [.1D2B.0020.001A.FC4B][.1CB2.0020.001A.FC4B] # ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM
+FDB8  ; [.1D2B.0020.0017.FDB8][.1CB2.0020.0017.FDB8][.1CB9.0020.0017.FDB8] # ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM
+FDBD  ; [.1D2B.0020.0019.FDBD][.1CB2.0020.0019.FDBD][.1CB9.0020.0019.FDBD] # ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM
+FD98  ; [.1D2B.0020.0017.FD98][.1CB2.0020.0017.FD98][.1D27.0020.0017.FD98] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM
+FD97  ; [.1D2B.0020.0019.FD97][.1CB2.0020.0019.FD97][.1D27.0020.0019.FD97] # ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM
+FD99  ; [.1D2B.0020.0019.FD99][.1CB2.0020.0019.FD99][.1D47.0020.0019.FD99] # ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM
+FDC7  ; [.1D2B.0020.0019.FDC7][.1CB2.0020.0019.FDC7][.1D48.0020.0019.FDC7] # ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM
+FCD3  ; [.1D2B.0020.0017.FCD3][.1CB9.0020.0017.FCD3] # ARABIC LIGATURE NOON WITH HAH INITIAL FORM
+FC4C  ; [.1D2B.0020.001A.FC4C][.1CB9.0020.001A.FC4C] # ARABIC LIGATURE NOON WITH HAH ISOLATED FORM
+FD95  ; [.1D2B.0020.0017.FD95][.1CB9.0020.0017.FD95][.1D27.0020.0017.FD95] # ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM
+FD96  ; [.1D2B.0020.0019.FD96][.1CB9.0020.0019.FD96][.1D47.0020.0019.FD96] # ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM
+FDB3  ; [.1D2B.0020.0019.FDB3][.1CB9.0020.0019.FDB3][.1D48.0020.0019.FDB3] # ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM
+FCD4  ; [.1D2B.0020.0017.FCD4][.1CBA.0020.0017.FCD4] # ARABIC LIGATURE NOON WITH KHAH INITIAL FORM
+FC4D  ; [.1D2B.0020.001A.FC4D][.1CBA.0020.001A.FC4D] # ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM
+FC8A  ; [.1D2B.0020.0019.FC8A][.1CD2.0020.0019.FC8A] # ARABIC LIGATURE NOON WITH REH FINAL FORM
+FC8B  ; [.1D2B.0020.0019.FC8B][.1CD3.0020.0019.FC8B] # ARABIC LIGATURE NOON WITH ZAIN FINAL FORM
+FCD5  ; [.1D2B.0020.0017.FCD5][.1D27.0020.0017.FCD5] # ARABIC LIGATURE NOON WITH MEEM INITIAL FORM
+FCEE  ; [.1D2B.0020.0018.FCEE][.1D27.0020.0018.FCEE] # ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM
+FC8C  ; [.1D2B.0020.0019.FC8C][.1D27.0020.0019.FC8C] # ARABIC LIGATURE NOON WITH MEEM FINAL FORM
+FC4E  ; [.1D2B.0020.001A.FC4E][.1D27.0020.001A.FC4E] # ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM
+FD9B  ; [.1D2B.0020.0019.FD9B][.1D27.0020.0019.FD9B][.1D47.0020.0019.FD9B] # ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM
+FD9A  ; [.1D2B.0020.0019.FD9A][.1D27.0020.0019.FD9A][.1D48.0020.0019.FD9A] # ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM
+FC8D  ; [.1D2B.0020.0019.FC8D][.1D2B.0020.0019.FC8D] # ARABIC LIGATURE NOON WITH NOON FINAL FORM
+FCD6  ; [.1D2B.0020.0017.FCD6][.1D34.0020.0017.FCD6] # ARABIC LIGATURE NOON WITH HEH INITIAL FORM
+FCEF  ; [.1D2B.0020.0018.FCEF][.1D34.0020.0018.FCEF] # ARABIC LIGATURE NOON WITH HEH MEDIAL FORM
+FC8E  ; [.1D2B.0020.0019.FC8E][.1D47.0020.0019.FC8E] # ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM
+FC4F  ; [.1D2B.0020.001A.FC4F][.1D47.0020.001A.FC4F] # ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM
+FC8F  ; [.1D2B.0020.0019.FC8F][.1D48.0020.0019.FC8F] # ARABIC LIGATURE NOON WITH YEH FINAL FORM
+FC50  ; [.1D2B.0020.001A.FC50][.1D48.0020.001A.FC50] # ARABIC LIGATURE NOON WITH YEH ISOLATED FORM
+06BA  ; [.1D2C.0020.0002.06BA] # ARABIC LETTER NOON GHUNNA
+1EE1D ; [.1D2C.0020.0005.1EE1D] # ARABIC MATHEMATICAL DOTLESS NOON
+1EE5D ; [.1D2C.0020.0005.1EE5D] # ARABIC MATHEMATICAL TAILED DOTLESS NOON
+FB9F  ; [.1D2C.0020.0019.FB9F] # ARABIC LETTER NOON GHUNNA FINAL FORM
+FB9E  ; [.1D2C.0020.001A.FB9E] # ARABIC LETTER NOON GHUNNA ISOLATED FORM
+06BB  ; [.1D2D.0020.0002.06BB] # ARABIC LETTER RNOON
+FBA2  ; [.1D2D.0020.0017.FBA2] # ARABIC LETTER RNOON INITIAL FORM
+FBA3  ; [.1D2D.0020.0018.FBA3] # ARABIC LETTER RNOON MEDIAL FORM
+FBA1  ; [.1D2D.0020.0019.FBA1] # ARABIC LETTER RNOON FINAL FORM
+FBA0  ; [.1D2D.0020.001A.FBA0] # ARABIC LETTER RNOON ISOLATED FORM
+06BC  ; [.1D2E.0020.0002.06BC] # ARABIC LETTER NOON WITH RING
+06BD  ; [.1D2F.0020.0002.06BD] # ARABIC LETTER NOON WITH THREE DOTS ABOVE
+06B9  ; [.1D30.0020.0002.06B9] # ARABIC LETTER NOON WITH DOT BELOW
+0767  ; [.1D31.0020.0002.0767] # ARABIC LETTER NOON WITH TWO DOTS BELOW
+0768  ; [.1D32.0020.0002.0768] # ARABIC LETTER NOON WITH SMALL TAH
+0769  ; [.1D33.0020.0002.0769] # ARABIC LETTER NOON WITH SMALL V
+0647  ; [.1D34.0020.0002.0647] # ARABIC LETTER HEH
+1EE24 ; [.1D34.0020.0005.1EE24] # ARABIC MATHEMATICAL INITIAL HEH
+1EE64 ; [.1D34.0020.0005.1EE64] # ARABIC MATHEMATICAL STRETCHED HEH
+1EE84 ; [.1D34.0020.0005.1EE84] # ARABIC MATHEMATICAL LOOPED HEH
+FEEB  ; [.1D34.0020.0017.FEEB] # ARABIC LETTER HEH INITIAL FORM
+FEEC  ; [.1D34.0020.0018.FEEC] # ARABIC LETTER HEH MEDIAL FORM
+FEEA  ; [.1D34.0020.0019.FEEA] # ARABIC LETTER HEH FINAL FORM
+FEE9  ; [.1D34.0020.001A.FEE9] # ARABIC LETTER HEH ISOLATED FORM
+FCD9  ; [.1D34.0020.0017.FCD9][.0000.00D1.0017.FCD9] # ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM
+FCD7  ; [.1D34.0020.0017.FCD7][.1CB2.0020.0017.FCD7] # ARABIC LIGATURE HEH WITH JEEM INITIAL FORM
+FC51  ; [.1D34.0020.001A.FC51][.1CB2.0020.001A.FC51] # ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM
+FCD8  ; [.1D34.0020.0017.FCD8][.1D27.0020.0017.FCD8] # ARABIC LIGATURE HEH WITH MEEM INITIAL FORM
+FC52  ; [.1D34.0020.001A.FC52][.1D27.0020.001A.FC52] # ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM
+FD93  ; [.1D34.0020.0017.FD93][.1D27.0020.0017.FD93][.1CB2.0020.0017.FD93] # ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM
+FD94  ; [.1D34.0020.0017.FD94][.1D27.0020.0017.FD94][.1D27.0020.0017.FD94] # ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM
+FC53  ; [.1D34.0020.001A.FC53][.1D47.0020.001A.FC53] # ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM
+FC54  ; [.1D34.0020.001A.FC54][.1D48.0020.001A.FC54] # ARABIC LIGATURE HEH WITH YEH ISOLATED FORM
+06BE  ; [.1D35.0020.0002.06BE] # ARABIC LETTER HEH DOACHASHMEE
+FBAC  ; [.1D35.0020.0017.FBAC] # ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
+FBAD  ; [.1D35.0020.0018.FBAD] # ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
+FBAB  ; [.1D35.0020.0019.FBAB] # ARABIC LETTER HEH DOACHASHMEE FINAL FORM
+FBAA  ; [.1D35.0020.001A.FBAA] # ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+06C1  ; [.1D36.0020.0002.06C1] # ARABIC LETTER HEH GOAL
+FBA8  ; [.1D36.0020.0017.FBA8] # ARABIC LETTER HEH GOAL INITIAL FORM
+FBA9  ; [.1D36.0020.0018.FBA9] # ARABIC LETTER HEH GOAL MEDIAL FORM
+FBA7  ; [.1D36.0020.0019.FBA7] # ARABIC LETTER HEH GOAL FINAL FORM
+FBA6  ; [.1D36.0020.001A.FBA6] # ARABIC LETTER HEH GOAL ISOLATED FORM
+06C2  ; [.1D36.0020.0002.06C1][.0000.00BE.0002.0654] # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE
+06C3  ; [.1D37.0020.0002.06C3] # ARABIC LETTER TEH MARBUTA GOAL
+06FF  ; [.1D38.0020.0002.06FF] # ARABIC LETTER HEH WITH INVERTED V
+06D5  ; [.1D39.0020.0002.06D5] # ARABIC LETTER AE
+06C0  ; [.1D39.0020.0002.06D5][.0000.00BE.0002.0654] # ARABIC LETTER HEH WITH YEH ABOVE
+FBA5  ; [.1D39.0020.0019.FBA5][.0000.00BE.0019.FBA5] # ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
+FBA4  ; [.1D39.0020.001A.FBA4][.0000.00BE.001A.FBA4] # ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
+0648  ; [.1D3A.0020.0002.0648] # ARABIC LETTER WAW
+06E5  ; [.1D3A.0020.0004.06E5] # ARABIC SMALL WAW
+1EE05 ; [.1D3A.0020.0005.1EE05] # ARABIC MATHEMATICAL WAW
+1EE85 ; [.1D3A.0020.0005.1EE85] # ARABIC MATHEMATICAL LOOPED WAW
+1EEA5 ; [.1D3A.0020.0005.1EEA5] # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+FEEE  ; [.1D3A.0020.0019.FEEE] # ARABIC LETTER WAW FINAL FORM
+FEED  ; [.1D3A.0020.001A.FEED] # ARABIC LETTER WAW ISOLATED FORM
+0676  ; [.1D3A.0020.0004.0676][.1C8E.0020.0004.0676] # ARABIC LETTER HIGH HAMZA WAW
+FDF8  ; [.1D3A.0020.001A.FDF8][.1CE3.0020.001A.FDF8][.1D20.0020.001A.FDF8][.1D27.0020.001A.FDF8] # ARABIC LIGATURE WASALLAM ISOLATED FORM
+06C4  ; [.1D3B.0020.0002.06C4] # ARABIC LETTER WAW WITH RING
+06C5  ; [.1D3C.0020.0002.06C5] # ARABIC LETTER KIRGHIZ OE
+FBE1  ; [.1D3C.0020.0019.FBE1] # ARABIC LETTER KIRGHIZ OE FINAL FORM
+FBE0  ; [.1D3C.0020.001A.FBE0] # ARABIC LETTER KIRGHIZ OE ISOLATED FORM
+06C6  ; [.1D3D.0020.0002.06C6] # ARABIC LETTER OE
+FBDA  ; [.1D3D.0020.0019.FBDA] # ARABIC LETTER OE FINAL FORM
+FBD9  ; [.1D3D.0020.001A.FBD9] # ARABIC LETTER OE ISOLATED FORM
+06C7  ; [.1D3E.0020.0002.06C7] # ARABIC LETTER U
+FBD8  ; [.1D3E.0020.0019.FBD8] # ARABIC LETTER U FINAL FORM
+FBD7  ; [.1D3E.0020.001A.FBD7] # ARABIC LETTER U ISOLATED FORM
+0677  ; [.1D3E.0020.0004.0677][.1C8E.0020.0004.0677] # ARABIC LETTER U WITH HAMZA ABOVE
+FBDD  ; [.1D3E.0020.001A.FBDD][.1C8E.0020.001A.FBDD] # ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
+06C8  ; [.1D3F.0020.0002.06C8] # ARABIC LETTER YU
+FBDC  ; [.1D3F.0020.0019.FBDC] # ARABIC LETTER YU FINAL FORM
+FBDB  ; [.1D3F.0020.001A.FBDB] # ARABIC LETTER YU ISOLATED FORM
+06C9  ; [.1D40.0020.0002.06C9] # ARABIC LETTER KIRGHIZ YU
+FBE3  ; [.1D40.0020.0019.FBE3] # ARABIC LETTER KIRGHIZ YU FINAL FORM
+FBE2  ; [.1D40.0020.001A.FBE2] # ARABIC LETTER KIRGHIZ YU ISOLATED FORM
+06CA  ; [.1D41.0020.0002.06CA] # ARABIC LETTER WAW WITH TWO DOTS ABOVE
+06CB  ; [.1D42.0020.0002.06CB] # ARABIC LETTER VE
+FBDF  ; [.1D42.0020.0019.FBDF] # ARABIC LETTER VE FINAL FORM
+FBDE  ; [.1D42.0020.001A.FBDE] # ARABIC LETTER VE ISOLATED FORM
+06CF  ; [.1D43.0020.0002.06CF] # ARABIC LETTER WAW WITH DOT ABOVE
+0778  ; [.1D44.0020.0002.0778] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0779  ; [.1D45.0020.0002.0779] # ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+08AB  ; [.1D46.0020.0002.08AB] # ARABIC LETTER WAW WITH DOT WITHIN
+0649  ; [.1D47.0020.0002.0649] # ARABIC LETTER ALEF MAKSURA
+FBE8  ; [.1D47.0020.0017.FBE8] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9  ; [.1D47.0020.0018.FBE9] # ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FEF0  ; [.1D47.0020.0019.FEF0] # ARABIC LETTER ALEF MAKSURA FINAL FORM
+FEEF  ; [.1D47.0020.001A.FEEF] # ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FC90  ; [.1D47.0020.0019.FC90][.0000.00D1.0019.FC90] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM
+FC5D  ; [.1D47.0020.001A.FC5D][.0000.00D1.001A.FC5D] # ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM
+064A  ; [.1D48.0020.0002.064A] # ARABIC LETTER YEH
+06E6  ; [.1D48.0020.0004.06E6] # ARABIC SMALL YEH
+1EE09 ; [.1D48.0020.0005.1EE09] # ARABIC MATHEMATICAL YEH
+1EE29 ; [.1D48.0020.0005.1EE29] # ARABIC MATHEMATICAL INITIAL YEH
+1EE49 ; [.1D48.0020.0005.1EE49] # ARABIC MATHEMATICAL TAILED YEH
+1EE69 ; [.1D48.0020.0005.1EE69] # ARABIC MATHEMATICAL STRETCHED YEH
+1EE89 ; [.1D48.0020.0005.1EE89] # ARABIC MATHEMATICAL LOOPED YEH
+1EEA9 ; [.1D48.0020.0005.1EEA9] # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+FEF3  ; [.1D48.0020.0017.FEF3] # ARABIC LETTER YEH INITIAL FORM
+FEF4  ; [.1D48.0020.0018.FEF4] # ARABIC LETTER YEH MEDIAL FORM
+FEF2  ; [.1D48.0020.0019.FEF2] # ARABIC LETTER YEH FINAL FORM
+FEF1  ; [.1D48.0020.001A.FEF1] # ARABIC LETTER YEH ISOLATED FORM
+0678  ; [.1D48.0020.0004.0678][.1C8E.0020.0004.0678] # ARABIC LETTER HIGH HAMZA YEH
+FCDA  ; [.1D48.0020.0017.FCDA][.1CB2.0020.0017.FCDA] # ARABIC LIGATURE YEH WITH JEEM INITIAL FORM
+FC55  ; [.1D48.0020.001A.FC55][.1CB2.0020.001A.FC55] # ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM
+FDAF  ; [.1D48.0020.0019.FDAF][.1CB2.0020.0019.FDAF][.1D48.0020.0019.FDAF] # ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM
+FCDB  ; [.1D48.0020.0017.FCDB][.1CB9.0020.0017.FCDB] # ARABIC LIGATURE YEH WITH HAH INITIAL FORM
+FC56  ; [.1D48.0020.001A.FC56][.1CB9.0020.001A.FC56] # ARABIC LIGATURE YEH WITH HAH ISOLATED FORM
+FDAE  ; [.1D48.0020.0019.FDAE][.1CB9.0020.0019.FDAE][.1D48.0020.0019.FDAE] # ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM
+FCDC  ; [.1D48.0020.0017.FCDC][.1CBA.0020.0017.FCDC] # ARABIC LIGATURE YEH WITH KHAH INITIAL FORM
+FC57  ; [.1D48.0020.001A.FC57][.1CBA.0020.001A.FC57] # ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM
+FC91  ; [.1D48.0020.0019.FC91][.1CD2.0020.0019.FC91] # ARABIC LIGATURE YEH WITH REH FINAL FORM
+FC92  ; [.1D48.0020.0019.FC92][.1CD3.0020.0019.FC92] # ARABIC LIGATURE YEH WITH ZAIN FINAL FORM
+FCDD  ; [.1D48.0020.0017.FCDD][.1D27.0020.0017.FCDD] # ARABIC LIGATURE YEH WITH MEEM INITIAL FORM
+FCF0  ; [.1D48.0020.0018.FCF0][.1D27.0020.0018.FCF0] # ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM
+FC93  ; [.1D48.0020.0019.FC93][.1D27.0020.0019.FC93] # ARABIC LIGATURE YEH WITH MEEM FINAL FORM
+FC58  ; [.1D48.0020.001A.FC58][.1D27.0020.001A.FC58] # ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM
+FD9D  ; [.1D48.0020.0017.FD9D][.1D27.0020.0017.FD9D][.1D27.0020.0017.FD9D] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM
+FD9C  ; [.1D48.0020.0019.FD9C][.1D27.0020.0019.FD9C][.1D27.0020.0019.FD9C] # ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM
+FDB0  ; [.1D48.0020.0019.FDB0][.1D27.0020.0019.FDB0][.1D48.0020.0019.FDB0] # ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM
+FC94  ; [.1D48.0020.0019.FC94][.1D2B.0020.0019.FC94] # ARABIC LIGATURE YEH WITH NOON FINAL FORM
+FCDE  ; [.1D48.0020.0017.FCDE][.1D34.0020.0017.FCDE] # ARABIC LIGATURE YEH WITH HEH INITIAL FORM
+FCF1  ; [.1D48.0020.0018.FCF1][.1D34.0020.0018.FCF1] # ARABIC LIGATURE YEH WITH HEH MEDIAL FORM
+FC95  ; [.1D48.0020.0019.FC95][.1D47.0020.0019.FC95] # ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM
+FC59  ; [.1D48.0020.001A.FC59][.1D47.0020.001A.FC59] # ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM
+FC96  ; [.1D48.0020.0019.FC96][.1D48.0020.0019.FC96] # ARABIC LIGATURE YEH WITH YEH FINAL FORM
+FC5A  ; [.1D48.0020.001A.FC5A][.1D48.0020.001A.FC5A] # ARABIC LIGATURE YEH WITH YEH ISOLATED FORM
+06CC  ; [.1D49.0020.0002.06CC] # ARABIC LETTER FARSI YEH
+FBFE  ; [.1D49.0020.0017.FBFE] # ARABIC LETTER FARSI YEH INITIAL FORM
+FBFF  ; [.1D49.0020.0018.FBFF] # ARABIC LETTER FARSI YEH MEDIAL FORM
+FBFD  ; [.1D49.0020.0019.FBFD] # ARABIC LETTER FARSI YEH FINAL FORM
+FBFC  ; [.1D49.0020.001A.FBFC] # ARABIC LETTER FARSI YEH ISOLATED FORM
+06CD  ; [.1D4A.0020.0002.06CD] # ARABIC LETTER YEH WITH TAIL
+06CE  ; [.1D4B.0020.0002.06CE] # ARABIC LETTER YEH WITH SMALL V
+06D0  ; [.1D4C.0020.0002.06D0] # ARABIC LETTER E
+FBE6  ; [.1D4C.0020.0017.FBE6] # ARABIC LETTER E INITIAL FORM
+FBE7  ; [.1D4C.0020.0018.FBE7] # ARABIC LETTER E MEDIAL FORM
+FBE5  ; [.1D4C.0020.0019.FBE5] # ARABIC LETTER E FINAL FORM
+FBE4  ; [.1D4C.0020.001A.FBE4] # ARABIC LETTER E ISOLATED FORM
+06D1  ; [.1D4D.0020.0002.06D1] # ARABIC LETTER YEH WITH THREE DOTS BELOW
+063D  ; [.1D4E.0020.0002.063D] # ARABIC LETTER FARSI YEH WITH INVERTED V
+063E  ; [.1D4F.0020.0002.063E] # ARABIC LETTER FARSI YEH WITH TWO DOTS ABOVE
+063F  ; [.1D50.0020.0002.063F] # ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
+0620  ; [.1D51.0020.0002.0620] # ARABIC LETTER KASHMIRI YEH
+0775  ; [.1D52.0020.0002.0775] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+0776  ; [.1D53.0020.0002.0776] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0777  ; [.1D54.0020.0002.0777] # ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+06D2  ; [.1D55.0020.0002.06D2] # ARABIC LETTER YEH BARREE
+FBAF  ; [.1D55.0020.0019.FBAF] # ARABIC LETTER YEH BARREE FINAL FORM
+FBAE  ; [.1D55.0020.001A.FBAE] # ARABIC LETTER YEH BARREE ISOLATED FORM
+06D3  ; [.1D55.0020.0002.06D2][.0000.00BE.0002.0654] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE
+FBB1  ; [.1D55.0020.0019.FBB1][.0000.00BE.0019.FBB1] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+FBB0  ; [.1D55.0020.001A.FBB0][.0000.00BE.001A.FBB0] # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+077A  ; [.1D56.0020.0002.077A] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE
+077B  ; [.1D57.0020.0002.077B] # ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0710  ; [.1D58.0020.0002.0710] # SYRIAC LETTER ALAPH
+0712  ; [.1D59.0020.0002.0712] # SYRIAC LETTER BETH
+072D  ; [.1D59.0020.0004.072D][.0000.013C.0004.072D] # SYRIAC LETTER PERSIAN BHETH
+0713  ; [.1D5A.0020.0002.0713] # SYRIAC LETTER GAMAL
+0714  ; [.1D5A.0020.0004.0714][.0000.013A.0004.0714] # SYRIAC LETTER GAMAL GARSHUNI
+072E  ; [.1D5A.0020.0004.072E][.0000.013C.0004.072E] # SYRIAC LETTER PERSIAN GHAMAL
+0716  ; [.1D5B.0020.0002.0716] # SYRIAC LETTER DOTLESS DALATH RISH
+0715  ; [.1D5C.0020.0002.0715] # SYRIAC LETTER DALATH
+072F  ; [.1D5C.0020.0004.072F][.0000.013C.0004.072F] # SYRIAC LETTER PERSIAN DHALATH
+0717  ; [.1D5D.0020.0002.0717] # SYRIAC LETTER HE
+0718  ; [.1D5E.0020.0002.0718] # SYRIAC LETTER WAW
+0719  ; [.1D5F.0020.0002.0719] # SYRIAC LETTER ZAIN
+074D  ; [.1D60.0020.0002.074D] # SYRIAC LETTER SOGDIAN ZHAIN
+071A  ; [.1D61.0020.0002.071A] # SYRIAC LETTER HETH
+071B  ; [.1D62.0020.0002.071B] # SYRIAC LETTER TETH
+071C  ; [.1D62.0020.0004.071C][.0000.013A.0004.071C] # SYRIAC LETTER TETH GARSHUNI
+071D  ; [.1D63.0020.0002.071D] # SYRIAC LETTER YUDH
+071E  ; [.1D64.0020.0002.071E] # SYRIAC LETTER YUDH HE
+071F  ; [.1D65.0020.0002.071F] # SYRIAC LETTER KAPH
+074E  ; [.1D66.0020.0002.074E] # SYRIAC LETTER SOGDIAN KHAPH
+0720  ; [.1D67.0020.0002.0720] # SYRIAC LETTER LAMADH
+0721  ; [.1D68.0020.0002.0721] # SYRIAC LETTER MIM
+0722  ; [.1D69.0020.0002.0722] # SYRIAC LETTER NUN
+0723  ; [.1D6A.0020.0002.0723] # SYRIAC LETTER SEMKATH
+0724  ; [.1D6A.0020.0019.0724] # SYRIAC LETTER FINAL SEMKATH
+0725  ; [.1D6B.0020.0002.0725] # SYRIAC LETTER E
+0726  ; [.1D6C.0020.0002.0726] # SYRIAC LETTER PE
+0727  ; [.1D6C.0020.0004.0727][.0000.013A.0004.0727] # SYRIAC LETTER REVERSED PE
+074F  ; [.1D6D.0020.0002.074F] # SYRIAC LETTER SOGDIAN FE
+0728  ; [.1D6E.0020.0002.0728] # SYRIAC LETTER SADHE
+0729  ; [.1D6F.0020.0002.0729] # SYRIAC LETTER QAPH
+072A  ; [.1D70.0020.0002.072A] # SYRIAC LETTER RISH
+072B  ; [.1D71.0020.0002.072B] # SYRIAC LETTER SHIN
+072C  ; [.1D72.0020.0002.072C] # SYRIAC LETTER TAW
+0840  ; [.1D73.0020.0002.0840] # MANDAIC LETTER HALQA
+0841  ; [.1D74.0020.0002.0841] # MANDAIC LETTER AB
+0842  ; [.1D75.0020.0002.0842] # MANDAIC LETTER AG
+0843  ; [.1D76.0020.0002.0843] # MANDAIC LETTER AD
+0844  ; [.1D77.0020.0002.0844] # MANDAIC LETTER AH
+0845  ; [.1D78.0020.0002.0845] # MANDAIC LETTER USHENNA
+0846  ; [.1D79.0020.0002.0846] # MANDAIC LETTER AZ
+0847  ; [.1D7A.0020.0002.0847] # MANDAIC LETTER IT
+0848  ; [.1D7B.0020.0002.0848] # MANDAIC LETTER ATT
+0849  ; [.1D7C.0020.0002.0849] # MANDAIC LETTER AKSA
+084A  ; [.1D7D.0020.0002.084A] # MANDAIC LETTER AK
+084B  ; [.1D7E.0020.0002.084B] # MANDAIC LETTER AL
+084C  ; [.1D7F.0020.0002.084C] # MANDAIC LETTER AM
+084D  ; [.1D80.0020.0002.084D] # MANDAIC LETTER AN
+084E  ; [.1D81.0020.0002.084E] # MANDAIC LETTER AS
+084F  ; [.1D82.0020.0002.084F] # MANDAIC LETTER IN
+0850  ; [.1D83.0020.0002.0850] # MANDAIC LETTER AP
+0851  ; [.1D84.0020.0002.0851] # MANDAIC LETTER ASZ
+0852  ; [.1D85.0020.0002.0852] # MANDAIC LETTER AQ
+0853  ; [.1D86.0020.0002.0853] # MANDAIC LETTER AR
+0854  ; [.1D87.0020.0002.0854] # MANDAIC LETTER ASH
+0855  ; [.1D88.0020.0002.0855] # MANDAIC LETTER AT
+0856  ; [.1D89.0020.0002.0856] # MANDAIC LETTER DUSHENNA
+0857  ; [.1D8A.0020.0002.0857] # MANDAIC LETTER KAD
+0858  ; [.1D8B.0020.0002.0858] # MANDAIC LETTER AIN
+0780  ; [.1D8C.0020.0002.0780] # THAANA LETTER HAA
+0799  ; [.1D8D.0020.0002.0799] # THAANA LETTER HHAA
+079A  ; [.1D8E.0020.0002.079A] # THAANA LETTER KHAA
+0781  ; [.1D8F.0020.0002.0781] # THAANA LETTER SHAVIYANI
+0782  ; [.1D90.0020.0002.0782] # THAANA LETTER NOONU
+0783  ; [.1D91.0020.0002.0783] # THAANA LETTER RAA
+079C  ; [.1D92.0020.0002.079C] # THAANA LETTER ZAA
+0784  ; [.1D93.0020.0002.0784] # THAANA LETTER BAA
+0785  ; [.1D94.0020.0002.0785] # THAANA LETTER LHAVIYANI
+0786  ; [.1D95.0020.0002.0786] # THAANA LETTER KAAFU
+0787  ; [.1D96.0020.0002.0787] # THAANA LETTER ALIFU
+07A2  ; [.1D97.0020.0002.07A2] # THAANA LETTER AINU
+07A3  ; [.1D98.0020.0002.07A3] # THAANA LETTER GHAINU
+0788  ; [.1D99.0020.0002.0788] # THAANA LETTER VAAVU
+07A5  ; [.1D9A.0020.0002.07A5] # THAANA LETTER WAAVU
+0789  ; [.1D9B.0020.0002.0789] # THAANA LETTER MEEMU
+078A  ; [.1D9C.0020.0002.078A] # THAANA LETTER FAAFU
+078B  ; [.1D9D.0020.0002.078B] # THAANA LETTER DHAALU
+079B  ; [.1D9E.0020.0002.079B] # THAANA LETTER THAALU
+078C  ; [.1D9F.0020.0002.078C] # THAANA LETTER THAA
+0798  ; [.1DA0.0020.0002.0798] # THAANA LETTER TTAA
+07A0  ; [.1DA1.0020.0002.07A0] # THAANA LETTER TO
+07A1  ; [.1DA2.0020.0002.07A1] # THAANA LETTER ZO
+078D  ; [.1DA3.0020.0002.078D] # THAANA LETTER LAAMU
+078E  ; [.1DA4.0020.0002.078E] # THAANA LETTER GAAFU
+07A4  ; [.1DA5.0020.0002.07A4] # THAANA LETTER QAAFU
+078F  ; [.1DA6.0020.0002.078F] # THAANA LETTER GNAVIYANI
+0790  ; [.1DA7.0020.0002.0790] # THAANA LETTER SEENU
+079D  ; [.1DA8.0020.0002.079D] # THAANA LETTER SHEENU
+079E  ; [.1DA9.0020.0002.079E] # THAANA LETTER SAADHU
+079F  ; [.1DAA.0020.0002.079F] # THAANA LETTER DAADHU
+0791  ; [.1DAB.0020.0002.0791] # THAANA LETTER DAVIYANI
+0792  ; [.1DAC.0020.0002.0792] # THAANA LETTER ZAVIYANI
+0793  ; [.1DAD.0020.0002.0793] # THAANA LETTER TAVIYANI
+0794  ; [.1DAE.0020.0002.0794] # THAANA LETTER YAA
+0795  ; [.1DAF.0020.0002.0795] # THAANA LETTER PAVIYANI
+0796  ; [.1DB0.0020.0002.0796] # THAANA LETTER JAVIYANI
+0797  ; [.1DB1.0020.0002.0797] # THAANA LETTER CHAVIYANI
+07B1  ; [.1DB2.0020.0002.07B1] # THAANA LETTER NAA
+07A6  ; [.1DB3.0020.0002.07A6] # THAANA ABAFILI
+07A7  ; [.1DB4.0020.0002.07A7] # THAANA AABAAFILI
+07A8  ; [.1DB5.0020.0002.07A8] # THAANA IBIFILI
+07A9  ; [.1DB6.0020.0002.07A9] # THAANA EEBEEFILI
+07AA  ; [.1DB7.0020.0002.07AA] # THAANA UBUFILI
+07AB  ; [.1DB8.0020.0002.07AB] # THAANA OOBOOFILI
+07AC  ; [.1DB9.0020.0002.07AC] # THAANA EBEFILI
+07AD  ; [.1DBA.0020.0002.07AD] # THAANA EYBEYFILI
+07AE  ; [.1DBB.0020.0002.07AE] # THAANA OBOFILI
+07AF  ; [.1DBC.0020.0002.07AF] # THAANA OABOAFILI
+07B0  ; [.1DBD.0020.0002.07B0] # THAANA SUKUN
+07CA  ; [.1DBE.0020.0002.07CA] # NKO LETTER A
+07CB  ; [.1DBF.0020.0002.07CB] # NKO LETTER EE
+07CC  ; [.1DC0.0020.0002.07CC] # NKO LETTER I
+07CD  ; [.1DC1.0020.0002.07CD] # NKO LETTER E
+07CE  ; [.1DC2.0020.0002.07CE] # NKO LETTER U
+07CF  ; [.1DC3.0020.0002.07CF] # NKO LETTER OO
+07D0  ; [.1DC4.0020.0002.07D0] # NKO LETTER O
+07D1  ; [.1DC5.0020.0002.07D1] # NKO LETTER DAGBASINNA
+07D2  ; [.1DC6.0020.0002.07D2] # NKO LETTER N
+07D3  ; [.1DC7.0020.0002.07D3] # NKO LETTER BA
+07D4  ; [.1DC8.0020.0002.07D4] # NKO LETTER PA
+07D5  ; [.1DC9.0020.0002.07D5] # NKO LETTER TA
+07D6  ; [.1DCA.0020.0002.07D6] # NKO LETTER JA
+07E8  ; [.1DCA.0020.0004.07E8][.0000.0139.0004.07E8] # NKO LETTER JONA JA
+07D7  ; [.1DCB.0020.0002.07D7] # NKO LETTER CHA
+07E9  ; [.1DCB.0020.0004.07E9][.0000.0139.0004.07E9] # NKO LETTER JONA CHA
+07D8  ; [.1DCC.0020.0002.07D8] # NKO LETTER DA
+07D9  ; [.1DCD.0020.0002.07D9] # NKO LETTER RA
+07EA  ; [.1DCD.0020.0004.07EA][.0000.0139.0004.07EA] # NKO LETTER JONA RA
+07DA  ; [.1DCE.0020.0002.07DA] # NKO LETTER RRA
+07DB  ; [.1DCF.0020.0002.07DB] # NKO LETTER SA
+07DC  ; [.1DD0.0020.0002.07DC] # NKO LETTER GBA
+07DD  ; [.1DD1.0020.0002.07DD] # NKO LETTER FA
+07DE  ; [.1DD2.0020.0002.07DE] # NKO LETTER KA
+07DF  ; [.1DD3.0020.0002.07DF] # NKO LETTER LA
+07E0  ; [.1DD4.0020.0002.07E0] # NKO LETTER NA WOLOSO
+07E1  ; [.1DD5.0020.0002.07E1] # NKO LETTER MA
+07E2  ; [.1DD6.0020.0002.07E2] # NKO LETTER NYA
+07E3  ; [.1DD7.0020.0002.07E3] # NKO LETTER NA
+07E4  ; [.1DD8.0020.0002.07E4] # NKO LETTER HA
+07E5  ; [.1DD9.0020.0002.07E5] # NKO LETTER WA
+07E6  ; [.1DDA.0020.0002.07E6] # NKO LETTER YA
+07E7  ; [.1DDB.0020.0002.07E7] # NKO LETTER NYA WOLOSO
+07F4  ; [.1DDC.0020.0002.07F4] # NKO HIGH TONE APOSTROPHE
+07F5  ; [.1DDD.0020.0002.07F5] # NKO LOW TONE APOSTROPHE
+2D30  ; [.1DDE.0020.0002.2D30] # TIFINAGH LETTER YA
+2D31  ; [.1DDF.0020.0002.2D31] # TIFINAGH LETTER YAB
+2D32  ; [.1DE0.0020.0002.2D32] # TIFINAGH LETTER YABH
+2D33  ; [.1DE1.0020.0002.2D33] # TIFINAGH LETTER YAG
+2D34  ; [.1DE2.0020.0002.2D34] # TIFINAGH LETTER YAGHH
+2D35  ; [.1DE3.0020.0002.2D35] # TIFINAGH LETTER BERBER ACADEMY YAJ
+2D36  ; [.1DE4.0020.0002.2D36] # TIFINAGH LETTER YAJ
+2D37  ; [.1DE5.0020.0002.2D37] # TIFINAGH LETTER YAD
+2D38  ; [.1DE6.0020.0002.2D38] # TIFINAGH LETTER YADH
+2D39  ; [.1DE7.0020.0002.2D39] # TIFINAGH LETTER YADD
+2D3A  ; [.1DE8.0020.0002.2D3A] # TIFINAGH LETTER YADDH
+2D3B  ; [.1DE9.0020.0002.2D3B] # TIFINAGH LETTER YEY
+2D66  ; [.1DEA.0020.0002.2D66] # TIFINAGH LETTER YE
+2D3C  ; [.1DEB.0020.0002.2D3C] # TIFINAGH LETTER YAF
+2D3D  ; [.1DEC.0020.0002.2D3D] # TIFINAGH LETTER YAK
+2D3E  ; [.1DED.0020.0002.2D3E] # TIFINAGH LETTER TUAREG YAK
+2D3F  ; [.1DEE.0020.0002.2D3F] # TIFINAGH LETTER YAKHH
+2D40  ; [.1DEF.0020.0002.2D40] # TIFINAGH LETTER YAH
+2D41  ; [.1DF0.0020.0002.2D41] # TIFINAGH LETTER BERBER ACADEMY YAH
+2D42  ; [.1DF1.0020.0002.2D42] # TIFINAGH LETTER TUAREG YAH
+2D43  ; [.1DF2.0020.0002.2D43] # TIFINAGH LETTER YAHH
+2D44  ; [.1DF3.0020.0002.2D44] # TIFINAGH LETTER YAA
+2D45  ; [.1DF4.0020.0002.2D45] # TIFINAGH LETTER YAKH
+2D46  ; [.1DF5.0020.0002.2D46] # TIFINAGH LETTER TUAREG YAKH
+2D47  ; [.1DF6.0020.0002.2D47] # TIFINAGH LETTER YAQ
+2D48  ; [.1DF7.0020.0002.2D48] # TIFINAGH LETTER TUAREG YAQ
+2D49  ; [.1DF8.0020.0002.2D49] # TIFINAGH LETTER YI
+2D4A  ; [.1DF9.0020.0002.2D4A] # TIFINAGH LETTER YAZH
+2D4B  ; [.1DFA.0020.0002.2D4B] # TIFINAGH LETTER AHAGGAR YAZH
+2D4C  ; [.1DFB.0020.0002.2D4C] # TIFINAGH LETTER TUAREG YAZH
+2D4D  ; [.1DFC.0020.0002.2D4D] # TIFINAGH LETTER YAL
+2D4E  ; [.1DFD.0020.0002.2D4E] # TIFINAGH LETTER YAM
+2D4F  ; [.1DFE.0020.0002.2D4F] # TIFINAGH LETTER YAN
+2D50  ; [.1DFF.0020.0002.2D50] # TIFINAGH LETTER TUAREG YAGN
+2D51  ; [.1E00.0020.0002.2D51] # TIFINAGH LETTER TUAREG YANG
+2D52  ; [.1E01.0020.0002.2D52] # TIFINAGH LETTER YAP
+2D53  ; [.1E02.0020.0002.2D53] # TIFINAGH LETTER YU
+2D67  ; [.1E03.0020.0002.2D67] # TIFINAGH LETTER YO
+2D54  ; [.1E04.0020.0002.2D54] # TIFINAGH LETTER YAR
+2D55  ; [.1E05.0020.0002.2D55] # TIFINAGH LETTER YARR
+2D56  ; [.1E06.0020.0002.2D56] # TIFINAGH LETTER YAGH
+2D57  ; [.1E07.0020.0002.2D57] # TIFINAGH LETTER TUAREG YAGH
+2D58  ; [.1E08.0020.0002.2D58] # TIFINAGH LETTER AYER YAGH
+2D59  ; [.1E09.0020.0002.2D59] # TIFINAGH LETTER YAS
+2D5A  ; [.1E0A.0020.0002.2D5A] # TIFINAGH LETTER YASS
+2D5B  ; [.1E0B.0020.0002.2D5B] # TIFINAGH LETTER YASH
+2D5C  ; [.1E0C.0020.0002.2D5C] # TIFINAGH LETTER YAT
+2D5D  ; [.1E0D.0020.0002.2D5D] # TIFINAGH LETTER YATH
+2D5E  ; [.1E0E.0020.0002.2D5E] # TIFINAGH LETTER YACH
+2D5F  ; [.1E0F.0020.0002.2D5F] # TIFINAGH LETTER YATT
+2D60  ; [.1E10.0020.0002.2D60] # TIFINAGH LETTER YAV
+2D61  ; [.1E11.0020.0002.2D61] # TIFINAGH LETTER YAW
+2D62  ; [.1E12.0020.0002.2D62] # TIFINAGH LETTER YAY
+2D63  ; [.1E13.0020.0002.2D63] # TIFINAGH LETTER YAZ
+2D64  ; [.1E14.0020.0002.2D64] # TIFINAGH LETTER TAWELLEMET YAZ
+2D65  ; [.1E15.0020.0002.2D65] # TIFINAGH LETTER YAZZ
+2D6F  ; [.1E16.0020.0002.2D6F] # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
+1200  ; [.1E17.0020.0002.1200] # ETHIOPIC SYLLABLE HA
+1201  ; [.1E18.0020.0002.1201] # ETHIOPIC SYLLABLE HU
+1202  ; [.1E19.0020.0002.1202] # ETHIOPIC SYLLABLE HI
+1203  ; [.1E1A.0020.0002.1203] # ETHIOPIC SYLLABLE HAA
+1204  ; [.1E1B.0020.0002.1204] # ETHIOPIC SYLLABLE HEE
+1205  ; [.1E1C.0020.0002.1205] # ETHIOPIC SYLLABLE HE
+1206  ; [.1E1D.0020.0002.1206] # ETHIOPIC SYLLABLE HO
+1207  ; [.1E1E.0020.0002.1207] # ETHIOPIC SYLLABLE HOA
+1208  ; [.1E1F.0020.0002.1208] # ETHIOPIC SYLLABLE LA
+1209  ; [.1E20.0020.0002.1209] # ETHIOPIC SYLLABLE LU
+120A  ; [.1E21.0020.0002.120A] # ETHIOPIC SYLLABLE LI
+120B  ; [.1E22.0020.0002.120B] # ETHIOPIC SYLLABLE LAA
+120C  ; [.1E23.0020.0002.120C] # ETHIOPIC SYLLABLE LEE
+120D  ; [.1E24.0020.0002.120D] # ETHIOPIC SYLLABLE LE
+120E  ; [.1E25.0020.0002.120E] # ETHIOPIC SYLLABLE LO
+120F  ; [.1E26.0020.0002.120F] # ETHIOPIC SYLLABLE LWA
+2D80  ; [.1E27.0020.0002.2D80] # ETHIOPIC SYLLABLE LOA
+1210  ; [.1E28.0020.0002.1210] # ETHIOPIC SYLLABLE HHA
+1211  ; [.1E29.0020.0002.1211] # ETHIOPIC SYLLABLE HHU
+1212  ; [.1E2A.0020.0002.1212] # ETHIOPIC SYLLABLE HHI
+1213  ; [.1E2B.0020.0002.1213] # ETHIOPIC SYLLABLE HHAA
+1214  ; [.1E2C.0020.0002.1214] # ETHIOPIC SYLLABLE HHEE
+1215  ; [.1E2D.0020.0002.1215] # ETHIOPIC SYLLABLE HHE
+1216  ; [.1E2E.0020.0002.1216] # ETHIOPIC SYLLABLE HHO
+1217  ; [.1E2F.0020.0002.1217] # ETHIOPIC SYLLABLE HHWA
+1218  ; [.1E30.0020.0002.1218] # ETHIOPIC SYLLABLE MA
+1219  ; [.1E31.0020.0002.1219] # ETHIOPIC SYLLABLE MU
+121A  ; [.1E32.0020.0002.121A] # ETHIOPIC SYLLABLE MI
+121B  ; [.1E33.0020.0002.121B] # ETHIOPIC SYLLABLE MAA
+121C  ; [.1E34.0020.0002.121C] # ETHIOPIC SYLLABLE MEE
+121D  ; [.1E35.0020.0002.121D] # ETHIOPIC SYLLABLE ME
+121E  ; [.1E36.0020.0002.121E] # ETHIOPIC SYLLABLE MO
+121F  ; [.1E37.0020.0002.121F] # ETHIOPIC SYLLABLE MWA
+1380  ; [.1E38.0020.0002.1380] # ETHIOPIC SYLLABLE SEBATBEIT MWA
+1381  ; [.1E39.0020.0002.1381] # ETHIOPIC SYLLABLE MWI
+1382  ; [.1E3A.0020.0002.1382] # ETHIOPIC SYLLABLE MWEE
+1383  ; [.1E3B.0020.0002.1383] # ETHIOPIC SYLLABLE MWE
+2D81  ; [.1E3C.0020.0002.2D81] # ETHIOPIC SYLLABLE MOA
+1220  ; [.1E3D.0020.0002.1220] # ETHIOPIC SYLLABLE SZA
+1221  ; [.1E3E.0020.0002.1221] # ETHIOPIC SYLLABLE SZU
+1222  ; [.1E3F.0020.0002.1222] # ETHIOPIC SYLLABLE SZI
+1223  ; [.1E40.0020.0002.1223] # ETHIOPIC SYLLABLE SZAA
+1224  ; [.1E41.0020.0002.1224] # ETHIOPIC SYLLABLE SZEE
+1225  ; [.1E42.0020.0002.1225] # ETHIOPIC SYLLABLE SZE
+1226  ; [.1E43.0020.0002.1226] # ETHIOPIC SYLLABLE SZO
+1227  ; [.1E44.0020.0002.1227] # ETHIOPIC SYLLABLE SZWA
+1228  ; [.1E45.0020.0002.1228] # ETHIOPIC SYLLABLE RA
+1229  ; [.1E46.0020.0002.1229] # ETHIOPIC SYLLABLE RU
+122A  ; [.1E47.0020.0002.122A] # ETHIOPIC SYLLABLE RI
+122B  ; [.1E48.0020.0002.122B] # ETHIOPIC SYLLABLE RAA
+122C  ; [.1E49.0020.0002.122C] # ETHIOPIC SYLLABLE REE
+122D  ; [.1E4A.0020.0002.122D] # ETHIOPIC SYLLABLE RE
+122E  ; [.1E4B.0020.0002.122E] # ETHIOPIC SYLLABLE RO
+122F  ; [.1E4C.0020.0002.122F] # ETHIOPIC SYLLABLE RWA
+2D82  ; [.1E4D.0020.0002.2D82] # ETHIOPIC SYLLABLE ROA
+1230  ; [.1E4E.0020.0002.1230] # ETHIOPIC SYLLABLE SA
+1231  ; [.1E4F.0020.0002.1231] # ETHIOPIC SYLLABLE SU
+1232  ; [.1E50.0020.0002.1232] # ETHIOPIC SYLLABLE SI
+1233  ; [.1E51.0020.0002.1233] # ETHIOPIC SYLLABLE SAA
+1234  ; [.1E52.0020.0002.1234] # ETHIOPIC SYLLABLE SEE
+1235  ; [.1E53.0020.0002.1235] # ETHIOPIC SYLLABLE SE
+1236  ; [.1E54.0020.0002.1236] # ETHIOPIC SYLLABLE SO
+1237  ; [.1E55.0020.0002.1237] # ETHIOPIC SYLLABLE SWA
+2D83  ; [.1E56.0020.0002.2D83] # ETHIOPIC SYLLABLE SOA
+AB01  ; [.1E57.0020.0002.AB01] # ETHIOPIC SYLLABLE TTHU
+AB02  ; [.1E58.0020.0002.AB02] # ETHIOPIC SYLLABLE TTHI
+AB03  ; [.1E59.0020.0002.AB03] # ETHIOPIC SYLLABLE TTHAA
+AB04  ; [.1E5A.0020.0002.AB04] # ETHIOPIC SYLLABLE TTHEE
+AB05  ; [.1E5B.0020.0002.AB05] # ETHIOPIC SYLLABLE TTHE
+AB06  ; [.1E5C.0020.0002.AB06] # ETHIOPIC SYLLABLE TTHO
+1238  ; [.1E5D.0020.0002.1238] # ETHIOPIC SYLLABLE SHA
+1239  ; [.1E5E.0020.0002.1239] # ETHIOPIC SYLLABLE SHU
+123A  ; [.1E5F.0020.0002.123A] # ETHIOPIC SYLLABLE SHI
+123B  ; [.1E60.0020.0002.123B] # ETHIOPIC SYLLABLE SHAA
+123C  ; [.1E61.0020.0002.123C] # ETHIOPIC SYLLABLE SHEE
+123D  ; [.1E62.0020.0002.123D] # ETHIOPIC SYLLABLE SHE
+123E  ; [.1E63.0020.0002.123E] # ETHIOPIC SYLLABLE SHO
+123F  ; [.1E64.0020.0002.123F] # ETHIOPIC SYLLABLE SHWA
+2D84  ; [.1E65.0020.0002.2D84] # ETHIOPIC SYLLABLE SHOA
+1240  ; [.1E66.0020.0002.1240] # ETHIOPIC SYLLABLE QA
+1241  ; [.1E67.0020.0002.1241] # ETHIOPIC SYLLABLE QU
+1242  ; [.1E68.0020.0002.1242] # ETHIOPIC SYLLABLE QI
+1243  ; [.1E69.0020.0002.1243] # ETHIOPIC SYLLABLE QAA
+1244  ; [.1E6A.0020.0002.1244] # ETHIOPIC SYLLABLE QEE
+1245  ; [.1E6B.0020.0002.1245] # ETHIOPIC SYLLABLE QE
+1246  ; [.1E6C.0020.0002.1246] # ETHIOPIC SYLLABLE QO
+1247  ; [.1E6D.0020.0002.1247] # ETHIOPIC SYLLABLE QOA
+1248  ; [.1E6E.0020.0002.1248] # ETHIOPIC SYLLABLE QWA
+124A  ; [.1E6F.0020.0002.124A] # ETHIOPIC SYLLABLE QWI
+124B  ; [.1E70.0020.0002.124B] # ETHIOPIC SYLLABLE QWAA
+124C  ; [.1E71.0020.0002.124C] # ETHIOPIC SYLLABLE QWEE
+124D  ; [.1E72.0020.0002.124D] # ETHIOPIC SYLLABLE QWE
+1250  ; [.1E73.0020.0002.1250] # ETHIOPIC SYLLABLE QHA
+1251  ; [.1E74.0020.0002.1251] # ETHIOPIC SYLLABLE QHU
+1252  ; [.1E75.0020.0002.1252] # ETHIOPIC SYLLABLE QHI
+1253  ; [.1E76.0020.0002.1253] # ETHIOPIC SYLLABLE QHAA
+1254  ; [.1E77.0020.0002.1254] # ETHIOPIC SYLLABLE QHEE
+1255  ; [.1E78.0020.0002.1255] # ETHIOPIC SYLLABLE QHE
+1256  ; [.1E79.0020.0002.1256] # ETHIOPIC SYLLABLE QHO
+1258  ; [.1E7A.0020.0002.1258] # ETHIOPIC SYLLABLE QHWA
+125A  ; [.1E7B.0020.0002.125A] # ETHIOPIC SYLLABLE QHWI
+125B  ; [.1E7C.0020.0002.125B] # ETHIOPIC SYLLABLE QHWAA
+125C  ; [.1E7D.0020.0002.125C] # ETHIOPIC SYLLABLE QHWEE
+125D  ; [.1E7E.0020.0002.125D] # ETHIOPIC SYLLABLE QHWE
+1260  ; [.1E7F.0020.0002.1260] # ETHIOPIC SYLLABLE BA
+1261  ; [.1E80.0020.0002.1261] # ETHIOPIC SYLLABLE BU
+1262  ; [.1E81.0020.0002.1262] # ETHIOPIC SYLLABLE BI
+1263  ; [.1E82.0020.0002.1263] # ETHIOPIC SYLLABLE BAA
+1264  ; [.1E83.0020.0002.1264] # ETHIOPIC SYLLABLE BEE
+1265  ; [.1E84.0020.0002.1265] # ETHIOPIC SYLLABLE BE
+1266  ; [.1E85.0020.0002.1266] # ETHIOPIC SYLLABLE BO
+1267  ; [.1E86.0020.0002.1267] # ETHIOPIC SYLLABLE BWA
+1384  ; [.1E87.0020.0002.1384] # ETHIOPIC SYLLABLE SEBATBEIT BWA
+1385  ; [.1E88.0020.0002.1385] # ETHIOPIC SYLLABLE BWI
+1386  ; [.1E89.0020.0002.1386] # ETHIOPIC SYLLABLE BWEE
+1387  ; [.1E8A.0020.0002.1387] # ETHIOPIC SYLLABLE BWE
+2D85  ; [.1E8B.0020.0002.2D85] # ETHIOPIC SYLLABLE BOA
+1268  ; [.1E8C.0020.0002.1268] # ETHIOPIC SYLLABLE VA
+1269  ; [.1E8D.0020.0002.1269] # ETHIOPIC SYLLABLE VU
+126A  ; [.1E8E.0020.0002.126A] # ETHIOPIC SYLLABLE VI
+126B  ; [.1E8F.0020.0002.126B] # ETHIOPIC SYLLABLE VAA
+126C  ; [.1E90.0020.0002.126C] # ETHIOPIC SYLLABLE VEE
+126D  ; [.1E91.0020.0002.126D] # ETHIOPIC SYLLABLE VE
+126E  ; [.1E92.0020.0002.126E] # ETHIOPIC SYLLABLE VO
+126F  ; [.1E93.0020.0002.126F] # ETHIOPIC SYLLABLE VWA
+1270  ; [.1E94.0020.0002.1270] # ETHIOPIC SYLLABLE TA
+1271  ; [.1E95.0020.0002.1271] # ETHIOPIC SYLLABLE TU
+1272  ; [.1E96.0020.0002.1272] # ETHIOPIC SYLLABLE TI
+1273  ; [.1E97.0020.0002.1273] # ETHIOPIC SYLLABLE TAA
+1274  ; [.1E98.0020.0002.1274] # ETHIOPIC SYLLABLE TEE
+1275  ; [.1E99.0020.0002.1275] # ETHIOPIC SYLLABLE TE
+1276  ; [.1E9A.0020.0002.1276] # ETHIOPIC SYLLABLE TO
+1277  ; [.1E9B.0020.0002.1277] # ETHIOPIC SYLLABLE TWA
+2D86  ; [.1E9C.0020.0002.2D86] # ETHIOPIC SYLLABLE TOA
+1278  ; [.1E9D.0020.0002.1278] # ETHIOPIC SYLLABLE CA
+1279  ; [.1E9E.0020.0002.1279] # ETHIOPIC SYLLABLE CU
+127A  ; [.1E9F.0020.0002.127A] # ETHIOPIC SYLLABLE CI
+127B  ; [.1EA0.0020.0002.127B] # ETHIOPIC SYLLABLE CAA
+127C  ; [.1EA1.0020.0002.127C] # ETHIOPIC SYLLABLE CEE
+127D  ; [.1EA2.0020.0002.127D] # ETHIOPIC SYLLABLE CE
+127E  ; [.1EA3.0020.0002.127E] # ETHIOPIC SYLLABLE CO
+127F  ; [.1EA4.0020.0002.127F] # ETHIOPIC SYLLABLE CWA
+2D87  ; [.1EA5.0020.0002.2D87] # ETHIOPIC SYLLABLE COA
+1280  ; [.1EA6.0020.0002.1280] # ETHIOPIC SYLLABLE XA
+1281  ; [.1EA7.0020.0002.1281] # ETHIOPIC SYLLABLE XU
+1282  ; [.1EA8.0020.0002.1282] # ETHIOPIC SYLLABLE XI
+1283  ; [.1EA9.0020.0002.1283] # ETHIOPIC SYLLABLE XAA
+1284  ; [.1EAA.0020.0002.1284] # ETHIOPIC SYLLABLE XEE
+1285  ; [.1EAB.0020.0002.1285] # ETHIOPIC SYLLABLE XE
+1286  ; [.1EAC.0020.0002.1286] # ETHIOPIC SYLLABLE XO
+1287  ; [.1EAD.0020.0002.1287] # ETHIOPIC SYLLABLE XOA
+1288  ; [.1EAE.0020.0002.1288] # ETHIOPIC SYLLABLE XWA
+128A  ; [.1EAF.0020.0002.128A] # ETHIOPIC SYLLABLE XWI
+128B  ; [.1EB0.0020.0002.128B] # ETHIOPIC SYLLABLE XWAA
+128C  ; [.1EB1.0020.0002.128C] # ETHIOPIC SYLLABLE XWEE
+128D  ; [.1EB2.0020.0002.128D] # ETHIOPIC SYLLABLE XWE
+1290  ; [.1EB3.0020.0002.1290] # ETHIOPIC SYLLABLE NA
+1291  ; [.1EB4.0020.0002.1291] # ETHIOPIC SYLLABLE NU
+1292  ; [.1EB5.0020.0002.1292] # ETHIOPIC SYLLABLE NI
+1293  ; [.1EB6.0020.0002.1293] # ETHIOPIC SYLLABLE NAA
+1294  ; [.1EB7.0020.0002.1294] # ETHIOPIC SYLLABLE NEE
+1295  ; [.1EB8.0020.0002.1295] # ETHIOPIC SYLLABLE NE
+1296  ; [.1EB9.0020.0002.1296] # ETHIOPIC SYLLABLE NO
+1297  ; [.1EBA.0020.0002.1297] # ETHIOPIC SYLLABLE NWA
+2D88  ; [.1EBB.0020.0002.2D88] # ETHIOPIC SYLLABLE NOA
+1298  ; [.1EBC.0020.0002.1298] # ETHIOPIC SYLLABLE NYA
+1299  ; [.1EBD.0020.0002.1299] # ETHIOPIC SYLLABLE NYU
+129A  ; [.1EBE.0020.0002.129A] # ETHIOPIC SYLLABLE NYI
+129B  ; [.1EBF.0020.0002.129B] # ETHIOPIC SYLLABLE NYAA
+129C  ; [.1EC0.0020.0002.129C] # ETHIOPIC SYLLABLE NYEE
+129D  ; [.1EC1.0020.0002.129D] # ETHIOPIC SYLLABLE NYE
+129E  ; [.1EC2.0020.0002.129E] # ETHIOPIC SYLLABLE NYO
+129F  ; [.1EC3.0020.0002.129F] # ETHIOPIC SYLLABLE NYWA
+2D89  ; [.1EC4.0020.0002.2D89] # ETHIOPIC SYLLABLE NYOA
+12A0  ; [.1EC5.0020.0002.12A0] # ETHIOPIC SYLLABLE GLOTTAL A
+12A1  ; [.1EC6.0020.0002.12A1] # ETHIOPIC SYLLABLE GLOTTAL U
+12A2  ; [.1EC7.0020.0002.12A2] # ETHIOPIC SYLLABLE GLOTTAL I
+12A3  ; [.1EC8.0020.0002.12A3] # ETHIOPIC SYLLABLE GLOTTAL AA
+12A4  ; [.1EC9.0020.0002.12A4] # ETHIOPIC SYLLABLE GLOTTAL EE
+12A5  ; [.1ECA.0020.0002.12A5] # ETHIOPIC SYLLABLE GLOTTAL E
+12A6  ; [.1ECB.0020.0002.12A6] # ETHIOPIC SYLLABLE GLOTTAL O
+12A7  ; [.1ECC.0020.0002.12A7] # ETHIOPIC SYLLABLE GLOTTAL WA
+2D8A  ; [.1ECD.0020.0002.2D8A] # ETHIOPIC SYLLABLE GLOTTAL OA
+12A8  ; [.1ECE.0020.0002.12A8] # ETHIOPIC SYLLABLE KA
+12A9  ; [.1ECF.0020.0002.12A9] # ETHIOPIC SYLLABLE KU
+12AA  ; [.1ED0.0020.0002.12AA] # ETHIOPIC SYLLABLE KI
+12AB  ; [.1ED1.0020.0002.12AB] # ETHIOPIC SYLLABLE KAA
+12AC  ; [.1ED2.0020.0002.12AC] # ETHIOPIC SYLLABLE KEE
+12AD  ; [.1ED3.0020.0002.12AD] # ETHIOPIC SYLLABLE KE
+12AE  ; [.1ED4.0020.0002.12AE] # ETHIOPIC SYLLABLE KO
+12AF  ; [.1ED5.0020.0002.12AF] # ETHIOPIC SYLLABLE KOA
+12B0  ; [.1ED6.0020.0002.12B0] # ETHIOPIC SYLLABLE KWA
+12B2  ; [.1ED7.0020.0002.12B2] # ETHIOPIC SYLLABLE KWI
+12B3  ; [.1ED8.0020.0002.12B3] # ETHIOPIC SYLLABLE KWAA
+12B4  ; [.1ED9.0020.0002.12B4] # ETHIOPIC SYLLABLE KWEE
+12B5  ; [.1EDA.0020.0002.12B5] # ETHIOPIC SYLLABLE KWE
+12B8  ; [.1EDB.0020.0002.12B8] # ETHIOPIC SYLLABLE KXA
+12B9  ; [.1EDC.0020.0002.12B9] # ETHIOPIC SYLLABLE KXU
+12BA  ; [.1EDD.0020.0002.12BA] # ETHIOPIC SYLLABLE KXI
+12BB  ; [.1EDE.0020.0002.12BB] # ETHIOPIC SYLLABLE KXAA
+12BC  ; [.1EDF.0020.0002.12BC] # ETHIOPIC SYLLABLE KXEE
+12BD  ; [.1EE0.0020.0002.12BD] # ETHIOPIC SYLLABLE KXE
+12BE  ; [.1EE1.0020.0002.12BE] # ETHIOPIC SYLLABLE KXO
+12C0  ; [.1EE2.0020.0002.12C0] # ETHIOPIC SYLLABLE KXWA
+12C2  ; [.1EE3.0020.0002.12C2] # ETHIOPIC SYLLABLE KXWI
+12C3  ; [.1EE4.0020.0002.12C3] # ETHIOPIC SYLLABLE KXWAA
+12C4  ; [.1EE5.0020.0002.12C4] # ETHIOPIC SYLLABLE KXWEE
+12C5  ; [.1EE6.0020.0002.12C5] # ETHIOPIC SYLLABLE KXWE
+12C8  ; [.1EE7.0020.0002.12C8] # ETHIOPIC SYLLABLE WA
+12C9  ; [.1EE8.0020.0002.12C9] # ETHIOPIC SYLLABLE WU
+12CA  ; [.1EE9.0020.0002.12CA] # ETHIOPIC SYLLABLE WI
+12CB  ; [.1EEA.0020.0002.12CB] # ETHIOPIC SYLLABLE WAA
+12CC  ; [.1EEB.0020.0002.12CC] # ETHIOPIC SYLLABLE WEE
+12CD  ; [.1EEC.0020.0002.12CD] # ETHIOPIC SYLLABLE WE
+12CE  ; [.1EED.0020.0002.12CE] # ETHIOPIC SYLLABLE WO
+12CF  ; [.1EEE.0020.0002.12CF] # ETHIOPIC SYLLABLE WOA
+12D0  ; [.1EEF.0020.0002.12D0] # ETHIOPIC SYLLABLE PHARYNGEAL A
+12D1  ; [.1EF0.0020.0002.12D1] # ETHIOPIC SYLLABLE PHARYNGEAL U
+12D2  ; [.1EF1.0020.0002.12D2] # ETHIOPIC SYLLABLE PHARYNGEAL I
+12D3  ; [.1EF2.0020.0002.12D3] # ETHIOPIC SYLLABLE PHARYNGEAL AA
+12D4  ; [.1EF3.0020.0002.12D4] # ETHIOPIC SYLLABLE PHARYNGEAL EE
+12D5  ; [.1EF4.0020.0002.12D5] # ETHIOPIC SYLLABLE PHARYNGEAL E
+12D6  ; [.1EF5.0020.0002.12D6] # ETHIOPIC SYLLABLE PHARYNGEAL O
+12D8  ; [.1EF6.0020.0002.12D8] # ETHIOPIC SYLLABLE ZA
+12D9  ; [.1EF7.0020.0002.12D9] # ETHIOPIC SYLLABLE ZU
+12DA  ; [.1EF8.0020.0002.12DA] # ETHIOPIC SYLLABLE ZI
+12DB  ; [.1EF9.0020.0002.12DB] # ETHIOPIC SYLLABLE ZAA
+12DC  ; [.1EFA.0020.0002.12DC] # ETHIOPIC SYLLABLE ZEE
+12DD  ; [.1EFB.0020.0002.12DD] # ETHIOPIC SYLLABLE ZE
+12DE  ; [.1EFC.0020.0002.12DE] # ETHIOPIC SYLLABLE ZO
+12DF  ; [.1EFD.0020.0002.12DF] # ETHIOPIC SYLLABLE ZWA
+2D8B  ; [.1EFE.0020.0002.2D8B] # ETHIOPIC SYLLABLE ZOA
+AB11  ; [.1EFF.0020.0002.AB11] # ETHIOPIC SYLLABLE DZU
+AB12  ; [.1F00.0020.0002.AB12] # ETHIOPIC SYLLABLE DZI
+AB13  ; [.1F01.0020.0002.AB13] # ETHIOPIC SYLLABLE DZAA
+AB14  ; [.1F02.0020.0002.AB14] # ETHIOPIC SYLLABLE DZEE
+AB15  ; [.1F03.0020.0002.AB15] # ETHIOPIC SYLLABLE DZE
+AB16  ; [.1F04.0020.0002.AB16] # ETHIOPIC SYLLABLE DZO
+12E0  ; [.1F05.0020.0002.12E0] # ETHIOPIC SYLLABLE ZHA
+12E1  ; [.1F06.0020.0002.12E1] # ETHIOPIC SYLLABLE ZHU
+12E2  ; [.1F07.0020.0002.12E2] # ETHIOPIC SYLLABLE ZHI
+12E3  ; [.1F08.0020.0002.12E3] # ETHIOPIC SYLLABLE ZHAA
+12E4  ; [.1F09.0020.0002.12E4] # ETHIOPIC SYLLABLE ZHEE
+12E5  ; [.1F0A.0020.0002.12E5] # ETHIOPIC SYLLABLE ZHE
+12E6  ; [.1F0B.0020.0002.12E6] # ETHIOPIC SYLLABLE ZHO
+12E7  ; [.1F0C.0020.0002.12E7] # ETHIOPIC SYLLABLE ZHWA
+12E8  ; [.1F0D.0020.0002.12E8] # ETHIOPIC SYLLABLE YA
+12E9  ; [.1F0E.0020.0002.12E9] # ETHIOPIC SYLLABLE YU
+12EA  ; [.1F0F.0020.0002.12EA] # ETHIOPIC SYLLABLE YI
+12EB  ; [.1F10.0020.0002.12EB] # ETHIOPIC SYLLABLE YAA
+12EC  ; [.1F11.0020.0002.12EC] # ETHIOPIC SYLLABLE YEE
+12ED  ; [.1F12.0020.0002.12ED] # ETHIOPIC SYLLABLE YE
+12EE  ; [.1F13.0020.0002.12EE] # ETHIOPIC SYLLABLE YO
+12EF  ; [.1F14.0020.0002.12EF] # ETHIOPIC SYLLABLE YOA
+12F0  ; [.1F15.0020.0002.12F0] # ETHIOPIC SYLLABLE DA
+12F1  ; [.1F16.0020.0002.12F1] # ETHIOPIC SYLLABLE DU
+12F2  ; [.1F17.0020.0002.12F2] # ETHIOPIC SYLLABLE DI
+12F3  ; [.1F18.0020.0002.12F3] # ETHIOPIC SYLLABLE DAA
+12F4  ; [.1F19.0020.0002.12F4] # ETHIOPIC SYLLABLE DEE
+12F5  ; [.1F1A.0020.0002.12F5] # ETHIOPIC SYLLABLE DE
+12F6  ; [.1F1B.0020.0002.12F6] # ETHIOPIC SYLLABLE DO
+12F7  ; [.1F1C.0020.0002.12F7] # ETHIOPIC SYLLABLE DWA
+2D8C  ; [.1F1D.0020.0002.2D8C] # ETHIOPIC SYLLABLE DOA
+AB09  ; [.1F1E.0020.0002.AB09] # ETHIOPIC SYLLABLE DDHU
+AB0A  ; [.1F1F.0020.0002.AB0A] # ETHIOPIC SYLLABLE DDHI
+AB0B  ; [.1F20.0020.0002.AB0B] # ETHIOPIC SYLLABLE DDHAA
+AB0C  ; [.1F21.0020.0002.AB0C] # ETHIOPIC SYLLABLE DDHEE
+AB0D  ; [.1F22.0020.0002.AB0D] # ETHIOPIC SYLLABLE DDHE
+AB0E  ; [.1F23.0020.0002.AB0E] # ETHIOPIC SYLLABLE DDHO
+12F8  ; [.1F24.0020.0002.12F8] # ETHIOPIC SYLLABLE DDA
+12F9  ; [.1F25.0020.0002.12F9] # ETHIOPIC SYLLABLE DDU
+12FA  ; [.1F26.0020.0002.12FA] # ETHIOPIC SYLLABLE DDI
+12FB  ; [.1F27.0020.0002.12FB] # ETHIOPIC SYLLABLE DDAA
+12FC  ; [.1F28.0020.0002.12FC] # ETHIOPIC SYLLABLE DDEE
+12FD  ; [.1F29.0020.0002.12FD] # ETHIOPIC SYLLABLE DDE
+12FE  ; [.1F2A.0020.0002.12FE] # ETHIOPIC SYLLABLE DDO
+12FF  ; [.1F2B.0020.0002.12FF] # ETHIOPIC SYLLABLE DDWA
+2D8D  ; [.1F2C.0020.0002.2D8D] # ETHIOPIC SYLLABLE DDOA
+1300  ; [.1F2D.0020.0002.1300] # ETHIOPIC SYLLABLE JA
+1301  ; [.1F2E.0020.0002.1301] # ETHIOPIC SYLLABLE JU
+1302  ; [.1F2F.0020.0002.1302] # ETHIOPIC SYLLABLE JI
+1303  ; [.1F30.0020.0002.1303] # ETHIOPIC SYLLABLE JAA
+1304  ; [.1F31.0020.0002.1304] # ETHIOPIC SYLLABLE JEE
+1305  ; [.1F32.0020.0002.1305] # ETHIOPIC SYLLABLE JE
+1306  ; [.1F33.0020.0002.1306] # ETHIOPIC SYLLABLE JO
+1307  ; [.1F34.0020.0002.1307] # ETHIOPIC SYLLABLE JWA
+2D8E  ; [.1F35.0020.0002.2D8E] # ETHIOPIC SYLLABLE JOA
+1308  ; [.1F36.0020.0002.1308] # ETHIOPIC SYLLABLE GA
+1309  ; [.1F37.0020.0002.1309] # ETHIOPIC SYLLABLE GU
+130A  ; [.1F38.0020.0002.130A] # ETHIOPIC SYLLABLE GI
+130B  ; [.1F39.0020.0002.130B] # ETHIOPIC SYLLABLE GAA
+130C  ; [.1F3A.0020.0002.130C] # ETHIOPIC SYLLABLE GEE
+130D  ; [.1F3B.0020.0002.130D] # ETHIOPIC SYLLABLE GE
+130E  ; [.1F3C.0020.0002.130E] # ETHIOPIC SYLLABLE GO
+130F  ; [.1F3D.0020.0002.130F] # ETHIOPIC SYLLABLE GOA
+1310  ; [.1F3E.0020.0002.1310] # ETHIOPIC SYLLABLE GWA
+1312  ; [.1F3F.0020.0002.1312] # ETHIOPIC SYLLABLE GWI
+1313  ; [.1F40.0020.0002.1313] # ETHIOPIC SYLLABLE GWAA
+1314  ; [.1F41.0020.0002.1314] # ETHIOPIC SYLLABLE GWEE
+1315  ; [.1F42.0020.0002.1315] # ETHIOPIC SYLLABLE GWE
+1318  ; [.1F43.0020.0002.1318] # ETHIOPIC SYLLABLE GGA
+1319  ; [.1F44.0020.0002.1319] # ETHIOPIC SYLLABLE GGU
+131A  ; [.1F45.0020.0002.131A] # ETHIOPIC SYLLABLE GGI
+131B  ; [.1F46.0020.0002.131B] # ETHIOPIC SYLLABLE GGAA
+131C  ; [.1F47.0020.0002.131C] # ETHIOPIC SYLLABLE GGEE
+131D  ; [.1F48.0020.0002.131D] # ETHIOPIC SYLLABLE GGE
+131E  ; [.1F49.0020.0002.131E] # ETHIOPIC SYLLABLE GGO
+131F  ; [.1F4A.0020.0002.131F] # ETHIOPIC SYLLABLE GGWAA
+2D93  ; [.1F4B.0020.0002.2D93] # ETHIOPIC SYLLABLE GGWA
+2D94  ; [.1F4C.0020.0002.2D94] # ETHIOPIC SYLLABLE GGWI
+2D95  ; [.1F4D.0020.0002.2D95] # ETHIOPIC SYLLABLE GGWEE
+2D96  ; [.1F4E.0020.0002.2D96] # ETHIOPIC SYLLABLE GGWE
+1320  ; [.1F4F.0020.0002.1320] # ETHIOPIC SYLLABLE THA
+1321  ; [.1F50.0020.0002.1321] # ETHIOPIC SYLLABLE THU
+1322  ; [.1F51.0020.0002.1322] # ETHIOPIC SYLLABLE THI
+1323  ; [.1F52.0020.0002.1323] # ETHIOPIC SYLLABLE THAA
+1324  ; [.1F53.0020.0002.1324] # ETHIOPIC SYLLABLE THEE
+1325  ; [.1F54.0020.0002.1325] # ETHIOPIC SYLLABLE THE
+1326  ; [.1F55.0020.0002.1326] # ETHIOPIC SYLLABLE THO
+1327  ; [.1F56.0020.0002.1327] # ETHIOPIC SYLLABLE THWA
+2D8F  ; [.1F57.0020.0002.2D8F] # ETHIOPIC SYLLABLE THOA
+1328  ; [.1F58.0020.0002.1328] # ETHIOPIC SYLLABLE CHA
+1329  ; [.1F59.0020.0002.1329] # ETHIOPIC SYLLABLE CHU
+132A  ; [.1F5A.0020.0002.132A] # ETHIOPIC SYLLABLE CHI
+132B  ; [.1F5B.0020.0002.132B] # ETHIOPIC SYLLABLE CHAA
+132C  ; [.1F5C.0020.0002.132C] # ETHIOPIC SYLLABLE CHEE
+132D  ; [.1F5D.0020.0002.132D] # ETHIOPIC SYLLABLE CHE
+132E  ; [.1F5E.0020.0002.132E] # ETHIOPIC SYLLABLE CHO
+132F  ; [.1F5F.0020.0002.132F] # ETHIOPIC SYLLABLE CHWA
+2D90  ; [.1F60.0020.0002.2D90] # ETHIOPIC SYLLABLE CHOA
+AB20  ; [.1F61.0020.0002.AB20] # ETHIOPIC SYLLABLE CCHHA
+AB21  ; [.1F62.0020.0002.AB21] # ETHIOPIC SYLLABLE CCHHU
+AB22  ; [.1F63.0020.0002.AB22] # ETHIOPIC SYLLABLE CCHHI
+AB23  ; [.1F64.0020.0002.AB23] # ETHIOPIC SYLLABLE CCHHAA
+AB24  ; [.1F65.0020.0002.AB24] # ETHIOPIC SYLLABLE CCHHEE
+AB25  ; [.1F66.0020.0002.AB25] # ETHIOPIC SYLLABLE CCHHE
+AB26  ; [.1F67.0020.0002.AB26] # ETHIOPIC SYLLABLE CCHHO
+1330  ; [.1F68.0020.0002.1330] # ETHIOPIC SYLLABLE PHA
+1331  ; [.1F69.0020.0002.1331] # ETHIOPIC SYLLABLE PHU
+1332  ; [.1F6A.0020.0002.1332] # ETHIOPIC SYLLABLE PHI
+1333  ; [.1F6B.0020.0002.1333] # ETHIOPIC SYLLABLE PHAA
+1334  ; [.1F6C.0020.0002.1334] # ETHIOPIC SYLLABLE PHEE
+1335  ; [.1F6D.0020.0002.1335] # ETHIOPIC SYLLABLE PHE
+1336  ; [.1F6E.0020.0002.1336] # ETHIOPIC SYLLABLE PHO
+1337  ; [.1F6F.0020.0002.1337] # ETHIOPIC SYLLABLE PHWA
+2D91  ; [.1F70.0020.0002.2D91] # ETHIOPIC SYLLABLE PHOA
+1338  ; [.1F71.0020.0002.1338] # ETHIOPIC SYLLABLE TSA
+1339  ; [.1F72.0020.0002.1339] # ETHIOPIC SYLLABLE TSU
+133A  ; [.1F73.0020.0002.133A] # ETHIOPIC SYLLABLE TSI
+133B  ; [.1F74.0020.0002.133B] # ETHIOPIC SYLLABLE TSAA
+133C  ; [.1F75.0020.0002.133C] # ETHIOPIC SYLLABLE TSEE
+133D  ; [.1F76.0020.0002.133D] # ETHIOPIC SYLLABLE TSE
+133E  ; [.1F77.0020.0002.133E] # ETHIOPIC SYLLABLE TSO
+133F  ; [.1F78.0020.0002.133F] # ETHIOPIC SYLLABLE TSWA
+AB28  ; [.1F79.0020.0002.AB28] # ETHIOPIC SYLLABLE BBA
+AB29  ; [.1F7A.0020.0002.AB29] # ETHIOPIC SYLLABLE BBU
+AB2A  ; [.1F7B.0020.0002.AB2A] # ETHIOPIC SYLLABLE BBI
+AB2B  ; [.1F7C.0020.0002.AB2B] # ETHIOPIC SYLLABLE BBAA
+AB2C  ; [.1F7D.0020.0002.AB2C] # ETHIOPIC SYLLABLE BBEE
+AB2D  ; [.1F7E.0020.0002.AB2D] # ETHIOPIC SYLLABLE BBE
+AB2E  ; [.1F7F.0020.0002.AB2E] # ETHIOPIC SYLLABLE BBO
+1340  ; [.1F80.0020.0002.1340] # ETHIOPIC SYLLABLE TZA
+1341  ; [.1F81.0020.0002.1341] # ETHIOPIC SYLLABLE TZU
+1342  ; [.1F82.0020.0002.1342] # ETHIOPIC SYLLABLE TZI
+1343  ; [.1F83.0020.0002.1343] # ETHIOPIC SYLLABLE TZAA
+1344  ; [.1F84.0020.0002.1344] # ETHIOPIC SYLLABLE TZEE
+1345  ; [.1F85.0020.0002.1345] # ETHIOPIC SYLLABLE TZE
+1346  ; [.1F86.0020.0002.1346] # ETHIOPIC SYLLABLE TZO
+1347  ; [.1F87.0020.0002.1347] # ETHIOPIC SYLLABLE TZOA
+1348  ; [.1F88.0020.0002.1348] # ETHIOPIC SYLLABLE FA
+1349  ; [.1F89.0020.0002.1349] # ETHIOPIC SYLLABLE FU
+134A  ; [.1F8A.0020.0002.134A] # ETHIOPIC SYLLABLE FI
+134B  ; [.1F8B.0020.0002.134B] # ETHIOPIC SYLLABLE FAA
+134C  ; [.1F8C.0020.0002.134C] # ETHIOPIC SYLLABLE FEE
+134D  ; [.1F8D.0020.0002.134D] # ETHIOPIC SYLLABLE FE
+134E  ; [.1F8E.0020.0002.134E] # ETHIOPIC SYLLABLE FO
+134F  ; [.1F8F.0020.0002.134F] # ETHIOPIC SYLLABLE FWA
+1388  ; [.1F90.0020.0002.1388] # ETHIOPIC SYLLABLE SEBATBEIT FWA
+1389  ; [.1F91.0020.0002.1389] # ETHIOPIC SYLLABLE FWI
+138A  ; [.1F92.0020.0002.138A] # ETHIOPIC SYLLABLE FWEE
+138B  ; [.1F93.0020.0002.138B] # ETHIOPIC SYLLABLE FWE
+1350  ; [.1F94.0020.0002.1350] # ETHIOPIC SYLLABLE PA
+1351  ; [.1F95.0020.0002.1351] # ETHIOPIC SYLLABLE PU
+1352  ; [.1F96.0020.0002.1352] # ETHIOPIC SYLLABLE PI
+1353  ; [.1F97.0020.0002.1353] # ETHIOPIC SYLLABLE PAA
+1354  ; [.1F98.0020.0002.1354] # ETHIOPIC SYLLABLE PEE
+1355  ; [.1F99.0020.0002.1355] # ETHIOPIC SYLLABLE PE
+1356  ; [.1F9A.0020.0002.1356] # ETHIOPIC SYLLABLE PO
+1357  ; [.1F9B.0020.0002.1357] # ETHIOPIC SYLLABLE PWA
+138C  ; [.1F9C.0020.0002.138C] # ETHIOPIC SYLLABLE SEBATBEIT PWA
+138D  ; [.1F9D.0020.0002.138D] # ETHIOPIC SYLLABLE PWI
+138E  ; [.1F9E.0020.0002.138E] # ETHIOPIC SYLLABLE PWEE
+138F  ; [.1F9F.0020.0002.138F] # ETHIOPIC SYLLABLE PWE
+2D92  ; [.1FA0.0020.0002.2D92] # ETHIOPIC SYLLABLE POA
+1358  ; [.1FA1.0020.0002.1358] # ETHIOPIC SYLLABLE RYA
+1359  ; [.1FA2.0020.0002.1359] # ETHIOPIC SYLLABLE MYA
+135A  ; [.1FA3.0020.0002.135A] # ETHIOPIC SYLLABLE FYA
+2DA0  ; [.1FA4.0020.0002.2DA0] # ETHIOPIC SYLLABLE SSA
+2DA1  ; [.1FA5.0020.0002.2DA1] # ETHIOPIC SYLLABLE SSU
+2DA2  ; [.1FA6.0020.0002.2DA2] # ETHIOPIC SYLLABLE SSI
+2DA3  ; [.1FA7.0020.0002.2DA3] # ETHIOPIC SYLLABLE SSAA
+2DA4  ; [.1FA8.0020.0002.2DA4] # ETHIOPIC SYLLABLE SSEE
+2DA5  ; [.1FA9.0020.0002.2DA5] # ETHIOPIC SYLLABLE SSE
+2DA6  ; [.1FAA.0020.0002.2DA6] # ETHIOPIC SYLLABLE SSO
+2DA8  ; [.1FAB.0020.0002.2DA8] # ETHIOPIC SYLLABLE CCA
+2DA9  ; [.1FAC.0020.0002.2DA9] # ETHIOPIC SYLLABLE CCU
+2DAA  ; [.1FAD.0020.0002.2DAA] # ETHIOPIC SYLLABLE CCI
+2DAB  ; [.1FAE.0020.0002.2DAB] # ETHIOPIC SYLLABLE CCAA
+2DAC  ; [.1FAF.0020.0002.2DAC] # ETHIOPIC SYLLABLE CCEE
+2DAD  ; [.1FB0.0020.0002.2DAD] # ETHIOPIC SYLLABLE CCE
+2DAE  ; [.1FB1.0020.0002.2DAE] # ETHIOPIC SYLLABLE CCO
+2DB0  ; [.1FB2.0020.0002.2DB0] # ETHIOPIC SYLLABLE ZZA
+2DB1  ; [.1FB3.0020.0002.2DB1] # ETHIOPIC SYLLABLE ZZU
+2DB2  ; [.1FB4.0020.0002.2DB2] # ETHIOPIC SYLLABLE ZZI
+2DB3  ; [.1FB5.0020.0002.2DB3] # ETHIOPIC SYLLABLE ZZAA
+2DB4  ; [.1FB6.0020.0002.2DB4] # ETHIOPIC SYLLABLE ZZEE
+2DB5  ; [.1FB7.0020.0002.2DB5] # ETHIOPIC SYLLABLE ZZE
+2DB6  ; [.1FB8.0020.0002.2DB6] # ETHIOPIC SYLLABLE ZZO
+2DB8  ; [.1FB9.0020.0002.2DB8] # ETHIOPIC SYLLABLE CCHA
+2DB9  ; [.1FBA.0020.0002.2DB9] # ETHIOPIC SYLLABLE CCHU
+2DBA  ; [.1FBB.0020.0002.2DBA] # ETHIOPIC SYLLABLE CCHI
+2DBB  ; [.1FBC.0020.0002.2DBB] # ETHIOPIC SYLLABLE CCHAA
+2DBC  ; [.1FBD.0020.0002.2DBC] # ETHIOPIC SYLLABLE CCHEE
+2DBD  ; [.1FBE.0020.0002.2DBD] # ETHIOPIC SYLLABLE CCHE
+2DBE  ; [.1FBF.0020.0002.2DBE] # ETHIOPIC SYLLABLE CCHO
+2DC0  ; [.1FC0.0020.0002.2DC0] # ETHIOPIC SYLLABLE QYA
+2DC1  ; [.1FC1.0020.0002.2DC1] # ETHIOPIC SYLLABLE QYU
+2DC2  ; [.1FC2.0020.0002.2DC2] # ETHIOPIC SYLLABLE QYI
+2DC3  ; [.1FC3.0020.0002.2DC3] # ETHIOPIC SYLLABLE QYAA
+2DC4  ; [.1FC4.0020.0002.2DC4] # ETHIOPIC SYLLABLE QYEE
+2DC5  ; [.1FC5.0020.0002.2DC5] # ETHIOPIC SYLLABLE QYE
+2DC6  ; [.1FC6.0020.0002.2DC6] # ETHIOPIC SYLLABLE QYO
+2DC8  ; [.1FC7.0020.0002.2DC8] # ETHIOPIC SYLLABLE KYA
+2DC9  ; [.1FC8.0020.0002.2DC9] # ETHIOPIC SYLLABLE KYU
+2DCA  ; [.1FC9.0020.0002.2DCA] # ETHIOPIC SYLLABLE KYI
+2DCB  ; [.1FCA.0020.0002.2DCB] # ETHIOPIC SYLLABLE KYAA
+2DCC  ; [.1FCB.0020.0002.2DCC] # ETHIOPIC SYLLABLE KYEE
+2DCD  ; [.1FCC.0020.0002.2DCD] # ETHIOPIC SYLLABLE KYE
+2DCE  ; [.1FCD.0020.0002.2DCE] # ETHIOPIC SYLLABLE KYO
+2DD0  ; [.1FCE.0020.0002.2DD0] # ETHIOPIC SYLLABLE XYA
+2DD1  ; [.1FCF.0020.0002.2DD1] # ETHIOPIC SYLLABLE XYU
+2DD2  ; [.1FD0.0020.0002.2DD2] # ETHIOPIC SYLLABLE XYI
+2DD3  ; [.1FD1.0020.0002.2DD3] # ETHIOPIC SYLLABLE XYAA
+2DD4  ; [.1FD2.0020.0002.2DD4] # ETHIOPIC SYLLABLE XYEE
+2DD5  ; [.1FD3.0020.0002.2DD5] # ETHIOPIC SYLLABLE XYE
+2DD6  ; [.1FD4.0020.0002.2DD6] # ETHIOPIC SYLLABLE XYO
+2DD8  ; [.1FD5.0020.0002.2DD8] # ETHIOPIC SYLLABLE GYA
+2DD9  ; [.1FD6.0020.0002.2DD9] # ETHIOPIC SYLLABLE GYU
+2DDA  ; [.1FD7.0020.0002.2DDA] # ETHIOPIC SYLLABLE GYI
+2DDB  ; [.1FD8.0020.0002.2DDB] # ETHIOPIC SYLLABLE GYAA
+2DDC  ; [.1FD9.0020.0002.2DDC] # ETHIOPIC SYLLABLE GYEE
+2DDD  ; [.1FDA.0020.0002.2DDD] # ETHIOPIC SYLLABLE GYE
+2DDE  ; [.1FDB.0020.0002.2DDE] # ETHIOPIC SYLLABLE GYO
+0950  ; [.1FDC.0020.0002.0950] # DEVANAGARI OM
+0972  ; [.1FDD.0020.0002.0972] # DEVANAGARI LETTER CANDRA A
+0904  ; [.1FDE.0020.0002.0904] # DEVANAGARI LETTER SHORT A
+0905  ; [.1FDF.0020.0002.0905] # DEVANAGARI LETTER A
+0906  ; [.1FE0.0020.0002.0906] # DEVANAGARI LETTER AA
+0973  ; [.1FE1.0020.0002.0973] # DEVANAGARI LETTER OE
+0974  ; [.1FE2.0020.0002.0974] # DEVANAGARI LETTER OOE
+0975  ; [.1FE3.0020.0002.0975] # DEVANAGARI LETTER AW
+0976  ; [.1FE4.0020.0002.0976] # DEVANAGARI LETTER UE
+0977  ; [.1FE5.0020.0002.0977] # DEVANAGARI LETTER UUE
+0907  ; [.1FE6.0020.0002.0907] # DEVANAGARI LETTER I
+0908  ; [.1FE7.0020.0002.0908] # DEVANAGARI LETTER II
+0909  ; [.1FE8.0020.0002.0909] # DEVANAGARI LETTER U
+090A  ; [.1FE9.0020.0002.090A] # DEVANAGARI LETTER UU
+090B  ; [.1FEA.0020.0002.090B] # DEVANAGARI LETTER VOCALIC R
+0960  ; [.1FEB.0020.0002.0960] # DEVANAGARI LETTER VOCALIC RR
+090C  ; [.1FEC.0020.0002.090C] # DEVANAGARI LETTER VOCALIC L
+0961  ; [.1FED.0020.0002.0961] # DEVANAGARI LETTER VOCALIC LL
+090D  ; [.1FEE.0020.0002.090D] # DEVANAGARI LETTER CANDRA E
+090E  ; [.1FEF.0020.0002.090E] # DEVANAGARI LETTER SHORT E
+090F  ; [.1FF0.0020.0002.090F] # DEVANAGARI LETTER E
+0910  ; [.1FF1.0020.0002.0910] # DEVANAGARI LETTER AI
+0911  ; [.1FF2.0020.0002.0911] # DEVANAGARI LETTER CANDRA O
+0912  ; [.1FF3.0020.0002.0912] # DEVANAGARI LETTER SHORT O
+0913  ; [.1FF4.0020.0002.0913] # DEVANAGARI LETTER O
+0914  ; [.1FF5.0020.0002.0914] # DEVANAGARI LETTER AU
+0915  ; [.1FF6.0020.0002.0915] # DEVANAGARI LETTER KA
+0958  ; [.1FF6.0020.0002.0915][.0000.00F1.0002.093C] # DEVANAGARI LETTER QA
+0916  ; [.1FF7.0020.0002.0916] # DEVANAGARI LETTER KHA
+0959  ; [.1FF7.0020.0002.0916][.0000.00F1.0002.093C] # DEVANAGARI LETTER KHHA
+0917  ; [.1FF8.0020.0002.0917] # DEVANAGARI LETTER GA
+095A  ; [.1FF8.0020.0002.0917][.0000.00F1.0002.093C] # DEVANAGARI LETTER GHHA
+097B  ; [.1FF9.0020.0002.097B] # DEVANAGARI LETTER GGA
+0918  ; [.1FFA.0020.0002.0918] # DEVANAGARI LETTER GHA
+0919  ; [.1FFB.0020.0002.0919] # DEVANAGARI LETTER NGA
+091A  ; [.1FFC.0020.0002.091A] # DEVANAGARI LETTER CA
+091B  ; [.1FFD.0020.0002.091B] # DEVANAGARI LETTER CHA
+091C  ; [.1FFE.0020.0002.091C] # DEVANAGARI LETTER JA
+095B  ; [.1FFE.0020.0002.091C][.0000.00F1.0002.093C] # DEVANAGARI LETTER ZA
+0979  ; [.1FFF.0020.0002.0979] # DEVANAGARI LETTER ZHA
+097C  ; [.2000.0020.0002.097C] # DEVANAGARI LETTER JJA
+091D  ; [.2001.0020.0002.091D] # DEVANAGARI LETTER JHA
+091E  ; [.2002.0020.0002.091E] # DEVANAGARI LETTER NYA
+091F  ; [.2003.0020.0002.091F] # DEVANAGARI LETTER TTA
+0920  ; [.2004.0020.0002.0920] # DEVANAGARI LETTER TTHA
+0921  ; [.2005.0020.0002.0921] # DEVANAGARI LETTER DDA
+095C  ; [.2005.0020.0002.0921][.0000.00F1.0002.093C] # DEVANAGARI LETTER DDDHA
+097E  ; [.2006.0020.0002.097E] # DEVANAGARI LETTER DDDA
+0922  ; [.2007.0020.0002.0922] # DEVANAGARI LETTER DDHA
+095D  ; [.2007.0020.0002.0922][.0000.00F1.0002.093C] # DEVANAGARI LETTER RHA
+0923  ; [.2008.0020.0002.0923] # DEVANAGARI LETTER NNA
+0924  ; [.2009.0020.0002.0924] # DEVANAGARI LETTER TA
+0925  ; [.200A.0020.0002.0925] # DEVANAGARI LETTER THA
+0926  ; [.200B.0020.0002.0926] # DEVANAGARI LETTER DA
+0927  ; [.200C.0020.0002.0927] # DEVANAGARI LETTER DHA
+0928  ; [.200D.0020.0002.0928] # DEVANAGARI LETTER NA
+0929  ; [.200D.0020.0002.0928][.0000.00F1.0002.093C] # DEVANAGARI LETTER NNNA
+092A  ; [.200E.0020.0002.092A] # DEVANAGARI LETTER PA
+092B  ; [.200F.0020.0002.092B] # DEVANAGARI LETTER PHA
+095E  ; [.200F.0020.0002.092B][.0000.00F1.0002.093C] # DEVANAGARI LETTER FA
+092C  ; [.2010.0020.0002.092C] # DEVANAGARI LETTER BA
+097F  ; [.2011.0020.0002.097F] # DEVANAGARI LETTER BBA
+092D  ; [.2012.0020.0002.092D] # DEVANAGARI LETTER BHA
+092E  ; [.2013.0020.0002.092E] # DEVANAGARI LETTER MA
+092F  ; [.2014.0020.0002.092F] # DEVANAGARI LETTER YA
+095F  ; [.2014.0020.0002.092F][.0000.00F1.0002.093C] # DEVANAGARI LETTER YYA
+097A  ; [.2015.0020.0002.097A] # DEVANAGARI LETTER HEAVY YA
+0930  ; [.2016.0020.0002.0930] # DEVANAGARI LETTER RA
+0931  ; [.2016.0020.0002.0930][.0000.00F1.0002.093C] # DEVANAGARI LETTER RRA
+0932  ; [.2017.0020.0002.0932] # DEVANAGARI LETTER LA
+0933  ; [.2018.0020.0002.0933] # DEVANAGARI LETTER LLA
+0934  ; [.2018.0020.0002.0933][.0000.00F1.0002.093C] # DEVANAGARI LETTER LLLA
+0935  ; [.2019.0020.0002.0935] # DEVANAGARI LETTER VA
+0936  ; [.201A.0020.0002.0936] # DEVANAGARI LETTER SHA
+0937  ; [.201B.0020.0002.0937] # DEVANAGARI LETTER SSA
+0938  ; [.201C.0020.0002.0938] # DEVANAGARI LETTER SA
+0939  ; [.201D.0020.0002.0939] # DEVANAGARI LETTER HA
+093D  ; [.201E.0020.0002.093D] # DEVANAGARI SIGN AVAGRAHA
+097D  ; [.201F.0020.0002.097D] # DEVANAGARI LETTER GLOTTAL STOP
+1CE9  ; [.2020.0020.0002.1CE9] # VEDIC SIGN ANUSVARA ANTARGOMUKHA
+1CEA  ; [.2020.0020.0004.1CEA] # VEDIC SIGN ANUSVARA BAHIRGOMUKHA
+1CEB  ; [.2020.0020.0004.1CEB] # VEDIC SIGN ANUSVARA VAMAGOMUKHA
+1CEC  ; [.2020.0020.0004.1CEC] # VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
+1CEE  ; [.2020.0020.0004.1CEE] # VEDIC SIGN HEXIFORM LONG ANUSVARA
+1CEF  ; [.2020.0020.0004.1CEF] # VEDIC SIGN LONG ANUSVARA
+1CF0  ; [.2020.0020.0004.1CF0] # VEDIC SIGN RTHANG LONG ANUSVARA
+1CF1  ; [.2020.0020.0004.1CF1] # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5  ; [.2021.0020.0002.1CF5] # VEDIC SIGN JIHVAMULIYA
+1CF6  ; [.2022.0020.0002.1CF6] # VEDIC SIGN UPADHMANIYA
+A8F2  ; [.2023.0020.0002.A8F2] # DEVANAGARI SIGN SPACING CANDRABINDU
+A8F3  ; [.2023.0020.0004.A8F3] # DEVANAGARI SIGN CANDRABINDU VIRAMA
+A8F4  ; [.2023.0020.0004.A8F4] # DEVANAGARI SIGN DOUBLE CANDRABINDU VIRAMA
+A8F5  ; [.2023.0020.0004.A8F5] # DEVANAGARI SIGN CANDRABINDU TWO
+A8F6  ; [.2023.0020.0004.A8F6] # DEVANAGARI SIGN CANDRABINDU THREE
+A8F7  ; [.2023.0020.0004.A8F7] # DEVANAGARI SIGN CANDRABINDU AVAGRAHA
+A8FB  ; [.2024.0020.0002.A8FB] # DEVANAGARI HEADSTROKE
+093E  ; [.2025.0020.0002.093E] # DEVANAGARI VOWEL SIGN AA
+093A  ; [.2026.0020.0002.093A] # DEVANAGARI VOWEL SIGN OE
+093B  ; [.2027.0020.0002.093B] # DEVANAGARI VOWEL SIGN OOE
+094F  ; [.2028.0020.0002.094F] # DEVANAGARI VOWEL SIGN AW
+0956  ; [.2029.0020.0002.0956] # DEVANAGARI VOWEL SIGN UE
+0957  ; [.202A.0020.0002.0957] # DEVANAGARI VOWEL SIGN UUE
+093F  ; [.202B.0020.0002.093F] # DEVANAGARI VOWEL SIGN I
+0940  ; [.202C.0020.0002.0940] # DEVANAGARI VOWEL SIGN II
+0941  ; [.202D.0020.0002.0941] # DEVANAGARI VOWEL SIGN U
+0942  ; [.202E.0020.0002.0942] # DEVANAGARI VOWEL SIGN UU
+0943  ; [.202F.0020.0002.0943] # DEVANAGARI VOWEL SIGN VOCALIC R
+0944  ; [.2030.0020.0002.0944] # DEVANAGARI VOWEL SIGN VOCALIC RR
+0962  ; [.2031.0020.0002.0962] # DEVANAGARI VOWEL SIGN VOCALIC L
+0963  ; [.2032.0020.0002.0963] # DEVANAGARI VOWEL SIGN VOCALIC LL
+0945  ; [.2033.0020.0002.0945] # DEVANAGARI VOWEL SIGN CANDRA E
+0955  ; [.2034.0020.0002.0955] # DEVANAGARI VOWEL SIGN CANDRA LONG E
+0946  ; [.2035.0020.0002.0946] # DEVANAGARI VOWEL SIGN SHORT E
+0947  ; [.2036.0020.0002.0947] # DEVANAGARI VOWEL SIGN E
+094E  ; [.2037.0020.0002.094E] # DEVANAGARI VOWEL SIGN PRISHTHAMATRA E
+0948  ; [.2038.0020.0002.0948] # DEVANAGARI VOWEL SIGN AI
+0949  ; [.2039.0020.0002.0949] # DEVANAGARI VOWEL SIGN CANDRA O
+094A  ; [.203A.0020.0002.094A] # DEVANAGARI VOWEL SIGN SHORT O
+094B  ; [.203B.0020.0002.094B] # DEVANAGARI VOWEL SIGN O
+094C  ; [.203C.0020.0002.094C] # DEVANAGARI VOWEL SIGN AU
+094D  ; [.203D.0020.0002.094D] # DEVANAGARI SIGN VIRAMA
+0985  ; [.203E.0020.0002.0985] # BENGALI LETTER A
+0986  ; [.203F.0020.0002.0986] # BENGALI LETTER AA
+0987  ; [.2040.0020.0002.0987] # BENGALI LETTER I
+0988  ; [.2041.0020.0002.0988] # BENGALI LETTER II
+0989  ; [.2042.0020.0002.0989] # BENGALI LETTER U
+098A  ; [.2043.0020.0002.098A] # BENGALI LETTER UU
+098B  ; [.2044.0020.0002.098B] # BENGALI LETTER VOCALIC R
+09E0  ; [.2045.0020.0002.09E0] # BENGALI LETTER VOCALIC RR
+098C  ; [.2046.0020.0002.098C] # BENGALI LETTER VOCALIC L
+09E1  ; [.2047.0020.0002.09E1] # BENGALI LETTER VOCALIC LL
+098F  ; [.2048.0020.0002.098F] # BENGALI LETTER E
+0990  ; [.2049.0020.0002.0990] # BENGALI LETTER AI
+0993  ; [.204A.0020.0002.0993] # BENGALI LETTER O
+0994  ; [.204B.0020.0002.0994] # BENGALI LETTER AU
+0995  ; [.204C.0020.0002.0995] # BENGALI LETTER KA
+0996  ; [.204D.0020.0002.0996] # BENGALI LETTER KHA
+0997  ; [.204E.0020.0002.0997] # BENGALI LETTER GA
+0998  ; [.204F.0020.0002.0998] # BENGALI LETTER GHA
+0999  ; [.2050.0020.0002.0999] # BENGALI LETTER NGA
+099A  ; [.2051.0020.0002.099A] # BENGALI LETTER CA
+099B  ; [.2052.0020.0002.099B] # BENGALI LETTER CHA
+099C  ; [.2053.0020.0002.099C] # BENGALI LETTER JA
+099D  ; [.2054.0020.0002.099D] # BENGALI LETTER JHA
+099E  ; [.2055.0020.0002.099E] # BENGALI LETTER NYA
+099F  ; [.2056.0020.0002.099F] # BENGALI LETTER TTA
+09A0  ; [.2057.0020.0002.09A0] # BENGALI LETTER TTHA
+09A1  ; [.2058.0020.0002.09A1] # BENGALI LETTER DDA
+09DC  ; [.2058.0020.0002.09A1][.0000.00F1.0002.093C] # BENGALI LETTER RRA
+09A2  ; [.2059.0020.0002.09A2] # BENGALI LETTER DDHA
+09DD  ; [.2059.0020.0002.09A2][.0000.00F1.0002.093C] # BENGALI LETTER RHA
+09A3  ; [.205A.0020.0002.09A3] # BENGALI LETTER NNA
+09A4  ; [.205B.0020.0002.09A4] # BENGALI LETTER TA
+09CE  ; [.205B.0020.0004.09CE][.207C.0020.0004.09CE] # BENGALI LETTER KHANDA TA
+09A5  ; [.205C.0020.0002.09A5] # BENGALI LETTER THA
+09A6  ; [.205D.0020.0002.09A6] # BENGALI LETTER DA
+09A7  ; [.205E.0020.0002.09A7] # BENGALI LETTER DHA
+09A8  ; [.205F.0020.0002.09A8] # BENGALI LETTER NA
+09AA  ; [.2060.0020.0002.09AA] # BENGALI LETTER PA
+09AB  ; [.2061.0020.0002.09AB] # BENGALI LETTER PHA
+09AC  ; [.2062.0020.0002.09AC] # BENGALI LETTER BA
+09AD  ; [.2063.0020.0002.09AD] # BENGALI LETTER BHA
+09AE  ; [.2064.0020.0002.09AE] # BENGALI LETTER MA
+09AF  ; [.2065.0020.0002.09AF] # BENGALI LETTER YA
+09DF  ; [.2065.0020.0002.09AF][.0000.00F1.0002.093C] # BENGALI LETTER YYA
+09B0  ; [.2066.0020.0002.09B0] # BENGALI LETTER RA
+09F0  ; [.2067.0020.0002.09F0] # BENGALI LETTER RA WITH MIDDLE DIAGONAL
+09B2  ; [.2068.0020.0002.09B2] # BENGALI LETTER LA
+09F1  ; [.2069.0020.0002.09F1] # BENGALI LETTER RA WITH LOWER DIAGONAL
+09B6  ; [.206A.0020.0002.09B6] # BENGALI LETTER SHA
+09B7  ; [.206B.0020.0002.09B7] # BENGALI LETTER SSA
+09B8  ; [.206C.0020.0002.09B8] # BENGALI LETTER SA
+09B9  ; [.206D.0020.0002.09B9] # BENGALI LETTER HA
+09BD  ; [.206E.0020.0002.09BD] # BENGALI SIGN AVAGRAHA
+09BE  ; [.206F.0020.0002.09BE] # BENGALI VOWEL SIGN AA
+09BF  ; [.2070.0020.0002.09BF] # BENGALI VOWEL SIGN I
+09C0  ; [.2071.0020.0002.09C0] # BENGALI VOWEL SIGN II
+09C1  ; [.2072.0020.0002.09C1] # BENGALI VOWEL SIGN U
+09C2  ; [.2073.0020.0002.09C2] # BENGALI VOWEL SIGN UU
+09C3  ; [.2074.0020.0002.09C3] # BENGALI VOWEL SIGN VOCALIC R
+09C4  ; [.2075.0020.0002.09C4] # BENGALI VOWEL SIGN VOCALIC RR
+09E2  ; [.2076.0020.0002.09E2] # BENGALI VOWEL SIGN VOCALIC L
+09E3  ; [.2077.0020.0002.09E3] # BENGALI VOWEL SIGN VOCALIC LL
+09C7  ; [.2078.0020.0002.09C7] # BENGALI VOWEL SIGN E
+09C8  ; [.2079.0020.0002.09C8] # BENGALI VOWEL SIGN AI
+09CB  ; [.207A.0020.0002.09CB] # BENGALI VOWEL SIGN O
+09C7 09BE ; [.207A.0020.0002.09CB] # BENGALI VOWEL SIGN O
+09CC  ; [.207B.0020.0002.09CC] # BENGALI VOWEL SIGN AU
+09C7 09D7 ; [.207B.0020.0002.09CC] # BENGALI VOWEL SIGN AU
+09CD  ; [.207C.0020.0002.09CD] # BENGALI SIGN VIRAMA
+09D7  ; [.207D.0020.0002.09D7] # BENGALI AU LENGTH MARK
+0A74  ; [.207E.0020.0002.0A74] # GURMUKHI EK ONKAR
+0A73  ; [.207F.0020.0002.0A73] # GURMUKHI URA
+0A09  ; [.2080.0020.0002.0A09] # GURMUKHI LETTER U
+0A0A  ; [.2081.0020.0002.0A0A] # GURMUKHI LETTER UU
+0A13  ; [.2082.0020.0002.0A13] # GURMUKHI LETTER OO
+0A05  ; [.2083.0020.0002.0A05] # GURMUKHI LETTER A
+0A06  ; [.2084.0020.0002.0A06] # GURMUKHI LETTER AA
+0A10  ; [.2085.0020.0002.0A10] # GURMUKHI LETTER AI
+0A14  ; [.2086.0020.0002.0A14] # GURMUKHI LETTER AU
+0A72  ; [.2087.0020.0002.0A72] # GURMUKHI IRI
+0A07  ; [.2088.0020.0002.0A07] # GURMUKHI LETTER I
+0A08  ; [.2089.0020.0002.0A08] # GURMUKHI LETTER II
+0A0F  ; [.208A.0020.0002.0A0F] # GURMUKHI LETTER EE
+0A38  ; [.208B.0020.0002.0A38] # GURMUKHI LETTER SA
+0A36  ; [.208B.0020.0002.0A38][.0000.00F1.0002.093C] # GURMUKHI LETTER SHA
+0A39  ; [.208C.0020.0002.0A39] # GURMUKHI LETTER HA
+0A51  ; [.208D.0020.0002.0A51] # GURMUKHI SIGN UDAAT
+0A15  ; [.208E.0020.0002.0A15] # GURMUKHI LETTER KA
+0A16  ; [.208F.0020.0002.0A16] # GURMUKHI LETTER KHA
+0A59  ; [.208F.0020.0002.0A16][.0000.00F1.0002.093C] # GURMUKHI LETTER KHHA
+0A17  ; [.2090.0020.0002.0A17] # GURMUKHI LETTER GA
+0A5A  ; [.2090.0020.0002.0A17][.0000.00F1.0002.093C] # GURMUKHI LETTER GHHA
+0A18  ; [.2091.0020.0002.0A18] # GURMUKHI LETTER GHA
+0A19  ; [.2092.0020.0002.0A19] # GURMUKHI LETTER NGA
+0A1A  ; [.2093.0020.0002.0A1A] # GURMUKHI LETTER CA
+0A1B  ; [.2094.0020.0002.0A1B] # GURMUKHI LETTER CHA
+0A1C  ; [.2095.0020.0002.0A1C] # GURMUKHI LETTER JA
+0A5B  ; [.2095.0020.0002.0A1C][.0000.00F1.0002.093C] # GURMUKHI LETTER ZA
+0A1D  ; [.2096.0020.0002.0A1D] # GURMUKHI LETTER JHA
+0A1E  ; [.2097.0020.0002.0A1E] # GURMUKHI LETTER NYA
+0A1F  ; [.2098.0020.0002.0A1F] # GURMUKHI LETTER TTA
+0A20  ; [.2099.0020.0002.0A20] # GURMUKHI LETTER TTHA
+0A21  ; [.209A.0020.0002.0A21] # GURMUKHI LETTER DDA
+0A22  ; [.209B.0020.0002.0A22] # GURMUKHI LETTER DDHA
+0A23  ; [.209C.0020.0002.0A23] # GURMUKHI LETTER NNA
+0A24  ; [.209D.0020.0002.0A24] # GURMUKHI LETTER TA
+0A25  ; [.209E.0020.0002.0A25] # GURMUKHI LETTER THA
+0A26  ; [.209F.0020.0002.0A26] # GURMUKHI LETTER DA
+0A27  ; [.20A0.0020.0002.0A27] # GURMUKHI LETTER DHA
+0A28  ; [.20A1.0020.0002.0A28] # GURMUKHI LETTER NA
+0A2A  ; [.20A2.0020.0002.0A2A] # GURMUKHI LETTER PA
+0A2B  ; [.20A3.0020.0002.0A2B] # GURMUKHI LETTER PHA
+0A5E  ; [.20A3.0020.0002.0A2B][.0000.00F1.0002.093C] # GURMUKHI LETTER FA
+0A2C  ; [.20A4.0020.0002.0A2C] # GURMUKHI LETTER BA
+0A2D  ; [.20A5.0020.0002.0A2D] # GURMUKHI LETTER BHA
+0A2E  ; [.20A6.0020.0002.0A2E] # GURMUKHI LETTER MA
+0A2F  ; [.20A7.0020.0002.0A2F] # GURMUKHI LETTER YA
+0A75  ; [.20A8.0020.0002.0A75] # GURMUKHI SIGN YAKASH
+0A30  ; [.20A9.0020.0002.0A30] # GURMUKHI LETTER RA
+0A32  ; [.20AA.0020.0002.0A32] # GURMUKHI LETTER LA
+0A33  ; [.20AA.0020.0002.0A32][.0000.00F1.0002.093C] # GURMUKHI LETTER LLA
+0A35  ; [.20AB.0020.0002.0A35] # GURMUKHI LETTER VA
+0A5C  ; [.20AC.0020.0002.0A5C] # GURMUKHI LETTER RRA
+0A3E  ; [.20AD.0020.0002.0A3E] # GURMUKHI VOWEL SIGN AA
+0A3F  ; [.20AE.0020.0002.0A3F] # GURMUKHI VOWEL SIGN I
+0A40  ; [.20AF.0020.0002.0A40] # GURMUKHI VOWEL SIGN II
+0A41  ; [.20B0.0020.0002.0A41] # GURMUKHI VOWEL SIGN U
+0A42  ; [.20B1.0020.0002.0A42] # GURMUKHI VOWEL SIGN UU
+0A47  ; [.20B2.0020.0002.0A47] # GURMUKHI VOWEL SIGN EE
+0A48  ; [.20B3.0020.0002.0A48] # GURMUKHI VOWEL SIGN AI
+0A4B  ; [.20B4.0020.0002.0A4B] # GURMUKHI VOWEL SIGN OO
+0A4C  ; [.20B5.0020.0002.0A4C] # GURMUKHI VOWEL SIGN AU
+0A4D  ; [.20B6.0020.0002.0A4D] # GURMUKHI SIGN VIRAMA
+0AD0  ; [.20B7.0020.0002.0AD0] # GUJARATI OM
+0A85  ; [.20B8.0020.0002.0A85] # GUJARATI LETTER A
+0A86  ; [.20B9.0020.0002.0A86] # GUJARATI LETTER AA
+0A87  ; [.20BA.0020.0002.0A87] # GUJARATI LETTER I
+0A88  ; [.20BB.0020.0002.0A88] # GUJARATI LETTER II
+0A89  ; [.20BC.0020.0002.0A89] # GUJARATI LETTER U
+0A8A  ; [.20BD.0020.0002.0A8A] # GUJARATI LETTER UU
+0A8B  ; [.20BE.0020.0002.0A8B] # GUJARATI LETTER VOCALIC R
+0AE0  ; [.20BF.0020.0002.0AE0] # GUJARATI LETTER VOCALIC RR
+0A8C  ; [.20C0.0020.0002.0A8C] # GUJARATI LETTER VOCALIC L
+0AE1  ; [.20C1.0020.0002.0AE1] # GUJARATI LETTER VOCALIC LL
+0A8D  ; [.20C2.0020.0002.0A8D] # GUJARATI VOWEL CANDRA E
+0A8F  ; [.20C3.0020.0002.0A8F] # GUJARATI LETTER E
+0A90  ; [.20C4.0020.0002.0A90] # GUJARATI LETTER AI
+0A91  ; [.20C5.0020.0002.0A91] # GUJARATI VOWEL CANDRA O
+0A93  ; [.20C6.0020.0002.0A93] # GUJARATI LETTER O
+0A94  ; [.20C7.0020.0002.0A94] # GUJARATI LETTER AU
+0A95  ; [.20C8.0020.0002.0A95] # GUJARATI LETTER KA
+0A96  ; [.20C9.0020.0002.0A96] # GUJARATI LETTER KHA
+0A97  ; [.20CA.0020.0002.0A97] # GUJARATI LETTER GA
+0A98  ; [.20CB.0020.0002.0A98] # GUJARATI LETTER GHA
+0A99  ; [.20CC.0020.0002.0A99] # GUJARATI LETTER NGA
+0A9A  ; [.20CD.0020.0002.0A9A] # GUJARATI LETTER CA
+0A9B  ; [.20CE.0020.0002.0A9B] # GUJARATI LETTER CHA
+0A9C  ; [.20CF.0020.0002.0A9C] # GUJARATI LETTER JA
+0A9D  ; [.20D0.0020.0002.0A9D] # GUJARATI LETTER JHA
+0A9E  ; [.20D1.0020.0002.0A9E] # GUJARATI LETTER NYA
+0A9F  ; [.20D2.0020.0002.0A9F] # GUJARATI LETTER TTA
+0AA0  ; [.20D3.0020.0002.0AA0] # GUJARATI LETTER TTHA
+0AA1  ; [.20D4.0020.0002.0AA1] # GUJARATI LETTER DDA
+0AA2  ; [.20D5.0020.0002.0AA2] # GUJARATI LETTER DDHA
+0AA3  ; [.20D6.0020.0002.0AA3] # GUJARATI LETTER NNA
+0AA4  ; [.20D7.0020.0002.0AA4] # GUJARATI LETTER TA
+0AA5  ; [.20D8.0020.0002.0AA5] # GUJARATI LETTER THA
+0AA6  ; [.20D9.0020.0002.0AA6] # GUJARATI LETTER DA
+0AA7  ; [.20DA.0020.0002.0AA7] # GUJARATI LETTER DHA
+0AA8  ; [.20DB.0020.0002.0AA8] # GUJARATI LETTER NA
+0AAA  ; [.20DC.0020.0002.0AAA] # GUJARATI LETTER PA
+0AAB  ; [.20DD.0020.0002.0AAB] # GUJARATI LETTER PHA
+0AAC  ; [.20DE.0020.0002.0AAC] # GUJARATI LETTER BA
+0AAD  ; [.20DF.0020.0002.0AAD] # GUJARATI LETTER BHA
+0AAE  ; [.20E0.0020.0002.0AAE] # GUJARATI LETTER MA
+0AAF  ; [.20E1.0020.0002.0AAF] # GUJARATI LETTER YA
+0AB0  ; [.20E2.0020.0002.0AB0] # GUJARATI LETTER RA
+0AB2  ; [.20E3.0020.0002.0AB2] # GUJARATI LETTER LA
+0AB5  ; [.20E4.0020.0002.0AB5] # GUJARATI LETTER VA
+0AB6  ; [.20E5.0020.0002.0AB6] # GUJARATI LETTER SHA
+0AB7  ; [.20E6.0020.0002.0AB7] # GUJARATI LETTER SSA
+0AB8  ; [.20E7.0020.0002.0AB8] # GUJARATI LETTER SA
+0AB9  ; [.20E8.0020.0002.0AB9] # GUJARATI LETTER HA
+0AB3  ; [.20E9.0020.0002.0AB3] # GUJARATI LETTER LLA
+0ABD  ; [.20EA.0020.0002.0ABD] # GUJARATI SIGN AVAGRAHA
+0ABE  ; [.20EB.0020.0002.0ABE] # GUJARATI VOWEL SIGN AA
+0ABF  ; [.20EC.0020.0002.0ABF] # GUJARATI VOWEL SIGN I
+0AC0  ; [.20ED.0020.0002.0AC0] # GUJARATI VOWEL SIGN II
+0AC1  ; [.20EE.0020.0002.0AC1] # GUJARATI VOWEL SIGN U
+0AC2  ; [.20EF.0020.0002.0AC2] # GUJARATI VOWEL SIGN UU
+0AC3  ; [.20F0.0020.0002.0AC3] # GUJARATI VOWEL SIGN VOCALIC R
+0AC4  ; [.20F1.0020.0002.0AC4] # GUJARATI VOWEL SIGN VOCALIC RR
+0AE2  ; [.20F2.0020.0002.0AE2] # GUJARATI VOWEL SIGN VOCALIC L
+0AE3  ; [.20F3.0020.0002.0AE3] # GUJARATI VOWEL SIGN VOCALIC LL
+0AC5  ; [.20F4.0020.0002.0AC5] # GUJARATI VOWEL SIGN CANDRA E
+0AC7  ; [.20F5.0020.0002.0AC7] # GUJARATI VOWEL SIGN E
+0AC8  ; [.20F6.0020.0002.0AC8] # GUJARATI VOWEL SIGN AI
+0AC9  ; [.20F7.0020.0002.0AC9] # GUJARATI VOWEL SIGN CANDRA O
+0ACB  ; [.20F8.0020.0002.0ACB] # GUJARATI VOWEL SIGN O
+0ACC  ; [.20F9.0020.0002.0ACC] # GUJARATI VOWEL SIGN AU
+0ACD  ; [.20FA.0020.0002.0ACD] # GUJARATI SIGN VIRAMA
+0B05  ; [.20FB.0020.0002.0B05] # ORIYA LETTER A
+0B06  ; [.20FC.0020.0002.0B06] # ORIYA LETTER AA
+0B07  ; [.20FD.0020.0002.0B07] # ORIYA LETTER I
+0B08  ; [.20FE.0020.0002.0B08] # ORIYA LETTER II
+0B09  ; [.20FF.0020.0002.0B09] # ORIYA LETTER U
+0B0A  ; [.2100.0020.0002.0B0A] # ORIYA LETTER UU
+0B0B  ; [.2101.0020.0002.0B0B] # ORIYA LETTER VOCALIC R
+0B60  ; [.2102.0020.0002.0B60] # ORIYA LETTER VOCALIC RR
+0B0C  ; [.2103.0020.0002.0B0C] # ORIYA LETTER VOCALIC L
+0B61  ; [.2104.0020.0002.0B61] # ORIYA LETTER VOCALIC LL
+0B0F  ; [.2105.0020.0002.0B0F] # ORIYA LETTER E
+0B10  ; [.2106.0020.0002.0B10] # ORIYA LETTER AI
+0B13  ; [.2107.0020.0002.0B13] # ORIYA LETTER O
+0B14  ; [.2108.0020.0002.0B14] # ORIYA LETTER AU
+0B15  ; [.2109.0020.0002.0B15] # ORIYA LETTER KA
+0B16  ; [.210A.0020.0002.0B16] # ORIYA LETTER KHA
+0B17  ; [.210B.0020.0002.0B17] # ORIYA LETTER GA
+0B18  ; [.210C.0020.0002.0B18] # ORIYA LETTER GHA
+0B19  ; [.210D.0020.0002.0B19] # ORIYA LETTER NGA
+0B1A  ; [.210E.0020.0002.0B1A] # ORIYA LETTER CA
+0B1B  ; [.210F.0020.0002.0B1B] # ORIYA LETTER CHA
+0B1C  ; [.2110.0020.0002.0B1C] # ORIYA LETTER JA
+0B1D  ; [.2111.0020.0002.0B1D] # ORIYA LETTER JHA
+0B1E  ; [.2112.0020.0002.0B1E] # ORIYA LETTER NYA
+0B1F  ; [.2113.0020.0002.0B1F] # ORIYA LETTER TTA
+0B20  ; [.2114.0020.0002.0B20] # ORIYA LETTER TTHA
+0B21  ; [.2115.0020.0002.0B21] # ORIYA LETTER DDA
+0B5C  ; [.2115.0020.0002.0B21][.0000.00F1.0002.093C] # ORIYA LETTER RRA
+0B22  ; [.2116.0020.0002.0B22] # ORIYA LETTER DDHA
+0B5D  ; [.2116.0020.0002.0B22][.0000.00F1.0002.093C] # ORIYA LETTER RHA
+0B23  ; [.2117.0020.0002.0B23] # ORIYA LETTER NNA
+0B24  ; [.2118.0020.0002.0B24] # ORIYA LETTER TA
+0B25  ; [.2119.0020.0002.0B25] # ORIYA LETTER THA
+0B26  ; [.211A.0020.0002.0B26] # ORIYA LETTER DA
+0B27  ; [.211B.0020.0002.0B27] # ORIYA LETTER DHA
+0B28  ; [.211C.0020.0002.0B28] # ORIYA LETTER NA
+0B2A  ; [.211D.0020.0002.0B2A] # ORIYA LETTER PA
+0B2B  ; [.211E.0020.0002.0B2B] # ORIYA LETTER PHA
+0B2C  ; [.211F.0020.0002.0B2C] # ORIYA LETTER BA
+0B2D  ; [.2120.0020.0002.0B2D] # ORIYA LETTER BHA
+0B2E  ; [.2121.0020.0002.0B2E] # ORIYA LETTER MA
+0B2F  ; [.2122.0020.0002.0B2F] # ORIYA LETTER YA
+0B5F  ; [.2123.0020.0002.0B5F] # ORIYA LETTER YYA
+0B30  ; [.2124.0020.0002.0B30] # ORIYA LETTER RA
+0B32  ; [.2125.0020.0002.0B32] # ORIYA LETTER LA
+0B33  ; [.2126.0020.0002.0B33] # ORIYA LETTER LLA
+0B35  ; [.2127.0020.0002.0B35] # ORIYA LETTER VA
+0B71  ; [.2128.0020.0002.0B71] # ORIYA LETTER WA
+0B36  ; [.2129.0020.0002.0B36] # ORIYA LETTER SHA
+0B37  ; [.212A.0020.0002.0B37] # ORIYA LETTER SSA
+0B38  ; [.212B.0020.0002.0B38] # ORIYA LETTER SA
+0B39  ; [.212C.0020.0002.0B39] # ORIYA LETTER HA
+0B3D  ; [.212D.0020.0002.0B3D] # ORIYA SIGN AVAGRAHA
+0B3E  ; [.212E.0020.0002.0B3E] # ORIYA VOWEL SIGN AA
+0B3F  ; [.212F.0020.0002.0B3F] # ORIYA VOWEL SIGN I
+0B40  ; [.2130.0020.0002.0B40] # ORIYA VOWEL SIGN II
+0B41  ; [.2131.0020.0002.0B41] # ORIYA VOWEL SIGN U
+0B42  ; [.2132.0020.0002.0B42] # ORIYA VOWEL SIGN UU
+0B43  ; [.2133.0020.0002.0B43] # ORIYA VOWEL SIGN VOCALIC R
+0B44  ; [.2134.0020.0002.0B44] # ORIYA VOWEL SIGN VOCALIC RR
+0B62  ; [.2135.0020.0002.0B62] # ORIYA VOWEL SIGN VOCALIC L
+0B63  ; [.2136.0020.0002.0B63] # ORIYA VOWEL SIGN VOCALIC LL
+0B47  ; [.2137.0020.0002.0B47] # ORIYA VOWEL SIGN E
+0B48  ; [.2138.0020.0002.0B48] # ORIYA VOWEL SIGN AI
+0B47 0B56 ; [.2138.0020.0002.0B48] # ORIYA VOWEL SIGN AI
+0B4B  ; [.2139.0020.0002.0B4B] # ORIYA VOWEL SIGN O
+0B47 0B3E ; [.2139.0020.0002.0B4B] # ORIYA VOWEL SIGN O
+0B4C  ; [.213A.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
+0B47 0B57 ; [.213A.0020.0002.0B4C] # ORIYA VOWEL SIGN AU
+0B4D  ; [.213B.0020.0002.0B4D] # ORIYA SIGN VIRAMA
+0B56  ; [.213C.0020.0002.0B56] # ORIYA AI LENGTH MARK
+0B57  ; [.213D.0020.0002.0B57] # ORIYA AU LENGTH MARK
+0BD0  ; [.213E.0020.0002.0BD0] # TAMIL OM
+0B85  ; [.213F.0020.0002.0B85] # TAMIL LETTER A
+0B86  ; [.2140.0020.0002.0B86] # TAMIL LETTER AA
+0B87  ; [.2141.0020.0002.0B87] # TAMIL LETTER I
+0B88  ; [.2142.0020.0002.0B88] # TAMIL LETTER II
+0B89  ; [.2143.0020.0002.0B89] # TAMIL LETTER U
+0B8A  ; [.2144.0020.0002.0B8A] # TAMIL LETTER UU
+0B8E  ; [.2145.0020.0002.0B8E] # TAMIL LETTER E
+0B8F  ; [.2146.0020.0002.0B8F] # TAMIL LETTER EE
+0B90  ; [.2147.0020.0002.0B90] # TAMIL LETTER AI
+0B92  ; [.2148.0020.0002.0B92] # TAMIL LETTER O
+0B93  ; [.2149.0020.0002.0B93] # TAMIL LETTER OO
+0B94  ; [.214A.0020.0002.0B94] # TAMIL LETTER AU
+0B92 0BD7 ; [.214A.0020.0002.0B94] # TAMIL LETTER AU
+0B83  ; [.214B.0020.0002.0B83] # TAMIL SIGN VISARGA
+0B95  ; [.214C.0020.0002.0B95] # TAMIL LETTER KA
+0B99  ; [.214D.0020.0002.0B99] # TAMIL LETTER NGA
+0B9A  ; [.214E.0020.0002.0B9A] # TAMIL LETTER CA
+0B9E  ; [.214F.0020.0002.0B9E] # TAMIL LETTER NYA
+0B9F  ; [.2150.0020.0002.0B9F] # TAMIL LETTER TTA
+0BA3  ; [.2151.0020.0002.0BA3] # TAMIL LETTER NNA
+0BA4  ; [.2152.0020.0002.0BA4] # TAMIL LETTER TA
+0BA8  ; [.2153.0020.0002.0BA8] # TAMIL LETTER NA
+0BAA  ; [.2154.0020.0002.0BAA] # TAMIL LETTER PA
+0BAE  ; [.2155.0020.0002.0BAE] # TAMIL LETTER MA
+0BAF  ; [.2156.0020.0002.0BAF] # TAMIL LETTER YA
+0BB0  ; [.2157.0020.0002.0BB0] # TAMIL LETTER RA
+0BB2  ; [.2158.0020.0002.0BB2] # TAMIL LETTER LA
+0BB5  ; [.2159.0020.0002.0BB5] # TAMIL LETTER VA
+0BB4  ; [.215A.0020.0002.0BB4] # TAMIL LETTER LLLA
+0BB3  ; [.215B.0020.0002.0BB3] # TAMIL LETTER LLA
+0BB1  ; [.215C.0020.0002.0BB1] # TAMIL LETTER RRA
+0BA9  ; [.215D.0020.0002.0BA9] # TAMIL LETTER NNNA
+0B9C  ; [.215E.0020.0002.0B9C] # TAMIL LETTER JA
+0BB6  ; [.215F.0020.0002.0BB6] # TAMIL LETTER SHA
+0BB7  ; [.2160.0020.0002.0BB7] # TAMIL LETTER SSA
+0BB8  ; [.2161.0020.0002.0BB8] # TAMIL LETTER SA
+0BB9  ; [.2162.0020.0002.0BB9] # TAMIL LETTER HA
+0BBE  ; [.2163.0020.0002.0BBE] # TAMIL VOWEL SIGN AA
+0BBF  ; [.2164.0020.0002.0BBF] # TAMIL VOWEL SIGN I
+0BC0  ; [.2165.0020.0002.0BC0] # TAMIL VOWEL SIGN II
+0BC1  ; [.2166.0020.0002.0BC1] # TAMIL VOWEL SIGN U
+0BC2  ; [.2167.0020.0002.0BC2] # TAMIL VOWEL SIGN UU
+0BC6  ; [.2168.0020.0002.0BC6] # TAMIL VOWEL SIGN E
+0BC7  ; [.2169.0020.0002.0BC7] # TAMIL VOWEL SIGN EE
+0BC8  ; [.216A.0020.0002.0BC8] # TAMIL VOWEL SIGN AI
+0BCA  ; [.216B.0020.0002.0BCA] # TAMIL VOWEL SIGN O
+0BC6 0BBE ; [.216B.0020.0002.0BCA] # TAMIL VOWEL SIGN O
+0BCB  ; [.216C.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
+0BC7 0BBE ; [.216C.0020.0002.0BCB] # TAMIL VOWEL SIGN OO
+0BCC  ; [.216D.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
+0BC6 0BD7 ; [.216D.0020.0002.0BCC] # TAMIL VOWEL SIGN AU
+0BCD  ; [.216E.0020.0002.0BCD] # TAMIL SIGN VIRAMA
+0BD7  ; [.216F.0020.0002.0BD7] # TAMIL AU LENGTH MARK
+0C05  ; [.2170.0020.0002.0C05] # TELUGU LETTER A
+0C06  ; [.2171.0020.0002.0C06] # TELUGU LETTER AA
+0C07  ; [.2172.0020.0002.0C07] # TELUGU LETTER I
+0C08  ; [.2173.0020.0002.0C08] # TELUGU LETTER II
+0C09  ; [.2174.0020.0002.0C09] # TELUGU LETTER U
+0C0A  ; [.2175.0020.0002.0C0A] # TELUGU LETTER UU
+0C0B  ; [.2176.0020.0002.0C0B] # TELUGU LETTER VOCALIC R
+0C60  ; [.2177.0020.0002.0C60] # TELUGU LETTER VOCALIC RR
+0C0C  ; [.2178.0020.0002.0C0C] # TELUGU LETTER VOCALIC L
+0C61  ; [.2179.0020.0002.0C61] # TELUGU LETTER VOCALIC LL
+0C0E  ; [.217A.0020.0002.0C0E] # TELUGU LETTER E
+0C0F  ; [.217B.0020.0002.0C0F] # TELUGU LETTER EE
+0C10  ; [.217C.0020.0002.0C10] # TELUGU LETTER AI
+0C12  ; [.217D.0020.0002.0C12] # TELUGU LETTER O
+0C13  ; [.217E.0020.0002.0C13] # TELUGU LETTER OO
+0C14  ; [.217F.0020.0002.0C14] # TELUGU LETTER AU
+0C15  ; [.2180.0020.0002.0C15] # TELUGU LETTER KA
+0C16  ; [.2181.0020.0002.0C16] # TELUGU LETTER KHA
+0C17  ; [.2182.0020.0002.0C17] # TELUGU LETTER GA
+0C18  ; [.2183.0020.0002.0C18] # TELUGU LETTER GHA
+0C19  ; [.2184.0020.0002.0C19] # TELUGU LETTER NGA
+0C1A  ; [.2185.0020.0002.0C1A] # TELUGU LETTER CA
+0C58  ; [.2186.0020.0002.0C58] # TELUGU LETTER TSA
+0C1B  ; [.2187.0020.0002.0C1B] # TELUGU LETTER CHA
+0C1C  ; [.2188.0020.0002.0C1C] # TELUGU LETTER JA
+0C59  ; [.2189.0020.0002.0C59] # TELUGU LETTER DZA
+0C1D  ; [.218A.0020.0002.0C1D] # TELUGU LETTER JHA
+0C1E  ; [.218B.0020.0002.0C1E] # TELUGU LETTER NYA
+0C1F  ; [.218C.0020.0002.0C1F] # TELUGU LETTER TTA
+0C20  ; [.218D.0020.0002.0C20] # TELUGU LETTER TTHA
+0C21  ; [.218E.0020.0002.0C21] # TELUGU LETTER DDA
+0C22  ; [.218F.0020.0002.0C22] # TELUGU LETTER DDHA
+0C23  ; [.2190.0020.0002.0C23] # TELUGU LETTER NNA
+0C24  ; [.2191.0020.0002.0C24] # TELUGU LETTER TA
+0C25  ; [.2192.0020.0002.0C25] # TELUGU LETTER THA
+0C26  ; [.2193.0020.0002.0C26] # TELUGU LETTER DA
+0C27  ; [.2194.0020.0002.0C27] # TELUGU LETTER DHA
+0C28  ; [.2195.0020.0002.0C28] # TELUGU LETTER NA
+0C2A  ; [.2196.0020.0002.0C2A] # TELUGU LETTER PA
+0C2B  ; [.2197.0020.0002.0C2B] # TELUGU LETTER PHA
+0C2C  ; [.2198.0020.0002.0C2C] # TELUGU LETTER BA
+0C2D  ; [.2199.0020.0002.0C2D] # TELUGU LETTER BHA
+0C2E  ; [.219A.0020.0002.0C2E] # TELUGU LETTER MA
+0C2F  ; [.219B.0020.0002.0C2F] # TELUGU LETTER YA
+0C30  ; [.219C.0020.0002.0C30] # TELUGU LETTER RA
+0C31  ; [.219D.0020.0002.0C31] # TELUGU LETTER RRA
+0C32  ; [.219E.0020.0002.0C32] # TELUGU LETTER LA
+0C35  ; [.219F.0020.0002.0C35] # TELUGU LETTER VA
+0C36  ; [.21A0.0020.0002.0C36] # TELUGU LETTER SHA
+0C37  ; [.21A1.0020.0002.0C37] # TELUGU LETTER SSA
+0C38  ; [.21A2.0020.0002.0C38] # TELUGU LETTER SA
+0C39  ; [.21A3.0020.0002.0C39] # TELUGU LETTER HA
+0C33  ; [.21A4.0020.0002.0C33] # TELUGU LETTER LLA
+0C3D  ; [.21A5.0020.0002.0C3D] # TELUGU SIGN AVAGRAHA
+0C3E  ; [.21A6.0020.0002.0C3E] # TELUGU VOWEL SIGN AA
+0C3F  ; [.21A7.0020.0002.0C3F] # TELUGU VOWEL SIGN I
+0C40  ; [.21A8.0020.0002.0C40] # TELUGU VOWEL SIGN II
+0C41  ; [.21A9.0020.0002.0C41] # TELUGU VOWEL SIGN U
+0C42  ; [.21AA.0020.0002.0C42] # TELUGU VOWEL SIGN UU
+0C43  ; [.21AB.0020.0002.0C43] # TELUGU VOWEL SIGN VOCALIC R
+0C44  ; [.21AC.0020.0002.0C44] # TELUGU VOWEL SIGN VOCALIC RR
+0C62  ; [.21AD.0020.0002.0C62] # TELUGU VOWEL SIGN VOCALIC L
+0C63  ; [.21AE.0020.0002.0C63] # TELUGU VOWEL SIGN VOCALIC LL
+0C46  ; [.21AF.0020.0002.0C46] # TELUGU VOWEL SIGN E
+0C47  ; [.21B0.0020.0002.0C47] # TELUGU VOWEL SIGN EE
+0C48  ; [.21B1.0020.0002.0C48] # TELUGU VOWEL SIGN AI
+0C46 0C56 ; [.21B1.0020.0002.0C48] # TELUGU VOWEL SIGN AI
+0C4A  ; [.21B2.0020.0002.0C4A] # TELUGU VOWEL SIGN O
+0C4B  ; [.21B3.0020.0002.0C4B] # TELUGU VOWEL SIGN OO
+0C4C  ; [.21B4.0020.0002.0C4C] # TELUGU VOWEL SIGN AU
+0C4D  ; [.21B5.0020.0002.0C4D] # TELUGU SIGN VIRAMA
+0C55  ; [.21B6.0020.0002.0C55] # TELUGU LENGTH MARK
+0C56  ; [.21B7.0020.0002.0C56] # TELUGU AI LENGTH MARK
+0C85  ; [.21B8.0020.0002.0C85] # KANNADA LETTER A
+0C86  ; [.21B9.0020.0002.0C86] # KANNADA LETTER AA
+0C87  ; [.21BA.0020.0002.0C87] # KANNADA LETTER I
+0C88  ; [.21BB.0020.0002.0C88] # KANNADA LETTER II
+0C89  ; [.21BC.0020.0002.0C89] # KANNADA LETTER U
+0C8A  ; [.21BD.0020.0002.0C8A] # KANNADA LETTER UU
+0C8B  ; [.21BE.0020.0002.0C8B] # KANNADA LETTER VOCALIC R
+0CE0  ; [.21BF.0020.0002.0CE0] # KANNADA LETTER VOCALIC RR
+0C8C  ; [.21C0.0020.0002.0C8C] # KANNADA LETTER VOCALIC L
+0CE1  ; [.21C1.0020.0002.0CE1] # KANNADA LETTER VOCALIC LL
+0C8E  ; [.21C2.0020.0002.0C8E] # KANNADA LETTER E
+0C8F  ; [.21C3.0020.0002.0C8F] # KANNADA LETTER EE
+0C90  ; [.21C4.0020.0002.0C90] # KANNADA LETTER AI
+0C92  ; [.21C5.0020.0002.0C92] # KANNADA LETTER O
+0C93  ; [.21C6.0020.0002.0C93] # KANNADA LETTER OO
+0C94  ; [.21C7.0020.0002.0C94] # KANNADA LETTER AU
+0C95  ; [.21C8.0020.0002.0C95] # KANNADA LETTER KA
+0C96  ; [.21C9.0020.0002.0C96] # KANNADA LETTER KHA
+0C97  ; [.21CA.0020.0002.0C97] # KANNADA LETTER GA
+0C98  ; [.21CB.0020.0002.0C98] # KANNADA LETTER GHA
+0C99  ; [.21CC.0020.0002.0C99] # KANNADA LETTER NGA
+0C9A  ; [.21CD.0020.0002.0C9A] # KANNADA LETTER CA
+0C9B  ; [.21CE.0020.0002.0C9B] # KANNADA LETTER CHA
+0C9C  ; [.21CF.0020.0002.0C9C] # KANNADA LETTER JA
+0C9D  ; [.21D0.0020.0002.0C9D] # KANNADA LETTER JHA
+0C9E  ; [.21D1.0020.0002.0C9E] # KANNADA LETTER NYA
+0C9F  ; [.21D2.0020.0002.0C9F] # KANNADA LETTER TTA
+0CA0  ; [.21D3.0020.0002.0CA0] # KANNADA LETTER TTHA
+0CA1  ; [.21D4.0020.0002.0CA1] # KANNADA LETTER DDA
+0CA2  ; [.21D5.0020.0002.0CA2] # KANNADA LETTER DDHA
+0CA3  ; [.21D6.0020.0002.0CA3] # KANNADA LETTER NNA
+0CA4  ; [.21D7.0020.0002.0CA4] # KANNADA LETTER TA
+0CA5  ; [.21D8.0020.0002.0CA5] # KANNADA LETTER THA
+0CA6  ; [.21D9.0020.0002.0CA6] # KANNADA LETTER DA
+0CA7  ; [.21DA.0020.0002.0CA7] # KANNADA LETTER DHA
+0CA8  ; [.21DB.0020.0002.0CA8] # KANNADA LETTER NA
+0CAA  ; [.21DC.0020.0002.0CAA] # KANNADA LETTER PA
+0CAB  ; [.21DD.0020.0002.0CAB] # KANNADA LETTER PHA
+0CAC  ; [.21DE.0020.0002.0CAC] # KANNADA LETTER BA
+0CAD  ; [.21DF.0020.0002.0CAD] # KANNADA LETTER BHA
+0CAE  ; [.21E0.0020.0002.0CAE] # KANNADA LETTER MA
+0CAF  ; [.21E1.0020.0002.0CAF] # KANNADA LETTER YA
+0CB0  ; [.21E2.0020.0002.0CB0] # KANNADA LETTER RA
+0CB1  ; [.21E3.0020.0002.0CB1] # KANNADA LETTER RRA
+0CB2  ; [.21E4.0020.0002.0CB2] # KANNADA LETTER LA
+0CB5  ; [.21E5.0020.0002.0CB5] # KANNADA LETTER VA
+0CB6  ; [.21E6.0020.0002.0CB6] # KANNADA LETTER SHA
+0CB7  ; [.21E7.0020.0002.0CB7] # KANNADA LETTER SSA
+0CB8  ; [.21E8.0020.0002.0CB8] # KANNADA LETTER SA
+0CB9  ; [.21E9.0020.0002.0CB9] # KANNADA LETTER HA
+0CB3  ; [.21EA.0020.0002.0CB3] # KANNADA LETTER LLA
+0CDE  ; [.21EB.0020.0002.0CDE] # KANNADA LETTER FA
+0CBD  ; [.21EC.0020.0002.0CBD] # KANNADA SIGN AVAGRAHA
+0CF1  ; [.21ED.0020.0002.0CF1] # KANNADA SIGN JIHVAMULIYA
+0CF2  ; [.21EE.0020.0002.0CF2] # KANNADA SIGN UPADHMANIYA
+0CBE  ; [.21EF.0020.0002.0CBE] # KANNADA VOWEL SIGN AA
+0CBF  ; [.21F0.0020.0002.0CBF] # KANNADA VOWEL SIGN I
+0CC0  ; [.21F1.0020.0002.0CC0] # KANNADA VOWEL SIGN II
+0CBF 0CD5 ; [.21F1.0020.0002.0CC0] # KANNADA VOWEL SIGN II
+0CC1  ; [.21F2.0020.0002.0CC1] # KANNADA VOWEL SIGN U
+0CC2  ; [.21F3.0020.0002.0CC2] # KANNADA VOWEL SIGN UU
+0CC3  ; [.21F4.0020.0002.0CC3] # KANNADA VOWEL SIGN VOCALIC R
+0CC4  ; [.21F5.0020.0002.0CC4] # KANNADA VOWEL SIGN VOCALIC RR
+0CE2  ; [.21F6.0020.0002.0CE2] # KANNADA VOWEL SIGN VOCALIC L
+0CE3  ; [.21F7.0020.0002.0CE3] # KANNADA VOWEL SIGN VOCALIC LL
+0CC6  ; [.21F8.0020.0002.0CC6] # KANNADA VOWEL SIGN E
+0CC7  ; [.21F9.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
+0CC6 0CD5 ; [.21F9.0020.0002.0CC7] # KANNADA VOWEL SIGN EE
+0CC8  ; [.21FA.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
+0CC6 0CD6 ; [.21FA.0020.0002.0CC8] # KANNADA VOWEL SIGN AI
+0CCA  ; [.21FB.0020.0002.0CCA] # KANNADA VOWEL SIGN O
+0CC6 0CC2 ; [.21FB.0020.0002.0CCA] # KANNADA VOWEL SIGN O
+0CCB  ; [.21FC.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CC6 0CC2 0CD5 ; [.21FC.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CCA 0CD5 ; [.21FC.0020.0002.0CCB] # KANNADA VOWEL SIGN OO
+0CCC  ; [.21FD.0020.0002.0CCC] # KANNADA VOWEL SIGN AU
+0CCD  ; [.21FE.0020.0002.0CCD] # KANNADA SIGN VIRAMA
+0CD5  ; [.21FF.0020.0002.0CD5] # KANNADA LENGTH MARK
+0CD6  ; [.2200.0020.0002.0CD6] # KANNADA AI LENGTH MARK
+0D05  ; [.2201.0020.0002.0D05] # MALAYALAM LETTER A
+0D06  ; [.2202.0020.0002.0D06] # MALAYALAM LETTER AA
+0D07  ; [.2203.0020.0002.0D07] # MALAYALAM LETTER I
+0D08  ; [.2204.0020.0002.0D08] # MALAYALAM LETTER II
+0D09  ; [.2205.0020.0002.0D09] # MALAYALAM LETTER U
+0D0A  ; [.2206.0020.0002.0D0A] # MALAYALAM LETTER UU
+0D0B  ; [.2207.0020.0002.0D0B] # MALAYALAM LETTER VOCALIC R
+0D60  ; [.2208.0020.0002.0D60] # MALAYALAM LETTER VOCALIC RR
+0D0C  ; [.2209.0020.0002.0D0C] # MALAYALAM LETTER VOCALIC L
+0D61  ; [.220A.0020.0002.0D61] # MALAYALAM LETTER VOCALIC LL
+0D0E  ; [.220B.0020.0002.0D0E] # MALAYALAM LETTER E
+0D0F  ; [.220C.0020.0002.0D0F] # MALAYALAM LETTER EE
+0D10  ; [.220D.0020.0002.0D10] # MALAYALAM LETTER AI
+0D12  ; [.220E.0020.0002.0D12] # MALAYALAM LETTER O
+0D13  ; [.220F.0020.0002.0D13] # MALAYALAM LETTER OO
+0D14  ; [.2210.0020.0002.0D14] # MALAYALAM LETTER AU
+0D15  ; [.2211.0020.0002.0D15] # MALAYALAM LETTER KA
+0D7F  ; [.2211.0020.0004.0D7F][.2248.0020.0004.0D7F] # MALAYALAM LETTER CHILLU K
+0D16  ; [.2212.0020.0002.0D16] # MALAYALAM LETTER KHA
+0D17  ; [.2213.0020.0002.0D17] # MALAYALAM LETTER GA
+0D18  ; [.2214.0020.0002.0D18] # MALAYALAM LETTER GHA
+0D19  ; [.2215.0020.0002.0D19] # MALAYALAM LETTER NGA
+0D1A  ; [.2216.0020.0002.0D1A] # MALAYALAM LETTER CA
+0D1B  ; [.2217.0020.0002.0D1B] # MALAYALAM LETTER CHA
+0D1C  ; [.2218.0020.0002.0D1C] # MALAYALAM LETTER JA
+0D1D  ; [.2219.0020.0002.0D1D] # MALAYALAM LETTER JHA
+0D1E  ; [.221A.0020.0002.0D1E] # MALAYALAM LETTER NYA
+0D1F  ; [.221B.0020.0002.0D1F] # MALAYALAM LETTER TTA
+0D20  ; [.221C.0020.0002.0D20] # MALAYALAM LETTER TTHA
+0D21  ; [.221D.0020.0002.0D21] # MALAYALAM LETTER DDA
+0D22  ; [.221E.0020.0002.0D22] # MALAYALAM LETTER DDHA
+0D23  ; [.221F.0020.0002.0D23] # MALAYALAM LETTER NNA
+0D7A  ; [.221F.0020.0004.0D7A][.2248.0020.0004.0D7A] # MALAYALAM LETTER CHILLU NN
+0D24  ; [.2220.0020.0002.0D24] # MALAYALAM LETTER TA
+0D25  ; [.2221.0020.0002.0D25] # MALAYALAM LETTER THA
+0D26  ; [.2222.0020.0002.0D26] # MALAYALAM LETTER DA
+0D27  ; [.2223.0020.0002.0D27] # MALAYALAM LETTER DHA
+0D28  ; [.2224.0020.0002.0D28] # MALAYALAM LETTER NA
+0D7B  ; [.2224.0020.0004.0D7B][.2248.0020.0004.0D7B] # MALAYALAM LETTER CHILLU N
+0D29  ; [.2225.0020.0002.0D29] # MALAYALAM LETTER NNNA
+0D2A  ; [.2226.0020.0002.0D2A] # MALAYALAM LETTER PA
+0D2B  ; [.2227.0020.0002.0D2B] # MALAYALAM LETTER PHA
+0D2C  ; [.2228.0020.0002.0D2C] # MALAYALAM LETTER BA
+0D2D  ; [.2229.0020.0002.0D2D] # MALAYALAM LETTER BHA
+0D2E  ; [.222A.0020.0002.0D2E] # MALAYALAM LETTER MA
+0D2F  ; [.222B.0020.0002.0D2F] # MALAYALAM LETTER YA
+0D30  ; [.222C.0020.0002.0D30] # MALAYALAM LETTER RA
+0D4E  ; [.222C.0020.0004.0D4E][.2248.0020.0004.0D4E] # MALAYALAM LETTER DOT REPH
+0D7C  ; [.222C.0020.0004.0D7C][.2248.0020.0004.0D7C] # MALAYALAM LETTER CHILLU RR
+0D32  ; [.222D.0020.0002.0D32] # MALAYALAM LETTER LA
+0D7D  ; [.222D.0020.0004.0D7D][.2248.0020.0004.0D7D] # MALAYALAM LETTER CHILLU L
+0D35  ; [.222E.0020.0002.0D35] # MALAYALAM LETTER VA
+0D36  ; [.222F.0020.0002.0D36] # MALAYALAM LETTER SHA
+0D37  ; [.2230.0020.0002.0D37] # MALAYALAM LETTER SSA
+0D38  ; [.2231.0020.0002.0D38] # MALAYALAM LETTER SA
+0D39  ; [.2232.0020.0002.0D39] # MALAYALAM LETTER HA
+0D33  ; [.2233.0020.0002.0D33] # MALAYALAM LETTER LLA
+0D7E  ; [.2233.0020.0004.0D7E][.2248.0020.0004.0D7E] # MALAYALAM LETTER CHILLU LL
+0D34  ; [.2234.0020.0002.0D34] # MALAYALAM LETTER LLLA
+0D31  ; [.2235.0020.0002.0D31] # MALAYALAM LETTER RRA
+0D3A  ; [.2236.0020.0002.0D3A] # MALAYALAM LETTER TTTA
+0D3D  ; [.2237.0020.0002.0D3D] # MALAYALAM SIGN AVAGRAHA
+0D3E  ; [.2238.0020.0002.0D3E] # MALAYALAM VOWEL SIGN AA
+0D3F  ; [.2239.0020.0002.0D3F] # MALAYALAM VOWEL SIGN I
+0D40  ; [.223A.0020.0002.0D40] # MALAYALAM VOWEL SIGN II
+0D41  ; [.223B.0020.0002.0D41] # MALAYALAM VOWEL SIGN U
+0D42  ; [.223C.0020.0002.0D42] # MALAYALAM VOWEL SIGN UU
+0D43  ; [.223D.0020.0002.0D43] # MALAYALAM VOWEL SIGN VOCALIC R
+0D44  ; [.223E.0020.0002.0D44] # MALAYALAM VOWEL SIGN VOCALIC RR
+0D62  ; [.223F.0020.0002.0D62] # MALAYALAM VOWEL SIGN VOCALIC L
+0D63  ; [.2240.0020.0002.0D63] # MALAYALAM VOWEL SIGN VOCALIC LL
+0D46  ; [.2241.0020.0002.0D46] # MALAYALAM VOWEL SIGN E
+0D47  ; [.2242.0020.0002.0D47] # MALAYALAM VOWEL SIGN EE
+0D48  ; [.2243.0020.0002.0D48] # MALAYALAM VOWEL SIGN AI
+0D4A  ; [.2244.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
+0D46 0D3E ; [.2244.0020.0002.0D4A] # MALAYALAM VOWEL SIGN O
+0D4B  ; [.2245.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
+0D47 0D3E ; [.2245.0020.0002.0D4B] # MALAYALAM VOWEL SIGN OO
+0D4C  ; [.2246.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
+0D46 0D57 ; [.2246.0020.0002.0D4C] # MALAYALAM VOWEL SIGN AU
+0D57  ; [.2247.0020.0002.0D57] # MALAYALAM AU LENGTH MARK
+0D4D  ; [.2248.0020.0002.0D4D] # MALAYALAM SIGN VIRAMA
+0D85  ; [.2249.0020.0002.0D85] # SINHALA LETTER AYANNA
+0D86  ; [.224A.0020.0002.0D86] # SINHALA LETTER AAYANNA
+0D87  ; [.224B.0020.0002.0D87] # SINHALA LETTER AEYANNA
+0D88  ; [.224C.0020.0002.0D88] # SINHALA LETTER AEEYANNA
+0D89  ; [.224D.0020.0002.0D89] # SINHALA LETTER IYANNA
+0D8A  ; [.224E.0020.0002.0D8A] # SINHALA LETTER IIYANNA
+0D8B  ; [.224F.0020.0002.0D8B] # SINHALA LETTER UYANNA
+0D8C  ; [.2250.0020.0002.0D8C] # SINHALA LETTER UUYANNA
+0D8D  ; [.2251.0020.0002.0D8D] # SINHALA LETTER IRUYANNA
+0D8E  ; [.2252.0020.0002.0D8E] # SINHALA LETTER IRUUYANNA
+0D8F  ; [.2253.0020.0002.0D8F] # SINHALA LETTER ILUYANNA
+0D90  ; [.2254.0020.0002.0D90] # SINHALA LETTER ILUUYANNA
+0D91  ; [.2255.0020.0002.0D91] # SINHALA LETTER EYANNA
+0D92  ; [.2256.0020.0002.0D92] # SINHALA LETTER EEYANNA
+0D93  ; [.2257.0020.0002.0D93] # SINHALA LETTER AIYANNA
+0D94  ; [.2258.0020.0002.0D94] # SINHALA LETTER OYANNA
+0D95  ; [.2259.0020.0002.0D95] # SINHALA LETTER OOYANNA
+0D96  ; [.225A.0020.0002.0D96] # SINHALA LETTER AUYANNA
+0D9A  ; [.225B.0020.0002.0D9A] # SINHALA LETTER ALPAPRAANA KAYANNA
+0D9B  ; [.225C.0020.0002.0D9B] # SINHALA LETTER MAHAAPRAANA KAYANNA
+0D9C  ; [.225D.0020.0002.0D9C] # SINHALA LETTER ALPAPRAANA GAYANNA
+0D9D  ; [.225E.0020.0002.0D9D] # SINHALA LETTER MAHAAPRAANA GAYANNA
+0D9E  ; [.225F.0020.0002.0D9E] # SINHALA LETTER KANTAJA NAASIKYAYA
+0D9F  ; [.2260.0020.0002.0D9F] # SINHALA LETTER SANYAKA GAYANNA
+0DA0  ; [.2261.0020.0002.0DA0] # SINHALA LETTER ALPAPRAANA CAYANNA
+0DA1  ; [.2262.0020.0002.0DA1] # SINHALA LETTER MAHAAPRAANA CAYANNA
+0DA2  ; [.2263.0020.0002.0DA2] # SINHALA LETTER ALPAPRAANA JAYANNA
+0DA3  ; [.2264.0020.0002.0DA3] # SINHALA LETTER MAHAAPRAANA JAYANNA
+0DA4  ; [.2265.0020.0002.0DA4] # SINHALA LETTER TAALUJA NAASIKYAYA
+0DA5  ; [.2266.0020.0002.0DA5] # SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+0DA6  ; [.2267.0020.0002.0DA6] # SINHALA LETTER SANYAKA JAYANNA
+0DA7  ; [.2268.0020.0002.0DA7] # SINHALA LETTER ALPAPRAANA TTAYANNA
+0DA8  ; [.2269.0020.0002.0DA8] # SINHALA LETTER MAHAAPRAANA TTAYANNA
+0DA9  ; [.226A.0020.0002.0DA9] # SINHALA LETTER ALPAPRAANA DDAYANNA
+0DAA  ; [.226B.0020.0002.0DAA] # SINHALA LETTER MAHAAPRAANA DDAYANNA
+0DAB  ; [.226C.0020.0002.0DAB] # SINHALA LETTER MUURDHAJA NAYANNA
+0DAC  ; [.226D.0020.0002.0DAC] # SINHALA LETTER SANYAKA DDAYANNA
+0DAD  ; [.226E.0020.0002.0DAD] # SINHALA LETTER ALPAPRAANA TAYANNA
+0DAE  ; [.226F.0020.0002.0DAE] # SINHALA LETTER MAHAAPRAANA TAYANNA
+0DAF  ; [.2270.0020.0002.0DAF] # SINHALA LETTER ALPAPRAANA DAYANNA
+0DB0  ; [.2271.0020.0002.0DB0] # SINHALA LETTER MAHAAPRAANA DAYANNA
+0DB1  ; [.2272.0020.0002.0DB1] # SINHALA LETTER DANTAJA NAYANNA
+0DB3  ; [.2273.0020.0002.0DB3] # SINHALA LETTER SANYAKA DAYANNA
+0DB4  ; [.2274.0020.0002.0DB4] # SINHALA LETTER ALPAPRAANA PAYANNA
+0DB5  ; [.2275.0020.0002.0DB5] # SINHALA LETTER MAHAAPRAANA PAYANNA
+0DB6  ; [.2276.0020.0002.0DB6] # SINHALA LETTER ALPAPRAANA BAYANNA
+0DB7  ; [.2277.0020.0002.0DB7] # SINHALA LETTER MAHAAPRAANA BAYANNA
+0DB8  ; [.2278.0020.0002.0DB8] # SINHALA LETTER MAYANNA
+0DB9  ; [.2279.0020.0002.0DB9] # SINHALA LETTER AMBA BAYANNA
+0DBA  ; [.227A.0020.0002.0DBA] # SINHALA LETTER YAYANNA
+0DBB  ; [.227B.0020.0002.0DBB] # SINHALA LETTER RAYANNA
+0DBD  ; [.227C.0020.0002.0DBD] # SINHALA LETTER DANTAJA LAYANNA
+0DC0  ; [.227D.0020.0002.0DC0] # SINHALA LETTER VAYANNA
+0DC1  ; [.227E.0020.0002.0DC1] # SINHALA LETTER TAALUJA SAYANNA
+0DC2  ; [.227F.0020.0002.0DC2] # SINHALA LETTER MUURDHAJA SAYANNA
+0DC3  ; [.2280.0020.0002.0DC3] # SINHALA LETTER DANTAJA SAYANNA
+0DC4  ; [.2281.0020.0002.0DC4] # SINHALA LETTER HAYANNA
+0DC5  ; [.2282.0020.0002.0DC5] # SINHALA LETTER MUURDHAJA LAYANNA
+0DC6  ; [.2283.0020.0002.0DC6] # SINHALA LETTER FAYANNA
+0DCF  ; [.2284.0020.0002.0DCF] # SINHALA VOWEL SIGN AELA-PILLA
+0DD0  ; [.2285.0020.0002.0DD0] # SINHALA VOWEL SIGN KETTI AEDA-PILLA
+0DD1  ; [.2286.0020.0002.0DD1] # SINHALA VOWEL SIGN DIGA AEDA-PILLA
+0DD2  ; [.2287.0020.0002.0DD2] # SINHALA VOWEL SIGN KETTI IS-PILLA
+0DD3  ; [.2288.0020.0002.0DD3] # SINHALA VOWEL SIGN DIGA IS-PILLA
+0DD4  ; [.2289.0020.0002.0DD4] # SINHALA VOWEL SIGN KETTI PAA-PILLA
+0DD6  ; [.228A.0020.0002.0DD6] # SINHALA VOWEL SIGN DIGA PAA-PILLA
+0DD8  ; [.228B.0020.0002.0DD8] # SINHALA VOWEL SIGN GAETTA-PILLA
+0DF2  ; [.228C.0020.0002.0DF2] # SINHALA VOWEL SIGN DIGA GAETTA-PILLA
+0DDF  ; [.228D.0020.0002.0DDF] # SINHALA VOWEL SIGN GAYANUKITTA
+0DF3  ; [.228E.0020.0002.0DF3] # SINHALA VOWEL SIGN DIGA GAYANUKITTA
+0DD9  ; [.228F.0020.0002.0DD9] # SINHALA VOWEL SIGN KOMBUVA
+0DDA  ; [.2290.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DD9 0DCA ; [.2290.0020.0002.0DDA] # SINHALA VOWEL SIGN DIGA KOMBUVA
+0DDB  ; [.2291.0020.0002.0DDB] # SINHALA VOWEL SIGN KOMBU DEKA
+0DDC  ; [.2292.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DD9 0DCF ; [.2292.0020.0002.0DDC] # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA
+0DDD  ; [.2293.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DD9 0DCF 0DCA ; [.2293.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDC 0DCA ; [.2293.0020.0002.0DDD] # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA
+0DDE  ; [.2294.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DD9 0DDF ; [.2294.0020.0002.0DDE] # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
+0DCA  ; [.2295.0020.0002.0DCA] # SINHALA SIGN AL-LAKUNA
+AAF2  ; [.2296.0020.0002.AAF2] # MEETEI MAYEK ANJI
+ABC0  ; [.2297.0020.0002.ABC0] # MEETEI MAYEK LETTER KOK
+ABC1  ; [.2298.0020.0002.ABC1] # MEETEI MAYEK LETTER SAM
+ABC2  ; [.2299.0020.0002.ABC2] # MEETEI MAYEK LETTER LAI
+ABC3  ; [.229A.0020.0002.ABC3] # MEETEI MAYEK LETTER MIT
+ABC4  ; [.229B.0020.0002.ABC4] # MEETEI MAYEK LETTER PA
+ABC5  ; [.229C.0020.0002.ABC5] # MEETEI MAYEK LETTER NA
+ABC6  ; [.229D.0020.0002.ABC6] # MEETEI MAYEK LETTER CHIL
+ABC7  ; [.229E.0020.0002.ABC7] # MEETEI MAYEK LETTER TIL
+ABC8  ; [.229F.0020.0002.ABC8] # MEETEI MAYEK LETTER KHOU
+ABC9  ; [.22A0.0020.0002.ABC9] # MEETEI MAYEK LETTER NGOU
+ABCA  ; [.22A1.0020.0002.ABCA] # MEETEI MAYEK LETTER THOU
+ABCB  ; [.22A2.0020.0002.ABCB] # MEETEI MAYEK LETTER WAI
+ABCC  ; [.22A3.0020.0002.ABCC] # MEETEI MAYEK LETTER YANG
+ABCD  ; [.22A4.0020.0002.ABCD] # MEETEI MAYEK LETTER HUK
+ABCE  ; [.22A5.0020.0002.ABCE] # MEETEI MAYEK LETTER UN
+ABCF  ; [.22A6.0020.0002.ABCF] # MEETEI MAYEK LETTER I
+ABD0  ; [.22A7.0020.0002.ABD0] # MEETEI MAYEK LETTER PHAM
+ABD1  ; [.22A8.0020.0002.ABD1] # MEETEI MAYEK LETTER ATIYA
+ABD2  ; [.22A9.0020.0002.ABD2] # MEETEI MAYEK LETTER GOK
+ABD3  ; [.22AA.0020.0002.ABD3] # MEETEI MAYEK LETTER JHAM
+ABD4  ; [.22AB.0020.0002.ABD4] # MEETEI MAYEK LETTER RAI
+ABD5  ; [.22AC.0020.0002.ABD5] # MEETEI MAYEK LETTER BA
+ABD6  ; [.22AD.0020.0002.ABD6] # MEETEI MAYEK LETTER JIL
+ABD7  ; [.22AE.0020.0002.ABD7] # MEETEI MAYEK LETTER DIL
+ABD8  ; [.22AF.0020.0002.ABD8] # MEETEI MAYEK LETTER GHOU
+ABD9  ; [.22B0.0020.0002.ABD9] # MEETEI MAYEK LETTER DHOU
+ABDA  ; [.22B1.0020.0002.ABDA] # MEETEI MAYEK LETTER BHAM
+AAE0  ; [.22B2.0020.0002.AAE0] # MEETEI MAYEK LETTER E
+AAE1  ; [.22B3.0020.0002.AAE1] # MEETEI MAYEK LETTER O
+AAE2  ; [.22B4.0020.0002.AAE2] # MEETEI MAYEK LETTER CHA
+AAE3  ; [.22B5.0020.0002.AAE3] # MEETEI MAYEK LETTER NYA
+AAE4  ; [.22B6.0020.0002.AAE4] # MEETEI MAYEK LETTER TTA
+AAE5  ; [.22B7.0020.0002.AAE5] # MEETEI MAYEK LETTER TTHA
+AAE6  ; [.22B8.0020.0002.AAE6] # MEETEI MAYEK LETTER DDA
+AAE7  ; [.22B9.0020.0002.AAE7] # MEETEI MAYEK LETTER DDHA
+AAE8  ; [.22BA.0020.0002.AAE8] # MEETEI MAYEK LETTER NNA
+AAE9  ; [.22BB.0020.0002.AAE9] # MEETEI MAYEK LETTER SHA
+AAEA  ; [.22BC.0020.0002.AAEA] # MEETEI MAYEK LETTER SSA
+ABE3  ; [.22BD.0020.0002.ABE3] # MEETEI MAYEK VOWEL SIGN ONAP
+ABE4  ; [.22BE.0020.0002.ABE4] # MEETEI MAYEK VOWEL SIGN INAP
+ABE5  ; [.22BF.0020.0002.ABE5] # MEETEI MAYEK VOWEL SIGN ANAP
+ABE6  ; [.22C0.0020.0002.ABE6] # MEETEI MAYEK VOWEL SIGN YENAP
+ABE7  ; [.22C1.0020.0002.ABE7] # MEETEI MAYEK VOWEL SIGN SOUNAP
+ABE8  ; [.22C2.0020.0002.ABE8] # MEETEI MAYEK VOWEL SIGN UNAP
+ABE9  ; [.22C3.0020.0002.ABE9] # MEETEI MAYEK VOWEL SIGN CHEINAP
+ABEA  ; [.22C4.0020.0002.ABEA] # MEETEI MAYEK VOWEL SIGN NUNG
+AAEB  ; [.22C5.0020.0002.AAEB] # MEETEI MAYEK VOWEL SIGN II
+AAEC  ; [.22C6.0020.0002.AAEC] # MEETEI MAYEK VOWEL SIGN UU
+AAED  ; [.22C7.0020.0002.AAED] # MEETEI MAYEK VOWEL SIGN AAI
+AAEE  ; [.22C8.0020.0002.AAEE] # MEETEI MAYEK VOWEL SIGN AU
+AAEF  ; [.22C9.0020.0002.AAEF] # MEETEI MAYEK VOWEL SIGN AAU
+AAF5  ; [.22CA.0020.0002.AAF5] # MEETEI MAYEK VOWEL SIGN VISARGA
+ABDB  ; [.22CB.0020.0002.ABDB] # MEETEI MAYEK LETTER KOK LONSUM
+ABDC  ; [.22CC.0020.0002.ABDC] # MEETEI MAYEK LETTER LAI LONSUM
+ABDD  ; [.22CD.0020.0002.ABDD] # MEETEI MAYEK LETTER MIT LONSUM
+ABDE  ; [.22CE.0020.0002.ABDE] # MEETEI MAYEK LETTER PA LONSUM
+ABDF  ; [.22CF.0020.0002.ABDF] # MEETEI MAYEK LETTER NA LONSUM
+ABE0  ; [.22D0.0020.0002.ABE0] # MEETEI MAYEK LETTER TIL LONSUM
+ABE1  ; [.22D1.0020.0002.ABE1] # MEETEI MAYEK LETTER NGOU LONSUM
+ABE2  ; [.22D2.0020.0002.ABE2] # MEETEI MAYEK LETTER I LONSUM
+ABED  ; [.22D3.0020.0002.ABED] # MEETEI MAYEK APUN IYEK
+AAF6  ; [.22D4.0020.0002.AAF6] # MEETEI MAYEK VIRAMA
+A800  ; [.22D5.0020.0002.A800] # SYLOTI NAGRI LETTER A
+A801  ; [.22D6.0020.0002.A801] # SYLOTI NAGRI LETTER I
+A802  ; [.22D7.0020.0002.A802] # SYLOTI NAGRI SIGN DVISVARA
+A803  ; [.22D8.0020.0002.A803] # SYLOTI NAGRI LETTER U
+A804  ; [.22D9.0020.0002.A804] # SYLOTI NAGRI LETTER E
+A805  ; [.22DA.0020.0002.A805] # SYLOTI NAGRI LETTER O
+A806  ; [.22DB.0020.0002.A806] # SYLOTI NAGRI SIGN HASANTA
+A807  ; [.22DC.0020.0002.A807] # SYLOTI NAGRI LETTER KO
+A808  ; [.22DD.0020.0002.A808] # SYLOTI NAGRI LETTER KHO
+A809  ; [.22DE.0020.0002.A809] # SYLOTI NAGRI LETTER GO
+A80A  ; [.22DF.0020.0002.A80A] # SYLOTI NAGRI LETTER GHO
+A80C  ; [.22E0.0020.0002.A80C] # SYLOTI NAGRI LETTER CO
+A80D  ; [.22E1.0020.0002.A80D] # SYLOTI NAGRI LETTER CHO
+A80E  ; [.22E2.0020.0002.A80E] # SYLOTI NAGRI LETTER JO
+A80F  ; [.22E3.0020.0002.A80F] # SYLOTI NAGRI LETTER JHO
+A810  ; [.22E4.0020.0002.A810] # SYLOTI NAGRI LETTER TTO
+A811  ; [.22E5.0020.0002.A811] # SYLOTI NAGRI LETTER TTHO
+A812  ; [.22E6.0020.0002.A812] # SYLOTI NAGRI LETTER DDO
+A813  ; [.22E7.0020.0002.A813] # SYLOTI NAGRI LETTER DDHO
+A814  ; [.22E8.0020.0002.A814] # SYLOTI NAGRI LETTER TO
+A815  ; [.22E9.0020.0002.A815] # SYLOTI NAGRI LETTER THO
+A816  ; [.22EA.0020.0002.A816] # SYLOTI NAGRI LETTER DO
+A817  ; [.22EB.0020.0002.A817] # SYLOTI NAGRI LETTER DHO
+A818  ; [.22EC.0020.0002.A818] # SYLOTI NAGRI LETTER NO
+A819  ; [.22ED.0020.0002.A819] # SYLOTI NAGRI LETTER PO
+A81A  ; [.22EE.0020.0002.A81A] # SYLOTI NAGRI LETTER PHO
+A81B  ; [.22EF.0020.0002.A81B] # SYLOTI NAGRI LETTER BO
+A81C  ; [.22F0.0020.0002.A81C] # SYLOTI NAGRI LETTER BHO
+A81D  ; [.22F1.0020.0002.A81D] # SYLOTI NAGRI LETTER MO
+A81E  ; [.22F2.0020.0002.A81E] # SYLOTI NAGRI LETTER RO
+A81F  ; [.22F3.0020.0002.A81F] # SYLOTI NAGRI LETTER LO
+A820  ; [.22F4.0020.0002.A820] # SYLOTI NAGRI LETTER RRO
+A821  ; [.22F5.0020.0002.A821] # SYLOTI NAGRI LETTER SO
+A822  ; [.22F6.0020.0002.A822] # SYLOTI NAGRI LETTER HO
+A823  ; [.22F7.0020.0002.A823] # SYLOTI NAGRI VOWEL SIGN A
+A824  ; [.22F8.0020.0002.A824] # SYLOTI NAGRI VOWEL SIGN I
+A825  ; [.22F9.0020.0002.A825] # SYLOTI NAGRI VOWEL SIGN U
+A826  ; [.22FA.0020.0002.A826] # SYLOTI NAGRI VOWEL SIGN E
+A827  ; [.22FB.0020.0002.A827] # SYLOTI NAGRI VOWEL SIGN OO
+A882  ; [.22FC.0020.0002.A882] # SAURASHTRA LETTER A
+A883  ; [.22FD.0020.0002.A883] # SAURASHTRA LETTER AA
+A884  ; [.22FE.0020.0002.A884] # SAURASHTRA LETTER I
+A885  ; [.22FF.0020.0002.A885] # SAURASHTRA LETTER II
+A886  ; [.2300.0020.0002.A886] # SAURASHTRA LETTER U
+A887  ; [.2301.0020.0002.A887] # SAURASHTRA LETTER UU
+A888  ; [.2302.0020.0002.A888] # SAURASHTRA LETTER VOCALIC R
+A889  ; [.2303.0020.0002.A889] # SAURASHTRA LETTER VOCALIC RR
+A88A  ; [.2304.0020.0002.A88A] # SAURASHTRA LETTER VOCALIC L
+A88B  ; [.2305.0020.0002.A88B] # SAURASHTRA LETTER VOCALIC LL
+A88C  ; [.2306.0020.0002.A88C] # SAURASHTRA LETTER E
+A88D  ; [.2307.0020.0002.A88D] # SAURASHTRA LETTER EE
+A88E  ; [.2308.0020.0002.A88E] # SAURASHTRA LETTER AI
+A88F  ; [.2309.0020.0002.A88F] # SAURASHTRA LETTER O
+A890  ; [.230A.0020.0002.A890] # SAURASHTRA LETTER OO
+A891  ; [.230B.0020.0002.A891] # SAURASHTRA LETTER AU
+A892  ; [.230C.0020.0002.A892] # SAURASHTRA LETTER KA
+A893  ; [.230D.0020.0002.A893] # SAURASHTRA LETTER KHA
+A894  ; [.230E.0020.0002.A894] # SAURASHTRA LETTER GA
+A895  ; [.230F.0020.0002.A895] # SAURASHTRA LETTER GHA
+A896  ; [.2310.0020.0002.A896] # SAURASHTRA LETTER NGA
+A897  ; [.2311.0020.0002.A897] # SAURASHTRA LETTER CA
+A898  ; [.2312.0020.0002.A898] # SAURASHTRA LETTER CHA
+A899  ; [.2313.0020.0002.A899] # SAURASHTRA LETTER JA
+A89A  ; [.2314.0020.0002.A89A] # SAURASHTRA LETTER JHA
+A89B  ; [.2315.0020.0002.A89B] # SAURASHTRA LETTER NYA
+A89C  ; [.2316.0020.0002.A89C] # SAURASHTRA LETTER TTA
+A89D  ; [.2317.0020.0002.A89D] # SAURASHTRA LETTER TTHA
+A89E  ; [.2318.0020.0002.A89E] # SAURASHTRA LETTER DDA
+A89F  ; [.2319.0020.0002.A89F] # SAURASHTRA LETTER DDHA
+A8A0  ; [.231A.0020.0002.A8A0] # SAURASHTRA LETTER NNA
+A8A1  ; [.231B.0020.0002.A8A1] # SAURASHTRA LETTER TA
+A8A2  ; [.231C.0020.0002.A8A2] # SAURASHTRA LETTER THA
+A8A3  ; [.231D.0020.0002.A8A3] # SAURASHTRA LETTER DA
+A8A4  ; [.231E.0020.0002.A8A4] # SAURASHTRA LETTER DHA
+A8A5  ; [.231F.0020.0002.A8A5] # SAURASHTRA LETTER NA
+A8A6  ; [.2320.0020.0002.A8A6] # SAURASHTRA LETTER PA
+A8A7  ; [.2321.0020.0002.A8A7] # SAURASHTRA LETTER PHA
+A8A8  ; [.2322.0020.0002.A8A8] # SAURASHTRA LETTER BA
+A8A9  ; [.2323.0020.0002.A8A9] # SAURASHTRA LETTER BHA
+A8AA  ; [.2324.0020.0002.A8AA] # SAURASHTRA LETTER MA
+A8AB  ; [.2325.0020.0002.A8AB] # SAURASHTRA LETTER YA
+A8AC  ; [.2326.0020.0002.A8AC] # SAURASHTRA LETTER RA
+A8AD  ; [.2327.0020.0002.A8AD] # SAURASHTRA LETTER LA
+A8AE  ; [.2328.0020.0002.A8AE] # SAURASHTRA LETTER VA
+A8AF  ; [.2329.0020.0002.A8AF] # SAURASHTRA LETTER SHA
+A8B0  ; [.232A.0020.0002.A8B0] # SAURASHTRA LETTER SSA
+A8B1  ; [.232B.0020.0002.A8B1] # SAURASHTRA LETTER SA
+A8B2  ; [.232C.0020.0002.A8B2] # SAURASHTRA LETTER HA
+A8B3  ; [.232D.0020.0002.A8B3] # SAURASHTRA LETTER LLA
+A8B4  ; [.232E.0020.0002.A8B4] # SAURASHTRA CONSONANT SIGN HAARU
+A8B5  ; [.232F.0020.0002.A8B5] # SAURASHTRA VOWEL SIGN AA
+A8B6  ; [.2330.0020.0002.A8B6] # SAURASHTRA VOWEL SIGN I
+A8B7  ; [.2331.0020.0002.A8B7] # SAURASHTRA VOWEL SIGN II
+A8B8  ; [.2332.0020.0002.A8B8] # SAURASHTRA VOWEL SIGN U
+A8B9  ; [.2333.0020.0002.A8B9] # SAURASHTRA VOWEL SIGN UU
+A8BA  ; [.2334.0020.0002.A8BA] # SAURASHTRA VOWEL SIGN VOCALIC R
+A8BB  ; [.2335.0020.0002.A8BB] # SAURASHTRA VOWEL SIGN VOCALIC RR
+A8BC  ; [.2336.0020.0002.A8BC] # SAURASHTRA VOWEL SIGN VOCALIC L
+A8BD  ; [.2337.0020.0002.A8BD] # SAURASHTRA VOWEL SIGN VOCALIC LL
+A8BE  ; [.2338.0020.0002.A8BE] # SAURASHTRA VOWEL SIGN E
+A8BF  ; [.2339.0020.0002.A8BF] # SAURASHTRA VOWEL SIGN EE
+A8C0  ; [.233A.0020.0002.A8C0] # SAURASHTRA VOWEL SIGN AI
+A8C1  ; [.233B.0020.0002.A8C1] # SAURASHTRA VOWEL SIGN O
+A8C2  ; [.233C.0020.0002.A8C2] # SAURASHTRA VOWEL SIGN OO
+A8C3  ; [.233D.0020.0002.A8C3] # SAURASHTRA VOWEL SIGN AU
+A8C4  ; [.233E.0020.0002.A8C4] # SAURASHTRA SIGN VIRAMA
+11083 ; [.233F.0020.0002.11083] # KAITHI LETTER A
+11084 ; [.2340.0020.0002.11084] # KAITHI LETTER AA
+11085 ; [.2341.0020.0002.11085] # KAITHI LETTER I
+11086 ; [.2342.0020.0002.11086] # KAITHI LETTER II
+11087 ; [.2343.0020.0002.11087] # KAITHI LETTER U
+11088 ; [.2344.0020.0002.11088] # KAITHI LETTER UU
+11089 ; [.2345.0020.0002.11089] # KAITHI LETTER E
+1108A ; [.2346.0020.0002.1108A] # KAITHI LETTER AI
+1108B ; [.2347.0020.0002.1108B] # KAITHI LETTER O
+1108C ; [.2348.0020.0002.1108C] # KAITHI LETTER AU
+1108D ; [.2349.0020.0002.1108D] # KAITHI LETTER KA
+1108E ; [.234A.0020.0002.1108E] # KAITHI LETTER KHA
+1108F ; [.234B.0020.0002.1108F] # KAITHI LETTER GA
+11090 ; [.234C.0020.0002.11090] # KAITHI LETTER GHA
+11091 ; [.234D.0020.0002.11091] # KAITHI LETTER NGA
+11092 ; [.234E.0020.0002.11092] # KAITHI LETTER CA
+11093 ; [.234F.0020.0002.11093] # KAITHI LETTER CHA
+11094 ; [.2350.0020.0002.11094] # KAITHI LETTER JA
+11095 ; [.2351.0020.0002.11095] # KAITHI LETTER JHA
+11096 ; [.2352.0020.0002.11096] # KAITHI LETTER NYA
+11097 ; [.2353.0020.0002.11097] # KAITHI LETTER TTA
+11098 ; [.2354.0020.0002.11098] # KAITHI LETTER TTHA
+11099 ; [.2355.0020.0002.11099] # KAITHI LETTER DDA
+1109A ; [.2355.0020.0002.11099][.0000.00F1.0002.093C] # KAITHI LETTER DDDHA
+1109B ; [.2356.0020.0002.1109B] # KAITHI LETTER DDHA
+1109C ; [.2356.0020.0002.1109B][.0000.00F1.0002.093C] # KAITHI LETTER RHA
+1109D ; [.2357.0020.0002.1109D] # KAITHI LETTER NNA
+1109E ; [.2358.0020.0002.1109E] # KAITHI LETTER TA
+1109F ; [.2359.0020.0002.1109F] # KAITHI LETTER THA
+110A0 ; [.235A.0020.0002.110A0] # KAITHI LETTER DA
+110A1 ; [.235B.0020.0002.110A1] # KAITHI LETTER DHA
+110A2 ; [.235C.0020.0002.110A2] # KAITHI LETTER NA
+110A3 ; [.235D.0020.0002.110A3] # KAITHI LETTER PA
+110A4 ; [.235E.0020.0002.110A4] # KAITHI LETTER PHA
+110A5 ; [.235F.0020.0002.110A5] # KAITHI LETTER BA
+110AB ; [.235F.0020.0002.110A5][.0000.00F1.0002.093C] # KAITHI LETTER VA
+110A6 ; [.2360.0020.0002.110A6] # KAITHI LETTER BHA
+110A7 ; [.2361.0020.0002.110A7] # KAITHI LETTER MA
+110A8 ; [.2362.0020.0002.110A8] # KAITHI LETTER YA
+110A9 ; [.2363.0020.0002.110A9] # KAITHI LETTER RA
+110AA ; [.2364.0020.0002.110AA] # KAITHI LETTER LA
+110AC ; [.2365.0020.0002.110AC] # KAITHI LETTER SHA
+110AD ; [.2366.0020.0002.110AD] # KAITHI LETTER SSA
+110AE ; [.2367.0020.0002.110AE] # KAITHI LETTER SA
+110AF ; [.2368.0020.0002.110AF] # KAITHI LETTER HA
+110B0 ; [.2369.0020.0002.110B0] # KAITHI VOWEL SIGN AA
+110B1 ; [.236A.0020.0002.110B1] # KAITHI VOWEL SIGN I
+110B2 ; [.236B.0020.0002.110B2] # KAITHI VOWEL SIGN II
+110B3 ; [.236C.0020.0002.110B3] # KAITHI VOWEL SIGN U
+110B4 ; [.236D.0020.0002.110B4] # KAITHI VOWEL SIGN UU
+110B5 ; [.236E.0020.0002.110B5] # KAITHI VOWEL SIGN E
+110B6 ; [.236F.0020.0002.110B6] # KAITHI VOWEL SIGN AI
+110B7 ; [.2370.0020.0002.110B7] # KAITHI VOWEL SIGN O
+110B8 ; [.2371.0020.0002.110B8] # KAITHI VOWEL SIGN AU
+110B9 ; [.2372.0020.0002.110B9] # KAITHI SIGN VIRAMA
+111C4 ; [.2373.0020.0002.111C4] # SHARADA OM
+11183 ; [.2374.0020.0002.11183] # SHARADA LETTER A
+11184 ; [.2375.0020.0002.11184] # SHARADA LETTER AA
+11185 ; [.2376.0020.0002.11185] # SHARADA LETTER I
+11186 ; [.2377.0020.0002.11186] # SHARADA LETTER II
+11187 ; [.2378.0020.0002.11187] # SHARADA LETTER U
+11188 ; [.2379.0020.0002.11188] # SHARADA LETTER UU
+11189 ; [.237A.0020.0002.11189] # SHARADA LETTER VOCALIC R
+1118A ; [.237B.0020.0002.1118A] # SHARADA LETTER VOCALIC RR
+1118B ; [.237C.0020.0002.1118B] # SHARADA LETTER VOCALIC L
+1118C ; [.237D.0020.0002.1118C] # SHARADA LETTER VOCALIC LL
+1118D ; [.237E.0020.0002.1118D] # SHARADA LETTER E
+1118E ; [.237F.0020.0002.1118E] # SHARADA LETTER AI
+1118F ; [.2380.0020.0002.1118F] # SHARADA LETTER O
+11190 ; [.2381.0020.0002.11190] # SHARADA LETTER AU
+11191 ; [.2382.0020.0002.11191] # SHARADA LETTER KA
+11192 ; [.2383.0020.0002.11192] # SHARADA LETTER KHA
+11193 ; [.2384.0020.0002.11193] # SHARADA LETTER GA
+11194 ; [.2385.0020.0002.11194] # SHARADA LETTER GHA
+11195 ; [.2386.0020.0002.11195] # SHARADA LETTER NGA
+11196 ; [.2387.0020.0002.11196] # SHARADA LETTER CA
+11197 ; [.2388.0020.0002.11197] # SHARADA LETTER CHA
+11198 ; [.2389.0020.0002.11198] # SHARADA LETTER JA
+11199 ; [.238A.0020.0002.11199] # SHARADA LETTER JHA
+1119A ; [.238B.0020.0002.1119A] # SHARADA LETTER NYA
+1119B ; [.238C.0020.0002.1119B] # SHARADA LETTER TTA
+1119C ; [.238D.0020.0002.1119C] # SHARADA LETTER TTHA
+1119D ; [.238E.0020.0002.1119D] # SHARADA LETTER DDA
+1119E ; [.238F.0020.0002.1119E] # SHARADA LETTER DDHA
+1119F ; [.2390.0020.0002.1119F] # SHARADA LETTER NNA
+111A0 ; [.2391.0020.0002.111A0] # SHARADA LETTER TA
+111A1 ; [.2392.0020.0002.111A1] # SHARADA LETTER THA
+111A2 ; [.2393.0020.0002.111A2] # SHARADA LETTER DA
+111A3 ; [.2394.0020.0002.111A3] # SHARADA LETTER DHA
+111A4 ; [.2395.0020.0002.111A4] # SHARADA LETTER NA
+111A5 ; [.2396.0020.0002.111A5] # SHARADA LETTER PA
+111A6 ; [.2397.0020.0002.111A6] # SHARADA LETTER PHA
+111A7 ; [.2398.0020.0002.111A7] # SHARADA LETTER BA
+111A8 ; [.2399.0020.0002.111A8] # SHARADA LETTER BHA
+111A9 ; [.239A.0020.0002.111A9] # SHARADA LETTER MA
+111AA ; [.239B.0020.0002.111AA] # SHARADA LETTER YA
+111AB ; [.239C.0020.0002.111AB] # SHARADA LETTER RA
+111AC ; [.239D.0020.0002.111AC] # SHARADA LETTER LA
+111AD ; [.239E.0020.0002.111AD] # SHARADA LETTER LLA
+111AE ; [.239F.0020.0002.111AE] # SHARADA LETTER VA
+111AF ; [.23A0.0020.0002.111AF] # SHARADA LETTER SHA
+111B0 ; [.23A1.0020.0002.111B0] # SHARADA LETTER SSA
+111B1 ; [.23A2.0020.0002.111B1] # SHARADA LETTER SA
+111B2 ; [.23A3.0020.0002.111B2] # SHARADA LETTER HA
+111B3 ; [.23A4.0020.0002.111B3] # SHARADA VOWEL SIGN AA
+111B4 ; [.23A5.0020.0002.111B4] # SHARADA VOWEL SIGN I
+111B5 ; [.23A6.0020.0002.111B5] # SHARADA VOWEL SIGN II
+111B6 ; [.23A7.0020.0002.111B6] # SHARADA VOWEL SIGN U
+111B7 ; [.23A8.0020.0002.111B7] # SHARADA VOWEL SIGN UU
+111B8 ; [.23A9.0020.0002.111B8] # SHARADA VOWEL SIGN VOCALIC R
+111B9 ; [.23AA.0020.0002.111B9] # SHARADA VOWEL SIGN VOCALIC RR
+111BA ; [.23AB.0020.0002.111BA] # SHARADA VOWEL SIGN VOCALIC L
+111BB ; [.23AC.0020.0002.111BB] # SHARADA VOWEL SIGN VOCALIC LL
+111BC ; [.23AD.0020.0002.111BC] # SHARADA VOWEL SIGN E
+111BD ; [.23AE.0020.0002.111BD] # SHARADA VOWEL SIGN AI
+111BE ; [.23AF.0020.0002.111BE] # SHARADA VOWEL SIGN O
+111BF ; [.23B0.0020.0002.111BF] # SHARADA VOWEL SIGN AU
+111C0 ; [.23B1.0020.0002.111C0] # SHARADA SIGN VIRAMA
+111C1 ; [.23B2.0020.0002.111C1] # SHARADA SIGN AVAGRAHA
+111C2 ; [.23B3.0020.0002.111C2] # SHARADA SIGN JIHVAMULIYA
+111C3 ; [.23B4.0020.0002.111C3] # SHARADA SIGN UPADHMANIYA
+11680 ; [.23B5.0020.0002.11680] # TAKRI LETTER A
+11681 ; [.23B6.0020.0002.11681] # TAKRI LETTER AA
+11682 ; [.23B7.0020.0002.11682] # TAKRI LETTER I
+11683 ; [.23B8.0020.0002.11683] # TAKRI LETTER II
+11684 ; [.23B9.0020.0002.11684] # TAKRI LETTER U
+11685 ; [.23BA.0020.0002.11685] # TAKRI LETTER UU
+11686 ; [.23BB.0020.0002.11686] # TAKRI LETTER E
+11687 ; [.23BC.0020.0002.11687] # TAKRI LETTER AI
+11688 ; [.23BD.0020.0002.11688] # TAKRI LETTER O
+11689 ; [.23BE.0020.0002.11689] # TAKRI LETTER AU
+116A8 ; [.23BF.0020.0002.116A8] # TAKRI LETTER SA
+116A7 ; [.23C0.0020.0002.116A7] # TAKRI LETTER SHA
+116A9 ; [.23C1.0020.0002.116A9] # TAKRI LETTER HA
+1168A ; [.23C2.0020.0002.1168A] # TAKRI LETTER KA
+1168B ; [.23C3.0020.0002.1168B] # TAKRI LETTER KHA
+1168C ; [.23C4.0020.0002.1168C] # TAKRI LETTER GA
+1168D ; [.23C5.0020.0002.1168D] # TAKRI LETTER GHA
+1168E ; [.23C6.0020.0002.1168E] # TAKRI LETTER NGA
+1168F ; [.23C7.0020.0002.1168F] # TAKRI LETTER CA
+11690 ; [.23C8.0020.0002.11690] # TAKRI LETTER CHA
+11691 ; [.23C9.0020.0002.11691] # TAKRI LETTER JA
+11692 ; [.23CA.0020.0002.11692] # TAKRI LETTER JHA
+11693 ; [.23CB.0020.0002.11693] # TAKRI LETTER NYA
+11694 ; [.23CC.0020.0002.11694] # TAKRI LETTER TTA
+11695 ; [.23CD.0020.0002.11695] # TAKRI LETTER TTHA
+11696 ; [.23CE.0020.0002.11696] # TAKRI LETTER DDA
+11697 ; [.23CF.0020.0002.11697] # TAKRI LETTER DDHA
+11698 ; [.23D0.0020.0002.11698] # TAKRI LETTER NNA
+11699 ; [.23D1.0020.0002.11699] # TAKRI LETTER TA
+1169A ; [.23D2.0020.0002.1169A] # TAKRI LETTER THA
+1169B ; [.23D3.0020.0002.1169B] # TAKRI LETTER DA
+1169C ; [.23D4.0020.0002.1169C] # TAKRI LETTER DHA
+1169D ; [.23D5.0020.0002.1169D] # TAKRI LETTER NA
+1169E ; [.23D6.0020.0002.1169E] # TAKRI LETTER PA
+1169F ; [.23D7.0020.0002.1169F] # TAKRI LETTER PHA
+116A0 ; [.23D8.0020.0002.116A0] # TAKRI LETTER BA
+116A1 ; [.23D9.0020.0002.116A1] # TAKRI LETTER BHA
+116A2 ; [.23DA.0020.0002.116A2] # TAKRI LETTER MA
+116A3 ; [.23DB.0020.0002.116A3] # TAKRI LETTER YA
+116A4 ; [.23DC.0020.0002.116A4] # TAKRI LETTER RA
+116A5 ; [.23DD.0020.0002.116A5] # TAKRI LETTER LA
+116A6 ; [.23DE.0020.0002.116A6] # TAKRI LETTER VA
+116AA ; [.23DF.0020.0002.116AA] # TAKRI LETTER RRA
+116AD ; [.23E0.0020.0002.116AD] # TAKRI VOWEL SIGN AA
+116AE ; [.23E1.0020.0002.116AE] # TAKRI VOWEL SIGN I
+116AF ; [.23E2.0020.0002.116AF] # TAKRI VOWEL SIGN II
+116B0 ; [.23E3.0020.0002.116B0] # TAKRI VOWEL SIGN U
+116B1 ; [.23E4.0020.0002.116B1] # TAKRI VOWEL SIGN UU
+116B2 ; [.23E5.0020.0002.116B2] # TAKRI VOWEL SIGN E
+116B3 ; [.23E6.0020.0002.116B3] # TAKRI VOWEL SIGN AI
+116B4 ; [.23E7.0020.0002.116B4] # TAKRI VOWEL SIGN O
+116B5 ; [.23E8.0020.0002.116B5] # TAKRI VOWEL SIGN AU
+116B6 ; [.23E9.0020.0002.116B6] # TAKRI SIGN VIRAMA
+1B83  ; [.23EA.0020.0002.1B83] # SUNDANESE LETTER A
+1BBA  ; [.23EA.0020.0004.1BBA] # SUNDANESE AVAGRAHA
+1B84  ; [.23EB.0020.0002.1B84] # SUNDANESE LETTER I
+1B85  ; [.23EC.0020.0002.1B85] # SUNDANESE LETTER U
+1B86  ; [.23ED.0020.0002.1B86] # SUNDANESE LETTER AE
+1B87  ; [.23EE.0020.0002.1B87] # SUNDANESE LETTER O
+1B88  ; [.23EF.0020.0002.1B88] # SUNDANESE LETTER E
+1B89  ; [.23F0.0020.0002.1B89] # SUNDANESE LETTER EU
+1B8A  ; [.23F1.0020.0002.1B8A] # SUNDANESE LETTER KA
+1BBE  ; [.23F1.0020.0019.1BBE] # SUNDANESE LETTER FINAL K
+1BAE  ; [.23F2.0020.0002.1BAE] # SUNDANESE LETTER KHA
+1B8B  ; [.23F3.0020.0002.1B8B] # SUNDANESE LETTER QA
+1B8C  ; [.23F4.0020.0002.1B8C] # SUNDANESE LETTER GA
+1B8D  ; [.23F5.0020.0002.1B8D] # SUNDANESE LETTER NGA
+1B8E  ; [.23F6.0020.0002.1B8E] # SUNDANESE LETTER CA
+1B8F  ; [.23F7.0020.0002.1B8F] # SUNDANESE LETTER JA
+1B90  ; [.23F8.0020.0002.1B90] # SUNDANESE LETTER ZA
+1B91  ; [.23F9.0020.0002.1B91] # SUNDANESE LETTER NYA
+1B92  ; [.23FA.0020.0002.1B92] # SUNDANESE LETTER TA
+1B93  ; [.23FB.0020.0002.1B93] # SUNDANESE LETTER DA
+1B94  ; [.23FC.0020.0002.1B94] # SUNDANESE LETTER NA
+1B95  ; [.23FD.0020.0002.1B95] # SUNDANESE LETTER PA
+1B96  ; [.23FE.0020.0002.1B96] # SUNDANESE LETTER FA
+1B97  ; [.23FF.0020.0002.1B97] # SUNDANESE LETTER VA
+1B98  ; [.2400.0020.0002.1B98] # SUNDANESE LETTER BA
+1BBD  ; [.2401.0020.0002.1BBD] # SUNDANESE LETTER BHA
+1B99  ; [.2402.0020.0002.1B99] # SUNDANESE LETTER MA
+1BBF  ; [.2402.0020.0019.1BBF] # SUNDANESE LETTER FINAL M
+1BAC  ; [.2403.0020.0002.1BAC] # SUNDANESE CONSONANT SIGN PASANGAN MA
+1B9A  ; [.2404.0020.0002.1B9A] # SUNDANESE LETTER YA
+1BA1  ; [.2405.0020.0002.1BA1] # SUNDANESE CONSONANT SIGN PAMINGKAL
+1B9B  ; [.2406.0020.0002.1B9B] # SUNDANESE LETTER RA
+1BA2  ; [.2407.0020.0002.1BA2] # SUNDANESE CONSONANT SIGN PANYAKRA
+1BBB  ; [.2408.0020.0002.1BBB] # SUNDANESE LETTER REU
+1B9C  ; [.2409.0020.0002.1B9C] # SUNDANESE LETTER LA
+1BA3  ; [.240A.0020.0002.1BA3] # SUNDANESE CONSONANT SIGN PANYIKU
+1BBC  ; [.240B.0020.0002.1BBC] # SUNDANESE LETTER LEU
+1B9D  ; [.240C.0020.0002.1B9D] # SUNDANESE LETTER WA
+1BAD  ; [.240D.0020.0002.1BAD] # SUNDANESE CONSONANT SIGN PASANGAN WA
+1B9E  ; [.240E.0020.0002.1B9E] # SUNDANESE LETTER SA
+1B9F  ; [.240F.0020.0002.1B9F] # SUNDANESE LETTER XA
+1BAF  ; [.2410.0020.0002.1BAF] # SUNDANESE LETTER SYA
+1BA0  ; [.2411.0020.0002.1BA0] # SUNDANESE LETTER HA
+1BA4  ; [.2412.0020.0002.1BA4] # SUNDANESE VOWEL SIGN PANGHULU
+1BA5  ; [.2413.0020.0002.1BA5] # SUNDANESE VOWEL SIGN PANYUKU
+1BA6  ; [.2414.0020.0002.1BA6] # SUNDANESE VOWEL SIGN PANAELAENG
+1BA7  ; [.2415.0020.0002.1BA7] # SUNDANESE VOWEL SIGN PANOLONG
+1BA8  ; [.2416.0020.0002.1BA8] # SUNDANESE VOWEL SIGN PAMEPET
+1BA9  ; [.2417.0020.0002.1BA9] # SUNDANESE VOWEL SIGN PANEULEUNG
+1BAA  ; [.2418.0020.0002.1BAA] # SUNDANESE SIGN PAMAAEH
+1BAB  ; [.2419.0020.0002.1BAB] # SUNDANESE SIGN VIRAMA
+11005 ; [.241A.0020.0002.11005] # BRAHMI LETTER A
+11006 ; [.241B.0020.0002.11006] # BRAHMI LETTER AA
+11007 ; [.241C.0020.0002.11007] # BRAHMI LETTER I
+11008 ; [.241D.0020.0002.11008] # BRAHMI LETTER II
+11009 ; [.241E.0020.0002.11009] # BRAHMI LETTER U
+1100A ; [.241F.0020.0002.1100A] # BRAHMI LETTER UU
+1100B ; [.2420.0020.0002.1100B] # BRAHMI LETTER VOCALIC R
+1100C ; [.2421.0020.0002.1100C] # BRAHMI LETTER VOCALIC RR
+1100D ; [.2422.0020.0002.1100D] # BRAHMI LETTER VOCALIC L
+1100E ; [.2423.0020.0002.1100E] # BRAHMI LETTER VOCALIC LL
+1100F ; [.2424.0020.0002.1100F] # BRAHMI LETTER E
+11010 ; [.2425.0020.0002.11010] # BRAHMI LETTER AI
+11011 ; [.2426.0020.0002.11011] # BRAHMI LETTER O
+11012 ; [.2427.0020.0002.11012] # BRAHMI LETTER AU
+11013 ; [.2428.0020.0002.11013] # BRAHMI LETTER KA
+11014 ; [.2429.0020.0002.11014] # BRAHMI LETTER KHA
+11015 ; [.242A.0020.0002.11015] # BRAHMI LETTER GA
+11016 ; [.242B.0020.0002.11016] # BRAHMI LETTER GHA
+11017 ; [.242C.0020.0002.11017] # BRAHMI LETTER NGA
+11018 ; [.242D.0020.0002.11018] # BRAHMI LETTER CA
+11019 ; [.242E.0020.0002.11019] # BRAHMI LETTER CHA
+1101A ; [.242F.0020.0002.1101A] # BRAHMI LETTER JA
+1101B ; [.2430.0020.0002.1101B] # BRAHMI LETTER JHA
+1101C ; [.2431.0020.0002.1101C] # BRAHMI LETTER NYA
+1101D ; [.2432.0020.0002.1101D] # BRAHMI LETTER TTA
+1101E ; [.2433.0020.0002.1101E] # BRAHMI LETTER TTHA
+1101F ; [.2434.0020.0002.1101F] # BRAHMI LETTER DDA
+11020 ; [.2435.0020.0002.11020] # BRAHMI LETTER DDHA
+11021 ; [.2436.0020.0002.11021] # BRAHMI LETTER NNA
+11022 ; [.2437.0020.0002.11022] # BRAHMI LETTER TA
+11023 ; [.2438.0020.0002.11023] # BRAHMI LETTER THA
+11024 ; [.2439.0020.0002.11024] # BRAHMI LETTER DA
+11025 ; [.243A.0020.0002.11025] # BRAHMI LETTER DHA
+11026 ; [.243B.0020.0002.11026] # BRAHMI LETTER NA
+11027 ; [.243C.0020.0002.11027] # BRAHMI LETTER PA
+11028 ; [.243D.0020.0002.11028] # BRAHMI LETTER PHA
+11029 ; [.243E.0020.0002.11029] # BRAHMI LETTER BA
+1102A ; [.243F.0020.0002.1102A] # BRAHMI LETTER BHA
+1102B ; [.2440.0020.0002.1102B] # BRAHMI LETTER MA
+1102C ; [.2441.0020.0002.1102C] # BRAHMI LETTER YA
+1102D ; [.2442.0020.0002.1102D] # BRAHMI LETTER RA
+1102E ; [.2443.0020.0002.1102E] # BRAHMI LETTER LA
+1102F ; [.2444.0020.0002.1102F] # BRAHMI LETTER VA
+11030 ; [.2445.0020.0002.11030] # BRAHMI LETTER SHA
+11031 ; [.2446.0020.0002.11031] # BRAHMI LETTER SSA
+11032 ; [.2447.0020.0002.11032] # BRAHMI LETTER SA
+11033 ; [.2448.0020.0002.11033] # BRAHMI LETTER HA
+11003 ; [.2449.0020.0002.11003] # BRAHMI SIGN JIHVAMULIYA
+11004 ; [.244A.0020.0002.11004] # BRAHMI SIGN UPADHMANIYA
+11034 ; [.244B.0020.0002.11034] # BRAHMI LETTER LLA
+11035 ; [.244C.0020.0002.11035] # BRAHMI LETTER OLD TAMIL LLLA
+11036 ; [.244D.0020.0002.11036] # BRAHMI LETTER OLD TAMIL RRA
+11037 ; [.244E.0020.0002.11037] # BRAHMI LETTER OLD TAMIL NNNA
+11038 ; [.244F.0020.0002.11038] # BRAHMI VOWEL SIGN AA
+11039 ; [.2450.0020.0002.11039] # BRAHMI VOWEL SIGN BHATTIPROLU AA
+1103A ; [.2451.0020.0002.1103A] # BRAHMI VOWEL SIGN I
+1103B ; [.2452.0020.0002.1103B] # BRAHMI VOWEL SIGN II
+1103C ; [.2453.0020.0002.1103C] # BRAHMI VOWEL SIGN U
+1103D ; [.2454.0020.0002.1103D] # BRAHMI VOWEL SIGN UU
+1103E ; [.2455.0020.0002.1103E] # BRAHMI VOWEL SIGN VOCALIC R
+1103F ; [.2456.0020.0002.1103F] # BRAHMI VOWEL SIGN VOCALIC RR
+11040 ; [.2457.0020.0002.11040] # BRAHMI VOWEL SIGN VOCALIC L
+11041 ; [.2458.0020.0002.11041] # BRAHMI VOWEL SIGN VOCALIC LL
+11042 ; [.2459.0020.0002.11042] # BRAHMI VOWEL SIGN E
+11043 ; [.245A.0020.0002.11043] # BRAHMI VOWEL SIGN AI
+11044 ; [.245B.0020.0002.11044] # BRAHMI VOWEL SIGN O
+11045 ; [.245C.0020.0002.11045] # BRAHMI VOWEL SIGN AU
+11046 ; [.245D.0020.0002.11046] # BRAHMI VIRAMA
+10A00 ; [.245E.0020.0002.10A00] # KHAROSHTHI LETTER A
+10A01 ; [.245F.0020.0002.10A01] # KHAROSHTHI VOWEL SIGN I
+10A02 ; [.2460.0020.0002.10A02] # KHAROSHTHI VOWEL SIGN U
+10A03 ; [.2461.0020.0002.10A03] # KHAROSHTHI VOWEL SIGN VOCALIC R
+10A05 ; [.2462.0020.0002.10A05] # KHAROSHTHI VOWEL SIGN E
+10A06 ; [.2463.0020.0002.10A06] # KHAROSHTHI VOWEL SIGN O
+10A0C ; [.2464.0020.0002.10A0C] # KHAROSHTHI VOWEL LENGTH MARK
+10A10 ; [.2465.0020.0002.10A10] # KHAROSHTHI LETTER KA
+10A11 ; [.2466.0020.0002.10A11] # KHAROSHTHI LETTER KHA
+10A12 ; [.2467.0020.0002.10A12] # KHAROSHTHI LETTER GA
+10A13 ; [.2468.0020.0002.10A13] # KHAROSHTHI LETTER GHA
+10A15 ; [.2469.0020.0002.10A15] # KHAROSHTHI LETTER CA
+10A16 ; [.246A.0020.0002.10A16] # KHAROSHTHI LETTER CHA
+10A17 ; [.246B.0020.0002.10A17] # KHAROSHTHI LETTER JA
+10A19 ; [.246C.0020.0002.10A19] # KHAROSHTHI LETTER NYA
+10A1A ; [.246D.0020.0002.10A1A] # KHAROSHTHI LETTER TTA
+10A1B ; [.246E.0020.0002.10A1B] # KHAROSHTHI LETTER TTHA
+10A1C ; [.246F.0020.0002.10A1C] # KHAROSHTHI LETTER DDA
+10A1D ; [.2470.0020.0002.10A1D] # KHAROSHTHI LETTER DDHA
+10A1E ; [.2471.0020.0002.10A1E] # KHAROSHTHI LETTER NNA
+10A1F ; [.2472.0020.0002.10A1F] # KHAROSHTHI LETTER TA
+10A20 ; [.2473.0020.0002.10A20] # KHAROSHTHI LETTER THA
+10A21 ; [.2474.0020.0002.10A21] # KHAROSHTHI LETTER DA
+10A22 ; [.2475.0020.0002.10A22] # KHAROSHTHI LETTER DHA
+10A23 ; [.2476.0020.0002.10A23] # KHAROSHTHI LETTER NA
+10A24 ; [.2477.0020.0002.10A24] # KHAROSHTHI LETTER PA
+10A25 ; [.2478.0020.0002.10A25] # KHAROSHTHI LETTER PHA
+10A26 ; [.2479.0020.0002.10A26] # KHAROSHTHI LETTER BA
+10A27 ; [.247A.0020.0002.10A27] # KHAROSHTHI LETTER BHA
+10A28 ; [.247B.0020.0002.10A28] # KHAROSHTHI LETTER MA
+10A29 ; [.247C.0020.0002.10A29] # KHAROSHTHI LETTER YA
+10A2A ; [.247D.0020.0002.10A2A] # KHAROSHTHI LETTER RA
+10A2B ; [.247E.0020.0002.10A2B] # KHAROSHTHI LETTER LA
+10A2C ; [.247F.0020.0002.10A2C] # KHAROSHTHI LETTER VA
+10A2D ; [.2480.0020.0002.10A2D] # KHAROSHTHI LETTER SHA
+10A2E ; [.2481.0020.0002.10A2E] # KHAROSHTHI LETTER SSA
+10A2F ; [.2482.0020.0002.10A2F] # KHAROSHTHI LETTER SA
+10A30 ; [.2483.0020.0002.10A30] # KHAROSHTHI LETTER ZA
+10A31 ; [.2484.0020.0002.10A31] # KHAROSHTHI LETTER HA
+10A32 ; [.2485.0020.0002.10A32] # KHAROSHTHI LETTER KKA
+10A33 ; [.2486.0020.0002.10A33] # KHAROSHTHI LETTER TTTHA
+10A3F ; [.2487.0020.0002.10A3F] # KHAROSHTHI VIRAMA
+0E01  ; [.2488.0020.0002.0E01] # THAI CHARACTER KO KAI
+0E40 0E01 ; [.2488.0020.0002.0E01][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KO KAI>
+0E41 0E01 ; [.2488.0020.0002.0E01][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KO KAI>
+0E42 0E01 ; [.2488.0020.0002.0E01][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KO KAI>
+0E43 0E01 ; [.2488.0020.0002.0E01][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KO KAI>
+0E44 0E01 ; [.2488.0020.0002.0E01][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KO KAI>
+0E02  ; [.2489.0020.0002.0E02] # THAI CHARACTER KHO KHAI
+0E40 0E02 ; [.2489.0020.0002.0E02][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHAI>
+0E41 0E02 ; [.2489.0020.0002.0E02][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHAI>
+0E42 0E02 ; [.2489.0020.0002.0E02][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHAI>
+0E43 0E02 ; [.2489.0020.0002.0E02][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHAI>
+0E44 0E02 ; [.2489.0020.0002.0E02][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHAI>
+0E03  ; [.248A.0020.0002.0E03] # THAI CHARACTER KHO KHUAT
+0E40 0E03 ; [.248A.0020.0002.0E03][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHUAT>
+0E41 0E03 ; [.248A.0020.0002.0E03][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHUAT>
+0E42 0E03 ; [.248A.0020.0002.0E03][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHUAT>
+0E43 0E03 ; [.248A.0020.0002.0E03][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHUAT>
+0E44 0E03 ; [.248A.0020.0002.0E03][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHUAT>
+0E04  ; [.248B.0020.0002.0E04] # THAI CHARACTER KHO KHWAI
+0E40 0E04 ; [.248B.0020.0002.0E04][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHWAI>
+0E41 0E04 ; [.248B.0020.0002.0E04][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHWAI>
+0E42 0E04 ; [.248B.0020.0002.0E04][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHWAI>
+0E43 0E04 ; [.248B.0020.0002.0E04][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHWAI>
+0E44 0E04 ; [.248B.0020.0002.0E04][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHWAI>
+0E05  ; [.248C.0020.0002.0E05] # THAI CHARACTER KHO KHON
+0E40 0E05 ; [.248C.0020.0002.0E05][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO KHON>
+0E41 0E05 ; [.248C.0020.0002.0E05][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO KHON>
+0E42 0E05 ; [.248C.0020.0002.0E05][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO KHON>
+0E43 0E05 ; [.248C.0020.0002.0E05][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO KHON>
+0E44 0E05 ; [.248C.0020.0002.0E05][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO KHON>
+0E06  ; [.248D.0020.0002.0E06] # THAI CHARACTER KHO RAKHANG
+0E40 0E06 ; [.248D.0020.0002.0E06][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER KHO RAKHANG>
+0E41 0E06 ; [.248D.0020.0002.0E06][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER KHO RAKHANG>
+0E42 0E06 ; [.248D.0020.0002.0E06][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER KHO RAKHANG>
+0E43 0E06 ; [.248D.0020.0002.0E06][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER KHO RAKHANG>
+0E44 0E06 ; [.248D.0020.0002.0E06][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER KHO RAKHANG>
+0E07  ; [.248E.0020.0002.0E07] # THAI CHARACTER NGO NGU
+0E40 0E07 ; [.248E.0020.0002.0E07][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NGO NGU>
+0E41 0E07 ; [.248E.0020.0002.0E07][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NGO NGU>
+0E42 0E07 ; [.248E.0020.0002.0E07][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NGO NGU>
+0E43 0E07 ; [.248E.0020.0002.0E07][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NGO NGU>
+0E44 0E07 ; [.248E.0020.0002.0E07][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NGO NGU>
+0E08  ; [.248F.0020.0002.0E08] # THAI CHARACTER CHO CHAN
+0E40 0E08 ; [.248F.0020.0002.0E08][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHAN>
+0E41 0E08 ; [.248F.0020.0002.0E08][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHAN>
+0E42 0E08 ; [.248F.0020.0002.0E08][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHAN>
+0E43 0E08 ; [.248F.0020.0002.0E08][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHAN>
+0E44 0E08 ; [.248F.0020.0002.0E08][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHAN>
+0E09  ; [.2490.0020.0002.0E09] # THAI CHARACTER CHO CHING
+0E40 0E09 ; [.2490.0020.0002.0E09][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHING>
+0E41 0E09 ; [.2490.0020.0002.0E09][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHING>
+0E42 0E09 ; [.2490.0020.0002.0E09][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHING>
+0E43 0E09 ; [.2490.0020.0002.0E09][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHING>
+0E44 0E09 ; [.2490.0020.0002.0E09][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHING>
+0E0A  ; [.2491.0020.0002.0E0A] # THAI CHARACTER CHO CHANG
+0E40 0E0A ; [.2491.0020.0002.0E0A][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHANG>
+0E41 0E0A ; [.2491.0020.0002.0E0A][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHANG>
+0E42 0E0A ; [.2491.0020.0002.0E0A][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHANG>
+0E43 0E0A ; [.2491.0020.0002.0E0A][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHANG>
+0E44 0E0A ; [.2491.0020.0002.0E0A][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHANG>
+0E0B  ; [.2492.0020.0002.0E0B] # THAI CHARACTER SO SO
+0E40 0E0B ; [.2492.0020.0002.0E0B][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SO>
+0E41 0E0B ; [.2492.0020.0002.0E0B][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SO>
+0E42 0E0B ; [.2492.0020.0002.0E0B][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SO>
+0E43 0E0B ; [.2492.0020.0002.0E0B][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SO>
+0E44 0E0B ; [.2492.0020.0002.0E0B][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SO>
+0E0C  ; [.2493.0020.0002.0E0C] # THAI CHARACTER CHO CHOE
+0E40 0E0C ; [.2493.0020.0002.0E0C][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER CHO CHOE>
+0E41 0E0C ; [.2493.0020.0002.0E0C][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER CHO CHOE>
+0E42 0E0C ; [.2493.0020.0002.0E0C][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER CHO CHOE>
+0E43 0E0C ; [.2493.0020.0002.0E0C][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER CHO CHOE>
+0E44 0E0C ; [.2493.0020.0002.0E0C][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER CHO CHOE>
+0E0D  ; [.2494.0020.0002.0E0D] # THAI CHARACTER YO YING
+0E40 0E0D ; [.2494.0020.0002.0E0D][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YING>
+0E41 0E0D ; [.2494.0020.0002.0E0D][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YING>
+0E42 0E0D ; [.2494.0020.0002.0E0D][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YING>
+0E43 0E0D ; [.2494.0020.0002.0E0D][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YING>
+0E44 0E0D ; [.2494.0020.0002.0E0D][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YING>
+0E0E  ; [.2495.0020.0002.0E0E] # THAI CHARACTER DO CHADA
+0E40 0E0E ; [.2495.0020.0002.0E0E][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO CHADA>
+0E41 0E0E ; [.2495.0020.0002.0E0E][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO CHADA>
+0E42 0E0E ; [.2495.0020.0002.0E0E][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO CHADA>
+0E43 0E0E ; [.2495.0020.0002.0E0E][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO CHADA>
+0E44 0E0E ; [.2495.0020.0002.0E0E][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO CHADA>
+0E0F  ; [.2496.0020.0002.0E0F] # THAI CHARACTER TO PATAK
+0E40 0E0F ; [.2496.0020.0002.0E0F][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO PATAK>
+0E41 0E0F ; [.2496.0020.0002.0E0F][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO PATAK>
+0E42 0E0F ; [.2496.0020.0002.0E0F][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO PATAK>
+0E43 0E0F ; [.2496.0020.0002.0E0F][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO PATAK>
+0E44 0E0F ; [.2496.0020.0002.0E0F][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO PATAK>
+0E10  ; [.2497.0020.0002.0E10] # THAI CHARACTER THO THAN
+0E40 0E10 ; [.2497.0020.0002.0E10][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAN>
+0E41 0E10 ; [.2497.0020.0002.0E10][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAN>
+0E42 0E10 ; [.2497.0020.0002.0E10][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAN>
+0E43 0E10 ; [.2497.0020.0002.0E10][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAN>
+0E44 0E10 ; [.2497.0020.0002.0E10][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAN>
+0E11  ; [.2498.0020.0002.0E11] # THAI CHARACTER THO NANGMONTHO
+0E40 0E11 ; [.2498.0020.0002.0E11][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO NANGMONTHO>
+0E41 0E11 ; [.2498.0020.0002.0E11][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO NANGMONTHO>
+0E42 0E11 ; [.2498.0020.0002.0E11][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO NANGMONTHO>
+0E43 0E11 ; [.2498.0020.0002.0E11][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO NANGMONTHO>
+0E44 0E11 ; [.2498.0020.0002.0E11][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO NANGMONTHO>
+0E12  ; [.2499.0020.0002.0E12] # THAI CHARACTER THO PHUTHAO
+0E40 0E12 ; [.2499.0020.0002.0E12][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO PHUTHAO>
+0E41 0E12 ; [.2499.0020.0002.0E12][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO PHUTHAO>
+0E42 0E12 ; [.2499.0020.0002.0E12][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO PHUTHAO>
+0E43 0E12 ; [.2499.0020.0002.0E12][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO PHUTHAO>
+0E44 0E12 ; [.2499.0020.0002.0E12][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO PHUTHAO>
+0E13  ; [.249A.0020.0002.0E13] # THAI CHARACTER NO NEN
+0E40 0E13 ; [.249A.0020.0002.0E13][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NEN>
+0E41 0E13 ; [.249A.0020.0002.0E13][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NEN>
+0E42 0E13 ; [.249A.0020.0002.0E13][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NEN>
+0E43 0E13 ; [.249A.0020.0002.0E13][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NEN>
+0E44 0E13 ; [.249A.0020.0002.0E13][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NEN>
+0E14  ; [.249B.0020.0002.0E14] # THAI CHARACTER DO DEK
+0E40 0E14 ; [.249B.0020.0002.0E14][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER DO DEK>
+0E41 0E14 ; [.249B.0020.0002.0E14][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER DO DEK>
+0E42 0E14 ; [.249B.0020.0002.0E14][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER DO DEK>
+0E43 0E14 ; [.249B.0020.0002.0E14][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER DO DEK>
+0E44 0E14 ; [.249B.0020.0002.0E14][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER DO DEK>
+0E15  ; [.249C.0020.0002.0E15] # THAI CHARACTER TO TAO
+0E40 0E15 ; [.249C.0020.0002.0E15][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER TO TAO>
+0E41 0E15 ; [.249C.0020.0002.0E15][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER TO TAO>
+0E42 0E15 ; [.249C.0020.0002.0E15][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER TO TAO>
+0E43 0E15 ; [.249C.0020.0002.0E15][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER TO TAO>
+0E44 0E15 ; [.249C.0020.0002.0E15][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER TO TAO>
+0E16  ; [.249D.0020.0002.0E16] # THAI CHARACTER THO THUNG
+0E40 0E16 ; [.249D.0020.0002.0E16][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THUNG>
+0E41 0E16 ; [.249D.0020.0002.0E16][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THUNG>
+0E42 0E16 ; [.249D.0020.0002.0E16][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THUNG>
+0E43 0E16 ; [.249D.0020.0002.0E16][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THUNG>
+0E44 0E16 ; [.249D.0020.0002.0E16][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THUNG>
+0E17  ; [.249E.0020.0002.0E17] # THAI CHARACTER THO THAHAN
+0E40 0E17 ; [.249E.0020.0002.0E17][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THAHAN>
+0E41 0E17 ; [.249E.0020.0002.0E17][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THAHAN>
+0E42 0E17 ; [.249E.0020.0002.0E17][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THAHAN>
+0E43 0E17 ; [.249E.0020.0002.0E17][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THAHAN>
+0E44 0E17 ; [.249E.0020.0002.0E17][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THAHAN>
+0E18  ; [.249F.0020.0002.0E18] # THAI CHARACTER THO THONG
+0E40 0E18 ; [.249F.0020.0002.0E18][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER THO THONG>
+0E41 0E18 ; [.249F.0020.0002.0E18][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER THO THONG>
+0E42 0E18 ; [.249F.0020.0002.0E18][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER THO THONG>
+0E43 0E18 ; [.249F.0020.0002.0E18][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER THO THONG>
+0E44 0E18 ; [.249F.0020.0002.0E18][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER THO THONG>
+0E19  ; [.24A0.0020.0002.0E19] # THAI CHARACTER NO NU
+0E40 0E19 ; [.24A0.0020.0002.0E19][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER NO NU>
+0E41 0E19 ; [.24A0.0020.0002.0E19][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER NO NU>
+0E42 0E19 ; [.24A0.0020.0002.0E19][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER NO NU>
+0E43 0E19 ; [.24A0.0020.0002.0E19][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER NO NU>
+0E44 0E19 ; [.24A0.0020.0002.0E19][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER NO NU>
+0E1A  ; [.24A1.0020.0002.0E1A] # THAI CHARACTER BO BAIMAI
+0E40 0E1A ; [.24A1.0020.0002.0E1A][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER BO BAIMAI>
+0E41 0E1A ; [.24A1.0020.0002.0E1A][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER BO BAIMAI>
+0E42 0E1A ; [.24A1.0020.0002.0E1A][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER BO BAIMAI>
+0E43 0E1A ; [.24A1.0020.0002.0E1A][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER BO BAIMAI>
+0E44 0E1A ; [.24A1.0020.0002.0E1A][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER BO BAIMAI>
+0E1B  ; [.24A2.0020.0002.0E1B] # THAI CHARACTER PO PLA
+0E40 0E1B ; [.24A2.0020.0002.0E1B][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PO PLA>
+0E41 0E1B ; [.24A2.0020.0002.0E1B][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PO PLA>
+0E42 0E1B ; [.24A2.0020.0002.0E1B][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PO PLA>
+0E43 0E1B ; [.24A2.0020.0002.0E1B][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PO PLA>
+0E44 0E1B ; [.24A2.0020.0002.0E1B][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PO PLA>
+0E1C  ; [.24A3.0020.0002.0E1C] # THAI CHARACTER PHO PHUNG
+0E40 0E1C ; [.24A3.0020.0002.0E1C][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHUNG>
+0E41 0E1C ; [.24A3.0020.0002.0E1C][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHUNG>
+0E42 0E1C ; [.24A3.0020.0002.0E1C][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHUNG>
+0E43 0E1C ; [.24A3.0020.0002.0E1C][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHUNG>
+0E44 0E1C ; [.24A3.0020.0002.0E1C][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHUNG>
+0E1D  ; [.24A4.0020.0002.0E1D] # THAI CHARACTER FO FA
+0E40 0E1D ; [.24A4.0020.0002.0E1D][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FA>
+0E41 0E1D ; [.24A4.0020.0002.0E1D][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FA>
+0E42 0E1D ; [.24A4.0020.0002.0E1D][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FA>
+0E43 0E1D ; [.24A4.0020.0002.0E1D][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FA>
+0E44 0E1D ; [.24A4.0020.0002.0E1D][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FA>
+0E1E  ; [.24A5.0020.0002.0E1E] # THAI CHARACTER PHO PHAN
+0E40 0E1E ; [.24A5.0020.0002.0E1E][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO PHAN>
+0E41 0E1E ; [.24A5.0020.0002.0E1E][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO PHAN>
+0E42 0E1E ; [.24A5.0020.0002.0E1E][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO PHAN>
+0E43 0E1E ; [.24A5.0020.0002.0E1E][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO PHAN>
+0E44 0E1E ; [.24A5.0020.0002.0E1E][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO PHAN>
+0E1F  ; [.24A6.0020.0002.0E1F] # THAI CHARACTER FO FAN
+0E40 0E1F ; [.24A6.0020.0002.0E1F][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER FO FAN>
+0E41 0E1F ; [.24A6.0020.0002.0E1F][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER FO FAN>
+0E42 0E1F ; [.24A6.0020.0002.0E1F][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER FO FAN>
+0E43 0E1F ; [.24A6.0020.0002.0E1F][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER FO FAN>
+0E44 0E1F ; [.24A6.0020.0002.0E1F][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER FO FAN>
+0E20  ; [.24A7.0020.0002.0E20] # THAI CHARACTER PHO SAMPHAO
+0E40 0E20 ; [.24A7.0020.0002.0E20][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER PHO SAMPHAO>
+0E41 0E20 ; [.24A7.0020.0002.0E20][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER PHO SAMPHAO>
+0E42 0E20 ; [.24A7.0020.0002.0E20][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER PHO SAMPHAO>
+0E43 0E20 ; [.24A7.0020.0002.0E20][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER PHO SAMPHAO>
+0E44 0E20 ; [.24A7.0020.0002.0E20][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER PHO SAMPHAO>
+0E21  ; [.24A8.0020.0002.0E21] # THAI CHARACTER MO MA
+0E40 0E21 ; [.24A8.0020.0002.0E21][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER MO MA>
+0E41 0E21 ; [.24A8.0020.0002.0E21][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER MO MA>
+0E42 0E21 ; [.24A8.0020.0002.0E21][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER MO MA>
+0E43 0E21 ; [.24A8.0020.0002.0E21][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER MO MA>
+0E44 0E21 ; [.24A8.0020.0002.0E21][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER MO MA>
+0E22  ; [.24A9.0020.0002.0E22] # THAI CHARACTER YO YAK
+0E40 0E22 ; [.24A9.0020.0002.0E22][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER YO YAK>
+0E41 0E22 ; [.24A9.0020.0002.0E22][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER YO YAK>
+0E42 0E22 ; [.24A9.0020.0002.0E22][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER YO YAK>
+0E43 0E22 ; [.24A9.0020.0002.0E22][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER YO YAK>
+0E44 0E22 ; [.24A9.0020.0002.0E22][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER YO YAK>
+0E23  ; [.24AA.0020.0002.0E23] # THAI CHARACTER RO RUA
+0E40 0E23 ; [.24AA.0020.0002.0E23][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RO RUA>
+0E41 0E23 ; [.24AA.0020.0002.0E23][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RO RUA>
+0E42 0E23 ; [.24AA.0020.0002.0E23][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RO RUA>
+0E43 0E23 ; [.24AA.0020.0002.0E23][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RO RUA>
+0E44 0E23 ; [.24AA.0020.0002.0E23][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RO RUA>
+0E24  ; [.24AB.0020.0002.0E24] # THAI CHARACTER RU
+0E40 0E24 ; [.24AB.0020.0002.0E24][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER RU>
+0E41 0E24 ; [.24AB.0020.0002.0E24][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER RU>
+0E42 0E24 ; [.24AB.0020.0002.0E24][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER RU>
+0E43 0E24 ; [.24AB.0020.0002.0E24][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER RU>
+0E44 0E24 ; [.24AB.0020.0002.0E24][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER RU>
+0E25  ; [.24AC.0020.0002.0E25] # THAI CHARACTER LO LING
+0E40 0E25 ; [.24AC.0020.0002.0E25][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO LING>
+0E41 0E25 ; [.24AC.0020.0002.0E25][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO LING>
+0E42 0E25 ; [.24AC.0020.0002.0E25][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO LING>
+0E43 0E25 ; [.24AC.0020.0002.0E25][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO LING>
+0E44 0E25 ; [.24AC.0020.0002.0E25][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO LING>
+0E26  ; [.24AD.0020.0002.0E26] # THAI CHARACTER LU
+0E40 0E26 ; [.24AD.0020.0002.0E26][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LU>
+0E41 0E26 ; [.24AD.0020.0002.0E26][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LU>
+0E42 0E26 ; [.24AD.0020.0002.0E26][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LU>
+0E43 0E26 ; [.24AD.0020.0002.0E26][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LU>
+0E44 0E26 ; [.24AD.0020.0002.0E26][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LU>
+0E27  ; [.24AE.0020.0002.0E27] # THAI CHARACTER WO WAEN
+0E40 0E27 ; [.24AE.0020.0002.0E27][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER WO WAEN>
+0E41 0E27 ; [.24AE.0020.0002.0E27][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER WO WAEN>
+0E42 0E27 ; [.24AE.0020.0002.0E27][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER WO WAEN>
+0E43 0E27 ; [.24AE.0020.0002.0E27][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER WO WAEN>
+0E44 0E27 ; [.24AE.0020.0002.0E27][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER WO WAEN>
+0E28  ; [.24AF.0020.0002.0E28] # THAI CHARACTER SO SALA
+0E40 0E28 ; [.24AF.0020.0002.0E28][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SALA>
+0E41 0E28 ; [.24AF.0020.0002.0E28][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SALA>
+0E42 0E28 ; [.24AF.0020.0002.0E28][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SALA>
+0E43 0E28 ; [.24AF.0020.0002.0E28][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SALA>
+0E44 0E28 ; [.24AF.0020.0002.0E28][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SALA>
+0E29  ; [.24B0.0020.0002.0E29] # THAI CHARACTER SO RUSI
+0E40 0E29 ; [.24B0.0020.0002.0E29][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO RUSI>
+0E41 0E29 ; [.24B0.0020.0002.0E29][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO RUSI>
+0E42 0E29 ; [.24B0.0020.0002.0E29][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO RUSI>
+0E43 0E29 ; [.24B0.0020.0002.0E29][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO RUSI>
+0E44 0E29 ; [.24B0.0020.0002.0E29][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO RUSI>
+0E2A  ; [.24B1.0020.0002.0E2A] # THAI CHARACTER SO SUA
+0E40 0E2A ; [.24B1.0020.0002.0E2A][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER SO SUA>
+0E41 0E2A ; [.24B1.0020.0002.0E2A][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER SO SUA>
+0E42 0E2A ; [.24B1.0020.0002.0E2A][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER SO SUA>
+0E43 0E2A ; [.24B1.0020.0002.0E2A][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER SO SUA>
+0E44 0E2A ; [.24B1.0020.0002.0E2A][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER SO SUA>
+0E2B  ; [.24B2.0020.0002.0E2B] # THAI CHARACTER HO HIP
+0E40 0E2B ; [.24B2.0020.0002.0E2B][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO HIP>
+0E41 0E2B ; [.24B2.0020.0002.0E2B][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO HIP>
+0E42 0E2B ; [.24B2.0020.0002.0E2B][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO HIP>
+0E43 0E2B ; [.24B2.0020.0002.0E2B][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO HIP>
+0E44 0E2B ; [.24B2.0020.0002.0E2B][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO HIP>
+0E2C  ; [.24B3.0020.0002.0E2C] # THAI CHARACTER LO CHULA
+0E40 0E2C ; [.24B3.0020.0002.0E2C][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER LO CHULA>
+0E41 0E2C ; [.24B3.0020.0002.0E2C][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER LO CHULA>
+0E42 0E2C ; [.24B3.0020.0002.0E2C][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER LO CHULA>
+0E43 0E2C ; [.24B3.0020.0002.0E2C][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER LO CHULA>
+0E44 0E2C ; [.24B3.0020.0002.0E2C][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER LO CHULA>
+0E2D  ; [.24B4.0020.0002.0E2D] # THAI CHARACTER O ANG
+0E40 0E2D ; [.24B4.0020.0002.0E2D][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER O ANG>
+0E41 0E2D ; [.24B4.0020.0002.0E2D][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER O ANG>
+0E42 0E2D ; [.24B4.0020.0002.0E2D][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER O ANG>
+0E43 0E2D ; [.24B4.0020.0002.0E2D][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER O ANG>
+0E44 0E2D ; [.24B4.0020.0002.0E2D][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER O ANG>
+0E2E  ; [.24B5.0020.0002.0E2E] # THAI CHARACTER HO NOKHUK
+0E40 0E2E ; [.24B5.0020.0002.0E2E][.24C2.0020.0002.0E40] # <THAI CHARACTER SARA E, THAI CHARACTER HO NOKHUK>
+0E41 0E2E ; [.24B5.0020.0002.0E2E][.24C3.0020.0002.0E41] # <THAI CHARACTER SARA AE, THAI CHARACTER HO NOKHUK>
+0E42 0E2E ; [.24B5.0020.0002.0E2E][.24C4.0020.0002.0E42] # <THAI CHARACTER SARA O, THAI CHARACTER HO NOKHUK>
+0E43 0E2E ; [.24B5.0020.0002.0E2E][.24C5.0020.0002.0E43] # <THAI CHARACTER SARA AI MAIMUAN, THAI CHARACTER HO NOKHUK>
+0E44 0E2E ; [.24B5.0020.0002.0E2E][.24C6.0020.0002.0E44] # <THAI CHARACTER SARA AI MAIMALAI, THAI CHARACTER HO NOKHUK>
+0E2F  ; [.24B6.0020.0002.0E2F] # THAI CHARACTER PAIYANNOI
+0E30  ; [.24B7.0020.0002.0E30] # THAI CHARACTER SARA A
+0E31  ; [.24B8.0020.0002.0E31] # THAI CHARACTER MAI HAN-AKAT
+0E32  ; [.24B9.0020.0002.0E32] # THAI CHARACTER SARA AA
+0E33  ; [.24BA.0020.0002.0E33] # THAI CHARACTER SARA AM
+0E4D 0E32 ; [.24BA.0020.0002.0E33] # THAI CHARACTER SARA AM
+0E34  ; [.24BB.0020.0002.0E34] # THAI CHARACTER SARA I
+0E35  ; [.24BC.0020.0002.0E35] # THAI CHARACTER SARA II
+0E36  ; [.24BD.0020.0002.0E36] # THAI CHARACTER SARA UE
+0E37  ; [.24BE.0020.0002.0E37] # THAI CHARACTER SARA UEE
+0E38  ; [.24BF.0020.0002.0E38] # THAI CHARACTER SARA U
+0E39  ; [.24C0.0020.0002.0E39] # THAI CHARACTER SARA UU
+0E3A  ; [.24C1.0020.0002.0E3A] # THAI CHARACTER PHINTHU
+0E40  ; [.24C2.0020.0002.0E40] # THAI CHARACTER SARA E
+0E41  ; [.24C3.0020.0002.0E41] # THAI CHARACTER SARA AE
+0E42  ; [.24C4.0020.0002.0E42] # THAI CHARACTER SARA O
+0E43  ; [.24C5.0020.0002.0E43] # THAI CHARACTER SARA AI MAIMUAN
+0E44  ; [.24C6.0020.0002.0E44] # THAI CHARACTER SARA AI MAIMALAI
+0E45  ; [.24C7.0020.0002.0E45] # THAI CHARACTER LAKKHANGYAO
+0EDE  ; [.24C8.0020.0002.0EDE] # LAO LETTER KHMU GO
+0EC0 0EDE ; [.24C8.0020.0002.0EDE][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHMU GO>
+0EC1 0EDE ; [.24C8.0020.0002.0EDE][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHMU GO>
+0EC2 0EDE ; [.24C8.0020.0002.0EDE][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHMU GO>
+0EC3 0EDE ; [.24C8.0020.0002.0EDE][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHMU GO>
+0EC4 0EDE ; [.24C8.0020.0002.0EDE][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHMU GO>
+0E81  ; [.24C9.0020.0002.0E81] # LAO LETTER KO
+0EC0 0E81 ; [.24C9.0020.0002.0E81][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KO>
+0EC1 0E81 ; [.24C9.0020.0002.0E81][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KO>
+0EC2 0E81 ; [.24C9.0020.0002.0E81][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KO>
+0EC3 0E81 ; [.24C9.0020.0002.0E81][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KO>
+0EC4 0E81 ; [.24C9.0020.0002.0E81][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KO>
+0E82  ; [.24CA.0020.0002.0E82] # LAO LETTER KHO SUNG
+0EC0 0E82 ; [.24CA.0020.0002.0E82][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO SUNG>
+0EC1 0E82 ; [.24CA.0020.0002.0E82][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO SUNG>
+0EC2 0E82 ; [.24CA.0020.0002.0E82][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO SUNG>
+0EC3 0E82 ; [.24CA.0020.0002.0E82][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO SUNG>
+0EC4 0E82 ; [.24CA.0020.0002.0E82][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO SUNG>
+0E84  ; [.24CB.0020.0002.0E84] # LAO LETTER KHO TAM
+0EC0 0E84 ; [.24CB.0020.0002.0E84][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHO TAM>
+0EC1 0E84 ; [.24CB.0020.0002.0E84][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHO TAM>
+0EC2 0E84 ; [.24CB.0020.0002.0E84][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHO TAM>
+0EC3 0E84 ; [.24CB.0020.0002.0E84][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHO TAM>
+0EC4 0E84 ; [.24CB.0020.0002.0E84][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHO TAM>
+0E87  ; [.24CC.0020.0002.0E87] # LAO LETTER NGO
+0EC0 0E87 ; [.24CC.0020.0002.0E87][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NGO>
+0EC1 0E87 ; [.24CC.0020.0002.0E87][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NGO>
+0EC2 0E87 ; [.24CC.0020.0002.0E87][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NGO>
+0EC3 0E87 ; [.24CC.0020.0002.0E87][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NGO>
+0EC4 0E87 ; [.24CC.0020.0002.0E87][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NGO>
+0E88  ; [.24CD.0020.0002.0E88] # LAO LETTER CO
+0EC0 0E88 ; [.24CD.0020.0002.0E88][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER CO>
+0EC1 0E88 ; [.24CD.0020.0002.0E88][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER CO>
+0EC2 0E88 ; [.24CD.0020.0002.0E88][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER CO>
+0EC3 0E88 ; [.24CD.0020.0002.0E88][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER CO>
+0EC4 0E88 ; [.24CD.0020.0002.0E88][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER CO>
+0EAA  ; [.24CE.0020.0002.0EAA] # LAO LETTER SO SUNG
+0EC0 0EAA ; [.24CE.0020.0002.0EAA][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO SUNG>
+0EC1 0EAA ; [.24CE.0020.0002.0EAA][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO SUNG>
+0EC2 0EAA ; [.24CE.0020.0002.0EAA][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO SUNG>
+0EC3 0EAA ; [.24CE.0020.0002.0EAA][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO SUNG>
+0EC4 0EAA ; [.24CE.0020.0002.0EAA][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO SUNG>
+0E8A  ; [.24CF.0020.0002.0E8A] # LAO LETTER SO TAM
+0EC0 0E8A ; [.24CF.0020.0002.0E8A][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER SO TAM>
+0EC1 0E8A ; [.24CF.0020.0002.0E8A][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER SO TAM>
+0EC2 0E8A ; [.24CF.0020.0002.0E8A][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER SO TAM>
+0EC3 0E8A ; [.24CF.0020.0002.0E8A][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER SO TAM>
+0EC4 0E8A ; [.24CF.0020.0002.0E8A][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER SO TAM>
+0EDF  ; [.24D0.0020.0002.0EDF] # LAO LETTER KHMU NYO
+0EC0 0EDF ; [.24D0.0020.0002.0EDF][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER KHMU NYO>
+0EC1 0EDF ; [.24D0.0020.0002.0EDF][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER KHMU NYO>
+0EC2 0EDF ; [.24D0.0020.0002.0EDF][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER KHMU NYO>
+0EC3 0EDF ; [.24D0.0020.0002.0EDF][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER KHMU NYO>
+0EC4 0EDF ; [.24D0.0020.0002.0EDF][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER KHMU NYO>
+0E8D  ; [.24D1.0020.0002.0E8D] # LAO LETTER NYO
+0EC0 0E8D ; [.24D1.0020.0002.0E8D][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NYO>
+0EC1 0E8D ; [.24D1.0020.0002.0E8D][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NYO>
+0EC2 0E8D ; [.24D1.0020.0002.0E8D][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NYO>
+0EC3 0E8D ; [.24D1.0020.0002.0E8D][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NYO>
+0EC4 0E8D ; [.24D1.0020.0002.0E8D][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NYO>
+0E94  ; [.24D2.0020.0002.0E94] # LAO LETTER DO
+0EC0 0E94 ; [.24D2.0020.0002.0E94][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER DO>
+0EC1 0E94 ; [.24D2.0020.0002.0E94][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER DO>
+0EC2 0E94 ; [.24D2.0020.0002.0E94][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER DO>
+0EC3 0E94 ; [.24D2.0020.0002.0E94][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER DO>
+0EC4 0E94 ; [.24D2.0020.0002.0E94][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER DO>
+0E95  ; [.24D3.0020.0002.0E95] # LAO LETTER TO
+0EC0 0E95 ; [.24D3.0020.0002.0E95][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER TO>
+0EC1 0E95 ; [.24D3.0020.0002.0E95][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER TO>
+0EC2 0E95 ; [.24D3.0020.0002.0E95][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER TO>
+0EC3 0E95 ; [.24D3.0020.0002.0E95][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER TO>
+0EC4 0E95 ; [.24D3.0020.0002.0E95][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER TO>
+0E96  ; [.24D4.0020.0002.0E96] # LAO LETTER THO SUNG
+0EC0 0E96 ; [.24D4.0020.0002.0E96][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO SUNG>
+0EC1 0E96 ; [.24D4.0020.0002.0E96][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO SUNG>
+0EC2 0E96 ; [.24D4.0020.0002.0E96][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO SUNG>
+0EC3 0E96 ; [.24D4.0020.0002.0E96][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO SUNG>
+0EC4 0E96 ; [.24D4.0020.0002.0E96][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO SUNG>
+0E97  ; [.24D5.0020.0002.0E97] # LAO LETTER THO TAM
+0EC0 0E97 ; [.24D5.0020.0002.0E97][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER THO TAM>
+0EC1 0E97 ; [.24D5.0020.0002.0E97][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER THO TAM>
+0EC2 0E97 ; [.24D5.0020.0002.0E97][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER THO TAM>
+0EC3 0E97 ; [.24D5.0020.0002.0E97][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER THO TAM>
+0EC4 0E97 ; [.24D5.0020.0002.0E97][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER THO TAM>
+0E99  ; [.24D6.0020.0002.0E99] # LAO LETTER NO
+0EC0 0E99 ; [.24D6.0020.0002.0E99][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER NO>
+0EC1 0E99 ; [.24D6.0020.0002.0E99][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER NO>
+0EC2 0E99 ; [.24D6.0020.0002.0E99][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER NO>
+0EC3 0E99 ; [.24D6.0020.0002.0E99][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER NO>
+0EC4 0E99 ; [.24D6.0020.0002.0E99][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER NO>
+0E9A  ; [.24D7.0020.0002.0E9A] # LAO LETTER BO
+0EC0 0E9A ; [.24D7.0020.0002.0E9A][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER BO>
+0EC1 0E9A ; [.24D7.0020.0002.0E9A][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER BO>
+0EC2 0E9A ; [.24D7.0020.0002.0E9A][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER BO>
+0EC3 0E9A ; [.24D7.0020.0002.0E9A][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER BO>
+0EC4 0E9A ; [.24D7.0020.0002.0E9A][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER BO>
+0E9B  ; [.24D8.0020.0002.0E9B] # LAO LETTER PO
+0EC0 0E9B ; [.24D8.0020.0002.0E9B][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PO>
+0EC1 0E9B ; [.24D8.0020.0002.0E9B][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PO>
+0EC2 0E9B ; [.24D8.0020.0002.0E9B][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PO>
+0EC3 0E9B ; [.24D8.0020.0002.0E9B][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PO>
+0EC4 0E9B ; [.24D8.0020.0002.0E9B][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PO>
+0E9C  ; [.24D9.0020.0002.0E9C] # LAO LETTER PHO SUNG
+0EC0 0E9C ; [.24D9.0020.0002.0E9C][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO SUNG>
+0EC1 0E9C ; [.24D9.0020.0002.0E9C][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO SUNG>
+0EC2 0E9C ; [.24D9.0020.0002.0E9C][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO SUNG>
+0EC3 0E9C ; [.24D9.0020.0002.0E9C][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO SUNG>
+0EC4 0E9C ; [.24D9.0020.0002.0E9C][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO SUNG>
+0E9D  ; [.24DA.0020.0002.0E9D] # LAO LETTER FO TAM
+0EC0 0E9D ; [.24DA.0020.0002.0E9D][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO TAM>
+0EC1 0E9D ; [.24DA.0020.0002.0E9D][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO TAM>
+0EC2 0E9D ; [.24DA.0020.0002.0E9D][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO TAM>
+0EC3 0E9D ; [.24DA.0020.0002.0E9D][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO TAM>
+0EC4 0E9D ; [.24DA.0020.0002.0E9D][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO TAM>
+0E9E  ; [.24DB.0020.0002.0E9E] # LAO LETTER PHO TAM
+0EC0 0E9E ; [.24DB.0020.0002.0E9E][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER PHO TAM>
+0EC1 0E9E ; [.24DB.0020.0002.0E9E][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER PHO TAM>
+0EC2 0E9E ; [.24DB.0020.0002.0E9E][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER PHO TAM>
+0EC3 0E9E ; [.24DB.0020.0002.0E9E][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER PHO TAM>
+0EC4 0E9E ; [.24DB.0020.0002.0E9E][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER PHO TAM>
+0E9F  ; [.24DC.0020.0002.0E9F] # LAO LETTER FO SUNG
+0EC0 0E9F ; [.24DC.0020.0002.0E9F][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER FO SUNG>
+0EC1 0E9F ; [.24DC.0020.0002.0E9F][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER FO SUNG>
+0EC2 0E9F ; [.24DC.0020.0002.0E9F][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER FO SUNG>
+0EC3 0E9F ; [.24DC.0020.0002.0E9F][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER FO SUNG>
+0EC4 0E9F ; [.24DC.0020.0002.0E9F][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER FO SUNG>
+0EA1  ; [.24DD.0020.0002.0EA1] # LAO LETTER MO
+0EC0 0EA1 ; [.24DD.0020.0002.0EA1][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER MO>
+0EC1 0EA1 ; [.24DD.0020.0002.0EA1][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER MO>
+0EC2 0EA1 ; [.24DD.0020.0002.0EA1][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER MO>
+0EC3 0EA1 ; [.24DD.0020.0002.0EA1][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER MO>
+0EC4 0EA1 ; [.24DD.0020.0002.0EA1][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER MO>
+0EA2  ; [.24DE.0020.0002.0EA2] # LAO LETTER YO
+0EC0 0EA2 ; [.24DE.0020.0002.0EA2][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER YO>
+0EC1 0EA2 ; [.24DE.0020.0002.0EA2][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER YO>
+0EC2 0EA2 ; [.24DE.0020.0002.0EA2][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER YO>
+0EC3 0EA2 ; [.24DE.0020.0002.0EA2][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER YO>
+0EC4 0EA2 ; [.24DE.0020.0002.0EA2][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER YO>
+0EA3  ; [.24DF.0020.0002.0EA3] # LAO LETTER LO LING
+0EC0 0EA3 ; [.24DF.0020.0002.0EA3][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LING>
+0EC1 0EA3 ; [.24DF.0020.0002.0EA3][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LING>
+0EC2 0EA3 ; [.24DF.0020.0002.0EA3][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LING>
+0EC3 0EA3 ; [.24DF.0020.0002.0EA3][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LING>
+0EC4 0EA3 ; [.24DF.0020.0002.0EA3][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LING>
+0EA5  ; [.24E0.0020.0002.0EA5] # LAO LETTER LO LOOT
+0EC0 0EA5 ; [.24E0.0020.0002.0EA5][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER LO LOOT>
+0EC1 0EA5 ; [.24E0.0020.0002.0EA5][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER LO LOOT>
+0EC2 0EA5 ; [.24E0.0020.0002.0EA5][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER LO LOOT>
+0EC3 0EA5 ; [.24E0.0020.0002.0EA5][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER LO LOOT>
+0EC4 0EA5 ; [.24E0.0020.0002.0EA5][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER LO LOOT>
+0EA7  ; [.24E1.0020.0002.0EA7] # LAO LETTER WO
+0EC0 0EA7 ; [.24E1.0020.0002.0EA7][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER WO>
+0EC1 0EA7 ; [.24E1.0020.0002.0EA7][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER WO>
+0EC2 0EA7 ; [.24E1.0020.0002.0EA7][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER WO>
+0EC3 0EA7 ; [.24E1.0020.0002.0EA7][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER WO>
+0EC4 0EA7 ; [.24E1.0020.0002.0EA7][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER WO>
+0EAB  ; [.24E2.0020.0002.0EAB] # LAO LETTER HO SUNG
+0EDC  ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC] # LAO HO NO
+0EC0 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO HO NO>
+0EC1 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO HO NO>
+0EC2 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO HO NO>
+0EC3 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO HO NO>
+0EC4 0EDC ; [.24E2.0020.0004.0EDC][.24D6.0020.0004.0EDC][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO HO NO>
+0EDD  ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD] # LAO HO MO
+0EC0 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO HO MO>
+0EC1 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO HO MO>
+0EC2 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO HO MO>
+0EC3 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO HO MO>
+0EC4 0EDD ; [.24E2.0020.0004.0EDD][.24DD.0020.0004.0EDD][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO HO MO>
+0EC0 0EAB ; [.24E2.0020.0002.0EAB][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO SUNG>
+0EC1 0EAB ; [.24E2.0020.0002.0EAB][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO SUNG>
+0EC2 0EAB ; [.24E2.0020.0002.0EAB][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO SUNG>
+0EC3 0EAB ; [.24E2.0020.0002.0EAB][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO SUNG>
+0EC4 0EAB ; [.24E2.0020.0002.0EAB][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO SUNG>
+0EAD  ; [.24E3.0020.0002.0EAD] # LAO LETTER O
+0EC0 0EAD ; [.24E3.0020.0002.0EAD][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER O>
+0EC1 0EAD ; [.24E3.0020.0002.0EAD][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER O>
+0EC2 0EAD ; [.24E3.0020.0002.0EAD][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER O>
+0EC3 0EAD ; [.24E3.0020.0002.0EAD][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER O>
+0EC4 0EAD ; [.24E3.0020.0002.0EAD][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER O>
+0EAE  ; [.24E4.0020.0002.0EAE] # LAO LETTER HO TAM
+0EC0 0EAE ; [.24E4.0020.0002.0EAE][.24F3.0020.0002.0EC0] # <LAO VOWEL SIGN E, LAO LETTER HO TAM>
+0EC1 0EAE ; [.24E4.0020.0002.0EAE][.24F4.0020.0002.0EC1] # <LAO VOWEL SIGN EI, LAO LETTER HO TAM>
+0EC2 0EAE ; [.24E4.0020.0002.0EAE][.24F5.0020.0002.0EC2] # <LAO VOWEL SIGN O, LAO LETTER HO TAM>
+0EC3 0EAE ; [.24E4.0020.0002.0EAE][.24F6.0020.0002.0EC3] # <LAO VOWEL SIGN AY, LAO LETTER HO TAM>
+0EC4 0EAE ; [.24E4.0020.0002.0EAE][.24F7.0020.0002.0EC4] # <LAO VOWEL SIGN AI, LAO LETTER HO TAM>
+0EAF  ; [.24E5.0020.0002.0EAF] # LAO ELLIPSIS
+0EB0  ; [.24E6.0020.0002.0EB0] # LAO VOWEL SIGN A
+0EB1  ; [.24E7.0020.0002.0EB1] # LAO VOWEL SIGN MAI KAN
+0EB2  ; [.24E8.0020.0002.0EB2] # LAO VOWEL SIGN AA
+0EB3  ; [.24E9.0020.0002.0EB3] # LAO VOWEL SIGN AM
+0ECD 0EB2 ; [.24E9.0020.0002.0EB3] # LAO VOWEL SIGN AM
+0EB4  ; [.24EA.0020.0002.0EB4] # LAO VOWEL SIGN I
+0EB5  ; [.24EB.0020.0002.0EB5] # LAO VOWEL SIGN II
+0EB6  ; [.24EC.0020.0002.0EB6] # LAO VOWEL SIGN Y
+0EB7  ; [.24ED.0020.0002.0EB7] # LAO VOWEL SIGN YY
+0EB8  ; [.24EE.0020.0002.0EB8] # LAO VOWEL SIGN U
+0EB9  ; [.24EF.0020.0002.0EB9] # LAO VOWEL SIGN UU
+0EBB  ; [.24F0.0020.0002.0EBB] # LAO VOWEL SIGN MAI KON
+0EBC  ; [.24F1.0020.0002.0EBC] # LAO SEMIVOWEL SIGN LO
+0EBD  ; [.24F2.0020.0002.0EBD] # LAO SEMIVOWEL SIGN NYO
+0EC0  ; [.24F3.0020.0002.0EC0] # LAO VOWEL SIGN E
+0EC1  ; [.24F4.0020.0002.0EC1] # LAO VOWEL SIGN EI
+0EC2  ; [.24F5.0020.0002.0EC2] # LAO VOWEL SIGN O
+0EC3  ; [.24F6.0020.0002.0EC3] # LAO VOWEL SIGN AY
+0EC4  ; [.24F7.0020.0002.0EC4] # LAO VOWEL SIGN AI
+AA80  ; [.24F8.0020.0002.AA80] # TAI VIET LETTER LOW KO
+AAB5 AA80 ; [.24F8.0020.0002.AA80][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KO>
+AAB6 AA80 ; [.24F8.0020.0002.AA80][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KO>
+AAB9 AA80 ; [.24F8.0020.0002.AA80][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KO>
+AABB AA80 ; [.24F8.0020.0002.AA80][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KO>
+AABC AA80 ; [.24F8.0020.0002.AA80][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KO>
+AA81  ; [.24F9.0020.0002.AA81] # TAI VIET LETTER HIGH KO
+AAB5 AA81 ; [.24F9.0020.0002.AA81][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KO>
+AAB6 AA81 ; [.24F9.0020.0002.AA81][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KO>
+AAB9 AA81 ; [.24F9.0020.0002.AA81][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KO>
+AABB AA81 ; [.24F9.0020.0002.AA81][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KO>
+AABC AA81 ; [.24F9.0020.0002.AA81][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KO>
+AA82  ; [.24FA.0020.0002.AA82] # TAI VIET LETTER LOW KHO
+AAB5 AA82 ; [.24FA.0020.0002.AA82][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHO>
+AAB6 AA82 ; [.24FA.0020.0002.AA82][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHO>
+AAB9 AA82 ; [.24FA.0020.0002.AA82][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHO>
+AABB AA82 ; [.24FA.0020.0002.AA82][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHO>
+AABC AA82 ; [.24FA.0020.0002.AA82][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHO>
+AA83  ; [.24FB.0020.0002.AA83] # TAI VIET LETTER HIGH KHO
+AAB5 AA83 ; [.24FB.0020.0002.AA83][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHO>
+AAB6 AA83 ; [.24FB.0020.0002.AA83][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHO>
+AAB9 AA83 ; [.24FB.0020.0002.AA83][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHO>
+AABB AA83 ; [.24FB.0020.0002.AA83][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHO>
+AABC AA83 ; [.24FB.0020.0002.AA83][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHO>
+AA84  ; [.24FC.0020.0002.AA84] # TAI VIET LETTER LOW KHHO
+AAB5 AA84 ; [.24FC.0020.0002.AA84][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW KHHO>
+AAB6 AA84 ; [.24FC.0020.0002.AA84][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW KHHO>
+AAB9 AA84 ; [.24FC.0020.0002.AA84][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW KHHO>
+AABB AA84 ; [.24FC.0020.0002.AA84][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW KHHO>
+AABC AA84 ; [.24FC.0020.0002.AA84][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW KHHO>
+AA85  ; [.24FD.0020.0002.AA85] # TAI VIET LETTER HIGH KHHO
+AAB5 AA85 ; [.24FD.0020.0002.AA85][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH KHHO>
+AAB6 AA85 ; [.24FD.0020.0002.AA85][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH KHHO>
+AAB9 AA85 ; [.24FD.0020.0002.AA85][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH KHHO>
+AABB AA85 ; [.24FD.0020.0002.AA85][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH KHHO>
+AABC AA85 ; [.24FD.0020.0002.AA85][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH KHHO>
+AA86  ; [.24FE.0020.0002.AA86] # TAI VIET LETTER LOW GO
+AAB5 AA86 ; [.24FE.0020.0002.AA86][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW GO>
+AAB6 AA86 ; [.24FE.0020.0002.AA86][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW GO>
+AAB9 AA86 ; [.24FE.0020.0002.AA86][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW GO>
+AABB AA86 ; [.24FE.0020.0002.AA86][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW GO>
+AABC AA86 ; [.24FE.0020.0002.AA86][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW GO>
+AA87  ; [.24FF.0020.0002.AA87] # TAI VIET LETTER HIGH GO
+AAB5 AA87 ; [.24FF.0020.0002.AA87][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH GO>
+AAB6 AA87 ; [.24FF.0020.0002.AA87][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH GO>
+AAB9 AA87 ; [.24FF.0020.0002.AA87][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH GO>
+AABB AA87 ; [.24FF.0020.0002.AA87][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH GO>
+AABC AA87 ; [.24FF.0020.0002.AA87][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH GO>
+AA88  ; [.2500.0020.0002.AA88] # TAI VIET LETTER LOW NGO
+AAB5 AA88 ; [.2500.0020.0002.AA88][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NGO>
+AAB6 AA88 ; [.2500.0020.0002.AA88][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NGO>
+AAB9 AA88 ; [.2500.0020.0002.AA88][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NGO>
+AABB AA88 ; [.2500.0020.0002.AA88][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NGO>
+AABC AA88 ; [.2500.0020.0002.AA88][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NGO>
+AA89  ; [.2501.0020.0002.AA89] # TAI VIET LETTER HIGH NGO
+AAB5 AA89 ; [.2501.0020.0002.AA89][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NGO>
+AAB6 AA89 ; [.2501.0020.0002.AA89][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NGO>
+AAB9 AA89 ; [.2501.0020.0002.AA89][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NGO>
+AABB AA89 ; [.2501.0020.0002.AA89][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NGO>
+AABC AA89 ; [.2501.0020.0002.AA89][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NGO>
+AA8A  ; [.2502.0020.0002.AA8A] # TAI VIET LETTER LOW CO
+AAB5 AA8A ; [.2502.0020.0002.AA8A][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CO>
+AAB6 AA8A ; [.2502.0020.0002.AA8A][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CO>
+AAB9 AA8A ; [.2502.0020.0002.AA8A][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CO>
+AABB AA8A ; [.2502.0020.0002.AA8A][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CO>
+AABC AA8A ; [.2502.0020.0002.AA8A][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CO>
+AA8B  ; [.2503.0020.0002.AA8B] # TAI VIET LETTER HIGH CO
+AAB5 AA8B ; [.2503.0020.0002.AA8B][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CO>
+AAB6 AA8B ; [.2503.0020.0002.AA8B][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CO>
+AAB9 AA8B ; [.2503.0020.0002.AA8B][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CO>
+AABB AA8B ; [.2503.0020.0002.AA8B][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CO>
+AABC AA8B ; [.2503.0020.0002.AA8B][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CO>
+AA8C  ; [.2504.0020.0002.AA8C] # TAI VIET LETTER LOW CHO
+AAB5 AA8C ; [.2504.0020.0002.AA8C][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW CHO>
+AAB6 AA8C ; [.2504.0020.0002.AA8C][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW CHO>
+AAB9 AA8C ; [.2504.0020.0002.AA8C][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW CHO>
+AABB AA8C ; [.2504.0020.0002.AA8C][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW CHO>
+AABC AA8C ; [.2504.0020.0002.AA8C][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW CHO>
+AA8D  ; [.2505.0020.0002.AA8D] # TAI VIET LETTER HIGH CHO
+AAB5 AA8D ; [.2505.0020.0002.AA8D][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH CHO>
+AAB6 AA8D ; [.2505.0020.0002.AA8D][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH CHO>
+AAB9 AA8D ; [.2505.0020.0002.AA8D][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH CHO>
+AABB AA8D ; [.2505.0020.0002.AA8D][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH CHO>
+AABC AA8D ; [.2505.0020.0002.AA8D][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH CHO>
+AA8E  ; [.2506.0020.0002.AA8E] # TAI VIET LETTER LOW SO
+AAB5 AA8E ; [.2506.0020.0002.AA8E][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW SO>
+AAB6 AA8E ; [.2506.0020.0002.AA8E][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW SO>
+AAB9 AA8E ; [.2506.0020.0002.AA8E][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW SO>
+AABB AA8E ; [.2506.0020.0002.AA8E][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW SO>
+AABC AA8E ; [.2506.0020.0002.AA8E][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW SO>
+AA8F  ; [.2507.0020.0002.AA8F] # TAI VIET LETTER HIGH SO
+AAB5 AA8F ; [.2507.0020.0002.AA8F][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH SO>
+AAB6 AA8F ; [.2507.0020.0002.AA8F][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH SO>
+AAB9 AA8F ; [.2507.0020.0002.AA8F][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH SO>
+AABB AA8F ; [.2507.0020.0002.AA8F][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH SO>
+AABC AA8F ; [.2507.0020.0002.AA8F][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH SO>
+AA90  ; [.2508.0020.0002.AA90] # TAI VIET LETTER LOW NYO
+AAB5 AA90 ; [.2508.0020.0002.AA90][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NYO>
+AAB6 AA90 ; [.2508.0020.0002.AA90][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NYO>
+AAB9 AA90 ; [.2508.0020.0002.AA90][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NYO>
+AABB AA90 ; [.2508.0020.0002.AA90][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NYO>
+AABC AA90 ; [.2508.0020.0002.AA90][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NYO>
+AA91  ; [.2509.0020.0002.AA91] # TAI VIET LETTER HIGH NYO
+AAB5 AA91 ; [.2509.0020.0002.AA91][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NYO>
+AAB6 AA91 ; [.2509.0020.0002.AA91][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NYO>
+AAB9 AA91 ; [.2509.0020.0002.AA91][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NYO>
+AABB AA91 ; [.2509.0020.0002.AA91][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NYO>
+AABC AA91 ; [.2509.0020.0002.AA91][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NYO>
+AA92  ; [.250A.0020.0002.AA92] # TAI VIET LETTER LOW DO
+AAB5 AA92 ; [.250A.0020.0002.AA92][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW DO>
+AAB6 AA92 ; [.250A.0020.0002.AA92][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW DO>
+AAB9 AA92 ; [.250A.0020.0002.AA92][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW DO>
+AABB AA92 ; [.250A.0020.0002.AA92][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW DO>
+AABC AA92 ; [.250A.0020.0002.AA92][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW DO>
+AA93  ; [.250B.0020.0002.AA93] # TAI VIET LETTER HIGH DO
+AAB5 AA93 ; [.250B.0020.0002.AA93][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH DO>
+AAB6 AA93 ; [.250B.0020.0002.AA93][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH DO>
+AAB9 AA93 ; [.250B.0020.0002.AA93][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH DO>
+AABB AA93 ; [.250B.0020.0002.AA93][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH DO>
+AABC AA93 ; [.250B.0020.0002.AA93][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH DO>
+AA94  ; [.250C.0020.0002.AA94] # TAI VIET LETTER LOW TO
+AAB5 AA94 ; [.250C.0020.0002.AA94][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW TO>
+AAB6 AA94 ; [.250C.0020.0002.AA94][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW TO>
+AAB9 AA94 ; [.250C.0020.0002.AA94][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW TO>
+AABB AA94 ; [.250C.0020.0002.AA94][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW TO>
+AABC AA94 ; [.250C.0020.0002.AA94][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW TO>
+AA95  ; [.250D.0020.0002.AA95] # TAI VIET LETTER HIGH TO
+AAB5 AA95 ; [.250D.0020.0002.AA95][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH TO>
+AAB6 AA95 ; [.250D.0020.0002.AA95][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH TO>
+AAB9 AA95 ; [.250D.0020.0002.AA95][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH TO>
+AABB AA95 ; [.250D.0020.0002.AA95][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH TO>
+AABC AA95 ; [.250D.0020.0002.AA95][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH TO>
+AA96  ; [.250E.0020.0002.AA96] # TAI VIET LETTER LOW THO
+AAB5 AA96 ; [.250E.0020.0002.AA96][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW THO>
+AAB6 AA96 ; [.250E.0020.0002.AA96][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW THO>
+AAB9 AA96 ; [.250E.0020.0002.AA96][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW THO>
+AABB AA96 ; [.250E.0020.0002.AA96][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW THO>
+AABC AA96 ; [.250E.0020.0002.AA96][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW THO>
+AA97  ; [.250F.0020.0002.AA97] # TAI VIET LETTER HIGH THO
+AAB5 AA97 ; [.250F.0020.0002.AA97][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH THO>
+AAB6 AA97 ; [.250F.0020.0002.AA97][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH THO>
+AAB9 AA97 ; [.250F.0020.0002.AA97][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH THO>
+AABB AA97 ; [.250F.0020.0002.AA97][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH THO>
+AABC AA97 ; [.250F.0020.0002.AA97][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH THO>
+AA98  ; [.2510.0020.0002.AA98] # TAI VIET LETTER LOW NO
+AAB5 AA98 ; [.2510.0020.0002.AA98][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW NO>
+AAB6 AA98 ; [.2510.0020.0002.AA98][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW NO>
+AAB9 AA98 ; [.2510.0020.0002.AA98][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW NO>
+AABB AA98 ; [.2510.0020.0002.AA98][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW NO>
+AABC AA98 ; [.2510.0020.0002.AA98][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW NO>
+AA99  ; [.2511.0020.0002.AA99] # TAI VIET LETTER HIGH NO
+AAB5 AA99 ; [.2511.0020.0002.AA99][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH NO>
+AAB6 AA99 ; [.2511.0020.0002.AA99][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH NO>
+AAB9 AA99 ; [.2511.0020.0002.AA99][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH NO>
+AABB AA99 ; [.2511.0020.0002.AA99][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH NO>
+AABC AA99 ; [.2511.0020.0002.AA99][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH NO>
+AA9A  ; [.2512.0020.0002.AA9A] # TAI VIET LETTER LOW BO
+AAB5 AA9A ; [.2512.0020.0002.AA9A][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW BO>
+AAB6 AA9A ; [.2512.0020.0002.AA9A][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW BO>
+AAB9 AA9A ; [.2512.0020.0002.AA9A][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW BO>
+AABB AA9A ; [.2512.0020.0002.AA9A][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW BO>
+AABC AA9A ; [.2512.0020.0002.AA9A][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW BO>
+AA9B  ; [.2513.0020.0002.AA9B] # TAI VIET LETTER HIGH BO
+AAB5 AA9B ; [.2513.0020.0002.AA9B][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH BO>
+AAB6 AA9B ; [.2513.0020.0002.AA9B][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH BO>
+AAB9 AA9B ; [.2513.0020.0002.AA9B][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH BO>
+AABB AA9B ; [.2513.0020.0002.AA9B][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH BO>
+AABC AA9B ; [.2513.0020.0002.AA9B][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH BO>
+AA9C  ; [.2514.0020.0002.AA9C] # TAI VIET LETTER LOW PO
+AAB5 AA9C ; [.2514.0020.0002.AA9C][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PO>
+AAB6 AA9C ; [.2514.0020.0002.AA9C][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PO>
+AAB9 AA9C ; [.2514.0020.0002.AA9C][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PO>
+AABB AA9C ; [.2514.0020.0002.AA9C][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PO>
+AABC AA9C ; [.2514.0020.0002.AA9C][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PO>
+AA9D  ; [.2515.0020.0002.AA9D] # TAI VIET LETTER HIGH PO
+AAB5 AA9D ; [.2515.0020.0002.AA9D][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PO>
+AAB6 AA9D ; [.2515.0020.0002.AA9D][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PO>
+AAB9 AA9D ; [.2515.0020.0002.AA9D][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PO>
+AABB AA9D ; [.2515.0020.0002.AA9D][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PO>
+AABC AA9D ; [.2515.0020.0002.AA9D][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PO>
+AA9E  ; [.2516.0020.0002.AA9E] # TAI VIET LETTER LOW PHO
+AAB5 AA9E ; [.2516.0020.0002.AA9E][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW PHO>
+AAB6 AA9E ; [.2516.0020.0002.AA9E][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW PHO>
+AAB9 AA9E ; [.2516.0020.0002.AA9E][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW PHO>
+AABB AA9E ; [.2516.0020.0002.AA9E][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW PHO>
+AABC AA9E ; [.2516.0020.0002.AA9E][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW PHO>
+AA9F  ; [.2517.0020.0002.AA9F] # TAI VIET LETTER HIGH PHO
+AAB5 AA9F ; [.2517.0020.0002.AA9F][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH PHO>
+AAB6 AA9F ; [.2517.0020.0002.AA9F][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH PHO>
+AAB9 AA9F ; [.2517.0020.0002.AA9F][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH PHO>
+AABB AA9F ; [.2517.0020.0002.AA9F][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH PHO>
+AABC AA9F ; [.2517.0020.0002.AA9F][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH PHO>
+AAA0  ; [.2518.0020.0002.AAA0] # TAI VIET LETTER LOW FO
+AAB5 AAA0 ; [.2518.0020.0002.AAA0][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW FO>
+AAB6 AAA0 ; [.2518.0020.0002.AAA0][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW FO>
+AAB9 AAA0 ; [.2518.0020.0002.AAA0][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW FO>
+AABB AAA0 ; [.2518.0020.0002.AAA0][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW FO>
+AABC AAA0 ; [.2518.0020.0002.AAA0][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW FO>
+AAA1  ; [.2519.0020.0002.AAA1] # TAI VIET LETTER HIGH FO
+AAB5 AAA1 ; [.2519.0020.0002.AAA1][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH FO>
+AAB6 AAA1 ; [.2519.0020.0002.AAA1][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH FO>
+AAB9 AAA1 ; [.2519.0020.0002.AAA1][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH FO>
+AABB AAA1 ; [.2519.0020.0002.AAA1][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH FO>
+AABC AAA1 ; [.2519.0020.0002.AAA1][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH FO>
+AAA2  ; [.251A.0020.0002.AAA2] # TAI VIET LETTER LOW MO
+AAB5 AAA2 ; [.251A.0020.0002.AAA2][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW MO>
+AAB6 AAA2 ; [.251A.0020.0002.AAA2][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW MO>
+AAB9 AAA2 ; [.251A.0020.0002.AAA2][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW MO>
+AABB AAA2 ; [.251A.0020.0002.AAA2][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW MO>
+AABC AAA2 ; [.251A.0020.0002.AAA2][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW MO>
+AAA3  ; [.251B.0020.0002.AAA3] # TAI VIET LETTER HIGH MO
+AAB5 AAA3 ; [.251B.0020.0002.AAA3][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH MO>
+AAB6 AAA3 ; [.251B.0020.0002.AAA3][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH MO>
+AAB9 AAA3 ; [.251B.0020.0002.AAA3][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH MO>
+AABB AAA3 ; [.251B.0020.0002.AAA3][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH MO>
+AABC AAA3 ; [.251B.0020.0002.AAA3][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH MO>
+AAA4  ; [.251C.0020.0002.AAA4] # TAI VIET LETTER LOW YO
+AAB5 AAA4 ; [.251C.0020.0002.AAA4][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW YO>
+AAB6 AAA4 ; [.251C.0020.0002.AAA4][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW YO>
+AAB9 AAA4 ; [.251C.0020.0002.AAA4][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW YO>
+AABB AAA4 ; [.251C.0020.0002.AAA4][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW YO>
+AABC AAA4 ; [.251C.0020.0002.AAA4][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW YO>
+AAA5  ; [.251D.0020.0002.AAA5] # TAI VIET LETTER HIGH YO
+AAB5 AAA5 ; [.251D.0020.0002.AAA5][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH YO>
+AAB6 AAA5 ; [.251D.0020.0002.AAA5][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH YO>
+AAB9 AAA5 ; [.251D.0020.0002.AAA5][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH YO>
+AABB AAA5 ; [.251D.0020.0002.AAA5][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH YO>
+AABC AAA5 ; [.251D.0020.0002.AAA5][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH YO>
+AAA6  ; [.251E.0020.0002.AAA6] # TAI VIET LETTER LOW RO
+AAB5 AAA6 ; [.251E.0020.0002.AAA6][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW RO>
+AAB6 AAA6 ; [.251E.0020.0002.AAA6][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW RO>
+AAB9 AAA6 ; [.251E.0020.0002.AAA6][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW RO>
+AABB AAA6 ; [.251E.0020.0002.AAA6][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW RO>
+AABC AAA6 ; [.251E.0020.0002.AAA6][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW RO>
+AAA7  ; [.251F.0020.0002.AAA7] # TAI VIET LETTER HIGH RO
+AAB5 AAA7 ; [.251F.0020.0002.AAA7][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH RO>
+AAB6 AAA7 ; [.251F.0020.0002.AAA7][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH RO>
+AAB9 AAA7 ; [.251F.0020.0002.AAA7][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH RO>
+AABB AAA7 ; [.251F.0020.0002.AAA7][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH RO>
+AABC AAA7 ; [.251F.0020.0002.AAA7][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH RO>
+AAA8  ; [.2520.0020.0002.AAA8] # TAI VIET LETTER LOW LO
+AAB5 AAA8 ; [.2520.0020.0002.AAA8][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW LO>
+AAB6 AAA8 ; [.2520.0020.0002.AAA8][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW LO>
+AAB9 AAA8 ; [.2520.0020.0002.AAA8][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW LO>
+AABB AAA8 ; [.2520.0020.0002.AAA8][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW LO>
+AABC AAA8 ; [.2520.0020.0002.AAA8][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW LO>
+AAA9  ; [.2521.0020.0002.AAA9] # TAI VIET LETTER HIGH LO
+AAB5 AAA9 ; [.2521.0020.0002.AAA9][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH LO>
+AAB6 AAA9 ; [.2521.0020.0002.AAA9][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH LO>
+AAB9 AAA9 ; [.2521.0020.0002.AAA9][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH LO>
+AABB AAA9 ; [.2521.0020.0002.AAA9][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH LO>
+AABC AAA9 ; [.2521.0020.0002.AAA9][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH LO>
+AAAA  ; [.2522.0020.0002.AAAA] # TAI VIET LETTER LOW VO
+AAB5 AAAA ; [.2522.0020.0002.AAAA][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW VO>
+AAB6 AAAA ; [.2522.0020.0002.AAAA][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW VO>
+AAB9 AAAA ; [.2522.0020.0002.AAAA][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW VO>
+AABB AAAA ; [.2522.0020.0002.AAAA][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW VO>
+AABC AAAA ; [.2522.0020.0002.AAAA][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW VO>
+AAAB  ; [.2523.0020.0002.AAAB] # TAI VIET LETTER HIGH VO
+AAB5 AAAB ; [.2523.0020.0002.AAAB][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH VO>
+AAB6 AAAB ; [.2523.0020.0002.AAAB][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH VO>
+AAB9 AAAB ; [.2523.0020.0002.AAAB][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH VO>
+AABB AAAB ; [.2523.0020.0002.AAAB][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH VO>
+AABC AAAB ; [.2523.0020.0002.AAAB][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH VO>
+AAAC  ; [.2524.0020.0002.AAAC] # TAI VIET LETTER LOW HO
+AAB5 AAAC ; [.2524.0020.0002.AAAC][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW HO>
+AAB6 AAAC ; [.2524.0020.0002.AAAC][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW HO>
+AAB9 AAAC ; [.2524.0020.0002.AAAC][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW HO>
+AABB AAAC ; [.2524.0020.0002.AAAC][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW HO>
+AABC AAAC ; [.2524.0020.0002.AAAC][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW HO>
+AAAD  ; [.2525.0020.0002.AAAD] # TAI VIET LETTER HIGH HO
+AAB5 AAAD ; [.2525.0020.0002.AAAD][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH HO>
+AAB6 AAAD ; [.2525.0020.0002.AAAD][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH HO>
+AAB9 AAAD ; [.2525.0020.0002.AAAD][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH HO>
+AABB AAAD ; [.2525.0020.0002.AAAD][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH HO>
+AABC AAAD ; [.2525.0020.0002.AAAD][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH HO>
+AAAE  ; [.2526.0020.0002.AAAE] # TAI VIET LETTER LOW O
+AAB5 AAAE ; [.2526.0020.0002.AAAE][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER LOW O>
+AAB6 AAAE ; [.2526.0020.0002.AAAE][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER LOW O>
+AAB9 AAAE ; [.2526.0020.0002.AAAE][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER LOW O>
+AABB AAAE ; [.2526.0020.0002.AAAE][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER LOW O>
+AABC AAAE ; [.2526.0020.0002.AAAE][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER LOW O>
+AAAF  ; [.2527.0020.0002.AAAF] # TAI VIET LETTER HIGH O
+AAB5 AAAF ; [.2527.0020.0002.AAAF][.252D.0020.0002.AAB5] # <TAI VIET VOWEL E, TAI VIET LETTER HIGH O>
+AAB6 AAAF ; [.2527.0020.0002.AAAF][.252E.0020.0002.AAB6] # <TAI VIET VOWEL O, TAI VIET LETTER HIGH O>
+AAB9 AAAF ; [.2527.0020.0002.AAAF][.2531.0020.0002.AAB9] # <TAI VIET VOWEL UEA, TAI VIET LETTER HIGH O>
+AABB AAAF ; [.2527.0020.0002.AAAF][.2533.0020.0002.AABB] # <TAI VIET VOWEL AUE, TAI VIET LETTER HIGH O>
+AABC AAAF ; [.2527.0020.0002.AAAF][.2534.0020.0002.AABC] # <TAI VIET VOWEL AY, TAI VIET LETTER HIGH O>
+AAB0  ; [.2528.0020.0002.AAB0] # TAI VIET MAI KANG
+AAB1  ; [.2529.0020.0002.AAB1] # TAI VIET VOWEL AA
+AAB2  ; [.252A.0020.0002.AAB2] # TAI VIET VOWEL I
+AAB3  ; [.252B.0020.0002.AAB3] # TAI VIET VOWEL UE
+AAB4  ; [.252C.0020.0002.AAB4] # TAI VIET VOWEL U
+AAB5  ; [.252D.0020.0002.AAB5] # TAI VIET VOWEL E
+AAB6  ; [.252E.0020.0002.AAB6] # TAI VIET VOWEL O
+AAB7  ; [.252F.0020.0002.AAB7] # TAI VIET MAY KHIT
+AAB8  ; [.2530.0020.0002.AAB8] # TAI VIET VOWEL IA
+AAB9  ; [.2531.0020.0002.AAB9] # TAI VIET VOWEL UEA
+AABA  ; [.2532.0020.0002.AABA] # TAI VIET VOWEL UA
+AABB  ; [.2533.0020.0002.AABB] # TAI VIET VOWEL AUE
+AABC  ; [.2534.0020.0002.AABC] # TAI VIET VOWEL AY
+AABD  ; [.2535.0020.0002.AABD] # TAI VIET VOWEL AN
+AABE  ; [.2536.0020.0002.AABE] # TAI VIET VOWEL AM
+AAC0  ; [.2537.0020.0002.AAC0] # TAI VIET TONE MAI NUENG
+AAC2  ; [.2538.0020.0002.AAC2] # TAI VIET TONE MAI SONG
+AADB  ; [.2539.0020.0002.AADB] # TAI VIET SYMBOL KON
+AADC  ; [.253A.0020.0002.AADC] # TAI VIET SYMBOL NUENG
+0F40  ; [.253B.0020.0002.0F40] # TIBETAN LETTER KA
+0F69  ; [.253B.0020.0002.0F40][.257C.0020.0002.0FB5] # TIBETAN LETTER KSSA
+0F90  ; [.253C.0020.0002.0F90] # TIBETAN SUBJOINED LETTER KA
+0FB9  ; [.253C.0020.0002.0F90][.257C.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER KSSA
+0F6B  ; [.253D.0020.0002.0F6B] # TIBETAN LETTER KKA
+0F41  ; [.253E.0020.0002.0F41] # TIBETAN LETTER KHA
+0F91  ; [.253F.0020.0002.0F91] # TIBETAN SUBJOINED LETTER KHA
+0F42  ; [.2540.0020.0002.0F42] # TIBETAN LETTER GA
+0F43  ; [.2540.0020.0002.0F42][.2580.0020.0002.0FB7] # TIBETAN LETTER GHA
+0F92  ; [.2541.0020.0002.0F92] # TIBETAN SUBJOINED LETTER GA
+0F93  ; [.2541.0020.0002.0F92][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER GHA
+0F44  ; [.2542.0020.0002.0F44] # TIBETAN LETTER NGA
+0F94  ; [.2543.0020.0002.0F94] # TIBETAN SUBJOINED LETTER NGA
+0F45  ; [.2544.0020.0002.0F45] # TIBETAN LETTER CA
+0F95  ; [.2545.0020.0002.0F95] # TIBETAN SUBJOINED LETTER CA
+0F46  ; [.2546.0020.0002.0F46] # TIBETAN LETTER CHA
+0F96  ; [.2547.0020.0002.0F96] # TIBETAN SUBJOINED LETTER CHA
+0F47  ; [.2548.0020.0002.0F47] # TIBETAN LETTER JA
+0F97  ; [.2549.0020.0002.0F97] # TIBETAN SUBJOINED LETTER JA
+0F49  ; [.254A.0020.0002.0F49] # TIBETAN LETTER NYA
+0F99  ; [.254B.0020.0002.0F99] # TIBETAN SUBJOINED LETTER NYA
+0F4A  ; [.254C.0020.0002.0F4A] # TIBETAN LETTER TTA
+0F9A  ; [.254D.0020.0002.0F9A] # TIBETAN SUBJOINED LETTER TTA
+0F4B  ; [.254E.0020.0002.0F4B] # TIBETAN LETTER TTHA
+0F9B  ; [.254F.0020.0002.0F9B] # TIBETAN SUBJOINED LETTER TTHA
+0F4C  ; [.2550.0020.0002.0F4C] # TIBETAN LETTER DDA
+0F4D  ; [.2550.0020.0002.0F4C][.2580.0020.0002.0FB7] # TIBETAN LETTER DDHA
+0F9C  ; [.2551.0020.0002.0F9C] # TIBETAN SUBJOINED LETTER DDA
+0F9D  ; [.2551.0020.0002.0F9C][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DDHA
+0F4E  ; [.2552.0020.0002.0F4E] # TIBETAN LETTER NNA
+0F9E  ; [.2553.0020.0002.0F9E] # TIBETAN SUBJOINED LETTER NNA
+0F4F  ; [.2554.0020.0002.0F4F] # TIBETAN LETTER TA
+0F9F  ; [.2555.0020.0002.0F9F] # TIBETAN SUBJOINED LETTER TA
+0F50  ; [.2556.0020.0002.0F50] # TIBETAN LETTER THA
+0FA0  ; [.2557.0020.0002.0FA0] # TIBETAN SUBJOINED LETTER THA
+0F51  ; [.2558.0020.0002.0F51] # TIBETAN LETTER DA
+0F52  ; [.2558.0020.0002.0F51][.2580.0020.0002.0FB7] # TIBETAN LETTER DHA
+0FA1  ; [.2559.0020.0002.0FA1] # TIBETAN SUBJOINED LETTER DA
+0FA2  ; [.2559.0020.0002.0FA1][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DHA
+0F53  ; [.255A.0020.0002.0F53] # TIBETAN LETTER NA
+0FA3  ; [.255B.0020.0002.0FA3] # TIBETAN SUBJOINED LETTER NA
+0F54  ; [.255C.0020.0002.0F54] # TIBETAN LETTER PA
+0FA4  ; [.255D.0020.0002.0FA4] # TIBETAN SUBJOINED LETTER PA
+0F55  ; [.255E.0020.0002.0F55] # TIBETAN LETTER PHA
+0FA5  ; [.255F.0020.0002.0FA5] # TIBETAN SUBJOINED LETTER PHA
+0F56  ; [.2560.0020.0002.0F56] # TIBETAN LETTER BA
+0F57  ; [.2560.0020.0002.0F56][.2580.0020.0002.0FB7] # TIBETAN LETTER BHA
+0FA6  ; [.2561.0020.0002.0FA6] # TIBETAN SUBJOINED LETTER BA
+0FA7  ; [.2561.0020.0002.0FA6][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER BHA
+0F58  ; [.2562.0020.0002.0F58] # TIBETAN LETTER MA
+0FA8  ; [.2563.0020.0002.0FA8] # TIBETAN SUBJOINED LETTER MA
+0F59  ; [.2564.0020.0002.0F59] # TIBETAN LETTER TSA
+0FA9  ; [.2565.0020.0002.0FA9] # TIBETAN SUBJOINED LETTER TSA
+0F5A  ; [.2566.0020.0002.0F5A] # TIBETAN LETTER TSHA
+0FAA  ; [.2567.0020.0002.0FAA] # TIBETAN SUBJOINED LETTER TSHA
+0F5B  ; [.2568.0020.0002.0F5B] # TIBETAN LETTER DZA
+0F5C  ; [.2568.0020.0002.0F5B][.2580.0020.0002.0FB7] # TIBETAN LETTER DZHA
+0FAB  ; [.2569.0020.0002.0FAB] # TIBETAN SUBJOINED LETTER DZA
+0FAC  ; [.2569.0020.0002.0FAB][.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER DZHA
+0F5D  ; [.256A.0020.0002.0F5D] # TIBETAN LETTER WA
+0FAD  ; [.256B.0020.0002.0FAD] # TIBETAN SUBJOINED LETTER WA
+0FBA  ; [.256B.0020.0004.0FBA][.0000.013A.0004.0FBA] # TIBETAN SUBJOINED LETTER FIXED-FORM WA
+0F5E  ; [.256C.0020.0002.0F5E] # TIBETAN LETTER ZHA
+0FAE  ; [.256D.0020.0002.0FAE] # TIBETAN SUBJOINED LETTER ZHA
+0F5F  ; [.256E.0020.0002.0F5F] # TIBETAN LETTER ZA
+0FAF  ; [.256F.0020.0002.0FAF] # TIBETAN SUBJOINED LETTER ZA
+0F60  ; [.2570.0020.0002.0F60] # TIBETAN LETTER -A
+0FB0  ; [.2571.0020.0002.0FB0] # TIBETAN SUBJOINED LETTER -A
+0F61  ; [.2572.0020.0002.0F61] # TIBETAN LETTER YA
+0FB1  ; [.2573.0020.0002.0FB1] # TIBETAN SUBJOINED LETTER YA
+0FBB  ; [.2573.0020.0004.0FBB][.0000.013A.0004.0FBB] # TIBETAN SUBJOINED LETTER FIXED-FORM YA
+0F62  ; [.2574.0020.0002.0F62] # TIBETAN LETTER RA
+0F6A  ; [.2574.0020.0004.0F6A][.0000.013A.0004.0F6A] # TIBETAN LETTER FIXED-FORM RA
+0FB2  ; [.2575.0020.0002.0FB2] # TIBETAN SUBJOINED LETTER RA
+0FBC  ; [.2575.0020.0004.0FBC][.0000.013A.0004.0FBC] # TIBETAN SUBJOINED LETTER FIXED-FORM RA
+0F6C  ; [.2576.0020.0002.0F6C] # TIBETAN LETTER RRA
+0F63  ; [.2577.0020.0002.0F63] # TIBETAN LETTER LA
+0FB3  ; [.2578.0020.0002.0FB3] # TIBETAN SUBJOINED LETTER LA
+0F64  ; [.2579.0020.0002.0F64] # TIBETAN LETTER SHA
+0FB4  ; [.257A.0020.0002.0FB4] # TIBETAN SUBJOINED LETTER SHA
+0F65  ; [.257B.0020.0002.0F65] # TIBETAN LETTER SSA
+0FB5  ; [.257C.0020.0002.0FB5] # TIBETAN SUBJOINED LETTER SSA
+0F66  ; [.257D.0020.0002.0F66] # TIBETAN LETTER SA
+0FB6  ; [.257E.0020.0002.0FB6] # TIBETAN SUBJOINED LETTER SA
+0F67  ; [.257F.0020.0002.0F67] # TIBETAN LETTER HA
+0FB7  ; [.2580.0020.0002.0FB7] # TIBETAN SUBJOINED LETTER HA
+0F68  ; [.2581.0020.0002.0F68] # TIBETAN LETTER A
+0F00  ; [.2581.0020.0004.0F00][.2598.0020.0004.0F00][.0000.00F3.0004.0F00] # TIBETAN SYLLABLE OM
+0FB8  ; [.2582.0020.0002.0FB8] # TIBETAN SUBJOINED LETTER A
+0F88  ; [.2583.0020.0002.0F88] # TIBETAN SIGN LCE TSA CAN
+0F8D  ; [.2584.0020.0002.0F8D] # TIBETAN SUBJOINED SIGN LCE TSA CAN
+0F89  ; [.2585.0020.0002.0F89] # TIBETAN SIGN MCHU CAN
+0F8E  ; [.2586.0020.0002.0F8E] # TIBETAN SUBJOINED SIGN MCHU CAN
+0F8C  ; [.2587.0020.0002.0F8C] # TIBETAN SIGN INVERTED MCHU CAN
+0F8F  ; [.2588.0020.0002.0F8F] # TIBETAN SUBJOINED SIGN INVERTED MCHU CAN
+0F8A  ; [.2589.0020.0002.0F8A] # TIBETAN SIGN GRU CAN RGYINGS
+0F8B  ; [.258A.0020.0002.0F8B] # TIBETAN SIGN GRU MED RGYINGS
+0F71  ; [.258B.0020.0002.0F71] # TIBETAN VOWEL SIGN AA
+0F72  ; [.258C.0020.0002.0F72] # TIBETAN VOWEL SIGN I
+0F73  ; [.258D.0020.0002.0F73] # TIBETAN VOWEL SIGN II
+0F71 0F72 ; [.258D.0020.0002.0F73] # TIBETAN VOWEL SIGN II
+0F80  ; [.258E.0020.0002.0F80] # TIBETAN VOWEL SIGN REVERSED I
+0F81  ; [.258F.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
+0F71 0F80 ; [.258F.0020.0002.0F81] # TIBETAN VOWEL SIGN REVERSED II
+0F74  ; [.2590.0020.0002.0F74] # TIBETAN VOWEL SIGN U
+0F75  ; [.2591.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
+0F71 0F74 ; [.2591.0020.0002.0F75] # TIBETAN VOWEL SIGN UU
+0F76  ; [.2592.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
+0FB2 0F80 ; [.2592.0020.0002.0F76] # TIBETAN VOWEL SIGN VOCALIC R
+0F77  ; [.2593.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F71 0F80 ; [.2593.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0FB2 0F81 ; [.2593.0020.0002.0F77] # TIBETAN VOWEL SIGN VOCALIC RR
+0F78  ; [.2594.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
+0FB3 0F80 ; [.2594.0020.0002.0F78] # TIBETAN VOWEL SIGN VOCALIC L
+0F79  ; [.2595.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F71 0F80 ; [.2595.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0FB3 0F81 ; [.2595.0020.0002.0F79] # TIBETAN VOWEL SIGN VOCALIC LL
+0F7A  ; [.2596.0020.0002.0F7A] # TIBETAN VOWEL SIGN E
+0F7B  ; [.2597.0020.0002.0F7B] # TIBETAN VOWEL SIGN EE
+0F7C  ; [.2598.0020.0002.0F7C] # TIBETAN VOWEL SIGN O
+0F7D  ; [.2599.0020.0002.0F7D] # TIBETAN VOWEL SIGN OO
+0F84  ; [.259A.0020.0002.0F84] # TIBETAN MARK HALANTA
+1C00  ; [.259B.0020.0002.1C00] # LEPCHA LETTER KA
+1C01  ; [.259C.0020.0002.1C01] # LEPCHA LETTER KLA
+1C02  ; [.259D.0020.0002.1C02] # LEPCHA LETTER KHA
+1C03  ; [.259E.0020.0002.1C03] # LEPCHA LETTER GA
+1C04  ; [.259F.0020.0002.1C04] # LEPCHA LETTER GLA
+1C05  ; [.25A0.0020.0002.1C05] # LEPCHA LETTER NGA
+1C06  ; [.25A1.0020.0002.1C06] # LEPCHA LETTER CA
+1C07  ; [.25A2.0020.0002.1C07] # LEPCHA LETTER CHA
+1C08  ; [.25A3.0020.0002.1C08] # LEPCHA LETTER JA
+1C09  ; [.25A4.0020.0002.1C09] # LEPCHA LETTER NYA
+1C4D  ; [.25A5.0020.0002.1C4D] # LEPCHA LETTER TTA
+1C4E  ; [.25A6.0020.0002.1C4E] # LEPCHA LETTER TTHA
+1C4F  ; [.25A7.0020.0002.1C4F] # LEPCHA LETTER DDA
+1C0A  ; [.25A8.0020.0002.1C0A] # LEPCHA LETTER TA
+1C0B  ; [.25A9.0020.0002.1C0B] # LEPCHA LETTER THA
+1C0C  ; [.25AA.0020.0002.1C0C] # LEPCHA LETTER DA
+1C0D  ; [.25AB.0020.0002.1C0D] # LEPCHA LETTER NA
+1C0E  ; [.25AC.0020.0002.1C0E] # LEPCHA LETTER PA
+1C0F  ; [.25AD.0020.0002.1C0F] # LEPCHA LETTER PLA
+1C10  ; [.25AE.0020.0002.1C10] # LEPCHA LETTER PHA
+1C11  ; [.25AF.0020.0002.1C11] # LEPCHA LETTER FA
+1C12  ; [.25B0.0020.0002.1C12] # LEPCHA LETTER FLA
+1C13  ; [.25B1.0020.0002.1C13] # LEPCHA LETTER BA
+1C14  ; [.25B2.0020.0002.1C14] # LEPCHA LETTER BLA
+1C15  ; [.25B3.0020.0002.1C15] # LEPCHA LETTER MA
+1C16  ; [.25B4.0020.0002.1C16] # LEPCHA LETTER MLA
+1C17  ; [.25B5.0020.0002.1C17] # LEPCHA LETTER TSA
+1C18  ; [.25B6.0020.0002.1C18] # LEPCHA LETTER TSHA
+1C19  ; [.25B7.0020.0002.1C19] # LEPCHA LETTER DZA
+1C1A  ; [.25B8.0020.0002.1C1A] # LEPCHA LETTER YA
+1C24  ; [.25B9.0020.0002.1C24] # LEPCHA SUBJOINED LETTER YA
+1C1B  ; [.25BA.0020.0002.1C1B] # LEPCHA LETTER RA
+1C25  ; [.25BB.0020.0002.1C25] # LEPCHA SUBJOINED LETTER RA
+1C1C  ; [.25BC.0020.0002.1C1C] # LEPCHA LETTER LA
+1C1D  ; [.25BD.0020.0002.1C1D] # LEPCHA LETTER HA
+1C1E  ; [.25BE.0020.0002.1C1E] # LEPCHA LETTER HLA
+1C1F  ; [.25BF.0020.0002.1C1F] # LEPCHA LETTER VA
+1C20  ; [.25C0.0020.0002.1C20] # LEPCHA LETTER SA
+1C21  ; [.25C1.0020.0002.1C21] # LEPCHA LETTER SHA
+1C22  ; [.25C2.0020.0002.1C22] # LEPCHA LETTER WA
+1C23  ; [.25C3.0020.0002.1C23] # LEPCHA LETTER A
+1C36  ; [.25C4.0020.0002.1C36] # LEPCHA SIGN RAN
+1C26  ; [.25C5.0020.0002.1C26] # LEPCHA VOWEL SIGN AA
+1C27  ; [.25C6.0020.0002.1C27] # LEPCHA VOWEL SIGN I
+1C28  ; [.25C7.0020.0002.1C28] # LEPCHA VOWEL SIGN O
+1C29  ; [.25C8.0020.0002.1C29] # LEPCHA VOWEL SIGN OO
+1C2A  ; [.25C9.0020.0002.1C2A] # LEPCHA VOWEL SIGN U
+1C2B  ; [.25CA.0020.0002.1C2B] # LEPCHA VOWEL SIGN UU
+1C2C  ; [.25CB.0020.0002.1C2C] # LEPCHA VOWEL SIGN E
+1C2D  ; [.25CC.0020.0002.1C2D] # LEPCHA CONSONANT SIGN K
+1C2E  ; [.25CD.0020.0002.1C2E] # LEPCHA CONSONANT SIGN M
+1C2F  ; [.25CE.0020.0002.1C2F] # LEPCHA CONSONANT SIGN L
+1C30  ; [.25CF.0020.0002.1C30] # LEPCHA CONSONANT SIGN N
+1C31  ; [.25D0.0020.0002.1C31] # LEPCHA CONSONANT SIGN P
+1C32  ; [.25D1.0020.0002.1C32] # LEPCHA CONSONANT SIGN R
+1C33  ; [.25D2.0020.0002.1C33] # LEPCHA CONSONANT SIGN T
+1C34  ; [.25D3.0020.0002.1C34] # LEPCHA CONSONANT SIGN NYIN-DO
+1C35  ; [.25D4.0020.0002.1C35] # LEPCHA CONSONANT SIGN KANG
+A840  ; [.25D5.0020.0002.A840] # PHAGS-PA LETTER KA
+A841  ; [.25D6.0020.0002.A841] # PHAGS-PA LETTER KHA
+A842  ; [.25D7.0020.0002.A842] # PHAGS-PA LETTER GA
+A843  ; [.25D8.0020.0002.A843] # PHAGS-PA LETTER NGA
+A844  ; [.25D9.0020.0002.A844] # PHAGS-PA LETTER CA
+A845  ; [.25DA.0020.0002.A845] # PHAGS-PA LETTER CHA
+A846  ; [.25DB.0020.0002.A846] # PHAGS-PA LETTER JA
+A847  ; [.25DC.0020.0002.A847] # PHAGS-PA LETTER NYA
+A869  ; [.25DD.0020.0002.A869] # PHAGS-PA LETTER TTA
+A86A  ; [.25DE.0020.0002.A86A] # PHAGS-PA LETTER TTHA
+A86B  ; [.25DF.0020.0002.A86B] # PHAGS-PA LETTER DDA
+A86C  ; [.25E0.0020.0002.A86C] # PHAGS-PA LETTER NNA
+A848  ; [.25E1.0020.0002.A848] # PHAGS-PA LETTER TA
+A849  ; [.25E2.0020.0002.A849] # PHAGS-PA LETTER THA
+A84A  ; [.25E3.0020.0002.A84A] # PHAGS-PA LETTER DA
+A84B  ; [.25E4.0020.0002.A84B] # PHAGS-PA LETTER NA
+A84C  ; [.25E5.0020.0002.A84C] # PHAGS-PA LETTER PA
+A84D  ; [.25E6.0020.0002.A84D] # PHAGS-PA LETTER PHA
+A84E  ; [.25E7.0020.0002.A84E] # PHAGS-PA LETTER BA
+A84F  ; [.25E8.0020.0002.A84F] # PHAGS-PA LETTER MA
+A850  ; [.25E9.0020.0002.A850] # PHAGS-PA LETTER TSA
+A851  ; [.25EA.0020.0002.A851] # PHAGS-PA LETTER TSHA
+A852  ; [.25EB.0020.0002.A852] # PHAGS-PA LETTER DZA
+A853  ; [.25EC.0020.0002.A853] # PHAGS-PA LETTER WA
+A867  ; [.25ED.0020.0002.A867] # PHAGS-PA SUBJOINED LETTER WA
+A854  ; [.25EE.0020.0002.A854] # PHAGS-PA LETTER ZHA
+A855  ; [.25EF.0020.0002.A855] # PHAGS-PA LETTER ZA
+A856  ; [.25F0.0020.0002.A856] # PHAGS-PA LETTER SMALL A
+A857  ; [.25F1.0020.0002.A857] # PHAGS-PA LETTER YA
+A868  ; [.25F2.0020.0002.A868] # PHAGS-PA SUBJOINED LETTER YA
+A86D  ; [.25F3.0020.0002.A86D] # PHAGS-PA LETTER ALTERNATE YA
+A858  ; [.25F4.0020.0002.A858] # PHAGS-PA LETTER RA
+A871  ; [.25F5.0020.0002.A871] # PHAGS-PA SUBJOINED LETTER RA
+A872  ; [.25F6.0020.0002.A872] # PHAGS-PA SUPERFIXED LETTER RA
+A859  ; [.25F7.0020.0002.A859] # PHAGS-PA LETTER LA
+A85A  ; [.25F8.0020.0002.A85A] # PHAGS-PA LETTER SHA
+A86E  ; [.25F9.0020.0002.A86E] # PHAGS-PA LETTER VOICELESS SHA
+A85B  ; [.25FA.0020.0002.A85B] # PHAGS-PA LETTER SA
+A85C  ; [.25FB.0020.0002.A85C] # PHAGS-PA LETTER HA
+A86F  ; [.25FC.0020.0002.A86F] # PHAGS-PA LETTER VOICED HA
+A870  ; [.25FD.0020.0002.A870] # PHAGS-PA LETTER ASPIRATED FA
+A85D  ; [.25FE.0020.0002.A85D] # PHAGS-PA LETTER A
+A862  ; [.25FF.0020.0002.A862] # PHAGS-PA LETTER QA
+A863  ; [.2600.0020.0002.A863] # PHAGS-PA LETTER XA
+A864  ; [.2601.0020.0002.A864] # PHAGS-PA LETTER FA
+A865  ; [.2602.0020.0002.A865] # PHAGS-PA LETTER GGA
+A85E  ; [.2603.0020.0002.A85E] # PHAGS-PA LETTER I
+A85F  ; [.2604.0020.0002.A85F] # PHAGS-PA LETTER U
+A860  ; [.2605.0020.0002.A860] # PHAGS-PA LETTER E
+A861  ; [.2606.0020.0002.A861] # PHAGS-PA LETTER O
+A866  ; [.2607.0020.0002.A866] # PHAGS-PA LETTER EE
+A873  ; [.2608.0020.0002.A873] # PHAGS-PA LETTER CANDRABINDU
+1900  ; [.2609.0020.0002.1900] # LIMBU VOWEL-CARRIER LETTER
+1901  ; [.260A.0020.0002.1901] # LIMBU LETTER KA
+1902  ; [.260B.0020.0002.1902] # LIMBU LETTER KHA
+1903  ; [.260C.0020.0002.1903] # LIMBU LETTER GA
+1904  ; [.260D.0020.0002.1904] # LIMBU LETTER GHA
+1905  ; [.260E.0020.0002.1905] # LIMBU LETTER NGA
+1906  ; [.260F.0020.0002.1906] # LIMBU LETTER CA
+1907  ; [.2610.0020.0002.1907] # LIMBU LETTER CHA
+1908  ; [.2611.0020.0002.1908] # LIMBU LETTER JA
+1909  ; [.2612.0020.0002.1909] # LIMBU LETTER JHA
+190A  ; [.2613.0020.0002.190A] # LIMBU LETTER YAN
+190B  ; [.2614.0020.0002.190B] # LIMBU LETTER TA
+190C  ; [.2615.0020.0002.190C] # LIMBU LETTER THA
+190D  ; [.2616.0020.0002.190D] # LIMBU LETTER DA
+190E  ; [.2617.0020.0002.190E] # LIMBU LETTER DHA
+190F  ; [.2618.0020.0002.190F] # LIMBU LETTER NA
+1910  ; [.2619.0020.0002.1910] # LIMBU LETTER PA
+1911  ; [.261A.0020.0002.1911] # LIMBU LETTER PHA
+1912  ; [.261B.0020.0002.1912] # LIMBU LETTER BA
+1913  ; [.261C.0020.0002.1913] # LIMBU LETTER BHA
+1914  ; [.261D.0020.0002.1914] # LIMBU LETTER MA
+1915  ; [.261E.0020.0002.1915] # LIMBU LETTER YA
+1916  ; [.261F.0020.0002.1916] # LIMBU LETTER RA
+1917  ; [.2620.0020.0002.1917] # LIMBU LETTER LA
+1918  ; [.2621.0020.0002.1918] # LIMBU LETTER WA
+1919  ; [.2622.0020.0002.1919] # LIMBU LETTER SHA
+191A  ; [.2623.0020.0002.191A] # LIMBU LETTER SSA
+191B  ; [.2624.0020.0002.191B] # LIMBU LETTER SA
+191C  ; [.2625.0020.0002.191C] # LIMBU LETTER HA
+1920  ; [.2626.0020.0002.1920] # LIMBU VOWEL SIGN A
+1921  ; [.2627.0020.0002.1921] # LIMBU VOWEL SIGN I
+1922  ; [.2628.0020.0002.1922] # LIMBU VOWEL SIGN U
+1923  ; [.2629.0020.0002.1923] # LIMBU VOWEL SIGN EE
+1924  ; [.262A.0020.0002.1924] # LIMBU VOWEL SIGN AI
+1925  ; [.262B.0020.0002.1925] # LIMBU VOWEL SIGN OO
+1926  ; [.262C.0020.0002.1926] # LIMBU VOWEL SIGN AU
+1927  ; [.262D.0020.0002.1927] # LIMBU VOWEL SIGN E
+1928  ; [.262E.0020.0002.1928] # LIMBU VOWEL SIGN O
+1929  ; [.262F.0020.0002.1929] # LIMBU SUBJOINED LETTER YA
+192A  ; [.2630.0020.0002.192A] # LIMBU SUBJOINED LETTER RA
+192B  ; [.2631.0020.0002.192B] # LIMBU SUBJOINED LETTER WA
+1930  ; [.2632.0020.0002.1930] # LIMBU SMALL LETTER KA
+1931  ; [.2633.0020.0002.1931] # LIMBU SMALL LETTER NGA
+1932  ; [.2634.0020.0002.1932] # LIMBU SMALL LETTER ANUSVARA
+1933  ; [.2635.0020.0002.1933] # LIMBU SMALL LETTER TA
+1934  ; [.2636.0020.0002.1934] # LIMBU SMALL LETTER NA
+1935  ; [.2637.0020.0002.1935] # LIMBU SMALL LETTER PA
+1936  ; [.2638.0020.0002.1936] # LIMBU SMALL LETTER MA
+1937  ; [.2639.0020.0002.1937] # LIMBU SMALL LETTER RA
+1938  ; [.263A.0020.0002.1938] # LIMBU SMALL LETTER LA
+1700  ; [.263B.0020.0002.1700] # TAGALOG LETTER A
+1701  ; [.263C.0020.0002.1701] # TAGALOG LETTER I
+1702  ; [.263D.0020.0002.1702] # TAGALOG LETTER U
+1703  ; [.263E.0020.0002.1703] # TAGALOG LETTER KA
+1704  ; [.263F.0020.0002.1704] # TAGALOG LETTER GA
+1705  ; [.2640.0020.0002.1705] # TAGALOG LETTER NGA
+1706  ; [.2641.0020.0002.1706] # TAGALOG LETTER TA
+1707  ; [.2642.0020.0002.1707] # TAGALOG LETTER DA
+1708  ; [.2643.0020.0002.1708] # TAGALOG LETTER NA
+1709  ; [.2644.0020.0002.1709] # TAGALOG LETTER PA
+170A  ; [.2645.0020.0002.170A] # TAGALOG LETTER BA
+170B  ; [.2646.0020.0002.170B] # TAGALOG LETTER MA
+170C  ; [.2647.0020.0002.170C] # TAGALOG LETTER YA
+170E  ; [.2648.0020.0002.170E] # TAGALOG LETTER LA
+170F  ; [.2649.0020.0002.170F] # TAGALOG LETTER WA
+1710  ; [.264A.0020.0002.1710] # TAGALOG LETTER SA
+1711  ; [.264B.0020.0002.1711] # TAGALOG LETTER HA
+1712  ; [.264C.0020.0002.1712] # TAGALOG VOWEL SIGN I
+1713  ; [.264D.0020.0002.1713] # TAGALOG VOWEL SIGN U
+1714  ; [.264E.0020.0002.1714] # TAGALOG SIGN VIRAMA
+1720  ; [.264F.0020.0002.1720] # HANUNOO LETTER A
+1721  ; [.2650.0020.0002.1721] # HANUNOO LETTER I
+1722  ; [.2651.0020.0002.1722] # HANUNOO LETTER U
+1723  ; [.2652.0020.0002.1723] # HANUNOO LETTER KA
+1724  ; [.2653.0020.0002.1724] # HANUNOO LETTER GA
+1725  ; [.2654.0020.0002.1725] # HANUNOO LETTER NGA
+1726  ; [.2655.0020.0002.1726] # HANUNOO LETTER TA
+1727  ; [.2656.0020.0002.1727] # HANUNOO LETTER DA
+1728  ; [.2657.0020.0002.1728] # HANUNOO LETTER NA
+1729  ; [.2658.0020.0002.1729] # HANUNOO LETTER PA
+172A  ; [.2659.0020.0002.172A] # HANUNOO LETTER BA
+172B  ; [.265A.0020.0002.172B] # HANUNOO LETTER MA
+172C  ; [.265B.0020.0002.172C] # HANUNOO LETTER YA
+172D  ; [.265C.0020.0002.172D] # HANUNOO LETTER RA
+172E  ; [.265D.0020.0002.172E] # HANUNOO LETTER LA
+172F  ; [.265E.0020.0002.172F] # HANUNOO LETTER WA
+1730  ; [.265F.0020.0002.1730] # HANUNOO LETTER SA
+1731  ; [.2660.0020.0002.1731] # HANUNOO LETTER HA
+1732  ; [.2661.0020.0002.1732] # HANUNOO VOWEL SIGN I
+1733  ; [.2662.0020.0002.1733] # HANUNOO VOWEL SIGN U
+1734  ; [.2663.0020.0002.1734] # HANUNOO SIGN PAMUDPOD
+1740  ; [.2664.0020.0002.1740] # BUHID LETTER A
+1741  ; [.2665.0020.0002.1741] # BUHID LETTER I
+1742  ; [.2666.0020.0002.1742] # BUHID LETTER U
+1743  ; [.2667.0020.0002.1743] # BUHID LETTER KA
+1744  ; [.2668.0020.0002.1744] # BUHID LETTER GA
+1745  ; [.2669.0020.0002.1745] # BUHID LETTER NGA
+1746  ; [.266A.0020.0002.1746] # BUHID LETTER TA
+1747  ; [.266B.0020.0002.1747] # BUHID LETTER DA
+1748  ; [.266C.0020.0002.1748] # BUHID LETTER NA
+1749  ; [.266D.0020.0002.1749] # BUHID LETTER PA
+174A  ; [.266E.0020.0002.174A] # BUHID LETTER BA
+174B  ; [.266F.0020.0002.174B] # BUHID LETTER MA
+174C  ; [.2670.0020.0002.174C] # BUHID LETTER YA
+174D  ; [.2671.0020.0002.174D] # BUHID LETTER RA
+174E  ; [.2672.0020.0002.174E] # BUHID LETTER LA
+174F  ; [.2673.0020.0002.174F] # BUHID LETTER WA
+1750  ; [.2674.0020.0002.1750] # BUHID LETTER SA
+1751  ; [.2675.0020.0002.1751] # BUHID LETTER HA
+1752  ; [.2676.0020.0002.1752] # BUHID VOWEL SIGN I
+1753  ; [.2677.0020.0002.1753] # BUHID VOWEL SIGN U
+1760  ; [.2678.0020.0002.1760] # TAGBANWA LETTER A
+1761  ; [.2679.0020.0002.1761] # TAGBANWA LETTER I
+1762  ; [.267A.0020.0002.1762] # TAGBANWA LETTER U
+1763  ; [.267B.0020.0002.1763] # TAGBANWA LETTER KA
+1764  ; [.267C.0020.0002.1764] # TAGBANWA LETTER GA
+1765  ; [.267D.0020.0002.1765] # TAGBANWA LETTER NGA
+1766  ; [.267E.0020.0002.1766] # TAGBANWA LETTER TA
+1767  ; [.267F.0020.0002.1767] # TAGBANWA LETTER DA
+1768  ; [.2680.0020.0002.1768] # TAGBANWA LETTER NA
+1769  ; [.2681.0020.0002.1769] # TAGBANWA LETTER PA
+176A  ; [.2682.0020.0002.176A] # TAGBANWA LETTER BA
+176B  ; [.2683.0020.0002.176B] # TAGBANWA LETTER MA
+176C  ; [.2684.0020.0002.176C] # TAGBANWA LETTER YA
+176E  ; [.2685.0020.0002.176E] # TAGBANWA LETTER LA
+176F  ; [.2686.0020.0002.176F] # TAGBANWA LETTER WA
+1770  ; [.2687.0020.0002.1770] # TAGBANWA LETTER SA
+1772  ; [.2688.0020.0002.1772] # TAGBANWA VOWEL SIGN I
+1773  ; [.2689.0020.0002.1773] # TAGBANWA VOWEL SIGN U
+1A00  ; [.268A.0020.0002.1A00] # BUGINESE LETTER KA
+1A01  ; [.268B.0020.0002.1A01] # BUGINESE LETTER GA
+1A02  ; [.268C.0020.0002.1A02] # BUGINESE LETTER NGA
+1A03  ; [.268D.0020.0002.1A03] # BUGINESE LETTER NGKA
+1A04  ; [.268E.0020.0002.1A04] # BUGINESE LETTER PA
+1A05  ; [.268F.0020.0002.1A05] # BUGINESE LETTER BA
+1A06  ; [.2690.0020.0002.1A06] # BUGINESE LETTER MA
+1A07  ; [.2691.0020.0002.1A07] # BUGINESE LETTER MPA
+1A08  ; [.2692.0020.0002.1A08] # BUGINESE LETTER TA
+1A09  ; [.2693.0020.0002.1A09] # BUGINESE LETTER DA
+1A0A  ; [.2694.0020.0002.1A0A] # BUGINESE LETTER NA
+1A0B  ; [.2695.0020.0002.1A0B] # BUGINESE LETTER NRA
+1A0C  ; [.2696.0020.0002.1A0C] # BUGINESE LETTER CA
+1A0D  ; [.2697.0020.0002.1A0D] # BUGINESE LETTER JA
+1A0E  ; [.2698.0020.0002.1A0E] # BUGINESE LETTER NYA
+1A0F  ; [.2699.0020.0002.1A0F] # BUGINESE LETTER NYCA
+1A10  ; [.269A.0020.0002.1A10] # BUGINESE LETTER YA
+1A11  ; [.269B.0020.0002.1A11] # BUGINESE LETTER RA
+1A12  ; [.269C.0020.0002.1A12] # BUGINESE LETTER LA
+1A13  ; [.269D.0020.0002.1A13] # BUGINESE LETTER VA
+1A14  ; [.269E.0020.0002.1A14] # BUGINESE LETTER SA
+1A15  ; [.269F.0020.0002.1A15] # BUGINESE LETTER A
+1A16  ; [.26A0.0020.0002.1A16] # BUGINESE LETTER HA
+1A17  ; [.26A1.0020.0002.1A17] # BUGINESE VOWEL SIGN I
+1A18  ; [.26A2.0020.0002.1A18] # BUGINESE VOWEL SIGN U
+1A19  ; [.26A3.0020.0002.1A19] # BUGINESE VOWEL SIGN E
+1A1A  ; [.26A4.0020.0002.1A1A] # BUGINESE VOWEL SIGN O
+1A1B  ; [.26A5.0020.0002.1A1B] # BUGINESE VOWEL SIGN AE
+1BC0  ; [.26A6.0020.0002.1BC0] # BATAK LETTER A
+1BC1  ; [.26A6.0020.0004.1BC1] # BATAK LETTER SIMALUNGUN A
+1BC2  ; [.26A7.0020.0002.1BC2] # BATAK LETTER HA
+1BC3  ; [.26A7.0020.0004.1BC3] # BATAK LETTER SIMALUNGUN HA
+1BC4  ; [.26A7.0020.0004.1BC4] # BATAK LETTER MANDAILING HA
+1BC5  ; [.26A8.0020.0002.1BC5] # BATAK LETTER BA
+1BC6  ; [.26A8.0020.0004.1BC6] # BATAK LETTER KARO BA
+1BC7  ; [.26A9.0020.0002.1BC7] # BATAK LETTER PA
+1BC8  ; [.26A9.0020.0004.1BC8] # BATAK LETTER SIMALUNGUN PA
+1BC9  ; [.26AA.0020.0002.1BC9] # BATAK LETTER NA
+1BCA  ; [.26AA.0020.0004.1BCA] # BATAK LETTER MANDAILING NA
+1BCB  ; [.26AB.0020.0002.1BCB] # BATAK LETTER WA
+1BCC  ; [.26AB.0020.0004.1BCC] # BATAK LETTER SIMALUNGUN WA
+1BCD  ; [.26AB.0020.0004.1BCD] # BATAK LETTER PAKPAK WA
+1BCE  ; [.26AC.0020.0002.1BCE] # BATAK LETTER GA
+1BCF  ; [.26AC.0020.0004.1BCF] # BATAK LETTER SIMALUNGUN GA
+1BD0  ; [.26AD.0020.0002.1BD0] # BATAK LETTER JA
+1BD1  ; [.26AE.0020.0002.1BD1] # BATAK LETTER DA
+1BD2  ; [.26AF.0020.0002.1BD2] # BATAK LETTER RA
+1BD3  ; [.26AF.0020.0004.1BD3] # BATAK LETTER SIMALUNGUN RA
+1BD4  ; [.26B0.0020.0002.1BD4] # BATAK LETTER MA
+1BD5  ; [.26B0.0020.0004.1BD5] # BATAK LETTER SIMALUNGUN MA
+1BD6  ; [.26B1.0020.0002.1BD6] # BATAK LETTER SOUTHERN TA
+1BD7  ; [.26B1.0020.0004.1BD7] # BATAK LETTER NORTHERN TA
+1BD8  ; [.26B2.0020.0002.1BD8] # BATAK LETTER SA
+1BD9  ; [.26B2.0020.0004.1BD9] # BATAK LETTER SIMALUNGUN SA
+1BDA  ; [.26B2.0020.0004.1BDA] # BATAK LETTER MANDAILING SA
+1BDB  ; [.26B3.0020.0002.1BDB] # BATAK LETTER YA
+1BDC  ; [.26B3.0020.0004.1BDC] # BATAK LETTER SIMALUNGUN YA
+1BDD  ; [.26B4.0020.0002.1BDD] # BATAK LETTER NGA
+1BDE  ; [.26B5.0020.0002.1BDE] # BATAK LETTER LA
+1BDF  ; [.26B5.0020.0004.1BDF] # BATAK LETTER SIMALUNGUN LA
+1BE0  ; [.26B6.0020.0002.1BE0] # BATAK LETTER NYA
+1BE1  ; [.26B7.0020.0002.1BE1] # BATAK LETTER CA
+1BE2  ; [.26B8.0020.0002.1BE2] # BATAK LETTER NDA
+1BE3  ; [.26B9.0020.0002.1BE3] # BATAK LETTER MBA
+1BE4  ; [.26BA.0020.0002.1BE4] # BATAK LETTER I
+1BE5  ; [.26BB.0020.0002.1BE5] # BATAK LETTER U
+1BE7  ; [.26BC.0020.0002.1BE7] # BATAK VOWEL SIGN E
+1BE8  ; [.26BC.0020.0004.1BE8] # BATAK VOWEL SIGN PAKPAK E
+1BE9  ; [.26BD.0020.0002.1BE9] # BATAK VOWEL SIGN EE
+1BEA  ; [.26BE.0020.0002.1BEA] # BATAK VOWEL SIGN I
+1BEB  ; [.26BE.0020.0004.1BEB] # BATAK VOWEL SIGN KARO I
+1BEC  ; [.26BF.0020.0002.1BEC] # BATAK VOWEL SIGN O
+1BED  ; [.26BF.0020.0004.1BED] # BATAK VOWEL SIGN KARO O
+1BEE  ; [.26C0.0020.0002.1BEE] # BATAK VOWEL SIGN U
+1BEF  ; [.26C0.0020.0004.1BEF] # BATAK VOWEL SIGN U FOR SIMALUNGUN SA
+1BF0  ; [.26C1.0020.0002.1BF0] # BATAK CONSONANT SIGN NG
+1BF1  ; [.26C2.0020.0002.1BF1] # BATAK CONSONANT SIGN H
+1BF2  ; [.26C3.0020.0002.1BF2] # BATAK PANGOLAT
+1BF3  ; [.26C4.0020.0002.1BF3] # BATAK PANONGONAN
+A930  ; [.26C5.0020.0002.A930] # REJANG LETTER KA
+A931  ; [.26C6.0020.0002.A931] # REJANG LETTER GA
+A932  ; [.26C7.0020.0002.A932] # REJANG LETTER NGA
+A933  ; [.26C8.0020.0002.A933] # REJANG LETTER TA
+A934  ; [.26C9.0020.0002.A934] # REJANG LETTER DA
+A935  ; [.26CA.0020.0002.A935] # REJANG LETTER NA
+A936  ; [.26CB.0020.0002.A936] # REJANG LETTER PA
+A937  ; [.26CC.0020.0002.A937] # REJANG LETTER BA
+A938  ; [.26CD.0020.0002.A938] # REJANG LETTER MA
+A939  ; [.26CE.0020.0002.A939] # REJANG LETTER CA
+A93A  ; [.26CF.0020.0002.A93A] # REJANG LETTER JA
+A93B  ; [.26D0.0020.0002.A93B] # REJANG LETTER NYA
+A93C  ; [.26D1.0020.0002.A93C] # REJANG LETTER SA
+A93D  ; [.26D2.0020.0002.A93D] # REJANG LETTER RA
+A93E  ; [.26D3.0020.0002.A93E] # REJANG LETTER LA
+A93F  ; [.26D4.0020.0002.A93F] # REJANG LETTER YA
+A940  ; [.26D5.0020.0002.A940] # REJANG LETTER WA
+A941  ; [.26D6.0020.0002.A941] # REJANG LETTER HA
+A942  ; [.26D7.0020.0002.A942] # REJANG LETTER MBA
+A943  ; [.26D8.0020.0002.A943] # REJANG LETTER NGGA
+A944  ; [.26D9.0020.0002.A944] # REJANG LETTER NDA
+A945  ; [.26DA.0020.0002.A945] # REJANG LETTER NYJA
+A946  ; [.26DB.0020.0002.A946] # REJANG LETTER A
+A947  ; [.26DC.0020.0002.A947] # REJANG VOWEL SIGN I
+A948  ; [.26DD.0020.0002.A948] # REJANG VOWEL SIGN U
+A949  ; [.26DE.0020.0002.A949] # REJANG VOWEL SIGN E
+A94A  ; [.26DF.0020.0002.A94A] # REJANG VOWEL SIGN AI
+A94B  ; [.26E0.0020.0002.A94B] # REJANG VOWEL SIGN O
+A94C  ; [.26E1.0020.0002.A94C] # REJANG VOWEL SIGN AU
+A94D  ; [.26E2.0020.0002.A94D] # REJANG VOWEL SIGN EU
+A94E  ; [.26E3.0020.0002.A94E] # REJANG VOWEL SIGN EA
+A94F  ; [.26E4.0020.0002.A94F] # REJANG CONSONANT SIGN NG
+A950  ; [.26E5.0020.0002.A950] # REJANG CONSONANT SIGN N
+A951  ; [.26E6.0020.0002.A951] # REJANG CONSONANT SIGN R
+A952  ; [.26E7.0020.0002.A952] # REJANG CONSONANT SIGN H
+A953  ; [.26E8.0020.0002.A953] # REJANG VIRAMA
+A90A  ; [.26E9.0020.0002.A90A] # KAYAH LI LETTER KA
+A90B  ; [.26EA.0020.0002.A90B] # KAYAH LI LETTER KHA
+A90C  ; [.26EB.0020.0002.A90C] # KAYAH LI LETTER GA
+A90D  ; [.26EC.0020.0002.A90D] # KAYAH LI LETTER NGA
+A90E  ; [.26ED.0020.0002.A90E] # KAYAH LI LETTER SA
+A90F  ; [.26EE.0020.0002.A90F] # KAYAH LI LETTER SHA
+A910  ; [.26EF.0020.0002.A910] # KAYAH LI LETTER ZA
+A911  ; [.26F0.0020.0002.A911] # KAYAH LI LETTER NYA
+A912  ; [.26F1.0020.0002.A912] # KAYAH LI LETTER TA
+A913  ; [.26F2.0020.0002.A913] # KAYAH LI LETTER HTA
+A914  ; [.26F3.0020.0002.A914] # KAYAH LI LETTER NA
+A915  ; [.26F4.0020.0002.A915] # KAYAH LI LETTER PA
+A916  ; [.26F5.0020.0002.A916] # KAYAH LI LETTER PHA
+A917  ; [.26F6.0020.0002.A917] # KAYAH LI LETTER MA
+A918  ; [.26F7.0020.0002.A918] # KAYAH LI LETTER DA
+A919  ; [.26F8.0020.0002.A919] # KAYAH LI LETTER BA
+A91A  ; [.26F9.0020.0002.A91A] # KAYAH LI LETTER RA
+A91B  ; [.26FA.0020.0002.A91B] # KAYAH LI LETTER YA
+A91C  ; [.26FB.0020.0002.A91C] # KAYAH LI LETTER LA
+A91D  ; [.26FC.0020.0002.A91D] # KAYAH LI LETTER WA
+A91E  ; [.26FD.0020.0002.A91E] # KAYAH LI LETTER THA
+A91F  ; [.26FE.0020.0002.A91F] # KAYAH LI LETTER HA
+A920  ; [.26FF.0020.0002.A920] # KAYAH LI LETTER VA
+A921  ; [.2700.0020.0002.A921] # KAYAH LI LETTER CA
+A922  ; [.2701.0020.0002.A922] # KAYAH LI LETTER A
+A923  ; [.2702.0020.0002.A923] # KAYAH LI LETTER OE
+A924  ; [.2703.0020.0002.A924] # KAYAH LI LETTER I
+A925  ; [.2704.0020.0002.A925] # KAYAH LI LETTER OO
+A926  ; [.2705.0020.0002.A926] # KAYAH LI VOWEL UE
+A927  ; [.2706.0020.0002.A927] # KAYAH LI VOWEL E
+A928  ; [.2707.0020.0002.A928] # KAYAH LI VOWEL U
+A929  ; [.2708.0020.0002.A929] # KAYAH LI VOWEL EE
+A92A  ; [.2709.0020.0002.A92A] # KAYAH LI VOWEL O
+1000  ; [.270A.0020.0002.1000] # MYANMAR LETTER KA
+1075  ; [.270B.0020.0002.1075] # MYANMAR LETTER SHAN KA
+1001  ; [.270C.0020.0002.1001] # MYANMAR LETTER KHA
+1076  ; [.270D.0020.0002.1076] # MYANMAR LETTER SHAN KHA
+1002  ; [.270E.0020.0002.1002] # MYANMAR LETTER GA
+1077  ; [.270F.0020.0002.1077] # MYANMAR LETTER SHAN GA
+AA60  ; [.2710.0020.0002.AA60] # MYANMAR LETTER KHAMTI GA
+1003  ; [.2711.0020.0002.1003] # MYANMAR LETTER GHA
+1004  ; [.2712.0020.0002.1004] # MYANMAR LETTER NGA
+105A  ; [.2713.0020.0002.105A] # MYANMAR LETTER MON NGA
+1005  ; [.2714.0020.0002.1005] # MYANMAR LETTER CA
+1078  ; [.2715.0020.0002.1078] # MYANMAR LETTER SHAN CA
+AA61  ; [.2716.0020.0002.AA61] # MYANMAR LETTER KHAMTI CA
+1006  ; [.2717.0020.0002.1006] # MYANMAR LETTER CHA
+AA62  ; [.2718.0020.0002.AA62] # MYANMAR LETTER KHAMTI CHA
+1007  ; [.2719.0020.0002.1007] # MYANMAR LETTER JA
+AA63  ; [.271A.0020.0002.AA63] # MYANMAR LETTER KHAMTI JA
+1079  ; [.271B.0020.0002.1079] # MYANMAR LETTER SHAN ZA
+AA72  ; [.271C.0020.0002.AA72] # MYANMAR LETTER KHAMTI ZA
+1008  ; [.271D.0020.0002.1008] # MYANMAR LETTER JHA
+105B  ; [.271E.0020.0002.105B] # MYANMAR LETTER MON JHA
+AA64  ; [.271F.0020.0002.AA64] # MYANMAR LETTER KHAMTI JHA
+1061  ; [.2720.0020.0002.1061] # MYANMAR LETTER SGAW KAREN SHA
+1009  ; [.2721.0020.0002.1009] # MYANMAR LETTER NYA
+107A  ; [.2722.0020.0002.107A] # MYANMAR LETTER SHAN NYA
+AA65  ; [.2723.0020.0002.AA65] # MYANMAR LETTER KHAMTI NYA
+100A  ; [.2724.0020.0002.100A] # MYANMAR LETTER NNYA
+100B  ; [.2725.0020.0002.100B] # MYANMAR LETTER TTA
+AA66  ; [.2726.0020.0002.AA66] # MYANMAR LETTER KHAMTI TTA
+100C  ; [.2727.0020.0002.100C] # MYANMAR LETTER TTHA
+AA67  ; [.2728.0020.0002.AA67] # MYANMAR LETTER KHAMTI TTHA
+100D  ; [.2729.0020.0002.100D] # MYANMAR LETTER DDA
+AA68  ; [.272A.0020.0002.AA68] # MYANMAR LETTER KHAMTI DDA
+100E  ; [.272B.0020.0002.100E] # MYANMAR LETTER DDHA
+AA69  ; [.272C.0020.0002.AA69] # MYANMAR LETTER KHAMTI DDHA
+100F  ; [.272D.0020.0002.100F] # MYANMAR LETTER NNA
+106E  ; [.272E.0020.0002.106E] # MYANMAR LETTER EASTERN PWO KAREN NNA
+1010  ; [.272F.0020.0002.1010] # MYANMAR LETTER TA
+1011  ; [.2730.0020.0002.1011] # MYANMAR LETTER THA
+1012  ; [.2731.0020.0002.1012] # MYANMAR LETTER DA
+107B  ; [.2732.0020.0002.107B] # MYANMAR LETTER SHAN DA
+1013  ; [.2733.0020.0002.1013] # MYANMAR LETTER DHA
+AA6A  ; [.2734.0020.0002.AA6A] # MYANMAR LETTER KHAMTI DHA
+1014  ; [.2735.0020.0002.1014] # MYANMAR LETTER NA
+107C  ; [.2736.0020.0002.107C] # MYANMAR LETTER SHAN NA
+AA6B  ; [.2737.0020.0002.AA6B] # MYANMAR LETTER KHAMTI NA
+105E  ; [.2738.0020.0002.105E] # MYANMAR CONSONANT SIGN MON MEDIAL NA
+1015  ; [.2739.0020.0002.1015] # MYANMAR LETTER PA
+1016  ; [.273A.0020.0002.1016] # MYANMAR LETTER PHA
+107D  ; [.273B.0020.0002.107D] # MYANMAR LETTER SHAN PHA
+107E  ; [.273C.0020.0002.107E] # MYANMAR LETTER SHAN FA
+AA6F  ; [.273D.0020.0002.AA6F] # MYANMAR LETTER KHAMTI FA
+108E  ; [.273E.0020.0002.108E] # MYANMAR LETTER RUMAI PALAUNG FA
+1017  ; [.273F.0020.0002.1017] # MYANMAR LETTER BA
+107F  ; [.2740.0020.0002.107F] # MYANMAR LETTER SHAN BA
+1018  ; [.2741.0020.0002.1018] # MYANMAR LETTER BHA
+1019  ; [.2742.0020.0002.1019] # MYANMAR LETTER MA
+105F  ; [.2743.0020.0002.105F] # MYANMAR CONSONANT SIGN MON MEDIAL MA
+101A  ; [.2744.0020.0002.101A] # MYANMAR LETTER YA
+103B  ; [.2745.0020.0002.103B] # MYANMAR CONSONANT SIGN MEDIAL YA
+101B  ; [.2746.0020.0002.101B] # MYANMAR LETTER RA
+AA73  ; [.2747.0020.0002.AA73] # MYANMAR LETTER KHAMTI RA
+AA7A  ; [.2748.0020.0002.AA7A] # MYANMAR LETTER AITON RA
+103C  ; [.2749.0020.0002.103C] # MYANMAR CONSONANT SIGN MEDIAL RA
+101C  ; [.274A.0020.0002.101C] # MYANMAR LETTER LA
+1060  ; [.274B.0020.0002.1060] # MYANMAR CONSONANT SIGN MON MEDIAL LA
+101D  ; [.274C.0020.0002.101D] # MYANMAR LETTER WA
+103D  ; [.274D.0020.0002.103D] # MYANMAR CONSONANT SIGN MEDIAL WA
+1082  ; [.274E.0020.0002.1082] # MYANMAR CONSONANT SIGN SHAN MEDIAL WA
+1080  ; [.274F.0020.0002.1080] # MYANMAR LETTER SHAN THA
+1050  ; [.2750.0020.0002.1050] # MYANMAR LETTER SHA
+1051  ; [.2751.0020.0002.1051] # MYANMAR LETTER SSA
+1065  ; [.2752.0020.0002.1065] # MYANMAR LETTER WESTERN PWO KAREN THA
+101E  ; [.2753.0020.0002.101E] # MYANMAR LETTER SA
+103F  ; [.2753.0020.0004.103F][.278A.0020.0004.103F][.2753.0020.0004.103F] # MYANMAR LETTER GREAT SA
+AA6C  ; [.2754.0020.0002.AA6C] # MYANMAR LETTER KHAMTI SA
+101F  ; [.2755.0020.0002.101F] # MYANMAR LETTER HA
+1081  ; [.2756.0020.0002.1081] # MYANMAR LETTER SHAN HA
+AA6D  ; [.2757.0020.0002.AA6D] # MYANMAR LETTER KHAMTI HA
+103E  ; [.2758.0020.0002.103E] # MYANMAR CONSONANT SIGN MEDIAL HA
+AA6E  ; [.2759.0020.0002.AA6E] # MYANMAR LETTER KHAMTI HHA
+AA71  ; [.275A.0020.0002.AA71] # MYANMAR LETTER KHAMTI XA
+1020  ; [.275B.0020.0002.1020] # MYANMAR LETTER LLA
+105C  ; [.275C.0020.0002.105C] # MYANMAR LETTER MON BBA
+105D  ; [.275D.0020.0002.105D] # MYANMAR LETTER MON BBE
+106F  ; [.275E.0020.0002.106F] # MYANMAR LETTER EASTERN PWO KAREN YWA
+1070  ; [.275F.0020.0002.1070] # MYANMAR LETTER EASTERN PWO KAREN GHWA
+1066  ; [.2760.0020.0002.1066] # MYANMAR LETTER WESTERN PWO KAREN PWA
+1021  ; [.2761.0020.0002.1021] # MYANMAR LETTER A
+1022  ; [.2762.0020.0002.1022] # MYANMAR LETTER SHAN A
+1023  ; [.2763.0020.0002.1023] # MYANMAR LETTER I
+1024  ; [.2764.0020.0002.1024] # MYANMAR LETTER II
+1025  ; [.2765.0020.0002.1025] # MYANMAR LETTER U
+1026  ; [.2766.0020.0002.1026] # MYANMAR LETTER UU
+1025 102E ; [.2766.0020.0002.1026] # MYANMAR LETTER UU
+1052  ; [.2767.0020.0002.1052] # MYANMAR LETTER VOCALIC R
+1053  ; [.2768.0020.0002.1053] # MYANMAR LETTER VOCALIC RR
+1054  ; [.2769.0020.0002.1054] # MYANMAR LETTER VOCALIC L
+1055  ; [.276A.0020.0002.1055] # MYANMAR LETTER VOCALIC LL
+1027  ; [.276B.0020.0002.1027] # MYANMAR LETTER E
+1028  ; [.276C.0020.0002.1028] # MYANMAR LETTER MON E
+1029  ; [.276D.0020.0002.1029] # MYANMAR LETTER O
+102A  ; [.276E.0020.0002.102A] # MYANMAR LETTER AU
+102C  ; [.276F.0020.0002.102C] # MYANMAR VOWEL SIGN AA
+102B  ; [.276F.0020.0004.102B] # MYANMAR VOWEL SIGN TALL AA
+1083  ; [.2770.0020.0002.1083] # MYANMAR VOWEL SIGN SHAN AA
+1072  ; [.2771.0020.0002.1072] # MYANMAR VOWEL SIGN KAYAH OE
+109C  ; [.2772.0020.0002.109C] # MYANMAR VOWEL SIGN AITON A
+102D  ; [.2773.0020.0002.102D] # MYANMAR VOWEL SIGN I
+1071  ; [.2774.0020.0002.1071] # MYANMAR VOWEL SIGN GEBA KAREN I
+102E  ; [.2775.0020.0002.102E] # MYANMAR VOWEL SIGN II
+1033  ; [.2776.0020.0002.1033] # MYANMAR VOWEL SIGN MON II
+102F  ; [.2777.0020.0002.102F] # MYANMAR VOWEL SIGN U
+1073  ; [.2778.0020.0002.1073] # MYANMAR VOWEL SIGN KAYAH U
+1074  ; [.2779.0020.0002.1074] # MYANMAR VOWEL SIGN KAYAH EE
+1030  ; [.277A.0020.0002.1030] # MYANMAR VOWEL SIGN UU
+1056  ; [.277B.0020.0002.1056] # MYANMAR VOWEL SIGN VOCALIC R
+1057  ; [.277C.0020.0002.1057] # MYANMAR VOWEL SIGN VOCALIC RR
+1058  ; [.277D.0020.0002.1058] # MYANMAR VOWEL SIGN VOCALIC L
+1059  ; [.277E.0020.0002.1059] # MYANMAR VOWEL SIGN VOCALIC LL
+1031  ; [.277F.0020.0002.1031] # MYANMAR VOWEL SIGN E
+1084  ; [.2780.0020.0002.1084] # MYANMAR VOWEL SIGN SHAN E
+1035  ; [.2781.0020.0002.1035] # MYANMAR VOWEL SIGN E ABOVE
+1085  ; [.2782.0020.0002.1085] # MYANMAR VOWEL SIGN SHAN E ABOVE
+1032  ; [.2783.0020.0002.1032] # MYANMAR VOWEL SIGN AI
+109D  ; [.2784.0020.0002.109D] # MYANMAR VOWEL SIGN AITON AI
+1034  ; [.2785.0020.0002.1034] # MYANMAR VOWEL SIGN MON O
+1062  ; [.2786.0020.0002.1062] # MYANMAR VOWEL SIGN SGAW KAREN EU
+1067  ; [.2787.0020.0002.1067] # MYANMAR VOWEL SIGN WESTERN PWO KAREN EU
+1068  ; [.2788.0020.0002.1068] # MYANMAR VOWEL SIGN WESTERN PWO KAREN UE
+1086  ; [.2789.0020.0002.1086] # MYANMAR VOWEL SIGN SHAN FINAL Y
+1039  ; [.278A.0020.0002.1039] # MYANMAR SIGN VIRAMA
+103A  ; [.278B.0020.0002.103A] # MYANMAR SIGN ASAT
+1063  ; [.278C.0020.0002.1063] # MYANMAR TONE MARK SGAW KAREN HATHI
+1064  ; [.278D.0020.0002.1064] # MYANMAR TONE MARK SGAW KAREN KE PHO
+1069  ; [.278E.0020.0002.1069] # MYANMAR SIGN WESTERN PWO KAREN TONE-1
+106A  ; [.278F.0020.0002.106A] # MYANMAR SIGN WESTERN PWO KAREN TONE-2
+106B  ; [.2790.0020.0002.106B] # MYANMAR SIGN WESTERN PWO KAREN TONE-3
+106C  ; [.2791.0020.0002.106C] # MYANMAR SIGN WESTERN PWO KAREN TONE-4
+106D  ; [.2792.0020.0002.106D] # MYANMAR SIGN WESTERN PWO KAREN TONE-5
+1087  ; [.2793.0020.0002.1087] # MYANMAR SIGN SHAN TONE-2
+108B  ; [.2794.0020.0002.108B] # MYANMAR SIGN SHAN COUNCIL TONE-2
+1088  ; [.2795.0020.0002.1088] # MYANMAR SIGN SHAN TONE-3
+108C  ; [.2796.0020.0002.108C] # MYANMAR SIGN SHAN COUNCIL TONE-3
+1089  ; [.2797.0020.0002.1089] # MYANMAR SIGN SHAN TONE-5
+108A  ; [.2798.0020.0002.108A] # MYANMAR SIGN SHAN TONE-6
+108F  ; [.2799.0020.0002.108F] # MYANMAR SIGN RUMAI PALAUNG TONE-5
+109A  ; [.279A.0020.0002.109A] # MYANMAR SIGN KHAMTI TONE-1
+109B  ; [.279B.0020.0002.109B] # MYANMAR SIGN KHAMTI TONE-3
+AA7B  ; [.279C.0020.0002.AA7B] # MYANMAR SIGN PAO KAREN TONE
+AA74  ; [.279D.0020.0002.AA74] # MYANMAR LOGOGRAM KHAMTI OAY
+AA75  ; [.279E.0020.0002.AA75] # MYANMAR LOGOGRAM KHAMTI QN
+AA76  ; [.279F.0020.0002.AA76] # MYANMAR LOGOGRAM KHAMTI HM
+11103 ; [.27A0.0020.0002.11103] # CHAKMA LETTER AA
+11104 ; [.27A1.0020.0002.11104] # CHAKMA LETTER I
+11105 ; [.27A2.0020.0002.11105] # CHAKMA LETTER U
+11106 ; [.27A3.0020.0002.11106] # CHAKMA LETTER E
+11107 ; [.27A4.0020.0002.11107] # CHAKMA LETTER KAA
+11108 ; [.27A5.0020.0002.11108] # CHAKMA LETTER KHAA
+11109 ; [.27A6.0020.0002.11109] # CHAKMA LETTER GAA
+1110A ; [.27A7.0020.0002.1110A] # CHAKMA LETTER GHAA
+1110B ; [.27A8.0020.0002.1110B] # CHAKMA LETTER NGAA
+1110C ; [.27A9.0020.0002.1110C] # CHAKMA LETTER CAA
+1110D ; [.27AA.0020.0002.1110D] # CHAKMA LETTER CHAA
+1110E ; [.27AB.0020.0002.1110E] # CHAKMA LETTER JAA
+1110F ; [.27AC.0020.0002.1110F] # CHAKMA LETTER JHAA
+11110 ; [.27AD.0020.0002.11110] # CHAKMA LETTER NYAA
+11111 ; [.27AE.0020.0002.11111] # CHAKMA LETTER TTAA
+11112 ; [.27AF.0020.0002.11112] # CHAKMA LETTER TTHAA
+11113 ; [.27B0.0020.0002.11113] # CHAKMA LETTER DDAA
+11114 ; [.27B1.0020.0002.11114] # CHAKMA LETTER DDHAA
+11115 ; [.27B2.0020.0002.11115] # CHAKMA LETTER NNAA
+11116 ; [.27B3.0020.0002.11116] # CHAKMA LETTER TAA
+11117 ; [.27B4.0020.0002.11117] # CHAKMA LETTER THAA
+11118 ; [.27B5.0020.0002.11118] # CHAKMA LETTER DAA
+11119 ; [.27B6.0020.0002.11119] # CHAKMA LETTER DHAA
+1111A ; [.27B7.0020.0002.1111A] # CHAKMA LETTER NAA
+1111B ; [.27B8.0020.0002.1111B] # CHAKMA LETTER PAA
+1111C ; [.27B9.0020.0002.1111C] # CHAKMA LETTER PHAA
+1111D ; [.27BA.0020.0002.1111D] # CHAKMA LETTER BAA
+1111E ; [.27BB.0020.0002.1111E] # CHAKMA LETTER BHAA
+1111F ; [.27BC.0020.0002.1111F] # CHAKMA LETTER MAA
+11120 ; [.27BD.0020.0002.11120] # CHAKMA LETTER YYAA
+11121 ; [.27BE.0020.0002.11121] # CHAKMA LETTER YAA
+11122 ; [.27BF.0020.0002.11122] # CHAKMA LETTER RAA
+11123 ; [.27C0.0020.0002.11123] # CHAKMA LETTER LAA
+11124 ; [.27C1.0020.0002.11124] # CHAKMA LETTER WAA
+11125 ; [.27C2.0020.0002.11125] # CHAKMA LETTER SAA
+11126 ; [.27C3.0020.0002.11126] # CHAKMA LETTER HAA
+11127 ; [.27C4.0020.0002.11127] # CHAKMA VOWEL SIGN A
+11128 ; [.27C5.0020.0002.11128] # CHAKMA VOWEL SIGN I
+11129 ; [.27C6.0020.0002.11129] # CHAKMA VOWEL SIGN II
+1112A ; [.27C7.0020.0002.1112A] # CHAKMA VOWEL SIGN U
+1112B ; [.27C8.0020.0002.1112B] # CHAKMA VOWEL SIGN UU
+1112C ; [.27C9.0020.0002.1112C] # CHAKMA VOWEL SIGN E
+1112D ; [.27CA.0020.0002.1112D] # CHAKMA VOWEL SIGN AI
+1112E ; [.27CB.0020.0002.1112E] # CHAKMA VOWEL SIGN O
+11131 11127 ; [.27CB.0020.0002.1112E] # CHAKMA VOWEL SIGN O
+1112F ; [.27CC.0020.0002.1112F] # CHAKMA VOWEL SIGN AU
+11132 11127 ; [.27CC.0020.0002.1112F] # CHAKMA VOWEL SIGN AU
+11130 ; [.27CD.0020.0002.11130] # CHAKMA VOWEL SIGN OI
+11131 ; [.27CE.0020.0002.11131] # CHAKMA O MARK
+11132 ; [.27CF.0020.0002.11132] # CHAKMA AU MARK
+11133 ; [.27D0.0020.0002.11133] # CHAKMA VIRAMA
+11134 ; [.27D1.0020.0002.11134] # CHAKMA MAAYYAA
+1780  ; [.27D2.0020.0002.1780] # KHMER LETTER KA
+1781  ; [.27D3.0020.0002.1781] # KHMER LETTER KHA
+1782  ; [.27D4.0020.0002.1782] # KHMER LETTER KO
+1783  ; [.27D5.0020.0002.1783] # KHMER LETTER KHO
+1784  ; [.27D6.0020.0002.1784] # KHMER LETTER NGO
+1785  ; [.27D7.0020.0002.1785] # KHMER LETTER CA
+1786  ; [.27D8.0020.0002.1786] # KHMER LETTER CHA
+1787  ; [.27D9.0020.0002.1787] # KHMER LETTER CO
+1788  ; [.27DA.0020.0002.1788] # KHMER LETTER CHO
+1789  ; [.27DB.0020.0002.1789] # KHMER LETTER NYO
+178A  ; [.27DC.0020.0002.178A] # KHMER LETTER DA
+178B  ; [.27DD.0020.0002.178B] # KHMER LETTER TTHA
+178C  ; [.27DE.0020.0002.178C] # KHMER LETTER DO
+178D  ; [.27DF.0020.0002.178D] # KHMER LETTER TTHO
+178E  ; [.27E0.0020.0002.178E] # KHMER LETTER NNO
+178F  ; [.27E1.0020.0002.178F] # KHMER LETTER TA
+1790  ; [.27E2.0020.0002.1790] # KHMER LETTER THA
+1791  ; [.27E3.0020.0002.1791] # KHMER LETTER TO
+1792  ; [.27E4.0020.0002.1792] # KHMER LETTER THO
+1793  ; [.27E5.0020.0002.1793] # KHMER LETTER NO
+1794  ; [.27E6.0020.0002.1794] # KHMER LETTER BA
+1795  ; [.27E7.0020.0002.1795] # KHMER LETTER PHA
+1796  ; [.27E8.0020.0002.1796] # KHMER LETTER PO
+1797  ; [.27E9.0020.0002.1797] # KHMER LETTER PHO
+1798  ; [.27EA.0020.0002.1798] # KHMER LETTER MO
+1799  ; [.27EB.0020.0002.1799] # KHMER LETTER YO
+179A  ; [.27EC.0020.0002.179A] # KHMER LETTER RO
+179B  ; [.27ED.0020.0002.179B] # KHMER LETTER LO
+179C  ; [.27EE.0020.0002.179C] # KHMER LETTER VO
+179D  ; [.27EF.0020.0002.179D] # KHMER LETTER SHA
+179E  ; [.27F0.0020.0002.179E] # KHMER LETTER SSO
+179F  ; [.27F1.0020.0002.179F] # KHMER LETTER SA
+17A0  ; [.27F2.0020.0002.17A0] # KHMER LETTER HA
+17A1  ; [.27F3.0020.0002.17A1] # KHMER LETTER LA
+17A2  ; [.27F4.0020.0002.17A2] # KHMER LETTER QA
+17DC  ; [.27F5.0020.0002.17DC] # KHMER SIGN AVAKRAHASANYA
+17A3  ; [.27F6.0020.0002.17A3] # KHMER INDEPENDENT VOWEL QAQ
+17A4  ; [.27F7.0020.0002.17A4] # KHMER INDEPENDENT VOWEL QAA
+17A5  ; [.27F8.0020.0002.17A5] # KHMER INDEPENDENT VOWEL QI
+17A6  ; [.27F9.0020.0002.17A6] # KHMER INDEPENDENT VOWEL QII
+17A7  ; [.27FA.0020.0002.17A7] # KHMER INDEPENDENT VOWEL QU
+17A8  ; [.27FB.0020.0002.17A8] # KHMER INDEPENDENT VOWEL QUK
+17A9  ; [.27FC.0020.0002.17A9] # KHMER INDEPENDENT VOWEL QUU
+17AA  ; [.27FD.0020.0002.17AA] # KHMER INDEPENDENT VOWEL QUUV
+17AB  ; [.27FE.0020.0002.17AB] # KHMER INDEPENDENT VOWEL RY
+17AC  ; [.27FF.0020.0002.17AC] # KHMER INDEPENDENT VOWEL RYY
+17AD  ; [.2800.0020.0002.17AD] # KHMER INDEPENDENT VOWEL LY
+17AE  ; [.2801.0020.0002.17AE] # KHMER INDEPENDENT VOWEL LYY
+17AF  ; [.2802.0020.0002.17AF] # KHMER INDEPENDENT VOWEL QE
+17B0  ; [.2803.0020.0002.17B0] # KHMER INDEPENDENT VOWEL QAI
+17B1  ; [.2804.0020.0002.17B1] # KHMER INDEPENDENT VOWEL QOO TYPE ONE
+17B2  ; [.2805.0020.0002.17B2] # KHMER INDEPENDENT VOWEL QOO TYPE TWO
+17B3  ; [.2806.0020.0002.17B3] # KHMER INDEPENDENT VOWEL QAU
+17B6  ; [.2807.0020.0002.17B6] # KHMER VOWEL SIGN AA
+17B7  ; [.2808.0020.0002.17B7] # KHMER VOWEL SIGN I
+17B8  ; [.2809.0020.0002.17B8] # KHMER VOWEL SIGN II
+17B9  ; [.280A.0020.0002.17B9] # KHMER VOWEL SIGN Y
+17BA  ; [.280B.0020.0002.17BA] # KHMER VOWEL SIGN YY
+17BB  ; [.280C.0020.0002.17BB] # KHMER VOWEL SIGN U
+17BC  ; [.280D.0020.0002.17BC] # KHMER VOWEL SIGN UU
+17BD  ; [.280E.0020.0002.17BD] # KHMER VOWEL SIGN UA
+17BE  ; [.280F.0020.0002.17BE] # KHMER VOWEL SIGN OE
+17BF  ; [.2810.0020.0002.17BF] # KHMER VOWEL SIGN YA
+17C0  ; [.2811.0020.0002.17C0] # KHMER VOWEL SIGN IE
+17C1  ; [.2812.0020.0002.17C1] # KHMER VOWEL SIGN E
+17C2  ; [.2813.0020.0002.17C2] # KHMER VOWEL SIGN AE
+17C3  ; [.2814.0020.0002.17C3] # KHMER VOWEL SIGN AI
+17C4  ; [.2815.0020.0002.17C4] # KHMER VOWEL SIGN OO
+17C5  ; [.2816.0020.0002.17C5] # KHMER VOWEL SIGN AU
+17D2  ; [.2817.0020.0002.17D2] # KHMER SIGN COENG
+1950  ; [.2818.0020.0002.1950] # TAI LE LETTER KA
+1951  ; [.2819.0020.0002.1951] # TAI LE LETTER XA
+1952  ; [.281A.0020.0002.1952] # TAI LE LETTER NGA
+1953  ; [.281B.0020.0002.1953] # TAI LE LETTER TSA
+1954  ; [.281C.0020.0002.1954] # TAI LE LETTER SA
+1955  ; [.281D.0020.0002.1955] # TAI LE LETTER YA
+1956  ; [.281E.0020.0002.1956] # TAI LE LETTER TA
+1957  ; [.281F.0020.0002.1957] # TAI LE LETTER THA
+1958  ; [.2820.0020.0002.1958] # TAI LE LETTER LA
+1959  ; [.2821.0020.0002.1959] # TAI LE LETTER PA
+195A  ; [.2822.0020.0002.195A] # TAI LE LETTER PHA
+195B  ; [.2823.0020.0002.195B] # TAI LE LETTER MA
+195C  ; [.2824.0020.0002.195C] # TAI LE LETTER FA
+195D  ; [.2825.0020.0002.195D] # TAI LE LETTER VA
+195E  ; [.2826.0020.0002.195E] # TAI LE LETTER HA
+195F  ; [.2827.0020.0002.195F] # TAI LE LETTER QA
+1960  ; [.2828.0020.0002.1960] # TAI LE LETTER KHA
+1961  ; [.2829.0020.0002.1961] # TAI LE LETTER TSHA
+1962  ; [.282A.0020.0002.1962] # TAI LE LETTER NA
+1963  ; [.282B.0020.0002.1963] # TAI LE LETTER A
+1964  ; [.282C.0020.0002.1964] # TAI LE LETTER I
+1965  ; [.282D.0020.0002.1965] # TAI LE LETTER EE
+1966  ; [.282E.0020.0002.1966] # TAI LE LETTER EH
+1967  ; [.282F.0020.0002.1967] # TAI LE LETTER U
+1968  ; [.2830.0020.0002.1968] # TAI LE LETTER OO
+1969  ; [.2831.0020.0002.1969] # TAI LE LETTER O
+196A  ; [.2832.0020.0002.196A] # TAI LE LETTER UE
+196B  ; [.2833.0020.0002.196B] # TAI LE LETTER E
+196C  ; [.2834.0020.0002.196C] # TAI LE LETTER AUE
+196D  ; [.2835.0020.0002.196D] # TAI LE LETTER AI
+1970  ; [.2836.0020.0002.1970] # TAI LE LETTER TONE-2
+1971  ; [.2837.0020.0002.1971] # TAI LE LETTER TONE-3
+1972  ; [.2838.0020.0002.1972] # TAI LE LETTER TONE-4
+1973  ; [.2839.0020.0002.1973] # TAI LE LETTER TONE-5
+1974  ; [.283A.0020.0002.1974] # TAI LE LETTER TONE-6
+1980  ; [.283B.0020.0002.1980] # NEW TAI LUE LETTER HIGH QA
+1981  ; [.283C.0020.0002.1981] # NEW TAI LUE LETTER LOW QA
+1982  ; [.283D.0020.0002.1982] # NEW TAI LUE LETTER HIGH KA
+1983  ; [.283E.0020.0002.1983] # NEW TAI LUE LETTER HIGH XA
+1984  ; [.283F.0020.0002.1984] # NEW TAI LUE LETTER HIGH NGA
+1985  ; [.2840.0020.0002.1985] # NEW TAI LUE LETTER LOW KA
+1986  ; [.2841.0020.0002.1986] # NEW TAI LUE LETTER LOW XA
+1987  ; [.2842.0020.0002.1987] # NEW TAI LUE LETTER LOW NGA
+1988  ; [.2843.0020.0002.1988] # NEW TAI LUE LETTER HIGH TSA
+1989  ; [.2844.0020.0002.1989] # NEW TAI LUE LETTER HIGH SA
+198A  ; [.2845.0020.0002.198A] # NEW TAI LUE LETTER HIGH YA
+198B  ; [.2846.0020.0002.198B] # NEW TAI LUE LETTER LOW TSA
+198C  ; [.2847.0020.0002.198C] # NEW TAI LUE LETTER LOW SA
+198D  ; [.2848.0020.0002.198D] # NEW TAI LUE LETTER LOW YA
+198E  ; [.2849.0020.0002.198E] # NEW TAI LUE LETTER HIGH TA
+198F  ; [.284A.0020.0002.198F] # NEW TAI LUE LETTER HIGH THA
+1990  ; [.284B.0020.0002.1990] # NEW TAI LUE LETTER HIGH NA
+1991  ; [.284C.0020.0002.1991] # NEW TAI LUE LETTER LOW TA
+1992  ; [.284D.0020.0002.1992] # NEW TAI LUE LETTER LOW THA
+1993  ; [.284E.0020.0002.1993] # NEW TAI LUE LETTER LOW NA
+1994  ; [.284F.0020.0002.1994] # NEW TAI LUE LETTER HIGH PA
+1995  ; [.2850.0020.0002.1995] # NEW TAI LUE LETTER HIGH PHA
+1996  ; [.2851.0020.0002.1996] # NEW TAI LUE LETTER HIGH MA
+1997  ; [.2852.0020.0002.1997] # NEW TAI LUE LETTER LOW PA
+1998  ; [.2853.0020.0002.1998] # NEW TAI LUE LETTER LOW PHA
+1999  ; [.2854.0020.0002.1999] # NEW TAI LUE LETTER LOW MA
+199A  ; [.2855.0020.0002.199A] # NEW TAI LUE LETTER HIGH FA
+199B  ; [.2856.0020.0002.199B] # NEW TAI LUE LETTER HIGH VA
+199C  ; [.2857.0020.0002.199C] # NEW TAI LUE LETTER HIGH LA
+19DE  ; [.2857.0020.0004.19DE][.286D.0020.0004.19DE] # NEW TAI LUE SIGN LAE
+19DF  ; [.2857.0020.0004.19DF][.286D.0020.0004.19DF][.2878.0020.0004.19DF] # NEW TAI LUE SIGN LAEV
+199D  ; [.2858.0020.0002.199D] # NEW TAI LUE LETTER LOW FA
+199E  ; [.2859.0020.0002.199E] # NEW TAI LUE LETTER LOW VA
+199F  ; [.285A.0020.0002.199F] # NEW TAI LUE LETTER LOW LA
+19A0  ; [.285B.0020.0002.19A0] # NEW TAI LUE LETTER HIGH HA
+19A1  ; [.285C.0020.0002.19A1] # NEW TAI LUE LETTER HIGH DA
+19A2  ; [.285D.0020.0002.19A2] # NEW TAI LUE LETTER HIGH BA
+19A3  ; [.285E.0020.0002.19A3] # NEW TAI LUE LETTER LOW HA
+19A4  ; [.285F.0020.0002.19A4] # NEW TAI LUE LETTER LOW DA
+19A5  ; [.2860.0020.0002.19A5] # NEW TAI LUE LETTER LOW BA
+19A6  ; [.2861.0020.0002.19A6] # NEW TAI LUE LETTER HIGH KVA
+19A7  ; [.2862.0020.0002.19A7] # NEW TAI LUE LETTER HIGH XVA
+19A8  ; [.2863.0020.0002.19A8] # NEW TAI LUE LETTER LOW KVA
+19A9  ; [.2864.0020.0002.19A9] # NEW TAI LUE LETTER LOW XVA
+19AA  ; [.2865.0020.0002.19AA] # NEW TAI LUE LETTER HIGH SUA
+19AB  ; [.2866.0020.0002.19AB] # NEW TAI LUE LETTER LOW SUA
+19B0  ; [.2867.0020.0002.19B0] # NEW TAI LUE VOWEL SIGN VOWEL SHORTENER
+19B1  ; [.2868.0020.0002.19B1] # NEW TAI LUE VOWEL SIGN AA
+19B2  ; [.2869.0020.0002.19B2] # NEW TAI LUE VOWEL SIGN II
+19B3  ; [.286A.0020.0002.19B3] # NEW TAI LUE VOWEL SIGN U
+19B4  ; [.286B.0020.0002.19B4] # NEW TAI LUE VOWEL SIGN UU
+19B5  ; [.286C.0020.0002.19B5] # NEW TAI LUE VOWEL SIGN E
+19B6  ; [.286D.0020.0002.19B6] # NEW TAI LUE VOWEL SIGN AE
+19B7  ; [.286E.0020.0002.19B7] # NEW TAI LUE VOWEL SIGN O
+19B8  ; [.286F.0020.0002.19B8] # NEW TAI LUE VOWEL SIGN OA
+19B9  ; [.2870.0020.0002.19B9] # NEW TAI LUE VOWEL SIGN UE
+19BA  ; [.2871.0020.0002.19BA] # NEW TAI LUE VOWEL SIGN AY
+19BB  ; [.2872.0020.0002.19BB] # NEW TAI LUE VOWEL SIGN AAY
+19BC  ; [.2873.0020.0002.19BC] # NEW TAI LUE VOWEL SIGN UY
+19BD  ; [.2874.0020.0002.19BD] # NEW TAI LUE VOWEL SIGN OY
+19BE  ; [.2875.0020.0002.19BE] # NEW TAI LUE VOWEL SIGN OAY
+19BF  ; [.2876.0020.0002.19BF] # NEW TAI LUE VOWEL SIGN UEY
+19C0  ; [.2877.0020.0002.19C0] # NEW TAI LUE VOWEL SIGN IY
+19C1  ; [.2878.0020.0002.19C1] # NEW TAI LUE LETTER FINAL V
+19C2  ; [.2879.0020.0002.19C2] # NEW TAI LUE LETTER FINAL NG
+19C3  ; [.287A.0020.0002.19C3] # NEW TAI LUE LETTER FINAL N
+19C4  ; [.287B.0020.0002.19C4] # NEW TAI LUE LETTER FINAL M
+19C5  ; [.287C.0020.0002.19C5] # NEW TAI LUE LETTER FINAL K
+19C6  ; [.287D.0020.0002.19C6] # NEW TAI LUE LETTER FINAL D
+19C7  ; [.287E.0020.0002.19C7] # NEW TAI LUE LETTER FINAL B
+19C8  ; [.287F.0020.0002.19C8] # NEW TAI LUE TONE MARK-1
+19C9  ; [.2880.0020.0002.19C9] # NEW TAI LUE TONE MARK-2
+1A20  ; [.2881.0020.0002.1A20] # TAI THAM LETTER HIGH KA
+1A21  ; [.2882.0020.0002.1A21] # TAI THAM LETTER HIGH KHA
+1A22  ; [.2883.0020.0002.1A22] # TAI THAM LETTER HIGH KXA
+1A23  ; [.2884.0020.0002.1A23] # TAI THAM LETTER LOW KA
+1A24  ; [.2885.0020.0002.1A24] # TAI THAM LETTER LOW KXA
+1A25  ; [.2886.0020.0002.1A25] # TAI THAM LETTER LOW KHA
+1A26  ; [.2887.0020.0002.1A26] # TAI THAM LETTER NGA
+1A58  ; [.2887.0020.0004.1A58] # TAI THAM SIGN MAI KANG LAI
+1A59  ; [.2887.0020.0004.1A59] # TAI THAM CONSONANT SIGN FINAL NGA
+1A27  ; [.2888.0020.0002.1A27] # TAI THAM LETTER HIGH CA
+1A28  ; [.2889.0020.0002.1A28] # TAI THAM LETTER HIGH CHA
+1A29  ; [.288A.0020.0002.1A29] # TAI THAM LETTER LOW CA
+1A2A  ; [.288B.0020.0002.1A2A] # TAI THAM LETTER LOW SA
+1A2B  ; [.288C.0020.0002.1A2B] # TAI THAM LETTER LOW CHA
+1A2C  ; [.288D.0020.0002.1A2C] # TAI THAM LETTER NYA
+1A2D  ; [.288E.0020.0002.1A2D] # TAI THAM LETTER RATA
+1A2E  ; [.288F.0020.0002.1A2E] # TAI THAM LETTER HIGH RATHA
+1A2F  ; [.2890.0020.0002.1A2F] # TAI THAM LETTER DA
+1A30  ; [.2891.0020.0002.1A30] # TAI THAM LETTER LOW RATHA
+1A31  ; [.2892.0020.0002.1A31] # TAI THAM LETTER RANA
+1A32  ; [.2893.0020.0002.1A32] # TAI THAM LETTER HIGH TA
+1A33  ; [.2894.0020.0002.1A33] # TAI THAM LETTER HIGH THA
+1A34  ; [.2895.0020.0002.1A34] # TAI THAM LETTER LOW TA
+1A35  ; [.2896.0020.0002.1A35] # TAI THAM LETTER LOW THA
+1A36  ; [.2897.0020.0002.1A36] # TAI THAM LETTER NA
+1A37  ; [.2898.0020.0002.1A37] # TAI THAM LETTER BA
+1A38  ; [.2899.0020.0002.1A38] # TAI THAM LETTER HIGH PA
+1A39  ; [.289A.0020.0002.1A39] # TAI THAM LETTER HIGH PHA
+1A3A  ; [.289B.0020.0002.1A3A] # TAI THAM LETTER HIGH FA
+1A3B  ; [.289C.0020.0002.1A3B] # TAI THAM LETTER LOW PA
+1A5A  ; [.289C.0020.0004.1A5A] # TAI THAM CONSONANT SIGN LOW PA
+1A5B  ; [.289C.0020.0004.1A5B] # TAI THAM CONSONANT SIGN HIGH RATHA OR LOW PA
+1A3C  ; [.289D.0020.0002.1A3C] # TAI THAM LETTER LOW FA
+1A3D  ; [.289E.0020.0002.1A3D] # TAI THAM LETTER LOW PHA
+1A3E  ; [.289F.0020.0002.1A3E] # TAI THAM LETTER MA
+1A3F  ; [.28A0.0020.0002.1A3F] # TAI THAM LETTER LOW YA
+1A40  ; [.28A1.0020.0002.1A40] # TAI THAM LETTER HIGH YA
+1A41  ; [.28A2.0020.0002.1A41] # TAI THAM LETTER RA
+1A42  ; [.28A3.0020.0002.1A42] # TAI THAM LETTER RUE
+1A43  ; [.28A4.0020.0002.1A43] # TAI THAM LETTER LA
+1A44  ; [.28A5.0020.0002.1A44] # TAI THAM LETTER LUE
+1A45  ; [.28A6.0020.0002.1A45] # TAI THAM LETTER WA
+1A46  ; [.28A7.0020.0002.1A46] # TAI THAM LETTER HIGH SHA
+1A54  ; [.28A7.0020.0004.1A54][.28CD.0020.0004.1A54][.28A7.0020.0004.1A54] # TAI THAM LETTER GREAT SA
+1A47  ; [.28A8.0020.0002.1A47] # TAI THAM LETTER HIGH SSA
+1A48  ; [.28A9.0020.0002.1A48] # TAI THAM LETTER HIGH SA
+1A49  ; [.28AA.0020.0002.1A49] # TAI THAM LETTER HIGH HA
+1A4A  ; [.28AB.0020.0002.1A4A] # TAI THAM LETTER LLA
+1A4B  ; [.28AC.0020.0002.1A4B] # TAI THAM LETTER A
+1A4C  ; [.28AD.0020.0002.1A4C] # TAI THAM LETTER LOW HA
+1A53  ; [.28AE.0020.0002.1A53] # TAI THAM LETTER LAE
+1A6B  ; [.28AF.0020.0002.1A6B] # TAI THAM VOWEL SIGN O
+1A55  ; [.28B0.0020.0002.1A55] # TAI THAM CONSONANT SIGN MEDIAL RA
+1A56  ; [.28B1.0020.0002.1A56] # TAI THAM CONSONANT SIGN MEDIAL LA
+1A57  ; [.28B2.0020.0002.1A57] # TAI THAM CONSONANT SIGN LA TANG LAI
+1A5C  ; [.28B3.0020.0002.1A5C] # TAI THAM CONSONANT SIGN MA
+1A5D  ; [.28B4.0020.0002.1A5D] # TAI THAM CONSONANT SIGN BA
+1A5E  ; [.28B5.0020.0002.1A5E] # TAI THAM CONSONANT SIGN SA
+1A4D  ; [.28B6.0020.0002.1A4D] # TAI THAM LETTER I
+1A4E  ; [.28B7.0020.0002.1A4E] # TAI THAM LETTER II
+1A4F  ; [.28B8.0020.0002.1A4F] # TAI THAM LETTER U
+1A50  ; [.28B9.0020.0002.1A50] # TAI THAM LETTER UU
+1A51  ; [.28BA.0020.0002.1A51] # TAI THAM LETTER EE
+1A52  ; [.28BB.0020.0002.1A52] # TAI THAM LETTER OO
+1A61  ; [.28BC.0020.0002.1A61] # TAI THAM VOWEL SIGN A
+1A6C  ; [.28BD.0020.0002.1A6C] # TAI THAM VOWEL SIGN OA BELOW
+1A62  ; [.28BE.0020.0002.1A62] # TAI THAM VOWEL SIGN MAI SAT
+1A63  ; [.28BF.0020.0002.1A63] # TAI THAM VOWEL SIGN AA
+1A64  ; [.28BF.0020.0004.1A64] # TAI THAM VOWEL SIGN TALL AA
+1A65  ; [.28C0.0020.0002.1A65] # TAI THAM VOWEL SIGN I
+1A66  ; [.28C1.0020.0002.1A66] # TAI THAM VOWEL SIGN II
+1A67  ; [.28C2.0020.0002.1A67] # TAI THAM VOWEL SIGN UE
+1A68  ; [.28C3.0020.0002.1A68] # TAI THAM VOWEL SIGN UUE
+1A69  ; [.28C4.0020.0002.1A69] # TAI THAM VOWEL SIGN U
+1A6A  ; [.28C5.0020.0002.1A6A] # TAI THAM VOWEL SIGN UU
+1A6E  ; [.28C6.0020.0002.1A6E] # TAI THAM VOWEL SIGN E
+1A6F  ; [.28C7.0020.0002.1A6F] # TAI THAM VOWEL SIGN AE
+1A73  ; [.28C8.0020.0002.1A73] # TAI THAM VOWEL SIGN OA ABOVE
+1A70  ; [.28C9.0020.0002.1A70] # TAI THAM VOWEL SIGN OO
+1A71  ; [.28CA.0020.0002.1A71] # TAI THAM VOWEL SIGN AI
+1A72  ; [.28CB.0020.0002.1A72] # TAI THAM VOWEL SIGN THAM AI
+1A6D  ; [.28CC.0020.0002.1A6D] # TAI THAM VOWEL SIGN OY
+1A60  ; [.28CD.0020.0002.1A60] # TAI THAM SIGN SAKOT
+AA00  ; [.28CE.0020.0002.AA00] # CHAM LETTER A
+AA01  ; [.28CF.0020.0002.AA01] # CHAM LETTER I
+AA02  ; [.28D0.0020.0002.AA02] # CHAM LETTER U
+AA03  ; [.28D1.0020.0002.AA03] # CHAM LETTER E
+AA04  ; [.28D2.0020.0002.AA04] # CHAM LETTER AI
+AA05  ; [.28D3.0020.0002.AA05] # CHAM LETTER O
+AA06  ; [.28D4.0020.0002.AA06] # CHAM LETTER KA
+AA07  ; [.28D5.0020.0002.AA07] # CHAM LETTER KHA
+AA08  ; [.28D6.0020.0002.AA08] # CHAM LETTER GA
+AA09  ; [.28D7.0020.0002.AA09] # CHAM LETTER GHA
+AA0A  ; [.28D8.0020.0002.AA0A] # CHAM LETTER NGUE
+AA0B  ; [.28D9.0020.0002.AA0B] # CHAM LETTER NGA
+AA0C  ; [.28DA.0020.0002.AA0C] # CHAM LETTER CHA
+AA0D  ; [.28DB.0020.0002.AA0D] # CHAM LETTER CHHA
+AA0E  ; [.28DC.0020.0002.AA0E] # CHAM LETTER JA
+AA0F  ; [.28DD.0020.0002.AA0F] # CHAM LETTER JHA
+AA10  ; [.28DE.0020.0002.AA10] # CHAM LETTER NHUE
+AA11  ; [.28DF.0020.0002.AA11] # CHAM LETTER NHA
+AA12  ; [.28E0.0020.0002.AA12] # CHAM LETTER NHJA
+AA13  ; [.28E1.0020.0002.AA13] # CHAM LETTER TA
+AA14  ; [.28E2.0020.0002.AA14] # CHAM LETTER THA
+AA15  ; [.28E3.0020.0002.AA15] # CHAM LETTER DA
+AA16  ; [.28E4.0020.0002.AA16] # CHAM LETTER DHA
+AA17  ; [.28E5.0020.0002.AA17] # CHAM LETTER NUE
+AA18  ; [.28E6.0020.0002.AA18] # CHAM LETTER NA
+AA19  ; [.28E7.0020.0002.AA19] # CHAM LETTER DDA
+AA1A  ; [.28E8.0020.0002.AA1A] # CHAM LETTER PA
+AA1B  ; [.28E9.0020.0002.AA1B] # CHAM LETTER PPA
+AA1C  ; [.28EA.0020.0002.AA1C] # CHAM LETTER PHA
+AA1D  ; [.28EB.0020.0002.AA1D] # CHAM LETTER BA
+AA1E  ; [.28EC.0020.0002.AA1E] # CHAM LETTER BHA
+AA1F  ; [.28ED.0020.0002.AA1F] # CHAM LETTER MUE
+AA20  ; [.28EE.0020.0002.AA20] # CHAM LETTER MA
+AA21  ; [.28EF.0020.0002.AA21] # CHAM LETTER BBA
+AA22  ; [.28F0.0020.0002.AA22] # CHAM LETTER YA
+AA23  ; [.28F1.0020.0002.AA23] # CHAM LETTER RA
+AA24  ; [.28F2.0020.0002.AA24] # CHAM LETTER LA
+AA25  ; [.28F3.0020.0002.AA25] # CHAM LETTER VA
+AA26  ; [.28F4.0020.0002.AA26] # CHAM LETTER SSA
+AA27  ; [.28F5.0020.0002.AA27] # CHAM LETTER SA
+AA28  ; [.28F6.0020.0002.AA28] # CHAM LETTER HA
+AA33  ; [.28F7.0020.0002.AA33] # CHAM CONSONANT SIGN YA
+AA34  ; [.28F8.0020.0002.AA34] # CHAM CONSONANT SIGN RA
+AA35  ; [.28F9.0020.0002.AA35] # CHAM CONSONANT SIGN LA
+AA36  ; [.28FA.0020.0002.AA36] # CHAM CONSONANT SIGN WA
+AA29  ; [.28FB.0020.0002.AA29] # CHAM VOWEL SIGN AA
+AA2A  ; [.28FC.0020.0002.AA2A] # CHAM VOWEL SIGN I
+AA2B  ; [.28FD.0020.0002.AA2B] # CHAM VOWEL SIGN II
+AA2C  ; [.28FE.0020.0002.AA2C] # CHAM VOWEL SIGN EI
+AA2D  ; [.28FF.0020.0002.AA2D] # CHAM VOWEL SIGN U
+AA2E  ; [.2900.0020.0002.AA2E] # CHAM VOWEL SIGN OE
+AA2F  ; [.2901.0020.0002.AA2F] # CHAM VOWEL SIGN O
+AA30  ; [.2902.0020.0002.AA30] # CHAM VOWEL SIGN AI
+AA31  ; [.2903.0020.0002.AA31] # CHAM VOWEL SIGN AU
+AA32  ; [.2904.0020.0002.AA32] # CHAM VOWEL SIGN UE
+AA40  ; [.2905.0020.0002.AA40] # CHAM LETTER FINAL K
+AA41  ; [.2906.0020.0002.AA41] # CHAM LETTER FINAL G
+AA42  ; [.2907.0020.0002.AA42] # CHAM LETTER FINAL NG
+AA43  ; [.2908.0020.0002.AA43] # CHAM CONSONANT SIGN FINAL NG
+AA44  ; [.2909.0020.0002.AA44] # CHAM LETTER FINAL CH
+AA45  ; [.290A.0020.0002.AA45] # CHAM LETTER FINAL T
+AA46  ; [.290B.0020.0002.AA46] # CHAM LETTER FINAL N
+AA47  ; [.290C.0020.0002.AA47] # CHAM LETTER FINAL P
+AA48  ; [.290D.0020.0002.AA48] # CHAM LETTER FINAL Y
+AA49  ; [.290E.0020.0002.AA49] # CHAM LETTER FINAL R
+AA4A  ; [.290F.0020.0002.AA4A] # CHAM LETTER FINAL L
+AA4B  ; [.2910.0020.0002.AA4B] # CHAM LETTER FINAL SS
+AA4C  ; [.2911.0020.0002.AA4C] # CHAM CONSONANT SIGN FINAL M
+AA4D  ; [.2912.0020.0002.AA4D] # CHAM CONSONANT SIGN FINAL H
+1B05  ; [.2913.0020.0002.1B05] # BALINESE LETTER AKARA
+1B06  ; [.2914.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
+1B05 1B35 ; [.2914.0020.0002.1B06] # BALINESE LETTER AKARA TEDUNG
+1B07  ; [.2915.0020.0002.1B07] # BALINESE LETTER IKARA
+1B08  ; [.2916.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
+1B07 1B35 ; [.2916.0020.0002.1B08] # BALINESE LETTER IKARA TEDUNG
+1B09  ; [.2917.0020.0002.1B09] # BALINESE LETTER UKARA
+1B0A  ; [.2918.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
+1B09 1B35 ; [.2918.0020.0002.1B0A] # BALINESE LETTER UKARA TEDUNG
+1B0B  ; [.2919.0020.0002.1B0B] # BALINESE LETTER RA REPA
+1B0C  ; [.291A.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
+1B0B 1B35 ; [.291A.0020.0002.1B0C] # BALINESE LETTER RA REPA TEDUNG
+1B0D  ; [.291B.0020.0002.1B0D] # BALINESE LETTER LA LENGA
+1B0E  ; [.291C.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
+1B0D 1B35 ; [.291C.0020.0002.1B0E] # BALINESE LETTER LA LENGA TEDUNG
+1B0F  ; [.291D.0020.0002.1B0F] # BALINESE LETTER EKARA
+1B10  ; [.291E.0020.0002.1B10] # BALINESE LETTER AIKARA
+1B11  ; [.291F.0020.0002.1B11] # BALINESE LETTER OKARA
+1B12  ; [.2920.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
+1B11 1B35 ; [.2920.0020.0002.1B12] # BALINESE LETTER OKARA TEDUNG
+1B13  ; [.2921.0020.0002.1B13] # BALINESE LETTER KA
+1B45  ; [.2922.0020.0002.1B45] # BALINESE LETTER KAF SASAK
+1B46  ; [.2923.0020.0002.1B46] # BALINESE LETTER KHOT SASAK
+1B14  ; [.2924.0020.0002.1B14] # BALINESE LETTER KA MAHAPRANA
+1B15  ; [.2925.0020.0002.1B15] # BALINESE LETTER GA
+1B16  ; [.2926.0020.0002.1B16] # BALINESE LETTER GA GORA
+1B17  ; [.2927.0020.0002.1B17] # BALINESE LETTER NGA
+1B18  ; [.2928.0020.0002.1B18] # BALINESE LETTER CA
+1B19  ; [.2929.0020.0002.1B19] # BALINESE LETTER CA LACA
+1B1A  ; [.292A.0020.0002.1B1A] # BALINESE LETTER JA
+1B1B  ; [.292B.0020.0002.1B1B] # BALINESE LETTER JA JERA
+1B1C  ; [.292C.0020.0002.1B1C] # BALINESE LETTER NYA
+1B1D  ; [.292D.0020.0002.1B1D] # BALINESE LETTER TA LATIK
+1B1E  ; [.292E.0020.0002.1B1E] # BALINESE LETTER TA MURDA MAHAPRANA
+1B1F  ; [.292F.0020.0002.1B1F] # BALINESE LETTER DA MURDA ALPAPRANA
+1B20  ; [.2930.0020.0002.1B20] # BALINESE LETTER DA MURDA MAHAPRANA
+1B21  ; [.2931.0020.0002.1B21] # BALINESE LETTER NA RAMBAT
+1B22  ; [.2932.0020.0002.1B22] # BALINESE LETTER TA
+1B47  ; [.2933.0020.0002.1B47] # BALINESE LETTER TZIR SASAK
+1B23  ; [.2934.0020.0002.1B23] # BALINESE LETTER TA TAWA
+1B24  ; [.2935.0020.0002.1B24] # BALINESE LETTER DA
+1B25  ; [.2936.0020.0002.1B25] # BALINESE LETTER DA MADU
+1B26  ; [.2937.0020.0002.1B26] # BALINESE LETTER NA
+1B27  ; [.2938.0020.0002.1B27] # BALINESE LETTER PA
+1B48  ; [.2939.0020.0002.1B48] # BALINESE LETTER EF SASAK
+1B28  ; [.293A.0020.0002.1B28] # BALINESE LETTER PA KAPAL
+1B29  ; [.293B.0020.0002.1B29] # BALINESE LETTER BA
+1B2A  ; [.293C.0020.0002.1B2A] # BALINESE LETTER BA KEMBANG
+1B2B  ; [.293D.0020.0002.1B2B] # BALINESE LETTER MA
+1B2C  ; [.293E.0020.0002.1B2C] # BALINESE LETTER YA
+1B2D  ; [.293F.0020.0002.1B2D] # BALINESE LETTER RA
+1B2E  ; [.2940.0020.0002.1B2E] # BALINESE LETTER LA
+1B2F  ; [.2941.0020.0002.1B2F] # BALINESE LETTER WA
+1B49  ; [.2942.0020.0002.1B49] # BALINESE LETTER VE SASAK
+1B30  ; [.2943.0020.0002.1B30] # BALINESE LETTER SA SAGA
+1B31  ; [.2944.0020.0002.1B31] # BALINESE LETTER SA SAPA
+1B32  ; [.2945.0020.0002.1B32] # BALINESE LETTER SA
+1B4A  ; [.2946.0020.0002.1B4A] # BALINESE LETTER ZAL SASAK
+1B4B  ; [.2947.0020.0002.1B4B] # BALINESE LETTER ASYURA SASAK
+1B33  ; [.2948.0020.0002.1B33] # BALINESE LETTER HA
+1B35  ; [.2949.0020.0002.1B35] # BALINESE VOWEL SIGN TEDUNG
+1B36  ; [.294A.0020.0002.1B36] # BALINESE VOWEL SIGN ULU
+1B37  ; [.294B.0020.0002.1B37] # BALINESE VOWEL SIGN ULU SARI
+1B38  ; [.294C.0020.0002.1B38] # BALINESE VOWEL SIGN SUKU
+1B39  ; [.294D.0020.0002.1B39] # BALINESE VOWEL SIGN SUKU ILUT
+1B3A  ; [.294E.0020.0002.1B3A] # BALINESE VOWEL SIGN RA REPA
+1B3B  ; [.294F.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3A 1B35 ; [.294F.0020.0002.1B3B] # BALINESE VOWEL SIGN RA REPA TEDUNG
+1B3C  ; [.2950.0020.0002.1B3C] # BALINESE VOWEL SIGN LA LENGA
+1B3D  ; [.2951.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3C 1B35 ; [.2951.0020.0002.1B3D] # BALINESE VOWEL SIGN LA LENGA TEDUNG
+1B3E  ; [.2952.0020.0002.1B3E] # BALINESE VOWEL SIGN TALING
+1B3F  ; [.2953.0020.0002.1B3F] # BALINESE VOWEL SIGN TALING REPA
+1B40  ; [.2954.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
+1B3E 1B35 ; [.2954.0020.0002.1B40] # BALINESE VOWEL SIGN TALING TEDUNG
+1B41  ; [.2955.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B3F 1B35 ; [.2955.0020.0002.1B41] # BALINESE VOWEL SIGN TALING REPA TEDUNG
+1B42  ; [.2956.0020.0002.1B42] # BALINESE VOWEL SIGN PEPET
+1B43  ; [.2957.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B42 1B35 ; [.2957.0020.0002.1B43] # BALINESE VOWEL SIGN PEPET TEDUNG
+1B44  ; [.2958.0020.0002.1B44] # BALINESE ADEG ADEG
+A984  ; [.2959.0020.0002.A984] # JAVANESE LETTER A
+A985  ; [.295A.0020.0002.A985] # JAVANESE LETTER I KAWI
+A986  ; [.295B.0020.0002.A986] # JAVANESE LETTER I
+A987  ; [.295C.0020.0002.A987] # JAVANESE LETTER II
+A988  ; [.295D.0020.0002.A988] # JAVANESE LETTER U
+A989  ; [.295E.0020.0002.A989] # JAVANESE LETTER PA CEREK
+A98A  ; [.295F.0020.0002.A98A] # JAVANESE LETTER NGA LELET
+A98B  ; [.2960.0020.0002.A98B] # JAVANESE LETTER NGA LELET RASWADI
+A98C  ; [.2961.0020.0002.A98C] # JAVANESE LETTER E
+A98D  ; [.2962.0020.0002.A98D] # JAVANESE LETTER AI
+A98E  ; [.2963.0020.0002.A98E] # JAVANESE LETTER O
+A98F  ; [.2964.0020.0002.A98F] # JAVANESE LETTER KA
+A990  ; [.2965.0020.0002.A990] # JAVANESE LETTER KA SASAK
+A991  ; [.2966.0020.0002.A991] # JAVANESE LETTER KA MURDA
+A992  ; [.2967.0020.0002.A992] # JAVANESE LETTER GA
+A993  ; [.2968.0020.0002.A993] # JAVANESE LETTER GA MURDA
+A994  ; [.2969.0020.0002.A994] # JAVANESE LETTER NGA
+A995  ; [.296A.0020.0002.A995] # JAVANESE LETTER CA
+A996  ; [.296B.0020.0002.A996] # JAVANESE LETTER CA MURDA
+A997  ; [.296C.0020.0002.A997] # JAVANESE LETTER JA
+A998  ; [.296D.0020.0002.A998] # JAVANESE LETTER NYA MURDA
+A999  ; [.296E.0020.0002.A999] # JAVANESE LETTER JA MAHAPRANA
+A99A  ; [.296F.0020.0002.A99A] # JAVANESE LETTER NYA
+A99B  ; [.2970.0020.0002.A99B] # JAVANESE LETTER TTA
+A99C  ; [.2971.0020.0002.A99C] # JAVANESE LETTER TTA MAHAPRANA
+A99D  ; [.2972.0020.0002.A99D] # JAVANESE LETTER DDA
+A99E  ; [.2973.0020.0002.A99E] # JAVANESE LETTER DDA MAHAPRANA
+A99F  ; [.2974.0020.0002.A99F] # JAVANESE LETTER NA MURDA
+A9A0  ; [.2975.0020.0002.A9A0] # JAVANESE LETTER TA
+A9A1  ; [.2976.0020.0002.A9A1] # JAVANESE LETTER TA MURDA
+A9A2  ; [.2977.0020.0002.A9A2] # JAVANESE LETTER DA
+A9A3  ; [.2978.0020.0002.A9A3] # JAVANESE LETTER DA MAHAPRANA
+A9A4  ; [.2979.0020.0002.A9A4] # JAVANESE LETTER NA
+A9A5  ; [.297A.0020.0002.A9A5] # JAVANESE LETTER PA
+A9A6  ; [.297B.0020.0002.A9A6] # JAVANESE LETTER PA MURDA
+A9A7  ; [.297C.0020.0002.A9A7] # JAVANESE LETTER BA
+A9A8  ; [.297D.0020.0002.A9A8] # JAVANESE LETTER BA MURDA
+A9A9  ; [.297E.0020.0002.A9A9] # JAVANESE LETTER MA
+A9AA  ; [.297F.0020.0002.A9AA] # JAVANESE LETTER YA
+A9BE  ; [.2980.0020.0002.A9BE] # JAVANESE CONSONANT SIGN PENGKAL
+A9AB  ; [.2981.0020.0002.A9AB] # JAVANESE LETTER RA
+A9AC  ; [.2981.0020.0004.A9AC] # JAVANESE LETTER RA AGUNG
+A9BF  ; [.2982.0020.0002.A9BF] # JAVANESE CONSONANT SIGN CAKRA
+A9AD  ; [.2983.0020.0002.A9AD] # JAVANESE LETTER LA
+A9AE  ; [.2984.0020.0002.A9AE] # JAVANESE LETTER WA
+A9AF  ; [.2985.0020.0002.A9AF] # JAVANESE LETTER SA MURDA
+A9B0  ; [.2986.0020.0002.A9B0] # JAVANESE LETTER SA MAHAPRANA
+A9B1  ; [.2987.0020.0002.A9B1] # JAVANESE LETTER SA
+A9B2  ; [.2988.0020.0002.A9B2] # JAVANESE LETTER HA
+A9B4  ; [.2989.0020.0002.A9B4] # JAVANESE VOWEL SIGN TARUNG
+A9BC  ; [.298A.0020.0002.A9BC] # JAVANESE VOWEL SIGN PEPET
+A9B6  ; [.298B.0020.0002.A9B6] # JAVANESE VOWEL SIGN WULU
+A9B7  ; [.298C.0020.0002.A9B7] # JAVANESE VOWEL SIGN WULU MELIK
+A9B8  ; [.298D.0020.0002.A9B8] # JAVANESE VOWEL SIGN SUKU
+A9B9  ; [.298E.0020.0002.A9B9] # JAVANESE VOWEL SIGN SUKU MENDUT
+A9BD  ; [.298F.0020.0002.A9BD] # JAVANESE CONSONANT SIGN KERET
+A9BA  ; [.2990.0020.0002.A9BA] # JAVANESE VOWEL SIGN TALING
+A9BB  ; [.2991.0020.0002.A9BB] # JAVANESE VOWEL SIGN DIRGA MURE
+A9B5  ; [.2992.0020.0002.A9B5] # JAVANESE VOWEL SIGN TOLONG
+A9C0  ; [.2993.0020.0002.A9C0] # JAVANESE PANGKON
+1880  ; [.2994.0020.0002.1880] # MONGOLIAN LETTER ALI GALI ANUSVARA ONE
+1881  ; [.2995.0020.0002.1881] # MONGOLIAN LETTER ALI GALI VISARGA ONE
+1882  ; [.2996.0020.0002.1882] # MONGOLIAN LETTER ALI GALI DAMARU
+1883  ; [.2997.0020.0002.1883] # MONGOLIAN LETTER ALI GALI UBADAMA
+1884  ; [.2998.0020.0002.1884] # MONGOLIAN LETTER ALI GALI INVERTED UBADAMA
+1885  ; [.2999.0020.0002.1885] # MONGOLIAN LETTER ALI GALI BALUDA
+1886  ; [.299A.0020.0002.1886] # MONGOLIAN LETTER ALI GALI THREE BALUDA
+1843  ; [.299B.0020.0002.1843] # MONGOLIAN LETTER TODO LONG VOWEL SIGN
+1820  ; [.299C.0020.0002.1820] # MONGOLIAN LETTER A
+1887  ; [.299D.0020.0002.1887] # MONGOLIAN LETTER ALI GALI A
+1821  ; [.299E.0020.0002.1821] # MONGOLIAN LETTER E
+1844  ; [.299F.0020.0002.1844] # MONGOLIAN LETTER TODO E
+185D  ; [.29A0.0020.0002.185D] # MONGOLIAN LETTER SIBE E
+1822  ; [.29A1.0020.0002.1822] # MONGOLIAN LETTER I
+1845  ; [.29A2.0020.0002.1845] # MONGOLIAN LETTER TODO I
+185E  ; [.29A3.0020.0002.185E] # MONGOLIAN LETTER SIBE I
+1873  ; [.29A4.0020.0002.1873] # MONGOLIAN LETTER MANCHU I
+1888  ; [.29A5.0020.0002.1888] # MONGOLIAN LETTER ALI GALI I
+185F  ; [.29A6.0020.0002.185F] # MONGOLIAN LETTER SIBE IY
+1823  ; [.29A7.0020.0002.1823] # MONGOLIAN LETTER O
+1846  ; [.29A8.0020.0002.1846] # MONGOLIAN LETTER TODO O
+1824  ; [.29A9.0020.0002.1824] # MONGOLIAN LETTER U
+1847  ; [.29AA.0020.0002.1847] # MONGOLIAN LETTER TODO U
+1861  ; [.29AB.0020.0002.1861] # MONGOLIAN LETTER SIBE U
+1825  ; [.29AC.0020.0002.1825] # MONGOLIAN LETTER OE
+1848  ; [.29AD.0020.0002.1848] # MONGOLIAN LETTER TODO OE
+1826  ; [.29AE.0020.0002.1826] # MONGOLIAN LETTER UE
+1849  ; [.29AF.0020.0002.1849] # MONGOLIAN LETTER TODO UE
+1860  ; [.29B0.0020.0002.1860] # MONGOLIAN LETTER SIBE UE
+1827  ; [.29B1.0020.0002.1827] # MONGOLIAN LETTER EE
+1828  ; [.29B2.0020.0002.1828] # MONGOLIAN LETTER NA
+1829  ; [.29B3.0020.0002.1829] # MONGOLIAN LETTER ANG
+184A  ; [.29B4.0020.0002.184A] # MONGOLIAN LETTER TODO ANG
+1862  ; [.29B5.0020.0002.1862] # MONGOLIAN LETTER SIBE ANG
+188A  ; [.29B6.0020.0002.188A] # MONGOLIAN LETTER ALI GALI NGA
+189B  ; [.29B7.0020.0002.189B] # MONGOLIAN LETTER MANCHU ALI GALI NGA
+182A  ; [.29B8.0020.0002.182A] # MONGOLIAN LETTER BA
+184B  ; [.29B9.0020.0002.184B] # MONGOLIAN LETTER TODO BA
+182B  ; [.29BA.0020.0002.182B] # MONGOLIAN LETTER PA
+184C  ; [.29BB.0020.0002.184C] # MONGOLIAN LETTER TODO PA
+1866  ; [.29BC.0020.0002.1866] # MONGOLIAN LETTER SIBE PA
+182C  ; [.29BD.0020.0002.182C] # MONGOLIAN LETTER QA
+184D  ; [.29BE.0020.0002.184D] # MONGOLIAN LETTER TODO QA
+182D  ; [.29BF.0020.0002.182D] # MONGOLIAN LETTER GA
+184E  ; [.29C0.0020.0002.184E] # MONGOLIAN LETTER TODO GA
+1864  ; [.29C1.0020.0002.1864] # MONGOLIAN LETTER SIBE GA
+189A  ; [.29C2.0020.0002.189A] # MONGOLIAN LETTER MANCHU ALI GALI GHA
+1865  ; [.29C3.0020.0002.1865] # MONGOLIAN LETTER SIBE HA
+182E  ; [.29C4.0020.0002.182E] # MONGOLIAN LETTER MA
+184F  ; [.29C5.0020.0002.184F] # MONGOLIAN LETTER TODO MA
+182F  ; [.29C6.0020.0002.182F] # MONGOLIAN LETTER LA
+1830  ; [.29C7.0020.0002.1830] # MONGOLIAN LETTER SA
+1831  ; [.29C8.0020.0002.1831] # MONGOLIAN LETTER SHA
+1867  ; [.29C9.0020.0002.1867] # MONGOLIAN LETTER SIBE SHA
+189C  ; [.29CA.0020.0002.189C] # MONGOLIAN LETTER MANCHU ALI GALI CA
+189D  ; [.29CB.0020.0002.189D] # MONGOLIAN LETTER MANCHU ALI GALI JHA
+18A2  ; [.29CC.0020.0002.18A2] # MONGOLIAN LETTER MANCHU ALI GALI SSA
+18A4  ; [.29CD.0020.0002.18A4] # MONGOLIAN LETTER MANCHU ALI GALI ZHA
+18A5  ; [.29CE.0020.0002.18A5] # MONGOLIAN LETTER MANCHU ALI GALI ZA
+1832  ; [.29CF.0020.0002.1832] # MONGOLIAN LETTER TA
+1850  ; [.29D0.0020.0002.1850] # MONGOLIAN LETTER TODO TA
+1868  ; [.29D1.0020.0002.1868] # MONGOLIAN LETTER SIBE TA
+1833  ; [.29D2.0020.0002.1833] # MONGOLIAN LETTER DA
+1851  ; [.29D3.0020.0002.1851] # MONGOLIAN LETTER TODO DA
+1869  ; [.29D4.0020.0002.1869] # MONGOLIAN LETTER SIBE DA
+1834  ; [.29D5.0020.0002.1834] # MONGOLIAN LETTER CHA
+1852  ; [.29D6.0020.0002.1852] # MONGOLIAN LETTER TODO CHA
+1871  ; [.29D7.0020.0002.1871] # MONGOLIAN LETTER SIBE CHA
+185C  ; [.29D8.0020.0002.185C] # MONGOLIAN LETTER TODO DZA
+188B  ; [.29D9.0020.0002.188B] # MONGOLIAN LETTER ALI GALI CA
+1835  ; [.29DA.0020.0002.1835] # MONGOLIAN LETTER JA
+1853  ; [.29DB.0020.0002.1853] # MONGOLIAN LETTER TODO JA
+186A  ; [.29DC.0020.0002.186A] # MONGOLIAN LETTER SIBE JA
+1877  ; [.29DD.0020.0002.1877] # MONGOLIAN LETTER MANCHU ZHA
+1836  ; [.29DE.0020.0002.1836] # MONGOLIAN LETTER YA
+1855  ; [.29DF.0020.0002.1855] # MONGOLIAN LETTER TODO YA
+1872  ; [.29E0.0020.0002.1872] # MONGOLIAN LETTER SIBE ZHA
+1837  ; [.29E1.0020.0002.1837] # MONGOLIAN LETTER RA
+1875  ; [.29E2.0020.0002.1875] # MONGOLIAN LETTER MANCHU RA
+1838  ; [.29E3.0020.0002.1838] # MONGOLIAN LETTER WA
+1856  ; [.29E4.0020.0002.1856] # MONGOLIAN LETTER TODO WA
+1839  ; [.29E5.0020.0002.1839] # MONGOLIAN LETTER FA
+186B  ; [.29E6.0020.0002.186B] # MONGOLIAN LETTER SIBE FA
+1876  ; [.29E7.0020.0002.1876] # MONGOLIAN LETTER MANCHU FA
+183A  ; [.29E8.0020.0002.183A] # MONGOLIAN LETTER KA
+1857  ; [.29E9.0020.0002.1857] # MONGOLIAN LETTER TODO KA
+1863  ; [.29EA.0020.0002.1863] # MONGOLIAN LETTER SIBE KA
+1874  ; [.29EB.0020.0002.1874] # MONGOLIAN LETTER MANCHU KA
+1889  ; [.29EC.0020.0002.1889] # MONGOLIAN LETTER ALI GALI KA
+183B  ; [.29ED.0020.0002.183B] # MONGOLIAN LETTER KHA
+183C  ; [.29EE.0020.0002.183C] # MONGOLIAN LETTER TSA
+1854  ; [.29EF.0020.0002.1854] # MONGOLIAN LETTER TODO TSA
+186E  ; [.29F0.0020.0002.186E] # MONGOLIAN LETTER SIBE TSA
+183D  ; [.29F1.0020.0002.183D] # MONGOLIAN LETTER ZA
+186F  ; [.29F2.0020.0002.186F] # MONGOLIAN LETTER SIBE ZA
+1858  ; [.29F3.0020.0002.1858] # MONGOLIAN LETTER TODO GAA
+186C  ; [.29F4.0020.0002.186C] # MONGOLIAN LETTER SIBE GAA
+183E  ; [.29F5.0020.0002.183E] # MONGOLIAN LETTER HAA
+1859  ; [.29F6.0020.0002.1859] # MONGOLIAN LETTER TODO HAA
+186D  ; [.29F7.0020.0002.186D] # MONGOLIAN LETTER SIBE HAA
+183F  ; [.29F8.0020.0002.183F] # MONGOLIAN LETTER ZRA
+1840  ; [.29F9.0020.0002.1840] # MONGOLIAN LETTER LHA
+1841  ; [.29FA.0020.0002.1841] # MONGOLIAN LETTER ZHI
+1842  ; [.29FB.0020.0002.1842] # MONGOLIAN LETTER CHI
+185A  ; [.29FC.0020.0002.185A] # MONGOLIAN LETTER TODO JIA
+185B  ; [.29FD.0020.0002.185B] # MONGOLIAN LETTER TODO NIA
+1870  ; [.29FE.0020.0002.1870] # MONGOLIAN LETTER SIBE RAA
+188C  ; [.29FF.0020.0002.188C] # MONGOLIAN LETTER ALI GALI TTA
+189E  ; [.2A00.0020.0002.189E] # MONGOLIAN LETTER MANCHU ALI GALI TTA
+188D  ; [.2A01.0020.0002.188D] # MONGOLIAN LETTER ALI GALI TTHA
+188E  ; [.2A02.0020.0002.188E] # MONGOLIAN LETTER ALI GALI DDA
+189F  ; [.2A03.0020.0002.189F] # MONGOLIAN LETTER MANCHU ALI GALI DDHA
+188F  ; [.2A04.0020.0002.188F] # MONGOLIAN LETTER ALI GALI NNA
+1890  ; [.2A05.0020.0002.1890] # MONGOLIAN LETTER ALI GALI TA
+1898  ; [.2A06.0020.0002.1898] # MONGOLIAN LETTER TODO ALI GALI TA
+18A0  ; [.2A07.0020.0002.18A0] # MONGOLIAN LETTER MANCHU ALI GALI TA
+1891  ; [.2A08.0020.0002.1891] # MONGOLIAN LETTER ALI GALI DA
+18A1  ; [.2A09.0020.0002.18A1] # MONGOLIAN LETTER MANCHU ALI GALI DHA
+1892  ; [.2A0A.0020.0002.1892] # MONGOLIAN LETTER ALI GALI PA
+1893  ; [.2A0B.0020.0002.1893] # MONGOLIAN LETTER ALI GALI PHA
+18A8  ; [.2A0C.0020.0002.18A8] # MONGOLIAN LETTER MANCHU ALI GALI BHA
+1894  ; [.2A0D.0020.0002.1894] # MONGOLIAN LETTER ALI GALI SSA
+18A3  ; [.2A0E.0020.0002.18A3] # MONGOLIAN LETTER MANCHU ALI GALI CYA
+1895  ; [.2A0F.0020.0002.1895] # MONGOLIAN LETTER ALI GALI ZHA
+1899  ; [.2A10.0020.0002.1899] # MONGOLIAN LETTER TODO ALI GALI ZHA
+1896  ; [.2A11.0020.0002.1896] # MONGOLIAN LETTER ALI GALI ZA
+1897  ; [.2A12.0020.0002.1897] # MONGOLIAN LETTER ALI GALI AH
+18A6  ; [.2A13.0020.0002.18A6] # MONGOLIAN LETTER ALI GALI HALF U
+18A7  ; [.2A14.0020.0002.18A7] # MONGOLIAN LETTER ALI GALI HALF YA
+18AA  ; [.2A15.0020.0002.18AA] # MONGOLIAN LETTER MANCHU ALI GALI LHA
+18A9  ; [.2A16.0020.0002.18A9] # MONGOLIAN LETTER ALI GALI DAGALGA
+1C5A  ; [.2A17.0020.0002.1C5A] # OL CHIKI LETTER LA
+1C5B  ; [.2A18.0020.0002.1C5B] # OL CHIKI LETTER AT
+1C5C  ; [.2A19.0020.0002.1C5C] # OL CHIKI LETTER AG
+1C5D  ; [.2A1A.0020.0002.1C5D] # OL CHIKI LETTER ANG
+1C5E  ; [.2A1B.0020.0002.1C5E] # OL CHIKI LETTER AL
+1C5F  ; [.2A1C.0020.0002.1C5F] # OL CHIKI LETTER LAA
+1C60  ; [.2A1D.0020.0002.1C60] # OL CHIKI LETTER AAK
+1C61  ; [.2A1E.0020.0002.1C61] # OL CHIKI LETTER AAJ
+1C62  ; [.2A1F.0020.0002.1C62] # OL CHIKI LETTER AAM
+1C63  ; [.2A20.0020.0002.1C63] # OL CHIKI LETTER AAW
+1C64  ; [.2A21.0020.0002.1C64] # OL CHIKI LETTER LI
+1C65  ; [.2A22.0020.0002.1C65] # OL CHIKI LETTER IS
+1C66  ; [.2A23.0020.0002.1C66] # OL CHIKI LETTER IH
+1C67  ; [.2A24.0020.0002.1C67] # OL CHIKI LETTER INY
+1C68  ; [.2A25.0020.0002.1C68] # OL CHIKI LETTER IR
+1C69  ; [.2A26.0020.0002.1C69] # OL CHIKI LETTER LU
+1C6A  ; [.2A27.0020.0002.1C6A] # OL CHIKI LETTER UC
+1C6B  ; [.2A28.0020.0002.1C6B] # OL CHIKI LETTER UD
+1C6C  ; [.2A29.0020.0002.1C6C] # OL CHIKI LETTER UNN
+1C6D  ; [.2A2A.0020.0002.1C6D] # OL CHIKI LETTER UY
+1C6E  ; [.2A2B.0020.0002.1C6E] # OL CHIKI LETTER LE
+1C6F  ; [.2A2C.0020.0002.1C6F] # OL CHIKI LETTER EP
+1C70  ; [.2A2D.0020.0002.1C70] # OL CHIKI LETTER EDD
+1C71  ; [.2A2E.0020.0002.1C71] # OL CHIKI LETTER EN
+1C72  ; [.2A2F.0020.0002.1C72] # OL CHIKI LETTER ERR
+1C73  ; [.2A30.0020.0002.1C73] # OL CHIKI LETTER LO
+1C74  ; [.2A31.0020.0002.1C74] # OL CHIKI LETTER OTT
+1C75  ; [.2A32.0020.0002.1C75] # OL CHIKI LETTER OB
+1C76  ; [.2A33.0020.0002.1C76] # OL CHIKI LETTER OV
+1C77  ; [.2A34.0020.0002.1C77] # OL CHIKI LETTER OH
+1C78  ; [.2A35.0020.0002.1C78] # OL CHIKI MU TTUDDAG
+1C79  ; [.2A36.0020.0002.1C79] # OL CHIKI GAAHLAA TTUDDAAG
+1C7A  ; [.2A37.0020.0002.1C7A] # OL CHIKI MU-GAAHLAA TTUDDAAG
+1C7B  ; [.2A38.0020.0002.1C7B] # OL CHIKI RELAA
+1C7C  ; [.2A39.0020.0002.1C7C] # OL CHIKI PHAARKAA
+1C7D  ; [.2A3A.0020.0002.1C7D] # OL CHIKI AHAD
+13A0  ; [.2A3B.0020.0002.13A0] # CHEROKEE LETTER A
+13A1  ; [.2A3C.0020.0002.13A1] # CHEROKEE LETTER E
+13A2  ; [.2A3D.0020.0002.13A2] # CHEROKEE LETTER I
+13A3  ; [.2A3E.0020.0002.13A3] # CHEROKEE LETTER O
+13A4  ; [.2A3F.0020.0002.13A4] # CHEROKEE LETTER U
+13A5  ; [.2A40.0020.0002.13A5] # CHEROKEE LETTER V
+13A6  ; [.2A41.0020.0002.13A6] # CHEROKEE LETTER GA
+13A7  ; [.2A42.0020.0002.13A7] # CHEROKEE LETTER KA
+13A8  ; [.2A43.0020.0002.13A8] # CHEROKEE LETTER GE
+13A9  ; [.2A44.0020.0002.13A9] # CHEROKEE LETTER GI
+13AA  ; [.2A45.0020.0002.13AA] # CHEROKEE LETTER GO
+13AB  ; [.2A46.0020.0002.13AB] # CHEROKEE LETTER GU
+13AC  ; [.2A47.0020.0002.13AC] # CHEROKEE LETTER GV
+13AD  ; [.2A48.0020.0002.13AD] # CHEROKEE LETTER HA
+13AE  ; [.2A49.0020.0002.13AE] # CHEROKEE LETTER HE
+13AF  ; [.2A4A.0020.0002.13AF] # CHEROKEE LETTER HI
+13B0  ; [.2A4B.0020.0002.13B0] # CHEROKEE LETTER HO
+13B1  ; [.2A4C.0020.0002.13B1] # CHEROKEE LETTER HU
+13B2  ; [.2A4D.0020.0002.13B2] # CHEROKEE LETTER HV
+13B3  ; [.2A4E.0020.0002.13B3] # CHEROKEE LETTER LA
+13B4  ; [.2A4F.0020.0002.13B4] # CHEROKEE LETTER LE
+13B5  ; [.2A50.0020.0002.13B5] # CHEROKEE LETTER LI
+13B6  ; [.2A51.0020.0002.13B6] # CHEROKEE LETTER LO
+13B7  ; [.2A52.0020.0002.13B7] # CHEROKEE LETTER LU
+13B8  ; [.2A53.0020.0002.13B8] # CHEROKEE LETTER LV
+13B9  ; [.2A54.0020.0002.13B9] # CHEROKEE LETTER MA
+13BA  ; [.2A55.0020.0002.13BA] # CHEROKEE LETTER ME
+13BB  ; [.2A56.0020.0002.13BB] # CHEROKEE LETTER MI
+13BC  ; [.2A57.0020.0002.13BC] # CHEROKEE LETTER MO
+13BD  ; [.2A58.0020.0002.13BD] # CHEROKEE LETTER MU
+13BE  ; [.2A59.0020.0002.13BE] # CHEROKEE LETTER NA
+13BF  ; [.2A5A.0020.0002.13BF] # CHEROKEE LETTER HNA
+13C0  ; [.2A5B.0020.0002.13C0] # CHEROKEE LETTER NAH
+13C1  ; [.2A5C.0020.0002.13C1] # CHEROKEE LETTER NE
+13C2  ; [.2A5D.0020.0002.13C2] # CHEROKEE LETTER NI
+13C3  ; [.2A5E.0020.0002.13C3] # CHEROKEE LETTER NO
+13C4  ; [.2A5F.0020.0002.13C4] # CHEROKEE LETTER NU
+13C5  ; [.2A60.0020.0002.13C5] # CHEROKEE LETTER NV
+13C6  ; [.2A61.0020.0002.13C6] # CHEROKEE LETTER QUA
+13C7  ; [.2A62.0020.0002.13C7] # CHEROKEE LETTER QUE
+13C8  ; [.2A63.0020.0002.13C8] # CHEROKEE LETTER QUI
+13C9  ; [.2A64.0020.0002.13C9] # CHEROKEE LETTER QUO
+13CA  ; [.2A65.0020.0002.13CA] # CHEROKEE LETTER QUU
+13CB  ; [.2A66.0020.0002.13CB] # CHEROKEE LETTER QUV
+13CC  ; [.2A67.0020.0002.13CC] # CHEROKEE LETTER SA
+13CD  ; [.2A68.0020.0002.13CD] # CHEROKEE LETTER S
+13CE  ; [.2A69.0020.0002.13CE] # CHEROKEE LETTER SE
+13CF  ; [.2A6A.0020.0002.13CF] # CHEROKEE LETTER SI
+13D0  ; [.2A6B.0020.0002.13D0] # CHEROKEE LETTER SO
+13D1  ; [.2A6C.0020.0002.13D1] # CHEROKEE LETTER SU
+13D2  ; [.2A6D.0020.0002.13D2] # CHEROKEE LETTER SV
+13D3  ; [.2A6E.0020.0002.13D3] # CHEROKEE LETTER DA
+13D4  ; [.2A6F.0020.0002.13D4] # CHEROKEE LETTER TA
+13D5  ; [.2A70.0020.0002.13D5] # CHEROKEE LETTER DE
+13D6  ; [.2A71.0020.0002.13D6] # CHEROKEE LETTER TE
+13D7  ; [.2A72.0020.0002.13D7] # CHEROKEE LETTER DI
+13D8  ; [.2A73.0020.0002.13D8] # CHEROKEE LETTER TI
+13D9  ; [.2A74.0020.0002.13D9] # CHEROKEE LETTER DO
+13DA  ; [.2A75.0020.0002.13DA] # CHEROKEE LETTER DU
+13DB  ; [.2A76.0020.0002.13DB] # CHEROKEE LETTER DV
+13DC  ; [.2A77.0020.0002.13DC] # CHEROKEE LETTER DLA
+13DD  ; [.2A78.0020.0002.13DD] # CHEROKEE LETTER TLA
+13DE  ; [.2A79.0020.0002.13DE] # CHEROKEE LETTER TLE
+13DF  ; [.2A7A.0020.0002.13DF] # CHEROKEE LETTER TLI
+13E0  ; [.2A7B.0020.0002.13E0] # CHEROKEE LETTER TLO
+13E1  ; [.2A7C.0020.0002.13E1] # CHEROKEE LETTER TLU
+13E2  ; [.2A7D.0020.0002.13E2] # CHEROKEE LETTER TLV
+13E3  ; [.2A7E.0020.0002.13E3] # CHEROKEE LETTER TSA
+13E4  ; [.2A7F.0020.0002.13E4] # CHEROKEE LETTER TSE
+13E5  ; [.2A80.0020.0002.13E5] # CHEROKEE LETTER TSI
+13E6  ; [.2A81.0020.0002.13E6] # CHEROKEE LETTER TSO
+13E7  ; [.2A82.0020.0002.13E7] # CHEROKEE LETTER TSU
+13E8  ; [.2A83.0020.0002.13E8] # CHEROKEE LETTER TSV
+13E9  ; [.2A84.0020.0002.13E9] # CHEROKEE LETTER WA
+13EA  ; [.2A85.0020.0002.13EA] # CHEROKEE LETTER WE
+13EB  ; [.2A86.0020.0002.13EB] # CHEROKEE LETTER WI
+13EC  ; [.2A87.0020.0002.13EC] # CHEROKEE LETTER WO
+13ED  ; [.2A88.0020.0002.13ED] # CHEROKEE LETTER WU
+13EE  ; [.2A89.0020.0002.13EE] # CHEROKEE LETTER WV
+13EF  ; [.2A8A.0020.0002.13EF] # CHEROKEE LETTER YA
+13F0  ; [.2A8B.0020.0002.13F0] # CHEROKEE LETTER YE
+13F1  ; [.2A8C.0020.0002.13F1] # CHEROKEE LETTER YI
+13F2  ; [.2A8D.0020.0002.13F2] # CHEROKEE LETTER YO
+13F3  ; [.2A8E.0020.0002.13F3] # CHEROKEE LETTER YU
+13F4  ; [.2A8F.0020.0002.13F4] # CHEROKEE LETTER YV
+1401  ; [.2A90.0020.0002.1401] # CANADIAN SYLLABICS E
+1402  ; [.2A91.0020.0002.1402] # CANADIAN SYLLABICS AAI
+1403  ; [.2A92.0020.0002.1403] # CANADIAN SYLLABICS I
+1404  ; [.2A93.0020.0002.1404] # CANADIAN SYLLABICS II
+1405  ; [.2A94.0020.0002.1405] # CANADIAN SYLLABICS O
+1406  ; [.2A95.0020.0002.1406] # CANADIAN SYLLABICS OO
+1407  ; [.2A96.0020.0002.1407] # CANADIAN SYLLABICS Y-CREE OO
+1408  ; [.2A97.0020.0002.1408] # CANADIAN SYLLABICS CARRIER EE
+1409  ; [.2A98.0020.0002.1409] # CANADIAN SYLLABICS CARRIER I
+140A  ; [.2A99.0020.0002.140A] # CANADIAN SYLLABICS A
+140B  ; [.2A9A.0020.0002.140B] # CANADIAN SYLLABICS AA
+140C  ; [.2A9B.0020.0002.140C] # CANADIAN SYLLABICS WE
+140D  ; [.2A9C.0020.0002.140D] # CANADIAN SYLLABICS WEST-CREE WE
+140E  ; [.2A9D.0020.0002.140E] # CANADIAN SYLLABICS WI
+140F  ; [.2A9E.0020.0002.140F] # CANADIAN SYLLABICS WEST-CREE WI
+1410  ; [.2A9F.0020.0002.1410] # CANADIAN SYLLABICS WII
+1411  ; [.2AA0.0020.0002.1411] # CANADIAN SYLLABICS WEST-CREE WII
+1412  ; [.2AA1.0020.0002.1412] # CANADIAN SYLLABICS WO
+1413  ; [.2AA2.0020.0002.1413] # CANADIAN SYLLABICS WEST-CREE WO
+1414  ; [.2AA3.0020.0002.1414] # CANADIAN SYLLABICS WOO
+1415  ; [.2AA4.0020.0002.1415] # CANADIAN SYLLABICS WEST-CREE WOO
+1416  ; [.2AA5.0020.0002.1416] # CANADIAN SYLLABICS NASKAPI WOO
+1417  ; [.2AA6.0020.0002.1417] # CANADIAN SYLLABICS WA
+1418  ; [.2AA7.0020.0002.1418] # CANADIAN SYLLABICS WEST-CREE WA
+1419  ; [.2AA8.0020.0002.1419] # CANADIAN SYLLABICS WAA
+141A  ; [.2AA9.0020.0002.141A] # CANADIAN SYLLABICS WEST-CREE WAA
+141B  ; [.2AAA.0020.0002.141B] # CANADIAN SYLLABICS NASKAPI WAA
+141C  ; [.2AAB.0020.0002.141C] # CANADIAN SYLLABICS AI
+141D  ; [.2AAC.0020.0002.141D] # CANADIAN SYLLABICS Y-CREE W
+141E  ; [.2AAD.0020.0002.141E] # CANADIAN SYLLABICS GLOTTAL STOP
+141F  ; [.2AAE.0020.0002.141F] # CANADIAN SYLLABICS FINAL ACUTE
+1420  ; [.2AAF.0020.0002.1420] # CANADIAN SYLLABICS FINAL GRAVE
+1421  ; [.2AB0.0020.0002.1421] # CANADIAN SYLLABICS FINAL BOTTOM HALF RING
+1422  ; [.2AB1.0020.0002.1422] # CANADIAN SYLLABICS FINAL TOP HALF RING
+1423  ; [.2AB2.0020.0002.1423] # CANADIAN SYLLABICS FINAL RIGHT HALF RING
+1424  ; [.2AB3.0020.0002.1424] # CANADIAN SYLLABICS FINAL RING
+1425  ; [.2AB4.0020.0002.1425] # CANADIAN SYLLABICS FINAL DOUBLE ACUTE
+1426  ; [.2AB5.0020.0002.1426] # CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES
+1427  ; [.2AB6.0020.0002.1427] # CANADIAN SYLLABICS FINAL MIDDLE DOT
+1428  ; [.2AB7.0020.0002.1428] # CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE
+1429  ; [.2AB8.0020.0002.1429] # CANADIAN SYLLABICS FINAL PLUS
+142A  ; [.2AB9.0020.0002.142A] # CANADIAN SYLLABICS FINAL DOWN TACK
+142B  ; [.2ABA.0020.0002.142B] # CANADIAN SYLLABICS EN
+142C  ; [.2ABB.0020.0002.142C] # CANADIAN SYLLABICS IN
+142D  ; [.2ABC.0020.0002.142D] # CANADIAN SYLLABICS ON
+142E  ; [.2ABD.0020.0002.142E] # CANADIAN SYLLABICS AN
+142F  ; [.2ABE.0020.0002.142F] # CANADIAN SYLLABICS PE
+1430  ; [.2ABF.0020.0002.1430] # CANADIAN SYLLABICS PAAI
+1431  ; [.2AC0.0020.0002.1431] # CANADIAN SYLLABICS PI
+1432  ; [.2AC1.0020.0002.1432] # CANADIAN SYLLABICS PII
+1433  ; [.2AC2.0020.0002.1433] # CANADIAN SYLLABICS PO
+1434  ; [.2AC3.0020.0002.1434] # CANADIAN SYLLABICS POO
+1435  ; [.2AC4.0020.0002.1435] # CANADIAN SYLLABICS Y-CREE POO
+1436  ; [.2AC5.0020.0002.1436] # CANADIAN SYLLABICS CARRIER HEE
+1437  ; [.2AC6.0020.0002.1437] # CANADIAN SYLLABICS CARRIER HI
+1438  ; [.2AC7.0020.0002.1438] # CANADIAN SYLLABICS PA
+1439  ; [.2AC8.0020.0002.1439] # CANADIAN SYLLABICS PAA
+143A  ; [.2AC9.0020.0002.143A] # CANADIAN SYLLABICS PWE
+143B  ; [.2ACA.0020.0002.143B] # CANADIAN SYLLABICS WEST-CREE PWE
+143C  ; [.2ACB.0020.0002.143C] # CANADIAN SYLLABICS PWI
+143D  ; [.2ACC.0020.0002.143D] # CANADIAN SYLLABICS WEST-CREE PWI
+143E  ; [.2ACD.0020.0002.143E] # CANADIAN SYLLABICS PWII
+143F  ; [.2ACE.0020.0002.143F] # CANADIAN SYLLABICS WEST-CREE PWII
+1440  ; [.2ACF.0020.0002.1440] # CANADIAN SYLLABICS PWO
+1441  ; [.2AD0.0020.0002.1441] # CANADIAN SYLLABICS WEST-CREE PWO
+1442  ; [.2AD1.0020.0002.1442] # CANADIAN SYLLABICS PWOO
+1443  ; [.2AD2.0020.0002.1443] # CANADIAN SYLLABICS WEST-CREE PWOO
+1444  ; [.2AD3.0020.0002.1444] # CANADIAN SYLLABICS PWA
+1445  ; [.2AD4.0020.0002.1445] # CANADIAN SYLLABICS WEST-CREE PWA
+1446  ; [.2AD5.0020.0002.1446] # CANADIAN SYLLABICS PWAA
+1447  ; [.2AD6.0020.0002.1447] # CANADIAN SYLLABICS WEST-CREE PWAA
+1448  ; [.2AD7.0020.0002.1448] # CANADIAN SYLLABICS Y-CREE PWAA
+1449  ; [.2AD8.0020.0002.1449] # CANADIAN SYLLABICS P
+144A  ; [.2AD9.0020.0002.144A] # CANADIAN SYLLABICS WEST-CREE P
+144B  ; [.2ADA.0020.0002.144B] # CANADIAN SYLLABICS CARRIER H
+144C  ; [.2ADB.0020.0002.144C] # CANADIAN SYLLABICS TE
+144D  ; [.2ADC.0020.0002.144D] # CANADIAN SYLLABICS TAAI
+144E  ; [.2ADD.0020.0002.144E] # CANADIAN SYLLABICS TI
+144F  ; [.2ADE.0020.0002.144F] # CANADIAN SYLLABICS TII
+1450  ; [.2ADF.0020.0002.1450] # CANADIAN SYLLABICS TO
+1451  ; [.2AE0.0020.0002.1451] # CANADIAN SYLLABICS TOO
+1452  ; [.2AE1.0020.0002.1452] # CANADIAN SYLLABICS Y-CREE TOO
+1453  ; [.2AE2.0020.0002.1453] # CANADIAN SYLLABICS CARRIER DEE
+1454  ; [.2AE3.0020.0002.1454] # CANADIAN SYLLABICS CARRIER DI
+1455  ; [.2AE4.0020.0002.1455] # CANADIAN SYLLABICS TA
+1456  ; [.2AE5.0020.0002.1456] # CANADIAN SYLLABICS TAA
+1457  ; [.2AE6.0020.0002.1457] # CANADIAN SYLLABICS TWE
+1458  ; [.2AE7.0020.0002.1458] # CANADIAN SYLLABICS WEST-CREE TWE
+1459  ; [.2AE8.0020.0002.1459] # CANADIAN SYLLABICS TWI
+145A  ; [.2AE9.0020.0002.145A] # CANADIAN SYLLABICS WEST-CREE TWI
+145B  ; [.2AEA.0020.0002.145B] # CANADIAN SYLLABICS TWII
+145C  ; [.2AEB.0020.0002.145C] # CANADIAN SYLLABICS WEST-CREE TWII
+145D  ; [.2AEC.0020.0002.145D] # CANADIAN SYLLABICS TWO
+145E  ; [.2AED.0020.0002.145E] # CANADIAN SYLLABICS WEST-CREE TWO
+145F  ; [.2AEE.0020.0002.145F] # CANADIAN SYLLABICS TWOO
+1460  ; [.2AEF.0020.0002.1460] # CANADIAN SYLLABICS WEST-CREE TWOO
+1461  ; [.2AF0.0020.0002.1461] # CANADIAN SYLLABICS TWA
+1462  ; [.2AF1.0020.0002.1462] # CANADIAN SYLLABICS WEST-CREE TWA
+1463  ; [.2AF2.0020.0002.1463] # CANADIAN SYLLABICS TWAA
+1464  ; [.2AF3.0020.0002.1464] # CANADIAN SYLLABICS WEST-CREE TWAA
+1465  ; [.2AF4.0020.0002.1465] # CANADIAN SYLLABICS NASKAPI TWAA
+1466  ; [.2AF5.0020.0002.1466] # CANADIAN SYLLABICS T
+1467  ; [.2AF6.0020.0002.1467] # CANADIAN SYLLABICS TTE
+1468  ; [.2AF7.0020.0002.1468] # CANADIAN SYLLABICS TTI
+1469  ; [.2AF8.0020.0002.1469] # CANADIAN SYLLABICS TTO
+146A  ; [.2AF9.0020.0002.146A] # CANADIAN SYLLABICS TTA
+146B  ; [.2AFA.0020.0002.146B] # CANADIAN SYLLABICS KE
+146C  ; [.2AFB.0020.0002.146C] # CANADIAN SYLLABICS KAAI
+146D  ; [.2AFC.0020.0002.146D] # CANADIAN SYLLABICS KI
+146E  ; [.2AFD.0020.0002.146E] # CANADIAN SYLLABICS KII
+146F  ; [.2AFE.0020.0002.146F] # CANADIAN SYLLABICS KO
+1470  ; [.2AFF.0020.0002.1470] # CANADIAN SYLLABICS KOO
+1471  ; [.2B00.0020.0002.1471] # CANADIAN SYLLABICS Y-CREE KOO
+1472  ; [.2B01.0020.0002.1472] # CANADIAN SYLLABICS KA
+1473  ; [.2B02.0020.0002.1473] # CANADIAN SYLLABICS KAA
+1474  ; [.2B03.0020.0002.1474] # CANADIAN SYLLABICS KWE
+1475  ; [.2B04.0020.0002.1475] # CANADIAN SYLLABICS WEST-CREE KWE
+1476  ; [.2B05.0020.0002.1476] # CANADIAN SYLLABICS KWI
+1477  ; [.2B06.0020.0002.1477] # CANADIAN SYLLABICS WEST-CREE KWI
+1478  ; [.2B07.0020.0002.1478] # CANADIAN SYLLABICS KWII
+1479  ; [.2B08.0020.0002.1479] # CANADIAN SYLLABICS WEST-CREE KWII
+147A  ; [.2B09.0020.0002.147A] # CANADIAN SYLLABICS KWO
+147B  ; [.2B0A.0020.0002.147B] # CANADIAN SYLLABICS WEST-CREE KWO
+147C  ; [.2B0B.0020.0002.147C] # CANADIAN SYLLABICS KWOO
+147D  ; [.2B0C.0020.0002.147D] # CANADIAN SYLLABICS WEST-CREE KWOO
+147E  ; [.2B0D.0020.0002.147E] # CANADIAN SYLLABICS KWA
+147F  ; [.2B0E.0020.0002.147F] # CANADIAN SYLLABICS WEST-CREE KWA
+1480  ; [.2B0F.0020.0002.1480] # CANADIAN SYLLABICS KWAA
+1481  ; [.2B10.0020.0002.1481] # CANADIAN SYLLABICS WEST-CREE KWAA
+1482  ; [.2B11.0020.0002.1482] # CANADIAN SYLLABICS NASKAPI KWAA
+1483  ; [.2B12.0020.0002.1483] # CANADIAN SYLLABICS K
+1484  ; [.2B13.0020.0002.1484] # CANADIAN SYLLABICS KW
+1485  ; [.2B14.0020.0002.1485] # CANADIAN SYLLABICS SOUTH-SLAVEY KEH
+1486  ; [.2B15.0020.0002.1486] # CANADIAN SYLLABICS SOUTH-SLAVEY KIH
+1487  ; [.2B16.0020.0002.1487] # CANADIAN SYLLABICS SOUTH-SLAVEY KOH
+1488  ; [.2B17.0020.0002.1488] # CANADIAN SYLLABICS SOUTH-SLAVEY KAH
+1489  ; [.2B18.0020.0002.1489] # CANADIAN SYLLABICS CE
+148A  ; [.2B19.0020.0002.148A] # CANADIAN SYLLABICS CAAI
+148B  ; [.2B1A.0020.0002.148B] # CANADIAN SYLLABICS CI
+148C  ; [.2B1B.0020.0002.148C] # CANADIAN SYLLABICS CII
+148D  ; [.2B1C.0020.0002.148D] # CANADIAN SYLLABICS CO
+148E  ; [.2B1D.0020.0002.148E] # CANADIAN SYLLABICS COO
+148F  ; [.2B1E.0020.0002.148F] # CANADIAN SYLLABICS Y-CREE COO
+1490  ; [.2B1F.0020.0002.1490] # CANADIAN SYLLABICS CA
+1491  ; [.2B20.0020.0002.1491] # CANADIAN SYLLABICS CAA
+1492  ; [.2B21.0020.0002.1492] # CANADIAN SYLLABICS CWE
+1493  ; [.2B22.0020.0002.1493] # CANADIAN SYLLABICS WEST-CREE CWE
+1494  ; [.2B23.0020.0002.1494] # CANADIAN SYLLABICS CWI
+1495  ; [.2B24.0020.0002.1495] # CANADIAN SYLLABICS WEST-CREE CWI
+1496  ; [.2B25.0020.0002.1496] # CANADIAN SYLLABICS CWII
+1497  ; [.2B26.0020.0002.1497] # CANADIAN SYLLABICS WEST-CREE CWII
+1498  ; [.2B27.0020.0002.1498] # CANADIAN SYLLABICS CWO
+1499  ; [.2B28.0020.0002.1499] # CANADIAN SYLLABICS WEST-CREE CWO
+149A  ; [.2B29.0020.0002.149A] # CANADIAN SYLLABICS CWOO
+149B  ; [.2B2A.0020.0002.149B] # CANADIAN SYLLABICS WEST-CREE CWOO
+149C  ; [.2B2B.0020.0002.149C] # CANADIAN SYLLABICS CWA
+149D  ; [.2B2C.0020.0002.149D] # CANADIAN SYLLABICS WEST-CREE CWA
+149E  ; [.2B2D.0020.0002.149E] # CANADIAN SYLLABICS CWAA
+149F  ; [.2B2E.0020.0002.149F] # CANADIAN SYLLABICS WEST-CREE CWAA
+14A0  ; [.2B2F.0020.0002.14A0] # CANADIAN SYLLABICS NASKAPI CWAA
+14A1  ; [.2B30.0020.0002.14A1] # CANADIAN SYLLABICS C
+14A2  ; [.2B31.0020.0002.14A2] # CANADIAN SYLLABICS SAYISI TH
+14A3  ; [.2B32.0020.0002.14A3] # CANADIAN SYLLABICS ME
+14A4  ; [.2B33.0020.0002.14A4] # CANADIAN SYLLABICS MAAI
+14A5  ; [.2B34.0020.0002.14A5] # CANADIAN SYLLABICS MI
+14A6  ; [.2B35.0020.0002.14A6] # CANADIAN SYLLABICS MII
+14A7  ; [.2B36.0020.0002.14A7] # CANADIAN SYLLABICS MO
+14A8  ; [.2B37.0020.0002.14A8] # CANADIAN SYLLABICS MOO
+14A9  ; [.2B38.0020.0002.14A9] # CANADIAN SYLLABICS Y-CREE MOO
+14AA  ; [.2B39.0020.0002.14AA] # CANADIAN SYLLABICS MA
+14AB  ; [.2B3A.0020.0002.14AB] # CANADIAN SYLLABICS MAA
+14AC  ; [.2B3B.0020.0002.14AC] # CANADIAN SYLLABICS MWE
+14AD  ; [.2B3C.0020.0002.14AD] # CANADIAN SYLLABICS WEST-CREE MWE
+14AE  ; [.2B3D.0020.0002.14AE] # CANADIAN SYLLABICS MWI
+14AF  ; [.2B3E.0020.0002.14AF] # CANADIAN SYLLABICS WEST-CREE MWI
+14B0  ; [.2B3F.0020.0002.14B0] # CANADIAN SYLLABICS MWII
+14B1  ; [.2B40.0020.0002.14B1] # CANADIAN SYLLABICS WEST-CREE MWII
+14B2  ; [.2B41.0020.0002.14B2] # CANADIAN SYLLABICS MWO
+14B3  ; [.2B42.0020.0002.14B3] # CANADIAN SYLLABICS WEST-CREE MWO
+14B4  ; [.2B43.0020.0002.14B4] # CANADIAN SYLLABICS MWOO
+14B5  ; [.2B44.0020.0002.14B5] # CANADIAN SYLLABICS WEST-CREE MWOO
+14B6  ; [.2B45.0020.0002.14B6] # CANADIAN SYLLABICS MWA
+14B7  ; [.2B46.0020.0002.14B7] # CANADIAN SYLLABICS WEST-CREE MWA
+14B8  ; [.2B47.0020.0002.14B8] # CANADIAN SYLLABICS MWAA
+14B9  ; [.2B48.0020.0002.14B9] # CANADIAN SYLLABICS WEST-CREE MWAA
+14BA  ; [.2B49.0020.0002.14BA] # CANADIAN SYLLABICS NASKAPI MWAA
+14BB  ; [.2B4A.0020.0002.14BB] # CANADIAN SYLLABICS M
+14BC  ; [.2B4B.0020.0002.14BC] # CANADIAN SYLLABICS WEST-CREE M
+14BD  ; [.2B4C.0020.0002.14BD] # CANADIAN SYLLABICS MH
+14BE  ; [.2B4D.0020.0002.14BE] # CANADIAN SYLLABICS ATHAPASCAN M
+14BF  ; [.2B4E.0020.0002.14BF] # CANADIAN SYLLABICS SAYISI M
+14C0  ; [.2B4F.0020.0002.14C0] # CANADIAN SYLLABICS NE
+14C1  ; [.2B50.0020.0002.14C1] # CANADIAN SYLLABICS NAAI
+14C2  ; [.2B51.0020.0002.14C2] # CANADIAN SYLLABICS NI
+14C3  ; [.2B52.0020.0002.14C3] # CANADIAN SYLLABICS NII
+14C4  ; [.2B53.0020.0002.14C4] # CANADIAN SYLLABICS NO
+14C5  ; [.2B54.0020.0002.14C5] # CANADIAN SYLLABICS NOO
+14C6  ; [.2B55.0020.0002.14C6] # CANADIAN SYLLABICS Y-CREE NOO
+14C7  ; [.2B56.0020.0002.14C7] # CANADIAN SYLLABICS NA
+14C8  ; [.2B57.0020.0002.14C8] # CANADIAN SYLLABICS NAA
+14C9  ; [.2B58.0020.0002.14C9] # CANADIAN SYLLABICS NWE
+14CA  ; [.2B59.0020.0002.14CA] # CANADIAN SYLLABICS WEST-CREE NWE
+14CB  ; [.2B5A.0020.0002.14CB] # CANADIAN SYLLABICS NWA
+14CC  ; [.2B5B.0020.0002.14CC] # CANADIAN SYLLABICS WEST-CREE NWA
+14CD  ; [.2B5C.0020.0002.14CD] # CANADIAN SYLLABICS NWAA
+14CE  ; [.2B5D.0020.0002.14CE] # CANADIAN SYLLABICS WEST-CREE NWAA
+14CF  ; [.2B5E.0020.0002.14CF] # CANADIAN SYLLABICS NASKAPI NWAA
+14D0  ; [.2B5F.0020.0002.14D0] # CANADIAN SYLLABICS N
+14D1  ; [.2B60.0020.0002.14D1] # CANADIAN SYLLABICS CARRIER NG
+14D2  ; [.2B61.0020.0002.14D2] # CANADIAN SYLLABICS NH
+14D3  ; [.2B62.0020.0002.14D3] # CANADIAN SYLLABICS LE
+14D4  ; [.2B63.0020.0002.14D4] # CANADIAN SYLLABICS LAAI
+14D5  ; [.2B64.0020.0002.14D5] # CANADIAN SYLLABICS LI
+14D6  ; [.2B65.0020.0002.14D6] # CANADIAN SYLLABICS LII
+14D7  ; [.2B66.0020.0002.14D7] # CANADIAN SYLLABICS LO
+14D8  ; [.2B67.0020.0002.14D8] # CANADIAN SYLLABICS LOO
+14D9  ; [.2B68.0020.0002.14D9] # CANADIAN SYLLABICS Y-CREE LOO
+14DA  ; [.2B69.0020.0002.14DA] # CANADIAN SYLLABICS LA
+14DB  ; [.2B6A.0020.0002.14DB] # CANADIAN SYLLABICS LAA
+14DC  ; [.2B6B.0020.0002.14DC] # CANADIAN SYLLABICS LWE
+14DD  ; [.2B6C.0020.0002.14DD] # CANADIAN SYLLABICS WEST-CREE LWE
+14DE  ; [.2B6D.0020.0002.14DE] # CANADIAN SYLLABICS LWI
+14DF  ; [.2B6E.0020.0002.14DF] # CANADIAN SYLLABICS WEST-CREE LWI
+14E0  ; [.2B6F.0020.0002.14E0] # CANADIAN SYLLABICS LWII
+14E1  ; [.2B70.0020.0002.14E1] # CANADIAN SYLLABICS WEST-CREE LWII
+14E2  ; [.2B71.0020.0002.14E2] # CANADIAN SYLLABICS LWO
+14E3  ; [.2B72.0020.0002.14E3] # CANADIAN SYLLABICS WEST-CREE LWO
+14E4  ; [.2B73.0020.0002.14E4] # CANADIAN SYLLABICS LWOO
+14E5  ; [.2B74.0020.0002.14E5] # CANADIAN SYLLABICS WEST-CREE LWOO
+14E6  ; [.2B75.0020.0002.14E6] # CANADIAN SYLLABICS LWA
+14E7  ; [.2B76.0020.0002.14E7] # CANADIAN SYLLABICS WEST-CREE LWA
+14E8  ; [.2B77.0020.0002.14E8] # CANADIAN SYLLABICS LWAA
+14E9  ; [.2B78.0020.0002.14E9] # CANADIAN SYLLABICS WEST-CREE LWAA
+14EA  ; [.2B79.0020.0002.14EA] # CANADIAN SYLLABICS L
+14EB  ; [.2B7A.0020.0002.14EB] # CANADIAN SYLLABICS WEST-CREE L
+14EC  ; [.2B7B.0020.0002.14EC] # CANADIAN SYLLABICS MEDIAL L
+14ED  ; [.2B7C.0020.0002.14ED] # CANADIAN SYLLABICS SE
+14EE  ; [.2B7D.0020.0002.14EE] # CANADIAN SYLLABICS SAAI
+14EF  ; [.2B7E.0020.0002.14EF] # CANADIAN SYLLABICS SI
+14F0  ; [.2B7F.0020.0002.14F0] # CANADIAN SYLLABICS SII
+14F1  ; [.2B80.0020.0002.14F1] # CANADIAN SYLLABICS SO
+14F2  ; [.2B81.0020.0002.14F2] # CANADIAN SYLLABICS SOO
+14F3  ; [.2B82.0020.0002.14F3] # CANADIAN SYLLABICS Y-CREE SOO
+14F4  ; [.2B83.0020.0002.14F4] # CANADIAN SYLLABICS SA
+14F5  ; [.2B84.0020.0002.14F5] # CANADIAN SYLLABICS SAA
+14F6  ; [.2B85.0020.0002.14F6] # CANADIAN SYLLABICS SWE
+14F7  ; [.2B86.0020.0002.14F7] # CANADIAN SYLLABICS WEST-CREE SWE
+14F8  ; [.2B87.0020.0002.14F8] # CANADIAN SYLLABICS SWI
+14F9  ; [.2B88.0020.0002.14F9] # CANADIAN SYLLABICS WEST-CREE SWI
+14FA  ; [.2B89.0020.0002.14FA] # CANADIAN SYLLABICS SWII
+14FB  ; [.2B8A.0020.0002.14FB] # CANADIAN SYLLABICS WEST-CREE SWII
+14FC  ; [.2B8B.0020.0002.14FC] # CANADIAN SYLLABICS SWO
+14FD  ; [.2B8C.0020.0002.14FD] # CANADIAN SYLLABICS WEST-CREE SWO
+14FE  ; [.2B8D.0020.0002.14FE] # CANADIAN SYLLABICS SWOO
+14FF  ; [.2B8E.0020.0002.14FF] # CANADIAN SYLLABICS WEST-CREE SWOO
+1500  ; [.2B8F.0020.0002.1500] # CANADIAN SYLLABICS SWA
+1501  ; [.2B90.0020.0002.1501] # CANADIAN SYLLABICS WEST-CREE SWA
+1502  ; [.2B91.0020.0002.1502] # CANADIAN SYLLABICS SWAA
+1503  ; [.2B92.0020.0002.1503] # CANADIAN SYLLABICS WEST-CREE SWAA
+1504  ; [.2B93.0020.0002.1504] # CANADIAN SYLLABICS NASKAPI SWAA
+1505  ; [.2B94.0020.0002.1505] # CANADIAN SYLLABICS S
+1506  ; [.2B95.0020.0002.1506] # CANADIAN SYLLABICS ATHAPASCAN S
+1507  ; [.2B96.0020.0002.1507] # CANADIAN SYLLABICS SW
+1508  ; [.2B97.0020.0002.1508] # CANADIAN SYLLABICS BLACKFOOT S
+1509  ; [.2B98.0020.0002.1509] # CANADIAN SYLLABICS MOOSE-CREE SK
+150A  ; [.2B99.0020.0002.150A] # CANADIAN SYLLABICS NASKAPI SKW
+150B  ; [.2B9A.0020.0002.150B] # CANADIAN SYLLABICS NASKAPI S-W
+150C  ; [.2B9B.0020.0002.150C] # CANADIAN SYLLABICS NASKAPI SPWA
+150D  ; [.2B9C.0020.0002.150D] # CANADIAN SYLLABICS NASKAPI STWA
+150E  ; [.2B9D.0020.0002.150E] # CANADIAN SYLLABICS NASKAPI SKWA
+150F  ; [.2B9E.0020.0002.150F] # CANADIAN SYLLABICS NASKAPI SCWA
+1510  ; [.2B9F.0020.0002.1510] # CANADIAN SYLLABICS SHE
+1511  ; [.2BA0.0020.0002.1511] # CANADIAN SYLLABICS SHI
+1512  ; [.2BA1.0020.0002.1512] # CANADIAN SYLLABICS SHII
+1513  ; [.2BA2.0020.0002.1513] # CANADIAN SYLLABICS SHO
+1514  ; [.2BA3.0020.0002.1514] # CANADIAN SYLLABICS SHOO
+1515  ; [.2BA4.0020.0002.1515] # CANADIAN SYLLABICS SHA
+1516  ; [.2BA5.0020.0002.1516] # CANADIAN SYLLABICS SHAA
+1517  ; [.2BA6.0020.0002.1517] # CANADIAN SYLLABICS SHWE
+1518  ; [.2BA7.0020.0002.1518] # CANADIAN SYLLABICS WEST-CREE SHWE
+1519  ; [.2BA8.0020.0002.1519] # CANADIAN SYLLABICS SHWI
+151A  ; [.2BA9.0020.0002.151A] # CANADIAN SYLLABICS WEST-CREE SHWI
+151B  ; [.2BAA.0020.0002.151B] # CANADIAN SYLLABICS SHWII
+151C  ; [.2BAB.0020.0002.151C] # CANADIAN SYLLABICS WEST-CREE SHWII
+151D  ; [.2BAC.0020.0002.151D] # CANADIAN SYLLABICS SHWO
+151E  ; [.2BAD.0020.0002.151E] # CANADIAN SYLLABICS WEST-CREE SHWO
+151F  ; [.2BAE.0020.0002.151F] # CANADIAN SYLLABICS SHWOO
+1520  ; [.2BAF.0020.0002.1520] # CANADIAN SYLLABICS WEST-CREE SHWOO
+1521  ; [.2BB0.0020.0002.1521] # CANADIAN SYLLABICS SHWA
+1522  ; [.2BB1.0020.0002.1522] # CANADIAN SYLLABICS WEST-CREE SHWA
+1523  ; [.2BB2.0020.0002.1523] # CANADIAN SYLLABICS SHWAA
+1524  ; [.2BB3.0020.0002.1524] # CANADIAN SYLLABICS WEST-CREE SHWAA
+1525  ; [.2BB4.0020.0002.1525] # CANADIAN SYLLABICS SH
+1526  ; [.2BB5.0020.0002.1526] # CANADIAN SYLLABICS YE
+1527  ; [.2BB6.0020.0002.1527] # CANADIAN SYLLABICS YAAI
+1528  ; [.2BB7.0020.0002.1528] # CANADIAN SYLLABICS YI
+1529  ; [.2BB8.0020.0002.1529] # CANADIAN SYLLABICS YII
+152A  ; [.2BB9.0020.0002.152A] # CANADIAN SYLLABICS YO
+152B  ; [.2BBA.0020.0002.152B] # CANADIAN SYLLABICS YOO
+152C  ; [.2BBB.0020.0002.152C] # CANADIAN SYLLABICS Y-CREE YOO
+152D  ; [.2BBC.0020.0002.152D] # CANADIAN SYLLABICS YA
+152E  ; [.2BBD.0020.0002.152E] # CANADIAN SYLLABICS YAA
+152F  ; [.2BBE.0020.0002.152F] # CANADIAN SYLLABICS YWE
+1530  ; [.2BBF.0020.0002.1530] # CANADIAN SYLLABICS WEST-CREE YWE
+1531  ; [.2BC0.0020.0002.1531] # CANADIAN SYLLABICS YWI
+1532  ; [.2BC1.0020.0002.1532] # CANADIAN SYLLABICS WEST-CREE YWI
+1533  ; [.2BC2.0020.0002.1533] # CANADIAN SYLLABICS YWII
+1534  ; [.2BC3.0020.0002.1534] # CANADIAN SYLLABICS WEST-CREE YWII
+1535  ; [.2BC4.0020.0002.1535] # CANADIAN SYLLABICS YWO
+1536  ; [.2BC5.0020.0002.1536] # CANADIAN SYLLABICS WEST-CREE YWO
+1537  ; [.2BC6.0020.0002.1537] # CANADIAN SYLLABICS YWOO
+1538  ; [.2BC7.0020.0002.1538] # CANADIAN SYLLABICS WEST-CREE YWOO
+1539  ; [.2BC8.0020.0002.1539] # CANADIAN SYLLABICS YWA
+153A  ; [.2BC9.0020.0002.153A] # CANADIAN SYLLABICS WEST-CREE YWA
+153B  ; [.2BCA.0020.0002.153B] # CANADIAN SYLLABICS YWAA
+153C  ; [.2BCB.0020.0002.153C] # CANADIAN SYLLABICS WEST-CREE YWAA
+153D  ; [.2BCC.0020.0002.153D] # CANADIAN SYLLABICS NASKAPI YWAA
+153E  ; [.2BCD.0020.0002.153E] # CANADIAN SYLLABICS Y
+153F  ; [.2BCE.0020.0002.153F] # CANADIAN SYLLABICS BIBLE-CREE Y
+1540  ; [.2BCF.0020.0002.1540] # CANADIAN SYLLABICS WEST-CREE Y
+1541  ; [.2BD0.0020.0002.1541] # CANADIAN SYLLABICS SAYISI YI
+1542  ; [.2BD1.0020.0002.1542] # CANADIAN SYLLABICS RE
+1543  ; [.2BD2.0020.0002.1543] # CANADIAN SYLLABICS R-CREE RE
+1544  ; [.2BD3.0020.0002.1544] # CANADIAN SYLLABICS WEST-CREE LE
+1545  ; [.2BD4.0020.0002.1545] # CANADIAN SYLLABICS RAAI
+1546  ; [.2BD5.0020.0002.1546] # CANADIAN SYLLABICS RI
+1547  ; [.2BD6.0020.0002.1547] # CANADIAN SYLLABICS RII
+1548  ; [.2BD7.0020.0002.1548] # CANADIAN SYLLABICS RO
+1549  ; [.2BD8.0020.0002.1549] # CANADIAN SYLLABICS ROO
+154A  ; [.2BD9.0020.0002.154A] # CANADIAN SYLLABICS WEST-CREE LO
+154B  ; [.2BDA.0020.0002.154B] # CANADIAN SYLLABICS RA
+154C  ; [.2BDB.0020.0002.154C] # CANADIAN SYLLABICS RAA
+154D  ; [.2BDC.0020.0002.154D] # CANADIAN SYLLABICS WEST-CREE LA
+154E  ; [.2BDD.0020.0002.154E] # CANADIAN SYLLABICS RWAA
+154F  ; [.2BDE.0020.0002.154F] # CANADIAN SYLLABICS WEST-CREE RWAA
+1550  ; [.2BDF.0020.0002.1550] # CANADIAN SYLLABICS R
+1551  ; [.2BE0.0020.0002.1551] # CANADIAN SYLLABICS WEST-CREE R
+1552  ; [.2BE1.0020.0002.1552] # CANADIAN SYLLABICS MEDIAL R
+1553  ; [.2BE2.0020.0002.1553] # CANADIAN SYLLABICS FE
+1554  ; [.2BE3.0020.0002.1554] # CANADIAN SYLLABICS FAAI
+1555  ; [.2BE4.0020.0002.1555] # CANADIAN SYLLABICS FI
+1556  ; [.2BE5.0020.0002.1556] # CANADIAN SYLLABICS FII
+1557  ; [.2BE6.0020.0002.1557] # CANADIAN SYLLABICS FO
+1558  ; [.2BE7.0020.0002.1558] # CANADIAN SYLLABICS FOO
+1559  ; [.2BE8.0020.0002.1559] # CANADIAN SYLLABICS FA
+155A  ; [.2BE9.0020.0002.155A] # CANADIAN SYLLABICS FAA
+155B  ; [.2BEA.0020.0002.155B] # CANADIAN SYLLABICS FWAA
+155C  ; [.2BEB.0020.0002.155C] # CANADIAN SYLLABICS WEST-CREE FWAA
+155D  ; [.2BEC.0020.0002.155D] # CANADIAN SYLLABICS F
+155E  ; [.2BED.0020.0002.155E] # CANADIAN SYLLABICS THE
+155F  ; [.2BEE.0020.0002.155F] # CANADIAN SYLLABICS N-CREE THE
+1560  ; [.2BEF.0020.0002.1560] # CANADIAN SYLLABICS THI
+1561  ; [.2BF0.0020.0002.1561] # CANADIAN SYLLABICS N-CREE THI
+1562  ; [.2BF1.0020.0002.1562] # CANADIAN SYLLABICS THII
+1563  ; [.2BF2.0020.0002.1563] # CANADIAN SYLLABICS N-CREE THII
+1564  ; [.2BF3.0020.0002.1564] # CANADIAN SYLLABICS THO
+1565  ; [.2BF4.0020.0002.1565] # CANADIAN SYLLABICS THOO
+1566  ; [.2BF5.0020.0002.1566] # CANADIAN SYLLABICS THA
+1567  ; [.2BF6.0020.0002.1567] # CANADIAN SYLLABICS THAA
+1568  ; [.2BF7.0020.0002.1568] # CANADIAN SYLLABICS THWAA
+1569  ; [.2BF8.0020.0002.1569] # CANADIAN SYLLABICS WEST-CREE THWAA
+156A  ; [.2BF9.0020.0002.156A] # CANADIAN SYLLABICS TH
+156B  ; [.2BFA.0020.0002.156B] # CANADIAN SYLLABICS TTHE
+156C  ; [.2BFB.0020.0002.156C] # CANADIAN SYLLABICS TTHI
+156D  ; [.2BFC.0020.0002.156D] # CANADIAN SYLLABICS TTHO
+156E  ; [.2BFD.0020.0002.156E] # CANADIAN SYLLABICS TTHA
+156F  ; [.2BFE.0020.0002.156F] # CANADIAN SYLLABICS TTH
+1570  ; [.2BFF.0020.0002.1570] # CANADIAN SYLLABICS TYE
+1571  ; [.2C00.0020.0002.1571] # CANADIAN SYLLABICS TYI
+1572  ; [.2C01.0020.0002.1572] # CANADIAN SYLLABICS TYO
+1573  ; [.2C02.0020.0002.1573] # CANADIAN SYLLABICS TYA
+1574  ; [.2C03.0020.0002.1574] # CANADIAN SYLLABICS NUNAVIK HE
+1575  ; [.2C04.0020.0002.1575] # CANADIAN SYLLABICS NUNAVIK HI
+1576  ; [.2C05.0020.0002.1576] # CANADIAN SYLLABICS NUNAVIK HII
+1577  ; [.2C06.0020.0002.1577] # CANADIAN SYLLABICS NUNAVIK HO
+1578  ; [.2C07.0020.0002.1578] # CANADIAN SYLLABICS NUNAVIK HOO
+1579  ; [.2C08.0020.0002.1579] # CANADIAN SYLLABICS NUNAVIK HA
+157A  ; [.2C09.0020.0002.157A] # CANADIAN SYLLABICS NUNAVIK HAA
+157B  ; [.2C0A.0020.0002.157B] # CANADIAN SYLLABICS NUNAVIK H
+157D  ; [.2C0B.0020.0002.157D] # CANADIAN SYLLABICS HK
+166F  ; [.2C0C.0020.0002.166F] # CANADIAN SYLLABICS QAI
+157E  ; [.2C0D.0020.0002.157E] # CANADIAN SYLLABICS QAAI
+157F  ; [.2C0E.0020.0002.157F] # CANADIAN SYLLABICS QI
+1580  ; [.2C0F.0020.0002.1580] # CANADIAN SYLLABICS QII
+1581  ; [.2C10.0020.0002.1581] # CANADIAN SYLLABICS QO
+1582  ; [.2C11.0020.0002.1582] # CANADIAN SYLLABICS QOO
+1583  ; [.2C12.0020.0002.1583] # CANADIAN SYLLABICS QA
+1584  ; [.2C13.0020.0002.1584] # CANADIAN SYLLABICS QAA
+1585  ; [.2C14.0020.0002.1585] # CANADIAN SYLLABICS Q
+1586  ; [.2C15.0020.0002.1586] # CANADIAN SYLLABICS TLHE
+1587  ; [.2C16.0020.0002.1587] # CANADIAN SYLLABICS TLHI
+1588  ; [.2C17.0020.0002.1588] # CANADIAN SYLLABICS TLHO
+1589  ; [.2C18.0020.0002.1589] # CANADIAN SYLLABICS TLHA
+158A  ; [.2C19.0020.0002.158A] # CANADIAN SYLLABICS WEST-CREE RE
+158B  ; [.2C1A.0020.0002.158B] # CANADIAN SYLLABICS WEST-CREE RI
+158C  ; [.2C1B.0020.0002.158C] # CANADIAN SYLLABICS WEST-CREE RO
+158D  ; [.2C1C.0020.0002.158D] # CANADIAN SYLLABICS WEST-CREE RA
+1670  ; [.2C1D.0020.0002.1670] # CANADIAN SYLLABICS NGAI
+158E  ; [.2C1E.0020.0002.158E] # CANADIAN SYLLABICS NGAAI
+158F  ; [.2C1F.0020.0002.158F] # CANADIAN SYLLABICS NGI
+1590  ; [.2C20.0020.0002.1590] # CANADIAN SYLLABICS NGII
+1591  ; [.2C21.0020.0002.1591] # CANADIAN SYLLABICS NGO
+1592  ; [.2C22.0020.0002.1592] # CANADIAN SYLLABICS NGOO
+1593  ; [.2C23.0020.0002.1593] # CANADIAN SYLLABICS NGA
+1594  ; [.2C24.0020.0002.1594] # CANADIAN SYLLABICS NGAA
+1595  ; [.2C25.0020.0002.1595] # CANADIAN SYLLABICS NG
+1671  ; [.2C26.0020.0002.1671] # CANADIAN SYLLABICS NNGI
+1672  ; [.2C27.0020.0002.1672] # CANADIAN SYLLABICS NNGII
+1673  ; [.2C28.0020.0002.1673] # CANADIAN SYLLABICS NNGO
+1674  ; [.2C29.0020.0002.1674] # CANADIAN SYLLABICS NNGOO
+1675  ; [.2C2A.0020.0002.1675] # CANADIAN SYLLABICS NNGA
+1676  ; [.2C2B.0020.0002.1676] # CANADIAN SYLLABICS NNGAA
+1596  ; [.2C2C.0020.0002.1596] # CANADIAN SYLLABICS NNG
+1597  ; [.2C2D.0020.0002.1597] # CANADIAN SYLLABICS SAYISI SHE
+1598  ; [.2C2E.0020.0002.1598] # CANADIAN SYLLABICS SAYISI SHI
+1599  ; [.2C2F.0020.0002.1599] # CANADIAN SYLLABICS SAYISI SHO
+159A  ; [.2C30.0020.0002.159A] # CANADIAN SYLLABICS SAYISI SHA
+159B  ; [.2C31.0020.0002.159B] # CANADIAN SYLLABICS WOODS-CREE THE
+159C  ; [.2C32.0020.0002.159C] # CANADIAN SYLLABICS WOODS-CREE THI
+159D  ; [.2C33.0020.0002.159D] # CANADIAN SYLLABICS WOODS-CREE THO
+159E  ; [.2C34.0020.0002.159E] # CANADIAN SYLLABICS WOODS-CREE THA
+159F  ; [.2C35.0020.0002.159F] # CANADIAN SYLLABICS WOODS-CREE TH
+15A0  ; [.2C36.0020.0002.15A0] # CANADIAN SYLLABICS LHI
+15A1  ; [.2C37.0020.0002.15A1] # CANADIAN SYLLABICS LHII
+15A2  ; [.2C38.0020.0002.15A2] # CANADIAN SYLLABICS LHO
+15A3  ; [.2C39.0020.0002.15A3] # CANADIAN SYLLABICS LHOO
+15A4  ; [.2C3A.0020.0002.15A4] # CANADIAN SYLLABICS LHA
+15A5  ; [.2C3B.0020.0002.15A5] # CANADIAN SYLLABICS LHAA
+15A6  ; [.2C3C.0020.0002.15A6] # CANADIAN SYLLABICS LH
+157C  ; [.2C3D.0020.0002.157C] # CANADIAN SYLLABICS NUNAVUT H
+15A7  ; [.2C3E.0020.0002.15A7] # CANADIAN SYLLABICS TH-CREE THE
+15A8  ; [.2C3F.0020.0002.15A8] # CANADIAN SYLLABICS TH-CREE THI
+15A9  ; [.2C40.0020.0002.15A9] # CANADIAN SYLLABICS TH-CREE THII
+15AA  ; [.2C41.0020.0002.15AA] # CANADIAN SYLLABICS TH-CREE THO
+15AB  ; [.2C42.0020.0002.15AB] # CANADIAN SYLLABICS TH-CREE THOO
+15AC  ; [.2C43.0020.0002.15AC] # CANADIAN SYLLABICS TH-CREE THA
+15AD  ; [.2C44.0020.0002.15AD] # CANADIAN SYLLABICS TH-CREE THAA
+15AE  ; [.2C45.0020.0002.15AE] # CANADIAN SYLLABICS TH-CREE TH
+15AF  ; [.2C46.0020.0002.15AF] # CANADIAN SYLLABICS AIVILIK B
+15B0  ; [.2C47.0020.0002.15B0] # CANADIAN SYLLABICS BLACKFOOT E
+15B1  ; [.2C48.0020.0002.15B1] # CANADIAN SYLLABICS BLACKFOOT I
+15B2  ; [.2C49.0020.0002.15B2] # CANADIAN SYLLABICS BLACKFOOT O
+15B3  ; [.2C4A.0020.0002.15B3] # CANADIAN SYLLABICS BLACKFOOT A
+15B4  ; [.2C4B.0020.0002.15B4] # CANADIAN SYLLABICS BLACKFOOT WE
+15B5  ; [.2C4C.0020.0002.15B5] # CANADIAN SYLLABICS BLACKFOOT WI
+15B6  ; [.2C4D.0020.0002.15B6] # CANADIAN SYLLABICS BLACKFOOT WO
+15B7  ; [.2C4E.0020.0002.15B7] # CANADIAN SYLLABICS BLACKFOOT WA
+15B8  ; [.2C4F.0020.0002.15B8] # CANADIAN SYLLABICS BLACKFOOT NE
+15B9  ; [.2C50.0020.0002.15B9] # CANADIAN SYLLABICS BLACKFOOT NI
+15BA  ; [.2C51.0020.0002.15BA] # CANADIAN SYLLABICS BLACKFOOT NO
+15BB  ; [.2C52.0020.0002.15BB] # CANADIAN SYLLABICS BLACKFOOT NA
+15BC  ; [.2C53.0020.0002.15BC] # CANADIAN SYLLABICS BLACKFOOT KE
+15BD  ; [.2C54.0020.0002.15BD] # CANADIAN SYLLABICS BLACKFOOT KI
+15BE  ; [.2C55.0020.0002.15BE] # CANADIAN SYLLABICS BLACKFOOT KO
+15BF  ; [.2C56.0020.0002.15BF] # CANADIAN SYLLABICS BLACKFOOT KA
+15C0  ; [.2C57.0020.0002.15C0] # CANADIAN SYLLABICS SAYISI HE
+15C1  ; [.2C58.0020.0002.15C1] # CANADIAN SYLLABICS SAYISI HI
+15C2  ; [.2C59.0020.0002.15C2] # CANADIAN SYLLABICS SAYISI HO
+15C3  ; [.2C5A.0020.0002.15C3] # CANADIAN SYLLABICS SAYISI HA
+15C4  ; [.2C5B.0020.0002.15C4] # CANADIAN SYLLABICS CARRIER GHU
+15C5  ; [.2C5C.0020.0002.15C5] # CANADIAN SYLLABICS CARRIER GHO
+15C6  ; [.2C5D.0020.0002.15C6] # CANADIAN SYLLABICS CARRIER GHE
+15C7  ; [.2C5E.0020.0002.15C7] # CANADIAN SYLLABICS CARRIER GHEE
+15C8  ; [.2C5F.0020.0002.15C8] # CANADIAN SYLLABICS CARRIER GHI
+15C9  ; [.2C60.0020.0002.15C9] # CANADIAN SYLLABICS CARRIER GHA
+15CA  ; [.2C61.0020.0002.15CA] # CANADIAN SYLLABICS CARRIER RU
+15CB  ; [.2C62.0020.0002.15CB] # CANADIAN SYLLABICS CARRIER RO
+15CC  ; [.2C63.0020.0002.15CC] # CANADIAN SYLLABICS CARRIER RE
+15CD  ; [.2C64.0020.0002.15CD] # CANADIAN SYLLABICS CARRIER REE
+15CE  ; [.2C65.0020.0002.15CE] # CANADIAN SYLLABICS CARRIER RI
+15CF  ; [.2C66.0020.0002.15CF] # CANADIAN SYLLABICS CARRIER RA
+15D0  ; [.2C67.0020.0002.15D0] # CANADIAN SYLLABICS CARRIER WU
+15D1  ; [.2C68.0020.0002.15D1] # CANADIAN SYLLABICS CARRIER WO
+15D2  ; [.2C69.0020.0002.15D2] # CANADIAN SYLLABICS CARRIER WE
+15D3  ; [.2C6A.0020.0002.15D3] # CANADIAN SYLLABICS CARRIER WEE
+15D4  ; [.2C6B.0020.0002.15D4] # CANADIAN SYLLABICS CARRIER WI
+15D5  ; [.2C6C.0020.0002.15D5] # CANADIAN SYLLABICS CARRIER WA
+15D6  ; [.2C6D.0020.0002.15D6] # CANADIAN SYLLABICS CARRIER HWU
+15D7  ; [.2C6E.0020.0002.15D7] # CANADIAN SYLLABICS CARRIER HWO
+15D8  ; [.2C6F.0020.0002.15D8] # CANADIAN SYLLABICS CARRIER HWE
+15D9  ; [.2C70.0020.0002.15D9] # CANADIAN SYLLABICS CARRIER HWEE
+15DA  ; [.2C71.0020.0002.15DA] # CANADIAN SYLLABICS CARRIER HWI
+15DB  ; [.2C72.0020.0002.15DB] # CANADIAN SYLLABICS CARRIER HWA
+15DC  ; [.2C73.0020.0002.15DC] # CANADIAN SYLLABICS CARRIER THU
+15DD  ; [.2C74.0020.0002.15DD] # CANADIAN SYLLABICS CARRIER THO
+15DE  ; [.2C75.0020.0002.15DE] # CANADIAN SYLLABICS CARRIER THE
+15DF  ; [.2C76.0020.0002.15DF] # CANADIAN SYLLABICS CARRIER THEE
+15E0  ; [.2C77.0020.0002.15E0] # CANADIAN SYLLABICS CARRIER THI
+15E1  ; [.2C78.0020.0002.15E1] # CANADIAN SYLLABICS CARRIER THA
+15E2  ; [.2C79.0020.0002.15E2] # CANADIAN SYLLABICS CARRIER TTU
+15E3  ; [.2C7A.0020.0002.15E3] # CANADIAN SYLLABICS CARRIER TTO
+15E4  ; [.2C7B.0020.0002.15E4] # CANADIAN SYLLABICS CARRIER TTE
+15E5  ; [.2C7C.0020.0002.15E5] # CANADIAN SYLLABICS CARRIER TTEE
+15E6  ; [.2C7D.0020.0002.15E6] # CANADIAN SYLLABICS CARRIER TTI
+15E7  ; [.2C7E.0020.0002.15E7] # CANADIAN SYLLABICS CARRIER TTA
+15E8  ; [.2C7F.0020.0002.15E8] # CANADIAN SYLLABICS CARRIER PU
+15E9  ; [.2C80.0020.0002.15E9] # CANADIAN SYLLABICS CARRIER PO
+15EA  ; [.2C81.0020.0002.15EA] # CANADIAN SYLLABICS CARRIER PE
+15EB  ; [.2C82.0020.0002.15EB] # CANADIAN SYLLABICS CARRIER PEE
+15EC  ; [.2C83.0020.0002.15EC] # CANADIAN SYLLABICS CARRIER PI
+15ED  ; [.2C84.0020.0002.15ED] # CANADIAN SYLLABICS CARRIER PA
+15EE  ; [.2C85.0020.0002.15EE] # CANADIAN SYLLABICS CARRIER P
+15EF  ; [.2C86.0020.0002.15EF] # CANADIAN SYLLABICS CARRIER GU
+15F0  ; [.2C87.0020.0002.15F0] # CANADIAN SYLLABICS CARRIER GO
+15F1  ; [.2C88.0020.0002.15F1] # CANADIAN SYLLABICS CARRIER GE
+15F2  ; [.2C89.0020.0002.15F2] # CANADIAN SYLLABICS CARRIER GEE
+15F3  ; [.2C8A.0020.0002.15F3] # CANADIAN SYLLABICS CARRIER GI
+15F4  ; [.2C8B.0020.0002.15F4] # CANADIAN SYLLABICS CARRIER GA
+15F5  ; [.2C8C.0020.0002.15F5] # CANADIAN SYLLABICS CARRIER KHU
+15F6  ; [.2C8D.0020.0002.15F6] # CANADIAN SYLLABICS CARRIER KHO
+15F7  ; [.2C8E.0020.0002.15F7] # CANADIAN SYLLABICS CARRIER KHE
+15F8  ; [.2C8F.0020.0002.15F8] # CANADIAN SYLLABICS CARRIER KHEE
+15F9  ; [.2C90.0020.0002.15F9] # CANADIAN SYLLABICS CARRIER KHI
+15FA  ; [.2C91.0020.0002.15FA] # CANADIAN SYLLABICS CARRIER KHA
+15FB  ; [.2C92.0020.0002.15FB] # CANADIAN SYLLABICS CARRIER KKU
+15FC  ; [.2C93.0020.0002.15FC] # CANADIAN SYLLABICS CARRIER KKO
+15FD  ; [.2C94.0020.0002.15FD] # CANADIAN SYLLABICS CARRIER KKE
+15FE  ; [.2C95.0020.0002.15FE] # CANADIAN SYLLABICS CARRIER KKEE
+15FF  ; [.2C96.0020.0002.15FF] # CANADIAN SYLLABICS CARRIER KKI
+1600  ; [.2C97.0020.0002.1600] # CANADIAN SYLLABICS CARRIER KKA
+1601  ; [.2C98.0020.0002.1601] # CANADIAN SYLLABICS CARRIER KK
+1602  ; [.2C99.0020.0002.1602] # CANADIAN SYLLABICS CARRIER NU
+1603  ; [.2C9A.0020.0002.1603] # CANADIAN SYLLABICS CARRIER NO
+1604  ; [.2C9B.0020.0002.1604] # CANADIAN SYLLABICS CARRIER NE
+1605  ; [.2C9C.0020.0002.1605] # CANADIAN SYLLABICS CARRIER NEE
+1606  ; [.2C9D.0020.0002.1606] # CANADIAN SYLLABICS CARRIER NI
+1607  ; [.2C9E.0020.0002.1607] # CANADIAN SYLLABICS CARRIER NA
+1608  ; [.2C9F.0020.0002.1608] # CANADIAN SYLLABICS CARRIER MU
+1609  ; [.2CA0.0020.0002.1609] # CANADIAN SYLLABICS CARRIER MO
+160A  ; [.2CA1.0020.0002.160A] # CANADIAN SYLLABICS CARRIER ME
+160B  ; [.2CA2.0020.0002.160B] # CANADIAN SYLLABICS CARRIER MEE
+160C  ; [.2CA3.0020.0002.160C] # CANADIAN SYLLABICS CARRIER MI
+160D  ; [.2CA4.0020.0002.160D] # CANADIAN SYLLABICS CARRIER MA
+160E  ; [.2CA5.0020.0002.160E] # CANADIAN SYLLABICS CARRIER YU
+160F  ; [.2CA6.0020.0002.160F] # CANADIAN SYLLABICS CARRIER YO
+1610  ; [.2CA7.0020.0002.1610] # CANADIAN SYLLABICS CARRIER YE
+1611  ; [.2CA8.0020.0002.1611] # CANADIAN SYLLABICS CARRIER YEE
+1612  ; [.2CA9.0020.0002.1612] # CANADIAN SYLLABICS CARRIER YI
+1613  ; [.2CAA.0020.0002.1613] # CANADIAN SYLLABICS CARRIER YA
+1614  ; [.2CAB.0020.0002.1614] # CANADIAN SYLLABICS CARRIER JU
+1615  ; [.2CAC.0020.0002.1615] # CANADIAN SYLLABICS SAYISI JU
+1616  ; [.2CAD.0020.0002.1616] # CANADIAN SYLLABICS CARRIER JO
+1617  ; [.2CAE.0020.0002.1617] # CANADIAN SYLLABICS CARRIER JE
+1618  ; [.2CAF.0020.0002.1618] # CANADIAN SYLLABICS CARRIER JEE
+1619  ; [.2CB0.0020.0002.1619] # CANADIAN SYLLABICS CARRIER JI
+161A  ; [.2CB1.0020.0002.161A] # CANADIAN SYLLABICS SAYISI JI
+161B  ; [.2CB2.0020.0002.161B] # CANADIAN SYLLABICS CARRIER JA
+161C  ; [.2CB3.0020.0002.161C] # CANADIAN SYLLABICS CARRIER JJU
+161D  ; [.2CB4.0020.0002.161D] # CANADIAN SYLLABICS CARRIER JJO
+161E  ; [.2CB5.0020.0002.161E] # CANADIAN SYLLABICS CARRIER JJE
+161F  ; [.2CB6.0020.0002.161F] # CANADIAN SYLLABICS CARRIER JJEE
+1620  ; [.2CB7.0020.0002.1620] # CANADIAN SYLLABICS CARRIER JJI
+1621  ; [.2CB8.0020.0002.1621] # CANADIAN SYLLABICS CARRIER JJA
+1622  ; [.2CB9.0020.0002.1622] # CANADIAN SYLLABICS CARRIER LU
+1623  ; [.2CBA.0020.0002.1623] # CANADIAN SYLLABICS CARRIER LO
+1624  ; [.2CBB.0020.0002.1624] # CANADIAN SYLLABICS CARRIER LE
+1625  ; [.2CBC.0020.0002.1625] # CANADIAN SYLLABICS CARRIER LEE
+1626  ; [.2CBD.0020.0002.1626] # CANADIAN SYLLABICS CARRIER LI
+1627  ; [.2CBE.0020.0002.1627] # CANADIAN SYLLABICS CARRIER LA
+1628  ; [.2CBF.0020.0002.1628] # CANADIAN SYLLABICS CARRIER DLU
+1629  ; [.2CC0.0020.0002.1629] # CANADIAN SYLLABICS CARRIER DLO
+162A  ; [.2CC1.0020.0002.162A] # CANADIAN SYLLABICS CARRIER DLE
+162B  ; [.2CC2.0020.0002.162B] # CANADIAN SYLLABICS CARRIER DLEE
+162C  ; [.2CC3.0020.0002.162C] # CANADIAN SYLLABICS CARRIER DLI
+162D  ; [.2CC4.0020.0002.162D] # CANADIAN SYLLABICS CARRIER DLA
+162E  ; [.2CC5.0020.0002.162E] # CANADIAN SYLLABICS CARRIER LHU
+162F  ; [.2CC6.0020.0002.162F] # CANADIAN SYLLABICS CARRIER LHO
+1630  ; [.2CC7.0020.0002.1630] # CANADIAN SYLLABICS CARRIER LHE
+1631  ; [.2CC8.0020.0002.1631] # CANADIAN SYLLABICS CARRIER LHEE
+1632  ; [.2CC9.0020.0002.1632] # CANADIAN SYLLABICS CARRIER LHI
+1633  ; [.2CCA.0020.0002.1633] # CANADIAN SYLLABICS CARRIER LHA
+1634  ; [.2CCB.0020.0002.1634] # CANADIAN SYLLABICS CARRIER TLHU
+1635  ; [.2CCC.0020.0002.1635] # CANADIAN SYLLABICS CARRIER TLHO
+1636  ; [.2CCD.0020.0002.1636] # CANADIAN SYLLABICS CARRIER TLHE
+1637  ; [.2CCE.0020.0002.1637] # CANADIAN SYLLABICS CARRIER TLHEE
+1638  ; [.2CCF.0020.0002.1638] # CANADIAN SYLLABICS CARRIER TLHI
+1639  ; [.2CD0.0020.0002.1639] # CANADIAN SYLLABICS CARRIER TLHA
+163A  ; [.2CD1.0020.0002.163A] # CANADIAN SYLLABICS CARRIER TLU
+163B  ; [.2CD2.0020.0002.163B] # CANADIAN SYLLABICS CARRIER TLO
+163C  ; [.2CD3.0020.0002.163C] # CANADIAN SYLLABICS CARRIER TLE
+163D  ; [.2CD4.0020.0002.163D] # CANADIAN SYLLABICS CARRIER TLEE
+163E  ; [.2CD5.0020.0002.163E] # CANADIAN SYLLABICS CARRIER TLI
+163F  ; [.2CD6.0020.0002.163F] # CANADIAN SYLLABICS CARRIER TLA
+1640  ; [.2CD7.0020.0002.1640] # CANADIAN SYLLABICS CARRIER ZU
+1641  ; [.2CD8.0020.0002.1641] # CANADIAN SYLLABICS CARRIER ZO
+1642  ; [.2CD9.0020.0002.1642] # CANADIAN SYLLABICS CARRIER ZE
+1643  ; [.2CDA.0020.0002.1643] # CANADIAN SYLLABICS CARRIER ZEE
+1644  ; [.2CDB.0020.0002.1644] # CANADIAN SYLLABICS CARRIER ZI
+1645  ; [.2CDC.0020.0002.1645] # CANADIAN SYLLABICS CARRIER ZA
+1646  ; [.2CDD.0020.0002.1646] # CANADIAN SYLLABICS CARRIER Z
+1647  ; [.2CDE.0020.0002.1647] # CANADIAN SYLLABICS CARRIER INITIAL Z
+1648  ; [.2CDF.0020.0002.1648] # CANADIAN SYLLABICS CARRIER DZU
+1649  ; [.2CE0.0020.0002.1649] # CANADIAN SYLLABICS CARRIER DZO
+164A  ; [.2CE1.0020.0002.164A] # CANADIAN SYLLABICS CARRIER DZE
+164B  ; [.2CE2.0020.0002.164B] # CANADIAN SYLLABICS CARRIER DZEE
+164C  ; [.2CE3.0020.0002.164C] # CANADIAN SYLLABICS CARRIER DZI
+164D  ; [.2CE4.0020.0002.164D] # CANADIAN SYLLABICS CARRIER DZA
+164E  ; [.2CE5.0020.0002.164E] # CANADIAN SYLLABICS CARRIER SU
+164F  ; [.2CE6.0020.0002.164F] # CANADIAN SYLLABICS CARRIER SO
+1650  ; [.2CE7.0020.0002.1650] # CANADIAN SYLLABICS CARRIER SE
+1651  ; [.2CE8.0020.0002.1651] # CANADIAN SYLLABICS CARRIER SEE
+1652  ; [.2CE9.0020.0002.1652] # CANADIAN SYLLABICS CARRIER SI
+1653  ; [.2CEA.0020.0002.1653] # CANADIAN SYLLABICS CARRIER SA
+1654  ; [.2CEB.0020.0002.1654] # CANADIAN SYLLABICS CARRIER SHU
+1655  ; [.2CEC.0020.0002.1655] # CANADIAN SYLLABICS CARRIER SHO
+1656  ; [.2CED.0020.0002.1656] # CANADIAN SYLLABICS CARRIER SHE
+1657  ; [.2CEE.0020.0002.1657] # CANADIAN SYLLABICS CARRIER SHEE
+1658  ; [.2CEF.0020.0002.1658] # CANADIAN SYLLABICS CARRIER SHI
+1659  ; [.2CF0.0020.0002.1659] # CANADIAN SYLLABICS CARRIER SHA
+165A  ; [.2CF1.0020.0002.165A] # CANADIAN SYLLABICS CARRIER SH
+165B  ; [.2CF2.0020.0002.165B] # CANADIAN SYLLABICS CARRIER TSU
+165C  ; [.2CF3.0020.0002.165C] # CANADIAN SYLLABICS CARRIER TSO
+165D  ; [.2CF4.0020.0002.165D] # CANADIAN SYLLABICS CARRIER TSE
+165E  ; [.2CF5.0020.0002.165E] # CANADIAN SYLLABICS CARRIER TSEE
+165F  ; [.2CF6.0020.0002.165F] # CANADIAN SYLLABICS CARRIER TSI
+1660  ; [.2CF7.0020.0002.1660] # CANADIAN SYLLABICS CARRIER TSA
+1661  ; [.2CF8.0020.0002.1661] # CANADIAN SYLLABICS CARRIER CHU
+1662  ; [.2CF9.0020.0002.1662] # CANADIAN SYLLABICS CARRIER CHO
+1663  ; [.2CFA.0020.0002.1663] # CANADIAN SYLLABICS CARRIER CHE
+1664  ; [.2CFB.0020.0002.1664] # CANADIAN SYLLABICS CARRIER CHEE
+1665  ; [.2CFC.0020.0002.1665] # CANADIAN SYLLABICS CARRIER CHI
+1666  ; [.2CFD.0020.0002.1666] # CANADIAN SYLLABICS CARRIER CHA
+1667  ; [.2CFE.0020.0002.1667] # CANADIAN SYLLABICS CARRIER TTSU
+1668  ; [.2CFF.0020.0002.1668] # CANADIAN SYLLABICS CARRIER TTSO
+1669  ; [.2D00.0020.0002.1669] # CANADIAN SYLLABICS CARRIER TTSE
+166A  ; [.2D01.0020.0002.166A] # CANADIAN SYLLABICS CARRIER TTSEE
+166B  ; [.2D02.0020.0002.166B] # CANADIAN SYLLABICS CARRIER TTSI
+166C  ; [.2D03.0020.0002.166C] # CANADIAN SYLLABICS CARRIER TTSA
+1677  ; [.2D04.0020.0002.1677] # CANADIAN SYLLABICS WOODS-CREE THWEE
+1678  ; [.2D05.0020.0002.1678] # CANADIAN SYLLABICS WOODS-CREE THWI
+1679  ; [.2D06.0020.0002.1679] # CANADIAN SYLLABICS WOODS-CREE THWII
+167A  ; [.2D07.0020.0002.167A] # CANADIAN SYLLABICS WOODS-CREE THWO
+167B  ; [.2D08.0020.0002.167B] # CANADIAN SYLLABICS WOODS-CREE THWOO
+167C  ; [.2D09.0020.0002.167C] # CANADIAN SYLLABICS WOODS-CREE THWA
+167D  ; [.2D0A.0020.0002.167D] # CANADIAN SYLLABICS WOODS-CREE THWAA
+167E  ; [.2D0B.0020.0002.167E] # CANADIAN SYLLABICS WOODS-CREE FINAL TH
+167F  ; [.2D0C.0020.0002.167F] # CANADIAN SYLLABICS BLACKFOOT W
+18B0  ; [.2D0D.0020.0002.18B0] # CANADIAN SYLLABICS OY
+18B1  ; [.2D0E.0020.0002.18B1] # CANADIAN SYLLABICS AY
+18B2  ; [.2D0F.0020.0002.18B2] # CANADIAN SYLLABICS AAY
+18B3  ; [.2D10.0020.0002.18B3] # CANADIAN SYLLABICS WAY
+18B4  ; [.2D11.0020.0002.18B4] # CANADIAN SYLLABICS POY
+18B5  ; [.2D12.0020.0002.18B5] # CANADIAN SYLLABICS PAY
+18B6  ; [.2D13.0020.0002.18B6] # CANADIAN SYLLABICS PWOY
+18B7  ; [.2D14.0020.0002.18B7] # CANADIAN SYLLABICS TAY
+18B8  ; [.2D15.0020.0002.18B8] # CANADIAN SYLLABICS KAY
+18B9  ; [.2D16.0020.0002.18B9] # CANADIAN SYLLABICS KWAY
+18BA  ; [.2D17.0020.0002.18BA] # CANADIAN SYLLABICS MAY
+18BB  ; [.2D18.0020.0002.18BB] # CANADIAN SYLLABICS NOY
+18BC  ; [.2D19.0020.0002.18BC] # CANADIAN SYLLABICS NAY
+18BD  ; [.2D1A.0020.0002.18BD] # CANADIAN SYLLABICS LAY
+18BE  ; [.2D1B.0020.0002.18BE] # CANADIAN SYLLABICS SOY
+18BF  ; [.2D1C.0020.0002.18BF] # CANADIAN SYLLABICS SAY
+18C0  ; [.2D1D.0020.0002.18C0] # CANADIAN SYLLABICS SHOY
+18C1  ; [.2D1E.0020.0002.18C1] # CANADIAN SYLLABICS SHAY
+18C2  ; [.2D1F.0020.0002.18C2] # CANADIAN SYLLABICS SHWOY
+18C3  ; [.2D20.0020.0002.18C3] # CANADIAN SYLLABICS YOY
+18C4  ; [.2D21.0020.0002.18C4] # CANADIAN SYLLABICS YAY
+18C5  ; [.2D22.0020.0002.18C5] # CANADIAN SYLLABICS RAY
+18C6  ; [.2D23.0020.0002.18C6] # CANADIAN SYLLABICS NWI
+18C7  ; [.2D24.0020.0002.18C7] # CANADIAN SYLLABICS OJIBWAY NWI
+18C8  ; [.2D25.0020.0002.18C8] # CANADIAN SYLLABICS NWII
+18C9  ; [.2D26.0020.0002.18C9] # CANADIAN SYLLABICS OJIBWAY NWII
+18CA  ; [.2D27.0020.0002.18CA] # CANADIAN SYLLABICS NWO
+18CB  ; [.2D28.0020.0002.18CB] # CANADIAN SYLLABICS OJIBWAY NWO
+18CC  ; [.2D29.0020.0002.18CC] # CANADIAN SYLLABICS NWOO
+18CD  ; [.2D2A.0020.0002.18CD] # CANADIAN SYLLABICS OJIBWAY NWOO
+18CE  ; [.2D2B.0020.0002.18CE] # CANADIAN SYLLABICS RWEE
+18CF  ; [.2D2C.0020.0002.18CF] # CANADIAN SYLLABICS RWI
+18D0  ; [.2D2D.0020.0002.18D0] # CANADIAN SYLLABICS RWII
+18D1  ; [.2D2E.0020.0002.18D1] # CANADIAN SYLLABICS RWO
+18D2  ; [.2D2F.0020.0002.18D2] # CANADIAN SYLLABICS RWOO
+18D3  ; [.2D30.0020.0002.18D3] # CANADIAN SYLLABICS RWA
+18D4  ; [.2D31.0020.0002.18D4] # CANADIAN SYLLABICS OJIBWAY P
+18D5  ; [.2D32.0020.0002.18D5] # CANADIAN SYLLABICS OJIBWAY T
+18D6  ; [.2D33.0020.0002.18D6] # CANADIAN SYLLABICS OJIBWAY K
+18D7  ; [.2D34.0020.0002.18D7] # CANADIAN SYLLABICS OJIBWAY C
+18D8  ; [.2D35.0020.0002.18D8] # CANADIAN SYLLABICS OJIBWAY M
+18D9  ; [.2D36.0020.0002.18D9] # CANADIAN SYLLABICS OJIBWAY N
+18DA  ; [.2D37.0020.0002.18DA] # CANADIAN SYLLABICS OJIBWAY S
+18DB  ; [.2D38.0020.0002.18DB] # CANADIAN SYLLABICS OJIBWAY SH
+18DC  ; [.2D39.0020.0002.18DC] # CANADIAN SYLLABICS EASTERN W
+18DD  ; [.2D3A.0020.0002.18DD] # CANADIAN SYLLABICS WESTERN W
+18DE  ; [.2D3B.0020.0002.18DE] # CANADIAN SYLLABICS FINAL SMALL RING
+18DF  ; [.2D3C.0020.0002.18DF] # CANADIAN SYLLABICS FINAL RAISED DOT
+18E0  ; [.2D3D.0020.0002.18E0] # CANADIAN SYLLABICS R-CREE RWE
+18E1  ; [.2D3E.0020.0002.18E1] # CANADIAN SYLLABICS WEST-CREE LOO
+18E2  ; [.2D3F.0020.0002.18E2] # CANADIAN SYLLABICS WEST-CREE LAA
+18E3  ; [.2D40.0020.0002.18E3] # CANADIAN SYLLABICS THWE
+18E4  ; [.2D41.0020.0002.18E4] # CANADIAN SYLLABICS THWA
+18E5  ; [.2D42.0020.0002.18E5] # CANADIAN SYLLABICS TTHWE
+18E6  ; [.2D43.0020.0002.18E6] # CANADIAN SYLLABICS TTHOO
+18E7  ; [.2D44.0020.0002.18E7] # CANADIAN SYLLABICS TTHAA
+18E8  ; [.2D45.0020.0002.18E8] # CANADIAN SYLLABICS TLHWE
+18E9  ; [.2D46.0020.0002.18E9] # CANADIAN SYLLABICS TLHOO
+18EA  ; [.2D47.0020.0002.18EA] # CANADIAN SYLLABICS SAYISI SHWE
+18EB  ; [.2D48.0020.0002.18EB] # CANADIAN SYLLABICS SAYISI SHOO
+18EC  ; [.2D49.0020.0002.18EC] # CANADIAN SYLLABICS SAYISI HOO
+18ED  ; [.2D4A.0020.0002.18ED] # CANADIAN SYLLABICS CARRIER GWU
+18EE  ; [.2D4B.0020.0002.18EE] # CANADIAN SYLLABICS CARRIER DENE GEE
+18EF  ; [.2D4C.0020.0002.18EF] # CANADIAN SYLLABICS CARRIER GAA
+18F0  ; [.2D4D.0020.0002.18F0] # CANADIAN SYLLABICS CARRIER GWA
+18F1  ; [.2D4E.0020.0002.18F1] # CANADIAN SYLLABICS SAYISI JUU
+18F2  ; [.2D4F.0020.0002.18F2] # CANADIAN SYLLABICS CARRIER JWA
+18F3  ; [.2D50.0020.0002.18F3] # CANADIAN SYLLABICS BEAVER DENE L
+18F4  ; [.2D51.0020.0002.18F4] # CANADIAN SYLLABICS BEAVER DENE R
+18F5  ; [.2D52.0020.0002.18F5] # CANADIAN SYLLABICS CARRIER DENTAL S
+1681  ; [.2D53.0020.0002.1681] # OGHAM LETTER BEITH
+1682  ; [.2D54.0020.0002.1682] # OGHAM LETTER LUIS
+1683  ; [.2D55.0020.0002.1683] # OGHAM LETTER FEARN
+1684  ; [.2D56.0020.0002.1684] # OGHAM LETTER SAIL
+1685  ; [.2D57.0020.0002.1685] # OGHAM LETTER NION
+1686  ; [.2D58.0020.0002.1686] # OGHAM LETTER UATH
+1687  ; [.2D59.0020.0002.1687] # OGHAM LETTER DAIR
+1688  ; [.2D5A.0020.0002.1688] # OGHAM LETTER TINNE
+1689  ; [.2D5B.0020.0002.1689] # OGHAM LETTER COLL
+168A  ; [.2D5C.0020.0002.168A] # OGHAM LETTER CEIRT
+168B  ; [.2D5D.0020.0002.168B] # OGHAM LETTER MUIN
+168C  ; [.2D5E.0020.0002.168C] # OGHAM LETTER GORT
+168D  ; [.2D5F.0020.0002.168D] # OGHAM LETTER NGEADAL
+168E  ; [.2D60.0020.0002.168E] # OGHAM LETTER STRAIF
+168F  ; [.2D61.0020.0002.168F] # OGHAM LETTER RUIS
+1690  ; [.2D62.0020.0002.1690] # OGHAM LETTER AILM
+1691  ; [.2D63.0020.0002.1691] # OGHAM LETTER ONN
+1692  ; [.2D64.0020.0002.1692] # OGHAM LETTER UR
+1693  ; [.2D65.0020.0002.1693] # OGHAM LETTER EADHADH
+1694  ; [.2D66.0020.0002.1694] # OGHAM LETTER IODHADH
+1695  ; [.2D67.0020.0002.1695] # OGHAM LETTER EABHADH
+1696  ; [.2D68.0020.0002.1696] # OGHAM LETTER OR
+1697  ; [.2D69.0020.0002.1697] # OGHAM LETTER UILLEANN
+1698  ; [.2D6A.0020.0002.1698] # OGHAM LETTER IFIN
+1699  ; [.2D6B.0020.0002.1699] # OGHAM LETTER EAMHANCHOLL
+169A  ; [.2D6C.0020.0002.169A] # OGHAM LETTER PEITH
+16A0  ; [.2D6D.0020.0002.16A0] # RUNIC LETTER FEHU FEOH FE F
+16A1  ; [.2D6D.0020.0004.16A1][.0000.0139.0004.16A1] # RUNIC LETTER V
+16A2  ; [.2D6E.0020.0002.16A2] # RUNIC LETTER URUZ UR U
+16A4  ; [.2D6E.0020.0004.16A4][.0000.0139.0004.16A4] # RUNIC LETTER Y
+16A5  ; [.2D6E.0020.0004.16A5][.0000.013A.0004.16A5] # RUNIC LETTER W
+16A6  ; [.2D6F.0020.0002.16A6] # RUNIC LETTER THURISAZ THURS THORN
+16A7  ; [.2D6F.0020.0004.16A7][.0000.0139.0004.16A7] # RUNIC LETTER ETH
+16F0  ; [.2D6F.0020.0004.16F0][.2D6F.0020.0004.16F0] # RUNIC BELGTHOR SYMBOL
+16A8  ; [.2D70.0020.0002.16A8] # RUNIC LETTER ANSUZ A
+16A9  ; [.2D70.0020.0004.16A9][.0000.0139.0004.16A9] # RUNIC LETTER OS O
+16AC  ; [.2D70.0020.0004.16AC][.0000.013A.0004.16AC] # RUNIC LETTER LONG-BRANCH-OSS O
+16AD  ; [.2D70.0020.0004.16AD][.0000.013C.0004.16AD] # RUNIC LETTER SHORT-TWIG-OSS O
+16AE  ; [.2D70.0020.0004.16AE][.0000.013D.0004.16AE] # RUNIC LETTER O
+16AF  ; [.2D71.0020.0002.16AF] # RUNIC LETTER OE
+16B0  ; [.2D72.0020.0002.16B0] # RUNIC LETTER ON
+16B1  ; [.2D73.0020.0002.16B1] # RUNIC LETTER RAIDO RAD REID R
+16B2  ; [.2D74.0020.0002.16B2] # RUNIC LETTER KAUNA
+16B3  ; [.2D74.0020.0004.16B3][.0000.0139.0004.16B3] # RUNIC LETTER CEN
+16B4  ; [.2D74.0020.0004.16B4][.0000.013A.0004.16B4] # RUNIC LETTER KAUN K
+16B5  ; [.2D74.0020.0004.16B5][.0000.013C.0004.16B5] # RUNIC LETTER G
+16B6  ; [.2D74.0020.0004.16B6][.0000.013D.0004.16B6] # RUNIC LETTER ENG
+16B7  ; [.2D75.0020.0002.16B7] # RUNIC LETTER GEBO GYFU G
+16B9  ; [.2D76.0020.0002.16B9] # RUNIC LETTER WUNJO WYNN W
+16E9  ; [.2D76.0020.0004.16E9][.0000.0139.0004.16E9] # RUNIC LETTER Q
+16BA  ; [.2D77.0020.0002.16BA] # RUNIC LETTER HAGLAZ H
+16BB  ; [.2D77.0020.0004.16BB][.0000.0139.0004.16BB] # RUNIC LETTER HAEGL H
+16BC  ; [.2D77.0020.0004.16BC][.0000.013A.0004.16BC] # RUNIC LETTER LONG-BRANCH-HAGALL H
+16BD  ; [.2D77.0020.0004.16BD][.0000.013C.0004.16BD] # RUNIC LETTER SHORT-TWIG-HAGALL H
+16BE  ; [.2D78.0020.0002.16BE] # RUNIC LETTER NAUDIZ NYD NAUD N
+16BF  ; [.2D78.0020.0004.16BF][.0000.0139.0004.16BF] # RUNIC LETTER SHORT-TWIG-NAUD N
+16C0  ; [.2D78.0020.0004.16C0][.0000.013A.0004.16C0] # RUNIC LETTER DOTTED-N
+16C1  ; [.2D79.0020.0002.16C1] # RUNIC LETTER ISAZ IS ISS I
+16C2  ; [.2D79.0020.0004.16C2][.0000.0139.0004.16C2] # RUNIC LETTER E
+16C3  ; [.2D7A.0020.0002.16C3] # RUNIC LETTER JERAN J
+16C4  ; [.2D7A.0020.0004.16C4][.0000.0139.0004.16C4] # RUNIC LETTER GER
+16C5  ; [.2D7B.0020.0002.16C5] # RUNIC LETTER LONG-BRANCH-AR AE
+16C6  ; [.2D7B.0020.0004.16C6][.0000.0139.0004.16C6] # RUNIC LETTER SHORT-TWIG-AR A
+16EE  ; [.2D7B.0020.0004.16EE][.2D84.0020.0004.16EE] # RUNIC ARLAUG SYMBOL
+16C7  ; [.2D7C.0020.0002.16C7] # RUNIC LETTER IWAZ EOH
+16C8  ; [.2D7D.0020.0002.16C8] # RUNIC LETTER PERTHO PEORTH P
+16D5  ; [.2D7D.0020.0004.16D5][.0000.0139.0004.16D5] # RUNIC LETTER OPEN-P
+16C9  ; [.2D7E.0020.0002.16C9] # RUNIC LETTER ALGIZ EOLHX
+16CA  ; [.2D7F.0020.0002.16CA] # RUNIC LETTER SOWILO S
+16CB  ; [.2D7F.0020.0004.16CB][.0000.0139.0004.16CB] # RUNIC LETTER SIGEL LONG-BRANCH-SOL S
+16EA  ; [.2D7F.0020.0004.16EA][.0000.013A.0004.16EA] # RUNIC LETTER X
+16CC  ; [.2D7F.0020.0004.16CC][.0000.013C.0004.16CC] # RUNIC LETTER SHORT-TWIG-SOL S
+16CD  ; [.2D7F.0020.0004.16CD][.0000.013D.0004.16CD] # RUNIC LETTER C
+16CE  ; [.2D7F.0020.0004.16CE][.0000.013E.0004.16CE] # RUNIC LETTER Z
+16CF  ; [.2D80.0020.0002.16CF] # RUNIC LETTER TIWAZ TIR TYR T
+16D0  ; [.2D80.0020.0004.16D0][.0000.0139.0004.16D0] # RUNIC LETTER SHORT-TWIG-TYR T
+16D1  ; [.2D80.0020.0004.16D1][.0000.013A.0004.16D1] # RUNIC LETTER D
+16D2  ; [.2D81.0020.0002.16D2] # RUNIC LETTER BERKANAN BEORC BJARKAN B
+16D3  ; [.2D81.0020.0004.16D3][.0000.0139.0004.16D3] # RUNIC LETTER SHORT-TWIG-BJARKAN B
+16D4  ; [.2D81.0020.0004.16D4][.0000.013A.0004.16D4] # RUNIC LETTER DOTTED-P
+16D6  ; [.2D82.0020.0002.16D6] # RUNIC LETTER EHWAZ EH E
+16D7  ; [.2D83.0020.0002.16D7] # RUNIC LETTER MANNAZ MAN M
+16D8  ; [.2D83.0020.0004.16D8][.0000.0139.0004.16D8] # RUNIC LETTER LONG-BRANCH-MADR M
+16D9  ; [.2D83.0020.0004.16D9][.0000.013A.0004.16D9] # RUNIC LETTER SHORT-TWIG-MADR M
+16EF  ; [.2D83.0020.0004.16EF][.0000.0139.0004.16EF][.2D83.0020.0004.16EF][.0000.0139.0004.16EF] # RUNIC TVIMADUR SYMBOL
+16DA  ; [.2D84.0020.0002.16DA] # RUNIC LETTER LAUKAZ LAGU LOGR L
+16DB  ; [.2D84.0020.0004.16DB][.0000.0139.0004.16DB] # RUNIC LETTER DOTTED-L
+16DC  ; [.2D85.0020.0002.16DC] # RUNIC LETTER INGWAZ
+16DD  ; [.2D85.0020.0004.16DD][.0000.0139.0004.16DD] # RUNIC LETTER ING
+16DE  ; [.2D86.0020.0002.16DE] # RUNIC LETTER DAGAZ DAEG D
+16DF  ; [.2D87.0020.0002.16DF] # RUNIC LETTER OTHALAN ETHEL O
+16AA  ; [.2D88.0020.0002.16AA] # RUNIC LETTER AC A
+16AB  ; [.2D89.0020.0002.16AB] # RUNIC LETTER AESC
+16A3  ; [.2D8A.0020.0002.16A3] # RUNIC LETTER YR
+16E0  ; [.2D8B.0020.0002.16E0] # RUNIC LETTER EAR
+16E3  ; [.2D8C.0020.0002.16E3] # RUNIC LETTER CALC
+16B8  ; [.2D8D.0020.0002.16B8] # RUNIC LETTER GAR
+16E4  ; [.2D8E.0020.0002.16E4] # RUNIC LETTER CEALC
+16E1  ; [.2D8F.0020.0002.16E1] # RUNIC LETTER IOR
+16E2  ; [.2D90.0020.0002.16E2] # RUNIC LETTER CWEORTH
+16E5  ; [.2D91.0020.0002.16E5] # RUNIC LETTER STAN
+16E6  ; [.2D92.0020.0002.16E6] # RUNIC LETTER LONG-BRANCH-YR
+16E7  ; [.2D92.0020.0004.16E7][.0000.0139.0004.16E7] # RUNIC LETTER SHORT-TWIG-YR
+16E8  ; [.2D92.0020.0004.16E8][.0000.013A.0004.16E8] # RUNIC LETTER ICELANDIC-YR
+10C00 ; [.2D93.0020.0002.10C00] # OLD TURKIC LETTER ORKHON A
+10C01 ; [.2D93.0020.0004.10C01][.0000.0139.0004.10C01] # OLD TURKIC LETTER YENISEI A
+10C02 ; [.2D94.0020.0002.10C02] # OLD TURKIC LETTER YENISEI AE
+10C03 ; [.2D95.0020.0002.10C03] # OLD TURKIC LETTER ORKHON I
+10C04 ; [.2D95.0020.0004.10C04][.0000.0139.0004.10C04] # OLD TURKIC LETTER YENISEI I
+10C05 ; [.2D96.0020.0002.10C05] # OLD TURKIC LETTER YENISEI E
+10C06 ; [.2D97.0020.0002.10C06] # OLD TURKIC LETTER ORKHON O
+10C07 ; [.2D98.0020.0002.10C07] # OLD TURKIC LETTER ORKHON OE
+10C08 ; [.2D98.0020.0004.10C08][.0000.0139.0004.10C08] # OLD TURKIC LETTER YENISEI OE
+10C09 ; [.2D99.0020.0002.10C09] # OLD TURKIC LETTER ORKHON AB
+10C0A ; [.2D99.0020.0004.10C0A][.0000.0139.0004.10C0A] # OLD TURKIC LETTER YENISEI AB
+10C0B ; [.2D9A.0020.0002.10C0B] # OLD TURKIC LETTER ORKHON AEB
+10C0C ; [.2D9A.0020.0004.10C0C][.0000.0139.0004.10C0C] # OLD TURKIC LETTER YENISEI AEB
+10C0D ; [.2D9B.0020.0002.10C0D] # OLD TURKIC LETTER ORKHON AG
+10C0E ; [.2D9B.0020.0004.10C0E][.0000.0139.0004.10C0E] # OLD TURKIC LETTER YENISEI AG
+10C0F ; [.2D9C.0020.0002.10C0F] # OLD TURKIC LETTER ORKHON AEG
+10C10 ; [.2D9C.0020.0004.10C10][.0000.0139.0004.10C10] # OLD TURKIC LETTER YENISEI AEG
+10C11 ; [.2D9D.0020.0002.10C11] # OLD TURKIC LETTER ORKHON AD
+10C12 ; [.2D9D.0020.0004.10C12][.0000.0139.0004.10C12] # OLD TURKIC LETTER YENISEI AD
+10C13 ; [.2D9E.0020.0002.10C13] # OLD TURKIC LETTER ORKHON AED
+10C14 ; [.2D9F.0020.0002.10C14] # OLD TURKIC LETTER ORKHON EZ
+10C15 ; [.2D9F.0020.0004.10C15][.0000.0139.0004.10C15] # OLD TURKIC LETTER YENISEI EZ
+10C16 ; [.2DA0.0020.0002.10C16] # OLD TURKIC LETTER ORKHON AY
+10C17 ; [.2DA0.0020.0004.10C17][.0000.0139.0004.10C17] # OLD TURKIC LETTER YENISEI AY
+10C18 ; [.2DA1.0020.0002.10C18] # OLD TURKIC LETTER ORKHON AEY
+10C19 ; [.2DA1.0020.0004.10C19][.0000.0139.0004.10C19] # OLD TURKIC LETTER YENISEI AEY
+10C1A ; [.2DA2.0020.0002.10C1A] # OLD TURKIC LETTER ORKHON AEK
+10C1B ; [.2DA2.0020.0004.10C1B][.0000.0139.0004.10C1B] # OLD TURKIC LETTER YENISEI AEK
+10C1C ; [.2DA3.0020.0002.10C1C] # OLD TURKIC LETTER ORKHON OEK
+10C1D ; [.2DA3.0020.0004.10C1D][.0000.0139.0004.10C1D] # OLD TURKIC LETTER YENISEI OEK
+10C1E ; [.2DA4.0020.0002.10C1E] # OLD TURKIC LETTER ORKHON AL
+10C1F ; [.2DA4.0020.0004.10C1F][.0000.0139.0004.10C1F] # OLD TURKIC LETTER YENISEI AL
+10C20 ; [.2DA5.0020.0002.10C20] # OLD TURKIC LETTER ORKHON AEL
+10C21 ; [.2DA6.0020.0002.10C21] # OLD TURKIC LETTER ORKHON ELT
+10C22 ; [.2DA7.0020.0002.10C22] # OLD TURKIC LETTER ORKHON EM
+10C23 ; [.2DA8.0020.0002.10C23] # OLD TURKIC LETTER ORKHON AN
+10C24 ; [.2DA9.0020.0002.10C24] # OLD TURKIC LETTER ORKHON AEN
+10C25 ; [.2DA9.0020.0004.10C25][.0000.0139.0004.10C25] # OLD TURKIC LETTER YENISEI AEN
+10C26 ; [.2DAA.0020.0002.10C26] # OLD TURKIC LETTER ORKHON ENT
+10C27 ; [.2DAA.0020.0004.10C27][.0000.0139.0004.10C27] # OLD TURKIC LETTER YENISEI ENT
+10C28 ; [.2DAB.0020.0002.10C28] # OLD TURKIC LETTER ORKHON ENC
+10C29 ; [.2DAB.0020.0004.10C29][.0000.0139.0004.10C29] # OLD TURKIC LETTER YENISEI ENC
+10C2A ; [.2DAC.0020.0002.10C2A] # OLD TURKIC LETTER ORKHON ENY
+10C2B ; [.2DAC.0020.0004.10C2B][.0000.0139.0004.10C2B] # OLD TURKIC LETTER YENISEI ENY
+10C2C ; [.2DAD.0020.0002.10C2C] # OLD TURKIC LETTER YENISEI ANG
+10C2D ; [.2DAE.0020.0002.10C2D] # OLD TURKIC LETTER ORKHON ENG
+10C2E ; [.2DAE.0020.0004.10C2E][.0000.0139.0004.10C2E] # OLD TURKIC LETTER YENISEI AENG
+10C2F ; [.2DAF.0020.0002.10C2F] # OLD TURKIC LETTER ORKHON EP
+10C30 ; [.2DB0.0020.0002.10C30] # OLD TURKIC LETTER ORKHON OP
+10C31 ; [.2DB1.0020.0002.10C31] # OLD TURKIC LETTER ORKHON IC
+10C32 ; [.2DB2.0020.0002.10C32] # OLD TURKIC LETTER ORKHON EC
+10C33 ; [.2DB2.0020.0004.10C33][.0000.0139.0004.10C33] # OLD TURKIC LETTER YENISEI EC
+10C34 ; [.2DB3.0020.0002.10C34] # OLD TURKIC LETTER ORKHON AQ
+10C35 ; [.2DB3.0020.0004.10C35][.0000.0139.0004.10C35] # OLD TURKIC LETTER YENISEI AQ
+10C36 ; [.2DB4.0020.0002.10C36] # OLD TURKIC LETTER ORKHON IQ
+10C37 ; [.2DB4.0020.0004.10C37][.0000.0139.0004.10C37] # OLD TURKIC LETTER YENISEI IQ
+10C38 ; [.2DB5.0020.0002.10C38] # OLD TURKIC LETTER ORKHON OQ
+10C39 ; [.2DB5.0020.0004.10C39][.0000.0139.0004.10C39] # OLD TURKIC LETTER YENISEI OQ
+10C3A ; [.2DB6.0020.0002.10C3A] # OLD TURKIC LETTER ORKHON AR
+10C3B ; [.2DB6.0020.0004.10C3B][.0000.0139.0004.10C3B] # OLD TURKIC LETTER YENISEI AR
+10C3C ; [.2DB7.0020.0002.10C3C] # OLD TURKIC LETTER ORKHON AER
+10C3D ; [.2DB8.0020.0002.10C3D] # OLD TURKIC LETTER ORKHON AS
+10C3E ; [.2DB9.0020.0002.10C3E] # OLD TURKIC LETTER ORKHON AES
+10C3F ; [.2DBA.0020.0002.10C3F] # OLD TURKIC LETTER ORKHON ASH
+10C40 ; [.2DBA.0020.0004.10C40][.0000.0139.0004.10C40] # OLD TURKIC LETTER YENISEI ASH
+10C41 ; [.2DBB.0020.0002.10C41] # OLD TURKIC LETTER ORKHON ESH
+10C42 ; [.2DBB.0020.0004.10C42][.0000.0139.0004.10C42] # OLD TURKIC LETTER YENISEI ESH
+10C43 ; [.2DBC.0020.0002.10C43] # OLD TURKIC LETTER ORKHON AT
+10C44 ; [.2DBC.0020.0004.10C44][.0000.0139.0004.10C44] # OLD TURKIC LETTER YENISEI AT
+10C45 ; [.2DBD.0020.0002.10C45] # OLD TURKIC LETTER ORKHON AET
+10C46 ; [.2DBD.0020.0004.10C46][.0000.0139.0004.10C46] # OLD TURKIC LETTER YENISEI AET
+10C47 ; [.2DBE.0020.0002.10C47] # OLD TURKIC LETTER ORKHON OT
+10C48 ; [.2DBF.0020.0002.10C48] # OLD TURKIC LETTER ORKHON BASH
+A500  ; [.2DC0.0020.0002.A500] # VAI SYLLABLE EE
+A501  ; [.2DC1.0020.0002.A501] # VAI SYLLABLE EEN
+A502  ; [.2DC2.0020.0002.A502] # VAI SYLLABLE HEE
+A503  ; [.2DC3.0020.0002.A503] # VAI SYLLABLE WEE
+A504  ; [.2DC4.0020.0002.A504] # VAI SYLLABLE WEEN
+A505  ; [.2DC5.0020.0002.A505] # VAI SYLLABLE PEE
+A506  ; [.2DC6.0020.0002.A506] # VAI SYLLABLE BHEE
+A507  ; [.2DC7.0020.0002.A507] # VAI SYLLABLE BEE
+A508  ; [.2DC8.0020.0002.A508] # VAI SYLLABLE MBEE
+A509  ; [.2DC9.0020.0002.A509] # VAI SYLLABLE KPEE
+A50A  ; [.2DCA.0020.0002.A50A] # VAI SYLLABLE MGBEE
+A50B  ; [.2DCB.0020.0002.A50B] # VAI SYLLABLE GBEE
+A50C  ; [.2DCC.0020.0002.A50C] # VAI SYLLABLE FEE
+A613  ; [.2DCC.0020.0004.A613][.2ECB.0020.0004.A613] # VAI SYMBOL FEENG
+A50D  ; [.2DCD.0020.0002.A50D] # VAI SYLLABLE VEE
+A50E  ; [.2DCE.0020.0002.A50E] # VAI SYLLABLE TEE
+A50F  ; [.2DCF.0020.0002.A50F] # VAI SYLLABLE THEE
+A510  ; [.2DD0.0020.0002.A510] # VAI SYLLABLE DHEE
+A511  ; [.2DD1.0020.0002.A511] # VAI SYLLABLE DHHEE
+A512  ; [.2DD2.0020.0002.A512] # VAI SYLLABLE LEE
+A513  ; [.2DD3.0020.0002.A513] # VAI SYLLABLE REE
+A514  ; [.2DD4.0020.0002.A514] # VAI SYLLABLE DEE
+A515  ; [.2DD5.0020.0002.A515] # VAI SYLLABLE NDEE
+A516  ; [.2DD6.0020.0002.A516] # VAI SYLLABLE SEE
+A517  ; [.2DD7.0020.0002.A517] # VAI SYLLABLE SHEE
+A518  ; [.2DD8.0020.0002.A518] # VAI SYLLABLE ZEE
+A519  ; [.2DD9.0020.0002.A519] # VAI SYLLABLE ZHEE
+A51A  ; [.2DDA.0020.0002.A51A] # VAI SYLLABLE CEE
+A51B  ; [.2DDB.0020.0002.A51B] # VAI SYLLABLE JEE
+A51C  ; [.2DDC.0020.0002.A51C] # VAI SYLLABLE NJEE
+A51D  ; [.2DDD.0020.0002.A51D] # VAI SYLLABLE YEE
+A51E  ; [.2DDE.0020.0002.A51E] # VAI SYLLABLE KEE
+A614  ; [.2DDE.0020.0004.A614][.2ECB.0020.0004.A614] # VAI SYMBOL KEENG
+A51F  ; [.2DDF.0020.0002.A51F] # VAI SYLLABLE NGGEE
+A520  ; [.2DE0.0020.0002.A520] # VAI SYLLABLE GEE
+A521  ; [.2DE1.0020.0002.A521] # VAI SYLLABLE MEE
+A522  ; [.2DE2.0020.0002.A522] # VAI SYLLABLE NEE
+A523  ; [.2DE3.0020.0002.A523] # VAI SYLLABLE NYEE
+A524  ; [.2DE4.0020.0002.A524] # VAI SYLLABLE I
+A525  ; [.2DE5.0020.0002.A525] # VAI SYLLABLE IN
+A526  ; [.2DE6.0020.0002.A526] # VAI SYLLABLE HI
+A527  ; [.2DE7.0020.0002.A527] # VAI SYLLABLE HIN
+A528  ; [.2DE8.0020.0002.A528] # VAI SYLLABLE WI
+A529  ; [.2DE9.0020.0002.A529] # VAI SYLLABLE WIN
+A52A  ; [.2DEA.0020.0002.A52A] # VAI SYLLABLE PI
+A52B  ; [.2DEB.0020.0002.A52B] # VAI SYLLABLE BHI
+A52C  ; [.2DEC.0020.0002.A52C] # VAI SYLLABLE BI
+A52D  ; [.2DED.0020.0002.A52D] # VAI SYLLABLE MBI
+A52E  ; [.2DEE.0020.0002.A52E] # VAI SYLLABLE KPI
+A52F  ; [.2DEF.0020.0002.A52F] # VAI SYLLABLE MGBI
+A530  ; [.2DF0.0020.0002.A530] # VAI SYLLABLE GBI
+A531  ; [.2DF1.0020.0002.A531] # VAI SYLLABLE FI
+A532  ; [.2DF2.0020.0002.A532] # VAI SYLLABLE VI
+A533  ; [.2DF3.0020.0002.A533] # VAI SYLLABLE TI
+A615  ; [.2DF3.0020.0004.A615][.2ECB.0020.0004.A615] # VAI SYMBOL TING
+A534  ; [.2DF4.0020.0002.A534] # VAI SYLLABLE THI
+A535  ; [.2DF5.0020.0002.A535] # VAI SYLLABLE DHI
+A536  ; [.2DF6.0020.0002.A536] # VAI SYLLABLE DHHI
+A537  ; [.2DF7.0020.0002.A537] # VAI SYLLABLE LI
+A538  ; [.2DF8.0020.0002.A538] # VAI SYLLABLE RI
+A539  ; [.2DF9.0020.0002.A539] # VAI SYLLABLE DI
+A53A  ; [.2DFA.0020.0002.A53A] # VAI SYLLABLE NDI
+A53B  ; [.2DFB.0020.0002.A53B] # VAI SYLLABLE SI
+A53C  ; [.2DFC.0020.0002.A53C] # VAI SYLLABLE SHI
+A53D  ; [.2DFD.0020.0002.A53D] # VAI SYLLABLE ZI
+A53E  ; [.2DFE.0020.0002.A53E] # VAI SYLLABLE ZHI
+A53F  ; [.2DFF.0020.0002.A53F] # VAI SYLLABLE CI
+A540  ; [.2E00.0020.0002.A540] # VAI SYLLABLE JI
+A541  ; [.2E01.0020.0002.A541] # VAI SYLLABLE NJI
+A542  ; [.2E02.0020.0002.A542] # VAI SYLLABLE YI
+A543  ; [.2E03.0020.0002.A543] # VAI SYLLABLE KI
+A544  ; [.2E04.0020.0002.A544] # VAI SYLLABLE NGGI
+A545  ; [.2E05.0020.0002.A545] # VAI SYLLABLE GI
+A546  ; [.2E06.0020.0002.A546] # VAI SYLLABLE MI
+A547  ; [.2E07.0020.0002.A547] # VAI SYLLABLE NI
+A616  ; [.2E07.0020.0004.A616][.2ECC.0020.0004.A616] # VAI SYMBOL NII
+A548  ; [.2E08.0020.0002.A548] # VAI SYLLABLE NYI
+A549  ; [.2E09.0020.0002.A549] # VAI SYLLABLE A
+A54A  ; [.2E0A.0020.0002.A54A] # VAI SYLLABLE AN
+A54B  ; [.2E0B.0020.0002.A54B] # VAI SYLLABLE NGAN
+A54C  ; [.2E0C.0020.0002.A54C] # VAI SYLLABLE HA
+A54D  ; [.2E0D.0020.0002.A54D] # VAI SYLLABLE HAN
+A54E  ; [.2E0E.0020.0002.A54E] # VAI SYLLABLE WA
+A54F  ; [.2E0F.0020.0002.A54F] # VAI SYLLABLE WAN
+A550  ; [.2E10.0020.0002.A550] # VAI SYLLABLE PA
+A551  ; [.2E11.0020.0002.A551] # VAI SYLLABLE BHA
+A552  ; [.2E12.0020.0002.A552] # VAI SYLLABLE BA
+A617  ; [.2E12.0020.0004.A617][.2ECB.0020.0004.A617] # VAI SYMBOL BANG
+A553  ; [.2E13.0020.0002.A553] # VAI SYLLABLE MBA
+A554  ; [.2E14.0020.0002.A554] # VAI SYLLABLE KPA
+A555  ; [.2E15.0020.0002.A555] # VAI SYLLABLE KPAN
+A556  ; [.2E16.0020.0002.A556] # VAI SYLLABLE MGBA
+A557  ; [.2E17.0020.0002.A557] # VAI SYLLABLE GBA
+A558  ; [.2E18.0020.0002.A558] # VAI SYLLABLE FA
+A610  ; [.2E18.0020.0004.A610] # VAI SYLLABLE NDOLE FA
+A618  ; [.2E18.0020.0004.A618][.2ECC.0020.0004.A618] # VAI SYMBOL FAA
+A559  ; [.2E19.0020.0002.A559] # VAI SYLLABLE VA
+A55A  ; [.2E1A.0020.0002.A55A] # VAI SYLLABLE TA
+A619  ; [.2E1A.0020.0004.A619][.2ECC.0020.0004.A619] # VAI SYMBOL TAA
+A55B  ; [.2E1B.0020.0002.A55B] # VAI SYLLABLE THA
+A55C  ; [.2E1C.0020.0002.A55C] # VAI SYLLABLE DHA
+A55D  ; [.2E1D.0020.0002.A55D] # VAI SYLLABLE DHHA
+A55E  ; [.2E1E.0020.0002.A55E] # VAI SYLLABLE LA
+A55F  ; [.2E1F.0020.0002.A55F] # VAI SYLLABLE RA
+A560  ; [.2E20.0020.0002.A560] # VAI SYLLABLE DA
+A61A  ; [.2E20.0020.0004.A61A][.2ECB.0020.0004.A61A] # VAI SYMBOL DANG
+A561  ; [.2E21.0020.0002.A561] # VAI SYLLABLE NDA
+A562  ; [.2E22.0020.0002.A562] # VAI SYLLABLE SA
+A563  ; [.2E23.0020.0002.A563] # VAI SYLLABLE SHA
+A564  ; [.2E24.0020.0002.A564] # VAI SYLLABLE ZA
+A565  ; [.2E25.0020.0002.A565] # VAI SYLLABLE ZHA
+A566  ; [.2E26.0020.0002.A566] # VAI SYLLABLE CA
+A567  ; [.2E27.0020.0002.A567] # VAI SYLLABLE JA
+A568  ; [.2E28.0020.0002.A568] # VAI SYLLABLE NJA
+A569  ; [.2E29.0020.0002.A569] # VAI SYLLABLE YA
+A56A  ; [.2E2A.0020.0002.A56A] # VAI SYLLABLE KA
+A611  ; [.2E2A.0020.0004.A611] # VAI SYLLABLE NDOLE KA
+A56B  ; [.2E2B.0020.0002.A56B] # VAI SYLLABLE KAN
+A56C  ; [.2E2C.0020.0002.A56C] # VAI SYLLABLE NGGA
+A56D  ; [.2E2D.0020.0002.A56D] # VAI SYLLABLE GA
+A56E  ; [.2E2E.0020.0002.A56E] # VAI SYLLABLE MA
+A62A  ; [.2E2E.0020.0004.A62A] # VAI SYLLABLE NDOLE MA
+A56F  ; [.2E2F.0020.0002.A56F] # VAI SYLLABLE NA
+A570  ; [.2E30.0020.0002.A570] # VAI SYLLABLE NYA
+A571  ; [.2E31.0020.0002.A571] # VAI SYLLABLE OO
+A572  ; [.2E32.0020.0002.A572] # VAI SYLLABLE OON
+A573  ; [.2E33.0020.0002.A573] # VAI SYLLABLE HOO
+A574  ; [.2E34.0020.0002.A574] # VAI SYLLABLE WOO
+A575  ; [.2E35.0020.0002.A575] # VAI SYLLABLE WOON
+A576  ; [.2E36.0020.0002.A576] # VAI SYLLABLE POO
+A577  ; [.2E37.0020.0002.A577] # VAI SYLLABLE BHOO
+A578  ; [.2E38.0020.0002.A578] # VAI SYLLABLE BOO
+A579  ; [.2E39.0020.0002.A579] # VAI SYLLABLE MBOO
+A57A  ; [.2E3A.0020.0002.A57A] # VAI SYLLABLE KPOO
+A57B  ; [.2E3B.0020.0002.A57B] # VAI SYLLABLE MGBOO
+A57C  ; [.2E3C.0020.0002.A57C] # VAI SYLLABLE GBOO
+A57D  ; [.2E3D.0020.0002.A57D] # VAI SYLLABLE FOO
+A57E  ; [.2E3E.0020.0002.A57E] # VAI SYLLABLE VOO
+A57F  ; [.2E3F.0020.0002.A57F] # VAI SYLLABLE TOO
+A580  ; [.2E40.0020.0002.A580] # VAI SYLLABLE THOO
+A581  ; [.2E41.0020.0002.A581] # VAI SYLLABLE DHOO
+A582  ; [.2E42.0020.0002.A582] # VAI SYLLABLE DHHOO
+A583  ; [.2E43.0020.0002.A583] # VAI SYLLABLE LOO
+A584  ; [.2E44.0020.0002.A584] # VAI SYLLABLE ROO
+A585  ; [.2E45.0020.0002.A585] # VAI SYLLABLE DOO
+A61B  ; [.2E45.0020.0004.A61B][.2ECB.0020.0004.A61B] # VAI SYMBOL DOONG
+A586  ; [.2E46.0020.0002.A586] # VAI SYLLABLE NDOO
+A587  ; [.2E47.0020.0002.A587] # VAI SYLLABLE SOO
+A612  ; [.2E47.0020.0004.A612] # VAI SYLLABLE NDOLE SOO
+A588  ; [.2E48.0020.0002.A588] # VAI SYLLABLE SHOO
+A589  ; [.2E49.0020.0002.A589] # VAI SYLLABLE ZOO
+A58A  ; [.2E4A.0020.0002.A58A] # VAI SYLLABLE ZHOO
+A58B  ; [.2E4B.0020.0002.A58B] # VAI SYLLABLE COO
+A58C  ; [.2E4C.0020.0002.A58C] # VAI SYLLABLE JOO
+A58D  ; [.2E4D.0020.0002.A58D] # VAI SYLLABLE NJOO
+A58E  ; [.2E4E.0020.0002.A58E] # VAI SYLLABLE YOO
+A58F  ; [.2E4F.0020.0002.A58F] # VAI SYLLABLE KOO
+A590  ; [.2E50.0020.0002.A590] # VAI SYLLABLE NGGOO
+A591  ; [.2E51.0020.0002.A591] # VAI SYLLABLE GOO
+A592  ; [.2E52.0020.0002.A592] # VAI SYLLABLE MOO
+A593  ; [.2E53.0020.0002.A593] # VAI SYLLABLE NOO
+A594  ; [.2E54.0020.0002.A594] # VAI SYLLABLE NYOO
+A595  ; [.2E55.0020.0002.A595] # VAI SYLLABLE U
+A596  ; [.2E56.0020.0002.A596] # VAI SYLLABLE UN
+A597  ; [.2E57.0020.0002.A597] # VAI SYLLABLE HU
+A598  ; [.2E58.0020.0002.A598] # VAI SYLLABLE HUN
+A599  ; [.2E59.0020.0002.A599] # VAI SYLLABLE WU
+A59A  ; [.2E5A.0020.0002.A59A] # VAI SYLLABLE WUN
+A59B  ; [.2E5B.0020.0002.A59B] # VAI SYLLABLE PU
+A59C  ; [.2E5C.0020.0002.A59C] # VAI SYLLABLE BHU
+A59D  ; [.2E5D.0020.0002.A59D] # VAI SYLLABLE BU
+A59E  ; [.2E5E.0020.0002.A59E] # VAI SYLLABLE MBU
+A59F  ; [.2E5F.0020.0002.A59F] # VAI SYLLABLE KPU
+A5A0  ; [.2E60.0020.0002.A5A0] # VAI SYLLABLE MGBU
+A5A1  ; [.2E61.0020.0002.A5A1] # VAI SYLLABLE GBU
+A5A2  ; [.2E62.0020.0002.A5A2] # VAI SYLLABLE FU
+A5A3  ; [.2E63.0020.0002.A5A3] # VAI SYLLABLE VU
+A5A4  ; [.2E64.0020.0002.A5A4] # VAI SYLLABLE TU
+A5A5  ; [.2E65.0020.0002.A5A5] # VAI SYLLABLE THU
+A5A6  ; [.2E66.0020.0002.A5A6] # VAI SYLLABLE DHU
+A5A7  ; [.2E67.0020.0002.A5A7] # VAI SYLLABLE DHHU
+A5A8  ; [.2E68.0020.0002.A5A8] # VAI SYLLABLE LU
+A5A9  ; [.2E69.0020.0002.A5A9] # VAI SYLLABLE RU
+A5AA  ; [.2E6A.0020.0002.A5AA] # VAI SYLLABLE DU
+A5AB  ; [.2E6B.0020.0002.A5AB] # VAI SYLLABLE NDU
+A5AC  ; [.2E6C.0020.0002.A5AC] # VAI SYLLABLE SU
+A5AD  ; [.2E6D.0020.0002.A5AD] # VAI SYLLABLE SHU
+A5AE  ; [.2E6E.0020.0002.A5AE] # VAI SYLLABLE ZU
+A5AF  ; [.2E6F.0020.0002.A5AF] # VAI SYLLABLE ZHU
+A5B0  ; [.2E70.0020.0002.A5B0] # VAI SYLLABLE CU
+A5B1  ; [.2E71.0020.0002.A5B1] # VAI SYLLABLE JU
+A5B2  ; [.2E72.0020.0002.A5B2] # VAI SYLLABLE NJU
+A5B3  ; [.2E73.0020.0002.A5B3] # VAI SYLLABLE YU
+A5B4  ; [.2E74.0020.0002.A5B4] # VAI SYLLABLE KU
+A61C  ; [.2E74.0020.0004.A61C][.2ECB.0020.0004.A61C] # VAI SYMBOL KUNG
+A5B5  ; [.2E75.0020.0002.A5B5] # VAI SYLLABLE NGGU
+A5B6  ; [.2E76.0020.0002.A5B6] # VAI SYLLABLE GU
+A5B7  ; [.2E77.0020.0002.A5B7] # VAI SYLLABLE MU
+A5B8  ; [.2E78.0020.0002.A5B8] # VAI SYLLABLE NU
+A5B9  ; [.2E79.0020.0002.A5B9] # VAI SYLLABLE NYU
+A5BA  ; [.2E7A.0020.0002.A5BA] # VAI SYLLABLE O
+A5BB  ; [.2E7B.0020.0002.A5BB] # VAI SYLLABLE ON
+A5BC  ; [.2E7C.0020.0002.A5BC] # VAI SYLLABLE NGON
+A5BD  ; [.2E7D.0020.0002.A5BD] # VAI SYLLABLE HO
+A5BE  ; [.2E7E.0020.0002.A5BE] # VAI SYLLABLE HON
+A5BF  ; [.2E7F.0020.0002.A5BF] # VAI SYLLABLE WO
+A5C0  ; [.2E80.0020.0002.A5C0] # VAI SYLLABLE WON
+A5C1  ; [.2E81.0020.0002.A5C1] # VAI SYLLABLE PO
+A5C2  ; [.2E82.0020.0002.A5C2] # VAI SYLLABLE BHO
+A5C3  ; [.2E83.0020.0002.A5C3] # VAI SYLLABLE BO
+A5C4  ; [.2E84.0020.0002.A5C4] # VAI SYLLABLE MBO
+A5C5  ; [.2E85.0020.0002.A5C5] # VAI SYLLABLE KPO
+A5C6  ; [.2E86.0020.0002.A5C6] # VAI SYLLABLE MGBO
+A5C7  ; [.2E87.0020.0002.A5C7] # VAI SYLLABLE GBO
+A5C8  ; [.2E88.0020.0002.A5C8] # VAI SYLLABLE GBON
+A5C9  ; [.2E89.0020.0002.A5C9] # VAI SYLLABLE FO
+A5CA  ; [.2E8A.0020.0002.A5CA] # VAI SYLLABLE VO
+A5CB  ; [.2E8B.0020.0002.A5CB] # VAI SYLLABLE TO
+A61D  ; [.2E8B.0020.0004.A61D][.2ECB.0020.0004.A61D] # VAI SYMBOL TONG
+A5CC  ; [.2E8C.0020.0002.A5CC] # VAI SYLLABLE THO
+A5CD  ; [.2E8D.0020.0002.A5CD] # VAI SYLLABLE DHO
+A5CE  ; [.2E8E.0020.0002.A5CE] # VAI SYLLABLE DHHO
+A5CF  ; [.2E8F.0020.0002.A5CF] # VAI SYLLABLE LO
+A5D0  ; [.2E90.0020.0002.A5D0] # VAI SYLLABLE RO
+A5D1  ; [.2E91.0020.0002.A5D1] # VAI SYLLABLE DO
+A62B  ; [.2E91.0020.0004.A62B] # VAI SYLLABLE NDOLE DO
+A61E  ; [.2E91.0020.0004.A61E][.2ECC.0020.0004.A61E] # VAI SYMBOL DO-O
+A5D2  ; [.2E92.0020.0002.A5D2] # VAI SYLLABLE NDO
+A5D3  ; [.2E93.0020.0002.A5D3] # VAI SYLLABLE SO
+A5D4  ; [.2E94.0020.0002.A5D4] # VAI SYLLABLE SHO
+A5D5  ; [.2E95.0020.0002.A5D5] # VAI SYLLABLE ZO
+A5D6  ; [.2E96.0020.0002.A5D6] # VAI SYLLABLE ZHO
+A5D7  ; [.2E97.0020.0002.A5D7] # VAI SYLLABLE CO
+A5D8  ; [.2E98.0020.0002.A5D8] # VAI SYLLABLE JO
+A61F  ; [.2E98.0020.0004.A61F][.2ECB.0020.0004.A61F] # VAI SYMBOL JONG
+A5D9  ; [.2E99.0020.0002.A5D9] # VAI SYLLABLE NJO
+A5DA  ; [.2E9A.0020.0002.A5DA] # VAI SYLLABLE YO
+A5DB  ; [.2E9B.0020.0002.A5DB] # VAI SYLLABLE KO
+A5DC  ; [.2E9C.0020.0002.A5DC] # VAI SYLLABLE NGGO
+A5DD  ; [.2E9D.0020.0002.A5DD] # VAI SYLLABLE GO
+A5DE  ; [.2E9E.0020.0002.A5DE] # VAI SYLLABLE MO
+A5DF  ; [.2E9F.0020.0002.A5DF] # VAI SYLLABLE NO
+A5E0  ; [.2EA0.0020.0002.A5E0] # VAI SYLLABLE NYO
+A5E1  ; [.2EA1.0020.0002.A5E1] # VAI SYLLABLE E
+A5E2  ; [.2EA2.0020.0002.A5E2] # VAI SYLLABLE EN
+A5E3  ; [.2EA3.0020.0002.A5E3] # VAI SYLLABLE NGEN
+A5E4  ; [.2EA4.0020.0002.A5E4] # VAI SYLLABLE HE
+A5E5  ; [.2EA5.0020.0002.A5E5] # VAI SYLLABLE HEN
+A5E6  ; [.2EA6.0020.0002.A5E6] # VAI SYLLABLE WE
+A5E7  ; [.2EA7.0020.0002.A5E7] # VAI SYLLABLE WEN
+A5E8  ; [.2EA8.0020.0002.A5E8] # VAI SYLLABLE PE
+A5E9  ; [.2EA9.0020.0002.A5E9] # VAI SYLLABLE BHE
+A5EA  ; [.2EAA.0020.0002.A5EA] # VAI SYLLABLE BE
+A5EB  ; [.2EAB.0020.0002.A5EB] # VAI SYLLABLE MBE
+A5EC  ; [.2EAC.0020.0002.A5EC] # VAI SYLLABLE KPE
+A5ED  ; [.2EAD.0020.0002.A5ED] # VAI SYLLABLE KPEN
+A5EE  ; [.2EAE.0020.0002.A5EE] # VAI SYLLABLE MGBE
+A5EF  ; [.2EAF.0020.0002.A5EF] # VAI SYLLABLE GBE
+A5F0  ; [.2EB0.0020.0002.A5F0] # VAI SYLLABLE GBEN
+A5F1  ; [.2EB1.0020.0002.A5F1] # VAI SYLLABLE FE
+A5F2  ; [.2EB2.0020.0002.A5F2] # VAI SYLLABLE VE
+A5F3  ; [.2EB3.0020.0002.A5F3] # VAI SYLLABLE TE
+A5F4  ; [.2EB4.0020.0002.A5F4] # VAI SYLLABLE THE
+A5F5  ; [.2EB5.0020.0002.A5F5] # VAI SYLLABLE DHE
+A5F6  ; [.2EB6.0020.0002.A5F6] # VAI SYLLABLE DHHE
+A5F7  ; [.2EB7.0020.0002.A5F7] # VAI SYLLABLE LE
+A5F8  ; [.2EB8.0020.0002.A5F8] # VAI SYLLABLE RE
+A5F9  ; [.2EB9.0020.0002.A5F9] # VAI SYLLABLE DE
+A5FA  ; [.2EBA.0020.0002.A5FA] # VAI SYLLABLE NDE
+A5FB  ; [.2EBB.0020.0002.A5FB] # VAI SYLLABLE SE
+A5FC  ; [.2EBC.0020.0002.A5FC] # VAI SYLLABLE SHE
+A5FD  ; [.2EBD.0020.0002.A5FD] # VAI SYLLABLE ZE
+A5FE  ; [.2EBE.0020.0002.A5FE] # VAI SYLLABLE ZHE
+A5FF  ; [.2EBF.0020.0002.A5FF] # VAI SYLLABLE CE
+A600  ; [.2EC0.0020.0002.A600] # VAI SYLLABLE JE
+A601  ; [.2EC1.0020.0002.A601] # VAI SYLLABLE NJE
+A602  ; [.2EC2.0020.0002.A602] # VAI SYLLABLE YE
+A603  ; [.2EC3.0020.0002.A603] # VAI SYLLABLE KE
+A604  ; [.2EC4.0020.0002.A604] # VAI SYLLABLE NGGE
+A605  ; [.2EC5.0020.0002.A605] # VAI SYLLABLE NGGEN
+A606  ; [.2EC6.0020.0002.A606] # VAI SYLLABLE GE
+A607  ; [.2EC7.0020.0002.A607] # VAI SYLLABLE GEN
+A608  ; [.2EC8.0020.0002.A608] # VAI SYLLABLE ME
+A609  ; [.2EC9.0020.0002.A609] # VAI SYLLABLE NE
+A60A  ; [.2ECA.0020.0002.A60A] # VAI SYLLABLE NYE
+A60B  ; [.2ECB.0020.0002.A60B] # VAI SYLLABLE NG
+A60C  ; [.2ECC.0020.0002.A60C] # VAI SYLLABLE LENGTHENER
+A6A0  ; [.2ECD.0020.0002.A6A0] # BAMUM LETTER A
+A6A1  ; [.2ECE.0020.0002.A6A1] # BAMUM LETTER KA
+A6A2  ; [.2ECF.0020.0002.A6A2] # BAMUM LETTER U
+A6A3  ; [.2ED0.0020.0002.A6A3] # BAMUM LETTER KU
+A6A4  ; [.2ED1.0020.0002.A6A4] # BAMUM LETTER EE
+A6A5  ; [.2ED2.0020.0002.A6A5] # BAMUM LETTER REE
+A6A6  ; [.2ED3.0020.0002.A6A6] # BAMUM LETTER TAE
+A6A7  ; [.2ED4.0020.0002.A6A7] # BAMUM LETTER O
+A6A8  ; [.2ED5.0020.0002.A6A8] # BAMUM LETTER NYI
+A6A9  ; [.2ED6.0020.0002.A6A9] # BAMUM LETTER I
+A6AA  ; [.2ED7.0020.0002.A6AA] # BAMUM LETTER LA
+A6AB  ; [.2ED8.0020.0002.A6AB] # BAMUM LETTER PA
+A6AC  ; [.2ED9.0020.0002.A6AC] # BAMUM LETTER RII
+A6AD  ; [.2EDA.0020.0002.A6AD] # BAMUM LETTER RIEE
+A6AE  ; [.2EDB.0020.0002.A6AE] # BAMUM LETTER LEEEE
+A6AF  ; [.2EDC.0020.0002.A6AF] # BAMUM LETTER MEEEE
+A6B0  ; [.2EDD.0020.0002.A6B0] # BAMUM LETTER TAA
+A6B1  ; [.2EDE.0020.0002.A6B1] # BAMUM LETTER NDAA
+A6B2  ; [.2EDF.0020.0002.A6B2] # BAMUM LETTER NJAEM
+A6B3  ; [.2EE0.0020.0002.A6B3] # BAMUM LETTER M
+A6B4  ; [.2EE1.0020.0002.A6B4] # BAMUM LETTER SUU
+A6B5  ; [.2EE2.0020.0002.A6B5] # BAMUM LETTER MU
+A6B6  ; [.2EE3.0020.0002.A6B6] # BAMUM LETTER SHII
+A6B7  ; [.2EE4.0020.0002.A6B7] # BAMUM LETTER SI
+A6B8  ; [.2EE5.0020.0002.A6B8] # BAMUM LETTER SHEUX
+A6B9  ; [.2EE6.0020.0002.A6B9] # BAMUM LETTER SEUX
+A6BA  ; [.2EE7.0020.0002.A6BA] # BAMUM LETTER KYEE
+A6BB  ; [.2EE8.0020.0002.A6BB] # BAMUM LETTER KET
+A6BC  ; [.2EE9.0020.0002.A6BC] # BAMUM LETTER NUAE
+A6BD  ; [.2EEA.0020.0002.A6BD] # BAMUM LETTER NU
+A6BE  ; [.2EEB.0020.0002.A6BE] # BAMUM LETTER NJUAE
+A6BF  ; [.2EEC.0020.0002.A6BF] # BAMUM LETTER YOQ
+A6C0  ; [.2EED.0020.0002.A6C0] # BAMUM LETTER SHU
+A6C1  ; [.2EEE.0020.0002.A6C1] # BAMUM LETTER YUQ
+A6C2  ; [.2EEF.0020.0002.A6C2] # BAMUM LETTER YA
+A6C3  ; [.2EF0.0020.0002.A6C3] # BAMUM LETTER NSHA
+A6C4  ; [.2EF1.0020.0002.A6C4] # BAMUM LETTER KEUX
+A6C5  ; [.2EF2.0020.0002.A6C5] # BAMUM LETTER PEUX
+A6C6  ; [.2EF3.0020.0002.A6C6] # BAMUM LETTER NJEE
+A6C7  ; [.2EF4.0020.0002.A6C7] # BAMUM LETTER NTEE
+A6C8  ; [.2EF5.0020.0002.A6C8] # BAMUM LETTER PUE
+A6C9  ; [.2EF6.0020.0002.A6C9] # BAMUM LETTER WUE
+A6CA  ; [.2EF7.0020.0002.A6CA] # BAMUM LETTER PEE
+A6CB  ; [.2EF8.0020.0002.A6CB] # BAMUM LETTER FEE
+A6CC  ; [.2EF9.0020.0002.A6CC] # BAMUM LETTER RU
+A6CD  ; [.2EFA.0020.0002.A6CD] # BAMUM LETTER LU
+A6CE  ; [.2EFB.0020.0002.A6CE] # BAMUM LETTER MI
+A6CF  ; [.2EFC.0020.0002.A6CF] # BAMUM LETTER NI
+A6D0  ; [.2EFD.0020.0002.A6D0] # BAMUM LETTER REUX
+A6D1  ; [.2EFE.0020.0002.A6D1] # BAMUM LETTER RAE
+A6D2  ; [.2EFF.0020.0002.A6D2] # BAMUM LETTER KEN
+A6D3  ; [.2F00.0020.0002.A6D3] # BAMUM LETTER NGKWAEN
+A6D4  ; [.2F01.0020.0002.A6D4] # BAMUM LETTER NGGA
+A6D5  ; [.2F02.0020.0002.A6D5] # BAMUM LETTER NGA
+A6D6  ; [.2F03.0020.0002.A6D6] # BAMUM LETTER SHO
+A6D7  ; [.2F04.0020.0002.A6D7] # BAMUM LETTER PUAE
+A6D8  ; [.2F05.0020.0002.A6D8] # BAMUM LETTER FU
+A6D9  ; [.2F06.0020.0002.A6D9] # BAMUM LETTER FOM
+A6DA  ; [.2F07.0020.0002.A6DA] # BAMUM LETTER WA
+A6DB  ; [.2F08.0020.0002.A6DB] # BAMUM LETTER NA
+A6DC  ; [.2F09.0020.0002.A6DC] # BAMUM LETTER LI
+A6DD  ; [.2F0A.0020.0002.A6DD] # BAMUM LETTER PI
+A6DE  ; [.2F0B.0020.0002.A6DE] # BAMUM LETTER LOQ
+A6DF  ; [.2F0C.0020.0002.A6DF] # BAMUM LETTER KO
+A6E0  ; [.2F0D.0020.0002.A6E0] # BAMUM LETTER MBEN
+A6E1  ; [.2F0E.0020.0002.A6E1] # BAMUM LETTER REN
+A6E2  ; [.2F0F.0020.0002.A6E2] # BAMUM LETTER MEN
+A6E3  ; [.2F10.0020.0002.A6E3] # BAMUM LETTER MA
+A6E4  ; [.2F11.0020.0002.A6E4] # BAMUM LETTER TI
+A6E5  ; [.2F12.0020.0002.A6E5] # BAMUM LETTER KI
+A6E6  ; [.2F13.0020.0002.A6E6] # BAMUM LETTER MO
+A6E7  ; [.2F14.0020.0002.A6E7] # BAMUM LETTER MBAA
+A6E8  ; [.2F15.0020.0002.A6E8] # BAMUM LETTER TET
+A6E9  ; [.2F16.0020.0002.A6E9] # BAMUM LETTER KPA
+A6EA  ; [.2F17.0020.0002.A6EA] # BAMUM LETTER TEN
+A6EB  ; [.2F18.0020.0002.A6EB] # BAMUM LETTER NTUU
+A6EC  ; [.2F19.0020.0002.A6EC] # BAMUM LETTER SAMBA
+A6ED  ; [.2F1A.0020.0002.A6ED] # BAMUM LETTER FAAMAE
+A6EE  ; [.2F1B.0020.0002.A6EE] # BAMUM LETTER KOVUU
+A6EF  ; [.2F1C.0020.0002.A6EF] # BAMUM LETTER KOGHOM
+16800 ; [.2F1D.0020.0002.16800] # BAMUM LETTER PHASE-A NGKUE MFON
+16801 ; [.2F1E.0020.0002.16801] # BAMUM LETTER PHASE-A GBIEE FON
+16802 ; [.2F1F.0020.0002.16802] # BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
+16803 ; [.2F20.0020.0002.16803] # BAMUM LETTER PHASE-A PON MFON PIPAEMBA
+16804 ; [.2F21.0020.0002.16804] # BAMUM LETTER PHASE-A NAA MFON
+16805 ; [.2F22.0020.0002.16805] # BAMUM LETTER PHASE-A SHUENSHUET
+16806 ; [.2F23.0020.0002.16806] # BAMUM LETTER PHASE-A TITA MFON
+16807 ; [.2F24.0020.0002.16807] # BAMUM LETTER PHASE-A NZA MFON
+16808 ; [.2F25.0020.0002.16808] # BAMUM LETTER PHASE-A SHINDA PA NJI
+16809 ; [.2F26.0020.0002.16809] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMGBIEE
+1680A ; [.2F27.0020.0002.1680A] # BAMUM LETTER PHASE-A PON PA NJI PIPAEMBA
+1680B ; [.2F28.0020.0002.1680B] # BAMUM LETTER PHASE-A MAEMBGBIEE
+1680C ; [.2F29.0020.0002.1680C] # BAMUM LETTER PHASE-A TU MAEMBA
+1680D ; [.2F2A.0020.0002.1680D] # BAMUM LETTER PHASE-A NGANGU
+1680E ; [.2F2B.0020.0002.1680E] # BAMUM LETTER PHASE-A MAEMVEUX
+1680F ; [.2F2C.0020.0002.1680F] # BAMUM LETTER PHASE-A MANSUAE
+16810 ; [.2F2D.0020.0002.16810] # BAMUM LETTER PHASE-A MVEUAENGAM
+16811 ; [.2F2E.0020.0002.16811] # BAMUM LETTER PHASE-A SEUNYAM
+16812 ; [.2F2F.0020.0002.16812] # BAMUM LETTER PHASE-A NTOQPEN
+16813 ; [.2F30.0020.0002.16813] # BAMUM LETTER PHASE-A KEUKEUTNDA
+16814 ; [.2F31.0020.0002.16814] # BAMUM LETTER PHASE-A NKINDI
+16815 ; [.2F32.0020.0002.16815] # BAMUM LETTER PHASE-A SUU
+16816 ; [.2F33.0020.0002.16816] # BAMUM LETTER PHASE-A NGKUENZEUM
+16817 ; [.2F34.0020.0002.16817] # BAMUM LETTER PHASE-A LAPAQ
+16818 ; [.2F35.0020.0002.16818] # BAMUM LETTER PHASE-A LET KUT
+16819 ; [.2F36.0020.0002.16819] # BAMUM LETTER PHASE-A NTAP MFAA
+1681A ; [.2F37.0020.0002.1681A] # BAMUM LETTER PHASE-A MAEKEUP
+1681B ; [.2F38.0020.0002.1681B] # BAMUM LETTER PHASE-A PASHAE
+1681C ; [.2F39.0020.0002.1681C] # BAMUM LETTER PHASE-A GHEUAERAE
+1681D ; [.2F3A.0020.0002.1681D] # BAMUM LETTER PHASE-A PAMSHAE
+1681E ; [.2F3B.0020.0002.1681E] # BAMUM LETTER PHASE-A MON NGGEUAET
+1681F ; [.2F3C.0020.0002.1681F] # BAMUM LETTER PHASE-A NZUN MEUT
+16820 ; [.2F3D.0020.0002.16820] # BAMUM LETTER PHASE-A U YUQ NAE
+16821 ; [.2F3E.0020.0002.16821] # BAMUM LETTER PHASE-A GHEUAEGHEUAE
+16822 ; [.2F3F.0020.0002.16822] # BAMUM LETTER PHASE-A NTAP NTAA
+16823 ; [.2F40.0020.0002.16823] # BAMUM LETTER PHASE-A SISA
+16824 ; [.2F41.0020.0002.16824] # BAMUM LETTER PHASE-A MGBASA
+16825 ; [.2F42.0020.0002.16825] # BAMUM LETTER PHASE-A MEUNJOMNDEUQ
+16826 ; [.2F43.0020.0002.16826] # BAMUM LETTER PHASE-A MOOMPUQ
+16827 ; [.2F44.0020.0002.16827] # BAMUM LETTER PHASE-A KAFA
+16828 ; [.2F45.0020.0002.16828] # BAMUM LETTER PHASE-A PA LEERAEWA
+16829 ; [.2F46.0020.0002.16829] # BAMUM LETTER PHASE-A NDA LEERAEWA
+1682A ; [.2F47.0020.0002.1682A] # BAMUM LETTER PHASE-A PET
+1682B ; [.2F48.0020.0002.1682B] # BAMUM LETTER PHASE-A MAEMKPEN
+1682C ; [.2F49.0020.0002.1682C] # BAMUM LETTER PHASE-A NIKA
+1682D ; [.2F4A.0020.0002.1682D] # BAMUM LETTER PHASE-A PUP
+1682E ; [.2F4B.0020.0002.1682E] # BAMUM LETTER PHASE-A TUAEP
+1682F ; [.2F4C.0020.0002.1682F] # BAMUM LETTER PHASE-A LUAEP
+16830 ; [.2F4D.0020.0002.16830] # BAMUM LETTER PHASE-A SONJAM
+16831 ; [.2F4E.0020.0002.16831] # BAMUM LETTER PHASE-A TEUTEUWEN
+16832 ; [.2F4F.0020.0002.16832] # BAMUM LETTER PHASE-A MAENYI
+16833 ; [.2F50.0020.0002.16833] # BAMUM LETTER PHASE-A KET
+16834 ; [.2F51.0020.0002.16834] # BAMUM LETTER PHASE-A NDAANGGEUAET
+16835 ; [.2F52.0020.0002.16835] # BAMUM LETTER PHASE-A KUOQ
+16836 ; [.2F53.0020.0002.16836] # BAMUM LETTER PHASE-A MOOMEUT
+16837 ; [.2F54.0020.0002.16837] # BAMUM LETTER PHASE-A SHUM
+16838 ; [.2F55.0020.0002.16838] # BAMUM LETTER PHASE-A LOMMAE
+16839 ; [.2F56.0020.0002.16839] # BAMUM LETTER PHASE-A FIRI
+1683A ; [.2F57.0020.0002.1683A] # BAMUM LETTER PHASE-A ROM
+1683B ; [.2F58.0020.0002.1683B] # BAMUM LETTER PHASE-A KPOQ
+1683C ; [.2F59.0020.0002.1683C] # BAMUM LETTER PHASE-A SOQ
+1683D ; [.2F5A.0020.0002.1683D] # BAMUM LETTER PHASE-A MAP PIEET
+1683E ; [.2F5B.0020.0002.1683E] # BAMUM LETTER PHASE-A SHIRAE
+1683F ; [.2F5C.0020.0002.1683F] # BAMUM LETTER PHASE-A NTAP
+16840 ; [.2F5D.0020.0002.16840] # BAMUM LETTER PHASE-A SHOQ NSHUT YUM
+16841 ; [.2F5E.0020.0002.16841] # BAMUM LETTER PHASE-A NYIT MONGKEUAEQ
+16842 ; [.2F5F.0020.0002.16842] # BAMUM LETTER PHASE-A PAARAE
+16843 ; [.2F60.0020.0002.16843] # BAMUM LETTER PHASE-A NKAARAE
+16844 ; [.2F61.0020.0002.16844] # BAMUM LETTER PHASE-A UNKNOWN
+16845 ; [.2F62.0020.0002.16845] # BAMUM LETTER PHASE-A NGGEN
+16846 ; [.2F63.0020.0002.16846] # BAMUM LETTER PHASE-A MAESI
+16847 ; [.2F64.0020.0002.16847] # BAMUM LETTER PHASE-A NJAM
+16848 ; [.2F65.0020.0002.16848] # BAMUM LETTER PHASE-A MBANYI
+16849 ; [.2F66.0020.0002.16849] # BAMUM LETTER PHASE-A NYET
+1684A ; [.2F67.0020.0002.1684A] # BAMUM LETTER PHASE-A TEUAEN
+1684B ; [.2F68.0020.0002.1684B] # BAMUM LETTER PHASE-A SOT
+1684C ; [.2F69.0020.0002.1684C] # BAMUM LETTER PHASE-A PAAM
+1684D ; [.2F6A.0020.0002.1684D] # BAMUM LETTER PHASE-A NSHIEE
+1684E ; [.2F6B.0020.0002.1684E] # BAMUM LETTER PHASE-A MAEM
+1684F ; [.2F6C.0020.0002.1684F] # BAMUM LETTER PHASE-A NYI
+16850 ; [.2F6D.0020.0002.16850] # BAMUM LETTER PHASE-A KAQ
+16851 ; [.2F6E.0020.0002.16851] # BAMUM LETTER PHASE-A NSHA
+16852 ; [.2F6F.0020.0002.16852] # BAMUM LETTER PHASE-A VEE
+16853 ; [.2F70.0020.0002.16853] # BAMUM LETTER PHASE-A LU
+16854 ; [.2F71.0020.0002.16854] # BAMUM LETTER PHASE-A NEN
+16855 ; [.2F72.0020.0002.16855] # BAMUM LETTER PHASE-A NAQ
+16856 ; [.2F73.0020.0002.16856] # BAMUM LETTER PHASE-A MBAQ
+16857 ; [.2F74.0020.0002.16857] # BAMUM LETTER PHASE-B NSHUET
+16858 ; [.2F75.0020.0002.16858] # BAMUM LETTER PHASE-B TU MAEMGBIEE
+16859 ; [.2F76.0020.0002.16859] # BAMUM LETTER PHASE-B SIEE
+1685A ; [.2F77.0020.0002.1685A] # BAMUM LETTER PHASE-B SET TU
+1685B ; [.2F78.0020.0002.1685B] # BAMUM LETTER PHASE-B LOM NTEUM
+1685C ; [.2F79.0020.0002.1685C] # BAMUM LETTER PHASE-B MBA MAELEE
+1685D ; [.2F7A.0020.0002.1685D] # BAMUM LETTER PHASE-B KIEEM
+1685E ; [.2F7B.0020.0002.1685E] # BAMUM LETTER PHASE-B YEURAE
+1685F ; [.2F7C.0020.0002.1685F] # BAMUM LETTER PHASE-B MBAARAE
+16860 ; [.2F7D.0020.0002.16860] # BAMUM LETTER PHASE-B KAM
+16861 ; [.2F7E.0020.0002.16861] # BAMUM LETTER PHASE-B PEESHI
+16862 ; [.2F7F.0020.0002.16862] # BAMUM LETTER PHASE-B YAFU LEERAEWA
+16863 ; [.2F80.0020.0002.16863] # BAMUM LETTER PHASE-B LAM NSHUT NYAM
+16864 ; [.2F81.0020.0002.16864] # BAMUM LETTER PHASE-B NTIEE SHEUOQ
+16865 ; [.2F82.0020.0002.16865] # BAMUM LETTER PHASE-B NDU NJAA
+16866 ; [.2F83.0020.0002.16866] # BAMUM LETTER PHASE-B GHEUGHEUAEM
+16867 ; [.2F84.0020.0002.16867] # BAMUM LETTER PHASE-B PIT
+16868 ; [.2F85.0020.0002.16868] # BAMUM LETTER PHASE-B TU NSIEE
+16869 ; [.2F86.0020.0002.16869] # BAMUM LETTER PHASE-B SHET NJAQ
+1686A ; [.2F87.0020.0002.1686A] # BAMUM LETTER PHASE-B SHEUAEQTU
+1686B ; [.2F88.0020.0002.1686B] # BAMUM LETTER PHASE-B MFON TEUAEQ
+1686C ; [.2F89.0020.0002.1686C] # BAMUM LETTER PHASE-B MBIT MBAAKET
+1686D ; [.2F8A.0020.0002.1686D] # BAMUM LETTER PHASE-B NYI NTEUM
+1686E ; [.2F8B.0020.0002.1686E] # BAMUM LETTER PHASE-B KEUPUQ
+1686F ; [.2F8C.0020.0002.1686F] # BAMUM LETTER PHASE-B GHEUGHEN
+16870 ; [.2F8D.0020.0002.16870] # BAMUM LETTER PHASE-B KEUYEUX
+16871 ; [.2F8E.0020.0002.16871] # BAMUM LETTER PHASE-B LAANAE
+16872 ; [.2F8F.0020.0002.16872] # BAMUM LETTER PHASE-B PARUM
+16873 ; [.2F90.0020.0002.16873] # BAMUM LETTER PHASE-B VEUM
+16874 ; [.2F91.0020.0002.16874] # BAMUM LETTER PHASE-B NGKINDI MVOP
+16875 ; [.2F92.0020.0002.16875] # BAMUM LETTER PHASE-B NGGEU MBU
+16876 ; [.2F93.0020.0002.16876] # BAMUM LETTER PHASE-B WUAET
+16877 ; [.2F94.0020.0002.16877] # BAMUM LETTER PHASE-B SAKEUAE
+16878 ; [.2F95.0020.0002.16878] # BAMUM LETTER PHASE-B TAAM
+16879 ; [.2F96.0020.0002.16879] # BAMUM LETTER PHASE-B MEUQ
+1687A ; [.2F97.0020.0002.1687A] # BAMUM LETTER PHASE-B NGGUOQ
+1687B ; [.2F98.0020.0002.1687B] # BAMUM LETTER PHASE-B NGGUOQ LARGE
+1687C ; [.2F99.0020.0002.1687C] # BAMUM LETTER PHASE-B MFIYAQ
+1687D ; [.2F9A.0020.0002.1687D] # BAMUM LETTER PHASE-B SUE
+1687E ; [.2F9B.0020.0002.1687E] # BAMUM LETTER PHASE-B MBEURI
+1687F ; [.2F9C.0020.0002.1687F] # BAMUM LETTER PHASE-B MONTIEEN
+16880 ; [.2F9D.0020.0002.16880] # BAMUM LETTER PHASE-B NYAEMAE
+16881 ; [.2F9E.0020.0002.16881] # BAMUM LETTER PHASE-B PUNGAAM
+16882 ; [.2F9F.0020.0002.16882] # BAMUM LETTER PHASE-B MEUT NGGEET
+16883 ; [.2FA0.0020.0002.16883] # BAMUM LETTER PHASE-B FEUX
+16884 ; [.2FA1.0020.0002.16884] # BAMUM LETTER PHASE-B MBUOQ
+16885 ; [.2FA2.0020.0002.16885] # BAMUM LETTER PHASE-B FEE
+16886 ; [.2FA3.0020.0002.16886] # BAMUM LETTER PHASE-B KEUAEM
+16887 ; [.2FA4.0020.0002.16887] # BAMUM LETTER PHASE-B MA NJEUAENA
+16888 ; [.2FA5.0020.0002.16888] # BAMUM LETTER PHASE-B MA NJUQA
+16889 ; [.2FA6.0020.0002.16889] # BAMUM LETTER PHASE-B LET
+1688A ; [.2FA7.0020.0002.1688A] # BAMUM LETTER PHASE-B NGGAAM
+1688B ; [.2FA8.0020.0002.1688B] # BAMUM LETTER PHASE-B NSEN
+1688C ; [.2FA9.0020.0002.1688C] # BAMUM LETTER PHASE-B MA
+1688D ; [.2FAA.0020.0002.1688D] # BAMUM LETTER PHASE-B KIQ
+1688E ; [.2FAB.0020.0002.1688E] # BAMUM LETTER PHASE-B NGOM
+1688F ; [.2FAC.0020.0002.1688F] # BAMUM LETTER PHASE-C NGKUE MAEMBA
+16890 ; [.2FAD.0020.0002.16890] # BAMUM LETTER PHASE-C NZA
+16891 ; [.2FAE.0020.0002.16891] # BAMUM LETTER PHASE-C YUM
+16892 ; [.2FAF.0020.0002.16892] # BAMUM LETTER PHASE-C WANGKUOQ
+16893 ; [.2FB0.0020.0002.16893] # BAMUM LETTER PHASE-C NGGEN
+16894 ; [.2FB1.0020.0002.16894] # BAMUM LETTER PHASE-C NDEUAEREE
+16895 ; [.2FB2.0020.0002.16895] # BAMUM LETTER PHASE-C NGKAQ
+16896 ; [.2FB3.0020.0002.16896] # BAMUM LETTER PHASE-C GHARAE
+16897 ; [.2FB4.0020.0002.16897] # BAMUM LETTER PHASE-C MBEEKEET
+16898 ; [.2FB5.0020.0002.16898] # BAMUM LETTER PHASE-C GBAYI
+16899 ; [.2FB6.0020.0002.16899] # BAMUM LETTER PHASE-C NYIR MKPARAQ MEUN
+1689A ; [.2FB7.0020.0002.1689A] # BAMUM LETTER PHASE-C NTU MBIT
+1689B ; [.2FB8.0020.0002.1689B] # BAMUM LETTER PHASE-C MBEUM
+1689C ; [.2FB9.0020.0002.1689C] # BAMUM LETTER PHASE-C PIRIEEN
+1689D ; [.2FBA.0020.0002.1689D] # BAMUM LETTER PHASE-C NDOMBU
+1689E ; [.2FBB.0020.0002.1689E] # BAMUM LETTER PHASE-C MBAA CABBAGE-TREE
+1689F ; [.2FBC.0020.0002.1689F] # BAMUM LETTER PHASE-C KEUSHEUAEP
+168A0 ; [.2FBD.0020.0002.168A0] # BAMUM LETTER PHASE-C GHAP
+168A1 ; [.2FBE.0020.0002.168A1] # BAMUM LETTER PHASE-C KEUKAQ
+168A2 ; [.2FBF.0020.0002.168A2] # BAMUM LETTER PHASE-C YU MUOMAE
+168A3 ; [.2FC0.0020.0002.168A3] # BAMUM LETTER PHASE-C NZEUM
+168A4 ; [.2FC1.0020.0002.168A4] # BAMUM LETTER PHASE-C MBUE
+168A5 ; [.2FC2.0020.0002.168A5] # BAMUM LETTER PHASE-C NSEUAEN
+168A6 ; [.2FC3.0020.0002.168A6] # BAMUM LETTER PHASE-C MBIT
+168A7 ; [.2FC4.0020.0002.168A7] # BAMUM LETTER PHASE-C YEUQ
+168A8 ; [.2FC5.0020.0002.168A8] # BAMUM LETTER PHASE-C KPARAQ
+168A9 ; [.2FC6.0020.0002.168A9] # BAMUM LETTER PHASE-C KAA
+168AA ; [.2FC7.0020.0002.168AA] # BAMUM LETTER PHASE-C SEUX
+168AB ; [.2FC8.0020.0002.168AB] # BAMUM LETTER PHASE-C NDIDA
+168AC ; [.2FC9.0020.0002.168AC] # BAMUM LETTER PHASE-C TAASHAE
+168AD ; [.2FCA.0020.0002.168AD] # BAMUM LETTER PHASE-C NJUEQ
+168AE ; [.2FCB.0020.0002.168AE] # BAMUM LETTER PHASE-C TITA YUE
+168AF ; [.2FCC.0020.0002.168AF] # BAMUM LETTER PHASE-C SUAET
+168B0 ; [.2FCD.0020.0002.168B0] # BAMUM LETTER PHASE-C NGGUAEN NYAM
+168B1 ; [.2FCE.0020.0002.168B1] # BAMUM LETTER PHASE-C VEUX
+168B2 ; [.2FCF.0020.0002.168B2] # BAMUM LETTER PHASE-C NANSANAQ
+168B3 ; [.2FD0.0020.0002.168B3] # BAMUM LETTER PHASE-C MA KEUAERI
+168B4 ; [.2FD1.0020.0002.168B4] # BAMUM LETTER PHASE-C NTAA
+168B5 ; [.2FD2.0020.0002.168B5] # BAMUM LETTER PHASE-C NGGUON
+168B6 ; [.2FD3.0020.0002.168B6] # BAMUM LETTER PHASE-C LAP
+168B7 ; [.2FD4.0020.0002.168B7] # BAMUM LETTER PHASE-C MBIRIEEN
+168B8 ; [.2FD5.0020.0002.168B8] # BAMUM LETTER PHASE-C MGBASAQ
+168B9 ; [.2FD6.0020.0002.168B9] # BAMUM LETTER PHASE-C NTEUNGBA
+168BA ; [.2FD7.0020.0002.168BA] # BAMUM LETTER PHASE-C TEUTEUX
+168BB ; [.2FD8.0020.0002.168BB] # BAMUM LETTER PHASE-C NGGUM
+168BC ; [.2FD9.0020.0002.168BC] # BAMUM LETTER PHASE-C FUE
+168BD ; [.2FDA.0020.0002.168BD] # BAMUM LETTER PHASE-C NDEUT
+168BE ; [.2FDB.0020.0002.168BE] # BAMUM LETTER PHASE-C NSA
+168BF ; [.2FDC.0020.0002.168BF] # BAMUM LETTER PHASE-C NSHAQ
+168C0 ; [.2FDD.0020.0002.168C0] # BAMUM LETTER PHASE-C BUNG
+168C1 ; [.2FDE.0020.0002.168C1] # BAMUM LETTER PHASE-C VEUAEPEN
+168C2 ; [.2FDF.0020.0002.168C2] # BAMUM LETTER PHASE-C MBERAE
+168C3 ; [.2FE0.0020.0002.168C3] # BAMUM LETTER PHASE-C RU
+168C4 ; [.2FE1.0020.0002.168C4] # BAMUM LETTER PHASE-C NJAEM
+168C5 ; [.2FE2.0020.0002.168C5] # BAMUM LETTER PHASE-C LAM
+168C6 ; [.2FE3.0020.0002.168C6] # BAMUM LETTER PHASE-C TITUAEP
+168C7 ; [.2FE4.0020.0002.168C7] # BAMUM LETTER PHASE-C NSUOT NGOM
+168C8 ; [.2FE5.0020.0002.168C8] # BAMUM LETTER PHASE-C NJEEEE
+168C9 ; [.2FE6.0020.0002.168C9] # BAMUM LETTER PHASE-C KET
+168CA ; [.2FE7.0020.0002.168CA] # BAMUM LETTER PHASE-C NGGU
+168CB ; [.2FE8.0020.0002.168CB] # BAMUM LETTER PHASE-C MAESI
+168CC ; [.2FE9.0020.0002.168CC] # BAMUM LETTER PHASE-C MBUAEM
+168CD ; [.2FEA.0020.0002.168CD] # BAMUM LETTER PHASE-C LU
+168CE ; [.2FEB.0020.0002.168CE] # BAMUM LETTER PHASE-C KUT
+168CF ; [.2FEC.0020.0002.168CF] # BAMUM LETTER PHASE-C NJAM
+168D0 ; [.2FED.0020.0002.168D0] # BAMUM LETTER PHASE-C NGOM
+168D1 ; [.2FEE.0020.0002.168D1] # BAMUM LETTER PHASE-C WUP
+168D2 ; [.2FEF.0020.0002.168D2] # BAMUM LETTER PHASE-C NGGUEET
+168D3 ; [.2FF0.0020.0002.168D3] # BAMUM LETTER PHASE-C NSOM
+168D4 ; [.2FF1.0020.0002.168D4] # BAMUM LETTER PHASE-C NTEN
+168D5 ; [.2FF2.0020.0002.168D5] # BAMUM LETTER PHASE-C KUOP NKAARAE
+168D6 ; [.2FF3.0020.0002.168D6] # BAMUM LETTER PHASE-C NSUN
+168D7 ; [.2FF4.0020.0002.168D7] # BAMUM LETTER PHASE-C NDAM
+168D8 ; [.2FF5.0020.0002.168D8] # BAMUM LETTER PHASE-C MA NSIEE
+168D9 ; [.2FF6.0020.0002.168D9] # BAMUM LETTER PHASE-C YAA
+168DA ; [.2FF7.0020.0002.168DA] # BAMUM LETTER PHASE-C NDAP
+168DB ; [.2FF8.0020.0002.168DB] # BAMUM LETTER PHASE-C SHUEQ
+168DC ; [.2FF9.0020.0002.168DC] # BAMUM LETTER PHASE-C SETFON
+168DD ; [.2FFA.0020.0002.168DD] # BAMUM LETTER PHASE-C MBI
+168DE ; [.2FFB.0020.0002.168DE] # BAMUM LETTER PHASE-C MAEMBA
+168DF ; [.2FFC.0020.0002.168DF] # BAMUM LETTER PHASE-C MBANYI
+168E0 ; [.2FFD.0020.0002.168E0] # BAMUM LETTER PHASE-C KEUSEUX
+168E1 ; [.2FFE.0020.0002.168E1] # BAMUM LETTER PHASE-C MBEUX
+168E2 ; [.2FFF.0020.0002.168E2] # BAMUM LETTER PHASE-C KEUM
+168E3 ; [.3000.0020.0002.168E3] # BAMUM LETTER PHASE-C MBAA PICKET
+168E4 ; [.3001.0020.0002.168E4] # BAMUM LETTER PHASE-C YUWOQ
+168E5 ; [.3002.0020.0002.168E5] # BAMUM LETTER PHASE-C NJEUX
+168E6 ; [.3003.0020.0002.168E6] # BAMUM LETTER PHASE-C MIEE
+168E7 ; [.3004.0020.0002.168E7] # BAMUM LETTER PHASE-C MUAE
+168E8 ; [.3005.0020.0002.168E8] # BAMUM LETTER PHASE-C SHIQ
+168E9 ; [.3006.0020.0002.168E9] # BAMUM LETTER PHASE-C KEN LAW
+168EA ; [.3007.0020.0002.168EA] # BAMUM LETTER PHASE-C KEN FATIGUE
+168EB ; [.3008.0020.0002.168EB] # BAMUM LETTER PHASE-C NGAQ
+168EC ; [.3009.0020.0002.168EC] # BAMUM LETTER PHASE-C NAQ
+168ED ; [.300A.0020.0002.168ED] # BAMUM LETTER PHASE-C LIQ
+168EE ; [.300B.0020.0002.168EE] # BAMUM LETTER PHASE-C PIN
+168EF ; [.300C.0020.0002.168EF] # BAMUM LETTER PHASE-C PEN
+168F0 ; [.300D.0020.0002.168F0] # BAMUM LETTER PHASE-C TET
+168F1 ; [.300E.0020.0002.168F1] # BAMUM LETTER PHASE-D MBUO
+168F2 ; [.300F.0020.0002.168F2] # BAMUM LETTER PHASE-D WAP
+168F3 ; [.3010.0020.0002.168F3] # BAMUM LETTER PHASE-D NJI
+168F4 ; [.3011.0020.0002.168F4] # BAMUM LETTER PHASE-D MFON
+168F5 ; [.3012.0020.0002.168F5] # BAMUM LETTER PHASE-D NJIEE
+168F6 ; [.3013.0020.0002.168F6] # BAMUM LETTER PHASE-D LIEE
+168F7 ; [.3014.0020.0002.168F7] # BAMUM LETTER PHASE-D NJEUT
+168F8 ; [.3015.0020.0002.168F8] # BAMUM LETTER PHASE-D NSHEE
+168F9 ; [.3016.0020.0002.168F9] # BAMUM LETTER PHASE-D NGGAAMAE
+168FA ; [.3017.0020.0002.168FA] # BAMUM LETTER PHASE-D NYAM
+168FB ; [.3018.0020.0002.168FB] # BAMUM LETTER PHASE-D WUAEN
+168FC ; [.3019.0020.0002.168FC] # BAMUM LETTER PHASE-D NGKUN
+168FD ; [.301A.0020.0002.168FD] # BAMUM LETTER PHASE-D SHEE
+168FE ; [.301B.0020.0002.168FE] # BAMUM LETTER PHASE-D NGKAP
+168FF ; [.301C.0020.0002.168FF] # BAMUM LETTER PHASE-D KEUAETMEUN
+16900 ; [.301D.0020.0002.16900] # BAMUM LETTER PHASE-D TEUT
+16901 ; [.301E.0020.0002.16901] # BAMUM LETTER PHASE-D SHEUAE
+16902 ; [.301F.0020.0002.16902] # BAMUM LETTER PHASE-D NJAP
+16903 ; [.3020.0020.0002.16903] # BAMUM LETTER PHASE-D SUE
+16904 ; [.3021.0020.0002.16904] # BAMUM LETTER PHASE-D KET
+16905 ; [.3022.0020.0002.16905] # BAMUM LETTER PHASE-D YAEMMAE
+16906 ; [.3023.0020.0002.16906] # BAMUM LETTER PHASE-D KUOM
+16907 ; [.3024.0020.0002.16907] # BAMUM LETTER PHASE-D SAP
+16908 ; [.3025.0020.0002.16908] # BAMUM LETTER PHASE-D MFEUT
+16909 ; [.3026.0020.0002.16909] # BAMUM LETTER PHASE-D NDEUX
+1690A ; [.3027.0020.0002.1690A] # BAMUM LETTER PHASE-D MALEERI
+1690B ; [.3028.0020.0002.1690B] # BAMUM LETTER PHASE-D MEUT
+1690C ; [.3029.0020.0002.1690C] # BAMUM LETTER PHASE-D SEUAEQ
+1690D ; [.302A.0020.0002.1690D] # BAMUM LETTER PHASE-D YEN
+1690E ; [.302B.0020.0002.1690E] # BAMUM LETTER PHASE-D NJEUAEM
+1690F ; [.302C.0020.0002.1690F] # BAMUM LETTER PHASE-D KEUOT MBUAE
+16910 ; [.302D.0020.0002.16910] # BAMUM LETTER PHASE-D NGKEURI
+16911 ; [.302E.0020.0002.16911] # BAMUM LETTER PHASE-D TU
+16912 ; [.302F.0020.0002.16912] # BAMUM LETTER PHASE-D GHAA
+16913 ; [.3030.0020.0002.16913] # BAMUM LETTER PHASE-D NGKYEE
+16914 ; [.3031.0020.0002.16914] # BAMUM LETTER PHASE-D FEUFEUAET
+16915 ; [.3032.0020.0002.16915] # BAMUM LETTER PHASE-D NDEE
+16916 ; [.3033.0020.0002.16916] # BAMUM LETTER PHASE-D MGBOFUM
+16917 ; [.3034.0020.0002.16917] # BAMUM LETTER PHASE-D LEUAEP
+16918 ; [.3035.0020.0002.16918] # BAMUM LETTER PHASE-D NDON
+16919 ; [.3036.0020.0002.16919] # BAMUM LETTER PHASE-D MONI
+1691A ; [.3037.0020.0002.1691A] # BAMUM LETTER PHASE-D MGBEUN
+1691B ; [.3038.0020.0002.1691B] # BAMUM LETTER PHASE-D PUUT
+1691C ; [.3039.0020.0002.1691C] # BAMUM LETTER PHASE-D MGBIEE
+1691D ; [.303A.0020.0002.1691D] # BAMUM LETTER PHASE-D MFO
+1691E ; [.303B.0020.0002.1691E] # BAMUM LETTER PHASE-D LUM
+1691F ; [.303C.0020.0002.1691F] # BAMUM LETTER PHASE-D NSIEEP
+16920 ; [.303D.0020.0002.16920] # BAMUM LETTER PHASE-D MBAA
+16921 ; [.303E.0020.0002.16921] # BAMUM LETTER PHASE-D KWAET
+16922 ; [.303F.0020.0002.16922] # BAMUM LETTER PHASE-D NYET
+16923 ; [.3040.0020.0002.16923] # BAMUM LETTER PHASE-D TEUAEN
+16924 ; [.3041.0020.0002.16924] # BAMUM LETTER PHASE-D SOT
+16925 ; [.3042.0020.0002.16925] # BAMUM LETTER PHASE-D YUWOQ
+16926 ; [.3043.0020.0002.16926] # BAMUM LETTER PHASE-D KEUM
+16927 ; [.3044.0020.0002.16927] # BAMUM LETTER PHASE-D RAEM
+16928 ; [.3045.0020.0002.16928] # BAMUM LETTER PHASE-D TEEEE
+16929 ; [.3046.0020.0002.16929] # BAMUM LETTER PHASE-D NGKEUAEQ
+1692A ; [.3047.0020.0002.1692A] # BAMUM LETTER PHASE-D MFEUAE
+1692B ; [.3048.0020.0002.1692B] # BAMUM LETTER PHASE-D NSIEET
+1692C ; [.3049.0020.0002.1692C] # BAMUM LETTER PHASE-D KEUP
+1692D ; [.304A.0020.0002.1692D] # BAMUM LETTER PHASE-D PIP
+1692E ; [.304B.0020.0002.1692E] # BAMUM LETTER PHASE-D PEUTAE
+1692F ; [.304C.0020.0002.1692F] # BAMUM LETTER PHASE-D NYUE
+16930 ; [.304D.0020.0002.16930] # BAMUM LETTER PHASE-D LET
+16931 ; [.304E.0020.0002.16931] # BAMUM LETTER PHASE-D NGGAAM
+16932 ; [.304F.0020.0002.16932] # BAMUM LETTER PHASE-D MFIEE
+16933 ; [.3050.0020.0002.16933] # BAMUM LETTER PHASE-D NGGWAEN
+16934 ; [.3051.0020.0002.16934] # BAMUM LETTER PHASE-D YUOM
+16935 ; [.3052.0020.0002.16935] # BAMUM LETTER PHASE-D PAP
+16936 ; [.3053.0020.0002.16936] # BAMUM LETTER PHASE-D YUOP
+16937 ; [.3054.0020.0002.16937] # BAMUM LETTER PHASE-D NDAM
+16938 ; [.3055.0020.0002.16938] # BAMUM LETTER PHASE-D NTEUM
+16939 ; [.3056.0020.0002.16939] # BAMUM LETTER PHASE-D SUAE
+1693A ; [.3057.0020.0002.1693A] # BAMUM LETTER PHASE-D KUN
+1693B ; [.3058.0020.0002.1693B] # BAMUM LETTER PHASE-D NGGEUX
+1693C ; [.3059.0020.0002.1693C] # BAMUM LETTER PHASE-D NGKIEE
+1693D ; [.305A.0020.0002.1693D] # BAMUM LETTER PHASE-D TUOT
+1693E ; [.305B.0020.0002.1693E] # BAMUM LETTER PHASE-D MEUN
+1693F ; [.305C.0020.0002.1693F] # BAMUM LETTER PHASE-D KUQ
+16940 ; [.305D.0020.0002.16940] # BAMUM LETTER PHASE-D NSUM
+16941 ; [.305E.0020.0002.16941] # BAMUM LETTER PHASE-D TEUN
+16942 ; [.305F.0020.0002.16942] # BAMUM LETTER PHASE-D MAENJET
+16943 ; [.3060.0020.0002.16943] # BAMUM LETTER PHASE-D NGGAP
+16944 ; [.3061.0020.0002.16944] # BAMUM LETTER PHASE-D LEUM
+16945 ; [.3062.0020.0002.16945] # BAMUM LETTER PHASE-D NGGUOM
+16946 ; [.3063.0020.0002.16946] # BAMUM LETTER PHASE-D NSHUT
+16947 ; [.3064.0020.0002.16947] # BAMUM LETTER PHASE-D NJUEQ
+16948 ; [.3065.0020.0002.16948] # BAMUM LETTER PHASE-D GHEUAE
+16949 ; [.3066.0020.0002.16949] # BAMUM LETTER PHASE-D KU
+1694A ; [.3067.0020.0002.1694A] # BAMUM LETTER PHASE-D REN OLD
+1694B ; [.3068.0020.0002.1694B] # BAMUM LETTER PHASE-D TAE
+1694C ; [.3069.0020.0002.1694C] # BAMUM LETTER PHASE-D TOQ
+1694D ; [.306A.0020.0002.1694D] # BAMUM LETTER PHASE-D NYI
+1694E ; [.306B.0020.0002.1694E] # BAMUM LETTER PHASE-D RII
+1694F ; [.306C.0020.0002.1694F] # BAMUM LETTER PHASE-D LEEEE
+16950 ; [.306D.0020.0002.16950] # BAMUM LETTER PHASE-D MEEEE
+16951 ; [.306E.0020.0002.16951] # BAMUM LETTER PHASE-D M
+16952 ; [.306F.0020.0002.16952] # BAMUM LETTER PHASE-D SUU
+16953 ; [.3070.0020.0002.16953] # BAMUM LETTER PHASE-D MU
+16954 ; [.3071.0020.0002.16954] # BAMUM LETTER PHASE-D SHII
+16955 ; [.3072.0020.0002.16955] # BAMUM LETTER PHASE-D SHEUX
+16956 ; [.3073.0020.0002.16956] # BAMUM LETTER PHASE-D KYEE
+16957 ; [.3074.0020.0002.16957] # BAMUM LETTER PHASE-D NU
+16958 ; [.3075.0020.0002.16958] # BAMUM LETTER PHASE-D SHU
+16959 ; [.3076.0020.0002.16959] # BAMUM LETTER PHASE-D NTEE
+1695A ; [.3077.0020.0002.1695A] # BAMUM LETTER PHASE-D PEE
+1695B ; [.3078.0020.0002.1695B] # BAMUM LETTER PHASE-D NI
+1695C ; [.3079.0020.0002.1695C] # BAMUM LETTER PHASE-D SHOQ
+1695D ; [.307A.0020.0002.1695D] # BAMUM LETTER PHASE-D PUQ
+1695E ; [.307B.0020.0002.1695E] # BAMUM LETTER PHASE-D MVOP
+1695F ; [.307C.0020.0002.1695F] # BAMUM LETTER PHASE-D LOQ
+16960 ; [.307D.0020.0002.16960] # BAMUM LETTER PHASE-D REN MUCH
+16961 ; [.307E.0020.0002.16961] # BAMUM LETTER PHASE-D TI
+16962 ; [.307F.0020.0002.16962] # BAMUM LETTER PHASE-D NTUU
+16963 ; [.3080.0020.0002.16963] # BAMUM LETTER PHASE-D MBAA SEVEN
+16964 ; [.3081.0020.0002.16964] # BAMUM LETTER PHASE-D SAQ
+16965 ; [.3082.0020.0002.16965] # BAMUM LETTER PHASE-D FAA
+16966 ; [.3083.0020.0002.16966] # BAMUM LETTER PHASE-E NDAP
+16967 ; [.3084.0020.0002.16967] # BAMUM LETTER PHASE-E TOON
+16968 ; [.3085.0020.0002.16968] # BAMUM LETTER PHASE-E MBEUM
+16969 ; [.3086.0020.0002.16969] # BAMUM LETTER PHASE-E LAP
+1696A ; [.3087.0020.0002.1696A] # BAMUM LETTER PHASE-E VOM
+1696B ; [.3088.0020.0002.1696B] # BAMUM LETTER PHASE-E LOON
+1696C ; [.3089.0020.0002.1696C] # BAMUM LETTER PHASE-E PAA
+1696D ; [.308A.0020.0002.1696D] # BAMUM LETTER PHASE-E SOM
+1696E ; [.308B.0020.0002.1696E] # BAMUM LETTER PHASE-E RAQ
+1696F ; [.308C.0020.0002.1696F] # BAMUM LETTER PHASE-E NSHUOP
+16970 ; [.308D.0020.0002.16970] # BAMUM LETTER PHASE-E NDUN
+16971 ; [.308E.0020.0002.16971] # BAMUM LETTER PHASE-E PUAE
+16972 ; [.308F.0020.0002.16972] # BAMUM LETTER PHASE-E TAM
+16973 ; [.3090.0020.0002.16973] # BAMUM LETTER PHASE-E NGKA
+16974 ; [.3091.0020.0002.16974] # BAMUM LETTER PHASE-E KPEUX
+16975 ; [.3092.0020.0002.16975] # BAMUM LETTER PHASE-E WUO
+16976 ; [.3093.0020.0002.16976] # BAMUM LETTER PHASE-E SEE
+16977 ; [.3094.0020.0002.16977] # BAMUM LETTER PHASE-E NGGEUAET
+16978 ; [.3095.0020.0002.16978] # BAMUM LETTER PHASE-E PAAM
+16979 ; [.3096.0020.0002.16979] # BAMUM LETTER PHASE-E TOO
+1697A ; [.3097.0020.0002.1697A] # BAMUM LETTER PHASE-E KUOP
+1697B ; [.3098.0020.0002.1697B] # BAMUM LETTER PHASE-E LOM
+1697C ; [.3099.0020.0002.1697C] # BAMUM LETTER PHASE-E NSHIEE
+1697D ; [.309A.0020.0002.1697D] # BAMUM LETTER PHASE-E NGOP
+1697E ; [.309B.0020.0002.1697E] # BAMUM LETTER PHASE-E MAEM
+1697F ; [.309C.0020.0002.1697F] # BAMUM LETTER PHASE-E NGKEUX
+16980 ; [.309D.0020.0002.16980] # BAMUM LETTER PHASE-E NGOQ
+16981 ; [.309E.0020.0002.16981] # BAMUM LETTER PHASE-E NSHUE
+16982 ; [.309F.0020.0002.16982] # BAMUM LETTER PHASE-E RIMGBA
+16983 ; [.30A0.0020.0002.16983] # BAMUM LETTER PHASE-E NJEUX
+16984 ; [.30A1.0020.0002.16984] # BAMUM LETTER PHASE-E PEEM
+16985 ; [.30A2.0020.0002.16985] # BAMUM LETTER PHASE-E SAA
+16986 ; [.30A3.0020.0002.16986] # BAMUM LETTER PHASE-E NGGURAE
+16987 ; [.30A4.0020.0002.16987] # BAMUM LETTER PHASE-E MGBA
+16988 ; [.30A5.0020.0002.16988] # BAMUM LETTER PHASE-E GHEUX
+16989 ; [.30A6.0020.0002.16989] # BAMUM LETTER PHASE-E NGKEUAEM
+1698A ; [.30A7.0020.0002.1698A] # BAMUM LETTER PHASE-E NJAEMLI
+1698B ; [.30A8.0020.0002.1698B] # BAMUM LETTER PHASE-E MAP
+1698C ; [.30A9.0020.0002.1698C] # BAMUM LETTER PHASE-E LOOT
+1698D ; [.30AA.0020.0002.1698D] # BAMUM LETTER PHASE-E NGGEEEE
+1698E ; [.30AB.0020.0002.1698E] # BAMUM LETTER PHASE-E NDIQ
+1698F ; [.30AC.0020.0002.1698F] # BAMUM LETTER PHASE-E TAEN NTEUM
+16990 ; [.30AD.0020.0002.16990] # BAMUM LETTER PHASE-E SET
+16991 ; [.30AE.0020.0002.16991] # BAMUM LETTER PHASE-E PUM
+16992 ; [.30AF.0020.0002.16992] # BAMUM LETTER PHASE-E NDAA SOFTNESS
+16993 ; [.30B0.0020.0002.16993] # BAMUM LETTER PHASE-E NGGUAESHAE NYAM
+16994 ; [.30B1.0020.0002.16994] # BAMUM LETTER PHASE-E YIEE
+16995 ; [.30B2.0020.0002.16995] # BAMUM LETTER PHASE-E GHEUN
+16996 ; [.30B3.0020.0002.16996] # BAMUM LETTER PHASE-E TUAE
+16997 ; [.30B4.0020.0002.16997] # BAMUM LETTER PHASE-E YEUAE
+16998 ; [.30B5.0020.0002.16998] # BAMUM LETTER PHASE-E PO
+16999 ; [.30B6.0020.0002.16999] # BAMUM LETTER PHASE-E TUMAE
+1699A ; [.30B7.0020.0002.1699A] # BAMUM LETTER PHASE-E KEUAE
+1699B ; [.30B8.0020.0002.1699B] # BAMUM LETTER PHASE-E SUAEN
+1699C ; [.30B9.0020.0002.1699C] # BAMUM LETTER PHASE-E TEUAEQ
+1699D ; [.30BA.0020.0002.1699D] # BAMUM LETTER PHASE-E VEUAE
+1699E ; [.30BB.0020.0002.1699E] # BAMUM LETTER PHASE-E WEUX
+1699F ; [.30BC.0020.0002.1699F] # BAMUM LETTER PHASE-E LAAM
+169A0 ; [.30BD.0020.0002.169A0] # BAMUM LETTER PHASE-E PU
+169A1 ; [.30BE.0020.0002.169A1] # BAMUM LETTER PHASE-E TAAQ
+169A2 ; [.30BF.0020.0002.169A2] # BAMUM LETTER PHASE-E GHAAMAE
+169A3 ; [.30C0.0020.0002.169A3] # BAMUM LETTER PHASE-E NGEUREUT
+169A4 ; [.30C1.0020.0002.169A4] # BAMUM LETTER PHASE-E SHEUAEQ
+169A5 ; [.30C2.0020.0002.169A5] # BAMUM LETTER PHASE-E MGBEN
+169A6 ; [.30C3.0020.0002.169A6] # BAMUM LETTER PHASE-E MBEE
+169A7 ; [.30C4.0020.0002.169A7] # BAMUM LETTER PHASE-E NZAQ
+169A8 ; [.30C5.0020.0002.169A8] # BAMUM LETTER PHASE-E NKOM
+169A9 ; [.30C6.0020.0002.169A9] # BAMUM LETTER PHASE-E GBET
+169AA ; [.30C7.0020.0002.169AA] # BAMUM LETTER PHASE-E TUM
+169AB ; [.30C8.0020.0002.169AB] # BAMUM LETTER PHASE-E KUET
+169AC ; [.30C9.0020.0002.169AC] # BAMUM LETTER PHASE-E YAP
+169AD ; [.30CA.0020.0002.169AD] # BAMUM LETTER PHASE-E NYI CLEAVER
+169AE ; [.30CB.0020.0002.169AE] # BAMUM LETTER PHASE-E YIT
+169AF ; [.30CC.0020.0002.169AF] # BAMUM LETTER PHASE-E MFEUQ
+169B0 ; [.30CD.0020.0002.169B0] # BAMUM LETTER PHASE-E NDIAQ
+169B1 ; [.30CE.0020.0002.169B1] # BAMUM LETTER PHASE-E PIEEQ
+169B2 ; [.30CF.0020.0002.169B2] # BAMUM LETTER PHASE-E YUEQ
+169B3 ; [.30D0.0020.0002.169B3] # BAMUM LETTER PHASE-E LEUAEM
+169B4 ; [.30D1.0020.0002.169B4] # BAMUM LETTER PHASE-E FUE
+169B5 ; [.30D2.0020.0002.169B5] # BAMUM LETTER PHASE-E GBEUX
+169B6 ; [.30D3.0020.0002.169B6] # BAMUM LETTER PHASE-E NGKUP
+169B7 ; [.30D4.0020.0002.169B7] # BAMUM LETTER PHASE-E KET
+169B8 ; [.30D5.0020.0002.169B8] # BAMUM LETTER PHASE-E MAE
+169B9 ; [.30D6.0020.0002.169B9] # BAMUM LETTER PHASE-E NGKAAMI
+169BA ; [.30D7.0020.0002.169BA] # BAMUM LETTER PHASE-E GHET
+169BB ; [.30D8.0020.0002.169BB] # BAMUM LETTER PHASE-E FA
+169BC ; [.30D9.0020.0002.169BC] # BAMUM LETTER PHASE-E NTUM
+169BD ; [.30DA.0020.0002.169BD] # BAMUM LETTER PHASE-E PEUT
+169BE ; [.30DB.0020.0002.169BE] # BAMUM LETTER PHASE-E YEUM
+169BF ; [.30DC.0020.0002.169BF] # BAMUM LETTER PHASE-E NGGEUAE
+169C0 ; [.30DD.0020.0002.169C0] # BAMUM LETTER PHASE-E NYI BETWEEN
+169C1 ; [.30DE.0020.0002.169C1] # BAMUM LETTER PHASE-E NZUQ
+169C2 ; [.30DF.0020.0002.169C2] # BAMUM LETTER PHASE-E POON
+169C3 ; [.30E0.0020.0002.169C3] # BAMUM LETTER PHASE-E MIEE
+169C4 ; [.30E1.0020.0002.169C4] # BAMUM LETTER PHASE-E FUET
+169C5 ; [.30E2.0020.0002.169C5] # BAMUM LETTER PHASE-E NAE
+169C6 ; [.30E3.0020.0002.169C6] # BAMUM LETTER PHASE-E MUAE
+169C7 ; [.30E4.0020.0002.169C7] # BAMUM LETTER PHASE-E GHEUAE
+169C8 ; [.30E5.0020.0002.169C8] # BAMUM LETTER PHASE-E FU I
+169C9 ; [.30E6.0020.0002.169C9] # BAMUM LETTER PHASE-E MVI
+169CA ; [.30E7.0020.0002.169CA] # BAMUM LETTER PHASE-E PUAQ
+169CB ; [.30E8.0020.0002.169CB] # BAMUM LETTER PHASE-E NGKUM
+169CC ; [.30E9.0020.0002.169CC] # BAMUM LETTER PHASE-E KUT
+169CD ; [.30EA.0020.0002.169CD] # BAMUM LETTER PHASE-E PIET
+169CE ; [.30EB.0020.0002.169CE] # BAMUM LETTER PHASE-E NTAP
+169CF ; [.30EC.0020.0002.169CF] # BAMUM LETTER PHASE-E YEUAET
+169D0 ; [.30ED.0020.0002.169D0] # BAMUM LETTER PHASE-E NGGUP
+169D1 ; [.30EE.0020.0002.169D1] # BAMUM LETTER PHASE-E PA PEOPLE
+169D2 ; [.30EF.0020.0002.169D2] # BAMUM LETTER PHASE-E FU CALL
+169D3 ; [.30F0.0020.0002.169D3] # BAMUM LETTER PHASE-E FOM
+169D4 ; [.30F1.0020.0002.169D4] # BAMUM LETTER PHASE-E NJEE
+169D5 ; [.30F2.0020.0002.169D5] # BAMUM LETTER PHASE-E A
+169D6 ; [.30F3.0020.0002.169D6] # BAMUM LETTER PHASE-E TOQ
+169D7 ; [.30F4.0020.0002.169D7] # BAMUM LETTER PHASE-E O
+169D8 ; [.30F5.0020.0002.169D8] # BAMUM LETTER PHASE-E I
+169D9 ; [.30F6.0020.0002.169D9] # BAMUM LETTER PHASE-E LAQ
+169DA ; [.30F7.0020.0002.169DA] # BAMUM LETTER PHASE-E PA PLURAL
+169DB ; [.30F8.0020.0002.169DB] # BAMUM LETTER PHASE-E TAA
+169DC ; [.30F9.0020.0002.169DC] # BAMUM LETTER PHASE-E TAQ
+169DD ; [.30FA.0020.0002.169DD] # BAMUM LETTER PHASE-E NDAA MY HOUSE
+169DE ; [.30FB.0020.0002.169DE] # BAMUM LETTER PHASE-E SHIQ
+169DF ; [.30FC.0020.0002.169DF] # BAMUM LETTER PHASE-E YEUX
+169E0 ; [.30FD.0020.0002.169E0] # BAMUM LETTER PHASE-E NGUAE
+169E1 ; [.30FE.0020.0002.169E1] # BAMUM LETTER PHASE-E YUAEN
+169E2 ; [.30FF.0020.0002.169E2] # BAMUM LETTER PHASE-E YOQ SWIMMING
+169E3 ; [.3100.0020.0002.169E3] # BAMUM LETTER PHASE-E YOQ COVER
+169E4 ; [.3101.0020.0002.169E4] # BAMUM LETTER PHASE-E YUQ
+169E5 ; [.3102.0020.0002.169E5] # BAMUM LETTER PHASE-E YUN
+169E6 ; [.3103.0020.0002.169E6] # BAMUM LETTER PHASE-E KEUX
+169E7 ; [.3104.0020.0002.169E7] # BAMUM LETTER PHASE-E PEUX
+169E8 ; [.3105.0020.0002.169E8] # BAMUM LETTER PHASE-E NJEE EPOCH
+169E9 ; [.3106.0020.0002.169E9] # BAMUM LETTER PHASE-E PUE
+169EA ; [.3107.0020.0002.169EA] # BAMUM LETTER PHASE-E WUE
+169EB ; [.3108.0020.0002.169EB] # BAMUM LETTER PHASE-E FEE
+169EC ; [.3109.0020.0002.169EC] # BAMUM LETTER PHASE-E VEE
+169ED ; [.310A.0020.0002.169ED] # BAMUM LETTER PHASE-E LU
+169EE ; [.310B.0020.0002.169EE] # BAMUM LETTER PHASE-E MI
+169EF ; [.310C.0020.0002.169EF] # BAMUM LETTER PHASE-E REUX
+169F0 ; [.310D.0020.0002.169F0] # BAMUM LETTER PHASE-E RAE
+169F1 ; [.310E.0020.0002.169F1] # BAMUM LETTER PHASE-E NGUAET
+169F2 ; [.310F.0020.0002.169F2] # BAMUM LETTER PHASE-E NGA
+169F3 ; [.3110.0020.0002.169F3] # BAMUM LETTER PHASE-E SHO
+169F4 ; [.3111.0020.0002.169F4] # BAMUM LETTER PHASE-E SHOQ
+169F5 ; [.3112.0020.0002.169F5] # BAMUM LETTER PHASE-E FU REMEDY
+169F6 ; [.3113.0020.0002.169F6] # BAMUM LETTER PHASE-E NA
+169F7 ; [.3114.0020.0002.169F7] # BAMUM LETTER PHASE-E PI
+169F8 ; [.3115.0020.0002.169F8] # BAMUM LETTER PHASE-E LOQ
+169F9 ; [.3116.0020.0002.169F9] # BAMUM LETTER PHASE-E KO
+169FA ; [.3117.0020.0002.169FA] # BAMUM LETTER PHASE-E MEN
+169FB ; [.3118.0020.0002.169FB] # BAMUM LETTER PHASE-E MA
+169FC ; [.3119.0020.0002.169FC] # BAMUM LETTER PHASE-E MAQ
+169FD ; [.311A.0020.0002.169FD] # BAMUM LETTER PHASE-E TEU
+169FE ; [.311B.0020.0002.169FE] # BAMUM LETTER PHASE-E KI
+169FF ; [.311C.0020.0002.169FF] # BAMUM LETTER PHASE-E MON
+16A00 ; [.311D.0020.0002.16A00] # BAMUM LETTER PHASE-E TEN
+16A01 ; [.311E.0020.0002.16A01] # BAMUM LETTER PHASE-E FAQ
+16A02 ; [.311F.0020.0002.16A02] # BAMUM LETTER PHASE-E GHOM
+16A03 ; [.3120.0020.0002.16A03] # BAMUM LETTER PHASE-F KA
+16A04 ; [.3121.0020.0002.16A04] # BAMUM LETTER PHASE-F U
+16A05 ; [.3122.0020.0002.16A05] # BAMUM LETTER PHASE-F KU
+16A06 ; [.3123.0020.0002.16A06] # BAMUM LETTER PHASE-F EE
+16A07 ; [.3124.0020.0002.16A07] # BAMUM LETTER PHASE-F REE
+16A08 ; [.3125.0020.0002.16A08] # BAMUM LETTER PHASE-F TAE
+16A09 ; [.3126.0020.0002.16A09] # BAMUM LETTER PHASE-F NYI
+16A0A ; [.3127.0020.0002.16A0A] # BAMUM LETTER PHASE-F LA
+16A0B ; [.3128.0020.0002.16A0B] # BAMUM LETTER PHASE-F RII
+16A0C ; [.3129.0020.0002.16A0C] # BAMUM LETTER PHASE-F RIEE
+16A0D ; [.312A.0020.0002.16A0D] # BAMUM LETTER PHASE-F MEEEE
+16A0E ; [.312B.0020.0002.16A0E] # BAMUM LETTER PHASE-F TAA
+16A0F ; [.312C.0020.0002.16A0F] # BAMUM LETTER PHASE-F NDAA
+16A10 ; [.312D.0020.0002.16A10] # BAMUM LETTER PHASE-F NJAEM
+16A11 ; [.312E.0020.0002.16A11] # BAMUM LETTER PHASE-F M
+16A12 ; [.312F.0020.0002.16A12] # BAMUM LETTER PHASE-F SUU
+16A13 ; [.3130.0020.0002.16A13] # BAMUM LETTER PHASE-F SHII
+16A14 ; [.3131.0020.0002.16A14] # BAMUM LETTER PHASE-F SI
+16A15 ; [.3132.0020.0002.16A15] # BAMUM LETTER PHASE-F SEUX
+16A16 ; [.3133.0020.0002.16A16] # BAMUM LETTER PHASE-F KYEE
+16A17 ; [.3134.0020.0002.16A17] # BAMUM LETTER PHASE-F KET
+16A18 ; [.3135.0020.0002.16A18] # BAMUM LETTER PHASE-F NUAE
+16A19 ; [.3136.0020.0002.16A19] # BAMUM LETTER PHASE-F NU
+16A1A ; [.3137.0020.0002.16A1A] # BAMUM LETTER PHASE-F NJUAE
+16A1B ; [.3138.0020.0002.16A1B] # BAMUM LETTER PHASE-F YOQ
+16A1C ; [.3139.0020.0002.16A1C] # BAMUM LETTER PHASE-F SHU
+16A1D ; [.313A.0020.0002.16A1D] # BAMUM LETTER PHASE-F YA
+16A1E ; [.313B.0020.0002.16A1E] # BAMUM LETTER PHASE-F NSHA
+16A1F ; [.313C.0020.0002.16A1F] # BAMUM LETTER PHASE-F PEUX
+16A20 ; [.313D.0020.0002.16A20] # BAMUM LETTER PHASE-F NTEE
+16A21 ; [.313E.0020.0002.16A21] # BAMUM LETTER PHASE-F WUE
+16A22 ; [.313F.0020.0002.16A22] # BAMUM LETTER PHASE-F PEE
+16A23 ; [.3140.0020.0002.16A23] # BAMUM LETTER PHASE-F RU
+16A24 ; [.3141.0020.0002.16A24] # BAMUM LETTER PHASE-F NI
+16A25 ; [.3142.0020.0002.16A25] # BAMUM LETTER PHASE-F REUX
+16A26 ; [.3143.0020.0002.16A26] # BAMUM LETTER PHASE-F KEN
+16A27 ; [.3144.0020.0002.16A27] # BAMUM LETTER PHASE-F NGKWAEN
+16A28 ; [.3145.0020.0002.16A28] # BAMUM LETTER PHASE-F NGGA
+16A29 ; [.3146.0020.0002.16A29] # BAMUM LETTER PHASE-F SHO
+16A2A ; [.3147.0020.0002.16A2A] # BAMUM LETTER PHASE-F PUAE
+16A2B ; [.3148.0020.0002.16A2B] # BAMUM LETTER PHASE-F FOM
+16A2C ; [.3149.0020.0002.16A2C] # BAMUM LETTER PHASE-F WA
+16A2D ; [.314A.0020.0002.16A2D] # BAMUM LETTER PHASE-F LI
+16A2E ; [.314B.0020.0002.16A2E] # BAMUM LETTER PHASE-F LOQ
+16A2F ; [.314C.0020.0002.16A2F] # BAMUM LETTER PHASE-F KO
+16A30 ; [.314D.0020.0002.16A30] # BAMUM LETTER PHASE-F MBEN
+16A31 ; [.314E.0020.0002.16A31] # BAMUM LETTER PHASE-F REN
+16A32 ; [.314F.0020.0002.16A32] # BAMUM LETTER PHASE-F MA
+16A33 ; [.3150.0020.0002.16A33] # BAMUM LETTER PHASE-F MO
+16A34 ; [.3151.0020.0002.16A34] # BAMUM LETTER PHASE-F MBAA
+16A35 ; [.3152.0020.0002.16A35] # BAMUM LETTER PHASE-F TET
+16A36 ; [.3153.0020.0002.16A36] # BAMUM LETTER PHASE-F KPA
+16A37 ; [.3154.0020.0002.16A37] # BAMUM LETTER PHASE-F SAMBA
+16A38 ; [.3155.0020.0002.16A38] # BAMUM LETTER PHASE-F VUEQ
+1100  ; [.3156.0020.0002.1100] # HANGUL CHOSEONG KIYEOK
+3131  ; [.3156.0020.0004.3131] # HANGUL LETTER KIYEOK
+3200  ; [*02FB.0020.0004.3200][.3156.0020.0004.3200][*02FC.0020.001F.3200] # PARENTHESIZED HANGUL KIYEOK
+3260  ; [.3156.0020.0006.3260] # CIRCLED HANGUL KIYEOK
+FFA1  ; [.3156.0020.0012.FFA1] # HALFWIDTH HANGUL LETTER KIYEOK
+320E  ; [*02FB.0020.0004.320E][.3156.0020.0004.320E][.31D4.0020.0004.320E][*02FC.0020.001F.320E] # PARENTHESIZED HANGUL KIYEOK A
+326E  ; [.3156.0020.0006.326E][.31D4.0020.0006.326E] # CIRCLED HANGUL KIYEOK A
+1101  ; [.3157.0020.0002.1101] # HANGUL CHOSEONG SSANGKIYEOK
+3132  ; [.3157.0020.0004.3132] # HANGUL LETTER SSANGKIYEOK
+FFA2  ; [.3157.0020.0012.FFA2] # HALFWIDTH HANGUL LETTER SSANGKIYEOK
+1102  ; [.3158.0020.0002.1102] # HANGUL CHOSEONG NIEUN
+3134  ; [.3158.0020.0004.3134] # HANGUL LETTER NIEUN
+3201  ; [*02FB.0020.0004.3201][.3158.0020.0004.3201][*02FC.0020.001F.3201] # PARENTHESIZED HANGUL NIEUN
+3261  ; [.3158.0020.0006.3261] # CIRCLED HANGUL NIEUN
+FFA4  ; [.3158.0020.0012.FFA4] # HALFWIDTH HANGUL LETTER NIEUN
+320F  ; [*02FB.0020.0004.320F][.3158.0020.0004.320F][.31D4.0020.0004.320F][*02FC.0020.001F.320F] # PARENTHESIZED HANGUL NIEUN A
+326F  ; [.3158.0020.0006.326F][.31D4.0020.0006.326F] # CIRCLED HANGUL NIEUN A
+1103  ; [.3159.0020.0002.1103] # HANGUL CHOSEONG TIKEUT
+3137  ; [.3159.0020.0004.3137] # HANGUL LETTER TIKEUT
+3202  ; [*02FB.0020.0004.3202][.3159.0020.0004.3202][*02FC.0020.001F.3202] # PARENTHESIZED HANGUL TIKEUT
+3262  ; [.3159.0020.0006.3262] # CIRCLED HANGUL TIKEUT
+FFA7  ; [.3159.0020.0012.FFA7] # HALFWIDTH HANGUL LETTER TIKEUT
+3210  ; [*02FB.0020.0004.3210][.3159.0020.0004.3210][.31D4.0020.0004.3210][*02FC.0020.001F.3210] # PARENTHESIZED HANGUL TIKEUT A
+3270  ; [.3159.0020.0006.3270][.31D4.0020.0006.3270] # CIRCLED HANGUL TIKEUT A
+1104  ; [.315A.0020.0002.1104] # HANGUL CHOSEONG SSANGTIKEUT
+3138  ; [.315A.0020.0004.3138] # HANGUL LETTER SSANGTIKEUT
+FFA8  ; [.315A.0020.0012.FFA8] # HALFWIDTH HANGUL LETTER SSANGTIKEUT
+1105  ; [.315B.0020.0002.1105] # HANGUL CHOSEONG RIEUL
+3139  ; [.315B.0020.0004.3139] # HANGUL LETTER RIEUL
+3203  ; [*02FB.0020.0004.3203][.315B.0020.0004.3203][*02FC.0020.001F.3203] # PARENTHESIZED HANGUL RIEUL
+3263  ; [.315B.0020.0006.3263] # CIRCLED HANGUL RIEUL
+FFA9  ; [.315B.0020.0012.FFA9] # HALFWIDTH HANGUL LETTER RIEUL
+3211  ; [*02FB.0020.0004.3211][.315B.0020.0004.3211][.31D4.0020.0004.3211][*02FC.0020.001F.3211] # PARENTHESIZED HANGUL RIEUL A
+3271  ; [.315B.0020.0006.3271][.31D4.0020.0006.3271] # CIRCLED HANGUL RIEUL A
+1106  ; [.315C.0020.0002.1106] # HANGUL CHOSEONG MIEUM
+3141  ; [.315C.0020.0004.3141] # HANGUL LETTER MIEUM
+3204  ; [*02FB.0020.0004.3204][.315C.0020.0004.3204][*02FC.0020.001F.3204] # PARENTHESIZED HANGUL MIEUM
+3264  ; [.315C.0020.0006.3264] # CIRCLED HANGUL MIEUM
+FFB1  ; [.315C.0020.0012.FFB1] # HALFWIDTH HANGUL LETTER MIEUM
+3212  ; [*02FB.0020.0004.3212][.315C.0020.0004.3212][.31D4.0020.0004.3212][*02FC.0020.001F.3212] # PARENTHESIZED HANGUL MIEUM A
+3272  ; [.315C.0020.0006.3272][.31D4.0020.0006.3272] # CIRCLED HANGUL MIEUM A
+1107  ; [.315D.0020.0002.1107] # HANGUL CHOSEONG PIEUP
+3142  ; [.315D.0020.0004.3142] # HANGUL LETTER PIEUP
+3205  ; [*02FB.0020.0004.3205][.315D.0020.0004.3205][*02FC.0020.001F.3205] # PARENTHESIZED HANGUL PIEUP
+3265  ; [.315D.0020.0006.3265] # CIRCLED HANGUL PIEUP
+FFB2  ; [.315D.0020.0012.FFB2] # HALFWIDTH HANGUL LETTER PIEUP
+3213  ; [*02FB.0020.0004.3213][.315D.0020.0004.3213][.31D4.0020.0004.3213][*02FC.0020.001F.3213] # PARENTHESIZED HANGUL PIEUP A
+3273  ; [.315D.0020.0006.3273][.31D4.0020.0006.3273] # CIRCLED HANGUL PIEUP A
+1108  ; [.315E.0020.0002.1108] # HANGUL CHOSEONG SSANGPIEUP
+3143  ; [.315E.0020.0004.3143] # HANGUL LETTER SSANGPIEUP
+FFB3  ; [.315E.0020.0012.FFB3] # HALFWIDTH HANGUL LETTER SSANGPIEUP
+1109  ; [.315F.0020.0002.1109] # HANGUL CHOSEONG SIOS
+3145  ; [.315F.0020.0004.3145] # HANGUL LETTER SIOS
+3206  ; [*02FB.0020.0004.3206][.315F.0020.0004.3206][*02FC.0020.001F.3206] # PARENTHESIZED HANGUL SIOS
+3266  ; [.315F.0020.0006.3266] # CIRCLED HANGUL SIOS
+FFB5  ; [.315F.0020.0012.FFB5] # HALFWIDTH HANGUL LETTER SIOS
+3214  ; [*02FB.0020.0004.3214][.315F.0020.0004.3214][.31D4.0020.0004.3214][*02FC.0020.001F.3214] # PARENTHESIZED HANGUL SIOS A
+3274  ; [.315F.0020.0006.3274][.31D4.0020.0006.3274] # CIRCLED HANGUL SIOS A
+110A  ; [.3160.0020.0002.110A] # HANGUL CHOSEONG SSANGSIOS
+3146  ; [.3160.0020.0004.3146] # HANGUL LETTER SSANGSIOS
+FFB6  ; [.3160.0020.0012.FFB6] # HALFWIDTH HANGUL LETTER SSANGSIOS
+110B  ; [.3161.0020.0002.110B] # HANGUL CHOSEONG IEUNG
+3147  ; [.3161.0020.0004.3147] # HANGUL LETTER IEUNG
+3207  ; [*02FB.0020.0004.3207][.3161.0020.0004.3207][*02FC.0020.001F.3207] # PARENTHESIZED HANGUL IEUNG
+3267  ; [.3161.0020.0006.3267] # CIRCLED HANGUL IEUNG
+FFB7  ; [.3161.0020.0012.FFB7] # HALFWIDTH HANGUL LETTER IEUNG
+3215  ; [*02FB.0020.0004.3215][.3161.0020.0004.3215][.31D4.0020.0004.3215][*02FC.0020.001F.3215] # PARENTHESIZED HANGUL IEUNG A
+3275  ; [.3161.0020.0006.3275][.31D4.0020.0006.3275] # CIRCLED HANGUL IEUNG A
+321D  ; [*02FB.0020.0004.321D][.3161.0020.0004.321D][.31DC.0020.0004.321D][.3162.0020.0004.321D][.31D8.0020.0004.321D][.3235.0020.0004.321D][*02FC.0020.001F.321D] # PARENTHESIZED KOREAN CHARACTER OJEON
+321E  ; [*02FB.0020.0004.321E][.3161.0020.0004.321E][.31DC.0020.0004.321E][.3168.0020.0004.321E][.31E1.0020.0004.321E][*02FC.0020.001F.321E] # PARENTHESIZED KOREAN CHARACTER O HU
+327E  ; [.3161.0020.0006.327E][.31E1.0020.0006.327E] # CIRCLED HANGUL IEUNG U
+110C  ; [.3162.0020.0002.110C] # HANGUL CHOSEONG CIEUC
+3148  ; [.3162.0020.0004.3148] # HANGUL LETTER CIEUC
+3208  ; [*02FB.0020.0004.3208][.3162.0020.0004.3208][*02FC.0020.001F.3208] # PARENTHESIZED HANGUL CIEUC
+3268  ; [.3162.0020.0006.3268] # CIRCLED HANGUL CIEUC
+FFB8  ; [.3162.0020.0012.FFB8] # HALFWIDTH HANGUL LETTER CIEUC
+3216  ; [*02FB.0020.0004.3216][.3162.0020.0004.3216][.31D4.0020.0004.3216][*02FC.0020.001F.3216] # PARENTHESIZED HANGUL CIEUC A
+3276  ; [.3162.0020.0006.3276][.31D4.0020.0006.3276] # CIRCLED HANGUL CIEUC A
+321C  ; [*02FB.0020.0004.321C][.3162.0020.0004.321C][.31E1.0020.0004.321C][*02FC.0020.001F.321C] # PARENTHESIZED HANGUL CIEUC U
+327D  ; [.3162.0020.0006.327D][.31E1.0020.0006.327D][.3161.0020.0006.327D][.31E7.0020.0006.327D] # CIRCLED KOREAN CHARACTER JUEUI
+110D  ; [.3163.0020.0002.110D] # HANGUL CHOSEONG SSANGCIEUC
+3149  ; [.3163.0020.0004.3149] # HANGUL LETTER SSANGCIEUC
+FFB9  ; [.3163.0020.0012.FFB9] # HALFWIDTH HANGUL LETTER SSANGCIEUC
+110E  ; [.3164.0020.0002.110E] # HANGUL CHOSEONG CHIEUCH
+314A  ; [.3164.0020.0004.314A] # HANGUL LETTER CHIEUCH
+3209  ; [*02FB.0020.0004.3209][.3164.0020.0004.3209][*02FC.0020.001F.3209] # PARENTHESIZED HANGUL CHIEUCH
+3269  ; [.3164.0020.0006.3269] # CIRCLED HANGUL CHIEUCH
+FFBA  ; [.3164.0020.0012.FFBA] # HALFWIDTH HANGUL LETTER CHIEUCH
+3217  ; [*02FB.0020.0004.3217][.3164.0020.0004.3217][.31D4.0020.0004.3217][*02FC.0020.001F.3217] # PARENTHESIZED HANGUL CHIEUCH A
+3277  ; [.3164.0020.0006.3277][.31D4.0020.0006.3277] # CIRCLED HANGUL CHIEUCH A
+327C  ; [.3164.0020.0006.327C][.31D4.0020.0006.327C][.3241.0020.0006.327C][.3156.0020.0006.327C][.31DC.0020.0006.327C] # CIRCLED KOREAN CHARACTER CHAMKO
+110F  ; [.3165.0020.0002.110F] # HANGUL CHOSEONG KHIEUKH
+314B  ; [.3165.0020.0004.314B] # HANGUL LETTER KHIEUKH
+320A  ; [*02FB.0020.0004.320A][.3165.0020.0004.320A][*02FC.0020.001F.320A] # PARENTHESIZED HANGUL KHIEUKH
+326A  ; [.3165.0020.0006.326A] # CIRCLED HANGUL KHIEUKH
+FFBB  ; [.3165.0020.0012.FFBB] # HALFWIDTH HANGUL LETTER KHIEUKH
+3218  ; [*02FB.0020.0004.3218][.3165.0020.0004.3218][.31D4.0020.0004.3218][*02FC.0020.001F.3218] # PARENTHESIZED HANGUL KHIEUKH A
+3278  ; [.3165.0020.0006.3278][.31D4.0020.0006.3278] # CIRCLED HANGUL KHIEUKH A
+1110  ; [.3166.0020.0002.1110] # HANGUL CHOSEONG THIEUTH
+314C  ; [.3166.0020.0004.314C] # HANGUL LETTER THIEUTH
+320B  ; [*02FB.0020.0004.320B][.3166.0020.0004.320B][*02FC.0020.001F.320B] # PARENTHESIZED HANGUL THIEUTH
+326B  ; [.3166.0020.0006.326B] # CIRCLED HANGUL THIEUTH
+FFBC  ; [.3166.0020.0012.FFBC] # HALFWIDTH HANGUL LETTER THIEUTH
+3219  ; [*02FB.0020.0004.3219][.3166.0020.0004.3219][.31D4.0020.0004.3219][*02FC.0020.001F.3219] # PARENTHESIZED HANGUL THIEUTH A
+3279  ; [.3166.0020.0006.3279][.31D4.0020.0006.3279] # CIRCLED HANGUL THIEUTH A
+1111  ; [.3167.0020.0002.1111] # HANGUL CHOSEONG PHIEUPH
+314D  ; [.3167.0020.0004.314D] # HANGUL LETTER PHIEUPH
+320C  ; [*02FB.0020.0004.320C][.3167.0020.0004.320C][*02FC.0020.001F.320C] # PARENTHESIZED HANGUL PHIEUPH
+326C  ; [.3167.0020.0006.326C] # CIRCLED HANGUL PHIEUPH
+FFBD  ; [.3167.0020.0012.FFBD] # HALFWIDTH HANGUL LETTER PHIEUPH
+321A  ; [*02FB.0020.0004.321A][.3167.0020.0004.321A][.31D4.0020.0004.321A][*02FC.0020.001F.321A] # PARENTHESIZED HANGUL PHIEUPH A
+327A  ; [.3167.0020.0006.327A][.31D4.0020.0006.327A] # CIRCLED HANGUL PHIEUPH A
+1112  ; [.3168.0020.0002.1112] # HANGUL CHOSEONG HIEUH
+314E  ; [.3168.0020.0004.314E] # HANGUL LETTER HIEUH
+320D  ; [*02FB.0020.0004.320D][.3168.0020.0004.320D][*02FC.0020.001F.320D] # PARENTHESIZED HANGUL HIEUH
+326D  ; [.3168.0020.0006.326D] # CIRCLED HANGUL HIEUH
+FFBE  ; [.3168.0020.0012.FFBE] # HALFWIDTH HANGUL LETTER HIEUH
+321B  ; [*02FB.0020.0004.321B][.3168.0020.0004.321B][.31D4.0020.0004.321B][*02FC.0020.001F.321B] # PARENTHESIZED HANGUL HIEUH A
+327B  ; [.3168.0020.0006.327B][.31D4.0020.0006.327B] # CIRCLED HANGUL HIEUH A
+1113  ; [.3169.0020.0002.1113] # HANGUL CHOSEONG NIEUN-KIYEOK
+1114  ; [.316A.0020.0002.1114] # HANGUL CHOSEONG SSANGNIEUN
+3165  ; [.316A.0020.0004.3165] # HANGUL LETTER SSANGNIEUN
+1115  ; [.316B.0020.0002.1115] # HANGUL CHOSEONG NIEUN-TIKEUT
+3166  ; [.316B.0020.0004.3166] # HANGUL LETTER NIEUN-TIKEUT
+1116  ; [.316C.0020.0002.1116] # HANGUL CHOSEONG NIEUN-PIEUP
+1117  ; [.316D.0020.0002.1117] # HANGUL CHOSEONG TIKEUT-KIYEOK
+1118  ; [.316E.0020.0002.1118] # HANGUL CHOSEONG RIEUL-NIEUN
+1119  ; [.316F.0020.0002.1119] # HANGUL CHOSEONG SSANGRIEUL
+111A  ; [.3170.0020.0002.111A] # HANGUL CHOSEONG RIEUL-HIEUH
+3140  ; [.3170.0020.0004.3140] # HANGUL LETTER RIEUL-HIEUH
+FFB0  ; [.3170.0020.0012.FFB0] # HALFWIDTH HANGUL LETTER RIEUL-HIEUH
+111B  ; [.3171.0020.0002.111B] # HANGUL CHOSEONG KAPYEOUNRIEUL
+111C  ; [.3172.0020.0002.111C] # HANGUL CHOSEONG MIEUM-PIEUP
+316E  ; [.3172.0020.0004.316E] # HANGUL LETTER MIEUM-PIEUP
+111D  ; [.3173.0020.0002.111D] # HANGUL CHOSEONG KAPYEOUNMIEUM
+3171  ; [.3173.0020.0004.3171] # HANGUL LETTER KAPYEOUNMIEUM
+111E  ; [.3174.0020.0002.111E] # HANGUL CHOSEONG PIEUP-KIYEOK
+3172  ; [.3174.0020.0004.3172] # HANGUL LETTER PIEUP-KIYEOK
+111F  ; [.3175.0020.0002.111F] # HANGUL CHOSEONG PIEUP-NIEUN
+1120  ; [.3176.0020.0002.1120] # HANGUL CHOSEONG PIEUP-TIKEUT
+3173  ; [.3176.0020.0004.3173] # HANGUL LETTER PIEUP-TIKEUT
+1121  ; [.3177.0020.0002.1121] # HANGUL CHOSEONG PIEUP-SIOS
+3144  ; [.3177.0020.0004.3144] # HANGUL LETTER PIEUP-SIOS
+FFB4  ; [.3177.0020.0012.FFB4] # HALFWIDTH HANGUL LETTER PIEUP-SIOS
+1122  ; [.3178.0020.0002.1122] # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK
+3174  ; [.3178.0020.0004.3174] # HANGUL LETTER PIEUP-SIOS-KIYEOK
+1123  ; [.3179.0020.0002.1123] # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT
+3175  ; [.3179.0020.0004.3175] # HANGUL LETTER PIEUP-SIOS-TIKEUT
+1124  ; [.317A.0020.0002.1124] # HANGUL CHOSEONG PIEUP-SIOS-PIEUP
+1125  ; [.317B.0020.0002.1125] # HANGUL CHOSEONG PIEUP-SSANGSIOS
+1126  ; [.317C.0020.0002.1126] # HANGUL CHOSEONG PIEUP-SIOS-CIEUC
+1127  ; [.317D.0020.0002.1127] # HANGUL CHOSEONG PIEUP-CIEUC
+3176  ; [.317D.0020.0004.3176] # HANGUL LETTER PIEUP-CIEUC
+1128  ; [.317E.0020.0002.1128] # HANGUL CHOSEONG PIEUP-CHIEUCH
+1129  ; [.317F.0020.0002.1129] # HANGUL CHOSEONG PIEUP-THIEUTH
+3177  ; [.317F.0020.0004.3177] # HANGUL LETTER PIEUP-THIEUTH
+112A  ; [.3180.0020.0002.112A] # HANGUL CHOSEONG PIEUP-PHIEUPH
+112B  ; [.3181.0020.0002.112B] # HANGUL CHOSEONG KAPYEOUNPIEUP
+3178  ; [.3181.0020.0004.3178] # HANGUL LETTER KAPYEOUNPIEUP
+112C  ; [.3182.0020.0002.112C] # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP
+3179  ; [.3182.0020.0004.3179] # HANGUL LETTER KAPYEOUNSSANGPIEUP
+112D  ; [.3183.0020.0002.112D] # HANGUL CHOSEONG SIOS-KIYEOK
+317A  ; [.3183.0020.0004.317A] # HANGUL LETTER SIOS-KIYEOK
+112E  ; [.3184.0020.0002.112E] # HANGUL CHOSEONG SIOS-NIEUN
+317B  ; [.3184.0020.0004.317B] # HANGUL LETTER SIOS-NIEUN
+112F  ; [.3185.0020.0002.112F] # HANGUL CHOSEONG SIOS-TIKEUT
+317C  ; [.3185.0020.0004.317C] # HANGUL LETTER SIOS-TIKEUT
+1130  ; [.3186.0020.0002.1130] # HANGUL CHOSEONG SIOS-RIEUL
+1131  ; [.3187.0020.0002.1131] # HANGUL CHOSEONG SIOS-MIEUM
+1132  ; [.3188.0020.0002.1132] # HANGUL CHOSEONG SIOS-PIEUP
+317D  ; [.3188.0020.0004.317D] # HANGUL LETTER SIOS-PIEUP
+1133  ; [.3189.0020.0002.1133] # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK
+1134  ; [.318A.0020.0002.1134] # HANGUL CHOSEONG SIOS-SSANGSIOS
+1135  ; [.318B.0020.0002.1135] # HANGUL CHOSEONG SIOS-IEUNG
+1136  ; [.318C.0020.0002.1136] # HANGUL CHOSEONG SIOS-CIEUC
+317E  ; [.318C.0020.0004.317E] # HANGUL LETTER SIOS-CIEUC
+1137  ; [.318D.0020.0002.1137] # HANGUL CHOSEONG SIOS-CHIEUCH
+1138  ; [.318E.0020.0002.1138] # HANGUL CHOSEONG SIOS-KHIEUKH
+1139  ; [.318F.0020.0002.1139] # HANGUL CHOSEONG SIOS-THIEUTH
+113A  ; [.3190.0020.0002.113A] # HANGUL CHOSEONG SIOS-PHIEUPH
+113B  ; [.3191.0020.0002.113B] # HANGUL CHOSEONG SIOS-HIEUH
+113C  ; [.3192.0020.0002.113C] # HANGUL CHOSEONG CHITUEUMSIOS
+113D  ; [.3193.0020.0002.113D] # HANGUL CHOSEONG CHITUEUMSSANGSIOS
+113E  ; [.3194.0020.0002.113E] # HANGUL CHOSEONG CEONGCHIEUMSIOS
+113F  ; [.3195.0020.0002.113F] # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+1140  ; [.3196.0020.0002.1140] # HANGUL CHOSEONG PANSIOS
+317F  ; [.3196.0020.0004.317F] # HANGUL LETTER PANSIOS
+1141  ; [.3197.0020.0002.1141] # HANGUL CHOSEONG IEUNG-KIYEOK
+1142  ; [.3198.0020.0002.1142] # HANGUL CHOSEONG IEUNG-TIKEUT
+1143  ; [.3199.0020.0002.1143] # HANGUL CHOSEONG IEUNG-MIEUM
+1144  ; [.319A.0020.0002.1144] # HANGUL CHOSEONG IEUNG-PIEUP
+1145  ; [.319B.0020.0002.1145] # HANGUL CHOSEONG IEUNG-SIOS
+1146  ; [.319C.0020.0002.1146] # HANGUL CHOSEONG IEUNG-PANSIOS
+1147  ; [.319D.0020.0002.1147] # HANGUL CHOSEONG SSANGIEUNG
+3180  ; [.319D.0020.0004.3180] # HANGUL LETTER SSANGIEUNG
+1148  ; [.319E.0020.0002.1148] # HANGUL CHOSEONG IEUNG-CIEUC
+1149  ; [.319F.0020.0002.1149] # HANGUL CHOSEONG IEUNG-CHIEUCH
+114A  ; [.31A0.0020.0002.114A] # HANGUL CHOSEONG IEUNG-THIEUTH
+114B  ; [.31A1.0020.0002.114B] # HANGUL CHOSEONG IEUNG-PHIEUPH
+114C  ; [.31A2.0020.0002.114C] # HANGUL CHOSEONG YESIEUNG
+3181  ; [.31A2.0020.0004.3181] # HANGUL LETTER YESIEUNG
+114D  ; [.31A3.0020.0002.114D] # HANGUL CHOSEONG CIEUC-IEUNG
+114E  ; [.31A4.0020.0002.114E] # HANGUL CHOSEONG CHITUEUMCIEUC
+114F  ; [.31A5.0020.0002.114F] # HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+1150  ; [.31A6.0020.0002.1150] # HANGUL CHOSEONG CEONGCHIEUMCIEUC
+1151  ; [.31A7.0020.0002.1151] # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+1152  ; [.31A8.0020.0002.1152] # HANGUL CHOSEONG CHIEUCH-KHIEUKH
+1153  ; [.31A9.0020.0002.1153] # HANGUL CHOSEONG CHIEUCH-HIEUH
+1154  ; [.31AA.0020.0002.1154] # HANGUL CHOSEONG CHITUEUMCHIEUCH
+1155  ; [.31AB.0020.0002.1155] # HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+1156  ; [.31AC.0020.0002.1156] # HANGUL CHOSEONG PHIEUPH-PIEUP
+1157  ; [.31AD.0020.0002.1157] # HANGUL CHOSEONG KAPYEOUNPHIEUPH
+3184  ; [.31AD.0020.0004.3184] # HANGUL LETTER KAPYEOUNPHIEUPH
+1158  ; [.31AE.0020.0002.1158] # HANGUL CHOSEONG SSANGHIEUH
+3185  ; [.31AE.0020.0004.3185] # HANGUL LETTER SSANGHIEUH
+1159  ; [.31AF.0020.0002.1159] # HANGUL CHOSEONG YEORINHIEUH
+3186  ; [.31AF.0020.0004.3186] # HANGUL LETTER YEORINHIEUH
+115A  ; [.31B0.0020.0002.115A] # HANGUL CHOSEONG KIYEOK-TIKEUT
+115B  ; [.31B1.0020.0002.115B] # HANGUL CHOSEONG NIEUN-SIOS
+115C  ; [.31B2.0020.0002.115C] # HANGUL CHOSEONG NIEUN-CIEUC
+115D  ; [.31B3.0020.0002.115D] # HANGUL CHOSEONG NIEUN-HIEUH
+115E  ; [.31B4.0020.0002.115E] # HANGUL CHOSEONG TIKEUT-RIEUL
+A960  ; [.31B5.0020.0002.A960] # HANGUL CHOSEONG TIKEUT-MIEUM
+A961  ; [.31B6.0020.0002.A961] # HANGUL CHOSEONG TIKEUT-PIEUP
+A962  ; [.31B7.0020.0002.A962] # HANGUL CHOSEONG TIKEUT-SIOS
+A963  ; [.31B8.0020.0002.A963] # HANGUL CHOSEONG TIKEUT-CIEUC
+A964  ; [.31B9.0020.0002.A964] # HANGUL CHOSEONG RIEUL-KIYEOK
+A965  ; [.31BA.0020.0002.A965] # HANGUL CHOSEONG RIEUL-SSANGKIYEOK
+A966  ; [.31BB.0020.0002.A966] # HANGUL CHOSEONG RIEUL-TIKEUT
+A967  ; [.31BC.0020.0002.A967] # HANGUL CHOSEONG RIEUL-SSANGTIKEUT
+A968  ; [.31BD.0020.0002.A968] # HANGUL CHOSEONG RIEUL-MIEUM
+A969  ; [.31BE.0020.0002.A969] # HANGUL CHOSEONG RIEUL-PIEUP
+A96A  ; [.31BF.0020.0002.A96A] # HANGUL CHOSEONG RIEUL-SSANGPIEUP
+A96B  ; [.31C0.0020.0002.A96B] # HANGUL CHOSEONG RIEUL-KAPYEOUNPIEUP
+A96C  ; [.31C1.0020.0002.A96C] # HANGUL CHOSEONG RIEUL-SIOS
+A96D  ; [.31C2.0020.0002.A96D] # HANGUL CHOSEONG RIEUL-CIEUC
+A96E  ; [.31C3.0020.0002.A96E] # HANGUL CHOSEONG RIEUL-KHIEUKH
+A96F  ; [.31C4.0020.0002.A96F] # HANGUL CHOSEONG MIEUM-KIYEOK
+A970  ; [.31C5.0020.0002.A970] # HANGUL CHOSEONG MIEUM-TIKEUT
+A971  ; [.31C6.0020.0002.A971] # HANGUL CHOSEONG MIEUM-SIOS
+A972  ; [.31C7.0020.0002.A972] # HANGUL CHOSEONG PIEUP-SIOS-THIEUTH
+A973  ; [.31C8.0020.0002.A973] # HANGUL CHOSEONG PIEUP-KHIEUKH
+A974  ; [.31C9.0020.0002.A974] # HANGUL CHOSEONG PIEUP-HIEUH
+A975  ; [.31CA.0020.0002.A975] # HANGUL CHOSEONG SSANGSIOS-PIEUP
+A976  ; [.31CB.0020.0002.A976] # HANGUL CHOSEONG IEUNG-RIEUL
+A977  ; [.31CC.0020.0002.A977] # HANGUL CHOSEONG IEUNG-HIEUH
+A978  ; [.31CD.0020.0002.A978] # HANGUL CHOSEONG SSANGCIEUC-HIEUH
+A979  ; [.31CE.0020.0002.A979] # HANGUL CHOSEONG SSANGTHIEUTH
+A97A  ; [.31CF.0020.0002.A97A] # HANGUL CHOSEONG PHIEUPH-HIEUH
+A97B  ; [.31D0.0020.0002.A97B] # HANGUL CHOSEONG HIEUH-SIOS
+A97C  ; [.31D1.0020.0002.A97C] # HANGUL CHOSEONG SSANGYEORINHIEUH
+115F  ; [.31D2.0020.0002.115F] # HANGUL CHOSEONG FILLER
+1160  ; [.31D3.0020.0002.1160] # HANGUL JUNGSEONG FILLER
+3164  ; [.31D3.0020.0004.3164] # HANGUL FILLER
+FFA0  ; [.31D3.0020.0012.FFA0] # HALFWIDTH HANGUL FILLER
+1161  ; [.31D4.0020.0002.1161] # HANGUL JUNGSEONG A
+314F  ; [.31D4.0020.0004.314F] # HANGUL LETTER A
+FFC2  ; [.31D4.0020.0012.FFC2] # HALFWIDTH HANGUL LETTER A
+1162  ; [.31D5.0020.0002.1162] # HANGUL JUNGSEONG AE
+3150  ; [.31D5.0020.0004.3150] # HANGUL LETTER AE
+FFC3  ; [.31D5.0020.0012.FFC3] # HALFWIDTH HANGUL LETTER AE
+1163  ; [.31D6.0020.0002.1163] # HANGUL JUNGSEONG YA
+3151  ; [.31D6.0020.0004.3151] # HANGUL LETTER YA
+FFC4  ; [.31D6.0020.0012.FFC4] # HALFWIDTH HANGUL LETTER YA
+1164  ; [.31D7.0020.0002.1164] # HANGUL JUNGSEONG YAE
+3152  ; [.31D7.0020.0004.3152] # HANGUL LETTER YAE
+FFC5  ; [.31D7.0020.0012.FFC5] # HALFWIDTH HANGUL LETTER YAE
+1165  ; [.31D8.0020.0002.1165] # HANGUL JUNGSEONG EO
+3153  ; [.31D8.0020.0004.3153] # HANGUL LETTER EO
+FFC6  ; [.31D8.0020.0012.FFC6] # HALFWIDTH HANGUL LETTER EO
+1166  ; [.31D9.0020.0002.1166] # HANGUL JUNGSEONG E
+3154  ; [.31D9.0020.0004.3154] # HANGUL LETTER E
+FFC7  ; [.31D9.0020.0012.FFC7] # HALFWIDTH HANGUL LETTER E
+1167  ; [.31DA.0020.0002.1167] # HANGUL JUNGSEONG YEO
+3155  ; [.31DA.0020.0004.3155] # HANGUL LETTER YEO
+FFCA  ; [.31DA.0020.0012.FFCA] # HALFWIDTH HANGUL LETTER YEO
+1168  ; [.31DB.0020.0002.1168] # HANGUL JUNGSEONG YE
+3156  ; [.31DB.0020.0004.3156] # HANGUL LETTER YE
+FFCB  ; [.31DB.0020.0012.FFCB] # HALFWIDTH HANGUL LETTER YE
+1169  ; [.31DC.0020.0002.1169] # HANGUL JUNGSEONG O
+3157  ; [.31DC.0020.0004.3157] # HANGUL LETTER O
+FFCC  ; [.31DC.0020.0012.FFCC] # HALFWIDTH HANGUL LETTER O
+116A  ; [.31DD.0020.0002.116A] # HANGUL JUNGSEONG WA
+3158  ; [.31DD.0020.0004.3158] # HANGUL LETTER WA
+FFCD  ; [.31DD.0020.0012.FFCD] # HALFWIDTH HANGUL LETTER WA
+116B  ; [.31DE.0020.0002.116B] # HANGUL JUNGSEONG WAE
+3159  ; [.31DE.0020.0004.3159] # HANGUL LETTER WAE
+FFCE  ; [.31DE.0020.0012.FFCE] # HALFWIDTH HANGUL LETTER WAE
+116C  ; [.31DF.0020.0002.116C] # HANGUL JUNGSEONG OE
+315A  ; [.31DF.0020.0004.315A] # HANGUL LETTER OE
+FFCF  ; [.31DF.0020.0012.FFCF] # HALFWIDTH HANGUL LETTER OE
+116D  ; [.31E0.0020.0002.116D] # HANGUL JUNGSEONG YO
+315B  ; [.31E0.0020.0004.315B] # HANGUL LETTER YO
+FFD2  ; [.31E0.0020.0012.FFD2] # HALFWIDTH HANGUL LETTER YO
+116E  ; [.31E1.0020.0002.116E] # HANGUL JUNGSEONG U
+315C  ; [.31E1.0020.0004.315C] # HANGUL LETTER U
+FFD3  ; [.31E1.0020.0012.FFD3] # HALFWIDTH HANGUL LETTER U
+116F  ; [.31E2.0020.0002.116F] # HANGUL JUNGSEONG WEO
+315D  ; [.31E2.0020.0004.315D] # HANGUL LETTER WEO
+FFD4  ; [.31E2.0020.0012.FFD4] # HALFWIDTH HANGUL LETTER WEO
+1170  ; [.31E3.0020.0002.1170] # HANGUL JUNGSEONG WE
+315E  ; [.31E3.0020.0004.315E] # HANGUL LETTER WE
+FFD5  ; [.31E3.0020.0012.FFD5] # HALFWIDTH HANGUL LETTER WE
+1171  ; [.31E4.0020.0002.1171] # HANGUL JUNGSEONG WI
+315F  ; [.31E4.0020.0004.315F] # HANGUL LETTER WI
+FFD6  ; [.31E4.0020.0012.FFD6] # HALFWIDTH HANGUL LETTER WI
+1172  ; [.31E5.0020.0002.1172] # HANGUL JUNGSEONG YU
+3160  ; [.31E5.0020.0004.3160] # HANGUL LETTER YU
+FFD7  ; [.31E5.0020.0012.FFD7] # HALFWIDTH HANGUL LETTER YU
+1173  ; [.31E6.0020.0002.1173] # HANGUL JUNGSEONG EU
+3161  ; [.31E6.0020.0004.3161] # HANGUL LETTER EU
+FFDA  ; [.31E6.0020.0012.FFDA] # HALFWIDTH HANGUL LETTER EU
+1174  ; [.31E7.0020.0002.1174] # HANGUL JUNGSEONG YI
+3162  ; [.31E7.0020.0004.3162] # HANGUL LETTER YI
+FFDB  ; [.31E7.0020.0012.FFDB] # HALFWIDTH HANGUL LETTER YI
+1175  ; [.31E8.0020.0002.1175] # HANGUL JUNGSEONG I
+3163  ; [.31E8.0020.0004.3163] # HANGUL LETTER I
+FFDC  ; [.31E8.0020.0012.FFDC] # HALFWIDTH HANGUL LETTER I
+1176  ; [.31E9.0020.0002.1176] # HANGUL JUNGSEONG A-O
+1177  ; [.31EA.0020.0002.1177] # HANGUL JUNGSEONG A-U
+1178  ; [.31EB.0020.0002.1178] # HANGUL JUNGSEONG YA-O
+1179  ; [.31EC.0020.0002.1179] # HANGUL JUNGSEONG YA-YO
+117A  ; [.31ED.0020.0002.117A] # HANGUL JUNGSEONG EO-O
+117B  ; [.31EE.0020.0002.117B] # HANGUL JUNGSEONG EO-U
+117C  ; [.31EF.0020.0002.117C] # HANGUL JUNGSEONG EO-EU
+117D  ; [.31F0.0020.0002.117D] # HANGUL JUNGSEONG YEO-O
+117E  ; [.31F1.0020.0002.117E] # HANGUL JUNGSEONG YEO-U
+117F  ; [.31F2.0020.0002.117F] # HANGUL JUNGSEONG O-EO
+1180  ; [.31F3.0020.0002.1180] # HANGUL JUNGSEONG O-E
+1181  ; [.31F4.0020.0002.1181] # HANGUL JUNGSEONG O-YE
+1182  ; [.31F5.0020.0002.1182] # HANGUL JUNGSEONG O-O
+1183  ; [.31F6.0020.0002.1183] # HANGUL JUNGSEONG O-U
+1184  ; [.31F7.0020.0002.1184] # HANGUL JUNGSEONG YO-YA
+3187  ; [.31F7.0020.0004.3187] # HANGUL LETTER YO-YA
+1185  ; [.31F8.0020.0002.1185] # HANGUL JUNGSEONG YO-YAE
+3188  ; [.31F8.0020.0004.3188] # HANGUL LETTER YO-YAE
+1186  ; [.31F9.0020.0002.1186] # HANGUL JUNGSEONG YO-YEO
+1187  ; [.31FA.0020.0002.1187] # HANGUL JUNGSEONG YO-O
+1188  ; [.31FB.0020.0002.1188] # HANGUL JUNGSEONG YO-I
+3189  ; [.31FB.0020.0004.3189] # HANGUL LETTER YO-I
+1189  ; [.31FC.0020.0002.1189] # HANGUL JUNGSEONG U-A
+118A  ; [.31FD.0020.0002.118A] # HANGUL JUNGSEONG U-AE
+118B  ; [.31FE.0020.0002.118B] # HANGUL JUNGSEONG U-EO-EU
+118C  ; [.31FF.0020.0002.118C] # HANGUL JUNGSEONG U-YE
+118D  ; [.3200.0020.0002.118D] # HANGUL JUNGSEONG U-U
+118E  ; [.3201.0020.0002.118E] # HANGUL JUNGSEONG YU-A
+118F  ; [.3202.0020.0002.118F] # HANGUL JUNGSEONG YU-EO
+1190  ; [.3203.0020.0002.1190] # HANGUL JUNGSEONG YU-E
+1191  ; [.3204.0020.0002.1191] # HANGUL JUNGSEONG YU-YEO
+318A  ; [.3204.0020.0004.318A] # HANGUL LETTER YU-YEO
+1192  ; [.3205.0020.0002.1192] # HANGUL JUNGSEONG YU-YE
+318B  ; [.3205.0020.0004.318B] # HANGUL LETTER YU-YE
+1193  ; [.3206.0020.0002.1193] # HANGUL JUNGSEONG YU-U
+1194  ; [.3207.0020.0002.1194] # HANGUL JUNGSEONG YU-I
+318C  ; [.3207.0020.0004.318C] # HANGUL LETTER YU-I
+1195  ; [.3208.0020.0002.1195] # HANGUL JUNGSEONG EU-U
+1196  ; [.3209.0020.0002.1196] # HANGUL JUNGSEONG EU-EU
+1197  ; [.320A.0020.0002.1197] # HANGUL JUNGSEONG YI-U
+1198  ; [.320B.0020.0002.1198] # HANGUL JUNGSEONG I-A
+1199  ; [.320C.0020.0002.1199] # HANGUL JUNGSEONG I-YA
+119A  ; [.320D.0020.0002.119A] # HANGUL JUNGSEONG I-O
+119B  ; [.320E.0020.0002.119B] # HANGUL JUNGSEONG I-U
+119C  ; [.320F.0020.0002.119C] # HANGUL JUNGSEONG I-EU
+119D  ; [.3210.0020.0002.119D] # HANGUL JUNGSEONG I-ARAEA
+119E  ; [.3211.0020.0002.119E] # HANGUL JUNGSEONG ARAEA
+318D  ; [.3211.0020.0004.318D] # HANGUL LETTER ARAEA
+119F  ; [.3212.0020.0002.119F] # HANGUL JUNGSEONG ARAEA-EO
+11A0  ; [.3213.0020.0002.11A0] # HANGUL JUNGSEONG ARAEA-U
+11A1  ; [.3214.0020.0002.11A1] # HANGUL JUNGSEONG ARAEA-I
+318E  ; [.3214.0020.0004.318E] # HANGUL LETTER ARAEAE
+11A2  ; [.3215.0020.0002.11A2] # HANGUL JUNGSEONG SSANGARAEA
+11A3  ; [.3216.0020.0002.11A3] # HANGUL JUNGSEONG A-EU
+11A4  ; [.3217.0020.0002.11A4] # HANGUL JUNGSEONG YA-U
+11A5  ; [.3218.0020.0002.11A5] # HANGUL JUNGSEONG YEO-YA
+11A6  ; [.3219.0020.0002.11A6] # HANGUL JUNGSEONG O-YA
+11A7  ; [.321A.0020.0002.11A7] # HANGUL JUNGSEONG O-YAE
+D7B0  ; [.321B.0020.0002.D7B0] # HANGUL JUNGSEONG O-YEO
+D7B1  ; [.321C.0020.0002.D7B1] # HANGUL JUNGSEONG O-O-I
+D7B2  ; [.321D.0020.0002.D7B2] # HANGUL JUNGSEONG YO-A
+D7B3  ; [.321E.0020.0002.D7B3] # HANGUL JUNGSEONG YO-AE
+D7B4  ; [.321F.0020.0002.D7B4] # HANGUL JUNGSEONG YO-EO
+D7B5  ; [.3220.0020.0002.D7B5] # HANGUL JUNGSEONG U-YEO
+D7B6  ; [.3221.0020.0002.D7B6] # HANGUL JUNGSEONG U-I-I
+D7B7  ; [.3222.0020.0002.D7B7] # HANGUL JUNGSEONG YU-AE
+D7B8  ; [.3223.0020.0002.D7B8] # HANGUL JUNGSEONG YU-O
+D7B9  ; [.3224.0020.0002.D7B9] # HANGUL JUNGSEONG EU-A
+D7BA  ; [.3225.0020.0002.D7BA] # HANGUL JUNGSEONG EU-EO
+D7BB  ; [.3226.0020.0002.D7BB] # HANGUL JUNGSEONG EU-E
+D7BC  ; [.3227.0020.0002.D7BC] # HANGUL JUNGSEONG EU-O
+D7BD  ; [.3228.0020.0002.D7BD] # HANGUL JUNGSEONG I-YA-O
+D7BE  ; [.3229.0020.0002.D7BE] # HANGUL JUNGSEONG I-YAE
+D7BF  ; [.322A.0020.0002.D7BF] # HANGUL JUNGSEONG I-YEO
+D7C0  ; [.322B.0020.0002.D7C0] # HANGUL JUNGSEONG I-YE
+D7C1  ; [.322C.0020.0002.D7C1] # HANGUL JUNGSEONG I-O-I
+D7C2  ; [.322D.0020.0002.D7C2] # HANGUL JUNGSEONG I-YO
+D7C3  ; [.322E.0020.0002.D7C3] # HANGUL JUNGSEONG I-YU
+D7C4  ; [.322F.0020.0002.D7C4] # HANGUL JUNGSEONG I-I
+D7C5  ; [.3230.0020.0002.D7C5] # HANGUL JUNGSEONG ARAEA-A
+D7C6  ; [.3231.0020.0002.D7C6] # HANGUL JUNGSEONG ARAEA-E
+11A8  ; [.3232.0020.0002.11A8] # HANGUL JONGSEONG KIYEOK
+11A9  ; [.3233.0020.0002.11A9] # HANGUL JONGSEONG SSANGKIYEOK
+11AA  ; [.3234.0020.0002.11AA] # HANGUL JONGSEONG KIYEOK-SIOS
+3133  ; [.3234.0020.0004.3133] # HANGUL LETTER KIYEOK-SIOS
+FFA3  ; [.3234.0020.0012.FFA3] # HALFWIDTH HANGUL LETTER KIYEOK-SIOS
+11AB  ; [.3235.0020.0002.11AB] # HANGUL JONGSEONG NIEUN
+11AC  ; [.3236.0020.0002.11AC] # HANGUL JONGSEONG NIEUN-CIEUC
+3135  ; [.3236.0020.0004.3135] # HANGUL LETTER NIEUN-CIEUC
+FFA5  ; [.3236.0020.0012.FFA5] # HALFWIDTH HANGUL LETTER NIEUN-CIEUC
+11AD  ; [.3237.0020.0002.11AD] # HANGUL JONGSEONG NIEUN-HIEUH
+3136  ; [.3237.0020.0004.3136] # HANGUL LETTER NIEUN-HIEUH
+FFA6  ; [.3237.0020.0012.FFA6] # HALFWIDTH HANGUL LETTER NIEUN-HIEUH
+11AE  ; [.3238.0020.0002.11AE] # HANGUL JONGSEONG TIKEUT
+11AF  ; [.3239.0020.0002.11AF] # HANGUL JONGSEONG RIEUL
+11B0  ; [.323A.0020.0002.11B0] # HANGUL JONGSEONG RIEUL-KIYEOK
+313A  ; [.323A.0020.0004.313A] # HANGUL LETTER RIEUL-KIYEOK
+FFAA  ; [.323A.0020.0012.FFAA] # HALFWIDTH HANGUL LETTER RIEUL-KIYEOK
+11B1  ; [.323B.0020.0002.11B1] # HANGUL JONGSEONG RIEUL-MIEUM
+313B  ; [.323B.0020.0004.313B] # HANGUL LETTER RIEUL-MIEUM
+FFAB  ; [.323B.0020.0012.FFAB] # HALFWIDTH HANGUL LETTER RIEUL-MIEUM
+11B2  ; [.323C.0020.0002.11B2] # HANGUL JONGSEONG RIEUL-PIEUP
+313C  ; [.323C.0020.0004.313C] # HANGUL LETTER RIEUL-PIEUP
+FFAC  ; [.323C.0020.0012.FFAC] # HALFWIDTH HANGUL LETTER RIEUL-PIEUP
+11B3  ; [.323D.0020.0002.11B3] # HANGUL JONGSEONG RIEUL-SIOS
+313D  ; [.323D.0020.0004.313D] # HANGUL LETTER RIEUL-SIOS
+FFAD  ; [.323D.0020.0012.FFAD] # HALFWIDTH HANGUL LETTER RIEUL-SIOS
+11B4  ; [.323E.0020.0002.11B4] # HANGUL JONGSEONG RIEUL-THIEUTH
+313E  ; [.323E.0020.0004.313E] # HANGUL LETTER RIEUL-THIEUTH
+FFAE  ; [.323E.0020.0012.FFAE] # HALFWIDTH HANGUL LETTER RIEUL-THIEUTH
+11B5  ; [.323F.0020.0002.11B5] # HANGUL JONGSEONG RIEUL-PHIEUPH
+313F  ; [.323F.0020.0004.313F] # HANGUL LETTER RIEUL-PHIEUPH
+FFAF  ; [.323F.0020.0012.FFAF] # HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH
+11B6  ; [.3240.0020.0002.11B6] # HANGUL JONGSEONG RIEUL-HIEUH
+11B7  ; [.3241.0020.0002.11B7] # HANGUL JONGSEONG MIEUM
+11B8  ; [.3242.0020.0002.11B8] # HANGUL JONGSEONG PIEUP
+11B9  ; [.3243.0020.0002.11B9] # HANGUL JONGSEONG PIEUP-SIOS
+11BA  ; [.3244.0020.0002.11BA] # HANGUL JONGSEONG SIOS
+11BB  ; [.3245.0020.0002.11BB] # HANGUL JONGSEONG SSANGSIOS
+11BC  ; [.3246.0020.0002.11BC] # HANGUL JONGSEONG IEUNG
+11BD  ; [.3247.0020.0002.11BD] # HANGUL JONGSEONG CIEUC
+11BE  ; [.3248.0020.0002.11BE] # HANGUL JONGSEONG CHIEUCH
+11BF  ; [.3249.0020.0002.11BF] # HANGUL JONGSEONG KHIEUKH
+11C0  ; [.324A.0020.0002.11C0] # HANGUL JONGSEONG THIEUTH
+11C1  ; [.324B.0020.0002.11C1] # HANGUL JONGSEONG PHIEUPH
+11C2  ; [.324C.0020.0002.11C2] # HANGUL JONGSEONG HIEUH
+11C3  ; [.324D.0020.0002.11C3] # HANGUL JONGSEONG KIYEOK-RIEUL
+11C4  ; [.324E.0020.0002.11C4] # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK
+11C5  ; [.324F.0020.0002.11C5] # HANGUL JONGSEONG NIEUN-KIYEOK
+11C6  ; [.3250.0020.0002.11C6] # HANGUL JONGSEONG NIEUN-TIKEUT
+11C7  ; [.3251.0020.0002.11C7] # HANGUL JONGSEONG NIEUN-SIOS
+3167  ; [.3251.0020.0004.3167] # HANGUL LETTER NIEUN-SIOS
+11C8  ; [.3252.0020.0002.11C8] # HANGUL JONGSEONG NIEUN-PANSIOS
+3168  ; [.3252.0020.0004.3168] # HANGUL LETTER NIEUN-PANSIOS
+11C9  ; [.3253.0020.0002.11C9] # HANGUL JONGSEONG NIEUN-THIEUTH
+11CA  ; [.3254.0020.0002.11CA] # HANGUL JONGSEONG TIKEUT-KIYEOK
+11CB  ; [.3255.0020.0002.11CB] # HANGUL JONGSEONG TIKEUT-RIEUL
+11CC  ; [.3256.0020.0002.11CC] # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS
+3169  ; [.3256.0020.0004.3169] # HANGUL LETTER RIEUL-KIYEOK-SIOS
+11CD  ; [.3257.0020.0002.11CD] # HANGUL JONGSEONG RIEUL-NIEUN
+11CE  ; [.3258.0020.0002.11CE] # HANGUL JONGSEONG RIEUL-TIKEUT
+316A  ; [.3258.0020.0004.316A] # HANGUL LETTER RIEUL-TIKEUT
+11CF  ; [.3259.0020.0002.11CF] # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH
+11D0  ; [.325A.0020.0002.11D0] # HANGUL JONGSEONG SSANGRIEUL
+11D1  ; [.325B.0020.0002.11D1] # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK
+11D2  ; [.325C.0020.0002.11D2] # HANGUL JONGSEONG RIEUL-MIEUM-SIOS
+11D3  ; [.325D.0020.0002.11D3] # HANGUL JONGSEONG RIEUL-PIEUP-SIOS
+316B  ; [.325D.0020.0004.316B] # HANGUL LETTER RIEUL-PIEUP-SIOS
+11D4  ; [.325E.0020.0002.11D4] # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH
+11D5  ; [.325F.0020.0002.11D5] # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP
+11D6  ; [.3260.0020.0002.11D6] # HANGUL JONGSEONG RIEUL-SSANGSIOS
+11D7  ; [.3261.0020.0002.11D7] # HANGUL JONGSEONG RIEUL-PANSIOS
+316C  ; [.3261.0020.0004.316C] # HANGUL LETTER RIEUL-PANSIOS
+11D8  ; [.3262.0020.0002.11D8] # HANGUL JONGSEONG RIEUL-KHIEUKH
+11D9  ; [.3263.0020.0002.11D9] # HANGUL JONGSEONG RIEUL-YEORINHIEUH
+316D  ; [.3263.0020.0004.316D] # HANGUL LETTER RIEUL-YEORINHIEUH
+11DA  ; [.3264.0020.0002.11DA] # HANGUL JONGSEONG MIEUM-KIYEOK
+11DB  ; [.3265.0020.0002.11DB] # HANGUL JONGSEONG MIEUM-RIEUL
+11DC  ; [.3266.0020.0002.11DC] # HANGUL JONGSEONG MIEUM-PIEUP
+11DD  ; [.3267.0020.0002.11DD] # HANGUL JONGSEONG MIEUM-SIOS
+316F  ; [.3267.0020.0004.316F] # HANGUL LETTER MIEUM-SIOS
+11DE  ; [.3268.0020.0002.11DE] # HANGUL JONGSEONG MIEUM-SSANGSIOS
+11DF  ; [.3269.0020.0002.11DF] # HANGUL JONGSEONG MIEUM-PANSIOS
+3170  ; [.3269.0020.0004.3170] # HANGUL LETTER MIEUM-PANSIOS
+11E0  ; [.326A.0020.0002.11E0] # HANGUL JONGSEONG MIEUM-CHIEUCH
+11E1  ; [.326B.0020.0002.11E1] # HANGUL JONGSEONG MIEUM-HIEUH
+11E2  ; [.326C.0020.0002.11E2] # HANGUL JONGSEONG KAPYEOUNMIEUM
+11E3  ; [.326D.0020.0002.11E3] # HANGUL JONGSEONG PIEUP-RIEUL
+11E4  ; [.326E.0020.0002.11E4] # HANGUL JONGSEONG PIEUP-PHIEUPH
+11E5  ; [.326F.0020.0002.11E5] # HANGUL JONGSEONG PIEUP-HIEUH
+11E6  ; [.3270.0020.0002.11E6] # HANGUL JONGSEONG KAPYEOUNPIEUP
+11E7  ; [.3271.0020.0002.11E7] # HANGUL JONGSEONG SIOS-KIYEOK
+11E8  ; [.3272.0020.0002.11E8] # HANGUL JONGSEONG SIOS-TIKEUT
+11E9  ; [.3273.0020.0002.11E9] # HANGUL JONGSEONG SIOS-RIEUL
+11EA  ; [.3274.0020.0002.11EA] # HANGUL JONGSEONG SIOS-PIEUP
+11EB  ; [.3275.0020.0002.11EB] # HANGUL JONGSEONG PANSIOS
+11EC  ; [.3276.0020.0002.11EC] # HANGUL JONGSEONG IEUNG-KIYEOK
+11ED  ; [.3277.0020.0002.11ED] # HANGUL JONGSEONG IEUNG-SSANGKIYEOK
+11EE  ; [.3278.0020.0002.11EE] # HANGUL JONGSEONG SSANGIEUNG
+11EF  ; [.3279.0020.0002.11EF] # HANGUL JONGSEONG IEUNG-KHIEUKH
+11F0  ; [.327A.0020.0002.11F0] # HANGUL JONGSEONG YESIEUNG
+11F1  ; [.327B.0020.0002.11F1] # HANGUL JONGSEONG YESIEUNG-SIOS
+3182  ; [.327B.0020.0004.3182] # HANGUL LETTER YESIEUNG-SIOS
+11F2  ; [.327C.0020.0002.11F2] # HANGUL JONGSEONG YESIEUNG-PANSIOS
+3183  ; [.327C.0020.0004.3183] # HANGUL LETTER YESIEUNG-PANSIOS
+11F3  ; [.327D.0020.0002.11F3] # HANGUL JONGSEONG PHIEUPH-PIEUP
+11F4  ; [.327E.0020.0002.11F4] # HANGUL JONGSEONG KAPYEOUNPHIEUPH
+11F5  ; [.327F.0020.0002.11F5] # HANGUL JONGSEONG HIEUH-NIEUN
+11F6  ; [.3280.0020.0002.11F6] # HANGUL JONGSEONG HIEUH-RIEUL
+11F7  ; [.3281.0020.0002.11F7] # HANGUL JONGSEONG HIEUH-MIEUM
+11F8  ; [.3282.0020.0002.11F8] # HANGUL JONGSEONG HIEUH-PIEUP
+11F9  ; [.3283.0020.0002.11F9] # HANGUL JONGSEONG YEORINHIEUH
+11FA  ; [.3284.0020.0002.11FA] # HANGUL JONGSEONG KIYEOK-NIEUN
+11FB  ; [.3285.0020.0002.11FB] # HANGUL JONGSEONG KIYEOK-PIEUP
+11FC  ; [.3286.0020.0002.11FC] # HANGUL JONGSEONG KIYEOK-CHIEUCH
+11FD  ; [.3287.0020.0002.11FD] # HANGUL JONGSEONG KIYEOK-KHIEUKH
+11FE  ; [.3288.0020.0002.11FE] # HANGUL JONGSEONG KIYEOK-HIEUH
+11FF  ; [.3289.0020.0002.11FF] # HANGUL JONGSEONG SSANGNIEUN
+D7CB  ; [.328A.0020.0002.D7CB] # HANGUL JONGSEONG NIEUN-RIEUL
+D7CC  ; [.328B.0020.0002.D7CC] # HANGUL JONGSEONG NIEUN-CHIEUCH
+D7CD  ; [.328C.0020.0002.D7CD] # HANGUL JONGSEONG SSANGTIKEUT
+D7CE  ; [.328D.0020.0002.D7CE] # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
+D7CF  ; [.328E.0020.0002.D7CF] # HANGUL JONGSEONG TIKEUT-PIEUP
+D7D0  ; [.328F.0020.0002.D7D0] # HANGUL JONGSEONG TIKEUT-SIOS
+D7D1  ; [.3290.0020.0002.D7D1] # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
+D7D2  ; [.3291.0020.0002.D7D2] # HANGUL JONGSEONG TIKEUT-CIEUC
+D7D3  ; [.3292.0020.0002.D7D3] # HANGUL JONGSEONG TIKEUT-CHIEUCH
+D7D4  ; [.3293.0020.0002.D7D4] # HANGUL JONGSEONG TIKEUT-THIEUTH
+D7D5  ; [.3294.0020.0002.D7D5] # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
+D7D6  ; [.3295.0020.0002.D7D6] # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
+D7D7  ; [.3296.0020.0002.D7D7] # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
+D7D8  ; [.3297.0020.0002.D7D8] # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
+D7D9  ; [.3298.0020.0002.D7D9] # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
+D7DA  ; [.3299.0020.0002.D7DA] # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
+D7DB  ; [.329A.0020.0002.D7DB] # HANGUL JONGSEONG RIEUL-YESIEUNG
+D7DC  ; [.329B.0020.0002.D7DC] # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
+D7DD  ; [.329C.0020.0002.D7DD] # HANGUL JONGSEONG KAPYEOUNRIEUL
+D7DE  ; [.329D.0020.0002.D7DE] # HANGUL JONGSEONG MIEUM-NIEUN
+D7DF  ; [.329E.0020.0002.D7DF] # HANGUL JONGSEONG MIEUM-SSANGNIEUN
+D7E0  ; [.329F.0020.0002.D7E0] # HANGUL JONGSEONG SSANGMIEUM
+D7E1  ; [.32A0.0020.0002.D7E1] # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
+D7E2  ; [.32A1.0020.0002.D7E2] # HANGUL JONGSEONG MIEUM-CIEUC
+D7E3  ; [.32A2.0020.0002.D7E3] # HANGUL JONGSEONG PIEUP-TIKEUT
+D7E4  ; [.32A3.0020.0002.D7E4] # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
+D7E5  ; [.32A4.0020.0002.D7E5] # HANGUL JONGSEONG PIEUP-MIEUM
+D7E6  ; [.32A5.0020.0002.D7E6] # HANGUL JONGSEONG SSANGPIEUP
+D7E7  ; [.32A6.0020.0002.D7E7] # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
+D7E8  ; [.32A7.0020.0002.D7E8] # HANGUL JONGSEONG PIEUP-CIEUC
+D7E9  ; [.32A8.0020.0002.D7E9] # HANGUL JONGSEONG PIEUP-CHIEUCH
+D7EA  ; [.32A9.0020.0002.D7EA] # HANGUL JONGSEONG SIOS-MIEUM
+D7EB  ; [.32AA.0020.0002.D7EB] # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
+D7EC  ; [.32AB.0020.0002.D7EC] # HANGUL JONGSEONG SSANGSIOS-KIYEOK
+D7ED  ; [.32AC.0020.0002.D7ED] # HANGUL JONGSEONG SSANGSIOS-TIKEUT
+D7EE  ; [.32AD.0020.0002.D7EE] # HANGUL JONGSEONG SIOS-PANSIOS
+D7EF  ; [.32AE.0020.0002.D7EF] # HANGUL JONGSEONG SIOS-CIEUC
+D7F0  ; [.32AF.0020.0002.D7F0] # HANGUL JONGSEONG SIOS-CHIEUCH
+D7F1  ; [.32B0.0020.0002.D7F1] # HANGUL JONGSEONG SIOS-THIEUTH
+D7F2  ; [.32B1.0020.0002.D7F2] # HANGUL JONGSEONG SIOS-HIEUH
+D7F3  ; [.32B2.0020.0002.D7F3] # HANGUL JONGSEONG PANSIOS-PIEUP
+D7F4  ; [.32B3.0020.0002.D7F4] # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
+D7F5  ; [.32B4.0020.0002.D7F5] # HANGUL JONGSEONG YESIEUNG-MIEUM
+D7F6  ; [.32B5.0020.0002.D7F6] # HANGUL JONGSEONG YESIEUNG-HIEUH
+D7F7  ; [.32B6.0020.0002.D7F7] # HANGUL JONGSEONG CIEUC-PIEUP
+D7F8  ; [.32B7.0020.0002.D7F8] # HANGUL JONGSEONG CIEUC-SSANGPIEUP
+D7F9  ; [.32B8.0020.0002.D7F9] # HANGUL JONGSEONG SSANGCIEUC
+D7FA  ; [.32B9.0020.0002.D7FA] # HANGUL JONGSEONG PHIEUPH-SIOS
+D7FB  ; [.32BA.0020.0002.D7FB] # HANGUL JONGSEONG PHIEUPH-THIEUTH
+3041  ; [.32BB.0020.000D.3041] # HIRAGANA LETTER SMALL A
+3042  ; [.32BB.0020.000E.3042] # HIRAGANA LETTER A
+30A1  ; [.32BB.0020.000F.30A1] # KATAKANA LETTER SMALL A
+FF67  ; [.32BB.0020.0010.FF67] # HALFWIDTH KATAKANA LETTER SMALL A
+30A2  ; [.32BB.0020.0011.30A2] # KATAKANA LETTER A
+FF71  ; [.32BB.0020.0012.FF71] # HALFWIDTH KATAKANA LETTER A
+32D0  ; [.32BB.0020.0013.32D0] # CIRCLED KATAKANA A
+3303  ; [.32BB.0020.001C.3303][.15BA.0020.001C.3303][.32E5.0020.001C.3303] # SQUARE AARU
+3300  ; [.32BB.0020.001C.3300][.32D5.0020.001C.3300][.0000.0129.001C.3300][.15BA.0020.001C.3300][.32CF.0020.001C.3300] # SQUARE APAATO
+3301  ; [.32BB.0020.001C.3301][.32E5.0020.001C.3301][.32D7.0020.001C.3301][.32BB.0020.001C.3301] # SQUARE ARUHUA
+3302  ; [.32BB.0020.001C.3302][.32EC.0020.001C.3302][.32D8.0020.001C.3302][.0000.0129.001C.3302][.32BB.0020.001C.3302] # SQUARE ANPEA
+3043  ; [.32BC.0020.000D.3043] # HIRAGANA LETTER SMALL I
+3044  ; [.32BC.0020.000E.3044] # HIRAGANA LETTER I
+30A3  ; [.32BC.0020.000F.30A3] # KATAKANA LETTER SMALL I
+FF68  ; [.32BC.0020.0010.FF68] # HALFWIDTH KATAKANA LETTER SMALL I
+30A4  ; [.32BC.0020.0011.30A4] # KATAKANA LETTER I
+FF72  ; [.32BC.0020.0012.FF72] # HALFWIDTH KATAKANA LETTER I
+32D1  ; [.32BC.0020.0013.32D1] # CIRCLED KATAKANA I
+3304  ; [.32BC.0020.001C.3304][.32D1.0020.001C.3304][.32EC.0020.001C.3304][.32C3.0020.001C.3304][.0000.0128.001C.3304] # SQUARE ININGU
+3305  ; [.32BC.0020.001C.3305][.32EC.0020.001C.3305][.32CC.0020.001C.3305] # SQUARE INTI
+3045  ; [.32BD.0020.000D.3045] # HIRAGANA LETTER SMALL U
+3046  ; [.32BD.0020.000E.3046] # HIRAGANA LETTER U
+30A5  ; [.32BD.0020.000F.30A5] # KATAKANA LETTER SMALL U
+FF69  ; [.32BD.0020.0010.FF69] # HALFWIDTH KATAKANA LETTER SMALL U
+30A6  ; [.32BD.0020.0011.30A6] # KATAKANA LETTER U
+FF73  ; [.32BD.0020.0012.FF73] # HALFWIDTH KATAKANA LETTER U
+32D2  ; [.32BD.0020.0013.32D2] # CIRCLED KATAKANA U
+3094  ; [.32BD.0020.000E.3046][.0000.0128.0002.3099] # HIRAGANA LETTER VU
+30F4  ; [.32BD.0020.0011.30A6][.0000.0128.0002.3099] # KATAKANA LETTER VU
+3306  ; [.32BD.0020.001C.3306][.32C0.0020.001C.3306][.32EC.0020.001C.3306] # SQUARE UON
+1B000 ; [.32BE.0020.0011.1B000] # KATAKANA LETTER ARCHAIC E
+3047  ; [.32BF.0020.000D.3047] # HIRAGANA LETTER SMALL E
+3048  ; [.32BF.0020.000E.3048] # HIRAGANA LETTER E
+30A7  ; [.32BF.0020.000F.30A7] # KATAKANA LETTER SMALL E
+FF6A  ; [.32BF.0020.0010.FF6A] # HALFWIDTH KATAKANA LETTER SMALL E
+30A8  ; [.32BF.0020.0011.30A8] # KATAKANA LETTER E
+FF74  ; [.32BF.0020.0012.FF74] # HALFWIDTH KATAKANA LETTER E
+32D3  ; [.32BF.0020.0013.32D3] # CIRCLED KATAKANA E
+3308  ; [.32BF.0020.001C.3308][.15BA.0020.001C.3308][.32C1.0020.001C.3308][.15BA.0020.001C.3308] # SQUARE EEKAA
+3307  ; [.32BF.0020.001C.3307][.32C8.0020.001C.3307][.32C3.0020.001C.3307][.15BA.0020.001C.3307][.32CF.0020.001C.3307][.0000.0128.001C.3307] # SQUARE ESUKUUDO
+3049  ; [.32C0.0020.000D.3049] # HIRAGANA LETTER SMALL O
+304A  ; [.32C0.0020.000E.304A] # HIRAGANA LETTER O
+30A9  ; [.32C0.0020.000F.30A9] # KATAKANA LETTER SMALL O
+FF6B  ; [.32C0.0020.0010.FF6B] # HALFWIDTH KATAKANA LETTER SMALL O
+30AA  ; [.32C0.0020.0011.30AA] # KATAKANA LETTER O
+FF75  ; [.32C0.0020.0012.FF75] # HALFWIDTH KATAKANA LETTER O
+32D4  ; [.32C0.0020.0013.32D4] # CIRCLED KATAKANA O
+330A  ; [.32C0.0020.001C.330A][.15BA.0020.001C.330A][.32DC.0020.001C.330A] # SQUARE OOMU
+3309  ; [.32C0.0020.001C.3309][.32EC.0020.001C.3309][.32C8.0020.001C.3309] # SQUARE ONSU
+3095  ; [.32C1.0020.000D.3095] # HIRAGANA LETTER SMALL KA
+304B  ; [.32C1.0020.000E.304B] # HIRAGANA LETTER KA
+30F5  ; [.32C1.0020.000F.30F5] # KATAKANA LETTER SMALL KA
+30AB  ; [.32C1.0020.0011.30AB] # KATAKANA LETTER KA
+FF76  ; [.32C1.0020.0012.FF76] # HALFWIDTH KATAKANA LETTER KA
+32D5  ; [.32C1.0020.0013.32D5] # CIRCLED KATAKANA KA
+304C  ; [.32C1.0020.000E.304B][.0000.0128.0002.3099] # HIRAGANA LETTER GA
+30AC  ; [.32C1.0020.0011.30AB][.0000.0128.0002.3099] # KATAKANA LETTER GA
+330B  ; [.32C1.0020.001C.330B][.32BC.0020.001C.330B][.32E4.0020.001C.330B] # SQUARE KAIRI
+330C  ; [.32C1.0020.001C.330C][.32E3.0020.001C.330C][.32CD.0020.001C.330C][.32CF.0020.001C.330C] # SQUARE KARATTO
+330D  ; [.32C1.0020.001C.330D][.32E7.0020.001C.330D][.32E4.0020.001C.330D][.15BA.0020.001C.330D] # SQUARE KARORII
+330E  ; [.32C1.0020.001C.330E][.0000.0128.001C.330E][.32E7.0020.001C.330E][.32EC.0020.001C.330E] # SQUARE GARON
+330F  ; [.32C1.0020.001C.330F][.0000.0128.001C.330F][.32EC.0020.001C.330F][.32DA.0020.001C.330F] # SQUARE GANMA
+304D  ; [.32C2.0020.000E.304D] # HIRAGANA LETTER KI
+30AD  ; [.32C2.0020.0011.30AD] # KATAKANA LETTER KI
+FF77  ; [.32C2.0020.0012.FF77] # HALFWIDTH KATAKANA LETTER KI
+32D6  ; [.32C2.0020.0013.32D6] # CIRCLED KATAKANA KI
+304E  ; [.32C2.0020.000E.304D][.0000.0128.0002.3099] # HIRAGANA LETTER GI
+30AE  ; [.32C2.0020.0011.30AD][.0000.0128.0002.3099] # KATAKANA LETTER GI
+3310  ; [.32C2.0020.001C.3310][.0000.0128.001C.3310][.32C1.0020.001C.3310][.0000.0128.001C.3310] # SQUARE GIGA
+3311  ; [.32C2.0020.001C.3311][.0000.0128.001C.3311][.32D1.0020.001C.3311][.15BA.0020.001C.3311] # SQUARE GINII
+3312  ; [.32C2.0020.001C.3312][.32E0.0020.001C.3312][.32E4.0020.001C.3312][.15BA.0020.001C.3312] # SQUARE KYURII
+3313  ; [.32C2.0020.001C.3313][.0000.0128.001C.3313][.32E5.0020.001C.3313][.32CB.0020.001C.3313][.0000.0128.001C.3313][.15BA.0020.001C.3313] # SQUARE GIRUDAA
+3314  ; [.32C2.0020.001C.3314][.32E7.0020.001C.3314] # SQUARE KIRO
+3315  ; [.32C2.0020.001C.3315][.32E7.0020.001C.3315][.32C3.0020.001C.3315][.0000.0128.001C.3315][.32E3.0020.001C.3315][.32DC.0020.001C.3315] # SQUARE KIROGURAMU
+3316  ; [.32C2.0020.001C.3316][.32E7.0020.001C.3316][.32DD.0020.001C.3316][.15BA.0020.001C.3316][.32CF.0020.001C.3316][.32E5.0020.001C.3316] # SQUARE KIROMEETORU
+3317  ; [.32C2.0020.001C.3317][.32E7.0020.001C.3317][.32E8.0020.001C.3317][.32CD.0020.001C.3317][.32CF.0020.001C.3317] # SQUARE KIROWATTO
+304F  ; [.32C3.0020.000E.304F] # HIRAGANA LETTER KU
+31F0  ; [.32C3.0020.000F.31F0] # KATAKANA LETTER SMALL KU
+30AF  ; [.32C3.0020.0011.30AF] # KATAKANA LETTER KU
+FF78  ; [.32C3.0020.0012.FF78] # HALFWIDTH KATAKANA LETTER KU
+32D7  ; [.32C3.0020.0013.32D7] # CIRCLED KATAKANA KU
+3050  ; [.32C3.0020.000E.304F][.0000.0128.0002.3099] # HIRAGANA LETTER GU
+30B0  ; [.32C3.0020.0011.30AF][.0000.0128.0002.3099] # KATAKANA LETTER GU
+3318  ; [.32C3.0020.001C.3318][.0000.0128.001C.3318][.32E3.0020.001C.3318][.32DC.0020.001C.3318] # SQUARE GURAMU
+3319  ; [.32C3.0020.001C.3319][.0000.0128.001C.3319][.32E3.0020.001C.3319][.32DC.0020.001C.3319][.32CF.0020.001C.3319][.32EC.0020.001C.3319] # SQUARE GURAMUTON
+331A  ; [.32C3.0020.001C.331A][.32E5.0020.001C.331A][.32C9.0020.001C.331A][.0000.0128.001C.331A][.32BC.0020.001C.331A][.32E7.0020.001C.331A] # SQUARE KURUZEIRO
+331B  ; [.32C3.0020.001C.331B][.32E7.0020.001C.331B][.15BA.0020.001C.331B][.32D3.0020.001C.331B] # SQUARE KUROONE
+3096  ; [.32C4.0020.000D.3096] # HIRAGANA LETTER SMALL KE
+3051  ; [.32C4.0020.000E.3051] # HIRAGANA LETTER KE
+30F6  ; [.32C4.0020.000F.30F6] # KATAKANA LETTER SMALL KE
+30B1  ; [.32C4.0020.0011.30B1] # KATAKANA LETTER KE
+FF79  ; [.32C4.0020.0012.FF79] # HALFWIDTH KATAKANA LETTER KE
+32D8  ; [.32C4.0020.0013.32D8] # CIRCLED KATAKANA KE
+3052  ; [.32C4.0020.000E.3051][.0000.0128.0002.3099] # HIRAGANA LETTER GE
+30B2  ; [.32C4.0020.0011.30B1][.0000.0128.0002.3099] # KATAKANA LETTER GE
+331C  ; [.32C4.0020.001C.331C][.15BA.0020.001C.331C][.32C8.0020.001C.331C] # SQUARE KEESU
+3053  ; [.32C5.0020.000E.3053] # HIRAGANA LETTER KO
+30B3  ; [.32C5.0020.0011.30B3] # KATAKANA LETTER KO
+FF7A  ; [.32C5.0020.0012.FF7A] # HALFWIDTH KATAKANA LETTER KO
+32D9  ; [.32C5.0020.0013.32D9] # CIRCLED KATAKANA KO
+3054  ; [.32C5.0020.000E.3053][.0000.0128.0002.3099] # HIRAGANA LETTER GO
+30B4  ; [.32C5.0020.0011.30B3][.0000.0128.0002.3099] # KATAKANA LETTER GO
+331E  ; [.32C5.0020.001C.331E][.15BA.0020.001C.331E][.32D9.0020.001C.331E][.0000.0129.001C.331E] # SQUARE KOOPO
+1F201 ; [.32C5.0020.001C.1F201][.32C5.0020.001C.1F201] # SQUARED KATAKANA KOKO
+30FF  ; [.32C5.0020.0016.30FF][.32CF.0020.0016.30FF] # KATAKANA DIGRAPH KOTO
+331D  ; [.32C5.0020.001C.331D][.32E5.0020.001C.331D][.32D0.0020.001C.331D] # SQUARE KORUNA
+3055  ; [.32C6.0020.000E.3055] # HIRAGANA LETTER SA
+30B5  ; [.32C6.0020.0011.30B5] # KATAKANA LETTER SA
+FF7B  ; [.32C6.0020.0012.FF7B] # HALFWIDTH KATAKANA LETTER SA
+32DA  ; [.32C6.0020.0013.32DA] # CIRCLED KATAKANA SA
+1F202 ; [.32C6.0020.001C.1F202] # SQUARED KATAKANA SA
+3056  ; [.32C6.0020.000E.3055][.0000.0128.0002.3099] # HIRAGANA LETTER ZA
+30B6  ; [.32C6.0020.0011.30B5][.0000.0128.0002.3099] # KATAKANA LETTER ZA
+331F  ; [.32C6.0020.001C.331F][.32BC.0020.001C.331F][.32C3.0020.001C.331F][.32E5.0020.001C.331F] # SQUARE SAIKURU
+3320  ; [.32C6.0020.001C.3320][.32EC.0020.001C.3320][.32CC.0020.001C.3320][.15BA.0020.001C.3320][.32DC.0020.001C.3320] # SQUARE SANTIIMU
+3057  ; [.32C7.0020.000E.3057] # HIRAGANA LETTER SI
+31F1  ; [.32C7.0020.000F.31F1] # KATAKANA LETTER SMALL SI
+30B7  ; [.32C7.0020.0011.30B7] # KATAKANA LETTER SI
+FF7C  ; [.32C7.0020.0012.FF7C] # HALFWIDTH KATAKANA LETTER SI
+32DB  ; [.32C7.0020.0013.32DB] # CIRCLED KATAKANA SI
+3058  ; [.32C7.0020.000E.3057][.0000.0128.0002.3099] # HIRAGANA LETTER ZI
+30B8  ; [.32C7.0020.0011.30B7][.0000.0128.0002.3099] # KATAKANA LETTER ZI
+3006  ; [.32C7.0020.0004.3006][.32DD.0020.0004.3006] # IDEOGRAPHIC CLOSING MARK
+3321  ; [.32C7.0020.001C.3321][.32E4.0020.001C.3321][.32EC.0020.001C.3321][.32C3.0020.001C.3321][.0000.0128.001C.3321] # SQUARE SIRINGU
+3059  ; [.32C8.0020.000E.3059] # HIRAGANA LETTER SU
+31F2  ; [.32C8.0020.000F.31F2] # KATAKANA LETTER SMALL SU
+30B9  ; [.32C8.0020.0011.30B9] # KATAKANA LETTER SU
+FF7D  ; [.32C8.0020.0012.FF7D] # HALFWIDTH KATAKANA LETTER SU
+32DC  ; [.32C8.0020.0013.32DC] # CIRCLED KATAKANA SU
+305A  ; [.32C8.0020.000E.3059][.0000.0128.0002.3099] # HIRAGANA LETTER ZU
+30BA  ; [.32C8.0020.0011.30B9][.0000.0128.0002.3099] # KATAKANA LETTER ZU
+305B  ; [.32C9.0020.000E.305B] # HIRAGANA LETTER SE
+30BB  ; [.32C9.0020.0011.30BB] # KATAKANA LETTER SE
+FF7E  ; [.32C9.0020.0012.FF7E] # HALFWIDTH KATAKANA LETTER SE
+32DD  ; [.32C9.0020.0013.32DD] # CIRCLED KATAKANA SE
+305C  ; [.32C9.0020.000E.305B][.0000.0128.0002.3099] # HIRAGANA LETTER ZE
+30BC  ; [.32C9.0020.0011.30BB][.0000.0128.0002.3099] # KATAKANA LETTER ZE
+3322  ; [.32C9.0020.001C.3322][.32EC.0020.001C.3322][.32CC.0020.001C.3322] # SQUARE SENTI
+3323  ; [.32C9.0020.001C.3323][.32EC.0020.001C.3323][.32CF.0020.001C.3323] # SQUARE SENTO
+305D  ; [.32CA.0020.000E.305D] # HIRAGANA LETTER SO
+30BD  ; [.32CA.0020.0011.30BD] # KATAKANA LETTER SO
+FF7F  ; [.32CA.0020.0012.FF7F] # HALFWIDTH KATAKANA LETTER SO
+32DE  ; [.32CA.0020.0013.32DE] # CIRCLED KATAKANA SO
+305E  ; [.32CA.0020.000E.305D][.0000.0128.0002.3099] # HIRAGANA LETTER ZO
+30BE  ; [.32CA.0020.0011.30BD][.0000.0128.0002.3099] # KATAKANA LETTER ZO
+305F  ; [.32CB.0020.000E.305F] # HIRAGANA LETTER TA
+30BF  ; [.32CB.0020.0011.30BF] # KATAKANA LETTER TA
+FF80  ; [.32CB.0020.0012.FF80] # HALFWIDTH KATAKANA LETTER TA
+32DF  ; [.32CB.0020.0013.32DF] # CIRCLED KATAKANA TA
+3060  ; [.32CB.0020.000E.305F][.0000.0128.0002.3099] # HIRAGANA LETTER DA
+30C0  ; [.32CB.0020.0011.30BF][.0000.0128.0002.3099] # KATAKANA LETTER DA
+3324  ; [.32CB.0020.001C.3324][.0000.0128.001C.3324][.15BA.0020.001C.3324][.32C8.0020.001C.3324] # SQUARE DAASU
+3061  ; [.32CC.0020.000E.3061] # HIRAGANA LETTER TI
+30C1  ; [.32CC.0020.0011.30C1] # KATAKANA LETTER TI
+FF81  ; [.32CC.0020.0012.FF81] # HALFWIDTH KATAKANA LETTER TI
+32E0  ; [.32CC.0020.0013.32E0] # CIRCLED KATAKANA TI
+3062  ; [.32CC.0020.000E.3061][.0000.0128.0002.3099] # HIRAGANA LETTER DI
+30C2  ; [.32CC.0020.0011.30C1][.0000.0128.0002.3099] # KATAKANA LETTER DI
+3063  ; [.32CD.0020.000D.3063] # HIRAGANA LETTER SMALL TU
+3064  ; [.32CD.0020.000E.3064] # HIRAGANA LETTER TU
+30C3  ; [.32CD.0020.000F.30C3] # KATAKANA LETTER SMALL TU
+FF6F  ; [.32CD.0020.0010.FF6F] # HALFWIDTH KATAKANA LETTER SMALL TU
+30C4  ; [.32CD.0020.0011.30C4] # KATAKANA LETTER TU
+FF82  ; [.32CD.0020.0012.FF82] # HALFWIDTH KATAKANA LETTER TU
+32E1  ; [.32CD.0020.0013.32E1] # CIRCLED KATAKANA TU
+3065  ; [.32CD.0020.000E.3064][.0000.0128.0002.3099] # HIRAGANA LETTER DU
+30C5  ; [.32CD.0020.0011.30C4][.0000.0128.0002.3099] # KATAKANA LETTER DU
+3066  ; [.32CE.0020.000E.3066] # HIRAGANA LETTER TE
+30C6  ; [.32CE.0020.0011.30C6] # KATAKANA LETTER TE
+FF83  ; [.32CE.0020.0012.FF83] # HALFWIDTH KATAKANA LETTER TE
+32E2  ; [.32CE.0020.0013.32E2] # CIRCLED KATAKANA TE
+3067  ; [.32CE.0020.000E.3066][.0000.0128.0002.3099] # HIRAGANA LETTER DE
+30C7  ; [.32CE.0020.0011.30C6][.0000.0128.0002.3099] # KATAKANA LETTER DE
+1F213 ; [.32CE.0020.001C.1F213][.0000.0128.001C.1F213] # SQUARED KATAKANA DE
+3325  ; [.32CE.0020.001C.3325][.0000.0128.001C.3325][.32C7.0020.001C.3325] # SQUARE DESI
+3068  ; [.32CF.0020.000E.3068] # HIRAGANA LETTER TO
+31F3  ; [.32CF.0020.000F.31F3] # KATAKANA LETTER SMALL TO
+30C8  ; [.32CF.0020.0011.30C8] # KATAKANA LETTER TO
+FF84  ; [.32CF.0020.0012.FF84] # HALFWIDTH KATAKANA LETTER TO
+32E3  ; [.32CF.0020.0013.32E3] # CIRCLED KATAKANA TO
+3069  ; [.32CF.0020.000E.3068][.0000.0128.0002.3099] # HIRAGANA LETTER DO
+30C9  ; [.32CF.0020.0011.30C8][.0000.0128.0002.3099] # KATAKANA LETTER DO
+3326  ; [.32CF.0020.001C.3326][.0000.0128.001C.3326][.32E5.0020.001C.3326] # SQUARE DORU
+3327  ; [.32CF.0020.001C.3327][.32EC.0020.001C.3327] # SQUARE TON
+306A  ; [.32D0.0020.000E.306A] # HIRAGANA LETTER NA
+30CA  ; [.32D0.0020.0011.30CA] # KATAKANA LETTER NA
+FF85  ; [.32D0.0020.0012.FF85] # HALFWIDTH KATAKANA LETTER NA
+32E4  ; [.32D0.0020.0013.32E4] # CIRCLED KATAKANA NA
+3328  ; [.32D0.0020.001C.3328][.32D4.0020.001C.3328] # SQUARE NANO
+306B  ; [.32D1.0020.000E.306B] # HIRAGANA LETTER NI
+30CB  ; [.32D1.0020.0011.30CB] # KATAKANA LETTER NI
+FF86  ; [.32D1.0020.0012.FF86] # HALFWIDTH KATAKANA LETTER NI
+32E5  ; [.32D1.0020.0013.32E5] # CIRCLED KATAKANA NI
+306C  ; [.32D2.0020.000E.306C] # HIRAGANA LETTER NU
+31F4  ; [.32D2.0020.000F.31F4] # KATAKANA LETTER SMALL NU
+30CC  ; [.32D2.0020.0011.30CC] # KATAKANA LETTER NU
+FF87  ; [.32D2.0020.0012.FF87] # HALFWIDTH KATAKANA LETTER NU
+32E6  ; [.32D2.0020.0013.32E6] # CIRCLED KATAKANA NU
+306D  ; [.32D3.0020.000E.306D] # HIRAGANA LETTER NE
+30CD  ; [.32D3.0020.0011.30CD] # KATAKANA LETTER NE
+FF88  ; [.32D3.0020.0012.FF88] # HALFWIDTH KATAKANA LETTER NE
+32E7  ; [.32D3.0020.0013.32E7] # CIRCLED KATAKANA NE
+306E  ; [.32D4.0020.000E.306E] # HIRAGANA LETTER NO
+30CE  ; [.32D4.0020.0011.30CE] # KATAKANA LETTER NO
+FF89  ; [.32D4.0020.0012.FF89] # HALFWIDTH KATAKANA LETTER NO
+32E8  ; [.32D4.0020.0013.32E8] # CIRCLED KATAKANA NO
+3329  ; [.32D4.0020.001C.3329][.32CD.0020.001C.3329][.32CF.0020.001C.3329] # SQUARE NOTTO
+306F  ; [.32D5.0020.000E.306F] # HIRAGANA LETTER HA
+31F5  ; [.32D5.0020.000F.31F5] # KATAKANA LETTER SMALL HA
+30CF  ; [.32D5.0020.0011.30CF] # KATAKANA LETTER HA
+FF8A  ; [.32D5.0020.0012.FF8A] # HALFWIDTH KATAKANA LETTER HA
+32E9  ; [.32D5.0020.0013.32E9] # CIRCLED KATAKANA HA
+3070  ; [.32D5.0020.000E.306F][.0000.0128.0002.3099] # HIRAGANA LETTER BA
+30D0  ; [.32D5.0020.0011.30CF][.0000.0128.0002.3099] # KATAKANA LETTER BA
+3071  ; [.32D5.0020.000E.306F][.0000.0129.0002.309A] # HIRAGANA LETTER PA
+30D1  ; [.32D5.0020.0011.30CF][.0000.0129.0002.309A] # KATAKANA LETTER PA
+332B  ; [.32D5.0020.001C.332B][.0000.0129.001C.332B][.15BA.0020.001C.332B][.32C9.0020.001C.332B][.32EC.0020.001C.332B][.32CF.0020.001C.332B] # SQUARE PAASENTO
+332C  ; [.32D5.0020.001C.332C][.0000.0129.001C.332C][.15BA.0020.001C.332C][.32CD.0020.001C.332C] # SQUARE PAATU
+332D  ; [.32D5.0020.001C.332D][.0000.0128.001C.332D][.15BA.0020.001C.332D][.32E6.0020.001C.332D][.32E5.0020.001C.332D] # SQUARE BAARERU
+332A  ; [.32D5.0020.001C.332A][.32BC.0020.001C.332A][.32CD.0020.001C.332A] # SQUARE HAITU
+3072  ; [.32D6.0020.000E.3072] # HIRAGANA LETTER HI
+31F6  ; [.32D6.0020.000F.31F6] # KATAKANA LETTER SMALL HI
+30D2  ; [.32D6.0020.0011.30D2] # KATAKANA LETTER HI
+FF8B  ; [.32D6.0020.0012.FF8B] # HALFWIDTH KATAKANA LETTER HI
+32EA  ; [.32D6.0020.0013.32EA] # CIRCLED KATAKANA HI
+3073  ; [.32D6.0020.000E.3072][.0000.0128.0002.3099] # HIRAGANA LETTER BI
+30D3  ; [.32D6.0020.0011.30D2][.0000.0128.0002.3099] # KATAKANA LETTER BI
+3074  ; [.32D6.0020.000E.3072][.0000.0129.0002.309A] # HIRAGANA LETTER PI
+30D4  ; [.32D6.0020.0011.30D2][.0000.0129.0002.309A] # KATAKANA LETTER PI
+332E  ; [.32D6.0020.001C.332E][.0000.0129.001C.332E][.32BB.0020.001C.332E][.32C8.0020.001C.332E][.32CF.0020.001C.332E][.32E5.0020.001C.332E] # SQUARE PIASUTORU
+332F  ; [.32D6.0020.001C.332F][.0000.0129.001C.332F][.32C3.0020.001C.332F][.32E5.0020.001C.332F] # SQUARE PIKURU
+3330  ; [.32D6.0020.001C.3330][.0000.0129.001C.3330][.32C5.0020.001C.3330] # SQUARE PIKO
+3331  ; [.32D6.0020.001C.3331][.0000.0128.001C.3331][.32E5.0020.001C.3331] # SQUARE BIRU
+3075  ; [.32D7.0020.000E.3075] # HIRAGANA LETTER HU
+31F7  ; [.32D7.0020.000F.31F7] # KATAKANA LETTER SMALL HU
+30D5  ; [.32D7.0020.0011.30D5] # KATAKANA LETTER HU
+FF8C  ; [.32D7.0020.0012.FF8C] # HALFWIDTH KATAKANA LETTER HU
+32EB  ; [.32D7.0020.0013.32EB] # CIRCLED KATAKANA HU
+3076  ; [.32D7.0020.000E.3075][.0000.0128.0002.3099] # HIRAGANA LETTER BU
+30D6  ; [.32D7.0020.0011.30D5][.0000.0128.0002.3099] # KATAKANA LETTER BU
+3077  ; [.32D7.0020.000E.3075][.0000.0129.0002.309A] # HIRAGANA LETTER PU
+30D7  ; [.32D7.0020.0011.30D5][.0000.0129.0002.309A] # KATAKANA LETTER PU
+3332  ; [.32D7.0020.001C.3332][.32BB.0020.001C.3332][.32E3.0020.001C.3332][.32CD.0020.001C.3332][.32CF.0020.001C.3332][.0000.0128.001C.3332] # SQUARE HUARADDO
+3333  ; [.32D7.0020.001C.3333][.32BC.0020.001C.3333][.15BA.0020.001C.3333][.32CF.0020.001C.3333] # SQUARE HUIITO
+3334  ; [.32D7.0020.001C.3334][.0000.0128.001C.3334][.32CD.0020.001C.3334][.32C7.0020.001C.3334][.32BF.0020.001C.3334][.32E5.0020.001C.3334] # SQUARE BUSSYERU
+3335  ; [.32D7.0020.001C.3335][.32E3.0020.001C.3335][.32EC.0020.001C.3335] # SQUARE HURAN
+3078  ; [.32D8.0020.000E.3078] # HIRAGANA LETTER HE
+31F8  ; [.32D8.0020.000F.31F8] # KATAKANA LETTER SMALL HE
+30D8  ; [.32D8.0020.0011.30D8] # KATAKANA LETTER HE
+FF8D  ; [.32D8.0020.0012.FF8D] # HALFWIDTH KATAKANA LETTER HE
+32EC  ; [.32D8.0020.0013.32EC] # CIRCLED KATAKANA HE
+3079  ; [.32D8.0020.000E.3078][.0000.0128.0002.3099] # HIRAGANA LETTER BE
+30D9  ; [.32D8.0020.0011.30D8][.0000.0128.0002.3099] # KATAKANA LETTER BE
+307A  ; [.32D8.0020.000E.3078][.0000.0129.0002.309A] # HIRAGANA LETTER PE
+30DA  ; [.32D8.0020.0011.30D8][.0000.0129.0002.309A] # KATAKANA LETTER PE
+333B  ; [.32D8.0020.001C.333B][.0000.0129.001C.333B][.15BA.0020.001C.333B][.32C7.0020.001C.333B][.0000.0128.001C.333B] # SQUARE PEEZI
+333C  ; [.32D8.0020.001C.333C][.0000.0128.001C.333C][.15BA.0020.001C.333C][.32CB.0020.001C.333C] # SQUARE BEETA
+3336  ; [.32D8.0020.001C.3336][.32C3.0020.001C.3336][.32CB.0020.001C.3336][.15BA.0020.001C.3336][.32E5.0020.001C.3336] # SQUARE HEKUTAARU
+3337  ; [.32D8.0020.001C.3337][.0000.0129.001C.3337][.32CA.0020.001C.3337] # SQUARE PESO
+3338  ; [.32D8.0020.001C.3338][.0000.0129.001C.3338][.32D1.0020.001C.3338][.32D6.0020.001C.3338] # SQUARE PENIHI
+3339  ; [.32D8.0020.001C.3339][.32E5.0020.001C.3339][.32CD.0020.001C.3339] # SQUARE HERUTU
+333A  ; [.32D8.0020.001C.333A][.0000.0129.001C.333A][.32EC.0020.001C.333A][.32C8.0020.001C.333A] # SQUARE PENSU
+307B  ; [.32D9.0020.000E.307B] # HIRAGANA LETTER HO
+31F9  ; [.32D9.0020.000F.31F9] # KATAKANA LETTER SMALL HO
+30DB  ; [.32D9.0020.0011.30DB] # KATAKANA LETTER HO
+FF8E  ; [.32D9.0020.0012.FF8E] # HALFWIDTH KATAKANA LETTER HO
+32ED  ; [.32D9.0020.0013.32ED] # CIRCLED KATAKANA HO
+307C  ; [.32D9.0020.000E.307B][.0000.0128.0002.3099] # HIRAGANA LETTER BO
+30DC  ; [.32D9.0020.0011.30DB][.0000.0128.0002.3099] # KATAKANA LETTER BO
+307D  ; [.32D9.0020.000E.307B][.0000.0129.0002.309A] # HIRAGANA LETTER PO
+30DD  ; [.32D9.0020.0011.30DB][.0000.0129.0002.309A] # KATAKANA LETTER PO
+3341  ; [.32D9.0020.001C.3341][.15BA.0020.001C.3341][.32E5.0020.001C.3341] # SQUARE HOORU
+3342  ; [.32D9.0020.001C.3342][.15BA.0020.001C.3342][.32EC.0020.001C.3342] # SQUARE HOON
+333D  ; [.32D9.0020.001C.333D][.0000.0129.001C.333D][.32BC.0020.001C.333D][.32EC.0020.001C.333D][.32CF.0020.001C.333D] # SQUARE POINTO
+1F200 ; [.32D9.0020.001C.1F200][.32C1.0020.001C.1F200] # SQUARE HIRAGANA HOKA
+333E  ; [.32D9.0020.001C.333E][.0000.0128.001C.333E][.32E5.0020.001C.333E][.32CF.0020.001C.333E] # SQUARE BORUTO
+333F  ; [.32D9.0020.001C.333F][.32EC.0020.001C.333F] # SQUARE HON
+3340  ; [.32D9.0020.001C.3340][.0000.0129.001C.3340][.32EC.0020.001C.3340][.32CF.0020.001C.3340][.0000.0128.001C.3340] # SQUARE PONDO
+307E  ; [.32DA.0020.000E.307E] # HIRAGANA LETTER MA
+30DE  ; [.32DA.0020.0011.30DE] # KATAKANA LETTER MA
+FF8F  ; [.32DA.0020.0012.FF8F] # HALFWIDTH KATAKANA LETTER MA
+32EE  ; [.32DA.0020.0013.32EE] # CIRCLED KATAKANA MA
+3343  ; [.32DA.0020.001C.3343][.32BC.0020.001C.3343][.32C3.0020.001C.3343][.32E7.0020.001C.3343] # SQUARE MAIKURO
+3344  ; [.32DA.0020.001C.3344][.32BC.0020.001C.3344][.32E5.0020.001C.3344] # SQUARE MAIRU
+303C  ; [.32DA.0020.0004.303C][.32C8.0020.0004.303C] # MASU MARK
+3345  ; [.32DA.0020.001C.3345][.32CD.0020.001C.3345][.32D5.0020.001C.3345] # SQUARE MAHHA
+3346  ; [.32DA.0020.001C.3346][.32E5.0020.001C.3346][.32C3.0020.001C.3346] # SQUARE MARUKU
+3347  ; [.32DA.0020.001C.3347][.32EC.0020.001C.3347][.32C7.0020.001C.3347][.32E2.0020.001C.3347][.32EC.0020.001C.3347] # SQUARE MANSYON
+307F  ; [.32DB.0020.000E.307F] # HIRAGANA LETTER MI
+30DF  ; [.32DB.0020.0011.30DF] # KATAKANA LETTER MI
+FF90  ; [.32DB.0020.0012.FF90] # HALFWIDTH KATAKANA LETTER MI
+32EF  ; [.32DB.0020.0013.32EF] # CIRCLED KATAKANA MI
+3348  ; [.32DB.0020.001C.3348][.32C3.0020.001C.3348][.32E7.0020.001C.3348][.32EC.0020.001C.3348] # SQUARE MIKURON
+3349  ; [.32DB.0020.001C.3349][.32E4.0020.001C.3349] # SQUARE MIRI
+334A  ; [.32DB.0020.001C.334A][.32E4.0020.001C.334A][.32D5.0020.001C.334A][.0000.0128.001C.334A][.15BA.0020.001C.334A][.32E5.0020.001C.334A] # SQUARE MIRIBAARU
+3080  ; [.32DC.0020.000E.3080] # HIRAGANA LETTER MU
+31FA  ; [.32DC.0020.000F.31FA] # KATAKANA LETTER SMALL MU
+30E0  ; [.32DC.0020.0011.30E0] # KATAKANA LETTER MU
+FF91  ; [.32DC.0020.0012.FF91] # HALFWIDTH KATAKANA LETTER MU
+32F0  ; [.32DC.0020.0013.32F0] # CIRCLED KATAKANA MU
+3081  ; [.32DD.0020.000E.3081] # HIRAGANA LETTER ME
+30E1  ; [.32DD.0020.0011.30E1] # KATAKANA LETTER ME
+FF92  ; [.32DD.0020.0012.FF92] # HALFWIDTH KATAKANA LETTER ME
+32F1  ; [.32DD.0020.0013.32F1] # CIRCLED KATAKANA ME
+334D  ; [.32DD.0020.001C.334D][.15BA.0020.001C.334D][.32CF.0020.001C.334D][.32E5.0020.001C.334D] # SQUARE MEETORU
+334B  ; [.32DD.0020.001C.334B][.32C1.0020.001C.334B][.0000.0128.001C.334B] # SQUARE MEGA
+334C  ; [.32DD.0020.001C.334C][.32C1.0020.001C.334C][.0000.0128.001C.334C][.32CF.0020.001C.334C][.32EC.0020.001C.334C] # SQUARE MEGATON
+3082  ; [.32DE.0020.000E.3082] # HIRAGANA LETTER MO
+30E2  ; [.32DE.0020.0011.30E2] # KATAKANA LETTER MO
+FF93  ; [.32DE.0020.0012.FF93] # HALFWIDTH KATAKANA LETTER MO
+32F2  ; [.32DE.0020.0013.32F2] # CIRCLED KATAKANA MO
+3083  ; [.32DF.0020.000D.3083] # HIRAGANA LETTER SMALL YA
+3084  ; [.32DF.0020.000E.3084] # HIRAGANA LETTER YA
+30E3  ; [.32DF.0020.000F.30E3] # KATAKANA LETTER SMALL YA
+FF6C  ; [.32DF.0020.0010.FF6C] # HALFWIDTH KATAKANA LETTER SMALL YA
+30E4  ; [.32DF.0020.0011.30E4] # KATAKANA LETTER YA
+FF94  ; [.32DF.0020.0012.FF94] # HALFWIDTH KATAKANA LETTER YA
+32F3  ; [.32DF.0020.0013.32F3] # CIRCLED KATAKANA YA
+334E  ; [.32DF.0020.001C.334E][.15BA.0020.001C.334E][.32CF.0020.001C.334E][.0000.0128.001C.334E] # SQUARE YAADO
+334F  ; [.32DF.0020.001C.334F][.15BA.0020.001C.334F][.32E5.0020.001C.334F] # SQUARE YAARU
+3085  ; [.32E0.0020.000D.3085] # HIRAGANA LETTER SMALL YU
+3086  ; [.32E0.0020.000E.3086] # HIRAGANA LETTER YU
+30E5  ; [.32E0.0020.000F.30E5] # KATAKANA LETTER SMALL YU
+FF6D  ; [.32E0.0020.0010.FF6D] # HALFWIDTH KATAKANA LETTER SMALL YU
+30E6  ; [.32E0.0020.0011.30E6] # KATAKANA LETTER YU
+FF95  ; [.32E0.0020.0012.FF95] # HALFWIDTH KATAKANA LETTER YU
+32F4  ; [.32E0.0020.0013.32F4] # CIRCLED KATAKANA YU
+3350  ; [.32E0.0020.001C.3350][.32BB.0020.001C.3350][.32EC.0020.001C.3350] # SQUARE YUAN
+1B001 ; [.32E1.0020.000E.1B001] # HIRAGANA LETTER ARCHAIC YE
+3087  ; [.32E2.0020.000D.3087] # HIRAGANA LETTER SMALL YO
+3088  ; [.32E2.0020.000E.3088] # HIRAGANA LETTER YO
+30E7  ; [.32E2.0020.000F.30E7] # KATAKANA LETTER SMALL YO
+FF6E  ; [.32E2.0020.0010.FF6E] # HALFWIDTH KATAKANA LETTER SMALL YO
+30E8  ; [.32E2.0020.0011.30E8] # KATAKANA LETTER YO
+FF96  ; [.32E2.0020.0012.FF96] # HALFWIDTH KATAKANA LETTER YO
+32F5  ; [.32E2.0020.0013.32F5] # CIRCLED KATAKANA YO
+309F  ; [.32E2.0020.0016.309F][.32E4.0020.0016.309F] # HIRAGANA DIGRAPH YORI
+3089  ; [.32E3.0020.000E.3089] # HIRAGANA LETTER RA
+31FB  ; [.32E3.0020.000F.31FB] # KATAKANA LETTER SMALL RA
+30E9  ; [.32E3.0020.0011.30E9] # KATAKANA LETTER RA
+FF97  ; [.32E3.0020.0012.FF97] # HALFWIDTH KATAKANA LETTER RA
+32F6  ; [.32E3.0020.0013.32F6] # CIRCLED KATAKANA RA
+308A  ; [.32E4.0020.000E.308A] # HIRAGANA LETTER RI
+31FC  ; [.32E4.0020.000F.31FC] # KATAKANA LETTER SMALL RI
+30EA  ; [.32E4.0020.0011.30EA] # KATAKANA LETTER RI
+FF98  ; [.32E4.0020.0012.FF98] # HALFWIDTH KATAKANA LETTER RI
+32F7  ; [.32E4.0020.0013.32F7] # CIRCLED KATAKANA RI
+3351  ; [.32E4.0020.001C.3351][.32CD.0020.001C.3351][.32CF.0020.001C.3351][.32E5.0020.001C.3351] # SQUARE RITTORU
+3352  ; [.32E4.0020.001C.3352][.32E3.0020.001C.3352] # SQUARE RIRA
+308B  ; [.32E5.0020.000E.308B] # HIRAGANA LETTER RU
+31FD  ; [.32E5.0020.000F.31FD] # KATAKANA LETTER SMALL RU
+30EB  ; [.32E5.0020.0011.30EB] # KATAKANA LETTER RU
+FF99  ; [.32E5.0020.0012.FF99] # HALFWIDTH KATAKANA LETTER RU
+32F8  ; [.32E5.0020.0013.32F8] # CIRCLED KATAKANA RU
+3354  ; [.32E5.0020.001C.3354][.15BA.0020.001C.3354][.32D7.0020.001C.3354][.0000.0128.001C.3354][.32E5.0020.001C.3354] # SQUARE RUUBURU
+3353  ; [.32E5.0020.001C.3353][.32D6.0020.001C.3353][.0000.0129.001C.3353][.15BA.0020.001C.3353] # SQUARE RUPII
+308C  ; [.32E6.0020.000E.308C] # HIRAGANA LETTER RE
+31FE  ; [.32E6.0020.000F.31FE] # KATAKANA LETTER SMALL RE
+30EC  ; [.32E6.0020.0011.30EC] # KATAKANA LETTER RE
+FF9A  ; [.32E6.0020.0012.FF9A] # HALFWIDTH KATAKANA LETTER RE
+32F9  ; [.32E6.0020.0013.32F9] # CIRCLED KATAKANA RE
+3355  ; [.32E6.0020.001C.3355][.32DC.0020.001C.3355] # SQUARE REMU
+3356  ; [.32E6.0020.001C.3356][.32EC.0020.001C.3356][.32CF.0020.001C.3356][.32C4.0020.001C.3356][.0000.0128.001C.3356][.32EC.0020.001C.3356] # SQUARE RENTOGEN
+308D  ; [.32E7.0020.000E.308D] # HIRAGANA LETTER RO
+31FF  ; [.32E7.0020.000F.31FF] # KATAKANA LETTER SMALL RO
+30ED  ; [.32E7.0020.0011.30ED] # KATAKANA LETTER RO
+FF9B  ; [.32E7.0020.0012.FF9B] # HALFWIDTH KATAKANA LETTER RO
+32FA  ; [.32E7.0020.0013.32FA] # CIRCLED KATAKANA RO
+308E  ; [.32E8.0020.000D.308E] # HIRAGANA LETTER SMALL WA
+308F  ; [.32E8.0020.000E.308F] # HIRAGANA LETTER WA
+30EE  ; [.32E8.0020.000F.30EE] # KATAKANA LETTER SMALL WA
+30EF  ; [.32E8.0020.0011.30EF] # KATAKANA LETTER WA
+FF9C  ; [.32E8.0020.0012.FF9C] # HALFWIDTH KATAKANA LETTER WA
+32FB  ; [.32E8.0020.0013.32FB] # CIRCLED KATAKANA WA
+30F7  ; [.32E8.0020.0011.30EF][.0000.0128.0002.3099] # KATAKANA LETTER VA
+3357  ; [.32E8.0020.001C.3357][.32CD.0020.001C.3357][.32CF.0020.001C.3357] # SQUARE WATTO
+3090  ; [.32E9.0020.000E.3090] # HIRAGANA LETTER WI
+30F0  ; [.32E9.0020.0011.30F0] # KATAKANA LETTER WI
+32FC  ; [.32E9.0020.0013.32FC] # CIRCLED KATAKANA WI
+30F8  ; [.32E9.0020.0011.30F0][.0000.0128.0002.3099] # KATAKANA LETTER VI
+3091  ; [.32EA.0020.000E.3091] # HIRAGANA LETTER WE
+30F1  ; [.32EA.0020.0011.30F1] # KATAKANA LETTER WE
+32FD  ; [.32EA.0020.0013.32FD] # CIRCLED KATAKANA WE
+30F9  ; [.32EA.0020.0011.30F1][.0000.0128.0002.3099] # KATAKANA LETTER VE
+3092  ; [.32EB.0020.000E.3092] # HIRAGANA LETTER WO
+30F2  ; [.32EB.0020.0011.30F2] # KATAKANA LETTER WO
+FF66  ; [.32EB.0020.0012.FF66] # HALFWIDTH KATAKANA LETTER WO
+32FE  ; [.32EB.0020.0013.32FE] # CIRCLED KATAKANA WO
+30FA  ; [.32EB.0020.0011.30F2][.0000.0128.0002.3099] # KATAKANA LETTER VO
+3093  ; [.32EC.0020.000E.3093] # HIRAGANA LETTER N
+30F3  ; [.32EC.0020.0011.30F3] # KATAKANA LETTER N
+FF9D  ; [.32EC.0020.0012.FF9D] # HALFWIDTH KATAKANA LETTER N
+3105  ; [.32ED.0020.0002.3105] # BOPOMOFO LETTER B
+31A0  ; [.32ED.0020.0004.31A0][.0000.013A.0004.31A0] # BOPOMOFO LETTER BU
+3106  ; [.32EE.0020.0002.3106] # BOPOMOFO LETTER P
+31B4  ; [.32EE.0020.0019.31B4] # BOPOMOFO FINAL LETTER P
+3107  ; [.32EF.0020.0002.3107] # BOPOMOFO LETTER M
+3108  ; [.32F0.0020.0002.3108] # BOPOMOFO LETTER F
+312A  ; [.32F1.0020.0002.312A] # BOPOMOFO LETTER V
+3109  ; [.32F2.0020.0002.3109] # BOPOMOFO LETTER D
+310A  ; [.32F3.0020.0002.310A] # BOPOMOFO LETTER T
+31B5  ; [.32F3.0020.0019.31B5] # BOPOMOFO FINAL LETTER T
+310B  ; [.32F4.0020.0002.310B] # BOPOMOFO LETTER N
+310C  ; [.32F5.0020.0002.310C] # BOPOMOFO LETTER L
+310D  ; [.32F6.0020.0002.310D] # BOPOMOFO LETTER G
+31A3  ; [.32F6.0020.0004.31A3][.0000.013A.0004.31A3] # BOPOMOFO LETTER GU
+310E  ; [.32F7.0020.0002.310E] # BOPOMOFO LETTER K
+31B6  ; [.32F7.0020.0019.31B6] # BOPOMOFO FINAL LETTER K
+312B  ; [.32F8.0020.0002.312B] # BOPOMOFO LETTER NG
+31AD  ; [.32F9.0020.0002.31AD] # BOPOMOFO LETTER NGG
+310F  ; [.32FA.0020.0002.310F] # BOPOMOFO LETTER H
+31B7  ; [.32FA.0020.0019.31B7] # BOPOMOFO FINAL LETTER H
+3110  ; [.32FB.0020.0002.3110] # BOPOMOFO LETTER J
+31A2  ; [.32FB.0020.0004.31A2][.0000.013A.0004.31A2] # BOPOMOFO LETTER JI
+3111  ; [.32FC.0020.0002.3111] # BOPOMOFO LETTER Q
+3112  ; [.32FD.0020.0002.3112] # BOPOMOFO LETTER X
+312C  ; [.32FE.0020.0002.312C] # BOPOMOFO LETTER GN
+3113  ; [.32FF.0020.0002.3113] # BOPOMOFO LETTER ZH
+3114  ; [.3300.0020.0002.3114] # BOPOMOFO LETTER CH
+3115  ; [.3301.0020.0002.3115] # BOPOMOFO LETTER SH
+3116  ; [.3302.0020.0002.3116] # BOPOMOFO LETTER R
+3117  ; [.3303.0020.0002.3117] # BOPOMOFO LETTER Z
+31A1  ; [.3303.0020.0004.31A1][.0000.013A.0004.31A1] # BOPOMOFO LETTER ZI
+3118  ; [.3304.0020.0002.3118] # BOPOMOFO LETTER C
+3119  ; [.3305.0020.0002.3119] # BOPOMOFO LETTER S
+31B8  ; [.3306.0020.0002.31B8] # BOPOMOFO LETTER GH
+31B9  ; [.3307.0020.0002.31B9] # BOPOMOFO LETTER LH
+31BA  ; [.3308.0020.0002.31BA] # BOPOMOFO LETTER ZY
+311A  ; [.3309.0020.0002.311A] # BOPOMOFO LETTER A
+31A9  ; [.3309.0020.0004.31A9][.0000.013A.0004.31A9] # BOPOMOFO LETTER ANN
+311B  ; [.330A.0020.0002.311B] # BOPOMOFO LETTER O
+31A7  ; [.330A.0020.0004.31A7][.0000.013A.0004.31A7] # BOPOMOFO LETTER ONN
+31A6  ; [.330B.0020.0002.31A6] # BOPOMOFO LETTER OO
+311C  ; [.330C.0020.0002.311C] # BOPOMOFO LETTER E
+311D  ; [.330D.0020.0002.311D] # BOPOMOFO LETTER EH
+31A4  ; [.330E.0020.0002.31A4] # BOPOMOFO LETTER EE
+31A5  ; [.330E.0020.0004.31A5][.0000.013A.0004.31A5] # BOPOMOFO LETTER ENN
+311E  ; [.330F.0020.0002.311E] # BOPOMOFO LETTER AI
+31AE  ; [.330F.0020.0004.31AE][.0000.013A.0004.31AE] # BOPOMOFO LETTER AINN
+311F  ; [.3310.0020.0002.311F] # BOPOMOFO LETTER EI
+3120  ; [.3311.0020.0002.3120] # BOPOMOFO LETTER AU
+31AF  ; [.3311.0020.0004.31AF][.0000.013A.0004.31AF] # BOPOMOFO LETTER AUNN
+3121  ; [.3312.0020.0002.3121] # BOPOMOFO LETTER OU
+3122  ; [.3313.0020.0002.3122] # BOPOMOFO LETTER AN
+3123  ; [.3314.0020.0002.3123] # BOPOMOFO LETTER EN
+3124  ; [.3315.0020.0002.3124] # BOPOMOFO LETTER ANG
+31B2  ; [.3316.0020.0002.31B2] # BOPOMOFO LETTER ONG
+3125  ; [.3317.0020.0002.3125] # BOPOMOFO LETTER ENG
+31B0  ; [.3318.0020.0002.31B0] # BOPOMOFO LETTER AM
+31B1  ; [.3319.0020.0002.31B1] # BOPOMOFO LETTER OM
+31AC  ; [.331A.0020.0002.31AC] # BOPOMOFO LETTER IM
+3126  ; [.331B.0020.0002.3126] # BOPOMOFO LETTER ER
+3127  ; [.331C.0020.0002.3127] # BOPOMOFO LETTER I
+31AA  ; [.331C.0020.0004.31AA][.0000.013A.0004.31AA] # BOPOMOFO LETTER INN
+31B3  ; [.331C.0020.0016.31B3][.0000.013A.0016.31B3] # BOPOMOFO LETTER INNN
+3128  ; [.331D.0020.0002.3128] # BOPOMOFO LETTER U
+31AB  ; [.331D.0020.0004.31AB][.0000.013A.0004.31AB] # BOPOMOFO LETTER UNN
+31A8  ; [.331D.0020.0004.31A8][.0000.013C.0004.31A8] # BOPOMOFO LETTER IR
+3129  ; [.331E.0020.0002.3129] # BOPOMOFO LETTER IU
+312D  ; [.331F.0020.0002.312D] # BOPOMOFO LETTER IH
+A000  ; [.3320.0020.0002.A000] # YI SYLLABLE IT
+A001  ; [.3321.0020.0002.A001] # YI SYLLABLE IX
+A002  ; [.3322.0020.0002.A002] # YI SYLLABLE I
+A003  ; [.3323.0020.0002.A003] # YI SYLLABLE IP
+A004  ; [.3324.0020.0002.A004] # YI SYLLABLE IET
+A005  ; [.3325.0020.0002.A005] # YI SYLLABLE IEX
+A006  ; [.3326.0020.0002.A006] # YI SYLLABLE IE
+A007  ; [.3327.0020.0002.A007] # YI SYLLABLE IEP
+A008  ; [.3328.0020.0002.A008] # YI SYLLABLE AT
+A009  ; [.3329.0020.0002.A009] # YI SYLLABLE AX
+A00A  ; [.332A.0020.0002.A00A] # YI SYLLABLE A
+A00B  ; [.332B.0020.0002.A00B] # YI SYLLABLE AP
+A00C  ; [.332C.0020.0002.A00C] # YI SYLLABLE UOX
+A00D  ; [.332D.0020.0002.A00D] # YI SYLLABLE UO
+A00E  ; [.332E.0020.0002.A00E] # YI SYLLABLE UOP
+A00F  ; [.332F.0020.0002.A00F] # YI SYLLABLE OT
+A010  ; [.3330.0020.0002.A010] # YI SYLLABLE OX
+A011  ; [.3331.0020.0002.A011] # YI SYLLABLE O
+A012  ; [.3332.0020.0002.A012] # YI SYLLABLE OP
+A013  ; [.3333.0020.0002.A013] # YI SYLLABLE EX
+A014  ; [.3334.0020.0002.A014] # YI SYLLABLE E
+A015  ; [.3335.0020.0002.A015] # YI SYLLABLE WU
+A016  ; [.3336.0020.0002.A016] # YI SYLLABLE BIT
+A017  ; [.3337.0020.0002.A017] # YI SYLLABLE BIX
+A018  ; [.3338.0020.0002.A018] # YI SYLLABLE BI
+A019  ; [.3339.0020.0002.A019] # YI SYLLABLE BIP
+A01A  ; [.333A.0020.0002.A01A] # YI SYLLABLE BIET
+A01B  ; [.333B.0020.0002.A01B] # YI SYLLABLE BIEX
+A01C  ; [.333C.0020.0002.A01C] # YI SYLLABLE BIE
+A01D  ; [.333D.0020.0002.A01D] # YI SYLLABLE BIEP
+A01E  ; [.333E.0020.0002.A01E] # YI SYLLABLE BAT
+A01F  ; [.333F.0020.0002.A01F] # YI SYLLABLE BAX
+A020  ; [.3340.0020.0002.A020] # YI SYLLABLE BA
+A021  ; [.3341.0020.0002.A021] # YI SYLLABLE BAP
+A022  ; [.3342.0020.0002.A022] # YI SYLLABLE BUOX
+A023  ; [.3343.0020.0002.A023] # YI SYLLABLE BUO
+A024  ; [.3344.0020.0002.A024] # YI SYLLABLE BUOP
+A025  ; [.3345.0020.0002.A025] # YI SYLLABLE BOT
+A026  ; [.3346.0020.0002.A026] # YI SYLLABLE BOX
+A027  ; [.3347.0020.0002.A027] # YI SYLLABLE BO
+A028  ; [.3348.0020.0002.A028] # YI SYLLABLE BOP
+A029  ; [.3349.0020.0002.A029] # YI SYLLABLE BEX
+A02A  ; [.334A.0020.0002.A02A] # YI SYLLABLE BE
+A02B  ; [.334B.0020.0002.A02B] # YI SYLLABLE BEP
+A02C  ; [.334C.0020.0002.A02C] # YI SYLLABLE BUT
+A02D  ; [.334D.0020.0002.A02D] # YI SYLLABLE BUX
+A02E  ; [.334E.0020.0002.A02E] # YI SYLLABLE BU
+A02F  ; [.334F.0020.0002.A02F] # YI SYLLABLE BUP
+A030  ; [.3350.0020.0002.A030] # YI SYLLABLE BURX
+A031  ; [.3351.0020.0002.A031] # YI SYLLABLE BUR
+A032  ; [.3352.0020.0002.A032] # YI SYLLABLE BYT
+A033  ; [.3353.0020.0002.A033] # YI SYLLABLE BYX
+A034  ; [.3354.0020.0002.A034] # YI SYLLABLE BY
+A035  ; [.3355.0020.0002.A035] # YI SYLLABLE BYP
+A036  ; [.3356.0020.0002.A036] # YI SYLLABLE BYRX
+A037  ; [.3357.0020.0002.A037] # YI SYLLABLE BYR
+A038  ; [.3358.0020.0002.A038] # YI SYLLABLE PIT
+A039  ; [.3359.0020.0002.A039] # YI SYLLABLE PIX
+A03A  ; [.335A.0020.0002.A03A] # YI SYLLABLE PI
+A03B  ; [.335B.0020.0002.A03B] # YI SYLLABLE PIP
+A03C  ; [.335C.0020.0002.A03C] # YI SYLLABLE PIEX
+A03D  ; [.335D.0020.0002.A03D] # YI SYLLABLE PIE
+A03E  ; [.335E.0020.0002.A03E] # YI SYLLABLE PIEP
+A03F  ; [.335F.0020.0002.A03F] # YI SYLLABLE PAT
+A040  ; [.3360.0020.0002.A040] # YI SYLLABLE PAX
+A041  ; [.3361.0020.0002.A041] # YI SYLLABLE PA
+A042  ; [.3362.0020.0002.A042] # YI SYLLABLE PAP
+A043  ; [.3363.0020.0002.A043] # YI SYLLABLE PUOX
+A044  ; [.3364.0020.0002.A044] # YI SYLLABLE PUO
+A045  ; [.3365.0020.0002.A045] # YI SYLLABLE PUOP
+A046  ; [.3366.0020.0002.A046] # YI SYLLABLE POT
+A047  ; [.3367.0020.0002.A047] # YI SYLLABLE POX
+A048  ; [.3368.0020.0002.A048] # YI SYLLABLE PO
+A049  ; [.3369.0020.0002.A049] # YI SYLLABLE POP
+A04A  ; [.336A.0020.0002.A04A] # YI SYLLABLE PUT
+A04B  ; [.336B.0020.0002.A04B] # YI SYLLABLE PUX
+A04C  ; [.336C.0020.0002.A04C] # YI SYLLABLE PU
+A04D  ; [.336D.0020.0002.A04D] # YI SYLLABLE PUP
+A04E  ; [.336E.0020.0002.A04E] # YI SYLLABLE PURX
+A04F  ; [.336F.0020.0002.A04F] # YI SYLLABLE PUR
+A050  ; [.3370.0020.0002.A050] # YI SYLLABLE PYT
+A051  ; [.3371.0020.0002.A051] # YI SYLLABLE PYX
+A052  ; [.3372.0020.0002.A052] # YI SYLLABLE PY
+A053  ; [.3373.0020.0002.A053] # YI SYLLABLE PYP
+A054  ; [.3374.0020.0002.A054] # YI SYLLABLE PYRX
+A055  ; [.3375.0020.0002.A055] # YI SYLLABLE PYR
+A056  ; [.3376.0020.0002.A056] # YI SYLLABLE BBIT
+A057  ; [.3377.0020.0002.A057] # YI SYLLABLE BBIX
+A058  ; [.3378.0020.0002.A058] # YI SYLLABLE BBI
+A059  ; [.3379.0020.0002.A059] # YI SYLLABLE BBIP
+A05A  ; [.337A.0020.0002.A05A] # YI SYLLABLE BBIET
+A05B  ; [.337B.0020.0002.A05B] # YI SYLLABLE BBIEX
+A05C  ; [.337C.0020.0002.A05C] # YI SYLLABLE BBIE
+A05D  ; [.337D.0020.0002.A05D] # YI SYLLABLE BBIEP
+A05E  ; [.337E.0020.0002.A05E] # YI SYLLABLE BBAT
+A05F  ; [.337F.0020.0002.A05F] # YI SYLLABLE BBAX
+A060  ; [.3380.0020.0002.A060] # YI SYLLABLE BBA
+A061  ; [.3381.0020.0002.A061] # YI SYLLABLE BBAP
+A062  ; [.3382.0020.0002.A062] # YI SYLLABLE BBUOX
+A063  ; [.3383.0020.0002.A063] # YI SYLLABLE BBUO
+A064  ; [.3384.0020.0002.A064] # YI SYLLABLE BBUOP
+A065  ; [.3385.0020.0002.A065] # YI SYLLABLE BBOT
+A066  ; [.3386.0020.0002.A066] # YI SYLLABLE BBOX
+A067  ; [.3387.0020.0002.A067] # YI SYLLABLE BBO
+A068  ; [.3388.0020.0002.A068] # YI SYLLABLE BBOP
+A069  ; [.3389.0020.0002.A069] # YI SYLLABLE BBEX
+A06A  ; [.338A.0020.0002.A06A] # YI SYLLABLE BBE
+A06B  ; [.338B.0020.0002.A06B] # YI SYLLABLE BBEP
+A06C  ; [.338C.0020.0002.A06C] # YI SYLLABLE BBUT
+A06D  ; [.338D.0020.0002.A06D] # YI SYLLABLE BBUX
+A06E  ; [.338E.0020.0002.A06E] # YI SYLLABLE BBU
+A06F  ; [.338F.0020.0002.A06F] # YI SYLLABLE BBUP
+A070  ; [.3390.0020.0002.A070] # YI SYLLABLE BBURX
+A071  ; [.3391.0020.0002.A071] # YI SYLLABLE BBUR
+A072  ; [.3392.0020.0002.A072] # YI SYLLABLE BBYT
+A073  ; [.3393.0020.0002.A073] # YI SYLLABLE BBYX
+A074  ; [.3394.0020.0002.A074] # YI SYLLABLE BBY
+A075  ; [.3395.0020.0002.A075] # YI SYLLABLE BBYP
+A076  ; [.3396.0020.0002.A076] # YI SYLLABLE NBIT
+A077  ; [.3397.0020.0002.A077] # YI SYLLABLE NBIX
+A078  ; [.3398.0020.0002.A078] # YI SYLLABLE NBI
+A079  ; [.3399.0020.0002.A079] # YI SYLLABLE NBIP
+A07A  ; [.339A.0020.0002.A07A] # YI SYLLABLE NBIEX
+A07B  ; [.339B.0020.0002.A07B] # YI SYLLABLE NBIE
+A07C  ; [.339C.0020.0002.A07C] # YI SYLLABLE NBIEP
+A07D  ; [.339D.0020.0002.A07D] # YI SYLLABLE NBAT
+A07E  ; [.339E.0020.0002.A07E] # YI SYLLABLE NBAX
+A07F  ; [.339F.0020.0002.A07F] # YI SYLLABLE NBA
+A080  ; [.33A0.0020.0002.A080] # YI SYLLABLE NBAP
+A081  ; [.33A1.0020.0002.A081] # YI SYLLABLE NBOT
+A082  ; [.33A2.0020.0002.A082] # YI SYLLABLE NBOX
+A083  ; [.33A3.0020.0002.A083] # YI SYLLABLE NBO
+A084  ; [.33A4.0020.0002.A084] # YI SYLLABLE NBOP
+A085  ; [.33A5.0020.0002.A085] # YI SYLLABLE NBUT
+A086  ; [.33A6.0020.0002.A086] # YI SYLLABLE NBUX
+A087  ; [.33A7.0020.0002.A087] # YI SYLLABLE NBU
+A088  ; [.33A8.0020.0002.A088] # YI SYLLABLE NBUP
+A089  ; [.33A9.0020.0002.A089] # YI SYLLABLE NBURX
+A08A  ; [.33AA.0020.0002.A08A] # YI SYLLABLE NBUR
+A08B  ; [.33AB.0020.0002.A08B] # YI SYLLABLE NBYT
+A08C  ; [.33AC.0020.0002.A08C] # YI SYLLABLE NBYX
+A08D  ; [.33AD.0020.0002.A08D] # YI SYLLABLE NBY
+A08E  ; [.33AE.0020.0002.A08E] # YI SYLLABLE NBYP
+A08F  ; [.33AF.0020.0002.A08F] # YI SYLLABLE NBYRX
+A090  ; [.33B0.0020.0002.A090] # YI SYLLABLE NBYR
+A091  ; [.33B1.0020.0002.A091] # YI SYLLABLE HMIT
+A092  ; [.33B2.0020.0002.A092] # YI SYLLABLE HMIX
+A093  ; [.33B3.0020.0002.A093] # YI SYLLABLE HMI
+A094  ; [.33B4.0020.0002.A094] # YI SYLLABLE HMIP
+A095  ; [.33B5.0020.0002.A095] # YI SYLLABLE HMIEX
+A096  ; [.33B6.0020.0002.A096] # YI SYLLABLE HMIE
+A097  ; [.33B7.0020.0002.A097] # YI SYLLABLE HMIEP
+A098  ; [.33B8.0020.0002.A098] # YI SYLLABLE HMAT
+A099  ; [.33B9.0020.0002.A099] # YI SYLLABLE HMAX
+A09A  ; [.33BA.0020.0002.A09A] # YI SYLLABLE HMA
+A09B  ; [.33BB.0020.0002.A09B] # YI SYLLABLE HMAP
+A09C  ; [.33BC.0020.0002.A09C] # YI SYLLABLE HMUOX
+A09D  ; [.33BD.0020.0002.A09D] # YI SYLLABLE HMUO
+A09E  ; [.33BE.0020.0002.A09E] # YI SYLLABLE HMUOP
+A09F  ; [.33BF.0020.0002.A09F] # YI SYLLABLE HMOT
+A0A0  ; [.33C0.0020.0002.A0A0] # YI SYLLABLE HMOX
+A0A1  ; [.33C1.0020.0002.A0A1] # YI SYLLABLE HMO
+A0A2  ; [.33C2.0020.0002.A0A2] # YI SYLLABLE HMOP
+A0A3  ; [.33C3.0020.0002.A0A3] # YI SYLLABLE HMUT
+A0A4  ; [.33C4.0020.0002.A0A4] # YI SYLLABLE HMUX
+A0A5  ; [.33C5.0020.0002.A0A5] # YI SYLLABLE HMU
+A0A6  ; [.33C6.0020.0002.A0A6] # YI SYLLABLE HMUP
+A0A7  ; [.33C7.0020.0002.A0A7] # YI SYLLABLE HMURX
+A0A8  ; [.33C8.0020.0002.A0A8] # YI SYLLABLE HMUR
+A0A9  ; [.33C9.0020.0002.A0A9] # YI SYLLABLE HMYX
+A0AA  ; [.33CA.0020.0002.A0AA] # YI SYLLABLE HMY
+A0AB  ; [.33CB.0020.0002.A0AB] # YI SYLLABLE HMYP
+A0AC  ; [.33CC.0020.0002.A0AC] # YI SYLLABLE HMYRX
+A0AD  ; [.33CD.0020.0002.A0AD] # YI SYLLABLE HMYR
+A0AE  ; [.33CE.0020.0002.A0AE] # YI SYLLABLE MIT
+A0AF  ; [.33CF.0020.0002.A0AF] # YI SYLLABLE MIX
+A0B0  ; [.33D0.0020.0002.A0B0] # YI SYLLABLE MI
+A0B1  ; [.33D1.0020.0002.A0B1] # YI SYLLABLE MIP
+A0B2  ; [.33D2.0020.0002.A0B2] # YI SYLLABLE MIEX
+A0B3  ; [.33D3.0020.0002.A0B3] # YI SYLLABLE MIE
+A0B4  ; [.33D4.0020.0002.A0B4] # YI SYLLABLE MIEP
+A0B5  ; [.33D5.0020.0002.A0B5] # YI SYLLABLE MAT
+A0B6  ; [.33D6.0020.0002.A0B6] # YI SYLLABLE MAX
+A0B7  ; [.33D7.0020.0002.A0B7] # YI SYLLABLE MA
+A0B8  ; [.33D8.0020.0002.A0B8] # YI SYLLABLE MAP
+A0B9  ; [.33D9.0020.0002.A0B9] # YI SYLLABLE MUOT
+A0BA  ; [.33DA.0020.0002.A0BA] # YI SYLLABLE MUOX
+A0BB  ; [.33DB.0020.0002.A0BB] # YI SYLLABLE MUO
+A0BC  ; [.33DC.0020.0002.A0BC] # YI SYLLABLE MUOP
+A0BD  ; [.33DD.0020.0002.A0BD] # YI SYLLABLE MOT
+A0BE  ; [.33DE.0020.0002.A0BE] # YI SYLLABLE MOX
+A0BF  ; [.33DF.0020.0002.A0BF] # YI SYLLABLE MO
+A0C0  ; [.33E0.0020.0002.A0C0] # YI SYLLABLE MOP
+A0C1  ; [.33E1.0020.0002.A0C1] # YI SYLLABLE MEX
+A0C2  ; [.33E2.0020.0002.A0C2] # YI SYLLABLE ME
+A0C3  ; [.33E3.0020.0002.A0C3] # YI SYLLABLE MUT
+A0C4  ; [.33E4.0020.0002.A0C4] # YI SYLLABLE MUX
+A0C5  ; [.33E5.0020.0002.A0C5] # YI SYLLABLE MU
+A0C6  ; [.33E6.0020.0002.A0C6] # YI SYLLABLE MUP
+A0C7  ; [.33E7.0020.0002.A0C7] # YI SYLLABLE MURX
+A0C8  ; [.33E8.0020.0002.A0C8] # YI SYLLABLE MUR
+A0C9  ; [.33E9.0020.0002.A0C9] # YI SYLLABLE MYT
+A0CA  ; [.33EA.0020.0002.A0CA] # YI SYLLABLE MYX
+A0CB  ; [.33EB.0020.0002.A0CB] # YI SYLLABLE MY
+A0CC  ; [.33EC.0020.0002.A0CC] # YI SYLLABLE MYP
+A0CD  ; [.33ED.0020.0002.A0CD] # YI SYLLABLE FIT
+A0CE  ; [.33EE.0020.0002.A0CE] # YI SYLLABLE FIX
+A0CF  ; [.33EF.0020.0002.A0CF] # YI SYLLABLE FI
+A0D0  ; [.33F0.0020.0002.A0D0] # YI SYLLABLE FIP
+A0D1  ; [.33F1.0020.0002.A0D1] # YI SYLLABLE FAT
+A0D2  ; [.33F2.0020.0002.A0D2] # YI SYLLABLE FAX
+A0D3  ; [.33F3.0020.0002.A0D3] # YI SYLLABLE FA
+A0D4  ; [.33F4.0020.0002.A0D4] # YI SYLLABLE FAP
+A0D5  ; [.33F5.0020.0002.A0D5] # YI SYLLABLE FOX
+A0D6  ; [.33F6.0020.0002.A0D6] # YI SYLLABLE FO
+A0D7  ; [.33F7.0020.0002.A0D7] # YI SYLLABLE FOP
+A0D8  ; [.33F8.0020.0002.A0D8] # YI SYLLABLE FUT
+A0D9  ; [.33F9.0020.0002.A0D9] # YI SYLLABLE FUX
+A0DA  ; [.33FA.0020.0002.A0DA] # YI SYLLABLE FU
+A0DB  ; [.33FB.0020.0002.A0DB] # YI SYLLABLE FUP
+A0DC  ; [.33FC.0020.0002.A0DC] # YI SYLLABLE FURX
+A0DD  ; [.33FD.0020.0002.A0DD] # YI SYLLABLE FUR
+A0DE  ; [.33FE.0020.0002.A0DE] # YI SYLLABLE FYT
+A0DF  ; [.33FF.0020.0002.A0DF] # YI SYLLABLE FYX
+A0E0  ; [.3400.0020.0002.A0E0] # YI SYLLABLE FY
+A0E1  ; [.3401.0020.0002.A0E1] # YI SYLLABLE FYP
+A0E2  ; [.3402.0020.0002.A0E2] # YI SYLLABLE VIT
+A0E3  ; [.3403.0020.0002.A0E3] # YI SYLLABLE VIX
+A0E4  ; [.3404.0020.0002.A0E4] # YI SYLLABLE VI
+A0E5  ; [.3405.0020.0002.A0E5] # YI SYLLABLE VIP
+A0E6  ; [.3406.0020.0002.A0E6] # YI SYLLABLE VIET
+A0E7  ; [.3407.0020.0002.A0E7] # YI SYLLABLE VIEX
+A0E8  ; [.3408.0020.0002.A0E8] # YI SYLLABLE VIE
+A0E9  ; [.3409.0020.0002.A0E9] # YI SYLLABLE VIEP
+A0EA  ; [.340A.0020.0002.A0EA] # YI SYLLABLE VAT
+A0EB  ; [.340B.0020.0002.A0EB] # YI SYLLABLE VAX
+A0EC  ; [.340C.0020.0002.A0EC] # YI SYLLABLE VA
+A0ED  ; [.340D.0020.0002.A0ED] # YI SYLLABLE VAP
+A0EE  ; [.340E.0020.0002.A0EE] # YI SYLLABLE VOT
+A0EF  ; [.340F.0020.0002.A0EF] # YI SYLLABLE VOX
+A0F0  ; [.3410.0020.0002.A0F0] # YI SYLLABLE VO
+A0F1  ; [.3411.0020.0002.A0F1] # YI SYLLABLE VOP
+A0F2  ; [.3412.0020.0002.A0F2] # YI SYLLABLE VEX
+A0F3  ; [.3413.0020.0002.A0F3] # YI SYLLABLE VEP
+A0F4  ; [.3414.0020.0002.A0F4] # YI SYLLABLE VUT
+A0F5  ; [.3415.0020.0002.A0F5] # YI SYLLABLE VUX
+A0F6  ; [.3416.0020.0002.A0F6] # YI SYLLABLE VU
+A0F7  ; [.3417.0020.0002.A0F7] # YI SYLLABLE VUP
+A0F8  ; [.3418.0020.0002.A0F8] # YI SYLLABLE VURX
+A0F9  ; [.3419.0020.0002.A0F9] # YI SYLLABLE VUR
+A0FA  ; [.341A.0020.0002.A0FA] # YI SYLLABLE VYT
+A0FB  ; [.341B.0020.0002.A0FB] # YI SYLLABLE VYX
+A0FC  ; [.341C.0020.0002.A0FC] # YI SYLLABLE VY
+A0FD  ; [.341D.0020.0002.A0FD] # YI SYLLABLE VYP
+A0FE  ; [.341E.0020.0002.A0FE] # YI SYLLABLE VYRX
+A0FF  ; [.341F.0020.0002.A0FF] # YI SYLLABLE VYR
+A100  ; [.3420.0020.0002.A100] # YI SYLLABLE DIT
+A101  ; [.3421.0020.0002.A101] # YI SYLLABLE DIX
+A102  ; [.3422.0020.0002.A102] # YI SYLLABLE DI
+A103  ; [.3423.0020.0002.A103] # YI SYLLABLE DIP
+A104  ; [.3424.0020.0002.A104] # YI SYLLABLE DIEX
+A105  ; [.3425.0020.0002.A105] # YI SYLLABLE DIE
+A106  ; [.3426.0020.0002.A106] # YI SYLLABLE DIEP
+A107  ; [.3427.0020.0002.A107] # YI SYLLABLE DAT
+A108  ; [.3428.0020.0002.A108] # YI SYLLABLE DAX
+A109  ; [.3429.0020.0002.A109] # YI SYLLABLE DA
+A10A  ; [.342A.0020.0002.A10A] # YI SYLLABLE DAP
+A10B  ; [.342B.0020.0002.A10B] # YI SYLLABLE DUOX
+A10C  ; [.342C.0020.0002.A10C] # YI SYLLABLE DUO
+A10D  ; [.342D.0020.0002.A10D] # YI SYLLABLE DOT
+A10E  ; [.342E.0020.0002.A10E] # YI SYLLABLE DOX
+A10F  ; [.342F.0020.0002.A10F] # YI SYLLABLE DO
+A110  ; [.3430.0020.0002.A110] # YI SYLLABLE DOP
+A111  ; [.3431.0020.0002.A111] # YI SYLLABLE DEX
+A112  ; [.3432.0020.0002.A112] # YI SYLLABLE DE
+A113  ; [.3433.0020.0002.A113] # YI SYLLABLE DEP
+A114  ; [.3434.0020.0002.A114] # YI SYLLABLE DUT
+A115  ; [.3435.0020.0002.A115] # YI SYLLABLE DUX
+A116  ; [.3436.0020.0002.A116] # YI SYLLABLE DU
+A117  ; [.3437.0020.0002.A117] # YI SYLLABLE DUP
+A118  ; [.3438.0020.0002.A118] # YI SYLLABLE DURX
+A119  ; [.3439.0020.0002.A119] # YI SYLLABLE DUR
+A11A  ; [.343A.0020.0002.A11A] # YI SYLLABLE TIT
+A11B  ; [.343B.0020.0002.A11B] # YI SYLLABLE TIX
+A11C  ; [.343C.0020.0002.A11C] # YI SYLLABLE TI
+A11D  ; [.343D.0020.0002.A11D] # YI SYLLABLE TIP
+A11E  ; [.343E.0020.0002.A11E] # YI SYLLABLE TIEX
+A11F  ; [.343F.0020.0002.A11F] # YI SYLLABLE TIE
+A120  ; [.3440.0020.0002.A120] # YI SYLLABLE TIEP
+A121  ; [.3441.0020.0002.A121] # YI SYLLABLE TAT
+A122  ; [.3442.0020.0002.A122] # YI SYLLABLE TAX
+A123  ; [.3443.0020.0002.A123] # YI SYLLABLE TA
+A124  ; [.3444.0020.0002.A124] # YI SYLLABLE TAP
+A125  ; [.3445.0020.0002.A125] # YI SYLLABLE TUOT
+A126  ; [.3446.0020.0002.A126] # YI SYLLABLE TUOX
+A127  ; [.3447.0020.0002.A127] # YI SYLLABLE TUO
+A128  ; [.3448.0020.0002.A128] # YI SYLLABLE TUOP
+A129  ; [.3449.0020.0002.A129] # YI SYLLABLE TOT
+A12A  ; [.344A.0020.0002.A12A] # YI SYLLABLE TOX
+A12B  ; [.344B.0020.0002.A12B] # YI SYLLABLE TO
+A12C  ; [.344C.0020.0002.A12C] # YI SYLLABLE TOP
+A12D  ; [.344D.0020.0002.A12D] # YI SYLLABLE TEX
+A12E  ; [.344E.0020.0002.A12E] # YI SYLLABLE TE
+A12F  ; [.344F.0020.0002.A12F] # YI SYLLABLE TEP
+A130  ; [.3450.0020.0002.A130] # YI SYLLABLE TUT
+A131  ; [.3451.0020.0002.A131] # YI SYLLABLE TUX
+A132  ; [.3452.0020.0002.A132] # YI SYLLABLE TU
+A133  ; [.3453.0020.0002.A133] # YI SYLLABLE TUP
+A134  ; [.3454.0020.0002.A134] # YI SYLLABLE TURX
+A135  ; [.3455.0020.0002.A135] # YI SYLLABLE TUR
+A136  ; [.3456.0020.0002.A136] # YI SYLLABLE DDIT
+A137  ; [.3457.0020.0002.A137] # YI SYLLABLE DDIX
+A138  ; [.3458.0020.0002.A138] # YI SYLLABLE DDI
+A139  ; [.3459.0020.0002.A139] # YI SYLLABLE DDIP
+A13A  ; [.345A.0020.0002.A13A] # YI SYLLABLE DDIEX
+A13B  ; [.345B.0020.0002.A13B] # YI SYLLABLE DDIE
+A13C  ; [.345C.0020.0002.A13C] # YI SYLLABLE DDIEP
+A13D  ; [.345D.0020.0002.A13D] # YI SYLLABLE DDAT
+A13E  ; [.345E.0020.0002.A13E] # YI SYLLABLE DDAX
+A13F  ; [.345F.0020.0002.A13F] # YI SYLLABLE DDA
+A140  ; [.3460.0020.0002.A140] # YI SYLLABLE DDAP
+A141  ; [.3461.0020.0002.A141] # YI SYLLABLE DDUOX
+A142  ; [.3462.0020.0002.A142] # YI SYLLABLE DDUO
+A143  ; [.3463.0020.0002.A143] # YI SYLLABLE DDUOP
+A144  ; [.3464.0020.0002.A144] # YI SYLLABLE DDOT
+A145  ; [.3465.0020.0002.A145] # YI SYLLABLE DDOX
+A146  ; [.3466.0020.0002.A146] # YI SYLLABLE DDO
+A147  ; [.3467.0020.0002.A147] # YI SYLLABLE DDOP
+A148  ; [.3468.0020.0002.A148] # YI SYLLABLE DDEX
+A149  ; [.3469.0020.0002.A149] # YI SYLLABLE DDE
+A14A  ; [.346A.0020.0002.A14A] # YI SYLLABLE DDEP
+A14B  ; [.346B.0020.0002.A14B] # YI SYLLABLE DDUT
+A14C  ; [.346C.0020.0002.A14C] # YI SYLLABLE DDUX
+A14D  ; [.346D.0020.0002.A14D] # YI SYLLABLE DDU
+A14E  ; [.346E.0020.0002.A14E] # YI SYLLABLE DDUP
+A14F  ; [.346F.0020.0002.A14F] # YI SYLLABLE DDURX
+A150  ; [.3470.0020.0002.A150] # YI SYLLABLE DDUR
+A151  ; [.3471.0020.0002.A151] # YI SYLLABLE NDIT
+A152  ; [.3472.0020.0002.A152] # YI SYLLABLE NDIX
+A153  ; [.3473.0020.0002.A153] # YI SYLLABLE NDI
+A154  ; [.3474.0020.0002.A154] # YI SYLLABLE NDIP
+A155  ; [.3475.0020.0002.A155] # YI SYLLABLE NDIEX
+A156  ; [.3476.0020.0002.A156] # YI SYLLABLE NDIE
+A157  ; [.3477.0020.0002.A157] # YI SYLLABLE NDAT
+A158  ; [.3478.0020.0002.A158] # YI SYLLABLE NDAX
+A159  ; [.3479.0020.0002.A159] # YI SYLLABLE NDA
+A15A  ; [.347A.0020.0002.A15A] # YI SYLLABLE NDAP
+A15B  ; [.347B.0020.0002.A15B] # YI SYLLABLE NDOT
+A15C  ; [.347C.0020.0002.A15C] # YI SYLLABLE NDOX
+A15D  ; [.347D.0020.0002.A15D] # YI SYLLABLE NDO
+A15E  ; [.347E.0020.0002.A15E] # YI SYLLABLE NDOP
+A15F  ; [.347F.0020.0002.A15F] # YI SYLLABLE NDEX
+A160  ; [.3480.0020.0002.A160] # YI SYLLABLE NDE
+A161  ; [.3481.0020.0002.A161] # YI SYLLABLE NDEP
+A162  ; [.3482.0020.0002.A162] # YI SYLLABLE NDUT
+A163  ; [.3483.0020.0002.A163] # YI SYLLABLE NDUX
+A164  ; [.3484.0020.0002.A164] # YI SYLLABLE NDU
+A165  ; [.3485.0020.0002.A165] # YI SYLLABLE NDUP
+A166  ; [.3486.0020.0002.A166] # YI SYLLABLE NDURX
+A167  ; [.3487.0020.0002.A167] # YI SYLLABLE NDUR
+A168  ; [.3488.0020.0002.A168] # YI SYLLABLE HNIT
+A169  ; [.3489.0020.0002.A169] # YI SYLLABLE HNIX
+A16A  ; [.348A.0020.0002.A16A] # YI SYLLABLE HNI
+A16B  ; [.348B.0020.0002.A16B] # YI SYLLABLE HNIP
+A16C  ; [.348C.0020.0002.A16C] # YI SYLLABLE HNIET
+A16D  ; [.348D.0020.0002.A16D] # YI SYLLABLE HNIEX
+A16E  ; [.348E.0020.0002.A16E] # YI SYLLABLE HNIE
+A16F  ; [.348F.0020.0002.A16F] # YI SYLLABLE HNIEP
+A170  ; [.3490.0020.0002.A170] # YI SYLLABLE HNAT
+A171  ; [.3491.0020.0002.A171] # YI SYLLABLE HNAX
+A172  ; [.3492.0020.0002.A172] # YI SYLLABLE HNA
+A173  ; [.3493.0020.0002.A173] # YI SYLLABLE HNAP
+A174  ; [.3494.0020.0002.A174] # YI SYLLABLE HNUOX
+A175  ; [.3495.0020.0002.A175] # YI SYLLABLE HNUO
+A176  ; [.3496.0020.0002.A176] # YI SYLLABLE HNOT
+A177  ; [.3497.0020.0002.A177] # YI SYLLABLE HNOX
+A178  ; [.3498.0020.0002.A178] # YI SYLLABLE HNOP
+A179  ; [.3499.0020.0002.A179] # YI SYLLABLE HNEX
+A17A  ; [.349A.0020.0002.A17A] # YI SYLLABLE HNE
+A17B  ; [.349B.0020.0002.A17B] # YI SYLLABLE HNEP
+A17C  ; [.349C.0020.0002.A17C] # YI SYLLABLE HNUT
+A17D  ; [.349D.0020.0002.A17D] # YI SYLLABLE NIT
+A17E  ; [.349E.0020.0002.A17E] # YI SYLLABLE NIX
+A17F  ; [.349F.0020.0002.A17F] # YI SYLLABLE NI
+A180  ; [.34A0.0020.0002.A180] # YI SYLLABLE NIP
+A181  ; [.34A1.0020.0002.A181] # YI SYLLABLE NIEX
+A182  ; [.34A2.0020.0002.A182] # YI SYLLABLE NIE
+A183  ; [.34A3.0020.0002.A183] # YI SYLLABLE NIEP
+A184  ; [.34A4.0020.0002.A184] # YI SYLLABLE NAX
+A185  ; [.34A5.0020.0002.A185] # YI SYLLABLE NA
+A186  ; [.34A6.0020.0002.A186] # YI SYLLABLE NAP
+A187  ; [.34A7.0020.0002.A187] # YI SYLLABLE NUOX
+A188  ; [.34A8.0020.0002.A188] # YI SYLLABLE NUO
+A189  ; [.34A9.0020.0002.A189] # YI SYLLABLE NUOP
+A18A  ; [.34AA.0020.0002.A18A] # YI SYLLABLE NOT
+A18B  ; [.34AB.0020.0002.A18B] # YI SYLLABLE NOX
+A18C  ; [.34AC.0020.0002.A18C] # YI SYLLABLE NO
+A18D  ; [.34AD.0020.0002.A18D] # YI SYLLABLE NOP
+A18E  ; [.34AE.0020.0002.A18E] # YI SYLLABLE NEX
+A18F  ; [.34AF.0020.0002.A18F] # YI SYLLABLE NE
+A190  ; [.34B0.0020.0002.A190] # YI SYLLABLE NEP
+A191  ; [.34B1.0020.0002.A191] # YI SYLLABLE NUT
+A192  ; [.34B2.0020.0002.A192] # YI SYLLABLE NUX
+A193  ; [.34B3.0020.0002.A193] # YI SYLLABLE NU
+A194  ; [.34B4.0020.0002.A194] # YI SYLLABLE NUP
+A195  ; [.34B5.0020.0002.A195] # YI SYLLABLE NURX
+A196  ; [.34B6.0020.0002.A196] # YI SYLLABLE NUR
+A197  ; [.34B7.0020.0002.A197] # YI SYLLABLE HLIT
+A198  ; [.34B8.0020.0002.A198] # YI SYLLABLE HLIX
+A199  ; [.34B9.0020.0002.A199] # YI SYLLABLE HLI
+A19A  ; [.34BA.0020.0002.A19A] # YI SYLLABLE HLIP
+A19B  ; [.34BB.0020.0002.A19B] # YI SYLLABLE HLIEX
+A19C  ; [.34BC.0020.0002.A19C] # YI SYLLABLE HLIE
+A19D  ; [.34BD.0020.0002.A19D] # YI SYLLABLE HLIEP
+A19E  ; [.34BE.0020.0002.A19E] # YI SYLLABLE HLAT
+A19F  ; [.34BF.0020.0002.A19F] # YI SYLLABLE HLAX
+A1A0  ; [.34C0.0020.0002.A1A0] # YI SYLLABLE HLA
+A1A1  ; [.34C1.0020.0002.A1A1] # YI SYLLABLE HLAP
+A1A2  ; [.34C2.0020.0002.A1A2] # YI SYLLABLE HLUOX
+A1A3  ; [.34C3.0020.0002.A1A3] # YI SYLLABLE HLUO
+A1A4  ; [.34C4.0020.0002.A1A4] # YI SYLLABLE HLUOP
+A1A5  ; [.34C5.0020.0002.A1A5] # YI SYLLABLE HLOX
+A1A6  ; [.34C6.0020.0002.A1A6] # YI SYLLABLE HLO
+A1A7  ; [.34C7.0020.0002.A1A7] # YI SYLLABLE HLOP
+A1A8  ; [.34C8.0020.0002.A1A8] # YI SYLLABLE HLEX
+A1A9  ; [.34C9.0020.0002.A1A9] # YI SYLLABLE HLE
+A1AA  ; [.34CA.0020.0002.A1AA] # YI SYLLABLE HLEP
+A1AB  ; [.34CB.0020.0002.A1AB] # YI SYLLABLE HLUT
+A1AC  ; [.34CC.0020.0002.A1AC] # YI SYLLABLE HLUX
+A1AD  ; [.34CD.0020.0002.A1AD] # YI SYLLABLE HLU
+A1AE  ; [.34CE.0020.0002.A1AE] # YI SYLLABLE HLUP
+A1AF  ; [.34CF.0020.0002.A1AF] # YI SYLLABLE HLURX
+A1B0  ; [.34D0.0020.0002.A1B0] # YI SYLLABLE HLUR
+A1B1  ; [.34D1.0020.0002.A1B1] # YI SYLLABLE HLYT
+A1B2  ; [.34D2.0020.0002.A1B2] # YI SYLLABLE HLYX
+A1B3  ; [.34D3.0020.0002.A1B3] # YI SYLLABLE HLY
+A1B4  ; [.34D4.0020.0002.A1B4] # YI SYLLABLE HLYP
+A1B5  ; [.34D5.0020.0002.A1B5] # YI SYLLABLE HLYRX
+A1B6  ; [.34D6.0020.0002.A1B6] # YI SYLLABLE HLYR
+A1B7  ; [.34D7.0020.0002.A1B7] # YI SYLLABLE LIT
+A1B8  ; [.34D8.0020.0002.A1B8] # YI SYLLABLE LIX
+A1B9  ; [.34D9.0020.0002.A1B9] # YI SYLLABLE LI
+A1BA  ; [.34DA.0020.0002.A1BA] # YI SYLLABLE LIP
+A1BB  ; [.34DB.0020.0002.A1BB] # YI SYLLABLE LIET
+A1BC  ; [.34DC.0020.0002.A1BC] # YI SYLLABLE LIEX
+A1BD  ; [.34DD.0020.0002.A1BD] # YI SYLLABLE LIE
+A1BE  ; [.34DE.0020.0002.A1BE] # YI SYLLABLE LIEP
+A1BF  ; [.34DF.0020.0002.A1BF] # YI SYLLABLE LAT
+A1C0  ; [.34E0.0020.0002.A1C0] # YI SYLLABLE LAX
+A1C1  ; [.34E1.0020.0002.A1C1] # YI SYLLABLE LA
+A1C2  ; [.34E2.0020.0002.A1C2] # YI SYLLABLE LAP
+A1C3  ; [.34E3.0020.0002.A1C3] # YI SYLLABLE LUOT
+A1C4  ; [.34E4.0020.0002.A1C4] # YI SYLLABLE LUOX
+A1C5  ; [.34E5.0020.0002.A1C5] # YI SYLLABLE LUO
+A1C6  ; [.34E6.0020.0002.A1C6] # YI SYLLABLE LUOP
+A1C7  ; [.34E7.0020.0002.A1C7] # YI SYLLABLE LOT
+A1C8  ; [.34E8.0020.0002.A1C8] # YI SYLLABLE LOX
+A1C9  ; [.34E9.0020.0002.A1C9] # YI SYLLABLE LO
+A1CA  ; [.34EA.0020.0002.A1CA] # YI SYLLABLE LOP
+A1CB  ; [.34EB.0020.0002.A1CB] # YI SYLLABLE LEX
+A1CC  ; [.34EC.0020.0002.A1CC] # YI SYLLABLE LE
+A1CD  ; [.34ED.0020.0002.A1CD] # YI SYLLABLE LEP
+A1CE  ; [.34EE.0020.0002.A1CE] # YI SYLLABLE LUT
+A1CF  ; [.34EF.0020.0002.A1CF] # YI SYLLABLE LUX
+A1D0  ; [.34F0.0020.0002.A1D0] # YI SYLLABLE LU
+A1D1  ; [.34F1.0020.0002.A1D1] # YI SYLLABLE LUP
+A1D2  ; [.34F2.0020.0002.A1D2] # YI SYLLABLE LURX
+A1D3  ; [.34F3.0020.0002.A1D3] # YI SYLLABLE LUR
+A1D4  ; [.34F4.0020.0002.A1D4] # YI SYLLABLE LYT
+A1D5  ; [.34F5.0020.0002.A1D5] # YI SYLLABLE LYX
+A1D6  ; [.34F6.0020.0002.A1D6] # YI SYLLABLE LY
+A1D7  ; [.34F7.0020.0002.A1D7] # YI SYLLABLE LYP
+A1D8  ; [.34F8.0020.0002.A1D8] # YI SYLLABLE LYRX
+A1D9  ; [.34F9.0020.0002.A1D9] # YI SYLLABLE LYR
+A1DA  ; [.34FA.0020.0002.A1DA] # YI SYLLABLE GIT
+A1DB  ; [.34FB.0020.0002.A1DB] # YI SYLLABLE GIX
+A1DC  ; [.34FC.0020.0002.A1DC] # YI SYLLABLE GI
+A1DD  ; [.34FD.0020.0002.A1DD] # YI SYLLABLE GIP
+A1DE  ; [.34FE.0020.0002.A1DE] # YI SYLLABLE GIET
+A1DF  ; [.34FF.0020.0002.A1DF] # YI SYLLABLE GIEX
+A1E0  ; [.3500.0020.0002.A1E0] # YI SYLLABLE GIE
+A1E1  ; [.3501.0020.0002.A1E1] # YI SYLLABLE GIEP
+A1E2  ; [.3502.0020.0002.A1E2] # YI SYLLABLE GAT
+A1E3  ; [.3503.0020.0002.A1E3] # YI SYLLABLE GAX
+A1E4  ; [.3504.0020.0002.A1E4] # YI SYLLABLE GA
+A1E5  ; [.3505.0020.0002.A1E5] # YI SYLLABLE GAP
+A1E6  ; [.3506.0020.0002.A1E6] # YI SYLLABLE GUOT
+A1E7  ; [.3507.0020.0002.A1E7] # YI SYLLABLE GUOX
+A1E8  ; [.3508.0020.0002.A1E8] # YI SYLLABLE GUO
+A1E9  ; [.3509.0020.0002.A1E9] # YI SYLLABLE GUOP
+A1EA  ; [.350A.0020.0002.A1EA] # YI SYLLABLE GOT
+A1EB  ; [.350B.0020.0002.A1EB] # YI SYLLABLE GOX
+A1EC  ; [.350C.0020.0002.A1EC] # YI SYLLABLE GO
+A1ED  ; [.350D.0020.0002.A1ED] # YI SYLLABLE GOP
+A1EE  ; [.350E.0020.0002.A1EE] # YI SYLLABLE GET
+A1EF  ; [.350F.0020.0002.A1EF] # YI SYLLABLE GEX
+A1F0  ; [.3510.0020.0002.A1F0] # YI SYLLABLE GE
+A1F1  ; [.3511.0020.0002.A1F1] # YI SYLLABLE GEP
+A1F2  ; [.3512.0020.0002.A1F2] # YI SYLLABLE GUT
+A1F3  ; [.3513.0020.0002.A1F3] # YI SYLLABLE GUX
+A1F4  ; [.3514.0020.0002.A1F4] # YI SYLLABLE GU
+A1F5  ; [.3515.0020.0002.A1F5] # YI SYLLABLE GUP
+A1F6  ; [.3516.0020.0002.A1F6] # YI SYLLABLE GURX
+A1F7  ; [.3517.0020.0002.A1F7] # YI SYLLABLE GUR
+A1F8  ; [.3518.0020.0002.A1F8] # YI SYLLABLE KIT
+A1F9  ; [.3519.0020.0002.A1F9] # YI SYLLABLE KIX
+A1FA  ; [.351A.0020.0002.A1FA] # YI SYLLABLE KI
+A1FB  ; [.351B.0020.0002.A1FB] # YI SYLLABLE KIP
+A1FC  ; [.351C.0020.0002.A1FC] # YI SYLLABLE KIEX
+A1FD  ; [.351D.0020.0002.A1FD] # YI SYLLABLE KIE
+A1FE  ; [.351E.0020.0002.A1FE] # YI SYLLABLE KIEP
+A1FF  ; [.351F.0020.0002.A1FF] # YI SYLLABLE KAT
+A200  ; [.3520.0020.0002.A200] # YI SYLLABLE KAX
+A201  ; [.3521.0020.0002.A201] # YI SYLLABLE KA
+A202  ; [.3522.0020.0002.A202] # YI SYLLABLE KAP
+A203  ; [.3523.0020.0002.A203] # YI SYLLABLE KUOX
+A204  ; [.3524.0020.0002.A204] # YI SYLLABLE KUO
+A205  ; [.3525.0020.0002.A205] # YI SYLLABLE KUOP
+A206  ; [.3526.0020.0002.A206] # YI SYLLABLE KOT
+A207  ; [.3527.0020.0002.A207] # YI SYLLABLE KOX
+A208  ; [.3528.0020.0002.A208] # YI SYLLABLE KO
+A209  ; [.3529.0020.0002.A209] # YI SYLLABLE KOP
+A20A  ; [.352A.0020.0002.A20A] # YI SYLLABLE KET
+A20B  ; [.352B.0020.0002.A20B] # YI SYLLABLE KEX
+A20C  ; [.352C.0020.0002.A20C] # YI SYLLABLE KE
+A20D  ; [.352D.0020.0002.A20D] # YI SYLLABLE KEP
+A20E  ; [.352E.0020.0002.A20E] # YI SYLLABLE KUT
+A20F  ; [.352F.0020.0002.A20F] # YI SYLLABLE KUX
+A210  ; [.3530.0020.0002.A210] # YI SYLLABLE KU
+A211  ; [.3531.0020.0002.A211] # YI SYLLABLE KUP
+A212  ; [.3532.0020.0002.A212] # YI SYLLABLE KURX
+A213  ; [.3533.0020.0002.A213] # YI SYLLABLE KUR
+A214  ; [.3534.0020.0002.A214] # YI SYLLABLE GGIT
+A215  ; [.3535.0020.0002.A215] # YI SYLLABLE GGIX
+A216  ; [.3536.0020.0002.A216] # YI SYLLABLE GGI
+A217  ; [.3537.0020.0002.A217] # YI SYLLABLE GGIEX
+A218  ; [.3538.0020.0002.A218] # YI SYLLABLE GGIE
+A219  ; [.3539.0020.0002.A219] # YI SYLLABLE GGIEP
+A21A  ; [.353A.0020.0002.A21A] # YI SYLLABLE GGAT
+A21B  ; [.353B.0020.0002.A21B] # YI SYLLABLE GGAX
+A21C  ; [.353C.0020.0002.A21C] # YI SYLLABLE GGA
+A21D  ; [.353D.0020.0002.A21D] # YI SYLLABLE GGAP
+A21E  ; [.353E.0020.0002.A21E] # YI SYLLABLE GGUOT
+A21F  ; [.353F.0020.0002.A21F] # YI SYLLABLE GGUOX
+A220  ; [.3540.0020.0002.A220] # YI SYLLABLE GGUO
+A221  ; [.3541.0020.0002.A221] # YI SYLLABLE GGUOP
+A222  ; [.3542.0020.0002.A222] # YI SYLLABLE GGOT
+A223  ; [.3543.0020.0002.A223] # YI SYLLABLE GGOX
+A224  ; [.3544.0020.0002.A224] # YI SYLLABLE GGO
+A225  ; [.3545.0020.0002.A225] # YI SYLLABLE GGOP
+A226  ; [.3546.0020.0002.A226] # YI SYLLABLE GGET
+A227  ; [.3547.0020.0002.A227] # YI SYLLABLE GGEX
+A228  ; [.3548.0020.0002.A228] # YI SYLLABLE GGE
+A229  ; [.3549.0020.0002.A229] # YI SYLLABLE GGEP
+A22A  ; [.354A.0020.0002.A22A] # YI SYLLABLE GGUT
+A22B  ; [.354B.0020.0002.A22B] # YI SYLLABLE GGUX
+A22C  ; [.354C.0020.0002.A22C] # YI SYLLABLE GGU
+A22D  ; [.354D.0020.0002.A22D] # YI SYLLABLE GGUP
+A22E  ; [.354E.0020.0002.A22E] # YI SYLLABLE GGURX
+A22F  ; [.354F.0020.0002.A22F] # YI SYLLABLE GGUR
+A230  ; [.3550.0020.0002.A230] # YI SYLLABLE MGIEX
+A231  ; [.3551.0020.0002.A231] # YI SYLLABLE MGIE
+A232  ; [.3552.0020.0002.A232] # YI SYLLABLE MGAT
+A233  ; [.3553.0020.0002.A233] # YI SYLLABLE MGAX
+A234  ; [.3554.0020.0002.A234] # YI SYLLABLE MGA
+A235  ; [.3555.0020.0002.A235] # YI SYLLABLE MGAP
+A236  ; [.3556.0020.0002.A236] # YI SYLLABLE MGUOX
+A237  ; [.3557.0020.0002.A237] # YI SYLLABLE MGUO
+A238  ; [.3558.0020.0002.A238] # YI SYLLABLE MGUOP
+A239  ; [.3559.0020.0002.A239] # YI SYLLABLE MGOT
+A23A  ; [.355A.0020.0002.A23A] # YI SYLLABLE MGOX
+A23B  ; [.355B.0020.0002.A23B] # YI SYLLABLE MGO
+A23C  ; [.355C.0020.0002.A23C] # YI SYLLABLE MGOP
+A23D  ; [.355D.0020.0002.A23D] # YI SYLLABLE MGEX
+A23E  ; [.355E.0020.0002.A23E] # YI SYLLABLE MGE
+A23F  ; [.355F.0020.0002.A23F] # YI SYLLABLE MGEP
+A240  ; [.3560.0020.0002.A240] # YI SYLLABLE MGUT
+A241  ; [.3561.0020.0002.A241] # YI SYLLABLE MGUX
+A242  ; [.3562.0020.0002.A242] # YI SYLLABLE MGU
+A243  ; [.3563.0020.0002.A243] # YI SYLLABLE MGUP
+A244  ; [.3564.0020.0002.A244] # YI SYLLABLE MGURX
+A245  ; [.3565.0020.0002.A245] # YI SYLLABLE MGUR
+A246  ; [.3566.0020.0002.A246] # YI SYLLABLE HXIT
+A247  ; [.3567.0020.0002.A247] # YI SYLLABLE HXIX
+A248  ; [.3568.0020.0002.A248] # YI SYLLABLE HXI
+A249  ; [.3569.0020.0002.A249] # YI SYLLABLE HXIP
+A24A  ; [.356A.0020.0002.A24A] # YI SYLLABLE HXIET
+A24B  ; [.356B.0020.0002.A24B] # YI SYLLABLE HXIEX
+A24C  ; [.356C.0020.0002.A24C] # YI SYLLABLE HXIE
+A24D  ; [.356D.0020.0002.A24D] # YI SYLLABLE HXIEP
+A24E  ; [.356E.0020.0002.A24E] # YI SYLLABLE HXAT
+A24F  ; [.356F.0020.0002.A24F] # YI SYLLABLE HXAX
+A250  ; [.3570.0020.0002.A250] # YI SYLLABLE HXA
+A251  ; [.3571.0020.0002.A251] # YI SYLLABLE HXAP
+A252  ; [.3572.0020.0002.A252] # YI SYLLABLE HXUOT
+A253  ; [.3573.0020.0002.A253] # YI SYLLABLE HXUOX
+A254  ; [.3574.0020.0002.A254] # YI SYLLABLE HXUO
+A255  ; [.3575.0020.0002.A255] # YI SYLLABLE HXUOP
+A256  ; [.3576.0020.0002.A256] # YI SYLLABLE HXOT
+A257  ; [.3577.0020.0002.A257] # YI SYLLABLE HXOX
+A258  ; [.3578.0020.0002.A258] # YI SYLLABLE HXO
+A259  ; [.3579.0020.0002.A259] # YI SYLLABLE HXOP
+A25A  ; [.357A.0020.0002.A25A] # YI SYLLABLE HXEX
+A25B  ; [.357B.0020.0002.A25B] # YI SYLLABLE HXE
+A25C  ; [.357C.0020.0002.A25C] # YI SYLLABLE HXEP
+A25D  ; [.357D.0020.0002.A25D] # YI SYLLABLE NGIEX
+A25E  ; [.357E.0020.0002.A25E] # YI SYLLABLE NGIE
+A25F  ; [.357F.0020.0002.A25F] # YI SYLLABLE NGIEP
+A260  ; [.3580.0020.0002.A260] # YI SYLLABLE NGAT
+A261  ; [.3581.0020.0002.A261] # YI SYLLABLE NGAX
+A262  ; [.3582.0020.0002.A262] # YI SYLLABLE NGA
+A263  ; [.3583.0020.0002.A263] # YI SYLLABLE NGAP
+A264  ; [.3584.0020.0002.A264] # YI SYLLABLE NGUOT
+A265  ; [.3585.0020.0002.A265] # YI SYLLABLE NGUOX
+A266  ; [.3586.0020.0002.A266] # YI SYLLABLE NGUO
+A267  ; [.3587.0020.0002.A267] # YI SYLLABLE NGOT
+A268  ; [.3588.0020.0002.A268] # YI SYLLABLE NGOX
+A269  ; [.3589.0020.0002.A269] # YI SYLLABLE NGO
+A26A  ; [.358A.0020.0002.A26A] # YI SYLLABLE NGOP
+A26B  ; [.358B.0020.0002.A26B] # YI SYLLABLE NGEX
+A26C  ; [.358C.0020.0002.A26C] # YI SYLLABLE NGE
+A26D  ; [.358D.0020.0002.A26D] # YI SYLLABLE NGEP
+A26E  ; [.358E.0020.0002.A26E] # YI SYLLABLE HIT
+A26F  ; [.358F.0020.0002.A26F] # YI SYLLABLE HIEX
+A270  ; [.3590.0020.0002.A270] # YI SYLLABLE HIE
+A271  ; [.3591.0020.0002.A271] # YI SYLLABLE HAT
+A272  ; [.3592.0020.0002.A272] # YI SYLLABLE HAX
+A273  ; [.3593.0020.0002.A273] # YI SYLLABLE HA
+A274  ; [.3594.0020.0002.A274] # YI SYLLABLE HAP
+A275  ; [.3595.0020.0002.A275] # YI SYLLABLE HUOT
+A276  ; [.3596.0020.0002.A276] # YI SYLLABLE HUOX
+A277  ; [.3597.0020.0002.A277] # YI SYLLABLE HUO
+A278  ; [.3598.0020.0002.A278] # YI SYLLABLE HUOP
+A279  ; [.3599.0020.0002.A279] # YI SYLLABLE HOT
+A27A  ; [.359A.0020.0002.A27A] # YI SYLLABLE HOX
+A27B  ; [.359B.0020.0002.A27B] # YI SYLLABLE HO
+A27C  ; [.359C.0020.0002.A27C] # YI SYLLABLE HOP
+A27D  ; [.359D.0020.0002.A27D] # YI SYLLABLE HEX
+A27E  ; [.359E.0020.0002.A27E] # YI SYLLABLE HE
+A27F  ; [.359F.0020.0002.A27F] # YI SYLLABLE HEP
+A280  ; [.35A0.0020.0002.A280] # YI SYLLABLE WAT
+A281  ; [.35A1.0020.0002.A281] # YI SYLLABLE WAX
+A282  ; [.35A2.0020.0002.A282] # YI SYLLABLE WA
+A283  ; [.35A3.0020.0002.A283] # YI SYLLABLE WAP
+A284  ; [.35A4.0020.0002.A284] # YI SYLLABLE WUOX
+A285  ; [.35A5.0020.0002.A285] # YI SYLLABLE WUO
+A286  ; [.35A6.0020.0002.A286] # YI SYLLABLE WUOP
+A287  ; [.35A7.0020.0002.A287] # YI SYLLABLE WOX
+A288  ; [.35A8.0020.0002.A288] # YI SYLLABLE WO
+A289  ; [.35A9.0020.0002.A289] # YI SYLLABLE WOP
+A28A  ; [.35AA.0020.0002.A28A] # YI SYLLABLE WEX
+A28B  ; [.35AB.0020.0002.A28B] # YI SYLLABLE WE
+A28C  ; [.35AC.0020.0002.A28C] # YI SYLLABLE WEP
+A28D  ; [.35AD.0020.0002.A28D] # YI SYLLABLE ZIT
+A28E  ; [.35AE.0020.0002.A28E] # YI SYLLABLE ZIX
+A28F  ; [.35AF.0020.0002.A28F] # YI SYLLABLE ZI
+A290  ; [.35B0.0020.0002.A290] # YI SYLLABLE ZIP
+A291  ; [.35B1.0020.0002.A291] # YI SYLLABLE ZIEX
+A292  ; [.35B2.0020.0002.A292] # YI SYLLABLE ZIE
+A293  ; [.35B3.0020.0002.A293] # YI SYLLABLE ZIEP
+A294  ; [.35B4.0020.0002.A294] # YI SYLLABLE ZAT
+A295  ; [.35B5.0020.0002.A295] # YI SYLLABLE ZAX
+A296  ; [.35B6.0020.0002.A296] # YI SYLLABLE ZA
+A297  ; [.35B7.0020.0002.A297] # YI SYLLABLE ZAP
+A298  ; [.35B8.0020.0002.A298] # YI SYLLABLE ZUOX
+A299  ; [.35B9.0020.0002.A299] # YI SYLLABLE ZUO
+A29A  ; [.35BA.0020.0002.A29A] # YI SYLLABLE ZUOP
+A29B  ; [.35BB.0020.0002.A29B] # YI SYLLABLE ZOT
+A29C  ; [.35BC.0020.0002.A29C] # YI SYLLABLE ZOX
+A29D  ; [.35BD.0020.0002.A29D] # YI SYLLABLE ZO
+A29E  ; [.35BE.0020.0002.A29E] # YI SYLLABLE ZOP
+A29F  ; [.35BF.0020.0002.A29F] # YI SYLLABLE ZEX
+A2A0  ; [.35C0.0020.0002.A2A0] # YI SYLLABLE ZE
+A2A1  ; [.35C1.0020.0002.A2A1] # YI SYLLABLE ZEP
+A2A2  ; [.35C2.0020.0002.A2A2] # YI SYLLABLE ZUT
+A2A3  ; [.35C3.0020.0002.A2A3] # YI SYLLABLE ZUX
+A2A4  ; [.35C4.0020.0002.A2A4] # YI SYLLABLE ZU
+A2A5  ; [.35C5.0020.0002.A2A5] # YI SYLLABLE ZUP
+A2A6  ; [.35C6.0020.0002.A2A6] # YI SYLLABLE ZURX
+A2A7  ; [.35C7.0020.0002.A2A7] # YI SYLLABLE ZUR
+A2A8  ; [.35C8.0020.0002.A2A8] # YI SYLLABLE ZYT
+A2A9  ; [.35C9.0020.0002.A2A9] # YI SYLLABLE ZYX
+A2AA  ; [.35CA.0020.0002.A2AA] # YI SYLLABLE ZY
+A2AB  ; [.35CB.0020.0002.A2AB] # YI SYLLABLE ZYP
+A2AC  ; [.35CC.0020.0002.A2AC] # YI SYLLABLE ZYRX
+A2AD  ; [.35CD.0020.0002.A2AD] # YI SYLLABLE ZYR
+A2AE  ; [.35CE.0020.0002.A2AE] # YI SYLLABLE CIT
+A2AF  ; [.35CF.0020.0002.A2AF] # YI SYLLABLE CIX
+A2B0  ; [.35D0.0020.0002.A2B0] # YI SYLLABLE CI
+A2B1  ; [.35D1.0020.0002.A2B1] # YI SYLLABLE CIP
+A2B2  ; [.35D2.0020.0002.A2B2] # YI SYLLABLE CIET
+A2B3  ; [.35D3.0020.0002.A2B3] # YI SYLLABLE CIEX
+A2B4  ; [.35D4.0020.0002.A2B4] # YI SYLLABLE CIE
+A2B5  ; [.35D5.0020.0002.A2B5] # YI SYLLABLE CIEP
+A2B6  ; [.35D6.0020.0002.A2B6] # YI SYLLABLE CAT
+A2B7  ; [.35D7.0020.0002.A2B7] # YI SYLLABLE CAX
+A2B8  ; [.35D8.0020.0002.A2B8] # YI SYLLABLE CA
+A2B9  ; [.35D9.0020.0002.A2B9] # YI SYLLABLE CAP
+A2BA  ; [.35DA.0020.0002.A2BA] # YI SYLLABLE CUOX
+A2BB  ; [.35DB.0020.0002.A2BB] # YI SYLLABLE CUO
+A2BC  ; [.35DC.0020.0002.A2BC] # YI SYLLABLE CUOP
+A2BD  ; [.35DD.0020.0002.A2BD] # YI SYLLABLE COT
+A2BE  ; [.35DE.0020.0002.A2BE] # YI SYLLABLE COX
+A2BF  ; [.35DF.0020.0002.A2BF] # YI SYLLABLE CO
+A2C0  ; [.35E0.0020.0002.A2C0] # YI SYLLABLE COP
+A2C1  ; [.35E1.0020.0002.A2C1] # YI SYLLABLE CEX
+A2C2  ; [.35E2.0020.0002.A2C2] # YI SYLLABLE CE
+A2C3  ; [.35E3.0020.0002.A2C3] # YI SYLLABLE CEP
+A2C4  ; [.35E4.0020.0002.A2C4] # YI SYLLABLE CUT
+A2C5  ; [.35E5.0020.0002.A2C5] # YI SYLLABLE CUX
+A2C6  ; [.35E6.0020.0002.A2C6] # YI SYLLABLE CU
+A2C7  ; [.35E7.0020.0002.A2C7] # YI SYLLABLE CUP
+A2C8  ; [.35E8.0020.0002.A2C8] # YI SYLLABLE CURX
+A2C9  ; [.35E9.0020.0002.A2C9] # YI SYLLABLE CUR
+A2CA  ; [.35EA.0020.0002.A2CA] # YI SYLLABLE CYT
+A2CB  ; [.35EB.0020.0002.A2CB] # YI SYLLABLE CYX
+A2CC  ; [.35EC.0020.0002.A2CC] # YI SYLLABLE CY
+A2CD  ; [.35ED.0020.0002.A2CD] # YI SYLLABLE CYP
+A2CE  ; [.35EE.0020.0002.A2CE] # YI SYLLABLE CYRX
+A2CF  ; [.35EF.0020.0002.A2CF] # YI SYLLABLE CYR
+A2D0  ; [.35F0.0020.0002.A2D0] # YI SYLLABLE ZZIT
+A2D1  ; [.35F1.0020.0002.A2D1] # YI SYLLABLE ZZIX
+A2D2  ; [.35F2.0020.0002.A2D2] # YI SYLLABLE ZZI
+A2D3  ; [.35F3.0020.0002.A2D3] # YI SYLLABLE ZZIP
+A2D4  ; [.35F4.0020.0002.A2D4] # YI SYLLABLE ZZIET
+A2D5  ; [.35F5.0020.0002.A2D5] # YI SYLLABLE ZZIEX
+A2D6  ; [.35F6.0020.0002.A2D6] # YI SYLLABLE ZZIE
+A2D7  ; [.35F7.0020.0002.A2D7] # YI SYLLABLE ZZIEP
+A2D8  ; [.35F8.0020.0002.A2D8] # YI SYLLABLE ZZAT
+A2D9  ; [.35F9.0020.0002.A2D9] # YI SYLLABLE ZZAX
+A2DA  ; [.35FA.0020.0002.A2DA] # YI SYLLABLE ZZA
+A2DB  ; [.35FB.0020.0002.A2DB] # YI SYLLABLE ZZAP
+A2DC  ; [.35FC.0020.0002.A2DC] # YI SYLLABLE ZZOX
+A2DD  ; [.35FD.0020.0002.A2DD] # YI SYLLABLE ZZO
+A2DE  ; [.35FE.0020.0002.A2DE] # YI SYLLABLE ZZOP
+A2DF  ; [.35FF.0020.0002.A2DF] # YI SYLLABLE ZZEX
+A2E0  ; [.3600.0020.0002.A2E0] # YI SYLLABLE ZZE
+A2E1  ; [.3601.0020.0002.A2E1] # YI SYLLABLE ZZEP
+A2E2  ; [.3602.0020.0002.A2E2] # YI SYLLABLE ZZUX
+A2E3  ; [.3603.0020.0002.A2E3] # YI SYLLABLE ZZU
+A2E4  ; [.3604.0020.0002.A2E4] # YI SYLLABLE ZZUP
+A2E5  ; [.3605.0020.0002.A2E5] # YI SYLLABLE ZZURX
+A2E6  ; [.3606.0020.0002.A2E6] # YI SYLLABLE ZZUR
+A2E7  ; [.3607.0020.0002.A2E7] # YI SYLLABLE ZZYT
+A2E8  ; [.3608.0020.0002.A2E8] # YI SYLLABLE ZZYX
+A2E9  ; [.3609.0020.0002.A2E9] # YI SYLLABLE ZZY
+A2EA  ; [.360A.0020.0002.A2EA] # YI SYLLABLE ZZYP
+A2EB  ; [.360B.0020.0002.A2EB] # YI SYLLABLE ZZYRX
+A2EC  ; [.360C.0020.0002.A2EC] # YI SYLLABLE ZZYR
+A2ED  ; [.360D.0020.0002.A2ED] # YI SYLLABLE NZIT
+A2EE  ; [.360E.0020.0002.A2EE] # YI SYLLABLE NZIX
+A2EF  ; [.360F.0020.0002.A2EF] # YI SYLLABLE NZI
+A2F0  ; [.3610.0020.0002.A2F0] # YI SYLLABLE NZIP
+A2F1  ; [.3611.0020.0002.A2F1] # YI SYLLABLE NZIEX
+A2F2  ; [.3612.0020.0002.A2F2] # YI SYLLABLE NZIE
+A2F3  ; [.3613.0020.0002.A2F3] # YI SYLLABLE NZIEP
+A2F4  ; [.3614.0020.0002.A2F4] # YI SYLLABLE NZAT
+A2F5  ; [.3615.0020.0002.A2F5] # YI SYLLABLE NZAX
+A2F6  ; [.3616.0020.0002.A2F6] # YI SYLLABLE NZA
+A2F7  ; [.3617.0020.0002.A2F7] # YI SYLLABLE NZAP
+A2F8  ; [.3618.0020.0002.A2F8] # YI SYLLABLE NZUOX
+A2F9  ; [.3619.0020.0002.A2F9] # YI SYLLABLE NZUO
+A2FA  ; [.361A.0020.0002.A2FA] # YI SYLLABLE NZOX
+A2FB  ; [.361B.0020.0002.A2FB] # YI SYLLABLE NZOP
+A2FC  ; [.361C.0020.0002.A2FC] # YI SYLLABLE NZEX
+A2FD  ; [.361D.0020.0002.A2FD] # YI SYLLABLE NZE
+A2FE  ; [.361E.0020.0002.A2FE] # YI SYLLABLE NZUX
+A2FF  ; [.361F.0020.0002.A2FF] # YI SYLLABLE NZU
+A300  ; [.3620.0020.0002.A300] # YI SYLLABLE NZUP
+A301  ; [.3621.0020.0002.A301] # YI SYLLABLE NZURX
+A302  ; [.3622.0020.0002.A302] # YI SYLLABLE NZUR
+A303  ; [.3623.0020.0002.A303] # YI SYLLABLE NZYT
+A304  ; [.3624.0020.0002.A304] # YI SYLLABLE NZYX
+A305  ; [.3625.0020.0002.A305] # YI SYLLABLE NZY
+A306  ; [.3626.0020.0002.A306] # YI SYLLABLE NZYP
+A307  ; [.3627.0020.0002.A307] # YI SYLLABLE NZYRX
+A308  ; [.3628.0020.0002.A308] # YI SYLLABLE NZYR
+A309  ; [.3629.0020.0002.A309] # YI SYLLABLE SIT
+A30A  ; [.362A.0020.0002.A30A] # YI SYLLABLE SIX
+A30B  ; [.362B.0020.0002.A30B] # YI SYLLABLE SI
+A30C  ; [.362C.0020.0002.A30C] # YI SYLLABLE SIP
+A30D  ; [.362D.0020.0002.A30D] # YI SYLLABLE SIEX
+A30E  ; [.362E.0020.0002.A30E] # YI SYLLABLE SIE
+A30F  ; [.362F.0020.0002.A30F] # YI SYLLABLE SIEP
+A310  ; [.3630.0020.0002.A310] # YI SYLLABLE SAT
+A311  ; [.3631.0020.0002.A311] # YI SYLLABLE SAX
+A312  ; [.3632.0020.0002.A312] # YI SYLLABLE SA
+A313  ; [.3633.0020.0002.A313] # YI SYLLABLE SAP
+A314  ; [.3634.0020.0002.A314] # YI SYLLABLE SUOX
+A315  ; [.3635.0020.0002.A315] # YI SYLLABLE SUO
+A316  ; [.3636.0020.0002.A316] # YI SYLLABLE SUOP
+A317  ; [.3637.0020.0002.A317] # YI SYLLABLE SOT
+A318  ; [.3638.0020.0002.A318] # YI SYLLABLE SOX
+A319  ; [.3639.0020.0002.A319] # YI SYLLABLE SO
+A31A  ; [.363A.0020.0002.A31A] # YI SYLLABLE SOP
+A31B  ; [.363B.0020.0002.A31B] # YI SYLLABLE SEX
+A31C  ; [.363C.0020.0002.A31C] # YI SYLLABLE SE
+A31D  ; [.363D.0020.0002.A31D] # YI SYLLABLE SEP
+A31E  ; [.363E.0020.0002.A31E] # YI SYLLABLE SUT
+A31F  ; [.363F.0020.0002.A31F] # YI SYLLABLE SUX
+A320  ; [.3640.0020.0002.A320] # YI SYLLABLE SU
+A321  ; [.3641.0020.0002.A321] # YI SYLLABLE SUP
+A322  ; [.3642.0020.0002.A322] # YI SYLLABLE SURX
+A323  ; [.3643.0020.0002.A323] # YI SYLLABLE SUR
+A324  ; [.3644.0020.0002.A324] # YI SYLLABLE SYT
+A325  ; [.3645.0020.0002.A325] # YI SYLLABLE SYX
+A326  ; [.3646.0020.0002.A326] # YI SYLLABLE SY
+A327  ; [.3647.0020.0002.A327] # YI SYLLABLE SYP
+A328  ; [.3648.0020.0002.A328] # YI SYLLABLE SYRX
+A329  ; [.3649.0020.0002.A329] # YI SYLLABLE SYR
+A32A  ; [.364A.0020.0002.A32A] # YI SYLLABLE SSIT
+A32B  ; [.364B.0020.0002.A32B] # YI SYLLABLE SSIX
+A32C  ; [.364C.0020.0002.A32C] # YI SYLLABLE SSI
+A32D  ; [.364D.0020.0002.A32D] # YI SYLLABLE SSIP
+A32E  ; [.364E.0020.0002.A32E] # YI SYLLABLE SSIEX
+A32F  ; [.364F.0020.0002.A32F] # YI SYLLABLE SSIE
+A330  ; [.3650.0020.0002.A330] # YI SYLLABLE SSIEP
+A331  ; [.3651.0020.0002.A331] # YI SYLLABLE SSAT
+A332  ; [.3652.0020.0002.A332] # YI SYLLABLE SSAX
+A333  ; [.3653.0020.0002.A333] # YI SYLLABLE SSA
+A334  ; [.3654.0020.0002.A334] # YI SYLLABLE SSAP
+A335  ; [.3655.0020.0002.A335] # YI SYLLABLE SSOT
+A336  ; [.3656.0020.0002.A336] # YI SYLLABLE SSOX
+A337  ; [.3657.0020.0002.A337] # YI SYLLABLE SSO
+A338  ; [.3658.0020.0002.A338] # YI SYLLABLE SSOP
+A339  ; [.3659.0020.0002.A339] # YI SYLLABLE SSEX
+A33A  ; [.365A.0020.0002.A33A] # YI SYLLABLE SSE
+A33B  ; [.365B.0020.0002.A33B] # YI SYLLABLE SSEP
+A33C  ; [.365C.0020.0002.A33C] # YI SYLLABLE SSUT
+A33D  ; [.365D.0020.0002.A33D] # YI SYLLABLE SSUX
+A33E  ; [.365E.0020.0002.A33E] # YI SYLLABLE SSU
+A33F  ; [.365F.0020.0002.A33F] # YI SYLLABLE SSUP
+A340  ; [.3660.0020.0002.A340] # YI SYLLABLE SSYT
+A341  ; [.3661.0020.0002.A341] # YI SYLLABLE SSYX
+A342  ; [.3662.0020.0002.A342] # YI SYLLABLE SSY
+A343  ; [.3663.0020.0002.A343] # YI SYLLABLE SSYP
+A344  ; [.3664.0020.0002.A344] # YI SYLLABLE SSYRX
+A345  ; [.3665.0020.0002.A345] # YI SYLLABLE SSYR
+A346  ; [.3666.0020.0002.A346] # YI SYLLABLE ZHAT
+A347  ; [.3667.0020.0002.A347] # YI SYLLABLE ZHAX
+A348  ; [.3668.0020.0002.A348] # YI SYLLABLE ZHA
+A349  ; [.3669.0020.0002.A349] # YI SYLLABLE ZHAP
+A34A  ; [.366A.0020.0002.A34A] # YI SYLLABLE ZHUOX
+A34B  ; [.366B.0020.0002.A34B] # YI SYLLABLE ZHUO
+A34C  ; [.366C.0020.0002.A34C] # YI SYLLABLE ZHUOP
+A34D  ; [.366D.0020.0002.A34D] # YI SYLLABLE ZHOT
+A34E  ; [.366E.0020.0002.A34E] # YI SYLLABLE ZHOX
+A34F  ; [.366F.0020.0002.A34F] # YI SYLLABLE ZHO
+A350  ; [.3670.0020.0002.A350] # YI SYLLABLE ZHOP
+A351  ; [.3671.0020.0002.A351] # YI SYLLABLE ZHET
+A352  ; [.3672.0020.0002.A352] # YI SYLLABLE ZHEX
+A353  ; [.3673.0020.0002.A353] # YI SYLLABLE ZHE
+A354  ; [.3674.0020.0002.A354] # YI SYLLABLE ZHEP
+A355  ; [.3675.0020.0002.A355] # YI SYLLABLE ZHUT
+A356  ; [.3676.0020.0002.A356] # YI SYLLABLE ZHUX
+A357  ; [.3677.0020.0002.A357] # YI SYLLABLE ZHU
+A358  ; [.3678.0020.0002.A358] # YI SYLLABLE ZHUP
+A359  ; [.3679.0020.0002.A359] # YI SYLLABLE ZHURX
+A35A  ; [.367A.0020.0002.A35A] # YI SYLLABLE ZHUR
+A35B  ; [.367B.0020.0002.A35B] # YI SYLLABLE ZHYT
+A35C  ; [.367C.0020.0002.A35C] # YI SYLLABLE ZHYX
+A35D  ; [.367D.0020.0002.A35D] # YI SYLLABLE ZHY
+A35E  ; [.367E.0020.0002.A35E] # YI SYLLABLE ZHYP
+A35F  ; [.367F.0020.0002.A35F] # YI SYLLABLE ZHYRX
+A360  ; [.3680.0020.0002.A360] # YI SYLLABLE ZHYR
+A361  ; [.3681.0020.0002.A361] # YI SYLLABLE CHAT
+A362  ; [.3682.0020.0002.A362] # YI SYLLABLE CHAX
+A363  ; [.3683.0020.0002.A363] # YI SYLLABLE CHA
+A364  ; [.3684.0020.0002.A364] # YI SYLLABLE CHAP
+A365  ; [.3685.0020.0002.A365] # YI SYLLABLE CHUOT
+A366  ; [.3686.0020.0002.A366] # YI SYLLABLE CHUOX
+A367  ; [.3687.0020.0002.A367] # YI SYLLABLE CHUO
+A368  ; [.3688.0020.0002.A368] # YI SYLLABLE CHUOP
+A369  ; [.3689.0020.0002.A369] # YI SYLLABLE CHOT
+A36A  ; [.368A.0020.0002.A36A] # YI SYLLABLE CHOX
+A36B  ; [.368B.0020.0002.A36B] # YI SYLLABLE CHO
+A36C  ; [.368C.0020.0002.A36C] # YI SYLLABLE CHOP
+A36D  ; [.368D.0020.0002.A36D] # YI SYLLABLE CHET
+A36E  ; [.368E.0020.0002.A36E] # YI SYLLABLE CHEX
+A36F  ; [.368F.0020.0002.A36F] # YI SYLLABLE CHE
+A370  ; [.3690.0020.0002.A370] # YI SYLLABLE CHEP
+A371  ; [.3691.0020.0002.A371] # YI SYLLABLE CHUX
+A372  ; [.3692.0020.0002.A372] # YI SYLLABLE CHU
+A373  ; [.3693.0020.0002.A373] # YI SYLLABLE CHUP
+A374  ; [.3694.0020.0002.A374] # YI SYLLABLE CHURX
+A375  ; [.3695.0020.0002.A375] # YI SYLLABLE CHUR
+A376  ; [.3696.0020.0002.A376] # YI SYLLABLE CHYT
+A377  ; [.3697.0020.0002.A377] # YI SYLLABLE CHYX
+A378  ; [.3698.0020.0002.A378] # YI SYLLABLE CHY
+A379  ; [.3699.0020.0002.A379] # YI SYLLABLE CHYP
+A37A  ; [.369A.0020.0002.A37A] # YI SYLLABLE CHYRX
+A37B  ; [.369B.0020.0002.A37B] # YI SYLLABLE CHYR
+A37C  ; [.369C.0020.0002.A37C] # YI SYLLABLE RRAX
+A37D  ; [.369D.0020.0002.A37D] # YI SYLLABLE RRA
+A37E  ; [.369E.0020.0002.A37E] # YI SYLLABLE RRUOX
+A37F  ; [.369F.0020.0002.A37F] # YI SYLLABLE RRUO
+A380  ; [.36A0.0020.0002.A380] # YI SYLLABLE RROT
+A381  ; [.36A1.0020.0002.A381] # YI SYLLABLE RROX
+A382  ; [.36A2.0020.0002.A382] # YI SYLLABLE RRO
+A383  ; [.36A3.0020.0002.A383] # YI SYLLABLE RROP
+A384  ; [.36A4.0020.0002.A384] # YI SYLLABLE RRET
+A385  ; [.36A5.0020.0002.A385] # YI SYLLABLE RREX
+A386  ; [.36A6.0020.0002.A386] # YI SYLLABLE RRE
+A387  ; [.36A7.0020.0002.A387] # YI SYLLABLE RREP
+A388  ; [.36A8.0020.0002.A388] # YI SYLLABLE RRUT
+A389  ; [.36A9.0020.0002.A389] # YI SYLLABLE RRUX
+A38A  ; [.36AA.0020.0002.A38A] # YI SYLLABLE RRU
+A38B  ; [.36AB.0020.0002.A38B] # YI SYLLABLE RRUP
+A38C  ; [.36AC.0020.0002.A38C] # YI SYLLABLE RRURX
+A38D  ; [.36AD.0020.0002.A38D] # YI SYLLABLE RRUR
+A38E  ; [.36AE.0020.0002.A38E] # YI SYLLABLE RRYT
+A38F  ; [.36AF.0020.0002.A38F] # YI SYLLABLE RRYX
+A390  ; [.36B0.0020.0002.A390] # YI SYLLABLE RRY
+A391  ; [.36B1.0020.0002.A391] # YI SYLLABLE RRYP
+A392  ; [.36B2.0020.0002.A392] # YI SYLLABLE RRYRX
+A393  ; [.36B3.0020.0002.A393] # YI SYLLABLE RRYR
+A394  ; [.36B4.0020.0002.A394] # YI SYLLABLE NRAT
+A395  ; [.36B5.0020.0002.A395] # YI SYLLABLE NRAX
+A396  ; [.36B6.0020.0002.A396] # YI SYLLABLE NRA
+A397  ; [.36B7.0020.0002.A397] # YI SYLLABLE NRAP
+A398  ; [.36B8.0020.0002.A398] # YI SYLLABLE NROX
+A399  ; [.36B9.0020.0002.A399] # YI SYLLABLE NRO
+A39A  ; [.36BA.0020.0002.A39A] # YI SYLLABLE NROP
+A39B  ; [.36BB.0020.0002.A39B] # YI SYLLABLE NRET
+A39C  ; [.36BC.0020.0002.A39C] # YI SYLLABLE NREX
+A39D  ; [.36BD.0020.0002.A39D] # YI SYLLABLE NRE
+A39E  ; [.36BE.0020.0002.A39E] # YI SYLLABLE NREP
+A39F  ; [.36BF.0020.0002.A39F] # YI SYLLABLE NRUT
+A3A0  ; [.36C0.0020.0002.A3A0] # YI SYLLABLE NRUX
+A3A1  ; [.36C1.0020.0002.A3A1] # YI SYLLABLE NRU
+A3A2  ; [.36C2.0020.0002.A3A2] # YI SYLLABLE NRUP
+A3A3  ; [.36C3.0020.0002.A3A3] # YI SYLLABLE NRURX
+A3A4  ; [.36C4.0020.0002.A3A4] # YI SYLLABLE NRUR
+A3A5  ; [.36C5.0020.0002.A3A5] # YI SYLLABLE NRYT
+A3A6  ; [.36C6.0020.0002.A3A6] # YI SYLLABLE NRYX
+A3A7  ; [.36C7.0020.0002.A3A7] # YI SYLLABLE NRY
+A3A8  ; [.36C8.0020.0002.A3A8] # YI SYLLABLE NRYP
+A3A9  ; [.36C9.0020.0002.A3A9] # YI SYLLABLE NRYRX
+A3AA  ; [.36CA.0020.0002.A3AA] # YI SYLLABLE NRYR
+A3AB  ; [.36CB.0020.0002.A3AB] # YI SYLLABLE SHAT
+A3AC  ; [.36CC.0020.0002.A3AC] # YI SYLLABLE SHAX
+A3AD  ; [.36CD.0020.0002.A3AD] # YI SYLLABLE SHA
+A3AE  ; [.36CE.0020.0002.A3AE] # YI SYLLABLE SHAP
+A3AF  ; [.36CF.0020.0002.A3AF] # YI SYLLABLE SHUOX
+A3B0  ; [.36D0.0020.0002.A3B0] # YI SYLLABLE SHUO
+A3B1  ; [.36D1.0020.0002.A3B1] # YI SYLLABLE SHUOP
+A3B2  ; [.36D2.0020.0002.A3B2] # YI SYLLABLE SHOT
+A3B3  ; [.36D3.0020.0002.A3B3] # YI SYLLABLE SHOX
+A3B4  ; [.36D4.0020.0002.A3B4] # YI SYLLABLE SHO
+A3B5  ; [.36D5.0020.0002.A3B5] # YI SYLLABLE SHOP
+A3B6  ; [.36D6.0020.0002.A3B6] # YI SYLLABLE SHET
+A3B7  ; [.36D7.0020.0002.A3B7] # YI SYLLABLE SHEX
+A3B8  ; [.36D8.0020.0002.A3B8] # YI SYLLABLE SHE
+A3B9  ; [.36D9.0020.0002.A3B9] # YI SYLLABLE SHEP
+A3BA  ; [.36DA.0020.0002.A3BA] # YI SYLLABLE SHUT
+A3BB  ; [.36DB.0020.0002.A3BB] # YI SYLLABLE SHUX
+A3BC  ; [.36DC.0020.0002.A3BC] # YI SYLLABLE SHU
+A3BD  ; [.36DD.0020.0002.A3BD] # YI SYLLABLE SHUP
+A3BE  ; [.36DE.0020.0002.A3BE] # YI SYLLABLE SHURX
+A3BF  ; [.36DF.0020.0002.A3BF] # YI SYLLABLE SHUR
+A3C0  ; [.36E0.0020.0002.A3C0] # YI SYLLABLE SHYT
+A3C1  ; [.36E1.0020.0002.A3C1] # YI SYLLABLE SHYX
+A3C2  ; [.36E2.0020.0002.A3C2] # YI SYLLABLE SHY
+A3C3  ; [.36E3.0020.0002.A3C3] # YI SYLLABLE SHYP
+A3C4  ; [.36E4.0020.0002.A3C4] # YI SYLLABLE SHYRX
+A3C5  ; [.36E5.0020.0002.A3C5] # YI SYLLABLE SHYR
+A3C6  ; [.36E6.0020.0002.A3C6] # YI SYLLABLE RAT
+A3C7  ; [.36E7.0020.0002.A3C7] # YI SYLLABLE RAX
+A3C8  ; [.36E8.0020.0002.A3C8] # YI SYLLABLE RA
+A3C9  ; [.36E9.0020.0002.A3C9] # YI SYLLABLE RAP
+A3CA  ; [.36EA.0020.0002.A3CA] # YI SYLLABLE RUOX
+A3CB  ; [.36EB.0020.0002.A3CB] # YI SYLLABLE RUO
+A3CC  ; [.36EC.0020.0002.A3CC] # YI SYLLABLE RUOP
+A3CD  ; [.36ED.0020.0002.A3CD] # YI SYLLABLE ROT
+A3CE  ; [.36EE.0020.0002.A3CE] # YI SYLLABLE ROX
+A3CF  ; [.36EF.0020.0002.A3CF] # YI SYLLABLE RO
+A3D0  ; [.36F0.0020.0002.A3D0] # YI SYLLABLE ROP
+A3D1  ; [.36F1.0020.0002.A3D1] # YI SYLLABLE REX
+A3D2  ; [.36F2.0020.0002.A3D2] # YI SYLLABLE RE
+A3D3  ; [.36F3.0020.0002.A3D3] # YI SYLLABLE REP
+A3D4  ; [.36F4.0020.0002.A3D4] # YI SYLLABLE RUT
+A3D5  ; [.36F5.0020.0002.A3D5] # YI SYLLABLE RUX
+A3D6  ; [.36F6.0020.0002.A3D6] # YI SYLLABLE RU
+A3D7  ; [.36F7.0020.0002.A3D7] # YI SYLLABLE RUP
+A3D8  ; [.36F8.0020.0002.A3D8] # YI SYLLABLE RURX
+A3D9  ; [.36F9.0020.0002.A3D9] # YI SYLLABLE RUR
+A3DA  ; [.36FA.0020.0002.A3DA] # YI SYLLABLE RYT
+A3DB  ; [.36FB.0020.0002.A3DB] # YI SYLLABLE RYX
+A3DC  ; [.36FC.0020.0002.A3DC] # YI SYLLABLE RY
+A3DD  ; [.36FD.0020.0002.A3DD] # YI SYLLABLE RYP
+A3DE  ; [.36FE.0020.0002.A3DE] # YI SYLLABLE RYRX
+A3DF  ; [.36FF.0020.0002.A3DF] # YI SYLLABLE RYR
+A3E0  ; [.3700.0020.0002.A3E0] # YI SYLLABLE JIT
+A3E1  ; [.3701.0020.0002.A3E1] # YI SYLLABLE JIX
+A3E2  ; [.3702.0020.0002.A3E2] # YI SYLLABLE JI
+A3E3  ; [.3703.0020.0002.A3E3] # YI SYLLABLE JIP
+A3E4  ; [.3704.0020.0002.A3E4] # YI SYLLABLE JIET
+A3E5  ; [.3705.0020.0002.A3E5] # YI SYLLABLE JIEX
+A3E6  ; [.3706.0020.0002.A3E6] # YI SYLLABLE JIE
+A3E7  ; [.3707.0020.0002.A3E7] # YI SYLLABLE JIEP
+A3E8  ; [.3708.0020.0002.A3E8] # YI SYLLABLE JUOT
+A3E9  ; [.3709.0020.0002.A3E9] # YI SYLLABLE JUOX
+A3EA  ; [.370A.0020.0002.A3EA] # YI SYLLABLE JUO
+A3EB  ; [.370B.0020.0002.A3EB] # YI SYLLABLE JUOP
+A3EC  ; [.370C.0020.0002.A3EC] # YI SYLLABLE JOT
+A3ED  ; [.370D.0020.0002.A3ED] # YI SYLLABLE JOX
+A3EE  ; [.370E.0020.0002.A3EE] # YI SYLLABLE JO
+A3EF  ; [.370F.0020.0002.A3EF] # YI SYLLABLE JOP
+A3F0  ; [.3710.0020.0002.A3F0] # YI SYLLABLE JUT
+A3F1  ; [.3711.0020.0002.A3F1] # YI SYLLABLE JUX
+A3F2  ; [.3712.0020.0002.A3F2] # YI SYLLABLE JU
+A3F3  ; [.3713.0020.0002.A3F3] # YI SYLLABLE JUP
+A3F4  ; [.3714.0020.0002.A3F4] # YI SYLLABLE JURX
+A3F5  ; [.3715.0020.0002.A3F5] # YI SYLLABLE JUR
+A3F6  ; [.3716.0020.0002.A3F6] # YI SYLLABLE JYT
+A3F7  ; [.3717.0020.0002.A3F7] # YI SYLLABLE JYX
+A3F8  ; [.3718.0020.0002.A3F8] # YI SYLLABLE JY
+A3F9  ; [.3719.0020.0002.A3F9] # YI SYLLABLE JYP
+A3FA  ; [.371A.0020.0002.A3FA] # YI SYLLABLE JYRX
+A3FB  ; [.371B.0020.0002.A3FB] # YI SYLLABLE JYR
+A3FC  ; [.371C.0020.0002.A3FC] # YI SYLLABLE QIT
+A3FD  ; [.371D.0020.0002.A3FD] # YI SYLLABLE QIX
+A3FE  ; [.371E.0020.0002.A3FE] # YI SYLLABLE QI
+A3FF  ; [.371F.0020.0002.A3FF] # YI SYLLABLE QIP
+A400  ; [.3720.0020.0002.A400] # YI SYLLABLE QIET
+A401  ; [.3721.0020.0002.A401] # YI SYLLABLE QIEX
+A402  ; [.3722.0020.0002.A402] # YI SYLLABLE QIE
+A403  ; [.3723.0020.0002.A403] # YI SYLLABLE QIEP
+A404  ; [.3724.0020.0002.A404] # YI SYLLABLE QUOT
+A405  ; [.3725.0020.0002.A405] # YI SYLLABLE QUOX
+A406  ; [.3726.0020.0002.A406] # YI SYLLABLE QUO
+A407  ; [.3727.0020.0002.A407] # YI SYLLABLE QUOP
+A408  ; [.3728.0020.0002.A408] # YI SYLLABLE QOT
+A409  ; [.3729.0020.0002.A409] # YI SYLLABLE QOX
+A40A  ; [.372A.0020.0002.A40A] # YI SYLLABLE QO
+A40B  ; [.372B.0020.0002.A40B] # YI SYLLABLE QOP
+A40C  ; [.372C.0020.0002.A40C] # YI SYLLABLE QUT
+A40D  ; [.372D.0020.0002.A40D] # YI SYLLABLE QUX
+A40E  ; [.372E.0020.0002.A40E] # YI SYLLABLE QU
+A40F  ; [.372F.0020.0002.A40F] # YI SYLLABLE QUP
+A410  ; [.3730.0020.0002.A410] # YI SYLLABLE QURX
+A411  ; [.3731.0020.0002.A411] # YI SYLLABLE QUR
+A412  ; [.3732.0020.0002.A412] # YI SYLLABLE QYT
+A413  ; [.3733.0020.0002.A413] # YI SYLLABLE QYX
+A414  ; [.3734.0020.0002.A414] # YI SYLLABLE QY
+A415  ; [.3735.0020.0002.A415] # YI SYLLABLE QYP
+A416  ; [.3736.0020.0002.A416] # YI SYLLABLE QYRX
+A417  ; [.3737.0020.0002.A417] # YI SYLLABLE QYR
+A418  ; [.3738.0020.0002.A418] # YI SYLLABLE JJIT
+A419  ; [.3739.0020.0002.A419] # YI SYLLABLE JJIX
+A41A  ; [.373A.0020.0002.A41A] # YI SYLLABLE JJI
+A41B  ; [.373B.0020.0002.A41B] # YI SYLLABLE JJIP
+A41C  ; [.373C.0020.0002.A41C] # YI SYLLABLE JJIET
+A41D  ; [.373D.0020.0002.A41D] # YI SYLLABLE JJIEX
+A41E  ; [.373E.0020.0002.A41E] # YI SYLLABLE JJIE
+A41F  ; [.373F.0020.0002.A41F] # YI SYLLABLE JJIEP
+A420  ; [.3740.0020.0002.A420] # YI SYLLABLE JJUOX
+A421  ; [.3741.0020.0002.A421] # YI SYLLABLE JJUO
+A422  ; [.3742.0020.0002.A422] # YI SYLLABLE JJUOP
+A423  ; [.3743.0020.0002.A423] # YI SYLLABLE JJOT
+A424  ; [.3744.0020.0002.A424] # YI SYLLABLE JJOX
+A425  ; [.3745.0020.0002.A425] # YI SYLLABLE JJO
+A426  ; [.3746.0020.0002.A426] # YI SYLLABLE JJOP
+A427  ; [.3747.0020.0002.A427] # YI SYLLABLE JJUT
+A428  ; [.3748.0020.0002.A428] # YI SYLLABLE JJUX
+A429  ; [.3749.0020.0002.A429] # YI SYLLABLE JJU
+A42A  ; [.374A.0020.0002.A42A] # YI SYLLABLE JJUP
+A42B  ; [.374B.0020.0002.A42B] # YI SYLLABLE JJURX
+A42C  ; [.374C.0020.0002.A42C] # YI SYLLABLE JJUR
+A42D  ; [.374D.0020.0002.A42D] # YI SYLLABLE JJYT
+A42E  ; [.374E.0020.0002.A42E] # YI SYLLABLE JJYX
+A42F  ; [.374F.0020.0002.A42F] # YI SYLLABLE JJY
+A430  ; [.3750.0020.0002.A430] # YI SYLLABLE JJYP
+A431  ; [.3751.0020.0002.A431] # YI SYLLABLE NJIT
+A432  ; [.3752.0020.0002.A432] # YI SYLLABLE NJIX
+A433  ; [.3753.0020.0002.A433] # YI SYLLABLE NJI
+A434  ; [.3754.0020.0002.A434] # YI SYLLABLE NJIP
+A435  ; [.3755.0020.0002.A435] # YI SYLLABLE NJIET
+A436  ; [.3756.0020.0002.A436] # YI SYLLABLE NJIEX
+A437  ; [.3757.0020.0002.A437] # YI SYLLABLE NJIE
+A438  ; [.3758.0020.0002.A438] # YI SYLLABLE NJIEP
+A439  ; [.3759.0020.0002.A439] # YI SYLLABLE NJUOX
+A43A  ; [.375A.0020.0002.A43A] # YI SYLLABLE NJUO
+A43B  ; [.375B.0020.0002.A43B] # YI SYLLABLE NJOT
+A43C  ; [.375C.0020.0002.A43C] # YI SYLLABLE NJOX
+A43D  ; [.375D.0020.0002.A43D] # YI SYLLABLE NJO
+A43E  ; [.375E.0020.0002.A43E] # YI SYLLABLE NJOP
+A43F  ; [.375F.0020.0002.A43F] # YI SYLLABLE NJUX
+A440  ; [.3760.0020.0002.A440] # YI SYLLABLE NJU
+A441  ; [.3761.0020.0002.A441] # YI SYLLABLE NJUP
+A442  ; [.3762.0020.0002.A442] # YI SYLLABLE NJURX
+A443  ; [.3763.0020.0002.A443] # YI SYLLABLE NJUR
+A444  ; [.3764.0020.0002.A444] # YI SYLLABLE NJYT
+A445  ; [.3765.0020.0002.A445] # YI SYLLABLE NJYX
+A446  ; [.3766.0020.0002.A446] # YI SYLLABLE NJY
+A447  ; [.3767.0020.0002.A447] # YI SYLLABLE NJYP
+A448  ; [.3768.0020.0002.A448] # YI SYLLABLE NJYRX
+A449  ; [.3769.0020.0002.A449] # YI SYLLABLE NJYR
+A44A  ; [.376A.0020.0002.A44A] # YI SYLLABLE NYIT
+A44B  ; [.376B.0020.0002.A44B] # YI SYLLABLE NYIX
+A44C  ; [.376C.0020.0002.A44C] # YI SYLLABLE NYI
+A44D  ; [.376D.0020.0002.A44D] # YI SYLLABLE NYIP
+A44E  ; [.376E.0020.0002.A44E] # YI SYLLABLE NYIET
+A44F  ; [.376F.0020.0002.A44F] # YI SYLLABLE NYIEX
+A450  ; [.3770.0020.0002.A450] # YI SYLLABLE NYIE
+A451  ; [.3771.0020.0002.A451] # YI SYLLABLE NYIEP
+A452  ; [.3772.0020.0002.A452] # YI SYLLABLE NYUOX
+A453  ; [.3773.0020.0002.A453] # YI SYLLABLE NYUO
+A454  ; [.3774.0020.0002.A454] # YI SYLLABLE NYUOP
+A455  ; [.3775.0020.0002.A455] # YI SYLLABLE NYOT
+A456  ; [.3776.0020.0002.A456] # YI SYLLABLE NYOX
+A457  ; [.3777.0020.0002.A457] # YI SYLLABLE NYO
+A458  ; [.3778.0020.0002.A458] # YI SYLLABLE NYOP
+A459  ; [.3779.0020.0002.A459] # YI SYLLABLE NYUT
+A45A  ; [.377A.0020.0002.A45A] # YI SYLLABLE NYUX
+A45B  ; [.377B.0020.0002.A45B] # YI SYLLABLE NYU
+A45C  ; [.377C.0020.0002.A45C] # YI SYLLABLE NYUP
+A45D  ; [.377D.0020.0002.A45D] # YI SYLLABLE XIT
+A45E  ; [.377E.0020.0002.A45E] # YI SYLLABLE XIX
+A45F  ; [.377F.0020.0002.A45F] # YI SYLLABLE XI
+A460  ; [.3780.0020.0002.A460] # YI SYLLABLE XIP
+A461  ; [.3781.0020.0002.A461] # YI SYLLABLE XIET
+A462  ; [.3782.0020.0002.A462] # YI SYLLABLE XIEX
+A463  ; [.3783.0020.0002.A463] # YI SYLLABLE XIE
+A464  ; [.3784.0020.0002.A464] # YI SYLLABLE XIEP
+A465  ; [.3785.0020.0002.A465] # YI SYLLABLE XUOX
+A466  ; [.3786.0020.0002.A466] # YI SYLLABLE XUO
+A467  ; [.3787.0020.0002.A467] # YI SYLLABLE XOT
+A468  ; [.3788.0020.0002.A468] # YI SYLLABLE XOX
+A469  ; [.3789.0020.0002.A469] # YI SYLLABLE XO
+A46A  ; [.378A.0020.0002.A46A] # YI SYLLABLE XOP
+A46B  ; [.378B.0020.0002.A46B] # YI SYLLABLE XYT
+A46C  ; [.378C.0020.0002.A46C] # YI SYLLABLE XYX
+A46D  ; [.378D.0020.0002.A46D] # YI SYLLABLE XY
+A46E  ; [.378E.0020.0002.A46E] # YI SYLLABLE XYP
+A46F  ; [.378F.0020.0002.A46F] # YI SYLLABLE XYRX
+A470  ; [.3790.0020.0002.A470] # YI SYLLABLE XYR
+A471  ; [.3791.0020.0002.A471] # YI SYLLABLE YIT
+A472  ; [.3792.0020.0002.A472] # YI SYLLABLE YIX
+A473  ; [.3793.0020.0002.A473] # YI SYLLABLE YI
+A474  ; [.3794.0020.0002.A474] # YI SYLLABLE YIP
+A475  ; [.3795.0020.0002.A475] # YI SYLLABLE YIET
+A476  ; [.3796.0020.0002.A476] # YI SYLLABLE YIEX
+A477  ; [.3797.0020.0002.A477] # YI SYLLABLE YIE
+A478  ; [.3798.0020.0002.A478] # YI SYLLABLE YIEP
+A479  ; [.3799.0020.0002.A479] # YI SYLLABLE YUOT
+A47A  ; [.379A.0020.0002.A47A] # YI SYLLABLE YUOX
+A47B  ; [.379B.0020.0002.A47B] # YI SYLLABLE YUO
+A47C  ; [.379C.0020.0002.A47C] # YI SYLLABLE YUOP
+A47D  ; [.379D.0020.0002.A47D] # YI SYLLABLE YOT
+A47E  ; [.379E.0020.0002.A47E] # YI SYLLABLE YOX
+A47F  ; [.379F.0020.0002.A47F] # YI SYLLABLE YO
+A480  ; [.37A0.0020.0002.A480] # YI SYLLABLE YOP
+A481  ; [.37A1.0020.0002.A481] # YI SYLLABLE YUT
+A482  ; [.37A2.0020.0002.A482] # YI SYLLABLE YUX
+A483  ; [.37A3.0020.0002.A483] # YI SYLLABLE YU
+A484  ; [.37A4.0020.0002.A484] # YI SYLLABLE YUP
+A485  ; [.37A5.0020.0002.A485] # YI SYLLABLE YURX
+A486  ; [.37A6.0020.0002.A486] # YI SYLLABLE YUR
+A487  ; [.37A7.0020.0002.A487] # YI SYLLABLE YYT
+A488  ; [.37A8.0020.0002.A488] # YI SYLLABLE YYX
+A489  ; [.37A9.0020.0002.A489] # YI SYLLABLE YY
+A48A  ; [.37AA.0020.0002.A48A] # YI SYLLABLE YYP
+A48B  ; [.37AB.0020.0002.A48B] # YI SYLLABLE YYRX
+A48C  ; [.37AC.0020.0002.A48C] # YI SYLLABLE YYR
+A4F8  ; [.37AD.0020.0002.A4F8] # LISU LETTER TONE MYA TI
+A4F9  ; [.37AE.0020.0002.A4F9] # LISU LETTER TONE NA PO
+A4FA  ; [.37AF.0020.0002.A4FA] # LISU LETTER TONE MYA CYA
+A4FB  ; [.37B0.0020.0002.A4FB] # LISU LETTER TONE MYA BO
+A4FD  ; [.37B1.0020.0002.A4FD] # LISU LETTER TONE MYA JEU
+A4FC  ; [.37B2.0020.0002.A4FC] # LISU LETTER TONE MYA NA
+A4D0  ; [.37B3.0020.0002.A4D0] # LISU LETTER BA
+A4D1  ; [.37B4.0020.0002.A4D1] # LISU LETTER PA
+A4D2  ; [.37B5.0020.0002.A4D2] # LISU LETTER PHA
+A4D3  ; [.37B6.0020.0002.A4D3] # LISU LETTER DA
+A4D4  ; [.37B7.0020.0002.A4D4] # LISU LETTER TA
+A4D5  ; [.37B8.0020.0002.A4D5] # LISU LETTER THA
+A4D6  ; [.37B9.0020.0002.A4D6] # LISU LETTER GA
+A4D7  ; [.37BA.0020.0002.A4D7] # LISU LETTER KA
+A4D8  ; [.37BB.0020.0002.A4D8] # LISU LETTER KHA
+A4D9  ; [.37BC.0020.0002.A4D9] # LISU LETTER JA
+A4DA  ; [.37BD.0020.0002.A4DA] # LISU LETTER CA
+A4DB  ; [.37BE.0020.0002.A4DB] # LISU LETTER CHA
+A4DC  ; [.37BF.0020.0002.A4DC] # LISU LETTER DZA
+A4DD  ; [.37C0.0020.0002.A4DD] # LISU LETTER TSA
+A4DE  ; [.37C1.0020.0002.A4DE] # LISU LETTER TSHA
+A4DF  ; [.37C2.0020.0002.A4DF] # LISU LETTER MA
+A4E0  ; [.37C3.0020.0002.A4E0] # LISU LETTER NA
+A4E1  ; [.37C4.0020.0002.A4E1] # LISU LETTER LA
+A4E2  ; [.37C5.0020.0002.A4E2] # LISU LETTER SA
+A4E3  ; [.37C6.0020.0002.A4E3] # LISU LETTER ZHA
+A4E4  ; [.37C7.0020.0002.A4E4] # LISU LETTER ZA
+A4E5  ; [.37C8.0020.0002.A4E5] # LISU LETTER NGA
+A4E6  ; [.37C9.0020.0002.A4E6] # LISU LETTER HA
+A4E7  ; [.37CA.0020.0002.A4E7] # LISU LETTER XA
+A4E8  ; [.37CB.0020.0002.A4E8] # LISU LETTER HHA
+A4E9  ; [.37CC.0020.0002.A4E9] # LISU LETTER FA
+A4EB  ; [.37CD.0020.0002.A4EB] # LISU LETTER SHA
+A4ED  ; [.37CE.0020.0002.A4ED] # LISU LETTER GHA
+A4EA  ; [.37CF.0020.0002.A4EA] # LISU LETTER WA
+A4EC  ; [.37D0.0020.0002.A4EC] # LISU LETTER YA
+A4EE  ; [.37D1.0020.0002.A4EE] # LISU LETTER A
+A4EF  ; [.37D2.0020.0002.A4EF] # LISU LETTER AE
+A4F0  ; [.37D3.0020.0002.A4F0] # LISU LETTER E
+A4F1  ; [.37D4.0020.0002.A4F1] # LISU LETTER EU
+A4F2  ; [.37D5.0020.0002.A4F2] # LISU LETTER I
+A4F3  ; [.37D6.0020.0002.A4F3] # LISU LETTER O
+A4F4  ; [.37D7.0020.0002.A4F4] # LISU LETTER U
+A4F5  ; [.37D8.0020.0002.A4F5] # LISU LETTER UE
+A4F6  ; [.37D9.0020.0002.A4F6] # LISU LETTER UH
+A4F7  ; [.37DA.0020.0002.A4F7] # LISU LETTER OE
+16F00 ; [.37DB.0020.0002.16F00] # MIAO LETTER PA
+16F01 ; [.37DC.0020.0002.16F01] # MIAO LETTER BA
+16F02 ; [.37DD.0020.0002.16F02] # MIAO LETTER YI PA
+16F03 ; [.37DE.0020.0002.16F03] # MIAO LETTER PLA
+16F04 ; [.37DF.0020.0002.16F04] # MIAO LETTER MA
+16F06 ; [.37DF.0020.0004.16F06] # MIAO LETTER ARCHAIC MA
+16F05 ; [.37E0.0020.0002.16F05] # MIAO LETTER MHA
+16F07 ; [.37E1.0020.0002.16F07] # MIAO LETTER FA
+16F08 ; [.37E2.0020.0002.16F08] # MIAO LETTER VA
+16F09 ; [.37E3.0020.0002.16F09] # MIAO LETTER VFA
+16F0A ; [.37E4.0020.0002.16F0A] # MIAO LETTER TA
+16F0B ; [.37E5.0020.0002.16F0B] # MIAO LETTER DA
+16F0C ; [.37E6.0020.0002.16F0C] # MIAO LETTER YI TTA
+16F0D ; [.37E7.0020.0002.16F0D] # MIAO LETTER YI TA
+16F0E ; [.37E8.0020.0002.16F0E] # MIAO LETTER TTA
+16F0F ; [.37E9.0020.0002.16F0F] # MIAO LETTER DDA
+16F10 ; [.37EA.0020.0002.16F10] # MIAO LETTER NA
+16F13 ; [.37EA.0020.0004.16F13] # MIAO LETTER ARCHAIC NA
+16F11 ; [.37EB.0020.0002.16F11] # MIAO LETTER NHA
+16F12 ; [.37EC.0020.0002.16F12] # MIAO LETTER YI NNA
+16F14 ; [.37ED.0020.0002.16F14] # MIAO LETTER NNA
+16F15 ; [.37EE.0020.0002.16F15] # MIAO LETTER NNHA
+16F16 ; [.37EF.0020.0002.16F16] # MIAO LETTER LA
+16F17 ; [.37F0.0020.0002.16F17] # MIAO LETTER LYA
+16F18 ; [.37F1.0020.0002.16F18] # MIAO LETTER LHA
+16F19 ; [.37F2.0020.0002.16F19] # MIAO LETTER LHYA
+16F1A ; [.37F3.0020.0002.16F1A] # MIAO LETTER TLHA
+16F1B ; [.37F4.0020.0002.16F1B] # MIAO LETTER DLHA
+16F1C ; [.37F5.0020.0002.16F1C] # MIAO LETTER TLHYA
+16F1D ; [.37F6.0020.0002.16F1D] # MIAO LETTER DLHYA
+16F1E ; [.37F7.0020.0002.16F1E] # MIAO LETTER KA
+16F1F ; [.37F8.0020.0002.16F1F] # MIAO LETTER GA
+16F20 ; [.37F9.0020.0002.16F20] # MIAO LETTER YI KA
+16F21 ; [.37FA.0020.0002.16F21] # MIAO LETTER QA
+16F22 ; [.37FB.0020.0002.16F22] # MIAO LETTER QGA
+16F23 ; [.37FC.0020.0002.16F23] # MIAO LETTER NGA
+16F25 ; [.37FC.0020.0004.16F25] # MIAO LETTER ARCHAIC NGA
+16F24 ; [.37FD.0020.0002.16F24] # MIAO LETTER NGHA
+16F26 ; [.37FE.0020.0002.16F26] # MIAO LETTER HA
+16F27 ; [.37FF.0020.0002.16F27] # MIAO LETTER XA
+16F28 ; [.3800.0020.0002.16F28] # MIAO LETTER GHA
+16F29 ; [.3801.0020.0002.16F29] # MIAO LETTER GHHA
+16F2A ; [.3802.0020.0002.16F2A] # MIAO LETTER TSSA
+16F2B ; [.3803.0020.0002.16F2B] # MIAO LETTER DZZA
+16F2C ; [.3804.0020.0002.16F2C] # MIAO LETTER NYA
+16F2D ; [.3805.0020.0002.16F2D] # MIAO LETTER NYHA
+16F2E ; [.3806.0020.0002.16F2E] # MIAO LETTER TSHA
+16F2F ; [.3807.0020.0002.16F2F] # MIAO LETTER DZHA
+16F30 ; [.3808.0020.0002.16F30] # MIAO LETTER YI TSHA
+16F31 ; [.3809.0020.0002.16F31] # MIAO LETTER YI DZHA
+16F32 ; [.380A.0020.0002.16F32] # MIAO LETTER REFORMED TSHA
+16F33 ; [.380B.0020.0002.16F33] # MIAO LETTER SHA
+16F34 ; [.380C.0020.0002.16F34] # MIAO LETTER SSA
+16F35 ; [.380D.0020.0002.16F35] # MIAO LETTER ZHA
+16F36 ; [.380E.0020.0002.16F36] # MIAO LETTER ZSHA
+16F37 ; [.380F.0020.0002.16F37] # MIAO LETTER TSA
+16F38 ; [.3810.0020.0002.16F38] # MIAO LETTER DZA
+16F39 ; [.3811.0020.0002.16F39] # MIAO LETTER YI TSA
+16F3A ; [.3812.0020.0002.16F3A] # MIAO LETTER SA
+16F3B ; [.3813.0020.0002.16F3B] # MIAO LETTER ZA
+16F3C ; [.3814.0020.0002.16F3C] # MIAO LETTER ZSA
+16F3D ; [.3815.0020.0002.16F3D] # MIAO LETTER ZZA
+16F3F ; [.3815.0020.0004.16F3F] # MIAO LETTER ARCHAIC ZZA
+16F3E ; [.3816.0020.0002.16F3E] # MIAO LETTER ZZSA
+16F40 ; [.3817.0020.0002.16F40] # MIAO LETTER ZZYA
+16F41 ; [.3818.0020.0002.16F41] # MIAO LETTER ZZSYA
+16F42 ; [.3819.0020.0002.16F42] # MIAO LETTER WA
+16F43 ; [.381A.0020.0002.16F43] # MIAO LETTER AH
+16F44 ; [.381B.0020.0002.16F44] # MIAO LETTER HHA
+16F50 ; [.381C.0020.0002.16F50] # MIAO LETTER NASALIZATION
+16F51 ; [.381D.0020.0002.16F51] # MIAO SIGN ASPIRATION
+16F52 ; [.381E.0020.0002.16F52] # MIAO SIGN REFORMED VOICING
+16F53 ; [.381F.0020.0002.16F53] # MIAO SIGN REFORMED ASPIRATION
+16F54 ; [.3820.0020.0002.16F54] # MIAO VOWEL SIGN A
+16F55 ; [.3821.0020.0002.16F55] # MIAO VOWEL SIGN AA
+16F56 ; [.3822.0020.0002.16F56] # MIAO VOWEL SIGN AHH
+16F57 ; [.3823.0020.0002.16F57] # MIAO VOWEL SIGN AN
+16F58 ; [.3824.0020.0002.16F58] # MIAO VOWEL SIGN ANG
+16F59 ; [.3825.0020.0002.16F59] # MIAO VOWEL SIGN O
+16F5A ; [.3826.0020.0002.16F5A] # MIAO VOWEL SIGN OO
+16F5B ; [.3827.0020.0002.16F5B] # MIAO VOWEL SIGN WO
+16F5C ; [.3828.0020.0002.16F5C] # MIAO VOWEL SIGN W
+16F5D ; [.3829.0020.0002.16F5D] # MIAO VOWEL SIGN E
+16F5E ; [.382A.0020.0002.16F5E] # MIAO VOWEL SIGN EN
+16F5F ; [.382B.0020.0002.16F5F] # MIAO VOWEL SIGN ENG
+16F60 ; [.382C.0020.0002.16F60] # MIAO VOWEL SIGN OEY
+16F61 ; [.382D.0020.0002.16F61] # MIAO VOWEL SIGN I
+16F62 ; [.382E.0020.0002.16F62] # MIAO VOWEL SIGN IA
+16F63 ; [.382F.0020.0002.16F63] # MIAO VOWEL SIGN IAN
+16F64 ; [.3830.0020.0002.16F64] # MIAO VOWEL SIGN IANG
+16F65 ; [.3831.0020.0002.16F65] # MIAO VOWEL SIGN IO
+16F66 ; [.3832.0020.0002.16F66] # MIAO VOWEL SIGN IE
+16F67 ; [.3833.0020.0002.16F67] # MIAO VOWEL SIGN II
+16F68 ; [.3834.0020.0002.16F68] # MIAO VOWEL SIGN IU
+16F69 ; [.3835.0020.0002.16F69] # MIAO VOWEL SIGN ING
+16F6A ; [.3836.0020.0002.16F6A] # MIAO VOWEL SIGN U
+16F6B ; [.3837.0020.0002.16F6B] # MIAO VOWEL SIGN UA
+16F6C ; [.3838.0020.0002.16F6C] # MIAO VOWEL SIGN UAN
+16F6D ; [.3839.0020.0002.16F6D] # MIAO VOWEL SIGN UANG
+16F6E ; [.383A.0020.0002.16F6E] # MIAO VOWEL SIGN UU
+16F6F ; [.383B.0020.0002.16F6F] # MIAO VOWEL SIGN UEI
+16F70 ; [.383C.0020.0002.16F70] # MIAO VOWEL SIGN UNG
+16F71 ; [.383D.0020.0002.16F71] # MIAO VOWEL SIGN Y
+16F72 ; [.383E.0020.0002.16F72] # MIAO VOWEL SIGN YI
+16F73 ; [.383F.0020.0002.16F73] # MIAO VOWEL SIGN AE
+16F74 ; [.3840.0020.0002.16F74] # MIAO VOWEL SIGN AEE
+16F75 ; [.3841.0020.0002.16F75] # MIAO VOWEL SIGN ERR
+16F76 ; [.3842.0020.0002.16F76] # MIAO VOWEL SIGN ROUNDED ERR
+16F77 ; [.3843.0020.0002.16F77] # MIAO VOWEL SIGN ER
+16F78 ; [.3844.0020.0002.16F78] # MIAO VOWEL SIGN ROUNDED ER
+16F79 ; [.3845.0020.0002.16F79] # MIAO VOWEL SIGN AI
+16F7A ; [.3846.0020.0002.16F7A] # MIAO VOWEL SIGN EI
+16F7B ; [.3847.0020.0002.16F7B] # MIAO VOWEL SIGN AU
+16F7C ; [.3848.0020.0002.16F7C] # MIAO VOWEL SIGN OU
+16F7D ; [.3849.0020.0002.16F7D] # MIAO VOWEL SIGN N
+16F7E ; [.384A.0020.0002.16F7E] # MIAO VOWEL SIGN NG
+16F8F ; [.384B.0020.0002.16F8F] # MIAO TONE RIGHT
+16F90 ; [.384C.0020.0002.16F90] # MIAO TONE TOP RIGHT
+16F91 ; [.384D.0020.0002.16F91] # MIAO TONE ABOVE
+16F92 ; [.384E.0020.0002.16F92] # MIAO TONE BELOW
+16F93 ; [.384F.0020.0002.16F93] # MIAO LETTER TONE-2
+16F94 ; [.3850.0020.0002.16F94] # MIAO LETTER TONE-3
+16F95 ; [.3851.0020.0002.16F95] # MIAO LETTER TONE-4
+16F96 ; [.3852.0020.0002.16F96] # MIAO LETTER TONE-5
+16F97 ; [.3853.0020.0002.16F97] # MIAO LETTER TONE-6
+16F98 ; [.3854.0020.0002.16F98] # MIAO LETTER TONE-7
+16F99 ; [.3855.0020.0002.16F99] # MIAO LETTER TONE-8
+16F9A ; [.3856.0020.0002.16F9A] # MIAO LETTER REFORMED TONE-1
+16F9B ; [.3857.0020.0002.16F9B] # MIAO LETTER REFORMED TONE-2
+16F9C ; [.3858.0020.0002.16F9C] # MIAO LETTER REFORMED TONE-4
+16F9D ; [.3859.0020.0002.16F9D] # MIAO LETTER REFORMED TONE-5
+16F9E ; [.385A.0020.0002.16F9E] # MIAO LETTER REFORMED TONE-6
+16F9F ; [.385B.0020.0002.16F9F] # MIAO LETTER REFORMED TONE-8
+10280 ; [.385C.0020.0002.10280] # LYCIAN LETTER A
+10281 ; [.385D.0020.0002.10281] # LYCIAN LETTER E
+10282 ; [.385E.0020.0002.10282] # LYCIAN LETTER B
+10283 ; [.385F.0020.0002.10283] # LYCIAN LETTER BH
+10284 ; [.3860.0020.0002.10284] # LYCIAN LETTER G
+10285 ; [.3861.0020.0002.10285] # LYCIAN LETTER D
+10286 ; [.3862.0020.0002.10286] # LYCIAN LETTER I
+10287 ; [.3863.0020.0002.10287] # LYCIAN LETTER W
+10288 ; [.3864.0020.0002.10288] # LYCIAN LETTER Z
+10289 ; [.3865.0020.0002.10289] # LYCIAN LETTER TH
+1028A ; [.3866.0020.0002.1028A] # LYCIAN LETTER J
+1028B ; [.3867.0020.0002.1028B] # LYCIAN LETTER K
+1028C ; [.3868.0020.0002.1028C] # LYCIAN LETTER Q
+1028D ; [.3869.0020.0002.1028D] # LYCIAN LETTER L
+1028E ; [.386A.0020.0002.1028E] # LYCIAN LETTER M
+1028F ; [.386B.0020.0002.1028F] # LYCIAN LETTER N
+10290 ; [.386C.0020.0002.10290] # LYCIAN LETTER MM
+10291 ; [.386D.0020.0002.10291] # LYCIAN LETTER NN
+10292 ; [.386E.0020.0002.10292] # LYCIAN LETTER U
+10293 ; [.386F.0020.0002.10293] # LYCIAN LETTER P
+10294 ; [.3870.0020.0002.10294] # LYCIAN LETTER KK
+10295 ; [.3871.0020.0002.10295] # LYCIAN LETTER R
+10296 ; [.3872.0020.0002.10296] # LYCIAN LETTER S
+10297 ; [.3873.0020.0002.10297] # LYCIAN LETTER T
+10298 ; [.3874.0020.0002.10298] # LYCIAN LETTER TT
+10299 ; [.3875.0020.0002.10299] # LYCIAN LETTER AN
+1029A ; [.3876.0020.0002.1029A] # LYCIAN LETTER EN
+1029B ; [.3877.0020.0002.1029B] # LYCIAN LETTER H
+1029C ; [.3878.0020.0002.1029C] # LYCIAN LETTER X
+102A0 ; [.3879.0020.0002.102A0] # CARIAN LETTER A
+102A1 ; [.387A.0020.0002.102A1] # CARIAN LETTER P2
+102A2 ; [.387B.0020.0002.102A2] # CARIAN LETTER D
+102A3 ; [.387C.0020.0002.102A3] # CARIAN LETTER L
+102A4 ; [.387D.0020.0002.102A4] # CARIAN LETTER UUU
+102A5 ; [.387E.0020.0002.102A5] # CARIAN LETTER R
+102A6 ; [.387F.0020.0002.102A6] # CARIAN LETTER LD
+102A7 ; [.3880.0020.0002.102A7] # CARIAN LETTER A2
+102A8 ; [.3881.0020.0002.102A8] # CARIAN LETTER Q
+102A9 ; [.3882.0020.0002.102A9] # CARIAN LETTER B
+102AA ; [.3883.0020.0002.102AA] # CARIAN LETTER M
+102AB ; [.3884.0020.0002.102AB] # CARIAN LETTER O
+102AC ; [.3885.0020.0002.102AC] # CARIAN LETTER D2
+102AD ; [.3886.0020.0002.102AD] # CARIAN LETTER T
+102AE ; [.3887.0020.0002.102AE] # CARIAN LETTER SH
+102AF ; [.3888.0020.0002.102AF] # CARIAN LETTER SH2
+102B0 ; [.3889.0020.0002.102B0] # CARIAN LETTER S
+102B1 ; [.388A.0020.0002.102B1] # CARIAN LETTER C-18
+102B2 ; [.388B.0020.0002.102B2] # CARIAN LETTER U
+102B3 ; [.388C.0020.0002.102B3] # CARIAN LETTER NN
+102B4 ; [.388D.0020.0002.102B4] # CARIAN LETTER X
+102B5 ; [.388E.0020.0002.102B5] # CARIAN LETTER N
+102B6 ; [.388F.0020.0002.102B6] # CARIAN LETTER TT2
+102B7 ; [.3890.0020.0002.102B7] # CARIAN LETTER P
+102B8 ; [.3891.0020.0002.102B8] # CARIAN LETTER SS
+102B9 ; [.3892.0020.0002.102B9] # CARIAN LETTER I
+102BA ; [.3893.0020.0002.102BA] # CARIAN LETTER E
+102BB ; [.3894.0020.0002.102BB] # CARIAN LETTER UUUU
+102BC ; [.3895.0020.0002.102BC] # CARIAN LETTER K
+102BD ; [.3896.0020.0002.102BD] # CARIAN LETTER K2
+102BE ; [.3897.0020.0002.102BE] # CARIAN LETTER ND
+102BF ; [.3898.0020.0002.102BF] # CARIAN LETTER UU
+102C0 ; [.3899.0020.0002.102C0] # CARIAN LETTER G
+102C1 ; [.389A.0020.0002.102C1] # CARIAN LETTER G2
+102C2 ; [.389B.0020.0002.102C2] # CARIAN LETTER ST
+102C3 ; [.389C.0020.0002.102C3] # CARIAN LETTER ST2
+102C4 ; [.389D.0020.0002.102C4] # CARIAN LETTER NG
+102C5 ; [.389E.0020.0002.102C5] # CARIAN LETTER II
+102C6 ; [.389F.0020.0002.102C6] # CARIAN LETTER C-39
+102C7 ; [.38A0.0020.0002.102C7] # CARIAN LETTER TT
+102C8 ; [.38A1.0020.0002.102C8] # CARIAN LETTER UUU2
+102C9 ; [.38A2.0020.0002.102C9] # CARIAN LETTER RR
+102CA ; [.38A3.0020.0002.102CA] # CARIAN LETTER MB
+102CB ; [.38A4.0020.0002.102CB] # CARIAN LETTER MB2
+102CC ; [.38A5.0020.0002.102CC] # CARIAN LETTER MB3
+102CD ; [.38A6.0020.0002.102CD] # CARIAN LETTER MB4
+102CE ; [.38A7.0020.0002.102CE] # CARIAN LETTER LD2
+102CF ; [.38A8.0020.0002.102CF] # CARIAN LETTER E2
+102D0 ; [.38A9.0020.0002.102D0] # CARIAN LETTER UUU3
+10920 ; [.38AA.0020.0002.10920] # LYDIAN LETTER A
+10921 ; [.38AB.0020.0002.10921] # LYDIAN LETTER B
+10922 ; [.38AC.0020.0002.10922] # LYDIAN LETTER G
+10923 ; [.38AD.0020.0002.10923] # LYDIAN LETTER D
+10924 ; [.38AE.0020.0002.10924] # LYDIAN LETTER E
+10925 ; [.38AF.0020.0002.10925] # LYDIAN LETTER V
+10926 ; [.38B0.0020.0002.10926] # LYDIAN LETTER I
+10927 ; [.38B1.0020.0002.10927] # LYDIAN LETTER Y
+10928 ; [.38B2.0020.0002.10928] # LYDIAN LETTER K
+10929 ; [.38B3.0020.0002.10929] # LYDIAN LETTER L
+1092A ; [.38B4.0020.0002.1092A] # LYDIAN LETTER M
+1092B ; [.38B5.0020.0002.1092B] # LYDIAN LETTER N
+1092C ; [.38B6.0020.0002.1092C] # LYDIAN LETTER O
+1092D ; [.38B7.0020.0002.1092D] # LYDIAN LETTER R
+1092E ; [.38B8.0020.0002.1092E] # LYDIAN LETTER SS
+1092F ; [.38B9.0020.0002.1092F] # LYDIAN LETTER T
+10930 ; [.38BA.0020.0002.10930] # LYDIAN LETTER U
+10931 ; [.38BB.0020.0002.10931] # LYDIAN LETTER F
+10932 ; [.38BC.0020.0002.10932] # LYDIAN LETTER Q
+10933 ; [.38BD.0020.0002.10933] # LYDIAN LETTER S
+10934 ; [.38BE.0020.0002.10934] # LYDIAN LETTER TT
+10935 ; [.38BF.0020.0002.10935] # LYDIAN LETTER AN
+10936 ; [.38C0.0020.0002.10936] # LYDIAN LETTER EN
+10937 ; [.38C1.0020.0002.10937] # LYDIAN LETTER LY
+10938 ; [.38C2.0020.0002.10938] # LYDIAN LETTER NN
+10939 ; [.38C3.0020.0002.10939] # LYDIAN LETTER C
+10300 ; [.38C4.0020.0002.10300] # OLD ITALIC LETTER A
+10301 ; [.38C5.0020.0002.10301] # OLD ITALIC LETTER BE
+10302 ; [.38C6.0020.0002.10302] # OLD ITALIC LETTER KE
+10303 ; [.38C7.0020.0002.10303] # OLD ITALIC LETTER DE
+10304 ; [.38C8.0020.0002.10304] # OLD ITALIC LETTER E
+10305 ; [.38C9.0020.0002.10305] # OLD ITALIC LETTER VE
+10306 ; [.38CA.0020.0002.10306] # OLD ITALIC LETTER ZE
+10307 ; [.38CB.0020.0002.10307] # OLD ITALIC LETTER HE
+10308 ; [.38CC.0020.0002.10308] # OLD ITALIC LETTER THE
+10309 ; [.38CD.0020.0002.10309] # OLD ITALIC LETTER I
+1030A ; [.38CE.0020.0002.1030A] # OLD ITALIC LETTER KA
+1030B ; [.38CF.0020.0002.1030B] # OLD ITALIC LETTER EL
+1030C ; [.38D0.0020.0002.1030C] # OLD ITALIC LETTER EM
+1030D ; [.38D1.0020.0002.1030D] # OLD ITALIC LETTER EN
+1030E ; [.38D2.0020.0002.1030E] # OLD ITALIC LETTER ESH
+1030F ; [.38D3.0020.0002.1030F] # OLD ITALIC LETTER O
+10310 ; [.38D4.0020.0002.10310] # OLD ITALIC LETTER PE
+10311 ; [.38D5.0020.0002.10311] # OLD ITALIC LETTER SHE
+10312 ; [.38D6.0020.0002.10312] # OLD ITALIC LETTER KU
+10313 ; [.38D7.0020.0002.10313] # OLD ITALIC LETTER ER
+10314 ; [.38D8.0020.0002.10314] # OLD ITALIC LETTER ES
+10315 ; [.38D9.0020.0002.10315] # OLD ITALIC LETTER TE
+10316 ; [.38DA.0020.0002.10316] # OLD ITALIC LETTER U
+10317 ; [.38DB.0020.0002.10317] # OLD ITALIC LETTER EKS
+10318 ; [.38DC.0020.0002.10318] # OLD ITALIC LETTER PHE
+10319 ; [.38DD.0020.0002.10319] # OLD ITALIC LETTER KHE
+1031A ; [.38DE.0020.0002.1031A] # OLD ITALIC LETTER EF
+1031B ; [.38DF.0020.0002.1031B] # OLD ITALIC LETTER ERS
+1031C ; [.38E0.0020.0002.1031C] # OLD ITALIC LETTER CHE
+1031D ; [.38E1.0020.0002.1031D] # OLD ITALIC LETTER II
+1031E ; [.38E2.0020.0002.1031E] # OLD ITALIC LETTER UU
+10330 ; [.38E3.0020.0002.10330] # GOTHIC LETTER AHSA
+10331 ; [.38E4.0020.0002.10331] # GOTHIC LETTER BAIRKAN
+10332 ; [.38E5.0020.0002.10332] # GOTHIC LETTER GIBA
+10333 ; [.38E6.0020.0002.10333] # GOTHIC LETTER DAGS
+10334 ; [.38E7.0020.0002.10334] # GOTHIC LETTER AIHVUS
+10335 ; [.38E8.0020.0002.10335] # GOTHIC LETTER QAIRTHRA
+10336 ; [.38E9.0020.0002.10336] # GOTHIC LETTER IUJA
+10337 ; [.38EA.0020.0002.10337] # GOTHIC LETTER HAGL
+10338 ; [.38EB.0020.0002.10338] # GOTHIC LETTER THIUTH
+10339 ; [.38EC.0020.0002.10339] # GOTHIC LETTER EIS
+1033A ; [.38ED.0020.0002.1033A] # GOTHIC LETTER KUSMA
+1033B ; [.38EE.0020.0002.1033B] # GOTHIC LETTER LAGUS
+1033C ; [.38EF.0020.0002.1033C] # GOTHIC LETTER MANNA
+1033D ; [.38F0.0020.0002.1033D] # GOTHIC LETTER NAUTHS
+1033E ; [.38F1.0020.0002.1033E] # GOTHIC LETTER JER
+1033F ; [.38F2.0020.0002.1033F] # GOTHIC LETTER URUS
+10340 ; [.38F3.0020.0002.10340] # GOTHIC LETTER PAIRTHRA
+10341 ; [.38F4.0020.0002.10341] # GOTHIC LETTER NINETY
+10342 ; [.38F5.0020.0002.10342] # GOTHIC LETTER RAIDA
+10343 ; [.38F6.0020.0002.10343] # GOTHIC LETTER SAUIL
+10344 ; [.38F7.0020.0002.10344] # GOTHIC LETTER TEIWS
+10345 ; [.38F8.0020.0002.10345] # GOTHIC LETTER WINJA
+10346 ; [.38F9.0020.0002.10346] # GOTHIC LETTER FAIHU
+10347 ; [.38FA.0020.0002.10347] # GOTHIC LETTER IGGWS
+10348 ; [.38FB.0020.0002.10348] # GOTHIC LETTER HWAIR
+10349 ; [.38FC.0020.0002.10349] # GOTHIC LETTER OTHAL
+1034A ; [.38FD.0020.0002.1034A] # GOTHIC LETTER NINE HUNDRED
+10428 ; [.38FE.0020.0002.10428] # DESERET SMALL LETTER LONG I
+10400 ; [.38FE.0020.0008.10400] # DESERET CAPITAL LETTER LONG I
+10429 ; [.38FF.0020.0002.10429] # DESERET SMALL LETTER LONG E
+10401 ; [.38FF.0020.0008.10401] # DESERET CAPITAL LETTER LONG E
+1042A ; [.3900.0020.0002.1042A] # DESERET SMALL LETTER LONG A
+10402 ; [.3900.0020.0008.10402] # DESERET CAPITAL LETTER LONG A
+1042B ; [.3901.0020.0002.1042B] # DESERET SMALL LETTER LONG AH
+10403 ; [.3901.0020.0008.10403] # DESERET CAPITAL LETTER LONG AH
+1042C ; [.3902.0020.0002.1042C] # DESERET SMALL LETTER LONG O
+10404 ; [.3902.0020.0008.10404] # DESERET CAPITAL LETTER LONG O
+1042D ; [.3903.0020.0002.1042D] # DESERET SMALL LETTER LONG OO
+10405 ; [.3903.0020.0008.10405] # DESERET CAPITAL LETTER LONG OO
+1042E ; [.3904.0020.0002.1042E] # DESERET SMALL LETTER SHORT I
+10406 ; [.3904.0020.0008.10406] # DESERET CAPITAL LETTER SHORT I
+1042F ; [.3905.0020.0002.1042F] # DESERET SMALL LETTER SHORT E
+10407 ; [.3905.0020.0008.10407] # DESERET CAPITAL LETTER SHORT E
+10430 ; [.3906.0020.0002.10430] # DESERET SMALL LETTER SHORT A
+10408 ; [.3906.0020.0008.10408] # DESERET CAPITAL LETTER SHORT A
+10431 ; [.3907.0020.0002.10431] # DESERET SMALL LETTER SHORT AH
+10409 ; [.3907.0020.0008.10409] # DESERET CAPITAL LETTER SHORT AH
+10432 ; [.3908.0020.0002.10432] # DESERET SMALL LETTER SHORT O
+1040A ; [.3908.0020.0008.1040A] # DESERET CAPITAL LETTER SHORT O
+10433 ; [.3909.0020.0002.10433] # DESERET SMALL LETTER SHORT OO
+1040B ; [.3909.0020.0008.1040B] # DESERET CAPITAL LETTER SHORT OO
+10434 ; [.390A.0020.0002.10434] # DESERET SMALL LETTER AY
+1040C ; [.390A.0020.0008.1040C] # DESERET CAPITAL LETTER AY
+10435 ; [.390B.0020.0002.10435] # DESERET SMALL LETTER OW
+1040D ; [.390B.0020.0008.1040D] # DESERET CAPITAL LETTER OW
+10436 ; [.390C.0020.0002.10436] # DESERET SMALL LETTER WU
+1040E ; [.390C.0020.0008.1040E] # DESERET CAPITAL LETTER WU
+10437 ; [.390D.0020.0002.10437] # DESERET SMALL LETTER YEE
+1040F ; [.390D.0020.0008.1040F] # DESERET CAPITAL LETTER YEE
+10438 ; [.390E.0020.0002.10438] # DESERET SMALL LETTER H
+10410 ; [.390E.0020.0008.10410] # DESERET CAPITAL LETTER H
+10439 ; [.390F.0020.0002.10439] # DESERET SMALL LETTER PEE
+10411 ; [.390F.0020.0008.10411] # DESERET CAPITAL LETTER PEE
+1043A ; [.3910.0020.0002.1043A] # DESERET SMALL LETTER BEE
+10412 ; [.3910.0020.0008.10412] # DESERET CAPITAL LETTER BEE
+1043B ; [.3911.0020.0002.1043B] # DESERET SMALL LETTER TEE
+10413 ; [.3911.0020.0008.10413] # DESERET CAPITAL LETTER TEE
+1043C ; [.3912.0020.0002.1043C] # DESERET SMALL LETTER DEE
+10414 ; [.3912.0020.0008.10414] # DESERET CAPITAL LETTER DEE
+1043D ; [.3913.0020.0002.1043D] # DESERET SMALL LETTER CHEE
+10415 ; [.3913.0020.0008.10415] # DESERET CAPITAL LETTER CHEE
+1043E ; [.3914.0020.0002.1043E] # DESERET SMALL LETTER JEE
+10416 ; [.3914.0020.0008.10416] # DESERET CAPITAL LETTER JEE
+1043F ; [.3915.0020.0002.1043F] # DESERET SMALL LETTER KAY
+10417 ; [.3915.0020.0008.10417] # DESERET CAPITAL LETTER KAY
+10440 ; [.3916.0020.0002.10440] # DESERET SMALL LETTER GAY
+10418 ; [.3916.0020.0008.10418] # DESERET CAPITAL LETTER GAY
+10441 ; [.3917.0020.0002.10441] # DESERET SMALL LETTER EF
+10419 ; [.3917.0020.0008.10419] # DESERET CAPITAL LETTER EF
+10442 ; [.3918.0020.0002.10442] # DESERET SMALL LETTER VEE
+1041A ; [.3918.0020.0008.1041A] # DESERET CAPITAL LETTER VEE
+10443 ; [.3919.0020.0002.10443] # DESERET SMALL LETTER ETH
+1041B ; [.3919.0020.0008.1041B] # DESERET CAPITAL LETTER ETH
+10444 ; [.391A.0020.0002.10444] # DESERET SMALL LETTER THEE
+1041C ; [.391A.0020.0008.1041C] # DESERET CAPITAL LETTER THEE
+10445 ; [.391B.0020.0002.10445] # DESERET SMALL LETTER ES
+1041D ; [.391B.0020.0008.1041D] # DESERET CAPITAL LETTER ES
+10446 ; [.391C.0020.0002.10446] # DESERET SMALL LETTER ZEE
+1041E ; [.391C.0020.0008.1041E] # DESERET CAPITAL LETTER ZEE
+10447 ; [.391D.0020.0002.10447] # DESERET SMALL LETTER ESH
+1041F ; [.391D.0020.0008.1041F] # DESERET CAPITAL LETTER ESH
+10448 ; [.391E.0020.0002.10448] # DESERET SMALL LETTER ZHEE
+10420 ; [.391E.0020.0008.10420] # DESERET CAPITAL LETTER ZHEE
+10449 ; [.391F.0020.0002.10449] # DESERET SMALL LETTER ER
+10421 ; [.391F.0020.0008.10421] # DESERET CAPITAL LETTER ER
+1044A ; [.3920.0020.0002.1044A] # DESERET SMALL LETTER EL
+10422 ; [.3920.0020.0008.10422] # DESERET CAPITAL LETTER EL
+1044B ; [.3921.0020.0002.1044B] # DESERET SMALL LETTER EM
+10423 ; [.3921.0020.0008.10423] # DESERET CAPITAL LETTER EM
+1044C ; [.3922.0020.0002.1044C] # DESERET SMALL LETTER EN
+10424 ; [.3922.0020.0008.10424] # DESERET CAPITAL LETTER EN
+1044D ; [.3923.0020.0002.1044D] # DESERET SMALL LETTER ENG
+10425 ; [.3923.0020.0008.10425] # DESERET CAPITAL LETTER ENG
+1044E ; [.3924.0020.0002.1044E] # DESERET SMALL LETTER OI
+10426 ; [.3924.0020.0008.10426] # DESERET CAPITAL LETTER OI
+1044F ; [.3925.0020.0002.1044F] # DESERET SMALL LETTER EW
+10427 ; [.3925.0020.0008.10427] # DESERET CAPITAL LETTER EW
+10450 ; [.3926.0020.0002.10450] # SHAVIAN LETTER PEEP
+10451 ; [.3927.0020.0002.10451] # SHAVIAN LETTER TOT
+10452 ; [.3928.0020.0002.10452] # SHAVIAN LETTER KICK
+10453 ; [.3929.0020.0002.10453] # SHAVIAN LETTER FEE
+10454 ; [.392A.0020.0002.10454] # SHAVIAN LETTER THIGH
+10455 ; [.392B.0020.0002.10455] # SHAVIAN LETTER SO
+10456 ; [.392C.0020.0002.10456] # SHAVIAN LETTER SURE
+10457 ; [.392D.0020.0002.10457] # SHAVIAN LETTER CHURCH
+10458 ; [.392E.0020.0002.10458] # SHAVIAN LETTER YEA
+10459 ; [.392F.0020.0002.10459] # SHAVIAN LETTER HUNG
+1045A ; [.3930.0020.0002.1045A] # SHAVIAN LETTER BIB
+1045B ; [.3931.0020.0002.1045B] # SHAVIAN LETTER DEAD
+1045C ; [.3932.0020.0002.1045C] # SHAVIAN LETTER GAG
+1045D ; [.3933.0020.0002.1045D] # SHAVIAN LETTER VOW
+1045E ; [.3934.0020.0002.1045E] # SHAVIAN LETTER THEY
+1045F ; [.3935.0020.0002.1045F] # SHAVIAN LETTER ZOO
+10460 ; [.3936.0020.0002.10460] # SHAVIAN LETTER MEASURE
+10461 ; [.3937.0020.0002.10461] # SHAVIAN LETTER JUDGE
+10462 ; [.3938.0020.0002.10462] # SHAVIAN LETTER WOE
+10463 ; [.3939.0020.0002.10463] # SHAVIAN LETTER HA-HA
+10464 ; [.393A.0020.0002.10464] # SHAVIAN LETTER LOLL
+10465 ; [.393B.0020.0002.10465] # SHAVIAN LETTER MIME
+10466 ; [.393C.0020.0002.10466] # SHAVIAN LETTER IF
+10467 ; [.393D.0020.0002.10467] # SHAVIAN LETTER EGG
+10468 ; [.393E.0020.0002.10468] # SHAVIAN LETTER ASH
+10469 ; [.393F.0020.0002.10469] # SHAVIAN LETTER ADO
+1046A ; [.3940.0020.0002.1046A] # SHAVIAN LETTER ON
+1046B ; [.3941.0020.0002.1046B] # SHAVIAN LETTER WOOL
+1046C ; [.3942.0020.0002.1046C] # SHAVIAN LETTER OUT
+1046D ; [.3943.0020.0002.1046D] # SHAVIAN LETTER AH
+1046E ; [.3944.0020.0002.1046E] # SHAVIAN LETTER ROAR
+1046F ; [.3945.0020.0002.1046F] # SHAVIAN LETTER NUN
+10470 ; [.3946.0020.0002.10470] # SHAVIAN LETTER EAT
+10471 ; [.3947.0020.0002.10471] # SHAVIAN LETTER AGE
+10472 ; [.3948.0020.0002.10472] # SHAVIAN LETTER ICE
+10473 ; [.3949.0020.0002.10473] # SHAVIAN LETTER UP
+10474 ; [.394A.0020.0002.10474] # SHAVIAN LETTER OAK
+10475 ; [.394B.0020.0002.10475] # SHAVIAN LETTER OOZE
+10476 ; [.394C.0020.0002.10476] # SHAVIAN LETTER OIL
+10477 ; [.394D.0020.0002.10477] # SHAVIAN LETTER AWE
+10478 ; [.394E.0020.0002.10478] # SHAVIAN LETTER ARE
+10479 ; [.394F.0020.0002.10479] # SHAVIAN LETTER OR
+1047A ; [.3950.0020.0002.1047A] # SHAVIAN LETTER AIR
+1047B ; [.3951.0020.0002.1047B] # SHAVIAN LETTER ERR
+1047C ; [.3952.0020.0002.1047C] # SHAVIAN LETTER ARRAY
+1047D ; [.3953.0020.0002.1047D] # SHAVIAN LETTER EAR
+1047E ; [.3954.0020.0002.1047E] # SHAVIAN LETTER IAN
+1047F ; [.3955.0020.0002.1047F] # SHAVIAN LETTER YEW
+10480 ; [.3956.0020.0002.10480] # OSMANYA LETTER ALEF
+10481 ; [.3957.0020.0002.10481] # OSMANYA LETTER BA
+10482 ; [.3958.0020.0002.10482] # OSMANYA LETTER TA
+10483 ; [.3959.0020.0002.10483] # OSMANYA LETTER JA
+10484 ; [.395A.0020.0002.10484] # OSMANYA LETTER XA
+10485 ; [.395B.0020.0002.10485] # OSMANYA LETTER KHA
+10486 ; [.395C.0020.0002.10486] # OSMANYA LETTER DEEL
+10487 ; [.395D.0020.0002.10487] # OSMANYA LETTER RA
+10488 ; [.395E.0020.0002.10488] # OSMANYA LETTER SA
+10489 ; [.395F.0020.0002.10489] # OSMANYA LETTER SHIIN
+1048A ; [.3960.0020.0002.1048A] # OSMANYA LETTER DHA
+1048B ; [.3961.0020.0002.1048B] # OSMANYA LETTER CAYN
+1048C ; [.3962.0020.0002.1048C] # OSMANYA LETTER GA
+1048D ; [.3963.0020.0002.1048D] # OSMANYA LETTER FA
+1048E ; [.3964.0020.0002.1048E] # OSMANYA LETTER QAAF
+1048F ; [.3965.0020.0002.1048F] # OSMANYA LETTER KAAF
+10490 ; [.3966.0020.0002.10490] # OSMANYA LETTER LAAN
+10491 ; [.3967.0020.0002.10491] # OSMANYA LETTER MIIN
+10492 ; [.3968.0020.0002.10492] # OSMANYA LETTER NUUN
+10493 ; [.3969.0020.0002.10493] # OSMANYA LETTER WAW
+10494 ; [.396A.0020.0002.10494] # OSMANYA LETTER HA
+10495 ; [.396B.0020.0002.10495] # OSMANYA LETTER YA
+10496 ; [.396C.0020.0002.10496] # OSMANYA LETTER A
+10497 ; [.396D.0020.0002.10497] # OSMANYA LETTER E
+10498 ; [.396E.0020.0002.10498] # OSMANYA LETTER I
+10499 ; [.396F.0020.0002.10499] # OSMANYA LETTER O
+1049A ; [.3970.0020.0002.1049A] # OSMANYA LETTER U
+1049B ; [.3971.0020.0002.1049B] # OSMANYA LETTER AA
+1049C ; [.3972.0020.0002.1049C] # OSMANYA LETTER EE
+1049D ; [.3973.0020.0002.1049D] # OSMANYA LETTER OO
+110D0 ; [.3974.0020.0002.110D0] # SORA SOMPENG LETTER SAH
+110D1 ; [.3975.0020.0002.110D1] # SORA SOMPENG LETTER TAH
+110D2 ; [.3976.0020.0002.110D2] # SORA SOMPENG LETTER BAH
+110D3 ; [.3977.0020.0002.110D3] # SORA SOMPENG LETTER CAH
+110D4 ; [.3978.0020.0002.110D4] # SORA SOMPENG LETTER DAH
+110D5 ; [.3979.0020.0002.110D5] # SORA SOMPENG LETTER GAH
+110D6 ; [.397A.0020.0002.110D6] # SORA SOMPENG LETTER MAH
+110D7 ; [.397B.0020.0002.110D7] # SORA SOMPENG LETTER NGAH
+110D8 ; [.397C.0020.0002.110D8] # SORA SOMPENG LETTER LAH
+110D9 ; [.397D.0020.0002.110D9] # SORA SOMPENG LETTER NAH
+110DA ; [.397E.0020.0002.110DA] # SORA SOMPENG LETTER VAH
+110DB ; [.397F.0020.0002.110DB] # SORA SOMPENG LETTER PAH
+110DC ; [.3980.0020.0002.110DC] # SORA SOMPENG LETTER YAH
+110DD ; [.3981.0020.0002.110DD] # SORA SOMPENG LETTER RAH
+110DE ; [.3982.0020.0002.110DE] # SORA SOMPENG LETTER HAH
+110DF ; [.3983.0020.0002.110DF] # SORA SOMPENG LETTER KAH
+110E0 ; [.3984.0020.0002.110E0] # SORA SOMPENG LETTER JAH
+110E1 ; [.3985.0020.0002.110E1] # SORA SOMPENG LETTER NYAH
+110E2 ; [.3986.0020.0002.110E2] # SORA SOMPENG LETTER AH
+110E3 ; [.3987.0020.0002.110E3] # SORA SOMPENG LETTER EEH
+110E4 ; [.3988.0020.0002.110E4] # SORA SOMPENG LETTER IH
+110E5 ; [.3989.0020.0002.110E5] # SORA SOMPENG LETTER UH
+110E6 ; [.398A.0020.0002.110E6] # SORA SOMPENG LETTER OH
+110E7 ; [.398B.0020.0002.110E7] # SORA SOMPENG LETTER EH
+110E8 ; [.398C.0020.0002.110E8] # SORA SOMPENG LETTER MAE
+10000 ; [.398D.0020.0002.10000] # LINEAR B SYLLABLE B008 A
+10001 ; [.398E.0020.0002.10001] # LINEAR B SYLLABLE B038 E
+10002 ; [.398F.0020.0002.10002] # LINEAR B SYLLABLE B028 I
+10003 ; [.3990.0020.0002.10003] # LINEAR B SYLLABLE B061 O
+10004 ; [.3991.0020.0002.10004] # LINEAR B SYLLABLE B010 U
+10005 ; [.3992.0020.0002.10005] # LINEAR B SYLLABLE B001 DA
+10006 ; [.3993.0020.0002.10006] # LINEAR B SYLLABLE B045 DE
+10007 ; [.3994.0020.0002.10007] # LINEAR B SYLLABLE B007 DI
+10008 ; [.3995.0020.0002.10008] # LINEAR B SYLLABLE B014 DO
+10009 ; [.3996.0020.0002.10009] # LINEAR B SYLLABLE B051 DU
+1000A ; [.3997.0020.0002.1000A] # LINEAR B SYLLABLE B057 JA
+1000B ; [.3998.0020.0002.1000B] # LINEAR B SYLLABLE B046 JE
+1000D ; [.3999.0020.0002.1000D] # LINEAR B SYLLABLE B036 JO
+1000E ; [.399A.0020.0002.1000E] # LINEAR B SYLLABLE B065 JU
+1000F ; [.399B.0020.0002.1000F] # LINEAR B SYLLABLE B077 KA
+10010 ; [.399C.0020.0002.10010] # LINEAR B SYLLABLE B044 KE
+10011 ; [.399D.0020.0002.10011] # LINEAR B SYLLABLE B067 KI
+10012 ; [.399E.0020.0002.10012] # LINEAR B SYLLABLE B070 KO
+10013 ; [.399F.0020.0002.10013] # LINEAR B SYLLABLE B081 KU
+10014 ; [.39A0.0020.0002.10014] # LINEAR B SYLLABLE B080 MA
+10015 ; [.39A1.0020.0002.10015] # LINEAR B SYLLABLE B013 ME
+10016 ; [.39A2.0020.0002.10016] # LINEAR B SYLLABLE B073 MI
+10017 ; [.39A3.0020.0002.10017] # LINEAR B SYLLABLE B015 MO
+10018 ; [.39A4.0020.0002.10018] # LINEAR B SYLLABLE B023 MU
+10019 ; [.39A5.0020.0002.10019] # LINEAR B SYLLABLE B006 NA
+1001A ; [.39A6.0020.0002.1001A] # LINEAR B SYLLABLE B024 NE
+1001B ; [.39A7.0020.0002.1001B] # LINEAR B SYLLABLE B030 NI
+1001C ; [.39A8.0020.0002.1001C] # LINEAR B SYLLABLE B052 NO
+1001D ; [.39A9.0020.0002.1001D] # LINEAR B SYLLABLE B055 NU
+1001E ; [.39AA.0020.0002.1001E] # LINEAR B SYLLABLE B003 PA
+1001F ; [.39AB.0020.0002.1001F] # LINEAR B SYLLABLE B072 PE
+10020 ; [.39AC.0020.0002.10020] # LINEAR B SYLLABLE B039 PI
+10021 ; [.39AD.0020.0002.10021] # LINEAR B SYLLABLE B011 PO
+10022 ; [.39AE.0020.0002.10022] # LINEAR B SYLLABLE B050 PU
+10023 ; [.39AF.0020.0002.10023] # LINEAR B SYLLABLE B016 QA
+10024 ; [.39B0.0020.0002.10024] # LINEAR B SYLLABLE B078 QE
+10025 ; [.39B1.0020.0002.10025] # LINEAR B SYLLABLE B021 QI
+10026 ; [.39B2.0020.0002.10026] # LINEAR B SYLLABLE B032 QO
+10028 ; [.39B3.0020.0002.10028] # LINEAR B SYLLABLE B060 RA
+10029 ; [.39B4.0020.0002.10029] # LINEAR B SYLLABLE B027 RE
+1002A ; [.39B5.0020.0002.1002A] # LINEAR B SYLLABLE B053 RI
+1002B ; [.39B6.0020.0002.1002B] # LINEAR B SYLLABLE B002 RO
+1002C ; [.39B7.0020.0002.1002C] # LINEAR B SYLLABLE B026 RU
+1002D ; [.39B8.0020.0002.1002D] # LINEAR B SYLLABLE B031 SA
+1002E ; [.39B9.0020.0002.1002E] # LINEAR B SYLLABLE B009 SE
+1002F ; [.39BA.0020.0002.1002F] # LINEAR B SYLLABLE B041 SI
+10030 ; [.39BB.0020.0002.10030] # LINEAR B SYLLABLE B012 SO
+10031 ; [.39BC.0020.0002.10031] # LINEAR B SYLLABLE B058 SU
+10032 ; [.39BD.0020.0002.10032] # LINEAR B SYLLABLE B059 TA
+10033 ; [.39BE.0020.0002.10033] # LINEAR B SYLLABLE B004 TE
+10034 ; [.39BF.0020.0002.10034] # LINEAR B SYLLABLE B037 TI
+10035 ; [.39C0.0020.0002.10035] # LINEAR B SYLLABLE B005 TO
+10036 ; [.39C1.0020.0002.10036] # LINEAR B SYLLABLE B069 TU
+10037 ; [.39C2.0020.0002.10037] # LINEAR B SYLLABLE B054 WA
+10038 ; [.39C3.0020.0002.10038] # LINEAR B SYLLABLE B075 WE
+10039 ; [.39C4.0020.0002.10039] # LINEAR B SYLLABLE B040 WI
+1003A ; [.39C5.0020.0002.1003A] # LINEAR B SYLLABLE B042 WO
+1003C ; [.39C6.0020.0002.1003C] # LINEAR B SYLLABLE B017 ZA
+1003D ; [.39C7.0020.0002.1003D] # LINEAR B SYLLABLE B074 ZE
+1003F ; [.39C8.0020.0002.1003F] # LINEAR B SYLLABLE B020 ZO
+10040 ; [.39C9.0020.0002.10040] # LINEAR B SYLLABLE B025 A2
+10041 ; [.39CA.0020.0002.10041] # LINEAR B SYLLABLE B043 A3
+10042 ; [.39CB.0020.0002.10042] # LINEAR B SYLLABLE B085 AU
+10043 ; [.39CC.0020.0002.10043] # LINEAR B SYLLABLE B071 DWE
+10044 ; [.39CD.0020.0002.10044] # LINEAR B SYLLABLE B090 DWO
+10045 ; [.39CE.0020.0002.10045] # LINEAR B SYLLABLE B048 NWA
+10046 ; [.39CF.0020.0002.10046] # LINEAR B SYLLABLE B029 PU2
+10047 ; [.39D0.0020.0002.10047] # LINEAR B SYLLABLE B062 PTE
+10048 ; [.39D1.0020.0002.10048] # LINEAR B SYLLABLE B076 RA2
+10049 ; [.39D2.0020.0002.10049] # LINEAR B SYLLABLE B033 RA3
+1004A ; [.39D3.0020.0002.1004A] # LINEAR B SYLLABLE B068 RO2
+1004B ; [.39D4.0020.0002.1004B] # LINEAR B SYLLABLE B066 TA2
+1004C ; [.39D5.0020.0002.1004C] # LINEAR B SYLLABLE B087 TWE
+1004D ; [.39D6.0020.0002.1004D] # LINEAR B SYLLABLE B091 TWO
+10050 ; [.39D7.0020.0002.10050] # LINEAR B SYMBOL B018
+10051 ; [.39D8.0020.0002.10051] # LINEAR B SYMBOL B019
+10052 ; [.39D9.0020.0002.10052] # LINEAR B SYMBOL B022
+10053 ; [.39DA.0020.0002.10053] # LINEAR B SYMBOL B034
+10054 ; [.39DB.0020.0002.10054] # LINEAR B SYMBOL B047
+10055 ; [.39DC.0020.0002.10055] # LINEAR B SYMBOL B049
+10056 ; [.39DD.0020.0002.10056] # LINEAR B SYMBOL B056
+10057 ; [.39DE.0020.0002.10057] # LINEAR B SYMBOL B063
+10058 ; [.39DF.0020.0002.10058] # LINEAR B SYMBOL B064
+10059 ; [.39E0.0020.0002.10059] # LINEAR B SYMBOL B079
+1005A ; [.39E1.0020.0002.1005A] # LINEAR B SYMBOL B082
+1005B ; [.39E2.0020.0002.1005B] # LINEAR B SYMBOL B083
+1005C ; [.39E3.0020.0002.1005C] # LINEAR B SYMBOL B086
+1005D ; [.39E4.0020.0002.1005D] # LINEAR B SYMBOL B089
+10080 ; [.39E5.0020.0002.10080] # LINEAR B IDEOGRAM B100 MAN
+10081 ; [.39E6.0020.0002.10081] # LINEAR B IDEOGRAM B102 WOMAN
+10082 ; [.39E7.0020.0002.10082] # LINEAR B IDEOGRAM B104 DEER
+10083 ; [.39E8.0020.0002.10083] # LINEAR B IDEOGRAM B105 EQUID
+10084 ; [.39E9.0020.0002.10084] # LINEAR B IDEOGRAM B105F MARE
+10085 ; [.39EA.0020.0002.10085] # LINEAR B IDEOGRAM B105M STALLION
+10086 ; [.39EB.0020.0002.10086] # LINEAR B IDEOGRAM B106F EWE
+10087 ; [.39EC.0020.0002.10087] # LINEAR B IDEOGRAM B106M RAM
+10088 ; [.39ED.0020.0002.10088] # LINEAR B IDEOGRAM B107F SHE-GOAT
+10089 ; [.39EE.0020.0002.10089] # LINEAR B IDEOGRAM B107M HE-GOAT
+1008A ; [.39EF.0020.0002.1008A] # LINEAR B IDEOGRAM B108F SOW
+1008B ; [.39F0.0020.0002.1008B] # LINEAR B IDEOGRAM B108M BOAR
+1008C ; [.39F1.0020.0002.1008C] # LINEAR B IDEOGRAM B109F COW
+1008D ; [.39F2.0020.0002.1008D] # LINEAR B IDEOGRAM B109M BULL
+1008E ; [.39F3.0020.0002.1008E] # LINEAR B IDEOGRAM B120 WHEAT
+1008F ; [.39F4.0020.0002.1008F] # LINEAR B IDEOGRAM B121 BARLEY
+10090 ; [.39F5.0020.0002.10090] # LINEAR B IDEOGRAM B122 OLIVE
+10091 ; [.39F6.0020.0002.10091] # LINEAR B IDEOGRAM B123 SPICE
+10092 ; [.39F7.0020.0002.10092] # LINEAR B IDEOGRAM B125 CYPERUS
+10093 ; [.39F8.0020.0002.10093] # LINEAR B MONOGRAM B127 KAPO
+10094 ; [.39F9.0020.0002.10094] # LINEAR B MONOGRAM B128 KANAKO
+10095 ; [.39FA.0020.0002.10095] # LINEAR B IDEOGRAM B130 OIL
+10096 ; [.39FB.0020.0002.10096] # LINEAR B IDEOGRAM B131 WINE
+10097 ; [.39FC.0020.0002.10097] # LINEAR B IDEOGRAM B132
+10098 ; [.39FD.0020.0002.10098] # LINEAR B MONOGRAM B133 AREPA
+10099 ; [.39FE.0020.0002.10099] # LINEAR B MONOGRAM B135 MERI
+1009A ; [.39FF.0020.0002.1009A] # LINEAR B IDEOGRAM B140 BRONZE
+1009B ; [.3A00.0020.0002.1009B] # LINEAR B IDEOGRAM B141 GOLD
+1009C ; [.3A01.0020.0002.1009C] # LINEAR B IDEOGRAM B142
+1009D ; [.3A02.0020.0002.1009D] # LINEAR B IDEOGRAM B145 WOOL
+1009E ; [.3A03.0020.0002.1009E] # LINEAR B IDEOGRAM B146
+1009F ; [.3A04.0020.0002.1009F] # LINEAR B IDEOGRAM B150
+100A0 ; [.3A05.0020.0002.100A0] # LINEAR B IDEOGRAM B151 HORN
+100A1 ; [.3A06.0020.0002.100A1] # LINEAR B IDEOGRAM B152
+100A2 ; [.3A07.0020.0002.100A2] # LINEAR B IDEOGRAM B153
+100A3 ; [.3A08.0020.0002.100A3] # LINEAR B IDEOGRAM B154
+100A4 ; [.3A09.0020.0002.100A4] # LINEAR B MONOGRAM B156 TURO2
+100A5 ; [.3A0A.0020.0002.100A5] # LINEAR B IDEOGRAM B157
+100A6 ; [.3A0B.0020.0002.100A6] # LINEAR B IDEOGRAM B158
+100A7 ; [.3A0C.0020.0002.100A7] # LINEAR B IDEOGRAM B159 CLOTH
+100A8 ; [.3A0D.0020.0002.100A8] # LINEAR B IDEOGRAM B160
+100A9 ; [.3A0E.0020.0002.100A9] # LINEAR B IDEOGRAM B161
+100AA ; [.3A0F.0020.0002.100AA] # LINEAR B IDEOGRAM B162 GARMENT
+100AB ; [.3A10.0020.0002.100AB] # LINEAR B IDEOGRAM B163 ARMOUR
+100AC ; [.3A11.0020.0002.100AC] # LINEAR B IDEOGRAM B164
+100AD ; [.3A12.0020.0002.100AD] # LINEAR B IDEOGRAM B165
+100AE ; [.3A13.0020.0002.100AE] # LINEAR B IDEOGRAM B166
+100AF ; [.3A14.0020.0002.100AF] # LINEAR B IDEOGRAM B167
+100B0 ; [.3A15.0020.0002.100B0] # LINEAR B IDEOGRAM B168
+100B1 ; [.3A16.0020.0002.100B1] # LINEAR B IDEOGRAM B169
+100B2 ; [.3A17.0020.0002.100B2] # LINEAR B IDEOGRAM B170
+100B3 ; [.3A18.0020.0002.100B3] # LINEAR B IDEOGRAM B171
+100B4 ; [.3A19.0020.0002.100B4] # LINEAR B IDEOGRAM B172
+100B5 ; [.3A1A.0020.0002.100B5] # LINEAR B IDEOGRAM B173 MONTH
+100B6 ; [.3A1B.0020.0002.100B6] # LINEAR B IDEOGRAM B174
+100B7 ; [.3A1C.0020.0002.100B7] # LINEAR B IDEOGRAM B176 TREE
+100B8 ; [.3A1D.0020.0002.100B8] # LINEAR B IDEOGRAM B177
+100B9 ; [.3A1E.0020.0002.100B9] # LINEAR B IDEOGRAM B178
+100BA ; [.3A1F.0020.0002.100BA] # LINEAR B IDEOGRAM B179
+100BB ; [.3A20.0020.0002.100BB] # LINEAR B IDEOGRAM B180
+100BC ; [.3A21.0020.0002.100BC] # LINEAR B IDEOGRAM B181
+100BD ; [.3A22.0020.0002.100BD] # LINEAR B IDEOGRAM B182
+100BE ; [.3A23.0020.0002.100BE] # LINEAR B IDEOGRAM B183
+100BF ; [.3A24.0020.0002.100BF] # LINEAR B IDEOGRAM B184
+100C0 ; [.3A25.0020.0002.100C0] # LINEAR B IDEOGRAM B185
+100C1 ; [.3A26.0020.0002.100C1] # LINEAR B IDEOGRAM B189
+100C2 ; [.3A27.0020.0002.100C2] # LINEAR B IDEOGRAM B190
+100C3 ; [.3A28.0020.0002.100C3] # LINEAR B IDEOGRAM B191 HELMET
+100C4 ; [.3A29.0020.0002.100C4] # LINEAR B IDEOGRAM B220 FOOTSTOOL
+100C5 ; [.3A2A.0020.0002.100C5] # LINEAR B IDEOGRAM B225 BATHTUB
+100C6 ; [.3A2B.0020.0002.100C6] # LINEAR B IDEOGRAM B230 SPEAR
+100C7 ; [.3A2C.0020.0002.100C7] # LINEAR B IDEOGRAM B231 ARROW
+100C8 ; [.3A2D.0020.0002.100C8] # LINEAR B IDEOGRAM B232
+100C9 ; [.3A2E.0020.0002.100C9] # LINEAR B IDEOGRAM B233 SWORD
+100CA ; [.3A2F.0020.0002.100CA] # LINEAR B IDEOGRAM B234
+100CB ; [.3A30.0020.0002.100CB] # LINEAR B IDEOGRAM B236
+100CC ; [.3A31.0020.0002.100CC] # LINEAR B IDEOGRAM B240 WHEELED CHARIOT
+100CD ; [.3A32.0020.0002.100CD] # LINEAR B IDEOGRAM B241 CHARIOT
+100CE ; [.3A33.0020.0002.100CE] # LINEAR B IDEOGRAM B242 CHARIOT FRAME
+100CF ; [.3A34.0020.0002.100CF] # LINEAR B IDEOGRAM B243 WHEEL
+100D0 ; [.3A35.0020.0002.100D0] # LINEAR B IDEOGRAM B245
+100D1 ; [.3A36.0020.0002.100D1] # LINEAR B IDEOGRAM B246
+100D2 ; [.3A37.0020.0002.100D2] # LINEAR B MONOGRAM B247 DIPTE
+100D3 ; [.3A38.0020.0002.100D3] # LINEAR B IDEOGRAM B248
+100D4 ; [.3A39.0020.0002.100D4] # LINEAR B IDEOGRAM B249
+100D5 ; [.3A3A.0020.0002.100D5] # LINEAR B IDEOGRAM B251
+100D6 ; [.3A3B.0020.0002.100D6] # LINEAR B IDEOGRAM B252
+100D7 ; [.3A3C.0020.0002.100D7] # LINEAR B IDEOGRAM B253
+100D8 ; [.3A3D.0020.0002.100D8] # LINEAR B IDEOGRAM B254 DART
+100D9 ; [.3A3E.0020.0002.100D9] # LINEAR B IDEOGRAM B255
+100DA ; [.3A3F.0020.0002.100DA] # LINEAR B IDEOGRAM B256
+100DB ; [.3A40.0020.0002.100DB] # LINEAR B IDEOGRAM B257
+100DC ; [.3A41.0020.0002.100DC] # LINEAR B IDEOGRAM B258
+100DD ; [.3A42.0020.0002.100DD] # LINEAR B IDEOGRAM B259
+100DE ; [.3A43.0020.0002.100DE] # LINEAR B IDEOGRAM VESSEL B155
+100DF ; [.3A44.0020.0002.100DF] # LINEAR B IDEOGRAM VESSEL B200
+100E0 ; [.3A45.0020.0002.100E0] # LINEAR B IDEOGRAM VESSEL B201
+100E1 ; [.3A46.0020.0002.100E1] # LINEAR B IDEOGRAM VESSEL B202
+100E2 ; [.3A47.0020.0002.100E2] # LINEAR B IDEOGRAM VESSEL B203
+100E3 ; [.3A48.0020.0002.100E3] # LINEAR B IDEOGRAM VESSEL B204
+100E4 ; [.3A49.0020.0002.100E4] # LINEAR B IDEOGRAM VESSEL B205
+100E5 ; [.3A4A.0020.0002.100E5] # LINEAR B IDEOGRAM VESSEL B206
+100E6 ; [.3A4B.0020.0002.100E6] # LINEAR B IDEOGRAM VESSEL B207
+100E7 ; [.3A4C.0020.0002.100E7] # LINEAR B IDEOGRAM VESSEL B208
+100E8 ; [.3A4D.0020.0002.100E8] # LINEAR B IDEOGRAM VESSEL B209
+100E9 ; [.3A4E.0020.0002.100E9] # LINEAR B IDEOGRAM VESSEL B210
+100EA ; [.3A4F.0020.0002.100EA] # LINEAR B IDEOGRAM VESSEL B211
+100EB ; [.3A50.0020.0002.100EB] # LINEAR B IDEOGRAM VESSEL B212
+100EC ; [.3A51.0020.0002.100EC] # LINEAR B IDEOGRAM VESSEL B213
+100ED ; [.3A52.0020.0002.100ED] # LINEAR B IDEOGRAM VESSEL B214
+100EE ; [.3A53.0020.0002.100EE] # LINEAR B IDEOGRAM VESSEL B215
+100EF ; [.3A54.0020.0002.100EF] # LINEAR B IDEOGRAM VESSEL B216
+100F0 ; [.3A55.0020.0002.100F0] # LINEAR B IDEOGRAM VESSEL B217
+100F1 ; [.3A56.0020.0002.100F1] # LINEAR B IDEOGRAM VESSEL B218
+100F2 ; [.3A57.0020.0002.100F2] # LINEAR B IDEOGRAM VESSEL B219
+100F3 ; [.3A58.0020.0002.100F3] # LINEAR B IDEOGRAM VESSEL B221
+100F4 ; [.3A59.0020.0002.100F4] # LINEAR B IDEOGRAM VESSEL B222
+100F5 ; [.3A5A.0020.0002.100F5] # LINEAR B IDEOGRAM VESSEL B226
+100F6 ; [.3A5B.0020.0002.100F6] # LINEAR B IDEOGRAM VESSEL B227
+100F7 ; [.3A5C.0020.0002.100F7] # LINEAR B IDEOGRAM VESSEL B228
+100F8 ; [.3A5D.0020.0002.100F8] # LINEAR B IDEOGRAM VESSEL B229
+100F9 ; [.3A5E.0020.0002.100F9] # LINEAR B IDEOGRAM VESSEL B250
+100FA ; [.3A5F.0020.0002.100FA] # LINEAR B IDEOGRAM VESSEL B305
+10800 ; [.3A60.0020.0002.10800] # CYPRIOT SYLLABLE A
+10801 ; [.3A61.0020.0002.10801] # CYPRIOT SYLLABLE E
+10802 ; [.3A62.0020.0002.10802] # CYPRIOT SYLLABLE I
+10803 ; [.3A63.0020.0002.10803] # CYPRIOT SYLLABLE O
+10804 ; [.3A64.0020.0002.10804] # CYPRIOT SYLLABLE U
+10805 ; [.3A65.0020.0002.10805] # CYPRIOT SYLLABLE JA
+10808 ; [.3A66.0020.0002.10808] # CYPRIOT SYLLABLE JO
+1080A ; [.3A67.0020.0002.1080A] # CYPRIOT SYLLABLE KA
+1080B ; [.3A68.0020.0002.1080B] # CYPRIOT SYLLABLE KE
+1080C ; [.3A69.0020.0002.1080C] # CYPRIOT SYLLABLE KI
+1080D ; [.3A6A.0020.0002.1080D] # CYPRIOT SYLLABLE KO
+1080E ; [.3A6B.0020.0002.1080E] # CYPRIOT SYLLABLE KU
+1080F ; [.3A6C.0020.0002.1080F] # CYPRIOT SYLLABLE LA
+10810 ; [.3A6D.0020.0002.10810] # CYPRIOT SYLLABLE LE
+10811 ; [.3A6E.0020.0002.10811] # CYPRIOT SYLLABLE LI
+10812 ; [.3A6F.0020.0002.10812] # CYPRIOT SYLLABLE LO
+10813 ; [.3A70.0020.0002.10813] # CYPRIOT SYLLABLE LU
+10814 ; [.3A71.0020.0002.10814] # CYPRIOT SYLLABLE MA
+10815 ; [.3A72.0020.0002.10815] # CYPRIOT SYLLABLE ME
+10816 ; [.3A73.0020.0002.10816] # CYPRIOT SYLLABLE MI
+10817 ; [.3A74.0020.0002.10817] # CYPRIOT SYLLABLE MO
+10818 ; [.3A75.0020.0002.10818] # CYPRIOT SYLLABLE MU
+10819 ; [.3A76.0020.0002.10819] # CYPRIOT SYLLABLE NA
+1081A ; [.3A77.0020.0002.1081A] # CYPRIOT SYLLABLE NE
+1081B ; [.3A78.0020.0002.1081B] # CYPRIOT SYLLABLE NI
+1081C ; [.3A79.0020.0002.1081C] # CYPRIOT SYLLABLE NO
+1081D ; [.3A7A.0020.0002.1081D] # CYPRIOT SYLLABLE NU
+1081E ; [.3A7B.0020.0002.1081E] # CYPRIOT SYLLABLE PA
+1081F ; [.3A7C.0020.0002.1081F] # CYPRIOT SYLLABLE PE
+10820 ; [.3A7D.0020.0002.10820] # CYPRIOT SYLLABLE PI
+10821 ; [.3A7E.0020.0002.10821] # CYPRIOT SYLLABLE PO
+10822 ; [.3A7F.0020.0002.10822] # CYPRIOT SYLLABLE PU
+10823 ; [.3A80.0020.0002.10823] # CYPRIOT SYLLABLE RA
+10824 ; [.3A81.0020.0002.10824] # CYPRIOT SYLLABLE RE
+10825 ; [.3A82.0020.0002.10825] # CYPRIOT SYLLABLE RI
+10826 ; [.3A83.0020.0002.10826] # CYPRIOT SYLLABLE RO
+10827 ; [.3A84.0020.0002.10827] # CYPRIOT SYLLABLE RU
+10828 ; [.3A85.0020.0002.10828] # CYPRIOT SYLLABLE SA
+10829 ; [.3A86.0020.0002.10829] # CYPRIOT SYLLABLE SE
+1082A ; [.3A87.0020.0002.1082A] # CYPRIOT SYLLABLE SI
+1082B ; [.3A88.0020.0002.1082B] # CYPRIOT SYLLABLE SO
+1082C ; [.3A89.0020.0002.1082C] # CYPRIOT SYLLABLE SU
+1082D ; [.3A8A.0020.0002.1082D] # CYPRIOT SYLLABLE TA
+1082E ; [.3A8B.0020.0002.1082E] # CYPRIOT SYLLABLE TE
+1082F ; [.3A8C.0020.0002.1082F] # CYPRIOT SYLLABLE TI
+10830 ; [.3A8D.0020.0002.10830] # CYPRIOT SYLLABLE TO
+10831 ; [.3A8E.0020.0002.10831] # CYPRIOT SYLLABLE TU
+10832 ; [.3A8F.0020.0002.10832] # CYPRIOT SYLLABLE WA
+10833 ; [.3A90.0020.0002.10833] # CYPRIOT SYLLABLE WE
+10834 ; [.3A91.0020.0002.10834] # CYPRIOT SYLLABLE WI
+10835 ; [.3A92.0020.0002.10835] # CYPRIOT SYLLABLE WO
+10837 ; [.3A93.0020.0002.10837] # CYPRIOT SYLLABLE XA
+10838 ; [.3A94.0020.0002.10838] # CYPRIOT SYLLABLE XE
+1083C ; [.3A95.0020.0002.1083C] # CYPRIOT SYLLABLE ZA
+1083F ; [.3A96.0020.0002.1083F] # CYPRIOT SYLLABLE ZO
+10A60 ; [.3A97.0020.0002.10A60] # OLD SOUTH ARABIAN LETTER HE
+10A61 ; [.3A98.0020.0002.10A61] # OLD SOUTH ARABIAN LETTER LAMEDH
+10A62 ; [.3A99.0020.0002.10A62] # OLD SOUTH ARABIAN LETTER HETH
+10A63 ; [.3A9A.0020.0002.10A63] # OLD SOUTH ARABIAN LETTER MEM
+10A64 ; [.3A9B.0020.0002.10A64] # OLD SOUTH ARABIAN LETTER QOPH
+10A65 ; [.3A9C.0020.0002.10A65] # OLD SOUTH ARABIAN LETTER WAW
+10A66 ; [.3A9D.0020.0002.10A66] # OLD SOUTH ARABIAN LETTER SHIN
+10A67 ; [.3A9E.0020.0002.10A67] # OLD SOUTH ARABIAN LETTER RESH
+10A68 ; [.3A9F.0020.0002.10A68] # OLD SOUTH ARABIAN LETTER BETH
+10A69 ; [.3AA0.0020.0002.10A69] # OLD SOUTH ARABIAN LETTER TAW
+10A6A ; [.3AA1.0020.0002.10A6A] # OLD SOUTH ARABIAN LETTER SAT
+10A6B ; [.3AA2.0020.0002.10A6B] # OLD SOUTH ARABIAN LETTER KAPH
+10A6C ; [.3AA3.0020.0002.10A6C] # OLD SOUTH ARABIAN LETTER NUN
+10A6D ; [.3AA4.0020.0002.10A6D] # OLD SOUTH ARABIAN LETTER KHETH
+10A6E ; [.3AA5.0020.0002.10A6E] # OLD SOUTH ARABIAN LETTER SADHE
+10A6F ; [.3AA6.0020.0002.10A6F] # OLD SOUTH ARABIAN LETTER SAMEKH
+10A70 ; [.3AA7.0020.0002.10A70] # OLD SOUTH ARABIAN LETTER FE
+10A71 ; [.3AA8.0020.0002.10A71] # OLD SOUTH ARABIAN LETTER ALEF
+10A72 ; [.3AA9.0020.0002.10A72] # OLD SOUTH ARABIAN LETTER AYN
+10A73 ; [.3AAA.0020.0002.10A73] # OLD SOUTH ARABIAN LETTER DHADHE
+10A74 ; [.3AAB.0020.0002.10A74] # OLD SOUTH ARABIAN LETTER GIMEL
+10A75 ; [.3AAC.0020.0002.10A75] # OLD SOUTH ARABIAN LETTER DALETH
+10A76 ; [.3AAD.0020.0002.10A76] # OLD SOUTH ARABIAN LETTER GHAYN
+10A77 ; [.3AAE.0020.0002.10A77] # OLD SOUTH ARABIAN LETTER TETH
+10A78 ; [.3AAF.0020.0002.10A78] # OLD SOUTH ARABIAN LETTER ZAYN
+10A79 ; [.3AB0.0020.0002.10A79] # OLD SOUTH ARABIAN LETTER DHALETH
+10A7A ; [.3AB1.0020.0002.10A7A] # OLD SOUTH ARABIAN LETTER YODH
+10A7B ; [.3AB2.0020.0002.10A7B] # OLD SOUTH ARABIAN LETTER THAW
+10A7C ; [.3AB3.0020.0002.10A7C] # OLD SOUTH ARABIAN LETTER THETH
+10B00 ; [.3AB4.0020.0002.10B00] # AVESTAN LETTER A
+10B01 ; [.3AB5.0020.0002.10B01] # AVESTAN LETTER AA
+10B02 ; [.3AB6.0020.0002.10B02] # AVESTAN LETTER AO
+10B03 ; [.3AB7.0020.0002.10B03] # AVESTAN LETTER AAO
+10B04 ; [.3AB8.0020.0002.10B04] # AVESTAN LETTER AN
+10B05 ; [.3AB9.0020.0002.10B05] # AVESTAN LETTER AAN
+10B06 ; [.3ABA.0020.0002.10B06] # AVESTAN LETTER AE
+10B07 ; [.3ABB.0020.0002.10B07] # AVESTAN LETTER AEE
+10B08 ; [.3ABC.0020.0002.10B08] # AVESTAN LETTER E
+10B09 ; [.3ABD.0020.0002.10B09] # AVESTAN LETTER EE
+10B0A ; [.3ABE.0020.0002.10B0A] # AVESTAN LETTER O
+10B0B ; [.3ABF.0020.0002.10B0B] # AVESTAN LETTER OO
+10B0C ; [.3AC0.0020.0002.10B0C] # AVESTAN LETTER I
+10B0D ; [.3AC1.0020.0002.10B0D] # AVESTAN LETTER II
+10B0E ; [.3AC2.0020.0002.10B0E] # AVESTAN LETTER U
+10B0F ; [.3AC3.0020.0002.10B0F] # AVESTAN LETTER UU
+10B10 ; [.3AC4.0020.0002.10B10] # AVESTAN LETTER KE
+10B11 ; [.3AC5.0020.0002.10B11] # AVESTAN LETTER XE
+10B12 ; [.3AC6.0020.0002.10B12] # AVESTAN LETTER XYE
+10B13 ; [.3AC7.0020.0002.10B13] # AVESTAN LETTER XVE
+10B14 ; [.3AC8.0020.0002.10B14] # AVESTAN LETTER GE
+10B15 ; [.3AC9.0020.0002.10B15] # AVESTAN LETTER GGE
+10B16 ; [.3ACA.0020.0002.10B16] # AVESTAN LETTER GHE
+10B17 ; [.3ACB.0020.0002.10B17] # AVESTAN LETTER CE
+10B18 ; [.3ACC.0020.0002.10B18] # AVESTAN LETTER JE
+10B19 ; [.3ACD.0020.0002.10B19] # AVESTAN LETTER TE
+10B1A ; [.3ACE.0020.0002.10B1A] # AVESTAN LETTER THE
+10B1B ; [.3ACF.0020.0002.10B1B] # AVESTAN LETTER DE
+10B1C ; [.3AD0.0020.0002.10B1C] # AVESTAN LETTER DHE
+10B1D ; [.3AD1.0020.0002.10B1D] # AVESTAN LETTER TTE
+10B1E ; [.3AD2.0020.0002.10B1E] # AVESTAN LETTER PE
+10B1F ; [.3AD3.0020.0002.10B1F] # AVESTAN LETTER FE
+10B20 ; [.3AD4.0020.0002.10B20] # AVESTAN LETTER BE
+10B21 ; [.3AD5.0020.0002.10B21] # AVESTAN LETTER BHE
+10B22 ; [.3AD6.0020.0002.10B22] # AVESTAN LETTER NGE
+10B23 ; [.3AD7.0020.0002.10B23] # AVESTAN LETTER NGYE
+10B24 ; [.3AD8.0020.0002.10B24] # AVESTAN LETTER NGVE
+10B25 ; [.3AD9.0020.0002.10B25] # AVESTAN LETTER NE
+10B26 ; [.3ADA.0020.0002.10B26] # AVESTAN LETTER NYE
+10B27 ; [.3ADB.0020.0002.10B27] # AVESTAN LETTER NNE
+10B28 ; [.3ADC.0020.0002.10B28] # AVESTAN LETTER ME
+10B29 ; [.3ADD.0020.0002.10B29] # AVESTAN LETTER HME
+10B2A ; [.3ADE.0020.0002.10B2A] # AVESTAN LETTER YYE
+10B2B ; [.3ADF.0020.0002.10B2B] # AVESTAN LETTER YE
+10B2C ; [.3AE0.0020.0002.10B2C] # AVESTAN LETTER VE
+10B2D ; [.3AE1.0020.0002.10B2D] # AVESTAN LETTER RE
+10B2E ; [.3AE1.0020.0004.10B2E][.0000.0139.0004.10B2E] # AVESTAN LETTER LE
+10B2F ; [.3AE2.0020.0002.10B2F] # AVESTAN LETTER SE
+10B30 ; [.3AE3.0020.0002.10B30] # AVESTAN LETTER ZE
+10B31 ; [.3AE4.0020.0002.10B31] # AVESTAN LETTER SHE
+10B32 ; [.3AE5.0020.0002.10B32] # AVESTAN LETTER ZHE
+10B33 ; [.3AE6.0020.0002.10B33] # AVESTAN LETTER SHYE
+10B34 ; [.3AE7.0020.0002.10B34] # AVESTAN LETTER SSHE
+10B35 ; [.3AE8.0020.0002.10B35] # AVESTAN LETTER HE
+10840 ; [.3AE9.0020.0002.10840] # IMPERIAL ARAMAIC LETTER ALEPH
+10841 ; [.3AEA.0020.0002.10841] # IMPERIAL ARAMAIC LETTER BETH
+10842 ; [.3AEB.0020.0002.10842] # IMPERIAL ARAMAIC LETTER GIMEL
+10843 ; [.3AEC.0020.0002.10843] # IMPERIAL ARAMAIC LETTER DALETH
+10844 ; [.3AED.0020.0002.10844] # IMPERIAL ARAMAIC LETTER HE
+10845 ; [.3AEE.0020.0002.10845] # IMPERIAL ARAMAIC LETTER WAW
+10846 ; [.3AEF.0020.0002.10846] # IMPERIAL ARAMAIC LETTER ZAYIN
+10847 ; [.3AF0.0020.0002.10847] # IMPERIAL ARAMAIC LETTER HETH
+10848 ; [.3AF1.0020.0002.10848] # IMPERIAL ARAMAIC LETTER TETH
+10849 ; [.3AF2.0020.0002.10849] # IMPERIAL ARAMAIC LETTER YODH
+1084A ; [.3AF3.0020.0002.1084A] # IMPERIAL ARAMAIC LETTER KAPH
+1084B ; [.3AF4.0020.0002.1084B] # IMPERIAL ARAMAIC LETTER LAMEDH
+1084C ; [.3AF5.0020.0002.1084C] # IMPERIAL ARAMAIC LETTER MEM
+1084D ; [.3AF6.0020.0002.1084D] # IMPERIAL ARAMAIC LETTER NUN
+1084E ; [.3AF7.0020.0002.1084E] # IMPERIAL ARAMAIC LETTER SAMEKH
+1084F ; [.3AF8.0020.0002.1084F] # IMPERIAL ARAMAIC LETTER AYIN
+10850 ; [.3AF9.0020.0002.10850] # IMPERIAL ARAMAIC LETTER PE
+10851 ; [.3AFA.0020.0002.10851] # IMPERIAL ARAMAIC LETTER SADHE
+10852 ; [.3AFB.0020.0002.10852] # IMPERIAL ARAMAIC LETTER QOPH
+10853 ; [.3AFC.0020.0002.10853] # IMPERIAL ARAMAIC LETTER RESH
+10854 ; [.3AFD.0020.0002.10854] # IMPERIAL ARAMAIC LETTER SHIN
+10855 ; [.3AFE.0020.0002.10855] # IMPERIAL ARAMAIC LETTER TAW
+10B40 ; [.3AFF.0020.0002.10B40] # INSCRIPTIONAL PARTHIAN LETTER ALEPH
+10B41 ; [.3B00.0020.0002.10B41] # INSCRIPTIONAL PARTHIAN LETTER BETH
+10B42 ; [.3B01.0020.0002.10B42] # INSCRIPTIONAL PARTHIAN LETTER GIMEL
+10B43 ; [.3B02.0020.0002.10B43] # INSCRIPTIONAL PARTHIAN LETTER DALETH
+10B44 ; [.3B03.0020.0002.10B44] # INSCRIPTIONAL PARTHIAN LETTER HE
+10B45 ; [.3B04.0020.0002.10B45] # INSCRIPTIONAL PARTHIAN LETTER WAW
+10B46 ; [.3B05.0020.0002.10B46] # INSCRIPTIONAL PARTHIAN LETTER ZAYIN
+10B47 ; [.3B06.0020.0002.10B47] # INSCRIPTIONAL PARTHIAN LETTER HETH
+10B48 ; [.3B07.0020.0002.10B48] # INSCRIPTIONAL PARTHIAN LETTER TETH
+10B49 ; [.3B08.0020.0002.10B49] # INSCRIPTIONAL PARTHIAN LETTER YODH
+10B4A ; [.3B09.0020.0002.10B4A] # INSCRIPTIONAL PARTHIAN LETTER KAPH
+10B4B ; [.3B0A.0020.0002.10B4B] # INSCRIPTIONAL PARTHIAN LETTER LAMEDH
+10B4C ; [.3B0B.0020.0002.10B4C] # INSCRIPTIONAL PARTHIAN LETTER MEM
+10B4D ; [.3B0C.0020.0002.10B4D] # INSCRIPTIONAL PARTHIAN LETTER NUN
+10B4E ; [.3B0D.0020.0002.10B4E] # INSCRIPTIONAL PARTHIAN LETTER SAMEKH
+10B4F ; [.3B0E.0020.0002.10B4F] # INSCRIPTIONAL PARTHIAN LETTER AYIN
+10B50 ; [.3B0F.0020.0002.10B50] # INSCRIPTIONAL PARTHIAN LETTER PE
+10B51 ; [.3B10.0020.0002.10B51] # INSCRIPTIONAL PARTHIAN LETTER SADHE
+10B52 ; [.3B11.0020.0002.10B52] # INSCRIPTIONAL PARTHIAN LETTER QOPH
+10B53 ; [.3B12.0020.0002.10B53] # INSCRIPTIONAL PARTHIAN LETTER RESH
+10B54 ; [.3B13.0020.0002.10B54] # INSCRIPTIONAL PARTHIAN LETTER SHIN
+10B55 ; [.3B14.0020.0002.10B55] # INSCRIPTIONAL PARTHIAN LETTER TAW
+10B60 ; [.3B15.0020.0002.10B60] # INSCRIPTIONAL PAHLAVI LETTER ALEPH
+10B61 ; [.3B16.0020.0002.10B61] # INSCRIPTIONAL PAHLAVI LETTER BETH
+10B62 ; [.3B17.0020.0002.10B62] # INSCRIPTIONAL PAHLAVI LETTER GIMEL
+10B63 ; [.3B18.0020.0002.10B63] # INSCRIPTIONAL PAHLAVI LETTER DALETH
+10B64 ; [.3B19.0020.0002.10B64] # INSCRIPTIONAL PAHLAVI LETTER HE
+10B65 ; [.3B1A.0020.0002.10B65] # INSCRIPTIONAL PAHLAVI LETTER WAW-AYIN-RESH
+10B66 ; [.3B1B.0020.0002.10B66] # INSCRIPTIONAL PAHLAVI LETTER ZAYIN
+10B67 ; [.3B1C.0020.0002.10B67] # INSCRIPTIONAL PAHLAVI LETTER HETH
+10B68 ; [.3B1D.0020.0002.10B68] # INSCRIPTIONAL PAHLAVI LETTER TETH
+10B69 ; [.3B1E.0020.0002.10B69] # INSCRIPTIONAL PAHLAVI LETTER YODH
+10B6A ; [.3B1F.0020.0002.10B6A] # INSCRIPTIONAL PAHLAVI LETTER KAPH
+10B6B ; [.3B20.0020.0002.10B6B] # INSCRIPTIONAL PAHLAVI LETTER LAMEDH
+10B6C ; [.3B21.0020.0002.10B6C] # INSCRIPTIONAL PAHLAVI LETTER MEM-QOPH
+10B6D ; [.3B22.0020.0002.10B6D] # INSCRIPTIONAL PAHLAVI LETTER NUN
+10B6E ; [.3B23.0020.0002.10B6E] # INSCRIPTIONAL PAHLAVI LETTER SAMEKH
+10B6F ; [.3B24.0020.0002.10B6F] # INSCRIPTIONAL PAHLAVI LETTER PE
+10B70 ; [.3B25.0020.0002.10B70] # INSCRIPTIONAL PAHLAVI LETTER SADHE
+10B71 ; [.3B26.0020.0002.10B71] # INSCRIPTIONAL PAHLAVI LETTER SHIN
+10B72 ; [.3B27.0020.0002.10B72] # INSCRIPTIONAL PAHLAVI LETTER TAW
+10380 ; [.3B28.0020.0002.10380] # UGARITIC LETTER ALPA
+10381 ; [.3B29.0020.0002.10381] # UGARITIC LETTER BETA
+10382 ; [.3B2A.0020.0002.10382] # UGARITIC LETTER GAMLA
+10383 ; [.3B2B.0020.0002.10383] # UGARITIC LETTER KHA
+10384 ; [.3B2C.0020.0002.10384] # UGARITIC LETTER DELTA
+10385 ; [.3B2D.0020.0002.10385] # UGARITIC LETTER HO
+10386 ; [.3B2E.0020.0002.10386] # UGARITIC LETTER WO
+10387 ; [.3B2F.0020.0002.10387] # UGARITIC LETTER ZETA
+10388 ; [.3B30.0020.0002.10388] # UGARITIC LETTER HOTA
+10389 ; [.3B31.0020.0002.10389] # UGARITIC LETTER TET
+1038A ; [.3B32.0020.0002.1038A] # UGARITIC LETTER YOD
+1038B ; [.3B33.0020.0002.1038B] # UGARITIC LETTER KAF
+1038C ; [.3B34.0020.0002.1038C] # UGARITIC LETTER SHIN
+1038D ; [.3B35.0020.0002.1038D] # UGARITIC LETTER LAMDA
+1038E ; [.3B36.0020.0002.1038E] # UGARITIC LETTER MEM
+1038F ; [.3B37.0020.0002.1038F] # UGARITIC LETTER DHAL
+10390 ; [.3B38.0020.0002.10390] # UGARITIC LETTER NUN
+10391 ; [.3B39.0020.0002.10391] # UGARITIC LETTER ZU
+10392 ; [.3B3A.0020.0002.10392] # UGARITIC LETTER SAMKA
+10393 ; [.3B3B.0020.0002.10393] # UGARITIC LETTER AIN
+10394 ; [.3B3C.0020.0002.10394] # UGARITIC LETTER PU
+10395 ; [.3B3D.0020.0002.10395] # UGARITIC LETTER SADE
+10396 ; [.3B3E.0020.0002.10396] # UGARITIC LETTER QOPA
+10397 ; [.3B3F.0020.0002.10397] # UGARITIC LETTER RASHA
+10398 ; [.3B40.0020.0002.10398] # UGARITIC LETTER THANNA
+10399 ; [.3B41.0020.0002.10399] # UGARITIC LETTER GHAIN
+1039A ; [.3B42.0020.0002.1039A] # UGARITIC LETTER TO
+1039B ; [.3B43.0020.0002.1039B] # UGARITIC LETTER I
+1039C ; [.3B44.0020.0002.1039C] # UGARITIC LETTER U
+1039D ; [.3B45.0020.0002.1039D] # UGARITIC LETTER SSU
+103A0 ; [.3B46.0020.0002.103A0] # OLD PERSIAN SIGN A
+103A1 ; [.3B47.0020.0002.103A1] # OLD PERSIAN SIGN I
+103A2 ; [.3B48.0020.0002.103A2] # OLD PERSIAN SIGN U
+103A3 ; [.3B49.0020.0002.103A3] # OLD PERSIAN SIGN KA
+103A4 ; [.3B4A.0020.0002.103A4] # OLD PERSIAN SIGN KU
+103A5 ; [.3B4B.0020.0002.103A5] # OLD PERSIAN SIGN GA
+103A6 ; [.3B4C.0020.0002.103A6] # OLD PERSIAN SIGN GU
+103A7 ; [.3B4D.0020.0002.103A7] # OLD PERSIAN SIGN XA
+103A8 ; [.3B4E.0020.0002.103A8] # OLD PERSIAN SIGN CA
+103A9 ; [.3B4F.0020.0002.103A9] # OLD PERSIAN SIGN JA
+103AA ; [.3B50.0020.0002.103AA] # OLD PERSIAN SIGN JI
+103AB ; [.3B51.0020.0002.103AB] # OLD PERSIAN SIGN TA
+103AC ; [.3B52.0020.0002.103AC] # OLD PERSIAN SIGN TU
+103AD ; [.3B53.0020.0002.103AD] # OLD PERSIAN SIGN DA
+103AE ; [.3B54.0020.0002.103AE] # OLD PERSIAN SIGN DI
+103AF ; [.3B55.0020.0002.103AF] # OLD PERSIAN SIGN DU
+103B0 ; [.3B56.0020.0002.103B0] # OLD PERSIAN SIGN THA
+103B1 ; [.3B57.0020.0002.103B1] # OLD PERSIAN SIGN PA
+103B2 ; [.3B58.0020.0002.103B2] # OLD PERSIAN SIGN BA
+103B3 ; [.3B59.0020.0002.103B3] # OLD PERSIAN SIGN FA
+103B4 ; [.3B5A.0020.0002.103B4] # OLD PERSIAN SIGN NA
+103B5 ; [.3B5B.0020.0002.103B5] # OLD PERSIAN SIGN NU
+103B6 ; [.3B5C.0020.0002.103B6] # OLD PERSIAN SIGN MA
+103B7 ; [.3B5D.0020.0002.103B7] # OLD PERSIAN SIGN MI
+103B8 ; [.3B5E.0020.0002.103B8] # OLD PERSIAN SIGN MU
+103B9 ; [.3B5F.0020.0002.103B9] # OLD PERSIAN SIGN YA
+103BA ; [.3B60.0020.0002.103BA] # OLD PERSIAN SIGN VA
+103BB ; [.3B61.0020.0002.103BB] # OLD PERSIAN SIGN VI
+103BC ; [.3B62.0020.0002.103BC] # OLD PERSIAN SIGN RA
+103BD ; [.3B63.0020.0002.103BD] # OLD PERSIAN SIGN RU
+103BE ; [.3B64.0020.0002.103BE] # OLD PERSIAN SIGN LA
+103BF ; [.3B65.0020.0002.103BF] # OLD PERSIAN SIGN SA
+103C0 ; [.3B66.0020.0002.103C0] # OLD PERSIAN SIGN ZA
+103C1 ; [.3B67.0020.0002.103C1] # OLD PERSIAN SIGN SHA
+103C2 ; [.3B68.0020.0002.103C2] # OLD PERSIAN SIGN SSA
+103C3 ; [.3B69.0020.0002.103C3] # OLD PERSIAN SIGN HA
+103C8 ; [.3B6A.0020.0002.103C8] # OLD PERSIAN SIGN AURAMAZDAA
+103C9 ; [.3B6B.0020.0002.103C9] # OLD PERSIAN SIGN AURAMAZDAA-2
+103CA ; [.3B6C.0020.0002.103CA] # OLD PERSIAN SIGN AURAMAZDAAHA
+103CB ; [.3B6D.0020.0002.103CB] # OLD PERSIAN SIGN XSHAAYATHIYA
+103CC ; [.3B6E.0020.0002.103CC] # OLD PERSIAN SIGN DAHYAAUSH
+103CD ; [.3B6F.0020.0002.103CD] # OLD PERSIAN SIGN DAHYAAUSH-2
+103CE ; [.3B70.0020.0002.103CE] # OLD PERSIAN SIGN BAGA
+103CF ; [.3B71.0020.0002.103CF] # OLD PERSIAN SIGN BUUMISH
+12000 ; [.3B72.0020.0002.12000] # CUNEIFORM SIGN A
+12001 ; [.3B73.0020.0002.12001] # CUNEIFORM SIGN A TIMES A
+12002 ; [.3B74.0020.0002.12002] # CUNEIFORM SIGN A TIMES BAD
+12003 ; [.3B75.0020.0002.12003] # CUNEIFORM SIGN A TIMES GAN2 TENU
+12004 ; [.3B76.0020.0002.12004] # CUNEIFORM SIGN A TIMES HA
+12005 ; [.3B77.0020.0002.12005] # CUNEIFORM SIGN A TIMES IGI
+12006 ; [.3B78.0020.0002.12006] # CUNEIFORM SIGN A TIMES LAGAR GUNU
+12007 ; [.3B79.0020.0002.12007] # CUNEIFORM SIGN A TIMES MUSH
+12008 ; [.3B7A.0020.0002.12008] # CUNEIFORM SIGN A TIMES SAG
+12009 ; [.3B7B.0020.0002.12009] # CUNEIFORM SIGN A2
+1200A ; [.3B7C.0020.0002.1200A] # CUNEIFORM SIGN AB
+1200B ; [.3B7D.0020.0002.1200B] # CUNEIFORM SIGN AB TIMES ASH2
+1200C ; [.3B7E.0020.0002.1200C] # CUNEIFORM SIGN AB TIMES DUN3 GUNU
+1200D ; [.3B7F.0020.0002.1200D] # CUNEIFORM SIGN AB TIMES GAL
+1200E ; [.3B80.0020.0002.1200E] # CUNEIFORM SIGN AB TIMES GAN2 TENU
+1200F ; [.3B81.0020.0002.1200F] # CUNEIFORM SIGN AB TIMES HA
+12010 ; [.3B82.0020.0002.12010] # CUNEIFORM SIGN AB TIMES IGI GUNU
+12011 ; [.3B83.0020.0002.12011] # CUNEIFORM SIGN AB TIMES IMIN
+12012 ; [.3B84.0020.0002.12012] # CUNEIFORM SIGN AB TIMES LAGAB
+12013 ; [.3B85.0020.0002.12013] # CUNEIFORM SIGN AB TIMES SHESH
+12014 ; [.3B86.0020.0002.12014] # CUNEIFORM SIGN AB TIMES U PLUS U PLUS U
+12015 ; [.3B87.0020.0002.12015] # CUNEIFORM SIGN AB GUNU
+12016 ; [.3B88.0020.0002.12016] # CUNEIFORM SIGN AB2
+12017 ; [.3B89.0020.0002.12017] # CUNEIFORM SIGN AB2 TIMES BALAG
+12018 ; [.3B8A.0020.0002.12018] # CUNEIFORM SIGN AB2 TIMES GAN2 TENU
+12019 ; [.3B8B.0020.0002.12019] # CUNEIFORM SIGN AB2 TIMES ME PLUS EN
+1201A ; [.3B8C.0020.0002.1201A] # CUNEIFORM SIGN AB2 TIMES SHA3
+1201B ; [.3B8D.0020.0002.1201B] # CUNEIFORM SIGN AB2 TIMES TAK4
+1201C ; [.3B8E.0020.0002.1201C] # CUNEIFORM SIGN AD
+1201D ; [.3B8F.0020.0002.1201D] # CUNEIFORM SIGN AK
+1201E ; [.3B90.0020.0002.1201E] # CUNEIFORM SIGN AK TIMES ERIN2
+1201F ; [.3B91.0020.0002.1201F] # CUNEIFORM SIGN AK TIMES SHITA PLUS GISH
+12020 ; [.3B92.0020.0002.12020] # CUNEIFORM SIGN AL
+12021 ; [.3B93.0020.0002.12021] # CUNEIFORM SIGN AL TIMES AL
+12022 ; [.3B94.0020.0002.12022] # CUNEIFORM SIGN AL TIMES DIM2
+12023 ; [.3B95.0020.0002.12023] # CUNEIFORM SIGN AL TIMES GISH
+12024 ; [.3B96.0020.0002.12024] # CUNEIFORM SIGN AL TIMES HA
+12025 ; [.3B97.0020.0002.12025] # CUNEIFORM SIGN AL TIMES KAD3
+12026 ; [.3B98.0020.0002.12026] # CUNEIFORM SIGN AL TIMES KI
+12027 ; [.3B99.0020.0002.12027] # CUNEIFORM SIGN AL TIMES SHE
+12028 ; [.3B9A.0020.0002.12028] # CUNEIFORM SIGN AL TIMES USH
+12029 ; [.3B9B.0020.0002.12029] # CUNEIFORM SIGN ALAN
+1202A ; [.3B9C.0020.0002.1202A] # CUNEIFORM SIGN ALEPH
+1202B ; [.3B9D.0020.0002.1202B] # CUNEIFORM SIGN AMAR
+1202C ; [.3B9E.0020.0002.1202C] # CUNEIFORM SIGN AMAR TIMES SHE
+1202D ; [.3B9F.0020.0002.1202D] # CUNEIFORM SIGN AN
+1202E ; [.3BA0.0020.0002.1202E] # CUNEIFORM SIGN AN OVER AN
+1202F ; [.3BA1.0020.0002.1202F] # CUNEIFORM SIGN AN THREE TIMES
+12030 ; [.3BA2.0020.0002.12030] # CUNEIFORM SIGN AN PLUS NAGA OPPOSING AN PLUS NAGA
+12031 ; [.3BA3.0020.0002.12031] # CUNEIFORM SIGN AN PLUS NAGA SQUARED
+12032 ; [.3BA4.0020.0002.12032] # CUNEIFORM SIGN ANSHE
+12033 ; [.3BA5.0020.0002.12033] # CUNEIFORM SIGN APIN
+12034 ; [.3BA6.0020.0002.12034] # CUNEIFORM SIGN ARAD
+12035 ; [.3BA7.0020.0002.12035] # CUNEIFORM SIGN ARAD TIMES KUR
+12036 ; [.3BA8.0020.0002.12036] # CUNEIFORM SIGN ARKAB
+12037 ; [.3BA9.0020.0002.12037] # CUNEIFORM SIGN ASAL2
+12038 ; [.3BAA.0020.0002.12038] # CUNEIFORM SIGN ASH
+12039 ; [.3BAB.0020.0002.12039] # CUNEIFORM SIGN ASH ZIDA TENU
+1203A ; [.3BAC.0020.0002.1203A] # CUNEIFORM SIGN ASH KABA TENU
+1203B ; [.3BAD.0020.0002.1203B] # CUNEIFORM SIGN ASH OVER ASH TUG2 OVER TUG2 TUG2 OVER TUG2 PAP
+1203C ; [.3BAE.0020.0002.1203C] # CUNEIFORM SIGN ASH OVER ASH OVER ASH
+1203D ; [.3BAF.0020.0002.1203D] # CUNEIFORM SIGN ASH OVER ASH OVER ASH CROSSING ASH OVER ASH OVER ASH
+1203E ; [.3BB0.0020.0002.1203E] # CUNEIFORM SIGN ASH2
+1203F ; [.3BB1.0020.0002.1203F] # CUNEIFORM SIGN ASHGAB
+12040 ; [.3BB2.0020.0002.12040] # CUNEIFORM SIGN BA
+12041 ; [.3BB3.0020.0002.12041] # CUNEIFORM SIGN BAD
+12042 ; [.3BB4.0020.0002.12042] # CUNEIFORM SIGN BAG3
+12043 ; [.3BB5.0020.0002.12043] # CUNEIFORM SIGN BAHAR2
+12044 ; [.3BB6.0020.0002.12044] # CUNEIFORM SIGN BAL
+12045 ; [.3BB7.0020.0002.12045] # CUNEIFORM SIGN BAL OVER BAL
+12046 ; [.3BB8.0020.0002.12046] # CUNEIFORM SIGN BALAG
+12047 ; [.3BB9.0020.0002.12047] # CUNEIFORM SIGN BAR
+12048 ; [.3BBA.0020.0002.12048] # CUNEIFORM SIGN BARA2
+12049 ; [.3BBB.0020.0002.12049] # CUNEIFORM SIGN BI
+1204A ; [.3BBC.0020.0002.1204A] # CUNEIFORM SIGN BI TIMES A
+1204B ; [.3BBD.0020.0002.1204B] # CUNEIFORM SIGN BI TIMES GAR
+1204C ; [.3BBE.0020.0002.1204C] # CUNEIFORM SIGN BI TIMES IGI GUNU
+1204D ; [.3BBF.0020.0002.1204D] # CUNEIFORM SIGN BU
+1204E ; [.3BC0.0020.0002.1204E] # CUNEIFORM SIGN BU OVER BU AB
+1204F ; [.3BC1.0020.0002.1204F] # CUNEIFORM SIGN BU OVER BU UN
+12050 ; [.3BC2.0020.0002.12050] # CUNEIFORM SIGN BU CROSSING BU
+12051 ; [.3BC3.0020.0002.12051] # CUNEIFORM SIGN BULUG
+12052 ; [.3BC4.0020.0002.12052] # CUNEIFORM SIGN BULUG OVER BULUG
+12053 ; [.3BC5.0020.0002.12053] # CUNEIFORM SIGN BUR
+12054 ; [.3BC6.0020.0002.12054] # CUNEIFORM SIGN BUR2
+12055 ; [.3BC7.0020.0002.12055] # CUNEIFORM SIGN DA
+12056 ; [.3BC8.0020.0002.12056] # CUNEIFORM SIGN DAG
+12057 ; [.3BC9.0020.0002.12057] # CUNEIFORM SIGN DAG KISIM5 TIMES A PLUS MASH
+12058 ; [.3BCA.0020.0002.12058] # CUNEIFORM SIGN DAG KISIM5 TIMES AMAR
+12059 ; [.3BCB.0020.0002.12059] # CUNEIFORM SIGN DAG KISIM5 TIMES BALAG
+1205A ; [.3BCC.0020.0002.1205A] # CUNEIFORM SIGN DAG KISIM5 TIMES BI
+1205B ; [.3BCD.0020.0002.1205B] # CUNEIFORM SIGN DAG KISIM5 TIMES GA
+1205C ; [.3BCE.0020.0002.1205C] # CUNEIFORM SIGN DAG KISIM5 TIMES GA PLUS MASH
+1205D ; [.3BCF.0020.0002.1205D] # CUNEIFORM SIGN DAG KISIM5 TIMES GI
+1205E ; [.3BD0.0020.0002.1205E] # CUNEIFORM SIGN DAG KISIM5 TIMES GIR2
+1205F ; [.3BD1.0020.0002.1205F] # CUNEIFORM SIGN DAG KISIM5 TIMES GUD
+12060 ; [.3BD2.0020.0002.12060] # CUNEIFORM SIGN DAG KISIM5 TIMES HA
+12061 ; [.3BD3.0020.0002.12061] # CUNEIFORM SIGN DAG KISIM5 TIMES IR
+12062 ; [.3BD4.0020.0002.12062] # CUNEIFORM SIGN DAG KISIM5 TIMES IR PLUS LU
+12063 ; [.3BD5.0020.0002.12063] # CUNEIFORM SIGN DAG KISIM5 TIMES KAK
+12064 ; [.3BD6.0020.0002.12064] # CUNEIFORM SIGN DAG KISIM5 TIMES LA
+12065 ; [.3BD7.0020.0002.12065] # CUNEIFORM SIGN DAG KISIM5 TIMES LU
+12066 ; [.3BD8.0020.0002.12066] # CUNEIFORM SIGN DAG KISIM5 TIMES LU PLUS MASH2
+12067 ; [.3BD9.0020.0002.12067] # CUNEIFORM SIGN DAG KISIM5 TIMES LUM
+12068 ; [.3BDA.0020.0002.12068] # CUNEIFORM SIGN DAG KISIM5 TIMES NE
+12069 ; [.3BDB.0020.0002.12069] # CUNEIFORM SIGN DAG KISIM5 TIMES PAP PLUS PAP
+1206A ; [.3BDC.0020.0002.1206A] # CUNEIFORM SIGN DAG KISIM5 TIMES SI
+1206B ; [.3BDD.0020.0002.1206B] # CUNEIFORM SIGN DAG KISIM5 TIMES TAK4
+1206C ; [.3BDE.0020.0002.1206C] # CUNEIFORM SIGN DAG KISIM5 TIMES U2 PLUS GIR2
+1206D ; [.3BDF.0020.0002.1206D] # CUNEIFORM SIGN DAG KISIM5 TIMES USH
+1206E ; [.3BE0.0020.0002.1206E] # CUNEIFORM SIGN DAM
+1206F ; [.3BE1.0020.0002.1206F] # CUNEIFORM SIGN DAR
+12070 ; [.3BE2.0020.0002.12070] # CUNEIFORM SIGN DARA3
+12071 ; [.3BE3.0020.0002.12071] # CUNEIFORM SIGN DARA4
+12072 ; [.3BE4.0020.0002.12072] # CUNEIFORM SIGN DI
+12073 ; [.3BE5.0020.0002.12073] # CUNEIFORM SIGN DIB
+12074 ; [.3BE6.0020.0002.12074] # CUNEIFORM SIGN DIM
+12075 ; [.3BE7.0020.0002.12075] # CUNEIFORM SIGN DIM TIMES SHE
+12076 ; [.3BE8.0020.0002.12076] # CUNEIFORM SIGN DIM2
+12077 ; [.3BE9.0020.0002.12077] # CUNEIFORM SIGN DIN
+12078 ; [.3BEA.0020.0002.12078] # CUNEIFORM SIGN DIN KASKAL U GUNU DISH
+12079 ; [.3BEB.0020.0002.12079] # CUNEIFORM SIGN DISH
+1207A ; [.3BEC.0020.0002.1207A] # CUNEIFORM SIGN DU
+1207B ; [.3BED.0020.0002.1207B] # CUNEIFORM SIGN DU OVER DU
+1207C ; [.3BEE.0020.0002.1207C] # CUNEIFORM SIGN DU GUNU
+1207D ; [.3BEF.0020.0002.1207D] # CUNEIFORM SIGN DU SHESHIG
+1207E ; [.3BF0.0020.0002.1207E] # CUNEIFORM SIGN DUB
+1207F ; [.3BF1.0020.0002.1207F] # CUNEIFORM SIGN DUB TIMES ESH2
+12080 ; [.3BF2.0020.0002.12080] # CUNEIFORM SIGN DUB2
+12081 ; [.3BF3.0020.0002.12081] # CUNEIFORM SIGN DUG
+12082 ; [.3BF4.0020.0002.12082] # CUNEIFORM SIGN DUGUD
+12083 ; [.3BF5.0020.0002.12083] # CUNEIFORM SIGN DUH
+12084 ; [.3BF6.0020.0002.12084] # CUNEIFORM SIGN DUN
+12085 ; [.3BF7.0020.0002.12085] # CUNEIFORM SIGN DUN3
+12086 ; [.3BF8.0020.0002.12086] # CUNEIFORM SIGN DUN3 GUNU
+12087 ; [.3BF9.0020.0002.12087] # CUNEIFORM SIGN DUN3 GUNU GUNU
+12088 ; [.3BFA.0020.0002.12088] # CUNEIFORM SIGN DUN4
+12089 ; [.3BFB.0020.0002.12089] # CUNEIFORM SIGN DUR2
+1208A ; [.3BFC.0020.0002.1208A] # CUNEIFORM SIGN E
+1208B ; [.3BFD.0020.0002.1208B] # CUNEIFORM SIGN E TIMES PAP
+1208C ; [.3BFE.0020.0002.1208C] # CUNEIFORM SIGN E OVER E NUN OVER NUN
+1208D ; [.3BFF.0020.0002.1208D] # CUNEIFORM SIGN E2
+1208E ; [.3C00.0020.0002.1208E] # CUNEIFORM SIGN E2 TIMES A PLUS HA PLUS DA
+1208F ; [.3C01.0020.0002.1208F] # CUNEIFORM SIGN E2 TIMES GAR
+12090 ; [.3C02.0020.0002.12090] # CUNEIFORM SIGN E2 TIMES MI
+12091 ; [.3C03.0020.0002.12091] # CUNEIFORM SIGN E2 TIMES SAL
+12092 ; [.3C04.0020.0002.12092] # CUNEIFORM SIGN E2 TIMES SHE
+12093 ; [.3C05.0020.0002.12093] # CUNEIFORM SIGN E2 TIMES U
+12094 ; [.3C06.0020.0002.12094] # CUNEIFORM SIGN EDIN
+12095 ; [.3C07.0020.0002.12095] # CUNEIFORM SIGN EGIR
+12096 ; [.3C08.0020.0002.12096] # CUNEIFORM SIGN EL
+12097 ; [.3C09.0020.0002.12097] # CUNEIFORM SIGN EN
+12098 ; [.3C0A.0020.0002.12098] # CUNEIFORM SIGN EN TIMES GAN2
+12099 ; [.3C0B.0020.0002.12099] # CUNEIFORM SIGN EN TIMES GAN2 TENU
+1209A ; [.3C0C.0020.0002.1209A] # CUNEIFORM SIGN EN TIMES ME
+1209B ; [.3C0D.0020.0002.1209B] # CUNEIFORM SIGN EN CROSSING EN
+1209C ; [.3C0E.0020.0002.1209C] # CUNEIFORM SIGN EN OPPOSING EN
+1209D ; [.3C0F.0020.0002.1209D] # CUNEIFORM SIGN EN SQUARED
+1209E ; [.3C10.0020.0002.1209E] # CUNEIFORM SIGN EREN
+1209F ; [.3C11.0020.0002.1209F] # CUNEIFORM SIGN ERIN2
+120A0 ; [.3C12.0020.0002.120A0] # CUNEIFORM SIGN ESH2
+120A1 ; [.3C13.0020.0002.120A1] # CUNEIFORM SIGN EZEN
+120A2 ; [.3C14.0020.0002.120A2] # CUNEIFORM SIGN EZEN TIMES A
+120A3 ; [.3C15.0020.0002.120A3] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL
+120A4 ; [.3C16.0020.0002.120A4] # CUNEIFORM SIGN EZEN TIMES A PLUS LAL TIMES LAL
+120A5 ; [.3C17.0020.0002.120A5] # CUNEIFORM SIGN EZEN TIMES AN
+120A6 ; [.3C18.0020.0002.120A6] # CUNEIFORM SIGN EZEN TIMES BAD
+120A7 ; [.3C19.0020.0002.120A7] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU
+120A8 ; [.3C1A.0020.0002.120A8] # CUNEIFORM SIGN EZEN TIMES DUN3 GUNU GUNU
+120A9 ; [.3C1B.0020.0002.120A9] # CUNEIFORM SIGN EZEN TIMES HA
+120AA ; [.3C1C.0020.0002.120AA] # CUNEIFORM SIGN EZEN TIMES HA GUNU
+120AB ; [.3C1D.0020.0002.120AB] # CUNEIFORM SIGN EZEN TIMES IGI GUNU
+120AC ; [.3C1E.0020.0002.120AC] # CUNEIFORM SIGN EZEN TIMES KASKAL
+120AD ; [.3C1F.0020.0002.120AD] # CUNEIFORM SIGN EZEN TIMES KASKAL SQUARED
+120AE ; [.3C20.0020.0002.120AE] # CUNEIFORM SIGN EZEN TIMES KU3
+120AF ; [.3C21.0020.0002.120AF] # CUNEIFORM SIGN EZEN TIMES LA
+120B0 ; [.3C22.0020.0002.120B0] # CUNEIFORM SIGN EZEN TIMES LAL TIMES LAL
+120B1 ; [.3C23.0020.0002.120B1] # CUNEIFORM SIGN EZEN TIMES LI
+120B2 ; [.3C24.0020.0002.120B2] # CUNEIFORM SIGN EZEN TIMES LU
+120B3 ; [.3C25.0020.0002.120B3] # CUNEIFORM SIGN EZEN TIMES U2
+120B4 ; [.3C26.0020.0002.120B4] # CUNEIFORM SIGN EZEN TIMES UD
+120B5 ; [.3C27.0020.0002.120B5] # CUNEIFORM SIGN GA
+120B6 ; [.3C28.0020.0002.120B6] # CUNEIFORM SIGN GA GUNU
+120B7 ; [.3C29.0020.0002.120B7] # CUNEIFORM SIGN GA2
+120B8 ; [.3C2A.0020.0002.120B8] # CUNEIFORM SIGN GA2 TIMES A PLUS DA PLUS HA
+120B9 ; [.3C2B.0020.0002.120B9] # CUNEIFORM SIGN GA2 TIMES A PLUS HA
+120BA ; [.3C2C.0020.0002.120BA] # CUNEIFORM SIGN GA2 TIMES A PLUS IGI
+120BB ; [.3C2D.0020.0002.120BB] # CUNEIFORM SIGN GA2 TIMES AB2 TENU PLUS TAB
+120BC ; [.3C2E.0020.0002.120BC] # CUNEIFORM SIGN GA2 TIMES AN
+120BD ; [.3C2F.0020.0002.120BD] # CUNEIFORM SIGN GA2 TIMES ASH
+120BE ; [.3C30.0020.0002.120BE] # CUNEIFORM SIGN GA2 TIMES ASH2 PLUS GAL
+120BF ; [.3C31.0020.0002.120BF] # CUNEIFORM SIGN GA2 TIMES BAD
+120C0 ; [.3C32.0020.0002.120C0] # CUNEIFORM SIGN GA2 TIMES BAR PLUS RA
+120C1 ; [.3C33.0020.0002.120C1] # CUNEIFORM SIGN GA2 TIMES BUR
+120C2 ; [.3C34.0020.0002.120C2] # CUNEIFORM SIGN GA2 TIMES BUR PLUS RA
+120C3 ; [.3C35.0020.0002.120C3] # CUNEIFORM SIGN GA2 TIMES DA
+120C4 ; [.3C36.0020.0002.120C4] # CUNEIFORM SIGN GA2 TIMES DI
+120C5 ; [.3C37.0020.0002.120C5] # CUNEIFORM SIGN GA2 TIMES DIM TIMES SHE
+120C6 ; [.3C38.0020.0002.120C6] # CUNEIFORM SIGN GA2 TIMES DUB
+120C7 ; [.3C39.0020.0002.120C7] # CUNEIFORM SIGN GA2 TIMES EL
+120C8 ; [.3C3A.0020.0002.120C8] # CUNEIFORM SIGN GA2 TIMES EL PLUS LA
+120C9 ; [.3C3B.0020.0002.120C9] # CUNEIFORM SIGN GA2 TIMES EN
+120CA ; [.3C3C.0020.0002.120CA] # CUNEIFORM SIGN GA2 TIMES EN TIMES GAN2 TENU
+120CB ; [.3C3D.0020.0002.120CB] # CUNEIFORM SIGN GA2 TIMES GAN2 TENU
+120CC ; [.3C3E.0020.0002.120CC] # CUNEIFORM SIGN GA2 TIMES GAR
+120CD ; [.3C3F.0020.0002.120CD] # CUNEIFORM SIGN GA2 TIMES GI
+120CE ; [.3C40.0020.0002.120CE] # CUNEIFORM SIGN GA2 TIMES GI4
+120CF ; [.3C41.0020.0002.120CF] # CUNEIFORM SIGN GA2 TIMES GI4 PLUS A
+120D0 ; [.3C42.0020.0002.120D0] # CUNEIFORM SIGN GA2 TIMES GIR2 PLUS SU
+120D1 ; [.3C43.0020.0002.120D1] # CUNEIFORM SIGN GA2 TIMES HA PLUS LU PLUS ESH2
+120D2 ; [.3C44.0020.0002.120D2] # CUNEIFORM SIGN GA2 TIMES HAL
+120D3 ; [.3C45.0020.0002.120D3] # CUNEIFORM SIGN GA2 TIMES HAL PLUS LA
+120D4 ; [.3C46.0020.0002.120D4] # CUNEIFORM SIGN GA2 TIMES HI PLUS LI
+120D5 ; [.3C47.0020.0002.120D5] # CUNEIFORM SIGN GA2 TIMES HUB2
+120D6 ; [.3C48.0020.0002.120D6] # CUNEIFORM SIGN GA2 TIMES IGI GUNU
+120D7 ; [.3C49.0020.0002.120D7] # CUNEIFORM SIGN GA2 TIMES ISH PLUS HU PLUS ASH
+120D8 ; [.3C4A.0020.0002.120D8] # CUNEIFORM SIGN GA2 TIMES KAK
+120D9 ; [.3C4B.0020.0002.120D9] # CUNEIFORM SIGN GA2 TIMES KASKAL
+120DA ; [.3C4C.0020.0002.120DA] # CUNEIFORM SIGN GA2 TIMES KID
+120DB ; [.3C4D.0020.0002.120DB] # CUNEIFORM SIGN GA2 TIMES KID PLUS LAL
+120DC ; [.3C4E.0020.0002.120DC] # CUNEIFORM SIGN GA2 TIMES KU3 PLUS AN
+120DD ; [.3C4F.0020.0002.120DD] # CUNEIFORM SIGN GA2 TIMES LA
+120DE ; [.3C50.0020.0002.120DE] # CUNEIFORM SIGN GA2 TIMES ME PLUS EN
+120DF ; [.3C51.0020.0002.120DF] # CUNEIFORM SIGN GA2 TIMES MI
+120E0 ; [.3C52.0020.0002.120E0] # CUNEIFORM SIGN GA2 TIMES NUN
+120E1 ; [.3C53.0020.0002.120E1] # CUNEIFORM SIGN GA2 TIMES NUN OVER NUN
+120E2 ; [.3C54.0020.0002.120E2] # CUNEIFORM SIGN GA2 TIMES PA
+120E3 ; [.3C55.0020.0002.120E3] # CUNEIFORM SIGN GA2 TIMES SAL
+120E4 ; [.3C56.0020.0002.120E4] # CUNEIFORM SIGN GA2 TIMES SAR
+120E5 ; [.3C57.0020.0002.120E5] # CUNEIFORM SIGN GA2 TIMES SHE
+120E6 ; [.3C58.0020.0002.120E6] # CUNEIFORM SIGN GA2 TIMES SHE PLUS TUR
+120E7 ; [.3C59.0020.0002.120E7] # CUNEIFORM SIGN GA2 TIMES SHID
+120E8 ; [.3C5A.0020.0002.120E8] # CUNEIFORM SIGN GA2 TIMES SUM
+120E9 ; [.3C5B.0020.0002.120E9] # CUNEIFORM SIGN GA2 TIMES TAK4
+120EA ; [.3C5C.0020.0002.120EA] # CUNEIFORM SIGN GA2 TIMES U
+120EB ; [.3C5D.0020.0002.120EB] # CUNEIFORM SIGN GA2 TIMES UD
+120EC ; [.3C5E.0020.0002.120EC] # CUNEIFORM SIGN GA2 TIMES UD PLUS DU
+120ED ; [.3C5F.0020.0002.120ED] # CUNEIFORM SIGN GA2 OVER GA2
+120EE ; [.3C60.0020.0002.120EE] # CUNEIFORM SIGN GABA
+120EF ; [.3C61.0020.0002.120EF] # CUNEIFORM SIGN GABA CROSSING GABA
+120F0 ; [.3C62.0020.0002.120F0] # CUNEIFORM SIGN GAD
+120F1 ; [.3C63.0020.0002.120F1] # CUNEIFORM SIGN GAD OVER GAD GAR OVER GAR
+120F2 ; [.3C64.0020.0002.120F2] # CUNEIFORM SIGN GAL
+120F3 ; [.3C65.0020.0002.120F3] # CUNEIFORM SIGN GAL GAD OVER GAD GAR OVER GAR
+120F4 ; [.3C66.0020.0002.120F4] # CUNEIFORM SIGN GALAM
+120F5 ; [.3C67.0020.0002.120F5] # CUNEIFORM SIGN GAM
+120F6 ; [.3C68.0020.0002.120F6] # CUNEIFORM SIGN GAN
+120F7 ; [.3C69.0020.0002.120F7] # CUNEIFORM SIGN GAN2
+120F8 ; [.3C6A.0020.0002.120F8] # CUNEIFORM SIGN GAN2 TENU
+120F9 ; [.3C6B.0020.0002.120F9] # CUNEIFORM SIGN GAN2 OVER GAN2
+120FA ; [.3C6C.0020.0002.120FA] # CUNEIFORM SIGN GAN2 CROSSING GAN2
+120FB ; [.3C6D.0020.0002.120FB] # CUNEIFORM SIGN GAR
+120FC ; [.3C6E.0020.0002.120FC] # CUNEIFORM SIGN GAR3
+120FD ; [.3C6F.0020.0002.120FD] # CUNEIFORM SIGN GASHAN
+120FE ; [.3C70.0020.0002.120FE] # CUNEIFORM SIGN GESHTIN
+120FF ; [.3C71.0020.0002.120FF] # CUNEIFORM SIGN GESHTIN TIMES KUR
+12100 ; [.3C72.0020.0002.12100] # CUNEIFORM SIGN GI
+12101 ; [.3C73.0020.0002.12101] # CUNEIFORM SIGN GI TIMES E
+12102 ; [.3C74.0020.0002.12102] # CUNEIFORM SIGN GI TIMES U
+12103 ; [.3C75.0020.0002.12103] # CUNEIFORM SIGN GI CROSSING GI
+12104 ; [.3C76.0020.0002.12104] # CUNEIFORM SIGN GI4
+12105 ; [.3C77.0020.0002.12105] # CUNEIFORM SIGN GI4 OVER GI4
+12106 ; [.3C78.0020.0002.12106] # CUNEIFORM SIGN GI4 CROSSING GI4
+12107 ; [.3C79.0020.0002.12107] # CUNEIFORM SIGN GIDIM
+12108 ; [.3C7A.0020.0002.12108] # CUNEIFORM SIGN GIR2
+12109 ; [.3C7B.0020.0002.12109] # CUNEIFORM SIGN GIR2 GUNU
+1210A ; [.3C7C.0020.0002.1210A] # CUNEIFORM SIGN GIR3
+1210B ; [.3C7D.0020.0002.1210B] # CUNEIFORM SIGN GIR3 TIMES A PLUS IGI
+1210C ; [.3C7E.0020.0002.1210C] # CUNEIFORM SIGN GIR3 TIMES GAN2 TENU
+1210D ; [.3C7F.0020.0002.1210D] # CUNEIFORM SIGN GIR3 TIMES IGI
+1210E ; [.3C80.0020.0002.1210E] # CUNEIFORM SIGN GIR3 TIMES LU PLUS IGI
+1210F ; [.3C81.0020.0002.1210F] # CUNEIFORM SIGN GIR3 TIMES PA
+12110 ; [.3C82.0020.0002.12110] # CUNEIFORM SIGN GISAL
+12111 ; [.3C83.0020.0002.12111] # CUNEIFORM SIGN GISH
+12112 ; [.3C84.0020.0002.12112] # CUNEIFORM SIGN GISH CROSSING GISH
+12113 ; [.3C85.0020.0002.12113] # CUNEIFORM SIGN GISH TIMES BAD
+12114 ; [.3C86.0020.0002.12114] # CUNEIFORM SIGN GISH TIMES TAK4
+12115 ; [.3C87.0020.0002.12115] # CUNEIFORM SIGN GISH TENU
+12116 ; [.3C88.0020.0002.12116] # CUNEIFORM SIGN GU
+12117 ; [.3C89.0020.0002.12117] # CUNEIFORM SIGN GU CROSSING GU
+12118 ; [.3C8A.0020.0002.12118] # CUNEIFORM SIGN GU2
+12119 ; [.3C8B.0020.0002.12119] # CUNEIFORM SIGN GU2 TIMES KAK
+1211A ; [.3C8C.0020.0002.1211A] # CUNEIFORM SIGN GU2 TIMES KAK TIMES IGI GUNU
+1211B ; [.3C8D.0020.0002.1211B] # CUNEIFORM SIGN GU2 TIMES NUN
+1211C ; [.3C8E.0020.0002.1211C] # CUNEIFORM SIGN GU2 TIMES SAL PLUS TUG2
+1211D ; [.3C8F.0020.0002.1211D] # CUNEIFORM SIGN GU2 GUNU
+1211E ; [.3C90.0020.0002.1211E] # CUNEIFORM SIGN GUD
+1211F ; [.3C91.0020.0002.1211F] # CUNEIFORM SIGN GUD TIMES A PLUS KUR
+12120 ; [.3C92.0020.0002.12120] # CUNEIFORM SIGN GUD TIMES KUR
+12121 ; [.3C93.0020.0002.12121] # CUNEIFORM SIGN GUD OVER GUD LUGAL
+12122 ; [.3C94.0020.0002.12122] # CUNEIFORM SIGN GUL
+12123 ; [.3C95.0020.0002.12123] # CUNEIFORM SIGN GUM
+12124 ; [.3C96.0020.0002.12124] # CUNEIFORM SIGN GUM TIMES SHE
+12125 ; [.3C97.0020.0002.12125] # CUNEIFORM SIGN GUR
+12126 ; [.3C98.0020.0002.12126] # CUNEIFORM SIGN GUR7
+12127 ; [.3C99.0020.0002.12127] # CUNEIFORM SIGN GURUN
+12128 ; [.3C9A.0020.0002.12128] # CUNEIFORM SIGN GURUSH
+12129 ; [.3C9B.0020.0002.12129] # CUNEIFORM SIGN HA
+1212A ; [.3C9C.0020.0002.1212A] # CUNEIFORM SIGN HA TENU
+1212B ; [.3C9D.0020.0002.1212B] # CUNEIFORM SIGN HA GUNU
+1212C ; [.3C9E.0020.0002.1212C] # CUNEIFORM SIGN HAL
+1212D ; [.3C9F.0020.0002.1212D] # CUNEIFORM SIGN HI
+1212E ; [.3CA0.0020.0002.1212E] # CUNEIFORM SIGN HI TIMES ASH
+1212F ; [.3CA1.0020.0002.1212F] # CUNEIFORM SIGN HI TIMES ASH2
+12130 ; [.3CA2.0020.0002.12130] # CUNEIFORM SIGN HI TIMES BAD
+12131 ; [.3CA3.0020.0002.12131] # CUNEIFORM SIGN HI TIMES DISH
+12132 ; [.3CA4.0020.0002.12132] # CUNEIFORM SIGN HI TIMES GAD
+12133 ; [.3CA5.0020.0002.12133] # CUNEIFORM SIGN HI TIMES KIN
+12134 ; [.3CA6.0020.0002.12134] # CUNEIFORM SIGN HI TIMES NUN
+12135 ; [.3CA7.0020.0002.12135] # CUNEIFORM SIGN HI TIMES SHE
+12136 ; [.3CA8.0020.0002.12136] # CUNEIFORM SIGN HI TIMES U
+12137 ; [.3CA9.0020.0002.12137] # CUNEIFORM SIGN HU
+12138 ; [.3CAA.0020.0002.12138] # CUNEIFORM SIGN HUB2
+12139 ; [.3CAB.0020.0002.12139] # CUNEIFORM SIGN HUB2 TIMES AN
+1213A ; [.3CAC.0020.0002.1213A] # CUNEIFORM SIGN HUB2 TIMES HAL
+1213B ; [.3CAD.0020.0002.1213B] # CUNEIFORM SIGN HUB2 TIMES KASKAL
+1213C ; [.3CAE.0020.0002.1213C] # CUNEIFORM SIGN HUB2 TIMES LISH
+1213D ; [.3CAF.0020.0002.1213D] # CUNEIFORM SIGN HUB2 TIMES UD
+1213E ; [.3CB0.0020.0002.1213E] # CUNEIFORM SIGN HUL2
+1213F ; [.3CB1.0020.0002.1213F] # CUNEIFORM SIGN I
+12140 ; [.3CB2.0020.0002.12140] # CUNEIFORM SIGN I A
+12141 ; [.3CB3.0020.0002.12141] # CUNEIFORM SIGN IB
+12142 ; [.3CB4.0020.0002.12142] # CUNEIFORM SIGN IDIM
+12143 ; [.3CB5.0020.0002.12143] # CUNEIFORM SIGN IDIM OVER IDIM BUR
+12144 ; [.3CB6.0020.0002.12144] # CUNEIFORM SIGN IDIM OVER IDIM SQUARED
+12145 ; [.3CB7.0020.0002.12145] # CUNEIFORM SIGN IG
+12146 ; [.3CB8.0020.0002.12146] # CUNEIFORM SIGN IGI
+12147 ; [.3CB9.0020.0002.12147] # CUNEIFORM SIGN IGI DIB
+12148 ; [.3CBA.0020.0002.12148] # CUNEIFORM SIGN IGI RI
+12149 ; [.3CBB.0020.0002.12149] # CUNEIFORM SIGN IGI OVER IGI SHIR OVER SHIR UD OVER UD
+1214A ; [.3CBC.0020.0002.1214A] # CUNEIFORM SIGN IGI GUNU
+1214B ; [.3CBD.0020.0002.1214B] # CUNEIFORM SIGN IL
+1214C ; [.3CBE.0020.0002.1214C] # CUNEIFORM SIGN IL TIMES GAN2 TENU
+1214D ; [.3CBF.0020.0002.1214D] # CUNEIFORM SIGN IL2
+1214E ; [.3CC0.0020.0002.1214E] # CUNEIFORM SIGN IM
+1214F ; [.3CC1.0020.0002.1214F] # CUNEIFORM SIGN IM TIMES TAK4
+12150 ; [.3CC2.0020.0002.12150] # CUNEIFORM SIGN IM CROSSING IM
+12151 ; [.3CC3.0020.0002.12151] # CUNEIFORM SIGN IM OPPOSING IM
+12152 ; [.3CC4.0020.0002.12152] # CUNEIFORM SIGN IM SQUARED
+12153 ; [.3CC5.0020.0002.12153] # CUNEIFORM SIGN IMIN
+12154 ; [.3CC6.0020.0002.12154] # CUNEIFORM SIGN IN
+12155 ; [.3CC7.0020.0002.12155] # CUNEIFORM SIGN IR
+12156 ; [.3CC8.0020.0002.12156] # CUNEIFORM SIGN ISH
+12157 ; [.3CC9.0020.0002.12157] # CUNEIFORM SIGN KA
+12158 ; [.3CCA.0020.0002.12158] # CUNEIFORM SIGN KA TIMES A
+12159 ; [.3CCB.0020.0002.12159] # CUNEIFORM SIGN KA TIMES AD
+1215A ; [.3CCC.0020.0002.1215A] # CUNEIFORM SIGN KA TIMES AD PLUS KU3
+1215B ; [.3CCD.0020.0002.1215B] # CUNEIFORM SIGN KA TIMES ASH2
+1215C ; [.3CCE.0020.0002.1215C] # CUNEIFORM SIGN KA TIMES BAD
+1215D ; [.3CCF.0020.0002.1215D] # CUNEIFORM SIGN KA TIMES BALAG
+1215E ; [.3CD0.0020.0002.1215E] # CUNEIFORM SIGN KA TIMES BAR
+1215F ; [.3CD1.0020.0002.1215F] # CUNEIFORM SIGN KA TIMES BI
+12160 ; [.3CD2.0020.0002.12160] # CUNEIFORM SIGN KA TIMES ERIN2
+12161 ; [.3CD3.0020.0002.12161] # CUNEIFORM SIGN KA TIMES ESH2
+12162 ; [.3CD4.0020.0002.12162] # CUNEIFORM SIGN KA TIMES GA
+12163 ; [.3CD5.0020.0002.12163] # CUNEIFORM SIGN KA TIMES GAL
+12164 ; [.3CD6.0020.0002.12164] # CUNEIFORM SIGN KA TIMES GAN2 TENU
+12165 ; [.3CD7.0020.0002.12165] # CUNEIFORM SIGN KA TIMES GAR
+12166 ; [.3CD8.0020.0002.12166] # CUNEIFORM SIGN KA TIMES GAR PLUS SHA3 PLUS A
+12167 ; [.3CD9.0020.0002.12167] # CUNEIFORM SIGN KA TIMES GI
+12168 ; [.3CDA.0020.0002.12168] # CUNEIFORM SIGN KA TIMES GIR2
+12169 ; [.3CDB.0020.0002.12169] # CUNEIFORM SIGN KA TIMES GISH PLUS SAR
+1216A ; [.3CDC.0020.0002.1216A] # CUNEIFORM SIGN KA TIMES GISH CROSSING GISH
+1216B ; [.3CDD.0020.0002.1216B] # CUNEIFORM SIGN KA TIMES GU
+1216C ; [.3CDE.0020.0002.1216C] # CUNEIFORM SIGN KA TIMES GUR7
+1216D ; [.3CDF.0020.0002.1216D] # CUNEIFORM SIGN KA TIMES IGI
+1216E ; [.3CE0.0020.0002.1216E] # CUNEIFORM SIGN KA TIMES IM
+1216F ; [.3CE1.0020.0002.1216F] # CUNEIFORM SIGN KA TIMES KAK
+12170 ; [.3CE2.0020.0002.12170] # CUNEIFORM SIGN KA TIMES KI
+12171 ; [.3CE3.0020.0002.12171] # CUNEIFORM SIGN KA TIMES KID
+12172 ; [.3CE4.0020.0002.12172] # CUNEIFORM SIGN KA TIMES LI
+12173 ; [.3CE5.0020.0002.12173] # CUNEIFORM SIGN KA TIMES LU
+12174 ; [.3CE6.0020.0002.12174] # CUNEIFORM SIGN KA TIMES ME
+12175 ; [.3CE7.0020.0002.12175] # CUNEIFORM SIGN KA TIMES ME PLUS DU
+12176 ; [.3CE8.0020.0002.12176] # CUNEIFORM SIGN KA TIMES ME PLUS GI
+12177 ; [.3CE9.0020.0002.12177] # CUNEIFORM SIGN KA TIMES ME PLUS TE
+12178 ; [.3CEA.0020.0002.12178] # CUNEIFORM SIGN KA TIMES MI
+12179 ; [.3CEB.0020.0002.12179] # CUNEIFORM SIGN KA TIMES MI PLUS NUNUZ
+1217A ; [.3CEC.0020.0002.1217A] # CUNEIFORM SIGN KA TIMES NE
+1217B ; [.3CED.0020.0002.1217B] # CUNEIFORM SIGN KA TIMES NUN
+1217C ; [.3CEE.0020.0002.1217C] # CUNEIFORM SIGN KA TIMES PI
+1217D ; [.3CEF.0020.0002.1217D] # CUNEIFORM SIGN KA TIMES RU
+1217E ; [.3CF0.0020.0002.1217E] # CUNEIFORM SIGN KA TIMES SA
+1217F ; [.3CF1.0020.0002.1217F] # CUNEIFORM SIGN KA TIMES SAR
+12180 ; [.3CF2.0020.0002.12180] # CUNEIFORM SIGN KA TIMES SHA
+12181 ; [.3CF3.0020.0002.12181] # CUNEIFORM SIGN KA TIMES SHE
+12182 ; [.3CF4.0020.0002.12182] # CUNEIFORM SIGN KA TIMES SHID
+12183 ; [.3CF5.0020.0002.12183] # CUNEIFORM SIGN KA TIMES SHU
+12184 ; [.3CF6.0020.0002.12184] # CUNEIFORM SIGN KA TIMES SIG
+12185 ; [.3CF7.0020.0002.12185] # CUNEIFORM SIGN KA TIMES SUHUR
+12186 ; [.3CF8.0020.0002.12186] # CUNEIFORM SIGN KA TIMES TAR
+12187 ; [.3CF9.0020.0002.12187] # CUNEIFORM SIGN KA TIMES U
+12188 ; [.3CFA.0020.0002.12188] # CUNEIFORM SIGN KA TIMES U2
+12189 ; [.3CFB.0020.0002.12189] # CUNEIFORM SIGN KA TIMES UD
+1218A ; [.3CFC.0020.0002.1218A] # CUNEIFORM SIGN KA TIMES UMUM TIMES PA
+1218B ; [.3CFD.0020.0002.1218B] # CUNEIFORM SIGN KA TIMES USH
+1218C ; [.3CFE.0020.0002.1218C] # CUNEIFORM SIGN KA TIMES ZI
+1218D ; [.3CFF.0020.0002.1218D] # CUNEIFORM SIGN KA2
+1218E ; [.3D00.0020.0002.1218E] # CUNEIFORM SIGN KA2 CROSSING KA2
+1218F ; [.3D01.0020.0002.1218F] # CUNEIFORM SIGN KAB
+12190 ; [.3D02.0020.0002.12190] # CUNEIFORM SIGN KAD2
+12191 ; [.3D03.0020.0002.12191] # CUNEIFORM SIGN KAD3
+12192 ; [.3D04.0020.0002.12192] # CUNEIFORM SIGN KAD4
+12193 ; [.3D05.0020.0002.12193] # CUNEIFORM SIGN KAD5
+12194 ; [.3D06.0020.0002.12194] # CUNEIFORM SIGN KAD5 OVER KAD5
+12195 ; [.3D07.0020.0002.12195] # CUNEIFORM SIGN KAK
+12196 ; [.3D08.0020.0002.12196] # CUNEIFORM SIGN KAK TIMES IGI GUNU
+12197 ; [.3D09.0020.0002.12197] # CUNEIFORM SIGN KAL
+12198 ; [.3D0A.0020.0002.12198] # CUNEIFORM SIGN KAL TIMES BAD
+12199 ; [.3D0B.0020.0002.12199] # CUNEIFORM SIGN KAL CROSSING KAL
+1219A ; [.3D0C.0020.0002.1219A] # CUNEIFORM SIGN KAM2
+1219B ; [.3D0D.0020.0002.1219B] # CUNEIFORM SIGN KAM4
+1219C ; [.3D0E.0020.0002.1219C] # CUNEIFORM SIGN KASKAL
+1219D ; [.3D0F.0020.0002.1219D] # CUNEIFORM SIGN KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219E ; [.3D10.0020.0002.1219E] # CUNEIFORM SIGN KASKAL OVER KASKAL LAGAB TIMES U OVER LAGAB TIMES U
+1219F ; [.3D11.0020.0002.1219F] # CUNEIFORM SIGN KESH2
+121A0 ; [.3D12.0020.0002.121A0] # CUNEIFORM SIGN KI
+121A1 ; [.3D13.0020.0002.121A1] # CUNEIFORM SIGN KI TIMES BAD
+121A2 ; [.3D14.0020.0002.121A2] # CUNEIFORM SIGN KI TIMES U
+121A3 ; [.3D15.0020.0002.121A3] # CUNEIFORM SIGN KI TIMES UD
+121A4 ; [.3D16.0020.0002.121A4] # CUNEIFORM SIGN KID
+121A5 ; [.3D17.0020.0002.121A5] # CUNEIFORM SIGN KIN
+121A6 ; [.3D18.0020.0002.121A6] # CUNEIFORM SIGN KISAL
+121A7 ; [.3D19.0020.0002.121A7] # CUNEIFORM SIGN KISH
+121A8 ; [.3D1A.0020.0002.121A8] # CUNEIFORM SIGN KISIM5
+121A9 ; [.3D1B.0020.0002.121A9] # CUNEIFORM SIGN KISIM5 OVER KISIM5
+121AA ; [.3D1C.0020.0002.121AA] # CUNEIFORM SIGN KU
+121AB ; [.3D1D.0020.0002.121AB] # CUNEIFORM SIGN KU OVER HI TIMES ASH2 KU OVER HI TIMES ASH2
+121AC ; [.3D1E.0020.0002.121AC] # CUNEIFORM SIGN KU3
+121AD ; [.3D1F.0020.0002.121AD] # CUNEIFORM SIGN KU4
+121AE ; [.3D20.0020.0002.121AE] # CUNEIFORM SIGN KU4 VARIANT FORM
+121AF ; [.3D21.0020.0002.121AF] # CUNEIFORM SIGN KU7
+121B0 ; [.3D22.0020.0002.121B0] # CUNEIFORM SIGN KUL
+121B1 ; [.3D23.0020.0002.121B1] # CUNEIFORM SIGN KUL GUNU
+121B2 ; [.3D24.0020.0002.121B2] # CUNEIFORM SIGN KUN
+121B3 ; [.3D25.0020.0002.121B3] # CUNEIFORM SIGN KUR
+121B4 ; [.3D26.0020.0002.121B4] # CUNEIFORM SIGN KUR OPPOSING KUR
+121B5 ; [.3D27.0020.0002.121B5] # CUNEIFORM SIGN KUSHU2
+121B6 ; [.3D28.0020.0002.121B6] # CUNEIFORM SIGN KWU318
+121B7 ; [.3D29.0020.0002.121B7] # CUNEIFORM SIGN LA
+121B8 ; [.3D2A.0020.0002.121B8] # CUNEIFORM SIGN LAGAB
+121B9 ; [.3D2B.0020.0002.121B9] # CUNEIFORM SIGN LAGAB TIMES A
+121BA ; [.3D2C.0020.0002.121BA] # CUNEIFORM SIGN LAGAB TIMES A PLUS DA PLUS HA
+121BB ; [.3D2D.0020.0002.121BB] # CUNEIFORM SIGN LAGAB TIMES A PLUS GAR
+121BC ; [.3D2E.0020.0002.121BC] # CUNEIFORM SIGN LAGAB TIMES A PLUS LAL
+121BD ; [.3D2F.0020.0002.121BD] # CUNEIFORM SIGN LAGAB TIMES AL
+121BE ; [.3D30.0020.0002.121BE] # CUNEIFORM SIGN LAGAB TIMES AN
+121BF ; [.3D31.0020.0002.121BF] # CUNEIFORM SIGN LAGAB TIMES ASH ZIDA TENU
+121C0 ; [.3D32.0020.0002.121C0] # CUNEIFORM SIGN LAGAB TIMES BAD
+121C1 ; [.3D33.0020.0002.121C1] # CUNEIFORM SIGN LAGAB TIMES BI
+121C2 ; [.3D34.0020.0002.121C2] # CUNEIFORM SIGN LAGAB TIMES DAR
+121C3 ; [.3D35.0020.0002.121C3] # CUNEIFORM SIGN LAGAB TIMES EN
+121C4 ; [.3D36.0020.0002.121C4] # CUNEIFORM SIGN LAGAB TIMES GA
+121C5 ; [.3D37.0020.0002.121C5] # CUNEIFORM SIGN LAGAB TIMES GAR
+121C6 ; [.3D38.0020.0002.121C6] # CUNEIFORM SIGN LAGAB TIMES GUD
+121C7 ; [.3D39.0020.0002.121C7] # CUNEIFORM SIGN LAGAB TIMES GUD PLUS GUD
+121C8 ; [.3D3A.0020.0002.121C8] # CUNEIFORM SIGN LAGAB TIMES HA
+121C9 ; [.3D3B.0020.0002.121C9] # CUNEIFORM SIGN LAGAB TIMES HAL
+121CA ; [.3D3C.0020.0002.121CA] # CUNEIFORM SIGN LAGAB TIMES HI TIMES NUN
+121CB ; [.3D3D.0020.0002.121CB] # CUNEIFORM SIGN LAGAB TIMES IGI GUNU
+121CC ; [.3D3E.0020.0002.121CC] # CUNEIFORM SIGN LAGAB TIMES IM
+121CD ; [.3D3F.0020.0002.121CD] # CUNEIFORM SIGN LAGAB TIMES IM PLUS HA
+121CE ; [.3D40.0020.0002.121CE] # CUNEIFORM SIGN LAGAB TIMES IM PLUS LU
+121CF ; [.3D41.0020.0002.121CF] # CUNEIFORM SIGN LAGAB TIMES KI
+121D0 ; [.3D42.0020.0002.121D0] # CUNEIFORM SIGN LAGAB TIMES KIN
+121D1 ; [.3D43.0020.0002.121D1] # CUNEIFORM SIGN LAGAB TIMES KU3
+121D2 ; [.3D44.0020.0002.121D2] # CUNEIFORM SIGN LAGAB TIMES KUL
+121D3 ; [.3D45.0020.0002.121D3] # CUNEIFORM SIGN LAGAB TIMES KUL PLUS HI PLUS A
+121D4 ; [.3D46.0020.0002.121D4] # CUNEIFORM SIGN LAGAB TIMES LAGAB
+121D5 ; [.3D47.0020.0002.121D5] # CUNEIFORM SIGN LAGAB TIMES LISH
+121D6 ; [.3D48.0020.0002.121D6] # CUNEIFORM SIGN LAGAB TIMES LU
+121D7 ; [.3D49.0020.0002.121D7] # CUNEIFORM SIGN LAGAB TIMES LUL
+121D8 ; [.3D4A.0020.0002.121D8] # CUNEIFORM SIGN LAGAB TIMES ME
+121D9 ; [.3D4B.0020.0002.121D9] # CUNEIFORM SIGN LAGAB TIMES ME PLUS EN
+121DA ; [.3D4C.0020.0002.121DA] # CUNEIFORM SIGN LAGAB TIMES MUSH
+121DB ; [.3D4D.0020.0002.121DB] # CUNEIFORM SIGN LAGAB TIMES NE
+121DC ; [.3D4E.0020.0002.121DC] # CUNEIFORM SIGN LAGAB TIMES SHE PLUS SUM
+121DD ; [.3D4F.0020.0002.121DD] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH PLUS ERIN2
+121DE ; [.3D50.0020.0002.121DE] # CUNEIFORM SIGN LAGAB TIMES SHITA PLUS GISH TENU
+121DF ; [.3D51.0020.0002.121DF] # CUNEIFORM SIGN LAGAB TIMES SHU2
+121E0 ; [.3D52.0020.0002.121E0] # CUNEIFORM SIGN LAGAB TIMES SHU2 PLUS SHU2
+121E1 ; [.3D53.0020.0002.121E1] # CUNEIFORM SIGN LAGAB TIMES SUM
+121E2 ; [.3D54.0020.0002.121E2] # CUNEIFORM SIGN LAGAB TIMES TAG
+121E3 ; [.3D55.0020.0002.121E3] # CUNEIFORM SIGN LAGAB TIMES TAK4
+121E4 ; [.3D56.0020.0002.121E4] # CUNEIFORM SIGN LAGAB TIMES TE PLUS A PLUS SU PLUS NA
+121E5 ; [.3D57.0020.0002.121E5] # CUNEIFORM SIGN LAGAB TIMES U
+121E6 ; [.3D58.0020.0002.121E6] # CUNEIFORM SIGN LAGAB TIMES U PLUS A
+121E7 ; [.3D59.0020.0002.121E7] # CUNEIFORM SIGN LAGAB TIMES U PLUS U PLUS U
+121E8 ; [.3D5A.0020.0002.121E8] # CUNEIFORM SIGN LAGAB TIMES U2 PLUS ASH
+121E9 ; [.3D5B.0020.0002.121E9] # CUNEIFORM SIGN LAGAB TIMES UD
+121EA ; [.3D5C.0020.0002.121EA] # CUNEIFORM SIGN LAGAB TIMES USH
+121EB ; [.3D5D.0020.0002.121EB] # CUNEIFORM SIGN LAGAB SQUARED
+121EC ; [.3D5E.0020.0002.121EC] # CUNEIFORM SIGN LAGAR
+121ED ; [.3D5F.0020.0002.121ED] # CUNEIFORM SIGN LAGAR TIMES SHE
+121EE ; [.3D60.0020.0002.121EE] # CUNEIFORM SIGN LAGAR TIMES SHE PLUS SUM
+121EF ; [.3D61.0020.0002.121EF] # CUNEIFORM SIGN LAGAR GUNU
+121F0 ; [.3D62.0020.0002.121F0] # CUNEIFORM SIGN LAGAR GUNU OVER LAGAR GUNU SHE
+121F1 ; [.3D63.0020.0002.121F1] # CUNEIFORM SIGN LAHSHU
+121F2 ; [.3D64.0020.0002.121F2] # CUNEIFORM SIGN LAL
+121F3 ; [.3D65.0020.0002.121F3] # CUNEIFORM SIGN LAL TIMES LAL
+121F4 ; [.3D66.0020.0002.121F4] # CUNEIFORM SIGN LAM
+121F5 ; [.3D67.0020.0002.121F5] # CUNEIFORM SIGN LAM TIMES KUR
+121F6 ; [.3D68.0020.0002.121F6] # CUNEIFORM SIGN LAM TIMES KUR PLUS RU
+121F7 ; [.3D69.0020.0002.121F7] # CUNEIFORM SIGN LI
+121F8 ; [.3D6A.0020.0002.121F8] # CUNEIFORM SIGN LIL
+121F9 ; [.3D6B.0020.0002.121F9] # CUNEIFORM SIGN LIMMU2
+121FA ; [.3D6C.0020.0002.121FA] # CUNEIFORM SIGN LISH
+121FB ; [.3D6D.0020.0002.121FB] # CUNEIFORM SIGN LU
+121FC ; [.3D6E.0020.0002.121FC] # CUNEIFORM SIGN LU TIMES BAD
+121FD ; [.3D6F.0020.0002.121FD] # CUNEIFORM SIGN LU2
+121FE ; [.3D70.0020.0002.121FE] # CUNEIFORM SIGN LU2 TIMES AL
+121FF ; [.3D71.0020.0002.121FF] # CUNEIFORM SIGN LU2 TIMES BAD
+12200 ; [.3D72.0020.0002.12200] # CUNEIFORM SIGN LU2 TIMES ESH2
+12201 ; [.3D73.0020.0002.12201] # CUNEIFORM SIGN LU2 TIMES ESH2 TENU
+12202 ; [.3D74.0020.0002.12202] # CUNEIFORM SIGN LU2 TIMES GAN2 TENU
+12203 ; [.3D75.0020.0002.12203] # CUNEIFORM SIGN LU2 TIMES HI TIMES BAD
+12204 ; [.3D76.0020.0002.12204] # CUNEIFORM SIGN LU2 TIMES IM
+12205 ; [.3D77.0020.0002.12205] # CUNEIFORM SIGN LU2 TIMES KAD2
+12206 ; [.3D78.0020.0002.12206] # CUNEIFORM SIGN LU2 TIMES KAD3
+12207 ; [.3D79.0020.0002.12207] # CUNEIFORM SIGN LU2 TIMES KAD3 PLUS ASH
+12208 ; [.3D7A.0020.0002.12208] # CUNEIFORM SIGN LU2 TIMES KI
+12209 ; [.3D7B.0020.0002.12209] # CUNEIFORM SIGN LU2 TIMES LA PLUS ASH
+1220A ; [.3D7C.0020.0002.1220A] # CUNEIFORM SIGN LU2 TIMES LAGAB
+1220B ; [.3D7D.0020.0002.1220B] # CUNEIFORM SIGN LU2 TIMES ME PLUS EN
+1220C ; [.3D7E.0020.0002.1220C] # CUNEIFORM SIGN LU2 TIMES NE
+1220D ; [.3D7F.0020.0002.1220D] # CUNEIFORM SIGN LU2 TIMES NU
+1220E ; [.3D80.0020.0002.1220E] # CUNEIFORM SIGN LU2 TIMES SI PLUS ASH
+1220F ; [.3D81.0020.0002.1220F] # CUNEIFORM SIGN LU2 TIMES SIK2 PLUS BU
+12210 ; [.3D82.0020.0002.12210] # CUNEIFORM SIGN LU2 TIMES TUG2
+12211 ; [.3D83.0020.0002.12211] # CUNEIFORM SIGN LU2 TENU
+12212 ; [.3D84.0020.0002.12212] # CUNEIFORM SIGN LU2 CROSSING LU2
+12213 ; [.3D85.0020.0002.12213] # CUNEIFORM SIGN LU2 OPPOSING LU2
+12214 ; [.3D86.0020.0002.12214] # CUNEIFORM SIGN LU2 SQUARED
+12215 ; [.3D87.0020.0002.12215] # CUNEIFORM SIGN LU2 SHESHIG
+12216 ; [.3D88.0020.0002.12216] # CUNEIFORM SIGN LU3
+12217 ; [.3D89.0020.0002.12217] # CUNEIFORM SIGN LUGAL
+12218 ; [.3D8A.0020.0002.12218] # CUNEIFORM SIGN LUGAL OVER LUGAL
+12219 ; [.3D8B.0020.0002.12219] # CUNEIFORM SIGN LUGAL OPPOSING LUGAL
+1221A ; [.3D8C.0020.0002.1221A] # CUNEIFORM SIGN LUGAL SHESHIG
+1221B ; [.3D8D.0020.0002.1221B] # CUNEIFORM SIGN LUH
+1221C ; [.3D8E.0020.0002.1221C] # CUNEIFORM SIGN LUL
+1221D ; [.3D8F.0020.0002.1221D] # CUNEIFORM SIGN LUM
+1221E ; [.3D90.0020.0002.1221E] # CUNEIFORM SIGN LUM OVER LUM
+1221F ; [.3D91.0020.0002.1221F] # CUNEIFORM SIGN LUM OVER LUM GAR OVER GAR
+12220 ; [.3D92.0020.0002.12220] # CUNEIFORM SIGN MA
+12221 ; [.3D93.0020.0002.12221] # CUNEIFORM SIGN MA TIMES TAK4
+12222 ; [.3D94.0020.0002.12222] # CUNEIFORM SIGN MA GUNU
+12223 ; [.3D95.0020.0002.12223] # CUNEIFORM SIGN MA2
+12224 ; [.3D96.0020.0002.12224] # CUNEIFORM SIGN MAH
+12225 ; [.3D97.0020.0002.12225] # CUNEIFORM SIGN MAR
+12226 ; [.3D98.0020.0002.12226] # CUNEIFORM SIGN MASH
+12227 ; [.3D99.0020.0002.12227] # CUNEIFORM SIGN MASH2
+12228 ; [.3D9A.0020.0002.12228] # CUNEIFORM SIGN ME
+12229 ; [.3D9B.0020.0002.12229] # CUNEIFORM SIGN MES
+1222A ; [.3D9C.0020.0002.1222A] # CUNEIFORM SIGN MI
+1222B ; [.3D9D.0020.0002.1222B] # CUNEIFORM SIGN MIN
+1222C ; [.3D9E.0020.0002.1222C] # CUNEIFORM SIGN MU
+1222D ; [.3D9F.0020.0002.1222D] # CUNEIFORM SIGN MU OVER MU
+1222E ; [.3DA0.0020.0002.1222E] # CUNEIFORM SIGN MUG
+1222F ; [.3DA1.0020.0002.1222F] # CUNEIFORM SIGN MUG GUNU
+12230 ; [.3DA2.0020.0002.12230] # CUNEIFORM SIGN MUNSUB
+12231 ; [.3DA3.0020.0002.12231] # CUNEIFORM SIGN MURGU2
+12232 ; [.3DA4.0020.0002.12232] # CUNEIFORM SIGN MUSH
+12233 ; [.3DA5.0020.0002.12233] # CUNEIFORM SIGN MUSH TIMES A
+12234 ; [.3DA6.0020.0002.12234] # CUNEIFORM SIGN MUSH TIMES KUR
+12235 ; [.3DA7.0020.0002.12235] # CUNEIFORM SIGN MUSH TIMES ZA
+12236 ; [.3DA8.0020.0002.12236] # CUNEIFORM SIGN MUSH OVER MUSH
+12237 ; [.3DA9.0020.0002.12237] # CUNEIFORM SIGN MUSH OVER MUSH TIMES A PLUS NA
+12238 ; [.3DAA.0020.0002.12238] # CUNEIFORM SIGN MUSH CROSSING MUSH
+12239 ; [.3DAB.0020.0002.12239] # CUNEIFORM SIGN MUSH3
+1223A ; [.3DAC.0020.0002.1223A] # CUNEIFORM SIGN MUSH3 TIMES A
+1223B ; [.3DAD.0020.0002.1223B] # CUNEIFORM SIGN MUSH3 TIMES A PLUS DI
+1223C ; [.3DAE.0020.0002.1223C] # CUNEIFORM SIGN MUSH3 TIMES DI
+1223D ; [.3DAF.0020.0002.1223D] # CUNEIFORM SIGN MUSH3 GUNU
+1223E ; [.3DB0.0020.0002.1223E] # CUNEIFORM SIGN NA
+1223F ; [.3DB1.0020.0002.1223F] # CUNEIFORM SIGN NA2
+12240 ; [.3DB2.0020.0002.12240] # CUNEIFORM SIGN NAGA
+12241 ; [.3DB3.0020.0002.12241] # CUNEIFORM SIGN NAGA INVERTED
+12242 ; [.3DB4.0020.0002.12242] # CUNEIFORM SIGN NAGA TIMES SHU TENU
+12243 ; [.3DB5.0020.0002.12243] # CUNEIFORM SIGN NAGA OPPOSING NAGA
+12244 ; [.3DB6.0020.0002.12244] # CUNEIFORM SIGN NAGAR
+12245 ; [.3DB7.0020.0002.12245] # CUNEIFORM SIGN NAM NUTILLU
+12246 ; [.3DB8.0020.0002.12246] # CUNEIFORM SIGN NAM
+12247 ; [.3DB9.0020.0002.12247] # CUNEIFORM SIGN NAM2
+12248 ; [.3DBA.0020.0002.12248] # CUNEIFORM SIGN NE
+12249 ; [.3DBB.0020.0002.12249] # CUNEIFORM SIGN NE TIMES A
+1224A ; [.3DBC.0020.0002.1224A] # CUNEIFORM SIGN NE TIMES UD
+1224B ; [.3DBD.0020.0002.1224B] # CUNEIFORM SIGN NE SHESHIG
+1224C ; [.3DBE.0020.0002.1224C] # CUNEIFORM SIGN NI
+1224D ; [.3DBF.0020.0002.1224D] # CUNEIFORM SIGN NI TIMES E
+1224E ; [.3DC0.0020.0002.1224E] # CUNEIFORM SIGN NI2
+1224F ; [.3DC1.0020.0002.1224F] # CUNEIFORM SIGN NIM
+12250 ; [.3DC2.0020.0002.12250] # CUNEIFORM SIGN NIM TIMES GAN2 TENU
+12251 ; [.3DC3.0020.0002.12251] # CUNEIFORM SIGN NIM TIMES GAR PLUS GAN2 TENU
+12252 ; [.3DC4.0020.0002.12252] # CUNEIFORM SIGN NINDA2
+12253 ; [.3DC5.0020.0002.12253] # CUNEIFORM SIGN NINDA2 TIMES AN
+12254 ; [.3DC6.0020.0002.12254] # CUNEIFORM SIGN NINDA2 TIMES ASH
+12255 ; [.3DC7.0020.0002.12255] # CUNEIFORM SIGN NINDA2 TIMES ASH PLUS ASH
+12256 ; [.3DC8.0020.0002.12256] # CUNEIFORM SIGN NINDA2 TIMES GUD
+12257 ; [.3DC9.0020.0002.12257] # CUNEIFORM SIGN NINDA2 TIMES ME PLUS GAN2 TENU
+12258 ; [.3DCA.0020.0002.12258] # CUNEIFORM SIGN NINDA2 TIMES NE
+12259 ; [.3DCB.0020.0002.12259] # CUNEIFORM SIGN NINDA2 TIMES NUN
+1225A ; [.3DCC.0020.0002.1225A] # CUNEIFORM SIGN NINDA2 TIMES SHE
+1225B ; [.3DCD.0020.0002.1225B] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS A AN
+1225C ; [.3DCE.0020.0002.1225C] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH
+1225D ; [.3DCF.0020.0002.1225D] # CUNEIFORM SIGN NINDA2 TIMES SHE PLUS ASH PLUS ASH
+1225E ; [.3DD0.0020.0002.1225E] # CUNEIFORM SIGN NINDA2 TIMES U2 PLUS ASH
+1225F ; [.3DD1.0020.0002.1225F] # CUNEIFORM SIGN NINDA2 TIMES USH
+12260 ; [.3DD2.0020.0002.12260] # CUNEIFORM SIGN NISAG
+12261 ; [.3DD3.0020.0002.12261] # CUNEIFORM SIGN NU
+12262 ; [.3DD4.0020.0002.12262] # CUNEIFORM SIGN NU11
+12263 ; [.3DD5.0020.0002.12263] # CUNEIFORM SIGN NUN
+12264 ; [.3DD6.0020.0002.12264] # CUNEIFORM SIGN NUN LAGAR TIMES GAR
+12265 ; [.3DD7.0020.0002.12265] # CUNEIFORM SIGN NUN LAGAR TIMES MASH
+12266 ; [.3DD8.0020.0002.12266] # CUNEIFORM SIGN NUN LAGAR TIMES SAL
+12267 ; [.3DD9.0020.0002.12267] # CUNEIFORM SIGN NUN LAGAR TIMES SAL OVER NUN LAGAR TIMES SAL
+12268 ; [.3DDA.0020.0002.12268] # CUNEIFORM SIGN NUN LAGAR TIMES USH
+12269 ; [.3DDB.0020.0002.12269] # CUNEIFORM SIGN NUN TENU
+1226A ; [.3DDC.0020.0002.1226A] # CUNEIFORM SIGN NUN OVER NUN
+1226B ; [.3DDD.0020.0002.1226B] # CUNEIFORM SIGN NUN CROSSING NUN
+1226C ; [.3DDE.0020.0002.1226C] # CUNEIFORM SIGN NUN CROSSING NUN LAGAR OVER LAGAR
+1226D ; [.3DDF.0020.0002.1226D] # CUNEIFORM SIGN NUNUZ
+1226E ; [.3DE0.0020.0002.1226E] # CUNEIFORM SIGN NUNUZ AB2 TIMES ASHGAB
+1226F ; [.3DE1.0020.0002.1226F] # CUNEIFORM SIGN NUNUZ AB2 TIMES BI
+12270 ; [.3DE2.0020.0002.12270] # CUNEIFORM SIGN NUNUZ AB2 TIMES DUG
+12271 ; [.3DE3.0020.0002.12271] # CUNEIFORM SIGN NUNUZ AB2 TIMES GUD
+12272 ; [.3DE4.0020.0002.12272] # CUNEIFORM SIGN NUNUZ AB2 TIMES IGI GUNU
+12273 ; [.3DE5.0020.0002.12273] # CUNEIFORM SIGN NUNUZ AB2 TIMES KAD3
+12274 ; [.3DE6.0020.0002.12274] # CUNEIFORM SIGN NUNUZ AB2 TIMES LA
+12275 ; [.3DE7.0020.0002.12275] # CUNEIFORM SIGN NUNUZ AB2 TIMES NE
+12276 ; [.3DE8.0020.0002.12276] # CUNEIFORM SIGN NUNUZ AB2 TIMES SILA3
+12277 ; [.3DE9.0020.0002.12277] # CUNEIFORM SIGN NUNUZ AB2 TIMES U2
+12278 ; [.3DEA.0020.0002.12278] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI
+12279 ; [.3DEB.0020.0002.12279] # CUNEIFORM SIGN NUNUZ KISIM5 TIMES BI U
+1227A ; [.3DEC.0020.0002.1227A] # CUNEIFORM SIGN PA
+1227B ; [.3DED.0020.0002.1227B] # CUNEIFORM SIGN PAD
+1227C ; [.3DEE.0020.0002.1227C] # CUNEIFORM SIGN PAN
+1227D ; [.3DEF.0020.0002.1227D] # CUNEIFORM SIGN PAP
+1227E ; [.3DF0.0020.0002.1227E] # CUNEIFORM SIGN PESH2
+1227F ; [.3DF1.0020.0002.1227F] # CUNEIFORM SIGN PI
+12280 ; [.3DF2.0020.0002.12280] # CUNEIFORM SIGN PI TIMES A
+12281 ; [.3DF3.0020.0002.12281] # CUNEIFORM SIGN PI TIMES AB
+12282 ; [.3DF4.0020.0002.12282] # CUNEIFORM SIGN PI TIMES BI
+12283 ; [.3DF5.0020.0002.12283] # CUNEIFORM SIGN PI TIMES BU
+12284 ; [.3DF6.0020.0002.12284] # CUNEIFORM SIGN PI TIMES E
+12285 ; [.3DF7.0020.0002.12285] # CUNEIFORM SIGN PI TIMES I
+12286 ; [.3DF8.0020.0002.12286] # CUNEIFORM SIGN PI TIMES IB
+12287 ; [.3DF9.0020.0002.12287] # CUNEIFORM SIGN PI TIMES U
+12288 ; [.3DFA.0020.0002.12288] # CUNEIFORM SIGN PI TIMES U2
+12289 ; [.3DFB.0020.0002.12289] # CUNEIFORM SIGN PI CROSSING PI
+1228A ; [.3DFC.0020.0002.1228A] # CUNEIFORM SIGN PIRIG
+1228B ; [.3DFD.0020.0002.1228B] # CUNEIFORM SIGN PIRIG TIMES KAL
+1228C ; [.3DFE.0020.0002.1228C] # CUNEIFORM SIGN PIRIG TIMES UD
+1228D ; [.3DFF.0020.0002.1228D] # CUNEIFORM SIGN PIRIG TIMES ZA
+1228E ; [.3E00.0020.0002.1228E] # CUNEIFORM SIGN PIRIG OPPOSING PIRIG
+1228F ; [.3E01.0020.0002.1228F] # CUNEIFORM SIGN RA
+12290 ; [.3E02.0020.0002.12290] # CUNEIFORM SIGN RAB
+12291 ; [.3E03.0020.0002.12291] # CUNEIFORM SIGN RI
+12292 ; [.3E04.0020.0002.12292] # CUNEIFORM SIGN RU
+12293 ; [.3E05.0020.0002.12293] # CUNEIFORM SIGN SA
+12294 ; [.3E06.0020.0002.12294] # CUNEIFORM SIGN SAG NUTILLU
+12295 ; [.3E07.0020.0002.12295] # CUNEIFORM SIGN SAG
+12296 ; [.3E08.0020.0002.12296] # CUNEIFORM SIGN SAG TIMES A
+12297 ; [.3E09.0020.0002.12297] # CUNEIFORM SIGN SAG TIMES DU
+12298 ; [.3E0A.0020.0002.12298] # CUNEIFORM SIGN SAG TIMES DUB
+12299 ; [.3E0B.0020.0002.12299] # CUNEIFORM SIGN SAG TIMES HA
+1229A ; [.3E0C.0020.0002.1229A] # CUNEIFORM SIGN SAG TIMES KAK
+1229B ; [.3E0D.0020.0002.1229B] # CUNEIFORM SIGN SAG TIMES KUR
+1229C ; [.3E0E.0020.0002.1229C] # CUNEIFORM SIGN SAG TIMES LUM
+1229D ; [.3E0F.0020.0002.1229D] # CUNEIFORM SIGN SAG TIMES MI
+1229E ; [.3E10.0020.0002.1229E] # CUNEIFORM SIGN SAG TIMES NUN
+1229F ; [.3E11.0020.0002.1229F] # CUNEIFORM SIGN SAG TIMES SAL
+122A0 ; [.3E12.0020.0002.122A0] # CUNEIFORM SIGN SAG TIMES SHID
+122A1 ; [.3E13.0020.0002.122A1] # CUNEIFORM SIGN SAG TIMES TAB
+122A2 ; [.3E14.0020.0002.122A2] # CUNEIFORM SIGN SAG TIMES U2
+122A3 ; [.3E15.0020.0002.122A3] # CUNEIFORM SIGN SAG TIMES UB
+122A4 ; [.3E16.0020.0002.122A4] # CUNEIFORM SIGN SAG TIMES UM
+122A5 ; [.3E17.0020.0002.122A5] # CUNEIFORM SIGN SAG TIMES UR
+122A6 ; [.3E18.0020.0002.122A6] # CUNEIFORM SIGN SAG TIMES USH
+122A7 ; [.3E19.0020.0002.122A7] # CUNEIFORM SIGN SAG OVER SAG
+122A8 ; [.3E1A.0020.0002.122A8] # CUNEIFORM SIGN SAG GUNU
+122A9 ; [.3E1B.0020.0002.122A9] # CUNEIFORM SIGN SAL
+122AA ; [.3E1C.0020.0002.122AA] # CUNEIFORM SIGN SAL LAGAB TIMES ASH2
+122AB ; [.3E1D.0020.0002.122AB] # CUNEIFORM SIGN SANGA2
+122AC ; [.3E1E.0020.0002.122AC] # CUNEIFORM SIGN SAR
+122AD ; [.3E1F.0020.0002.122AD] # CUNEIFORM SIGN SHA
+122AE ; [.3E20.0020.0002.122AE] # CUNEIFORM SIGN SHA3
+122AF ; [.3E21.0020.0002.122AF] # CUNEIFORM SIGN SHA3 TIMES A
+122B0 ; [.3E22.0020.0002.122B0] # CUNEIFORM SIGN SHA3 TIMES BAD
+122B1 ; [.3E23.0020.0002.122B1] # CUNEIFORM SIGN SHA3 TIMES GISH
+122B2 ; [.3E24.0020.0002.122B2] # CUNEIFORM SIGN SHA3 TIMES NE
+122B3 ; [.3E25.0020.0002.122B3] # CUNEIFORM SIGN SHA3 TIMES SHU2
+122B4 ; [.3E26.0020.0002.122B4] # CUNEIFORM SIGN SHA3 TIMES TUR
+122B5 ; [.3E27.0020.0002.122B5] # CUNEIFORM SIGN SHA3 TIMES U
+122B6 ; [.3E28.0020.0002.122B6] # CUNEIFORM SIGN SHA3 TIMES U PLUS A
+122B7 ; [.3E29.0020.0002.122B7] # CUNEIFORM SIGN SHA6
+122B8 ; [.3E2A.0020.0002.122B8] # CUNEIFORM SIGN SHAB6
+122B9 ; [.3E2B.0020.0002.122B9] # CUNEIFORM SIGN SHAR2
+122BA ; [.3E2C.0020.0002.122BA] # CUNEIFORM SIGN SHE
+122BB ; [.3E2D.0020.0002.122BB] # CUNEIFORM SIGN SHE HU
+122BC ; [.3E2E.0020.0002.122BC] # CUNEIFORM SIGN SHE OVER SHE GAD OVER GAD GAR OVER GAR
+122BD ; [.3E2F.0020.0002.122BD] # CUNEIFORM SIGN SHE OVER SHE TAB OVER TAB GAR OVER GAR
+122BE ; [.3E30.0020.0002.122BE] # CUNEIFORM SIGN SHEG9
+122BF ; [.3E31.0020.0002.122BF] # CUNEIFORM SIGN SHEN
+122C0 ; [.3E32.0020.0002.122C0] # CUNEIFORM SIGN SHESH
+122C1 ; [.3E33.0020.0002.122C1] # CUNEIFORM SIGN SHESH2
+122C2 ; [.3E34.0020.0002.122C2] # CUNEIFORM SIGN SHESHLAM
+122C3 ; [.3E35.0020.0002.122C3] # CUNEIFORM SIGN SHID
+122C4 ; [.3E36.0020.0002.122C4] # CUNEIFORM SIGN SHID TIMES A
+122C5 ; [.3E37.0020.0002.122C5] # CUNEIFORM SIGN SHID TIMES IM
+122C6 ; [.3E38.0020.0002.122C6] # CUNEIFORM SIGN SHIM
+122C7 ; [.3E39.0020.0002.122C7] # CUNEIFORM SIGN SHIM TIMES A
+122C8 ; [.3E3A.0020.0002.122C8] # CUNEIFORM SIGN SHIM TIMES BAL
+122C9 ; [.3E3B.0020.0002.122C9] # CUNEIFORM SIGN SHIM TIMES BULUG
+122CA ; [.3E3C.0020.0002.122CA] # CUNEIFORM SIGN SHIM TIMES DIN
+122CB ; [.3E3D.0020.0002.122CB] # CUNEIFORM SIGN SHIM TIMES GAR
+122CC ; [.3E3E.0020.0002.122CC] # CUNEIFORM SIGN SHIM TIMES IGI
+122CD ; [.3E3F.0020.0002.122CD] # CUNEIFORM SIGN SHIM TIMES IGI GUNU
+122CE ; [.3E40.0020.0002.122CE] # CUNEIFORM SIGN SHIM TIMES KUSHU2
+122CF ; [.3E41.0020.0002.122CF] # CUNEIFORM SIGN SHIM TIMES LUL
+122D0 ; [.3E42.0020.0002.122D0] # CUNEIFORM SIGN SHIM TIMES MUG
+122D1 ; [.3E43.0020.0002.122D1] # CUNEIFORM SIGN SHIM TIMES SAL
+122D2 ; [.3E44.0020.0002.122D2] # CUNEIFORM SIGN SHINIG
+122D3 ; [.3E45.0020.0002.122D3] # CUNEIFORM SIGN SHIR
+122D4 ; [.3E46.0020.0002.122D4] # CUNEIFORM SIGN SHIR TENU
+122D5 ; [.3E47.0020.0002.122D5] # CUNEIFORM SIGN SHIR OVER SHIR BUR OVER BUR
+122D6 ; [.3E48.0020.0002.122D6] # CUNEIFORM SIGN SHITA
+122D7 ; [.3E49.0020.0002.122D7] # CUNEIFORM SIGN SHU
+122D8 ; [.3E4A.0020.0002.122D8] # CUNEIFORM SIGN SHU OVER INVERTED SHU
+122D9 ; [.3E4B.0020.0002.122D9] # CUNEIFORM SIGN SHU2
+122DA ; [.3E4C.0020.0002.122DA] # CUNEIFORM SIGN SHUBUR
+122DB ; [.3E4D.0020.0002.122DB] # CUNEIFORM SIGN SI
+122DC ; [.3E4E.0020.0002.122DC] # CUNEIFORM SIGN SI GUNU
+122DD ; [.3E4F.0020.0002.122DD] # CUNEIFORM SIGN SIG
+122DE ; [.3E50.0020.0002.122DE] # CUNEIFORM SIGN SIG4
+122DF ; [.3E51.0020.0002.122DF] # CUNEIFORM SIGN SIG4 OVER SIG4 SHU2
+122E0 ; [.3E52.0020.0002.122E0] # CUNEIFORM SIGN SIK2
+122E1 ; [.3E53.0020.0002.122E1] # CUNEIFORM SIGN SILA3
+122E2 ; [.3E54.0020.0002.122E2] # CUNEIFORM SIGN SU
+122E3 ; [.3E55.0020.0002.122E3] # CUNEIFORM SIGN SU OVER SU
+122E4 ; [.3E56.0020.0002.122E4] # CUNEIFORM SIGN SUD
+122E5 ; [.3E57.0020.0002.122E5] # CUNEIFORM SIGN SUD2
+122E6 ; [.3E58.0020.0002.122E6] # CUNEIFORM SIGN SUHUR
+122E7 ; [.3E59.0020.0002.122E7] # CUNEIFORM SIGN SUM
+122E8 ; [.3E5A.0020.0002.122E8] # CUNEIFORM SIGN SUMASH
+122E9 ; [.3E5B.0020.0002.122E9] # CUNEIFORM SIGN SUR
+122EA ; [.3E5C.0020.0002.122EA] # CUNEIFORM SIGN SUR9
+122EB ; [.3E5D.0020.0002.122EB] # CUNEIFORM SIGN TA
+122EC ; [.3E5E.0020.0002.122EC] # CUNEIFORM SIGN TA ASTERISK
+122ED ; [.3E5F.0020.0002.122ED] # CUNEIFORM SIGN TA TIMES HI
+122EE ; [.3E60.0020.0002.122EE] # CUNEIFORM SIGN TA TIMES MI
+122EF ; [.3E61.0020.0002.122EF] # CUNEIFORM SIGN TA GUNU
+122F0 ; [.3E62.0020.0002.122F0] # CUNEIFORM SIGN TAB
+122F1 ; [.3E63.0020.0002.122F1] # CUNEIFORM SIGN TAB OVER TAB NI OVER NI DISH OVER DISH
+122F2 ; [.3E64.0020.0002.122F2] # CUNEIFORM SIGN TAB SQUARED
+122F3 ; [.3E65.0020.0002.122F3] # CUNEIFORM SIGN TAG
+122F4 ; [.3E66.0020.0002.122F4] # CUNEIFORM SIGN TAG TIMES BI
+122F5 ; [.3E67.0020.0002.122F5] # CUNEIFORM SIGN TAG TIMES GUD
+122F6 ; [.3E68.0020.0002.122F6] # CUNEIFORM SIGN TAG TIMES SHE
+122F7 ; [.3E69.0020.0002.122F7] # CUNEIFORM SIGN TAG TIMES SHU
+122F8 ; [.3E6A.0020.0002.122F8] # CUNEIFORM SIGN TAG TIMES TUG2
+122F9 ; [.3E6B.0020.0002.122F9] # CUNEIFORM SIGN TAG TIMES UD
+122FA ; [.3E6C.0020.0002.122FA] # CUNEIFORM SIGN TAK4
+122FB ; [.3E6D.0020.0002.122FB] # CUNEIFORM SIGN TAR
+122FC ; [.3E6E.0020.0002.122FC] # CUNEIFORM SIGN TE
+122FD ; [.3E6F.0020.0002.122FD] # CUNEIFORM SIGN TE GUNU
+122FE ; [.3E70.0020.0002.122FE] # CUNEIFORM SIGN TI
+122FF ; [.3E71.0020.0002.122FF] # CUNEIFORM SIGN TI TENU
+12300 ; [.3E72.0020.0002.12300] # CUNEIFORM SIGN TIL
+12301 ; [.3E73.0020.0002.12301] # CUNEIFORM SIGN TIR
+12302 ; [.3E74.0020.0002.12302] # CUNEIFORM SIGN TIR TIMES TAK4
+12303 ; [.3E75.0020.0002.12303] # CUNEIFORM SIGN TIR OVER TIR
+12304 ; [.3E76.0020.0002.12304] # CUNEIFORM SIGN TIR OVER TIR GAD OVER GAD GAR OVER GAR
+12305 ; [.3E77.0020.0002.12305] # CUNEIFORM SIGN TU
+12306 ; [.3E78.0020.0002.12306] # CUNEIFORM SIGN TUG2
+12307 ; [.3E79.0020.0002.12307] # CUNEIFORM SIGN TUK
+12308 ; [.3E7A.0020.0002.12308] # CUNEIFORM SIGN TUM
+12309 ; [.3E7B.0020.0002.12309] # CUNEIFORM SIGN TUR
+1230A ; [.3E7C.0020.0002.1230A] # CUNEIFORM SIGN TUR OVER TUR ZA OVER ZA
+1230B ; [.3E7D.0020.0002.1230B] # CUNEIFORM SIGN U
+1230C ; [.3E7E.0020.0002.1230C] # CUNEIFORM SIGN U GUD
+1230D ; [.3E7F.0020.0002.1230D] # CUNEIFORM SIGN U U U
+1230E ; [.3E80.0020.0002.1230E] # CUNEIFORM SIGN U OVER U PA OVER PA GAR OVER GAR
+1230F ; [.3E81.0020.0002.1230F] # CUNEIFORM SIGN U OVER U SUR OVER SUR
+12310 ; [.3E82.0020.0002.12310] # CUNEIFORM SIGN U OVER U U REVERSED OVER U REVERSED
+12311 ; [.3E83.0020.0002.12311] # CUNEIFORM SIGN U2
+12312 ; [.3E84.0020.0002.12312] # CUNEIFORM SIGN UB
+12313 ; [.3E85.0020.0002.12313] # CUNEIFORM SIGN UD
+12314 ; [.3E86.0020.0002.12314] # CUNEIFORM SIGN UD KUSHU2
+12315 ; [.3E87.0020.0002.12315] # CUNEIFORM SIGN UD TIMES BAD
+12316 ; [.3E88.0020.0002.12316] # CUNEIFORM SIGN UD TIMES MI
+12317 ; [.3E89.0020.0002.12317] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U
+12318 ; [.3E8A.0020.0002.12318] # CUNEIFORM SIGN UD TIMES U PLUS U PLUS U GUNU
+12319 ; [.3E8B.0020.0002.12319] # CUNEIFORM SIGN UD GUNU
+1231A ; [.3E8C.0020.0002.1231A] # CUNEIFORM SIGN UD SHESHIG
+1231B ; [.3E8D.0020.0002.1231B] # CUNEIFORM SIGN UD SHESHIG TIMES BAD
+1231C ; [.3E8E.0020.0002.1231C] # CUNEIFORM SIGN UDUG
+1231D ; [.3E8F.0020.0002.1231D] # CUNEIFORM SIGN UM
+1231E ; [.3E90.0020.0002.1231E] # CUNEIFORM SIGN UM TIMES LAGAB
+1231F ; [.3E91.0020.0002.1231F] # CUNEIFORM SIGN UM TIMES ME PLUS DA
+12320 ; [.3E92.0020.0002.12320] # CUNEIFORM SIGN UM TIMES SHA3
+12321 ; [.3E93.0020.0002.12321] # CUNEIFORM SIGN UM TIMES U
+12322 ; [.3E94.0020.0002.12322] # CUNEIFORM SIGN UMBIN
+12323 ; [.3E95.0020.0002.12323] # CUNEIFORM SIGN UMUM
+12324 ; [.3E96.0020.0002.12324] # CUNEIFORM SIGN UMUM TIMES KASKAL
+12325 ; [.3E97.0020.0002.12325] # CUNEIFORM SIGN UMUM TIMES PA
+12326 ; [.3E98.0020.0002.12326] # CUNEIFORM SIGN UN
+12327 ; [.3E99.0020.0002.12327] # CUNEIFORM SIGN UN GUNU
+12328 ; [.3E9A.0020.0002.12328] # CUNEIFORM SIGN UR
+12329 ; [.3E9B.0020.0002.12329] # CUNEIFORM SIGN UR CROSSING UR
+1232A ; [.3E9C.0020.0002.1232A] # CUNEIFORM SIGN UR SHESHIG
+1232B ; [.3E9D.0020.0002.1232B] # CUNEIFORM SIGN UR2
+1232C ; [.3E9E.0020.0002.1232C] # CUNEIFORM SIGN UR2 TIMES A PLUS HA
+1232D ; [.3E9F.0020.0002.1232D] # CUNEIFORM SIGN UR2 TIMES A PLUS NA
+1232E ; [.3EA0.0020.0002.1232E] # CUNEIFORM SIGN UR2 TIMES AL
+1232F ; [.3EA1.0020.0002.1232F] # CUNEIFORM SIGN UR2 TIMES HA
+12330 ; [.3EA2.0020.0002.12330] # CUNEIFORM SIGN UR2 TIMES NUN
+12331 ; [.3EA3.0020.0002.12331] # CUNEIFORM SIGN UR2 TIMES U2
+12332 ; [.3EA4.0020.0002.12332] # CUNEIFORM SIGN UR2 TIMES U2 PLUS ASH
+12333 ; [.3EA5.0020.0002.12333] # CUNEIFORM SIGN UR2 TIMES U2 PLUS BI
+12334 ; [.3EA6.0020.0002.12334] # CUNEIFORM SIGN UR4
+12335 ; [.3EA7.0020.0002.12335] # CUNEIFORM SIGN URI
+12336 ; [.3EA8.0020.0002.12336] # CUNEIFORM SIGN URI3
+12337 ; [.3EA9.0020.0002.12337] # CUNEIFORM SIGN URU
+12338 ; [.3EAA.0020.0002.12338] # CUNEIFORM SIGN URU TIMES A
+12339 ; [.3EAB.0020.0002.12339] # CUNEIFORM SIGN URU TIMES ASHGAB
+1233A ; [.3EAC.0020.0002.1233A] # CUNEIFORM SIGN URU TIMES BAR
+1233B ; [.3EAD.0020.0002.1233B] # CUNEIFORM SIGN URU TIMES DUN
+1233C ; [.3EAE.0020.0002.1233C] # CUNEIFORM SIGN URU TIMES GA
+1233D ; [.3EAF.0020.0002.1233D] # CUNEIFORM SIGN URU TIMES GAL
+1233E ; [.3EB0.0020.0002.1233E] # CUNEIFORM SIGN URU TIMES GAN2 TENU
+1233F ; [.3EB1.0020.0002.1233F] # CUNEIFORM SIGN URU TIMES GAR
+12340 ; [.3EB2.0020.0002.12340] # CUNEIFORM SIGN URU TIMES GU
+12341 ; [.3EB3.0020.0002.12341] # CUNEIFORM SIGN URU TIMES HA
+12342 ; [.3EB4.0020.0002.12342] # CUNEIFORM SIGN URU TIMES IGI
+12343 ; [.3EB5.0020.0002.12343] # CUNEIFORM SIGN URU TIMES IM
+12344 ; [.3EB6.0020.0002.12344] # CUNEIFORM SIGN URU TIMES ISH
+12345 ; [.3EB7.0020.0002.12345] # CUNEIFORM SIGN URU TIMES KI
+12346 ; [.3EB8.0020.0002.12346] # CUNEIFORM SIGN URU TIMES LUM
+12347 ; [.3EB9.0020.0002.12347] # CUNEIFORM SIGN URU TIMES MIN
+12348 ; [.3EBA.0020.0002.12348] # CUNEIFORM SIGN URU TIMES PA
+12349 ; [.3EBB.0020.0002.12349] # CUNEIFORM SIGN URU TIMES SHE
+1234A ; [.3EBC.0020.0002.1234A] # CUNEIFORM SIGN URU TIMES SIG4
+1234B ; [.3EBD.0020.0002.1234B] # CUNEIFORM SIGN URU TIMES TU
+1234C ; [.3EBE.0020.0002.1234C] # CUNEIFORM SIGN URU TIMES U PLUS GUD
+1234D ; [.3EBF.0020.0002.1234D] # CUNEIFORM SIGN URU TIMES UD
+1234E ; [.3EC0.0020.0002.1234E] # CUNEIFORM SIGN URU TIMES URUDA
+1234F ; [.3EC1.0020.0002.1234F] # CUNEIFORM SIGN URUDA
+12350 ; [.3EC2.0020.0002.12350] # CUNEIFORM SIGN URUDA TIMES U
+12351 ; [.3EC3.0020.0002.12351] # CUNEIFORM SIGN USH
+12352 ; [.3EC4.0020.0002.12352] # CUNEIFORM SIGN USH TIMES A
+12353 ; [.3EC5.0020.0002.12353] # CUNEIFORM SIGN USH TIMES KU
+12354 ; [.3EC6.0020.0002.12354] # CUNEIFORM SIGN USH TIMES KUR
+12355 ; [.3EC7.0020.0002.12355] # CUNEIFORM SIGN USH TIMES TAK4
+12356 ; [.3EC8.0020.0002.12356] # CUNEIFORM SIGN USHX
+12357 ; [.3EC9.0020.0002.12357] # CUNEIFORM SIGN USH2
+12358 ; [.3ECA.0020.0002.12358] # CUNEIFORM SIGN USHUMX
+12359 ; [.3ECB.0020.0002.12359] # CUNEIFORM SIGN UTUKI
+1235A ; [.3ECC.0020.0002.1235A] # CUNEIFORM SIGN UZ3
+1235B ; [.3ECD.0020.0002.1235B] # CUNEIFORM SIGN UZ3 TIMES KASKAL
+1235C ; [.3ECE.0020.0002.1235C] # CUNEIFORM SIGN UZU
+1235D ; [.3ECF.0020.0002.1235D] # CUNEIFORM SIGN ZA
+1235E ; [.3ED0.0020.0002.1235E] # CUNEIFORM SIGN ZA TENU
+1235F ; [.3ED1.0020.0002.1235F] # CUNEIFORM SIGN ZA SQUARED TIMES KUR
+12360 ; [.3ED2.0020.0002.12360] # CUNEIFORM SIGN ZAG
+12361 ; [.3ED3.0020.0002.12361] # CUNEIFORM SIGN ZAMX
+12362 ; [.3ED4.0020.0002.12362] # CUNEIFORM SIGN ZE2
+12363 ; [.3ED5.0020.0002.12363] # CUNEIFORM SIGN ZI
+12364 ; [.3ED6.0020.0002.12364] # CUNEIFORM SIGN ZI OVER ZI
+12365 ; [.3ED7.0020.0002.12365] # CUNEIFORM SIGN ZI3
+12366 ; [.3ED8.0020.0002.12366] # CUNEIFORM SIGN ZIB
+12367 ; [.3ED9.0020.0002.12367] # CUNEIFORM SIGN ZIB KABA TENU
+12368 ; [.3EDA.0020.0002.12368] # CUNEIFORM SIGN ZIG
+12369 ; [.3EDB.0020.0002.12369] # CUNEIFORM SIGN ZIZ2
+1236A ; [.3EDC.0020.0002.1236A] # CUNEIFORM SIGN ZU
+1236B ; [.3EDD.0020.0002.1236B] # CUNEIFORM SIGN ZU5
+1236C ; [.3EDE.0020.0002.1236C] # CUNEIFORM SIGN ZU5 TIMES A
+1236D ; [.3EDF.0020.0002.1236D] # CUNEIFORM SIGN ZUBUR
+1236E ; [.3EE0.0020.0002.1236E] # CUNEIFORM SIGN ZUM
+13000 ; [.3EE1.0020.0002.13000] # EGYPTIAN HIEROGLYPH A001
+13001 ; [.3EE2.0020.0002.13001] # EGYPTIAN HIEROGLYPH A002
+13002 ; [.3EE3.0020.0002.13002] # EGYPTIAN HIEROGLYPH A003
+13003 ; [.3EE4.0020.0002.13003] # EGYPTIAN HIEROGLYPH A004
+13004 ; [.3EE5.0020.0002.13004] # EGYPTIAN HIEROGLYPH A005
+13005 ; [.3EE6.0020.0002.13005] # EGYPTIAN HIEROGLYPH A005A
+13006 ; [.3EE7.0020.0002.13006] # EGYPTIAN HIEROGLYPH A006
+13007 ; [.3EE8.0020.0002.13007] # EGYPTIAN HIEROGLYPH A006A
+13008 ; [.3EE9.0020.0002.13008] # EGYPTIAN HIEROGLYPH A006B
+13009 ; [.3EEA.0020.0002.13009] # EGYPTIAN HIEROGLYPH A007
+1300A ; [.3EEB.0020.0002.1300A] # EGYPTIAN HIEROGLYPH A008
+1300B ; [.3EEC.0020.0002.1300B] # EGYPTIAN HIEROGLYPH A009
+1300C ; [.3EED.0020.0002.1300C] # EGYPTIAN HIEROGLYPH A010
+1300D ; [.3EEE.0020.0002.1300D] # EGYPTIAN HIEROGLYPH A011
+1300E ; [.3EEF.0020.0002.1300E] # EGYPTIAN HIEROGLYPH A012
+1300F ; [.3EF0.0020.0002.1300F] # EGYPTIAN HIEROGLYPH A013
+13010 ; [.3EF1.0020.0002.13010] # EGYPTIAN HIEROGLYPH A014
+13011 ; [.3EF2.0020.0002.13011] # EGYPTIAN HIEROGLYPH A014A
+13012 ; [.3EF3.0020.0002.13012] # EGYPTIAN HIEROGLYPH A015
+13013 ; [.3EF4.0020.0002.13013] # EGYPTIAN HIEROGLYPH A016
+13014 ; [.3EF5.0020.0002.13014] # EGYPTIAN HIEROGLYPH A017
+13015 ; [.3EF6.0020.0002.13015] # EGYPTIAN HIEROGLYPH A017A
+13016 ; [.3EF7.0020.0002.13016] # EGYPTIAN HIEROGLYPH A018
+13017 ; [.3EF8.0020.0002.13017] # EGYPTIAN HIEROGLYPH A019
+13018 ; [.3EF9.0020.0002.13018] # EGYPTIAN HIEROGLYPH A020
+13019 ; [.3EFA.0020.0002.13019] # EGYPTIAN HIEROGLYPH A021
+1301A ; [.3EFB.0020.0002.1301A] # EGYPTIAN HIEROGLYPH A022
+1301B ; [.3EFC.0020.0002.1301B] # EGYPTIAN HIEROGLYPH A023
+1301C ; [.3EFD.0020.0002.1301C] # EGYPTIAN HIEROGLYPH A024
+1301D ; [.3EFE.0020.0002.1301D] # EGYPTIAN HIEROGLYPH A025
+1301E ; [.3EFF.0020.0002.1301E] # EGYPTIAN HIEROGLYPH A026
+1301F ; [.3F00.0020.0002.1301F] # EGYPTIAN HIEROGLYPH A027
+13020 ; [.3F01.0020.0002.13020] # EGYPTIAN HIEROGLYPH A028
+13021 ; [.3F02.0020.0002.13021] # EGYPTIAN HIEROGLYPH A029
+13022 ; [.3F03.0020.0002.13022] # EGYPTIAN HIEROGLYPH A030
+13023 ; [.3F04.0020.0002.13023] # EGYPTIAN HIEROGLYPH A031
+13024 ; [.3F05.0020.0002.13024] # EGYPTIAN HIEROGLYPH A032
+13025 ; [.3F06.0020.0002.13025] # EGYPTIAN HIEROGLYPH A032A
+13026 ; [.3F07.0020.0002.13026] # EGYPTIAN HIEROGLYPH A033
+13027 ; [.3F08.0020.0002.13027] # EGYPTIAN HIEROGLYPH A034
+13028 ; [.3F09.0020.0002.13028] # EGYPTIAN HIEROGLYPH A035
+13029 ; [.3F0A.0020.0002.13029] # EGYPTIAN HIEROGLYPH A036
+1302A ; [.3F0B.0020.0002.1302A] # EGYPTIAN HIEROGLYPH A037
+1302B ; [.3F0C.0020.0002.1302B] # EGYPTIAN HIEROGLYPH A038
+1302C ; [.3F0D.0020.0002.1302C] # EGYPTIAN HIEROGLYPH A039
+1302D ; [.3F0E.0020.0002.1302D] # EGYPTIAN HIEROGLYPH A040
+1302E ; [.3F0F.0020.0002.1302E] # EGYPTIAN HIEROGLYPH A040A
+1302F ; [.3F10.0020.0002.1302F] # EGYPTIAN HIEROGLYPH A041
+13030 ; [.3F11.0020.0002.13030] # EGYPTIAN HIEROGLYPH A042
+13031 ; [.3F12.0020.0002.13031] # EGYPTIAN HIEROGLYPH A042A
+13032 ; [.3F13.0020.0002.13032] # EGYPTIAN HIEROGLYPH A043
+13033 ; [.3F14.0020.0002.13033] # EGYPTIAN HIEROGLYPH A043A
+13034 ; [.3F15.0020.0002.13034] # EGYPTIAN HIEROGLYPH A044
+13035 ; [.3F16.0020.0002.13035] # EGYPTIAN HIEROGLYPH A045
+13036 ; [.3F17.0020.0002.13036] # EGYPTIAN HIEROGLYPH A045A
+13037 ; [.3F18.0020.0002.13037] # EGYPTIAN HIEROGLYPH A046
+13038 ; [.3F19.0020.0002.13038] # EGYPTIAN HIEROGLYPH A047
+13039 ; [.3F1A.0020.0002.13039] # EGYPTIAN HIEROGLYPH A048
+1303A ; [.3F1B.0020.0002.1303A] # EGYPTIAN HIEROGLYPH A049
+1303B ; [.3F1C.0020.0002.1303B] # EGYPTIAN HIEROGLYPH A050
+1303C ; [.3F1D.0020.0002.1303C] # EGYPTIAN HIEROGLYPH A051
+1303D ; [.3F1E.0020.0002.1303D] # EGYPTIAN HIEROGLYPH A052
+1303E ; [.3F1F.0020.0002.1303E] # EGYPTIAN HIEROGLYPH A053
+1303F ; [.3F20.0020.0002.1303F] # EGYPTIAN HIEROGLYPH A054
+13040 ; [.3F21.0020.0002.13040] # EGYPTIAN HIEROGLYPH A055
+13041 ; [.3F22.0020.0002.13041] # EGYPTIAN HIEROGLYPH A056
+13042 ; [.3F23.0020.0002.13042] # EGYPTIAN HIEROGLYPH A057
+13043 ; [.3F24.0020.0002.13043] # EGYPTIAN HIEROGLYPH A058
+13044 ; [.3F25.0020.0002.13044] # EGYPTIAN HIEROGLYPH A059
+13045 ; [.3F26.0020.0002.13045] # EGYPTIAN HIEROGLYPH A060
+13046 ; [.3F27.0020.0002.13046] # EGYPTIAN HIEROGLYPH A061
+13047 ; [.3F28.0020.0002.13047] # EGYPTIAN HIEROGLYPH A062
+13048 ; [.3F29.0020.0002.13048] # EGYPTIAN HIEROGLYPH A063
+13049 ; [.3F2A.0020.0002.13049] # EGYPTIAN HIEROGLYPH A064
+1304A ; [.3F2B.0020.0002.1304A] # EGYPTIAN HIEROGLYPH A065
+1304B ; [.3F2C.0020.0002.1304B] # EGYPTIAN HIEROGLYPH A066
+1304C ; [.3F2D.0020.0002.1304C] # EGYPTIAN HIEROGLYPH A067
+1304D ; [.3F2E.0020.0002.1304D] # EGYPTIAN HIEROGLYPH A068
+1304E ; [.3F2F.0020.0002.1304E] # EGYPTIAN HIEROGLYPH A069
+1304F ; [.3F30.0020.0002.1304F] # EGYPTIAN HIEROGLYPH A070
+13050 ; [.3F31.0020.0002.13050] # EGYPTIAN HIEROGLYPH B001
+13051 ; [.3F32.0020.0002.13051] # EGYPTIAN HIEROGLYPH B002
+13052 ; [.3F33.0020.0002.13052] # EGYPTIAN HIEROGLYPH B003
+13053 ; [.3F34.0020.0002.13053] # EGYPTIAN HIEROGLYPH B004
+13054 ; [.3F35.0020.0002.13054] # EGYPTIAN HIEROGLYPH B005
+13055 ; [.3F36.0020.0002.13055] # EGYPTIAN HIEROGLYPH B005A
+13056 ; [.3F37.0020.0002.13056] # EGYPTIAN HIEROGLYPH B006
+13057 ; [.3F38.0020.0002.13057] # EGYPTIAN HIEROGLYPH B007
+13058 ; [.3F39.0020.0002.13058] # EGYPTIAN HIEROGLYPH B008
+13059 ; [.3F3A.0020.0002.13059] # EGYPTIAN HIEROGLYPH B009
+1305A ; [.3F3B.0020.0002.1305A] # EGYPTIAN HIEROGLYPH C001
+1305B ; [.3F3C.0020.0002.1305B] # EGYPTIAN HIEROGLYPH C002
+1305C ; [.3F3D.0020.0002.1305C] # EGYPTIAN HIEROGLYPH C002A
+1305D ; [.3F3E.0020.0002.1305D] # EGYPTIAN HIEROGLYPH C002B
+1305E ; [.3F3F.0020.0002.1305E] # EGYPTIAN HIEROGLYPH C002C
+1305F ; [.3F40.0020.0002.1305F] # EGYPTIAN HIEROGLYPH C003
+13060 ; [.3F41.0020.0002.13060] # EGYPTIAN HIEROGLYPH C004
+13061 ; [.3F42.0020.0002.13061] # EGYPTIAN HIEROGLYPH C005
+13062 ; [.3F43.0020.0002.13062] # EGYPTIAN HIEROGLYPH C006
+13063 ; [.3F44.0020.0002.13063] # EGYPTIAN HIEROGLYPH C007
+13064 ; [.3F45.0020.0002.13064] # EGYPTIAN HIEROGLYPH C008
+13065 ; [.3F46.0020.0002.13065] # EGYPTIAN HIEROGLYPH C009
+13066 ; [.3F47.0020.0002.13066] # EGYPTIAN HIEROGLYPH C010
+13067 ; [.3F48.0020.0002.13067] # EGYPTIAN HIEROGLYPH C010A
+13068 ; [.3F49.0020.0002.13068] # EGYPTIAN HIEROGLYPH C011
+13069 ; [.3F4A.0020.0002.13069] # EGYPTIAN HIEROGLYPH C012
+1306A ; [.3F4B.0020.0002.1306A] # EGYPTIAN HIEROGLYPH C013
+1306B ; [.3F4C.0020.0002.1306B] # EGYPTIAN HIEROGLYPH C014
+1306C ; [.3F4D.0020.0002.1306C] # EGYPTIAN HIEROGLYPH C015
+1306D ; [.3F4E.0020.0002.1306D] # EGYPTIAN HIEROGLYPH C016
+1306E ; [.3F4F.0020.0002.1306E] # EGYPTIAN HIEROGLYPH C017
+1306F ; [.3F50.0020.0002.1306F] # EGYPTIAN HIEROGLYPH C018
+13070 ; [.3F51.0020.0002.13070] # EGYPTIAN HIEROGLYPH C019
+13071 ; [.3F52.0020.0002.13071] # EGYPTIAN HIEROGLYPH C020
+13072 ; [.3F53.0020.0002.13072] # EGYPTIAN HIEROGLYPH C021
+13073 ; [.3F54.0020.0002.13073] # EGYPTIAN HIEROGLYPH C022
+13074 ; [.3F55.0020.0002.13074] # EGYPTIAN HIEROGLYPH C023
+13075 ; [.3F56.0020.0002.13075] # EGYPTIAN HIEROGLYPH C024
+13076 ; [.3F57.0020.0002.13076] # EGYPTIAN HIEROGLYPH D001
+13077 ; [.3F58.0020.0002.13077] # EGYPTIAN HIEROGLYPH D002
+13078 ; [.3F59.0020.0002.13078] # EGYPTIAN HIEROGLYPH D003
+13079 ; [.3F5A.0020.0002.13079] # EGYPTIAN HIEROGLYPH D004
+1307A ; [.3F5B.0020.0002.1307A] # EGYPTIAN HIEROGLYPH D005
+1307B ; [.3F5C.0020.0002.1307B] # EGYPTIAN HIEROGLYPH D006
+1307C ; [.3F5D.0020.0002.1307C] # EGYPTIAN HIEROGLYPH D007
+1307D ; [.3F5E.0020.0002.1307D] # EGYPTIAN HIEROGLYPH D008
+1307E ; [.3F5F.0020.0002.1307E] # EGYPTIAN HIEROGLYPH D008A
+1307F ; [.3F60.0020.0002.1307F] # EGYPTIAN HIEROGLYPH D009
+13080 ; [.3F61.0020.0002.13080] # EGYPTIAN HIEROGLYPH D010
+13081 ; [.3F62.0020.0002.13081] # EGYPTIAN HIEROGLYPH D011
+13082 ; [.3F63.0020.0002.13082] # EGYPTIAN HIEROGLYPH D012
+13083 ; [.3F64.0020.0002.13083] # EGYPTIAN HIEROGLYPH D013
+13084 ; [.3F65.0020.0002.13084] # EGYPTIAN HIEROGLYPH D014
+13085 ; [.3F66.0020.0002.13085] # EGYPTIAN HIEROGLYPH D015
+13086 ; [.3F67.0020.0002.13086] # EGYPTIAN HIEROGLYPH D016
+13087 ; [.3F68.0020.0002.13087] # EGYPTIAN HIEROGLYPH D017
+13088 ; [.3F69.0020.0002.13088] # EGYPTIAN HIEROGLYPH D018
+13089 ; [.3F6A.0020.0002.13089] # EGYPTIAN HIEROGLYPH D019
+1308A ; [.3F6B.0020.0002.1308A] # EGYPTIAN HIEROGLYPH D020
+1308B ; [.3F6C.0020.0002.1308B] # EGYPTIAN HIEROGLYPH D021
+1308C ; [.3F6D.0020.0002.1308C] # EGYPTIAN HIEROGLYPH D022
+1308D ; [.3F6E.0020.0002.1308D] # EGYPTIAN HIEROGLYPH D023
+1308E ; [.3F6F.0020.0002.1308E] # EGYPTIAN HIEROGLYPH D024
+1308F ; [.3F70.0020.0002.1308F] # EGYPTIAN HIEROGLYPH D025
+13090 ; [.3F71.0020.0002.13090] # EGYPTIAN HIEROGLYPH D026
+13091 ; [.3F72.0020.0002.13091] # EGYPTIAN HIEROGLYPH D027
+13092 ; [.3F73.0020.0002.13092] # EGYPTIAN HIEROGLYPH D027A
+13093 ; [.3F74.0020.0002.13093] # EGYPTIAN HIEROGLYPH D028
+13094 ; [.3F75.0020.0002.13094] # EGYPTIAN HIEROGLYPH D029
+13095 ; [.3F76.0020.0002.13095] # EGYPTIAN HIEROGLYPH D030
+13096 ; [.3F77.0020.0002.13096] # EGYPTIAN HIEROGLYPH D031
+13097 ; [.3F78.0020.0002.13097] # EGYPTIAN HIEROGLYPH D031A
+13098 ; [.3F79.0020.0002.13098] # EGYPTIAN HIEROGLYPH D032
+13099 ; [.3F7A.0020.0002.13099] # EGYPTIAN HIEROGLYPH D033
+1309A ; [.3F7B.0020.0002.1309A] # EGYPTIAN HIEROGLYPH D034
+1309B ; [.3F7C.0020.0002.1309B] # EGYPTIAN HIEROGLYPH D034A
+1309C ; [.3F7D.0020.0002.1309C] # EGYPTIAN HIEROGLYPH D035
+1309D ; [.3F7E.0020.0002.1309D] # EGYPTIAN HIEROGLYPH D036
+1309E ; [.3F7F.0020.0002.1309E] # EGYPTIAN HIEROGLYPH D037
+1309F ; [.3F80.0020.0002.1309F] # EGYPTIAN HIEROGLYPH D038
+130A0 ; [.3F81.0020.0002.130A0] # EGYPTIAN HIEROGLYPH D039
+130A1 ; [.3F82.0020.0002.130A1] # EGYPTIAN HIEROGLYPH D040
+130A2 ; [.3F83.0020.0002.130A2] # EGYPTIAN HIEROGLYPH D041
+130A3 ; [.3F84.0020.0002.130A3] # EGYPTIAN HIEROGLYPH D042
+130A4 ; [.3F85.0020.0002.130A4] # EGYPTIAN HIEROGLYPH D043
+130A5 ; [.3F86.0020.0002.130A5] # EGYPTIAN HIEROGLYPH D044
+130A6 ; [.3F87.0020.0002.130A6] # EGYPTIAN HIEROGLYPH D045
+130A7 ; [.3F88.0020.0002.130A7] # EGYPTIAN HIEROGLYPH D046
+130A8 ; [.3F89.0020.0002.130A8] # EGYPTIAN HIEROGLYPH D046A
+130A9 ; [.3F8A.0020.0002.130A9] # EGYPTIAN HIEROGLYPH D047
+130AA ; [.3F8B.0020.0002.130AA] # EGYPTIAN HIEROGLYPH D048
+130AB ; [.3F8C.0020.0002.130AB] # EGYPTIAN HIEROGLYPH D048A
+130AC ; [.3F8D.0020.0002.130AC] # EGYPTIAN HIEROGLYPH D049
+130AD ; [.3F8E.0020.0002.130AD] # EGYPTIAN HIEROGLYPH D050
+130AE ; [.3F8F.0020.0002.130AE] # EGYPTIAN HIEROGLYPH D050A
+130AF ; [.3F90.0020.0002.130AF] # EGYPTIAN HIEROGLYPH D050B
+130B0 ; [.3F91.0020.0002.130B0] # EGYPTIAN HIEROGLYPH D050C
+130B1 ; [.3F92.0020.0002.130B1] # EGYPTIAN HIEROGLYPH D050D
+130B2 ; [.3F93.0020.0002.130B2] # EGYPTIAN HIEROGLYPH D050E
+130B3 ; [.3F94.0020.0002.130B3] # EGYPTIAN HIEROGLYPH D050F
+130B4 ; [.3F95.0020.0002.130B4] # EGYPTIAN HIEROGLYPH D050G
+130B5 ; [.3F96.0020.0002.130B5] # EGYPTIAN HIEROGLYPH D050H
+130B6 ; [.3F97.0020.0002.130B6] # EGYPTIAN HIEROGLYPH D050I
+130B7 ; [.3F98.0020.0002.130B7] # EGYPTIAN HIEROGLYPH D051
+130B8 ; [.3F99.0020.0002.130B8] # EGYPTIAN HIEROGLYPH D052
+130B9 ; [.3F9A.0020.0002.130B9] # EGYPTIAN HIEROGLYPH D052A
+130BA ; [.3F9B.0020.0002.130BA] # EGYPTIAN HIEROGLYPH D053
+130BB ; [.3F9C.0020.0002.130BB] # EGYPTIAN HIEROGLYPH D054
+130BC ; [.3F9D.0020.0002.130BC] # EGYPTIAN HIEROGLYPH D054A
+130BD ; [.3F9E.0020.0002.130BD] # EGYPTIAN HIEROGLYPH D055
+130BE ; [.3F9F.0020.0002.130BE] # EGYPTIAN HIEROGLYPH D056
+130BF ; [.3FA0.0020.0002.130BF] # EGYPTIAN HIEROGLYPH D057
+130C0 ; [.3FA1.0020.0002.130C0] # EGYPTIAN HIEROGLYPH D058
+130C1 ; [.3FA2.0020.0002.130C1] # EGYPTIAN HIEROGLYPH D059
+130C2 ; [.3FA3.0020.0002.130C2] # EGYPTIAN HIEROGLYPH D060
+130C3 ; [.3FA4.0020.0002.130C3] # EGYPTIAN HIEROGLYPH D061
+130C4 ; [.3FA5.0020.0002.130C4] # EGYPTIAN HIEROGLYPH D062
+130C5 ; [.3FA6.0020.0002.130C5] # EGYPTIAN HIEROGLYPH D063
+130C6 ; [.3FA7.0020.0002.130C6] # EGYPTIAN HIEROGLYPH D064
+130C7 ; [.3FA8.0020.0002.130C7] # EGYPTIAN HIEROGLYPH D065
+130C8 ; [.3FA9.0020.0002.130C8] # EGYPTIAN HIEROGLYPH D066
+130C9 ; [.3FAA.0020.0002.130C9] # EGYPTIAN HIEROGLYPH D067
+130CA ; [.3FAB.0020.0002.130CA] # EGYPTIAN HIEROGLYPH D067A
+130CB ; [.3FAC.0020.0002.130CB] # EGYPTIAN HIEROGLYPH D067B
+130CC ; [.3FAD.0020.0002.130CC] # EGYPTIAN HIEROGLYPH D067C
+130CD ; [.3FAE.0020.0002.130CD] # EGYPTIAN HIEROGLYPH D067D
+130CE ; [.3FAF.0020.0002.130CE] # EGYPTIAN HIEROGLYPH D067E
+130CF ; [.3FB0.0020.0002.130CF] # EGYPTIAN HIEROGLYPH D067F
+130D0 ; [.3FB1.0020.0002.130D0] # EGYPTIAN HIEROGLYPH D067G
+130D1 ; [.3FB2.0020.0002.130D1] # EGYPTIAN HIEROGLYPH D067H
+130D2 ; [.3FB3.0020.0002.130D2] # EGYPTIAN HIEROGLYPH E001
+130D3 ; [.3FB4.0020.0002.130D3] # EGYPTIAN HIEROGLYPH E002
+130D4 ; [.3FB5.0020.0002.130D4] # EGYPTIAN HIEROGLYPH E003
+130D5 ; [.3FB6.0020.0002.130D5] # EGYPTIAN HIEROGLYPH E004
+130D6 ; [.3FB7.0020.0002.130D6] # EGYPTIAN HIEROGLYPH E005
+130D7 ; [.3FB8.0020.0002.130D7] # EGYPTIAN HIEROGLYPH E006
+130D8 ; [.3FB9.0020.0002.130D8] # EGYPTIAN HIEROGLYPH E007
+130D9 ; [.3FBA.0020.0002.130D9] # EGYPTIAN HIEROGLYPH E008
+130DA ; [.3FBB.0020.0002.130DA] # EGYPTIAN HIEROGLYPH E008A
+130DB ; [.3FBC.0020.0002.130DB] # EGYPTIAN HIEROGLYPH E009
+130DC ; [.3FBD.0020.0002.130DC] # EGYPTIAN HIEROGLYPH E009A
+130DD ; [.3FBE.0020.0002.130DD] # EGYPTIAN HIEROGLYPH E010
+130DE ; [.3FBF.0020.0002.130DE] # EGYPTIAN HIEROGLYPH E011
+130DF ; [.3FC0.0020.0002.130DF] # EGYPTIAN HIEROGLYPH E012
+130E0 ; [.3FC1.0020.0002.130E0] # EGYPTIAN HIEROGLYPH E013
+130E1 ; [.3FC2.0020.0002.130E1] # EGYPTIAN HIEROGLYPH E014
+130E2 ; [.3FC3.0020.0002.130E2] # EGYPTIAN HIEROGLYPH E015
+130E3 ; [.3FC4.0020.0002.130E3] # EGYPTIAN HIEROGLYPH E016
+130E4 ; [.3FC5.0020.0002.130E4] # EGYPTIAN HIEROGLYPH E016A
+130E5 ; [.3FC6.0020.0002.130E5] # EGYPTIAN HIEROGLYPH E017
+130E6 ; [.3FC7.0020.0002.130E6] # EGYPTIAN HIEROGLYPH E017A
+130E7 ; [.3FC8.0020.0002.130E7] # EGYPTIAN HIEROGLYPH E018
+130E8 ; [.3FC9.0020.0002.130E8] # EGYPTIAN HIEROGLYPH E019
+130E9 ; [.3FCA.0020.0002.130E9] # EGYPTIAN HIEROGLYPH E020
+130EA ; [.3FCB.0020.0002.130EA] # EGYPTIAN HIEROGLYPH E020A
+130EB ; [.3FCC.0020.0002.130EB] # EGYPTIAN HIEROGLYPH E021
+130EC ; [.3FCD.0020.0002.130EC] # EGYPTIAN HIEROGLYPH E022
+130ED ; [.3FCE.0020.0002.130ED] # EGYPTIAN HIEROGLYPH E023
+130EE ; [.3FCF.0020.0002.130EE] # EGYPTIAN HIEROGLYPH E024
+130EF ; [.3FD0.0020.0002.130EF] # EGYPTIAN HIEROGLYPH E025
+130F0 ; [.3FD1.0020.0002.130F0] # EGYPTIAN HIEROGLYPH E026
+130F1 ; [.3FD2.0020.0002.130F1] # EGYPTIAN HIEROGLYPH E027
+130F2 ; [.3FD3.0020.0002.130F2] # EGYPTIAN HIEROGLYPH E028
+130F3 ; [.3FD4.0020.0002.130F3] # EGYPTIAN HIEROGLYPH E028A
+130F4 ; [.3FD5.0020.0002.130F4] # EGYPTIAN HIEROGLYPH E029
+130F5 ; [.3FD6.0020.0002.130F5] # EGYPTIAN HIEROGLYPH E030
+130F6 ; [.3FD7.0020.0002.130F6] # EGYPTIAN HIEROGLYPH E031
+130F7 ; [.3FD8.0020.0002.130F7] # EGYPTIAN HIEROGLYPH E032
+130F8 ; [.3FD9.0020.0002.130F8] # EGYPTIAN HIEROGLYPH E033
+130F9 ; [.3FDA.0020.0002.130F9] # EGYPTIAN HIEROGLYPH E034
+130FA ; [.3FDB.0020.0002.130FA] # EGYPTIAN HIEROGLYPH E034A
+130FB ; [.3FDC.0020.0002.130FB] # EGYPTIAN HIEROGLYPH E036
+130FC ; [.3FDD.0020.0002.130FC] # EGYPTIAN HIEROGLYPH E037
+130FD ; [.3FDE.0020.0002.130FD] # EGYPTIAN HIEROGLYPH E038
+130FE ; [.3FDF.0020.0002.130FE] # EGYPTIAN HIEROGLYPH F001
+130FF ; [.3FE0.0020.0002.130FF] # EGYPTIAN HIEROGLYPH F001A
+13100 ; [.3FE1.0020.0002.13100] # EGYPTIAN HIEROGLYPH F002
+13101 ; [.3FE2.0020.0002.13101] # EGYPTIAN HIEROGLYPH F003
+13102 ; [.3FE3.0020.0002.13102] # EGYPTIAN HIEROGLYPH F004
+13103 ; [.3FE4.0020.0002.13103] # EGYPTIAN HIEROGLYPH F005
+13104 ; [.3FE5.0020.0002.13104] # EGYPTIAN HIEROGLYPH F006
+13105 ; [.3FE6.0020.0002.13105] # EGYPTIAN HIEROGLYPH F007
+13106 ; [.3FE7.0020.0002.13106] # EGYPTIAN HIEROGLYPH F008
+13107 ; [.3FE8.0020.0002.13107] # EGYPTIAN HIEROGLYPH F009
+13108 ; [.3FE9.0020.0002.13108] # EGYPTIAN HIEROGLYPH F010
+13109 ; [.3FEA.0020.0002.13109] # EGYPTIAN HIEROGLYPH F011
+1310A ; [.3FEB.0020.0002.1310A] # EGYPTIAN HIEROGLYPH F012
+1310B ; [.3FEC.0020.0002.1310B] # EGYPTIAN HIEROGLYPH F013
+1310C ; [.3FED.0020.0002.1310C] # EGYPTIAN HIEROGLYPH F013A
+1310D ; [.3FEE.0020.0002.1310D] # EGYPTIAN HIEROGLYPH F014
+1310E ; [.3FEF.0020.0002.1310E] # EGYPTIAN HIEROGLYPH F015
+1310F ; [.3FF0.0020.0002.1310F] # EGYPTIAN HIEROGLYPH F016
+13110 ; [.3FF1.0020.0002.13110] # EGYPTIAN HIEROGLYPH F017
+13111 ; [.3FF2.0020.0002.13111] # EGYPTIAN HIEROGLYPH F018
+13112 ; [.3FF3.0020.0002.13112] # EGYPTIAN HIEROGLYPH F019
+13113 ; [.3FF4.0020.0002.13113] # EGYPTIAN HIEROGLYPH F020
+13114 ; [.3FF5.0020.0002.13114] # EGYPTIAN HIEROGLYPH F021
+13115 ; [.3FF6.0020.0002.13115] # EGYPTIAN HIEROGLYPH F021A
+13116 ; [.3FF7.0020.0002.13116] # EGYPTIAN HIEROGLYPH F022
+13117 ; [.3FF8.0020.0002.13117] # EGYPTIAN HIEROGLYPH F023
+13118 ; [.3FF9.0020.0002.13118] # EGYPTIAN HIEROGLYPH F024
+13119 ; [.3FFA.0020.0002.13119] # EGYPTIAN HIEROGLYPH F025
+1311A ; [.3FFB.0020.0002.1311A] # EGYPTIAN HIEROGLYPH F026
+1311B ; [.3FFC.0020.0002.1311B] # EGYPTIAN HIEROGLYPH F027
+1311C ; [.3FFD.0020.0002.1311C] # EGYPTIAN HIEROGLYPH F028
+1311D ; [.3FFE.0020.0002.1311D] # EGYPTIAN HIEROGLYPH F029
+1311E ; [.3FFF.0020.0002.1311E] # EGYPTIAN HIEROGLYPH F030
+1311F ; [.4000.0020.0002.1311F] # EGYPTIAN HIEROGLYPH F031
+13120 ; [.4001.0020.0002.13120] # EGYPTIAN HIEROGLYPH F031A
+13121 ; [.4002.0020.0002.13121] # EGYPTIAN HIEROGLYPH F032
+13122 ; [.4003.0020.0002.13122] # EGYPTIAN HIEROGLYPH F033
+13123 ; [.4004.0020.0002.13123] # EGYPTIAN HIEROGLYPH F034
+13124 ; [.4005.0020.0002.13124] # EGYPTIAN HIEROGLYPH F035
+13125 ; [.4006.0020.0002.13125] # EGYPTIAN HIEROGLYPH F036
+13126 ; [.4007.0020.0002.13126] # EGYPTIAN HIEROGLYPH F037
+13127 ; [.4008.0020.0002.13127] # EGYPTIAN HIEROGLYPH F037A
+13128 ; [.4009.0020.0002.13128] # EGYPTIAN HIEROGLYPH F038
+13129 ; [.400A.0020.0002.13129] # EGYPTIAN HIEROGLYPH F038A
+1312A ; [.400B.0020.0002.1312A] # EGYPTIAN HIEROGLYPH F039
+1312B ; [.400C.0020.0002.1312B] # EGYPTIAN HIEROGLYPH F040
+1312C ; [.400D.0020.0002.1312C] # EGYPTIAN HIEROGLYPH F041
+1312D ; [.400E.0020.0002.1312D] # EGYPTIAN HIEROGLYPH F042
+1312E ; [.400F.0020.0002.1312E] # EGYPTIAN HIEROGLYPH F043
+1312F ; [.4010.0020.0002.1312F] # EGYPTIAN HIEROGLYPH F044
+13130 ; [.4011.0020.0002.13130] # EGYPTIAN HIEROGLYPH F045
+13131 ; [.4012.0020.0002.13131] # EGYPTIAN HIEROGLYPH F045A
+13132 ; [.4013.0020.0002.13132] # EGYPTIAN HIEROGLYPH F046
+13133 ; [.4014.0020.0002.13133] # EGYPTIAN HIEROGLYPH F046A
+13134 ; [.4015.0020.0002.13134] # EGYPTIAN HIEROGLYPH F047
+13135 ; [.4016.0020.0002.13135] # EGYPTIAN HIEROGLYPH F047A
+13136 ; [.4017.0020.0002.13136] # EGYPTIAN HIEROGLYPH F048
+13137 ; [.4018.0020.0002.13137] # EGYPTIAN HIEROGLYPH F049
+13138 ; [.4019.0020.0002.13138] # EGYPTIAN HIEROGLYPH F050
+13139 ; [.401A.0020.0002.13139] # EGYPTIAN HIEROGLYPH F051
+1313A ; [.401B.0020.0002.1313A] # EGYPTIAN HIEROGLYPH F051A
+1313B ; [.401C.0020.0002.1313B] # EGYPTIAN HIEROGLYPH F051B
+1313C ; [.401D.0020.0002.1313C] # EGYPTIAN HIEROGLYPH F051C
+1313D ; [.401E.0020.0002.1313D] # EGYPTIAN HIEROGLYPH F052
+1313E ; [.401F.0020.0002.1313E] # EGYPTIAN HIEROGLYPH F053
+1313F ; [.4020.0020.0002.1313F] # EGYPTIAN HIEROGLYPH G001
+13140 ; [.4021.0020.0002.13140] # EGYPTIAN HIEROGLYPH G002
+13141 ; [.4022.0020.0002.13141] # EGYPTIAN HIEROGLYPH G003
+13142 ; [.4023.0020.0002.13142] # EGYPTIAN HIEROGLYPH G004
+13143 ; [.4024.0020.0002.13143] # EGYPTIAN HIEROGLYPH G005
+13144 ; [.4025.0020.0002.13144] # EGYPTIAN HIEROGLYPH G006
+13145 ; [.4026.0020.0002.13145] # EGYPTIAN HIEROGLYPH G006A
+13146 ; [.4027.0020.0002.13146] # EGYPTIAN HIEROGLYPH G007
+13147 ; [.4028.0020.0002.13147] # EGYPTIAN HIEROGLYPH G007A
+13148 ; [.4029.0020.0002.13148] # EGYPTIAN HIEROGLYPH G007B
+13149 ; [.402A.0020.0002.13149] # EGYPTIAN HIEROGLYPH G008
+1314A ; [.402B.0020.0002.1314A] # EGYPTIAN HIEROGLYPH G009
+1314B ; [.402C.0020.0002.1314B] # EGYPTIAN HIEROGLYPH G010
+1314C ; [.402D.0020.0002.1314C] # EGYPTIAN HIEROGLYPH G011
+1314D ; [.402E.0020.0002.1314D] # EGYPTIAN HIEROGLYPH G011A
+1314E ; [.402F.0020.0002.1314E] # EGYPTIAN HIEROGLYPH G012
+1314F ; [.4030.0020.0002.1314F] # EGYPTIAN HIEROGLYPH G013
+13150 ; [.4031.0020.0002.13150] # EGYPTIAN HIEROGLYPH G014
+13151 ; [.4032.0020.0002.13151] # EGYPTIAN HIEROGLYPH G015
+13152 ; [.4033.0020.0002.13152] # EGYPTIAN HIEROGLYPH G016
+13153 ; [.4034.0020.0002.13153] # EGYPTIAN HIEROGLYPH G017
+13154 ; [.4035.0020.0002.13154] # EGYPTIAN HIEROGLYPH G018
+13155 ; [.4036.0020.0002.13155] # EGYPTIAN HIEROGLYPH G019
+13156 ; [.4037.0020.0002.13156] # EGYPTIAN HIEROGLYPH G020
+13157 ; [.4038.0020.0002.13157] # EGYPTIAN HIEROGLYPH G020A
+13158 ; [.4039.0020.0002.13158] # EGYPTIAN HIEROGLYPH G021
+13159 ; [.403A.0020.0002.13159] # EGYPTIAN HIEROGLYPH G022
+1315A ; [.403B.0020.0002.1315A] # EGYPTIAN HIEROGLYPH G023
+1315B ; [.403C.0020.0002.1315B] # EGYPTIAN HIEROGLYPH G024
+1315C ; [.403D.0020.0002.1315C] # EGYPTIAN HIEROGLYPH G025
+1315D ; [.403E.0020.0002.1315D] # EGYPTIAN HIEROGLYPH G026
+1315E ; [.403F.0020.0002.1315E] # EGYPTIAN HIEROGLYPH G026A
+1315F ; [.4040.0020.0002.1315F] # EGYPTIAN HIEROGLYPH G027
+13160 ; [.4041.0020.0002.13160] # EGYPTIAN HIEROGLYPH G028
+13161 ; [.4042.0020.0002.13161] # EGYPTIAN HIEROGLYPH G029
+13162 ; [.4043.0020.0002.13162] # EGYPTIAN HIEROGLYPH G030
+13163 ; [.4044.0020.0002.13163] # EGYPTIAN HIEROGLYPH G031
+13164 ; [.4045.0020.0002.13164] # EGYPTIAN HIEROGLYPH G032
+13165 ; [.4046.0020.0002.13165] # EGYPTIAN HIEROGLYPH G033
+13166 ; [.4047.0020.0002.13166] # EGYPTIAN HIEROGLYPH G034
+13167 ; [.4048.0020.0002.13167] # EGYPTIAN HIEROGLYPH G035
+13168 ; [.4049.0020.0002.13168] # EGYPTIAN HIEROGLYPH G036
+13169 ; [.404A.0020.0002.13169] # EGYPTIAN HIEROGLYPH G036A
+1316A ; [.404B.0020.0002.1316A] # EGYPTIAN HIEROGLYPH G037
+1316B ; [.404C.0020.0002.1316B] # EGYPTIAN HIEROGLYPH G037A
+1316C ; [.404D.0020.0002.1316C] # EGYPTIAN HIEROGLYPH G038
+1316D ; [.404E.0020.0002.1316D] # EGYPTIAN HIEROGLYPH G039
+1316E ; [.404F.0020.0002.1316E] # EGYPTIAN HIEROGLYPH G040
+1316F ; [.4050.0020.0002.1316F] # EGYPTIAN HIEROGLYPH G041
+13170 ; [.4051.0020.0002.13170] # EGYPTIAN HIEROGLYPH G042
+13171 ; [.4052.0020.0002.13171] # EGYPTIAN HIEROGLYPH G043
+13172 ; [.4053.0020.0002.13172] # EGYPTIAN HIEROGLYPH G043A
+13173 ; [.4054.0020.0002.13173] # EGYPTIAN HIEROGLYPH G044
+13174 ; [.4055.0020.0002.13174] # EGYPTIAN HIEROGLYPH G045
+13175 ; [.4056.0020.0002.13175] # EGYPTIAN HIEROGLYPH G045A
+13176 ; [.4057.0020.0002.13176] # EGYPTIAN HIEROGLYPH G046
+13177 ; [.4058.0020.0002.13177] # EGYPTIAN HIEROGLYPH G047
+13178 ; [.4059.0020.0002.13178] # EGYPTIAN HIEROGLYPH G048
+13179 ; [.405A.0020.0002.13179] # EGYPTIAN HIEROGLYPH G049
+1317A ; [.405B.0020.0002.1317A] # EGYPTIAN HIEROGLYPH G050
+1317B ; [.405C.0020.0002.1317B] # EGYPTIAN HIEROGLYPH G051
+1317C ; [.405D.0020.0002.1317C] # EGYPTIAN HIEROGLYPH G052
+1317D ; [.405E.0020.0002.1317D] # EGYPTIAN HIEROGLYPH G053
+1317E ; [.405F.0020.0002.1317E] # EGYPTIAN HIEROGLYPH G054
+1317F ; [.4060.0020.0002.1317F] # EGYPTIAN HIEROGLYPH H001
+13180 ; [.4061.0020.0002.13180] # EGYPTIAN HIEROGLYPH H002
+13181 ; [.4062.0020.0002.13181] # EGYPTIAN HIEROGLYPH H003
+13182 ; [.4063.0020.0002.13182] # EGYPTIAN HIEROGLYPH H004
+13183 ; [.4064.0020.0002.13183] # EGYPTIAN HIEROGLYPH H005
+13184 ; [.4065.0020.0002.13184] # EGYPTIAN HIEROGLYPH H006
+13185 ; [.4066.0020.0002.13185] # EGYPTIAN HIEROGLYPH H006A
+13186 ; [.4067.0020.0002.13186] # EGYPTIAN HIEROGLYPH H007
+13187 ; [.4068.0020.0002.13187] # EGYPTIAN HIEROGLYPH H008
+13188 ; [.4069.0020.0002.13188] # EGYPTIAN HIEROGLYPH I001
+13189 ; [.406A.0020.0002.13189] # EGYPTIAN HIEROGLYPH I002
+1318A ; [.406B.0020.0002.1318A] # EGYPTIAN HIEROGLYPH I003
+1318B ; [.406C.0020.0002.1318B] # EGYPTIAN HIEROGLYPH I004
+1318C ; [.406D.0020.0002.1318C] # EGYPTIAN HIEROGLYPH I005
+1318D ; [.406E.0020.0002.1318D] # EGYPTIAN HIEROGLYPH I005A
+1318E ; [.406F.0020.0002.1318E] # EGYPTIAN HIEROGLYPH I006
+1318F ; [.4070.0020.0002.1318F] # EGYPTIAN HIEROGLYPH I007
+13190 ; [.4071.0020.0002.13190] # EGYPTIAN HIEROGLYPH I008
+13191 ; [.4072.0020.0002.13191] # EGYPTIAN HIEROGLYPH I009
+13192 ; [.4073.0020.0002.13192] # EGYPTIAN HIEROGLYPH I009A
+13193 ; [.4074.0020.0002.13193] # EGYPTIAN HIEROGLYPH I010
+13194 ; [.4075.0020.0002.13194] # EGYPTIAN HIEROGLYPH I010A
+13195 ; [.4076.0020.0002.13195] # EGYPTIAN HIEROGLYPH I011
+13196 ; [.4077.0020.0002.13196] # EGYPTIAN HIEROGLYPH I011A
+13197 ; [.4078.0020.0002.13197] # EGYPTIAN HIEROGLYPH I012
+13198 ; [.4079.0020.0002.13198] # EGYPTIAN HIEROGLYPH I013
+13199 ; [.407A.0020.0002.13199] # EGYPTIAN HIEROGLYPH I014
+1319A ; [.407B.0020.0002.1319A] # EGYPTIAN HIEROGLYPH I015
+1319B ; [.407C.0020.0002.1319B] # EGYPTIAN HIEROGLYPH K001
+1319C ; [.407D.0020.0002.1319C] # EGYPTIAN HIEROGLYPH K002
+1319D ; [.407E.0020.0002.1319D] # EGYPTIAN HIEROGLYPH K003
+1319E ; [.407F.0020.0002.1319E] # EGYPTIAN HIEROGLYPH K004
+1319F ; [.4080.0020.0002.1319F] # EGYPTIAN HIEROGLYPH K005
+131A0 ; [.4081.0020.0002.131A0] # EGYPTIAN HIEROGLYPH K006
+131A1 ; [.4082.0020.0002.131A1] # EGYPTIAN HIEROGLYPH K007
+131A2 ; [.4083.0020.0002.131A2] # EGYPTIAN HIEROGLYPH K008
+131A3 ; [.4084.0020.0002.131A3] # EGYPTIAN HIEROGLYPH L001
+131A4 ; [.4085.0020.0002.131A4] # EGYPTIAN HIEROGLYPH L002
+131A5 ; [.4086.0020.0002.131A5] # EGYPTIAN HIEROGLYPH L002A
+131A6 ; [.4087.0020.0002.131A6] # EGYPTIAN HIEROGLYPH L003
+131A7 ; [.4088.0020.0002.131A7] # EGYPTIAN HIEROGLYPH L004
+131A8 ; [.4089.0020.0002.131A8] # EGYPTIAN HIEROGLYPH L005
+131A9 ; [.408A.0020.0002.131A9] # EGYPTIAN HIEROGLYPH L006
+131AA ; [.408B.0020.0002.131AA] # EGYPTIAN HIEROGLYPH L006A
+131AB ; [.408C.0020.0002.131AB] # EGYPTIAN HIEROGLYPH L007
+131AC ; [.408D.0020.0002.131AC] # EGYPTIAN HIEROGLYPH L008
+131AD ; [.408E.0020.0002.131AD] # EGYPTIAN HIEROGLYPH M001
+131AE ; [.408F.0020.0002.131AE] # EGYPTIAN HIEROGLYPH M001A
+131AF ; [.4090.0020.0002.131AF] # EGYPTIAN HIEROGLYPH M001B
+131B0 ; [.4091.0020.0002.131B0] # EGYPTIAN HIEROGLYPH M002
+131B1 ; [.4092.0020.0002.131B1] # EGYPTIAN HIEROGLYPH M003
+131B2 ; [.4093.0020.0002.131B2] # EGYPTIAN HIEROGLYPH M003A
+131B3 ; [.4094.0020.0002.131B3] # EGYPTIAN HIEROGLYPH M004
+131B4 ; [.4095.0020.0002.131B4] # EGYPTIAN HIEROGLYPH M005
+131B5 ; [.4096.0020.0002.131B5] # EGYPTIAN HIEROGLYPH M006
+131B6 ; [.4097.0020.0002.131B6] # EGYPTIAN HIEROGLYPH M007
+131B7 ; [.4098.0020.0002.131B7] # EGYPTIAN HIEROGLYPH M008
+131B8 ; [.4099.0020.0002.131B8] # EGYPTIAN HIEROGLYPH M009
+131B9 ; [.409A.0020.0002.131B9] # EGYPTIAN HIEROGLYPH M010
+131BA ; [.409B.0020.0002.131BA] # EGYPTIAN HIEROGLYPH M010A
+131BB ; [.409C.0020.0002.131BB] # EGYPTIAN HIEROGLYPH M011
+131BC ; [.409D.0020.0002.131BC] # EGYPTIAN HIEROGLYPH M012
+131BD ; [.409E.0020.0002.131BD] # EGYPTIAN HIEROGLYPH M012A
+131BE ; [.409F.0020.0002.131BE] # EGYPTIAN HIEROGLYPH M012B
+131BF ; [.40A0.0020.0002.131BF] # EGYPTIAN HIEROGLYPH M012C
+131C0 ; [.40A1.0020.0002.131C0] # EGYPTIAN HIEROGLYPH M012D
+131C1 ; [.40A2.0020.0002.131C1] # EGYPTIAN HIEROGLYPH M012E
+131C2 ; [.40A3.0020.0002.131C2] # EGYPTIAN HIEROGLYPH M012F
+131C3 ; [.40A4.0020.0002.131C3] # EGYPTIAN HIEROGLYPH M012G
+131C4 ; [.40A5.0020.0002.131C4] # EGYPTIAN HIEROGLYPH M012H
+131C5 ; [.40A6.0020.0002.131C5] # EGYPTIAN HIEROGLYPH M013
+131C6 ; [.40A7.0020.0002.131C6] # EGYPTIAN HIEROGLYPH M014
+131C7 ; [.40A8.0020.0002.131C7] # EGYPTIAN HIEROGLYPH M015
+131C8 ; [.40A9.0020.0002.131C8] # EGYPTIAN HIEROGLYPH M015A
+131C9 ; [.40AA.0020.0002.131C9] # EGYPTIAN HIEROGLYPH M016
+131CA ; [.40AB.0020.0002.131CA] # EGYPTIAN HIEROGLYPH M016A
+131CB ; [.40AC.0020.0002.131CB] # EGYPTIAN HIEROGLYPH M017
+131CC ; [.40AD.0020.0002.131CC] # EGYPTIAN HIEROGLYPH M017A
+131CD ; [.40AE.0020.0002.131CD] # EGYPTIAN HIEROGLYPH M018
+131CE ; [.40AF.0020.0002.131CE] # EGYPTIAN HIEROGLYPH M019
+131CF ; [.40B0.0020.0002.131CF] # EGYPTIAN HIEROGLYPH M020
+131D0 ; [.40B1.0020.0002.131D0] # EGYPTIAN HIEROGLYPH M021
+131D1 ; [.40B2.0020.0002.131D1] # EGYPTIAN HIEROGLYPH M022
+131D2 ; [.40B3.0020.0002.131D2] # EGYPTIAN HIEROGLYPH M022A
+131D3 ; [.40B4.0020.0002.131D3] # EGYPTIAN HIEROGLYPH M023
+131D4 ; [.40B5.0020.0002.131D4] # EGYPTIAN HIEROGLYPH M024
+131D5 ; [.40B6.0020.0002.131D5] # EGYPTIAN HIEROGLYPH M024A
+131D6 ; [.40B7.0020.0002.131D6] # EGYPTIAN HIEROGLYPH M025
+131D7 ; [.40B8.0020.0002.131D7] # EGYPTIAN HIEROGLYPH M026
+131D8 ; [.40B9.0020.0002.131D8] # EGYPTIAN HIEROGLYPH M027
+131D9 ; [.40BA.0020.0002.131D9] # EGYPTIAN HIEROGLYPH M028
+131DA ; [.40BB.0020.0002.131DA] # EGYPTIAN HIEROGLYPH M028A
+131DB ; [.40BC.0020.0002.131DB] # EGYPTIAN HIEROGLYPH M029
+131DC ; [.40BD.0020.0002.131DC] # EGYPTIAN HIEROGLYPH M030
+131DD ; [.40BE.0020.0002.131DD] # EGYPTIAN HIEROGLYPH M031
+131DE ; [.40BF.0020.0002.131DE] # EGYPTIAN HIEROGLYPH M031A
+131DF ; [.40C0.0020.0002.131DF] # EGYPTIAN HIEROGLYPH M032
+131E0 ; [.40C1.0020.0002.131E0] # EGYPTIAN HIEROGLYPH M033
+131E1 ; [.40C2.0020.0002.131E1] # EGYPTIAN HIEROGLYPH M033A
+131E2 ; [.40C3.0020.0002.131E2] # EGYPTIAN HIEROGLYPH M033B
+131E3 ; [.40C4.0020.0002.131E3] # EGYPTIAN HIEROGLYPH M034
+131E4 ; [.40C5.0020.0002.131E4] # EGYPTIAN HIEROGLYPH M035
+131E5 ; [.40C6.0020.0002.131E5] # EGYPTIAN HIEROGLYPH M036
+131E6 ; [.40C7.0020.0002.131E6] # EGYPTIAN HIEROGLYPH M037
+131E7 ; [.40C8.0020.0002.131E7] # EGYPTIAN HIEROGLYPH M038
+131E8 ; [.40C9.0020.0002.131E8] # EGYPTIAN HIEROGLYPH M039
+131E9 ; [.40CA.0020.0002.131E9] # EGYPTIAN HIEROGLYPH M040
+131EA ; [.40CB.0020.0002.131EA] # EGYPTIAN HIEROGLYPH M040A
+131EB ; [.40CC.0020.0002.131EB] # EGYPTIAN HIEROGLYPH M041
+131EC ; [.40CD.0020.0002.131EC] # EGYPTIAN HIEROGLYPH M042
+131ED ; [.40CE.0020.0002.131ED] # EGYPTIAN HIEROGLYPH M043
+131EE ; [.40CF.0020.0002.131EE] # EGYPTIAN HIEROGLYPH M044
+131EF ; [.40D0.0020.0002.131EF] # EGYPTIAN HIEROGLYPH N001
+131F0 ; [.40D1.0020.0002.131F0] # EGYPTIAN HIEROGLYPH N002
+131F1 ; [.40D2.0020.0002.131F1] # EGYPTIAN HIEROGLYPH N003
+131F2 ; [.40D3.0020.0002.131F2] # EGYPTIAN HIEROGLYPH N004
+131F3 ; [.40D4.0020.0002.131F3] # EGYPTIAN HIEROGLYPH N005
+131F4 ; [.40D5.0020.0002.131F4] # EGYPTIAN HIEROGLYPH N006
+131F5 ; [.40D6.0020.0002.131F5] # EGYPTIAN HIEROGLYPH N007
+131F6 ; [.40D7.0020.0002.131F6] # EGYPTIAN HIEROGLYPH N008
+131F7 ; [.40D8.0020.0002.131F7] # EGYPTIAN HIEROGLYPH N009
+131F8 ; [.40D9.0020.0002.131F8] # EGYPTIAN HIEROGLYPH N010
+131F9 ; [.40DA.0020.0002.131F9] # EGYPTIAN HIEROGLYPH N011
+131FA ; [.40DB.0020.0002.131FA] # EGYPTIAN HIEROGLYPH N012
+131FB ; [.40DC.0020.0002.131FB] # EGYPTIAN HIEROGLYPH N013
+131FC ; [.40DD.0020.0002.131FC] # EGYPTIAN HIEROGLYPH N014
+131FD ; [.40DE.0020.0002.131FD] # EGYPTIAN HIEROGLYPH N015
+131FE ; [.40DF.0020.0002.131FE] # EGYPTIAN HIEROGLYPH N016
+131FF ; [.40E0.0020.0002.131FF] # EGYPTIAN HIEROGLYPH N017
+13200 ; [.40E1.0020.0002.13200] # EGYPTIAN HIEROGLYPH N018
+13201 ; [.40E2.0020.0002.13201] # EGYPTIAN HIEROGLYPH N018A
+13202 ; [.40E3.0020.0002.13202] # EGYPTIAN HIEROGLYPH N018B
+13203 ; [.40E4.0020.0002.13203] # EGYPTIAN HIEROGLYPH N019
+13204 ; [.40E5.0020.0002.13204] # EGYPTIAN HIEROGLYPH N020
+13205 ; [.40E6.0020.0002.13205] # EGYPTIAN HIEROGLYPH N021
+13206 ; [.40E7.0020.0002.13206] # EGYPTIAN HIEROGLYPH N022
+13207 ; [.40E8.0020.0002.13207] # EGYPTIAN HIEROGLYPH N023
+13208 ; [.40E9.0020.0002.13208] # EGYPTIAN HIEROGLYPH N024
+13209 ; [.40EA.0020.0002.13209] # EGYPTIAN HIEROGLYPH N025
+1320A ; [.40EB.0020.0002.1320A] # EGYPTIAN HIEROGLYPH N025A
+1320B ; [.40EC.0020.0002.1320B] # EGYPTIAN HIEROGLYPH N026
+1320C ; [.40ED.0020.0002.1320C] # EGYPTIAN HIEROGLYPH N027
+1320D ; [.40EE.0020.0002.1320D] # EGYPTIAN HIEROGLYPH N028
+1320E ; [.40EF.0020.0002.1320E] # EGYPTIAN HIEROGLYPH N029
+1320F ; [.40F0.0020.0002.1320F] # EGYPTIAN HIEROGLYPH N030
+13210 ; [.40F1.0020.0002.13210] # EGYPTIAN HIEROGLYPH N031
+13211 ; [.40F2.0020.0002.13211] # EGYPTIAN HIEROGLYPH N032
+13212 ; [.40F3.0020.0002.13212] # EGYPTIAN HIEROGLYPH N033
+13213 ; [.40F4.0020.0002.13213] # EGYPTIAN HIEROGLYPH N033A
+13214 ; [.40F5.0020.0002.13214] # EGYPTIAN HIEROGLYPH N034
+13215 ; [.40F6.0020.0002.13215] # EGYPTIAN HIEROGLYPH N034A
+13216 ; [.40F7.0020.0002.13216] # EGYPTIAN HIEROGLYPH N035
+13217 ; [.40F8.0020.0002.13217] # EGYPTIAN HIEROGLYPH N035A
+13218 ; [.40F9.0020.0002.13218] # EGYPTIAN HIEROGLYPH N036
+13219 ; [.40FA.0020.0002.13219] # EGYPTIAN HIEROGLYPH N037
+1321A ; [.40FB.0020.0002.1321A] # EGYPTIAN HIEROGLYPH N037A
+1321B ; [.40FC.0020.0002.1321B] # EGYPTIAN HIEROGLYPH N038
+1321C ; [.40FD.0020.0002.1321C] # EGYPTIAN HIEROGLYPH N039
+1321D ; [.40FE.0020.0002.1321D] # EGYPTIAN HIEROGLYPH N040
+1321E ; [.40FF.0020.0002.1321E] # EGYPTIAN HIEROGLYPH N041
+1321F ; [.4100.0020.0002.1321F] # EGYPTIAN HIEROGLYPH N042
+13220 ; [.4101.0020.0002.13220] # EGYPTIAN HIEROGLYPH NL001
+13221 ; [.4102.0020.0002.13221] # EGYPTIAN HIEROGLYPH NL002
+13222 ; [.4103.0020.0002.13222] # EGYPTIAN HIEROGLYPH NL003
+13223 ; [.4104.0020.0002.13223] # EGYPTIAN HIEROGLYPH NL004
+13224 ; [.4105.0020.0002.13224] # EGYPTIAN HIEROGLYPH NL005
+13225 ; [.4106.0020.0002.13225] # EGYPTIAN HIEROGLYPH NL005A
+13226 ; [.4107.0020.0002.13226] # EGYPTIAN HIEROGLYPH NL006
+13227 ; [.4108.0020.0002.13227] # EGYPTIAN HIEROGLYPH NL007
+13228 ; [.4109.0020.0002.13228] # EGYPTIAN HIEROGLYPH NL008
+13229 ; [.410A.0020.0002.13229] # EGYPTIAN HIEROGLYPH NL009
+1322A ; [.410B.0020.0002.1322A] # EGYPTIAN HIEROGLYPH NL010
+1322B ; [.410C.0020.0002.1322B] # EGYPTIAN HIEROGLYPH NL011
+1322C ; [.410D.0020.0002.1322C] # EGYPTIAN HIEROGLYPH NL012
+1322D ; [.410E.0020.0002.1322D] # EGYPTIAN HIEROGLYPH NL013
+1322E ; [.410F.0020.0002.1322E] # EGYPTIAN HIEROGLYPH NL014
+1322F ; [.4110.0020.0002.1322F] # EGYPTIAN HIEROGLYPH NL015
+13230 ; [.4111.0020.0002.13230] # EGYPTIAN HIEROGLYPH NL016
+13231 ; [.4112.0020.0002.13231] # EGYPTIAN HIEROGLYPH NL017
+13232 ; [.4113.0020.0002.13232] # EGYPTIAN HIEROGLYPH NL017A
+13233 ; [.4114.0020.0002.13233] # EGYPTIAN HIEROGLYPH NL018
+13234 ; [.4115.0020.0002.13234] # EGYPTIAN HIEROGLYPH NL019
+13235 ; [.4116.0020.0002.13235] # EGYPTIAN HIEROGLYPH NL020
+13236 ; [.4117.0020.0002.13236] # EGYPTIAN HIEROGLYPH NU001
+13237 ; [.4118.0020.0002.13237] # EGYPTIAN HIEROGLYPH NU002
+13238 ; [.4119.0020.0002.13238] # EGYPTIAN HIEROGLYPH NU003
+13239 ; [.411A.0020.0002.13239] # EGYPTIAN HIEROGLYPH NU004
+1323A ; [.411B.0020.0002.1323A] # EGYPTIAN HIEROGLYPH NU005
+1323B ; [.411C.0020.0002.1323B] # EGYPTIAN HIEROGLYPH NU006
+1323C ; [.411D.0020.0002.1323C] # EGYPTIAN HIEROGLYPH NU007
+1323D ; [.411E.0020.0002.1323D] # EGYPTIAN HIEROGLYPH NU008
+1323E ; [.411F.0020.0002.1323E] # EGYPTIAN HIEROGLYPH NU009
+1323F ; [.4120.0020.0002.1323F] # EGYPTIAN HIEROGLYPH NU010
+13240 ; [.4121.0020.0002.13240] # EGYPTIAN HIEROGLYPH NU010A
+13241 ; [.4122.0020.0002.13241] # EGYPTIAN HIEROGLYPH NU011
+13242 ; [.4123.0020.0002.13242] # EGYPTIAN HIEROGLYPH NU011A
+13243 ; [.4124.0020.0002.13243] # EGYPTIAN HIEROGLYPH NU012
+13244 ; [.4125.0020.0002.13244] # EGYPTIAN HIEROGLYPH NU013
+13245 ; [.4126.0020.0002.13245] # EGYPTIAN HIEROGLYPH NU014
+13246 ; [.4127.0020.0002.13246] # EGYPTIAN HIEROGLYPH NU015
+13247 ; [.4128.0020.0002.13247] # EGYPTIAN HIEROGLYPH NU016
+13248 ; [.4129.0020.0002.13248] # EGYPTIAN HIEROGLYPH NU017
+13249 ; [.412A.0020.0002.13249] # EGYPTIAN HIEROGLYPH NU018
+1324A ; [.412B.0020.0002.1324A] # EGYPTIAN HIEROGLYPH NU018A
+1324B ; [.412C.0020.0002.1324B] # EGYPTIAN HIEROGLYPH NU019
+1324C ; [.412D.0020.0002.1324C] # EGYPTIAN HIEROGLYPH NU020
+1324D ; [.412E.0020.0002.1324D] # EGYPTIAN HIEROGLYPH NU021
+1324E ; [.412F.0020.0002.1324E] # EGYPTIAN HIEROGLYPH NU022
+1324F ; [.4130.0020.0002.1324F] # EGYPTIAN HIEROGLYPH NU022A
+13250 ; [.4131.0020.0002.13250] # EGYPTIAN HIEROGLYPH O001
+13251 ; [.4132.0020.0002.13251] # EGYPTIAN HIEROGLYPH O001A
+13252 ; [.4133.0020.0002.13252] # EGYPTIAN HIEROGLYPH O002
+13253 ; [.4134.0020.0002.13253] # EGYPTIAN HIEROGLYPH O003
+13254 ; [.4135.0020.0002.13254] # EGYPTIAN HIEROGLYPH O004
+13255 ; [.4136.0020.0002.13255] # EGYPTIAN HIEROGLYPH O005
+13256 ; [.4137.0020.0002.13256] # EGYPTIAN HIEROGLYPH O005A
+13257 ; [.4138.0020.0002.13257] # EGYPTIAN HIEROGLYPH O006
+13258 ; [.4139.0020.0002.13258] # EGYPTIAN HIEROGLYPH O006A
+13259 ; [.413A.0020.0002.13259] # EGYPTIAN HIEROGLYPH O006B
+1325A ; [.413B.0020.0002.1325A] # EGYPTIAN HIEROGLYPH O006C
+1325B ; [.413C.0020.0002.1325B] # EGYPTIAN HIEROGLYPH O006D
+1325C ; [.413D.0020.0002.1325C] # EGYPTIAN HIEROGLYPH O006E
+1325D ; [.413E.0020.0002.1325D] # EGYPTIAN HIEROGLYPH O006F
+1325E ; [.413F.0020.0002.1325E] # EGYPTIAN HIEROGLYPH O007
+1325F ; [.4140.0020.0002.1325F] # EGYPTIAN HIEROGLYPH O008
+13260 ; [.4141.0020.0002.13260] # EGYPTIAN HIEROGLYPH O009
+13261 ; [.4142.0020.0002.13261] # EGYPTIAN HIEROGLYPH O010
+13262 ; [.4143.0020.0002.13262] # EGYPTIAN HIEROGLYPH O010A
+13263 ; [.4144.0020.0002.13263] # EGYPTIAN HIEROGLYPH O010B
+13264 ; [.4145.0020.0002.13264] # EGYPTIAN HIEROGLYPH O010C
+13265 ; [.4146.0020.0002.13265] # EGYPTIAN HIEROGLYPH O011
+13266 ; [.4147.0020.0002.13266] # EGYPTIAN HIEROGLYPH O012
+13267 ; [.4148.0020.0002.13267] # EGYPTIAN HIEROGLYPH O013
+13268 ; [.4149.0020.0002.13268] # EGYPTIAN HIEROGLYPH O014
+13269 ; [.414A.0020.0002.13269] # EGYPTIAN HIEROGLYPH O015
+1326A ; [.414B.0020.0002.1326A] # EGYPTIAN HIEROGLYPH O016
+1326B ; [.414C.0020.0002.1326B] # EGYPTIAN HIEROGLYPH O017
+1326C ; [.414D.0020.0002.1326C] # EGYPTIAN HIEROGLYPH O018
+1326D ; [.414E.0020.0002.1326D] # EGYPTIAN HIEROGLYPH O019
+1326E ; [.414F.0020.0002.1326E] # EGYPTIAN HIEROGLYPH O019A
+1326F ; [.4150.0020.0002.1326F] # EGYPTIAN HIEROGLYPH O020
+13270 ; [.4151.0020.0002.13270] # EGYPTIAN HIEROGLYPH O020A
+13271 ; [.4152.0020.0002.13271] # EGYPTIAN HIEROGLYPH O021
+13272 ; [.4153.0020.0002.13272] # EGYPTIAN HIEROGLYPH O022
+13273 ; [.4154.0020.0002.13273] # EGYPTIAN HIEROGLYPH O023
+13274 ; [.4155.0020.0002.13274] # EGYPTIAN HIEROGLYPH O024
+13275 ; [.4156.0020.0002.13275] # EGYPTIAN HIEROGLYPH O024A
+13276 ; [.4157.0020.0002.13276] # EGYPTIAN HIEROGLYPH O025
+13277 ; [.4158.0020.0002.13277] # EGYPTIAN HIEROGLYPH O025A
+13278 ; [.4159.0020.0002.13278] # EGYPTIAN HIEROGLYPH O026
+13279 ; [.415A.0020.0002.13279] # EGYPTIAN HIEROGLYPH O027
+1327A ; [.415B.0020.0002.1327A] # EGYPTIAN HIEROGLYPH O028
+1327B ; [.415C.0020.0002.1327B] # EGYPTIAN HIEROGLYPH O029
+1327C ; [.415D.0020.0002.1327C] # EGYPTIAN HIEROGLYPH O029A
+1327D ; [.415E.0020.0002.1327D] # EGYPTIAN HIEROGLYPH O030
+1327E ; [.415F.0020.0002.1327E] # EGYPTIAN HIEROGLYPH O030A
+1327F ; [.4160.0020.0002.1327F] # EGYPTIAN HIEROGLYPH O031
+13280 ; [.4161.0020.0002.13280] # EGYPTIAN HIEROGLYPH O032
+13281 ; [.4162.0020.0002.13281] # EGYPTIAN HIEROGLYPH O033
+13282 ; [.4163.0020.0002.13282] # EGYPTIAN HIEROGLYPH O033A
+13283 ; [.4164.0020.0002.13283] # EGYPTIAN HIEROGLYPH O034
+13284 ; [.4165.0020.0002.13284] # EGYPTIAN HIEROGLYPH O035
+13285 ; [.4166.0020.0002.13285] # EGYPTIAN HIEROGLYPH O036
+13286 ; [.4167.0020.0002.13286] # EGYPTIAN HIEROGLYPH O036A
+13287 ; [.4168.0020.0002.13287] # EGYPTIAN HIEROGLYPH O036B
+13288 ; [.4169.0020.0002.13288] # EGYPTIAN HIEROGLYPH O036C
+13289 ; [.416A.0020.0002.13289] # EGYPTIAN HIEROGLYPH O036D
+1328A ; [.416B.0020.0002.1328A] # EGYPTIAN HIEROGLYPH O037
+1328B ; [.416C.0020.0002.1328B] # EGYPTIAN HIEROGLYPH O038
+1328C ; [.416D.0020.0002.1328C] # EGYPTIAN HIEROGLYPH O039
+1328D ; [.416E.0020.0002.1328D] # EGYPTIAN HIEROGLYPH O040
+1328E ; [.416F.0020.0002.1328E] # EGYPTIAN HIEROGLYPH O041
+1328F ; [.4170.0020.0002.1328F] # EGYPTIAN HIEROGLYPH O042
+13290 ; [.4171.0020.0002.13290] # EGYPTIAN HIEROGLYPH O043
+13291 ; [.4172.0020.0002.13291] # EGYPTIAN HIEROGLYPH O044
+13292 ; [.4173.0020.0002.13292] # EGYPTIAN HIEROGLYPH O045
+13293 ; [.4174.0020.0002.13293] # EGYPTIAN HIEROGLYPH O046
+13294 ; [.4175.0020.0002.13294] # EGYPTIAN HIEROGLYPH O047
+13295 ; [.4176.0020.0002.13295] # EGYPTIAN HIEROGLYPH O048
+13296 ; [.4177.0020.0002.13296] # EGYPTIAN HIEROGLYPH O049
+13297 ; [.4178.0020.0002.13297] # EGYPTIAN HIEROGLYPH O050
+13298 ; [.4179.0020.0002.13298] # EGYPTIAN HIEROGLYPH O050A
+13299 ; [.417A.0020.0002.13299] # EGYPTIAN HIEROGLYPH O050B
+1329A ; [.417B.0020.0002.1329A] # EGYPTIAN HIEROGLYPH O051
+1329B ; [.417C.0020.0002.1329B] # EGYPTIAN HIEROGLYPH P001
+1329C ; [.417D.0020.0002.1329C] # EGYPTIAN HIEROGLYPH P001A
+1329D ; [.417E.0020.0002.1329D] # EGYPTIAN HIEROGLYPH P002
+1329E ; [.417F.0020.0002.1329E] # EGYPTIAN HIEROGLYPH P003
+1329F ; [.4180.0020.0002.1329F] # EGYPTIAN HIEROGLYPH P003A
+132A0 ; [.4181.0020.0002.132A0] # EGYPTIAN HIEROGLYPH P004
+132A1 ; [.4182.0020.0002.132A1] # EGYPTIAN HIEROGLYPH P005
+132A2 ; [.4183.0020.0002.132A2] # EGYPTIAN HIEROGLYPH P006
+132A3 ; [.4184.0020.0002.132A3] # EGYPTIAN HIEROGLYPH P007
+132A4 ; [.4185.0020.0002.132A4] # EGYPTIAN HIEROGLYPH P008
+132A5 ; [.4186.0020.0002.132A5] # EGYPTIAN HIEROGLYPH P009
+132A6 ; [.4187.0020.0002.132A6] # EGYPTIAN HIEROGLYPH P010
+132A7 ; [.4188.0020.0002.132A7] # EGYPTIAN HIEROGLYPH P011
+132A8 ; [.4189.0020.0002.132A8] # EGYPTIAN HIEROGLYPH Q001
+132A9 ; [.418A.0020.0002.132A9] # EGYPTIAN HIEROGLYPH Q002
+132AA ; [.418B.0020.0002.132AA] # EGYPTIAN HIEROGLYPH Q003
+132AB ; [.418C.0020.0002.132AB] # EGYPTIAN HIEROGLYPH Q004
+132AC ; [.418D.0020.0002.132AC] # EGYPTIAN HIEROGLYPH Q005
+132AD ; [.418E.0020.0002.132AD] # EGYPTIAN HIEROGLYPH Q006
+132AE ; [.418F.0020.0002.132AE] # EGYPTIAN HIEROGLYPH Q007
+132AF ; [.4190.0020.0002.132AF] # EGYPTIAN HIEROGLYPH R001
+132B0 ; [.4191.0020.0002.132B0] # EGYPTIAN HIEROGLYPH R002
+132B1 ; [.4192.0020.0002.132B1] # EGYPTIAN HIEROGLYPH R002A
+132B2 ; [.4193.0020.0002.132B2] # EGYPTIAN HIEROGLYPH R003
+132B3 ; [.4194.0020.0002.132B3] # EGYPTIAN HIEROGLYPH R003A
+132B4 ; [.4195.0020.0002.132B4] # EGYPTIAN HIEROGLYPH R003B
+132B5 ; [.4196.0020.0002.132B5] # EGYPTIAN HIEROGLYPH R004
+132B6 ; [.4197.0020.0002.132B6] # EGYPTIAN HIEROGLYPH R005
+132B7 ; [.4198.0020.0002.132B7] # EGYPTIAN HIEROGLYPH R006
+132B8 ; [.4199.0020.0002.132B8] # EGYPTIAN HIEROGLYPH R007
+132B9 ; [.419A.0020.0002.132B9] # EGYPTIAN HIEROGLYPH R008
+132BA ; [.419B.0020.0002.132BA] # EGYPTIAN HIEROGLYPH R009
+132BB ; [.419C.0020.0002.132BB] # EGYPTIAN HIEROGLYPH R010
+132BC ; [.419D.0020.0002.132BC] # EGYPTIAN HIEROGLYPH R010A
+132BD ; [.419E.0020.0002.132BD] # EGYPTIAN HIEROGLYPH R011
+132BE ; [.419F.0020.0002.132BE] # EGYPTIAN HIEROGLYPH R012
+132BF ; [.41A0.0020.0002.132BF] # EGYPTIAN HIEROGLYPH R013
+132C0 ; [.41A1.0020.0002.132C0] # EGYPTIAN HIEROGLYPH R014
+132C1 ; [.41A2.0020.0002.132C1] # EGYPTIAN HIEROGLYPH R015
+132C2 ; [.41A3.0020.0002.132C2] # EGYPTIAN HIEROGLYPH R016
+132C3 ; [.41A4.0020.0002.132C3] # EGYPTIAN HIEROGLYPH R016A
+132C4 ; [.41A5.0020.0002.132C4] # EGYPTIAN HIEROGLYPH R017
+132C5 ; [.41A6.0020.0002.132C5] # EGYPTIAN HIEROGLYPH R018
+132C6 ; [.41A7.0020.0002.132C6] # EGYPTIAN HIEROGLYPH R019
+132C7 ; [.41A8.0020.0002.132C7] # EGYPTIAN HIEROGLYPH R020
+132C8 ; [.41A9.0020.0002.132C8] # EGYPTIAN HIEROGLYPH R021
+132C9 ; [.41AA.0020.0002.132C9] # EGYPTIAN HIEROGLYPH R022
+132CA ; [.41AB.0020.0002.132CA] # EGYPTIAN HIEROGLYPH R023
+132CB ; [.41AC.0020.0002.132CB] # EGYPTIAN HIEROGLYPH R024
+132CC ; [.41AD.0020.0002.132CC] # EGYPTIAN HIEROGLYPH R025
+132CD ; [.41AE.0020.0002.132CD] # EGYPTIAN HIEROGLYPH R026
+132CE ; [.41AF.0020.0002.132CE] # EGYPTIAN HIEROGLYPH R027
+132CF ; [.41B0.0020.0002.132CF] # EGYPTIAN HIEROGLYPH R028
+132D0 ; [.41B1.0020.0002.132D0] # EGYPTIAN HIEROGLYPH R029
+132D1 ; [.41B2.0020.0002.132D1] # EGYPTIAN HIEROGLYPH S001
+132D2 ; [.41B3.0020.0002.132D2] # EGYPTIAN HIEROGLYPH S002
+132D3 ; [.41B4.0020.0002.132D3] # EGYPTIAN HIEROGLYPH S002A
+132D4 ; [.41B5.0020.0002.132D4] # EGYPTIAN HIEROGLYPH S003
+132D5 ; [.41B6.0020.0002.132D5] # EGYPTIAN HIEROGLYPH S004
+132D6 ; [.41B7.0020.0002.132D6] # EGYPTIAN HIEROGLYPH S005
+132D7 ; [.41B8.0020.0002.132D7] # EGYPTIAN HIEROGLYPH S006
+132D8 ; [.41B9.0020.0002.132D8] # EGYPTIAN HIEROGLYPH S006A
+132D9 ; [.41BA.0020.0002.132D9] # EGYPTIAN HIEROGLYPH S007
+132DA ; [.41BB.0020.0002.132DA] # EGYPTIAN HIEROGLYPH S008
+132DB ; [.41BC.0020.0002.132DB] # EGYPTIAN HIEROGLYPH S009
+132DC ; [.41BD.0020.0002.132DC] # EGYPTIAN HIEROGLYPH S010
+132DD ; [.41BE.0020.0002.132DD] # EGYPTIAN HIEROGLYPH S011
+132DE ; [.41BF.0020.0002.132DE] # EGYPTIAN HIEROGLYPH S012
+132DF ; [.41C0.0020.0002.132DF] # EGYPTIAN HIEROGLYPH S013
+132E0 ; [.41C1.0020.0002.132E0] # EGYPTIAN HIEROGLYPH S014
+132E1 ; [.41C2.0020.0002.132E1] # EGYPTIAN HIEROGLYPH S014A
+132E2 ; [.41C3.0020.0002.132E2] # EGYPTIAN HIEROGLYPH S014B
+132E3 ; [.41C4.0020.0002.132E3] # EGYPTIAN HIEROGLYPH S015
+132E4 ; [.41C5.0020.0002.132E4] # EGYPTIAN HIEROGLYPH S016
+132E5 ; [.41C6.0020.0002.132E5] # EGYPTIAN HIEROGLYPH S017
+132E6 ; [.41C7.0020.0002.132E6] # EGYPTIAN HIEROGLYPH S017A
+132E7 ; [.41C8.0020.0002.132E7] # EGYPTIAN HIEROGLYPH S018
+132E8 ; [.41C9.0020.0002.132E8] # EGYPTIAN HIEROGLYPH S019
+132E9 ; [.41CA.0020.0002.132E9] # EGYPTIAN HIEROGLYPH S020
+132EA ; [.41CB.0020.0002.132EA] # EGYPTIAN HIEROGLYPH S021
+132EB ; [.41CC.0020.0002.132EB] # EGYPTIAN HIEROGLYPH S022
+132EC ; [.41CD.0020.0002.132EC] # EGYPTIAN HIEROGLYPH S023
+132ED ; [.41CE.0020.0002.132ED] # EGYPTIAN HIEROGLYPH S024
+132EE ; [.41CF.0020.0002.132EE] # EGYPTIAN HIEROGLYPH S025
+132EF ; [.41D0.0020.0002.132EF] # EGYPTIAN HIEROGLYPH S026
+132F0 ; [.41D1.0020.0002.132F0] # EGYPTIAN HIEROGLYPH S026A
+132F1 ; [.41D2.0020.0002.132F1] # EGYPTIAN HIEROGLYPH S026B
+132F2 ; [.41D3.0020.0002.132F2] # EGYPTIAN HIEROGLYPH S027
+132F3 ; [.41D4.0020.0002.132F3] # EGYPTIAN HIEROGLYPH S028
+132F4 ; [.41D5.0020.0002.132F4] # EGYPTIAN HIEROGLYPH S029
+132F5 ; [.41D6.0020.0002.132F5] # EGYPTIAN HIEROGLYPH S030
+132F6 ; [.41D7.0020.0002.132F6] # EGYPTIAN HIEROGLYPH S031
+132F7 ; [.41D8.0020.0002.132F7] # EGYPTIAN HIEROGLYPH S032
+132F8 ; [.41D9.0020.0002.132F8] # EGYPTIAN HIEROGLYPH S033
+132F9 ; [.41DA.0020.0002.132F9] # EGYPTIAN HIEROGLYPH S034
+132FA ; [.41DB.0020.0002.132FA] # EGYPTIAN HIEROGLYPH S035
+132FB ; [.41DC.0020.0002.132FB] # EGYPTIAN HIEROGLYPH S035A
+132FC ; [.41DD.0020.0002.132FC] # EGYPTIAN HIEROGLYPH S036
+132FD ; [.41DE.0020.0002.132FD] # EGYPTIAN HIEROGLYPH S037
+132FE ; [.41DF.0020.0002.132FE] # EGYPTIAN HIEROGLYPH S038
+132FF ; [.41E0.0020.0002.132FF] # EGYPTIAN HIEROGLYPH S039
+13300 ; [.41E1.0020.0002.13300] # EGYPTIAN HIEROGLYPH S040
+13301 ; [.41E2.0020.0002.13301] # EGYPTIAN HIEROGLYPH S041
+13302 ; [.41E3.0020.0002.13302] # EGYPTIAN HIEROGLYPH S042
+13303 ; [.41E4.0020.0002.13303] # EGYPTIAN HIEROGLYPH S043
+13304 ; [.41E5.0020.0002.13304] # EGYPTIAN HIEROGLYPH S044
+13305 ; [.41E6.0020.0002.13305] # EGYPTIAN HIEROGLYPH S045
+13306 ; [.41E7.0020.0002.13306] # EGYPTIAN HIEROGLYPH S046
+13307 ; [.41E8.0020.0002.13307] # EGYPTIAN HIEROGLYPH T001
+13308 ; [.41E9.0020.0002.13308] # EGYPTIAN HIEROGLYPH T002
+13309 ; [.41EA.0020.0002.13309] # EGYPTIAN HIEROGLYPH T003
+1330A ; [.41EB.0020.0002.1330A] # EGYPTIAN HIEROGLYPH T003A
+1330B ; [.41EC.0020.0002.1330B] # EGYPTIAN HIEROGLYPH T004
+1330C ; [.41ED.0020.0002.1330C] # EGYPTIAN HIEROGLYPH T005
+1330D ; [.41EE.0020.0002.1330D] # EGYPTIAN HIEROGLYPH T006
+1330E ; [.41EF.0020.0002.1330E] # EGYPTIAN HIEROGLYPH T007
+1330F ; [.41F0.0020.0002.1330F] # EGYPTIAN HIEROGLYPH T007A
+13310 ; [.41F1.0020.0002.13310] # EGYPTIAN HIEROGLYPH T008
+13311 ; [.41F2.0020.0002.13311] # EGYPTIAN HIEROGLYPH T008A
+13312 ; [.41F3.0020.0002.13312] # EGYPTIAN HIEROGLYPH T009
+13313 ; [.41F4.0020.0002.13313] # EGYPTIAN HIEROGLYPH T009A
+13314 ; [.41F5.0020.0002.13314] # EGYPTIAN HIEROGLYPH T010
+13315 ; [.41F6.0020.0002.13315] # EGYPTIAN HIEROGLYPH T011
+13316 ; [.41F7.0020.0002.13316] # EGYPTIAN HIEROGLYPH T011A
+13317 ; [.41F8.0020.0002.13317] # EGYPTIAN HIEROGLYPH T012
+13318 ; [.41F9.0020.0002.13318] # EGYPTIAN HIEROGLYPH T013
+13319 ; [.41FA.0020.0002.13319] # EGYPTIAN HIEROGLYPH T014
+1331A ; [.41FB.0020.0002.1331A] # EGYPTIAN HIEROGLYPH T015
+1331B ; [.41FC.0020.0002.1331B] # EGYPTIAN HIEROGLYPH T016
+1331C ; [.41FD.0020.0002.1331C] # EGYPTIAN HIEROGLYPH T016A
+1331D ; [.41FE.0020.0002.1331D] # EGYPTIAN HIEROGLYPH T017
+1331E ; [.41FF.0020.0002.1331E] # EGYPTIAN HIEROGLYPH T018
+1331F ; [.4200.0020.0002.1331F] # EGYPTIAN HIEROGLYPH T019
+13320 ; [.4201.0020.0002.13320] # EGYPTIAN HIEROGLYPH T020
+13321 ; [.4202.0020.0002.13321] # EGYPTIAN HIEROGLYPH T021
+13322 ; [.4203.0020.0002.13322] # EGYPTIAN HIEROGLYPH T022
+13323 ; [.4204.0020.0002.13323] # EGYPTIAN HIEROGLYPH T023
+13324 ; [.4205.0020.0002.13324] # EGYPTIAN HIEROGLYPH T024
+13325 ; [.4206.0020.0002.13325] # EGYPTIAN HIEROGLYPH T025
+13326 ; [.4207.0020.0002.13326] # EGYPTIAN HIEROGLYPH T026
+13327 ; [.4208.0020.0002.13327] # EGYPTIAN HIEROGLYPH T027
+13328 ; [.4209.0020.0002.13328] # EGYPTIAN HIEROGLYPH T028
+13329 ; [.420A.0020.0002.13329] # EGYPTIAN HIEROGLYPH T029
+1332A ; [.420B.0020.0002.1332A] # EGYPTIAN HIEROGLYPH T030
+1332B ; [.420C.0020.0002.1332B] # EGYPTIAN HIEROGLYPH T031
+1332C ; [.420D.0020.0002.1332C] # EGYPTIAN HIEROGLYPH T032
+1332D ; [.420E.0020.0002.1332D] # EGYPTIAN HIEROGLYPH T032A
+1332E ; [.420F.0020.0002.1332E] # EGYPTIAN HIEROGLYPH T033
+1332F ; [.4210.0020.0002.1332F] # EGYPTIAN HIEROGLYPH T033A
+13330 ; [.4211.0020.0002.13330] # EGYPTIAN HIEROGLYPH T034
+13331 ; [.4212.0020.0002.13331] # EGYPTIAN HIEROGLYPH T035
+13332 ; [.4213.0020.0002.13332] # EGYPTIAN HIEROGLYPH T036
+13333 ; [.4214.0020.0002.13333] # EGYPTIAN HIEROGLYPH U001
+13334 ; [.4215.0020.0002.13334] # EGYPTIAN HIEROGLYPH U002
+13335 ; [.4216.0020.0002.13335] # EGYPTIAN HIEROGLYPH U003
+13336 ; [.4217.0020.0002.13336] # EGYPTIAN HIEROGLYPH U004
+13337 ; [.4218.0020.0002.13337] # EGYPTIAN HIEROGLYPH U005
+13338 ; [.4219.0020.0002.13338] # EGYPTIAN HIEROGLYPH U006
+13339 ; [.421A.0020.0002.13339] # EGYPTIAN HIEROGLYPH U006A
+1333A ; [.421B.0020.0002.1333A] # EGYPTIAN HIEROGLYPH U006B
+1333B ; [.421C.0020.0002.1333B] # EGYPTIAN HIEROGLYPH U007
+1333C ; [.421D.0020.0002.1333C] # EGYPTIAN HIEROGLYPH U008
+1333D ; [.421E.0020.0002.1333D] # EGYPTIAN HIEROGLYPH U009
+1333E ; [.421F.0020.0002.1333E] # EGYPTIAN HIEROGLYPH U010
+1333F ; [.4220.0020.0002.1333F] # EGYPTIAN HIEROGLYPH U011
+13340 ; [.4221.0020.0002.13340] # EGYPTIAN HIEROGLYPH U012
+13341 ; [.4222.0020.0002.13341] # EGYPTIAN HIEROGLYPH U013
+13342 ; [.4223.0020.0002.13342] # EGYPTIAN HIEROGLYPH U014
+13343 ; [.4224.0020.0002.13343] # EGYPTIAN HIEROGLYPH U015
+13344 ; [.4225.0020.0002.13344] # EGYPTIAN HIEROGLYPH U016
+13345 ; [.4226.0020.0002.13345] # EGYPTIAN HIEROGLYPH U017
+13346 ; [.4227.0020.0002.13346] # EGYPTIAN HIEROGLYPH U018
+13347 ; [.4228.0020.0002.13347] # EGYPTIAN HIEROGLYPH U019
+13348 ; [.4229.0020.0002.13348] # EGYPTIAN HIEROGLYPH U020
+13349 ; [.422A.0020.0002.13349] # EGYPTIAN HIEROGLYPH U021
+1334A ; [.422B.0020.0002.1334A] # EGYPTIAN HIEROGLYPH U022
+1334B ; [.422C.0020.0002.1334B] # EGYPTIAN HIEROGLYPH U023
+1334C ; [.422D.0020.0002.1334C] # EGYPTIAN HIEROGLYPH U023A
+1334D ; [.422E.0020.0002.1334D] # EGYPTIAN HIEROGLYPH U024
+1334E ; [.422F.0020.0002.1334E] # EGYPTIAN HIEROGLYPH U025
+1334F ; [.4230.0020.0002.1334F] # EGYPTIAN HIEROGLYPH U026
+13350 ; [.4231.0020.0002.13350] # EGYPTIAN HIEROGLYPH U027
+13351 ; [.4232.0020.0002.13351] # EGYPTIAN HIEROGLYPH U028
+13352 ; [.4233.0020.0002.13352] # EGYPTIAN HIEROGLYPH U029
+13353 ; [.4234.0020.0002.13353] # EGYPTIAN HIEROGLYPH U029A
+13354 ; [.4235.0020.0002.13354] # EGYPTIAN HIEROGLYPH U030
+13355 ; [.4236.0020.0002.13355] # EGYPTIAN HIEROGLYPH U031
+13356 ; [.4237.0020.0002.13356] # EGYPTIAN HIEROGLYPH U032
+13357 ; [.4238.0020.0002.13357] # EGYPTIAN HIEROGLYPH U032A
+13358 ; [.4239.0020.0002.13358] # EGYPTIAN HIEROGLYPH U033
+13359 ; [.423A.0020.0002.13359] # EGYPTIAN HIEROGLYPH U034
+1335A ; [.423B.0020.0002.1335A] # EGYPTIAN HIEROGLYPH U035
+1335B ; [.423C.0020.0002.1335B] # EGYPTIAN HIEROGLYPH U036
+1335C ; [.423D.0020.0002.1335C] # EGYPTIAN HIEROGLYPH U037
+1335D ; [.423E.0020.0002.1335D] # EGYPTIAN HIEROGLYPH U038
+1335E ; [.423F.0020.0002.1335E] # EGYPTIAN HIEROGLYPH U039
+1335F ; [.4240.0020.0002.1335F] # EGYPTIAN HIEROGLYPH U040
+13360 ; [.4241.0020.0002.13360] # EGYPTIAN HIEROGLYPH U041
+13361 ; [.4242.0020.0002.13361] # EGYPTIAN HIEROGLYPH U042
+13362 ; [.4243.0020.0002.13362] # EGYPTIAN HIEROGLYPH V001
+13363 ; [.4244.0020.0002.13363] # EGYPTIAN HIEROGLYPH V001A
+13364 ; [.4245.0020.0002.13364] # EGYPTIAN HIEROGLYPH V001B
+13365 ; [.4246.0020.0002.13365] # EGYPTIAN HIEROGLYPH V001C
+13366 ; [.4247.0020.0002.13366] # EGYPTIAN HIEROGLYPH V001D
+13367 ; [.4248.0020.0002.13367] # EGYPTIAN HIEROGLYPH V001E
+13368 ; [.4249.0020.0002.13368] # EGYPTIAN HIEROGLYPH V001F
+13369 ; [.424A.0020.0002.13369] # EGYPTIAN HIEROGLYPH V001G
+1336A ; [.424B.0020.0002.1336A] # EGYPTIAN HIEROGLYPH V001H
+1336B ; [.424C.0020.0002.1336B] # EGYPTIAN HIEROGLYPH V001I
+1336C ; [.424D.0020.0002.1336C] # EGYPTIAN HIEROGLYPH V002
+1336D ; [.424E.0020.0002.1336D] # EGYPTIAN HIEROGLYPH V002A
+1336E ; [.424F.0020.0002.1336E] # EGYPTIAN HIEROGLYPH V003
+1336F ; [.4250.0020.0002.1336F] # EGYPTIAN HIEROGLYPH V004
+13370 ; [.4251.0020.0002.13370] # EGYPTIAN HIEROGLYPH V005
+13371 ; [.4252.0020.0002.13371] # EGYPTIAN HIEROGLYPH V006
+13372 ; [.4253.0020.0002.13372] # EGYPTIAN HIEROGLYPH V007
+13373 ; [.4254.0020.0002.13373] # EGYPTIAN HIEROGLYPH V007A
+13374 ; [.4255.0020.0002.13374] # EGYPTIAN HIEROGLYPH V007B
+13375 ; [.4256.0020.0002.13375] # EGYPTIAN HIEROGLYPH V008
+13376 ; [.4257.0020.0002.13376] # EGYPTIAN HIEROGLYPH V009
+13377 ; [.4258.0020.0002.13377] # EGYPTIAN HIEROGLYPH V010
+13378 ; [.4259.0020.0002.13378] # EGYPTIAN HIEROGLYPH V011
+13379 ; [.425A.0020.0002.13379] # EGYPTIAN HIEROGLYPH V011A
+1337A ; [.425B.0020.0002.1337A] # EGYPTIAN HIEROGLYPH V011B
+1337B ; [.425C.0020.0002.1337B] # EGYPTIAN HIEROGLYPH V011C
+1337C ; [.425D.0020.0002.1337C] # EGYPTIAN HIEROGLYPH V012
+1337D ; [.425E.0020.0002.1337D] # EGYPTIAN HIEROGLYPH V012A
+1337E ; [.425F.0020.0002.1337E] # EGYPTIAN HIEROGLYPH V012B
+1337F ; [.4260.0020.0002.1337F] # EGYPTIAN HIEROGLYPH V013
+13380 ; [.4261.0020.0002.13380] # EGYPTIAN HIEROGLYPH V014
+13381 ; [.4262.0020.0002.13381] # EGYPTIAN HIEROGLYPH V015
+13382 ; [.4263.0020.0002.13382] # EGYPTIAN HIEROGLYPH V016
+13383 ; [.4264.0020.0002.13383] # EGYPTIAN HIEROGLYPH V017
+13384 ; [.4265.0020.0002.13384] # EGYPTIAN HIEROGLYPH V018
+13385 ; [.4266.0020.0002.13385] # EGYPTIAN HIEROGLYPH V019
+13386 ; [.4267.0020.0002.13386] # EGYPTIAN HIEROGLYPH V020
+13387 ; [.4268.0020.0002.13387] # EGYPTIAN HIEROGLYPH V020A
+13388 ; [.4269.0020.0002.13388] # EGYPTIAN HIEROGLYPH V020B
+13389 ; [.426A.0020.0002.13389] # EGYPTIAN HIEROGLYPH V020C
+1338A ; [.426B.0020.0002.1338A] # EGYPTIAN HIEROGLYPH V020D
+1338B ; [.426C.0020.0002.1338B] # EGYPTIAN HIEROGLYPH V020E
+1338C ; [.426D.0020.0002.1338C] # EGYPTIAN HIEROGLYPH V020F
+1338D ; [.426E.0020.0002.1338D] # EGYPTIAN HIEROGLYPH V020G
+1338E ; [.426F.0020.0002.1338E] # EGYPTIAN HIEROGLYPH V020H
+1338F ; [.4270.0020.0002.1338F] # EGYPTIAN HIEROGLYPH V020I
+13390 ; [.4271.0020.0002.13390] # EGYPTIAN HIEROGLYPH V020J
+13391 ; [.4272.0020.0002.13391] # EGYPTIAN HIEROGLYPH V020K
+13392 ; [.4273.0020.0002.13392] # EGYPTIAN HIEROGLYPH V020L
+13393 ; [.4274.0020.0002.13393] # EGYPTIAN HIEROGLYPH V021
+13394 ; [.4275.0020.0002.13394] # EGYPTIAN HIEROGLYPH V022
+13395 ; [.4276.0020.0002.13395] # EGYPTIAN HIEROGLYPH V023
+13396 ; [.4277.0020.0002.13396] # EGYPTIAN HIEROGLYPH V023A
+13397 ; [.4278.0020.0002.13397] # EGYPTIAN HIEROGLYPH V024
+13398 ; [.4279.0020.0002.13398] # EGYPTIAN HIEROGLYPH V025
+13399 ; [.427A.0020.0002.13399] # EGYPTIAN HIEROGLYPH V026
+1339A ; [.427B.0020.0002.1339A] # EGYPTIAN HIEROGLYPH V027
+1339B ; [.427C.0020.0002.1339B] # EGYPTIAN HIEROGLYPH V028
+1339C ; [.427D.0020.0002.1339C] # EGYPTIAN HIEROGLYPH V028A
+1339D ; [.427E.0020.0002.1339D] # EGYPTIAN HIEROGLYPH V029
+1339E ; [.427F.0020.0002.1339E] # EGYPTIAN HIEROGLYPH V029A
+1339F ; [.4280.0020.0002.1339F] # EGYPTIAN HIEROGLYPH V030
+133A0 ; [.4281.0020.0002.133A0] # EGYPTIAN HIEROGLYPH V030A
+133A1 ; [.4282.0020.0002.133A1] # EGYPTIAN HIEROGLYPH V031
+133A2 ; [.4283.0020.0002.133A2] # EGYPTIAN HIEROGLYPH V031A
+133A3 ; [.4284.0020.0002.133A3] # EGYPTIAN HIEROGLYPH V032
+133A4 ; [.4285.0020.0002.133A4] # EGYPTIAN HIEROGLYPH V033
+133A5 ; [.4286.0020.0002.133A5] # EGYPTIAN HIEROGLYPH V033A
+133A6 ; [.4287.0020.0002.133A6] # EGYPTIAN HIEROGLYPH V034
+133A7 ; [.4288.0020.0002.133A7] # EGYPTIAN HIEROGLYPH V035
+133A8 ; [.4289.0020.0002.133A8] # EGYPTIAN HIEROGLYPH V036
+133A9 ; [.428A.0020.0002.133A9] # EGYPTIAN HIEROGLYPH V037
+133AA ; [.428B.0020.0002.133AA] # EGYPTIAN HIEROGLYPH V037A
+133AB ; [.428C.0020.0002.133AB] # EGYPTIAN HIEROGLYPH V038
+133AC ; [.428D.0020.0002.133AC] # EGYPTIAN HIEROGLYPH V039
+133AD ; [.428E.0020.0002.133AD] # EGYPTIAN HIEROGLYPH V040
+133AE ; [.428F.0020.0002.133AE] # EGYPTIAN HIEROGLYPH V040A
+133AF ; [.4290.0020.0002.133AF] # EGYPTIAN HIEROGLYPH W001
+133B0 ; [.4291.0020.0002.133B0] # EGYPTIAN HIEROGLYPH W002
+133B1 ; [.4292.0020.0002.133B1] # EGYPTIAN HIEROGLYPH W003
+133B2 ; [.4293.0020.0002.133B2] # EGYPTIAN HIEROGLYPH W003A
+133B3 ; [.4294.0020.0002.133B3] # EGYPTIAN HIEROGLYPH W004
+133B4 ; [.4295.0020.0002.133B4] # EGYPTIAN HIEROGLYPH W005
+133B5 ; [.4296.0020.0002.133B5] # EGYPTIAN HIEROGLYPH W006
+133B6 ; [.4297.0020.0002.133B6] # EGYPTIAN HIEROGLYPH W007
+133B7 ; [.4298.0020.0002.133B7] # EGYPTIAN HIEROGLYPH W008
+133B8 ; [.4299.0020.0002.133B8] # EGYPTIAN HIEROGLYPH W009
+133B9 ; [.429A.0020.0002.133B9] # EGYPTIAN HIEROGLYPH W009A
+133BA ; [.429B.0020.0002.133BA] # EGYPTIAN HIEROGLYPH W010
+133BB ; [.429C.0020.0002.133BB] # EGYPTIAN HIEROGLYPH W010A
+133BC ; [.429D.0020.0002.133BC] # EGYPTIAN HIEROGLYPH W011
+133BD ; [.429E.0020.0002.133BD] # EGYPTIAN HIEROGLYPH W012
+133BE ; [.429F.0020.0002.133BE] # EGYPTIAN HIEROGLYPH W013
+133BF ; [.42A0.0020.0002.133BF] # EGYPTIAN HIEROGLYPH W014
+133C0 ; [.42A1.0020.0002.133C0] # EGYPTIAN HIEROGLYPH W014A
+133C1 ; [.42A2.0020.0002.133C1] # EGYPTIAN HIEROGLYPH W015
+133C2 ; [.42A3.0020.0002.133C2] # EGYPTIAN HIEROGLYPH W016
+133C3 ; [.42A4.0020.0002.133C3] # EGYPTIAN HIEROGLYPH W017
+133C4 ; [.42A5.0020.0002.133C4] # EGYPTIAN HIEROGLYPH W017A
+133C5 ; [.42A6.0020.0002.133C5] # EGYPTIAN HIEROGLYPH W018
+133C6 ; [.42A7.0020.0002.133C6] # EGYPTIAN HIEROGLYPH W018A
+133C7 ; [.42A8.0020.0002.133C7] # EGYPTIAN HIEROGLYPH W019
+133C8 ; [.42A9.0020.0002.133C8] # EGYPTIAN HIEROGLYPH W020
+133C9 ; [.42AA.0020.0002.133C9] # EGYPTIAN HIEROGLYPH W021
+133CA ; [.42AB.0020.0002.133CA] # EGYPTIAN HIEROGLYPH W022
+133CB ; [.42AC.0020.0002.133CB] # EGYPTIAN HIEROGLYPH W023
+133CC ; [.42AD.0020.0002.133CC] # EGYPTIAN HIEROGLYPH W024
+133CD ; [.42AE.0020.0002.133CD] # EGYPTIAN HIEROGLYPH W024A
+133CE ; [.42AF.0020.0002.133CE] # EGYPTIAN HIEROGLYPH W025
+133CF ; [.42B0.0020.0002.133CF] # EGYPTIAN HIEROGLYPH X001
+133D0 ; [.42B1.0020.0002.133D0] # EGYPTIAN HIEROGLYPH X002
+133D1 ; [.42B2.0020.0002.133D1] # EGYPTIAN HIEROGLYPH X003
+133D2 ; [.42B3.0020.0002.133D2] # EGYPTIAN HIEROGLYPH X004
+133D3 ; [.42B4.0020.0002.133D3] # EGYPTIAN HIEROGLYPH X004A
+133D4 ; [.42B5.0020.0002.133D4] # EGYPTIAN HIEROGLYPH X004B
+133D5 ; [.42B6.0020.0002.133D5] # EGYPTIAN HIEROGLYPH X005
+133D6 ; [.42B7.0020.0002.133D6] # EGYPTIAN HIEROGLYPH X006
+133D7 ; [.42B8.0020.0002.133D7] # EGYPTIAN HIEROGLYPH X006A
+133D8 ; [.42B9.0020.0002.133D8] # EGYPTIAN HIEROGLYPH X007
+133D9 ; [.42BA.0020.0002.133D9] # EGYPTIAN HIEROGLYPH X008
+133DA ; [.42BB.0020.0002.133DA] # EGYPTIAN HIEROGLYPH X008A
+133DB ; [.42BC.0020.0002.133DB] # EGYPTIAN HIEROGLYPH Y001
+133DC ; [.42BD.0020.0002.133DC] # EGYPTIAN HIEROGLYPH Y001A
+133DD ; [.42BE.0020.0002.133DD] # EGYPTIAN HIEROGLYPH Y002
+133DE ; [.42BF.0020.0002.133DE] # EGYPTIAN HIEROGLYPH Y003
+133DF ; [.42C0.0020.0002.133DF] # EGYPTIAN HIEROGLYPH Y004
+133E0 ; [.42C1.0020.0002.133E0] # EGYPTIAN HIEROGLYPH Y005
+133E1 ; [.42C2.0020.0002.133E1] # EGYPTIAN HIEROGLYPH Y006
+133E2 ; [.42C3.0020.0002.133E2] # EGYPTIAN HIEROGLYPH Y007
+133E3 ; [.42C4.0020.0002.133E3] # EGYPTIAN HIEROGLYPH Y008
+133E4 ; [.42C5.0020.0002.133E4] # EGYPTIAN HIEROGLYPH Z001
+133E5 ; [.42C6.0020.0002.133E5] # EGYPTIAN HIEROGLYPH Z002
+133E6 ; [.42C7.0020.0002.133E6] # EGYPTIAN HIEROGLYPH Z002A
+133E7 ; [.42C8.0020.0002.133E7] # EGYPTIAN HIEROGLYPH Z002B
+133E8 ; [.42C9.0020.0002.133E8] # EGYPTIAN HIEROGLYPH Z002C
+133E9 ; [.42CA.0020.0002.133E9] # EGYPTIAN HIEROGLYPH Z002D
+133EA ; [.42CB.0020.0002.133EA] # EGYPTIAN HIEROGLYPH Z003
+133EB ; [.42CC.0020.0002.133EB] # EGYPTIAN HIEROGLYPH Z003A
+133EC ; [.42CD.0020.0002.133EC] # EGYPTIAN HIEROGLYPH Z003B
+133ED ; [.42CE.0020.0002.133ED] # EGYPTIAN HIEROGLYPH Z004
+133EE ; [.42CF.0020.0002.133EE] # EGYPTIAN HIEROGLYPH Z004A
+133EF ; [.42D0.0020.0002.133EF] # EGYPTIAN HIEROGLYPH Z005
+133F0 ; [.42D1.0020.0002.133F0] # EGYPTIAN HIEROGLYPH Z005A
+133F1 ; [.42D2.0020.0002.133F1] # EGYPTIAN HIEROGLYPH Z006
+133F2 ; [.42D3.0020.0002.133F2] # EGYPTIAN HIEROGLYPH Z007
+133F3 ; [.42D4.0020.0002.133F3] # EGYPTIAN HIEROGLYPH Z008
+133F4 ; [.42D5.0020.0002.133F4] # EGYPTIAN HIEROGLYPH Z009
+133F5 ; [.42D6.0020.0002.133F5] # EGYPTIAN HIEROGLYPH Z010
+133F6 ; [.42D7.0020.0002.133F6] # EGYPTIAN HIEROGLYPH Z011
+133F7 ; [.42D8.0020.0002.133F7] # EGYPTIAN HIEROGLYPH Z012
+133F8 ; [.42D9.0020.0002.133F8] # EGYPTIAN HIEROGLYPH Z013
+133F9 ; [.42DA.0020.0002.133F9] # EGYPTIAN HIEROGLYPH Z014
+133FA ; [.42DB.0020.0002.133FA] # EGYPTIAN HIEROGLYPH Z015
+133FB ; [.42DC.0020.0002.133FB] # EGYPTIAN HIEROGLYPH Z015A
+133FC ; [.42DD.0020.0002.133FC] # EGYPTIAN HIEROGLYPH Z015B
+133FD ; [.42DE.0020.0002.133FD] # EGYPTIAN HIEROGLYPH Z015C
+133FE ; [.42DF.0020.0002.133FE] # EGYPTIAN HIEROGLYPH Z015D
+133FF ; [.42E0.0020.0002.133FF] # EGYPTIAN HIEROGLYPH Z015E
+13400 ; [.42E1.0020.0002.13400] # EGYPTIAN HIEROGLYPH Z015F
+13401 ; [.42E2.0020.0002.13401] # EGYPTIAN HIEROGLYPH Z015G
+13402 ; [.42E3.0020.0002.13402] # EGYPTIAN HIEROGLYPH Z015H
+13403 ; [.42E4.0020.0002.13403] # EGYPTIAN HIEROGLYPH Z015I
+13404 ; [.42E5.0020.0002.13404] # EGYPTIAN HIEROGLYPH Z016
+13405 ; [.42E6.0020.0002.13405] # EGYPTIAN HIEROGLYPH Z016A
+13406 ; [.42E7.0020.0002.13406] # EGYPTIAN HIEROGLYPH Z016B
+13407 ; [.42E8.0020.0002.13407] # EGYPTIAN HIEROGLYPH Z016C
+13408 ; [.42E9.0020.0002.13408] # EGYPTIAN HIEROGLYPH Z016D
+13409 ; [.42EA.0020.0002.13409] # EGYPTIAN HIEROGLYPH Z016E
+1340A ; [.42EB.0020.0002.1340A] # EGYPTIAN HIEROGLYPH Z016F
+1340B ; [.42EC.0020.0002.1340B] # EGYPTIAN HIEROGLYPH Z016G
+1340C ; [.42ED.0020.0002.1340C] # EGYPTIAN HIEROGLYPH Z016H
+1340D ; [.42EE.0020.0002.1340D] # EGYPTIAN HIEROGLYPH AA001
+1340E ; [.42EF.0020.0002.1340E] # EGYPTIAN HIEROGLYPH AA002
+1340F ; [.42F0.0020.0002.1340F] # EGYPTIAN HIEROGLYPH AA003
+13410 ; [.42F1.0020.0002.13410] # EGYPTIAN HIEROGLYPH AA004
+13411 ; [.42F2.0020.0002.13411] # EGYPTIAN HIEROGLYPH AA005
+13412 ; [.42F3.0020.0002.13412] # EGYPTIAN HIEROGLYPH AA006
+13413 ; [.42F4.0020.0002.13413] # EGYPTIAN HIEROGLYPH AA007
+13414 ; [.42F5.0020.0002.13414] # EGYPTIAN HIEROGLYPH AA007A
+13415 ; [.42F6.0020.0002.13415] # EGYPTIAN HIEROGLYPH AA007B
+13416 ; [.42F7.0020.0002.13416] # EGYPTIAN HIEROGLYPH AA008
+13417 ; [.42F8.0020.0002.13417] # EGYPTIAN HIEROGLYPH AA009
+13418 ; [.42F9.0020.0002.13418] # EGYPTIAN HIEROGLYPH AA010
+13419 ; [.42FA.0020.0002.13419] # EGYPTIAN HIEROGLYPH AA011
+1341A ; [.42FB.0020.0002.1341A] # EGYPTIAN HIEROGLYPH AA012
+1341B ; [.42FC.0020.0002.1341B] # EGYPTIAN HIEROGLYPH AA013
+1341C ; [.42FD.0020.0002.1341C] # EGYPTIAN HIEROGLYPH AA014
+1341D ; [.42FE.0020.0002.1341D] # EGYPTIAN HIEROGLYPH AA015
+1341E ; [.42FF.0020.0002.1341E] # EGYPTIAN HIEROGLYPH AA016
+1341F ; [.4300.0020.0002.1341F] # EGYPTIAN HIEROGLYPH AA017
+13420 ; [.4301.0020.0002.13420] # EGYPTIAN HIEROGLYPH AA018
+13421 ; [.4302.0020.0002.13421] # EGYPTIAN HIEROGLYPH AA019
+13422 ; [.4303.0020.0002.13422] # EGYPTIAN HIEROGLYPH AA020
+13423 ; [.4304.0020.0002.13423] # EGYPTIAN HIEROGLYPH AA021
+13424 ; [.4305.0020.0002.13424] # EGYPTIAN HIEROGLYPH AA022
+13425 ; [.4306.0020.0002.13425] # EGYPTIAN HIEROGLYPH AA023
+13426 ; [.4307.0020.0002.13426] # EGYPTIAN HIEROGLYPH AA024
+13427 ; [.4308.0020.0002.13427] # EGYPTIAN HIEROGLYPH AA025
+13428 ; [.4309.0020.0002.13428] # EGYPTIAN HIEROGLYPH AA026
+13429 ; [.430A.0020.0002.13429] # EGYPTIAN HIEROGLYPH AA027
+1342A ; [.430B.0020.0002.1342A] # EGYPTIAN HIEROGLYPH AA028
+1342B ; [.430C.0020.0002.1342B] # EGYPTIAN HIEROGLYPH AA029
+1342C ; [.430D.0020.0002.1342C] # EGYPTIAN HIEROGLYPH AA030
+1342D ; [.430E.0020.0002.1342D] # EGYPTIAN HIEROGLYPH AA031
+1342E ; [.430F.0020.0002.1342E] # EGYPTIAN HIEROGLYPH AA032
+109A0 ; [.4310.0020.0002.109A0] # MEROITIC CURSIVE LETTER A
+10980 ; [.4310.0020.0004.10980][.0000.0139.0004.10980] # MEROITIC HIEROGLYPHIC LETTER A
+109A1 ; [.4311.0020.0002.109A1] # MEROITIC CURSIVE LETTER E
+10981 ; [.4311.0020.0004.10981][.0000.0139.0004.10981] # MEROITIC HIEROGLYPHIC LETTER E
+109A2 ; [.4312.0020.0002.109A2] # MEROITIC CURSIVE LETTER I
+10982 ; [.4312.0020.0004.10982][.0000.0139.0004.10982] # MEROITIC HIEROGLYPHIC LETTER I
+109A3 ; [.4313.0020.0002.109A3] # MEROITIC CURSIVE LETTER O
+10983 ; [.4313.0020.0004.10983][.0000.0139.0004.10983] # MEROITIC HIEROGLYPHIC LETTER O
+109A4 ; [.4314.0020.0002.109A4] # MEROITIC CURSIVE LETTER YA
+10984 ; [.4314.0020.0004.10984][.0000.0139.0004.10984] # MEROITIC HIEROGLYPHIC LETTER YA
+109A5 ; [.4315.0020.0002.109A5] # MEROITIC CURSIVE LETTER WA
+10985 ; [.4315.0020.0004.10985][.0000.0139.0004.10985] # MEROITIC HIEROGLYPHIC LETTER WA
+109A6 ; [.4316.0020.0002.109A6] # MEROITIC CURSIVE LETTER BA
+10986 ; [.4316.0020.0004.10986][.0000.0139.0004.10986] # MEROITIC HIEROGLYPHIC LETTER BA
+10987 ; [.4316.0020.0004.10987][.0000.013A.0004.10987] # MEROITIC HIEROGLYPHIC LETTER BA-2
+109A7 ; [.4317.0020.0002.109A7] # MEROITIC CURSIVE LETTER PA
+10988 ; [.4317.0020.0004.10988][.0000.0139.0004.10988] # MEROITIC HIEROGLYPHIC LETTER PA
+109A8 ; [.4318.0020.0002.109A8] # MEROITIC CURSIVE LETTER MA
+10989 ; [.4318.0020.0004.10989][.0000.0139.0004.10989] # MEROITIC HIEROGLYPHIC LETTER MA
+109A9 ; [.4319.0020.0002.109A9] # MEROITIC CURSIVE LETTER NA
+1098A ; [.4319.0020.0004.1098A][.0000.0139.0004.1098A] # MEROITIC HIEROGLYPHIC LETTER NA
+1098B ; [.4319.0020.0004.1098B][.0000.013A.0004.1098B] # MEROITIC HIEROGLYPHIC LETTER NA-2
+109AA ; [.431A.0020.0002.109AA] # MEROITIC CURSIVE LETTER NE
+1098C ; [.431A.0020.0004.1098C][.0000.0139.0004.1098C] # MEROITIC HIEROGLYPHIC LETTER NE
+1098D ; [.431A.0020.0004.1098D][.0000.013A.0004.1098D] # MEROITIC HIEROGLYPHIC LETTER NE-2
+109AB ; [.431B.0020.0002.109AB] # MEROITIC CURSIVE LETTER RA
+1098E ; [.431B.0020.0004.1098E][.0000.0139.0004.1098E] # MEROITIC HIEROGLYPHIC LETTER RA
+1098F ; [.431B.0020.0004.1098F][.0000.013A.0004.1098F] # MEROITIC HIEROGLYPHIC LETTER RA-2
+109AC ; [.431C.0020.0002.109AC] # MEROITIC CURSIVE LETTER LA
+10990 ; [.431C.0020.0004.10990][.0000.0139.0004.10990] # MEROITIC HIEROGLYPHIC LETTER LA
+109AD ; [.431D.0020.0002.109AD] # MEROITIC CURSIVE LETTER KHA
+10991 ; [.431D.0020.0004.10991][.0000.0139.0004.10991] # MEROITIC HIEROGLYPHIC LETTER KHA
+109AE ; [.431E.0020.0002.109AE] # MEROITIC CURSIVE LETTER HHA
+10992 ; [.431E.0020.0004.10992][.0000.0139.0004.10992] # MEROITIC HIEROGLYPHIC LETTER HHA
+109AF ; [.431F.0020.0002.109AF] # MEROITIC CURSIVE LETTER SA
+109B0 ; [.431F.0020.0004.109B0][.0000.0139.0004.109B0] # MEROITIC CURSIVE LETTER ARCHAIC SA
+10993 ; [.431F.0020.0004.10993][.0000.013A.0004.10993] # MEROITIC HIEROGLYPHIC LETTER SA
+10994 ; [.431F.0020.0004.10994][.0000.013C.0004.10994] # MEROITIC HIEROGLYPHIC LETTER SA-2
+109B1 ; [.4320.0020.0002.109B1] # MEROITIC CURSIVE LETTER SE
+10995 ; [.4320.0020.0004.10995][.0000.0139.0004.10995] # MEROITIC HIEROGLYPHIC LETTER SE
+109B2 ; [.4321.0020.0002.109B2] # MEROITIC CURSIVE LETTER KA
+10996 ; [.4321.0020.0004.10996][.0000.0139.0004.10996] # MEROITIC HIEROGLYPHIC LETTER KA
+109B3 ; [.4322.0020.0002.109B3] # MEROITIC CURSIVE LETTER QA
+10997 ; [.4322.0020.0004.10997][.0000.0139.0004.10997] # MEROITIC HIEROGLYPHIC LETTER QA
+109B4 ; [.4323.0020.0002.109B4] # MEROITIC CURSIVE LETTER TA
+10998 ; [.4323.0020.0004.10998][.0000.0139.0004.10998] # MEROITIC HIEROGLYPHIC LETTER TA
+10999 ; [.4323.0020.0004.10999][.0000.013A.0004.10999] # MEROITIC HIEROGLYPHIC LETTER TA-2
+109B5 ; [.4324.0020.0002.109B5] # MEROITIC CURSIVE LETTER TE
+1099A ; [.4324.0020.0004.1099A][.0000.0139.0004.1099A] # MEROITIC HIEROGLYPHIC LETTER TE
+1099B ; [.4324.0020.0004.1099B][.0000.013A.0004.1099B] # MEROITIC HIEROGLYPHIC LETTER TE-2
+109B6 ; [.4325.0020.0002.109B6] # MEROITIC CURSIVE LETTER TO
+1099C ; [.4325.0020.0004.1099C][.0000.0139.0004.1099C] # MEROITIC HIEROGLYPHIC LETTER TO
+109B7 ; [.4326.0020.0002.109B7] # MEROITIC CURSIVE LETTER DA
+1099D ; [.4326.0020.0004.1099D][.0000.0139.0004.1099D] # MEROITIC HIEROGLYPHIC LETTER DA
+109BE ; [.4327.0020.0002.109BE] # MEROITIC CURSIVE LOGOGRAM RMT
+109BF ; [.4328.0020.0002.109BF] # MEROITIC CURSIVE LOGOGRAM IMN
+1099E ; [.4329.0020.0002.1099E] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ
+1099F ; [.432A.0020.0002.1099F] # MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+2F00  ; [.FB40.0020.0004.4E00][.CE00.0000.0000.4E00] # KANGXI RADICAL ONE
+3220  ; [*02FB.0020.0004.3220][.FB40.0020.0004.4E00][.CE00.0000.0000.4E00][*02FC.0020.001F.3220] # PARENTHESIZED IDEOGRAPH ONE
+3280  ; [.FB40.0020.0006.4E00][.CE00.0000.0000.4E00] # CIRCLED IDEOGRAPH ONE
+3192  ; [.FB40.0020.0014.4E00][.CE00.0000.0000.4E00] # IDEOGRAPHIC ANNOTATION ONE MARK
+1F229 ; [.FB40.0020.001C.4E00][.CE00.0000.0000.4E00] # SQUARED CJK UNIFIED IDEOGRAPH-4E00
+319C  ; [.FB40.0020.0014.4E01][.CE01.0000.0000.4E01] # IDEOGRAPHIC ANNOTATION FOURTH MARK
+3226  ; [*02FB.0020.0004.3226][.FB40.0020.0004.4E03][.CE03.0000.0000.4E03][*02FC.0020.001F.3226] # PARENTHESIZED IDEOGRAPH SEVEN
+3286  ; [.FB40.0020.0006.4E03][.CE03.0000.0000.4E03] # CIRCLED IDEOGRAPH SEVEN
+3222  ; [*02FB.0020.0004.3222][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*02FC.0020.001F.3222] # PARENTHESIZED IDEOGRAPH THREE
+1F241 ; [*0359.0020.0004.1F241][.FB40.0020.0004.4E09][.CE09.0000.0000.4E09][*035A.0020.001F.1F241] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E09
+3282  ; [.FB40.0020.0006.4E09][.CE09.0000.0000.4E09] # CIRCLED IDEOGRAPH THREE
+3194  ; [.FB40.0020.0014.4E09][.CE09.0000.0000.4E09] # IDEOGRAPHIC ANNOTATION THREE MARK
+1F22A ; [.FB40.0020.001C.4E09][.CE09.0000.0000.4E09] # SQUARED CJK UNIFIED IDEOGRAPH-4E09
+32A4  ; [.FB40.0020.0006.4E0A][.CE0A.0000.0000.4E0A] # CIRCLED IDEOGRAPH HIGH
+3196  ; [.FB40.0020.0014.4E0A][.CE0A.0000.0000.4E0A] # IDEOGRAPHIC ANNOTATION TOP MARK
+32A6  ; [.FB40.0020.0006.4E0B][.CE0B.0000.0000.4E0B] # CIRCLED IDEOGRAPH LOW
+3198  ; [.FB40.0020.0014.4E0B][.CE0B.0000.0000.4E0B] # IDEOGRAPHIC ANNOTATION BOTTOM MARK
+F967  ; [.FB40.0020.0002.4E0D][.CE0D.0000.0000.4E0D] # CJK COMPATIBILITY IDEOGRAPH-F967
+319B  ; [.FB40.0020.0014.4E19][.CE19.0000.0000.4E19] # IDEOGRAPHIC ANNOTATION THIRD MARK
+FA70  ; [.FB40.0020.0002.4E26][.CE26.0000.0000.4E26] # CJK COMPATIBILITY IDEOGRAPH-FA70
+2F01  ; [.FB40.0020.0004.4E28][.CE28.0000.0000.4E28] # KANGXI RADICAL LINE
+2EA6  ; [.FB40.0020.0004.4E2C][.CE2C.0000.0000.4E2C] # CJK RADICAL SIMPLIFIED HALF TREE TRUNK
+32A5  ; [.FB40.0020.0006.4E2D][.CE2D.0000.0000.4E2D] # CIRCLED IDEOGRAPH CENTRE
+3197  ; [.FB40.0020.0014.4E2D][.CE2D.0000.0000.4E2D] # IDEOGRAPHIC ANNOTATION MIDDLE MARK
+1F22D ; [.FB40.0020.001C.4E2D][.CE2D.0000.0000.4E2D] # SQUARED CJK UNIFIED IDEOGRAPH-4E2D
+F905  ; [.FB40.0020.0002.4E32][.CE32.0000.0000.4E32] # CJK COMPATIBILITY IDEOGRAPH-F905
+2F02  ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36] # KANGXI RADICAL DOT
+2E80  ; [.FB40.0020.0004.4E36][.CE36.0000.0000.4E36][.0000.0139.0004.2E80] # CJK RADICAL REPEAT
+2F801 ; [.FB40.0020.0002.4E38][.CE38.0000.0000.4E38] # CJK COMPATIBILITY IDEOGRAPH-2F801
+F95E  ; [.FB40.0020.0002.4E39][.CE39.0000.0000.4E39] # CJK COMPATIBILITY IDEOGRAPH-F95E
+2F800 ; [.FB40.0020.0002.4E3D][.CE3D.0000.0000.4E3D] # CJK COMPATIBILITY IDEOGRAPH-2F800
+2F03  ; [.FB40.0020.0004.4E3F][.CE3F.0000.0000.4E3F] # KANGXI RADICAL SLASH
+2F802 ; [.FB40.0020.0002.4E41][.CE41.0000.0000.4E41] # CJK COMPATIBILITY IDEOGRAPH-2F802
+2F04  ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59] # KANGXI RADICAL SECOND
+319A  ; [.FB40.0020.0014.4E59][.CE59.0000.0000.4E59] # IDEOGRAPHIC ANNOTATION SECOND MARK
+2E84  ; [.FB40.0020.0004.4E59][.CE59.0000.0000.4E59][.0000.0139.0004.2E84] # CJK RADICAL SECOND THREE
+2E83  ; [.FB40.0020.0004.4E5A][.CE5A.0000.0000.4E5A] # CJK RADICAL SECOND TWO
+2E82  ; [.FB40.0020.0004.4E5B][.CE5B.0000.0000.4E5B] # CJK RADICAL SECOND ONE
+3228  ; [*02FB.0020.0004.3228][.FB40.0020.0004.4E5D][.CE5D.0000.0000.4E5D][*02FC.0020.001F.3228] # PARENTHESIZED IDEOGRAPH NINE
+3288  ; [.FB40.0020.0006.4E5D][.CE5D.0000.0000.4E5D] # CIRCLED IDEOGRAPH NINE
+F91B  ; [.FB40.0020.0002.4E82][.CE82.0000.0000.4E82] # CJK COMPATIBILITY IDEOGRAPH-F91B
+2F05  ; [.FB40.0020.0004.4E85][.CE85.0000.0000.4E85] # KANGXI RADICAL HOOK
+F9BA  ; [.FB40.0020.0002.4E86][.CE86.0000.0000.4E86] # CJK COMPATIBILITY IDEOGRAPH-F9BA
+2F06  ; [.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C] # KANGXI RADICAL TWO
+3221  ; [*02FB.0020.0004.3221][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*02FC.0020.001F.3221] # PARENTHESIZED IDEOGRAPH TWO
+1F242 ; [*0359.0020.0004.1F242][.FB40.0020.0004.4E8C][.CE8C.0000.0000.4E8C][*035A.0020.001F.1F242] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-4E8C
+3281  ; [.FB40.0020.0006.4E8C][.CE8C.0000.0000.4E8C] # CIRCLED IDEOGRAPH TWO
+3193  ; [.FB40.0020.0014.4E8C][.CE8C.0000.0000.4E8C] # IDEOGRAPHIC ANNOTATION TWO MARK
+1F214 ; [.FB40.0020.001C.4E8C][.CE8C.0000.0000.4E8C] # SQUARED CJK UNIFIED IDEOGRAPH-4E8C
+3224  ; [*02FB.0020.0004.3224][.FB40.0020.0004.4E94][.CE94.0000.0000.4E94][*02FC.0020.001F.3224] # PARENTHESIZED IDEOGRAPH FIVE
+3284  ; [.FB40.0020.0006.4E94][.CE94.0000.0000.4E94] # CIRCLED IDEOGRAPH FIVE
+2F07  ; [.FB40.0020.0004.4EA0][.CEA0.0000.0000.4EA0] # KANGXI RADICAL LID
+1F218 ; [.FB40.0020.001C.4EA4][.CEA4.0000.0000.4EA4] # SQUARED CJK UNIFIED IDEOGRAPH-4EA4
+F977  ; [.FB40.0020.0002.4EAE][.CEAE.0000.0000.4EAE] # CJK COMPATIBILITY IDEOGRAPH-F977
+2F08  ; [.FB40.0020.0004.4EBA][.CEBA.0000.0000.4EBA] # KANGXI RADICAL MAN
+319F  ; [.FB40.0020.0014.4EBA][.CEBA.0000.0000.4EBA] # IDEOGRAPHIC ANNOTATION MAN MARK
+2E85  ; [.FB40.0020.0004.4EBB][.CEBB.0000.0000.4EBB] # CJK RADICAL PERSON
+F9FD  ; [.FB40.0020.0002.4EC0][.CEC0.0000.0000.4EC0] # CJK COMPATIBILITY IDEOGRAPH-F9FD
+2F819 ; [.FB40.0020.0002.4ECC][.CECC.0000.0000.4ECC] # CJK COMPATIBILITY IDEOGRAPH-2F819
+3239  ; [*02FB.0020.0004.3239][.FB40.0020.0004.4EE3][.CEE3.0000.0000.4EE3][*02FC.0020.001F.3239] # PARENTHESIZED IDEOGRAPH REPRESENT
+F9A8  ; [.FB40.0020.0002.4EE4][.CEE4.0000.0000.4EE4] # CJK COMPATIBILITY IDEOGRAPH-F9A8
+323D  ; [*02FB.0020.0004.323D][.FB40.0020.0004.4F01][.CF01.0000.0000.4F01][*02FC.0020.001F.323D] # PARENTHESIZED IDEOGRAPH ENTERPRISE
+32AD  ; [.FB40.0020.0006.4F01][.CF01.0000.0000.4F01] # CIRCLED IDEOGRAPH ENTERPRISE
+3241  ; [*02FB.0020.0004.3241][.FB40.0020.0004.4F11][.CF11.0000.0000.4F11][*02FC.0020.001F.3241] # PARENTHESIZED IDEOGRAPH REST
+32A1  ; [.FB40.0020.0006.4F11][.CF11.0000.0000.4F11] # CIRCLED IDEOGRAPH REST
+2F804 ; [.FB40.0020.0002.4F60][.CF60.0000.0000.4F60] # CJK COMPATIBILITY IDEOGRAPH-2F804
+FA73  ; [.FB40.0020.0002.4F80][.CF80.0000.0000.4F80] # CJK COMPATIBILITY IDEOGRAPH-FA73
+F92D  ; [.FB40.0020.0002.4F86][.CF86.0000.0000.4F86] # CJK COMPATIBILITY IDEOGRAPH-F92D
+F9B5  ; [.FB40.0020.0002.4F8B][.CF8B.0000.0000.4F8B] # CJK COMPATIBILITY IDEOGRAPH-F9B5
+FA30  ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-FA30
+2F805 ; [.FB40.0020.0002.4FAE][.CFAE.0000.0000.4FAE] # CJK COMPATIBILITY IDEOGRAPH-2F805
+2F806 ; [.FB40.0020.0002.4FBB][.CFBB.0000.0000.4FBB] # CJK COMPATIBILITY IDEOGRAPH-2F806
+F965  ; [.FB40.0020.0002.4FBF][.CFBF.0000.0000.4FBF] # CJK COMPATIBILITY IDEOGRAPH-F965
+2F807 ; [.FB40.0020.0002.5002][.D002.0000.0000.5002] # CJK COMPATIBILITY IDEOGRAPH-2F807
+F9D4  ; [.FB40.0020.0002.502B][.D02B.0000.0000.502B] # CJK COMPATIBILITY IDEOGRAPH-F9D4
+2F808 ; [.FB40.0020.0002.507A][.D07A.0000.0000.507A] # CJK COMPATIBILITY IDEOGRAPH-2F808
+2F809 ; [.FB40.0020.0002.5099][.D099.0000.0000.5099] # CJK COMPATIBILITY IDEOGRAPH-2F809
+2F80B ; [.FB40.0020.0002.50CF][.D0CF.0000.0000.50CF] # CJK COMPATIBILITY IDEOGRAPH-2F80B
+F9BB  ; [.FB40.0020.0002.50DA][.D0DA.0000.0000.50DA] # CJK COMPATIBILITY IDEOGRAPH-F9BB
+FA31  ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-FA31
+2F80A ; [.FB40.0020.0002.50E7][.D0E7.0000.0000.50E7] # CJK COMPATIBILITY IDEOGRAPH-2F80A
+329D  ; [.FB40.0020.0006.512A][.D12A.0000.0000.512A] # CIRCLED IDEOGRAPH EXCELLENT
+2F09  ; [.FB40.0020.0004.513F][.D13F.0000.0000.513F] # KANGXI RADICAL LEGS
+FA0C  ; [.FB40.0020.0002.5140][.D140.0000.0000.5140] # CJK COMPATIBILITY IDEOGRAPH-FA0C
+FA74  ; [.FB40.0020.0002.5145][.D145.0000.0000.5145] # CJK COMPATIBILITY IDEOGRAPH-FA74
+FA32  ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-FA32
+2F80E ; [.FB40.0020.0002.514D][.D14D.0000.0000.514D] # CJK COMPATIBILITY IDEOGRAPH-2F80E
+2F80F ; [.FB40.0020.0002.5154][.D154.0000.0000.5154] # CJK COMPATIBILITY IDEOGRAPH-2F80F
+2F810 ; [.FB40.0020.0002.5164][.D164.0000.0000.5164] # CJK COMPATIBILITY IDEOGRAPH-2F810
+2F0A  ; [.FB40.0020.0004.5165][.D165.0000.0000.5165] # KANGXI RADICAL ENTER
+2F814 ; [.FB40.0020.0002.5167][.D167.0000.0000.5167] # CJK COMPATIBILITY IDEOGRAPH-2F814
+FA72  ; [.FB40.0020.0002.5168][.D168.0000.0000.5168] # CJK COMPATIBILITY IDEOGRAPH-FA72
+F978  ; [.FB40.0020.0002.5169][.D169.0000.0000.5169] # CJK COMPATIBILITY IDEOGRAPH-F978
+2F0B  ; [.FB40.0020.0004.516B][.D16B.0000.0000.516B] # KANGXI RADICAL EIGHT
+3227  ; [*02FB.0020.0004.3227][.FB40.0020.0004.516B][.D16B.0000.0000.516B][*02FC.0020.001F.3227] # PARENTHESIZED IDEOGRAPH EIGHT
+3287  ; [.FB40.0020.0006.516B][.D16B.0000.0000.516B] # CIRCLED IDEOGRAPH EIGHT
+F9D1  ; [.FB40.0020.0002.516D][.D16D.0000.0000.516D] # CJK COMPATIBILITY IDEOGRAPH-F9D1
+3225  ; [*02FB.0020.0004.3225][.FB40.0020.0004.516D][.D16D.0000.0000.516D][*02FC.0020.001F.3225] # PARENTHESIZED IDEOGRAPH SIX
+3285  ; [.FB40.0020.0006.516D][.D16D.0000.0000.516D] # CIRCLED IDEOGRAPH SIX
+2F811 ; [.FB40.0020.0002.5177][.D177.0000.0000.5177] # CJK COMPATIBILITY IDEOGRAPH-2F811
+FA75  ; [.FB40.0020.0002.5180][.D180.0000.0000.5180] # CJK COMPATIBILITY IDEOGRAPH-FA75
+2F0C  ; [.FB40.0020.0004.5182][.D182.0000.0000.5182] # KANGXI RADICAL DOWN BOX
+2E86  ; [.FB40.0020.0004.5182][.D182.0000.0000.5182][.0000.0139.0004.2E86] # CJK RADICAL BOX
+2F815 ; [.FB40.0020.0002.518D][.D18D.0000.0000.518D] # CJK COMPATIBILITY IDEOGRAPH-2F815
+1F21E ; [.FB40.0020.001C.518D][.D18D.0000.0000.518D] # SQUARED CJK UNIFIED IDEOGRAPH-518D
+2F8D2 ; [.FB40.0020.0002.5192][.D192.0000.0000.5192] # CJK COMPATIBILITY IDEOGRAPH-2F8D2
+2F8D3 ; [.FB40.0020.0002.5195][.D195.0000.0000.5195] # CJK COMPATIBILITY IDEOGRAPH-2F8D3
+2F0D  ; [.FB40.0020.0004.5196][.D196.0000.0000.5196] # KANGXI RADICAL COVER
+2F817 ; [.FB40.0020.0002.5197][.D197.0000.0000.5197] # CJK COMPATIBILITY IDEOGRAPH-2F817
+32A2  ; [.FB40.0020.0006.5199][.D199.0000.0000.5199] # CIRCLED IDEOGRAPH COPY
+2F818 ; [.FB40.0020.0002.51A4][.D1A4.0000.0000.51A4] # CJK COMPATIBILITY IDEOGRAPH-2F818
+2F0E  ; [.FB40.0020.0004.51AB][.D1AB.0000.0000.51AB] # KANGXI RADICAL ICE
+2F81A ; [.FB40.0020.0002.51AC][.D1AC.0000.0000.51AC] # CJK COMPATIBILITY IDEOGRAPH-2F81A
+FA71  ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-FA71
+2F81B ; [.FB40.0020.0002.51B5][.D1B5.0000.0000.51B5] # CJK COMPATIBILITY IDEOGRAPH-2F81B
+F92E  ; [.FB40.0020.0002.51B7][.D1B7.0000.0000.51B7] # CJK COMPATIBILITY IDEOGRAPH-F92E
+F979  ; [.FB40.0020.0002.51C9][.D1C9.0000.0000.51C9] # CJK COMPATIBILITY IDEOGRAPH-F979
+F955  ; [.FB40.0020.0002.51CC][.D1CC.0000.0000.51CC] # CJK COMPATIBILITY IDEOGRAPH-F955
+F954  ; [.FB40.0020.0002.51DC][.D1DC.0000.0000.51DC] # CJK COMPATIBILITY IDEOGRAPH-F954
+FA15  ; [.FB40.0020.0002.51DE][.D1DE.0000.0000.51DE] # CJK COMPATIBILITY IDEOGRAPH-FA15
+2F0F  ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0] # KANGXI RADICAL TABLE
+2E87  ; [.FB40.0020.0004.51E0][.D1E0.0000.0000.51E0][.0000.0139.0004.2E87] # CJK RADICAL TABLE
+2F81D ; [.FB40.0020.0002.51F5][.D1F5.0000.0000.51F5] # CJK COMPATIBILITY IDEOGRAPH-2F81D
+2F10  ; [.FB40.0020.0004.51F5][.D1F5.0000.0000.51F5] # KANGXI RADICAL OPEN BOX
+2F11  ; [.FB40.0020.0004.5200][.D200.0000.0000.5200] # KANGXI RADICAL KNIFE
+2E88  ; [.FB40.0020.0004.5200][.D200.0000.0000.5200][.0000.0139.0004.2E88] # CJK RADICAL KNIFE ONE
+2E89  ; [.FB40.0020.0004.5202][.D202.0000.0000.5202] # CJK RADICAL KNIFE TWO
+2F81E ; [.FB40.0020.0002.5203][.D203.0000.0000.5203] # CJK COMPATIBILITY IDEOGRAPH-2F81E
+FA00  ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-FA00
+2F850 ; [.FB40.0020.0002.5207][.D207.0000.0000.5207] # CJK COMPATIBILITY IDEOGRAPH-2F850
+F99C  ; [.FB40.0020.0002.5217][.D217.0000.0000.5217] # CJK COMPATIBILITY IDEOGRAPH-F99C
+1F220 ; [.FB40.0020.001C.521D][.D21D.0000.0000.521D] # SQUARED CJK UNIFIED IDEOGRAPH-521D
+F9DD  ; [.FB40.0020.0002.5229][.D229.0000.0000.5229] # CJK COMPATIBILITY IDEOGRAPH-F9DD
+F9FF  ; [.FB40.0020.0002.523A][.D23A.0000.0000.523A] # CJK COMPATIBILITY IDEOGRAPH-F9FF
+2F820 ; [.FB40.0020.0002.523B][.D23B.0000.0000.523B] # CJK COMPATIBILITY IDEOGRAPH-2F820
+2F821 ; [.FB40.0020.0002.5246][.D246.0000.0000.5246] # CJK COMPATIBILITY IDEOGRAPH-2F821
+1F21C ; [.FB40.0020.001C.524D][.D24D.0000.0000.524D] # SQUARED CJK UNIFIED IDEOGRAPH-524D
+2F822 ; [.FB40.0020.0002.5272][.D272.0000.0000.5272] # CJK COMPATIBILITY IDEOGRAPH-2F822
+1F239 ; [.FB40.0020.001C.5272][.D272.0000.0000.5272] # SQUARED CJK UNIFIED IDEOGRAPH-5272
+2F823 ; [.FB40.0020.0002.5277][.D277.0000.0000.5277] # CJK COMPATIBILITY IDEOGRAPH-2F823
+F9C7  ; [.FB40.0020.0002.5289][.D289.0000.0000.5289] # CJK COMPATIBILITY IDEOGRAPH-F9C7
+F98A  ; [.FB40.0020.0002.529B][.D29B.0000.0000.529B] # CJK COMPATIBILITY IDEOGRAPH-F98A
+2F12  ; [.FB40.0020.0004.529B][.D29B.0000.0000.529B] # KANGXI RADICAL POWER
+F99D  ; [.FB40.0020.0002.52A3][.D2A3.0000.0000.52A3] # CJK COMPATIBILITY IDEOGRAPH-F99D
+2F992 ; [.FB40.0020.0002.52B3][.D2B3.0000.0000.52B3] # CJK COMPATIBILITY IDEOGRAPH-2F992
+3238  ; [*02FB.0020.0004.3238][.FB40.0020.0004.52B4][.D2B4.0000.0000.52B4][*02FC.0020.001F.3238] # PARENTHESIZED IDEOGRAPH LABOR
+3298  ; [.FB40.0020.0006.52B4][.D2B4.0000.0000.52B4] # CIRCLED IDEOGRAPH LABOR
+FA76  ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-FA76
+2F825 ; [.FB40.0020.0002.52C7][.D2C7.0000.0000.52C7] # CJK COMPATIBILITY IDEOGRAPH-2F825
+FA33  ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-FA33
+2F826 ; [.FB40.0020.0002.52C9][.D2C9.0000.0000.52C9] # CJK COMPATIBILITY IDEOGRAPH-2F826
+F952  ; [.FB40.0020.0002.52D2][.D2D2.0000.0000.52D2] # CJK COMPATIBILITY IDEOGRAPH-F952
+1F247 ; [*0359.0020.0004.1F247][.FB40.0020.0004.52DD][.D2DD.0000.0000.52DD][*035A.0020.001F.1F247] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-52DD
+F92F  ; [.FB40.0020.0002.52DE][.D2DE.0000.0000.52DE] # CJK COMPATIBILITY IDEOGRAPH-F92F
+FA34  ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-FA34
+2F827 ; [.FB40.0020.0002.52E4][.D2E4.0000.0000.52E4] # CJK COMPATIBILITY IDEOGRAPH-2F827
+F97F  ; [.FB40.0020.0002.52F5][.D2F5.0000.0000.52F5] # CJK COMPATIBILITY IDEOGRAPH-F97F
+2F13  ; [.FB40.0020.0004.52F9][.D2F9.0000.0000.52F9] # KANGXI RADICAL WRAP
+FA77  ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-FA77
+2F828 ; [.FB40.0020.0002.52FA][.D2FA.0000.0000.52FA] # CJK COMPATIBILITY IDEOGRAPH-2F828
+2F829 ; [.FB40.0020.0002.5305][.D305.0000.0000.5305] # CJK COMPATIBILITY IDEOGRAPH-2F829
+2F82A ; [.FB40.0020.0002.5306][.D306.0000.0000.5306] # CJK COMPATIBILITY IDEOGRAPH-2F82A
+2F14  ; [.FB40.0020.0004.5315][.D315.0000.0000.5315] # KANGXI RADICAL SPOON
+F963  ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-F963
+2F82B ; [.FB40.0020.0002.5317][.D317.0000.0000.5317] # CJK COMPATIBILITY IDEOGRAPH-2F82B
+2F15  ; [.FB40.0020.0004.531A][.D31A.0000.0000.531A] # KANGXI RADICAL RIGHT OPEN BOX
+2F16  ; [.FB40.0020.0004.5338][.D338.0000.0000.5338] # KANGXI RADICAL HIDING ENCLOSURE
+32A9  ; [.FB40.0020.0006.533B][.D33B.0000.0000.533B] # CIRCLED IDEOGRAPH MEDICINE
+F9EB  ; [.FB40.0020.0002.533F][.D33F.0000.0000.533F] # CJK COMPATIBILITY IDEOGRAPH-F9EB
+2F17  ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # KANGXI RADICAL TEN
+3038  ; [.FB40.0020.0004.5341][.D341.0000.0000.5341] # HANGZHOU NUMERAL TEN
+3229  ; [*02FB.0020.0004.3229][.FB40.0020.0004.5341][.D341.0000.0000.5341][*02FC.0020.001F.3229] # PARENTHESIZED IDEOGRAPH TEN
+3289  ; [.FB40.0020.0006.5341][.D341.0000.0000.5341] # CIRCLED IDEOGRAPH TEN
+3039  ; [.FB40.0020.0004.5344][.D344.0000.0000.5344] # HANGZHOU NUMERAL TWENTY
+303A  ; [.FB40.0020.0004.5345][.D345.0000.0000.5345] # HANGZHOU NUMERAL THIRTY
+2F82C ; [.FB40.0020.0002.5349][.D349.0000.0000.5349] # CJK COMPATIBILITY IDEOGRAPH-2F82C
+FA35  ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-FA35
+2F82D ; [.FB40.0020.0002.5351][.D351.0000.0000.5351] # CJK COMPATIBILITY IDEOGRAPH-2F82D
+323F  ; [*02FB.0020.0004.323F][.FB40.0020.0004.5354][.D354.0000.0000.5354][*02FC.0020.001F.323F] # PARENTHESIZED IDEOGRAPH ALLIANCE
+32AF  ; [.FB40.0020.0006.5354][.D354.0000.0000.5354] # CIRCLED IDEOGRAPH ALLIANCE
+2F82E ; [.FB40.0020.0002.535A][.D35A.0000.0000.535A] # CJK COMPATIBILITY IDEOGRAPH-2F82E
+2F18  ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C] # KANGXI RADICAL DIVINATION
+2E8A  ; [.FB40.0020.0004.535C][.D35C.0000.0000.535C][.0000.0139.0004.2E8A] # CJK RADICAL DIVINATION
+2F19  ; [.FB40.0020.0004.5369][.D369.0000.0000.5369] # KANGXI RADICAL SEAL
+2E8B  ; [.FB40.0020.0004.5369][.D369.0000.0000.5369][.0000.0139.0004.2E8B] # CJK RADICAL SEAL
+329E  ; [.FB40.0020.0006.5370][.D370.0000.0000.5370] # CIRCLED IDEOGRAPH PRINT
+2F82F ; [.FB40.0020.0002.5373][.D373.0000.0000.5373] # CJK COMPATIBILITY IDEOGRAPH-2F82F
+F91C  ; [.FB40.0020.0002.5375][.D375.0000.0000.5375] # CJK COMPATIBILITY IDEOGRAPH-F91C
+2F830 ; [.FB40.0020.0002.537D][.D37D.0000.0000.537D] # CJK COMPATIBILITY IDEOGRAPH-2F830
+2F831 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F831
+2F832 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F832
+2F833 ; [.FB40.0020.0002.537F][.D37F.0000.0000.537F] # CJK COMPATIBILITY IDEOGRAPH-2F833
+2F1A  ; [.FB40.0020.0004.5382][.D382.0000.0000.5382] # KANGXI RADICAL CLIFF
+2E81  ; [.FB40.0020.0004.5382][.D382.0000.0000.5382][.0000.0139.0004.2E81] # CJK RADICAL CLIFF
+2F1B  ; [.FB40.0020.0004.53B6][.D3B6.0000.0000.53B6] # KANGXI RADICAL PRIVATE
+F96B  ; [.FB40.0020.0002.53C3][.D3C3.0000.0000.53C3] # CJK COMPATIBILITY IDEOGRAPH-F96B
+2F1C  ; [.FB40.0020.0004.53C8][.D3C8.0000.0000.53C8] # KANGXI RADICAL AGAIN
+2F836 ; [.FB40.0020.0002.53CA][.D3CA.0000.0000.53CA] # CJK COMPATIBILITY IDEOGRAPH-2F836
+1F212 ; [.FB40.0020.001C.53CC][.D3CC.0000.0000.53CC] # SQUARED CJK UNIFIED IDEOGRAPH-53CC
+2F837 ; [.FB40.0020.0002.53DF][.D3DF.0000.0000.53DF] # CJK COMPATIBILITY IDEOGRAPH-2F837
+2F1D  ; [.FB40.0020.0004.53E3][.D3E3.0000.0000.53E3] # KANGXI RADICAL MOUTH
+F906  ; [.FB40.0020.0002.53E5][.D3E5.0000.0000.53E5] # CJK COMPATIBILITY IDEOGRAPH-F906
+2F839 ; [.FB40.0020.0002.53EB][.D3EB.0000.0000.53EB] # CJK COMPATIBILITY IDEOGRAPH-2F839
+1F251 ; [.FB40.0020.0006.53EF][.D3EF.0000.0000.53EF] # CIRCLED IDEOGRAPH ACCEPT
+2F83A ; [.FB40.0020.0002.53F1][.D3F1.0000.0000.53F1] # CJK COMPATIBILITY IDEOGRAPH-2F83A
+32A8  ; [.FB40.0020.0006.53F3][.D3F3.0000.0000.53F3] # CIRCLED IDEOGRAPH RIGHT
+1F22E ; [.FB40.0020.001C.53F3][.D3F3.0000.0000.53F3] # SQUARED CJK UNIFIED IDEOGRAPH-53F3
+2F83B ; [.FB40.0020.0002.5406][.D406.0000.0000.5406] # CJK COMPATIBILITY IDEOGRAPH-2F83B
+1F234 ; [.FB40.0020.001C.5408][.D408.0000.0000.5408] # SQUARED CJK UNIFIED IDEOGRAPH-5408
+3234  ; [*02FB.0020.0004.3234][.FB40.0020.0004.540D][.D40D.0000.0000.540D][*02FC.0020.001F.3234] # PARENTHESIZED IDEOGRAPH NAME
+3294  ; [.FB40.0020.0006.540D][.D40D.0000.0000.540D] # CIRCLED IDEOGRAPH NAME
+F9DE  ; [.FB40.0020.0002.540F][.D40F.0000.0000.540F] # CJK COMPATIBILITY IDEOGRAPH-F9DE
+F9ED  ; [.FB40.0020.0002.541D][.D41D.0000.0000.541D] # CJK COMPATIBILITY IDEOGRAPH-F9ED
+2F83D ; [.FB40.0020.0002.5438][.D438.0000.0000.5438] # CJK COMPATIBILITY IDEOGRAPH-2F83D
+1F225 ; [.FB40.0020.001C.5439][.D439.0000.0000.5439] # SQUARED CJK UNIFIED IDEOGRAPH-5439
+F980  ; [.FB40.0020.0002.5442][.D442.0000.0000.5442] # CJK COMPATIBILITY IDEOGRAPH-F980
+2F83E ; [.FB40.0020.0002.5448][.D448.0000.0000.5448] # CJK COMPATIBILITY IDEOGRAPH-2F83E
+2F83F ; [.FB40.0020.0002.5468][.D468.0000.0000.5468] # CJK COMPATIBILITY IDEOGRAPH-2F83F
+323A  ; [*02FB.0020.0004.323A][.FB40.0020.0004.547C][.D47C.0000.0000.547C][*02FC.0020.001F.323A] # PARENTHESIZED IDEOGRAPH CALL
+2F83C ; [.FB40.0020.0002.549E][.D49E.0000.0000.549E] # CJK COMPATIBILITY IDEOGRAPH-2F83C
+2F840 ; [.FB40.0020.0002.54A2][.D4A2.0000.0000.54A2] # CJK COMPATIBILITY IDEOGRAPH-2F840
+F99E  ; [.FB40.0020.0002.54BD][.D4BD.0000.0000.54BD] # CJK COMPATIBILITY IDEOGRAPH-F99E
+2F841 ; [.FB40.0020.0002.54F6][.D4F6.0000.0000.54F6] # CJK COMPATIBILITY IDEOGRAPH-2F841
+2F842 ; [.FB40.0020.0002.5510][.D510.0000.0000.5510] # CJK COMPATIBILITY IDEOGRAPH-2F842
+3244  ; [.FB40.0020.0006.554F][.D54F.0000.0000.554F] # CIRCLED IDEOGRAPH QUESTION
+2F843 ; [.FB40.0020.0002.5553][.D553.0000.0000.5553] # CJK COMPATIBILITY IDEOGRAPH-2F843
+FA79  ; [.FB40.0020.0002.5555][.D555.0000.0000.5555] # CJK COMPATIBILITY IDEOGRAPH-FA79
+2F844 ; [.FB40.0020.0002.5563][.D563.0000.0000.5563] # CJK COMPATIBILITY IDEOGRAPH-2F844
+2F845 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F845
+2F846 ; [.FB40.0020.0002.5584][.D584.0000.0000.5584] # CJK COMPATIBILITY IDEOGRAPH-2F846
+F90B  ; [.FB40.0020.0002.5587][.D587.0000.0000.5587] # CJK COMPATIBILITY IDEOGRAPH-F90B
+FA7A  ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-FA7A
+2F847 ; [.FB40.0020.0002.5599][.D599.0000.0000.5599] # CJK COMPATIBILITY IDEOGRAPH-2F847
+FA36  ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA36
+FA78  ; [.FB40.0020.0002.559D][.D59D.0000.0000.559D] # CJK COMPATIBILITY IDEOGRAPH-FA78
+2F848 ; [.FB40.0020.0002.55AB][.D5AB.0000.0000.55AB] # CJK COMPATIBILITY IDEOGRAPH-2F848
+2F849 ; [.FB40.0020.0002.55B3][.D5B3.0000.0000.55B3] # CJK COMPATIBILITY IDEOGRAPH-2F849
+1F23A ; [.FB40.0020.001C.55B6][.D5B6.0000.0000.55B6] # SQUARED CJK UNIFIED IDEOGRAPH-55B6
+FA0D  ; [.FB40.0020.0002.55C0][.D5C0.0000.0000.55C0] # CJK COMPATIBILITY IDEOGRAPH-FA0D
+2F84A ; [.FB40.0020.0002.55C2][.D5C2.0000.0000.55C2] # CJK COMPATIBILITY IDEOGRAPH-2F84A
+FA7B  ; [.FB40.0020.0002.55E2][.D5E2.0000.0000.55E2] # CJK COMPATIBILITY IDEOGRAPH-FA7B
+FA37  ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-FA37
+2F84C ; [.FB40.0020.0002.5606][.D606.0000.0000.5606] # CJK COMPATIBILITY IDEOGRAPH-2F84C
+2F84E ; [.FB40.0020.0002.5651][.D651.0000.0000.5651] # CJK COMPATIBILITY IDEOGRAPH-2F84E
+FA38  ; [.FB40.0020.0002.5668][.D668.0000.0000.5668] # CJK COMPATIBILITY IDEOGRAPH-FA38
+2F84F ; [.FB40.0020.0002.5674][.D674.0000.0000.5674] # CJK COMPATIBILITY IDEOGRAPH-2F84F
+2F1E  ; [.FB40.0020.0004.56D7][.D6D7.0000.0000.56D7] # KANGXI RADICAL ENCLOSURE
+3223  ; [*02FB.0020.0004.3223][.FB40.0020.0004.56DB][.D6DB.0000.0000.56DB][*02FC.0020.001F.3223] # PARENTHESIZED IDEOGRAPH FOUR
+3283  ; [.FB40.0020.0006.56DB][.D6DB.0000.0000.56DB] # CIRCLED IDEOGRAPH FOUR
+3195  ; [.FB40.0020.0014.56DB][.D6DB.0000.0000.56DB] # IDEOGRAPHIC ANNOTATION FOUR MARK
+F9A9  ; [.FB40.0020.0002.56F9][.D6F9.0000.0000.56F9] # CJK COMPATIBILITY IDEOGRAPH-F9A9
+2F84B ; [.FB40.0020.0002.5716][.D716.0000.0000.5716] # CJK COMPATIBILITY IDEOGRAPH-2F84B
+2F84D ; [.FB40.0020.0002.5717][.D717.0000.0000.5717] # CJK COMPATIBILITY IDEOGRAPH-2F84D
+2F1F  ; [.FB40.0020.0004.571F][.D71F.0000.0000.571F] # KANGXI RADICAL EARTH
+322F  ; [*02FB.0020.0004.322F][.FB40.0020.0004.571F][.D71F.0000.0000.571F][*02FC.0020.001F.322F] # PARENTHESIZED IDEOGRAPH EARTH
+328F  ; [.FB40.0020.0006.571F][.D71F.0000.0000.571F] # CIRCLED IDEOGRAPH EARTH
+319E  ; [.FB40.0020.0014.5730][.D730.0000.0000.5730] # IDEOGRAPHIC ANNOTATION EARTH MARK
+2F855 ; [.FB40.0020.0002.578B][.D78B.0000.0000.578B] # CJK COMPATIBILITY IDEOGRAPH-2F855
+2F852 ; [.FB40.0020.0002.57CE][.D7CE.0000.0000.57CE] # CJK COMPATIBILITY IDEOGRAPH-2F852
+2F853 ; [.FB40.0020.0002.57F4][.D7F4.0000.0000.57F4] # CJK COMPATIBILITY IDEOGRAPH-2F853
+2F854 ; [.FB40.0020.0002.580D][.D80D.0000.0000.580D] # CJK COMPATIBILITY IDEOGRAPH-2F854
+2F857 ; [.FB40.0020.0002.5831][.D831.0000.0000.5831] # CJK COMPATIBILITY IDEOGRAPH-2F857
+2F856 ; [.FB40.0020.0002.5832][.D832.0000.0000.5832] # CJK COMPATIBILITY IDEOGRAPH-2F856
+FA39  ; [.FB40.0020.0002.5840][.D840.0000.0000.5840] # CJK COMPATIBILITY IDEOGRAPH-FA39
+FA10  ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA10
+FA7C  ; [.FB40.0020.0002.585A][.D85A.0000.0000.585A] # CJK COMPATIBILITY IDEOGRAPH-FA7C
+F96C  ; [.FB40.0020.0002.585E][.D85E.0000.0000.585E] # CJK COMPATIBILITY IDEOGRAPH-F96C
+FA3A  ; [.FB40.0020.0002.58A8][.D8A8.0000.0000.58A8] # CJK COMPATIBILITY IDEOGRAPH-FA3A
+2F858 ; [.FB40.0020.0002.58AC][.D8AC.0000.0000.58AC] # CJK COMPATIBILITY IDEOGRAPH-2F858
+FA7D  ; [.FB40.0020.0002.58B3][.D8B3.0000.0000.58B3] # CJK COMPATIBILITY IDEOGRAPH-FA7D
+F94A  ; [.FB40.0020.0002.58D8][.D8D8.0000.0000.58D8] # CJK COMPATIBILITY IDEOGRAPH-F94A
+F942  ; [.FB40.0020.0002.58DF][.D8DF.0000.0000.58DF] # CJK COMPATIBILITY IDEOGRAPH-F942
+2F20  ; [.FB40.0020.0004.58EB][.D8EB.0000.0000.58EB] # KANGXI RADICAL SCHOLAR
+2F851 ; [.FB40.0020.0002.58EE][.D8EE.0000.0000.58EE] # CJK COMPATIBILITY IDEOGRAPH-2F851
+1F224 ; [.FB40.0020.001C.58F0][.D8F0.0000.0000.58F0] # SQUARED CJK UNIFIED IDEOGRAPH-58F0
+2F85A ; [.FB40.0020.0002.58F2][.D8F2.0000.0000.58F2] # CJK COMPATIBILITY IDEOGRAPH-2F85A
+2F85B ; [.FB40.0020.0002.58F7][.D8F7.0000.0000.58F7] # CJK COMPATIBILITY IDEOGRAPH-2F85B
+2F21  ; [.FB40.0020.0004.5902][.D902.0000.0000.5902] # KANGXI RADICAL GO
+2F85C ; [.FB40.0020.0002.5906][.D906.0000.0000.5906] # CJK COMPATIBILITY IDEOGRAPH-2F85C
+2F22  ; [.FB40.0020.0004.590A][.D90A.0000.0000.590A] # KANGXI RADICAL GO SLOWLY
+2F23  ; [.FB40.0020.0004.5915][.D915.0000.0000.5915] # KANGXI RADICAL EVENING
+2F85D ; [.FB40.0020.0002.591A][.D91A.0000.0000.591A] # CJK COMPATIBILITY IDEOGRAPH-2F85D
+1F215 ; [.FB40.0020.001C.591A][.D91A.0000.0000.591A] # SQUARED CJK UNIFIED IDEOGRAPH-591A
+32B0  ; [.FB40.0020.0006.591C][.D91C.0000.0000.591C] # CIRCLED IDEOGRAPH NIGHT
+2F85E ; [.FB40.0020.0002.5922][.D922.0000.0000.5922] # CJK COMPATIBILITY IDEOGRAPH-2F85E
+2F24  ; [.FB40.0020.0004.5927][.D927.0000.0000.5927] # KANGXI RADICAL BIG
+337D  ; [.FB40.0020.001C.5927][.D927.0000.0000.5927][.FB40.0020.001C.6B63][.EB63.0000.0000.6B63] # SQUARE ERA NAME TAISYOU
+319D  ; [.FB40.0020.0014.5929][.D929.0000.0000.5929] # IDEOGRAPHIC ANNOTATION HEAVEN MARK
+1F217 ; [.FB40.0020.001C.5929][.D929.0000.0000.5929] # SQUARED CJK UNIFIED IDEOGRAPH-5929
+FA7E  ; [.FB40.0020.0002.5944][.D944.0000.0000.5944] # CJK COMPATIBILITY IDEOGRAPH-FA7E
+F90C  ; [.FB40.0020.0002.5948][.D948.0000.0000.5948] # CJK COMPATIBILITY IDEOGRAPH-F90C
+F909  ; [.FB40.0020.0002.5951][.D951.0000.0000.5951] # CJK COMPATIBILITY IDEOGRAPH-F909
+FA7F  ; [.FB40.0020.0002.5954][.D954.0000.0000.5954] # CJK COMPATIBILITY IDEOGRAPH-FA7F
+2F85F ; [.FB40.0020.0002.5962][.D962.0000.0000.5962] # CJK COMPATIBILITY IDEOGRAPH-2F85F
+F981  ; [.FB40.0020.0002.5973][.D973.0000.0000.5973] # CJK COMPATIBILITY IDEOGRAPH-F981
+2F25  ; [.FB40.0020.0004.5973][.D973.0000.0000.5973] # KANGXI RADICAL WOMAN
+329B  ; [.FB40.0020.0006.5973][.D973.0000.0000.5973] # CIRCLED IDEOGRAPH FEMALE
+2F865 ; [.FB40.0020.0002.59D8][.D9D8.0000.0000.59D8] # CJK COMPATIBILITY IDEOGRAPH-2F865
+2F862 ; [.FB40.0020.0002.59EC][.D9EC.0000.0000.59EC] # CJK COMPATIBILITY IDEOGRAPH-2F862
+2F863 ; [.FB40.0020.0002.5A1B][.DA1B.0000.0000.5A1B] # CJK COMPATIBILITY IDEOGRAPH-2F863
+2F864 ; [.FB40.0020.0002.5A27][.DA27.0000.0000.5A27] # CJK COMPATIBILITY IDEOGRAPH-2F864
+FA80  ; [.FB40.0020.0002.5A62][.DA62.0000.0000.5A62] # CJK COMPATIBILITY IDEOGRAPH-FA80
+2F866 ; [.FB40.0020.0002.5A66][.DA66.0000.0000.5A66] # CJK COMPATIBILITY IDEOGRAPH-2F866
+2F986 ; [.FB40.0020.0002.5AB5][.DAB5.0000.0000.5AB5] # CJK COMPATIBILITY IDEOGRAPH-2F986
+2F869 ; [.FB40.0020.0002.5B08][.DB08.0000.0000.5B08] # CJK COMPATIBILITY IDEOGRAPH-2F869
+FA81  ; [.FB40.0020.0002.5B28][.DB28.0000.0000.5B28] # CJK COMPATIBILITY IDEOGRAPH-FA81
+2F86A ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86A
+2F86B ; [.FB40.0020.0002.5B3E][.DB3E.0000.0000.5B3E] # CJK COMPATIBILITY IDEOGRAPH-2F86B
+2F26  ; [.FB40.0020.0004.5B50][.DB50.0000.0000.5B50] # KANGXI RADICAL CHILD
+1F211 ; [.FB40.0020.001C.5B57][.DB57.0000.0000.5B57] # SQUARED CJK UNIFIED IDEOGRAPH-5B57
+323B  ; [*02FB.0020.0004.323B][.FB40.0020.0004.5B66][.DB66.0000.0000.5B66][*02FC.0020.001F.323B] # PARENTHESIZED IDEOGRAPH STUDY
+32AB  ; [.FB40.0020.0006.5B66][.DB66.0000.0000.5B66] # CIRCLED IDEOGRAPH STUDY
+2F27  ; [.FB40.0020.0004.5B80][.DB80.0000.0000.5B80] # KANGXI RADICAL ROOF
+FA04  ; [.FB40.0020.0002.5B85][.DB85.0000.0000.5B85] # CJK COMPATIBILITY IDEOGRAPH-FA04
+1F243 ; [*0359.0020.0004.1F243][.FB40.0020.0004.5B89][.DB89.0000.0000.5B89][*035A.0020.001F.1F243] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-5B89
+32AA  ; [.FB40.0020.0006.5B97][.DB97.0000.0000.5B97] # CIRCLED IDEOGRAPH RELIGION
+2F86D ; [.FB40.0020.0002.5BC3][.DBC3.0000.0000.5BC3] # CJK COMPATIBILITY IDEOGRAPH-2F86D
+2F86E ; [.FB40.0020.0002.5BD8][.DBD8.0000.0000.5BD8] # CJK COMPATIBILITY IDEOGRAPH-2F86E
+F95F  ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F95F
+F9AA  ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-F9AA
+2F86F ; [.FB40.0020.0002.5BE7][.DBE7.0000.0000.5BE7] # CJK COMPATIBILITY IDEOGRAPH-2F86F
+F9BC  ; [.FB40.0020.0002.5BEE][.DBEE.0000.0000.5BEE] # CJK COMPATIBILITY IDEOGRAPH-F9BC
+2F870 ; [.FB40.0020.0002.5BF3][.DBF3.0000.0000.5BF3] # CJK COMPATIBILITY IDEOGRAPH-2F870
+2F28  ; [.FB40.0020.0004.5BF8][.DBF8.0000.0000.5BF8] # KANGXI RADICAL INCH
+2F872 ; [.FB40.0020.0002.5BFF][.DBFF.0000.0000.5BFF] # CJK COMPATIBILITY IDEOGRAPH-2F872
+2F873 ; [.FB40.0020.0002.5C06][.DC06.0000.0000.5C06] # CJK COMPATIBILITY IDEOGRAPH-2F873
+2F29  ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F] # KANGXI RADICAL SMALL
+2E8C  ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.0139.0004.2E8C] # CJK RADICAL SMALL ONE
+2E8D  ; [.FB40.0020.0004.5C0F][.DC0F.0000.0000.5C0F][.0000.013A.0004.2E8D] # CJK RADICAL SMALL TWO
+2F875 ; [.FB40.0020.0002.5C22][.DC22.0000.0000.5C22] # CJK COMPATIBILITY IDEOGRAPH-2F875
+2E90  ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # CJK RADICAL LAME THREE
+2F2A  ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22] # KANGXI RADICAL LAME
+2E8E  ; [.FB40.0020.0004.5C22][.DC22.0000.0000.5C22][.0000.0139.0004.2E8E] # CJK RADICAL LAME ONE
+2E8F  ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23] # CJK RADICAL LAME TWO
+2E91  ; [.FB40.0020.0004.5C23][.DC23.0000.0000.5C23][.0000.0139.0004.2E91] # CJK RADICAL LAME FOUR
+2F2B  ; [.FB40.0020.0004.5C38][.DC38.0000.0000.5C38] # KANGXI RADICAL CORPSE
+F9BD  ; [.FB40.0020.0002.5C3F][.DC3F.0000.0000.5C3F] # CJK COMPATIBILITY IDEOGRAPH-F9BD
+2F877 ; [.FB40.0020.0002.5C60][.DC60.0000.0000.5C60] # CJK COMPATIBILITY IDEOGRAPH-2F877
+F94B  ; [.FB40.0020.0002.5C62][.DC62.0000.0000.5C62] # CJK COMPATIBILITY IDEOGRAPH-F94B
+FA3B  ; [.FB40.0020.0002.5C64][.DC64.0000.0000.5C64] # CJK COMPATIBILITY IDEOGRAPH-FA3B
+F9DF  ; [.FB40.0020.0002.5C65][.DC65.0000.0000.5C65] # CJK COMPATIBILITY IDEOGRAPH-F9DF
+FA3C  ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-FA3C
+2F878 ; [.FB40.0020.0002.5C6E][.DC6E.0000.0000.5C6E] # CJK COMPATIBILITY IDEOGRAPH-2F878
+2F2C  ; [.FB40.0020.0004.5C6E][.DC6E.0000.0000.5C6E] # KANGXI RADICAL SPROUT
+2F2D  ; [.FB40.0020.0004.5C71][.DC71.0000.0000.5C71] # KANGXI RADICAL MOUNTAIN
+2F87A ; [.FB40.0020.0002.5C8D][.DC8D.0000.0000.5C8D] # CJK COMPATIBILITY IDEOGRAPH-2F87A
+2F879 ; [.FB40.0020.0002.5CC0][.DCC0.0000.0000.5CC0] # CJK COMPATIBILITY IDEOGRAPH-2F879
+F9D5  ; [.FB40.0020.0002.5D19][.DD19.0000.0000.5D19] # CJK COMPATIBILITY IDEOGRAPH-F9D5
+2F87C ; [.FB40.0020.0002.5D43][.DD43.0000.0000.5D43] # CJK COMPATIBILITY IDEOGRAPH-2F87C
+F921  ; [.FB40.0020.0002.5D50][.DD50.0000.0000.5D50] # CJK COMPATIBILITY IDEOGRAPH-F921
+2F87F ; [.FB40.0020.0002.5D6B][.DD6B.0000.0000.5D6B] # CJK COMPATIBILITY IDEOGRAPH-2F87F
+2F87E ; [.FB40.0020.0002.5D6E][.DD6E.0000.0000.5D6E] # CJK COMPATIBILITY IDEOGRAPH-2F87E
+2F880 ; [.FB40.0020.0002.5D7C][.DD7C.0000.0000.5D7C] # CJK COMPATIBILITY IDEOGRAPH-2F880
+2F9F4 ; [.FB40.0020.0002.5DB2][.DDB2.0000.0000.5DB2] # CJK COMPATIBILITY IDEOGRAPH-2F9F4
+F9AB  ; [.FB40.0020.0002.5DBA][.DDBA.0000.0000.5DBA] # CJK COMPATIBILITY IDEOGRAPH-F9AB
+2F2E  ; [.FB40.0020.0004.5DDB][.DDDB.0000.0000.5DDB] # KANGXI RADICAL RIVER
+2F881 ; [.FB40.0020.0002.5DE1][.DDE1.0000.0000.5DE1] # CJK COMPATIBILITY IDEOGRAPH-2F881
+2F882 ; [.FB40.0020.0002.5DE2][.DDE2.0000.0000.5DE2] # CJK COMPATIBILITY IDEOGRAPH-2F882
+2F2F  ; [.FB40.0020.0004.5DE5][.DDE5.0000.0000.5DE5] # KANGXI RADICAL WORK
+32A7  ; [.FB40.0020.0006.5DE6][.DDE6.0000.0000.5DE6] # CIRCLED IDEOGRAPH LEFT
+1F22C ; [.FB40.0020.001C.5DE6][.DDE6.0000.0000.5DE6] # SQUARED CJK UNIFIED IDEOGRAPH-5DE6
+2F30  ; [.FB40.0020.0004.5DF1][.DDF1.0000.0000.5DF1] # KANGXI RADICAL ONESELF
+2E92  ; [.FB40.0020.0004.5DF3][.DDF3.0000.0000.5DF3] # CJK RADICAL SNAKE
+2F884 ; [.FB40.0020.0002.5DFD][.DDFD.0000.0000.5DFD] # CJK COMPATIBILITY IDEOGRAPH-2F884
+2F31  ; [.FB40.0020.0004.5DFE][.DDFE.0000.0000.5DFE] # KANGXI RADICAL TURBAN
+2F885 ; [.FB40.0020.0002.5E28][.DE28.0000.0000.5E28] # CJK COMPATIBILITY IDEOGRAPH-2F885
+2F886 ; [.FB40.0020.0002.5E3D][.DE3D.0000.0000.5E3D] # CJK COMPATIBILITY IDEOGRAPH-2F886
+2F887 ; [.FB40.0020.0002.5E69][.DE69.0000.0000.5E69] # CJK COMPATIBILITY IDEOGRAPH-2F887
+2F32  ; [.FB40.0020.0004.5E72][.DE72.0000.0000.5E72] # KANGXI RADICAL DRY
+337B  ; [.FB40.0020.001C.5E73][.DE73.0000.0000.5E73][.FB40.0020.001C.6210][.E210.0000.0000.6210] # SQUARE ERA NAME HEISEI
+F98E  ; [.FB40.0020.0002.5E74][.DE74.0000.0000.5E74] # CJK COMPATIBILITY IDEOGRAPH-F98E
+2E93  ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # CJK RADICAL THREAD
+2F33  ; [.FB40.0020.0004.5E7A][.DE7A.0000.0000.5E7A] # KANGXI RADICAL SHORT THREAD
+3245  ; [.FB40.0020.0006.5E7C][.DE7C.0000.0000.5E7C] # CIRCLED IDEOGRAPH KINDERGARTEN
+2F34  ; [.FB40.0020.0004.5E7F][.DE7F.0000.0000.5E7F] # KANGXI RADICAL DOTTED CLIFF
+FA01  ; [.FB40.0020.0002.5EA6][.DEA6.0000.0000.5EA6] # CJK COMPATIBILITY IDEOGRAPH-FA01
+2F88B ; [.FB40.0020.0002.5EB0][.DEB0.0000.0000.5EB0] # CJK COMPATIBILITY IDEOGRAPH-2F88B
+2F88C ; [.FB40.0020.0002.5EB3][.DEB3.0000.0000.5EB3] # CJK COMPATIBILITY IDEOGRAPH-2F88C
+2F88D ; [.FB40.0020.0002.5EB6][.DEB6.0000.0000.5EB6] # CJK COMPATIBILITY IDEOGRAPH-2F88D
+F9A2  ; [.FB40.0020.0002.5EC9][.DEC9.0000.0000.5EC9] # CJK COMPATIBILITY IDEOGRAPH-F9A2
+F928  ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-F928
+2F88E ; [.FB40.0020.0002.5ECA][.DECA.0000.0000.5ECA] # CJK COMPATIBILITY IDEOGRAPH-2F88E
+FA82  ; [.FB40.0020.0002.5ED2][.DED2.0000.0000.5ED2] # CJK COMPATIBILITY IDEOGRAPH-FA82
+FA0B  ; [.FB40.0020.0002.5ED3][.DED3.0000.0000.5ED3] # CJK COMPATIBILITY IDEOGRAPH-FA0B
+FA83  ; [.FB40.0020.0002.5ED9][.DED9.0000.0000.5ED9] # CJK COMPATIBILITY IDEOGRAPH-FA83
+F982  ; [.FB40.0020.0002.5EEC][.DEEC.0000.0000.5EEC] # CJK COMPATIBILITY IDEOGRAPH-F982
+2F35  ; [.FB40.0020.0004.5EF4][.DEF4.0000.0000.5EF4] # KANGXI RADICAL LONG STRIDE
+2F890 ; [.FB40.0020.0002.5EFE][.DEFE.0000.0000.5EFE] # CJK COMPATIBILITY IDEOGRAPH-2F890
+2F36  ; [.FB40.0020.0004.5EFE][.DEFE.0000.0000.5EFE] # KANGXI RADICAL TWO HANDS
+F943  ; [.FB40.0020.0002.5F04][.DF04.0000.0000.5F04] # CJK COMPATIBILITY IDEOGRAPH-F943
+2F37  ; [.FB40.0020.0004.5F0B][.DF0B.0000.0000.5F0B] # KANGXI RADICAL SHOOT
+2F38  ; [.FB40.0020.0004.5F13][.DF13.0000.0000.5F13] # KANGXI RADICAL BOW
+2F894 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F894
+2F895 ; [.FB40.0020.0002.5F22][.DF22.0000.0000.5F22] # CJK COMPATIBILITY IDEOGRAPH-2F895
+2F39  ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50] # KANGXI RADICAL SNOUT
+2E95  ; [.FB40.0020.0004.5F50][.DF50.0000.0000.5F50][.0000.0139.0004.2E95] # CJK RADICAL SNOUT TWO
+2E94  ; [.FB40.0020.0004.5F51][.DF51.0000.0000.5F51] # CJK RADICAL SNOUT ONE
+2F874 ; [.FB40.0020.0002.5F53][.DF53.0000.0000.5F53] # CJK COMPATIBILITY IDEOGRAPH-2F874
+2F3A  ; [.FB40.0020.0004.5F61][.DF61.0000.0000.5F61] # KANGXI RADICAL BRISTLE
+2F899 ; [.FB40.0020.0002.5F62][.DF62.0000.0000.5F62] # CJK COMPATIBILITY IDEOGRAPH-2F899
+FA84  ; [.FB40.0020.0002.5F69][.DF69.0000.0000.5F69] # CJK COMPATIBILITY IDEOGRAPH-FA84
+2F89A ; [.FB40.0020.0002.5F6B][.DF6B.0000.0000.5F6B] # CJK COMPATIBILITY IDEOGRAPH-2F89A
+2F3B  ; [.FB40.0020.0004.5F73][.DF73.0000.0000.5F73] # KANGXI RADICAL STEP
+F9D8  ; [.FB40.0020.0002.5F8B][.DF8B.0000.0000.5F8B] # CJK COMPATIBILITY IDEOGRAPH-F9D8
+1F21D ; [.FB40.0020.001C.5F8C][.DF8C.0000.0000.5F8C] # SQUARED CJK UNIFIED IDEOGRAPH-5F8C
+1F250 ; [.FB40.0020.0006.5F97][.DF97.0000.0000.5F97] # CIRCLED IDEOGRAPH ADVANTAGE
+2F89C ; [.FB40.0020.0002.5F9A][.DF9A.0000.0000.5F9A] # CJK COMPATIBILITY IDEOGRAPH-2F89C
+F966  ; [.FB40.0020.0002.5FA9][.DFA9.0000.0000.5FA9] # CJK COMPATIBILITY IDEOGRAPH-F966
+FA85  ; [.FB40.0020.0002.5FAD][.DFAD.0000.0000.5FAD] # CJK COMPATIBILITY IDEOGRAPH-FA85
+2F3C  ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3] # KANGXI RADICAL HEART
+2E97  ; [.FB40.0020.0004.5FC3][.DFC3.0000.0000.5FC3][.0000.0139.0004.2E97] # CJK RADICAL HEART TWO
+2E96  ; [.FB40.0020.0004.5FC4][.DFC4.0000.0000.5FC4] # CJK RADICAL HEART ONE
+2F89D ; [.FB40.0020.0002.5FCD][.DFCD.0000.0000.5FCD] # CJK COMPATIBILITY IDEOGRAPH-2F89D
+2F89E ; [.FB40.0020.0002.5FD7][.DFD7.0000.0000.5FD7] # CJK COMPATIBILITY IDEOGRAPH-2F89E
+F9A3  ; [.FB40.0020.0002.5FF5][.DFF5.0000.0000.5FF5] # CJK COMPATIBILITY IDEOGRAPH-F9A3
+2F89F ; [.FB40.0020.0002.5FF9][.DFF9.0000.0000.5FF9] # CJK COMPATIBILITY IDEOGRAPH-2F89F
+F960  ; [.FB40.0020.0002.6012][.E012.0000.0000.6012] # CJK COMPATIBILITY IDEOGRAPH-F960
+F9AC  ; [.FB40.0020.0002.601C][.E01C.0000.0000.601C] # CJK COMPATIBILITY IDEOGRAPH-F9AC
+FA6B  ; [.FB40.0020.0002.6075][.E075.0000.0000.6075] # CJK COMPATIBILITY IDEOGRAPH-FA6B
+2F8A0 ; [.FB40.0020.0002.6081][.E081.0000.0000.6081] # CJK COMPATIBILITY IDEOGRAPH-2F8A0
+FA3D  ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-FA3D
+2F8A3 ; [.FB40.0020.0002.6094][.E094.0000.0000.6094] # CJK COMPATIBILITY IDEOGRAPH-2F8A3
+2F8A5 ; [.FB40.0020.0002.60C7][.E0C7.0000.0000.60C7] # CJK COMPATIBILITY IDEOGRAPH-2F8A5
+FA86  ; [.FB40.0020.0002.60D8][.E0D8.0000.0000.60D8] # CJK COMPATIBILITY IDEOGRAPH-FA86
+F9B9  ; [.FB40.0020.0002.60E1][.E0E1.0000.0000.60E1] # CJK COMPATIBILITY IDEOGRAPH-F9B9
+FA88  ; [.FB40.0020.0002.6108][.E108.0000.0000.6108] # CJK COMPATIBILITY IDEOGRAPH-FA88
+F9D9  ; [.FB40.0020.0002.6144][.E144.0000.0000.6144] # CJK COMPATIBILITY IDEOGRAPH-F9D9
+2F8A6 ; [.FB40.0020.0002.6148][.E148.0000.0000.6148] # CJK COMPATIBILITY IDEOGRAPH-2F8A6
+2F8A7 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A7
+2F8A9 ; [.FB40.0020.0002.614C][.E14C.0000.0000.614C] # CJK COMPATIBILITY IDEOGRAPH-2F8A9
+FA87  ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-FA87
+2F8A8 ; [.FB40.0020.0002.614E][.E14E.0000.0000.614E] # CJK COMPATIBILITY IDEOGRAPH-2F8A8
+FA8A  ; [.FB40.0020.0002.6160][.E160.0000.0000.6160] # CJK COMPATIBILITY IDEOGRAPH-FA8A
+FA3E  ; [.FB40.0020.0002.6168][.E168.0000.0000.6168] # CJK COMPATIBILITY IDEOGRAPH-FA3E
+2F8AA ; [.FB40.0020.0002.617A][.E17A.0000.0000.617A] # CJK COMPATIBILITY IDEOGRAPH-2F8AA
+FA3F  ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA3F
+FA89  ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-FA89
+2F8AB ; [.FB40.0020.0002.618E][.E18E.0000.0000.618E] # CJK COMPATIBILITY IDEOGRAPH-2F8AB
+F98F  ; [.FB40.0020.0002.6190][.E190.0000.0000.6190] # CJK COMPATIBILITY IDEOGRAPH-F98F
+2F8AD ; [.FB40.0020.0002.61A4][.E1A4.0000.0000.61A4] # CJK COMPATIBILITY IDEOGRAPH-2F8AD
+2F8AE ; [.FB40.0020.0002.61AF][.E1AF.0000.0000.61AF] # CJK COMPATIBILITY IDEOGRAPH-2F8AE
+2F8AC ; [.FB40.0020.0002.61B2][.E1B2.0000.0000.61B2] # CJK COMPATIBILITY IDEOGRAPH-2F8AC
+2F8AF ; [.FB40.0020.0002.61DE][.E1DE.0000.0000.61DE] # CJK COMPATIBILITY IDEOGRAPH-2F8AF
+FA40  ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA40
+FA8B  ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-FA8B
+2F8B0 ; [.FB40.0020.0002.61F2][.E1F2.0000.0000.61F2] # CJK COMPATIBILITY IDEOGRAPH-2F8B0
+F90D  ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-F90D
+2F8B1 ; [.FB40.0020.0002.61F6][.E1F6.0000.0000.61F6] # CJK COMPATIBILITY IDEOGRAPH-2F8B1
+F990  ; [.FB40.0020.0002.6200][.E200.0000.0000.6200] # CJK COMPATIBILITY IDEOGRAPH-F990
+2F3D  ; [.FB40.0020.0004.6208][.E208.0000.0000.6208] # KANGXI RADICAL HALBERD
+2F8B2 ; [.FB40.0020.0002.6210][.E210.0000.0000.6210] # CJK COMPATIBILITY IDEOGRAPH-2F8B2
+2F8B3 ; [.FB40.0020.0002.621B][.E21B.0000.0000.621B] # CJK COMPATIBILITY IDEOGRAPH-2F8B3
+F9D2  ; [.FB40.0020.0002.622E][.E22E.0000.0000.622E] # CJK COMPATIBILITY IDEOGRAPH-F9D2
+FA8C  ; [.FB40.0020.0002.6234][.E234.0000.0000.6234] # CJK COMPATIBILITY IDEOGRAPH-FA8C
+2F3E  ; [.FB40.0020.0004.6236][.E236.0000.0000.6236] # KANGXI RADICAL DOOR
+2F3F  ; [.FB40.0020.0004.624B][.E24B.0000.0000.624B] # KANGXI RADICAL HAND
+1F210 ; [.FB40.0020.001C.624B][.E24B.0000.0000.624B] # SQUARED CJK UNIFIED IDEOGRAPH-624B
+2E98  ; [.FB40.0020.0004.624C][.E24C.0000.0000.624C] # CJK RADICAL HAND
+1F245 ; [*0359.0020.0004.1F245][.FB40.0020.0004.6253][.E253.0000.0000.6253][*035A.0020.001F.1F245] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6253
+1F231 ; [.FB40.0020.001C.6253][.E253.0000.0000.6253] # SQUARED CJK UNIFIED IDEOGRAPH-6253
+2F8B4 ; [.FB40.0020.0002.625D][.E25D.0000.0000.625D] # CJK COMPATIBILITY IDEOGRAPH-2F8B4
+1F227 ; [.FB40.0020.001C.6295][.E295.0000.0000.6295] # SQUARED CJK UNIFIED IDEOGRAPH-6295
+2F8B5 ; [.FB40.0020.0002.62B1][.E2B1.0000.0000.62B1] # CJK COMPATIBILITY IDEOGRAPH-2F8B5
+F925  ; [.FB40.0020.0002.62C9][.E2C9.0000.0000.62C9] # CJK COMPATIBILITY IDEOGRAPH-F925
+F95B  ; [.FB40.0020.0002.62CF][.E2CF.0000.0000.62CF] # CJK COMPATIBILITY IDEOGRAPH-F95B
+FA02  ; [.FB40.0020.0002.62D3][.E2D3.0000.0000.62D3] # CJK COMPATIBILITY IDEOGRAPH-FA02
+2F8B6 ; [.FB40.0020.0002.62D4][.E2D4.0000.0000.62D4] # CJK COMPATIBILITY IDEOGRAPH-2F8B6
+2F8BA ; [.FB40.0020.0002.62FC][.E2FC.0000.0000.62FC] # CJK COMPATIBILITY IDEOGRAPH-2F8BA
+F973  ; [.FB40.0020.0002.62FE][.E2FE.0000.0000.62FE] # CJK COMPATIBILITY IDEOGRAPH-F973
+1F22F ; [.FB40.0020.001C.6307][.E307.0000.0000.6307] # SQUARED CJK UNIFIED IDEOGRAPH-6307
+2F8B9 ; [.FB40.0020.0002.633D][.E33D.0000.0000.633D] # CJK COMPATIBILITY IDEOGRAPH-2F8B9
+2F8B7 ; [.FB40.0020.0002.6350][.E350.0000.0000.6350] # CJK COMPATIBILITY IDEOGRAPH-2F8B7
+1F228 ; [.FB40.0020.001C.6355][.E355.0000.0000.6355] # SQUARED CJK UNIFIED IDEOGRAPH-6355
+2F8BB ; [.FB40.0020.0002.6368][.E368.0000.0000.6368] # CJK COMPATIBILITY IDEOGRAPH-2F8BB
+F9A4  ; [.FB40.0020.0002.637B][.E37B.0000.0000.637B] # CJK COMPATIBILITY IDEOGRAPH-F9A4
+2F8BC ; [.FB40.0020.0002.6383][.E383.0000.0000.6383] # CJK COMPATIBILITY IDEOGRAPH-2F8BC
+F975  ; [.FB40.0020.0002.63A0][.E3A0.0000.0000.63A0] # CJK COMPATIBILITY IDEOGRAPH-F975
+2F8C1 ; [.FB40.0020.0002.63A9][.E3A9.0000.0000.63A9] # CJK COMPATIBILITY IDEOGRAPH-2F8C1
+FA8D  ; [.FB40.0020.0002.63C4][.E3C4.0000.0000.63C4] # CJK COMPATIBILITY IDEOGRAPH-FA8D
+2F8C0 ; [.FB40.0020.0002.63C5][.E3C5.0000.0000.63C5] # CJK COMPATIBILITY IDEOGRAPH-2F8C0
+2F8BD ; [.FB40.0020.0002.63E4][.E3E4.0000.0000.63E4] # CJK COMPATIBILITY IDEOGRAPH-2F8BD
+FA8E  ; [.FB40.0020.0002.641C][.E41C.0000.0000.641C] # CJK COMPATIBILITY IDEOGRAPH-FA8E
+2F8BF ; [.FB40.0020.0002.6422][.E422.0000.0000.6422] # CJK COMPATIBILITY IDEOGRAPH-2F8BF
+FA8F  ; [.FB40.0020.0002.6452][.E452.0000.0000.6452] # CJK COMPATIBILITY IDEOGRAPH-FA8F
+2F8C3 ; [.FB40.0020.0002.6469][.E469.0000.0000.6469] # CJK COMPATIBILITY IDEOGRAPH-2F8C3
+2F8C6 ; [.FB40.0020.0002.6477][.E477.0000.0000.6477] # CJK COMPATIBILITY IDEOGRAPH-2F8C6
+2F8C4 ; [.FB40.0020.0002.647E][.E47E.0000.0000.647E] # CJK COMPATIBILITY IDEOGRAPH-2F8C4
+F991  ; [.FB40.0020.0002.649A][.E49A.0000.0000.649A] # CJK COMPATIBILITY IDEOGRAPH-F991
+2F8C5 ; [.FB40.0020.0002.649D][.E49D.0000.0000.649D] # CJK COMPATIBILITY IDEOGRAPH-2F8C5
+F930  ; [.FB40.0020.0002.64C4][.E4C4.0000.0000.64C4] # CJK COMPATIBILITY IDEOGRAPH-F930
+2F40  ; [.FB40.0020.0004.652F][.E52F.0000.0000.652F] # KANGXI RADICAL BRANCH
+2F41  ; [.FB40.0020.0004.6534][.E534.0000.0000.6534] # KANGXI RADICAL RAP
+2E99  ; [.FB40.0020.0004.6535][.E535.0000.0000.6535] # CJK RADICAL RAP
+FA41  ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-FA41
+2F8C8 ; [.FB40.0020.0002.654F][.E54F.0000.0000.654F] # CJK COMPATIBILITY IDEOGRAPH-2F8C8
+FA90  ; [.FB40.0020.0002.6556][.E556.0000.0000.6556] # CJK COMPATIBILITY IDEOGRAPH-FA90
+1F248 ; [*0359.0020.0004.1F248][.FB40.0020.0004.6557][.E557.0000.0000.6557][*035A.0020.001F.1F248] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
+2F8C9 ; [.FB40.0020.0002.656C][.E56C.0000.0000.656C] # CJK COMPATIBILITY IDEOGRAPH-2F8C9
+F969  ; [.FB40.0020.0002.6578][.E578.0000.0000.6578] # CJK COMPATIBILITY IDEOGRAPH-F969
+2F42  ; [.FB40.0020.0004.6587][.E587.0000.0000.6587] # KANGXI RADICAL SCRIPT
+3246  ; [.FB40.0020.0006.6587][.E587.0000.0000.6587] # CIRCLED IDEOGRAPH SCHOOL
+2F43  ; [.FB40.0020.0004.6597][.E597.0000.0000.6597] # KANGXI RADICAL DIPPER
+F9BE  ; [.FB40.0020.0002.6599][.E599.0000.0000.6599] # CJK COMPATIBILITY IDEOGRAPH-F9BE
+1F21B ; [.FB40.0020.001C.6599][.E599.0000.0000.6599] # SQUARED CJK UNIFIED IDEOGRAPH-6599
+2F44  ; [.FB40.0020.0004.65A4][.E5A4.0000.0000.65A4] # KANGXI RADICAL AXE
+1F21F ; [.FB40.0020.001C.65B0][.E5B0.0000.0000.65B0] # SQUARED CJK UNIFIED IDEOGRAPH-65B0
+2F45  ; [.FB40.0020.0004.65B9][.E5B9.0000.0000.65B9] # KANGXI RADICAL SQUARE
+F983  ; [.FB40.0020.0002.65C5][.E5C5.0000.0000.65C5] # CJK COMPATIBILITY IDEOGRAPH-F983
+2F46  ; [.FB40.0020.0004.65E0][.E5E0.0000.0000.65E0] # KANGXI RADICAL NOT
+2E9B  ; [.FB40.0020.0004.65E1][.E5E1.0000.0000.65E1] # CJK RADICAL CHOKE
+FA42  ; [.FB40.0020.0002.65E2][.E5E2.0000.0000.65E2] # CJK COMPATIBILITY IDEOGRAPH-FA42
+2F8CB ; [.FB40.0020.0002.65E3][.E5E3.0000.0000.65E3] # CJK COMPATIBILITY IDEOGRAPH-2F8CB
+2F47  ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5] # KANGXI RADICAL SUN
+3230  ; [*02FB.0020.0004.3230][.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][*02FC.0020.001F.3230] # PARENTHESIZED IDEOGRAPH SUN
+3290  ; [.FB40.0020.0006.65E5][.E5E5.0000.0000.65E5] # CIRCLED IDEOGRAPH SUN
+2E9C  ; [.FB40.0020.0004.65E5][.E5E5.0000.0000.65E5][.0000.0139.0004.2E9C] # CJK RADICAL SUN
+337E  ; [.FB40.0020.001C.660E][.E60E.0000.0000.660E][.FB40.0020.001C.6CBB][.ECBB.0000.0000.6CBB] # SQUARE ERA NAME MEIZI
+F9E0  ; [.FB40.0020.0002.6613][.E613.0000.0000.6613] # CJK COMPATIBILITY IDEOGRAPH-F9E0
+1F219 ; [.FB40.0020.001C.6620][.E620.0000.0000.6620] # SQUARED CJK UNIFIED IDEOGRAPH-6620
+337C  ; [.FB40.0020.001C.662D][.E62D.0000.0000.662D][.FB40.0020.001C.548C][.D48C.0000.0000.548C] # SQUARE ERA NAME SYOUWA
+2F8CD ; [.FB40.0020.0002.6649][.E649.0000.0000.6649] # CJK COMPATIBILITY IDEOGRAPH-2F8CD
+FA12  ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA12
+FA91  ; [.FB40.0020.0002.6674][.E674.0000.0000.6674] # CJK COMPATIBILITY IDEOGRAPH-FA91
+F9C5  ; [.FB40.0020.0002.6688][.E688.0000.0000.6688] # CJK COMPATIBILITY IDEOGRAPH-F9C5
+FA43  ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-FA43
+2F8CF ; [.FB40.0020.0002.6691][.E691.0000.0000.6691] # CJK COMPATIBILITY IDEOGRAPH-2F8CF
+2F8D5 ; [.FB40.0020.0002.669C][.E69C.0000.0000.669C] # CJK COMPATIBILITY IDEOGRAPH-2F8D5
+FA06  ; [.FB40.0020.0002.66B4][.E6B4.0000.0000.66B4] # CJK COMPATIBILITY IDEOGRAPH-FA06
+F98B  ; [.FB40.0020.0002.66C6][.E6C6.0000.0000.66C6] # CJK COMPATIBILITY IDEOGRAPH-F98B
+2F48  ; [.FB40.0020.0004.66F0][.E6F0.0000.0000.66F0] # KANGXI RADICAL SAY
+F901  ; [.FB40.0020.0002.66F4][.E6F4.0000.0000.66F4] # CJK COMPATIBILITY IDEOGRAPH-F901
+2F8CC ; [.FB40.0020.0002.66F8][.E6F8.0000.0000.66F8] # CJK COMPATIBILITY IDEOGRAPH-2F8CC
+2F8D4 ; [.FB40.0020.0002.6700][.E700.0000.0000.6700] # CJK COMPATIBILITY IDEOGRAPH-2F8D4
+2F49  ; [.FB40.0020.0004.6708][.E708.0000.0000.6708] # KANGXI RADICAL MOON
+322A  ; [*02FB.0020.0004.322A][.FB40.0020.0004.6708][.E708.0000.0000.6708][*02FC.0020.001F.322A] # PARENTHESIZED IDEOGRAPH MOON
+328A  ; [.FB40.0020.0006.6708][.E708.0000.0000.6708] # CIRCLED IDEOGRAPH MOON
+1F237 ; [.FB40.0020.001C.6708][.E708.0000.0000.6708] # SQUARED CJK UNIFIED IDEOGRAPH-6708
+2E9D  ; [.FB40.0020.0004.6708][.E708.0000.0000.6708][.0000.0139.0004.2E9D] # CJK RADICAL MOON
+3232  ; [*02FB.0020.0004.3232][.FB40.0020.0004.6709][.E709.0000.0000.6709][*02FC.0020.001F.3232] # PARENTHESIZED IDEOGRAPH HAVE
+3292  ; [.FB40.0020.0006.6709][.E709.0000.0000.6709] # CIRCLED IDEOGRAPH HAVE
+1F236 ; [.FB40.0020.001C.6709][.E709.0000.0000.6709] # SQUARED CJK UNIFIED IDEOGRAPH-6709
+F929  ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-F929
+FA92  ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-FA92
+2F8D8 ; [.FB40.0020.0002.6717][.E717.0000.0000.6717] # CJK COMPATIBILITY IDEOGRAPH-2F8D8
+FA93  ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-FA93
+2F8D9 ; [.FB40.0020.0002.671B][.E71B.0000.0000.671B] # CJK COMPATIBILITY IDEOGRAPH-2F8D9
+2F8DA ; [.FB40.0020.0002.6721][.E721.0000.0000.6721] # CJK COMPATIBILITY IDEOGRAPH-2F8DA
+2F4A  ; [.FB40.0020.0004.6728][.E728.0000.0000.6728] # KANGXI RADICAL TREE
+322D  ; [*02FB.0020.0004.322D][.FB40.0020.0004.6728][.E728.0000.0000.6728][*02FC.0020.001F.322D] # PARENTHESIZED IDEOGRAPH WOOD
+328D  ; [.FB40.0020.0006.6728][.E728.0000.0000.6728] # CIRCLED IDEOGRAPH WOOD
+1F240 ; [*0359.0020.0004.1F240][.FB40.0020.0004.672C][.E72C.0000.0000.672C][*035A.0020.001F.1F240] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C
+F9E1  ; [.FB40.0020.0002.674E][.E74E.0000.0000.674E] # CJK COMPATIBILITY IDEOGRAPH-F9E1
+2F8DC ; [.FB40.0020.0002.6753][.E753.0000.0000.6753] # CJK COMPATIBILITY IDEOGRAPH-2F8DC
+FA94  ; [.FB40.0020.0002.6756][.E756.0000.0000.6756] # CJK COMPATIBILITY IDEOGRAPH-FA94
+2F8DB ; [.FB40.0020.0002.675E][.E75E.0000.0000.675E] # CJK COMPATIBILITY IDEOGRAPH-2F8DB
+F9C8  ; [.FB40.0020.0002.677B][.E77B.0000.0000.677B] # CJK COMPATIBILITY IDEOGRAPH-F9C8
+2F8E0 ; [.FB40.0020.0002.6785][.E785.0000.0000.6785] # CJK COMPATIBILITY IDEOGRAPH-2F8E0
+F9F4  ; [.FB40.0020.0002.6797][.E797.0000.0000.6797] # CJK COMPATIBILITY IDEOGRAPH-F9F4
+F9C9  ; [.FB40.0020.0002.67F3][.E7F3.0000.0000.67F3] # CJK COMPATIBILITY IDEOGRAPH-F9C9
+2F8DF ; [.FB40.0020.0002.67FA][.E7FA.0000.0000.67FA] # CJK COMPATIBILITY IDEOGRAPH-2F8DF
+F9DA  ; [.FB40.0020.0002.6817][.E817.0000.0000.6817] # CJK COMPATIBILITY IDEOGRAPH-F9DA
+2F8E5 ; [.FB40.0020.0002.681F][.E81F.0000.0000.681F] # CJK COMPATIBILITY IDEOGRAPH-2F8E5
+3231  ; [*02FB.0020.0004.3231][.FB40.0020.0004.682A][.E82A.0000.0000.682A][*02FC.0020.001F.3231] # PARENTHESIZED IDEOGRAPH STOCK
+3291  ; [.FB40.0020.0006.682A][.E82A.0000.0000.682A] # CIRCLED IDEOGRAPH STOCK
+337F  ; [.FB40.0020.001C.682A][.E82A.0000.0000.682A][.FB40.0020.001C.5F0F][.DF0F.0000.0000.5F0F][.FB40.0020.001C.4F1A][.CF1A.0000.0000.4F1A][.FB40.0020.001C.793E][.F93E.0000.0000.793E] # SQUARE CORPORATION
+2F8E1 ; [.FB40.0020.0002.6852][.E852.0000.0000.6852] # CJK COMPATIBILITY IDEOGRAPH-2F8E1
+F97A  ; [.FB40.0020.0002.6881][.E881.0000.0000.6881] # CJK COMPATIBILITY IDEOGRAPH-F97A
+FA44  ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-FA44
+2F8E2 ; [.FB40.0020.0002.6885][.E885.0000.0000.6885] # CJK COMPATIBILITY IDEOGRAPH-2F8E2
+2F8E4 ; [.FB40.0020.0002.688E][.E88E.0000.0000.688E] # CJK COMPATIBILITY IDEOGRAPH-2F8E4
+F9E2  ; [.FB40.0020.0002.68A8][.E8A8.0000.0000.68A8] # CJK COMPATIBILITY IDEOGRAPH-F9E2
+2F8E6 ; [.FB40.0020.0002.6914][.E914.0000.0000.6914] # CJK COMPATIBILITY IDEOGRAPH-2F8E6
+2F8E8 ; [.FB40.0020.0002.6942][.E942.0000.0000.6942] # CJK COMPATIBILITY IDEOGRAPH-2F8E8
+2F8E9 ; [.FB40.0020.0002.69A3][.E9A3.0000.0000.69A3] # CJK COMPATIBILITY IDEOGRAPH-2F8E9
+2F8EA ; [.FB40.0020.0002.69EA][.E9EA.0000.0000.69EA] # CJK COMPATIBILITY IDEOGRAPH-2F8EA
+F914  ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F914
+F95C  ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F95C
+F9BF  ; [.FB40.0020.0002.6A02][.EA02.0000.0000.6A02] # CJK COMPATIBILITY IDEOGRAPH-F9BF
+F94C  ; [.FB40.0020.0002.6A13][.EA13.0000.0000.6A13] # CJK COMPATIBILITY IDEOGRAPH-F94C
+2F8EB ; [.FB40.0020.0002.6AA8][.EAA8.0000.0000.6AA8] # CJK COMPATIBILITY IDEOGRAPH-2F8EB
+F931  ; [.FB40.0020.0002.6AD3][.EAD3.0000.0000.6AD3] # CJK COMPATIBILITY IDEOGRAPH-F931
+2F8ED ; [.FB40.0020.0002.6ADB][.EADB.0000.0000.6ADB] # CJK COMPATIBILITY IDEOGRAPH-2F8ED
+F91D  ; [.FB40.0020.0002.6B04][.EB04.0000.0000.6B04] # CJK COMPATIBILITY IDEOGRAPH-F91D
+2F4B  ; [.FB40.0020.0004.6B20][.EB20.0000.0000.6B20] # KANGXI RADICAL LACK
+2F8EF ; [.FB40.0020.0002.6B21][.EB21.0000.0000.6B21] # CJK COMPATIBILITY IDEOGRAPH-2F8EF
+2F8F1 ; [.FB40.0020.0002.6B54][.EB54.0000.0000.6B54] # CJK COMPATIBILITY IDEOGRAPH-2F8F1
+2F4C  ; [.FB40.0020.0004.6B62][.EB62.0000.0000.6B62] # KANGXI RADICAL STOP
+32A3  ; [.FB40.0020.0006.6B63][.EB63.0000.0000.6B63] # CIRCLED IDEOGRAPH CORRECT
+2F8F3 ; [.FB40.0020.0002.6B72][.EB72.0000.0000.6B72] # CJK COMPATIBILITY IDEOGRAPH-2F8F3
+F98C  ; [.FB40.0020.0002.6B77][.EB77.0000.0000.6B77] # CJK COMPATIBILITY IDEOGRAPH-F98C
+FA95  ; [.FB40.0020.0002.6B79][.EB79.0000.0000.6B79] # CJK COMPATIBILITY IDEOGRAPH-FA95
+2F4D  ; [.FB40.0020.0004.6B79][.EB79.0000.0000.6B79] # KANGXI RADICAL DEATH
+2E9E  ; [.FB40.0020.0004.6B7A][.EB7A.0000.0000.6B7A][.0000.0139.0004.2E9E] # CJK RADICAL DEATH
+2F8F4 ; [.FB40.0020.0002.6B9F][.EB9F.0000.0000.6B9F] # CJK COMPATIBILITY IDEOGRAPH-2F8F4
+F9A5  ; [.FB40.0020.0002.6BAE][.EBAE.0000.0000.6BAE] # CJK COMPATIBILITY IDEOGRAPH-F9A5
+2F4E  ; [.FB40.0020.0004.6BB3][.EBB3.0000.0000.6BB3] # KANGXI RADICAL WEAPON
+F970  ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-F970
+FA96  ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-FA96
+2F8F5 ; [.FB40.0020.0002.6BBA][.EBBA.0000.0000.6BBA] # CJK COMPATIBILITY IDEOGRAPH-2F8F5
+2F8F6 ; [.FB40.0020.0002.6BBB][.EBBB.0000.0000.6BBB] # CJK COMPATIBILITY IDEOGRAPH-2F8F6
+2F4F  ; [.FB40.0020.0004.6BCB][.EBCB.0000.0000.6BCB] # KANGXI RADICAL DO NOT
+2E9F  ; [.FB40.0020.0004.6BCD][.EBCD.0000.0000.6BCD] # CJK RADICAL MOTHER
+2F50  ; [.FB40.0020.0004.6BD4][.EBD4.0000.0000.6BD4] # KANGXI RADICAL COMPARE
+2F51  ; [.FB40.0020.0004.6BDB][.EBDB.0000.0000.6BDB] # KANGXI RADICAL FUR
+2F52  ; [.FB40.0020.0004.6C0F][.EC0F.0000.0000.6C0F] # KANGXI RADICAL CLAN
+2EA0  ; [.FB40.0020.0004.6C11][.EC11.0000.0000.6C11] # CJK RADICAL CIVILIAN
+2F53  ; [.FB40.0020.0004.6C14][.EC14.0000.0000.6C14] # KANGXI RADICAL STEAM
+2F54  ; [.FB40.0020.0004.6C34][.EC34.0000.0000.6C34] # KANGXI RADICAL WATER
+322C  ; [*02FB.0020.0004.322C][.FB40.0020.0004.6C34][.EC34.0000.0000.6C34][*02FC.0020.001F.322C] # PARENTHESIZED IDEOGRAPH WATER
+328C  ; [.FB40.0020.0006.6C34][.EC34.0000.0000.6C34] # CIRCLED IDEOGRAPH WATER
+2EA1  ; [.FB40.0020.0004.6C35][.EC35.0000.0000.6C35] # CJK RADICAL WATER ONE
+2EA2  ; [.FB40.0020.0004.6C3A][.EC3A.0000.0000.6C3A] # CJK RADICAL WATER TWO
+2F8FA ; [.FB40.0020.0002.6C4E][.EC4E.0000.0000.6C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8FA
+2F8FE ; [.FB40.0020.0002.6C67][.EC67.0000.0000.6C67] # CJK COMPATIBILITY IDEOGRAPH-2F8FE
+F972  ; [.FB40.0020.0002.6C88][.EC88.0000.0000.6C88] # CJK COMPATIBILITY IDEOGRAPH-F972
+2F8FC ; [.FB40.0020.0002.6CBF][.ECBF.0000.0000.6CBF] # CJK COMPATIBILITY IDEOGRAPH-2F8FC
+F968  ; [.FB40.0020.0002.6CCC][.ECCC.0000.0000.6CCC] # CJK COMPATIBILITY IDEOGRAPH-F968
+2F8FD ; [.FB40.0020.0002.6CCD][.ECCD.0000.0000.6CCD] # CJK COMPATIBILITY IDEOGRAPH-2F8FD
+F9E3  ; [.FB40.0020.0002.6CE5][.ECE5.0000.0000.6CE5] # CJK COMPATIBILITY IDEOGRAPH-F9E3
+329F  ; [.FB40.0020.0006.6CE8][.ECE8.0000.0000.6CE8] # CIRCLED IDEOGRAPH ATTENTION
+2F8FF ; [.FB40.0020.0002.6D16][.ED16.0000.0000.6D16] # CJK COMPATIBILITY IDEOGRAPH-2F8FF
+F915  ; [.FB40.0020.0002.6D1B][.ED1B.0000.0000.6D1B] # CJK COMPATIBILITY IDEOGRAPH-F915
+FA05  ; [.FB40.0020.0002.6D1E][.ED1E.0000.0000.6D1E] # CJK COMPATIBILITY IDEOGRAPH-FA05
+2F907 ; [.FB40.0020.0002.6D34][.ED34.0000.0000.6D34] # CJK COMPATIBILITY IDEOGRAPH-2F907
+2F900 ; [.FB40.0020.0002.6D3E][.ED3E.0000.0000.6D3E] # CJK COMPATIBILITY IDEOGRAPH-2F900
+F9CA  ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-F9CA
+FA97  ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-FA97
+2F902 ; [.FB40.0020.0002.6D41][.ED41.0000.0000.6D41] # CJK COMPATIBILITY IDEOGRAPH-2F902
+2F903 ; [.FB40.0020.0002.6D69][.ED69.0000.0000.6D69] # CJK COMPATIBILITY IDEOGRAPH-2F903
+F92A  ; [.FB40.0020.0002.6D6A][.ED6A.0000.0000.6D6A] # CJK COMPATIBILITY IDEOGRAPH-F92A
+FA45  ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-FA45
+2F901 ; [.FB40.0020.0002.6D77][.ED77.0000.0000.6D77] # CJK COMPATIBILITY IDEOGRAPH-2F901
+2F904 ; [.FB40.0020.0002.6D78][.ED78.0000.0000.6D78] # CJK COMPATIBILITY IDEOGRAPH-2F904
+2F905 ; [.FB40.0020.0002.6D85][.ED85.0000.0000.6D85] # CJK COMPATIBILITY IDEOGRAPH-2F905
+F9F5  ; [.FB40.0020.0002.6DCB][.EDCB.0000.0000.6DCB] # CJK COMPATIBILITY IDEOGRAPH-F9F5
+F94D  ; [.FB40.0020.0002.6DDA][.EDDA.0000.0000.6DDA] # CJK COMPATIBILITY IDEOGRAPH-F94D
+F9D6  ; [.FB40.0020.0002.6DEA][.EDEA.0000.0000.6DEA] # CJK COMPATIBILITY IDEOGRAPH-F9D6
+2F90E ; [.FB40.0020.0002.6DF9][.EDF9.0000.0000.6DF9] # CJK COMPATIBILITY IDEOGRAPH-2F90E
+FA46  ; [.FB40.0020.0002.6E1A][.EE1A.0000.0000.6E1A] # CJK COMPATIBILITY IDEOGRAPH-FA46
+2F908 ; [.FB40.0020.0002.6E2F][.EE2F.0000.0000.6E2F] # CJK COMPATIBILITY IDEOGRAPH-2F908
+2F909 ; [.FB40.0020.0002.6E6E][.EE6E.0000.0000.6E6E] # CJK COMPATIBILITY IDEOGRAPH-2F909
+1F235 ; [.FB40.0020.001C.6E80][.EE80.0000.0000.6E80] # SQUARED CJK UNIFIED IDEOGRAPH-6E80
+F9CB  ; [.FB40.0020.0002.6E9C][.EE9C.0000.0000.6E9C] # CJK COMPATIBILITY IDEOGRAPH-F9CB
+F9EC  ; [.FB40.0020.0002.6EBA][.EEBA.0000.0000.6EBA] # CJK COMPATIBILITY IDEOGRAPH-F9EC
+2F90C ; [.FB40.0020.0002.6EC7][.EEC7.0000.0000.6EC7] # CJK COMPATIBILITY IDEOGRAPH-2F90C
+FA99  ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-FA99
+2F90B ; [.FB40.0020.0002.6ECB][.EECB.0000.0000.6ECB] # CJK COMPATIBILITY IDEOGRAPH-2F90B
+F904  ; [.FB40.0020.0002.6ED1][.EED1.0000.0000.6ED1] # CJK COMPATIBILITY IDEOGRAPH-F904
+FA98  ; [.FB40.0020.0002.6EDB][.EEDB.0000.0000.6EDB] # CJK COMPATIBILITY IDEOGRAPH-FA98
+F94E  ; [.FB40.0020.0002.6F0F][.EF0F.0000.0000.6F0F] # CJK COMPATIBILITY IDEOGRAPH-F94E
+1F226 ; [.FB40.0020.001C.6F14][.EF14.0000.0000.6F14] # SQUARED CJK UNIFIED IDEOGRAPH-6F14
+FA47  ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA47
+FA9A  ; [.FB40.0020.0002.6F22][.EF22.0000.0000.6F22] # CJK COMPATIBILITY IDEOGRAPH-FA9A
+F992  ; [.FB40.0020.0002.6F23][.EF23.0000.0000.6F23] # CJK COMPATIBILITY IDEOGRAPH-F992
+2F90F ; [.FB40.0020.0002.6F6E][.EF6E.0000.0000.6F6E] # CJK COMPATIBILITY IDEOGRAPH-2F90F
+2F912 ; [.FB40.0020.0002.6FC6][.EFC6.0000.0000.6FC6] # CJK COMPATIBILITY IDEOGRAPH-2F912
+F922  ; [.FB40.0020.0002.6FEB][.EFEB.0000.0000.6FEB] # CJK COMPATIBILITY IDEOGRAPH-F922
+F984  ; [.FB40.0020.0002.6FFE][.EFFE.0000.0000.6FFE] # CJK COMPATIBILITY IDEOGRAPH-F984
+2F915 ; [.FB40.0020.0002.701B][.F01B.0000.0000.701B] # CJK COMPATIBILITY IDEOGRAPH-2F915
+FA9B  ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-FA9B
+2F914 ; [.FB40.0020.0002.701E][.F01E.0000.0000.701E] # CJK COMPATIBILITY IDEOGRAPH-2F914
+2F913 ; [.FB40.0020.0002.7039][.F039.0000.0000.7039] # CJK COMPATIBILITY IDEOGRAPH-2F913
+2F917 ; [.FB40.0020.0002.704A][.F04A.0000.0000.704A] # CJK COMPATIBILITY IDEOGRAPH-2F917
+2F55  ; [.FB40.0020.0004.706B][.F06B.0000.0000.706B] # KANGXI RADICAL FIRE
+322B  ; [*02FB.0020.0004.322B][.FB40.0020.0004.706B][.F06B.0000.0000.706B][*02FC.0020.001F.322B] # PARENTHESIZED IDEOGRAPH FIRE
+328B  ; [.FB40.0020.0006.706B][.F06B.0000.0000.706B] # CIRCLED IDEOGRAPH FIRE
+2EA3  ; [.FB40.0020.0004.706C][.F06C.0000.0000.706C] # CJK RADICAL FIRE
+2F835 ; [.FB40.0020.0002.7070][.F070.0000.0000.7070] # CJK COMPATIBILITY IDEOGRAPH-2F835
+2F919 ; [.FB40.0020.0002.7077][.F077.0000.0000.7077] # CJK COMPATIBILITY IDEOGRAPH-2F919
+2F918 ; [.FB40.0020.0002.707D][.F07D.0000.0000.707D] # CJK COMPATIBILITY IDEOGRAPH-2F918
+F9FB  ; [.FB40.0020.0002.7099][.F099.0000.0000.7099] # CJK COMPATIBILITY IDEOGRAPH-F9FB
+2F91A ; [.FB40.0020.0002.70AD][.F0AD.0000.0000.70AD] # CJK COMPATIBILITY IDEOGRAPH-2F91A
+1F244 ; [*0359.0020.0004.1F244][.FB40.0020.0004.70B9][.F0B9.0000.0000.70B9][*035A.0020.001F.1F244] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-70B9
+F99F  ; [.FB40.0020.0002.70C8][.F0C8.0000.0000.70C8] # CJK COMPATIBILITY IDEOGRAPH-F99F
+F916  ; [.FB40.0020.0002.70D9][.F0D9.0000.0000.70D9] # CJK COMPATIBILITY IDEOGRAPH-F916
+1F21A ; [.FB40.0020.001C.7121][.F121.0000.0000.7121] # SQUARED CJK UNIFIED IDEOGRAPH-7121
+2F91C ; [.FB40.0020.0002.7145][.F145.0000.0000.7145] # CJK COMPATIBILITY IDEOGRAPH-2F91C
+F993  ; [.FB40.0020.0002.7149][.F149.0000.0000.7149] # CJK COMPATIBILITY IDEOGRAPH-F993
+FA48  ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA48
+FA9C  ; [.FB40.0020.0002.716E][.F16E.0000.0000.716E] # CJK COMPATIBILITY IDEOGRAPH-FA9C
+2F91E ; [.FB40.0020.0002.719C][.F19C.0000.0000.719C] # CJK COMPATIBILITY IDEOGRAPH-2F91E
+F9C0  ; [.FB40.0020.0002.71CE][.F1CE.0000.0000.71CE] # CJK COMPATIBILITY IDEOGRAPH-F9C0
+F9EE  ; [.FB40.0020.0002.71D0][.F1D0.0000.0000.71D0] # CJK COMPATIBILITY IDEOGRAPH-F9EE
+F932  ; [.FB40.0020.0002.7210][.F210.0000.0000.7210] # CJK COMPATIBILITY IDEOGRAPH-F932
+F91E  ; [.FB40.0020.0002.721B][.F21B.0000.0000.721B] # CJK COMPATIBILITY IDEOGRAPH-F91E
+2F920 ; [.FB40.0020.0002.7228][.F228.0000.0000.7228] # CJK COMPATIBILITY IDEOGRAPH-2F920
+2F56  ; [.FB40.0020.0004.722A][.F22A.0000.0000.722A] # KANGXI RADICAL CLAW
+FA49  ; [.FB40.0020.0002.722B][.F22B.0000.0000.722B] # CJK COMPATIBILITY IDEOGRAPH-FA49
+2EA4  ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B] # CJK RADICAL PAW ONE
+2EA5  ; [.FB40.0020.0004.722B][.F22B.0000.0000.722B][.0000.0139.0004.2EA5] # CJK RADICAL PAW TWO
+FA9E  ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-FA9E
+2F921 ; [.FB40.0020.0002.7235][.F235.0000.0000.7235] # CJK COMPATIBILITY IDEOGRAPH-2F921
+2F57  ; [.FB40.0020.0004.7236][.F236.0000.0000.7236] # KANGXI RADICAL FATHER
+2F58  ; [.FB40.0020.0004.723B][.F23B.0000.0000.723B] # KANGXI RADICAL DOUBLE X
+2F59  ; [.FB40.0020.0004.723F][.F23F.0000.0000.723F] # KANGXI RADICAL HALF TREE TRUNK
+2F5A  ; [.FB40.0020.0004.7247][.F247.0000.0000.7247] # KANGXI RADICAL SLICE
+2F922 ; [.FB40.0020.0002.7250][.F250.0000.0000.7250] # CJK COMPATIBILITY IDEOGRAPH-2F922
+2F5B  ; [.FB40.0020.0004.7259][.F259.0000.0000.7259] # KANGXI RADICAL FANG
+2F5C  ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B] # KANGXI RADICAL COW
+2EA7  ; [.FB40.0020.0004.725B][.F25B.0000.0000.725B][.0000.0139.0004.2EA7] # CJK RADICAL COW
+F946  ; [.FB40.0020.0002.7262][.F262.0000.0000.7262] # CJK COMPATIBILITY IDEOGRAPH-F946
+3235  ; [*02FB.0020.0004.3235][.FB40.0020.0004.7279][.F279.0000.0000.7279][*02FC.0020.001F.3235] # PARENTHESIZED IDEOGRAPH SPECIAL
+3295  ; [.FB40.0020.0006.7279][.F279.0000.0000.7279] # CIRCLED IDEOGRAPH SPECIAL
+2F924 ; [.FB40.0020.0002.7280][.F280.0000.0000.7280] # CJK COMPATIBILITY IDEOGRAPH-2F924
+2F925 ; [.FB40.0020.0002.7295][.F295.0000.0000.7295] # CJK COMPATIBILITY IDEOGRAPH-2F925
+2F5D  ; [.FB40.0020.0004.72AC][.F2AC.0000.0000.72AC] # KANGXI RADICAL DOG
+2EA8  ; [.FB40.0020.0004.72AD][.F2AD.0000.0000.72AD] # CJK RADICAL DOG
+FA9F  ; [.FB40.0020.0002.72AF][.F2AF.0000.0000.72AF] # CJK COMPATIBILITY IDEOGRAPH-FA9F
+F9FA  ; [.FB40.0020.0002.72C0][.F2C0.0000.0000.72C0] # CJK COMPATIBILITY IDEOGRAPH-F9FA
+F92B  ; [.FB40.0020.0002.72FC][.F2FC.0000.0000.72FC] # CJK COMPATIBILITY IDEOGRAPH-F92B
+FA16  ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FA16
+FAA0  ; [.FB40.0020.0002.732A][.F32A.0000.0000.732A] # CJK COMPATIBILITY IDEOGRAPH-FAA0
+F9A7  ; [.FB40.0020.0002.7375][.F375.0000.0000.7375] # CJK COMPATIBILITY IDEOGRAPH-F9A7
+2F928 ; [.FB40.0020.0002.737A][.F37A.0000.0000.737A] # CJK COMPATIBILITY IDEOGRAPH-2F928
+2F5E  ; [.FB40.0020.0004.7384][.F384.0000.0000.7384] # KANGXI RADICAL PROFOUND
+F961  ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F961
+F9DB  ; [.FB40.0020.0002.7387][.F387.0000.0000.7387] # CJK COMPATIBILITY IDEOGRAPH-F9DB
+2F5F  ; [.FB40.0020.0004.7389][.F389.0000.0000.7389] # KANGXI RADICAL JADE
+2F929 ; [.FB40.0020.0002.738B][.F38B.0000.0000.738B] # CJK COMPATIBILITY IDEOGRAPH-2F929
+2EA9  ; [.FB40.0020.0004.738B][.F38B.0000.0000.738B][.0000.0139.0004.2EA9] # CJK RADICAL JADE
+2F92B ; [.FB40.0020.0002.73A5][.F3A5.0000.0000.73A5] # CJK COMPATIBILITY IDEOGRAPH-2F92B
+F9AD  ; [.FB40.0020.0002.73B2][.F3B2.0000.0000.73B2] # CJK COMPATIBILITY IDEOGRAPH-F9AD
+F917  ; [.FB40.0020.0002.73DE][.F3DE.0000.0000.73DE] # CJK COMPATIBILITY IDEOGRAPH-F917
+F9E4  ; [.FB40.0020.0002.7406][.F406.0000.0000.7406] # CJK COMPATIBILITY IDEOGRAPH-F9E4
+F9CC  ; [.FB40.0020.0002.7409][.F409.0000.0000.7409] # CJK COMPATIBILITY IDEOGRAPH-F9CC
+FA4A  ; [.FB40.0020.0002.7422][.F422.0000.0000.7422] # CJK COMPATIBILITY IDEOGRAPH-FA4A
+2F92E ; [.FB40.0020.0002.7447][.F447.0000.0000.7447] # CJK COMPATIBILITY IDEOGRAPH-2F92E
+2F92F ; [.FB40.0020.0002.745C][.F45C.0000.0000.745C] # CJK COMPATIBILITY IDEOGRAPH-2F92F
+F9AE  ; [.FB40.0020.0002.7469][.F469.0000.0000.7469] # CJK COMPATIBILITY IDEOGRAPH-F9AE
+FAA1  ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-FAA1
+2F930 ; [.FB40.0020.0002.7471][.F471.0000.0000.7471] # CJK COMPATIBILITY IDEOGRAPH-2F930
+2F931 ; [.FB40.0020.0002.7485][.F485.0000.0000.7485] # CJK COMPATIBILITY IDEOGRAPH-2F931
+F994  ; [.FB40.0020.0002.7489][.F489.0000.0000.7489] # CJK COMPATIBILITY IDEOGRAPH-F994
+F9EF  ; [.FB40.0020.0002.7498][.F498.0000.0000.7498] # CJK COMPATIBILITY IDEOGRAPH-F9EF
+2F932 ; [.FB40.0020.0002.74CA][.F4CA.0000.0000.74CA] # CJK COMPATIBILITY IDEOGRAPH-2F932
+2F60  ; [.FB40.0020.0004.74DC][.F4DC.0000.0000.74DC] # KANGXI RADICAL MELON
+2F61  ; [.FB40.0020.0004.74E6][.F4E6.0000.0000.74E6] # KANGXI RADICAL TILE
+FAA2  ; [.FB40.0020.0002.7506][.F506.0000.0000.7506] # CJK COMPATIBILITY IDEOGRAPH-FAA2
+2F62  ; [.FB40.0020.0004.7518][.F518.0000.0000.7518] # KANGXI RADICAL SWEET
+2F63  ; [.FB40.0020.0004.751F][.F51F.0000.0000.751F] # KANGXI RADICAL LIFE
+1F222 ; [.FB40.0020.001C.751F][.F51F.0000.0000.751F] # SQUARED CJK UNIFIED IDEOGRAPH-751F
+2F934 ; [.FB40.0020.0002.7524][.F524.0000.0000.7524] # CJK COMPATIBILITY IDEOGRAPH-2F934
+2F64  ; [.FB40.0020.0004.7528][.F528.0000.0000.7528] # KANGXI RADICAL USE
+2F65  ; [.FB40.0020.0004.7530][.F530.0000.0000.7530] # KANGXI RADICAL FIELD
+3199  ; [.FB40.0020.0014.7532][.F532.0000.0000.7532] # IDEOGRAPHIC ANNOTATION FIRST MARK
+1F238 ; [.FB40.0020.001C.7533][.F533.0000.0000.7533] # SQUARED CJK UNIFIED IDEOGRAPH-7533
+329A  ; [.FB40.0020.0006.7537][.F537.0000.0000.7537] # CIRCLED IDEOGRAPH MALE
+FAA3  ; [.FB40.0020.0002.753B][.F53B.0000.0000.753B] # CJK COMPATIBILITY IDEOGRAPH-FAA3
+2F936 ; [.FB40.0020.0002.753E][.F53E.0000.0000.753E] # CJK COMPATIBILITY IDEOGRAPH-2F936
+F9CD  ; [.FB40.0020.0002.7559][.F559.0000.0000.7559] # CJK COMPATIBILITY IDEOGRAPH-F9CD
+F976  ; [.FB40.0020.0002.7565][.F565.0000.0000.7565] # CJK COMPATIBILITY IDEOGRAPH-F976
+F962  ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-F962
+2F938 ; [.FB40.0020.0002.7570][.F570.0000.0000.7570] # CJK COMPATIBILITY IDEOGRAPH-2F938
+2F66  ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B] # KANGXI RADICAL BOLT OF CLOTH
+2EAA  ; [.FB40.0020.0004.758B][.F58B.0000.0000.758B][.0000.0139.0004.2EAA] # CJK RADICAL BOLT OF CLOTH
+2F67  ; [.FB40.0020.0004.7592][.F592.0000.0000.7592] # KANGXI RADICAL SICKNESS
+F9E5  ; [.FB40.0020.0002.75E2][.F5E2.0000.0000.75E2] # CJK COMPATIBILITY IDEOGRAPH-F9E5
+2F93A ; [.FB40.0020.0002.7610][.F610.0000.0000.7610] # CJK COMPATIBILITY IDEOGRAPH-2F93A
+FAA4  ; [.FB40.0020.0002.761D][.F61D.0000.0000.761D] # CJK COMPATIBILITY IDEOGRAPH-FAA4
+FAA5  ; [.FB40.0020.0002.761F][.F61F.0000.0000.761F] # CJK COMPATIBILITY IDEOGRAPH-FAA5
+F9C1  ; [.FB40.0020.0002.7642][.F642.0000.0000.7642] # CJK COMPATIBILITY IDEOGRAPH-F9C1
+F90E  ; [.FB40.0020.0002.7669][.F669.0000.0000.7669] # CJK COMPATIBILITY IDEOGRAPH-F90E
+2F68  ; [.FB40.0020.0004.7676][.F676.0000.0000.7676] # KANGXI RADICAL DOTTED TENT
+2F69  ; [.FB40.0020.0004.767D][.F67D.0000.0000.767D] # KANGXI RADICAL WHITE
+2F6A  ; [.FB40.0020.0004.76AE][.F6AE.0000.0000.76AE] # KANGXI RADICAL SKIN
+2F6B  ; [.FB40.0020.0004.76BF][.F6BF.0000.0000.76BF] # KANGXI RADICAL DISH
+FA17  ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FA17
+FAA6  ; [.FB40.0020.0002.76CA][.F6CA.0000.0000.76CA] # CJK COMPATIBILITY IDEOGRAPH-FAA6
+1F246 ; [*0359.0020.0004.1F246][.FB40.0020.0004.76D7][.F6D7.0000.0000.76D7][*035A.0020.001F.1F246] # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-76D7
+FAA7  ; [.FB40.0020.0002.76DB][.F6DB.0000.0000.76DB] # CJK COMPATIBILITY IDEOGRAPH-FAA7
+323C  ; [*02FB.0020.0004.323C][.FB40.0020.0004.76E3][.F6E3.0000.0000.76E3][*02FC.0020.001F.323C] # PARENTHESIZED IDEOGRAPH SUPERVISE
+32AC  ; [.FB40.0020.0006.76E3][.F6E3.0000.0000.76E3] # CIRCLED IDEOGRAPH SUPERVISE
+F933  ; [.FB40.0020.0002.76E7][.F6E7.0000.0000.76E7] # CJK COMPATIBILITY IDEOGRAPH-F933
+2F6C  ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE] # KANGXI RADICAL EYE
+2EAB  ; [.FB40.0020.0004.76EE][.F6EE.0000.0000.76EE][.0000.0139.0004.2EAB] # CJK RADICAL EYE
+FAA8  ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-FAA8
+2F940 ; [.FB40.0020.0002.76F4][.F6F4.0000.0000.76F4] # CJK COMPATIBILITY IDEOGRAPH-2F940
+F96D  ; [.FB40.0020.0002.7701][.F701.0000.0000.7701] # CJK COMPATIBILITY IDEOGRAPH-F96D
+2F945 ; [.FB40.0020.0002.771E][.F71E.0000.0000.771E] # CJK COMPATIBILITY IDEOGRAPH-2F945
+2F946 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F946
+2F947 ; [.FB40.0020.0002.771F][.F71F.0000.0000.771F] # CJK COMPATIBILITY IDEOGRAPH-2F947
+FAAA  ; [.FB40.0020.0002.7740][.F740.0000.0000.7740] # CJK COMPATIBILITY IDEOGRAPH-FAAA
+FAA9  ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-FAA9
+2F948 ; [.FB40.0020.0002.774A][.F74A.0000.0000.774A] # CJK COMPATIBILITY IDEOGRAPH-2F948
+2F94A ; [.FB40.0020.0002.778B][.F78B.0000.0000.778B] # CJK COMPATIBILITY IDEOGRAPH-2F94A
+FA9D  ; [.FB40.0020.0002.77A7][.F7A7.0000.0000.77A7] # CJK COMPATIBILITY IDEOGRAPH-FA9D
+2F6D  ; [.FB40.0020.0004.77DB][.F7DB.0000.0000.77DB] # KANGXI RADICAL SPEAR
+2F6E  ; [.FB40.0020.0004.77E2][.F7E2.0000.0000.77E2] # KANGXI RADICAL ARROW
+2F6F  ; [.FB40.0020.0004.77F3][.F7F3.0000.0000.77F3] # KANGXI RADICAL STONE
+2F94E ; [.FB40.0020.0002.784E][.F84E.0000.0000.784E] # CJK COMPATIBILITY IDEOGRAPH-2F94E
+F9CE  ; [.FB40.0020.0002.786B][.F86B.0000.0000.786B] # CJK COMPATIBILITY IDEOGRAPH-F9CE
+F93B  ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-F93B
+2F94F ; [.FB40.0020.0002.788C][.F88C.0000.0000.788C] # CJK COMPATIBILITY IDEOGRAPH-2F94F
+FA4B  ; [.FB40.0020.0002.7891][.F891.0000.0000.7891] # CJK COMPATIBILITY IDEOGRAPH-FA4B
+F947  ; [.FB40.0020.0002.78CA][.F8CA.0000.0000.78CA] # CJK COMPATIBILITY IDEOGRAPH-F947
+FAAB  ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-FAAB
+2F950 ; [.FB40.0020.0002.78CC][.F8CC.0000.0000.78CC] # CJK COMPATIBILITY IDEOGRAPH-2F950
+F964  ; [.FB40.0020.0002.78FB][.F8FB.0000.0000.78FB] # CJK COMPATIBILITY IDEOGRAPH-F964
+F985  ; [.FB40.0020.0002.792A][.F92A.0000.0000.792A] # CJK COMPATIBILITY IDEOGRAPH-F985
+2F70  ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A] # KANGXI RADICAL SPIRIT
+2EAC  ; [.FB40.0020.0004.793A][.F93A.0000.0000.793A][.0000.0139.0004.2EAC] # CJK RADICAL SPIRIT ONE
+2EAD  ; [.FB40.0020.0004.793B][.F93B.0000.0000.793B] # CJK RADICAL SPIRIT TWO
+FA18  ; [.FB40.0020.0002.793C][.F93C.0000.0000.793C] # CJK COMPATIBILITY IDEOGRAPH-FA18
+FA4C  ; [.FB40.0020.0002.793E][.F93E.0000.0000.793E] # CJK COMPATIBILITY IDEOGRAPH-FA4C
+3233  ; [*02FB.0020.0004.3233][.FB40.0020.0004.793E][.F93E.0000.0000.793E][*02FC.0020.001F.3233] # PARENTHESIZED IDEOGRAPH SOCIETY
+3293  ; [.FB40.0020.0006.793E][.F93E.0000.0000.793E] # CIRCLED IDEOGRAPH SOCIETY
+FA4E  ; [.FB40.0020.0002.7948][.F948.0000.0000.7948] # CJK COMPATIBILITY IDEOGRAPH-FA4E
+FA4D  ; [.FB40.0020.0002.7949][.F949.0000.0000.7949] # CJK COMPATIBILITY IDEOGRAPH-FA4D
+FA4F  ; [.FB40.0020.0002.7950][.F950.0000.0000.7950] # CJK COMPATIBILITY IDEOGRAPH-FA4F
+FA50  ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-FA50
+2F953 ; [.FB40.0020.0002.7956][.F956.0000.0000.7956] # CJK COMPATIBILITY IDEOGRAPH-2F953
+FA51  ; [.FB40.0020.0002.795D][.F95D.0000.0000.795D] # CJK COMPATIBILITY IDEOGRAPH-FA51
+3237  ; [*02FB.0020.0004.3237][.FB40.0020.0004.795D][.F95D.0000.0000.795D][*02FC.0020.001F.3237] # PARENTHESIZED IDEOGRAPH CONGRATULATION
+3297  ; [.FB40.0020.0006.795D][.F95D.0000.0000.795D] # CIRCLED IDEOGRAPH CONGRATULATION
+FA19  ; [.FB40.0020.0002.795E][.F95E.0000.0000.795E] # CJK COMPATIBILITY IDEOGRAPH-FA19
+FA1A  ; [.FB40.0020.0002.7965][.F965.0000.0000.7965] # CJK COMPATIBILITY IDEOGRAPH-FA1A
+3240  ; [*02FB.0020.0004.3240][.FB40.0020.0004.796D][.F96D.0000.0000.796D][*02FC.0020.001F.3240] # PARENTHESIZED IDEOGRAPH FESTIVAL
+F93C  ; [.FB40.0020.0002.797F][.F97F.0000.0000.797F] # CJK COMPATIBILITY IDEOGRAPH-F93C
+1F232 ; [.FB40.0020.001C.7981][.F981.0000.0000.7981] # SQUARED CJK UNIFIED IDEOGRAPH-7981
+FA52  ; [.FB40.0020.0002.798D][.F98D.0000.0000.798D] # CJK COMPATIBILITY IDEOGRAPH-FA52
+FA53  ; [.FB40.0020.0002.798E][.F98E.0000.0000.798E] # CJK COMPATIBILITY IDEOGRAPH-FA53
+FA1B  ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-FA1B
+2F956 ; [.FB40.0020.0002.798F][.F98F.0000.0000.798F] # CJK COMPATIBILITY IDEOGRAPH-2F956
+F9B6  ; [.FB40.0020.0002.79AE][.F9AE.0000.0000.79AE] # CJK COMPATIBILITY IDEOGRAPH-F9B6
+2F71  ; [.FB40.0020.0004.79B8][.F9B8.0000.0000.79B8] # KANGXI RADICAL TRACK
+2F72  ; [.FB40.0020.0004.79BE][.F9BE.0000.0000.79BE] # KANGXI RADICAL GRAIN
+F995  ; [.FB40.0020.0002.79CA][.F9CA.0000.0000.79CA] # CJK COMPATIBILITY IDEOGRAPH-F995
+3299  ; [.FB40.0020.0006.79D8][.F9D8.0000.0000.79D8] # CIRCLED IDEOGRAPH SECRET
+2F957 ; [.FB40.0020.0002.79EB][.F9EB.0000.0000.79EB] # CJK COMPATIBILITY IDEOGRAPH-2F957
+F956  ; [.FB40.0020.0002.7A1C][.FA1C.0000.0000.7A1C] # CJK COMPATIBILITY IDEOGRAPH-F956
+FA54  ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-FA54
+2F959 ; [.FB40.0020.0002.7A40][.FA40.0000.0000.7A40] # CJK COMPATIBILITY IDEOGRAPH-2F959
+2F95A ; [.FB40.0020.0002.7A4A][.FA4A.0000.0000.7A4A] # CJK COMPATIBILITY IDEOGRAPH-2F95A
+2F95B ; [.FB40.0020.0002.7A4F][.FA4F.0000.0000.7A4F] # CJK COMPATIBILITY IDEOGRAPH-2F95B
+2F73  ; [.FB40.0020.0004.7A74][.FA74.0000.0000.7A74] # KANGXI RADICAL CAVE
+1F233 ; [.FB40.0020.001C.7A7A][.FA7A.0000.0000.7A7A] # SQUARED CJK UNIFIED IDEOGRAPH-7A7A
+FA55  ; [.FB40.0020.0002.7A81][.FA81.0000.0000.7A81] # CJK COMPATIBILITY IDEOGRAPH-FA55
+FAAC  ; [.FB40.0020.0002.7AB1][.FAB1.0000.0000.7AB1] # CJK COMPATIBILITY IDEOGRAPH-FAAC
+F9F7  ; [.FB40.0020.0002.7ACB][.FACB.0000.0000.7ACB] # CJK COMPATIBILITY IDEOGRAPH-F9F7
+2F74  ; [.FB40.0020.0004.7ACB][.FACB.0000.0000.7ACB] # KANGXI RADICAL STAND
+2F95F ; [.FB40.0020.0002.7AEE][.FAEE.0000.0000.7AEE] # CJK COMPATIBILITY IDEOGRAPH-2F95F
+2F75  ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9] # KANGXI RADICAL BAMBOO
+2EAE  ; [.FB40.0020.0004.7AF9][.FAF9.0000.0000.7AF9][.0000.0139.0004.2EAE] # CJK RADICAL BAMBOO
+F9F8  ; [.FB40.0020.0002.7B20][.FB20.0000.0000.7B20] # CJK COMPATIBILITY IDEOGRAPH-F9F8
+3247  ; [.FB40.0020.0006.7B8F][.FB8F.0000.0000.7B8F] # CIRCLED IDEOGRAPH KOTO
+FA56  ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FA56
+FAAD  ; [.FB40.0020.0002.7BC0][.FBC0.0000.0000.7BC0] # CJK COMPATIBILITY IDEOGRAPH-FAAD
+2F962 ; [.FB40.0020.0002.7BC6][.FBC6.0000.0000.7BC6] # CJK COMPATIBILITY IDEOGRAPH-2F962
+2F963 ; [.FB40.0020.0002.7BC9][.FBC9.0000.0000.7BC9] # CJK COMPATIBILITY IDEOGRAPH-2F963
+F9A6  ; [.FB40.0020.0002.7C3E][.FC3E.0000.0000.7C3E] # CJK COMPATIBILITY IDEOGRAPH-F9A6
+F944  ; [.FB40.0020.0002.7C60][.FC60.0000.0000.7C60] # CJK COMPATIBILITY IDEOGRAPH-F944
+2F76  ; [.FB40.0020.0004.7C73][.FC73.0000.0000.7C73] # KANGXI RADICAL RICE
+FAAE  ; [.FB40.0020.0002.7C7B][.FC7B.0000.0000.7C7B] # CJK COMPATIBILITY IDEOGRAPH-FAAE
+F9F9  ; [.FB40.0020.0002.7C92][.FC92.0000.0000.7C92] # CJK COMPATIBILITY IDEOGRAPH-F9F9
+FA1D  ; [.FB40.0020.0002.7CBE][.FCBE.0000.0000.7CBE] # CJK COMPATIBILITY IDEOGRAPH-FA1D
+2F966 ; [.FB40.0020.0002.7CD2][.FCD2.0000.0000.7CD2] # CJK COMPATIBILITY IDEOGRAPH-2F966
+FA03  ; [.FB40.0020.0002.7CD6][.FCD6.0000.0000.7CD6] # CJK COMPATIBILITY IDEOGRAPH-FA03
+2F969 ; [.FB40.0020.0002.7CE3][.FCE3.0000.0000.7CE3] # CJK COMPATIBILITY IDEOGRAPH-2F969
+F97B  ; [.FB40.0020.0002.7CE7][.FCE7.0000.0000.7CE7] # CJK COMPATIBILITY IDEOGRAPH-F97B
+2F968 ; [.FB40.0020.0002.7CE8][.FCE8.0000.0000.7CE8] # CJK COMPATIBILITY IDEOGRAPH-2F968
+2F77  ; [.FB40.0020.0004.7CF8][.FCF8.0000.0000.7CF8] # KANGXI RADICAL SILK
+2EAF  ; [.FB40.0020.0004.7CF9][.FCF9.0000.0000.7CF9] # CJK RADICAL SILK
+2F96A ; [.FB40.0020.0002.7D00][.FD00.0000.0000.7D00] # CJK COMPATIBILITY IDEOGRAPH-2F96A
+F9CF  ; [.FB40.0020.0002.7D10][.FD10.0000.0000.7D10] # CJK COMPATIBILITY IDEOGRAPH-F9CF
+F96A  ; [.FB40.0020.0002.7D22][.FD22.0000.0000.7D22] # CJK COMPATIBILITY IDEOGRAPH-F96A
+F94F  ; [.FB40.0020.0002.7D2F][.FD2F.0000.0000.7D2F] # CJK COMPATIBILITY IDEOGRAPH-F94F
+1F221 ; [.FB40.0020.001C.7D42][.FD42.0000.0000.7D42] # SQUARED CJK UNIFIED IDEOGRAPH-7D42
+FAAF  ; [.FB40.0020.0002.7D5B][.FD5B.0000.0000.7D5B] # CJK COMPATIBILITY IDEOGRAPH-FAAF
+2F96C ; [.FB40.0020.0002.7D63][.FD63.0000.0000.7D63] # CJK COMPATIBILITY IDEOGRAPH-2F96C
+F93D  ; [.FB40.0020.0002.7DA0][.FDA0.0000.0000.7DA0] # CJK COMPATIBILITY IDEOGRAPH-F93D
+F957  ; [.FB40.0020.0002.7DBE][.FDBE.0000.0000.7DBE] # CJK COMPATIBILITY IDEOGRAPH-F957
+2F96E ; [.FB40.0020.0002.7DC7][.FDC7.0000.0000.7DC7] # CJK COMPATIBILITY IDEOGRAPH-2F96E
+F996  ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-F996
+FA57  ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FA57
+FAB0  ; [.FB40.0020.0002.7DF4][.FDF4.0000.0000.7DF4] # CJK COMPATIBILITY IDEOGRAPH-FAB0
+2F96F ; [.FB40.0020.0002.7E02][.FE02.0000.0000.7E02] # CJK COMPATIBILITY IDEOGRAPH-2F96F
+FA58  ; [.FB40.0020.0002.7E09][.FE09.0000.0000.7E09] # CJK COMPATIBILITY IDEOGRAPH-FA58
+F950  ; [.FB40.0020.0002.7E37][.FE37.0000.0000.7E37] # CJK COMPATIBILITY IDEOGRAPH-F950
+FA59  ; [.FB40.0020.0002.7E41][.FE41.0000.0000.7E41] # CJK COMPATIBILITY IDEOGRAPH-FA59
+2F970 ; [.FB40.0020.0002.7E45][.FE45.0000.0000.7E45] # CJK COMPATIBILITY IDEOGRAPH-2F970
+2EB0  ; [.FB40.0020.0004.7E9F][.FE9F.0000.0000.7E9F] # CJK RADICAL C-SIMPLIFIED SILK
+2F78  ; [.FB40.0020.0004.7F36][.FF36.0000.0000.7F36] # KANGXI RADICAL JAR
+FAB1  ; [.FB40.0020.0002.7F3E][.FF3E.0000.0000.7F3E] # CJK COMPATIBILITY IDEOGRAPH-FAB1
+2F79  ; [.FB40.0020.0004.7F51][.FF51.0000.0000.7F51] # KANGXI RADICAL NET
+2EB2  ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52] # CJK RADICAL NET TWO
+2EB5  ; [.FB40.0020.0004.7F52][.FF52.0000.0000.7F52][.0000.0139.0004.2EB5] # CJK RADICAL MESH
+2EB1  ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53] # CJK RADICAL NET ONE
+2EB3  ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.0139.0004.2EB3] # CJK RADICAL NET THREE
+2EB4  ; [.FB40.0020.0004.7F53][.FF53.0000.0000.7F53][.0000.013A.0004.2EB4] # CJK RADICAL NET FOUR
+FA5A  ; [.FB40.0020.0002.7F72][.FF72.0000.0000.7F72] # CJK COMPATIBILITY IDEOGRAPH-FA5A
+F9E6  ; [.FB40.0020.0002.7F79][.FF79.0000.0000.7F79] # CJK COMPATIBILITY IDEOGRAPH-F9E6
+2F976 ; [.FB40.0020.0002.7F7A][.FF7A.0000.0000.7F7A] # CJK COMPATIBILITY IDEOGRAPH-2F976
+F90F  ; [.FB40.0020.0002.7F85][.FF85.0000.0000.7F85] # CJK COMPATIBILITY IDEOGRAPH-F90F
+2F7A  ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A] # KANGXI RADICAL SHEEP
+2EB6  ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.0139.0004.2EB6] # CJK RADICAL SHEEP
+2EB7  ; [.FB40.0020.0004.7F8A][.FF8A.0000.0000.7F8A][.0000.013A.0004.2EB7] # CJK RADICAL RAM
+2EB8  ; [.FB40.0020.0004.7F8B][.FF8B.0000.0000.7F8B] # CJK RADICAL EWE
+2F978 ; [.FB40.0020.0002.7F95][.FF95.0000.0000.7F95] # CJK COMPATIBILITY IDEOGRAPH-2F978
+F9AF  ; [.FB40.0020.0002.7F9A][.FF9A.0000.0000.7F9A] # CJK COMPATIBILITY IDEOGRAPH-F9AF
+FA1E  ; [.FB40.0020.0002.7FBD][.FFBD.0000.0000.7FBD] # CJK COMPATIBILITY IDEOGRAPH-FA1E
+2F7B  ; [.FB40.0020.0004.7FBD][.FFBD.0000.0000.7FBD] # KANGXI RADICAL FEATHER
+2F979 ; [.FB40.0020.0002.7FFA][.FFFA.0000.0000.7FFA] # CJK COMPATIBILITY IDEOGRAPH-2F979
+F934  ; [.FB41.0020.0002.8001][.8001.0000.0000.8001] # CJK COMPATIBILITY IDEOGRAPH-F934
+2F7C  ; [.FB41.0020.0004.8001][.8001.0000.0000.8001] # KANGXI RADICAL OLD
+2EB9  ; [.FB41.0020.0004.8002][.8002.0000.0000.8002] # CJK RADICAL OLD
+FA5B  ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FA5B
+FAB2  ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-FAB2
+2F97A ; [.FB41.0020.0002.8005][.8005.0000.0000.8005] # CJK COMPATIBILITY IDEOGRAPH-2F97A
+2F7D  ; [.FB41.0020.0004.800C][.800C.0000.0000.800C] # KANGXI RADICAL AND
+2F7E  ; [.FB41.0020.0004.8012][.8012.0000.0000.8012] # KANGXI RADICAL PLOW
+2F7F  ; [.FB41.0020.0004.8033][.8033.0000.0000.8033] # KANGXI RADICAL EAR
+F9B0  ; [.FB41.0020.0002.8046][.8046.0000.0000.8046] # CJK COMPATIBILITY IDEOGRAPH-F9B0
+2F97D ; [.FB41.0020.0002.8060][.8060.0000.0000.8060] # CJK COMPATIBILITY IDEOGRAPH-2F97D
+F997  ; [.FB41.0020.0002.806F][.806F.0000.0000.806F] # CJK COMPATIBILITY IDEOGRAPH-F997
+2F97F ; [.FB41.0020.0002.8070][.8070.0000.0000.8070] # CJK COMPATIBILITY IDEOGRAPH-2F97F
+F945  ; [.FB41.0020.0002.807E][.807E.0000.0000.807E] # CJK COMPATIBILITY IDEOGRAPH-F945
+2F80  ; [.FB41.0020.0004.807F][.807F.0000.0000.807F] # KANGXI RADICAL BRUSH
+2EBB  ; [.FB41.0020.0004.807F][.807F.0000.0000.807F][.0000.0139.0004.2EBB] # CJK RADICAL BRUSH TWO
+2EBA  ; [.FB41.0020.0004.8080][.8080.0000.0000.8080] # CJK RADICAL BRUSH ONE
+2F81  ; [.FB41.0020.0004.8089][.8089.0000.0000.8089] # KANGXI RADICAL MEAT
+2EBC  ; [.FB41.0020.0004.8089][.8089.0000.0000.8089][.0000.0139.0004.2EBC] # CJK RADICAL MEAT
+F953  ; [.FB41.0020.0002.808B][.808B.0000.0000.808B] # CJK COMPATIBILITY IDEOGRAPH-F953
+2F8D6 ; [.FB41.0020.0002.80AD][.80AD.0000.0000.80AD] # CJK COMPATIBILITY IDEOGRAPH-2F8D6
+2F982 ; [.FB41.0020.0002.80B2][.80B2.0000.0000.80B2] # CJK COMPATIBILITY IDEOGRAPH-2F982
+2F983 ; [.FB41.0020.0002.8103][.8103.0000.0000.8103] # CJK COMPATIBILITY IDEOGRAPH-2F983
+2F985 ; [.FB41.0020.0002.813E][.813E.0000.0000.813E] # CJK COMPATIBILITY IDEOGRAPH-2F985
+F926  ; [.FB41.0020.0002.81D8][.81D8.0000.0000.81D8] # CJK COMPATIBILITY IDEOGRAPH-F926
+2F82  ; [.FB41.0020.0004.81E3][.81E3.0000.0000.81E3] # KANGXI RADICAL MINISTER
+F9F6  ; [.FB41.0020.0002.81E8][.81E8.0000.0000.81E8] # CJK COMPATIBILITY IDEOGRAPH-F9F6
+2F83  ; [.FB41.0020.0004.81EA][.81EA.0000.0000.81EA] # KANGXI RADICAL SELF
+3242  ; [*02FB.0020.0004.3242][.FB41.0020.0004.81EA][.81EA.0000.0000.81EA][*02FC.0020.001F.3242] # PARENTHESIZED IDEOGRAPH SELF
+FA5C  ; [.FB41.0020.0002.81ED][.81ED.0000.0000.81ED] # CJK COMPATIBILITY IDEOGRAPH-FA5C
+2F84  ; [.FB41.0020.0004.81F3][.81F3.0000.0000.81F3] # KANGXI RADICAL ARRIVE
+3243  ; [*02FB.0020.0004.3243][.FB41.0020.0004.81F3][.81F3.0000.0000.81F3][*02FC.0020.001F.3243] # PARENTHESIZED IDEOGRAPH REACH
+2F85  ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC] # KANGXI RADICAL MORTAR
+2EBD  ; [.FB41.0020.0004.81FC][.81FC.0000.0000.81FC][.0000.0139.0004.2EBD] # CJK RADICAL MORTAR
+2F893 ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F893
+2F98B ; [.FB41.0020.0002.8201][.8201.0000.0000.8201] # CJK COMPATIBILITY IDEOGRAPH-2F98B
+2F98C ; [.FB41.0020.0002.8204][.8204.0000.0000.8204] # CJK COMPATIBILITY IDEOGRAPH-2F98C
+2F86  ; [.FB41.0020.0004.820C][.820C.0000.0000.820C] # KANGXI RADICAL TONGUE
+FA6D  ; [.FB41.0020.0002.8218][.8218.0000.0000.8218] # CJK COMPATIBILITY IDEOGRAPH-FA6D
+2F87  ; [.FB41.0020.0004.821B][.821B.0000.0000.821B] # KANGXI RADICAL OPPOSE
+2F88  ; [.FB41.0020.0004.821F][.821F.0000.0000.821F] # KANGXI RADICAL BOAT
+2F89  ; [.FB41.0020.0004.826E][.826E.0000.0000.826E] # KANGXI RADICAL STOPPING
+F97C  ; [.FB41.0020.0002.826F][.826F.0000.0000.826F] # CJK COMPATIBILITY IDEOGRAPH-F97C
+2F8A  ; [.FB41.0020.0004.8272][.8272.0000.0000.8272] # KANGXI RADICAL COLOR
+2F8B  ; [.FB41.0020.0004.8278][.8278.0000.0000.8278] # KANGXI RADICAL GRASS
+FA5D  ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5D
+FA5E  ; [.FB41.0020.0002.8279][.8279.0000.0000.8279] # CJK COMPATIBILITY IDEOGRAPH-FA5E
+2EBE  ; [.FB41.0020.0004.8279][.8279.0000.0000.8279] # CJK RADICAL GRASS ONE
+2EBF  ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.0139.0004.2EBF] # CJK RADICAL GRASS TWO
+2EC0  ; [.FB41.0020.0004.8279][.8279.0000.0000.8279][.0000.013A.0004.2EC0] # CJK RADICAL GRASS THREE
+2F990 ; [.FB41.0020.0002.828B][.828B.0000.0000.828B] # CJK COMPATIBILITY IDEOGRAPH-2F990
+2F98F ; [.FB41.0020.0002.8291][.8291.0000.0000.8291] # CJK COMPATIBILITY IDEOGRAPH-2F98F
+2F991 ; [.FB41.0020.0002.829D][.829D.0000.0000.829D] # CJK COMPATIBILITY IDEOGRAPH-2F991
+2F993 ; [.FB41.0020.0002.82B1][.82B1.0000.0000.82B1] # CJK COMPATIBILITY IDEOGRAPH-2F993
+2F994 ; [.FB41.0020.0002.82B3][.82B3.0000.0000.82B3] # CJK COMPATIBILITY IDEOGRAPH-2F994
+2F995 ; [.FB41.0020.0002.82BD][.82BD.0000.0000.82BD] # CJK COMPATIBILITY IDEOGRAPH-2F995
+F974  ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-F974
+2F998 ; [.FB41.0020.0002.82E5][.82E5.0000.0000.82E5] # CJK COMPATIBILITY IDEOGRAPH-2F998
+2F996 ; [.FB41.0020.0002.82E6][.82E6.0000.0000.82E6] # CJK COMPATIBILITY IDEOGRAPH-2F996
+2F999 ; [.FB41.0020.0002.831D][.831D.0000.0000.831D] # CJK COMPATIBILITY IDEOGRAPH-2F999
+2F99C ; [.FB41.0020.0002.8323][.8323.0000.0000.8323] # CJK COMPATIBILITY IDEOGRAPH-2F99C
+F9FE  ; [.FB41.0020.0002.8336][.8336.0000.0000.8336] # CJK COMPATIBILITY IDEOGRAPH-F9FE
+FAB3  ; [.FB41.0020.0002.8352][.8352.0000.0000.8352] # CJK COMPATIBILITY IDEOGRAPH-FAB3
+2F9A0 ; [.FB41.0020.0002.8353][.8353.0000.0000.8353] # CJK COMPATIBILITY IDEOGRAPH-2F9A0
+2F99A ; [.FB41.0020.0002.8363][.8363.0000.0000.8363] # CJK COMPATIBILITY IDEOGRAPH-2F99A
+2F99B ; [.FB41.0020.0002.83AD][.83AD.0000.0000.83AD] # CJK COMPATIBILITY IDEOGRAPH-2F99B
+2F99D ; [.FB41.0020.0002.83BD][.83BD.0000.0000.83BD] # CJK COMPATIBILITY IDEOGRAPH-2F99D
+F93E  ; [.FB41.0020.0002.83C9][.83C9.0000.0000.83C9] # CJK COMPATIBILITY IDEOGRAPH-F93E
+2F9A1 ; [.FB41.0020.0002.83CA][.83CA.0000.0000.83CA] # CJK COMPATIBILITY IDEOGRAPH-2F9A1
+2F9A2 ; [.FB41.0020.0002.83CC][.83CC.0000.0000.83CC] # CJK COMPATIBILITY IDEOGRAPH-2F9A2
+2F9A3 ; [.FB41.0020.0002.83DC][.83DC.0000.0000.83DC] # CJK COMPATIBILITY IDEOGRAPH-2F9A3
+2F99E ; [.FB41.0020.0002.83E7][.83E7.0000.0000.83E7] # CJK COMPATIBILITY IDEOGRAPH-2F99E
+FAB4  ; [.FB41.0020.0002.83EF][.83EF.0000.0000.83EF] # CJK COMPATIBILITY IDEOGRAPH-FAB4
+F958  ; [.FB41.0020.0002.83F1][.83F1.0000.0000.83F1] # CJK COMPATIBILITY IDEOGRAPH-F958
+F918  ; [.FB41.0020.0002.843D][.843D.0000.0000.843D] # CJK COMPATIBILITY IDEOGRAPH-F918
+F96E  ; [.FB41.0020.0002.8449][.8449.0000.0000.8449] # CJK COMPATIBILITY IDEOGRAPH-F96E
+FA5F  ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-FA5F
+2F99F ; [.FB41.0020.0002.8457][.8457.0000.0000.8457] # CJK COMPATIBILITY IDEOGRAPH-2F99F
+F999  ; [.FB41.0020.0002.84EE][.84EE.0000.0000.84EE] # CJK COMPATIBILITY IDEOGRAPH-F999
+2F9A8 ; [.FB41.0020.0002.84F1][.84F1.0000.0000.84F1] # CJK COMPATIBILITY IDEOGRAPH-2F9A8
+2F9A9 ; [.FB41.0020.0002.84F3][.84F3.0000.0000.84F3] # CJK COMPATIBILITY IDEOGRAPH-2F9A9
+F9C2  ; [.FB41.0020.0002.84FC][.84FC.0000.0000.84FC] # CJK COMPATIBILITY IDEOGRAPH-F9C2
+2F9AA ; [.FB41.0020.0002.8516][.8516.0000.0000.8516] # CJK COMPATIBILITY IDEOGRAPH-2F9AA
+2F9AC ; [.FB41.0020.0002.8564][.8564.0000.0000.8564] # CJK COMPATIBILITY IDEOGRAPH-2F9AC
+F923  ; [.FB41.0020.0002.85CD][.85CD.0000.0000.85CD] # CJK COMPATIBILITY IDEOGRAPH-F923
+F9F0  ; [.FB41.0020.0002.85FA][.85FA.0000.0000.85FA] # CJK COMPATIBILITY IDEOGRAPH-F9F0
+F935  ; [.FB41.0020.0002.8606][.8606.0000.0000.8606] # CJK COMPATIBILITY IDEOGRAPH-F935
+FA20  ; [.FB41.0020.0002.8612][.8612.0000.0000.8612] # CJK COMPATIBILITY IDEOGRAPH-FA20
+F91F  ; [.FB41.0020.0002.862D][.862D.0000.0000.862D] # CJK COMPATIBILITY IDEOGRAPH-F91F
+F910  ; [.FB41.0020.0002.863F][.863F.0000.0000.863F] # CJK COMPATIBILITY IDEOGRAPH-F910
+2F8C  ; [.FB41.0020.0004.864D][.864D.0000.0000.864D] # KANGXI RADICAL TIGER
+2EC1  ; [.FB41.0020.0004.864E][.864E.0000.0000.864E] # CJK RADICAL TIGER
+2F9B3 ; [.FB41.0020.0002.8650][.8650.0000.0000.8650] # CJK COMPATIBILITY IDEOGRAPH-2F9B3
+F936  ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-F936
+2F9B4 ; [.FB41.0020.0002.865C][.865C.0000.0000.865C] # CJK COMPATIBILITY IDEOGRAPH-2F9B4
+2F9B5 ; [.FB41.0020.0002.8667][.8667.0000.0000.8667] # CJK COMPATIBILITY IDEOGRAPH-2F9B5
+2F9B6 ; [.FB41.0020.0002.8669][.8669.0000.0000.8669] # CJK COMPATIBILITY IDEOGRAPH-2F9B6
+2F8D  ; [.FB41.0020.0004.866B][.866B.0000.0000.866B] # KANGXI RADICAL INSECT
+2F9B8 ; [.FB41.0020.0002.8688][.8688.0000.0000.8688] # CJK COMPATIBILITY IDEOGRAPH-2F9B8
+2F9B7 ; [.FB41.0020.0002.86A9][.86A9.0000.0000.86A9] # CJK COMPATIBILITY IDEOGRAPH-2F9B7
+2F9BA ; [.FB41.0020.0002.86E2][.86E2.0000.0000.86E2] # CJK COMPATIBILITY IDEOGRAPH-2F9BA
+2F9B9 ; [.FB41.0020.0002.870E][.870E.0000.0000.870E] # CJK COMPATIBILITY IDEOGRAPH-2F9B9
+2F9BC ; [.FB41.0020.0002.8728][.8728.0000.0000.8728] # CJK COMPATIBILITY IDEOGRAPH-2F9BC
+2F9BD ; [.FB41.0020.0002.876B][.876B.0000.0000.876B] # CJK COMPATIBILITY IDEOGRAPH-2F9BD
+FAB5  ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-FAB5
+2F9BB ; [.FB41.0020.0002.8779][.8779.0000.0000.8779] # CJK COMPATIBILITY IDEOGRAPH-2F9BB
+2F9BE ; [.FB41.0020.0002.8786][.8786.0000.0000.8786] # CJK COMPATIBILITY IDEOGRAPH-2F9BE
+F911  ; [.FB41.0020.0002.87BA][.87BA.0000.0000.87BA] # CJK COMPATIBILITY IDEOGRAPH-F911
+2F9C0 ; [.FB41.0020.0002.87E1][.87E1.0000.0000.87E1] # CJK COMPATIBILITY IDEOGRAPH-2F9C0
+2F9C1 ; [.FB41.0020.0002.8801][.8801.0000.0000.8801] # CJK COMPATIBILITY IDEOGRAPH-2F9C1
+F927  ; [.FB41.0020.0002.881F][.881F.0000.0000.881F] # CJK COMPATIBILITY IDEOGRAPH-F927
+2F8E  ; [.FB41.0020.0004.8840][.8840.0000.0000.8840] # KANGXI RADICAL BLOOD
+FA08  ; [.FB41.0020.0002.884C][.884C.0000.0000.884C] # CJK COMPATIBILITY IDEOGRAPH-FA08
+2F8F  ; [.FB41.0020.0004.884C][.884C.0000.0000.884C] # KANGXI RADICAL WALK ENCLOSURE
+2F9C3 ; [.FB41.0020.0002.8860][.8860.0000.0000.8860] # CJK COMPATIBILITY IDEOGRAPH-2F9C3
+2F9C4 ; [.FB41.0020.0002.8863][.8863.0000.0000.8863] # CJK COMPATIBILITY IDEOGRAPH-2F9C4
+2F90  ; [.FB41.0020.0004.8863][.8863.0000.0000.8863] # KANGXI RADICAL CLOTHES
+2EC2  ; [.FB41.0020.0004.8864][.8864.0000.0000.8864] # CJK RADICAL CLOTHES
+F9A0  ; [.FB41.0020.0002.88C2][.88C2.0000.0000.88C2] # CJK COMPATIBILITY IDEOGRAPH-F9A0
+F9E7  ; [.FB41.0020.0002.88CF][.88CF.0000.0000.88CF] # CJK COMPATIBILITY IDEOGRAPH-F9E7
+2F9C6 ; [.FB41.0020.0002.88D7][.88D7.0000.0000.88D7] # CJK COMPATIBILITY IDEOGRAPH-2F9C6
+2F9C7 ; [.FB41.0020.0002.88DE][.88DE.0000.0000.88DE] # CJK COMPATIBILITY IDEOGRAPH-2F9C7
+F9E8  ; [.FB41.0020.0002.88E1][.88E1.0000.0000.88E1] # CJK COMPATIBILITY IDEOGRAPH-F9E8
+F912  ; [.FB41.0020.0002.88F8][.88F8.0000.0000.88F8] # CJK COMPATIBILITY IDEOGRAPH-F912
+2F9C9 ; [.FB41.0020.0002.88FA][.88FA.0000.0000.88FA] # CJK COMPATIBILITY IDEOGRAPH-2F9C9
+FA60  ; [.FB41.0020.0002.8910][.8910.0000.0000.8910] # CJK COMPATIBILITY IDEOGRAPH-FA60
+FAB6  ; [.FB41.0020.0002.8941][.8941.0000.0000.8941] # CJK COMPATIBILITY IDEOGRAPH-FAB6
+F924  ; [.FB41.0020.0002.8964][.8964.0000.0000.8964] # CJK COMPATIBILITY IDEOGRAPH-F924
+2F91  ; [.FB41.0020.0004.897E][.897E.0000.0000.897E] # KANGXI RADICAL WEST
+2EC4  ; [.FB41.0020.0004.897F][.897F.0000.0000.897F] # CJK RADICAL WEST TWO
+2EC3  ; [.FB41.0020.0004.8980][.8980.0000.0000.8980] # CJK RADICAL WEST ONE
+FAB7  ; [.FB41.0020.0002.8986][.8986.0000.0000.8986] # CJK COMPATIBILITY IDEOGRAPH-FAB7
+FA0A  ; [.FB41.0020.0002.898B][.898B.0000.0000.898B] # CJK COMPATIBILITY IDEOGRAPH-FA0A
+2F92  ; [.FB41.0020.0004.898B][.898B.0000.0000.898B] # KANGXI RADICAL SEE
+FA61  ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FA61
+FAB8  ; [.FB41.0020.0002.8996][.8996.0000.0000.8996] # CJK COMPATIBILITY IDEOGRAPH-FAB8
+2EC5  ; [.FB41.0020.0004.89C1][.89C1.0000.0000.89C1] # CJK RADICAL C-SIMPLIFIED SEE
+2EC6  ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # CJK RADICAL SIMPLIFIED HORN
+2F93  ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2] # KANGXI RADICAL HORN
+2EC7  ; [.FB41.0020.0004.89D2][.89D2.0000.0000.89D2][.0000.0139.0004.2EC7] # CJK RADICAL HORN
+1F216 ; [.FB41.0020.001C.89E3][.89E3.0000.0000.89E3] # SQUARED CJK UNIFIED IDEOGRAPH-89E3
+2F94  ; [.FB41.0020.0004.8A00][.8A00.0000.0000.8A00] # KANGXI RADICAL SPEECH
+2F9CF ; [.FB41.0020.0002.8AA0][.8AA0.0000.0000.8AA0] # CJK COMPATIBILITY IDEOGRAPH-2F9CF
+F96F  ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F96F
+F9A1  ; [.FB41.0020.0002.8AAA][.8AAA.0000.0000.8AAA] # CJK COMPATIBILITY IDEOGRAPH-F9A1
+FAB9  ; [.FB41.0020.0002.8ABF][.8ABF.0000.0000.8ABF] # CJK COMPATIBILITY IDEOGRAPH-FAB9
+FABB  ; [.FB41.0020.0002.8ACB][.8ACB.0000.0000.8ACB] # CJK COMPATIBILITY IDEOGRAPH-FABB
+F97D  ; [.FB41.0020.0002.8AD2][.8AD2.0000.0000.8AD2] # CJK COMPATIBILITY IDEOGRAPH-F97D
+F941  ; [.FB41.0020.0002.8AD6][.8AD6.0000.0000.8AD6] # CJK COMPATIBILITY IDEOGRAPH-F941
+FABE  ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-FABE
+2F9D0 ; [.FB41.0020.0002.8AED][.8AED.0000.0000.8AED] # CJK COMPATIBILITY IDEOGRAPH-2F9D0
+FA22  ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FA22
+FABA  ; [.FB41.0020.0002.8AF8][.8AF8.0000.0000.8AF8] # CJK COMPATIBILITY IDEOGRAPH-FABA
+F95D  ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-F95D
+FABD  ; [.FB41.0020.0002.8AFE][.8AFE.0000.0000.8AFE] # CJK COMPATIBILITY IDEOGRAPH-FABD
+FA62  ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FA62
+FABC  ; [.FB41.0020.0002.8B01][.8B01.0000.0000.8B01] # CJK COMPATIBILITY IDEOGRAPH-FABC
+FA63  ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FA63
+FABF  ; [.FB41.0020.0002.8B39][.8B39.0000.0000.8B39] # CJK COMPATIBILITY IDEOGRAPH-FABF
+F9FC  ; [.FB41.0020.0002.8B58][.8B58.0000.0000.8B58] # CJK COMPATIBILITY IDEOGRAPH-F9FC
+F95A  ; [.FB41.0020.0002.8B80][.8B80.0000.0000.8B80] # CJK COMPATIBILITY IDEOGRAPH-F95A
+FAC0  ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-FAC0
+2F9D1 ; [.FB41.0020.0002.8B8A][.8B8A.0000.0000.8B8A] # CJK COMPATIBILITY IDEOGRAPH-2F9D1
+2EC8  ; [.FB41.0020.0004.8BA0][.8BA0.0000.0000.8BA0] # CJK RADICAL C-SIMPLIFIED SPEECH
+2F95  ; [.FB41.0020.0004.8C37][.8C37.0000.0000.8C37] # KANGXI RADICAL VALLEY
+2F96  ; [.FB41.0020.0004.8C46][.8C46.0000.0000.8C46] # KANGXI RADICAL BEAN
+F900  ; [.FB41.0020.0002.8C48][.8C48.0000.0000.8C48] # CJK COMPATIBILITY IDEOGRAPH-F900
+2F9D2 ; [.FB41.0020.0002.8C55][.8C55.0000.0000.8C55] # CJK COMPATIBILITY IDEOGRAPH-2F9D2
+2F97  ; [.FB41.0020.0004.8C55][.8C55.0000.0000.8C55] # KANGXI RADICAL PIG
+2F98  ; [.FB41.0020.0004.8C78][.8C78.0000.0000.8C78] # KANGXI RADICAL BADGER
+2F99  ; [.FB41.0020.0004.8C9D][.8C9D.0000.0000.8C9D] # KANGXI RADICAL SHELL
+3236  ; [*02FB.0020.0004.3236][.FB41.0020.0004.8CA1][.8CA1.0000.0000.8CA1][*02FC.0020.001F.3236] # PARENTHESIZED IDEOGRAPH FINANCIAL
+3296  ; [.FB41.0020.0006.8CA1][.8CA1.0000.0000.8CA1] # CIRCLED IDEOGRAPH FINANCIAL
+1F223 ; [.FB41.0020.001C.8CA9][.8CA9.0000.0000.8CA9] # SQUARED CJK UNIFIED IDEOGRAPH-8CA9
+2F9D4 ; [.FB41.0020.0002.8CAB][.8CAB.0000.0000.8CAB] # CJK COMPATIBILITY IDEOGRAPH-2F9D4
+2F9D5 ; [.FB41.0020.0002.8CC1][.8CC1.0000.0000.8CC1] # CJK COMPATIBILITY IDEOGRAPH-2F9D5
+F948  ; [.FB41.0020.0002.8CC2][.8CC2.0000.0000.8CC2] # CJK COMPATIBILITY IDEOGRAPH-F948
+323E  ; [*02FB.0020.0004.323E][.FB41.0020.0004.8CC7][.8CC7.0000.0000.8CC7][*02FC.0020.001F.323E] # PARENTHESIZED IDEOGRAPH RESOURCE
+32AE  ; [.FB41.0020.0006.8CC7][.8CC7.0000.0000.8CC7] # CIRCLED IDEOGRAPH RESOURCE
+F903  ; [.FB41.0020.0002.8CC8][.8CC8.0000.0000.8CC8] # CJK COMPATIBILITY IDEOGRAPH-F903
+FA64  ; [.FB41.0020.0002.8CD3][.8CD3.0000.0000.8CD3] # CJK COMPATIBILITY IDEOGRAPH-FA64
+FA65  ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FA65
+FAC1  ; [.FB41.0020.0002.8D08][.8D08.0000.0000.8D08] # CJK COMPATIBILITY IDEOGRAPH-FAC1
+2F9D6 ; [.FB41.0020.0002.8D1B][.8D1B.0000.0000.8D1B] # CJK COMPATIBILITY IDEOGRAPH-2F9D6
+2EC9  ; [.FB41.0020.0004.8D1D][.8D1D.0000.0000.8D1D] # CJK RADICAL C-SIMPLIFIED SHELL
+2F9A  ; [.FB41.0020.0004.8D64][.8D64.0000.0000.8D64] # KANGXI RADICAL RED
+2F9B  ; [.FB41.0020.0004.8D70][.8D70.0000.0000.8D70] # KANGXI RADICAL RUN
+1F230 ; [.FB41.0020.001C.8D70][.8D70.0000.0000.8D70] # SQUARED CJK UNIFIED IDEOGRAPH-8D70
+2F9D7 ; [.FB41.0020.0002.8D77][.8D77.0000.0000.8D77] # CJK COMPATIBILITY IDEOGRAPH-2F9D7
+2F9C  ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3] # KANGXI RADICAL FOOT
+2ECA  ; [.FB41.0020.0004.8DB3][.8DB3.0000.0000.8DB3][.0000.0139.0004.2ECA] # CJK RADICAL FOOT
+2F9DB ; [.FB41.0020.0002.8DBC][.8DBC.0000.0000.8DBC] # CJK COMPATIBILITY IDEOGRAPH-2F9DB
+2F9DA ; [.FB41.0020.0002.8DCB][.8DCB.0000.0000.8DCB] # CJK COMPATIBILITY IDEOGRAPH-2F9DA
+F937  ; [.FB41.0020.0002.8DEF][.8DEF.0000.0000.8DEF] # CJK COMPATIBILITY IDEOGRAPH-F937
+2F9DC ; [.FB41.0020.0002.8DF0][.8DF0.0000.0000.8DF0] # CJK COMPATIBILITY IDEOGRAPH-2F9DC
+2F9D  ; [.FB41.0020.0004.8EAB][.8EAB.0000.0000.8EAB] # KANGXI RADICAL BODY
+F902  ; [.FB41.0020.0002.8ECA][.8ECA.0000.0000.8ECA] # CJK COMPATIBILITY IDEOGRAPH-F902
+2F9E  ; [.FB41.0020.0004.8ECA][.8ECA.0000.0000.8ECA] # KANGXI RADICAL CART
+2F9DE ; [.FB41.0020.0002.8ED4][.8ED4.0000.0000.8ED4] # CJK COMPATIBILITY IDEOGRAPH-2F9DE
+F998  ; [.FB41.0020.0002.8F26][.8F26.0000.0000.8F26] # CJK COMPATIBILITY IDEOGRAPH-F998
+F9D7  ; [.FB41.0020.0002.8F2A][.8F2A.0000.0000.8F2A] # CJK COMPATIBILITY IDEOGRAPH-F9D7
+FAC2  ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-FAC2
+2F9DF ; [.FB41.0020.0002.8F38][.8F38.0000.0000.8F38] # CJK COMPATIBILITY IDEOGRAPH-2F9DF
+FA07  ; [.FB41.0020.0002.8F3B][.8F3B.0000.0000.8F3B] # CJK COMPATIBILITY IDEOGRAPH-FA07
+F98D  ; [.FB41.0020.0002.8F62][.8F62.0000.0000.8F62] # CJK COMPATIBILITY IDEOGRAPH-F98D
+2ECB  ; [.FB41.0020.0004.8F66][.8F66.0000.0000.8F66] # CJK RADICAL C-SIMPLIFIED CART
+2F9F  ; [.FB41.0020.0004.8F9B][.8F9B.0000.0000.8F9B] # KANGXI RADICAL BITTER
+2F98D ; [.FB41.0020.0002.8F9E][.8F9E.0000.0000.8F9E] # CJK COMPATIBILITY IDEOGRAPH-2F98D
+F971  ; [.FB41.0020.0002.8FB0][.8FB0.0000.0000.8FB0] # CJK COMPATIBILITY IDEOGRAPH-F971
+2FA0  ; [.FB41.0020.0004.8FB0][.8FB0.0000.0000.8FB0] # KANGXI RADICAL MORNING
+2FA1  ; [.FB41.0020.0004.8FB5][.8FB5.0000.0000.8FB5] # KANGXI RADICAL WALK
+FA66  ; [.FB41.0020.0002.8FB6][.8FB6.0000.0000.8FB6] # CJK COMPATIBILITY IDEOGRAPH-FA66
+2ECC  ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6] # CJK RADICAL SIMPLIFIED WALK
+2ECD  ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.0139.0004.2ECD] # CJK RADICAL WALK ONE
+2ECE  ; [.FB41.0020.0004.8FB6][.8FB6.0000.0000.8FB6][.0000.013A.0004.2ECE] # CJK RADICAL WALK TWO
+F99A  ; [.FB41.0020.0002.9023][.9023.0000.0000.9023] # CJK COMPATIBILITY IDEOGRAPH-F99A
+FA25  ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA25
+FA67  ; [.FB41.0020.0002.9038][.9038.0000.0000.9038] # CJK COMPATIBILITY IDEOGRAPH-FA67
+1F22B ; [.FB41.0020.001C.904A][.904A.0000.0000.904A] # SQUARED CJK UNIFIED IDEOGRAPH-904A
+329C  ; [.FB41.0020.0006.9069][.9069.0000.0000.9069] # CIRCLED IDEOGRAPH SUITABLE
+FAC3  ; [.FB41.0020.0002.9072][.9072.0000.0000.9072] # CJK COMPATIBILITY IDEOGRAPH-FAC3
+F9C3  ; [.FB41.0020.0002.907C][.907C.0000.0000.907C] # CJK COMPATIBILITY IDEOGRAPH-F9C3
+F913  ; [.FB41.0020.0002.908F][.908F.0000.0000.908F] # CJK COMPATIBILITY IDEOGRAPH-F913
+2FA2  ; [.FB41.0020.0004.9091][.9091.0000.0000.9091] # KANGXI RADICAL CITY
+2ECF  ; [.FB41.0020.0004.9091][.9091.0000.0000.9091][.0000.0139.0004.2ECF] # CJK RADICAL CITY
+2F9E2 ; [.FB41.0020.0002.9094][.9094.0000.0000.9094] # CJK COMPATIBILITY IDEOGRAPH-2F9E2
+F92C  ; [.FB41.0020.0002.90CE][.90CE.0000.0000.90CE] # CJK COMPATIBILITY IDEOGRAPH-F92C
+FA2E  ; [.FB41.0020.0002.90DE][.90DE.0000.0000.90DE] # CJK COMPATIBILITY IDEOGRAPH-FA2E
+2F9E3 ; [.FB41.0020.0002.90F1][.90F1.0000.0000.90F1] # CJK COMPATIBILITY IDEOGRAPH-2F9E3
+FA26  ; [.FB41.0020.0002.90FD][.90FD.0000.0000.90FD] # CJK COMPATIBILITY IDEOGRAPH-FA26
+2F9E4 ; [.FB41.0020.0002.9111][.9111.0000.0000.9111] # CJK COMPATIBILITY IDEOGRAPH-2F9E4
+2F9E6 ; [.FB41.0020.0002.911B][.911B.0000.0000.911B] # CJK COMPATIBILITY IDEOGRAPH-2F9E6
+2FA3  ; [.FB41.0020.0004.9149][.9149.0000.0000.9149] # KANGXI RADICAL WINE
+F919  ; [.FB41.0020.0002.916A][.916A.0000.0000.916A] # CJK COMPATIBILITY IDEOGRAPH-F919
+FAC4  ; [.FB41.0020.0002.9199][.9199.0000.0000.9199] # CJK COMPATIBILITY IDEOGRAPH-FAC4
+F9B7  ; [.FB41.0020.0002.91B4][.91B4.0000.0000.91B4] # CJK COMPATIBILITY IDEOGRAPH-F9B7
+2FA4  ; [.FB41.0020.0004.91C6][.91C6.0000.0000.91C6] # KANGXI RADICAL DISTINGUISH
+F9E9  ; [.FB41.0020.0002.91CC][.91CC.0000.0000.91CC] # CJK COMPATIBILITY IDEOGRAPH-F9E9
+2FA5  ; [.FB41.0020.0004.91CC][.91CC.0000.0000.91CC] # KANGXI RADICAL VILLAGE
+F97E  ; [.FB41.0020.0002.91CF][.91CF.0000.0000.91CF] # CJK COMPATIBILITY IDEOGRAPH-F97E
+F90A  ; [.FB41.0020.0002.91D1][.91D1.0000.0000.91D1] # CJK COMPATIBILITY IDEOGRAPH-F90A
+2FA6  ; [.FB41.0020.0004.91D1][.91D1.0000.0000.91D1] # KANGXI RADICAL GOLD
+322E  ; [*02FB.0020.0004.322E][.FB41.0020.0004.91D1][.91D1.0000.0000.91D1][*02FC.0020.001F.322E] # PARENTHESIZED IDEOGRAPH METAL
+328E  ; [.FB41.0020.0006.91D1][.91D1.0000.0000.91D1] # CIRCLED IDEOGRAPH METAL
+F9B1  ; [.FB41.0020.0002.9234][.9234.0000.0000.9234] # CJK COMPATIBILITY IDEOGRAPH-F9B1
+2F9E7 ; [.FB41.0020.0002.9238][.9238.0000.0000.9238] # CJK COMPATIBILITY IDEOGRAPH-2F9E7
+FAC5  ; [.FB41.0020.0002.9276][.9276.0000.0000.9276] # CJK COMPATIBILITY IDEOGRAPH-FAC5
+2F9EA ; [.FB41.0020.0002.927C][.927C.0000.0000.927C] # CJK COMPATIBILITY IDEOGRAPH-2F9EA
+2F9E8 ; [.FB41.0020.0002.92D7][.92D7.0000.0000.92D7] # CJK COMPATIBILITY IDEOGRAPH-2F9E8
+2F9E9 ; [.FB41.0020.0002.92D8][.92D8.0000.0000.92D8] # CJK COMPATIBILITY IDEOGRAPH-2F9E9
+F93F  ; [.FB41.0020.0002.9304][.9304.0000.0000.9304] # CJK COMPATIBILITY IDEOGRAPH-F93F
+F99B  ; [.FB41.0020.0002.934A][.934A.0000.0000.934A] # CJK COMPATIBILITY IDEOGRAPH-F99B
+2F9EB ; [.FB41.0020.0002.93F9][.93F9.0000.0000.93F9] # CJK COMPATIBILITY IDEOGRAPH-2F9EB
+2F9EC ; [.FB41.0020.0002.9415][.9415.0000.0000.9415] # CJK COMPATIBILITY IDEOGRAPH-2F9EC
+2ED0  ; [.FB41.0020.0004.9485][.9485.0000.0000.9485] # CJK RADICAL C-SIMPLIFIED GOLD
+2ED1  ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # CJK RADICAL LONG ONE
+2FA7  ; [.FB41.0020.0004.9577][.9577.0000.0000.9577] # KANGXI RADICAL LONG
+2ED2  ; [.FB41.0020.0004.9578][.9578.0000.0000.9578] # CJK RADICAL LONG TWO
+2ED3  ; [.FB41.0020.0004.957F][.957F.0000.0000.957F] # CJK RADICAL C-SIMPLIFIED LONG
+2FA8  ; [.FB41.0020.0004.9580][.9580.0000.0000.9580] # KANGXI RADICAL GATE
+2F9EE ; [.FB41.0020.0002.958B][.958B.0000.0000.958B] # CJK COMPATIBILITY IDEOGRAPH-2F9EE
+F986  ; [.FB41.0020.0002.95AD][.95AD.0000.0000.95AD] # CJK COMPATIBILITY IDEOGRAPH-F986
+2F9F0 ; [.FB41.0020.0002.95B7][.95B7.0000.0000.95B7] # CJK COMPATIBILITY IDEOGRAPH-2F9F0
+2ED4  ; [.FB41.0020.0004.95E8][.95E8.0000.0000.95E8] # CJK RADICAL C-SIMPLIFIED GATE
+2FA9  ; [.FB41.0020.0004.961C][.961C.0000.0000.961C] # KANGXI RADICAL MOUND
+2ED5  ; [.FB41.0020.0004.961C][.961C.0000.0000.961C][.0000.0139.0004.2ED5] # CJK RADICAL MOUND ONE
+2ED6  ; [.FB41.0020.0004.961D][.961D.0000.0000.961D] # CJK RADICAL MOUND TWO
+F9C6  ; [.FB41.0020.0002.962E][.962E.0000.0000.962E] # CJK COMPATIBILITY IDEOGRAPH-F9C6
+F951  ; [.FB41.0020.0002.964B][.964B.0000.0000.964B] # CJK COMPATIBILITY IDEOGRAPH-F951
+FA09  ; [.FB41.0020.0002.964D][.964D.0000.0000.964D] # CJK COMPATIBILITY IDEOGRAPH-FA09
+F959  ; [.FB41.0020.0002.9675][.9675.0000.0000.9675] # CJK COMPATIBILITY IDEOGRAPH-F959
+F9D3  ; [.FB41.0020.0002.9678][.9678.0000.0000.9678] # CJK COMPATIBILITY IDEOGRAPH-F9D3
+FAC6  ; [.FB41.0020.0002.967C][.967C.0000.0000.967C] # CJK COMPATIBILITY IDEOGRAPH-FAC6
+F9DC  ; [.FB41.0020.0002.9686][.9686.0000.0000.9686] # CJK COMPATIBILITY IDEOGRAPH-F9DC
+F9F1  ; [.FB41.0020.0002.96A3][.96A3.0000.0000.96A3] # CJK COMPATIBILITY IDEOGRAPH-F9F1
+2FAA  ; [.FB41.0020.0004.96B6][.96B6.0000.0000.96B6] # KANGXI RADICAL SLAVE
+FA2F  ; [.FB41.0020.0002.96B7][.96B7.0000.0000.96B7] # CJK COMPATIBILITY IDEOGRAPH-FA2F
+F9B8  ; [.FB41.0020.0002.96B8][.96B8.0000.0000.96B8] # CJK COMPATIBILITY IDEOGRAPH-F9B8
+2FAB  ; [.FB41.0020.0004.96B9][.96B9.0000.0000.96B9] # KANGXI RADICAL SHORT TAILED BIRD
+2F9F3 ; [.FB41.0020.0002.96C3][.96C3.0000.0000.96C3] # CJK COMPATIBILITY IDEOGRAPH-2F9F3
+F9EA  ; [.FB41.0020.0002.96E2][.96E2.0000.0000.96E2] # CJK COMPATIBILITY IDEOGRAPH-F9EA
+FA68  ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FA68
+FAC7  ; [.FB41.0020.0002.96E3][.96E3.0000.0000.96E3] # CJK COMPATIBILITY IDEOGRAPH-FAC7
+2FAC  ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8] # KANGXI RADICAL RAIN
+2ED7  ; [.FB41.0020.0004.96E8][.96E8.0000.0000.96E8][.0000.0139.0004.2ED7] # CJK RADICAL RAIN
+F9B2  ; [.FB41.0020.0002.96F6][.96F6.0000.0000.96F6] # CJK COMPATIBILITY IDEOGRAPH-F9B2
+F949  ; [.FB41.0020.0002.96F7][.96F7.0000.0000.96F7] # CJK COMPATIBILITY IDEOGRAPH-F949
+2F9F5 ; [.FB41.0020.0002.9723][.9723.0000.0000.9723] # CJK COMPATIBILITY IDEOGRAPH-2F9F5
+F938  ; [.FB41.0020.0002.9732][.9732.0000.0000.9732] # CJK COMPATIBILITY IDEOGRAPH-F938
+F9B3  ; [.FB41.0020.0002.9748][.9748.0000.0000.9748] # CJK COMPATIBILITY IDEOGRAPH-F9B3
+2FAD  ; [.FB41.0020.0004.9751][.9751.0000.0000.9751] # KANGXI RADICAL BLUE
+2ED8  ; [.FB41.0020.0004.9752][.9752.0000.0000.9752] # CJK RADICAL BLUE
+FA1C  ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FA1C
+FAC8  ; [.FB41.0020.0002.9756][.9756.0000.0000.9756] # CJK COMPATIBILITY IDEOGRAPH-FAC8
+2FAE  ; [.FB41.0020.0004.975E][.975E.0000.0000.975E] # KANGXI RADICAL WRONG
+2FAF  ; [.FB41.0020.0004.9762][.9762.0000.0000.9762] # KANGXI RADICAL FACE
+2FB0  ; [.FB41.0020.0004.9769][.9769.0000.0000.9769] # KANGXI RADICAL LEATHER
+2FB1  ; [.FB41.0020.0004.97CB][.97CB.0000.0000.97CB] # KANGXI RADICAL TANNED LEATHER
+FAC9  ; [.FB41.0020.0002.97DB][.97DB.0000.0000.97DB] # CJK COMPATIBILITY IDEOGRAPH-FAC9
+2F9FA ; [.FB41.0020.0002.97E0][.97E0.0000.0000.97E0] # CJK COMPATIBILITY IDEOGRAPH-2F9FA
+2ED9  ; [.FB41.0020.0004.97E6][.97E6.0000.0000.97E6] # CJK RADICAL C-SIMPLIFIED TANNED LEATHER
+2FB2  ; [.FB41.0020.0004.97ED][.97ED.0000.0000.97ED] # KANGXI RADICAL LEEK
+2FB3  ; [.FB41.0020.0004.97F3][.97F3.0000.0000.97F3] # KANGXI RADICAL SOUND
+FA69  ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FA69
+FACA  ; [.FB41.0020.0002.97FF][.97FF.0000.0000.97FF] # CJK COMPATIBILITY IDEOGRAPH-FACA
+2FB4  ; [.FB41.0020.0004.9801][.9801.0000.0000.9801] # KANGXI RADICAL LEAF
+32A0  ; [.FB41.0020.0006.9805][.9805.0000.0000.9805] # CIRCLED IDEOGRAPH ITEM
+FACB  ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-FACB
+2F9FE ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FE
+2F9FF ; [.FB41.0020.0002.980B][.980B.0000.0000.980B] # CJK COMPATIBILITY IDEOGRAPH-2F9FF
+F9B4  ; [.FB41.0020.0002.9818][.9818.0000.0000.9818] # CJK COMPATIBILITY IDEOGRAPH-F9B4
+2FA00 ; [.FB41.0020.0002.9829][.9829.0000.0000.9829] # CJK COMPATIBILITY IDEOGRAPH-2FA00
+FA6A  ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FA6A
+FACC  ; [.FB41.0020.0002.983B][.983B.0000.0000.983B] # CJK COMPATIBILITY IDEOGRAPH-FACC
+F9D0  ; [.FB41.0020.0002.985E][.985E.0000.0000.985E] # CJK COMPATIBILITY IDEOGRAPH-F9D0
+2EDA  ; [.FB41.0020.0004.9875][.9875.0000.0000.9875] # CJK RADICAL C-SIMPLIFIED LEAF
+2FB5  ; [.FB41.0020.0004.98A8][.98A8.0000.0000.98A8] # KANGXI RADICAL WIND
+2EDB  ; [.FB41.0020.0004.98CE][.98CE.0000.0000.98CE] # CJK RADICAL C-SIMPLIFIED WIND
+2FB6  ; [.FB41.0020.0004.98DB][.98DB.0000.0000.98DB] # KANGXI RADICAL FLY
+2EDC  ; [.FB41.0020.0004.98DE][.98DE.0000.0000.98DE] # CJK RADICAL C-SIMPLIFIED FLY
+2EDD  ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # CJK RADICAL EAT ONE
+2FB7  ; [.FB41.0020.0004.98DF][.98DF.0000.0000.98DF] # KANGXI RADICAL EAT
+2EDF  ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0] # CJK RADICAL EAT THREE
+2EDE  ; [.FB41.0020.0004.98E0][.98E0.0000.0000.98E0][.0000.0139.0004.2EDE] # CJK RADICAL EAT TWO
+2FA02 ; [.FB41.0020.0002.98E2][.98E2.0000.0000.98E2] # CJK COMPATIBILITY IDEOGRAPH-2FA02
+FA2A  ; [.FB41.0020.0002.98EF][.98EF.0000.0000.98EF] # CJK COMPATIBILITY IDEOGRAPH-FA2A
+FA2B  ; [.FB41.0020.0002.98FC][.98FC.0000.0000.98FC] # CJK COMPATIBILITY IDEOGRAPH-FA2B
+FA2C  ; [.FB41.0020.0002.9928][.9928.0000.0000.9928] # CJK COMPATIBILITY IDEOGRAPH-FA2C
+2FA04 ; [.FB41.0020.0002.9929][.9929.0000.0000.9929] # CJK COMPATIBILITY IDEOGRAPH-2FA04
+2EE0  ; [.FB41.0020.0004.9963][.9963.0000.0000.9963] # CJK RADICAL C-SIMPLIFIED EAT
+2FB8  ; [.FB41.0020.0004.9996][.9996.0000.0000.9996] # KANGXI RADICAL HEAD
+2EE1  ; [.FB41.0020.0004.9996][.9996.0000.0000.9996][.0000.0139.0004.2EE1] # CJK RADICAL HEAD
+2FB9  ; [.FB41.0020.0004.9999][.9999.0000.0000.9999] # KANGXI RADICAL FRAGRANT
+2FA05 ; [.FB41.0020.0002.99A7][.99A7.0000.0000.99A7] # CJK COMPATIBILITY IDEOGRAPH-2FA05
+2FBA  ; [.FB41.0020.0004.99AC][.99AC.0000.0000.99AC] # KANGXI RADICAL HORSE
+2FA06 ; [.FB41.0020.0002.99C2][.99C2.0000.0000.99C2] # CJK COMPATIBILITY IDEOGRAPH-2FA06
+F91A  ; [.FB41.0020.0002.99F1][.99F1.0000.0000.99F1] # CJK COMPATIBILITY IDEOGRAPH-F91A
+2FA07 ; [.FB41.0020.0002.99FE][.99FE.0000.0000.99FE] # CJK COMPATIBILITY IDEOGRAPH-2FA07
+F987  ; [.FB41.0020.0002.9A6A][.9A6A.0000.0000.9A6A] # CJK COMPATIBILITY IDEOGRAPH-F987
+2EE2  ; [.FB41.0020.0004.9A6C][.9A6C.0000.0000.9A6C] # CJK RADICAL C-SIMPLIFIED HORSE
+2FBB  ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8] # KANGXI RADICAL BONE
+2EE3  ; [.FB41.0020.0004.9AA8][.9AA8.0000.0000.9AA8][.0000.0139.0004.2EE3] # CJK RADICAL BONE
+2FBC  ; [.FB41.0020.0004.9AD8][.9AD8.0000.0000.9AD8] # KANGXI RADICAL TALL
+2FBD  ; [.FB41.0020.0004.9ADF][.9ADF.0000.0000.9ADF] # KANGXI RADICAL HAIR
+FACD  ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-FACD
+2FA0A ; [.FB41.0020.0002.9B12][.9B12.0000.0000.9B12] # CJK COMPATIBILITY IDEOGRAPH-2FA0A
+2FBE  ; [.FB41.0020.0004.9B25][.9B25.0000.0000.9B25] # KANGXI RADICAL FIGHT
+2FBF  ; [.FB41.0020.0004.9B2F][.9B2F.0000.0000.9B2F] # KANGXI RADICAL SACRIFICIAL WINE
+2FC0  ; [.FB41.0020.0004.9B32][.9B32.0000.0000.9B32] # KANGXI RADICAL CAULDRON
+2FC1  ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C] # KANGXI RADICAL GHOST
+2EE4  ; [.FB41.0020.0004.9B3C][.9B3C.0000.0000.9B3C][.0000.0139.0004.2EE4] # CJK RADICAL GHOST
+2FC2  ; [.FB41.0020.0004.9B5A][.9B5A.0000.0000.9B5A] # KANGXI RADICAL FISH
+F939  ; [.FB41.0020.0002.9B6F][.9B6F.0000.0000.9B6F] # CJK COMPATIBILITY IDEOGRAPH-F939
+2FA0B ; [.FB41.0020.0002.9C40][.9C40.0000.0000.9C40] # CJK COMPATIBILITY IDEOGRAPH-2FA0B
+F9F2  ; [.FB41.0020.0002.9C57][.9C57.0000.0000.9C57] # CJK COMPATIBILITY IDEOGRAPH-F9F2
+2EE5  ; [.FB41.0020.0004.9C7C][.9C7C.0000.0000.9C7C] # CJK RADICAL C-SIMPLIFIED FISH
+2FC3  ; [.FB41.0020.0004.9CE5][.9CE5.0000.0000.9CE5] # KANGXI RADICAL BIRD
+2FA0C ; [.FB41.0020.0002.9CFD][.9CFD.0000.0000.9CFD] # CJK COMPATIBILITY IDEOGRAPH-2FA0C
+2FA0F ; [.FB41.0020.0002.9D67][.9D67.0000.0000.9D67] # CJK COMPATIBILITY IDEOGRAPH-2FA0F
+FA2D  ; [.FB41.0020.0002.9DB4][.9DB4.0000.0000.9DB4] # CJK COMPATIBILITY IDEOGRAPH-FA2D
+F93A  ; [.FB41.0020.0002.9DFA][.9DFA.0000.0000.9DFA] # CJK COMPATIBILITY IDEOGRAPH-F93A
+F920  ; [.FB41.0020.0002.9E1E][.9E1E.0000.0000.9E1E] # CJK COMPATIBILITY IDEOGRAPH-F920
+2EE6  ; [.FB41.0020.0004.9E1F][.9E1F.0000.0000.9E1F] # CJK RADICAL C-SIMPLIFIED BIRD
+2FC4  ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75] # KANGXI RADICAL SALT
+2EE7  ; [.FB41.0020.0004.9E75][.9E75.0000.0000.9E75][.0000.0139.0004.2EE7] # CJK RADICAL C-SIMPLIFIED SALT
+F940  ; [.FB41.0020.0002.9E7F][.9E7F.0000.0000.9E7F] # CJK COMPATIBILITY IDEOGRAPH-F940
+2FC5  ; [.FB41.0020.0004.9E7F][.9E7F.0000.0000.9E7F] # KANGXI RADICAL DEER
+F988  ; [.FB41.0020.0002.9E97][.9E97.0000.0000.9E97] # CJK COMPATIBILITY IDEOGRAPH-F988
+F9F3  ; [.FB41.0020.0002.9E9F][.9E9F.0000.0000.9E9F] # CJK COMPATIBILITY IDEOGRAPH-F9F3
+2FC6  ; [.FB41.0020.0004.9EA5][.9EA5.0000.0000.9EA5] # KANGXI RADICAL WHEAT
+2EE8  ; [.FB41.0020.0004.9EA6][.9EA6.0000.0000.9EA6] # CJK RADICAL SIMPLIFIED WHEAT
+2FA15 ; [.FB41.0020.0002.9EBB][.9EBB.0000.0000.9EBB] # CJK COMPATIBILITY IDEOGRAPH-2FA15
+2FC7  ; [.FB41.0020.0004.9EBB][.9EBB.0000.0000.9EBB] # KANGXI RADICAL HEMP
+2FC8  ; [.FB41.0020.0004.9EC3][.9EC3.0000.0000.9EC3] # KANGXI RADICAL YELLOW
+2EE9  ; [.FB41.0020.0004.9EC4][.9EC4.0000.0000.9EC4] # CJK RADICAL SIMPLIFIED YELLOW
+2FC9  ; [.FB41.0020.0004.9ECD][.9ECD.0000.0000.9ECD] # KANGXI RADICAL MILLET
+F989  ; [.FB41.0020.0002.9ECE][.9ECE.0000.0000.9ECE] # CJK COMPATIBILITY IDEOGRAPH-F989
+2FCA  ; [.FB41.0020.0004.9ED1][.9ED1.0000.0000.9ED1] # KANGXI RADICAL BLACK
+2FA17 ; [.FB41.0020.0002.9EF9][.9EF9.0000.0000.9EF9] # CJK COMPATIBILITY IDEOGRAPH-2FA17
+2FCB  ; [.FB41.0020.0004.9EF9][.9EF9.0000.0000.9EF9] # KANGXI RADICAL EMBROIDERY
+2FCC  ; [.FB41.0020.0004.9EFD][.9EFD.0000.0000.9EFD] # KANGXI RADICAL FROG
+2FA18 ; [.FB41.0020.0002.9EFE][.9EFE.0000.0000.9EFE] # CJK COMPATIBILITY IDEOGRAPH-2FA18
+2EEA  ; [.FB41.0020.0004.9EFE][.9EFE.0000.0000.9EFE] # CJK RADICAL C-SIMPLIFIED FROG
+2FA19 ; [.FB41.0020.0002.9F05][.9F05.0000.0000.9F05] # CJK COMPATIBILITY IDEOGRAPH-2FA19
+2FCD  ; [.FB41.0020.0004.9F0E][.9F0E.0000.0000.9F0E] # KANGXI RADICAL TRIPOD
+2FA1A ; [.FB41.0020.0002.9F0F][.9F0F.0000.0000.9F0F] # CJK COMPATIBILITY IDEOGRAPH-2FA1A
+2FCE  ; [.FB41.0020.0004.9F13][.9F13.0000.0000.9F13] # KANGXI RADICAL DRUM
+2FA1B ; [.FB41.0020.0002.9F16][.9F16.0000.0000.9F16] # CJK COMPATIBILITY IDEOGRAPH-2FA1B
+2FCF  ; [.FB41.0020.0004.9F20][.9F20.0000.0000.9F20] # KANGXI RADICAL RAT
+2FA1C ; [.FB41.0020.0002.9F3B][.9F3B.0000.0000.9F3B] # CJK COMPATIBILITY IDEOGRAPH-2FA1C
+2FD0  ; [.FB41.0020.0004.9F3B][.9F3B.0000.0000.9F3B] # KANGXI RADICAL NOSE
+FAD8  ; [.FB41.0020.0002.9F43][.9F43.0000.0000.9F43] # CJK COMPATIBILITY IDEOGRAPH-FAD8
+2FD1  ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A] # KANGXI RADICAL EVEN
+2EEB  ; [.FB41.0020.0004.9F4A][.9F4A.0000.0000.9F4A][.0000.0139.0004.2EEB] # CJK RADICAL J-SIMPLIFIED EVEN
+2EEC  ; [.FB41.0020.0004.9F50][.9F50.0000.0000.9F50] # CJK RADICAL C-SIMPLIFIED EVEN
+2FD2  ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52] # KANGXI RADICAL TOOTH
+2EED  ; [.FB41.0020.0004.9F52][.9F52.0000.0000.9F52][.0000.0139.0004.2EED] # CJK RADICAL J-SIMPLIFIED TOOTH
+2EEE  ; [.FB41.0020.0004.9F7F][.9F7F.0000.0000.9F7F] # CJK RADICAL C-SIMPLIFIED TOOTH
+F9C4  ; [.FB41.0020.0002.9F8D][.9F8D.0000.0000.9F8D] # CJK COMPATIBILITY IDEOGRAPH-F9C4
+2FD3  ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D] # KANGXI RADICAL DRAGON
+2EEF  ; [.FB41.0020.0004.9F8D][.9F8D.0000.0000.9F8D][.0000.0139.0004.2EEF] # CJK RADICAL J-SIMPLIFIED DRAGON
+FAD9  ; [.FB41.0020.0002.9F8E][.9F8E.0000.0000.9F8E] # CJK COMPATIBILITY IDEOGRAPH-FAD9
+2EF0  ; [.FB41.0020.0004.9F99][.9F99.0000.0000.9F99] # CJK RADICAL C-SIMPLIFIED DRAGON
+F907  ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F907
+F908  ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-F908
+FACE  ; [.FB41.0020.0002.9F9C][.9F9C.0000.0000.9F9C] # CJK COMPATIBILITY IDEOGRAPH-FACE
+2FD4  ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C] # KANGXI RADICAL TURTLE
+2EF1  ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.0139.0004.2EF1] # CJK RADICAL TURTLE
+2EF2  ; [.FB41.0020.0004.9F9C][.9F9C.0000.0000.9F9C][.0000.013A.0004.2EF2] # CJK RADICAL J-SIMPLIFIED TURTLE
+2EF3  ; [.FB41.0020.0004.9F9F][.9F9F.0000.0000.9F9F] # CJK RADICAL C-SIMPLIFIED TURTLE
+2FD5  ; [.FB41.0020.0004.9FA0][.9FA0.0000.0000.9FA0] # KANGXI RADICAL FLUTE
 FA0E  ; [.FB41.0020.0002.FA0E][.FA0E.0000.0000.FA0E] # CJK COMPATIBILITY IDEOGRAPH-FA0E
 FA0F  ; [.FB41.0020.0002.FA0F][.FA0F.0000.0000.FA0F] # CJK COMPATIBILITY IDEOGRAPH-FA0F
 FA11  ; [.FB41.0020.0002.FA11][.FA11.0000.0000.FA11] # CJK COMPATIBILITY IDEOGRAPH-FA11
@@ -24224,185 +24968,185 @@
 FA27  ; [.FB41.0020.0002.FA27][.FA27.0000.0000.FA27] # CJK COMPATIBILITY IDEOGRAPH-FA27
 FA28  ; [.FB41.0020.0002.FA28][.FA28.0000.0000.FA28] # CJK COMPATIBILITY IDEOGRAPH-FA28
 FA29  ; [.FB41.0020.0002.FA29][.FA29.0000.0000.FA29] # CJK COMPATIBILITY IDEOGRAPH-FA29
-2F80C ; [.FB80.0020.0002.349E][.B49E.0000.0000.349E] # CJK COMPATIBILITY IDEOGRAPH-2F80C; QQC
-2F813 ; [.FB80.0020.0002.34B9][.B4B9.0000.0000.34B9] # CJK COMPATIBILITY IDEOGRAPH-2F813; QQC
-2F9CA ; [.FB80.0020.0002.34BB][.B4BB.0000.0000.34BB] # CJK COMPATIBILITY IDEOGRAPH-2F9CA; QQC
-2F81F ; [.FB80.0020.0002.34DF][.B4DF.0000.0000.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F; QQC
-2F824 ; [.FB80.0020.0002.3515][.B515.0000.0000.3515] # CJK COMPATIBILITY IDEOGRAPH-2F824; QQC
-2F867 ; [.FB80.0020.0002.36EE][.B6EE.0000.0000.36EE] # CJK COMPATIBILITY IDEOGRAPH-2F867; QQC
-2F868 ; [.FB80.0020.0002.36FC][.B6FC.0000.0000.36FC] # CJK COMPATIBILITY IDEOGRAPH-2F868; QQC
-2F876 ; [.FB80.0020.0002.3781][.B781.0000.0000.3781] # CJK COMPATIBILITY IDEOGRAPH-2F876; QQC
-2F883 ; [.FB80.0020.0002.382F][.B82F.0000.0000.382F] # CJK COMPATIBILITY IDEOGRAPH-2F883; QQC
-2F888 ; [.FB80.0020.0002.3862][.B862.0000.0000.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888; QQC
-2F88A ; [.FB80.0020.0002.387C][.B87C.0000.0000.387C] # CJK COMPATIBILITY IDEOGRAPH-2F88A; QQC
-2F896 ; [.FB80.0020.0002.38C7][.B8C7.0000.0000.38C7] # CJK COMPATIBILITY IDEOGRAPH-2F896; QQC
-2F89B ; [.FB80.0020.0002.38E3][.B8E3.0000.0000.38E3] # CJK COMPATIBILITY IDEOGRAPH-2F89B; QQC
-2F8A2 ; [.FB80.0020.0002.391C][.B91C.0000.0000.391C] # CJK COMPATIBILITY IDEOGRAPH-2F8A2; QQC
-2F8A1 ; [.FB80.0020.0002.393A][.B93A.0000.0000.393A] # CJK COMPATIBILITY IDEOGRAPH-2F8A1; QQC
-2F8C2 ; [.FB80.0020.0002.3A2E][.BA2E.0000.0000.3A2E] # CJK COMPATIBILITY IDEOGRAPH-2F8C2; QQC
-2F8C7 ; [.FB80.0020.0002.3A6C][.BA6C.0000.0000.3A6C] # CJK COMPATIBILITY IDEOGRAPH-2F8C7; QQC
-2F8D1 ; [.FB80.0020.0002.3AE4][.BAE4.0000.0000.3AE4] # CJK COMPATIBILITY IDEOGRAPH-2F8D1; QQC
-2F8D0 ; [.FB80.0020.0002.3B08][.BB08.0000.0000.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0; QQC
-2F8CE ; [.FB80.0020.0002.3B19][.BB19.0000.0000.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE; QQC
-2F8DE ; [.FB80.0020.0002.3B49][.BB49.0000.0000.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE; QQC
-FAD2  ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-FAD2; QQC
-2F8E7 ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-2F8E7; QQC
-2F8EE ; [.FB80.0020.0002.3C18][.BC18.0000.0000.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE; QQC
-2F8F2 ; [.FB80.0020.0002.3C4E][.BC4E.0000.0000.3C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8F2; QQC
-2F90A ; [.FB80.0020.0002.3D33][.BD33.0000.0000.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A; QQC
-2F916 ; [.FB80.0020.0002.3D96][.BD96.0000.0000.3D96] # CJK COMPATIBILITY IDEOGRAPH-2F916; QQC
-2F92A ; [.FB80.0020.0002.3EAC][.BEAC.0000.0000.3EAC] # CJK COMPATIBILITY IDEOGRAPH-2F92A; QQC
-2F92C ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C; QQC
-2F92D ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D; QQC
-2F933 ; [.FB80.0020.0002.3F1B][.BF1B.0000.0000.3F1B] # CJK COMPATIBILITY IDEOGRAPH-2F933; QQC
-2F93E ; [.FB80.0020.0002.3FFC][.BFFC.0000.0000.3FFC] # CJK COMPATIBILITY IDEOGRAPH-2F93E; QQC
-2F93F ; [.FB80.0020.0002.4008][.C008.0000.0000.4008] # CJK COMPATIBILITY IDEOGRAPH-2F93F; QQC
-FAD3  ; [.FB80.0020.0002.4018][.C018.0000.0000.4018] # CJK COMPATIBILITY IDEOGRAPH-FAD3; QQC
-FAD4  ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4; QQC
-2F949 ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949; QQC
-2F94B ; [.FB80.0020.0002.4046][.C046.0000.0000.4046] # CJK COMPATIBILITY IDEOGRAPH-2F94B; QQC
-2F94C ; [.FB80.0020.0002.4096][.C096.0000.0000.4096] # CJK COMPATIBILITY IDEOGRAPH-2F94C; QQC
-2F951 ; [.FB80.0020.0002.40E3][.C0E3.0000.0000.40E3] # CJK COMPATIBILITY IDEOGRAPH-2F951; QQC
-2F958 ; [.FB80.0020.0002.412F][.C12F.0000.0000.412F] # CJK COMPATIBILITY IDEOGRAPH-2F958; QQC
-2F960 ; [.FB80.0020.0002.4202][.C202.0000.0000.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960; QQC
-2F964 ; [.FB80.0020.0002.4227][.C227.0000.0000.4227] # CJK COMPATIBILITY IDEOGRAPH-2F964; QQC
-2F967 ; [.FB80.0020.0002.42A0][.C2A0.0000.0000.42A0] # CJK COMPATIBILITY IDEOGRAPH-2F967; QQC
-2F96D ; [.FB80.0020.0002.4301][.C301.0000.0000.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D; QQC
-2F971 ; [.FB80.0020.0002.4334][.C334.0000.0000.4334] # CJK COMPATIBILITY IDEOGRAPH-2F971; QQC
-2F974 ; [.FB80.0020.0002.4359][.C359.0000.0000.4359] # CJK COMPATIBILITY IDEOGRAPH-2F974; QQC
-2F981 ; [.FB80.0020.0002.43D5][.C3D5.0000.0000.43D5] # CJK COMPATIBILITY IDEOGRAPH-2F981; QQC
-2F8D7 ; [.FB80.0020.0002.43D9][.C3D9.0000.0000.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7; QQC
-2F984 ; [.FB80.0020.0002.440B][.C40B.0000.0000.440B] # CJK COMPATIBILITY IDEOGRAPH-2F984; QQC
-2F98E ; [.FB80.0020.0002.446B][.C46B.0000.0000.446B] # CJK COMPATIBILITY IDEOGRAPH-2F98E; QQC
-2F9A7 ; [.FB80.0020.0002.452B][.C52B.0000.0000.452B] # CJK COMPATIBILITY IDEOGRAPH-2F9A7; QQC
-2F9AE ; [.FB80.0020.0002.455D][.C55D.0000.0000.455D] # CJK COMPATIBILITY IDEOGRAPH-2F9AE; QQC
-2F9AF ; [.FB80.0020.0002.4561][.C561.0000.0000.4561] # CJK COMPATIBILITY IDEOGRAPH-2F9AF; QQC
-2F9B2 ; [.FB80.0020.0002.456B][.C56B.0000.0000.456B] # CJK COMPATIBILITY IDEOGRAPH-2F9B2; QQC
-2F9BF ; [.FB80.0020.0002.45D7][.C5D7.0000.0000.45D7] # CJK COMPATIBILITY IDEOGRAPH-2F9BF; QQC
-2F9C2 ; [.FB80.0020.0002.45F9][.C5F9.0000.0000.45F9] # CJK COMPATIBILITY IDEOGRAPH-2F9C2; QQC
-2F9C8 ; [.FB80.0020.0002.4635][.C635.0000.0000.4635] # CJK COMPATIBILITY IDEOGRAPH-2F9C8; QQC
-2F9CD ; [.FB80.0020.0002.46BE][.C6BE.0000.0000.46BE] # CJK COMPATIBILITY IDEOGRAPH-2F9CD; QQC
-2F9CE ; [.FB80.0020.0002.46C7][.C6C7.0000.0000.46C7] # CJK COMPATIBILITY IDEOGRAPH-2F9CE; QQC
-2F9EF ; [.FB80.0020.0002.4995][.C995.0000.0000.4995] # CJK COMPATIBILITY IDEOGRAPH-2F9EF; QQC
-2F9F2 ; [.FB80.0020.0002.49E6][.C9E6.0000.0000.49E6] # CJK COMPATIBILITY IDEOGRAPH-2F9F2; QQC
-2F9F8 ; [.FB80.0020.0002.4A6E][.CA6E.0000.0000.4A6E] # CJK COMPATIBILITY IDEOGRAPH-2F9F8; QQC
-2F9F9 ; [.FB80.0020.0002.4A76][.CA76.0000.0000.4A76] # CJK COMPATIBILITY IDEOGRAPH-2F9F9; QQC
-2F9FC ; [.FB80.0020.0002.4AB2][.CAB2.0000.0000.4AB2] # CJK COMPATIBILITY IDEOGRAPH-2F9FC; QQC
-2FA03 ; [.FB80.0020.0002.4B33][.CB33.0000.0000.4B33] # CJK COMPATIBILITY IDEOGRAPH-2FA03; QQC
-2FA08 ; [.FB80.0020.0002.4BCE][.CBCE.0000.0000.4BCE] # CJK COMPATIBILITY IDEOGRAPH-2FA08; QQC
-2FA0D ; [.FB80.0020.0002.4CCE][.CCCE.0000.0000.4CCE] # CJK COMPATIBILITY IDEOGRAPH-2FA0D; QQC
-2FA0E ; [.FB80.0020.0002.4CED][.CCED.0000.0000.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E; QQC
-2FA11 ; [.FB80.0020.0002.4CF8][.CCF8.0000.0000.4CF8] # CJK COMPATIBILITY IDEOGRAPH-2FA11; QQC
-2FA16 ; [.FB80.0020.0002.4D56][.CD56.0000.0000.4D56] # CJK COMPATIBILITY IDEOGRAPH-2FA16; QQC
-2F803 ; [.FB84.0020.0002.20122][.8122.0000.0000.20122] # CJK COMPATIBILITY IDEOGRAPH-2F803; QQC
-2F812 ; [.FB84.0020.0002.2051C][.851C.0000.0000.2051C] # CJK COMPATIBILITY IDEOGRAPH-2F812; QQC
-2F91B ; [.FB84.0020.0002.20525][.8525.0000.0000.20525] # CJK COMPATIBILITY IDEOGRAPH-2F91B; QQC
-2F816 ; [.FB84.0020.0002.2054B][.854B.0000.0000.2054B] # CJK COMPATIBILITY IDEOGRAPH-2F816; QQC
-2F80D ; [.FB84.0020.0002.2063A][.863A.0000.0000.2063A] # CJK COMPATIBILITY IDEOGRAPH-2F80D; QQC
-2F9D9 ; [.FB84.0020.0002.20804][.8804.0000.0000.20804] # CJK COMPATIBILITY IDEOGRAPH-2F9D9; QQC
-2F9DD ; [.FB84.0020.0002.208DE][.88DE.0000.0000.208DE] # CJK COMPATIBILITY IDEOGRAPH-2F9DD; QQC
-2F834 ; [.FB84.0020.0002.20A2C][.8A2C.0000.0000.20A2C] # CJK COMPATIBILITY IDEOGRAPH-2F834; QQC
-2F838 ; [.FB84.0020.0002.20B63][.8B63.0000.0000.20B63] # CJK COMPATIBILITY IDEOGRAPH-2F838; QQC
-2F859 ; [.FB84.0020.0002.214E4][.94E4.0000.0000.214E4] # CJK COMPATIBILITY IDEOGRAPH-2F859; QQC
-2F860 ; [.FB84.0020.0002.216A8][.96A8.0000.0000.216A8] # CJK COMPATIBILITY IDEOGRAPH-2F860; QQC
-2F861 ; [.FB84.0020.0002.216EA][.96EA.0000.0000.216EA] # CJK COMPATIBILITY IDEOGRAPH-2F861; QQC
-2F86C ; [.FB84.0020.0002.219C8][.99C8.0000.0000.219C8] # CJK COMPATIBILITY IDEOGRAPH-2F86C; QQC
-2F871 ; [.FB84.0020.0002.21B18][.9B18.0000.0000.21B18] # CJK COMPATIBILITY IDEOGRAPH-2F871; QQC
-2F8F8 ; [.FB84.0020.0002.21D0B][.9D0B.0000.0000.21D0B] # CJK COMPATIBILITY IDEOGRAPH-2F8F8; QQC
-2F87B ; [.FB84.0020.0002.21DE4][.9DE4.0000.0000.21DE4] # CJK COMPATIBILITY IDEOGRAPH-2F87B; QQC
-2F87D ; [.FB84.0020.0002.21DE6][.9DE6.0000.0000.21DE6] # CJK COMPATIBILITY IDEOGRAPH-2F87D; QQC
-2F889 ; [.FB84.0020.0002.22183][.A183.0000.0000.22183] # CJK COMPATIBILITY IDEOGRAPH-2F889; QQC
-2F939 ; [.FB84.0020.0002.2219F][.A19F.0000.0000.2219F] # CJK COMPATIBILITY IDEOGRAPH-2F939; QQC
-2F891 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F891; QQC
-2F892 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F892; QQC
-2F8A4 ; [.FB84.0020.0002.226D4][.A6D4.0000.0000.226D4] # CJK COMPATIBILITY IDEOGRAPH-2F8A4; QQC
-FAD0  ; [.FB84.0020.0002.22844][.A844.0000.0000.22844] # CJK COMPATIBILITY IDEOGRAPH-FAD0; QQC
-FACF  ; [.FB84.0020.0002.2284A][.A84A.0000.0000.2284A] # CJK COMPATIBILITY IDEOGRAPH-FACF; QQC
-2F8B8 ; [.FB84.0020.0002.22B0C][.AB0C.0000.0000.22B0C] # CJK COMPATIBILITY IDEOGRAPH-2F8B8; QQC
-2F8BE ; [.FB84.0020.0002.22BF1][.ABF1.0000.0000.22BF1] # CJK COMPATIBILITY IDEOGRAPH-2F8BE; QQC
-2F8CA ; [.FB84.0020.0002.2300A][.B00A.0000.0000.2300A] # CJK COMPATIBILITY IDEOGRAPH-2F8CA; QQC
-2F897 ; [.FB84.0020.0002.232B8][.B2B8.0000.0000.232B8] # CJK COMPATIBILITY IDEOGRAPH-2F897; QQC
-2F980 ; [.FB84.0020.0002.2335F][.B35F.0000.0000.2335F] # CJK COMPATIBILITY IDEOGRAPH-2F980; QQC
-2F989 ; [.FB84.0020.0002.23393][.B393.0000.0000.23393] # CJK COMPATIBILITY IDEOGRAPH-2F989; QQC
-2F98A ; [.FB84.0020.0002.2339C][.B39C.0000.0000.2339C] # CJK COMPATIBILITY IDEOGRAPH-2F98A; QQC
-2F8DD ; [.FB84.0020.0002.233C3][.B3C3.0000.0000.233C3] # CJK COMPATIBILITY IDEOGRAPH-2F8DD; QQC
-FAD1  ; [.FB84.0020.0002.233D5][.B3D5.0000.0000.233D5] # CJK COMPATIBILITY IDEOGRAPH-FAD1; QQC
-2F8E3 ; [.FB84.0020.0002.2346D][.B46D.0000.0000.2346D] # CJK COMPATIBILITY IDEOGRAPH-2F8E3; QQC
-2F8EC ; [.FB84.0020.0002.236A3][.B6A3.0000.0000.236A3] # CJK COMPATIBILITY IDEOGRAPH-2F8EC; QQC
-2F8F0 ; [.FB84.0020.0002.238A7][.B8A7.0000.0000.238A7] # CJK COMPATIBILITY IDEOGRAPH-2F8F0; QQC
-2F8F7 ; [.FB84.0020.0002.23A8D][.BA8D.0000.0000.23A8D] # CJK COMPATIBILITY IDEOGRAPH-2F8F7; QQC
-2F8F9 ; [.FB84.0020.0002.23AFA][.BAFA.0000.0000.23AFA] # CJK COMPATIBILITY IDEOGRAPH-2F8F9; QQC
-2F8FB ; [.FB84.0020.0002.23CBC][.BCBC.0000.0000.23CBC] # CJK COMPATIBILITY IDEOGRAPH-2F8FB; QQC
-2F906 ; [.FB84.0020.0002.23D1E][.BD1E.0000.0000.23D1E] # CJK COMPATIBILITY IDEOGRAPH-2F906; QQC
-2F90D ; [.FB84.0020.0002.23ED1][.BED1.0000.0000.23ED1] # CJK COMPATIBILITY IDEOGRAPH-2F90D; QQC
-2F910 ; [.FB84.0020.0002.23F5E][.BF5E.0000.0000.23F5E] # CJK COMPATIBILITY IDEOGRAPH-2F910; QQC
-2F911 ; [.FB84.0020.0002.23F8E][.BF8E.0000.0000.23F8E] # CJK COMPATIBILITY IDEOGRAPH-2F911; QQC
-2F91D ; [.FB84.0020.0002.24263][.C263.0000.0000.24263] # CJK COMPATIBILITY IDEOGRAPH-2F91D; QQC
-FA6C  ; [.FB84.0020.0002.242EE][.C2EE.0000.0000.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C; QQC
-2F91F ; [.FB84.0020.0002.243AB][.C3AB.0000.0000.243AB] # CJK COMPATIBILITY IDEOGRAPH-2F91F; QQC
-2F923 ; [.FB84.0020.0002.24608][.C608.0000.0000.24608] # CJK COMPATIBILITY IDEOGRAPH-2F923; QQC
-2F926 ; [.FB84.0020.0002.24735][.C735.0000.0000.24735] # CJK COMPATIBILITY IDEOGRAPH-2F926; QQC
-2F927 ; [.FB84.0020.0002.24814][.C814.0000.0000.24814] # CJK COMPATIBILITY IDEOGRAPH-2F927; QQC
-2F935 ; [.FB84.0020.0002.24C36][.CC36.0000.0000.24C36] # CJK COMPATIBILITY IDEOGRAPH-2F935; QQC
-2F937 ; [.FB84.0020.0002.24C92][.CC92.0000.0000.24C92] # CJK COMPATIBILITY IDEOGRAPH-2F937; QQC
-2F93B ; [.FB84.0020.0002.24FA1][.CFA1.0000.0000.24FA1] # CJK COMPATIBILITY IDEOGRAPH-2F93B; QQC
-2F93C ; [.FB84.0020.0002.24FB8][.CFB8.0000.0000.24FB8] # CJK COMPATIBILITY IDEOGRAPH-2F93C; QQC
-2F93D ; [.FB84.0020.0002.25044][.D044.0000.0000.25044] # CJK COMPATIBILITY IDEOGRAPH-2F93D; QQC
-2F942 ; [.FB84.0020.0002.250F2][.D0F2.0000.0000.250F2] # CJK COMPATIBILITY IDEOGRAPH-2F942; QQC
-2F941 ; [.FB84.0020.0002.250F3][.D0F3.0000.0000.250F3] # CJK COMPATIBILITY IDEOGRAPH-2F941; QQC
-2F943 ; [.FB84.0020.0002.25119][.D119.0000.0000.25119] # CJK COMPATIBILITY IDEOGRAPH-2F943; QQC
-2F944 ; [.FB84.0020.0002.25133][.D133.0000.0000.25133] # CJK COMPATIBILITY IDEOGRAPH-2F944; QQC
-FAD5  ; [.FB84.0020.0002.25249][.D249.0000.0000.25249] # CJK COMPATIBILITY IDEOGRAPH-FAD5; QQC
-2F94D ; [.FB84.0020.0002.2541D][.D41D.0000.0000.2541D] # CJK COMPATIBILITY IDEOGRAPH-2F94D; QQC
-2F952 ; [.FB84.0020.0002.25626][.D626.0000.0000.25626] # CJK COMPATIBILITY IDEOGRAPH-2F952; QQC
-2F954 ; [.FB84.0020.0002.2569A][.D69A.0000.0000.2569A] # CJK COMPATIBILITY IDEOGRAPH-2F954; QQC
-2F955 ; [.FB84.0020.0002.256C5][.D6C5.0000.0000.256C5] # CJK COMPATIBILITY IDEOGRAPH-2F955; QQC
-2F95C ; [.FB84.0020.0002.2597C][.D97C.0000.0000.2597C] # CJK COMPATIBILITY IDEOGRAPH-2F95C; QQC
-2F95D ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95D; QQC
-2F95E ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95E; QQC
-2F961 ; [.FB84.0020.0002.25BAB][.DBAB.0000.0000.25BAB] # CJK COMPATIBILITY IDEOGRAPH-2F961; QQC
-2F965 ; [.FB84.0020.0002.25C80][.DC80.0000.0000.25C80] # CJK COMPATIBILITY IDEOGRAPH-2F965; QQC
-FAD6  ; [.FB84.0020.0002.25CD0][.DCD0.0000.0000.25CD0] # CJK COMPATIBILITY IDEOGRAPH-FAD6; QQC
-2F96B ; [.FB84.0020.0002.25F86][.DF86.0000.0000.25F86] # CJK COMPATIBILITY IDEOGRAPH-2F96B; QQC
-2F898 ; [.FB84.0020.0002.261DA][.E1DA.0000.0000.261DA] # CJK COMPATIBILITY IDEOGRAPH-2F898; QQC
-2F972 ; [.FB84.0020.0002.26228][.E228.0000.0000.26228] # CJK COMPATIBILITY IDEOGRAPH-2F972; QQC
-2F973 ; [.FB84.0020.0002.26247][.E247.0000.0000.26247] # CJK COMPATIBILITY IDEOGRAPH-2F973; QQC
-2F975 ; [.FB84.0020.0002.262D9][.E2D9.0000.0000.262D9] # CJK COMPATIBILITY IDEOGRAPH-2F975; QQC
-2F977 ; [.FB84.0020.0002.2633E][.E33E.0000.0000.2633E] # CJK COMPATIBILITY IDEOGRAPH-2F977; QQC
-2F97B ; [.FB84.0020.0002.264DA][.E4DA.0000.0000.264DA] # CJK COMPATIBILITY IDEOGRAPH-2F97B; QQC
-2F97C ; [.FB84.0020.0002.26523][.E523.0000.0000.26523] # CJK COMPATIBILITY IDEOGRAPH-2F97C; QQC
-2F97E ; [.FB84.0020.0002.265A8][.E5A8.0000.0000.265A8] # CJK COMPATIBILITY IDEOGRAPH-2F97E; QQC
-2F987 ; [.FB84.0020.0002.267A7][.E7A7.0000.0000.267A7] # CJK COMPATIBILITY IDEOGRAPH-2F987; QQC
-2F988 ; [.FB84.0020.0002.267B5][.E7B5.0000.0000.267B5] # CJK COMPATIBILITY IDEOGRAPH-2F988; QQC
-2F997 ; [.FB84.0020.0002.26B3C][.EB3C.0000.0000.26B3C] # CJK COMPATIBILITY IDEOGRAPH-2F997; QQC
-2F9A4 ; [.FB84.0020.0002.26C36][.EC36.0000.0000.26C36] # CJK COMPATIBILITY IDEOGRAPH-2F9A4; QQC
-2F9A6 ; [.FB84.0020.0002.26CD5][.ECD5.0000.0000.26CD5] # CJK COMPATIBILITY IDEOGRAPH-2F9A6; QQC
-2F9A5 ; [.FB84.0020.0002.26D6B][.ED6B.0000.0000.26D6B] # CJK COMPATIBILITY IDEOGRAPH-2F9A5; QQC
-2F9AD ; [.FB84.0020.0002.26F2C][.EF2C.0000.0000.26F2C] # CJK COMPATIBILITY IDEOGRAPH-2F9AD; QQC
-2F9B0 ; [.FB84.0020.0002.26FB1][.EFB1.0000.0000.26FB1] # CJK COMPATIBILITY IDEOGRAPH-2F9B0; QQC
-2F9B1 ; [.FB84.0020.0002.270D2][.F0D2.0000.0000.270D2] # CJK COMPATIBILITY IDEOGRAPH-2F9B1; QQC
-2F9AB ; [.FB84.0020.0002.273CA][.F3CA.0000.0000.273CA] # CJK COMPATIBILITY IDEOGRAPH-2F9AB; QQC
-2F9C5 ; [.FB84.0020.0002.27667][.F667.0000.0000.27667] # CJK COMPATIBILITY IDEOGRAPH-2F9C5; QQC
-2F9CB ; [.FB84.0020.0002.278AE][.F8AE.0000.0000.278AE] # CJK COMPATIBILITY IDEOGRAPH-2F9CB; QQC
-2F9CC ; [.FB84.0020.0002.27966][.F966.0000.0000.27966] # CJK COMPATIBILITY IDEOGRAPH-2F9CC; QQC
-2F9D3 ; [.FB84.0020.0002.27CA8][.FCA8.0000.0000.27CA8] # CJK COMPATIBILITY IDEOGRAPH-2F9D3; QQC
-FAD7  ; [.FB84.0020.0002.27ED3][.FED3.0000.0000.27ED3] # CJK COMPATIBILITY IDEOGRAPH-FAD7; QQC
-2F9D8 ; [.FB84.0020.0002.27F2F][.FF2F.0000.0000.27F2F] # CJK COMPATIBILITY IDEOGRAPH-2F9D8; QQC
-2F9E0 ; [.FB85.0020.0002.285D2][.85D2.0000.0000.285D2] # CJK COMPATIBILITY IDEOGRAPH-2F9E0; QQC
-2F9E1 ; [.FB85.0020.0002.285ED][.85ED.0000.0000.285ED] # CJK COMPATIBILITY IDEOGRAPH-2F9E1; QQC
-2F9E5 ; [.FB85.0020.0002.2872E][.872E.0000.0000.2872E] # CJK COMPATIBILITY IDEOGRAPH-2F9E5; QQC
-2F9ED ; [.FB85.0020.0002.28BFA][.8BFA.0000.0000.28BFA] # CJK COMPATIBILITY IDEOGRAPH-2F9ED; QQC
-2F9F1 ; [.FB85.0020.0002.28D77][.8D77.0000.0000.28D77] # CJK COMPATIBILITY IDEOGRAPH-2F9F1; QQC
-2F9F6 ; [.FB85.0020.0002.29145][.9145.0000.0000.29145] # CJK COMPATIBILITY IDEOGRAPH-2F9F6; QQC
-2F81C ; [.FB85.0020.0002.291DF][.91DF.0000.0000.291DF] # CJK COMPATIBILITY IDEOGRAPH-2F81C; QQC
-2F9F7 ; [.FB85.0020.0002.2921A][.921A.0000.0000.2921A] # CJK COMPATIBILITY IDEOGRAPH-2F9F7; QQC
-2F9FB ; [.FB85.0020.0002.2940A][.940A.0000.0000.2940A] # CJK COMPATIBILITY IDEOGRAPH-2F9FB; QQC
-2F9FD ; [.FB85.0020.0002.29496][.9496.0000.0000.29496] # CJK COMPATIBILITY IDEOGRAPH-2F9FD; QQC
-2FA01 ; [.FB85.0020.0002.295B6][.95B6.0000.0000.295B6] # CJK COMPATIBILITY IDEOGRAPH-2FA01; QQC
-2FA09 ; [.FB85.0020.0002.29B30][.9B30.0000.0000.29B30] # CJK COMPATIBILITY IDEOGRAPH-2FA09; QQC
-2FA10 ; [.FB85.0020.0002.2A0CE][.A0CE.0000.0000.2A0CE] # CJK COMPATIBILITY IDEOGRAPH-2FA10; QQC
-2FA12 ; [.FB85.0020.0002.2A105][.A105.0000.0000.2A105] # CJK COMPATIBILITY IDEOGRAPH-2FA12; QQC
-2FA13 ; [.FB85.0020.0002.2A20E][.A20E.0000.0000.2A20E] # CJK COMPATIBILITY IDEOGRAPH-2FA13; QQC
-2FA14 ; [.FB85.0020.0002.2A291][.A291.0000.0000.2A291] # CJK COMPATIBILITY IDEOGRAPH-2FA14; QQC
-2F88F ; [.FB85.0020.0002.2A392][.A392.0000.0000.2A392] # CJK COMPATIBILITY IDEOGRAPH-2F88F; QQC
-2FA1D ; [.FB85.0020.0002.2A600][.A600.0000.0000.2A600] # CJK COMPATIBILITY IDEOGRAPH-2FA1D; QQC
+2F80C ; [.FB80.0020.0002.349E][.B49E.0000.0000.349E] # CJK COMPATIBILITY IDEOGRAPH-2F80C
+2F813 ; [.FB80.0020.0002.34B9][.B4B9.0000.0000.34B9] # CJK COMPATIBILITY IDEOGRAPH-2F813
+2F9CA ; [.FB80.0020.0002.34BB][.B4BB.0000.0000.34BB] # CJK COMPATIBILITY IDEOGRAPH-2F9CA
+2F81F ; [.FB80.0020.0002.34DF][.B4DF.0000.0000.34DF] # CJK COMPATIBILITY IDEOGRAPH-2F81F
+2F824 ; [.FB80.0020.0002.3515][.B515.0000.0000.3515] # CJK COMPATIBILITY IDEOGRAPH-2F824
+2F867 ; [.FB80.0020.0002.36EE][.B6EE.0000.0000.36EE] # CJK COMPATIBILITY IDEOGRAPH-2F867
+2F868 ; [.FB80.0020.0002.36FC][.B6FC.0000.0000.36FC] # CJK COMPATIBILITY IDEOGRAPH-2F868
+2F876 ; [.FB80.0020.0002.3781][.B781.0000.0000.3781] # CJK COMPATIBILITY IDEOGRAPH-2F876
+2F883 ; [.FB80.0020.0002.382F][.B82F.0000.0000.382F] # CJK COMPATIBILITY IDEOGRAPH-2F883
+2F888 ; [.FB80.0020.0002.3862][.B862.0000.0000.3862] # CJK COMPATIBILITY IDEOGRAPH-2F888
+2F88A ; [.FB80.0020.0002.387C][.B87C.0000.0000.387C] # CJK COMPATIBILITY IDEOGRAPH-2F88A
+2F896 ; [.FB80.0020.0002.38C7][.B8C7.0000.0000.38C7] # CJK COMPATIBILITY IDEOGRAPH-2F896
+2F89B ; [.FB80.0020.0002.38E3][.B8E3.0000.0000.38E3] # CJK COMPATIBILITY IDEOGRAPH-2F89B
+2F8A2 ; [.FB80.0020.0002.391C][.B91C.0000.0000.391C] # CJK COMPATIBILITY IDEOGRAPH-2F8A2
+2F8A1 ; [.FB80.0020.0002.393A][.B93A.0000.0000.393A] # CJK COMPATIBILITY IDEOGRAPH-2F8A1
+2F8C2 ; [.FB80.0020.0002.3A2E][.BA2E.0000.0000.3A2E] # CJK COMPATIBILITY IDEOGRAPH-2F8C2
+2F8C7 ; [.FB80.0020.0002.3A6C][.BA6C.0000.0000.3A6C] # CJK COMPATIBILITY IDEOGRAPH-2F8C7
+2F8D1 ; [.FB80.0020.0002.3AE4][.BAE4.0000.0000.3AE4] # CJK COMPATIBILITY IDEOGRAPH-2F8D1
+2F8D0 ; [.FB80.0020.0002.3B08][.BB08.0000.0000.3B08] # CJK COMPATIBILITY IDEOGRAPH-2F8D0
+2F8CE ; [.FB80.0020.0002.3B19][.BB19.0000.0000.3B19] # CJK COMPATIBILITY IDEOGRAPH-2F8CE
+2F8DE ; [.FB80.0020.0002.3B49][.BB49.0000.0000.3B49] # CJK COMPATIBILITY IDEOGRAPH-2F8DE
+FAD2  ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-FAD2
+2F8E7 ; [.FB80.0020.0002.3B9D][.BB9D.0000.0000.3B9D] # CJK COMPATIBILITY IDEOGRAPH-2F8E7
+2F8EE ; [.FB80.0020.0002.3C18][.BC18.0000.0000.3C18] # CJK COMPATIBILITY IDEOGRAPH-2F8EE
+2F8F2 ; [.FB80.0020.0002.3C4E][.BC4E.0000.0000.3C4E] # CJK COMPATIBILITY IDEOGRAPH-2F8F2
+2F90A ; [.FB80.0020.0002.3D33][.BD33.0000.0000.3D33] # CJK COMPATIBILITY IDEOGRAPH-2F90A
+2F916 ; [.FB80.0020.0002.3D96][.BD96.0000.0000.3D96] # CJK COMPATIBILITY IDEOGRAPH-2F916
+2F92A ; [.FB80.0020.0002.3EAC][.BEAC.0000.0000.3EAC] # CJK COMPATIBILITY IDEOGRAPH-2F92A
+2F92C ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92C
+2F92D ; [.FB80.0020.0002.3EB8][.BEB8.0000.0000.3EB8] # CJK COMPATIBILITY IDEOGRAPH-2F92D
+2F933 ; [.FB80.0020.0002.3F1B][.BF1B.0000.0000.3F1B] # CJK COMPATIBILITY IDEOGRAPH-2F933
+2F93E ; [.FB80.0020.0002.3FFC][.BFFC.0000.0000.3FFC] # CJK COMPATIBILITY IDEOGRAPH-2F93E
+2F93F ; [.FB80.0020.0002.4008][.C008.0000.0000.4008] # CJK COMPATIBILITY IDEOGRAPH-2F93F
+FAD3  ; [.FB80.0020.0002.4018][.C018.0000.0000.4018] # CJK COMPATIBILITY IDEOGRAPH-FAD3
+FAD4  ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-FAD4
+2F949 ; [.FB80.0020.0002.4039][.C039.0000.0000.4039] # CJK COMPATIBILITY IDEOGRAPH-2F949
+2F94B ; [.FB80.0020.0002.4046][.C046.0000.0000.4046] # CJK COMPATIBILITY IDEOGRAPH-2F94B
+2F94C ; [.FB80.0020.0002.4096][.C096.0000.0000.4096] # CJK COMPATIBILITY IDEOGRAPH-2F94C
+2F951 ; [.FB80.0020.0002.40E3][.C0E3.0000.0000.40E3] # CJK COMPATIBILITY IDEOGRAPH-2F951
+2F958 ; [.FB80.0020.0002.412F][.C12F.0000.0000.412F] # CJK COMPATIBILITY IDEOGRAPH-2F958
+2F960 ; [.FB80.0020.0002.4202][.C202.0000.0000.4202] # CJK COMPATIBILITY IDEOGRAPH-2F960
+2F964 ; [.FB80.0020.0002.4227][.C227.0000.0000.4227] # CJK COMPATIBILITY IDEOGRAPH-2F964
+2F967 ; [.FB80.0020.0002.42A0][.C2A0.0000.0000.42A0] # CJK COMPATIBILITY IDEOGRAPH-2F967
+2F96D ; [.FB80.0020.0002.4301][.C301.0000.0000.4301] # CJK COMPATIBILITY IDEOGRAPH-2F96D
+2F971 ; [.FB80.0020.0002.4334][.C334.0000.0000.4334] # CJK COMPATIBILITY IDEOGRAPH-2F971
+2F974 ; [.FB80.0020.0002.4359][.C359.0000.0000.4359] # CJK COMPATIBILITY IDEOGRAPH-2F974
+2F981 ; [.FB80.0020.0002.43D5][.C3D5.0000.0000.43D5] # CJK COMPATIBILITY IDEOGRAPH-2F981
+2F8D7 ; [.FB80.0020.0002.43D9][.C3D9.0000.0000.43D9] # CJK COMPATIBILITY IDEOGRAPH-2F8D7
+2F984 ; [.FB80.0020.0002.440B][.C40B.0000.0000.440B] # CJK COMPATIBILITY IDEOGRAPH-2F984
+2F98E ; [.FB80.0020.0002.446B][.C46B.0000.0000.446B] # CJK COMPATIBILITY IDEOGRAPH-2F98E
+2F9A7 ; [.FB80.0020.0002.452B][.C52B.0000.0000.452B] # CJK COMPATIBILITY IDEOGRAPH-2F9A7
+2F9AE ; [.FB80.0020.0002.455D][.C55D.0000.0000.455D] # CJK COMPATIBILITY IDEOGRAPH-2F9AE
+2F9AF ; [.FB80.0020.0002.4561][.C561.0000.0000.4561] # CJK COMPATIBILITY IDEOGRAPH-2F9AF
+2F9B2 ; [.FB80.0020.0002.456B][.C56B.0000.0000.456B] # CJK COMPATIBILITY IDEOGRAPH-2F9B2
+2F9BF ; [.FB80.0020.0002.45D7][.C5D7.0000.0000.45D7] # CJK COMPATIBILITY IDEOGRAPH-2F9BF
+2F9C2 ; [.FB80.0020.0002.45F9][.C5F9.0000.0000.45F9] # CJK COMPATIBILITY IDEOGRAPH-2F9C2
+2F9C8 ; [.FB80.0020.0002.4635][.C635.0000.0000.4635] # CJK COMPATIBILITY IDEOGRAPH-2F9C8
+2F9CD ; [.FB80.0020.0002.46BE][.C6BE.0000.0000.46BE] # CJK COMPATIBILITY IDEOGRAPH-2F9CD
+2F9CE ; [.FB80.0020.0002.46C7][.C6C7.0000.0000.46C7] # CJK COMPATIBILITY IDEOGRAPH-2F9CE
+2F9EF ; [.FB80.0020.0002.4995][.C995.0000.0000.4995] # CJK COMPATIBILITY IDEOGRAPH-2F9EF
+2F9F2 ; [.FB80.0020.0002.49E6][.C9E6.0000.0000.49E6] # CJK COMPATIBILITY IDEOGRAPH-2F9F2
+2F9F8 ; [.FB80.0020.0002.4A6E][.CA6E.0000.0000.4A6E] # CJK COMPATIBILITY IDEOGRAPH-2F9F8
+2F9F9 ; [.FB80.0020.0002.4A76][.CA76.0000.0000.4A76] # CJK COMPATIBILITY IDEOGRAPH-2F9F9
+2F9FC ; [.FB80.0020.0002.4AB2][.CAB2.0000.0000.4AB2] # CJK COMPATIBILITY IDEOGRAPH-2F9FC
+2FA03 ; [.FB80.0020.0002.4B33][.CB33.0000.0000.4B33] # CJK COMPATIBILITY IDEOGRAPH-2FA03
+2FA08 ; [.FB80.0020.0002.4BCE][.CBCE.0000.0000.4BCE] # CJK COMPATIBILITY IDEOGRAPH-2FA08
+2FA0D ; [.FB80.0020.0002.4CCE][.CCCE.0000.0000.4CCE] # CJK COMPATIBILITY IDEOGRAPH-2FA0D
+2FA0E ; [.FB80.0020.0002.4CED][.CCED.0000.0000.4CED] # CJK COMPATIBILITY IDEOGRAPH-2FA0E
+2FA11 ; [.FB80.0020.0002.4CF8][.CCF8.0000.0000.4CF8] # CJK COMPATIBILITY IDEOGRAPH-2FA11
+2FA16 ; [.FB80.0020.0002.4D56][.CD56.0000.0000.4D56] # CJK COMPATIBILITY IDEOGRAPH-2FA16
+2F803 ; [.FB84.0020.0002.20122][.8122.0000.0000.20122] # CJK COMPATIBILITY IDEOGRAPH-2F803
+2F812 ; [.FB84.0020.0002.2051C][.851C.0000.0000.2051C] # CJK COMPATIBILITY IDEOGRAPH-2F812
+2F91B ; [.FB84.0020.0002.20525][.8525.0000.0000.20525] # CJK COMPATIBILITY IDEOGRAPH-2F91B
+2F816 ; [.FB84.0020.0002.2054B][.854B.0000.0000.2054B] # CJK COMPATIBILITY IDEOGRAPH-2F816
+2F80D ; [.FB84.0020.0002.2063A][.863A.0000.0000.2063A] # CJK COMPATIBILITY IDEOGRAPH-2F80D
+2F9D9 ; [.FB84.0020.0002.20804][.8804.0000.0000.20804] # CJK COMPATIBILITY IDEOGRAPH-2F9D9
+2F9DD ; [.FB84.0020.0002.208DE][.88DE.0000.0000.208DE] # CJK COMPATIBILITY IDEOGRAPH-2F9DD
+2F834 ; [.FB84.0020.0002.20A2C][.8A2C.0000.0000.20A2C] # CJK COMPATIBILITY IDEOGRAPH-2F834
+2F838 ; [.FB84.0020.0002.20B63][.8B63.0000.0000.20B63] # CJK COMPATIBILITY IDEOGRAPH-2F838
+2F859 ; [.FB84.0020.0002.214E4][.94E4.0000.0000.214E4] # CJK COMPATIBILITY IDEOGRAPH-2F859
+2F860 ; [.FB84.0020.0002.216A8][.96A8.0000.0000.216A8] # CJK COMPATIBILITY IDEOGRAPH-2F860
+2F861 ; [.FB84.0020.0002.216EA][.96EA.0000.0000.216EA] # CJK COMPATIBILITY IDEOGRAPH-2F861
+2F86C ; [.FB84.0020.0002.219C8][.99C8.0000.0000.219C8] # CJK COMPATIBILITY IDEOGRAPH-2F86C
+2F871 ; [.FB84.0020.0002.21B18][.9B18.0000.0000.21B18] # CJK COMPATIBILITY IDEOGRAPH-2F871
+2F8F8 ; [.FB84.0020.0002.21D0B][.9D0B.0000.0000.21D0B] # CJK COMPATIBILITY IDEOGRAPH-2F8F8
+2F87B ; [.FB84.0020.0002.21DE4][.9DE4.0000.0000.21DE4] # CJK COMPATIBILITY IDEOGRAPH-2F87B
+2F87D ; [.FB84.0020.0002.21DE6][.9DE6.0000.0000.21DE6] # CJK COMPATIBILITY IDEOGRAPH-2F87D
+2F889 ; [.FB84.0020.0002.22183][.A183.0000.0000.22183] # CJK COMPATIBILITY IDEOGRAPH-2F889
+2F939 ; [.FB84.0020.0002.2219F][.A19F.0000.0000.2219F] # CJK COMPATIBILITY IDEOGRAPH-2F939
+2F891 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F891
+2F892 ; [.FB84.0020.0002.22331][.A331.0000.0000.22331] # CJK COMPATIBILITY IDEOGRAPH-2F892
+2F8A4 ; [.FB84.0020.0002.226D4][.A6D4.0000.0000.226D4] # CJK COMPATIBILITY IDEOGRAPH-2F8A4
+FAD0  ; [.FB84.0020.0002.22844][.A844.0000.0000.22844] # CJK COMPATIBILITY IDEOGRAPH-FAD0
+FACF  ; [.FB84.0020.0002.2284A][.A84A.0000.0000.2284A] # CJK COMPATIBILITY IDEOGRAPH-FACF
+2F8B8 ; [.FB84.0020.0002.22B0C][.AB0C.0000.0000.22B0C] # CJK COMPATIBILITY IDEOGRAPH-2F8B8
+2F8BE ; [.FB84.0020.0002.22BF1][.ABF1.0000.0000.22BF1] # CJK COMPATIBILITY IDEOGRAPH-2F8BE
+2F8CA ; [.FB84.0020.0002.2300A][.B00A.0000.0000.2300A] # CJK COMPATIBILITY IDEOGRAPH-2F8CA
+2F897 ; [.FB84.0020.0002.232B8][.B2B8.0000.0000.232B8] # CJK COMPATIBILITY IDEOGRAPH-2F897
+2F980 ; [.FB84.0020.0002.2335F][.B35F.0000.0000.2335F] # CJK COMPATIBILITY IDEOGRAPH-2F980
+2F989 ; [.FB84.0020.0002.23393][.B393.0000.0000.23393] # CJK COMPATIBILITY IDEOGRAPH-2F989
+2F98A ; [.FB84.0020.0002.2339C][.B39C.0000.0000.2339C] # CJK COMPATIBILITY IDEOGRAPH-2F98A
+2F8DD ; [.FB84.0020.0002.233C3][.B3C3.0000.0000.233C3] # CJK COMPATIBILITY IDEOGRAPH-2F8DD
+FAD1  ; [.FB84.0020.0002.233D5][.B3D5.0000.0000.233D5] # CJK COMPATIBILITY IDEOGRAPH-FAD1
+2F8E3 ; [.FB84.0020.0002.2346D][.B46D.0000.0000.2346D] # CJK COMPATIBILITY IDEOGRAPH-2F8E3
+2F8EC ; [.FB84.0020.0002.236A3][.B6A3.0000.0000.236A3] # CJK COMPATIBILITY IDEOGRAPH-2F8EC
+2F8F0 ; [.FB84.0020.0002.238A7][.B8A7.0000.0000.238A7] # CJK COMPATIBILITY IDEOGRAPH-2F8F0
+2F8F7 ; [.FB84.0020.0002.23A8D][.BA8D.0000.0000.23A8D] # CJK COMPATIBILITY IDEOGRAPH-2F8F7
+2F8F9 ; [.FB84.0020.0002.23AFA][.BAFA.0000.0000.23AFA] # CJK COMPATIBILITY IDEOGRAPH-2F8F9
+2F8FB ; [.FB84.0020.0002.23CBC][.BCBC.0000.0000.23CBC] # CJK COMPATIBILITY IDEOGRAPH-2F8FB
+2F906 ; [.FB84.0020.0002.23D1E][.BD1E.0000.0000.23D1E] # CJK COMPATIBILITY IDEOGRAPH-2F906
+2F90D ; [.FB84.0020.0002.23ED1][.BED1.0000.0000.23ED1] # CJK COMPATIBILITY IDEOGRAPH-2F90D
+2F910 ; [.FB84.0020.0002.23F5E][.BF5E.0000.0000.23F5E] # CJK COMPATIBILITY IDEOGRAPH-2F910
+2F911 ; [.FB84.0020.0002.23F8E][.BF8E.0000.0000.23F8E] # CJK COMPATIBILITY IDEOGRAPH-2F911
+2F91D ; [.FB84.0020.0002.24263][.C263.0000.0000.24263] # CJK COMPATIBILITY IDEOGRAPH-2F91D
+FA6C  ; [.FB84.0020.0002.242EE][.C2EE.0000.0000.242EE] # CJK COMPATIBILITY IDEOGRAPH-FA6C
+2F91F ; [.FB84.0020.0002.243AB][.C3AB.0000.0000.243AB] # CJK COMPATIBILITY IDEOGRAPH-2F91F
+2F923 ; [.FB84.0020.0002.24608][.C608.0000.0000.24608] # CJK COMPATIBILITY IDEOGRAPH-2F923
+2F926 ; [.FB84.0020.0002.24735][.C735.0000.0000.24735] # CJK COMPATIBILITY IDEOGRAPH-2F926
+2F927 ; [.FB84.0020.0002.24814][.C814.0000.0000.24814] # CJK COMPATIBILITY IDEOGRAPH-2F927
+2F935 ; [.FB84.0020.0002.24C36][.CC36.0000.0000.24C36] # CJK COMPATIBILITY IDEOGRAPH-2F935
+2F937 ; [.FB84.0020.0002.24C92][.CC92.0000.0000.24C92] # CJK COMPATIBILITY IDEOGRAPH-2F937
+2F93B ; [.FB84.0020.0002.24FA1][.CFA1.0000.0000.24FA1] # CJK COMPATIBILITY IDEOGRAPH-2F93B
+2F93C ; [.FB84.0020.0002.24FB8][.CFB8.0000.0000.24FB8] # CJK COMPATIBILITY IDEOGRAPH-2F93C
+2F93D ; [.FB84.0020.0002.25044][.D044.0000.0000.25044] # CJK COMPATIBILITY IDEOGRAPH-2F93D
+2F942 ; [.FB84.0020.0002.250F2][.D0F2.0000.0000.250F2] # CJK COMPATIBILITY IDEOGRAPH-2F942
+2F941 ; [.FB84.0020.0002.250F3][.D0F3.0000.0000.250F3] # CJK COMPATIBILITY IDEOGRAPH-2F941
+2F943 ; [.FB84.0020.0002.25119][.D119.0000.0000.25119] # CJK COMPATIBILITY IDEOGRAPH-2F943
+2F944 ; [.FB84.0020.0002.25133][.D133.0000.0000.25133] # CJK COMPATIBILITY IDEOGRAPH-2F944
+FAD5  ; [.FB84.0020.0002.25249][.D249.0000.0000.25249] # CJK COMPATIBILITY IDEOGRAPH-FAD5
+2F94D ; [.FB84.0020.0002.2541D][.D41D.0000.0000.2541D] # CJK COMPATIBILITY IDEOGRAPH-2F94D
+2F952 ; [.FB84.0020.0002.25626][.D626.0000.0000.25626] # CJK COMPATIBILITY IDEOGRAPH-2F952
+2F954 ; [.FB84.0020.0002.2569A][.D69A.0000.0000.2569A] # CJK COMPATIBILITY IDEOGRAPH-2F954
+2F955 ; [.FB84.0020.0002.256C5][.D6C5.0000.0000.256C5] # CJK COMPATIBILITY IDEOGRAPH-2F955
+2F95C ; [.FB84.0020.0002.2597C][.D97C.0000.0000.2597C] # CJK COMPATIBILITY IDEOGRAPH-2F95C
+2F95D ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95D
+2F95E ; [.FB84.0020.0002.25AA7][.DAA7.0000.0000.25AA7] # CJK COMPATIBILITY IDEOGRAPH-2F95E
+2F961 ; [.FB84.0020.0002.25BAB][.DBAB.0000.0000.25BAB] # CJK COMPATIBILITY IDEOGRAPH-2F961
+2F965 ; [.FB84.0020.0002.25C80][.DC80.0000.0000.25C80] # CJK COMPATIBILITY IDEOGRAPH-2F965
+FAD6  ; [.FB84.0020.0002.25CD0][.DCD0.0000.0000.25CD0] # CJK COMPATIBILITY IDEOGRAPH-FAD6
+2F96B ; [.FB84.0020.0002.25F86][.DF86.0000.0000.25F86] # CJK COMPATIBILITY IDEOGRAPH-2F96B
+2F898 ; [.FB84.0020.0002.261DA][.E1DA.0000.0000.261DA] # CJK COMPATIBILITY IDEOGRAPH-2F898
+2F972 ; [.FB84.0020.0002.26228][.E228.0000.0000.26228] # CJK COMPATIBILITY IDEOGRAPH-2F972
+2F973 ; [.FB84.0020.0002.26247][.E247.0000.0000.26247] # CJK COMPATIBILITY IDEOGRAPH-2F973
+2F975 ; [.FB84.0020.0002.262D9][.E2D9.0000.0000.262D9] # CJK COMPATIBILITY IDEOGRAPH-2F975
+2F977 ; [.FB84.0020.0002.2633E][.E33E.0000.0000.2633E] # CJK COMPATIBILITY IDEOGRAPH-2F977
+2F97B ; [.FB84.0020.0002.264DA][.E4DA.0000.0000.264DA] # CJK COMPATIBILITY IDEOGRAPH-2F97B
+2F97C ; [.FB84.0020.0002.26523][.E523.0000.0000.26523] # CJK COMPATIBILITY IDEOGRAPH-2F97C
+2F97E ; [.FB84.0020.0002.265A8][.E5A8.0000.0000.265A8] # CJK COMPATIBILITY IDEOGRAPH-2F97E
+2F987 ; [.FB84.0020.0002.267A7][.E7A7.0000.0000.267A7] # CJK COMPATIBILITY IDEOGRAPH-2F987
+2F988 ; [.FB84.0020.0002.267B5][.E7B5.0000.0000.267B5] # CJK COMPATIBILITY IDEOGRAPH-2F988
+2F997 ; [.FB84.0020.0002.26B3C][.EB3C.0000.0000.26B3C] # CJK COMPATIBILITY IDEOGRAPH-2F997
+2F9A4 ; [.FB84.0020.0002.26C36][.EC36.0000.0000.26C36] # CJK COMPATIBILITY IDEOGRAPH-2F9A4
+2F9A6 ; [.FB84.0020.0002.26CD5][.ECD5.0000.0000.26CD5] # CJK COMPATIBILITY IDEOGRAPH-2F9A6
+2F9A5 ; [.FB84.0020.0002.26D6B][.ED6B.0000.0000.26D6B] # CJK COMPATIBILITY IDEOGRAPH-2F9A5
+2F9AD ; [.FB84.0020.0002.26F2C][.EF2C.0000.0000.26F2C] # CJK COMPATIBILITY IDEOGRAPH-2F9AD
+2F9B0 ; [.FB84.0020.0002.26FB1][.EFB1.0000.0000.26FB1] # CJK COMPATIBILITY IDEOGRAPH-2F9B0
+2F9B1 ; [.FB84.0020.0002.270D2][.F0D2.0000.0000.270D2] # CJK COMPATIBILITY IDEOGRAPH-2F9B1
+2F9AB ; [.FB84.0020.0002.273CA][.F3CA.0000.0000.273CA] # CJK COMPATIBILITY IDEOGRAPH-2F9AB
+2F9C5 ; [.FB84.0020.0002.27667][.F667.0000.0000.27667] # CJK COMPATIBILITY IDEOGRAPH-2F9C5
+2F9CB ; [.FB84.0020.0002.278AE][.F8AE.0000.0000.278AE] # CJK COMPATIBILITY IDEOGRAPH-2F9CB
+2F9CC ; [.FB84.0020.0002.27966][.F966.0000.0000.27966] # CJK COMPATIBILITY IDEOGRAPH-2F9CC
+2F9D3 ; [.FB84.0020.0002.27CA8][.FCA8.0000.0000.27CA8] # CJK COMPATIBILITY IDEOGRAPH-2F9D3
+FAD7  ; [.FB84.0020.0002.27ED3][.FED3.0000.0000.27ED3] # CJK COMPATIBILITY IDEOGRAPH-FAD7
+2F9D8 ; [.FB84.0020.0002.27F2F][.FF2F.0000.0000.27F2F] # CJK COMPATIBILITY IDEOGRAPH-2F9D8
+2F9E0 ; [.FB85.0020.0002.285D2][.85D2.0000.0000.285D2] # CJK COMPATIBILITY IDEOGRAPH-2F9E0
+2F9E1 ; [.FB85.0020.0002.285ED][.85ED.0000.0000.285ED] # CJK COMPATIBILITY IDEOGRAPH-2F9E1
+2F9E5 ; [.FB85.0020.0002.2872E][.872E.0000.0000.2872E] # CJK COMPATIBILITY IDEOGRAPH-2F9E5
+2F9ED ; [.FB85.0020.0002.28BFA][.8BFA.0000.0000.28BFA] # CJK COMPATIBILITY IDEOGRAPH-2F9ED
+2F9F1 ; [.FB85.0020.0002.28D77][.8D77.0000.0000.28D77] # CJK COMPATIBILITY IDEOGRAPH-2F9F1
+2F9F6 ; [.FB85.0020.0002.29145][.9145.0000.0000.29145] # CJK COMPATIBILITY IDEOGRAPH-2F9F6
+2F81C ; [.FB85.0020.0002.291DF][.91DF.0000.0000.291DF] # CJK COMPATIBILITY IDEOGRAPH-2F81C
+2F9F7 ; [.FB85.0020.0002.2921A][.921A.0000.0000.2921A] # CJK COMPATIBILITY IDEOGRAPH-2F9F7
+2F9FB ; [.FB85.0020.0002.2940A][.940A.0000.0000.2940A] # CJK COMPATIBILITY IDEOGRAPH-2F9FB
+2F9FD ; [.FB85.0020.0002.29496][.9496.0000.0000.29496] # CJK COMPATIBILITY IDEOGRAPH-2F9FD
+2FA01 ; [.FB85.0020.0002.295B6][.95B6.0000.0000.295B6] # CJK COMPATIBILITY IDEOGRAPH-2FA01
+2FA09 ; [.FB85.0020.0002.29B30][.9B30.0000.0000.29B30] # CJK COMPATIBILITY IDEOGRAPH-2FA09
+2FA10 ; [.FB85.0020.0002.2A0CE][.A0CE.0000.0000.2A0CE] # CJK COMPATIBILITY IDEOGRAPH-2FA10
+2FA12 ; [.FB85.0020.0002.2A105][.A105.0000.0000.2A105] # CJK COMPATIBILITY IDEOGRAPH-2FA12
+2FA13 ; [.FB85.0020.0002.2A20E][.A20E.0000.0000.2A20E] # CJK COMPATIBILITY IDEOGRAPH-2FA13
+2FA14 ; [.FB85.0020.0002.2A291][.A291.0000.0000.2A291] # CJK COMPATIBILITY IDEOGRAPH-2FA14
+2F88F ; [.FB85.0020.0002.2A392][.A392.0000.0000.2A392] # CJK COMPATIBILITY IDEOGRAPH-2F88F
+2FA1D ; [.FB85.0020.0002.2A600][.A600.0000.0000.2A600] # CJK COMPATIBILITY IDEOGRAPH-2FA1D


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/allkeys.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Unicode-Collate/Collate/keys.txt
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate/keys.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate/keys.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate/keys.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,12 +14,14 @@
 
 no warnings 'utf8';
 
-our $VERSION = '0.73';
+our $VERSION = '0.97';
 our $PACKAGE = __PACKAGE__;
 
+### begin XS only ###
 require DynaLoader;
 our @ISA = qw(DynaLoader);
 bootstrap Unicode::Collate $VERSION;
+### end XS only ###
 
 my @Path = qw(Unicode Collate);
 my $KeyFile = "allkeys.txt";
@@ -46,16 +48,14 @@
 use constant Shift4Wt => 0xFFFF;
 
 # A boolean for Variable and 16-bit weights at 4 levels of Collation Element
-# PROBLEM: The Default Unicode Collation Element Table
-# has weights over 0xFFFF at the 4th level.
-# The tie-breaking in the variable weights
-# other than "shift" (as well as "shift-trimmed") is unreliable.
 use constant VCE_TEMPLATE => 'Cn4';
 
 # A sort key: 16-bit weights
-# See also the PROBLEM on VCE_TEMPLATE above.
 use constant KEY_TEMPLATE => 'n*';
 
+# The tie-breaking: 32-bit weights
+use constant TIE_TEMPLATE => 'N*';
+
 # Level separator in a sort key:
 # i.e. pack(KEY_TEMPLATE, 0)
 use constant LEVEL_SEP => "\0\0";
@@ -69,6 +69,7 @@
 # This character must not be included in any stringified
 # representation of an integer.
 use constant CODE_SEP => ';';
+	# NOTE: in regex /;/ is used for $jcps!
 
 # boolean values of variable weights
 use constant NON_VAR => 0; # Non-Variable character
@@ -81,10 +82,14 @@
 # Logical_Order_Exception in PropList.txt
 my $DefaultRearrange = [ 0x0E40..0x0E44, 0x0EC0..0x0EC4 ];
 
-sub UCA_Version { "22" }
+# for highestFFFF and minimalFFFE
+my $HighestVCE = pack(VCE_TEMPLATE, 0, 0xFFFE, 0x20, 0x5, 0xFFFF);
+my $minimalVCE = pack(VCE_TEMPLATE, 0,      1, 0x20, 0x5, 0xFFFE);
 
-sub Base_Unicode_Version { "6.0.0" }
+sub UCA_Version { "26" }
 
+sub Base_Unicode_Version { "6.2.0" }
+
 ######
 
 sub pack_U {
@@ -100,19 +105,19 @@
 
 our @ChangeOK = qw/
     alternate backwards level normalization rearrange
-    katakana_before_hiragana upper_before_lower
+    katakana_before_hiragana upper_before_lower ignore_level2
     overrideHangul overrideCJK preprocess UCA_Version
-    hangul_terminator variable
+    hangul_terminator variable identical highestFFFF minimalFFFE
   /;
 
 our @ChangeNG = qw/
     entry mapping table maxlength contraction
-    ignoreChar ignoreName undefChar undefName variableTable
-    versionTable alternateTable backwardsTable forwardsTable rearrangeTable
+    ignoreChar ignoreName undefChar undefName rewrite
+    versionTable alternateTable backwardsTable forwardsTable
+    rearrangeTable variableTable
     derivCode normCode rearrangeHash backwardsFlag
     suppress suppressHash
-    __useXS
-  /;
+    __useXS /; ### XS only
 # The hash key 'ignored' is deleted at v 0.21.
 # The hash key 'isShift' is deleted at v 0.23.
 # The hash key 'combining' is deleted at v 0.24.
@@ -132,18 +137,18 @@
     my $self = shift;
     my %hash = @_;
     my %old;
-    if (exists $hash{variable} && exists $hash{alternate}) {
-	delete $hash{alternate};
+    if (exists $hash{alternate}) {
+	if (exists $hash{variable}) {
+	    delete $hash{alternate};
+	} else {
+	    $hash{variable} = $hash{alternate};
+	}
     }
-    elsif (!exists $hash{variable} && exists $hash{alternate}) {
-	$hash{variable} = $hash{alternate};
-    }
     foreach my $k (keys %hash) {
 	if (exists $ChangeOK{$k}) {
 	    $old{$k} = $self->{$k};
 	    $self->{$k} = $hash{$k};
-	}
-	elsif (exists $ChangeNG{$k}) {
+	} elsif (exists $ChangeNG{$k}) {
 	    croak "change of $k via change() is not allowed!";
 	}
 	# else => ignored
@@ -172,6 +177,8 @@
    18 => \&_derivCE_18,
    20 => \&_derivCE_20,
    22 => \&_derivCE_22,
+   24 => \&_derivCE_24,
+   26 => \&_derivCE_24, # 26 == 24
 );
 
 sub checkCollator {
@@ -189,12 +196,10 @@
 
     if (! defined $self->{backwards}) {
 	$self->{backwardsFlag} = 0;
-    }
-    elsif (! ref $self->{backwards}) {
+    } elsif (! ref $self->{backwards}) {
 	_checkLevel($self->{backwards}, "backwards");
 	$self->{backwardsFlag} = 1 << $self->{backwards};
-    }
-    else {
+    } else {
 	my %level;
 	$self->{backwardsFlag} = 0;
 	for my $b (@{ $self->{backwards} }) {
@@ -245,11 +250,15 @@
     my $class = shift;
     my $self = bless { @_ }, $class;
 
-    if (! exists $self->{table} &&
+### begin XS only ###
+    if (! exists $self->{table}     && !defined $self->{rewrite} &&
 	!defined $self->{undefName} && !defined $self->{ignoreName} &&
 	!defined $self->{undefChar} && !defined $self->{ignoreChar}) {
 	$self->{__useXS} = \&_fetch_simple;
-    } # XS only
+    } else {
+	$self->{__useXS} = undef;
+    }
+### end XS only ###
 
     # keys of $self->{suppressHash} are $self->{suppress}.
     if ($self->{suppress} && @{ $self->{suppress} }) {
@@ -262,7 +271,7 @@
 
     if ($self->{entry}) {
 	while ($self->{entry} =~ /([^\n]+)/g) {
-	    $self->parseEntry($1);
+	    $self->parseEntry($1, TRUE);
 	}
     }
 
@@ -313,6 +322,7 @@
 sub read_table {
     my $self = shift;
 
+### begin XS only ###
     if ($self->{__useXS}) {
 	my @rest = _fetch_rest(); # complex matter need to parse
 	for my $line (@rest) {
@@ -326,6 +336,7 @@
 	}
 	return;
     }
+### end XS only ###
 
     my($f, $fh);
     foreach my $d (@INC) {
@@ -358,8 +369,13 @@
 {
     my $self = shift;
     my $line = shift;
+    my $tailoring = shift;
     my($name, $entry, @uv, @key);
 
+    if (defined $self->{rewrite}) {
+	$line = $self->{rewrite}->($line);
+    }
+
     return if $line !~ /^\s*[0-9A-Fa-f]/;
 
     # removes comment and gets name
@@ -374,7 +390,7 @@
 
     @uv = _getHexArray($e);
     return if !@uv;
-    return if @uv > 1 && $self->{suppressHash} &&
+    return if @uv > 1 && $self->{suppressHash} && !$tailoring &&
 		  exists $self->{suppressHash}{$uv[0]};
     $entry = join(CODE_SEP, @uv); # in JCPS
 
@@ -428,43 +444,42 @@
 sub viewSortKey
 {
     my $self = shift;
-    $self->visualizeSortKey($self->getSortKey(@_));
+    my $str  = shift;
+    $self->visualizeSortKey($self->getSortKey($str));
 }
 
 
+sub process
+{
+    my $self = shift;
+    my $str  = shift;
+    my $prep = $self->{preprocess};
+    my $norm = $self->{normCode};
+
+    $str = &$prep($str) if ref $prep;
+    $str = &$norm($str) if ref $norm;
+    return $str;
+}
+
 ##
 ## arrayref of JCPS   = splitEnt(string to be collated)
-## arrayref of arrayref[JCPS, ini_pos, fin_pos] = splitEnt(string, true)
+## arrayref of arrayref[JCPS, ini_pos, fin_pos] = splitEnt(string, TRUE)
 ##
 sub splitEnt
 {
     my $self = shift;
-    my $wLen = $_[1];
+    my $str  = shift;
+    my $wLen = shift; # with Length
 
-    my $code = $self->{preprocess};
-    my $norm = $self->{normCode};
     my $map  = $self->{mapping};
     my $max  = $self->{maxlength};
     my $reH  = $self->{rearrangeHash};
     my $vers = $self->{UCA_Version};
     my $ver9 = $vers >= 9 && $vers <= 11;
-    my $uXS  = $self->{__useXS};
+    my $uXS  = $self->{__useXS}; ### XS only
 
-    my ($str, @buf);
+    my @buf;
 
-    if ($wLen) {
-	$code and croak "Preprocess breaks character positions. "
-			. "Don't use with index(), match(), etc.";
-	$norm and croak "Normalization breaks character positions. "
-			. "Don't use with index(), match(), etc.";
-	$str = $_[0];
-    }
-    else {
-	$str = $_[0];
-	$str = &$code($str) if ref $code;
-	$str = &$norm($str) if ref $norm;
-    }
-
     # get array of Unicode code point of string.
     my @src = unpack_U($str);
 
@@ -485,11 +500,9 @@
 	if (_isIllegal($src[$i]) || $vers <= 20 && _isNonchar($src[$i])) {
 	    $src[$i] = undef;
 	} elsif ($ver9) {
-	    $src[$i] = undef if $map->{ $src[$i] } &&
-			     @{ $map->{ $src[$i] } } == 0;
-	    if ($uXS) {
-		$src[$i] = undef if _ignorable_simple($src[$i]);
-	    }
+	    $src[$i] = undef if $map->{ $src[$i] }
+			   ? @{ $map->{ $src[$i] } } == 0
+			   : $uXS && _ignorable_simple($src[$i]); ### XS only
 	}
     }
 
@@ -569,8 +582,8 @@
 	}
 
 	# skip completely ignorable
-	if ($uXS && $jcps =~ /^[0-9]+\z/ && _ignorable_simple($jcps) ||
-	    $map->{$jcps} && @{ $map->{$jcps} } == 0) {
+	if ($map->{$jcps} ? @{ $map->{$jcps} } == 0 :
+	    $uXS && $jcps !~ /;/ && _ignorable_simple($jcps)) { ### XS only
 	    if ($wLen && @buf) {
 		$buf[-1][2] = $i + 1;
 	    }
@@ -606,16 +619,18 @@
 {
     my $self = shift;
     my $u    = shift;
-    my $vbl  = $self->{variable};
     my $map  = $self->{mapping};
     my $der  = $self->{derivCode};
-    my $uXS  = $self->{__useXS};
+    my $uXS  = $self->{__useXS}; ### XS only
 
     return if !defined $u;
-    return map(_varCE($vbl, $_), @{ $map->{$u} })
-	if $map->{$u};
-    return map(_varCE($vbl, $_), _fetch_simple($u))
+    return $self->varCE($HighestVCE) if $u eq 0xFFFF && $self->{highestFFFF};
+    return $self->varCE($minimalVCE) if $u eq 0xFFFE && $self->{minimalFFFE};
+    return map($self->varCE($_), @{ $map->{$u} }) if $map->{$u};
+### begin XS only ###
+    return map($self->varCE($_), _fetch_simple($u))
 	if $uXS && _exists_simple($u);
+### end XS only ###
 
     # JCPS must not be a contraction, then it's a code point.
     if (Hangul_SIni <= $u && $u <= Hangul_SFin) {
@@ -652,22 +667,22 @@
 
 	    @hangulCE = map({
 		    $map->{$_} ? @{ $map->{$_} } :
-		    $uXS && _exists_simple($_) ? _fetch_simple($_) :
+		$uXS && _exists_simple($_) ? _fetch_simple($_) : ### XS only
 		    $der->($_);
 		} @decH);
 	}
-	return map _varCE($vbl, $_), @hangulCE;
+	return map $self->varCE($_), @hangulCE;
     } else {
 	my $cjk  = $self->{overrideCJK};
 	my $vers = $self->{UCA_Version};
 	if ($cjk && _isUIdeo($u, $vers)) {
 	    my @cjkCE = map _pack_override($_, $u, $der), $cjk->($u);
-	    return map _varCE($vbl, $_), @cjkCE;
+	    return map $self->varCE($_), @cjkCE;
 	}
 	if ($vers == 8 && defined $cjk && _isUIdeo($u, 0)) {
-	    return map _varCE($vbl, $_), _uideoCE_8($u);
+	    return map $self->varCE($_), _uideoCE_8($u);
 	}
-	return map _varCE($vbl, $_), $der->($u);
+	return map $self->varCE($_), $der->($u);
     }
 }
 
@@ -678,15 +693,18 @@
 sub getSortKey
 {
     my $self = shift;
-    my $rEnt = $self->splitEnt(shift); # get an arrayref of JCPS
+    my $orig = shift;
+    my $str  = $self->process($orig);
+    my $rEnt = $self->splitEnt($str); # get an arrayref of JCPS
     my $vers = $self->{UCA_Version};
-    my $vbl  = $self->{variable};
     my $term = $self->{hangul_terminator};
+    my $lev  = $self->{level};
+    my $iden = $self->{identical};
 
     my @buf; # weight arrays
     if ($term) {
 	my $preHST = '';
-	my $termCE = _varCE($vbl, pack(VCE_TEMPLATE, NON_VAR, $term, 0,0,0));
+	my $termCE = $self->varCE(pack(VCE_TEMPLATE, NON_VAR, $term, 0,0,0));
 	foreach my $jcps (@$rEnt) {
 	    # weird things like VL, TL-contraction are not considered!
 	    my $curHST = join '', map getHST($_, $vers), split /;/, $jcps;
@@ -706,7 +724,13 @@
 	}
     }
 
-    return $self->mk_SortKey(\@buf);
+    my $rkey = $self->mk_SortKey(\@buf); ### XS only
+
+    if ($iden || $vers >= 26 && $lev == MaxLevel) {
+	$rkey .= LEVEL_SEP;
+	$rkey .= pack(TIE_TEMPLATE, unpack_U($str)) if $iden;
+    }
+    return $rkey;
 }
 
 
@@ -773,20 +797,26 @@
 
 ##
 ## (int position, int length)
-## int position = index(string, substring, position, [undoc'ed grobal])
+## int position = index(string, substring, position, [undoc'ed global])
 ##
-## With "grobal" (only for the list context),
+## With "global" (only for the list context),
 ##  returns list of arrayref[position, length].
 ##
 sub index
 {
     my $self = shift;
+    $self->{preprocess} and
+	croak "Don't use Preprocess with index(), match(), etc.";
+    $self->{normCode} and
+	croak "Don't use Normalization with index(), match(), etc.";
+
     my $str  = shift;
     my $len  = length($str);
-    my $subE = $self->splitEnt(shift);
+    my $sub  = shift;
+    my $subE = $self->splitEnt($sub);
     my $pos  = @_ ? shift : 0;
        $pos  = 0 if $pos < 0;
-    my $grob = shift;
+    my $glob = shift;
 
     my $lev  = $self->{level};
     my $v2i  = $self->{UCA_Version} >= 9 &&
@@ -794,7 +824,7 @@
 
     if (! @$subE) {
 	my $temp = $pos <= 0 ? 0 : $len <= $pos ? $len : $pos;
-	return $grob
+	return $glob
 	    ? map([$_, 0], $temp..$len)
 	    : wantarray ? ($temp,0) : $temp;
     }
@@ -880,7 +910,7 @@
 			_eqArray(\@strWt, \@subWt, $lev)) {
 		my $temp = $iniPos[0] + $pos;
 
-		if ($grob) {
+		if ($glob) {
 		    push @g_ret, [$temp, $finPos[$#subWt] - $iniPos[0]];
 		    splice @strWt,  0, $#subWt;
 		    splice @iniPos, 0, $#subWt;
@@ -898,7 +928,7 @@
 	}
     }
 
-    return $grob
+    return $glob
 	? @g_ret
 	: wantarray ? () : NOMATCHPOS;
 }
@@ -1017,15 +1047,20 @@
       backwards => $levelNumber, # or \@levelNumbers
       entry => $element,
       hangul_terminator => $term_primary_weight,
+      highestFFFF => $bool,
+      identical => $bool,
       ignoreName => qr/$ignoreName/,
       ignoreChar => qr/$ignoreChar/,
+      ignore_level2 => $bool,
       katakana_before_hiragana => $bool,
       level => $collationLevel,
+      minimalFFFE => $bool,
       normalization  => $normalization_form,
       overrideCJK => \&overrideCJK,
       overrideHangul => \&overrideHangul,
       preprocess => \&preprocess,
       rearrange => \@charList,
+      rewrite => \&rewrite,
       suppress => \@charList,
       table => $filename,
       undefName => qr/$undefName/,
@@ -1042,7 +1077,7 @@
 behavior of that revision is emulated on collating.
 If omitted, the return value of C<UCA_Version()> is used.
 
-The following revisions are supported.  The default is 22.
+The following revisions are supported.  The default is 26.
 
      UCA       Unicode Standard         DUCET (@version)
    -------------------------------------------------------
@@ -1054,6 +1089,8 @@
      18             5.1.0               5.1.0 (5.1.0)
      20             5.2.0               5.2.0 (5.2.0)
      22             6.0.0               6.0.0 (6.0.0)
+     24             6.1.0               6.1.0 (6.1.0)
+     26             6.2.0               6.2.0 (6.2.0)
 
 * Noncharacters (e.g. U+FFFF) are not ignored, and can be overridden
 since C<UCA_Version> 22.
@@ -1079,7 +1116,7 @@
 
 =item backwards
 
--- see 3.1.2 French Accents, UTS #10.
+-- see 3.4 Backward Accents, UTS #10.
 
      backwards => $levelNumber or \@levelNumbers
 
@@ -1089,7 +1126,7 @@
 
 =item entry
 
--- see 3.1 Linguistic Features; 3.2.1 File Format, UTS #10.
+-- see 5 Tailoring; 3.6.1 File Format, UTS #10.
 
 If the same character (or a sequence of characters) exists
 in the collation element table through C<table>,
@@ -1163,11 +1200,49 @@
 These characters may need terminator included in a collation element
 table beforehand.
 
+=item highestFFFF
+
+-- see 5.14 Collation Elements, UTS #35.
+
+If the parameter is made true, C<U+FFFF> has a highest primary weight.
+When a boolean of C<$coll-E<gt>ge($str, "abc")> and
+C<$coll-E<gt>le($str, "abc\x{FFFF}")> is true, it is expected that C<$str>
+begins with C<"abc">, or another primary equivalent.
+C<$str> may be C<"abcd">, C<"abc012">, but should not include C<U+FFFF>
+such as C<"abc\x{FFFF}xyz">.
+
+C<$coll-E<gt>le($str, "abc\x{FFFF}")> works like C<$coll-E<gt>lt($str, "abd")>
+almostly, but the latter has a problem that you should know which letter is
+next to C<c>. For a certain language where C<ch> as the next letter,
+C<"abch"> is greater than C<"abc\x{FFFF}">, but lesser than C<"abd">.
+
+Note: This is equivalent to C<entry =E<gt> 'FFFF ; [.FFFE.0020.0005.FFFF]'>.
+Any other character than C<U+FFFF> can be tailored by C<entry>.
+
+=item identical
+
+-- see A.3 Deterministic Comparison, UTS #10.
+
+By default, strings whose weights are equal should be equal,
+even though their code points are not equal.
+Completely ignorable characters are ignored.
+
+If the parameter is made true, a final, tie-breaking level is used.
+If no difference of weights is found after the comparison through
+all the level specified by C<level>, the comparison with code points
+will be performed.
+For the tie-breaking comparision, the sort key has code points
+of the original string appended.
+Completely ignorable characters are not ignored.
+
+If C<preprocess> and/or C<normalization> is applied, the code points
+of the string after them (in NFD by default) are used.
+
 =item ignoreChar
 
 =item ignoreName
 
--- see 3.2.2 Variable Weighting, UTS #10.
+-- see 3.6.2 Variable Weighting, UTS #10.
 
 Makes the entry in the table completely ignorable;
 i.e. as if the weights were zero at all level.
@@ -1180,9 +1255,21 @@
 E.g. when 'a' and 'e' are ignorable,
 'element' is equal to 'lament' (or 'lmnt').
 
+=item ignore_level2
+
+-- see 5.1 Parametric Tailoring, UTS #10.
+
+By default, case-sensitive comparison (that is level 3 difference)
+won't ignore accents (that is level 2 difference).
+
+If the parameter is made true, accents (and other primary ignorable
+characters) are ignored, even though cases are taken into account.
+
+B<NOTE>: C<level> should be 3 or greater.
+
 =item katakana_before_hiragana
 
--- see 7.3.1 Tertiary Weight Table, UTS #10.
+-- see 7.2 Tertiary Weight Table, UTS #10.
 
 By default, hiragana is before katakana.
 If the parameter is made true, this is reversed.
@@ -1209,6 +1296,38 @@
 
 If omitted, the maximum is the 4th.
 
+B<NOTE:> The DUCET includes weights over 0xFFFF at the 4th level.
+But this module only uses weights within 0xFFFF.
+When C<variable> is 'blanked' or 'non-ignorable' (other than 'shifted'
+and 'shift-trimmed'), the level 4 may be unreliable.
+
+See also C<identical>.
+
+=item minimalFFFE
+
+-- see 5.14 Collation Elements, UTS #35.
+
+If the parameter is made true, C<U+FFFE> has a minimal primary weight.
+The comparison between C<"$a1\x{FFFE}$a2"> and C<"$b1\x{FFFE}$b2">
+first compares C<$a1> and C<$b1> at level 1, and
+then C<$a2> and C<$b2> at level 1, as followed.
+
+        "ab\x{FFFE}a"
+        "Ab\x{FFFE}a"
+        "ab\x{FFFE}c"
+        "Ab\x{FFFE}c"
+        "ab\x{FFFE}xyz"
+        "abc\x{FFFE}def"
+        "abc\x{FFFE}xYz"
+        "aBc\x{FFFE}xyz"
+        "abcX\x{FFFE}def"
+        "abcx\x{FFFE}xyz"
+        "b\x{FFFE}aaa"
+        "bbb\x{FFFE}a"
+
+Note: This is equivalent to C<entry =E<gt> 'FFFE ; [.0001.0020.0005.FFFE]'>.
+Any other character than C<U+FFFE> can be tailored by C<entry>.
+
 =item normalization
 
 -- see 4.1 Normalize, UTS #10.
@@ -1259,10 +1378,11 @@
 those in the CJK Unified Ideographs Extension A etc.
 
     In the CJK Unified Ideographs block:
-    U+4E00..U+9FA5 if UCA_Version is 8 to 11.
-    U+4E00..U+9FBB if UCA_Version is 14 to 16.
+    U+4E00..U+9FA5 if UCA_Version is 8, 9 or 11.
+    U+4E00..U+9FBB if UCA_Version is 14 or 16.
     U+4E00..U+9FC3 if UCA_Version is 18.
-    U+4E00..U+9FCB if UCA_Version is 20 or greater.
+    U+4E00..U+9FCB if UCA_Version is 20 or 22.
+    U+4E00..U+9FCC if UCA_Version is 24 or 26.
 
     In the CJK Unified Ideographs Extension blocks:
     Ext.A (U+3400..U+4DB5) and Ext.B (U+20000..U+2A6D6) in any UCA_Version.
@@ -1340,9 +1460,9 @@
 
 =item preprocess
 
--- see 5.1 Preprocessing, UTS #10.
+-- see 5.4 Preprocessing, UTS #10.
 
-If specified, the coderef is used to preprocess
+If specified, the coderef is used to preprocess each string
 before the formation of sort keys.
 
 ex. dropping English articles, such as "a" or "the".
@@ -1369,7 +1489,7 @@
 
 =item rearrange
 
--- see 3.1.3 Rearrangement, UTS #10.
+-- see 3.5 Rearrangement, UTS #10.
 
 Characters that are not coded in logical order and to be rearranged.
 If C<UCA_Version> is equal to or lesser than 11, default is:
@@ -1385,6 +1505,28 @@
 B<According to the version 9 of UCA, this parameter shall not be used;
 but it is not warned at present.>
 
+=item rewrite
+
+If specified, the coderef is used to rewrite lines in C<table> or C<entry>.
+The coderef will get each line, and then should return a rewritten line
+according to the UCA file format.
+If the coderef returns an empty line, the line will be skipped.
+
+e.g. any primary ignorable characters into tertiary ignorable:
+
+    rewrite => sub {
+        my $line = shift;
+        $line =~ s/\[\.0000\..{4}\..{4}\./[.0000.0000.0000./g;
+        return $line;
+    },
+
+This example shows rewriting weights. C<rewrite> is allowed to
+affect code points, weights, and the name.
+
+B<NOTE>: C<table> is available to use another table file;
+preparing a modified table once would be more efficient than
+rewriting lines on reading an unmodified table every time.
+
 =item suppress
 
 -- see suppress contractions in 5.14.11 Special-Purpose Commands,
@@ -1391,7 +1533,7 @@
 UTS #35 (LDML).
 
 Contractions beginning with the specified characters are suppressed,
-even if those contractions are defined in C<table> or C<entry>.
+even if those contractions are defined in C<table>.
 
 An example for Russian and some languages using the Cyrillic script:
 
@@ -1399,9 +1541,11 @@
 
 where 0x0400 stands for C<U+0400>, CYRILLIC CAPITAL LETTER IE WITH GRAVE.
 
+B<NOTE>: Contractions via C<entry> are not be suppressed.
+
 =item table
 
--- see 3.2 Default Unicode Collation Element Table, UTS #10.
+-- see 3.6 Default Unicode Collation Element Table, UTS #10.
 
 You can use another collation element table if desired.
 
@@ -1416,8 +1560,8 @@
 B<NOTE>: When XSUB is used, the DUCET is compiled on building this
 module, and it may save time at the run time.
 Explicit saying C<table =E<gt> 'allkeys.txt'> (or using another table),
-or using C<ignoreChar>, C<ignoreName>, C<undefChar>, or C<undefName>
-will prevent this module from using the compiled DUCET.
+or using C<ignoreChar>, C<ignoreName>, C<undefChar>, C<undefName> or
+C<rewrite> will prevent this module from using the compiled DUCET.
 
 If C<undef> is passed explicitly as the value for this key,
 no file is read (but you can define collation elements via C<entry>).
@@ -1480,9 +1624,9 @@
 
 =item variable
 
--- see 3.2.2 Variable Weighting, UTS #10.
+-- see 3.6.2 Variable Weighting, UTS #10.
 
-This key allows to variable weighting for variable collation elements,
+This key allows for variable weighting of variable collation elements,
 which are marked with an ASTERISK in the table
 (NOTE: Many punctuation marks and symbols are variable in F<allkeys.txt>).
 
@@ -1572,17 +1716,19 @@
 
 =head2 Methods for Searching
 
-B<DISCLAIMER:> If C<preprocess> or C<normalization> parameter is true
-for C<$Collator>, calling these methods (C<index>, C<match>, C<gmatch>,
-C<subst>, C<gsubst>) is croaked,
-as the position and the length might differ
-from those on the specified string.
-(And C<rearrange> and C<hangul_terminator> parameters are neglected.)
-
 The C<match>, C<gmatch>, C<subst>, C<gsubst> methods work
 like C<m//>, C<m//g>, C<s///>, C<s///g>, respectively,
 but they are not aware of any pattern, but only a literal substring.
 
+B<DISCLAIMER:> If C<preprocess> or C<normalization> parameter is true
+for C<$Collator>, calling these methods (C<index>, C<match>, C<gmatch>,
+C<subst>, C<gsubst>) is croaked, as the position and the length might
+differ from those on the specified string.
+
+C<rearrange> and C<hangul_terminator> parameters are neglected.
+C<katakana_before_hiragana> and C<upper_before_lower> don't affect
+matching and searching, as it doesn't matter whether greater or lesser.
+
 =over 4
 
 =item C<$position = $Collator-E<gt>index($string, $substring[, $position])>
@@ -1654,7 +1800,7 @@
 
 If C<$substring> matches a part of C<$string>,
 the first occurrence of the matching part is replaced by C<$replacement>
-(C<$string> is modified) and return C<$count> (always equals to C<1>).
+(C<$string> is modified) and C<$count> (always equals to C<1>) is returned.
 
 C<$replacement> can be a C<CODEREF>,
 taking the matching part as an argument,
@@ -1664,8 +1810,8 @@
 =item C<$count = $Collator-E<gt>gsubst($string, $substring, $replacement)>
 
 If C<$substring> matches a part of C<$string>,
-all the occurrences of the matching part is replaced by C<$replacement>
-(C<$string> is modified) and return C<$count>.
+all the occurrences of the matching part are replaced by C<$replacement>
+(C<$string> is modified) and C<$count> is returned.
 
 C<$replacement> can be a C<CODEREF>,
 taking the matching part as an argument,
@@ -1676,12 +1822,29 @@
 
   my $Collator = Unicode::Collate->new( normalization => undef, level => 1 );
                                      # (normalization => undef) is REQUIRED.
-  my $str = "Camel donkey zebra came\x{301}l CAMEL horse cAm\0E\0L...";
+  my $str = "Camel donkey zebra came\x{301}l CAMEL horse cam\0e\0l...";
   $Collator->gsubst($str, "camel", sub { "<b>$_[0]</b>" });
 
-  # now $str is "<b>Camel</b> donkey zebra <b>came\x{301}l</b> <b>CAMEL</b> horse <b>cAm\0E\0L</b>...";
+  # now $str is "<b>Camel</b> donkey zebra <b>came\x{301}l</b> <b>CAMEL</b> horse <b>cam\0e\0l</b>...";
   # i.e., all the camels are made bold-faced.
 
+   Examples: levels and ignore_level2 - what does camel match?
+  ---------------------------------------------------------------------------
+   level  ignore_level2  |  camel  Camel  came\x{301}l  c-a-m-e-l  cam\0e\0l
+  -----------------------|---------------------------------------------------
+     1        false      |   yes    yes      yes          yes        yes
+     2        false      |   yes    yes      no           yes        yes
+     3        false      |   yes    no       no           yes        yes
+     4        false      |   yes    no       no           no         yes
+  -----------------------|---------------------------------------------------
+     1        true       |   yes    yes      yes          yes        yes
+     2        true       |   yes    yes      yes          yes        yes
+     3        true       |   yes    no       yes          yes        yes
+     4        true       |   yes    no       yes          no         yes
+  ---------------------------------------------------------------------------
+   note: if variable => non-ignorable, camel doesn't match c-a-m-e-l
+         at any level.
+
 =back
 
 =head2 Other Methods
@@ -1692,7 +1855,7 @@
 
 =item C<$modified_collator = $Collator-E<gt>change(%new_tailoring)>
 
-Change the value of specified keys and returns the changed part.
+Changes the value of specified keys and returns the changed part.
 
     $Collator = Unicode::Collate->new(level => 4);
 
@@ -1785,6 +1948,11 @@
 for F<CollationTest_NON_IGNORABLE.txt>, a collator via
 C<Unicode::Collate-E<gt>new(variable =E<gt> "non-ignorable", level =E<gt> 3)>.
 
+If C<UCA_Version> is 26 or later, the C<identical> level is preferred;
+C<Unicode::Collate-E<gt>new(identical =E<gt> 1)> and
+C<Unicode::Collate-E<gt>new(identical =E<gt> 1,>
+C<variable =E<gt> "non-ignorable", level =E<gt> 3)> should be used.
+
 B<Unicode::Normalize is required to try The Conformance Test.>
 
 =back
@@ -1792,7 +1960,7 @@
 =head1 AUTHOR, COPYRIGHT AND LICENSE
 
 The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki,
-<SADAHIRO at cpan.org>. This module is Copyright(C) 2001-2011,
+<SADAHIRO at cpan.org>. This module is Copyright(C) 2001-2012,
 SADAHIRO Tomoyuki. Japan. All rights reserved.
 
 This module is free software; you can redistribute it and/or
@@ -1799,8 +1967,8 @@
 modify it under the same terms as Perl itself.
 
 The file Unicode/Collate/allkeys.txt was copied verbatim
-from L<http://www.unicode.org/Public/UCA/6.0.0/allkeys.txt>.
-This file is Copyright (c) 1991-2010 Unicode, Inc. All rights reserved.
+from L<http://www.unicode.org/Public/UCA/6.2.0/allkeys.txt>.
+For this file, Copyright (c) 2001-2012 Unicode, Inc.
 Distributed under the Terms of Use in L<http://www.unicode.org/copyright.html>.
 
 =head1 SEE ALSO


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Collate.xs
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Collate.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Collate.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,8 @@
+
+#define PERL_NO_GET_CONTEXT /* we want efficiency */
+
+/* I guese no private function needs pTHX_ and aTHX_ */
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
@@ -77,6 +82,7 @@
 #define CJK_UidF41    (0x9FBB)
 #define CJK_UidF51    (0x9FC3)
 #define CJK_UidF52    (0x9FCB)
+#define CJK_UidF61    (0x9FCC)
 #define CJK_ExtAIni   (0x3400) /* Unicode 3.0 */
 #define CJK_ExtAFin   (0x4DB5) /* Unicode 3.0 */
 #define CJK_ExtBIni  (0x20000) /* Unicode 3.1 */
@@ -86,6 +92,8 @@
 #define CJK_ExtDIni  (0x2B740) /* Unicode 6.0 */
 #define CJK_ExtDFin  (0x2B81D) /* Unicode 6.0 */
 
+#define CJK_CompIni  (0xFA0E)
+#define CJK_CompFin  (0xFA29)
 static STDCHAR UnifiedCompat[] = {
       1,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,0,0,1,1,1
 }; /* E F 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 */
@@ -249,7 +257,7 @@
     UV code;
     IV uca_vers;
   PREINIT:
-    char * hangtype;
+    const char * hangtype;
     STRLEN typelen;
   CODE:
     if (codeRange(Hangul_SIni, Hangul_SFin)) {
@@ -296,6 +304,7 @@
     _derivCE_18 = 2
     _derivCE_20 = 3
     _derivCE_22 = 4
+    _derivCE_24 = 5
   PREINIT:
     UV base, aaaa, bbbb;
     U8 a[VCE_Length + 1] = "\x00\xFF\xFF\x00\x20\x00\x02\xFF\xFF";
@@ -303,10 +312,11 @@
     bool basic_unified = 0;
   PPCODE:
     if (CJK_UidIni <= code) {
-	if (codeRange(0xFA0E, 0xFA29))
-	    basic_unified = (bool)UnifiedCompat[code - 0xFA0E];
+	if (codeRange(CJK_CompIni, CJK_CompFin))
+	    basic_unified = (bool)UnifiedCompat[code - CJK_CompIni];
 	else
-	    basic_unified = (ix >= 3 ? (code <= CJK_UidF52) :
+	    basic_unified = (ix >= 5 ? (code <= CJK_UidF61) :
+			     ix >= 3 ? (code <= CJK_UidF52) :
 			     ix == 2 ? (code <= CJK_UidF51) :
 			     ix == 1 ? (code <= CJK_UidF41) :
 				       (code <= CJK_UidFin));
@@ -373,10 +383,11 @@
   CODE:
     /* uca_vers = 0 for _uideoCE_8() */
     if (CJK_UidIni <= code) {
-	if (codeRange(0xFA0E, 0xFA29))
-	    basic_unified = (bool)UnifiedCompat[code - 0xFA0E];
+	if (codeRange(CJK_CompIni, CJK_CompFin))
+	    basic_unified = (bool)UnifiedCompat[code - CJK_CompIni];
 	else
-	    basic_unified = (uca_vers >= 20 ? (code <= CJK_UidF52) :
+	    basic_unified = (uca_vers >= 24 ? (code <= CJK_UidF61) :
+			     uca_vers >= 20 ? (code <= CJK_UidF52) :
 			     uca_vers >= 18 ? (code <= CJK_UidF51) :
 			     uca_vers >= 14 ? (code <= CJK_UidF41) :
 					      (code <= CJK_UidFin));
@@ -416,9 +427,6 @@
     else
 	croak("$self is not a HASHREF.");
 
-    svp = hv_fetch(selfHV, "level", 5, FALSE);
-    level = svp ? SvIV(*svp) : MaxLevel;
-
     if (SvROK(buf) && SvTYPE(SvRV(buf)) == SVt_PVAV)
 	bufAV = (AV*)SvRV(buf);
     else
@@ -433,8 +441,10 @@
 	d = (U8*)SvPVX(dst);
 	while (dlen--)
 	    *d++ = '\0';
-    }
-    else {
+    } else {
+	svp = hv_fetch(selfHV, "level", 5, FALSE);
+	level = svp ? SvIV(*svp) : MaxLevel;
+
 	for (lv = 0; lv < level; lv++) {
 	    New(0, eachlevel[lv], 2 * (1 + buf_len) + 1, U8);
 	    s[lv] = eachlevel[lv];
@@ -551,14 +561,27 @@
 
 
 SV*
-_varCE (vbl, vce)
-    SV* vbl
-    SV* vce
+varCE (self, vce)
+    SV* self;
+    SV* vce;
   PREINIT:
-    SV *dst;
+    SV *dst, *vbl, **svp;
+    HV *selfHV;
     U8 *a, *v, *d;
     STRLEN alen, vlen;
+    bool ig_l2;
+    UV totwt;
   CODE:
+    if (SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV)
+	selfHV = (HV*)SvRV(self);
+    else
+	croak("$self is not a HASHREF.");
+
+    svp = hv_fetch(selfHV, "ignore_level2", 13, FALSE);
+    ig_l2 = svp ? SvTRUE(*svp) : FALSE;
+
+    svp = hv_fetch(selfHV, "variable", 8, FALSE);
+    vbl = svp ? *svp : &PL_sv_no;
     a = (U8*)SvPV(vbl, alen);
     v = (U8*)SvPV(vce, vlen);
 
@@ -569,30 +592,41 @@
     SvCUR_set(dst, vlen);
     d[vlen] = '\0';
 
+    /* primary weight == 0 && secondary weight != 0 */
+    if (ig_l2 && !d[1] && !d[2] && (d[3] || d[4])) {
+	d[3] = d[4] = d[5] = d[6] = '\0';
+    }
+
     /* variable: checked only the first char and the length,
        trusting checkCollator() and %VariableOK in Perl ... */
 
     if (vlen < VCE_Length /* ignore short VCE (unexpected) */
 	||
-	*a == 'n') /* 'non-ignorable' */
+	*a == 'n') /* non-ignorable */
 	1;
     else if (*v) {
 	if (*a == 's') { /* shifted or shift-trimmed */
 	    d[7] = d[1]; /* wt level 1 to 4 */
 	    d[8] = d[2];
-	}
+	} /* else blanked */
+
 	d[1] = d[2] = d[3] = d[4] = d[5] = d[6] = '\0';
     }
     else if (*a == 'b') /* blanked */
 	1;
     else if (*a == 's') { /* shifted or shift-trimmed */
-	if (alen == 7 && (d[1] + d[2] + d[3] + d[4] + d[5] + d[6])) {
-	    d[7] = (U8)(Shift4Wt >> 8);
-	    d[8] = (U8)(Shift4Wt & 0xFF);
+	totwt = d[1] + d[2] + d[3] + d[4] + d[5] + d[6];
+	if (alen == 7 && totwt != 0) { /* shifted */
+	    if (d[1] == 0 && d[2] == 1) { /* XXX: CollationAuxiliary-6.2.0 */
+		d[7] = d[1]; /* wt level 1 to 4 */
+		d[8] = d[2];
+	    } else {
+		d[7] = (U8)(Shift4Wt >> 8);
+		d[8] = (U8)(Shift4Wt & 0xFF);
+	    }
+	} else { /* shift-trimmed or completely ignorable */
+	    d[7] = d[8] = '\0';
 	}
-	else {
-	    d[7] = d[8] = 0;
-	}
     }
     else
 	croak("unknown variable value '%s'", a);
@@ -612,8 +646,8 @@
     U8 *s, *e, *d;
     STRLEN klen, dlen;
     UV uv;
-    IV uca_vers;
-    static char *upperhex = "0123456789ABCDEF";
+    IV uca_vers, sep = 0;
+    static const char *upperhex = "0123456789ABCDEF";
   CODE:
     if (SvROK(self) && SvTYPE(SvRV(self)) == SVt_PVHV)
 	selfHV = (HV*)SvRV(self);
@@ -628,10 +662,13 @@
     s = (U8*)SvPV(key, klen);
 
    /* slightly *longer* than the need, but I'm afraid of miscounting;
-      exactly: (klen / 2) * 5 + MaxLevel * 2 - 1 (excluding '\0')
-         = (klen / 2) * 5 - 1  # FFFF (16bit) and ' ' between 16bit units
-         + (MaxLevel - 1) * 2  # ' ' and '|' for level boundaries
-         + 2                   # '[' and ']'
+      = (klen / 2) * 5 - 1
+             # FFFF and ' ' for each 16bit units but ' ' is less by 1;
+             # ' ' and '|' for level boundaries including the identical level
+       + 2   # '[' and ']'
+       + 1   # '\0'
+       (a) if klen is odd (not expected), maybe more 5 bytes.
+       (b) there is not always the identical level.
    */
     dlen = (klen / 2) * 5 + MaxLevel * 2 + 2;
     dst = newSV(dlen);
@@ -641,7 +678,7 @@
     *d++ = '[';
     for (e = s + klen; s < e; s += 2) {
 	uv = (U16)(*s << 8 | s[1]);
-	if (uv) {
+	if (uv || sep >= MaxLevel) {
 	    if ((d[-1] != '[') && ((9 <= uca_vers) || (d[-1] != '|')))
 		*d++ = ' ';
 	    *d++ = upperhex[ (s[0] >> 4) & 0xF ];
@@ -648,11 +685,11 @@
 	    *d++ = upperhex[  s[0]       & 0xF ];
 	    *d++ = upperhex[ (s[1] >> 4) & 0xF ];
 	    *d++ = upperhex[  s[1]       & 0xF ];
-	}
-	else {
+	} else {
 	    if ((9 <= uca_vers) && (d[-1] != '['))
 		*d++ = ' ';
 	    *d++ = '|';
+	    ++sep;
 	}
     }
     *d++ = ']';


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Collate.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,17 +12,20 @@
 }
 
 WriteMakefile(
-    'INSTALLDIRS'	=> $] >= 5.007002 ? 'perl' : 'site',
-    'NAME'		=> 'Unicode::Collate',
-    'VERSION_FROM'	=> 'Collate.pm', # finds $VERSION
-    'clean'		=> $clean,
-    'PREREQ_PM'	  	=> {
-	Carp		=> 0,
-	constant	=> 0,
-	DynaLoader	=> 0,
-	File::Spec	=> 0,
-	strict		=> 0,
-	Test		=> 0,
-	warnings	=> 0,
+    'AUTHOR'            => 'SADAHIRO Tomoyuki <SADAHIRO at cpan.org>',
+    'ABSTRACT'          => 'Unicode Collation Algorithm',
+    'INSTALLDIRS'       => ($] >= 5.007002 && $] < 5.011) ? 'perl' : 'site',
+                            # see perl5110delta, @INC reorganization
+    'LICENSE'           => 'perl',
+    'NAME'              => 'Unicode::Collate',
+    'VERSION_FROM'      => 'Collate.pm', # finds $VERSION
+    'clean'             => $clean,
+    'PREREQ_PM'         => {
+        Carp            => 0,
+        constant        => 0,
+        DynaLoader      => 0,
+        File::Spec      => 0,
+        strict          => 0,
+        warnings        => 0,
     },
 );


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/README
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-Unicode/Collate version 0.73
+Unicode/Collate version 0.97
 ===============================
 
 NAME
@@ -108,7 +108,7 @@
 AUTHOR, COPYRIGHT AND LICENSE
 
 The Unicode::Collate module for perl was written by SADAHIRO Tomoyuki,
-<SADAHIRO at cpan.org>. This module is Copyright(C) 2001-2011,
+<SADAHIRO at cpan.org>. This module is Copyright(C) 2001-2012,
 SADAHIRO Tomoyuki. Japan. All rights reserved.
 
 This module is free software; you can redistribute it and/or
@@ -115,6 +115,6 @@
 modify it under the same terms as Perl itself.
 
 The file Unicode/Collate/allkeys.txt was copied verbatim
-from http://www.unicode.org/Public/UCA/6.0.0/allkeys.txt
-This file is Copyright (c) 1991-2010 Unicode, Inc. All rights reserved.
+from http://www.unicode.org/Public/UCA/6.2.0/allkeys.txt
+For this file, Copyright (c) 2001-2012 Unicode, Inc.
 Distributed under the Terms of Use in http://www.unicode.org/copyright.html


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/mkheader
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/mkheader	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/mkheader	2013-12-01 21:45:02 UTC (rev 6430)
@@ -38,7 +38,7 @@
 
 {
     my($f, $fh);
-    foreach my $d ('.') {
+    foreach my $d (File::Spec->curdir()) {
 	$f = File::Spec->catfile($d, "Collate", "allkeys.txt");
 	last if open($fh, $f);
 	$f = undef;


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/mkheader
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/altern.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/altern.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/altern.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 37 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..37\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/altern.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/backwds.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/backwds.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/backwds.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 36 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..36\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/backwds.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_b5.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/cjk_b5.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/cjk_b5.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 26 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..28\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -30,6 +38,14 @@
     overrideCJK => \&Unicode::Collate::CJK::Big5::weightBig5
 );
 
+sub hex_sort {
+    my @source = map pack('U', hex $_), split ' ', shift;
+    my @sorted = $collator->sort(@source);
+    return join " ", map sprintf("%04X", unpack 'U', $_), @sorted;
+}
+
+# 1
+
 $collator->change(level => 1);
 
 ok($collator->lt("\x{5159}", "\x{515B}"));
@@ -61,3 +77,12 @@
 ok($collator->lt("\x{20003}", "\x{20004}"));
 ok($collator->lt("\x{20004}", "\x{20005}"));
 
+# 26
+
+ok(hex_sort('4E00 4E8C 4E09 56DB 4E94 516D 4E03 516B 4E5D 5341'),
+            '4E00 4E03 4E5D 4E8C 516B 5341 4E09 4E94 516D 56DB');
+
+ok(hex_sort('4E0C 4E8D 4F5C 5140 554A 5750 57C3 5EA7 963F 9F3D 9F3E 9F44'),
+            '5140 4F5C 5750 963F 57C3 5EA7 554A 9F3E 4E0C 4E8D 9F3D 9F44');
+
+# 28


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_b5.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_gb.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/cjk_gb.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/cjk_gb.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 23 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..25\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -30,6 +38,14 @@
     overrideCJK => \&Unicode::Collate::CJK::GB2312::weightGB2312
 );
 
+sub hex_sort {
+    my @source = map pack('U', hex $_), split ' ', shift;
+    my @sorted = $collator->sort(@source);
+    return join " ", map sprintf("%04X", unpack 'U', $_), @sorted;
+}
+
+# 1
+
 $collator->change(level => 1);
 
 ok($collator->lt("\x{554A}", "\x{963F}"));
@@ -59,3 +75,12 @@
 ok($collator->lt("\x{20003}", "\x{20004}"));
 ok($collator->lt("\x{20004}", "\x{20005}"));
 
+# 23
+
+ok(hex_sort('4E00 4E8C 4E09 56DB 4E94 516D 4E03 516B 4E5D 5341'),
+            '516B 4E8C 4E5D 516D 4E03 4E09 5341 56DB 4E94 4E00');
+
+ok(hex_sort('4E0C 4E8D 4F5C 5140 554A 5750 57C3 5EA7 963F 9F3D 9F3E 9F44'),
+            '554A 963F 57C3 4F5C 5750 5EA7 4E8D 4E0C 5140 9F3D 9F3E 9F44');
+
+# 25


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_gb.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ja.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ja.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ja.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 31 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..33\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -30,6 +38,14 @@
     overrideCJK => \&Unicode::Collate::CJK::JISX0208::weightJISX0208
 );
 
+sub hex_sort {
+    my @source = map pack('U', hex $_), split ' ', shift;
+    my @sorted = $collator->sort(@source);
+    return join " ", map sprintf("%04X", unpack 'U', $_), @sorted;
+}
+
+# 1
+
 $collator->change(level => 1);
 
 # first ten kanji
@@ -58,6 +74,13 @@
 ok($collator->lt("\x{20003}", "\x{20004}"));
 ok($collator->lt("\x{20004}", "\x{20005}"));
 
+# 21
+
+ok(hex_sort('4E00 4E8C 4E09 56DB 4E94 516D 4E03 516B 4E5D 5341'),
+            '4E00 4E5D 4E94 4E09 56DB 4E03 5341 4E8C 516B 516D');
+
+# 22
+
 $collator->change(overrideCJK => undef);
 
 ok($collator->lt("\x{4E00}", "\x{4E01}"));
@@ -72,3 +95,9 @@
 ok($collator->lt("\x{9F9E}", "\x{9F9F}"));
 ok($collator->lt("\x{9F9F}", "\x{9FA0}"));
 
+# 32
+
+ok(hex_sort('4E00 4E8C 4E09 56DB 4E94 516D 4E03 516B 4E5D 5341'),
+            '4E00 4E03 4E09 4E5D 4E8C 4E94 516B 516D 5341 56DB');
+
+# 33


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ja.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ko.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ko.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ko.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 51 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..52\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -29,6 +37,14 @@
     overrideCJK => \&Unicode::Collate::CJK::Korean::weightKorean
 );
 
+sub hex_sort {
+    my @source = map pack('U', hex $_), split ' ', shift;
+    my @sorted = $collator->sort(@source);
+    return join " ", map sprintf("%04X", unpack 'U', $_), @sorted;
+}
+
+# 1
+
 $collator->change(level => 1);
 
 ok($collator->eq("\x{AC00}", "\x{4F3D}"));
@@ -98,3 +114,8 @@
 ok($collator->lt("\x{20004}", "\x{20005}"));
 
 # 51
+
+ok(hex_sort('4E00 4E8C 4E09 56DB 4E94 516D 4E03 516B 4E5D 5341'),
+            '4E5D 516D 56DB 4E09 5341 4E94 4E8C 4E00 4E03 516B');
+
+# 52


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_ko.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_py.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/cjk_py.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/cjk_py.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 25 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..19\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -30,29 +38,27 @@
     overrideCJK => \&Unicode::Collate::CJK::Pinyin::weightPinyin
 );
 
-$collator->change(level => 1);
+sub hex_sort {
+    my @source = map pack('U', hex $_), split ' ', shift;
+    my @sorted = $collator->sort(@source);
+    return join " ", map sprintf("%04X", unpack 'U', $_), @sorted;
+}
 
-ok($collator->lt("\x{5416}", "\x{963F}"));
-ok($collator->lt("\x{963F}", "\x{554A}"));
-ok($collator->lt("\x{554A}", "\x{9515}"));
-ok($collator->lt("\x{9515}", "\x{9312}"));
-ok($collator->lt("\x{9312}", "\x{55C4}"));
-ok($collator->lt("\x{55C4}", "\x{5391}"));
-ok($collator->lt("\x{5391}", "\x{54CE}"));
-ok($collator->lt("\x{54CE}", "\x{54C0}"));
-ok($collator->lt("\x{54C0}", "\x{5509}"));
-ok($collator->lt("\x{5509}", "\x{57C3}"));
+# 1
 
-ok($collator->lt("\x{57C3}", "\x{4E00}"));
-ok($collator->lt("\x{4E00}", "\x{8331}"));
+$collator->change(level => 1);
 
-ok($collator->lt("\x{5EA7}", "\x{888F}"));
-ok($collator->lt("\x{888F}", "\x{505A}"));
-ok($collator->lt("\x{505A}", "\x{8444}"));
-ok($collator->lt("\x{8444}", "\x{84D9}"));
-ok($collator->lt("\x{84D9}", "\x{98F5}"));
-ok($collator->lt("\x{98F5}", "\x{7CF3}"));
-ok($collator->lt("\x{7CF3}", "\x{5497}"));
+ok($collator->lt("\x{963F}", "\x{5730}"));
+ok($collator->lt("\x{5730}", "\x{7ACB}"));
+ok($collator->lt("\x{7ACB}", "\x{4EBA}"));
+ok($collator->lt("\x{4EBA}", "\x{65E5}"));
+ok($collator->lt("\x{65E5}", "\x{4E0A}"));
+ok($collator->lt("\x{4E0A}", "\x{5929}"));
+ok($collator->lt("\x{5929}", "\x{4E0B}"));
+ok($collator->lt("\x{4E0B}", "\x{65BC}"));
+ok($collator->lt("\x{65BC}", "\x{4E2D}"));
+ok($collator->lt("\x{4E2D}", "\x{7AFA}"));
+ok($collator->lt("\x{7AFA}", "\x{5750}"));
 
 # Ext.B
 ok($collator->lt("\x{20000}", "\x{20001}"));
@@ -61,3 +67,12 @@
 ok($collator->lt("\x{20003}", "\x{20004}"));
 ok($collator->lt("\x{20004}", "\x{20005}"));
 
+# 17
+
+ok(hex_sort('4E00 4E8C 4E09 56DB 4E94 516D 4E03 516B 4E5D 5341'),
+            '516B 4E8C 4E5D 516D 4E03 4E09 5341 56DB 4E94 4E00');
+
+ok(hex_sort('4E0C 4E8D 4F5C 5140 554A 5750 57C3 5EA7 963F 9F3D 9F3E 9F44'),
+            '963F 554A 57C3 4E8D 9F3E 4E0C 9F3D 5140 9F44 4F5C 5750 5EA7');
+
+# 19


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_py.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_st.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/cjk_st.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/cjk_st.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 24 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..26\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -30,6 +38,14 @@
     overrideCJK => \&Unicode::Collate::CJK::Stroke::weightStroke
 );
 
+sub hex_sort {
+    my @source = map pack('U', hex $_), split ' ', shift;
+    my @sorted = $collator->sort(@source);
+    return join " ", map sprintf("%04X", unpack 'U', $_), @sorted;
+}
+
+# 1
+
 $collator->change(level => 1);
 
 ok($collator->lt("\x{4E00}", "\x{4E59}"));
@@ -44,9 +60,9 @@
 ok($collator->lt("\x{513F}", "\x{5165}"));
 
 ok($collator->lt("\x{9E1D}", "\x{7069}"));
-ok($collator->lt("\x{7069}", "\x{7C72}"));
-ok($collator->lt("\x{7C72}", "\x{706A}"));
-ok($collator->lt("\x{706A}", "\x{7229}"));
+ok($collator->lt("\x{7069}", "\x{706A}"));
+ok($collator->lt("\x{706A}", "\x{7C72}"));
+ok($collator->lt("\x{7C72}", "\x{7229}"));
 ok($collator->lt("\x{7229}", "\x{9EA4}"));
 ok($collator->lt("\x{9EA4}", "\x{9F7E}"));
 ok($collator->lt("\x{9F7E}", "\x{9F49}"));
@@ -59,3 +75,12 @@
 ok($collator->lt("\x{20003}", "\x{20004}"));
 ok($collator->lt("\x{20004}", "\x{20005}"));
 
+# 24
+
+ok(hex_sort('4E00 4E8C 4E09 56DB 4E94 516D 4E03 516B 4E5D 5341'),
+            '4E00 4E03 4E5D 4E8C 516B 5341 4E09 4E94 516D 56DB');
+
+ok(hex_sort('4E0C 4E8D 4F5C 5140 554A 5750 57C3 5EA7 963F 9F3D 9F3E 9F44'),
+            '4E0C 4E8D 5140 4F5C 5750 963F 57C3 5EA7 554A 9F3D 9F3E 9F44');
+
+# 26


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/cjk_st.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 321 }; # 1 + 40 x @Versions
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..421\n"; } # 1 + 42 x @Versions
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -34,6 +42,7 @@
 # 9FA6..9FBB are CJK UI since UCA_Version 14 (Unicode 4.1).
 # 9FBC..9FC3 are CJK UI since UCA_Version 18 (Unicode 5.1).
 # 9FC4..9FCB are CJK UI since UCA_Version 20 (Unicode 5.2).
+# 9FCC       is  CJK UI since UCA_Version 24 (Unicode 6.1).
 
 # 3400..4DB5   are CJK UI Ext.A since UCA_Version 8  (Unicode 3.0).
 # 20000..2A6D6 are CJK UI Ext.B since UCA_Version 8  (Unicode 3.1).
@@ -40,7 +49,7 @@
 # 2A700..2B734 are CJK UI Ext.C since UCA_Version 20 (Unicode 5.2).
 # 2B740..2B81D are CJK UI Ext.D since UCA_Version 22 (Unicode 6.0).
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26);
 
 for my $v (@Versions) {
     $coll->change(UCA_Version => $v);
@@ -54,7 +63,8 @@
     ok($coll->cmp("\x{3400}", "\x{9FC3}") == ($v >= 18 ? 1 : -1)); # new
     ok($coll->cmp("\x{3400}", "\x{9FC4}") == ($v >= 20 ? 1 : -1)); # new
     ok($coll->cmp("\x{3400}", "\x{9FCB}") == ($v >= 20 ? 1 : -1)); # new
-    ok($coll->cmp("\x{3400}", "\x{9FCC}") == -1); # na
+    ok($coll->cmp("\x{3400}", "\x{9FCC}") == ($v >= 24 ? 1 : -1)); # new
+    ok($coll->cmp("\x{3400}", "\x{9FCD}") == -1); # na
     ok($coll->cmp("\x{3400}", "\x{9FFF}") == -1); # na
 
     # UI < UI
@@ -65,8 +75,9 @@
     ok($coll->cmp("\x{9FBC}", "\x{9FC3}") == -1); # new < new
     ok($coll->cmp("\x{9FC3}", "\x{9FC4}") == -1); # new < new
     ok($coll->cmp("\x{9FC4}", "\x{9FCB}") == -1); # new < new
-    ok($coll->cmp("\x{9FCB}", "\x{9FCC}") == -1); # new < na
-    ok($coll->cmp("\x{9FCC}", "\x{9FFF}") == -1); # na < na
+    ok($coll->cmp("\x{9FCB}", "\x{9FCC}") == -1); # new < new
+    ok($coll->cmp("\x{9FCC}", "\x{9FCD}") == -1); # new < na
+    ok($coll->cmp("\x{9FCD}", "\x{9FFF}") == -1); # na < na
 
     # Ext.A < Ext.B
     ok($coll->cmp("\x{3400}", "\x{20000}") == -1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/cjkrange.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 561 }; # 1 + 70 x @Versions
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..701\n"; } # 1 + 70 x @Versions
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -22,7 +30,7 @@
 
 #########################
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26);
 
 # 12 compatibility ideographs are treated as unified ideographs:
 # FA0E, FA0F, FA11, FA13, FA14, FA1F, FA21, FA23, FA24, FA27, FA28, FA29.


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/compatui.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/contract.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/contract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/contract.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 74 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..74\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -150,7 +158,7 @@
 
 # 40
 
-# suppress contractions
+# suppress contractions (not affected)
 
 my $kjeSup = Unicode::Collate->new(
     level => 1,
@@ -160,10 +168,10 @@
     suppress => [0x400..0x45F],
 );
 
-ok($kjeSup->eq("\x{43A}", "\x{43A}\x{301}"));
-ok($kjeSup->gt("\x{45C}", "\x{43A}\x{301}"));
-ok($kjeSup->eq("\x{41A}", "\x{41A}\x{301}"));
-ok($kjeSup->gt("\x{40C}", "\x{41A}\x{301}"));
+ok($kjeSup->lt("\x{43A}", "\x{43A}\x{301}"));
+ok($kjeSup->eq("\x{45C}", "\x{43A}\x{301}"));
+ok($kjeSup->lt("\x{41A}", "\x{41A}\x{301}"));
+ok($kjeSup->eq("\x{40C}", "\x{41A}\x{301}"));
 
 # 44
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/contract.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/default.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/default.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/default.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 56 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..70\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -32,8 +40,6 @@
 my $hiragana = "\x{3042}\x{3044}";
 my $katakana = "\x{30A2}\x{30A4}";
 
-##### 2..11
-
 my $Collator = Unicode::Collate->new(
   normalization => undef,
 );
@@ -45,6 +51,8 @@
 ok($Collator->version,          $Collator->Base_Unicode_Version);
 ok($Collator->version(),        $Collator->Base_Unicode_Version());
 
+# 6
+
 ok($Collator->cmp("", ""), 0);
 ok($Collator->eq("", ""));
 ok($Collator->cmp("", "perl"), -1);
@@ -59,7 +67,7 @@
   join(':',                  qw/ ACA ACHA ACIA ACKA ADA / ),
 );
 
-##### 12..22
+# 11
 
 ok($Collator->cmp("A$acute", $A_acute), 0); # @version 3.1.1 (prev: -1)
 ok($Collator->cmp($a_acute, $A_acute), -1);
@@ -77,7 +85,7 @@
 ok($Collator->lt("A", $a_acute));
 ok($Collator->lt($a_acute, $A_acute));
 
-##### 23..29
+# 22
 
 $Collator->change(level => 2);
 
@@ -90,7 +98,7 @@
 ok( $Collator->eq($hiragana, $katakana) );
 ok( $Collator->ge($hiragana, $katakana) );
 
-##### 30..35
+# 29
 
 # hangul
 ok( $Collator->eq("a\x{AC00}b", "a\x{1100}\x{1161}b") );
@@ -100,7 +108,7 @@
 ok( $Collator->gt("a\x{D7A3}b", "a\x{C544}b") );
 ok( $Collator->lt("a\x{C544}b", "a\x{30A2}b") ); # hangul < hiragana
 
-##### 36..44
+# 35
 
 $Collator->change(%old_level, katakana_before_hiragana => 1);
 
@@ -115,7 +123,7 @@
 ok( $Collator->gt($hiragana, $katakana) );
 ok( $Collator->ge($hiragana, $katakana) );
 
-##### 45..50
+# 44
 
 $Collator->change(upper_before_lower => 1);
 
@@ -126,7 +134,7 @@
 ok( $Collator->ge($hiragana, $katakana), 1);
 ok( $Collator->gt($hiragana, $katakana), 1);
 
-##### 51..52
+# 50
 
 $Collator->change(katakana_before_hiragana => 0);
 
@@ -133,7 +141,7 @@
 ok( $Collator->cmp("abc", "ABC"), 1);
 ok( $Collator->cmp($hiragana, $katakana), -1);
 
-##### 53..54
+# 52
 
 $Collator->change(upper_before_lower => 0);
 
@@ -142,3 +150,44 @@
 ok( $Collator->cmp($hiragana, $katakana), -1);
 ok( $Collator->lt($hiragana, $katakana) );
 
+# 56
+
+$Collator->change(level => 1);
+
+my $Tailored = Unicode::Collate->new(
+  normalization => undef,
+  suppress => [0x400..0x4FF],
+  level => 1,
+  entry => '0000 ; [.FFFE.0020.0005.0000]',
+);
+
+# Ka vs Kje
+ok($Collator->gt("\x{45C}", "\x{43A}"));
+ok($Collator->gt("\x{40C}", "\x{41A}"));
+ok($Tailored->gt("\x{45C}", "\x{43A}"));
+ok($Tailored->gt("\x{40C}", "\x{41A}"));
+
+# 60
+
+ok($Collator->eq("abc\0", "abc"));
+ok($Tailored->gt("abc\0", "abc\x{4E00}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+
+# 64
+
+$Tailored->change(UCA_Version => 9);
+
+ok($Tailored->gt("abc\0", "abc\x{4E00}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+
+# 67
+
+$Tailored->change(UCA_Version => 8);
+
+ok($Tailored->gt("abc\0", "abc\x{4E00}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+ok($Tailored->gt("abc\0", "abc\x{FFFD}"));
+
+# 70


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/default.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 401 }; # 1 + 50 x @Versions
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..501\n"; } # 1 + 50 x @Versions
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -22,7 +30,7 @@
 
 #########################
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26);
 
 for my $v (@Versions) {
     ok(Unicode::Collate::getHST(0x0000, $v), '');


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/hangtype.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/hangul.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/hangul.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/hangul.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 72 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..72\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/hangul.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/ignor.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/ignor.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/ignor.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 41 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..41\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -119,10 +127,10 @@
 ok($L3ignorable->lt("\cA", "!"));
 ok($L3ignorable->lt("\x{591}", "!"));
 ok($L3ignorable->eq("\cA", "\x{591}"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\cA\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\x{0591}\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09C7}\x{1D165}\x{09BE}A"));
-ok($L3ignorable->eq("\x{09C7}\x{09BE}A", "\x{09CB}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\cA\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\x{591}\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9C7}\x{1D165}\x{9BE}A"));
+ok($L3ignorable->eq("\x{9C7}\x{9BE}A", "\x{9CB}A"));
 ok($L3ignorable->lt("\x{1D1BB}", "\x{1D1BC}"));
 ok($L3ignorable->eq("\x{1D1BB}", "\x{1D1B9}"));
 ok($L3ignorable->eq("\x{1D1BC}", "\x{1D1BA}"));
@@ -148,14 +156,14 @@
 
 ok($c->gt("ocho", "oc\x00\x00ho"));
 ok($c->gt("ocho", "oc\cAho"));
-ok($c->gt("ocho", "oc\x{034F}ho"));
-ok($c->gt("ocio", "oc\x{034F}ho"));
-ok($c->lt("ocgo", "oc\x{034F}ho"));
-ok($c->lt("oceo", "oc\x{034F}ho"));
+ok($c->gt("ocho", "oc\x{34F}ho"));
+ok($c->gt("ocio", "oc\x{34F}ho"));
+ok($c->lt("ocgo", "oc\x{34F}ho"));
+ok($c->lt("oceo", "oc\x{34F}ho"));
 
 ok($c->viewSortKey("ocho"),         "[0B4B 0A3F 0B4B | | |]");
 ok($c->viewSortKey("oc\x00\x00ho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
 ok($c->viewSortKey("oc\cAho"),      "[0B4B 0A3D 0AB9 0B4B | | |]");
-ok($c->viewSortKey("oc\x{034F}ho"), "[0B4B 0A3D 0AB9 0B4B | | |]");
+ok($c->viewSortKey("oc\x{34F}ho"),  "[0B4B 0A3D 0AB9 0B4B | | |]");
 
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/ignor.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,9 +11,6 @@
     }
 }
 
-use Test;
-use strict;
-use warnings;
 
 BEGIN {
     use Unicode::Collate;
@@ -26,7 +23,18 @@
     }
 }
 
-BEGIN { plan tests => 65 };
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..65\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
 
 ok(1);
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/illegal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/illegalp.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/illegalp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/illegalp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,12 +11,20 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 17 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..17\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
 
+
 ok(1);
 
 #


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/illegalp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/index.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/index.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/index.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,17 +11,23 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 71 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..91\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
 
-#########################
-
 our $IsEBCDIC = ord("A") != 0x41;
 
 my $Collator = Unicode::Collate->new(
@@ -29,7 +35,7 @@
   normalization => undef,
 );
 
-##############
+##### 1
 
 my %old_level = $Collator->change(level => 2);
 
@@ -56,7 +62,7 @@
 
 ok($str, $orig);
 
-##############
+##### 3
 
 my $match;
 
@@ -118,7 +124,7 @@
 }
 ok($match, $ret);
 
-##############
+##### 9
 
 $Collator->change(level => 1);
 
@@ -157,7 +163,7 @@
 }
 ok($match, undef);
 
-##############
+##### 13
 
 $Collator->change(level => 1);
 
@@ -193,7 +199,7 @@
 }
 ok($match, $ret);
 
-##############
+##### 16
 
 $Collator->change(level => 1);
 
@@ -238,7 +244,7 @@
 
 $Collator->change(%old_level);
 
-##############
+##### 22
 
 my @ret;
 
@@ -310,7 +316,7 @@
 
 $Collator->change(%old_level);
 
-##############
+##### 38
 
 $Collator->change(level => 1);
 
@@ -341,6 +347,8 @@
 ok($str, "<b>Camel</b> donkey zebra <b>came\x{301}l</b> "
 	. "<b>CAMEL</b> horse <b>cAm\0E\0L</b>...");
 
+##### 47
+
 # http://www.xray.mpe.mpg.de/mailing-lists/perl-unicode/2010-09/msg00014.html
 # when the substring includes an ignorable element like a space...
 
@@ -368,6 +376,8 @@
 $Collator->gsubst($str, "ca\x{300}melho\x{302}rse", sub { "=$_[0]=" });
 ok($str, "Camel donkey zebra camex{301}l =CAMEL horse= =cAmEL-horse=...");
 
+##### 53
+
 $Collator->change(level => 3);
 
 $str = "P\cBe\x{300}\cBrl and PERL.";
@@ -392,7 +402,7 @@
 
 $Collator->change(%old_level);
 
-##############
+##### 61
 
 $str = "Perl and Camel";
 $ret = $Collator->gsubst($str, "\cA\cA\0", "AB");
@@ -414,7 +424,7 @@
 ok($ret, 2);
 ok($str, "ABCABCP");
 
-##############
+##### 69
 
 # Shifted; ignorable after variable
 
@@ -426,3 +436,99 @@
 ($ret) = $Collator->match("A?\x{300}!\x{301}B\x{315}", "?!");
 ok($ret, undef);
 
+##### 71
+
+# Now preprocess is defined.
+
+$Collator->change(preprocess => sub {''});
+
+eval { $Collator->index("", "") };
+ok($@ && $@ =~ /Don't use Preprocess with index\(\)/);
+
+eval { $Collator->index("a", "a") };
+ok($@ && $@ =~ /Don't use Preprocess with index\(\)/);
+
+eval { $Collator->match("", "") };
+ok($@ && $@ =~ /Don't use Preprocess with.*match\(\)/);
+
+eval { $Collator->match("a", "a") };
+ok($@ && $@ =~ /Don't use Preprocess with.*match\(\)/);
+
+$Collator->change(preprocess => sub { uc shift });
+
+eval { $Collator->index("", "") };
+ok($@ && $@ =~ /Don't use Preprocess with index\(\)/);
+
+eval { $Collator->index("a", "a") };
+ok($@ && $@ =~ /Don't use Preprocess with index\(\)/);
+
+eval { $Collator->match("", "") };
+ok($@ && $@ =~ /Don't use Preprocess with.*match\(\)/);
+
+eval { $Collator->match("a", "a") };
+ok($@ && $@ =~ /Don't use Preprocess with.*match\(\)/);
+
+##### 79
+
+eval { require Unicode::Normalize };
+my $has_norm = !$@;
+
+if ($has_norm) {
+    # Now preprocess and normalization are defined.
+
+    $Collator->change(normalization => 'NFD');
+
+    eval { $Collator->index("", "") };
+    ok($@ && $@ =~ /Don't use Preprocess with index\(\)/);
+
+    eval { $Collator->index("a", "a") };
+    ok($@ && $@ =~ /Don't use Preprocess with index\(\)/);
+
+    eval { $Collator->match("", "") };
+    ok($@ && $@ =~ /Don't use Preprocess with.*match\(\)/);
+
+    eval { $Collator->match("a", "a") };
+    ok($@ && $@ =~ /Don't use Preprocess with.*match\(\)/);
+} else {
+    ok(1) for 1..4;
+}
+
+$Collator->change(preprocess => undef);
+
+if ($has_norm) {
+    # Now only normalization is defined.
+
+    eval { $Collator->index("", "") };
+    ok($@ && $@ =~ /Don't use Normalization with index\(\)/);
+
+    eval { $Collator->index("a", "a") };
+    ok($@ && $@ =~ /Don't use Normalization with index\(\)/);
+
+    eval { $Collator->match("", "") };
+    ok($@ && $@ =~ /Don't use Normalization with.*match\(\)/);
+
+    eval { $Collator->match("a", "a") };
+    ok($@ && $@ =~ /Don't use Normalization with.*match\(\)/);
+
+    $Collator->change(normalization => undef);
+} else {
+    ok(1) for 1..4;
+}
+
+##### 87
+
+# Now preprocess and normalization are undef.
+
+eval { $Collator->index("", "") };
+ok(!$@);
+
+eval { $Collator->index("a", "a") };
+ok(!$@);
+
+eval { $Collator->match("", "") };
+ok(!$@);
+
+eval { $Collator->match("a", "a") };
+ok(!$@);
+
+##### 91


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/index.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 8 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..8\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_af.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ar.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ar.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 8 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..30\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -30,13 +38,40 @@
 $objAr->change(level => 1);
 
 ok($objAr->eq("\x{62A}", "\x{629}"));
-ok($objAr->eq("\x{62A}", "\x{FE93}"));
-ok($objAr->eq("\x{62A}", "\x{FE94}"));
+ok($objAr->eq("\x{64A}", "\x{649}"));
 
+# 4
+
+$objAr->change(level => 2);
+
+ok($objAr->lt("\x{62A}", "\x{629}"));
+ok($objAr->eq("\x{629}", "\x{FE94}"));
+ok($objAr->eq("\x{FE94}","\x{FE93}"));
+
+ok($objAr->lt("\x{64A}", "\x{649}"));
+ok($objAr->eq("\x{649}", "\x{FBE8}"));
+ok($objAr->eq("\x{FBE8}","\x{FBE9}"));
+ok($objAr->eq("\x{FBE9}","\x{FEF0}"));
+ok($objAr->eq("\x{FEF0}","\x{FEEF}"));
+ok($objAr->eq("\x{FEEF}","\x{FC90}"));
+ok($objAr->eq("\x{FC90}","\x{FC5D}"));
+
+# 14
+
 $objAr->change(level => 3);
 
-ok($objAr->eq("\x{62A}", "\x{629}"));
-ok($objAr->eq("\x{62A}", "\x{FE93}"));
-ok($objAr->eq("\x{62A}", "\x{FE94}"));
+for my $up_lo (0, 1) {
+  $objAr->change(upper_before_lower => $up_lo);
 
-# 8
+  ok($objAr->lt("\x{629}", "\x{FE94}"));
+  ok($objAr->lt("\x{FE94}","\x{FE93}"));
+
+  ok($objAr->lt("\x{649}", "\x{FBE8}"));
+  ok($objAr->lt("\x{FBE8}","\x{FBE9}"));
+  ok($objAr->lt("\x{FBE9}","\x{FEF0}"));
+  ok($objAr->lt("\x{FEF0}","\x{FEEF}"));
+  ok($objAr->lt("\x{FEEF}","\x{FC90}"));
+  ok($objAr->lt("\x{FC90}","\x{FC5D}"));
+}
+
+# 30


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 72 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..72\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_az.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_be.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_be.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_be.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 130 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..189\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,37 +37,56 @@
 
 $objBe->change(level => 1);
 
-ok($objBe->gt("\x{4E5}", "\x{438}"));
-ok($objBe->gt("\x{4E4}", "\x{418}"));
-ok($objBe->gt("\x{439}", "\x{438}"));
-ok($objBe->gt("\x{419}", "\x{418}"));
+ok($objBe->gt("\x{451}", "\x{435}"));
+ok($objBe->lt("\x{451}", "\x{454}"));
 
-# 6
+# 4
 
+ok($objBe->gt("\x{4E5}", "\x{438}")); # not suppressed
+ok($objBe->gt("\x{4E4}", "\x{418}")); # not suppressed
+ok($objBe->gt("\x{439}", "\x{438}")); # not suppressed
+ok($objBe->gt("\x{419}", "\x{418}")); # not suppressed
+ok($objBe->gt("\x{45E}", "\x{443}")); # not suppressed
+ok($objBe->gt("\x{40E}", "\x{423}")); # not suppressed
+ok($objBe->gt("\x{4F1}", "\x{443}")); # not suppressed
+ok($objBe->gt("\x{4F0}", "\x{423}")); # not suppressed
+ok($objBe->gt("\x{4F3}", "\x{443}")); # not suppressed
+ok($objBe->gt("\x{4F2}", "\x{423}")); # not suppressed
+
+# 14
+
 ok($objBe->eq("\x{4D1}", "\x{430}"));
 ok($objBe->eq("\x{4D0}", "\x{410}"));
 ok($objBe->eq("\x{4D3}", "\x{430}"));
 ok($objBe->eq("\x{4D2}", "\x{410}"));
+ok($objBe->eq("\x{4DB}", "\x{4D9}"));
+ok($objBe->eq("\x{4DA}", "\x{4D8}"));
 ok($objBe->eq("\x{453}", "\x{433}"));
 ok($objBe->eq("\x{403}", "\x{413}"));
+ok($objBe->eq("\x{450}", "\x{435}")); # not contraction
+ok($objBe->eq("\x{400}", "\x{415}")); # not contraction
 ok($objBe->eq("\x{4D7}", "\x{435}"));
 ok($objBe->eq("\x{4D6}", "\x{415}"));
+ok($objBe->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objBe->eq("\x{4C1}", "\x{416}")); # not contraction
 ok($objBe->eq("\x{4DD}", "\x{436}"));
 ok($objBe->eq("\x{4DC}", "\x{416}"));
 ok($objBe->eq("\x{4DF}", "\x{437}"));
 ok($objBe->eq("\x{4DE}", "\x{417}"));
+ok($objBe->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objBe->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objBe->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objBe->eq("\x{4E2}", "\x{418}")); # not contraction
 ok($objBe->eq("\x{457}", "\x{456}"));
 ok($objBe->eq("\x{407}", "\x{406}"));
 ok($objBe->eq("\x{4E7}", "\x{43E}"));
 ok($objBe->eq("\x{4E6}", "\x{41E}"));
+ok($objBe->eq("\x{4EB}", "\x{4E9}"));
+ok($objBe->eq("\x{4EA}", "\x{4E8}"));
 ok($objBe->eq("\x{45C}", "\x{43A}"));
 ok($objBe->eq("\x{40C}", "\x{41A}"));
-ok($objBe->eq("\x{45E}", "\x{443}"));
-ok($objBe->eq("\x{40E}", "\x{423}"));
-ok($objBe->eq("\x{4F1}", "\x{443}"));
-ok($objBe->eq("\x{4F0}", "\x{423}"));
-ok($objBe->eq("\x{4F3}", "\x{443}"));
-ok($objBe->eq("\x{4F2}", "\x{423}"));
+ok($objBe->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objBe->eq("\x{4EE}", "\x{423}")); # not contraction
 ok($objBe->eq("\x{4F5}", "\x{447}"));
 ok($objBe->eq("\x{4F4}", "\x{427}"));
 ok($objBe->eq("\x{4F9}", "\x{44B}"));
@@ -66,35 +93,49 @@
 ok($objBe->eq("\x{4F8}", "\x{42B}"));
 ok($objBe->eq("\x{4ED}", "\x{44D}"));
 ok($objBe->eq("\x{4EC}", "\x{42D}"));
+ok($objBe->eq("\x{477}", "\x{475}"));
+ok($objBe->eq("\x{476}", "\x{474}"));
 
-# 36
+# 54
 
 $objBe->change(level => 2);
 
+ok($objBe->eq("\x{451}", "\x{401}"));
+
+# 55
+
 ok($objBe->gt("\x{4D1}", "\x{430}"));
 ok($objBe->gt("\x{4D0}", "\x{410}"));
 ok($objBe->gt("\x{4D3}", "\x{430}"));
 ok($objBe->gt("\x{4D2}", "\x{410}"));
+ok($objBe->gt("\x{4DB}", "\x{4D9}"));
+ok($objBe->gt("\x{4DA}", "\x{4D8}"));
 ok($objBe->gt("\x{453}", "\x{433}"));
 ok($objBe->gt("\x{403}", "\x{413}"));
+ok($objBe->gt("\x{450}", "\x{435}")); # not contraction
+ok($objBe->gt("\x{400}", "\x{415}")); # not contraction
 ok($objBe->gt("\x{4D7}", "\x{435}"));
 ok($objBe->gt("\x{4D6}", "\x{415}"));
+ok($objBe->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objBe->gt("\x{4C1}", "\x{416}")); # not contraction
 ok($objBe->gt("\x{4DD}", "\x{436}"));
 ok($objBe->gt("\x{4DC}", "\x{416}"));
 ok($objBe->gt("\x{4DF}", "\x{437}"));
 ok($objBe->gt("\x{4DE}", "\x{417}"));
+ok($objBe->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objBe->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objBe->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objBe->gt("\x{4E2}", "\x{418}")); # not contraction
 ok($objBe->gt("\x{457}", "\x{456}"));
 ok($objBe->gt("\x{407}", "\x{406}"));
 ok($objBe->gt("\x{4E7}", "\x{43E}"));
 ok($objBe->gt("\x{4E6}", "\x{41E}"));
+ok($objBe->gt("\x{4EB}", "\x{4E9}"));
+ok($objBe->gt("\x{4EA}", "\x{4E8}"));
 ok($objBe->gt("\x{45C}", "\x{43A}"));
 ok($objBe->gt("\x{40C}", "\x{41A}"));
-ok($objBe->gt("\x{45E}", "\x{443}"));
-ok($objBe->gt("\x{40E}", "\x{423}"));
-ok($objBe->gt("\x{4F1}", "\x{443}"));
-ok($objBe->gt("\x{4F0}", "\x{423}"));
-ok($objBe->gt("\x{4F3}", "\x{443}"));
-ok($objBe->gt("\x{4F2}", "\x{423}"));
+ok($objBe->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objBe->gt("\x{4EE}", "\x{423}")); # not contraction
 ok($objBe->gt("\x{4F5}", "\x{447}"));
 ok($objBe->gt("\x{4F4}", "\x{427}"));
 ok($objBe->gt("\x{4F9}", "\x{44B}"));
@@ -101,77 +142,79 @@
 ok($objBe->gt("\x{4F8}", "\x{42B}"));
 ok($objBe->gt("\x{4ED}", "\x{44D}"));
 ok($objBe->gt("\x{4EC}", "\x{42D}"));
+ok($objBe->gt("\x{477}", "\x{475}"));
+ok($objBe->gt("\x{476}", "\x{474}"));
 
-# 66
+# 95
 
 $objBe->change(level => 3);
 
-ok($objBe->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objBe->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objBe->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objBe->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objBe->eq("\x{453}", "\x{433}\x{301}"));
-ok($objBe->eq("\x{403}", "\x{413}\x{301}"));
-ok($objBe->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objBe->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objBe->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objBe->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objBe->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objBe->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objBe->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objBe->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objBe->eq("\x{457}", "\x{456}\x{308}"));
-ok($objBe->eq("\x{407}", "\x{406}\x{308}"));
-ok($objBe->eq("\x{439}", "\x{438}\x{306}"));
-ok($objBe->eq("\x{419}", "\x{418}\x{306}"));
-ok($objBe->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objBe->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objBe->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objBe->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objBe->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objBe->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objBe->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objBe->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objBe->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objBe->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objBe->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objBe->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objBe->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objBe->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objBe->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objBe->eq("\x{4EC}", "\x{42D}\x{308}"));
+ok($objBe->lt("\x{451}", "\x{401}"));
 
-# 100
+# 96
 
-ok($objBe->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objBe->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objBe->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objBe->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objBe->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objBe->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objBe->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objBe->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objBe->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objBe->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objBe->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objBe->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objBe->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objBe->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objBe->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objBe->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objBe->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objBe->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objBe->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objBe->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objBe->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objBe->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objBe->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objBe->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objBe->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objBe->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objBe->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objBe->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objBe->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objBe->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+ok($objBe->eq("\x{451}", "\x{435}\x{308}"));
+ok($objBe->eq("\x{401}", "\x{415}\x{308}"));
+ok($objBe->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
+ok($objBe->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
+ok($objBe->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
+ok($objBe->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
+ok($objBe->eq("\x{45E}", "\x{443}\x{306}")); # not suppressed
+ok($objBe->eq("\x{40E}", "\x{423}\x{306}")); # not suppressed
+ok($objBe->eq("\x{4F1}", "\x{443}\x{308}")); # not suppressed
+ok($objBe->eq("\x{4F0}", "\x{423}\x{308}")); # not suppressed
+ok($objBe->eq("\x{4F3}", "\x{443}\x{30B}")); # not suppressed
+ok($objBe->eq("\x{4F2}", "\x{423}\x{30B}")); # not suppressed
 
-# 130
+# 108
+
+for my $i ("", "\0") {
+  ok($objBe->eq("\x{4D1}", "\x{430}$i\x{306}"));
+  ok($objBe->eq("\x{4D0}", "\x{410}$i\x{306}"));
+  ok($objBe->eq("\x{4D3}", "\x{430}$i\x{308}"));
+  ok($objBe->eq("\x{4D2}", "\x{410}$i\x{308}"));
+  ok($objBe->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+  ok($objBe->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+  ok($objBe->eq("\x{453}", "\x{433}$i\x{301}"));
+  ok($objBe->eq("\x{403}", "\x{413}$i\x{301}"));
+  ok($objBe->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+  ok($objBe->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+  ok($objBe->eq("\x{4D7}", "\x{435}$i\x{306}"));
+  ok($objBe->eq("\x{4D6}", "\x{415}$i\x{306}"));
+  ok($objBe->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+  ok($objBe->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+  ok($objBe->eq("\x{4DD}", "\x{436}$i\x{308}"));
+  ok($objBe->eq("\x{4DC}", "\x{416}$i\x{308}"));
+  ok($objBe->eq("\x{4DF}", "\x{437}$i\x{308}"));
+  ok($objBe->eq("\x{4DE}", "\x{417}$i\x{308}"));
+  ok($objBe->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+  ok($objBe->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+  ok($objBe->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+  ok($objBe->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+  ok($objBe->eq("\x{457}", "\x{456}$i\x{308}"));
+  ok($objBe->eq("\x{407}", "\x{406}$i\x{308}"));
+  ok($objBe->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+  ok($objBe->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+  ok($objBe->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+  ok($objBe->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+  ok($objBe->eq("\x{45C}", "\x{43A}$i\x{301}"));
+  ok($objBe->eq("\x{40C}", "\x{41A}$i\x{301}"));
+  ok($objBe->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+  ok($objBe->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+  ok($objBe->eq("\x{4F5}", "\x{447}$i\x{308}"));
+  ok($objBe->eq("\x{4F4}", "\x{427}$i\x{308}"));
+  ok($objBe->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+  ok($objBe->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+  ok($objBe->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+  ok($objBe->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+  ok($objBe->eq("\x{477}", "\x{475}$i\x{30F}"));
+  ok($objBe->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
+
+# 188
+
+$objBe->change(upper_before_lower => 1);
+
+ok($objBe->gt("\x{451}", "\x{401}"));
+
+# 189


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_be.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_bg.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_bg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_bg.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 130 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..202\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,10 +37,10 @@
 
 $objBg->change(level => 1);
 
-ok($objBg->gt("\x{4E5}", "\x{438}"));
-ok($objBg->gt("\x{4E4}", "\x{418}"));
-ok($objBg->gt("\x{439}", "\x{438}"));
-ok($objBg->gt("\x{419}", "\x{418}"));
+ok($objBg->gt("\x{4E5}", "\x{438}")); # not suppressed
+ok($objBg->gt("\x{4E4}", "\x{418}")); # not suppressed
+ok($objBg->gt("\x{439}", "\x{438}")); # not suppressed
+ok($objBg->gt("\x{419}", "\x{418}")); # not suppressed
 
 # 6
 
@@ -40,20 +48,36 @@
 ok($objBg->eq("\x{4D0}", "\x{410}"));
 ok($objBg->eq("\x{4D3}", "\x{430}"));
 ok($objBg->eq("\x{4D2}", "\x{410}"));
+ok($objBg->eq("\x{4DB}", "\x{4D9}"));
+ok($objBg->eq("\x{4DA}", "\x{4D8}"));
 ok($objBg->eq("\x{453}", "\x{433}"));
 ok($objBg->eq("\x{403}", "\x{413}"));
+ok($objBg->eq("\x{450}", "\x{435}")); # not contraction
+ok($objBg->eq("\x{400}", "\x{415}")); # not contraction
+ok($objBg->eq("\x{451}", "\x{435}")); # not contraction
+ok($objBg->eq("\x{401}", "\x{415}")); # not contraction
 ok($objBg->eq("\x{4D7}", "\x{435}"));
 ok($objBg->eq("\x{4D6}", "\x{415}"));
+ok($objBg->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objBg->eq("\x{4C1}", "\x{416}")); # not contraction
 ok($objBg->eq("\x{4DD}", "\x{436}"));
 ok($objBg->eq("\x{4DC}", "\x{416}"));
 ok($objBg->eq("\x{4DF}", "\x{437}"));
 ok($objBg->eq("\x{4DE}", "\x{417}"));
+ok($objBg->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objBg->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objBg->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objBg->eq("\x{4E2}", "\x{418}")); # not contraction
 ok($objBg->eq("\x{457}", "\x{456}"));
 ok($objBg->eq("\x{407}", "\x{406}"));
 ok($objBg->eq("\x{4E7}", "\x{43E}"));
 ok($objBg->eq("\x{4E6}", "\x{41E}"));
+ok($objBg->eq("\x{4EB}", "\x{4E9}"));
+ok($objBg->eq("\x{4EA}", "\x{4E8}"));
 ok($objBg->eq("\x{45C}", "\x{43A}"));
 ok($objBg->eq("\x{40C}", "\x{41A}"));
+ok($objBg->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objBg->eq("\x{4EE}", "\x{423}")); # not contraction
 ok($objBg->eq("\x{45E}", "\x{443}"));
 ok($objBg->eq("\x{40E}", "\x{423}"));
 ok($objBg->eq("\x{4F1}", "\x{443}"));
@@ -66,8 +90,10 @@
 ok($objBg->eq("\x{4F8}", "\x{42B}"));
 ok($objBg->eq("\x{4ED}", "\x{44D}"));
 ok($objBg->eq("\x{4EC}", "\x{42D}"));
+ok($objBg->eq("\x{477}", "\x{475}"));
+ok($objBg->eq("\x{476}", "\x{474}"));
 
-# 36
+# 54
 
 $objBg->change(level => 2);
 
@@ -75,20 +101,36 @@
 ok($objBg->gt("\x{4D0}", "\x{410}"));
 ok($objBg->gt("\x{4D3}", "\x{430}"));
 ok($objBg->gt("\x{4D2}", "\x{410}"));
+ok($objBg->gt("\x{4DB}", "\x{4D9}"));
+ok($objBg->gt("\x{4DA}", "\x{4D8}"));
 ok($objBg->gt("\x{453}", "\x{433}"));
 ok($objBg->gt("\x{403}", "\x{413}"));
+ok($objBg->gt("\x{450}", "\x{435}")); # not contraction
+ok($objBg->gt("\x{400}", "\x{415}")); # not contraction
+ok($objBg->gt("\x{451}", "\x{435}")); # not contraction
+ok($objBg->gt("\x{401}", "\x{415}")); # not contraction
 ok($objBg->gt("\x{4D7}", "\x{435}"));
 ok($objBg->gt("\x{4D6}", "\x{415}"));
+ok($objBg->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objBg->gt("\x{4C1}", "\x{416}")); # not contraction
 ok($objBg->gt("\x{4DD}", "\x{436}"));
 ok($objBg->gt("\x{4DC}", "\x{416}"));
 ok($objBg->gt("\x{4DF}", "\x{437}"));
 ok($objBg->gt("\x{4DE}", "\x{417}"));
+ok($objBg->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objBg->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objBg->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objBg->gt("\x{4E2}", "\x{418}")); # not contraction
 ok($objBg->gt("\x{457}", "\x{456}"));
 ok($objBg->gt("\x{407}", "\x{406}"));
 ok($objBg->gt("\x{4E7}", "\x{43E}"));
 ok($objBg->gt("\x{4E6}", "\x{41E}"));
+ok($objBg->gt("\x{4EB}", "\x{4E9}"));
+ok($objBg->gt("\x{4EA}", "\x{4E8}"));
 ok($objBg->gt("\x{45C}", "\x{43A}"));
 ok($objBg->gt("\x{40C}", "\x{41A}"));
+ok($objBg->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objBg->gt("\x{4EE}", "\x{423}")); # not contraction
 ok($objBg->gt("\x{45E}", "\x{443}"));
 ok($objBg->gt("\x{40E}", "\x{423}"));
 ok($objBg->gt("\x{4F1}", "\x{443}"));
@@ -101,77 +143,69 @@
 ok($objBg->gt("\x{4F8}", "\x{42B}"));
 ok($objBg->gt("\x{4ED}", "\x{44D}"));
 ok($objBg->gt("\x{4EC}", "\x{42D}"));
+ok($objBg->gt("\x{477}", "\x{475}"));
+ok($objBg->gt("\x{476}", "\x{474}"));
 
-# 66
+# 102
 
 $objBg->change(level => 3);
 
-ok($objBg->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objBg->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objBg->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objBg->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objBg->eq("\x{453}", "\x{433}\x{301}"));
-ok($objBg->eq("\x{403}", "\x{413}\x{301}"));
-ok($objBg->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objBg->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objBg->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objBg->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objBg->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objBg->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objBg->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objBg->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objBg->eq("\x{457}", "\x{456}\x{308}"));
-ok($objBg->eq("\x{407}", "\x{406}\x{308}"));
-ok($objBg->eq("\x{439}", "\x{438}\x{306}"));
-ok($objBg->eq("\x{419}", "\x{418}\x{306}"));
-ok($objBg->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objBg->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objBg->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objBg->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objBg->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objBg->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objBg->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objBg->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objBg->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objBg->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objBg->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objBg->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objBg->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objBg->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objBg->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objBg->eq("\x{4EC}", "\x{42D}\x{308}"));
+ok($objBg->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
+ok($objBg->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
+ok($objBg->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
+ok($objBg->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
 
-# 100
+# 106
 
-ok($objBg->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objBg->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objBg->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objBg->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objBg->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objBg->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objBg->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objBg->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objBg->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objBg->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objBg->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objBg->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objBg->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objBg->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objBg->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objBg->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objBg->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objBg->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objBg->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objBg->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objBg->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objBg->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objBg->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objBg->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objBg->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objBg->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objBg->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objBg->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objBg->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objBg->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+for my $i ("", "\0") {
+  ok($objBg->eq("\x{4D1}", "\x{430}$i\x{306}"));
+  ok($objBg->eq("\x{4D0}", "\x{410}$i\x{306}"));
+  ok($objBg->eq("\x{4D3}", "\x{430}$i\x{308}"));
+  ok($objBg->eq("\x{4D2}", "\x{410}$i\x{308}"));
+  ok($objBg->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+  ok($objBg->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+  ok($objBg->eq("\x{453}", "\x{433}$i\x{301}"));
+  ok($objBg->eq("\x{403}", "\x{413}$i\x{301}"));
+  ok($objBg->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+  ok($objBg->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+  ok($objBg->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+  ok($objBg->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+  ok($objBg->eq("\x{4D7}", "\x{435}$i\x{306}"));
+  ok($objBg->eq("\x{4D6}", "\x{415}$i\x{306}"));
+  ok($objBg->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+  ok($objBg->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+  ok($objBg->eq("\x{4DD}", "\x{436}$i\x{308}"));
+  ok($objBg->eq("\x{4DC}", "\x{416}$i\x{308}"));
+  ok($objBg->eq("\x{4DF}", "\x{437}$i\x{308}"));
+  ok($objBg->eq("\x{4DE}", "\x{417}$i\x{308}"));
+  ok($objBg->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+  ok($objBg->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+  ok($objBg->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+  ok($objBg->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+  ok($objBg->eq("\x{457}", "\x{456}$i\x{308}"));
+  ok($objBg->eq("\x{407}", "\x{406}$i\x{308}"));
+  ok($objBg->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+  ok($objBg->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+  ok($objBg->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+  ok($objBg->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+  ok($objBg->eq("\x{45C}", "\x{43A}$i\x{301}"));
+  ok($objBg->eq("\x{40C}", "\x{41A}$i\x{301}"));
+  ok($objBg->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+  ok($objBg->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+  ok($objBg->eq("\x{45E}", "\x{443}$i\x{306}"));
+  ok($objBg->eq("\x{40E}", "\x{423}$i\x{306}"));
+  ok($objBg->eq("\x{4F1}", "\x{443}$i\x{308}"));
+  ok($objBg->eq("\x{4F0}", "\x{423}$i\x{308}"));
+  ok($objBg->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+  ok($objBg->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+  ok($objBg->eq("\x{4F5}", "\x{447}$i\x{308}"));
+  ok($objBg->eq("\x{4F4}", "\x{427}$i\x{308}"));
+  ok($objBg->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+  ok($objBg->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+  ok($objBg->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+  ok($objBg->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+  ok($objBg->eq("\x{477}", "\x{475}$i\x{30F}"));
+  ok($objBg->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
 
-# 130
+# 202


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_bg.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ca.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ca.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ca.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 41 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..41\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -31,11 +39,11 @@
 
 $objCa->change(level => 1);
 
-ok($objCa->lt("c",  "ch"));
-ok($objCa->lt("cz", "ch"));
+ok($objCa->lt("c", "ch"));
+ok($objCa->lt("cz","ch"));
 ok($objCa->gt("d", "ch"));
-ok($objCa->lt("l",  "ll"));
-ok($objCa->lt("lz", "ll"));
+ok($objCa->lt("l", "ll"));
+ok($objCa->lt("lz","ll"));
 ok($objCa->gt("m", "ll"));
 
 # 8
@@ -57,13 +65,13 @@
 ok($objCa->eq("ll", "lL"));
 ok($objCa->eq("lL", "Ll"));
 ok($objCa->eq("Ll", "LL"));
-ok($objCa->eq("l${dot}l", "lL"));
-ok($objCa->eq("l${dot}L", "Ll"));
-ok($objCa->eq("L${dot}l", "LL"));
-ok($objCa->eq("ll","l${dot}l"));
-ok($objCa->eq("lL","l${dot}L"));
-ok($objCa->eq("Ll","L${dot}l"));
-ok($objCa->eq("LL","L${dot}L"));
+ok($objCa->eq("ll", "l${dot}l"));
+ok($objCa->eq("lL", "l${dot}l"));
+ok($objCa->eq("lL", "l${dot}L"));
+ok($objCa->eq("Ll", "l${dot}L"));
+ok($objCa->eq("Ll", "L${dot}l"));
+ok($objCa->eq("LL", "L${dot}l"));
+ok($objCa->eq("LL", "L${dot}L"));
 
 # 25
 
@@ -76,13 +84,13 @@
 ok($objCa->lt("ll", "lL"));
 ok($objCa->lt("lL", "Ll"));
 ok($objCa->lt("Ll", "LL"));
-ok($objCa->lt("l${dot}l", "lL"));
-ok($objCa->lt("l${dot}L", "Ll"));
-ok($objCa->lt("L${dot}l", "LL"));
-ok($objCa->lt("ll","l${dot}l"));
-ok($objCa->lt("lL","l${dot}L"));
-ok($objCa->lt("Ll","L${dot}l"));
-ok($objCa->lt("LL","L${dot}L"));
+ok($objCa->lt("ll", "l${dot}l"));
+ok($objCa->gt("lL", "l${dot}l"));
+ok($objCa->lt("lL", "l${dot}L"));
+ok($objCa->gt("Ll", "l${dot}L"));
+ok($objCa->lt("Ll", "L${dot}l"));
+ok($objCa->gt("LL", "L${dot}l"));
+ok($objCa->lt("LL", "L${dot}L"));
 
 # 38
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ca.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 34 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..34\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_cs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_cy.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_cy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_cy.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 74 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..74\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_cy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_cyrl.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_cyrl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_cyrl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 104 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..130\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,115 +37,139 @@
 
 $objNoSuppress->change(level => 1);
 
-ok($objNoSuppress->ne("\x{4D1}", "\x{430}"));
-ok($objNoSuppress->ne("\x{4D0}", "\x{410}"));
-ok($objNoSuppress->ne("\x{4D3}", "\x{430}"));
-ok($objNoSuppress->ne("\x{4D2}", "\x{410}"));
-ok($objNoSuppress->ne("\x{453}", "\x{433}"));
-ok($objNoSuppress->ne("\x{403}", "\x{413}"));
-ok($objNoSuppress->ne("\x{4D7}", "\x{435}"));
-ok($objNoSuppress->ne("\x{4D6}", "\x{415}"));
-ok($objNoSuppress->ne("\x{4DD}", "\x{436}"));
-ok($objNoSuppress->ne("\x{4DC}", "\x{416}"));
-ok($objNoSuppress->ne("\x{4DF}", "\x{437}"));
-ok($objNoSuppress->ne("\x{4DE}", "\x{417}"));
-ok($objNoSuppress->ne("\x{4E5}", "\x{438}"));
-ok($objNoSuppress->ne("\x{4E4}", "\x{418}"));
-ok($objNoSuppress->ne("\x{457}", "\x{456}"));
-ok($objNoSuppress->ne("\x{407}", "\x{406}"));
-ok($objNoSuppress->ne("\x{439}", "\x{438}"));
-ok($objNoSuppress->ne("\x{419}", "\x{418}"));
-ok($objNoSuppress->ne("\x{4E7}", "\x{43E}"));
-ok($objNoSuppress->ne("\x{4E6}", "\x{41E}"));
-ok($objNoSuppress->ne("\x{45C}", "\x{43A}"));
-ok($objNoSuppress->ne("\x{40C}", "\x{41A}"));
-ok($objNoSuppress->ne("\x{45E}", "\x{443}"));
-ok($objNoSuppress->ne("\x{40E}", "\x{423}"));
-ok($objNoSuppress->ne("\x{4F1}", "\x{443}"));
-ok($objNoSuppress->ne("\x{4F0}", "\x{423}"));
-ok($objNoSuppress->ne("\x{4F3}", "\x{443}"));
-ok($objNoSuppress->ne("\x{4F2}", "\x{423}"));
-ok($objNoSuppress->ne("\x{4F5}", "\x{447}"));
-ok($objNoSuppress->ne("\x{4F4}", "\x{427}"));
-ok($objNoSuppress->ne("\x{4F9}", "\x{44B}"));
-ok($objNoSuppress->ne("\x{4F8}", "\x{42B}"));
-ok($objNoSuppress->ne("\x{4ED}", "\x{44D}"));
-ok($objNoSuppress->ne("\x{4EC}", "\x{42D}"));
+ok($objNoSuppress->gt("\x{4D1}", "\x{430}")); # not suppressed
+ok($objNoSuppress->gt("\x{4D0}", "\x{410}")); # not suppressed
+ok($objNoSuppress->gt("\x{4D3}", "\x{430}")); # not suppressed
+ok($objNoSuppress->gt("\x{4D2}", "\x{410}")); # not suppressed
+ok($objNoSuppress->gt("\x{4DB}", "\x{4D9}")); # not suppressed
+ok($objNoSuppress->gt("\x{4DA}", "\x{4D8}")); # not suppressed
+ok($objNoSuppress->gt("\x{453}", "\x{433}")); # not suppressed
+ok($objNoSuppress->gt("\x{403}", "\x{413}")); # not suppressed
+ok($objNoSuppress->gt("\x{4D7}", "\x{435}")); # not suppressed
+ok($objNoSuppress->gt("\x{4D6}", "\x{415}")); # not suppressed
+ok($objNoSuppress->gt("\x{4DD}", "\x{436}")); # not suppressed
+ok($objNoSuppress->gt("\x{4DC}", "\x{416}")); # not suppressed
+ok($objNoSuppress->gt("\x{4DF}", "\x{437}")); # not suppressed
+ok($objNoSuppress->gt("\x{4DE}", "\x{417}")); # not suppressed
+ok($objNoSuppress->gt("\x{4E5}", "\x{438}")); # not suppressed
+ok($objNoSuppress->gt("\x{4E4}", "\x{418}")); # not suppressed
+ok($objNoSuppress->gt("\x{457}", "\x{456}")); # not suppressed
+ok($objNoSuppress->gt("\x{407}", "\x{406}")); # not suppressed
+ok($objNoSuppress->gt("\x{439}", "\x{438}")); # not suppressed
+ok($objNoSuppress->gt("\x{419}", "\x{418}")); # not suppressed
+ok($objNoSuppress->gt("\x{4E7}", "\x{43E}")); # not suppressed
+ok($objNoSuppress->gt("\x{4E6}", "\x{41E}")); # not suppressed
+ok($objNoSuppress->gt("\x{4EB}", "\x{4E9}")); # not suppressed
+ok($objNoSuppress->gt("\x{4EA}", "\x{4E8}")); # not suppressed
+ok($objNoSuppress->gt("\x{45C}", "\x{43A}")); # not suppressed
+ok($objNoSuppress->gt("\x{40C}", "\x{41A}")); # not suppressed
+ok($objNoSuppress->gt("\x{45E}", "\x{443}")); # not suppressed
+ok($objNoSuppress->gt("\x{40E}", "\x{423}")); # not suppressed
+ok($objNoSuppress->gt("\x{4F1}", "\x{443}")); # not suppressed
+ok($objNoSuppress->gt("\x{4F0}", "\x{423}")); # not suppressed
+ok($objNoSuppress->gt("\x{4F3}", "\x{443}")); # not suppressed
+ok($objNoSuppress->gt("\x{4F2}", "\x{423}")); # not suppressed
+ok($objNoSuppress->gt("\x{4F5}", "\x{447}")); # not suppressed
+ok($objNoSuppress->gt("\x{4F4}", "\x{427}")); # not suppressed
+ok($objNoSuppress->gt("\x{4F9}", "\x{44B}")); # not suppressed
+ok($objNoSuppress->gt("\x{4F8}", "\x{42B}")); # not suppressed
+ok($objNoSuppress->gt("\x{4ED}", "\x{44D}")); # not suppressed
+ok($objNoSuppress->gt("\x{4EC}", "\x{42D}")); # not suppressed
+ok($objNoSuppress->gt("\x{477}", "\x{475}")); # not suppressed
+ok($objNoSuppress->gt("\x{476}", "\x{474}")); # not suppressed
 
-# 36
+# 42
 
+ok($objNoSuppress->eq("\x{450}", "\x{435}")); # not contraction
+ok($objNoSuppress->eq("\x{400}", "\x{415}")); # not contraction
+ok($objNoSuppress->eq("\x{451}", "\x{435}")); # not contraction
+ok($objNoSuppress->eq("\x{401}", "\x{415}")); # not contraction
+ok($objNoSuppress->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objNoSuppress->eq("\x{4C1}", "\x{416}")); # not contraction
+ok($objNoSuppress->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objNoSuppress->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objNoSuppress->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objNoSuppress->eq("\x{4E2}", "\x{418}")); # not contraction
+ok($objNoSuppress->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objNoSuppress->eq("\x{4EE}", "\x{423}")); # not contraction
+
+# 54
+
+$objNoSuppress->change(level => 2);
+
+ok($objNoSuppress->gt("\x{450}", "\x{435}")); # not contraction
+ok($objNoSuppress->gt("\x{400}", "\x{415}")); # not contraction
+ok($objNoSuppress->gt("\x{451}", "\x{435}")); # not contraction
+ok($objNoSuppress->gt("\x{401}", "\x{415}")); # not contraction
+ok($objNoSuppress->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objNoSuppress->gt("\x{4C1}", "\x{416}")); # not contraction
+ok($objNoSuppress->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objNoSuppress->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objNoSuppress->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objNoSuppress->gt("\x{4E2}", "\x{418}")); # not contraction
+ok($objNoSuppress->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objNoSuppress->gt("\x{4EE}", "\x{423}")); # not contraction
+
+# 66
+
 $objNoSuppress->change(level => 3);
 
-ok($objNoSuppress->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objNoSuppress->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objNoSuppress->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objNoSuppress->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objNoSuppress->eq("\x{453}", "\x{433}\x{301}"));
-ok($objNoSuppress->eq("\x{403}", "\x{413}\x{301}"));
-ok($objNoSuppress->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objNoSuppress->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objNoSuppress->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objNoSuppress->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objNoSuppress->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objNoSuppress->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objNoSuppress->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objNoSuppress->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objNoSuppress->eq("\x{457}", "\x{456}\x{308}"));
-ok($objNoSuppress->eq("\x{407}", "\x{406}\x{308}"));
-ok($objNoSuppress->eq("\x{439}", "\x{438}\x{306}"));
-ok($objNoSuppress->eq("\x{419}", "\x{418}\x{306}"));
-ok($objNoSuppress->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objNoSuppress->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objNoSuppress->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objNoSuppress->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objNoSuppress->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objNoSuppress->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objNoSuppress->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objNoSuppress->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objNoSuppress->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objNoSuppress->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objNoSuppress->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objNoSuppress->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objNoSuppress->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objNoSuppress->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objNoSuppress->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objNoSuppress->eq("\x{4EC}", "\x{42D}\x{308}"));
+ok($objNoSuppress->eq("\x{4D1}", "\x{430}\x{306}")); # not suppressed
+ok($objNoSuppress->eq("\x{4D0}", "\x{410}\x{306}")); # not suppressed
+ok($objNoSuppress->eq("\x{4D3}", "\x{430}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4D2}", "\x{410}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4DB}", "\x{4D9}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4DA}", "\x{4D8}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{453}", "\x{433}\x{301}")); # not suppressed
+ok($objNoSuppress->eq("\x{403}", "\x{413}\x{301}")); # not suppressed
+ok($objNoSuppress->eq("\x{4D7}", "\x{435}\x{306}")); # not suppressed
+ok($objNoSuppress->eq("\x{4D6}", "\x{415}\x{306}")); # not suppressed
+ok($objNoSuppress->eq("\x{4DD}", "\x{436}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4DC}", "\x{416}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4DF}", "\x{437}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4DE}", "\x{417}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{457}", "\x{456}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{407}", "\x{406}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
+ok($objNoSuppress->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
+ok($objNoSuppress->eq("\x{4E7}", "\x{43E}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4E6}", "\x{41E}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4EB}", "\x{4E9}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4EA}", "\x{4E8}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{45C}", "\x{43A}\x{301}")); # not suppressed
+ok($objNoSuppress->eq("\x{40C}", "\x{41A}\x{301}")); # not suppressed
+ok($objNoSuppress->eq("\x{45E}", "\x{443}\x{306}")); # not suppressed
+ok($objNoSuppress->eq("\x{40E}", "\x{423}\x{306}")); # not suppressed
+ok($objNoSuppress->eq("\x{4F1}", "\x{443}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4F0}", "\x{423}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4F3}", "\x{443}\x{30B}")); # not suppressed
+ok($objNoSuppress->eq("\x{4F2}", "\x{423}\x{30B}")); # not suppressed
+ok($objNoSuppress->eq("\x{4F5}", "\x{447}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4F4}", "\x{427}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4F9}", "\x{44B}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4F8}", "\x{42B}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4ED}", "\x{44D}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{4EC}", "\x{42D}\x{308}")); # not suppressed
+ok($objNoSuppress->eq("\x{477}", "\x{475}\x{30F}")); # not suppressed
+ok($objNoSuppress->eq("\x{476}", "\x{474}\x{30F}")); # not suppressed
 
-# 70
+# 106
 
-ok($objNoSuppress->ne("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objNoSuppress->ne("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objNoSuppress->ne("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objNoSuppress->ne("\x{453}", "\x{433}\0\x{301}"));
-ok($objNoSuppress->ne("\x{403}", "\x{413}\0\x{301}"));
-ok($objNoSuppress->ne("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objNoSuppress->ne("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objNoSuppress->ne("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4E5}", "\x{438}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4E4}", "\x{418}\0\x{308}"));
-ok($objNoSuppress->ne("\x{457}", "\x{456}\0\x{308}"));
-ok($objNoSuppress->ne("\x{407}", "\x{406}\0\x{308}"));
-ok($objNoSuppress->ne("\x{439}", "\x{438}\0\x{306}"));
-ok($objNoSuppress->ne("\x{419}", "\x{418}\0\x{306}"));
-ok($objNoSuppress->ne("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objNoSuppress->ne("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objNoSuppress->ne("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objNoSuppress->ne("\x{45E}", "\x{443}\0\x{306}"));
-ok($objNoSuppress->ne("\x{40E}", "\x{423}\0\x{306}"));
-ok($objNoSuppress->ne("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objNoSuppress->ne("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objNoSuppress->ne("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objNoSuppress->ne("\x{4EC}", "\x{42D}\0\x{308}"));
+for my $i ("", "\0") {
+  ok($objNoSuppress->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+  ok($objNoSuppress->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+  ok($objNoSuppress->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+  ok($objNoSuppress->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+  ok($objNoSuppress->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+  ok($objNoSuppress->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+  ok($objNoSuppress->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+  ok($objNoSuppress->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+  ok($objNoSuppress->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+  ok($objNoSuppress->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+  ok($objNoSuppress->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+  ok($objNoSuppress->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+}
 
-# 104
+# 130


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_cyrl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_da.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_da.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_da.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 117 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..117\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -49,7 +57,7 @@
 ok($objDa->lt('z', $ae));
 ok($objDa->lt($ae, $ostk));
 ok($objDa->lt($ostk, $arng));
-ok($objDa->lt($arng, "\x{292}"));
+ok($objDa->lt($arng, "\x{1C0}"));
 
 # 6
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_da.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_de.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_de.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_de.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 32 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..32\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_de.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_deph.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_deph.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_deph.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 42 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..42\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_deph.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 38 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..38\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_eo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 26 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..29\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -26,6 +34,7 @@
     new(locale => 'ES', normalization => undef);
 
 ok($objEs->getlocale, 'es');
+ok($objEs->locale_version, 0.93);
 
 $objEs->change(level => 1);
 
@@ -38,7 +47,7 @@
 ok($objEs->lt("n", "n\x{303}"));
 ok($objEs->gt("o", "n\x{303}"));
 
-# 10
+# 11
 
 ok($objEs->eq("a\x{300}a", "aa\x{300}"));
 
@@ -48,7 +57,7 @@
 ok($objEs->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
 ok($objEs->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
 
-# 14
+# 15
 
 ok($objEs->eq("ch", "Ch"));
 ok($objEs->eq("Ch", "CH"));
@@ -56,7 +65,7 @@
 ok($objEs->eq("Ll", "LL"));
 ok($objEs->eq("n\x{303}", "N\x{303}"));
 
-# 19
+# 20
 
 $objEs->change(level => 3);
 
@@ -68,4 +77,11 @@
 ok($objEs->eq("n\x{303}", pack('U', 0xF1)));
 ok($objEs->eq("N\x{303}", pack('U', 0xD1)));
 
-# 26
+# 27
+
+$objEs->change(level => 2, ignore_level2 => 1);
+
+ok($objEs->lt("n", "n\x{303}"));
+ok($objEs->eq("a", "a\x{303}"));
+
+# 29


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_es.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 26 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..27\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -26,6 +34,7 @@
     new(locale => 'ES-trad', normalization => undef);
 
 ok($objEsTrad->getlocale, 'es__traditional');
+ok($objEsTrad->locale_version, 0.93);
 
 $objEsTrad->change(level => 1);
 
@@ -38,7 +47,7 @@
 ok($objEsTrad->lt("n", "n\x{303}"));
 ok($objEsTrad->gt("o", "n\x{303}"));
 
-# 10
+# 11
 
 ok($objEsTrad->eq("a\x{300}a", "aa\x{300}"));
 
@@ -48,7 +57,7 @@
 ok($objEsTrad->lt("Ca\x{300}ca\x{302}", "ca\x{302}ca\x{300}"));
 ok($objEsTrad->lt("ca\x{300}ca\x{302}", "Ca\x{302}ca\x{300}"));
 
-# 14
+# 15
 
 ok($objEsTrad->eq("ch", "Ch"));
 ok($objEsTrad->eq("Ch", "CH"));
@@ -56,7 +65,7 @@
 ok($objEsTrad->eq("Ll", "LL"));
 ok($objEsTrad->eq("n\x{303}", "N\x{303}"));
 
-# 19
+# 20
 
 $objEsTrad->change(level => 3);
 
@@ -68,4 +77,4 @@
 ok($objEsTrad->eq("n\x{303}", pack('U', 0xF1)));
 ok($objEsTrad->eq("N\x{303}", pack('U', 0xD1)));
 
-# 26
+# 27


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_estr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 61 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..61\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_et.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fi.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_fi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_fi.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 82 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..83\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -42,11 +50,12 @@
 
 $objFi->change(level => 1);
 
-ok($objFi->lt('z',   $arng));
+ok($objFi->lt('z', $arng));
 ok($objFi->lt($arng, $auml));
 ok($objFi->lt($auml, $ouml));
+ok($objFi->lt($ouml, "\x{1C0}"));
 
-# 5
+# 6
 
 ok($objFi->eq("d\x{335}", "\x{111}"));
 ok($objFi->eq("g\x{335}", "\x{1E5}"));
@@ -58,7 +67,7 @@
 ok($objFi->eq($auml, $ae));
 ok($objFi->eq($ouml, $ostk));
 
-# 14
+# 15
 
 $objFi->change(level => 2);
 
@@ -72,7 +81,7 @@
 ok($objFi->lt($auml, $ae));
 ok($objFi->lt($ouml, $ostk));
 
-# 23
+# 24
 
 ok($objFi->eq("\x{111}", "\x{110}"));
 ok($objFi->eq("\x{1E5}", "\x{1E4}"));
@@ -88,7 +97,7 @@
 ok($objFi->eq($ouml, $Ouml));
 ok($objFi->eq($ostk, $Ostk));
 
-# 36
+# 37
 
 $objFi->change(level => 3);
 
@@ -106,7 +115,7 @@
 ok($objFi->lt($ouml, $Ouml));
 ok($objFi->lt($ostk, $Ostk));
 
-# 49
+# 50
 
 ok($objFi->eq("u\x{308}", $uuml));
 ok($objFi->eq("U\x{308}", $Uuml));
@@ -121,7 +130,7 @@
 ok($objFi->eq("o\x{338}", $ostk));
 ok($objFi->eq("O\x{338}", $Ostk));
 
-# 61
+# 62
 
 ok($objFi->eq("u\x{308}\x{300}", "\x{1DC}"));
 ok($objFi->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -145,4 +154,4 @@
 ok($objFi->eq("o\x{338}\x{301}", "\x{1FF}"));
 ok($objFi->eq("O\x{338}\x{301}", "\x{1FE}"));
 
-# 82
+# 83


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 14 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..14\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fil.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fo.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_fo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_fo.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 105 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..105\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -49,7 +57,7 @@
 ok($objFo->lt('z', $ae));
 ok($objFo->lt($ae, $ostk));
 ok($objFo->lt($ostk, $arng));
-ok($objFo->lt($arng, "\x{292}"));
+ok($objFo->lt($arng, "\x{1C0}"));
 
 # 6
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fr.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_fr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_fr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 26 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..27\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,6 +37,7 @@
     new(locale => 'FR', normalization => undef);
 
 ok($objFr->getlocale, 'fr');
+ok($objFr->locale_version, 0.87);
 
 $objFr->change(level => 1);
 
@@ -39,7 +48,7 @@
 ok($objFr->eq("\x{1E3}", $ae));
 ok($objFr->eq("\x{1E2}", $AE));
 
-# 8
+# 9
 
 $objFr->change(level => 2);
 
@@ -55,7 +64,7 @@
 ok($objFr->eq("$ae\x{304}", "$AE\x{304}"));
 ok($objFr->eq("$ae\x{301}", "$AE\x{301}"));
 
-# 18
+# 19
 
 $objFr->change(level => 3);
 
@@ -69,4 +78,4 @@
 ok($objFr->eq("\x{1E3}", "$ae\x{304}"));
 ok($objFr->eq("\x{1E2}", "$AE\x{304}"));
 
-# 26
+# 27


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_fr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ha.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ha.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ha.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 34 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..51\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -56,8 +64,15 @@
 ok($objHa->eq("'y", "'Y"));
 ok($objHa->eq("\x{1B4}", "\x{1B3}"));
 
-# 23
+ok($objHa->eq("\x{1B4}", "\x{2BC}y"));
+ok($objHa->eq("\x{2BC}y","'y"));
+ok($objHa->eq("'y",      "\x{1B3}"));
+ok($objHa->eq("\x{1B3}", "\x{2BC}Y"));
+ok($objHa->eq("\x{2BC}Y","'Y"));
+ok($objHa->eq("'Y",      "\x{1B4}"));
 
+# 29
+
 $objHa->change(level => 3);
 
 ok($objHa->lt("\x{253}", "\x{181}"));
@@ -69,7 +84,24 @@
 ok($objHa->lt("Ts", "TS"));
 ok($objHa->lt("'y", "'Y"));
 ok($objHa->lt("\x{1B4}", "\x{1B3}"));
-ok($objHa->eq("'y", "\x{1B4}"));
-ok($objHa->eq("'Y", "\x{1B3}"));
 
-# 34
+ok($objHa->lt("\x{1B4}", "\x{2BC}y"));
+ok($objHa->lt("\x{2BC}y","'y"));
+ok($objHa->lt("'y",      "\x{1B3}"));
+ok($objHa->lt("\x{1B3}", "\x{2BC}Y"));
+ok($objHa->lt("\x{2BC}Y","'Y"));
+ok($objHa->gt("'Y",      "\x{1B4}"));
+
+# 44
+
+$objHa->change(upper_before_lower => 1);
+
+ok($objHa->gt("\x{1B4}", "\x{1B3}"));
+ok($objHa->lt("\x{1B4}", "\x{2BC}y"));
+ok($objHa->lt("\x{2BC}y","'y"));
+ok($objHa->gt("'y",      "\x{1B3}"));
+ok($objHa->lt("\x{1B3}", "\x{2BC}Y"));
+ok($objHa->lt("\x{2BC}Y","'Y"));
+ok($objHa->lt("'Y",      "\x{1B4}"));
+
+# 51


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ha.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_haw.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_haw.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_haw.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 49 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..49\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_haw.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_hr.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_hr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_hr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 88 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..118\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -51,19 +59,23 @@
 
 # 21
 
+# not tailored
+ok($objHr->lt("dZ\x{30C}","dz\x{30C}"));
+ok($objHr->lt("lJ", "lj"));
+ok($objHr->lt("nJ", "nj"));
+
+# 24
+
 $objHr->change(level => 2);
 
 ok($objHr->eq("c\x{30C}", "C\x{30C}"));
 ok($objHr->eq("c\x{301}", "C\x{301}"));
-ok($objHr->eq("dz\x{30C}","dZ\x{30C}"));
-ok($objHr->eq("dZ\x{30C}","Dz\x{30C}"));
+ok($objHr->eq("dz\x{30C}","Dz\x{30C}"));
 ok($objHr->eq("Dz\x{30C}","DZ\x{30C}"));
 ok($objHr->eq("d\x{335}", "D\x{335}"));
-ok($objHr->eq("lj", "lJ"));
-ok($objHr->eq("lJ", "Lj"));
+ok($objHr->eq("lj", "Lj"));
 ok($objHr->eq("Lj", "LJ"));
-ok($objHr->eq("nj", "nJ"));
-ok($objHr->eq("nJ", "Nj"));
+ok($objHr->eq("nj", "Nj"));
 ok($objHr->eq("Nj", "NJ"));
 ok($objHr->eq("s\x{30C}", "S\x{30C}"));
 ok($objHr->eq("z\x{30C}", "Z\x{30C}"));
@@ -70,25 +82,62 @@
 
 # 35
 
+ok($objHr->eq("dz\x{30C}", "\x{1C6}"));
+ok($objHr->eq("Dz\x{30C}", "\x{1C6}"));
+ok($objHr->eq("Dz\x{30C}", "\x{1C5}"));
+ok($objHr->eq("DZ\x{30C}", "\x{1C5}"));
+ok($objHr->eq("DZ\x{30C}", "\x{1C4}"));
+
+ok($objHr->eq("lj", "\x{1C9}"));
+ok($objHr->eq("Lj", "\x{1C9}"));
+ok($objHr->eq("Lj", "\x{1C8}"));
+ok($objHr->eq("LJ", "\x{1C8}"));
+ok($objHr->eq("LJ", "\x{1C7}"));
+
+ok($objHr->eq("nj", "\x{1CC}"));
+ok($objHr->eq("Nj", "\x{1CC}"));
+ok($objHr->eq("Nj", "\x{1CB}"));
+ok($objHr->eq("NJ", "\x{1CB}"));
+ok($objHr->eq("NJ", "\x{1CA}"));
+
+# 50
+
 $objHr->change(level => 3);
 
 ok($objHr->lt("c\x{30C}", "C\x{30C}"));
 ok($objHr->lt("c\x{301}", "C\x{301}"));
-ok($objHr->lt("dz\x{30C}","dZ\x{30C}"));
-ok($objHr->lt("dZ\x{30C}","Dz\x{30C}"));
+ok($objHr->lt("dz\x{30C}","Dz\x{30C}"));
 ok($objHr->lt("Dz\x{30C}","DZ\x{30C}"));
 ok($objHr->lt("d\x{335}", "D\x{335}"));
-ok($objHr->lt("lj", "lJ"));
-ok($objHr->lt("lJ", "Lj"));
+ok($objHr->lt("lj", "Lj"));
 ok($objHr->lt("Lj", "LJ"));
-ok($objHr->lt("nj", "nJ"));
-ok($objHr->lt("nJ", "Nj"));
+ok($objHr->lt("nj", "Nj"));
 ok($objHr->lt("Nj", "NJ"));
 ok($objHr->lt("s\x{30C}", "S\x{30C}"));
 ok($objHr->lt("z\x{30C}", "Z\x{30C}"));
 
-# 49
+# 61
 
+ok($objHr->lt("dz\x{30C}", "\x{1C6}"));
+ok($objHr->gt("Dz\x{30C}", "\x{1C6}"));
+ok($objHr->lt("Dz\x{30C}", "\x{1C5}"));
+ok($objHr->gt("DZ\x{30C}", "\x{1C5}"));
+ok($objHr->lt("DZ\x{30C}", "\x{1C4}"));
+
+ok($objHr->lt("lj", "\x{1C9}"));
+ok($objHr->gt("Lj", "\x{1C9}"));
+ok($objHr->lt("Lj", "\x{1C8}"));
+ok($objHr->gt("LJ", "\x{1C8}"));
+ok($objHr->lt("LJ", "\x{1C7}"));
+
+ok($objHr->lt("nj", "\x{1CC}"));
+ok($objHr->gt("Nj", "\x{1CC}"));
+ok($objHr->lt("Nj", "\x{1CB}"));
+ok($objHr->gt("NJ", "\x{1CB}"));
+ok($objHr->lt("NJ", "\x{1CA}"));
+
+# 76
+
 ok($objHr->eq("c\x{30C}", "\x{10D}"));
 ok($objHr->eq("C\x{30C}", "\x{10C}"));
 ok($objHr->eq("c\x{301}", "\x{107}"));
@@ -95,9 +144,6 @@
 ok($objHr->eq("c\x{341}", "\x{107}"));
 ok($objHr->eq("C\x{301}", "\x{106}"));
 ok($objHr->eq("C\x{341}", "\x{106}"));
-ok($objHr->eq("dz\x{30C}", "\x{1C6}"));
-ok($objHr->eq("Dz\x{30C}", "\x{1C5}"));
-ok($objHr->eq("DZ\x{30C}", "\x{1C4}"));
 ok($objHr->eq("dz\x{30C}", "d\x{17E}"));
 ok($objHr->eq("dZ\x{30C}", "d\x{17D}"));
 ok($objHr->eq("Dz\x{30C}", "D\x{17E}"));
@@ -104,34 +150,45 @@
 ok($objHr->eq("DZ\x{30C}", "D\x{17D}"));
 ok($objHr->eq("d\x{335}", "\x{111}"));
 ok($objHr->eq("D\x{335}", "\x{110}"));
-ok($objHr->eq("lj", "\x{1C9}"));
-ok($objHr->eq("Lj", "\x{1C8}"));
-ok($objHr->eq("LJ", "\x{1C7}"));
-ok($objHr->eq("nj", "\x{1CC}"));
-ok($objHr->eq("Nj", "\x{1CB}"));
-ok($objHr->eq("NJ", "\x{1CA}"));
 ok($objHr->eq("s\x{30C}", "\x{161}"));
 ok($objHr->eq("S\x{30C}", "\x{160}"));
 ok($objHr->eq("z\x{30C}", "\x{17E}"));
 ok($objHr->eq("Z\x{30C}", "\x{17D}"));
 
-# 74
+# 92
 
 $objHr->change(upper_before_lower => 1);
 
 ok($objHr->gt("c\x{30C}", "C\x{30C}"));
 ok($objHr->gt("c\x{301}", "C\x{301}"));
-ok($objHr->gt("dz\x{30C}","dZ\x{30C}"));
-ok($objHr->gt("dZ\x{30C}","Dz\x{30C}"));
+ok($objHr->gt("dz\x{30C}","Dz\x{30C}"));
 ok($objHr->gt("Dz\x{30C}","DZ\x{30C}"));
 ok($objHr->gt("d\x{335}", "D\x{335}"));
-ok($objHr->gt("lj", "lJ"));
-ok($objHr->gt("lJ", "Lj"));
+ok($objHr->gt("lj", "Lj"));
 ok($objHr->gt("Lj", "LJ"));
-ok($objHr->gt("nj", "nJ"));
-ok($objHr->gt("nJ", "Nj"));
+ok($objHr->gt("nj", "Nj"));
 ok($objHr->gt("Nj", "NJ"));
 ok($objHr->gt("s\x{30C}", "S\x{30C}"));
 ok($objHr->gt("z\x{30C}", "Z\x{30C}"));
 
-# 88
+# 103
+
+ok($objHr->lt("DZ\x{30C}", "\x{1C4}"));
+ok($objHr->gt("Dz\x{30C}", "\x{1C4}"));
+ok($objHr->lt("Dz\x{30C}", "\x{1C5}"));
+ok($objHr->gt("dz\x{30C}", "\x{1C5}"));
+ok($objHr->lt("dz\x{30C}", "\x{1C6}"));
+
+ok($objHr->lt("LJ", "\x{1C7}"));
+ok($objHr->gt("Lj", "\x{1C7}"));
+ok($objHr->lt("Lj", "\x{1C8}"));
+ok($objHr->gt("lj", "\x{1C8}"));
+ok($objHr->lt("lj", "\x{1C9}"));
+
+ok($objHr->lt("NJ", "\x{1CA}"));
+ok($objHr->gt("Nj", "\x{1CA}"));
+ok($objHr->lt("Nj", "\x{1CB}"));
+ok($objHr->gt("nj", "\x{1CB}"));
+ok($objHr->lt("nj", "\x{1CC}"));
+
+# 118


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_hr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_hu.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_hu.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_hu.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 235 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..235\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_hu.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_hy.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_hy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_hy.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 13 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..25\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -52,6 +60,8 @@
 
 # 10
 
+$objHy->change(level => 1);
+
 $objHy->change(UCA_Version => 8);
 
 ok($objHy->lt("\x{584}\x{4E00}",  "\x{587}"));
@@ -59,3 +69,21 @@
 ok($objHy->lt("\x{584}\x{10FFFD}","\x{587}"));
 
 # 13
+
+$objHy->change(UCA_Version => 22);
+
+for my $h (0, 1) {
+    no warnings 'utf8';
+    my $t = $h ? pack('U', 0xFFFF) : "";
+    $objHy->change(highestFFFF => 1) if $h;
+
+   ok($objHy->lt("\x{583}$t", "\x{584}"));
+   ok($objHy->lt("\x{584}$t", "\x{587}"));
+   ok($objHy->lt("\x{587}$t", "\x{585}"));
+
+   ok($objHy->lt("\x{553}$t", "\x{554}"));
+   ok($objHy->lt("\x{554}$t", "\x{535}\x{582}"));
+   ok($objHy->lt("\x{535}\x{582}$t", "\x{555}"));
+}
+
+# 25


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_hy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ig.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ig.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ig.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 108 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..108\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ig.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_is.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_is.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_is.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 110 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..110\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_is.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ja.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ja.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ja.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 490 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..497\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -48,8 +56,6 @@
 ok($objJa->lt("\x{7199}", "\x{4E02}")); # 4E02: UIdeo undef in JIS X 0208
 ok($objJa->lt("\x{4E02}", "\x{3400}")); # 3400: Ext.A undef in JIS X 0208
 
-# 17
-
 # Ext.B
 ok($objJa->lt("\x{20000}", "\x{20001}"));
 ok($objJa->lt("\x{20001}", "\x{20002}"));
@@ -163,8 +169,10 @@
 ok($objJa->eq("\x{3094}", "\x{30F4}"));
 ok($objJa->eq("\x{3095}", "\x{30F5}"));
 ok($objJa->eq("\x{3096}", "\x{30F6}"));
+ok($objJa->eq("\x{309D}", "\x{30FD}"));
+ok($objJa->eq("\x{309E}", "\x{30FE}"));
 
-# 118
+# 120
 
 $objJa->change(variable => 'Non-ignorable');
 
@@ -343,7 +351,7 @@
 ok($objJa->eq("\x{FFED}", "\x{25A0}"));
 ok($objJa->eq("\x{FFEE}", "\x{25CB}"));
 
-# 292
+# 294
 
 $objJa->change(level => 4);
 
@@ -433,8 +441,10 @@
 ok($objJa->lt("\x{3094}", "\x{30F4}"));
 ok($objJa->lt("\x{3095}", "\x{30F5}"));
 ok($objJa->lt("\x{3096}", "\x{30F6}"));
+ok($objJa->lt("\x{309D}", "\x{30FD}"));
+ok($objJa->lt("\x{309E}", "\x{30FE}"));
 
-# 378
+# 382
 
 ok($objJa->eq("\x{304C}", "\x{304B}\x{3099}"));
 ok($objJa->eq("\x{304E}", "\x{304D}\x{3099}"));
@@ -462,8 +472,9 @@
 ok($objJa->eq("\x{307C}", "\x{307B}\x{3099}"));
 ok($objJa->eq("\x{307D}", "\x{307B}\x{309A}"));
 ok($objJa->eq("\x{3094}", "\x{3046}\x{3099}"));
+ok($objJa->eq("\x{309E}", "\x{309D}\x{3099}"));
 
-# 404
+# 409
 
 $objJa->change(katakana_before_hiragana => 1);
 
@@ -553,5 +564,7 @@
 ok($objJa->lt("\x{3094}", "\x{30F4}"));
 ok($objJa->lt("\x{3095}", "\x{30F5}"));
 ok($objJa->lt("\x{3096}", "\x{30F6}"));
+ok($objJa->lt("\x{309D}", "\x{30FD}"));
+ok($objJa->lt("\x{309E}", "\x{30FE}"));
 
-# 490
+# 497


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ja.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_jait.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_jait.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_jait.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 759 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..759\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_jait.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_japr.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_japr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_japr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 602 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..602\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_japr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_kk.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_kk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_kk.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 149 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..211\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,37 +37,54 @@
 
 $objKk->change(level => 1);
 
-ok($objKk->lt("\x{43E}", "\x{4E9}"));
-ok($objKk->gt("\x{43F}", "\x{4E9}"));
-ok($objKk->lt("\x{443}", "\x{4B1}"));
+ok($objKk->gt("\x{451}", "\x{435}"));
+ok($objKk->lt("\x{451}", "\x{454}"));
 ok($objKk->gt("\x{4AF}", "\x{4B1}"));
-ok($objKk->lt("\x{44B}", "\x{456}"));
-ok($objKk->gt("\x{44C}", "\x{456}"));
+ok($objKk->lt("\x{4AF}", "\x{A64B}"));
+ok($objKk->gt("\x{456}", "\x{4F9}"));
+ok($objKk->lt("\x{456}", "\x{44C}"));
 
 # 8
 
+ok($objKk->gt("\x{4E5}", "\x{438}")); # not suppressed
+ok($objKk->gt("\x{4E4}", "\x{418}")); # not suppressed
+ok($objKk->gt("\x{439}", "\x{438}")); # not suppressed
+ok($objKk->gt("\x{419}", "\x{418}")); # not suppressed
+
+# 12
+
 ok($objKk->eq("\x{4D1}", "\x{430}"));
 ok($objKk->eq("\x{4D0}", "\x{410}"));
 ok($objKk->eq("\x{4D3}", "\x{430}"));
 ok($objKk->eq("\x{4D2}", "\x{410}"));
+ok($objKk->eq("\x{4DB}", "\x{4D9}"));
+ok($objKk->eq("\x{4DA}", "\x{4D8}"));
 ok($objKk->eq("\x{453}", "\x{433}"));
 ok($objKk->eq("\x{403}", "\x{413}"));
+ok($objKk->eq("\x{450}", "\x{435}")); # not contraction
+ok($objKk->eq("\x{400}", "\x{415}")); # not contraction
 ok($objKk->eq("\x{4D7}", "\x{435}"));
 ok($objKk->eq("\x{4D6}", "\x{415}"));
+ok($objKk->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objKk->eq("\x{4C1}", "\x{416}")); # not contraction
 ok($objKk->eq("\x{4DD}", "\x{436}"));
 ok($objKk->eq("\x{4DC}", "\x{416}"));
 ok($objKk->eq("\x{4DF}", "\x{437}"));
 ok($objKk->eq("\x{4DE}", "\x{417}"));
-ok($objKk->eq("\x{4E5}", "\x{438}"));
-ok($objKk->eq("\x{4E4}", "\x{418}"));
+ok($objKk->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objKk->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objKk->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objKk->eq("\x{4E2}", "\x{418}")); # not contraction
 ok($objKk->eq("\x{457}", "\x{456}"));
 ok($objKk->eq("\x{407}", "\x{406}"));
-ok($objKk->eq("\x{439}", "\x{438}"));
-ok($objKk->eq("\x{419}", "\x{418}"));
 ok($objKk->eq("\x{4E7}", "\x{43E}"));
 ok($objKk->eq("\x{4E6}", "\x{41E}"));
+ok($objKk->eq("\x{4EB}", "\x{4E9}"));
+ok($objKk->eq("\x{4EA}", "\x{4E8}"));
 ok($objKk->eq("\x{45C}", "\x{43A}"));
 ok($objKk->eq("\x{40C}", "\x{41A}"));
+ok($objKk->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objKk->eq("\x{4EE}", "\x{423}")); # not contraction
 ok($objKk->eq("\x{45E}", "\x{443}"));
 ok($objKk->eq("\x{40E}", "\x{423}"));
 ok($objKk->eq("\x{4F1}", "\x{443}"));
@@ -72,33 +97,51 @@
 ok($objKk->eq("\x{4F8}", "\x{42B}"));
 ok($objKk->eq("\x{4ED}", "\x{44D}"));
 ok($objKk->eq("\x{4EC}", "\x{42D}"));
+ok($objKk->eq("\x{477}", "\x{475}"));
+ok($objKk->eq("\x{476}", "\x{474}"));
 
-# 42
+# 58
 
 $objKk->change(level => 2);
 
+ok($objKk->eq("\x{451}", "\x{401}"));
+ok($objKk->eq("\x{4AF}", "\x{4AE}"));
+ok($objKk->eq("\x{456}", "\x{406}"));
+
+# 61
+
 ok($objKk->gt("\x{4D1}", "\x{430}"));
 ok($objKk->gt("\x{4D0}", "\x{410}"));
 ok($objKk->gt("\x{4D3}", "\x{430}"));
 ok($objKk->gt("\x{4D2}", "\x{410}"));
+ok($objKk->gt("\x{4DB}", "\x{4D9}"));
+ok($objKk->gt("\x{4DA}", "\x{4D8}"));
 ok($objKk->gt("\x{453}", "\x{433}"));
 ok($objKk->gt("\x{403}", "\x{413}"));
+ok($objKk->gt("\x{450}", "\x{435}")); # not contraction
+ok($objKk->gt("\x{400}", "\x{415}")); # not contraction
 ok($objKk->gt("\x{4D7}", "\x{435}"));
 ok($objKk->gt("\x{4D6}", "\x{415}"));
+ok($objKk->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objKk->gt("\x{4C1}", "\x{416}")); # not contraction
 ok($objKk->gt("\x{4DD}", "\x{436}"));
 ok($objKk->gt("\x{4DC}", "\x{416}"));
 ok($objKk->gt("\x{4DF}", "\x{437}"));
 ok($objKk->gt("\x{4DE}", "\x{417}"));
-ok($objKk->gt("\x{4E5}", "\x{438}"));
-ok($objKk->gt("\x{4E4}", "\x{418}"));
+ok($objKk->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objKk->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objKk->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objKk->gt("\x{4E2}", "\x{418}")); # not contraction
 ok($objKk->gt("\x{457}", "\x{456}"));
 ok($objKk->gt("\x{407}", "\x{406}"));
-ok($objKk->gt("\x{439}", "\x{438}"));
-ok($objKk->gt("\x{419}", "\x{418}"));
 ok($objKk->gt("\x{4E7}", "\x{43E}"));
 ok($objKk->gt("\x{4E6}", "\x{41E}"));
+ok($objKk->gt("\x{4EB}", "\x{4E9}"));
+ok($objKk->gt("\x{4EA}", "\x{4E8}"));
 ok($objKk->gt("\x{45C}", "\x{43A}"));
 ok($objKk->gt("\x{40C}", "\x{41A}"));
+ok($objKk->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objKk->gt("\x{4EE}", "\x{423}")); # not contraction
 ok($objKk->gt("\x{45E}", "\x{443}"));
 ok($objKk->gt("\x{40E}", "\x{423}"));
 ok($objKk->gt("\x{4F1}", "\x{443}"));
@@ -111,90 +154,83 @@
 ok($objKk->gt("\x{4F8}", "\x{42B}"));
 ok($objKk->gt("\x{4ED}", "\x{44D}"));
 ok($objKk->gt("\x{4EC}", "\x{42D}"));
+ok($objKk->gt("\x{477}", "\x{475}"));
+ok($objKk->gt("\x{476}", "\x{474}"));
 
-# 76
+# 107
 
 $objKk->change(level => 3);
 
-ok($objKk->lt("\x{4E9}", "\x{4E8}"));
-ok($objKk->lt("\x{4B1}", "\x{4B0}"));
+ok($objKk->lt("\x{451}", "\x{401}"));
+ok($objKk->lt("\x{4AF}", "\x{4AE}"));
 ok($objKk->lt("\x{456}", "\x{406}"));
 
-ok($objKk->eq("\x{4EB}", "\x{4E9}\x{308}"));
-ok($objKk->eq("\x{4EA}", "\x{4E8}\x{308}"));
+# 110
 
-# 81
+ok($objKk->eq("\x{451}", "\x{435}\x{308}"));
+ok($objKk->eq("\x{401}", "\x{415}\x{308}"));
+ok($objKk->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
+ok($objKk->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
+ok($objKk->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
+ok($objKk->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
 
-ok($objKk->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objKk->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objKk->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objKk->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objKk->eq("\x{453}", "\x{433}\x{301}"));
-ok($objKk->eq("\x{403}", "\x{413}\x{301}"));
-ok($objKk->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objKk->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objKk->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objKk->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objKk->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objKk->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objKk->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objKk->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objKk->eq("\x{457}", "\x{456}\x{308}"));
-ok($objKk->eq("\x{407}", "\x{406}\x{308}"));
-ok($objKk->eq("\x{439}", "\x{438}\x{306}"));
-ok($objKk->eq("\x{419}", "\x{418}\x{306}"));
-ok($objKk->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objKk->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objKk->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objKk->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objKk->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objKk->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objKk->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objKk->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objKk->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objKk->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objKk->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objKk->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objKk->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objKk->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objKk->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objKk->eq("\x{4EC}", "\x{42D}\x{308}"));
+# 116
 
-# 115
+for my $i ("", "\0") {
+  ok($objKk->eq("\x{4D1}", "\x{430}$i\x{306}"));
+  ok($objKk->eq("\x{4D0}", "\x{410}$i\x{306}"));
+  ok($objKk->eq("\x{4D3}", "\x{430}$i\x{308}"));
+  ok($objKk->eq("\x{4D2}", "\x{410}$i\x{308}"));
+  ok($objKk->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+  ok($objKk->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+  ok($objKk->eq("\x{453}", "\x{433}$i\x{301}"));
+  ok($objKk->eq("\x{403}", "\x{413}$i\x{301}"));
+  ok($objKk->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+  ok($objKk->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+  ok($objKk->eq("\x{4D7}", "\x{435}$i\x{306}"));
+  ok($objKk->eq("\x{4D6}", "\x{415}$i\x{306}"));
+  ok($objKk->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+  ok($objKk->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+  ok($objKk->eq("\x{4DD}", "\x{436}$i\x{308}"));
+  ok($objKk->eq("\x{4DC}", "\x{416}$i\x{308}"));
+  ok($objKk->eq("\x{4DF}", "\x{437}$i\x{308}"));
+  ok($objKk->eq("\x{4DE}", "\x{417}$i\x{308}"));
+  ok($objKk->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+  ok($objKk->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+  ok($objKk->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+  ok($objKk->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+  ok($objKk->eq("\x{457}", "\x{456}$i\x{308}"));
+  ok($objKk->eq("\x{407}", "\x{406}$i\x{308}"));
+  ok($objKk->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+  ok($objKk->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+  ok($objKk->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+  ok($objKk->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+  ok($objKk->eq("\x{45C}", "\x{43A}$i\x{301}"));
+  ok($objKk->eq("\x{40C}", "\x{41A}$i\x{301}"));
+  ok($objKk->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+  ok($objKk->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+  ok($objKk->eq("\x{45E}", "\x{443}$i\x{306}"));
+  ok($objKk->eq("\x{40E}", "\x{423}$i\x{306}"));
+  ok($objKk->eq("\x{4F1}", "\x{443}$i\x{308}"));
+  ok($objKk->eq("\x{4F0}", "\x{423}$i\x{308}"));
+  ok($objKk->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+  ok($objKk->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+  ok($objKk->eq("\x{4F5}", "\x{447}$i\x{308}"));
+  ok($objKk->eq("\x{4F4}", "\x{427}$i\x{308}"));
+  ok($objKk->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+  ok($objKk->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+  ok($objKk->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+  ok($objKk->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+  ok($objKk->eq("\x{477}", "\x{475}$i\x{30F}"));
+  ok($objKk->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
 
-ok($objKk->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objKk->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objKk->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objKk->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objKk->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objKk->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objKk->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objKk->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objKk->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objKk->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objKk->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objKk->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objKk->eq("\x{4E5}", "\x{438}\0\x{308}"));
-ok($objKk->eq("\x{4E4}", "\x{418}\0\x{308}"));
-ok($objKk->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objKk->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objKk->eq("\x{439}", "\x{438}\0\x{306}"));
-ok($objKk->eq("\x{419}", "\x{418}\0\x{306}"));
-ok($objKk->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objKk->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objKk->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objKk->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objKk->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objKk->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objKk->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objKk->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objKk->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objKk->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objKk->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objKk->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objKk->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objKk->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objKk->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objKk->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+# 208
 
-# 149
+$objKk->change(upper_before_lower => 1);
+
+ok($objKk->gt("\x{451}", "\x{401}"));
+ok($objKk->gt("\x{4AF}", "\x{4AE}"));
+ok($objKk->gt("\x{456}", "\x{406}"));
+
+# 211


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_kk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_kl.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_kl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_kl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 101 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..101\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -49,7 +57,7 @@
 ok($objKl->lt('z', $ae));
 ok($objKl->lt($ae, $ostk));
 ok($objKl->lt($ostk, $arng));
-ok($objKl->lt($arng, "\x{292}"));
+ok($objKl->lt($arng, "\x{1C0}"));
 
 # 6
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_kl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ko.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ko.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ko.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 52 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..52\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ko.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_lt.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_lt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_lt.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 55 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..69\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -38,47 +46,68 @@
 
 # 8
 
-ok($objLt->eq( "\x{328}",  "\x{307}"));
+ok($objLt->eq("a", "a\x{328}"));
+ok($objLt->eq("e", "e\x{328}"));
 ok($objLt->eq("e\x{328}", "e\x{307}"));
-ok($objLt->eq("i\x{328}", "i\x{307}"));
-ok($objLt->eq('i', 'y'));
+ok($objLt->eq("i", "i\x{328}"));
+ok($objLt->eq("y", "i\x{328}"));
+ok($objLt->eq("u", "u\x{328}"));
+ok($objLt->eq("u\x{328}", "u\x{304}"));
 
+# 15
+
 $objLt->change(level => 2);
 
-ok($objLt->lt( "\x{328}",  "\x{307}"));
+ok($objLt->lt("a", "a\x{328}"));
+ok($objLt->lt("e", "e\x{328}"));
 ok($objLt->lt("e\x{328}", "e\x{307}"));
-ok($objLt->lt("i\x{328}", "i\x{307}"));
-ok($objLt->lt('i', 'y'));
+ok($objLt->lt("i", "i\x{328}"));
+ok($objLt->gt("y", "i\x{328}"));
+ok($objLt->lt("u", "u\x{328}"));
+ok($objLt->lt("u\x{328}", "u\x{304}"));
 
-# 16
+# 22
 
 ok($objLt->eq("c\x{30C}", "C\x{30C}"));
 ok($objLt->eq("s\x{30C}", "S\x{30C}"));
 ok($objLt->eq("z\x{30C}", "Z\x{30C}"));
-ok($objLt->eq('y', 'Y'));
-ok($objLt->eq("e\x{307}", "E\x{307}"));
+
 ok($objLt->eq("i\x{307}", "I\x{307}"));
+ok($objLt->eq("y", "Y"));
+
 ok($objLt->eq("a\x{328}", "A\x{328}"));
 ok($objLt->eq("e\x{328}", "E\x{328}"));
+ok($objLt->eq("e\x{307}", "E\x{307}"));
 ok($objLt->eq("i\x{328}", "I\x{328}"));
 ok($objLt->eq("u\x{328}", "U\x{328}"));
+ok($objLt->eq("u\x{304}", "U\x{304}"));
 
-# 26
+# 33
 
+# according to CLDR tests
+ok($objLt->gt("I\x{307}\x{300}", "I\x{300}"));
+ok($objLt->gt("I\x{307}\x{301}", "I\x{301}"));
+ok($objLt->gt("I\x{307}\x{303}", "I\x{303}"));
+
+# 36
+
 $objLt->change(level => 3);
 
 ok($objLt->lt("c\x{30C}", "C\x{30C}"));
 ok($objLt->lt("s\x{30C}", "S\x{30C}"));
 ok($objLt->lt("z\x{30C}", "Z\x{30C}"));
-ok($objLt->lt('y', 'Y'));
-ok($objLt->lt("e\x{307}", "E\x{307}"));
+
 ok($objLt->lt("i\x{307}", "I\x{307}"));
+ok($objLt->lt("y", "Y"));
+
 ok($objLt->lt("a\x{328}", "A\x{328}"));
 ok($objLt->lt("e\x{328}", "E\x{328}"));
+ok($objLt->lt("e\x{307}", "E\x{307}"));
 ok($objLt->lt("i\x{328}", "I\x{328}"));
 ok($objLt->lt("u\x{328}", "U\x{328}"));
+ok($objLt->lt("u\x{304}", "U\x{304}"));
 
-# 36
+# 47
 
 ok($objLt->eq("c\x{30C}", "\x{10D}"));
 ok($objLt->eq("C\x{30C}", "\x{10C}"));
@@ -86,16 +115,15 @@
 ok($objLt->eq("S\x{30C}", "\x{160}"));
 ok($objLt->eq("z\x{30C}", "\x{17E}"));
 ok($objLt->eq("Z\x{30C}", "\x{17D}"));
-ok($objLt->eq("e\x{307}", "\x{117}"));
-ok($objLt->eq("E\x{307}", "\x{116}"));
+
 ok($objLt->eq("I\x{307}", "\x{130}"));
 
-# 45
-
 ok($objLt->eq("a\x{328}", "\x{105}"));
 ok($objLt->eq("A\x{328}", "\x{104}"));
 ok($objLt->eq("e\x{328}", "\x{119}"));
 ok($objLt->eq("E\x{328}", "\x{118}"));
+ok($objLt->eq("e\x{307}", "\x{117}"));
+ok($objLt->eq("E\x{307}", "\x{116}"));
 ok($objLt->eq("i\x{328}", "\x{12F}"));
 ok($objLt->eq("I\x{328}", "\x{12E}"));
 ok($objLt->eq("u\x{328}", "\x{173}"));
@@ -103,4 +131,10 @@
 ok($objLt->eq("u\x{304}", "\x{16B}"));
 ok($objLt->eq("U\x{304}", "\x{16A}"));
 
-# 55
+# 66
+
+ok($objLt->eq("i\x{307}\x{300}", "i\x{300}"));
+ok($objLt->eq("i\x{307}\x{301}", "i\x{301}"));
+ok($objLt->eq("i\x{307}\x{303}", "i\x{303}"));
+
+# 69


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_lt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_lv.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_lv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_lv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 50 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..50\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_lv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_mk.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_mk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_mk.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 130 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..202\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,10 +37,10 @@
 
 $objMk->change(level => 1);
 
-ok($objMk->gt("\x{4E5}", "\x{438}"));
-ok($objMk->gt("\x{4E4}", "\x{418}"));
-ok($objMk->gt("\x{439}", "\x{438}"));
-ok($objMk->gt("\x{419}", "\x{418}"));
+ok($objMk->gt("\x{453}", "\x{433}")); # not suppressed
+ok($objMk->gt("\x{403}", "\x{413}")); # not suppressed
+ok($objMk->gt("\x{45C}", "\x{43A}")); # not suppressed
+ok($objMk->gt("\x{40C}", "\x{41A}")); # not suppressed
 
 # 6
 
@@ -40,20 +48,36 @@
 ok($objMk->eq("\x{4D0}", "\x{410}"));
 ok($objMk->eq("\x{4D3}", "\x{430}"));
 ok($objMk->eq("\x{4D2}", "\x{410}"));
-ok($objMk->eq("\x{453}", "\x{433}"));
-ok($objMk->eq("\x{403}", "\x{413}"));
+ok($objMk->eq("\x{4DB}", "\x{4D9}"));
+ok($objMk->eq("\x{4DA}", "\x{4D8}"));
+ok($objMk->eq("\x{450}", "\x{435}")); # not contraction
+ok($objMk->eq("\x{400}", "\x{415}")); # not contraction
+ok($objMk->eq("\x{451}", "\x{435}")); # not contraction
+ok($objMk->eq("\x{401}", "\x{415}")); # not contraction
 ok($objMk->eq("\x{4D7}", "\x{435}"));
 ok($objMk->eq("\x{4D6}", "\x{415}"));
+ok($objMk->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objMk->eq("\x{4C1}", "\x{416}")); # not contraction
 ok($objMk->eq("\x{4DD}", "\x{436}"));
 ok($objMk->eq("\x{4DC}", "\x{416}"));
 ok($objMk->eq("\x{4DF}", "\x{437}"));
 ok($objMk->eq("\x{4DE}", "\x{417}"));
+ok($objMk->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objMk->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objMk->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objMk->eq("\x{4E2}", "\x{418}")); # not contraction
+ok($objMk->eq("\x{4E5}", "\x{438}"));
+ok($objMk->eq("\x{4E4}", "\x{418}"));
 ok($objMk->eq("\x{457}", "\x{456}"));
 ok($objMk->eq("\x{407}", "\x{406}"));
+ok($objMk->eq("\x{439}", "\x{438}"));
+ok($objMk->eq("\x{419}", "\x{418}"));
 ok($objMk->eq("\x{4E7}", "\x{43E}"));
 ok($objMk->eq("\x{4E6}", "\x{41E}"));
-ok($objMk->eq("\x{45C}", "\x{43A}"));
-ok($objMk->eq("\x{40C}", "\x{41A}"));
+ok($objMk->eq("\x{4EB}", "\x{4E9}"));
+ok($objMk->eq("\x{4EA}", "\x{4E8}"));
+ok($objMk->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objMk->eq("\x{4EE}", "\x{423}")); # not contraction
 ok($objMk->eq("\x{45E}", "\x{443}"));
 ok($objMk->eq("\x{40E}", "\x{423}"));
 ok($objMk->eq("\x{4F1}", "\x{443}"));
@@ -66,8 +90,10 @@
 ok($objMk->eq("\x{4F8}", "\x{42B}"));
 ok($objMk->eq("\x{4ED}", "\x{44D}"));
 ok($objMk->eq("\x{4EC}", "\x{42D}"));
+ok($objMk->eq("\x{477}", "\x{475}"));
+ok($objMk->eq("\x{476}", "\x{474}"));
 
-# 36
+# 54
 
 $objMk->change(level => 2);
 
@@ -75,20 +101,36 @@
 ok($objMk->gt("\x{4D0}", "\x{410}"));
 ok($objMk->gt("\x{4D3}", "\x{430}"));
 ok($objMk->gt("\x{4D2}", "\x{410}"));
-ok($objMk->gt("\x{453}", "\x{433}"));
-ok($objMk->gt("\x{403}", "\x{413}"));
+ok($objMk->gt("\x{4DB}", "\x{4D9}"));
+ok($objMk->gt("\x{4DA}", "\x{4D8}"));
+ok($objMk->gt("\x{450}", "\x{435}")); # not contraction
+ok($objMk->gt("\x{400}", "\x{415}")); # not contraction
+ok($objMk->gt("\x{451}", "\x{435}")); # not contraction
+ok($objMk->gt("\x{401}", "\x{415}")); # not contraction
 ok($objMk->gt("\x{4D7}", "\x{435}"));
 ok($objMk->gt("\x{4D6}", "\x{415}"));
+ok($objMk->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objMk->gt("\x{4C1}", "\x{416}")); # not contraction
 ok($objMk->gt("\x{4DD}", "\x{436}"));
 ok($objMk->gt("\x{4DC}", "\x{416}"));
 ok($objMk->gt("\x{4DF}", "\x{437}"));
 ok($objMk->gt("\x{4DE}", "\x{417}"));
+ok($objMk->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objMk->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objMk->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objMk->gt("\x{4E2}", "\x{418}")); # not contraction
+ok($objMk->gt("\x{4E5}", "\x{438}"));
+ok($objMk->gt("\x{4E4}", "\x{418}"));
 ok($objMk->gt("\x{457}", "\x{456}"));
 ok($objMk->gt("\x{407}", "\x{406}"));
+ok($objMk->gt("\x{439}", "\x{438}"));
+ok($objMk->gt("\x{419}", "\x{418}"));
 ok($objMk->gt("\x{4E7}", "\x{43E}"));
 ok($objMk->gt("\x{4E6}", "\x{41E}"));
-ok($objMk->gt("\x{45C}", "\x{43A}"));
-ok($objMk->gt("\x{40C}", "\x{41A}"));
+ok($objMk->gt("\x{4EB}", "\x{4E9}"));
+ok($objMk->gt("\x{4EA}", "\x{4E8}"));
+ok($objMk->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objMk->gt("\x{4EE}", "\x{423}")); # not contraction
 ok($objMk->gt("\x{45E}", "\x{443}"));
 ok($objMk->gt("\x{40E}", "\x{423}"));
 ok($objMk->gt("\x{4F1}", "\x{443}"));
@@ -101,77 +143,69 @@
 ok($objMk->gt("\x{4F8}", "\x{42B}"));
 ok($objMk->gt("\x{4ED}", "\x{44D}"));
 ok($objMk->gt("\x{4EC}", "\x{42D}"));
+ok($objMk->gt("\x{477}", "\x{475}"));
+ok($objMk->gt("\x{476}", "\x{474}"));
 
-# 66
+# 102
 
 $objMk->change(level => 3);
 
-ok($objMk->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objMk->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objMk->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objMk->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objMk->eq("\x{453}", "\x{433}\x{301}"));
-ok($objMk->eq("\x{403}", "\x{413}\x{301}"));
-ok($objMk->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objMk->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objMk->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objMk->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objMk->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objMk->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objMk->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objMk->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objMk->eq("\x{457}", "\x{456}\x{308}"));
-ok($objMk->eq("\x{407}", "\x{406}\x{308}"));
-ok($objMk->eq("\x{439}", "\x{438}\x{306}"));
-ok($objMk->eq("\x{419}", "\x{418}\x{306}"));
-ok($objMk->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objMk->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objMk->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objMk->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objMk->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objMk->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objMk->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objMk->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objMk->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objMk->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objMk->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objMk->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objMk->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objMk->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objMk->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objMk->eq("\x{4EC}", "\x{42D}\x{308}"));
+ok($objMk->eq("\x{453}", "\x{433}\x{301}")); # not suppressed
+ok($objMk->eq("\x{403}", "\x{413}\x{301}")); # not suppressed
+ok($objMk->eq("\x{45C}", "\x{43A}\x{301}")); # not suppressed
+ok($objMk->eq("\x{40C}", "\x{41A}\x{301}")); # not suppressed
 
-# 100
+# 106
 
-ok($objMk->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objMk->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objMk->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objMk->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objMk->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objMk->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objMk->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objMk->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objMk->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objMk->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objMk->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objMk->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objMk->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objMk->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objMk->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objMk->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objMk->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objMk->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objMk->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objMk->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objMk->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objMk->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objMk->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objMk->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objMk->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objMk->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objMk->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objMk->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objMk->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objMk->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+for my $i ("", "\0") {
+  ok($objMk->eq("\x{4D1}", "\x{430}$i\x{306}"));
+  ok($objMk->eq("\x{4D0}", "\x{410}$i\x{306}"));
+  ok($objMk->eq("\x{4D3}", "\x{430}$i\x{308}"));
+  ok($objMk->eq("\x{4D2}", "\x{410}$i\x{308}"));
+  ok($objMk->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+  ok($objMk->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+  ok($objMk->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+  ok($objMk->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+  ok($objMk->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+  ok($objMk->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+  ok($objMk->eq("\x{4D7}", "\x{435}$i\x{306}"));
+  ok($objMk->eq("\x{4D6}", "\x{415}$i\x{306}"));
+  ok($objMk->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+  ok($objMk->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+  ok($objMk->eq("\x{4DD}", "\x{436}$i\x{308}"));
+  ok($objMk->eq("\x{4DC}", "\x{416}$i\x{308}"));
+  ok($objMk->eq("\x{4DF}", "\x{437}$i\x{308}"));
+  ok($objMk->eq("\x{4DE}", "\x{417}$i\x{308}"));
+  ok($objMk->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+  ok($objMk->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+  ok($objMk->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+  ok($objMk->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+  ok($objMk->eq("\x{4E5}", "\x{438}$i\x{308}"));
+  ok($objMk->eq("\x{4E4}", "\x{418}$i\x{308}"));
+  ok($objMk->eq("\x{457}", "\x{456}$i\x{308}"));
+  ok($objMk->eq("\x{407}", "\x{406}$i\x{308}"));
+  ok($objMk->eq("\x{439}", "\x{438}$i\x{306}"));
+  ok($objMk->eq("\x{419}", "\x{418}$i\x{306}"));
+  ok($objMk->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+  ok($objMk->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+  ok($objMk->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+  ok($objMk->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+  ok($objMk->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+  ok($objMk->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+  ok($objMk->eq("\x{45E}", "\x{443}$i\x{306}"));
+  ok($objMk->eq("\x{40E}", "\x{423}$i\x{306}"));
+  ok($objMk->eq("\x{4F1}", "\x{443}$i\x{308}"));
+  ok($objMk->eq("\x{4F0}", "\x{423}$i\x{308}"));
+  ok($objMk->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+  ok($objMk->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+  ok($objMk->eq("\x{4F5}", "\x{447}$i\x{308}"));
+  ok($objMk->eq("\x{4F4}", "\x{427}$i\x{308}"));
+  ok($objMk->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+  ok($objMk->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+  ok($objMk->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+  ok($objMk->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+  ok($objMk->eq("\x{477}", "\x{475}$i\x{30F}"));
+  ok($objMk->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
 
-# 130
+# 202


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_mk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_mt.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_mt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_mt.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 50 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..50\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,8 +37,8 @@
 
 $objMt->change(level => 1);
 
-ok($objMt->lt("c", "c\x{307}"));
-ok($objMt->gt("d", "c\x{307}"));
+ok($objMt->lt("b", "c\x{307}"));
+ok($objMt->gt("c", "c\x{307}"));
 ok($objMt->lt("f", "g\x{307}"));
 ok($objMt->gt("g", "g\x{307}"));
 ok($objMt->lt("g", "gh\x{335}"));


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_mt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_nb.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_nb.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_nb.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 95 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..101\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -49,7 +57,7 @@
 ok($objNb->lt('z', $ae));
 ok($objNb->lt($ae, $ostk));
 ok($objNb->lt($ostk, $arng));
-ok($objNb->lt($arng, "\x{292}"));
+ok($objNb->lt($arng, "\x{1C0}"));
 
 # 6
 
@@ -62,8 +70,9 @@
 ok($objNb->eq($ostk, $ouml));
 ok($objNb->eq($ouml, "\x{151}"));
 ok($objNb->eq("\x{151}", "\x{153}"));
+ok($objNb->eq($arng, 'aa'));
 
-# 15
+# 16
 
 $objNb->change(level => 2);
 
@@ -76,8 +85,9 @@
 ok($objNb->lt($ostk, $ouml));
 ok($objNb->lt($ouml, "\x{151}"));
 ok($objNb->lt("\x{151}", "\x{153}"));
+ok($objNb->lt($arng, 'aa'));
 
-# 24
+# 26
 
 ok($objNb->eq("\x{111}", "\x{110}"));
 ok($objNb->eq($eth,  $ETH));
@@ -95,8 +105,10 @@
 ok($objNb->eq("\x{151}", "\x{150}"));
 ok($objNb->eq("\x{153}", "\x{152}"));
 ok($objNb->eq($arng, $Arng));
+ok($objNb->eq('aa', 'Aa'));
+ok($objNb->eq('Aa', 'AA'));
 
-# 40
+# 44
 
 $objNb->change(level => 3);
 
@@ -116,8 +128,10 @@
 ok($objNb->lt("\x{151}", "\x{150}"));
 ok($objNb->lt("\x{153}", "\x{152}"));
 ok($objNb->lt($arng, $Arng));
+ok($objNb->lt('aa', 'Aa'));
+ok($objNb->lt('Aa', 'AA'));
 
-# 56
+# 62
 
 ok($objNb->eq("d\x{335}", "\x{111}"));
 ok($objNb->eq("D\x{335}", "\x{110}"));
@@ -138,7 +152,7 @@
 ok($objNb->eq("a\x{30A}", $arng));
 ok($objNb->eq("A\x{30A}", $Arng));
 
-# 74
+# 80
 
 ok($objNb->eq("u\x{308}\x{300}", "\x{1DC}"));
 ok($objNb->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -162,4 +176,4 @@
 ok($objNb->eq("a\x{30A}\x{301}", "\x{1FB}"));
 ok($objNb->eq("A\x{30A}\x{301}", "\x{1FA}"));
 
-# 95
+# 101


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_nb.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_nn.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_nn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_nn.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 95 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..101\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -49,7 +57,7 @@
 ok($objNn->lt('z', $ae));
 ok($objNn->lt($ae, $ostk));
 ok($objNn->lt($ostk, $arng));
-ok($objNn->lt($arng, "\x{292}"));
+ok($objNn->lt($arng, "\x{1C0}"));
 
 # 6
 
@@ -62,8 +70,9 @@
 ok($objNn->eq($ostk, $ouml));
 ok($objNn->eq($ouml, "\x{151}"));
 ok($objNn->eq("\x{151}", "\x{153}"));
+ok($objNn->eq($arng, 'aa'));
 
-# 15
+# 16
 
 $objNn->change(level => 2);
 
@@ -76,8 +85,9 @@
 ok($objNn->lt($ostk, $ouml));
 ok($objNn->lt($ouml, "\x{151}"));
 ok($objNn->lt("\x{151}", "\x{153}"));
+ok($objNn->lt($arng, 'aa'));
 
-# 24
+# 26
 
 ok($objNn->eq("\x{111}", "\x{110}"));
 ok($objNn->eq($eth,  $ETH));
@@ -95,8 +105,10 @@
 ok($objNn->eq("\x{151}", "\x{150}"));
 ok($objNn->eq("\x{153}", "\x{152}"));
 ok($objNn->eq($arng, $Arng));
+ok($objNn->eq('aa', 'Aa'));
+ok($objNn->eq('Aa', 'AA'));
 
-# 40
+# 44
 
 $objNn->change(level => 3);
 
@@ -116,8 +128,10 @@
 ok($objNn->lt("\x{151}", "\x{150}"));
 ok($objNn->lt("\x{153}", "\x{152}"));
 ok($objNn->lt($arng, $Arng));
+ok($objNn->lt('aa', 'Aa'));
+ok($objNn->lt('Aa', 'AA'));
 
-# 56
+# 62
 
 ok($objNn->eq("d\x{335}", "\x{111}"));
 ok($objNn->eq("D\x{335}", "\x{110}"));
@@ -138,7 +152,7 @@
 ok($objNn->eq("a\x{30A}", $arng));
 ok($objNn->eq("A\x{30A}", $Arng));
 
-# 74
+# 80
 
 ok($objNn->eq("u\x{308}\x{300}", "\x{1DC}"));
 ok($objNn->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -162,4 +176,4 @@
 ok($objNn->eq("a\x{30A}\x{301}", "\x{1FB}"));
 ok($objNn->eq("A\x{30A}\x{301}", "\x{1FA}"));
 
-# 95
+# 101


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_nn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_nso.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_nso.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_nso.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 40 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..40\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_nso.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_om.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_om.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_om.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 41 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..41\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_om.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 65 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..65\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_pl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ro.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ro.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ro.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 71 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..71\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -32,7 +40,7 @@
 ok($objRo->lt("a", "a\x{306}"));
 ok($objRo->lt("a\x{306}", "a\x{302}"));
 ok($objRo->gt("b", "a\x{302}"));
-ok($objRo->lt("d", "d\x{335}"));
+ok($objRo->eq("d", "d\x{335}")); # not tailored in CLDR 2.0
 ok($objRo->gt("e", "d\x{335}"));
 ok($objRo->lt("i", "i\x{302}"));
 ok($objRo->gt("j", "i\x{302}"));
@@ -40,7 +48,7 @@
 ok($objRo->gt("t", "s\x{327}"));
 ok($objRo->lt("t", "t\x{327}"));
 ok($objRo->gt("u", "t\x{327}"));
-ok($objRo->lt("z", "z\x{307}"));
+ok($objRo->eq("z", "z\x{307}")); # not tailored in CLDR 2.0
 ok($objRo->lt("z\x{307}", "\x{292}")); # U+0292 EZH
 
 # 15


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ro.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ru.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_ru.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_ru.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 130 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..202\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,10 +37,10 @@
 
 $objRu->change(level => 1);
 
-ok($objRu->gt("\x{4E5}", "\x{438}"));
-ok($objRu->gt("\x{4E4}", "\x{418}"));
-ok($objRu->gt("\x{439}", "\x{438}"));
-ok($objRu->gt("\x{419}", "\x{418}"));
+ok($objRu->gt("\x{4E5}", "\x{438}")); # not suppressed
+ok($objRu->gt("\x{4E4}", "\x{418}")); # not suppressed
+ok($objRu->gt("\x{439}", "\x{438}")); # not suppressed
+ok($objRu->gt("\x{419}", "\x{418}")); # not suppressed
 
 # 6
 
@@ -40,20 +48,36 @@
 ok($objRu->eq("\x{4D0}", "\x{410}"));
 ok($objRu->eq("\x{4D3}", "\x{430}"));
 ok($objRu->eq("\x{4D2}", "\x{410}"));
+ok($objRu->eq("\x{4DB}", "\x{4D9}"));
+ok($objRu->eq("\x{4DA}", "\x{4D8}"));
 ok($objRu->eq("\x{453}", "\x{433}"));
 ok($objRu->eq("\x{403}", "\x{413}"));
+ok($objRu->eq("\x{450}", "\x{435}")); # not contraction
+ok($objRu->eq("\x{400}", "\x{415}")); # not contraction
+ok($objRu->eq("\x{451}", "\x{435}")); # not contraction
+ok($objRu->eq("\x{401}", "\x{415}")); # not contraction
 ok($objRu->eq("\x{4D7}", "\x{435}"));
 ok($objRu->eq("\x{4D6}", "\x{415}"));
+ok($objRu->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objRu->eq("\x{4C1}", "\x{416}")); # not contraction
 ok($objRu->eq("\x{4DD}", "\x{436}"));
 ok($objRu->eq("\x{4DC}", "\x{416}"));
 ok($objRu->eq("\x{4DF}", "\x{437}"));
 ok($objRu->eq("\x{4DE}", "\x{417}"));
+ok($objRu->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objRu->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objRu->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objRu->eq("\x{4E2}", "\x{418}")); # not contraction
 ok($objRu->eq("\x{457}", "\x{456}"));
 ok($objRu->eq("\x{407}", "\x{406}"));
 ok($objRu->eq("\x{4E7}", "\x{43E}"));
 ok($objRu->eq("\x{4E6}", "\x{41E}"));
+ok($objRu->eq("\x{4EB}", "\x{4E9}"));
+ok($objRu->eq("\x{4EA}", "\x{4E8}"));
 ok($objRu->eq("\x{45C}", "\x{43A}"));
 ok($objRu->eq("\x{40C}", "\x{41A}"));
+ok($objRu->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objRu->eq("\x{4EE}", "\x{423}")); # not contraction
 ok($objRu->eq("\x{45E}", "\x{443}"));
 ok($objRu->eq("\x{40E}", "\x{423}"));
 ok($objRu->eq("\x{4F1}", "\x{443}"));
@@ -66,8 +90,10 @@
 ok($objRu->eq("\x{4F8}", "\x{42B}"));
 ok($objRu->eq("\x{4ED}", "\x{44D}"));
 ok($objRu->eq("\x{4EC}", "\x{42D}"));
+ok($objRu->eq("\x{477}", "\x{475}"));
+ok($objRu->eq("\x{476}", "\x{474}"));
 
-# 36
+# 54
 
 $objRu->change(level => 2);
 
@@ -75,20 +101,36 @@
 ok($objRu->gt("\x{4D0}", "\x{410}"));
 ok($objRu->gt("\x{4D3}", "\x{430}"));
 ok($objRu->gt("\x{4D2}", "\x{410}"));
+ok($objRu->gt("\x{4DB}", "\x{4D9}"));
+ok($objRu->gt("\x{4DA}", "\x{4D8}"));
 ok($objRu->gt("\x{453}", "\x{433}"));
 ok($objRu->gt("\x{403}", "\x{413}"));
+ok($objRu->gt("\x{450}", "\x{435}")); # not contraction
+ok($objRu->gt("\x{400}", "\x{415}")); # not contraction
+ok($objRu->gt("\x{451}", "\x{435}")); # not contraction
+ok($objRu->gt("\x{401}", "\x{415}")); # not contraction
 ok($objRu->gt("\x{4D7}", "\x{435}"));
 ok($objRu->gt("\x{4D6}", "\x{415}"));
+ok($objRu->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objRu->gt("\x{4C1}", "\x{416}")); # not contraction
 ok($objRu->gt("\x{4DD}", "\x{436}"));
 ok($objRu->gt("\x{4DC}", "\x{416}"));
 ok($objRu->gt("\x{4DF}", "\x{437}"));
 ok($objRu->gt("\x{4DE}", "\x{417}"));
+ok($objRu->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objRu->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objRu->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objRu->gt("\x{4E2}", "\x{418}")); # not contraction
 ok($objRu->gt("\x{457}", "\x{456}"));
 ok($objRu->gt("\x{407}", "\x{406}"));
 ok($objRu->gt("\x{4E7}", "\x{43E}"));
 ok($objRu->gt("\x{4E6}", "\x{41E}"));
+ok($objRu->gt("\x{4EB}", "\x{4E9}"));
+ok($objRu->gt("\x{4EA}", "\x{4E8}"));
 ok($objRu->gt("\x{45C}", "\x{43A}"));
 ok($objRu->gt("\x{40C}", "\x{41A}"));
+ok($objRu->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objRu->gt("\x{4EE}", "\x{423}")); # not contraction
 ok($objRu->gt("\x{45E}", "\x{443}"));
 ok($objRu->gt("\x{40E}", "\x{423}"));
 ok($objRu->gt("\x{4F1}", "\x{443}"));
@@ -101,77 +143,69 @@
 ok($objRu->gt("\x{4F8}", "\x{42B}"));
 ok($objRu->gt("\x{4ED}", "\x{44D}"));
 ok($objRu->gt("\x{4EC}", "\x{42D}"));
+ok($objRu->gt("\x{477}", "\x{475}"));
+ok($objRu->gt("\x{476}", "\x{474}"));
 
-# 66
+# 102
 
 $objRu->change(level => 3);
 
-ok($objRu->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objRu->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objRu->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objRu->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objRu->eq("\x{453}", "\x{433}\x{301}"));
-ok($objRu->eq("\x{403}", "\x{413}\x{301}"));
-ok($objRu->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objRu->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objRu->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objRu->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objRu->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objRu->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objRu->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objRu->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objRu->eq("\x{457}", "\x{456}\x{308}"));
-ok($objRu->eq("\x{407}", "\x{406}\x{308}"));
-ok($objRu->eq("\x{439}", "\x{438}\x{306}"));
-ok($objRu->eq("\x{419}", "\x{418}\x{306}"));
-ok($objRu->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objRu->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objRu->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objRu->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objRu->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objRu->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objRu->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objRu->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objRu->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objRu->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objRu->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objRu->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objRu->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objRu->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objRu->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objRu->eq("\x{4EC}", "\x{42D}\x{308}"));
+ok($objRu->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
+ok($objRu->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
+ok($objRu->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
+ok($objRu->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
 
-# 100
+# 106
 
-ok($objRu->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objRu->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objRu->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objRu->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objRu->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objRu->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objRu->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objRu->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objRu->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objRu->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objRu->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objRu->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objRu->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objRu->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objRu->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objRu->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objRu->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objRu->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objRu->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objRu->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objRu->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objRu->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objRu->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objRu->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objRu->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objRu->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objRu->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objRu->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objRu->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objRu->eq("\x{4EC}", "\x{42D}\0\x{308}"));
+for my $i ("", "\0") {
+  ok($objRu->eq("\x{4D1}", "\x{430}$i\x{306}"));
+  ok($objRu->eq("\x{4D0}", "\x{410}$i\x{306}"));
+  ok($objRu->eq("\x{4D3}", "\x{430}$i\x{308}"));
+  ok($objRu->eq("\x{4D2}", "\x{410}$i\x{308}"));
+  ok($objRu->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+  ok($objRu->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+  ok($objRu->eq("\x{453}", "\x{433}$i\x{301}"));
+  ok($objRu->eq("\x{403}", "\x{413}$i\x{301}"));
+  ok($objRu->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+  ok($objRu->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+  ok($objRu->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+  ok($objRu->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+  ok($objRu->eq("\x{4D7}", "\x{435}$i\x{306}"));
+  ok($objRu->eq("\x{4D6}", "\x{415}$i\x{306}"));
+  ok($objRu->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+  ok($objRu->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+  ok($objRu->eq("\x{4DD}", "\x{436}$i\x{308}"));
+  ok($objRu->eq("\x{4DC}", "\x{416}$i\x{308}"));
+  ok($objRu->eq("\x{4DF}", "\x{437}$i\x{308}"));
+  ok($objRu->eq("\x{4DE}", "\x{417}$i\x{308}"));
+  ok($objRu->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+  ok($objRu->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+  ok($objRu->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+  ok($objRu->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+  ok($objRu->eq("\x{457}", "\x{456}$i\x{308}"));
+  ok($objRu->eq("\x{407}", "\x{406}$i\x{308}"));
+  ok($objRu->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+  ok($objRu->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+  ok($objRu->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+  ok($objRu->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+  ok($objRu->eq("\x{45C}", "\x{43A}$i\x{301}"));
+  ok($objRu->eq("\x{40C}", "\x{41A}$i\x{301}"));
+  ok($objRu->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+  ok($objRu->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+  ok($objRu->eq("\x{45E}", "\x{443}$i\x{306}"));
+  ok($objRu->eq("\x{40E}", "\x{423}$i\x{306}"));
+  ok($objRu->eq("\x{4F1}", "\x{443}$i\x{308}"));
+  ok($objRu->eq("\x{4F0}", "\x{423}$i\x{308}"));
+  ok($objRu->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+  ok($objRu->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+  ok($objRu->eq("\x{4F5}", "\x{447}$i\x{308}"));
+  ok($objRu->eq("\x{4F4}", "\x{427}$i\x{308}"));
+  ok($objRu->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+  ok($objRu->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+  ok($objRu->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+  ok($objRu->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+  ok($objRu->eq("\x{477}", "\x{475}$i\x{30F}"));
+  ok($objRu->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
 
-# 130
+# 202


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_ru.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 217 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..217\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_se.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sk.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_sk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_sk.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 52 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..58\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -37,12 +45,14 @@
 ok($objSk->gt("i", "ch"));
 ok($objSk->lt("o", "o\x{302}"));
 ok($objSk->gt("p", "o\x{302}"));
+ok($objSk->lt("r", "r\x{30C}"));
+ok($objSk->gt("s", "r\x{30C}"));
 ok($objSk->lt("s", "s\x{30C}"));
 ok($objSk->gt("t", "s\x{30C}"));
 ok($objSk->lt("z", "z\x{30C}"));
 ok($objSk->lt("z\x{30C}", "\x{292}")); # U+0292 EZH
 
-# 14
+# 16
 
 $objSk->change(level => 2);
 
@@ -49,6 +59,7 @@
 ok($objSk->eq("a\x{308}", "A\x{308}"));
 ok($objSk->eq("c\x{30C}", "C\x{30C}"));
 ok($objSk->eq("o\x{302}", "O\x{302}"));
+ok($objSk->eq("r\x{30C}", "R\x{30C}"));
 ok($objSk->eq("s\x{30C}", "S\x{30C}"));
 ok($objSk->eq("z\x{30C}", "Z\x{30C}"));
 ok($objSk->eq("ch", "cH"));
@@ -55,7 +66,7 @@
 ok($objSk->eq("cH", "Ch"));
 ok($objSk->eq("Ch", "CH"));
 
-# 22
+# 25
 
 $objSk->change(level => 3);
 
@@ -62,6 +73,7 @@
 ok($objSk->lt("a\x{308}", "A\x{308}"));
 ok($objSk->lt("c\x{30C}", "C\x{30C}"));
 ok($objSk->lt("o\x{302}", "O\x{302}"));
+ok($objSk->lt("r\x{30C}", "R\x{30C}"));
 ok($objSk->lt("s\x{30C}", "S\x{30C}"));
 ok($objSk->lt("z\x{30C}", "Z\x{30C}"));
 ok($objSk->lt("ch", "cH"));
@@ -68,7 +80,7 @@
 ok($objSk->lt("cH", "Ch"));
 ok($objSk->lt("Ch", "CH"));
 
-# 30
+# 34
 
 ok($objSk->eq("a\x{308}", pack('U', 0xE4)));
 ok($objSk->eq("A\x{308}", pack('U', 0xC4)));
@@ -78,12 +90,14 @@
 ok($objSk->eq("C\x{30C}", "\x{10C}"));
 ok($objSk->eq("o\x{302}", pack('U', 0xF4)));
 ok($objSk->eq("O\x{302}", pack('U', 0xD4)));
+ok($objSk->eq("r\x{30C}", "\x{159}"));
+ok($objSk->eq("R\x{30C}", "\x{158}"));
 ok($objSk->eq("s\x{30C}", "\x{161}"));
 ok($objSk->eq("S\x{30C}", "\x{160}"));
 ok($objSk->eq("z\x{30C}", "\x{17E}"));
 ok($objSk->eq("Z\x{30C}", "\x{17D}"));
 
-# 42
+# 48
 
 ok($objSk->eq("o\x{302}\x{300}", "\x{1ED3}"));
 ok($objSk->eq("O\x{302}\x{300}", "\x{1ED2}"));
@@ -96,4 +110,4 @@
 ok($objSk->eq("o\x{302}\x{323}", "\x{1ED9}"));
 ok($objSk->eq("O\x{302}\x{323}", "\x{1ED8}"));
 
-# 52
+# 58


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sl.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_sl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_sl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 20 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..20\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sq.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_sq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_sq.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 126 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..126\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -61,7 +69,7 @@
 ok($objSq->gt("y", "xh"));
 ok($objSq->lt("z", "zh"));
 ok($objSq->lt("zz","zh"));
-ok($objSq->lt("zh", "\x{1B7}"));
+ok($objSq->lt("zh","\x{1B7}"));
 
 # 35
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sq.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sr.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_sr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_sr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 130 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..210\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,31 +37,44 @@
 
 $objSr->change(level => 1);
 
-ok($objSr->gt("\x{4E5}", "\x{438}"));
-ok($objSr->gt("\x{4E4}", "\x{418}"));
-ok($objSr->gt("\x{439}", "\x{438}"));
-ok($objSr->gt("\x{419}", "\x{418}"));
-
-# 6
-
 ok($objSr->eq("\x{4D1}", "\x{430}"));
 ok($objSr->eq("\x{4D0}", "\x{410}"));
 ok($objSr->eq("\x{4D3}", "\x{430}"));
 ok($objSr->eq("\x{4D2}", "\x{410}"));
+ok($objSr->eq("\x{4DB}", "\x{4D9}"));
+ok($objSr->eq("\x{4DA}", "\x{4D8}"));
 ok($objSr->eq("\x{453}", "\x{433}"));
 ok($objSr->eq("\x{403}", "\x{413}"));
+ok($objSr->eq("\x{450}", "\x{435}")); # not contraction
+ok($objSr->eq("\x{400}", "\x{415}")); # not contraction
+ok($objSr->eq("\x{451}", "\x{435}")); # not contraction
+ok($objSr->eq("\x{401}", "\x{415}")); # not contraction
 ok($objSr->eq("\x{4D7}", "\x{435}"));
 ok($objSr->eq("\x{4D6}", "\x{415}"));
+ok($objSr->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objSr->eq("\x{4C1}", "\x{416}")); # not contraction
 ok($objSr->eq("\x{4DD}", "\x{436}"));
 ok($objSr->eq("\x{4DC}", "\x{416}"));
 ok($objSr->eq("\x{4DF}", "\x{437}"));
 ok($objSr->eq("\x{4DE}", "\x{417}"));
+ok($objSr->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objSr->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objSr->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objSr->eq("\x{4E2}", "\x{418}")); # not contraction
+ok($objSr->eq("\x{4E5}", "\x{438}"));
+ok($objSr->eq("\x{4E4}", "\x{418}"));
 ok($objSr->eq("\x{457}", "\x{456}"));
 ok($objSr->eq("\x{407}", "\x{406}"));
+ok($objSr->eq("\x{439}", "\x{438}"));
+ok($objSr->eq("\x{419}", "\x{418}"));
 ok($objSr->eq("\x{4E7}", "\x{43E}"));
 ok($objSr->eq("\x{4E6}", "\x{41E}"));
+ok($objSr->eq("\x{4EB}", "\x{4E9}"));
+ok($objSr->eq("\x{4EA}", "\x{4E8}"));
 ok($objSr->eq("\x{45C}", "\x{43A}"));
 ok($objSr->eq("\x{40C}", "\x{41A}"));
+ok($objSr->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objSr->eq("\x{4EE}", "\x{423}")); # not contraction
 ok($objSr->eq("\x{45E}", "\x{443}"));
 ok($objSr->eq("\x{40E}", "\x{423}"));
 ok($objSr->eq("\x{4F1}", "\x{443}"));
@@ -66,8 +87,10 @@
 ok($objSr->eq("\x{4F8}", "\x{42B}"));
 ok($objSr->eq("\x{4ED}", "\x{44D}"));
 ok($objSr->eq("\x{4EC}", "\x{42D}"));
+ok($objSr->eq("\x{477}", "\x{475}"));
+ok($objSr->eq("\x{476}", "\x{474}"));
 
-# 36
+# 54
 
 $objSr->change(level => 2);
 
@@ -75,20 +98,40 @@
 ok($objSr->gt("\x{4D0}", "\x{410}"));
 ok($objSr->gt("\x{4D3}", "\x{430}"));
 ok($objSr->gt("\x{4D2}", "\x{410}"));
+ok($objSr->gt("\x{4DB}", "\x{4D9}"));
+ok($objSr->gt("\x{4DA}", "\x{4D8}"));
 ok($objSr->gt("\x{453}", "\x{433}"));
 ok($objSr->gt("\x{403}", "\x{413}"));
+ok($objSr->gt("\x{450}", "\x{435}")); # not contraction
+ok($objSr->gt("\x{400}", "\x{415}")); # not contraction
+ok($objSr->gt("\x{451}", "\x{435}")); # not contraction
+ok($objSr->gt("\x{401}", "\x{415}")); # not contraction
 ok($objSr->gt("\x{4D7}", "\x{435}"));
 ok($objSr->gt("\x{4D6}", "\x{415}"));
+ok($objSr->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objSr->gt("\x{4C1}", "\x{416}")); # not contraction
 ok($objSr->gt("\x{4DD}", "\x{436}"));
 ok($objSr->gt("\x{4DC}", "\x{416}"));
 ok($objSr->gt("\x{4DF}", "\x{437}"));
 ok($objSr->gt("\x{4DE}", "\x{417}"));
+ok($objSr->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objSr->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objSr->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objSr->gt("\x{4E2}", "\x{418}")); # not contraction
+ok($objSr->gt("\x{4E5}", "\x{438}"));
+ok($objSr->gt("\x{4E4}", "\x{418}"));
 ok($objSr->gt("\x{457}", "\x{456}"));
 ok($objSr->gt("\x{407}", "\x{406}"));
+ok($objSr->gt("\x{439}", "\x{438}"));
+ok($objSr->gt("\x{419}", "\x{418}"));
 ok($objSr->gt("\x{4E7}", "\x{43E}"));
 ok($objSr->gt("\x{4E6}", "\x{41E}"));
+ok($objSr->gt("\x{4EB}", "\x{4E9}"));
+ok($objSr->gt("\x{4EA}", "\x{4E8}"));
 ok($objSr->gt("\x{45C}", "\x{43A}"));
 ok($objSr->gt("\x{40C}", "\x{41A}"));
+ok($objSr->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objSr->gt("\x{4EE}", "\x{423}")); # not contraction
 ok($objSr->gt("\x{45E}", "\x{443}"));
 ok($objSr->gt("\x{40E}", "\x{423}"));
 ok($objSr->gt("\x{4F1}", "\x{443}"));
@@ -101,77 +144,66 @@
 ok($objSr->gt("\x{4F8}", "\x{42B}"));
 ok($objSr->gt("\x{4ED}", "\x{44D}"));
 ok($objSr->gt("\x{4EC}", "\x{42D}"));
+ok($objSr->gt("\x{477}", "\x{475}"));
+ok($objSr->gt("\x{476}", "\x{474}"));
 
-# 66
+# 106
 
 $objSr->change(level => 3);
 
-ok($objSr->eq("\x{4D1}", "\x{430}\x{306}"));
-ok($objSr->eq("\x{4D0}", "\x{410}\x{306}"));
-ok($objSr->eq("\x{4D3}", "\x{430}\x{308}"));
-ok($objSr->eq("\x{4D2}", "\x{410}\x{308}"));
-ok($objSr->eq("\x{453}", "\x{433}\x{301}"));
-ok($objSr->eq("\x{403}", "\x{413}\x{301}"));
-ok($objSr->eq("\x{4D7}", "\x{435}\x{306}"));
-ok($objSr->eq("\x{4D6}", "\x{415}\x{306}"));
-ok($objSr->eq("\x{4DD}", "\x{436}\x{308}"));
-ok($objSr->eq("\x{4DC}", "\x{416}\x{308}"));
-ok($objSr->eq("\x{4DF}", "\x{437}\x{308}"));
-ok($objSr->eq("\x{4DE}", "\x{417}\x{308}"));
-ok($objSr->eq("\x{4E5}", "\x{438}\x{308}"));
-ok($objSr->eq("\x{4E4}", "\x{418}\x{308}"));
-ok($objSr->eq("\x{457}", "\x{456}\x{308}"));
-ok($objSr->eq("\x{407}", "\x{406}\x{308}"));
-ok($objSr->eq("\x{439}", "\x{438}\x{306}"));
-ok($objSr->eq("\x{419}", "\x{418}\x{306}"));
-ok($objSr->eq("\x{4E7}", "\x{43E}\x{308}"));
-ok($objSr->eq("\x{4E6}", "\x{41E}\x{308}"));
-ok($objSr->eq("\x{45C}", "\x{43A}\x{301}"));
-ok($objSr->eq("\x{40C}", "\x{41A}\x{301}"));
-ok($objSr->eq("\x{45E}", "\x{443}\x{306}"));
-ok($objSr->eq("\x{40E}", "\x{423}\x{306}"));
-ok($objSr->eq("\x{4F1}", "\x{443}\x{308}"));
-ok($objSr->eq("\x{4F0}", "\x{423}\x{308}"));
-ok($objSr->eq("\x{4F3}", "\x{443}\x{30B}"));
-ok($objSr->eq("\x{4F2}", "\x{423}\x{30B}"));
-ok($objSr->eq("\x{4F5}", "\x{447}\x{308}"));
-ok($objSr->eq("\x{4F4}", "\x{427}\x{308}"));
-ok($objSr->eq("\x{4F9}", "\x{44B}\x{308}"));
-ok($objSr->eq("\x{4F8}", "\x{42B}\x{308}"));
-ok($objSr->eq("\x{4ED}", "\x{44D}\x{308}"));
-ok($objSr->eq("\x{4EC}", "\x{42D}\x{308}"));
+for my $i ("", "\0") {
+  ok($objSr->eq("\x{4D1}", "\x{430}$i\x{306}"));
+  ok($objSr->eq("\x{4D0}", "\x{410}$i\x{306}"));
+  ok($objSr->eq("\x{4D3}", "\x{430}$i\x{308}"));
+  ok($objSr->eq("\x{4D2}", "\x{410}$i\x{308}"));
+  ok($objSr->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+  ok($objSr->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+  ok($objSr->eq("\x{453}", "\x{433}$i\x{301}"));
+  ok($objSr->eq("\x{403}", "\x{413}$i\x{301}"));
+  ok($objSr->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+  ok($objSr->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+  ok($objSr->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+  ok($objSr->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+  ok($objSr->eq("\x{4D7}", "\x{435}$i\x{306}"));
+  ok($objSr->eq("\x{4D6}", "\x{415}$i\x{306}"));
+  ok($objSr->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+  ok($objSr->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+  ok($objSr->eq("\x{4DD}", "\x{436}$i\x{308}"));
+  ok($objSr->eq("\x{4DC}", "\x{416}$i\x{308}"));
+  ok($objSr->eq("\x{4DF}", "\x{437}$i\x{308}"));
+  ok($objSr->eq("\x{4DE}", "\x{417}$i\x{308}"));
+  ok($objSr->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+  ok($objSr->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+  ok($objSr->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+  ok($objSr->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+  ok($objSr->eq("\x{4E5}", "\x{438}$i\x{308}"));
+  ok($objSr->eq("\x{4E4}", "\x{418}$i\x{308}"));
+  ok($objSr->eq("\x{457}", "\x{456}$i\x{308}"));
+  ok($objSr->eq("\x{407}", "\x{406}$i\x{308}"));
+  ok($objSr->eq("\x{439}", "\x{438}$i\x{306}"));
+  ok($objSr->eq("\x{419}", "\x{418}$i\x{306}"));
+  ok($objSr->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+  ok($objSr->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+  ok($objSr->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+  ok($objSr->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+  ok($objSr->eq("\x{45C}", "\x{43A}$i\x{301}"));
+  ok($objSr->eq("\x{40C}", "\x{41A}$i\x{301}"));
+  ok($objSr->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+  ok($objSr->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+  ok($objSr->eq("\x{45E}", "\x{443}$i\x{306}"));
+  ok($objSr->eq("\x{40E}", "\x{423}$i\x{306}"));
+  ok($objSr->eq("\x{4F1}", "\x{443}$i\x{308}"));
+  ok($objSr->eq("\x{4F0}", "\x{423}$i\x{308}"));
+  ok($objSr->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+  ok($objSr->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+  ok($objSr->eq("\x{4F5}", "\x{447}$i\x{308}"));
+  ok($objSr->eq("\x{4F4}", "\x{427}$i\x{308}"));
+  ok($objSr->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+  ok($objSr->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+  ok($objSr->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+  ok($objSr->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+  ok($objSr->eq("\x{477}", "\x{475}$i\x{30F}"));
+  ok($objSr->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
 
-# 100
-
-ok($objSr->eq("\x{4D1}", "\x{430}\0\x{306}"));
-ok($objSr->eq("\x{4D0}", "\x{410}\0\x{306}"));
-ok($objSr->eq("\x{4D3}", "\x{430}\0\x{308}"));
-ok($objSr->eq("\x{4D2}", "\x{410}\0\x{308}"));
-ok($objSr->eq("\x{453}", "\x{433}\0\x{301}"));
-ok($objSr->eq("\x{403}", "\x{413}\0\x{301}"));
-ok($objSr->eq("\x{4D7}", "\x{435}\0\x{306}"));
-ok($objSr->eq("\x{4D6}", "\x{415}\0\x{306}"));
-ok($objSr->eq("\x{4DD}", "\x{436}\0\x{308}"));
-ok($objSr->eq("\x{4DC}", "\x{416}\0\x{308}"));
-ok($objSr->eq("\x{4DF}", "\x{437}\0\x{308}"));
-ok($objSr->eq("\x{4DE}", "\x{417}\0\x{308}"));
-ok($objSr->eq("\x{457}", "\x{456}\0\x{308}"));
-ok($objSr->eq("\x{407}", "\x{406}\0\x{308}"));
-ok($objSr->eq("\x{4E7}", "\x{43E}\0\x{308}"));
-ok($objSr->eq("\x{4E6}", "\x{41E}\0\x{308}"));
-ok($objSr->eq("\x{45C}", "\x{43A}\0\x{301}"));
-ok($objSr->eq("\x{40C}", "\x{41A}\0\x{301}"));
-ok($objSr->eq("\x{45E}", "\x{443}\0\x{306}"));
-ok($objSr->eq("\x{40E}", "\x{423}\0\x{306}"));
-ok($objSr->eq("\x{4F1}", "\x{443}\0\x{308}"));
-ok($objSr->eq("\x{4F0}", "\x{423}\0\x{308}"));
-ok($objSr->eq("\x{4F3}", "\x{443}\0\x{30B}"));
-ok($objSr->eq("\x{4F2}", "\x{423}\0\x{30B}"));
-ok($objSr->eq("\x{4F5}", "\x{447}\0\x{308}"));
-ok($objSr->eq("\x{4F4}", "\x{427}\0\x{308}"));
-ok($objSr->eq("\x{4F9}", "\x{44B}\0\x{308}"));
-ok($objSr->eq("\x{4F8}", "\x{42B}\0\x{308}"));
-ok($objSr->eq("\x{4ED}", "\x{44D}\0\x{308}"));
-ok($objSr->eq("\x{4EC}", "\x{42D}\0\x{308}"));
-
-# 130
+# 210


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sv.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_sv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_sv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 117 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..115\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -51,12 +59,13 @@
 ok($objSv->lt('z', $arng));
 ok($objSv->lt($arng, $auml));
 ok($objSv->lt($auml, $ouml));
-ok($objSv->lt($ouml, "\x{292}"));
+ok($objSv->lt($ouml, "\x{1C0}"));
 
 # 6
 
 ok($objSv->eq('d', "\x{111}"));
 ok($objSv->eq("\x{111}", $eth));
+ok($objSv->eq('v', 'w'));
 ok($objSv->eq('y', $uuml));
 ok($objSv->eq($uuml, "\x{171}"));
 
@@ -67,12 +76,13 @@
 ok($objSv->eq("\x{151}", "\x{153}"));
 ok($objSv->eq("\x{153}", $ocrc));
 
-# 16
+# 17
 
 $objSv->change(level => 2);
 
 ok($objSv->lt('d', "\x{111}"));
 ok($objSv->lt("\x{111}", $eth));
+ok($objSv->lt('v', 'w'));
 ok($objSv->lt('y', $uuml));
 ok($objSv->lt($uuml, "\x{171}"));
 
@@ -83,7 +93,7 @@
 ok($objSv->lt("\x{151}", "\x{153}"));
 ok($objSv->lt("\x{153}", $ocrc));
 
-# 26
+# 28
 
 ok($objSv->eq("\x{111}", "\x{110}"));
 ok($objSv->eq($eth,  $ETH));
@@ -90,9 +100,7 @@
 ok($objSv->eq('th',  $thrn));
 ok($objSv->eq($thrn, 'TH'));
 ok($objSv->eq('TH',  $THRN));
-ok($objSv->eq('v',   'w'));
-ok($objSv->eq('w',   'V'));
-ok($objSv->eq('V',   'W'));
+ok($objSv->eq('w',   'W'));
 ok($objSv->eq($uuml, $Uuml));
 ok($objSv->eq("\x{171}", "\x{170}"));
 ok($objSv->eq($arng, $Arng));
@@ -115,9 +123,7 @@
 ok($objSv->lt('th',  $thrn));
 ok($objSv->lt($thrn, 'TH'));
 ok($objSv->lt('TH',  $THRN));
-ok($objSv->lt('v',   'w'));
-ok($objSv->lt('w',   'V'));
-ok($objSv->lt('V',   'W'));
+ok($objSv->lt('w',   'W'));
 ok($objSv->lt($uuml, $Uuml));
 ok($objSv->lt("\x{171}", "\x{170}"));
 ok($objSv->lt($arng, $Arng));
@@ -131,7 +137,7 @@
 ok($objSv->lt("\x{153}", "\x{152}"));
 ok($objSv->lt($ocrc, $Ocrc));
 
-# 66
+# 64
 
 ok($objSv->eq("d\x{335}", "\x{111}"));
 ok($objSv->eq("D\x{335}", "\x{110}"));
@@ -154,7 +160,7 @@
 ok($objSv->eq("o\x{302}", $ocrc));
 ok($objSv->eq("O\x{302}", $Ocrc));
 
-# 86
+# 84
 
 ok($objSv->eq("u\x{308}\x{300}", "\x{1DC}"));
 ok($objSv->eq("U\x{308}\x{300}", "\x{1DB}"));
@@ -178,7 +184,7 @@
 ok($objSv->eq("o\x{338}\x{301}", "\x{1FF}"));
 ok($objSv->eq("O\x{338}\x{301}", "\x{1FE}"));
 
-# 107
+# 105
 
 ok($objSv->eq("o\x{302}\x{300}", "\x{1ED3}"));
 ok($objSv->eq("O\x{302}\x{300}", "\x{1ED2}"));
@@ -191,4 +197,4 @@
 ok($objSv->eq("o\x{302}\x{323}", "\x{1ED9}"));
 ok($objSv->eq("O\x{302}\x{323}", "\x{1ED8}"));
 
-# 117
+# 115


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sw.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_sw.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_sw.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 72 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..17\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -25,94 +33,24 @@
 my $objSw = Unicode::Collate::Locale->
     new(locale => 'SW', normalization => undef);
 
-ok($objSw->getlocale, 'sw');
+ok($objSw->getlocale, "default"); # no tailoring since 0.74
 
 $objSw->change(level => 1);
 
-ok($objSw->lt("b", "ch"));
-ok($objSw->lt("bz","ch"));
-ok($objSw->gt("c", "ch"));
+ok($objSw->lt("c", "ch"));
+ok($objSw->gt("cz","ch"));
 ok($objSw->lt("d", "dh"));
-ok($objSw->lt("dz","dh"));
-ok($objSw->gt("e", "dh"));
+ok($objSw->gt("dz","dh"));
 ok($objSw->lt("g", "gh"));
-ok($objSw->lt("gz","gh"));
-ok($objSw->gt("h", "gh"));
+ok($objSw->gt("gz","gh"));
 ok($objSw->lt("k", "kh"));
-ok($objSw->lt("kz","kh"));
-ok($objSw->gt("l", "kh"));
+ok($objSw->gt("kz","kh"));
 ok($objSw->lt("n", "ng'"));
-ok($objSw->lt("nz","ng'"));
-ok($objSw->lt("ng'","ny"));
-ok($objSw->gt("o", "ny"));
+ok($objSw->gt("ny","ng'"));
+ok($objSw->gt("nz","ny"));
 ok($objSw->lt("s", "sh"));
-ok($objSw->lt("sz","sh"));
-ok($objSw->gt("t", "sh"));
+ok($objSw->gt("sz","sh"));
 ok($objSw->lt("t", "th"));
-ok($objSw->lt("tz","th"));
-ok($objSw->gt("u", "th"));
+ok($objSw->gt("tz","th"));
 
-# 24
-
-$objSw->change(level => 2);
-
-ok($objSw->eq("ch", "Ch"));
-ok($objSw->eq("Ch", "CH"));
-ok($objSw->eq("dh", "Dh"));
-ok($objSw->eq("Dh", "DH"));
-ok($objSw->eq("gh", "Gh"));
-ok($objSw->eq("Gh", "GH"));
-ok($objSw->eq("kh", "Kh"));
-ok($objSw->eq("Kh", "KH"));
-ok($objSw->eq("ng'","Ng'"));
-ok($objSw->eq("Ng'","NG'"));
-ok($objSw->eq("ny", "Ny"));
-ok($objSw->eq("Ny", "NY"));
-ok($objSw->eq("sh", "Sh"));
-ok($objSw->eq("Sh", "SH"));
-ok($objSw->eq("th", "Th"));
-ok($objSw->eq("Th", "TH"));
-
-# 40
-
-$objSw->change(level => 3);
-
-ok($objSw->lt("ch", "Ch"));
-ok($objSw->lt("Ch", "CH"));
-ok($objSw->lt("dh", "Dh"));
-ok($objSw->lt("Dh", "DH"));
-ok($objSw->lt("gh", "Gh"));
-ok($objSw->lt("Gh", "GH"));
-ok($objSw->lt("kh", "Kh"));
-ok($objSw->lt("Kh", "KH"));
-ok($objSw->lt("ng'","Ng'"));
-ok($objSw->lt("Ng'","NG'"));
-ok($objSw->lt("ny", "Ny"));
-ok($objSw->lt("Ny", "NY"));
-ok($objSw->lt("sh", "Sh"));
-ok($objSw->lt("Sh", "SH"));
-ok($objSw->lt("th", "Th"));
-ok($objSw->lt("Th", "TH"));
-
-# 56
-
-$objSw->change(upper_before_lower => 1);
-
-ok($objSw->gt("ch", "Ch"));
-ok($objSw->gt("Ch", "CH"));
-ok($objSw->gt("dh", "Dh"));
-ok($objSw->gt("Dh", "DH"));
-ok($objSw->gt("gh", "Gh"));
-ok($objSw->gt("Gh", "GH"));
-ok($objSw->gt("kh", "Kh"));
-ok($objSw->gt("Kh", "KH"));
-ok($objSw->gt("ng'","Ng'"));
-ok($objSw->gt("Ng'","NG'"));
-ok($objSw->gt("ny", "Ny"));
-ok($objSw->gt("Ny", "NY"));
-ok($objSw->gt("sh", "Sh"));
-ok($objSw->gt("Sh", "SH"));
-ok($objSw->gt("th", "Th"));
-ok($objSw->gt("Th", "TH"));
-
-# 72
+# 17


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_sw.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_test.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_test.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 120 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..134\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -25,7 +33,7 @@
 our (@listEs, @listEsT, @listFr);
 
 @listEs = qw(
-    cambio camella camello camelo Camer\xFAn 
+    cambio camella camello camelo Camer\xFAn
     chico chile Chile CHILE chocolate
     cielo curso espacio espanto espa\xF1ol esperanza lama l\xEDquido
     llama Llama LLAMA llamar luz nos nueve \xF1u ojo
@@ -138,3 +146,34 @@
     ok(ref($objEsT  ->{$keyXS}), $UseXS);
 }
 # 120
+
+ok(Unicode::Collate::Locale::_locale('sr'),            'sr');
+ok(Unicode::Collate::Locale::_locale('sr_Cyrl'),       'sr');
+ok(Unicode::Collate::Locale::_locale('sr_Latn'),       'sr_Latn');
+ok(Unicode::Collate::Locale::_locale('sr_LATN'),       'sr_Latn');
+ok(Unicode::Collate::Locale::_locale('sr_latn'),       'sr_Latn');
+ok(Unicode::Collate::Locale::_locale('de'),            'default');
+ok(Unicode::Collate::Locale::_locale('de_phone'),      'de__phonebook');
+ok(Unicode::Collate::Locale::_locale('de__phonebook'), 'de__phonebook');
+ok(Unicode::Collate::Locale::_locale('de-phonebk'),    'de__phonebook');
+ok(Unicode::Collate::Locale::_locale('de--phonebk'),   'de__phonebook');
+
+# 130
+
+my $objEs2  = Unicode::Collate::Locale->new
+    (normalization => undef, locale => 'ES',
+     level => 1,
+     entry => << 'ENTRIES',
+0000      ; [.FFFE.0020.0005.0000]
+00F1      ; [.0010.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+006E 0303 ; [.0010.0020.0002.00F1] # LATIN SMALL LETTER N WITH TILDE
+ENTRIES
+);
+
+ok($objEs2->lt("abc\x{4E00}", "abc\0"));
+ok($objEs2->lt("abc\x{FFFD}", "abc\0"));
+ok($objEs2->lt("abc\x{FFFD}", "abc\0"));
+ok($objEs2->lt("n\x{303}", "N\x{303}"));
+
+# 134
+


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_test.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_tn.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_tn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_tn.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 40 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..40\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_tn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_to.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_to.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_to.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 132 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..122\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -37,34 +45,56 @@
 
 # 7
 
-ok($objTo->eq("a", "a\x{304}"));
-ok($objTo->eq("A", "A\x{304}"));
-ok($objTo->eq("e", "e\x{304}"));
-ok($objTo->eq("E", "E\x{304}"));
-ok($objTo->eq("i", "i\x{304}"));
-ok($objTo->eq("I", "I\x{304}"));
-ok($objTo->eq("o", "o\x{304}"));
-ok($objTo->eq("O", "O\x{304}"));
-ok($objTo->eq("u", "u\x{304}"));
-ok($objTo->eq("U", "U\x{304}"));
+ok($objTo->eq("a", "a\x{301}"));
+ok($objTo->eq("A", "A\x{301}"));
+ok($objTo->eq("e", "e\x{301}"));
+ok($objTo->eq("E", "E\x{301}"));
+ok($objTo->eq("i", "i\x{301}"));
+ok($objTo->eq("I", "I\x{301}"));
+ok($objTo->eq("o", "o\x{301}"));
+ok($objTo->eq("O", "O\x{301}"));
+ok($objTo->eq("u", "u\x{301}"));
+ok($objTo->eq("U", "U\x{301}"));
 
-# 17
+ok($objTo->eq("a\x{301}", "a\x{304}"));
+ok($objTo->eq("A\x{301}", "A\x{304}"));
+ok($objTo->eq("e\x{301}", "e\x{304}"));
+ok($objTo->eq("E\x{301}", "E\x{304}"));
+ok($objTo->eq("i\x{301}", "i\x{304}"));
+ok($objTo->eq("I\x{301}", "I\x{304}"));
+ok($objTo->eq("o\x{301}", "o\x{304}"));
+ok($objTo->eq("O\x{301}", "O\x{304}"));
+ok($objTo->eq("u\x{301}", "u\x{304}"));
+ok($objTo->eq("U\x{301}", "U\x{304}"));
 
+# 27
+
 $objTo->change(level => 2);
 
-ok($objTo->lt("a", "a\x{304}"));
-ok($objTo->lt("A", "A\x{304}"));
-ok($objTo->lt("e", "e\x{304}"));
-ok($objTo->lt("E", "E\x{304}"));
-ok($objTo->lt("i", "i\x{304}"));
-ok($objTo->lt("I", "I\x{304}"));
-ok($objTo->lt("o", "o\x{304}"));
-ok($objTo->lt("O", "O\x{304}"));
-ok($objTo->lt("u", "u\x{304}"));
-ok($objTo->lt("U", "U\x{304}"));
+ok($objTo->lt("a", "a\x{301}"));
+ok($objTo->lt("A", "A\x{301}"));
+ok($objTo->lt("e", "e\x{301}"));
+ok($objTo->lt("E", "E\x{301}"));
+ok($objTo->lt("i", "i\x{301}"));
+ok($objTo->lt("I", "I\x{301}"));
+ok($objTo->lt("o", "o\x{301}"));
+ok($objTo->lt("O", "O\x{301}"));
+ok($objTo->lt("u", "u\x{301}"));
+ok($objTo->lt("U", "U\x{301}"));
 
-# 27
+ok($objTo->lt("a\x{301}", "a\x{304}"));
+ok($objTo->lt("A\x{301}", "A\x{304}"));
+ok($objTo->lt("e\x{301}", "e\x{304}"));
+ok($objTo->lt("E\x{301}", "E\x{304}"));
+ok($objTo->lt("i\x{301}", "i\x{304}"));
+ok($objTo->lt("I\x{301}", "I\x{304}"));
+ok($objTo->lt("o\x{301}", "o\x{304}"));
+ok($objTo->lt("O\x{301}", "O\x{304}"));
+ok($objTo->lt("u\x{301}", "u\x{304}"));
+ok($objTo->lt("U\x{301}", "U\x{304}"));
 
+# 47
+
 ok($objTo->eq("ng", "Ng"));
 ok($objTo->eq("Ng", "NG"));
 ok($objTo->eq("NG", "\x{14B}"));
@@ -71,30 +101,19 @@
 ok($objTo->eq("\x{14B}", "\x{14A}"));
 ok($objTo->eq("\x{2BB}", "\x{2BD}"));
 
+ok($objTo->eq("a\x{301}", "A\x{301}"));
 ok($objTo->eq("a\x{304}", "A\x{304}"));
-ok($objTo->eq("a\x{301}", "A\x{301}"));
+ok($objTo->eq("e\x{301}", "E\x{301}"));
 ok($objTo->eq("e\x{304}", "E\x{304}"));
-ok($objTo->eq("e\x{301}", "E\x{301}"));
+ok($objTo->eq("i\x{301}", "I\x{301}"));
 ok($objTo->eq("i\x{304}", "I\x{304}"));
-ok($objTo->eq("i\x{301}", "I\x{301}"));
+ok($objTo->eq("o\x{301}", "O\x{301}"));
 ok($objTo->eq("o\x{304}", "O\x{304}"));
-ok($objTo->eq("o\x{301}", "O\x{301}"));
+ok($objTo->eq("u\x{301}", "U\x{301}"));
 ok($objTo->eq("u\x{304}", "U\x{304}"));
-ok($objTo->eq("u\x{301}", "U\x{301}"));
 
-ok($objTo->eq("a\x{304}", "a\x{301}"));
-ok($objTo->eq("A\x{304}", "A\x{301}"));
-ok($objTo->eq("e\x{304}", "e\x{301}"));
-ok($objTo->eq("E\x{304}", "E\x{301}"));
-ok($objTo->eq("i\x{304}", "i\x{301}"));
-ok($objTo->eq("I\x{304}", "I\x{301}"));
-ok($objTo->eq("o\x{304}", "o\x{301}"));
-ok($objTo->eq("O\x{304}", "O\x{301}"));
-ok($objTo->eq("u\x{304}", "u\x{301}"));
-ok($objTo->eq("U\x{304}", "U\x{301}"));
+# 62
 
-# 52
-
 $objTo->change(level => 3);
 
 ok($objTo->lt("ng", "Ng"));
@@ -103,41 +122,19 @@
 ok($objTo->lt("\x{14B}", "\x{14A}"));
 ok($objTo->lt("\x{2BB}", "\x{2BD}"));
 
+ok($objTo->lt("a\x{301}", "A\x{301}"));
 ok($objTo->lt("a\x{304}", "A\x{304}"));
-ok($objTo->lt("a\x{301}", "A\x{301}"));
+ok($objTo->lt("e\x{301}", "E\x{301}"));
 ok($objTo->lt("e\x{304}", "E\x{304}"));
-ok($objTo->lt("e\x{301}", "E\x{301}"));
+ok($objTo->lt("i\x{301}", "I\x{301}"));
 ok($objTo->lt("i\x{304}", "I\x{304}"));
-ok($objTo->lt("i\x{301}", "I\x{301}"));
+ok($objTo->lt("o\x{301}", "O\x{301}"));
 ok($objTo->lt("o\x{304}", "O\x{304}"));
-ok($objTo->lt("o\x{301}", "O\x{301}"));
+ok($objTo->lt("u\x{301}", "U\x{301}"));
 ok($objTo->lt("u\x{304}", "U\x{304}"));
-ok($objTo->lt("u\x{301}", "U\x{301}"));
 
-ok($objTo->lt("a\x{304}", "a\x{301}"));
-ok($objTo->lt("A\x{304}", "A\x{301}"));
-ok($objTo->lt("e\x{304}", "e\x{301}"));
-ok($objTo->lt("E\x{304}", "E\x{301}"));
-ok($objTo->lt("i\x{304}", "i\x{301}"));
-ok($objTo->lt("I\x{304}", "I\x{301}"));
-ok($objTo->lt("o\x{304}", "o\x{301}"));
-ok($objTo->lt("O\x{304}", "O\x{301}"));
-ok($objTo->lt("u\x{304}", "u\x{301}"));
-ok($objTo->lt("U\x{304}", "U\x{301}"));
-
 # 77
 
-ok($objTo->eq("a\x{304}", "\x{101}"));
-ok($objTo->eq("A\x{304}", "\x{100}"));
-ok($objTo->eq("e\x{304}", "\x{113}"));
-ok($objTo->eq("E\x{304}", "\x{112}"));
-ok($objTo->eq("i\x{304}", "\x{12B}"));
-ok($objTo->eq("I\x{304}", "\x{12A}"));
-ok($objTo->eq("o\x{304}", "\x{14D}"));
-ok($objTo->eq("O\x{304}", "\x{14C}"));
-ok($objTo->eq("u\x{304}", "\x{16B}"));
-ok($objTo->eq("U\x{304}", "\x{16A}"));
-
 ok($objTo->eq("a\x{301}", pack('U', 0xE1)));
 ok($objTo->eq("a\x{341}", pack('U', 0xE1)));
 ok($objTo->eq("A\x{301}", pack('U', 0xC1)));
@@ -159,6 +156,17 @@
 ok($objTo->eq("U\x{301}", pack('U', 0xDA)));
 ok($objTo->eq("U\x{341}", pack('U', 0xDA)));
 
+ok($objTo->eq("a\x{304}", "\x{101}"));
+ok($objTo->eq("A\x{304}", "\x{100}"));
+ok($objTo->eq("e\x{304}", "\x{113}"));
+ok($objTo->eq("E\x{304}", "\x{112}"));
+ok($objTo->eq("i\x{304}", "\x{12B}"));
+ok($objTo->eq("I\x{304}", "\x{12A}"));
+ok($objTo->eq("o\x{304}", "\x{14D}"));
+ok($objTo->eq("O\x{304}", "\x{14C}"));
+ok($objTo->eq("u\x{304}", "\x{16B}"));
+ok($objTo->eq("U\x{304}", "\x{16A}"));
+
 # 107
 
 $objTo->change(upper_before_lower => 1);
@@ -169,26 +177,15 @@
 ok($objTo->gt("\x{14B}", "\x{14A}"));
 ok($objTo->lt("\x{2BB}", "\x{2BD}"));
 
+ok($objTo->gt("a\x{301}", "A\x{301}"));
 ok($objTo->gt("a\x{304}", "A\x{304}"));
-ok($objTo->gt("a\x{301}", "A\x{301}"));
+ok($objTo->gt("e\x{301}", "E\x{301}"));
 ok($objTo->gt("e\x{304}", "E\x{304}"));
-ok($objTo->gt("e\x{301}", "E\x{301}"));
+ok($objTo->gt("i\x{301}", "I\x{301}"));
 ok($objTo->gt("i\x{304}", "I\x{304}"));
-ok($objTo->gt("i\x{301}", "I\x{301}"));
+ok($objTo->gt("o\x{301}", "O\x{301}"));
 ok($objTo->gt("o\x{304}", "O\x{304}"));
-ok($objTo->gt("o\x{301}", "O\x{301}"));
+ok($objTo->gt("u\x{301}", "U\x{301}"));
 ok($objTo->gt("u\x{304}", "U\x{304}"));
-ok($objTo->gt("u\x{301}", "U\x{301}"));
 
-ok($objTo->lt("a\x{304}", "a\x{301}"));
-ok($objTo->lt("A\x{304}", "A\x{301}"));
-ok($objTo->lt("e\x{304}", "e\x{301}"));
-ok($objTo->lt("E\x{304}", "E\x{301}"));
-ok($objTo->lt("i\x{304}", "i\x{301}"));
-ok($objTo->lt("I\x{304}", "I\x{301}"));
-ok($objTo->lt("o\x{304}", "o\x{301}"));
-ok($objTo->lt("O\x{304}", "O\x{301}"));
-ok($objTo->lt("u\x{304}", "u\x{301}"));
-ok($objTo->lt("U\x{304}", "U\x{301}"));
-
-# 132
+# 122


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_to.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_tr.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_tr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_tr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 57 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..57\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_tr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_uk.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_uk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_uk.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 7 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..203\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -29,21 +37,192 @@
 
 $objUk->change(level => 1);
 
-ok($objUk->lt("\x{433}", "\x{491}"));
-ok($objUk->gt("\x{434}", "\x{491}"));
+ok($objUk->gt("\x{491}", "\x{433}"));
+ok($objUk->lt("\x{491}", "\x{434}"));
 
 # 4
 
+ok($objUk->gt("\x{4E5}", "\x{438}")); # not suppressed
+ok($objUk->gt("\x{4E4}", "\x{418}")); # not suppressed
+ok($objUk->gt("\x{457}", "\x{456}")); # not suppressed
+ok($objUk->gt("\x{407}", "\x{406}")); # not suppressed
+ok($objUk->gt("\x{439}", "\x{438}")); # not suppressed
+ok($objUk->gt("\x{419}", "\x{418}")); # not suppressed
+
+# 10
+
+ok($objUk->eq("\x{4D1}", "\x{430}"));
+ok($objUk->eq("\x{4D0}", "\x{410}"));
+ok($objUk->eq("\x{4D3}", "\x{430}"));
+ok($objUk->eq("\x{4D2}", "\x{410}"));
+ok($objUk->eq("\x{4DB}", "\x{4D9}"));
+ok($objUk->eq("\x{4DA}", "\x{4D8}"));
+ok($objUk->eq("\x{453}", "\x{433}"));
+ok($objUk->eq("\x{403}", "\x{413}"));
+ok($objUk->eq("\x{450}", "\x{435}")); # not contraction
+ok($objUk->eq("\x{400}", "\x{415}")); # not contraction
+ok($objUk->eq("\x{451}", "\x{435}")); # not contraction
+ok($objUk->eq("\x{401}", "\x{415}")); # not contraction
+ok($objUk->eq("\x{4D7}", "\x{435}"));
+ok($objUk->eq("\x{4D6}", "\x{415}"));
+ok($objUk->eq("\x{4C2}", "\x{436}")); # not contraction
+ok($objUk->eq("\x{4C1}", "\x{416}")); # not contraction
+ok($objUk->eq("\x{4DD}", "\x{436}"));
+ok($objUk->eq("\x{4DC}", "\x{416}"));
+ok($objUk->eq("\x{4DF}", "\x{437}"));
+ok($objUk->eq("\x{4DE}", "\x{417}"));
+ok($objUk->eq("\x{45D}", "\x{438}")); # not contraction
+ok($objUk->eq("\x{40D}", "\x{418}")); # not contraction
+ok($objUk->eq("\x{4E3}", "\x{438}")); # not contraction
+ok($objUk->eq("\x{4E2}", "\x{418}")); # not contraction
+ok($objUk->eq("\x{4E7}", "\x{43E}"));
+ok($objUk->eq("\x{4E6}", "\x{41E}"));
+ok($objUk->eq("\x{4EB}", "\x{4E9}"));
+ok($objUk->eq("\x{4EA}", "\x{4E8}"));
+ok($objUk->eq("\x{45C}", "\x{43A}"));
+ok($objUk->eq("\x{40C}", "\x{41A}"));
+ok($objUk->eq("\x{4EF}", "\x{443}")); # not contraction
+ok($objUk->eq("\x{4EE}", "\x{423}")); # not contraction
+ok($objUk->eq("\x{45E}", "\x{443}"));
+ok($objUk->eq("\x{40E}", "\x{423}"));
+ok($objUk->eq("\x{4F1}", "\x{443}"));
+ok($objUk->eq("\x{4F0}", "\x{423}"));
+ok($objUk->eq("\x{4F3}", "\x{443}"));
+ok($objUk->eq("\x{4F2}", "\x{423}"));
+ok($objUk->eq("\x{4F5}", "\x{447}"));
+ok($objUk->eq("\x{4F4}", "\x{427}"));
+ok($objUk->eq("\x{4F9}", "\x{44B}"));
+ok($objUk->eq("\x{4F8}", "\x{42B}"));
+ok($objUk->eq("\x{4ED}", "\x{44D}"));
+ok($objUk->eq("\x{4EC}", "\x{42D}"));
+ok($objUk->eq("\x{477}", "\x{475}"));
+ok($objUk->eq("\x{476}", "\x{474}"));
+
+# 56
+
 $objUk->change(level => 2);
 
 ok($objUk->eq("\x{491}", "\x{490}"));
 
+# 57
+
+ok($objUk->gt("\x{4D1}", "\x{430}"));
+ok($objUk->gt("\x{4D0}", "\x{410}"));
+ok($objUk->gt("\x{4D3}", "\x{430}"));
+ok($objUk->gt("\x{4D2}", "\x{410}"));
+ok($objUk->gt("\x{4DB}", "\x{4D9}"));
+ok($objUk->gt("\x{4DA}", "\x{4D8}"));
+ok($objUk->gt("\x{453}", "\x{433}"));
+ok($objUk->gt("\x{403}", "\x{413}"));
+ok($objUk->gt("\x{450}", "\x{435}")); # not contraction
+ok($objUk->gt("\x{400}", "\x{415}")); # not contraction
+ok($objUk->gt("\x{451}", "\x{435}")); # not contraction
+ok($objUk->gt("\x{401}", "\x{415}")); # not contraction
+ok($objUk->gt("\x{4D7}", "\x{435}"));
+ok($objUk->gt("\x{4D6}", "\x{415}"));
+ok($objUk->gt("\x{4C2}", "\x{436}")); # not contraction
+ok($objUk->gt("\x{4C1}", "\x{416}")); # not contraction
+ok($objUk->gt("\x{4DD}", "\x{436}"));
+ok($objUk->gt("\x{4DC}", "\x{416}"));
+ok($objUk->gt("\x{4DF}", "\x{437}"));
+ok($objUk->gt("\x{4DE}", "\x{417}"));
+ok($objUk->gt("\x{45D}", "\x{438}")); # not contraction
+ok($objUk->gt("\x{40D}", "\x{418}")); # not contraction
+ok($objUk->gt("\x{4E3}", "\x{438}")); # not contraction
+ok($objUk->gt("\x{4E2}", "\x{418}")); # not contraction
+ok($objUk->gt("\x{4E7}", "\x{43E}"));
+ok($objUk->gt("\x{4E6}", "\x{41E}"));
+ok($objUk->gt("\x{4EB}", "\x{4E9}"));
+ok($objUk->gt("\x{4EA}", "\x{4E8}"));
+ok($objUk->gt("\x{45C}", "\x{43A}"));
+ok($objUk->gt("\x{40C}", "\x{41A}"));
+ok($objUk->gt("\x{4EF}", "\x{443}")); # not contraction
+ok($objUk->gt("\x{4EE}", "\x{423}")); # not contraction
+ok($objUk->gt("\x{45E}", "\x{443}"));
+ok($objUk->gt("\x{40E}", "\x{423}"));
+ok($objUk->gt("\x{4F1}", "\x{443}"));
+ok($objUk->gt("\x{4F0}", "\x{423}"));
+ok($objUk->gt("\x{4F3}", "\x{443}"));
+ok($objUk->gt("\x{4F2}", "\x{423}"));
+ok($objUk->gt("\x{4F5}", "\x{447}"));
+ok($objUk->gt("\x{4F4}", "\x{427}"));
+ok($objUk->gt("\x{4F9}", "\x{44B}"));
+ok($objUk->gt("\x{4F8}", "\x{42B}"));
+ok($objUk->gt("\x{4ED}", "\x{44D}"));
+ok($objUk->gt("\x{4EC}", "\x{42D}"));
+ok($objUk->gt("\x{477}", "\x{475}"));
+ok($objUk->gt("\x{476}", "\x{474}"));
+
+# 103
+
 $objUk->change(level => 3);
 
 ok($objUk->lt("\x{491}", "\x{490}"));
 
+# 104
+
+ok($objUk->eq("\x{4E5}", "\x{438}\x{308}")); # not suppressed
+ok($objUk->eq("\x{4E4}", "\x{418}\x{308}")); # not suppressed
+ok($objUk->eq("\x{457}", "\x{456}\x{308}")); # not suppressed
+ok($objUk->eq("\x{407}", "\x{406}\x{308}")); # not suppressed
+ok($objUk->eq("\x{439}", "\x{438}\x{306}")); # not suppressed
+ok($objUk->eq("\x{419}", "\x{418}\x{306}")); # not suppressed
+
+# 110
+
+for my $i ("", "\0") {
+  ok($objUk->eq("\x{4D1}", "\x{430}$i\x{306}"));
+  ok($objUk->eq("\x{4D0}", "\x{410}$i\x{306}"));
+  ok($objUk->eq("\x{4D3}", "\x{430}$i\x{308}"));
+  ok($objUk->eq("\x{4D2}", "\x{410}$i\x{308}"));
+  ok($objUk->eq("\x{4DB}", "\x{4D9}$i\x{308}"));
+  ok($objUk->eq("\x{4DA}", "\x{4D8}$i\x{308}"));
+  ok($objUk->eq("\x{453}", "\x{433}$i\x{301}"));
+  ok($objUk->eq("\x{403}", "\x{413}$i\x{301}"));
+  ok($objUk->eq("\x{450}", "\x{435}$i\x{300}")); # not contraction
+  ok($objUk->eq("\x{400}", "\x{415}$i\x{300}")); # not contraction
+  ok($objUk->eq("\x{451}", "\x{435}$i\x{308}")); # not contraction
+  ok($objUk->eq("\x{401}", "\x{415}$i\x{308}")); # not contraction
+  ok($objUk->eq("\x{4D7}", "\x{435}$i\x{306}"));
+  ok($objUk->eq("\x{4D6}", "\x{415}$i\x{306}"));
+  ok($objUk->eq("\x{4C2}", "\x{436}$i\x{306}")); # not contraction
+  ok($objUk->eq("\x{4C1}", "\x{416}$i\x{306}")); # not contraction
+  ok($objUk->eq("\x{4DD}", "\x{436}$i\x{308}"));
+  ok($objUk->eq("\x{4DC}", "\x{416}$i\x{308}"));
+  ok($objUk->eq("\x{4DF}", "\x{437}$i\x{308}"));
+  ok($objUk->eq("\x{4DE}", "\x{417}$i\x{308}"));
+  ok($objUk->eq("\x{45D}", "\x{438}$i\x{300}")); # not contraction
+  ok($objUk->eq("\x{40D}", "\x{418}$i\x{300}")); # not contraction
+  ok($objUk->eq("\x{4E3}", "\x{438}$i\x{304}")); # not contraction
+  ok($objUk->eq("\x{4E2}", "\x{418}$i\x{304}")); # not contraction
+  ok($objUk->eq("\x{4E7}", "\x{43E}$i\x{308}"));
+  ok($objUk->eq("\x{4E6}", "\x{41E}$i\x{308}"));
+  ok($objUk->eq("\x{4EB}", "\x{4E9}$i\x{308}"));
+  ok($objUk->eq("\x{4EA}", "\x{4E8}$i\x{308}"));
+  ok($objUk->eq("\x{45C}", "\x{43A}$i\x{301}"));
+  ok($objUk->eq("\x{40C}", "\x{41A}$i\x{301}"));
+  ok($objUk->eq("\x{4EF}", "\x{443}$i\x{304}")); # not contraction
+  ok($objUk->eq("\x{4EE}", "\x{423}$i\x{304}")); # not contraction
+  ok($objUk->eq("\x{45E}", "\x{443}$i\x{306}"));
+  ok($objUk->eq("\x{40E}", "\x{423}$i\x{306}"));
+  ok($objUk->eq("\x{4F1}", "\x{443}$i\x{308}"));
+  ok($objUk->eq("\x{4F0}", "\x{423}$i\x{308}"));
+  ok($objUk->eq("\x{4F3}", "\x{443}$i\x{30B}"));
+  ok($objUk->eq("\x{4F2}", "\x{423}$i\x{30B}"));
+  ok($objUk->eq("\x{4F5}", "\x{447}$i\x{308}"));
+  ok($objUk->eq("\x{4F4}", "\x{427}$i\x{308}"));
+  ok($objUk->eq("\x{4F9}", "\x{44B}$i\x{308}"));
+  ok($objUk->eq("\x{4F8}", "\x{42B}$i\x{308}"));
+  ok($objUk->eq("\x{4ED}", "\x{44D}$i\x{308}"));
+  ok($objUk->eq("\x{4EC}", "\x{42D}$i\x{308}"));
+  ok($objUk->eq("\x{477}", "\x{475}$i\x{30F}"));
+  ok($objUk->eq("\x{476}", "\x{474}$i\x{30F}"));
+}
+
+# 202
+
 $objUk->change(upper_before_lower => 1);
 
 ok($objUk->gt("\x{491}", "\x{490}"));
 
-# 7
+# 203


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_uk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_vi.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_vi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_vi.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 424 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..424\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_vi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 40 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..40\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_wo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 33 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..33\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_yo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zh.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_zh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_zh.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 272 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..280\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -220,19 +228,23 @@
 ok($objZh->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304)));
 ok($objZh->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304)));
 ok($objZh->eq("e\x{302}\x{301}", "\x{1EBF}"));
-ok($objZh->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
 ok($objZh->eq("e\x{302}\x{301}", "e\x{302}\x{341}"));
 ok($objZh->eq("E\x{302}\x{301}", "\x{1EBE}"));
+ok($objZh->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZh->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
+ok($objZh->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x341)));
 ok($objZh->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301)));
-ok($objZh->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZh->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x341)));
 ok($objZh->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C)));
 ok($objZh->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C)));
 ok($objZh->eq("e\x{302}\x{300}", "\x{1EC1}"));
-ok($objZh->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
 ok($objZh->eq("e\x{302}\x{300}", "e\x{302}\x{340}"));
 ok($objZh->eq("E\x{302}\x{300}", "\x{1EC0}"));
+ok($objZh->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZh->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
+ok($objZh->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x340)));
 ok($objZh->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300)));
-ok($objZh->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZh->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x340)));
 ok($objZh->eq("e\x{302}", pack('U', 0xEA)));
 ok($objZh->eq("E\x{302}", pack('U', 0xCA)));
 ok($objZh->eq("i\x{304}", "\x{12B}"));
@@ -288,29 +300,33 @@
 ok($objZh->eq("U\x{300}", pack('U', 0xD9)));
 ok($objZh->eq("U\x{300}", "U\x{340}"));
 ok($objZh->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objZh->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZh->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304)));
-ok($objZh->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZh->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304)));
 ok($objZh->eq("u\x{308}\x{301}", "\x{1D8}"));
-ok($objZh->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
 ok($objZh->eq("u\x{308}\x{301}", "u\x{308}\x{341}"));
 ok($objZh->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objZh->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZh->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
+ok($objZh->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x341)));
 ok($objZh->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301)));
-ok($objZh->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZh->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x341)));
 ok($objZh->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objZh->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZh->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C)));
-ok($objZh->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZh->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C)));
 ok($objZh->eq("u\x{308}\x{300}", "\x{1DC}"));
-ok($objZh->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
 ok($objZh->eq("u\x{308}\x{300}", "u\x{308}\x{340}"));
 ok($objZh->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objZh->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZh->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
+ok($objZh->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x340)));
 ok($objZh->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300)));
-ok($objZh->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZh->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x340)));
 ok($objZh->eq("u\x{308}", pack('U', 0xFC)));
 ok($objZh->eq("U\x{308}", pack('U', 0xDC)));
 
-# 266
+# 274
 
 ok($objZh->eq("e\x{302}\x{303}", "\x{1EC5}"));
 ok($objZh->eq("E\x{302}\x{303}", "\x{1EC4}"));
@@ -319,4 +335,4 @@
 ok($objZh->eq("e\x{302}\x{323}", "\x{1EC7}"));
 ok($objZh->eq("E\x{302}\x{323}", "\x{1EC6}"));
 
-# 272
+# 280


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zh.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhb5.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhb5.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhb5.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 293 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..302\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -220,19 +228,23 @@
 ok($objZhB->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304)));
 ok($objZhB->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304)));
 ok($objZhB->eq("e\x{302}\x{301}", "\x{1EBF}"));
-ok($objZhB->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
 ok($objZhB->eq("e\x{302}\x{301}", "e\x{302}\x{341}"));
 ok($objZhB->eq("E\x{302}\x{301}", "\x{1EBE}"));
+ok($objZhB->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZhB->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
+ok($objZhB->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x341)));
 ok($objZhB->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301)));
-ok($objZhB->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZhB->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x341)));
 ok($objZhB->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C)));
 ok($objZhB->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C)));
 ok($objZhB->eq("e\x{302}\x{300}", "\x{1EC1}"));
-ok($objZhB->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
 ok($objZhB->eq("e\x{302}\x{300}", "e\x{302}\x{340}"));
 ok($objZhB->eq("E\x{302}\x{300}", "\x{1EC0}"));
+ok($objZhB->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZhB->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
+ok($objZhB->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x340)));
 ok($objZhB->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300)));
-ok($objZhB->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZhB->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x340)));
 ok($objZhB->eq("e\x{302}", pack('U', 0xEA)));
 ok($objZhB->eq("E\x{302}", pack('U', 0xCA)));
 ok($objZhB->eq("i\x{304}", "\x{12B}"));
@@ -288,29 +300,33 @@
 ok($objZhB->eq("U\x{300}", pack('U', 0xD9)));
 ok($objZhB->eq("U\x{300}", "U\x{340}"));
 ok($objZhB->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objZhB->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZhB->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304)));
-ok($objZhB->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZhB->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304)));
 ok($objZhB->eq("u\x{308}\x{301}", "\x{1D8}"));
-ok($objZhB->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
 ok($objZhB->eq("u\x{308}\x{301}", "u\x{308}\x{341}"));
 ok($objZhB->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objZhB->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZhB->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
+ok($objZhB->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x341)));
 ok($objZhB->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301)));
-ok($objZhB->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZhB->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x341)));
 ok($objZhB->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objZhB->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZhB->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C)));
-ok($objZhB->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZhB->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C)));
 ok($objZhB->eq("u\x{308}\x{300}", "\x{1DC}"));
-ok($objZhB->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
 ok($objZhB->eq("u\x{308}\x{300}", "u\x{308}\x{340}"));
 ok($objZhB->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objZhB->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZhB->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
+ok($objZhB->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x340)));
 ok($objZhB->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300)));
-ok($objZhB->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZhB->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x340)));
 ok($objZhB->eq("u\x{308}", pack('U', 0xFC)));
 ok($objZhB->eq("U\x{308}", pack('U', 0xDC)));
 
-# 266
+# 274
 
 ok($objZhB->eq("e\x{302}\x{303}", "\x{1EC5}"));
 ok($objZhB->eq("E\x{302}\x{303}", "\x{1EC4}"));
@@ -319,12 +335,11 @@
 ok($objZhB->eq("e\x{302}\x{323}", "\x{1EC7}"));
 ok($objZhB->eq("E\x{302}\x{323}", "\x{1EC6}"));
 
-# 272
+# 280
 
 $objZhB->change(level => 1);
 
 ok($objZhB->lt("\x{A000}", "\x{5159}"));
-
 ok($objZhB->lt("\x{5159}", "\x{515B}"));
 ok($objZhB->lt("\x{515B}", "\x{515E}"));
 ok($objZhB->lt("\x{515E}", "\x{515D}"));
@@ -340,7 +355,7 @@
 ok($objZhB->lt("\x{4E03}", "\x{4E43}"));
 ok($objZhB->lt("\x{4E43}", "\x{4E5D}"));
 ok($objZhB->lt("\x{4E5D}", "\x{4E86}"));
-
+ok($objZhB->lt("\x{4E86}", "\x{7069}"));
 ok($objZhB->lt("\x{7069}", "\x{706A}"));
 ok($objZhB->lt("\x{706A}", "\x{9EA4}"));
 ok($objZhB->lt("\x{9EA4}", "\x{9F7E}"));
@@ -347,4 +362,4 @@
 ok($objZhB->lt("\x{9F7E}", "\x{9F49}"));
 ok($objZhB->lt("\x{9F49}", "\x{9F98}"));
 
-# 293
+# 302


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhb5.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhgb.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhgb.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhgb.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 290 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..298\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -220,19 +228,23 @@
 ok($objZhG->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304)));
 ok($objZhG->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304)));
 ok($objZhG->eq("e\x{302}\x{301}", "\x{1EBF}"));
-ok($objZhG->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
 ok($objZhG->eq("e\x{302}\x{301}", "e\x{302}\x{341}"));
 ok($objZhG->eq("E\x{302}\x{301}", "\x{1EBE}"));
+ok($objZhG->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZhG->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
+ok($objZhG->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x341)));
 ok($objZhG->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301)));
-ok($objZhG->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZhG->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x341)));
 ok($objZhG->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C)));
 ok($objZhG->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C)));
 ok($objZhG->eq("e\x{302}\x{300}", "\x{1EC1}"));
-ok($objZhG->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
 ok($objZhG->eq("e\x{302}\x{300}", "e\x{302}\x{340}"));
 ok($objZhG->eq("E\x{302}\x{300}", "\x{1EC0}"));
+ok($objZhG->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZhG->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
+ok($objZhG->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x340)));
 ok($objZhG->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300)));
-ok($objZhG->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZhG->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x340)));
 ok($objZhG->eq("e\x{302}", pack('U', 0xEA)));
 ok($objZhG->eq("E\x{302}", pack('U', 0xCA)));
 ok($objZhG->eq("i\x{304}", "\x{12B}"));
@@ -288,29 +300,33 @@
 ok($objZhG->eq("U\x{300}", pack('U', 0xD9)));
 ok($objZhG->eq("U\x{300}", "U\x{340}"));
 ok($objZhG->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objZhG->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZhG->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304)));
-ok($objZhG->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZhG->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304)));
 ok($objZhG->eq("u\x{308}\x{301}", "\x{1D8}"));
-ok($objZhG->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
 ok($objZhG->eq("u\x{308}\x{301}", "u\x{308}\x{341}"));
 ok($objZhG->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objZhG->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZhG->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
+ok($objZhG->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x341)));
 ok($objZhG->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301)));
-ok($objZhG->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZhG->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x341)));
 ok($objZhG->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objZhG->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZhG->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C)));
-ok($objZhG->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZhG->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C)));
 ok($objZhG->eq("u\x{308}\x{300}", "\x{1DC}"));
-ok($objZhG->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
 ok($objZhG->eq("u\x{308}\x{300}", "u\x{308}\x{340}"));
 ok($objZhG->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objZhG->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZhG->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
+ok($objZhG->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x340)));
 ok($objZhG->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300)));
-ok($objZhG->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZhG->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x340)));
 ok($objZhG->eq("u\x{308}", pack('U', 0xFC)));
 ok($objZhG->eq("U\x{308}", pack('U', 0xDC)));
 
-# 266
+# 274
 
 ok($objZhG->eq("e\x{302}\x{303}", "\x{1EC5}"));
 ok($objZhG->eq("E\x{302}\x{303}", "\x{1EC4}"));
@@ -319,12 +335,11 @@
 ok($objZhG->eq("e\x{302}\x{323}", "\x{1EC7}"));
 ok($objZhG->eq("E\x{302}\x{323}", "\x{1EC6}"));
 
-# 272
+# 280
 
 $objZhG->change(level => 1);
 
 ok($objZhG->lt("\x{A000}", "\x{554A}"));
-
 ok($objZhG->lt("\x{554A}", "\x{963F}"));
 ok($objZhG->lt("\x{963F}", "\x{57C3}"));
 ok($objZhG->lt("\x{57C3}", "\x{6328}"));
@@ -335,10 +350,8 @@
 ok($objZhG->lt("\x{7691}", "\x{764C}"));
 ok($objZhG->lt("\x{764C}", "\x{853C}"));
 ok($objZhG->lt("\x{853C}", "\x{77EE}"));
-
 ok($objZhG->lt("\x{77EE}", "\x{4E00}"));
 ok($objZhG->lt("\x{4E00}", "\x{9F2F}"));
-
 ok($objZhG->lt("\x{9F2F}", "\x{9F39}"));
 ok($objZhG->lt("\x{9F39}", "\x{9F37}"));
 ok($objZhG->lt("\x{9F37}", "\x{9F3D}"));
@@ -345,4 +358,4 @@
 ok($objZhG->lt("\x{9F3D}", "\x{9F3E}"));
 ok($objZhG->lt("\x{9F3E}", "\x{9F44}"));
 
-# 290
+# 298


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhgb.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhpy.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhpy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhpy.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 302 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..292\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -220,19 +228,23 @@
 ok($objZhP->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304)));
 ok($objZhP->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304)));
 ok($objZhP->eq("e\x{302}\x{301}", "\x{1EBF}"));
-ok($objZhP->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
 ok($objZhP->eq("e\x{302}\x{301}", "e\x{302}\x{341}"));
 ok($objZhP->eq("E\x{302}\x{301}", "\x{1EBE}"));
+ok($objZhP->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZhP->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
+ok($objZhP->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x341)));
 ok($objZhP->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301)));
-ok($objZhP->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZhP->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x341)));
 ok($objZhP->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C)));
 ok($objZhP->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C)));
 ok($objZhP->eq("e\x{302}\x{300}", "\x{1EC1}"));
-ok($objZhP->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
 ok($objZhP->eq("e\x{302}\x{300}", "e\x{302}\x{340}"));
 ok($objZhP->eq("E\x{302}\x{300}", "\x{1EC0}"));
+ok($objZhP->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZhP->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
+ok($objZhP->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x340)));
 ok($objZhP->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300)));
-ok($objZhP->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZhP->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x340)));
 ok($objZhP->eq("e\x{302}", pack('U', 0xEA)));
 ok($objZhP->eq("E\x{302}", pack('U', 0xCA)));
 ok($objZhP->eq("i\x{304}", "\x{12B}"));
@@ -288,29 +300,33 @@
 ok($objZhP->eq("U\x{300}", pack('U', 0xD9)));
 ok($objZhP->eq("U\x{300}", "U\x{340}"));
 ok($objZhP->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objZhP->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZhP->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304)));
-ok($objZhP->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZhP->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304)));
 ok($objZhP->eq("u\x{308}\x{301}", "\x{1D8}"));
-ok($objZhP->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
 ok($objZhP->eq("u\x{308}\x{301}", "u\x{308}\x{341}"));
 ok($objZhP->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objZhP->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZhP->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
+ok($objZhP->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x341)));
 ok($objZhP->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301)));
-ok($objZhP->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZhP->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x341)));
 ok($objZhP->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objZhP->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZhP->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C)));
-ok($objZhP->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZhP->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C)));
 ok($objZhP->eq("u\x{308}\x{300}", "\x{1DC}"));
-ok($objZhP->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
 ok($objZhP->eq("u\x{308}\x{300}", "u\x{308}\x{340}"));
 ok($objZhP->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objZhP->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZhP->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
+ok($objZhP->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x340)));
 ok($objZhP->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300)));
-ok($objZhP->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZhP->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x340)));
 ok($objZhP->eq("u\x{308}", pack('U', 0xFC)));
 ok($objZhP->eq("U\x{308}", pack('U', 0xDC)));
 
-# 266
+# 274
 
 ok($objZhP->eq("e\x{302}\x{303}", "\x{1EC5}"));
 ok($objZhP->eq("E\x{302}\x{303}", "\x{1EC4}"));
@@ -319,44 +335,21 @@
 ok($objZhP->eq("e\x{302}\x{323}", "\x{1EC7}"));
 ok($objZhP->eq("E\x{302}\x{323}", "\x{1EC6}"));
 
-# 272
+# 280
 
 $objZhP->change(level => 1);
 
-ok($objZhP->lt("\x{A000}", "\x{3105}"));
+ok($objZhP->lt("\x{A000}", "\x{963F}"));
+ok($objZhP->lt("\x{963F}", "\x{5730}"));
+ok($objZhP->lt("\x{5730}", "\x{7ACB}"));
+ok($objZhP->lt("\x{7ACB}", "\x{4EBA}"));
+ok($objZhP->lt("\x{4EBA}", "\x{65E5}"));
+ok($objZhP->lt("\x{65E5}", "\x{4E0A}"));
+ok($objZhP->lt("\x{4E0A}", "\x{5929}"));
+ok($objZhP->lt("\x{5929}", "\x{4E0B}"));
+ok($objZhP->lt("\x{4E0B}", "\x{65BC}"));
+ok($objZhP->lt("\x{65BC}", "\x{4E2D}"));
+ok($objZhP->lt("\x{4E2D}", "\x{7AFA}"));
+ok($objZhP->lt("\x{7AFA}", "\x{5750}"));
 
-ok($objZhP->lt("\x{3105}", "\x{3106}"));
-ok($objZhP->lt("\x{3106}", "\x{3128}"));
-ok($objZhP->lt("\x{3128}", "\x{3129}"));
-ok($objZhP->lt("\x{3129}", "\x{5416}"));
-ok($objZhP->lt("\x{5416}", "\x{963F}"));
-ok($objZhP->lt("\x{963F}", "\x{554A}"));
-ok($objZhP->lt("\x{554A}", "\x{9515}"));
-ok($objZhP->lt("\x{9515}", "\x{9312}"));
-ok($objZhP->lt("\x{9312}", "\x{55C4}"));
-ok($objZhP->lt("\x{55C4}", "\x{5391}"));
-ok($objZhP->lt("\x{5391}", "\x{54CE}"));
-ok($objZhP->lt("\x{54CE}", "\x{54C0}"));
-ok($objZhP->lt("\x{54C0}", "\x{5509}"));
-ok($objZhP->lt("\x{5509}", "\x{57C3}"));
-
-ok($objZhP->lt("\x{6FED}", "\x{FA1F}"));
-ok($objZhP->lt("\x{FA1F}", "\x{85F9}"));
-
-ok($objZhP->lt("\x{57C3}", "\x{4E00}"));
-ok($objZhP->lt("\x{4E00}", "\x{8331}"));
-
-ok($objZhP->lt("\x{8331}", "\x{682A}"));
-ok($objZhP->lt("\x{682A}", "\x{3231}"));
-ok($objZhP->lt("\x{3231}", "\x{73E0}"));
-ok($objZhP->lt("\x{73E0}", "\x{8BF8}"));
-
-ok($objZhP->lt("\x{5EA7}", "\x{888F}"));
-ok($objZhP->lt("\x{888F}", "\x{505A}"));
-ok($objZhP->lt("\x{505A}", "\x{8444}"));
-ok($objZhP->lt("\x{8444}", "\x{84D9}"));
-ok($objZhP->lt("\x{84D9}", "\x{98F5}"));
-ok($objZhP->lt("\x{98F5}", "\x{7CF3}"));
-ok($objZhP->lt("\x{7CF3}", "\x{5497}"));
-
-# 302
+# 292


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhpy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhst.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhst.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 291 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..300\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate::Locale;
 
 ok(1);
@@ -220,19 +228,23 @@
 ok($objZhS->eq("e\x{302}\x{304}", pack('U*', 0xEA, 0x304)));
 ok($objZhS->eq("E\x{302}\x{304}", pack('U*', 0xCA, 0x304)));
 ok($objZhS->eq("e\x{302}\x{301}", "\x{1EBF}"));
-ok($objZhS->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
 ok($objZhS->eq("e\x{302}\x{301}", "e\x{302}\x{341}"));
 ok($objZhS->eq("E\x{302}\x{301}", "\x{1EBE}"));
+ok($objZhS->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZhS->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x301)));
+ok($objZhS->eq("e\x{302}\x{301}", pack('U*', 0xEA, 0x341)));
 ok($objZhS->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x301)));
-ok($objZhS->eq("E\x{302}\x{301}", "E\x{302}\x{341}"));
+ok($objZhS->eq("E\x{302}\x{301}", pack('U*', 0xCA, 0x341)));
 ok($objZhS->eq("e\x{302}\x{30C}", pack('U*', 0xEA, 0x30C)));
 ok($objZhS->eq("E\x{302}\x{30C}", pack('U*', 0xCA, 0x30C)));
 ok($objZhS->eq("e\x{302}\x{300}", "\x{1EC1}"));
-ok($objZhS->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
 ok($objZhS->eq("e\x{302}\x{300}", "e\x{302}\x{340}"));
 ok($objZhS->eq("E\x{302}\x{300}", "\x{1EC0}"));
+ok($objZhS->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZhS->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x300)));
+ok($objZhS->eq("e\x{302}\x{300}", pack('U*', 0xEA, 0x340)));
 ok($objZhS->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x300)));
-ok($objZhS->eq("E\x{302}\x{300}", "E\x{302}\x{340}"));
+ok($objZhS->eq("E\x{302}\x{300}", pack('U*', 0xCA, 0x340)));
 ok($objZhS->eq("e\x{302}", pack('U', 0xEA)));
 ok($objZhS->eq("E\x{302}", pack('U', 0xCA)));
 ok($objZhS->eq("i\x{304}", "\x{12B}"));
@@ -288,29 +300,33 @@
 ok($objZhS->eq("U\x{300}", pack('U', 0xD9)));
 ok($objZhS->eq("U\x{300}", "U\x{340}"));
 ok($objZhS->eq("u\x{308}\x{304}", "\x{1D6}"));
+ok($objZhS->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZhS->eq("u\x{308}\x{304}", pack('U*', 0xFC, 0x304)));
-ok($objZhS->eq("U\x{308}\x{304}", "\x{1D5}"));
 ok($objZhS->eq("U\x{308}\x{304}", pack('U*', 0xDC, 0x304)));
 ok($objZhS->eq("u\x{308}\x{301}", "\x{1D8}"));
-ok($objZhS->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
 ok($objZhS->eq("u\x{308}\x{301}", "u\x{308}\x{341}"));
 ok($objZhS->eq("U\x{308}\x{301}", "\x{1D7}"));
+ok($objZhS->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZhS->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x301)));
+ok($objZhS->eq("u\x{308}\x{301}", pack('U*', 0xFC, 0x341)));
 ok($objZhS->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x301)));
-ok($objZhS->eq("U\x{308}\x{301}", "U\x{308}\x{341}"));
+ok($objZhS->eq("U\x{308}\x{301}", pack('U*', 0xDC, 0x341)));
 ok($objZhS->eq("u\x{308}\x{30C}", "\x{1DA}"));
+ok($objZhS->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZhS->eq("u\x{308}\x{30C}", pack('U*', 0xFC, 0x30C)));
-ok($objZhS->eq("U\x{308}\x{30C}", "\x{1D9}"));
 ok($objZhS->eq("U\x{308}\x{30C}", pack('U*', 0xDC, 0x30C)));
 ok($objZhS->eq("u\x{308}\x{300}", "\x{1DC}"));
-ok($objZhS->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
 ok($objZhS->eq("u\x{308}\x{300}", "u\x{308}\x{340}"));
 ok($objZhS->eq("U\x{308}\x{300}", "\x{1DB}"));
+ok($objZhS->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZhS->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x300)));
+ok($objZhS->eq("u\x{308}\x{300}", pack('U*', 0xFC, 0x340)));
 ok($objZhS->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x300)));
-ok($objZhS->eq("U\x{308}\x{300}", "U\x{308}\x{340}"));
+ok($objZhS->eq("U\x{308}\x{300}", pack('U*', 0xDC, 0x340)));
 ok($objZhS->eq("u\x{308}", pack('U', 0xFC)));
 ok($objZhS->eq("U\x{308}", pack('U', 0xDC)));
 
-# 266
+# 274
 
 ok($objZhS->eq("e\x{302}\x{303}", "\x{1EC5}"));
 ok($objZhS->eq("E\x{302}\x{303}", "\x{1EC4}"));
@@ -319,12 +335,11 @@
 ok($objZhS->eq("e\x{302}\x{323}", "\x{1EC7}"));
 ok($objZhS->eq("E\x{302}\x{323}", "\x{1EC6}"));
 
-# 272
+# 280
 
 $objZhS->change(level => 1);
 
 ok($objZhS->lt("\x{A000}", "\x{4E00}"));
-
 ok($objZhS->lt("\x{4E00}", "\x{4E59}"));
 ok($objZhS->lt("\x{4E59}", "\x{4E01}"));
 ok($objZhS->lt("\x{4E01}", "\x{4E03}"));
@@ -335,14 +350,14 @@
 ok($objZhS->lt("\x{4E8C}", "\x{4EBA}"));
 ok($objZhS->lt("\x{4EBA}", "\x{513F}"));
 ok($objZhS->lt("\x{513F}", "\x{5165}"));
-
+ok($objZhS->lt("\x{5165}", "\x{9E1D}"));
 ok($objZhS->lt("\x{9E1D}", "\x{7069}"));
-ok($objZhS->lt("\x{7069}", "\x{7C72}"));
-ok($objZhS->lt("\x{7C72}", "\x{706A}"));
-ok($objZhS->lt("\x{706A}", "\x{7229}"));
+ok($objZhS->lt("\x{7069}", "\x{706A}"));
+ok($objZhS->lt("\x{706A}", "\x{7C72}"));
+ok($objZhS->lt("\x{7C72}", "\x{7229}"));
 ok($objZhS->lt("\x{7229}", "\x{9EA4}"));
 ok($objZhS->lt("\x{9EA4}", "\x{9F7E}"));
 ok($objZhS->lt("\x{9F7E}", "\x{9F49}"));
 ok($objZhS->lt("\x{9F49}", "\x{9F98}"));
 
-# 291
+# 300


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/loc_zhst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/nonchar.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/nonchar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/nonchar.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,9 +11,6 @@
     }
 }
 
-use Test;
-use strict;
-use warnings;
 
 BEGIN {
     use Unicode::Collate;
@@ -26,7 +23,18 @@
     }
 }
 
-BEGIN { plan tests => 61 }; # 1 + 30 * 2
+use strict;
+use warnings;
+BEGIN { $| = 1; print "1..90\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
 
 ok(1);
 
@@ -46,7 +54,7 @@
 #    allowing "Disi\x{301}lva<LOW>John" to sort next to "Disilva<LOW>John".
 
 my $entry = <<'ENTRIES';
-FFFE  ; [*0001.0020.0005.FFFE] # <noncharacter-FFFE>
+FFFE  ; [.0001.0020.0005.FFFE] # <noncharacter-FFFE>
 FFFF  ; [.FFFE.0020.0005.FFFF] # <noncharacter-FFFF>
 ENTRIES
 
@@ -59,7 +67,7 @@
     if (defined $norm) {
 	eval { require Unicode::Normalize };
 	if ($@) {
-	    ok(1) for 1..30; # silent skip
+	    ok(1) for 1..34; # silent skip
 	    next;
 	}
     }
@@ -106,9 +114,59 @@
     # 26
     ok($coll->lt($dsf[-1], $dsj[0]));
 
-    # 27..30
+    $coll->change(level => 1);
+
+    # 27..34
     for my $i (0 .. $#disilva) {
+	ok($coll->lt($dsf[$i], $dsJ[$i]));
 	ok($coll->lt($dsj[$i], $dsJ[$i]));
     }
 }
 
+# 69
+
+{
+    my $coll = Unicode::Collate->new(
+	table => 'keys.txt',
+	normalization => undef,
+	highestFFFF => 1,
+	minimalFFFE => 1,
+    );
+
+    $coll->change(level => 1);
+    ok($coll->lt("perl\x{FFFD}",   "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{1FFFD}",  "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{1FFFE}",  "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{1FFFF}",  "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{2FFFD}",  "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{2FFFE}",  "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{2FFFF}",  "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{10FFFD}", "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{10FFFE}", "perl\x{FFFF}"));
+    ok($coll->lt("perl\x{10FFFF}", "perl\x{FFFF}"));
+
+# 79
+
+    $coll->change(level => 3);
+    my @list = (
+	"ab\x{FFFE}a",
+	"Ab\x{FFFE}a",
+	"ab\x{FFFE}c",
+	"Ab\x{FFFE}c",
+	"ab\x{FFFE}xyz",
+	"abc\x{FFFE}def",
+	"abc\x{FFFE}xYz",
+	"aBc\x{FFFE}xyz",
+	"abcX\x{FFFE}def",
+	"abcx\x{FFFE}xyz",
+	"b\x{FFFE}aaa",
+	"bbb\x{FFFE}a",
+    );
+    my $p = shift @list;
+    for my $c (@list) {
+	ok($coll->lt($p, $c));
+	$p = $c;
+    }
+}
+
+# 90


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/nonchar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/normal.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/normal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/normal.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,11 +18,19 @@
 	exit;
     }
 }
-use Test;
-BEGIN { plan tests => 100 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..100\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 our $Aring = pack('U', 0xC5);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/normal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 246 }; # 6 + 30 x @Versions
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..316\n"; } # 6 + 31 x @Versions
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -47,6 +55,7 @@
 # 9FA6..9FBB are CJK UI since UCA_Version 14 (Unicode 4.1).
 # 9FBC..9FC3 are CJK UI since UCA_Version 18 (Unicode 5.1).
 # 9FC4..9FCB are CJK UI since UCA_Version 20 (Unicode 5.2).
+# 9FCC       is  CJK UI since UCA_Version 24 (Unicode 6.1).
 
 # 3400..4DB5   are CJK UI Ext.A since UCA_Version 8  (Unicode 3.0).
 # 20000..2A6D6 are CJK UI Ext.B since UCA_Version 8  (Unicode 3.1).
@@ -53,7 +62,7 @@
 # 2A700..2B734 are CJK UI Ext.C since UCA_Version 20 (Unicode 5.2).
 # 2B740..2B81D are CJK UI Ext.D since UCA_Version 22 (Unicode 6.0).
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26);
 
 for my $v (@Versions) {
     $ignoreCJK->change(UCA_Version => $v);
@@ -71,7 +80,8 @@
     ok($ignoreCJK->cmp("\x{9FC3}", "") == ($v >= 18 ? 0 : 1));
     ok($ignoreCJK->cmp("\x{9FC4}", "") == ($v >= 20 ? 0 : 1));
     ok($ignoreCJK->cmp("\x{9FCB}", "") == ($v >= 20 ? 0 : 1));
-    ok($ignoreCJK->cmp("\x{9FCC}", "") == 1);
+    ok($ignoreCJK->cmp("\x{9FCC}", "") == ($v >= 24 ? 0 : 1));
+    ok($ignoreCJK->cmp("\x{9FCD}", "") == 1);
     ok($ignoreCJK->cmp("\x{9FCF}", "") == 1);
 
     # Ext.A


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/overcjk0.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 131 }; # 11 + 15 x @Versions
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..171\n"; } # 11 + 16 x @Versions
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -52,8 +60,9 @@
 # 9FA6..9FBB are CJK UI since UCA_Version 14 (Unicode 4.1).
 # 9FBC..9FC3 are CJK UI since UCA_Version 18 (Unicode 5.1).
 # 9FC4..9FCB are CJK UI since UCA_Version 20 (Unicode 5.2).
+# 9FCC       is  CJK UI since UCA_Version 24 (Unicode 6.1).
 
-my @Versions = (8, 9, 11, 14, 16, 18, 20, 22);
+my @Versions = (8, 9, 11, 14, 16, 18, 20, 22, 24, 26);
 
 for my $v (@Versions) {
     $overCJK->change(UCA_Version => $v);
@@ -70,7 +79,8 @@
     ok($overCJK->cmp("a\x{9FC3}", "A\x{9FC4}") == ($v >= 20 ? 1 : -1));
     ok($overCJK->cmp("a\x{9FC4}", "A\x{9FCA}") == ($v >= 20 ? 1 : -1));
     ok($overCJK->cmp("a\x{9FCA}", "A\x{9FCB}") == ($v >= 20 ? 1 : -1));
-    ok($overCJK->cmp("a\x{9FCB}", "A\x{9FCC}") == -1);
-    ok($overCJK->cmp("a\x{9FCC}", "A\x{9FCF}") == -1);
+    ok($overCJK->cmp("a\x{9FCB}", "A\x{9FCC}") == ($v >= 24 ? 1 : -1));
+    ok($overCJK->cmp("a\x{9FCC}", "A\x{9FCD}") == -1);
+    ok($overCJK->cmp("a\x{9FCD}", "A\x{9FCF}") == -1);
 }
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/overcjk1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/override.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/override.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/override.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 35 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..35\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/override.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/rearrang.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/rearrang.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/rearrang.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 23 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..23\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -34,8 +42,8 @@
 
 my %old_rearrange = $Collator->change(rearrange => undef);
 
-ok($Collator->gt("\x{0E41}A", "\x{0E40}B"));
-ok($Collator->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($Collator->gt( "\x{E41}A",  "\x{E40}B"));
+ok($Collator->gt("A\x{E41}A", "A\x{E40}B"));
 
 $Collator->change(rearrange => [ 0x61 ]);
  # U+0061, 'a': This is a Unicode value, never a native value.
@@ -45,10 +53,10 @@
 $Collator->change(%old_rearrange);
 
 ok($Collator->lt("ab", "AB"));
-ok($Collator->lt("\x{0E40}", "\x{0E41}"));
-ok($Collator->lt("\x{0E40}A", "\x{0E41}B"));
-ok($Collator->lt("\x{0E41}A", "\x{0E40}B"));
-ok($Collator->lt("A\x{0E41}A", "A\x{0E40}B"));
+ok($Collator->lt( "\x{E40}",   "\x{E41}"));
+ok($Collator->lt( "\x{E40}A",  "\x{E41}B"));
+ok($Collator->lt( "\x{E41}A",  "\x{E40}B"));
+ok($Collator->lt("A\x{E41}A", "A\x{E40}B"));
 
 ##### 10..13
 
@@ -60,10 +68,10 @@
   UCA_Version => 8,
 );
 
-ok($all_undef_8->lt("\x{0E40}", "\x{0E41}"));
-ok($all_undef_8->lt("\x{0E40}A", "\x{0E41}B"));
-ok($all_undef_8->lt("\x{0E41}A", "\x{0E40}B"));
-ok($all_undef_8->lt("A\x{0E41}A", "A\x{0E40}B"));
+ok($all_undef_8->lt( "\x{E40}",   "\x{E41}"));
+ok($all_undef_8->lt( "\x{E40}A",  "\x{E41}B"));
+ok($all_undef_8->lt( "\x{E41}A",  "\x{E40}B"));
+ok($all_undef_8->lt("A\x{E41}A", "A\x{E40}B"));
 
 ##### 14..18
 
@@ -75,10 +83,10 @@
 );
 
 ok($no_rearrange->lt("A", "B"));
-ok($no_rearrange->lt("\x{0E40}", "\x{0E41}"));
-ok($no_rearrange->lt("\x{0E40}A", "\x{0E41}B"));
-ok($no_rearrange->gt("\x{0E41}A", "\x{0E40}B"));
-ok($no_rearrange->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($no_rearrange->lt( "\x{E40}",   "\x{E41}"));
+ok($no_rearrange->lt( "\x{E40}A",  "\x{E41}B"));
+ok($no_rearrange->gt( "\x{E41}A",  "\x{E40}B"));
+ok($no_rearrange->gt("A\x{E41}A", "A\x{E40}B"));
 
 ##### 19..23
 
@@ -90,8 +98,8 @@
 );
 
 ok($undef_rearrange->lt("A", "B"));
-ok($undef_rearrange->lt("\x{0E40}", "\x{0E41}"));
-ok($undef_rearrange->lt("\x{0E40}A", "\x{0E41}B"));
-ok($undef_rearrange->gt("\x{0E41}A", "\x{0E40}B"));
-ok($undef_rearrange->gt("A\x{0E41}A", "A\x{0E40}B"));
+ok($undef_rearrange->lt( "\x{E40}",   "\x{E41}"));
+ok($undef_rearrange->lt( "\x{E40}A",  "\x{E41}B"));
+ok($undef_rearrange->gt( "\x{E41}A",  "\x{E40}B"));
+ok($undef_rearrange->gt("A\x{E41}A", "A\x{E40}B"));
 


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/rearrang.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/test.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/test.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 107 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..96\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -32,7 +40,7 @@
 my $hiragana = "\x{3042}\x{3044}";
 my $katakana = "\x{30A2}\x{30A4}";
 
-##### 2..7
+# 1
 
 my $Collator = Unicode::Collate->new(
   table => 'keys.txt',
@@ -55,7 +63,7 @@
   join(':',                  qw/ ACA ACHA ACIA ACKA ADA / ),
 );
 
-##### 8..18
+# 7
 
 ok($Collator->cmp("A$acute", $A_acute), 0); # @version 3.1.1 (prev: -1)
 ok($Collator->cmp($a_acute, $A_acute), -1);
@@ -73,7 +81,7 @@
 ok($Collator->lt("A", $a_acute));
 ok($Collator->lt($a_acute, $A_acute));
 
-##### 19..25
+# 18
 
 $Collator->change(level => 2);
 
@@ -86,7 +94,7 @@
 ok( $Collator->eq($hiragana, $katakana) );
 ok( $Collator->ge($hiragana, $katakana) );
 
-##### 26..31
+# 25
 
 # hangul
 ok( $Collator->eq("a\x{AC00}b", "a\x{1100}\x{1161}b") );
@@ -96,7 +104,7 @@
 ok( $Collator->gt("a\x{D7A3}b", "a\x{C544}b") );
 ok( $Collator->lt("a\x{C544}b", "a\x{30A2}b") ); # hangul < hiragana
 
-##### 32..40
+# 31
 
 $Collator->change(%old_level, katakana_before_hiragana => 1);
 
@@ -111,7 +119,7 @@
 ok( $Collator->gt($hiragana, $katakana) );
 ok( $Collator->ge($hiragana, $katakana) );
 
-##### 41..46
+# 40
 
 $Collator->change(upper_before_lower => 1);
 
@@ -122,7 +130,7 @@
 ok( $Collator->ge($hiragana, $katakana), 1);
 ok( $Collator->gt($hiragana, $katakana), 1);
 
-##### 47..48
+# 46
 
 $Collator->change(katakana_before_hiragana => 0);
 
@@ -129,7 +137,7 @@
 ok( $Collator->cmp("abc", "ABC"), 1);
 ok( $Collator->cmp($hiragana, $katakana), -1);
 
-##### 49..52
+# 48
 
 $Collator->change(upper_before_lower => 0);
 
@@ -138,7 +146,8 @@
 ok( $Collator->cmp($hiragana, $katakana), -1);
 ok( $Collator->lt($hiragana, $katakana) );
 
-##### 53..54
+# 52
+
 {
     my $ignoreAE = Unicode::Collate->new(
 	table => 'keys.txt',
@@ -149,27 +158,8 @@
     ok($ignoreAE->eq("Perl","ePrl"));
 }
 
-##### 55
-{
-    my $onlyABC = Unicode::Collate->new(
-	table => undef,
-	normalization => undef,
-	entry => << 'ENTRIES',
-0061 ; [.0101.0020.0002.0061] # LATIN SMALL LETTER A
-0041 ; [.0101.0020.0008.0041] # LATIN CAPITAL LETTER A
-0062 ; [.0102.0020.0002.0062] # LATIN SMALL LETTER B
-0042 ; [.0102.0020.0008.0042] # LATIN CAPITAL LETTER B
-0063 ; [.0103.0020.0002.0063] # LATIN SMALL LETTER C
-0043 ; [.0103.0020.0008.0043] # LATIN CAPITAL LETTER C
-ENTRIES
-    );
-    ok(
-	join(':', $onlyABC->sort( qw/ ABA BAC cc A Ab cAc aB / ) ),
-	join(':',                 qw/ A aB Ab ABA BAC cAc cc / ),
-    );
-}
+# 54
 
-##### 56..59
 {
     my $undefAE = Unicode::Collate->new(
 	table => 'keys.txt',
@@ -182,70 +172,9 @@
     ok($Collator->lt("lake","like"));
 }
 
-##### 60..69
-{
-    # Table is undefined, then no entry is defined.
-    my $undef_table = Unicode::Collate->new(
-	table => undef,
-	normalization => undef,
-	level => 1,
-    );
+# 58
 
-    # in the Unicode code point order
-    ok($undef_table->lt('', 'A'));
-    ok($undef_table->lt('ABC', 'B'));
-
-    # Hangul should be decomposed (even w/o Unicode::Normalize).
-    ok($undef_table->lt("Perl", "\x{AC00}"));
-    ok($undef_table->eq("\x{AC00}", "\x{1100}\x{1161}"));
-    ok($undef_table->eq("\x{AE00}", "\x{1100}\x{1173}\x{11AF}"));
-    ok($undef_table->lt("\x{AE00}", "\x{3042}"));
-
-    # U+AC00: Hangul GA
-    # U+AE00: Hangul GEUL
-    # U+3042: Hiragana A
-
-    # Weight for CJK Ideographs is defined, though.
-    ok($undef_table->lt("", "\x{4E00}"));
-    ok($undef_table->lt("\x{4E8C}","ABC"));
-    ok($undef_table->lt("\x{4E00}","\x{3042}"));
-    ok($undef_table->lt("\x{4E00}","\x{4E8C}"));
-
-    # U+4E00: Ideograph "ONE"
-    # U+4E8C: Ideograph "TWO"
-}
-
-##### 70..74
 {
-    my $few_entries = Unicode::Collate->new(
-	entry => <<'ENTRIES',
-0050 ; [.0101.0020.0002.0050]  # P
-0045 ; [.0102.0020.0002.0045]  # E
-0052 ; [.0103.0020.0002.0052]  # R
-004C ; [.0104.0020.0002.004C]  # L
-1100 ; [.0105.0020.0002.1100]  # Hangul Jamo initial G
-1175 ; [.0106.0020.0002.1175]  # Hangul Jamo middle I
-5B57 ; [.0107.0020.0002.5B57]  # CJK Ideograph "Letter"
-ENTRIES
-	table => undef,
-	normalization => undef,
-    );
-    # defined before undefined
-    my $sortABC = join '',
-	$few_entries->sort(split //, "ABCDEFGHIJKLMNOPQRSTUVWXYZ ");
-
-    ok($sortABC eq "PERL ABCDFGHIJKMNOQSTUVWXYZ");
-
-    ok($few_entries->lt('E', 'D'));
-    ok($few_entries->lt("\x{5B57}", "\x{4E00}"));
-    ok($few_entries->lt("\x{AE30}", "\x{AC00}"));
-
-    # Hangul must be decomposed.
-    ok($few_entries->eq("\x{AC00}", "\x{1100}\x{1161}"));
-}
-
-##### 75..79
-{
     my $dropArticles = Unicode::Collate->new(
 	table => "keys.txt",
 	normalization => undef,
@@ -262,7 +191,8 @@
     ok($Collator->gt("the pen", "a pencil"));
 }
 
-##### 80..83
+# 63
+
 {
     my $undefName = Unicode::Collate->new(
 	table => "keys.txt",
@@ -278,7 +208,8 @@
     ok($Collator ->gt("\x{4E03}", $katakana));
 }
 
-##### 84..90
+# 67
+
 {
     my $O_str = Unicode::Collate->new(
 	table => "keys.txt",
@@ -313,7 +244,7 @@
     ok($O_str   ->gt("\x{200B}", "A"));
 }
 
-##### 91..101
+# 74
 
 my %origVer = $Collator->change(UCA_Version => 8);
 
@@ -343,7 +274,7 @@
 ok($Collator->gt("!\x{300}", ""));
 ok($Collator->eq("!\x{300}", "!"));
 
-##### 102..107
+# 85
 
 $_ = 'Foo';
 
@@ -377,5 +308,37 @@
 @temp = $c->index("perl5", "LR");
 ok($_, 'Foo');
 
-#####
+# 91
 
+{
+    my $caseless = Unicode::Collate->new(
+	table => "keys.txt",
+	normalization => undef,
+	preprocess => sub { uc shift },
+    );
+    ok( $Collator->gt("ABC","abc") );
+    ok( $caseless->eq("ABC","abc") );
+}
+
+# 93
+
+{
+    eval { require Unicode::Normalize; };
+    if ($@) {
+	eval { my $n1 = Unicode::Collate->new(table => "keys.txt"); };
+        ok($@ =~ /Unicode::Normalize is required/);
+
+	eval { my $n2 = Unicode::Collate->new
+		(table => "keys.txt", normalization => undef); };
+	ok(!$@);
+
+	eval { my $n3 = Unicode::Collate->new
+		(table => "keys.txt", normalization => 'prenormalized'); };
+        ok($@ =~ /Unicode::Normalize is required/);
+    } else {
+	ok(1) for 1..3;
+    }
+}
+
+# 96
+


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/test.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/trailwt.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/trailwt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/trailwt.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 58 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..58\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/trailwt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/variable.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/variable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/variable.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 37 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..37\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/variable.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/version.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/version.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,19 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 17 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..17\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
@@ -23,8 +31,8 @@
 #########################
 
 # Fix me when UCA and/or keys.txt is upgraded.
-my $UCA_Version = "22";
-my $Base_Unicode_Version = "6.0.0";
+my $UCA_Version = "26";
+my $Base_Unicode_Version = "6.2.0";
 my $Key_Version = "3.1.1";
 
 ok(Unicode::Collate::UCA_Version, $UCA_Version);


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Collate/t/view.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Collate/t/view.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Collate/t/view.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,24 +11,31 @@
     }
 }
 
-use Test;
-BEGIN { plan tests => 53 };
-
 use strict;
 use warnings;
+BEGIN { $| = 1; print "1..89\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Collate;
 
 ok(1);
 
-#########################
+##### 1
 
 my $Collator = Unicode::Collate->new(
   table => 'keys.txt',
   normalization => undef,
+  UCA_Version => 24,
 );
 
-##############
-
 ok($Collator->viewSortKey(""), "[| | |]");
 
 ok($Collator->viewSortKey("A"), "[0A15 | 0020 | 0008 | FFFF]");
@@ -52,7 +59,7 @@
 $Collator->change(level => 1);
 ok($Collator->viewSortKey("A"), "[0A15 | | |]");
 
-### Version 8
+##### 10
 
 $Collator->change(level => 4, UCA_Version => 8);
 
@@ -79,7 +86,7 @@
 $Collator->change(level => 1);
 ok($Collator->viewSortKey("A"), "[0A15|||]");
 
-# Version 9
+##### 19
 
 $Collator->change(level => 3, UCA_Version => 9);
 ok($Collator->viewSortKey("A\x{300}z\x{301}"),
@@ -148,7 +155,7 @@
 
 $Collator->change(%origVar);
 
-#####
+##### 37
 
 # Level 3 weight
 
@@ -189,7 +196,7 @@
 ok($Collator->viewSortKey("A\x{30A2}"),
     '[0A15 1921 | 0020 0020 | 0008 0011 | FFFF FFFF]');
 
-#####
+##### 47
 
 our $el = Unicode::Collate->new(
   entry => <<'ENTRY',
@@ -206,6 +213,7 @@
 ENTRY
   table => undef,
   normalization => undef,
+  UCA_Version => 24,
 );
 
 our $el12 = '0B03 0B03 0B03 0B03 0B03 | 0020 0020 0020 0020 0020';
@@ -232,5 +240,30 @@
 ok($el->viewSortKey("L\x{FF2C}\x{216C}\x{2112}\x{24C1}"),
     "[$el12 | 0008 0009 000A 000B 000C | FFFF FFFF FFFF FFFF FFFF]");
 
-#####
+##### 53
 
+my @Versions = (9, 11, 14, 16, 18, 20, 22, 24, 26);
+
+for my $v (@Versions) {
+    $Collator->change(UCA_Version => $v);
+    my $app = $v >= 26 ? ' |]' : ']';
+
+    $Collator->change(variable => 'Shifted', level => 4);
+    ok($Collator->viewSortKey("1+2"),
+	'[0A0C 0A0D | 0020 0020 | 0002 0002 | FFFF 039F FFFF'.$app);
+
+    $Collator->change(variable => 'Shift-Trimmed');
+    ok($Collator->viewSortKey("1+2"),
+	'[0A0C 0A0D | 0020 0020 | 0002 0002 | 039F'.$app);
+
+    $Collator->change(variable => 'Non-ignorable', level => 3);
+    ok($Collator->viewSortKey("1+2"),
+	'[0A0C 039F 0A0D | 0020 0020 0020 | 0002 0002 0002 |]');
+
+    $Collator->change(variable => 'Blanked');
+    ok($Collator->viewSortKey("1+2"),
+	'[0A0C 0A0D | 0020 0020 | 0002 0002 |]');
+}
+
+##### 89
+


Property changes on: vendor/perl/dist/cpan/Unicode-Collate/t/view.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/Changes
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,29 @@
 Revision history for Perl extension Unicode::Normalize.
 
+1.16  Sun Nov  4 17:23:03 2012
+    - XSUB: use PERL_NO_GET_CONTEXT (see perlguts)
+      (see [rt.cpan.org #80312])
+
+1.15  Sun Sep 23 10:43:14 2012
+    - perl 5.11.0 or later: Install to 'site' instead of 'perl'
+      (see [rt.cpan.org #79801])
+
+1.14  Sat Mar 10 13:34:53 2012
+    - avoid "use Test".
+
+1.13  Mon Jul 25 21:07:49 2011
+    - tried fixing the tarball with world writable files.
+      ( http://www.perlmonks.org/?node_id=731935 )
+
+1.12  Mon May 16 23:36:07 2011
+    - removed Normalize/CompExcl.pl and coded Composition Exclusions;
+      how to load CompExcl.pl seems not good, but I'm not sure...
+
+1.11  Sun May 15 20:31:09 2011
+    - As perl 5.14.0 has removed unicore/CompositionExclusions.txt
+      from the installation, Normalize/CompExcl.pl in this distribution
+      is used instead. (see [rt.cpan.org #68106])
+
 1.10  Sun Jan 16 21:00:34 2011
     - XSUB: reorder() and compose() treat with growing the string.
     - XSUB: provision against UTF8_ALLOW_* flags to be undefined in future.


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,20 +12,23 @@
 }
 
 WriteMakefile(
-    'INSTALLDIRS'	=> $] >= 5.007002 ? 'perl' : 'site',
-    'NAME'		=> 'Unicode::Normalize',
-    'VERSION_FROM'	=> 'Normalize.pm', # finds $VERSION
-    'clean'		=> $clean,
-    'PREREQ_PM'	  	=> {
-	bytes		=> 0,
-	Carp		=> 0,
-	constant	=> 0,
-	DynaLoader	=> 0,
-	Exporter	=> 0,
-	File::Copy	=> 0,
-	File::Spec	=> 0,
-	strict		=> 0,
-	Test		=> 0,
-	warnings	=> 0,
+    'AUTHOR'            => 'SADAHIRO Tomoyuki <SADAHIRO at cpan.org>',
+    'ABSTRACT'          => 'Unicode Normalization Forms',
+    'INSTALLDIRS'       => ($] >= 5.007002 && $] < 5.011) ? 'perl' : 'site',
+                            # see perl5110delta, @INC reorganization
+    'LICENSE'           => 'perl',
+    'NAME'              => 'Unicode::Normalize',
+    'VERSION_FROM'      => 'Normalize.pm', # finds $VERSION
+    'clean'             => $clean,
+    'PREREQ_PM'         => {
+        bytes           => 0,
+        Carp            => 0,
+        constant        => 0,
+        DynaLoader      => 0,
+        Exporter        => 0,
+        File::Copy      => 0,
+        File::Spec      => 0,
+        strict          => 0,
+        warnings        => 0,
     },
 );


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/Normalize.pm
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/Normalize.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/Normalize.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
 
 no warnings 'utf8';
 
-our $VERSION = '1.10';
+our $VERSION = '1.16';
 our $PACKAGE = __PACKAGE__;
 
 our @EXPORT = qw( NFC NFD NFKC NFKD );
@@ -548,8 +548,9 @@
      5.8.7-5.8.8          4.1.0
        5.10.0             5.0.0
     5.8.9, 5.10.1         5.1.0
-    5.12.0-5.12.2         5.2.0
-   (5.13.7-5.13.11)        6.0.0
+    5.12.0-5.12.3         5.2.0
+       5.14.x             6.0.0
+       5.16.x             6.1.0
 
 =item Correction of decomposition mapping
 
@@ -577,7 +578,7 @@
 
 SADAHIRO Tomoyuki <SADAHIRO at cpan.org>
 
-Copyright(C) 2001-2011, SADAHIRO Tomoyuki. Japan. All rights reserved.
+Copyright(C) 2001-2012, SADAHIRO Tomoyuki. Japan. All rights reserved.
 
 This module is free software; you can redistribute it
 and/or modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/Normalize.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/Normalize.xs
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/Normalize.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/Normalize.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,14 @@
 
+#define PERL_NO_GET_CONTEXT /* we want efficiency */
+
+/* private functions which need pTHX_ and aTHX_
+    pv_cat_decompHangul
+    sv_2pvunicode
+    pv_utf8_decompose
+    pv_utf8_reorder
+    pv_utf8_compose
+*/
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
@@ -177,7 +187,7 @@
     return row ? row[uv & 0xff] : 0;
 }
 
-static U8* pv_cat_decompHangul(U8* d, UV uv)
+static U8* pv_cat_decompHangul(pTHX_ U8* d, UV uv)
 {
     UV sindex =  uv - Hangul_SBase;
     UV lindex =  sindex / Hangul_NCount;
@@ -194,7 +204,7 @@
     return d;
 }
 
-static char* sv_2pvunicode(SV *sv, STRLEN *lp)
+static char* sv_2pvunicode(pTHX_ SV *sv, STRLEN *lp)
 {
     char *s;
     STRLEN len;
@@ -212,7 +222,7 @@
 }
 
 static
-U8* pv_utf8_decompose(U8* s, STRLEN slen, U8** dp, STRLEN dlen, bool iscompat)
+U8* pv_utf8_decompose(pTHX_ U8* s, STRLEN slen, U8** dp, STRLEN dlen, bool iscompat)
 {
     U8* p = s;
     U8* e = s + slen;
@@ -228,7 +238,7 @@
 
 	if (Hangul_IsS(uv)) {
 	    Renew_d_if_not_enough_to(UTF8_MAXLEN * 3)
-	    d = pv_cat_decompHangul(d, uv);
+	    d = pv_cat_decompHangul(aTHX_ d, uv);
 	}
 	else {
 	    U8* r = iscompat ? dec_compat(uv) : dec_canonical(uv);
@@ -250,7 +260,7 @@
 }
 
 static
-U8* pv_utf8_reorder(U8* s, STRLEN slen, U8** dp, STRLEN dlen)
+U8* pv_utf8_reorder(pTHX_ U8* s, STRLEN slen, U8** dp, STRLEN dlen)
 {
     U8* p = s;
     U8* e = s + slen;
@@ -323,7 +333,7 @@
 }
 
 static
-U8* pv_utf8_compose(U8* s, STRLEN slen, U8** dp, STRLEN dlen, bool iscontig)
+U8* pv_utf8_compose(pTHX_ U8* s, STRLEN slen, U8** dp, STRLEN dlen, bool iscontig)
 {
     U8* p = s;
     U8* e = s + slen;
@@ -451,11 +461,11 @@
     U8 *s, *d, *dend;
     STRLEN slen, dlen;
   CODE:
-    s = (U8*)sv_2pvunicode(src,&slen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&slen);
     dst = newSVpvn("", 0);
     dlen = slen;
     New(0, d, dlen+1, U8);
-    dend = pv_utf8_decompose(s, slen, &d, dlen, (bool)SvTRUE(compat));
+    dend = pv_utf8_decompose(aTHX_ s, slen, &d, dlen, (bool)SvTRUE(compat));
     sv_setpvn(dst, (char *)d, dend - d);
     SvUTF8_on(dst);
     Safefree(d);
@@ -473,11 +483,11 @@
     U8 *s, *d, *dend;
     STRLEN slen, dlen;
   CODE:
-    s = (U8*)sv_2pvunicode(src,&slen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&slen);
     dst = newSVpvn("", 0);
     dlen = slen;
     New(0, d, dlen+1, U8);
-    dend = pv_utf8_reorder(s, slen, &d, dlen);
+    dend = pv_utf8_reorder(aTHX_ s, slen, &d, dlen);
     sv_setpvn(dst, (char *)d, dend - d);
     SvUTF8_on(dst);
     Safefree(d);
@@ -497,11 +507,11 @@
     U8 *s, *d, *dend;
     STRLEN slen, dlen;
   CODE:
-    s = (U8*)sv_2pvunicode(src,&slen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&slen);
     dst = newSVpvn("", 0);
     dlen = slen;
     New(0, d, dlen+1, U8);
-    dend = pv_utf8_compose(s, slen, &d, dlen, (bool)ix);
+    dend = pv_utf8_compose(aTHX_ s, slen, &d, dlen, (bool)ix);
     sv_setpvn(dst, (char *)d, dend - d);
     SvUTF8_on(dst);
     Safefree(d);
@@ -521,12 +531,12 @@
     U8 *s, *t, *tend, *d, *dend;
     STRLEN slen, tlen, dlen;
   CODE:
-    s = (U8*)sv_2pvunicode(src,&slen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&slen);
 
     /* decompose */
     tlen = slen;
     New(0, t, tlen+1, U8);
-    tend = pv_utf8_decompose(s, slen, &t, tlen, (bool)(ix==1));
+    tend = pv_utf8_decompose(aTHX_ s, slen, &t, tlen, (bool)(ix==1));
     *tend = '\0';
     tlen = tend - t; /* no longer know real size of t */
 
@@ -533,7 +543,7 @@
     /* reorder */
     dlen = tlen;
     New(0, d, dlen+1, U8);
-    dend = pv_utf8_reorder(t, tlen, &d, dlen);
+    dend = pv_utf8_reorder(aTHX_ t, tlen, &d, dlen);
     *dend = '\0';
     dlen = dend - d; /* no longer know real size of d */
 
@@ -561,12 +571,12 @@
     U8 *s, *t, *tend, *u, *uend, *d, *dend;
     STRLEN slen, tlen, ulen, dlen;
   CODE:
-    s = (U8*)sv_2pvunicode(src,&slen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&slen);
 
     /* decompose */
     tlen = slen;
     New(0, t, tlen+1, U8);
-    tend = pv_utf8_decompose(s, slen, &t, tlen, (bool)(ix==1));
+    tend = pv_utf8_decompose(aTHX_ s, slen, &t, tlen, (bool)(ix==1));
     *tend = '\0';
     tlen = tend - t; /* no longer know real size of t */
 
@@ -573,7 +583,7 @@
     /* reorder */
     ulen = tlen;
     New(0, u, ulen+1, U8);
-    uend = pv_utf8_reorder(t, tlen, &u, ulen);
+    uend = pv_utf8_reorder(aTHX_ t, tlen, &u, ulen);
     *uend = '\0';
     ulen = uend - u; /* no longer know real size of u */
 
@@ -580,7 +590,7 @@
     /* compose */
     dlen = ulen;
     New(0, d, dlen+1, U8);
-    dend = pv_utf8_compose(u, ulen, &d, dlen, (bool)(ix==2));
+    dend = pv_utf8_compose(aTHX_ u, ulen, &d, dlen, (bool)(ix==2));
     *dend = '\0';
     dlen = dend - d; /* no longer know real size of d */
 
@@ -608,7 +618,7 @@
     U8 *s, *e, *p, curCC, preCC;
     bool result = TRUE;
   CODE:
-    s = (U8*)sv_2pvunicode(src,&srclen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&srclen);
     e = s + srclen;
 
     preCC = 0;
@@ -645,7 +655,7 @@
     bool result = TRUE;
     bool isMAYBE = FALSE;
   CODE:
-    s = (U8*)sv_2pvunicode(src,&srclen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&srclen);
     e = s + srclen;
 
     preCC = 0;
@@ -701,7 +711,7 @@
     bool result = TRUE;
     bool isMAYBE = FALSE;
   CODE:
-    s = (U8*)sv_2pvunicode(src,&srclen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&srclen);
     e = s + srclen;
     preCC = 0;
     for (p = s; p < e; p += retlen) {
@@ -858,7 +868,7 @@
     if (Hangul_IsS(uv)) {
 	U8 tmp[3 * UTF8_MAXLEN + 1];
 	U8 *t = tmp;
-	U8 *e = pv_cat_decompHangul(t, uv);
+	U8 *e = pv_cat_decompHangul(aTHX_ t, uv);
 	RETVAL = newSVpvn((char *)t, e - t);
     } else {
 	U8* rstr = ix ? dec_compat(uv) : dec_canonical(uv);
@@ -879,7 +889,7 @@
     STRLEN srclen;
     U8 *s, *e, *p;
   PPCODE:
-    s = (U8*)sv_2pvunicode(src,&srclen);
+    s = (U8*)sv_2pvunicode(aTHX_ src,&srclen);
     e = s + srclen;
     p = e;
     while (s < p) {


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/Normalize.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/README
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-Unicode/Normalize version 1.10
+Unicode/Normalize version 1.16
 ===================================
 
 Unicode::Normalize - Unicode Normalization Forms
@@ -62,7 +62,6 @@
 
 - unicore/CombiningClass.pl (or unicode/CombiningClass.pl)
 - unicore/Decomposition.pl (or unicode/Decomposition.pl)
-- unicore/CompositionExclusions.txt (or unicode/CompExcl.txt)
 
 NOTES
 
@@ -83,7 +82,7 @@
 
 SADAHIRO Tomoyuki <SADAHIRO at cpan.org>
 
-Copyright(C) 2001-2011, SADAHIRO Tomoyuki. Japan. All rights reserved.
+Copyright(C) 2001-2012, SADAHIRO Tomoyuki. Japan. All rights reserved.
 
 This module is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/mkheader
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/mkheader	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/mkheader	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,6 @@
 # Input files:
 #    unicore/CombiningClass.pl (or unicode/CombiningClass.pl)
 #    unicore/Decomposition.pl (or unicode/Decomposition.pl)
-#    unicore/CompositionExclusions.txt (or unicode/CompExcl.txt)
 #
 # Output files:
 #    unfcan.h
@@ -54,7 +53,7 @@
 our %NonStD;	# $codepoint => 1          : non-starter decompositions
 our %Comp2nd;	# $codepoint => 1          : may be composed with a prev char.
 
-# from Unicode database
+# from core Unicode database
 our $Combin = do "unicore/CombiningClass.pl"
     || do "unicode/CombiningClass.pl"
     || croak "$PACKAGE: CombiningClass.pl not found";
@@ -62,6 +61,17 @@
     || do "unicode/Decomposition.pl"
     || croak "$PACKAGE: Decomposition.pl not found";
 
+# CompositionExclusions.txt since Unicode 3.2.0
+our @CompEx = qw(
+    0958 0959 095A 095B 095C 095D 095E 095F 09DC 09DD 09DF 0A33 0A36
+    0A59 0A5A 0A5B 0A5E 0B5C 0B5D 0F43 0F4D 0F52 0F57 0F5C 0F69 0F76
+    0F78 0F93 0F9D 0FA2 0FA7 0FAC 0FB9 FB1D FB1F FB2A FB2B FB2C FB2D
+    FB2E FB2F FB30 FB31 FB32 FB33 FB34 FB35 FB36 FB38 FB39 FB3A FB3B
+    FB3C FB3E FB40 FB41 FB43 FB44 FB46 FB47 FB48 FB49 FB4A FB4B FB4C
+    FB4D FB4E 2ADC 1D15E 1D15F 1D160 1D161 1D162 1D163 1D164 1D1BB
+    1D1BC 1D1BD 1D1BE 1D1BF 1D1C0
+);
+
 # definition of Hangul constants
 use constant SBase  => 0xAC00;
 use constant SFinal => 0xD7A3; # SBase -1 + SCount
@@ -91,28 +101,7 @@
 }
 
 ########## getting full decomposition ##########
-{
-    my($f, $fh);
-    foreach my $d (@INC) {
-	$f = File::Spec->catfile($d, "unicore", "CompositionExclusions.txt");
-	last if open($fh, $f);
-	$f = File::Spec->catfile($d, "unicore", "CompExcl.txt");
-	last if open($fh, $f);
-	$f = File::Spec->catfile($d, "unicode", "CompExcl.txt");
-	last if open($fh, $f);
-	$f = undef;
-    }
-    croak "$PACKAGE: neither unicore/CompositionExclusions.txt "
-	. "nor unicode/CompExcl.txt is found in @INC" unless defined $f;
 
-    while (<$fh>) {
-	next if /^#/ or /^$/;
-	s/#.*//;
-	$Exclus{ hex($1) } = 1 if /([0-9A-Fa-f]+)/;
-    }
-    close $fh;
-}
-
 ## converts string "hhhh hhhh hhhh" to a numeric list
 ## (hex digits separated by spaces)
 sub _getHexArray { map hex, $_[0] =~ /\G *([0-9A-Fa-f]+)/g }
@@ -137,23 +126,32 @@
 
     foreach my $u ($ini .. $end) {
 	$Compat{$u} = $dec;
+	$Canon{$u} = $dec if ! $compat;
+    }
+}
 
-	if (! $compat) {
-	    $Canon{$u} = $dec;
+for my $s (@CompEx) {
+    my $u = hex $s;
+    next if !$Canon{$u}; # not assigned
+    next if $u == 0xFB1D && !$Canon{0x1D15E}; # 3.0.1 before Corrigendum #2
+    $Exclus{$u} = 1;
+}
 
-	    if (@$dec == 2) {
-		if ($Combin{ $dec->[0] }) {
-		    $NonStD{$u} = 1;
-		} else {
-		    $Compos{ $dec->[0] }{ $dec->[1] } = $u;
-		    $Comp2nd{ $dec->[1] } = 1 if ! $Exclus{$u};
-		}
-	    } elsif (@$dec == 1) {
-		$Single{$u} = 1;
-	    } else {
-		croak("Weird Canonical Decomposition of U+$tab[0]");
-	    }
+foreach my $u (keys %Canon) {
+    my $dec = $Canon{$u};
+
+    if (@$dec == 2) {
+	if ($Combin{ $dec->[0] }) {
+	    $NonStD{$u} = 1;
+	} else {
+	    $Compos{ $dec->[0] }{ $dec->[1] } = $u;
+	    $Comp2nd{ $dec->[1] } = 1 if ! $Exclus{$u};
 	}
+    } elsif (@$dec == 1) {
+	$Single{$u} = 1;
+    } else {
+	my $h = sprintf '%04X', $u;
+	croak("Weird Canonical Decomposition of U+$h");
     }
 }
 


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/mkheader
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/fcdc.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/fcdc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/fcdc.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,13 +16,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 70 };
+BEGIN { $| = 1; print "1..70\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 sub _pack_U { Unicode::Normalize::pack_U(@_) }
 sub hexU { _pack_U map hex, split ' ', shift }
 sub answer { defined $_[0] ? $_[0] ? "YES" : "NO" : "MAYBE" }
@@ -39,6 +49,8 @@
 ok(normalize('FCC', "A"), "A");
 ok(normalize('FCD', "A"), "A");
 
+# 9
+
 # if checkFCD is YES, the return value from FCD should be same as the original
 ok(FCD(hexU("00C5")),		hexU("00C5"));		# A with ring above
 ok(FCD(hexU("0041 030A")),	hexU("0041 030A"));	# A+ring
@@ -52,6 +64,8 @@
 ok(normalize('FCD', hexU("AC01 1100 1161")),	hexU("AC01 1100 1161"));
 ok(normalize('FCD', hexU("212B F900")),		hexU("212B F900"));
 
+# 19
+
 # if checkFCD is MAYBE or NO, FCD returns NFD (this behavior isn't documented)
 ok(FCD(hexU("00C5 0327")),	hexU("0041 0327 030A"));
 ok(FCD(hexU("0041 030A 0327")),	hexU("0041 0327 030A"));
@@ -63,6 +77,8 @@
 ok(normalize('FCD', hexU("00C5 0327")),		NFD(hexU("00C5 0327")));
 ok(normalize('FCD', hexU("0041 030A 0327")),	NFD(hexU("0041 030A 0327")));
 
+# 27
+
 ok(answer(checkFCD('')), 'YES');
 ok(answer(checkFCD('A')), 'YES');
 ok(answer(checkFCD("\x{030A}")), 'YES');  # 030A;COMBINING RING ABOVE
@@ -83,6 +99,8 @@
 ok(answer(check('FCD', hexU("1EA7 05AE 0315 0062"))), "NO");
 ok(answer(check('FCC', hexU("1EA7 05AE 0315 0062"))), "NO");
 
+# 45
+
 ok(FCC(hexU("00C5 0327")), hexU("0041 0327 030A"));
 ok(FCC(hexU("0045 0304 0300")), "\x{1E14}");
 ok(FCC("\x{1100}\x{1161}\x{1100}\x{1173}\x{11AF}"), "\x{AC00}\x{AE00}");
@@ -97,6 +115,8 @@
 ok(FCC("\x{0B47}\x{300}\x{0B3E}\x{327}"), "\x{0B47}\x{300}\x{0B3E}\x{327}");
 ok(FCC("\x{1100}\x{300}\x{1161}\x{327}"), "\x{1100}\x{300}\x{1161}\x{327}");
 
+# 57
+
 ok(answer(checkFCC('')), 'YES');
 ok(answer(checkFCC('A')), 'YES');
 ok(answer(checkFCC("\x{030A}")), 'MAYBE');  # 030A;COMBINING RING ABOVE
@@ -111,3 +131,5 @@
 ok(answer(checkFCC("\x{212B}\x{0327}")), 'NO'); # compat
 ok(answer(checkFCC("\x{0327}\x{212B}")), 'NO'); # compat
 
+# 70
+


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/fcdc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/form.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/form.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/form.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,13 +16,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 37 };
+BEGIN { $| = 1; print "1..37\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 sub answer { defined $_[0] ? $_[0] ? "YES" : "NO" : "MAYBE" }
 
 #########################


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/form.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/func.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/func.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/func.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,13 +16,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 211 };
+BEGIN { $| = 1; print "1..217\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 sub _pack_U { Unicode::Normalize::pack_U(@_) }
 sub hexU { _pack_U map hex, split ' ', shift }
 
@@ -49,6 +59,8 @@
 ok(getCanon(0x3243), undef);
 ok(getCanon(0xFA2D), _pack_U(0x9DB4));
 
+# 20
+
 ok(getCompat(   0), undef);
 ok(getCompat(0x29), undef);
 ok(getCompat(0x41), undef);
@@ -64,6 +76,8 @@
 ok(getCompat(0xAE00), _pack_U(0x1100, 0x1173, 0x11AF));
 ok(getCompat(0xFA2D), _pack_U(0x9DB4));
 
+# 34
+
 ok(getComposite(   0,    0), undef);
 ok(getComposite(   0, 0x29), undef);
 ok(getComposite(0x29,    0), undef);
@@ -84,6 +98,8 @@
 ok(getComposite(0xAC00, 0x11A8), 0xAC01);
 ok(getComposite(0xADF8, 0x11AF), 0xAE00);
 
+# 53
+
 sub uprops {
   my $uv = shift;
   my $r = "";
@@ -120,6 +136,8 @@
 ok(uprops(0xFB4E), 'XsnFbDmCKyG'); # HEBREW LETTER PE WITH RAFE
 ok(uprops(0xFF71), 'xsnfbdmcKyG'); # HALFWIDTH KATAKANA LETTER A
 
+# 71
+
 ok(decompose(""), "");
 ok(decompose("A"), "A");
 ok(decompose("", 1), "");
@@ -138,6 +156,8 @@
 ok(decompose($sDec), "\x{795E}");
 ok($sDec, "\x{FA19}");
 
+# 83
+
 ok(reorder(""), "");
 ok(reorder("A"), "A");
 ok(reorder(hexU("0041 0300 0315 0313 031b 0061")),
@@ -150,6 +170,8 @@
 ok(reorder($sReord), "\x{3000}\x{31b}\x{300}");
 ok($sReord, "\x{3000}\x{300}\x{31b}");
 
+# 89
+
 ok(compose(""), "");
 ok(compose("A"), "A");
 ok(compose(hexU("0061 0300")),      hexU("00E0"));
@@ -165,6 +187,8 @@
 ok(compose($sCom), "\x{304C}");
 ok($sCom, "\x{304B}\x{3099}");
 
+# 100
+
 ok(composeContiguous(""), "");
 ok(composeContiguous("A"), "A");
 ok(composeContiguous(hexU("0061 0300")),      hexU("00E0"));
@@ -180,6 +204,8 @@
 ok(composeContiguous($sCtg), "\x{30DD}");
 ok($sCtg, "\x{30DB}\x{309A}");
 
+# 111
+
 sub answer { defined $_[0] ? $_[0] ? "YES" : "NO" : "MAYBE" }
 
 ok(answer(checkNFD("")),  "YES");
@@ -220,6 +246,8 @@
 ok(answer(checkNFKC(hexU("0041 030A 0327"))), "NO");    # A+ring+cedilla
 ok(answer(check("NFKC", hexU("20 C1 212B 300"))), "NO");
 
+# 145
+
 "012ABC" =~ /(\d+)(\w+)/;
 ok("012" eq NFC $1 && "ABC" eq NFC $2);
 
@@ -230,6 +258,8 @@
 ok(normalize('NFC', $2), "ABC");
  # s/^NF// in normalize() must not prevent using $1, $&, etc.
 
+# 150
+
 # a string with initial zero should be treated like a number
 
 # LATIN CAPITAL LETTER A WITH GRAVE
@@ -276,6 +306,8 @@
 ok(getCompat("044032"), _pack_U(0x1100, 0x1161));
 ok(getComposite("04352", "04449"), 0xAC00);
 
+# 182
+
 # string with 22 combining characters: (0x300..0x315)
 my $str_cc22 = _pack_U(0x3041, 0x300..0x315, 0x3042);
 ok(decompose($str_cc22), $str_cc22);
@@ -289,6 +321,8 @@
 ok(FCD($str_cc22), $str_cc22);
 ok(FCC($str_cc22), $str_cc22);
 
+# 192
+
 # string with 40 combining characters of the same class: (0x300..0x313)x2
 my $str_cc40 = _pack_U(0x3041, 0x300..0x313, 0x300..0x313, 0x3042);
 ok(decompose($str_cc40), $str_cc40);
@@ -302,6 +336,8 @@
 ok(FCD($str_cc40), $str_cc40);
 ok(FCC($str_cc40), $str_cc40);
 
+# 202
+
 my $precomp = hexU("304C 304E 3050 3052 3054");
 my $combseq = hexU("304B 3099 304D 3099 304F 3099 3051 3099 3053 3099");
 ok(decompose($precomp x 5),  $combseq x 5);
@@ -319,4 +355,22 @@
 ok(decompose($precomp . $notcomp x 5), $combseq . $notcomp x 5);
 ok(decompose($precomp . $notcomp x10), $combseq . $notcomp x10);
 
+# 211
 
+my $preUnicode3_1 = !defined getCanon(0x1D15E);
+my $preUnicode3_2 = !defined getCanon(0x2ADC);
+
+# HEBREW LETTER YOD WITH HIRIQ
+ok($preUnicode3_1 xor isExclusion(0xFB1D));
+ok($preUnicode3_1 xor isComp_Ex  (0xFB1D));
+
+# MUSICAL SYMBOL HALF NOTE
+ok($preUnicode3_1 xor isExclusion(0x1D15E));
+ok($preUnicode3_1 xor isComp_Ex  (0x1D15E));
+
+# FORKING
+ok($preUnicode3_2 xor isExclusion(0x2ADC));
+ok($preUnicode3_2 xor isComp_Ex  (0x2ADC));
+
+# 217
+


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/func.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/illegal.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/illegal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/illegal.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,16 +35,25 @@
     }
 }
 
-use Test;
 use strict;
 use warnings;
 
-BEGIN { plan tests => 112 };
+BEGIN { $| = 1; print "1..113\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
 
+ok(1);
+
 #########################
 
 no warnings qw(utf8);
-# To avoid warning in Test.pm, EXPR in ok(EXPR) must be boolean.
 
 for my $u (0xD800, 0xDFFF, 0xFDD0, 0xFDEF, 0xFEFF, 0xFFFE, 0xFFFF,
 	   0x1FFFF, 0x10FFFF, 0x110000, 0x7FFFFFFF)


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/illegal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/norm.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/norm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/norm.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,13 +16,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 64 };
+BEGIN { $| = 1; print "1..64\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(normalize);
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 sub _pack_U   { Unicode::Normalize::pack_U(@_) }
 sub _unpack_U { Unicode::Normalize::unpack_U(@_) }
 
@@ -48,6 +58,8 @@
 ok(normalize('NFKD',"A"), "A");
 ok(normalize('NFKC',"A"), "A");
 
+# 17
+
 # don't modify the source
 my $sNFD = "\x{FA19}";
 ok(normalize('NFD', $sNFD), "\x{795E}");
@@ -65,6 +77,8 @@
 ok(normalize('NFKC', $sNFKC), "\x{90FD}");
 ok($sNFKC, "\x{FA26}");
 
+# 25
+
 sub hexNFC {
   join " ", map sprintf("%04X", $_),
   _unpack_U normalize 'C', _pack_U map hex, split ' ', shift;
@@ -100,14 +114,14 @@
 ok(hexNFC("AC00 11C2"), "AC1B");
 ok(hexNFC("AC00 11C3"), "AC00 11C3");
 
+# 47
+
 # Test Cases from Public Review Issue #29: Normalization Issue
 # cf. http://www.unicode.org/review/pr-29.html
 ok(hexNFC("0B47 0300 0B3E"), "0B47 0300 0B3E");
 ok(hexNFC("1100 0300 1161"), "1100 0300 1161");
-
 ok(hexNFC("0B47 0B3E 0300"), "0B4B 0300");
 ok(hexNFC("1100 1161 0300"), "AC00 0300");
-
 ok(hexNFC("0B47 0300 0B3E 0327"), "0B47 0300 0B3E 0327");
 ok(hexNFC("1100 0300 1161 0327"), "1100 0300 1161 0327");
 
@@ -123,3 +137,6 @@
 ok(hexNFC("0000 0327 0061 0300"), "0000 0327 00E0");
 ok(hexNFC("0000 0301 0061 0300"), "0000 0301 00E0");
 ok(hexNFC("0000 0315 0061 0300"), "0000 0315 00E0");
+
+# 64
+


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/norm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Unicode-Normalize/t/null.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/null.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/null.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/null.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/partial1.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/partial1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/partial1.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,13 +24,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 26 };
+BEGIN { $| = 1; print "1..26\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 sub _pack_U   { Unicode::Normalize::pack_U(@_) }
 sub _unpack_U { Unicode::Normalize::unpack_U(@_) }
 
@@ -84,7 +94,7 @@
 ok($strZ eq NFKD(join('', @strZ)));
 ok($strZ eq arraynorm('NFKD', @strZ));
 
-####
+# 18
 
 # must modify the source
 my $sNFD = "\x{FA19}";
@@ -102,3 +112,6 @@
 my $sNFKC = "\x{FA26}";
 ok(NFKC_partial($sNFKC), "");
 ok($sNFKC, "\x{90FD}");
+
+# 26
+


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/partial1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/partial2.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/partial2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/partial2.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,13 +24,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 26 };
+BEGIN { $| = 1; print "1..26\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 sub _pack_U   { Unicode::Normalize::pack_U(@_) }
 sub _unpack_U { Unicode::Normalize::unpack_U(@_) }
 
@@ -80,7 +90,7 @@
 ok($strZ eq NFKD(join('', @strZ)));
 ok($strZ eq arraynorm('NFKD', @strZ));
 
-####
+# 18
 
 # must modify the source
 my $sNFD = "\x{FA19}";
@@ -98,3 +108,6 @@
 my $sNFKC = "\x{FA26}";
 ok(normalize_partial('NFKC', $sNFKC), "");
 ok($sNFKC, "\x{90FD}");
+
+# 26
+


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/partial2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/proto.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/proto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/proto.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,13 +16,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 48 };
+BEGIN { $| = 1; print "1..48\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 #########################
 
 # unary op. RING-CEDILLA
@@ -35,6 +45,8 @@
 ok(FCC     "\x{30A}\x{327}" eq "\x{327}\x{30A}");
 ok(reorder "\x{30A}\x{327}" eq "\x{327}\x{30A}");
 
+# 9
+
 ok(prototype \&normalize,'$$');
 ok(prototype \&NFD,  '$');
 ok(prototype \&NFC,  '$');
@@ -56,6 +68,8 @@
 ok(prototype \&compose,   '$');
 ok(prototype \&composeContiguous, '$');
 
+# 27
+
 ok(prototype \&getCanon,      '$');
 ok(prototype \&getCompat,     '$');
 ok(prototype \&getComposite,  '$$');
@@ -65,7 +79,6 @@
 ok(prototype \&isNonStDecomp, '$');
 ok(prototype \&isComp2nd,     '$');
 ok(prototype \&isComp_Ex,     '$');
-
 ok(prototype \&isNFD_NO,      '$');
 ok(prototype \&isNFC_NO,      '$');
 ok(prototype \&isNFC_MAYBE,   '$');
@@ -72,7 +85,6 @@
 ok(prototype \&isNFKD_NO,     '$');
 ok(prototype \&isNFKC_NO,     '$');
 ok(prototype \&isNFKC_MAYBE,  '$');
-
 ok(prototype \&splitOnLastStarter, undef);
 ok(prototype \&normalize_partial, '$$');
 ok(prototype \&NFD_partial,  '$');
@@ -80,3 +92,5 @@
 ok(prototype \&NFKD_partial, '$');
 ok(prototype \&NFKC_partial, '$');
 
+# 48
+


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/proto.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/split.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/split.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/split.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,13 +24,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 34 };
+BEGIN { $| = 1; print "1..34\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize qw(:all);
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 sub _pack_U   { Unicode::Normalize::pack_U(@_) }
 sub _unpack_U { Unicode::Normalize::unpack_U(@_) }
 
@@ -71,7 +81,7 @@
 ok(NFC($ka_grave).NFC($dakuten) ne $ga_grave);
 ok($concat eq $ga_grave);
 
-##############
+# 14
 
 sub arraynorm {
     my $form   = shift;
@@ -120,7 +130,7 @@
 ok($strZ eq NFKD(join('', @strZ)));
 ok($strZ eq arraynorm('NFKD', @strZ));
 
-##############
+# 31
 
 # don't modify the source
 
@@ -129,3 +139,6 @@
 ok($proc,   "AB");
 ok($unproc, "C");
 ok($source, "ABC");
+
+# 34
+


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/split.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/test.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/test.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,13 +16,23 @@
 
 #########################
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 70 };
+BEGIN { $| = 1; print "1..72\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
+
 use Unicode::Normalize;
-ok(1); # If we made it this far, we're ok.
 
+ok(1);
+
 sub _pack_U   { Unicode::Normalize::pack_U(@_) }
 sub _unpack_U { Unicode::Normalize::unpack_U(@_) }
 
@@ -38,6 +48,8 @@
 ok(NFKD("A"), "A");
 ok(NFKC("A"), "A");
 
+# 9
+
 # don't modify the source
 my $sNFD = "\x{FA19}";
 ok(NFD($sNFD), "\x{795E}");
@@ -55,6 +67,7 @@
 ok(NFKC($sNFKC), "\x{90FD}");
 ok($sNFKC, "\x{FA26}");
 
+# 17
 
 sub hexNFC {
   join " ", map sprintf("%04X", $_),
@@ -91,6 +104,8 @@
 ok(hexNFC("AC00 11C2"), "AC1B");
 ok(hexNFC("AC00 11C3"), "AC00 11C3");
 
+# 39
+
 # Test Cases from Public Review Issue #29: Normalization Issue
 # cf. http://www.unicode.org/review/pr-29.html
 ok(hexNFC("0B47 0300 0B3E"), "0B47 0300 0B3E");
@@ -113,16 +128,22 @@
 ok(hexNFC("0000 0301 0061 0300"), "0000 0301 00E0");
 ok(hexNFC("0000 0315 0061 0300"), "0000 0315 00E0");
 
-# NFC() should be unary.
+# 56
+
+# NFC() and NFKC() should be unary.
 my $str11 = _pack_U(0x41, 0x0302, 0x0301, 0x62);
 my $str12 = _pack_U(0x1EA4, 0x62);
 ok(NFC $str11 eq $str12);
+ok(NFKC $str11 eq $str12);
 
-# NFD() should be unary.
+# NFD() and NFKD() should be unary.
 my $str21 = _pack_U(0xE0, 0xAC00);
 my $str22 = _pack_U(0x61, 0x0300, 0x1100, 0x1161);
 ok(NFD $str21 eq $str22);
+ok(NFKD $str21 eq $str22);
 
+# 60
+
 ## Bug #53197: NFKC("\x{2000}") produces...
 
 ok(NFKC("\x{2002}") eq ' ');
@@ -139,3 +160,6 @@
 ok(NFD("\x{F907}") eq "\x{9F9C}");
 ok(NFKC("\x{F907}") eq "\x{9F9C}");
 ok(NFKD("\x{F907}") eq "\x{9F9C}");
+
+# 72
+


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/test.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Unicode-Normalize/t/tie.t
===================================================================
--- vendor/perl/dist/cpan/Unicode-Normalize/t/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Unicode-Normalize/t/tie.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,11 +27,21 @@
     }
 }
 
-use Test;
 use strict;
 use warnings;
-BEGIN { plan tests => 16 };
+BEGIN { $| = 1; print "1..17\n"; }
+my $count = 0;
+sub ok ($;$) {
+    my $p = my $r = shift;
+    if (@_) {
+	my $x = shift;
+	$p = !defined $x ? !defined $r : !defined $r ? 0 : $r eq $x;
+    }
+    print $p ? "ok" : "not ok", ' ', ++$count, "\n";
+}
 
+ok(1);
+
 package tiescalar;
 sub TIESCALAR {
     my ($class, $instance) = @_;


Property changes on: vendor/perl/dist/cpan/Unicode-Normalize/t/tie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Version-Requirements/Changes
===================================================================
--- vendor/perl/dist/cpan/Version-Requirements/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Version-Requirements/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Version-Requirements/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Version-Requirements/lib/Version/Requirements.pm
===================================================================
--- vendor/perl/dist/cpan/Version-Requirements/lib/Version/Requirements.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Version-Requirements/lib/Version/Requirements.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Version-Requirements/lib/Version/Requirements.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Version-Requirements/t/accepts.t
===================================================================
--- vendor/perl/dist/cpan/Version-Requirements/t/accepts.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Version-Requirements/t/accepts.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Version-Requirements/t/accepts.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Version-Requirements/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/Version-Requirements/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Version-Requirements/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Version-Requirements/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Version-Requirements/t/finalize.t
===================================================================
--- vendor/perl/dist/cpan/Version-Requirements/t/finalize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Version-Requirements/t/finalize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Version-Requirements/t/finalize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Version-Requirements/t/from-hash.t
===================================================================
--- vendor/perl/dist/cpan/Version-Requirements/t/from-hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Version-Requirements/t/from-hash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Version-Requirements/t/from-hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Version-Requirements/t/merge.t
===================================================================
--- vendor/perl/dist/cpan/Version-Requirements/t/merge.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Version-Requirements/t/merge.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Version-Requirements/t/merge.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/Changes
===================================================================
--- vendor/perl/dist/cpan/Win32/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,176 +1,195 @@
-Revision history for the Perl extension Win32.
-
-0.44	[2011-01-12]
-	- fix memory leak introduced in 0.43
-
-0.43	[2011-01-12]
-	- fix a few potential buffer overrun bugs reported by Alex Davies.
-	  [perl#78710]
-
-0.42	[2011-01-06]
-	- remove brittle test for Win32::GetLongPathName($ENV{SYSTEMROOT})
-	  which will fail if the case of the environment value doesn't
-	  exactly match the case of the directory name on the filesystem.
-
-0.41	[2010-12-10]
-	- Fix Win32::GetChipName() to return the native processor type when
-	  running 32-bit Perl on 64-bit Windows (WOW64).  This will also
-	  affect the values returned by Win32::GetOSDisplayName() and
-	  Win32::GetOSName(). [rt#63797]
-	- Fix Win32::GetOSDisplayName() to return the correct values for
-	  all products even when a service pack has been installed. (This
-	  was only an issue for some "special" editions).
-	- The display name for "Windows 7 Business Edition" is actually
-	  "Windows 7 Professional".
-	- Fix t/GetOSName.t tests to avoid using the values returned by
-	  GetSystemMetrics() when the test template didn't specify any
-	  value at all.
-
-0.40	[2010-12-08]
-	- Add Win32::GetSystemMetrics function.
-	- Add Win32::GetProductInfo() function.
-	- Add Win32::GetOSDisplayName() function.
-	- Detect "Windows Server 2008 R2" as "Win2008" in Win32::GetOSName()
-	  (used to return "Win7" before). [rt#57172]
-	- Detect "Windows Home Server" as "WinHomeSvr" in Win32::GetOSName()
-	  (used to return "Win2003" before).
-	- Add "R2", "Media Center", "Tablet PC", "Starter Edition" etc.
-	  tags to the description returned by Win32::GetOSName() in
-	  list context.
-	- Rewrite the t/GetOSName.t tests
-
-0.39	[2009-01-19]
-	- Add support for Windows 2008 Server and Windows 7 in
-	  Win32::GetOSName() and in the documentation for
-	  Win32::GetOSVersion().
-	- Make Win32::GetOSName() implementation testable.
-	- Document that the OSName for Win32s is actually "WinWin32s".
-
-0.38	[2008-06-27]
-	- Fix Cygwin releated problems in t/GetCurrentThreadId.t
-	  (Jerry D. Hedden).
-
-0.37	[2008-06-26]
-	- Add Win32::GetCurrentProcessId() function
-
-0.36	[2008-04-17]
-	- Add typecasts for Win64 compilation
-
-0.35	[2008-03-31]
-	Integrate changes from bleadperl:
-	- Silence Borland compiler warning (Steve Hay)
-	- Fix memory leak in Win32::GetOSVersion (Vincent Pit)
-	- Test Win32::GetCurrentThreadId on cygwin (Reini Urban, Steve Hay)
-
-0.34	[2007-11-21]
-	- Document "WinVista" return value for Win32::GetOSName()
-	  (Steve Hay).
-
-0.33	[2007-11-12]
-	- Update version to 0.33 for Perl 5.10 release
-	- Add $^O test in Makefile.PL for CPAN Testers
-	- Use Win32::GetLastError() instead of $^E in t/Names.t for
-	  cygwin compatibility (Jerry D. Hedden).
-
-0.32	[2007-09-20]
-	- Additional #define's for older versions of VC++ (Dmitry Karasik).
-	- Win32::DomainName() doesn't return anything when the Workstation
-	  service isn't running.  Set $^E and adapt t/Names.t accordingly
-	  (Steve Hay & Jerry D. Hedden).
-	- Fix t/Names.t to allow Win32::GetOSName() to return an empty
-	  description as the 2nd return value (e.g. Vista without SP).
-	- Fix t/GetFileVersion.t for Perl 5.10
-
-0.31	[2007-09-10]
-	- Apply Cygwin fixes from bleadperl (from Jerry D. Hedden).
-	- Make sure Win32::GetLongPathName() always returns drive
-	  letters in uppercase (Jerry D. Hedden).
-	- Use uppercase environment variable names in t/Unicode.t
-	  because the MSWin32 doesn't care, and Cygwin only works
-	  with the uppercased version.
-	- new t/Names.t test (from S\xE9bastien Aperghis-Tramoni)
-
-0.30	[2007-06-25]
-	- Fixed t/Unicode.t test for Cygwin (with help from Jerry D. Hedden).
-	- Fixed and documented Win32::GetShortPathName() to return undef
-	  when the pathname doesn't exist (thanks to Steve Hay).
-	- Added t/GetShortPathName.t
-
-0.29	[2007-05-17]
-	- Fixed to compile with Borland BCC (thanks to Steve Hay).
-
-0.28_01	[2007-05-16]
-	- Increase version number as 0.28 was already used by an ActivePerl
-	  release (for essentially 0.27 plus the Win32::IsAdminUser() change).
-
-	- Add MODULE and PROTOTYPES directives to silence warnings from
-	  newer versions of xsubpp.
-
-	- Use the Cygwin codepath in Win32::GetFullPathName() when
-	  PERL_IMPLICIT_SYS is not defined, because the other code
-	  relies on the virtualization code in win32/vdir.h.
-
-0.27_02	[2007-05-15]
-	- We need Windows 2000 or later for the Unicode support because
-	  WC_NO_BEST_FIT_CHARS is not supported on Windows NT.
-
-	- Fix Win32::GetFullPathName() on Windows NT to return an
-	  empty file part if the original argument ends with a slash.
-
-0.27_01	[2007-04-18]
-	- Update Win32::IsAdminUser() to use the IsUserAnAdmin() function
-	  in shell32.dll when available.  On Windows Vista this will only
-	  return true if the process is running with elevated privileges
-	  and not just when the owner of the process is a member of the
-	  "Administrators" group.
-
-	- Win32::ExpandEnvironmentStrings() may return a Unicode string
-	  (a string containing characters outside the system codepage)
-
-	- new Win32::GetANSIPathName() function returns a pathname in
-	  a form containing only characters from the system codepage
-
-	- Win32::GetCwd() will return an ANSI version of the directory
-	  name if the long name contains characters outside the system
-	  codepage.
-
-	- Win32::GetFolderPath() will return an ANSI pathname. Call
-	  Win32::GetLongPathName() to get the canonical Unicode
-	  representation.
-
-	- Win32::GetFullPathName() will return an ANSI pathname. Call
-	  Win32::GetLongPathName() to get the canonical Unicode
-	  representation.
-
-	- Win32::GetLongPathName() may return a Unicode path name.
-	  Call Win32::GetANSIPathName() to get a representation using
-	  only characters from the system codepage.
-
-	- Win32::LoginName() may return a Unicode string.
-
-	- new Win32::OutputDebugString() function sends a string to
-	  the debugger.
-
-	- new Win32::GetCurrentThreadId() function returns the thread
-	  id (to complement the process id in $$).
-
-	- new Win32::CreateDirectory() creates a new directory.  The
-	  name of the directory may contain Unicode characters outside
-	  the system codepage.
-
-	- new Win32::CreateFile() creates a new file.  The name of the
-	  file may contain Unicode characters outside the system codepage.
-
-
-0.27	[2007-03-07]
-	- Extracted from the libwin32 distribution to simplify maintenance
-	  because Win32 is a dual-life core module since 5.8.4.
-
-	- Win32.pm and Win32.xs updated to version in bleadperl.
-	  This includes all the Win32::* function from win32/win32.c
-	  in core Perl, except for Win32::SetChildShowWindows().
-
-	- Install into 'perl' directory instead of 'site' for Perl 5.8.4
-	  and later.
-
-	- Add some simple tests.
+Revision history for the Perl extension Win32.
+
+0.47    [2013-02-21]
+        - Make sure %PROCESSOR_ARCHITECTURE% is defined before calling
+          Win32::GetArchName() in t/Names.t.  It may be undefined when
+          the test is running under Cygwin crond.
+        - In t/Names.t don't assume that LoginName or NodeName is at
+          least 2 characters long; it may just be 1.
+
+0.46    [2013-02-19]
+        - add Win2012/Win8 detection (thanks to Michiel Beijen) [rt#82572]
+          [perl#116352]
+
+0.45	[2012-08-07]
+	- add Win32::GetACP(), Win32::GetConsoleCP(),
+	  Win32::GetConsoleOutputCP(), Win32::GetOEMCP(), Win32::SetConsoleCP()
+	  and Win32::SetConsoleOutputCP(). [rt#78820] (Steve Hay)
+	- adjust t/Unicode.t for Cygwin 1.7, where readdir() returns
+	  the utf8 encoded filename without setting the SvUTF8 flag [rt#66751]
+	  [rt#74332]
+
+0.44	[2011-01-12]
+	- fix memory leak introduced in 0.43
+
+0.43	[2011-01-12]
+	- fix a few potential buffer overrun bugs reported by Alex Davies.
+	  [perl#78710]
+
+0.42	[2011-01-06]
+	- remove brittle test for Win32::GetLongPathName($ENV{SYSTEMROOT})
+	  which will fail if the case of the environment value doesn't
+	  exactly match the case of the directory name on the filesystem.
+
+0.41	[2010-12-10]
+	- Fix Win32::GetChipName() to return the native processor type when
+	  running 32-bit Perl on 64-bit Windows (WOW64).  This will also
+	  affect the values returned by Win32::GetOSDisplayName() and
+	  Win32::GetOSName(). [rt#63797]
+	- Fix Win32::GetOSDisplayName() to return the correct values for
+	  all products even when a service pack has been installed. (This
+	  was only an issue for some "special" editions).
+	- The display name for "Windows 7 Business Edition" is actually
+	  "Windows 7 Professional".
+	- Fix t/GetOSName.t tests to avoid using the values returned by
+	  GetSystemMetrics() when the test template didn't specify any
+	  value at all.
+
+0.40	[2010-12-08]
+	- Add Win32::GetSystemMetrics function.
+	- Add Win32::GetProductInfo() function.
+	- Add Win32::GetOSDisplayName() function.
+	- Detect "Windows Server 2008 R2" as "Win2008" in Win32::GetOSName()
+	  (used to return "Win7" before). [rt#57172]
+	- Detect "Windows Home Server" as "WinHomeSvr" in Win32::GetOSName()
+	  (used to return "Win2003" before).
+	- Add "R2", "Media Center", "Tablet PC", "Starter Edition" etc.
+	  tags to the description returned by Win32::GetOSName() in
+	  list context.
+	- Rewrite the t/GetOSName.t tests
+
+0.39	[2009-01-19]
+	- Add support for Windows 2008 Server and Windows 7 in
+	  Win32::GetOSName() and in the documentation for
+	  Win32::GetOSVersion().
+	- Make Win32::GetOSName() implementation testable.
+	- Document that the OSName for Win32s is actually "WinWin32s".
+
+0.38	[2008-06-27]
+	- Fix Cygwin releated problems in t/GetCurrentThreadId.t
+	  (Jerry D. Hedden).
+
+0.37	[2008-06-26]
+	- Add Win32::GetCurrentProcessId() function
+
+0.36	[2008-04-17]
+	- Add typecasts for Win64 compilation
+
+0.35	[2008-03-31]
+	Integrate changes from bleadperl:
+	- Silence Borland compiler warning (Steve Hay)
+	- Fix memory leak in Win32::GetOSVersion (Vincent Pit)
+	- Test Win32::GetCurrentThreadId on cygwin (Reini Urban, Steve Hay)
+
+0.34	[2007-11-21]
+	- Document "WinVista" return value for Win32::GetOSName()
+	  (Steve Hay).
+
+0.33	[2007-11-12]
+	- Update version to 0.33 for Perl 5.10 release
+	- Add $^O test in Makefile.PL for CPAN Testers
+	- Use Win32::GetLastError() instead of $^E in t/Names.t for
+	  cygwin compatibility (Jerry D. Hedden).
+
+0.32	[2007-09-20]
+	- Additional #define's for older versions of VC++ (Dmitry Karasik).
+	- Win32::DomainName() doesn't return anything when the Workstation
+	  service isn't running.  Set $^E and adapt t/Names.t accordingly
+	  (Steve Hay & Jerry D. Hedden).
+	- Fix t/Names.t to allow Win32::GetOSName() to return an empty
+	  description as the 2nd return value (e.g. Vista without SP).
+	- Fix t/GetFileVersion.t for Perl 5.10
+
+0.31	[2007-09-10]
+	- Apply Cygwin fixes from bleadperl (from Jerry D. Hedden).
+	- Make sure Win32::GetLongPathName() always returns drive
+	  letters in uppercase (Jerry D. Hedden).
+	- Use uppercase environment variable names in t/Unicode.t
+	  because the MSWin32 doesn't care, and Cygwin only works
+	  with the uppercased version.
+	- new t/Names.t test (from S\xE9bastien Aperghis-Tramoni)
+
+0.30	[2007-06-25]
+	- Fixed t/Unicode.t test for Cygwin (with help from Jerry D. Hedden).
+	- Fixed and documented Win32::GetShortPathName() to return undef
+	  when the pathname doesn't exist (thanks to Steve Hay).
+	- Added t/GetShortPathName.t
+
+0.29	[2007-05-17]
+	- Fixed to compile with Borland BCC (thanks to Steve Hay).
+
+0.28_01	[2007-05-16]
+	- Increase version number as 0.28 was already used by an ActivePerl
+	  release (for essentially 0.27 plus the Win32::IsAdminUser() change).
+
+	- Add MODULE and PROTOTYPES directives to silence warnings from
+	  newer versions of xsubpp.
+
+	- Use the Cygwin codepath in Win32::GetFullPathName() when
+	  PERL_IMPLICIT_SYS is not defined, because the other code
+	  relies on the virtualization code in win32/vdir.h.
+
+0.27_02	[2007-05-15]
+	- We need Windows 2000 or later for the Unicode support because
+	  WC_NO_BEST_FIT_CHARS is not supported on Windows NT.
+
+	- Fix Win32::GetFullPathName() on Windows NT to return an
+	  empty file part if the original argument ends with a slash.
+
+0.27_01	[2007-04-18]
+	- Update Win32::IsAdminUser() to use the IsUserAnAdmin() function
+	  in shell32.dll when available.  On Windows Vista this will only
+	  return true if the process is running with elevated privileges
+	  and not just when the owner of the process is a member of the
+	  "Administrators" group.
+
+	- Win32::ExpandEnvironmentStrings() may return a Unicode string
+	  (a string containing characters outside the system codepage)
+
+	- new Win32::GetANSIPathName() function returns a pathname in
+	  a form containing only characters from the system codepage
+
+	- Win32::GetCwd() will return an ANSI version of the directory
+	  name if the long name contains characters outside the system
+	  codepage.
+
+	- Win32::GetFolderPath() will return an ANSI pathname. Call
+	  Win32::GetLongPathName() to get the canonical Unicode
+	  representation.
+
+	- Win32::GetFullPathName() will return an ANSI pathname. Call
+	  Win32::GetLongPathName() to get the canonical Unicode
+	  representation.
+
+	- Win32::GetLongPathName() may return a Unicode path name.
+	  Call Win32::GetANSIPathName() to get a representation using
+	  only characters from the system codepage.
+
+	- Win32::LoginName() may return a Unicode string.
+
+	- new Win32::OutputDebugString() function sends a string to
+	  the debugger.
+
+	- new Win32::GetCurrentThreadId() function returns the thread
+	  id (to complement the process id in $$).
+
+	- new Win32::CreateDirectory() creates a new directory.  The
+	  name of the directory may contain Unicode characters outside
+	  the system codepage.
+
+	- new Win32::CreateFile() creates a new file.  The name of the
+	  file may contain Unicode characters outside the system codepage.
+
+
+0.27	[2007-03-07]
+	- Extracted from the libwin32 distribution to simplify maintenance
+	  because Win32 is a dual-life core module since 5.8.4.
+
+	- Win32.pm and Win32.xs updated to version in bleadperl.
+	  This includes all the Win32::* function from win32/win32.c
+	  in core Perl, except for Win32::SetChildShowWindows().
+
+	- Install into 'perl' directory instead of 'site' for Perl 5.8.4
+	  and later.
+
+	- Add some simple tests.


Property changes on: vendor/perl/dist/cpan/Win32/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Win32/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,18 +1,18 @@
-use 5.006;
-use strict;
-use warnings;
-use ExtUtils::MakeMaker;
-
-unless ($^O eq "MSWin32" || $^O eq "cygwin") {
-    die "OS unsupported\n";
-}
-
-my %param = (
-    NAME          => 'Win32',
-    VERSION_FROM  => 'Win32.pm',
-    INSTALLDIRS   => ($] >= 5.008004 && $] < 5.012 ? 'perl' : 'site'),
-);
-$param{NO_META} = 1 if eval "$ExtUtils::MakeMaker::VERSION" >= 6.10_03;
-$param{LIBS} = ['-L/lib/w32api -lole32 -lversion'] if $^O eq "cygwin";
-
-WriteMakefile(%param);
+use 5.006;
+use strict;
+use warnings;
+use ExtUtils::MakeMaker;
+
+unless ($^O eq "MSWin32" || $^O eq "cygwin") {
+    die "OS unsupported\n";
+}
+
+my %param = (
+    NAME          => 'Win32',
+    VERSION_FROM  => 'Win32.pm',
+    INSTALLDIRS   => ($] >= 5.008004 && $] < 5.012 ? 'perl' : 'site'),
+);
+$param{NO_META} = 1 if eval "$ExtUtils::MakeMaker::VERSION" >= 6.10_03;
+$param{LIBS} = ['-L/lib/w32api -lole32 -lversion'] if $^O eq "cygwin";
+
+WriteMakefile(%param);


Property changes on: vendor/perl/dist/cpan/Win32/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/Win32.pm
===================================================================
--- vendor/perl/dist/cpan/Win32/Win32.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/Win32.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,1201 +1,1254 @@
-package Win32;
-
-# BEGIN {
-    use strict;
-    use vars qw|$VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK|;
-
-    require Exporter;
-    require DynaLoader;
-
-    @ISA = qw|Exporter DynaLoader|;
-    $VERSION = '0.44';
-    $XS_VERSION = $VERSION;
-    $VERSION = eval $VERSION;
-
-    @EXPORT = qw(
-	NULL
-	WIN31_CLASS
-	OWNER_SECURITY_INFORMATION
-	GROUP_SECURITY_INFORMATION
-	DACL_SECURITY_INFORMATION
-	SACL_SECURITY_INFORMATION
-	MB_ICONHAND
-	MB_ICONQUESTION
-	MB_ICONEXCLAMATION
-	MB_ICONASTERISK
-	MB_ICONWARNING
-	MB_ICONERROR
-	MB_ICONINFORMATION
-	MB_ICONSTOP
-    );
-    @EXPORT_OK = qw(
-        GetOSName
-        SW_HIDE
-        SW_SHOWNORMAL
-        SW_SHOWMINIMIZED
-        SW_SHOWMAXIMIZED
-        SW_SHOWNOACTIVATE
-
-        CSIDL_DESKTOP
-        CSIDL_PROGRAMS
-        CSIDL_PERSONAL
-        CSIDL_FAVORITES
-        CSIDL_STARTUP
-        CSIDL_RECENT
-        CSIDL_SENDTO
-        CSIDL_STARTMENU
-        CSIDL_MYMUSIC
-        CSIDL_MYVIDEO
-        CSIDL_DESKTOPDIRECTORY
-        CSIDL_NETHOOD
-        CSIDL_FONTS
-        CSIDL_TEMPLATES
-        CSIDL_COMMON_STARTMENU
-        CSIDL_COMMON_PROGRAMS
-        CSIDL_COMMON_STARTUP
-        CSIDL_COMMON_DESKTOPDIRECTORY
-        CSIDL_APPDATA
-        CSIDL_PRINTHOOD
-        CSIDL_LOCAL_APPDATA
-        CSIDL_COMMON_FAVORITES
-        CSIDL_INTERNET_CACHE
-        CSIDL_COOKIES
-        CSIDL_HISTORY
-        CSIDL_COMMON_APPDATA
-        CSIDL_WINDOWS
-        CSIDL_SYSTEM
-        CSIDL_PROGRAM_FILES
-        CSIDL_MYPICTURES
-        CSIDL_PROFILE
-        CSIDL_PROGRAM_FILES_COMMON
-        CSIDL_COMMON_TEMPLATES
-        CSIDL_COMMON_DOCUMENTS
-        CSIDL_COMMON_ADMINTOOLS
-        CSIDL_ADMINTOOLS
-        CSIDL_COMMON_MUSIC
-        CSIDL_COMMON_PICTURES
-        CSIDL_COMMON_VIDEO
-        CSIDL_RESOURCES
-        CSIDL_RESOURCES_LOCALIZED
-        CSIDL_CDBURN_AREA
-    );
-# }
-
-# We won't bother with the constant stuff, too much of a hassle.  Just hard
-# code it here.
-
-sub NULL 				{ 0 }
-sub WIN31_CLASS 			{ &NULL }
-
-sub OWNER_SECURITY_INFORMATION		{ 0x00000001 }
-sub GROUP_SECURITY_INFORMATION		{ 0x00000002 }
-sub DACL_SECURITY_INFORMATION		{ 0x00000004 }
-sub SACL_SECURITY_INFORMATION		{ 0x00000008 }
-
-sub MB_ICONHAND				{ 0x00000010 }
-sub MB_ICONQUESTION			{ 0x00000020 }
-sub MB_ICONEXCLAMATION			{ 0x00000030 }
-sub MB_ICONASTERISK			{ 0x00000040 }
-sub MB_ICONWARNING			{ 0x00000030 }
-sub MB_ICONERROR			{ 0x00000010 }
-sub MB_ICONINFORMATION			{ 0x00000040 }
-sub MB_ICONSTOP				{ 0x00000010 }
-
-#
-# Newly added constants.  These have an empty prototype, unlike the
-# the ones above, which aren't prototyped for compatibility reasons.
-#
-sub SW_HIDE           ()		{ 0 }
-sub SW_SHOWNORMAL     ()		{ 1 }
-sub SW_SHOWMINIMIZED  ()		{ 2 }
-sub SW_SHOWMAXIMIZED  ()		{ 3 }
-sub SW_SHOWNOACTIVATE ()		{ 4 }
-
-sub CSIDL_DESKTOP              ()       { 0x0000 }     # <desktop>
-sub CSIDL_PROGRAMS             ()       { 0x0002 }     # Start Menu\Programs
-sub CSIDL_PERSONAL             ()       { 0x0005 }     # "My Documents" folder
-sub CSIDL_FAVORITES            ()       { 0x0006 }     # <user name>\Favorites
-sub CSIDL_STARTUP              ()       { 0x0007 }     # Start Menu\Programs\Startup
-sub CSIDL_RECENT               ()       { 0x0008 }     # <user name>\Recent
-sub CSIDL_SENDTO               ()       { 0x0009 }     # <user name>\SendTo
-sub CSIDL_STARTMENU            ()       { 0x000B }     # <user name>\Start Menu
-sub CSIDL_MYMUSIC              ()       { 0x000D }     # "My Music" folder
-sub CSIDL_MYVIDEO              ()       { 0x000E }     # "My Videos" folder
-sub CSIDL_DESKTOPDIRECTORY     ()       { 0x0010 }     # <user name>\Desktop
-sub CSIDL_NETHOOD              ()       { 0x0013 }     # <user name>\nethood
-sub CSIDL_FONTS                ()       { 0x0014 }     # windows\fonts
-sub CSIDL_TEMPLATES            ()       { 0x0015 }
-sub CSIDL_COMMON_STARTMENU     ()       { 0x0016 }     # All Users\Start Menu
-sub CSIDL_COMMON_PROGRAMS      ()       { 0x0017 }     # All Users\Start Menu\Programs
-sub CSIDL_COMMON_STARTUP       ()       { 0x0018 }     # All Users\Startup
-sub CSIDL_COMMON_DESKTOPDIRECTORY ()    { 0x0019 }     # All Users\Desktop
-sub CSIDL_APPDATA              ()       { 0x001A }     # Application Data, new for NT4
-sub CSIDL_PRINTHOOD            ()       { 0x001B }     # <user name>\PrintHood
-sub CSIDL_LOCAL_APPDATA        ()       { 0x001C }     # non roaming, user\Local Settings\Application Data
-sub CSIDL_COMMON_FAVORITES     ()       { 0x001F }
-sub CSIDL_INTERNET_CACHE       ()       { 0x0020 }
-sub CSIDL_COOKIES              ()       { 0x0021 }
-sub CSIDL_HISTORY              ()       { 0x0022 }
-sub CSIDL_COMMON_APPDATA       ()       { 0x0023 }     # All Users\Application Data
-sub CSIDL_WINDOWS              ()       { 0x0024 }     # GetWindowsDirectory()
-sub CSIDL_SYSTEM               ()       { 0x0025 }     # GetSystemDirectory()
-sub CSIDL_PROGRAM_FILES        ()       { 0x0026 }     # C:\Program Files
-sub CSIDL_MYPICTURES           ()       { 0x0027 }     # "My Pictures", new for Win2K
-sub CSIDL_PROFILE              ()       { 0x0028 }     # USERPROFILE
-sub CSIDL_PROGRAM_FILES_COMMON ()       { 0x002B }     # C:\Program Files\Common
-sub CSIDL_COMMON_TEMPLATES     ()       { 0x002D }     # All Users\Templates
-sub CSIDL_COMMON_DOCUMENTS     ()       { 0x002E }     # All Users\Documents
-sub CSIDL_COMMON_ADMINTOOLS    ()       { 0x002F }     # All Users\Start Menu\Programs\Administrative Tools
-sub CSIDL_ADMINTOOLS           ()       { 0x0030 }     # <user name>\Start Menu\Programs\Administrative Tools
-sub CSIDL_COMMON_MUSIC         ()       { 0x0035 }     # All Users\My Music
-sub CSIDL_COMMON_PICTURES      ()       { 0x0036 }     # All Users\My Pictures
-sub CSIDL_COMMON_VIDEO         ()       { 0x0037 }     # All Users\My Video
-sub CSIDL_RESOURCES            ()       { 0x0038 }     # %windir%\Resources\, For theme and other windows resources.
-sub CSIDL_RESOURCES_LOCALIZED  ()       { 0x0039 }     # %windir%\Resources\<LangID>, for theme and other windows specific resources.
-sub CSIDL_CDBURN_AREA          ()       { 0x003B }     # <user name>\Local Settings\Application Data\Microsoft\CD Burning
-
-sub VER_NT_DOMAIN_CONTROLLER () { 0x0000002 } # The system is a domain controller and the operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
-sub VER_NT_SERVER () { 0x0000003 } # The operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
-# Note that a server that is also a domain controller is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER.
-sub VER_NT_WORKSTATION () { 0x0000001 } # The operating system is Windows Vista, Windows XP Professional, Windows XP Home Edition, or Windows 2000 Professional.
-
-
-sub VER_SUITE_BACKOFFICE               () { 0x00000004 } # Microsoft BackOffice components are installed.
-sub VER_SUITE_BLADE                    () { 0x00000400 } # Windows Server 2003, Web Edition is installed.
-sub VER_SUITE_COMPUTE_SERVER           () { 0x00004000 } # Windows Server 2003, Compute Cluster Edition is installed.
-sub VER_SUITE_DATACENTER               () { 0x00000080 } # Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition, or Windows 2000 Datacenter Server is installed.
-sub VER_SUITE_ENTERPRISE               () { 0x00000002 } # Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, or Windows 2000 Advanced Server is installed. Refer to the Remarks section for more information about this bit flag.
-sub VER_SUITE_EMBEDDEDNT               () { 0x00000040 } # Windows XP Embedded is installed.
-sub VER_SUITE_PERSONAL                 () { 0x00000200 } # Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP Home Edition is installed.
-sub VER_SUITE_SINGLEUSERTS             () { 0x00000100 } # Remote Desktop is supported, but only one interactive session is supported. This value is set unless the system is running in application server mode.
-sub VER_SUITE_SMALLBUSINESS            () { 0x00000001 } # Microsoft Small Business Server was once installed on the system, but may have been upgraded to another version of Windows. Refer to the Remarks section for more information about this bit flag.
-sub VER_SUITE_SMALLBUSINESS_RESTRICTED () { 0x00000020 } # Microsoft Small Business Server is installed with the restrictive client license in force. Refer to the Remarks section for more information about this bit flag.
-sub VER_SUITE_STORAGE_SERVER           () { 0x00002000 } # Windows Storage Server 2003 R2 or Windows Storage Server 2003 is installed.
-sub VER_SUITE_TERMINAL                 () { 0x00000010 } # Terminal Services is installed. This value is always set.
-# If VER_SUITE_TERMINAL is set but VER_SUITE_SINGLEUSERTS is not set, the system is running in application server mode.
-sub VER_SUITE_WH_SERVER                () { 0x00008000 } # Windows Home Server is installed.
-
-
-sub SM_TABLETPC                ()       { 86 }
-sub SM_MEDIACENTER             ()       { 87 }
-sub SM_STARTER                 ()       { 88 }
-sub SM_SERVERR2                ()       { 89 }
-
-sub PRODUCT_UNDEFINED                        () { 0x000 } # An unknown product
-sub PRODUCT_ULTIMATE                         () { 0x001 } # Ultimate
-sub PRODUCT_HOME_BASIC                       () { 0x002 } # Home Basic
-sub PRODUCT_HOME_PREMIUM                     () { 0x003 } # Home Premium
-sub PRODUCT_ENTERPRISE                       () { 0x004 } # Enterprise
-sub PRODUCT_HOME_BASIC_N                     () { 0x005 } # Home Basic N
-sub PRODUCT_BUSINESS                         () { 0x006 } # Business
-sub PRODUCT_STANDARD_SERVER                  () { 0x007 } # Server Standard (full installation)
-sub PRODUCT_DATACENTER_SERVER                () { 0x008 } # Server Datacenter (full installation)
-sub PRODUCT_SMALLBUSINESS_SERVER             () { 0x009 } # Windows Small Business Server
-sub PRODUCT_ENTERPRISE_SERVER                () { 0x00A } # Server Enterprise (full installation)
-sub PRODUCT_STARTER                          () { 0x00B } # Starter
-sub PRODUCT_DATACENTER_SERVER_CORE           () { 0x00C } # Server Datacenter (core installation)
-sub PRODUCT_STANDARD_SERVER_CORE             () { 0x00D } # Server Standard (core installation)
-sub PRODUCT_ENTERPRISE_SERVER_CORE           () { 0x00E } # Server Enterprise (core installation)
-sub PRODUCT_ENTERPRISE_SERVER_IA64           () { 0x00F } # Server Enterprise for Itanium-based Systems
-sub PRODUCT_BUSINESS_N                       () { 0x010 } # Business N
-sub PRODUCT_WEB_SERVER                       () { 0x011 } # Web Server (full installation)
-sub PRODUCT_CLUSTER_SERVER                   () { 0x012 } # HPC Edition
-sub PRODUCT_HOME_SERVER                      () { 0x013 } # Home Server Edition
-sub PRODUCT_STORAGE_EXPRESS_SERVER           () { 0x014 } # Storage Server Express
-sub PRODUCT_STORAGE_STANDARD_SERVER          () { 0x015 } # Storage Server Standard
-sub PRODUCT_STORAGE_WORKGROUP_SERVER         () { 0x016 } # Storage Server Workgroup
-sub PRODUCT_STORAGE_ENTERPRISE_SERVER        () { 0x017 } # Storage Server Enterprise
-sub PRODUCT_SERVER_FOR_SMALLBUSINESS         () { 0x018 } # Windows Server 2008 for Windows Essential Server Solutions
-sub PRODUCT_SMALLBUSINESS_SERVER_PREMIUM     () { 0x019 } # Windows Small Business Server Premium
-sub PRODUCT_HOME_PREMIUM_N                   () { 0x01A } # Home Premium N
-sub PRODUCT_ENTERPRISE_N                     () { 0x01B } # Enterprise N
-sub PRODUCT_ULTIMATE_N                       () { 0x01C } # Ultimate N
-sub PRODUCT_WEB_SERVER_CORE                  () { 0x01D } # Web Server (core installation)
-sub PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT () { 0x01E } # Windows Essential Business Server Management Server
-sub PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY   () { 0x01F } # Windows Essential Business Server Security Server
-sub PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING  () { 0x020 } # Windows Essential Business Server Messaging Server
-sub PRODUCT_SERVER_FOUNDATION                () { 0x021 } # Server Foundation
-
-sub PRODUCT_SERVER_FOR_SMALLBUSINESS_V       () { 0x023 } # Windows Server 2008 without Hyper-V for Windows Essential Server Solutions
-sub PRODUCT_STANDARD_SERVER_V                () { 0x024 } # Server Standard without Hyper-V (full installation)
-sub PRODUCT_DATACENTER_SERVER_V              () { 0x025 } # Server Datacenter without Hyper-V (full installation)
-sub PRODUCT_ENTERPRISE_SERVER_V              () { 0x026 } # Server Enterprise without Hyper-V (full installation)
-sub PRODUCT_DATACENTER_SERVER_CORE_V         () { 0x027 } # Server Datacenter without Hyper-V (core installation)
-sub PRODUCT_STANDARD_SERVER_CORE_V           () { 0x028 } # Server Standard without Hyper-V (core installation)
-sub PRODUCT_ENTERPRISE_SERVER_CORE_V         () { 0x029 } # Server Enterprise without Hyper-V (core installation)
-sub PRODUCT_HYPERV                           () { 0x02A } # Microsoft Hyper-V Server
-
-sub PRODUCT_STARTER_N                        () { 0x02F } # Starter N
-sub PRODUCT_PROFESSIONAL                     () { 0x030 } # Professional
-sub PRODUCT_PROFESSIONAL_N                   () { 0x031 } # Professional N
-
-sub PRODUCT_STARTER_E                        () { 0x042 } # Starter E
-sub PRODUCT_HOME_BASIC_E                     () { 0x043 } # Home Basic E
-sub PRODUCT_HOME_PREMIUM_E                   () { 0x044 } # Home Premium E
-sub PRODUCT_PROFESSIONAL_E                   () { 0x045 } # Professional E
-sub PRODUCT_ENTERPRISE_E                     () { 0x046 } # Enterprise E
-sub PRODUCT_ULTIMATE_E                       () { 0x047 } # Ultimate E
-
-sub PRODUCT_UNLICENSED                       () { 0xABCDABCD } # product has not been activated and is no longer in the grace period
-
-sub PROCESSOR_ARCHITECTURE_AMD64   ()   { 9 }      # x64 (AMD or Intel)
-sub PROCESSOR_ARCHITECTURE_IA64    ()   { 6 }      # Intel Itanium Processor Family (IPF)
-sub PROCESSOR_ARCHITECTURE_INTEL   ()   { 0 }      # x86
-sub PROCESSOR_ARCHITECTURE_UNKNOWN ()   { 0xffff } # Unknown architecture.
-
-sub _GetProcessorArchitecture {
-    my $arch = {
-	 386 => PROCESSOR_ARCHITECTURE_INTEL,
-	 486 => PROCESSOR_ARCHITECTURE_INTEL,
-	 586 => PROCESSOR_ARCHITECTURE_INTEL,
-	2200 => PROCESSOR_ARCHITECTURE_IA64,
-	8664 => PROCESSOR_ARCHITECTURE_AMD64,
-    }->{Win32::GetChipName()};
-    return defined($arch) ? $arch : PROCESSOR_ARCHITECTURE_UNKNOWN;
-}
-
-### This method is just a simple interface into GetOSVersion().  More
-### specific or demanding situations should use that instead.
-
-my ($cached_os, $cached_desc);
-
-sub GetOSName {
-    unless (defined $cached_os) {
-	my($desc, $major, $minor, $build, $id, undef, undef, $suitemask, $producttype)
-	    = Win32::GetOSVersion();
-	my $arch = _GetProcessorArchitecture();
-	my $productinfo = Win32::GetProductInfo(6, 0, 0, 0);
-	($cached_os, $cached_desc) = _GetOSName($desc, $major, $minor, $build, $id,
-						$suitemask, $producttype, $productinfo, $arch);
-    }
-    return wantarray ? ($cached_os, $cached_desc) : $cached_os;
-}
-
-sub GetOSDisplayName {
-    # Calling GetOSDisplayName() with arguments is for the test suite only!
-    my($name,$desc) = @_ ? @_ : GetOSName();
-    $name =~ s/^Win//;
-    if ($desc =~ /^Windows Home Server\b/ || $desc =~ /^Windows XP Professional x64 Edition\b/) {
-	($name, $desc) = ($desc, "");
-    }
-    elsif ($desc =~ s/\s*(Windows (.*) Server( \d+)?)//) {
-	$name = "$1 $name";
-	$desc =~ s/^\s+//;
-    }
-    else {
-	for ($name) {
-	    s/^/Windows / unless /^Win32s$/;
-	    s/\/.Net//;
-	    s/NT(\d)/NT $1/;
-	    if ($desc =~ s/\s*(HPC|Small Business|Web) Server//) {
-		my $name = $1;
-		$desc =~ s/^\s*//;
-		s/(200.)/$name Server $1/;
-	    }
-	    s/^Windows (200[38])/Windows Server $1/;
-	}
-    }
-    $name .= " $desc" if length $desc;
-    return $name;
-}
-
-sub _GetSystemMetrics {
-    my($index,$metrics) = @_;
-    return Win32::GetSystemMetrics($index) unless ref $metrics;
-    return $metrics->{$index} if ref $metrics eq "HASH" && defined $metrics->{$index};
-    return 1 if ref $metrics eq "ARRAY" && grep $_ == $index, @$metrics;
-    return 0;
-}
-
-sub _GetOSName {
-    # The $metrics argument only exists for the benefit of t/GetOSName.t
-    my($csd, $major, $minor, $build, $id, $suitemask, $producttype, $productinfo, $arch, $metrics) = @_;
-
-    my($os, at tags);
-    my $desc = "";
-    if ($id == 0) {
-	$os = "Win32s";
-    }
-    elsif ($id == 1) {
-	if ($minor == 0) {
-	    $os = "95";
-	}
-	elsif ($minor == 10) {
-	    $os = "98";
-	}
-	elsif ($minor == 90) {
-	    $os = "Me";
-	}
-    }
-    elsif ($id == 2) {
-	if ($major == 3) {
-	    $os = "NT3.51";
-	}
-	elsif ($major == 4) {
-	    $os = "NT4";
-	}
-	elsif ($major == 5) {
-	    if ($minor == 0) {
-		$os = "2000";
-		if ($producttype == VER_NT_WORKSTATION) {
-		    $desc = "Professional";
-		}
-		else {
-		    if ($suitemask & VER_SUITE_DATACENTER) {
-			$desc = "Datacenter Server";
-		    }
-		    elsif ($suitemask & VER_SUITE_ENTERPRISE) {
-			$desc = "Advanced Server";
-		    }
-		    elsif ($suitemask & VER_SUITE_SMALLBUSINESS_RESTRICTED) {
-			$desc = "Small Business Server";
-		    }
-		    else {
-			$desc = "Server";
-		    }
-		}
-		# XXX ignoring "Windows 2000 Advanced Server Limited Edition" for Itanium
-		# XXX and "Windows 2000 Datacenter Server Limited Edition" for Itanium
-	    }
-	    elsif ($minor == 1) {
-		$os = "XP/.Net";
-		if (_GetSystemMetrics(SM_MEDIACENTER, $metrics)) {
-		    $desc = "Media Center Edition";
-		}
-		elsif (_GetSystemMetrics(SM_TABLETPC, $metrics)) {
-		    # Tablet PC Edition is based on XP Pro
-		    $desc = "Tablet PC Edition";
-		}
-		elsif (_GetSystemMetrics(SM_STARTER, $metrics)) {
-		    $desc = "Starter Edition";
-		}
-		elsif ($suitemask & VER_SUITE_PERSONAL) {
-		    $desc = "Home Edition";
-		}
-		else {
-		    $desc = "Professional";
-		}
-		# XXX ignoring all Windows XP Embedded and Fundamentals versions
-	    }
-	    elsif ($minor == 2) {
-		$os = "2003";
-
-		if (_GetSystemMetrics(SM_SERVERR2, $metrics)) {
-		    # XXX R2 was released for all x86 and x64 versions,
-		    # XXX but only Enterprise Edition for Itanium.
-		    $desc = "R2";
-		}
-
-		if ($suitemask == VER_SUITE_STORAGE_SERVER) {
-		    $desc .= " Windows Storage Server";
-		}
-		elsif ($suitemask == VER_SUITE_WH_SERVER) {
-		    $desc .= " Windows Home Server";
-		}
-		elsif ($producttype == VER_NT_WORKSTATION && $arch == PROCESSOR_ARCHITECTURE_AMD64) {
-		    $desc .= " Windows XP Professional x64 Edition";
-		}
-
-		# Test for the server type.
-		if ($producttype != VER_NT_WORKSTATION) {
-		    if ($arch == PROCESSOR_ARCHITECTURE_IA64) {
-			if ($suitemask & VER_SUITE_DATACENTER) {
-			    $desc .= " Datacenter Edition for Itanium-based Systems";
-			}
-			elsif ($suitemask & VER_SUITE_ENTERPRISE) {
-			    $desc .= " Enterprise Edition for Itanium-based Systems";
-			}
-		    }
-		    elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) {
-			if ($suitemask & VER_SUITE_DATACENTER) {
-			    $desc .= " Datacenter x64 Edition";
-			}
-			elsif ($suitemask & VER_SUITE_ENTERPRISE) {
-			    $desc .= " Enterprise x64 Edition";
-			}
-			else {
-			    $desc .= " Standard x64 Edition";
-			}
-		    }
-		    else {
-			if ($suitemask & VER_SUITE_COMPUTE_SERVER) {
-			    $desc .= " Windows Compute Cluster Server";
-			}
-			elsif ($suitemask & VER_SUITE_DATACENTER) {
-			    $desc .= " Datacenter Edition";
-			}
-			elsif ($suitemask & VER_SUITE_ENTERPRISE) {
-			    $desc .= " Enterprise Edition";
-			}
-			elsif ($suitemask & VER_SUITE_BLADE) {
-			    $desc .= " Web Edition";
-			}
-			elsif ($suitemask & VER_SUITE_SMALLBUSINESS_RESTRICTED) {
-			    $desc .= " Small Business Server";
-			}
-			else {
-			    if ($desc !~ /Windows (Home|Storage) Server/) {
-				$desc .= " Standard Edition";
-			    }
-			}
-		    }
-		}
-	    }
-	}
-	elsif ($major == 6) {
-	    if ($minor == 0) {
-		if ($producttype == VER_NT_WORKSTATION) {
-		    $os = "Vista";
-		}
-		else {
-		    $os = "2008";
-		}
-	    }
-	    elsif ($minor == 1) {
-		if ($producttype == VER_NT_WORKSTATION) {
-		    $os = "7";
-		}
-		else {
-		    $os = "2008";
-		    $desc = "R2";
-		}
-	    }
-
-            if ($productinfo == PRODUCT_ULTIMATE) {
-		$desc .= " Ultimate";
-	    }
-            elsif ($productinfo == PRODUCT_HOME_PREMIUM) {
-               $desc .= " Home Premium";
-            }
-            elsif ($productinfo == PRODUCT_HOME_BASIC) {
-               $desc .= " Home Basic";
-            }
-            elsif ($productinfo == PRODUCT_ENTERPRISE) {
-               $desc .= " Enterprise";
-            }
-            elsif ($productinfo == PRODUCT_BUSINESS) {
-	       # "Windows 7 Business" had a name change to "Windows 7 Professional"
-               $desc .= $minor == 0 ? " Business" : " Professional";
-            }
-            elsif ($productinfo == PRODUCT_STARTER) {
-               $desc .= " Starter";
-            }
-            elsif ($productinfo == PRODUCT_CLUSTER_SERVER) {
-               $desc .= " HPC Server";
-            }
-            elsif ($productinfo == PRODUCT_DATACENTER_SERVER) {
-               $desc .= " Datacenter";
-            }
-            elsif ($productinfo == PRODUCT_DATACENTER_SERVER_CORE) {
-               $desc .= " Datacenter Edition (core installation)";
-            }
-            elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER) {
-               $desc .= " Enterprise";
-            }
-            elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER_CORE) {
-               $desc .= " Enterprise Edition (core installation)";
-            }
-            elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER_IA64) {
-               $desc .= " Enterprise Edition for Itanium-based Systems";
-            }
-            elsif ($productinfo == PRODUCT_SMALLBUSINESS_SERVER) {
-               $desc .= " Small Business Server";
-            }
-            elsif ($productinfo == PRODUCT_SMALLBUSINESS_SERVER_PREMIUM) {
-               $desc .= " Small Business Server Premium Edition";
-            }
-            elsif ($productinfo == PRODUCT_STANDARD_SERVER) {
-               $desc .= " Standard";
-            }
-            elsif ($productinfo == PRODUCT_STANDARD_SERVER_CORE) {
-               $desc .= " Standard Edition (core installation)";
-            }
-            elsif ($productinfo == PRODUCT_WEB_SERVER) {
-               $desc .= " Web Server";
-            }
-            elsif ($productinfo == PRODUCT_PROFESSIONAL) {
-               $desc .= " Professional";
-            }
-
-	    if ($arch == PROCESSOR_ARCHITECTURE_INTEL) {
-		$desc .= " (32-bit)";
-	    }
-	    elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) {
-		$desc .= " (64-bit)";
-	    }
-	}
-    }
-
-    unless (defined $os) {
-	warn "Unknown Windows version [$id:$major:$minor]";
-	return;
-    }
-
-    for ($desc) {
-	s/\s\s+/ /g;
-	s/^\s//;
-	s/\s$//;
-    }
-
-    # XXX What about "Small Business Server"? NT, 200, 2003, 2008 editions...
-
-    if ($major >= 5) {
-	# XXX XP, Vista, 7 all have starter editions
-	#push(@tags, "Starter Edition") if _GetSystemMetrics(SM_STARTER, $metrics);
-    }
-
-    if (@tags) {
-	unshift(@tags, $desc) if length $desc;
-	$desc = join(" ", @tags);
-    }
-
-    if (length $csd) {
-	$desc .= " " if length $desc;
-	$desc .= $csd;
-    }
-    return ("Win$os", $desc);
-}
-
-# "no warnings 'redefine';" doesn't work for 5.8.7 and earlier
-local $^W = 0;
-bootstrap Win32;
-
-1;
-
-__END__
-
-=head1 NAME
-
-Win32 - Interfaces to some Win32 API Functions
-
-=head1 DESCRIPTION
-
-The Win32 module contains functions to access Win32 APIs.
-
-=head2 Alphabetical Listing of Win32 Functions
-
-It is recommended to C<use Win32;> before any of these functions;
-however, for backwards compatibility, those marked as [CORE] will
-automatically do this for you.
-
-In the function descriptions below the term I<Unicode string> is used
-to indicate that the string may contain characters outside the system
-codepage.  The caveat I<If supported by the core Perl version>
-generally means Perl 5.8.9 and later, though some Unicode pathname
-functionality may work on earlier versions.
-
-=over
-
-=item Win32::AbortSystemShutdown(MACHINE)
-
-Aborts a system shutdown (started by the
-InitiateSystemShutdown function) on the specified MACHINE.
-
-=item Win32::BuildNumber()
-
-[CORE] Returns the ActivePerl build number.  This function is
-only available in the ActivePerl binary distribution.
-
-=item Win32::CopyFile(FROM, TO, OVERWRITE)
-
-[CORE] The Win32::CopyFile() function copies an existing file to a new
-file.  All file information like creation time and file attributes will
-be copied to the new file.  However it will B<not> copy the security
-information.  If the destination file already exists it will only be
-overwritten when the OVERWRITE parameter is true.  But even this will
-not overwrite a read-only file; you have to unlink() it first
-yourself.
-
-=item Win32::CreateDirectory(DIRECTORY)
-
-Creates the DIRECTORY and returns a true value on success.  Check $^E
-on failure for extended error information.
-
-DIRECTORY may contain Unicode characters outside the system codepage.
-Once the directory has been created you can use
-Win32::GetANSIPathName() to get a name that can be passed to system
-calls and external programs.
-
-=item Win32::CreateFile(FILE)
-
-Creates the FILE and returns a true value on success.  Check $^E on
-failure for extended error information.
-
-FILE may contain Unicode characters outside the system codepage.  Once
-the file has been created you can use Win32::GetANSIPathName() to get
-a name that can be passed to system calls and external programs.
-
-=item Win32::DomainName()
-
-[CORE] Returns the name of the Microsoft Network domain or workgroup
-that the owner of the current perl process is logged into.  The
-"Workstation" service must be running to determine this
-information.  This function does B<not> work on Windows 9x.
-
-=item Win32::ExpandEnvironmentStrings(STRING)
-
-Takes STRING and replaces all referenced environment variable
-names with their defined values.  References to environment variables
-take the form C<%VariableName%>.  Case is ignored when looking up the
-VariableName in the environment.  If the variable is not found then the
-original C<%VariableName%> text is retained.  Has the same effect
-as the following:
-
-	$string =~ s/%([^%]*)%/$ENV{$1} || "%$1%"/eg
-
-However, this function may return a Unicode string if the environment
-variable being expanded hasn't been assigned to via %ENV.  Access
-to %ENV is currently always using byte semantics.
-
-=item Win32::FormatMessage(ERRORCODE)
-
-[CORE] Converts the supplied Win32 error number (e.g. returned by
-Win32::GetLastError()) to a descriptive string.  Analogous to the
-perror() standard-C library function.  Note that C<$^E> used
-in a string context has much the same effect.
-
-	C:\> perl -e "$^E = 26; print $^E;"
-	The specified disk or diskette cannot be accessed
-
-=item Win32::FsType()
-
-[CORE] Returns the name of the filesystem of the currently active
-drive (like 'FAT' or 'NTFS').  In list context it returns three values:
-(FSTYPE, FLAGS, MAXCOMPLEN).  FSTYPE is the filesystem type as
-before.  FLAGS is a combination of values of the following table:
-
-	0x00000001  supports case-sensitive filenames
-	0x00000002  preserves the case of filenames
-	0x00000004  supports Unicode in filenames
-	0x00000008  preserves and enforces ACLs
-	0x00000010  supports file-based compression
-	0x00000020  supports disk quotas
-	0x00000040  supports sparse files
-	0x00000080  supports reparse points
-	0x00000100  supports remote storage
-	0x00008000  is a compressed volume (e.g. DoubleSpace)
-	0x00010000  supports object identifiers
-	0x00020000  supports the Encrypted File System (EFS)
-
-MAXCOMPLEN is the maximum length of a filename component (the part
-between two backslashes) on this file system.
-
-=item Win32::FreeLibrary(HANDLE)
-
-Unloads a previously loaded dynamic-link library.  The HANDLE is
-no longer valid after this call.  See L<LoadLibrary|Win32::LoadLibrary(LIBNAME)>
-for information on dynamically loading a library.
-
-=item Win32::GetANSIPathName(FILENAME)
-
-Returns an ANSI version of FILENAME.  This may be the short name
-if the long name cannot be represented in the system codepage.
-
-While not currently implemented, it is possible that in the future
-this function will convert only parts of the path to FILENAME to a
-short form.
-
-If FILENAME doesn't exist on the filesystem, or if the filesystem
-doesn't support short ANSI filenames, then this function will
-translate the Unicode name into the system codepage using replacement
-characters.
-
-=item Win32::GetArchName()
-
-Use of this function is deprecated.  It is equivalent with
-$ENV{PROCESSOR_ARCHITECTURE}.  This might not work on Win9X.
-
-=item Win32::GetChipName()
-
-Returns the processor type: 386, 486 or 586 for x86 processors, 8664
-for the x64 processor and 2200 for the Itanium.  Since it returns the
-native processor type it will return a 64-bit processor type even when
-called from a 32-bit Perl running on 64-bit Windows.
-
-=item Win32::GetCwd()
-
-[CORE] Returns the current active drive and directory.  This function
-does not return a UNC path, since the functionality required for such
-a feature is not available under Windows 95.
-
-If supported by the core Perl version, this function will return an
-ANSI path name for the current directory if the long pathname cannot
-be represented in the system codepage.
-
-=item Win32::GetCurrentProcessId()
-
-Returns the process identifier of the current process.  Until the
-process terminates, the process identifier uniquely identifies the
-process throughout the system.
-
-The current process identifier is normally also available via the
-predefined $$ variable.  Under fork() emulation however $$ may contain
-a pseudo-process identifier that is only meaningful to the Perl
-kill(), wait() and waitpid() functions.  The
-Win32::GetCurrentProcessId() function will always return the regular
-Windows process id, even when called from inside a pseudo-process.
-
-=item Win32::GetCurrentThreadId()
-
-Returns the thread identifier of the calling thread.  Until the thread
-terminates, the thread identifier uniquely identifies the thread
-throughout the system.
-
-=item Win32::GetFileVersion(FILENAME)
-
-Returns the file version number from the VERSIONINFO resource of
-the executable file or DLL.  This is a tuple of four 16 bit numbers.
-In list context these four numbers will be returned.  In scalar context
-they are concatenated into a string, separated by dots.
-
-=item Win32::GetFolderPath(FOLDER [, CREATE])
-
-Returns the full pathname of one of the Windows special folders.
-The folder will be created if it doesn't exist and the optional CREATE
-argument is true.  The following FOLDER constants are defined by the
-Win32 module, but only exported on demand:
-
-        CSIDL_ADMINTOOLS
-        CSIDL_APPDATA
-        CSIDL_CDBURN_AREA
-        CSIDL_COMMON_ADMINTOOLS
-        CSIDL_COMMON_APPDATA
-        CSIDL_COMMON_DESKTOPDIRECTORY
-        CSIDL_COMMON_DOCUMENTS
-        CSIDL_COMMON_FAVORITES
-        CSIDL_COMMON_MUSIC
-        CSIDL_COMMON_PICTURES
-        CSIDL_COMMON_PROGRAMS
-        CSIDL_COMMON_STARTMENU
-        CSIDL_COMMON_STARTUP
-        CSIDL_COMMON_TEMPLATES
-        CSIDL_COMMON_VIDEO
-        CSIDL_COOKIES
-        CSIDL_DESKTOP
-        CSIDL_DESKTOPDIRECTORY
-        CSIDL_FAVORITES
-        CSIDL_FONTS
-        CSIDL_HISTORY
-        CSIDL_INTERNET_CACHE
-        CSIDL_LOCAL_APPDATA
-        CSIDL_MYMUSIC
-        CSIDL_MYPICTURES
-        CSIDL_MYVIDEO
-        CSIDL_NETHOOD
-        CSIDL_PERSONAL
-        CSIDL_PRINTHOOD
-        CSIDL_PROFILE
-        CSIDL_PROGRAMS
-        CSIDL_PROGRAM_FILES
-        CSIDL_PROGRAM_FILES_COMMON
-        CSIDL_RECENT
-        CSIDL_RESOURCES
-        CSIDL_RESOURCES_LOCALIZED
-        CSIDL_SENDTO
-        CSIDL_STARTMENU
-        CSIDL_STARTUP
-        CSIDL_SYSTEM
-        CSIDL_TEMPLATES
-        CSIDL_WINDOWS
-
-Note that not all folders are defined on all versions of Windows.
-
-Please refer to the MSDN documentation of the CSIDL constants,
-currently available at:
-
-http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/enums/csidl.asp
-
-This function will return an ANSI folder path if the long name cannot
-be represented in the system codepage.  Use Win32::GetLongPathName()
-on the result of Win32::GetFolderPath() if you want the Unicode
-version of the folder name.
-
-=item Win32::GetFullPathName(FILENAME)
-
-[CORE] GetFullPathName combines the FILENAME with the current drive
-and directory name and returns a fully qualified (aka, absolute)
-path name.  In list context it returns two elements: (PATH, FILE) where
-PATH is the complete pathname component (including trailing backslash)
-and FILE is just the filename part.  Note that no attempt is made to
-convert 8.3 components in the supplied FILENAME to longnames or
-vice-versa.  Compare with Win32::GetShortPathName() and
-Win32::GetLongPathName().
-
-If supported by the core Perl version, this function will return an
-ANSI path name if the full pathname cannot be represented in the
-system codepage.
-
-=item Win32::GetLastError()
-
-[CORE] Returns the last error value generated by a call to a Win32 API
-function.  Note that C<$^E> used in a numeric context amounts to the
-same value.
-
-=item Win32::GetLongPathName(PATHNAME)
-
-[CORE] Returns a representation of PATHNAME composed of longname
-components (if any).  The result may not necessarily be longer
-than PATHNAME.  No attempt is made to convert PATHNAME to the
-absolute path.  Compare with Win32::GetShortPathName() and
-Win32::GetFullPathName().
-
-This function may return the pathname in Unicode if it cannot be
-represented in the system codepage.  Use Win32::GetANSIPathName()
-before passing the path to a system call or another program.
-
-=item Win32::GetNextAvailDrive()
-
-[CORE] Returns a string in the form of "<d>:" where <d> is the first
-available drive letter.
-
-=item Win32::GetOSDisplayName()
-
-Returns the "marketing" name of the Windows operating system version
-being used.  It returns names like these (random samples):
-
-   Windows 2000 Datacenter Server
-   Windows XP Professional
-   Windows XP Tablet PC Edition
-   Windows Home Server
-   Windows Server 2003 Enterprise Edition for Itanium-based Systems
-   Windows Vista Ultimate (32-bit)
-   Windows Small Business Server 2008 R2 (64-bit)
-
-The display name describes the native Windows version, so even on a
-32-bit Perl this function may return a "Windows ... (64-bit)" name
-when running on a 64-bit Windows.
-
-This function should only be used to display the actual OS name to the
-user; it should not be used to determine the class of operating systems
-this system belongs to.  The Win32::GetOSName(), Win32::GetOSVersion,
-Win32::GetProductInfo() and Win32::GetSystemMetrics() functions provide
-the base information to check for certain capabilities, or for families
-of OS releases.
-
-=item Win32::GetOSName()
-
-In scalar context returns the name of the Win32 operating system
-being used.  In list context returns a two element list of the OS name
-and whatever edition information is known about the particular build
-(for Win9X boxes) and whatever service packs have been installed.
-The latter is roughly equivalent to the first item returned by
-GetOSVersion() in list context.
-
-The description will also include tags for other special editions,
-like "R2", "Media Center", "Tablet PC", or "Starter Edition".
-
-Currently the possible values for the OS name are
-
-    WinWin32s
-    Win95
-    Win98
-    WinMe
-    WinNT3.51
-    WinNT4
-    Win2000
-    WinXP/.Net
-    Win2003
-    WinHomeSvr
-    WinVista
-    Win2008
-    Win7
-
-This routine is just a simple interface into GetOSVersion().  More
-specific or demanding situations should use that instead.  Another
-option would be to use POSIX::uname(), however the latter appears to
-report only the OS family name and not the specific OS.  In scalar
-context it returns just the ID.
-
-The name "WinXP/.Net" is used for historical reasons only, to maintain
-backwards compatibility of the Win32 module.  Windows .NET Server has
-been renamed as Windows 2003 Server before final release and uses a
-different major/minor version number than Windows XP.
-
-Similarly the name "WinWin32s" should have been "Win32s" but has been
-kept as-is for backwards compatibility reasons too.
-
-=item Win32::GetOSVersion()
-
-[CORE] Returns the list (STRING, MAJOR, MINOR, BUILD, ID), where the
-elements are, respectively: An arbitrary descriptive string, the major
-version number of the operating system, the minor version number, the
-build number, and a digit indicating the actual operating system.
-For the ID, the values are 0 for Win32s, 1 for Windows 9X/Me and 2 for
-Windows NT/2000/XP/2003/Vista/2008/7.  In scalar context it returns just
-the ID.
-
-Currently known values for ID MAJOR and MINOR are as follows:
-
-    OS                      ID    MAJOR   MINOR
-    Win32s                   0      -       -
-    Windows 95               1      4       0
-    Windows 98               1      4      10
-    Windows Me               1      4      90
-
-    Windows NT 3.51          2      3      51
-    Windows NT 4             2      4       0
-
-    Windows 2000             2      5       0
-    Windows XP               2      5       1
-    Windows Server 2003      2      5       2
-    Windows Server 2003 R2   2      5       2
-    Windows Home Server      2      5       2
-
-    Windows Vista            2      6       0
-    Windows Server 2008      2      6       0
-    Windows 7                2      6       1
-    Windows Server 2008 R2   2      6       1
-
-On Windows NT 4 SP6 and later this function returns the following
-additional values: SPMAJOR, SPMINOR, SUITEMASK, PRODUCTTYPE.
-
-The version numbers for Windows 2003 and Windows Home Server are
-identical; the SUITEMASK field must be used to differentiate between\
-them.
-
-The version numbers for Windows Vista and Windows Server 2008 are
-identical; the PRODUCTTYPE field must be used to differentiate between
-them.
-
-The version numbers for Windows 7 and Windows Server 2008 R2 are
-identical; the PRODUCTTYPE field must be used to differentiate between
-them.
-
-SPMAJOR and SPMINOR are are the version numbers of the latest
-installed service pack.
-
-SUITEMASK is a bitfield identifying the product suites available on
-the system.  Known bits are:
-
-    VER_SUITE_SMALLBUSINESS             0x00000001
-    VER_SUITE_ENTERPRISE                0x00000002
-    VER_SUITE_BACKOFFICE                0x00000004
-    VER_SUITE_COMMUNICATIONS            0x00000008
-    VER_SUITE_TERMINAL                  0x00000010
-    VER_SUITE_SMALLBUSINESS_RESTRICTED  0x00000020
-    VER_SUITE_EMBEDDEDNT                0x00000040
-    VER_SUITE_DATACENTER                0x00000080
-    VER_SUITE_SINGLEUSERTS              0x00000100
-    VER_SUITE_PERSONAL                  0x00000200
-    VER_SUITE_BLADE                     0x00000400
-    VER_SUITE_EMBEDDED_RESTRICTED       0x00000800
-    VER_SUITE_SECURITY_APPLIANCE        0x00001000
-    VER_SUITE_STORAGE_SERVER            0x00002000
-    VER_SUITE_COMPUTE_SERVER            0x00004000
-    VER_SUITE_WH_SERVER                 0x00008000
-
-The VER_SUITE_xxx names are listed here to crossreference the Microsoft
-documentation.  The Win32 module does not provide symbolic names for these
-constants.
-
-PRODUCTTYPE provides additional information about the system.  It should
-be one of the following integer values:
-
-    1 - Workstation (NT 4, 2000 Pro, XP Home, XP Pro, Vista)
-    2 - Domaincontroller
-    3 - Server (2000 Server, Server 2003, Server 2008)
-
-Note that a server that is also a domain controller is reported as
-PRODUCTTYPE 2 (Domaincontroller) and not PRODUCTTYPE 3 (Server).
-
-=item Win32::GetShortPathName(PATHNAME)
-
-[CORE] Returns a representation of PATHNAME that is composed of short
-(8.3) path components where available.  For path components where the
-file system has not generated the short form the returned path will
-use the long form, so this function might still for instance return a
-path containing spaces.  Returns C<undef> when the PATHNAME does not
-exist. Compare with Win32::GetFullPathName() and
-Win32::GetLongPathName().
-
-=item Win32::GetSystemMetrics(INDEX)
-
-Retrieves the specified system metric or system configuration setting.
-Please refer to the Microsoft documentation of the GetSystemMetrics()
-function for a reference of available INDEX values.  All system
-metrics return integer values.
-
-=item Win32::GetProcAddress(INSTANCE, PROCNAME)
-
-Returns the address of a function inside a loaded library.  The
-information about what you can do with this address has been lost in
-the mist of time.  Use the Win32::API module instead of this deprecated
-function.
-
-=item Win32::GetProductInfo(OSMAJOR, OSMINOR, SPMAJOR, SPMINOR)
-
-Retrieves the product type for the operating system on the local
-computer, and maps the type to the product types supported by the
-specified operating system.  Please refer to the Microsoft
-documentation of the GetProductInfo() function for more information
-about the parameters and return value.  This function requires Windows
-Vista or later.
-
-See also the Win32::GetOSName() and Win32::GetOSDisplayName()
-functions which provide a higher level abstraction of the data
-returned by this function.
-
-=item Win32::GetTickCount()
-
-[CORE] Returns the number of milliseconds elapsed since the last
-system boot.  Resolution is limited to system timer ticks (about 10ms
-on WinNT and 55ms on Win9X).
-
-=item Win32::GuidGen()
-
-Creates a globally unique 128 bit integer that can be used as a
-persistent identifier in a distributed setting. To a very high degree
-of certainty this function returns a unique value. No other
-invocation, on the same or any other system (networked or not), should
-return the same value.
-
-The return value is formatted according to OLE conventions, as groups
-of hex digits with surrounding braces.  For example:
-
-    {09531CF1-D0C7-4860-840C-1C8C8735E2AD}
-
-=item Win32::InitiateSystemShutdown
-
-(MACHINE, MESSAGE, TIMEOUT, FORCECLOSE, REBOOT)
-
-Shutsdown the specified MACHINE, notifying users with the
-supplied MESSAGE, within the specified TIMEOUT interval.  Forces
-closing of all documents without prompting the user if FORCECLOSE is
-true, and reboots the machine if REBOOT is true.  This function works
-only on WinNT.
-
-=item Win32::IsAdminUser()
-
-Returns non zero if the account in whose security context the
-current process/thread is running belongs to the local group of
-Administrators in the built-in system domain; returns 0 if not.
-On Windows Vista it will only return non-zero if the process is
-actually running with elevated privileges.  Returns C<undef>
-and prints a warning if an error occurred.  This function always
-returns 1 on Win9X.
-
-=item Win32::IsWinNT()
-
-[CORE] Returns non zero if the Win32 subsystem is Windows NT.
-
-=item Win32::IsWin95()
-
-[CORE] Returns non zero if the Win32 subsystem is Windows 95.
-
-=item Win32::LoadLibrary(LIBNAME)
-
-Loads a dynamic link library into memory and returns its module
-handle.  This handle can be used with Win32::GetProcAddress() and
-Win32::FreeLibrary().  This function is deprecated.  Use the Win32::API
-module instead.
-
-=item Win32::LoginName()
-
-[CORE] Returns the username of the owner of the current perl process.
-The return value may be a Unicode string.
-
-=item Win32::LookupAccountName(SYSTEM, ACCOUNT, DOMAIN, SID, SIDTYPE)
-
-Looks up ACCOUNT on SYSTEM and returns the domain name the SID and
-the SID type.
-
-=item Win32::LookupAccountSID(SYSTEM, SID, ACCOUNT, DOMAIN, SIDTYPE)
-
-Looks up SID on SYSTEM and returns the account name, domain name,
-and the SID type.
-
-=item Win32::MsgBox(MESSAGE [, FLAGS [, TITLE]])
-
-Create a dialogbox containing MESSAGE.  FLAGS specifies the
-required icon and buttons according to the following table:
-
-	0 = OK
-	1 = OK and Cancel
-	2 = Abort, Retry, and Ignore
-	3 = Yes, No and Cancel
-	4 = Yes and No
-	5 = Retry and Cancel
-
-	MB_ICONSTOP          "X" in a red circle
-	MB_ICONQUESTION      question mark in a bubble
-	MB_ICONEXCLAMATION   exclamation mark in a yellow triangle
-	MB_ICONINFORMATION   "i" in a bubble
-
-TITLE specifies an optional window title.  The default is "Perl".
-
-The function returns the menu id of the selected push button:
-
-	0  Error
-
-	1  OK
-	2  Cancel
-	3  Abort
-	4  Retry
-	5  Ignore
-	6  Yes
-	7  No
-
-=item Win32::NodeName()
-
-[CORE] Returns the Microsoft Network node-name of the current machine.
-
-=item Win32::OutputDebugString(STRING)
-
-Sends a string to the application or system debugger for display.
-The function does nothing if there is no active debugger.
-
-Alternatively one can use the I<Debug Viewer> application to
-watch the OutputDebugString() output:
-
-http://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx
-
-=item Win32::RegisterServer(LIBRARYNAME)
-
-Loads the DLL LIBRARYNAME and calls the function DllRegisterServer.
-
-=item Win32::SetChildShowWindow(SHOWWINDOW)
-
-[CORE] Sets the I<ShowMode> of child processes started by system().
-By default system() will create a new console window for child
-processes if Perl itself is not running from a console.  Calling
-SetChildShowWindow(0) will make these new console windows invisible.
-Calling SetChildShowWindow() without arguments reverts system() to the
-default behavior.  The return value of SetChildShowWindow() is the
-previous setting or C<undef>.
-
-The following symbolic constants for SHOWWINDOW are available
-(but not exported) from the Win32 module: SW_HIDE, SW_SHOWNORMAL,
-SW_SHOWMINIMIZED, SW_SHOWMAXIMIZED and SW_SHOWNOACTIVATE.
-
-=item Win32::SetCwd(NEWDIRECTORY)
-
-[CORE] Sets the current active drive and directory.  This function does not
-work with UNC paths, since the functionality required to required for
-such a feature is not available under Windows 95.
-
-=item Win32::SetLastError(ERROR)
-
-[CORE] Sets the value of the last error encountered to ERROR.  This is
-that value that will be returned by the Win32::GetLastError()
-function.
-
-=item Win32::Sleep(TIME)
-
-[CORE] Pauses for TIME milliseconds.  The timeslices are made available
-to other processes and threads.
-
-=item Win32::Spawn(COMMAND, ARGS, PID)
-
-[CORE] Spawns a new process using the supplied COMMAND, passing in
-arguments in the string ARGS.  The pid of the new process is stored in
-PID.  This function is deprecated.  Please use the Win32::Process module
-instead.
-
-=item Win32::UnregisterServer(LIBRARYNAME)
-
-Loads the DLL LIBRARYNAME and calls the function
-DllUnregisterServer.
-
-=back
-
-=cut
+package Win32;
+
+# BEGIN {
+    use strict;
+    use vars qw|$VERSION $XS_VERSION @ISA @EXPORT @EXPORT_OK|;
+
+    require Exporter;
+    require DynaLoader;
+
+    @ISA = qw|Exporter DynaLoader|;
+    $VERSION = '0.47';
+    $XS_VERSION = $VERSION;
+    $VERSION = eval $VERSION;
+
+    @EXPORT = qw(
+	NULL
+	WIN31_CLASS
+	OWNER_SECURITY_INFORMATION
+	GROUP_SECURITY_INFORMATION
+	DACL_SECURITY_INFORMATION
+	SACL_SECURITY_INFORMATION
+	MB_ICONHAND
+	MB_ICONQUESTION
+	MB_ICONEXCLAMATION
+	MB_ICONASTERISK
+	MB_ICONWARNING
+	MB_ICONERROR
+	MB_ICONINFORMATION
+	MB_ICONSTOP
+    );
+    @EXPORT_OK = qw(
+        GetOSName
+        SW_HIDE
+        SW_SHOWNORMAL
+        SW_SHOWMINIMIZED
+        SW_SHOWMAXIMIZED
+        SW_SHOWNOACTIVATE
+
+        CSIDL_DESKTOP
+        CSIDL_PROGRAMS
+        CSIDL_PERSONAL
+        CSIDL_FAVORITES
+        CSIDL_STARTUP
+        CSIDL_RECENT
+        CSIDL_SENDTO
+        CSIDL_STARTMENU
+        CSIDL_MYMUSIC
+        CSIDL_MYVIDEO
+        CSIDL_DESKTOPDIRECTORY
+        CSIDL_NETHOOD
+        CSIDL_FONTS
+        CSIDL_TEMPLATES
+        CSIDL_COMMON_STARTMENU
+        CSIDL_COMMON_PROGRAMS
+        CSIDL_COMMON_STARTUP
+        CSIDL_COMMON_DESKTOPDIRECTORY
+        CSIDL_APPDATA
+        CSIDL_PRINTHOOD
+        CSIDL_LOCAL_APPDATA
+        CSIDL_COMMON_FAVORITES
+        CSIDL_INTERNET_CACHE
+        CSIDL_COOKIES
+        CSIDL_HISTORY
+        CSIDL_COMMON_APPDATA
+        CSIDL_WINDOWS
+        CSIDL_SYSTEM
+        CSIDL_PROGRAM_FILES
+        CSIDL_MYPICTURES
+        CSIDL_PROFILE
+        CSIDL_PROGRAM_FILES_COMMON
+        CSIDL_COMMON_TEMPLATES
+        CSIDL_COMMON_DOCUMENTS
+        CSIDL_COMMON_ADMINTOOLS
+        CSIDL_ADMINTOOLS
+        CSIDL_COMMON_MUSIC
+        CSIDL_COMMON_PICTURES
+        CSIDL_COMMON_VIDEO
+        CSIDL_RESOURCES
+        CSIDL_RESOURCES_LOCALIZED
+        CSIDL_CDBURN_AREA
+    );
+# }
+
+# We won't bother with the constant stuff, too much of a hassle.  Just hard
+# code it here.
+
+sub NULL 				{ 0 }
+sub WIN31_CLASS 			{ &NULL }
+
+sub OWNER_SECURITY_INFORMATION		{ 0x00000001 }
+sub GROUP_SECURITY_INFORMATION		{ 0x00000002 }
+sub DACL_SECURITY_INFORMATION		{ 0x00000004 }
+sub SACL_SECURITY_INFORMATION		{ 0x00000008 }
+
+sub MB_ICONHAND				{ 0x00000010 }
+sub MB_ICONQUESTION			{ 0x00000020 }
+sub MB_ICONEXCLAMATION			{ 0x00000030 }
+sub MB_ICONASTERISK			{ 0x00000040 }
+sub MB_ICONWARNING			{ 0x00000030 }
+sub MB_ICONERROR			{ 0x00000010 }
+sub MB_ICONINFORMATION			{ 0x00000040 }
+sub MB_ICONSTOP				{ 0x00000010 }
+
+#
+# Newly added constants.  These have an empty prototype, unlike the
+# the ones above, which aren't prototyped for compatibility reasons.
+#
+sub SW_HIDE           ()		{ 0 }
+sub SW_SHOWNORMAL     ()		{ 1 }
+sub SW_SHOWMINIMIZED  ()		{ 2 }
+sub SW_SHOWMAXIMIZED  ()		{ 3 }
+sub SW_SHOWNOACTIVATE ()		{ 4 }
+
+sub CSIDL_DESKTOP              ()       { 0x0000 }     # <desktop>
+sub CSIDL_PROGRAMS             ()       { 0x0002 }     # Start Menu\Programs
+sub CSIDL_PERSONAL             ()       { 0x0005 }     # "My Documents" folder
+sub CSIDL_FAVORITES            ()       { 0x0006 }     # <user name>\Favorites
+sub CSIDL_STARTUP              ()       { 0x0007 }     # Start Menu\Programs\Startup
+sub CSIDL_RECENT               ()       { 0x0008 }     # <user name>\Recent
+sub CSIDL_SENDTO               ()       { 0x0009 }     # <user name>\SendTo
+sub CSIDL_STARTMENU            ()       { 0x000B }     # <user name>\Start Menu
+sub CSIDL_MYMUSIC              ()       { 0x000D }     # "My Music" folder
+sub CSIDL_MYVIDEO              ()       { 0x000E }     # "My Videos" folder
+sub CSIDL_DESKTOPDIRECTORY     ()       { 0x0010 }     # <user name>\Desktop
+sub CSIDL_NETHOOD              ()       { 0x0013 }     # <user name>\nethood
+sub CSIDL_FONTS                ()       { 0x0014 }     # windows\fonts
+sub CSIDL_TEMPLATES            ()       { 0x0015 }
+sub CSIDL_COMMON_STARTMENU     ()       { 0x0016 }     # All Users\Start Menu
+sub CSIDL_COMMON_PROGRAMS      ()       { 0x0017 }     # All Users\Start Menu\Programs
+sub CSIDL_COMMON_STARTUP       ()       { 0x0018 }     # All Users\Startup
+sub CSIDL_COMMON_DESKTOPDIRECTORY ()    { 0x0019 }     # All Users\Desktop
+sub CSIDL_APPDATA              ()       { 0x001A }     # Application Data, new for NT4
+sub CSIDL_PRINTHOOD            ()       { 0x001B }     # <user name>\PrintHood
+sub CSIDL_LOCAL_APPDATA        ()       { 0x001C }     # non roaming, user\Local Settings\Application Data
+sub CSIDL_COMMON_FAVORITES     ()       { 0x001F }
+sub CSIDL_INTERNET_CACHE       ()       { 0x0020 }
+sub CSIDL_COOKIES              ()       { 0x0021 }
+sub CSIDL_HISTORY              ()       { 0x0022 }
+sub CSIDL_COMMON_APPDATA       ()       { 0x0023 }     # All Users\Application Data
+sub CSIDL_WINDOWS              ()       { 0x0024 }     # GetWindowsDirectory()
+sub CSIDL_SYSTEM               ()       { 0x0025 }     # GetSystemDirectory()
+sub CSIDL_PROGRAM_FILES        ()       { 0x0026 }     # C:\Program Files
+sub CSIDL_MYPICTURES           ()       { 0x0027 }     # "My Pictures", new for Win2K
+sub CSIDL_PROFILE              ()       { 0x0028 }     # USERPROFILE
+sub CSIDL_PROGRAM_FILES_COMMON ()       { 0x002B }     # C:\Program Files\Common
+sub CSIDL_COMMON_TEMPLATES     ()       { 0x002D }     # All Users\Templates
+sub CSIDL_COMMON_DOCUMENTS     ()       { 0x002E }     # All Users\Documents
+sub CSIDL_COMMON_ADMINTOOLS    ()       { 0x002F }     # All Users\Start Menu\Programs\Administrative Tools
+sub CSIDL_ADMINTOOLS           ()       { 0x0030 }     # <user name>\Start Menu\Programs\Administrative Tools
+sub CSIDL_COMMON_MUSIC         ()       { 0x0035 }     # All Users\My Music
+sub CSIDL_COMMON_PICTURES      ()       { 0x0036 }     # All Users\My Pictures
+sub CSIDL_COMMON_VIDEO         ()       { 0x0037 }     # All Users\My Video
+sub CSIDL_RESOURCES            ()       { 0x0038 }     # %windir%\Resources\, For theme and other windows resources.
+sub CSIDL_RESOURCES_LOCALIZED  ()       { 0x0039 }     # %windir%\Resources\<LangID>, for theme and other windows specific resources.
+sub CSIDL_CDBURN_AREA          ()       { 0x003B }     # <user name>\Local Settings\Application Data\Microsoft\CD Burning
+
+sub VER_NT_DOMAIN_CONTROLLER () { 0x0000002 } # The system is a domain controller and the operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
+sub VER_NT_SERVER () { 0x0000003 } # The operating system is Windows Server 2008, Windows Server 2003, or Windows 2000 Server.
+# Note that a server that is also a domain controller is reported as VER_NT_DOMAIN_CONTROLLER, not VER_NT_SERVER.
+sub VER_NT_WORKSTATION () { 0x0000001 } # The operating system is Windows Vista, Windows XP Professional, Windows XP Home Edition, or Windows 2000 Professional.
+
+
+sub VER_SUITE_BACKOFFICE               () { 0x00000004 } # Microsoft BackOffice components are installed.
+sub VER_SUITE_BLADE                    () { 0x00000400 } # Windows Server 2003, Web Edition is installed.
+sub VER_SUITE_COMPUTE_SERVER           () { 0x00004000 } # Windows Server 2003, Compute Cluster Edition is installed.
+sub VER_SUITE_DATACENTER               () { 0x00000080 } # Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition, or Windows 2000 Datacenter Server is installed.
+sub VER_SUITE_ENTERPRISE               () { 0x00000002 } # Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, or Windows 2000 Advanced Server is installed. Refer to the Remarks section for more information about this bit flag.
+sub VER_SUITE_EMBEDDEDNT               () { 0x00000040 } # Windows XP Embedded is installed.
+sub VER_SUITE_PERSONAL                 () { 0x00000200 } # Windows Vista Home Premium, Windows Vista Home Basic, or Windows XP Home Edition is installed.
+sub VER_SUITE_SINGLEUSERTS             () { 0x00000100 } # Remote Desktop is supported, but only one interactive session is supported. This value is set unless the system is running in application server mode.
+sub VER_SUITE_SMALLBUSINESS            () { 0x00000001 } # Microsoft Small Business Server was once installed on the system, but may have been upgraded to another version of Windows. Refer to the Remarks section for more information about this bit flag.
+sub VER_SUITE_SMALLBUSINESS_RESTRICTED () { 0x00000020 } # Microsoft Small Business Server is installed with the restrictive client license in force. Refer to the Remarks section for more information about this bit flag.
+sub VER_SUITE_STORAGE_SERVER           () { 0x00002000 } # Windows Storage Server 2003 R2 or Windows Storage Server 2003 is installed.
+sub VER_SUITE_TERMINAL                 () { 0x00000010 } # Terminal Services is installed. This value is always set.
+# If VER_SUITE_TERMINAL is set but VER_SUITE_SINGLEUSERTS is not set, the system is running in application server mode.
+sub VER_SUITE_WH_SERVER                () { 0x00008000 } # Windows Home Server is installed.
+
+
+sub SM_TABLETPC                ()       { 86 }
+sub SM_MEDIACENTER             ()       { 87 }
+sub SM_STARTER                 ()       { 88 }
+sub SM_SERVERR2                ()       { 89 }
+
+sub PRODUCT_UNDEFINED                        () { 0x000 } # An unknown product
+sub PRODUCT_ULTIMATE                         () { 0x001 } # Ultimate
+sub PRODUCT_HOME_BASIC                       () { 0x002 } # Home Basic
+sub PRODUCT_HOME_PREMIUM                     () { 0x003 } # Home Premium
+sub PRODUCT_ENTERPRISE                       () { 0x004 } # Enterprise
+sub PRODUCT_HOME_BASIC_N                     () { 0x005 } # Home Basic N
+sub PRODUCT_BUSINESS                         () { 0x006 } # Business
+sub PRODUCT_STANDARD_SERVER                  () { 0x007 } # Server Standard (full installation)
+sub PRODUCT_DATACENTER_SERVER                () { 0x008 } # Server Datacenter (full installation)
+sub PRODUCT_SMALLBUSINESS_SERVER             () { 0x009 } # Windows Small Business Server
+sub PRODUCT_ENTERPRISE_SERVER                () { 0x00A } # Server Enterprise (full installation)
+sub PRODUCT_STARTER                          () { 0x00B } # Starter
+sub PRODUCT_DATACENTER_SERVER_CORE           () { 0x00C } # Server Datacenter (core installation)
+sub PRODUCT_STANDARD_SERVER_CORE             () { 0x00D } # Server Standard (core installation)
+sub PRODUCT_ENTERPRISE_SERVER_CORE           () { 0x00E } # Server Enterprise (core installation)
+sub PRODUCT_ENTERPRISE_SERVER_IA64           () { 0x00F } # Server Enterprise for Itanium-based Systems
+sub PRODUCT_BUSINESS_N                       () { 0x010 } # Business N
+sub PRODUCT_WEB_SERVER                       () { 0x011 } # Web Server (full installation)
+sub PRODUCT_CLUSTER_SERVER                   () { 0x012 } # HPC Edition
+sub PRODUCT_HOME_SERVER                      () { 0x013 } # Home Server Edition
+sub PRODUCT_STORAGE_EXPRESS_SERVER           () { 0x014 } # Storage Server Express
+sub PRODUCT_STORAGE_STANDARD_SERVER          () { 0x015 } # Storage Server Standard
+sub PRODUCT_STORAGE_WORKGROUP_SERVER         () { 0x016 } # Storage Server Workgroup
+sub PRODUCT_STORAGE_ENTERPRISE_SERVER        () { 0x017 } # Storage Server Enterprise
+sub PRODUCT_SERVER_FOR_SMALLBUSINESS         () { 0x018 } # Windows Server 2008 for Windows Essential Server Solutions
+sub PRODUCT_SMALLBUSINESS_SERVER_PREMIUM     () { 0x019 } # Windows Small Business Server Premium
+sub PRODUCT_HOME_PREMIUM_N                   () { 0x01A } # Home Premium N
+sub PRODUCT_ENTERPRISE_N                     () { 0x01B } # Enterprise N
+sub PRODUCT_ULTIMATE_N                       () { 0x01C } # Ultimate N
+sub PRODUCT_WEB_SERVER_CORE                  () { 0x01D } # Web Server (core installation)
+sub PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT () { 0x01E } # Windows Essential Business Server Management Server
+sub PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY   () { 0x01F } # Windows Essential Business Server Security Server
+sub PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING  () { 0x020 } # Windows Essential Business Server Messaging Server
+sub PRODUCT_SERVER_FOUNDATION                () { 0x021 } # Server Foundation
+
+sub PRODUCT_SERVER_FOR_SMALLBUSINESS_V       () { 0x023 } # Windows Server 2008 without Hyper-V for Windows Essential Server Solutions
+sub PRODUCT_STANDARD_SERVER_V                () { 0x024 } # Server Standard without Hyper-V (full installation)
+sub PRODUCT_DATACENTER_SERVER_V              () { 0x025 } # Server Datacenter without Hyper-V (full installation)
+sub PRODUCT_ENTERPRISE_SERVER_V              () { 0x026 } # Server Enterprise without Hyper-V (full installation)
+sub PRODUCT_DATACENTER_SERVER_CORE_V         () { 0x027 } # Server Datacenter without Hyper-V (core installation)
+sub PRODUCT_STANDARD_SERVER_CORE_V           () { 0x028 } # Server Standard without Hyper-V (core installation)
+sub PRODUCT_ENTERPRISE_SERVER_CORE_V         () { 0x029 } # Server Enterprise without Hyper-V (core installation)
+sub PRODUCT_HYPERV                           () { 0x02A } # Microsoft Hyper-V Server
+
+sub PRODUCT_STARTER_N                        () { 0x02F } # Starter N
+sub PRODUCT_PROFESSIONAL                     () { 0x030 } # Professional
+sub PRODUCT_PROFESSIONAL_N                   () { 0x031 } # Professional N
+
+sub PRODUCT_STARTER_E                        () { 0x042 } # Starter E
+sub PRODUCT_HOME_BASIC_E                     () { 0x043 } # Home Basic E
+sub PRODUCT_HOME_PREMIUM_E                   () { 0x044 } # Home Premium E
+sub PRODUCT_PROFESSIONAL_E                   () { 0x045 } # Professional E
+sub PRODUCT_ENTERPRISE_E                     () { 0x046 } # Enterprise E
+sub PRODUCT_ULTIMATE_E                       () { 0x047 } # Ultimate E
+
+sub PRODUCT_UNLICENSED                       () { 0xABCDABCD } # product has not been activated and is no longer in the grace period
+
+sub PROCESSOR_ARCHITECTURE_AMD64   ()   { 9 }      # x64 (AMD or Intel)
+sub PROCESSOR_ARCHITECTURE_IA64    ()   { 6 }      # Intel Itanium Processor Family (IPF)
+sub PROCESSOR_ARCHITECTURE_INTEL   ()   { 0 }      # x86
+sub PROCESSOR_ARCHITECTURE_UNKNOWN ()   { 0xffff } # Unknown architecture.
+
+sub _GetProcessorArchitecture {
+    my $arch = {
+	 386 => PROCESSOR_ARCHITECTURE_INTEL,
+	 486 => PROCESSOR_ARCHITECTURE_INTEL,
+	 586 => PROCESSOR_ARCHITECTURE_INTEL,
+	2200 => PROCESSOR_ARCHITECTURE_IA64,
+	8664 => PROCESSOR_ARCHITECTURE_AMD64,
+    }->{Win32::GetChipName()};
+    return defined($arch) ? $arch : PROCESSOR_ARCHITECTURE_UNKNOWN;
+}
+
+### This method is just a simple interface into GetOSVersion().  More
+### specific or demanding situations should use that instead.
+
+my ($cached_os, $cached_desc);
+
+sub GetOSName {
+    unless (defined $cached_os) {
+	my($desc, $major, $minor, $build, $id, undef, undef, $suitemask, $producttype)
+	    = Win32::GetOSVersion();
+	my $arch = _GetProcessorArchitecture();
+	my $productinfo = Win32::GetProductInfo(6, 0, 0, 0);
+	($cached_os, $cached_desc) = _GetOSName($desc, $major, $minor, $build, $id,
+						$suitemask, $producttype, $productinfo, $arch);
+    }
+    return wantarray ? ($cached_os, $cached_desc) : $cached_os;
+}
+
+sub GetOSDisplayName {
+    # Calling GetOSDisplayName() with arguments is for the test suite only!
+    my($name,$desc) = @_ ? @_ : GetOSName();
+    $name =~ s/^Win//;
+    if ($desc =~ /^Windows Home Server\b/ || $desc =~ /^Windows XP Professional x64 Edition\b/) {
+	($name, $desc) = ($desc, "");
+    }
+    elsif ($desc =~ s/\s*(Windows (.*) Server( \d+)?)//) {
+	$name = "$1 $name";
+	$desc =~ s/^\s+//;
+    }
+    else {
+	for ($name) {
+	    s/^/Windows / unless /^Win32s$/;
+	    s/\/.Net//;
+	    s/NT(\d)/NT $1/;
+	    if ($desc =~ s/\s*(HPC|Small Business|Web) Server//) {
+		my $name = $1;
+		$desc =~ s/^\s*//;
+		s/(200.)/$name Server $1/;
+	    }
+	    s/^Windows (20(03|08|12))/Windows Server $1/;
+	}
+    }
+    $name .= " $desc" if length $desc;
+    return $name;
+}
+
+sub _GetSystemMetrics {
+    my($index,$metrics) = @_;
+    return Win32::GetSystemMetrics($index) unless ref $metrics;
+    return $metrics->{$index} if ref $metrics eq "HASH" && defined $metrics->{$index};
+    return 1 if ref $metrics eq "ARRAY" && grep $_ == $index, @$metrics;
+    return 0;
+}
+
+sub _GetOSName {
+    # The $metrics argument only exists for the benefit of t/GetOSName.t
+    my($csd, $major, $minor, $build, $id, $suitemask, $producttype, $productinfo, $arch, $metrics) = @_;
+
+    my($os, at tags);
+    my $desc = "";
+    if ($id == 0) {
+	$os = "Win32s";
+    }
+    elsif ($id == 1) {
+	if ($minor == 0) {
+	    $os = "95";
+	}
+	elsif ($minor == 10) {
+	    $os = "98";
+	}
+	elsif ($minor == 90) {
+	    $os = "Me";
+	}
+    }
+    elsif ($id == 2) {
+	if ($major == 3) {
+	    $os = "NT3.51";
+	}
+	elsif ($major == 4) {
+	    $os = "NT4";
+	}
+	elsif ($major == 5) {
+	    if ($minor == 0) {
+		$os = "2000";
+		if ($producttype == VER_NT_WORKSTATION) {
+		    $desc = "Professional";
+		}
+		else {
+		    if ($suitemask & VER_SUITE_DATACENTER) {
+			$desc = "Datacenter Server";
+		    }
+		    elsif ($suitemask & VER_SUITE_ENTERPRISE) {
+			$desc = "Advanced Server";
+		    }
+		    elsif ($suitemask & VER_SUITE_SMALLBUSINESS_RESTRICTED) {
+			$desc = "Small Business Server";
+		    }
+		    else {
+			$desc = "Server";
+		    }
+		}
+		# XXX ignoring "Windows 2000 Advanced Server Limited Edition" for Itanium
+		# XXX and "Windows 2000 Datacenter Server Limited Edition" for Itanium
+	    }
+	    elsif ($minor == 1) {
+		$os = "XP/.Net";
+		if (_GetSystemMetrics(SM_MEDIACENTER, $metrics)) {
+		    $desc = "Media Center Edition";
+		}
+		elsif (_GetSystemMetrics(SM_TABLETPC, $metrics)) {
+		    # Tablet PC Edition is based on XP Pro
+		    $desc = "Tablet PC Edition";
+		}
+		elsif (_GetSystemMetrics(SM_STARTER, $metrics)) {
+		    $desc = "Starter Edition";
+		}
+		elsif ($suitemask & VER_SUITE_PERSONAL) {
+		    $desc = "Home Edition";
+		}
+		else {
+		    $desc = "Professional";
+		}
+		# XXX ignoring all Windows XP Embedded and Fundamentals versions
+	    }
+	    elsif ($minor == 2) {
+		$os = "2003";
+
+		if (_GetSystemMetrics(SM_SERVERR2, $metrics)) {
+		    # XXX R2 was released for all x86 and x64 versions,
+		    # XXX but only Enterprise Edition for Itanium.
+		    $desc = "R2";
+		}
+
+		if ($suitemask == VER_SUITE_STORAGE_SERVER) {
+		    $desc .= " Windows Storage Server";
+		}
+		elsif ($suitemask == VER_SUITE_WH_SERVER) {
+		    $desc .= " Windows Home Server";
+		}
+		elsif ($producttype == VER_NT_WORKSTATION && $arch == PROCESSOR_ARCHITECTURE_AMD64) {
+		    $desc .= " Windows XP Professional x64 Edition";
+		}
+
+		# Test for the server type.
+		if ($producttype != VER_NT_WORKSTATION) {
+		    if ($arch == PROCESSOR_ARCHITECTURE_IA64) {
+			if ($suitemask & VER_SUITE_DATACENTER) {
+			    $desc .= " Datacenter Edition for Itanium-based Systems";
+			}
+			elsif ($suitemask & VER_SUITE_ENTERPRISE) {
+			    $desc .= " Enterprise Edition for Itanium-based Systems";
+			}
+		    }
+		    elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) {
+			if ($suitemask & VER_SUITE_DATACENTER) {
+			    $desc .= " Datacenter x64 Edition";
+			}
+			elsif ($suitemask & VER_SUITE_ENTERPRISE) {
+			    $desc .= " Enterprise x64 Edition";
+			}
+			else {
+			    $desc .= " Standard x64 Edition";
+			}
+		    }
+		    else {
+			if ($suitemask & VER_SUITE_COMPUTE_SERVER) {
+			    $desc .= " Windows Compute Cluster Server";
+			}
+			elsif ($suitemask & VER_SUITE_DATACENTER) {
+			    $desc .= " Datacenter Edition";
+			}
+			elsif ($suitemask & VER_SUITE_ENTERPRISE) {
+			    $desc .= " Enterprise Edition";
+			}
+			elsif ($suitemask & VER_SUITE_BLADE) {
+			    $desc .= " Web Edition";
+			}
+			elsif ($suitemask & VER_SUITE_SMALLBUSINESS_RESTRICTED) {
+			    $desc .= " Small Business Server";
+			}
+			else {
+			    if ($desc !~ /Windows (Home|Storage) Server/) {
+				$desc .= " Standard Edition";
+			    }
+			}
+		    }
+		}
+	    }
+	}
+	elsif ($major == 6) {
+	    if ($minor == 0) {
+		if ($producttype == VER_NT_WORKSTATION) {
+		    $os = "Vista";
+		}
+		else {
+		    $os = "2008";
+		}
+	    }
+	    elsif ($minor == 1) {
+		if ($producttype == VER_NT_WORKSTATION) {
+		    $os = "7";
+		}
+		else {
+		    $os = "2008";
+		    $desc = "R2";
+		}
+	    }
+	    elsif ($minor == 2) {
+	    if ($producttype == VER_NT_WORKSTATION) {
+	        $os = "8";
+	    }
+	    else {
+	        $os = "2012";
+	    }
+	    }
+
+        if ($productinfo == PRODUCT_ULTIMATE) {
+		$desc .= " Ultimate";
+	    }
+            elsif ($productinfo == PRODUCT_HOME_PREMIUM) {
+               $desc .= " Home Premium";
+            }
+            elsif ($productinfo == PRODUCT_HOME_BASIC) {
+               $desc .= " Home Basic";
+            }
+            elsif ($productinfo == PRODUCT_ENTERPRISE) {
+               $desc .= " Enterprise";
+            }
+            elsif ($productinfo == PRODUCT_BUSINESS) {
+	       # "Windows 7 Business" had a name change to "Windows 7 Professional"
+               $desc .= $minor == 0 ? " Business" : " Professional";
+            }
+            elsif ($productinfo == PRODUCT_STARTER) {
+               $desc .= " Starter";
+            }
+            elsif ($productinfo == PRODUCT_CLUSTER_SERVER) {
+               $desc .= " HPC Server";
+            }
+            elsif ($productinfo == PRODUCT_DATACENTER_SERVER) {
+               $desc .= " Datacenter";
+            }
+            elsif ($productinfo == PRODUCT_DATACENTER_SERVER_CORE) {
+               $desc .= " Datacenter Edition (core installation)";
+            }
+            elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER) {
+               $desc .= " Enterprise";
+            }
+            elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER_CORE) {
+               $desc .= " Enterprise Edition (core installation)";
+            }
+            elsif ($productinfo == PRODUCT_ENTERPRISE_SERVER_IA64) {
+               $desc .= " Enterprise Edition for Itanium-based Systems";
+            }
+            elsif ($productinfo == PRODUCT_SMALLBUSINESS_SERVER) {
+               $desc .= " Small Business Server";
+            }
+            elsif ($productinfo == PRODUCT_SMALLBUSINESS_SERVER_PREMIUM) {
+               $desc .= " Small Business Server Premium Edition";
+            }
+            elsif ($productinfo == PRODUCT_STANDARD_SERVER) {
+               $desc .= " Standard";
+            }
+            elsif ($productinfo == PRODUCT_STANDARD_SERVER_CORE) {
+               $desc .= " Standard Edition (core installation)";
+            }
+            elsif ($productinfo == PRODUCT_WEB_SERVER) {
+               $desc .= " Web Server";
+            }
+            elsif ($productinfo == PRODUCT_PROFESSIONAL) {
+               $desc .= " Professional";
+            }
+
+	    if ($arch == PROCESSOR_ARCHITECTURE_INTEL) {
+		$desc .= " (32-bit)";
+	    }
+	    elsif ($arch == PROCESSOR_ARCHITECTURE_AMD64) {
+		$desc .= " (64-bit)";
+	    }
+	}
+    }
+
+    unless (defined $os) {
+	warn "Unknown Windows version [$id:$major:$minor]";
+	return;
+    }
+
+    for ($desc) {
+	s/\s\s+/ /g;
+	s/^\s//;
+	s/\s$//;
+    }
+
+    # XXX What about "Small Business Server"? NT, 200, 2003, 2008 editions...
+
+    if ($major >= 5) {
+	# XXX XP, Vista, 7 all have starter editions
+	#push(@tags, "Starter Edition") if _GetSystemMetrics(SM_STARTER, $metrics);
+    }
+
+    if (@tags) {
+	unshift(@tags, $desc) if length $desc;
+	$desc = join(" ", @tags);
+    }
+
+    if (length $csd) {
+	$desc .= " " if length $desc;
+	$desc .= $csd;
+    }
+    return ("Win$os", $desc);
+}
+
+# "no warnings 'redefine';" doesn't work for 5.8.7 and earlier
+local $^W = 0;
+bootstrap Win32;
+
+1;
+
+__END__
+
+=head1 NAME
+
+Win32 - Interfaces to some Win32 API Functions
+
+=head1 DESCRIPTION
+
+The Win32 module contains functions to access Win32 APIs.
+
+=head2 Alphabetical Listing of Win32 Functions
+
+It is recommended to C<use Win32;> before any of these functions;
+however, for backwards compatibility, those marked as [CORE] will
+automatically do this for you.
+
+In the function descriptions below the term I<Unicode string> is used
+to indicate that the string may contain characters outside the system
+codepage.  The caveat I<If supported by the core Perl version>
+generally means Perl 5.8.9 and later, though some Unicode pathname
+functionality may work on earlier versions.
+
+=over
+
+=item Win32::AbortSystemShutdown(MACHINE)
+
+Aborts a system shutdown (started by the
+InitiateSystemShutdown function) on the specified MACHINE.
+
+=item Win32::BuildNumber()
+
+[CORE] Returns the ActivePerl build number.  This function is
+only available in the ActivePerl binary distribution.
+
+=item Win32::CopyFile(FROM, TO, OVERWRITE)
+
+[CORE] The Win32::CopyFile() function copies an existing file to a new
+file.  All file information like creation time and file attributes will
+be copied to the new file.  However it will B<not> copy the security
+information.  If the destination file already exists it will only be
+overwritten when the OVERWRITE parameter is true.  But even this will
+not overwrite a read-only file; you have to unlink() it first
+yourself.
+
+=item Win32::CreateDirectory(DIRECTORY)
+
+Creates the DIRECTORY and returns a true value on success.  Check $^E
+on failure for extended error information.
+
+DIRECTORY may contain Unicode characters outside the system codepage.
+Once the directory has been created you can use
+Win32::GetANSIPathName() to get a name that can be passed to system
+calls and external programs.
+
+=item Win32::CreateFile(FILE)
+
+Creates the FILE and returns a true value on success.  Check $^E on
+failure for extended error information.
+
+FILE may contain Unicode characters outside the system codepage.  Once
+the file has been created you can use Win32::GetANSIPathName() to get
+a name that can be passed to system calls and external programs.
+
+=item Win32::DomainName()
+
+[CORE] Returns the name of the Microsoft Network domain or workgroup
+that the owner of the current perl process is logged into.  The
+"Workstation" service must be running to determine this
+information.  This function does B<not> work on Windows 9x.
+
+=item Win32::ExpandEnvironmentStrings(STRING)
+
+Takes STRING and replaces all referenced environment variable
+names with their defined values.  References to environment variables
+take the form C<%VariableName%>.  Case is ignored when looking up the
+VariableName in the environment.  If the variable is not found then the
+original C<%VariableName%> text is retained.  Has the same effect
+as the following:
+
+	$string =~ s/%([^%]*)%/$ENV{$1} || "%$1%"/eg
+
+However, this function may return a Unicode string if the environment
+variable being expanded hasn't been assigned to via %ENV.  Access
+to %ENV is currently always using byte semantics.
+
+=item Win32::FormatMessage(ERRORCODE)
+
+[CORE] Converts the supplied Win32 error number (e.g. returned by
+Win32::GetLastError()) to a descriptive string.  Analogous to the
+perror() standard-C library function.  Note that C<$^E> used
+in a string context has much the same effect.
+
+	C:\> perl -e "$^E = 26; print $^E;"
+	The specified disk or diskette cannot be accessed
+
+=item Win32::FsType()
+
+[CORE] Returns the name of the filesystem of the currently active
+drive (like 'FAT' or 'NTFS').  In list context it returns three values:
+(FSTYPE, FLAGS, MAXCOMPLEN).  FSTYPE is the filesystem type as
+before.  FLAGS is a combination of values of the following table:
+
+	0x00000001  supports case-sensitive filenames
+	0x00000002  preserves the case of filenames
+	0x00000004  supports Unicode in filenames
+	0x00000008  preserves and enforces ACLs
+	0x00000010  supports file-based compression
+	0x00000020  supports disk quotas
+	0x00000040  supports sparse files
+	0x00000080  supports reparse points
+	0x00000100  supports remote storage
+	0x00008000  is a compressed volume (e.g. DoubleSpace)
+	0x00010000  supports object identifiers
+	0x00020000  supports the Encrypted File System (EFS)
+
+MAXCOMPLEN is the maximum length of a filename component (the part
+between two backslashes) on this file system.
+
+=item Win32::FreeLibrary(HANDLE)
+
+Unloads a previously loaded dynamic-link library.  The HANDLE is
+no longer valid after this call.  See L<LoadLibrary|Win32::LoadLibrary(LIBNAME)>
+for information on dynamically loading a library.
+
+=item Win32::GetACP()
+
+Returns the current Windows ANSI code page identifier for the operating
+system.  See also GetOEMCP(), GetConsoleCP() and GetConsoleOutputCP().
+
+=item Win32::GetANSIPathName(FILENAME)
+
+Returns an ANSI version of FILENAME.  This may be the short name
+if the long name cannot be represented in the system codepage.
+
+While not currently implemented, it is possible that in the future
+this function will convert only parts of the path to FILENAME to a
+short form.
+
+If FILENAME doesn't exist on the filesystem, or if the filesystem
+doesn't support short ANSI filenames, then this function will
+translate the Unicode name into the system codepage using replacement
+characters.
+
+=item Win32::GetArchName()
+
+Use of this function is deprecated.  It is equivalent with
+$ENV{PROCESSOR_ARCHITECTURE}.  This might not work on Win9X.
+
+=item Win32::GetChipName()
+
+Returns the processor type: 386, 486 or 586 for x86 processors, 8664
+for the x64 processor and 2200 for the Itanium.  Since it returns the
+native processor type it will return a 64-bit processor type even when
+called from a 32-bit Perl running on 64-bit Windows.
+
+=item Win32::GetConsoleCP()
+
+Returns the input code page used by the console associated with the
+calling process.  To set the console's input code page, see
+SetConsoleCP().  See also GetConsoleOutputCP(), GetACP() and
+GetOEMCP().
+
+=item Win32::GetConsoleOutputCP()
+
+Returns the output code page used by the console associated with the
+calling process.  To set the console's output code page, see
+SetConsoleOutputCP().  See also GetConsoleCP(), GetACP(), and
+GetOEMCP().
+
+=item Win32::GetCwd()
+
+[CORE] Returns the current active drive and directory.  This function
+does not return a UNC path, since the functionality required for such
+a feature is not available under Windows 95.
+
+If supported by the core Perl version, this function will return an
+ANSI path name for the current directory if the long pathname cannot
+be represented in the system codepage.
+
+=item Win32::GetCurrentProcessId()
+
+Returns the process identifier of the current process.  Until the
+process terminates, the process identifier uniquely identifies the
+process throughout the system.
+
+The current process identifier is normally also available via the
+predefined $$ variable.  Under fork() emulation however $$ may contain
+a pseudo-process identifier that is only meaningful to the Perl
+kill(), wait() and waitpid() functions.  The
+Win32::GetCurrentProcessId() function will always return the regular
+Windows process id, even when called from inside a pseudo-process.
+
+=item Win32::GetCurrentThreadId()
+
+Returns the thread identifier of the calling thread.  Until the thread
+terminates, the thread identifier uniquely identifies the thread
+throughout the system.
+
+=item Win32::GetFileVersion(FILENAME)
+
+Returns the file version number from the VERSIONINFO resource of
+the executable file or DLL.  This is a tuple of four 16 bit numbers.
+In list context these four numbers will be returned.  In scalar context
+they are concatenated into a string, separated by dots.
+
+=item Win32::GetFolderPath(FOLDER [, CREATE])
+
+Returns the full pathname of one of the Windows special folders.
+The folder will be created if it doesn't exist and the optional CREATE
+argument is true.  The following FOLDER constants are defined by the
+Win32 module, but only exported on demand:
+
+        CSIDL_ADMINTOOLS
+        CSIDL_APPDATA
+        CSIDL_CDBURN_AREA
+        CSIDL_COMMON_ADMINTOOLS
+        CSIDL_COMMON_APPDATA
+        CSIDL_COMMON_DESKTOPDIRECTORY
+        CSIDL_COMMON_DOCUMENTS
+        CSIDL_COMMON_FAVORITES
+        CSIDL_COMMON_MUSIC
+        CSIDL_COMMON_PICTURES
+        CSIDL_COMMON_PROGRAMS
+        CSIDL_COMMON_STARTMENU
+        CSIDL_COMMON_STARTUP
+        CSIDL_COMMON_TEMPLATES
+        CSIDL_COMMON_VIDEO
+        CSIDL_COOKIES
+        CSIDL_DESKTOP
+        CSIDL_DESKTOPDIRECTORY
+        CSIDL_FAVORITES
+        CSIDL_FONTS
+        CSIDL_HISTORY
+        CSIDL_INTERNET_CACHE
+        CSIDL_LOCAL_APPDATA
+        CSIDL_MYMUSIC
+        CSIDL_MYPICTURES
+        CSIDL_MYVIDEO
+        CSIDL_NETHOOD
+        CSIDL_PERSONAL
+        CSIDL_PRINTHOOD
+        CSIDL_PROFILE
+        CSIDL_PROGRAMS
+        CSIDL_PROGRAM_FILES
+        CSIDL_PROGRAM_FILES_COMMON
+        CSIDL_RECENT
+        CSIDL_RESOURCES
+        CSIDL_RESOURCES_LOCALIZED
+        CSIDL_SENDTO
+        CSIDL_STARTMENU
+        CSIDL_STARTUP
+        CSIDL_SYSTEM
+        CSIDL_TEMPLATES
+        CSIDL_WINDOWS
+
+Note that not all folders are defined on all versions of Windows.
+
+Please refer to the MSDN documentation of the CSIDL constants,
+currently available at:
+
+http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/enums/csidl.asp
+
+This function will return an ANSI folder path if the long name cannot
+be represented in the system codepage.  Use Win32::GetLongPathName()
+on the result of Win32::GetFolderPath() if you want the Unicode
+version of the folder name.
+
+=item Win32::GetFullPathName(FILENAME)
+
+[CORE] GetFullPathName combines the FILENAME with the current drive
+and directory name and returns a fully qualified (aka, absolute)
+path name.  In list context it returns two elements: (PATH, FILE) where
+PATH is the complete pathname component (including trailing backslash)
+and FILE is just the filename part.  Note that no attempt is made to
+convert 8.3 components in the supplied FILENAME to longnames or
+vice-versa.  Compare with Win32::GetShortPathName() and
+Win32::GetLongPathName().
+
+If supported by the core Perl version, this function will return an
+ANSI path name if the full pathname cannot be represented in the
+system codepage.
+
+=item Win32::GetLastError()
+
+[CORE] Returns the last error value generated by a call to a Win32 API
+function.  Note that C<$^E> used in a numeric context amounts to the
+same value.
+
+=item Win32::GetLongPathName(PATHNAME)
+
+[CORE] Returns a representation of PATHNAME composed of longname
+components (if any).  The result may not necessarily be longer
+than PATHNAME.  No attempt is made to convert PATHNAME to the
+absolute path.  Compare with Win32::GetShortPathName() and
+Win32::GetFullPathName().
+
+This function may return the pathname in Unicode if it cannot be
+represented in the system codepage.  Use Win32::GetANSIPathName()
+before passing the path to a system call or another program.
+
+=item Win32::GetNextAvailDrive()
+
+[CORE] Returns a string in the form of "<d>:" where <d> is the first
+available drive letter.
+
+=item Win32::GetOEMCP()
+
+Returns the current original equipment manufacturer (OEM) code page
+identifier for the operating system.  See also GetACP(), GetConsoleCP()
+and GetConsoleOutputCP().
+
+=item Win32::GetOSDisplayName()
+
+Returns the "marketing" name of the Windows operating system version
+being used.  It returns names like these (random samples):
+
+   Windows 2000 Datacenter Server
+   Windows XP Professional
+   Windows XP Tablet PC Edition
+   Windows Home Server
+   Windows Server 2003 Enterprise Edition for Itanium-based Systems
+   Windows Vista Ultimate (32-bit)
+   Windows Small Business Server 2008 R2 (64-bit)
+
+The display name describes the native Windows version, so even on a
+32-bit Perl this function may return a "Windows ... (64-bit)" name
+when running on a 64-bit Windows.
+
+This function should only be used to display the actual OS name to the
+user; it should not be used to determine the class of operating systems
+this system belongs to.  The Win32::GetOSName(), Win32::GetOSVersion,
+Win32::GetProductInfo() and Win32::GetSystemMetrics() functions provide
+the base information to check for certain capabilities, or for families
+of OS releases.
+
+=item Win32::GetOSName()
+
+In scalar context returns the name of the Win32 operating system
+being used.  In list context returns a two element list of the OS name
+and whatever edition information is known about the particular build
+(for Win9X boxes) and whatever service packs have been installed.
+The latter is roughly equivalent to the first item returned by
+GetOSVersion() in list context.
+
+The description will also include tags for other special editions,
+like "R2", "Media Center", "Tablet PC", or "Starter Edition".
+
+Currently the possible values for the OS name are
+
+    WinWin32s
+    Win95
+    Win98
+    WinMe
+    WinNT3.51
+    WinNT4
+    Win2000
+    WinXP/.Net
+    Win2003
+    WinHomeSvr
+    WinVista
+    Win2008
+    Win7
+
+This routine is just a simple interface into GetOSVersion().  More
+specific or demanding situations should use that instead.  Another
+option would be to use POSIX::uname(), however the latter appears to
+report only the OS family name and not the specific OS.  In scalar
+context it returns just the ID.
+
+The name "WinXP/.Net" is used for historical reasons only, to maintain
+backwards compatibility of the Win32 module.  Windows .NET Server has
+been renamed as Windows 2003 Server before final release and uses a
+different major/minor version number than Windows XP.
+
+Similarly the name "WinWin32s" should have been "Win32s" but has been
+kept as-is for backwards compatibility reasons too.
+
+=item Win32::GetOSVersion()
+
+[CORE] Returns the list (STRING, MAJOR, MINOR, BUILD, ID), where the
+elements are, respectively: An arbitrary descriptive string, the major
+version number of the operating system, the minor version number, the
+build number, and a digit indicating the actual operating system.
+For the ID, the values are 0 for Win32s, 1 for Windows 9X/Me and 2 for
+Windows NT/2000/XP/2003/Vista/2008/7.  In scalar context it returns just
+the ID.
+
+Currently known values for ID MAJOR and MINOR are as follows:
+
+    OS                      ID    MAJOR   MINOR
+    Win32s                   0      -       -
+    Windows 95               1      4       0
+    Windows 98               1      4      10
+    Windows Me               1      4      90
+
+    Windows NT 3.51          2      3      51
+    Windows NT 4             2      4       0
+
+    Windows 2000             2      5       0
+    Windows XP               2      5       1
+    Windows Server 2003      2      5       2
+    Windows Server 2003 R2   2      5       2
+    Windows Home Server      2      5       2
+
+    Windows Vista            2      6       0
+    Windows Server 2008      2      6       0
+    Windows 7                2      6       1
+    Windows Server 2008 R2   2      6       1
+    Windows 8                2      6       2
+    Windows Server 2012      2      6       2
+
+On Windows NT 4 SP6 and later this function returns the following
+additional values: SPMAJOR, SPMINOR, SUITEMASK, PRODUCTTYPE.
+
+The version numbers for Windows 2003 and Windows Home Server are
+identical; the SUITEMASK field must be used to differentiate between\
+them.
+
+The version numbers for Windows Vista and Windows Server 2008 are
+identical; the PRODUCTTYPE field must be used to differentiate between
+them.
+
+The version numbers for Windows 7 and Windows Server 2008 R2 are
+identical; the PRODUCTTYPE field must be used to differentiate between
+them.
+
+The version numbers for Windows 8 and Windows Server 2012 are
+identical; the PRODUCTTYPE field must be used to differentiate between
+them.
+
+SPMAJOR and SPMINOR are are the version numbers of the latest
+installed service pack.
+
+SUITEMASK is a bitfield identifying the product suites available on
+the system.  Known bits are:
+
+    VER_SUITE_SMALLBUSINESS             0x00000001
+    VER_SUITE_ENTERPRISE                0x00000002
+    VER_SUITE_BACKOFFICE                0x00000004
+    VER_SUITE_COMMUNICATIONS            0x00000008
+    VER_SUITE_TERMINAL                  0x00000010
+    VER_SUITE_SMALLBUSINESS_RESTRICTED  0x00000020
+    VER_SUITE_EMBEDDEDNT                0x00000040
+    VER_SUITE_DATACENTER                0x00000080
+    VER_SUITE_SINGLEUSERTS              0x00000100
+    VER_SUITE_PERSONAL                  0x00000200
+    VER_SUITE_BLADE                     0x00000400
+    VER_SUITE_EMBEDDED_RESTRICTED       0x00000800
+    VER_SUITE_SECURITY_APPLIANCE        0x00001000
+    VER_SUITE_STORAGE_SERVER            0x00002000
+    VER_SUITE_COMPUTE_SERVER            0x00004000
+    VER_SUITE_WH_SERVER                 0x00008000
+
+The VER_SUITE_xxx names are listed here to crossreference the Microsoft
+documentation.  The Win32 module does not provide symbolic names for these
+constants.
+
+PRODUCTTYPE provides additional information about the system.  It should
+be one of the following integer values:
+
+    1 - Workstation (NT 4, 2000 Pro, XP Home, XP Pro, Vista, etc)
+    2 - Domaincontroller
+    3 - Server (2000 Server, Server 2003, Server 2008, etc)
+
+Note that a server that is also a domain controller is reported as
+PRODUCTTYPE 2 (Domaincontroller) and not PRODUCTTYPE 3 (Server).
+
+=item Win32::GetShortPathName(PATHNAME)
+
+[CORE] Returns a representation of PATHNAME that is composed of short
+(8.3) path components where available.  For path components where the
+file system has not generated the short form the returned path will
+use the long form, so this function might still for instance return a
+path containing spaces.  Returns C<undef> when the PATHNAME does not
+exist. Compare with Win32::GetFullPathName() and
+Win32::GetLongPathName().
+
+=item Win32::GetSystemMetrics(INDEX)
+
+Retrieves the specified system metric or system configuration setting.
+Please refer to the Microsoft documentation of the GetSystemMetrics()
+function for a reference of available INDEX values.  All system
+metrics return integer values.
+
+=item Win32::GetProcAddress(INSTANCE, PROCNAME)
+
+Returns the address of a function inside a loaded library.  The
+information about what you can do with this address has been lost in
+the mist of time.  Use the Win32::API module instead of this deprecated
+function.
+
+=item Win32::GetProductInfo(OSMAJOR, OSMINOR, SPMAJOR, SPMINOR)
+
+Retrieves the product type for the operating system on the local
+computer, and maps the type to the product types supported by the
+specified operating system.  Please refer to the Microsoft
+documentation of the GetProductInfo() function for more information
+about the parameters and return value.  This function requires Windows
+Vista or later.
+
+See also the Win32::GetOSName() and Win32::GetOSDisplayName()
+functions which provide a higher level abstraction of the data
+returned by this function.
+
+=item Win32::GetTickCount()
+
+[CORE] Returns the number of milliseconds elapsed since the last
+system boot.  Resolution is limited to system timer ticks (about 10ms
+on WinNT and 55ms on Win9X).
+
+=item Win32::GuidGen()
+
+Creates a globally unique 128 bit integer that can be used as a
+persistent identifier in a distributed setting. To a very high degree
+of certainty this function returns a unique value. No other
+invocation, on the same or any other system (networked or not), should
+return the same value.
+
+The return value is formatted according to OLE conventions, as groups
+of hex digits with surrounding braces.  For example:
+
+    {09531CF1-D0C7-4860-840C-1C8C8735E2AD}
+
+=item Win32::InitiateSystemShutdown
+
+(MACHINE, MESSAGE, TIMEOUT, FORCECLOSE, REBOOT)
+
+Shutsdown the specified MACHINE, notifying users with the
+supplied MESSAGE, within the specified TIMEOUT interval.  Forces
+closing of all documents without prompting the user if FORCECLOSE is
+true, and reboots the machine if REBOOT is true.  This function works
+only on WinNT.
+
+=item Win32::IsAdminUser()
+
+Returns non zero if the account in whose security context the
+current process/thread is running belongs to the local group of
+Administrators in the built-in system domain; returns 0 if not.
+On Windows Vista it will only return non-zero if the process is
+actually running with elevated privileges.  Returns C<undef>
+and prints a warning if an error occurred.  This function always
+returns 1 on Win9X.
+
+=item Win32::IsWinNT()
+
+[CORE] Returns non zero if the Win32 subsystem is Windows NT.
+
+=item Win32::IsWin95()
+
+[CORE] Returns non zero if the Win32 subsystem is Windows 95.
+
+=item Win32::LoadLibrary(LIBNAME)
+
+Loads a dynamic link library into memory and returns its module
+handle.  This handle can be used with Win32::GetProcAddress() and
+Win32::FreeLibrary().  This function is deprecated.  Use the Win32::API
+module instead.
+
+=item Win32::LoginName()
+
+[CORE] Returns the username of the owner of the current perl process.
+The return value may be a Unicode string.
+
+=item Win32::LookupAccountName(SYSTEM, ACCOUNT, DOMAIN, SID, SIDTYPE)
+
+Looks up ACCOUNT on SYSTEM and returns the domain name the SID and
+the SID type.
+
+=item Win32::LookupAccountSID(SYSTEM, SID, ACCOUNT, DOMAIN, SIDTYPE)
+
+Looks up SID on SYSTEM and returns the account name, domain name,
+and the SID type.
+
+=item Win32::MsgBox(MESSAGE [, FLAGS [, TITLE]])
+
+Create a dialogbox containing MESSAGE.  FLAGS specifies the
+required icon and buttons according to the following table:
+
+	0 = OK
+	1 = OK and Cancel
+	2 = Abort, Retry, and Ignore
+	3 = Yes, No and Cancel
+	4 = Yes and No
+	5 = Retry and Cancel
+
+	MB_ICONSTOP          "X" in a red circle
+	MB_ICONQUESTION      question mark in a bubble
+	MB_ICONEXCLAMATION   exclamation mark in a yellow triangle
+	MB_ICONINFORMATION   "i" in a bubble
+
+TITLE specifies an optional window title.  The default is "Perl".
+
+The function returns the menu id of the selected push button:
+
+	0  Error
+
+	1  OK
+	2  Cancel
+	3  Abort
+	4  Retry
+	5  Ignore
+	6  Yes
+	7  No
+
+=item Win32::NodeName()
+
+[CORE] Returns the Microsoft Network node-name of the current machine.
+
+=item Win32::OutputDebugString(STRING)
+
+Sends a string to the application or system debugger for display.
+The function does nothing if there is no active debugger.
+
+Alternatively one can use the I<Debug Viewer> application to
+watch the OutputDebugString() output:
+
+http://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx
+
+=item Win32::RegisterServer(LIBRARYNAME)
+
+Loads the DLL LIBRARYNAME and calls the function DllRegisterServer.
+
+=item Win32::SetChildShowWindow(SHOWWINDOW)
+
+[CORE] Sets the I<ShowMode> of child processes started by system().
+By default system() will create a new console window for child
+processes if Perl itself is not running from a console.  Calling
+SetChildShowWindow(0) will make these new console windows invisible.
+Calling SetChildShowWindow() without arguments reverts system() to the
+default behavior.  The return value of SetChildShowWindow() is the
+previous setting or C<undef>.
+
+The following symbolic constants for SHOWWINDOW are available
+(but not exported) from the Win32 module: SW_HIDE, SW_SHOWNORMAL,
+SW_SHOWMINIMIZED, SW_SHOWMAXIMIZED and SW_SHOWNOACTIVATE.
+
+=item Win32::SetConsoleCP(ID)
+
+Sets the input code page used by the console associated with the
+calling process.  The return value of SetConsoleCP() is nonzero on
+success or zero on failure.  To get the console's input code page, see
+GetConsoleCP().
+
+=item Win32::SetConsoleOutputCP(ID)
+
+Sets the output code page used by the console associated with the
+calling process.  The return value of SetConsoleOutputCP() is nonzero on
+success or zero on failure.  To get the console's output code page, see
+GetConsoleOutputCP().
+
+=item Win32::SetCwd(NEWDIRECTORY)
+
+[CORE] Sets the current active drive and directory.  This function does not
+work with UNC paths, since the functionality required to required for
+such a feature is not available under Windows 95.
+
+=item Win32::SetLastError(ERROR)
+
+[CORE] Sets the value of the last error encountered to ERROR.  This is
+that value that will be returned by the Win32::GetLastError()
+function.
+
+=item Win32::Sleep(TIME)
+
+[CORE] Pauses for TIME milliseconds.  The timeslices are made available
+to other processes and threads.
+
+=item Win32::Spawn(COMMAND, ARGS, PID)
+
+[CORE] Spawns a new process using the supplied COMMAND, passing in
+arguments in the string ARGS.  The pid of the new process is stored in
+PID.  This function is deprecated.  Please use the Win32::Process module
+instead.
+
+=item Win32::UnregisterServer(LIBRARYNAME)
+
+Loads the DLL LIBRARYNAME and calls the function
+DllUnregisterServer.
+
+=back
+
+=cut


Property changes on: vendor/perl/dist/cpan/Win32/Win32.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/Win32.xs
===================================================================
--- vendor/perl/dist/cpan/Win32/Win32.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/Win32.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,1775 +1,1829 @@
-#include <wctype.h>
-#include <windows.h>
-#include <shlobj.h>
-
-#define PERL_NO_GET_CONTEXT
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#ifndef countof
-#  define countof(array) (sizeof (array) / sizeof (*(array)))
-#endif
-
-#define SE_SHUTDOWN_NAMEA   "SeShutdownPrivilege"
-
-#ifndef WC_NO_BEST_FIT_CHARS
-#  define WC_NO_BEST_FIT_CHARS 0x00000400
-#endif
-
-#define GETPROC(fn) pfn##fn = (PFN##fn)GetProcAddress(module, #fn)
-
-typedef BOOL (WINAPI *PFNSHGetSpecialFolderPathA)(HWND, char*, int, BOOL);
-typedef BOOL (WINAPI *PFNSHGetSpecialFolderPathW)(HWND, WCHAR*, int, BOOL);
-typedef HRESULT (WINAPI *PFNSHGetFolderPathA)(HWND, int, HANDLE, DWORD, LPTSTR);
-typedef HRESULT (WINAPI *PFNSHGetFolderPathW)(HWND, int, HANDLE, DWORD, LPWSTR);
-typedef BOOL (WINAPI *PFNCreateEnvironmentBlock)(void**, HANDLE, BOOL);
-typedef BOOL (WINAPI *PFNDestroyEnvironmentBlock)(void*);
-typedef int (__stdcall *PFNDllRegisterServer)(void);
-typedef int (__stdcall *PFNDllUnregisterServer)(void);
-typedef DWORD (__stdcall *PFNNetApiBufferFree)(void*);
-typedef DWORD (__stdcall *PFNNetWkstaGetInfo)(LPWSTR, DWORD, void*);
-
-typedef BOOL (__stdcall *PFNOpenProcessToken)(HANDLE, DWORD, HANDLE*);
-typedef BOOL (__stdcall *PFNOpenThreadToken)(HANDLE, DWORD, BOOL, HANDLE*);
-typedef BOOL (__stdcall *PFNGetTokenInformation)(HANDLE, TOKEN_INFORMATION_CLASS, void*, DWORD, DWORD*);
-typedef BOOL (__stdcall *PFNAllocateAndInitializeSid)(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD,
-                                                      DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
-typedef BOOL (__stdcall *PFNEqualSid)(PSID, PSID);
-typedef void* (__stdcall *PFNFreeSid)(PSID);
-typedef BOOL (__stdcall *PFNIsUserAnAdmin)(void);
-typedef BOOL (WINAPI *PFNGetProductInfo)(DWORD, DWORD, DWORD, DWORD, DWORD*);
-typedef void (WINAPI *PFNGetNativeSystemInfo)(LPSYSTEM_INFO lpSystemInfo);
-
-#ifndef CSIDL_MYMUSIC
-#   define CSIDL_MYMUSIC              0x000D
-#endif
-#ifndef CSIDL_MYVIDEO
-#   define CSIDL_MYVIDEO              0x000E
-#endif
-#ifndef CSIDL_LOCAL_APPDATA
-#   define CSIDL_LOCAL_APPDATA        0x001C
-#endif
-#ifndef CSIDL_COMMON_FAVORITES
-#   define CSIDL_COMMON_FAVORITES     0x001F
-#endif
-#ifndef CSIDL_INTERNET_CACHE
-#   define CSIDL_INTERNET_CACHE       0x0020
-#endif
-#ifndef CSIDL_COOKIES
-#   define CSIDL_COOKIES              0x0021
-#endif
-#ifndef CSIDL_HISTORY
-#   define CSIDL_HISTORY              0x0022
-#endif
-#ifndef CSIDL_COMMON_APPDATA
-#   define CSIDL_COMMON_APPDATA       0x0023
-#endif
-#ifndef CSIDL_WINDOWS
-#   define CSIDL_WINDOWS              0x0024
-#endif
-#ifndef CSIDL_PROGRAM_FILES
-#   define CSIDL_PROGRAM_FILES        0x0026
-#endif
-#ifndef CSIDL_MYPICTURES
-#   define CSIDL_MYPICTURES           0x0027
-#endif
-#ifndef CSIDL_PROFILE
-#   define CSIDL_PROFILE              0x0028
-#endif
-#ifndef CSIDL_PROGRAM_FILES_COMMON
-#   define CSIDL_PROGRAM_FILES_COMMON 0x002B
-#endif
-#ifndef CSIDL_COMMON_TEMPLATES
-#   define CSIDL_COMMON_TEMPLATES     0x002D
-#endif
-#ifndef CSIDL_COMMON_DOCUMENTS
-#   define CSIDL_COMMON_DOCUMENTS     0x002E
-#endif
-#ifndef CSIDL_COMMON_ADMINTOOLS
-#   define CSIDL_COMMON_ADMINTOOLS    0x002F
-#endif
-#ifndef CSIDL_ADMINTOOLS
-#   define CSIDL_ADMINTOOLS           0x0030
-#endif
-#ifndef CSIDL_COMMON_MUSIC
-#   define CSIDL_COMMON_MUSIC         0x0035
-#endif
-#ifndef CSIDL_COMMON_PICTURES
-#   define CSIDL_COMMON_PICTURES      0x0036
-#endif
-#ifndef CSIDL_COMMON_VIDEO
-#   define CSIDL_COMMON_VIDEO         0x0037
-#endif
-#ifndef CSIDL_CDBURN_AREA
-#   define CSIDL_CDBURN_AREA          0x003B
-#endif
-#ifndef CSIDL_FLAG_CREATE
-#   define CSIDL_FLAG_CREATE          0x8000
-#endif
-
-/* Use explicit struct definition because wSuiteMask and
- * wProductType are not defined in the VC++ 6.0 headers.
- * WORD type has been replaced by unsigned short because
- * WORD is already used by Perl itself.
- */
-struct {
-    DWORD dwOSVersionInfoSize;
-    DWORD dwMajorVersion;
-    DWORD dwMinorVersion;
-    DWORD dwBuildNumber;
-    DWORD dwPlatformId;
-    CHAR  szCSDVersion[128];
-    unsigned short wServicePackMajor;
-    unsigned short wServicePackMinor;
-    unsigned short wSuiteMask;
-    BYTE  wProductType;
-    BYTE  wReserved;
-}   g_osver = {0, 0, 0, 0, 0, "", 0, 0, 0, 0, 0};
-BOOL g_osver_ex = TRUE;
-
-#define ONE_K_BUFSIZE	1024
-
-int
-IsWin95(void)
-{
-    return (g_osver.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS);
-}
-
-int
-IsWinNT(void)
-{
-    return (g_osver.dwPlatformId == VER_PLATFORM_WIN32_NT);
-}
-
-int
-IsWin2000(void)
-{
-    return (g_osver.dwMajorVersion > 4);
-}
-
-/* Convert SV to wide character string.  The return value must be
- * freed using Safefree().
- */
-WCHAR*
-sv_to_wstr(pTHX_ SV *sv)
-{
-    DWORD wlen;
-    WCHAR *wstr;
-    STRLEN len;
-    char *str = SvPV(sv, len);
-    UINT cp = SvUTF8(sv) ? CP_UTF8 : CP_ACP;
-
-    wlen = MultiByteToWideChar(cp, 0, str, (int)(len+1), NULL, 0);
-    New(0, wstr, wlen, WCHAR);
-    MultiByteToWideChar(cp, 0, str, (int)(len+1), wstr, wlen);
-
-    return wstr;
-}
-
-/* Convert wide character string to mortal SV.  Use UTF8 encoding
- * if the string cannot be represented in the system codepage.
- */
-SV *
-wstr_to_sv(pTHX_ WCHAR *wstr)
-{
-    int wlen = (int)wcslen(wstr)+1;
-    BOOL use_default = FALSE;
-    int len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, wstr, wlen, NULL, 0, NULL, NULL);
-    SV *sv = sv_2mortal(newSV(len));
-
-    len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, wstr, wlen, SvPVX(sv), len, NULL, &use_default);
-    if (use_default) {
-        len = WideCharToMultiByte(CP_UTF8, 0, wstr, wlen, NULL, 0, NULL, NULL);
-        sv_grow(sv, len);
-        len = WideCharToMultiByte(CP_UTF8, 0, wstr, wlen, SvPVX(sv), len, NULL, NULL);
-        SvUTF8_on(sv);
-    }
-    /* Shouldn't really ever fail since we ask for the required length first, but who knows... */
-    if (len) {
-        SvPOK_on(sv);
-        SvCUR_set(sv, len-1);
-    }
-    return sv;
-}
-
-/* Retrieve a variable from the Unicode environment in a mortal SV.
- *
- * Recreates the Unicode environment because a bug in earlier Perl versions
- * overwrites it with the ANSI version, which contains replacement
- * characters for the characters not in the ANSI codepage.
- */
-SV*
-get_unicode_env(pTHX_ WCHAR *name)
-{
-    SV *sv = NULL;
-    void *env;
-    HANDLE token;
-    HMODULE module;
-    PFNOpenProcessToken pfnOpenProcessToken;
-
-    /* Get security token for the current process owner */
-    module = LoadLibrary("advapi32.dll");
-    if (!module)
-        return NULL;
-
-    GETPROC(OpenProcessToken);
-
-    if (pfnOpenProcessToken == NULL ||
-        !pfnOpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_DUPLICATE, &token))
-    {
-        FreeLibrary(module);
-        return NULL;
-    }
-    FreeLibrary(module);
-
-    /* Create a Unicode environment block for this process */
-    module = LoadLibrary("userenv.dll");
-    if (module) {
-        PFNCreateEnvironmentBlock pfnCreateEnvironmentBlock;
-        PFNDestroyEnvironmentBlock pfnDestroyEnvironmentBlock;
-
-        GETPROC(CreateEnvironmentBlock);
-        GETPROC(DestroyEnvironmentBlock);
-
-        if (pfnCreateEnvironmentBlock && pfnDestroyEnvironmentBlock &&
-            pfnCreateEnvironmentBlock(&env, token, FALSE))
-        {
-            size_t name_len = wcslen(name);
-            WCHAR *entry = env;
-            while (*entry) {
-                size_t i;
-                size_t entry_len = wcslen(entry);
-                BOOL equal = (entry_len > name_len) && (entry[name_len] == '=');
-
-                for (i=0; equal && i < name_len; ++i)
-                    equal = (towupper(entry[i]) == towupper(name[i]));
-
-                if (equal) {
-                    sv = wstr_to_sv(aTHX_ entry+name_len+1);
-                    break;
-                }
-                entry += entry_len+1;
-            }
-            pfnDestroyEnvironmentBlock(env);
-        }
-        FreeLibrary(module);
-    }
-    CloseHandle(token);
-    return sv;
-}
-
-/* Define both an ANSI and a Wide version of win32_longpath */
-
-#define CHAR_T            char
-#define WIN32_FIND_DATA_T WIN32_FIND_DATAA
-#define FN_FINDFIRSTFILE  FindFirstFileA
-#define FN_STRLEN         strlen
-#define FN_STRCPY         strcpy
-#define LONGPATH          my_longpathA
-#include "longpath.inc"
-
-#define CHAR_T            WCHAR
-#define WIN32_FIND_DATA_T WIN32_FIND_DATAW
-#define FN_FINDFIRSTFILE  FindFirstFileW
-#define FN_STRLEN         wcslen
-#define FN_STRCPY         wcscpy
-#define LONGPATH          my_longpathW
-#include "longpath.inc"
-
-/* The my_ansipath() function takes a Unicode filename and converts it
- * into the current Windows codepage. If some characters cannot be mapped,
- * then it will convert the short name instead.
- *
- * The buffer to the ansi pathname must be freed with Safefree() when it
- * it no longer needed.
- *
- * The argument to my_ansipath() must exist before this function is
- * called; otherwise there is no way to determine the short path name.
- *
- * Ideas for future refinement:
- * - Only convert those segments of the path that are not in the current
- *   codepage, but leave the other segments in their long form.
- * - If the resulting name is longer than MAX_PATH, start converting
- *   additional path segments into short names until the full name
- *   is shorter than MAX_PATH.  Shorten the filename part last!
- */
-
-/* This is a modified version of core Perl win32/win32.c(win32_ansipath).
- * It uses New() etc. instead of win32_malloc().
- */
-
-char *
-my_ansipath(const WCHAR *widename)
-{
-    char *name;
-    BOOL use_default = FALSE;
-    int widelen = (int)wcslen(widename)+1;
-    int len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
-                                  NULL, 0, NULL, NULL);
-    New(0, name, len, char);
-    WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
-                        name, len, NULL, &use_default);
-    if (use_default) {
-        DWORD shortlen = GetShortPathNameW(widename, NULL, 0);
-        if (shortlen) {
-            WCHAR *shortname;
-            New(0, shortname, shortlen, WCHAR);
-            shortlen = GetShortPathNameW(widename, shortname, shortlen)+1;
-
-            len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, shortname, shortlen,
-                                      NULL, 0, NULL, NULL);
-            Renew(name, len, char);
-            WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, shortname, shortlen,
-                                name, len, NULL, NULL);
-            Safefree(shortname);
-        }
-    }
-    return name;
-}
-
-/* Convert wide character path to ANSI path and return as mortal SV. */
-SV*
-wstr_to_ansipath(pTHX_ WCHAR *wstr)
-{
-    char *ansi = my_ansipath(wstr);
-    SV *sv = sv_2mortal(newSVpvn(ansi, strlen(ansi)));
-    Safefree(ansi);
-    return sv;
-}
-
-#ifdef __CYGWIN__
-
-char*
-get_childdir(void)
-{
-    dTHX;
-    char* ptr;
-
-    if (IsWin2000()) {
-        WCHAR filename[MAX_PATH+1];
-        GetCurrentDirectoryW(MAX_PATH+1, filename);
-        ptr = my_ansipath(filename);
-    }
-    else {
-        char filename[MAX_PATH+1];
-        GetCurrentDirectoryA(MAX_PATH+1, filename);
-        New(0, ptr, strlen(filename)+1, char);
-        strcpy(ptr, filename);
-    }
-    return ptr;
-}
-
-void
-free_childdir(char *d)
-{
-    dTHX;
-    Safefree(d);
-}
-
-void*
-get_childenv(void)
-{
-    return NULL;
-}
-
-void
-free_childenv(void *d)
-{
-}
-
-#  define PerlDir_mapA(dir) (dir)
-
-#endif
-
-XS(w32_ExpandEnvironmentStrings)
-{
-    dXSARGS;
-
-    if (items != 1)
-	croak("usage: Win32::ExpandEnvironmentStrings($String);\n");
-
-    if (IsWin2000()) {
-        WCHAR value[31*1024];
-        WCHAR *source = sv_to_wstr(aTHX_ ST(0));
-        ExpandEnvironmentStringsW(source, value, countof(value)-1);
-        ST(0) = wstr_to_sv(aTHX_ value);
-        Safefree(source);
-        XSRETURN(1);
-    }
-    else {
-        char value[31*1024];
-        ExpandEnvironmentStringsA(SvPV_nolen(ST(0)), value, countof(value)-2);
-        XSRETURN_PV(value);
-    }
-}
-
-XS(w32_IsAdminUser)
-{
-    dXSARGS;
-    HMODULE                     module;
-    PFNIsUserAnAdmin            pfnIsUserAnAdmin;
-    PFNOpenThreadToken          pfnOpenThreadToken;
-    PFNOpenProcessToken         pfnOpenProcessToken;
-    PFNGetTokenInformation      pfnGetTokenInformation;
-    PFNAllocateAndInitializeSid pfnAllocateAndInitializeSid;
-    PFNEqualSid                 pfnEqualSid;
-    PFNFreeSid                  pfnFreeSid;
-    HANDLE                      hTok;
-    DWORD                       dwTokInfoLen;
-    TOKEN_GROUPS                *lpTokInfo;
-    SID_IDENTIFIER_AUTHORITY    NtAuth = SECURITY_NT_AUTHORITY;
-    PSID                        pAdminSid;
-    int                         iRetVal;
-    unsigned int                i;
-
-    if (items)
-        croak("usage: Win32::IsAdminUser()");
-
-    /* There is no concept of "Administrator" user accounts on Win9x systems,
-       so just return true. */
-    if (IsWin95())
-        XSRETURN_YES;
-
-    /* Use IsUserAnAdmin() when available.  On Vista this will only return TRUE
-     * if the process is running with elevated privileges and not just when the
-     * process owner is a member of the "Administrators" group.
-     */
-    module = LoadLibrary("shell32.dll");
-    if (module) {
-        GETPROC(IsUserAnAdmin);
-        if (pfnIsUserAnAdmin) {
-            EXTEND(SP, 1);
-            ST(0) = sv_2mortal(newSViv(pfnIsUserAnAdmin() ? 1 : 0));
-            FreeLibrary(module);
-            XSRETURN(1);
-        }
-        FreeLibrary(module);
-    }
-
-    module = LoadLibrary("advapi32.dll");
-    if (!module) {
-        warn("Cannot load advapi32.dll library");
-        XSRETURN_UNDEF;
-    }
-
-    GETPROC(OpenThreadToken);
-    GETPROC(OpenProcessToken);
-    GETPROC(GetTokenInformation);
-    GETPROC(AllocateAndInitializeSid);
-    GETPROC(EqualSid);
-    GETPROC(FreeSid);
-
-    if (!(pfnOpenThreadToken && pfnOpenProcessToken &&
-          pfnGetTokenInformation && pfnAllocateAndInitializeSid &&
-          pfnEqualSid && pfnFreeSid))
-    {
-        warn("Cannot load functions from advapi32.dll library");
-        FreeLibrary(module);
-        XSRETURN_UNDEF;
-    }
-
-    if (!pfnOpenThreadToken(GetCurrentThread(), TOKEN_QUERY, FALSE, &hTok)) {
-        if (!pfnOpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hTok)) {
-            warn("Cannot open thread token or process token");
-            FreeLibrary(module);
-            XSRETURN_UNDEF;
-        }
-    }
-
-    pfnGetTokenInformation(hTok, TokenGroups, NULL, 0, &dwTokInfoLen);
-    if (!New(1, lpTokInfo, dwTokInfoLen, TOKEN_GROUPS)) {
-        warn("Cannot allocate token information structure");
-        CloseHandle(hTok);
-        FreeLibrary(module);
-        XSRETURN_UNDEF;
-    }
-
-    if (!pfnGetTokenInformation(hTok, TokenGroups, lpTokInfo, dwTokInfoLen,
-            &dwTokInfoLen))
-    {
-        warn("Cannot get token information");
-        Safefree(lpTokInfo);
-        CloseHandle(hTok);
-        FreeLibrary(module);
-        XSRETURN_UNDEF;
-    }
-
-    if (!pfnAllocateAndInitializeSid(&NtAuth, 2, SECURITY_BUILTIN_DOMAIN_RID,
-            DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &pAdminSid))
-    {
-        warn("Cannot allocate administrators' SID");
-        Safefree(lpTokInfo);
-        CloseHandle(hTok);
-        FreeLibrary(module);
-        XSRETURN_UNDEF;
-    }
-
-    iRetVal = 0;
-    for (i = 0; i < lpTokInfo->GroupCount; ++i) {
-        if (pfnEqualSid(lpTokInfo->Groups[i].Sid, pAdminSid)) {
-            iRetVal = 1;
-            break;
-        }
-    }
-
-    pfnFreeSid(pAdminSid);
-    Safefree(lpTokInfo);
-    CloseHandle(hTok);
-    FreeLibrary(module);
-
-    EXTEND(SP, 1);
-    ST(0) = sv_2mortal(newSViv(iRetVal));
-    XSRETURN(1);
-}
-
-XS(w32_LookupAccountName)
-{
-    dXSARGS;
-    char SID[400];
-    DWORD SIDLen;
-    SID_NAME_USE snu;
-    char Domain[256];
-    DWORD DomLen;
-    BOOL bResult;
-
-    if (items != 5)
-	croak("usage: Win32::LookupAccountName($system, $account, $domain, "
-	      "$sid, $sidtype);\n");
-
-    SIDLen = sizeof(SID);
-    DomLen = sizeof(Domain);
-
-    bResult = LookupAccountNameA(SvPV_nolen(ST(0)),	/* System */
-                                 SvPV_nolen(ST(1)),	/* Account name */
-                                 &SID,			/* SID structure */
-                                 &SIDLen,		/* Size of SID buffer */
-                                 Domain,		/* Domain buffer */
-                                 &DomLen,		/* Domain buffer size */
-                                 &snu);			/* SID name type */
-    if (bResult) {
-	sv_setpv(ST(2), Domain);
-	sv_setpvn(ST(3), SID, SIDLen);
-	sv_setiv(ST(4), snu);
-	XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-
-XS(w32_LookupAccountSID)
-{
-    dXSARGS;
-    PSID sid;
-    char Account[256];
-    DWORD AcctLen = sizeof(Account);
-    char Domain[256];
-    DWORD DomLen = sizeof(Domain);
-    SID_NAME_USE snu;
-    BOOL bResult;
-
-    if (items != 5)
-	croak("usage: Win32::LookupAccountSID($system, $sid, $account, $domain, $sidtype);\n");
-
-    sid = SvPV_nolen(ST(1));
-    if (IsValidSid(sid)) {
-        bResult = LookupAccountSidA(SvPV_nolen(ST(0)),	/* System */
-                                    sid,		/* SID structure */
-                                    Account,		/* Account name buffer */
-                                    &AcctLen,		/* name buffer length */
-                                    Domain,		/* Domain buffer */
-                                    &DomLen,		/* Domain buffer length */
-                                    &snu);		/* SID name type */
-	if (bResult) {
-	    sv_setpv(ST(2), Account);
-	    sv_setpv(ST(3), Domain);
-	    sv_setiv(ST(4), (IV)snu);
-	    XSRETURN_YES;
-	}
-    }
-    XSRETURN_NO;
-}
-
-XS(w32_InitiateSystemShutdown)
-{
-    dXSARGS;
-    HANDLE hToken;              /* handle to process token   */
-    TOKEN_PRIVILEGES tkp;       /* pointer to token structure  */
-    BOOL bRet;
-    char *machineName, *message;
-
-    if (items != 5)
-	croak("usage: Win32::InitiateSystemShutdown($machineName, $message, "
-	      "$timeOut, $forceClose, $reboot);\n");
-
-    machineName = SvPV_nolen(ST(0));
-
-    if (OpenProcessToken(GetCurrentProcess(),
-			 TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
-			 &hToken))
-    {
-        LookupPrivilegeValueA(machineName,
-                              SE_SHUTDOWN_NAMEA,
-                              &tkp.Privileges[0].Luid);
-
-	tkp.PrivilegeCount = 1; /* only setting one */
-	tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
-
-	/* Get shutdown privilege for this process. */
-	AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
-			      (PTOKEN_PRIVILEGES)NULL, 0);
-    }
-
-    message = SvPV_nolen(ST(1));
-    bRet = InitiateSystemShutdownA(machineName, message, (DWORD)SvIV(ST(2)),
-                                   (BOOL)SvIV(ST(3)), (BOOL)SvIV(ST(4)));
-
-    /* Disable shutdown privilege. */
-    tkp.Privileges[0].Attributes = 0; 
-    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
-			  (PTOKEN_PRIVILEGES)NULL, 0); 
-    CloseHandle(hToken);
-    XSRETURN_IV(bRet);
-}
-
-XS(w32_AbortSystemShutdown)
-{
-    dXSARGS;
-    HANDLE hToken;              /* handle to process token   */
-    TOKEN_PRIVILEGES tkp;       /* pointer to token structure  */
-    BOOL bRet;
-    char *machineName;
-
-    if (items != 1)
-	croak("usage: Win32::AbortSystemShutdown($machineName);\n");
-
-    machineName = SvPV_nolen(ST(0));
-
-    if (OpenProcessToken(GetCurrentProcess(),
-			 TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
-			 &hToken))
-    {
-        LookupPrivilegeValueA(machineName,
-                              SE_SHUTDOWN_NAMEA,
-                              &tkp.Privileges[0].Luid);
-
-	tkp.PrivilegeCount = 1; /* only setting one */
-	tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
-
-	/* Get shutdown privilege for this process. */
-	AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
-			      (PTOKEN_PRIVILEGES)NULL, 0);
-    }
-
-    bRet = AbortSystemShutdownA(machineName);
-
-    /* Disable shutdown privilege. */
-    tkp.Privileges[0].Attributes = 0;
-    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
-			  (PTOKEN_PRIVILEGES)NULL, 0);
-    CloseHandle(hToken);
-    XSRETURN_IV(bRet);
-}
-
-
-XS(w32_MsgBox)
-{
-    dXSARGS;
-    DWORD flags = MB_ICONEXCLAMATION;
-    I32 result;
-
-    if (items < 1 || items > 3)
-	croak("usage: Win32::MsgBox($message [, $flags [, $title]]);\n");
-
-    if (items > 1)
-        flags = (DWORD)SvIV(ST(1));
-
-    if (IsWin2000()) {
-        WCHAR *title = NULL;
-        WCHAR *msg = sv_to_wstr(aTHX_ ST(0));
-        if (items > 2)
-            title = sv_to_wstr(aTHX_ ST(2));
-        result = MessageBoxW(GetActiveWindow(), msg, title ? title : L"Perl", flags);
-        Safefree(msg);
-        if (title)
-            Safefree(title);
-    }
-    else {
-        char *title = "Perl";
-        char *msg = SvPV_nolen(ST(0));
-        if (items > 2)
-            title = SvPV_nolen(ST(2));
-        result = MessageBoxA(GetActiveWindow(), msg, title, flags);
-    }
-    XSRETURN_IV(result);
-}
-
-XS(w32_LoadLibrary)
-{
-    dXSARGS;
-    HANDLE hHandle;
-
-    if (items != 1)
-	croak("usage: Win32::LoadLibrary($libname)\n");
-    hHandle = LoadLibraryA(SvPV_nolen(ST(0)));
-#ifdef _WIN64
-    XSRETURN_IV((DWORD_PTR)hHandle);
-#else
-    XSRETURN_IV((DWORD)hHandle);
-#endif
-}
-
-XS(w32_FreeLibrary)
-{
-    dXSARGS;
-
-    if (items != 1)
-	croak("usage: Win32::FreeLibrary($handle)\n");
-    if (FreeLibrary(INT2PTR(HINSTANCE, SvIV(ST(0))))) {
-	XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-XS(w32_GetProcAddress)
-{
-    dXSARGS;
-
-    if (items != 2)
-	croak("usage: Win32::GetProcAddress($hinstance, $procname)\n");
-    XSRETURN_IV(PTR2IV(GetProcAddress(INT2PTR(HINSTANCE, SvIV(ST(0))), SvPV_nolen(ST(1)))));
-}
-
-XS(w32_RegisterServer)
-{
-    dXSARGS;
-    BOOL result = FALSE;
-    HMODULE module;
-
-    if (items != 1)
-	croak("usage: Win32::RegisterServer($libname)\n");
-
-    module = LoadLibraryA(SvPV_nolen(ST(0)));
-    if (module) {
-	PFNDllRegisterServer pfnDllRegisterServer;
-        GETPROC(DllRegisterServer);
-	if (pfnDllRegisterServer && pfnDllRegisterServer() == 0)
-	    result = TRUE;
-	FreeLibrary(module);
-    }
-    ST(0) = boolSV(result);
-    XSRETURN(1);
-}
-
-XS(w32_UnregisterServer)
-{
-    dXSARGS;
-    BOOL result = FALSE;
-    HINSTANCE module;
-
-    if (items != 1)
-	croak("usage: Win32::UnregisterServer($libname)\n");
-
-    module = LoadLibraryA(SvPV_nolen(ST(0)));
-    if (module) {
-	PFNDllUnregisterServer pfnDllUnregisterServer;
-        GETPROC(DllUnregisterServer);
-	if (pfnDllUnregisterServer && pfnDllUnregisterServer() == 0)
-	    result = TRUE;
-	FreeLibrary(module);
-    }
-    ST(0) = boolSV(result);
-    XSRETURN(1);
-}
-
-/* XXX rather bogus */
-XS(w32_GetArchName)
-{
-    dXSARGS;
-    XSRETURN_PV(getenv("PROCESSOR_ARCHITECTURE"));
-}
-
-XS(w32_GetChipName)
-{
-    dXSARGS;
-    SYSTEM_INFO sysinfo;
-    HMODULE module;
-    PFNGetNativeSystemInfo pfnGetNativeSystemInfo;
-
-    Zero(&sysinfo,1,SYSTEM_INFO);
-    module = GetModuleHandle("kernel32.dll");
-    GETPROC(GetNativeSystemInfo);
-    if (pfnGetNativeSystemInfo)
-        pfnGetNativeSystemInfo(&sysinfo);
-    else
-        GetSystemInfo(&sysinfo);
-
-    /* XXX docs say dwProcessorType is deprecated on NT */
-    XSRETURN_IV(sysinfo.dwProcessorType);
-}
-
-XS(w32_GuidGen)
-{
-    dXSARGS;
-    GUID guid;
-    char szGUID[50] = {'\0'};
-    HRESULT  hr     = CoCreateGuid(&guid);
-
-    if (SUCCEEDED(hr)) {
-	LPOLESTR pStr = NULL;
-	if (SUCCEEDED(StringFromCLSID(&guid, &pStr))) {
-            WideCharToMultiByte(CP_ACP, 0, pStr, (int)wcslen(pStr), szGUID,
-                                sizeof(szGUID), NULL, NULL);
-            CoTaskMemFree(pStr);
-            XSRETURN_PV(szGUID);
-        }
-    }
-    XSRETURN_UNDEF;
-}
-
-XS(w32_GetFolderPath)
-{
-    dXSARGS;
-    char path[MAX_PATH+1];
-    WCHAR wpath[MAX_PATH+1];
-    int folder;
-    int create = 0;
-    HMODULE module;
-
-    if (items != 1 && items != 2)
-	croak("usage: Win32::GetFolderPath($csidl [, $create])\n");
-
-    folder = (int)SvIV(ST(0));
-    if (items == 2)
-        create = SvTRUE(ST(1)) ? CSIDL_FLAG_CREATE : 0;
-
-    module = LoadLibrary("shfolder.dll");
-    if (module) {
-        PFNSHGetFolderPathA pfna;
-        if (IsWin2000()) {
-            PFNSHGetFolderPathW pfnw;
-            pfnw = (PFNSHGetFolderPathW)GetProcAddress(module, "SHGetFolderPathW");
-            if (pfnw && SUCCEEDED(pfnw(NULL, folder|create, NULL, 0, wpath))) {
-                FreeLibrary(module);
-                ST(0) = wstr_to_ansipath(aTHX_ wpath);
-                XSRETURN(1);
-            }
-        }
-        pfna = (PFNSHGetFolderPathA)GetProcAddress(module, "SHGetFolderPathA");
-        if (pfna && SUCCEEDED(pfna(NULL, folder|create, NULL, 0, path))) {
-            FreeLibrary(module);
-            XSRETURN_PV(path);
-        }
-        FreeLibrary(module);
-    }
-
-    module = LoadLibrary("shell32.dll");
-    if (module) {
-        PFNSHGetSpecialFolderPathA pfna;
-        if (IsWin2000()) {
-            PFNSHGetSpecialFolderPathW pfnw;
-            pfnw = (PFNSHGetSpecialFolderPathW)GetProcAddress(module, "SHGetSpecialFolderPathW");
-            if (pfnw && pfnw(NULL, wpath, folder, !!create)) {
-                FreeLibrary(module);
-                ST(0) = wstr_to_ansipath(aTHX_ wpath);
-                XSRETURN(1);
-            }
-        }
-        pfna = (PFNSHGetSpecialFolderPathA)GetProcAddress(module, "SHGetSpecialFolderPathA");
-        if (pfna && pfna(NULL, path, folder, !!create)) {
-            FreeLibrary(module);
-            XSRETURN_PV(path);
-        }
-        FreeLibrary(module);
-    }
-
-    /* SHGetFolderPathW() and SHGetSpecialFolderPathW() may fail on older
-     * Perl versions that have replaced the Unicode environment with an
-     * ANSI version.  Let's go spelunking in the registry now...
-     */
-    if (IsWin2000()) {
-        SV *sv;
-        HKEY hkey;
-        HKEY root = HKEY_CURRENT_USER;
-        WCHAR *name = NULL;
-
-        switch (folder) {
-        case CSIDL_ADMINTOOLS:                  name = L"Administrative Tools";        break;
-        case CSIDL_APPDATA:                     name = L"AppData";                     break;
-        case CSIDL_CDBURN_AREA:                 name = L"CD Burning";                  break;
-        case CSIDL_COOKIES:                     name = L"Cookies";                     break;
-        case CSIDL_DESKTOP:
-        case CSIDL_DESKTOPDIRECTORY:            name = L"Desktop";                     break;
-        case CSIDL_FAVORITES:                   name = L"Favorites";                   break;
-        case CSIDL_FONTS:                       name = L"Fonts";                       break;
-        case CSIDL_HISTORY:                     name = L"History";                     break;
-        case CSIDL_INTERNET_CACHE:              name = L"Cache";                       break;
-        case CSIDL_LOCAL_APPDATA:               name = L"Local AppData";               break;
-        case CSIDL_MYMUSIC:                     name = L"My Music";                    break;
-        case CSIDL_MYPICTURES:                  name = L"My Pictures";                 break;
-        case CSIDL_MYVIDEO:                     name = L"My Video";                    break;
-        case CSIDL_NETHOOD:                     name = L"NetHood";                     break;
-        case CSIDL_PERSONAL:                    name = L"Personal";                    break;
-        case CSIDL_PRINTHOOD:                   name = L"PrintHood";                   break;
-        case CSIDL_PROGRAMS:                    name = L"Programs";                    break;
-        case CSIDL_RECENT:                      name = L"Recent";                      break;
-        case CSIDL_SENDTO:                      name = L"SendTo";                      break;
-        case CSIDL_STARTMENU:                   name = L"Start Menu";                  break;
-        case CSIDL_STARTUP:                     name = L"Startup";                     break;
-        case CSIDL_TEMPLATES:                   name = L"Templates";                   break;
-            /* XXX L"Local Settings" */
-        }
-
-        if (!name) {
-            root = HKEY_LOCAL_MACHINE;
-            switch (folder) {
-            case CSIDL_COMMON_ADMINTOOLS:       name = L"Common Administrative Tools"; break;
-            case CSIDL_COMMON_APPDATA:          name = L"Common AppData";              break;
-            case CSIDL_COMMON_DESKTOPDIRECTORY: name = L"Common Desktop";              break;
-            case CSIDL_COMMON_DOCUMENTS:        name = L"Common Documents";            break;
-            case CSIDL_COMMON_FAVORITES:        name = L"Common Favorites";            break;
-            case CSIDL_COMMON_PROGRAMS:         name = L"Common Programs";             break;
-            case CSIDL_COMMON_STARTMENU:        name = L"Common Start Menu";           break;
-            case CSIDL_COMMON_STARTUP:          name = L"Common Startup";              break;
-            case CSIDL_COMMON_TEMPLATES:        name = L"Common Templates";            break;
-            case CSIDL_COMMON_MUSIC:            name = L"CommonMusic";                 break;
-            case CSIDL_COMMON_PICTURES:         name = L"CommonPictures";              break;
-            case CSIDL_COMMON_VIDEO:            name = L"CommonVideo";                 break;
-            }
-        }
-        /* XXX todo
-         * case CSIDL_SYSTEM               # GetSystemDirectory()
-         * case CSIDL_RESOURCES            # %windir%\Resources\, For theme and other windows resources.
-         * case CSIDL_RESOURCES_LOCALIZED  # %windir%\Resources\<LangID>, for theme and other windows specific resources.
-         */
-
-#define SHELL_FOLDERS "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders"
-
-        if (name && RegOpenKeyEx(root, SHELL_FOLDERS, 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS) {
-            WCHAR data[MAX_PATH+1];
-            DWORD cb = sizeof(data)-sizeof(WCHAR);
-            DWORD type = REG_NONE;
-            long rc = RegQueryValueExW(hkey, name, NULL, &type, (BYTE*)&data, &cb);
-            RegCloseKey(hkey);
-            if (rc == ERROR_SUCCESS && type == REG_SZ && cb > sizeof(WCHAR) && data[0]) {
-                /* Make sure the string is properly terminated */
-                data[cb/sizeof(WCHAR)] = '\0';
-                ST(0) = wstr_to_ansipath(aTHX_ data);
-                XSRETURN(1);
-            }
-        }
-
-#undef SHELL_FOLDERS
-
-        /* Unders some circumstances the registry entries seem to have a null string
-         * as their value even when the directory already exists.  The environment
-         * variables do get set though, so try re-create a Unicode environment and
-         * check if they are there.
-         */
-        sv = NULL;
-        switch (folder) {
-        case CSIDL_APPDATA:              sv = get_unicode_env(aTHX_ L"APPDATA");            break;
-        case CSIDL_PROFILE:              sv = get_unicode_env(aTHX_ L"USERPROFILE");        break;
-        case CSIDL_PROGRAM_FILES:        sv = get_unicode_env(aTHX_ L"ProgramFiles");       break;
-        case CSIDL_PROGRAM_FILES_COMMON: sv = get_unicode_env(aTHX_ L"CommonProgramFiles"); break;
-        case CSIDL_WINDOWS:              sv = get_unicode_env(aTHX_ L"SystemRoot");         break;
-        }
-        if (sv) {
-            ST(0) = sv;
-            XSRETURN(1);
-        }
-    }
-
-    XSRETURN_UNDEF;
-}
-
-XS(w32_GetFileVersion)
-{
-    dXSARGS;
-    DWORD size;
-    DWORD handle;
-    char *filename;
-    char *data;
-
-    if (items != 1)
-	croak("usage: Win32::GetFileVersion($filename)\n");
-
-    filename = SvPV_nolen(ST(0));
-    size = GetFileVersionInfoSize(filename, &handle);
-    if (!size)
-        XSRETURN_UNDEF;
-
-    New(0, data, size, char);
-    if (!data)
-        XSRETURN_UNDEF;
-
-    if (GetFileVersionInfo(filename, handle, size, data)) {
-        VS_FIXEDFILEINFO *info;
-        UINT len;
-        if (VerQueryValue(data, "\\", (void**)&info, &len)) {
-            int dwValueMS1 = (info->dwFileVersionMS>>16);
-            int dwValueMS2 = (info->dwFileVersionMS&0xffff);
-            int dwValueLS1 = (info->dwFileVersionLS>>16);
-            int dwValueLS2 = (info->dwFileVersionLS&0xffff);
-
-            if (GIMME_V == G_ARRAY) {
-                EXTEND(SP, 4);
-                XST_mIV(0, dwValueMS1);
-                XST_mIV(1, dwValueMS2);
-                XST_mIV(2, dwValueLS1);
-                XST_mIV(3, dwValueLS2);
-                items = 4;
-            }
-            else {
-                char version[50];
-                sprintf(version, "%d.%d.%d.%d", dwValueMS1, dwValueMS2, dwValueLS1, dwValueLS2);
-                XST_mPV(0, version);
-            }
-        }
-    }
-    else
-        items = 0;
-
-    Safefree(data);
-    XSRETURN(items);
-}
-
-#ifdef __CYGWIN__
-XS(w32_SetChildShowWindow)
-{
-    /* This function doesn't do anything useful for cygwin.  In the
-     * MSWin32 case it modifies w32_showwindow, which is used by
-     * win32_spawnvp().  Since w32_showwindow is an internal variable
-     * inside the thread_intern structure, the MSWin32 implementation
-     * lives in win32/win32.c in the core Perl distribution.
-     */
-    dXSARGS;
-    XSRETURN_UNDEF;
-}
-#endif
-
-XS(w32_GetCwd)
-{
-    dXSARGS;
-    /* Make the host for current directory */
-    char* ptr = PerlEnv_get_childdir();
-    /*
-     * If ptr != Nullch
-     *   then it worked, set PV valid,
-     *   else return 'undef'
-     */
-    if (ptr) {
-	SV *sv = sv_newmortal();
-	sv_setpv(sv, ptr);
-	PerlEnv_free_childdir(ptr);
-
-#ifndef INCOMPLETE_TAINTS
-	SvTAINTED_on(sv);
-#endif
-
-	EXTEND(SP,1);
-	ST(0) = sv;
-	XSRETURN(1);
-    }
-    XSRETURN_UNDEF;
-}
-
-XS(w32_SetCwd)
-{
-    dXSARGS;
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::SetCwd($cwd)");
-
-    if (IsWin2000() && SvUTF8(ST(0))) {
-        WCHAR *wide = sv_to_wstr(aTHX_ ST(0));
-        char *ansi = my_ansipath(wide);
-        int rc = PerlDir_chdir(ansi);
-        Safefree(wide);
-        Safefree(ansi);
-        if (!rc)
-            XSRETURN_YES;
-    }
-    else {
-        if (!PerlDir_chdir(SvPV_nolen(ST(0))))
-            XSRETURN_YES;
-    }
-
-    XSRETURN_NO;
-}
-
-XS(w32_GetNextAvailDrive)
-{
-    dXSARGS;
-    char ix = 'C';
-    char root[] = "_:\\";
-
-    EXTEND(SP,1);
-    while (ix <= 'Z') {
-	root[0] = ix++;
-	if (GetDriveType(root) == 1) {
-	    root[2] = '\0';
-	    XSRETURN_PV(root);
-	}
-    }
-    XSRETURN_UNDEF;
-}
-
-XS(w32_GetLastError)
-{
-    dXSARGS;
-    EXTEND(SP,1);
-    XSRETURN_IV(GetLastError());
-}
-
-XS(w32_SetLastError)
-{
-    dXSARGS;
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::SetLastError($error)");
-    SetLastError((DWORD)SvIV(ST(0)));
-    XSRETURN_EMPTY;
-}
-
-XS(w32_LoginName)
-{
-    dXSARGS;
-    EXTEND(SP,1);
-    if (IsWin2000()) {
-        WCHAR name[128];
-        DWORD size = countof(name);
-        if (GetUserNameW(name, &size)) {
-            ST(0) = wstr_to_sv(aTHX_ name);
-            XSRETURN(1);
-        }
-    }
-    else {
-        char name[128];
-        DWORD size = countof(name);
-        if (GetUserNameA(name, &size)) {
-            /* size includes NULL */
-            ST(0) = sv_2mortal(newSVpvn(name, size-1));
-            XSRETURN(1);
-        }
-    }
-    XSRETURN_UNDEF;
-}
-
-XS(w32_NodeName)
-{
-    dXSARGS;
-    char name[MAX_COMPUTERNAME_LENGTH+1];
-    DWORD size = sizeof(name);
-    EXTEND(SP,1);
-    if (GetComputerName(name,&size)) {
-	/* size does NOT include NULL :-( */
-	ST(0) = sv_2mortal(newSVpvn(name,size));
-	XSRETURN(1);
-    }
-    XSRETURN_UNDEF;
-}
-
-
-XS(w32_DomainName)
-{
-    dXSARGS;
-    HMODULE module = LoadLibrary("netapi32.dll");
-    PFNNetApiBufferFree pfnNetApiBufferFree;
-    PFNNetWkstaGetInfo pfnNetWkstaGetInfo;
-
-    if (module) {
-        GETPROC(NetApiBufferFree);
-        GETPROC(NetWkstaGetInfo);
-    }
-    EXTEND(SP,1);
-    if (module && pfnNetWkstaGetInfo && pfnNetApiBufferFree) {
-	/* this way is more reliable, in case user has a local account. */
-	char dname[256];
-	DWORD dnamelen = sizeof(dname);
-	struct {
-	    DWORD   wki100_platform_id;
-	    LPWSTR  wki100_computername;
-	    LPWSTR  wki100_langroup;
-	    DWORD   wki100_ver_major;
-	    DWORD   wki100_ver_minor;
-	} *pwi;
-	DWORD retval;
-	retval = pfnNetWkstaGetInfo(NULL, 100, &pwi);
-	/* NERR_Success *is* 0*/
-	if (retval == 0) {
-	    if (pwi->wki100_langroup && *(pwi->wki100_langroup)) {
-		WideCharToMultiByte(CP_ACP, 0, pwi->wki100_langroup,
-				    -1, (LPSTR)dname, dnamelen, NULL, NULL);
-	    }
-	    else {
-		WideCharToMultiByte(CP_ACP, 0, pwi->wki100_computername,
-				    -1, (LPSTR)dname, dnamelen, NULL, NULL);
-	    }
-	    pfnNetApiBufferFree(pwi);
-	    FreeLibrary(module);
-	    XSRETURN_PV(dname);
-	}
-	FreeLibrary(module);
-	SetLastError(retval);
-    }
-    else {
-	/* Win95 doesn't have NetWksta*(), so do it the old way */
-	char name[256];
-	DWORD size = sizeof(name);
-	if (module)
-	    FreeLibrary(module);
-	if (GetUserName(name,&size)) {
-	    char sid[ONE_K_BUFSIZE];
-	    DWORD sidlen = sizeof(sid);
-	    char dname[256];
-	    DWORD dnamelen = sizeof(dname);
-	    SID_NAME_USE snu;
-	    if (LookupAccountName(NULL, name, (PSID)&sid, &sidlen,
-				  dname, &dnamelen, &snu)) {
-		XSRETURN_PV(dname);		/* all that for this */
-	    }
-	}
-    }
-    XSRETURN_UNDEF;
-}
-
-XS(w32_FsType)
-{
-    dXSARGS;
-    char fsname[256];
-    DWORD flags, filecomplen;
-    if (GetVolumeInformation(NULL, NULL, 0, NULL, &filecomplen,
-			 &flags, fsname, sizeof(fsname))) {
-	if (GIMME_V == G_ARRAY) {
-	    XPUSHs(sv_2mortal(newSVpvn(fsname,strlen(fsname))));
-	    XPUSHs(sv_2mortal(newSViv(flags)));
-	    XPUSHs(sv_2mortal(newSViv(filecomplen)));
-	    PUTBACK;
-	    return;
-	}
-	EXTEND(SP,1);
-	XSRETURN_PV(fsname);
-    }
-    XSRETURN_EMPTY;
-}
-
-XS(w32_GetOSVersion)
-{
-    dXSARGS;
-
-    if (GIMME_V == G_SCALAR) {
-        XSRETURN_IV(g_osver.dwPlatformId);
-    }
-    XPUSHs(sv_2mortal(newSVpvn(g_osver.szCSDVersion, strlen(g_osver.szCSDVersion))));
-
-    XPUSHs(sv_2mortal(newSViv(g_osver.dwMajorVersion)));
-    XPUSHs(sv_2mortal(newSViv(g_osver.dwMinorVersion)));
-    XPUSHs(sv_2mortal(newSViv(g_osver.dwBuildNumber)));
-    XPUSHs(sv_2mortal(newSViv(g_osver.dwPlatformId)));
-    if (g_osver_ex) {
-        XPUSHs(sv_2mortal(newSViv(g_osver.wServicePackMajor)));
-        XPUSHs(sv_2mortal(newSViv(g_osver.wServicePackMinor)));
-        XPUSHs(sv_2mortal(newSViv(g_osver.wSuiteMask)));
-        XPUSHs(sv_2mortal(newSViv(g_osver.wProductType)));
-    }
-    PUTBACK;
-}
-
-XS(w32_IsWinNT)
-{
-    dXSARGS;
-    EXTEND(SP,1);
-    XSRETURN_IV(IsWinNT());
-}
-
-XS(w32_IsWin95)
-{
-    dXSARGS;
-    EXTEND(SP,1);
-    XSRETURN_IV(IsWin95());
-}
-
-XS(w32_FormatMessage)
-{
-    dXSARGS;
-    DWORD source = 0;
-    char msgbuf[ONE_K_BUFSIZE];
-
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::FormatMessage($errno)");
-
-    if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM,
-                       &source, (DWORD)SvIV(ST(0)), 0,
-                       msgbuf, sizeof(msgbuf)-1, NULL))
-    {
-        XSRETURN_PV(msgbuf);
-    }
-
-    XSRETURN_UNDEF;
-}
-
-XS(w32_Spawn)
-{
-    dXSARGS;
-    char *cmd, *args;
-    void *env;
-    char *dir;
-    PROCESS_INFORMATION stProcInfo;
-    STARTUPINFO stStartInfo;
-    BOOL bSuccess = FALSE;
-
-    if (items != 3)
-	Perl_croak(aTHX_ "usage: Win32::Spawn($cmdName, $args, $PID)");
-
-    cmd = SvPV_nolen(ST(0));
-    args = SvPV_nolen(ST(1));
-
-    env = PerlEnv_get_childenv();
-    dir = PerlEnv_get_childdir();
-
-    memset(&stStartInfo, 0, sizeof(stStartInfo));   /* Clear the block */
-    stStartInfo.cb = sizeof(stStartInfo);	    /* Set the structure size */
-    stStartInfo.dwFlags = STARTF_USESHOWWINDOW;	    /* Enable wShowWindow control */
-    stStartInfo.wShowWindow = SW_SHOWMINNOACTIVE;   /* Start min (normal) */
-
-    if (CreateProcess(
-		cmd,			/* Image path */
-		args,	 		/* Arguments for command line */
-		NULL,			/* Default process security */
-		NULL,			/* Default thread security */
-		FALSE,			/* Must be TRUE to use std handles */
-		NORMAL_PRIORITY_CLASS,	/* No special scheduling */
-		env,			/* Inherit our environment block */
-		dir,			/* Inherit our currrent directory */
-		&stStartInfo,		/* -> Startup info */
-		&stProcInfo))		/* <- Process info (if OK) */
-    {
-	int pid = (int)stProcInfo.dwProcessId;
-	if (IsWin95() && pid < 0)
-	    pid = -pid;
-	sv_setiv(ST(2), pid);
-	CloseHandle(stProcInfo.hThread);/* library source code does this. */
-	bSuccess = TRUE;
-    }
-    PerlEnv_free_childenv(env);
-    PerlEnv_free_childdir(dir);
-    XSRETURN_IV(bSuccess);
-}
-
-XS(w32_GetTickCount)
-{
-    dXSARGS;
-    DWORD msec = GetTickCount();
-    EXTEND(SP,1);
-    if ((IV)msec > 0)
-	XSRETURN_IV(msec);
-    XSRETURN_NV(msec);
-}
-
-XS(w32_GetShortPathName)
-{
-    dXSARGS;
-    SV *shortpath;
-    DWORD len;
-
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::GetShortPathName($longPathName)");
-
-    if (IsWin2000()) {
-        WCHAR wshort[MAX_PATH+1];
-        WCHAR *wlong = sv_to_wstr(aTHX_ ST(0));
-        len = GetShortPathNameW(wlong, wshort, countof(wshort));
-        Safefree(wlong);
-        if (len && len < sizeof(wshort)) {
-            ST(0) = wstr_to_sv(aTHX_ wshort);
-            XSRETURN(1);
-        }
-        XSRETURN_UNDEF;
-    }
-
-    shortpath = sv_mortalcopy(ST(0));
-    SvUPGRADE(shortpath, SVt_PV);
-    if (!SvPVX(shortpath) || !SvLEN(shortpath))
-        XSRETURN_UNDEF;
-
-    /* src == target is allowed */
-    do {
-	len = GetShortPathName(SvPVX(shortpath),
-			       SvPVX(shortpath),
-			       (DWORD)SvLEN(shortpath));
-    } while (len >= SvLEN(shortpath) && sv_grow(shortpath,len+1));
-    if (len) {
-	SvCUR_set(shortpath,len);
-	*SvEND(shortpath) = '\0';
-	ST(0) = shortpath;
-	XSRETURN(1);
-    }
-    XSRETURN_UNDEF;
-}
-
-XS(w32_GetFullPathName)
-{
-    dXSARGS;
-    char *fullname;
-    char *ansi = NULL;
-
-/* The code below relies on the fact that PerlDir_mapX() returns an
- * absolute path, which is only true under PERL_IMPLICIT_SYS when
- * we use the virtualization code from win32/vdir.h.
- * Without it PerlDir_mapX() is a no-op and we need to use the same
- * code as we use for Cygwin.
- */
-#if __CYGWIN__ || !defined(PERL_IMPLICIT_SYS)
-    char buffer[2*MAX_PATH];
-#endif
-
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::GetFullPathName($filename)");
-
-#if __CYGWIN__ || !defined(PERL_IMPLICIT_SYS)
-    if (IsWin2000()) {
-        WCHAR *filename = sv_to_wstr(aTHX_ ST(0));
-        WCHAR full[2*MAX_PATH];
-        DWORD len = GetFullPathNameW(filename, countof(full), full, NULL);
-        Safefree(filename);
-        if (len == 0 || len >= countof(full))
-            XSRETURN_EMPTY;
-        ansi = fullname = my_ansipath(full);
-    }
-    else {
-        DWORD len = GetFullPathNameA(SvPV_nolen(ST(0)), countof(buffer), buffer, NULL);
-        if (len == 0 || len >= countof(buffer))
-            XSRETURN_EMPTY;
-        fullname = buffer;
-    }
-#else
-    /* Don't use my_ansipath() unless the $filename argument is in Unicode.
-     * If the relative path doesn't exist, GetShortPathName() will fail and
-     * my_ansipath() will use the long name with replacement characters.
-     * In that case we will be better off using PerlDir_mapA(), which
-     * already uses the ANSI name of the current directory.
-     *
-     * XXX The one missing case is where we could downgrade $filename
-     * XXX from UTF8 into the current codepage.
-     */
-    if (IsWin2000() && SvUTF8(ST(0))) {
-        WCHAR *filename = sv_to_wstr(aTHX_ ST(0));
-        WCHAR *mappedname = PerlDir_mapW(filename);
-        Safefree(filename);
-        ansi = fullname = my_ansipath(mappedname);
-    }
-    else {
-        fullname = PerlDir_mapA(SvPV_nolen(ST(0)));
-    }
-#  if PERL_VERSION < 8
-    {
-        /* PerlDir_mapX() in Perl 5.6 used to return forward slashes */
-        char *str = fullname;
-        while (*str) {
-            if (*str == '/')
-                *str = '\\';
-            ++str;
-        }
-    }
-#  endif
-#endif
-
-    /* GetFullPathName() on Windows NT drops trailing backslash */
-    if (g_osver.dwMajorVersion == 4 && *fullname) {
-        STRLEN len;
-        char *pv = SvPV(ST(0), len);
-        char *lastchar = fullname + strlen(fullname) - 1;
-        /* If ST(0) ends with a slash, but fullname doesn't ... */
-        if (len && (pv[len-1] == '/' || pv[len-1] == '\\') && *lastchar != '\\') {
-            /* fullname is the MAX_PATH+1 sized buffer returned from PerlDir_mapA()
-             * or the 2*MAX_PATH sized local buffer in the __CYGWIN__ case.
-             */
-            if (lastchar - fullname < MAX_PATH - 1)
-                strcpy(lastchar+1, "\\");
-        }
-    }
-
-    if (GIMME_V == G_ARRAY) {
-        char *filepart = strrchr(fullname, '\\');
-
-        EXTEND(SP,1);
-        if (filepart) {
-            XST_mPV(1, ++filepart);
-            *filepart = '\0';
-        }
-        else {
-            XST_mPVN(1, "", 0);
-        }
-        items = 2;
-    }
-    XST_mPV(0, fullname);
-
-    if (ansi)
-        Safefree(ansi);
-    XSRETURN(items);
-}
-
-XS(w32_GetLongPathName)
-{
-    dXSARGS;
-
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::GetLongPathName($pathname)");
-
-    if (IsWin2000()) {
-        WCHAR *wstr = sv_to_wstr(aTHX_ ST(0));
-        WCHAR wide_path[MAX_PATH+1];
-        WCHAR *long_path;
-
-        if (wcslen(wstr) < countof(wide_path)) {
-            wcscpy(wide_path, wstr);
-            long_path = my_longpathW(wide_path);
-            if (long_path) {
-                Safefree(wstr);
-                ST(0) = wstr_to_sv(aTHX_ long_path);
-                XSRETURN(1);
-            }
-        }
-        Safefree(wstr);
-    }
-    else {
-        SV *path;
-        char tmpbuf[MAX_PATH+1];
-        char *pathstr;
-        STRLEN len;
-
-        path = ST(0);
-        pathstr = SvPV(path,len);
-        if (len < sizeof(tmpbuf)) {
-            strcpy(tmpbuf, pathstr);
-            pathstr = my_longpathA(tmpbuf);
-            if (pathstr) {
-                ST(0) = sv_2mortal(newSVpvn(pathstr, strlen(pathstr)));
-                XSRETURN(1);
-            }
-        }
-    }
-    XSRETURN_EMPTY;
-}
-
-XS(w32_GetANSIPathName)
-{
-    dXSARGS;
-    WCHAR *wide_path;
-
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::GetANSIPathName($pathname)");
-
-    wide_path = sv_to_wstr(aTHX_ ST(0));
-    ST(0) = wstr_to_ansipath(aTHX_ wide_path);
-    Safefree(wide_path);
-    XSRETURN(1);
-}
-
-XS(w32_Sleep)
-{
-    dXSARGS;
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::Sleep($milliseconds)");
-    Sleep((DWORD)SvIV(ST(0)));
-    XSRETURN_YES;
-}
-
-XS(w32_CopyFile)
-{
-    dXSARGS;
-    BOOL bResult;
-    char *pszSourceFile;
-    char szSourceFile[MAX_PATH+1];
-
-    if (items != 3)
-	Perl_croak(aTHX_ "usage: Win32::CopyFile($from, $to, $overwrite)");
-
-    pszSourceFile = PerlDir_mapA(SvPV_nolen(ST(0)));
-    if (strlen(pszSourceFile) < sizeof(szSourceFile)) {
-        strcpy(szSourceFile, pszSourceFile);
-        bResult = CopyFileA(szSourceFile, PerlDir_mapA(SvPV_nolen(ST(1))), !SvTRUE(ST(2)));
-        if (bResult)
-            XSRETURN_YES;
-    }
-    XSRETURN_NO;
-}
-
-XS(w32_OutputDebugString)
-{
-    dXSARGS;
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::OutputDebugString($string)");
-
-    if (SvUTF8(ST(0))) {
-        WCHAR *str = sv_to_wstr(aTHX_ ST(0));
-        OutputDebugStringW(str);
-        Safefree(str);
-    }
-    else
-        OutputDebugStringA(SvPV_nolen(ST(0)));
-
-    XSRETURN_EMPTY;
-}
-
-XS(w32_GetCurrentProcessId)
-{
-    dXSARGS;
-    EXTEND(SP,1);
-    XSRETURN_IV(GetCurrentProcessId());
-}
-
-XS(w32_GetCurrentThreadId)
-{
-    dXSARGS;
-    EXTEND(SP,1);
-    XSRETURN_IV(GetCurrentThreadId());
-}
-
-XS(w32_CreateDirectory)
-{
-    dXSARGS;
-    BOOL result;
-
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::CreateDirectory($dir)");
-
-    if (IsWin2000() && SvUTF8(ST(0))) {
-        WCHAR *dir = sv_to_wstr(aTHX_ ST(0));
-        result = CreateDirectoryW(dir, NULL);
-        Safefree(dir);
-    }
-    else {
-        result = CreateDirectoryA(SvPV_nolen(ST(0)), NULL);
-    }
-
-    ST(0) = boolSV(result);
-    XSRETURN(1);
-}
-
-XS(w32_CreateFile)
-{
-    dXSARGS;
-    HANDLE handle;
-
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::CreateFile($file)");
-
-    if (IsWin2000() && SvUTF8(ST(0))) {
-        WCHAR *file = sv_to_wstr(aTHX_ ST(0));
-        handle = CreateFileW(file, GENERIC_WRITE, FILE_SHARE_WRITE,
-                             NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
-        Safefree(file);
-    }
-    else {
-        handle = CreateFileA(SvPV_nolen(ST(0)), GENERIC_WRITE, FILE_SHARE_WRITE,
-                             NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
-    }
-
-    if (handle != INVALID_HANDLE_VALUE)
-        CloseHandle(handle);
-
-    ST(0) = boolSV(handle != INVALID_HANDLE_VALUE);
-    XSRETURN(1);
-}
-
-XS(w32_GetSystemMetrics)
-{
-    dXSARGS;
-
-    if (items != 1)
-	Perl_croak(aTHX_ "usage: Win32::GetSystemMetrics($index)");
-
-    XSRETURN_IV(GetSystemMetrics((int)SvIV(ST(0))));
-}
-
-XS(w32_GetProductInfo)
-{
-    dXSARGS;
-    DWORD type;
-    HMODULE module;
-    PFNGetProductInfo pfnGetProductInfo;
-
-    if (items != 4)
-	Perl_croak(aTHX_ "usage: Win32::GetProductInfo($major,$minor,$spmajor,$spminor)");
-
-    module = GetModuleHandle("kernel32.dll");
-    GETPROC(GetProductInfo);
-    if (pfnGetProductInfo &&
-        pfnGetProductInfo((DWORD)SvIV(ST(0)), (DWORD)SvIV(ST(1)),
-                          (DWORD)SvIV(ST(2)), (DWORD)SvIV(ST(3)), &type))
-    {
-        XSRETURN_IV(type);
-    }
-
-    /* PRODUCT_UNDEFINED */
-    XSRETURN_IV(0);
-}
-
-MODULE = Win32            PACKAGE = Win32
-
-PROTOTYPES: DISABLE
-
-BOOT:
-{
-    char *file = __FILE__;
-
-    if (g_osver.dwOSVersionInfoSize == 0) {
-        g_osver.dwOSVersionInfoSize = sizeof(g_osver);
-        if (!GetVersionExA((OSVERSIONINFOA*)&g_osver)) {
-            g_osver_ex = FALSE;
-            g_osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);
-            GetVersionExA((OSVERSIONINFOA*)&g_osver);
-        }
-    }
-
-    newXS("Win32::LookupAccountName", w32_LookupAccountName, file);
-    newXS("Win32::LookupAccountSID", w32_LookupAccountSID, file);
-    newXS("Win32::InitiateSystemShutdown", w32_InitiateSystemShutdown, file);
-    newXS("Win32::AbortSystemShutdown", w32_AbortSystemShutdown, file);
-    newXS("Win32::ExpandEnvironmentStrings", w32_ExpandEnvironmentStrings, file);
-    newXS("Win32::MsgBox", w32_MsgBox, file);
-    newXS("Win32::LoadLibrary", w32_LoadLibrary, file);
-    newXS("Win32::FreeLibrary", w32_FreeLibrary, file);
-    newXS("Win32::GetProcAddress", w32_GetProcAddress, file);
-    newXS("Win32::RegisterServer", w32_RegisterServer, file);
-    newXS("Win32::UnregisterServer", w32_UnregisterServer, file);
-    newXS("Win32::GetArchName", w32_GetArchName, file);
-    newXS("Win32::GetChipName", w32_GetChipName, file);
-    newXS("Win32::GuidGen", w32_GuidGen, file);
-    newXS("Win32::GetFolderPath", w32_GetFolderPath, file);
-    newXS("Win32::IsAdminUser", w32_IsAdminUser, file);
-    newXS("Win32::GetFileVersion", w32_GetFileVersion, file);
-
-    newXS("Win32::GetCwd", w32_GetCwd, file);
-    newXS("Win32::SetCwd", w32_SetCwd, file);
-    newXS("Win32::GetNextAvailDrive", w32_GetNextAvailDrive, file);
-    newXS("Win32::GetLastError", w32_GetLastError, file);
-    newXS("Win32::SetLastError", w32_SetLastError, file);
-    newXS("Win32::LoginName", w32_LoginName, file);
-    newXS("Win32::NodeName", w32_NodeName, file);
-    newXS("Win32::DomainName", w32_DomainName, file);
-    newXS("Win32::FsType", w32_FsType, file);
-    newXS("Win32::GetOSVersion", w32_GetOSVersion, file);
-    newXS("Win32::IsWinNT", w32_IsWinNT, file);
-    newXS("Win32::IsWin95", w32_IsWin95, file);
-    newXS("Win32::FormatMessage", w32_FormatMessage, file);
-    newXS("Win32::Spawn", w32_Spawn, file);
-    newXS("Win32::GetTickCount", w32_GetTickCount, file);
-    newXS("Win32::GetShortPathName", w32_GetShortPathName, file);
-    newXS("Win32::GetFullPathName", w32_GetFullPathName, file);
-    newXS("Win32::GetLongPathName", w32_GetLongPathName, file);
-    newXS("Win32::GetANSIPathName", w32_GetANSIPathName, file);
-    newXS("Win32::CopyFile", w32_CopyFile, file);
-    newXS("Win32::Sleep", w32_Sleep, file);
-    newXS("Win32::OutputDebugString", w32_OutputDebugString, file);
-    newXS("Win32::GetCurrentProcessId", w32_GetCurrentProcessId, file);
-    newXS("Win32::GetCurrentThreadId", w32_GetCurrentThreadId, file);
-    newXS("Win32::CreateDirectory", w32_CreateDirectory, file);
-    newXS("Win32::CreateFile", w32_CreateFile, file);
-    newXS("Win32::GetSystemMetrics", w32_GetSystemMetrics, file);
-    newXS("Win32::GetProductInfo", w32_GetProductInfo, file);
-#ifdef __CYGWIN__
-    newXS("Win32::SetChildShowWindow", w32_SetChildShowWindow, file);
-#endif
-    XSRETURN_YES;
-}
+#include <wctype.h>
+#include <windows.h>
+#include <shlobj.h>
+
+#define PERL_NO_GET_CONTEXT
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+#ifndef countof
+#  define countof(array) (sizeof (array) / sizeof (*(array)))
+#endif
+
+#define SE_SHUTDOWN_NAMEA   "SeShutdownPrivilege"
+
+#ifndef WC_NO_BEST_FIT_CHARS
+#  define WC_NO_BEST_FIT_CHARS 0x00000400
+#endif
+
+#define GETPROC(fn) pfn##fn = (PFN##fn)GetProcAddress(module, #fn)
+
+typedef BOOL (WINAPI *PFNSHGetSpecialFolderPathA)(HWND, char*, int, BOOL);
+typedef BOOL (WINAPI *PFNSHGetSpecialFolderPathW)(HWND, WCHAR*, int, BOOL);
+typedef HRESULT (WINAPI *PFNSHGetFolderPathA)(HWND, int, HANDLE, DWORD, LPTSTR);
+typedef HRESULT (WINAPI *PFNSHGetFolderPathW)(HWND, int, HANDLE, DWORD, LPWSTR);
+typedef BOOL (WINAPI *PFNCreateEnvironmentBlock)(void**, HANDLE, BOOL);
+typedef BOOL (WINAPI *PFNDestroyEnvironmentBlock)(void*);
+typedef int (__stdcall *PFNDllRegisterServer)(void);
+typedef int (__stdcall *PFNDllUnregisterServer)(void);
+typedef DWORD (__stdcall *PFNNetApiBufferFree)(void*);
+typedef DWORD (__stdcall *PFNNetWkstaGetInfo)(LPWSTR, DWORD, void*);
+
+typedef BOOL (__stdcall *PFNOpenProcessToken)(HANDLE, DWORD, HANDLE*);
+typedef BOOL (__stdcall *PFNOpenThreadToken)(HANDLE, DWORD, BOOL, HANDLE*);
+typedef BOOL (__stdcall *PFNGetTokenInformation)(HANDLE, TOKEN_INFORMATION_CLASS, void*, DWORD, DWORD*);
+typedef BOOL (__stdcall *PFNAllocateAndInitializeSid)(PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD,
+                                                      DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, PSID*);
+typedef BOOL (__stdcall *PFNEqualSid)(PSID, PSID);
+typedef void* (__stdcall *PFNFreeSid)(PSID);
+typedef BOOL (__stdcall *PFNIsUserAnAdmin)(void);
+typedef BOOL (WINAPI *PFNGetProductInfo)(DWORD, DWORD, DWORD, DWORD, DWORD*);
+typedef void (WINAPI *PFNGetNativeSystemInfo)(LPSYSTEM_INFO lpSystemInfo);
+
+#ifndef CSIDL_MYMUSIC
+#   define CSIDL_MYMUSIC              0x000D
+#endif
+#ifndef CSIDL_MYVIDEO
+#   define CSIDL_MYVIDEO              0x000E
+#endif
+#ifndef CSIDL_LOCAL_APPDATA
+#   define CSIDL_LOCAL_APPDATA        0x001C
+#endif
+#ifndef CSIDL_COMMON_FAVORITES
+#   define CSIDL_COMMON_FAVORITES     0x001F
+#endif
+#ifndef CSIDL_INTERNET_CACHE
+#   define CSIDL_INTERNET_CACHE       0x0020
+#endif
+#ifndef CSIDL_COOKIES
+#   define CSIDL_COOKIES              0x0021
+#endif
+#ifndef CSIDL_HISTORY
+#   define CSIDL_HISTORY              0x0022
+#endif
+#ifndef CSIDL_COMMON_APPDATA
+#   define CSIDL_COMMON_APPDATA       0x0023
+#endif
+#ifndef CSIDL_WINDOWS
+#   define CSIDL_WINDOWS              0x0024
+#endif
+#ifndef CSIDL_PROGRAM_FILES
+#   define CSIDL_PROGRAM_FILES        0x0026
+#endif
+#ifndef CSIDL_MYPICTURES
+#   define CSIDL_MYPICTURES           0x0027
+#endif
+#ifndef CSIDL_PROFILE
+#   define CSIDL_PROFILE              0x0028
+#endif
+#ifndef CSIDL_PROGRAM_FILES_COMMON
+#   define CSIDL_PROGRAM_FILES_COMMON 0x002B
+#endif
+#ifndef CSIDL_COMMON_TEMPLATES
+#   define CSIDL_COMMON_TEMPLATES     0x002D
+#endif
+#ifndef CSIDL_COMMON_DOCUMENTS
+#   define CSIDL_COMMON_DOCUMENTS     0x002E
+#endif
+#ifndef CSIDL_COMMON_ADMINTOOLS
+#   define CSIDL_COMMON_ADMINTOOLS    0x002F
+#endif
+#ifndef CSIDL_ADMINTOOLS
+#   define CSIDL_ADMINTOOLS           0x0030
+#endif
+#ifndef CSIDL_COMMON_MUSIC
+#   define CSIDL_COMMON_MUSIC         0x0035
+#endif
+#ifndef CSIDL_COMMON_PICTURES
+#   define CSIDL_COMMON_PICTURES      0x0036
+#endif
+#ifndef CSIDL_COMMON_VIDEO
+#   define CSIDL_COMMON_VIDEO         0x0037
+#endif
+#ifndef CSIDL_CDBURN_AREA
+#   define CSIDL_CDBURN_AREA          0x003B
+#endif
+#ifndef CSIDL_FLAG_CREATE
+#   define CSIDL_FLAG_CREATE          0x8000
+#endif
+
+/* Use explicit struct definition because wSuiteMask and
+ * wProductType are not defined in the VC++ 6.0 headers.
+ * WORD type has been replaced by unsigned short because
+ * WORD is already used by Perl itself.
+ */
+struct {
+    DWORD dwOSVersionInfoSize;
+    DWORD dwMajorVersion;
+    DWORD dwMinorVersion;
+    DWORD dwBuildNumber;
+    DWORD dwPlatformId;
+    CHAR  szCSDVersion[128];
+    unsigned short wServicePackMajor;
+    unsigned short wServicePackMinor;
+    unsigned short wSuiteMask;
+    BYTE  wProductType;
+    BYTE  wReserved;
+}   g_osver = {0, 0, 0, 0, 0, "", 0, 0, 0, 0, 0};
+BOOL g_osver_ex = TRUE;
+
+#define ONE_K_BUFSIZE	1024
+
+int
+IsWin95(void)
+{
+    return (g_osver.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS);
+}
+
+int
+IsWinNT(void)
+{
+    return (g_osver.dwPlatformId == VER_PLATFORM_WIN32_NT);
+}
+
+int
+IsWin2000(void)
+{
+    return (g_osver.dwMajorVersion > 4);
+}
+
+/* Convert SV to wide character string.  The return value must be
+ * freed using Safefree().
+ */
+WCHAR*
+sv_to_wstr(pTHX_ SV *sv)
+{
+    DWORD wlen;
+    WCHAR *wstr;
+    STRLEN len;
+    char *str = SvPV(sv, len);
+    UINT cp = SvUTF8(sv) ? CP_UTF8 : CP_ACP;
+
+    wlen = MultiByteToWideChar(cp, 0, str, (int)(len+1), NULL, 0);
+    New(0, wstr, wlen, WCHAR);
+    MultiByteToWideChar(cp, 0, str, (int)(len+1), wstr, wlen);
+
+    return wstr;
+}
+
+/* Convert wide character string to mortal SV.  Use UTF8 encoding
+ * if the string cannot be represented in the system codepage.
+ */
+SV *
+wstr_to_sv(pTHX_ WCHAR *wstr)
+{
+    int wlen = (int)wcslen(wstr)+1;
+    BOOL use_default = FALSE;
+    int len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, wstr, wlen, NULL, 0, NULL, NULL);
+    SV *sv = sv_2mortal(newSV(len));
+
+    len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, wstr, wlen, SvPVX(sv), len, NULL, &use_default);
+    if (use_default) {
+        len = WideCharToMultiByte(CP_UTF8, 0, wstr, wlen, NULL, 0, NULL, NULL);
+        sv_grow(sv, len);
+        len = WideCharToMultiByte(CP_UTF8, 0, wstr, wlen, SvPVX(sv), len, NULL, NULL);
+        SvUTF8_on(sv);
+    }
+    /* Shouldn't really ever fail since we ask for the required length first, but who knows... */
+    if (len) {
+        SvPOK_on(sv);
+        SvCUR_set(sv, len-1);
+    }
+    return sv;
+}
+
+/* Retrieve a variable from the Unicode environment in a mortal SV.
+ *
+ * Recreates the Unicode environment because a bug in earlier Perl versions
+ * overwrites it with the ANSI version, which contains replacement
+ * characters for the characters not in the ANSI codepage.
+ */
+SV*
+get_unicode_env(pTHX_ WCHAR *name)
+{
+    SV *sv = NULL;
+    void *env;
+    HANDLE token;
+    HMODULE module;
+    PFNOpenProcessToken pfnOpenProcessToken;
+
+    /* Get security token for the current process owner */
+    module = LoadLibrary("advapi32.dll");
+    if (!module)
+        return NULL;
+
+    GETPROC(OpenProcessToken);
+
+    if (pfnOpenProcessToken == NULL ||
+        !pfnOpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_DUPLICATE, &token))
+    {
+        FreeLibrary(module);
+        return NULL;
+    }
+    FreeLibrary(module);
+
+    /* Create a Unicode environment block for this process */
+    module = LoadLibrary("userenv.dll");
+    if (module) {
+        PFNCreateEnvironmentBlock pfnCreateEnvironmentBlock;
+        PFNDestroyEnvironmentBlock pfnDestroyEnvironmentBlock;
+
+        GETPROC(CreateEnvironmentBlock);
+        GETPROC(DestroyEnvironmentBlock);
+
+        if (pfnCreateEnvironmentBlock && pfnDestroyEnvironmentBlock &&
+            pfnCreateEnvironmentBlock(&env, token, FALSE))
+        {
+            size_t name_len = wcslen(name);
+            WCHAR *entry = env;
+            while (*entry) {
+                size_t i;
+                size_t entry_len = wcslen(entry);
+                BOOL equal = (entry_len > name_len) && (entry[name_len] == '=');
+
+                for (i=0; equal && i < name_len; ++i)
+                    equal = (towupper(entry[i]) == towupper(name[i]));
+
+                if (equal) {
+                    sv = wstr_to_sv(aTHX_ entry+name_len+1);
+                    break;
+                }
+                entry += entry_len+1;
+            }
+            pfnDestroyEnvironmentBlock(env);
+        }
+        FreeLibrary(module);
+    }
+    CloseHandle(token);
+    return sv;
+}
+
+/* Define both an ANSI and a Wide version of win32_longpath */
+
+#define CHAR_T            char
+#define WIN32_FIND_DATA_T WIN32_FIND_DATAA
+#define FN_FINDFIRSTFILE  FindFirstFileA
+#define FN_STRLEN         strlen
+#define FN_STRCPY         strcpy
+#define LONGPATH          my_longpathA
+#include "longpath.inc"
+
+#define CHAR_T            WCHAR
+#define WIN32_FIND_DATA_T WIN32_FIND_DATAW
+#define FN_FINDFIRSTFILE  FindFirstFileW
+#define FN_STRLEN         wcslen
+#define FN_STRCPY         wcscpy
+#define LONGPATH          my_longpathW
+#include "longpath.inc"
+
+/* The my_ansipath() function takes a Unicode filename and converts it
+ * into the current Windows codepage. If some characters cannot be mapped,
+ * then it will convert the short name instead.
+ *
+ * The buffer to the ansi pathname must be freed with Safefree() when it
+ * it no longer needed.
+ *
+ * The argument to my_ansipath() must exist before this function is
+ * called; otherwise there is no way to determine the short path name.
+ *
+ * Ideas for future refinement:
+ * - Only convert those segments of the path that are not in the current
+ *   codepage, but leave the other segments in their long form.
+ * - If the resulting name is longer than MAX_PATH, start converting
+ *   additional path segments into short names until the full name
+ *   is shorter than MAX_PATH.  Shorten the filename part last!
+ */
+
+/* This is a modified version of core Perl win32/win32.c(win32_ansipath).
+ * It uses New() etc. instead of win32_malloc().
+ */
+
+char *
+my_ansipath(const WCHAR *widename)
+{
+    char *name;
+    BOOL use_default = FALSE;
+    int widelen = (int)wcslen(widename)+1;
+    int len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
+                                  NULL, 0, NULL, NULL);
+    New(0, name, len, char);
+    WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
+                        name, len, NULL, &use_default);
+    if (use_default) {
+        DWORD shortlen = GetShortPathNameW(widename, NULL, 0);
+        if (shortlen) {
+            WCHAR *shortname;
+            New(0, shortname, shortlen, WCHAR);
+            shortlen = GetShortPathNameW(widename, shortname, shortlen)+1;
+
+            len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, shortname, shortlen,
+                                      NULL, 0, NULL, NULL);
+            Renew(name, len, char);
+            WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, shortname, shortlen,
+                                name, len, NULL, NULL);
+            Safefree(shortname);
+        }
+    }
+    return name;
+}
+
+/* Convert wide character path to ANSI path and return as mortal SV. */
+SV*
+wstr_to_ansipath(pTHX_ WCHAR *wstr)
+{
+    char *ansi = my_ansipath(wstr);
+    SV *sv = sv_2mortal(newSVpvn(ansi, strlen(ansi)));
+    Safefree(ansi);
+    return sv;
+}
+
+#ifdef __CYGWIN__
+
+char*
+get_childdir(void)
+{
+    dTHX;
+    char* ptr;
+
+    if (IsWin2000()) {
+        WCHAR filename[MAX_PATH+1];
+        GetCurrentDirectoryW(MAX_PATH+1, filename);
+        ptr = my_ansipath(filename);
+    }
+    else {
+        char filename[MAX_PATH+1];
+        GetCurrentDirectoryA(MAX_PATH+1, filename);
+        New(0, ptr, strlen(filename)+1, char);
+        strcpy(ptr, filename);
+    }
+    return ptr;
+}
+
+void
+free_childdir(char *d)
+{
+    dTHX;
+    Safefree(d);
+}
+
+void*
+get_childenv(void)
+{
+    return NULL;
+}
+
+void
+free_childenv(void *d)
+{
+}
+
+#  define PerlDir_mapA(dir) (dir)
+
+#endif
+
+XS(w32_ExpandEnvironmentStrings)
+{
+    dXSARGS;
+
+    if (items != 1)
+	croak("usage: Win32::ExpandEnvironmentStrings($String);\n");
+
+    if (IsWin2000()) {
+        WCHAR value[31*1024];
+        WCHAR *source = sv_to_wstr(aTHX_ ST(0));
+        ExpandEnvironmentStringsW(source, value, countof(value)-1);
+        ST(0) = wstr_to_sv(aTHX_ value);
+        Safefree(source);
+        XSRETURN(1);
+    }
+    else {
+        char value[31*1024];
+        ExpandEnvironmentStringsA(SvPV_nolen(ST(0)), value, countof(value)-2);
+        XSRETURN_PV(value);
+    }
+}
+
+XS(w32_IsAdminUser)
+{
+    dXSARGS;
+    HMODULE                     module;
+    PFNIsUserAnAdmin            pfnIsUserAnAdmin;
+    PFNOpenThreadToken          pfnOpenThreadToken;
+    PFNOpenProcessToken         pfnOpenProcessToken;
+    PFNGetTokenInformation      pfnGetTokenInformation;
+    PFNAllocateAndInitializeSid pfnAllocateAndInitializeSid;
+    PFNEqualSid                 pfnEqualSid;
+    PFNFreeSid                  pfnFreeSid;
+    HANDLE                      hTok;
+    DWORD                       dwTokInfoLen;
+    TOKEN_GROUPS                *lpTokInfo;
+    SID_IDENTIFIER_AUTHORITY    NtAuth = SECURITY_NT_AUTHORITY;
+    PSID                        pAdminSid;
+    int                         iRetVal;
+    unsigned int                i;
+
+    if (items)
+        croak("usage: Win32::IsAdminUser()");
+
+    /* There is no concept of "Administrator" user accounts on Win9x systems,
+       so just return true. */
+    if (IsWin95())
+        XSRETURN_YES;
+
+    /* Use IsUserAnAdmin() when available.  On Vista this will only return TRUE
+     * if the process is running with elevated privileges and not just when the
+     * process owner is a member of the "Administrators" group.
+     */
+    module = LoadLibrary("shell32.dll");
+    if (module) {
+        GETPROC(IsUserAnAdmin);
+        if (pfnIsUserAnAdmin) {
+            EXTEND(SP, 1);
+            ST(0) = sv_2mortal(newSViv(pfnIsUserAnAdmin() ? 1 : 0));
+            FreeLibrary(module);
+            XSRETURN(1);
+        }
+        FreeLibrary(module);
+    }
+
+    module = LoadLibrary("advapi32.dll");
+    if (!module) {
+        warn("Cannot load advapi32.dll library");
+        XSRETURN_UNDEF;
+    }
+
+    GETPROC(OpenThreadToken);
+    GETPROC(OpenProcessToken);
+    GETPROC(GetTokenInformation);
+    GETPROC(AllocateAndInitializeSid);
+    GETPROC(EqualSid);
+    GETPROC(FreeSid);
+
+    if (!(pfnOpenThreadToken && pfnOpenProcessToken &&
+          pfnGetTokenInformation && pfnAllocateAndInitializeSid &&
+          pfnEqualSid && pfnFreeSid))
+    {
+        warn("Cannot load functions from advapi32.dll library");
+        FreeLibrary(module);
+        XSRETURN_UNDEF;
+    }
+
+    if (!pfnOpenThreadToken(GetCurrentThread(), TOKEN_QUERY, FALSE, &hTok)) {
+        if (!pfnOpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &hTok)) {
+            warn("Cannot open thread token or process token");
+            FreeLibrary(module);
+            XSRETURN_UNDEF;
+        }
+    }
+
+    pfnGetTokenInformation(hTok, TokenGroups, NULL, 0, &dwTokInfoLen);
+    if (!New(1, lpTokInfo, dwTokInfoLen, TOKEN_GROUPS)) {
+        warn("Cannot allocate token information structure");
+        CloseHandle(hTok);
+        FreeLibrary(module);
+        XSRETURN_UNDEF;
+    }
+
+    if (!pfnGetTokenInformation(hTok, TokenGroups, lpTokInfo, dwTokInfoLen,
+            &dwTokInfoLen))
+    {
+        warn("Cannot get token information");
+        Safefree(lpTokInfo);
+        CloseHandle(hTok);
+        FreeLibrary(module);
+        XSRETURN_UNDEF;
+    }
+
+    if (!pfnAllocateAndInitializeSid(&NtAuth, 2, SECURITY_BUILTIN_DOMAIN_RID,
+            DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, &pAdminSid))
+    {
+        warn("Cannot allocate administrators' SID");
+        Safefree(lpTokInfo);
+        CloseHandle(hTok);
+        FreeLibrary(module);
+        XSRETURN_UNDEF;
+    }
+
+    iRetVal = 0;
+    for (i = 0; i < lpTokInfo->GroupCount; ++i) {
+        if (pfnEqualSid(lpTokInfo->Groups[i].Sid, pAdminSid)) {
+            iRetVal = 1;
+            break;
+        }
+    }
+
+    pfnFreeSid(pAdminSid);
+    Safefree(lpTokInfo);
+    CloseHandle(hTok);
+    FreeLibrary(module);
+
+    EXTEND(SP, 1);
+    ST(0) = sv_2mortal(newSViv(iRetVal));
+    XSRETURN(1);
+}
+
+XS(w32_LookupAccountName)
+{
+    dXSARGS;
+    char SID[400];
+    DWORD SIDLen;
+    SID_NAME_USE snu;
+    char Domain[256];
+    DWORD DomLen;
+    BOOL bResult;
+
+    if (items != 5)
+	croak("usage: Win32::LookupAccountName($system, $account, $domain, "
+	      "$sid, $sidtype);\n");
+
+    SIDLen = sizeof(SID);
+    DomLen = sizeof(Domain);
+
+    bResult = LookupAccountNameA(SvPV_nolen(ST(0)),	/* System */
+                                 SvPV_nolen(ST(1)),	/* Account name */
+                                 &SID,			/* SID structure */
+                                 &SIDLen,		/* Size of SID buffer */
+                                 Domain,		/* Domain buffer */
+                                 &DomLen,		/* Domain buffer size */
+                                 &snu);			/* SID name type */
+    if (bResult) {
+	sv_setpv(ST(2), Domain);
+	sv_setpvn(ST(3), SID, SIDLen);
+	sv_setiv(ST(4), snu);
+	XSRETURN_YES;
+    }
+    XSRETURN_NO;
+}
+
+
+XS(w32_LookupAccountSID)
+{
+    dXSARGS;
+    PSID sid;
+    char Account[256];
+    DWORD AcctLen = sizeof(Account);
+    char Domain[256];
+    DWORD DomLen = sizeof(Domain);
+    SID_NAME_USE snu;
+    BOOL bResult;
+
+    if (items != 5)
+	croak("usage: Win32::LookupAccountSID($system, $sid, $account, $domain, $sidtype);\n");
+
+    sid = SvPV_nolen(ST(1));
+    if (IsValidSid(sid)) {
+        bResult = LookupAccountSidA(SvPV_nolen(ST(0)),	/* System */
+                                    sid,		/* SID structure */
+                                    Account,		/* Account name buffer */
+                                    &AcctLen,		/* name buffer length */
+                                    Domain,		/* Domain buffer */
+                                    &DomLen,		/* Domain buffer length */
+                                    &snu);		/* SID name type */
+	if (bResult) {
+	    sv_setpv(ST(2), Account);
+	    sv_setpv(ST(3), Domain);
+	    sv_setiv(ST(4), (IV)snu);
+	    XSRETURN_YES;
+	}
+    }
+    XSRETURN_NO;
+}
+
+XS(w32_InitiateSystemShutdown)
+{
+    dXSARGS;
+    HANDLE hToken;              /* handle to process token   */
+    TOKEN_PRIVILEGES tkp;       /* pointer to token structure  */
+    BOOL bRet;
+    char *machineName, *message;
+
+    if (items != 5)
+	croak("usage: Win32::InitiateSystemShutdown($machineName, $message, "
+	      "$timeOut, $forceClose, $reboot);\n");
+
+    machineName = SvPV_nolen(ST(0));
+
+    if (OpenProcessToken(GetCurrentProcess(),
+			 TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
+			 &hToken))
+    {
+        LookupPrivilegeValueA(machineName,
+                              SE_SHUTDOWN_NAMEA,
+                              &tkp.Privileges[0].Luid);
+
+	tkp.PrivilegeCount = 1; /* only setting one */
+	tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
+
+	/* Get shutdown privilege for this process. */
+	AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
+			      (PTOKEN_PRIVILEGES)NULL, 0);
+    }
+
+    message = SvPV_nolen(ST(1));
+    bRet = InitiateSystemShutdownA(machineName, message, (DWORD)SvIV(ST(2)),
+                                   (BOOL)SvIV(ST(3)), (BOOL)SvIV(ST(4)));
+
+    /* Disable shutdown privilege. */
+    tkp.Privileges[0].Attributes = 0; 
+    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
+			  (PTOKEN_PRIVILEGES)NULL, 0); 
+    CloseHandle(hToken);
+    XSRETURN_IV(bRet);
+}
+
+XS(w32_AbortSystemShutdown)
+{
+    dXSARGS;
+    HANDLE hToken;              /* handle to process token   */
+    TOKEN_PRIVILEGES tkp;       /* pointer to token structure  */
+    BOOL bRet;
+    char *machineName;
+
+    if (items != 1)
+	croak("usage: Win32::AbortSystemShutdown($machineName);\n");
+
+    machineName = SvPV_nolen(ST(0));
+
+    if (OpenProcessToken(GetCurrentProcess(),
+			 TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,
+			 &hToken))
+    {
+        LookupPrivilegeValueA(machineName,
+                              SE_SHUTDOWN_NAMEA,
+                              &tkp.Privileges[0].Luid);
+
+	tkp.PrivilegeCount = 1; /* only setting one */
+	tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
+
+	/* Get shutdown privilege for this process. */
+	AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
+			      (PTOKEN_PRIVILEGES)NULL, 0);
+    }
+
+    bRet = AbortSystemShutdownA(machineName);
+
+    /* Disable shutdown privilege. */
+    tkp.Privileges[0].Attributes = 0;
+    AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
+			  (PTOKEN_PRIVILEGES)NULL, 0);
+    CloseHandle(hToken);
+    XSRETURN_IV(bRet);
+}
+
+
+XS(w32_MsgBox)
+{
+    dXSARGS;
+    DWORD flags = MB_ICONEXCLAMATION;
+    I32 result;
+
+    if (items < 1 || items > 3)
+	croak("usage: Win32::MsgBox($message [, $flags [, $title]]);\n");
+
+    if (items > 1)
+        flags = (DWORD)SvIV(ST(1));
+
+    if (IsWin2000()) {
+        WCHAR *title = NULL;
+        WCHAR *msg = sv_to_wstr(aTHX_ ST(0));
+        if (items > 2)
+            title = sv_to_wstr(aTHX_ ST(2));
+        result = MessageBoxW(GetActiveWindow(), msg, title ? title : L"Perl", flags);
+        Safefree(msg);
+        if (title)
+            Safefree(title);
+    }
+    else {
+        char *title = "Perl";
+        char *msg = SvPV_nolen(ST(0));
+        if (items > 2)
+            title = SvPV_nolen(ST(2));
+        result = MessageBoxA(GetActiveWindow(), msg, title, flags);
+    }
+    XSRETURN_IV(result);
+}
+
+XS(w32_LoadLibrary)
+{
+    dXSARGS;
+    HANDLE hHandle;
+
+    if (items != 1)
+	croak("usage: Win32::LoadLibrary($libname)\n");
+    hHandle = LoadLibraryA(SvPV_nolen(ST(0)));
+#ifdef _WIN64
+    XSRETURN_IV((DWORD_PTR)hHandle);
+#else
+    XSRETURN_IV((DWORD)hHandle);
+#endif
+}
+
+XS(w32_FreeLibrary)
+{
+    dXSARGS;
+
+    if (items != 1)
+	croak("usage: Win32::FreeLibrary($handle)\n");
+    if (FreeLibrary(INT2PTR(HINSTANCE, SvIV(ST(0))))) {
+	XSRETURN_YES;
+    }
+    XSRETURN_NO;
+}
+
+XS(w32_GetProcAddress)
+{
+    dXSARGS;
+
+    if (items != 2)
+	croak("usage: Win32::GetProcAddress($hinstance, $procname)\n");
+    XSRETURN_IV(PTR2IV(GetProcAddress(INT2PTR(HINSTANCE, SvIV(ST(0))), SvPV_nolen(ST(1)))));
+}
+
+XS(w32_RegisterServer)
+{
+    dXSARGS;
+    BOOL result = FALSE;
+    HMODULE module;
+
+    if (items != 1)
+	croak("usage: Win32::RegisterServer($libname)\n");
+
+    module = LoadLibraryA(SvPV_nolen(ST(0)));
+    if (module) {
+	PFNDllRegisterServer pfnDllRegisterServer;
+        GETPROC(DllRegisterServer);
+	if (pfnDllRegisterServer && pfnDllRegisterServer() == 0)
+	    result = TRUE;
+	FreeLibrary(module);
+    }
+    ST(0) = boolSV(result);
+    XSRETURN(1);
+}
+
+XS(w32_UnregisterServer)
+{
+    dXSARGS;
+    BOOL result = FALSE;
+    HINSTANCE module;
+
+    if (items != 1)
+	croak("usage: Win32::UnregisterServer($libname)\n");
+
+    module = LoadLibraryA(SvPV_nolen(ST(0)));
+    if (module) {
+	PFNDllUnregisterServer pfnDllUnregisterServer;
+        GETPROC(DllUnregisterServer);
+	if (pfnDllUnregisterServer && pfnDllUnregisterServer() == 0)
+	    result = TRUE;
+	FreeLibrary(module);
+    }
+    ST(0) = boolSV(result);
+    XSRETURN(1);
+}
+
+/* XXX rather bogus */
+XS(w32_GetArchName)
+{
+    dXSARGS;
+    XSRETURN_PV(getenv("PROCESSOR_ARCHITECTURE"));
+}
+
+XS(w32_GetChipName)
+{
+    dXSARGS;
+    SYSTEM_INFO sysinfo;
+    HMODULE module;
+    PFNGetNativeSystemInfo pfnGetNativeSystemInfo;
+
+    Zero(&sysinfo,1,SYSTEM_INFO);
+    module = GetModuleHandle("kernel32.dll");
+    GETPROC(GetNativeSystemInfo);
+    if (pfnGetNativeSystemInfo)
+        pfnGetNativeSystemInfo(&sysinfo);
+    else
+        GetSystemInfo(&sysinfo);
+
+    /* XXX docs say dwProcessorType is deprecated on NT */
+    XSRETURN_IV(sysinfo.dwProcessorType);
+}
+
+XS(w32_GuidGen)
+{
+    dXSARGS;
+    GUID guid;
+    char szGUID[50] = {'\0'};
+    HRESULT  hr     = CoCreateGuid(&guid);
+
+    if (SUCCEEDED(hr)) {
+	LPOLESTR pStr = NULL;
+	if (SUCCEEDED(StringFromCLSID(&guid, &pStr))) {
+            WideCharToMultiByte(CP_ACP, 0, pStr, (int)wcslen(pStr), szGUID,
+                                sizeof(szGUID), NULL, NULL);
+            CoTaskMemFree(pStr);
+            XSRETURN_PV(szGUID);
+        }
+    }
+    XSRETURN_UNDEF;
+}
+
+XS(w32_GetFolderPath)
+{
+    dXSARGS;
+    char path[MAX_PATH+1];
+    WCHAR wpath[MAX_PATH+1];
+    int folder;
+    int create = 0;
+    HMODULE module;
+
+    if (items != 1 && items != 2)
+	croak("usage: Win32::GetFolderPath($csidl [, $create])\n");
+
+    folder = (int)SvIV(ST(0));
+    if (items == 2)
+        create = SvTRUE(ST(1)) ? CSIDL_FLAG_CREATE : 0;
+
+    module = LoadLibrary("shfolder.dll");
+    if (module) {
+        PFNSHGetFolderPathA pfna;
+        if (IsWin2000()) {
+            PFNSHGetFolderPathW pfnw;
+            pfnw = (PFNSHGetFolderPathW)GetProcAddress(module, "SHGetFolderPathW");
+            if (pfnw && SUCCEEDED(pfnw(NULL, folder|create, NULL, 0, wpath))) {
+                FreeLibrary(module);
+                ST(0) = wstr_to_ansipath(aTHX_ wpath);
+                XSRETURN(1);
+            }
+        }
+        pfna = (PFNSHGetFolderPathA)GetProcAddress(module, "SHGetFolderPathA");
+        if (pfna && SUCCEEDED(pfna(NULL, folder|create, NULL, 0, path))) {
+            FreeLibrary(module);
+            XSRETURN_PV(path);
+        }
+        FreeLibrary(module);
+    }
+
+    module = LoadLibrary("shell32.dll");
+    if (module) {
+        PFNSHGetSpecialFolderPathA pfna;
+        if (IsWin2000()) {
+            PFNSHGetSpecialFolderPathW pfnw;
+            pfnw = (PFNSHGetSpecialFolderPathW)GetProcAddress(module, "SHGetSpecialFolderPathW");
+            if (pfnw && pfnw(NULL, wpath, folder, !!create)) {
+                FreeLibrary(module);
+                ST(0) = wstr_to_ansipath(aTHX_ wpath);
+                XSRETURN(1);
+            }
+        }
+        pfna = (PFNSHGetSpecialFolderPathA)GetProcAddress(module, "SHGetSpecialFolderPathA");
+        if (pfna && pfna(NULL, path, folder, !!create)) {
+            FreeLibrary(module);
+            XSRETURN_PV(path);
+        }
+        FreeLibrary(module);
+    }
+
+    /* SHGetFolderPathW() and SHGetSpecialFolderPathW() may fail on older
+     * Perl versions that have replaced the Unicode environment with an
+     * ANSI version.  Let's go spelunking in the registry now...
+     */
+    if (IsWin2000()) {
+        SV *sv;
+        HKEY hkey;
+        HKEY root = HKEY_CURRENT_USER;
+        WCHAR *name = NULL;
+
+        switch (folder) {
+        case CSIDL_ADMINTOOLS:                  name = L"Administrative Tools";        break;
+        case CSIDL_APPDATA:                     name = L"AppData";                     break;
+        case CSIDL_CDBURN_AREA:                 name = L"CD Burning";                  break;
+        case CSIDL_COOKIES:                     name = L"Cookies";                     break;
+        case CSIDL_DESKTOP:
+        case CSIDL_DESKTOPDIRECTORY:            name = L"Desktop";                     break;
+        case CSIDL_FAVORITES:                   name = L"Favorites";                   break;
+        case CSIDL_FONTS:                       name = L"Fonts";                       break;
+        case CSIDL_HISTORY:                     name = L"History";                     break;
+        case CSIDL_INTERNET_CACHE:              name = L"Cache";                       break;
+        case CSIDL_LOCAL_APPDATA:               name = L"Local AppData";               break;
+        case CSIDL_MYMUSIC:                     name = L"My Music";                    break;
+        case CSIDL_MYPICTURES:                  name = L"My Pictures";                 break;
+        case CSIDL_MYVIDEO:                     name = L"My Video";                    break;
+        case CSIDL_NETHOOD:                     name = L"NetHood";                     break;
+        case CSIDL_PERSONAL:                    name = L"Personal";                    break;
+        case CSIDL_PRINTHOOD:                   name = L"PrintHood";                   break;
+        case CSIDL_PROGRAMS:                    name = L"Programs";                    break;
+        case CSIDL_RECENT:                      name = L"Recent";                      break;
+        case CSIDL_SENDTO:                      name = L"SendTo";                      break;
+        case CSIDL_STARTMENU:                   name = L"Start Menu";                  break;
+        case CSIDL_STARTUP:                     name = L"Startup";                     break;
+        case CSIDL_TEMPLATES:                   name = L"Templates";                   break;
+            /* XXX L"Local Settings" */
+        }
+
+        if (!name) {
+            root = HKEY_LOCAL_MACHINE;
+            switch (folder) {
+            case CSIDL_COMMON_ADMINTOOLS:       name = L"Common Administrative Tools"; break;
+            case CSIDL_COMMON_APPDATA:          name = L"Common AppData";              break;
+            case CSIDL_COMMON_DESKTOPDIRECTORY: name = L"Common Desktop";              break;
+            case CSIDL_COMMON_DOCUMENTS:        name = L"Common Documents";            break;
+            case CSIDL_COMMON_FAVORITES:        name = L"Common Favorites";            break;
+            case CSIDL_COMMON_PROGRAMS:         name = L"Common Programs";             break;
+            case CSIDL_COMMON_STARTMENU:        name = L"Common Start Menu";           break;
+            case CSIDL_COMMON_STARTUP:          name = L"Common Startup";              break;
+            case CSIDL_COMMON_TEMPLATES:        name = L"Common Templates";            break;
+            case CSIDL_COMMON_MUSIC:            name = L"CommonMusic";                 break;
+            case CSIDL_COMMON_PICTURES:         name = L"CommonPictures";              break;
+            case CSIDL_COMMON_VIDEO:            name = L"CommonVideo";                 break;
+            }
+        }
+        /* XXX todo
+         * case CSIDL_SYSTEM               # GetSystemDirectory()
+         * case CSIDL_RESOURCES            # %windir%\Resources\, For theme and other windows resources.
+         * case CSIDL_RESOURCES_LOCALIZED  # %windir%\Resources\<LangID>, for theme and other windows specific resources.
+         */
+
+#define SHELL_FOLDERS "Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders"
+
+        if (name && RegOpenKeyEx(root, SHELL_FOLDERS, 0, KEY_QUERY_VALUE, &hkey) == ERROR_SUCCESS) {
+            WCHAR data[MAX_PATH+1];
+            DWORD cb = sizeof(data)-sizeof(WCHAR);
+            DWORD type = REG_NONE;
+            long rc = RegQueryValueExW(hkey, name, NULL, &type, (BYTE*)&data, &cb);
+            RegCloseKey(hkey);
+            if (rc == ERROR_SUCCESS && type == REG_SZ && cb > sizeof(WCHAR) && data[0]) {
+                /* Make sure the string is properly terminated */
+                data[cb/sizeof(WCHAR)] = '\0';
+                ST(0) = wstr_to_ansipath(aTHX_ data);
+                XSRETURN(1);
+            }
+        }
+
+#undef SHELL_FOLDERS
+
+        /* Unders some circumstances the registry entries seem to have a null string
+         * as their value even when the directory already exists.  The environment
+         * variables do get set though, so try re-create a Unicode environment and
+         * check if they are there.
+         */
+        sv = NULL;
+        switch (folder) {
+        case CSIDL_APPDATA:              sv = get_unicode_env(aTHX_ L"APPDATA");            break;
+        case CSIDL_PROFILE:              sv = get_unicode_env(aTHX_ L"USERPROFILE");        break;
+        case CSIDL_PROGRAM_FILES:        sv = get_unicode_env(aTHX_ L"ProgramFiles");       break;
+        case CSIDL_PROGRAM_FILES_COMMON: sv = get_unicode_env(aTHX_ L"CommonProgramFiles"); break;
+        case CSIDL_WINDOWS:              sv = get_unicode_env(aTHX_ L"SystemRoot");         break;
+        }
+        if (sv) {
+            ST(0) = sv;
+            XSRETURN(1);
+        }
+    }
+
+    XSRETURN_UNDEF;
+}
+
+XS(w32_GetFileVersion)
+{
+    dXSARGS;
+    DWORD size;
+    DWORD handle;
+    char *filename;
+    char *data;
+
+    if (items != 1)
+	croak("usage: Win32::GetFileVersion($filename)\n");
+
+    filename = SvPV_nolen(ST(0));
+    size = GetFileVersionInfoSize(filename, &handle);
+    if (!size)
+        XSRETURN_UNDEF;
+
+    New(0, data, size, char);
+    if (!data)
+        XSRETURN_UNDEF;
+
+    if (GetFileVersionInfo(filename, handle, size, data)) {
+        VS_FIXEDFILEINFO *info;
+        UINT len;
+        if (VerQueryValue(data, "\\", (void**)&info, &len)) {
+            int dwValueMS1 = (info->dwFileVersionMS>>16);
+            int dwValueMS2 = (info->dwFileVersionMS&0xffff);
+            int dwValueLS1 = (info->dwFileVersionLS>>16);
+            int dwValueLS2 = (info->dwFileVersionLS&0xffff);
+
+            if (GIMME_V == G_ARRAY) {
+                EXTEND(SP, 4);
+                XST_mIV(0, dwValueMS1);
+                XST_mIV(1, dwValueMS2);
+                XST_mIV(2, dwValueLS1);
+                XST_mIV(3, dwValueLS2);
+                items = 4;
+            }
+            else {
+                char version[50];
+                sprintf(version, "%d.%d.%d.%d", dwValueMS1, dwValueMS2, dwValueLS1, dwValueLS2);
+                XST_mPV(0, version);
+            }
+        }
+    }
+    else
+        items = 0;
+
+    Safefree(data);
+    XSRETURN(items);
+}
+
+#ifdef __CYGWIN__
+XS(w32_SetChildShowWindow)
+{
+    /* This function doesn't do anything useful for cygwin.  In the
+     * MSWin32 case it modifies w32_showwindow, which is used by
+     * win32_spawnvp().  Since w32_showwindow is an internal variable
+     * inside the thread_intern structure, the MSWin32 implementation
+     * lives in win32/win32.c in the core Perl distribution.
+     */
+    dXSARGS;
+    XSRETURN_UNDEF;
+}
+#endif
+
+XS(w32_GetCwd)
+{
+    dXSARGS;
+    /* Make the host for current directory */
+    char* ptr = PerlEnv_get_childdir();
+    /*
+     * If ptr != Nullch
+     *   then it worked, set PV valid,
+     *   else return 'undef'
+     */
+    if (ptr) {
+	SV *sv = sv_newmortal();
+	sv_setpv(sv, ptr);
+	PerlEnv_free_childdir(ptr);
+
+#ifndef INCOMPLETE_TAINTS
+	SvTAINTED_on(sv);
+#endif
+
+	EXTEND(SP,1);
+	ST(0) = sv;
+	XSRETURN(1);
+    }
+    XSRETURN_UNDEF;
+}
+
+XS(w32_SetCwd)
+{
+    dXSARGS;
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::SetCwd($cwd)");
+
+    if (IsWin2000() && SvUTF8(ST(0))) {
+        WCHAR *wide = sv_to_wstr(aTHX_ ST(0));
+        char *ansi = my_ansipath(wide);
+        int rc = PerlDir_chdir(ansi);
+        Safefree(wide);
+        Safefree(ansi);
+        if (!rc)
+            XSRETURN_YES;
+    }
+    else {
+        if (!PerlDir_chdir(SvPV_nolen(ST(0))))
+            XSRETURN_YES;
+    }
+
+    XSRETURN_NO;
+}
+
+XS(w32_GetNextAvailDrive)
+{
+    dXSARGS;
+    char ix = 'C';
+    char root[] = "_:\\";
+
+    EXTEND(SP,1);
+    while (ix <= 'Z') {
+	root[0] = ix++;
+	if (GetDriveType(root) == 1) {
+	    root[2] = '\0';
+	    XSRETURN_PV(root);
+	}
+    }
+    XSRETURN_UNDEF;
+}
+
+XS(w32_GetLastError)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(GetLastError());
+}
+
+XS(w32_SetLastError)
+{
+    dXSARGS;
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::SetLastError($error)");
+    SetLastError((DWORD)SvIV(ST(0)));
+    XSRETURN_EMPTY;
+}
+
+XS(w32_LoginName)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    if (IsWin2000()) {
+        WCHAR name[128];
+        DWORD size = countof(name);
+        if (GetUserNameW(name, &size)) {
+            ST(0) = wstr_to_sv(aTHX_ name);
+            XSRETURN(1);
+        }
+    }
+    else {
+        char name[128];
+        DWORD size = countof(name);
+        if (GetUserNameA(name, &size)) {
+            /* size includes NULL */
+            ST(0) = sv_2mortal(newSVpvn(name, size-1));
+            XSRETURN(1);
+        }
+    }
+    XSRETURN_UNDEF;
+}
+
+XS(w32_NodeName)
+{
+    dXSARGS;
+    char name[MAX_COMPUTERNAME_LENGTH+1];
+    DWORD size = sizeof(name);
+    EXTEND(SP,1);
+    if (GetComputerName(name,&size)) {
+	/* size does NOT include NULL :-( */
+	ST(0) = sv_2mortal(newSVpvn(name,size));
+	XSRETURN(1);
+    }
+    XSRETURN_UNDEF;
+}
+
+
+XS(w32_DomainName)
+{
+    dXSARGS;
+    HMODULE module = LoadLibrary("netapi32.dll");
+    PFNNetApiBufferFree pfnNetApiBufferFree;
+    PFNNetWkstaGetInfo pfnNetWkstaGetInfo;
+
+    if (module) {
+        GETPROC(NetApiBufferFree);
+        GETPROC(NetWkstaGetInfo);
+    }
+    EXTEND(SP,1);
+    if (module && pfnNetWkstaGetInfo && pfnNetApiBufferFree) {
+	/* this way is more reliable, in case user has a local account. */
+	char dname[256];
+	DWORD dnamelen = sizeof(dname);
+	struct {
+	    DWORD   wki100_platform_id;
+	    LPWSTR  wki100_computername;
+	    LPWSTR  wki100_langroup;
+	    DWORD   wki100_ver_major;
+	    DWORD   wki100_ver_minor;
+	} *pwi;
+	DWORD retval;
+	retval = pfnNetWkstaGetInfo(NULL, 100, &pwi);
+	/* NERR_Success *is* 0*/
+	if (retval == 0) {
+	    if (pwi->wki100_langroup && *(pwi->wki100_langroup)) {
+		WideCharToMultiByte(CP_ACP, 0, pwi->wki100_langroup,
+				    -1, (LPSTR)dname, dnamelen, NULL, NULL);
+	    }
+	    else {
+		WideCharToMultiByte(CP_ACP, 0, pwi->wki100_computername,
+				    -1, (LPSTR)dname, dnamelen, NULL, NULL);
+	    }
+	    pfnNetApiBufferFree(pwi);
+	    FreeLibrary(module);
+	    XSRETURN_PV(dname);
+	}
+	FreeLibrary(module);
+	SetLastError(retval);
+    }
+    else {
+	/* Win95 doesn't have NetWksta*(), so do it the old way */
+	char name[256];
+	DWORD size = sizeof(name);
+	if (module)
+	    FreeLibrary(module);
+	if (GetUserName(name,&size)) {
+	    char sid[ONE_K_BUFSIZE];
+	    DWORD sidlen = sizeof(sid);
+	    char dname[256];
+	    DWORD dnamelen = sizeof(dname);
+	    SID_NAME_USE snu;
+	    if (LookupAccountName(NULL, name, (PSID)&sid, &sidlen,
+				  dname, &dnamelen, &snu)) {
+		XSRETURN_PV(dname);		/* all that for this */
+	    }
+	}
+    }
+    XSRETURN_UNDEF;
+}
+
+XS(w32_FsType)
+{
+    dXSARGS;
+    char fsname[256];
+    DWORD flags, filecomplen;
+    if (GetVolumeInformation(NULL, NULL, 0, NULL, &filecomplen,
+			 &flags, fsname, sizeof(fsname))) {
+	if (GIMME_V == G_ARRAY) {
+	    XPUSHs(sv_2mortal(newSVpvn(fsname,strlen(fsname))));
+	    XPUSHs(sv_2mortal(newSViv(flags)));
+	    XPUSHs(sv_2mortal(newSViv(filecomplen)));
+	    PUTBACK;
+	    return;
+	}
+	EXTEND(SP,1);
+	XSRETURN_PV(fsname);
+    }
+    XSRETURN_EMPTY;
+}
+
+XS(w32_GetOSVersion)
+{
+    dXSARGS;
+
+    if (GIMME_V == G_SCALAR) {
+        XSRETURN_IV(g_osver.dwPlatformId);
+    }
+    XPUSHs(sv_2mortal(newSVpvn(g_osver.szCSDVersion, strlen(g_osver.szCSDVersion))));
+
+    XPUSHs(sv_2mortal(newSViv(g_osver.dwMajorVersion)));
+    XPUSHs(sv_2mortal(newSViv(g_osver.dwMinorVersion)));
+    XPUSHs(sv_2mortal(newSViv(g_osver.dwBuildNumber)));
+    XPUSHs(sv_2mortal(newSViv(g_osver.dwPlatformId)));
+    if (g_osver_ex) {
+        XPUSHs(sv_2mortal(newSViv(g_osver.wServicePackMajor)));
+        XPUSHs(sv_2mortal(newSViv(g_osver.wServicePackMinor)));
+        XPUSHs(sv_2mortal(newSViv(g_osver.wSuiteMask)));
+        XPUSHs(sv_2mortal(newSViv(g_osver.wProductType)));
+    }
+    PUTBACK;
+}
+
+XS(w32_IsWinNT)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(IsWinNT());
+}
+
+XS(w32_IsWin95)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(IsWin95());
+}
+
+XS(w32_FormatMessage)
+{
+    dXSARGS;
+    DWORD source = 0;
+    char msgbuf[ONE_K_BUFSIZE];
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::FormatMessage($errno)");
+
+    if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM,
+                       &source, (DWORD)SvIV(ST(0)), 0,
+                       msgbuf, sizeof(msgbuf)-1, NULL))
+    {
+        XSRETURN_PV(msgbuf);
+    }
+
+    XSRETURN_UNDEF;
+}
+
+XS(w32_Spawn)
+{
+    dXSARGS;
+    char *cmd, *args;
+    void *env;
+    char *dir;
+    PROCESS_INFORMATION stProcInfo;
+    STARTUPINFO stStartInfo;
+    BOOL bSuccess = FALSE;
+
+    if (items != 3)
+	Perl_croak(aTHX_ "usage: Win32::Spawn($cmdName, $args, $PID)");
+
+    cmd = SvPV_nolen(ST(0));
+    args = SvPV_nolen(ST(1));
+
+    env = PerlEnv_get_childenv();
+    dir = PerlEnv_get_childdir();
+
+    memset(&stStartInfo, 0, sizeof(stStartInfo));   /* Clear the block */
+    stStartInfo.cb = sizeof(stStartInfo);	    /* Set the structure size */
+    stStartInfo.dwFlags = STARTF_USESHOWWINDOW;	    /* Enable wShowWindow control */
+    stStartInfo.wShowWindow = SW_SHOWMINNOACTIVE;   /* Start min (normal) */
+
+    if (CreateProcess(
+		cmd,			/* Image path */
+		args,	 		/* Arguments for command line */
+		NULL,			/* Default process security */
+		NULL,			/* Default thread security */
+		FALSE,			/* Must be TRUE to use std handles */
+		NORMAL_PRIORITY_CLASS,	/* No special scheduling */
+		env,			/* Inherit our environment block */
+		dir,			/* Inherit our currrent directory */
+		&stStartInfo,		/* -> Startup info */
+		&stProcInfo))		/* <- Process info (if OK) */
+    {
+	int pid = (int)stProcInfo.dwProcessId;
+	if (IsWin95() && pid < 0)
+	    pid = -pid;
+	sv_setiv(ST(2), pid);
+	CloseHandle(stProcInfo.hThread);/* library source code does this. */
+	bSuccess = TRUE;
+    }
+    PerlEnv_free_childenv(env);
+    PerlEnv_free_childdir(dir);
+    XSRETURN_IV(bSuccess);
+}
+
+XS(w32_GetTickCount)
+{
+    dXSARGS;
+    DWORD msec = GetTickCount();
+    EXTEND(SP,1);
+    if ((IV)msec > 0)
+	XSRETURN_IV(msec);
+    XSRETURN_NV(msec);
+}
+
+XS(w32_GetShortPathName)
+{
+    dXSARGS;
+    SV *shortpath;
+    DWORD len;
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::GetShortPathName($longPathName)");
+
+    if (IsWin2000()) {
+        WCHAR wshort[MAX_PATH+1];
+        WCHAR *wlong = sv_to_wstr(aTHX_ ST(0));
+        len = GetShortPathNameW(wlong, wshort, countof(wshort));
+        Safefree(wlong);
+        if (len && len < sizeof(wshort)) {
+            ST(0) = wstr_to_sv(aTHX_ wshort);
+            XSRETURN(1);
+        }
+        XSRETURN_UNDEF;
+    }
+
+    shortpath = sv_mortalcopy(ST(0));
+    SvUPGRADE(shortpath, SVt_PV);
+    if (!SvPVX(shortpath) || !SvLEN(shortpath))
+        XSRETURN_UNDEF;
+
+    /* src == target is allowed */
+    do {
+	len = GetShortPathName(SvPVX(shortpath),
+			       SvPVX(shortpath),
+			       (DWORD)SvLEN(shortpath));
+    } while (len >= SvLEN(shortpath) && sv_grow(shortpath,len+1));
+    if (len) {
+	SvCUR_set(shortpath,len);
+	*SvEND(shortpath) = '\0';
+	ST(0) = shortpath;
+	XSRETURN(1);
+    }
+    XSRETURN_UNDEF;
+}
+
+XS(w32_GetFullPathName)
+{
+    dXSARGS;
+    char *fullname;
+    char *ansi = NULL;
+
+/* The code below relies on the fact that PerlDir_mapX() returns an
+ * absolute path, which is only true under PERL_IMPLICIT_SYS when
+ * we use the virtualization code from win32/vdir.h.
+ * Without it PerlDir_mapX() is a no-op and we need to use the same
+ * code as we use for Cygwin.
+ */
+#if __CYGWIN__ || !defined(PERL_IMPLICIT_SYS)
+    char buffer[2*MAX_PATH];
+#endif
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::GetFullPathName($filename)");
+
+#if __CYGWIN__ || !defined(PERL_IMPLICIT_SYS)
+    if (IsWin2000()) {
+        WCHAR *filename = sv_to_wstr(aTHX_ ST(0));
+        WCHAR full[2*MAX_PATH];
+        DWORD len = GetFullPathNameW(filename, countof(full), full, NULL);
+        Safefree(filename);
+        if (len == 0 || len >= countof(full))
+            XSRETURN_EMPTY;
+        ansi = fullname = my_ansipath(full);
+    }
+    else {
+        DWORD len = GetFullPathNameA(SvPV_nolen(ST(0)), countof(buffer), buffer, NULL);
+        if (len == 0 || len >= countof(buffer))
+            XSRETURN_EMPTY;
+        fullname = buffer;
+    }
+#else
+    /* Don't use my_ansipath() unless the $filename argument is in Unicode.
+     * If the relative path doesn't exist, GetShortPathName() will fail and
+     * my_ansipath() will use the long name with replacement characters.
+     * In that case we will be better off using PerlDir_mapA(), which
+     * already uses the ANSI name of the current directory.
+     *
+     * XXX The one missing case is where we could downgrade $filename
+     * XXX from UTF8 into the current codepage.
+     */
+    if (IsWin2000() && SvUTF8(ST(0))) {
+        WCHAR *filename = sv_to_wstr(aTHX_ ST(0));
+        WCHAR *mappedname = PerlDir_mapW(filename);
+        Safefree(filename);
+        ansi = fullname = my_ansipath(mappedname);
+    }
+    else {
+        fullname = PerlDir_mapA(SvPV_nolen(ST(0)));
+    }
+#  if PERL_VERSION < 8
+    {
+        /* PerlDir_mapX() in Perl 5.6 used to return forward slashes */
+        char *str = fullname;
+        while (*str) {
+            if (*str == '/')
+                *str = '\\';
+            ++str;
+        }
+    }
+#  endif
+#endif
+
+    /* GetFullPathName() on Windows NT drops trailing backslash */
+    if (g_osver.dwMajorVersion == 4 && *fullname) {
+        STRLEN len;
+        char *pv = SvPV(ST(0), len);
+        char *lastchar = fullname + strlen(fullname) - 1;
+        /* If ST(0) ends with a slash, but fullname doesn't ... */
+        if (len && (pv[len-1] == '/' || pv[len-1] == '\\') && *lastchar != '\\') {
+            /* fullname is the MAX_PATH+1 sized buffer returned from PerlDir_mapA()
+             * or the 2*MAX_PATH sized local buffer in the __CYGWIN__ case.
+             */
+            if (lastchar - fullname < MAX_PATH - 1)
+                strcpy(lastchar+1, "\\");
+        }
+    }
+
+    if (GIMME_V == G_ARRAY) {
+        char *filepart = strrchr(fullname, '\\');
+
+        EXTEND(SP,1);
+        if (filepart) {
+            XST_mPV(1, ++filepart);
+            *filepart = '\0';
+        }
+        else {
+            XST_mPVN(1, "", 0);
+        }
+        items = 2;
+    }
+    XST_mPV(0, fullname);
+
+    if (ansi)
+        Safefree(ansi);
+    XSRETURN(items);
+}
+
+XS(w32_GetLongPathName)
+{
+    dXSARGS;
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::GetLongPathName($pathname)");
+
+    if (IsWin2000()) {
+        WCHAR *wstr = sv_to_wstr(aTHX_ ST(0));
+        WCHAR wide_path[MAX_PATH+1];
+        WCHAR *long_path;
+
+        if (wcslen(wstr) < countof(wide_path)) {
+            wcscpy(wide_path, wstr);
+            long_path = my_longpathW(wide_path);
+            if (long_path) {
+                Safefree(wstr);
+                ST(0) = wstr_to_sv(aTHX_ long_path);
+                XSRETURN(1);
+            }
+        }
+        Safefree(wstr);
+    }
+    else {
+        SV *path;
+        char tmpbuf[MAX_PATH+1];
+        char *pathstr;
+        STRLEN len;
+
+        path = ST(0);
+        pathstr = SvPV(path,len);
+        if (len < sizeof(tmpbuf)) {
+            strcpy(tmpbuf, pathstr);
+            pathstr = my_longpathA(tmpbuf);
+            if (pathstr) {
+                ST(0) = sv_2mortal(newSVpvn(pathstr, strlen(pathstr)));
+                XSRETURN(1);
+            }
+        }
+    }
+    XSRETURN_EMPTY;
+}
+
+XS(w32_GetANSIPathName)
+{
+    dXSARGS;
+    WCHAR *wide_path;
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::GetANSIPathName($pathname)");
+
+    wide_path = sv_to_wstr(aTHX_ ST(0));
+    ST(0) = wstr_to_ansipath(aTHX_ wide_path);
+    Safefree(wide_path);
+    XSRETURN(1);
+}
+
+XS(w32_Sleep)
+{
+    dXSARGS;
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::Sleep($milliseconds)");
+    Sleep((DWORD)SvIV(ST(0)));
+    XSRETURN_YES;
+}
+
+XS(w32_CopyFile)
+{
+    dXSARGS;
+    BOOL bResult;
+    char *pszSourceFile;
+    char szSourceFile[MAX_PATH+1];
+
+    if (items != 3)
+	Perl_croak(aTHX_ "usage: Win32::CopyFile($from, $to, $overwrite)");
+
+    pszSourceFile = PerlDir_mapA(SvPV_nolen(ST(0)));
+    if (strlen(pszSourceFile) < sizeof(szSourceFile)) {
+        strcpy(szSourceFile, pszSourceFile);
+        bResult = CopyFileA(szSourceFile, PerlDir_mapA(SvPV_nolen(ST(1))), !SvTRUE(ST(2)));
+        if (bResult)
+            XSRETURN_YES;
+    }
+    XSRETURN_NO;
+}
+
+XS(w32_OutputDebugString)
+{
+    dXSARGS;
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::OutputDebugString($string)");
+
+    if (SvUTF8(ST(0))) {
+        WCHAR *str = sv_to_wstr(aTHX_ ST(0));
+        OutputDebugStringW(str);
+        Safefree(str);
+    }
+    else
+        OutputDebugStringA(SvPV_nolen(ST(0)));
+
+    XSRETURN_EMPTY;
+}
+
+XS(w32_GetCurrentProcessId)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(GetCurrentProcessId());
+}
+
+XS(w32_GetCurrentThreadId)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(GetCurrentThreadId());
+}
+
+XS(w32_CreateDirectory)
+{
+    dXSARGS;
+    BOOL result;
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::CreateDirectory($dir)");
+
+    if (IsWin2000() && SvUTF8(ST(0))) {
+        WCHAR *dir = sv_to_wstr(aTHX_ ST(0));
+        result = CreateDirectoryW(dir, NULL);
+        Safefree(dir);
+    }
+    else {
+        result = CreateDirectoryA(SvPV_nolen(ST(0)), NULL);
+    }
+
+    ST(0) = boolSV(result);
+    XSRETURN(1);
+}
+
+XS(w32_CreateFile)
+{
+    dXSARGS;
+    HANDLE handle;
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::CreateFile($file)");
+
+    if (IsWin2000() && SvUTF8(ST(0))) {
+        WCHAR *file = sv_to_wstr(aTHX_ ST(0));
+        handle = CreateFileW(file, GENERIC_WRITE, FILE_SHARE_WRITE,
+                             NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
+        Safefree(file);
+    }
+    else {
+        handle = CreateFileA(SvPV_nolen(ST(0)), GENERIC_WRITE, FILE_SHARE_WRITE,
+                             NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL);
+    }
+
+    if (handle != INVALID_HANDLE_VALUE)
+        CloseHandle(handle);
+
+    ST(0) = boolSV(handle != INVALID_HANDLE_VALUE);
+    XSRETURN(1);
+}
+
+XS(w32_GetSystemMetrics)
+{
+    dXSARGS;
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::GetSystemMetrics($index)");
+
+    XSRETURN_IV(GetSystemMetrics((int)SvIV(ST(0))));
+}
+
+XS(w32_GetProductInfo)
+{
+    dXSARGS;
+    DWORD type;
+    HMODULE module;
+    PFNGetProductInfo pfnGetProductInfo;
+
+    if (items != 4)
+	Perl_croak(aTHX_ "usage: Win32::GetProductInfo($major,$minor,$spmajor,$spminor)");
+
+    module = GetModuleHandle("kernel32.dll");
+    GETPROC(GetProductInfo);
+    if (pfnGetProductInfo &&
+        pfnGetProductInfo((DWORD)SvIV(ST(0)), (DWORD)SvIV(ST(1)),
+                          (DWORD)SvIV(ST(2)), (DWORD)SvIV(ST(3)), &type))
+    {
+        XSRETURN_IV(type);
+    }
+
+    /* PRODUCT_UNDEFINED */
+    XSRETURN_IV(0);
+}
+
+XS(w32_GetACP)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(GetACP());
+}
+
+XS(w32_GetConsoleCP)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(GetConsoleCP());
+}
+
+XS(w32_GetConsoleOutputCP)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(GetConsoleOutputCP());
+}
+
+XS(w32_GetOEMCP)
+{
+    dXSARGS;
+    EXTEND(SP,1);
+    XSRETURN_IV(GetOEMCP());
+}
+
+XS(w32_SetConsoleCP)
+{
+    dXSARGS;
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::SetConsoleCP($id)");
+
+    XSRETURN_IV(SetConsoleCP((int)SvIV(ST(0))));
+}
+
+XS(w32_SetConsoleOutputCP)
+{
+    dXSARGS;
+
+    if (items != 1)
+	Perl_croak(aTHX_ "usage: Win32::SetConsoleOutputCP($id)");
+
+    XSRETURN_IV(SetConsoleOutputCP((int)SvIV(ST(0))));
+}
+
+MODULE = Win32            PACKAGE = Win32
+
+PROTOTYPES: DISABLE
+
+BOOT:
+{
+    char *file = __FILE__;
+
+    if (g_osver.dwOSVersionInfoSize == 0) {
+        g_osver.dwOSVersionInfoSize = sizeof(g_osver);
+        if (!GetVersionExA((OSVERSIONINFOA*)&g_osver)) {
+            g_osver_ex = FALSE;
+            g_osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);
+            GetVersionExA((OSVERSIONINFOA*)&g_osver);
+        }
+    }
+
+    newXS("Win32::LookupAccountName", w32_LookupAccountName, file);
+    newXS("Win32::LookupAccountSID", w32_LookupAccountSID, file);
+    newXS("Win32::InitiateSystemShutdown", w32_InitiateSystemShutdown, file);
+    newXS("Win32::AbortSystemShutdown", w32_AbortSystemShutdown, file);
+    newXS("Win32::ExpandEnvironmentStrings", w32_ExpandEnvironmentStrings, file);
+    newXS("Win32::MsgBox", w32_MsgBox, file);
+    newXS("Win32::LoadLibrary", w32_LoadLibrary, file);
+    newXS("Win32::FreeLibrary", w32_FreeLibrary, file);
+    newXS("Win32::GetProcAddress", w32_GetProcAddress, file);
+    newXS("Win32::RegisterServer", w32_RegisterServer, file);
+    newXS("Win32::UnregisterServer", w32_UnregisterServer, file);
+    newXS("Win32::GetArchName", w32_GetArchName, file);
+    newXS("Win32::GetChipName", w32_GetChipName, file);
+    newXS("Win32::GuidGen", w32_GuidGen, file);
+    newXS("Win32::GetFolderPath", w32_GetFolderPath, file);
+    newXS("Win32::IsAdminUser", w32_IsAdminUser, file);
+    newXS("Win32::GetFileVersion", w32_GetFileVersion, file);
+
+    newXS("Win32::GetCwd", w32_GetCwd, file);
+    newXS("Win32::SetCwd", w32_SetCwd, file);
+    newXS("Win32::GetNextAvailDrive", w32_GetNextAvailDrive, file);
+    newXS("Win32::GetLastError", w32_GetLastError, file);
+    newXS("Win32::SetLastError", w32_SetLastError, file);
+    newXS("Win32::LoginName", w32_LoginName, file);
+    newXS("Win32::NodeName", w32_NodeName, file);
+    newXS("Win32::DomainName", w32_DomainName, file);
+    newXS("Win32::FsType", w32_FsType, file);
+    newXS("Win32::GetOSVersion", w32_GetOSVersion, file);
+    newXS("Win32::IsWinNT", w32_IsWinNT, file);
+    newXS("Win32::IsWin95", w32_IsWin95, file);
+    newXS("Win32::FormatMessage", w32_FormatMessage, file);
+    newXS("Win32::Spawn", w32_Spawn, file);
+    newXS("Win32::GetTickCount", w32_GetTickCount, file);
+    newXS("Win32::GetShortPathName", w32_GetShortPathName, file);
+    newXS("Win32::GetFullPathName", w32_GetFullPathName, file);
+    newXS("Win32::GetLongPathName", w32_GetLongPathName, file);
+    newXS("Win32::GetANSIPathName", w32_GetANSIPathName, file);
+    newXS("Win32::CopyFile", w32_CopyFile, file);
+    newXS("Win32::Sleep", w32_Sleep, file);
+    newXS("Win32::OutputDebugString", w32_OutputDebugString, file);
+    newXS("Win32::GetCurrentProcessId", w32_GetCurrentProcessId, file);
+    newXS("Win32::GetCurrentThreadId", w32_GetCurrentThreadId, file);
+    newXS("Win32::CreateDirectory", w32_CreateDirectory, file);
+    newXS("Win32::CreateFile", w32_CreateFile, file);
+    newXS("Win32::GetSystemMetrics", w32_GetSystemMetrics, file);
+    newXS("Win32::GetProductInfo", w32_GetProductInfo, file);
+    newXS("Win32::GetACP", w32_GetACP, file);
+    newXS("Win32::GetConsoleCP", w32_GetConsoleCP, file);
+    newXS("Win32::GetConsoleOutputCP", w32_GetConsoleOutputCP, file);
+    newXS("Win32::GetOEMCP", w32_GetOEMCP, file);
+    newXS("Win32::SetConsoleCP", w32_SetConsoleCP, file);
+    newXS("Win32::SetConsoleOutputCP", w32_SetConsoleOutputCP, file);
+#ifdef __CYGWIN__
+    newXS("Win32::SetChildShowWindow", w32_SetChildShowWindow, file);
+#endif
+    XSRETURN_YES;
+}


Property changes on: vendor/perl/dist/cpan/Win32/Win32.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/longpath.inc
===================================================================
--- vendor/perl/dist/cpan/Win32/longpath.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/longpath.inc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,111 +1,111 @@
-#ifndef isSLASH
-#define isSLASH(c) ((c) == '/' || (c) == '\\')
-#define SKIP_SLASHES(s) \
-    STMT_START {				\
-	while (*(s) && isSLASH(*(s)))		\
-	    ++(s);				\
-    } STMT_END
-#define COPY_NONSLASHES(d,s) \
-    STMT_START {				\
-	while (*(s) && !isSLASH(*(s)))		\
-	    *(d)++ = *(s)++;			\
-    } STMT_END
-#endif
-
-/* Find the longname of a given path.  path is destructively modified.
- * It should have space for at least MAX_PATH characters. */
-
-CHAR_T *
-LONGPATH(CHAR_T *path)
-{
-    WIN32_FIND_DATA_T fdata;
-    HANDLE fhand;
-    CHAR_T tmpbuf[MAX_PATH+1];
-    CHAR_T *tmpstart = tmpbuf;
-    CHAR_T *start = path;
-    CHAR_T sep;
-    if (!path)
-	return NULL;
-
-    /* drive prefix */
-    if (isALPHA(path[0]) && path[1] == ':') {
-	start = path + 2;
-	*tmpstart++ = toupper(path[0]);
-	*tmpstart++ = ':';
-    }
-    /* UNC prefix */
-    else if (isSLASH(path[0]) && isSLASH(path[1])) {
-	start = path + 2;
-	*tmpstart++ = path[0];
-	*tmpstart++ = path[1];
-	SKIP_SLASHES(start);
-	COPY_NONSLASHES(tmpstart,start);	/* copy machine name */
-	if (*start) {
-	    *tmpstart++ = *start++;
-	    SKIP_SLASHES(start);
-	    COPY_NONSLASHES(tmpstart,start);	/* copy share name */
-	}
-    }
-    *tmpstart = '\0';
-    while (*start) {
-	/* copy initial slash, if any */
-	if (isSLASH(*start)) {
-	    *tmpstart++ = *start++;
-	    *tmpstart = '\0';
-	    SKIP_SLASHES(start);
-	}
-
-	/* FindFirstFile() expands "." and "..", so we need to pass
-	 * those through unmolested */
-	if (*start == '.'
-	    && (!start[1] || isSLASH(start[1])
-		|| (start[1] == '.' && (!start[2] || isSLASH(start[2])))))
-	{
-	    COPY_NONSLASHES(tmpstart,start);	/* copy "." or ".." */
-	    *tmpstart = '\0';
-	    continue;
-	}
-
-	/* if this is the end, bust outta here */
-	if (!*start)
-	    break;
-
-	/* now we're at a non-slash; walk up to next slash */
-	while (*start && !isSLASH(*start))
-	    ++start;
-
-	/* stop and find full name of component */
-	sep = *start;
-	*start = '\0';
-	fhand = FN_FINDFIRSTFILE(path,&fdata);
-	*start = sep;
-	if (fhand != INVALID_HANDLE_VALUE) {
-	    STRLEN len = FN_STRLEN(fdata.cFileName);
-	    if ((STRLEN)(tmpbuf + sizeof(tmpbuf) - tmpstart) > len) {
-		FN_STRCPY(tmpstart, fdata.cFileName);
-		tmpstart += len;
-		FindClose(fhand);
-	    }
-	    else {
-		FindClose(fhand);
-		errno = ERANGE;
-		return NULL;
-	    }
-	}
-	else {
-	    /* failed a step, just return without side effects */
-	    /*PerlIO_printf(Perl_debug_log, "Failed to find %s\n", path);*/
-	    errno = EINVAL;
-	    return NULL;
-	}
-    }
-    FN_STRCPY(path,tmpbuf);
-    return path;
-}
-
-#undef CHAR_T
-#undef WIN32_FIND_DATA_T
-#undef FN_FINDFIRSTFILE
-#undef FN_STRLEN
-#undef FN_STRCPY
-#undef LONGPATH
+#ifndef isSLASH
+#define isSLASH(c) ((c) == '/' || (c) == '\\')
+#define SKIP_SLASHES(s) \
+    STMT_START {				\
+	while (*(s) && isSLASH(*(s)))		\
+	    ++(s);				\
+    } STMT_END
+#define COPY_NONSLASHES(d,s) \
+    STMT_START {				\
+	while (*(s) && !isSLASH(*(s)))		\
+	    *(d)++ = *(s)++;			\
+    } STMT_END
+#endif
+
+/* Find the longname of a given path.  path is destructively modified.
+ * It should have space for at least MAX_PATH characters. */
+
+CHAR_T *
+LONGPATH(CHAR_T *path)
+{
+    WIN32_FIND_DATA_T fdata;
+    HANDLE fhand;
+    CHAR_T tmpbuf[MAX_PATH+1];
+    CHAR_T *tmpstart = tmpbuf;
+    CHAR_T *start = path;
+    CHAR_T sep;
+    if (!path)
+	return NULL;
+
+    /* drive prefix */
+    if (isALPHA(path[0]) && path[1] == ':') {
+	start = path + 2;
+	*tmpstart++ = toupper(path[0]);
+	*tmpstart++ = ':';
+    }
+    /* UNC prefix */
+    else if (isSLASH(path[0]) && isSLASH(path[1])) {
+	start = path + 2;
+	*tmpstart++ = path[0];
+	*tmpstart++ = path[1];
+	SKIP_SLASHES(start);
+	COPY_NONSLASHES(tmpstart,start);	/* copy machine name */
+	if (*start) {
+	    *tmpstart++ = *start++;
+	    SKIP_SLASHES(start);
+	    COPY_NONSLASHES(tmpstart,start);	/* copy share name */
+	}
+    }
+    *tmpstart = '\0';
+    while (*start) {
+	/* copy initial slash, if any */
+	if (isSLASH(*start)) {
+	    *tmpstart++ = *start++;
+	    *tmpstart = '\0';
+	    SKIP_SLASHES(start);
+	}
+
+	/* FindFirstFile() expands "." and "..", so we need to pass
+	 * those through unmolested */
+	if (*start == '.'
+	    && (!start[1] || isSLASH(start[1])
+		|| (start[1] == '.' && (!start[2] || isSLASH(start[2])))))
+	{
+	    COPY_NONSLASHES(tmpstart,start);	/* copy "." or ".." */
+	    *tmpstart = '\0';
+	    continue;
+	}
+
+	/* if this is the end, bust outta here */
+	if (!*start)
+	    break;
+
+	/* now we're at a non-slash; walk up to next slash */
+	while (*start && !isSLASH(*start))
+	    ++start;
+
+	/* stop and find full name of component */
+	sep = *start;
+	*start = '\0';
+	fhand = FN_FINDFIRSTFILE(path,&fdata);
+	*start = sep;
+	if (fhand != INVALID_HANDLE_VALUE) {
+	    STRLEN len = FN_STRLEN(fdata.cFileName);
+	    if ((STRLEN)(tmpbuf + sizeof(tmpbuf) - tmpstart) > len) {
+		FN_STRCPY(tmpstart, fdata.cFileName);
+		tmpstart += len;
+		FindClose(fhand);
+	    }
+	    else {
+		FindClose(fhand);
+		errno = ERANGE;
+		return NULL;
+	    }
+	}
+	else {
+	    /* failed a step, just return without side effects */
+	    /*PerlIO_printf(Perl_debug_log, "Failed to find %s\n", path);*/
+	    errno = EINVAL;
+	    return NULL;
+	}
+    }
+    FN_STRCPY(path,tmpbuf);
+    return path;
+}
+
+#undef CHAR_T
+#undef WIN32_FIND_DATA_T
+#undef FN_FINDFIRSTFILE
+#undef FN_STRLEN
+#undef FN_STRCPY
+#undef LONGPATH


Property changes on: vendor/perl/dist/cpan/Win32/longpath.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/CreateFile.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/CreateFile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/CreateFile.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,31 +1,31 @@
-use strict;
-use Test;
-use Win32;
-
-my $path = "testing-$$";
-rmdir($path)  if -d $path;
-unlink($path) if -f $path;
-
-plan tests => 15;
-
-ok(!-d $path);
-ok(!-f $path);
-
-ok(Win32::CreateDirectory($path));
-ok(-d $path);
-
-ok(!Win32::CreateDirectory($path));
-ok(!Win32::CreateFile($path));
-
-ok(rmdir($path));
-ok(!-d $path);
-
-ok(Win32::CreateFile($path));
-ok(-f $path);
-ok(-s $path, 0);
-
-ok(!Win32::CreateDirectory($path));
-ok(!Win32::CreateFile($path));
-
-ok(unlink($path));
-ok(!-f $path);
+use strict;
+use Test;
+use Win32;
+
+my $path = "testing-$$";
+rmdir($path)  if -d $path;
+unlink($path) if -f $path;
+
+plan tests => 15;
+
+ok(!-d $path);
+ok(!-f $path);
+
+ok(Win32::CreateDirectory($path));
+ok(-d $path);
+
+ok(!Win32::CreateDirectory($path));
+ok(!Win32::CreateFile($path));
+
+ok(rmdir($path));
+ok(!-d $path);
+
+ok(Win32::CreateFile($path));
+ok(-f $path);
+ok(-s $path, 0);
+
+ok(!Win32::CreateDirectory($path));
+ok(!Win32::CreateFile($path));
+
+ok(unlink($path));
+ok(!-f $path);


Property changes on: vendor/perl/dist/cpan/Win32/t/CreateFile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/ExpandEnvironmentStrings.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/ExpandEnvironmentStrings.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/ExpandEnvironmentStrings.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
-use strict;
-use Test;
-use Win32;
-
-plan tests => 1;
-
-ok(Win32::ExpandEnvironmentStrings("%WINDIR%"), $ENV{WINDIR});
+use strict;
+use Test;
+use Win32;
+
+plan tests => 1;
+
+ok(Win32::ExpandEnvironmentStrings("%WINDIR%"), $ENV{WINDIR});


Property changes on: vendor/perl/dist/cpan/Win32/t/ExpandEnvironmentStrings.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GetCurrentThreadId.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GetCurrentThreadId.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GetCurrentThreadId.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,38 +1,38 @@
-use strict;
-use Config qw(%Config);
-use Test;
-use Win32;
-
-my $fork_emulation = $Config{ccflags} =~ /PERL_IMPLICIT_SYS/;
-
-my $tests = $fork_emulation ? 4 : 2;
-plan tests => $tests;
-
-my $pid = $$+0; # make sure we don't copy any magic to $pid
-
-if ($^O eq "cygwin") {
-    skip(!defined &Cygwin::pid_to_winpid,
-	 Cygwin::pid_to_winpid($pid),
-	 Win32::GetCurrentProcessId());
-}
-else {
-    ok($pid, Win32::GetCurrentProcessId());
-}
-
-if ($fork_emulation) {
-    # This test relies on the implementation detail that the fork() emulation
-    # uses the negative value of the thread id as a pseudo process id.
-    if (my $child = fork) {
-	waitpid($child, 0);
-	exit 0;
-    }
-    ok(-$$, Win32::GetCurrentThreadId());
-
-    # GetCurrentProcessId() should still return the real PID
-    ok($pid, Win32::GetCurrentProcessId());
-    ok($$ != Win32::GetCurrentProcessId());
-}
-else {
-    # here we just want to see something.
-    ok(Win32::GetCurrentThreadId() > 0);
-}
+use strict;
+use Config qw(%Config);
+use Test;
+use Win32;
+
+my $fork_emulation = $Config{ccflags} =~ /PERL_IMPLICIT_SYS/;
+
+my $tests = $fork_emulation ? 4 : 2;
+plan tests => $tests;
+
+my $pid = $$+0; # make sure we don't copy any magic to $pid
+
+if ($^O eq "cygwin") {
+    skip(!defined &Cygwin::pid_to_winpid,
+	 Cygwin::pid_to_winpid($pid),
+	 Win32::GetCurrentProcessId());
+}
+else {
+    ok($pid, Win32::GetCurrentProcessId());
+}
+
+if ($fork_emulation) {
+    # This test relies on the implementation detail that the fork() emulation
+    # uses the negative value of the thread id as a pseudo process id.
+    if (my $child = fork) {
+	waitpid($child, 0);
+	exit 0;
+    }
+    ok(-$$, Win32::GetCurrentThreadId());
+
+    # GetCurrentProcessId() should still return the real PID
+    ok($pid, Win32::GetCurrentProcessId());
+    ok($$ != Win32::GetCurrentProcessId());
+}
+else {
+    # here we just want to see something.
+    ok(Win32::GetCurrentThreadId() > 0);
+}


Property changes on: vendor/perl/dist/cpan/Win32/t/GetCurrentThreadId.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GetFileVersion.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GetFileVersion.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GetFileVersion.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,18 +1,18 @@
-use strict;
-use Test;
-use Win32;
-
-unless (defined &Win32::BuildNumber) {
-    print "1..0 # Skip: Only ActivePerl seems to set the perl.exe fileversion\n";
-    exit;
-}
-
-plan tests => 2;
-
-my @version = Win32::GetFileVersion($^X);
-my $version = $version[0] + $version[1] / 1000 + $version[2] / 1000000;
-
-# numify $] because it is a version object in 5.10 which will stringify with trailing 0s
-ok($version, 0+$]);
-
-ok($version[3], int(Win32::BuildNumber()));
+use strict;
+use Test;
+use Win32;
+
+unless (defined &Win32::BuildNumber) {
+    print "1..0 # Skip: Only ActivePerl seems to set the perl.exe fileversion\n";
+    exit;
+}
+
+plan tests => 2;
+
+my @version = Win32::GetFileVersion($^X);
+my $version = $version[0] + $version[1] / 1000 + $version[2] / 1000000;
+
+# numify $] because it is a version object in 5.10 which will stringify with trailing 0s
+ok($version, 0+$]);
+
+ok($version[3], int(Win32::BuildNumber()));


Property changes on: vendor/perl/dist/cpan/Win32/t/GetFileVersion.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GetFolderPath.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GetFolderPath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GetFolderPath.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-use strict;
-use Test;
-use Win32;
-
-plan tests => 1;
-
-# "windir" exists back to Win9X; "SystemRoot" only exists on WinNT and later.
-ok(Win32::GetFolderPath(Win32::CSIDL_WINDOWS), $ENV{WINDIR});
+use strict;
+use Test;
+use Win32;
+
+plan tests => 1;
+
+# "windir" exists back to Win9X; "SystemRoot" only exists on WinNT and later.
+ok(Win32::GetFolderPath(Win32::CSIDL_WINDOWS), $ENV{WINDIR});


Property changes on: vendor/perl/dist/cpan/Win32/t/GetFolderPath.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GetFullPathName.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GetFullPathName.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GetFullPathName.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,34 +1,34 @@
-use strict;
-use Test;
-use Win32;
-
-plan tests => 16;
-
-my $cwd = Win32::GetCwd;
-my @cwd = split/\\/, $cwd;
-my $file = pop @cwd;
-my $dir = join('\\', @cwd);
-
-ok(scalar Win32::GetFullPathName('.'), $cwd);
-ok((Win32::GetFullPathName('.'))[0], "$dir\\");
-ok((Win32::GetFullPathName('.'))[1], $file);
-
-ok((Win32::GetFullPathName('./'))[0], "$cwd\\");
-ok((Win32::GetFullPathName('.\\'))[0], "$cwd\\");
-ok((Win32::GetFullPathName('./'))[1], "");
-
-ok(scalar Win32::GetFullPathName($cwd), $cwd);
-ok((Win32::GetFullPathName($cwd))[0], "$dir\\");
-ok((Win32::GetFullPathName($cwd))[1], $file);
-
-ok(scalar Win32::GetFullPathName(substr($cwd,2)), $cwd);
-ok((Win32::GetFullPathName(substr($cwd,2)))[0], "$dir\\");
-ok((Win32::GetFullPathName(substr($cwd,2)))[1], $file);
-
-ok(scalar Win32::GetFullPathName('/Foo Bar/'), substr($cwd,0,2)."\\Foo Bar\\");
-
-chdir($dir);
-ok(scalar Win32::GetFullPathName('.'), $dir);
-
-ok((Win32::GetFullPathName($file))[0], "$dir\\");
-ok((Win32::GetFullPathName($file))[1], $file);
+use strict;
+use Test;
+use Win32;
+
+plan tests => 16;
+
+my $cwd = Win32::GetCwd;
+my @cwd = split/\\/, $cwd;
+my $file = pop @cwd;
+my $dir = join('\\', @cwd);
+
+ok(scalar Win32::GetFullPathName('.'), $cwd);
+ok((Win32::GetFullPathName('.'))[0], "$dir\\");
+ok((Win32::GetFullPathName('.'))[1], $file);
+
+ok((Win32::GetFullPathName('./'))[0], "$cwd\\");
+ok((Win32::GetFullPathName('.\\'))[0], "$cwd\\");
+ok((Win32::GetFullPathName('./'))[1], "");
+
+ok(scalar Win32::GetFullPathName($cwd), $cwd);
+ok((Win32::GetFullPathName($cwd))[0], "$dir\\");
+ok((Win32::GetFullPathName($cwd))[1], $file);
+
+ok(scalar Win32::GetFullPathName(substr($cwd,2)), $cwd);
+ok((Win32::GetFullPathName(substr($cwd,2)))[0], "$dir\\");
+ok((Win32::GetFullPathName(substr($cwd,2)))[1], $file);
+
+ok(scalar Win32::GetFullPathName('/Foo Bar/'), substr($cwd,0,2)."\\Foo Bar\\");
+
+chdir($dir);
+ok(scalar Win32::GetFullPathName('.'), $dir);
+
+ok((Win32::GetFullPathName($file))[0], "$dir\\");
+ok((Win32::GetFullPathName($file))[1], $file);


Property changes on: vendor/perl/dist/cpan/Win32/t/GetFullPathName.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GetLongPathName.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GetLongPathName.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GetLongPathName.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,53 +1,53 @@
-use strict;
-use Test;
-use Win32;
-
-my @paths = qw(
-    /
-    //
-    .
-    ..
-    c:
-    c:/
-    c:./
-    c:/.
-    c:/..
-    c:./..
-    //./
-    //.
-    //..
-    //./..
-);
-push @paths, map { my $x = $_; $x =~ s,/,\\,g; $x } @paths;
-push @paths, qw(
-    ../\
-    c:.\\../\
-    c:/\..//
-    c://.\/./\
-    \\.\\../\
-    //\..//
-    //.\/./\
-);
-
-my $drive = $ENV{SYSTEMDRIVE};
-if ($drive) {
-    for (@paths) {
-	s/^c:/$drive/;
-    }
-}
-my %expect;
- at expect{@paths} = map { my $x = $_;
-                        $x =~ s,(.[/\\])[/\\]+,$1,g;
-                        $x =~ s,^(\w):,\U$1:,;
-                        $x } @paths;
-
-plan tests => scalar(@paths);
-
-my $i = 1;
-for (@paths) {
-    my $got = Win32::GetLongPathName($_);
-    print "# '$_' => expect '$expect{$_}' => got '$got'\n";
-    print "not " unless $expect{$_} eq $got;
-    print "ok $i\n";
-    ++$i;
-}
+use strict;
+use Test;
+use Win32;
+
+my @paths = qw(
+    /
+    //
+    .
+    ..
+    c:
+    c:/
+    c:./
+    c:/.
+    c:/..
+    c:./..
+    //./
+    //.
+    //..
+    //./..
+);
+push @paths, map { my $x = $_; $x =~ s,/,\\,g; $x } @paths;
+push @paths, qw(
+    ../\
+    c:.\\../\
+    c:/\..//
+    c://.\/./\
+    \\.\\../\
+    //\..//
+    //.\/./\
+);
+
+my $drive = $ENV{SYSTEMDRIVE};
+if ($drive) {
+    for (@paths) {
+	s/^c:/$drive/;
+    }
+}
+my %expect;
+ at expect{@paths} = map { my $x = $_;
+                        $x =~ s,(.[/\\])[/\\]+,$1,g;
+                        $x =~ s,^(\w):,\U$1:,;
+                        $x } @paths;
+
+plan tests => scalar(@paths);
+
+my $i = 1;
+for (@paths) {
+    my $got = Win32::GetLongPathName($_);
+    print "# '$_' => expect '$expect{$_}' => got '$got'\n";
+    print "not " unless $expect{$_} eq $got;
+    print "ok $i\n";
+    ++$i;
+}


Property changes on: vendor/perl/dist/cpan/Win32/t/GetLongPathName.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GetOSName.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GetOSName.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GetOSName.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -99,8 +99,9 @@
 ["7 [Enterprise]",                  "7",       2, 6, 1, 0x04         ],
 ["7 [Ultimate]",                    "7",       2, 6, 1, 0x01         ],
 
-
+["8",                               "8",       2, 6, 2               ],
 ["2008 [R2]",                       "2008",    2, 6, 1, 0x00, 2, 89  ],
+["2012",                            "2012",    2, 6, 2, 0x00, 2, 89  ],
 ["[Small Business Server] 2008 R2", "2008",    2, 6, 1, 0x09, 2, 89  ],
 
 );
@@ -127,7 +128,7 @@
     # and 2003/2008 start with "Windows Server"
     unless ($pretty eq "Win32s") {
 	my $prefix = "Windows";
-	$prefix .= " Server" if $pretty =~ /^200[38]/;
+	$prefix .= " Server" if $pretty =~ /^20(03|08|12)/;
 	$pretty = "$prefix $pretty";
     }
 


Property changes on: vendor/perl/dist/cpan/Win32/t/GetOSName.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GetOSVersion.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GetOSVersion.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GetOSVersion.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,11 @@
-use strict;
-use Test;
-use Win32;
-
-plan tests => 1;
-
-my $scalar = Win32::GetOSVersion();
-my @array  = Win32::GetOSVersion();
-
-print "not " unless $scalar == $array[4];
-print "ok 1\n";
+use strict;
+use Test;
+use Win32;
+
+plan tests => 1;
+
+my $scalar = Win32::GetOSVersion();
+my @array  = Win32::GetOSVersion();
+
+print "not " unless $scalar == $array[4];
+print "ok 1\n";


Property changes on: vendor/perl/dist/cpan/Win32/t/GetOSVersion.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GetShortPathName.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GetShortPathName.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GetShortPathName.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,20 +1,20 @@
-use strict;
-use Test;
-use Win32;
-
-my $path = "Long Path $$";
-unlink($path);
-END { unlink $path }
-
-plan tests => 5;
-
-Win32::CreateFile($path);
-ok(-f $path);
-
-my $short = Win32::GetShortPathName($path);
-ok($short, qr/^\S{1,8}(\.\S{1,3})?$/);
-ok(-f $short);
-
-unlink($path);
-ok(!-f $path);
-ok(!defined Win32::GetShortPathName($path));
+use strict;
+use Test;
+use Win32;
+
+my $path = "Long Path $$";
+unlink($path);
+END { unlink $path }
+
+plan tests => 5;
+
+Win32::CreateFile($path);
+ok(-f $path);
+
+my $short = Win32::GetShortPathName($path);
+ok($short, qr/^\S{1,8}(\.\S{1,3})?$/);
+ok(-f $short);
+
+unlink($path);
+ok(!-f $path);
+ok(!defined Win32::GetShortPathName($path));


Property changes on: vendor/perl/dist/cpan/Win32/t/GetShortPathName.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/GuidGen.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/GuidGen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/GuidGen.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,15 @@
-use strict;
-use Test;
-use Win32;
-
-plan tests => 3;
-
-my $guid1 = Win32::GuidGen();
-my $guid2 = Win32::GuidGen();
-
-# {FB9586CD-273B-43BE-A20C-485A6BD4FCD6}
-ok($guid1, qr/^{\w{8}(-\w{4}){3}-\w{12}}$/);
-ok($guid2, qr/^{\w{8}(-\w{4}){3}-\w{12}}$/);
-
-# Every GUID is unique
-ok($guid1 ne $guid2);
+use strict;
+use Test;
+use Win32;
+
+plan tests => 3;
+
+my $guid1 = Win32::GuidGen();
+my $guid2 = Win32::GuidGen();
+
+# {FB9586CD-273B-43BE-A20C-485A6BD4FCD6}
+ok($guid1, qr/^{\w{8}(-\w{4}){3}-\w{12}}$/);
+ok($guid2, qr/^{\w{8}(-\w{4}){3}-\w{12}}$/);
+
+# Every GUID is unique
+ok($guid1 ne $guid2);


Property changes on: vendor/perl/dist/cpan/Win32/t/GuidGen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/Names.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/Names.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/Names.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,56 +1,57 @@
-use strict;
-BEGIN {
-    eval "use Test::More";
-    return unless $@;
-    print "1..0 # Skip: Test requires Test::More module\n";
-    exit 0;
-}
-use Win32;
-
-my $tests = 14;
-$tests += 2 if Win32::IsWinNT();
-
-plan tests => $tests;
-
-# test Win32::DomainName()
-if (Win32::IsWinNT()) {
-    my $domain = eval { Win32::DomainName() };
-    SKIP: {
-	skip('The Workstation service has not been started', 2) if (Win32::GetLastError() == 2138);
-	is( $@, '', "Win32::DomainName()" );
-	like( $domain, '/^[a-zA-Z0-9!@#$%^&()_\'{}.~-]+$/', "  - checking returned domain" );
-    }
-}
-
-# test Win32::GetArchName()
-my $archname = eval { Win32::GetArchName() };
-is( $@, '', "Win32::GetArchName()" );
-cmp_ok( length($archname), '>=', 3, "  - checking returned architecture name" );
-
-# test Win32::GetChipName()
-my $chipname = eval { Win32::GetChipName() };
-is( $@, '', "Win32::GetChipName()" );
-cmp_ok( length($chipname), '>=', 3, "  - checking returned chip name" );
-
-# test Win32::GetOSName()
-#  - scalar context
-my $osname = eval { Win32::GetOSName() };
-is( $@, '', "Win32::GetOSName() in scalar context" );
-cmp_ok( length($osname), '>', 3, "  - checking returned OS name" );
-
-#  - list context
-my ($osname2, $desc) = eval { Win32::GetOSName() };
-is( $@, '', "Win32::GetOSName() in list context" );
-cmp_ok( length($osname2), '>', 3, "  - checking returned OS name" );
-ok( defined($desc), "  - checking returned description" );
-is( $osname2, $osname, "  - checking that OS name is the same in both calls" );
-
-# test Win32::LoginName()
-my $login = eval { Win32::LoginName() };
-is( $@, '', "Win32::LoginName()" );
-cmp_ok( length($login), '>', 1, "  - checking returned login name" );
-
-# test Win32::NodeName()
-my $nodename = eval { Win32::NodeName() };
-is( $@, '', "Win32::NodeName()" );
-cmp_ok( length($nodename), '>', 1, "  - checking returned node name" );
+use strict;
+BEGIN {
+    eval "use Test::More";
+    return unless $@;
+    print "1..0 # Skip: Test requires Test::More module\n";
+    exit 0;
+}
+use Win32;
+
+my $tests = 14;
+$tests += 2 if Win32::IsWinNT();
+
+plan tests => $tests;
+
+# test Win32::DomainName()
+if (Win32::IsWinNT()) {
+    my $domain = eval { Win32::DomainName() };
+    SKIP: {
+	skip('The Workstation service has not been started', 2) if (Win32::GetLastError() == 2138);
+	is( $@, '', "Win32::DomainName()" );
+	like( $domain, '/^[a-zA-Z0-9!@#$%^&()_\'{}.~-]+$/', "  - checking returned domain" );
+    }
+}
+
+# test Win32::GetArchName()
+$ENV{PROCESSOR_ARCHITECTURE} ||= "unknown";
+my $archname = eval { Win32::GetArchName() };
+is( $@, '', "Win32::GetArchName()" );
+cmp_ok( length($archname), '>=', 3, "  - checking returned architecture name" );
+
+# test Win32::GetChipName()
+my $chipname = eval { Win32::GetChipName() };
+is( $@, '', "Win32::GetChipName()" );
+cmp_ok( length($chipname), '>=', 3, "  - checking returned chip name" );
+
+# test Win32::GetOSName()
+#  - scalar context
+my $osname = eval { Win32::GetOSName() };
+is( $@, '', "Win32::GetOSName() in scalar context" );
+cmp_ok( length($osname), '>', 3, "  - checking returned OS name" );
+
+#  - list context
+my ($osname2, $desc) = eval { Win32::GetOSName() };
+is( $@, '', "Win32::GetOSName() in list context" );
+cmp_ok( length($osname2), '>', 3, "  - checking returned OS name" );
+ok( defined($desc), "  - checking returned description" );
+is( $osname2, $osname, "  - checking that OS name is the same in both calls" );
+
+# test Win32::LoginName()
+my $login = eval { Win32::LoginName() };
+is( $@, '', "Win32::LoginName()" );
+cmp_ok( length($login), '>', 0, "  - checking returned login name" );
+
+# test Win32::NodeName()
+my $nodename = eval { Win32::NodeName() };
+is( $@, '', "Win32::NodeName()" );
+cmp_ok( length($nodename), '>', 0, "  - checking returned node name" );


Property changes on: vendor/perl/dist/cpan/Win32/t/Names.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32/t/Unicode.t
===================================================================
--- vendor/perl/dist/cpan/Win32/t/Unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32/t/Unicode.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,85 +1,90 @@
-use strict;
-use Test;
-use Cwd qw(cwd);
-use Win32;
-
-BEGIN {
-    unless (defined &Win32::BuildNumber && Win32::BuildNumber() >= 820 or $] >= 5.008009) {
-	print "1..0 # Skip: Needs ActivePerl 820 or Perl 5.8.9 or later\n";
-	exit 0;
-    }
-    if ((((Win32::FsType())[1] & 4) == 0) || (Win32::FsType() =~ /^FAT/)) {
-	print "1..0 # Skip: Filesystem doesn't support Unicode\n";
-	exit 0;
-    }
-    unless ((Win32::GetOSVersion())[1] > 4) {
-	print "1..0 # Skip: Unicode support requires Windows 2000 or later\n";
-	exit 0;
-    }
-}
-
-my $home = Win32::GetCwd();
-my $cwd  = cwd(); # may be a Cygwin path
-my $dir  = "Foo \x{394}\x{419} Bar \x{5E7}\x{645} Baz";
-my $file = "$dir\\xyzzy \x{394}\x{419} plugh \x{5E7}\x{645}";
-
-sub cleanup {
-    chdir($home);
-    my $ansi = Win32::GetANSIPathName($file);
-    unlink($ansi) if -f $ansi;
-    $ansi = Win32::GetANSIPathName($dir);
-    rmdir($ansi) if -d $ansi;
-}
-
-cleanup();
-END { cleanup() }
-
-plan test => 12;
-
-# Create Unicode directory
-Win32::CreateDirectory($dir);
-ok(-d Win32::GetANSIPathName($dir));
-
-# Create Unicode file
-Win32::CreateFile($file);
-ok(-f Win32::GetANSIPathName($file));
-
-# readdir() returns ANSI form of Unicode filename
-ok(opendir(my $dh, Win32::GetANSIPathName($dir)));
-while ($_ = readdir($dh)) {
-    next if /^\./;
-    ok($file, Win32::GetLongPathName("$dir\\$_"));
-}
-closedir($dh);
-
-# Win32::GetLongPathName() of the absolute path restores the Unicode dir name
-my $full = Win32::GetFullPathName($dir);
-my $long = Win32::GetLongPathName($full);
-
-ok($long, Win32::GetLongPathName($home)."\\$dir");
-
-# We can Win32::SetCwd() into the Unicode directory
-ok(Win32::SetCwd($dir));
-
-my $w32dir = Win32::GetCwd();
-# cwd() also returns a usable ANSI directory name
-my $subdir = cwd();
-
-# change back to home directory to make sure relative paths
-# in @INC continue to work
-ok(chdir($home));
-ok(Win32::GetCwd(), $home);
-
-ok(Win32::GetLongPathName($w32dir), $long);
-
-# cwd() on Cygwin returns a mapped path that we need to translate
-# back to a Windows path. Invoking `cygpath` on $subdir doesn't work.
-if ($^O eq "cygwin") {
-    $subdir = Cygwin::posix_to_win_path($subdir, 1);
-}
-$subdir =~ s,/,\\,g;
-ok(Win32::GetLongPathName($subdir), $long);
-
-# We can chdir() into the Unicode directory if we use the ANSI name
-ok(chdir(Win32::GetANSIPathName($dir)));
-ok(Win32::GetLongPathName(Win32::GetCwd()), $long);
+use strict;
+use Test;
+use Config qw(%Config);
+use Cwd qw(cwd);
+use Encode qw();
+use Win32;
+
+BEGIN {
+    unless (defined &Win32::BuildNumber && Win32::BuildNumber() >= 820 or $] >= 5.008009) {
+	print "1..0 # Skip: Needs ActivePerl 820 or Perl 5.8.9 or later\n";
+	exit 0;
+    }
+    if ((((Win32::FsType())[1] & 4) == 0) || (Win32::FsType() =~ /^FAT/)) {
+	print "1..0 # Skip: Filesystem doesn't support Unicode\n";
+	exit 0;
+    }
+    unless ((Win32::GetOSVersion())[1] > 4) {
+	print "1..0 # Skip: Unicode support requires Windows 2000 or later\n";
+	exit 0;
+    }
+}
+
+my $home = Win32::GetCwd();
+my $cwd  = cwd(); # may be a Cygwin path
+my $dir  = "Foo \x{394}\x{419} Bar \x{5E7}\x{645} Baz";
+my $file = "$dir\\xyzzy \x{394}\x{419} plugh \x{5E7}\x{645}";
+
+sub cleanup {
+    chdir($home);
+    my $ansi = Win32::GetANSIPathName($file);
+    unlink($ansi) if -f $ansi;
+    $ansi = Win32::GetANSIPathName($dir);
+    rmdir($ansi) if -d $ansi;
+}
+
+cleanup();
+END { cleanup() }
+
+plan test => 12;
+
+# Create Unicode directory
+Win32::CreateDirectory($dir);
+ok(-d Win32::GetANSIPathName($dir));
+
+# Create Unicode file
+Win32::CreateFile($file);
+ok(-f Win32::GetANSIPathName($file));
+
+# readdir() returns ANSI form of Unicode filename
+ok(opendir(my $dh, Win32::GetANSIPathName($dir)));
+while ($_ = readdir($dh)) {
+    next if /^\./;
+    # On Cygwin 1.7 readdir() returns the utf8 representation of the
+    # filename but doesn't turn on the SvUTF8 bit
+    Encode::_utf8_on($_) if $^O eq "cygwin" && $Config{osvers} !~ /^1.5/;
+    ok($file, Win32::GetLongPathName("$dir\\$_"));
+}
+closedir($dh);
+
+# Win32::GetLongPathName() of the absolute path restores the Unicode dir name
+my $full = Win32::GetFullPathName($dir);
+my $long = Win32::GetLongPathName($full);
+
+ok($long, Win32::GetLongPathName($home)."\\$dir");
+
+# We can Win32::SetCwd() into the Unicode directory
+ok(Win32::SetCwd($dir));
+
+my $w32dir = Win32::GetCwd();
+# cwd() also returns a usable ANSI directory name
+my $subdir = cwd();
+
+# change back to home directory to make sure relative paths
+# in @INC continue to work
+ok(chdir($home));
+ok(Win32::GetCwd(), $home);
+
+ok(Win32::GetLongPathName($w32dir), $long);
+
+# cwd() on Cygwin returns a mapped path that we need to translate
+# back to a Windows path. Invoking `cygpath` on $subdir doesn't work.
+if ($^O eq "cygwin") {
+    $subdir = Cygwin::posix_to_win_path($subdir, 1);
+}
+$subdir =~ s,/,\\,g;
+ok(Win32::GetLongPathName($subdir), $long);
+
+# We can chdir() into the Unicode directory if we use the ANSI name
+ok(chdir(Win32::GetANSIPathName($dir)));
+ok(Win32::GetLongPathName(Win32::GetCwd()), $long);


Property changes on: vendor/perl/dist/cpan/Win32/t/Unicode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/Changes
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,18 @@
 Revision history for Perl extension Win32API::File.
 
+0.1201 by Alexandr Ciornii 2013-01-28
+        - Fix tests on Cygwin (RURBAN)
+        - Constants for GetStdHandle and SetStdHandle
+
+0.1200 by Alexandr Ciornii 2011-07-01
+        - Spelling fixes by Peter John Acklam
+        - Upgraded Makefile.PL
+        - Don't bother checking $[
+
+0.1101_01 by Alexandr Ciornii 2011-02-26
+        - More metadata in META.yml
+        - [Set|Get]StdHandle functions added (Chris 'BinGOs' Williams)
+
 0.1101 by Alexandr Ciornii 2008-11-17
         - require Win32.pm (not core on Cygwin 5.8.8)
         - file.t uses Win32.pm only if necessary


Property changes on: vendor/perl/dist/cpan/Win32API-File/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Win32API-File/ExtUtils/Myconst2perl.pm
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/ExtUtils/Myconst2perl.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/ExtUtils/Myconst2perl.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Win32API-File/ExtUtils/Myconst2perl.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/File.pm
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 use vars qw( $VERSION @ISA );
 use vars qw( @EXPORT @EXPORT_OK @EXPORT_FAIL %EXPORT_TAGS );
 
-$VERSION= '0.1101';
+$VERSION= '0.1201';
 
 use base qw( Exporter DynaLoader Tie::Handle IO::File );
 
@@ -146,6 +146,9 @@
 	PARTITION_XINT13		PARTITION_XINT13_EXTENDED
 	PARTITION_PREP			PARTITION_UNIX
 	VALID_NTFT			PARTITION_NTFT )],
+    STD_HANDLE_ =>		[qw(
+	STD_INPUT_HANDLE		STD_OUTPUT_HANDLE
+	STD_ERROR_HANDLE )],
 );
 @EXPORT_OK= ();
 {
@@ -716,7 +719,7 @@
 	my $self = shift;
 	my $line = "";
 
-	while ((index $line, $/) == $[-1) { # read until end of line marker
+	while ((index $line, $/) == -1) { # read until end of line marker
 		my $char = $self->GETC();
 
 		last if !defined $char || $char eq '';
@@ -2195,7 +2198,7 @@
 C<$uFlags> is an unsigned value having zero or more of the bits
 C<HANDLE_FLAG_INHERIT> and C<HANDLE_FLAG_PROTECT_FROM_CLOSE> set.
 For each bit set in C<$uMask>, the cooresponding bit in the handle's
-flags is set to the value of the cooresponding bit in C<$uFlags>.
+flags is set to the value of the corresponding bit in C<$uFlags>.
 
 If C<$uOldFlags> were the value of the handle's flags before the
 call to C<SetHandleInformation>, then the value of the handle's
@@ -2471,7 +2474,7 @@
 
 Allows the device's media to be locked or unlocked.  C<$opOutBuf> should
 be C<[]>.  C<$pInBuf> should be a C<PREVENT_MEDIA_REMOVAL> data structure,
-which is simply an interger containing a boolean value:
+which is simply an integer containing a boolean value:
 
     $pInBuf= pack( "i", $bPreventMediaRemoval );
 
@@ -2559,7 +2562,7 @@
 physical drive devices like C<"//./PhysicalDrive0">.  However,
 C<IOCTL_DISK_GET_PARTITION_INFO> and C<IOCTL_DISK_SET_PARTITION_INFO>
 should only be used on a single-partition device like C<"//./C:">.  Also,
-C<IOCTL_DISK_GET_MEDIA_TYPES> is documented as having been superceded but
+C<IOCTL_DISK_GET_MEDIA_TYPES> is documented as having been superseded but
 is still useful when used on a floppy device like C<"//./A:">.
 
 Includes C<IOCTL_DISK_FORMAT_TRACKS>, C<IOCTL_DISK_FORMAT_TRACKS_EX>,
@@ -2631,7 +2634,7 @@
 =item C<$ucHiddenSects>
 
 The number of "hidden" sectors for this partition.  Actually this is
-the number of sectors found prior to this partiton, that is, the
+the number of sectors found prior to this partition, that is, the
 starting offset [as found in C<$uStartLow> and C<$ivStartHigh>]
 divided by the number of bytes per sector.
 
@@ -2640,7 +2643,7 @@
 The sequence number of this partition.  Partitions are numbered
 starting as C<1> [with "partition 0" meaning the entire disk].  
 Sometimes this field may be C<0> and you'll have to infer the
-partition sequence number from how many partitions preceed it on
+partition sequence number from how many partitions precede it on
 the disk.
 
 =item C<$uPartitionType>
@@ -2834,7 +2837,7 @@
 
 =item DISK_LOGGING_DUMP
 
-Copy the interal log into the supplied buffer:
+Copy the internal log into the supplied buffer:
 
     $pLogBuffer= ' ' x $uLogBufferSize
     $pInBuf= pack( "C P L", 2, $pLogBuffer, $uLogBufferSize );
@@ -3014,6 +3017,14 @@
 	PARTITION_PREP			PARTITION_UNIX
 	VALID_NTFT			PARTITION_NTFT
 
+=item C<":STD_HANDLE_">
+
+Constants for GetStdHandle and SetStdHandle
+
+    STD_ERROR_HANDLE
+    STD_INPUT_HANDLE
+    STD_OUTPUT_HANDLE
+
 =item C<":ALL">
 
 All of the above.
@@ -3026,7 +3037,7 @@
 
 =head1 AUTHOR
 
-Tye McQueen, tye at metronet.com, http://www.metronet.com/~tye/.
+Tye McQueen, tye at metronet.com, http://perlmonks.org/?node=tye.
 
 =head1 SEE ALSO
 


Property changes on: vendor/perl/dist/cpan/Win32API-File/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/File.xs
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/File.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -645,3 +645,23 @@
     OUTPUT:
 	RETVAL
 	ouBytesWritten
+
+void
+GetStdHandle(fd)
+    DWORD fd
+PPCODE:
+#ifdef _WIN64
+    XSRETURN_IV((DWORD_PTR)GetStdHandle(fd));
+#else
+    XSRETURN_IV((DWORD)GetStdHandle(fd));
+#endif
+
+void
+SetStdHandle(fd,handle)
+    DWORD fd
+    HANDLE handle
+PPCODE:
+    if (SetStdHandle(fd, handle))
+	XSRETURN_YES;
+    else
+	XSRETURN_NO;


Property changes on: vendor/perl/dist/cpan/Win32API-File/File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
     die "OS unsupported\n";
 }
 
-WriteMakefile(
+WriteMakefile1(
     'NAME'	=> 'Win32API::File',
     'VERSION_FROM' => 'File.pm', # finds $VERSION
     (  $Config{archname} =~ /-object\b/i  ?  ( 'CAPI' => 'TRUE' )  :  ()  ),
@@ -19,21 +19,37 @@
 		     IFDEF => "!/[a-z\\d]/",
 		     CPLUSPLUS => 1,
 		     WRITE_PERL => 1,
+		     #PERL_FILE_LIST => ['File.pm'], #added by Chorny
+		     #C_FILE_LIST => ['File.xs'], #added by Chorny
 		     # Comment out next line to rebuild constants defs:
 		     NO_REBUILD => 1,
 		   },
     (  ! $Config{libperl}  ?  ()  :  ( LIBPERL_A => $Config{libperl} )  ),
-    'INSTALLDIRS'   => ($] >= 5.008009 ? 'perl' : 'site'),
-    ($ExtUtils::MakeMaker::VERSION ge '6.31'? 
-     ('LICENSE'	=> 'perl', ) : ()),
-    ($ExtUtils::MakeMaker::VERSION ge '6.48'? 
-     ('MIN_PERL_VERSION' => 5.001,) : ()),
+    'INSTALLDIRS' => (($] >= 5.008009 and $] < 5.012) ? 'perl' : 'site'),
+    'LICENSE'	=> 'perl',
+    'MIN_PERL_VERSION' => 5.001,
     'PREREQ_PM'	=> {
-        'IO::File' => 0, #build
-        'File::Spec' => 0, #build
         'Math::BigInt' => 0,
         'Win32' => 0,
-    }
+        'Carp' => 0,
+        'IO::File' => 0,
+    },
+    TEST_REQUIRES => {
+        'File::Spec' => 0,
+        'Test::More' => 0,
+    },
+
+    META_MERGE => {
+        resources => {
+            repository => 'http://github.com/chorny/Win32API-File',
+        },
+    },
+    $^O =~/win/i ? (
+        dist => {
+            TAR      => 'ptar',
+            TARFLAGS => '-c -C -f',
+        },
+    ) : (),
 );
 
 # Replacement for MakeMaker's "const2perl section" for versions
@@ -79,7 +95,7 @@
 	$m[-1] =~ s/^/##/gm   if  $noreb;
 	my( $key, $value );
 	while(  ( $key, $value )= each %{$hvAttr->{$module}}  ) {
-	    push @m, '-e "$$attribs{' . $key . '}= '
+	    push @m, '-e "$$attribs{' . $key . '}= ' # try {{ }} for dmake
 	      . neatvalue($value) . qq[;" \\\n\t  ];
 	    $m[-1] =~ s/^/##/gm   if  $noreb;
 	}
@@ -142,3 +158,36 @@
 	$self->{RM_F} @realclean\n"   if  @realclean;
     return join('', at m);
 }
+
+
+sub WriteMakefile1 {  #Compatibility code for old versions of EU::MM. Written by Alexandr Ciornii, version 0.23. Added by eumm-upgrade.
+	my %params=@_;
+	my $eumm_version=$ExtUtils::MakeMaker::VERSION;
+	$eumm_version=eval $eumm_version;
+	die "EXTRA_META is deprecated" if exists $params{EXTRA_META};
+	die "License not specified" if not exists $params{LICENSE};
+	if ($params{AUTHOR} and ref($params{AUTHOR}) eq 'ARRAY' and $eumm_version < 6.5705) {
+		$params{META_ADD}->{author}=$params{AUTHOR};
+		$params{AUTHOR}=join(', ',@{$params{AUTHOR}});
+	}
+	if ($params{TEST_REQUIRES} and $eumm_version < 6.64) {
+		$params{BUILD_REQUIRES}={ %{$params{BUILD_REQUIRES} || {}} , %{$params{TEST_REQUIRES}} };
+		delete $params{TEST_REQUIRES};
+	}
+	if ($params{BUILD_REQUIRES} and $eumm_version < 6.5503) {
+		#EUMM 6.5502 has problems with BUILD_REQUIRES
+		$params{PREREQ_PM}={ %{$params{PREREQ_PM} || {}} , %{$params{BUILD_REQUIRES}} };
+		delete $params{BUILD_REQUIRES};
+	}
+	delete $params{CONFIGURE_REQUIRES} if $eumm_version < 6.52;
+	delete $params{MIN_PERL_VERSION} if $eumm_version < 6.48;
+	delete $params{META_MERGE} if $eumm_version < 6.46;
+	delete $params{META_ADD} if $eumm_version < 6.46;
+	delete $params{LICENSE} if $eumm_version < 6.31;
+	delete $params{AUTHOR} if $] < 5.005;
+	delete $params{ABSTRACT_FROM} if $] < 5.005;
+	delete $params{BINARY_LOCATION} if $] < 5.005;
+
+	WriteMakefile(%params);
+}
+


Property changes on: vendor/perl/dist/cpan/Win32API-File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/README
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-Win32API::File v0.08 -- Low-level access to Win32 API calls for files.
+Win32API::File v0.1200 -- Low-level access to Win32 API calls for files.
 
 New since v0.07:
 
@@ -130,7 +130,7 @@
 
 http://perlmonks.org/index.pl?node=Seekers%20of%20Perl%20Wisdom
 
-Tye McQueen, tye at metronet.com, http://www.metronet.com/~tye/.
+Tye McQueen, tye at metronet.com, http://perlmonks.org/?node=tye.
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/Win32API-File/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/buffers.h
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/buffers.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/buffers.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -52,7 +52,7 @@
  * the size of the written data.  This is what the trunc_*() macros are for.
  *
  * The size sometimes does and sometimes doesn't include the trailing '\0'
- * [or L'\0'], so we always add or substract 1 in the appropriate places so
+ * [or L'\0'], so we always add or subtract 1 in the appropriate places so
  * we don't care about this detail.
  *
  * A call may  1) request a pointer to the buffer size which means that
@@ -70,7 +70,7 @@
  *
  * The user can pass in C<[]> or C<0> to indicate that they don't care about
  * the buffer size [we aren't programming in C here, after all] and just try
- * to get the data.  This will work if either the buffer already alloated for
+ * to get the data.  This will work if either the buffer already allocated for
  * the SV [scalar value] is large enough to hold the data or the API provides
  * an easy way to determine the required size [and the XS code uses it].
  *
@@ -96,7 +96,7 @@
  * section [grow_*()], the INIT: section [init_*()], or the OUTPUT: section
  * [trunc_*()].
  *
- * Buffer arguments should be initialied with C<= NO_INIT> [or C<= NULL;>].
+ * Buffer arguments should be initialised with C<= NO_INIT> [or C<= NULL;>].
  *
  * See also the F<typemap> file.  C<oDWORD>, for example, is for an output-
  * only parameter of type C<DWORD> and you should simply C<#define> it to be
@@ -119,9 +119,9 @@
  * determine the size of data written based on the size of the scalar we
  * output anyway.
  *
- * This second difference doesn't apply unless the paremter is listed in
+ * This second difference doesn't apply unless the parameter is listed in
  * the OUTPUT: section without specific output instructions.  We define
- * no macros for outputing buffer length parameters so be careful to use
+ * no macros for outputting buffer length parameters so be careful to use
  * C<oDWORD> [for example] for them if and only if they are output-only.
  *
  * Note that C<oDWORD> is the same as C<DWORD> in that, if a defined value
@@ -372,7 +372,7 @@
 	    SvCUR_set( svBuf, lSize );					\
 	} } STMT_END
 
-/* Same as above except we have a poitner to the returned length: */
+/* Same as above except we have a pointer to the returned length: */
 #define	trunc_buf_pl( bOkay, sBuf,svBuf, plSize )			\
 	trunc_buf_l( bOkay, sBuf,svBuf, *plSize )
 
@@ -383,7 +383,7 @@
 	    SvCUR_set( svBuf, (lwSize)*sizeof(WCHAR) );			\
 	} } STMT_END
 
-/* Same as above except we have a poitner to the returned length: */
+/* Same as above except we have a pointer to the returned length: */
 #define	trunc_buf_plw( bOkay, swBuf,svBuf, plwSize )			\
 	trunc_buf_lw( bOkay, swBuf,svBuf, *plwSize )
 


Property changes on: vendor/perl/dist/cpan/Win32API-File/buffers.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Win32API-File/cFile.h
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/cFile.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/cFile.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Win32API-File/cFile.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/cFile.pc
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/cFile.pc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/cFile.pc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -162,4 +162,7 @@
 sub TRUNCATE_EXISTING () { 5 }
 sub Unknown () { 0 }
 sub VALID_NTFT () { 192 }
+sub STD_ERROR_HANDLE () { 0xfffffff4 }
+sub STD_INPUT_HANDLE () { 0xfffffff6 }
+sub STD_OUTPUT_HANDLE () { 0xfffffff5 }
 1;


Property changes on: vendor/perl/dist/cpan/Win32API-File/cFile.pc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Win32API-File/const2perl.h
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/const2perl.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/const2perl.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Win32API-File/const2perl.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/t/file.t
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/t/file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/t/file.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 	}
     }
 
-    print "1..267\n";
+    print "1..270\n";
 }
 END {print "not ok 1\n" unless $loaded;}
 
@@ -24,7 +24,7 @@
 # the ../lib directory in @INC will no longer work once
 # we chdir() into the TEMP directory.
 
-require Win32 unless defined &Win32::FormatMessage;
+use Win32;
 use File::Spec;
 use Carp;
 use Carp::Heavy;
@@ -342,8 +342,9 @@
 }
 print $ok ? "" : "not ", "ok ", ++$test, "\n";	# ok 49
 
-$ok= -f $let.substr($ENV{WINDIR},3)."/win.ini";
-$ok or print "# ",fileLastError(),"\n";
+my $path = $ENV{WINDIR};
+$ok= -f $let.substr($path,$^O eq 'cygwin'?2:3)."/win.ini";
+$ok or print "# ",$let.substr($path,3)."/win.ini ",fileLastError(),"\n";
 print $ok ? "" : "not ", "ok ", ++$test, "\n";	# ok 50
 
 $ok= DefineDosDevice( DDD_REMOVE_DEFINITION|DDD_EXACT_MATCH_ON_REMOVE
@@ -351,7 +352,6 @@
 $ok or print "# $let,$dev: ",fileLastError(),"\n";
 print $ok ? "" : "not ", "ok ", ++$test, "\n";	# ok 51
 
-my $path = $ENV{WINDIR};
 my $attrs = GetFileAttributes( $path );
 $ok= $attrs != INVALID_FILE_ATTRIBUTES;
 $ok or print "# $path gave invalid attribute value, attrs=$attrs: ",fileLastError(),"\n";


Property changes on: vendor/perl/dist/cpan/Win32API-File/t/file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/Win32API-File/t/tie.t
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/t/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/t/tie.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,7 +28,7 @@
 
 unlink "foo.txt";
 
-my $fh = new Win32API::File "+> foo.txt"
+my $fh = Win32API::File->new("+> foo.txt")
 	or die fileLastError();
 
 my $tell = tell $fh;
@@ -77,7 +77,7 @@
 
 # Test out binmode (should be only LF with print, no CR).
 
-$fh = new Win32API::File "+> foo.txt"
+$fh = Win32API::File->new("+> foo.txt")
 	or die fileLastError();
 binmode $fh;
 print $fh "hello there\n";


Property changes on: vendor/perl/dist/cpan/Win32API-File/t/tie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/Win32API-File/typemap
===================================================================
--- vendor/perl/dist/cpan/Win32API-File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/Win32API-File/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/Win32API-File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/lib/Fatal.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/lib/Fatal.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/lib/Fatal.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -40,7 +40,7 @@
 use constant MIN_IPC_SYS_SIMPLE_VER => 0.12;
 
 # All the Fatal/autodie modules share the same version number.
-our $VERSION = '2.1001';
+our $VERSION = '2.13';
 
 our $Debug ||= 0;
 
@@ -116,7 +116,9 @@
     ':2.08'  => [qw(:default)],
     ':2.09'  => [qw(:default)],
     ':2.10'  => [qw(:default)],
-    ':2.1001' => [qw(:default)],
+    ':2.11'  => [qw(:default)],
+    ':2.12'  => [qw(:default)],
+    ':2.13'  => [qw(:default)],
 );
 
 # chmod was only introduced in 2.07
@@ -145,6 +147,58 @@
     CORE::umask
 )} = ();
 
+
+# A snippet of code to apply the open pragma to a handle
+
+
+
+# Optional actions to take on the return value before returning it.
+
+my %Retval_action = (
+    "CORE::open"        => q{
+
+    # apply the open pragma from our caller
+    if( defined $retval ) {
+        # Get the caller's hint hash
+        my $hints = (caller 0)[10];
+
+        # Decide if we're reading or writing and apply the appropriate encoding
+        # These keys are undocumented.
+        # Match what PerlIO_context_layers() does.  Read gets the read layer,
+        # everything else gets the write layer.
+        my $encoding = $_[1] =~ /^\+?>/ ? $hints->{"open>"} : $hints->{"open<"};
+
+        # Apply the encoding, if any.
+        if( $encoding ) {
+            binmode $_[0], $encoding;
+        }
+    }
+
+},
+    "CORE::sysopen"     => q{
+
+    # apply the open pragma from our caller
+    if( defined $retval ) {
+        # Get the caller's hint hash
+        my $hints = (caller 0)[10];
+
+        require Fcntl;
+
+        # Decide if we're reading or writing and apply the appropriate encoding.
+        # Match what PerlIO_context_layers() does.  Read gets the read layer,
+        # everything else gets the write layer.
+        my $open_read_only = !($_[2] ^ Fcntl::O_RDONLY());
+        my $encoding = $open_read_only ? $hints->{"open<"} : $hints->{"open>"};
+
+        # Apply the encoding, if any.
+        if( $encoding ) {
+            binmode $_[0], $encoding;
+        }
+    }
+
+},
+);
+
 # Cached_fatalised_sub caches the various versions of our
 # fatalised subs as they're produced.  This means we don't
 # have to build our own replacement of CORE::open and friends
@@ -356,7 +410,9 @@
 
     my $pkg_sym = "${pkg}::";
 
-    while(my ($sub_name, $sub_ref) = each %$subs_to_reinstate) {
+    # It does not hurt to do this in a predictable order, and might help debugging.
+    foreach my $sub_name (sort keys %$subs_to_reinstate) {
+        my $sub_ref= $subs_to_reinstate->{$sub_name};
 
         my $full_path = $pkg_sym.$sub_name;
 
@@ -803,6 +859,7 @@
 
     my $code = qq[
         no warnings qw(unopened uninitialized numeric);
+        no if \$\] >= 5.017011, warnings => "experimental::smartmatch";
 
         if (wantarray) {
             my \@results = $call(@argv);
@@ -811,6 +868,8 @@
 
     ];
 
+    my $retval_action = $Retval_action{$call} || '';
+
     if ( $hints and ( ref($hints->{list} ) || "" ) eq 'CODE' ) {
 
         # NB: Subroutine hints are passed as a full list.
@@ -863,6 +922,7 @@
 
         return $code .= qq{
             if ( \$hints->{scalar}->(\$retval) ) { $die };
+            $retval_action
             return \$retval;
         };
 
@@ -871,7 +931,7 @@
         return $code . qq{
 
             if ( \$retval ~~ \$hints->{scalar} ) { $die };
-
+            $retval_action
             return \$retval;
         };
     }
@@ -883,11 +943,12 @@
     ( $use_defined_or ? qq{
 
         $die if not defined \$retval;
-
+        $retval_action
         return \$retval;
 
     } : qq{
 
+        $retval_action
         return \$retval || $die;
 
     } ) ;
@@ -1239,7 +1300,9 @@
 
             {
                 local $@;   # We can't clobber $@, it's wrong!
-                eval "require $exception_class"; ## no critic
+                my $pm_file = $exception_class . ".pm";
+                $pm_file =~ s{ (?: :: | ' ) }{/}gx;
+                eval { require $pm_file };
                 $E = $@;    # Save $E despite ending our local.
             }
 


Property changes on: vendor/perl/dist/cpan/autodie/lib/Fatal.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/lib/autodie/exception/system.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/lib/autodie/exception/system.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/lib/autodie/exception/system.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use base 'autodie::exception';
 use Carp qw(croak);
 
-our $VERSION = '2.1001';
+our $VERSION = '2.13';
 
 my $PACKAGE = __PACKAGE__;
 


Property changes on: vendor/perl/dist/cpan/autodie/lib/autodie/exception/system.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 
 use if ($] >= 5.010), overload => '~~'  => "matches";
 
-our $VERSION = '2.1001';
+our $VERSION = '2.13';
 
 my $PACKAGE = __PACKAGE__;  # Useful to have a scalar for hash keys.
 


Property changes on: vendor/perl/dist/cpan/autodie/lib/autodie/exception.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 
 use constant PERL58 => ( $] < 5.009 );
 
-our $VERSION = '2.1001';
+our $VERSION = '2.13';
 
 =head1 NAME
 


Property changes on: vendor/perl/dist/cpan/autodie/lib/autodie/hints.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/lib/autodie.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/lib/autodie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/lib/autodie.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 our $VERSION;
 
 BEGIN {
-    $VERSION = '2.1001';
+    $VERSION = '2.13';
 }
 
 use constant ERROR_WRONG_FATAL => q{
@@ -334,6 +334,10 @@
 To disable autodie for only a single function (eg, open)
 use C<no autodie qw(open)>.
 
+C<autodie> performs no checking of called context to determine whether to throw
+an exception; the explicitness of error handling with C<autodie> is a deliberate
+feature.
+
 =item No user hints defined for %s
 
 You've insisted on hints for user-subroutines, either by pre-pending


Property changes on: vendor/perl/dist/cpan/autodie/lib/autodie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/00-load.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/00-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/00-load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/00-load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/Fatal.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/Fatal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/Fatal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/Fatal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/autodie.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/autodie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/autodie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/autodie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/autodie_test_module.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/autodie_test_module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/autodie_test_module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/autodie_test_module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/t/backcompat.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/backcompat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/backcompat.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
     open(my $fh, '<', NO_SUCH_FILE);
 };
 
-my $old_msg = qr{Can't open\(GLOB\(0x[0-9a-f]+\), <, xyzzy_this_file_is_not_here\): .* at \(eval \d+\)(?:\[.*?\])? line \d+\s+main::__ANON__\('GLOB\(0x[0-9a-f]+\)',\s*'<',\s*'xyzzy_this_file_is_not_here'\) called at \S+ line \d+\s+eval \Q{...}\E called at \S+ line \d+};
+my $old_msg = qr{Can't open\(GLOB\(0x[0-9a-f]+\), <, xyzzy_this_file_is_not_here\): .* at \(eval \d+\)(?:\[.*?\])? line \d+\.?\s+main::__ANON__\('GLOB\(0x[0-9a-f]+\)',\s*'<',\s*'xyzzy_this_file_is_not_here'\) called at \S+ line \d+\s+eval \Q{...}\E called at \S+ line \d+};
 
 like($@,$old_msg,"Backwards compat ugly messages");
 is(ref($@),"", "Exception is a string, not an object");


Property changes on: vendor/perl/dist/cpan/autodie/t/backcompat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/basic_exceptions.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/basic_exceptions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/basic_exceptions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/basic_exceptions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/binmode.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/binmode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/binmode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/binmode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/blog_hints.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/blog_hints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/blog_hints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/blog_hints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/caller.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/caller.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/caller.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/caller.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/context.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/context.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/context_lexical.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/context_lexical.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/context_lexical.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/context_lexical.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/crickey.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/crickey.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/crickey.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/crickey.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/dbmopen.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/dbmopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/dbmopen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/dbmopen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/eval_error.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/eval_error.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/eval_error.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/eval_error.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/exception_class.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/exception_class.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/exception_class.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/exception_class.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/t/exceptions.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/exceptions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/exceptions.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,6 +9,7 @@
 
 use 5.010;
 use constant NO_SUCH_FILE => 'this_file_had_better_not_exist_xyzzy';
+no if $] >= 5.017011, warnings => "experimental::smartmatch";
 
 plan 'no_plan';
 


Property changes on: vendor/perl/dist/cpan/autodie/t/exceptions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/exec.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/exec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/exec.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/exec.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/filehandles.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/filehandles.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/filehandles.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/filehandles.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/fileno.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/fileno.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/fileno.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/fileno.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/flock.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/flock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/flock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/flock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/format-clobber.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/format-clobber.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/format-clobber.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/format-clobber.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/hints.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/hints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/hints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/hints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/hints_insist.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/hints_insist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/hints_insist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/hints_insist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/t/hints_pod_examples.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/hints_pod_examples.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/hints_pod_examples.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -152,22 +152,43 @@
 );
 
 # Some of the tests provide different hints for scalar or list context
+# NOTE: these tests are sensitive to order (not sure why) therefore
+# this loop must use a sorted list of keys . Otherwise there is an occasional
+# failure like this:
+#
+#   Failed test 'scalar test - zero_scalar("")'
+#   at cpan/autodie/t/hints_pod_examples.t line 168.
+#          got: 'Can't zero_scalar(''):  at cpan/autodie/t/hints_pod_examples.t line 157
+# '
+#     expected: ''
+#
+#
+#         my $scalar = zero_scalar("");
+#         1;
 
-while (my ($test, $exception_expected) = each %scalar_tests) {
-    eval "
+
+foreach my $test (sort keys %scalar_tests) {
+    my $exception_expected= $scalar_tests{$test};
+    my $ok= eval(my $code= "
         $perl58_fix
         my \$scalar = $test;
-    ";
+        1;
+    ");
 
     if ($exception_expected) {
-        isnt("$@", "", "scalar test - $test");
+        isnt($ok ? "" : "$@", "", "scalar test - $test")
+            or diag($code);
     }
     else {
-        is($@, "", "scalar test - $test");
+        is($ok ? "" : "$@", "", "scalar test - $test")
+            or diag($code);
     }
 }
 
-while (my ($test, $exception_expected) = each %list_tests) {
+
+# this set of test is not *known* to be order dependent however we sort it anyway out caution
+foreach my $test (sort keys %list_tests) {
+    my $exception_expected= $list_tests{$test};
     eval "
         $perl58_fix
         my \@array = $test;


Property changes on: vendor/perl/dist/cpan/autodie/t/hints_pod_examples.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/hints_provider_does.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/hints_provider_does.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/hints_provider_does.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/hints_provider_does.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/hints_provider_easy_does_it.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/hints_provider_easy_does_it.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/hints_provider_easy_does_it.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/hints_provider_easy_does_it.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/hints_provider_isa.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/hints_provider_isa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/hints_provider_isa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/hints_provider_isa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/internal-backcompat.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/internal-backcompat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/internal-backcompat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/internal-backcompat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/internal.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/internal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/internal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/internal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lethal.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lethal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lethal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lethal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/Caller_helper.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/Caller_helper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/Caller_helper.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/Caller_helper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/Hints_pod_examples.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_does.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_does.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_does.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_does.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_easy_does_it.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_easy_does_it.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_easy_does_it.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_easy_does_it.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_isa.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_isa.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_isa.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/Hints_provider_isa.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/Hints_test.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/Hints_test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/Hints_test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/Hints_test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/OtherTypes.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/OtherTypes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/OtherTypes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/OtherTypes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/Some/Module.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/Some/Module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/Some/Module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/Some/Module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au/exception.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au/exception.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au/exception.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au/exception.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/autodie/test/au.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/autodie/test/badname.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/autodie/test/badname.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/autodie/test/badname.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/autodie/test/badname.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/autodie/test/missing.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/autodie/test/missing.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/autodie/test/missing.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/autodie/test/missing.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/lethal.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/lethal.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/lethal.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/lethal.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/my/autodie.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/my/autodie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/my/autodie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/my/autodie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach/Dotlh.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach/Dotlh.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach/Dotlh.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach/Dotlh.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach.pm
===================================================================
--- vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/lib/pujHa/ghach.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/mkdir.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/mkdir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/mkdir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/mkdir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/open.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/open.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/open.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/open.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/autodie/t/recv.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/recv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/recv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -38,12 +38,15 @@
 }
 
 eval {
-    # STDIN isn't a socket, so this should fail.
-    recv(STDIN,$buffer,1,0);
+    my $string = "now is the time...";
+    open(my $fh, '<', \$string) or die("Can't open \$string for read");
+    # $fh isn't a socket, so this should fail.
+    recv($fh,$buffer,1,0);
 };
 
 ok($@,'recv dies on returning undef');
-isa_ok($@,'autodie::exception');
+isa_ok($@,'autodie::exception')
+    or diag("$@");
 
 $buffer = "# Not an empty string\n";
 


Property changes on: vendor/perl/dist/cpan/autodie/t/recv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/repeat.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/repeat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/repeat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/repeat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/scope_leak.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/scope_leak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/scope_leak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/scope_leak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/string-eval-basic.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/string-eval-basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/string-eval-basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/string-eval-basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/string-eval-leak.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/string-eval-leak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/string-eval-leak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/string-eval-leak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/sysopen.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/sysopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/sysopen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/sysopen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/truncate.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/truncate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/truncate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/truncate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/unlink.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/unlink.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/unlink.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/unlink.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/user-context.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/user-context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/user-context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/user-context.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/usersub.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/usersub.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/usersub.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/usersub.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/version.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/autodie/t/version_tag.t
===================================================================
--- vendor/perl/dist/cpan/autodie/t/version_tag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/autodie/t/version_tag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/autodie/t/version_tag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/encoding-warnings/Changes
===================================================================
--- vendor/perl/dist/cpan/encoding-warnings/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/encoding-warnings/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/encoding-warnings/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/encoding-warnings/lib/encoding/warnings.pm
===================================================================
--- vendor/perl/dist/cpan/encoding-warnings/lib/encoding/warnings.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/encoding-warnings/lib/encoding/warnings.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/encoding-warnings/lib/encoding/warnings.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/encoding-warnings/t/1-warning.t
===================================================================
--- vendor/perl/dist/cpan/encoding-warnings/t/1-warning.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/encoding-warnings/t/1-warning.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
-# $File: /member/local/autrijus/encoding-warnings//t/1-warning.t $ $Author: laffer1 $
-# $Revision: 1.1.1.1 $ $Change: 6145 $ $DateTime: 2004-07-16T03:49:06.717424Z $
+# $File: /member/local/autrijus/encoding-warnings//t/1-warning.t $ $Author: autrijus $
+# $Revision: #5 $ $Change: 6145 $ $DateTime: 2004-07-16T03:49:06.717424Z $
 
 BEGIN {
     unless (eval { require Encode } ) {


Property changes on: vendor/perl/dist/cpan/encoding-warnings/t/1-warning.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/encoding-warnings/t/2-fatal.t
===================================================================
--- vendor/perl/dist/cpan/encoding-warnings/t/2-fatal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/encoding-warnings/t/2-fatal.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!/usr/bin/perl
-# $File: /member/local/autrijus/encoding-warnings/t/2-fatal.t $ $Author: laffer1 $
-# $Revision: 1.1.1.1 $ $Change: 1626 $ $DateTime: 2004-03-14T16:53:19.351256Z $
+# $File: /member/local/autrijus/encoding-warnings/t/2-fatal.t $ $Author: autrijus $
+# $Revision: #4 $ $Change: 1626 $ $DateTime: 2004-03-14T16:53:19.351256Z $
 
 BEGIN {
     unless (eval { require Encode } ) {


Property changes on: vendor/perl/dist/cpan/encoding-warnings/t/2-fatal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/encoding-warnings/t/3-normal.t
===================================================================
--- vendor/perl/dist/cpan/encoding-warnings/t/3-normal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/encoding-warnings/t/3-normal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/encoding-warnings/t/3-normal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/encoding-warnings/t/4-lexical.t
===================================================================
--- vendor/perl/dist/cpan/encoding-warnings/t/4-lexical.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/encoding-warnings/t/4-lexical.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/encoding-warnings/t/4-lexical.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Changes
===================================================================
--- vendor/perl/dist/cpan/libnet/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Config.eg
===================================================================
--- vendor/perl/dist/cpan/libnet/Config.eg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Config.eg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Config.eg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Hostname.pm.eg
===================================================================
--- vendor/perl/dist/cpan/libnet/Hostname.pm.eg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Hostname.pm.eg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Hostname.pm.eg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Makefile.PL
===================================================================
--- vendor/perl/dist/cpan/libnet/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/Cmd.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/Cmd.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/Cmd.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/Cmd.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/Config.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/Domain.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/Domain.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/Domain.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/Domain.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/FTP/A.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/FTP/A.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/FTP/A.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/FTP/A.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/FTP/E.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/FTP/E.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/FTP/E.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/FTP/E.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/FTP/I.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/FTP/I.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/FTP/I.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/FTP/I.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/FTP/L.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/FTP/L.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/FTP/L.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/FTP/L.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/FTP/dataconn.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/FTP/dataconn.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/FTP/dataconn.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/FTP/dataconn.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/FTP.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/FTP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/FTP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/FTP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/NNTP.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/NNTP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/NNTP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/NNTP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/Netrc.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/Netrc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/Netrc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/Netrc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/POP3.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/POP3.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/POP3.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/POP3.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/SMTP.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/SMTP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/SMTP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/SMTP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/Time.pm
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/Time.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/Time.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/Time.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/Net/libnetFAQ.pod
===================================================================
--- vendor/perl/dist/cpan/libnet/Net/libnetFAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/Net/libnetFAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/Net/libnetFAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/README
===================================================================
--- vendor/perl/dist/cpan/libnet/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/demos/ftp
===================================================================
--- vendor/perl/dist/cpan/libnet/demos/ftp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/demos/ftp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/demos/ftp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/demos/inetd
===================================================================
--- vendor/perl/dist/cpan/libnet/demos/inetd	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/demos/inetd	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/demos/inetd
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/demos/nntp
===================================================================
--- vendor/perl/dist/cpan/libnet/demos/nntp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/demos/nntp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/demos/nntp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/demos/nntp.mirror
===================================================================
--- vendor/perl/dist/cpan/libnet/demos/nntp.mirror	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/demos/nntp.mirror	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/demos/nntp.mirror
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/demos/pop3
===================================================================
--- vendor/perl/dist/cpan/libnet/demos/pop3	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/demos/pop3	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/demos/pop3
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/demos/smtp.self
===================================================================
--- vendor/perl/dist/cpan/libnet/demos/smtp.self	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/demos/smtp.self	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/demos/smtp.self
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/demos/time
===================================================================
--- vendor/perl/dist/cpan/libnet/demos/time	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/demos/time	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/demos/time
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/config.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/datasend.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/datasend.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/datasend.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/datasend.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/ftp.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/ftp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/ftp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/ftp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/hostname.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/hostname.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/hostname.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/hostname.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/libnet_t.pl
===================================================================
--- vendor/perl/dist/cpan/libnet/t/libnet_t.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/libnet_t.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/libnet_t.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/netrc.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/netrc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/netrc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/netrc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/nntp.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/nntp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/nntp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/nntp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/require.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/require.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/require.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/smtp.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/smtp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/smtp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/smtp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/libnet/t/time.t
===================================================================
--- vendor/perl/dist/cpan/libnet/t/time.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/libnet/t/time.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/libnet/t/time.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/lib/parent.pm
===================================================================
--- vendor/perl/dist/cpan/parent/lib/parent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/lib/parent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/lib/parent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/compile-time-file.t
===================================================================
--- vendor/perl/dist/cpan/parent/t/compile-time-file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/compile-time-file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/compile-time-file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/compile-time.t
===================================================================
--- vendor/perl/dist/cpan/parent/t/compile-time.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/compile-time.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/compile-time.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/lib/Dummy/Outside.pm
===================================================================
--- vendor/perl/dist/cpan/parent/t/lib/Dummy/Outside.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/lib/Dummy/Outside.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/lib/Dummy/Outside.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/lib/Dummy.pm
===================================================================
--- vendor/perl/dist/cpan/parent/t/lib/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/lib/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/lib/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/lib/Dummy2.plugin
===================================================================
--- vendor/perl/dist/cpan/parent/t/lib/Dummy2.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/lib/Dummy2.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/lib/Dummy2.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/lib/FileThatOnlyExistsAsPMC.pmc
===================================================================
--- vendor/perl/dist/cpan/parent/t/lib/FileThatOnlyExistsAsPMC.pmc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/lib/FileThatOnlyExistsAsPMC.pmc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/lib/FileThatOnlyExistsAsPMC.pmc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/lib/ReturnsFalse.pm
===================================================================
--- vendor/perl/dist/cpan/parent/t/lib/ReturnsFalse.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/lib/ReturnsFalse.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/lib/ReturnsFalse.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/parent-classfromclassfile.t
===================================================================
--- vendor/perl/dist/cpan/parent/t/parent-classfromclassfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/parent-classfromclassfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/parent-classfromclassfile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/parent-classfromfile.t
===================================================================
--- vendor/perl/dist/cpan/parent/t/parent-classfromfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/parent-classfromfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/parent-classfromfile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/parent-pmc.t
===================================================================
--- vendor/perl/dist/cpan/parent/t/parent-pmc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/parent-pmc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/parent-pmc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/parent/t/parent-returns-false.t
===================================================================
--- vendor/perl/dist/cpan/parent/t/parent-returns-false.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/parent-returns-false.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/parent/t/parent-returns-false.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/parent/t/parent.t
===================================================================
--- vendor/perl/dist/cpan/parent/t/parent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/parent/t/parent.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -58,10 +58,10 @@
 
 
 eval q{use parent 'reallyReAlLyNotexists'};
-like( $@, q{/^Can't locate reallyReAlLyNotexists.pm in \@INC \(\@INC contains:/}, 'baseclass that does not exist');
+like( $@, q{/^Can't locate reallyReAlLyNotexists.pm in \@INC \(you may need to install the reallyReAlLyNotexists module\) \(\@INC contains:/}, 'baseclass that does not exist');
 
 eval q{use parent 'reallyReAlLyNotexists'};
-like( $@, q{/^Can't locate reallyReAlLyNotexists.pm in \@INC \(\@INC contains:/}, '  still failing on 2nd load');
+like( $@, q{/^Can't locate reallyReAlLyNotexists.pm in \@INC \(you may need to install the reallyReAlLyNotexists module\) \(\@INC contains:/}, '  still failing on 2nd load');
 {
     my $warning;
     local $SIG{__WARN__} = sub { $warning = shift };


Property changes on: vendor/perl/dist/cpan/parent/t/parent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/VERSION
===================================================================
--- vendor/perl/dist/cpan/podlators/VERSION	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/VERSION	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1 +1 @@
-$VERSION = '2.4.0';
+$VERSION = '2.5.1';


Property changes on: vendor/perl/dist/cpan/podlators/VERSION
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,5 @@
 # Pod::Man -- Convert POD data to formatted *roff input.
 #
-# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
-#     2010 Russ Allbery <rra at stanford.edu>
-# Substantial contributions by Sean Burke <sburke at cpan.org>
-#
-# This program is free software; you may redistribute it and/or modify it
-# under the same terms as Perl itself.
-#
 # This module translates POD documentation into *roff markup using the man
 # macro set, and is intended for converting POD documents written as Unix
 # manual pages to manual pages that can be read by the man(1) command.  It is
@@ -17,6 +10,13 @@
 # maintained outside of the Perl core as part of the podlators.  Please send
 # me any patches at the address above in addition to sending them to the
 # standard Perl mailing lists.
+#
+# Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
+#     2010, 2012, 2013 Russ Allbery <rra at stanford.edu>
+# Substantial contributions by Sean Burke <sburke at cpan.org>
+#
+# This program is free software; you may redistribute it and/or modify it
+# under the same terms as Perl itself.
 
 ##############################################################################
 # Modules and declarations
@@ -36,7 +36,7 @@
 
 @ISA = qw(Pod::Simple);
 
-$VERSION = '2.25';
+$VERSION = '2.27';
 
 # Set the debugging level.  If someone has inserted a debug function into this
 # class already, use that.  Otherwise, use any Pod::Simple debug function
@@ -93,11 +93,30 @@
     %$self = (%$self, @_);
 
     # Send errors to stderr if requested.
-    if ($$self{stderr}) {
+    if ($$self{stderr} and not $$self{errors}) {
+        $$self{errors} = 'stderr';
+    }
+    delete $$self{stderr};
+
+    # Validate the errors parameter and act on it.
+    if (not defined $$self{errors}) {
+        $$self{errors} = 'pod';
+    }
+    if ($$self{errors} eq 'stderr' || $$self{errors} eq 'die') {
         $self->no_errata_section (1);
         $self->complain_stderr (1);
-        delete $$self{stderr};
+        if ($$self{errors} eq 'die') {
+            $$self{complain_die} = 1;
+        }
+    } elsif ($$self{errors} eq 'pod') {
+        $self->no_errata_section (0);
+        $self->complain_stderr (0);
+    } elsif ($$self{errors} eq 'none') {
+        $self->no_whining (1);
+    } else {
+        croak (qq(Invalid errors setting: "$$self{errors}"));
     }
+    delete $$self{errors};
 
     # Initialize various other internal constants based on our arguments.
     $self->init_fonts;
@@ -474,11 +493,16 @@
     # line or following regular punctuation (like quotes) or whitespace (1),
     # and followed by either similar punctuation, an em-dash, or the end of
     # the line (3).
+    #
+    # Allow the text we're changing to small caps to include double quotes,
+    # commas, newlines, and periods as long as it doesn't otherwise interrupt
+    # the string of small caps and still fits the criteria.  This lets us turn
+    # entire warranty disclaimers in man page output into small caps.
     if ($$self{MAGIC_SMALLCAPS}) {
         s{
-            ( ^ | [\s\(\"\'\`\[\{<>] | \\\  )                   # (1)
-            ( [A-Z] [A-Z] (?: [/A-Z+:\d_\$&] | \\- )* )         # (2)
-            (?= [\s>\}\]\(\)\'\".?!,;] | \\*\(-- | \\\  | $ )   # (3)
+            ( ^ | [\s\(\"\'\`\[\{<>] | \\[ ]  )                     # (1)
+            ( [A-Z] [A-Z] (?: [/A-Z+:\d_\$&] | \\- | [.,\"\s] )* )  # (2)
+            (?= [\s>\}\]\(\)\'\".?!,;] | \\*\(-- | \\[ ] | $ )      # (3)
         } {
             $1 . '\s-1' . $2 . '\s0'
         }egx;
@@ -715,6 +739,7 @@
     # Print out the .IX commands.
     for (@output) {
         my ($type, $entry) = @$_;
+        $entry =~ s/\s+/ /g;
         $entry =~ s/\"/\"\"/g;
         $entry =~ s/\\/\\\\/g;
         $self->output (".IX $type " . '"' . $entry . '"' . "\n");
@@ -743,6 +768,8 @@
         DEBUG and print "Document is contentless\n";
         $$self{CONTENTLESS} = 1;
         return;
+    } else {
+        delete $$self{CONTENTLESS};
     }
 
     # When UTF-8 output is set, check whether our output file handle already
@@ -753,8 +780,9 @@
     if ($$self{utf8}) {
         $$self{ENCODE} = 1;
         eval {
-            my @layers = PerlIO::get_layers ($$self{output_fh});
-            if (grep { $_ eq 'utf8' } @layers) {
+            my @options = (output => 1, details => 1);
+            my $flag = (PerlIO::get_layers ($$self{output_fh}, @options))[-1];
+            if ($flag & PerlIO::F_UTF8 ()) {
                 $$self{ENCODE} = 0;
             }
         }
@@ -784,10 +812,14 @@
     $$self{PENDING}   = [[]];   # Pending output.
 }
 
-# Handle the end of the document.  This does nothing but print out a final
-# comment at the end of the document under debugging.
+# Handle the end of the document.  This handles dying on POD errors, since
+# Pod::Parser currently doesn't.  Otherwise, does nothing but print out a
+# final comment at the end of the document under debugging.
 sub end_document {
     my ($self) = @_;
+    if ($$self{complain_die} && $self->errors_seen) {
+        croak ("POD document had syntax errors");
+    }
     return if $self->bare_output;
     return if ($$self{CONTENTLESS} && !$$self{ALWAYS_EMIT_SOMETHING});
     $self->output (q(.\" [End document]) . "\n") if DEBUG;
@@ -1106,12 +1138,21 @@
 }
 
 # Links reduce to the text that we're given, wrapped in angle brackets if it's
-# a URL.
+# a URL, followed by the URL.  We take an option to suppress the URL if anchor
+# text is given.  We need to format the "to" value of the link before
+# comparing it to the text since we may escape hyphens.
 sub cmd_l {
     my ($self, $attrs, $text) = @_;
     if ($$attrs{type} eq 'url') {
-        if (not defined($$attrs{to}) or $$attrs{to} eq $text) {
+        my $to = $$attrs{to};
+        if (defined $to) {
+            my $tag = $$self{PENDING}[-1];
+            $to = $self->format_text ($$tag[1], $to);
+        }
+        if (not defined ($to) or $to eq $text) {
             return "<$text>";
+        } elsif ($$self{nourls}) {
+            return $text;
         } else {
             return "$text <$$attrs{to}>";
         }
@@ -1299,9 +1340,20 @@
 # parse_from_file supports.
 sub parse_from_filehandle {
     my $self = shift;
-    $self->parse_from_file (@_);
+    return $self->parse_from_file (@_);
 }
 
+# Pod::Simple's parse_file doesn't set output_fh.  Wrap the call and do so
+# ourself unless it was already set by the caller, since our documentation has
+# always said that this should work.
+sub parse_file {
+    my ($self, $in) = @_;
+    unless (defined $$self{output_fh}) {
+        $self->output_fh (\*STDOUT);
+    }
+    return $self->SUPER::parse_file ($in);
+}
+
 ##############################################################################
 # Translation tables
 ##############################################################################
@@ -1321,7 +1373,7 @@
     undef, undef, undef, undef,            undef, undef, undef, undef,
     undef, undef, undef, undef,            undef, undef, undef, undef,
 
-    "A\\*`",  "A\\*'", "A\\*^", "A\\*~",   "A\\*:", "A\\*o", "\\*(AE", "C\\*,",
+    "A\\*`",  "A\\*'", "A\\*^", "A\\*~",   "A\\*:", "A\\*o", "\\*(Ae", "C\\*,",
     "E\\*`",  "E\\*'", "E\\*^", "E\\*:",   "I\\*`", "I\\*'", "I\\*^",  "I\\*:",
 
     "\\*(D-", "N\\*~", "O\\*`", "O\\*'",   "O\\*^", "O\\*~", "O\\*:",  undef,
@@ -1382,6 +1434,8 @@
 .    ds PI \(*p
 .    ds L" ``
 .    ds R" ''
+.    ds C`
+.    ds C'
 'br\}
 .\"
 .\" Escape single quotes in literal strings from groff's Unicode transform.
@@ -1392,18 +1446,26 @@
 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
 .\" entries marked with X<> in POD.  Of course, you'll have to process the
 .\" output yourself in some meaningful fashion.
-.ie \nF \{\
-.    de IX
-.    tm Index:\\$1\t\\n%\t"\\$2"
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
 ..
-.    nr % 0
-.    rr F
-.\}
-.el \{\
-.    de IX
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{
+.    if \nF \{
+.        de IX
+.        tm Index:\\$1\t\\n%\t"\\$2"
 ..
+.        if !\nF==2 \{
+.            nr % 0
+.            nr F 2
+.        \}
+.    \}
 .\}
+.rr rF
 ----END OF PREAMBLE----
+#'# for cperl-mode
 
     if ($accents) {
         $preamble .= <<'----END OF PREAMBLE----'
@@ -1482,15 +1544,15 @@
 1;
 __END__
 
+=for stopwords
+en em ALLCAPS teeny fixedbold fixeditalic fixedbolditalic stderr utf8
+UTF-8 Allbery Sean Burke Ossanna Solaris formatters troff uppercased
+Christiansen nourls
+
 =head1 NAME
 
 Pod::Man - Convert POD data to formatted *roff input
 
-=for stopwords
-en em ALLCAPS teeny fixedbold fixeditalic fixedbolditalic stderr utf8
-UTF-8 Allbery Sean Burke Ossanna Solaris formatters troff uppercased
-Christiansen
-
 =head1 SYNOPSIS
 
     use Pod::Man;
@@ -1551,6 +1613,16 @@
 Sets the centered page header to use instead of "User Contributed Perl
 Documentation".
 
+=item errors
+
+How to report errors.  C<die> says to throw an exception on any POD
+formatting error.  C<stderr> says to report errors on standard error, but
+not to throw an exception.  C<pod> says to include a POD ERRORS section
+in the resulting documentation summarizing the errors.  C<none> ignores
+POD errors entirely, as much as possible.
+
+The default is C<output>.
+
 =item date
 
 Sets the left-hand footer.  By default, the modification date of the input
@@ -1591,6 +1663,22 @@
 a name like C<Pod::Man>.  This option, if given, overrides any automatic
 determination of the name.
 
+=item nourls
+
+Normally, LZ<><> formatting codes with a URL but anchor text are formatted
+to show both the anchor text and the URL.  In other words:
+
+    L<foo|http://example.com/>
+
+is formatted as:
+
+    foo <http://example.com/>
+
+This option, if set to a true value, suppresses the URL when anchor text
+is given, so this example would be formatted as just C<foo>.  This can
+produce less cluttered output in cases where the URLs are not particularly
+important.
+
 =item quotes
 
 Sets the quote marks used to surround CE<lt>> text.  If the value is a
@@ -1628,7 +1716,9 @@
 =item stderr
 
 Send error messages about invalid POD to standard error instead of
-appending a POD ERRORS section to the generated *roff output.
+appending a POD ERRORS section to the generated *roff output.  This is
+equivalent to setting C<errors> to C<stderr> if C<errors> is not already
+set.  It is supported for backward compatibility.
 
 =item utf8
 
@@ -1675,14 +1765,24 @@
 
 (F) You specified a *roff font (using C<fixed>, C<fixedbold>, etc.) that
 wasn't either one or two characters.  Pod::Man doesn't support *roff fonts
-longer than two characters, although some *roff extensions do (the canonical
-versions of B<nroff> and B<troff> don't either).
+longer than two characters, although some *roff extensions do (the
+canonical versions of B<nroff> and B<troff> don't either).
 
+=item Invalid errors setting "%s"
+
+(F) The C<errors> parameter to the constructor was set to an unknown value.
+
 =item Invalid quote specification "%s"
 
-(F) The quote specification given (the quotes option to the constructor) was
-invalid.  A quote specification must be one, two, or four characters long.
+(F) The quote specification given (the C<quotes> option to the
+constructor) was invalid.  A quote specification must be one, two, or four
+characters long.
 
+=item POD document had syntax errors
+
+(F) The POD document being formatted had syntax errors and the C<errors>
+option was set to C<die>.
+
 =back
 
 =head1 BUGS
@@ -1743,8 +1843,8 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
-Russ Allbery <rra at stanford.edu>.
+Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
+2009, 2010, 2012, 2013 Russ Allbery <rra at stanford.edu>.
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/podlators/lib/Pod/Man.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/lib/Pod/ParseLink.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,13 +1,13 @@
 # Pod::Text::Color -- Convert POD data to formatted color ASCII text
 #
+# This is just a basic proof of concept.  It should later be modified to make
+# better use of color, take options changing what colors are used for what
+# text, and the like.
+#
 # Copyright 1999, 2001, 2004, 2006, 2008, 2009 Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
-#
-# This is just a basic proof of concept.  It should later be modified to make
-# better use of color, take options changing what colors are used for what
-# text, and the like.
 
 ##############################################################################
 # Modules and declarations
@@ -25,7 +25,7 @@
 
 @ISA = qw(Pod::Text);
 
-$VERSION = '2.06';
+$VERSION = '2.07';
 
 ##############################################################################
 # Overrides


Property changes on: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Color.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,13 +1,5 @@
 # Pod::Text::Overstrike -- Convert POD data to formatted overstrike text
 #
-# Created by Joe Smith <Joe.Smith at inwap.com> 30-Nov-2000
-#   (based on Pod::Text::Color by Russ Allbery <rra at stanford.edu>)
-# Copyright 2000 Joe Smith <Joe.Smith at inwap.com>.
-# Copyright 2001, 2004, 2008 Russ Allbery <rra at stanford.edu>.
-#
-# This program is free software; you may redistribute it and/or modify it
-# under the same terms as Perl itself.
-#
 # This was written because the output from:
 #
 #     pod2text Text.pm > plain.txt; less plain.txt
@@ -18,6 +10,14 @@
 #
 # and because both Pod::Text::Color and Pod::Text::Termcap are not device
 # independent.
+#
+# Created by Joe Smith <Joe.Smith at inwap.com> 30-Nov-2000
+#   (based on Pod::Text::Color by Russ Allbery <rra at stanford.edu>)
+# Copyright 2000 Joe Smith <Joe.Smith at inwap.com>.
+# Copyright 2001, 2004, 2008 Russ Allbery <rra at stanford.edu>.
+#
+# This program is free software; you may redistribute it and/or modify it
+# under the same terms as Perl itself.
 
 ##############################################################################
 # Modules and declarations
@@ -34,7 +34,7 @@
 
 @ISA = qw(Pod::Text);
 
-$VERSION = '2.04';
+$VERSION = '2.05';
 
 ##############################################################################
 # Overrides


Property changes on: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Overstrike.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,14 @@
 # Pod::Text::Termcap -- Convert POD data to ASCII text with format escapes.
 #
+# This is a simple subclass of Pod::Text that overrides a few key methods to
+# output the right termcap escape sequences for formatted text on the current
+# terminal type.
+#
 # Copyright 1999, 2001, 2002, 2004, 2006, 2008, 2009
 #     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
-#
-# This is a simple subclass of Pod::Text that overrides a few key methods to
-# output the right termcap escape sequences for formatted text on the current
-# terminal type.
 
 ##############################################################################
 # Modules and declarations
@@ -27,7 +27,7 @@
 
 @ISA = qw(Pod::Text);
 
-$VERSION = '2.06';
+$VERSION = '2.07';
 
 ##############################################################################
 # Overrides


Property changes on: vendor/perl/dist/cpan/podlators/lib/Pod/Text/Termcap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm
===================================================================
--- vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,5 @@
 # Pod::Text -- Convert POD data to formatted ASCII text.
 #
-# Copyright 1999, 2000, 2001, 2002, 2004, 2006, 2008, 2009
-#     Russ Allbery <rra at stanford.edu>
-#
-# This program is free software; you may redistribute it and/or modify it
-# under the same terms as Perl itself.
-#
 # This module converts POD to formatted text.  It replaces the old Pod::Text
 # module that came with versions of Perl prior to 5.6.0 and attempts to match
 # its output except for some specific circumstances where other decisions
@@ -16,6 +10,12 @@
 # maintained outside of the Perl core as part of the podlators.  Please send
 # me any patches at the address above in addition to sending them to the
 # standard Perl mailing lists.
+#
+# Copyright 1999, 2000, 2001, 2002, 2004, 2006, 2008, 2009, 2012, 2013
+#     Russ Allbery <rra at stanford.edu>
+#
+# This program is free software; you may redistribute it and/or modify it
+# under the same terms as Perl itself.
 
 ##############################################################################
 # Modules and declarations
@@ -38,7 +38,7 @@
 # We have to export pod2text for backward compatibility.
 @EXPORT = qw(pod2text);
 
-$VERSION = '3.15';
+$VERSION = '3.17';
 
 ##############################################################################
 # Initialization
@@ -87,11 +87,30 @@
     %$self = (%$self, @opts);
 
     # Send errors to stderr if requested.
-    if ($$self{opt_stderr}) {
+    if ($$self{opt_stderr} and not $$self{opt_errors}) {
+        $$self{opt_errors} = 'stderr';
+    }
+    delete $$self{opt_stderr};
+
+    # Validate the errors parameter and act on it.
+    if (not defined $$self{opt_errors}) {
+        $$self{opt_errors} = 'pod';
+    }
+    if ($$self{opt_errors} eq 'stderr' || $$self{opt_errors} eq 'die') {
         $self->no_errata_section (1);
         $self->complain_stderr (1);
-        delete $$self{opt_stderr};
+        if ($$self{opt_errors} eq 'die') {
+            $$self{complain_die} = 1;
+        }
+    } elsif ($$self{opt_errors} eq 'pod') {
+        $self->no_errata_section (0);
+        $self->complain_stderr (0);
+    } elsif ($$self{opt_errors} eq 'none') {
+        $self->no_whining (1);
+    } else {
+        croak (qq(Invalid errors setting: "$$self{errors}"));
     }
+    delete $$self{errors};
 
     # Initialize various things from our parameters.
     $$self{opt_alt}      = 0  unless defined $$self{opt_alt};
@@ -279,7 +298,13 @@
 
 # Set up various things that have to be initialized on a per-document basis.
 sub start_document {
-    my $self = shift;
+    my ($self, $attrs) = @_;
+    if ($$attrs{contentless} && !$$self{ALWAYS_EMIT_SOMETHING}) {
+        $$self{CONTENTLESS} = 1;
+        return;
+    } else {
+        delete $$self{CONTENTLESS};
+    }
     my $margin = $$self{opt_indent} + $$self{opt_margin};
 
     # Initialize a few per-document variables.
@@ -298,8 +323,9 @@
     if ($$self{opt_utf8}) {
         $$self{ENCODE} = 1;
         eval {
-            my @layers = PerlIO::get_layers ($$self{output_fh});
-            if (grep { $_ eq 'utf8' } @layers) {
+            my @options = (output => 1, details => 1);
+            my $flag = (PerlIO::get_layers ($$self{output_fh}, @options))[-1];
+            if ($flag & PerlIO::F_UTF8 ()) {
                 $$self{ENCODE} = 0;
             }
         };
@@ -308,6 +334,15 @@
     return '';
 }
 
+# Handle the end of the document.  The only thing we do is handle dying on POD
+# errors, since Pod::Parser currently doesn't.
+sub end_document {
+    my ($self) = @_;
+    if ($$self{complain_die} && $self->errors_seen) {
+        croak ("POD document had syntax errors");
+    }
+}
+
 ##############################################################################
 # Text blocks
 ##############################################################################
@@ -583,6 +618,8 @@
     if ($$attrs{type} eq 'url') {
         if (not defined($$attrs{to}) or $$attrs{to} eq $text) {
             return "<$text>";
+        } elsif ($$self{opt_nourls}) {
+            return $text;
         } else {
             return "$text <$$attrs{to}>";
         }
@@ -679,6 +716,17 @@
     $self->parse_from_file (@_);
 }
 
+# Pod::Simple's parse_file doesn't set output_fh.  Wrap the call and do so
+# ourself unless it was already set by the caller, since our documentation has
+# always said that this should work.
+sub parse_file {
+    my ($self, $in) = @_;
+    unless (defined $$self{output_fh}) {
+        $self->output_fh (\*STDOUT);
+    }
+    return $self->SUPER::parse_file ($in);
+}
+
 ##############################################################################
 # Module return value and documentation
 ##############################################################################
@@ -686,13 +734,13 @@
 1;
 __END__
 
+=for stopwords
+alt stderr Allbery Sean Burke's Christiansen UTF-8 pre-Unicode utf8 nourls
+
 =head1 NAME
 
 Pod::Text - Convert POD data to formatted ASCII text
 
-=for stopwords
-alt stderr Allbery Sean Burke's Christiansen UTF-8 pre-Unicode utf8
-
 =head1 SYNOPSIS
 
     use Pod::Text;
@@ -732,6 +780,16 @@
 in the output.  Useful for viewing code documented with POD blocks with the
 POD rendered and the code left intact.
 
+=item errors
+
+How to report errors.  C<die> says to throw an exception on any POD
+formatting error.  C<stderr> says to report errors on standard error, but
+not to throw an exception.  C<pod> says to include a POD ERRORS section
+in the resulting documentation summarizing the errors.  C<none> ignores
+POD errors entirely, as much as possible.
+
+The default is C<output>.
+
 =item indent
 
 The number of spaces to indent regular text, and the default indentation for
@@ -753,6 +811,22 @@
 indented; for the latter, see the I<indent> option.  To set the right
 margin, see the I<width> option.
 
+=item nourls
+
+Normally, LZ<><> formatting codes with a URL but anchor text are formatted
+to show both the anchor text and the URL.  In other words:
+
+    L<foo|http://example.com/>
+
+is formatted as:
+
+    foo <http://example.com/>
+
+This option, if set to a true value, suppresses the URL when anchor text
+is given, so this example would be formatted as just C<foo>.  This can
+produce less cluttered output in cases where the URLs are not particularly
+important.
+
 =item quotes
 
 Sets the quote marks used to surround CE<lt>> text.  If the value is a
@@ -774,7 +848,9 @@
 =item stderr
 
 Send error messages about invalid POD to standard error instead of
-appending a POD ERRORS section to the generated output.
+appending a POD ERRORS section to the generated output.  This is
+equivalent to setting C<errors> to C<stderr> if C<errors> is not already
+set.  It is supported for backward compatibility.
 
 =item utf8
 
@@ -816,11 +892,21 @@
 (F) Pod::Text was invoked via the compatibility mode pod2text() interface
 and the input file it was given could not be opened.
 
+=item Invalid errors setting "%s"
+
+(F) The C<errors> parameter to the constructor was set to an unknown value.
+
 =item Invalid quote specification "%s"
 
-(F) The quote specification given (the quotes option to the constructor) was
-invalid.  A quote specification must be one, two, or four characters long.
+(F) The quote specification given (the C<quotes> option to the
+constructor) was invalid.  A quote specification must be one, two, or four
+characters long.
 
+=item POD document had syntax errors
+
+(F) The POD document being formatted had syntax errors and the C<errors>
+option was set to C<die>.
+
 =back
 
 =head1 BUGS
@@ -877,8 +963,8 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 1999, 2000, 2001, 2002, 2004, 2006, 2008, 2009 Russ Allbery
-<rra at stanford.edu>.
+Copyright 1999, 2000, 2001, 2002, 2004, 2006, 2008, 2009, 2012, 2013 Russ
+Allbery <rra at stanford.edu>.
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/podlators/lib/Pod/Text.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/scripts/pod2man.PL
===================================================================
--- vendor/perl/dist/cpan/podlators/scripts/pod2man.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/scripts/pod2man.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -37,7 +37,7 @@
 
 # pod2man -- Convert POD data to formatted *roff input.
 #
-# Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010
+# Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013
 #     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
@@ -51,6 +51,9 @@
 
 use strict;
 
+# Clean up $0 for error reporting.
+$0 =~ s%.*/%%;
+
 # Insert -- into @ARGV before any single dash argument to hide it from
 # Getopt::Long; we want to interpret it as meaning stdin.
 my $stdin;
@@ -59,12 +62,12 @@
 # Parse our options, trying to retain backward compatibility with pod2man but
 # allowing short forms as well.  --lax is currently ignored.
 my %options;
-$options{errors} = 'pod';
 Getopt::Long::config ('bundling_override');
-GetOptions (\%options, 'center|c=s', 'date|d=s', 'fixed=s', 'fixedbold=s',
-            'fixeditalic=s', 'fixedbolditalic=s', 'help|h', 'lax|l',
-            'name|n=s', 'official|o', 'quotes|q=s', 'release|r:s',
-            'section|s=s', 'stderr', 'verbose|v', 'utf8|u') or exit 1;
+GetOptions (\%options, 'center|c=s', 'date|d=s', 'errors=s', 'fixed=s',
+            'fixedbold=s', 'fixeditalic=s', 'fixedbolditalic=s', 'help|h',
+            'lax|l', 'name|n=s', 'nourls', 'official|o', 'quotes|q=s',
+            'release|r:s', 'section|s=s', 'stderr', 'verbose|v', 'utf8|u')
+    or exit 1;
 pod2usage (0) if $options{help};
 
 # Official sets --center, but don't override things explicitly set.
@@ -80,32 +83,48 @@
 # compatibility.
 delete $options{lax};
 
+# If neither stderr nor errors is set, default to errors = die.
+if (!defined $options{stderr} && !defined $options{errors}) {
+    $options{errors} = 'die';
+}
+
 # Initialize and run the formatter, pulling a pair of input and output off at
-# a time.
+# a time.  For each file, we check whether the document was completely empty
+# and, if so, will remove the created file and exit with a non-zero exit
+# status.
 my $parser = Pod::Man->new (%options);
+my $status = 0;
 my @files;
 do {
     @files = splice (@ARGV, 0, 2);
     print "  $files[1]\n" if $verbose;
     $parser->parse_from_file (@files);
+    if ($parser->{CONTENTLESS}) {
+        $status = 1;
+        warn "$0: unable to format $files[0]\n";
+        if (defined ($files[1]) and $files[1] ne '-') {
+            unlink $files[1] unless (-s $files[1]);
+        }
+    }
 } while (@ARGV);
+exit $status;
 
 __END__
 
+=for stopwords
+en em --stderr stderr --utf8 UTF-8 overdo markup MT-LEVEL Allbery Solaris
+URL troff troff-specific formatters uppercased Christiansen --nourls
+
 =head1 NAME
 
 pod2man - Convert POD data to formatted *roff input
 
-=for stopwords
-en em --stderr stderr --utf8 UTF-8 overdo markup MT-LEVEL Allbery Solaris
-URL troff troff-specific formatters uppercased Christiansen
-
 =head1 SYNOPSIS
 
-pod2man [B<--center>=I<string>] [B<--date>=I<string>]
+pod2man [B<--center>=I<string>] [B<--date>=I<string>] [B<--errors>=I<style>]
     [B<--fixed>=I<font>] [B<--fixedbold>=I<font>] [B<--fixeditalic>=I<font>]
-    [B<--fixedbolditalic>=I<font>] [B<--name>=I<name>] [B<--official>]
-    [B<--quotes>=I<quotes>] [B<--release>[=I<version>]]
+    [B<--fixedbolditalic>=I<font>] [B<--name>=I<name>] [B<--nourls>]
+    [B<--official>] [B<--quotes>=I<quotes>] [B<--release>[=I<version>]]
     [B<--section>=I<manext>] [B<--stderr>] [B<--utf8>] [B<--verbose>]
     [I<input> [I<output>] ...]
 
@@ -159,6 +178,16 @@
 date of the input file will be used, or the current date if input comes from
 C<STDIN>.
 
+=item B<-errors>=I<style>
+
+Set the error handling style.  C<die> says to throw an exception on any
+POD formatting error.  C<stderr> says to report errors on standard error,
+but not to throw an exception.  C<pod> says to include a POD ERRORS
+section in the resulting documentation summarizing the errors.  C<none>
+ignores POD errors entirely, as much as possible.
+
+The default is C<die>.
+
 =item B<--fixed>=I<font>
 
 The fixed-width font to use for verbatim text and code.  Defaults to
@@ -206,6 +235,21 @@
 files at once.  The convention for Unix man pages for commands is for the
 man page title to be in all-uppercase even if the command isn't.
 
+=item B<--nourls>
+
+Normally, LZ<><> formatting codes with a URL but anchor text are formatted
+to show both the anchor text and the URL.  In other words:
+
+    L<foo|http://example.com/>
+
+is formatted as:
+
+    foo <http://example.com/>
+
+This flag, if given, suppresses the URL when anchor text is given, so this
+example would be formatted as just C<foo>.  This can produce less
+cluttered output in cases where the URLs are not particularly important.
+
 =item B<-o>, B<--official>
 
 Set the default header to indicate that this page is part of the standard
@@ -248,10 +292,10 @@
 
 =item B<--stderr>
 
-By default, B<pod2man> puts any errors detected in the POD input in a POD
-ERRORS section in the output manual page.  If B<--stderr> is given, errors
-are sent to standard error instead and the POD ERRORS section is
-suppressed.
+By default, B<pod2man> dies if any errors are detected in the POD input.
+If B<--stderr> is given and no B<--errors> flag is present, errors are
+sent to standard error, but B<pod2man> does not abort.  This is equivalent
+to C<--errors=stderr> and is supported for backward compatibility.
 
 =item B<-u>, B<--utf8>
 
@@ -281,6 +325,16 @@
 
 =back
 
+=head1 EXIT STATUS
+
+As long as all documents processed result in some output, even if that
+output includes errata (a C<POD ERRORS> section generated with
+C<--errors=pod>), B<pod2man> will exit with status 0.  If any of the
+documents being processed do not result in an output document, B<pod2man>
+will exit with status 1.  If there are syntax errors in a POD document
+being processed and the error handling style is set to the default of
+C<die>, B<pod2man> will abort immediately with exit status 255.
+
 =head1 DIAGNOSTICS
 
 If B<pod2man> fails with errors, see L<Pod::Man> and L<Pod::Simple> for
@@ -329,8 +383,8 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010 Russ Allbery
-<rra at stanford.edu>.
+Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ
+Allbery <rra at stanford.edu>.
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.
@@ -337,7 +391,6 @@
 
 =cut
 !NO!SUBS!
-#'# (cperl-mode)
 
 close OUT or die "Can't close $file: $!";
 chmod 0755, $file or die "Can't reset permissions for $file: $!\n";


Property changes on: vendor/perl/dist/cpan/podlators/scripts/pod2man.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/scripts/pod2text.PL
===================================================================
--- vendor/perl/dist/cpan/podlators/scripts/pod2text.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/scripts/pod2text.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -37,7 +37,7 @@
 
 # pod2text -- Convert POD data to formatted ASCII text.
 #
-# Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010
+# Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013
 #     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
@@ -54,6 +54,9 @@
 
 use strict;
 
+# Clean up $0 for error reporting.
+$0 =~ s%.*/%%;
+
 # Take an initial pass through our options, looking for one of the form
 # -<number>.  We turn that into -w <number> for compatibility with the
 # original pod2text script.
@@ -75,10 +78,10 @@
 my %options;
 $options{sentence} = 0;
 Getopt::Long::config ('bundling');
-GetOptions (\%options, 'alt|a', 'code', 'color|c', 'help|h', 'indent|i=i',
-            'loose|l', 'margin|left-margin|m=i', 'overstrike|o',
-            'quotes|q=s', 'sentence|s', 'stderr', 'termcap|t', 'utf8|u',
-            'width|w=i')
+GetOptions (\%options, 'alt|a', 'code', 'color|c', 'errors=s', 'help|h',
+            'indent|i=i', 'loose|l', 'margin|left-margin|m=i', 'nourls',
+            'overstrike|o', 'quotes|q=s', 'sentence|s', 'stderr', 'termcap|t',
+            'utf8|u', 'width|w=i')
     or exit 1;
 pod2usage (1) if $options{help};
 
@@ -98,27 +101,42 @@
 }
 delete @options{'color', 'termcap', 'overstrike'};
 
+# If neither stderr nor errors is set, default to errors = die.
+if (!defined $options{stderr} && !defined $options{errors}) {
+    $options{errors} = 'die';
+}
+
 # Initialize and run the formatter.
 my $parser = $formatter->new (%options);
+my $status = 0;
 do {
     my ($input, $output) = splice (@ARGV, 0, 2);
     $parser->parse_from_file ($input, $output);
+    if ($parser->{CONTENTLESS}) {
+        $status = 1;
+        warn "$0: unable to format $input\n";
+        if (defined ($output) and $output ne '-') {
+            unlink $output unless (-s $output);
+        }
+    }
 } while (@ARGV);
+exit $status;
 
 __END__
 
+=for stopwords
+-aclostu --alt --stderr Allbery --overstrike overstrike --termcap --utf8
+UTF-8 subclasses --nourls
+
 =head1 NAME
 
 pod2text - Convert POD data to formatted ASCII text
 
-=for stopwords
--aclostu --alt --stderr Allbery --overstrike overstrike --termcap --utf8
-UTF-8
-
 =head1 SYNOPSIS
 
-pod2text [B<-aclostu>] [B<--code>] [B<-i> I<indent>] S<[B<-q> I<quotes>]>
-    [B<--stderr>] S<[B<-w> I<width>]> [I<input> [I<output> ...]]
+pod2text [B<-aclostu>] [B<--code>] [B<--errors>=I<style>] [B<-i> I<indent>]
+    S<[B<-q> I<quotes>]> [B<--nourls>] [B<--stderr>] S<[B<-w> I<width>]>
+    [I<input> [I<output> ...]]
 
 pod2text B<-h>
 
@@ -161,6 +179,16 @@
 Set the number of spaces to indent regular text, and the default indentation
 for C<=over> blocks.  Defaults to 4 spaces if this option isn't given.
 
+=item B<-errors>=I<style>
+
+Set the error handling style.  C<die> says to throw an exception on any
+POD formatting error.  C<stderr> says to report errors on standard error,
+but not to throw an exception.  C<pod> says to include a POD ERRORS
+section in the resulting documentation summarizing the errors.  C<none>
+ignores POD errors entirely, as much as possible.
+
+The default is C<die>.
+
 =item B<-h>, B<--help>
 
 Print out usage information and exit.
@@ -178,6 +206,21 @@
 for all text, including headings, not the amount by which regular text is
 indented; for the latter, see B<-i> option.
 
+=item B<--nourls>
+
+Normally, LZ<><> formatting codes with a URL but anchor text are formatted
+to show both the anchor text and the URL.  In other words:
+
+    L<foo|http://example.com/>
+
+is formatted as:
+
+    foo <http://example.com/>
+
+This flag, if given, suppresses the URL when anchor text is given, so this
+example would be formatted as just C<foo>.  This can produce less
+cluttered output in cases where the URLs are not particularly important.
+
 =item B<-o>, B<--overstrike>
 
 Format the output with overstrike printing.  Bold text is rendered as
@@ -205,10 +248,11 @@
 
 =item B<--stderr>
 
-By default, B<pod2text> puts any errors detected in the POD input in a POD
-ERRORS section in the output manual page.  If B<--stderr> is given, errors
-are sent to standard error instead and the POD ERRORS section is
-suppressed.
+By default, B<pod2text> dies if any errors are detected in the POD input.
+If B<--stderr> is given and no B<--errors> flag is present, errors are
+sent to standard error, but B<pod2text> does not abort.  This is
+equivalent to C<--errors=stderr> and is supported for backward
+compatibility.
 
 =item B<-t>, B<--termcap>
 
@@ -240,6 +284,16 @@
 
 =back
 
+=head1 EXIT STATUS
+
+As long as all documents processed result in some output, even if that
+output includes errata (a C<POD ERRORS> section generated with
+C<--errors=pod>), B<pod2text> will exit with status 0.  If any of the
+documents being processed do not result in an output document, B<pod2text>
+will exit with status 1.  If there are syntax errors in a POD document
+being processed and the error handling style is set to the default of
+C<die>, B<pod2text> will abort immediately with exit status 255.
+
 =head1 DIAGNOSTICS
 
 If B<pod2text> fails with errors, see L<Pod::Text> and L<Pod::Simple> for
@@ -295,8 +349,8 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010 Russ Allbery
-<rra at stanford.edu>.
+Copyright 1999, 2000, 2001, 2004, 2006, 2008, 2010, 2012, 2013 Russ
+Allbery <rra at stanford.edu>.
 
 This program is free software; you may redistribute it and/or modify it
 under the same terms as Perl itself.


Property changes on: vendor/perl/dist/cpan/podlators/scripts/pod2text.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/basic.cap
===================================================================
--- vendor/perl/dist/cpan/podlators/t/basic.cap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/basic.cap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/basic.cap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/basic.clr
===================================================================
--- vendor/perl/dist/cpan/podlators/t/basic.clr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/basic.clr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/basic.clr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/basic.man
===================================================================
--- vendor/perl/dist/cpan/podlators/t/basic.man	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/basic.man	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/basic.man
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/basic.ovr
===================================================================
--- vendor/perl/dist/cpan/podlators/t/basic.ovr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/basic.ovr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/basic.ovr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/basic.pod
===================================================================
--- vendor/perl/dist/cpan/podlators/t/basic.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/basic.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/basic.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/basic.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,8 @@
 #
 # basic.t -- Basic tests for podlators.
 #
-# Copyright 2001, 2002, 2004, 2006, 2009 by Russ Allbery <rra at stanford.edu>
+# Copyright 2001, 2002, 2004, 2006, 2009, 2012
+#     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -70,22 +71,22 @@
         # For Pod::Man, strip out the autogenerated header up to the .TH title
         # line.  That means that we don't check those things; oh well.  The
         # header changes with each version change or touch of the input file.
-        open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+        open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
         $parser->parse_from_file (source_path ('basic.pod'), \*OUT);
         close OUT;
         if ($module eq 'Pod::Man') {
-            open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
-            open (OUTPUT, "> out.$translators{$module}")
-                or die "Cannot create out.$translators{$module}: $!\n";
+            open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
+            open (OUTPUT, "> out$$.$translators{$module}")
+                or die "Cannot create out$$.$translators{$module}: $!\n";
             local $_;
             while (<TMP>) { last if /^\.nh/ }
             print OUTPUT while <TMP>;
             close OUTPUT;
             close TMP;
-            1 while unlink 'out.tmp';
+            1 while unlink "out$$.tmp";
         } else {
-            rename ('out.tmp', "out.$translators{$module}")
-                or die "Cannot rename out.tmp: $!\n";
+            rename ("out$$.tmp", "out$$.$translators{$module}")
+                or die "Cannot rename out$$.tmp: $!\n";
         }
 
         # Slurp the output and expected output and compare them.
@@ -94,8 +95,8 @@
             local $/;
             open (MASTER, source_path ("basic.$translators{$module}"))
                 or die "Cannot open basic.$translators{$module}: $!\n";
-            open (OUTPUT, "out.$translators{$module}")
-                or die "Cannot open out.$translators{$module}: $!\n";
+            open (OUTPUT, "out$$.$translators{$module}")
+                or die "Cannot open out$$.$translators{$module}: $!\n";
             $master = <MASTER>;
             $output = <OUTPUT>;
             close MASTER;
@@ -108,9 +109,9 @@
             $output =~ tr/\033/\047/;
         }
         if (ok ($master eq $output, "$module output is correct")) {
-            1 while unlink "out.$translators{$module}";
+            1 while unlink "out$$.$translators{$module}";
         } else {
-            diag ("Non-matching output left in out.$translators{$module}\n");
+            diag ("Non-matching output left in out$$.$translators{$module}\n");
         }
     }
 }


Property changes on: vendor/perl/dist/cpan/podlators/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/basic.txt
===================================================================
--- vendor/perl/dist/cpan/podlators/t/basic.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/basic.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/basic.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/color.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/color.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/color.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,8 @@
 #
 # color.t -- Additional specialized tests for Pod::Text::Color.
 #
-# Copyright 2002, 2004, 2006, 2009 by Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2009, 2012, 2013
+#     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -36,16 +37,16 @@
 my $n = 1;
 while (<DATA>) {
     next until $_ eq "###\n";
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     while (<DATA>) {
         last if $_ eq "###\n";
         print TMP $_;
     }
     close TMP;
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     my $output;
     {
         local $/;
@@ -52,7 +53,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -91,7 +92,7 @@
 
 B
 
-=item 1
+=item 1Z<>
 
 C
 


Property changes on: vendor/perl/dist/cpan/podlators/t/color.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/devise-date.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/devise-date.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/devise-date.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/devise-date.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/filehandle.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/filehandle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/filehandle.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 #
 # filehandle.t -- Test the parse_from_filehandle interface.
 #
-# Copyright 2006, 2009 by Russ Allbery <rra at stanford.edu>
+# Copyright 2006, 2009, 2012 by Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -31,7 +31,7 @@
 isa_ok ($text, 'Pod::Text', 'Pod::Text parser object');
 while (<DATA>) {
     next until $_ eq "###\n";
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp.pod: $!\n";
     while (<DATA>) {
         last if $_ eq "###\n";
         print TMP $_;
@@ -39,12 +39,12 @@
     close TMP;
 
     # Test Pod::Man output.
-    open (IN, '< tmp.pod') or die "Cannot open tmp.pod: $!\n";
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+    open (IN, "< tmp$$.pod") or die "Cannot open tmp$$.pod: $!\n";
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
     $man->parse_from_filehandle (\*IN, \*OUT);
     close IN;
     close OUT;
-    open (OUT, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (OUT, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     while (<OUT>) { last if /^\.nh/ }
     my $output;
     {
@@ -60,18 +60,18 @@
     is ($output, $expected, 'Pod::Man output is correct');
 
     # Test Pod::Text output.
-    open (IN, '< tmp.pod') or die "Cannot open tmp.pod: $!\n";
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+    open (IN, "< tmp$$.pod") or die "Cannot open tmp$$.pod: $!\n";
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
     $text->parse_from_filehandle (\*IN, \*OUT);
     close IN;
     close OUT;
-    open (OUT, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (OUT, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     {
         local $/;
         $output = <OUT>;
     }
     close OUT;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";


Property changes on: vendor/perl/dist/cpan/podlators/t/filehandle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/man-heading.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/man-heading.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/man-heading.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 #
 # man-options.t -- Additional tests for Pod::Man options.
 #
-# Copyright 2002, 2004, 2006, 2008, 2009 Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2008, 2009, 2012 Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -36,10 +36,10 @@
     close TMP;
     my $parser = Pod::Man->new (%options);
     isa_ok ($parser, 'Pod::Man', 'Parser object');
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
     $parser->parse_from_file ('tmp.pod', \*OUT);
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     my $heading;
     while (<TMP>) {
         if (/^\.TH/) {
@@ -48,7 +48,7 @@
         }
     }
     close TMP;
-    unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ('tmp.pod', "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";


Property changes on: vendor/perl/dist/cpan/podlators/t/man-heading.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/man-options.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/man-options.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/man-options.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,9 @@
 #!/usr/bin/perl -w
 #
-# man-options.t -- Additional tests for Pod::Man options.
+# Additional tests for Pod::Man options.
 #
-# Copyright 2002, 2004, 2006, 2008, 2009 Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2008, 2009, 2012, 2013
+#     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -18,13 +19,13 @@
 
 use strict;
 
-use Test::More tests => 10;
+use Test::More tests => 28;
 BEGIN { use_ok ('Pod::Man') }
 
 # Redirect stderr to a file.
 sub stderr_save {
     open (OLDERR, '>&STDERR') or die "Can't dup STDERR: $!\n";
-    open (STDERR, '> out.err') or die "Can't redirect STDERR: $!\n";
+    open (STDERR, "> out$$.err") or die "Can't redirect STDERR: $!\n";
 }
 
 # Restore stderr.
@@ -43,7 +44,7 @@
         my ($option, $value) = split;
         $options{$option} = $value;
     }
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     while (<DATA>) {
         last if $_ eq "###\n";
         print TMP $_;
@@ -51,13 +52,14 @@
     close TMP;
     my $parser = Pod::Man->new (%options);
     isa_ok ($parser, 'Pod::Man', 'Parser object');
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
     stderr_save;
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    eval { $parser->parse_from_file ("tmp$$.pod", \*OUT) };
+    my $exception = $@;
     stderr_restore;
     close OUT;
     my $accents = 0;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     while (<TMP>) {
         last if /^\.nh/;
     }
@@ -67,7 +69,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -74,7 +76,7 @@
         $expected .= $_;
     }
     is ($output, $expected, "Output correct for test $n");
-    open (ERR, 'out.err') or die "Cannot open out.err: $!\n";
+    open (ERR, "out$$.err") or die "Cannot open out.err: $!\n";
     my $errors;
     {
         local $/;
@@ -81,7 +83,12 @@
         $errors = <ERR>;
     }
     close ERR;
-    1 while unlink ('out.err');
+    $errors =~ s/\Qtmp$$.pod/tmp.pod/g;
+    1 while unlink ("out$$.err");
+    if ($exception) {
+        $exception =~ s/ at .*//;
+        $errors .= "EXCEPTION: $exception";
+    }
     $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -157,3 +164,123 @@
 ###
 tmp.pod around line 7: You forgot a '=back' before '=head1'
 ###
+
+###
+nourls 1
+###
+=head1 URL suppression
+
+L<anchor|http://www.example.com/>
+###
+.SH "URL suppression"
+.IX Header "URL suppression"
+anchor
+###
+###
+
+###
+errors stderr
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+###
+tmp.pod around line 7: You forgot a '=back' before '=head1'
+###
+
+###
+errors die
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+###
+tmp.pod around line 7: You forgot a '=back' before '=head1'
+EXCEPTION: POD document had syntax errors
+###
+
+###
+errors pod
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+.SH "POD ERRORS"
+.IX Header "POD ERRORS"
+Hey! \fBThe above document had some coding errors, which are explained below:\fR
+.IP "Around line 7:" 4
+.IX Item "Around line 7:"
+You forgot a '=back' before '=head1'
+###
+###
+
+###
+errors none
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+.IP "Foo" 4
+.IX Item "Foo"
+Bar.
+.SH "NEXT"
+.IX Header "NEXT"
+###
+###
+
+###
+errors none
+###
+=over 4
+
+=item foo
+
+Not a bullet.
+
+=item *
+
+Also not a bullet.
+
+=back
+###
+.IP "foo" 4
+.IX Item "foo"
+Not a bullet.
+.IP "*" 4
+Also not a bullet.
+###


Property changes on: vendor/perl/dist/cpan/podlators/t/man-options.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/man-perlio.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/man-perlio.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/man-perlio.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,8 @@
 #
 # man-perlio.t -- Test Pod::Man with a PerlIO UTF-8 encoding layer.
 #
-# Copyright 2002, 2004, 2006, 2008, 2009, 2010 Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2008, 2009, 2010, 2012
+#     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -47,7 +48,7 @@
         my ($option, $value) = split;
         $options{$option} = $value;
     }
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     eval { binmode (\*TMP, ':encoding(utf-8)') };
     print TMP "=encoding utf-8\n\n";
     while (<DATA>) {
@@ -57,12 +58,12 @@
     close TMP;
     my $parser = Pod::Man->new (%options);
     isa_ok ($parser, 'Pod::Man', 'Parser object');
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
     eval { binmode (\*OUT, ':encoding(utf-8)') };
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
     my $accents = 0;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     eval { binmode (\*TMP, ':encoding(utf-8)') };
     while (<TMP>) {
         $accents = 1 if /Accent mark definitions/;
@@ -74,7 +75,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     if ($options{utf8}) {
         ok (!$accents, "Saw no accent definitions for test $n");
     } else {


Property changes on: vendor/perl/dist/cpan/podlators/t/man-perlio.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/man-utf8.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/man-utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/man-utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 #
 # man-utf8.t -- Test Pod::Man with UTF-8 input.
 #
-# Copyright 2002, 2004, 2006, 2008, 2009 Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2008, 2009, 2012 Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -47,7 +47,7 @@
         my ($option, $value) = split;
         $options{$option} = $value;
     }
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     eval { binmode (\*TMP, ':encoding(utf-8)') };
     print TMP "=encoding utf-8\n\n";
     while (<DATA>) {
@@ -57,11 +57,11 @@
     close TMP;
     my $parser = Pod::Man->new (%options);
     isa_ok ($parser, 'Pod::Man', 'Parser object');
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
     my $accents = 0;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     eval { binmode (\*TMP, ':encoding(utf-8)') };
     while (<TMP>) {
         $accents = 1 if /Accent mark definitions/;
@@ -73,7 +73,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     if ($options{utf8}) {
         ok (!$accents, "Saw no accent definitions for test $n");
     } else {


Property changes on: vendor/perl/dist/cpan/podlators/t/man-utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/man.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/man.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/man.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
 #!/usr/bin/perl -w
 #
-# man.t -- Additional specialized tests for Pod::Man.
+# Additional specialized tests for Pod::Man.
 #
-# Copyright 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010
+# Copyright 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2012, 2013
 #     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
@@ -19,7 +19,7 @@
 
 use strict;
 
-use Test::More tests => 31;
+use Test::More tests => 34;
 BEGIN { use_ok ('Pod::Man') }
 
 # Test whether we can use binmode to set encoding.
@@ -30,7 +30,7 @@
 my $n = 1;
 while (<DATA>) {
     next until $_ eq "###\n";
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
 
     # We have a test in ISO 8859-1 encoding.  Make sure that nothing strange
     # happens if Perl thinks the world is Unicode.  Wrap this in eval so that
@@ -42,10 +42,10 @@
         print TMP $_;
     }
     close TMP;
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
-    open (OUT, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (OUT, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     while (<OUT>) { last if /^\.nh/ }
     my $output;
     {
@@ -53,7 +53,7 @@
         $output = <OUT>;
     }
     close OUT;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -119,26 +119,6 @@
 ###
 
 ###
-=over 4
-
-=item foo
-
-Not a bullet.
-
-=item *
-
-Also not a bullet.
-
-=back
-###
-.IP "foo" 4
-.IX Item "foo"
-Not a bullet.
-.IP "*" 4
-Also not a bullet.
-###
-
-###
 =encoding iso-8859-1
 
 =head1 ACCENTS
@@ -499,7 +479,7 @@
 ###
 .SH "LINK TO URL"
 .IX Header "LINK TO URL"
-This is a link <http://www.example.com/> to a \s-1URL\s0.
+This is a link <http://www.example.com/> to a \s-1URL.\s0
 ###
 
 ###
@@ -528,3 +508,59 @@
 .PP
 \&.
 ###
+
+###
+=head1 URL LINK
+
+The newest version of this document is also available on the World Wide Web at
+L<http://pod.tst.eu/http://cvs.schmorp.de/rxvt-unicode/doc/rxvt.7.pod>.
+###
+.SH "URL LINK"
+.IX Header "URL LINK"
+The newest version of this document is also available on the World Wide Web at
+<http://pod.tst.eu/http://cvs.schmorp.de/rxvt\-unicode/doc/rxvt.7.pod>.
+###
+
+###
+=head1 RT LINK
+
+L<[perl #12345]|https://rt.cpan.org/12345>
+###
+.SH "RT LINK"
+.IX Header "RT LINK"
+[perl #12345] <https://rt.cpan.org/12345>
+###
+
+###
+=head1 Multiline XZ<><>
+
+Something something X<this   is
+one index term>
+###
+.SH "Multiline X<>"
+.IX Header "Multiline X<>"
+Something something
+.IX Xref "this is one index term"
+###
+
+###
+=head1 Uppercase License
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+###
+.SH "Uppercase License"
+.IX Header "Uppercase License"
+\&\s-1THE SOFTWARE IS PROVIDED \*(L"AS IS\*(R", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\s0
+###


Property changes on: vendor/perl/dist/cpan/podlators/t/man.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/overstrike.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/overstrike.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/overstrike.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,8 @@
 #
 # overstrike.t -- Additional specialized tests for Pod::Text::Overstrike.
 #
-# Copyright 2002, 2004, 2006, 2009 by Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2009, 2012, 2013
+#     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -26,16 +27,16 @@
 my $n = 1;
 while (<DATA>) {
     next until $_ eq "###\n";
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     while (<DATA>) {
         last if $_ eq "###\n";
         print TMP $_;
     }
     close TMP;
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     my $output;
     {
         local $/;
@@ -42,7 +43,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -81,7 +82,7 @@
 
 B
 
-=item 1
+=item 1Z<>
 
 C
 


Property changes on: vendor/perl/dist/cpan/podlators/t/overstrike.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/parselink.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/parselink.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/parselink.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/parselink.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/pod-parser.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/pod-parser.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/pod-parser.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 #
 # pod-parser.t -- Tests for backward compatibility with Pod::Parser.
 #
-# Copyright 2006, 2008, 2009 by Russ Allbery <rra at stanford.edu>
+# Copyright 2006, 2008, 2009, 2012 by Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -26,13 +26,13 @@
 
 my $parser = Pod::Man->new;
 isa_ok ($parser, 'Pod::Man', 'Pod::Man parser object');
-open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
 print TMP "Some random B<text>.\n";
 close TMP;
-open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-$parser->parse_from_file ({ -cutting => 0 }, 'tmp.pod', \*OUT);
+open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+$parser->parse_from_file ({ -cutting => 0 }, "tmp$$.pod", \*OUT);
 close OUT;
-open (OUT, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+open (OUT, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
 while (<OUT>) { last if /^\.nh/ }
 my $output;
 {
@@ -44,10 +44,10 @@
 
 $parser = Pod::Text->new;
 isa_ok ($parser, 'Pod::Text', 'Pod::Text parser object');
-open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-$parser->parse_from_file ({ -cutting => 0 }, 'tmp.pod', \*OUT);
+open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+$parser->parse_from_file ({ -cutting => 0 }, "tmp$$.pod", \*OUT);
 close OUT;
-open (OUT, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+open (OUT, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
 {
     local $/;
     $output = <OUT>;
@@ -56,17 +56,17 @@
 is ($output, "    Some random text.\n\n", 'Pod::Text -cutting output');
 
 # Test the pod2text function, particularly with only one argument.
-open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
 print TMP "=pod\n\nSome random B<text>.\n";
 close TMP;
-open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
 open (SAVE, '>&STDOUT') or die "Cannot dup stdout: $!\n";
 open (STDOUT, '>&OUT') or die "Cannot replace stdout: $!\n";
-pod2text ('tmp.pod');
+pod2text ("tmp$$.pod");
 close OUT;
 open (STDOUT, '>&SAVE') or die "Cannot fix stdout: $!\n";
 close SAVE;
-open (OUT, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+open (OUT, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
 {
     local $/;
     $output = <OUT>;
@@ -74,5 +74,5 @@
 close OUT;
 is ($output, "    Some random text.\n\n", 'Pod::Text pod2text function');
 
-1 while unlink ('tmp.pod', 'out.tmp');
+1 while unlink ("tmp$$.pod", "out$$.tmp");
 exit 0;


Property changes on: vendor/perl/dist/cpan/podlators/t/pod-parser.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/pod-spelling.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/pod-spelling.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/pod-spelling.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/pod-spelling.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/cpan/podlators/t/pod.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/cpan/podlators/t/pod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/termcap.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/termcap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/termcap.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,8 @@
 #
 # termcap.t -- Additional specialized tests for Pod::Text::Termcap.
 #
-# Copyright 2002, 2004, 2006, 2009 by Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2009, 2012, 2013
+#     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -31,16 +32,16 @@
 my $n = 1;
 while (<DATA>) {
     next until $_ eq "###\n";
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     while (<DATA>) {
         last if $_ eq "###\n";
         print TMP $_;
     }
     close TMP;
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     my $output;
     {
         local $/;
@@ -47,7 +48,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -86,7 +87,7 @@
 
 B
 
-=item 1
+=item 1Z<>
 
 C
 


Property changes on: vendor/perl/dist/cpan/podlators/t/termcap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/text-encoding.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/text-encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/text-encoding.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 #
 # text-encoding.t -- Test Pod::Text with various weird encoding combinations.
 #
-# Copyright 2002, 2004, 2006, 2007, 2008, 2009
+# Copyright 2002, 2004, 2006, 2007, 2008, 2009, 2012
 #     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
@@ -26,7 +26,7 @@
     if ($] < 5.008) {
         plan skip_all => 'Perl 5.8 required for encoding support';
     } else {
-        plan tests => 7;
+        plan tests => 5;
     }
 }
 BEGIN { use_ok ('Pod::Text') }
@@ -40,11 +40,10 @@
 my $n = 1;
 while (<DATA>) {
     my %opts;
-    $opts{utf8} = 1 if $n == 3;
     next until $_ eq "###\n";
     my $parser = Pod::Text->new (%opts);
     isa_ok ($parser, 'Pod::Text', 'Parser object');
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     eval { binmode (\*TMP, ':raw') };
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -51,11 +50,11 @@
         print TMP $_;
     }
     close TMP;
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
     eval { binmode (\*OUT, ':raw') };
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     eval { binmode (\*TMP, ':raw') };
     my $output;
     {
@@ -63,7 +62,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -128,9 +127,3 @@
     See <http://www.columbia.edu/kermit/utf8.html>
 
 ###
-
-###
-=head1 Beyoncé
-###
-Beyoncé
-###


Property changes on: vendor/perl/dist/cpan/podlators/t/text-encoding.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/text-options.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/text-options.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/text-options.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,9 @@
 #!/usr/bin/perl -w
 #
-# text-options.t -- Additional tests for Pod::Text options.
+# Additional tests for Pod::Text options.
 #
-# Copyright 2002, 2004, 2006, 2008, 2009 by Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2008, 2009, 2012, 2013
+#     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -18,13 +19,13 @@
 
 use strict;
 
-use Test::More tests => 19;
+use Test::More tests => 34;
 BEGIN { use_ok ('Pod::Text') }
 
 # Redirect stderr to a file.
 sub stderr_save {
     open (OLDERR, '>&STDERR') or die "Can't dup STDERR: $!\n";
-    open (STDERR, '> out.err') or die "Can't redirect STDERR: $!\n";
+    open (STDERR, "> out$$.err") or die "Can't redirect STDERR: $!\n";
 }
 
 # Restore stderr.
@@ -43,7 +44,7 @@
         my ($option, $value) = split;
         $options{$option} = $value;
     }
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     while (<DATA>) {
         last if $_ eq "###\n";
         print TMP $_;
@@ -51,12 +52,13 @@
     close TMP;
     my $parser = Pod::Text->new (%options);
     isa_ok ($parser, 'Pod::Text', 'Parser object');
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
     stderr_save;
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    eval { $parser->parse_from_file ("tmp$$.pod", \*OUT) };
+    my $exception = $@;
     stderr_restore;
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     my $output;
     {
         local $/;
@@ -63,7 +65,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -70,7 +72,7 @@
         $expected .= $_;
     }
     is ($output, $expected, "Ouput correct for test $n");
-    open (ERR, 'out.err') or die "Cannot open out.err: $!\n";
+    open (ERR, "out$$.err") or die "Cannot open out$$.err: $!\n";
     my $errors;
     {
         local $/;
@@ -77,7 +79,12 @@
         $errors = <ERR>;
     }
     close ERR;
-    1 while unlink ('out.err');
+    $errors =~ s/\Qtmp$$.pod/tmp.pod/g;
+    1 while unlink ("out$$.err");
+    if ($exception) {
+        $exception =~ s/ at .*//;
+        $errors .= "EXCEPTION: $exception";
+    }
     $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -253,3 +260,94 @@
 ###
 tmp.pod around line 7: You forgot a '=back' before '=head1'
 ###
+
+###
+nourls 1
+###
+=head1 URL suppression
+
+L<anchor|http://www.example.com/>
+###
+URL suppression
+    anchor
+
+###
+###
+
+###
+errors stderr
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+    Foo Bar.
+
+NEXT
+###
+tmp.pod around line 7: You forgot a '=back' before '=head1'
+###
+
+###
+errors die
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+    Foo Bar.
+
+NEXT
+###
+tmp.pod around line 7: You forgot a '=back' before '=head1'
+EXCEPTION: POD document had syntax errors
+###
+
+###
+errors pod
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+    Foo Bar.
+
+NEXT
+POD ERRORS
+    Hey! The above document had some coding errors, which are explained
+    below:
+
+    Around line 7:
+        You forgot a '=back' before '=head1'
+
+###
+###
+
+###
+errors none
+###
+=over 4
+
+=item Foo
+
+Bar.
+
+=head1 NEXT
+###
+    Foo Bar.
+
+NEXT
+###
+###


Property changes on: vendor/perl/dist/cpan/podlators/t/text-options.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/text-perlio.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/text-perlio.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/text-perlio.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 #
 # text-perlio.t -- Test Pod::Text with a PerlIO UTF-8 encoding layer.
 #
-# Copyright 2002, 2004, 2006, 2007, 2008, 2009, 2010
+# Copyright 2002, 2004, 2006, 2007, 2008, 2009, 2010, 2012
 #     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
@@ -41,7 +41,7 @@
 eval { binmode ($builder->failure_output, ':encoding(utf-8)') };
 while (<DATA>) {
     next until $_ eq "###\n";
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     eval { binmode (\*TMP, ':encoding(utf-8)') };
     print TMP "=encoding UTF-8\n\n";
     while (<DATA>) {
@@ -49,11 +49,11 @@
         print TMP $_;
     }
     close TMP;
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
     eval { binmode (\*OUT, ':encoding(utf-8)') };
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     eval { binmode (\*TMP, ':encoding(utf-8)') };
     my $output;
     {
@@ -61,7 +61,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";


Property changes on: vendor/perl/dist/cpan/podlators/t/text-perlio.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/text-utf8.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/text-utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/text-utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 #
 # text-utf8.t -- Test Pod::Text with UTF-8 input.
 #
-# Copyright 2002, 2004, 2006, 2007, 2008, 2009
+# Copyright 2002, 2004, 2006, 2007, 2008, 2009, 2012
 #     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
@@ -41,7 +41,7 @@
 eval { binmode ($builder->failure_output, ':encoding(utf-8)') };
 while (<DATA>) {
     next until $_ eq "###\n";
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     eval { binmode (\*TMP, ':encoding(utf-8)') };
     print TMP "=encoding UTF-8\n\n";
     while (<DATA>) {
@@ -49,10 +49,10 @@
         print TMP $_;
     }
     close TMP;
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     eval { binmode (\*TMP, ':encoding(utf-8)') };
     my $output;
     {
@@ -60,7 +60,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";


Property changes on: vendor/perl/dist/cpan/podlators/t/text-utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cpan/podlators/t/text.t
===================================================================
--- vendor/perl/dist/cpan/podlators/t/text.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cpan/podlators/t/text.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,8 @@
 #
 # text.t -- Additional specialized tests for Pod::Text.
 #
-# Copyright 2002, 2004, 2006, 2007, 2008, 2009 Russ Allbery <rra at stanford.edu>
+# Copyright 2002, 2004, 2006, 2007, 2008, 2009, 2012
+#     Russ Allbery <rra at stanford.edu>
 #
 # This program is free software; you may redistribute it and/or modify it
 # under the same terms as Perl itself.
@@ -19,7 +20,7 @@
 use strict;
 
 use Pod::Simple;
-use Test::More tests => 8;
+use Test::More tests => 9;
 BEGIN { use_ok ('Pod::Text') }
 
 my $parser = Pod::Text->new;
@@ -27,16 +28,16 @@
 my $n = 1;
 while (<DATA>) {
     next until $_ eq "###\n";
-    open (TMP, '> tmp.pod') or die "Cannot create tmp.pod: $!\n";
+    open (TMP, "> tmp$$.pod") or die "Cannot create tmp$$.pod: $!\n";
     while (<DATA>) {
         last if $_ eq "###\n";
         print TMP $_;
     }
     close TMP;
-    open (OUT, '> out.tmp') or die "Cannot create out.tmp: $!\n";
-    $parser->parse_from_file ('tmp.pod', \*OUT);
+    open (OUT, "> out$$.tmp") or die "Cannot create out$$.tmp: $!\n";
+    $parser->parse_from_file ("tmp$$.pod", \*OUT);
     close OUT;
-    open (TMP, 'out.tmp') or die "Cannot open out.tmp: $!\n";
+    open (TMP, "out$$.tmp") or die "Cannot open out$$.tmp: $!\n";
     my $output;
     {
         local $/;
@@ -43,7 +44,7 @@
         $output = <TMP>;
     }
     close TMP;
-    1 while unlink ('tmp.pod', 'out.tmp');
+    1 while unlink ("tmp$$.pod", "out$$.tmp");
     my $expected = '';
     while (<DATA>) {
         last if $_ eq "###\n";
@@ -142,3 +143,13 @@
     This is a link <http://www.example.com/> to a URL.
 
 ###
+
+###
+=head1 RT LINK
+
+L<[perl #12345]|https://rt.cpan.org/12345>
+###
+RT LINK
+    [perl #12345] <https://rt.cpan.org/12345>
+
+###


Property changes on: vendor/perl/dist/cpan/podlators/t/text.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/cv.h
===================================================================
--- vendor/perl/dist/cv.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cv.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,12 +8,11 @@
  *
  */
 
-/* This structure must the beginning of XPVFM in sv.h  */
+/* This structure must match the beginning of XPVFM in sv.h  */
 
 struct xpvcv {
     _XPV_HEAD;
     _XPVCV_COMMON;
-    I32	xcv_depth;	/* >= 2 indicates recursive call */
 };
 
 /*
@@ -26,9 +25,17 @@
 
 =head1 CV Manipulation Functions
 
+This section documents functions to manipulate CVs which are code-values,
+or subroutines. For more information, see L<perlguts>.
+
 =for apidoc Am|HV*|CvSTASH|CV* cv
-Returns the stash of the CV.
+Returns the stash of the CV. A stash is the symbol table hash, containing
+the package-scoped variables in the package where the subroutine was defined.
+For more information, see L<perlguts>.
 
+This also has a special use with XS AUTOLOAD subs.
+See L<perlguts/Autoloading with XSUBs>.
+
 =cut
 */
 
@@ -42,28 +49,40 @@
 #define CvROOT(sv)	((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_root
 #define CvXSUB(sv)	((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_root_u.xcv_xsub
 #define CvXSUBANY(sv)	((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_start_u.xcv_xsubany
-#define CvGV(sv)	(0+((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv)
+#define CvGV(sv)	S_CvGV((CV *)(sv))
 #define CvGV_set(cv,gv)	Perl_cvgv_set(aTHX_ cv, gv)
 #define CvFILE(sv)	((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_file
 #ifdef USE_ITHREADS
-#  define CvFILE_set_from_cop(sv, cop)	(CvFILE(sv) = savepv(CopFILE(cop)))
+#  define CvFILE_set_from_cop(sv, cop)	\
+    (CvFILE(sv) = savepv(CopFILE(cop)), CvDYNFILE_on(sv))
 #else
-#  define CvFILE_set_from_cop(sv, cop)	(CvFILE(sv) = CopFILE(cop))
+#  define CvFILE_set_from_cop(sv, cop)	\
+    (CvFILE(sv) = CopFILE(cop), CvDYNFILE_off(sv))
 #endif
 #define CvFILEGV(sv)	(gv_fetchfile(CvFILE(sv)))
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#  define CvDEPTH(sv) (*({const CV *const _cvdepth = (const CV *)sv; \
-			  assert(SvTYPE(_cvdepth) == SVt_PVCV);	 \
-			  &((XPVCV*)SvANY(_cvdepth))->xcv_depth; \
-			}))
-#else
-#  define CvDEPTH(sv)	((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_depth
-#endif
+#define CvDEPTH(sv)	(*S_CvDEPTHp((const CV *)sv))
 #define CvPADLIST(sv)	((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_padlist
 #define CvOUTSIDE(sv)	((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside
 #define CvFLAGS(sv)	((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_flags
 #define CvOUTSIDE_SEQ(sv) ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_outside_seq
 
+/* These two are sometimes called on non-CVs */
+#define CvPROTO(sv)                               \
+	(                                          \
+	 SvPOK(sv)                                  \
+	  ? SvTYPE(sv) == SVt_PVCV && CvAUTOLOAD(sv) \
+	     ? SvEND(sv)+1 : SvPVX_const(sv)          \
+	  : NULL                                       \
+	)
+#define CvPROTOLEN(sv)	                          \
+	(                                          \
+	 SvPOK(sv)                                  \
+	  ? SvTYPE(sv) == SVt_PVCV && CvAUTOLOAD(sv) \
+	     ? SvLEN(sv)-SvCUR(sv)-2                  \
+	     : SvCUR(sv)                               \
+	  : 0                                           \
+	)
+
 #define CVf_METHOD	0x0001	/* CV is explicitly marked as a method */
 #define CVf_LVALUE	0x0002  /* CV return value can be used as lvalue */
 #define CVf_CONST	0x0004  /* inlinable sub */
@@ -78,6 +97,13 @@
 #define CVf_NODEBUG	0x0200	/* no DB::sub indirection for this CV
 				   (esp. useful for special XSUBs) */
 #define CVf_CVGV_RC	0x0400	/* CvGV is reference counted */
+#ifdef PERL_CORE
+# define CVf_SLABBED	0x0800	/* Holds refcount on op slab  */
+#endif
+#define CVf_DYNFILE	0x1000	/* The filename isn't static  */
+#define CVf_AUTOLOAD	0x2000	/* SvPVX contains AUTOLOADed sub name  */
+#define CVf_HASEVAL	0x4000	/* contains string eval  */
+#define CVf_NAMED	0x8000  /* Has a name HEK */
 
 /* This symbol for optimised communication between toke.c and op.c: */
 #define CVf_BUILTIN_ATTRS	(CVf_METHOD|CVf_LVALUE)
@@ -94,6 +120,7 @@
 #define CvANON_on(cv)		(CvFLAGS(cv) |= CVf_ANON)
 #define CvANON_off(cv)		(CvFLAGS(cv) &= ~CVf_ANON)
 
+/* CvEVAL or CvSPECIAL */
 #define CvUNIQUE(cv)		(CvFLAGS(cv) & CVf_UNIQUE)
 #define CvUNIQUE_on(cv)		(CvFLAGS(cv) |= CVf_UNIQUE)
 #define CvUNIQUE_off(cv)	(CvFLAGS(cv) &= ~CVf_UNIQUE)
@@ -110,6 +137,7 @@
 #define CvLVALUE_on(cv)		(CvFLAGS(cv) |= CVf_LVALUE)
 #define CvLVALUE_off(cv)	(CvFLAGS(cv) &= ~CVf_LVALUE)
 
+/* eval or PL_main_cv */
 #define CvEVAL(cv)		(CvUNIQUE(cv) && !SvFAKE(cv))
 #define CvEVAL_on(cv)		(CvUNIQUE_on(cv),SvFAKE_off(cv))
 #define CvEVAL_off(cv)		CvUNIQUE_off(cv)
@@ -135,9 +163,55 @@
 #define CvCVGV_RC_on(cv)	(CvFLAGS(cv) |= CVf_CVGV_RC)
 #define CvCVGV_RC_off(cv)	(CvFLAGS(cv) &= ~CVf_CVGV_RC)
 
+#ifdef PERL_CORE
+# define CvSLABBED(cv)		(CvFLAGS(cv) & CVf_SLABBED)
+# define CvSLABBED_on(cv)	(CvFLAGS(cv) |= CVf_SLABBED)
+# define CvSLABBED_off(cv)	(CvFLAGS(cv) &= ~CVf_SLABBED)
+#endif
+
+#define CvDYNFILE(cv)		(CvFLAGS(cv) & CVf_DYNFILE)
+#define CvDYNFILE_on(cv)	(CvFLAGS(cv) |= CVf_DYNFILE)
+#define CvDYNFILE_off(cv)	(CvFLAGS(cv) &= ~CVf_DYNFILE)
+
+#define CvAUTOLOAD(cv)		(CvFLAGS(cv) & CVf_AUTOLOAD)
+#define CvAUTOLOAD_on(cv)	(CvFLAGS(cv) |= CVf_AUTOLOAD)
+#define CvAUTOLOAD_off(cv)	(CvFLAGS(cv) &= ~CVf_AUTOLOAD)
+
+#define CvHASEVAL(cv)		(CvFLAGS(cv) & CVf_HASEVAL)
+#define CvHASEVAL_on(cv)	(CvFLAGS(cv) |= CVf_HASEVAL)
+#define CvHASEVAL_off(cv)	(CvFLAGS(cv) &= ~CVf_HASEVAL)
+
+#define CvNAMED(cv)		(CvFLAGS(cv) & CVf_NAMED)
+#define CvNAMED_on(cv)		(CvFLAGS(cv) |= CVf_NAMED)
+#define CvNAMED_off(cv)		(CvFLAGS(cv) &= ~CVf_NAMED)
+
 /* Flags for newXS_flags  */
 #define XS_DYNAMIC_FILENAME	0x01	/* The filename isn't static  */
 
+PERL_STATIC_INLINE GV *
+S_CvGV(CV *sv)
+{
+    return CvNAMED(sv)
+	? 0
+	: ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv_u.xcv_gv;
+}
+PERL_STATIC_INLINE HEK *
+CvNAME_HEK(CV *sv)
+{
+    return CvNAMED(sv)
+	? ((XPVCV*)MUTABLE_PTR(SvANY(sv)))->xcv_gv_u.xcv_hek
+	: 0;
+}
+/* This lowers the refernce count of the previous value, but does *not*
+   increment the reference count of the new value. */
+#define CvNAME_HEK_set(cv, hek) ( \
+	CvNAME_HEK((CV *)(cv))						 \
+	    ? unshare_hek(SvANY((CV *)(cv))->xcv_gv_u.xcv_hek)	  \
+	    : (void)0,						   \
+	((XPVCV*)MUTABLE_PTR(SvANY(cv)))->xcv_gv_u.xcv_hek = (hek), \
+	CvNAMED_on(cv)						     \
+    )
+
 /*
 =head1 CV reference counts and CvOUTSIDE
 
@@ -199,8 +273,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/cv.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/cygwin/cygwin.c
===================================================================
--- vendor/perl/dist/cygwin/cygwin.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/cygwin/cygwin.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,9 +10,13 @@
 #include <unistd.h>
 #include <process.h>
 #include <sys/cygwin.h>
+#include <cygwin/version.h>
 #include <mntent.h>
 #include <alloca.h>
 #include <dlfcn.h>
+#if (CYGWIN_VERSION_API_MINOR >= 181)
+#include <wchar.h>
+#endif
 
 /*
  * pp_system() implemented via spawn()
@@ -125,7 +129,7 @@
 	    return do_spawnvp("sh",command);
 	}
 
-    Newx (PL_Argv,(s-cmd)/2+2,const char*);
+    Newx (PL_Argv, (s-cmd)/2+2, const char*);
     PL_Cmd=savepvn (cmd,s-cmd);
     a=PL_Argv;
     for (s=PL_Cmd; *s;) {
@@ -143,6 +147,44 @@
     return do_spawnvp(PL_Argv[0],(const char * const *)PL_Argv);
 }
 
+#if (CYGWIN_VERSION_API_MINOR >= 181)
+char*
+wide_to_utf8(const wchar_t *wbuf)
+{
+    char *buf;
+    int wlen = 0;
+    char *oldlocale = setlocale(LC_CTYPE, NULL);
+    setlocale(LC_CTYPE, "utf-8");
+
+    /* uvuni_to_utf8(buf, chr) or Encoding::_bytes_to_utf8(sv, "UCS-2BE"); */
+    wlen = wcsrtombs(NULL, (const wchar_t **)&wbuf, wlen, NULL);
+    buf = (char *) safemalloc(wlen+1);
+    wcsrtombs(buf, (const wchar_t **)&wbuf, wlen, NULL);
+
+    if (oldlocale) setlocale(LC_CTYPE, oldlocale);
+    else setlocale(LC_CTYPE, "C");
+    return buf;
+}
+
+wchar_t*
+utf8_to_wide(const char *buf)
+{
+    wchar_t *wbuf;
+    mbstate_t mbs;
+    char *oldlocale = setlocale(LC_CTYPE, NULL);
+    int wlen = sizeof(wchar_t)*strlen(buf);
+
+    setlocale(LC_CTYPE, "utf-8");
+    wbuf = (wchar_t *) safemalloc(wlen);
+    /* utf8_to_uvuni_buf(pathname, pathname + wlen, wpath) or Encoding::_utf8_to_bytes(sv, "UCS-2BE"); */
+    wlen = mbsrtowcs(wbuf, (const char**)&buf, wlen, &mbs);
+
+    if (oldlocale) setlocale(LC_CTYPE, oldlocale);
+    else setlocale(LC_CTYPE, "C");
+    return wbuf;
+}
+#endif /* cygwin 1.7 */
+
 /* see also Cwd.pm */
 XS(Cygwin_cwd)
 {
@@ -194,7 +236,12 @@
 
     pid = (pid_t)SvIV(ST(0));
 
-    if ((RETVAL = cygwin32_winpid_to_pid(pid)) > 0) {
+#if (CYGWIN_VERSION_API_MINOR >= 181)
+    RETVAL = cygwin_winpid_to_pid(pid);
+#else
+    RETVAL = cygwin32_winpid_to_pid(pid);
+#endif
+    if (RETVAL > 0) {
         XSprePUSH; PUSHi((IV)RETVAL);
         XSRETURN(1);
     }
@@ -202,34 +249,91 @@
 }
 
 XS(XS_Cygwin_win_to_posix_path)
+
 {
     dXSARGS;
     int absolute_flag = 0;
     STRLEN len;
-    int err;
-    char *pathname, *buf;
+    int err = 0;
+    char *src_path;
+    char *posix_path;
+    int isutf8 = 0;
 
     if (items < 1 || items > 2)
         Perl_croak(aTHX_ "Usage: Cygwin::win_to_posix_path(pathname, [absolute])");
 
-    pathname = SvPV(ST(0), len);
+    src_path = SvPV(ST(0), len);
     if (items == 2)
 	absolute_flag = SvTRUE(ST(1));
 
     if (!len)
 	Perl_croak(aTHX_ "can't convert empty path");
-    buf = (char *) safemalloc (len + 260 + 1001);
+    isutf8 = SvUTF8(ST(0));
 
+#if (CYGWIN_VERSION_API_MINOR >= 181)
+    /* Check utf8 flag and use wide api then.
+       Size calculation: On overflow let cygwin_conv_path calculate the final size.
+     */
+    if (isutf8) {
+	int what = absolute_flag ? CCP_WIN_W_TO_POSIX : CCP_WIN_W_TO_POSIX | CCP_RELATIVE;
+	int wlen = sizeof(wchar_t)*(len + 260 + 1001);
+	wchar_t *wpath = (wchar_t *) safemalloc(sizeof(wchar_t)*len);
+	wchar_t *wbuf = (wchar_t *) safemalloc(wlen);
+	if (!IN_BYTES) {
+	    mbstate_t mbs;
+            char *oldlocale = setlocale(LC_CTYPE, NULL);
+            setlocale(LC_CTYPE, "utf-8");
+	    /* utf8_to_uvuni_buf(src_path, src_path + wlen, wpath) or Encoding::_utf8_to_bytes(sv, "UCS-2BE"); */
+	    wlen = mbsrtowcs(wpath, (const char**)&src_path, wlen, &mbs);
+	    if (wlen > 0)
+		err = cygwin_conv_path(what, wpath, wbuf, wlen);
+            if (oldlocale) setlocale(LC_CTYPE, oldlocale);
+            else setlocale(LC_CTYPE, "C");
+	} else { /* use bytes; assume already ucs-2 encoded bytestream */
+	    err = cygwin_conv_path(what, src_path, wbuf, wlen);
+	}
+	if (err == ENOSPC) { /* our space assumption was wrong, not enough space */
+	    int newlen = cygwin_conv_path(what, wpath, wbuf, 0);
+	    wbuf = (wchar_t *) realloc(&wbuf, newlen);
+	    err = cygwin_conv_path(what, wpath, wbuf, newlen);
+	    wlen = newlen;
+	}
+	/* utf16_to_utf8(*p, *d, bytlen, *newlen) */
+	posix_path = (char *) safemalloc(wlen*3);
+	Perl_utf16_to_utf8(aTHX_ (U8*)&wpath, (U8*)posix_path, (I32)wlen*2, (I32*)&len);
+	/*
+	wlen = wcsrtombs(NULL, (const wchar_t **)&wbuf, wlen, NULL);
+	posix_path = (char *) safemalloc(wlen+1);
+	wcsrtombs(posix_path, (const wchar_t **)&wbuf, wlen, NULL);
+	*/
+    } else {
+	int what = absolute_flag ? CCP_WIN_A_TO_POSIX : CCP_WIN_A_TO_POSIX | CCP_RELATIVE;
+	posix_path = (char *) safemalloc (len + 260 + 1001);
+	err = cygwin_conv_path(what, src_path, posix_path, len + 260 + 1001);
+	if (err == ENOSPC) { /* our space assumption was wrong, not enough space */
+	    int newlen = cygwin_conv_path(what, src_path, posix_path, 0);
+	    posix_path = (char *) realloc(&posix_path, newlen);
+	    err = cygwin_conv_path(what, src_path, posix_path, newlen);
+	}
+    }
+#else
+    posix_path = (char *) safemalloc (len + 260 + 1001);
     if (absolute_flag)
-	err = cygwin_conv_to_full_posix_path(pathname, buf);
+	err = cygwin_conv_to_full_posix_path(src_path, posix_path);
     else
-	err = cygwin_conv_to_posix_path(pathname, buf);
+	err = cygwin_conv_to_posix_path(src_path, posix_path);
+#endif
     if (!err) {
-	ST(0) = sv_2mortal(newSVpv(buf, 0));
-	safefree(buf);
-       XSRETURN(1);
+	EXTEND(SP, 1);
+	ST(0) = sv_2mortal(newSVpv(posix_path, 0));
+	if (isutf8) { /* src was utf-8, so result should also */
+	    /* TODO: convert ANSI (local windows encoding) to utf-8 on cygwin-1.5 */
+	    SvUTF8_on(ST(0));
+	}
+	safefree(posix_path);
+        XSRETURN(1);
     } else {
-	safefree(buf);
+	safefree(posix_path);
 	XSRETURN_UNDEF;
     }
 }
@@ -239,30 +343,81 @@
     dXSARGS;
     int absolute_flag = 0;
     STRLEN len;
-    int err;
-    char *pathname, *buf;
+    int err = 0;
+    char *src_path, *win_path;
+    int isutf8 = 0;
 
     if (items < 1 || items > 2)
         Perl_croak(aTHX_ "Usage: Cygwin::posix_to_win_path(pathname, [absolute])");
 
-    pathname = SvPV(ST(0), len);
+    src_path = SvPVx(ST(0), len);
     if (items == 2)
 	absolute_flag = SvTRUE(ST(1));
 
     if (!len)
 	Perl_croak(aTHX_ "can't convert empty path");
-    buf = (char *) safemalloc(len + 260 + 1001);
-
+    isutf8 = SvUTF8(ST(0));
+#if (CYGWIN_VERSION_API_MINOR >= 181)
+    /* Check utf8 flag and use wide api then.
+       Size calculation: On overflow let cygwin_conv_path calculate the final size.
+     */
+    if (isutf8) {
+	int what = absolute_flag ? CCP_POSIX_TO_WIN_W : CCP_POSIX_TO_WIN_W | CCP_RELATIVE;
+	int wlen = sizeof(wchar_t)*(len + 260 + 1001);
+	wchar_t *wpath = (wchar_t *) safemalloc(sizeof(wchar_t)*len);
+	wchar_t *wbuf = (wchar_t *) safemalloc(wlen);
+	char *oldlocale = setlocale(LC_CTYPE, NULL);
+	setlocale(LC_CTYPE, "utf-8");
+	if (!IN_BYTES) {
+	    mbstate_t mbs;
+	    /* utf8_to_uvuni_buf(src_path, src_path + wlen, wpath) or Encoding::_utf8_to_bytes(sv, "UCS-2BE"); */
+	    wlen = mbsrtowcs(wpath, (const char**)&src_path, wlen, &mbs);
+	    if (wlen > 0)
+		err = cygwin_conv_path(what, wpath, wbuf, wlen);
+	} else { /* use bytes; assume already ucs-2 encoded bytestream */
+	    err = cygwin_conv_path(what, src_path, wbuf, wlen);
+	}
+	if (err == ENOSPC) { /* our space assumption was wrong, not enough space */
+	    int newlen = cygwin_conv_path(what, wpath, wbuf, 0);
+	    wbuf = (wchar_t *) realloc(&wbuf, newlen);
+	    err = cygwin_conv_path(what, wpath, wbuf, newlen);
+	    wlen = newlen;
+	}
+	/* also see utf8.c: Perl_utf16_to_utf8() or Encoding::_bytes_to_utf8(sv, "UCS-2BE"); */
+	wlen = wcsrtombs(NULL, (const wchar_t **)&wbuf, wlen, NULL);
+	win_path = (char *) safemalloc(wlen+1);
+	wcsrtombs(win_path, (const wchar_t **)&wbuf, wlen, NULL);
+	if (oldlocale) setlocale(LC_CTYPE, oldlocale);
+	else setlocale(LC_CTYPE, "C");
+    } else {
+	int what = absolute_flag ? CCP_POSIX_TO_WIN_A : CCP_POSIX_TO_WIN_A | CCP_RELATIVE;
+	win_path = (char *) safemalloc(len + 260 + 1001);
+	err = cygwin_conv_path(what, src_path, win_path, len + 260 + 1001);
+	if (err == ENOSPC) { /* our space assumption was wrong, not enough space */
+	    int newlen = cygwin_conv_path(what, src_path, win_path, 0);
+	    win_path = (char *) realloc(&win_path, newlen);
+	    err = cygwin_conv_path(what, src_path, win_path, newlen);
+	}
+    }
+#else
+    if (isutf8)
+	Perl_warn(aTHX_ "can't convert utf8 path");
+    win_path = (char *) safemalloc(len + 260 + 1001);
     if (absolute_flag)
-	err = cygwin_conv_to_full_win32_path(pathname, buf);
+	err = cygwin_conv_to_full_win32_path(src_path, win_path);
     else
-	err = cygwin_conv_to_win32_path(pathname, buf);
+	err = cygwin_conv_to_win32_path(src_path, win_path);
+#endif
     if (!err) {
-	ST(0) = sv_2mortal(newSVpv(buf, 0));
-	safefree(buf);
-       XSRETURN(1);
+	EXTEND(SP, 1);
+	ST(0) = sv_2mortal(newSVpv(win_path, 0));
+	if (isutf8) {
+	    SvUTF8_on(ST(0));
+	}
+	safefree(win_path);
+	XSRETURN(1);
     } else {
-	safefree(buf);
+	safefree(win_path);
 	XSRETURN_UNDEF;
     }
 }
@@ -293,24 +448,22 @@
 {
     dXSARGS;
     char *pathname;
-    char flags[260];
+    char flags[PATH_MAX];
+    flags[0] = '\0';
 
     if (items != 1)
-        Perl_croak(aTHX_ "Usage: Cygwin::mount_flags(mnt_dir|'/cygwin')");
+        Perl_croak(aTHX_ "Usage: Cygwin::mount_flags( mnt_dir | '/cygdrive' )");
 
     pathname = SvPV_nolen(ST(0));
 
-    /* TODO: Check for cygdrive registry setting,
-     *       and then use CW_GET_CYGDRIVE_INFO
-     */
     if (!strcmp(pathname, "/cygdrive")) {
-	char user[260];
-	char system[260];
-	char user_flags[260];
-	char system_flags[260];
+	char user[PATH_MAX];
+	char system[PATH_MAX];
+	char user_flags[PATH_MAX];
+	char system_flags[PATH_MAX];
 
-	cygwin_internal (CW_GET_CYGDRIVE_INFO, user, system, user_flags,
-			 system_flags);
+	cygwin_internal (CW_GET_CYGDRIVE_INFO, user, system,
+			 user_flags, system_flags);
 
         if (strlen(user) > 0) {
             sprintf(flags, "%s,cygdrive,%s", user_flags, user);
@@ -323,6 +476,7 @@
 
     } else {
 	struct mntent *mnt;
+	int found = 0;
 	setmntent (0, 0);
 	while ((mnt = getmntent (0))) {
 	    if (!strcmp(pathname, mnt->mnt_dir)) {
@@ -331,12 +485,42 @@
 		    strcat(flags, ",");
 		    strcat(flags, mnt->mnt_opts);
 		}
+		found++;
 		break;
 	    }
 	}
 	endmntent (0);
-	ST(0) = sv_2mortal(newSVpv(flags, 0));
-	XSRETURN(1);
+
+	/* Check if arg is the current volume moint point if not default,
+	 * and then use CW_GET_CYGDRIVE_INFO also.
+	 */
+	if (!found) {
+	    char user[PATH_MAX];
+	    char system[PATH_MAX];
+	    char user_flags[PATH_MAX];
+	    char system_flags[PATH_MAX];
+
+	    cygwin_internal (CW_GET_CYGDRIVE_INFO, user, system,
+			     user_flags, system_flags);
+
+	    if (strlen(user) > 0) {
+		if (strcmp(user,pathname)) {
+		    sprintf(flags, "%s,cygdrive,%s", user_flags, user);
+		    found++;
+		}
+	    } else {
+		if (strcmp(user,pathname)) {
+		    sprintf(flags, "%s,cygdrive,%s", system_flags, system);
+		    found++;
+		}
+	    }
+	}
+	if (found) {
+	    ST(0) = sv_2mortal(newSVpv(flags, 0));
+	    XSRETURN(1);
+	} else {
+	    XSRETURN_UNDEF;
+	}
     }
 }
 
@@ -354,6 +538,8 @@
     XSRETURN(1);
 }
 
+XS(XS_Cygwin_sync_winenv){ cygwin_internal(CW_SYNC_WINENV); }
+
 void
 init_os_extras(void)
 {
@@ -369,6 +555,7 @@
     newXSproto("Cygwin::mount_table", XS_Cygwin_mount_table, file, "");
     newXSproto("Cygwin::mount_flags", XS_Cygwin_mount_flags, file, "$");
     newXSproto("Cygwin::is_binmount", XS_Cygwin_is_binmount, file, "$");
+    newXS("Cygwin::sync_winenv", XS_Cygwin_sync_winenv, file);
 
     /* Initialize Win32CORE if it has been statically linked. */
     handle = dlopen(NULL, RTLD_LAZY);


Property changes on: vendor/perl/dist/cygwin/cygwin.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/deb.c
===================================================================
--- vendor/perl/dist/deb.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/deb.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -114,7 +114,7 @@
 {
 #ifdef DEBUGGING
     dVAR;
-    register I32 i = stack_max - 30;
+    I32 i = stack_max - 30;
     const I32 *markscan = PL_markstack + mark_min;
 
     PERL_ARGS_ASSERT_DEB_STACK_N;
@@ -330,8 +330,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/deb.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/dist/Attribute-Handlers/Changes
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -133,7 +133,7 @@
         - Add resources (bugtracker, ...) section to META.yml
 
 0.86_01	Thu Sep 17 10:01:00 CET 2009
-        - From perl change 09330df80caf214f375fcf0c04857347e3b17c69 (Zefram):
+	- From perl change 09330df80caf214f375fcf0c04857347e3b17c69 (Zefram):
 
           Fix [perl #66970] Incorrect coderef in MODIFY_CODE_ATTRIBUTES
 
@@ -154,6 +154,15 @@
 0.87	Mon Sep 21 15:55:00 CET 2009
         - Promote to stable release
 
-0.88	Mon Apr  5 16:33:00 CET 2010
+0.88   Mon Apr  5 16:33:00 CET 2010
 	- Avoid clobbering $_ (perl #74052, LanX)
 
+0.91	Fri May 20 20:00:00 CET 2011
+	- Typo fixes in documentation
+	- POD link fix.
+
+0.93	Mon Dec 19 09:19:00 CET 2011
+	- documentation: "my" should be "till" (Frederic Briere)
+	- Spelling fixes (Father Chrysostomos)
+	- Indentation fixes (Father Chrysostomos)
+


Property changes on: vendor/perl/dist/dist/Attribute-Handlers/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/README
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/Demo.pm
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/Demo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/Demo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/Demo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/Descriptions.pm
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/Descriptions.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/Descriptions.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/Descriptions.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/MyClass.pm
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/MyClass.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/MyClass.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/MyClass.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo2.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo2.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo2.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo2.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo3.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo3.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo3.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo3.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo4.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_call.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo_call.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo_call.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_call.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_chain.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo_chain.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo_chain.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_chain.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_cycle.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo_cycle.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo_cycle.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_cycle.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_hashdir.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo_hashdir.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo_hashdir.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_hashdir.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_phases.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo_phases.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo_phases.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_phases.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_range.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo_range.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo_range.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_range.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_rawdata.pl
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/demo/demo_rawdata.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/demo/demo_rawdata.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/demo/demo_rawdata.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use warnings;
 use strict;
 use vars qw($VERSION $AUTOLOAD);
-$VERSION = '0.89'; # remember to update version in POD!
+$VERSION = '0.94'; # remember to update version in POD!
 # $DB::single=1;
 
 my %symcache;
@@ -266,68 +266,68 @@
 
 =head1 VERSION
 
-This document describes version 0.89 of Attribute::Handlers,
-released April 5, 2010.
+This document describes version 0.93 of Attribute::Handlers,
+released July 20, 2011.
 
 =head1 SYNOPSIS
 
-	package MyClass;
-	require 5.006;
-	use Attribute::Handlers;
-	no warnings 'redefine';
+    package MyClass;
+    require 5.006;
+    use Attribute::Handlers;
+    no warnings 'redefine';
 
 
-	sub Good : ATTR(SCALAR) {
-		my ($package, $symbol, $referent, $attr, $data) = @_;
+    sub Good : ATTR(SCALAR) {
+	my ($package, $symbol, $referent, $attr, $data) = @_;
 
-		# Invoked for any scalar variable with a :Good attribute,
-		# provided the variable was declared in MyClass (or
-		# a derived class) or typed to MyClass.
+	# Invoked for any scalar variable with a :Good attribute,
+	# provided the variable was declared in MyClass (or
+	# a derived class) or typed to MyClass.
 
-		# Do whatever to $referent here (executed in CHECK phase).
-		...
-	}
+	# Do whatever to $referent here (executed in CHECK phase).
+	...
+    }
 
-	sub Bad : ATTR(SCALAR) {
-		# Invoked for any scalar variable with a :Bad attribute,
-		# provided the variable was declared in MyClass (or
-		# a derived class) or typed to MyClass.
-		...
-	}
+    sub Bad : ATTR(SCALAR) {
+	# Invoked for any scalar variable with a :Bad attribute,
+	# provided the variable was declared in MyClass (or
+	# a derived class) or typed to MyClass.
+	...
+    }
 
-	sub Good : ATTR(ARRAY) {
-		# Invoked for any array variable with a :Good attribute,
-		# provided the variable was declared in MyClass (or
-		# a derived class) or typed to MyClass.
-		...
-	}
+    sub Good : ATTR(ARRAY) {
+	# Invoked for any array variable with a :Good attribute,
+	# provided the variable was declared in MyClass (or
+	# a derived class) or typed to MyClass.
+	...
+    }
 
-	sub Good : ATTR(HASH) {
-		# Invoked for any hash variable with a :Good attribute,
-		# provided the variable was declared in MyClass (or
-		# a derived class) or typed to MyClass.
-		...
-	}
+    sub Good : ATTR(HASH) {
+	# Invoked for any hash variable with a :Good attribute,
+	# provided the variable was declared in MyClass (or
+	# a derived class) or typed to MyClass.
+	...
+    }
 
-	sub Ugly : ATTR(CODE) {
-		# Invoked for any subroutine declared in MyClass (or a 
-		# derived class) with an :Ugly attribute.
-		...
-	}
+    sub Ugly : ATTR(CODE) {
+	# Invoked for any subroutine declared in MyClass (or a 
+	# derived class) with an :Ugly attribute.
+	...
+    }
 
-	sub Omni : ATTR {
-		# Invoked for any scalar, array, hash, or subroutine
-		# with an :Omni attribute, provided the variable or
-		# subroutine was declared in MyClass (or a derived class)
-		# or the variable was typed to MyClass.
-		# Use ref($_[2]) to determine what kind of referent it was.
-		...
-	}
+    sub Omni : ATTR {
+	# Invoked for any scalar, array, hash, or subroutine
+	# with an :Omni attribute, provided the variable or
+	# subroutine was declared in MyClass (or a derived class)
+	# or the variable was typed to MyClass.
+	# Use ref($_[2]) to determine what kind of referent it was.
+	...
+    }
 
 
-	use Attribute::Handlers autotie => { Cycle => Tie::Cycle };
+    use Attribute::Handlers autotie => { Cycle => Tie::Cycle };
 
-	my $next : Cycle(['A'..'Z']);
+    my $next : Cycle(['A'..'Z']);
 
 
 =head1 DESCRIPTION
@@ -349,7 +349,8 @@
     use Attribute::Handlers;
 
     sub Loud :ATTR {
-	my ($package, $symbol, $referent, $attr, $data, $phase, $filename, $linenum) = @_;
+	my ($package, $symbol, $referent, $attr, $data, $phase,
+	    $filename, $linenum) = @_;
 	print STDERR
 	    ref($referent), " ",
 	    *{$symbol}{NAME}, " ",
@@ -364,9 +365,9 @@
 Thereafter, any subroutine declared with a C<:Loud> attribute in the class
 LoudDecl:
 
-	package LoudDecl;
+    package LoudDecl;
 
-	sub foo: Loud {...}
+    sub foo: Loud {...}
 
 causes the above handler to be invoked, and passed:
 
@@ -409,11 +410,11 @@
 Likewise, declaring any variables with the C<:Loud> attribute within the
 package:
 
-        package LoudDecl;
+    package LoudDecl;
 
-        my $foo :Loud;
-        my @foo :Loud;
-        my %foo :Loud;
+    my $foo :Loud;
+    my @foo :Loud;
+    my %foo :Loud;
 
 will cause the handler to be called with a similar argument list (except,
 of course, that C<$_[2]> will be a reference to the variable).
@@ -436,7 +437,7 @@
 C<"turn it up to 11, man!"> would be passed as the last argument.
 
 Attribute::Handlers makes strenuous efforts to convert
-the data argument (C<$_[4]>) to a useable form before passing it to
+the data argument (C<$_[4]>) to a usable form before passing it to
 the handler (but see L<"Non-interpretive attribute handlers">).
 If those efforts succeed, the interpreted data is passed in an array
 reference; if they fail, the raw data is passed as a string.
@@ -444,7 +445,7 @@
 
     sub foo :Loud(till=>ears=>are=>bleeding) {...}
     sub foo :Loud(qw/till ears are bleeding/) {...}
-    sub foo :Loud(qw/my, ears, are, bleeding/) {...}
+    sub foo :Loud(qw/till, ears, are, bleeding/) {...}
     sub foo :Loud(till,ears,are,bleeding) {...}
 
 causes it to pass C<['till','ears','are','bleeding']> as the handler's
@@ -474,11 +475,11 @@
 ascribed an attribute, the handler that is invoked is the one belonging to
 the package to which it is typed. For example, the following declarations:
 
-        package OtherClass;
+    package OtherClass;
 
-        my LoudDecl $loudobj : Loud;
-        my LoudDecl @loudobjs : Loud;
-        my LoudDecl %loudobjex : Loud;
+    my LoudDecl $loudobj : Loud;
+    my LoudDecl @loudobjs : Loud;
+    my LoudDecl %loudobjex : Loud;
 
 causes the LoudDecl::Loud handler to be invoked (even if OtherClass also
 defines a handler for C<:Loud> attributes).
@@ -491,40 +492,40 @@
 the handler is only applied to declarations of that type. For example,
 the following definition:
 
-        package LoudDecl;
+    package LoudDecl;
 
-        sub RealLoud :ATTR(SCALAR) { print "Yeeeeow!" }
+    sub RealLoud :ATTR(SCALAR) { print "Yeeeeow!" }
 
 creates an attribute handler that applies only to scalars:
 
 
-        package Painful;
-        use base LoudDecl;
+    package Painful;
+    use base LoudDecl;
 
-        my $metal : RealLoud;           # invokes &LoudDecl::RealLoud
-        my @metal : RealLoud;           # error: unknown attribute
-        my %metal : RealLoud;           # error: unknown attribute
-        sub metal : RealLoud {...}      # error: unknown attribute
+    my $metal : RealLoud;           # invokes &LoudDecl::RealLoud
+    my @metal : RealLoud;           # error: unknown attribute
+    my %metal : RealLoud;           # error: unknown attribute
+    sub metal : RealLoud {...}      # error: unknown attribute
 
 You can, of course, declare separate handlers for these types as well
 (but you'll need to specify C<no warnings 'redefine'> to do it quietly):
 
-        package LoudDecl;
-        use Attribute::Handlers;
-        no warnings 'redefine';
+    package LoudDecl;
+    use Attribute::Handlers;
+    no warnings 'redefine';
 
-        sub RealLoud :ATTR(SCALAR) { print "Yeeeeow!" }
-        sub RealLoud :ATTR(ARRAY) { print "Urrrrrrrrrr!" }
-        sub RealLoud :ATTR(HASH) { print "Arrrrrgggghhhhhh!" }
-        sub RealLoud :ATTR(CODE) { croak "Real loud sub torpedoed" }
+    sub RealLoud :ATTR(SCALAR) { print "Yeeeeow!" }
+    sub RealLoud :ATTR(ARRAY) { print "Urrrrrrrrrr!" }
+    sub RealLoud :ATTR(HASH) { print "Arrrrrgggghhhhhh!" }
+    sub RealLoud :ATTR(CODE) { croak "Real loud sub torpedoed" }
 
 You can also explicitly indicate that a single handler is meant to be
 used for all types of referents like so:
 
-        package LoudDecl;
-        use Attribute::Handlers;
+    package LoudDecl;
+    use Attribute::Handlers;
 
-        sub SeriousLoud :ATTR(ANY) { warn "Hearing loss imminent" }
+    sub SeriousLoud :ATTR(ANY) { warn "Hearing loss imminent" }
 
 (I.e. C<ATTR(ANY)> is a synonym for C<:ATTR>).
 
@@ -532,20 +533,20 @@
 =head2 Non-interpretive attribute handlers
 
 Occasionally the strenuous efforts Attribute::Handlers makes to convert
-the data argument (C<$_[4]>) to a useable form before passing it to
+the data argument (C<$_[4]>) to a usable form before passing it to
 the handler get in the way.
 
 You can turn off that eagerness-to-help by declaring
 an attribute handler with the keyword C<RAWDATA>. For example:
 
-        sub Raw          : ATTR(RAWDATA) {...}
-        sub Nekkid       : ATTR(SCALAR,RAWDATA) {...}
-        sub Au::Naturale : ATTR(RAWDATA,ANY) {...}
+    sub Raw          : ATTR(RAWDATA) {...}
+    sub Nekkid       : ATTR(SCALAR,RAWDATA) {...}
+    sub Au::Naturale : ATTR(RAWDATA,ANY) {...}
 
 Then the handler makes absolutely no attempt to interpret the data it
 receives and simply passes it as a string:
 
-        my $power : Raw(1..100);        # handlers receives "1..100"
+    my $power : Raw(1..100);        # handlers receives "1..100"
 
 =head2 Phase-specific attribute handlers
 
@@ -559,11 +560,11 @@
 stating the phase (or phases) in which you wish the attribute handler to
 be called. For example:
 
-        sub Early    :ATTR(SCALAR,BEGIN) {...}
-        sub Normal   :ATTR(SCALAR,CHECK) {...}
-        sub Late     :ATTR(SCALAR,INIT) {...}
-        sub Final    :ATTR(SCALAR,END) {...}
-        sub Bookends :ATTR(SCALAR,BEGIN,END) {...}
+    sub Early    :ATTR(SCALAR,BEGIN) {...}
+    sub Normal   :ATTR(SCALAR,CHECK) {...}
+    sub Late     :ATTR(SCALAR,INIT) {...}
+    sub Final    :ATTR(SCALAR,END) {...}
+    sub Bookends :ATTR(SCALAR,BEGIN,END) {...}
 
 As the last example indicates, a handler may be set up to be (re)called in
 two or more phases. The phase name is passed as the handler's final argument.
@@ -578,24 +579,24 @@
 Attributes make an excellent and intuitive interface through which to tie
 variables. For example:
 
-        use Attribute::Handlers;
-        use Tie::Cycle;
+    use Attribute::Handlers;
+    use Tie::Cycle;
 
-        sub UNIVERSAL::Cycle : ATTR(SCALAR) {
-                my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
-                $data = [ $data ] unless ref $data eq 'ARRAY';
-                tie $$referent, 'Tie::Cycle', $data;
-        }
+    sub UNIVERSAL::Cycle : ATTR(SCALAR) {
+	my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
+	$data = [ $data ] unless ref $data eq 'ARRAY';
+	tie $$referent, 'Tie::Cycle', $data;
+    }
 
-        # and thereafter...
+    # and thereafter...
 
-        package main;
+    package main;
 
-        my $next : Cycle('A'..'Z');     # $next is now a tied variable
+    my $next : Cycle('A'..'Z');     # $next is now a tied variable
 
-        while (<>) {
-                print $next;
-        }
+    while (<>) {
+	print $next;
+    }
 
 Note that, because the C<Cycle> attribute receives its arguments in the
 C<$data> variable, if the attribute is given a list of arguments, C<$data>
@@ -604,16 +605,16 @@
 be passed as an array reference, this means that we need to wrap
 non-array-reference arguments in an array constructor:
 
-        $data = [ $data ] unless ref $data eq 'ARRAY';
+    $data = [ $data ] unless ref $data eq 'ARRAY';
 
 Typically, however, things are the other way around: the tieable class expects
 its arguments as a flattened list, so the attribute looks like:
 
-        sub UNIVERSAL::Cycle : ATTR(SCALAR) {
-                my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
-                my @data = ref $data eq 'ARRAY' ? @$data : $data;
-                tie $$referent, 'Tie::Whatever', @data;
-        }
+    sub UNIVERSAL::Cycle : ATTR(SCALAR) {
+	my ($package, $symbol, $referent, $attr, $data, $phase) = @_;
+	my @data = ref $data eq 'ARRAY' ? @$data : $data;
+	tie $$referent, 'Tie::Whatever', @data;
+    }
 
 
 This software pattern is so widely applicable that Attribute::Handlers
@@ -621,16 +622,17 @@
 C<use Attribute::Handlers> statement. So, the cycling example,
 could also be written:
 
-        use Attribute::Handlers autotie => { Cycle => 'Tie::Cycle' };
+    use Attribute::Handlers autotie => { Cycle => 'Tie::Cycle' };
 
-        # and thereafter...
+    # and thereafter...
 
-        package main;
+    package main;
 
-        my $next : Cycle(['A'..'Z']);     # $next is now a tied variable
+    my $next : Cycle(['A'..'Z']);     # $next is now a tied variable
 
-        while (<>) {
-                print $next;
+    while (<>) {
+	print $next;
+    }
 
 Note that we now have to pass the cycling values as an array reference,
 since the C<autotie> mechanism passes C<tie> a list of arguments as a list
@@ -646,19 +648,19 @@
 arguments to the module's C<import> subroutine, by appending them to the
 class name. For example:
 
-	use Attribute::Handlers
-		autotie => { Dir => 'Tie::Dir qw(DIR_UNLINK)' };
+    use Attribute::Handlers
+	 autotie => { Dir => 'Tie::Dir qw(DIR_UNLINK)' };
 
 If the attribute name is unqualified, the attribute is installed in the
 current package. Otherwise it is installed in the qualifier's package:
 
-        package Here;
+    package Here;
 
-        use Attribute::Handlers autotie => {
-                Other::Good => Tie::SecureHash, # tie attr installed in Other::
-                        Bad => Tie::Taxes,      # tie attr installed in Here::
-            UNIVERSAL::Ugly => Software::Patent # tie attr installed everywhere
-        };
+    use Attribute::Handlers autotie => {
+         Other::Good => Tie::SecureHash, # tie attr installed in Other::
+                 Bad => Tie::Taxes,      # tie attr installed in Here::
+     UNIVERSAL::Ugly => Software::Patent # tie attr installed everywhere
+    };
 
 Autoties are most commonly used in the module to which they actually tie, 
 and need to export their attributes to any module that calls them. To
@@ -665,9 +667,10 @@
 facilitate this, Attribute::Handlers recognizes a special "pseudo-class" --
 C<__CALLER__>, which may be specified as the qualifier of an attribute:
 
-        package Tie::Me::Kangaroo:Down::Sport;
+    package Tie::Me::Kangaroo:Down::Sport;
 
-        use Attribute::Handlers autotie => { '__CALLER__::Roo' => __PACKAGE__ };
+    use Attribute::Handlers autotie =>
+	 { '__CALLER__::Roo' => __PACKAGE__ };
 
 This causes Attribute::Handlers to define the C<Roo> attribute in the package
 that imports the Tie::Me::Kangaroo:Down::Sport module.
@@ -682,166 +685,166 @@
 
 The C<autotie> mechanism supports this too. The following code:
 
-	use Attribute::Handlers autotieref => { Selfish => Tie::Selfish };
-	my $var : Selfish(@args);
+    use Attribute::Handlers autotieref => { Selfish => Tie::Selfish };
+    my $var : Selfish(@args);
 
 has the same effect as:
 
-	tie my $var, 'Tie::Selfish', @args;
+    tie my $var, 'Tie::Selfish', @args;
 
 But when C<"autotieref"> is used instead of C<"autotie">:
 
-	use Attribute::Handlers autotieref => { Selfish => Tie::Selfish };
-	my $var : Selfish(@args);
+    use Attribute::Handlers autotieref => { Selfish => Tie::Selfish };
+    my $var : Selfish(@args);
 
 the effect is to pass the C<tie> call an extra reference to the variable
 being tied:
 
-        tie my $var, 'Tie::Selfish', \$var, @args;
+    tie my $var, 'Tie::Selfish', \$var, @args;
 
 
 
 =head1 EXAMPLES
 
-If the class shown in L<SYNOPSIS> were placed in the MyClass.pm
+If the class shown in L</SYNOPSIS> were placed in the MyClass.pm
 module, then the following code:
 
-        package main;
-        use MyClass;
+    package main;
+    use MyClass;
 
-        my MyClass $slr :Good :Bad(1**1-1) :Omni(-vorous);
+    my MyClass $slr :Good :Bad(1**1-1) :Omni(-vorous);
 
-        package SomeOtherClass;
-        use base MyClass;
+    package SomeOtherClass;
+    use base MyClass;
 
-        sub tent { 'acle' }
+    sub tent { 'acle' }
 
-        sub fn :Ugly(sister) :Omni('po',tent()) {...}
-        my @arr :Good :Omni(s/cie/nt/);
-        my %hsh :Good(q/bye/) :Omni(q/bus/);
+    sub fn :Ugly(sister) :Omni('po',tent()) {...}
+    my @arr :Good :Omni(s/cie/nt/);
+    my %hsh :Good(q/bye/) :Omni(q/bus/);
 
 
 would cause the following handlers to be invoked:
 
-        # my MyClass $slr :Good :Bad(1**1-1) :Omni(-vorous);
+    # my MyClass $slr :Good :Bad(1**1-1) :Omni(-vorous);
 
-        MyClass::Good:ATTR(SCALAR)( 'MyClass',          # class
-                                    'LEXICAL',          # no typeglob
-                                    \$slr,              # referent
-                                    'Good',             # attr name
-                                    undef               # no attr data
-                                    'CHECK',            # compiler phase
-                                  );
+    MyClass::Good:ATTR(SCALAR)( 'MyClass',          # class
+                                'LEXICAL',          # no typeglob
+                                \$slr,              # referent
+                                'Good',             # attr name
+                                undef               # no attr data
+                                'CHECK',            # compiler phase
+                              );
 
-        MyClass::Bad:ATTR(SCALAR)( 'MyClass',           # class
-                                   'LEXICAL',           # no typeglob
-                                   \$slr,               # referent
-                                   'Bad',               # attr name
-                                   0                    # eval'd attr data
-                                   'CHECK',             # compiler phase
-                                 );
+    MyClass::Bad:ATTR(SCALAR)( 'MyClass',           # class
+                               'LEXICAL',           # no typeglob
+                               \$slr,               # referent
+                               'Bad',               # attr name
+                               0                    # eval'd attr data
+                               'CHECK',             # compiler phase
+                             );
 
-        MyClass::Omni:ATTR(SCALAR)( 'MyClass',          # class
-                                    'LEXICAL',          # no typeglob
-                                    \$slr,              # referent
-                                    'Omni',             # attr name
-                                    '-vorous'           # eval'd attr data
-                                    'CHECK',            # compiler phase
-                                  );
+    MyClass::Omni:ATTR(SCALAR)( 'MyClass',          # class
+                                'LEXICAL',          # no typeglob
+                                \$slr,              # referent
+                                'Omni',             # attr name
+                                '-vorous'           # eval'd attr data
+                                'CHECK',            # compiler phase
+                              );
 
 
-        # sub fn :Ugly(sister) :Omni('po',tent()) {...}
+    # sub fn :Ugly(sister) :Omni('po',tent()) {...}
 
-        MyClass::UGLY:ATTR(CODE)( 'SomeOtherClass',     # class
-                                  \*SomeOtherClass::fn, # typeglob
-                                  \&SomeOtherClass::fn, # referent
-                                  'Ugly',               # attr name
-                                  'sister'              # eval'd attr data
-                                  'CHECK',              # compiler phase
-                                );
+    MyClass::UGLY:ATTR(CODE)( 'SomeOtherClass',     # class
+                              \*SomeOtherClass::fn, # typeglob
+                              \&SomeOtherClass::fn, # referent
+                              'Ugly',               # attr name
+                              'sister'              # eval'd attr data
+                              'CHECK',              # compiler phase
+                            );
 
-        MyClass::Omni:ATTR(CODE)( 'SomeOtherClass',     # class
-                                  \*SomeOtherClass::fn, # typeglob
-                                  \&SomeOtherClass::fn, # referent
-                                  'Omni',               # attr name
-                                  ['po','acle']         # eval'd attr data
-                                  'CHECK',              # compiler phase
-                                );
+    MyClass::Omni:ATTR(CODE)( 'SomeOtherClass',     # class
+                              \*SomeOtherClass::fn, # typeglob
+                              \&SomeOtherClass::fn, # referent
+                              'Omni',               # attr name
+                              ['po','acle']         # eval'd attr data
+                              'CHECK',              # compiler phase
+                            );
 
 
-        # my @arr :Good :Omni(s/cie/nt/);
+    # my @arr :Good :Omni(s/cie/nt/);
 
-        MyClass::Good:ATTR(ARRAY)( 'SomeOtherClass',    # class
-                                   'LEXICAL',           # no typeglob
-                                   \@arr,               # referent
-                                   'Good',              # attr name
-                                   undef                # no attr data
-                                   'CHECK',             # compiler phase
-                                 );
+    MyClass::Good:ATTR(ARRAY)( 'SomeOtherClass',    # class
+                               'LEXICAL',           # no typeglob
+                               \@arr,               # referent
+                               'Good',              # attr name
+                               undef                # no attr data
+                               'CHECK',             # compiler phase
+                             );
 
-        MyClass::Omni:ATTR(ARRAY)( 'SomeOtherClass',    # class
-                                   'LEXICAL',           # no typeglob
-                                   \@arr,               # referent
-                                   'Omni',              # attr name
-                                   ""                   # eval'd attr data 
-                                   'CHECK',             # compiler phase
-                                 );
+    MyClass::Omni:ATTR(ARRAY)( 'SomeOtherClass',    # class
+                               'LEXICAL',           # no typeglob
+                               \@arr,               # referent
+                               'Omni',              # attr name
+                               ""                   # eval'd attr data 
+                               'CHECK',             # compiler phase
+                             );
 
 
-        # my %hsh :Good(q/bye) :Omni(q/bus/);
-                                  
-        MyClass::Good:ATTR(HASH)( 'SomeOtherClass',     # class
-                                  'LEXICAL',            # no typeglob
-                                  \%hsh,                # referent
-                                  'Good',               # attr name
-                                  'q/bye'               # raw attr data
-                                  'CHECK',              # compiler phase
-                                );
-                        
-        MyClass::Omni:ATTR(HASH)( 'SomeOtherClass',     # class
-                                  'LEXICAL',            # no typeglob
-                                  \%hsh,                # referent
-                                  'Omni',               # attr name
-                                  'bus'                 # eval'd attr data
-                                  'CHECK',              # compiler phase
-                                );
+    # my %hsh :Good(q/bye) :Omni(q/bus/);
 
+    MyClass::Good:ATTR(HASH)( 'SomeOtherClass',     # class
+                              'LEXICAL',            # no typeglob
+                              \%hsh,                # referent
+                              'Good',               # attr name
+                              'q/bye'               # raw attr data
+                              'CHECK',              # compiler phase
+                            );
 
+    MyClass::Omni:ATTR(HASH)( 'SomeOtherClass',     # class
+                              'LEXICAL',            # no typeglob
+                              \%hsh,                # referent
+                              'Omni',               # attr name
+                              'bus'                 # eval'd attr data
+                              'CHECK',              # compiler phase
+                            );
+
+
 Installing handlers into UNIVERSAL, makes them...err..universal.
 For example:
 
-        package Descriptions;
-        use Attribute::Handlers;
+    package Descriptions;
+    use Attribute::Handlers;
 
-        my %name;
-        sub name { return $name{$_[2]}||*{$_[1]}{NAME} }
+    my %name;
+    sub name { return $name{$_[2]}||*{$_[1]}{NAME} }
 
-        sub UNIVERSAL::Name :ATTR {
-                $name{$_[2]} = $_[4];
-        }
+    sub UNIVERSAL::Name :ATTR {
+        $name{$_[2]} = $_[4];
+    }
 
-        sub UNIVERSAL::Purpose :ATTR {
-                print STDERR "Purpose of ", &name, " is $_[4]\n";
-        }
+    sub UNIVERSAL::Purpose :ATTR {
+        print STDERR "Purpose of ", &name, " is $_[4]\n";
+    }
 
-        sub UNIVERSAL::Unit :ATTR {
-                print STDERR &name, " measured in $_[4]\n";
-        }
+    sub UNIVERSAL::Unit :ATTR {
+        print STDERR &name, " measured in $_[4]\n";
+    }
 
 Let's you write:
 
-        use Descriptions;
+    use Descriptions;
 
-        my $capacity : Name(capacity)
-                     : Purpose(to store max storage capacity for files)
-                     : Unit(Gb);
+    my $capacity : Name(capacity)
+                 : Purpose(to store max storage capacity for files)
+                 : Unit(Gb);
 
 
-        package Other;
+    package Other;
 
-        sub foo : Purpose(to foo all data before barring it) { }
+    sub foo : Purpose(to foo all data before barring it) { }
 
-        # etc.
+    # etc.
 
 =head1 UTILITY FUNCTIONS
 
@@ -851,7 +854,7 @@
 
 =item findsym
 
-  my $symbol = Attribute::Handlers::findsym($package, $referent);
+    my $symbol = Attribute::Handlers::findsym($package, $referent);
 
 The function looks in the symbol table of C<$package> for the typeglob for
 C<$referent>, which is a reference to a variable or subroutine (SCALAR, ARRAY,


Property changes on: vendor/perl/dist/dist/Attribute-Handlers/lib/Attribute/Handlers.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/t/constants.t
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/t/constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/t/constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/t/constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/t/data_convert.t
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/t/data_convert.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/t/data_convert.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/t/data_convert.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/t/linerep.t
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/t/linerep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/t/linerep.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/t/linerep.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Attribute-Handlers/t/multi.t
===================================================================
--- vendor/perl/dist/dist/Attribute-Handlers/t/multi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Attribute-Handlers/t/multi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Attribute-Handlers/t/multi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/B-Deparse/Deparse.pm
===================================================================
--- vendor/perl/dist/dist/B-Deparse/Deparse.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/B-Deparse/Deparse.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,29 +14,28 @@
 	 OPf_KIDS OPf_REF OPf_STACKED OPf_SPECIAL OPf_MOD
 	 OPpLVAL_INTRO OPpOUR_INTRO OPpENTERSUB_AMPER OPpSLICE OPpCONST_BARE
 	 OPpTRANS_SQUASH OPpTRANS_DELETE OPpTRANS_COMPLEMENT OPpTARGET_MY
-	 OPpCONST_ARYBASE OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER
+	 OPpEXISTS_SUB OPpSORT_NUMERIC OPpSORT_INTEGER
 	 OPpSORT_REVERSE
 	 SVf_IOK SVf_NOK SVf_ROK SVf_POK SVpad_OUR SVf_FAKE SVs_RMG SVs_SMG
          CVf_METHOD CVf_LVALUE
 	 PMf_KEEP PMf_GLOBAL PMf_CONTINUE PMf_EVAL PMf_ONCE
-	 PMf_MULTILINE PMf_SINGLELINE PMf_FOLD PMf_EXTENDED),
-	 ($] < 5.008004 ? () : 'OPpSORT_INPLACE'),
-	 ($] < 5.008006 ? () : qw(OPpSORT_DESCEND OPpITER_REVERSED)),
-	 ($] < 5.008009 ? () : qw(OPpCONST_NOVER OPpPAD_STATE)),
-	 ($] < 5.009 ? 'PMf_SKIPWHITE' : qw(RXf_SKIPWHITE)),
-	 ($] < 5.011 ? 'CVf_LOCKED' : 'OPpREVERSE_INPLACE'),
-	 ($] < 5.013 ? () : 'PMf_NONDESTRUCT');
-$VERSION = "1.04";
+	 PMf_MULTILINE PMf_SINGLELINE PMf_FOLD PMf_EXTENDED);
+$VERSION = '1.20';
 use strict;
 use vars qw/$AUTOLOAD/;
 use warnings ();
+require feature;
 
 BEGIN {
+    # List version-specific constants here.
     # Easiest way to keep this code portable between version looks to
     # be to fake up a dummy constant that will never actually be true.
     foreach (qw(OPpSORT_INPLACE OPpSORT_DESCEND OPpITER_REVERSED OPpCONST_NOVER
-		OPpPAD_STATE RXf_SKIPWHITE CVf_LOCKED OPpREVERSE_INPLACE
-		PMf_NONDESTRUCT)) {
+		OPpPAD_STATE PMf_SKIPWHITE RXf_SKIPWHITE
+		RXf_PMf_CHARSET RXf_PMf_KEEPCOPY
+		CVf_LOCKED OPpREVERSE_INPLACE OPpSUBSTR_REPL_FIRST
+		PMf_NONDESTRUCT OPpCONST_ARYBASE OPpEVAL_BYTES)) {
+	eval { import B $_ };
 	no strict 'refs';
 	*{$_} = sub () {0} unless *{$_}{CODE};
     }
@@ -47,10 +46,10 @@
 # - fixed reference constants (\"str")
 # - handle empty programs gracefully
 # - handle infinite loops (for (;;) {}, while (1) {})
-# - differentiate between `for my $x ...' and `my $x; for $x ...'
+# - differentiate between 'for my $x ...' and 'my $x; for $x ...'
 # - various minor cleanups
 # - moved globals into an object
-# - added `-u', like B::C
+# - added '-u', like B::C
 # - package declarations using cop_stash
 # - subs, formats and code sorted by cop_seq
 # Changes between 0.51 and 0.52:
@@ -58,10 +57,10 @@
 # - added documentation
 # Changes between 0.52 and 0.53:
 # - many changes adding precedence contexts and associativity
-# - added `-p' and `-s' output style options
+# - added '-p' and '-s' output style options
 # - various other minor fixes
 # Changes between 0.53 and 0.54:
-# - added support for new `for (1..100)' optimization,
+# - added support for new 'for (1..100)' optimization,
 #   thanks to Gisle Aas
 # Changes between 0.54 and 0.55:
 # - added support for new qr// construct
@@ -70,16 +69,16 @@
 # - tested on base/*.t, cmd/*.t, comp/*.t, io/*.t
 # - fixed $# on non-lexicals broken in last big rewrite
 # - added temporary fix for change in opcode of OP_STRINGIFY
-# - fixed problem in 0.54's for() patch in `for (@ary)'
+# - fixed problem in 0.54's for() patch in 'for (@ary)'
 # - fixed precedence in conditional of ?:
-# - tweaked list paren elimination in `my($x) = @_'
+# - tweaked list paren elimination in 'my($x) = @_'
 # - made continue-block detection trickier wrt. null ops
 # - fixed various prototype problems in pp_entersub
 # - added support for sub prototypes that never get GVs
 # - added unquoting for special filehandle first arg in truncate
-# - print doubled rv2gv (a bug) as `*{*GV}' instead of illegal `**GV'
+# - print doubled rv2gv (a bug) as '*{*GV}' instead of illegal '**GV'
 # - added semicolons at the ends of blocks
-# - added -l `#line' declaration option -- fixes cmd/subval.t 27,28
+# - added -l '#line' declaration option -- fixes cmd/subval.t 27,28
 # Changes between 0.56 and 0.561:
 # - fixed multiply-declared my var in pp_truncate (thanks to Sarathy)
 # - used new B.pm symbolic constants (done by Nick Ing-Simmons)
@@ -92,7 +91,7 @@
 # Changes after 0.57:
 # - added parens in \&foo (patch by Albert Dvornik)
 # Changes between 0.57 and 0.58:
-# - fixed `0' statements that weren't being printed
+# - fixed '0' statements that weren't being printed
 # - added methods for use from other programs
 #   (based on patches from James Duncan and Hugo van der Sanden)
 # - added -si and -sT to control indenting (also based on a patch from Hugo)
@@ -104,7 +103,7 @@
 # Changes between 0.58 and 0.59
 # - added support for Chip's OP_METHOD_NAMED
 # - added support for Ilya's OPpTARGET_MY optimization
-# - elided arrows before `()' subscripts when possible
+# - elided arrows before '()' subscripts when possible
 # Changes between 0.59 and 0.60
 # - support for method attributes was added
 # - some warnings fixed
@@ -154,7 +153,7 @@
 # - configurable syntax highlighting: ANSI color, HTML, TeX, etc.
 # - more style options: brace style, hex vs. octal, quotes, ...
 # - print big ints as hex/octal instead of decimal (heuristic?)
-# - handle `my $x if 0'?
+# - handle 'my $x if 0'?
 # - version using op_next instead of op_first/sibling?
 # - avoid string copies (pass arrays, one big join?)
 # - here-docs?
@@ -220,7 +219,8 @@
 # CV for current sub (or main program) being deparsed
 #
 # curcvlex:
-# Cached hash of lexical variables for curcv: keys are names,
+# Cached hash of lexical variables for curcv: keys are
+# names prefixed with "m" or "o" (representing my/our), and
 # each value is an array of pairs, indicating the cop_seq of scopes
 # in which a var of that name is valid.
 #
@@ -243,7 +243,8 @@
 #
 # subs_declared
 # keys are names of subs for which we've printed declarations.
-# That means we can omit parentheses from the arguments.
+# That means we can omit parentheses from the arguments. It also means we
+# need to put CORE:: on core functions of the same name.
 #
 # subs_deparsed
 # Keeps track of fully qualified names of all deparsed subs.
@@ -251,7 +252,7 @@
 # parens: -p
 # linenums: -l
 # unquote: -q
-# cuddle: ` ' or `\n', depending on -sC
+# cuddle: ' ' or '\n', depending on -sC
 # indent_size: -si
 # use_tabs: -sT
 # ex_const: -sv
@@ -265,7 +266,7 @@
 # they're inside an expression or at statement level, etc.  (see
 # chart below). When ops with children call deparse on them, they pass
 # along their precedence. Fractional values are used to implement
-# associativity (`($x + $y) + $z' => `$x + $y + $y') and related
+# associativity ('($x + $y) + $z' => '$x + $y + $y') and related
 # parentheses hacks. The major disadvantage of this scheme is that
 # it doesn't know about right sides and left sides, so say if you
 # assign a listop to a variable, it can't tell it's allowed to leave
@@ -300,15 +301,125 @@
 #  1             statement modifiers
 #  0.5           statements, but still print scopes as do { ... }
 #  0             statement level
+# -1             format body
 
 # Nonprinting characters with special meaning:
 # \cS - steal parens (see maybe_parens_unop)
 # \n - newline and indent
 # \t - increase indent
-# \b - decrease indent (`outdent')
+# \b - decrease indent ('outdent')
 # \f - flush left (no indent)
 # \cK - kill following semicolon, if any
 
+
+
+
+# _pessimise_walk(): recursively walk the optree of a sub,
+# possibly undoing optimisations along the way.
+
+sub _pessimise_walk {
+    my ($self, $startop) = @_;
+
+    return unless $$startop;
+    my ($op, $prevop);
+    for ($op = $startop; $$op; $prevop = $op, $op = $op->sibling) {
+	my $ppname = $op->name;
+
+	# pessimisations start here
+
+	if ($ppname eq "padrange") {
+	    # remove PADRANGE:
+	    # the original optimisation either (1) changed this:
+	    #    pushmark -> (various pad and list and null ops) -> the_rest
+	    # or (2), for the = @_ case, changed this:
+	    #    pushmark -> gv[_] -> rv2av -> (pad stuff)       -> the_rest
+	    # into this:
+	    #    padrange ----------------------------------------> the_rest
+	    # so we just need to convert the padrange back into a
+	    # pushmark, and in case (1), set its op_next to op_sibling,
+	    # which is the head of the original chain of optimised-away
+	    # pad ops, or for (2), set it to sibling->first, which is
+	    # the original gv[_].
+
+	    $B::overlay->{$$op} = {
+		    name => 'pushmark',
+		    private => ($op->private & OPpLVAL_INTRO),
+		    next    => ($op->flags & OPf_SPECIAL)
+				    ? $op->sibling->first
+				    : $op->sibling,
+	    };
+	}
+
+	# pessimisations end here
+
+	if (class($op) eq 'PMOP'
+	    && ref($op->pmreplroot)
+	    && ${$op->pmreplroot}
+	    && $op->pmreplroot->isa( 'B::OP' ))
+	{
+	    $self-> _pessimise_walk($op->pmreplroot);
+	}
+
+	if ($op->flags & OPf_KIDS) {
+	    $self-> _pessimise_walk($op->first);
+	}
+
+    }
+}
+
+
+# _pessimise_walk_exe(): recursively walk the op_next chain of a sub,
+# possibly undoing optimisations along the way.
+
+sub _pessimise_walk_exe {
+    my ($self, $startop, $visited) = @_;
+
+    return unless $$startop;
+    return if $visited->{$$startop};
+    my ($op, $prevop);
+    for ($op = $startop; $$op; $prevop = $op, $op = $op->next) {
+	last if $visited->{$$op};
+	$visited->{$$op} = 1;
+	my $ppname = $op->name;
+	if ($ppname =~
+	    /^((and|d?or)(assign)?|(map|grep)while|range|cond_expr|once)$/
+	    # entertry is also a logop, but its op_other invariably points
+	    # into the same chain as the main execution path, so we skip it
+	) {
+	    $self->_pessimise_walk_exe($op->other, $visited);
+	}
+	elsif ($ppname eq "subst") {
+	    $self->_pessimise_walk_exe($op->pmreplstart, $visited);
+	}
+	elsif ($ppname =~ /^(enter(loop|iter))$/) {
+	    # redoop and nextop will already be covered by the main block
+	    # of the loop
+	    $self->_pessimise_walk_exe($op->lastop, $visited);
+	}
+
+	# pessimisations start here
+    }
+}
+
+# Go through an optree and and "remove" some optimisations by using an
+# overlay to selectively modify or un-null some ops. Deparsing in the
+# absence of those optimisations is then easier.
+#
+# Note that older optimisations are not removed, as Deparse was already
+# written to recognise them before the pessimise/overlay system was added.
+
+sub pessimise {
+    my ($self, $root, $start) = @_;
+
+    # walk tree in root-to-branch order
+    $self->_pessimise_walk($root);
+
+    my %visited;
+    # walk tree in execution order
+    $self->_pessimise_walk_exe($start, \%visited);
+}
+
+
 sub null {
     my $op = shift;
     return class($op) eq "NULL";
@@ -375,6 +486,8 @@
     my ($self, $cv) = @_;
     my $root = $cv->ROOT;
     local @$self{qw'curcv curcvlex'} = ($cv);
+    local $B::overlay = {};
+    $self->pessimise($root, $cv->START);
 #require B::Debug;
 #B::walkoptree($cv->ROOT, "debug");
     my $lineseq = $root->first;
@@ -471,7 +584,7 @@
 }
 
 sub stash_subs {
-    my ($self, $pack) = @_;
+    my ($self, $pack, $seen) = @_;
     my (@ret, $stash);
     if (!defined $pack) {
 	$pack = '';
@@ -482,6 +595,10 @@
 	no strict 'refs';
 	$stash = \%{"main::$pack"};
     }
+    return
+	if ($seen ||= {})->{
+	    $INC{"overload.pm"} ? overload::StrVal($stash) : $stash
+	   }++;
     my %stash = svref_2object($stash)->ARRAY;
     while (my ($key, $val) = each %stash) {
 	my $class = class($val);
@@ -520,9 +637,7 @@
 		$self->todo($cv, 1);
 	    }
 	    if (class($val->HV) ne "SPECIAL" && $key =~ /::$/) {
-		$self->stash_subs($pack . $key)
-		    unless $pack eq '' && $key eq 'main::';
-		    # avoid infinite recursion
+		$self->stash_subs($pack . $key, $seen);
 	    }
 	}
     }
@@ -676,8 +791,12 @@
 	print $self->print_protos;
 	@{$self->{'subs_todo'}} =
 	  sort {$a->[0] <=> $b->[0]} @{$self->{'subs_todo'}};
-	print $self->indent($self->deparse_root(main_root)), "\n"
-	  unless null main_root;
+	my $root = main_root;
+	local $B::overlay = {};
+	unless (null $root) {
+	    $self->pessimise($root, main_start);
+	    print $self->indent($self->deparse_root($root)), "\n";
+	}
 	my @text;
 	while (scalar(@{$self->{'subs_todo'}})) {
 	    push @text, $self->next_todo;
@@ -706,6 +825,11 @@
     return $self->indent($self->deparse_sub(svref_2object($sub)));
 }
 
+my %strict_bits = do {
+    local $^H;
+    map +($_ => strict::bits($_)), qw/refs subs vars/
+};
+
 sub ambient_pragmas {
     my $self = shift;
     my ($arybase, $hint_bits, $warning_bits, $hinthash) = (0, 0);
@@ -718,7 +842,7 @@
 	    require strict;
 
 	    if ($val eq 'none') {
-		$hint_bits &= ~strict::bits(qw/refs subs vars/);
+		$hint_bits &= $strict_bits{$_} for qw/refs subs vars/;
 		next();
 	    }
 
@@ -732,11 +856,15 @@
 	    else {
 		@names = split' ', $val;
 	    }
-	    $hint_bits |= strict::bits(@names);
+	    $hint_bits |= $strict_bits{$_} for @names;
 	}
 
 	elsif ($name eq '$[') {
-	    $arybase = $val;
+	    if (OPpCONST_ARYBASE) {
+		$arybase = $val;
+	    } else {
+		croak "\$[ can't be non-zero on this perl" unless $val == 0;
+	    }
 	}
 
 	elsif ($name eq 'integer'
@@ -876,14 +1004,17 @@
     local(@$self{qw'curstash warnings hints hinthash'})
 		= @$self{qw'curstash warnings hints hinthash'};
     my $body;
-    if (not null $cv->ROOT) {
-	my $lineseq = $cv->ROOT->first;
+    my $root = $cv->ROOT;
+    local $B::overlay = {};
+    if (not null $root) {
+	$self->pessimise($root, $cv->START);
+	my $lineseq = $root->first;
 	if ($lineseq->name eq "lineseq") {
 	    my @ops;
 	    for(my$o=$lineseq->first; $$o; $o=$o->sibling) {
 		push @ops, $o;
 	    }
-	    $body = $self->lineseq(undef, @ops).";";
+	    $body = $self->lineseq(undef, 0, @ops).";";
 	    my $scope_en = $self->find_scope_en($lineseq);
 	    if (defined $scope_en) {
 		my $subs = join"", $self->seq_subs($scope_en);
@@ -891,7 +1022,7 @@
 	    }
 	}
 	else {
-	    $body = $self->deparse($cv->ROOT->first, 0);
+	    $body = $self->deparse($root->first, 0);
 	}
     }
     else {
@@ -916,6 +1047,8 @@
     local(@$self{qw'curstash warnings hints hinthash'})
 		= @$self{qw'curstash warnings hints hinthash'};
     my $op = $form->ROOT;
+    local $B::overlay = {};
+    $self->pessimise($op, $form->START);
     my $kid;
     return "\f." if $op->first->name eq 'stub'
                 || $op->first->name eq 'nextstate';
@@ -927,7 +1060,8 @@
 	push @text, "\f".$self->const_sv($kid)->PV;
 	$kid = $kid->sibling;
 	for (; not null $kid; $kid = $kid->sibling) {
-	    push @exprs, $self->deparse($kid, 0);
+	    push @exprs, $self->deparse($kid, -1);
+	    $exprs[-1] =~ s/;\z//;
 	}
 	push @text, "\f".join(", ", @exprs)."\n" if @exprs;
 	$op = $op->sibling;
@@ -948,7 +1082,7 @@
     return $name eq "nextstate" || $name eq "dbstate" || $name eq "setstate";
 }
 
-sub is_miniwhile { # check for one-line loop (`foo() while $y--')
+sub is_miniwhile { # check for one-line loop ('foo() while $y--')
     my $op = shift;
     return (!null($op) and null($op->sibling)
 	    and $op->name eq "null" and class($op) eq "UNOP"
@@ -1008,7 +1142,7 @@
     }
 }
 
-# same as above, but get around the `if it looks like a function' rule
+# same as above, but get around the 'if it looks like a function' rule
 sub maybe_parens_unop {
     my $self = shift;
     my($name, $kid, $cx) = @_;
@@ -1017,18 +1151,19 @@
  	if ($name eq "umask" && $kid =~ /^\d+$/) {
 	    $kid = sprintf("%#o", $kid);
 	}
-	return "$name($kid)";
+	return $self->keyword($name) . "($kid)";
     } else {
 	$kid = $self->deparse($kid, 16);
  	if ($name eq "umask" && $kid =~ /^\d+$/) {
 	    $kid = sprintf("%#o", $kid);
 	}
+	$name = $self->keyword($name);
 	if (substr($kid, 0, 1) eq "\cS") {
 	    # use kid's parens
 	    return $name . substr($kid, 1);
 	} elsif (substr($kid, 0, 1) eq "(") {
 	    # avoid looks-like-a-function trap with extra parens
-	    # (`+' can lead to ambiguities)
+	    # ('+' can lead to ambiguities)
 	    return "$name(" . $kid  . ")";
 	} else {
 	    return "$name $kid";
@@ -1093,7 +1228,9 @@
     my $self = shift;
     my($op, $cx, $text) = @_;
     if ($op->private & OPpLVAL_INTRO and not $self->{'avoid_local'}{$$op}) {
-	my $my = $op->private & OPpPAD_STATE ? "state" : "my";
+	my $my = $op->private & OPpPAD_STATE
+	    ? $self->keyword("state")
+	    : "my";
 	if (want_scalar($op)) {
 	    return "$my $text";
 	} else {
@@ -1124,7 +1261,7 @@
 # any subroutine declarations to the deparsed ops, otherwise we
 # append appropriate declarations.
 sub lineseq {
-    my($self, $root, @ops) = @_;
+    my($self, $root, $cx, @ops) = @_;
     my($expr, @exprs);
 
     my $out_cop = $self->{'curcop'};
@@ -1145,12 +1282,13 @@
     $self->walk_lineseq($root, \@ops,
 		       sub { push @exprs, $_[0]} );
 
-    my $body = join(";\n", grep {length} @exprs);
+    my $sep = $cx ? '; ' : ";\n";
+    my $body = join($sep, grep {length} @exprs);
     my $subs = "";
     if (defined $root && defined $limit_seq && !$self->{'in_format'}) {
 	$subs = join "\n", $self->seq_subs($limit_seq);
     }
-    return join(";\n", grep {length} $body, $subs);
+    return join($sep, grep {length} $body, $subs);
 }
 
 sub scopeop {
@@ -1185,9 +1323,10 @@
 	push @kids, $kid;
     }
     if ($cx > 0) { # inside an expression, (a do {} while for lineseq)
-	return "do {\n\t" . $self->lineseq($op, @kids) . "\n\b}";
+	my $body = $self->lineseq($op, 0, @kids);
+	return is_lexical_subs(@kids) ? $body : "do {\n\t$body\n\b}";
     } else {
-	my $lineseq = $self->lineseq($op, @kids);
+	my $lineseq = $self->lineseq($op, $cx, @kids);
 	return (length ($lineseq) ? "$lineseq;" : "");
     }
 }
@@ -1247,22 +1386,24 @@
 sub gv_name {
     my $self = shift;
     my $gv = shift;
+    my $raw = shift;
 Carp::confess() unless ref($gv) eq "B::GV";
     my $stash = $gv->STASH->NAME;
-    my $name = $gv->SAFENAME;
+    my $name = $raw ? $gv->NAME : $gv->SAFENAME;
     if ($stash eq 'main' && $name =~ /^::/) {
 	$stash = '::';
     }
-    elsif (($stash eq 'main' && $globalnames{$name})
+    elsif (($stash eq 'main'
+	    && ($globalnames{$name} || $name =~ /^[^A-Za-z_:]/))
 	or ($stash eq $self->{'curstash'} && !$globalnames{$name}
 	    && ($stash eq 'main' || $name !~ /::/))
-	or $name =~ /^[^A-Za-z_:]/)
+	  )
     {
 	$stash = "";
     } else {
 	$stash = $stash . "::";
     }
-    if ($name =~ /^(\^..|{)/) {
+    if (!$raw and $name =~ /^(\^..|{)/) {
         $name = "{$name}";       # ${^WARNING_BITS}, etc and ${
     }
     return $stash . $name;
@@ -1269,10 +1410,11 @@
 }
 
 # Return the name to use for a stash variable.
-# If a lexical with the same name is in scope, it may need to be
+# If a lexical with the same name is in scope, or
+# if strictures are enabled, it may need to be
 # fully-qualified.
 sub stash_variable {
-    my ($self, $prefix, $name) = @_;
+    my ($self, $prefix, $name, $cx) = @_;
 
     return "$prefix$name" if $name =~ /::/;
 
@@ -1281,13 +1423,55 @@
 	return "$prefix$name";
     }
 
+    if ($name =~ /^[^\w+-]$/) {
+      if (defined $cx && $cx == 26) {
+	if ($prefix eq '@') {
+	    return "$prefix\{$name}";
+	}
+	elsif ($name eq '#') { return '${#}' } #  "${#}a" vs "$#a"
+      }
+      if ($prefix eq '$#') {
+	return "\$#{$name}";
+      }
+    }
+
+    return $prefix . $self->maybe_qualify($prefix, $name);
+}
+
+# Return just the name, without the prefix.  It may be returned as a quoted
+# string.  The second return value is a boolean indicating that.
+sub stash_variable_name {
+    my($self, $prefix, $gv) = @_;
+    my $name = $self->gv_name($gv, 1);
+    $name = $self->maybe_qualify($prefix,$name);
+    if ($name =~ /^(?:\S|(?!\d)[\ca-\cz]?(?:\w|::)*|\d+)\z/) {
+	$name =~ s/^([\ca-\cz])/'^'.($1|'@')/e;
+	$name =~ /^(\^..|{)/ and $name = "{$name}";
+	return $name, 0; # not quoted
+    }
+    else {
+	single_delim("q", "'", $name), 1;
+    }
+}
+
+sub maybe_qualify {
+    my ($self,$prefix,$name) = @_;
     my $v = ($prefix eq '$#' ? '@' : $prefix) . $name;
-    return $prefix .$self->{'curstash'}.'::'. $name if $self->lex_in_scope($v);
-    return "$prefix$name";
+    return $name if !$prefix || $name =~ /::/;
+    return $self->{'curstash'}.'::'. $name
+	if
+	    $name =~ /^(?!\d)\w/         # alphabetic
+	 && $v    !~ /^\$[ab]\z/	 # not $a or $b
+	 && !$globalnames{$name}         # not a global name
+	 && $self->{hints} & $strict_bits{vars}  # strict vars
+	 && !$self->lex_in_scope($v,1)   # no "our"
+      or $self->lex_in_scope($v);        # conflicts with "my" variable
+    return $name;
 }
 
 sub lex_in_scope {
-    my ($self, $name) = @_;
+    my ($self, $name, $our) = @_;
+    substr $name, 0, 0, = $our ? 'o' : 'm'; # our/my
     $self->populate_curcvlex() if !defined $self->{'curcvlex'};
 
     return 0 if !defined($self->{'curcop'});
@@ -1311,7 +1495,6 @@
 
 	for (my $i=0; $i<@ns; ++$i) {
 	    next if class($ns[$i]) eq "SPECIAL";
-	    next if $ns[$i]->FLAGS & SVpad_OUR;  # Skip "our" vars
 	    if (class($ns[$i]) eq "PV") {
 		# Probably that pesky lexical @_
 		next;
@@ -1322,7 +1505,9 @@
 		    ? (0, 999999)
 		    : ($ns[$i]->COP_SEQ_RANGE_LOW, $ns[$i]->COP_SEQ_RANGE_HIGH);
 
-	    push @{$self->{'curcvlex'}{$name}}, [$seq_st, $seq_en];
+	    push @{$self->{'curcvlex'}{
+			($ns[$i]->FLAGS & SVpad_OUR ? 'o' : 'm') . $name
+		  }}, [$seq_st, $seq_en];
 	}
     }
 }
@@ -1388,6 +1573,14 @@
     return @text;
 }
 
+sub _features_from_bundle {
+    my ($hints, $hh) = @_;
+    foreach (@{$feature::feature_bundle{@feature::hint_bundles[$hints >> $feature::hint_shift]}}) {
+	$hh->{$feature::feature{$_}} = 1;
+    }
+    return $hh;
+}
+
 # Notice how subs and formats are inserted between statements here;
 # also $[ assignments and pragmas.
 sub pp_nextstate {
@@ -1402,7 +1595,7 @@
 	$self->{'curstash'} = $stash;
     }
 
-    if ($self->{'arybase'} != $op->arybase) {
+    if (OPpCONST_ARYBASE && $self->{'arybase'} != $op->arybase) {
 	push @text, '$[ = '. $op->arybase .";\n";
 	$self->{'arybase'} = $op->arybase;
     }
@@ -1429,19 +1622,49 @@
     }
 
     my $hints = $] < 5.008009 ? $op->private : $op->hints;
+    my $old_hints = $self->{'hints'};
     if ($self->{'hints'} != $hints) {
 	push @text, declare_hints($self->{'hints'}, $hints);
 	$self->{'hints'} = $hints;
     }
 
-    # hack to check that the hint hash hasn't changed
-    if ($] > 5.009 &&
-	"@{[sort %{$self->{'hinthash'} || {}}]}"
-	ne "@{[sort %{$op->hints_hash->HASH || {}}]}") {
-	push @text, declare_hinthash($self->{'hinthash'}, $op->hints_hash->HASH, $self->{indent_size});
-	$self->{'hinthash'} = $op->hints_hash->HASH;
+    my $newhh;
+    if ($] > 5.009) {
+	$newhh = $op->hints_hash->HASH;
     }
 
+    if ($] >= 5.015006) {
+	# feature bundle hints
+	my $from = $old_hints & $feature::hint_mask;
+	my $to   = $    hints & $feature::hint_mask;
+	if ($from != $to) {
+	    if ($to == $feature::hint_mask) {
+		if ($self->{'hinthash'}) {
+		    delete $self->{'hinthash'}{$_}
+			for grep /^feature_/, keys %{$self->{'hinthash'}};
+		}
+		else { $self->{'hinthash'} = {} }
+		$self->{'hinthash'}
+		    = _features_from_bundle($from, $self->{'hinthash'});
+	    }
+	    else {
+		my $bundle =
+		    $feature::hint_bundles[$to >> $feature::hint_shift];
+		$bundle =~ s/(\d[13579])\z/$1+1/e; # 5.11 => 5.12
+		push @text, "no feature;\n",
+			    "use feature ':$bundle';\n";
+	    }
+	}
+    }
+
+    if ($] > 5.009) {
+	push @text, declare_hinthash(
+	    $self->{'hinthash'}, $newhh,
+	    $self->{indent_size}, $self->{hints},
+	);
+	$self->{'hinthash'} = $newhh;
+    }
+
     # This should go after of any branches that add statements, to
     # increase the chances that it refers to the same line it did in
     # the original program.
@@ -1486,32 +1709,77 @@
     'open<' => 1,
     'open>' => 1,
     ':'     => 1,
+    'strict/refs' => 1,
+    'strict/subs' => 1,
+    'strict/vars' => 1,
 );
 
+my %rev_feature;
+
 sub declare_hinthash {
-    my ($from, $to, $indent) = @_;
+    my ($from, $to, $indent, $hints) = @_;
+    my $doing_features =
+	($hints & $feature::hint_mask) == $feature::hint_mask;
     my @decls;
-    for my $key (keys %$to) {
+    my @features;
+    my @unfeatures; # bugs?
+    for my $key (sort keys %$to) {
 	next if $ignored_hints{$key};
-	if (!defined $from->{$key} or $from->{$key} ne $to->{$key}) {
-	    push @decls, qq(\$^H{'$key'} = q($to->{$key}););
+	my $is_feature = $key =~ /^feature_/ && $^V ge 5.15.6;
+	next if $is_feature and not $doing_features;
+	if (!exists $from->{$key} or $from->{$key} ne $to->{$key}) {
+	    push(@features, $key), next if $is_feature;
+	    push @decls,
+		qq(\$^H{) . single_delim("q", "'", $key) . qq(} = )
+	      . (
+		   defined $to->{$key}
+			? single_delim("q", "'", $to->{$key})
+			: 'undef'
+		)
+	      . qq(;);
 	}
     }
-    for my $key (keys %$from) {
+    for my $key (sort keys %$from) {
 	next if $ignored_hints{$key};
+	my $is_feature = $key =~ /^feature_/ && $^V ge 5.15.6;
+	next if $is_feature and not $doing_features;
 	if (!exists $to->{$key}) {
+	    push(@unfeatures, $key), next if $is_feature;
 	    push @decls, qq(delete \$^H{'$key'};);
 	}
     }
-    @decls or return '';
-    return join("\n" . (" " x $indent), "BEGIN {", @decls) . "\n}\n";
+    my @ret;
+    if (@features || @unfeatures) {
+	if (!%rev_feature) { %rev_feature = reverse %feature::feature }
+    }
+    if (@features) {
+	push @ret, "use feature "
+		 . join(", ", map "'$rev_feature{$_}'", @features) . ";\n";
+    }
+    if (@unfeatures) {
+	push @ret, "no feature "
+		 . join(", ", map "'$rev_feature{$_}'", @unfeatures)
+		 . ";\n";
+    }
+    @decls and
+	push @ret,
+	     join("\n" . (" " x $indent), "BEGIN {", @decls) . "\n}\n";
+    return @ret;
 }
 
 sub hint_pragmas {
     my ($bits) = @_;
-    my @pragmas;
+    my (@pragmas, @strict);
     push @pragmas, "integer" if $bits & 0x1;
-    push @pragmas, "strict 'refs'" if $bits & 0x2;
+    for (sort keys %strict_bits) {
+	push @strict, "'$_'" if $bits & $strict_bits{$_};
+    }
+    if (@strict == keys %strict_bits) {
+	push @pragmas, "strict";
+    }
+    elsif (@strict) {
+	push @pragmas, "strict " . join ', ', @strict;
+    }
     push @pragmas, "bytes" if $bits & 0x8;
     return @pragmas;
 }
@@ -1521,10 +1789,63 @@
 
 sub pp_unstack { return "" } # see also leaveloop
 
+my %feature_keywords = (
+  # keyword => 'feature',
+    state   => 'state',
+    say     => 'say',
+    given   => 'switch',
+    when    => 'switch',
+    default => 'switch',
+    break   => 'switch',
+    evalbytes=>'evalbytes',
+    __SUB__ => '__SUB__',
+   fc       => 'fc',
+);
+
+# keywords that are strong and also have a prototype
+#
+my %strong_proto_keywords = map { $_ => 1 } qw(
+    glob
+    pos
+    prototype
+    scalar
+    study
+    undef
+);
+
+sub keyword {
+    my $self = shift;
+    my $name = shift;
+    return $name if $name =~ /^CORE::/; # just in case
+    if (exists $feature_keywords{$name}) {
+	my $hh;
+	my $hints = $self->{hints} & $feature::hint_mask;
+	if ($hints && $hints != $feature::hint_mask) {
+	    $hh = _features_from_bundle($hints);
+	}
+	elsif ($hints) { $hh = $self->{'hinthash'} }
+	return "CORE::$name"
+	 if !$hh
+	 || !$hh->{"feature_$feature_keywords{$name}"}
+    }
+    if ($strong_proto_keywords{$name}
+        || ($name !~ /^(?:chom?p|do|exec|glob|s(?:elect|ystem))\z/
+	    && !defined eval{prototype "CORE::$name"})
+    ) { return $name }
+    if (
+	exists $self->{subs_declared}{$name}
+	 or
+	exists &{"$self->{curstash}::$name"}
+    ) {
+	return "CORE::$name"
+    }
+    return $name;
+}
+
 sub baseop {
     my $self = shift;
     my($op, $cx, $name) = @_;
-    return $name;
+    return $self->keyword($name);
 }
 
 sub pp_stub {
@@ -1569,7 +1890,13 @@
     my($op, $cx, $name, $prec, $flags) = (@_, 0);
     my $kid = $op->first;
     $kid = $self->deparse($kid, $prec);
-    return $self->maybe_parens(($flags & POSTFIX) ? "$kid$name" : "$name$kid",
+    return $self->maybe_parens(($flags & POSTFIX)
+				 ? "$kid$name"
+				   # avoid confusion with filetests
+				 : $name eq '-'
+				   && $kid =~ /^[a-zA-Z](?!\w)/
+					? "$name($kid)"
+					: "$name$kid",
 			       $cx, $prec);
 }
 
@@ -1600,7 +1927,7 @@
     my $self = shift;
     my($op, $cx) = @_;
     if ($cx <= 4) {
-	$self->pfixop($op, $cx, "not ", 4);
+	$self->listop($op, $cx, "not", $op->first);
     } else {
 	$self->pfixop($op, $cx, "!", 21);	
     }
@@ -1608,7 +1935,7 @@
 
 sub unop {
     my $self = shift;
-    my($op, $cx, $name) = @_;
+    my($op, $cx, $name, $nollafr) = @_;
     my $kid;
     if ($op->flags & OPf_KIDS) {
 	$kid = $op->first;
@@ -1624,9 +1951,18 @@
 	    $kid = $kid->first;
 	}
 
+	if ($nollafr) {
+	    ($kid = $self->deparse($kid, 16)) =~ s/^\cS//;
+	    return $self->maybe_parens(
+			$self->keyword($name) . " $kid", $cx, 16
+		   );
+	}   
 	return $self->maybe_parens_unop($name, $kid, $cx);
     } else {
-	return $name .  ($op->flags & OPf_SPECIAL ? "()" : "");
+	return $self->maybe_parens(
+	    $self->keyword($name) . ($op->flags & OPf_SPECIAL ? "()" : ""),
+	    $cx, 16,
+	);
     }
 }
 
@@ -1659,6 +1995,7 @@
 sub pp_each { unop(@_, "each") }
 sub pp_values { unop(@_, "values") }
 sub pp_keys { unop(@_, "keys") }
+{ no strict 'refs'; *{"pp_r$_"} = *{"pp_$_"} for qw< keys each values >; }
 sub pp_boolkeys { 
     # no name because its an optimisation op that has no keyword
     unop(@_,"");
@@ -1700,8 +2037,17 @@
 sub pp_alarm { unop(@_, "alarm") }
 sub pp_sleep { maybe_targmy(@_, \&unop, "sleep") }
 
-sub pp_dofile { unop(@_, "do") }
-sub pp_entereval { unop(@_, "eval") }
+sub pp_dofile {
+    my $code = unop(@_, "do", 1); # llafr does not apply
+    if ($code =~ s/^((?:CORE::)?do) \{/$1({/) { $code .= ')' }
+    $code;
+}
+sub pp_entereval {
+    unop(
+      @_,
+      $_[1]->private & OPpEVAL_BYTES ? $_[0]->keyword('evalbytes') : "eval"
+    )
+}
 
 sub pp_ghbyname { unop(@_, "gethostbyname") }
 sub pp_gnbyname { unop(@_, "getnetbyname") }
@@ -1718,11 +2064,7 @@
 sub pp_lock { unop(@_, "lock") }
 
 sub pp_continue { unop(@_, "continue"); }
-sub pp_break {
-    my ($self, $op) = @_;
-    return "" if $op->flags & OPf_SPECIAL;
-    unop(@_, "break");
-}
+sub pp_break { unop(@_, "break"); }
 
 sub givwhen {
     my $self = shift;
@@ -1731,7 +2073,7 @@
     my $enterop = $op->first;
     my ($head, $block);
     if ($enterop->flags & OPf_SPECIAL) {
-	$head = "default";
+	$head = $self->keyword("default");
 	$block = $self->deparse($enterop->first, 0);
     }
     else {
@@ -1746,8 +2088,8 @@
 	"\b}\cK";
 }
 
-sub pp_leavegiven { givwhen(@_, "given"); }
-sub pp_leavewhen  { givwhen(@_, "when"); }
+sub pp_leavegiven { givwhen(@_, $_[0]->keyword("given")); }
+sub pp_leavewhen  { givwhen(@_, $_[0]->keyword("when")); }
 
 sub pp_exists {
     my $self = shift;
@@ -1804,9 +2146,16 @@
 	my $name = $self->const_sv($op->first)->PV;
 	$name =~ s[/][::]g;
 	$name =~ s/\.pm//g;
-	return "$opname $name";
+	return $self->maybe_parens("$opname $name", $cx, 16);
     } else {	
-	$self->unop($op, $cx, $op->first->private & OPpCONST_NOVER ? "no" : $opname);
+	$self->unop(
+	    $op, $cx,
+	    $op->first->name eq 'const'
+	     && $op->first->private & OPpCONST_NOVER
+		 ? "no"
+		 : $opname,
+	    1, # llafr does not apply
+	);
     }
 }
 
@@ -1931,19 +2280,20 @@
 sub pp_uc { dq_unop(@_, "uc") }
 sub pp_lc { dq_unop(@_, "lc") }
 sub pp_quotemeta { maybe_targmy(@_, \&dq_unop, "quotemeta") }
+sub pp_fc { dq_unop(@_, "fc") }
 
 sub loopex {
     my $self = shift;
     my ($op, $cx, $name) = @_;
     if (class($op) eq "PVOP") {
-	return "$name " . $op->pv;
+	$name .= " " . $op->pv;
     } elsif (class($op) eq "OP") {
-	return $name;
+	# no-op
     } elsif (class($op) eq "UNOP") {
-	# Note -- loop exits are actually exempt from the
-	# looks-like-a-func rule, but a few extra parens won't hurt
-	return $self->maybe_parens_unop($name, $op->first, $cx);
+	(my $kid = $self->deparse($op->first, 7)) =~ s/^\cS//;
+	$name .= " $kid";
     }
+    return $self->maybe_parens($name, $cx, 7);
 }
 
 sub pp_last { loopex(@_, "last") }
@@ -1950,14 +2300,18 @@
 sub pp_next { loopex(@_, "next") }
 sub pp_redo { loopex(@_, "redo") }
 sub pp_goto { loopex(@_, "goto") }
-sub pp_dump { loopex(@_, "dump") }
+sub pp_dump { loopex(@_, "CORE::dump") }
 
 sub ftst {
     my $self = shift;
     my($op, $cx, $name) = @_;
     if (class($op) eq "UNOP") {
-	# Genuine `-X' filetests are exempt from the LLAFR, but not
-	# l?stat(); for the sake of clarity, give'em all parens
+	# Genuine '-X' filetests are exempt from the LLAFR, but not
+	# l?stat()
+	if ($name =~ /^-/) {
+	    (my $kid = $self->deparse($op->first, 16)) =~ s/^\cS//;
+	    return $self->maybe_parens("$name $kid", $cx, 16);
+	}
 	return $self->maybe_parens_unop($name, $op->first, $cx);
     } elsif (class($op) =~ /^(SV|PAD)OP$/) {
 	return $self->maybe_parens_func($name, $self->pp_gv($op, 1), $cx, 16);
@@ -2006,7 +2360,7 @@
     my $op = shift;
     my $name = $op->name;
     if ($name eq "concat" and $op->first->name eq "concat") {
-	# avoid spurious `=' -- see comment in pp_concat
+	# avoid spurious '=' -- see comment in pp_concat
 	return "concat";
     }
     if ($name eq "null" and class($op) eq "UNOP"
@@ -2023,7 +2377,7 @@
     return $name . ($op->flags & OPf_STACKED ? "=" : "");
 }
 
-# Left associative operators, like `+', for which
+# Left associative operators, like '+', for which
 # $a + $b + $c is equivalent to ($a + $b) + $c
 
 BEGIN {
@@ -2054,7 +2408,7 @@
     }
 }
 
-# Right associative operators, like `=', for which
+# Right associative operators, like '=', for which
 # $a = $b = $c is equivalent to $a = ($b = $c)
 
 BEGIN {
@@ -2161,9 +2515,9 @@
     }
 }
 
-# `.' is special because concats-of-concats are optimized to save copying
+# '.' is special because concats-of-concats are optimized to save copying
 # by making all but the first concat stacked. The effect is as if the
-# programmer had written `($a . $b) .= $c', except legal.
+# programmer had written '($a . $b) .= $c', except legal.
 sub pp_concat { maybe_targmy(@_, \&real_concat) }
 sub real_concat {
     my $self = shift;
@@ -2181,7 +2535,7 @@
     return $self->maybe_parens("$left .$eq $right", $cx, $prec);
 }
 
-# `x' is weird when the left arg is a list
+# 'x' is weird when the left arg is a list
 sub pp_repeat {
     my $self = shift;
     my($op, $cx) = @_;
@@ -2277,20 +2631,45 @@
 sub pp_orassign  { logassignop(@_, "||=") }
 sub pp_dorassign { logassignop(@_, "//=") }
 
+sub rv2gv_or_string {
+    my($self,$op) = @_;
+    if ($op->name eq "gv") { # could be open("open") or open("###")
+	my($name,$quoted) =
+	    $self->stash_variable_name("", $self->gv_or_padgv($op));
+	$quoted ? $name : "*$name";
+    }
+    else {
+	$self->deparse($op, 6);
+    }
+}
+
 sub listop {
     my $self = shift;
-    my($op, $cx, $name) = @_;
+    my($op, $cx, $name, $kid, $nollafr) = @_;
     my(@exprs);
     my $parens = ($cx >= 5) || $self->{'parens'};
-    my $kid = $op->first->sibling;
-    return $name if null $kid;
+    $kid ||= $op->first->sibling;
+    # If there are no arguments, add final parentheses (or parenthesize the
+    # whole thing if the llafr does not apply) to account for cases like
+    # (return)+1 or setpgrp()+1.  When the llafr does not apply, we use a
+    # precedence of 6 (< comma), as "return, 1" does not need parentheses.
+    if (null $kid) {
+	return $nollafr
+		? $self->maybe_parens($self->keyword($name), $cx, 7)
+		: $self->keyword($name) . '()' x (7 < $cx);
+    }
     my $first;
     $name = "socketpair" if $name eq "sockpair";
+    my $fullname = $self->keyword($name);
     my $proto = prototype("CORE::$name");
-    if (defined $proto
-	&& $proto =~ /^;?\*/
-	&& $kid->name eq "rv2gv") {
-	$first = $self->deparse($kid->first, 6);
+    if (
+	 (     (defined $proto && $proto =~ /^;?\*/)
+	    || $name eq 'select' # select(F) doesn't have a proto
+	 )
+	 && $kid->name eq "rv2gv"
+	 && !($kid->private & OPpLVAL_INTRO)
+    ) {
+	$first = $self->rv2gv_or_string($kid->first);
     }
     else {
 	$first = $self->deparse($kid, 6);
@@ -2298,11 +2677,13 @@
     if ($name eq "chmod" && $first =~ /^\d+$/) {
 	$first = sprintf("%#o", $first);
     }
-    $first = "+$first" if not $parens and substr($first, 0, 1) eq "(";
+    $first = "+$first"
+	if not $parens and not $nollafr and substr($first, 0, 1) eq "(";
     push @exprs, $first;
     $kid = $kid->sibling;
-    if (defined $proto && $proto =~ /^\*\*/ && $kid->name eq "rv2gv") {
-	push @exprs, $self->deparse($kid->first, 6);
+    if (defined $proto && $proto =~ /^\*\*/ && $kid->name eq "rv2gv"
+	 && !($kid->private & OPpLVAL_INTRO)) {
+	push @exprs, $first = $self->rv2gv_or_string($kid->first);
 	$kid = $kid->sibling;
     }
     for (; !null($kid); $kid = $kid->sibling) {
@@ -2309,18 +2690,39 @@
 	push @exprs, $self->deparse($kid, 6);
     }
     if ($name eq "reverse" && ($op->private & OPpREVERSE_INPLACE)) {
-	return "$exprs[0] = $name" . ($parens ? "($exprs[0])" : " $exprs[0]");
+	return "$exprs[0] = $fullname"
+	         . ($parens ? "($exprs[0])" : " $exprs[0]");
     }
-    if ($parens) {
-	return "$name(" . join(", ", @exprs) . ")";
+    if ($name =~ /^(system|exec)$/
+	&& ($op->flags & OPf_STACKED)
+	&& @exprs > 1)
+    {
+	# handle the "system prog a1,a2,.." form
+	my $prog = shift @exprs;
+	$exprs[0] = "$prog $exprs[0]";
+    }
+
+    if ($parens && $nollafr) {
+	return "($fullname " . join(", ", @exprs) . ")";
+    } elsif ($parens) {
+	return "$fullname(" . join(", ", @exprs) . ")";
     } else {
-	return "$name " . join(", ", @exprs);
+	return "$fullname " . join(", ", @exprs);
     }
 }
 
 sub pp_bless { listop(@_, "bless") }
 sub pp_atan2 { maybe_targmy(@_, \&listop, "atan2") }
-sub pp_substr { maybe_local(@_, listop(@_, "substr")) }
+sub pp_substr {
+    my ($self,$op,$cx) = @_;
+    if ($op->private & OPpSUBSTR_REPL_FIRST) {
+	return
+	   listop($self, $op, 7, "substr", $op->first->sibling->sibling)
+	 . " = "
+	 . $self->deparse($op->first->sibling, 7);
+    }
+    maybe_local(@_, listop(@_, "substr"))
+}
 sub pp_vec { maybe_local(@_, listop(@_, "vec")) }
 sub pp_index { maybe_targmy(@_, \&listop, "index") }
 sub pp_rindex { maybe_targmy(@_, \&listop, "rindex") }
@@ -2336,9 +2738,7 @@
 sub pp_reverse { listop(@_, "reverse") }
 sub pp_warn { listop(@_, "warn") }
 sub pp_die { listop(@_, "die") }
-# Actually, return is exempt from the LLAFR (see examples in this very
-# module!), but for consistency's sake, ignore that fact
-sub pp_return { listop(@_, "return") }
+sub pp_return { listop(@_, "return", undef, 1) } # llafr does not apply
 sub pp_open { listop(@_, "open") }
 sub pp_pipe_op { listop(@_, "pipe") }
 sub pp_tie { listop(@_, "tie") }
@@ -2404,13 +2804,13 @@
 sub pp_glob {
     my $self = shift;
     my($op, $cx) = @_;
-    if ($op->flags & OPf_SPECIAL) {
-	return $self->deparse($op->first->sibling);
-    }
     my $text = $self->dq($op->first->sibling);  # skip pushmark
+    my $keyword =
+	$op->flags & OPf_SPECIAL ? 'glob' : $self->keyword('glob');
     if ($text =~ /^\$?(\w|::|\`)+$/ # could look like a readline
-	or $text =~ /[<>]/) {
-	return 'glob(' . single_delim('qq', '"', $text) . ')';
+	or $keyword =~ /^CORE::/
+        or $text =~ /[<>]/) {
+	return "$keyword(" . single_delim('qq', '"', $text) . ')';
     } else {
 	return '<' . $text . '>';
     }
@@ -2435,10 +2835,11 @@
         $fh = "+$fh" if not $parens and substr($fh, 0, 1) eq "(";
     }
     my $len = $self->deparse($kid->sibling, 6);
+    my $name = $self->keyword('truncate');
     if ($parens) {
-	return "truncate($fh, $len)";
+	return "$name($fh, $len)";
     } else {
-	return "truncate $fh, $len";
+	return "$name $fh, $len";
     }
 }
 
@@ -2446,7 +2847,7 @@
     my $self = shift;
     my($op, $cx, $name) = @_;
     my($expr, @exprs);
-    my $kid = $op->first->sibling;
+    my $firstkid = my $kid = $op->first->sibling;
     my $indir = "";
     if ($op->flags & OPf_STACKED) {
 	$indir = $kid;
@@ -2470,19 +2871,20 @@
 	$indir = '{$b cmp $a} ';
     }
     for (; !null($kid); $kid = $kid->sibling) {
-	$expr = $self->deparse($kid, 6);
+	$expr = $self->deparse($kid, !$indir && $kid == $firstkid && $name eq "sort" && $firstkid->name eq "entersub" ? 16 : 6);
 	push @exprs, $expr;
     }
-    my $name2 = $name;
+    my $name2;
     if ($name eq "sort" && $op->private & OPpSORT_REVERSE) {
-	$name2 = 'reverse sort';
+	$name2 = $self->keyword('reverse') . ' ' . $self->keyword('sort');
     }
+    else { $name2 = $self->keyword($name) }
     if ($name eq "sort" && ($op->private & OPpSORT_INPLACE)) {
 	return "$exprs[0] = $name2 $indir $exprs[0]";
     }
 
     my $args = $indir . join(", ", @exprs);
-    if ($indir ne "" and $name eq "sort") {
+    if ($indir ne "" && $name eq "sort") {
 	# We don't want to say "sort(f 1, 2, 3)", since perl -w will
 	# give bareword warnings in that case. Therefore if context
 	# requires, we'll put parens around the outside "(sort f 1, 2,
@@ -2494,6 +2896,14 @@
 	} else {
 	    return "$name2 $args";
 	}
+    } elsif (
+	!$indir && $name eq "sort"
+      && !null($op->first->sibling)
+      && $op->first->sibling->name eq 'entersub'
+    ) {
+	# We cannot say sort foo(bar), as foo will be interpreted as a
+	# comparison routine.  We have to say sort(...) in that case.
+	return "$name2($args)";
     } else {
 	return $self->maybe_parens_func($name2, $args, $cx, 5);
     }
@@ -2515,7 +2925,8 @@
     if (is_scope $code) {
 	$code = "{" . $self->deparse($code, 0) . "} ";
     } else {
-	$code = $self->deparse($code, 24) . ", ";
+	$code = $self->deparse($code, 24);
+	$code .= ", " if !null($kid->sibling);
     }
     $kid = $kid->sibling;
     for (; !null($kid); $kid = $kid->sibling) {
@@ -2535,6 +2946,7 @@
     my($op, $cx) = @_;
     my($expr, @exprs);
     my $kid = $op->first->sibling; # skip pushmark
+    return '' if class($kid) eq 'NULL';
     my $lop;
     my $local = "either"; # could be local(...), my(...), state(...) or our(...)
     for ($lop = $kid; !null($lop); $lop = $lop->sibling) {
@@ -2712,7 +3124,7 @@
 	    $var = "\$" . $self->deparse($var, 1);
 	}
 	$body = $kid->first->first->sibling; # skip OP_AND and OP_ITER
-	if (!is_state $body->first and $body->first->name ne "stub") {
+	if (!is_state $body->first and $body->first->name !~ /^(?:stub|leave|scope)$/) {
 	    confess unless $var eq '$_';
 	    $body = $body->first;
 	    return $self->deparse($body, 2) . " foreach ($ary)";
@@ -2749,7 +3161,7 @@
 	for (; $$state != $$cont; $state = $state->sibling) {
 	    push @states, $state;
 	}
-	$body = $self->lineseq(undef, @states);
+	$body = $self->lineseq(undef, 0, @states);
 	if (defined $cond and not is_scope $cont and $self->{'expand'} < 3) {
 	    $head = "for ($init; $cond; " . $self->deparse($cont, 1) .") ";
 	    $cont = "\cK";
@@ -2786,10 +3198,9 @@
     return "eval {\n\t" . $self->pp_leave(@_) . "\n\b}";
 }
 
-BEGIN { eval "sub OP_CONST () {" . opnumber("const") . "}" }
-BEGIN { eval "sub OP_STRINGIFY () {" . opnumber("stringify") . "}" }
-BEGIN { eval "sub OP_RV2SV () {" . opnumber("rv2sv") . "}" }
-BEGIN { eval "sub OP_LIST () {" . opnumber("list") . "}" }
+BEGIN { for (qw[ const stringify rv2sv list glob ]) {
+    eval "sub OP_\U$_ () { " . opnumber($_) . "}"
+}}
 
 sub pp_null {
     my $self = shift;
@@ -2807,6 +3218,14 @@
 	return $self->pp_scope($op->first, $cx);
     } elsif ($op->targ == OP_STRINGIFY) {
 	return $self->dquote($op, $cx);
+    } elsif ($op->targ == OP_GLOB) {
+	return $self->pp_glob(
+	         $op->first    # entersub
+	            ->first    # ex-list
+	            ->first    # pushmark
+	            ->sibling, # glob
+	         $cx
+	       );
     } elsif (!null($op->first->sibling) and
 	     $op->first->sibling->name eq "readline" and
 	     $op->first->sibling->flags & OPf_STACKED) {
@@ -2877,7 +3296,7 @@
     my($op, $cx) = @_;
     my $gv = $self->gv_or_padgv($op);
     return $self->maybe_local($op, $cx, $self->stash_variable("\$",
-				 $self->gv_name($gv)));
+				 $self->gv_name($gv), $cx));
 }
 
 sub pp_gv {
@@ -2887,22 +3306,23 @@
     return $self->gv_name($gv);
 }
 
+sub pp_aelemfast_lex {
+    my $self = shift;
+    my($op, $cx) = @_;
+    my $name = $self->padname($op->targ);
+    $name =~ s/^@/\$/;
+    return $name . "[" .  ($op->private + $self->{'arybase'}) . "]";
+}
+
 sub pp_aelemfast {
     my $self = shift;
     my($op, $cx) = @_;
-    my $name;
-    if ($op->flags & OPf_SPECIAL) { # optimised PADAV
-	$name = $self->padname($op->targ);
-	$name =~ s/^@/\$/;
-    }
-    else {
-	my $gv = $self->gv_or_padgv($op);
-	$name = $self->gv_name($gv);
-	$name = $self->{'curstash'}."::$name"
-	    if $name !~ /::/ && $self->lex_in_scope('@'.$name);
-	$name = '$' . $name;
-    }
+    # optimised PADAV, pre 5.15
+    return $self->pp_aelemfast_lex(@_) if ($op->flags & OPf_SPECIAL);
 
+    my $gv = $self->gv_or_padgv($op);
+    my($name,$quoted) = $self->stash_variable_name('@',$gv);
+    $name = $quoted ? "$name->" : '$' . $name;
     return $name . "[" .  ($op->private + $self->{'arybase'}) . "]";
 }
 
@@ -2916,7 +3336,7 @@
     }
     my $kid = $op->first;
     if ($kid->name eq "gv") {
-	return $self->stash_variable($type, $self->deparse($kid, 0));
+	return $self->stash_variable($type, $self->deparse($kid, 0), $cx);
     } elsif (is_scalar $kid) {
 	my $str = $self->deparse($kid, 0);
 	if ($str =~ /^\$([^\w\d])\z/) {
@@ -3007,7 +3427,7 @@
 	$kid = $kid->sibling until null $kid->sibling;
 	return 0 if is_scope($kid);
 	$kid = $kid->first;
-	return 0 if $kid->name eq "gv";
+	return 0 if $kid->name eq "gv" || $kid->name eq "padcv";
 	return 0 if is_scalar($kid);
 	return is_subscriptable($kid);	
     } else {
@@ -3025,13 +3445,15 @@
     } elsif (is_scope($array)) { # ${expr}[0]
 	return "{" . $self->deparse($array, 0) . "}";
     } elsif ($array->name eq "gv") {
-	$array = $self->gv_name($self->gv_or_padgv($array));
-	if ($array !~ /::/) {
-	    my $prefix = ($left eq '[' ? '@' : '%');
-	    $array = $self->{curstash}.'::'.$array
-		if $self->lex_in_scope($prefix . $array);
+	($array, my $quoted) =
+	    $self->stash_variable_name(
+		$left eq '[' ? '@' : '%', $self->gv_or_padgv($array)
+	    );
+	if (!$allow_arrow && $quoted) {
+	    # This cannot happen.
+	    die "Invalid variable name $array for slice";
 	}
-	return $array;
+	return $quoted ? "$array->" : $array;
     } elsif (!$allow_arrow || is_scalar $array) { # $x[0], $$x[0], ...
 	return $self->deparse($array, 24);
     } else {
@@ -3089,7 +3511,8 @@
     }
     if (my $array_name=$self->elem_or_slice_array_name
 	    ($array, $left, $padname, 1)) {
-	return "\$" . $array_name . $left . $idx . $right;
+	return ($array_name =~ /->\z/ ? $array_name : "\$" . $array_name)
+	      . $left . $idx . $right;
     } else {
 	# $x[20][3]{hi} or expr->[20]
 	my $arrow = is_subscriptable($array) ? "" : "->";
@@ -3177,7 +3600,7 @@
 	# doesn't get flattened by the append_elem that adds the method,
 	# making a (object, arg1, arg2, ...) list where the object
 	# usually is. This can be distinguished from
-	# `($obj, $arg1, $arg2)->meth()' (which is legal if $arg2 is an
+	# '($obj, $arg1, $arg2)->meth()' (which is legal if $arg2 is an
 	# object) because in the later the list is in scalar context
 	# as the left side of -> always is, while in the former
 	# the list is in list context as method arguments always are.
@@ -3192,7 +3615,7 @@
     } else {
 	$obj = $kid;
 	$kid = $kid->sibling;
-	for (; !null ($kid->sibling) && $kid->name ne "method_named";
+	for (; !null ($kid->sibling) && $kid->name!~/^method(?:_named)?\z/;
 	      $kid = $kid->sibling) {
 	    push @exprs, $kid
 	}
@@ -3211,7 +3634,8 @@
     }
 
     return { method => $meth, variable_method => ref($meth),
-             object => $obj, args => \@exprs  };
+             object => $obj, args => \@exprs  },
+	   $cx;
 }
 
 # compat function only
@@ -3222,12 +3646,22 @@
 }
 
 sub e_method {
-    my ($self, $info) = @_;
+    my ($self, $info, $cx) = @_;
     my $obj = $self->deparse($info->{object}, 24);
 
     my $meth = $info->{method};
     $meth = $self->deparse($meth, 1) if $info->{variable_method};
     my $args = join(", ", map { $self->deparse($_, 6) } @{$info->{args}} );
+    if ($info->{object}->name eq 'scope' && want_list $info->{object}) {
+	# method { $object }
+	# This must be deparsed this way to preserve list context
+	# of $object.
+	my $need_paren = $cx >= 6;
+	return '(' x $need_paren
+	     . $meth . substr($obj,2) # chop off the "do"
+	     . " $args"
+	     . ')' x $need_paren;
+    }
     my $kid = $obj . "->" . $meth;
     if (length $args) {
 	return $kid . "(" . $args . ")"; # parens mandatory
@@ -3310,7 +3744,7 @@
 	    }
        }
     }
-    return "&" if $proto and !$doneok; # too few args and no `;'
+    return "&" if $proto and !$doneok; # too few args and no ';'
     return "&" if @args;               # too many args
     return ("", join ", ", @reals);
 }
@@ -3357,7 +3791,7 @@
 	$kid = $self->deparse($kid, 24);
     } else {
 	$prefix = "";
-	my $arrow = is_subscriptable($kid->first) ? "" : "->";
+	my $arrow = is_subscriptable($kid->first) || $kid->first->name eq "padcv" ? "" : "->";
 	$kid = $self->deparse($kid, 24) . $arrow;
     }
 
@@ -3390,6 +3824,7 @@
 	$args = join(", ", map($self->deparse($_, 6), @exprs));
     }
     if ($prefix or $amper) {
+	if ($kid eq '&') { $kid = "{$kid}" } # &{&} cannot be written as &&
 	if ($op->flags & OPf_STACKED) {
 	    return $prefix . $amper . $kid . "(" . $args . ")";
 	} else {
@@ -3396,7 +3831,7 @@
 	    return $prefix . $amper. $kid;
 	}
     } else {
-	# It's a syntax error to call CORE::GLOBAL::foo without a prefix,
+	# It's a syntax error to call CORE::GLOBAL::foo with a prefix,
 	# so it must have been translated from a keyword call. Translate
 	# it back.
 	$kid =~ s/^CORE::GLOBAL:://;
@@ -3732,6 +4167,16 @@
 	    }
 	    return "{" . join(", ", @elts) . "}";
 	} elsif (class($ref) eq "CV") {
+	    BEGIN {
+		if ($] > 5.0150051) {
+		    require overloading;
+		    unimport overloading;
+		}
+	    }
+	    if ($] > 5.0150051 && $self->{curcv} &&
+		 $self->{curcv}->object_2svref == $ref->object_2svref) {
+		return $self->keyword("__SUB__");
+	    }
 	    return "sub " . $self->deparse_sub($ref);
 	}
 	if ($ref->FLAGS & SVs_SMG) {
@@ -3785,7 +4230,7 @@
     if ($op->private & OPpCONST_ARYBASE) {
         return '$[';
     }
-#    if ($op->private & OPpCONST_BARE) { # trouble with `=>' autoquoting
+#    if ($op->private & OPpCONST_BARE) { # trouble with '=>' autoquoting
 #	return $self->const_sv($op)->PV;
 #    }
     my $sv = $self->const_sv($op);
@@ -3820,6 +4265,8 @@
 	return '\l' . $self->dq($op->first->sibling);
     } elsif ($type eq "quotemeta") {
 	return '\Q' . $self->dq($op->first->sibling) . '\E';
+    } elsif ($type eq "fc") {
+	return '\F' . $self->dq($op->first->sibling) . '\E';
     } elsif ($type eq "join") {
 	return $self->deparse($op->last, 26); # was join($", @ary)
     } else {
@@ -3833,7 +4280,10 @@
     # skip pushmark if it exists (readpipe() vs ``)
     my $child = $op->first->sibling->isa('B::NULL')
 	? $op->first : $op->first->sibling;
-    return single_delim("qx", '`', $self->dq($child));
+    if ($self->pure_string($child)) {
+	return single_delim("qx", '`', $self->dq($child, 1));
+    }
+    unop($self, @_, "readpipe");
 }
 
 sub dquote {
@@ -3859,7 +4309,7 @@
 	if (($succeed, $to) = balanced_delim($to) and $succeed) {
 	    return "$from$to";
 	} else {
-	    for $delim ('/', '"', '#') { # note no `'' -- s''' is special
+	    for $delim ('/', '"', '#') { # note no "'" -- s''' is special
 		return "$from$delim$to$delim" if index($to, $delim) == -1;
 	    }
 	    $to =~ s[/][\\/]g;
@@ -4138,10 +4588,14 @@
 	return '\l' . $self->re_dq($op->first->sibling, $extended);
     } elsif ($type eq "quotemeta") {
 	return '\Q' . $self->re_dq($op->first->sibling, $extended) . '\E';
+    } elsif ($type eq "fc") {
+	return '\F' . $self->re_dq($op->first->sibling, $extended) . '\E';
     } elsif ($type eq "join") {
 	return $self->deparse($op->last, 26); # was join($", @ary)
     } else {
-	return $self->deparse($op, 26);
+	my $ret = $self->deparse($op, 26);
+	$ret =~ s/^\$([(|)])\z/\${$1}/; # $( $| $) need braces
+	return $ret;
     }
 }
 
@@ -4150,10 +4604,10 @@
     return 0 if null $op;
     my $type = $op->name;
 
-    if ($type eq 'const') {
+    if ($type eq 'const' || $type eq 'av2arylen') {
 	return 1;
     }
-    elsif ($type =~ /^[ul]c(first)?$/ || $type eq 'quotemeta') {
+    elsif ($type =~ /^(?:[ul]c(first)?|fc)$/ || $type eq 'quotemeta') {
 	return $self->pure_string($op->first->sibling);
     }
     elsif ($type eq 'join') {
@@ -4175,9 +4629,12 @@
 	return 1;
     }
     elsif ($type eq "null" and $op->can('first') and not null $op->first and
-	   $op->first->name eq "null" and $op->first->can('first')
+	  ($op->first->name eq "null" and $op->first->can('first')
 	   and not null $op->first->first and
-	   $op->first->first->name eq "aelemfast") {
+	   $op->first->first->name eq "aelemfast"
+          or
+	   $op->first->name =~ /^aelemfast(?:_lex)?\z/
+	  )) {
 	return 1;
     }
     else {
@@ -4216,6 +4673,38 @@
     return (($self->regcomp($op, $cx, 0))[0]);
 }
 
+sub re_flags {
+    my ($self, $op) = @_;
+    my $flags = '';
+    my $pmflags = $op->pmflags;
+    $flags .= "g" if $pmflags & PMf_GLOBAL;
+    $flags .= "i" if $pmflags & PMf_FOLD;
+    $flags .= "m" if $pmflags & PMf_MULTILINE;
+    $flags .= "o" if $pmflags & PMf_KEEP;
+    $flags .= "s" if $pmflags & PMf_SINGLELINE;
+    $flags .= "x" if $pmflags & PMf_EXTENDED;
+    $flags .= "p" if $pmflags & RXf_PMf_KEEPCOPY;
+    if (my $charset = $pmflags & RXf_PMf_CHARSET) {
+	# Hardcoding this is fragile, but B does not yet export the
+	# constants we need.
+	$flags .= qw(d l u a aa)[$charset >> 5]
+    }
+    # The /d flag is indicated by 0; only show it if necessary.
+    elsif ($self->{hinthash} and
+	     $self->{hinthash}{reflags_charset}
+	    || $self->{hinthash}{feature_unicode}
+	or $self->{hints} & $feature::hint_mask
+	  && ($self->{hints} & $feature::hint_mask)
+	       != $feature::hint_mask
+	  && do {
+		$self->{hints} & $feature::hint_uni8bit;
+	     }
+  ) {
+	$flags .= 'd';
+    }
+    $flags;
+}
+
 # osmic acid -- see osmium tetroxide
 
 my %matchwords;
@@ -4234,7 +4723,8 @@
 	$kid = $kid->sibling;
     }
     my $quote = 1;
-    my $extended = ($op->pmflags & PMf_EXTENDED);
+    my $pmflags = $op->pmflags;
+    my $extended = ($pmflags & PMf_EXTENDED);
     my $rhs_bound_to_defsv;
     if (null $kid) {
 	my $unbacked = re_unback($op->precomp);
@@ -4247,18 +4737,21 @@
 	carp("found ".$kid->name." where regcomp expected");
     } else {
 	($re, $quote) = $self->regcomp($kid, 21, $extended);
-	$rhs_bound_to_defsv = 1 if $kid->first->first->flags & OPf_SPECIAL;
+	my $matchop = $kid->first;
+	if ($matchop->name eq 'regcrest') {
+	    $matchop = $matchop->first;
+	}
+	if ($matchop->name =~ /^(?:match|transr?|subst)\z/
+	   && $matchop->flags & OPf_SPECIAL) {
+	    $rhs_bound_to_defsv = 1;
+	}
     }
     my $flags = "";
-    $flags .= "c" if $op->pmflags & PMf_CONTINUE;
-    $flags .= "g" if $op->pmflags & PMf_GLOBAL;
-    $flags .= "i" if $op->pmflags & PMf_FOLD;
-    $flags .= "m" if $op->pmflags & PMf_MULTILINE;
-    $flags .= "o" if $op->pmflags & PMf_KEEP;
-    $flags .= "s" if $op->pmflags & PMf_SINGLELINE;
-    $flags .= "x" if $op->pmflags & PMf_EXTENDED;
+    $flags .= "c" if $pmflags & PMf_CONTINUE;
+    $flags .= $self->re_flags($op);
+    $flags = join '', sort split //, $flags;
     $flags = $matchwords{$flags} if $matchwords{$flags};
-    if ($op->pmflags & PMf_ONCE) { # only one kind of delimiter works here
+    if ($pmflags & PMf_ONCE) { # only one kind of delimiter works here
 	$re =~ s/\?/\\?/g;
 	$re = "?$re?";
     } elsif ($quote) {
@@ -4282,6 +4775,8 @@
 sub pp_pushre { matchop(@_, "m", "/") }
 sub pp_qr { matchop(@_, "qr", "") }
 
+sub pp_runcv { unop(@_, "__SUB__"); }
+
 sub pp_split {
     my $self = shift;
     my($op, $cx) = @_;
@@ -4301,7 +4796,7 @@
     } elsif (!ref($replroot) and $replroot > 0) {
 	$gv = $self->padval($replroot);
     }
-    $ary = $self->stash_variable('@', $self->gv_name($gv)) if $gv;
+    $ary = $self->stash_variable('@', $self->gv_name($gv), $cx) if $gv;
 
     for (; !null($kid); $kid = $kid->sibling) {
 	push @exprs, $self->deparse($kid, 6);
@@ -4309,10 +4804,16 @@
 
     # handle special case of split(), and split(' ') that compiles to /\s+/
     # Under 5.10, the reflags may be undef if the split regexp isn't a constant
+    # Under 5.17.5-5.17.9, the special flag is on split itself.
     $kid = $op->first;
-    if ( $kid->flags & OPf_SPECIAL
-	 and ( $] < 5.009 ? $kid->pmflags & PMf_SKIPWHITE()
-	      : ($kid->reflags || 0) & RXf_SKIPWHITE() ) ) {
+    if ( $op->flags & OPf_SPECIAL
+         or (
+            $kid->flags & OPf_SPECIAL
+            and ( $] < 5.009 ? $kid->pmflags & PMf_SKIPWHITE()
+                             : ($kid->reflags || 0) & RXf_SKIPWHITE()
+            )
+         )
+    ) {
 	$exprs[0] = "' '";
     }
 
@@ -4332,7 +4833,7 @@
 map($substwords{join "", sort split //, $_} = $_, 'ego', 'egoism', 'em',
     'es', 'ex', 'exes', 'gee', 'go', 'goes', 'ie', 'ism', 'iso', 'me',
     'meese', 'meso', 'mig', 'mix', 'os', 'ox', 'oxime', 'see', 'seem',
-    'seg', 'sex', 'sig', 'six', 'smog', 'sog', 'some', 'xi',
+    'seg', 'sex', 'sig', 'six', 'smog', 'sog', 'some', 'xi', 'rogue',
     'sir', 'rise', 'smore', 'more', 'seer', 'rome', 'gore', 'grim', 'grime',
     'or', 'rose', 'rosie');
 
@@ -4347,22 +4848,23 @@
 	$kid = $kid->sibling;
     }
     my $flags = "";
+    my $pmflags = $op->pmflags;
     if (null($op->pmreplroot)) {
-	$repl = $self->dq($kid);
+	$repl = $kid;
 	$kid = $kid->sibling;
     } else {
 	$repl = $op->pmreplroot->first; # skip substcont
-	while ($repl->name eq "entereval") {
+    }
+    while ($repl->name eq "entereval") {
 	    $repl = $repl->first;
 	    $flags .= "e";
-	}
-	if ($op->pmflags & PMf_EVAL) {
+    }
+    if ($pmflags & PMf_EVAL) {
 	    $repl = $self->deparse($repl->first, 0);
-	} else {
+    } else {
 	    $repl = $self->dq($repl);	
-	}
     }
-    my $extended = ($op->pmflags & PMf_EXTENDED);
+    my $extended = ($pmflags & PMf_EXTENDED);
     if (null $kid) {
 	my $unbacked = re_unback($op->precomp);
 	if ($extended) {
@@ -4374,14 +4876,10 @@
     } else {
 	($re) = $self->regcomp($kid, 1, $extended);
     }
-    $flags .= "e" if $op->pmflags & PMf_EVAL;
-    $flags .= "r" if $op->pmflags & PMf_NONDESTRUCT;
-    $flags .= "g" if $op->pmflags & PMf_GLOBAL;
-    $flags .= "i" if $op->pmflags & PMf_FOLD;
-    $flags .= "m" if $op->pmflags & PMf_MULTILINE;
-    $flags .= "o" if $op->pmflags & PMf_KEEP;
-    $flags .= "s" if $op->pmflags & PMf_SINGLELINE;
-    $flags .= "x" if $extended;
+    $flags .= "r" if $pmflags & PMf_NONDESTRUCT;
+    $flags .= "e" if $pmflags & PMf_EVAL;
+    $flags .= $self->re_flags($op);
+    $flags = join '', sort split //, $flags;
     $flags = $substwords{$flags} if $substwords{$flags};
     if ($binop) {
 	return $self->maybe_parens("$var =~ s"
@@ -4392,6 +4890,36 @@
     }
 }
 
+sub is_lexical_subs {
+    my (@ops) = shift;
+    for my $op (@ops) {
+        return 0 if $op->name !~ /\A(?:introcv|clonecv)\z/;
+    }
+    return 1;
+}
+
+sub pp_introcv {
+    my $self = shift;
+    my($op, $cx) = @_;
+    # For now, deparsing doesn't worry about the distinction between introcv
+    # and clonecv, so pretend this op doesn't exist:
+    return '';
+}
+
+sub pp_clonecv {
+    my $self = shift;
+    my($op, $cx) = @_;
+    my $sv = $self->padname_sv($op->targ);
+    my $name = substr $sv->PVX, 1; # skip &/$/@/%, like $self->padany
+    return "my sub $name";
+}
+
+sub pp_padcv {
+    my $self = shift;
+    my($op, $cx) = @_;
+    return $self->padany($op);
+}
+
 1;
 __END__
 
@@ -4408,11 +4936,11 @@
 
 B::Deparse is a backend module for the Perl compiler that generates
 perl source code, based on the internal compiled structure that perl
-itself creates after parsing a program. The output of B::Deparse won't
+itself creates after parsing a program.  The output of B::Deparse won't
 be exactly the same as the original source, since perl doesn't keep
 track of comments or whitespace, and there isn't a one-to-one
 correspondence between perl's syntactical constructions and their
-compiled form, but it will often be close. When you use the B<-p>
+compiled form, but it will often be close.  When you use the B<-p>
 option, the output also includes parentheses even when they are not
 required by precedence, which can make it easy to see if perl is
 parsing your expressions the way you intended.
@@ -4419,7 +4947,7 @@
 
 While B::Deparse goes to some lengths to try to figure out what your
 original program was doing, some parts of the language can still trip
-it up; it still fails even on some parts of Perl's own test suite. If
+it up; it still fails even on some parts of Perl's own test suite.  If
 you encounter a failure other than the most common ones described in
 the BUGS section below, you can help contribute to B::Deparse's
 ongoing development by submitting a bug report with a small
@@ -4436,7 +4964,7 @@
 
 Output data values (when they appear as constants) using Data::Dumper.
 Without this option, B::Deparse will use some simple routines of its
-own for the same purpose. Currently, Data::Dumper is better for some
+own for the same purpose.  Currently, Data::Dumper is better for some
 kinds of data (such as complex structures with sharing and
 self-reference) while the built-in routines are better for others
 (such as odd floating-point values).
@@ -4444,8 +4972,9 @@
 =item B<-f>I<FILE>
 
 Normally, B::Deparse deparses the main code of a program, and all the subs
-defined in the same file. To include subs defined in other files, pass the
-B<-f> option with the filename. You can pass the B<-f> option several times, to
+defined in the same file.  To include subs defined in
+other files, pass the B<-f> option with the filename.
+You can pass the B<-f> option several times, to
 include more than one secondary file.  (Most of the time you don't want to
 use it at all.)  You can also use this option to include subs which are
 defined in the scope of a B<#line> directive with two parameters.
@@ -4457,11 +4986,11 @@
 
 =item B<-p>
 
-Print extra parentheses. Without this option, B::Deparse includes
+Print extra parentheses.  Without this option, B::Deparse includes
 parentheses in its output only when they are needed, based on the
-structure of your program. With B<-p>, it uses parentheses (almost)
-whenever they would be legal. This can be useful if you are used to
-LISP, or if you want to see how perl parses your input. If you say
+structure of your program.  With B<-p>, it uses parentheses (almost)
+whenever they would be legal.  This can be useful if you are used to
+LISP, or if you want to see how perl parses your input.  If you say
 
     if ($var & 0x7f == 65) {print "Gimme an A!"}
     print ($which ? $a : $b), "\n";
@@ -4480,8 +5009,8 @@
 
 =item B<-P>
 
-Disable prototype checking. With this option, all function calls are
-deparsed as if no prototype was defined for them. In other words,
+Disable prototype checking.  With this option, all function calls are
+deparsed as if no prototype was defined for them.  In other words,
 
     perl -MO=Deparse,-P -e 'sub foo (\@) { 1 } foo @x'
 
@@ -4497,7 +5026,7 @@
 =item B<-q>
 
 Expand double-quoted strings into the corresponding combinations of
-concatenation, uc, ucfirst, lc, lcfirst, quotemeta, and join. For
+concatenation, uc, ucfirst, lc, lcfirst, quotemeta, and join.  For
 instance, print
 
     print "Hello, $world, @ladies, \u$gentlemen\E, \u\L$me!";
@@ -4509,14 +5038,14 @@
 
 Note that the expanded form represents the way perl handles such
 constructions internally -- this option actually turns off the reverse
-translation that B::Deparse usually does. On the other hand, note that
+translation that B::Deparse usually does.  On the other hand, note that
 C<$x = "$y"> is not the same as C<$x = $y>: the former makes the value
 of $y into a string before doing the assignment.
 
 =item B<-s>I<LETTERS>
 
-Tweak the style of B::Deparse's output. The letters should follow
-directly after the 's', with no space or punctuation. The following
+Tweak the style of B::Deparse's output.  The letters should follow
+directly after the 's', with no space or punctuation.  The following
 options are available:
 
 =over 4
@@ -4523,7 +5052,7 @@
 
 =item B<C>
 
-Cuddle C<elsif>, C<else>, and C<continue> blocks. For example, print
+Cuddle C<elsif>, C<else>, and C<continue> blocks.  For example, print
 
     if (...) {
          ...
@@ -4544,11 +5073,11 @@
 
 =item B<i>I<NUMBER>
 
-Indent lines by multiples of I<NUMBER> columns. The default is 4 columns.
+Indent lines by multiples of I<NUMBER> columns.  The default is 4 columns.
 
 =item B<T>
 
-Use tabs for each 8 columns of indent. The default is to use only spaces.
+Use tabs for each 8 columns of indent.  The default is to use only spaces.
 For instance, if the style options are B<-si4T>, a line that's indented
 3 times will be preceded by one tab and four spaces; if the options were
 B<-si8T>, the same line would be preceded by three tabs.
@@ -4557,14 +5086,14 @@
 
 Print I<STRING> for the value of a constant that can't be determined
 because it was optimized away (mnemonic: this happens when a constant
-is used in B<v>oid context). The end of the string is marked by a period.
+is used in B<v>oid context).  The end of the string is marked by a period.
 The string should be a valid perl expression, generally a constant.
 Note that unless it's a number, it probably needs to be quoted, and on
-a command line quotes need to be protected from the shell. Some
+a command line quotes need to be protected from the shell.  Some
 conventional values include 0, 1, 42, '', 'foo', and
 'Useless use of constant omitted' (which may need to be
 B<-sv"'Useless use of constant omitted'.">
-or something similar depending on your shell). The default is '???'.
+or something similar depending on your shell).  The default is '???'.
 If you're using B::Deparse on a module or other file that's require'd,
 you shouldn't use a value that evaluates to false, since the customary
 true constant at the end of a module will be in void context when the
@@ -4575,8 +5104,8 @@
 =item B<-x>I<LEVEL>
 
 Expand conventional syntax constructions into equivalent ones that expose
-their internal operation. I<LEVEL> should be a digit, with higher values
-meaning more expansion. As with B<-q>, this actually involves turning off
+their internal operation.  I<LEVEL> should be a digit, with higher values
+meaning more expansion.  As with B<-q>, this actually involves turning off
 special cases in B::Deparse's normal operations.
 
 If I<LEVEL> is at least 3, C<for> loops will be translated into equivalent
@@ -4657,7 +5186,7 @@
     $deparse = B::Deparse->new(OPTIONS)
 
 Create an object to store the state of a deparsing operation and any
-options. The options are the same as those that can be given on the
+options.  The options are the same as those that can be given on the
 command line (see L</OPTIONS>); options that are separated by commas
 after B<-MO=Deparse> should be given as separate strings.
 
@@ -4666,7 +5195,7 @@
     $deparse->ambient_pragmas(strict => 'all', '$[' => $[);
 
 The compilation of a subroutine can be affected by a few compiler
-directives, B<pragmas>. These are:
+directives, B<pragmas>.  These are:
 
 =over 4
 
@@ -4703,15 +5232,15 @@
 Ordinarily, if you use B::Deparse on a subroutine which has
 been compiled in the presence of one or more of these pragmas,
 the output will include statements to turn on the appropriate
-directives. So if you then compile the code returned by coderef2text,
+directives.  So if you then compile the code returned by coderef2text,
 it will behave the same way as the subroutine which you deparsed.
 
 However, you may know that you intend to use the results in a
-particular context, where some pragmas are already in scope. In
+particular context, where some pragmas are already in scope.  In
 this case, you use the B<ambient_pragmas> method to describe the
 assumptions you wish to make.
 
-Not all of the options currently have any useful effect. See
+Not all of the options currently have any useful effect.  See
 L</BUGS> for more details.
 
 The parameters it accepts are:
@@ -4721,7 +5250,7 @@
 =item strict
 
 Takes a string, possibly containing several values separated
-by whitespace. The special values "all" and "none" mean what you'd
+by whitespace.  The special values "all" and "none" mean what you'd
 expect.
 
     $deparse->ambient_pragmas(strict => 'subs refs');
@@ -4729,6 +5258,7 @@
 =item $[
 
 Takes a number, the value of the array base $[.
+Cannot be non-zero on Perl 5.15.3 or later.
 
 =item bytes
 
@@ -4742,7 +5272,7 @@
 =item re
 
 Takes a string, possibly containing a whitespace-separated list of
-values. The values "all" and "none" are special. It's also permissible
+values.  The values "all" and "none" are special.  It's also permissible
 to pass an array reference here.
 
     $deparser->ambient_pragmas(re => 'eval');
@@ -4751,7 +5281,7 @@
 =item warnings
 
 Takes a string, possibly containing a whitespace-separated list of
-values. The values "all" and "none" are special, again. It's also
+values.  The values "all" and "none" are special, again.  It's also
 permissible to pass an array reference here.
 
     $deparser->ambient_pragmas(warnings => [qw[void io]]);
@@ -4758,7 +5288,7 @@
 
 If one of the values is the string "FATAL", then all the warnings
 in that list will be considered fatal, just as with the B<warnings>
-pragma itself. Should you need to specify that some warnings are
+pragma itself.  Should you need to specify that some warnings are
 fatal, and others are merely enabled, you can pass the B<warnings>
 parameter twice:
 
@@ -4803,10 +5333,10 @@
 
 Return source code for the body of a subroutine (a block, optionally
 preceded by a prototype in parens), given a reference to the
-sub. Because a subroutine can have no names, or more than one name,
+sub.  Because a subroutine can have no names, or more than one name,
 this method doesn't return a complete subroutine definition -- if you
 want to eval the result, you should prepend "sub subname ", or "sub "
-for an anonymous function constructor. Unless the sub was defined in
+for an anonymous function constructor.  Unless the sub was defined in
 the main:: package, the code will include a package declaration.
 
 =head1 BUGS
@@ -4816,7 +5346,8 @@
 =item *
 
 The only pragmas to be completely supported are: C<use warnings>,
-C<use strict 'refs'>, C<use bytes>, and C<use integer>. (C<$[>, which
+C<use strict>, C<use bytes>, C<use integer>
+and C<use feature>.  (C<$[>, which
 behaves like a pragma, is also supported.)
 
 Excepting those listed above, we're currently unable to guarantee that
@@ -4831,7 +5362,7 @@
 
 In fact, the above is a specific instance of a more general problem:
 we can't guarantee to produce BEGIN blocks or C<use> declarations in
-exactly the right place. So if you use a module which affects compilation
+exactly the right place.  So if you use a module which affects compilation
 (such as by over-riding keywords, overloading constants or whatever)
 then the output code might not work as intended.
 
@@ -4840,14 +5371,6 @@
 
 =item *
 
-If a keyword is over-ridden, and your program explicitly calls
-the built-in version by using CORE::keyword, the output of B::Deparse
-will not reflect this. If you run the resulting code, it will call
-the over-ridden version rather than the built-in one. (Maybe there
-should be an option to B<always> print keyword calls as C<CORE::name>.)
-
-=item *
-
 Some constants don't print correctly either with or without B<-d>.
 For instance, neither B::Deparse nor Data::Dumper know how to print
 dual-valued scalars correctly, as in:
@@ -4865,7 +5388,8 @@
 
 =item *
 
-Optimised away statements are rendered as '???'. This includes statements that
+Optimised away statements are rendered as
+'???'.  This includes statements that
 have a compile-time side-effect, such as the obscure
 
     my $x if 0;
@@ -4879,7 +5403,7 @@
 =item *
 
 Lexical (my) variables declared in scopes external to a subroutine
-appear in code2ref output text as package variables. This is a tricky
+appear in code2ref output text as package variables.  This is a tricky
 problem, as perl has no native facility for referring to a lexical variable
 defined within a different scope, although L<PadWalker> is a good start.
 
@@ -4887,6 +5411,23 @@
 
 There are probably many more bugs on non-ASCII platforms (EBCDIC).
 
+=item *
+
+Lexical C<my> subroutines are not deparsed properly at the moment.  They are
+emitted as pure declarations, without their body; and the declaration may
+appear in the wrong place (before any lexicals the body closes over, or
+before the C<use feature> declaration that permits use of this feature).
+
+We expect to resolve this before the lexical-subroutine feature is no longer
+considered experimental.
+
+=item *
+
+Lexical C<state> subroutines are not deparsed at all at the moment.
+
+We expect to resolve this before the lexical-subroutine feature is no longer
+considered experimental.
+
 =back
 
 =head1 AUTHOR


Property changes on: vendor/perl/dist/dist/B-Deparse/Deparse.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/dist/B-Deparse/t/deparse.t
===================================================================
--- vendor/perl/dist/dist/B-Deparse/t/deparse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/B-Deparse/t/deparse.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,47 +11,31 @@
 
 use warnings;
 use strict;
-BEGIN {
-    # BEGIN block is actually a subroutine :-)
-    return unless $] > 5.009;
-    require feature;
-    feature->import(':5.10');
-}
 use Test::More;
-use Config ();
 
+my $tests = 18; # not counting those in the __DATA__ section
+
 use B::Deparse;
 my $deparse = B::Deparse->new();
 isa_ok($deparse, 'B::Deparse', 'instantiate a B::Deparse object');
 
-# Tell B::Deparse about our ambient pragmas
-{ my ($hint_bits, $warning_bits, $hinthash);
- BEGIN { ($hint_bits, $warning_bits, $hinthash) = ($^H, ${^WARNING_BITS}, \%^H); }
- $deparse->ambient_pragmas (
-     hint_bits    => $hint_bits,
-     warning_bits => $warning_bits,
-     '$['         => 0 + $[,
-     '%^H'	  => $hinthash,
- );
-}
-
 $/ = "\n####\n";
 while (<DATA>) {
     chomp;
+    $tests ++;
     # This code is pinched from the t/lib/common.pl for TODO.
     # It's not clear how to avoid duplication
-    # Now tweaked a bit to do skip or todo
-    my %reason;
-    foreach my $what (qw(skip todo)) {
-	s/^#\s*\U$what\E\s*(.*)\n//m and $reason{$what} = $1;
+    my %meta = (context => '');
+    foreach my $what (qw(skip todo context)) {
+	s/^#\s*\U$what\E\s*(.*)\n//m and $meta{$what} = $1;
 	# If the SKIP reason starts ? then it's taken as a code snippet to
 	# evaluate. This provides the flexibility to have conditional SKIPs
-	if ($reason{$what} && $reason{$what} =~ s/^\?//) {
-	    my $temp = eval $reason{$what};
+	if ($meta{$what} && $meta{$what} =~ s/^\?//) {
+	    my $temp = eval $meta{$what};
 	    if ($@) {
-		die "# In \U$what\E code reason:\n# $reason{$what}\n$@";
+		die "# In \U$what\E code reason:\n# $meta{$what}\n$@";
 	    }
-	    $reason{$what} = $temp;
+	    $meta{$what} = $temp;
 	}
     }
 
@@ -59,9 +43,9 @@
     my $desc = $1;
     die "Missing name in test $_" unless defined $desc;
 
-    if ($reason{skip}) {
+    if ($meta{skip}) {
 	# Like this to avoid needing a label SKIP:
-       Test::More->builder->skip($reason{skip});
+	Test::More->builder->skip($meta{skip});
 	next;
     }
 
@@ -73,7 +57,18 @@
 	($input, $expected) = ($_, $_);
     }
 
-    my $coderef = eval "sub {$input}";
+    my $coderef = eval "$meta{context};\n" . <<'EOC' . "sub {$input}";
+# Tell B::Deparse about our ambient pragmas
+my ($hint_bits, $warning_bits, $hinthash);
+BEGIN {
+    ($hint_bits, $warning_bits, $hinthash) = ($^H, ${^WARNING_BITS}, \%^H);
+}
+$deparse->ambient_pragmas (
+    hint_bits    => $hint_bits,
+    warning_bits => $warning_bits,
+    '%^H'        => $hinthash,
+);
+EOC
 
     if ($@) {
 	is($@, "", "compilation of $desc");
@@ -85,7 +80,7 @@
 	$regex =~ s/\s+/\\s+/g;
 	$regex = '^\{\s*' . $regex . '\s*\}$';
 
-	local $::TODO = $reason{todo};
+	local $::TODO = $meta{todo};
         like($deparsed, qr/$regex/, $desc);
     }
 }
@@ -109,6 +104,7 @@
 $a = `$^X $path "-MO=Deparse" -anlwi.bak -e 1 2>&1`;
 $a =~ s/-e syntax OK\n//g;
 $a =~ s/.*possible typo.*\n//;	   # Remove warning line
+$a =~ s/.*-i used with no filenames.*\n//;	# Remove warning line
 $a =~ s{\\340\\242}{\\s} if (ord("\\") == 224); # EBCDIC, cp 1047 or 037
 $a =~ s{\\274\\242}{\\s} if (ord("\\") == 188); # $^O eq 'posix-bc'
 $b = <<'EOF';
@@ -195,8 +191,71 @@
   is $deparsed, $code, 'our $funny_Unicode_chars';
 }
 
-done_testing();
+# [perl #62500]
+$a =
+  `$^X $path "-MO=Deparse" -e "BEGIN{*CORE::GLOBAL::require=sub{1}}" 2>&1`;
+$a =~ s/-e syntax OK\n//g;
+is($a, <<'EOCODF', "CORE::GLOBAL::require override causing panick");
+sub BEGIN {
+    *CORE::GLOBAL::require = sub {
+        1;
+    }
+    ;
+}
+EOCODF
 
+# [perl #91384]
+$a =
+  `$^X $path "-MO=Deparse" -e "BEGIN{*Acme::Acme:: = *Acme::}" 2>&1`;
+like($a, qr/-e syntax OK/,
+    "Deparse does not hang when traversing stash circularities");
+
+# [perl #93990]
+@] = ();
+is($deparse->coderef2text(sub{ print "@{]}" }),
+q<{
+    print "@{]}";
+}>, 'curly around to interpolate "@{]}"');
+is($deparse->coderef2text(sub{ print "@{-}" }),
+q<{
+    print "@-";
+}>, 'no need to curly around to interpolate "@-"');
+
+# Strict hints in %^H are mercilessly suppressed
+$a =
+  `$^X $path "-MO=Deparse" -e "use strict; print;" 2>&1`;
+unlike($a, qr/BEGIN/,
+    "Deparse does not emit strict hh hints");
+
+# ambient_pragmas should not mess with strict settings.
+SKIP: {
+    skip "requires 5.11", 1 unless $] >= 5.011;
+    eval q`
+	BEGIN {
+	    # Clear out all hints
+	    %^H = ();
+	    $^H = 0;
+	    new B::Deparse -> ambient_pragmas(strict => 'all');
+	}
+	use 5.011;  # should enable strict
+	ok !eval '$do_noT_create_a_variable_with_this_name = 1',
+	  'ambient_pragmas do not mess with compiling scope';
+   `;
+}
+
+# multiple statements on format lines
+$a = `$^X $path "-MO=Deparse" -e "format =" -e "\@" -e "x();z()" -e. 2>&1`;
+$a =~ s/-e syntax OK\n//g;
+is($a, <<'EOCODH', 'multiple statements on format lines');
+format STDOUT =
+@
+x(); z()
+.
+EOCODH
+
+
+done_testing($tests);
+
 __DATA__
 # A constant
 1;
@@ -263,6 +322,8 @@
 ####
 # s///e
 s/x/'y';/e;
+s/x/$a;/e;
+s/x/complex_expression();/e;
 ####
 # block
 { my $x; }
@@ -376,9 +437,17 @@
 # bug #43010
 &::::;
 ####
+# [perl #77172]
+package rt77172;
+sub foo {} foo & & & foo;
+>>>>
+package rt77172;
+foo(&{&} & foo());
+####
 # variables as method names
 my $bar;
 'Foo'->$bar('orz');
+'Foo'->$bar('orz') = 'a stranger stranger than before';
 ####
 # constants as method names
 'Foo'->bar('orz');
@@ -386,15 +455,114 @@
 # constants as method names without ()
 'Foo'->bar;
 ####
+# [perl #47359] "indirect" method call notation
+our @bar;
+foo{@bar}+1,->foo;
+(foo{@bar}+1),foo();
+foo{@bar}1 xor foo();
+>>>>
+our @bar;
+(foo { @bar } 1)->foo;
+(foo { @bar } 1), foo();
+foo { @bar } 1 xor foo();
+####
 # SKIP ?$] < 5.010 && "say not implemented on this Perl version"
+# CONTEXT use feature ':5.10';
 # say
 say 'foo';
 ####
+# SKIP ?$] < 5.010 && "say not implemented on this Perl version"
+# CONTEXT use 5.10.0;
+# say in the context of use 5.10.0
+say 'foo';
+####
+# SKIP ?$] < 5.010 && "say not implemented on this Perl version"
+# say with use 5.10.0
+use 5.10.0;
+say 'foo';
+>>>>
+no feature;
+use feature ':5.10';
+say 'foo';
+####
+# SKIP ?$] < 5.010 && "say not implemented on this Perl version"
+# say with use feature ':5.10';
+use feature ':5.10';
+say 'foo';
+>>>>
+use feature 'say', 'state', 'switch';
+say 'foo';
+####
+# SKIP ?$] < 5.010 && "say not implemented on this Perl version"
+# CONTEXT use feature ':5.10';
+# say with use 5.10.0 in the context of use feature
+use 5.10.0;
+say 'foo';
+>>>>
+no feature;
+use feature ':5.10';
+say 'foo';
+####
+# SKIP ?$] < 5.010 && "say not implemented on this Perl version"
+# CONTEXT use 5.10.0;
+# say with use feature ':5.10' in the context of use 5.10.0
+use feature ':5.10';
+say 'foo';
+>>>>
+say 'foo';
+####
+# SKIP ?$] < 5.015 && "__SUB__ not implemented on this Perl version"
+# CONTEXT use feature ':5.15';
+# __SUB__
+__SUB__;
+####
+# SKIP ?$] < 5.015 && "__SUB__ not implemented on this Perl version"
+# CONTEXT use 5.15.0;
+# __SUB__ in the context of use 5.15.0
+__SUB__;
+####
+# SKIP ?$] < 5.015 && "__SUB__ not implemented on this Perl version"
+# __SUB__ with use 5.15.0
+use 5.15.0;
+__SUB__;
+>>>>
+no feature;
+use feature ':5.16';
+__SUB__;
+####
+# SKIP ?$] < 5.015 && "__SUB__ not implemented on this Perl version"
+# __SUB__ with use feature ':5.15';
+use feature ':5.15';
+__SUB__;
+>>>>
+use feature 'current_sub', 'evalbytes', 'fc', 'say', 'state', 'switch', 'unicode_strings', 'unicode_eval';
+__SUB__;
+####
+# SKIP ?$] < 5.015 && "__SUB__ not implemented on this Perl version"
+# CONTEXT use feature ':5.15';
+# __SUB__ with use 5.15.0 in the context of use feature
+use 5.15.0;
+__SUB__;
+>>>>
+no feature;
+use feature ':5.16';
+__SUB__;
+####
+# SKIP ?$] < 5.015 && "__SUB__ not implemented on this Perl version"
+# CONTEXT use 5.15.0;
+# __SUB__ with use feature ':5.15' in the context of use 5.15.0
+use feature ':5.15';
+__SUB__;
+>>>>
+__SUB__;
+####
 # SKIP ?$] < 5.010 && "state vars not implemented on this Perl version"
+# CONTEXT use feature ':5.10';
 # state vars
 state $x = 42;
 ####
 # SKIP ?$] < 5.010 && "state vars not implemented on this Perl version"
+# CONTEXT use feature ':5.10';
 # state var assignment
 {
     my $y = (state $x = 42);
@@ -401,6 +569,7 @@
 }
 ####
 # SKIP ?$] < 5.010 && "state vars not implemented on this Perl version"
+# CONTEXT use feature ':5.10';
 # state vars in anonymous subroutines
 $a = sub {
     state $x;
@@ -425,6 +594,7 @@
 my $d = \[];
 ####
 # SKIP ?$] < 5.010 && "smartmatch and given/when not implemented on this Perl version"
+# CONTEXT use feature ':5.10'; no warnings 'experimental::smartmatch';
 # implicit smartmatch in given/when
 given ('foo') {
     when ('bar') { continue; }
@@ -605,9 +775,16 @@
 # tests for deparsing of blessed constant with overloaded numification
 warn OVERLOADED_NUMIFICATION;
 ####
-# TODO Only strict 'refs' currently supported
 # strict
 no strict;
+print $x;
+use strict 'vars';
+print $main::x;
+use strict 'subs';
+print $main::x;
+use strict 'refs';
+print $main::x;
+no strict 'vars';
 $x;
 ####
 # TODO Subsets of warnings could be encoded textually, rather than as bitflips.
@@ -690,12 +867,63 @@
 #[perl #20444]
 "foo" =~ (1 ? /foo/ : /bar/);
 "foo" =~ (1 ? y/foo// : /bar/);
+"foo" =~ (1 ? y/foo//r : /bar/);
 "foo" =~ (1 ? s/foo// : /bar/);
 >>>>
 'foo' =~ ($_ =~ /foo/);
 'foo' =~ ($_ =~ tr/fo//);
+'foo' =~ ($_ =~ tr/fo//r);
 'foo' =~ ($_ =~ s/foo//);
 ####
+# The fix for [perl #20444] broke this.
+'foo' =~ do { () };
+####
+# [perl #81424] match against aelemfast_lex
+my @s;
+print /$s[1]/;
+####
+# /$#a/
+print /$#main::a/;
+####
+# [perl #91318] /regexp/applaud
+print /a/a, s/b/c/a;
+print /a/aa, s/b/c/aa;
+print /a/p, s/b/c/p;
+print /a/l, s/b/c/l;
+print /a/u, s/b/c/u;
+{
+    use feature "unicode_strings";
+    print /a/d, s/b/c/d;
+}
+{
+    use re "/u";
+    print /a/d, s/b/c/d;
+}
+{
+    use 5.012;
+    print /a/d, s/b/c/d;
+}
+>>>>
+print /a/a, s/b/c/a;
+print /a/aa, s/b/c/aa;
+print /a/p, s/b/c/p;
+print /a/l, s/b/c/l;
+print /a/u, s/b/c/u;
+{
+    use feature 'unicode_strings';
+    print /a/d, s/b/c/d;
+}
+{
+    BEGIN { $^H{'reflags'}         = '0';
+	    $^H{'reflags_charset'} = '2'; }
+    print /a/d, s/b/c/d;
+}
+{
+    no feature;
+    use feature ':5.12';
+    print /a/d, s/b/c/d;
+}
+####
 # Test @threadsv_names under 5005threads
 foreach $' (1, 2) {
     sleep $';
@@ -706,3 +934,456 @@
 ####
 # y/uni/code/
 tr/\x{345}/\x{370}/;
+####
+# [perl #90898]
+<a,>;
+####
+# [perl #91008]
+each $@;
+keys $~;
+values $!;
+####
+# readpipe with complex expression
+readpipe $a + $b;
+####
+# aelemfast
+$b::a[0] = 1;
+####
+# aelemfast for a lexical
+my @a;
+$a[0] = 1;
+####
+# feature features without feature
+# CONTEXT no warnings 'experimental::smartmatch';
+CORE::state $x;
+CORE::say $x;
+CORE::given ($x) {
+    CORE::when (3) {
+        continue;
+    }
+    CORE::default {
+        CORE::break;
+    }
+}
+CORE::evalbytes '';
+() = CORE::__SUB__;
+() = CORE::fc $x;
+####
+# feature features when feature has been disabled by use VERSION
+# CONTEXT no warnings 'experimental::smartmatch';
+use feature (sprintf(":%vd", $^V));
+use 1;
+CORE::state $x;
+CORE::say $x;
+CORE::given ($x) {
+    CORE::when (3) {
+        continue;
+    }
+    CORE::default {
+        CORE::break;
+    }
+}
+CORE::evalbytes '';
+() = CORE::__SUB__;
+>>>>
+CORE::state $x;
+CORE::say $x;
+CORE::given ($x) {
+    CORE::when (3) {
+        continue;
+    }
+    CORE::default {
+        CORE::break;
+    }
+}
+CORE::evalbytes '';
+() = CORE::__SUB__;
+####
+# (the above test with CONTEXT, and the output is equivalent but different)
+# CONTEXT use feature ':5.10'; no warnings 'experimental::smartmatch';
+# feature features when feature has been disabled by use VERSION
+use feature (sprintf(":%vd", $^V));
+use 1;
+CORE::state $x;
+CORE::say $x;
+CORE::given ($x) {
+    CORE::when (3) {
+        continue;
+    }
+    CORE::default {
+        CORE::break;
+    }
+}
+CORE::evalbytes '';
+() = CORE::__SUB__;
+>>>>
+no feature;
+use feature ':default';
+CORE::state $x;
+CORE::say $x;
+CORE::given ($x) {
+    CORE::when (3) {
+        continue;
+    }
+    CORE::default {
+        CORE::break;
+    }
+}
+CORE::evalbytes '';
+() = CORE::__SUB__;
+####
+# Feature hints
+use feature 'current_sub', 'evalbytes';
+print;
+use 1;
+print;
+use 5.014;
+print;
+no feature 'unicode_strings';
+print;
+>>>>
+use feature 'current_sub', 'evalbytes';
+print $_;
+no feature;
+use feature ':default';
+print $_;
+no feature;
+use feature ':5.12';
+print $_;
+no feature 'unicode_strings';
+print $_;
+####
+# $#- $#+ $#{%} etc.
+my @x;
+ at x = ($#{`}, $#{~}, $#{!}, $#{@}, $#{$}, $#{%}, $#{^}, $#{&}, $#{*});
+ at x = ($#{(}, $#{)}, $#{[}, $#{{}, $#{]}, $#{}}, $#{'}, $#{"}, $#{,});
+ at x = ($#{<}, $#{.}, $#{>}, $#{/}, $#{?}, $#{=}, $#+, $#{\}, $#{|}, $#-);
+ at x = ($#{;}, $#{:});
+####
+# ${#} interpolated
+# It's a known TODO that warnings are deparsed as bits, not textually.
+no warnings;
+() = "${#}a";
+####
+# [perl #86060] $( $| $) in regexps need braces
+/${(}/;
+/${|}/;
+/${)}/;
+/${(}${|}${)}/;
+####
+# ()[...]
+my(@a) = ()[()];
+####
+# sort(foo(bar))
+# sort(foo(bar)) is interpreted as sort &foo(bar)
+# sort foo(bar) is interpreted as sort foo bar
+# parentheses are not optional in this case
+print sort(foo('bar'));
+>>>>
+print sort(foo('bar'));
+####
+# substr assignment
+substr(my $a, 0, 0) = (foo(), bar());
+$a++;
+####
+# This following line works around an unfixed bug that we are not trying to 
+# test for here:
+# CONTEXT BEGIN { $^H{a} = "b"; delete $^H{a} } # make %^H localised
+# hint hash
+BEGIN { $^H{'foo'} = undef; }
+{
+ BEGIN { $^H{'bar'} = undef; }
+ {
+  BEGIN { $^H{'baz'} = undef; }
+  {
+   print $_;
+  }
+  print $_;
+ }
+ print $_;
+}
+BEGIN { $^H{q[']} = '('; }
+print $_;
+####
+# This following line works around an unfixed bug that we are not trying to 
+# test for here:
+# CONTEXT BEGIN { $^H{a} = "b"; delete $^H{a} } # make %^H localised
+# hint hash changes that serialise the same way with sort %hh
+BEGIN { $^H{'a'} = 'b'; }
+{
+ BEGIN { $^H{'b'} = 'a'; delete $^H{'a'}; }
+ print $_;
+}
+print $_;
+####
+# [perl #47361] do({}) and do +{} (variants of do-file)
+do({});
+do +{};
+sub foo::do {}
+package foo;
+CORE::do({});
+CORE::do +{};
+>>>>
+do({});
+do({});
+package foo;
+CORE::do({});
+CORE::do({});
+####
+# [perl #77096] functions that do not follow the llafr
+() = (return 1) + time;
+() = (return ($1 + $2) * $3) + time;
+() = (return ($a xor $b)) + time;
+() = (do 'file') + time;
+() = (do ($1 + $2) * $3) + time;
+() = (do ($1 xor $2)) + time;
+() = (goto 1) + 3;
+() = (require 'foo') + 3;
+() = (require foo) + 3;
+() = (CORE::dump 1) + 3;
+() = (last 1) + 3;
+() = (next 1) + 3;
+() = (redo 1) + 3;
+() = (-R $_) + 3;
+() = (-W $_) + 3;
+() = (-X $_) + 3;
+() = (-r $_) + 3;
+() = (-w $_) + 3;
+() = (-x $_) + 3;
+####
+# [perl #97476] not() *does* follow the llafr
+$_ = ($a xor not +($1 || 2) ** 2);
+####
+# Precedence conundrums with argument-less function calls
+() = (eof) + 1;
+() = (return) + 1;
+() = (return, 1);
+() = warn;
+() = warn() + 1;
+() = setpgrp() + 1;
+####
+# loopexes have assignment prec
+() = (CORE::dump a) | 'b';
+() = (goto a) | 'b';
+() = (last a) | 'b';
+() = (next a) | 'b';
+() = (redo a) | 'b';
+####
+# [perl #63558] open local(*FH)
+open local *FH;
+pipe local *FH, local *FH;
+####
+# [perl #91416] open "string"
+open 'open';
+open '####';
+open '^A';
+open "\ca";
+>>>>
+open *open;
+open '####';
+open '^A';
+open *^A;
+####
+# "string"->[] ->{}
+no strict 'vars';
+() = 'open'->[0]; #aelemfast
+() = '####'->[0];
+() = '^A'->[0];
+() = "\ca"->[0];
+() = 'a::]b'->[0];
+() = 'open'->[$_]; #aelem
+() = '####'->[$_];
+() = '^A'->[$_];
+() = "\ca"->[$_];
+() = 'a::]b'->[$_];
+() = 'open'->{0}; #helem
+() = '####'->{0};
+() = '^A'->{0};
+() = "\ca"->{0};
+() = 'a::]b'->{0};
+>>>>
+no strict 'vars';
+() = $open[0];
+() = '####'->[0];
+() = '^A'->[0];
+() = $^A[0];
+() = 'a::]b'->[0];
+() = $open[$_];
+() = '####'->[$_];
+() = '^A'->[$_];
+() = $^A[$_];
+() = 'a::]b'->[$_];
+() = $open{'0'};
+() = '####'->{'0'};
+() = '^A'->{'0'};
+() = $^A{'0'};
+() = 'a::]b'->{'0'};
+####
+# [perl #74740] -(f()) vs -f()
+$_ = -(f());
+####
+# require <binop>
+require 'a' . $1;
+####
+#[perl #30504] foreach-my postfix/prefix difference
+$_ = 'foo' foreach my ($foo1, $bar1, $baz1);
+foreach (my ($foo2, $bar2, $baz2)) { $_ = 'foo' }
+foreach my $i (my ($foo3, $bar3, $baz3)) { $i = 'foo' }
+>>>>
+$_ = 'foo' foreach (my($foo1, $bar1, $baz1));
+foreach $_ (my($foo2, $bar2, $baz2)) {
+    $_ = 'foo';
+}
+foreach my $i (my($foo3, $bar3, $baz3)) {
+    $i = 'foo';
+}
+####
+#[perl #108224] foreach with continue block
+foreach (1 .. 3) { print } continue { print "\n" }
+foreach (1 .. 3) { } continue { }
+foreach my $i (1 .. 3) { print $i } continue { print "\n" }
+foreach my $i (1 .. 3) { } continue { }
+>>>>
+foreach $_ (1 .. 3) {
+    print $_;
+}
+continue {
+    print "\n";
+}
+foreach $_ (1 .. 3) {
+    ();
+}
+continue {
+    ();
+}
+foreach my $i (1 .. 3) {
+    print $i;
+}
+continue {
+    print "\n";
+}
+foreach my $i (1 .. 3) {
+    ();
+}
+continue {
+    ();
+}
+####
+# file handles
+no strict;
+my $mfh;
+open F;
+open *F;
+open $fh;
+open $mfh;
+open 'a+b';
+select *F;
+select F;
+select $f;
+select $mfh;
+select 'a+b';
+####
+# 'my' works with padrange op
+my($z, @z);
+my $m1;
+$m1 = 1;
+$z = $m1;
+my $m2 = 2;
+my($m3, $m4);
+($m3, $m4) = (1, 2);
+ at z = ($m3, $m4);
+my($m5, $m6) = (1, 2);
+my($m7, undef, $m8) = (1, 2, 3);
+ at z = ($m7, undef, $m8);
+($m7, undef, $m8) = (1, 2, 3);
+####
+# 'our/local' works with padrange op
+no strict;
+our($z, @z);
+our $o1;
+local $o11;
+$o1 = 1;
+local $o1 = 1;
+$z = $o1;
+$z = local $o1;
+our $o2 = 2;
+our($o3, $o4);
+($o3, $o4) = (1, 2);
+local($o3, $o4) = (1, 2);
+ at z = ($o3, $o4);
+ at z = local($o3, $o4);
+our($o5, $o6) = (1, 2);
+our($o7, undef, $o8) = (1, 2, 3);
+ at z = ($o7, undef, $o8);
+ at z = local($o7, undef, $o8);
+($o7, undef, $o8) = (1, 2, 3);
+local($o7, undef, $o8) = (1, 2, 3);
+####
+# 'state' works with padrange op
+no strict;
+use feature 'state';
+state($z, @z);
+state $s1;
+$s1 = 1;
+$z = $s1;
+state $s2 = 2;
+state($s3, $s4);
+($s3, $s4) = (1, 2);
+ at z = ($s3, $s4);
+# assignment of state lists isn't implemented yet
+#state($s5, $s6) = (1, 2);
+#state($s7, undef, $s8) = (1, 2, 3);
+#@z = ($s7, undef, $s8);
+($s7, undef, $s8) = (1, 2, 3);
+####
+# anon lists with padrange
+my($a, $b);
+my $c = [$a, $b];
+my $d = {$a, $b};
+####
+# slices with padrange
+my($a, $b);
+my(@x, %y);
+ at x = @x[$a, $b];
+ at x = @y{$a, $b};
+####
+# binops with padrange
+my($a, $b, $c);
+$c = $a cmp $b;
+$c = $a + $b;
+$a += $b;
+$c = $a - $b;
+$a -= $b;
+$c = my $a1 cmp $b;
+$c = my $a2 + $b;
+$a += my $b1;
+$c = my $a3 - $b;
+$a -= my $b2;
+####
+# 'x' with padrange
+my($a, $b, $c, $d, @e);
+$c = $a x $b;
+$a x= $b;
+ at e = ($a) x $d;
+ at e = ($a, $b) x $d;
+ at e = ($a, $b, $c) x $d;
+ at e = ($a, 1) x $d;
+####
+# @_ with padrange
+my($a, $b, $c) = @_;
+####
+# SKIP ?$] < 5.017004 && "lexical subs not implemented on this Perl version"
+# TODO unimplemented in B::Deparse; RT #116553
+# lexical subroutine
+use feature 'lexical_subs';
+no warnings "experimental::lexical_subs";
+my sub f {}
+print f();
+####
+# SKIP ?$] < 5.017004 && "lexical subs not implemented on this Perl version"
+# TODO unimplemented in B::Deparse; RT #116553
+# lexical "state" subroutine
+use feature 'state', 'lexical_subs';
+no warnings 'experimental::lexical_subs';
+state sub f {}
+print f();


Property changes on: vendor/perl/dist/dist/B-Deparse/t/deparse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/dist/B-Lint/lib/B/Lint/Debug.pm
===================================================================
--- vendor/perl/dist/dist/B-Lint/lib/B/Lint/Debug.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/B-Lint/lib/B/Lint/Debug.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/B-Lint/lib/B/Lint/Debug.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/B-Lint/lib/B/Lint.pm
===================================================================
--- vendor/perl/dist/dist/B-Lint/lib/B/Lint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/B-Lint/lib/B/Lint.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/B-Lint/lib/B/Lint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/B-Lint/t/lint.t
===================================================================
--- vendor/perl/dist/dist/B-Lint/t/lint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/B-Lint/t/lint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/B-Lint/t/lint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/B-Lint/t/pluglib/B/Lint/Plugin/Test.pm
===================================================================
--- vendor/perl/dist/dist/B-Lint/t/pluglib/B/Lint/Plugin/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/B-Lint/t/pluglib/B/Lint/Plugin/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/B-Lint/t/pluglib/B/Lint/Plugin/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/Cwd.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/Cwd.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/Cwd.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -42,7 +42,7 @@
 
     my $cwd = cwd();
 
-The cwd() is the most natural form for the current architecture. For
+The cwd() is the most natural form for the current architecture.  For
 most systems it is identical to `pwd` (but without the trailing line
 terminator).
 
@@ -57,9 +57,9 @@
 undef but will probably leave you in a different directory.  For a
 measure of extra security, if everything appears to have worked, the
 fastcwd() function will check that it leaves you in the same directory
-that it started in. If it has changed it will C<die> with the message
+that it started in.  If it has changed it will C<die> with the message
 "Unstable directory path, current directory changed
-unexpectedly". That should never happen.
+unexpectedly".  That should never happen.
 
 =item fastgetcwd
 
@@ -136,8 +136,8 @@
 =item *
 
 Actually, on Mac OS, the C<getcwd()>, C<fastgetcwd()> and C<fastcwd()>
-functions  are all aliases for the C<cwd()> function, which, on Mac OS,
-calls `pwd`. Likewise, the C<abs_path()> function is an alias for
+functions are all aliases for the C<cwd()> function, which, on Mac OS,
+calls `pwd`.  Likewise, the C<abs_path()> function is an alias for
 C<fast_abs_path()>.
 
 =back
@@ -171,9 +171,9 @@
 use Exporter;
 use vars qw(@ISA @EXPORT @EXPORT_OK $VERSION);
 
-$VERSION = '3.36';
+$VERSION = '3.40';
 my $xs_version = $VERSION;
-$VERSION = eval $VERSION;
+$VERSION =~ tr/_//;
 
 @ISA = qw/ Exporter /;
 @EXPORT = qw(cwd getcwd fastcwd fastgetcwd);
@@ -253,9 +253,6 @@
   }
 };
 
-# Must be after the DynaLoader stuff:
-$VERSION = eval $VERSION;
-
 # Big nasty table of function aliases
 my %METHOD_MAP =
   (
@@ -582,6 +579,7 @@
 	unless (opendir(PARENT, $dotdots))
 	{
 	    # probably a permissions issue.  Try the native command.
+	    require File::Spec;
 	    return File::Spec->rel2abs( $start, _backtick_pwd() );
 	}
 	unless (@cst = stat($dotdots))
@@ -626,8 +624,8 @@
 
     # Detaint else we'll explode in taint mode.  This is safe because
     # we're not doing anything dangerous with it.
-    ($path) = $path =~ /(.*)/;
-    ($cwd)  = $cwd  =~ /(.*)/;
+    ($path) = $path =~ /(.*)/s;
+    ($cwd)  = $cwd  =~ /(.*)/s;
 
     unless (-e $path) {
  	_croak("$path: No such file or directory");
@@ -755,7 +753,14 @@
 }
 
 sub _win32_cwd {
-    if (eval 'defined &DynaLoader::boot_DynaLoader') {
+    # Need to avoid taking any sort of reference to the typeglob or the code in
+    # the optree, so that this tests the runtime state of things, as the
+    # ExtUtils::MakeMaker tests for "miniperl" need to be able to fake things at
+    # runtime by deleting the subroutine. *foo{THING} syntax on a symbol table
+    # lookup avoids needing a string eval, which has been reported to cause
+    # problems (for reasons that we haven't been able to get to the bottom of -
+    # rt.cpan.org #56225)
+    if (*{$DynaLoader::{boot_DynaLoader}}{CODE}) {
 	$ENV{'PWD'} = Win32::GetCwd();
     }
     else { # miniperl


Property changes on: vendor/perl/dist/dist/Cwd/Cwd.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/Cwd.xs
===================================================================
--- vendor/perl/dist/dist/Cwd/Cwd.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/Cwd.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#define PERL_NO_GET_CONTEXT
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
@@ -34,7 +36,7 @@
  *    products derived from this software without specific prior written
  *    permission.
  *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
@@ -53,6 +55,7 @@
 #define MAXSYMLINKS 8
 #endif
 
+#ifndef VMS
 /*
  * char *realpath(const char *path, char resolved[MAXPATHLEN]);
  *
@@ -64,15 +67,11 @@
 char *
 bsd_realpath(const char *path, char resolved[MAXPATHLEN])
 {
-#ifdef VMS
-       dTHX;
-       return Perl_rmsexpand(aTHX_ (char*)path, resolved, NULL, 0);
-#else
 	char *p, *q, *s;
 	size_t left_len, resolved_len;
 	unsigned symlinks;
 	int serrno;
-	char left[MAXPATHLEN], next_token[MAXPATHLEN], symlink[MAXPATHLEN];
+	char left[MAXPATHLEN], next_token[MAXPATHLEN];
 
 	serrno = errno;
 	symlinks = 0;
@@ -97,11 +96,11 @@
 	}
 
 	/*
-	 * Iterate over path components in `left'.
+	 * Iterate over path components in 'left'.
 	 */
 	while (left_len != 0) {
 		/*
-		 * Extract the next path component and adjust `left'
+		 * Extract the next path component and adjust 'left'
 		 * and its length.
 		 */
 		p = strchr(left, '/');
@@ -151,7 +150,7 @@
 			errno = ENAMETOOLONG;
 			return (NULL);
 		}
-	#if defined(HAS_LSTAT) && defined(HAS_READLINK) && defined(HAS_SYMLINK)
+#if defined(HAS_LSTAT) && defined(HAS_READLINK) && defined(HAS_SYMLINK)
 		{
 			struct stat sb;
 			if (lstat(resolved, &sb) != 0) {
@@ -163,6 +162,7 @@
 			}
 			if (S_ISLNK(sb.st_mode)) {
 				int slen;
+				char symlink[MAXPATHLEN];
 				
 				if (symlinks++ > MAXSYMLINKS) {
 					errno = ELOOP;
@@ -186,27 +186,27 @@
 	/*
 				 * If there are any path components left, then
 				 * append them to symlink. The result is placed
-				 * in `left'.
+				 * in 'left'.
 	 */
 				if (p != NULL) {
 					if (symlink[slen - 1] != '/') {
 						if ((STRLEN)(slen + 1) >= (STRLEN)sizeof(symlink)) {
-			errno = ENAMETOOLONG;
+							errno = ENAMETOOLONG;
 							return (NULL);
-		}
+						}
 						symlink[slen] = '/';
 						symlink[slen + 1] = 0;
-	}
+					}
 					left_len = my_strlcat(symlink, left, sizeof(left));
 					if (left_len >= sizeof(left)) {
 						errno = ENAMETOOLONG;
 						return (NULL);
-	}
-	}
+					}
+				}
 				left_len = my_strlcpy(left, symlink, sizeof(left));
 			}
 		}
-	#endif
+#endif
 	}
 
 	/*
@@ -216,8 +216,8 @@
 	if (resolved_len > 1 && resolved[resolved_len - 1] == '/')
 		resolved[resolved_len - 1] = '\0';
 	return (resolved);
+}
 #endif
-}
 
 #ifndef SV_CWD_RETURN_UNDEF
 #define SV_CWD_RETURN_UNDEF \
@@ -247,7 +247,7 @@
 #ifndef getcwd_sv
 /* Taken from perl 5.8's util.c */
 #define getcwd_sv(a) Perl_getcwd_sv(aTHX_ a)
-int Perl_getcwd_sv(pTHX_ register SV *sv)
+int Perl_getcwd_sv(pTHX_ SV *sv)
 {
 #ifndef PERL_MICRO
 
@@ -399,27 +399,18 @@
 
 MODULE = Cwd		PACKAGE = Cwd
 
-PROTOTYPES: ENABLE
+PROTOTYPES: DISABLE
 
 void
-fastcwd()
-PROTOTYPE: DISABLE
-PPCODE:
-{
-    dXSTARG;
-    getcwd_sv(TARG);
-    XSprePUSH; PUSHTARG;
-#ifndef INCOMPLETE_TAINTS
-    SvTAINTED_on(TARG);
-#endif
-}
-
-void
 getcwd(...)
-PROTOTYPE: DISABLE
+ALIAS:
+    fastcwd=1
 PPCODE:
 {
     dXSTARG;
+    /* fastcwd takes zero parameters:  */
+    if (ix == 1 && items != 0)
+	croak_xs_usage(cv,  "");
     getcwd_sv(TARG);
     XSprePUSH; PUSHTARG;
 #ifndef INCOMPLETE_TAINTS
@@ -430,17 +421,20 @@
 void
 abs_path(pathsv=Nullsv)
     SV *pathsv
-PROTOTYPE: DISABLE
 PPCODE:
 {
     dXSTARG;
-    char *path;
+    char *const path = pathsv ? SvPV_nolen(pathsv) : (char *)".";
     char buf[MAXPATHLEN];
 
-    path = pathsv ? SvPV_nolen(pathsv) : (char *)".";
-
-    if (bsd_realpath(path, buf)) {
-        sv_setpvn(TARG, buf, strlen(buf));
+    if (
+#ifdef VMS
+	Perl_rmsexpand(aTHX_ path, buf, NULL, 0)
+#else
+	bsd_realpath(path, buf)
+#endif
+    ) {
+	sv_setpv_mg(TARG, buf);
         SvPOK_only(TARG);
 	SvTAINTED_on(TARG);
     }
@@ -447,7 +441,7 @@
     else
         sv_setsv(TARG, &PL_sv_undef);
 
-    XSprePUSH; PUSHTARG;
+    XSprePUSH; PUSHs(TARG);
 #ifndef INCOMPLETE_TAINTS
     SvTAINTED_on(TARG);
 #endif
@@ -457,6 +451,7 @@
 
 void
 getdcwd(...)
+PROTOTYPE: ENABLE
 PPCODE:
 {
     dXSTARG;
@@ -475,7 +470,7 @@
 
     New(0,dir,MAXPATHLEN,char);
     if (_getdcwd(drive, dir, MAXPATHLEN)) {
-        sv_setpvn(TARG, dir, strlen(dir));
+        sv_setpv_mg(TARG, dir);
         SvPOK_only(TARG);
     }
     else
@@ -483,7 +478,7 @@
 
     Safefree(dir);
 
-    XSprePUSH; PUSHTARG;
+    XSprePUSH; PUSHs(TARG);
 #ifndef INCOMPLETE_TAINTS
     SvTAINTED_on(TARG);
 #endif


Property changes on: vendor/perl/dist/dist/Cwd/Cwd.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec/Cygwin.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec/Cygwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec/Cygwin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,8 +4,8 @@
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
 


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec/Cygwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec/Epoc.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec/Epoc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec/Epoc.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,8 +3,8 @@
 use strict;
 use vars qw($VERSION @ISA);
 
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 require File::Spec::Unix;
 @ISA = qw(File::Spec::Unix);


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec/Epoc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec/Functions.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec/Functions.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec/Functions.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,8 +5,8 @@
 
 use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $VERSION);
 
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 require Exporter;
 


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec/Functions.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec/Mac.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec/Mac.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec/Mac.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,8 +4,8 @@
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.34';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
 
@@ -156,13 +156,16 @@
  Unix:
     Unix->catdir("","")                 =  "/"
     Unix->catdir("",".")                =  "/"
-    Unix->catdir("","..")               =  "/"              # can't go beyond root
+    Unix->catdir("","..")               =  "/"        # can't go
+                                                      # beyond root
     Unix->catdir("",".","..","..","a")  =  "/a"
  Mac:
-    Mac->catdir("","")                  =  rootdir()         # (e.g. "HD:")
+    Mac->catdir("","")                  =  rootdir()  # (e.g. "HD:")
     Mac->catdir("",":")                 =  rootdir()
-    Mac->catdir("","::")                =  rootdir()         # can't go beyond root
-    Mac->catdir("",":","::","::","a")   =  rootdir() . "a:"  # (e.g. "HD:a:")
+    Mac->catdir("","::")                =  rootdir()  # can't go
+                                                      # beyond root
+    Mac->catdir("",":","::","::","a")   =  rootdir() . "a:"
+                                                    # (e.g. "HD:a:")
 
 However, this approach is limited to the first arguments following
 "root" (again, see C<Unix-E<gt>canonpath()> ). If there are more
@@ -400,10 +403,11 @@
 
 E.g.
 
-    File::Spec->file_name_is_absolute("a");             # false (relative)
-    File::Spec->file_name_is_absolute(":a:b:");         # false (relative)
-    File::Spec->file_name_is_absolute("MacintoshHD:");  # true (absolute)
-    File::Spec->file_name_is_absolute("");              # true (absolute)
+    File::Spec->file_name_is_absolute("a");         # false (relative)
+    File::Spec->file_name_is_absolute(":a:b:");     # false (relative)
+    File::Spec->file_name_is_absolute("MacintoshHD:");
+                                                    # true (absolute)
+    File::Spec->file_name_is_absolute("");          # true (absolute)
 
 
 =cut
@@ -440,7 +444,8 @@
 =item splitpath
 
     ($volume,$directories,$file) = File::Spec->splitpath( $path );
-    ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+    ($volume,$directories,$file) = File::Spec->splitpath( $path,
+                                                          $no_file );
 
 Splits a path into volume, directory, and filename portions.
 


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec/Mac.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec/OS2.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec/OS2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec/OS2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,8 +4,8 @@
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
 


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec/OS2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec/Unix.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec/Unix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec/Unix.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,8 +3,8 @@
 use strict;
 use vars qw($VERSION);
 
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 =head1 NAME
 
@@ -135,7 +135,7 @@
     $ENV{TMPDIR}
     /tmp
 
-Since perl 5.8.0, if running under taint mode, and if $ENV{TMPDIR}
+If running under taint mode, and if $ENV{TMPDIR}
 is tainted, it is not used.
 
 =cut
@@ -151,6 +151,9 @@
             require Scalar::Util;
 	    @dirlist = grep { ! Scalar::Util::tainted($_) } @dirlist;
 	}
+	elsif ($] < 5.007) { # No ${^TAINT} before 5.8
+	    @dirlist = grep { eval { eval('1'.substr $_,0,0) } } @dirlist;
+	}
     }
     foreach (@dirlist) {
 	next unless defined && -d && -w _;
@@ -238,7 +241,8 @@
 =item splitpath
 
     ($volume,$directories,$file) = File::Spec->splitpath( $path );
-    ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+    ($volume,$directories,$file) = File::Spec->splitpath( $path,
+                                                          $no_file );
 
 Splits a path into volume, directory, and filename portions. On systems
 with no concept of volume, returns '' for volume. 
@@ -348,9 +352,11 @@
 If $path is relative, it is converted to absolute form using L</rel2abs()>.
 This means that it is taken to be relative to L<cwd()|Cwd>.
 
-No checks against the filesystem are made.  On VMS, there is
-interaction with the working environment, as logicals and
-macros are expanded.
+No checks against the filesystem are made, so the result may not be correct if
+C<$base> contains symbolic links.  (Apply
+L<Cwd::abs_path()|Cwd/abs_path> beforehand if that
+is a concern.)  On VMS, there is interaction with the working environment, as
+logicals and macros are expanded.
 
 Based on code written by Shigio Yamaguchi.
 
@@ -362,29 +368,33 @@
 
     ($path, $base) = map $self->canonpath($_), $path, $base;
 
+    my $path_directories;
+    my $base_directories;
+
     if (grep $self->file_name_is_absolute($_), $path, $base) {
 	($path, $base) = map $self->rel2abs($_), $path, $base;
-    }
-    else {
-	# save a couple of cwd()s if both paths are relative
-	($path, $base) = map $self->catdir('/', $_), $path, $base;
-    }
 
-    my ($path_volume) = $self->splitpath($path, 1);
-    my ($base_volume) = $self->splitpath($base, 1);
+	my ($path_volume) = $self->splitpath($path, 1);
+	my ($base_volume) = $self->splitpath($base, 1);
 
-    # Can't relativize across volumes
-    return $path unless $path_volume eq $base_volume;
+	# Can't relativize across volumes
+	return $path unless $path_volume eq $base_volume;
 
-    my $path_directories = ($self->splitpath($path, 1))[1];
-    my $base_directories = ($self->splitpath($base, 1))[1];
+	$path_directories = ($self->splitpath($path, 1))[1];
+	$base_directories = ($self->splitpath($base, 1))[1];
 
-    # For UNC paths, the user might give a volume like //foo/bar that
-    # strictly speaking has no directory portion.  Treat it as if it
-    # had the root directory for that volume.
-    if (!length($base_directories) and $self->file_name_is_absolute($base)) {
-      $base_directories = $self->rootdir;
+	# For UNC paths, the user might give a volume like //foo/bar that
+	# strictly speaking has no directory portion.  Treat it as if it
+	# had the root directory for that volume.
+	if (!length($base_directories) and $self->file_name_is_absolute($base)) {
+	    $base_directories = $self->rootdir;
+	}
     }
+    else {
+	my $wd= ($self->splitpath($self->_cwd(), 1))[1];
+	$path_directories = $self->catdir($wd, $path);
+	$base_directories = $self->catdir($wd, $base);
+    }
 
     # Now, remove all leading components that are the same
     my @pathchunks = $self->splitdir( $path_directories );
@@ -391,19 +401,39 @@
     my @basechunks = $self->splitdir( $base_directories );
 
     if ($base_directories eq $self->rootdir) {
+      return $self->curdir if $path_directories eq $self->rootdir;
       shift @pathchunks;
       return $self->canonpath( $self->catpath('', $self->catdir( @pathchunks ), '') );
     }
 
+    my @common;
     while (@pathchunks && @basechunks && $self->_same($pathchunks[0], $basechunks[0])) {
-        shift @pathchunks ;
+        push @common, shift @pathchunks ;
         shift @basechunks ;
     }
     return $self->curdir unless @pathchunks || @basechunks;
 
-    # $base now contains the directories the resulting relative path 
-    # must ascend out of before it can descend to $path_directory.
-    my $result_dirs = $self->catdir( ($self->updir) x @basechunks, @pathchunks );
+    # @basechunks now contains the directories the resulting relative path 
+    # must ascend out of before it can descend to $path_directory.  If there
+    # are updir components, we must descend into the corresponding directories
+    # (this only works if they are no symlinks).
+    my @reverse_base;
+    while( defined(my $dir= shift @basechunks) ) {
+	if( $dir ne $self->updir ) {
+	    unshift @reverse_base, $self->updir;
+	    push @common, $dir;
+	}
+	elsif( @common ) {
+	    if( @reverse_base && $reverse_base[0] eq $self->updir ) {
+		shift @reverse_base;
+		pop @common;
+	    }
+	    else {
+		unshift @reverse_base, pop @common;
+	    }
+	}
+    }
+    my $result_dirs = $self->catdir( @reverse_base, @pathchunks );
     return $self->canonpath( $self->catpath('', $result_dirs, '') );
 }
 
@@ -469,6 +499,8 @@
 This program is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.
 
+Please submit bug reports and patches to perlbug at perl.org.
+
 =head1 SEE ALSO
 
 L<File::Spec>


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec/Unix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec/VMS.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec/VMS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec/VMS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,8 +4,8 @@
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.34';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
 
@@ -27,16 +27,9 @@
 the semantics.
 
 The default behavior is to allow either VMS or Unix syntax on input and to 
-return VMS syntax on output, even when Unix syntax was given on input.
+return VMS syntax on output unless Unix syntax has been explicity requested
+via the C<DECC$FILENAME_UNIX_REPORT> CRTL feature.
 
-When used with a Perl of version 5.10 or greater and a CRTL possessing the
-relevant capabilities, override behavior depends on the CRTL features
-C<DECC$FILENAME_UNIX_REPORT> and C<DECC$EFS_CHARSET>.  When the
-C<DECC$EFS_CHARSET> feature is enabled and the input parameters are clearly
-in Unix syntax, the output will be in Unix syntax.  If
-C<DECC$FILENAME_UNIX_REPORT> is enabled and the output syntax cannot be
-determined from the input syntax, the output will be in Unix syntax.
-
 =over 4
 
 =cut
@@ -64,23 +57,10 @@
     return $unix_rpt;
 }
 
-# Need to look up the EFS character set mode.  This may become a dynamic
-# mode in the future.
-sub _efs {
-    my $efs;
-    if ($use_feature) {
-        $efs = VMS::Feature::current("efs_charset");
-    } else {
-        my $env_efs = $ENV{'DECC$EFS_CHARSET'} || '';
-        $efs = $env_efs =~ /^[ET1]/i; 
-    }
-    return $efs;
-}
-
 =item canonpath (override)
 
-Removes redundant portions of file specifications according to the syntax
-detected.
+Removes redundant portions of file specifications and returns results
+in native syntax unless Unix filename reporting has been enabled.
 
 =cut
 
@@ -90,30 +70,24 @@
 
     return undef unless defined $path;
 
-    my $efs = $self->_efs;
+    my $unix_rpt = $self->_unix_rpt;
 
-    if ($path =~ m|/|) { # Fake Unix
+    if ($path =~ m|/|) {
       my $pathify = $path =~ m|/\Z(?!\n)|;
       $path = $self->SUPER::canonpath($path);
 
-      # Do not convert to VMS when EFS character sets are in use
-      return $path if $efs;
-
-      if ($pathify) { return vmspath($path); }
-      else          { return vmsify($path);  }
+      return $path if $unix_rpt;
+      $path = $pathify ? vmspath($path) : vmsify($path);
     }
-    else {
 
-#FIXME - efs parsing has different rules.  Characters in a VMS filespec
-#        are only delimiters if not preceded by '^';
-
-	$path =~ tr/<>/[]/;			# < and >       ==> [ and ]
-	$path =~ s/\]\[\./\.\]\[/g;		# ][.		==> .][
-	$path =~ s/\[000000\.\]\[/\[/g;		# [000000.][	==> [
-	$path =~ s/\[000000\./\[/g;		# [000000.	==> [
-	$path =~ s/\.\]\[000000\]/\]/g;		# .][000000]	==> ]
-	$path =~ s/\.\]\[/\./g;			# foo.][bar     ==> foo.bar
-	1 while ($path =~ s/([\[\.])(-+)\.(-+)([\.\]])/$1$2$3$4/);
+    $path =~ s/(?<!\^)</[/;			# < and >       ==> [ and ]
+    $path =~ s/(?<!\^)>/]/;
+    $path =~ s/(?<!\^)\]\[\./\.\]\[/g;		# ][.		==> .][
+    $path =~ s/(?<!\^)\[000000\.\]\[/\[/g;	# [000000.][	==> [
+    $path =~ s/(?<!\^)\[000000\./\[/g;		# [000000.	==> [
+    $path =~ s/(?<!\^)\.\]\[000000\]/\]/g;	# .][000000]	==> ]
+    $path =~ s/(?<!\^)\.\]\[/\./g;		# foo.][bar     ==> foo.bar
+    1 while ($path =~ s/(?<!\^)([\[\.])(-+)\.(-+)([\.\]])/$1$2$3$4/);
 						# That loop does the following
 						# with any amount of dashes:
 						# .-.-.		==> .--.
@@ -120,7 +94,7 @@
 						# [-.-.		==> [--.
 						# .-.-]		==> .--]
 						# [-.-]		==> [--]
-	1 while ($path =~ s/([\[\.])[^\]\.]+\.-(-+)([\]\.])/$1$2$3/);
+    1 while ($path =~ s/(?<!\^)([\[\.])[^\]\.]+\.-(-+)([\]\.])/$1$2$3/);
 						# That loop does the following
 						# with any amount (minimum 2)
 						# of dashes:
@@ -130,21 +104,23 @@
 						# [foo.--]	==> [-]
 						#
 						# And then, the remaining cases
-	$path =~ s/\[\.-/[-/;			# [.-		==> [-
-	$path =~ s/\.[^\]\.]+\.-\./\./g;	# .foo.-.	==> .
-	$path =~ s/\[[^\]\.]+\.-\./\[/g;	# [foo.-.	==> [
-	$path =~ s/\.[^\]\.]+\.-\]/\]/g;	# .foo.-]	==> ]
-	$path =~ s/\[[^\]\.]+\.-\]/\[000000\]/g;# [foo.-]       ==> [000000]
-	$path =~ s/\[\]// unless $path eq '[]';	# []		==>
-	return $path;
-    }
+    $path =~ s/(?<!\^)\[\.-/[-/;		# [.-		==> [-
+    $path =~ s/(?<!\^)\.[^\]\.]+\.-\./\./g;	# .foo.-.	==> .
+    $path =~ s/(?<!\^)\[[^\]\.]+\.-\./\[/g;	# [foo.-.	==> [
+    $path =~ s/(?<!\^)\.[^\]\.]+\.-\]/\]/g;	# .foo.-]	==> ]
+						# [foo.-]       ==> [000000]
+    $path =~ s/(?<!\^)\[[^\]\.]+\.-\]/\[000000\]/g;
+						# []		==>
+    $path =~ s/(?<!\^)\[\]// unless $path eq '[]';
+    return $unix_rpt ? unixify($path) : $path;
 }
 
 =item catdir (override)
 
 Concatenates a list of file specifications, and returns the result as a
-directory specification.  No check is made for "impossible"
-cases (e.g. elements other than the first being absolute filespecs).
+native directory specification unless the Unix filename reporting feature
+has been enabled.  No check is made for "impossible" cases (e.g. elements
+other than the first being absolute filespecs).
 
 =cut
 
@@ -152,171 +128,39 @@
     my $self = shift;
     my $dir = pop;
 
-    my $efs = $self->_efs;
     my $unix_rpt = $self->_unix_rpt;
 
-
     my @dirs = grep {defined() && length()} @_;
-    if ($efs) {
-        # Legacy mode removes blank entries.
-        # But that breaks existing generic perl code that
-        # uses a blank path at the beginning of the array
-        # to indicate an absolute path.
-        # So put it back if found.
-        if (@_) {
-            if ($_[0] eq '') {
-                unshift @dirs, '';
-            }
-        }
-    }
 
     my $rslt;
     if (@dirs) {
 	my $path = (@dirs == 1 ? $dirs[0] : $self->catdir(@dirs));
 	my ($spath,$sdir) = ($path,$dir);
+	$spath =~ s/\.dir\Z(?!\n)//i; $sdir =~ s/\.dir\Z(?!\n)//i; 
 
-        if ($efs) {
-            # Extended character set in use, go into DWIM mode.
+	if ($unix_rpt) {
+	    $spath = unixify($spath) unless $spath =~ m#/#;
+	    $sdir= unixify($sdir) unless $sdir =~ m#/#;
+            return $self->SUPER::catdir($spath, $sdir)
+	}
 
-            # Now we need to identify what the directory is in
-            # of the specification in order to merge them.
-            my $path_unix = 0;
-            $path_unix = 1 if ($path =~ m#/#);
-            $path_unix = 1 if ($path =~ /^\.\.?$/);
-            my $path_vms = 0;
-            $path_vms = 1 if ($path =~ m#(?<!\^)[\[<\]:]#);
-            $path_vms = 1 if ($path =~ /^--?$/);
-            my $dir_unix = 0;
-            $dir_unix = 1 if ($dir =~ m#/#);
-            $dir_unix = 1 if ($dir =~ /^\.\.?$/);
-            my $dir_vms = 0;
-            $dir_vms = 1 if ($dir =~ m#(?<!\^)[\[<\]:]#);
-            $dir_vms = 1 if ($dir =~ /^--?$/);
+	$sdir = $self->eliminate_macros($sdir) unless $sdir =~ /^[\w\-]+\Z(?!\n)/s;
+	$rslt = $self->fixpath($self->eliminate_macros($spath)."/$sdir",1);
 
-            my $unix_mode = 0;
-            if (($path_unix != $dir_unix) && ($path_vms != $dir_vms)) {
-                # Ambiguous, so if in $unix_rpt mode then assume UNIX.
-                $unix_mode = 1 if $unix_rpt;
-            } else {
-                $unix_mode = 1 if (!$path_vms && !$dir_vms && $unix_rpt);
-                $unix_mode = 1 if ($path_unix || $dir_unix);
-            }
+	# Special case for VMS absolute directory specs: these will have
+	# had device prepended during trip through Unix syntax in
+	# eliminate_macros(), since Unix syntax has no way to express
+	# "absolute from the top of this device's directory tree".
+	if ($spath =~ /^[\[<][^.\-]/s) { $rslt =~ s/^[^\[<]+//s; }
 
-            if ($unix_mode) {
-
-                # Fix up mixed syntax input as good as possible - GIGO
-                $path = unixify($path) if $path_vms;
-                $dir = unixify($dir) if $dir_vms;
-
-                $rslt = $path;
-                # Append a path delimiter
-                $rslt .= '/' unless ($rslt =~ m#/$#);
-
-                $rslt .= $dir;
-                return $self->SUPER::canonpath($rslt);
-            } else {
-
-                #with <> possible instead of [.
-                # Normalize the brackets
-                # Fixme - need to not switch when preceded by ^.
-                $path =~ s/</\[/g;
-                $path =~ s/>/\]/g;
-                $dir =~ s/</\[/g;
-                $dir =~ s/>/\]/g;
-
-                # Fix up mixed syntax input as good as possible - GIGO
-                $path = vmsify($path) if $path_unix;
-                $dir = vmsify($dir) if $dir_unix;
-
-                #Possible path values: foo: [.foo] [foo] foo, and $(foo)
-                #or starting with '-', or foo.dir
-                #If path is foo, it needs to be converted to [.foo]
-
-                # Fix up a bare path name.
-                unless ($path_vms) {
-                    $path =~ s/\.dir\Z(?!\n)//i;
-                    if (($path ne '') && ($path !~ /^-/)) {
-                        # Non blank and not prefixed with '-', add a dot
-                        $path = '[.' . $path;
-                    } else {
-                        # Just start a directory.
-                        $path = '[' . $path;
-                    }
-                } else {
-                    $path =~ s/\]$//;
-                }
-
-                #Possible dir values: [.dir] dir and $(foo)
-
-                # No punctuation may have a trailing .dir
-                unless ($dir_vms) {
-                    $dir =~ s/\.dir\Z(?!\n)//i;
-                } else {
-
-                    #strip off the brackets
-                    $dir =~ s/^\[//;
-                    $dir =~ s/\]$//;
-                }
-
-                #strip off the leading dot if present.
-                $dir =~ s/^\.//;
-
-                # Now put the specifications together.
-                if ($dir ne '') {
-                    # Add a separator unless this is an absolute path
-                    $path .= '.' if ($path ne '[');
-                    $rslt = $path . $dir . ']';
-                } else {
-                    $rslt = $path . ']';
-                }
-            }
-
-	} else {
-	    # Traditional ODS-2 mode.
-	    $spath =~ s/\.dir\Z(?!\n)//i; $sdir =~ s/\.dir\Z(?!\n)//i; 
-
-	    $sdir = $self->eliminate_macros($sdir)
-		unless $sdir =~ /^[\w\-]+\Z(?!\n)/s;
-	    $rslt = $self->fixpath($self->eliminate_macros($spath)."/$sdir",1);
-
-	    # Special case for VMS absolute directory specs: these will have
-	    # had device prepended during trip through Unix syntax in
-	    # eliminate_macros(), since Unix syntax has no way to express
-	    # "absolute from the top of this device's directory tree".
-	    if ($spath =~ /^[\[<][^.\-]/s) { $rslt =~ s/^[^\[<]+//s; }
-	} 
     } else {
-	# Single directory, just make sure it is in directory format
-	# Return an empty string on null input, and pass through macros.
+	# Single directory. Return an empty string on null input; otherwise
+	# just return a canonical path.
 
-	if    (not defined $dir or not length $dir) { $rslt = ''; }
-	elsif ($dir =~ /^\$\([^\)]+\)\Z(?!\n)/s) { 
-	    $rslt = $dir;
+	if    (not defined $dir or not length $dir) {
+	    $rslt = '';
 	} else {
-            my $unix_mode = 0;
-
-            if ($efs) {
-                my $dir_unix = 0;
-                $dir_unix = 1 if ($dir =~ m#/#);
-                $dir_unix = 1 if ($dir =~ /^\.\.?$/);
-                my $dir_vms = 0;
-                $dir_vms = 1 if ($dir =~ m#(?<!\^)[\[<\]:]#);
-                $dir_vms = 1 if ($dir =~ /^--?$/);
-
-                if ($dir_vms == $dir_unix) {
-                    # Ambiguous, so if in $unix_rpt mode then assume UNIX.
-                    $unix_mode = 1 if $unix_rpt;
-                } else {
-                    $unix_mode = 1 if $dir_unix;
-                }
-            }
-
-            if ($unix_mode) {
-                return $dir;
-            } else {
-                # For VMS, force it to be in directory format
-	 	$rslt = vmspath($dir);
-	    }
+	    $rslt = $unix_rpt ? $dir : vmspath($dir);
 	}
     }
     return $self->canonpath($rslt);
@@ -335,137 +179,32 @@
     my $file = $self->canonpath($tfile);
     my @files = grep {defined() && length()} @_;
 
-    my $efs = $self->_efs;
     my $unix_rpt = $self->_unix_rpt;
 
-    # Assume VMS mode
-    my $unix_mode = 0;
-    my $file_unix = 0;
-    my $file_vms = 0;
-    if ($efs) {
-
-        # Now we need to identify format the file is in
-        # of the specification in order to merge them.
-        $file_unix = 1 if ($tfile =~ m#/#);
-        $file_unix = 1 if ($tfile =~ /^\.\.?$/);
-        $file_vms = 1 if ($tfile =~ m#(?<!\^)[\[<\]:]#);
-        $file_vms = 1 if ($tfile =~ /^--?$/);
-
-        # We may know for sure what the format is.
-        if (($file_unix != $file_vms)) {
-            $unix_mode = 1 if ($file_unix && $unix_rpt);
-        }
-    }
-
     my $rslt;
     if (@files) {
-	# concatenate the directories.
-	my $path;
-        if (@files == 1) {
-           $path = $files[0];
-        } else {
-            if ($file_vms) {
-                # We need to make sure this is in VMS mode to avoid doing
-                # both a vmsify and unixfy on the same path, as that may
-                # lose significant data.
-                my $i = @files - 1;
-                my $tdir = $files[$i];
-                my $tdir_vms = 0;
-                my $tdir_unix = 0;
-                $tdir_vms = 1 if ($tdir =~ m#(?<!\^)[\[<\]:]#);
-                $tdir_unix = 1 if ($tdir =~ m#/#);
-                $tdir_unix = 1 if ($tdir =~ /^\.\.?$/);
-
-                if (!$tdir_vms) {
-                    if ($tdir_unix) { 
-                        $tdir = vmspath($tdir);
-                    } else {
-                        $tdir =~ s/\.dir\Z(?!\n)//i;
-                        $tdir = '[.' . $tdir . ']';
-                    }
-                    $files[$i] = $tdir;
-                }
-            }
-            $path = $self->catdir(@files);
-        }
+	my $path = (@files == 1 ? $files[0] : $self->catdir(@files));
 	my $spath = $path;
 
-        # Some thing building a VMS path in pieces may try to pass a
+        # Something building a VMS path in pieces may try to pass a
         # directory name in filename format, so normalize it.
 	$spath =~ s/\.dir\Z(?!\n)//i;
 
-        # if the spath ends with a directory delimiter and the file is bare,
-        # then just concat them.
+        # If the spath ends with a directory delimiter and the file is bare,
+        # then just concatenate them.
 	if ($spath =~ /^(?<!\^)[^\)\]\/:>]+\)\Z(?!\n)/s && basename($file) eq $file) {
 	    $rslt = "$spath$file";
 	} else {
-            if ($efs) {
-
-                # Now we need to identify what the directory is in
-                # of the specification in order to merge them.
-                my $spath_unix = 0;
-                $spath_unix = 1 if ($spath =~ m#/#);
-                $spath_unix = 1 if ($spath =~ /^\.\.?$/);
-                my $spath_vms = 0;
-                $spath_vms = 1 if ($spath =~ m#(?<!\^)[\[<\]:]#);
-                $spath_vms = 1 if ($spath =~ /^--?$/);
-
-                # Assume VMS mode
-                if (($spath_unix == $spath_vms) &&
-                    ($file_unix == $file_vms)) {
-                     # Ambiguous, so if in $unix_rpt mode then assume UNIX.
-                     $unix_mode = 1 if $unix_rpt;
-                } else {
-                     $unix_mode = 1
-                         if (($spath_unix || $file_unix) && $unix_rpt);
-                }
-
-                if (!$unix_mode) {
-                    if ($spath_vms) {
-                        $spath = '[' . $spath . ']' if $spath =~ /^-/;
-                        $rslt = vmspath($spath);
-                    } else {
-                        $rslt = '[.' . $spath . ']';
-                    }
-                    $file = vmsify($file) if ($file_unix);
-                } else {
-                    $spath = unixify($spath) if ($spath_vms);
-                    $rslt = $spath;
-                    $file = unixify($file) if ($file_vms);
-
-                    # Unix merge may need a directory delimiter.
-                    # A null path indicates root on Unix.
-                    $rslt .= '/' unless ($rslt =~ m#/$#);
-                }
-
-                $rslt .= $file;
-                $rslt =~ s/\]\[//;
-
-	    } else {
-		# Traditional VMS Perl mode expects that this is done.
-		# Note for future maintainers:
-		# This is left here for compatibility with perl scripts
-		# that have come to expect this behavior, even though
-		# usually the Perl scripts ported to VMS have to be
-		# patched because of it changing Unix syntax file
-		# to VMS format.
-
-		$rslt = $self->eliminate_macros($spath);
-
-
-	        $rslt = vmsify($rslt.((defined $rslt) &&
-		    ($rslt ne '') ? '/' : '').unixify($file));
-	    }
+           $rslt = $self->eliminate_macros($spath);
+           $rslt .= (defined($rslt) && length($rslt) ? '/' : '') . unixify($file);
+           $rslt = vmsify($rslt) unless $unix_rpt;
 	}
     }
     else {
         # Only passed a single file?
-        my $xfile = $file;
+        my $xfile = (defined($file) && length($file)) ? $file : '';
 
-        # Traditional VMS perl expects this conversion.
-        $xfile = vmsify($file) unless ($efs);
-
-        $rslt = (defined($file) && length($file)) ? $xfile : '';
+        $rslt = $unix_rpt ? $file : vmsify($file);
     }
     return $self->canonpath($rslt) unless $unix_rpt;
 
@@ -602,7 +341,8 @@
 =item splitpath (override)
 
     ($volume,$directories,$file) = File::Spec->splitpath( $path );
-    ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+    ($volume,$directories,$file) = File::Spec->splitpath( $path,
+                                                          $no_file );
 
 Passing a true value for C<$no_file> indicates that the path being
 split only contains directory components, even on systems where you
@@ -614,17 +354,7 @@
 sub splitpath {
     my($self,$path, $nofile) = @_;
     my($dev,$dir,$file)      = ('','','');
-    my $efs = $self->_efs;
     my $vmsify_path = vmsify($path);
-    if ($efs) {
-        my $path_vms = 0;
-        $path_vms = 1 if ($path =~ m#(?<!\^)[\[<\]:]#);
-        $path_vms = 1 if ($path =~ /^--?$/);
-        if (!$path_vms) {
-            return $self->SUPER::splitpath($path, $nofile);
-        }
-        $vmsify_path = $path;
-    }
 
     if ( $nofile ) {
         #vmsify('d1/d2/d3') returns '[.d1.d2]d3'
@@ -653,25 +383,13 @@
     my @dirs = ();
     return @dirs if ( (!defined $dirspec) || ('' eq $dirspec) );
 
-    my $efs = $self->_efs;
-
-    my $dir_unix = 0;
-    $dir_unix = 1 if ($dirspec =~ m#/#);
-    $dir_unix = 1 if ($dirspec =~ /^\.\.?$/);
-
-    # Unix filespecs in EFS mode handled by Unix routines.
-    if ($efs && $dir_unix) {
-        return $self->SUPER::splitdir($dirspec);
-    }
-
-    # FIX ME, only split for VMS delimiters not prefixed with '^'.
-
-    $dirspec =~ tr/<>/[]/;			# < and >	==> [ and ]
-    $dirspec =~ s/\]\[\./\.\]\[/g;		# ][.		==> .][
-    $dirspec =~ s/\[000000\.\]\[/\[/g;		# [000000.][	==> [
-    $dirspec =~ s/\[000000\./\[/g;		# [000000.	==> [
-    $dirspec =~ s/\.\]\[000000\]/\]/g;		# .][000000]	==> ]
-    $dirspec =~ s/\.\]\[/\./g;			# foo.][bar	==> foo.bar
+    $dirspec =~ s/(?<!\^)</[/;                  # < and >	==> [ and ]
+    $dirspec =~ s/(?<!\^)>/]/;
+    $dirspec =~ s/(?<!\^)\]\[\./\.\]\[/g;	# ][.		==> .][
+    $dirspec =~ s/(?<!\^)\[000000\.\]\[/\[/g;	# [000000.][	==> [
+    $dirspec =~ s/(?<!\^)\[000000\./\[/g;	# [000000.	==> [
+    $dirspec =~ s/(?<!\^)\.\]\[000000\]/\]/g;	# .][000000]	==> ]
+    $dirspec =~ s/(?<!\^)\.\]\[/\./g;		# foo.][bar	==> foo.bar
     while ($dirspec =~ s/(^|[\[\<\.])\-(\-+)($|[\]\>\.])/$1-.$2$3/g) {}
 						# That loop does the following
 						# with any amount of dashes:
@@ -696,48 +414,16 @@
 sub catpath {
     my($self,$dev,$dir,$file) = @_;
     
-    my $efs = $self->_efs;
-    my $unix_rpt = $self->_unix_rpt;
-
-    my $unix_mode = 0;
-    my $dir_unix = 0;
-    $dir_unix = 1 if ($dir =~ m#/#);
-    $dir_unix = 1 if ($dir =~ /^\.\.?$/);
-    my $dir_vms = 0;
-    $dir_vms = 1 if ($dir =~ m#(?<!\^)[\[<\]:]#);
-    $dir_vms = 1 if ($dir =~ /^--?$/);
-
-    if ($efs && (length($dev) == 0)) {
-        if ($dir_unix == $dir_vms) {
-            $unix_mode = $unix_rpt;
-        } else {
-            $unix_mode = $dir_unix;
-        }
-    } 
-
     # We look for a volume in $dev, then in $dir, but not both
-    # but only if using VMS syntax.
-    if (!$unix_mode) {
-        $dir = vmspath($dir) if $dir_unix;
-        my ($dir_volume, $dir_dir, $dir_file) = $self->splitpath($dir);
-        $dev = $dir_volume unless length $dev;
-        $dir = length $dir_file ? $self->catfile($dir_dir, $dir_file) :
-                                  $dir_dir;
-    }
-    if ($dev =~ m|^/+([^/]+)|) { $dev = "$1:"; }
+    my ($dir_volume, $dir_dir, $dir_file) = $self->splitpath($dir);
+    $dev = $dir_volume unless length $dev;
+    $dir = length $dir_file ? $self->catfile($dir_dir, $dir_file) : $dir_dir;
+    
+    if ($dev =~ m|^(?<!\^)/+([^/]+)|) { $dev = "$1:"; }
     else { $dev .= ':' unless $dev eq '' or $dev =~ /:\Z(?!\n)/; }
     if (length($dev) or length($dir)) {
-      if ($efs) {
-          if ($unix_mode) {
-              $dir .= '/' unless ($dir =~ m#/$#);
-          } else {
-              $dir = vmspath($dir) if (($dir =~ m#/#) || ($dir =~ /^\.\.?$/));
-              $dir = "[$dir]" unless $dir =~ /^[\[<]/;
-          }
-      } else {
-          $dir = "[$dir]" unless $dir =~ /[\[<\/]/;
-          $dir = vmspath($dir);
-      }
+        $dir = "[$dir]" unless $dir =~ /(?<!\^)[\[<\/]/;
+        $dir = vmspath($dir);
     }
     $dir = '' if length($dev) && ($dir eq '[]' || $dir eq '<>');
     "$dev$dir$file";
@@ -745,93 +431,18 @@
 
 =item abs2rel (override)
 
-Attempt to convert a file specification to a relative specification.
-On a system with volumes, like VMS, this may not be possible.
+Attempt to convert an absolute file specification to a relative specification.
 
 =cut
 
 sub abs2rel {
     my $self = shift;
+    return vmspath(File::Spec::Unix::abs2rel( $self, @_ ))
+        if grep m{/}, @_;
+
     my($path,$base) = @_;
+    $base = $self->_cwd() unless defined $base and length $base;
 
-    my $efs = $self->_efs;
-    my $unix_rpt = $self->_unix_rpt;
-
-    # We need to identify what the directory is in
-    # of the specification in order to process them
-    my $path_unix = 0;
-    $path_unix = 1 if ($path =~ m#/#);
-    $path_unix = 1 if ($path =~ /^\.\.?$/);
-    my $path_vms = 0;
-    $path_vms = 1 if ($path =~ m#(?<!\^)[\[<\]:]#);
-    $path_vms = 1 if ($path =~ /^--?$/);
-
-    my $unix_mode = 0;
-    if ($path_vms == $path_unix) {
-        $unix_mode = $unix_rpt;
-    } else {
-        $unix_mode = $path_unix;
-    }
-
-    my $base_unix = 0;
-    my $base_vms = 0;
-
-    if (defined $base) {
-        $base_unix = 1 if ($base =~ m#/#);
-        $base_unix = 1 if ($base =~ /^\.\.?$/);
-        $base_vms = 1 if ($base =~ m#(?<!\^)[\[<\]:]#);
-        $base_vms = 1 if ($base =~ /^--?$/);
-
-        if ($path_vms == $path_unix) {
-            if ($base_vms == $base_unix) {
-                $unix_mode = $unix_rpt;
-            } else {
-                $unix_mode = $base_unix;
-            }
-        } else {
-            $unix_mode = 0 if $base_vms;
-        }
-    }
-
-    if ($efs) {
-        if ($unix_mode) {
-            # We are UNIX mode.
-            $base = unixpath($base) if $base_vms;
-            $base = unixify($path) if $path_vms;
-
-            # Here VMS is different, and in order to do this right
-            # we have to take the realpath for both the path and the base
-            # so that we can remove the common components.
-
-            if ($path =~ m#^/#) {
-                if (defined $base) {
-
-                    # For the shorterm, if the starting directories are
-                    # common, remove them.
-                    my $bq = qq($base);
-                    $bq =~ s/\$/\\\$/;
-                    $path =~ s/^$bq//i;
-                }
-                return $path;
-            }
-
-            return File::Spec::Unix::abs2rel( $self, $path, $base );
-
-        } else {
-            $base = vmspath($base) if $base_unix;
-            $path = vmsify($path) if $path_unix;
-        }
-    }
-
-    unless (defined $base and length $base) {
-        $base = $self->_cwd();
-        if ($efs) {
-            $base_unix = 1 if ($base =~ m#/#);
-            $base_unix = 1 if ($base =~ /^\.\.?$/);
-            $base = vmspath($base) if $base_unix;
-        }
-    }
-
     for ($path, $base) { $_ = $self->canonpath($_) }
 
     # Are we even starting $path on the same (node::)device as $base?  Note that
@@ -889,58 +500,13 @@
     my $self = shift ;
     my ($path,$base ) = @_;
     return undef unless defined $path;
-
-    my $efs = $self->_efs;
-    my $unix_rpt = $self->_unix_rpt;
-
-    # We need to identify what the directory is in
-    # of the specification in order to process them
-    my $path_unix = 0;
-    $path_unix = 1 if ($path =~ m#/#);
-    $path_unix = 1 if ($path =~ /^\.\.?$/);
-    my $path_vms = 0;
-    $path_vms = 1 if ($path =~ m#(?<!\^)[\[<\]:]#);
-    $path_vms = 1 if ($path =~ /^--?$/);
-
-    my $unix_mode = 0;
-    if ($path_vms == $path_unix) {
-        $unix_mode = $unix_rpt;
-    } else {
-        $unix_mode = $path_unix;
+    if ($path =~ m/\//) {
+       $path = ( -d $path || $path =~ m/\/\z/  # educated guessing about
+                  ? vmspath($path)             # whether it's a directory
+                  : vmsify($path) );
     }
+    $base = vmspath($base) if defined $base && $base =~ m/\//;
 
-    my $base_unix = 0;
-    my $base_vms = 0;
-
-    if (defined $base) {
-        $base_unix = 1 if ($base =~ m#/#);
-        $base_unix = 1 if ($base =~ /^\.\.?$/);
-        $base_vms = 1 if ($base =~ m#(?<!\^)[\[<\]:]#);
-        $base_vms = 1 if ($base =~ /^--?$/);
-
-        # If we could not determine the path mode, see if we can find out
-        # from the base.
-        if ($path_vms == $path_unix) {
-            if ($base_vms != $base_unix) {
-                $unix_mode = $base_unix;
-            }
-        }
-    }
-
-    if (!$efs) {
-        # Legacy behavior, convert to VMS syntax.
-        $unix_mode = 0;
-        if (defined $base) {
-            $base = vmspath($base) if $base =~ m/\//;
-        }
-
-        if ($path =~ m/\//) {
-	    $path = ( -d $path || $path =~ m/\/\z/  # educated guessing about
-		       ? vmspath($path)             # whether it's a directory
-		       : vmsify($path) );
-        }
-   }
-
     # Clean up and split up $path
     if ( ! $self->file_name_is_absolute( $path ) ) {
         # Figure out the effective $base and clean it up.
@@ -954,20 +520,6 @@
             $base = $self->canonpath( $base ) ;
         }
 
-        if ($efs) {
-            # base may have changed, so need to look up format again.
-            if ($unix_mode) {
-                $base_vms = 1 if ($base =~ m#(?<!\^)[\[<\]:]#);
-                $base_vms = 1 if ($base =~ /^--?$/);
-                $base = unixpath($base) if $base_vms;
-                $base .= '/' unless ($base =~ m#/$#);
-            } else {
-                $base_unix = 1 if ($base =~ m#/#);
-                $base_unix = 1 if ($base =~ /^\.\.?$/);
-                $base = vmspath($base) if $base_unix; 
-            }
-        }
-
         # Split up paths
         my ( $path_directories, $path_file ) =
             ($self->splitpath( $path ))[1,2] ;
@@ -978,24 +530,13 @@
         $path_directories = '' if $path_directories eq '[]' ||
                                   $path_directories eq '<>';
         my $sep = '' ;
+        $sep = '.'
+            if ( $base_directories =~ m{[^.\]>]\Z(?!\n)} &&
+                 $path_directories =~ m{^[^.\[<]}s
+            ) ;
+        $base_directories = "$base_directories$sep$path_directories";
+        $base_directories =~ s{\.?[\]>][\[<]\.?}{.};
 
-        if ($efs) {
-            # Merge the paths assuming that the base is absolute.
-            $base_directories = $self->catdir('',
-                                              $base_directories,
-                                              $path_directories);
-        } else {
-            # Legacy behavior assumes VMS only paths
-            $sep = '.'
-                if ( $base_directories =~ m{[^.\]>]\Z(?!\n)} &&
-                     $path_directories =~ m{^[^.\[<]}s
-                ) ;
-            $base_directories = "$base_directories$sep$path_directories";
-            $base_directories =~ s{\.?[\]>][\[<]\.?}{.};
-        }
-
-        $path_file = '' if ($path_file eq '.') && $unix_mode;
-
         $path = $self->catpath( $base_volume, $base_directories, $path_file );
    }
 
@@ -1014,10 +555,6 @@
 #
 # Update:  MakeMaker 6.48 is still using these routines on VMS.
 # so they need to be kept up to date with ExtUtils::MM_VMS.
-#
-# The traditional VMS mode using ODS-2 disks depends on these routines
-# being here.  These routines should not be called in when the
-# C<DECC$EFS_CHARSET> or C<DECC$FILENAME_UNIX_REPORT> modes are enabled.
 
 sub eliminate_macros {
     my($self,$path) = @_;


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec/VMS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec/Win32.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec/Win32.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec/Win32.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,8 +5,8 @@
 use vars qw(@ISA $VERSION);
 require File::Spec::Unix;
 
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 @ISA = qw(File::Spec::Unix);
 
@@ -189,7 +189,8 @@
 =item splitpath
 
     ($volume,$directories,$file) = File::Spec->splitpath( $path );
-    ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+    ($volume,$directories,$file) = File::Spec->splitpath( $path,
+                                                          $no_file );
 
 Splits a path into volume, directory, and filename portions. Assumes that 
 the last file is a path unless the path ends in '\\', '\\.', '\\..'
@@ -231,7 +232,7 @@
 
 =item splitdir
 
-The opposite of L<catdir()|File::Spec/catdir()>.
+The opposite of L<catdir()|File::Spec/catdir>.
 
     @dirs = File::Spec->splitdir( $directories );
 


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec/Win32.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/lib/File/Spec.pm
===================================================================
--- vendor/perl/dist/dist/Cwd/lib/File/Spec.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/lib/File/Spec.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,8 +3,8 @@
 use strict;
 use vars qw(@ISA $VERSION);
 
-$VERSION = '3.33';
-$VERSION = eval $VERSION;
+$VERSION = '3.40';
+$VERSION =~ tr/_//;
 
 my %module = (MacOS   => 'Mac',
 	      MSWin32 => 'Win32',
@@ -199,8 +199,10 @@
 Splits a path in to volume, directory, and filename portions. On systems
 with no concept of volume, returns '' for volume. 
 
-    ($volume,$directories,$file) = File::Spec->splitpath( $path );
-    ($volume,$directories,$file) = File::Spec->splitpath( $path, $no_file );
+    ($volume,$directories,$file) =
+                       File::Spec->splitpath( $path );
+    ($volume,$directories,$file) =
+                       File::Spec->splitpath( $path, $no_file );
 
 For systems with no syntax differentiating filenames from directories, 
 assumes that the last file is a path unless C<$no_file> is true or a
@@ -329,7 +331,7 @@
 
 =head1 COPYRIGHT
 
-Copyright (c) 2004-2010 by the Perl 5 Porters.  All rights reserved.
+Copyright (c) 2004-2013 by the Perl 5 Porters.  All rights reserved.
 
 This program is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/dist/Cwd/lib/File/Spec.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Cwd/t/Functions.t
===================================================================
--- vendor/perl/dist/dist/Cwd/t/Functions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/t/Functions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Cwd/t/Functions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/t/Spec.t
===================================================================
--- vendor/perl/dist/dist/Cwd/t/Spec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/t/Spec.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,28 +7,24 @@
 
 require Cwd;
 
-eval {
-   require VMS::Filespec ;
-} ;
-
 my $vms_unix_rpt;
-my $vms_efs;
 
 if ($^O eq 'VMS') {
     if (eval 'require VMS::Feature') {
         $vms_unix_rpt = VMS::Feature::current("filename_unix_report");
-        $vms_efs = VMS::Feature::current("efs_charset");
     } else {
         my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
-        my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || '';
         $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i; 
-        $vms_efs = $efs_charset =~ /^[ET1]/i; 
     }
 }
 
 
-my $skip_exception = "Install VMS::Filespec (from vms/ext)" ;
+my $skip_exception = "Needs VMS::Filespec (and thus VMS)" ;
 
+eval {
+   require VMS::Filespec ;
+} ;
+
 if ( $@ ) {
    # Not pretty, but it allows testing of things not implemented solely
    # on VMS.  It might be better to change File::Spec::VMS to do this,
@@ -124,6 +120,10 @@
 [  "Unix->abs2rel('/t1/t2/t3', '/t1')",               't2/t3'              ],
 [  "Unix->abs2rel('t1/t2/t3', 't1')",                 't2/t3'              ],
 [  "Unix->abs2rel('t1/t2/t3', 't4')",                 '../t1/t2/t3'        ],
+ [  "Unix->abs2rel('.', '.')",                         '.'                  ],
+ [  "Unix->abs2rel('/', '/')",                         '.'                  ],
+ [  "Unix->abs2rel('../t1', 't2/t3')",                 '../../../t1'        ],
+ [  "Unix->abs2rel('t1', 't2/../t3')",                 '../t1'              ],
 
 [ "Unix->rel2abs('t4','/t1/t2/t3')",             '/t1/t2/t3/t4'    ],
 [ "Unix->rel2abs('t4/t5','/t1/t2/t3')",          '/t1/t2/t3/t4/t5' ],
@@ -289,9 +289,10 @@
 
 [ "VMS->case_tolerant()",         '1'  ],
 
-[ "VMS->catfile('a','b','c')", $vms_unix_rpt ? 'a/b/c' : '[.a.b]c'  ],
-[ "VMS->catfile('a','b','[]c')",       '[.a.b]c'  ],
-[ "VMS->catfile('[.a]','b','c')",       '[.a.b]c'  ],
+[ "VMS->catfile('a','b','c')",    $vms_unix_rpt ? 'a/b/c' : '[.a.b]c'  ],
+[ "VMS->catfile('a','b','[]c')",  $vms_unix_rpt ? 'a/b/c' : '[.a.b]c'  ],
+[ "VMS->catfile('[.a]','b','c')", $vms_unix_rpt ? 'a/b/c' : '[.a.b]c'  ],
+[ "VMS->catfile('a/b/','c')",     $vms_unix_rpt ? 'a/b/c' : '[.a.b]c'  ],
 [ "VMS->catfile('c')",                 'c' ],
 [ "VMS->catfile('[]c')",               'c' ],
 
@@ -309,9 +310,9 @@
 [ "VMS->splitpath('[.d1.d2.d3]')",                                ',[.d1.d2.d3],'                              ],
 [ "VMS->splitpath('[d1.d2.d3]file')",                             ',[d1.d2.d3],file'                           ],
 [ "VMS->splitpath('d1/d2/d3/file')",
-       $vms_efs ? ',d1/d2/d3/,file' : ',[.d1.d2.d3],file' ],
+       $vms_unix_rpt ? ',d1/d2/d3/,file' : ',[.d1.d2.d3],file' ],
 [ "VMS->splitpath('/d1/d2/d3/file')",
-       $vms_efs ? ',/d1/d2/d3/,file' : 'd1:,[d2.d3],file' ],
+       $vms_unix_rpt ? ',/d1/d2/d3/,file' : 'd1:,[d2.d3],file' ],
 [ "VMS->splitpath('[.d1.d2.d3]file')",                            ',[.d1.d2.d3],file'                          ],
 [ "VMS->splitpath('node::volume:[d1.d2.d3]')",                    'node::volume:,[d1.d2.d3],'                  ],
 [ "VMS->splitpath('node::volume:[d1.d2.d3]file')",                'node::volume:,[d1.d2.d3],file'              ],
@@ -331,16 +332,16 @@
 [ "VMS->splitpath('[0]0')",                                       ',[0],0'                                     ],
 [ "VMS->splitpath('[0.0.0]0')",                                   ',[0.0.0],0'                                 ],
 [ "VMS->splitpath('[.0.0.0]0')",                                  ',[.0.0.0],0'                                ],
-[ "VMS->splitpath('0/0')",    $vms_efs ? ',0/,0' : ',[.0],0'  ],
-[ "VMS->splitpath('0/0/0')",  $vms_efs ? ',0/0/,0' : ',[.0.0],0'  ],
-[ "VMS->splitpath('/0/0')",   $vms_efs ? ',/0/,0' : '0:,[000000],0'  ],
-[ "VMS->splitpath('/0/0/0')", $vms_efs ? ',/0/0/,0' : '0:,[0],0'  ],
+[ "VMS->splitpath('0/0')",    $vms_unix_rpt ? ',0/,0' : ',[.0],0'  ],
+[ "VMS->splitpath('0/0/0')",  $vms_unix_rpt ? ',0/0/,0' : ',[.0.0],0'  ],
+[ "VMS->splitpath('/0/0')",   $vms_unix_rpt ? ',/0/,0' : '0:,[000000],0'  ],
+[ "VMS->splitpath('/0/0/0')", $vms_unix_rpt ? ',/0/0/,0' : '0:,[0],0'  ],
 [ "VMS->splitpath('d1',1)",                                       ',d1,'                                       ],
 # $no_file tests
 [ "VMS->splitpath('[d1.d2.d3]',1)",                               ',[d1.d2.d3],'                               ],
 [ "VMS->splitpath('[.d1.d2.d3]',1)",                              ',[.d1.d2.d3],'                              ],
-[ "VMS->splitpath('d1/d2/d3',1)",  $vms_efs ? ',d1/d2/d3,' : ',[.d1.d2.d3],' ],
-[ "VMS->splitpath('/d1/d2/d3',1)", $vms_efs ? ',/d1/d2/d3,' : 'd1:,[d2.d3],' ],
+[ "VMS->splitpath('d1/d2/d3',1)",  $vms_unix_rpt ? ',d1/d2/d3,' : ',[.d1.d2.d3],' ],
+[ "VMS->splitpath('/d1/d2/d3',1)", $vms_unix_rpt ? ',/d1/d2/d3,' : 'd1:,[d2.d3],' ],
 [ "VMS->splitpath('node::volume:[d1.d2.d3]',1)",                  'node::volume:,[d1.d2.d3],'                  ],
 [ "VMS->splitpath('node\"access_spec\"::volume:[d1.d2.d3]',1)",   'node"access_spec"::volume:,[d1.d2.d3],'     ],
 [ "VMS->splitpath('[]',1)",                                       ',[],'                                       ],
@@ -351,10 +352,10 @@
 [ "VMS->splitpath('[.0]',1)",                                     ',[.0],'                                     ],
 [ "VMS->splitpath('[0.0.0]',1)",                                  ',[0.0.0],'                                  ],
 [ "VMS->splitpath('[.0.0.0]',1)",                                 ',[.0.0.0],'                                 ],
-[ "VMS->splitpath('0/0',1)",    $vms_efs ? ',0/0,' : ',[.0.0],' ],
-[ "VMS->splitpath('0/0/0',1)",  $vms_efs ? ',0/0/0,' : ',[.0.0.0],' ],
-[ "VMS->splitpath('/0/0',1)",   $vms_efs ? ',/0/0,' : '0:,[000000.0],' ],
-[ "VMS->splitpath('/0/0/0',1)", $vms_efs ? ',/0/0/0,' : '0:,[0.0],' ],
+[ "VMS->splitpath('0/0',1)",    $vms_unix_rpt ? ',0/0,' : ',[.0.0],' ],
+[ "VMS->splitpath('0/0/0',1)",  $vms_unix_rpt ? ',0/0/0,' : ',[.0.0.0],' ],
+[ "VMS->splitpath('/0/0',1)",   $vms_unix_rpt ? ',/0/0,' : '0:,[000000.0],' ],
+[ "VMS->splitpath('/0/0/0',1)", $vms_unix_rpt ? ',/0/0/0,' : '0:,[0.0],' ],
 
 [ "VMS->catpath('','','file')",                                       'file'                                     ],
 [ "VMS->catpath('','[d1.d2.d3]','')",                                 '[d1.d2.d3]'                               ],
@@ -362,7 +363,7 @@
 [ "VMS->catpath('','[d1.d2.d3]','file')",                             '[d1.d2.d3]file'                           ],
 [ "VMS->catpath('','[.d1.d2.d3]','file')",                            '[.d1.d2.d3]file'                          ],
 [ "VMS->catpath('','d1/d2/d3','file')",
-                             $vms_efs ? 'd1/d2/d3/file' : '[.d1.d2.d3]file' ],
+                             $vms_unix_rpt ? 'd1/d2/d3/file' : '[.d1.d2.d3]file' ],
 [ "VMS->catpath('v','d1/d2/d3','file')",                              'v:[.d1.d2.d3]file' ],
 [ "VMS->catpath('v','','file')",                                      'v:file' ],
 [ "VMS->catpath('v','w:[d1.d2.d3]','file')",                          'v:[d1.d2.d3]file'                         ],
@@ -371,37 +372,47 @@
 [ "VMS->catpath('node\"access_spec\"::volume:','[d1.d2.d3]','')",     'node"access_spec"::volume:[d1.d2.d3]'     ],
 [ "VMS->catpath('node\"access_spec\"::volume:','[d1.d2.d3]','file')", 'node"access_spec"::volume:[d1.d2.d3]file' ],
 
-[ "VMS->canonpath('')",                                    ''                        ],
-[ "VMS->canonpath('volume:[d1]file')",                     'volume:[d1]file'         ],
-[ "VMS->canonpath('volume:[d1.-.d2.][d3.d4.-]')",              'volume:[d2.d3]'          ],
-[ "VMS->canonpath('volume:[000000.d1]d2.dir;1')",                 'volume:[d1]d2.dir;1'   ],
-[ "VMS->canonpath('volume:[d1.d2.d3]file.txt')", 	'volume:[d1.d2.d3]file.txt' ],
-[ "VMS->canonpath('[d1.d2.d3]file.txt')", 		'[d1.d2.d3]file.txt' ],
-[ "VMS->canonpath('volume:[-.d1.d2.d3]file.txt')", 	'volume:[-.d1.d2.d3]file.txt' ],
-[ "VMS->canonpath('[-.d1.d2.d3]file.txt')", 		'[-.d1.d2.d3]file.txt' ],
-[ "VMS->canonpath('volume:[--.d1.d2.d3]file.txt')", 	'volume:[--.d1.d2.d3]file.txt' ],
-[ "VMS->canonpath('[--.d1.d2.d3]file.txt')", 		'[--.d1.d2.d3]file.txt' ],
-[ "VMS->canonpath('volume:[d1.-.d2.d3]file.txt')", 	'volume:[d2.d3]file.txt' ],
-[ "VMS->canonpath('[d1.-.d2.d3]file.txt')", 		'[d2.d3]file.txt' ],
-[ "VMS->canonpath('volume:[d1.--.d2.d3]file.txt')", 	'volume:[-.d2.d3]file.txt' ],
-[ "VMS->canonpath('[d1.--.d2.d3]file.txt')", 		'[-.d2.d3]file.txt' ],
-[ "VMS->canonpath('volume:[d1.d2.-.d3]file.txt')", 	'volume:[d1.d3]file.txt' ],
-[ "VMS->canonpath('[d1.d2.-.d3]file.txt')", 		'[d1.d3]file.txt' ],
-[ "VMS->canonpath('volume:[d1.d2.--.d3]file.txt')", 	'volume:[d3]file.txt' ],
-[ "VMS->canonpath('[d1.d2.--.d3]file.txt')", 		'[d3]file.txt' ],
-[ "VMS->canonpath('volume:[d1.d2.d3.-]file.txt')", 	'volume:[d1.d2]file.txt' ],
-[ "VMS->canonpath('[d1.d2.d3.-]file.txt')", 		'[d1.d2]file.txt' ],
-[ "VMS->canonpath('volume:[d1.d2.d3.--]file.txt')", 	'volume:[d1]file.txt' ],
-[ "VMS->canonpath('[d1.d2.d3.--]file.txt')", 		'[d1]file.txt' ],
-[ "VMS->canonpath('volume:[d1.000000.][000000.][d3.--]file.txt')", 	'volume:[d1]file.txt' ],
-[ "VMS->canonpath('[d1.000000.][000000.][d3.--]file.txt')", 		'[d1]file.txt' ],
-[ "VMS->canonpath('volume:[d1.000000.][000000.][d2.000000]file.txt')",	'volume:[d1.000000.d2.000000]file.txt' ],
-[ "VMS->canonpath('[d1.000000.][000000.][d2.000000]file.txt')", 	'[d1.000000.d2.000000]file.txt' ],
-[ "VMS->canonpath('volume:[d1.000000.][000000.][d3.--.000000]file.txt')",'volume:[d1.000000]file.txt' ],
-[ "VMS->canonpath('[d1.000000.][000000.][d3.--.000000]file.txt')", 	'[d1.000000]file.txt' ],
-[ "VMS->canonpath('volume:[d1.000000.][000000.][-.-.000000]file.txt')",	'volume:[000000]file.txt' ],
-[ "VMS->canonpath('[d1.000000.][000000.][--.-.000000]file.txt')", 	'[-.000000]file.txt' ],
-[ "VMS->canonpath('[d1.d2.--]file')",                                   '[000000]file'       ],
+[ "VMS->canonpath('')",                                 ''                        ],
+[ "VMS->canonpath('volume:[d1]file')",                  $vms_unix_rpt ? '/volume/d1/file'               : 'volume:[d1]file'                ],
+[ "VMS->canonpath('volume:[d1.-.d2.][d3.d4.-]')",       $vms_unix_rpt ? '/volume/d2/d3/'               : 'volume:[d2.d3]'                  ],
+[ "VMS->canonpath('volume:[000000.d1]d2.dir;1')",       $vms_unix_rpt ? '/volume/d1/d2.dir.1'          : 'volume:[d1]d2.dir;1'             ],
+[ "VMS->canonpath('volume:[d1.d2.d3]file.txt')", 	$vms_unix_rpt ? '/volume/d1/d2/d3/file.txt'    : 'volume:[d1.d2.d3]file.txt'       ],
+[ "VMS->canonpath('[d1.d2.d3]file.txt')", 		$vms_unix_rpt ? '/sys$disk/d1/d2/d3/file.txt'  : '[d1.d2.d3]file.txt'              ],
+[ "VMS->canonpath('volume:[-.d1.d2.d3]file.txt')", 	$vms_unix_rpt ? '/volume/../d1/d2/d3/file.txt' : 'volume:[-.d1.d2.d3]file.txt'     ],
+[ "VMS->canonpath('[-.d1.d2.d3]file.txt')", 		$vms_unix_rpt ? '../d1/d2/d3/file.txt'         : '[-.d1.d2.d3]file.txt'            ],
+[ "VMS->canonpath('volume:[--.d1.d2.d3]file.txt')", 	$vms_unix_rpt ? '/volume/../../d1/d2/d3/file.txt' : 'volume:[--.d1.d2.d3]file.txt' ],
+[ "VMS->canonpath('[--.d1.d2.d3]file.txt')", 		$vms_unix_rpt ? '../../d1/d2/d3/file.txt'      : '[--.d1.d2.d3]file.txt'           ],
+[ "VMS->canonpath('volume:[d1.-.d2.d3]file.txt')", 	$vms_unix_rpt ? '/volume/d2/d3/file.txt'       : 'volume:[d2.d3]file.txt'          ],
+[ "VMS->canonpath('[d1.-.d2.d3]file.txt')", 		$vms_unix_rpt ? '/sys$disk/d2/d3/file.txt'     : '[d2.d3]file.txt'                 ],
+[ "VMS->canonpath('volume:[d1.--.d2.d3]file.txt')", 	$vms_unix_rpt ? '/volume/../d2/d3/file.txt'    : 'volume:[-.d2.d3]file.txt'        ],
+[ "VMS->canonpath('[d1.--.d2.d3]file.txt')", 		$vms_unix_rpt ? '../d2/d3/file.txt'            : '[-.d2.d3]file.txt'               ],
+[ "VMS->canonpath('volume:[d1.d2.-.d3]file.txt')", 	$vms_unix_rpt ? '/volume/d1/d3/file.txt'       : 'volume:[d1.d3]file.txt'          ],
+[ "VMS->canonpath('[d1.d2.-.d3]file.txt')", 		$vms_unix_rpt ? '/sys$disk/d1/d3/file.txt'     : '[d1.d3]file.txt'                 ],
+[ "VMS->canonpath('volume:[d1.d2.--.d3]file.txt')", 	$vms_unix_rpt ? '/volume/d3/file.txt'          : 'volume:[d3]file.txt'             ],
+[ "VMS->canonpath('[d1.d2.--.d3]file.txt')", 		$vms_unix_rpt ? '/sys$disk/d3/file.txt'        : '[d3]file.txt'                    ],
+[ "VMS->canonpath('volume:[d1.d2.d3.-]file.txt')", 	$vms_unix_rpt ? '/volume/d1/d2/file.txt'       : 'volume:[d1.d2]file.txt'          ],
+[ "VMS->canonpath('[d1.d2.d3.-]file.txt')", 		$vms_unix_rpt ? '/sys$disk/d1/d2/file.txt'     : '[d1.d2]file.txt'                 ],
+[ "VMS->canonpath('volume:[d1.d2.d3.--]file.txt')", 	$vms_unix_rpt ? '/volume/d1/file.txt'          : 'volume:[d1]file.txt'             ],
+[ "VMS->canonpath('[d1.d2.d3.--]file.txt')", 		$vms_unix_rpt ? '/sys$disk/d1/file.txt'        : '[d1]file.txt'                    ],
+[ "VMS->canonpath('volume:[d1.000000.][000000.][d3.--]file.txt')", $vms_unix_rpt ? '/volume/d1/file.txt'
+                                                                                 : 'volume:[d1]file.txt'                                   ],
+[ "VMS->canonpath('[d1.000000.][000000.][d3.--]file.txt')", 		$vms_unix_rpt ? '/sys$disk/d1/file.txt'
+                                                                                      : '[d1]file.txt'                                     ],
+[ "VMS->canonpath('volume:[d1.000000.][000000.][d2.000000]file.txt')",	$vms_unix_rpt ? '/volume/d1/000000/d2/000000/file.txt'
+                                                                                      : 'volume:[d1.000000.d2.000000]file.txt'             ],
+[ "VMS->canonpath('[d1.000000.][000000.][d2.000000]file.txt')", 	$vms_unix_rpt ? '/sys$disk/d1/000000/d2/000000/file.txt'
+                                                                                      : '[d1.000000.d2.000000]file.txt'                    ],
+[ "VMS->canonpath('volume:[d1.000000.][000000.][d3.--.000000]file.txt')", $vms_unix_rpt ? '/volume/d1/000000/file.txt'
+                                                                                        : 'volume:[d1.000000]file.txt'                     ],
+[ "VMS->canonpath('[d1.000000.][000000.][d3.--.000000]file.txt')", 	$vms_unix_rpt ? '/sys$disk/d1/000000/file.txt'
+                                                                                      : '[d1.000000]file.txt'                              ],
+[ "VMS->canonpath('volume:[d1.000000.][000000.][-.-.000000]file.txt')",	$vms_unix_rpt ? '/volume/file.txt'
+                                                                                      : 'volume:[000000]file.txt'                          ],
+[ "VMS->canonpath('[d1.000000.][000000.][--.-.000000]file.txt')", 	$vms_unix_rpt ? '../file.txt'  : '[-.000000]file.txt'              ],
+[ "VMS->canonpath('[d1.d2.--]file')",                                   $vms_unix_rpt ? '../file.txt'  : '[000000]file'                    ],
+# During the Perl 5.8 era, FS::Unix stopped eliminating redundant path elements, so mimic that here.
+[ "VMS->canonpath('a/../../b/c.dat')",                  $vms_unix_rpt ? 'a/../../b/c.dat'              : '[-.b]c.dat'                      ],
+[ "VMS->canonpath('^<test^.new.-.caret^ escapes^>')",   '^<test^.new.-.caret^ escapes^>'                                                   ],
 
 [ "VMS->splitdir('')",            ''          ],
 [ "VMS->splitdir('[]')",          ''          ],
@@ -420,41 +431,42 @@
 [ "VMS->splitdir('[.d1.d2^.d3]')", 'd1,d2^.d3' ],
 
 [ "VMS->catdir('')",                            ''                 ],
+[ "VMS->catdir('foo')",            $vms_unix_rpt ? 'foo'      : '[.foo]'      ],
 [ "VMS->catdir('d1','d2','d3')",   $vms_unix_rpt ? 'd1/d2/d3' : '[.d1.d2.d3]' ],
-[ "VMS->catdir('d1','d2/','d3')",  $vms_efs ? 'd1/d2/d3' : '[.d1.d2.d3]' ],
-[ "VMS->catdir('','d1','d2','d3')", 
-             $vms_unix_rpt ? '/d1/d2/d3' : 
-                  $vms_efs ? '[d1.d2.d3]' : '[.d1.d2.d3]' ],
-[ "VMS->catdir('','-','d2','d3')",              '[-.d2.d3]'         ],
-[ "VMS->catdir('','-','','d3')",                '[-.d3]'            ],
-[ "VMS->catdir('dir.dir','d2.dir','d3.dir')",
-              $vms_unix_rpt ? 'dir.dir/d2.dir/d3.dir' : '[.dir.d2.d3]' ],
-[ "VMS->catdir('[.name]')",                     '[.name]'            ],
-[ "VMS->catdir('[.name]','[.name]')",           '[.name.name]'],
+[ "VMS->catdir('d1','d2/','d3')",  $vms_unix_rpt ? 'd1/d2/d3' : '[.d1.d2.d3]' ],
+[ "VMS->catdir('','d1','d2','d3')",$vms_unix_rpt ? '/d1/d2/d3' : '[.d1.d2.d3]' ],
+[ "VMS->catdir('','-','d2','d3')", $vms_unix_rpt ? '-/d2/d3'   : '[-.d2.d3]' ],
+[ "VMS->catdir('','-','','d3')",   $vms_unix_rpt ? '-/d3'      : '[-.d3]' ],
+[ "VMS->catdir('dir.dir','d2.dir','d3.dir')", $vms_unix_rpt ? 'dir/d2/d3'
+                                                            : '[.dir.d2.d3]' ],
+[ "VMS->catdir('[.name]')",             $vms_unix_rpt ? 'name/'     : '[.name]' ],
+[ "VMS->catdir('[.name]','[.name]')",   $vms_unix_rpt ? 'name/name' :'[.name.name]' ],
+[ "VMS->catdir('/a/b/c','[-]')",        $vms_unix_rpt ? '/a/b/c/..' : 'a:[b]'],
+[ "VMS->catdir('a:[b.c]','..')",        $vms_unix_rpt ? '/a/b/c/..' : 'a:[b]'],
 
-[  "VMS->abs2rel('node::volume:[t1.t2.t3]','node::volume:[t1.t2.t3]')", '[]'                 ],
-[  "VMS->abs2rel('node::volume:[t1.t2.t3]','[t1.t2.t3]')", 'node::volume:[t1.t2.t3]'                 ],
-[  "VMS->abs2rel('node::volume:[t1.t2.t4]','node::volume:[t1.t2.t3]')", '[-.t4]'           ],
-[  "VMS->abs2rel('node::volume:[t1.t2.t4]','[t1.t2.t3]')", 'node::volume:[t1.t2.t4]'           ],
-[  "VMS->abs2rel('[t1.t2.t3]','[t1.t2.t3]')",              '[]'               ],
-[  "VMS->abs2rel('[t1.t2.t3]file','[t1.t2.t3]')",          'file'             ],
-[  "VMS->abs2rel('[t1.t2.t3]file','[t1.t2]')",             '[.t3]file'        ],
-[  "VMS->abs2rel('v:[t1.t2.t3]file','v:[t1.t2]')",         '[.t3]file'        ],
-[  "VMS->abs2rel('[t1.t2.t4]','[t1.t2.t3]')",              '[-.t4]'           ],
-[  "VMS->abs2rel('[t1.t2]file','[t1.t2.t3]')",             '[-]file'          ],
-[  "VMS->abs2rel('[t1.t2.t3.t4]','[t1.t2.t3]')",           '[.t4]'            ],
-[  "VMS->abs2rel('[t4.t5.t6]','[t1.t2.t3]')",              '[---.t4.t5.t6]'   ],
-[ "VMS->abs2rel('[000000]','[t1.t2.t3]')",                 '[---]'            ],
-[ "VMS->abs2rel('a:[t1.t2.t4]','a:[t1.t2.t3]')",           '[-.t4]'           ],
-[ "VMS->abs2rel('a:[t1.t2.t4]','[t1.t2.t3]')",             'a:[t1.t2.t4]'           ],
-[ "VMS->abs2rel('[a.-.b.c.-]','[t1.t2.t3]')",              '[---.b]'          ],
+[ "VMS->abs2rel('node::volume:[t1.t2.t3]','node::volume:[t1.t2.t3]')", $vms_unix_rpt ? './' : '[]' ],
+[ "VMS->abs2rel('node::volume:[t1.t2.t3]','[t1.t2.t3]')", $vms_unix_rpt ? '/node//volume/t1/t2/t3/' : 'node::volume:[t1.t2.t3]' ],
+[ "VMS->abs2rel('node::volume:[t1.t2.t4]','node::volume:[t1.t2.t3]')", $vms_unix_rpt ? '../t4/' : '[-.t4]' ],
+[ "VMS->abs2rel('node::volume:[t1.t2.t4]','[t1.t2.t3]')", $vms_unix_rpt ? '/node//volume/t1/t2/t4/' : 'node::volume:[t1.t2.t4]' ],
+[ "VMS->abs2rel('[t1.t2.t3]','[t1.t2.t3]')",              $vms_unix_rpt ? './' : '[]'             ],
+[ "VMS->abs2rel('[t1.t2.t3]file','[t1.t2.t3]')",          'file'                                  ],
+[ "VMS->abs2rel('[t1.t2.t3]file','[t1.t2]')",             $vms_unix_rpt ? 't3/file' : '[.t3]file' ],
+[ "VMS->abs2rel('v:[t1.t2.t3]file','v:[t1.t2]')",         $vms_unix_rpt ? 't3/file' : '[.t3]file' ],
+[ "VMS->abs2rel('[t1.t2.t4]','[t1.t2.t3]')",              $vms_unix_rpt ? '../t4/'  : '[-.t4]'    ],
+[ "VMS->abs2rel('[t1.t2]file','[t1.t2.t3]')",             $vms_unix_rpt ? '../file' : '[-]file'   ],
+[ "VMS->abs2rel('[t1.t2.t3.t4]','[t1.t2.t3]')",           $vms_unix_rpt ? 't4/'     : '[.t4]'     ],
+[ "VMS->abs2rel('[t4.t5.t6]','[t1.t2.t3]')",              $vms_unix_rpt ? '../../../t4/t5/t6/' : '[---.t4.t5.t6]'   ],
+[ "VMS->abs2rel('[000000]','[t1.t2.t3]')",                $vms_unix_rpt ? '../../../'          : '[---]'            ],
+[ "VMS->abs2rel('a:[t1.t2.t4]','a:[t1.t2.t3]')",          $vms_unix_rpt ? '../t4/'             : '[-.t4]'           ],
+[ "VMS->abs2rel('a:[t1.t2.t4]','[t1.t2.t3]')",            $vms_unix_rpt ? '/a/t1/t2/t4/'        : 'a:[t1.t2.t4]'    ],
+[ "VMS->abs2rel('[a.-.b.c.-]','[t1.t2.t3]')",             $vms_unix_rpt ? '../../../b/'         : '[---.b]'         ],
 
-[ "VMS->rel2abs('[.t4]','[t1.t2.t3]')",          '[t1.t2.t3.t4]'    ],
-[ "VMS->rel2abs('[.t4.t5]','[t1.t2.t3]')",       '[t1.t2.t3.t4.t5]' ],
-[ "VMS->rel2abs('[]','[t1.t2.t3]')",             '[t1.t2.t3]'       ],
-[ "VMS->rel2abs('[-]','[t1.t2.t3]')",            '[t1.t2]'          ],
-[ "VMS->rel2abs('[-.t4]','[t1.t2.t3]')",         '[t1.t2.t4]'       ],
-[ "VMS->rel2abs('[t1]','[t1.t2.t3]')",           '[t1]'             ],
+[ "VMS->rel2abs('[.t4]','[t1.t2.t3]')",          $vms_unix_rpt ? '/sys$disk/t1/t2/t3/t4/'    : '[t1.t2.t3.t4]'    ],
+[ "VMS->rel2abs('[.t4.t5]','[t1.t2.t3]')",       $vms_unix_rpt ? '/sys$disk/t1/t2/t3/t4/t5/' : '[t1.t2.t3.t4.t5]' ],
+[ "VMS->rel2abs('[]','[t1.t2.t3]')",             $vms_unix_rpt ? '/sys$disk/t1/t2/t3/'       : '[t1.t2.t3]'       ],
+[ "VMS->rel2abs('[-]','[t1.t2.t3]')",            $vms_unix_rpt ? '/sys$disk/t1/t2/'          : '[t1.t2]'          ],
+[ "VMS->rel2abs('[-.t4]','[t1.t2.t3]')",         $vms_unix_rpt ? '/sys$disk/t1/t2/t4/'       : '[t1.t2.t4]'       ],
+[ "VMS->rel2abs('[t1]','[t1.t2.t3]')",           $vms_unix_rpt ? '/sys$disk/t1/'             : '[t1]'             ],
 
 [ "OS2->case_tolerant()",         '1'  ],
 


Property changes on: vendor/perl/dist/dist/Cwd/t/Spec.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Cwd/t/crossplatform.t
===================================================================
--- vendor/perl/dist/dist/Cwd/t/crossplatform.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/t/crossplatform.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Cwd/t/crossplatform.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/t/cwd.t
===================================================================
--- vendor/perl/dist/dist/Cwd/t/cwd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/t/cwd.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -36,7 +36,7 @@
     $vms_mode = 0 if ($vms_unix_rpt);
 }
 
-my $tests = 30;
+my $tests = 31;
 # _perl_abs_path() currently only works when the directory separator
 # is '/', so don't test it when it won't work.
 my $EXTRA_ABSPATH_TESTS = ($Config{prefix} =~ m/\//) && $^O ne 'cygwin';
@@ -245,7 +245,17 @@
     if $EXTRA_ABSPATH_TESTS;
 }
 
+SKIP: {
+  my $dir = "${$}a\nx";
+  mkdir $dir or skip "OS does not support dir names containing LF";
+  chdir $dir or skip "OS cannot chdir into LF";
+  eval { Cwd::fast_abs_path() };
+  is $@, "", 'fast_abs_path does not die in dir whose name contains LF';
+  chdir File::Spec->updir;
+  rmdir $dir;
+}
 
+
 #############################################
 # These routines give us sort of a poor-man's cross-platform
 # directory or path comparison capability.


Property changes on: vendor/perl/dist/dist/Cwd/t/cwd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/t/rel2abs2rel.t
===================================================================
--- vendor/perl/dist/dist/Cwd/t/rel2abs2rel.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/t/rel2abs2rel.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -58,10 +58,10 @@
 print "# Checking manipulations of \$^X=$^X\n";
 
 my $perl = safe_rel($^X);
-is( sayok($perl), "ok\n",   "`$perl rel2abs2rel$$.pl` works" );
+is( sayok($perl), "ok\n",   "'$perl rel2abs2rel$$.pl' works" );
 
 $perl = File::Spec->rel2abs($^X);
-is( sayok($perl), "ok\n",   "`$perl rel2abs2rel$$.pl` works" );
+is( sayok($perl), "ok\n",   "'$perl rel2abs2rel$$.pl' works" );
 
 $perl = File::Spec->canonpath($perl);
 is( sayok($perl), "ok\n",   "canonpath(rel2abs($^X)) = $perl" );


Property changes on: vendor/perl/dist/dist/Cwd/t/rel2abs2rel.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Cwd/t/taint.t
===================================================================
--- vendor/perl/dist/dist/Cwd/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,14 @@
 
 use File::Spec;
 use lib File::Spec->catdir('t', 'lib');
-use Test::More tests => 17;
+use Test::More;
+BEGIN {
+    plan(
+        ${^TAINT}
+        ? (tests => 17)
+        : (skip_all => "A perl without taint support")
+    );
+}
 
 use Scalar::Util qw/tainted/;
 


Property changes on: vendor/perl/dist/dist/Cwd/t/taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Cwd/t/tmpdir.t
===================================================================
--- vendor/perl/dist/dist/Cwd/t/tmpdir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/t/tmpdir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Cwd/t/tmpdir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Cwd/t/win32.t
===================================================================
--- vendor/perl/dist/dist/Cwd/t/win32.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Cwd/t/win32.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Cwd/t/win32.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/Changes
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,13 +1,103 @@
 =head1 NAME
 
-HISTORY - public release history for Data::Dumper
+Changes - public release history for Data::Dumper
 
 =head1 DESCRIPTION
 
 =over 8
 
-=item 2.130 (date here)
+=item 2.145 (Mar 15 2013)
 
+Test refactoring and fixing wide and far.
+
+Various old-perl compat fixes.
+
+=item 2.143 (Feb 26 2013)
+
+Address vstring related test failures on 5.8: Skip tests for
+obscure case.
+
+Major improvements to test coverage and significant refactoring.
+
+Make Data::Dumper XS ignore Freezer return value. Fixes RT #116364.
+
+Change call of isALNUM to equivalent but more clearly named isWORDCHAR
+
+=item 2.139 (Dec 12 2012)
+
+Supply an explicit dynamic_config => 0 in META
+
+Properly list BUILD_REQUIRES prereqs (P5-RT#116028)
+
+Some optimizations. Removed useless "register" declarations.
+
+=item 2.136 (Oct 04 2012)
+
+Promote to stable release.
+
+Drop some "register" declarations.
+
+=item 2.135_07 (Aug 06 2012)
+
+Use the new utf8 to code point functions - fixing a potential
+reading buffer overrun.
+
+Data::Dumper: Sparseseen option to avoid building much of the seen
+hash: This has been measured to, in some cases, provide a 50% speed-up
+
+Dumper.xs: Avoid scan_vstring on 5.17.3 and up
+
+Avoid a warning from clang when compiling Data::Dumper
+
+Fix DD's dumping of qr|\/|
+
+Data::Dumper's Perl implementation was not working with overloaded
+blessed globs, which it thought were strings.
+
+Allow Data::Dumper to load on miniperl
+
+=item 2.135_02 (Dec 29 2011)
+
+Makes DD dump *{''} properly.
+
+[perl #101162] DD support for vstrings:
+Support for vstrings to Data::Dumper, in both Perl and XS
+implementations.
+
+=item 2.135_01 (Dec 19 2011)
+
+Make Data::Dumper UTF8- and null-clean with GVs.
+
+In Dumper.xs, use sv_newmortal() instead of sv_mortalcopy(&PL_sv_undef)
+for efficiency.
+
+Suppress compiler warning
+
+Keep verbatim pod in Data::Dumper within 80 cols
+
+=item 2.131 (May 27 2011)
+
+Essentially the same as version 2.130_02, but a production release.
+
+=item 2.130_03 (May 20 2011)
+
+Essentially the same as version 2.130_02, but a CPAN release
+for the eventual 2.131.
+
+=item 2.130_02
+
+This was only shipped with the perl core, never released to CPAN.
+
+Convert overload.t to Test::More
+
+Fix some spelling errors
+
+Fix some compiler warnings
+
+Fix an out of bounds write in Data-Dumper with malformed utf8 input
+
+=item 2.130 (Nov 20 2010)
+
 C<Dumpxs> can now handle malformed UTF-8.
 
 =item 2.129 (Oct 20 2010)
@@ -106,7 +196,7 @@
 
 =item 2.08  (7 December 1997)
 
-Glob dumps don't output superfluous 'undef' anymore.
+Glob dumps don't output superflous 'undef' anymore.
 
 Fixes from Gisle Aas <gisle at aas.no> to make Dumper() work with
 overloaded strings in recent perls, and his new testsuite.


Property changes on: vendor/perl/dist/dist/Data-Dumper/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/Dumper.pm
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/Dumper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/Dumper.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,9 @@
 
 package Data::Dumper;
 
-$VERSION = '2.130_02'; # Don't forget to set version and release date in POD!
+BEGIN {
+    $VERSION = '2.145'; # Don't forget to set version and release
+}               # date in POD below!
 
 #$| = 1;
 
@@ -28,13 +30,13 @@
     # XSLoader should be attempted to load, or the pure perl flag
     # toggled on load failure.
     eval {
-	require XSLoader;
-    };
-    $Useperl = 1 if $@;
+        require XSLoader;
+        XSLoader::load( 'Data::Dumper' );
+        1
+    }
+    or $Useperl = 1;
 }
 
-XSLoader::load( 'Data::Dumper' ) unless $Useperl;
-
 # module vars and their defaults
 $Indent     = 2         unless defined $Indent;
 $Purity     = 0         unless defined $Purity;
@@ -53,6 +55,7 @@
 $Useperl    = 0         unless defined $Useperl;
 $Sortkeys   = 0         unless defined $Sortkeys;
 $Deparse    = 0         unless defined $Deparse;
+$Sparseseen = 0         unless defined $Sparseseen;
 
 #
 # expects an arrayref of values to be dumped.
@@ -63,36 +66,37 @@
 sub new {
   my($c, $v, $n) = @_;
 
-  croak "Usage:  PACKAGE->new(ARRAYREF, [ARRAYREF])" 
+  croak "Usage:  PACKAGE->new(ARRAYREF, [ARRAYREF])"
     unless (defined($v) && (ref($v) eq 'ARRAY'));
   $n = [] unless (defined($n) && (ref($n) eq 'ARRAY'));
 
-  my($s) = { 
-             level      => 0,           # current recursive depth
-	     indent     => $Indent,     # various styles of indenting
-	     pad	=> $Pad,        # all lines prefixed by this string
-	     xpad       => "",          # padding-per-level
-	     apad       => "",          # added padding for hash keys n such
-	     sep        => "",          # list separator
-	     pair	=> $Pair,	# hash key/value separator: defaults to ' => '
-	     seen       => {},          # local (nested) refs (id => [name, val])
-	     todump     => $v,          # values to dump []
-	     names      => $n,          # optional names for values []
-	     varname    => $Varname,    # prefix to use for tagging nameless ones
-             purity     => $Purity,     # degree to which output is evalable
-             useqq 	=> $Useqq,      # use "" for strings (backslashitis ensues)
-             terse 	=> $Terse,      # avoid name output (where feasible)
-             freezer	=> $Freezer,    # name of Freezer method for objects
-             toaster	=> $Toaster,    # name of method to revive objects
-             deepcopy	=> $Deepcopy,   # dont cross-ref, except to stop recursion
-             quotekeys	=> $Quotekeys,  # quote hash keys
-             'bless'	=> $Bless,	# keyword to use for "bless"
-#	     expdepth   => $Expdepth,   # cutoff depth for explicit dumping
-	     maxdepth	=> $Maxdepth,   # depth beyond which we give up
-	     useperl    => $Useperl,    # use the pure Perl implementation
-	     sortkeys   => $Sortkeys,   # flag or filter for sorting hash keys
-	     deparse	=> $Deparse,	# use B::Deparse for coderefs
-	   };
+  my($s) = {
+        level      => 0,           # current recursive depth
+        indent     => $Indent,     # various styles of indenting
+        pad        => $Pad,        # all lines prefixed by this string
+        xpad       => "",          # padding-per-level
+        apad       => "",          # added padding for hash keys n such
+        sep        => "",          # list separator
+        pair       => $Pair,    # hash key/value separator: defaults to ' => '
+        seen       => {},          # local (nested) refs (id => [name, val])
+        todump     => $v,          # values to dump []
+        names      => $n,          # optional names for values []
+        varname    => $Varname,    # prefix to use for tagging nameless ones
+        purity     => $Purity,     # degree to which output is evalable
+        useqq      => $Useqq,      # use "" for strings (backslashitis ensues)
+        terse      => $Terse,      # avoid name output (where feasible)
+        freezer    => $Freezer,    # name of Freezer method for objects
+        toaster    => $Toaster,    # name of method to revive objects
+        deepcopy   => $Deepcopy,   # dont cross-ref, except to stop recursion
+        quotekeys  => $Quotekeys,  # quote hash keys
+        'bless'    => $Bless,    # keyword to use for "bless"
+#        expdepth   => $Expdepth,   # cutoff depth for explicit dumping
+        maxdepth   => $Maxdepth,   # depth beyond which we give up
+        useperl    => $Useperl,    # use the pure Perl implementation
+        sortkeys   => $Sortkeys,   # flag or filter for sorting hash keys
+        deparse    => $Deparse,    # use B::Deparse for coderefs
+        noseen     => $Sparseseen, # do not populate the seen hash unless necessary
+       };
 
   if ($Indent > 0) {
     $s->{xpad} = "  ";
@@ -101,26 +105,39 @@
   return bless($s, $c);
 }
 
-if ($] >= 5.008) {
-  # Packed numeric addresses take less memory. Plus pack is faster than sprintf
-  *init_refaddr_format = sub {};
+# Packed numeric addresses take less memory. Plus pack is faster than sprintf
 
-  *format_refaddr  = sub {
+# Most users of current versions of Data::Dumper will be 5.008 or later.
+# Anyone on 5.6.1 and 5.6.2 upgrading will be rare (particularly judging by
+# the bug reports from users on those platforms), so for the common case avoid
+# complexity, and avoid even compiling the unneeded code.
+
+sub init_refaddr_format {
+}
+
+sub format_refaddr {
     require Scalar::Util;
     pack "J", Scalar::Util::refaddr(shift);
-  };
-} else {
-  *init_refaddr_format = sub {
-    require Config;
-    my $f = $Config::Config{uvxformat};
-    $f =~ tr/"//d;
-    our $refaddr_format = "0x%" . $f;
-  };
+};
 
-  *format_refaddr = sub {
-    require Scalar::Util;
-    sprintf our $refaddr_format, Scalar::Util::refaddr(shift);
-  }
+if ($] < 5.008) {
+    eval <<'EOC' or die;
+    no warnings 'redefine';
+    my $refaddr_format;
+    sub init_refaddr_format {
+        require Config;
+        my $f = $Config::Config{uvxformat};
+        $f =~ tr/"//d;
+        $refaddr_format = "0x%" . $f;
+    }
+
+    sub format_refaddr {
+        require Scalar::Util;
+        sprintf $refaddr_format, Scalar::Util::refaddr(shift);
+    }
+
+    1
+EOC
 }
 
 #
@@ -132,21 +149,26 @@
     init_refaddr_format();
     my($k, $v, $id);
     while (($k, $v) = each %$g) {
-      if (defined $v and ref $v) {
-	$id = format_refaddr($v);
-	if ($k =~ /^[*](.*)$/) {
-	  $k = (ref $v eq 'ARRAY') ? ( "\\\@" . $1 ) :
-	       (ref $v eq 'HASH')  ? ( "\\\%" . $1 ) :
-	       (ref $v eq 'CODE')  ? ( "\\\&" . $1 ) :
-				     (   "\$" . $1 ) ;
-	}
-	elsif ($k !~ /^\$/) {
-	  $k = "\$" . $k;
-	}
-	$s->{seen}{$id} = [$k, $v];
+      if (defined $v) {
+        if (ref $v) {
+          $id = format_refaddr($v);
+          if ($k =~ /^[*](.*)$/) {
+            $k = (ref $v eq 'ARRAY') ? ( "\\\@" . $1 ) :
+                 (ref $v eq 'HASH')  ? ( "\\\%" . $1 ) :
+                 (ref $v eq 'CODE')  ? ( "\\\&" . $1 ) :
+                 (   "\$" . $1 ) ;
+          }
+          elsif ($k !~ /^\$/) {
+            $k = "\$" . $k;
+          }
+          $s->{seen}{$id} = [$k, $v];
+        }
+        else {
+          carp "Only refs supported, ignoring non-ref item \$$k";
+        }
       }
       else {
-	carp "Only refs supported, ignoring non-ref item \$$k";
+        carp "Value of ref must be defined; ignoring undefined item \$$k";
       }
     }
     return $s;
@@ -161,9 +183,14 @@
 #
 sub Values {
   my($s, $v) = @_;
-  if (defined($v) && (ref($v) eq 'ARRAY'))  {
-    $s->{todump} = [@$v];        # make a copy
-    return $s;
+  if (defined($v)) {
+    if (ref($v) eq 'ARRAY')  {
+      $s->{todump} = [@$v];        # make a copy
+      return $s;
+    }
+    else {
+      croak "Argument to Values, if provided, must be array ref";
+    }
   }
   else {
     return @{$s->{todump}};
@@ -175,9 +202,14 @@
 #
 sub Names {
   my($s, $n) = @_;
-  if (defined($n) && (ref($n) eq 'ARRAY'))  {
-    $s->{names} = [@$n];         # make a copy
-    return $s;
+  if (defined($n)) {
+    if (ref($n) eq 'ARRAY') {
+      $s->{names} = [@$n];         # make a copy
+      return $s;
+    }
+    else {
+      croak "Argument to Names, if provided, must be array ref";
+    }
   }
   else {
     return @{$s->{names}};
@@ -188,9 +220,9 @@
 
 sub Dump {
     return &Dumpxs
-	unless $Data::Dumper::Useperl || (ref($_[0]) && $_[0]->{useperl}) ||
-	       $Data::Dumper::Useqq   || (ref($_[0]) && $_[0]->{useqq}) ||
-	       $Data::Dumper::Deparse || (ref($_[0]) && $_[0]->{deparse});
+    unless $Data::Dumper::Useperl || (ref($_[0]) && $_[0]->{useperl}) ||
+           $Data::Dumper::Useqq   || (ref($_[0]) && $_[0]->{useqq}) ||
+           $Data::Dumper::Deparse || (ref($_[0]) && $_[0]->{deparse});
     return &Dumpperl;
 }
 
@@ -208,28 +240,9 @@
   $s = $s->new(@_) unless ref $s;
 
   for $val (@{$s->{todump}}) {
-    my $out = "";
     @post = ();
     $name = $s->{names}[$i++];
-    if (defined $name) {
-      if ($name =~ /^[*](.*)$/) {
-	if (defined $val) {
-	  $name = (ref $val eq 'ARRAY') ? ( "\@" . $1 ) :
-		  (ref $val eq 'HASH')  ? ( "\%" . $1 ) :
-		  (ref $val eq 'CODE')  ? ( "\*" . $1 ) :
-					  ( "\$" . $1 ) ;
-	}
-	else {
-	  $name = "\$" . $1;
-	}
-      }
-      elsif ($name !~ /^\$/) {
-	$name = "\$" . $name;
-      }
-    }
-    else {
-      $name = "\$" . $s->{varname} . $i;
-    }
+    $name = $s->_refine_name($name, $val, $i);
 
     my $valstr;
     {
@@ -239,9 +252,7 @@
     }
 
     $valstr = "$name = " . $valstr . ';' if @post or !$s->{terse};
-    $out .= $s->{pad} . $valstr . $s->{sep};
-    $out .= $s->{pad} . join(';' . $s->{sep} . $s->{pad}, @post) 
-      . ';' . $s->{sep} if @post;
+    my $out = $s->_compose_out($valstr, \@post);
 
     push @out, $out;
   }
@@ -255,6 +266,10 @@
     return  "'" . $val .  "'";
 }
 
+# Old Perls (5.14-) have trouble resetting vstring magic when it is no
+# longer valid.
+use constant _bad_vsmg => defined &_vstring && (_vstring(~v0)||'') eq "v0";
+
 #
 # twist, toil and turn;
 # and recurse, of course.
@@ -263,8 +278,7 @@
 #
 sub _dump {
   my($s, $val, $name) = @_;
-  my($sname);
-  my($out, $realpack, $realtype, $type, $ipad, $id, $blesspad);
+  my($out, $type, $id, $sname);
 
   $type = ref $val;
   $out = "";
@@ -281,47 +295,44 @@
     }
 
     require Scalar::Util;
-    $realpack = Scalar::Util::blessed($val);
-    $realtype = $realpack ? Scalar::Util::reftype($val) : ref $val;
+    my $realpack = Scalar::Util::blessed($val);
+    my $realtype = $realpack ? Scalar::Util::reftype($val) : ref $val;
     $id = format_refaddr($val);
 
-    # if it has a name, we need to either look it up, or keep a tab
-    # on it so we know when we hit it later
-    if (defined($name) and length($name)) {
-      # keep a tab on it so that we dont fall into recursive pit
-      if (exists $s->{seen}{$id}) {
-#	if ($s->{expdepth} < $s->{level}) {
-	  if ($s->{purity} and $s->{level} > 0) {
-	    $out = ($realtype eq 'HASH')  ? '{}' :
-	      ($realtype eq 'ARRAY') ? '[]' :
-		'do{my $o}' ;
-	    push @post, $name . " = " . $s->{seen}{$id}[0];
-	  }
-	  else {
-	    $out = $s->{seen}{$id}[0];
-	    if ($name =~ /^([\@\%])/) {
-	      my $start = $1;
-	      if ($out =~ /^\\$start/) {
-		$out = substr($out, 1);
-	      }
-	      else {
-		$out = $start . '{' . $out . '}';
-	      }
-	    }
-          }
-	  return $out;
-#        }
+    # Note: By this point $name is always defined and of non-zero length.
+    # Keep a tab on it so that we dont fall into recursive pit.
+    if (exists $s->{seen}{$id}) {
+      if ($s->{purity} and $s->{level} > 0) {
+        $out = ($realtype eq 'HASH')  ? '{}' :
+               ($realtype eq 'ARRAY') ? '[]' :
+               'do{my $o}' ;
+        push @post, $name . " = " . $s->{seen}{$id}[0];
       }
       else {
-        # store our name
-        $s->{seen}{$id} = [ (($name =~ /^[@%]/)     ? ('\\' . $name ) :
-			     ($realtype eq 'CODE' and
-			      $name =~ /^[*](.*)$/) ? ('\\&' . $1 )   :
-			     $name          ),
-			    $val ];
+        $out = $s->{seen}{$id}[0];
+        if ($name =~ /^([\@\%])/) {
+          my $start = $1;
+          if ($out =~ /^\\$start/) {
+            $out = substr($out, 1);
+          }
+          else {
+            $out = $start . '{' . $out . '}';
+          }
+        }
       }
+      return $out;
     }
-    my $no_bless = 0; 
+    else {
+      # store our name
+      $s->{seen}{$id} = [ (
+          ($name =~ /^[@%]/)
+            ? ('\\' . $name )
+            : ($realtype eq 'CODE' and $name =~ /^[*](.*)$/)
+              ? ('\\&' . $1 )
+              : $name
+        ), $val ];
+    }
+    my $no_bless = 0;
     my $is_regex = 0;
     if ( $realpack and ($] >= 5.009005 ? re::is_regexp($val) : $realpack eq 'Regexp') ) {
         $is_regex = 1;
@@ -328,18 +339,20 @@
         $no_bless = $realpack eq 'Regexp';
     }
 
-    # If purity is not set and maxdepth is set, then check depth: 
+    # If purity is not set and maxdepth is set, then check depth:
     # if we have reached maximum depth, return the string
     # representation of the thing we are currently examining
-    # at this depth (i.e., 'Foo=ARRAY(0xdeadbeef)'). 
+    # at this depth (i.e., 'Foo=ARRAY(0xdeadbeef)').
     if (!$s->{purity}
-	and $s->{maxdepth} > 0
-	and $s->{level} >= $s->{maxdepth})
+      and defined($s->{maxdepth})
+      and $s->{maxdepth} > 0
+      and $s->{level} >= $s->{maxdepth})
     {
       return qq['$val'];
     }
 
     # we have a blessed ref
+    my ($blesspad);
     if ($realpack and !$no_bless) {
       $out = $s->{'bless'} . '( ';
       $blesspad = $s->{apad};
@@ -347,13 +360,13 @@
     }
 
     $s->{level}++;
-    $ipad = $s->{xpad} x $s->{level};
+    my $ipad = $s->{xpad} x $s->{level};
 
     if ($is_regex) {
         my $pat;
-        # This really sucks, re:regexp_pattern is in ext/re/re.xs and not in 
+        # This really sucks, re:regexp_pattern is in ext/re/re.xs and not in
         # universal.c, and even worse we cant just require that re to be loaded
-        # we *have* to use() it. 
+        # we *have* to use() it.
         # We should probably move it to universal.c for 5.10.1 and fix this.
         # Currently we only use re::regexp_pattern when the re is blessed into another
         # package. This has the disadvantage of meaning that a DD dump won't round trip
@@ -363,23 +376,25 @@
         # But since this means loading the full debugging engine in process we wont
         # bother unless its necessary for accuracy.
         if (($realpack ne 'Regexp') && defined(*re::regexp_pattern{CODE})) {
-            $pat = re::regexp_pattern($val);
-        } else {
-            $pat = "$val";
+          $pat = re::regexp_pattern($val);
         }
-        $pat =~ s,/,\\/,g;
+        else {
+          $pat = "$val";
+        }
+        $pat =~ s <(\\.)|/> { $1 || '\\/' }ge;
         $out .= "qr/$pat/";
     }
-    elsif ($realtype eq 'SCALAR' || $realtype eq 'REF') {
+    elsif ($realtype eq 'SCALAR' || $realtype eq 'REF'
+    || $realtype eq 'VSTRING') {
       if ($realpack) {
-	$out .= 'do{\\(my $o = ' . $s->_dump($$val, "\${$name}") . ')}';
+        $out .= 'do{\\(my $o = ' . $s->_dump($$val, "\${$name}") . ')}';
       }
       else {
-	$out .= '\\' . $s->_dump($$val, "\${$name}");
+        $out .= '\\' . $s->_dump($$val, "\${$name}");
       }
     }
     elsif ($realtype eq 'GLOB') {
-	$out .= '\\' . $s->_dump($$val, "*{$name}");
+      $out .= '\\' . $s->_dump($$val, "*{$name}");
     }
     elsif ($realtype eq 'ARRAY') {
       my($pad, $mname);
@@ -386,134 +401,148 @@
       my($i) = 0;
       $out .= ($name =~ /^\@/) ? '(' : '[';
       $pad = $s->{sep} . $s->{pad} . $s->{apad};
-      ($name =~ /^\@(.*)$/) ? ($mname = "\$" . $1) : 
-	# omit -> if $foo->[0]->{bar}, but not ${$foo->[0]}->{bar}
-	($name =~ /^\\?[\%\@\*\$][^{].*[]}]$/) ? ($mname = $name) :
-	  ($mname = $name . '->');
+      ($name =~ /^\@(.*)$/) ? ($mname = "\$" . $1) :
+    # omit -> if $foo->[0]->{bar}, but not ${$foo->[0]}->{bar}
+        ($name =~ /^\\?[\%\@\*\$][^{].*[]}]$/) ? ($mname = $name) :
+        ($mname = $name . '->');
       $mname .= '->' if $mname =~ /^\*.+\{[A-Z]+\}$/;
       for my $v (@$val) {
-	$sname = $mname . '[' . $i . ']';
-	$out .= $pad . $ipad . '#' . $i if $s->{indent} >= 3;
-	$out .= $pad . $ipad . $s->_dump($v, $sname);
-	$out .= "," if $i++ < $#$val;
+        $sname = $mname . '[' . $i . ']';
+        $out .= $pad . $ipad . '#' . $i
+          if $s->{indent} >= 3;
+        $out .= $pad . $ipad . $s->_dump($v, $sname);
+        $out .= "," if $i++ < $#$val;
       }
       $out .= $pad . ($s->{xpad} x ($s->{level} - 1)) if $i;
       $out .= ($name =~ /^\@/) ? ')' : ']';
     }
     elsif ($realtype eq 'HASH') {
-      my($k, $v, $pad, $lpad, $mname, $pair);
+      my ($k, $v, $pad, $lpad, $mname, $pair);
       $out .= ($name =~ /^\%/) ? '(' : '{';
       $pad = $s->{sep} . $s->{pad} . $s->{apad};
       $lpad = $s->{apad};
       $pair = $s->{pair};
       ($name =~ /^\%(.*)$/) ? ($mname = "\$" . $1) :
-	# omit -> if $foo->[0]->{bar}, but not ${$foo->[0]}->{bar}
-	($name =~ /^\\?[\%\@\*\$][^{].*[]}]$/) ? ($mname = $name) :
-	  ($mname = $name . '->');
+    # omit -> if $foo->[0]->{bar}, but not ${$foo->[0]}->{bar}
+        ($name =~ /^\\?[\%\@\*\$][^{].*[]}]$/) ? ($mname = $name) :
+        ($mname = $name . '->');
       $mname .= '->' if $mname =~ /^\*.+\{[A-Z]+\}$/;
-      my ($sortkeys, $keys, $key) = ("$s->{sortkeys}");
+      my $sortkeys = defined($s->{sortkeys}) ? $s->{sortkeys} : '';
+      my $keys = [];
       if ($sortkeys) {
-	if (ref($s->{sortkeys}) eq 'CODE') {
-	  $keys = $s->{sortkeys}($val);
-	  unless (ref($keys) eq 'ARRAY') {
-	    carp "Sortkeys subroutine did not return ARRAYREF";
-	    $keys = [];
-	  }
-	}
-	else {
-	  $keys = [ sort keys %$val ];
-	}
+        if (ref($s->{sortkeys}) eq 'CODE') {
+          $keys = $s->{sortkeys}($val);
+          unless (ref($keys) eq 'ARRAY') {
+            carp "Sortkeys subroutine did not return ARRAYREF";
+            $keys = [];
+          }
+        }
+        else {
+          $keys = [ sort keys %$val ];
+        }
       }
 
       # Ensure hash iterator is reset
       keys(%$val);
 
+      my $key;
       while (($k, $v) = ! $sortkeys ? (each %$val) :
-	     @$keys ? ($key = shift(@$keys), $val->{$key}) :
-	     () ) 
+         @$keys ? ($key = shift(@$keys), $val->{$key}) :
+         () )
       {
-	my $nk = $s->_dump($k, "");
-	$nk = $1 if !$s->{quotekeys} and $nk =~ /^[\"\']([A-Za-z_]\w*)[\"\']$/;
-	$sname = $mname . '{' . $nk . '}';
-	$out .= $pad . $ipad . $nk . $pair;
+        my $nk = $s->_dump($k, "");
+        $nk = $1
+          if !$s->{quotekeys} and $nk =~ /^[\"\']([A-Za-z_]\w*)[\"\']$/;
+        $sname = $mname . '{' . $nk . '}';
+        $out .= $pad . $ipad . $nk . $pair;
 
-	# temporarily alter apad
-	$s->{apad} .= (" " x (length($nk) + 4)) if $s->{indent} >= 2;
-	$out .= $s->_dump($val->{$k}, $sname) . ",";
-	$s->{apad} = $lpad if $s->{indent} >= 2;
+        # temporarily alter apad
+        $s->{apad} .= (" " x (length($nk) + 4))
+          if $s->{indent} >= 2;
+        $out .= $s->_dump($val->{$k}, $sname) . ",";
+        $s->{apad} = $lpad
+          if $s->{indent} >= 2;
       }
       if (substr($out, -1) eq ',') {
-	chop $out;
-	$out .= $pad . ($s->{xpad} x ($s->{level} - 1));
+        chop $out;
+        $out .= $pad . ($s->{xpad} x ($s->{level} - 1));
       }
       $out .= ($name =~ /^\%/) ? ')' : '}';
     }
     elsif ($realtype eq 'CODE') {
       if ($s->{deparse}) {
-	require B::Deparse;
-	my $sub =  'sub ' . (B::Deparse->new)->coderef2text($val);
-	$pad    =  $s->{sep} . $s->{pad} . $s->{apad} . $s->{xpad} x ($s->{level} - 1);
-	$sub    =~ s/\n/$pad/gse;
-	$out   .=  $sub;
-      } else {
+        require B::Deparse;
+        my $sub =  'sub ' . (B::Deparse->new)->coderef2text($val);
+        $pad    =  $s->{sep} . $s->{pad} . $s->{apad} . $s->{xpad} x ($s->{level} - 1);
+        $sub    =~ s/\n/$pad/gse;
+        $out   .=  $sub;
+      }
+      else {
         $out .= 'sub { "DUMMY" }';
         carp "Encountered CODE ref, using dummy placeholder" if $s->{purity};
       }
     }
     else {
-      croak "Can\'t handle $realtype type.";
+      croak "Can't handle '$realtype' type";
     }
-    
+
     if ($realpack and !$no_bless) { # we have a blessed ref
       $out .= ', ' . _quote($realpack) . ' )';
-      $out .= '->' . $s->{toaster} . '()'  if $s->{toaster} ne '';
+      $out .= '->' . $s->{toaster} . '()'
+        if $s->{toaster} ne '';
       $s->{apad} = $blesspad;
     }
     $s->{level}--;
-
   }
   else {                                 # simple scalar
 
     my $ref = \$_[1];
+    my $v;
     # first, catalog the scalar
     if ($name ne '') {
       $id = format_refaddr($ref);
       if (exists $s->{seen}{$id}) {
         if ($s->{seen}{$id}[2]) {
-	  $out = $s->{seen}{$id}[0];
-	  #warn "[<$out]\n";
-	  return "\${$out}";
-	}
+          $out = $s->{seen}{$id}[0];
+          #warn "[<$out]\n";
+          return "\${$out}";
+        }
       }
       else {
-	#warn "[>\\$name]\n";
-	$s->{seen}{$id} = ["\\$name", $ref];
+        #warn "[>\\$name]\n";
+        $s->{seen}{$id} = ["\\$name", $ref];
       }
     }
-    if (ref($ref) eq 'GLOB' or "$ref" =~ /=GLOB\([^()]+\)$/) {  # glob
+    $ref = \$val;
+    if (ref($ref) eq 'GLOB') {  # glob
       my $name = substr($val, 1);
-      if ($name =~ /^[A-Za-z_][\w:]*$/) {
-	$name =~ s/^main::/::/;
-	$sname = $name;
+      if ($name =~ /^[A-Za-z_][\w:]*$/ && $name ne 'main::') {
+        $name =~ s/^main::/::/;
+        $sname = $name;
       }
       else {
-	$sname = $s->_dump($name, "");
-	$sname = '{' . $sname . '}';
+        $sname = $s->_dump(
+          $name eq 'main::' || $] < 5.007 && $name eq "main::\0"
+            ? ''
+            : $name,
+          "",
+        );
+        $sname = '{' . $sname . '}';
       }
       if ($s->{purity}) {
-	my $k;
-	local ($s->{level}) = 0;
-	for $k (qw(SCALAR ARRAY HASH)) {
-	  my $gval = *$val{$k};
-	  next unless defined $gval;
-	  next if $k eq "SCALAR" && ! defined $$gval;  # always there
+        my $k;
+        local ($s->{level}) = 0;
+        for $k (qw(SCALAR ARRAY HASH)) {
+          my $gval = *$val{$k};
+          next unless defined $gval;
+          next if $k eq "SCALAR" && ! defined $$gval;  # always there
 
-	  # _dump can push into @post, so we hold our place using $postlen
-	  my $postlen = scalar @post;
-	  $post[$postlen] = "\*$sname = ";
-	  local ($s->{apad}) = " " x length($post[$postlen]) if $s->{indent} >= 2;
-	  $post[$postlen] .= $s->_dump($gval, "\*$sname\{$k\}");
-	}
+          # _dump can push into @post, so we hold our place using $postlen
+          my $postlen = scalar @post;
+          $post[$postlen] = "\*$sname = ";
+          local ($s->{apad}) = " " x length($post[$postlen]) if $s->{indent} >= 2;
+          $post[$postlen] .= $s->_dump($gval, "\*$sname\{$k\}");
+        }
       }
       $out .= '*' . $sname;
     }
@@ -520,13 +549,21 @@
     elsif (!defined($val)) {
       $out .= "undef";
     }
+    elsif (defined &_vstring and $v = _vstring($val)
+      and !_bad_vsmg || eval $v eq $val) {
+      $out .= $v;
+    }
+    elsif (!defined &_vstring
+       and ref $ref eq 'VSTRING' || eval{Scalar::Util::isvstring($val)}) {
+      $out .= sprintf "%vd", $val;
+    }
     elsif ($val =~ /^(?:0|-?[1-9]\d{0,8})\z/) { # safe decimal number
       $out .= $val;
     }
-    else {				 # string
+    else {                 # string
       if ($s->{useqq} or $val =~ tr/\0-\377//c) {
         # Fall back to qq if there's Unicode
-	$out .= qquote($val, $s->{useqq});
+        $out .= qquote($val, $s->{useqq});
       }
       else {
         $out .= _quote($val);
@@ -545,7 +582,7 @@
   }
   return $out;
 }
-  
+
 #
 # non-OO style of earlier version
 #
@@ -558,12 +595,8 @@
   return Data::Dumper->Dumpxs([@_], []);
 }
 
-sub Dumpf { return Data::Dumper->Dump(@_) }
-
-sub Dumpp { print Data::Dumper->Dump(@_) }
-
 #
-# reset the "seen" cache 
+# reset the "seen" cache
 #
 sub Reset {
   my($s) = shift;
@@ -665,8 +698,13 @@
   defined($v) ? (($s->{'deparse'} = $v), return $s) : $s->{'deparse'};
 }
 
+sub Sparseseen {
+  my($s, $v) = @_;
+  defined($v) ? (($s->{'noseen'} = $v), return $s) : $s->{'noseen'};
+}
+
 # used by qquote below
-my %esc = (  
+my %esc = (
     "\a" => "\\a",
     "\b" => "\\b",
     "\t" => "\\t",
@@ -682,7 +720,7 @@
   s/([\\\"\@\$])/\\$1/g;
   my $bytes; { use bytes; $bytes = length }
   s/([^\x00-\x7f])/'\x{'.sprintf("%x",ord($1)).'}'/ge if $bytes > length;
-  return qq("$_") unless 
+  return qq("$_") unless
     /[^ !"\#\$%&'()*+,\-.\/0-9:;<=>?\@A-Z[\\\]^_`a-z{|}~]/;  # fast exit
 
   my $high = shift || "";
@@ -719,6 +757,45 @@
 # access to sortsv() from XS
 sub _sortkeys { [ sort keys %{$_[0]} ] }
 
+sub _refine_name {
+    my $s = shift;
+    my ($name, $val, $i) = @_;
+    if (defined $name) {
+      if ($name =~ /^[*](.*)$/) {
+        if (defined $val) {
+            $name = (ref $val eq 'ARRAY') ? ( "\@" . $1 ) :
+              (ref $val eq 'HASH')  ? ( "\%" . $1 ) :
+              (ref $val eq 'CODE')  ? ( "\*" . $1 ) :
+              ( "\$" . $1 ) ;
+        }
+        else {
+          $name = "\$" . $1;
+        }
+      }
+      elsif ($name !~ /^\$/) {
+        $name = "\$" . $name;
+      }
+    }
+    else { # no names provided
+      $name = "\$" . $s->{varname} . $i;
+    }
+    return $name;
+}
+
+sub _compose_out {
+    my $s = shift;
+    my ($valstr, $postref) = @_;
+    my $out = "";
+    $out .= $s->{pad} . $valstr . $s->{sep};
+    if (@{$postref}) {
+        $out .= $s->{pad} .
+            join(';' . $s->{sep} . $s->{pad}, @{$postref}) .
+            ';' .
+            $s->{sep};
+    }
+    return $out;
+}
+
 1;
 __END__
 
@@ -759,7 +836,8 @@
 structures correctly.
 
 The return value can be C<eval>ed to get back an identical copy of the
-original reference structure.
+original reference structure.  (Please do consider the security implications
+of eval'ing code from untrusted sources!)
 
 Any references that are the same as one of those passed in will be named
 C<$VAR>I<n> (where I<n> is a numeric suffix), and other duplicate references
@@ -777,7 +855,7 @@
 you need to ensure that any variables it accesses are previously declared.
 
 In the extended usage form, the references to be dumped can be given
-user-specified names.  If a name begins with a C<*>, the output will 
+user-specified names.  If a name begins with a C<*>, the output will
 describe the dereferenced type of the supplied reference for hashes and
 arrays, and coderefs.  Output of names will be avoided where possible if
 the C<Terse> flag is set.
@@ -787,7 +865,7 @@
 chained together.
 
 Several styles of output are possible, all controlled by setting
-the C<Indent> flag.  See L<Configuration Variables or Methods> below 
+the C<Indent> flag.  See L<Configuration Variables or Methods> below
 for details.
 
 
@@ -839,15 +917,21 @@
 
 =item I<$OBJ>->Values(I<[ARRAYREF]>)
 
-Queries or replaces the internal array of values that will be dumped.
-When called without arguments, returns the values.  Otherwise, returns the
-object itself.
+Queries or replaces the internal array of values that will be dumped.  When
+called without arguments, returns the values as a list.  When called with a
+reference to an array of replacement values, returns the object itself.  When
+called with any other type of argument, dies.
 
 =item I<$OBJ>->Names(I<[ARRAYREF]>)
 
 Queries or replaces the internal array of user supplied names for the values
-that will be dumped.  When called without arguments, returns the names.
-Otherwise, returns the object itself.
+that will be dumped.  When called without arguments, returns the names.  When
+called with an array of replacement names, returns the object itself.  If the
+number of replacment names exceeds the number of values to be named, the
+excess names will not be used.  If the number of replacement names falls short
+of the number of values to be named, the list of replacment names will be
+exhausted and remaining values will not be renamed.  When
+called with any other type of argument, dies.
 
 =item I<$OBJ>->Reset
 
@@ -874,7 +958,7 @@
 Several configuration variables can be used to control the kind of output
 generated when using the procedural interface.  These variables are usually
 C<local>ized in a block so that other parts of the code are not affected by
-the change.  
+the change.
 
 These variables determine the default state of the object created by calling
 the C<new> method, but cannot be used to alter the state of the object
@@ -987,7 +1071,7 @@
 $Data::Dumper::Quotekeys  I<or>  $I<OBJ>->Quotekeys(I<[NEWVAL]>)
 
 Can be set to a boolean value to control whether hash keys are quoted.
-A false value will avoid quoting hash keys when it looks like a simple
+A defined false value will avoid quoting hash keys when it looks like a simple
 string.  Default is 1, which will always enclose hash keys in quotes.
 
 =item *
@@ -1019,8 +1103,8 @@
 Can be set to a positive integer that specifies the depth beyond which
 we don't venture into a structure.  Has no effect when
 C<Data::Dumper::Purity> is set.  (Useful in debugger when we often don't
-want to see more than enough).  Default is 0, which means there is 
-no maximum depth. 
+want to see more than enough).  Default is 0, which means there is
+no maximum depth.
 
 =item *
 
@@ -1064,6 +1148,26 @@
 Caution : use this option only if you know that your coderefs will be
 properly reconstructed by C<B::Deparse>.
 
+=item *
+
+$Data::Dumper::Sparseseen I<or>  $I<OBJ>->Sparseseen(I<[NEWVAL]>)
+
+By default, Data::Dumper builds up the "seen" hash of scalars that
+it has encountered during serialization. This is very expensive.
+This seen hash is necessary to support and even just detect circular
+references. It is exposed to the user via the C<Seen()> call both
+for writing and reading.
+
+If you, as a user, do not need explicit access to the "seen" hash,
+then you can set the C<Sparseseen> option to allow Data::Dumper
+to eschew building the "seen" hash for scalars that are known not
+to possess more than one reference. This speeds up serialization
+considerably if you use the XS implementation.
+
+Note: If you turn on C<Sparseseen>, then you must not rely on the
+content of the seen hash since its contents will be an
+implementation detail!
+
 =back
 
 =head2 Exports
@@ -1095,7 +1199,7 @@
     $foo = Foo->new;
     $fuz = Fuz->new;
     $boo = [ 1, [], "abcd", \*foo,
-             {1 => 'a', 023 => 'b', 0x45 => 'c'}, 
+             {1 => 'a', 023 => 'b', 0x45 => 'c'},
              \\"p\q\'r", $foo, $fuz];
 
     ########
@@ -1106,20 +1210,20 @@
     print($@) if $@;
     print Dumper($boo), Dumper($bar);  # pretty print (no array indices)
 
-    $Data::Dumper::Terse = 1;          # don't output names where feasible
-    $Data::Dumper::Indent = 0;         # turn off all pretty print
+    $Data::Dumper::Terse = 1;        # don't output names where feasible
+    $Data::Dumper::Indent = 0;       # turn off all pretty print
     print Dumper($boo), "\n";
 
-    $Data::Dumper::Indent = 1;         # mild pretty print
+    $Data::Dumper::Indent = 1;       # mild pretty print
     print Dumper($boo);
 
-    $Data::Dumper::Indent = 3;         # pretty print with array indices
+    $Data::Dumper::Indent = 3;       # pretty print with array indices
     print Dumper($boo);
 
-    $Data::Dumper::Useqq = 1;          # print strings in double quotes
+    $Data::Dumper::Useqq = 1;        # print strings in double quotes
     print Dumper($boo);
 
-    $Data::Dumper::Pair = " : ";       # specify hash key/value separator
+    $Data::Dumper::Pair = " : ";     # specify hash key/value separator
     print Dumper($boo);
 
 
@@ -1185,20 +1289,20 @@
     sub new { bless { state => 'awake' }, shift }
     sub Freeze {
         my $s = shift;
-	print STDERR "preparing to sleep\n";
-	$s->{state} = 'asleep';
-	return bless $s, 'Foo::ZZZ';
+        print STDERR "preparing to sleep\n";
+        $s->{state} = 'asleep';
+        return bless $s, 'Foo::ZZZ';
     }
 
     package Foo::ZZZ;
     sub Thaw {
         my $s = shift;
-	print STDERR "waking up\n";
-	$s->{state} = 'awake';
-	return bless $s, 'Foo';
+        print STDERR "waking up\n";
+        $s->{state} = 'awake';
+        return bless $s, 'Foo';
     }
 
-    package Foo;
+    package main;
     use Data::Dumper;
     $a = Foo->new;
     $b = Data::Dumper->new([$a], ['c']);
@@ -1297,7 +1401,7 @@
 
 =head1 VERSION
 
-Version 2.130_02  (Dec 20 2010)
+Version 2.145  (March 15 2013))
 
 =head1 SEE ALSO
 


Property changes on: vendor/perl/dist/dist/Data-Dumper/Dumper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/Dumper.xs
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/Dumper.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/Dumper.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,10 +12,14 @@
 #  define DD_USE_OLD_ID_FORMAT
 #endif
 
+#ifndef isWORDCHAR
+#   define isWORDCHAR(c) isALNUM(c)
+#endif
+
 static I32 num_q (const char *s, STRLEN slen);
 static I32 esc_q (char *dest, const char *src, STRLEN slen);
 static I32 esc_q_utf8 (pTHX_ SV *sv, const char *src, STRLEN slen);
-static I32 needs_quote(register const char *s);
+static I32 needs_quote(const char *s, STRLEN len);
 static SV *sv_x (pTHX_ SV *sv, const char *str, STRLEN len, I32 n);
 static I32 DD_dump (pTHX_ SV *val, const char *name, STRLEN namelen, SV *retval,
 		    HV *seenhv, AV *postav, I32 *levelp, I32 indent,
@@ -22,12 +26,16 @@
 		    SV *pad, SV *xpad, SV *apad, SV *sep, SV *pair,
 		    SV *freezer, SV *toaster,
 		    I32 purity, I32 deepcopy, I32 quotekeys, SV *bless,
-		    I32 maxdepth, SV *sortkeys);
+		    I32 maxdepth, SV *sortkeys, int use_sparse_seen_hash);
 
 #ifndef HvNAME_get
 #define HvNAME_get HvNAME
 #endif
 
+/* Perls 7 through portions of 15 used utf8_to_uvchr() which didn't have a
+ * length parameter.  This wrongly allowed reading beyond the end of buffer
+ * given malformed input */
+
 #if PERL_VERSION <= 6 /* Perl 5.6 and earlier */
 
 # ifdef EBCDIC
@@ -37,21 +45,43 @@
 # endif
 
 UV
-Perl_utf8_to_uvchr(pTHX_ U8 *s, STRLEN *retlen)
+Perl_utf8_to_uvchr_buf(pTHX_ U8 *s, U8 *send, STRLEN *retlen)
 {
-    const UV uv = utf8_to_uv(s, UTF8_MAXLEN, retlen,
+    const UV uv = utf8_to_uv(s, send - s, retlen,
                     ckWARN(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY);
     return UNI_TO_NATIVE(uv);
 }
 
 # if !defined(PERL_IMPLICIT_CONTEXT)
-#  define utf8_to_uvchr	     Perl_utf8_to_uvchr
+#  define utf8_to_uvchr_buf	     Perl_utf8_to_uvchr_buf
 # else
-#  define utf8_to_uvchr(a,b) Perl_utf8_to_uvchr(aTHX_ a,b)
+#  define utf8_to_uvchr_buf(a,b,c) Perl_utf8_to_uvchr_buf(aTHX_ a,b,c)
 # endif
 
 #endif /* PERL_VERSION <= 6 */
 
+/* Perl 5.7 through part of 5.15 */
+#if PERL_VERSION > 6 && PERL_VERSION <= 15 && ! defined(utf8_to_uvchr_buf)
+
+UV
+Perl_utf8_to_uvchr_buf(pTHX_ U8 *s, U8 *send, STRLEN *retlen)
+{
+    /* We have to discard <send> for these versions; hence can read off the
+     * end of the buffer if there is a malformation that indicates the
+     * character is longer than the space available */
+
+    const UV uv = utf8_to_uvchr(s, retlen);
+    return UNI_TO_NATIVE(uv);
+}
+
+# if !defined(PERL_IMPLICIT_CONTEXT)
+#  define utf8_to_uvchr_buf	     Perl_utf8_to_uvchr_buf
+# else
+#  define utf8_to_uvchr_buf(a,b,c) Perl_utf8_to_uvchr_buf(aTHX_ a,b,c)
+# endif
+
+#endif /* PERL_VERSION > 6 && <= 15 */
+
 /* Changes in 5.7 series mean that now IOK is only set if scalar is
    precisely integer but in 5.6 and earlier we need to do a more
    complex test  */
@@ -63,11 +93,12 @@
 
 /* does a string need to be protected? */
 static I32
-needs_quote(register const char *s)
+needs_quote(const char *s, STRLEN len)
 {
+    const char *send = s+len;
 TOP:
     if (s[0] == ':') {
-	if (*++s) {
+	if (++s<send) {
 	    if (*s++ != ':')
 		return 1;
 	}
@@ -75,8 +106,8 @@
 	    return 1;
     }
     if (isIDFIRST(*s)) {
-	while (*++s)
-	    if (!isALNUM(*s)) {
+	while (++s<send)
+	    if (!isWORDCHAR(*s)) {
 		if (*s == ':')
 		    goto TOP;
 		else
@@ -90,9 +121,9 @@
 
 /* count the number of "'"s and "\"s in string */
 static I32
-num_q(register const char *s, register STRLEN slen)
+num_q(const char *s, STRLEN slen)
 {
-    register I32 ret = 0;
+    I32 ret = 0;
 
     while (slen > 0) {
 	if (*s == '\'' || *s == '\\')
@@ -108,9 +139,9 @@
 /* slen number of characters in s will be escaped */
 /* destination must be long enough for additional chars */
 static I32
-esc_q(register char *d, register const char *s, register STRLEN slen)
+esc_q(char *d, const char *s, STRLEN slen)
 {
-    register I32 ret = 0;
+    I32 ret = 0;
 
     while (slen > 0) {
 	switch (*s) {
@@ -128,7 +159,7 @@
 }
 
 static I32
-esc_q_utf8(pTHX_ SV* sv, register const char *src, register STRLEN slen)
+esc_q_utf8(pTHX_ SV* sv, const char *src, STRLEN slen)
 {
     char *r, *rstart;
     const char *s = src;
@@ -146,7 +177,7 @@
 
     /* this will need EBCDICification */
     for (s = src; s < send; s += increment) {
-        const UV k = utf8_to_uvchr((U8*)s, NULL);
+        const UV k = utf8_to_uvchr_buf((U8*)s, (U8*) send, NULL);
 
         /* check for invalid utf8 */
         increment = (k == 0 && *s != '\0') ? 1 : UTF8SKIP(s);
@@ -183,7 +214,7 @@
         *r++ = '"';
 
         for (s = src; s < send; s += UTF8SKIP(s)) {
-            const UV k = utf8_to_uvchr((U8*)s, NULL);
+            const UV k = utf8_to_uvchr_buf((U8*)s, (U8*) send, NULL);
 
             if (k == '"' || k == '\\' || k == '$' || k == '@') {
                 *r++ = '\\';
@@ -266,7 +297,8 @@
 DD_dump(pTHX_ SV *val, const char *name, STRLEN namelen, SV *retval, HV *seenhv,
 	AV *postav, I32 *levelp, I32 indent, SV *pad, SV *xpad,
 	SV *apad, SV *sep, SV *pair, SV *freezer, SV *toaster, I32 purity,
-	I32 deepcopy, I32 quotekeys, SV *bless, I32 maxdepth, SV *sortkeys)
+	I32 deepcopy, I32 quotekeys, SV *bless, I32 maxdepth, SV *sortkeys,
+        int use_sparse_seen_hash)
 {
     char tmpbuf[128];
     U32 i;
@@ -316,7 +348,7 @@
 	{
 	    dSP; ENTER; SAVETMPS; PUSHMARK(sp);
 	    XPUSHs(val); PUTBACK;
-	    i = perl_call_method(SvPVX_const(freezer), G_EVAL|G_VOID);
+	    i = perl_call_method(SvPVX_const(freezer), G_EVAL|G_VOID|G_DISCARD);
 	    SPAGAIN;
 	    if (SvTRUE(ERRSV))
 		warn("WARNING(Freezer method call failed): %"SVf"", ERRSV);
@@ -462,14 +494,17 @@
         {
             STRLEN rlen;
 	    const char *rval = SvPV(val, rlen);
-	    const char *slash = strchr(rval, '/');
+	    const char * const rend = rval+rlen;
+	    const char *slash = rval;
 	    sv_catpvn(retval, "qr/", 3);
-	    while (slash) {
+	    for (;slash < rend; slash++) {
+	      if (*slash == '\\') { ++slash; continue; }
+	      if (*slash == '/') {    
 		sv_catpvn(retval, rval, slash-rval);
 		sv_catpvn(retval, "\\/", 2);
 		rlen -= slash-rval+1;
 		rval = slash+1;
-		slash = strchr(rval, '/');
+	      }
 	    }
 	    sv_catpvn(retval, rval, rlen);
 	    sv_catpvn(retval, "/", 1);
@@ -489,7 +524,7 @@
 		DD_dump(aTHX_ ival, SvPVX_const(namesv), SvCUR(namesv), retval, seenhv,
 			postav, levelp,	indent, pad, xpad, apad, sep, pair,
 			freezer, toaster, purity, deepcopy, quotekeys, bless,
-			maxdepth, sortkeys);
+			maxdepth, sortkeys, use_sparse_seen_hash);
 		sv_catpvn(retval, ")}", 2);
 	    }						     /* plain */
 	    else {
@@ -497,7 +532,7 @@
 		DD_dump(aTHX_ ival, SvPVX_const(namesv), SvCUR(namesv), retval, seenhv,
 			postav, levelp,	indent, pad, xpad, apad, sep, pair,
 			freezer, toaster, purity, deepcopy, quotekeys, bless,
-			maxdepth, sortkeys);
+			maxdepth, sortkeys, use_sparse_seen_hash);
 	    }
 	    SvREFCNT_dec(namesv);
 	}
@@ -509,7 +544,7 @@
 	    DD_dump(aTHX_ ival, SvPVX_const(namesv), SvCUR(namesv), retval, seenhv,
 		    postav, levelp,	indent, pad, xpad, apad, sep, pair,
 		    freezer, toaster, purity, deepcopy, quotekeys, bless,
-		    maxdepth, sortkeys);
+		    maxdepth, sortkeys, use_sparse_seen_hash);
 	    SvREFCNT_dec(namesv);
 	}
 	else if (realtype == SVt_PVAV) {
@@ -582,7 +617,7 @@
 		DD_dump(aTHX_ elem, iname, ilen, retval, seenhv, postav,
 			levelp,	indent, pad, xpad, apad, sep, pair,
 			freezer, toaster, purity, deepcopy, quotekeys, bless,
-			maxdepth, sortkeys);
+			maxdepth, sortkeys, use_sparse_seen_hash);
 		if (ix < ixmax)
 		    sv_catpvn(retval, ",", 1);
 	    }
@@ -647,7 +682,7 @@
 		    (void)hv_iterinit((HV*)ival);
 		    while ((entry = hv_iternext((HV*)ival))) {
 			sv = hv_iterkeysv(entry);
-			SvREFCNT_inc(sv);
+			(void)SvREFCNT_inc(sv);
 			av_push(keys, sv);
 		    }
 # ifdef USE_LOCALE_NUMERIC
@@ -703,11 +738,11 @@
 		if (sortkeys) {
 		    char *key;
 		    svp = av_fetch(keys, i, FALSE);
-		    keysv = svp ? *svp : sv_mortalcopy(&PL_sv_undef);
+		    keysv = svp ? *svp : sv_newmortal();
 		    key = SvPV(keysv, keylen);
 		    svp = hv_fetch((HV*)ival, key,
                                    SvUTF8(keysv) ? -(I32)keylen : (I32)keylen, 0);
-		    hval = svp ? *svp : sv_mortalcopy(&PL_sv_undef);
+		    hval = svp ? *svp : sv_newmortal();
 		}
 		else {
 		    keysv = hv_iterkeysv(entry);
@@ -741,7 +776,7 @@
                    more common doesn't need quoting case.
                    The code is also smaller (22044 vs 22260) because I've been
                    able to pull the common logic out to both sides.  */
-                if (quotekeys || needs_quote(key)) {
+                if (quotekeys || needs_quote(key,keylen)) {
                     if (do_utf8) {
                         STRLEN ocur = SvCUR(retval);
                         nlen = esc_q_utf8(aTHX_ retval, key, klen);
@@ -789,7 +824,7 @@
 		DD_dump(aTHX_ hval, SvPVX_const(sname), SvCUR(sname), retval, seenhv,
 			postav, levelp,	indent, pad, xpad, newapad, sep, pair,
 			freezer, toaster, purity, deepcopy, quotekeys, bless,
-			maxdepth, sortkeys);
+			maxdepth, sortkeys, use_sparse_seen_hash);
 		SvREFCNT_dec(sname);
 		Safefree(nkey_buffer);
 		if (indent >= 2)
@@ -814,7 +849,7 @@
 		warn("Encountered CODE ref, using dummy placeholder");
 	}
 	else {
-	    warn("cannot handle ref type %ld", realtype);
+	    warn("cannot handle ref type %d", (int)realtype);
 	}
 
 	if (realpack && !no_bless) {  /* free blessed allocs */
@@ -856,6 +891,7 @@
     }
     else {
 	STRLEN i;
+	const MAGIC *mg;
 	
 	if (namelen) {
 #ifdef DD_USE_OLD_ID_FORMAT
@@ -878,7 +914,14 @@
 		    return 1;
 		}
 	    }
-	    else if (val != &PL_sv_undef) {
+            /* If we're allowed to keep only a sparse "seen" hash
+             * (IOW, the user does not expect it to contain everything
+             * after the dump, then only store in seen hash if the SV
+             * ref count is larger than 1. If it's 1, then we know that
+             * there is no other reference, duh. This is an optimization.
+             * Note that we'd have to check for weak-refs, too, but this is
+             * already the branch for non-refs only. */
+	    else if (val != &PL_sv_undef && (!use_sparse_seen_hash || SvREFCNT(val) > 1)) {
 		SV * const namesv = newSVpvn("\\", 1);
 		sv_catpvn(namesv, name, namelen);
 		seenentry = newAV();
@@ -916,9 +959,29 @@
 	    if(i) ++c, --i;			/* just get the name */
 	    if (i >= 6 && strncmp(c, "main::", 6) == 0) {
 		c += 4;
-		i -= 4;
+#if PERL_VERSION < 7
+		if (i == 6 || (i == 7 && c[6] == '\0'))
+#else
+		if (i == 6)
+#endif
+		    i = 0; else i -= 4;
 	    }
-	    if (needs_quote(c)) {
+	    if (needs_quote(c,i)) {
+#ifdef GvNAMEUTF8
+	      if (GvNAMEUTF8(val)) {
+		sv_grow(retval, SvCUR(retval)+2);
+		r = SvPVX(retval)+SvCUR(retval);
+		r[0] = '*'; r[1] = '{';
+		SvCUR_set(retval, SvCUR(retval)+2);
+		esc_q_utf8(aTHX_ retval, c, i);
+		sv_grow(retval, SvCUR(retval)+2);
+		r = SvPVX(retval)+SvCUR(retval);
+		r[0] = '}'; r[1] = '\0';
+		i = 1;
+	      }
+	      else
+#endif
+	      {
 		sv_grow(retval, SvCUR(retval)+6+2*i);
 		r = SvPVX(retval)+SvCUR(retval);
 		r[0] = '*'; r[1] = '{';	r[2] = '\'';
@@ -926,6 +989,7 @@
 		i += 3;
 		r[i++] = '\''; r[i++] = '}';
 		r[i] = '\0';
+	      }
 	    }
 	    else {
 		sv_grow(retval, SvCUR(retval)+i+2);
@@ -969,7 +1033,7 @@
 				seenhv, postav, &nlevel, indent, pad, xpad,
 				newapad, sep, pair, freezer, toaster, purity,
 				deepcopy, quotekeys, bless, maxdepth, 
-				sortkeys);
+				sortkeys, use_sparse_seen_hash);
 			SvREFCNT_dec(e);
 		    }
 		}
@@ -981,6 +1045,20 @@
 	else if (val == &PL_sv_undef || !SvOK(val)) {
 	    sv_catpvn(retval, "undef", 5);
 	}
+#ifdef SvVOK
+	else if (SvMAGICAL(val) && (mg = mg_find(val, 'V'))) {
+# if !defined(PL_vtbl_vstring) && PERL_VERSION < 17
+	    SV * const vecsv = sv_newmortal();
+#  if PERL_VERSION < 10
+	    scan_vstring(mg->mg_ptr, vecsv);
+#  else
+	    scan_vstring(mg->mg_ptr, mg->mg_ptr + mg->mg_len, vecsv);
+#  endif
+	    if (!sv_eq(vecsv, val)) goto integer_came_from_string;
+# endif
+	    sv_catpvn(retval, (const char *)mg->mg_ptr, mg->mg_len);
+	}
+#endif
 	else {
         integer_came_from_string:
 	    c = SvPV(val, i);
@@ -1037,6 +1115,7 @@
 	    I32 purity, deepcopy, quotekeys, maxdepth = 0;
 	    char tmpbuf[1024];
 	    I32 gimme = GIMME;
+            int use_sparse_seen_hash = 0;
 
 	    if (!SvROK(href)) {		/* call new to get an object first */
 		if (items < 2)
@@ -1046,10 +1125,11 @@
 		SAVETMPS;
 		
 		PUSHMARK(sp);
-		XPUSHs(href);
-		XPUSHs(sv_2mortal(newSVsv(ST(1))));
+                EXTEND(SP, 3); /* 3 == max of all branches below */
+		PUSHs(href);
+		PUSHs(sv_2mortal(newSVsv(ST(1))));
 		if (items >= 3)
-		    XPUSHs(sv_2mortal(newSVsv(ST(2))));
+		    PUSHs(sv_2mortal(newSVsv(ST(2))));
 		PUTBACK;
 		i = perl_call_method("new", G_SCALAR);
 		SPAGAIN;
@@ -1079,6 +1159,10 @@
 
 		if ((svp = hv_fetch(hv, "seen", 4, FALSE)) && SvROK(*svp))
 		    seenhv = (HV*)SvRV(*svp);
+                else
+                    use_sparse_seen_hash = 1;
+		if ((svp = hv_fetch(hv, "noseen", 6, FALSE)))
+		    use_sparse_seen_hash = (SvOK(*svp) && SvIV(*svp) != 0);
 		if ((svp = hv_fetch(hv, "todump", 6, FALSE)) && SvROK(*svp))
 		    todumpav = (AV*)SvRV(*svp);
 		if ((svp = hv_fetch(hv, "names", 5, FALSE)) && SvROK(*svp))
@@ -1196,7 +1280,7 @@
 		    DD_dump(aTHX_ val, SvPVX_const(name), SvCUR(name), valstr, seenhv,
 			    postav, &level, indent, pad, xpad, newapad, sep, pair,
 			    freezer, toaster, purity, deepcopy, quotekeys,
-			    bless, maxdepth, sortkeys);
+			    bless, maxdepth, sortkeys, use_sparse_seen_hash);
 		    SPAGAIN;
 		
 		    if (indent >= 2 && !terse)
@@ -1244,3 +1328,21 @@
 	    if (gimme == G_SCALAR)
 		XPUSHs(sv_2mortal(retval));
 	}
+
+SV *
+Data_Dumper__vstring(sv)
+	SV	*sv;
+	PROTOTYPE: $
+	CODE:
+	{
+#ifdef SvVOK
+	    const MAGIC *mg;
+	    RETVAL =
+		SvMAGICAL(sv) && (mg = mg_find(sv, 'V'))
+		 ? newSVpvn((const char *)mg->mg_ptr, mg->mg_len)
+		 : &PL_sv_undef;
+#else
+	    RETVAL = &PL_sv_undef;
+#endif
+	}
+	OUTPUT: RETVAL


Property changes on: vendor/perl/dist/dist/Data-Dumper/Dumper.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Data-Dumper/Todo
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/Todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/Todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Data-Dumper/Todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/t/bless.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/bless.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/t/bless.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,16 +5,22 @@
 # Test::More 0.60 required because:
 # - is_deeply(undef, $not_undef); now works. [rt.cpan.org 9441]
 
-BEGIN { plan tests => 1+5*2; }
+BEGIN { plan tests => 1+2*5; }
 
 BEGIN { use_ok('Data::Dumper') };
 
 # RT 39420: Data::Dumper fails to escape bless class name
 
-# test under XS and pure Perl version
-foreach $Data::Dumper::Useperl (0, 1) {
+run_tests_for_bless();
+SKIP: {
+    skip "XS version was unavailable, so we already ran with pure Perl", 5
+        if $Data::Dumper::Useperl;
+    local $Data::Dumper::Useperl = 1;
+    run_tests_for_bless();
+}
 
-#diag("\$Data::Dumper::Useperl = $Data::Dumper::Useperl");
+sub run_tests_for_bless {
+note("\$Data::Dumper::Useperl = $Data::Dumper::Useperl");
 
 {
 my $t = bless( {}, q{a'b} );
@@ -52,4 +58,5 @@
 is($dt, $o, "We can dump blessed qr//'s properly");
 
 }
-}
+
+} # END sub run_tests_for_bless()


Property changes on: vendor/perl/dist/dist/Data-Dumper/t/bless.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/t/bugs.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/bugs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/t/bugs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!perl
 #
-# regression tests for old bugs that don't fit other categories
+# regression tests for old bugs that do not fit other categories
 
 BEGIN {
     require Config; import Config;
@@ -12,7 +12,7 @@
 }
 
 use strict;
-use Test::More tests => 7;
+use Test::More tests => 15;
 use Data::Dumper;
 
 {
@@ -81,7 +81,7 @@
 ok(1, "[perl #56766]"); # Still no core dump? We are fine.
 
 SKIP: {
- skip "perl 5.10.1 crashes and DD cannot help it" if $] < 5.0119999;
+ skip "perl 5.10.1 crashes and DD cannot help it", 1 if $] < 5.0119999;
  # [perl #72332] Segfault on empty-string glob
  Data::Dumper->Dump([*{*STDERR{IO}}]);
  ok("ok", #ok
@@ -100,4 +100,48 @@
     ok("ok", "no crash dumping malformed utf8 with the utf8 flag on");
 }
 
+{
+  # We have to test reference equivalence, rather than actual output, as
+  # Perl itself is buggy prior to 5.15.6.  Output from DD should at least
+  # evaluate to the same typeglob, regardless of perl bugs.
+  my $tests = sub {
+    my $VAR1;
+    no strict 'refs';
+    is eval(Dumper \*{"foo::b\0ar"}), \*{"foo::b\0ar"},
+      'GVs with nulls';
+    # There is a strange 5.6 bug that causes the eval to fail a supposed
+    # strict vars test (involving $VAR1).  Mentioning the glob beforehand
+    # somehow makes it go away.
+    () = \*{chr 256};
+    is eval Dumper(\*{chr 256})||die ($@), \*{chr 256},
+      'GVs with UTF8 names (or not, depending on perl version)';
+    () = \*{"\0".chr 256}; # same bug
+    is eval Dumper(\*{"\0".chr 256}), \*{"\0".chr 256},
+      'GVs with UTF8 and nulls';
+  };
+  SKIP: {
+    skip "no XS", 3 if not defined &Data::Dumper::Dumpxs;
+    local $Data::Dumper::Useperl = 0;
+    &$tests;
+  }
+  local $Data::Dumper::Useperl = 1;
+  &$tests;
+}
+
+{
+  # Test reference equivalence of dumping *{""}.
+  my $tests = sub {
+    my $VAR1;
+    no strict 'refs';
+    is eval(Dumper \*{""}), \*{""}, 'dumping \*{""}';
+  };
+  SKIP: {
+    skip "no XS", 1 if not defined &Data::Dumper::Dumpxs;
+    local $Data::Dumper::Useperl = 0;
+    &$tests;
+  }
+  local $Data::Dumper::Useperl = 1;
+  &$tests;
+}
+
 # EOF


Property changes on: vendor/perl/dist/dist/Data-Dumper/t/bugs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/t/dumper.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/dumper.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/t/dumper.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -83,11 +83,11 @@
 $Data::Dumper::Useperl = 1;
 if (defined &Data::Dumper::Dumpxs) {
   print "### XS extension loaded, will run XS tests\n";
-  $TMAX = 378; $XS = 1;
+  $TMAX = 402; $XS = 1;
 }
 else {
   print "### XS extensions not loaded, will NOT run XS tests\n";
-  $TMAX = 189; $XS = 0;
+  $TMAX = 201; $XS = 0;
 }
 
 print "1..$TMAX\n";
@@ -125,6 +125,11 @@
 TEST q(Data::Dumper->Dump([$a,$b,$c], [qw(a b), 6]));
 TEST q(Data::Dumper->Dumpxs([$a,$b,$c], [qw(a b), 6])) if $XS;
 
+SCOPE: {
+  local $Data::Dumper::Sparseseen = 1;
+  TEST q(Data::Dumper->Dump([$a,$b,$c], [qw(a b), 6]));
+  TEST q(Data::Dumper->Dumpxs([$a,$b,$c], [qw(a b), 6])) if $XS;
+}
 
 ############# 7
 ##
@@ -150,6 +155,12 @@
 TEST q(Data::Dumper->Dump([$a, $b], [qw(*a b)])); # print as @a
 TEST q(Data::Dumper->Dumpxs([$a, $b], [qw(*a b)])) if $XS;
 
+SCOPE: {
+  local $Data::Dumper::Sparseseen = 1;
+  TEST q(Data::Dumper->Dump([$a, $b], [qw(*a b)])); # print as @a
+  TEST q(Data::Dumper->Dumpxs([$a, $b], [qw(*a b)])) if $XS;
+}
+
 ############# 13
 ##
 $WANT = <<'EOT';
@@ -494,7 +505,7 @@
   $dogs[2] = \%kennel;
   $mutts = \%kennel;
   $mutts = $mutts;         # avoid warning
-  
+
 ############# 85
 ##
   $WANT = <<'EOT';
@@ -522,7 +533,7 @@
 	   $d->Dumpxs;
 	  );
   }
-  
+
 ############# 91
 ##
   $WANT = <<'EOT';
@@ -533,7 +544,7 @@
 
   TEST q($d->Dump);
   TEST q($d->Dumpxs) if $XS;
-  
+
 ############# 97
 ##
   $WANT = <<'EOT';
@@ -549,7 +560,7 @@
 #%mutts = %kennels;
 EOT
 
-  
+
   TEST q($d->Reset; $d->Dump);
   if ($XS) {
     TEST q($d->Reset; $d->Dumpxs);
@@ -582,7 +593,7 @@
 	   $d->Dumpxs;
 	  );
   }
-  
+
 ############# 109
 ##
   TEST q($d->Reset->Dump);
@@ -614,7 +625,7 @@
   if ($XS) {
     TEST q($d->Reset->Dumpxs);
   }
-  
+
 }
 
 {
@@ -914,7 +925,7 @@
   local $Data::Dumper::Sortkeys = \&sort205;
   sub sort205 {
     my $hash = shift;
-    return [ 
+    return [
       $hash eq $c ? (sort { $a <=> $b } keys %$hash)
 		  : (reverse sort keys %$hash)
     ];
@@ -1463,6 +1474,66 @@
 
   $foo = [ join "", map chr, 0..255, 0x20ac ];
   local $Data::Dumper::Useqq = 1;
-  TEST q(Dumper($foo)), 'All latin1 characters with utf8 flag including a wide character';
+  if ($] < 5.007) {
+    print "not ok " . (++$TNUM) . " # TODO - fails under 5.6\n" for 1..3;
+  }
+  else {
+    TEST q(Dumper($foo)),
+	 'All latin1 characters with utf8 flag including a wide character';
+  }
   for (1..3) { print "not ok " . (++$TNUM) . " # TODO NYI\n" if $XS } # TEST q(Data::Dumper::DumperX($foo)) if $XS;
 }
+
+############# 378
+{
+  # If XS cannot load, the pure-Perl version cannot deparse vstrings with
+  # underscores properly.  In 5.8.0, vstrings are just strings.
+  my $no_vstrings = <<'NOVSTRINGS';
+#$a = \'ABC';
+#$b = \'ABC';
+#$c = \'ABC';
+#$d = \'ABC';
+NOVSTRINGS
+  my $vstrings_corr = <<'VSTRINGS_CORRECT';
+#$a = \v65.66.67;
+#$b = \v65.66.067;
+#$c = \v65.66.6_7;
+#$d = \'ABC';
+VSTRINGS_CORRECT
+  $WANT = $] <= 5.0080001
+          ? $no_vstrings
+          : $vstrings_corr;
+
+  @::_v = (
+    \v65.66.67,
+    \($] < 5.007 ? v65.66.67 : eval 'v65.66.067'),
+    \v65.66.6_7,
+    \~v190.189.188
+  );
+  if ($] >= 5.010) {
+    TEST q(Data::Dumper->Dump(\@::_v, [qw(a b c d)])), 'vstrings';
+    TEST q(Data::Dumper->Dumpxs(\@::_v, [qw(a b c d)])), 'xs vstrings'
+      if $XS;
+  }
+  else { # Skip tests before 5.10. vstrings considered funny before
+    SKIP_TEST "vstrings considered funny before 5.10.0";
+    SKIP_TEST "vstrings considered funny before 5.10.0 (XS)"
+      if $XS;
+  }
+}
+
+############# 384
+{
+  # [perl #107372] blessed overloaded globs
+  $WANT = <<'EOW';
+#$VAR1 = bless( \*::finkle, 'overtest' );
+EOW
+  {
+    package overtest;
+    use overload fallback=>1, q\""\=>sub{"oaoaa"};
+  }
+  TEST q(Data::Dumper->Dump([bless \*finkle, "overtest"])),
+    'blessed overloaded globs';
+  TEST q(Data::Dumper->Dumpxs([\*finkle])), 'blessed overloaded globs (xs)'
+    if $XS;
+}


Property changes on: vendor/perl/dist/dist/Data-Dumper/t/dumper.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/t/freezer.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/freezer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/t/freezer.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,74 +7,104 @@
     require Config; import Config;
     no warnings 'once';
     if ($Config{'extensions'} !~ /\bData\/Dumper\b/) {
-	print "1..0 # Skip: Data::Dumper was not built\n";
-	exit 0;
+        print "1..0 # Skip: Data::Dumper was not built\n";
+        exit 0;
     }
 }
 
 use strict;
-use Test::More qw(no_plan);
+use Test::More tests =>  8;
 use Data::Dumper;
-$Data::Dumper::Freezer = 'freeze';
+use lib qw( ./t/lib );
+use Testing qw( _dumptostr );
 
-# test for seg-fault bug when freeze() returns a non-ref
-my $foo = Test1->new("foo");
-my $dumped_foo = Dumper($foo);
-ok($dumped_foo, 
-   "Use of freezer sub which returns non-ref worked.");
-like($dumped_foo, qr/frozed/, 
-     "Dumped string has the key added by Freezer.");
+{
+    local $Data::Dumper::Freezer = 'freeze';
 
-# run the same tests with useperl.  this always worked
+    # test for seg-fault bug when freeze() returns a non-ref
+    {
+        my $foo = Test1->new("foo");
+        my $dumped_foo = Dumper($foo);
+        ok($dumped_foo,
+           "Use of freezer sub which returns non-ref worked.");
+        like($dumped_foo, qr/frozed/,
+             "Dumped string has the key added by Freezer with useperl.");
+        like(join(" ", Dumper($foo)), qr/\A\$VAR1 = /,
+             "Dumped list doesn't begin with Freezer's return value with useperl");
+    }
+
+
+    # test for warning when an object does not have a freeze()
+    {
+        my $warned = 0;
+        local $SIG{__WARN__} = sub { $warned++ };
+        my $bar = Test2->new("bar");
+        my $dumped_bar = Dumper($bar);
+        is($warned, 0, "A missing freeze() shouldn't warn.");
+    }
+
+
+    # a freeze() which die()s should still trigger the warning
+    {
+        my $warned = 0;
+        local $SIG{__WARN__} = sub { $warned++; };
+        my $bar = Test3->new("bar");
+        my $dumped_bar = Dumper($bar);
+        is($warned, 1, "A freeze() which die()s should warn.");
+    }
+
+}
+
 {
-    local $Data::Dumper::Useperl = 1;
+    my ($obj, %dumps);
     my $foo = Test1->new("foo");
-    my $dumped_foo = Dumper($foo);
-    ok($dumped_foo, 
-       "Use of freezer sub which returns non-ref worked with useperl");
-    like($dumped_foo, qr/frozed/, 
-         "Dumped string has the key added by Freezer with useperl.");
+
+    local $Data::Dumper::Freezer = 'freeze';
+    $obj = Data::Dumper->new( [ $foo ] );
+    $dumps{'ddftrue'} = _dumptostr($obj);
+    local $Data::Dumper::Freezer = '';
+
+    $obj = Data::Dumper->new( [ $foo ] );
+    $obj->Freezer('freeze');
+    $dumps{'objset'} = _dumptostr($obj);
+
+    is($dumps{'ddftrue'}, $dumps{'objset'},
+        "\$Data::Dumper::Freezer and Freezer() are equivalent");
 }
 
-# test for warning when an object doesn't have a freeze()
 {
-    my $warned = 0;
-    local $SIG{__WARN__} = sub { $warned++ };
-    my $bar = Test2->new("bar");
-    my $dumped_bar = Dumper($bar);
-    is($warned, 0, "A missing freeze() shouldn't warn.");
-}
+    my ($obj, %dumps);
+    my $foo = Test1->new("foo");
 
+    local $Data::Dumper::Freezer = '';
+    $obj = Data::Dumper->new( [ $foo ] );
+    $dumps{'ddfemptystr'} = _dumptostr($obj);
 
-# run the same test with useperl, which always worked
-{
-    local $Data::Dumper::Useperl = 1;
-    my $warned = 0;
-    local $SIG{__WARN__} = sub { $warned++ };
-    my $bar = Test2->new("bar");
-    my $dumped_bar = Dumper($bar);
-    is($warned, 0, "A missing freeze() shouldn't warn with useperl");
+    local $Data::Dumper::Freezer = undef;
+    $obj = Data::Dumper->new( [ $foo ] );
+    $dumps{'ddfundef'} = _dumptostr($obj);
+
+    is($dumps{'ddfundef'}, $dumps{'ddfemptystr'},
+        "\$Data::Dumper::Freezer same with empty string or undef");
 }
 
-# a freeze() which die()s should still trigger the warning
 {
-    my $warned = 0;
-    local $SIG{__WARN__} = sub { $warned++; };
-    my $bar = Test3->new("bar");
-    my $dumped_bar = Dumper($bar);
-    is($warned, 1, "A freeze() which die()s should warn.");
-}
+    my ($obj, %dumps);
+    my $foo = Test1->new("foo");
 
-# the same should work in useperl
-{
-    local $Data::Dumper::Useperl = 1;
-    my $warned = 0;
-    local $SIG{__WARN__} = sub { $warned++; };
-    my $bar = Test3->new("bar");
-    my $dumped_bar = Dumper($bar);
-    is($warned, 1, "A freeze() which die()s should warn with useperl.");
+    $obj = Data::Dumper->new( [ $foo ] );
+    $obj->Freezer('');
+    $dumps{'objemptystr'} = _dumptostr($obj);
+
+    $obj = Data::Dumper->new( [ $foo ] );
+    $obj->Freezer(undef);
+    $dumps{'objundef'} = _dumptostr($obj);
+
+    is($dumps{'objundef'}, $dumps{'objemptystr'},
+        "Freezer() same with empty string or undef");
 }
 
+
 # a package with a freeze() which returns a non-ref
 package Test1;
 sub new { bless({name => $_[1]}, $_[0]) }


Property changes on: vendor/perl/dist/dist/Data-Dumper/t/freezer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Data-Dumper/t/overload.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/t/overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Data-Dumper/t/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Data-Dumper/t/pair.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/pair.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/t/pair.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Data-Dumper/t/pair.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/t/perl-74170.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/perl-74170.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/t/perl-74170.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,20 +4,20 @@
 # Since it’s so large, it gets its own file.
 
 BEGIN {
-    require Config; import Config;
-    no warnings 'once';
-    if ($Config{'extensions'} !~ /\bData\/Dumper\b/) {
-	print "1..0 # Skip: Data::Dumper was not built\n";
-	exit 0;
+    if ($ENV{PERL_CORE}){
+        require Config; import Config;
+        no warnings 'once';
+        if ($Config{'extensions'} !~ /\bData\/Dumper\b/) {
+            print "1..0 # Skip: Data::Dumper was not built\n";
+            exit 0;
+        }
     }
 }
-
 use strict;
 use Test::More tests => 1;
 use Data::Dumper;
 
-our %repos = ();
-&real_life_setup();
+our %repos = real_life_setup();
 
 $Data::Dumper::Indent = 1;
 # A custom sort sub is necessary for reproducing the bug, as this is where
@@ -25,13 +25,14 @@
 $Data::Dumper::Sortkeys = sub { return [ reverse sort keys %{$_[0]} ]; }
     unless exists $ENV{NO_SORT_SUB};
 
-ok +Data::Dumper->Dumpxs([\%repos], [qw(*repos)]);
+ok(Data::Dumper->Dump([\%repos], [qw(*repos)]), "RT 74170 test");
 
 sub real_life_setup {
     # set up the %repos hash in a manner that reflects a real run of
-    # gitolite's "compiler" script:
+    # the gitolite "compiler" script:
     # Yes, all this is necessary to get the stack in such a state that the
     # custom sort sub will trigger a reallocation.
+    my %repos;
     push @{ $repos{''}{'@all'} }, ();
     push @{ $repos{''}{'guser86'} }, ();
     push @{ $repos{''}{'guser87'} }, ();
@@ -140,4 +141,5 @@
     $repos{''}{R}{'user8'} = 1;
     $repos{''}{W}{'user8'} = 1;
     push @{ $repos{''}{'user8'} }, ();
+    return %repos;
 }


Property changes on: vendor/perl/dist/dist/Data-Dumper/t/perl-74170.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Data-Dumper/t/terse.t
===================================================================
--- vendor/perl/dist/dist/Data-Dumper/t/terse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Data-Dumper/t/terse.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,10 +2,12 @@
 use strict;
 use warnings;
 
-use Test::More tests => 2;
-
 use Data::Dumper;
+use Test::More tests => 6;
+use lib qw( ./t/lib );
+use Testing qw( _dumptostr );
 
+
 my $hash = { foo => 42 };
 
 for my $useperl (0..1) {
@@ -20,3 +22,40 @@
 }
 WANT
 }
+
+my (%dumpstr);
+my $dumper;
+
+$dumper = Data::Dumper->new([$hash]);
+$dumpstr{noterse} = _dumptostr($dumper);
+# $VAR1 = {
+#           'foo' => 42
+#         };
+
+$dumper = Data::Dumper->new([$hash]);
+$dumper->Terse();
+$dumpstr{terse_no_arg} = _dumptostr($dumper);
+
+$dumper = Data::Dumper->new([$hash]);
+$dumper->Terse(0);
+$dumpstr{terse_0} = _dumptostr($dumper);
+
+$dumper = Data::Dumper->new([$hash]);
+$dumper->Terse(1);
+$dumpstr{terse_1} = _dumptostr($dumper);
+# {
+#   'foo' => 42
+# }
+
+$dumper = Data::Dumper->new([$hash]);
+$dumper->Terse(undef);
+$dumpstr{terse_undef} = _dumptostr($dumper);
+
+is($dumpstr{noterse}, $dumpstr{terse_no_arg},
+    "absence of Terse is same as Terse()");
+is($dumpstr{noterse}, $dumpstr{terse_0},
+    "absence of Terse is same as Terse(0)");
+isnt($dumpstr{noterse}, $dumpstr{terse_1},
+    "absence of Terse is different from Terse(1)");
+is($dumpstr{noterse}, $dumpstr{terse_undef},
+    "absence of Terse is same as Terse(undef)");


Property changes on: vendor/perl/dist/dist/Data-Dumper/t/terse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Devel-SelfStubber/lib/Devel/SelfStubber.pm
===================================================================
--- vendor/perl/dist/dist/Devel-SelfStubber/lib/Devel/SelfStubber.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Devel-SelfStubber/lib/Devel/SelfStubber.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Devel-SelfStubber/lib/Devel/SelfStubber.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Devel-SelfStubber/t/Devel-SelfStubber.t
===================================================================
--- vendor/perl/dist/dist/Devel-SelfStubber/t/Devel-SelfStubber.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Devel-SelfStubber/t/Devel-SelfStubber.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Devel-SelfStubber/t/Devel-SelfStubber.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Dumpvalue/lib/Dumpvalue.pm
===================================================================
--- vendor/perl/dist/dist/Dumpvalue/lib/Dumpvalue.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Dumpvalue/lib/Dumpvalue.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 use 5.006_001;			# for (defined ref) and $#$v and our
 package Dumpvalue;
 use strict;
-our $VERSION = '1.16';
+our $VERSION = '1.17';
 our(%address, $stab, @stab, %stab, %subs);
 
 # documentation nits, handle complex data structures better by chromatic
@@ -15,7 +15,7 @@
 # (IZ) changes for objectification:
 #   c) quote() renamed to method set_quote();
 #   d) unctrlSet() renamed to method set_unctrl();
-#   f) Compiles with `use strict', but in two places no strict refs is needed:
+#   f) Compiles with 'use strict', but in two places no strict refs is needed:
 #      maybe more problems are waiting...
 
 my %defaults = (
@@ -299,7 +299,7 @@
     if ($in eq 'unctrl' or $in eq 'quote') {
       $self->{unctrl} = $in;
     } else {
-      print "Unknown value for `unctrl'.\n";
+      print "Unknown value for 'unctrl'.\n";
     }
   }
   $self->{unctrl};


Property changes on: vendor/perl/dist/dist/Dumpvalue/lib/Dumpvalue.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t
===================================================================
--- vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Dumpvalue/t/Dumpvalue.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Env/lib/Env.pm
===================================================================
--- vendor/perl/dist/dist/Env/lib/Env.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Env/lib/Env.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package Env;
 
-our $VERSION = '1.02';
+our $VERSION = '1.04';
 
 =head1 NAME
 
@@ -211,7 +211,7 @@
     my $length = shift;
     my @temp = split($sep, $ENV{$$self});
     if (wantarray) {
-	my @result = splice @temp, $self, $offset, $length, @_;
+	my @result = splice @temp, $offset, $length, @_;
 	$ENV{$$self} = join($sep, @temp);
 	return @result;
     } else {


Property changes on: vendor/perl/dist/dist/Env/lib/Env.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Env/t/array.t
===================================================================
--- vendor/perl/dist/dist/Env/t/array.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Env/t/array.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 use Test::More;
 
 plan(skip_all => "skipped for VMS") if $^O eq 'VMS';
-plan(tests => 11);
+plan(tests => 12);
 
 use Env  qw(@FOO);
 use vars qw(@BAR);
@@ -64,3 +64,7 @@
 splice @FOO, 1, 1, 'B';
 splice @BAR, 1, 1, 'B';
 is_deeply(\@FOO, \@BAR, "Splice");
+
+my $foo = $ENV{FOO};
+() = splice @FOO, 0, 0;
+is $ENV{FOO}, $foo, 'Splice in list context';


Property changes on: vendor/perl/dist/dist/Env/t/array.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Env/t/env.t
===================================================================
--- vendor/perl/dist/dist/Env/t/env.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Env/t/env.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Env/t/env.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 use File::Temp qw(tempfile);
 
 use vars qw($VERSION);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 
 # More details about C/C++ compilers:
 # http://developers.sun.com/sunstudio/documentation/product/compiler.jsp
@@ -40,11 +40,13 @@
     $self->{config}{$k} = $v unless exists $self->{config}{$k};
   }
   $self->{config}{cc} = $ENV{CC} if defined $ENV{CC};
-  $self->{config}{ccflags} = $ENV{CFLAGS} if defined $ENV{CFLAGS};
+  $self->{config}{ccflags} = join(" ", $self->{config}{ccflags}, $ENV{CFLAGS})
+     if defined $ENV{CFLAGS};
   $self->{config}{cxx} = $ENV{CXX} if defined $ENV{CXX};
   $self->{config}{cxxflags} = $ENV{CXXFLAGS} if defined $ENV{CXXFLAGS};
   $self->{config}{ld} = $ENV{LD} if defined $ENV{LD};
-  $self->{config}{ldflags} = $ENV{LDFLAGS} if defined $ENV{LDFLAGS};
+  $self->{config}{ldflags} = join(" ", $self->{config}{ldflags}, $ENV{LDFLAGS})
+     if defined $ENV{LDFLAGS};
 
   unless ( exists $self->{config}{cxx} ) {
     my ($ccpath, $ccbase, $ccsfx ) = fileparse($self->{config}{cc}, qr/\.[^.]*/);
@@ -64,7 +66,7 @@
     }
     unless ( exists $self->{config}{cxx} ) {
       $self->{config}{cxx} = $self->{config}{cc};
-      my $cflags = $self->{config}{cflags};
+      my $cflags = $self->{config}{ccflags};
       $self->{config}{cxxflags} = '-x c++';
       $self->{config}{cxxflags} .= " $cflags" if defined $cflags;
     }


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use ExtUtils::CBuilder::Base;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 sub link_executable {


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Unix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use ExtUtils::CBuilder::Base;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 use File::Spec::Functions qw(catfile catdir);


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/VMS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::BCC;
 
 use vars qw($VERSION);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 
 sub format_compiler_cmd {
   my ($self, %spec) = @_;


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/BCC.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::GCC;
 
 use vars qw($VERSION);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 
 sub format_compiler_cmd {
   my ($self, %spec) = @_;


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/GCC.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package ExtUtils::CBuilder::Platform::Windows::MSVC;
 
 use vars qw($VERSION);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 
 sub arg_exec_file {
   my ($self, $file) = @_;
@@ -64,6 +64,7 @@
   }
 
   my $output = $spec{output};
+  my $manifest = $spec{manifest};
 
   $spec{def_file}  &&= '-def:'      . $spec{def_file};
   $spec{output}    &&= '-out:'      . $spec{output};
@@ -93,7 +94,7 @@
 
   # Embed the manifest file if it exists
   push @cmds, [
-    'if', 'exist', $spec{manifest}, 'mt', '-nologo', $spec{manifest}, '-outputresource:' . "$output;2"
+    'if', 'exist', $manifest, 'mt', '-nologo', $spec{manifest}, '-outputresource:' . "$output;2"
   ];
 
   return @cmds;


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows/MSVC.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 use IO::File;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 @ISA = qw(ExtUtils::CBuilder::Base);
 
 =begin comment
@@ -179,8 +179,7 @@
 
   $spec{output}    ||= File::Spec->catfile( $spec{builddir},
                                             $spec{basename}  . '.'.$cf->{dlext}   );
-  $spec{manifest}  ||= File::Spec->catfile( $spec{builddir},
-                                            $spec{basename}  . '.'.$cf->{dlext}.'.manifest');
+  $spec{manifest}  ||= $spec{output} . '.manifest';
   $spec{implib}    ||= File::Spec->catfile( $spec{builddir},
                                             $spec{basename}  . $cf->{lib_ext} );
   $spec{explib}    ||= File::Spec->catfile( $spec{builddir},
@@ -213,7 +212,8 @@
 
   (my $def_base = $spec{def_file}) =~ tr/'"//d;
   $def_base =~ s/\.def$//;
-  $self->prelink( dl_name => $args{module_name},
+  $self->prelink( %args,
+                  dl_name => $args{module_name},
                   dl_file => $def_base,
                   dl_base => $spec{basename} );
 


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/Windows.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use File::Spec;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/aix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 # TODO: If a specific exe_file name is requested, if the exe created


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/cygwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub compile {


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/darwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 
 use vars qw($VERSION @ISA);
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 
 sub link_executable {
   my $self = shift;


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use ExtUtils::CBuilder::Platform::Unix;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280209';
 @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
 
 sub need_prelink { 1 }
@@ -57,9 +57,9 @@
   my ($self, %args) = @_;
 
   my @DEF = grep /\.def$/i, @{$args{prelink_res}};
-  die "More than one .def files created by `prelink' stage" if @DEF > 1;
+  die "More than one .def files created by 'prelink' stage" if @DEF > 1;
   # XXXX No "$how" argument here, so how to test for dynamic link?
-  die "No .def file created by `prelink' stage"
+  die "No .def file created by 'prelink' stage"
     unless @DEF or not @{$args{prelink_res}};
 
   my @after_libs = ($OS2::is_aout ? ()


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/os2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 use Perl::OSType qw/os_type/;
 
 use vars qw($VERSION @ISA);
-$VERSION = '0.280203';
+$VERSION = '0.280210';
 $VERSION = eval $VERSION;
 
 # We only use this once - don't waste a symbol table entry on it.
@@ -265,10 +265,23 @@
 fixes for OS/2; John E. Malmberg and Peter Prymmer have done likewise
 for VMS.
 
+=head1 SUPPORT
+
+ExtUtils::CBuilder is maintained as part of the Perl 5 core.  Please
+submit any bug reports via the F<perlbug> tool included with Perl 5.
+Bug reports will be included in the Perl 5 ticket system at
+L<http://rt.perl.org>.
+
+The Perl 5 source code is available at <http://perl5.git.perl.org/perl.git>
+and ExtUtils-CBuilder may be found in the F<dist/ExtUtils-CBuilder> directory
+of the repository.
+
 =head1 AUTHOR
 
 Ken Williams, kwilliams at cpan.org
 
+Additional contributions by The Perl 5 Porters.
+
 =head1 COPYRIGHT
 
 Copyright (c) 2003-2005 Ken Williams.  All rights reserved.


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/t/00-have-compiler.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/t/01-basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-CBuilder/t/02-link.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/t/02-link.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/t/02-link.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/t/02-link.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-CBuilder/t/03-cplusplus.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/t/03-cplusplus.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/t/03-cplusplus.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/t/03-cplusplus.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-CBuilder/t/04-base.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-CBuilder/t/04-base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-CBuilder/t/04-base.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #! perl -w
 
 use strict;
-use Test::More tests => 50;
+use Test::More tests => 64;
 use Config;
 use Cwd;
 use File::Path qw( mkpath );
@@ -328,6 +328,29 @@
     "_prepare_mksymlists_args(): got expected arguments for Mksymlists",
 );
 
+my %testvars = (
+    CFLAGS  => 'ccflags',
+    LDFLAGS => 'ldflags',
+);
+
+while (my ($VAR, $var) = each %testvars) {
+    local $ENV{$VAR};
+    $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
+    ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
+    isa_ok( $base, 'ExtUtils::CBuilder::Base' );
+    like($base->{config}{$var}, qr/\Q$Config{$var}/,
+        "honours $var from Config.pm");
+
+    $ENV{$VAR} = "-foo -bar";
+    $base = ExtUtils::CBuilder::Base->new( quiet => 1 );
+    ok( $base, "ExtUtils::CBuilder::Base->new() returned true value" );
+    isa_ok( $base, 'ExtUtils::CBuilder::Base' );
+    like($base->{config}{$var}, qr/\Q$ENV{$VAR}/,
+        "honours $VAR from the environment");
+    like($base->{config}{$var}, qr/\Q$Config{$var}/,
+        "doesn't override $var from Config.pm with $VAR from the environment");
+}
+
 #####
 
 for ($source_file, $object_file, $lib_file) {


Property changes on: vendor/perl/dist/dist/ExtUtils-CBuilder/t/04-base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Command/lib/ExtUtils/Command.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Command/lib/ExtUtils/Command.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Command/lib/ExtUtils/Command.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Command/lib/ExtUtils/Command.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Command/t/cp.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Command/t/cp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Command/t/cp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Command/t/cp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Command/t/eu_command.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Command/t/eu_command.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Command/t/eu_command.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Command/t/eu_command.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Command/t/lib/TieOut.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Command/t/lib/TieOut.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Command/t/lib/TieOut.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Command/t/lib/TieOut.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-Install/Changes
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,20 @@
 Revision history for ExtUtils-Install
 
+1.57
+
+Adds 'skip_cwd' parameter to ExtUtils::Installed.  With this new parameter,
+the current directory is not included in the installed module search.  This
+avoids finding modules from other perls which happen to be below the
+current directory.
+
+1.56
+
+Pod fixes.
+
+1.55
+
+Pod fixes.
+
 1.54
 
 This is a "no-change" version bump because I pushed the v1.53 change
@@ -85,7 +100,7 @@
 Synchronize with the changes that were made in blead perl
 patch #33567. VMS changes by Craig Berry. See
 
-http://public.activestate.com/cgi-bin/perlbrowse/p/33567
+http://perl5.git.perl.org/perl.git/commit/553b5000d7907cb0cb8f4658c1d6a2aac379415b
 
 This was marked in the pod as 1.51 but not actually version bumped.
 
@@ -113,7 +128,7 @@
 Version only released as part of bleadperl added in revision #33566.
 Cygwin related changes by Steve Hay, and others, see
 
-http://public.activestate.com/cgi-bin/perlbrowse/p/33566
+http://perl5.git.perl.org/perl.git/commit/038ae9a45711aea142f721498a4a61353b40c4e4
 
 and discussion at
 
@@ -276,7 +291,7 @@
 
 - Integrated patch from Randy Sims.
 
-    1. Fixes error during `perl Makefile.PL` because it MakeMaker can't
+    1. Fixes error during 'perl Makefile.PL' because it MakeMaker can't
     find the NAME section describing DISTNAME (which has the 'ex-'
     prefix).
 


Property changes on: vendor/perl/dist/dist/ExtUtils-Install/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Install.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Install.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -38,11 +38,11 @@
 
 =head1 VERSION
 
-1.55
+1.59
 
 =cut
 
-$VERSION = '1.56';  # <---- dont forget to update the POD section just above this line!
+$VERSION = '1.59';  # <---- dont forget to update the POD section just above this line!
 $VERSION = eval $VERSION;
 
 =pod
@@ -73,10 +73,10 @@
 If this value is defined but false then such an operation has
 ocurred, but should not impact later operations.
 
+=over
+
 =begin _private
 
-=over
-
 =item _chmod($$;$)
 
 Wrapper to chmod() for debugging and error trapping.
@@ -96,34 +96,11 @@
 =cut
 
 my $Is_VMS     = $^O eq 'VMS';
-my $Is_VMS_noefs = $Is_VMS;
 my $Is_MacPerl = $^O eq 'MacOS';
 my $Is_Win32   = $^O eq 'MSWin32';
 my $Is_cygwin  = $^O eq 'cygwin';
 my $CanMoveAtBoot = ($Is_Win32 || $Is_cygwin);
 
-    if( $Is_VMS ) {
-        my $vms_unix_rpt;
-        my $vms_efs;
-        my $vms_case;
-
-        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");
-        } else {
-            my $unix_rpt = $ENV{'DECC$FILENAME_UNIX_REPORT'} || '';
-            my $efs_charset = $ENV{'DECC$EFS_CHARSET'} || '';
-            my $efs_case = $ENV{'DECC$EFS_CASE_PRESERVE'} || '';
-            $vms_unix_rpt = $unix_rpt =~ /^[ET1]/i;
-            $vms_efs = $efs_charset =~ /^[ET1]/i;
-            $vms_case = $efs_case =~ /^[ET1]/i;
-        }
-        $Is_VMS_noefs = 0 if ($vms_efs);
-    }
-
-
-
 # *note* CanMoveAtBoot is only incidentally the same condition as below
 # this needs not hold true in the future.
 my $Has_Win32API_File = ($Is_Win32 || $Is_cygwin)
@@ -440,9 +417,7 @@
     my $path='';
     my @make;
     while (@dirs) {
-        if ($Is_VMS_noefs) {
-            # There is a bug in catdir that is fixed when the EFS character
-            # set is enabled, which requires this VMS specific code.
+        if ($Is_VMS) {
             $dir = File::Spec->catdir($vol, at dirs);
         }
         else {


Property changes on: vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Install.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Installed.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Installed.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Installed.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,7 +17,7 @@
 require VMS::Filespec if $Is_VMS;
 
 use vars qw($VERSION);
-$VERSION = '1.999_001';
+$VERSION = '1.999003';
 $VERSION = eval $VERSION;
 
 sub _is_prefix {
@@ -162,7 +162,9 @@
     }
     {
         my %dupe;
-        @{$self->{':private:'}{LIBDIRS}} = grep { -e $_ && !$dupe{$_}++ }
+        @{$self->{':private:'}{LIBDIRS}} =
+            grep { $_ ne '.' || ! $args{skip_cwd} }
+            grep { -e $_ && !$dupe{$_}++ }
             @{$self->{':private:'}{EXTRA}}, @{$self->{':private:'}{INC}};
     }
 
@@ -327,7 +329,7 @@
 =head1 SYNOPSIS
 
    use ExtUtils::Installed;
-   my ($inst) = ExtUtils::Installed->new();
+   my ($inst) = ExtUtils::Installed->new( skip_cwd => 1 );
    my (@modules) = $inst->modules();
    my (@missing) = $inst->validate("DBI");
    my $all_files = $inst->files("DBI");
@@ -369,6 +371,11 @@
 paths C<@INC>. The packlists are read using the
 L<ExtUtils::Packlist> module.
 
+If the named parameter C<skip_cwd> is true, the current directory C<.> will
+be stripped from C<@INC> before searching for .packlists.  This keeps
+ExtUtils::Installed from finding modules installed in other perls that
+happen to be located below the current directory.
+
 If the named parameter C<config_override> is specified,
 it should be a reference to a hash which contains all information
 usually found in C<%Config::Config>. For example, you can obtain
@@ -376,7 +383,8 @@
 pass that in.
 
     my $yoda_cfg  = get_fake_config('yoda');
-    my $yoda_inst = ExtUtils::Installed->new(config_override=>$yoda_cfg);
+    my $yoda_inst =
+               ExtUtils::Installed->new(config_override=>$yoda_cfg);
 
 Similarly, the parameter C<inc_override> may be a reference to an
 array which is used in place of the default module search paths
@@ -389,12 +397,13 @@
 B<Note>: You probably do not want to use these options alone, almost always
 you will want to set both together.
 
-The parameter c<extra_libs> can be used to specify B<additional> paths to
+The parameter C<extra_libs> can be used to specify B<additional> paths to
 search for installed modules. For instance
 
-    my $installed = ExtUtils::Installed->new(extra_libs=>["/my/lib/path"]);
+    my $installed =
+             ExtUtils::Installed->new(extra_libs=>["/my/lib/path"]);
 
-This should only be necessary if C</my/lib/path> is not in PERL5LIB.
+This should only be necessary if F</my/lib/path> is not in PERL5LIB.
 
 Finally there is the 'default', and the related 'default_get' and 'default_set'
 options. These options control the "default" object which is provided by the


Property changes on: vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Installed.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use Carp qw();
 use Config;
 use vars qw($VERSION $Relocations);
-$VERSION = '1.44';
+$VERSION = '1.46';
 $VERSION = eval $VERSION;
 
 # Used for generating filehandle globs.  IO::File might not be available!
@@ -24,6 +24,7 @@
 sub mkfh()
 {
 no strict;
+local $^W;
 my $fh = \*{$fhname++};
 use strict;
 return($fh);
@@ -34,10 +35,10 @@
 Works out what absolute paths in the configuration have been located at run
 time relative to $^X, and generates a regexp that matches them
 
+=back
+
 =end _undocumented
 
-=back
-
 =cut
 
 sub __find_relocations


Property changes on: vendor/perl/dist/dist/ExtUtils-Install/lib/ExtUtils/Packlist.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Install/t/Install.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/Install.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/Install.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/Install.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Install/t/InstallWithMM.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/InstallWithMM.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/InstallWithMM.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/InstallWithMM.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Install/t/Installapi2.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/Installapi2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/Installapi2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/Installapi2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-Install/t/Installed.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/Installed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/Installed.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 use File::Basename;
 use File::Spec;
 
-use Test::More tests => 63;
+use Test::More tests => 73;
 
 BEGIN { use_ok( 'ExtUtils::Installed' ) }
 
@@ -107,8 +107,7 @@
         sitearchexp        => $fake_mod_dir,
     );
 
-    # necessary to fool new()
-    push @INC, $fake_mod_dir;
+    # should find $fake_mod_dir via '.' in @INC
 
     my $realei = ExtUtils::Installed->new();
     isa_ok( $realei, 'ExtUtils::Installed' );
@@ -122,6 +121,50 @@
 	'... should find version in modules' );
 }
 
+{
+    # avoid warning and death by localizing glob
+    local *ExtUtils::Installed::Config;
+    %ExtUtils::Installed::Config = (
+        %Config,
+        archlibexp         => cwd(),
+        sitearchexp        => $fake_mod_dir,
+    );
+
+    # disable '.' search
+
+    my $realei = ExtUtils::Installed->new( skip_cwd => 1 );
+    isa_ok( $realei, 'ExtUtils::Installed' );
+    isa_ok( $realei->{Perl}{packlist}, 'ExtUtils::Packlist' );
+    is( $realei->{Perl}{version}, $Config{version},
+        'new() should set Perl version from %Config' );
+
+    ok( ! exists $realei->{FakeMod}, 'new( skip_cwd => 1 ) should fail to find modules with .packlists');
+}
+
+{
+    # avoid warning and death by localizing glob
+    local *ExtUtils::Installed::Config;
+    %ExtUtils::Installed::Config = (
+        %Config,
+        archlibexp         => cwd(),
+        sitearchexp        => $fake_mod_dir,
+    );
+
+    # necessary to fool new() since we'll disable searching '.'
+    push @INC, $fake_mod_dir;
+
+    my $realei = ExtUtils::Installed->new( skip_cwd => 1 );
+    isa_ok( $realei, 'ExtUtils::Installed' );
+    isa_ok( $realei->{Perl}{packlist}, 'ExtUtils::Packlist' );
+    is( $realei->{Perl}{version}, $Config{version},
+        'new() should set Perl version from %Config' );
+
+    ok( exists $realei->{FakeMod}, 'new() should find modules with .packlists');
+    isa_ok( $realei->{FakeMod}{packlist}, 'ExtUtils::Packlist' );
+    is( $realei->{FakeMod}{version}, '1.1.1',
+	'... should find version in modules' );
+}
+
 # Now try this using PERL5LIB
 {
     local $ENV{PERL5LIB} = join $Config{path_sep}, $fake_mod_dir;


Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/Installed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-Install/t/Packlist.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/Packlist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/Packlist.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,9 +4,9 @@
     unshift @INC, 't/lib';
 }
 
-use Test::More tests => 34;
+use Test::More tests => 35;
 
-use_ok( 'ExtUtils::Packlist' );
+BEGIN { use_ok( 'ExtUtils::Packlist' ); }
 
 is( ref(ExtUtils::Packlist::mkfh()), 'GLOB', 'mkfh() should return a FH' );
 
@@ -162,6 +162,18 @@
 is( ExtUtils::Packlist::packlist_file($pl), 'eplist',
 	'packlist_file() should fetch packlist from ExtUtils::Packlist object' );
 
+BEGIN {
+	# Call mkfh at BEGIN time, to make sure it does not trigger "Used
+	# once" warnings.
+	$SIG{__WARN__} = sub { ++$w; warn $_[0] };
+	ExtUtils::Packlist::mkfh();
+	
+}
+INIT {
+	is $w, undef, '[perl #107410] no warnings from BEGIN-time mkfh';
+	delete $SIG{__WARN__};
+}
+
 END {
 	1 while unlink qw( eplist );
 }


Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/Packlist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Install/t/can_write_dir.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/can_write_dir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/can_write_dir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/can_write_dir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Setup/BFD.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Install/t/lib/TieOut.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Install/t/lib/TieOut.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Install/t/lib/TieOut.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Install/t/lib/TieOut.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/MANIFEST.SKIP
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
           $Is_MacOS $Is_VMS $Is_VMS_mode $Is_VMS_lc $Is_VMS_nodot
           $Debug $Verbose $Quiet $MANIFEST $DEFAULT_MSKIP);
 
-$VERSION = '1.58';
+$VERSION = '1.63';
 @ISA=('Exporter');
 @EXPORT_OK = qw(mkmanifest
                 manicheck  filecheck  fullcheck  skipcheck
@@ -161,6 +161,14 @@
   my $filename = shift;
   $filename =~ s|^\./||;
   $filename =~ s/^:([^:]+)$/$1/ if $Is_MacOS;
+  if ( $Is_VMS ) {
+      $filename =~ s/\.$//;                           # trim trailing dot
+      $filename = VMS::Filespec::unixify($filename);  # unescape spaces, etc.
+      if( $Is_VMS_lc ) {
+          $filename = lc($filename);
+          $filename = uc($filename) if $filename =~ /^MANIFEST(\.SKIP)?$/i;
+      }
+  }
   return $filename;
 }
 
@@ -182,11 +190,6 @@
 	my $name = clean_up_filename($File::Find::name);
 	warn "Debug: diskfile $name\n" if $Debug;
 	return if -d $_;
-
-        if( $Is_VMS_lc ) {
-            $name =~ s#(.*)\.$#\L$1#;
-            $name = uc($name) if $name =~ /^MANIFEST(\.SKIP)?$/i;
-        }
 	$found->{$name} = "";
     };
 
@@ -378,8 +381,10 @@
                 warn "Debug: Illegal name $file changed to $okfile\n" if $Debug;
                 $file = $okfile;
             }
-            $file = lc($file)
-                unless $Is_VMS_lc &&($file =~ /^MANIFEST(\.SKIP)?$/);
+            if( $Is_VMS_lc ) {
+                $file = lc($file);
+                $file = uc($file) if $file =~ /^MANIFEST(\.SKIP)?$/i;
+            }
         }
 
         $read->{$file} = $comment;
@@ -706,21 +711,36 @@
 }
 
 
-# Sometimes MANIFESTs are missing a trailing newline.  Fix this.
+# Make sure this MANIFEST is consistently written with native
+# newlines and has a terminal newline.
 sub _fix_manifest {
     my $manifest_file = shift;
 
     open MANIFEST, $MANIFEST or die "Could not open $MANIFEST: $!";
-
-    # Yes, we should be using seek(), but I'd like to avoid loading POSIX
-    # to get SEEK_*
-    my @manifest = <MANIFEST>;
+    local $/;
+    my @manifest = split /(\015\012|\012|\015)/, <MANIFEST>, -1;
     close MANIFEST;
+    my $must_rewrite = "";
+    if ($manifest[-1] eq ""){
+        # sane case: last line had a terminal newline
+        pop @manifest;
+        for (my $i=1; $i<=$#manifest; $i+=2) {
+            unless ($manifest[$i] eq "\n") {
+                $must_rewrite = "not a newline at pos $i";
+                last;
+            }
+        }
+    } else {
+        $must_rewrite = "last line without newline";
+    }
 
-    unless( $manifest[-1] =~ /\n\z/ ) {
-        open MANIFEST, ">>$MANIFEST" or die "Could not open $MANIFEST: $!";
-        print MANIFEST "\n";
-        close MANIFEST;
+    if ( $must_rewrite ) {
+        1 while unlink $MANIFEST; # avoid multiple versions on VMS
+        open MANIFEST, ">", $MANIFEST or die "(must_rewrite=$must_rewrite) Could not open >$MANIFEST: $!";
+        for (my $i=0; $i<=$#manifest; $i+=2) {
+            print MANIFEST "$manifest[$i]\n";
+        }
+        close MANIFEST or die "could not write $MANIFEST: $!";
     }
 }
 


Property changes on: vendor/perl/dist/dist/ExtUtils-Manifest/lib/ExtUtils/Manifest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-Manifest/t/Manifest.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-Manifest/t/Manifest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-Manifest/t/Manifest.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
 
 use strict;
 
-use Test::More tests => 94;
+use Test::More tests => 96;
 use Cwd;
 
 use File::Spec;
@@ -44,6 +44,7 @@
 sub add_file {
     my ($file, $data) = @_;
     $data ||= 'foo';
+    $file =~ s/ /^_/g if $Is_VMS_noefs; # escape spaces
     1 while unlink $file;  # or else we'll get multiple versions on VMS
     open( T, '> '.$file) or return;
     print T $data;
@@ -231,6 +232,49 @@
 is( $files->{yarrow}, 'hock','          with comment' );
 is( $files->{foobar}, '',    '          preserved old entries' );
 
+{
+    # EOL normalization in maniadd()
+
+    # move manifest away:
+    rename "MANIFEST", "MANIFEST.bak" or die "Could not rename MANIFEST to MANIFEST.bak: $!";
+    my $prev_maniaddresult;
+    my @eol = ("\012","\015","\015\012");
+    # for all line-endings:
+    for my $i (0..$#eol) {
+        my $eol = $eol[$i];
+        #   cp the backup of the manifest to MANIFEST, line-endings adjusted
+        my $content = do { local $/; open my $fh, "MANIFEST.bak" or die; <$fh> };
+    SPLITTER: for my $eol2 (@eol) {
+            if ( index($content, $eol2) > -1 ) {
+                my @lines = split /$eol2/, $content;
+                pop @lines while $lines[-1] eq "";
+                open my $fh, ">", "MANIFEST" or die "Could not open >MANIFEST: $!";
+                print $fh map { "$_$eol" } @lines;
+                close $fh or die "Could not close: $!";
+                last SPLITTER;
+            }
+        }
+        #   try maniadd
+        maniadd({eoltest => "end of line normalization test"});
+        #   slurp result and compare to previous result
+        my $maniaddresult = do { local $/; open my $fh, "MANIFEST" or die; <$fh> };
+        if ($prev_maniaddresult) {
+            if ( $maniaddresult eq $prev_maniaddresult ) {
+                pass "normalization success with i=$i";
+            } else {
+                require Data::Dumper;
+                no warnings "once";
+                local $Data::Dumper::Useqq = 1;
+                local $Data::Dumper::Terse = 1;
+                is Data::Dumper::Dumper($maniaddresult), Data::Dumper::Dumper($prev_maniaddresult), "eol normalization failed with i=$i";
+            }
+        }
+        $prev_maniaddresult = $maniaddresult;
+    }
+    # move backup over MANIFEST
+    rename "MANIFEST.bak", "MANIFEST" or die "Could not rename MANIFEST.bak to MANIFEST: $!";
+}
+
 my %funky_files;
 # test including a filename with a space
 SKIP: {
@@ -408,6 +452,7 @@
 
 END {
 	is( unlink( keys %Files ), keys %Files, 'remove all added files' );
+	for my $file ( keys %Files ) { 1 while unlink $file; } # all versions
 	remove_dir( 'moretest', 'copy' );
 
 	# now get rid of the parent directory


Property changes on: vendor/perl/dist/dist/ExtUtils-Manifest/t/Manifest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/Changes
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,191 @@
 Revision history for Perl extension ExtUtils::ParseXS.
 
+3.18 - Mon Nov 19 07:35:00 CET 2012
+  - Restore portability to Perl 5.6, which was lost at EU-PXS 3.00.
+  - [perl #112776] avoid warning on an initialized non-parameter
+  - Only increment PL_amagic_generation before 5.9
+
+3.15 - Thu Feb  2 08:12:00 CET 2012
+  - Fix version for PAUSE indexer.
+
+3.14 - Wed Feb  1 18:22:00 CET 2012
+  - Promote to stable release.
+  - Proper repository and bugtracker info in META.json.
+
+3.13_01 - Sat Jan 29 12:45:00 CET 2012
+  - ExtUtils::Typemaps:
+    => Embedded typemap dumping: A method which will produce the
+       verbatim string for inclusion in XS.
+    => Introducing ExtUtils::Typemaps::Cmd, a helper module which
+       can produce embedded typemap strings via simple one-liners.
+       Useful for including typemaps from other modules in XS code
+       with INCLUDE_COMMAND. See "perldoc ExtUtils::Typemaps::Cmd".
+
+  - ExtUtils::ParseXS:
+    => Bugfix: Used to have parsing problems with embedded typemaps
+       occasionally.
+    => Better error messages on typemap-related issues. If a no
+       typemap was found for a given C type, list all mapped C types
+       so that the user hopefully spots his mistake easily.
+
+3.11 - Thu Dec 29 17:55:00 CET 2011
+  - Version/distribution fixes.
+
+3.09 - Wed Dec 28 18:48:00 CET 2011
+  - Escape double quotes of file names/commands in #line directives.
+
+3.08 - Mon Dec 19 18:03:00 CET 2011
+  - Silence undefined-value-in-addition warning
+    (Nothing serious, just happened sometimes when reporting line numbers for
+    errors. But warning during build process.)
+
+3.07 - Wed Dec  7 14:10:00 CET 2011
+  - Fix inconsistent versioning in 3.06.
+
+3.06 - Fri Dec  2 08:10:00 CET 2011
+
+  - Fix Cygwin issues [Tony Cook]
+    avoid conflicting static / dllexport on legacy perls too
+    This probably fixes rt.cpan.org 72313 and 71964.
+    (3928a66ad4bd8aee704eda1942b7877c0ff1ab2c in core)
+
+  - Convert ` to ' [James Keenan]
+    55bee391aeff3c3b8d22fa4ce5491ee9440028aa and
+    6dfee1ec62c64d7afe8ced4650596dd9e7f71a63 in core
+
+  - Avoid some test-time warnings [Zefram]
+    97bae9c59cd181b3b54061213ec1fdce0ccb30d4 in core
+
+3.05 - Wed Oct  5 08:14:00 CET 2011
+
+  - No functional changes, promoted to stable release.
+
+3.04_04 - Mon Sep 12 08:12:00 CET 2011
+
+  - Simplify generated XS code by emitting a compatibility version
+    of dVAR. [Nicholas Clark]
+
+  - Fixed "INCLUDE: $cmd |", CPAN RT #70213
+
+3.04_03 - Sun Sep  4 18:49:00 CET 2011
+
+  - By #defining PERL_EUPXS_ALWAYS_EXPORT or
+    PERL_EUPXS_NEVER_EXPORT early in your XS code, you can
+    force ExtUtils::ParseXS to always or never export
+    XSUB symbols. This has no effect on boot_* symbols since
+    those must be exported.
+
+3.04_02 - Sat Sep  3 15:28:00 CET 2011
+
+  - Don't put null characters into the generated source
+    file when -except is used; write the '\0' escape sequence
+    properly instead. [Stephen Bennett]
+
+3.04_01 - Sun Aug 28 17:50:00 CET 2011
+
+  - The XSUB.h changes to make XS(name) use XS_INTERNAL(name)
+    by default (which were in the 5.15.2 dev release of perl)
+    have been reverted since too many CPAN modules expect to
+    be able to refer to XSUBs declared with XS(name).
+    Instead, ExtUtils::ParseXS will define a copy of the
+    XS_INTERNAL/XS_EXTERNAL macros as necessary going back to
+    perl 5.10.0 (which is the oldest perl I had for testing).
+    By default, ExtUtils::ParseXS will use XS_INTERNAL(name)
+    instead of XS(name).
+
+3.04 - Thu Aug 25 08:20:00 CET 2011
+
+  - Stable release based on 3.03_03, no functional changes.
+
+3.03_03 - Wed Aug 24 19:43:00 CET 2011
+
+  - Try to fix regression for input-typemap override in XS argument
+    list. (CPAN RT #70448)
+
+  - Explicit versions in submodules to fail early if something
+    goes wrong.
+
+3.03_02 - Sun Aug 21 13:19:00 CET 2011
+
+  - Properly strip trailing semicolons form inputmaps. These could
+    trigger warnings (errors in strict C89 compilers) due to
+    additional semicolons being interpreted as empty statements.
+    [Torsten Schoenfeld, Jan Dubois, Steffen Mueller]
+
+  - Now detects and throws a warning if there is a CODE section using
+    RETVAL, but no OUTPUT section. [CPAN RT #69536]
+
+  - Uses the explicit XS_EXTERNAL macro (from perl 5.15.2 and newer)
+    for XSUBs that need to be exported. Defines XS_EXTERNAL to fall
+    back to XS where that is not available.
+
+  - Introduces new EXPORT_XSUB_SYMBOLS XS keyword that forces exported
+    XSUB symbols. It's a no-op on perls before 5.15.2.
+
+3.03 - Thu Aug 11 08:24:00 CET 2011
+
+  - Test fix: Try all @INC-derived typemap locations. (CPAN RT #70047)
+    [Mike Sheldrake]
+
+3.02 - Thu Aug  4 18:19:00 CET 2011
+
+  - Test fix: Use File::Spec->catfile instead of catdir where appropriate.
+
+3.01 - Thu Aug  4 17:51:00 CET 2011
+
+  - No significant changes from 3.00_05.
+
+3.00_05 - Wed Jul 27 22:54:00 CET 2011
+
+  - Define PERL_UNUSED_ARG for pre-3.8.9 perls.
+    This should fix the tests on those perls.
+
+3.00_04 - Wed Jul 27 22:22:00 CET 2011
+
+  - Require perl 5.8.1.
+
+  - Patches from CPAN RT #53938, #61908
+    Both of these are attempts to fix win32 problems:
+    Bug #61908 for ExtUtils-ParseXS: MSWin compilers and back-slashed paths
+    Bug #53938 for ExtUtils-ParseXS: MinGW Broken after 2.21
+
+3.00_03 - Fri Jul 22 20:13:00 CET 2011
+
+  - Add some diagnostics when xsubpp fails to load a current-enough
+    version of ExtUtils::ParseXS. [Steffen Mueller]
+
+  - Add a check to Makefile.PL that scans @INC to determine whether
+    the new xsubpp will be shadowed by another, existing xsubpp
+    and warn the user vehemently. [Steffen Mueller]
+
+3.00_02 - Thu Jul 14 18:00:00 CET 2011
+
+  - Move script/xsubpp back to lib/ExtUtils/xsubpp
+    The original move caused old xsubpp's to be used.
+
+3.00_01 - Tue Jul 12 22:00:00 CET 2011
+
+  - Major refactoring of the whole code base.
+    It finally runs under 'use strict' for the first time!
+    [James Keenan, Steffen Mueller]
+
+  - Typemaps can now be embedded into XS code using a here-doc
+    like syntax and the new "TYPEMAP:" XS keyword.
+    [Steffen Mueller]
+
+  - Move typemap handling code to ExtUtils::Typemaps
+    with full object-oriented goodness. [Steffen Mueller]
+
+  - Check API compatibility when loading xs modules.
+    If on a new-enough perl, add the XS_APIVERSION_BOOTCHECK macro to
+    the _boot function of every XS module to compare it against the API
+    version the module has been compiled against. If the versions do
+    not match, an exception is thrown. [Florian Ragwitz]
+
+  - Fixed compiler warnings in XS. [Zefram]
+
+  - Spell-check [Peter J. Acklam]
+
 2.2206 - Sun Jul  4 15:43:21 EDT 2010
 
  Bug fixes:


Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,67 +1,87 @@
 package ExtUtils::ParseXS;
+use strict;
 
-use 5.006;  # We use /??{}/ in regexes
+use 5.006001;
 use Cwd;
 use Config;
+use Exporter;
 use File::Basename;
 use File::Spec;
 use Symbol;
 
-require Exporter;
+our $VERSION;
+BEGIN {
+  $VERSION = '3.18';
+}
+use ExtUtils::ParseXS::Constants $VERSION;
+use ExtUtils::ParseXS::CountLines $VERSION;
+use ExtUtils::ParseXS::Utilities $VERSION;
+$VERSION = eval $VERSION if $VERSION =~ /_/;
 
- at ISA = qw(Exporter);
- at EXPORT_OK = qw(process_file);
+use ExtUtils::ParseXS::Utilities qw(
+  standard_typemap_locations
+  trim_whitespace
+  tidy_type
+  C_string
+  valid_proto_string
+  process_typemaps
+  make_targetable
+  map_type
+  standard_XS_defs
+  assign_func_args
+  analyze_preprocessor_statements
+  set_cond
+  Warn
+  current_line_number
+  blurt
+  death
+  check_conditional_preprocessor_statements
+  escape_file_for_line_directive
+  report_typemap_failure
+);
 
-# use strict;  # One of these days...
+our @ISA = qw(Exporter);
+our @EXPORT_OK = qw(
+  process_file
+  report_error_count
+);
 
-my(@XSStack);	# Stack of conditionals and INCLUDEs
-my($XSS_work_idx, $cpp_next_tmp);
+# The scalars in the line below remain as 'our' variables because pulling
+# them into $self led to build problems.  In most cases, strings being
+# 'eval'-ed contain the variables' names hard-coded.
+our (
+  $Package, $func_name, $Full_func_name, $pname, $ALIAS,
+);
 
-use vars qw($VERSION);
-$VERSION = '2.2210';
-$VERSION = eval $VERSION if $VERSION =~ /_/;
+our $self = bless {} => __PACKAGE__;
 
-use vars qw(%input_expr %output_expr $ProtoUsed @InitFileCode $FH $proto_re $Overload $errors $Fallback
-	    $cplusplus $hiertype $WantPrototypes $WantVersionChk $except $WantLineNumbers
-	    $WantOptimize $process_inout $process_argtypes @tm
-	    $dir $filename $filepathname %IncludedFiles
-	    %type_kind %proto_letter
-            %targetable $BLOCK_re $lastline $lastline_no
-            $Package $Prefix @line @BootCode %args_match %defaults %var_types %arg_list @proto_arg
-            $processing_arg_with_types %argtype_seen @outlist %in_out %lengthof
-            $proto_in_this_xsub $scope_in_this_xsub $interface $prepush_done $interface_macro $interface_macro_set
-            $ProtoThisXSUB $ScopeThisXSUB $xsreturn
-            @line_no $ret_type $func_header $orig_args
-	   ); # Add these just to get compilation to happen.
+sub process_file {
 
+  # Allow for $package->process_file(%hash) in the future
+  my ($pkg, %options) = @_ % 2 ? @_ : (__PACKAGE__, @_);
 
-sub process_file {
-  
-  # Allow for $package->process_file(%hash) in the future
-  my ($pkg, %args) = @_ % 2 ? @_ : (__PACKAGE__, @_);
-  
-  $ProtoUsed = exists $args{prototypes};
-  
+  $self->{ProtoUsed} = exists $options{prototypes};
+
   # Set defaults.
-  %args = (
-	   # 'C++' => 0, # Doesn't seem to *do* anything...
-	   hiertype => 0,
-	   except => 0,
-	   prototypes => 0,
-	   versioncheck => 1,
-	   linenumbers => 1,
-	   optimize => 1,
-	   prototypes => 0,
-	   inout => 1,
-	   argtypes => 1,
-	   typemap => [],
-	   output => \*STDOUT,
-	   csuffix => '.c',
-	   %args,
-	  );
+  my %args = (
+    argtypes        => 1,
+    csuffix         => '.c',
+    except          => 0,
+    hiertype        => 0,
+    inout           => 1,
+    linenumbers     => 1,
+    optimize        => 1,
+    output          => \*STDOUT,
+    prototypes      => 0,
+    typemap         => [],
+    versioncheck    => 1,
+    FH              => Symbol::gensym(),
+    %options,
+  );
+  $args{except} = $args{except} ? ' TRY' : '';
 
   # Global Constants
-  
+
   my ($Is_VMS, $SymSet);
   if ($^O eq 'VMS') {
     $Is_VMS = 1;
@@ -68,43 +88,31 @@
     # Establish set of global symbols with max length 28, since xsubpp
     # will later add the 'XS_' prefix.
     require ExtUtils::XSSymSet;
-    $SymSet = new ExtUtils::XSSymSet 28;
+    $SymSet = ExtUtils::XSSymSet->new(28);
   }
-  @XSStack = ({type => 'none'});
-  ($XSS_work_idx, $cpp_next_tmp) = (0, "XSubPPtmpAAAA");
-  @InitFileCode = ();
-  $FH = Symbol::gensym();
-  $proto_re = "[" . quotemeta('\$%&*@;[]_') . "]" ;
-  $Overload = 0;
-  $errors = 0;
-  $Fallback = '&PL_sv_undef';
+  @{ $self->{XSStack} } = ({type => 'none'});
+  $self->{InitFileCode} = [ @ExtUtils::ParseXS::Constants::InitFileCode ];
+  $self->{Overload}     = 0;
+  $self->{errors}       = 0;
+  $self->{Fallback}     = '&PL_sv_undef';
 
   # Most of the 1500 lines below uses these globals.  We'll have to
   # clean this up sometime, probably.  For now, we just pull them out
   # of %args.  -Ken
-  
-  $cplusplus = $args{'C++'};
-  $hiertype = $args{hiertype};
-  $WantPrototypes = $args{prototypes};
-  $WantVersionChk = $args{versioncheck};
-  $except = $args{except} ? ' TRY' : '';
-  $WantLineNumbers = $args{linenumbers};
-  $WantOptimize = $args{optimize};
-  $process_inout = $args{inout};
-  $process_argtypes = $args{argtypes};
-  @tm = ref $args{typemap} ? @{$args{typemap}} : ($args{typemap});
-  
-  for ($args{filename}) {
-    die "Missing required parameter 'filename'" unless $_;
-    $filepathname = $_;
-    ($dir, $filename) = (dirname($_), basename($_));
-    $filepathname =~ s/\\/\\\\/g;
-    $IncludedFiles{$_}++;
-  }
-  
-  # Open the input file
-  open($FH, $args{filename}) or die "cannot open $args{filename}: $!\n";
 
+  $self->{hiertype} = $args{hiertype};
+  $self->{WantPrototypes} = $args{prototypes};
+  $self->{WantVersionChk} = $args{versioncheck};
+  $self->{WantLineNumbers} = $args{linenumbers};
+  $self->{IncludedFiles} = {};
+
+  die "Missing required parameter 'filename'" unless $args{filename};
+  $self->{filepathname} = $args{filename};
+  ($self->{dir}, $self->{filename}) =
+    (dirname($args{filename}), basename($args{filename}));
+  $self->{filepathname} =~ s/\\/\\\\/g;
+  $self->{IncludedFiles}->{$args{filename}}++;
+
   # Open the output file if given as a string.  If they provide some
   # other kind of reference, trust them that we can print to it.
   if (not ref $args{output}) {
@@ -114,150 +122,73 @@
   }
 
   # Really, we shouldn't have to chdir() or select() in the first
-  # place.  For now, just save & restore.
+  # place.  For now, just save and restore.
   my $orig_cwd = cwd();
   my $orig_fh = select();
-  
-  chdir($dir);
+
+  chdir($self->{dir});
   my $pwd = cwd();
   my $csuffix = $args{csuffix};
-  
-  if ($WantLineNumbers) {
+
+  if ($self->{WantLineNumbers}) {
     my $cfile;
     if ( $args{outfile} ) {
       $cfile = $args{outfile};
-    } else {
+    }
+    else {
       $cfile = $args{filename};
       $cfile =~ s/\.xs$/$csuffix/i or $cfile .= $csuffix;
     }
     tie(*PSEUDO_STDOUT, 'ExtUtils::ParseXS::CountLines', $cfile, $args{output});
     select PSEUDO_STDOUT;
-  } else {
+  }
+  else {
     select $args{output};
   }
 
-  foreach my $typemap (@tm) {
-    die "Can't find $typemap in $pwd\n" unless -r $typemap;
-  }
+  $self->{typemap} = process_typemaps( $args{typemap}, $pwd );
 
-  push @tm, standard_typemap_locations();
+  my $END = "!End!\n\n";        # "impossible" keyword (multiple newline)
 
-  foreach my $typemap (@tm) {
-    next unless -f $typemap ;
-    # skip directories, binary files etc.
-    warn("Warning: ignoring non-text typemap file '$typemap'\n"), next
-      unless -T $typemap ;
-    open(TYPEMAP, $typemap)
-      or warn ("Warning: could not open typemap file '$typemap': $!\n"), next;
-    my $mode = 'Typemap';
-    my $junk = "" ;
-    my $current = \$junk;
-    while (<TYPEMAP>) {
-      next if /^\s*		#/;
-        my $line_no = $. + 1;
-      if (/^INPUT\s*$/) {
-	$mode = 'Input';   $current = \$junk;  next;
-      }
-      if (/^OUTPUT\s*$/) {
-	$mode = 'Output';  $current = \$junk;  next;
-      }
-      if (/^TYPEMAP\s*$/) {
-	$mode = 'Typemap'; $current = \$junk;  next;
-      }
-      if ($mode eq 'Typemap') {
-	chomp;
-	my $line = $_ ;
-	TrimWhitespace($_) ;
-	# skip blank lines and comment lines
-	next if /^$/ or /^#/ ;
-	my($type,$kind, $proto) = /^\s*(.*?\S)\s+(\S+)\s*($proto_re*)\s*$/ or
-	  warn("Warning: File '$typemap' Line $. '$line' TYPEMAP entry needs 2 or 3 columns\n"), next;
-	$type = TidyType($type) ;
-	$type_kind{$type} = $kind ;
-	# prototype defaults to '$'
-	$proto = "\$" unless $proto ;
-	warn("Warning: File '$typemap' Line $. '$line' Invalid prototype '$proto'\n")
-	  unless ValidProtoString($proto) ;
-	$proto_letter{$type} = C_string($proto) ;
-      } elsif (/^\s/) {
-	$$current .= $_;
-      } elsif ($mode eq 'Input') {
-	s/\s+$//;
-	$input_expr{$_} = '';
-	$current = \$input_expr{$_};
-      } else {
-	s/\s+$//;
-	$output_expr{$_} = '';
-	$current = \$output_expr{$_};
-      }
-    }
-    close(TYPEMAP);
-  }
-
-  foreach my $value (values %input_expr) {
-    $value =~ s/;*\s+\z//;
-    # Move C pre-processor instructions to column 1 to be strictly ANSI
-    # conformant. Some pre-processors are fussy about this.
-    $value =~ s/^\s+#/#/mg;
-  }
-  foreach my $value (values %output_expr) {
-    # And again.
-    $value =~ s/^\s+#/#/mg;
-  }
-
-  my ($cast, $size);
-  our $bal = qr[(?:(?>[^()]+)|\((??{ $bal })\))*]; # ()-balanced
-  $cast = qr[(?:\(\s*SV\s*\*\s*\)\s*)?]; # Optional (SV*) cast
-  $size = qr[,\s* (??{ $bal }) ]x; # Third arg (to setpvn)
-
-  foreach my $key (keys %output_expr) {
-    # We can still bootstrap compile 're', because in code re.pm is 
-    # available to miniperl, and does not attempt to load the XS code.
-    use re 'eval';
-
-    my ($t, $with_size, $arg, $sarg) =
-      ($output_expr{$key} =~
-       m[^ \s+ sv_set ( [iunp] ) v (n)?	# Type, is_setpvn
-	 \s* \( \s* $cast \$arg \s* ,
-	 \s* ( (??{ $bal }) )	# Set from
-	 ( (??{ $size }) )?	# Possible sizeof set-from
-	 \) \s* ; \s* $
-	]x);
-    $targetable{$key} = [$t, $with_size, $arg, $sarg] if $t;
-  }
-
-  my $END = "!End!\n\n";		# "impossible" keyword (multiple newline)
-
   # Match an XS keyword
-  $BLOCK_re= '\s*(' . join('|', qw(
-				   REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE
-				   OUTPUT CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE
-				   VERSIONCHECK INCLUDE INCLUDE_COMMAND SCOPE INTERFACE
-				   INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
-				  )) . "|$END)\\s*:";
+  $self->{BLOCK_re} = '\s*(' .
+    join('|' => @ExtUtils::ParseXS::Constants::XSKeywords) .
+    "|$END)\\s*:";
 
-  
   our ($C_group_rex, $C_arg);
   # Group in C (no support for comments or literals)
   $C_group_rex = qr/ [({\[]
-		       (?: (?> [^()\[\]{}]+ ) | (??{ $C_group_rex }) )*
-		       [)}\]] /x ;
+               (?: (?> [^()\[\]{}]+ ) | (??{ $C_group_rex }) )*
+               [)}\]] /x;
   # Chunk in C without comma at toplevel (no comments):
   $C_arg = qr/ (?: (?> [^()\[\]{},"']+ )
-	     |   (??{ $C_group_rex })
-	     |   " (?: (?> [^\\"]+ )
-		   |   \\.
-		   )* "		# String literal
-			    |   ' (?: (?> [^\\']+ ) | \\. )* ' # Char literal
-	     )* /xs;
-  
+         |   (??{ $C_group_rex })
+         |   " (?: (?> [^\\"]+ )
+           |   \\.
+           )* "        # String literal
+                |   ' (?: (?> [^\\']+ ) | \\. )* ' # Char literal
+         )* /xs;
+
+  # Since at this point we're ready to begin printing to the output file and
+  # reading from the input file, I want to get as much data as possible into
+  # the proto-object $self.  That means assigning to $self and elements of
+  # %args referenced below this point.
+  # HOWEVER:  This resulted in an error when I tried:
+  #   $args{'s'} ---> $self->{s}.
+  # Use of uninitialized value in quotemeta at
+  #   .../blib/lib/ExtUtils/ParseXS.pm line 733
+
+  foreach my $datum ( qw| argtypes except inout optimize | ) {
+    $self->{$datum} = $args{$datum};
+  }
+
   # Identify the version of xsubpp used
-  print <<EOM ;
+  print <<EOM;
 /*
  * This file was generated automatically by ExtUtils::ParseXS version $VERSION from the
- * contents of $filename. Do not edit this file, edit $filename instead.
+ * contents of $self->{filename}. Do not edit this file, edit $self->{filename} instead.
  *
- *	ANY CHANGES MADE HERE WILL BE LOST! 
+ *    ANY CHANGES MADE HERE WILL BE LOST!
  *
  */
 
@@ -264,44 +195,48 @@
 EOM
 
 
-  print("#line 1 \"$filepathname\"\n")
-    if $WantLineNumbers;
+  print("#line 1 \"" . escape_file_for_line_directive($self->{filepathname}) . "\"\n")
+    if $self->{WantLineNumbers};
 
+  # Open the input file (using $self->{filename} which
+  # is a basename'd $args{filename} due to chdir above)
+  open($self->{FH}, '<', $self->{filename}) or die "cannot open $self->{filename}: $!\n";
+
   firstmodule:
-  while (<$FH>) {
+  while (readline($self->{FH})) {
     if (/^=/) {
       my $podstartline = $.;
       do {
-	if (/^=cut\s*$/) {
-	  # We can't just write out a /* */ comment, as our embedded
-	  # POD might itself be in a comment. We can't put a /**/
-	  # comment inside #if 0, as the C standard says that the source
-	  # file is decomposed into preprocessing characters in the stage
-	  # before preprocessing commands are executed.
-	  # I don't want to leave the text as barewords, because the spec
-	  # isn't clear whether macros are expanded before or after
-	  # preprocessing commands are executed, and someone pathological
-	  # may just have defined one of the 3 words as a macro that does
-	  # something strange. Multiline strings are illegal in C, so
-	  # the "" we write must be a string literal. And they aren't
-	  # concatenated until 2 steps later, so we are safe.
-	  #     - Nicholas Clark
-	  print("#if 0\n  \"Skipped embedded POD.\"\n#endif\n");
-	  printf("#line %d \"$filepathname\"\n", $. + 1)
-	    if $WantLineNumbers;
-	  next firstmodule
-	}
-	
-      } while (<$FH>);
+        if (/^=cut\s*$/) {
+          # We can't just write out a /* */ comment, as our embedded
+          # POD might itself be in a comment. We can't put a /**/
+          # comment inside #if 0, as the C standard says that the source
+          # file is decomposed into preprocessing characters in the stage
+          # before preprocessing commands are executed.
+          # I don't want to leave the text as barewords, because the spec
+          # isn't clear whether macros are expanded before or after
+          # preprocessing commands are executed, and someone pathological
+          # may just have defined one of the 3 words as a macro that does
+          # something strange. Multiline strings are illegal in C, so
+          # the "" we write must be a string literal. And they aren't
+          # concatenated until 2 steps later, so we are safe.
+          #     - Nicholas Clark
+          print("#if 0\n  \"Skipped embedded POD.\"\n#endif\n");
+          printf("#line %d \"%s\"\n", $. + 1, escape_file_for_line_directive($self->{filepathname}))
+            if $self->{WantLineNumbers};
+          next firstmodule
+        }
+
+      } while (readline($self->{FH}));
       # At this point $. is at end of file so die won't state the start
       # of the problem, and as we haven't yet read any lines &death won't
       # show the correct line in the message either.
-      die ("Error: Unterminated pod in $filename, line $podstartline\n")
-	unless $lastline;
+      die ("Error: Unterminated pod in $self->{filename}, line $podstartline\n")
+        unless $self->{lastline};
     }
-    last if ($Package, $Prefix) =
+    last if ($Package, $self->{Prefix}) =
       /^MODULE\s*=\s*[\w:]+(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/;
-    
+
     print $_;
   }
   unless (defined $_) {
@@ -309,314 +244,260 @@
     exit 0; # Not a fatal error for the caller process
   }
 
-  print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $WantLineNumbers;
+  print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $self->{WantLineNumbers};
 
-  print <<"EOF";
-#ifndef PERL_UNUSED_VAR
-#  define PERL_UNUSED_VAR(var) if (0) var = var
-#endif
+  standard_XS_defs();
 
-EOF
+  print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $self->{WantLineNumbers};
 
-  print <<"EOF";
-#ifndef PERL_ARGS_ASSERT_CROAK_XS_USAGE
-#define PERL_ARGS_ASSERT_CROAK_XS_USAGE assert(cv); assert(params)
+  $self->{lastline}    = $_;
+  $self->{lastline_no} = $.;
 
-/* prototype to pass -Wmissing-prototypes */
-STATIC void
-S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params);
-
-STATIC void
-S_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
-{
-    const GV *const gv = CvGV(cv);
-
-    PERL_ARGS_ASSERT_CROAK_XS_USAGE;
-
-    if (gv) {
-        const char *const gvname = GvNAME(gv);
-        const HV *const stash = GvSTASH(gv);
-        const char *const hvname = stash ? HvNAME(stash) : NULL;
-
-        if (hvname)
-            Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params);
-        else
-            Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
-    } else {
-        /* Pants. I don't think that it should be possible to get here. */
-        Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
-    }
-}
-#undef  PERL_ARGS_ASSERT_CROAK_XS_USAGE
-
-#ifdef PERL_IMPLICIT_CONTEXT
-#define croak_xs_usage(a,b)	S_croak_xs_usage(aTHX_ a,b)
-#else
-#define croak_xs_usage		S_croak_xs_usage
-#endif
-
-#endif
-
-/* NOTE: the prototype of newXSproto() is different in versions of perls,
- * so we define a portable version of newXSproto()
- */
-#ifdef newXS_flags
-#define newXSproto_portable(name, c_impl, file, proto) newXS_flags(name, c_impl, file, proto, 0)
-#else
-#define newXSproto_portable(name, c_impl, file, proto) (PL_Sv=(SV*)newXS(name, c_impl, file), sv_setpv(PL_Sv, proto), (CV*)PL_Sv)
-#endif /* !defined(newXS_flags) */
-
-EOF
-
-  print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $WantLineNumbers;
-
-  $lastline    = $_;
-  $lastline_no = $.;
-
+  my $BootCode_ref = [];
+  my $XSS_work_idx = 0;
+  my $cpp_next_tmp = 'XSubPPtmpAAAA';
  PARAGRAPH:
-  while (fetch_para()) {
+  while ($self->fetch_para()) {
+    my $outlist_ref  = [];
     # Print initial preprocessor statements and blank lines
-    while (@line && $line[0] !~ /^[^\#]/) {
-      my $line = shift(@line);
-      print $line, "\n";
-      next unless $line =~ /^\#\s*((if)(?:n?def)?|elsif|else|endif)\b/;
+    while (@{ $self->{line} } && $self->{line}->[0] !~ /^[^\#]/) {
+      my $ln = shift(@{ $self->{line} });
+      print $ln, "\n";
+      next unless $ln =~ /^\#\s*((if)(?:n?def)?|elsif|else|endif)\b/;
       my $statement = $+;
-      if ($statement eq 'if') {
-	$XSS_work_idx = @XSStack;
-	push(@XSStack, {type => 'if'});
-      } else {
-	death ("Error: `$statement' with no matching `if'")
-	  if $XSStack[-1]{type} ne 'if';
-	if ($XSStack[-1]{varname}) {
-	  push(@InitFileCode, "#endif\n");
-	  push(@BootCode,     "#endif");
-	}
-	
-	my(@fns) = keys %{$XSStack[-1]{functions}};
-	if ($statement ne 'endif') {
-	  # Hide the functions defined in other #if branches, and reset.
-	  @{$XSStack[-1]{other_functions}}{@fns} = (1) x @fns;
-	  @{$XSStack[-1]}{qw(varname functions)} = ('', {});
-	} else {
-	  my($tmp) = pop(@XSStack);
-	  0 while (--$XSS_work_idx
-		   && $XSStack[$XSS_work_idx]{type} ne 'if');
-	  # Keep all new defined functions
-	  push(@fns, keys %{$tmp->{other_functions}});
-	  @{$XSStack[$XSS_work_idx]{functions}}{@fns} = (1) x @fns;
-	}
-      }
+      ( $self, $XSS_work_idx, $BootCode_ref ) =
+        analyze_preprocessor_statements(
+          $self, $statement, $XSS_work_idx, $BootCode_ref
+        );
     }
-    
-    next PARAGRAPH unless @line;
-    
-    if ($XSS_work_idx && !$XSStack[$XSS_work_idx]{varname}) {
+
+    next PARAGRAPH unless @{ $self->{line} };
+
+    if ($XSS_work_idx && !$self->{XSStack}->[$XSS_work_idx]{varname}) {
       # We are inside an #if, but have not yet #defined its xsubpp variable.
       print "#define $cpp_next_tmp 1\n\n";
-      push(@InitFileCode, "#if $cpp_next_tmp\n");
-      push(@BootCode,     "#if $cpp_next_tmp");
-      $XSStack[$XSS_work_idx]{varname} = $cpp_next_tmp++;
+      push(@{ $self->{InitFileCode} }, "#if $cpp_next_tmp\n");
+      push(@{ $BootCode_ref },     "#if $cpp_next_tmp");
+      $self->{XSStack}->[$XSS_work_idx]{varname} = $cpp_next_tmp++;
     }
 
-    death ("Code is not inside a function"
-	   ." (maybe last function was ended by a blank line "
-	   ." followed by a statement on column one?)")
-      if $line[0] =~ /^\s/;
-    
-    my ($class, $externC, $static, $ellipsis, $wantRETVAL, $RETVAL_no_return);
-    my (@fake_INPUT_pre);	# For length(s) generated variables
-    my (@fake_INPUT);
-    
+    $self->death(
+      "Code is not inside a function"
+        ." (maybe last function was ended by a blank line "
+        ." followed by a statement on column one?)")
+      if $self->{line}->[0] =~ /^\s/;
+
     # initialize info arrays
-    undef(%args_match);
-    undef(%var_types);
-    undef(%defaults);
-    undef(%arg_list) ;
-    undef(@proto_arg) ;
-    undef($processing_arg_with_types) ;
-    undef(%argtype_seen) ;
-    undef(@outlist) ;
-    undef(%in_out) ;
-    undef(%lengthof) ;
-    undef($proto_in_this_xsub) ;
-    undef($scope_in_this_xsub) ;
-    undef($interface);
-    undef($prepush_done);
-    $interface_macro = 'XSINTERFACE_FUNC' ;
-    $interface_macro_set = 'XSINTERFACE_FUNC_SET' ;
-    $ProtoThisXSUB = $WantPrototypes ;
-    $ScopeThisXSUB = 0;
-    $xsreturn = 0;
+    foreach my $member (qw(args_match var_types defaults arg_list
+                           argtype_seen in_out lengthof))
+    {
+      $self->{$member} = {};
+    }
+    $self->{proto_arg} = [];
+    $self->{processing_arg_with_types} = undef;
+    $self->{proto_in_this_xsub}        = undef;
+    $self->{scope_in_this_xsub}        = undef;
+    $self->{interface}                 = undef;
+    $self->{interface_macro}           = 'XSINTERFACE_FUNC';
+    $self->{interface_macro_set}       = 'XSINTERFACE_FUNC_SET';
+    $self->{ProtoThisXSUB}             = $self->{WantPrototypes};
+    $self->{ScopeThisXSUB}             = 0;
 
-    $_ = shift(@line);
-    while (my $kwd = check_keyword("REQUIRE|PROTOTYPES|FALLBACK|VERSIONCHECK|INCLUDE(?:_COMMAND)?|SCOPE")) {
-      &{"${kwd}_handler"}() ;
-      next PARAGRAPH unless @line ;
-      $_ = shift(@line);
+    my $xsreturn = 0;
+
+    $_ = shift(@{ $self->{line} });
+    while (my $kwd = $self->check_keyword("REQUIRE|PROTOTYPES|EXPORT_XSUB_SYMBOLS|FALLBACK|VERSIONCHECK|INCLUDE(?:_COMMAND)?|SCOPE")) {
+      my $method = $kwd . "_handler";
+      $self->$method($_);
+      next PARAGRAPH unless @{ $self->{line} };
+      $_ = shift(@{ $self->{line} });
     }
 
-    if (check_keyword("BOOT")) {
-      &check_cpp;
-      push (@BootCode, "#line $line_no[@line_no - @line] \"$filepathname\"")
-	if $WantLineNumbers && $line[0] !~ /^\s*#\s*line\b/;
-      push (@BootCode, @line, "") ;
-      next PARAGRAPH ;
+    if ($self->check_keyword("BOOT")) {
+      check_conditional_preprocessor_statements($self);
+      push (@{ $BootCode_ref }, "#line $self->{line_no}->[@{ $self->{line_no} } - @{ $self->{line} }] \""
+                                . escape_file_for_line_directive($self->{filepathname}) . "\"")
+        if $self->{WantLineNumbers} && $self->{line}->[0] !~ /^\s*#\s*line\b/;
+      push (@{ $BootCode_ref }, @{ $self->{line} }, "");
+      next PARAGRAPH;
     }
 
-
     # extract return type, function name and arguments
-    ($ret_type) = TidyType($_);
-    $RETVAL_no_return = 1 if $ret_type =~ s/^NO_OUTPUT\s+//;
+    ($self->{ret_type}) = tidy_type($_);
+    my $RETVAL_no_return = 1 if $self->{ret_type} =~ s/^NO_OUTPUT\s+//;
 
     # Allow one-line ANSI-like declaration
-    unshift @line, $2
-      if $process_argtypes
-	and $ret_type =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s;
+    unshift @{ $self->{line} }, $2
+      if $self->{argtypes}
+        and $self->{ret_type} =~ s/^(.*?\w.*?)\s*\b(\w+\s*\(.*)/$1/s;
 
     # a function definition needs at least 2 lines
-    blurt ("Error: Function definition too short '$ret_type'"), next PARAGRAPH
-      unless @line ;
+    $self->blurt("Error: Function definition too short '$self->{ret_type}'"), next PARAGRAPH
+      unless @{ $self->{line} };
 
-    $externC = 1 if $ret_type =~ s/^extern "C"\s+//;
-    $static  = 1 if $ret_type =~ s/^static\s+//;
+    my $externC = 1 if $self->{ret_type} =~ s/^extern "C"\s+//;
+    my $static  = 1 if $self->{ret_type} =~ s/^static\s+//;
 
-    $func_header = shift(@line);
-    blurt ("Error: Cannot parse function definition from '$func_header'"), next PARAGRAPH
+    my $func_header = shift(@{ $self->{line} });
+    $self->blurt("Error: Cannot parse function definition from '$func_header'"), next PARAGRAPH
       unless $func_header =~ /^(?:([\w:]*)::)?(\w+)\s*\(\s*(.*?)\s*\)\s*(const)?\s*(;\s*)?$/s;
 
-    ($class, $func_name, $orig_args) =  ($1, $2, $3) ;
+    my ($class, $orig_args);
+    ($class, $func_name, $orig_args) =  ($1, $2, $3);
     $class = "$4 $class" if $4;
-    ($pname = $func_name) =~ s/^($Prefix)?/$Packprefix/;
-    ($clean_func_name = $func_name) =~ s/^$Prefix//;
-    $Full_func_name = "${Packid}_$clean_func_name";
+    ($pname = $func_name) =~ s/^($self->{Prefix})?/$self->{Packprefix}/;
+    my $clean_func_name;
+    ($clean_func_name = $func_name) =~ s/^$self->{Prefix}//;
+    $Full_func_name = "$self->{Packid}_$clean_func_name";
     if ($Is_VMS) {
       $Full_func_name = $SymSet->addsym($Full_func_name);
     }
 
     # Check for duplicate function definition
-    for my $tmp (@XSStack) {
+    for my $tmp (@{ $self->{XSStack} }) {
       next unless defined $tmp->{functions}{$Full_func_name};
-      Warn("Warning: duplicate function definition '$clean_func_name' detected");
+      Warn( $self, "Warning: duplicate function definition '$clean_func_name' detected");
       last;
     }
-    $XSStack[$XSS_work_idx]{functions}{$Full_func_name} ++ ;
-    %XsubAliases = %XsubAliasValues = %Interfaces = @Attributes = ();
-    $DoSetMagic = 1;
+    $self->{XSStack}->[$XSS_work_idx]{functions}{$Full_func_name}++;
+    %{ $self->{XsubAliases} }     = ();
+    %{ $self->{XsubAliasValues} } = ();
+    %{ $self->{Interfaces} }      = ();
+    @{ $self->{Attributes} }      = ();
+    $self->{DoSetMagic} = 1;
 
-    $orig_args =~ s/\\\s*/ /g;	# process line continuations
+    $orig_args =~ s/\\\s*/ /g;    # process line continuations
     my @args;
 
-    my %only_C_inlist;		# Not in the signature of Perl function
-    if ($process_argtypes and $orig_args =~ /\S/) {
+    my (@fake_INPUT_pre);    # For length(s) generated variables
+    my (@fake_INPUT);
+    my $only_C_inlist_ref = {};        # Not in the signature of Perl function
+    if ($self->{argtypes} and $orig_args =~ /\S/) {
       my $args = "$orig_args ,";
       if ($args =~ /^( (??{ $C_arg }) , )* $ /x) {
-	@args = ($args =~ /\G ( (??{ $C_arg }) ) , /xg);
-	for ( @args ) {
-	  s/^\s+//;
-	  s/\s+$//;
-	  my ($arg, $default) = / ( [^=]* ) ( (?: = .* )? ) /x;
-	  my ($pre, $name) = ($arg =~ /(.*?) \s*
-					     \b ( \w+ | length\( \s*\w+\s* \) )
-					     \s* $ /x);
-	  next unless defined($pre) && length($pre);
-	  my $out_type = '';
-	  my $inout_var;
-	  if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//) {
-	    my $type = $1;
-	    $out_type = $type if $type ne 'IN';
-	    $arg =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
-	    $pre =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
-	  }
-	  my $islength;
-	  if ($name =~ /^length\( \s* (\w+) \s* \)\z/x) {
-	    $name = "XSauto_length_of_$1";
-	    $islength = 1;
-	    die "Default value on length() argument: `$_'"
-	      if length $default;
-	  }
-	  if (length $pre or $islength) { # Has a type
-	    if ($islength) {
-	      push @fake_INPUT_pre, $arg;
-	    } else {
-	      push @fake_INPUT, $arg;
-	    }
-	    # warn "pushing '$arg'\n";
-	    $argtype_seen{$name}++;
-	    $_ = "$name$default"; # Assigns to @args
-	  }
-	  $only_C_inlist{$_} = 1 if $out_type eq "OUTLIST" or $islength;
-	  push @outlist, $name if $out_type =~ /OUTLIST$/;
-	  $in_out{$name} = $out_type if $out_type;
-	}
-      } else {
-	@args = split(/\s*,\s*/, $orig_args);
-	Warn("Warning: cannot parse argument list '$orig_args', fallback to split");
+        @args = ($args =~ /\G ( (??{ $C_arg }) ) , /xg);
+        for ( @args ) {
+          s/^\s+//;
+          s/\s+$//;
+          my ($arg, $default) = ($_ =~ m/ ( [^=]* ) ( (?: = .* )? ) /x);
+          my ($pre, $len_name) = ($arg =~ /(.*?) \s*
+                             \b ( \w+ | length\( \s*\w+\s* \) )
+                             \s* $ /x);
+          next unless defined($pre) && length($pre);
+          my $out_type = '';
+          my $inout_var;
+          if ($self->{inout} and s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//) {
+            my $type = $1;
+            $out_type = $type if $type ne 'IN';
+            $arg =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
+            $pre =~ s/^(IN|IN_OUTLIST|OUTLIST|OUT|IN_OUT)\b\s*//;
+          }
+          my $islength;
+          if ($len_name =~ /^length\( \s* (\w+) \s* \)\z/x) {
+            $len_name = "XSauto_length_of_$1";
+            $islength = 1;
+            die "Default value on length() argument: '$_'"
+              if length $default;
+          }
+          if (length $pre or $islength) { # Has a type
+            if ($islength) {
+              push @fake_INPUT_pre, $arg;
+            }
+            else {
+              push @fake_INPUT, $arg;
+            }
+            # warn "pushing '$arg'\n";
+            $self->{argtype_seen}->{$len_name}++;
+            $_ = "$len_name$default"; # Assigns to @args
+          }
+          $only_C_inlist_ref->{$_} = 1 if $out_type eq "OUTLIST" or $islength;
+          push @{ $outlist_ref }, $len_name if $out_type =~ /OUTLIST$/;
+          $self->{in_out}->{$len_name} = $out_type if $out_type;
+        }
       }
-    } else {
+      else {
+        @args = split(/\s*,\s*/, $orig_args);
+        Warn( $self, "Warning: cannot parse argument list '$orig_args', fallback to split");
+      }
+    }
+    else {
       @args = split(/\s*,\s*/, $orig_args);
       for (@args) {
-	if ($process_inout and s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\b\s*//) {
-	  my $out_type = $1;
-	  next if $out_type eq 'IN';
-	  $only_C_inlist{$_} = 1 if $out_type eq "OUTLIST";
-	  push @outlist, $name if $out_type =~ /OUTLIST$/;
-	  $in_out{$_} = $out_type;
-	}
+        if ($self->{inout} and s/^(IN|IN_OUTLIST|OUTLIST|IN_OUT|OUT)\b\s*//) {
+          my $out_type = $1;
+          next if $out_type eq 'IN';
+          $only_C_inlist_ref->{$_} = 1 if $out_type eq "OUTLIST";
+          if ($out_type =~ /OUTLIST$/) {
+              push @{ $outlist_ref }, undef;
+          }
+          $self->{in_out}->{$_} = $out_type;
+        }
       }
     }
     if (defined($class)) {
       my $arg0 = ((defined($static) or $func_name eq 'new')
-		  ? "CLASS" : "THIS");
+          ? "CLASS" : "THIS");
       unshift(@args, $arg0);
     }
     my $extra_args = 0;
-    @args_num = ();
-    $num_args = 0;
+    my @args_num = ();
+    my $num_args = 0;
     my $report_args = '';
+    my $ellipsis;
     foreach my $i (0 .. $#args) {
       if ($args[$i] =~ s/\.\.\.//) {
-	$ellipsis = 1;
-	if ($args[$i] eq '' && $i == $#args) {
-	  $report_args .= ", ...";
-	  pop(@args);
-	  last;
-	}
+        $ellipsis = 1;
+        if ($args[$i] eq '' && $i == $#args) {
+          $report_args .= ", ...";
+          pop(@args);
+          last;
+        }
       }
-      if ($only_C_inlist{$args[$i]}) {
-	push @args_num, undef;
-      } else {
-	push @args_num, ++$num_args;
-	$report_args .= ", $args[$i]";
+      if ($only_C_inlist_ref->{$args[$i]}) {
+        push @args_num, undef;
       }
+      else {
+        push @args_num, ++$num_args;
+          $report_args .= ", $args[$i]";
+      }
       if ($args[$i] =~ /^([^=]*[^\s=])\s*=\s*(.*)/s) {
-	$extra_args++;
-	$args[$i] = $1;
-	$defaults{$args[$i]} = $2;
-	$defaults{$args[$i]} =~ s/"/\\"/g;
+        $extra_args++;
+        $args[$i] = $1;
+        $self->{defaults}->{$args[$i]} = $2;
+        $self->{defaults}->{$args[$i]} =~ s/"/\\"/g;
       }
-      $proto_arg[$i+1] = '$' ;
+      $self->{proto_arg}->[$i+1] = '$';
     }
-    $min_args = $num_args - $extra_args;
+    my $min_args = $num_args - $extra_args;
     $report_args =~ s/"/\\"/g;
     $report_args =~ s/^,\s+//;
-    my @func_args = @args;
-    shift @func_args if defined($class);
+    $self->{func_args} = assign_func_args($self, \@args, $class);
+    @{ $self->{args_match} }{@args} = @args_num;
 
-    for (@func_args) {
-      s/^/&/ if $in_out{$_};
-    }
-    $func_args = join(", ", @func_args);
-    @args_match{@args} = @args_num;
-
-    $PPCODE = grep(/^\s*PPCODE\s*:/, @line);
-    $CODE = grep(/^\s*CODE\s*:/, @line);
+    my $PPCODE = grep(/^\s*PPCODE\s*:/, @{ $self->{line} });
+    my $CODE = grep(/^\s*CODE\s*:/, @{ $self->{line} });
     # Detect CODE: blocks which use ST(n)= or XST_m*(n,v)
-    #   to set explicit return values.
-    $EXPLICIT_RETURN = ($CODE &&
-			("@line" =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x ));
-    $ALIAS  = grep(/^\s*ALIAS\s*:/,  @line);
-    $INTERFACE  = grep(/^\s*INTERFACE\s*:/,  @line);
+    # to set explicit return values.
+    my $EXPLICIT_RETURN = ($CODE &&
+            ("@{ $self->{line} }" =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x ));
 
+    # The $ALIAS which follows is only explicitly called within the scope of
+    # process_file().  In principle, it ought to be a lexical, i.e., 'my
+    # $ALIAS' like the other nearby variables.  However, implementing that
+    # change produced a slight difference in the resulting .c output in at
+    # least two distributions:  B/BD/BDFOY/Crypt-Rijndael and
+    # G/GF/GFUJI/Hash-FieldHash.  The difference is, arguably, an improvement
+    # in the resulting C code.  Example:
+    # 388c388
+    # <                       GvNAME(CvGV(cv)),
+    # ---
+    # >                       "Crypt::Rijndael::encrypt",
+    # But at this point we're committed to generating the *same* C code that
+    # the current version of ParseXS.pm does.  So we're declaring it as 'our'.
+    $ALIAS  = grep(/^\s*ALIAS\s*:/,  @{ $self->{line} });
+
+    my $INTERFACE  = grep(/^\s*INTERFACE\s*:/,  @{ $self->{line} });
+
     $xsreturn = 1 if $EXPLICIT_RETURN;
 
     $externC = $externC ? qq[extern "C"] : "";
@@ -624,40 +505,32 @@
     # print function header
     print Q(<<"EOF");
 #$externC
-#XS(XS_${Full_func_name}); /* prototype to pass -Wmissing-prototypes */
-#XS(XS_${Full_func_name})
+#XS_EUPXS(XS_${Full_func_name}); /* prototype to pass -Wmissing-prototypes */
+#XS_EUPXS(XS_${Full_func_name})
 #[[
-##ifdef dVAR
 #    dVAR; dXSARGS;
-##else
-#    dXSARGS;
-##endif
 EOF
-    print Q(<<"EOF") if $ALIAS ;
+    print Q(<<"EOF") if $ALIAS;
 #    dXSI32;
 EOF
-    print Q(<<"EOF") if $INTERFACE ;
-#    dXSFUNCTION($ret_type);
+    print Q(<<"EOF") if $INTERFACE;
+#    dXSFUNCTION($self->{ret_type});
 EOF
-    if ($ellipsis) {
-      $cond = ($min_args ? qq(items < $min_args) : 0);
-    } elsif ($min_args == $num_args) {
-      $cond = qq(items != $min_args);
-    } else {
-      $cond = qq(items < $min_args || items > $num_args);
-    }
 
-    print Q(<<"EOF") if $except;
+    $self->{cond} = set_cond($ellipsis, $min_args, $num_args);
+
+    print Q(<<"EOF") if $self->{except};
 #    char errbuf[1024];
-#    *errbuf = '\0';
+#    *errbuf = '\\0';
 EOF
 
-    if($cond) {
-    print Q(<<"EOF");
-#    if ($cond)
+    if($self->{cond}) {
+      print Q(<<"EOF");
+#    if ($self->{cond})
 #       croak_xs_usage(cv,  "$report_args");
 EOF
-    } else {
+    }
+    else {
     # cv likely to be unused
     print Q(<<"EOF");
 #    PERL_UNUSED_VAR(cv); /* -W */
@@ -666,7 +539,7 @@
 
     #gcc -Wall: if an xsub has PPCODE is used
     #it is possible none of ST, XSRETURN or XSprePUSH macros are used
-    #hence `ax' (setup by dXSARGS) is unused
+    #hence 'ax' (setup by dXSARGS) is unused
     #XXX: could breakup the dXSARGS; into dSP;dMARK;dITEMS
     #but such a move could break third-party extensions
     print Q(<<"EOF") if $PPCODE;
@@ -679,199 +552,258 @@
 
     # Now do a block of some sort.
 
-    $condnum = 0;
-    $cond = '';			# last CASE: conditional
-    push(@line, "$END:");
-    push(@line_no, $line_no[-1]);
+    $self->{condnum} = 0;
+    $self->{cond} = '';            # last CASE: conditional
+    push(@{ $self->{line} }, "$END:");
+    push(@{ $self->{line_no} }, $self->{line_no}->[-1]);
     $_ = '';
-    &check_cpp;
-    while (@line) {
-      &CASE_handler if check_keyword("CASE");
+    check_conditional_preprocessor_statements();
+    while (@{ $self->{line} }) {
+
+      $self->CASE_handler($_) if $self->check_keyword("CASE");
       print Q(<<"EOF");
-#   $except [[
+#   $self->{except} [[
 EOF
 
       # do initialization of input variables
-      $thisdone = 0;
-      $retvaldone = 0;
-      $deferred = "";
-      %arg_list = () ;
-      $gotRETVAL = 0;
-	
-      INPUT_handler() ;
-      process_keyword("INPUT|PREINIT|INTERFACE_MACRO|C_ARGS|ALIAS|ATTRS|PROTOTYPE|SCOPE|OVERLOAD") ;
+      $self->{thisdone} = 0;
+      $self->{retvaldone} = 0;
+      $self->{deferred} = "";
+      %{ $self->{arg_list} } = ();
+      $self->{gotRETVAL} = 0;
+      $self->INPUT_handler($_);
+      $self->process_keyword("INPUT|PREINIT|INTERFACE_MACRO|C_ARGS|ALIAS|ATTRS|PROTOTYPE|SCOPE|OVERLOAD");
 
-      print Q(<<"EOF") if $ScopeThisXSUB;
+      print Q(<<"EOF") if $self->{ScopeThisXSUB};
 #   ENTER;
 #   [[
 EOF
-	
-      if (!$thisdone && defined($class)) {
-	if (defined($static) or $func_name eq 'new') {
-	  print "\tchar *";
-	  $var_types{"CLASS"} = "char *";
-	  &generate_init("char *", 1, "CLASS");
-	}
-	else {
-	  print "\t$class *";
-	  $var_types{"THIS"} = "$class *";
-	  &generate_init("$class *", 1, "THIS");
-	}
+
+      if (!$self->{thisdone} && defined($class)) {
+        if (defined($static) or $func_name eq 'new') {
+          print "\tchar *";
+          $self->{var_types}->{"CLASS"} = "char *";
+          generate_init( {
+            type          => "char *",
+            num           => 1,
+            var           => "CLASS",
+            printed_name  => undef,
+          } );
+        }
+        else {
+          print "\t$class *";
+          $self->{var_types}->{"THIS"} = "$class *";
+          generate_init( {
+            type          => "$class *",
+            num           => 1,
+            var           => "THIS",
+            printed_name  => undef,
+          } );
+        }
       }
-      
+
+      # These are set if OUTPUT is found and/or CODE using RETVAL
+      $self->{have_OUTPUT} = $self->{have_CODE_with_RETVAL} = 0;
+
+      my ($wantRETVAL);
       # do code
       if (/^\s*NOT_IMPLEMENTED_YET/) {
-	print "\n\tPerl_croak(aTHX_ \"$pname: not implemented yet\");\n";
-	$_ = '' ;
-      } else {
-	if ($ret_type ne "void") {
-	  print "\t" . &map_type($ret_type, 'RETVAL') . ";\n"
-	    if !$retvaldone;
-	  $args_match{"RETVAL"} = 0;
-	  $var_types{"RETVAL"} = $ret_type;
-	  print "\tdXSTARG;\n"
-	    if $WantOptimize and $targetable{$type_kind{$ret_type}};
-	}
-	
-	if (@fake_INPUT or @fake_INPUT_pre) {
-	  unshift @line, @fake_INPUT_pre, @fake_INPUT, $_;
-	  $_ = "";
-	  $processing_arg_with_types = 1;
-	  INPUT_handler() ;
-	}
-	print $deferred;
-	
-        process_keyword("INIT|ALIAS|ATTRS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS|OVERLOAD") ;
-	
-	if (check_keyword("PPCODE")) {
-	  print_section();
-	  death ("PPCODE must be last thing") if @line;
-	  print "\tLEAVE;\n" if $ScopeThisXSUB;
-	  print "\tPUTBACK;\n\treturn;\n";
-	} elsif (check_keyword("CODE")) {
-	  print_section() ;
-	} elsif (defined($class) and $func_name eq "DESTROY") {
-	  print "\n\t";
-	  print "delete THIS;\n";
-	} else {
-	  print "\n\t";
-	  if ($ret_type ne "void") {
-	    print "RETVAL = ";
-	    $wantRETVAL = 1;
-	  }
-	  if (defined($static)) {
-	    if ($func_name eq 'new') {
-	      $func_name = "$class";
-	    } else {
-	      print "${class}::";
-	    }
-	  } elsif (defined($class)) {
-	    if ($func_name eq 'new') {
-	      $func_name .= " $class";
-	    } else {
-	      print "THIS->";
-	    }
-	  }
-	  $func_name =~ s/^\Q$args{'s'}//
-	    if exists $args{'s'};
-	  $func_name = 'XSFUNCTION' if $interface;
-	  print "$func_name($func_args);\n";
-	}
+        print "\n\tPerl_croak(aTHX_ \"$pname: not implemented yet\");\n";
+        $_ = '';
       }
-      
+      else {
+        if ($self->{ret_type} ne "void") {
+          print "\t" . map_type($self, $self->{ret_type}, 'RETVAL') . ";\n"
+            if !$self->{retvaldone};
+          $self->{args_match}->{"RETVAL"} = 0;
+          $self->{var_types}->{"RETVAL"} = $self->{ret_type};
+          my $outputmap = $self->{typemap}->get_outputmap( ctype => $self->{ret_type} );
+          print "\tdXSTARG;\n"
+            if $self->{optimize} and $outputmap and $outputmap->targetable;
+        }
+
+        if (@fake_INPUT or @fake_INPUT_pre) {
+          unshift @{ $self->{line} }, @fake_INPUT_pre, @fake_INPUT, $_;
+          $_ = "";
+          $self->{processing_arg_with_types} = 1;
+          $self->INPUT_handler($_);
+        }
+        print $self->{deferred};
+
+        $self->process_keyword("INIT|ALIAS|ATTRS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS|OVERLOAD");
+
+        if ($self->check_keyword("PPCODE")) {
+          $self->print_section();
+          $self->death("PPCODE must be last thing") if @{ $self->{line} };
+          print "\tLEAVE;\n" if $self->{ScopeThisXSUB};
+          print "\tPUTBACK;\n\treturn;\n";
+        }
+        elsif ($self->check_keyword("CODE")) {
+          my $consumed_code = $self->print_section();
+          if ($consumed_code =~ /\bRETVAL\b/) {
+            $self->{have_CODE_with_RETVAL} = 1;
+          }
+        }
+        elsif (defined($class) and $func_name eq "DESTROY") {
+          print "\n\t";
+          print "delete THIS;\n";
+        }
+        else {
+          print "\n\t";
+          if ($self->{ret_type} ne "void") {
+            print "RETVAL = ";
+            $wantRETVAL = 1;
+          }
+          if (defined($static)) {
+            if ($func_name eq 'new') {
+              $func_name = "$class";
+            }
+            else {
+              print "${class}::";
+            }
+          }
+          elsif (defined($class)) {
+            if ($func_name eq 'new') {
+              $func_name .= " $class";
+            }
+            else {
+              print "THIS->";
+            }
+          }
+          $func_name =~ s/^\Q$args{'s'}//
+            if exists $args{'s'};
+          $func_name = 'XSFUNCTION' if $self->{interface};
+          print "$func_name($self->{func_args});\n";
+        }
+      }
+
       # do output variables
-      $gotRETVAL = 0;		# 1 if RETVAL seen in OUTPUT section;
-      undef $RETVAL_code ;	# code to set RETVAL (from OUTPUT section);
+      $self->{gotRETVAL} = 0;        # 1 if RETVAL seen in OUTPUT section;
+      undef $self->{RETVAL_code} ;    # code to set RETVAL (from OUTPUT section);
       # $wantRETVAL set if 'RETVAL =' autogenerated
-      ($wantRETVAL, $ret_type) = (0, 'void') if $RETVAL_no_return;
-      undef %outargs ;
-      process_keyword("POSTCALL|OUTPUT|ALIAS|ATTRS|PROTOTYPE|OVERLOAD");
-      
-      &generate_output($var_types{$_}, $args_match{$_}, $_, $DoSetMagic)
-	for grep $in_out{$_} =~ /OUT$/, keys %in_out;
-      
+      ($wantRETVAL, $self->{ret_type}) = (0, 'void') if $RETVAL_no_return;
+      undef %{ $self->{outargs} };
+
+      $self->process_keyword("POSTCALL|OUTPUT|ALIAS|ATTRS|PROTOTYPE|OVERLOAD");
+
+      # A CODE section with RETVAL, but no OUTPUT? FAIL!
+      if ($self->{have_CODE_with_RETVAL} and not $self->{have_OUTPUT} and $self->{ret_type} ne 'void') {
+        $self->Warn("Warning: Found a 'CODE' section which seems to be using 'RETVAL' but no 'OUTPUT' section.");
+      }
+
+      generate_output( {
+        type        => $self->{var_types}->{$_},
+        num         => $self->{args_match}->{$_},
+        var         => $_,
+        do_setmagic => $self->{DoSetMagic},
+        do_push     => undef,
+      } ) for grep $self->{in_out}->{$_} =~ /OUT$/, keys %{ $self->{in_out} };
+
+      my $prepush_done;
       # all OUTPUT done, so now push the return value on the stack
-      if ($gotRETVAL && $RETVAL_code) {
-	print "\t$RETVAL_code\n";
-      } elsif ($gotRETVAL || $wantRETVAL) {
-	my $t = $WantOptimize && $targetable{$type_kind{$ret_type}};
-	my $var = 'RETVAL';
-	my $type = $ret_type;
-	
-	# 0: type, 1: with_size, 2: how, 3: how_size
-	if ($t and not $t->[1] and $t->[0] eq 'p') {
-	  # PUSHp corresponds to setpvn.  Treat setpv directly
-	  my $what = eval qq("$t->[2]");
-	  warn $@ if $@;
-	  
-	  print "\tsv_setpv(TARG, $what); XSprePUSH; PUSHTARG;\n";
-	  $prepush_done = 1;
-	}
-	elsif ($t) {
-	  my $what = eval qq("$t->[2]");
-	  warn $@ if $@;
-	  
-	  my $size = $t->[3];
-	  $size = '' unless defined $size;
-	  $size = eval qq("$size");
-	  warn $@ if $@;
-	  print "\tXSprePUSH; PUSH$t->[0]($what$size);\n";
-	  $prepush_done = 1;
-	}
-	else {
-	  # RETVAL almost never needs SvSETMAGIC()
-	  &generate_output($ret_type, 0, 'RETVAL', 0);
-	}
+      if ($self->{gotRETVAL} && $self->{RETVAL_code}) {
+        print "\t$self->{RETVAL_code}\n";
       }
-      
-      $xsreturn = 1 if $ret_type ne "void";
+      elsif ($self->{gotRETVAL} || $wantRETVAL) {
+        my $outputmap = $self->{typemap}->get_outputmap( ctype => $self->{ret_type} );
+        my $t = $self->{optimize} && $outputmap && $outputmap->targetable;
+        # Although the '$var' declared in the next line is never explicitly
+        # used within this 'elsif' block, commenting it out leads to
+        # disaster, starting with the first 'eval qq' inside the 'elsif' block
+        # below.
+        # It appears that this is related to the fact that at this point the
+        # value of $t is a reference to an array whose [2] element includes
+        # '$var' as a substring:
+        # <i> <> <(IV)$var>
+        my $var = 'RETVAL';
+        my $type = $self->{ret_type};
+
+        if ($t and not $t->{with_size} and $t->{type} eq 'p') {
+          # PUSHp corresponds to setpvn.  Treat setpv directly
+          my $what = eval qq("$t->{what}");
+          warn $@ if $@;
+
+          print "\tsv_setpv(TARG, $what); XSprePUSH; PUSHTARG;\n";
+          $prepush_done = 1;
+        }
+        elsif ($t) {
+          my $what = eval qq("$t->{what}");
+          warn $@ if $@;
+
+          my $tsize = $t->{what_size};
+          $tsize = '' unless defined $tsize;
+          $tsize = eval qq("$tsize");
+          warn $@ if $@;
+          print "\tXSprePUSH; PUSH$t->{type}($what$tsize);\n";
+          $prepush_done = 1;
+        }
+        else {
+          # RETVAL almost never needs SvSETMAGIC()
+          generate_output( {
+            type        => $self->{ret_type},
+            num         => 0,
+            var         => 'RETVAL',
+            do_setmagic => 0,
+            do_push     => undef,
+          } );
+        }
+      }
+
+      $xsreturn = 1 if $self->{ret_type} ne "void";
       my $num = $xsreturn;
-      my $c = @outlist;
+      my $c = @{ $outlist_ref };
       print "\tXSprePUSH;" if $c and not $prepush_done;
       print "\tEXTEND(SP,$c);\n" if $c;
       $xsreturn += $c;
-      generate_output($var_types{$_}, $num++, $_, 0, 1) for @outlist;
-      
+      generate_output( {
+        type        => $self->{var_types}->{$_},
+        num         => $num++,
+        var         => $_,
+        do_setmagic => 0,
+        do_push     => 1,
+      } ) for @{ $outlist_ref };
+
       # do cleanup
-      process_keyword("CLEANUP|ALIAS|ATTRS|PROTOTYPE|OVERLOAD") ;
-      
-      print Q(<<"EOF") if $ScopeThisXSUB;
+      $self->process_keyword("CLEANUP|ALIAS|ATTRS|PROTOTYPE|OVERLOAD");
+
+      print Q(<<"EOF") if $self->{ScopeThisXSUB};
 #   ]]
 EOF
-      print Q(<<"EOF") if $ScopeThisXSUB and not $PPCODE;
+      print Q(<<"EOF") if $self->{ScopeThisXSUB} and not $PPCODE;
 #   LEAVE;
 EOF
-      
+
       # print function trailer
       print Q(<<"EOF");
 #    ]]
 EOF
-      print Q(<<"EOF") if $except;
+      print Q(<<"EOF") if $self->{except};
 #    BEGHANDLERS
 #    CATCHALL
-#	sprintf(errbuf, "%s: %s\\tpropagated", Xname, Xreason);
+#    sprintf(errbuf, "%s: %s\\tpropagated", Xname, Xreason);
 #    ENDHANDLERS
 EOF
-      if (check_keyword("CASE")) {
-	blurt ("Error: No `CASE:' at top of function")
-	  unless $condnum;
-	$_ = "CASE: $_";	# Restore CASE: label
-	next;
+      if ($self->check_keyword("CASE")) {
+        $self->blurt("Error: No 'CASE:' at top of function")
+          unless $self->{condnum};
+        $_ = "CASE: $_";    # Restore CASE: label
+        next;
       }
       last if $_ eq "$END:";
-      death(/^$BLOCK_re/o ? "Misplaced `$1:'" : "Junk at end of function ($_)");
+      $self->death(/^$self->{BLOCK_re}/o ? "Misplaced '$1:'" : "Junk at end of function ($_)");
     }
-    
-    print Q(<<"EOF") if $except;
+
+    print Q(<<"EOF") if $self->{except};
 #    if (errbuf[0])
-#	Perl_croak(aTHX_ errbuf);
+#    Perl_croak(aTHX_ errbuf);
 EOF
-    
+
     if ($xsreturn) {
       print Q(<<"EOF") unless $PPCODE;
 #    XSRETURN($xsreturn);
 EOF
-    } else {
+    }
+    else {
       print Q(<<"EOF") unless $PPCODE;
 #    XSRETURN_EMPTY;
 EOF
@@ -882,74 +814,73 @@
 #
 EOF
 
-    our $newXS = "newXS" ;
-    our $proto = "" ;
-    
+    $self->{newXS} = "newXS";
+    $self->{proto} = "";
+
     # Build the prototype string for the xsub
-    if ($ProtoThisXSUB) {
-      $newXS = "newXSproto_portable";
-      
-      if ($ProtoThisXSUB eq 2) {
-	# User has specified empty prototype
+    if ($self->{ProtoThisXSUB}) {
+      $self->{newXS} = "newXSproto_portable";
+
+      if ($self->{ProtoThisXSUB} eq 2) {
+        # User has specified empty prototype
       }
-      elsif ($ProtoThisXSUB eq 1) {
-	my $s = ';';
-	if ($min_args < $num_args)  {
-	  $s = '';
-	  $proto_arg[$min_args] .= ";" ;
-	}
-	push @proto_arg, "$s\@"
-	  if $ellipsis ;
-	
-	$proto = join ("", grep defined, @proto_arg);
+      elsif ($self->{ProtoThisXSUB} eq 1) {
+        my $s = ';';
+        if ($min_args < $num_args)  {
+          $s = '';
+          $self->{proto_arg}->[$min_args] .= ";";
+        }
+        push @{ $self->{proto_arg} }, "$s\@"
+          if $ellipsis;
+
+        $self->{proto} = join ("", grep defined, @{ $self->{proto_arg} } );
       }
       else {
-	# User has specified a prototype
-	$proto = $ProtoThisXSUB;
+        # User has specified a prototype
+        $self->{proto} = $self->{ProtoThisXSUB};
       }
-      $proto = qq{, "$proto"};
+      $self->{proto} = qq{, "$self->{proto}"};
     }
 
-    if (%XsubAliases) {
-      $XsubAliases{$pname} = 0
-	unless defined $XsubAliases{$pname} ;
-      while ( ($name, $value) = each %XsubAliases) {
-	push(@InitFileCode, Q(<<"EOF"));
-#        cv = ${newXS}(\"$name\", XS_$Full_func_name, file$proto);
-#        XSANY.any_i32 = $value ;
+    if (%{ $self->{XsubAliases} }) {
+      $self->{XsubAliases}->{$pname} = 0
+        unless defined $self->{XsubAliases}->{$pname};
+      while ( my ($xname, $value) = each %{ $self->{XsubAliases} }) {
+        push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
+#        cv = $self->{newXS}(\"$xname\", XS_$Full_func_name, file$self->{proto});
+#        XSANY.any_i32 = $value;
 EOF
       }
     }
-    elsif (@Attributes) {
-      push(@InitFileCode, Q(<<"EOF"));
-#        cv = ${newXS}(\"$pname\", XS_$Full_func_name, file$proto);
-#        apply_attrs_string("$Package", cv, "@Attributes", 0);
+    elsif (@{ $self->{Attributes} }) {
+      push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
+#        cv = $self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});
+#        apply_attrs_string("$Package", cv, "@{ $self->{Attributes} }", 0);
 EOF
     }
-    elsif ($interface) {
-      while ( ($name, $value) = each %Interfaces) {
-	$name = "$Package\::$name" unless $name =~ /::/;
-	push(@InitFileCode, Q(<<"EOF"));
-#        cv = ${newXS}(\"$name\", XS_$Full_func_name, file$proto);
-#        $interface_macro_set(cv,$value) ;
+    elsif ($self->{interface}) {
+      while ( my ($yname, $value) = each %{ $self->{Interfaces} }) {
+        $yname = "$Package\::$yname" unless $yname =~ /::/;
+        push(@{ $self->{InitFileCode} }, Q(<<"EOF"));
+#        cv = $self->{newXS}(\"$yname\", XS_$Full_func_name, file$self->{proto});
+#        $self->{interface_macro_set}(cv,$value);
 EOF
       }
     }
-    elsif($newXS eq 'newXS'){ # work around P5NCI's empty newXS macro
-      push(@InitFileCode,
-	   "        ${newXS}(\"$pname\", XS_$Full_func_name, file$proto);\n");
+    elsif($self->{newXS} eq 'newXS'){ # work around P5NCI's empty newXS macro
+      push(@{ $self->{InitFileCode} },
+       "        $self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});\n");
     }
     else {
-      push(@InitFileCode,
-	   "        (void)${newXS}(\"$pname\", XS_$Full_func_name, file$proto);\n");
+      push(@{ $self->{InitFileCode} },
+       "        (void)$self->{newXS}(\"$pname\", XS_$Full_func_name, file$self->{proto});\n");
     }
-  }
+  } # END 'PARAGRAPH' 'while' loop
 
-  if ($Overload) # make it findable with fetchmethod
-  {
+  if ($self->{Overload}) { # make it findable with fetchmethod
     print Q(<<"EOF");
-#XS(XS_${Packid}_nil); /* prototype to pass -Wmissing-prototypes */
-#XS(XS_${Packid}_nil)
+#XS_EUPXS(XS_$self->{Packid}_nil); /* prototype to pass -Wmissing-prototypes */
+#XS_EUPXS(XS_$self->{Packid}_nil)
 #{
 #   dXSARGS;
 #   XSRETURN_EMPTY;
@@ -956,11 +887,11 @@
 #}
 #
 EOF
-    unshift(@InitFileCode, <<"MAKE_FETCHMETHOD_WORK");
+    unshift(@{ $self->{InitFileCode} }, <<"MAKE_FETCHMETHOD_WORK");
     /* Making a sub named "${Package}::()" allows the package */
     /* to be findable via fetchmethod(), and causes */
     /* overload::Overloaded("${Package}") to return true. */
-    (void)${newXS}("${Package}::()", XS_${Packid}_nil, file$proto);
+    (void)$self->{newXS}("${Package}::()", XS_$self->{Packid}_nil, file$self->{proto});
 MAKE_FETCHMETHOD_WORK
   }
 
@@ -973,17 +904,13 @@
 EOF
 
   print Q(<<"EOF");
-#XS(boot_$Module_cname); /* prototype to pass -Wmissing-prototypes */
-#XS(boot_$Module_cname)
+#XS_EXTERNAL(boot_$self->{Module_cname}); /* prototype to pass -Wmissing-prototypes */
+#XS_EXTERNAL(boot_$self->{Module_cname})
 EOF
 
   print Q(<<"EOF");
 #[[
-##ifdef dVAR
 #    dVAR; dXSARGS;
-##else
-#    dXSARGS;
-##endif
 EOF
 
   #Under 5.8.x and lower, newXS is declared in proto.h as expecting a non-const
@@ -990,7 +917,7 @@
   #file name argument. If the wrong qualifier is used, it causes breakage with
   #C++ compilers and warnings with recent gcc.
   #-Wall: if there is no $Full_func_name there are no xsubs in this .xs
-  #so `file' is unused
+  #so 'file' is unused
   print Q(<<"EOF") if $Full_func_name;
 ##if (PERL_REVISION == 5 && PERL_VERSION < 9)
 #    char* file = __FILE__;
@@ -1009,41 +936,42 @@
 ##endif
 EOF
 
-  print Q(<<"EOF") if $WantVersionChk ;
-#    XS_VERSION_BOOTCHECK ;
+  print Q(<<"EOF") if $self->{WantVersionChk};
+#    XS_VERSION_BOOTCHECK;
 #
 EOF
 
-  print Q(<<"EOF") if defined $XsubAliases or defined $Interfaces ;
+  print Q(<<"EOF") if defined $self->{xsubaliases} or defined $self->{interfaces};
 #    {
-#        CV * cv ;
+#        CV * cv;
 #
 EOF
 
-  print Q(<<"EOF") if ($Overload);
+  print Q(<<"EOF") if ($self->{Overload});
 #    /* register the overloading (type 'A') magic */
+##if (PERL_REVISION == 5 && PERL_VERSION < 9)
 #    PL_amagic_generation++;
+##endif
 #    /* The magic for overload gets a GV* via gv_fetchmeth as */
 #    /* mentioned above, and looks in the SV* slot of it for */
 #    /* the "fallback" status. */
 #    sv_setsv(
 #        get_sv( "${Package}::()", TRUE ),
-#        $Fallback
+#        $self->{Fallback}
 #    );
 EOF
 
-  print @InitFileCode;
+  print @{ $self->{InitFileCode} };
 
-  print Q(<<"EOF") if defined $XsubAliases or defined $Interfaces ;
+  print Q(<<"EOF") if defined $self->{xsubaliases} or defined $self->{interfaces};
 #    }
 EOF
 
-  if (@BootCode)
-  {
-    print "\n    /* Initialisation Section */\n\n" ;
-    @line = @BootCode;
-    print_section();
-    print "\n    /* End of Initialisation Section */\n\n" ;
+  if (@{ $BootCode_ref }) {
+    print "\n    /* Initialisation Section */\n\n";
+    @{ $self->{line} } = @{ $BootCode_ref };
+    $self->print_section();
+    print "\n    /* End of Initialisation Section */\n\n";
   }
 
   print Q(<<'EOF');
@@ -1059,177 +987,172 @@
 #
 EOF
 
-  warn("Please specify prototyping behavior for $filename (see perlxs manual)\n")
-    unless $ProtoUsed ;
+  warn("Please specify prototyping behavior for $self->{filename} (see perlxs manual)\n")
+    unless $self->{ProtoUsed};
 
   chdir($orig_cwd);
   select($orig_fh);
   untie *PSEUDO_STDOUT if tied *PSEUDO_STDOUT;
-  close $FH;
+  close $self->{FH};
 
   return 1;
 }
 
-sub errors { $errors }
+sub report_error_count { $self->{errors} }
 
-sub standard_typemap_locations {
-  # Add all the default typemap locations to the search path
-  my @tm = qw(typemap);
-  
-  my $updir = File::Spec->updir;
-  foreach my $dir (File::Spec->catdir(($updir) x 1), File::Spec->catdir(($updir) x 2),
-		   File::Spec->catdir(($updir) x 3), File::Spec->catdir(($updir) x 4)) {
-    
-    unshift @tm, File::Spec->catfile($dir, 'typemap');
-    unshift @tm, File::Spec->catfile($dir, lib => ExtUtils => 'typemap');
-  }
-  foreach my $dir (@INC) {
-    my $file = File::Spec->catfile($dir, ExtUtils => 'typemap');
-    unshift @tm, $file if -e $file;
-  }
-  return @tm;
+# Input:  ($self, $_, @{ $self->{line} }) == unparsed input.
+# Output: ($_, @{ $self->{line} }) == (rest of line, following lines).
+# Return: the matched keyword if found, otherwise 0
+sub check_keyword {
+  my $self = shift;
+  $_ = shift(@{ $self->{line} }) while !/\S/ && @{ $self->{line} };
+  s/^(\s*)($_[0])\s*:\s*(?:#.*)?/$1/s && $2;
 }
-  
-sub TrimWhitespace
-{
-  $_[0] =~ s/^\s+|\s+$//go ;
-}
 
-sub TidyType
-  {
-    local ($_) = @_ ;
+sub print_section {
+  my $self = shift;
 
-    # rationalise any '*' by joining them into bunches and removing whitespace
-    s#\s*(\*+)\s*#$1#g;
-    s#(\*+)# $1 #g ;
+  # the "do" is required for right semantics
+  do { $_ = shift(@{ $self->{line} }) } while !/\S/ && @{ $self->{line} };
 
-    # change multiple whitespace into a single space
-    s/\s+/ /g ;
+  my $consumed_code = '';
 
-    # trim leading & trailing whitespace
-    TrimWhitespace($_) ;
+  print("#line ", $self->{line_no}->[@{ $self->{line_no} } - @{ $self->{line} } -1], " \"",
+        escape_file_for_line_directive($self->{filepathname}), "\"\n")
+    if $self->{WantLineNumbers} && !/^\s*#\s*line\b/ && !/^#if XSubPPtmp/;
+  for (;  defined($_) && !/^$self->{BLOCK_re}/o;  $_ = shift(@{ $self->{line} })) {
+    print "$_\n";
+    $consumed_code .= "$_\n";
+  }
+  print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $self->{WantLineNumbers};
 
-    $_ ;
+  return $consumed_code;
 }
 
-# Input:  ($_, @line) == unparsed input.
-# Output: ($_, @line) == (rest of line, following lines).
-# Return: the matched keyword if found, otherwise 0
-sub check_keyword {
-	$_ = shift(@line) while !/\S/ && @line;
-	s/^(\s*)($_[0])\s*:\s*(?:#.*)?/$1/s && $2;
-}
-
-sub print_section {
-    # the "do" is required for right semantics
-    do { $_ = shift(@line) } while !/\S/ && @line;
-
-    print("#line ", $line_no[@line_no - @line -1], " \"$filepathname\"\n")
-	if $WantLineNumbers && !/^\s*#\s*line\b/ && !/^#if XSubPPtmp/;
-    for (;  defined($_) && !/^$BLOCK_re/o;  $_ = shift(@line)) {
-	print "$_\n";
-    }
-    print 'ExtUtils::ParseXS::CountLines'->end_marker, "\n" if $WantLineNumbers;
-}
-
 sub merge_section {
-    my $in = '';
+  my $self = shift;
+  my $in = '';
 
-    while (!/\S/ && @line) {
-      $_ = shift(@line);
-    }
+  while (!/\S/ && @{ $self->{line} }) {
+    $_ = shift(@{ $self->{line} });
+  }
 
-    for (;  defined($_) && !/^$BLOCK_re/o;  $_ = shift(@line)) {
-      $in .= "$_\n";
-    }
-    chomp $in;
-    return $in;
+  for (;  defined($_) && !/^$self->{BLOCK_re}/o;  $_ = shift(@{ $self->{line} })) {
+    $in .= "$_\n";
   }
+  chomp $in;
+  return $in;
+}
 
-sub process_keyword($)
-  {
-    my($pattern) = @_ ;
-    my $kwd ;
+sub process_keyword {
+  my($self, $pattern) = @_;
 
-    &{"${kwd}_handler"}()
-      while $kwd = check_keyword($pattern) ;
+  while (my $kwd = $self->check_keyword($pattern)) {
+    my $method = $kwd . "_handler";
+    $self->$method($_);
   }
+}
 
 sub CASE_handler {
-  blurt ("Error: `CASE:' after unconditional `CASE:'")
-    if $condnum && $cond eq '';
-  $cond = $_;
-  TrimWhitespace($cond);
-  print "   ", ($condnum++ ? " else" : ""), ($cond ? " if ($cond)\n" : "\n");
-  $_ = '' ;
+  my $self = shift;
+  $_ = shift;
+  $self->blurt("Error: 'CASE:' after unconditional 'CASE:'")
+    if $self->{condnum} && $self->{cond} eq '';
+  $self->{cond} = $_;
+  trim_whitespace($self->{cond});
+  print "   ", ($self->{condnum}++ ? " else" : ""), ($self->{cond} ? " if ($self->{cond})\n" : "\n");
+  $_ = '';
 }
 
 sub INPUT_handler {
-  for (;  !/^$BLOCK_re/o;  $_ = shift(@line)) {
+  my $self = shift;
+  $_ = shift;
+  for (;  !/^$self->{BLOCK_re}/o;  $_ = shift(@{ $self->{line} })) {
     last if /^\s*NOT_IMPLEMENTED_YET/;
-    next unless /\S/;		# skip blank lines
+    next unless /\S/;        # skip blank lines
 
-    TrimWhitespace($_) ;
-    my $line = $_ ;
+    trim_whitespace($_);
+    my $ln = $_;
 
     # remove trailing semicolon if no initialisation
-    s/\s*;$//g unless /[=;+].*\S/ ;
+    s/\s*;$//g unless /[=;+].*\S/;
 
     # Process the length(foo) declarations
     if (s/^([^=]*)\blength\(\s*(\w+)\s*\)\s*$/$1 XSauto_length_of_$2=NO_INIT/x) {
       print "\tSTRLEN\tSTRLEN_length_of_$2;\n";
-      $lengthof{$2} = $name;
-      # $islengthof{$name} = $1;
-      $deferred .= "\n\tXSauto_length_of_$2 = STRLEN_length_of_$2;\n";
+      $self->{lengthof}->{$2} = undef;
+      $self->{deferred} .= "\n\tXSauto_length_of_$2 = STRLEN_length_of_$2;\n";
     }
 
     # check for optional initialisation code
-    my $var_init = '' ;
-    $var_init = $1 if s/\s*([=;+].*)$//s ;
+    my $var_init = '';
+    $var_init = $1 if s/\s*([=;+].*)$//s;
     $var_init =~ s/"/\\"/g;
+    # *sigh* It's valid to supply explicit input typemaps in the argument list...
+    my $is_overridden_typemap = $var_init =~ /ST\s*\(|\$arg\b/;
 
     s/\s+/ /g;
     my ($var_type, $var_addr, $var_name) = /^(.*?[^&\s])\s*(\&?)\s*\b(\w+)$/s
-      or blurt("Error: invalid argument declaration '$line'"), next;
+      or $self->blurt("Error: invalid argument declaration '$ln'"), next;
 
     # Check for duplicate definitions
-    blurt ("Error: duplicate definition of argument '$var_name' ignored"), next
-      if $arg_list{$var_name}++
-	or defined $argtype_seen{$var_name} and not $processing_arg_with_types;
+    $self->blurt("Error: duplicate definition of argument '$var_name' ignored"), next
+      if $self->{arg_list}->{$var_name}++
+        or defined $self->{argtype_seen}->{$var_name} and not $self->{processing_arg_with_types};
 
-    $thisdone |= $var_name eq "THIS";
-    $retvaldone |= $var_name eq "RETVAL";
-    $var_types{$var_name} = $var_type;
+    $self->{thisdone} |= $var_name eq "THIS";
+    $self->{retvaldone} |= $var_name eq "RETVAL";
+    $self->{var_types}->{$var_name} = $var_type;
     # XXXX This check is a safeguard against the unfinished conversion of
     # generate_init().  When generate_init() is fixed,
     # one can use 2-args map_type() unconditionally.
+    my $printed_name;
     if ($var_type =~ / \( \s* \* \s* \) /x) {
-      # Function pointers are not yet supported with &output_init!
-      print "\t" . &map_type($var_type, $var_name);
-      $name_printed = 1;
-    } else {
-      print "\t" . &map_type($var_type);
-      $name_printed = 0;
+      # Function pointers are not yet supported with output_init()!
+      print "\t" . map_type($self, $var_type, $var_name);
+      $printed_name = 1;
     }
-    $var_num = $args_match{$var_name};
+    else {
+      print "\t" . map_type($self, $var_type, undef);
+      $printed_name = 0;
+    }
+    $self->{var_num} = $self->{args_match}->{$var_name};
 
-    $proto_arg[$var_num] = ProtoString($var_type)
-      if $var_num ;
-    $func_args =~ s/\b($var_name)\b/&$1/ if $var_addr;
+    if ($self->{var_num}) {
+      my $typemap = $self->{typemap}->get_typemap(ctype => $var_type);
+      $self->report_typemap_failure($self->{typemap}, $var_type, "death")
+        if not $typemap and not $is_overridden_typemap;
+      $self->{proto_arg}->[$self->{var_num}] = ($typemap && $typemap->proto) || "\$";
+    }
+    $self->{func_args} =~ s/\b($var_name)\b/&$1/ if $var_addr;
     if ($var_init =~ /^[=;]\s*NO_INIT\s*;?\s*$/
-	or $in_out{$var_name} and $in_out{$var_name} =~ /^OUT/
-	and $var_init !~ /\S/) {
-      if ($name_printed) {
-	print ";\n";
-      } else {
-	print "\t$var_name;\n";
+      or $self->{in_out}->{$var_name} and $self->{in_out}->{$var_name} =~ /^OUT/
+      and $var_init !~ /\S/) {
+      if ($printed_name) {
+        print ";\n";
       }
-    } elsif ($var_init =~ /\S/) {
-      &output_init($var_type, $var_num, $var_name, $var_init, $name_printed);
-    } elsif ($var_num) {
-      # generate initialization code
-      &generate_init($var_type, $var_num, $var_name, $name_printed);
-    } else {
+      else {
+        print "\t$var_name;\n";
+      }
+    }
+    elsif ($var_init =~ /\S/) {
+      output_init( {
+        type          => $var_type,
+        num           => $self->{var_num},
+        var           => $var_name,
+        init          => $var_init,
+        printed_name  => $printed_name,
+      } );
+    }
+    elsif ($self->{var_num}) {
+      generate_init( {
+        type          => $var_type,
+        num           => $self->{var_num},
+        var           => $var_name,
+        printed_name  => $printed_name,
+      } );
+    }
+    else {
       print ";\n";
     }
   }
@@ -1236,477 +1159,510 @@
 }
 
 sub OUTPUT_handler {
-  for (;  !/^$BLOCK_re/o;  $_ = shift(@line)) {
+  my $self = shift;
+  $self->{have_OUTPUT} = 1;
+
+  $_ = shift;
+  for (;  !/^$self->{BLOCK_re}/o;  $_ = shift(@{ $self->{line} })) {
     next unless /\S/;
     if (/^\s*SETMAGIC\s*:\s*(ENABLE|DISABLE)\s*/) {
-      $DoSetMagic = ($1 eq "ENABLE" ? 1 : 0);
+      $self->{DoSetMagic} = ($1 eq "ENABLE" ? 1 : 0);
       next;
     }
-    my ($outarg, $outcode) = /^\s*(\S+)\s*(.*?)\s*$/s ;
-    blurt ("Error: duplicate OUTPUT argument '$outarg' ignored"), next
-      if $outargs{$outarg} ++ ;
-    if (!$gotRETVAL and $outarg eq 'RETVAL') {
+    my ($outarg, $outcode) = /^\s*(\S+)\s*(.*?)\s*$/s;
+    $self->blurt("Error: duplicate OUTPUT argument '$outarg' ignored"), next
+      if $self->{outargs}->{$outarg}++;
+    if (!$self->{gotRETVAL} and $outarg eq 'RETVAL') {
       # deal with RETVAL last
-      $RETVAL_code = $outcode ;
-      $gotRETVAL = 1 ;
-      next ;
+      $self->{RETVAL_code} = $outcode;
+      $self->{gotRETVAL} = 1;
+      next;
     }
-    blurt ("Error: OUTPUT $outarg not an argument"), next
-      unless defined($args_match{$outarg});
-    blurt("Error: No input definition for OUTPUT argument '$outarg' - ignored"), next
-      unless defined $var_types{$outarg} ;
-    $var_num = $args_match{$outarg};
+    $self->blurt("Error: OUTPUT $outarg not an argument"), next
+      unless defined($self->{args_match}->{$outarg});
+    $self->blurt("Error: No input definition for OUTPUT argument '$outarg' - ignored"), next
+      unless defined $self->{var_types}->{$outarg};
+    $self->{var_num} = $self->{args_match}->{$outarg};
     if ($outcode) {
       print "\t$outcode\n";
-      print "\tSvSETMAGIC(ST(" , $var_num-1 , "));\n" if $DoSetMagic;
-    } else {
-      &generate_output($var_types{$outarg}, $var_num, $outarg, $DoSetMagic);
+      print "\tSvSETMAGIC(ST(" , $self->{var_num} - 1 , "));\n" if $self->{DoSetMagic};
     }
-    delete $in_out{$outarg} 	# No need to auto-OUTPUT
-      if exists $in_out{$outarg} and $in_out{$outarg} =~ /OUT$/;
+    else {
+      generate_output( {
+        type        => $self->{var_types}->{$outarg},
+        num         => $self->{var_num},
+        var         => $outarg,
+        do_setmagic => $self->{DoSetMagic},
+        do_push     => undef,
+      } );
+    }
+    delete $self->{in_out}->{$outarg}     # No need to auto-OUTPUT
+      if exists $self->{in_out}->{$outarg} and $self->{in_out}->{$outarg} =~ /OUT$/;
   }
 }
 
-sub C_ARGS_handler() {
-  my $in = merge_section();
+sub C_ARGS_handler {
+  my $self = shift;
+  $_ = shift;
+  my $in = $self->merge_section();
 
-  TrimWhitespace($in);
-  $func_args = $in;
+  trim_whitespace($in);
+  $self->{func_args} = $in;
 }
 
-sub INTERFACE_MACRO_handler() {
-  my $in = merge_section();
+sub INTERFACE_MACRO_handler {
+  my $self = shift;
+  $_ = shift;
+  my $in = $self->merge_section();
 
-  TrimWhitespace($in);
-  if ($in =~ /\s/) {		# two
-    ($interface_macro, $interface_macro_set) = split ' ', $in;
-  } else {
-    $interface_macro = $in;
-    $interface_macro_set = 'UNKNOWN_CVT'; # catch later
+  trim_whitespace($in);
+  if ($in =~ /\s/) {        # two
+    ($self->{interface_macro}, $self->{interface_macro_set}) = split ' ', $in;
   }
-  $interface = 1;		# local
-  $Interfaces = 1;		# global
+  else {
+    $self->{interface_macro} = $in;
+    $self->{interface_macro_set} = 'UNKNOWN_CVT'; # catch later
+  }
+  $self->{interface} = 1;        # local
+  $self->{interfaces} = 1;        # global
 }
 
-sub INTERFACE_handler() {
-  my $in = merge_section();
+sub INTERFACE_handler {
+  my $self = shift;
+  $_ = shift;
+  my $in = $self->merge_section();
 
-  TrimWhitespace($in);
+  trim_whitespace($in);
 
   foreach (split /[\s,]+/, $in) {
-    my $name = $_;
-    $name =~ s/^$Prefix//;
-    $Interfaces{$name} = $_;
+    my $iface_name = $_;
+    $iface_name =~ s/^$self->{Prefix}//;
+    $self->{Interfaces}->{$iface_name} = $_;
   }
   print Q(<<"EOF");
-#	XSFUNCTION = $interface_macro($ret_type,cv,XSANY.any_dptr);
+#    XSFUNCTION = $self->{interface_macro}($self->{ret_type},cv,XSANY.any_dptr);
 EOF
-  $interface = 1;		# local
-  $Interfaces = 1;		# global
+  $self->{interface} = 1;        # local
+  $self->{interfaces} = 1;        # global
 }
 
-sub CLEANUP_handler() { print_section() }
-sub PREINIT_handler() { print_section() }
-sub POSTCALL_handler() { print_section() }
-sub INIT_handler()    { print_section() }
+sub CLEANUP_handler {
+  my $self = shift;
+  $self->print_section();
+}
 
-sub GetAliases
-  {
-    my ($line) = @_ ;
-    my ($orig) = $line ;
-    my ($alias) ;
-    my ($value) ;
+sub PREINIT_handler {
+  my $self = shift;
+  $self->print_section();
+}
 
-    # Parse alias definitions
-    # format is
-    #    alias = value alias = value ...
+sub POSTCALL_handler {
+  my $self = shift;
+  $self->print_section();
+}
 
-    while ($line =~ s/^\s*([\w:]+)\s*=\s*(\w+)\s*//) {
-      $alias = $1 ;
-      $orig_alias = $alias ;
-      $value = $2 ;
+sub INIT_handler {
+  my $self = shift;
+  $self->print_section();
+}
 
-      # check for optional package definition in the alias
-      $alias = $Packprefix . $alias if $alias !~ /::/ ;
+sub get_aliases {
+  my $self = shift;
+  my ($line) = @_;
+  my ($orig) = $line;
 
-      # check for duplicate alias name & duplicate value
-      Warn("Warning: Ignoring duplicate alias '$orig_alias'")
-	if defined $XsubAliases{$alias} ;
+  # Parse alias definitions
+  # format is
+  #    alias = value alias = value ...
 
-      Warn("Warning: Aliases '$orig_alias' and '$XsubAliasValues{$value}' have identical values")
-	if $XsubAliasValues{$value} ;
+  while ($line =~ s/^\s*([\w:]+)\s*=\s*(\w+)\s*//) {
+    my ($alias, $value) = ($1, $2);
+    my $orig_alias = $alias;
 
-      $XsubAliases = 1;
-      $XsubAliases{$alias} = $value ;
-      $XsubAliasValues{$value} = $orig_alias ;
-    }
+    # check for optional package definition in the alias
+    $alias = $self->{Packprefix} . $alias if $alias !~ /::/;
 
-    blurt("Error: Cannot parse ALIAS definitions from '$orig'")
-      if $line ;
+    # check for duplicate alias name & duplicate value
+    Warn( $self, "Warning: Ignoring duplicate alias '$orig_alias'")
+      if defined $self->{XsubAliases}->{$alias};
+
+    Warn( $self, "Warning: Aliases '$orig_alias' and '$self->{XsubAliasValues}->{$value}' have identical values")
+      if $self->{XsubAliasValues}->{$value};
+
+    $self->{xsubaliases} = 1;
+    $self->{XsubAliases}->{$alias} = $value;
+    $self->{XsubAliasValues}->{$value} = $orig_alias;
   }
 
-sub ATTRS_handler ()
-  {
-    for (;  !/^$BLOCK_re/o;  $_ = shift(@line)) {
-      next unless /\S/;
-      TrimWhitespace($_) ;
-      push @Attributes, $_;
-    }
+  blurt( $self, "Error: Cannot parse ALIAS definitions from '$orig'")
+    if $line;
+}
+
+sub ATTRS_handler {
+  my $self = shift;
+  $_ = shift;
+
+  for (;  !/^$self->{BLOCK_re}/o;  $_ = shift(@{ $self->{line} })) {
+    next unless /\S/;
+    trim_whitespace($_);
+    push @{ $self->{Attributes} }, $_;
   }
+}
 
-sub ALIAS_handler ()
-  {
-    for (;  !/^$BLOCK_re/o;  $_ = shift(@line)) {
-      next unless /\S/;
-      TrimWhitespace($_) ;
-      GetAliases($_) if $_ ;
-    }
+sub ALIAS_handler {
+  my $self = shift;
+  $_ = shift;
+
+  for (;  !/^$self->{BLOCK_re}/o;  $_ = shift(@{ $self->{line} })) {
+    next unless /\S/;
+    trim_whitespace($_);
+    $self->get_aliases($_) if $_;
   }
+}
 
-sub OVERLOAD_handler()
-{
-  for (;  !/^$BLOCK_re/o;  $_ = shift(@line)) {
+sub OVERLOAD_handler {
+  my $self = shift;
+  $_ = shift;
+
+  for (;  !/^$self->{BLOCK_re}/o;  $_ = shift(@{ $self->{line} })) {
     next unless /\S/;
-    TrimWhitespace($_) ;
+    trim_whitespace($_);
     while ( s/^\s*([\w:"\\)\+\-\*\/\%\<\>\.\&\|\^\!\~\{\}\=]+)\s*//) {
-      $Overload = 1 unless $Overload;
-      my $overload = "$Package\::(".$1 ;
-      push(@InitFileCode,
-	   "        (void)${newXS}(\"$overload\", XS_$Full_func_name, file$proto);\n");
+      $self->{Overload} = 1 unless $self->{Overload};
+      my $overload = "$Package\::(".$1;
+      push(@{ $self->{InitFileCode} },
+       "        (void)$self->{newXS}(\"$overload\", XS_$Full_func_name, file$self->{proto});\n");
     }
-  }  
+  }
 }
 
-sub FALLBACK_handler()
-{
-  # the rest of the current line should contain either TRUE, 
+sub FALLBACK_handler {
+  my $self = shift;
+  $_ = shift;
+
+  # the rest of the current line should contain either TRUE,
   # FALSE or UNDEF
-  
-  TrimWhitespace($_) ;
+
+  trim_whitespace($_);
   my %map = (
-	     TRUE => "&PL_sv_yes", 1 => "&PL_sv_yes",
-	     FALSE => "&PL_sv_no", 0 => "&PL_sv_no",
-	     UNDEF => "&PL_sv_undef",
-	    ) ;
-  
+    TRUE => "&PL_sv_yes", 1 => "&PL_sv_yes",
+    FALSE => "&PL_sv_no", 0 => "&PL_sv_no",
+    UNDEF => "&PL_sv_undef",
+  );
+
   # check for valid FALLBACK value
-  death ("Error: FALLBACK: TRUE/FALSE/UNDEF") unless exists $map{uc $_} ;
-  
-  $Fallback = $map{uc $_} ;
+  $self->death("Error: FALLBACK: TRUE/FALSE/UNDEF") unless exists $map{uc $_};
+
+  $self->{Fallback} = $map{uc $_};
 }
 
 
-sub REQUIRE_handler ()
-  {
-    # the rest of the current line should contain a version number
-    my ($Ver) = $_ ;
+sub REQUIRE_handler {
+  my $self = shift;
+  # the rest of the current line should contain a version number
+  my $Ver = shift;
 
-    TrimWhitespace($Ver) ;
+  trim_whitespace($Ver);
 
-    death ("Error: REQUIRE expects a version number")
-      unless $Ver ;
+  $self->death("Error: REQUIRE expects a version number")
+    unless $Ver;
 
-    # check that the version number is of the form n.n
-    death ("Error: REQUIRE: expected a number, got '$Ver'")
-      unless $Ver =~ /^\d+(\.\d*)?/ ;
+  # check that the version number is of the form n.n
+  $self->death("Error: REQUIRE: expected a number, got '$Ver'")
+    unless $Ver =~ /^\d+(\.\d*)?/;
 
-    death ("Error: xsubpp $Ver (or better) required--this is only $VERSION.")
-      unless $VERSION >= $Ver ;
-  }
+  $self->death("Error: xsubpp $Ver (or better) required--this is only $VERSION.")
+    unless $VERSION >= $Ver;
+}
 
-sub VERSIONCHECK_handler ()
-  {
-    # the rest of the current line should contain either ENABLE or
-    # DISABLE
+sub VERSIONCHECK_handler {
+  my $self = shift;
+  $_ = shift;
 
-    TrimWhitespace($_) ;
+  # the rest of the current line should contain either ENABLE or
+  # DISABLE
 
-    # check for ENABLE/DISABLE
-    death ("Error: VERSIONCHECK: ENABLE/DISABLE")
-      unless /^(ENABLE|DISABLE)/i ;
+  trim_whitespace($_);
 
-    $WantVersionChk = 1 if $1 eq 'ENABLE' ;
-    $WantVersionChk = 0 if $1 eq 'DISABLE' ;
+  # check for ENABLE/DISABLE
+  $self->death("Error: VERSIONCHECK: ENABLE/DISABLE")
+    unless /^(ENABLE|DISABLE)/i;
 
-  }
+  $self->{WantVersionChk} = 1 if $1 eq 'ENABLE';
+  $self->{WantVersionChk} = 0 if $1 eq 'DISABLE';
 
-sub PROTOTYPE_handler ()
-  {
-    my $specified ;
+}
 
-    death("Error: Only 1 PROTOTYPE definition allowed per xsub")
-      if $proto_in_this_xsub ++ ;
+sub PROTOTYPE_handler {
+  my $self = shift;
+  $_ = shift;
 
-    for (;  !/^$BLOCK_re/o;  $_ = shift(@line)) {
-      next unless /\S/;
-      $specified = 1 ;
-      TrimWhitespace($_) ;
-      if ($_ eq 'DISABLE') {
-	$ProtoThisXSUB = 0
-      } elsif ($_ eq 'ENABLE') {
-	$ProtoThisXSUB = 1
-      } else {
-	# remove any whitespace
-	s/\s+//g ;
-	death("Error: Invalid prototype '$_'")
-	  unless ValidProtoString($_) ;
-	$ProtoThisXSUB = C_string($_) ;
-      }
-    }
+  my $specified;
 
-    # If no prototype specified, then assume empty prototype ""
-    $ProtoThisXSUB = 2 unless $specified ;
+  $self->death("Error: Only 1 PROTOTYPE definition allowed per xsub")
+    if $self->{proto_in_this_xsub}++;
 
-    $ProtoUsed = 1 ;
-
+  for (;  !/^$self->{BLOCK_re}/o;  $_ = shift(@{ $self->{line} })) {
+    next unless /\S/;
+    $specified = 1;
+    trim_whitespace($_);
+    if ($_ eq 'DISABLE') {
+      $self->{ProtoThisXSUB} = 0;
+    }
+    elsif ($_ eq 'ENABLE') {
+      $self->{ProtoThisXSUB} = 1;
+    }
+    else {
+      # remove any whitespace
+      s/\s+//g;
+      $self->death("Error: Invalid prototype '$_'")
+        unless valid_proto_string($_);
+      $self->{ProtoThisXSUB} = C_string($_);
+    }
   }
 
-sub SCOPE_handler ()
-  {
-    death("Error: Only 1 SCOPE declaration allowed per xsub")
-      if $scope_in_this_xsub ++ ;
+  # If no prototype specified, then assume empty prototype ""
+  $self->{ProtoThisXSUB} = 2 unless $specified;
 
-    TrimWhitespace($_);
-    death ("Error: SCOPE: ENABLE/DISABLE")
-        unless /^(ENABLE|DISABLE)\b/i;
-    $ScopeThisXSUB = ( uc($1) eq 'ENABLE' );
-  }
+  $self->{ProtoUsed} = 1;
+}
 
-sub PROTOTYPES_handler ()
-  {
-    # the rest of the current line should contain either ENABLE or
-    # DISABLE
+sub SCOPE_handler {
+  my $self = shift;
+  $_ = shift;
 
-    TrimWhitespace($_) ;
+  $self->death("Error: Only 1 SCOPE declaration allowed per xsub")
+    if $self->{scope_in_this_xsub}++;
 
-    # check for ENABLE/DISABLE
-    death ("Error: PROTOTYPES: ENABLE/DISABLE")
-      unless /^(ENABLE|DISABLE)/i ;
+  trim_whitespace($_);
+  $self->death("Error: SCOPE: ENABLE/DISABLE")
+      unless /^(ENABLE|DISABLE)\b/i;
+  $self->{ScopeThisXSUB} = ( uc($1) eq 'ENABLE' );
+}
 
-    $WantPrototypes = 1 if $1 eq 'ENABLE' ;
-    $WantPrototypes = 0 if $1 eq 'DISABLE' ;
-    $ProtoUsed = 1 ;
+sub PROTOTYPES_handler {
+  my $self = shift;
+  $_ = shift;
 
-  }
+  # the rest of the current line should contain either ENABLE or
+  # DISABLE
 
-sub PushXSStack
-  {
-    my %args = @_;
-    # Save the current file context.
-    push(@XSStack, {
-		    type            => 'file',
-		    LastLine        => $lastline,
-		    LastLineNo      => $lastline_no,
-		    Line            => \@line,
-		    LineNo          => \@line_no,
-		    Filename        => $filename,
-		    Filepathname    => $filepathname,
-		    Handle          => $FH,
-                    IsPipe          => scalar($filename =~ /\|\s*$/),
-                    %args,
-		   }) ;
+  trim_whitespace($_);
 
-  }
+  # check for ENABLE/DISABLE
+  $self->death("Error: PROTOTYPES: ENABLE/DISABLE")
+    unless /^(ENABLE|DISABLE)/i;
 
-sub INCLUDE_handler ()
-  {
-    # the rest of the current line should contain a valid filename
+  $self->{WantPrototypes} = 1 if $1 eq 'ENABLE';
+  $self->{WantPrototypes} = 0 if $1 eq 'DISABLE';
+  $self->{ProtoUsed} = 1;
+}
 
-    TrimWhitespace($_) ;
+sub EXPORT_XSUB_SYMBOLS_handler {
+  my $self = shift;
+  $_ = shift;
 
-    death("INCLUDE: filename missing")
-      unless $_ ;
+  # the rest of the current line should contain either ENABLE or
+  # DISABLE
 
-    death("INCLUDE: output pipe is illegal")
-      if /^\s*\|/ ;
+  trim_whitespace($_);
 
-    # simple minded recursion detector
-    death("INCLUDE loop detected")
-      if $IncludedFiles{$_} ;
+  # check for ENABLE/DISABLE
+  $self->death("Error: EXPORT_XSUB_SYMBOLS: ENABLE/DISABLE")
+    unless /^(ENABLE|DISABLE)/i;
 
-    ++ $IncludedFiles{$_} unless /\|\s*$/ ;
+  my $xs_impl = $1 eq 'ENABLE' ? 'XS_EXTERNAL' : 'XS_INTERNAL';
 
-    if (/\|\s*$/ && /^\s*perl\s/) {
-      Warn("The INCLUDE directive with a command is discouraged." .
-           " Use INCLUDE_COMMAND instead! In particular using 'perl'" .
-           " in an 'INCLUDE: ... |' directive is not guaranteed to pick" .
-           " up the correct perl. The INCLUDE_COMMAND directive allows" .
-           " the use of \$^X as the currently running perl, see" .
-           " 'perldoc perlxs' for details.");
-    }
-
-    PushXSStack();
-
-    $FH = Symbol::gensym();
-
-    # open the new file
-    open ($FH, "$_") or death("Cannot open '$_': $!") ;
-
-    print Q(<<"EOF");
-#
-#/* INCLUDE:  Including '$_' from '$filename' */
-#
+  print Q(<<"EOF");
+##undef XS_EUPXS
+##if defined(PERL_EUPXS_ALWAYS_EXPORT)
+##  define XS_EUPXS(name) XS_EXTERNAL(name)
+##elif defined(PERL_EUPXS_NEVER_EXPORT)
+##  define XS_EUPXS(name) XS_INTERNAL(name)
+##else
+##  define XS_EUPXS(name) $xs_impl(name)
+##endif
 EOF
+}
 
-    $filename = $_ ;
-    $filepathname = File::Spec->catfile($dir, $filename);
 
-    # Prime the pump by reading the first
-    # non-blank line
+sub PushXSStack {
+  my $self = shift;
+  my %args = @_;
+  # Save the current file context.
+  push(@{ $self->{XSStack} }, {
+          type            => 'file',
+          LastLine        => $self->{lastline},
+          LastLineNo      => $self->{lastline_no},
+          Line            => $self->{line},
+          LineNo          => $self->{line_no},
+          Filename        => $self->{filename},
+          Filepathname    => $self->{filepathname},
+          Handle          => $self->{FH},
+          IsPipe          => scalar($self->{filename} =~ /\|\s*$/),
+          %args,
+         });
 
-    # skip leading blank lines
-    while (<$FH>) {
-      last unless /^\s*$/ ;
-    }
+}
 
-    $lastline = $_ ;
-    $lastline_no = $. ;
-  }
+sub INCLUDE_handler {
+  my $self = shift;
+  $_ = shift;
+  # the rest of the current line should contain a valid filename
 
-sub QuoteArgs {
-    my $cmd = shift;
-    my @args = split /\s+/, $cmd;
-    $cmd = shift @args;
-    for (@args) {
-       $_ = q(").$_.q(") if !/^\"/ && length($_) > 0;
-    }
-    return join (' ', ($cmd, @args));
-  }
+  trim_whitespace($_);
 
-sub INCLUDE_COMMAND_handler ()
-  {
-    # the rest of the current line should contain a valid command
+  $self->death("INCLUDE: filename missing")
+    unless $_;
 
-    TrimWhitespace($_) ;
+  $self->death("INCLUDE: output pipe is illegal")
+    if /^\s*\|/;
 
-    $_ = QuoteArgs($_) if $^O eq 'VMS';
+  # simple minded recursion detector
+  $self->death("INCLUDE loop detected")
+    if $self->{IncludedFiles}->{$_};
 
-    death("INCLUDE_COMMAND: command missing")
-      unless $_ ;
+  ++$self->{IncludedFiles}->{$_} unless /\|\s*$/;
 
-    death("INCLUDE_COMMAND: pipes are illegal")
-      if /^\s*\|/ or /\|\s*$/ ;
+  if (/\|\s*$/ && /^\s*perl\s/) {
+    Warn( $self, "The INCLUDE directive with a command is discouraged." .
+          " Use INCLUDE_COMMAND instead! In particular using 'perl'" .
+          " in an 'INCLUDE: ... |' directive is not guaranteed to pick" .
+          " up the correct perl. The INCLUDE_COMMAND directive allows" .
+          " the use of \$^X as the currently running perl, see" .
+          " 'perldoc perlxs' for details.");
+  }
 
-    PushXSStack( IsPipe => 1 );
+  $self->PushXSStack();
 
-    $FH = Symbol::gensym();
+  $self->{FH} = Symbol::gensym();
 
-    # If $^X is used in INCLUDE_COMMAND, we know it's supposed to be
-    # the same perl interpreter as we're currently running
-    s/^\s*\$\^X/$^X/;
+  # open the new file
+  open($self->{FH}, $_) or $self->death("Cannot open '$_': $!");
 
-    # open the new file
-    open ($FH, "-|", "$_")
-      or death("Cannot run command '$_' to include its output: $!") ;
-
-    print Q(<<"EOF");
+  print Q(<<"EOF");
 #
-#/* INCLUDE_COMMAND:  Including output of '$_' from '$filename' */
+#/* INCLUDE:  Including '$_' from '$self->{filename}' */
 #
 EOF
 
-    $filename = $_ ;
-    $filepathname = $filename;
-    $filepathname =~ s/\"/\\"/g;
+  $self->{filename} = $_;
+  $self->{filepathname} = ( $^O =~ /^mswin/i )
+                          ? qq($self->{dir}/$self->{filename}) # See CPAN RT #61908: gcc doesn't like backslashes on win32?
+                          : File::Spec->catfile($self->{dir}, $self->{filename});
 
-    # Prime the pump by reading the first
-    # non-blank line
+  # Prime the pump by reading the first
+  # non-blank line
 
-    # skip leading blank lines
-    while (<$FH>) {
-      last unless /^\s*$/ ;
-    }
+  # skip leading blank lines
+  while (readline($self->{FH})) {
+    last unless /^\s*$/;
+  }
 
-    $lastline = $_ ;
-    $lastline_no = $. ;
+  $self->{lastline} = $_;
+  $self->{lastline_no} = $.;
+}
+
+sub QuoteArgs {
+  my $cmd = shift;
+  my @args = split /\s+/, $cmd;
+  $cmd = shift @args;
+  for (@args) {
+    $_ = q(").$_.q(") if !/^\"/ && length($_) > 0;
   }
+  return join (' ', ($cmd, @args));
+}
 
-sub PopFile()
-  {
-    return 0 unless $XSStack[-1]{type} eq 'file' ;
+sub INCLUDE_COMMAND_handler {
+  my $self = shift;
+  $_ = shift;
+  # the rest of the current line should contain a valid command
 
-    my $data     = pop @XSStack ;
-    my $ThisFile = $filename ;
-    my $isPipe   = $data->{IsPipe};
+  trim_whitespace($_);
 
-    -- $IncludedFiles{$filename}
-      unless $isPipe ;
+  $_ = QuoteArgs($_) if $^O eq 'VMS';
 
-    close $FH ;
+  $self->death("INCLUDE_COMMAND: command missing")
+    unless $_;
 
-    $FH         = $data->{Handle} ;
-    # $filename is the leafname, which for some reason isused for diagnostic
-    # messages, whereas $filepathname is the full pathname, and is used for
-    # #line directives.
-    $filename   = $data->{Filename} ;
-    $filepathname = $data->{Filepathname} ;
-    $lastline   = $data->{LastLine} ;
-    $lastline_no = $data->{LastLineNo} ;
-    @line       = @{ $data->{Line} } ;
-    @line_no    = @{ $data->{LineNo} } ;
+  $self->death("INCLUDE_COMMAND: pipes are illegal")
+    if /^\s*\|/ or /\|\s*$/;
 
-    if ($isPipe and $? ) {
-      -- $lastline_no ;
-      print STDERR "Error reading from pipe '$ThisFile': $! in $filename, line $lastline_no\n"  ;
-      exit 1 ;
-    }
+  $self->PushXSStack( IsPipe => 1 );
 
-    print Q(<<"EOF");
+  $self->{FH} = Symbol::gensym();
+
+  # If $^X is used in INCLUDE_COMMAND, we know it's supposed to be
+  # the same perl interpreter as we're currently running
+  s/^\s*\$\^X/$^X/;
+
+  # open the new file
+  open ($self->{FH}, "-|", $_)
+    or $self->death( $self, "Cannot run command '$_' to include its output: $!");
+
+  print Q(<<"EOF");
 #
-#/* INCLUDE: Returning to '$filename' from '$ThisFile' */
+#/* INCLUDE_COMMAND:  Including output of '$_' from '$self->{filename}' */
 #
 EOF
 
-    return 1 ;
+  $self->{filename} = $_;
+  $self->{filepathname} = $self->{filename};
+  #$self->{filepathname} =~ s/\"/\\"/g; # Fails? See CPAN RT #53938: MinGW Broken after 2.21
+  $self->{filepathname} =~ s/\\/\\\\/g; # Works according to reporter of #53938
+
+  # Prime the pump by reading the first
+  # non-blank line
+
+  # skip leading blank lines
+  while (readline($self->{FH})) {
+    last unless /^\s*$/;
   }
 
-sub ValidProtoString ($)
-  {
-    my($string) = @_ ;
+  $self->{lastline} = $_;
+  $self->{lastline_no} = $.;
+}
 
-    if ( $string =~ /^$proto_re+$/ ) {
-      return $string ;
-    }
+sub PopFile {
+  my $self = shift;
 
-    return 0 ;
-  }
+  return 0 unless $self->{XSStack}->[-1]{type} eq 'file';
 
-sub C_string ($)
-  {
-    my($string) = @_ ;
+  my $data     = pop @{ $self->{XSStack} };
+  my $ThisFile = $self->{filename};
+  my $isPipe   = $data->{IsPipe};
 
-    $string =~ s[\\][\\\\]g ;
-    $string ;
-  }
+  --$self->{IncludedFiles}->{$self->{filename}}
+    unless $isPipe;
 
-sub ProtoString ($)
-  {
-    my ($type) = @_ ;
+  close $self->{FH};
 
-    $proto_letter{$type} or "\$" ;
+  $self->{FH}         = $data->{Handle};
+  # $filename is the leafname, which for some reason isused for diagnostic
+  # messages, whereas $filepathname is the full pathname, and is used for
+  # #line directives.
+  $self->{filename}   = $data->{Filename};
+  $self->{filepathname} = $data->{Filepathname};
+  $self->{lastline}   = $data->{LastLine};
+  $self->{lastline_no} = $data->{LastLineNo};
+  @{ $self->{line} }       = @{ $data->{Line} };
+  @{ $self->{line_no} }    = @{ $data->{LineNo} };
+
+  if ($isPipe and $? ) {
+    --$self->{lastline_no};
+    print STDERR "Error reading from pipe '$ThisFile': $! in $self->{filename}, line $self->{lastline_no}\n" ;
+    exit 1;
   }
 
-sub check_cpp {
-  my @cpp = grep(/^\#\s*(?:if|e\w+)/, @line);
-  if (@cpp) {
-    my ($cpp, $cpplevel);
-    for $cpp (@cpp) {
-      if ($cpp =~ /^\#\s*if/) {
-	$cpplevel++;
-      } elsif (!$cpplevel) {
-	Warn("Warning: #else/elif/endif without #if in this function");
-	print STDERR "    (precede it with a blank line if the matching #if is outside the function)\n"
-	  if $XSStack[-1]{type} eq 'if';
-	return;
-      } elsif ($cpp =~ /^\#\s*endif/) {
-	$cpplevel--;
-      }
-    }
-    Warn("Warning: #if without #endif in this function") if $cpplevel;
-  }
+  print Q(<<"EOF");
+#
+#/* INCLUDE: Returning to '$self->{filename}' from '$ThisFile' */
+#
+EOF
+
+  return 1;
 }
 
-
 sub Q {
   my($text) = @_;
   $text =~ s/^#//gm;
@@ -1715,480 +1671,325 @@
   $text;
 }
 
-# Read next xsub into @line from ($lastline, <$FH>).
+# Read next xsub into @{ $self->{line} } from ($lastline, readline($self->{FH})).
 sub fetch_para {
+  my $self = shift;
+
   # parse paragraph
-  death ("Error: Unterminated `#if/#ifdef/#ifndef'")
-    if !defined $lastline && $XSStack[-1]{type} eq 'if';
-  @line = ();
-  @line_no = () ;
-  return PopFile() if !defined $lastline;
+  $self->death("Error: Unterminated '#if/#ifdef/#ifndef'")
+    if !defined $self->{lastline} && $self->{XSStack}->[-1]{type} eq 'if';
+  @{ $self->{line} } = ();
+  @{ $self->{line_no} } = ();
+  return $self->PopFile() if !defined $self->{lastline};
 
-  if ($lastline =~
+  if ($self->{lastline} =~
       /^MODULE\s*=\s*([\w:]+)(?:\s+PACKAGE\s*=\s*([\w:]+))?(?:\s+PREFIX\s*=\s*(\S+))?\s*$/) {
-    $Module = $1;
+    my $Module = $1;
     $Package = defined($2) ? $2 : ''; # keep -w happy
-    $Prefix  = defined($3) ? $3 : ''; # keep -w happy
-    $Prefix = quotemeta $Prefix ;
-    ($Module_cname = $Module) =~ s/\W/_/g;
-    ($Packid = $Package) =~ tr/:/_/;
-    $Packprefix = $Package;
-    $Packprefix .= "::" if $Packprefix ne "";
-    $lastline = "";
+    $self->{Prefix}  = defined($3) ? $3 : ''; # keep -w happy
+    $self->{Prefix} = quotemeta $self->{Prefix};
+    ($self->{Module_cname} = $Module) =~ s/\W/_/g;
+    ($self->{Packid} = $Package) =~ tr/:/_/;
+    $self->{Packprefix} = $Package;
+    $self->{Packprefix} .= "::" if $self->{Packprefix} ne "";
+    $self->{lastline} = "";
   }
 
   for (;;) {
     # Skip embedded PODs
-    while ($lastline =~ /^=/) {
-      while ($lastline = <$FH>) {
-	last if ($lastline =~ /^=cut\s*$/);
+    while ($self->{lastline} =~ /^=/) {
+      while ($self->{lastline} = readline($self->{FH})) {
+        last if ($self->{lastline} =~ /^=cut\s*$/);
       }
-      death ("Error: Unterminated pod") unless $lastline;
-      $lastline = <$FH>;
-      chomp $lastline;
-      $lastline =~ s/^\s+$//;
+      $self->death("Error: Unterminated pod") unless $self->{lastline};
+      $self->{lastline} = readline($self->{FH});
+      chomp $self->{lastline};
+      $self->{lastline} =~ s/^\s+$//;
     }
-    if ($lastline !~ /^\s*#/ ||
-	# CPP directives:
-	#	ANSI:	if ifdef ifndef elif else endif define undef
-	#		line error pragma
-	#	gcc:	warning include_next
-	#   obj-c:	import
-	#   others:	ident (gcc notes that some cpps have this one)
-	$lastline =~ /^#[ \t]*(?:(?:if|ifn?def|elif|else|endif|define|undef|pragma|error|warning|line\s+\d+|ident)\b|(?:include(?:_next)?|import)\s*["<].*[>"])/) {
-      last if $lastline =~ /^\S/ && @line && $line[-1] eq "";
-      push(@line, $lastline);
-      push(@line_no, $lastline_no) ;
+
+    # This chunk of code strips out (and parses) embedded TYPEMAP blocks
+    # which support a HEREdoc-alike block syntax.
+    # This is special cased from the usual paragraph-handler logic
+    # due to the HEREdoc-ish syntax.
+    if ($self->{lastline} =~ /^TYPEMAP\s*:\s*<<\s*(?:(["'])(.+?)\1|([^\s'"]+))\s*;?\s*$/) {
+      my $end_marker = quotemeta(defined($1) ? $2 : $3);
+      my @tmaplines;
+      while (1) {
+        $self->{lastline} = readline($self->{FH});
+        $self->death("Error: Unterminated typemap") if not defined $self->{lastline};
+        last if $self->{lastline} =~ /^$end_marker\s*$/;
+        push @tmaplines, $self->{lastline};
+      }
+
+      my $tmapcode = join "", @tmaplines;
+      my $tmap = ExtUtils::Typemaps->new(
+        string => $tmapcode,
+        lineno_offset => ($self->current_line_number()||0)+1,
+        fake_filename => $self->{filename},
+      );
+      $self->{typemap}->merge(typemap => $tmap, replace => 1);
+
+      $self->{lastline} = "";
     }
 
+    if ($self->{lastline} !~ /^\s*#/ ||
+    # CPP directives:
+    #    ANSI:    if ifdef ifndef elif else endif define undef
+    #        line error pragma
+    #    gcc:    warning include_next
+    #   obj-c:    import
+    #   others:    ident (gcc notes that some cpps have this one)
+    $self->{lastline} =~ /^#[ \t]*(?:(?:if|ifn?def|elif|else|endif|define|undef|pragma|error|warning|line\s+\d+|ident)\b|(?:include(?:_next)?|import)\s*["<].*[>"])/) {
+      last if $self->{lastline} =~ /^\S/ && @{ $self->{line} } && $self->{line}->[-1] eq "";
+      push(@{ $self->{line} }, $self->{lastline});
+      push(@{ $self->{line_no} }, $self->{lastline_no});
+    }
+
     # Read next line and continuation lines
-    last unless defined($lastline = <$FH>);
-    $lastline_no = $.;
+    last unless defined($self->{lastline} = readline($self->{FH}));
+    $self->{lastline_no} = $.;
     my $tmp_line;
-    $lastline .= $tmp_line
-      while ($lastline =~ /\\$/ && defined($tmp_line = <$FH>));
+    $self->{lastline} .= $tmp_line
+      while ($self->{lastline} =~ /\\$/ && defined($tmp_line = readline($self->{FH})));
 
-    chomp $lastline;
-    $lastline =~ s/^\s+$//;
+    chomp $self->{lastline};
+    $self->{lastline} =~ s/^\s+$//;
   }
-  pop(@line), pop(@line_no) while @line && $line[-1] eq "";
+  pop(@{ $self->{line} }), pop(@{ $self->{line_no} }) while @{ $self->{line} } && $self->{line}->[-1] eq "";
   1;
 }
 
 sub output_init {
-  local($type, $num, $var, $init, $name_printed) = @_;
-  local($arg) = "ST(" . ($num - 1) . ")";
+  my $argsref = shift;
+  my ($type, $num, $var, $init, $printed_name) = (
+    $argsref->{type},
+    $argsref->{num},
+    $argsref->{var},
+    $argsref->{init},
+    $argsref->{printed_name}
+  );
+  my $arg = $num ? "ST(" . ($num - 1) . ")" : "/* not a parameter */";
 
   if (  $init =~ /^=/  ) {
-    if ($name_printed) {
+    if ($printed_name) {
       eval qq/print " $init\\n"/;
-    } else {
+    }
+    else {
       eval qq/print "\\t$var $init\\n"/;
     }
-    warn $@   if  $@;
-  } else {
+    warn $@ if $@;
+  }
+  else {
     if (  $init =~ s/^\+//  &&  $num  ) {
-      &generate_init($type, $num, $var, $name_printed);
-    } elsif ($name_printed) {
+      generate_init( {
+        type          => $type,
+        num           => $num,
+        var           => $var,
+        printed_name  => $printed_name,
+      } );
+    }
+    elsif ($printed_name) {
       print ";\n";
       $init =~ s/^;//;
-    } else {
+    }
+    else {
       eval qq/print "\\t$var;\\n"/;
-      warn $@   if  $@;
+      warn $@ if $@;
       $init =~ s/^;//;
     }
-    $deferred .= eval qq/"\\n\\t$init\\n"/;
-    warn $@   if  $@;
+    $self->{deferred} .= eval qq/"\\n\\t$init\\n"/;
+    warn $@ if $@;
   }
 }
 
-sub Warn
-  {
-    # work out the line number
-    my $line_no = $line_no[@line_no - @line -1] ;
+sub generate_init {
+  my $argsref = shift;
+  my ($type, $num, $var, $printed_name) = (
+    $argsref->{type},
+    $argsref->{num},
+    $argsref->{var},
+    $argsref->{printed_name},
+  );
+  my $arg = "ST(" . ($num - 1) . ")";
+  my ($argoff, $ntype);
+  $argoff = $num - 1;
 
-    print STDERR "@_ in $filename, line $line_no\n" ;
-  }
+  my $typemaps = $self->{typemap};
 
-sub blurt
-  {
-    Warn @_ ;
-    $errors ++
-  }
+  $type = tidy_type($type);
+  $self->report_typemap_failure($typemaps, $type), return
+    unless $typemaps->get_typemap(ctype => $type);
 
-sub death
-  {
-    Warn @_ ;
-    exit 1 ;
-  }
-
-sub generate_init {
-  local($type, $num, $var) = @_;
-  local($arg) = "ST(" . ($num - 1) . ")";
-  local($argoff) = $num - 1;
-  local($ntype);
-  local($tk);
-
-  $type = TidyType($type) ;
-  blurt("Error: '$type' not in typemap"), return
-    unless defined($type_kind{$type});
-
   ($ntype = $type) =~ s/\s*\*/Ptr/g;
+  my $subtype;
   ($subtype = $ntype) =~ s/(?:Array)?(?:Ptr)?$//;
-  $tk = $type_kind{$type};
-  $tk =~ s/OBJ$/REF/ if $func_name =~ /DESTROY$/;
-  if ($tk eq 'T_PV' and exists $lengthof{$var}) {
-    print "\t$var" unless $name_printed;
+  my $typem = $typemaps->get_typemap(ctype => $type);
+  my $xstype = $typem->xstype;
+  $xstype =~ s/OBJ$/REF/ if $func_name =~ /DESTROY$/;
+  if ($xstype eq 'T_PV' and exists $self->{lengthof}->{$var}) {
+    print "\t$var" unless $printed_name;
     print " = ($type)SvPV($arg, STRLEN_length_of_$var);\n";
     die "default value not supported with length(NAME) supplied"
-      if defined $defaults{$var};
+      if defined $self->{defaults}->{$var};
     return;
   }
-  $type =~ tr/:/_/ unless $hiertype;
-  blurt("Error: No INPUT definition for type '$type', typekind '$type_kind{$type}' found"), return
-    unless defined $input_expr{$tk} ;
-  $expr = $input_expr{$tk};
+  $type =~ tr/:/_/ unless $self->{hiertype};
+
+  my $inputmap = $typemaps->get_inputmap(xstype => $xstype);
+  $self->blurt("Error: No INPUT definition for type '$type', typekind '" . $type->xstype . "' found"), return
+    unless defined $inputmap;
+
+  my $expr = $inputmap->cleaned_code;
+  # Note: This gruesome bit either needs heavy rethinking or documentation. I vote for the former. --Steffen
   if ($expr =~ /DO_ARRAY_ELEM/) {
-    blurt("Error: '$subtype' not in typemap"), return
-      unless defined($type_kind{$subtype});
-    blurt("Error: No INPUT definition for type '$subtype', typekind '$type_kind{$subtype}' found"), return
-      unless defined $input_expr{$type_kind{$subtype}} ;
-    $subexpr = $input_expr{$type_kind{$subtype}};
+    my $subtypemap  = $typemaps->get_typemap(ctype => $subtype);
+    $self->report_typemap_failure($typemaps, $subtype), return
+      if not $subtypemap;
+    my $subinputmap = $typemaps->get_inputmap(xstype => $subtypemap->xstype);
+    $self->blurt("Error: No INPUT definition for type '$subtype', typekind '" . $subtypemap->xstype . "' found"), return
+      unless $subinputmap;
+    my $subexpr = $subinputmap->cleaned_code;
     $subexpr =~ s/\$type/\$subtype/g;
     $subexpr =~ s/ntype/subtype/g;
     $subexpr =~ s/\$arg/ST(ix_$var)/g;
     $subexpr =~ s/\n\t/\n\t\t/g;
     $subexpr =~ s/is not of (.*\")/[arg %d] is not of $1, ix_$var + 1/g;
-    $subexpr =~ s/\$var/${var}[ix_$var - $argoff]/;
+    $subexpr =~ s/\$var/${var}\[ix_$var - $argoff]/;
     $expr =~ s/DO_ARRAY_ELEM/$subexpr/;
   }
   if ($expr =~ m#/\*.*scope.*\*/#i) {  # "scope" in C comments
-    $ScopeThisXSUB = 1;
+    $self->{ScopeThisXSUB} = 1;
   }
-  if (defined($defaults{$var})) {
+  if (defined($self->{defaults}->{$var})) {
     $expr =~ s/(\t+)/$1    /g;
     $expr =~ s/        /\t/g;
-    if ($name_printed) {
+    if ($printed_name) {
       print ";\n";
-    } else {
+    }
+    else {
       eval qq/print "\\t$var;\\n"/;
-      warn $@   if  $@;
+      warn $@ if $@;
     }
-    if ($defaults{$var} eq 'NO_INIT') {
-      $deferred .= eval qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/;
-    } else {
-      $deferred .= eval qq/"\\n\\tif (items < $num)\\n\\t    $var = $defaults{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/;
+    if ($self->{defaults}->{$var} eq 'NO_INIT') {
+      $self->{deferred} .= eval qq/"\\n\\tif (items >= $num) {\\n$expr;\\n\\t}\\n"/;
     }
-    warn $@   if  $@;
-  } elsif ($ScopeThisXSUB or $expr !~ /^\s*\$var =/) {
-    if ($name_printed) {
+    else {
+      $self->{deferred} .= eval qq/"\\n\\tif (items < $num)\\n\\t    $var = $self->{defaults}->{$var};\\n\\telse {\\n$expr;\\n\\t}\\n"/;
+    }
+    warn $@ if $@;
+  }
+  elsif ($self->{ScopeThisXSUB} or $expr !~ /^\s*\$var =/) {
+    if ($printed_name) {
       print ";\n";
-    } else {
+    }
+    else {
       eval qq/print "\\t$var;\\n"/;
-      warn $@   if  $@;
+      warn $@ if $@;
     }
-    $deferred .= eval qq/"\\n$expr;\\n"/;
-    warn $@   if  $@;
-  } else {
+    $self->{deferred} .= eval qq/"\\n$expr;\\n"/;
+    warn $@ if $@;
+  }
+  else {
     die "panic: do not know how to handle this branch for function pointers"
-      if $name_printed;
+      if $printed_name;
     eval qq/print "$expr;\\n"/;
-    warn $@   if  $@;
+    warn $@ if $@;
   }
 }
 
 sub generate_output {
-  local($type, $num, $var, $do_setmagic, $do_push) = @_;
-  local($arg) = "ST(" . ($num - ($num != 0)) . ")";
-  local($argoff) = $num - 1;
-  local($ntype);
+  my $argsref = shift;
+  my ($type, $num, $var, $do_setmagic, $do_push) = (
+    $argsref->{type},
+    $argsref->{num},
+    $argsref->{var},
+    $argsref->{do_setmagic},
+    $argsref->{do_push}
+  );
+  my $arg = "ST(" . ($num - ($num != 0)) . ")";
+  my $ntype;
 
-  $type = TidyType($type) ;
+  my $typemaps = $self->{typemap};
+
+  $type = tidy_type($type);
   if ($type =~ /^array\(([^,]*),(.*)\)/) {
     print "\t$arg = sv_newmortal();\n";
     print "\tsv_setpvn($arg, (char *)$var, $2 * sizeof($1));\n";
     print "\tSvSETMAGIC($arg);\n" if $do_setmagic;
-  } else {
-    blurt("Error: '$type' not in typemap"), return
-      unless defined($type_kind{$type});
-    blurt("Error: No OUTPUT definition for type '$type', typekind '$type_kind{$type}' found"), return
-      unless defined $output_expr{$type_kind{$type}} ;
+  }
+  else {
+    my $typemap = $typemaps->get_typemap(ctype => $type);
+    $self->report_typemap_failure($typemaps, $type), return
+      if not $typemap;
+    my $outputmap = $typemaps->get_outputmap(xstype => $typemap->xstype);
+    $self->blurt("Error: No OUTPUT definition for type '$type', typekind '" . $typemap->xstype . "' found"), return
+      unless $outputmap;
     ($ntype = $type) =~ s/\s*\*/Ptr/g;
     $ntype =~ s/\(\)//g;
+    my $subtype;
     ($subtype = $ntype) =~ s/(?:Array)?(?:Ptr)?$//;
-    $expr = $output_expr{$type_kind{$type}};
+
+    my $expr = $outputmap->cleaned_code;
     if ($expr =~ /DO_ARRAY_ELEM/) {
-      blurt("Error: '$subtype' not in typemap"), return
-	unless defined($type_kind{$subtype});
-      blurt("Error: No OUTPUT definition for type '$subtype', typekind '$type_kind{$subtype}' found"), return
-	unless defined $output_expr{$type_kind{$subtype}} ;
-      $subexpr = $output_expr{$type_kind{$subtype}};
+      my $subtypemap = $typemaps->get_typemap(ctype => $subtype);
+      $self->report_typemap_failure($typemaps, $subtype), return
+        if not $subtypemap;
+      my $suboutputmap = $typemaps->get_outputmap(xstype => $subtypemap->xstype);
+      $self->blurt("Error: No OUTPUT definition for type '$subtype', typekind '" . $subtypemap->xstype . "' found"), return
+        unless $suboutputmap;
+      my $subexpr = $suboutputmap->cleaned_code;
       $subexpr =~ s/ntype/subtype/g;
       $subexpr =~ s/\$arg/ST(ix_$var)/g;
-      $subexpr =~ s/\$var/${var}[ix_$var]/g;
+      $subexpr =~ s/\$var/${var}\[ix_$var]/g;
       $subexpr =~ s/\n\t/\n\t\t/g;
       $expr =~ s/DO_ARRAY_ELEM\n/$subexpr/;
       eval "print qq\a$expr\a";
-      warn $@   if  $@;
+      warn $@ if $@;
       print "\t\tSvSETMAGIC(ST(ix_$var));\n" if $do_setmagic;
-    } elsif ($var eq 'RETVAL') {
+    }
+    elsif ($var eq 'RETVAL') {
       if ($expr =~ /^\t\$arg = new/) {
-	# We expect that $arg has refcnt 1, so we need to
-	# mortalize it.
-	eval "print qq\a$expr\a";
-	warn $@   if  $@;
-	print "\tsv_2mortal(ST($num));\n";
-	print "\tSvSETMAGIC(ST($num));\n" if $do_setmagic;
-      } elsif ($expr =~ /^\s*\$arg\s*=/) {
-	# We expect that $arg has refcnt >=1, so we need
-	# to mortalize it!
-	eval "print qq\a$expr\a";
-	warn $@   if  $@;
-	print "\tsv_2mortal(ST(0));\n";
-	print "\tSvSETMAGIC(ST(0));\n" if $do_setmagic;
-      } else {
-	# Just hope that the entry would safely write it
-	# over an already mortalized value. By
-	# coincidence, something like $arg = &sv_undef
-	# works too.
-	print "\tST(0) = sv_newmortal();\n";
-	eval "print qq\a$expr\a";
-	warn $@   if  $@;
-	# new mortals don't have set magic
+        # We expect that $arg has refcnt 1, so we need to
+        # mortalize it.
+        eval "print qq\a$expr\a";
+        warn $@ if $@;
+        print "\tsv_2mortal(ST($num));\n";
+        print "\tSvSETMAGIC(ST($num));\n" if $do_setmagic;
       }
-    } elsif ($do_push) {
+      elsif ($expr =~ /^\s*\$arg\s*=/) {
+        # We expect that $arg has refcnt >=1, so we need
+        # to mortalize it!
+        eval "print qq\a$expr\a";
+        warn $@ if $@;
+        print "\tsv_2mortal(ST(0));\n";
+        print "\tSvSETMAGIC(ST(0));\n" if $do_setmagic;
+      }
+      else {
+        # Just hope that the entry would safely write it
+        # over an already mortalized value. By
+        # coincidence, something like $arg = &sv_undef
+        # works too.
+        print "\tST(0) = sv_newmortal();\n";
+        eval "print qq\a$expr\a";
+        warn $@ if $@;
+        # new mortals don't have set magic
+      }
+    }
+    elsif ($do_push) {
       print "\tPUSHs(sv_newmortal());\n";
       $arg = "ST($num)";
       eval "print qq\a$expr\a";
-      warn $@   if  $@;
+      warn $@ if $@;
       print "\tSvSETMAGIC($arg);\n" if $do_setmagic;
-    } elsif ($arg =~ /^ST\(\d+\)$/) {
+    }
+    elsif ($arg =~ /^ST\(\d+\)$/) {
       eval "print qq\a$expr\a";
-      warn $@   if  $@;
+      warn $@ if $@;
       print "\tSvSETMAGIC($arg);\n" if $do_setmagic;
     }
   }
 }
 
-sub map_type {
-  my($type, $varname) = @_;
-  
-  # C++ has :: in types too so skip this
-  $type =~ tr/:/_/ unless $hiertype;
-  $type =~ s/^array\(([^,]*),(.*)\).*/$1 */s;
-  if ($varname) {
-    if ($varname && $type =~ / \( \s* \* (?= \s* \) ) /xg) {
-      (substr $type, pos $type, 0) = " $varname ";
-    } else {
-      $type .= "\t$varname";
-    }
-  }
-  $type;
-}
-
-
-#########################################################
-package
-  ExtUtils::ParseXS::CountLines;
-use strict;
-use vars qw($SECTION_END_MARKER);
-
-sub TIEHANDLE {
-  my ($class, $cfile, $fh) = @_;
-  $cfile =~ s/\\/\\\\/g;
-  $SECTION_END_MARKER = qq{#line --- "$cfile"};
-  
-  return bless {buffer => '',
-		fh => $fh,
-		line_no => 1,
-	       }, $class;
-}
-
-sub PRINT {
-  my $self = shift;
-  for (@_) {
-    $self->{buffer} .= $_;
-    while ($self->{buffer} =~ s/^([^\n]*\n)//) {
-      my $line = $1;
-      ++ $self->{line_no};
-      $line =~ s|^\#line\s+---(?=\s)|#line $self->{line_no}|;
-      print {$self->{fh}} $line;
-    }
-  }
-}
-
-sub PRINTF {
-  my $self = shift;
-  my $fmt = shift;
-  $self->PRINT(sprintf($fmt, @_));
-}
-
-sub DESTROY {
-  # Not necessary if we're careful to end with a "\n"
-  my $self = shift;
-  print {$self->{fh}} $self->{buffer};
-}
-
-sub UNTIE {
-  # This sub does nothing, but is necessary for references to be released.
-}
-
-sub end_marker {
-  return $SECTION_END_MARKER;
-}
-
-
 1;
-__END__
 
-=head1 NAME
-
-ExtUtils::ParseXS - converts Perl XS code into C code
-
-=head1 SYNOPSIS
-
-  use ExtUtils::ParseXS qw(process_file);
-  
-  process_file( filename => 'foo.xs' );
-
-  process_file( filename => 'foo.xs',
-                output => 'bar.c',
-                'C++' => 1,
-                typemap => 'path/to/typemap',
-                hiertype => 1,
-                except => 1,
-                prototypes => 1,
-                versioncheck => 1,
-                linenumbers => 1,
-                optimize => 1,
-                prototypes => 1,
-              );
-=head1 DESCRIPTION
-
-C<ExtUtils::ParseXS> will compile XS code into C code by embedding the constructs
-necessary to let C functions manipulate Perl values and creates the glue
-necessary to let Perl access those functions.  The compiler uses typemaps to
-determine how to map C function parameters and variables to Perl values.
-
-The compiler will search for typemap files called I<typemap>.  It will use
-the following search path to find default typemaps, with the rightmost
-typemap taking precedence.
-
-	../../../typemap:../../typemap:../typemap:typemap
-
-=head1 EXPORT
-
-None by default.  C<process_file()> may be exported upon request.
-
-
-=head1 FUNCTIONS
-
-=over 4
-
-=item process_xs()
-
-This function processes an XS file and sends output to a C file.
-Named parameters control how the processing is done.  The following
-parameters are accepted:
-
-=over 4
-
-=item B<C++>
-
-Adds C<extern "C"> to the C code.  Default is false.
-
-=item B<hiertype>
-
-Retains C<::> in type names so that C++ hierarchical types can be
-mapped.  Default is false.
-
-=item B<except>
-
-Adds exception handling stubs to the C code.  Default is false.
-
-=item B<typemap>
-
-Indicates that a user-supplied typemap should take precedence over the
-default typemaps.  A single typemap may be specified as a string, or
-multiple typemaps can be specified in an array reference, with the
-last typemap having the highest precedence.
-
-=item B<prototypes>
-
-Generates prototype code for all xsubs.  Default is false.
-
-=item B<versioncheck>
-
-Makes sure at run time that the object file (derived from the C<.xs>
-file) and the C<.pm> files have the same version number.  Default is
-true.
-
-=item B<linenumbers>
-
-Adds C<#line> directives to the C output so error messages will look
-like they came from the original XS file.  Default is true.
-
-=item B<optimize>
-
-Enables certain optimizations.  The only optimization that is currently
-affected is the use of I<target>s by the output C code (see L<perlguts>).
-Not optimizing may significantly slow down the generated code, but this is the way
-B<xsubpp> of 5.005 and earlier operated.  Default is to optimize.
-
-=item B<inout>
-
-Enable recognition of C<IN>, C<OUT_LIST> and C<INOUT_LIST>
-declarations.  Default is true.
-
-=item B<argtypes>
-
-Enable recognition of ANSI-like descriptions of function signature.
-Default is true.
-
-=item B<s>
-
-I have no clue what this does.  Strips function prefixes?
-
-=back
-
-=item errors()
-
-This function returns the number of [a certain kind of] errors
-encountered during processing of the XS file.
-
-=back
-
-=head1 AUTHOR
-
-Based on xsubpp code, written by Larry Wall.
-
-Maintained by: 
-
-=over 4
-
-=item *
-
-Ken Williams, <ken at mathforum.org>
-
-=item *
-
-David Golden, <dagolden at cpan.org>
-
-=back
-
-=head1 COPYRIGHT
-
-Copyright 2002-2009 by Ken Williams, David Golden and other contributors.  All
-rights reserved.
-
-This library is free software; you can redistribute it and/or
-modify it under the same terms as Perl itself.
-
-Based on the ExtUtils::xsubpp code by Larry Wall and the Perl 5
-Porters, which was released under the same license terms.
-
-=head1 SEE ALSO
-
-L<perl>, ExtUtils::xsubpp, ExtUtils::MakeMaker, L<perlxs>, L<perlxstut>.
-
-=cut
+# vim: ts=2 sw=2 et:


Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,23 @@
-#!./miniperl
+#!perl
+use 5.006;
+use strict;
+eval {
+  require ExtUtils::ParseXS;
+  ExtUtils::ParseXS->import(
+    qw(
+      process_file
+      report_error_count
+    )
+  );
+  1;
+}
+or do {
+  my $err = $@ || 'Zombie error';
+  my $v = $ExtUtils::ParseXS::VERSION;
+  $v = '<undef>' if not defined $v;
+  die "Failed to load or import from ExtUtils::ParseXS (version $v). Please check that ExtUtils::ParseXS is installed correctly and that the newest version will be found in your \@INC path: $err";
+};
 
-require 5.002;
-use ExtUtils::ParseXS qw(process_file);
 use Getopt::Long;
 
 my %args = ();
@@ -38,7 +54,7 @@
 $args{filename} = shift @ARGV;
 
 process_file(%args);
-exit( ExtUtils::ParseXS::errors() ? 1 : 0 );
+exit( report_error_count() ? 1 : 0 );
 
 __END__
 
@@ -52,7 +68,8 @@
 
 =head1 DESCRIPTION
 
-This compiler is typically run by the makefiles created by L<ExtUtils::MakeMaker>.
+This compiler is typically run by the makefiles created by L<ExtUtils::MakeMaker>
+or by L<Module::Build> or other Perl module build tools.
 
 I<xsubpp> will compile XS code into C code by embedding the constructs
 necessary to let C functions manipulate Perl values and creates the glue
@@ -110,7 +127,7 @@
 
 =item B<-nolinenumbers>
 
-Prevents the inclusion of `#line' directives in the output.
+Prevents the inclusion of '#line' directives in the output.
 
 =item B<-nooptimize>
 


Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSInclude.xsh
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSInclude.xsh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSInclude.xsh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSInclude.xsh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSMore.xs
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSMore.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSMore.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,13 @@
 #include "perl.h"
 #include "XSUB.h"
 
+typedef IV MyType;
+typedef IV MyType2;
+typedef IV MyType3;
+typedef IV MyType4;
+typedef IV MyType5;
+
+
 =for testing
 
 This parts are ignored.
@@ -8,6 +15,22 @@
 
 =cut
 
+/* Old perls (pre 5.8.9 or so) did not have PERL_UNUSED_ARG in XSUB.h.
+ * This is normally covered by ppport.h. */
+#ifndef PERL_UNUSED_ARG
+#  if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
+#    include <note.h>
+#    define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
+#  else
+#    define PERL_UNUSED_ARG(x) ((void)x)
+#  endif
+#endif
+#ifndef PERL_UNUSED_VAR
+#  define PERL_UNUSED_VAR(x) ((void)x)
+#endif
+
+
+
 STATIC void
 outlist(int* a, int* b){
 	*a = 'a';
@@ -42,6 +65,67 @@
 	sv_setiv(get_sv("XSMore::boot_ok", TRUE), 100);
 
 
+TYPEMAP: <<END
+MyType	T_IV
+END
+
+TYPEMAP: <<"  FOO BAR BAZ";
+MyType2	T_FOOOO
+
+OUTPUT
+T_FOOOO
+	sv_setiv($arg, (IV)$var);
+  FOO BAR BAZ
+
+TYPEMAP: <<'END'
+MyType3	T_BAAR
+MyType4	T_BAAR
+
+OUTPUT
+T_BAAR
+	sv_setiv($arg, (IV)$var);
+
+INPUT
+T_BAAR
+	$var = ($type)SvIV($arg)
+END
+
+TYPEMAP: <<END
+MyType5 T_WITHSEMICOLON
+
+INPUT
+
+T_WITHSEMICOLON
+    $var = ($type)SvIV($arg); 
+END
+
+
+MyType
+typemaptest1()
+  CODE:
+    RETVAL = 42;
+  OUTPUT:
+    RETVAL
+
+MyType2
+typemaptest2()
+  CODE:
+    RETVAL = 42;
+  OUTPUT:
+    RETVAL
+
+MyType3
+typemaptest3(foo, bar, baz)
+    MyType4 foo
+    MyType5 bar
+    MyType5 baz
+  CODE:
+    PERL_UNUSED_VAR(bar);
+    PERL_UNUSED_VAR(baz);
+    RETVAL = foo;
+  OUTPUT:
+    RETVAL
+
 void
 prototype_ssa()
 PROTOTYPE: $$@


Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSMore.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSTest.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,20 @@
 #include "perl.h"
 #include "XSUB.h"
 
+/* Old perls (pre 5.8.9 or so) did not have PERL_UNUSED_ARG in XSUB.h.
+ * This is normally covered by ppport.h. */
+#ifndef PERL_UNUSED_ARG
+#  if defined(lint) && defined(S_SPLINT_S) /* www.splint.org */
+#    include <note.h>
+#    define PERL_UNUSED_ARG(x) NOTE(ARGUNUSED(x))
+#  else
+#    define PERL_UNUSED_ARG(x) ((void)x)
+#  endif
+#endif
+#ifndef PERL_UNUSED_VAR
+#  define PERL_UNUSED_VAR(x) ((void)x)
+#endif
+
 int xsusage_one()       { return 1; } 
 int xsusage_two()       { return 2; }
 int xsusage_three()     { return 3; }


Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/XSUsage.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/basic.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/lib/IncludeTester.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/more.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/more.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/more.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/more.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/typemap
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/ExtUtils-ParseXS/t/usage.t
===================================================================
--- vendor/perl/dist/dist/ExtUtils-ParseXS/t/usage.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/ExtUtils-ParseXS/t/usage.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/ExtUtils-ParseXS/t/usage.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/File-CheckTree/lib/File/CheckTree.pm
===================================================================
--- vendor/perl/dist/dist/File-CheckTree/lib/File/CheckTree.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/File-CheckTree/lib/File/CheckTree.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/File-CheckTree/lib/File/CheckTree.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/File-CheckTree/t/CheckTree.t
===================================================================
--- vendor/perl/dist/dist/File-CheckTree/t/CheckTree.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/File-CheckTree/t/CheckTree.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/File-CheckTree/t/CheckTree.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 use vars qw{ $VERSION @EXPORT };
 
-$VERSION = '0.86';
+$VERSION = '0.89';
 
 use Filter::Util::Call;
 use Carp;
@@ -36,22 +36,31 @@
 my $pod_or_DATA = qr/
               ^=(?:head[1-4]|item) .*? $CUT
             | ^=pod .*? $CUT
-            | ^=for .*? $EOP
-            | ^=begin \s* (\S+) .*? \n=end \s* \1 .*? $EOP
+            | ^=for .*? $CUT
+            | ^=begin .*? $CUT
             | ^__(DATA|END)__\r?\n.*
             /smx;
+my $variable = qr{
+        [\$*\@%]\s*
+            \{\s*(?!::)(?:\d+|[][&`'#+*./|,";%=~:?!\@<>()-]|\^[A-Z]?)\}
+      | (?:\$#?|[*\@\%]|\\&)\$*\s*
+               (?:  \{\s*(?:\^(?=[A-Z_]))?(?:\w|::|'\w)*\s*\}
+                  |      (?:\^(?=[A-Z_]))?(?:\w|::|'\w)*
+                  | (?=\{)  # ${ block }
+               )
+        )
+      | \$\s*(?!::)(?:\d+|[][&`'#+*./|,";%=~:?!\@<>()-]|\^[A-Z]?)
+   }x;
 
 my %extractor_for = (
-    quotelike  => [ $ws,  \&extract_variable, $id, { MATCH  => \&extract_quotelike } ],
+    quotelike  => [ $ws,  $variable, $id, { MATCH  => \&extract_quotelike } ],
     regex      => [ $ws,  $pod_or_DATA, $id, $exql           ],
     string     => [ $ws,  $pod_or_DATA, $id, $exql           ],
-    code       => [ $ws, { DONT_MATCH => $pod_or_DATA },
-    		        \&extract_variable,
+    code       => [ $ws, { DONT_MATCH => $pod_or_DATA }, $variable,
                     $id, { DONT_MATCH => \&extract_quotelike }   ],
     code_no_comments
                => [ { DONT_MATCH => $comment },
-                    $ncws, { DONT_MATCH => $pod_or_DATA },
-    		        \&extract_variable,
+                    $ncws, { DONT_MATCH => $pod_or_DATA }, $variable,
                     $id, { DONT_MATCH => \&extract_quotelike }   ],
     executable => [ $ws, { DONT_MATCH => $pod_or_DATA }      ],
     executable_no_comments
@@ -242,7 +251,7 @@
      package MyFilter;
 
      use Filter::Simple;
-     
+
      FILTER { ... };
 
      # or just:
@@ -329,7 +338,7 @@
 C<use BANG;> statement (until the next C<no BANG;> statement, if any):
 
     package BANG;
- 
+
     use Filter::Util::Call ;
 
     sub import {
@@ -394,7 +403,7 @@
 
     package BANG;
     use Filter::Simple;
-    
+
     FILTER {
         s/BANG\s+BANG/die 'BANG' if \$BANG/g;
     };
@@ -438,7 +447,7 @@
 
     package BANG;
     use Filter::Simple;
-    
+
     FILTER {
         s/BANG\s+BANG/die 'BANG' if \$BANG/g;
     }
@@ -455,7 +464,7 @@
 
     package BANG;
     use Filter::Simple;
-    
+
     FILTER {
         s/BANG\s+BANG/die 'BANG' if \$BANG/g;
     }
@@ -752,9 +761,9 @@
 be made parametric:
 
     package BANG;
- 
+
     use Filter::Simple;
-    
+
     FILTER {
         my ($die_msg, $var_name) = @_;
         s/BANG\s+BANG/die '$die_msg' if \${$var_name}/g;


Property changes on: vendor/perl/dist/dist/Filter-Simple/lib/Filter/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Filter-Simple/t/data.t
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/data.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Filter-Simple/t/data.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Filter-Simple/t/export.t
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/export.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/export.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Filter-Simple/t/export.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Filter-Simple/t/filter.t
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/filter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/filter.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Filter-Simple/t/filter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Filter-Simple/t/filter_only.t
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/filter_only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/filter_only.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,6 +20,20 @@
 
 ok 7 unless not ok 6;
 
+=begin scrumbly
+
+=end scrumbly
+
+shromple
+
+=cut
+
+=for us
+
+shromple again
+
+=cut
+
 no Filter::Simple::FilterOnlyTest; # THE FUN STOPS HERE
 
 print "not " unless "not ok" =~ /^not /;


Property changes on: vendor/perl/dist/dist/Filter-Simple/t/filter_only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Filter-Simple/t/import.t
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/import.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/import.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Filter-Simple/t/import.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ExportTest.pm
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ExportTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ExportTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ExportTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterOnlyTest.pm
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterOnlyTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterOnlyTest.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,4 +8,7 @@
 		while (my($pat, $str) = splice @_, 0, 2) {
 			s/$pat/$str/g;
 		}
+	},
+	code_no_comments => sub {
+		$_ =~ /shromple/ and die "We wants no shromples!";
 	};


Property changes on: vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterOnlyTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterTest.pm
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/FilterTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ImportTest.pm
===================================================================
--- vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ImportTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ImportTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Filter-Simple/t/lib/Filter/Simple/ImportTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-Collate/lib/I18N/Collate.pm
===================================================================
--- vendor/perl/dist/dist/I18N-Collate/lib/I18N/Collate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-Collate/lib/I18N/Collate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-Collate/lib/I18N/Collate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-Collate/t/I18N-Collate.t
===================================================================
--- vendor/perl/dist/dist/I18N-Collate/t/I18N-Collate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-Collate/t/I18N-Collate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-Collate/t/I18N-Collate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/I18N-LangTags/ChangeLog
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,12 @@
 Revision history for Perl module I18N::LangTags.
                                         Time-stamp: "2004-10-06 23:26:53 ADT"
 
+2011-06-12
+
+	* Release 0.36
+
+	Fix broken URLs for RFCs
+
 2004-10-06  Sean M. Burke  sburke at cpan.org
 
 	* Release 0.35
@@ -137,7 +143,7 @@
 
 	* Release 0.21
 
-	* extract_language_tags and locale2langauge_tag now
+	* extract_language_tags and locale2language_tag now
 	return untainted output.  Useful if you feed tainted
 	things, like $ENV{'LANG'}.
 	


Property changes on: vendor/perl/dist/dist/I18N-LangTags/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/README
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/Detect.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 #  Time-stamp: "2004-10-06 23:26:21 ADT"
 use strict;
 use vars qw(%Name %Is_Disrec $Debug $VERSION);
-$VERSION = '0.35_01';
+$VERSION = '0.39';
 # POD at the end.
 
 #----------------------------------------------------------------------


Property changes on: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags/List.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
                );
 %EXPORT_TAGS = ('ALL' => \@EXPORT_OK);
 
-$VERSION = "0.35_01";
+$VERSION = "0.39";
 
 sub uniq { my %seen; return grep(!($seen{$_}++), @_); } # a util function
 
@@ -579,16 +579,16 @@
 
 Examples:
 
-          alternate_language_tags('no-bok')       is ('nb')
-          alternate_language_tags('nb')           is ('no-bok')
-          alternate_language_tags('he')           is ('iw')
-          alternate_language_tags('iw')           is ('he')
-          alternate_language_tags('i-hakka')      is ('zh-hakka', 'x-hakka')
-          alternate_language_tags('zh-hakka')     is ('i-hakka', 'x-hakka')
-          alternate_language_tags('en')           is ()
-          alternate_language_tags('x-mingo-tom')  is ('i-mingo-tom')
-          alternate_language_tags('x-klikitat')   is ('i-klikitat')
-          alternate_language_tags('i-klikitat')   is ('x-klikitat')
+  alternate_language_tags('no-bok')       is ('nb')
+  alternate_language_tags('nb')           is ('no-bok')
+  alternate_language_tags('he')           is ('iw')
+  alternate_language_tags('iw')           is ('he')
+  alternate_language_tags('i-hakka')      is ('zh-hakka', 'x-hakka')
+  alternate_language_tags('zh-hakka')     is ('i-hakka', 'x-hakka')
+  alternate_language_tags('en')           is ()
+  alternate_language_tags('x-mingo-tom')  is ('i-mingo-tom')
+  alternate_language_tags('x-klikitat')   is ('i-klikitat')
+  alternate_language_tags('i-klikitat')   is ('x-klikitat')
 
 This function returns empty-list if given anything other than a formally
 valid language tag.
@@ -844,17 +844,17 @@
 
 * L<I18N::LangTags::List|I18N::LangTags::List>
 
-* RFC 3066, C<ftp://ftp.isi.edu/in-notes/rfc3066.txt>, "Tags for the
+* RFC 3066, C<http://www.ietf.org/rfc/rfc3066.txt>, "Tags for the
 Identification of Languages".  (Obsoletes RFC 1766)
 
-* RFC 2277, C<ftp://ftp.isi.edu/in-notes/rfc2277.txt>, "IETF Policy on
+* RFC 2277, C<http://www.ietf.org/rfc/rfc2277.txt>, "IETF Policy on
 Character Sets and Languages".
 
-* RFC 2231, C<ftp://ftp.isi.edu/in-notes/rfc2231.txt>, "MIME Parameter
+* RFC 2231, C<http://www.ietf.org/rfc/rfc2231.txt>, "MIME Parameter
 Value and Encoded Word Extensions: Character Sets, Languages, and
 Continuations".
 
-* RFC 2482, C<ftp://ftp.isi.edu/in-notes/rfc2482.txt>, 
+* RFC 2482, C<http://www.ietf.org/rfc/rfc2482.txt>,
 "Language Tagging in Unicode Plain Text".
 
 * Locale::Codes, in
@@ -862,7 +862,7 @@
 
 * ISO 639-2, "Codes for the representation of names of languages",
 including two-letter and three-letter codes,
-C<http://www.loc.gov/standards/iso639-2/langcodes.html>
+C<http://www.loc.gov/standards/iso639-2/php/code_list.php>
 
 * The IANA list of registered languages (hopefully up-to-date),
 C<http://www.iana.org/assignments/language-tags>


Property changes on: vendor/perl/dist/dist/I18N-LangTags/lib/I18N/LangTags.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/t/01_about_verbose.t
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/t/01_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/t/01_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/t/01_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/t/05_main.t
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/t/05_main.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/t/05_main.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/t/05_main.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/t/07_listy.t
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/t/07_listy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/t/07_listy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/t/07_listy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/t/10_http.t
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/t/10_http.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/t/10_http.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/t/10_http.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/t/20_locales.t
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/t/20_locales.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/t/20_locales.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/t/20_locales.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/t/50_super.t
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/t/50_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/t/50_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/t/50_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/t/55_supers_strict.t
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/t/55_supers_strict.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/t/55_supers_strict.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/t/55_supers_strict.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/I18N-LangTags/t/80_all_env.t
===================================================================
--- vendor/perl/dist/dist/I18N-LangTags/t/80_all_env.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/I18N-LangTags/t/80_all_env.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/I18N-LangTags/t/80_all_env.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/ChangeLog
===================================================================
--- vendor/perl/dist/dist/IO/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/IO.pm
===================================================================
--- vendor/perl/dist/dist/IO/IO.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/IO.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 use strict;
 use warnings;
 
-our $VERSION = "1.25_04";
+our $VERSION = "1.28";
 XSLoader::load 'IO', $VERSION;
 
 sub import {
@@ -32,8 +32,8 @@
 
 =head1 SYNOPSIS
 
-    use IO qw(Handle File);  # loads IO modules, here IO::Handle, IO::File
-    use IO;                  # DEPRECATED
+   use IO qw(Handle File); # loads IO modules, here IO::Handle, IO::File
+   use IO;                 # DEPRECATED
 
 =head1 DESCRIPTION
 


Property changes on: vendor/perl/dist/dist/IO/IO.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/IO.xs
===================================================================
--- vendor/perl/dist/dist/IO/IO.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/IO.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -57,6 +57,10 @@
 # define NORETURN_FUNCTION_END /* NOT REACHED */ return 0
 #endif
 
+#ifndef dVAR
+#  define dVAR dNOOP
+#endif
+
 static int not_here(const char *s) __attribute__noreturn__;
 static int
 not_here(const char *s)
@@ -122,8 +126,20 @@
     return RETVAL;
 #else
 #   ifdef WIN32
-    char flags = (char)block;
-    return ioctl(PerlIO_fileno(f), FIONBIO, &flags);
+    if (block >= 0) {
+	unsigned long flags = !block;
+	/* ioctl claims to take char* but really needs a u_long sized buffer */
+	const int ret = ioctl(PerlIO_fileno(f), FIONBIO, (char*)&flags);
+	if (ret != 0)
+	    return -1;
+	/* Win32 has no way to get the current blocking status of a socket.
+	 * However, we don't want to just return undef, because there's no way
+	 * to tell that the ioctl succeeded.
+	 */
+	return flags;
+    }
+    /* TODO: Perhaps set $! to ENOTSUP? */
+    return -1;
 #   else
     return -1;
 #   endif
@@ -130,6 +146,27 @@
 #endif
 }
 
+static OP *
+io_pp_nextstate(pTHX)
+{
+    dVAR;
+    COP *old_curcop = PL_curcop;
+    OP *next = PL_ppaddr[PL_op->op_type](aTHX);
+    PL_curcop = old_curcop;
+    return next;
+}
+
+static OP *
+io_ck_lineseq(pTHX_ OP *o)
+{
+    OP *kid = cBINOPo->op_first;
+    for (; kid; kid = kid->op_sibling)
+	if (kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE)
+	    kid->op_ppaddr = io_pp_nextstate;
+    return o;
+}
+
+
 MODULE = IO	PACKAGE = IO::Seekable	PREFIX = f
 
 void
@@ -290,14 +327,38 @@
 int
 ungetc(handle, c)
 	InputStream	handle
-	int		c
+	SV *	        c
     CODE:
-	if (handle)
+	if (handle) {
 #ifdef PerlIO
-	    RETVAL = PerlIO_ungetc(handle, c);
+            UV v;
+
+            if ((SvIOK_notUV(c) && SvIV(c) < 0) || (SvNOK(c) && SvNV(c) < 0.0))
+                croak("Negative character number in ungetc()");
+
+            v = SvUV(c);
+            if (NATIVE_IS_INVARIANT(v) || (v <= 0xFF && !PerlIO_isutf8(handle)))
+                RETVAL = PerlIO_ungetc(handle, (int)v);
+            else {
+                U8 buf[UTF8_MAXBYTES + 1], *end;
+                Size_t len;
+
+                if (!PerlIO_isutf8(handle))
+                    croak("Wide character number in ungetc()");
+
+                /* This doesn't warn for non-chars, surrogate, and
+                 * above-Unicodes */
+                end = uvchr_to_utf8_flags(buf, v, 0);
+                len = end - buf;
+                if (PerlIO_unread(handle, &buf, len) == len)
+                    XSRETURN_UV(v);
+                else
+                    RETVAL = EOF;
+            }
 #else
-	    RETVAL = ungetc(c, handle);
+            RETVAL = ungetc((int)SvIV(c), handle);
 #endif
+        }
 	else {
 	    RETVAL = -1;
 	    errno = EINVAL;
@@ -429,10 +490,15 @@
 
 
 SysRet
-fsync(handle)
-	OutputStream handle
+fsync(arg)
+	SV * arg
+    PREINIT:
+	OutputStream handle = NULL;
     CODE:
 #ifdef HAS_FSYNC
+	handle = IoOFP(sv_2io(arg));
+	if (!handle)
+	    handle = IoIFP(sv_2io(arg));
 	if(handle)
 	    RETVAL = fsync(PerlIO_fileno(handle));
 	else {
@@ -445,7 +511,17 @@
     OUTPUT:
 	RETVAL
 
+SV *
+_create_getline_subs(const char *code)
+    CODE:
+	OP *(*io_old_ck_lineseq)(pTHX_ OP *) = PL_check[OP_LINESEQ];
+	PL_check[OP_LINESEQ] = io_ck_lineseq;
+	RETVAL = SvREFCNT_inc(eval_pv(code,FALSE));
+	PL_check[OP_LINESEQ] = io_old_ck_lineseq;
+    OUTPUT:
+	RETVAL
 
+
 MODULE = IO	PACKAGE = IO::Socket
 
 SysRet


Property changes on: vendor/perl/dist/dist/IO/IO.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/IO/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,10 +33,13 @@
   OBJECT       => '$(O_FILES)',
   ABSTRACT     => 'Perl core IO modules',
   AUTHOR       => 'Graham Barr <gbarr at cpan.org>',
+  PREREQ_PM    => {
+    'Test::More' => 0,
+  },
   ( $PERL_CORE
     ? ()
     : (
-      INSTALLDIRS => 'perl',
+      INSTALLDIRS => ($] < 5.011 ? 'perl' : 'site'),
       clean       => {FILES => 'typemap'},
     )
   ),


Property changes on: vendor/perl/dist/dist/IO/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/README
===================================================================
--- vendor/perl/dist/dist/IO/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/hints/sco.pl
===================================================================
--- vendor/perl/dist/dist/IO/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/Dir.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Dir.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Dir.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
 use File::Spec;
 
 @ISA = qw(Tie::Hash Exporter);
-$VERSION = "1.08";
+$VERSION = "1.10";
 $VERSION = eval $VERSION;
 @EXPORT_OK = qw(DIR_UNLINK);
 
@@ -186,7 +186,7 @@
 =back
 
 The following methods are wrappers for the directory related functions built
-into perl (the trailing `dir' has been removed from the names). See L<perlfunc>
+into perl (the trailing 'dir' has been removed from the names). See L<perlfunc>
 for details of these functions.
 
 =over 4
@@ -237,7 +237,7 @@
 =head1 AUTHOR
 
 Graham Barr. Currently maintained by the Perl Porters.  Please report all
-bugs to <perl5-porters at perl.org>.
+bugs to <perlbug at perl.org>.
 
 =head1 COPYRIGHT
 


Property changes on: vendor/perl/dist/dist/IO/lib/IO/Dir.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/File.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -131,13 +131,12 @@
 use Symbol;
 use SelectSaver;
 use IO::Seekable;
-use File::Spec;
 
 require Exporter;
 
 @ISA = qw(IO::Handle IO::Seekable Exporter);
 
-$VERSION = "1.15";
+$VERSION = "1.16";
 
 @EXPORT = @IO::Seekable::EXPORT;
 


Property changes on: vendor/perl/dist/dist/IO/lib/IO/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/Handle.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Handle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Handle.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -139,9 +139,12 @@
 
 =item $io->write ( BUF, LEN [, OFFSET ] )
 
-This C<write> is like C<write> found in C, that is it is the
+This C<write> is somewhat like C<write> found in C, in that it is the
 opposite of read. The wrapper for the perl C<write> function is
-called C<format_write>.
+called C<format_write>. However, whilst the C C<write> function returns
+the number of bytes written, this C<write> function simply returns true
+if successful (like C<print>). A more C-like C<write> is C<syswrite>
+(see above).
 
 =item $io->error
 
@@ -268,7 +271,7 @@
 require Exporter;
 @ISA = qw(Exporter);
 
-$VERSION = "1.31";
+$VERSION = "1.34";
 $VERSION = eval $VERSION;
 
 @EXPORT_OK = qw(
@@ -430,6 +433,8 @@
     print $this @_;
 }
 
+# Special XS wrapper to make them inherit lexical hints from the caller.
+_create_getline_subs( <<'END' ) or die $@;
 sub getline {
     @_ == 1 or croak 'usage: $io->getline()';
     my $this = shift;
@@ -436,8 +441,6 @@
     return scalar <$this>;
 } 
 
-*gets = \&getline;  # deprecated
-
 sub getlines {
     @_ == 1 or croak 'usage: $io->getlines()';
     wantarray or
@@ -445,7 +448,11 @@
     my $this = shift;
     return <$this>;
 }
+1; # return true for error checking
+END
 
+*gets = \&getline;  # deprecated
+
 sub truncate {
     @_ == 2 or croak 'usage: $io->truncate(LEN)';
     truncate($_[0], $_[1]);


Property changes on: vendor/perl/dist/dist/IO/lib/IO/Handle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/Pipe.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Pipe.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Pipe.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 use Carp;
 use Symbol;
 
-$VERSION = "1.14";
+$VERSION = "1.15";
 
 sub new {
     my $type = shift;
@@ -246,7 +246,7 @@
 =head1 AUTHOR
 
 Graham Barr. Currently maintained by the Perl Porters.  Please report all
-bugs to <perl5-porters at perl.org>.
+bugs to <perlbug at perl.org>.
 
 =head1 COPYRIGHT
 


Property changes on: vendor/perl/dist/dist/IO/lib/IO/Pipe.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/Poll.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Poll.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Poll.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
 our(@ISA, @EXPORT_OK, @EXPORT, $VERSION);
 
 @ISA = qw(Exporter);
-$VERSION = "0.08";
+$VERSION = "0.09";
 
 @EXPORT = qw( POLLIN
 	      POLLOUT
@@ -198,7 +198,7 @@
 =head1 AUTHOR
 
 Graham Barr. Currently maintained by the Perl Porters.  Please report all
-bugs to <perl5-porters at perl.org>.
+bugs to <perlbug at perl.org>.
 
 =head1 COPYRIGHT
 


Property changes on: vendor/perl/dist/dist/IO/lib/IO/Poll.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/lib/IO/Seekable.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Seekable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Seekable.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/lib/IO/Seekable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/Select.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Select.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Select.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
 use     vars qw($VERSION @ISA);
 require Exporter;
 
-$VERSION = "1.20";
+$VERSION = "1.21";
 
 @ISA = qw(Exporter); # This is only so we can do version checking
 
@@ -375,7 +375,7 @@
 =head1 AUTHOR
 
 Graham Barr. Currently maintained by the Perl Porters.  Please report all
-bugs to <perl5-porters at perl.org>.
+bugs to <perlbug at perl.org>.
 
 =head1 COPYRIGHT
 


Property changes on: vendor/perl/dist/dist/IO/lib/IO/Select.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,7 +15,7 @@
 use Errno;
 
 @ISA = qw(IO::Socket);
-$VERSION = "1.31";
+$VERSION = "1.33";
 
 my $EINVAL = exists(&Errno::EINVAL) ? Errno::EINVAL() : 1;
 
@@ -338,22 +338,23 @@
 C<IO::Socket::INET> provides.
 
 
-    PeerAddr	Remote host address          <hostname>[:<port>]
-    PeerHost	Synonym for PeerAddr
-    PeerPort	Remote port or service       <service>[(<no>)] | <no>
-    LocalAddr	Local host bind	address      hostname[:port]
-    LocalHost	Synonym for LocalAddr
-    LocalPort	Local host bind	port         <service>[(<no>)] | <no>
-    Proto	Protocol name (or number)    "tcp" | "udp" | ...
-    Type	Socket type                  SOCK_STREAM | SOCK_DGRAM | ...
-    Listen	Queue size for listen
-    ReuseAddr	Set SO_REUSEADDR before binding
-    Reuse	Set SO_REUSEADDR before binding (deprecated, prefer ReuseAddr)
-    ReusePort	Set SO_REUSEPORT before binding
-    Broadcast	Set SO_BROADCAST before binding
-    Timeout	Timeout	value for various operations
-    MultiHomed  Try all addresses for multi-homed hosts
-    Blocking    Determine if connection will be blocking mode
+ PeerAddr    Remote host address          <hostname>[:<port>]
+ PeerHost    Synonym for PeerAddr
+ PeerPort    Remote port or service       <service>[(<no>)] | <no>
+ LocalAddr   Local host bind address      hostname[:port]
+ LocalHost   Synonym for LocalAddr
+ LocalPort   Local host bind port         <service>[(<no>)] | <no>
+ Proto       Protocol name (or number)    "tcp" | "udp" | ...
+ Type        Socket type              SOCK_STREAM | SOCK_DGRAM | ...
+ Listen      Queue size for listen
+ ReuseAddr   Set SO_REUSEADDR before binding
+ Reuse       Set SO_REUSEADDR before binding (deprecated,
+                                              prefer ReuseAddr)
+ ReusePort   Set SO_REUSEPORT before binding
+ Broadcast   Set SO_BROADCAST before binding
+ Timeout     Timeout value for various operations
+ MultiHomed  Try all addresses for multi-homed hosts
+ Blocking    Determine if connection will be blocking mode
 
 If C<Listen> is defined then a listen socket is created, else if the
 socket type, which is derived from the protocol, is SOCK_STREAM then
@@ -397,12 +398,13 @@
 
    $sock = IO::Socket::INET->new('127.0.0.1:25');
 
-   $sock = IO::Socket::INET->new(PeerPort  => 9999,
-                                 PeerAddr  => inet_ntoa(INADDR_BROADCAST),
-                                 Proto     => udp,    
-                                 LocalAddr => 'localhost',
-                                 Broadcast => 1 ) 
-                             or die "Can't bind : $@\n";
+   $sock = IO::Socket::INET->new(
+                           PeerPort  => 9999,
+                           PeerAddr  => inet_ntoa(INADDR_BROADCAST),
+                           Proto     => udp,    
+                           LocalAddr => 'localhost',
+                           Broadcast => 1 ) 
+                       or die "Can't bind : $@\n";
 
  NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
 
@@ -453,7 +455,7 @@
 =head1 AUTHOR
 
 Graham Barr. Currently maintained by the Perl Porters.  Please report all
-bugs to <perl5-porters at perl.org>.
+bugs to <perlbug at perl.org>.
 
 =head1 COPYRIGHT
 


Property changes on: vendor/perl/dist/dist/IO/lib/IO/Socket/INET.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 use Carp;
 
 @ISA = qw(IO::Socket);
-$VERSION = "1.23";
+$VERSION = "1.24";
 $VERSION = eval $VERSION;
 
 IO::Socket::UNIX->register_domain( AF_UNIX );
@@ -132,7 +132,7 @@
 =head1 AUTHOR
 
 Graham Barr. Currently maintained by the Perl Porters.  Please report all
-bugs to <perl5-porters at perl.org>.
+bugs to <perlbug at perl.org>.
 
 =head1 COPYRIGHT
 


Property changes on: vendor/perl/dist/dist/IO/lib/IO/Socket/UNIX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/lib/IO/Socket.pm
===================================================================
--- vendor/perl/dist/dist/IO/lib/IO/Socket.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/lib/IO/Socket.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,4 @@
+
 # IO::Socket.pm
 #
 # Copyright (c) 1997-8 Graham Barr <gbarr at pobox.com>. All rights reserved.
@@ -23,7 +24,7 @@
 
 @ISA = qw(IO::Handle);
 
-$VERSION = "1.32";
+$VERSION = "1.36";
 
 @EXPORT_OK = qw(sockatmark);
 
@@ -118,7 +119,18 @@
 	    my $sel = new IO::Select $sock;
 
 	    undef $!;
-	    if (!$sel->can_write($timeout)) {
+	    my($r,$w,$e) = IO::Select::select(undef,$sel,$sel,$timeout);
+	    if(@$e[0]) {
+		# Windows return from select after the timeout in case of
+		# WSAECONNREFUSED(10061) if exception set is not used.
+		# This behavior is different from Linux.
+		# Using the exception
+		# set we now emulate the behavior in Linux
+		#    - Karthik Rajagopalan
+		$err = $sock->getsockopt(SOL_SOCKET,SO_ERROR);
+		$@ = "connect: $err";
+	    }
+	    elsif(!@$w[0]) {
 		$err = $! || (exists &Errno::ETIMEDOUT ? &Errno::ETIMEDOUT : 1);
 		$@ = "connect: timeout";
 	    }
@@ -155,7 +167,7 @@
     my $sock = shift;
 
     return $sock->SUPER::blocking(@_)
-        if $^O ne 'MSWin32';
+        if $^O ne 'MSWin32' && $^O ne 'VMS';
 
     # Windows handles blocking differently
     #
@@ -237,6 +249,8 @@
     $peer = accept($new,$sock)
 	or return;
 
+    ${*$new}{$_} = ${*$sock}{$_} for qw( io_socket_domain io_socket_type io_socket_proto );
+
     return wantarray ? ($new, $peer)
     	      	     : $new;
 }
@@ -337,6 +351,11 @@
 sub sockdomain {
     @_ == 1 or croak 'usage: $sock->sockdomain()';
     my $sock = shift;
+    if (!defined(${*$sock}{'io_socket_domain'})) {
+	my $addr = $sock->sockname();
+	${*$sock}{'io_socket_domain'} = sockaddr_family($addr)
+	    if (defined($addr));
+    }
     ${*$sock}{'io_socket_domain'};
 }
 
@@ -343,6 +362,8 @@
 sub socktype {
     @_ == 1 or croak 'usage: $sock->socktype()';
     my $sock = shift;
+    ${*$sock}{'io_socket_type'} = $sock->sockopt(Socket::SO_TYPE)
+	if (!defined(${*$sock}{'io_socket_type'}) && defined(eval{Socket::SO_TYPE}));
     ${*$sock}{'io_socket_type'}
 }
 
@@ -349,6 +370,8 @@
 sub protocol {
     @_ == 1 or croak 'usage: $sock->protocol()';
     my($sock) = @_;
+    ${*$sock}{'io_socket_proto'} = $sock->sockopt(Socket::SO_PROTOCOL)
+	if (!defined(${*$sock}{'io_socket_proto'}) && defined(eval{Socket::SO_PROTOCOL}));
     ${*$sock}{'io_socket_proto'};
 }
 
@@ -517,6 +540,12 @@
 
 =back
 
+=head1 LIMITATIONS
+
+On some systems, for an IO::Socket object created with new_from_fd(),
+or created with accept() from such an object, the protocol(),
+sockdomain() and socktype() methods may return undef.
+
 =head1 SEE ALSO
 
 L<Socket>, L<IO::Handle>, L<IO::Socket::INET>, L<IO::Socket::UNIX>
@@ -524,7 +553,7 @@
 =head1 AUTHOR
 
 Graham Barr.  atmark() by Lincoln Stein.  Currently maintained by the
-Perl Porters.  Please report all bugs to <perl5-porters at perl.org>.
+Perl Porters.  Please report all bugs to <perlbug at perl.org>.
 
 =head1 COPYRIGHT
 


Property changes on: vendor/perl/dist/dist/IO/lib/IO/Socket.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/poll.c
===================================================================
--- vendor/perl/dist/dist/IO/poll.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/poll.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/poll.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/poll.h
===================================================================
--- vendor/perl/dist/dist/IO/poll.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/poll.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/poll.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/t/IO.t
===================================================================
--- vendor/perl/dist/dist/IO/t/IO.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/IO.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,8 +21,10 @@
 
 	my @load;
 	local $^W;
+	my $xsl = \&XSLoader::load;
 	local *XSLoader::load = sub {
 		push @load, \@_;
+		&$xsl(@_);
 	};
 
 	# use_ok() calls import, which we do not want to do
@@ -47,6 +49,7 @@
 
 {
     local $^W = 0;
+    no if $^V >= 5.17.4, warnings => "deprecated";
     IO->import();
     is( $warn, '', "... import default, should not warn");
     $warn = '' ;


Property changes on: vendor/perl/dist/dist/IO/t/IO.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_const.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_const.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_const.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_const.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_dir.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_dir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_dir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_dir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_dup.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_dup.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_dup.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_dup.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_file.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_file_export.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_file_export.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_file_export.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_file_export.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_linenum.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_linenum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_linenum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_linenum.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_multihomed.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_multihomed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_multihomed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_multihomed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_pipe.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_pipe.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_pipe.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_pipe.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_poll.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_poll.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_poll.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_poll.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_sel.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_sel.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_sel.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_sel.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_sock.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_sock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_sock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_sock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/t/io_taint.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_taint.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,10 @@
 use Config;
 
 BEGIN {
-    if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS') {
+    if ($ENV{PERL_CORE}
+        and $Config{'extensions'} !~ /\bIO\b/ && $^O ne 'VMS'
+        or not ${^TAINT}) # not ${^TAINT} => perl without taint support
+    {
 	print "1..0\n";
 	exit 0;
     }


Property changes on: vendor/perl/dist/dist/IO/t/io_taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_tell.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_tell.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_tell.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_tell.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_udp.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_udp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_udp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_udp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/IO/t/io_unix.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_unix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_unix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/IO/t/io_unix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/t/io_utf8.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,8 +9,10 @@
 
 require($ENV{PERL_CORE} ? "../../t/test.pl" : "./t/test.pl");
 
-plan(tests => 5);
+my $buf_size_count = 8200;      # Above default buffer size of 8192
 
+plan(tests => 5 + 2 * $buf_size_count);
+
 my $io;
 
 use_ok('IO::File');
@@ -24,6 +26,15 @@
 $io = IO::File->new;
 ok($io->open("io_utf8", "<:utf8"), "open <:utf8");
 is(ord(<$io>), 256, "readline chr(256)");
+
+for my $i (0 .. $buf_size_count - 1) {
+    is($io->ungetc($i), $i, "ungetc of $i returns itself");
+}
+
+for (my $i = $buf_size_count - 1; $i >= 0; $i--) {
+    is(ord($io->getc()), $i, "getc gets back $i");
+}
+
 undef $io;
 
 END {


Property changes on: vendor/perl/dist/dist/IO/t/io_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/IO/t/io_xs.t
===================================================================
--- vendor/perl/dist/dist/IO/t/io_xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/IO/t/io_xs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,16 +15,16 @@
     }
 }
 
+use Test::More tests => 5;
 use IO::File;
 use IO::Seekable;
 
-print "1..4\n";
-
-$x = new_tmpfile IO::File or print "not ";
-print "ok 1\n";
+$x = new_tmpfile IO::File;
+ok($x, "new_tmpfile");
 print $x "ok 2\n";
 $x->seek(0,SEEK_SET);
-print <$x>;
+my $line = <$x>;
+is($line, "ok 2\n", "check we can write to the tempfile");
 
 $x->seek(0,SEEK_SET);
 print $x "not ok 3\n";
@@ -32,9 +32,23 @@
 print $x "ok 3\n";
 $x->flush;
 $x->setpos($p);
-print scalar <$x>;
+$line = <$x>;
+is($line, "ok 3\n", "test getpos/setpos");
 
 $! = 0;
 $x->setpos(undef);
-print $! ? "ok 4 # $!\n" : "not ok 4\n";
+ok($!, "setpos(undef) makes errno non-zero");
 
+SKIP:
+{ # [perl #64772] IO::Handle->sync fails on an O_RDONLY descriptor
+    $Config{d_fsync}
+       or skip "No fsync", 1;
+    $^O eq 'aix'
+      and skip "fsync() documented to fail on non-writable handles on AIX", 1;
+    $^O eq 'cygwin'
+      and skip "fsync() on cygwin uses FlushFileBuffers which requires a writable handle", 1;
+    open my $fh, "<", "t/io_xs.t"
+       or skip "Cannot open t/io_xs.t read-only: $!", 1;
+    ok($fh->sync, "sync to a read only handle")
+	or diag "sync(): ", $!;
+}


Property changes on: vendor/perl/dist/dist/IO/t/io_xs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Locale-Maketext/ChangeLog
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,34 @@
 Revision history for Perl suite Locale::Maketext
 
+2012-12-04
+    * Fix misparsing of maketext strings.
+
+2012-11-22
+    * Fix hash order dependency bug in tests
+
+2012-01-14
+    * Minor POD documentation update to sync with upstream blead.
+
+2011-12-23
+    * No changes. Production release after CPAN testers cleared.
+
+2011-12-14
+    * Update to 1.19_01 from upstream blead for release testing
+
+    Fix broken URLs in dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod for RFCs
+
+    Keep verbatim pod in various dist/* pods within 79 cols
+
+2011-05-25
+    * Update to 1.19 from upstream blead
+
+    [perl #89896] Locale::Maketext test failure
+    when environment has variable containing unbalanced brackets
+
+    Suppress "Name used only once" warnings.
+
+    [perl #81888] Fix typos (spelling errors) in dist/*
+
 2010-10-20
     * Release 1.17
 


Property changes on: vendor/perl/dist/dist/Locale-Maketext/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/README
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Cookbook.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Guts.pm
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Guts.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Guts.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use Locale::Maketext;
 
-our $VERSION = '1.17';
+our $VERSION = '1.20';
 
 =head1 NAME
 


Property changes on: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/Guts.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/GutsLoader.pm
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/GutsLoader.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/GutsLoader.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use Locale::Maketext;
 
-our $VERSION = '1.17';
+our $VERSION = '1.20';
 
 sub zorp { return scalar @_ }
 


Property changes on: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/GutsLoader.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -750,12 +750,12 @@
 
 Alvestrand, Harald Tveit.  1995.  I<RFC 1766: Tags for the
 Identification of Languages.>
-C<ftp://ftp.isi.edu/in-notes/rfc1766.txt>
+C<http://www.ietf.org/rfc/rfc1766.txt>
 [Now see RFC 3066.]
 
 Callon, Ross, editor.  1996.  I<RFC 1925: The Twelve
 Networking Truths.>
-C<ftp://ftp.isi.edu/in-notes/rfc1925.txt>
+C<http://www.ietf.org/rfc/rfc1925.txt>
 
 Drepper, Ulrich, Peter Miller,
 and FranE<ccedil>ois Pinard.  1995-2001.  GNU


Property changes on: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext/TPJ13.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,7 +27,7 @@
 }
 
 
-$VERSION = '1.19';
+$VERSION = '1.23';
 @ISA = ();
 
 $MATCH_SUPERS = 1;
@@ -625,21 +625,9 @@
                         # 0-length method name means to just interpolate:
                         push @code, ' (';
                     }
-                    elsif($m =~ /^\w+(?:\:\:\w+)*$/s
-                            and $m !~ m/(?:^|\:)\d/s
-                        # exclude starting a (sub)package or symbol with a digit
+                    elsif($m =~ /^\w+$/s
+                        # exclude anything fancy, especially fully-qualified module names
                     ) {
-                        # Yes, it even supports the demented (and undocumented?)
-                        #  $obj->Foo::bar(...) syntax.
-                        $target->_die_pointing(
-                            $string_to_compile, q{Can't use "SUPER::" in a bracket-group method},
-                            2 + length($c[-1])
-                        )
-                        if $m =~ m/^SUPER::/s;
-                        # Because for SUPER:: to work, we'd have to compile this into
-                        #  the right package, and that seems just not worth the bother,
-                        #  unless someone convinces me otherwise.
-
                         push @code, ' $_[0]->' . $m . '(';
                     }
                     else {
@@ -693,7 +681,9 @@
             elsif(substr($1,0,1) ne '~') {
                 # it's stuff not containing "~" or "[" or "]"
                 # i.e., a literal blob
-                $c[-1] .= $1;
+                my $text = $1;
+                $text =~ s/\\/\\\\/g;
+                $c[-1] .= $text;
 
             }
             elsif($1 eq '~~') { # "~~"
@@ -731,7 +721,9 @@
             else {
                 # It's a "~X" where X is not a special character.
                 # Consider it a literal ~ and X.
-                $c[-1] .= $1;
+                my $text = $1;
+                $text =~ s/\\/\\\\/g;
+                $c[-1] .= $text;
             }
         }
     }


Property changes on: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -166,7 +166,8 @@
     my $lh;
     if($chosen_language) {
       $lh = $class->get_handle($chosen_language)
-       || die "No language handle for \"$chosen_language\" or the like";
+       || die "No language handle for \"$chosen_language\""
+            . " or the like";
     } else {
       # Config file missing, maybe?
       $lh = $class->get_handle()
@@ -385,6 +386,14 @@
 Note that numf is called by quant for stringifying all quantifying
 numbers.
 
+=item $language->numerate($number, $singular, $plural, $negative)
+
+This returns the given noun form which is appropriate for the quantity
+C<$number> according to this language's conventions.  C<numerate> is
+used internally by C<quant> to quantify nouns.  Use it directly --
+usually from bracket notation -- to avoid C<quant>'s implicit call to
+C<numf> and output of a numeric quantity.
+
 =item $language->sprintf($format, @items)
 
 This is just a wrapper around Perl's normal C<sprintf> function.
@@ -434,10 +443,6 @@
 any point on which this documentation is unclear.>  This documentation
 is vastly longer than the module source itself.
 
-=over
-
-=back
-
 =head1 LANGUAGE CLASS HIERARCHIES
 
 These are Locale::Maketext's assumptions about the class
@@ -690,7 +695,7 @@
       ")!\n",
   }
   # to be called by $lh->maketext(KEY, params...)
-   
+
 In other words, text outside bracket groups is turned into string
 literals.  Text in brackets is rather more complex, and currently follows
 these rules:
@@ -990,10 +995,10 @@
 
   # Set to a method name:
   $lh->fail_with( 'failure_method' );
-  
+
   # Set to nothing (i.e., so failure throws a plain exception)
   $lh->fail_with( undef );
-  
+
   # Get the current value
   $handler = $lh->fail_with();
 
@@ -1106,10 +1111,10 @@
   package Projname::L10N;
   use base qw(Locale::Maketext);
   ...any methods you might want all your languages to share...
-  
+
   # And, assuming you want the base class to be an _AUTO lexicon,
   # as is discussed a few sections up:
-  
+
   1;
 
 =item *
@@ -1244,7 +1249,7 @@
 
 But for other languages (as is discussed at length
 in L<Locale::Maketext::TPJ13|Locale::Maketext::TPJ13>), simple
-C<quant>/C<numerify> is not enough.  For the particularly problematic
+C<quant>/C<numf> is not enough.  For the particularly problematic
 Slavic languages, what you may need is a method which you provide
 with the number, the citation form of the noun to quantify, and
 the case and gender that the sentence's syntax projects onto that


Property changes on: vendor/perl/dist/dist/Locale-Maketext/lib/Locale/Maketext.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/01_about_verbose.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/01_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/01_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/01_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/04_use_external_lex_cache.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/04_use_external_lex_cache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/04_use_external_lex_cache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/04_use_external_lex_cache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Locale-Maketext/t/09_compile.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/09_compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/09_compile.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,12 +8,15 @@
 use Scalar::Util qw(tainted);
 use Locale::Maketext;
 
-my @ENV_values = values %ENV;
-my $tainted_value;
-do { $tainted_value = shift @ENV_values  } while(!$tainted_value || ref $tainted_value);
+my @ENV_values = map { !/^PERL/ && defined($ENV{$_}) && !ref($ENV{$_}) && $ENV{$_} ? $ENV{$_} : () } sort keys %ENV;
+die "No %ENV vars to test?" if !@ENV_values;
+
+my ($tainted_value)= @ENV_values;
 $tainted_value =~ s/([\[\]])/~$1/g;
 
-ok(tainted($tainted_value), "\$tainted_value is tainted") or die('huh... %ENV has no entries? I don\'t know how to test taint without it');
+# If ${^TAINT} is not set despite -T, this perl doesn't have taint support
+ok(!${^TAINT} || tainted($tainted_value), "\$tainted_value is tainted")
+    or die("Could not find tainted value to use for testing (maybe fix the test?)");
 
 my $result = Locale::Maketext::_compile("hello [_1]", $tainted_value);
 


Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/09_compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/10_make.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/10_make.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/10_make.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/10_make.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/20_get.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/20_get.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/20_get.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/20_get.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/30_eval_dollar_at.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/30_eval_dollar_at.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/30_eval_dollar_at.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/30_eval_dollar_at.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/40_super.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/40_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/40_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/40_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/50_super.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/50_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/50_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/50_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/60_super.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/60_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/60_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/60_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/70_fail_auto.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Locale-Maketext/t/90_utf8.t
===================================================================
--- vendor/perl/dist/dist/Locale-Maketext/t/90_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Locale-Maketext/t/90_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Locale-Maketext/t/90_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/lib/Math/BigFloat.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/lib/Math/BigFloat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/lib/Math/BigFloat.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 #   _a	: accuracy
 #   _p	: precision
 
-$VERSION = '1.993';
+$VERSION = '1.998';
 require 5.006002;
 
 require Exporter;
@@ -437,10 +437,10 @@
     
 sub numify 
   {
-  # Make a number from a BigFloat object
-  # simple return a string and let Perl's atoi()/atof() handle the rest
+  # Convert a Perl scalar number from a BigFloat object.
+  # Create a string and let Perl's atoi()/atof() handle the rest.
   my ($self,$x) = ref($_[0]) ? (undef,$_[0]) : objectify(1, at _);
-  $x->bsstr(); 
+  return 0 + $x->bsstr(); 
   }
 
 ##############################################################################
@@ -3816,122 +3816,122 @@
 
 =head1 SYNOPSIS
 
-  use Math::BigFloat;
+ use Math::BigFloat;
 
-  # Number creation
-  my $x = Math::BigFloat->new($str);	# defaults to 0
-  my $y = $x->copy();			# make a true copy
-  my $nan  = Math::BigFloat->bnan();	# create a NotANumber
-  my $zero = Math::BigFloat->bzero();	# create a +0
-  my $inf = Math::BigFloat->binf();	# create a +inf
-  my $inf = Math::BigFloat->binf('-');	# create a -inf
-  my $one = Math::BigFloat->bone();	# create a +1
-  my $mone = Math::BigFloat->bone('-');	# create a -1
+ # Number creation
+ my $x = Math::BigFloat->new($str);	# defaults to 0
+ my $y = $x->copy();			# make a true copy
+ my $nan  = Math::BigFloat->bnan();	# create a NotANumber
+ my $zero = Math::BigFloat->bzero();	# create a +0
+ my $inf = Math::BigFloat->binf();	# create a +inf
+ my $inf = Math::BigFloat->binf('-');	# create a -inf
+ my $one = Math::BigFloat->bone();	# create a +1
+ my $mone = Math::BigFloat->bone('-');	# create a -1
 
-  my $pi = Math::BigFloat->bpi(100);	# PI to 100 digits
+ my $pi = Math::BigFloat->bpi(100);	# PI to 100 digits
 
-  # the following examples compute their result to 100 digits accuracy:
-  my $cos  = Math::BigFloat->new(1)->bcos(100);		# cosinus(1)
-  my $sin  = Math::BigFloat->new(1)->bsin(100);		# sinus(1)
-  my $atan = Math::BigFloat->new(1)->batan(100);	# arcus tangens(1)
+ # the following examples compute their result to 100 digits accuracy:
+ my $cos  = Math::BigFloat->new(1)->bcos(100);	      # cosinus(1)
+ my $sin  = Math::BigFloat->new(1)->bsin(100);	      # sinus(1)
+ my $atan = Math::BigFloat->new(1)->batan(100);	      # arcus tangens(1)
 
-  my $atan2 = Math::BigFloat->new(  1 )->batan2( 1 ,100); # batan(1)
-  my $atan2 = Math::BigFloat->new(  1 )->batan2( 8 ,100); # batan(1/8)
-  my $atan2 = Math::BigFloat->new( -2 )->batan2( 1 ,100); # batan(-2)
+ my $atan2 = Math::BigFloat->new(  1 )->batan2( 1 ,100); # batan(1)
+ my $atan2 = Math::BigFloat->new(  1 )->batan2( 8 ,100); # batan(1/8)
+ my $atan2 = Math::BigFloat->new( -2 )->batan2( 1 ,100); # batan(-2)
 
-  # Testing
-  $x->is_zero();		# true if arg is +0
-  $x->is_nan();			# true if arg is NaN
-  $x->is_one();			# true if arg is +1
-  $x->is_one('-');		# true if arg is -1
-  $x->is_odd();			# true if odd, false for even
-  $x->is_even();		# true if even, false for odd
-  $x->is_pos();			# true if >= 0
-  $x->is_neg();			# true if <  0
-  $x->is_inf(sign);		# true if +inf, or -inf (default is '+')
+ # Testing
+ $x->is_zero();		 # true if arg is +0
+ $x->is_nan();		 # true if arg is NaN
+ $x->is_one();		 # true if arg is +1
+ $x->is_one('-');	 # true if arg is -1
+ $x->is_odd();		 # true if odd, false for even
+ $x->is_even();		 # true if even, false for odd
+ $x->is_pos();		 # true if >= 0
+ $x->is_neg();		 # true if <  0
+ $x->is_inf(sign);	 # true if +inf, or -inf (default is '+')
 
-  $x->bcmp($y);			# compare numbers (undef,<0,=0,>0)
-  $x->bacmp($y);		# compare absolutely (undef,<0,=0,>0)
-  $x->sign();			# return the sign, either +,- or NaN
-  $x->digit($n);		# return the nth digit, counting from right
-  $x->digit(-$n);		# return the nth digit, counting from left 
+ $x->bcmp($y);		 # compare numbers (undef,<0,=0,>0)
+ $x->bacmp($y);		 # compare absolutely (undef,<0,=0,>0)
+ $x->sign();		 # return the sign, either +,- or NaN
+ $x->digit($n);		 # return the nth digit, counting from right
+ $x->digit(-$n);	 # return the nth digit, counting from left 
 
-  # The following all modify their first argument. If you want to preserve
-  # $x, use $z = $x->copy()->bXXX($y); See under L<CAVEATS> for why this is
-  # necessary when mixing $a = $b assignments with non-overloaded math.
+ # The following all modify their first argument. If you want to pre-
+ # serve $x, use $z = $x->copy()->bXXX($y); See under L</CAVEATS> for
+ # necessary when mixing $a = $b assignments with non-overloaded math.
 
-  # set 
-  $x->bzero();			# set $i to 0
-  $x->bnan();			# set $i to NaN
-  $x->bone();                   # set $x to +1
-  $x->bone('-');                # set $x to -1
-  $x->binf();                   # set $x to inf
-  $x->binf('-');                # set $x to -inf
+ # set 
+ $x->bzero();		 # set $i to 0
+ $x->bnan();		 # set $i to NaN
+ $x->bone();		 # set $x to +1
+ $x->bone('-');		 # set $x to -1
+ $x->binf();		 # set $x to inf
+ $x->binf('-');		 # set $x to -inf
 
-  $x->bneg();			# negation
-  $x->babs();			# absolute value
-  $x->bnorm();			# normalize (no-op)
-  $x->bnot();			# two's complement (bit wise not)
-  $x->binc();			# increment x by 1
-  $x->bdec();			# decrement x by 1
+ $x->bneg();		 # negation
+ $x->babs();		 # absolute value
+ $x->bnorm();		 # normalize (no-op)
+ $x->bnot();		 # two's complement (bit wise not)
+ $x->binc();		 # increment x by 1
+ $x->bdec();		 # decrement x by 1
 
-  $x->badd($y);			# addition (add $y to $x)
-  $x->bsub($y);			# subtraction (subtract $y from $x)
-  $x->bmul($y);			# multiplication (multiply $x by $y)
-  $x->bdiv($y);			# divide, set $x to quotient
-				# return (quo,rem) or quo if scalar
+ $x->badd($y);		 # addition (add $y to $x)
+ $x->bsub($y);		 # subtraction (subtract $y from $x)
+ $x->bmul($y);		 # multiplication (multiply $x by $y)
+ $x->bdiv($y);		 # divide, set $x to quotient
+			 # return (quo,rem) or quo if scalar
 
-  $x->bmod($y);			# modulus ($x % $y)
-  $x->bpow($y);			# power of arguments ($x ** $y)
-  $x->bmodpow($exp,$mod);	# modular exponentiation (($num**$exp) % $mod))
-  $x->blsft($y, $n);		# left shift by $y places in base $n
-  $x->brsft($y, $n);		# right shift by $y places in base $n
-				# returns (quo,rem) or quo if in scalar context
+ $x->bmod($y);		 # modulus ($x % $y)
+ $x->bpow($y);		 # power of arguments ($x ** $y)
+ $x->bmodpow($exp,$mod); # modular exponentiation (($num**$exp) % $mod))
+ $x->blsft($y, $n);	 # left shift by $y places in base $n
+ $x->brsft($y, $n);	 # right shift by $y places in base $n
+			 # returns (quo,rem) or quo if in scalar context
 
-  $x->blog();			# logarithm of $x to base e (Euler's number)
-  $x->blog($base);		# logarithm of $x to base $base (f.i. 2)
-  $x->bexp();			# calculate e ** $x where e is Euler's number
+ $x->blog();		 # logarithm of $x to base e (Euler's number)
+ $x->blog($base);	 # logarithm of $x to base $base (f.i. 2)
+ $x->bexp();		 # calculate e ** $x where e is Euler's number
 
-  $x->band($y);			# bit-wise and
-  $x->bior($y);			# bit-wise inclusive or
-  $x->bxor($y);			# bit-wise exclusive or
-  $x->bnot();			# bit-wise not (two's complement)
+ $x->band($y);		 # bit-wise and
+ $x->bior($y);		 # bit-wise inclusive or
+ $x->bxor($y);		 # bit-wise exclusive or
+ $x->bnot();		 # bit-wise not (two's complement)
 
-  $x->bsqrt();			# calculate square-root
-  $x->broot($y);		# $y'th root of $x (e.g. $y == 3 => cubic root)
-  $x->bfac();			# factorial of $x (1*2*3*4*..$x)
+ $x->bsqrt();		 # calculate square-root
+ $x->broot($y);		 # $y'th root of $x (e.g. $y == 3 => cubic root)
+ $x->bfac();		 # factorial of $x (1*2*3*4*..$x)
 
-  $x->bround($N); 		# accuracy: preserve $N digits
-  $x->bfround($N);		# precision: round to the $Nth digit
+ $x->bround($N); 	 # accuracy: preserve $N digits
+ $x->bfround($N);	 # precision: round to the $Nth digit
 
-  $x->bfloor();			# return integer less or equal than $x
-  $x->bceil();			# return integer greater or equal than $x
+ $x->bfloor();		 # return integer less or equal than $x
+ $x->bceil();		 # return integer greater or equal than $x
 
   # The following do not modify their arguments:
 
-  bgcd(@values);		# greatest common divisor
-  blcm(@values);		# lowest common multiplicator
+ bgcd(@values);		 # greatest common divisor
+ blcm(@values);		 # lowest common multiplicator
 
-  $x->bstr();			# return string
-  $x->bsstr();			# return string in scientific notation
+ $x->bstr();		 # return string
+ $x->bsstr();		 # return string in scientific notation
 
-  $x->as_int();			# return $x as BigInt 
-  $x->exponent();		# return exponent as BigInt
-  $x->mantissa();		# return mantissa as BigInt
-  $x->parts();			# return (mantissa,exponent) as BigInt
+ $x->as_int();		 # return $x as BigInt 
+ $x->exponent();	 # return exponent as BigInt
+ $x->mantissa();	 # return mantissa as BigInt
+ $x->parts();		 # return (mantissa,exponent) as BigInt
 
-  $x->length();			# number of digits (w/o sign and '.')
-  ($l,$f) = $x->length();	# number of digits, and length of fraction
+ $x->length();		 # number of digits (w/o sign and '.')
+ ($l,$f) = $x->length(); # number of digits, and length of fraction
 
-  $x->precision();		# return P of $x (or global, if P of $x undef)
-  $x->precision($n);		# set P of $x to $n
-  $x->accuracy();		# return A of $x (or global, if A of $x undef)
-  $x->accuracy($n);		# set A $x to $n
+ $x->precision();	 # return P of $x (or global, if P of $x undef)
+ $x->precision($n);	 # set P of $x to $n
+ $x->accuracy();	 # return A of $x (or global, if A of $x undef)
+ $x->accuracy($n);	 # set A $x to $n
 
-  # these get/set the appropriate global value for all BigFloat objects
-  Math::BigFloat->precision();	# Precision
-  Math::BigFloat->accuracy();	# Accuracy
-  Math::BigFloat->round_mode();	# rounding mode
+ # these get/set the appropriate global value for all BigFloat objects
+ Math::BigFloat->precision();	# Precision
+ Math::BigFloat->accuracy();	# Accuracy
+ Math::BigFloat->round_mode();	# rounding mode
 
 =head1 DESCRIPTION
 
@@ -4023,7 +4023,7 @@
 
 =head2 Accuracy vs. Precision
 
-See also: L<Rounding|Rounding>.
+See also: L<Rounding|/Rounding>.
 
 Math::BigFloat supports both precision (rounding to a certain place before or
 after the dot) and accuracy (rounding to a certain number of digits). For a
@@ -4040,8 +4040,8 @@
 be used. For historical reasons, it is called C<div_scale> and can be accessed
 via:
 
-	$d = Math::BigFloat->div_scale();		# query
-	Math::BigFloat->div_scale($n);			# set to $n digits
+	$d = Math::BigFloat->div_scale();	# query
+	Math::BigFloat->div_scale($n);		# set to $n digits
 
 The default value for C<div_scale> is 40.
 
@@ -4049,13 +4049,13 @@
 it is rounded. The rounding mode taken is either the default mode, or the one
 supplied to the operation after the I<scale>:
 
-	$x = Math::BigFloat->new(2);
-	Math::BigFloat->accuracy(5);		# 5 digits max
-	$y = $x->copy()->bdiv(3);		# will give 0.66667
-	$y = $x->copy()->bdiv(3,6);		# will give 0.666667
-	$y = $x->copy()->bdiv(3,6,undef,'odd');	# will give 0.666667
-	Math::BigFloat->round_mode('zero');
-	$y = $x->copy()->bdiv(3,6);		# will also give 0.666667
+    $x = Math::BigFloat->new(2);
+    Math::BigFloat->accuracy(5);	      # 5 digits max
+    $y = $x->copy()->bdiv(3);		      # will give 0.66667
+    $y = $x->copy()->bdiv(3,6);		      # will give 0.666667
+    $y = $x->copy()->bdiv(3,6,undef,'odd');   # will give 0.666667
+    Math::BigFloat->round_mode('zero');
+    $y = $x->copy()->bdiv(3,6);		      # will also give 0.666667
 
 Note that C<< Math::BigFloat->accuracy() >> and C<< Math::BigFloat->precision() >>
 set the global variables, and thus B<any> newly created number will be subject
@@ -4138,12 +4138,12 @@
 
 =head2 accuracy
 
-        $x->accuracy(5);                # local for $x
-        CLASS->accuracy(5);             # global for all members of CLASS
-                                        # Note: This also applies to new()!
+        $x->accuracy(5);             # local for $x
+        CLASS->accuracy(5);          # global for all members of CLASS
+                                     # Note: This also applies to new()!
 
-        $A = $x->accuracy();            # read out accuracy that affects $x
-        $A = CLASS->accuracy();         # read out global accuracy
+        $A = $x->accuracy();         # read out accuracy that affects $x
+        $A = CLASS->accuracy();      # read out global accuracy
 
 Set or get the global or local accuracy, aka how many significant digits the
 results have. If you set a global accuracy, then this also applies to new()!
@@ -4153,7 +4153,7 @@
 that number will also be rounded.
 
 In most cases, you should probably round the results explicitly using one of
-L<round()>, L<bround()> or L<bfround()> or by passing the desired accuracy
+L<Math::BigInt/round()>, L<Math::BigInt/bround()> or L<Math::BigInt/bfround()> or by passing the desired accuracy
 to the math operation as additional parameter:
 
         my $x = Math::BigInt->new(30000);
@@ -4163,18 +4163,20 @@
 
 =head2 precision()
 
-        $x->precision(-2);      # local for $x, round at the second digit right of the dot
-        $x->precision(2);       # ditto, round at the second digit left of the dot
+        $x->precision(-2);      # local for $x, round at the second
+                                # digit right of the dot
+        $x->precision(2);       # ditto, round at the second digit left
+                                # of the dot
 
         CLASS->precision(5);    # Global for all members of CLASS
                                 # This also applies to new()!
         CLASS->precision(-5);   # ditto
 
-        $P = CLASS->precision();        # read out global precision
-        $P = $x->precision();           # read out precision that affects $x
+        $P = CLASS->precision();    # read out global precision
+        $P = $x->precision();       # read out precision that affects $x
 
-Note: You probably want to use L<accuracy()> instead. With L<accuracy> you
-set the number of digits each result should have, with L<precision> you
+Note: You probably want to use L</accuracy> instead. With L</accuracy> you
+set the number of digits each result should have, with L</precision()> you
 set the place where to round!
 
 =head2 bexp()
@@ -4187,7 +4189,7 @@
 
 =head2 bnok()
 
-	$x->bnok($y);		   # x over y (binomial coefficient n over k)
+	$x->bnok($y);	# x over y (binomial coefficient n over k)
 
 Calculates the binomial coefficient n over k, also called the "choose"
 function. The result is equivalent to:
@@ -4232,7 +4234,7 @@
 	print $y->batan2($x), "\n";
 
 Calculate the arcus tanges of C<$y> divided by C<$x>, modifying $y in place.
-See also L<batan()>.
+See also L</batan()>.
 
 This method was added in v1.87 of Math::BigInt (June 2007).
 
@@ -4241,7 +4243,7 @@
 	my $x = Math::BigFloat->new(1);
 	print $x->batan(100), "\n";
 
-Calculate the arcus tanges of $x, modifying $x in place. See also L<batan2()>.
+Calculate the arcus tanges of $x, modifying $x in place. See also L</batan2()>.
 
 This method was added in v1.87 of Math::BigInt (June 2007).
 
@@ -4351,10 +4353,10 @@
 Do not try to be clever to insert some operations in between switching
 libraries:
 
-	require Math::BigFloat;
-	my $matter = Math::BigFloat->bone() + 4;	# load BigInt and Calc
-	Math::BigFloat->import( lib => 'Pari' );	# load Pari, too
-	my $anti_matter = Math::BigFloat->bone()+4;	# now use Pari
+    require Math::BigFloat;
+    my $matter = Math::BigFloat->bone() + 4;	# load BigInt and Calc
+    Math::BigFloat->import( lib => 'Pari' );	# load Pari, too
+    my $anti_matter = Math::BigFloat->bone()+4;	# now use Pari
 
 This will create objects with numbers stored in two different backend libraries,
 and B<VERY BAD THINGS> will happen when you use these together:
@@ -4378,8 +4380,8 @@
 It prints both quotient and remainder since print works in list context. Also,
 bdiv() will modify $c, so be careful. You probably want to use
 
-	print $c / 123.456,"\n";
-	print scalar $c->bdiv(123.456),"\n";  # or if you want to modify $c
+    print $c / 123.456,"\n";
+    print scalar $c->bdiv(123.456),"\n";  # or if you want to modify $c
 
 instead.
 
@@ -4424,42 +4426,44 @@
 
 =item precision() vs. accuracy()
 
-A common pitfall is to use L<precision()> when you want to round a result to
+A common pitfall is to use L</precision()> when you want to round a result to
 a certain number of digits:
 
-	use Math::BigFloat;
+    use Math::BigFloat;
 
-	Math::BigFloat->precision(4);		# does not do what you think it does
-	my $x = Math::BigFloat->new(12345);	# rounds $x to "12000"!
-	print "$x\n";				# print "12000"
-	my $y = Math::BigFloat->new(3);		# rounds $y to "0"!
-	print "$y\n";				# print "0"
-	$z = $x / $y;				# 12000 / 0 => NaN!
-	print "$z\n";
-	print $z->precision(),"\n";		# 4
+    Math::BigFloat->precision(4);	     # does not do what you
+					     # think it does
+    my $x = Math::BigFloat->new(12345);	     # rounds $x to "12000"!
+    print "$x\n";			     # print "12000"
+    my $y = Math::BigFloat->new(3);	     # rounds $y to "0"!
+    print "$y\n";			     # print "0"
+    $z = $x / $y;			     # 12000 / 0 => NaN!
+    print "$z\n";
+    print $z->precision(),"\n";		     # 4
 
-Replacing L<precision> with L<accuracy> is probably not what you want, either:
+Replacing L</precision()> with L</accuracy> is probably not what you want, either:
 
-	use Math::BigFloat;
+    use Math::BigFloat;
 
-	Math::BigFloat->accuracy(4);		# enables global rounding:
-	my $x = Math::BigFloat->new(123456);	# rounded immediately to "12350"
-	print "$x\n";				# print "123500"
-	my $y = Math::BigFloat->new(3);		# rounded to "3
-	print "$y\n";				# print "3"
-	print $z = $x->copy()->bdiv($y),"\n";	# 41170
-	print $z->accuracy(),"\n";		# 4
+    Math::BigFloat->accuracy(4);	     # enables global rounding:
+    my $x = Math::BigFloat->new(123456);     # rounded immediately
+                                             #   to "12350"
+    print "$x\n";			     # print "123500"
+    my $y = Math::BigFloat->new(3);	     # rounded to "3
+    print "$y\n";			     # print "3"
+    print $z = $x->copy()->bdiv($y),"\n";    # 41170
+    print $z->accuracy(),"\n";		     # 4
 
 What you want to use instead is:
 
-	use Math::BigFloat;
+    use Math::BigFloat;
 
-	my $x = Math::BigFloat->new(123456);	# no rounding
-	print "$x\n";				# print "123456"
-	my $y = Math::BigFloat->new(3);		# no rounding
-	print "$y\n";				# print "3"
-	print $z = $x->copy()->bdiv($y,4),"\n";	# 41150
-	print $z->accuracy(),"\n";		# undef
+    my $x = Math::BigFloat->new(123456);     # no rounding
+    print "$x\n";			     # print "123456"
+    my $y = Math::BigFloat->new(3);	     # no rounding
+    print "$y\n";			     # print "3"
+    print $z = $x->copy()->bdiv($y,4),"\n";  # 41150
+    print $z->accuracy(),"\n";		     # undef
 
 In addition to computing what you expected, the last example also does B<not>
 "taint" the result with an accuracy or precision setting, which would
@@ -4470,7 +4474,7 @@
 =head1 SEE ALSO
 
 L<Math::BigInt>, L<Math::BigRat> and L<Math::Big> as well as
-L<Math::BigInt::BitVect>, L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
+L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
 
 The pragmas L<bignum>, L<bigint> and L<bigrat> might also be of interest
 because they solve the autoupgrading/downgrading issue, at least partly.


Property changes on: vendor/perl/dist/dist/Math-BigInt/lib/Math/BigFloat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/Calc.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/Calc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/Calc.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use strict;
 # use warnings;	# dont use warnings for older Perls
 
-our $VERSION = '1.993';
+our $VERSION = '1.997';
 
 # Package to store unsigned big integers in decimal and do math with them
 


Property changes on: vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/Calc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 # use warnings;	# dont use warnings for older Perls
 use vars qw/$VERSION/;
 
-$VERSION = '1.993';
+$VERSION = '1.998';
 
 package Math::BigInt;
 
@@ -323,7 +323,7 @@
 
 =head1 SEE ALSO
 
-L<Math::BigInt>, L<Math::BigFloat>, L<Math::BigInt::BitVect>,
+L<Math::BigInt>, L<Math::BigFloat>,
 L<Math::BigInt::GMP> and L<Math::BigInt::Pari>.
 
 =cut


Property changes on: vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt/CalcEmu.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
 my $class = "Math::BigInt";
 use 5.006002;
 
-$VERSION = '1.994';
+$VERSION = '1.9991';
 
 @ISA = qw(Exporter);
 @EXPORT_OK = qw(objectify bgcd blcm); 
@@ -40,6 +40,8 @@
 # Thus inheritance of overload operators becomes possible and transparent for
 # our subclasses without the need to repeat the entire overload section there.
 
+# We register ops that are not registerable yet, so suppress warnings
+{ no warnings;
 use overload
 '='     =>      sub { $_[0]->copy(); },
 
@@ -151,6 +153,7 @@
 '""' => sub { $_[0]->bstr(); },
 '0+' => sub { $_[0]->numify(); }
 ;
+} # no warnings scope
 
 ##############################################################################
 # global constants, flags and accessory
@@ -1013,6 +1016,18 @@
   $x;
   }
 
+sub bsgn {
+    # Signum function.
+
+    my $self = shift;
+
+    return $self if $self->modify('bsgn');
+
+    return $self -> bone("+") if $self -> is_pos();
+    return $self -> bone("-") if $self -> is_neg();
+    return $self;               # zero or NaN
+}
+
 sub bneg 
   { 
   # (BINT or num_str) return BINT
@@ -2577,103 +2592,138 @@
 ##############################################################################
 # private stuff (internal use only)
 
-sub objectify
-  {
-  # check for strings, if yes, return objects instead
- 
-  # the first argument is number of args objectify() should look at it will
-  # return $count+1 elements, the first will be a classname. This is because
-  # overloaded '""' calls bstr($object,undef,undef) and this would result in
-  # useless objects being created and thrown away. So we cannot simple loop
-  # over @_. If the given count is 0, all arguments will be used.
- 
-  # If the second arg is a ref, use it as class.
-  # If not, try to use it as classname, unless undef, then use $class 
-  # (aka Math::BigInt). The latter shouldn't happen,though.
+sub objectify {
+    # Convert strings and "foreign objects" to the objects we want.
 
-  # caller:			   gives us:
-  # $x->badd(1);                => ref x, scalar y
-  # Class->badd(1,2);           => classname x (scalar), scalar x, scalar y
-  # Class->badd( Class->(1),2); => classname x (scalar), ref x, scalar y
-  # Math::BigInt::badd(1,2);    => scalar x, scalar y
-  # In the last case we check number of arguments to turn it silently into
-  # $class,1,2. (We can not take '1' as class ;o)
-  # badd($class,1) is not supported (it should, eventually, try to add undef)
-  # currently it tries 'Math::BigInt' + 1, which will not work.
+    # The first argument, $count, is the number of following arguments that
+    # objectify() looks at and converts to objects. The first is a classname.
+    # If the given count is 0, all arguments will be used.
 
-  # some shortcut for the common cases
-  # $x->unary_op();
-  return (ref($_[1]),$_[1]) if (@_ == 2) && ($_[0]||0 == 1) && ref($_[1]);
+    # After the count is read, objectify obtains the name of the class to which
+    # the following arguments are converted. If the second argument is a
+    # reference, use the reference type as the class name. Otherwise, if it is
+    # a string that looks like a class name, use that. Otherwise, use $class.
 
-  my $count = abs(shift || 0);
-  
-  my (@a,$k,$d);		# resulting array, temp, and downgrade 
-  if (ref $_[0])
-    {
-    # okay, got object as first
-    $a[0] = ref $_[0];
+    # Caller:                        Gives us:
+    #
+    # $x->badd(1);                => ref x, scalar y
+    # Class->badd(1,2);           => classname x (scalar), scalar x, scalar y
+    # Class->badd(Class->(1),2);  => classname x (scalar), ref x, scalar y
+    # Math::BigInt::badd(1,2);    => scalar x, scalar y
+
+    # A shortcut for the common case $x->unary_op():
+
+    return (ref($_[1]), $_[1]) if (@_ == 2) && ($_[0]||0 == 1) && ref($_[1]);
+
+    # Check the context.
+
+    unless (wantarray) {
+        require Carp;
+        Carp::croak ("${class}::objectify() needs list context");
     }
-  else
+
+    # Get the number of arguments to objectify.
+
+    my $count = shift;
+    $count ||= @_;
+
+    # Initialize the output array.
+
+    my @a = @_;
+
+    # If the first argument is a reference, use that reference type as our
+    # class name. Otherwise, if the first argument looks like a class name,
+    # then use that as our class name. Otherwise, use the default class name.
+
     {
-    # nope, got 1,2 (Class->xxx(1) => Class,1 and not supported)
-    $a[0] = $class;
-    $a[0] = shift if $_[0] =~ /^[A-Z].*::/;	# classname as first?
+        if (ref($a[0])) {               # reference?
+            unshift @a, ref($a[0]);
+            last;
+        }
+        if ($a[0] =~ /^[A-Z].*::/) {    # string with class name?
+            last;
+        }
+        unshift @a, $class;             # default class name
     }
 
-  no strict 'refs';
-  # disable downgrading, because Math::BigFLoat->foo('1.0','2.0') needs floats
-  if (defined ${"$a[0]::downgrade"})
-    {
-    $d = ${"$a[0]::downgrade"};
-    ${"$a[0]::downgrade"} = undef;
+    no strict 'refs';
+
+    # What we upgrade to, if anything.
+
+    my $up = ${"$a[0]::upgrade"};
+
+    # Disable downgrading, because Math::BigFloat -> foo('1.0','2.0') needs
+    # floats.
+
+    my $down;
+    if (defined ${"$a[0]::downgrade"}) {
+        $down = ${"$a[0]::downgrade"};
+        ${"$a[0]::downgrade"} = undef;
     }
 
-  my $up = ${"$a[0]::upgrade"};
-  # print STDERR "# Now in objectify, my class is today $a[0], count = $count\n";
-  if ($count == 0)
-    {
-    while (@_)
-      {
-      $k = shift;
-      if (!ref($k))
-        {
-        $k = $a[0]->new($k);
+    for my $i (1 .. $count) {
+        my $ref = ref $a[$i];
+
+        # If it is an object of the right class, all is fine.
+
+        if ($ref eq $a[0]) {
+            next;
         }
-      elsif (!defined $up && ref($k) ne $a[0])
-	{
-	# foreign object, try to convert to integer
-        $k->can('as_number') ?  $k = $k->as_number() : $k = $a[0]->new($k);
-	}
-      push @a,$k;
-      }
-    }
-  else
-    {
-    while ($count > 0)
-      {
-      $count--; 
-      $k = shift;
-      if (!ref($k))
-        {
-        $k = $a[0]->new($k);
+
+        # Don't do anything with undefs.
+
+        unless (defined($a[$i])) {
+            next;
         }
-      elsif (ref($k) ne $a[0] and !defined $up || ref $k ne $up)
-	{
-	# foreign object, try to convert to integer
-        $k->can('as_number') ? $k = $k->as_number() : $k = $a[0]->new($k);
-	}
-      push @a,$k;
-      }
-    push @a, at _;		# return other params, too
+
+        # Perl scalars are fed to the appropriate constructor.
+
+        unless ($ref) {
+            $a[$i] = $a[0] -> new($a[$i]);
+            next;
+        }
+
+        # Upgrading is OK, so skip further tests if the argument is upgraded.
+
+        if (defined $up && $ref eq $up) {
+            next;
+        }
+
+        # If we want a Math::BigInt, see if the object can become one.
+        # Support the old misnomer as_number().
+
+        if ($a[0] eq 'Math::BigInt') {
+            if ($a[$i] -> can('as_int')) {
+                $a[$i] = $a[$i] -> as_int();
+                next;
+            }
+            if ($a[$i] -> can('as_number')) {
+                $a[$i] = $a[$i] -> as_number();
+                next;
+            }
+        }
+
+        # If we want a Math::BigFloat, see if the object can become one.
+
+        if ($a[0] eq 'Math::BigFloat') {
+            if ($a[$i] -> can('as_float')) {
+                $a[$i] = $a[$i] -> as_float();
+                next;
+            }
+        }
+
+        # Last resort.
+
+        $a[$i] = $a[0] -> new($a[$i]);
     }
-  if (! wantarray)
-    {
-    require Carp; Carp::croak ("$class objectify needs list context");
-    }
-  ${"$a[0]::downgrade"} = $d;
-  @a;
-  }
 
+    # Reset the downgrading.
+
+    ${"$a[0]::downgrade"} = $down;
+
+    return @a;
+}
+
 sub _register_callback
   {
   my ($class,$callback) = @_;
@@ -3297,9 +3347,10 @@
   $x->digit($n);	# return the nth digit, counting from right
   $x->digit(-$n);	# return the nth digit, counting from left
 
-  # The following all modify their first argument. If you want to preserve
-  # $x, use $z = $x->copy()->bXXX($y); See under L<CAVEATS> for why this is
-  # necessary when mixing $a = $b assignments with non-overloaded math.
+  # The following all modify their first argument. If you want to pre-
+  # serve $x, use $z = $x->copy()->bXXX($y); See under L<CAVEATS> for
+  # why this is necessary when mixing $a = $b assignments with non-over-
+  # loaded math.
 
   $x->bzero();		# set $x to 0
   $x->bnan();		# set $x to NaN
@@ -3310,6 +3361,7 @@
 
   $x->bneg();		# negation
   $x->babs();		# absolute value
+  $x->bsgn();		# sign function (-1, 0, 1, or NaN)
   $x->bnorm();		# normalize (no-op in BigInt)
   $x->bnot();		# two's complement (bit wise not)
   $x->binc();		# increment $x by 1
@@ -3329,10 +3381,12 @@
   $x->bpow($y);		   # power of arguments (x ** y)
   $x->blsft($y);	   # left shift in base 2
   $x->brsft($y);	   # right shift in base 2
-			   # returns (quo,rem) or quo if in scalar context
+			   # returns (quo,rem) or quo if in sca-
+			   # lar context
   $x->blsft($y,$n);	   # left shift by $y places in base $n
   $x->brsft($y,$n);	   # right shift by $y places in base $n
-			   # returns (quo,rem) or quo if in scalar context
+			   # returns (quo,rem) or quo if in sca-
+			   # lar context
 
   $x->band($y);		   # bitwise and
   $x->bior($y);		   # bitwise inclusive or
@@ -3349,7 +3403,8 @@
   $x->blog($base);	   # logarithm of $x to base $base (f.i. 2)
   $x->bexp();		   # calculate e ** $x where e is Euler's number
 
-  $x->round($A,$P,$mode);  # round to accuracy or precision using mode $mode
+  $x->round($A,$P,$mode);  # round to accuracy or precision using
+			   # mode $mode
   $x->bround($n);	   # accuracy: preserve $n digits
   $x->bfround($n);	   # $n > 0: round $nth digits,
 			   # $n < 0: round to the $nth digit after the
@@ -3369,36 +3424,38 @@
   my $lcm = Math::BigInt::blcm(@values);
 
   $x->length();		   # return number of digits in number
-  ($xl,$f) = $x->length(); # length of number and length of fraction part,
-			   # latter is always 0 digits long for BigInts
+  ($xl,$f) = $x->length(); # length of number and length of fraction
+			   # part, latter is always 0 digits long
+			   # for BigInts
 
-  $x->exponent();	   # return exponent as BigInt
-  $x->mantissa();	   # return (signed) mantissa as BigInt
-  $x->parts();		   # return (mantissa,exponent) as BigInt
-  $x->copy();		   # make a true copy of $x (unlike $y = $x;)
-  $x->as_int();		   # return as BigInt (in BigInt: same as copy())
-  $x->numify();		   # return as scalar (might overflow!)
+  $x->exponent();	  # return exponent as BigInt
+  $x->mantissa();	  # return (signed) mantissa as BigInt
+  $x->parts();		  # return (mantissa,exponent) as BigInt
+  $x->copy();		  # make a true copy of $x (unlike $y = $x;)
+  $x->as_int();		  # return as BigInt (in BigInt: same as copy())
+  $x->numify();		  # return as scalar (might overflow!)
 
   # conversion to string (do not modify their argument)
-  $x->bstr();		   # normalized string (e.g. '3')
-  $x->bsstr();		   # norm. string in scientific notation (e.g. '3E0')
-  $x->as_hex();		   # as signed hexadecimal string with prefixed 0x
-  $x->as_bin();		   # as signed binary string with prefixed 0b
-  $x->as_oct();		   # as signed octal string with prefixed 0
+  $x->bstr();	      # normalized string (e.g. '3')
+  $x->bsstr();	      # norm. string in scientific notation (e.g. '3E0')
+  $x->as_hex();	      # as signed hexadecimal string with prefixed 0x
+  $x->as_bin();	      # as signed binary string with prefixed 0b
+  $x->as_oct();	      # as signed octal string with prefixed 0
 
 
   # precision and accuracy (see section about rounding for more)
-  $x->precision();	   # return P of $x (or global, if P of $x undef)
-  $x->precision($n);	   # set P of $x to $n
-  $x->accuracy();	   # return A of $x (or global, if A of $x undef)
-  $x->accuracy($n);	   # set A $x to $n
+  $x->precision();	 # return P of $x (or global, if P of $x undef)
+  $x->precision($n);	 # set P of $x to $n
+  $x->accuracy();	 # return A of $x (or global, if A of $x undef)
+  $x->accuracy($n);	 # set A $x to $n
 
   # Global methods
-  Math::BigInt->precision();	# get/set global P for all BigInt objects
-  Math::BigInt->accuracy(); 	# get/set global A for all BigInt objects
-  Math::BigInt->round_mode();	# get/set global round mode, one of
-				# 'even', 'odd', '+inf', '-inf', 'zero', 'trunc' or 'common'
-  Math::BigInt->config();	# return hash containing configuration
+  Math::BigInt->precision();   # get/set global P for all BigInt objects
+  Math::BigInt->accuracy();    # get/set global A for all BigInt objects
+  Math::BigInt->round_mode();  # get/set global round mode, one of
+			       # 'even', 'odd', '+inf', '-inf', 'zero',
+			       # 'trunc' or 'common'
+  Math::BigInt->config();      # return hash containing configuration
 
 =head1 DESCRIPTION
 
@@ -3453,7 +3510,7 @@
 =item Output
 
 Output values are BigInt objects (normalized), except for the methods which
-return a string (see L<SYNOPSIS>).
+return a string (see L</SYNOPSIS>).
 
 Some routines (C<is_odd()>, C<is_even()>, C<is_zero()>, C<is_one()>,
 C<is_nan()>, etc.) return true or false, while others (C<bcmp()>, C<bacmp()>)
@@ -3466,7 +3523,7 @@
 Each of the methods below (except config(), accuracy() and precision())
 accepts three additional parameters. These arguments C<$A>, C<$P> and C<$R>
 are C<accuracy>, C<precision> and C<round_mode>. Please see the section about
-L<ACCURACY and PRECISION> for more information.
+L</ACCURACY and PRECISION> for more information.
 
 =head2 config()
 
@@ -3479,33 +3536,33 @@
 loaded etc. The following hash keys are currently filled in with the
 appropriate information.
 
-	key		Description
-			Example
+	key	      Description
+		      Example
 	============================================================
-	lib		Name of the low-level math library
-			Math::BigInt::Calc
-	lib_version 	Version of low-level math library (see 'lib')
-			0.30
-	class		The class name of config() you just called
-			Math::BigInt
-	upgrade		To which class math operations might be upgraded
-			Math::BigFloat
-	downgrade	To which class math operations might be downgraded
-			undef
-	precision	Global precision
-			undef
-	accuracy	Global accuracy
-			undef
-	round_mode	Global round mode
-			even
-	version		version number of the class you used
-			1.61
-	div_scale	Fallback accuracy for div
-			40
-	trap_nan	If true, traps creation of NaN via croak()
-			1
-	trap_inf	If true, traps creation of +inf/-inf via croak()
-			1
+	lib	      Name of the low-level math library
+		      Math::BigInt::Calc
+	lib_version   Version of low-level math library (see 'lib')
+		      0.30
+	class	      The class name of config() you just called
+		      Math::BigInt
+	upgrade	      To which class math operations might be upgraded
+		      Math::BigFloat
+	downgrade     To which class math operations might be downgraded
+		      undef
+	precision     Global precision
+		      undef
+	accuracy      Global accuracy
+		      undef
+	round_mode    Global round mode
+		      even
+	version	      version number of the class you used
+		      1.61
+	div_scale     Fallback accuracy for div
+		      40
+	trap_nan      If true, traps creation of NaN via croak()
+		      1
+	trap_inf      If true, traps creation of +inf/-inf via croak()
+		      1
 
 The following values can be set by passing C<config()> a reference to a hash:
 
@@ -3514,16 +3571,18 @@
 
 Example:
 
-	$new_cfg = Math::BigInt->config( { trap_inf => 1, precision => 5 } );
+	$new_cfg = Math::BigInt->config(
+	    { trap_inf => 1, precision => 5 }
+	);
 
 =head2 accuracy()
 
-	$x->accuracy(5);		# local for $x
-	CLASS->accuracy(5);		# global for all members of CLASS
-					# Note: This also applies to new()!
+    $x->accuracy(5);	     # local for $x
+    CLASS->accuracy(5);	     # global for all members of CLASS
+    			     # Note: This also applies to new()!
 
-	$A = $x->accuracy();		# read out accuracy that affects $x
-	$A = CLASS->accuracy();		# read out global accuracy
+    $A = $x->accuracy();     # read out accuracy that affects $x
+    $A = CLASS->accuracy();  # read out global accuracy
 
 Set or get the global or local accuracy, aka how many significant digits the
 results have. If you set a global accuracy, then this also applies to new()!
@@ -3533,34 +3592,35 @@
 that number will also be rounded.
 
 In most cases, you should probably round the results explicitly using one of
-L<round()>, L<bround()> or L<bfround()> or by passing the desired accuracy
+L</round()>, L</bround()> or L</bfround()> or by passing the desired accuracy
 to the math operation as additional parameter:
 
-        my $x = Math::BigInt->new(30000);
-        my $y = Math::BigInt->new(7);
-        print scalar $x->copy()->bdiv($y, 2);		# print 4300
-        print scalar $x->copy()->bdiv($y)->bround(2);	# print 4300
+    my $x = Math::BigInt->new(30000);
+    my $y = Math::BigInt->new(7);
+    print scalar $x->copy()->bdiv($y, 2);		# print 4300
+    print scalar $x->copy()->bdiv($y)->bround(2);	# print 4300
 
-Please see the section about L<ACCURACY and PRECISION> for further details.
+Please see the section about L</ACCURACY and PRECISION> for further details.
 
 Value must be greater than zero. Pass an undef value to disable it:
 
-	$x->accuracy(undef);
-	Math::BigInt->accuracy(undef);
+    $x->accuracy(undef);
+    Math::BigInt->accuracy(undef);
 
 Returns the current accuracy. For C<< $x->accuracy() >> it will return either
 the local accuracy, or if not defined, the global. This means the return value
 represents the accuracy that will be in effect for $x:
 
-	$y = Math::BigInt->new(1234567);	# unrounded
-	print Math::BigInt->accuracy(4),"\n";	# set 4, print 4
-	$x = Math::BigInt->new(123456);		# $x will be automatically rounded!
-	print "$x $y\n";			# '123500 1234567'
-	print $x->accuracy(),"\n";		# will be 4
-	print $y->accuracy(),"\n";		# also 4, since global is 4
-	print Math::BigInt->accuracy(5),"\n";	# set to 5, print 5
-	print $x->accuracy(),"\n";		# still 4
-	print $y->accuracy(),"\n";		# 5, since global is 5
+    $y = Math::BigInt->new(1234567);	   # unrounded
+    print Math::BigInt->accuracy(4),"\n";  # set 4, print 4
+    $x = Math::BigInt->new(123456);	   # $x will be automatic-
+					   # ally rounded!
+    print "$x $y\n";			   # '123500 1234567'
+    print $x->accuracy(),"\n";		   # will be 4
+    print $y->accuracy(),"\n";		   # also 4, since global is 4
+    print Math::BigInt->accuracy(5),"\n";  # set to 5, print 5
+    print $x->accuracy(),"\n";		   # still 4
+    print $y->accuracy(),"\n";		   # 5, since global is 5
 
 Note: Works also for subclasses like Math::BigFloat. Each class has it's own
 globals separated from Math::BigInt, but it is possible to subclass
@@ -3569,18 +3629,20 @@
 
 =head2 precision()
 
-	$x->precision(-2);	# local for $x, round at the second digit right of the dot
-	$x->precision(2);	# ditto, round at the second digit left of the dot
+    $x->precision(-2);		# local for $x, round at the second
+    				# digit right of the dot
+    $x->precision(2);		# ditto, round at the second digit left
+    				# of the dot
 
-	CLASS->precision(5);	# Global for all members of CLASS
-				# This also applies to new()!
-	CLASS->precision(-5);	# ditto
+    CLASS->precision(5);	# Global for all members of CLASS
+    				# This also applies to new()!
+    CLASS->precision(-5);	# ditto
 
-	$P = CLASS->precision();	# read out global precision
-	$P = $x->precision();		# read out precision that affects $x
+    $P = CLASS->precision();	# read out global precision
+    $P = $x->precision();	# read out precision that affects $x
 
-Note: You probably want to use L<accuracy()> instead. With L<accuracy> you
-set the number of digits each result should have, with L<precision> you
+Note: You probably want to use L</accuracy()> instead. With L</accuracy()> you
+set the number of digits each result should have, with L</precision()> you
 set the place where to round!
 
 C<precision()> sets or gets the global or local precision, aka at which digit
@@ -3591,21 +3653,21 @@
 numbers have digits after the dot. In L<Math::BigFloat>, it will round all
 results to P digits after the dot.
 
-Please see the section about L<ACCURACY and PRECISION> for further details.
+Please see the section about L</ACCURACY and PRECISION> for further details.
 
 Pass an undef value to disable it:
 
-	$x->precision(undef);
-	Math::BigInt->precision(undef);
+    $x->precision(undef);
+    Math::BigInt->precision(undef);
 
 Returns the current precision. For C<< $x->precision() >> it will return either
 the local precision of $x, or if not defined, the global. This means the return
 value represents the prevision that will be in effect for $x:
 
-	$y = Math::BigInt->new(1234567);	# unrounded
-	print Math::BigInt->precision(4),"\n";	# set 4, print 4
-	$x = Math::BigInt->new(123456);		# will be automatically rounded
-	print $x;				# print "120000"!
+    $y = Math::BigInt->new(1234567);	    # unrounded
+    print Math::BigInt->precision(4),"\n";  # set 4, print 4
+    $x = Math::BigInt->new(123456);	 # will be automatically rounded
+    print $x;				    # print "120000"!
 
 Note: Works also for subclasses like L<Math::BigFloat>. Each class has its
 own globals separated from Math::BigInt, but it is possible to subclass
@@ -3645,7 +3707,7 @@
 input is accepted as decimal, hex (with leading '0x') or binary (with leading
 '0b').
 
-See L<Input> for more info on accepted input formats.
+See L</Input> for more info on accepted input formats.
 
 =head2 from_oct()
 
@@ -3714,12 +3776,12 @@
 
 =head2 is_one()/is_zero()/is_nan()/is_inf()
 
-	$x->is_zero();			# true if arg is +0
-	$x->is_nan();			# true if arg is NaN
-	$x->is_one();			# true if arg is +1
-	$x->is_one('-');		# true if arg is -1
-	$x->is_inf();			# true if +inf
-	$x->is_inf('-');		# true if -inf (sign is default '+')
+	$x->is_zero();		# true if arg is +0
+	$x->is_nan();		# true if arg is NaN
+	$x->is_one();		# true if arg is +1
+	$x->is_one('-');	# true if arg is -1
+	$x->is_inf();		# true if +inf
+	$x->is_inf('-');	# true if -inf (sign is default '+')
 
 These methods all test the BigInt for being one specific value and return
 true or false depending on the input. These are faster than doing something
@@ -3783,7 +3845,7 @@
 
 =head2 digit()
 
-	$x->digit($n);		# return the nth digit, counting from right
+	$x->digit($n);	     # return the nth digit, counting from right
 
 If C<$n> is negative, returns the digit counting from left.
 
@@ -3802,6 +3864,13 @@
 and from '-inf' to '+inf', respectively. Does nothing for NaN or positive
 numbers.
 
+=head2 bsgn()
+
+	$x->bsgn();
+
+Signum function. Set the number to -1, 0, or 1, depending on whether the
+number is negative, zero, or positive, respectivly. Does not modify NaNs.
+
 =head2 bnorm()
 
 	$x->bnorm();			# normalize (no-op)
@@ -3818,23 +3887,23 @@
 
 =head2 binc()
 
-	$x->binc();			# increment x by 1
+	$x->binc();		# increment x by 1
 
 =head2 bdec()
 
-	$x->bdec();			# decrement x by 1
+	$x->bdec();		# decrement x by 1
 
 =head2 badd()
 
-	$x->badd($y);			# addition (add $y to $x)
+	$x->badd($y);		# addition (add $y to $x)
 
 =head2 bsub()
 
-	$x->bsub($y);			# subtraction (subtract $y from $x)
+	$x->bsub($y);		# subtraction (subtract $y from $x)
 
 =head2 bmul()
 
-	$x->bmul($y);			# multiplication (multiply $x by $y)
+	$x->bmul($y);		# multiplication (multiply $x by $y)
 
 =head2 bmuladd()
 
@@ -3846,16 +3915,16 @@
 
 =head2 bdiv()
 
-	$x->bdiv($y);			# divide, set $x to quotient
-					# return (quo,rem) or quo if scalar
+	$x->bdiv($y);		# divide, set $x to quotient
+				# return (quo,rem) or quo if scalar
 
 =head2 bmod()
 
-	$x->bmod($y);			# modulus (x % y)
+	$x->bmod($y);		# modulus (x % y)
 
 =head2 bmodinv()
 
-	$x->bmodinv($mod);		# modular multiplicative inverse
+	$x->bmodinv($mod);	# modular multiplicative inverse
 
 Returns the multiplicative inverse of C<$x> modulo C<$mod>. If
 
@@ -3894,29 +3963,29 @@
 
 =head2 bpow()
 
-	$x->bpow($y);			# power of arguments (x ** y)
+	$x->bpow($y);		      # power of arguments (x ** y)
 
 =head2 blog()
 
-	$x->blog($base, $accuracy);	# logarithm of x to the base $base
+	$x->blog($base, $accuracy);   # logarithm of x to the base $base
 
 If C<$base> is not defined, Euler's number (e) is used:
 
-	print $x->blog(undef, 100);	# log(x) to 100 digits
+	print $x->blog(undef, 100);   # log(x) to 100 digits
 
 =head2 bexp()
 
-	$x->bexp($accuracy);		# calculate e ** X
+	$x->bexp($accuracy);	      # calculate e ** X
 
 Calculates the expression C<e ** $x> where C<e> is Euler's number.
 
 This method was added in v1.82 of Math::BigInt (April 2007).
 
-See also L<blog()>.
+See also L</blog()>.
 
 =head2 bnok()
 
-	$x->bnok($y);		   # x over y (binomial coefficient n over k)
+	$x->bnok($y);	     # x over y (binomial coefficient n over k)
 
 Calculates the binomial coefficient n over k, also called the "choose"
 function. The result is equivalent to:
@@ -4106,11 +4175,11 @@
 
 =head2 parts()
 
-	$x->parts();		# return (mantissa,exponent) as BigInt
+	$x->parts();	# return (mantissa,exponent) as BigInt
 
 =head2 copy()
 
-	$x->copy();		# make a true copy of $x (unlike $y = $x;)
+	$x->copy();	# make a true copy of $x (unlike $y = $x;)
 
 =head2 as_int()/as_number()
 
@@ -4130,19 +4199,19 @@
 
 =head2 bsstr()
 
-	$x->bsstr();		# normalized string in scientific notation
+	$x->bsstr();	# normalized string in scientific notation
 
 =head2 as_hex()
 
-	$x->as_hex();		# as signed hexadecimal string with prefixed 0x
+	$x->as_hex();	# as signed hexadecimal string with prefixed 0x
 
 =head2 as_bin()
 
-	$x->as_bin();		# as signed binary string with prefixed 0b
+	$x->as_bin();	# as signed binary string with prefixed 0b
 
 =head2 as_oct()
 
-	$x->as_oct();		# as signed octal string with prefixed 0
+	$x->as_oct();	# as signed octal string with prefixed 0
 
 =head2 numify()
 
@@ -4151,7 +4220,7 @@
 This returns a normal Perl scalar from $x. It is used automatically
 whenever a scalar is needed, for instance in array index operations.
 
-This loses precision, to avoid this use L<as_int()> instead.
+This loses precision, to avoid this use L<as_int()|/"as_int()/as_number()"> instead.
 
 =head2 modify()
 
@@ -4367,25 +4436,25 @@
 
 =item Setting/Accessing
 
-  * You can set the A global via C<< Math::BigInt->accuracy() >> or
-    C<< Math::BigFloat->accuracy() >> or whatever class you are using.
-  * You can also set P globally by using C<< Math::SomeClass->precision() >>
+  * You can set the A global via Math::BigInt->accuracy() or
+    Math::BigFloat->accuracy() or whatever class you are using.
+  * You can also set P globally by using Math::SomeClass->precision()
     likewise.
   * Globals are classwide, and not inherited by subclasses.
-  * to undefine A, use C<< Math::SomeCLass->accuracy(undef); >>
-  * to undefine P, use C<< Math::SomeClass->precision(undef); >>
-  * Setting C<< Math::SomeClass->accuracy() >> clears automatically
-    C<< Math::SomeClass->precision() >>, and vice versa.
+  * to undefine A, use Math::SomeCLass->accuracy(undef);
+  * to undefine P, use Math::SomeClass->precision(undef);
+  * Setting Math::SomeClass->accuracy() clears automatically
+    Math::SomeClass->precision(), and vice versa.
   * To be valid, A must be > 0, P can have any value.
   * If P is negative, this means round to the P'th place to the right of the
     decimal point; positive values mean to the left of the decimal point.
     P of 0 means round to integer.
-  * to find out the current global A, use C<< Math::SomeClass->accuracy() >>
-  * to find out the current global P, use C<< Math::SomeClass->precision() >>
-  * use C<< $x->accuracy() >> respective C<< $x->precision() >> for the local
-    setting of C<< $x >>.
-  * Please note that C<< $x->accuracy() >> respective C<< $x->precision() >>
-    return eventually defined global A or P, when C<< $x >>'s A or P is not
+  * to find out the current global A, use Math::SomeClass->accuracy()
+  * to find out the current global P, use Math::SomeClass->precision()
+  * use $x->accuracy() respective $x->precision() for the local
+    setting of $x.
+  * Please note that $x->accuracy() respective $x->precision()
+    return eventually defined global A or P, when $x's A or P is not
     set.
 
 =item Creating numbers
@@ -4397,11 +4466,11 @@
     globals (if set) will be used. Thus changing the global defaults later on
     will not change the A or P of previously created numbers (i.e., A and P of
     $x will be what was in effect when $x was created)
-  * If given undef for A and P, B<no> rounding will occur, and the globals will
-    B<not> be used. This is used by subclasses to create numbers without
+  * If given undef for A and P, NO rounding will occur, and the globals will
+    NOT be used. This is used by subclasses to create numbers without
     suffering rounding in the parent. Thus a subclass is able to have its own
     globals enforced upon creation of a number by using
-    C<< $x = Math::BigInt->new($number,undef,undef) >>:
+    $x = Math::BigInt->new($number,undef,undef):
 
 	use Math::BigInt::SomeSubclass;
 	use Math::BigInt;
@@ -4493,11 +4562,11 @@
 
 =item Local settings
 
-  * You can set A or P locally by using C<< $x->accuracy() >> or
-    C<< $x->precision() >>
+  * You can set A or P locally by using $x->accuracy() or
+    $x->precision()
     and thus force different A and P for different objects/numbers.
   * Setting A or P this way immediately rounds $x to the new value.
-  * C<< $x->accuracy() >> clears C<< $x->precision() >>, and vice versa.
+  * $x->accuracy() clears $x->precision(), and vice versa.
 
 =item Rounding
 
@@ -4507,12 +4576,12 @@
   * the two rounding functions take as the second parameter one of the
     following rounding modes (R):
     'even', 'odd', '+inf', '-inf', 'zero', 'trunc', 'common'
-  * you can set/get the global R by using C<< Math::SomeClass->round_mode() >>
-    or by setting C<< $Math::SomeClass::round_mode >>
-  * after each operation, C<< $result->round() >> is called, and the result may
+  * you can set/get the global R by using Math::SomeClass->round_mode()
+    or by setting $Math::SomeClass::round_mode
+  * after each operation, $result->round() is called, and the result may
     eventually be rounded (that is, if A or P were set either locally,
     globally or as parameter to the operation)
-  * to manually round a number, call C<< $x->round($A,$P,$round_mode); >>
+  * to manually round a number, call $x->round($A,$P,$round_mode);
     this will round the number by using the appropriate rounding function
     and then normalize it.
   * rounding modifies the local settings of the number:
@@ -4801,13 +4870,13 @@
 =head2 Alternative math libraries
 
 You can use an alternative library to drive Math::BigInt. See the section
-L<MATH LIBRARY> for more information.
+L</MATH LIBRARY> for more information.
 
 For more benchmark results see L<http://bloodgate.com/perl/benchmarks.html>.
 
-=head2 SUBCLASSING
+=head1 SUBCLASSING
 
-=head1 Subclassing Math::BigInt
+=head2 Subclassing Math::BigInt
 
 The basic design of Math::BigInt allows simple subclasses with very little
 work, as long as a few simple rules are followed:
@@ -5182,7 +5251,7 @@
 
 	use Math::BigInt;
 	use Math::BigFloat;
-	
+
 	$mbf = Math::BigFloat->new(5);
 	$mbi2 = Math::BigInteger->new(5);
 	$mbi = Math::BigInteger->new(2);
@@ -5249,7 +5318,7 @@
 
 =item brsft()
 
-For negative numbers in base see also L<brsft|brsft>.
+For negative numbers in base see also L<brsft|/brsft()>.
 
 =back
 
@@ -5261,7 +5330,7 @@
 =head1 SEE ALSO
 
 L<Math::BigFloat>, L<Math::BigRat> and L<Math::Big> as well as
-L<Math::BigInt::BitVect>, L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
+L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
 
 The pragmas L<bignum>, L<bigint> and L<bigrat> also might be of interest
 because they solve the autoupgrading/downgrading issue, at least partly.


Property changes on: vendor/perl/dist/dist/Math-BigInt/lib/Math/BigInt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/Math/BigFloat/Subclass.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/Math/BigFloat/Subclass.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/Math/BigFloat/Subclass.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/Math/BigFloat/Subclass.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/BareCalc.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/BareCalc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/BareCalc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/BareCalc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Scalar.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Scalar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Scalar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Scalar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Subclass.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Subclass.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Subclass.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/Math/BigInt/Subclass.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/_e_math.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/_e_math.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/_e_math.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/_e_math.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/alias.inc
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/alias.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/alias.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/alias.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/bare_mbf.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bare_mbf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bare_mbf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bare_mbf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/t/bare_mbi.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bare_mbi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bare_mbi.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 3623;
+use Test::More tests => 3635;
 
 BEGIN { unshift @INC, 't'; }
 


Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bare_mbi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/bare_mif.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bare_mif.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bare_mif.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bare_mif.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/big_pi_e.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/big_pi_e.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/big_pi_e.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/big_pi_e.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.inc
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.inc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -258,6 +258,14 @@
 is ($x,'0.0027');
 
 ###############################################################################
+# Verify that numify() returns a normalized value, and underflows and
+# overflows when given "extreme" values.
+
+like($class->new("12345e67")->numify(), qr/^1\.2345e\+?0*71$/);
+like($class->new("1e-9999")->numify(), qr/^\+?0$/);              # underflow
+unlike($class->new("1e9999")->numify(), qr/^1(\.0*)?e\+?9+$/);   # overflow
+
+###############################################################################
 # fsqrt() with set global A/P or A/P enabled on $x, also a test whether fsqrt()
 # correctly modifies $x
 
@@ -637,15 +645,12 @@
 -5:-0b101
 &numify
 # uses bsstr() so 5 => 5e+0 to be compatible w/ Perls output
-0:0e+1
-+1:1e+0
-1234:1234e+0
-NaN:NaN
-+inf:inf
--inf:-inf
--5:-5e+0
-100:1e+2
--100:-1e+2
+0:0
++1:1
+1234:1234
+-5:-5
+100:100
+-100:-100
 &fnan
 abc:NaN
 2:NaN


Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bigfltpm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/bigintc.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bigintc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bigintc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bigintc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/t/bigintpm.inc
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bigintpm.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bigintpm.inc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -73,7 +73,7 @@
    } elsif ($f eq "bone") {
     $try .= "\$x->bone('$args[1]');";
   # some unary ops
-   } elsif ($f =~ /^b(nan|floor|ceil|sstr|neg|abs|inc|dec|not|sqrt|fac)$/) {
+   } elsif ($f =~ /^b(nan|floor|ceil|sstr|neg|abs|sgn|inc|dec|not|sqrt|fac)$/) {
     $try .= "\$x->$f();";
    } elsif ($f =~ /^(numify|length|stringify|as_hex|as_bin)$/) {
     $try .= "\$x->$f();";
@@ -1222,6 +1222,13 @@
 -1:1
 +123456789:123456789
 -123456789:123456789
+&bsgn
+NaN:NaN
++inf:1
+-inf:-1
+0:0
++123456789:1
+-123456789:-1
 &bcmp
 bcmpNaN:bcmpNaN:
 bcmpNaN:0:


Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bigintpm.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/t/bigintpm.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bigintpm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bigintpm.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 3623 + 6;
+use Test::More tests => 3635 + 6;
 
 use Math::BigInt lib => 'Calc';
 


Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bigintpm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/bigints.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bigints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bigints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bigints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/biglog.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/biglog.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/biglog.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/biglog.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/bigroot.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/bigroot.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/bigroot.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/bigroot.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/calling.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/calling.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/calling.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/calling.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/config.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/const_mbf.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/const_mbf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/const_mbf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/const_mbf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/constant.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/constant.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/constant.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/constant.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/downgrade.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/downgrade.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/downgrade.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/downgrade.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/inf_nan.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/inf_nan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/inf_nan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/inf_nan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/isa.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/isa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/isa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/isa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/lib_load.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/lib_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/lib_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/lib_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/mbf_ali.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/mbf_ali.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/mbf_ali.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/mbf_ali.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/mbi_ali.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/mbi_ali.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/mbi_ali.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/mbi_ali.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/mbi_rand.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/mbi_rand.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/mbi_rand.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/mbi_rand.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/mbimbf.inc
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/mbimbf.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/mbimbf.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/mbimbf.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/mbimbf.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/mbimbf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/mbimbf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/mbimbf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/nan_cmp.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/nan_cmp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/nan_cmp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/nan_cmp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/new_overloaded.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/new_overloaded.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/new_overloaded.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/new_overloaded.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/req_mbf0.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/req_mbf0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/req_mbf0.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/req_mbf0.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/req_mbf1.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/req_mbf1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/req_mbf1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/req_mbf1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/req_mbfa.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/req_mbfa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/req_mbfa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/req_mbfa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/req_mbfi.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/req_mbfi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/req_mbfi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/req_mbfi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/req_mbfn.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/req_mbfn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/req_mbfn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/req_mbfn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/req_mbfw.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/req_mbfw.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/req_mbfw.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/req_mbfw.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/require.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/require.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/require.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/round.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/round.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/round.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/round.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/sub_ali.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/sub_ali.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/sub_ali.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/sub_ali.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/sub_mbf.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/sub_mbf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/sub_mbf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/sub_mbf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt/t/sub_mbi.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/sub_mbi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/sub_mbi.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 3623
+use Test::More tests => 3635
     + 5;	# +5 own tests
 
 BEGIN { unshift @INC, 't'; }


Property changes on: vendor/perl/dist/dist/Math-BigInt/t/sub_mbi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/sub_mif.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/sub_mif.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/sub_mif.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/sub_mif.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/trap.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/trap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/trap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/trap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/upgrade.inc
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/upgrade.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/upgrade.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/upgrade.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/upgrade.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/upgrade.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/upgrade.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/upgrade.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/upgrade2.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/upgrade2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/upgrade2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/upgrade2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/upgradef.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/upgradef.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/upgradef.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/upgradef.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/use.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/use.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/use_lib1.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/use_lib1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/use_lib1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/use_lib1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/use_lib2.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/use_lib2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/use_lib2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/use_lib2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/use_lib3.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/use_lib3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/use_lib3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/use_lib3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/use_lib4.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/use_lib4.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/use_lib4.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/use_lib4.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/use_mbfw.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/use_mbfw.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/use_mbfw.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/use_mbfw.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt/t/with_sub.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt/t/with_sub.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt/t/with_sub.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt/t/with_sub.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt-FastCalc/FastCalc.xs
===================================================================
--- vendor/perl/dist/dist/Math-BigInt-FastCalc/FastCalc.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt-FastCalc/FastCalc.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#define PERL_NO_GET_CONTEXT
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"


Property changes on: vendor/perl/dist/dist/Math-BigInt-FastCalc/FastCalc.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,11 +4,11 @@
 use strict;
 use warnings;
 
-use Math::BigInt::Calc 1.993;
+use Math::BigInt::Calc 1.997;
 
 use vars '$VERSION';
 
-$VERSION = '0.28';
+$VERSION = '0.30';
 
 ##############################################################################
 # global constants, flags and accessory


Property changes on: vendor/perl/dist/dist/Math-BigInt-FastCalc/lib/Math/BigInt/FastCalc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bigintfc.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bigintfc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bigintfc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bigintfc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bootstrap.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bootstrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bootstrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt-FastCalc/t/bootstrap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt-FastCalc/t/leak.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt-FastCalc/t/leak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt-FastCalc/t/leak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt-FastCalc/t/leak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigInt-FastCalc/t/mbi_rand.t
===================================================================
--- vendor/perl/dist/dist/Math-BigInt-FastCalc/t/mbi_rand.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigInt-FastCalc/t/mbi_rand.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigInt-FastCalc/t/mbi_rand.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigRat/lib/Math/BigRat.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/lib/Math/BigRat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/lib/Math/BigRat.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,7 +24,7 @@
 
 @ISA = qw(Math::BigFloat);
 
-$VERSION = '0.26_02';
+$VERSION = '0.2604';
 $VERSION = eval $VERSION;
 
 # inherit overload from Math::BigFloat, but disable the bitwise ops that don't
@@ -1428,8 +1428,8 @@
   return Math::BigInt->new($x->{sign}) if $x->{sign} !~ /^[+-]$/;
 
   my $u = Math::BigInt->bzero();
-  $u->{sign} = $x->{sign};
   $u->{value} = $MBI->_div( $MBI->_copy($x->{_n}), $x->{_d});	# 22/7 => 3
+  $u->bneg if $x->{sign} eq '-'; # no negative zero
   $u;
   }
 
@@ -1692,7 +1692,7 @@
 
 Returns the object as a scalar. This will lose some data if the object
 cannot be represented by a normal Perl scalar (integer or float), so
-use L<as_int()> or L<as_float()> instead.
+use L<as_int()|/as_int()E<sol>as_number()> or L</as_float()> instead.
 
 This routine is automatically used whenever a scalar is required:
 
@@ -1925,7 +1925,7 @@
 
 This method was added in v0.20 of Math::BigRat (May 2007).
 
-See also L<blog()>.
+See also L</blog()>.
 
 =head2 bnok()
 
@@ -2012,7 +2012,7 @@
 
 =head1 SEE ALSO
 
-L<Math::BigFloat> and L<Math::Big> as well as L<Math::BigInt::BitVect>,
+L<Math::BigFloat> and L<Math::Big> as well as
 L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
 
 See L<http://search.cpan.org/search?dist=bignum> for a way to use


Property changes on: vendor/perl/dist/dist/Math-BigRat/lib/Math/BigRat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/Math/BigRat/Test.pm
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/Math/BigRat/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/Math/BigRat/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/Math/BigRat/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/big_ap.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/big_ap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/big_ap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/big_ap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/bigfltpm.inc
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/bigfltpm.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/bigfltpm.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/bigfltpm.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/bigfltrt.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/bigfltrt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/bigfltrt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/bigfltrt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/biglog.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/biglog.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/biglog.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/biglog.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Math-BigRat/t/bigrat.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/bigrat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/bigrat.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
-use Test::More tests => 200;
+use Test::More tests => 202;
 
 # basic testing of Math::BigRat
 
@@ -319,6 +319,14 @@
 is ($f, '0.66667', 'as_float(2/3,5)');
 
 ##############################################################################
+# int()
+
+$x  = Math::BigRat->new('5/2');
+is int($x), '2', '5/2 converted to integer';
+$x  = Math::BigRat->new('-1/2');
+is int($x), '0', '-1/2 converted to integer';
+
+##############################################################################
 # done
 
 1;


Property changes on: vendor/perl/dist/dist/Math-BigRat/t/bigrat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/bigratpm.inc
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/bigratpm.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/bigratpm.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/bigratpm.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/bigratpm.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/bigratpm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/bigratpm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/bigratpm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/bigratup.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/bigratup.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/bigratup.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/bigratup.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/bigroot.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/bigroot.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/bigroot.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/bigroot.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/bitwise.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/bitwise.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/bitwise.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/bitwise.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/hang.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/hang.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/hang.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/hang.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/requirer.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/requirer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/requirer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/requirer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Math-BigRat/t/trap.t
===================================================================
--- vendor/perl/dist/dist/Math-BigRat/t/trap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Math-BigRat/t/trap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Math-BigRat/t/trap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Module-CoreList/Changes
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,158 @@
+2.95 Mon Jun 22 2013
+  - Updated for v5.19.3
+
+2.94 Sun Jun 21 2013
+  - Updated for v5.19.2
+
+2.93 Thu 20 Jun 2013
+  - Updated for v5.19.1
+
+2.92 Thu Jun 21 2013
+  - Make switches case-sensitive (keep -d and -D distinct)
+  - correct omission of Text::Soundex and File::CheckTree from deprecations
+  - switch %deprecated to a delta hash
+
+2.91 Mon May 20 2013
+  - Updated for v5.19.0
+
+2.90 Mon May 18 2013
+  - Updated for v5.18.0
+
+2.88 Tue Apr 23 2013
+  - Include deprecations for v5.17.10 and v5.17.11
+
+2.87 Sat Apr 20 2013
+  - Updated for v5.17.11
+2.85 Thu Mar 19 2013
+  - Updated for v5.17.10
+
+2.84 Mon Mar 11 2013
+  - Updated for v5.16.3
+
+2.83 Sun Mar 10 2013
+  - Updated for v5.14.4
+
+2.82 Wed Feb 20 2013
+  - --feature switch added
+  - --upstream switch added
+  - Updated for v5.17.9
+
+2.81 Sun Jan 27 2013
+  - Add modules deprecated with v5.17.9
+
+2.80 Sun Jan 20 2013
+  - Updated for v5.17.8
+
+  - v5.17.7 contained Module::CoreList::TieHashDelta 2.79, not 2.78
+
+2.79 Tue Dec 18 2012
+  - Updated for v5.17.7
+
+  - Errno was added in 5.5, not in 5.5.4
+
+2.78 Sat Nov 12 2012
+  - Updated for v5.17.6
+
+  - Fix hash order dependency bug in deprecated_in().
+    Tests would would fail or succeed depending on what order keys()
+    would return the version list in. List::Utils::min() considers
+    '5.011' and '5.011000' to be equivalent, and returns the first
+    whichever it encounters. Changing to List::Utils::minstr() fixes
+    this.
+
+2.77 Sat Nov 10 2012
+  - Updated for v5.12.5
+  - deprecated_in() function added
+  - corelist reports deprecated data
+
+2.76 Fri Nov  1 2012
+  - Updated for v5.16.2
+
+2.75 Fri Oct 20 2012
+  - Updated for v5.17.5
+
+2.74 Fri Oct 12 2012
+  - Updated for v5.14.3
+
+2.73 Thu Sep 20 2012
+  - Updated for v.5.17.4
+
+2.72 Tue aug 21 2012
+  - Fix for older perls
+
+2.71 Mon Aug 20 2012
+  - Updated for v5.17.3
+
+2.70 Thu Aug 9 2012
+  - Updated for v5.16.1
+
+2.69 Fri Jul 20 2012
+  - Updated for v5.17.2
+
+2.68 Tue Jun 19 2012
+  - Updated for v5.17.1
+
+2.67 Sat May 26 2012
+  - Updated for v5.17.0
+
+2.66 ??
+  - Add the --diff option to compare two perl core modlibs
+
+2.65 Tue Mar 20 2012
+  - Update of lib/charnames
+
+2.64 Tue Mar 20 2012
+  - Update of Data::Dumper and XS::APItest
+
+2.63 Tue Mar 20 2012
+  - Update for v5.15.9
+
+2.62 Thu Mar 15 2012
+  - Separate the POD (bingos)
+
+2.61 Fri Feb 20 2012
+  - Updated for v5.15.8
+
+2.60 Fri Jan 20 2012
+  - Updated for v5.15.7
+
+2.59 Sun Dec 20 2011
+  - Updated for v5.15.6
+
+2.58 Sun Nov 20 2011
+  - Updated for v5.15.5
+
+2.57 Thu Oct 20 2011
+  - Updated for v5.15.4
+
+2.56 Tues Sept 20 2011
+  - Updated for v5.15.3
+  - Corrected version of Module::CoreList shipped
+    with v5.10.0
+  - Corrected Errno being shipped with v5.6.0 and v5.6.1
+  - Corrected VMS::Filespec being shipped with v5.12.3
+  - Corrected DB_File being shipped with v5.8.2
+  - Added http://perlpunks.de/corelist to SEE ALSO
+
+2.55 Sat Aug 20 2011
+  - Updated for v5.15.2
+
+2.54 Wed Jul 20 2011
+  - Updated for v5.15.1
+
+2.53 Thu Jul 14 2011
+  - Added release date option '-r' to corelist
+
+2.52 Mon Jul 4  2011
+  - [rt.cpan.org #69108] Extraneous modules listed
+    reported by Dee Newcum
+
+2.51
+  - Updated for v5.15.0
+
+2.50
+  - Updated for v5.12.4
+
 2.49
   - Updated for v5.14.0
 


Property changes on: vendor/perl/dist/dist/Module-CoreList/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Module-CoreList/MANIFEST
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,9 @@
 corelist
 identify-dependencies
 lib/Module/CoreList.pm
+lib/Module/CoreList.pod
+lib/Module/CoreList/TieHashDelta.pm
+lib/Module/CoreList/Utils.pm
 README
 MANIFEST
 Makefile.PL
@@ -10,3 +13,4 @@
 t/deprecated.t
 t/find_modules.t
 t/pod.t
+META.json                                Module JSON meta-data (added by MakeMaker)


Property changes on: vendor/perl/dist/dist/Module-CoreList/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Module-CoreList/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,18 +1,51 @@
 use ExtUtils::MakeMaker;
 
-push @extra, 'INSTALLDIRS' => 'perl' if $] >= 5.008009;
+push @extra, 'INSTALLDIRS' => 'perl' if $] >= 5.008009 and $] < 5.012;
 
+push @extra, 'META_MERGE' => {
+        resources => {
+            repository => 'git://perl5.git.perl.org/perl.git',
+            bugtracker => 'https://rt.perl.org/rt3/',
+            homepage   => "http://dev.perl.org/",
+        },
+    } unless $ExtUtils::MakeMaker::VERSION < 6.46;
+
+
 WriteMakefile
 (
     'NAME' => 'Module::CoreList',
     'VERSION_FROM' => 'lib/Module/CoreList.pm',
-    'ABSTRACT_FROM' => 'lib/Module/CoreList.pm',
+    'ABSTRACT_FROM' => 'lib/Module/CoreList.pod',
     'PREREQ_PM' => {
-	'Test::More' => '0',
+        'Test::More' => '0',
+        'List::Util' => 0,
     },
-    'EXE_FILES' => [ 'corelist' ],
+    'EXE_FILES' => [ _scripts() ],
+    'INSTALLDIRS' => ($] < 5.011 ? 'perl' : 'site'),
     'PL_FILES' => {},
     LICENSE => 'perl',
+    META_MERGE => {
+        resources => {
+            repository => 'git://perl5.git.perl.org/perl.git',
+            bugtracker => 'https://rt.perl.org/rt3/',
+            homepage   => "http://dev.perl.org/",
+        },
+    },
     @extra,
 )
 ;
+
+sub _scripts {
+ my $scripts = 'corelist';
+ if ( $] >= 5.008009 and !$ENV{PERL_CORE} ) {
+   require Config;
+   my $version = sprintf("%vd",$^V);
+   if ( $Config::Config{versiononly} and
+      $Config::Config{startperl} =~ /\Q$version\E$/ ) {
+      require File::Copy;
+      File::Copy::copy( 'corelist', "corelist$version" );
+      $scripts = "corelist$version";
+    }
+ }
+ return $scripts;
+}


Property changes on: vendor/perl/dist/dist/Module-CoreList/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Module-CoreList/README
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Module-CoreList/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Module-CoreList/corelist
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/corelist	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/corelist	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,9 +10,13 @@
 
 =head1 SYNOPSIS
 
-    corelist -v
-    corelist [-a|-d] <ModuleName> | /<ModuleRegex>/ [<ModuleVersion>] ...
-    corelist [-v <PerlVersion>] [ <ModuleName> | /<ModuleRegex>/ ] ...
+   corelist -v
+   corelist [-a|-d] <ModuleName> | /<ModuleRegex>/ [<ModuleVersion>] ...
+   corelist [-v <PerlVersion>] [ <ModuleName> | /<ModuleRegex>/ ] ...
+   corelist [-r <PerlVersion>] ...
+   corelist --feature <FeatureName> [<FeatureName>] ...
+   corelist --diff PerlVersion PerlVersion
+   corelist --upstream <ModuleName>
 
 =head1 OPTIONS
 
@@ -23,26 +27,54 @@
 lists all versions of the given module (or the matching modules, in case you
 used a module regexp) in the perls Module::CoreList knows about.
 
-    corelist -a utf8
+    corelist -a Unicode
 
-    utf8 was first released with perl 5.006
-      5.006      undef
-      5.006001   undef
-      5.006002   undef
-      5.007003   1.00
-      5.008      1.00
-      5.008001   1.02
-      5.008002   1.02
-      5.008003   1.02
-      5.008004   1.03
-      5.008005   1.04
-      5.008006   1.04
-      5.008007   1.05
-      5.008008   1.06
-      5.009      1.02
-      5.009001   1.02
-      5.009002   1.04
-      5.009003   1.06
+    Unicode was first released with perl v5.6.2
+      v5.6.2     3.0.1
+      v5.8.0     3.2.0
+      v5.8.1     4.0.0
+      v5.8.2     4.0.0
+      v5.8.3     4.0.0
+      v5.8.4     4.0.1
+      v5.8.5     4.0.1
+      v5.8.6     4.0.1
+      v5.8.7     4.1.0
+      v5.8.8     4.1.0
+      v5.8.9     5.1.0
+      v5.9.0     4.0.0
+      v5.9.1     4.0.0
+      v5.9.2     4.0.1
+      v5.9.3     4.1.0
+      v5.9.4     4.1.0
+      v5.9.5     5.0.0
+      v5.10.0    5.0.0
+      v5.10.1    5.1.0
+      v5.11.0    5.1.0
+      v5.11.1    5.1.0
+      v5.11.2    5.1.0
+      v5.11.3    5.2.0
+      v5.11.4    5.2.0
+      v5.11.5    5.2.0
+      v5.12.0    5.2.0
+      v5.12.1    5.2.0
+      v5.12.2    5.2.0
+      v5.12.3    5.2.0
+      v5.12.4    5.2.0
+      v5.13.0    5.2.0
+      v5.13.1    5.2.0
+      v5.13.2    5.2.0
+      v5.13.3    5.2.0
+      v5.13.4    5.2.0
+      v5.13.5    5.2.0
+      v5.13.6    5.2.0
+      v5.13.7    6.0.0
+      v5.13.8    6.0.0
+      v5.13.9    6.0.0
+      v5.13.10   6.0.0
+      v5.13.11   6.0.0
+      v5.14.0    6.0.0
+      v5.14.1    6.0.0
+      v5.15.0    6.0.0
 
 =item -d
 
@@ -49,6 +81,13 @@
 finds the first perl version where a module has been released by
 date, and not by version number (as is the default).
 
+=item --diff
+
+Given two versions of perl, this prints a human-readable table of all module
+changes between the two.  The output format may change in the future, and is
+meant for I<humans>, not programs.  For programs, use the L<Module::CoreList>
+API.
+
 =item -? or -help
 
 help! help! help! to see more help, try --man.
@@ -68,6 +107,21 @@
 
 In module filtering context, it can be used as Perl version filter.
 
+=item -r
+
+lists all of the perl releases and when they were released
+
+If you pass a perl version you get the release date for that version only.
+
+=item --feature, -f
+
+lists the first version bundle of each named feature given
+
+=item --upstream, -u
+
+Shows if the given module is primarily maintained in perl core or on CPAN
+and bug tracker URL.
+
 =back
 
 As a special case, if you specify the module name C<Unicode>, you'll get
@@ -77,18 +131,46 @@
 =cut
 
 use Module::CoreList;
-use Getopt::Long;
+use Getopt::Long qw(:config no_ignore_case);
 use Pod::Usage;
 use strict;
 use warnings;
+use List::Util qw/maxstr/;
 
 my %Opts;
 
-GetOptions(\%Opts, qw[ help|?! man! v|version:s a! d ] );
+GetOptions(
+    \%Opts,
+    qw[ help|?! man! r|release:s v|version:s a! d diff|D feature|f u|upstream ]
+);
 
 pod2usage(1) if $Opts{help};
 pod2usage(-verbose=>2) if $Opts{man};
 
+if(exists $Opts{r} ){
+    if ( !$Opts{r} ) {
+        print "\nModule::CoreList has release info for the following perl versions:\n";
+        my $versions = { };
+        my $max_ver_len = max_mod_len(\%Module::CoreList::released);
+        for my $ver ( sort keys %Module::CoreList::released ) {
+          printf "%-${max_ver_len}s    %s\n", format_perl_version($ver), $Module::CoreList::released{$ver};
+        }
+        print "\n";
+        exit 0;
+    }
+
+    my $num_r = numify_version( $Opts{r} );
+    my $version_hash = Module::CoreList->find_version($num_r);
+
+    if( !$version_hash ) {
+        print "\nModule::CoreList has no info on perl $Opts{r}\n\n";
+        exit 1;
+    }
+
+    printf "Perl %s was released on %s\n\n", format_perl_version($num_r), $Module::CoreList::released{$num_r};
+    exit 0;
+}
+
 if(exists $Opts{v} ){
     if( !$Opts{v} ) {
         print "\nModule::CoreList has info on the following perl versions:\n";
@@ -116,6 +198,78 @@
     }
 }
 
+if ($Opts{diff}) {
+    if(@ARGV != 2) {
+        die "\nprovide exactly two perl core versions to diff with --diff\n";
+    }
+
+    my ($old_ver, $new_ver) = @ARGV;
+
+    my $old = numify_version($old_ver);
+    my $new = numify_version($new_ver);
+
+    my %diff = Module::CoreList::changes_between($old, $new);
+
+    for my $lib (sort keys %diff) {
+      my $diff = $diff{$lib};
+
+      my $was = ! exists  $diff->{left} ? '(absent)'
+              : ! defined $diff->{left} ? '(undef)'
+              :                          $diff->{left};
+
+      my $now = ! exists  $diff->{right} ? '(absent)'
+              : ! defined $diff->{right} ? '(undef)'
+              :                          $diff->{right};
+
+        printf "%-35s %10s %10s\n", $lib, $was, $now;
+    }
+    exit(0);
+}
+
+if ($Opts{feature}) {
+    die "\n--feature is only available with perl v5.16.0 or greater\n"
+      if $] < 5.016;
+
+    die "\nprovide at least one feature name to --feature\n"
+        unless @ARGV;
+
+    no warnings 'once';
+    require feature;
+
+    my %feature2version;
+    my @bundles =  map { $_->[0] }
+                  sort { $b->[1] <=> $a->[1] }
+                   map { [$_, numify_version($_)] }
+                  grep { not /[^0-9.]/ }
+                  keys %feature::feature_bundle;
+
+    for my $version (@bundles) {
+        $feature2version{$_} = $version =~ /^\d\.\d+$/ ? "$version.0" : $version
+            for @{ $feature::feature_bundle{$version} };
+    }
+
+    # allow internal feature names, just in case someone gives us __SUB__
+    # instead of current_sub.
+    while (my ($name, $internal) = each %feature::feature) {
+        $internal =~ s/^feature_//;
+        $feature2version{$internal} = $feature2version{$name}
+            if $feature2version{$name};
+    }
+
+    my $when = maxstr(values %Module::CoreList::released);
+    print "\n","Data for $when\n";
+
+    for my $feature (@ARGV) {
+        print "feature \"$feature\" ",
+            exists $feature2version{$feature}
+                ? "was first released with the perl "
+                  . format_perl_version(numify_version($feature2version{$feature}))
+                  . " feature bundle\n"
+                : "doesn't exist (or so I think)\n";
+    }
+    exit(0);
+}
+
 if ( !@ARGV ) {
     pod2usage(0);
 }
@@ -177,17 +331,33 @@
 	? Module::CoreList->removed_from_by_date($mod)
 	: Module::CoreList->removed_from($mod);
 
+	my $when = maxstr(values %Module::CoreList::released);
+    print "\n","Data for $when\n";
+
     if( defined $ret ) {
+        my $deprecated = Module::CoreList->deprecated_in($mod);
         $msg .= " was ";
         $msg .= "first " unless $ver;
         $msg .= "released with perl " . format_perl_version($ret);
+        $msg .= ( $rem ? ',' : ' and' ) . " deprecated (will be CPAN-only) in " . format_perl_version($deprecated) if $deprecated;
         $msg .= " and removed from " . format_perl_version($rem) if $rem;
     } else {
         $msg .= " was not in CORE (or so I think)";
     }
 
-    print "\n",$msg,"\n";
+    print $msg,"\n";
 
+    if( defined $ret and exists $Opts{u} ) {
+        my $upsream = $Module::CoreList::upstream{$mod};
+        $upsream = 'undef' unless $upsream;
+        print "upstream: $upsream\n";
+        if ( $upsream ne 'blead' ) {
+            my $bugtracker = $Module::CoreList::bug_tracker{$mod};
+            $bugtracker = 'unknown' unless $bugtracker;
+            print "bug tracker: $bugtracker\n";
+        }
+    }
+
     if(defined $ret and exists $Opts{a} and $Opts{a}){
         display_a($mod);
     }


Property changes on: vendor/perl/dist/dist/Module-CoreList/corelist
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Module-CoreList/identify-dependencies
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/identify-dependencies	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/identify-dependencies	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Module-CoreList/identify-dependencies
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,200 +2,9 @@
 use strict;
 use vars qw/$VERSION %released %version %families %upstream
 	    %bug_tracker %deprecated/;
-$VERSION = '2.49_02';
+use Module::CoreList::TieHashDelta;
+$VERSION = '2.96';
 
-=head1 NAME
-
-Module::CoreList - what modules shipped with versions of perl
-
-=head1 SYNOPSIS
-
- use Module::CoreList;
-
- print $Module::CoreList::version{5.00503}{CPAN}; # prints 1.48
-
- print Module::CoreList->first_release('File::Spec');         # prints 5.00405
- print Module::CoreList->first_release_by_date('File::Spec'); # prints 5.005
- print Module::CoreList->first_release('File::Spec', 0.82);   # prints 5.006001
-
- print join ', ', Module::CoreList->find_modules(qr/Data/);
-    # prints 'Data::Dumper'
- print join ', ', Module::CoreList->find_modules(qr/test::h.*::.*s/i, 5.008008);
-    # prints 'Test::Harness::Assert, Test::Harness::Straps'
-
- print join ", ", @{ $Module::CoreList::families{5.005} };
-    # prints "5.005, 5.00503, 5.00504"
-
-=head1 DESCRIPTION
-
-Module::CoreList provides information on which core and dual-life modules shipped
-with each version of L<perl>.
-
-It provides a number of mechanisms for querying this information.
-
-There is a utility called L<corelist> provided with this module
-which is a convenient way of querying from the command-line.
-
-There is a functional programming API available for programmers to query
-information.
-
-Programmers may also query the contained hash structures to find relevant
-information.
-
-=head1 FUNCTIONS API
-
-These are the functions that are available, they may either be called as functions or class methods:
-
-  Module::CoreList::first_release('File::Spec'); # as a function
-
-  Module::CoreList->first_release('File::Spec'); # class method
-
-=over
-
-=item C<first_release( MODULE )>
-
-Behaviour since version 2.11
-
-Requires a MODULE name as an argument, returns the perl version when that module first
-appeared in core as ordered by perl version number or undef ( in scalar context )
-or an empty list ( in list context ) if that module is not in core.
-
-=item C<first_release_by_date( MODULE )>
-
-Requires a MODULE name as an argument, returns the perl version when that module first
-appeared in core as ordered by release date or undef ( in scalar context )
-or an empty list ( in list context ) if that module is not in core.
-
-=item C<find_modules( REGEX, [ LIST OF PERLS ] )>
-
-Takes a regex as an argument, returns a list of modules that match the regex given.
-If only a regex is provided applies to all modules in all perl versions. Optionally
-you may provide a list of perl versions to limit the regex search.
-
-=item C<find_version( PERL_VERSION )>
-
-Takes a perl version as an argument. Returns that perl version if it exists or C<undef>
-otherwise.
-
-=item C<is_deprecated( MODULE, PERL_VERSION )>
-
-Available in version 2.22 and above.
-
-Returns true if MODULE is marked as deprecated in PERL_VERSION.  If PERL_VERSION is
-omitted, it defaults to the current version of Perl.
-
-=item C<removed_from( MODULE )>
-
-Available in version 2.32 and above
-
-Takes a module name as an argument, returns the first perl version where that module
-was removed from core. Returns undef if the given module was never in core or remains
-in core.
-
-=item C<removed_from_by_date( MODULE )>
-
-Available in version 2.32 and above
-
-Takes a module name as an argument, returns the first perl version by release date where that module
-was removed from core. Returns undef if the given module was never in core or remains
-in core.
-
-=back
-
-=head1 DATA STRUCTURES
-
-These are the hash data structures that are available:
-
-=over
-
-=item C<%Module::CoreList::version>
-
-A hash of hashes that is keyed on perl version as indicated
-in $].  The second level hash is module => version pairs.
-
-Note, it is possible for the version of a module to be unspecified,
-whereby the value is C<undef>, so use C<exists $version{$foo}{$bar}> if
-that's what you're testing for.
-
-Starting with 2.10, the special module name C<Unicode> refers to the version of
-the Unicode Character Database bundled with Perl.
-
-=item C<%Module::CoreList::released>
-
-Keyed on perl version this contains ISO
-formatted versions of the release dates, as gleaned from L<perlhist>.
-
-=item C<%Module::CoreList::families>
-
-New, in 1.96, a hash that
-clusters known perl releases by their major versions.
-
-=item C<%Module::CoreList::deprecated>
-
-A hash of hashes keyed on perl version and on module name.
-If a module is defined it indicates that that module is
-deprecated in that perl version and is scheduled for removal
-from core at some future point.
-
-=item C<%Module::CoreList::upstream>
-
-A hash that contains information on where patches should be directed
-for each core module.
-
-UPSTREAM indicates where patches should go. C<undef> implies
-that this hasn't been discussed for the module at hand.
-C<blead> indicates that the copy of the module in the blead
-sources is to be considered canonical, C<cpan> means that the
-module on CPAN is to be patched first. C<first-come> means
-that blead can be patched freely if it is in sync with the
-latest release on CPAN.
-
-=item C<%Module::CoreList::bug_tracker>
-
-A hash that contains information on the appropriate bug tracker
-for each core module.
-
-BUGS is an email or url to post bug reports.  For modules with
-UPSTREAM => 'blead', use perl5-porters at perl.org.  rt.cpan.org
-appears to automatically provide a URL for CPAN modules; any value
-given here overrides the default:
-http://rt.cpan.org/Public/Dist/Display.html?Name=$ModuleName
-
-=back
-
-=head1 CAVEATS
-
-Module::CoreList currently covers the 5.000, 5.001, 5.002, 5.003_07,
-5.004, 5.004_05, 5.005, 5.005_03, 5.005_04, 5.6.0, 5.6.1, 5.6.2, 5.7.3,
-5.8.0, 5.8.1, 5.8.2, 5.8.3, 5.8.4, 5.8.5, 5.8.6, 5.8.7, 5.8.8, 5.8.9,
-5.9.0, 5.9.1, 5.9.2, 5.9.3, 5.9.4, 5.9.5, 5.10.0, 5.10.1, 5.11.0, 5.11.1,
-5.11.2, 5.11.3, 5.11.4, 5.11.5, 5.12.0, 5.12.1, 5.12.2, 5.12.3, 5.13.0,
-5.13.1, 5.13.2, 5.13.3, 5.13.4, 5.13.5, 5.13.6, 5.13.7, 5.13.8, 5.13.9,
-5.13.10, 5.13.11, 5.14.0, 5.14.1 and 5.14.2 releases of perl.
-
-=head1 HISTORY
-
-Moved to Changes file.
-
-=head1 AUTHOR
-
-Richard Clamp E<lt>richardc at unixbeard.netE<gt>
-
-Currently maintained by the perl 5 porters E<lt>perl5-porters at perl.orgE<gt>.
-
-=head1 LICENSE
-
-Copyright (C) 2002-2009 Richard Clamp.  All Rights Reserved.
-
-This module is free software; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-=head1 SEE ALSO
-
-L<corelist>, L<Module::Info>, L<perl>
-
-=cut
-
 my $dumpinc = 0;
 sub import {
     my $self = shift;
@@ -269,6 +78,17 @@
     return $deprecated{$perl_version}{$module};
 }
 
+sub deprecated_in {
+    my $module = shift;
+    $module = shift if eval { $module->isa(__PACKAGE__) }
+      and scalar @_ and $_[0] =~ m#\A[a-zA-Z_][0-9a-zA-Z_]*(?:(::|')[0-9a-zA-Z_]+)*\z#;
+    return unless $module;
+    my @perls = grep { exists $deprecated{$_}{$module} } keys %deprecated;
+    return unless @perls;
+    require List::Util;
+    return List::Util::minstr(@perls);
+}
+
 sub removed_from {
   my @perls = &removed_raw;
   return shift @perls;
@@ -289,6 +109,36 @@
   return @removed;
 }
 
+sub changes_between {
+  my ($left_ver, $right_ver) = @_;
+
+  my $left  = $version{ $left_ver };
+  my $right = $version{ $right_ver };
+
+  my %uniq = (%$left, %$right);
+
+  my %changes;
+  for my $lib (keys %uniq) {
+      my $lhs = exists $left->{ $lib }
+              ? (defined $left->{ $lib } ? $left->{ $lib } : '(undef)')
+              : '(absent)';
+      my $rhs = exists $right->{ $lib }
+              ? (defined $right->{ $lib } ? $right->{ $lib } : '(undef)')
+              : '(absent)';
+
+      next if $lhs eq $rhs;
+
+      my $change = {
+        (exists $left->{$lib}  ? (left  => $left->{$lib})  : ()),
+        (exists $right->{$lib} ? (right => $right->{$lib}) : ()),
+      };
+
+      $changes{$lib} = $change;
+  }
+
+  return %changes;
+}
+
 # When things escaped.
 # NB. If you put version numbers with trailing zeroes here, you
 # should also add an alias for the numerical ($]) version; see
@@ -348,8 +198,43 @@
     5.013010 => '2011-02-20',
     5.013011 => '2011-03-20',
     5.014000 => '2011-05-14',
+    5.012004 => '2011-06-20',
+    5.012005 => '2012-11-10',
     5.014001 => '2011-06-16',
+    5.015000 => '2011-06-20',
+    5.015001 => '2011-07-20',
+    5.015002 => '2011-08-20',
     5.014002 => '2011-09-26',
+    5.015003 => '2011-09-20',
+    5.015004 => '2011-10-20',
+    5.015005 => '2011-11-20',
+    5.015006 => '2011-12-20',
+    5.015007 => '2012-01-20',
+    5.015008 => '2012-02-20',
+    5.015009 => '2012-03-20',
+    5.016000 => '2012-05-20',
+    5.016001 => '2012-08-08',
+    5.016002 => '2012-11-01',
+    5.017000 => '2012-05-26',
+    5.017001 => '2012-06-20',
+    5.017002 => '2012-07-20',
+    5.017003 => '2012-08-20',
+    5.017004 => '2012-09-20',
+    5.014003 => '2012-10-12',
+    5.017005 => '2012-10-20',
+    5.017006 => '2012-11-20',
+    5.017007 => '2012-12-18',
+    5.017008 => '2013-01-20',
+    5.017009 => '2013-02-20',
+    5.014004 => '2013-03-10',
+    5.016003 => '2013-03-11',
+    5.017010 => '2013-03-21',
+    5.017011 => '2013-04-20',
+    5.018000 => '2013-05-18',
+    5.019000 => '2013-05-20',
+    5.019001 => '2013-06-21',
+    5.019002 => '2013-07-22',
+    5.018001 => '2013-08-12',
   );
 
 for my $version ( sort { $a <=> $b } keys %released ) {
@@ -357,25436 +242,8485 @@
     push @{ $families{ $family }} , $version;
 }
 
-
-%version = (
-    5.000 => {
-        'AnyDBM_File'           => undef,  # lib/AnyDBM_File.pm
-        'AutoLoader'            => undef,  # lib/AutoLoader.pm
-        'AutoSplit'             => undef,  # lib/AutoSplit.pm
-        'Benchmark'             => undef,  # lib/Benchmark.pm
-        'Carp'                  => undef,  # lib/Carp.pm
-        'Cwd'                   => undef,  # lib/Cwd.pm
-        'DB_File'               => undef,  # ext/DB_File/DB_File.pm
-        'DynaLoader'            => undef,  # ext/DynaLoader/DynaLoader.pm
-        'English'               => undef,  # lib/English.pm
-        'Env'                   => undef,  # lib/Env.pm
-        'Exporter'              => undef,  # lib/Exporter.pm
-        'ExtUtils::MakeMaker'   => undef,  # lib/ExtUtils/MakeMaker.pm
-        'Fcntl'                 => undef,  # ext/Fcntl/Fcntl.pm
-        'File::Basename'        => undef,  # lib/File/Basename.pm
-        'File::CheckTree'       => undef,  # lib/File/CheckTree.pm
-        'File::Find'            => undef,  # lib/File/Find.pm
-        'FileHandle'            => undef,  # lib/FileHandle.pm
-        'GDBM_File'             => undef,  # ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => undef,  # lib/Getopt/Long.pm
-        'Getopt::Std'           => undef,  # lib/Getopt/Std.pm
-        'I18N::Collate'         => undef,  # lib/I18N/Collate.pm
-        'IPC::Open2'            => undef,  # lib/IPC/Open2.pm
-        'IPC::Open3'            => undef,  # lib/IPC/Open3.pm
-        'Math::BigFloat'        => undef,  # lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef,  # lib/Math/BigInt.pm
-        'Math::Complex'         => undef,  # lib/Math/Complex.pm
-        'NDBM_File'             => undef,  # ext/NDBM_File/NDBM_File.pm
-        'Net::Ping'             => undef,  # lib/Net/Ping.pm
-        'ODBM_File'             => undef,  # ext/ODBM_File/ODBM_File.pm
-        'POSIX'                 => undef,  # ext/POSIX/POSIX.pm
-        'SDBM_File'             => undef,  # ext/SDBM_File/SDBM_File.pm
-        'Search::Dict'          => undef,  # lib/Search/Dict.pm
-        'Shell'                 => undef,  # lib/Shell.pm
-        'Socket'                => undef,  # ext/Socket/Socket.pm
-        'Sys::Hostname'         => undef,  # lib/Sys/Hostname.pm
-        'Sys::Syslog'           => undef,  # lib/Sys/Syslog.pm
-        'Term::Cap'             => undef,  # lib/Term/Cap.pm
-        'Term::Complete'        => undef,  # lib/Term/Complete.pm
-        'Test::Harness'         => undef,  # lib/Test/Harness.pm
-        'Text::Abbrev'          => undef,  # lib/Text/Abbrev.pm
-        'Text::ParseWords'      => undef,  # lib/Text/ParseWords.pm
-        'Text::Soundex'         => undef,  # lib/Text/Soundex.pm
-        'Text::Tabs'            => undef,  # lib/Text/Tabs.pm
-        'TieHash'               => undef,  # lib/TieHash.pm
-        'Time::Local'           => undef,  # lib/Time/Local.pm
-        'integer'               => undef,  # lib/integer.pm
-        'less'                  => undef,  # lib/less.pm
-        'sigtrap'               => undef,  # lib/sigtrap.pm
-        'strict'                => undef,  # lib/strict.pm
-        'subs'                  => undef,  # lib/subs.pm
+my %delta = (
+    5 => {
+        changed => {
+            'AnyDBM_File'           => undef,
+            'AutoLoader'            => undef,
+            'AutoSplit'             => undef,
+            'Benchmark'             => undef,
+            'Carp'                  => undef,
+            'Cwd'                   => undef,
+            'DB_File'               => undef,
+            'DynaLoader'            => undef,
+            'English'               => undef,
+            'Env'                   => undef,
+            'Exporter'              => undef,
+            'ExtUtils::MakeMaker'   => undef,
+            'Fcntl'                 => undef,
+            'File::Basename'        => undef,
+            'File::CheckTree'       => undef,
+            'File::Find'            => undef,
+            'FileHandle'            => undef,
+            'GDBM_File'             => undef,
+            'Getopt::Long'          => undef,
+            'Getopt::Std'           => undef,
+            'I18N::Collate'         => undef,
+            'IPC::Open2'            => undef,
+            'IPC::Open3'            => undef,
+            'Math::BigFloat'        => undef,
+            'Math::BigInt'          => undef,
+            'Math::Complex'         => undef,
+            'NDBM_File'             => undef,
+            'Net::Ping'             => undef,
+            'ODBM_File'             => undef,
+            'POSIX'                 => undef,
+            'SDBM_File'             => undef,
+            'Search::Dict'          => undef,
+            'Shell'                 => undef,
+            'Socket'                => undef,
+            'Sys::Hostname'         => undef,
+            'Sys::Syslog'           => undef,
+            'Term::Cap'             => undef,
+            'Term::Complete'        => undef,
+            'Test::Harness'         => undef,
+            'Text::Abbrev'          => undef,
+            'Text::ParseWords'      => undef,
+            'Text::Soundex'         => undef,
+            'Text::Tabs'            => undef,
+            'TieHash'               => undef,
+            'Time::Local'           => undef,
+            'integer'               => undef,
+            'less'                  => undef,
+            'sigtrap'               => undef,
+            'strict'                => undef,
+            'subs'                  => undef,
+        },
+        removed => {
+        }
     },
-
     5.001 => {
-        'AnyDBM_File'           => undef,  # lib/AnyDBM_File.pm
-        'AutoLoader'            => undef,  # lib/AutoLoader.pm
-        'AutoSplit'             => undef,  # lib/AutoSplit.pm
-        'Benchmark'             => undef,  # lib/Benchmark.pm
-        'Carp'                  => undef,  # lib/Carp.pm
-        'Cwd'                   => undef,  # lib/Cwd.pm
-        'DB_File'               => undef,  # ext/DB_File/DB_File.pm
-        'DynaLoader'            => undef,  # ext/DynaLoader/DynaLoader.pm
-        'English'               => undef,  # lib/English.pm
-        'Env'                   => undef,  # lib/Env.pm
-        'Exporter'              => undef,  # lib/Exporter.pm
-        'ExtUtils::Liblist'     => undef,  # lib/ExtUtils/Liblist.pm
-        'ExtUtils::MakeMaker'   => undef,  # lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => undef,  # lib/ExtUtils/Manifest.pm
-        'ExtUtils::Mkbootstrap' => undef,  # lib/ExtUtils/Mkbootstrap.pm
-        'Fcntl'                 => undef,  # ext/Fcntl/Fcntl.pm
-        'File::Basename'        => undef,  # lib/File/Basename.pm
-        'File::CheckTree'       => undef,  # lib/File/CheckTree.pm
-        'File::Find'            => undef,  # lib/File/Find.pm
-        'File::Path'            => undef,  # lib/File/Path.pm
-        'FileHandle'            => undef,  # lib/FileHandle.pm
-        'GDBM_File'             => undef,  # ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => undef,  # lib/Getopt/Long.pm
-        'Getopt::Std'           => undef,  # lib/Getopt/Std.pm
-        'I18N::Collate'         => undef,  # lib/I18N/Collate.pm
-        'IPC::Open2'            => undef,  # lib/IPC/Open2.pm
-        'IPC::Open3'            => undef,  # lib/IPC/Open3.pm
-        'Math::BigFloat'        => undef,  # lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef,  # lib/Math/BigInt.pm
-        'Math::Complex'         => undef,  # lib/Math/Complex.pm
-        'NDBM_File'             => undef,  # ext/NDBM_File/NDBM_File.pm
-        'Net::Ping'             => undef,  # lib/Net/Ping.pm
-        'ODBM_File'             => undef,  # ext/ODBM_File/ODBM_File.pm
-        'POSIX'                 => undef,  # ext/POSIX/POSIX.pm
-        'SDBM_File'             => undef,  # ext/SDBM_File/SDBM_File.pm
-        'Search::Dict'          => undef,  # lib/Search/Dict.pm
-        'Shell'                 => undef,  # lib/Shell.pm
-        'Socket'                => undef,  # ext/Socket/Socket.pm
-        'SubstrHash'            => undef,  # lib/SubstrHash.pm
-        'Sys::Hostname'         => undef,  # lib/Sys/Hostname.pm
-        'Sys::Syslog'           => undef,  # lib/Sys/Syslog.pm
-        'Term::Cap'             => undef,  # lib/Term/Cap.pm
-        'Term::Complete'        => undef,  # lib/Term/Complete.pm
-        'Test::Harness'         => undef,  # lib/Test/Harness.pm
-        'Text::Abbrev'          => undef,  # lib/Text/Abbrev.pm
-        'Text::ParseWords'      => undef,  # lib/Text/ParseWords.pm
-        'Text::Soundex'         => undef,  # lib/Text/Soundex.pm
-        'Text::Tabs'            => undef,  # lib/Text/Tabs.pm
-        'TieHash'               => undef,  # lib/TieHash.pm
-        'Time::Local'           => undef,  # lib/Time/Local.pm
-        'integer'               => undef,  # lib/integer.pm
-        'less'                  => undef,  # lib/less.pm
-        'lib'                   => undef,  # lib/lib.pm
-        'sigtrap'               => undef,  # lib/sigtrap.pm
-        'strict'                => undef,  # lib/strict.pm
-        'subs'                  => undef,  # lib/subs.pm
+        delta_from => 5,
+        changed => {
+            'ExtUtils::Liblist'     => undef,
+            'ExtUtils::Manifest'    => undef,
+            'ExtUtils::Mkbootstrap' => undef,
+            'File::Path'            => undef,
+            'SubstrHash'            => undef,
+            'lib'                   => undef,
+        },
+        removed => {
+        }
     },
-
     5.002 => {
-        'AnyDBM_File'           => undef,  # lib/AnyDBM_File.pm
-        'AutoLoader'            => undef,  # lib/AutoLoader.pm
-        'AutoSplit'             => undef,  # lib/AutoSplit.pm
-        'Benchmark'             => undef,  # lib/Benchmark.pm
-        'Carp'                  => undef,  # lib/Carp.pm
-        'Cwd'                   => undef,  # lib/Cwd.pm
-        'DB_File'               => '1.01',  # ext/DB_File/DB_File.pm
-        'Devel::SelfStubber'    => '1.01',  # lib/Devel/SelfStubber.pm
-        'DirHandle'             => undef,  # lib/DirHandle.pm
-        'DynaLoader'            => '1.00',  # ext/DynaLoader/DynaLoader.pm
-        'English'               => undef,  # lib/English.pm
-        'Env'                   => undef,  # lib/Env.pm
-        'Exporter'              => undef,  # lib/Exporter.pm
-        'ExtUtils::Install'     => undef,  # lib/ExtUtils/Install.pm
-        'ExtUtils::Liblist'     => undef,  # lib/ExtUtils/Liblist.pm
-        'ExtUtils::MM_OS2'      => undef,  # lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => undef,  # lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_VMS'      => undef,  # lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MakeMaker'   => '5.21',  # lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.22',  # lib/ExtUtils/Manifest.pm
-        'ExtUtils::Mkbootstrap' => undef,  # lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.00',  # lib/ExtUtils/Mksymlists.pm
-        'Fcntl'                 => '1.00',  # ext/Fcntl/Fcntl.pm
-        'File::Basename'        => undef,  # lib/File/Basename.pm
-        'File::CheckTree'       => undef,  # lib/File/CheckTree.pm
-        'File::Copy'            => '1.5',  # lib/File/Copy.pm
-        'File::Find'            => undef,  # lib/File/Find.pm
-        'File::Path'            => '1.01',  # lib/File/Path.pm
-        'FileCache'             => undef,  # lib/FileCache.pm
-        'FileHandle'            => '1.00',  # ext/FileHandle/FileHandle.pm
-        'GDBM_File'             => '1.00',  # ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.01',  # lib/Getopt/Long.pm
-        'Getopt::Std'           => undef,  # lib/Getopt/Std.pm
-        'I18N::Collate'         => undef,  # lib/I18N/Collate.pm
-        'IPC::Open2'            => undef,  # lib/IPC/Open2.pm
-        'IPC::Open3'            => undef,  # lib/IPC/Open3.pm
-        'Math::BigFloat'        => undef,  # lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef,  # lib/Math/BigInt.pm
-        'Math::Complex'         => undef,  # lib/Math/Complex.pm
-        'NDBM_File'             => '1.00',  # ext/NDBM_File/NDBM_File.pm
-        'Net::Ping'             => '1',  # lib/Net/Ping.pm
-        'ODBM_File'             => '1.00',  # ext/ODBM_File/ODBM_File.pm
-        'POSIX'                 => '1.00',  # ext/POSIX/POSIX.pm
-        'Pod::Functions'        => undef,  # lib/Pod/Functions.pm
-        'Pod::Text'             => undef,  # lib/Pod/Text.pm
-        'SDBM_File'             => '1.00',  # ext/SDBM_File/SDBM_File.pm
-        'Safe'                  => '1.00',  # ext/Safe/Safe.pm
-        'Search::Dict'          => undef,  # lib/Search/Dict.pm
-        'SelectSaver'           => undef,  # lib/SelectSaver.pm
-        'SelfLoader'            => '1.06',  # lib/SelfLoader.pm
-        'Shell'                 => undef,  # lib/Shell.pm
-        'Socket'                => '1.5',  # ext/Socket/Socket.pm
-        'Symbol'                => undef,  # lib/Symbol.pm
-        'Sys::Hostname'         => undef,  # lib/Sys/Hostname.pm
-        'Sys::Syslog'           => undef,  # lib/Sys/Syslog.pm
-        'Term::Cap'             => undef,  # lib/Term/Cap.pm
-        'Term::Complete'        => undef,  # lib/Term/Complete.pm
-        'Term::ReadLine'        => undef,  # lib/Term/ReadLine.pm
-        'Test::Harness'         => '1.07',  # lib/Test/Harness.pm
-        'Text::Abbrev'          => undef,  # lib/Text/Abbrev.pm
-        'Text::ParseWords'      => undef,  # lib/Text/ParseWords.pm
-        'Text::Soundex'         => undef,  # lib/Text/Soundex.pm
-        'Text::Tabs'            => undef,  # lib/Text/Tabs.pm
-        'Text::Wrap'            => undef,  # lib/Text/Wrap.pm
-        'Tie::Hash'             => undef,  # lib/Tie/Hash.pm
-        'Tie::Scalar'           => undef,  # lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => undef,  # lib/Tie/SubstrHash.pm
-        'Time::Local'           => undef,  # lib/Time/Local.pm
-        'diagnostics'           => undef,  # lib/diagnostics.pm
-        'integer'               => undef,  # lib/integer.pm
-        'less'                  => undef,  # lib/less.pm
-        'lib'                   => undef,  # lib/lib.pm
-        'overload'              => undef,  # lib/overload.pm
-        'sigtrap'               => undef,  # lib/sigtrap.pm
-        'strict'                => undef,  # lib/strict.pm
-        'subs'                  => undef,  # lib/subs.pm
-        'vars'                  => undef,  # lib/vars.pm
+        delta_from => 5.001,
+        changed => {
+            'DB_File'               => '1.01',
+            'Devel::SelfStubber'    => '1.01',
+            'DirHandle'             => undef,
+            'DynaLoader'            => '1.00',
+            'ExtUtils::Install'     => undef,
+            'ExtUtils::MM_OS2'      => undef,
+            'ExtUtils::MM_Unix'     => undef,
+            'ExtUtils::MM_VMS'      => undef,
+            'ExtUtils::MakeMaker'   => '5.21',
+            'ExtUtils::Manifest'    => '1.22',
+            'ExtUtils::Mksymlists'  => '1.00',
+            'Fcntl'                 => '1.00',
+            'File::Copy'            => '1.5',
+            'File::Path'            => '1.01',
+            'FileCache'             => undef,
+            'FileHandle'            => '1.00',
+            'GDBM_File'             => '1.00',
+            'Getopt::Long'          => '2.01',
+            'NDBM_File'             => '1.00',
+            'Net::Ping'             => '1',
+            'ODBM_File'             => '1.00',
+            'POSIX'                 => '1.00',
+            'Pod::Functions'        => undef,
+            'Pod::Text'             => undef,
+            'SDBM_File'             => '1.00',
+            'Safe'                  => '1.00',
+            'SelectSaver'           => undef,
+            'SelfLoader'            => '1.06',
+            'Socket'                => '1.5',
+            'Symbol'                => undef,
+            'Term::ReadLine'        => undef,
+            'Test::Harness'         => '1.07',
+            'Text::Wrap'            => undef,
+            'Tie::Hash'             => undef,
+            'Tie::Scalar'           => undef,
+            'Tie::SubstrHash'       => undef,
+            'diagnostics'           => undef,
+            'overload'              => undef,
+            'vars'                  => undef,
+        },
+        removed => {
+            'SubstrHash'            => 1,
+            'TieHash'               => 1,
+        }
     },
-
     5.00307 => {
-        'AnyDBM_File'           => undef, #./lib/AnyDBM_File.pm
-        'AutoLoader'            => undef, #./lib/AutoLoader.pm
-        'AutoSplit'             => undef, #./lib/AutoSplit.pm
-        'Benchmark'             => undef, #./lib/Benchmark.pm
-        'Carp'                  => undef, #./lib/Carp.pm
-        'Config'                => undef,
-        'Cwd'                   => undef, #./lib/Cwd.pm
-        'DB_File'               => '1.03', #./lib/DB_File.pm
-        'Devel::SelfStubber'    => '1.01', #./lib/Devel/SelfStubber.pm
-        'diagnostics'           => undef, #./lib/diagnostics.pm
-        'DirHandle'             => undef, #./lib/DirHandle.pm
-        'DynaLoader'            => '1.00', #./ext/DynaLoader/DynaLoader.pm
-        'English'               => undef, #./lib/English.pm
-        'Env'                   => undef, #./lib/Env.pm
-        'Exporter'              => undef, #./lib/Exporter.pm
-        'ExtUtils::Embed'       => '1.18', #./lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.15 ', #./lib/ExtUtils/Install.pm
-        'ExtUtils::Liblist'     => '1.20 ', #./lib/ExtUtils/Liblist.pm
-        'ExtUtils::MakeMaker'   => '5.38', #./lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.27', #./lib/ExtUtils/Manifest.pm
-        'ExtUtils::Mkbootstrap' => '1.13 ', #./lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.12 ', #./lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM_OS2'      => undef, #./lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.107 ', #./lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_VMS'      => undef, #./lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::testlib'     => '1.11 ', #./lib/ExtUtils/testlib.pm
-        'Fatal'                 => undef, #./lib/Fatal.pm
-        'Fcntl'                 => '1.00', #./ext/Fcntl/Fcntl.pm
-        'File::Basename'        => '2.4', #./lib/File/Basename.pm
-        'File::CheckTree'       => undef, #./lib/File/CheckTree.pm
-        'File::Copy'            => '1.5', #./lib/File/Copy.pm
-        'File::Find'            => undef, #./lib/File/Find.pm
-        'File::Path'            => '1.01', #./lib/File/Path.pm
-        'FileCache'             => undef, #./lib/FileCache.pm
-        'FileHandle'            => '1.00', #./ext/FileHandle/FileHandle.pm
-        'FindBin'               => '1.04', #./lib/FindBin.pm
-        'GDBM_File'             => '1.00', #./ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.04', #./lib/Getopt/Long.pm
-        'Getopt::Std'           => undef, #./lib/Getopt/Std.pm
-        'I18N::Collate'         => undef, #./lib/I18N/Collate.pm
-        'integer'               => undef, #./lib/integer.pm
-        'IO'                    => undef, #./ext/IO/IO.pm
-        'IO::File'              => '1.05', #./ext/IO/lib/IO/File.pm
-        'IO::Handle'            => '1.12', #./ext/IO/lib/IO/Handle.pm
-        'IO::Pipe'              => '1.07', #./ext/IO/lib/IO/Pipe.pm
-        'IO::Seekable'          => '1.05', #./ext/IO/lib/IO/Seekable.pm
-        'IO::Select'            => '1.09', #./ext/IO/lib/IO/Select.pm
-        'IO::Socket'            => '1.13', #./ext/IO/lib/IO/Socket.pm
-        'IPC::Open2'            => undef, #./lib/IPC/Open2.pm
-        'IPC::Open3'            => undef, #./lib/IPC/Open3.pm
-        'less'                  => undef, #./lib/less.pm
-        'lib'                   => undef, #./lib/lib.pm
-        'Math::BigFloat'        => undef, #./lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef, #./lib/Math/BigInt.pm
-        'Math::Complex'         => undef, #./lib/Math/Complex.pm
-        'NDBM_File'             => '1.00', #./ext/NDBM_File/NDBM_File.pm
-        'Net::Ping'             => '1.01', #./lib/Net/Ping.pm
-        'ODBM_File'             => '1.00', #./ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.01', #./ext/Opcode/Opcode.pm
-        'ops'                   => undef, #./ext/Opcode/ops.pm
-        'OS2::ExtAttr'          => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => undef, #./os2/OS2/Process/Process.pm
-        'OS2::REXX'             => undef, #./os2/OS2/REXX/REXX.pm
-        'overload'              => undef, #./lib/overload.pm
-        'Pod::Functions'        => undef, #./lib/Pod/Functions.pm
-        'Pod::Text'             => undef, #./lib/Pod/Text.pm
-        'POSIX'                 => '1.00', #./ext/POSIX/POSIX.pm
-        'Safe'                  => '2.06', #./ext/Opcode/Safe.pm
-        'SDBM_File'             => '1.00', #./ext/SDBM_File/SDBM_File.pm
-        'Search::Dict'          => undef, #./lib/Search/Dict.pm
-        'SelectSaver'           => undef, #./lib/SelectSaver.pm
-        'SelfLoader'            => '1.06', #./lib/SelfLoader.pm
-        'Shell'                 => undef, #./lib/Shell.pm
-        'sigtrap'               => '1.01', #./lib/sigtrap.pm
-        'Socket'                => '1.5', #./ext/Socket/Socket.pm
-        'strict'                => undef, #./lib/strict.pm
-        'subs'                  => undef, #./lib/subs.pm
-        'Symbol'                => undef, #./lib/Symbol.pm
-        'Sys::Hostname'         => undef, #./lib/Sys/Hostname.pm
-        'Sys::Syslog'           => undef, #./lib/Sys/Syslog.pm
-        'Term::Cap'             => undef, #./lib/Term/Cap.pm
-        'Term::Complete'        => undef, #./lib/Term/Complete.pm
-        'Term::ReadLine'        => undef, #./lib/Term/ReadLine.pm
-        'Test::Harness'         => '1.13', #./lib/Test/Harness.pm
-        'Text::Abbrev'          => undef, #./lib/Text/Abbrev.pm
-        'Text::ParseWords'      => undef, #./lib/Text/ParseWords.pm
-        'Text::Soundex'         => undef, #./lib/Text/Soundex.pm
-        'Text::Tabs'            => '96.051501', #./lib/Text/Tabs.pm
-        'Text::Wrap'            => '96.041801', #./lib/Text/Wrap.pm
-        'Tie::Hash'             => undef, #./lib/Tie/Hash.pm
-        'Tie::Scalar'           => undef, #./lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => undef, #./lib/Tie/SubstrHash.pm
-        'Time::Local'           => undef, #./lib/Time/Local.pm
-        'UNIVERSAL'             => undef, #./lib/UNIVERSAL.pm
-        'vars'                  => undef, #./lib/vars.pm
-        'VMS::Filespec'         => undef, #./vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.0', #./vms/ext/Stdio/Stdio.pm
+        delta_from => 5.002,
+        changed => {
+            'Config'                => undef,
+            'DB_File'               => '1.03',
+            'ExtUtils::Embed'       => '1.18',
+            'ExtUtils::Install'     => '1.15 ',
+            'ExtUtils::Liblist'     => '1.20 ',
+            'ExtUtils::MM_Unix'     => '1.107 ',
+            'ExtUtils::MakeMaker'   => '5.38',
+            'ExtUtils::Manifest'    => '1.27',
+            'ExtUtils::Mkbootstrap' => '1.13 ',
+            'ExtUtils::Mksymlists'  => '1.12 ',
+            'ExtUtils::testlib'     => '1.11 ',
+            'Fatal'                 => undef,
+            'File::Basename'        => '2.4',
+            'FindBin'               => '1.04',
+            'Getopt::Long'          => '2.04',
+            'IO'                    => undef,
+            'IO::File'              => '1.05',
+            'IO::Handle'            => '1.12',
+            'IO::Pipe'              => '1.07',
+            'IO::Seekable'          => '1.05',
+            'IO::Select'            => '1.09',
+            'IO::Socket'            => '1.13',
+            'Net::Ping'             => '1.01',
+            'OS2::ExtAttr'          => '0.01',
+            'OS2::PrfDB'            => '0.02',
+            'OS2::Process'          => undef,
+            'OS2::REXX'             => undef,
+            'Opcode'                => '1.01',
+            'Safe'                  => '2.06',
+            'Test::Harness'         => '1.13',
+            'Text::Tabs'            => '96.051501',
+            'Text::Wrap'            => '96.041801',
+            'UNIVERSAL'             => undef,
+            'VMS::Filespec'         => undef,
+            'VMS::Stdio'            => '2.0',
+            'ops'                   => undef,
+            'sigtrap'               => '1.01',
+        },
+        removed => {
+        }
     },
-
-    5.004   => {
-        'AnyDBM_File'           => undef, #./lib/AnyDBM_File.pm
-        'AutoLoader'            => undef, #./lib/AutoLoader.pm
-        'AutoSplit'             => undef, #./lib/AutoSplit.pm
-        'autouse'               => '1.01', #./lib/autouse.pm
-        'Benchmark'             => undef, #./lib/Benchmark.pm
-        'blib'                  => undef, #./lib/blib.pm
-        'Bundle::CPAN'          => '0.02', #./lib/Bundle/CPAN.pm
-        'Carp'                  => undef, #./lib/Carp.pm
-        'CGI'                   => '2.36', #./lib/CGI.pm
-        'CGI::Apache'           => '1.01', #./lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.06', #./lib/CGI/Carp.pm
-        'CGI::Fast'             => '1.00a', #./lib/CGI/Fast.pm
-        'CGI::Push'             => '1.00', #./lib/CGI/Push.pm
-        'CGI::Switch'           => '0.05', #./lib/CGI/Switch.pm
-        'Class::Struct'         => undef, #./lib/Class/Struct.pm
-        'Config'                => undef,
-        'constant'              => '1.00', #./lib/constant.pm
-        'CPAN'                  => '1.2401', #./lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.18 ', #./lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => undef, #./lib/CPAN/Nox.pm
-        'Cwd'                   => '2.00', #./lib/Cwd.pm
-        'DB_File'               => '1.14', #./ext/DB_File/DB_File.pm
-        'Devel::SelfStubber'    => '1.01', #./lib/Devel/SelfStubber.pm
-        'diagnostics'           => undef, #./lib/diagnostics.pm
-        'DirHandle'             => undef, #./lib/DirHandle.pm
-        'DynaLoader'            => '1.02', #./ext/DynaLoader/DynaLoader.pm
-        'English'               => undef, #./lib/English.pm
-        'Env'                   => undef, #./lib/Env.pm
-        'Exporter'              => undef, #./lib/Exporter.pm
-        'ExtUtils::Command'     => '1.00', #./lib/ExtUtils/Command.pm
-        'ExtUtils::Embed'       => '1.2501', #./lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.16 ', #./lib/ExtUtils/Install.pm
-        'ExtUtils::Liblist'     => '1.2201 ', #./lib/ExtUtils/Liblist.pm
-        'ExtUtils::MakeMaker'   => '5.4002', #./lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.33 ', #./lib/ExtUtils/Manifest.pm
-        'ExtUtils::Mkbootstrap' => '1.13 ', #./lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.13 ', #./lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM_OS2'      => undef, #./lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.114 ', #./lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_VMS'      => undef, #./lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => undef, #./lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::testlib'     => '1.11 ', #./lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0', #./vms/ext/XSSymSet.pm
-        'Fcntl'                 => '1.03', #./ext/Fcntl/Fcntl.pm
-        'File::Basename'        => '2.5', #./lib/File/Basename.pm
-        'File::CheckTree'       => undef, #./lib/File/CheckTree.pm
-        'File::Compare'         => '1.1001', #./lib/File/Compare.pm
-        'File::Copy'            => '2.02', #./lib/File/Copy.pm
-        'File::Find'            => undef, #./lib/File/Find.pm
-        'File::Path'            => '1.04', #./lib/File/Path.pm
-        'File::stat'            => undef, #./lib/File/stat.pm
-        'FileCache'             => undef, #./lib/FileCache.pm
-        'FileHandle'            => '2.00', #./lib/FileHandle.pm
-        'FindBin'               => '1.04', #./lib/FindBin.pm
-        'GDBM_File'             => '1.00', #./ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.10', #./lib/Getopt/Long.pm
-        'Getopt::Std'           => undef, #./lib/Getopt/Std.pm
-        'I18N::Collate'         => undef, #./lib/I18N/Collate.pm
-        'integer'               => undef, #./lib/integer.pm
-        'IO'                    => undef, #./ext/IO/IO.pm
-        'IO::File'              => '1.0602', #./ext/IO/lib/IO/File.pm
-        'IO::Handle'            => '1.1504', #./ext/IO/lib/IO/Handle.pm
-        'IO::Pipe'              => '1.0901', #./ext/IO/lib/IO/Pipe.pm
-        'IO::Seekable'          => '1.06', #./ext/IO/lib/IO/Seekable.pm
-        'IO::Select'            => '1.10', #./ext/IO/lib/IO/Select.pm
-        'IO::Socket'            => '1.1602', #./ext/IO/lib/IO/Socket.pm
-        'IPC::Open2'            => '1.01', #./lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0101', #./lib/IPC/Open3.pm
-        'less'                  => undef, #./lib/less.pm
-        'lib'                   => undef, #./lib/lib.pm
-        'locale'                => undef, #./lib/locale.pm
-        'Math::BigFloat'        => undef, #./lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef, #./lib/Math/BigInt.pm
-        'Math::Complex'         => '1.01', #./lib/Math/Complex.pm
-        'Math::Trig'            => '1', #./lib/Math/Trig.pm
-        'NDBM_File'             => '1.00', #./ext/NDBM_File/NDBM_File.pm
-        'Net::hostent'          => undef, #./lib/Net/hostent.pm
-        'Net::netent'           => undef, #./lib/Net/netent.pm
-        'Net::Ping'             => '2.02', #./lib/Net/Ping.pm
-        'Net::protoent'         => undef, #./lib/Net/protoent.pm
-        'Net::servent'          => undef, #./lib/Net/servent.pm
-        'ODBM_File'             => '1.00', #./ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.04', #./ext/Opcode/Opcode.pm
-        'ops'                   => undef, #./ext/Opcode/ops.pm
-        'Safe'                  => '2.06', #./ext/Opcode/Safe.pm
-        'OS2::ExtAttr'          => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => undef, #./os2/OS2/Process/Process.pm
-        'OS2::REXX'             => undef, #./os2/OS2/REXX/REXX.pm
-        'overload'              => undef, #./lib/overload.pm
-        'Pod::Functions'        => undef, #./lib/Pod/Functions.pm
-        'Pod::Html'             => undef, #./lib/Pod/Html.pm
-        'Pod::Text'             => '1.0203', #./lib/Pod/Text.pm
-        'POSIX'                 => '1.02', #./ext/POSIX/POSIX.pm
-        'SDBM_File'             => '1.00', #./ext/SDBM_File/SDBM_File.pm
-        'Search::Dict'          => undef, #./lib/Search/Dict.pm
-        'SelectSaver'           => undef, #./lib/SelectSaver.pm
-        'SelfLoader'            => '1.07', #./lib/SelfLoader.pm
-        'Shell'                 => undef, #./lib/Shell.pm
-        'sigtrap'               => '1.02', #./lib/sigtrap.pm
-        'Socket'                => '1.6', #./ext/Socket/Socket.pm
-        'strict'                => undef, #./lib/strict.pm
-        'subs'                  => undef, #./lib/subs.pm
-        'Symbol'                => '1.02', #./lib/Symbol.pm
-        'Sys::Hostname'         => undef, #./lib/Sys/Hostname.pm
-        'Sys::Syslog'           => undef, #./lib/Sys/Syslog.pm
-        'Term::Cap'             => undef, #./lib/Term/Cap.pm
-        'Term::Complete'        => undef, #./lib/Term/Complete.pm
-        'Term::ReadLine'        => undef, #./lib/Term/ReadLine.pm
-        'Test::Harness'         => '1.1502', #./lib/Test/Harness.pm
-        'Text::Abbrev'          => undef, #./lib/Text/Abbrev.pm
-        'Text::ParseWords'      => undef, #./lib/Text/ParseWords.pm
-        'Text::Soundex'         => undef, #./lib/Text/Soundex.pm
-        'Text::Tabs'            => '96.121201', #./lib/Text/Tabs.pm
-        'Text::Wrap'            => '97.011701', #./lib/Text/Wrap.pm
-        'Tie::Hash'             => undef, #./lib/Tie/Hash.pm
-        'Tie::RefHash'          => undef, #./lib/Tie/RefHash.pm
-        'Tie::Scalar'           => undef, #./lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => undef, #./lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.01', #./lib/Time/gmtime.pm
-        'Time::Local'           => undef, #./lib/Time/Local.pm
-        'Time::localtime'       => '1.01', #./lib/Time/localtime.pm
-        'Time::tm'              => undef, #./lib/Time/tm.pm
-        'UNIVERSAL'             => undef, #./lib/UNIVERSAL.pm
-        'User::grent'           => undef, #./lib/User/grent.pm
-        'User::pwent'           => undef, #./lib/User/pwent.pm
-        'vars'                  => undef, #./lib/vars.pm
-        'VMS::DCLsym'           => '1.01', #./vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => undef, #./vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.02', #./vms/ext/Stdio/Stdio.pm
-        'vmsish'                => undef, #./vms/ext/vmsish.pm
+    5.004 => {
+        delta_from => 5.00307,
+        changed => {
+            'Bundle::CPAN'          => '0.02',
+            'CGI'                   => '2.36',
+            'CGI::Apache'           => '1.01',
+            'CGI::Carp'             => '1.06',
+            'CGI::Fast'             => '1.00a',
+            'CGI::Push'             => '1.00',
+            'CGI::Switch'           => '0.05',
+            'CPAN'                  => '1.2401',
+            'CPAN::FirstTime'       => '1.18 ',
+            'CPAN::Nox'             => undef,
+            'Class::Struct'         => undef,
+            'Cwd'                   => '2.00',
+            'DB_File'               => '1.14',
+            'DynaLoader'            => '1.02',
+            'ExtUtils::Command'     => '1.00',
+            'ExtUtils::Embed'       => '1.2501',
+            'ExtUtils::Install'     => '1.16 ',
+            'ExtUtils::Liblist'     => '1.2201 ',
+            'ExtUtils::MM_Unix'     => '1.114 ',
+            'ExtUtils::MM_Win32'    => undef,
+            'ExtUtils::MakeMaker'   => '5.4002',
+            'ExtUtils::Manifest'    => '1.33 ',
+            'ExtUtils::Mksymlists'  => '1.13 ',
+            'ExtUtils::XSSymSet'    => '1.0',
+            'Fcntl'                 => '1.03',
+            'File::Basename'        => '2.5',
+            'File::Compare'         => '1.1001',
+            'File::Copy'            => '2.02',
+            'File::Path'            => '1.04',
+            'File::stat'            => undef,
+            'FileHandle'            => '2.00',
+            'Getopt::Long'          => '2.10',
+            'IO::File'              => '1.0602',
+            'IO::Handle'            => '1.1504',
+            'IO::Pipe'              => '1.0901',
+            'IO::Seekable'          => '1.06',
+            'IO::Select'            => '1.10',
+            'IO::Socket'            => '1.1602',
+            'IPC::Open2'            => '1.01',
+            'IPC::Open3'            => '1.0101',
+            'Math::Complex'         => '1.01',
+            'Math::Trig'            => '1',
+            'Net::Ping'             => '2.02',
+            'Net::hostent'          => undef,
+            'Net::netent'           => undef,
+            'Net::protoent'         => undef,
+            'Net::servent'          => undef,
+            'Opcode'                => '1.04',
+            'POSIX'                 => '1.02',
+            'Pod::Html'             => undef,
+            'Pod::Text'             => '1.0203',
+            'SelfLoader'            => '1.07',
+            'Socket'                => '1.6',
+            'Symbol'                => '1.02',
+            'Test::Harness'         => '1.1502',
+            'Text::Tabs'            => '96.121201',
+            'Text::Wrap'            => '97.011701',
+            'Tie::RefHash'          => undef,
+            'Time::gmtime'          => '1.01',
+            'Time::localtime'       => '1.01',
+            'Time::tm'              => undef,
+            'User::grent'           => undef,
+            'User::pwent'           => undef,
+            'VMS::DCLsym'           => '1.01',
+            'VMS::Stdio'            => '2.02',
+            'autouse'               => '1.01',
+            'blib'                  => undef,
+            'constant'              => '1.00',
+            'locale'                => undef,
+            'sigtrap'               => '1.02',
+            'vmsish'                => undef,
+        },
+        removed => {
+            'Fatal'                 => 1,
+        }
     },
-
-    5.005   => {
-        'AnyDBM_File'           => undef, #./lib/AnyDBM_File.pm
-        'attrs'                 => '1.0', #./ext/attrs/attrs.pm
-        'AutoLoader'            => undef, #./lib/AutoLoader.pm
-        'AutoSplit'             => '1.0302', #./lib/AutoSplit.pm
-        'autouse'               => '1.01', #./lib/autouse.pm
-        'B'                     => undef, #./ext/B/B.pm
-        'B::Asmdata'            => undef, #./ext/B/B/Asmdata.pm
-        'B::Assembler'          => undef, #./ext/B/B/Assembler.pm
-        'B::Bblock'             => undef, #./ext/B/B/Bblock.pm
-        'B::Bytecode'           => undef, #./ext/B/B/Bytecode.pm
-        'B::C'                  => undef, #./ext/B/B/C.pm
-        'B::CC'                 => undef, #./ext/B/B/CC.pm
-        'B::Debug'              => undef, #./ext/B/B/Debug.pm
-        'B::Deparse'            => '0.56', #./ext/B/B/Deparse.pm
-        'B::Disassembler'       => undef, #./ext/B/B/Disassembler.pm
-        'B::Lint'               => undef, #./ext/B/B/Lint.pm
-        'B::Showlex'            => undef, #./ext/B/B/Showlex.pm
-        'B::Stackobj'           => undef, #./ext/B/B/Stackobj.pm
-        'B::Terse'              => undef, #./ext/B/B/Terse.pm
-        'B::Xref'               => undef, #./ext/B/B/Xref.pm
-        'base'                  => undef, #./lib/base.pm
-        'Benchmark'             => undef, #./lib/Benchmark.pm
-        'blib'                  => '1.00', #./lib/blib.pm
-        'Carp'                  => undef, #./lib/Carp.pm
-        'CGI'                   => '2.42', #./lib/CGI.pm
-        'CGI::Apache'           => '1.1', #./lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.101', #./lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.06', #./lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.00a', #./lib/CGI/Fast.pm
-        'CGI::Push'             => '1.01', #./lib/CGI/Push.pm
-        'CGI::Switch'           => '0.06', #./lib/CGI/Switch.pm
-        'Class::Struct'         => undef, #./lib/Class/Struct.pm
-        'Config'                => undef,
-        'constant'              => '1.00', #./lib/constant.pm
-        'CPAN'                  => '1.3901', #./lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.29 ', #./lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => undef, #./lib/CPAN/Nox.pm
-        'Cwd'                   => '2.01', #./lib/Cwd.pm
-        'Data::Dumper'          => '2.09', #./ext/Data/Dumper/Dumper.pm
-        'DB_File'               => '1.60', #./ext/DB_File/DB_File.pm
-        'Devel::SelfStubber'    => '1.01', #./lib/Devel/SelfStubber.pm
-        'DynaLoader'            => '1.03',
-        'diagnostics'           => undef, #./lib/diagnostics.pm
-        'DirHandle'             => undef, #./lib/DirHandle.pm
-        'English'               => undef, #./lib/English.pm
-        'Env'                   => undef, #./lib/Env.pm
-        'Exporter'              => undef, #./lib/Exporter.pm
-        'ExtUtils::Command'     => '1.01', #./lib/ExtUtils/Command.pm
-        'ExtUtils::Embed'       => '1.2505', #./lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.28 ', #./lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.02', #./lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.25 ', #./lib/ExtUtils/Liblist.pm
-        'ExtUtils::MakeMaker'   => '5.4301', #./lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.33 ', #./lib/ExtUtils/Manifest.pm
-        'ExtUtils::Mkbootstrap' => '1.13 ', #./lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.17 ', #./lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM_OS2'      => undef, #./lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.12601 ', #./lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_VMS'      => undef, #./lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => undef, #./lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::Packlist'    => '0.03', #./lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.11 ', #./lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0', #./vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.02', #./lib/Fatal.pm
-        'Fcntl'                 => '1.03', #./ext/Fcntl/Fcntl.pm
-        'fields'                => '0.02', #./lib/fields.pm
-        'File::Basename'        => '2.6', #./lib/File/Basename.pm
-        'File::CheckTree'       => undef, #./lib/File/CheckTree.pm
-        'File::Compare'         => '1.1001', #./lib/File/Compare.pm
-        'File::Copy'            => '2.02', #./lib/File/Copy.pm
-        'File::DosGlob'         => undef, #./lib/File/DosGlob.pm
-        'File::Find'            => undef, #./lib/File/Find.pm
-        'File::Path'            => '1.0401', #./lib/File/Path.pm
-        'File::Spec'            => '0.6', #./lib/File/Spec.pm
-        'File::Spec::Mac'       => '1.0', #./lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => undef, #./lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => undef, #./lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => undef, #./lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => undef, #./lib/File/Spec/Win32.pm
-        'File::stat'            => undef, #./lib/File/stat.pm
-        'FileCache'             => undef, #./lib/FileCache.pm
-        'FileHandle'            => '2.00', #./lib/FileHandle.pm
-        'FindBin'               => '1.41', #./lib/FindBin.pm
-        'GDBM_File'             => '1.00', #./ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.17', #./lib/Getopt/Long.pm
-        'Getopt::Std'           => undef, #./lib/Getopt/Std.pm
-        'I18N::Collate'         => undef, #./lib/I18N/Collate.pm
-        'integer'               => undef, #./lib/integer.pm
-        'IO'                    => undef, #./ext/IO/IO.pm
-        'IO::File'              => '1.06021', #./ext/IO/lib/IO/File.pm
-        'IO::Handle'            => '1.1505', #./ext/IO/lib/IO/Handle.pm
-        'IO::Pipe'              => '1.0901', #./ext/IO/lib/IO/Pipe.pm
-        'IO::Seekable'          => '1.06', #./ext/IO/lib/IO/Seekable.pm
-        'IO::Select'            => '1.10', #./ext/IO/lib/IO/Select.pm
-        'IO::Socket'            => '1.1603', #./ext/IO/lib/IO/Socket.pm
-        'IPC::Open2'            => '1.01', #./lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0102', #./lib/IPC/Open3.pm
-        'IPC::Msg'              => '1.00', #./ext/IPC/SysV/Msg.pm
-        'IPC::Semaphore'        => '1.00', #./ext/IPC/SysV/Semaphore.pm
-        'IPC::SysV'             => '1.03', #./ext/IPC/SysV/SysV.pm
-        'less'                  => undef, #./lib/less.pm
-        'lib'                   => undef, #./lib/lib.pm
-        'locale'                => undef, #./lib/locale.pm
-        'Math::BigFloat'        => undef, #./lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef, #./lib/Math/BigInt.pm
-        'Math::Complex'         => '1.25', #./lib/Math/Complex.pm
-        'Math::Trig'            => '1', #./lib/Math/Trig.pm
-        'NDBM_File'             => '1.01', #./ext/NDBM_File/NDBM_File.pm
-        'Net::hostent'          => undef, #./lib/Net/hostent.pm
-        'Net::netent'           => undef, #./lib/Net/netent.pm
-        'Net::Ping'             => '2.02', #./lib/Net/Ping.pm
-        'Net::protoent'         => undef, #./lib/Net/protoent.pm
-        'Net::servent'          => undef, #./lib/Net/servent.pm
-        'O'                     => undef, #./ext/B/O.pm
-        'ODBM_File'             => '1.00', #./ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.04', #./ext/Opcode/Opcode.pm
-        'ops'                   => undef, #./ext/Opcode/ops.pm
-        'Safe'                  => '2.06', #./ext/Opcode/Safe.pm
-        'OS2::ExtAttr'          => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '0.2', #./os2/OS2/Process/Process.pm
-        'OS2::REXX'             => undef, #./os2/OS2/REXX/REXX.pm
-        'overload'              => undef, #./lib/overload.pm
-        'Pod::Functions'        => undef, #./lib/Pod/Functions.pm
-        'Pod::Html'             => '1.01', #./lib/Pod/Html.pm
-        'Pod::Text'             => '1.0203', #./lib/Pod/Text.pm
-        'POSIX'                 => '1.02', #./ext/POSIX/POSIX.pm
-        're'                    => '0.02', #./ext/re/re.pm
-        'SDBM_File'             => '1.00', #./ext/SDBM_File/SDBM_File.pm
-        'Search::Dict'          => undef, #./lib/Search/Dict.pm
-        'SelectSaver'           => undef, #./lib/SelectSaver.pm
-        'SelfLoader'            => '1.08', #./lib/SelfLoader.pm
-        'Shell'                 => undef, #./lib/Shell.pm
-        'sigtrap'               => '1.02', #./lib/sigtrap.pm
-        'Socket'                => '1.7', #./ext/Socket/Socket.pm
-        'strict'                => '1.01', #./lib/strict.pm
-        'subs'                  => undef, #./lib/subs.pm
-        'Symbol'                => '1.02', #./lib/Symbol.pm
-        'Sys::Hostname'         => undef, #./lib/Sys/Hostname.pm
-        'Sys::Syslog'           => undef, #./lib/Sys/Syslog.pm
-        'Term::Cap'             => undef, #./lib/Term/Cap.pm
-        'Term::Complete'        => undef, #./lib/Term/Complete.pm
-        'Term::ReadLine'        => undef, #./lib/Term/ReadLine.pm
-        'Test'                  => '1.04', #./lib/Test.pm
-        'Test::Harness'         => '1.1602', #./lib/Test/Harness.pm
-        'Text::Abbrev'          => undef, #./lib/Text/Abbrev.pm
-        'Text::ParseWords'      => '3.1', #./lib/Text/ParseWords.pm
-        'Text::Soundex'         => undef, #./lib/Text/Soundex.pm
-        'Text::Tabs'            => '96.121201', #./lib/Text/Tabs.pm
-        'Text::Wrap'            => '97.02', #./lib/Text/Wrap.pm
-        'Thread'                => '1.0', #./ext/Thread/Thread.pm
-        'Thread::Queue'         => undef, #./ext/Thread/Thread/Queue.pm
-        'Thread::Semaphore'     => undef, #./ext/Thread/Thread/Semaphore.pm
-        'Thread::Signal'        => undef, #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => undef, #./ext/Thread/Thread/Specific.pm
-        'Tie::Array'            => '1.00', #./lib/Tie/Array.pm
-        'Tie::Handle'           => undef, #./lib/Tie/Handle.pm
-        'Tie::Hash'             => undef, #./lib/Tie/Hash.pm
-        'Tie::RefHash'          => undef, #./lib/Tie/RefHash.pm
-        'Tie::Scalar'           => undef, #./lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => undef, #./lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.01', #./lib/Time/gmtime.pm
-        'Time::Local'           => undef, #./lib/Time/Local.pm
-        'Time::localtime'       => '1.01', #./lib/Time/localtime.pm
-        'Time::tm'              => undef, #./lib/Time/tm.pm
-        'UNIVERSAL'             => undef, #./lib/UNIVERSAL.pm
-        'User::grent'           => undef, #./lib/User/grent.pm
-        'User::pwent'           => undef, #./lib/User/pwent.pm
-        'vars'                  => undef, #./lib/vars.pm
-        'VMS::DCLsym'           => '1.01', #./vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => undef, #./vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.1', #./vms/ext/Stdio/Stdio.pm
-        'vmsish'                => undef, #./vms/ext/vmsish.pm
+    5.00405 => {
+        delta_from => 5.004,
+        changed => {
+            'AutoLoader'            => '5.56',
+            'AutoSplit'             => '1.0303',
+            'Bundle::CPAN'          => '0.03',
+            'CGI'                   => '2.42',
+            'CGI::Apache'           => '1.1',
+            'CGI::Carp'             => '1.10',
+            'CGI::Cookie'           => '1.06',
+            'CGI::Push'             => '1.01',
+            'CGI::Switch'           => '0.06',
+            'CPAN'                  => '1.40',
+            'CPAN::FirstTime'       => '1.30 ',
+            'Cwd'                   => '2.01',
+            'DB_File'               => '1.15',
+            'DynaLoader'            => '1.03',
+            'ExtUtils::Command'     => '1.01',
+            'ExtUtils::Embed'       => '1.2505',
+            'ExtUtils::Install'     => '1.28 ',
+            'ExtUtils::Liblist'     => '1.25 ',
+            'ExtUtils::MM_Unix'     => '1.118 ',
+            'ExtUtils::MakeMaker'   => '5.42',
+            'ExtUtils::Mkbootstrap' => '1.14 ',
+            'ExtUtils::Mksymlists'  => '1.16 ',
+            'File::Basename'        => '2.6',
+            'File::DosGlob'         => undef,
+            'File::Path'            => '1.0402',
+            'File::Spec'            => '0.6',
+            'File::Spec::Mac'       => '1.0',
+            'File::Spec::OS2'       => undef,
+            'File::Spec::Unix'      => undef,
+            'File::Spec::VMS'       => undef,
+            'File::Spec::Win32'     => undef,
+            'FindBin'               => '1.41',
+            'Getopt::Long'          => '2.19',
+            'IO::File'              => '1.06021',
+            'IO::Socket'            => '1.1603',
+            'IPC::Open3'            => '1.0103',
+            'Math::Complex'         => '1.25',
+            'NDBM_File'             => '1.01',
+            'Pod::Html'             => '1.0101',
+            'Pod::Text'             => '1.0204',
+            'SelfLoader'            => '1.08',
+            'Socket'                => '1.7',
+            'Test'                  => '1.04',
+            'Test::Harness'         => '1.1602',
+            'Text::ParseWords'      => '3.1001',
+            'Text::Wrap'            => '98.112902',
+            'Tie::Handle'           => undef,
+            'attrs'                 => '0.1',
+            'base'                  => undef,
+            'blib'                  => '1.00',
+            're'                    => undef,
+            'strict'                => '1.01',
+        },
+        removed => {
+        }
     },
-
-    5.00503   => {
-        'AnyDBM_File'           => undef,
-        'attrs'                 => '1.0',
-        'AutoLoader'            => undef,
-        'AutoSplit'             => 1.0303,
-        'autouse'               => 1.01,
-        'B::Asmdata'            => undef,
-        'B::Assembler'          => undef,
-        'B::Bblock'             => undef,
-        'B::Bytecode'           => undef,
-        'B::C'                  => undef,
-        'B::CC'                 => undef,
-        'B::Debug'              => undef,
-        'B::Deparse'            => 0.56,
-        'B::Disassembler'       => undef,
-        'B::Lint'               => undef,
-        'B'                     => undef,
-        'B::Showlex'            => undef,
-        'B::Stackobj'           => undef,
-        'B::Terse'              => undef,
-        'B::Xref'               => undef,
-        'base'                  => undef,
-        'Benchmark'             => undef,
-        'blib'                  => '1.00',
-        'Carp'                  => undef,
-        'CGI'                   => 2.46,
-        'CGI::Apache'           => 1.1,
-        'CGI::Carp'             => 1.13,
-        'CGI::Cookie'           => 1.06,
-        'CGI::Fast'             => 1.01,
-        'CGI::Push'             => 1.01,
-        'CGI::Switch'           => 0.06,
-        'Class::Struct'         => undef,
-        'Config'                => undef,
-        'constant'              => '1.00',
-        'CPAN::FirstTime'       => 1.36 ,
-        'CPAN'                  => 1.48,
-        'CPAN::Nox'             => '1.00',
-        'Cwd'                   => 2.01,
-        'Data::Dumper'          => 2.101,
-        'DB_File'               => 1.65,
-        'Devel::SelfStubber'    => 1.01,
-        'diagnostics'           => undef,
-        'DirHandle'             => undef,
-        'Dumpvalue'             => undef,
-        'DynaLoader'            => 1.03,
-        'English'               => undef,
-        'Env'                   => undef,
-        'Exporter'              => undef,
-        'ExtUtils::Command'     => 1.01,
-        'ExtUtils::Embed'       => 1.2505,
-        'ExtUtils::Install'     => 1.28 ,
-        'ExtUtils::Installed'   => 0.02,
-        'ExtUtils::Liblist'     => 1.25 ,
-        'ExtUtils::MakeMaker'   => 5.4302,
-        'ExtUtils::Manifest'    => 1.33 ,
-        'ExtUtils::Mkbootstrap' => 1.14 ,
-        'ExtUtils::Mksymlists'  => 1.17 ,
-        'ExtUtils::MM_OS2'      => undef,
-        'ExtUtils::MM_Unix'     => 1.12602 ,
-        'ExtUtils::MM_VMS'      => undef,
-        'ExtUtils::MM_Win32'    => undef,
-        'ExtUtils::Packlist'    => 0.03,
-        'ExtUtils::testlib'     => 1.11 ,
-        'ExtUtils::XSSymSet'    => '1.0',
-        'Fatal'                 => 1.02,
-        'Fcntl'                 => 1.03,
-        'fields'                => 0.02,
-        'File::Basename'        => 2.6,
-        'File::CheckTree'       => undef,
-        'File::Compare'         => 1.1001,
-        'File::Copy'            => 2.02,
-        'File::DosGlob'         => undef,
-        'File::Find'            => undef,
-        'File::Path'            => 1.0401,
-        'File::Spec'            => 0.6,
-        'File::Spec::Mac'       => '1.0',
-        'File::Spec::OS2'       => undef,
-        'File::Spec::Unix'      => undef,
-        'File::Spec::VMS'       => undef,
-        'File::Spec::Win32'     => undef,
-        'File::stat'            => undef,
-        'FileCache'             => undef,
-        'FileHandle'            => '2.00',
-        'FindBin'               => 1.42,
-        'GDBM_File'             => '1.00',
-        'Getopt::Long'          => 2.19,
-        'Getopt::Std'           => 1.01,
-        'I18N::Collate'         => undef,
-        'integer'               => undef,
-        'IO'                    => undef,
-        'IO::File'              => 1.06021,
-        'IO::Handle'            => 1.1505,
-        'IO::Pipe'              => 1.0902,
-        'IO::Seekable'          => 1.06,
-        'IO::Select'            => '1.10',
-        'IO::Socket'            => 1.1603,
-        'IPC::Msg'              => '1.00',
-        'IPC::Open2'            => 1.01,
-        'IPC::Open3'            => 1.0103,
-        'IPC::Semaphore'        => '1.00',
-        'IPC::SysV'             => 1.03,
-        'less'                  => undef,
-        'lib'                   => undef,
-        'locale'                => undef,
-        'Math::BigFloat'        => undef,
-        'Math::BigInt'          => undef,
-        'Math::Complex'         => 1.26,
-        'Math::Trig'            => 1,
-        'NDBM_File'             => 1.01,
-        'Net::hostent'          => undef,
-        'Net::netent'           => undef,
-        'Net::Ping'             => 2.02,
-        'Net::protoent'         => undef,
-        'Net::servent'          => undef,
-        'O'                     => undef,
-        'ODBM_File'             => '1.00',
-        'Opcode'                => 1.04,
-        'ops'                   => undef,
-        'OS2::ExtAttr'          => 0.01,
-        'OS2::PrfDB'            => 0.02,
-        'OS2::Process'          => 0.2,
-        'OS2::REXX'             => undef,
-        'overload'              => undef,
-        'Pod::Functions'        => undef,
-        'Pod::Html'             => 1.01,
-        'Pod::Text'             => 1.0203,
-        'POSIX'                 => 1.02,
-        're'                    => 0.02,
-        'Safe'                  => 2.06,
-        'SDBM_File'             => '1.00',
-        'Search::Dict'          => undef,
-        'SelectSaver'           => undef,
-        'SelfLoader'            => 1.08,
-        'Shell'                 => undef,
-        'sigtrap'               => 1.02,
-        'Socket'                => 1.7,
-        'strict'                => 1.01,
-        'subs'                  => undef,
-        'Symbol'                => 1.02,
-        'Sys::Hostname'         => undef,
-        'Sys::Syslog'           => undef,
-        'Term::Cap'             => undef,
-        'Term::Complete'        => undef,
-        'Term::ReadLine'        => undef,
-        'Test'                  => 1.122,
-        'Test::Harness'         => 1.1602,
-        'Text::Abbrev'          => undef,
-        'Text::ParseWords'      => 3.1,
-        'Text::Soundex'         => undef,
-        'Text::Tabs'            => 96.121201,
-        'Text::Wrap'            => 98.112902,
-        'Thread'                => '1.0',
-        'Thread::Queue'         => undef,
-        'Thread::Semaphore'     => undef,
-        'Thread::Specific'      => undef,
-        'Thread::Signal'        => undef,
-        'Tie::Array'            => '1.00',
-        'Tie::Handle'           => undef,
-        'Tie::Hash'             => undef,
-        'Tie::RefHash'          => undef,
-        'Tie::Scalar'           => undef,
-        'Tie::SubstrHash'       => undef,
-        'Time::gmtime'          => 1.01,
-        'Time::Local'           => undef,
-        'Time::localtime'       => 1.01,
-        'Time::tm'              => undef,
-        'UNIVERSAL'             => undef,
-        'User::grent'           => undef,
-        'User::pwent'           => undef,
-        'vars'                  => undef,
-        'VMS::DCLsym'           => 1.01,
-        'VMS::Filespec'         => undef,
-        'VMS::Stdio'            => 2.1,
-        'vmsish'                => undef,
+    5.005 => {
+        delta_from => 5.00405,
+        changed => {
+            'AutoLoader'            => undef,
+            'AutoSplit'             => '1.0302',
+            'B'                     => undef,
+            'B::Asmdata'            => undef,
+            'B::Assembler'          => undef,
+            'B::Bblock'             => undef,
+            'B::Bytecode'           => undef,
+            'B::C'                  => undef,
+            'B::CC'                 => undef,
+            'B::Debug'              => undef,
+            'B::Deparse'            => '0.56',
+            'B::Disassembler'       => undef,
+            'B::Lint'               => undef,
+            'B::Showlex'            => undef,
+            'B::Stackobj'           => undef,
+            'B::Terse'              => undef,
+            'B::Xref'               => undef,
+            'CGI::Carp'             => '1.101',
+            'CPAN'                  => '1.3901',
+            'CPAN::FirstTime'       => '1.29 ',
+            'DB_File'               => '1.60',
+            'Data::Dumper'          => '2.09',
+            'Errno'                 => '1.09',
+            'ExtUtils::Installed'   => '0.02',
+            'ExtUtils::MM_Unix'     => '1.12601 ',
+            'ExtUtils::MakeMaker'   => '5.4301',
+            'ExtUtils::Mkbootstrap' => '1.13 ',
+            'ExtUtils::Mksymlists'  => '1.17 ',
+            'ExtUtils::Packlist'    => '0.03',
+            'Fatal'                 => '1.02',
+            'File::Path'            => '1.0401',
+            'Getopt::Long'          => '2.17',
+            'IO::Handle'            => '1.1505',
+            'IPC::Msg'              => '1.00',
+            'IPC::Open3'            => '1.0102',
+            'IPC::Semaphore'        => '1.00',
+            'IPC::SysV'             => '1.03',
+            'O'                     => undef,
+            'OS2::Process'          => '0.2',
+            'Pod::Html'             => '1.01',
+            'Pod::Text'             => '1.0203',
+            'Text::ParseWords'      => '3.1',
+            'Text::Wrap'            => '97.02',
+            'Thread'                => '1.0',
+            'Thread::Queue'         => undef,
+            'Thread::Semaphore'     => undef,
+            'Thread::Signal'        => undef,
+            'Thread::Specific'      => undef,
+            'Tie::Array'            => '1.00',
+            'VMS::Stdio'            => '2.1',
+            'attrs'                 => '1.0',
+            'fields'                => '0.02',
+            're'                    => '0.02',
+        },
+        removed => {
+            'Bundle::CPAN'          => 1,
+        }
     },
-
-    5.00405   => {
-        'AnyDBM_File'           => undef, #./lib/AnyDBM_File.pm
-        'attrs'                 => '0.1', #./lib/attrs.pm
-        'AutoLoader'            => '5.56', #./lib/AutoLoader.pm
-        'AutoSplit'             => '1.0303', #./lib/AutoSplit.pm
-        'autouse'               => '1.01', #./lib/autouse.pm
-        'base'                  => undef, #./lib/base.pm
-        'Benchmark'             => undef, #./lib/Benchmark.pm
-        'blib'                  => '1.00', #./lib/blib.pm
-        'Bundle::CPAN'          => '0.03', #./lib/Bundle/CPAN.pm
-        'Carp'                  => undef, #./lib/Carp.pm
-        'CGI'                   => '2.42', #./lib/CGI.pm
-        'CGI::Apache'           => '1.1', #./lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.10', #./lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.06', #./lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.00a', #./lib/CGI/Fast.pm
-        'CGI::Push'             => '1.01', #./lib/CGI/Push.pm
-        'CGI::Switch'           => '0.06', #./lib/CGI/Switch.pm
-        'Class::Struct'         => undef, #./lib/Class/Struct.pm
-        'Config'                => undef,
-        'constant'              => '1.00', #./lib/constant.pm
-        'CPAN'                  => '1.40', #./lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.30 ', #./lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => undef, #./lib/CPAN/Nox.pm
-        'Cwd'                   => '2.01', #./lib/Cwd.pm
-        'DB_File'               => '1.15', #./ext/DB_File/DB_File.pm
-        'Devel::SelfStubber'    => '1.01', #./lib/Devel/SelfStubber.pm
-        'diagnostics'           => undef, #./lib/diagnostics.pm
-        'DirHandle'             => undef, #./lib/DirHandle.pm
-        'DynaLoader'            => '1.03',
-        'English'               => undef, #./lib/English.pm
-        'Env'                   => undef, #./lib/Env.pm
-        'Exporter'              => undef, #./lib/Exporter.pm
-        'ExtUtils::Command'     => '1.01', #./lib/ExtUtils/Command.pm
-        'ExtUtils::Embed'       => '1.2505', #./lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.28 ', #./lib/ExtUtils/Install.pm
-        'ExtUtils::Liblist'     => '1.25 ', #./lib/ExtUtils/Liblist.pm
-        'ExtUtils::MakeMaker'   => '5.42', #./lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.33 ', #./lib/ExtUtils/Manifest.pm
-        'ExtUtils::Mkbootstrap' => '1.14 ', #./lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.16 ', #./lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM_OS2'      => undef, #./lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.118 ', #./lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_VMS'      => undef, #./lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => undef, #./lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::testlib'     => '1.11 ', #./lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0', #./vms/ext/XSSymSet.pm
-        'Fcntl'                 => '1.03', #./ext/Fcntl/Fcntl.pm
-        'File::Basename'        => '2.6', #./lib/File/Basename.pm
-        'File::CheckTree'       => undef, #./lib/File/CheckTree.pm
-        'File::Compare'         => '1.1001', #./lib/File/Compare.pm
-        'File::Copy'            => '2.02', #./lib/File/Copy.pm
-        'File::DosGlob'         => undef, #./lib/File/DosGlob.pm
-        'File::Find'            => undef, #./lib/File/Find.pm
-        'File::Path'            => '1.0402', #./lib/File/Path.pm
-        'File::Spec'            => '0.6', #./lib/File/Spec.pm
-        'File::Spec::Mac'       => '1.0', #./lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => undef, #./lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => undef, #./lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => undef, #./lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => undef, #./lib/File/Spec/Win32.pm
-        'File::stat'            => undef, #./lib/File/stat.pm
-        'FileCache'             => undef, #./lib/FileCache.pm
-        'FileHandle'            => '2.00', #./lib/FileHandle.pm
-        'FindBin'               => '1.41', #./lib/FindBin.pm
-        'GDBM_File'             => '1.00', #./ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.19', #./lib/Getopt/Long.pm
-        'Getopt::Std'           => undef, #./lib/Getopt/Std.pm
-        'I18N::Collate'         => undef, #./lib/I18N/Collate.pm
-        'integer'               => undef, #./lib/integer.pm
-        'IO'                    => undef, #./ext/IO/IO.pm
-        'IO::File'              => '1.06021', #./ext/IO/lib/IO/File.pm
-        'IO::Handle'            => '1.1504', #./ext/IO/lib/IO/Handle.pm
-        'IO::Pipe'              => '1.0901', #./ext/IO/lib/IO/Pipe.pm
-        'IO::Seekable'          => '1.06', #./ext/IO/lib/IO/Seekable.pm
-        'IO::Select'            => '1.10', #./ext/IO/lib/IO/Select.pm
-        'IO::Socket'            => '1.1603', #./ext/IO/lib/IO/Socket.pm
-        'IPC::Open2'            => '1.01', #./lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0103', #./lib/IPC/Open3.pm
-        'less'                  => undef, #./lib/less.pm
-        'lib'                   => undef, #./lib/lib.pm
-        'locale'                => undef, #./lib/locale.pm
-        'Math::BigFloat'        => undef, #./lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef, #./lib/Math/BigInt.pm
-        'Math::Complex'         => '1.25', #./lib/Math/Complex.pm
-        'Math::Trig'            => '1', #./lib/Math/Trig.pm
-        'NDBM_File'             => '1.01', #./ext/NDBM_File/NDBM_File.pm
-        'Net::hostent'          => undef, #./lib/Net/hostent.pm
-        'Net::netent'           => undef, #./lib/Net/netent.pm
-        'Net::Ping'             => '2.02', #./lib/Net/Ping.pm
-        'Net::protoent'         => undef, #./lib/Net/protoent.pm
-        'Net::servent'          => undef, #./lib/Net/servent.pm
-        'ODBM_File'             => '1.00', #./ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.04', #./ext/Opcode/Opcode.pm
-        'ops'                   => undef, #./ext/Opcode/ops.pm
-        'OS2::ExtAttr'          => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => undef, #./os2/OS2/Process/Process.pm
-        'OS2::REXX'             => undef, #./os2/OS2/REXX/REXX.pm
-        'overload'              => undef, #./lib/overload.pm
-        'Pod::Functions'        => undef, #./lib/Pod/Functions.pm
-        'Pod::Html'             => '1.0101', #./lib/Pod/Html.pm
-        'Pod::Text'             => '1.0204', #./lib/Pod/Text.pm
-        'POSIX'                 => '1.02', #./ext/POSIX/POSIX.pm
-        're'                    => undef, #./lib/re.pm
-        'Safe'                  => '2.06', #./ext/Opcode/Safe.pm
-        'SDBM_File'             => '1.00', #./ext/SDBM_File/SDBM_File.pm
-        'Search::Dict'          => undef, #./lib/Search/Dict.pm
-        'SelectSaver'           => undef, #./lib/SelectSaver.pm
-        'SelfLoader'            => '1.08', #./lib/SelfLoader.pm
-        'Shell'                 => undef, #./lib/Shell.pm
-        'sigtrap'               => '1.02', #./lib/sigtrap.pm
-        'Socket'                => '1.7', #./ext/Socket/Socket.pm
-        'strict'                => '1.01', #./lib/strict.pm
-        'subs'                  => undef, #./lib/subs.pm
-        'Symbol'                => '1.02', #./lib/Symbol.pm
-        'Sys::Hostname'         => undef, #./lib/Sys/Hostname.pm
-        'Sys::Syslog'           => undef, #./lib/Sys/Syslog.pm
-        'Term::Cap'             => undef, #./lib/Term/Cap.pm
-        'Term::Complete'        => undef, #./lib/Term/Complete.pm
-        'Term::ReadLine'        => undef, #./lib/Term/ReadLine.pm
-        'Test'                  => '1.04', #./lib/Test.pm
-        'Test::Harness'         => '1.1602', #./lib/Test/Harness.pm
-        'Text::Abbrev'          => undef, #./lib/Text/Abbrev.pm
-        'Text::ParseWords'      => '3.1001', #./lib/Text/ParseWords.pm
-        'Text::Soundex'         => undef, #./lib/Text/Soundex.pm
-        'Text::Tabs'            => '96.121201', #./lib/Text/Tabs.pm
-        'Text::Wrap'            => '98.112902', #./lib/Text/Wrap.pm
-        'Tie::Handle'           => undef, #./lib/Tie/Handle.pm
-        'Tie::Hash'             => undef, #./lib/Tie/Hash.pm
-        'Tie::RefHash'          => undef, #./lib/Tie/RefHash.pm
-        'Tie::Scalar'           => undef, #./lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => undef, #./lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.01', #./lib/Time/gmtime.pm
-        'Time::Local'           => undef, #./lib/Time/Local.pm
-        'Time::localtime'       => '1.01', #./lib/Time/localtime.pm
-        'Time::tm'              => undef, #./lib/Time/tm.pm
-        'UNIVERSAL'             => undef, #./lib/UNIVERSAL.pm
-        'User::grent'           => undef, #./lib/User/grent.pm
-        'User::pwent'           => undef, #./lib/User/pwent.pm
-        'vars'                  => undef, #./lib/vars.pm
-        'VMS::DCLsym'           => '1.01', #./vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => undef, #./vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.02', #./vms/ext/Stdio/Stdio.pm
-        'vmsish'                => undef, #./vms/ext/vmsish.pm
+    5.00503 => {
+        delta_from => 5.005,
+        changed => {
+            'AutoSplit'             => '1.0303',
+            'CGI'                   => '2.46',
+            'CGI::Carp'             => '1.13',
+            'CGI::Fast'             => '1.01',
+            'CPAN'                  => '1.48',
+            'CPAN::FirstTime'       => '1.36',
+            'CPAN::Nox'             => '1.00',
+            'DB_File'               => '1.65',
+            'Data::Dumper'          => '2.101',
+            'Dumpvalue'             => undef,
+            'Errno'                 => '1.111',
+            'ExtUtils::Install'     => '1.28',
+            'ExtUtils::Liblist'     => '1.25',
+            'ExtUtils::MM_Unix'     => '1.12602',
+            'ExtUtils::MakeMaker'   => '5.4302',
+            'ExtUtils::Manifest'    => '1.33',
+            'ExtUtils::Mkbootstrap' => '1.14',
+            'ExtUtils::Mksymlists'  => '1.17',
+            'ExtUtils::testlib'     => '1.11',
+            'FindBin'               => '1.42',
+            'Getopt::Long'          => '2.19',
+            'Getopt::Std'           => '1.01',
+            'IO::Pipe'              => '1.0902',
+            'IPC::Open3'            => '1.0103',
+            'Math::Complex'         => '1.26',
+            'Test'                  => '1.122',
+            'Text::Wrap'            => '98.112902',
+        },
+        removed => {
+        }
     },
-
     5.00504 => {
-        'AnyDBM_File'           => undef,  #lib/AnyDBM_File.pm
-        'attrs'                 => '1.0',  #lib/attrs.pm
-        'AutoLoader'            => undef,  #lib/AutoLoader.pm
-        'AutoSplit'             => '1.0303',  #lib/AutoSplit.pm
-        'autouse'               => '1.01',  #lib/autouse.pm
-        'base'                  => undef,  #lib/base.pm
-        'B::Asmdata'            => undef,  #lib/B/Asmdata.pm
-        'B::Assembler'          => undef,  #lib/B/Assembler.pm
-        'B::Bblock'             => undef,  #lib/B/Bblock.pm
-        'B::Bytecode'           => undef,  #lib/B/Bytecode.pm
-        'B::CC'                 => undef,  #lib/B/CC.pm
-        'B::C'                  => undef,  #lib/B/C.pm
-        'B::Debug'              => undef,  #lib/B/Debug.pm
-        'B::Deparse'            => '0.56',  #lib/B/Deparse.pm
-        'B::Disassembler'       => undef,  #lib/B/Disassembler.pm
-        'Benchmark'             => undef,  #lib/Benchmark.pm
-        'blib'                  => '1.00',  #lib/blib.pm
-        'B::Lint'               => undef,  #lib/B/Lint.pm
-        'B::Showlex'            => undef,  #lib/B/Showlex.pm
-        'B::Stackobj'           => undef,  #lib/B/Stackobj.pm
-        'B::Terse'              => undef,  #lib/B/Terse.pm
-        'B'                     => undef,  #lib/B.pm
-        'B::Xref'               => undef,  #lib/B/Xref.pm
-        'Carp'                  => undef,  #lib/Carp.pm
-        'CGI'                   => '2.46',  #lib/CGI.pm
-        'CGI::Apache'           => '1.1',  #lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.13',  #lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.06',  #lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.01',  #lib/CGI/Fast.pm
-        'CGI::Push'             => '1.01',  #lib/CGI/Push.pm
-        'CGI::Switch'           => '0.06',  #lib/CGI/Switch.pm
-        'Class::Struct'         => undef,  #lib/Class/Struct.pm
-        'Config'                => undef,  #lib/Config.pm
-        'constant'              => '1.00',  #lib/constant.pm
-        'CPAN'                  => '1.48',  #lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.36 ',  #lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.00',  #lib/CPAN/Nox.pm
-        'Cwd'                   => '2.01',  #lib/Cwd.pm
-        'Data::Dumper'          => '2.101',  #lib/Data/Dumper.pm
-        'DB_File'               => '1.807',  #lib/DB_File.pm
-        'Devel::SelfStubber'    => '1.01',  #lib/Devel/SelfStubber.pm
-        'diagnostics'           => undef,  #lib/diagnostics.pm
-        'DirHandle'             => undef,  #lib/DirHandle.pm
-        'Dumpvalue'             => undef,  #lib/Dumpvalue.pm
-        'DynaLoader'            => '1.03',  #lib/DynaLoader.pm
-        'English'               => undef,  #lib/English.pm
-        'Env'                   => undef,  #lib/Env.pm
-        'Errno'                 => '1.111',  #lib/Errno.pm
-        'Exporter'              => undef,  #lib/Exporter.pm
-        'ExtUtils::Command'     => '1.01',  #lib/ExtUtils/Command.pm
-        'ExtUtils::Embed'       => '1.2505',  #lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.28 ',  #lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.02',  #lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.25 ',  #lib/ExtUtils/Liblist.pm
-        'ExtUtils::MakeMaker'   => '5.4302',  #lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.33 ',  #lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef,  #lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Mkbootstrap' => '1.14 ',  #lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.17 ',  #lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM_OS2'      => undef,  #lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.12602 ',  #lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_VMS'      => undef,  #lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => undef,  #lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::Packlist'    => '0.03',  #lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.11 ',  #lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.02',  #lib/Fatal.pm
-        'Fcntl'                 => '1.03',  #lib/Fcntl.pm
-        'fields'                => '0.02',  #lib/fields.pm
-        'File::Basename'        => '2.6',  #lib/File/Basename.pm
-        'FileCache'             => undef,  #lib/FileCache.pm
-        'File::CheckTree'       => undef,  #lib/File/CheckTree.pm
-        'File::Compare'         => '1.1002',  #lib/File/Compare.pm
-        'File::Copy'            => '2.02',  #lib/File/Copy.pm
-        'File::DosGlob'         => undef,  #lib/File/DosGlob.pm
-        'File::Find'            => undef,  #lib/File/Find.pm
-        'FileHandle'            => '2.00',  #lib/FileHandle.pm
-        'File::Path'            => '1.0401',  #lib/File/Path.pm
-        'File::Spec'            => '0.8',  #lib/File/Spec.pm
-        'File::Spec::Functions' => undef,  #lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => undef,  #lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => undef,  #lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => undef,  #lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => undef,  #lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => undef,  #lib/File/Spec/Win32.pm
-        'File::stat'            => undef,  #lib/File/stat.pm
-        'FindBin'               => '1.42',  #lib/FindBin.pm
-        'GDBM_File'             => '1.00',  #lib/GDBM_File.pm
-        'Getopt::Long'          => '2.20',  #lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.01',  #lib/Getopt/Std.pm
-        'I18N::Collate'         => undef,  #lib/I18N/Collate.pm
-        'integer'               => undef,  #lib/integer.pm
-        'IO::File'              => '1.06021',  #lib/IO/File.pm
-        'IO::Handle'            => '1.1505',  #lib/IO/Handle.pm
-        'IO::Pipe'              => '1.0902',  #lib/IO/Pipe.pm
-        'IO::Seekable'          => '1.06',  #lib/IO/Seekable.pm
-        'IO::Select'            => '1.10',  #lib/IO/Select.pm
-        'IO::Socket'            => '1.1603',  #lib/IO/Socket.pm
-        'IO'                    => undef,  #lib/IO.pm
-        'IPC::Msg'              => '1.00',  #lib/IPC/Msg.pm
-        'IPC::Open2'            => '1.01',  #lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0103',  #lib/IPC/Open3.pm
-        'IPC::Semaphore'        => '1.00',  #lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.03',  #lib/IPC/SysV.pm
-        'less'                  => undef,  #lib/less.pm
-        'lib'                   => undef,  #lib/lib.pm
-        'locale'                => undef,  #lib/locale.pm
-        'Math::BigFloat'        => undef,  #lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef,  #lib/Math/BigInt.pm
-        'Math::Complex'         => '1.26',  #lib/Math/Complex.pm
-        'Math::Trig'            => '1',  #lib/Math/Trig.pm
-        'NDBM_File'             => '1.01',  #ext/NDBM_File/NDBM_File.pm
-        'Net::hostent'          => undef,  #lib/Net/hostent.pm
-        'Net::netent'           => undef,  #lib/Net/netent.pm
-        'Net::Ping'             => '2.02',  #lib/Net/Ping.pm
-        'Net::protoent'         => undef,  #lib/Net/protoent.pm
-        'Net::servent'          => undef,  #lib/Net/servent.pm
-        'ODBM_File'             => '1.00', #ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.04',  #lib/Opcode.pm
-        'ops'                   => undef,  #lib/ops.pm
-        'O'                     => undef,  #lib/O.pm
-        'OS2::ExtAttr'          => '0.01',  #os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.02',  #os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '0.2',  #os2/OS2/Process/Process.pm
-        'OS2::REXX'             => undef,  #os2/OS2/REXX/REXX.pm
-        'overload'              => undef,  #lib/overload.pm
-        'Pod::Functions'        => undef,  #lib/Pod/Functions.pm
-        'Pod::Html'             => '1.02',  #lib/Pod/Html.pm
-        'Pod::Text'             => '1.0203',  #lib/Pod/Text.pm
-        'POSIX'                 => '1.02',  #lib/POSIX.pm
-        're'                    => '0.02',  #lib/re.pm
-        'Safe'                  => '2.06',  #lib/Safe.pm
-        'SDBM_File'             => '1.00',  #lib/SDBM_File.pm
-        'Search::Dict'          => undef,  #lib/Search/Dict.pm
-        'SelectSaver'           => undef,  #lib/SelectSaver.pm
-        'SelfLoader'            => '1.08',  #lib/SelfLoader.pm
-        'Shell'                 => undef,  #lib/Shell.pm
-        'sigtrap'               => '1.02',  #lib/sigtrap.pm
-        'Socket'                => '1.7',  #lib/Socket.pm
-        'strict'                => '1.01',  #lib/strict.pm
-        'subs'                  => undef,  #lib/subs.pm
-        'Symbol'                => '1.02',  #lib/Symbol.pm
-        'Sys::Hostname'         => undef,  #lib/Sys/Hostname.pm
-        'Sys::Syslog'           => undef,  #lib/Sys/Syslog.pm
-        'Term::Cap'             => undef,  #lib/Term/Cap.pm
-        'Term::Complete'        => undef,  #lib/Term/Complete.pm
-        'Term::ReadLine'        => undef,  #lib/Term/ReadLine.pm
-        'Test'                  => '1.122',  #lib/Test.pm
-        'Test::Harness'         => '1.1602',  #lib/Test/Harness.pm
-        'Text::Abbrev'          => undef,  #lib/Text/Abbrev.pm
-        'Text::ParseWords'      => '3.1',  #lib/Text/ParseWords.pm
-        'Text::Soundex'         => undef,  #lib/Text/Soundex.pm
-        'Text::Tabs'            => '96.121201',  #lib/Text/Tabs.pm
-        'Text::Wrap'            => '98.112902',  #lib/Text/Wrap.pm
-        'Thread'                => '1.0',  #ext/Thread/Thread.pm
-        'Thread::Queue'         => undef,  #ext/Thread/Thread/Queue.pm
-        'Thread::Semaphore'     => undef,  #ext/Thread/Thread/Semaphore.pm
-        'Thread::Signal'        => undef,  #ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => undef,  #ext/Thread/Thread/Specific.pm
-        'Tie::Array'            => '1.00',  #lib/Tie/Array.pm
-        'Tie::Handle'           => undef,  #lib/Tie/Handle.pm
-        'Tie::Hash'             => undef,  #lib/Tie/Hash.pm
-        'Tie::RefHash'          => undef,  #lib/Tie/RefHash.pm
-        'Tie::Scalar'           => undef,  #lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => undef,  #lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.01',  #lib/Time/gmtime.pm
-        'Time::localtime'       => '1.01',  #lib/Time/localtime.pm
-        'Time::Local'           => undef,  #lib/Time/Local.pm
-        'Time::tm'              => undef,  #lib/Time/tm.pm
-        'UNIVERSAL'             => undef,  #lib/UNIVERSAL.pm
-        'User::grent'           => undef,  #lib/User/grent.pm
-        'User::pwent'           => undef,  #lib/User/pwent.pm
-        'vars'                  => undef,  #lib/vars.pm
-        'VMS::DCLsym'           => '1.01',  #vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => undef,  #vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.1',  #vms/ext/Stdio/Stdio.pm
-        'vmsish'                => undef,  #vms/ext/vmsish.pm
+        delta_from => 5.00503,
+        changed => {
+            'CPAN::FirstTime'       => '1.36 ',
+            'DB_File'               => '1.807',
+            'ExtUtils::Install'     => '1.28 ',
+            'ExtUtils::Liblist'     => '1.25 ',
+            'ExtUtils::MM_Unix'     => '1.12602 ',
+            'ExtUtils::Manifest'    => '1.33 ',
+            'ExtUtils::Miniperl'    => undef,
+            'ExtUtils::Mkbootstrap' => '1.14 ',
+            'ExtUtils::Mksymlists'  => '1.17 ',
+            'ExtUtils::testlib'     => '1.11 ',
+            'File::Compare'         => '1.1002',
+            'File::Spec'            => '0.8',
+            'File::Spec::Functions' => undef,
+            'File::Spec::Mac'       => undef,
+            'Getopt::Long'          => '2.20',
+            'Pod::Html'             => '1.02',
+        },
+        removed => {
+        }
     },
-
-    5.006   => {
-        'AnyDBM_File'           => undef, #./lib/AnyDBM_File.pm
-        'AutoLoader'            => '5.57', #./lib/AutoLoader.pm
-        'AutoSplit'             => '1.0305', #./lib/AutoSplit.pm
-        'B'                     => undef, #./ext/B/B.pm
-        'B::Asmdata'            => undef, #./ext/B/B/Asmdata.pm
-        'B::Assembler'          => undef, #./ext/B/B/Assembler.pm
-        'B::Bblock'             => undef, #./ext/B/B/Bblock.pm
-        'B::Bytecode'           => undef, #./ext/B/B/Bytecode.pm
-        'B::C'                  => undef, #./ext/B/B/C.pm
-        'B::CC'                 => undef, #./ext/B/B/CC.pm
-        'B::Debug'              => undef, #./ext/B/B/Debug.pm
-        'B::Deparse'            => '0.59', #./ext/B/B/Deparse.pm
-        'B::Disassembler'       => undef, #./ext/B/B/Disassembler.pm
-        'B::Lint'               => undef, #./ext/B/B/Lint.pm
-        'B::Showlex'            => undef, #./ext/B/B/Showlex.pm
-        'B::Stackobj'           => undef, #./ext/B/B/Stackobj.pm
-        'B::Stash'              => undef, #./ext/B/B/Stash.pm
-        'B::Terse'              => undef, #./ext/B/B/Terse.pm
-        'B::Xref'               => undef, #./ext/B/B/Xref.pm
-        'Benchmark'             => '1', #./lib/Benchmark.pm
-        'ByteLoader'            => '0.03', #./ext/ByteLoader/ByteLoader.pm
-        'CGI'                   => '2.56', #./lib/CGI.pm
-        'CGI::Apache'           => undef, #./lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.14', #./lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.12', #./lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.02', #./lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.03', #./lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.01', #./lib/CGI/Push.pm
-        'CGI::Switch'           => undef, #./lib/CGI/Switch.pm
-        'CPAN'                  => '1.52', #./lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.38 ', #./lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.00', #./lib/CPAN/Nox.pm
-        'Carp'                  => undef, #./lib/Carp.pm
-        'Carp::Heavy'           => undef, #./lib/Carp/Heavy.pm
-        'Class::Struct'         => '0.58', #./lib/Class/Struct.pm
-        'Config'                => undef,
-        'Cwd'                   => '2.02', #./lib/Cwd.pm
-        'DB'                    => '1.0', #./lib/DB.pm
-        'DB_File'               => '1.72', #./ext/DB_File/DB_File.pm
-        'Data::Dumper'          => '2.101', #./ext/Data/Dumper/Dumper.pm
-        'Devel::DProf'          => '20000000.00_00', #./ext/Devel/DProf/DProf.pm
-        'Devel::Peek'           => '1.00_01', #./ext/Devel/Peek/Peek.pm
-        'Devel::SelfStubber'    => '1.01', #./lib/Devel/SelfStubber.pm
-        'DirHandle'             => undef, #./lib/DirHandle.pm
-        'Dumpvalue'             => undef, #./lib/Dumpvalue.pm
-        'DynaLoader'            => '1.04',
-        'English'               => undef, #./lib/English.pm
-        'Env'                   => undef, #./lib/Env.pm
-        'Exporter'              => '5.562', #./lib/Exporter.pm
-        'Exporter::Heavy'       => undef, #./lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.01', #./lib/ExtUtils/Command.pm
-        'ExtUtils::Embed'       => '1.2505', #./lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.28 ', #./lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.02', #./lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.25 ', #./lib/ExtUtils/Liblist.pm
-        'ExtUtils::MM_Cygwin'   => undef, #./lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_OS2'      => undef, #./lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.12603 ', #./lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_VMS'      => undef, #./lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => undef, #./lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MakeMaker'   => '5.45', #./lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.33 ', #./lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef,
-        'ExtUtils::Mkbootstrap' => '1.14 ', #./lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.17 ', #./lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::Packlist'    => '0.03', #./lib/ExtUtils/Packlist.pm
-        'ExtUtils::XSSymSet'    => '1.0', #./vms/ext/XSSymSet.pm
-        'ExtUtils::testlib'     => '1.11 ', #./lib/ExtUtils/testlib.pm
-        'Fatal'                 => '1.02', #./lib/Fatal.pm
-        'Fcntl'                 => '1.03', #./ext/Fcntl/Fcntl.pm
-        'File::Basename'        => '2.6', #./lib/File/Basename.pm
-        'File::CheckTree'       => undef, #./lib/File/CheckTree.pm
-        'File::Compare'         => '1.1002', #./lib/File/Compare.pm
-        'File::Copy'            => '2.03', #./lib/File/Copy.pm
-        'File::DosGlob'         => undef, #./lib/File/DosGlob.pm
-        'File::Find'            => undef, #./lib/File/Find.pm
-        'File::Glob'            => '0.991', #./ext/File/Glob/Glob.pm
-        'File::Path'            => '1.0403', #./lib/File/Path.pm
-        'File::Spec'            => '0.8', #./lib/File/Spec.pm
-        'File::Spec::Functions' => undef, #./lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => undef, #./lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => undef, #./lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => undef, #./lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => undef, #./lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => undef, #./lib/File/Spec/Win32.pm
-        'File::stat'            => undef, #./lib/File/stat.pm
-        'FileCache'             => undef, #./lib/FileCache.pm
-        'FileHandle'            => '2.00', #./lib/FileHandle.pm
-        'FindBin'               => '1.42', #./lib/FindBin.pm
-        'GDBM_File'             => '1.03', #./ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.23', #./lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.02', #./lib/Getopt/Std.pm
-        'I18N::Collate'         => undef, #./lib/I18N/Collate.pm
-        'IO'                    => '1.20', #./ext/IO/IO.pm
-        'IO::Dir'               => '1.03', #./ext/IO/lib/IO/Dir.pm
-        'IO::File'              => '1.08', #./ext/IO/lib/IO/File.pm
-        'IO::Handle'            => '1.21', #./ext/IO/lib/IO/Handle.pm
-        'IO::Pipe'              => '1.121', #./ext/IO/lib/IO/Pipe.pm
-        'IO::Poll'              => '0.01', #./ext/IO/lib/IO/Poll.pm
-        'IO::Seekable'          => '1.08', #./ext/IO/lib/IO/Seekable.pm
-        'IO::Select'            => '1.14', #./ext/IO/lib/IO/Select.pm
-        'IO::Socket'            => '1.26', #./ext/IO/lib/IO/Socket.pm
-        'IO::Socket::INET'      => '1.25', #./ext/IO/lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.20', #./ext/IO/lib/IO/Socket/UNIX.pm
-        'IPC::Open2'            => '1.01', #./lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0103', #./lib/IPC/Open3.pm
-        'IPC::Msg'              => '1.00', #./ext/IPC/SysV/Msg.pm
-        'IPC::Semaphore'        => '1.00', #./ext/IPC/SysV/Semaphore.pm
-        'IPC::SysV'             => '1.03', #./ext/IPC/SysV/SysV.pm
-        'JNI'                   => '0.01', #./jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef, #./jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef, #./jpl/JPL/Class.pm
-        'JPL::Compile'          => undef, #./jpl/JPL/Compile.pm
-        'Math::BigFloat'        => undef, #./lib/Math/BigFloat.pm
-        'Math::BigInt'          => undef, #./lib/Math/BigInt.pm
-        'Math::Complex'         => '1.26', #./lib/Math/Complex.pm
-        'Math::Trig'            => '1', #./lib/Math/Trig.pm
-        'NDBM_File'             => '1.03', #./ext/NDBM_File/NDBM_File.pm
-        'Net::Ping'             => '2.02', #./lib/Net/Ping.pm
-        'Net::hostent'          => undef, #./lib/Net/hostent.pm
-        'Net::netent'           => undef, #./lib/Net/netent.pm
-        'Net::protoent'         => undef, #./lib/Net/protoent.pm
-        'Net::servent'          => undef, #./lib/Net/servent.pm
-        'O'                     => undef, #./ext/B/O.pm
-        'ODBM_File'             => '1.02', #./ext/ODBM_File/ODBM_File.pm
-        'OS2::ExtAttr'          => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '0.2', #./os2/OS2/Process/Process.pm
-        'OS2::REXX'             => undef, #./os2/OS2/REXX/REXX.pm
-        'OS2::DLL'              => undef, #./os2/OS2/REXX/DLL/DLL.pm
-        'Opcode'                => '1.04', #./ext/Opcode/Opcode.pm
-        'POSIX'                 => '1.03', #./ext/POSIX/POSIX.pm
-        'Pod::Checker'          => '1.098', #./lib/Pod/Checker.pm
-        'Pod::Find'             => '0.12', #./lib/Pod/Find.pm
-        'Pod::Functions'        => undef, #./lib/Pod/Functions.pm
-        'Pod::Html'             => '1.03', #./lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.12', #./lib/Pod/InputObjects.pm
-        'Pod::Man'              => '1.02', #./lib/Pod/Man.pm
-        'Pod::ParseUtils'       => '0.2', #./lib/Pod/ParseUtils.pm
-        'Pod::Parser'           => '1.12', #./lib/Pod/Parser.pm
-        'Pod::Plainer'          => '0.01', #./lib/Pod/Plainer.pm
-        'Pod::Select'           => '1.12', #./lib/Pod/Select.pm
-        'Pod::Text'             => '2.03', #./lib/Pod/Text.pm
-        'Pod::Text::Color'      => '0.05', #./lib/Pod/Text/Color.pm
-        'Pod::Text::Termcap'    => '0.04', #./lib/Pod/Text/Termcap.pm
-        'Pod::Usage'            => '1.12', #./lib/Pod/Usage.pm
-        'SDBM_File'             => '1.02', #./ext/SDBM_File/SDBM_File.pm
-        'Safe'                  => '2.06', #./ext/Opcode/Safe.pm
-        'Search::Dict'          => undef, #./lib/Search/Dict.pm
-        'SelectSaver'           => undef, #./lib/SelectSaver.pm
-        'SelfLoader'            => '1.0901', #./lib/SelfLoader.pm
-        'Shell'                 => '0.2', #./lib/Shell.pm
-        'Socket'                => '1.72', #./ext/Socket/Socket.pm
-        'Symbol'                => '1.02', #./lib/Symbol.pm
-        'Sys::Hostname'         => '1.1', #./ext/Sys/Hostname/Hostname.pm
-        'Sys::Syslog'           => '0.01', #./ext/Sys/Syslog/Syslog.pm
-        'Term::ANSIColor'       => '1.01', #./lib/Term/ANSIColor.pm
-        'Term::Cap'             => undef, #./lib/Term/Cap.pm
-        'Term::Complete'        => undef, #./lib/Term/Complete.pm
-        'Term::ReadLine'        => undef, #./lib/Term/ReadLine.pm
-        'Test'                  => '1.13', #./lib/Test.pm
-        'Test::Harness'         => '1.1604', #./lib/Test/Harness.pm
-        'Text::Abbrev'          => undef, #./lib/Text/Abbrev.pm
-        'Text::ParseWords'      => '3.2', #./lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.0', #./lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801', #./lib/Text/Tabs.pm
-        'Text::Wrap'            => '98.112902', #./lib/Text/Wrap.pm
-        'Thread'                => '1.0', #./ext/Thread/Thread.pm
-        'Thread::Queue'         => undef, #./ext/Thread/Thread/Queue.pm
-        'Thread::Semaphore'     => undef, #./ext/Thread/Thread/Semaphore.pm
-        'Thread::Signal'        => undef, #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => undef, #./ext/Thread/Thread/Specific.pm
-        'Tie::Array'            => '1.01', #./lib/Tie/Array.pm
-        'Tie::Handle'           => '1.0', #./lib/Tie/Handle.pm
-        'Tie::Hash'             => undef, #./lib/Tie/Hash.pm
-        'Tie::RefHash'          => undef, #./lib/Tie/RefHash.pm
-        'Tie::Scalar'           => undef, #./lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => undef, #./lib/Tie/SubstrHash.pm
-        'Time::Local'           => undef, #./lib/Time/Local.pm
-        'Time::gmtime'          => '1.01', #./lib/Time/gmtime.pm
-        'Time::localtime'       => '1.01', #./lib/Time/localtime.pm
-        'Time::tm'              => undef, #./lib/Time/tm.pm
-        'UNIVERSAL'             => undef, #./lib/UNIVERSAL.pm
-        'User::grent'           => undef, #./lib/User/grent.pm
-        'User::pwent'           => undef, #./lib/User/pwent.pm
-        'VMS::DCLsym'           => '1.01', #./vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => undef, #./vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.2', #./vms/ext/Stdio/Stdio.pm
-        'XSLoader'              => '0.01',
-        'attributes'            => '0.03', #./lib/attributes.pm
-        'attrs'                 => '1.0', #./ext/attrs/attrs.pm
-        'autouse'               => '1.02', #./lib/autouse.pm
-        'base'                  => '1.01', #./lib/base.pm
-        'blib'                  => '1.00', #./lib/blib.pm
-        'bytes'                 => undef, #./lib/bytes.pm
-        'charnames'             => undef, #./lib/charnames.pm
-        'constant'              => '1.02', #./lib/constant.pm
-        'diagnostics'           => '1.0', #./lib/diagnostics.pm
-        'fields'                => '1.01', #./lib/fields.pm
-        'filetest'              => undef, #./lib/filetest.pm
-        'integer'               => undef, #./lib/integer.pm
-        'less'                  => undef, #./lib/less.pm
-        'lib'                   => '0.5564', #./lib/lib.pm
-        'locale'                => undef, #./lib/locale.pm
-        'open'                  => undef, #./lib/open.pm
-        'ops'                   => undef, #./ext/Opcode/ops.pm
-        'overload'              => undef, #./lib/overload.pm
-        're'                    => '0.02', #./ext/re/re.pm
-        'sigtrap'               => '1.02', #./lib/sigtrap.pm
-        'strict'                => '1.01', #./lib/strict.pm
-        'subs'                  => undef, #./lib/subs.pm
-        'utf8'                  => undef, #./lib/utf8.pm
-        'vars'                  => undef, #./lib/vars.pm
-        'vmsish'                => undef, #./vms/ext/vmsish.pm
-        'warnings'              => undef, #./lib/warnings.pm
-        'warnings::register'    => undef, #./lib/warnings/register.pm
+    5.006 => {
+        delta_from => 5.00504,
+        changed => {
+            'AutoLoader'            => '5.57',
+            'AutoSplit'             => '1.0305',
+            'B::Deparse'            => '0.59',
+            'B::Stash'              => undef,
+            'Benchmark'             => '1',
+            'ByteLoader'            => '0.03',
+            'CGI'                   => '2.56',
+            'CGI::Apache'           => undef,
+            'CGI::Carp'             => '1.14',
+            'CGI::Cookie'           => '1.12',
+            'CGI::Fast'             => '1.02',
+            'CGI::Pretty'           => '1.03',
+            'CGI::Switch'           => undef,
+            'CPAN'                  => '1.52',
+            'CPAN::FirstTime'       => '1.38 ',
+            'Carp::Heavy'           => undef,
+            'Class::Struct'         => '0.58',
+            'Cwd'                   => '2.02',
+            'DB'                    => '1.0',
+            'DB_File'               => '1.72',
+            'Devel::DProf'          => '20000000.00_00',
+            'Devel::Peek'           => '1.00_01',
+            'DynaLoader'            => '1.04',
+            'Exporter'              => '5.562',
+            'Exporter::Heavy'       => undef,
+            'ExtUtils::MM_Cygwin'   => undef,
+            'ExtUtils::MM_Unix'     => '1.12603 ',
+            'ExtUtils::MakeMaker'   => '5.45',
+            'File::Copy'            => '2.03',
+            'File::Glob'            => '0.991',
+            'File::Path'            => '1.0403',
+            'GDBM_File'             => '1.03',
+            'Getopt::Long'          => '2.23',
+            'Getopt::Std'           => '1.02',
+            'IO'                    => '1.20',
+            'IO::Dir'               => '1.03',
+            'IO::File'              => '1.08',
+            'IO::Handle'            => '1.21',
+            'IO::Pipe'              => '1.121',
+            'IO::Poll'              => '0.01',
+            'IO::Seekable'          => '1.08',
+            'IO::Select'            => '1.14',
+            'IO::Socket'            => '1.26',
+            'IO::Socket::INET'      => '1.25',
+            'IO::Socket::UNIX'      => '1.20',
+            'JNI'                   => '0.01',
+            'JPL::AutoLoader'       => undef,
+            'JPL::Class'            => undef,
+            'JPL::Compile'          => undef,
+            'NDBM_File'             => '1.03',
+            'ODBM_File'             => '1.02',
+            'OS2::DLL'              => undef,
+            'POSIX'                 => '1.03',
+            'Pod::Checker'          => '1.098',
+            'Pod::Find'             => '0.12',
+            'Pod::Html'             => '1.03',
+            'Pod::InputObjects'     => '1.12',
+            'Pod::Man'              => '1.02',
+            'Pod::ParseUtils'       => '0.2',
+            'Pod::Parser'           => '1.12',
+            'Pod::Plainer'          => '0.01',
+            'Pod::Select'           => '1.12',
+            'Pod::Text'             => '2.03',
+            'Pod::Text::Color'      => '0.05',
+            'Pod::Text::Termcap'    => '0.04',
+            'Pod::Usage'            => '1.12',
+            'SDBM_File'             => '1.02',
+            'SelfLoader'            => '1.0901',
+            'Shell'                 => '0.2',
+            'Socket'                => '1.72',
+            'Sys::Hostname'         => '1.1',
+            'Sys::Syslog'           => '0.01',
+            'Term::ANSIColor'       => '1.01',
+            'Test'                  => '1.13',
+            'Test::Harness'         => '1.1604',
+            'Text::ParseWords'      => '3.2',
+            'Text::Soundex'         => '1.0',
+            'Text::Tabs'            => '98.112801',
+            'Tie::Array'            => '1.01',
+            'Tie::Handle'           => '1.0',
+            'VMS::Stdio'            => '2.2',
+            'XSLoader'              => '0.01',
+            'attributes'            => '0.03',
+            'autouse'               => '1.02',
+            'base'                  => '1.01',
+            'bytes'                 => undef,
+            'charnames'             => undef,
+            'constant'              => '1.02',
+            'diagnostics'           => '1.0',
+            'fields'                => '1.01',
+            'filetest'              => undef,
+            'lib'                   => '0.5564',
+            'open'                  => undef,
+            'utf8'                  => undef,
+            'warnings'              => undef,
+            'warnings::register'    => undef,
+        },
+        removed => {
+        }
     },
-
-    5.006001   => {
-        'AnyDBM_File'           => undef,
-        'attributes'            => 0.03,
-        'attrs'                 => '1.0',
-        'AutoLoader'            => 5.58,
-        'AutoSplit'             => 1.0305,
-        'autouse'               => 1.02,
-        'B::Asmdata'            => undef,
-        'B::Assembler'          => 0.02,
-        'B::Bblock'             => undef,
-        'B::Bytecode'           => undef,
-        'B::C'                  => undef,
-        'B::CC'                 => undef,
-        'B::Concise'            => 0.51,
-        'B::Debug'              => undef,
-        'B::Deparse'            => 0.6,
-        'B::Disassembler'       => undef,
-        'B::Lint'               => undef,
-        'B'                     => undef,
-        'B::Showlex'            => undef,
-        'B::Stackobj'           => undef,
-        'B::Stash'              => undef,
-        'B::Terse'              => undef,
-        'B::Xref'               => undef,
-        'base'                  => 1.01,
-        'Benchmark'             => 1,
-        'blib'                  => '1.00',
-        'ByteLoader'            => 0.04,
-        'bytes'                 => undef,
-        'Carp'                  => undef,
-        'Carp::Heavy'           => undef,
-        'CGI'                   => 2.752,
-        'CGI::Apache'           => undef,
-        'CGI::Carp'             => '1.20',
-        'CGI::Cookie'           => 1.18,
-        'CGI::Fast'             => 1.02,
-        'CGI::Pretty'           => 1.05,
-        'CGI::Push'             => 1.04,
-        'CGI::Switch'           => undef,
-        'CGI::Util'             => 1.1,
-        'charnames'             => undef,
-        'Class::Struct'         => 0.59,
-        'Config'                => undef,
-        'constant'              => 1.02,
-        'CPAN::FirstTime'       => 1.53 ,
-        'CPAN'                  => '1.59_54',
-        'CPAN::Nox'             => '1.00',
-        'Cwd'                   => 2.04,
-        'Data::Dumper'          => 2.102,
-        'DB'                    => '1.0',
-        'DB_File'               => 1.75,
-        'Devel::DProf'          => '20000000.00_00',
-        'Devel::Peek'           => '1.00_01',
-        'Devel::SelfStubber'    => 1.01,
-        'diagnostics'           => '1.0', # really v1.0, but that causes breakage
-        'DirHandle'             => undef,
-        'Dumpvalue'             => undef,
-        'DynaLoader'            => 1.04,
-        'English'               => undef,
-        'Env'                   => undef,
-        'Exporter'              => 5.562,
-        'Exporter::Heavy'       => undef,
-        'ExtUtils::Command'     => 1.01,
-        'ExtUtils::Embed'       => 1.2505,
-        'ExtUtils::Install'     => 1.28 ,
-        'ExtUtils::Installed'   => 0.02,
-        'ExtUtils::Liblist'     => 1.26 ,
-        'ExtUtils::MakeMaker'   => 5.45,
-        'ExtUtils::Manifest'    => 1.33 ,
-        'ExtUtils::Miniperl'    => undef,
-        'ExtUtils::Mkbootstrap' => 1.14 ,
-        'ExtUtils::Mksymlists'  => 1.17 ,
-        'ExtUtils::MM_Cygwin'   => undef,
-        'ExtUtils::MM_OS2'      => undef,
-        'ExtUtils::MM_Unix'     => 1.12603 ,
-        'ExtUtils::MM_VMS'      => undef,
-        'ExtUtils::MM_Win32'    => undef,
-        'ExtUtils::Packlist'    => 0.03,
-        'ExtUtils::testlib'     => 1.11 ,
-        'ExtUtils::XSSymSet'    => '1.0',
-        'Fatal'                 => 1.02,
-        'Fcntl'                 => 1.03,
-        'fields'                => 1.01,
-        'File::Basename'        => 2.6,
-        'File::CheckTree'       => undef,
-        'File::Compare'         => 1.1002,
-        'File::Copy'            => 2.03,
-        'File::DosGlob'         => undef,
-        'File::Find'            => undef,
-        'File::Glob'            => 0.991,
-        'File::Path'            => 1.0404,
-        'File::Spec'            => 0.82,
-        'File::Spec::Epoc'      => undef,
-        'File::Spec::Functions' => 1.1,
-        'File::Spec::Mac'       => 1.2,
-        'File::Spec::OS2'       => 1.1,
-        'File::Spec::Unix'      => 1.2,
-        'File::Spec::VMS'       => 1.1,
-        'File::Spec::Win32'     => 1.2,
-        'File::stat'            => undef,
-        'File::Temp'            => 0.12,
-        'FileCache'             => undef,
-        'FileHandle'            => '2.00',
-        'filetest'              => undef,
-        'FindBin'               => 1.42,
-        'GDBM_File'             => 1.05,
-        'Getopt::Long'          => 2.25,
-        'Getopt::Std'           => 1.02,
-        'I18N::Collate'         => undef,
-        'integer'               => undef,
-        'IO'                    => '1.20',
-        'IO::Dir'               => 1.03,
-        'IO::File'              => 1.08,
-        'IO::Handle'            => 1.21,
-        'IO::Pipe'              => 1.121,
-        'IO::Poll'              => 0.05,
-        'IO::Seekable'          => 1.08,
-        'IO::Select'            => 1.14,
-        'IO::Socket'            => 1.26,
-        'IO::Socket::INET'      => 1.25,
-        'IO::Socket::UNIX'      => '1.20',
-        'IPC::Msg'              => '1.00',
-        'IPC::Open2'            => 1.01,
-        'IPC::Open3'            => 1.0103,
-        'IPC::Semaphore'        => '1.00',
-        'IPC::SysV'             => 1.03,
-        'JNI'                   => 0.1,
-        'JPL::AutoLoader'       => undef,
-        'JPL::Class'            => undef,
-        'JPL::Compile'          => undef,
-        'less'                  => undef,
-        'lib'                   => 0.5564,
-        'locale'                => undef,
-        'Math::BigFloat'        => 0.02,
-        'Math::BigInt'          => 0.01,
-        'Math::Complex'         => 1.31,
-        'Math::Trig'            => 1,
-        'NDBM_File'             => 1.04,
-        'Net::hostent'          => undef,
-        'Net::netent'           => undef,
-        'Net::Ping'             => 2.02,
-        'Net::protoent'         => undef,
-        'Net::servent'          => undef,
-        'O'                     => undef,
-        'ODBM_File'             => 1.03,
-        'Opcode'                => 1.04,
-        'open'                  => undef,
-        'ops'                   => undef,
-        'OS2::DLL'              => undef,
-        'OS2::ExtAttr'          => 0.01,
-        'OS2::PrfDB'            => 0.02,
-        'OS2::Process'          => 0.2,
-        'OS2::REXX'             => '1.00',
-        'overload'              => undef,
-        'Pod::Checker'          => 1.2,
-        'Pod::Find'             => 0.21,
-        'Pod::Functions'        => undef,
-        'Pod::Html'             => 1.03,
-        'Pod::LaTeX'            => 0.53,
-        'Pod::Man'              => 1.15,
-        'Pod::InputObjects'     => 1.13,
-        'Pod::Parser'           => 1.13,
-        'Pod::ParseUtils'       => 0.22,
-        'Pod::Plainer'          => 0.01,
-        'Pod::Select'           => 1.13,
-        'Pod::Text'             => 2.08,
-        'Pod::Text::Color'      => 0.06,
-        'Pod::Text::Overstrike' => 1.01,
-        'Pod::Text::Termcap'    => 1,
-        'Pod::Usage'            => 1.14,
-        'POSIX'                 => 1.03,
-        're'                    => 0.02,
-        'Safe'                  => 2.06,
-        'SDBM_File'             => 1.03,
-        'Search::Dict'          => undef,
-        'SelectSaver'           => undef,
-        'SelfLoader'            => 1.0902,
-        'Shell'                 => 0.3,
-        'sigtrap'               => 1.02,
-        'Socket'                => 1.72,
-        'strict'                => 1.01,
-        'subs'                  => undef,
-        'Symbol'                => 1.02,
-        'Sys::Hostname'         => 1.1,
-        'Sys::Syslog'           => 0.01,
-        'Term::ANSIColor'       => 1.03,
-        'Term::Cap'             => undef,
-        'Term::Complete'        => undef,
-        'Term::ReadLine'        => undef,
-        'Test'                  => 1.15,
-        'Test::Harness'         => 1.1604,
-        'Text::Abbrev'          => undef,
-        'Text::ParseWords'      => 3.2,
-        'Text::Soundex'         => '1.0',
-        'Text::Tabs'            => 98.112801,
-        'Text::Wrap'            => 2001.0131,
-        'Thread'                => '1.0',
-        'Thread::Queue'         => undef,
-        'Thread::Semaphore'     => undef,
-        'Thread::Signal'        => undef,
-        'Thread::Specific'      => undef,
-        'Tie::Array'            => 1.01,
-        'Tie::Handle'           => '4.0',
-        'Tie::Hash'             => undef,
-        'Tie::RefHash'          => 1.3,
-        'Tie::Scalar'           => undef,
-        'Tie::SubstrHash'       => undef,
-        'Time::gmtime'          => 1.01,
-        'Time::Local'           => undef,
-        'Time::localtime'       => 1.01,
-        'Time::tm'              => undef,
-        'UNIVERSAL'             => undef,
-        'User::grent'           => undef,
-        'User::pwent'           => undef,
-        'utf8'                  => undef,
-        'vars'                  => undef,
-        'VMS::DCLsym'           => 1.01,
-        'VMS::Filespec'         => undef,
-        'VMS::Stdio'            => 2.2,
-        'vmsish'                => undef,
-        'warnings'              => undef,
-        'warnings::register'    => undef,
-        'XSLoader'              => '0.01',
+    5.006001 => {
+        delta_from => 5.006,
+        changed => {
+            'AutoLoader'            => '5.58',
+            'B::Assembler'          => '0.02',
+            'B::Concise'            => '0.51',
+            'B::Deparse'            => '0.6',
+            'ByteLoader'            => '0.04',
+            'CGI'                   => '2.752',
+            'CGI::Carp'             => '1.20',
+            'CGI::Cookie'           => '1.18',
+            'CGI::Pretty'           => '1.05',
+            'CGI::Push'             => '1.04',
+            'CGI::Util'             => '1.1',
+            'CPAN'                  => '1.59_54',
+            'CPAN::FirstTime'       => '1.53',
+            'Class::Struct'         => '0.59',
+            'Cwd'                   => '2.04',
+            'DB_File'               => '1.75',
+            'Data::Dumper'          => '2.102',
+            'ExtUtils::Install'     => '1.28',
+            'ExtUtils::Liblist'     => '1.26',
+            'ExtUtils::MM_Unix'     => '1.12603',
+            'ExtUtils::Manifest'    => '1.33',
+            'ExtUtils::Mkbootstrap' => '1.14',
+            'ExtUtils::Mksymlists'  => '1.17',
+            'ExtUtils::testlib'     => '1.11',
+            'File::Path'            => '1.0404',
+            'File::Spec'            => '0.82',
+            'File::Spec::Epoc'      => undef,
+            'File::Spec::Functions' => '1.1',
+            'File::Spec::Mac'       => '1.2',
+            'File::Spec::OS2'       => '1.1',
+            'File::Spec::Unix'      => '1.2',
+            'File::Spec::VMS'       => '1.1',
+            'File::Spec::Win32'     => '1.2',
+            'File::Temp'            => '0.12',
+            'GDBM_File'             => '1.05',
+            'Getopt::Long'          => '2.25',
+            'IO::Poll'              => '0.05',
+            'JNI'                   => '0.1',
+            'Math::BigFloat'        => '0.02',
+            'Math::BigInt'          => '0.01',
+            'Math::Complex'         => '1.31',
+            'NDBM_File'             => '1.04',
+            'ODBM_File'             => '1.03',
+            'OS2::REXX'             => '1.00',
+            'Pod::Checker'          => '1.2',
+            'Pod::Find'             => '0.21',
+            'Pod::InputObjects'     => '1.13',
+            'Pod::LaTeX'            => '0.53',
+            'Pod::Man'              => '1.15',
+            'Pod::ParseUtils'       => '0.22',
+            'Pod::Parser'           => '1.13',
+            'Pod::Select'           => '1.13',
+            'Pod::Text'             => '2.08',
+            'Pod::Text::Color'      => '0.06',
+            'Pod::Text::Overstrike' => '1.01',
+            'Pod::Text::Termcap'    => '1',
+            'Pod::Usage'            => '1.14',
+            'SDBM_File'             => '1.03',
+            'SelfLoader'            => '1.0902',
+            'Shell'                 => '0.3',
+            'Term::ANSIColor'       => '1.03',
+            'Test'                  => '1.15',
+            'Text::Wrap'            => '2001.0131',
+            'Tie::Handle'           => '4.0',
+            'Tie::RefHash'          => '1.3',
+        },
+        removed => {
+        }
     },
-
     5.006002 => {
-        'AnyDBM_File'           => undef,  #lib/AnyDBM_File.pm
-        'attributes'            => '0.03',  #lib/attributes.pm
-        'attrs'                 => '1.0',  #lib/attrs.pm
-        'AutoLoader'            => '5.58',  #lib/AutoLoader.pm
-        'AutoSplit'             => '1.0305',  #lib/AutoSplit.pm
-        'autouse'               => '1.02',  #lib/autouse.pm
-        'B'                     => undef,  #lib/B.pm
-        'B::Asmdata'            => undef,  #lib/B/Asmdata.pm
-        'B::Assembler'          => '0.02',  #lib/B/Assembler.pm
-        'B::Bblock'             => undef,  #lib/B/Bblock.pm
-        'B::Bytecode'           => undef,  #lib/B/Bytecode.pm
-        'B::C'                  => undef,  #lib/B/C.pm
-        'B::CC'                 => undef,  #lib/B/CC.pm
-        'B::Concise'            => '0.51',  #lib/B/Concise.pm
-        'B::Debug'              => undef,  #lib/B/Debug.pm
-        'B::Deparse'            => '0.6',  #lib/B/Deparse.pm
-        'B::Disassembler'       => undef,  #lib/B/Disassembler.pm
-        'B::Lint'               => undef,  #lib/B/Lint.pm
-        'B::Showlex'            => undef,  #lib/B/Showlex.pm
-       'B::Stackobj'           => undef,  #lib/B/Stackobj.pm
-        'B::Stash'              => undef,  #lib/B/Stash.pm
-        'B::Terse'              => undef,  #lib/B/Terse.pm
-        'B::Xref'               => undef,  #lib/B/Xref.pm
-        'base'                  => '1.01',  #lib/base.pm
-        'Benchmark'             => '1',  #lib/Benchmark.pm
-        'blib'                  => '1.00',  #lib/blib.pm
-        'ByteLoader'            => '0.04',  #lib/ByteLoader.pm
-        'bytes'                 => undef,  #lib/bytes.pm
-        'Carp'                  => undef,  #lib/Carp.pm
-        'Carp::Heavy'           => undef,  #lib/Carp/Heavy.pm
-        'CGI'                   => '2.752',  #lib/CGI.pm
-        'CGI::Apache'           => undef,  #lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.20',  #lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.18',  #lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.02',  #lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.05',  #lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04',  #lib/CGI/Push.pm
-        'CGI::Switch'           => undef,  #lib/CGI/Switch.pm
-        'CGI::Util'             => '1.1',  #lib/CGI/Util.pm
-        'charnames'             => undef,  #lib/charnames.pm
-        'Class::Struct'         => '0.59',  #lib/Class/Struct.pm
-        'Config'                => undef,  #lib/Config.pm
-        'constant'              => '1.02',  #lib/constant.pm
-        'CPAN'                  => '1.59_54',  #lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.53 ',  #lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.00',  #lib/CPAN/Nox.pm
-        'Cwd'                   => '2.04', #lib/Cwd.pm
-        'Data::Dumper'          => '2.121', #lib/Data/Dumper.pm
-        'DB'                    => '1.0', #lib/DB.pm
-        'DB_File'               => '1.806', #lib/DB_File.pm
-        'Devel::DProf'          => '20000000.00_00', #lib/Devel/DProf.pm
-        'Devel::Peek'           => '1.00_01', #lib/Devel/Peek.pm
-        'Devel::SelfStubber'    => '1.01', #lib/Devel/SelfStubber.pm
-        'diagnostics'           => '1.0', #lib/diagnostics.pm
-        'DirHandle'             => undef, #lib/DirHandle.pm
-        'Dumpvalue'             => undef, #lib/Dumpvalue.pm
-        'DynaLoader'            => '1.04', #lib/DynaLoader.pm
-        'English'               => undef, #lib/English.pm
-        'Env'                   => undef, #lib/Env.pm
-        'Errno'                 => '1.111', #lib/Errno.pm
-        'Exporter'              => '5.562', #lib/Exporter.pm
-        'Exporter::Heavy'       => undef, #lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.05', #lib/ExtUtils/Command.pm
-        'ExtUtils::Command::MM' => '0.03', #lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Embed'       => '1.2505', #lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.32', #lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.08', #lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.01', #lib/ExtUtils/Liblist.pm
-        'ExtUtils::Liblist::Kid'=> '1.3', #lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker'   => '6.17', #lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::MakeMaker::bytes'=> '0.01', #lib/ExtUtils/MakeMaker/bytes.pm
-        'ExtUtils::MakeMaker::vmsish'=> '0.01', #lib/ExtUtils/MakeMaker/vmsish.pm
-        'ExtUtils::Manifest'    => '1.42', #lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef, #lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Mkbootstrap' => '1.15', #lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19', #lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM'          => '0.04', #lib/ExtUtils/MM.pm
-        'ExtUtils::MM_Any'      => '0.07', #lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.04', #lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.06', #lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.02', #lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.07', #lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.06', #lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM_OS2'      => '1.04', #lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.42', #lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.02', #lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.70', #lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.09', #lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.03', #lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01', #lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04', #lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15', #lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.02', #lib/Fatal.pm
-        'Fcntl'                 => '1.03', #lib/Fcntl.pm
-        'fields'                => '1.01', #lib/fields.pm
-        'File::Basename'        => '2.6', #lib/File/Basename.pm
-        'File::CheckTree'       => undef, #lib/File/CheckTree.pm
-        'File::Compare'         => '1.1002', #lib/File/Compare.pm
-        'File::Copy'            => '2.03', #lib/File/Copy.pm
-        'File::DosGlob'         => undef, #lib/File/DosGlob.pm
-        'File::Find'            => undef, #lib/File/Find.pm
-        'File::Glob'            => '0.991', #lib/File/Glob.pm
-        'File::Path'            => '1.0404', #lib/File/Path.pm
-        'File::Spec'            => '0.86', #lib/File/Spec.pm
-        'File::Spec::Cygwin'    => '1.1', #lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.1', #lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.3', #lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.4', #lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.2', #lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.5', #lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.4', #lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.4', #lib/File/Spec/Win32.pm
-        'File::stat'            => undef, #lib/File/stat.pm
-        'File::Temp'            => '0.14', #lib/File/Temp.pm
-        'FileCache'             => undef, #lib/FileCache.pm
-        'FileHandle'            => '2.00', #lib/FileHandle.pm
-        'filetest'              => undef, #lib/filetest.pm
-        'FindBin'               => '1.42', #lib/FindBin.pm
-        'GDBM_File'             => '1.05', #ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.25', #lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.02', #lib/Getopt/Std.pm
-        'I18N::Collate'         => undef, #lib/I18N/Collate.pm
-        'if'                    => '0.03', #lib/if.pm
-        'integer'               => undef, #lib/integer.pm
-        'IO'                    => '1.20', #lib/IO.pm
-        'IO::Dir'               => '1.03', #lib/IO/Dir.pm
-        'IO::File'              => '1.08', #lib/IO/File.pm
-        'IO::Handle'            => '1.21', #lib/IO/Handle.pm
-        'IO::Pipe'              => '1.121', #lib/IO/Pipe.pm
-        'IO::Poll'              => '0.05', #lib/IO/Poll.pm
-        'IO::Seekable'          => '1.08', #lib/IO/Seekable.pm
-        'IO::Select'            => '1.14', #lib/IO/Select.pm
-        'IO::Socket'            => '1.26', #lib/IO/Socket.pm
-        'IO::Socket::INET'      => '1.25', #lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.20', #lib/IO/Socket/UNIX.pm
-        'IPC::Msg'              => '1.00', #lib/IPC/Msg.pm
-        'IPC::Open2'            => '1.01', #lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0103', #lib/IPC/Open3.pm
-        'IPC::Semaphore'        => '1.00', #lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.03', #lib/IPC/SysV.pm
-        'JNI'                   => '0.1', #jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef, #jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef, #jpl/JPL/Class.pm
-        'JPL::Compile'          => undef, #jpl/JPL/Compile.pm
-        'less'                  => undef, #lib/less.pm
-        'lib'                   => '0.5564', #lib/lib.pm
-        'locale'                => undef, #lib/locale.pm
-        'Math::BigFloat'        => '0.02', #lib/Math/BigFloat.pm
-        'Math::BigInt'          => '0.01', #lib/Math/BigInt.pm
-        'Math::Complex'         => '1.31', #lib/Math/Complex.pm
-        'Math::Trig'            => '1', #lib/Math/Trig.pm
-        'NDBM_File'             => '1.04',  #ext/NDBM_File/NDBM_File.pm
-        'Net::hostent'          => undef, #lib/Net/hostent.pm
-        'Net::netent'           => undef, #lib/Net/netent.pm
-        'Net::Ping'             => '2.02', #lib/Net/Ping.pm
-        'Net::protoent'         => undef, #lib/Net/protoent.pm
-        'Net::servent'          => undef, #lib/Net/servent.pm
-        'O'                     => undef, #lib/O.pm
-        'ODBM_File'             => '1.03', #ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.04', #lib/Opcode.pm
-        'open'                  => undef, #lib/open.pm
-        'ops'                   => '1.00', #lib/ops.pm
-        'OS2::DLL'              => undef, #os2/OS2/REXX/DLL/DLL.pm
-        'OS2::ExtAttr'          => '0.01', #os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.02', #os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '0.2', #os2/OS2/Process/Process.pm
-        'OS2::REXX'             => '1.00', #os2/OS2/REXX/REXX.pm
-        'overload'              => undef, #lib/overload.pm
-        'Pod::Checker'          => '1.2', #lib/Pod/Checker.pm
-        'Pod::Find'             => '0.21', #lib/Pod/Find.pm
-        'Pod::Functions'        => undef, #lib/Pod/Functions.pm
-        'Pod::Html'             => '1.03', #lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.13', #lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.53', #lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.15', #lib/Pod/Man.pm
-        'Pod::Parser'           => '1.13', #lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '0.22', #lib/Pod/ParseUtils.pm
-        'Pod::Plainer'          => '0.01', #lib/Pod/Plainer.pm
-        'Pod::Select'           => '1.13', #lib/Pod/Select.pm
-        'Pod::Text'             => '2.08', #lib/Pod/Text.pm
-        'Pod::Text::Color'      => '0.06', #lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.01', #lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1', #lib/Pod/Text/Termcap.pm
-        'Pod::Usage'            => '1.14', #lib/Pod/Usage.pm
-        'POSIX'                 => '1.03', #lib/POSIX.pm
-        're'                    => '0.02', #lib/re.pm
-        'Safe'                  => '2.10', #lib/Safe.pm
-        'SDBM_File'             => '1.03', #lib/SDBM_File.pm
-        'Search::Dict'          => undef, #lib/Search/Dict.pm
-        'SelectSaver'           => undef, #lib/SelectSaver.pm
-        'SelfLoader'            => '1.0902', #lib/SelfLoader.pm
-        'Shell'                 => '0.3', #lib/Shell.pm
-        'sigtrap'               => '1.02', #lib/sigtrap.pm
-        'Socket'                => '1.72', #lib/Socket.pm
-        'strict'                => '1.01', #lib/strict.pm
-        'subs'                  => undef, #lib/subs.pm
-        'Symbol'                => '1.02', #lib/Symbol.pm
-        'Sys::Hostname'         => '1.1', #lib/Sys/Hostname.pm
-        'Sys::Syslog'           => '0.01', #lib/Sys/Syslog.pm
-        'Term::ANSIColor'       => '1.03', #lib/Term/ANSIColor.pm
-        'Term::Cap'             => undef, #lib/Term/Cap.pm
-        'Term::Complete'        => undef, #lib/Term/Complete.pm
-        'Term::ReadLine'        => undef, #lib/Term/ReadLine.pm
-        'Test'                  => '1.24', #lib/Test.pm
-        'Test::Builder'         => '0.17', #lib/Test/Builder.pm
-        'Test::Harness'         => '2.30', #lib/Test/Harness.pm
-        'Test::Harness::Assert' => '0.01', #lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.01', #lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.15', #lib/Test/Harness/Straps.pm
-        'Test::More'            => '0.47', #lib/Test/More.pm
-        'Test::Simple'          => '0.47', #lib/Test/Simple.pm
-        'Text::Abbrev'          => undef, #lib/Text/Abbrev.pm
-        'Text::ParseWords'      => '3.2', #lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.0', #lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801', #lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.0131', #lib/Text/Wrap.pm
-        'Thread'                => '1.0', #ext/Thread/Thread.pm
-        'Thread::Queue'         => undef, #ext/Thread/Thread/Queue.pm
-        'Thread::Semaphore'     => undef, #ext/Thread/Thread/Semaphore.pm
-        'Thread::Signal'        => undef, #ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => undef, #ext/Thread/Thread/Specific.pm
-        'Tie::Array'            => '1.01', #lib/Tie/Array.pm
-        'Tie::Handle'           => '4.0', #lib/Tie/Handle.pm
-        'Tie::Hash'             => undef, #lib/Tie/Hash.pm
-        'Tie::RefHash'          => '1.3', #lib/Tie/RefHash.pm
-        'Tie::Scalar'           => undef, #lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => undef, #lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.01', #lib/Time/gmtime.pm
-        'Time::Local'           => undef, #lib/Time/Local.pm
-        'Time::localtime'       => '1.01', #lib/Time/localtime.pm
-        'Time::tm'              => undef, #lib/Time/tm.pm
-        'Unicode'               => '3.0.1', # lib/unicore/version
-        'UNIVERSAL'             => undef, #lib/UNIVERSAL.pm
-        'User::grent'           => undef, #lib/User/grent.pm
-        'User::pwent'           => undef, #lib/User/pwent.pm
-        'utf8'                  => undef, #lib/utf8.pm
-        'vars'                  => undef, #lib/vars.pm
-        'VMS::DCLsym'           => '1.01', #vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => undef, #vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.2', #vms/ext/Stdio/Stdio.pm
-        'vmsish'                => undef, #vms/ext/vmsish.pm
-        'warnings'              => undef, #lib/warnings.pm
-        'warnings::register'    => undef, #lib/warnings/register.pm
-        'XSLoader'              => '0.01', #lib/XSLoader.pm
+        delta_from => 5.006001,
+        changed => {
+            'CPAN::FirstTime'       => '1.53 ',
+            'DB_File'               => '1.806',
+            'Data::Dumper'          => '2.121',
+            'ExtUtils::Command'     => '1.05',
+            'ExtUtils::Command::MM' => '0.03',
+            'ExtUtils::Install'     => '1.32',
+            'ExtUtils::Installed'   => '0.08',
+            'ExtUtils::Liblist'     => '1.01',
+            'ExtUtils::Liblist::Kid'=> '1.3',
+            'ExtUtils::MM'          => '0.04',
+            'ExtUtils::MM_Any'      => '0.07',
+            'ExtUtils::MM_BeOS'     => '1.04',
+            'ExtUtils::MM_Cygwin'   => '1.06',
+            'ExtUtils::MM_DOS'      => '0.02',
+            'ExtUtils::MM_MacOS'    => '1.07',
+            'ExtUtils::MM_NW5'      => '2.06',
+            'ExtUtils::MM_OS2'      => '1.04',
+            'ExtUtils::MM_UWIN'     => '0.02',
+            'ExtUtils::MM_Unix'     => '1.42',
+            'ExtUtils::MM_VMS'      => '5.70',
+            'ExtUtils::MM_Win32'    => '1.09',
+            'ExtUtils::MM_Win95'    => '0.03',
+            'ExtUtils::MY'          => '0.01',
+            'ExtUtils::MakeMaker'   => '6.17',
+            'ExtUtils::MakeMaker::bytes'=> '0.01',
+            'ExtUtils::MakeMaker::vmsish'=> '0.01',
+            'ExtUtils::Manifest'    => '1.42',
+            'ExtUtils::Mkbootstrap' => '1.15',
+            'ExtUtils::Mksymlists'  => '1.19',
+            'ExtUtils::Packlist'    => '0.04',
+            'ExtUtils::testlib'     => '1.15',
+            'File::Spec'            => '0.86',
+            'File::Spec::Cygwin'    => '1.1',
+            'File::Spec::Epoc'      => '1.1',
+            'File::Spec::Functions' => '1.3',
+            'File::Spec::Mac'       => '1.4',
+            'File::Spec::OS2'       => '1.2',
+            'File::Spec::Unix'      => '1.5',
+            'File::Spec::VMS'       => '1.4',
+            'File::Spec::Win32'     => '1.4',
+            'File::Temp'            => '0.14',
+            'Safe'                  => '2.10',
+            'Test'                  => '1.24',
+            'Test::Builder'         => '0.17',
+            'Test::Harness'         => '2.30',
+            'Test::Harness::Assert' => '0.01',
+            'Test::Harness::Iterator'=> '0.01',
+            'Test::Harness::Straps' => '0.15',
+            'Test::More'            => '0.47',
+            'Test::Simple'          => '0.47',
+            'Unicode'               => '3.0.1',
+            'if'                    => '0.03',
+            'ops'                   => '1.00',
+        },
+        removed => {
+        }
     },
-
-    5.007003   => {
-        'AnyDBM_File'           => '1.00',
-        'Attribute::Handlers'   => '0.76',
-        'attributes'            => '0.04_01',
-        'attrs'                 => '1.01',
-        'AutoLoader'            => '5.59',
-        'AutoSplit'             => '1.0307',
-        'autouse'               => '1.03',
-        'B::Asmdata'            => '1.00',
-        'B::Assembler'          => '0.04',
-        'B::Bblock'             => '1.00',
-        'B::Bytecode'           => '1.00',
-        'B::C'                  => '1.01',
-        'B::CC'                 => '1.00',
-        'B::Concise'            => '0.52',
-        'B::Debug'              => '1.00',
-        'B::Deparse'            => '0.63',
-        'B::Disassembler'       => '1.01',
-        'B::Lint'               => '1.00',
-        'B'                     => '1.00',
-        'B::Showlex'            => '1.00',
-        'B::Stackobj'           => '1.00',
-        'B::Stash'              => '1.00',
-        'B::Terse'              => '1.00',
-        'B::Xref'               => '1.00',
-        'base'                  => '1.02',
-        'Benchmark'             => '1.04',
-        'blib'                  => '1.01',
-        'ByteLoader'            => '0.04',
-        'bytes'                 => '1.00',
-        'Carp'                  => '1.01',
-        'Carp::Heavy'           => undef,
-        'CGI'                   => '2.80',
-        'CGI::Apache'           => '1.00',
-        'CGI::Carp'             => '1.22',
-        'CGI::Cookie'           => '1.20',
-        'CGI::Fast'             => '1.04',
-        'CGI::Pretty'           => '1.05_00',
-        'CGI::Push'             => '1.04',
-        'CGI::Switch'           => '1.00',
-        'CGI::Util'             => '1.3',
-        'charnames'             => '1.01',
-        'Class::ISA'            => '0.32',
-        'Class::Struct'         => '0.61',
-        'Config'                => undef,
-        'constant'              => '1.04',
-        'CPAN::FirstTime'       => '1.54 ',
-        'CPAN'                  => '1.59_56',
-        'CPAN::Nox'             => '1.00_01',
-        'Cwd'                   => '2.06',
-        'Data::Dumper'          => '2.12',
-        'DB'                    => '1.0',
-        'DB_File'               => '1.804',
-        'Devel::DProf'          => '20000000.00_01',
-        'Devel::Peek'           => '1.00_03',
-        'Devel::PPPort'         => '2.0002',
-        'Devel::SelfStubber'    => '1.03',
-        'diagnostics'           => '1.1',
-        'Digest'                => '1.00',
-        'Digest::MD5'           => '2.16',
-        'DirHandle'             => '1.00',
-        'Dumpvalue'             => '1.10',
-        'DynaLoader'            => 1.04,
-        'Encode'                => '0.40',
-        'Encode::CN'            => '0.02',
-        'Encode::CN::HZ'        => undef,
-        'Encode::Encoding'      => '0.02',
-        'Encode::Internal'      => '0.30',
-        'Encode::iso10646_1'    => '0.30',
-        'Encode::JP'            => '0.02',
-        'Encode::JP::Constants' => '1.02',
-        'Encode::JP::H2Z'       => '0.77',
-        'Encode::JP::ISO_2022_JP' => undef,
-        'Encode::JP::JIS'       => undef,
-        'Encode::JP::Tr'        => '0.77',
-        'Encode::KR'            => '0.02',
-        'Encode::Tcl'           => '1.01',
-        'Encode::Tcl::Escape'   => '1.01',
-        'Encode::Tcl::Extended' => '1.01',
-        'Encode::Tcl::HanZi'    => '1.01',
-        'Encode::Tcl::Table'    => '1.01',
-        'Encode::TW'            => '0.02',
-        'Encode::Unicode'       => '0.30',
-        'Encode::usc2_le'       => '0.30',
-        'Encode::utf8'          => '0.30',
-        'Encode::XS'            => '0.40',
-        'encoding'              => '1.00',
-        'English'               => '1.00',
-        'Env'                   => '1.00',
-        'Exporter'              => '5.566',
-        'Exporter::Heavy'       => '5.562',
-        'ExtUtils::Command'     => '1.02',
-        'ExtUtils::Constant'    => '0.11',
-        'ExtUtils::Embed'       => '1.250601',
-        'ExtUtils::Install'     => '1.29',
-        'ExtUtils::Installed'   => '0.04',
-        'ExtUtils::Liblist'     => '1.2701',
-        'ExtUtils::MakeMaker'   => '5.48_03',
-        'ExtUtils::Manifest'    => '1.35',
-        'ExtUtils::Miniperl'    => undef,
-        'ExtUtils::Mkbootstrap' => '1.1401',
-        'ExtUtils::Mksymlists'  => '1.18',
-        'ExtUtils::MM_BeOS'     => '1.00',
-        'ExtUtils::MM_Cygwin'   => '1.00',
-        'ExtUtils::MM_OS2'      => '1.00',
-        'ExtUtils::MM_Unix'     => '1.12607',
-        'ExtUtils::MM_VMS'      => '5.56',
-        'ExtUtils::MM_Win32'    => '1.00_02',
-        'ExtUtils::Packlist'    => '0.04',
-        'ExtUtils::testlib'     => '1.1201',
-        'ExtUtils::XSSymSet'    => '1.0',
-        'Fatal'                 => '1.03',
-        'Fcntl'                 => '1.04',
-        'fields'                => '1.02',
-        'File::Basename'        => '2.71',
-        'File::CheckTree'       => '4.1',
-        'File::Compare'         => '1.1003',
-        'File::Copy'            => '2.05',
-        'File::DosGlob'         => '1.00',
-        'File::Find'            => '1.04',
-        'File::Glob'            => '1.01',
-        'File::Path'            => '1.05',
-        'File::Spec'            => '0.83',
-        'File::Spec::Cygwin'    => '1.0',
-        'File::Spec::Epoc'      => '1.00',
-        'File::Spec::Functions' => '1.2',
-        'File::Spec::Mac'       => '1.3',
-        'File::Spec::OS2'       => '1.1',
-        'File::Spec::Unix'      => '1.4',
-        'File::Spec::VMS'       => '1.2',
-        'File::Spec::Win32'     => '1.3',
-        'File::stat'            => '1.00',
-        'File::Temp'            => '0.13',
-        'FileCache'             => '1.00',
-        'FileHandle'            => '2.01',
-        'filetest'              => '1.00',
-        'Filter::Simple'        => '0.77',
-        'Filter::Util::Call'    => '1.06',
-        'FindBin'               => '1.43',
-        'GDBM_File'             => '1.06',
-        'Getopt::Long'          => '2.28',
-        'Getopt::Std'           => '1.03',
-        'I18N::Collate'         => '1.00',
-        'I18N::Langinfo'        => '0.01',
-        'I18N::LangTags'        => '0.27',
-        'I18N::LangTags::List'  => '0.25',
-        'if'                    => '0.01',
-        'integer'               => '1.00',
-        'IO'                    => '1.20',
-        'IO::Dir'               => '1.03_00',
-        'IO::File'              => '1.09',
-        'IO::Handle'            => '1.21_00',
-        'IO::Pipe'              => '1.122',
-        'IO::Poll'              => '0.06',
-        'IO::Seekable'          => '1.08_00',
-        'IO::Select'            => '1.15',
-        'IO::Socket'            => '1.27',
-        'IO::Socket::INET'      => '1.26',
-        'IO::Socket::UNIX'      => '1.20_00',
-        'IPC::Msg'              => '1.00_00',
-        'IPC::Open2'            => '1.01',
-        'IPC::Open3'            => '1.0104',
-        'IPC::Semaphore'        => '1.00_00',
-        'IPC::SysV'             => '1.03_00',
-        'JNI'                   => '0.1',
-        'JPL::AutoLoader'       => undef,
-        'JPL::Class'            => undef,
-        'JPL::Compile'          => undef,
-        'less'                  => '0.01',
-        'lib'                   => '0.5564',
-        'List::Util'            => '1.06_00',
-        'locale'                => '1.00',
-        'Locale::Constants'     => '2.01',
-        'Locale::Country'       => '2.01',
-        'Locale::Currency'      => '2.01',
-        'Locale::Language'      => '2.01',
-        'Locale::Maketext'      => '1.03',
-        'Locale::Script'        => '2.01',
-        'Math::BigFloat'        => '1.30',
-        'Math::BigInt'          => '1.54',
-        'Math::BigInt::Calc'    => '0.25',
-        'Math::Complex'         => '1.34',
-        'Math::Trig'            => '1.01',
-        'Memoize'               => '0.66',
-        'Memoize::AnyDBM_File'  => '0.65',
-        'Memoize::Expire'       => '0.66',
-        'Memoize::ExpireFile'   => '0.65',
-        'Memoize::ExpireTest'   => '0.65',
-        'Memoize::NDBM_File'    => '0.65',
-        'Memoize::SDBM_File'    => '0.65',
-        'Memoize::Storable'     => '0.65',
-        'MIME::Base64'          => '2.12',
-        'MIME::QuotedPrint'     => '2.03',
-        'NDBM_File'             => '1.04',
-        'Net::Cmd'              => '2.21',
-        'Net::Config'           => '1.10',
-        'Net::Domain'           => '2.17',
-        'Net::FTP'              => '2.64',
-        'Net::FTP::A'           => '1.15',
-        'Net::FTP::dataconn'    => '0.10',
-        'Net::FTP::E'           => '0.01',
-        'Net::FTP::I'           => '1.12',
-        'Net::FTP::L'           => '0.01',
-        'Net::hostent'          => '1.00',
-        'Net::netent'           => '1.00',
-        'Net::Netrc'            => '2.12',
-        'Net::NNTP'             => '2.21',
-        'Net::Ping'             => '2.12',
-        'Net::POP3'             => '2.23',
-        'Net::protoent'         => '1.00',
-        'Net::servent'          => '1.00',
-        'Net::SMTP'             => '2.21',
-        'Net::Time'             => '2.09',
-        'NEXT'                  => '0.50',
-        'O'                     => '1.00',
-        'ODBM_File'             => '1.03',
-        'Opcode'                => '1.05',
-        'open'                  => '1.01',
-        'ops'                   => '1.00',
-        'OS2::DLL'              => '1.00',
-        'OS2::ExtAttr'          => '0.01',
-        'OS2::PrfDB'            => '0.02',
-        'OS2::Process'          => '1.0',
-        'OS2::REXX'             => '1.01',
-        'overload'              => '1.00',
-        'PerlIO'                => '1.00',
-        'PerlIO::Scalar'        => '0.01',
-        'PerlIO::Via'           => '0.01',
-        'Pod::Checker'          => '1.3',
-        'Pod::Find'             => '0.22',
-        'Pod::Functions'        => '1.01',
-        'Pod::Html'             => '1.04',
-        'Pod::LaTeX'            => '0.54',
-        'Pod::Man'              => '1.32',
-        'Pod::InputObjects'     => '1.13',
-        'Pod::ParseLink'        => '1.05',
-        'Pod::Parser'           => '1.13',
-        'Pod::ParseUtils'       => '0.22',
-        'Pod::Plainer'          => '0.01',
-        'Pod::Select'           => '1.13',
-        'Pod::Text'             => '2.18',
-        'Pod::Text::Color'      => '1.03',
-        'Pod::Text::Overstrike' => '1.08',
-        'Pod::Text::Termcap'    => '1.09',
-        'Pod::Usage'            => '1.14',
-        'POSIX'                 => '1.05',
-        're'                    => '0.03',
-        'Safe'                  => '2.07',
-        'Scalar::Util'          => undef,
-        'SDBM_File'             => '1.03',
-        'Search::Dict'          => '1.02',
-        'SelectSaver'           => '1.00',
-        'SelfLoader'            => '1.0903',
-        'Shell'                 => '0.4',
-        'sigtrap'               => '1.02',
-        'Socket'                => '1.75',
-        'sort'                  => '1.00',
-        'Storable'              => '1.015',
-        'strict'                => '1.02',
-        'subs'                  => '1.00',
-        'Switch'                => '2.06',
-        'Symbol'                => '1.04',
-        'Sys::Hostname'         => '1.1',
-        'Sys::Syslog'           => '0.02',
-        'Term::ANSIColor'       => '1.04',
-        'Term::Cap'             => '1.07',
-        'Term::Complete'        => '1.4',
-        'Term::ReadLine'        => '1.00',
-        'Test'                  => '1.18',
-        'Test::Builder'         => '0.11',
-        'Test::Harness'         => '2.01',
-        'Test::Harness::Assert' => '0.01',
-        'Test::Harness::Iterator'=> '0.01',
-        'Test::Harness::Straps' => '0.08',
-        'Test::More'            => '0.41',
-        'Test::Simple'          => '0.41',
-        'Text::Abbrev'          => '1.00',
-        'Text::Balanced'        => '1.89',
-        'Text::ParseWords'      => '3.21',
-        'Text::Soundex'         => '1.01',
-        'Text::Tabs'            => '98.112801',
-        'Text::Wrap'            => '2001.0929',
-        'Thread'                => '2.00',
-        'Thread::Queue'         => '1.00',
-        'Thread::Semaphore'     => '1.00',
-        'Thread::Signal'        => '1.00',
-        'Thread::Specific'      => '1.00',
-        'threads'               => '0.05',
-        'threads::shared'       => '0.90',
-        'Tie::Array'            => '1.02',
-        'Tie::File'             => '0.17',
-        'Tie::Hash'             => '1.00',
-        'Tie::Handle'           => '4.1',
-        'Tie::Memoize'          => '1.0',
-        'Tie::RefHash'          => '1.3_00',
-        'Tie::Scalar'           => '1.00',
-        'Tie::SubstrHash'       => '1.00',
-        'Time::gmtime'          => '1.02',
-        'Time::HiRes'           => '1.20_00',
-        'Time::Local'           => '1.04',
-        'Time::localtime'       => '1.02',
-        'Time::tm'              => '1.00',
-        'Unicode::Collate'      => '0.10',
-        'Unicode::Normalize'    => '0.14',
-        'Unicode::UCD'          => '0.2',
-        'UNIVERSAL'             => '1.00',
-        'User::grent'           => '1.00',
-        'User::pwent'           => '1.00',
-        'utf8'                  => '1.00',
-        'vars'                  => '1.01',
-        'VMS::DCLsym'           => '1.02',
-        'VMS::Filespec'         => '1.1',
-        'VMS::Stdio'            => '2.3',
-        'vmsish'                => '1.00',
-        'warnings'              => '1.00',
-        'warnings::register'    => '1.00',
-        'XS::Typemap'           => '0.01',
-        'XSLoader'              => '0.01',
+    5.007003 => {
+        delta_from => 5.006001,
+        changed => {
+            'AnyDBM_File'           => '1.00',
+            'Attribute::Handlers'   => '0.76',
+            'AutoLoader'            => '5.59',
+            'AutoSplit'             => '1.0307',
+            'B'                     => '1.00',
+            'B::Asmdata'            => '1.00',
+            'B::Assembler'          => '0.04',
+            'B::Bblock'             => '1.00',
+            'B::Bytecode'           => '1.00',
+            'B::C'                  => '1.01',
+            'B::CC'                 => '1.00',
+            'B::Concise'            => '0.52',
+            'B::Debug'              => '1.00',
+            'B::Deparse'            => '0.63',
+            'B::Disassembler'       => '1.01',
+            'B::Lint'               => '1.00',
+            'B::Showlex'            => '1.00',
+            'B::Stackobj'           => '1.00',
+            'B::Stash'              => '1.00',
+            'B::Terse'              => '1.00',
+            'B::Xref'               => '1.00',
+            'Benchmark'             => '1.04',
+            'CGI'                   => '2.80',
+            'CGI::Apache'           => '1.00',
+            'CGI::Carp'             => '1.22',
+            'CGI::Cookie'           => '1.20',
+            'CGI::Fast'             => '1.04',
+            'CGI::Pretty'           => '1.05_00',
+            'CGI::Switch'           => '1.00',
+            'CGI::Util'             => '1.3',
+            'CPAN'                  => '1.59_56',
+            'CPAN::FirstTime'       => '1.54 ',
+            'CPAN::Nox'             => '1.00_01',
+            'Carp'                  => '1.01',
+            'Carp::Heavy'           => '1.01',
+            'Class::ISA'            => '0.32',
+            'Class::Struct'         => '0.61',
+            'Cwd'                   => '2.06',
+            'DB_File'               => '1.804',
+            'Data::Dumper'          => '2.12',
+            'Devel::DProf'          => '20000000.00_01',
+            'Devel::PPPort'         => '2.0002',
+            'Devel::Peek'           => '1.00_03',
+            'Devel::SelfStubber'    => '1.03',
+            'Digest'                => '1.00',
+            'Digest::MD5'           => '2.16',
+            'DirHandle'             => '1.00',
+            'Dumpvalue'             => '1.10',
+            'Encode'                => '0.40',
+            'Encode::CN'            => '0.02',
+            'Encode::CN::HZ'        => undef,
+            'Encode::Encoding'      => '0.02',
+            'Encode::Internal'      => '0.30',
+            'Encode::JP'            => '0.02',
+            'Encode::JP::Constants' => '1.02',
+            'Encode::JP::H2Z'       => '0.77',
+            'Encode::JP::ISO_2022_JP'=> undef,
+            'Encode::JP::JIS'       => undef,
+            'Encode::JP::Tr'        => '0.77',
+            'Encode::KR'            => '0.02',
+            'Encode::TW'            => '0.02',
+            'Encode::Tcl'           => '1.01',
+            'Encode::Tcl::Escape'   => '1.01',
+            'Encode::Tcl::Extended' => '1.01',
+            'Encode::Tcl::HanZi'    => '1.01',
+            'Encode::Tcl::Table'    => '1.01',
+            'Encode::Unicode'       => '0.30',
+            'Encode::XS'            => '0.40',
+            'Encode::iso10646_1'    => '0.30',
+            'Encode::usc2_le'       => '0.30',
+            'Encode::utf8'          => '0.30',
+            'English'               => '1.00',
+            'Env'                   => '1.00',
+            'Exporter'              => '5.566',
+            'Exporter::Heavy'       => '5.562',
+            'ExtUtils::Command'     => '1.02',
+            'ExtUtils::Constant'    => '0.11',
+            'ExtUtils::Embed'       => '1.250601',
+            'ExtUtils::Install'     => '1.29',
+            'ExtUtils::Installed'   => '0.04',
+            'ExtUtils::Liblist'     => '1.2701',
+            'ExtUtils::MM_BeOS'     => '1.00',
+            'ExtUtils::MM_Cygwin'   => '1.00',
+            'ExtUtils::MM_OS2'      => '1.00',
+            'ExtUtils::MM_Unix'     => '1.12607',
+            'ExtUtils::MM_VMS'      => '5.56',
+            'ExtUtils::MM_Win32'    => '1.00_02',
+            'ExtUtils::MakeMaker'   => '5.48_03',
+            'ExtUtils::Manifest'    => '1.35',
+            'ExtUtils::Mkbootstrap' => '1.1401',
+            'ExtUtils::Mksymlists'  => '1.18',
+            'ExtUtils::Packlist'    => '0.04',
+            'ExtUtils::testlib'     => '1.1201',
+            'Fatal'                 => '1.03',
+            'Fcntl'                 => '1.04',
+            'File::Basename'        => '2.71',
+            'File::CheckTree'       => '4.1',
+            'File::Compare'         => '1.1003',
+            'File::Copy'            => '2.05',
+            'File::DosGlob'         => '1.00',
+            'File::Find'            => '1.04',
+            'File::Glob'            => '1.01',
+            'File::Path'            => '1.05',
+            'File::Spec'            => '0.83',
+            'File::Spec::Cygwin'    => '1.0',
+            'File::Spec::Epoc'      => '1.00',
+            'File::Spec::Functions' => '1.2',
+            'File::Spec::Mac'       => '1.3',
+            'File::Spec::Unix'      => '1.4',
+            'File::Spec::VMS'       => '1.2',
+            'File::Spec::Win32'     => '1.3',
+            'File::Temp'            => '0.13',
+            'File::stat'            => '1.00',
+            'FileCache'             => '1.00',
+            'FileHandle'            => '2.01',
+            'Filter::Simple'        => '0.77',
+            'Filter::Util::Call'    => '1.06',
+            'FindBin'               => '1.43',
+            'GDBM_File'             => '1.06',
+            'Getopt::Long'          => '2.28',
+            'Getopt::Std'           => '1.03',
+            'I18N::Collate'         => '1.00',
+            'I18N::LangTags'        => '0.27',
+            'I18N::LangTags::List'  => '0.25',
+            'I18N::Langinfo'        => '0.01',
+            'IO::Dir'               => '1.03_00',
+            'IO::File'              => '1.09',
+            'IO::Handle'            => '1.21_00',
+            'IO::Pipe'              => '1.122',
+            'IO::Poll'              => '0.06',
+            'IO::Seekable'          => '1.08_00',
+            'IO::Select'            => '1.15',
+            'IO::Socket'            => '1.27',
+            'IO::Socket::INET'      => '1.26',
+            'IO::Socket::UNIX'      => '1.20_00',
+            'IPC::Msg'              => '1.00_00',
+            'IPC::Open3'            => '1.0104',
+            'IPC::Semaphore'        => '1.00_00',
+            'IPC::SysV'             => '1.03_00',
+            'List::Util'            => '1.06_00',
+            'Locale::Constants'     => '2.01',
+            'Locale::Country'       => '2.01',
+            'Locale::Currency'      => '2.01',
+            'Locale::Language'      => '2.01',
+            'Locale::Maketext'      => '1.03',
+            'Locale::Script'        => '2.01',
+            'MIME::Base64'          => '2.12',
+            'MIME::QuotedPrint'     => '2.03',
+            'Math::BigFloat'        => '1.30',
+            'Math::BigInt'          => '1.54',
+            'Math::BigInt::Calc'    => '0.25',
+            'Math::Complex'         => '1.34',
+            'Math::Trig'            => '1.01',
+            'Memoize'               => '0.66',
+            'Memoize::AnyDBM_File'  => '0.65',
+            'Memoize::Expire'       => '0.66',
+            'Memoize::ExpireFile'   => '0.65',
+            'Memoize::ExpireTest'   => '0.65',
+            'Memoize::NDBM_File'    => '0.65',
+            'Memoize::SDBM_File'    => '0.65',
+            'Memoize::Storable'     => '0.65',
+            'NEXT'                  => '0.50',
+            'Net::Cmd'              => '2.21',
+            'Net::Config'           => '1.10',
+            'Net::Domain'           => '2.17',
+            'Net::FTP'              => '2.64',
+            'Net::FTP::A'           => '1.15',
+            'Net::FTP::E'           => '0.01',
+            'Net::FTP::I'           => '1.12',
+            'Net::FTP::L'           => '0.01',
+            'Net::FTP::dataconn'    => '0.10',
+            'Net::NNTP'             => '2.21',
+            'Net::Netrc'            => '2.12',
+            'Net::POP3'             => '2.23',
+            'Net::Ping'             => '2.12',
+            'Net::SMTP'             => '2.21',
+            'Net::Time'             => '2.09',
+            'Net::hostent'          => '1.00',
+            'Net::netent'           => '1.00',
+            'Net::protoent'         => '1.00',
+            'Net::servent'          => '1.00',
+            'O'                     => '1.00',
+            'OS2::DLL'              => '1.00',
+            'OS2::Process'          => '1.0',
+            'OS2::REXX'             => '1.01',
+            'Opcode'                => '1.05',
+            'POSIX'                 => '1.05',
+            'PerlIO'                => '1.00',
+            'PerlIO::Scalar'        => '0.01',
+            'PerlIO::Via'           => '0.01',
+            'Pod::Checker'          => '1.3',
+            'Pod::Find'             => '0.22',
+            'Pod::Functions'        => '1.01',
+            'Pod::Html'             => '1.04',
+            'Pod::LaTeX'            => '0.54',
+            'Pod::Man'              => '1.32',
+            'Pod::ParseLink'        => '1.05',
+            'Pod::Text'             => '2.18',
+            'Pod::Text::Color'      => '1.03',
+            'Pod::Text::Overstrike' => '1.08',
+            'Pod::Text::Termcap'    => '1.09',
+            'Safe'                  => '2.07',
+            'Scalar::Util'          => '1.06_00',
+            'Search::Dict'          => '1.02',
+            'SelectSaver'           => '1.00',
+            'SelfLoader'            => '1.0903',
+            'Shell'                 => '0.4',
+            'Socket'                => '1.75',
+            'Storable'              => '1.015',
+            'Switch'                => '2.06',
+            'Symbol'                => '1.04',
+            'Sys::Syslog'           => '0.02',
+            'Term::ANSIColor'       => '1.04',
+            'Term::Cap'             => '1.07',
+            'Term::Complete'        => '1.4',
+            'Term::ReadLine'        => '1.00',
+            'Test'                  => '1.18',
+            'Test::Builder'         => '0.11',
+            'Test::Harness'         => '2.01',
+            'Test::Harness::Assert' => '0.01',
+            'Test::Harness::Iterator'=> '0.01',
+            'Test::Harness::Straps' => '0.08',
+            'Test::More'            => '0.41',
+            'Test::Simple'          => '0.41',
+            'Text::Abbrev'          => '1.00',
+            'Text::Balanced'        => '1.89',
+            'Text::ParseWords'      => '3.21',
+            'Text::Soundex'         => '1.01',
+            'Text::Wrap'            => '2001.0929',
+            'Thread'                => '2.00',
+            'Thread::Queue'         => '1.00',
+            'Thread::Semaphore'     => '1.00',
+            'Thread::Signal'        => '1.00',
+            'Thread::Specific'      => '1.00',
+            'Tie::Array'            => '1.02',
+            'Tie::File'             => '0.17',
+            'Tie::Handle'           => '4.1',
+            'Tie::Hash'             => '1.00',
+            'Tie::Memoize'          => '1.0',
+            'Tie::RefHash'          => '1.3_00',
+            'Tie::Scalar'           => '1.00',
+            'Tie::SubstrHash'       => '1.00',
+            'Time::HiRes'           => '1.20_00',
+            'Time::Local'           => '1.04',
+            'Time::gmtime'          => '1.02',
+            'Time::localtime'       => '1.02',
+            'Time::tm'              => '1.00',
+            'UNIVERSAL'             => '1.00',
+            'Unicode::Collate'      => '0.10',
+            'Unicode::Normalize'    => '0.14',
+            'Unicode::UCD'          => '0.2',
+            'User::grent'           => '1.00',
+            'User::pwent'           => '1.00',
+            'VMS::DCLsym'           => '1.02',
+            'VMS::Filespec'         => '1.1',
+            'VMS::Stdio'            => '2.3',
+            'XS::Typemap'           => '0.01',
+            'attributes'            => '0.04_01',
+            'attrs'                 => '1.01',
+            'autouse'               => '1.03',
+            'base'                  => '1.02',
+            'blib'                  => '1.01',
+            'bytes'                 => '1.00',
+            'charnames'             => '1.01',
+            'constant'              => '1.04',
+            'diagnostics'           => '1.1',
+            'encoding'              => '1.00',
+            'fields'                => '1.02',
+            'filetest'              => '1.00',
+            'if'                    => '0.01',
+            'integer'               => '1.00',
+            'less'                  => '0.01',
+            'locale'                => '1.00',
+            'open'                  => '1.01',
+            'ops'                   => '1.00',
+            'overload'              => '1.00',
+            're'                    => '0.03',
+            'sort'                  => '1.00',
+            'strict'                => '1.02',
+            'subs'                  => '1.00',
+            'threads'               => '0.05',
+            'threads::shared'       => '0.90',
+            'utf8'                  => '1.00',
+            'vars'                  => '1.01',
+            'vmsish'                => '1.00',
+            'warnings'              => '1.00',
+            'warnings::register'    => '1.00',
+        },
+        removed => {
+        }
     },
-
-    5.008   => {
-        'AnyDBM_File'           => '1.00', #./lib/AnyDBM_File.pm
-        'Attribute::Handlers'   => '0.77', #./lib/Attribute/Handlers.pm
-        'attributes'            => '0.05', #./lib/attributes.pm
-        'attrs'                 => '1.01', #./ext/attrs/attrs.pm
-        'AutoLoader'            => '5.59', #./lib/AutoLoader.pm
-        'AutoSplit'             => '1.0307', #./lib/AutoSplit.pm
-        'autouse'               => '1.03', #./lib/autouse.pm
-        'B'                     => '1.01', #./ext/B/B.pm
-        'B::Asmdata'            => '1.00', #./ext/B/B/Asmdata.pm
-        'B::Assembler'          => '0.04', #./ext/B/B/Assembler.pm
-        'B::Bblock'             => '1.00', #./ext/B/B/Bblock.pm
-        'B::Bytecode'           => '1.00', #./ext/B/B/Bytecode.pm
-        'B::C'                  => '1.01', #./ext/B/B/C.pm
-        'B::CC'                 => '1.00', #./ext/B/B/CC.pm
-        'B::Concise'            => '0.52', #./ext/B/B/Concise.pm
-        'B::Debug'              => '1.00', #./ext/B/B/Debug.pm
-        'B::Deparse'            => '0.63', #./ext/B/B/Deparse.pm
-        'B::Disassembler'       => '1.01', #./ext/B/B/Disassembler.pm
-        'B::Lint'               => '1.01', #./ext/B/B/Lint.pm
-        'B::Showlex'            => '1.00', #./ext/B/B/Showlex.pm
-        'B::Stackobj'           => '1.00', #./ext/B/B/Stackobj.pm
-        'B::Stash'              => '1.00', #./ext/B/B/Stash.pm
-        'B::Terse'              => '1.00', #./ext/B/B/Terse.pm
-        'B::Xref'               => '1.01', #./ext/B/B/Xref.pm
-        'base'                  => '1.03', #./lib/base.pm
-        'Benchmark'             => '1.04', #./lib/Benchmark.pm
-        'bigint'                => '0.02', #./lib/bigint.pm
-        'bignum'                => '0.11', #./lib/bignum.pm
-        'bigrat'                => '0.04', #./lib/bigrat.pm
-        'blib'                  => '1.02', #./lib/blib.pm
-        'ByteLoader'            => '0.04', #./ext/ByteLoader/ByteLoader.pm
-        'bytes'                 => '1.00', #./lib/bytes.pm
-        'Carp'                  => '1.01', #./lib/Carp.pm
-        'Carp::Heavy'           => 'undef', #./lib/Carp/Heavy.pm
-        'CGI'                   => '2.81', #./lib/CGI.pm
-        'CGI::Apache'           => '1.00', #./lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.23', #./lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.20', #./lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.04', #./lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.05_00', #./lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04', #./lib/CGI/Push.pm
-        'CGI::Switch'           => '1.00', #./lib/CGI/Switch.pm
-        'CGI::Util'             => '1.3', #./lib/CGI/Util.pm
-        'charnames'             => '1.01', #./lib/charnames.pm
-        'Class::ISA'            => '0.32', #./lib/Class/ISA.pm
-        'Class::Struct'         => '0.61', #./lib/Class/Struct.pm
-        'constant'              => '1.04', #./lib/constant.pm
-        'Config'                => undef,
-        'CPAN'                  => '1.61', #./lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.56 ', #./lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.02', #./lib/CPAN/Nox.pm
-        'Cwd'                   => '2.06', #./lib/Cwd.pm
-        'Data::Dumper'          => '2.12', #./ext/Data/Dumper/Dumper.pm
-        'DB'                    => '1.0', #./lib/DB.pm
-        'DB_File'               => '1.804', #./ext/DB_File/DB_File.pm
-        'Devel::DProf'          => '20000000.00_01', #./ext/Devel/DProf/DProf.pm
-        'Devel::Peek'           => '1.00_03', #./ext/Devel/Peek/Peek.pm
-        'Devel::PPPort'         => '2.0002', #./ext/Devel/PPPort/PPPort.pm
-        'Devel::SelfStubber'    => '1.03', #./lib/Devel/SelfStubber.pm
-        'diagnostics'           => '1.1', #./lib/diagnostics.pm
-        'Digest'                => '1.00', #./lib/Digest.pm
-        'Digest::MD5'           => '2.20', #./ext/Digest/MD5/MD5.pm
-        'DirHandle'             => '1.00', #./lib/DirHandle.pm
-        'Dumpvalue'             => '1.11', #./lib/Dumpvalue.pm
-        'DynaLoader'            => '1.04',
-        'Encode'                => '1.75', #./ext/Encode/Encode.pm
-        'Encode::Alias'         => '1.32', #./ext/Encode/lib/Encode/Alias.pm
-        'Encode::Byte'          => '1.22', #./ext/Encode/Byte/Byte.pm
-        'Encode::CJKConstants'  => '1.00', #./ext/Encode/lib/Encode/CJKConstants.pm
-        'Encode::CN'            => '1.24', #./ext/Encode/CN/CN.pm
-        'Encode::CN::HZ'        => '1.04', #./ext/Encode/lib/Encode/CN/HZ.pm
-        'Encode::Config'        => '1.06', #./ext/Encode/lib/Encode/Config.pm
-        'Encode::EBCDIC'        => '1.21', #./ext/Encode/EBCDIC/EBCDIC.pm
-        'Encode::Encoder'       => '0.05', #./ext/Encode/lib/Encode/Encoder.pm
-        'Encode::Encoding'      => '1.30', #./ext/Encode/lib/Encode/Encoding.pm
-        'Encode::Guess'         => '1.06', #./ext/Encode/lib/Encode/Guess.pm
-        'Encode::JP::H2Z'       => '1.02', #./ext/Encode/lib/Encode/JP/H2Z.pm
-        'Encode::JP::JIS7'      => '1.08', #./ext/Encode/lib/Encode/JP/JIS7.pm
-        'Encode::JP'            => '1.25', #./ext/Encode/JP/JP.pm
-        'Encode::KR'            => '1.22', #./ext/Encode/KR/KR.pm
-        'Encode::KR::2022_KR'   => '1.05', #./ext/Encode/lib/Encode/KR/2022_KR.pm
-        'Encode::MIME::Header'  => '1.05', #./ext/Encode/lib/Encode/MIME/Header.pm
-        'Encode::Symbol'        => '1.22', #./ext/Encode/Symbol/Symbol.pm
-        'Encode::TW'            => '1.26', #./ext/Encode/TW/TW.pm
-        'Encode::Unicode'       => '1.37', #./ext/Encode/Unicode/Unicode.pm
-        'encoding'              => '1.35', #./ext/Encode/encoding.pm
-        'English'               => '1.00', #./lib/English.pm
-        'Env'                   => '1.00', #./lib/Env.pm
-        'Exporter'              => '5.566', #./lib/Exporter.pm
-        'Exporter::Heavy'       => '5.566', #./lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.04', #./lib/ExtUtils/Command.pm
-        'ExtUtils::Command::MM' => '0.01', #./lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Constant'    => '0.12', #./lib/ExtUtils/Constant.pm
-        'ExtUtils::Embed'       => '1.250601', #./lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.29', #./lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.06', #./lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.00', #./lib/ExtUtils/Liblist.pm
-        'ExtUtils::Liblist::Kid'=> '1.29', #./lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker'   => '6.03', #./lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.38', #./lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef,
-        'ExtUtils::Mkbootstrap' => '1.15', #./lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19', #./lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM'          => '0.04', #./lib/ExtUtils/MM.pm
-        'ExtUtils::MM_Any'      => '0.04', #./lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.03', #./lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.04', #./lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.01', #./lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.03', #./lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.05', #./lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM_OS2'      => '1.03', #./lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.33', #./lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.01', #./lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.65', #./lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.05', #./lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.02', #./lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01', #./lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04', #./lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15', #./lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0', #./vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.03', #./lib/Fatal.pm
-        'Fcntl'                 => '1.04', #./ext/Fcntl/Fcntl.pm
-        'fields'                => '1.02', #./lib/fields.pm
-        'File::Basename'        => '2.71', #./lib/File/Basename.pm
-        'File::CheckTree'       => '4.2', #./lib/File/CheckTree.pm
-        'File::Compare'         => '1.1003', #./lib/File/Compare.pm
-        'File::Copy'            => '2.05', #./lib/File/Copy.pm
-        'File::DosGlob'         => '1.00', #./lib/File/DosGlob.pm
-        'File::Find'            => '1.04', #./lib/File/Find.pm
-        'File::Glob'            => '1.01', #./ext/File/Glob/Glob.pm
-        'File::Path'            => '1.05', #./lib/File/Path.pm
-        'File::Spec'            => '0.83', #./lib/File/Spec.pm
-        'File::Spec::Cygwin'    => '1.0', #./lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.00', #./lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.2', #./lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.3', #./lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.1', #./lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.4', #./lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.2', #./lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.3', #./lib/File/Spec/Win32.pm
-        'File::stat'            => '1.00', #./lib/File/stat.pm
-        'File::Temp'            => '0.13', #./lib/File/Temp.pm
-        'FileCache'             => '1.021', #./lib/FileCache.pm
-        'FileHandle'            => '2.01', #./lib/FileHandle.pm
-        'filetest'              => '1.00', #./lib/filetest.pm
-        'Filter::Simple'        => '0.78', #./lib/Filter/Simple.pm
-        'Filter::Util::Call'    => '1.06', #./ext/Filter/Util/Call/Call.pm
-        'FindBin'               => '1.43', #./lib/FindBin.pm
-        'GDBM_File'             => '1.06', #./ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.32', #./lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.03', #./lib/Getopt/Std.pm
-        'Hash::Util'            => '0.04', #./lib/Hash/Util.pm
-        'I18N::Collate'         => '1.00', #./lib/I18N/Collate.pm
-        'I18N::Langinfo'        => '0.01', #./ext/I18N/Langinfo/Langinfo.pm
-        'I18N::LangTags'        => '0.27', #./lib/I18N/LangTags.pm
-        'I18N::LangTags::List'  => '0.25', #./lib/I18N/LangTags/List.pm
-        'if'                    => '0.01', #./lib/if.pm
-        'integer'               => '1.00', #./lib/integer.pm
-        'IO'                    => '1.20', #./ext/IO/IO.pm
-        'IO::Dir'               => '1.03_00', #./ext/IO/lib/IO/Dir.pm
-        'IO::File'              => '1.09', #./ext/IO/lib/IO/File.pm
-        'IO::Handle'            => '1.21_00', #./ext/IO/lib/IO/Handle.pm
-        'IO::Pipe'              => '1.122', #./ext/IO/lib/IO/Pipe.pm
-        'IO::Poll'              => '0.06', #./ext/IO/lib/IO/Poll.pm
-        'IO::Seekable'          => '1.08_00', #./ext/IO/lib/IO/Seekable.pm
-        'IO::Select'            => '1.15', #./ext/IO/lib/IO/Select.pm
-        'IO::Socket'            => '1.27', #./ext/IO/lib/IO/Socket.pm
-        'IO::Socket::INET'      => '1.26', #./ext/IO/lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.20_00', #./ext/IO/lib/IO/Socket/UNIX.pm
-        'IPC::Open2'            => '1.01', #./lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0104', #./lib/IPC/Open3.pm
-        'IPC::Msg'              => '1.00_00', #./ext/IPC/SysV/Msg.pm
-        'IPC::Semaphore'        => '1.00_00', #./ext/IPC/SysV/Semaphore.pm
-        'IPC::SysV'             => '1.03_00', #./ext/IPC/SysV/SysV.pm
-        'JNI'                   => '0.1', #./jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef, #./jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef, #./jpl/JPL/Class.pm
-        'JPL::Compile'          => undef, #./jpl/JPL/Compile.pm
-        'less'                  => '0.01', #./lib/less.pm
-        'lib'                   => '0.5564',
-        'List::Util'            => '1.07_00', #./ext/List/Util/lib/List/Util.pm
-        'locale'                => '1.00', #./lib/locale.pm
-        'Locale::Constants'     => '2.01', #./lib/Locale/Constants.pm
-        'Locale::Country'       => '2.04', #./lib/Locale/Country.pm
-        'Locale::Currency'      => '2.01', #./lib/Locale/Currency.pm
-        'Locale::Language'      => '2.01', #./lib/Locale/Language.pm
-        'Locale::Maketext'      => '1.03', #./lib/Locale/Maketext.pm
-        'Locale::Script'        => '2.01', #./lib/Locale/Script.pm
-        'Math::BigFloat'        => '1.35', #./lib/Math/BigFloat.pm
-        'Math::BigFloat::Trace' => '0.01', #./lib/Math/BigFloat/Trace.pm
-        'Math::BigInt'          => '1.60', #./lib/Math/BigInt.pm
-        'Math::BigInt::Calc'    => '0.30', #./lib/Math/BigInt/Calc.pm
-        'Math::BigInt::Trace'   => '0.01', #./lib/Math/BigInt/Trace.pm
-        'Math::BigRat'          => '0.07', #./lib/Math/BigRat.pm
-        'Math::Complex'         => '1.34', #./lib/Math/Complex.pm
-        'Math::Trig'            => '1.01', #./lib/Math/Trig.pm
-        'Memoize'               => '1.01', #./lib/Memoize.pm
-        'Memoize::AnyDBM_File'  => '0.65', #./lib/Memoize/AnyDBM_File.pm
-        'Memoize::Expire'       => '1.00', #./lib/Memoize/Expire.pm
-        'Memoize::ExpireFile'   => '1.01', #./lib/Memoize/ExpireFile.pm
-        'Memoize::ExpireTest'   => '0.65', #./lib/Memoize/ExpireTest.pm
-        'Memoize::NDBM_File'    => '0.65', #./lib/Memoize/NDBM_File.pm
-        'Memoize::SDBM_File'    => '0.65', #./lib/Memoize/SDBM_File.pm
-        'Memoize::Storable'     => '0.65', #./lib/Memoize/Storable.pm
-        'MIME::Base64'          => '2.12', #./ext/MIME/Base64/Base64.pm
-        'MIME::QuotedPrint'     => '2.03', #./ext/MIME/Base64/QuotedPrint.pm
-        'NDBM_File'             => '1.04', #./ext/NDBM_File/NDBM_File.pm
-        'Net::Cmd'              => '2.21', #./lib/Net/Cmd.pm
-        'Net::Config'           => '1.10', #./lib/Net/Config.pm
-        'Net::Domain'           => '2.17', #./lib/Net/Domain.pm
-        'Net::FTP'              => '2.65', #./lib/Net/FTP.pm
-        'Net::FTP::A'           => '1.15', #./lib/Net/FTP/A.pm
-        'Net::FTP::dataconn'    => '0.11', #./lib/Net/FTP/dataconn.pm
-        'Net::FTP::E'           => '0.01', #./lib/Net/FTP/E.pm
-        'Net::FTP::I'           => '1.12', #./lib/Net/FTP/I.pm
-        'Net::FTP::L'           => '0.01', #./lib/Net/FTP/L.pm
-        'Net::hostent'          => '1.00', #./lib/Net/hostent.pm
-        'Net::netent'           => '1.00', #./lib/Net/netent.pm
-        'Net::Netrc'            => '2.12', #./lib/Net/Netrc.pm
-        'Net::NNTP'             => '2.21', #./lib/Net/NNTP.pm
-        'Net::Ping'             => '2.19', #./lib/Net/Ping.pm
-        'Net::POP3'             => '2.23', #./lib/Net/POP3.pm
-        'Net::protoent'         => '1.00', #./lib/Net/protoent.pm
-        'Net::servent'          => '1.00', #./lib/Net/servent.pm
-        'Net::SMTP'             => '2.24', #./lib/Net/SMTP.pm
-        'Net::Time'             => '2.09', #./lib/Net/Time.pm
-        'NEXT'                  => '0.50', #./lib/NEXT.pm
-        'O'                     => '1.00', #./ext/B/O.pm
-        'ODBM_File'             => '1.03', #./ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.05', #./ext/Opcode/Opcode.pm
-        'open'                  => '1.01', #./lib/open.pm
-        'ops'                   => '1.00', #./ext/Opcode/ops.pm
-        'OS2::DLL'              => '1.00', #./os2/OS2/REXX/DLL/DLL.pm
-        'OS2::ExtAttr'          => '0.01', #./os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.02', #./os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '1.0', #./os2/OS2/Process/Process.pm
-        'OS2::REXX'             => '1.01', #./os2/OS2/REXX/REXX.pm
-        'overload'              => '1.00', #./lib/overload.pm
-        'PerlIO'                => '1.01', #./lib/PerlIO.pm
-        'PerlIO::encoding'      => '0.06', #./ext/PerlIO/encoding/encoding.pm
-        'PerlIO::scalar'        => '0.01', #./ext/PerlIO/scalar/scalar.pm
-        'PerlIO::via'           => '0.01', #./ext/PerlIO/via/via.pm
-        'PerlIO::via::QuotedPrint'=> '0.04', #./lib/PerlIO/via/QuotedPrint.pm
-        'Pod::Checker'          => '1.3', #./lib/Pod/Checker.pm
-        'Pod::Find'             => '0.22', #./lib/Pod/Find.pm
-        'Pod::Functions'        => '1.01', #./lib/Pod/Functions.pm
-        'Pod::Html'             => '1.04', #./lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.13', #./lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.54', #./lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.33', #./lib/Pod/Man.pm
-        'Pod::ParseLink'        => '1.05', #./lib/Pod/ParseLink.pm
-        'Pod::Parser'           => '1.13', #./lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '0.22', #./lib/Pod/ParseUtils.pm
-        'Pod::Plainer'          => '0.01', #./lib/Pod/Plainer.pm
-        'Pod::Select'           => '1.13', #./lib/Pod/Select.pm
-        'Pod::Text'             => '2.19', #./lib/Pod/Text.pm
-        'Pod::Text::Color'      => '1.03', #./lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.08', #./lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1.09', #./lib/Pod/Text/Termcap.pm
-        'Pod::Usage'            => '1.14', #./lib/Pod/Usage.pm
-        'POSIX'                 => '1.05', #./ext/POSIX/POSIX.pm
-        're'                    => '0.03', #./ext/re/re.pm
-        'Safe'                  => '2.07', #./ext/Opcode/Safe.pm
-        'Scalar::Util'          => 'undef', #./ext/List/Util/lib/Scalar/Util.pm
-        'SDBM_File'             => '1.03', #./ext/SDBM_File/SDBM_File.pm
-        'Search::Dict'          => '1.02', #./lib/Search/Dict.pm
-        'SelectSaver'           => '1.00', #./lib/SelectSaver.pm
-        'SelfLoader'            => '1.0903', #./lib/SelfLoader.pm
-        'Shell'                 => '0.4', #./lib/Shell.pm
-        'sigtrap'               => '1.02', #./lib/sigtrap.pm
-        'Socket'                => '1.75', #./ext/Socket/Socket.pm
-        'sort'                  => '1.01', #./lib/sort.pm
-        'Storable'              => '2.04', #./ext/Storable/Storable.pm
-        'strict'                => '1.02', #./lib/strict.pm
-        'subs'                  => '1.00', #./lib/subs.pm
-        'Switch'                => '2.09', #./lib/Switch.pm
-        'Symbol'                => '1.04', #./lib/Symbol.pm
-        'Sys::Hostname'         => '1.1', #./ext/Sys/Hostname/Hostname.pm
-        'Sys::Syslog'           => '0.03', #./ext/Sys/Syslog/Syslog.pm
-        'Term::ANSIColor'       => '1.04', #./lib/Term/ANSIColor.pm
-        'Term::Cap'             => '1.07', #./lib/Term/Cap.pm
-        'Term::Complete'        => '1.4', #./lib/Term/Complete.pm
-        'Term::ReadLine'        => '1.00', #./lib/Term/ReadLine.pm
-        'Test'                  => '1.20', #./lib/Test.pm
-        'Test::Builder'         => '0.15', #./lib/Test/Builder.pm
-        'Test::Harness'         => '2.26', #./lib/Test/Harness.pm
-        'Test::Harness::Assert' => '0.01', #./lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.01', #./lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.14', #./lib/Test/Harness/Straps.pm
-        'Test::More'            => '0.45', #./lib/Test/More.pm
-        'Test::Simple'          => '0.45', #./lib/Test/Simple.pm
-        'Text::Abbrev'          => '1.00', #./lib/Text/Abbrev.pm
-        'Text::Balanced'        => '1.89', #./lib/Text/Balanced.pm
-        'Text::ParseWords'      => '3.21', #./lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.01', #./lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801', #./lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.0929', #./lib/Text/Wrap.pm
-        'Thread'                => '2.00', #./lib/Thread.pm
-        'Thread::Queue'         => '2.00', #./lib/Thread/Queue.pm
-        'Thread::Semaphore'     => '2.00', #./lib/Thread/Semaphore.pm
-        'Thread::Signal'        => '1.00', #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => '1.00', #./ext/Thread/Thread/Specific.pm
-        'threads'               => '0.99', #./ext/threads/threads.pm
-        'threads::shared'       => '0.90', #./ext/threads/shared/shared.pm
-        'Tie::Array'            => '1.02', #./lib/Tie/Array.pm
-        'Tie::File'             => '0.93', #./lib/Tie/File.pm
-        'Tie::Handle'           => '4.1', #./lib/Tie/Handle.pm
-        'Tie::Hash'             => '1.00', #./lib/Tie/Hash.pm
-        'Tie::Memoize'          => '1.0', #./lib/Tie/Memoize.pm
-        'Tie::RefHash'          => '1.30', #./lib/Tie/RefHash.pm
-        'Tie::Scalar'           => '1.00', #./lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => '1.00', #./lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.02', #./lib/Time/gmtime.pm
-        'Time::HiRes'           => '1.20_00', #./ext/Time/HiRes/HiRes.pm
-        'Time::Local'           => '1.04', #./lib/Time/Local.pm
-        'Time::localtime'       => '1.02', #./lib/Time/localtime.pm
-        'Time::tm'              => '1.00', #./lib/Time/tm.pm
-        'Unicode'               => '3.2.0', # lib/unicore/version
-        'Unicode::Collate'      => '0.12', #./lib/Unicode/Collate.pm
-        'Unicode::Normalize'    => '0.17', #./ext/Unicode/Normalize/Normalize.pm
-        'Unicode::UCD'          => '0.2', #./lib/Unicode/UCD.pm
-        'UNIVERSAL'             => '1.00', #./lib/UNIVERSAL.pm
-        'User::grent'           => '1.00', #./lib/User/grent.pm
-        'User::pwent'           => '1.00', #./lib/User/pwent.pm
-        'utf8'                  => '1.00', #./lib/utf8.pm
-        'vars'                  => '1.01', #./lib/vars.pm
-        'VMS::DCLsym'           => '1.02', #./vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => '1.1', #./vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.3', #./vms/ext/Stdio/Stdio.pm
-        'vmsish'                => '1.00', #./lib/vmsish.pm
-        'warnings'              => '1.00', #./lib/warnings.pm
-        'warnings::register'    => '1.00', #./lib/warnings/register.pm
-        'XS::APItest'           => '0.01', #./ext/XS/APItest/APItest.pm
-        'XS::Typemap'           => '0.01', #./ext/XS/Typemap/Typemap.pm
-        'XSLoader'              => '0.01',
+    5.008 => {
+        delta_from => 5.007003,
+        changed => {
+            'Attribute::Handlers'   => '0.77',
+            'B'                     => '1.01',
+            'B::Lint'               => '1.01',
+            'B::Xref'               => '1.01',
+            'CGI'                   => '2.81',
+            'CGI::Carp'             => '1.23',
+            'CPAN'                  => '1.61',
+            'CPAN::FirstTime'       => '1.56 ',
+            'CPAN::Nox'             => '1.02',
+            'Digest::MD5'           => '2.20',
+            'Dumpvalue'             => '1.11',
+            'Encode'                => '1.75',
+            'Encode::Alias'         => '1.32',
+            'Encode::Byte'          => '1.22',
+            'Encode::CJKConstants'  => '1.00',
+            'Encode::CN'            => '1.24',
+            'Encode::CN::HZ'        => '1.04',
+            'Encode::Config'        => '1.06',
+            'Encode::EBCDIC'        => '1.21',
+            'Encode::Encoder'       => '0.05',
+            'Encode::Encoding'      => '1.30',
+            'Encode::Guess'         => '1.06',
+            'Encode::JP'            => '1.25',
+            'Encode::JP::H2Z'       => '1.02',
+            'Encode::JP::JIS7'      => '1.08',
+            'Encode::KR'            => '1.22',
+            'Encode::KR::2022_KR'   => '1.05',
+            'Encode::MIME::Header'  => '1.05',
+            'Encode::Symbol'        => '1.22',
+            'Encode::TW'            => '1.26',
+            'Encode::Unicode'       => '1.37',
+            'Exporter::Heavy'       => '5.566',
+            'ExtUtils::Command'     => '1.04',
+            'ExtUtils::Command::MM' => '0.01',
+            'ExtUtils::Constant'    => '0.12',
+            'ExtUtils::Installed'   => '0.06',
+            'ExtUtils::Liblist'     => '1.00',
+            'ExtUtils::Liblist::Kid'=> '1.29',
+            'ExtUtils::MM'          => '0.04',
+            'ExtUtils::MM_Any'      => '0.04',
+            'ExtUtils::MM_BeOS'     => '1.03',
+            'ExtUtils::MM_Cygwin'   => '1.04',
+            'ExtUtils::MM_DOS'      => '0.01',
+            'ExtUtils::MM_MacOS'    => '1.03',
+            'ExtUtils::MM_NW5'      => '2.05',
+            'ExtUtils::MM_OS2'      => '1.03',
+            'ExtUtils::MM_UWIN'     => '0.01',
+            'ExtUtils::MM_Unix'     => '1.33',
+            'ExtUtils::MM_VMS'      => '5.65',
+            'ExtUtils::MM_Win32'    => '1.05',
+            'ExtUtils::MM_Win95'    => '0.02',
+            'ExtUtils::MY'          => '0.01',
+            'ExtUtils::MakeMaker'   => '6.03',
+            'ExtUtils::Manifest'    => '1.38',
+            'ExtUtils::Mkbootstrap' => '1.15',
+            'ExtUtils::Mksymlists'  => '1.19',
+            'ExtUtils::testlib'     => '1.15',
+            'File::CheckTree'       => '4.2',
+            'FileCache'             => '1.021',
+            'Filter::Simple'        => '0.78',
+            'Getopt::Long'          => '2.32',
+            'Hash::Util'            => '0.04',
+            'List::Util'            => '1.07_00',
+            'Locale::Country'       => '2.04',
+            'Math::BigFloat'        => '1.35',
+            'Math::BigFloat::Trace' => '0.01',
+            'Math::BigInt'          => '1.60',
+            'Math::BigInt::Calc'    => '0.30',
+            'Math::BigInt::Trace'   => '0.01',
+            'Math::BigRat'          => '0.07',
+            'Memoize'               => '1.01',
+            'Memoize::Expire'       => '1.00',
+            'Memoize::ExpireFile'   => '1.01',
+            'Net::FTP'              => '2.65',
+            'Net::FTP::dataconn'    => '0.11',
+            'Net::Ping'             => '2.19',
+            'Net::SMTP'             => '2.24',
+            'PerlIO'                => '1.01',
+            'PerlIO::encoding'      => '0.06',
+            'PerlIO::scalar'        => '0.01',
+            'PerlIO::via'           => '0.01',
+            'PerlIO::via::QuotedPrint'=> '0.04',
+            'Pod::Man'              => '1.33',
+            'Pod::Text'             => '2.19',
+            'Scalar::Util'          => '1.07_00',
+            'Storable'              => '2.04',
+            'Switch'                => '2.09',
+            'Sys::Syslog'           => '0.03',
+            'Test'                  => '1.20',
+            'Test::Builder'         => '0.15',
+            'Test::Harness'         => '2.26',
+            'Test::Harness::Straps' => '0.14',
+            'Test::More'            => '0.45',
+            'Test::Simple'          => '0.45',
+            'Thread::Queue'         => '2.00',
+            'Thread::Semaphore'     => '2.00',
+            'Tie::File'             => '0.93',
+            'Tie::RefHash'          => '1.30',
+            'Unicode'               => '3.2.0',
+            'Unicode::Collate'      => '0.12',
+            'Unicode::Normalize'    => '0.17',
+            'XS::APItest'           => '0.01',
+            'attributes'            => '0.05',
+            'base'                  => '1.03',
+            'bigint'                => '0.02',
+            'bignum'                => '0.11',
+            'bigrat'                => '0.04',
+            'blib'                  => '1.02',
+            'encoding'              => '1.35',
+            'sort'                  => '1.01',
+            'threads'               => '0.99',
+        },
+        removed => {
+            'Encode::Internal'      => 1,
+            'Encode::JP::Constants' => 1,
+            'Encode::JP::ISO_2022_JP'=> 1,
+            'Encode::JP::JIS'       => 1,
+            'Encode::JP::Tr'        => 1,
+            'Encode::Tcl'           => 1,
+            'Encode::Tcl::Escape'   => 1,
+            'Encode::Tcl::Extended' => 1,
+            'Encode::Tcl::HanZi'    => 1,
+            'Encode::Tcl::Table'    => 1,
+            'Encode::XS'            => 1,
+            'Encode::iso10646_1'    => 1,
+            'Encode::usc2_le'       => 1,
+            'Encode::utf8'          => 1,
+            'PerlIO::Scalar'        => 1,
+            'PerlIO::Via'           => 1,
+        }
     },
-
     5.008001 => {
-        'AnyDBM_File'           => '1.00', #./lib/AnyDBM_File.pm
-        'Attribute::Handlers'   => '0.78', #./lib/Attribute/Handlers.pm
-        'attributes'            => '0.06', #./lib/attributes.pm
-        'attrs'                 => '1.01', #./lib/attrs.pm
-        'AutoLoader'            => '5.60', #./lib/AutoLoader.pm
-        'AutoSplit'             => '1.04', #./lib/AutoSplit.pm
-        'autouse'               => '1.03', #./lib/autouse.pm
-        'B'                     => '1.02', #./lib/B.pm
-        'B::Asmdata'            => '1.01', #./lib/B/Asmdata.pm
-        'B::Assembler'          => '0.06', #./lib/B/Assembler.pm
-        'B::Bblock'             => '1.02', #./lib/B/Bblock.pm
-        'B::Bytecode'           => '1.01', #./lib/B/Bytecode.pm
-        'B::C'                  => '1.02', #./lib/B/C.pm
-        'B::CC'                 => '1.00', #./lib/B/CC.pm
-        'B::Concise'            => '0.56', #./lib/B/Concise.pm
-        'B::Debug'              => '1.01', #./lib/B/Debug.pm
-        'B::Deparse'            => '0.64', #./lib/B/Deparse.pm
-        'B::Disassembler'       => '1.03', #./lib/B/Disassembler.pm
-        'B::Lint'               => '1.02', #./lib/B/Lint.pm
-        'B::Showlex'            => '1.00', #./lib/B/Showlex.pm
-        'B::Stackobj'           => '1.00', #./lib/B/Stackobj.pm
-        'B::Stash'              => '1.00', #./lib/B/Stash.pm
-        'B::Terse'              => '1.02', #./lib/B/Terse.pm
-        'B::Xref'               => '1.01', #./lib/B/Xref.pm
-        'base'                  => '2.03', #./lib/base.pm
-        'Benchmark'             => '1.051', #./lib/Benchmark.pm
-        'bigint'                => '0.04', #./lib/bigint.pm
-        'bignum'                => '0.14', #./lib/bignum.pm
-        'bigrat'                => '0.06', #./lib/bigrat.pm
-        'blib'                  => '1.02', #./lib/blib.pm
-        'ByteLoader'            => '0.05', #./lib/ByteLoader.pm
-        'bytes'                 => '1.01', #./lib/bytes.pm
-        'Carp'                  => '1.01', #./lib/Carp.pm
-        'Carp::Heavy'           => '1.01', #./lib/Carp/Heavy.pm
-        'CGI'                   => '3.00', #./lib/CGI.pm
-        'CGI::Apache'           => '1.00', #./lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.26', #./lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.24', #./lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.041', #./lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.07_00', #./lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04', #./lib/CGI/Push.pm
-        'CGI::Switch'           => '1.00', #./lib/CGI/Switch.pm
-        'CGI::Util'             => '1.31', #./lib/CGI/Util.pm
-        'charnames'             => '1.02', #./lib/charnames.pm
-        'Class::ISA'            => '0.32', #./lib/Class/ISA.pm
-        'Class::Struct'         => '0.63', #./lib/Class/Struct.pm
-        'Config'                => undef, #./lib/Config.pm
-        'constant'              => '1.04', #./lib/constant.pm
-        'CPAN'                  => '1.76_01', #./lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.60 ', #./lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.03', #./lib/CPAN/Nox.pm
-        'Cwd'                   => '2.08', #./lib/Cwd.pm
-        'Data::Dumper'          => '2.121', #./lib/Data/Dumper.pm
-        'DB'                    => '1.0', #./lib/DB.pm
-        'DB_File'               => '1.806', #./lib/DB_File.pm
-        'Devel::DProf'          => '20030813.00', #./lib/Devel/DProf.pm
-        'Devel::Peek'           => '1.01', #./lib/Devel/Peek.pm
-        'Devel::PPPort'         => '2.007', #./lib/Devel/PPPort.pm
-        'Devel::SelfStubber'    => '1.03', #./lib/Devel/SelfStubber.pm
-        'diagnostics'           => '1.11', #./lib/diagnostics.pm
-        'Digest'                => '1.02', #./lib/Digest.pm
-        'Digest::MD5'           => '2.27', #./lib/Digest/MD5.pm
-        'DirHandle'             => '1.00', #./lib/DirHandle.pm
-        'Dumpvalue'             => '1.11', #./lib/Dumpvalue.pm
-        'DynaLoader'            => '1.04', #./lib/DynaLoader.pm
-        'Encode'                => '1.9801', #./lib/Encode.pm
-        'Encode::Alias'         => '1.38', #./lib/Encode/Alias.pm
-        'Encode::Byte'          => '1.23', #./lib/Encode/Byte.pm
-        'Encode::CJKConstants'  => '1.02', #./lib/Encode/CJKConstants.pm
-        'Encode::CN'            => '1.24', #./lib/Encode/CN.pm
-        'Encode::CN::HZ'        => '1.05', #./lib/Encode/CN/HZ.pm
-        'Encode::Config'        => '1.07', #./lib/Encode/Config.pm
-        'Encode::EBCDIC'        => '1.21', #./lib/Encode/EBCDIC.pm
-        'Encode::Encoder'       => '0.07', #./lib/Encode/Encoder.pm
-        'Encode::Encoding'      => '1.33', #./lib/Encode/Encoding.pm
-        'Encode::Guess'         => '1.09', #./lib/Encode/Guess.pm
-        'Encode::JP'            => '1.25', #./lib/Encode/JP.pm
-        'Encode::JP::H2Z'       => '1.02', #./lib/Encode/JP/H2Z.pm
-        'Encode::JP::JIS7'      => '1.12', #./lib/Encode/JP/JIS7.pm
-        'Encode::KR'            => '1.23', #./lib/Encode/KR.pm
-        'Encode::KR::2022_KR'   => '1.06', #./lib/Encode/KR/2022_KR.pm
-        'Encode::MIME::Header'  => '1.09', #./lib/Encode/MIME/Header.pm
-        'Encode::Symbol'        => '1.22', #./lib/Encode/Symbol.pm
-        'Encode::TW'            => '1.26', #./lib/Encode/TW.pm
-        'Encode::Unicode'       => '1.40', #./lib/Encode/Unicode.pm
-        'Encode::Unicode::UTF7' => '0.02', #./lib/Encode/Unicode/UTF7.pm
-        'encoding'              => '1.47', #./lib/encoding.pm
-        'English'               => '1.01', #./lib/English.pm
-        'Env'                   => '1.00', #./lib/Env.pm
-        'Errno'                 => '1.09_00', #./lib/Errno.pm
-        'Exporter'              => '5.567', #./lib/Exporter.pm
-        'Exporter::Heavy'       => '5.567', #./lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.05', #./lib/ExtUtils/Command.pm
-        'ExtUtils::Command::MM' => '0.03', #./lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Constant'    => '0.14', #./lib/ExtUtils/Constant.pm
-        'ExtUtils::Embed'       => '1.250601', #./lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.32', #./lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.08', #./lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.01', #./lib/ExtUtils/Liblist.pm
-        'ExtUtils::Liblist::Kid'=> '1.3', #./lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker'   => '6.17', #./lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::MakeMaker::bytes'=> '0.01', #./lib/ExtUtils/MakeMaker/bytes.pm
-        'ExtUtils::MakeMaker::vmsish'=> '0.01', #./lib/ExtUtils/MakeMaker/vmsish.pm
-        'ExtUtils::Manifest'    => '1.42', #./lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef, #./lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Mkbootstrap' => '1.15', #./lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19', #./lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM'          => '0.04', #./lib/ExtUtils/MM.pm
-        'ExtUtils::MM_Any'      => '0.07', #./lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.04', #./lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.06', #./lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.02', #./lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.07', #./lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.06', #./lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM_OS2'      => '1.04', #./lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.42', #./lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.02', #./lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.70', #./lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.09', #./lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.03', #./lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01', #./lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04', #./lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15', #./lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #./vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.03', #./lib/Fatal.pm
-        'Fcntl'                 => '1.05', #./lib/Fcntl.pm
-        'fields'                => '2.03', #./lib/fields.pm
-        'File::Basename'        => '2.72', #./lib/File/Basename.pm
-        'File::CheckTree'       => '4.2', #./lib/File/CheckTree.pm
-        'File::Compare'         => '1.1003', #./lib/File/Compare.pm
-        'File::Copy'            => '2.06', #./lib/File/Copy.pm
-        'File::DosGlob'         => '1.00', #./lib/File/DosGlob.pm
-        'File::Find'            => '1.05', #./lib/File/Find.pm
-        'File::Glob'            => '1.02', #./lib/File/Glob.pm
-        'File::Path'            => '1.06', #./lib/File/Path.pm
-        'File::Spec'            => '0.86', #./lib/File/Spec.pm
-        'File::Spec::Cygwin'    => '1.1', #./lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.1', #./lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.3', #./lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.4', #./lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.2', #./lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.5', #./lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.4', #./lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.4', #./lib/File/Spec/Win32.pm
-        'File::stat'            => '1.00', #./lib/File/stat.pm
-        'File::Temp'            => '0.14', #./lib/File/Temp.pm
-        'FileCache'             => '1.03', #./lib/FileCache.pm
-        'FileHandle'            => '2.01', #./lib/FileHandle.pm
-        'filetest'              => '1.01', #./lib/filetest.pm
-        'Filter::Simple'        => '0.78', #./lib/Filter/Simple.pm
-        'Filter::Util::Call'    => '1.0601', #./lib/Filter/Util/Call.pm
-        'FindBin'               => '1.43', #./lib/FindBin.pm
-        'GDBM_File'             => '1.07', #./ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.34', #./lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.04', #./lib/Getopt/Std.pm
-        'Hash::Util'            => '0.05', #./lib/Hash/Util.pm
-        'I18N::Collate'         => '1.00', #./lib/I18N/Collate.pm
-        'I18N::Langinfo'        => '0.02', #./lib/I18N/Langinfo.pm
-        'I18N::LangTags'        => '0.28', #./lib/I18N/LangTags.pm
-        'I18N::LangTags::List'  => '0.26', #./lib/I18N/LangTags/List.pm
-        'if'                    => '0.03', #./lib/if.pm
-        'integer'               => '1.00', #./lib/integer.pm
-        'IO'                    => '1.21', #./lib/IO.pm
-        'IO::Dir'               => '1.04', #./lib/IO/Dir.pm
-        'IO::File'              => '1.10', #./lib/IO/File.pm
-        'IO::Handle'            => '1.23', #./lib/IO/Handle.pm
-        'IO::Pipe'              => '1.122', #./lib/IO/Pipe.pm
-        'IO::Poll'              => '0.06', #./lib/IO/Poll.pm
-        'IO::Seekable'          => '1.09', #./lib/IO/Seekable.pm
-        'IO::Select'            => '1.16', #./lib/IO/Select.pm
-        'IO::Socket'            => '1.28', #./lib/IO/Socket.pm
-        'IO::Socket::INET'      => '1.27', #./lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.21', #./lib/IO/Socket/UNIX.pm
-        'IPC::Msg'              => '1.02', #./lib/IPC/Msg.pm
-        'IPC::Open2'            => '1.01', #./lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0105', #./lib/IPC/Open3.pm
-        'IPC::Semaphore'        => '1.02', #./lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.04', #./lib/IPC/SysV.pm
-        'JNI'                   => '0.2', #./jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef, #./jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef, #./jpl/JPL/Class.pm
-        'JPL::Compile'          => undef, #./jpl/JPL/Compile.pm
-        'less'                  => '0.01', #./lib/less.pm
-        'lib'                   => '0.5565', #./lib/lib.pm
-        'List::Util'            => '1.13', #./lib/List/Util.pm
-        'locale'                => '1.00', #./lib/locale.pm
-        'Locale::Constants'     => '2.01', #./lib/Locale/Constants.pm
-        'Locale::Country'       => '2.61', #./lib/Locale/Country.pm
-        'Locale::Currency'      => '2.21', #./lib/Locale/Currency.pm
-        'Locale::Language'      => '2.21', #./lib/Locale/Language.pm
-        'Locale::Maketext'      => '1.06', #./lib/Locale/Maketext.pm
-        'Locale::Maketext::Guts'=> undef, #./lib/Locale/Maketext/Guts.pm
-        'Locale::Maketext::GutsLoader'=> undef, #./lib/Locale/Maketext/GutsLoader.pm
-        'Locale::Script'        => '2.21', #./lib/Locale/Script.pm
-        'Math::BigFloat'        => '1.40', #./lib/Math/BigFloat.pm
-        'Math::BigFloat::Trace' => '0.01', #./lib/Math/BigFloat/Trace.pm
-        'Math::BigInt'          => '1.66', #./lib/Math/BigInt.pm
-        'Math::BigInt::Calc'    => '0.36', #./lib/Math/BigInt/Calc.pm
-        'Math::BigInt::Scalar'  => '0.11', #./lib/Math/BigInt/Scalar.pm
-        'Math::BigInt::Trace'   => '0.01', #./lib/Math/BigInt/Trace.pm
-        'Math::BigRat'          => '0.10', #./lib/Math/BigRat.pm
-        'Math::Complex'         => '1.34', #./lib/Math/Complex.pm
-        'Math::Trig'            => '1.02', #./lib/Math/Trig.pm
-        'Memoize'               => '1.01', #./lib/Memoize.pm
-        'Memoize::AnyDBM_File'  => '0.65', #./lib/Memoize/AnyDBM_File.pm
-        'Memoize::Expire'       => '1.00', #./lib/Memoize/Expire.pm
-        'Memoize::ExpireFile'   => '1.01', #./lib/Memoize/ExpireFile.pm
-        'Memoize::ExpireTest'   => '0.65', #./lib/Memoize/ExpireTest.pm
-        'Memoize::NDBM_File'    => '0.65', #./lib/Memoize/NDBM_File.pm
-        'Memoize::SDBM_File'    => '0.65', #./lib/Memoize/SDBM_File.pm
-        'Memoize::Storable'     => '0.65', #./lib/Memoize/Storable.pm
-        'MIME::Base64'          => '2.20', #./lib/MIME/Base64.pm
-        'MIME::QuotedPrint'     => '2.20', #./lib/MIME/QuotedPrint.pm
-        'NDBM_File'             => '1.05', #./ext/NDBM_File/NDBM_File.pm
-        'Net::Cmd'              => '2.24', #./lib/Net/Cmd.pm
-        'Net::Config'           => '1.10', #./lib/Net/Config.pm
-        'Net::Domain'           => '2.18', #./lib/Net/Domain.pm
-        'Net::FTP'              => '2.71', #./lib/Net/FTP.pm
-        'Net::FTP::A'           => '1.16', #./lib/Net/FTP/A.pm
-        'Net::FTP::dataconn'    => '0.11', #./lib/Net/FTP/dataconn.pm
-        'Net::FTP::E'           => '0.01', #./lib/Net/FTP/E.pm
-        'Net::FTP::I'           => '1.12', #./lib/Net/FTP/I.pm
-        'Net::FTP::L'           => '0.01', #./lib/Net/FTP/L.pm
-        'Net::hostent'          => '1.01', #./lib/Net/hostent.pm
-        'Net::netent'           => '1.00', #./lib/Net/netent.pm
-        'Net::Netrc'            => '2.12', #./lib/Net/Netrc.pm
-        'Net::NNTP'             => '2.22', #./lib/Net/NNTP.pm
-        'Net::Ping'             => '2.31', #./lib/Net/Ping.pm
-        'Net::POP3'             => '2.24', #./lib/Net/POP3.pm
-        'Net::protoent'         => '1.00', #./lib/Net/protoent.pm
-        'Net::servent'          => '1.01', #./lib/Net/servent.pm
-        'Net::SMTP'             => '2.26', #./lib/Net/SMTP.pm
-        'Net::Time'             => '2.09', #./lib/Net/Time.pm
-        'NEXT'                  => '0.60', #./lib/NEXT.pm
-        'O'                     => '1.00', #./lib/O.pm
-        'ODBM_File'             => '1.04', #./ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.05', #./lib/Opcode.pm
-        'open'                  => '1.02', #./lib/open.pm
-        'ops'                   => '1.00', #./lib/ops.pm
-        'OS2::ExtAttr'          => '0.02', #./os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.03', #./os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '1.01', #./os2/OS2/Process/Process.pm
-        'OS2::DLL'              => '1.01', #./os2/OS2/REXX/DLL/DLL.pm
-        'OS2::REXX'             => '1.02', #./os2/OS2/REXX/REXX.pm
-        'overload'              => '1.01', #./lib/overload.pm
-        'PerlIO'                => '1.02', #./lib/PerlIO.pm
-        'PerlIO::encoding'      => '0.07', #./lib/PerlIO/encoding.pm
-        'PerlIO::scalar'        => '0.02', #./lib/PerlIO/scalar.pm
-        'PerlIO::via'           => '0.02', #./lib/PerlIO/via.pm
-        'PerlIO::via::QuotedPrint'=> '0.05', #./lib/PerlIO/via/QuotedPrint.pm
-        'Pod::Checker'          => '1.41', #./lib/Pod/Checker.pm
-        'Pod::Find'             => '0.24', #./lib/Pod/Find.pm
-        'Pod::Functions'        => '1.02', #./lib/Pod/Functions.pm
-        'Pod::Html'             => '1.0501', #./lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.14', #./lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.55', #./lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.37', #./lib/Pod/Man.pm
-        'Pod::ParseLink'        => '1.06', #./lib/Pod/ParseLink.pm
-        'Pod::Parser'           => '1.13', #./lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '0.3', #./lib/Pod/ParseUtils.pm
-        'Pod::Perldoc'          => '3.10', #./lib/Pod/Perldoc.pm
-        'Pod::Perldoc::BaseTo'  => undef, #./lib/Pod/Perldoc/BaseTo.pm
-        'Pod::Perldoc::GetOptsOO'=> undef, #./lib/Pod/Perldoc/GetOptsOO.pm
-        'Pod::Perldoc::ToChecker'=> undef, #./lib/Pod/Perldoc/ToChecker.pm
-        'Pod::Perldoc::ToMan'   => undef, #./lib/Pod/Perldoc/ToMan.pm
-        'Pod::Perldoc::ToNroff' => undef, #./lib/Pod/Perldoc/ToNroff.pm
-        'Pod::Perldoc::ToPod'   => undef, #./lib/Pod/Perldoc/ToPod.pm
-        'Pod::Perldoc::ToRtf'   => undef, #./lib/Pod/Perldoc/ToRtf.pm
-        'Pod::Perldoc::ToText'  => undef, #./lib/Pod/Perldoc/ToText.pm
-        'Pod::Perldoc::ToTk'    => 'undef', #./lib/Pod/Perldoc/ToTk.pm
-        'Pod::Perldoc::ToXml'   => undef, #./lib/Pod/Perldoc/ToXml.pm
-        'Pod::Plainer'          => '0.01', #./lib/Pod/Plainer.pm
-        'Pod::PlainText'        => '2.01', #./lib/Pod/PlainText.pm
-        'Pod::Select'           => '1.13', #./lib/Pod/Select.pm
-        'Pod::Text'             => '2.21', #./lib/Pod/Text.pm
-        'Pod::Text::Color'      => '1.04', #./lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.1', #./lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1.11', #./lib/Pod/Text/Termcap.pm
-        'Pod::Usage'            => '1.16', #./lib/Pod/Usage.pm
-        'POSIX'                 => '1.06', #./lib/POSIX.pm
-        're'                    => '0.04', #./lib/re.pm
-        'Safe'                  => '2.10', #./lib/Safe.pm
-        'Scalar::Util'          => '1.13', #./lib/Scalar/Util.pm
-        'SDBM_File'             => '1.04', #./lib/SDBM_File.pm
-        'Search::Dict'          => '1.02', #./lib/Search/Dict.pm
-        'SelectSaver'           => '1.00', #./lib/SelectSaver.pm
-        'SelfLoader'            => '1.0904', #./lib/SelfLoader.pm
-        'Shell'                 => '0.5', #./lib/Shell.pm
-        'sigtrap'               => '1.02', #./lib/sigtrap.pm
-        'Socket'                => '1.76', #./lib/Socket.pm
-        'sort'                  => '1.02', #./lib/sort.pm
-        'Storable'              => '2.08', #./lib/Storable.pm
-        'strict'                => '1.03', #./lib/strict.pm
-        'subs'                  => '1.00', #./lib/subs.pm
-        'Switch'                => '2.10', #./lib/Switch.pm
-        'Symbol'                => '1.05', #./lib/Symbol.pm
-        'Sys::Hostname'         => '1.11', #./lib/Sys/Hostname.pm
-        'Sys::Syslog'           => '0.04', #./lib/Sys/Syslog.pm
-        'Term::ANSIColor'       => '1.07', #./lib/Term/ANSIColor.pm
-        'Term::Cap'             => '1.08', #./lib/Term/Cap.pm
-        'Term::Complete'        => '1.401', #./lib/Term/Complete.pm
-        'Term::ReadLine'        => '1.01', #./lib/Term/ReadLine.pm
-        'Test'                  => '1.24', #./lib/Test.pm
-        'Test::Builder'         => '0.17', #./lib/Test/Builder.pm
-        'Test::Harness'         => '2.30', #./lib/Test/Harness.pm
-        'Test::Harness::Assert' => '0.01', #./lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.01', #./lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.15', #./lib/Test/Harness/Straps.pm
-        'Test::More'            => '0.47', #./lib/Test/More.pm
-        'Test::Simple'          => '0.47', #./lib/Test/Simple.pm
-        'Text::Abbrev'          => '1.01', #./lib/Text/Abbrev.pm
-        'Text::Balanced'        => '1.95', #./lib/Text/Balanced.pm
-        'Text::ParseWords'      => '3.21', #./lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.01', #./lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801', #./lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.09291', #./lib/Text/Wrap.pm
-        'Thread'                => '2.00', #./lib/Thread.pm
-        'Thread::Queue'         => '2.00', #./lib/Thread/Queue.pm
-        'Thread::Semaphore'     => '2.01', #./lib/Thread/Semaphore.pm
-        'Thread::Signal'        => '1.00', #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => '1.00', #./ext/Thread/Thread/Specific.pm
-        'threads'               => '1.00', #./lib/threads.pm
-        'threads::shared'       => '0.91', #./lib/threads/shared.pm
-        'Tie::Array'            => '1.03', #./lib/Tie/Array.pm
-        'Tie::File'             => '0.97', #./lib/Tie/File.pm
-        'Tie::Handle'           => '4.1', #./lib/Tie/Handle.pm
-        'Tie::Hash'             => '1.00', #./lib/Tie/Hash.pm
-        'Tie::Memoize'          => '1.0', #./lib/Tie/Memoize.pm
-        'Tie::RefHash'          => '1.31', #./lib/Tie/RefHash.pm
-        'Tie::Scalar'           => '1.00', #./lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => '1.00', #./lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.02', #./lib/Time/gmtime.pm
-        'Time::HiRes'           => '1.51', #./lib/Time/HiRes.pm
-        'Time::Local'           => '1.07', #./lib/Time/Local.pm
-        'Time::localtime'       => '1.02', #./lib/Time/localtime.pm
-        'Time::tm'              => '1.00', #./lib/Time/tm.pm
-        'Unicode'               => '4.0.0', # lib/unicore/version
-        'Unicode::Collate'      => '0.28', #./lib/Unicode/Collate.pm
-        'Unicode::Normalize'    => '0.23', #./lib/Unicode/Normalize.pm
-        'Unicode::UCD'          => '0.21', #./lib/Unicode/UCD.pm
-        'UNIVERSAL'             => '1.01', #./lib/UNIVERSAL.pm
-        'User::grent'           => '1.00', #./lib/User/grent.pm
-        'User::pwent'           => '1.00', #./lib/User/pwent.pm
-        'utf8'                  => '1.02', #./lib/utf8.pm
-        'vars'                  => '1.01', #./lib/vars.pm
-        'VMS::DCLsym'           => '1.02', #./vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => '1.11', #./vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.3', #./vms/ext/Stdio/Stdio.pm
-        'vmsish'                => '1.01', #./lib/vmsish.pm
-        'warnings'              => '1.03', #./lib/warnings.pm
-        'warnings::register'    => '1.00', #./lib/warnings/register.pm
-        'XS::APItest'           => '0.02', #./lib/XS/APItest.pm
-        'XS::Typemap'           => '0.01', #./lib/XS/Typemap.pm
-        'XSLoader'              => '0.02', #./lib/XSLoader.pm
+        delta_from => 5.008,
+        changed => {
+            'Attribute::Handlers'   => '0.78',
+            'AutoLoader'            => '5.60',
+            'AutoSplit'             => '1.04',
+            'B'                     => '1.02',
+            'B::Asmdata'            => '1.01',
+            'B::Assembler'          => '0.06',
+            'B::Bblock'             => '1.02',
+            'B::Bytecode'           => '1.01',
+            'B::C'                  => '1.02',
+            'B::Concise'            => '0.56',
+            'B::Debug'              => '1.01',
+            'B::Deparse'            => '0.64',
+            'B::Disassembler'       => '1.03',
+            'B::Lint'               => '1.02',
+            'B::Terse'              => '1.02',
+            'Benchmark'             => '1.051',
+            'ByteLoader'            => '0.05',
+            'CGI'                   => '3.00',
+            'CGI::Carp'             => '1.26',
+            'CGI::Cookie'           => '1.24',
+            'CGI::Fast'             => '1.041',
+            'CGI::Pretty'           => '1.07_00',
+            'CGI::Util'             => '1.31',
+            'CPAN'                  => '1.76_01',
+            'CPAN::FirstTime'       => '1.60 ',
+            'CPAN::Nox'             => '1.03',
+            'Class::Struct'         => '0.63',
+            'Cwd'                   => '2.08',
+            'DB_File'               => '1.806',
+            'Data::Dumper'          => '2.121',
+            'Devel::DProf'          => '20030813.00',
+            'Devel::PPPort'         => '2.007',
+            'Devel::Peek'           => '1.01',
+            'Digest'                => '1.02',
+            'Digest::MD5'           => '2.27',
+            'Encode'                => '1.9801',
+            'Encode::Alias'         => '1.38',
+            'Encode::Byte'          => '1.23',
+            'Encode::CJKConstants'  => '1.02',
+            'Encode::CN::HZ'        => '1.05',
+            'Encode::Config'        => '1.07',
+            'Encode::Encoder'       => '0.07',
+            'Encode::Encoding'      => '1.33',
+            'Encode::Guess'         => '1.09',
+            'Encode::JP::JIS7'      => '1.12',
+            'Encode::KR'            => '1.23',
+            'Encode::KR::2022_KR'   => '1.06',
+            'Encode::MIME::Header'  => '1.09',
+            'Encode::Unicode'       => '1.40',
+            'Encode::Unicode::UTF7' => '0.02',
+            'English'               => '1.01',
+            'Errno'                 => '1.09_00',
+            'Exporter'              => '5.567',
+            'Exporter::Heavy'       => '5.567',
+            'ExtUtils::Command'     => '1.05',
+            'ExtUtils::Command::MM' => '0.03',
+            'ExtUtils::Constant'    => '0.14',
+            'ExtUtils::Install'     => '1.32',
+            'ExtUtils::Installed'   => '0.08',
+            'ExtUtils::Liblist'     => '1.01',
+            'ExtUtils::Liblist::Kid'=> '1.3',
+            'ExtUtils::MM_Any'      => '0.07',
+            'ExtUtils::MM_BeOS'     => '1.04',
+            'ExtUtils::MM_Cygwin'   => '1.06',
+            'ExtUtils::MM_DOS'      => '0.02',
+            'ExtUtils::MM_MacOS'    => '1.07',
+            'ExtUtils::MM_NW5'      => '2.06',
+            'ExtUtils::MM_OS2'      => '1.04',
+            'ExtUtils::MM_UWIN'     => '0.02',
+            'ExtUtils::MM_Unix'     => '1.42',
+            'ExtUtils::MM_VMS'      => '5.70',
+            'ExtUtils::MM_Win32'    => '1.09',
+            'ExtUtils::MM_Win95'    => '0.03',
+            'ExtUtils::MakeMaker'   => '6.17',
+            'ExtUtils::MakeMaker::bytes'=> '0.01',
+            'ExtUtils::MakeMaker::vmsish'=> '0.01',
+            'ExtUtils::Manifest'    => '1.42',
+            'Fcntl'                 => '1.05',
+            'File::Basename'        => '2.72',
+            'File::Copy'            => '2.06',
+            'File::Find'            => '1.05',
+            'File::Glob'            => '1.02',
+            'File::Path'            => '1.06',
+            'File::Spec'            => '0.86',
+            'File::Spec::Cygwin'    => '1.1',
+            'File::Spec::Epoc'      => '1.1',
+            'File::Spec::Functions' => '1.3',
+            'File::Spec::Mac'       => '1.4',
+            'File::Spec::OS2'       => '1.2',
+            'File::Spec::Unix'      => '1.5',
+            'File::Spec::VMS'       => '1.4',
+            'File::Spec::Win32'     => '1.4',
+            'File::Temp'            => '0.14',
+            'FileCache'             => '1.03',
+            'Filter::Util::Call'    => '1.0601',
+            'GDBM_File'             => '1.07',
+            'Getopt::Long'          => '2.34',
+            'Getopt::Std'           => '1.04',
+            'Hash::Util'            => '0.05',
+            'I18N::LangTags'        => '0.28',
+            'I18N::LangTags::List'  => '0.26',
+            'I18N::Langinfo'        => '0.02',
+            'IO'                    => '1.21',
+            'IO::Dir'               => '1.04',
+            'IO::File'              => '1.10',
+            'IO::Handle'            => '1.23',
+            'IO::Seekable'          => '1.09',
+            'IO::Select'            => '1.16',
+            'IO::Socket'            => '1.28',
+            'IO::Socket::INET'      => '1.27',
+            'IO::Socket::UNIX'      => '1.21',
+            'IPC::Msg'              => '1.02',
+            'IPC::Open3'            => '1.0105',
+            'IPC::Semaphore'        => '1.02',
+            'IPC::SysV'             => '1.04',
+            'JNI'                   => '0.2',
+            'List::Util'            => '1.13',
+            'Locale::Country'       => '2.61',
+            'Locale::Currency'      => '2.21',
+            'Locale::Language'      => '2.21',
+            'Locale::Maketext'      => '1.06',
+            'Locale::Maketext::Guts'=> undef,
+            'Locale::Maketext::GutsLoader'=> undef,
+            'Locale::Script'        => '2.21',
+            'MIME::Base64'          => '2.20',
+            'MIME::QuotedPrint'     => '2.20',
+            'Math::BigFloat'        => '1.40',
+            'Math::BigInt'          => '1.66',
+            'Math::BigInt::Calc'    => '0.36',
+            'Math::BigInt::Scalar'  => '0.11',
+            'Math::BigRat'          => '0.10',
+            'Math::Trig'            => '1.02',
+            'NDBM_File'             => '1.05',
+            'NEXT'                  => '0.60',
+            'Net::Cmd'              => '2.24',
+            'Net::Domain'           => '2.18',
+            'Net::FTP'              => '2.71',
+            'Net::FTP::A'           => '1.16',
+            'Net::NNTP'             => '2.22',
+            'Net::POP3'             => '2.24',
+            'Net::Ping'             => '2.31',
+            'Net::SMTP'             => '2.26',
+            'Net::hostent'          => '1.01',
+            'Net::servent'          => '1.01',
+            'ODBM_File'             => '1.04',
+            'OS2::DLL'              => '1.01',
+            'OS2::ExtAttr'          => '0.02',
+            'OS2::PrfDB'            => '0.03',
+            'OS2::Process'          => '1.01',
+            'OS2::REXX'             => '1.02',
+            'POSIX'                 => '1.06',
+            'PerlIO'                => '1.02',
+            'PerlIO::encoding'      => '0.07',
+            'PerlIO::scalar'        => '0.02',
+            'PerlIO::via'           => '0.02',
+            'PerlIO::via::QuotedPrint'=> '0.05',
+            'Pod::Checker'          => '1.41',
+            'Pod::Find'             => '0.24',
+            'Pod::Functions'        => '1.02',
+            'Pod::Html'             => '1.0501',
+            'Pod::InputObjects'     => '1.14',
+            'Pod::LaTeX'            => '0.55',
+            'Pod::Man'              => '1.37',
+            'Pod::ParseLink'        => '1.06',
+            'Pod::ParseUtils'       => '0.3',
+            'Pod::Perldoc'          => '3.10',
+            'Pod::Perldoc::BaseTo'  => undef,
+            'Pod::Perldoc::GetOptsOO'=> undef,
+            'Pod::Perldoc::ToChecker'=> undef,
+            'Pod::Perldoc::ToMan'   => undef,
+            'Pod::Perldoc::ToNroff' => undef,
+            'Pod::Perldoc::ToPod'   => undef,
+            'Pod::Perldoc::ToRtf'   => undef,
+            'Pod::Perldoc::ToText'  => undef,
+            'Pod::Perldoc::ToTk'    => undef,
+            'Pod::Perldoc::ToXml'   => undef,
+            'Pod::PlainText'        => '2.01',
+            'Pod::Text'             => '2.21',
+            'Pod::Text::Color'      => '1.04',
+            'Pod::Text::Overstrike' => '1.1',
+            'Pod::Text::Termcap'    => '1.11',
+            'Pod::Usage'            => '1.16',
+            'SDBM_File'             => '1.04',
+            'Safe'                  => '2.10',
+            'Scalar::Util'          => '1.13',
+            'SelfLoader'            => '1.0904',
+            'Shell'                 => '0.5',
+            'Socket'                => '1.76',
+            'Storable'              => '2.08',
+            'Switch'                => '2.10',
+            'Symbol'                => '1.05',
+            'Sys::Hostname'         => '1.11',
+            'Sys::Syslog'           => '0.04',
+            'Term::ANSIColor'       => '1.07',
+            'Term::Cap'             => '1.08',
+            'Term::Complete'        => '1.401',
+            'Term::ReadLine'        => '1.01',
+            'Test'                  => '1.24',
+            'Test::Builder'         => '0.17',
+            'Test::Harness'         => '2.30',
+            'Test::Harness::Straps' => '0.15',
+            'Test::More'            => '0.47',
+            'Test::Simple'          => '0.47',
+            'Text::Abbrev'          => '1.01',
+            'Text::Balanced'        => '1.95',
+            'Text::Wrap'            => '2001.09291',
+            'Thread::Semaphore'     => '2.01',
+            'Tie::Array'            => '1.03',
+            'Tie::File'             => '0.97',
+            'Tie::RefHash'          => '1.31',
+            'Time::HiRes'           => '1.51',
+            'Time::Local'           => '1.07',
+            'UNIVERSAL'             => '1.01',
+            'Unicode'               => '4.0.0',
+            'Unicode::Collate'      => '0.28',
+            'Unicode::Normalize'    => '0.23',
+            'Unicode::UCD'          => '0.21',
+            'VMS::Filespec'         => '1.11',
+            'XS::APItest'           => '0.02',
+            'XSLoader'              => '0.02',
+            'attributes'            => '0.06',
+            'base'                  => '2.03',
+            'bigint'                => '0.04',
+            'bignum'                => '0.14',
+            'bigrat'                => '0.06',
+            'bytes'                 => '1.01',
+            'charnames'             => '1.02',
+            'diagnostics'           => '1.11',
+            'encoding'              => '1.47',
+            'fields'                => '2.03',
+            'filetest'              => '1.01',
+            'if'                    => '0.03',
+            'lib'                   => '0.5565',
+            'open'                  => '1.02',
+            'overload'              => '1.01',
+            're'                    => '0.04',
+            'sort'                  => '1.02',
+            'strict'                => '1.03',
+            'threads'               => '1.00',
+            'threads::shared'       => '0.91',
+            'utf8'                  => '1.02',
+            'vmsish'                => '1.01',
+            'warnings'              => '1.03',
+        },
+        removed => {
+        }
     },
-
     5.008002 => {
-        'AnyDBM_File' => '1.00',  #AnyDBM_File.pm
-        'Attribute::Handlers' => 0.78, #Attribute\Handlers.pm
-        'attributes' => 0.06,   #attributes.pm
-        'attrs' => 1.01,        #attrs.pm
-        'AutoLoader' => '5.60',   #AutoLoader.pm
-        'AutoSplit' => 1.04,    #AutoSplit.pm
-        'autouse' => 1.03,      #autouse.pm
-        'B' => 1.02,            #B.pm
-        'B::Asmdata' => 1.01,   #B\Asmdata.pm
-        'B::Assembler' => 0.06, #B\Assembler.pm
-        'B::Bblock' => 1.02,    #B\Bblock.pm
-        'B::Bytecode' => 1.01,  #B\Bytecode.pm
-        'B::C' => 1.02,         #B\C.pm
-        'B::CC' => '1.00',        #B\CC.pm
-        'B::Concise' => 0.56,   #B\Concise.pm
-        'B::Debug' => 1.01,     #B\Debug.pm
-        'B::Deparse' => 0.64,   #B\Deparse.pm
-        'B::Disassembler' => 1.03, #B\Disassembler.pm
-        'B::Lint' => 1.02,      #B\Lint.pm
-        'B::Showlex' => '1.00',   #B\Showlex.pm
-        'B::Stackobj' => '1.00',  #B\Stackobj.pm
-        'B::Stash' => '1.00',     #B\Stash.pm
-        'B::Terse' => 1.02,     #B\Terse.pm
-        'B::Xref' => 1.01,      #B\Xref.pm
-        'base' => 2.03,         #base.pm
-        'Benchmark' => 1.051,   #Benchmark.pm
-        'bigint' => 0.04,       #bigint.pm
-        'bignum' => 0.14,       #bignum.pm
-        'bigrat' => 0.06,       #bigrat.pm
-        'blib' => 1.02,         #blib.pm
-        'ByteLoader' => 0.05,   #ByteLoader.pm
-        'bytes' => 1.01,        #bytes.pm
-        'Carp' => 1.01,         #Carp.pm
-        'Carp::Heavy' => 1.01,  #Carp\Heavy.pm
-        'CGI' => '3.00',          #CGI.pm
-        'CGI::Apache' => '1.00',  #CGI\Apache.pm
-        'CGI::Carp' => 1.26,    #CGI\Carp.pm
-        'CGI::Cookie' => 1.24,  #CGI\Cookie.pm
-        'CGI::Fast' => 1.041,   #CGI\Fast.pm
-        'CGI::Pretty' => '1.07_00', #CGI\Pretty.pm
-        'CGI::Push' => 1.04,    #CGI\Push.pm
-        'CGI::Switch' => '1.00',  #CGI\Switch.pm
-        'CGI::Util' => 1.31,    #CGI\Util.pm
-        'charnames' => 1.02,    #charnames.pm
-        'Class::ISA' => 0.32,   #Class\ISA.pm
-        'Class::Struct' => 0.63, #Class\Struct.pm
-        'Config' => undef,      #Config.pm
-        'constant' => 1.04,     #constant.pm
-        'CPAN' => '1.76_01',      #CPAN.pm
-        'CPAN::FirstTime' => '1.60 ', #CPAN\FirstTime.pm
-        'CPAN::Nox' => 1.03,    #CPAN\Nox.pm
-        'Cwd' => 2.08,          #Cwd.pm
-        'Data::Dumper' => 2.121, #Data\Dumper.pm
-        'DB' => '1.0',            #DB.pm
-        'Devel::DProf' => '20030813.00', #Devel\DProf.pm
-        'Devel::Peek' => 1.01,  #Devel\Peek.pm
-        'Devel::PPPort' => 2.009, #Devel\PPPort.pm
-        'Devel::SelfStubber' => 1.03, #Devel\SelfStubber.pm
-        'diagnostics' => 1.11,  #diagnostics.pm
-        'Digest' => 1.02,       #Digest.pm
-        'Digest::MD5' => '2.30',  #Digest\MD5.pm
-        'DirHandle' => '1.00',    #DirHandle.pm
-        'Dumpvalue' => 1.11,    #Dumpvalue.pm
-        'DynaLoader' => 1.04,   #DynaLoader.pm
-        'Encode' => 1.9801,     #Encode.pm
-        'Encode::Alias' => 1.38, #Encode\Alias.pm
-        'Encode::Byte' => 1.23, #Encode\Byte.pm
-        'Encode::CJKConstants' => 1.02, #Encode\CJKConstants.pm
-        'Encode::CN' => 1.24,   #Encode\CN.pm
-        'Encode::CN::HZ' => 1.05, #Encode\CN\HZ.pm
-        'Encode::Config' => 1.07, #Encode\Config.pm
-        'Encode::EBCDIC' => 1.21, #Encode\EBCDIC.pm
-        'Encode::Encoder' => 0.07, #Encode\Encoder.pm
-        'Encode::Encoding' => 1.33, #Encode\Encoding.pm
-        'Encode::Guess' => 1.09, #Encode\Guess.pm
-        'Encode::JP' => 1.25,   #Encode\JP.pm
-        'Encode::JP::H2Z' => 1.02, #Encode\JP\H2Z.pm
-        'Encode::JP::JIS7' => 1.12, #Encode\JP\JIS7.pm
-        'Encode::KR' => 1.23,   #Encode\KR.pm
-        'Encode::KR::2022_KR' => 1.06, #Encode\KR\2022_KR.pm
-        'Encode::MIME::Header' => 1.09, #Encode\MIME\Header.pm
-        'Encode::Symbol' => 1.22, #Encode\Symbol.pm
-        'Encode::TW' => 1.26,   #Encode\TW.pm
-        'Encode::Unicode' => '1.40', #Encode\Unicode.pm
-        'Encode::Unicode::UTF7' => 0.02, #Encode\Unicode\UTF7.pm
-        'encoding' => 1.47,     #encoding.pm
-        'English' => 1.01,      #English.pm
-        'Env' => '1.00',          #Env.pm
-        'Errno' => '1.09_00',     #Errno.pm
-        'Exporter' => 5.567,    #Exporter.pm
-        'Exporter::Heavy' => 5.567, #Exporter\Heavy.pm
-        'ExtUtils::Command' => 1.05, #ExtUtils\Command.pm
-        'ExtUtils::Command::MM' => 0.03, #ExtUtils\Command\MM.pm
-        'ExtUtils::Constant' => 0.14, #ExtUtils\Constant.pm
-        'ExtUtils::Embed' => 1.250601, #ExtUtils\Embed.pm
-        'ExtUtils::Install' => 1.32, #ExtUtils\Install.pm
-        'ExtUtils::Installed' => 0.08, #ExtUtils\Installed.pm
-        'ExtUtils::Liblist' => 1.01, #ExtUtils\Liblist.pm
-        'ExtUtils::Liblist::Kid' => 1.3, #ExtUtils\Liblist\Kid.pm
-        'ExtUtils::MakeMaker' => 6.17, #ExtUtils\MakeMaker.pm
-        'ExtUtils::MakeMaker::bytes' => 0.01, #ExtUtils\MakeMaker\bytes.pm
-        'ExtUtils::MakeMaker::vmsish' => 0.01, #ExtUtils\MakeMaker\vmsish.pm
-        'ExtUtils::Manifest' => 1.42, #ExtUtils\Manifest.pm
-        'ExtUtils::Miniperl' => undef, #ExtUtils\Miniperl.pm
-        'ExtUtils::Mkbootstrap' => 1.15, #ExtUtils\Mkbootstrap.pm
-        'ExtUtils::Mksymlists' => 1.19, #ExtUtils\Mksymlists.pm
-        'ExtUtils::MM' => 0.04, #ExtUtils\MM.pm
-        'ExtUtils::MM_Any' => 0.07, #ExtUtils\MM_Any.pm
-        'ExtUtils::MM_BeOS' => 1.04, #ExtUtils\MM_BeOS.pm
-        'ExtUtils::MM_Cygwin' => 1.06, #ExtUtils\MM_Cygwin.pm
-        'ExtUtils::MM_DOS' => 0.02, #ExtUtils\MM_DOS.pm
-        'ExtUtils::MM_MacOS' => 1.07, #ExtUtils\MM_MacOS.pm
-        'ExtUtils::MM_NW5' => 2.06, #ExtUtils\MM_NW5.pm
-        'ExtUtils::MM_OS2' => 1.04, #ExtUtils\MM_OS2.pm
-        'ExtUtils::MM_Unix' => 1.42, #ExtUtils\MM_Unix.pm
-        'ExtUtils::MM_UWIN' => 0.02, #ExtUtils\MM_UWIN.pm
-        'ExtUtils::MM_VMS' => '5.70', #ExtUtils\MM_VMS.pm
-        'ExtUtils::MM_Win32' => 1.09, #ExtUtils\MM_Win32.pm
-        'ExtUtils::MM_Win95' => 0.03, #ExtUtils\MM_Win95.pm
-        'ExtUtils::MY' => 0.01, #ExtUtils\MY.pm
-        'ExtUtils::Packlist' => 0.04, #ExtUtils\Packlist.pm
-        'ExtUtils::testlib' => 1.15, #ExtUtils\testlib.pm
-        'ExtUtils::XSSymSet' => '1.0',  #vms\ext\XSSymSet.pm
-        'Fatal' => 1.03,        #Fatal.pm
-        'Fcntl' => 1.05,        #Fcntl.pm
-        'fields' => 2.03,       #fields.pm
-        'File::Basename' => 2.72, #File\Basename.pm
-        'File::CheckTree' => 4.2, #File\CheckTree.pm
-        'File::Compare' => 1.1003, #File\Compare.pm
-        'File::Copy' => 2.06,   #File\Copy.pm
-        'File::DosGlob' => '1.00', #File\DosGlob.pm
-        'File::Find' => 1.05,   #File\Find.pm
-        'File::Glob' => 1.02,   #File\Glob.pm
-        'File::Path' => 1.06,   #File\Path.pm
-        'File::Spec' => 0.86,   #File\Spec.pm
-        'File::Spec::Cygwin' => 1.1, #File\Spec\Cygwin.pm
-        'File::Spec::Epoc' => 1.1, #File\Spec\Epoc.pm
-        'File::Spec::Functions' => 1.3, #File\Spec\Functions.pm
-        'File::Spec::Mac' => 1.4, #File\Spec\Mac.pm
-        'File::Spec::OS2' => 1.2, #File\Spec\OS2.pm
-        'File::Spec::Unix' => 1.5, #File\Spec\Unix.pm
-        'File::Spec::VMS' => 1.4, #File\Spec\VMS.pm
-        'File::Spec::Win32' => 1.4, #File\Spec\Win32.pm
-        'File::stat' => '1.00',   #File\stat.pm
-        'File::Temp' => 0.14,   #File\Temp.pm
-        'FileCache' => 1.03,    #FileCache.pm
-        'FileHandle' => 2.01,   #FileHandle.pm
-        'filetest' => 1.01,     #filetest.pm
-        'Filter::Simple' => 0.78, #Filter\Simple.pm
-        'Filter::Util::Call' => 1.0601, #Filter\Util\Call.pm
-        'FindBin' => 1.43,      #FindBin.pm
-        'GDBM_File' => '1.07', #ext\GDBM_File\GDBM_File.pm
-        'Getopt::Long' => 2.34, #Getopt\Long.pm
-        'Getopt::Std' => 1.04,  #Getopt\Std.pm
-        'Hash::Util' => 0.05,   #Hash\Util.pm
-        'I18N::Collate' => '1.00', #I18N\Collate.pm
-        'I18N::Langinfo' => '0.02', #I18N\Langinfo.pm
-        'I18N::LangTags' => 0.29, #I18N\LangTags.pm
-        'I18N::LangTags::List' => 0.29, #I18N\LangTags\List.pm
-        'if' => 0.03,           #if.pm
-        'integer' => '1.00',      #integer.pm
-        'IO' => 1.21,           #IO.pm
-        'IO::Dir' => 1.04,      #IO\Dir.pm
-        'IO::File' => '1.10',     #IO\File.pm
-        'IO::Handle' => 1.23,   #IO\Handle.pm
-        'IO::Pipe' => 1.122,    #IO\Pipe.pm
-        'IO::Poll' => 0.06,     #IO\Poll.pm
-        'IO::Seekable' => 1.09, #IO\Seekable.pm
-        'IO::Select' => 1.16,   #IO\Select.pm
-        'IO::Socket' => 1.28,   #IO\Socket.pm
-        'IO::Socket::INET' => 1.27, #IO\Socket\INET.pm
-        'IO::Socket::UNIX' => 1.21, #IO\Socket\UNIX.pm
-        'IPC::Msg' => 1.02,     #IPC\Msg.pm
-        'IPC::Open2' => 1.01,   #IPC\Open2.pm
-        'IPC::Open3' => 1.0105, #IPC\Open3.pm
-        'IPC::Semaphore' => 1.02, #IPC\Semaphore.pm
-        'IPC::SysV' => 1.04,    #IPC\SysV.pm
-        'JNI' => '0.2',         #jpl\JNI\JNI.pm
-        'JPL::AutoLoader' => undef, #jpl\JPL\AutoLoader.pm
-        'JPL::Class' => undef,  #jpl\JPL\Class.pm
-        'JPL::Compile' => undef, #jpl\JPL\Compile.pm
-        'less' => 0.01,         #less.pm
-        'lib' => 0.5565,        #lib.pm
-        'List::Util' => 1.13,   #List\Util.pm
-        'locale' => '1.00',       #locale.pm
-        'Locale::Constants' => 2.01, #Locale\Constants.pm
-        'Locale::Country' => 2.61, #Locale\Country.pm
-        'Locale::Currency' => 2.21, #Locale\Currency.pm
-        'Locale::Language' => 2.21, #Locale\Language.pm
-        'Locale::Maketext' => 1.06, #Locale\Maketext.pm
-        'Locale::Maketext::Guts' => undef, #Locale\Maketext\Guts.pm
-        'Locale::Maketext::GutsLoader' => undef, #Locale\Maketext\GutsLoader.pm
-        'Locale::Script' => 2.21, #Locale\Script.pm
-        'Math::BigFloat' => '1.40', #Math\BigFloat.pm
-        'Math::BigFloat::Trace' => 0.01, #Math\BigFloat\Trace.pm
-        'Math::BigInt' => 1.66, #Math\BigInt.pm
-        'Math::BigInt::Calc' => 0.36, #Math\BigInt\Calc.pm
-        'Math::BigInt::Scalar' => 0.11, #Math\BigInt\Scalar.pm
-        'Math::BigInt::Trace' => 0.01, #Math\BigInt\Trace.pm
-        'Math::BigRat' => '0.10', #Math\BigRat.pm
-        'Math::Complex' => 1.34, #Math\Complex.pm
-        'Math::Trig' => 1.02,   #Math\Trig.pm
-        'Memoize' => 1.01,      #Memoize.pm
-        'Memoize::AnyDBM_File' => 0.65, #Memoize\AnyDBM_File.pm
-        'Memoize::Expire' => '1.00', #Memoize\Expire.pm
-        'Memoize::ExpireFile' => 1.01, #Memoize\ExpireFile.pm
-        'Memoize::ExpireTest' => 0.65, #Memoize\ExpireTest.pm
-        'Memoize::NDBM_File' => 0.65, #Memoize\NDBM_File.pm
-        'Memoize::SDBM_File' => 0.65, #Memoize\SDBM_File.pm
-        'Memoize::Storable' => 0.65, #Memoize\Storable.pm
-        'MIME::Base64' => 2.21, #MIME\Base64.pm
-        'MIME::QuotedPrint' => 2.21, #MIME\QuotedPrint.pm
-        'NDBM_File' => '1.05',  #ext\NDBM_File\NDBM_File.pm
-        'Net::Cmd' => 2.24,     #Net\Cmd.pm
-        'Net::Config' => '1.10',  #Net\Config.pm
-        'Net::Domain' => 2.19,  #Net\Domain.pm
-        'Net::FTP' => 2.72,     #Net\FTP.pm
-        'Net::FTP::A' => 1.16,  #Net\FTP\A.pm
-        'Net::FTP::dataconn' => 0.11, #Net\FTP\dataconn.pm
-        'Net::FTP::E' => 0.01,  #Net\FTP\E.pm
-        'Net::FTP::I' => 1.12,  #Net\FTP\I.pm
-        'Net::FTP::L' => 0.01,  #Net\FTP\L.pm
-        'Net::hostent' => 1.01, #Net\hostent.pm
-        'Net::netent' => '1.00',  #Net\netent.pm
-        'Net::Netrc' => 2.12,   #Net\Netrc.pm
-        'Net::NNTP' => 2.22,    #Net\NNTP.pm
-        'Net::Ping' => 2.31,    #Net\Ping.pm
-        'Net::POP3' => 2.24,    #Net\POP3.pm
-        'Net::protoent' => '1.00', #Net\protoent.pm
-        'Net::servent' => 1.01, #Net\servent.pm
-        'Net::SMTP' => 2.26,    #Net\SMTP.pm
-        'Net::Time' => 2.09,    #Net\Time.pm
-        'NEXT' => '0.60',         #NEXT.pm
-        'O' => '1.00',            #O.pm
-        'ODBM_File' => '1.04',  #ext\ODBM_File\ODBM_File.pm
-        'Opcode' => 1.05,       #Opcode.pm
-        'open' => 1.02,         #open.pm
-        'ops' => '1.00',          #ops.pm
-        'OS2::DLL' => '1.01',   #os2\OS2\REXX\DLL\DLL.pm
-        'OS2::ExtAttr' => '0.02', #os2\OS2\ExtAttr\ExtAttr.pm
-        'OS2::PrfDB' => '0.03', #os2\OS2\PrfDB\PrfDB.pm
-        'OS2::Process' => '1.01', #os2\OS2\Process\Process.pm
-        'OS2::REXX' => '1.02',  #os2\OS2\REXX\REXX.pm
-        'overload' => 1.01,     #overload.pm
-        'PerlIO' => 1.02,       #PerlIO.pm
-        'PerlIO::encoding' => 0.07, #PerlIO\encoding.pm
-        'PerlIO::scalar' => 0.02, #PerlIO\scalar.pm
-        'PerlIO::via' => 0.02,  #PerlIO\via.pm
-        'PerlIO::via::QuotedPrint' => 0.05, #PerlIO\via\QuotedPrint.pm
-        'Pod::Checker' => 1.41, #Pod\Checker.pm
-        'Pod::Find' => 0.24,    #Pod\Find.pm
-        'Pod::Functions' => 1.02, #Pod\Functions.pm
-        'Pod::Html' => 1.0501,  #Pod\Html.pm
-        'Pod::InputObjects' => 1.14, #Pod\InputObjects.pm
-        'Pod::LaTeX' => 0.55,   #Pod\LaTeX.pm
-        'Pod::Man' => 1.37,     #Pod\Man.pm
-        'Pod::ParseLink' => 1.06, #Pod\ParseLink.pm
-        'Pod::Parser' => 1.13,  #Pod\Parser.pm
-        'Pod::ParseUtils' => 0.3, #Pod\ParseUtils.pm
-        'Pod::Perldoc' => 3.11, #Pod\Perldoc.pm
-        'Pod::Perldoc::BaseTo' => undef, #Pod\Perldoc\BaseTo.pm
-        'Pod::Perldoc::GetOptsOO' => undef, #Pod\Perldoc\GetOptsOO.pm
-        'Pod::Perldoc::ToChecker' => undef, #Pod\Perldoc\ToChecker.pm
-        'Pod::Perldoc::ToMan' => undef, #Pod\Perldoc\ToMan.pm
-        'Pod::Perldoc::ToNroff' => undef, #Pod\Perldoc\ToNroff.pm
-        'Pod::Perldoc::ToPod' => undef, #Pod\Perldoc\ToPod.pm
-        'Pod::Perldoc::ToRtf' => undef, #Pod\Perldoc\ToRtf.pm
-        'Pod::Perldoc::ToText' => undef, #Pod\Perldoc\ToText.pm
-        'Pod::Perldoc::ToTk' => undef, #Pod\Perldoc\ToTk.pm
-        'Pod::Perldoc::ToXml' => undef, #Pod\Perldoc\ToXml.pm
-        'Pod::Plainer' => 0.01, #Pod\Plainer.pm
-        'Pod::PlainText' => 2.01, #Pod\PlainText.pm
-        'Pod::Select' => 1.13,  #Pod\Select.pm
-        'Pod::Text' => 2.21,    #Pod\Text.pm
-        'Pod::Text::Color' => 1.04, #Pod\Text\Color.pm
-        'Pod::Text::Overstrike' => 1.1, #Pod\Text\Overstrike.pm
-        'Pod::Text::Termcap' => 1.11, #Pod\Text\Termcap.pm
-        'Pod::Usage' => 1.16,   #Pod\Usage.pm
-        'POSIX' => 1.06,        #POSIX.pm
-        're' => 0.04,           #re.pm
-        'Safe' => '2.10',         #Safe.pm
-        'Scalar::Util' => 1.13, #Scalar\Util.pm
-        'SDBM_File' => 1.04,    #SDBM_File.pm
-        'Search::Dict' => 1.02, #Search\Dict.pm
-        'SelectSaver' => '1.00',  #SelectSaver.pm
-        'SelfLoader' => 1.0904, #SelfLoader.pm
-        'Shell' => 0.5,         #Shell.pm
-        'sigtrap' => 1.02,      #sigtrap.pm
-        'Socket' => 1.76,       #Socket.pm
-        'sort' => 1.02,         #sort.pm
-        'Storable' => 2.08,     #Storable.pm
-        'strict' => 1.03,       #strict.pm
-        'subs' => '1.00',         #subs.pm
-        'Switch' => '2.10',       #Switch.pm
-        'Symbol' => 1.05,       #Symbol.pm
-        'Sys::Hostname' => 1.11, #Sys\Hostname.pm
-        'Sys::Syslog' => '0.04', #ext\Sys\Syslog\Syslog.pm
-        'Term::ANSIColor' => 1.07, #Term\ANSIColor.pm
-        'Term::Cap' => 1.08,    #Term\Cap.pm
-        'Term::Complete' => 1.401, #Term\Complete.pm
-        'Term::ReadLine' => 1.01, #Term\ReadLine.pm
-        'Test' => 1.24,         #Test.pm
-        'Test::Builder' => 0.17, #Test\Builder.pm
-        'Test::Harness' => '2.30', #Test\Harness.pm
-        'Test::Harness::Assert' => 0.01, #Test\Harness\Assert.pm
-        'Test::Harness::Iterator' => 0.01, #Test\Harness\Iterator.pm
-        'Test::Harness::Straps' => 0.15, #Test\Harness\Straps.pm
-        'Test::More' => 0.47,   #Test\More.pm
-        'Test::Simple' => 0.47, #Test\Simple.pm
-        'Text::Abbrev' => 1.01, #Text\Abbrev.pm
-        'Text::Balanced' => 1.95, #Text\Balanced.pm
-        'Text::ParseWords' => 3.21, #Text\ParseWords.pm
-        'Text::Soundex' => 1.01, #Text\Soundex.pm
-        'Text::Tabs' => 98.112801, #Text\Tabs.pm
-        'Text::Wrap' => 2001.09291, #Text\Wrap.pm
-        'Thread' => '2.00',       #Thread.pm
-        'Thread::Queue' => '2.00', #Thread\Queue.pm
-        'Thread::Semaphore' => 2.01, #Thread\Semaphore.pm
-        'Thread::Signal' => '1.00', #Thread\Signal.pm
-        'Thread::Specific' => '1.00', #Thread\Specific.pm
-        'threads' => '1.00',      #threads.pm
-        'threads::shared' => 0.91, #threads\shared.pm
-        'Tie::Array' => 1.03,   #Tie\Array.pm
-        'Tie::File' => 0.97,    #Tie\File.pm
-        'Tie::Handle' => 4.1,   #Tie\Handle.pm
-        'Tie::Hash' => '1.00',    #Tie\Hash.pm
-        'Tie::Memoize' => '1.0',  #Tie\Memoize.pm
-        'Tie::RefHash' => 1.31, #Tie\RefHash.pm
-        'Tie::Scalar' => '1.00',  #Tie\Scalar.pm
-        'Tie::SubstrHash' => '1.00', #Tie\SubstrHash.pm
-        'Time::gmtime' => 1.02, #Time\gmtime.pm
-        'Time::HiRes' => 1.52,  #Time\HiRes.pm
-        'Time::Local' => 1.07,  #Time\Local.pm
-        'Time::localtime' => 1.02, #Time\localtime.pm
-        'Time::tm' => '1.00',     #Time\tm.pm
-        'Unicode' => '4.0.0', # lib/unicore/version
-        'Unicode::Collate' => '0.30', #Unicode\Collate.pm
-        'Unicode::Normalize' => 0.25, #Unicode\Normalize.pm
-        'Unicode::UCD' => 0.21, #Unicode\UCD.pm
-        'UNIVERSAL' => 1.01,    #UNIVERSAL.pm
-        'User::grent' => '1.00',  #User\grent.pm
-        'User::pwent' => '1.00',  #User\pwent.pm
-        'utf8' => 1.02,         #utf8.pm
-        'vars' => 1.01,         #vars.pm
-        'VMS::DCLsym' => '1.02', #vms\ext\DCLsym\DCLsym.pm
-        'VMS::Filespec' => '1.11', #vms\ext\Filespec.pm
-        'VMS::Stdio' => '2.3',  #vms\ext\Stdio\Stdio.pm
-        'vmsish' => 1.01,       #vmsish.pm
-        'warnings' => 1.03,     #warnings.pm
-        'warnings::register' => '1.00', #warnings\register.pm
-        'XS::APItest' => 0.02,  #XS\APItest.pm
-        'XS::Typemap' => 0.01,  #XS\Typemap.pm
-        'XSLoader' => 0.02,     #XSLoader.pm
+        delta_from => 5.008001,
+        changed => {
+            'DB_File'               => '1.807',
+            'Devel::PPPort'         => '2.009',
+            'Digest::MD5'           => '2.30',
+            'I18N::LangTags'        => '0.29',
+            'I18N::LangTags::List'  => '0.29',
+            'MIME::Base64'          => '2.21',
+            'MIME::QuotedPrint'     => '2.21',
+            'Net::Domain'           => '2.19',
+            'Net::FTP'              => '2.72',
+            'Pod::Perldoc'          => '3.11',
+            'Time::HiRes'           => '1.52',
+            'Unicode::Collate'      => '0.30',
+            'Unicode::Normalize'    => '0.25',
+        },
+        removed => {
+        }
     },
-
     5.008003 => {
-        'AnyDBM_File'           => '1.00',  #lib/AnyDBM_File.pm
-        'Attribute::Handlers'   => '0.78',  #lib/Attribute/Handlers.pm
-        'attributes'            => '0.06',  #lib/attributes.pm
-        'attrs'                 => '1.01',  #lib/attrs.pm
-        'AutoLoader'            => '5.60',  #lib/AutoLoader.pm
-        'AutoSplit'             => '1.04',  #lib/AutoSplit.pm
-        'autouse'               => '1.03',  #lib/autouse.pm
-        'B'                     => '1.02',  #lib/B.pm
-        'base'                  => '2.04',  #lib/base.pm
-        'B::Asmdata'            => '1.01',  #lib/B/Asmdata.pm
-        'B::Assembler'          => '0.06',  #lib/B/Assembler.pm
-        'B::Bblock'             => '1.02',  #lib/B/Bblock.pm
-        'B::Bytecode'           => '1.01',  #lib/B/Bytecode.pm
-        'B::C'                  => '1.02',  #lib/B/C.pm
-        'B::CC'                 => '1.00',  #lib/B/CC.pm
-        'B::Concise'            => '0.56',  #lib/B/Concise.pm
-        'B::Debug'              => '1.01',  #lib/B/Debug.pm
-        'B::Deparse'            => '0.64',  #lib/B/Deparse.pm
-        'B::Disassembler'       => '1.03',  #lib/B/Disassembler.pm
-        'Benchmark'             => '1.052',  #lib/Benchmark.pm
-        'bigint'                => '0.04',  #lib/bigint.pm
-        'bignum'                => '0.14',  #lib/bignum.pm
-        'bigrat'                => '0.06',  #lib/bigrat.pm
-        'blib'                  => '1.02',  #lib/blib.pm
-        'B::Lint'               => '1.02',  #lib/B/Lint.pm
-        'B::Showlex'            => '1.00',  #lib/B/Showlex.pm
-        'B::Stackobj'           => '1.00',  #lib/B/Stackobj.pm
-        'B::Stash'              => '1.00',  #lib/B/Stash.pm
-        'B::Terse'              => '1.02',  #lib/B/Terse.pm
-        'B::Xref'               => '1.01',  #lib/B/Xref.pm
-        'ByteLoader'            => '0.05',  #lib/ByteLoader.pm
-        'bytes'                 => '1.01',  #lib/bytes.pm
-        'Carp'                  => '1.01',  #lib/Carp.pm
-        'Carp::Heavy'           => '1.01',  #lib/Carp/Heavy.pm
-        'CGI'                   => '3.01',  #lib/CGI.pm
-        'CGI::Apache'           => '1.00',  #lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.27',  #lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.24',  #lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.05',  #lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.08',  #lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04',  #lib/CGI/Push.pm
-        'CGI::Switch'           => '1.00',  #lib/CGI/Switch.pm
-        'CGI::Util'             => '1.4',  #lib/CGI/Util.pm
-        'charnames'             => '1.02',  #lib/charnames.pm
-        'Class::ISA'            => '0.32',  #lib/Class/ISA.pm
-        'Class::Struct'         => '0.63',  #lib/Class/Struct.pm
-        'Config'                => undef,  #lib/Config.pm
-        'constant'              => '1.04',  #lib/constant.pm
-        'CPAN'                  => '1.76_01',  #lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.60 ',  #lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.03',  #lib/CPAN/Nox.pm
-        'Cwd'                   => '2.12',  #lib/Cwd.pm
-        'Data::Dumper'          => '2.121',  #lib/Data/Dumper.pm
-        'DB'                    => '1.0',  #lib/DB.pm
-        'DB_File'               => '1.808',  #lib/DB_File.pm
-        'Devel::DProf'          => '20030813.00',  #lib/Devel/DProf.pm
-        'Devel::Peek'           => '1.01',  #lib/Devel/Peek.pm
-        'Devel::PPPort'         => '2.011',  #lib/Devel/PPPort.pm
-        'Devel::SelfStubber'    => '1.03',  #lib/Devel/SelfStubber.pm
-        'diagnostics'           => '1.12',  #lib/diagnostics.pm
-        'Digest'                => '1.05',  #lib/Digest.pm
-        'Digest::base'          => '1.00',  #lib/Digest/base.pm
-        'Digest::MD5'           => '2.33',  #lib/Digest/MD5.pm
-        'DirHandle'             => '1.00',  #lib/DirHandle.pm
-        'Dumpvalue'             => '1.11',  #lib/Dumpvalue.pm
-        'DynaLoader'            => '1.04',  #lib/DynaLoader.pm
-        'Encode'                => '1.99',  #lib/Encode.pm
-        'Encode::Alias'         => '1.38',  #lib/Encode/Alias.pm
-        'Encode::Byte'          => '1.23',  #lib/Encode/Byte.pm
-        'Encode::CJKConstants'  => '1.02',  #lib/Encode/CJKConstants.pm
-        'Encode::CN'            => '1.24',  #lib/Encode/CN.pm
-        'Encode::CN::HZ'        => '1.05',  #lib/Encode/CN/HZ.pm
-        'Encode::Config'        => '1.07',  #lib/Encode/Config.pm
-        'Encode::EBCDIC'        => '1.21',  #lib/Encode/EBCDIC.pm
-        'Encode::Encoder'       => '0.07',  #lib/Encode/Encoder.pm
-        'Encode::Encoding'      => '1.33',  #lib/Encode/Encoding.pm
-        'Encode::Guess'         => '1.09',  #lib/Encode/Guess.pm
-        'Encode::JP'            => '1.25',  #lib/Encode/JP.pm
-        'Encode::JP::H2Z'       => '1.02',  #lib/Encode/JP/H2Z.pm
-        'Encode::JP::JIS7'      => '1.12',  #lib/Encode/JP/JIS7.pm
-        'Encode::KR'            => '1.23',  #lib/Encode/KR.pm
-        'Encode::KR::2022_KR'   => '1.06',  #lib/Encode/KR/2022_KR.pm
-        'Encode::MIME::Header'  => '1.09',  #lib/Encode/MIME/Header.pm
-        'Encode::Symbol'        => '1.22',  #lib/Encode/Symbol.pm
-        'Encode::TW'            => '1.26',  #lib/Encode/TW.pm
-        'Encode::Unicode'       => '1.40',  #lib/Encode/Unicode.pm
-        'Encode::Unicode::UTF7' => '0.02',  #lib/Encode/Unicode/UTF7.pm
-        'encoding'              => '1.48',  #lib/encoding.pm
-        'English'               => '1.01',  #lib/English.pm
-        'Env'                   => '1.00',  #lib/Env.pm
-        'Errno'                 => '1.09_00',  #lib/Errno.pm
-        'Exporter'              => '5.57',  #lib/Exporter.pm
-        'Exporter::Heavy'       => '5.567',  #lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.05',  #lib/ExtUtils/Command.pm
-        'ExtUtils::Command::MM' => '0.03',  #lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Constant'    => '0.14',  #lib/ExtUtils/Constant.pm
-        'ExtUtils::Embed'       => '1.250601',  #lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.32',  #lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.08',  #lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.01',  #lib/ExtUtils/Liblist.pm
-        'ExtUtils::Liblist::Kid'=> '1.3',  #lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker'   => '6.17',  #lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::MakeMaker::bytes'=> '0.01',  #lib/ExtUtils/MakeMaker/bytes.pm
-        'ExtUtils::MakeMaker::vmsish'=> '0.01',  #lib/ExtUtils/MakeMaker/vmsish.pm
-        'ExtUtils::Manifest'    => '1.42',  #lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef,  #lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Mkbootstrap' => '1.15',  #lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19',  #lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM'          => '0.04',  #lib/ExtUtils/MM.pm
-        'ExtUtils::MM_Any'      => '0.07',  #lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.04',  #lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.06',  #lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.02',  #lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.07',  #lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.06',  #lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM_OS2'      => '1.04',  #lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.42',  #lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.02',  #lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.70',  #lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.09',  #lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.03',  #lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01',  #lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04',  #lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15',  #lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.03',  #lib/Fatal.pm
-        'Fcntl'                 => '1.05',  #lib/Fcntl.pm
-        'fields'                => '2.03',  #lib/fields.pm
-        'File::Basename'        => '2.72',  #lib/File/Basename.pm
-        'FileCache'             => '1.03',  #lib/FileCache.pm
-        'File::CheckTree'       => '4.3',  #lib/File/CheckTree.pm
-        'File::Compare'         => '1.1003',  #lib/File/Compare.pm
-        'File::Copy'            => '2.07',  #lib/File/Copy.pm
-        'File::DosGlob'         => '1.00',  #lib/File/DosGlob.pm
-        'File::Find'            => '1.06',  #lib/File/Find.pm
-        'File::Glob'            => '1.02',  #lib/File/Glob.pm
-        'FileHandle'            => '2.01',  #lib/FileHandle.pm
-        'File::Path'            => '1.06',  #lib/File/Path.pm
-        'File::Spec'            => '0.87',  #lib/File/Spec.pm
-        'File::Spec::Cygwin'    => '1.1',  #lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.1',  #lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.3',  #lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.4',  #lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.2',  #lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.5',  #lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.4',  #lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.4',  #lib/File/Spec/Win32.pm
-        'File::stat'            => '1.00',  #lib/File/stat.pm
-        'File::Temp'            => '0.14',  #lib/File/Temp.pm
-        'filetest'              => '1.01',  #lib/filetest.pm
-        'Filter::Simple'        => '0.78',  #lib/Filter/Simple.pm
-        'Filter::Util::Call'    => '1.0601',  #lib/Filter/Util/Call.pm
-        'FindBin'               => '1.44',  #lib/FindBin.pm
-        'GDBM_File'             => '1.07',  #lib/GDBM_File.pm
-        'Getopt::Long'          => '2.34',  #lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.05',  #lib/Getopt/Std.pm
-        'Hash::Util'            => '0.05',  #lib/Hash/Util.pm
-        'I18N::Collate'         => '1.00',  #lib/I18N/Collate.pm
-        'I18N::Langinfo'        => '0.02',  #lib/I18N/Langinfo.pm
-        'I18N::LangTags'        => '0.29',  #lib/I18N/LangTags.pm
-        'I18N::LangTags::List'  => '0.29',  #lib/I18N/LangTags/List.pm
-        'if'                    => '0.03',  #lib/if.pm
-        'integer'               => '1.00',  #lib/integer.pm
-        'IO'                    => '1.21',  #lib/IO.pm
-        'IO::Dir'               => '1.04',  #lib/IO/Dir.pm
-        'IO::File'              => '1.10',  #lib/IO/File.pm
-        'IO::Handle'            => '1.23',  #lib/IO/Handle.pm
-        'IO::Pipe'              => '1.122',  #lib/IO/Pipe.pm
-        'IO::Poll'              => '0.06',  #lib/IO/Poll.pm
-        'IO::Seekable'          => '1.09',  #lib/IO/Seekable.pm
-        'IO::Select'            => '1.16',  #lib/IO/Select.pm
-        'IO::Socket'            => '1.28',  #lib/IO/Socket.pm
-        'IO::Socket::INET'      => '1.27',  #lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.21',  #lib/IO/Socket/UNIX.pm
-        'IPC::Msg'              => '1.02',  #lib/IPC/Msg.pm
-        'IPC::Open2'            => '1.01',  #lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0105',  #lib/IPC/Open3.pm
-        'IPC::Semaphore'        => '1.02',  #lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.04',  #lib/IPC/SysV.pm
-        'JNI'                   => '0.2',  #jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef,  #jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef,  #jpl/JPL/Class.pm
-        'JPL::Compile'          => undef,  #jpl/JPL/Compile.pm
-        'less'                  => '0.01',  #lib/less.pm
-        'lib'                   => '0.5565',  #lib/lib.pm
-        'List::Util'            => '1.13',  #lib/List/Util.pm
-        'locale'                => '1.00',  #lib/locale.pm
-        'Locale::Constants'     => '2.01',  #lib/Locale/Constants.pm
-        'Locale::Country'       => '2.61',  #lib/Locale/Country.pm
-        'Locale::Currency'      => '2.21',  #lib/Locale/Currency.pm
-        'Locale::Language'      => '2.21',  #lib/Locale/Language.pm
-        'Locale::Maketext'      => '1.06',  #lib/Locale/Maketext.pm
-        'Locale::Maketext::GutsLoader'=> undef,  #lib/Locale/Maketext/GutsLoader.pm
-        'Locale::Maketext::Guts'=> undef,  #lib/Locale/Maketext/Guts.pm
-        'Locale::Script'        => '2.21',  #lib/Locale/Script.pm
-        'Math::BigFloat'        => '1.42',  #lib/Math/BigFloat.pm
-        'Math::BigFloat::Trace' => '0.01',  #lib/Math/BigFloat/Trace.pm
-        'Math::BigInt'          => '1.68',  #lib/Math/BigInt.pm
-        'Math::BigInt::Calc'    => '0.38',  #lib/Math/BigInt/Calc.pm
-        'Math::BigInt::CalcEmu' => '0.02',  #lib/Math/BigInt/CalcEmu.pm
-        'Math::BigInt::Trace'   => '0.01',  #lib/Math/BigInt/Trace.pm
-        'Math::BigRat'          => '0.10',  #lib/Math/BigRat.pm
-        'Math::Complex'         => '1.34',  #lib/Math/Complex.pm
-        'Math::Trig'            => '1.02',  #lib/Math/Trig.pm
-        'Memoize'               => '1.01',  #lib/Memoize.pm
-        'Memoize::AnyDBM_File'  => '0.65',  #lib/Memoize/AnyDBM_File.pm
-        'Memoize::Expire'       => '1.00',  #lib/Memoize/Expire.pm
-        'Memoize::ExpireFile'   => '1.01',  #lib/Memoize/ExpireFile.pm
-        'Memoize::ExpireTest'   => '0.65',  #lib/Memoize/ExpireTest.pm
-        'Memoize::NDBM_File'    => '0.65',  #lib/Memoize/NDBM_File.pm
-        'Memoize::SDBM_File'    => '0.65',  #lib/Memoize/SDBM_File.pm
-        'Memoize::Storable'     => '0.65',  #lib/Memoize/Storable.pm
-        'MIME::Base64'          => '2.21',  #lib/MIME/Base64.pm
-        'MIME::QuotedPrint'     => '2.21',  #lib/MIME/QuotedPrint.pm
-        'NDBM_File'             => '1.05',  #lib/NDBM_File.pm
-        'Net::Cmd'              => '2.24',  #lib/Net/Cmd.pm
-        'Net::Config'           => '1.10',  #lib/Net/Config.pm
-        'Net::Domain'           => '2.19',  #lib/Net/Domain.pm
-        'Net::FTP'              => '2.72',  #lib/Net/FTP.pm
-        'Net::FTP::A'           => '1.16',  #lib/Net/FTP/A.pm
-        'Net::FTP::dataconn'    => '0.11',  #lib/Net/FTP/dataconn.pm
-        'Net::FTP::E'           => '0.01',  #lib/Net/FTP/E.pm
-        'Net::FTP::I'           => '1.12',  #lib/Net/FTP/I.pm
-        'Net::FTP::L'           => '0.01',  #lib/Net/FTP/L.pm
-        'Net::hostent'          => '1.01',  #lib/Net/hostent.pm
-        'Net::netent'           => '1.00',  #lib/Net/netent.pm
-        'Net::Netrc'            => '2.12',  #lib/Net/Netrc.pm
-        'Net::NNTP'             => '2.22',  #lib/Net/NNTP.pm
-        'Net::Ping'             => '2.31',  #lib/Net/Ping.pm
-        'Net::POP3'             => '2.24',  #lib/Net/POP3.pm
-        'Net::protoent'         => '1.00',  #lib/Net/protoent.pm
-        'Net::servent'          => '1.01',  #lib/Net/servent.pm
-        'Net::SMTP'             => '2.26',  #lib/Net/SMTP.pm
-        'Net::Time'             => '2.09',  #lib/Net/Time.pm
-        'NEXT'                  => '0.60',  #lib/NEXT.pm
-        'O'                     => '1.00',  #lib/O.pm
-        'ODBM_File'             => '1.04',  #ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.05',  #lib/Opcode.pm
-        'open'                  => '1.02',  #lib/open.pm
-        'ops'                   => '1.00',  #lib/ops.pm
-        'OS2::DLL'              => '1.02',  #os2/OS2/REXX/DLL/DLL.pm
-        'OS2::ExtAttr'          => '0.02',  #os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.03',  #os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '1.01',  #os2/OS2/Process/Process.pm
-        'OS2::REXX'             => '1.02',  #os2/OS2/REXX/REXX.pm
-        'overload'              => '1.01',  #lib/overload.pm
-        'PerlIO'                => '1.03',  #lib/PerlIO.pm
-        'PerlIO::encoding'      => '0.07',  #lib/PerlIO/encoding.pm
-        'PerlIO::scalar'        => '0.02',  #lib/PerlIO/scalar.pm
-        'PerlIO::via'           => '0.02',  #lib/PerlIO/via.pm
-        'PerlIO::via::QuotedPrint'=> '0.06',  #lib/PerlIO/via/QuotedPrint.pm
-        'Pod::Checker'          => '1.41',  #lib/Pod/Checker.pm
-        'Pod::Find'             => '0.24',  #lib/Pod/Find.pm
-        'Pod::Functions'        => '1.02',  #lib/Pod/Functions.pm
-        'Pod::Html'             => '1.0502',  #lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.14',  #lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.55',  #lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.37',  #lib/Pod/Man.pm
-        'Pod::ParseLink'        => '1.06',  #lib/Pod/ParseLink.pm
-        'Pod::Parser'           => '1.14',  #lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '0.3',  #lib/Pod/ParseUtils.pm
-        'Pod::Perldoc'          => '3.12',  #lib/Pod/Perldoc.pm
-        'Pod::Perldoc::BaseTo'  => undef,  #lib/Pod/Perldoc/BaseTo.pm
-        'Pod::Perldoc::GetOptsOO'=> undef,  #lib/Pod/Perldoc/GetOptsOO.pm
-        'Pod::Perldoc::ToChecker'=> undef,  #lib/Pod/Perldoc/ToChecker.pm
-        'Pod::Perldoc::ToMan'   => undef,  #lib/Pod/Perldoc/ToMan.pm
-        'Pod::Perldoc::ToNroff' => undef,  #lib/Pod/Perldoc/ToNroff.pm
-        'Pod::Perldoc::ToPod'   => undef,  #lib/Pod/Perldoc/ToPod.pm
-        'Pod::Perldoc::ToRtf'   => undef,  #lib/Pod/Perldoc/ToRtf.pm
-        'Pod::Perldoc::ToText'  => undef,  #lib/Pod/Perldoc/ToText.pm
-        'Pod::Perldoc::ToTk'    => 'undef',  #lib/Pod/Perldoc/ToTk.pm
-        'Pod::Perldoc::ToXml'   => undef,  #lib/Pod/Perldoc/ToXml.pm
-        'Pod::Plainer'          => '0.01',  #lib/Pod/Plainer.pm
-        'Pod::PlainText'        => '2.02',  #lib/Pod/PlainText.pm
-        'Pod::Select'           => '1.13',  #lib/Pod/Select.pm
-        'Pod::Text'             => '2.21',  #lib/Pod/Text.pm
-        'Pod::Text::Color'      => '1.04',  #lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.1',  #lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1.11',  #lib/Pod/Text/Termcap.pm
-        'Pod::Usage'            => '1.16',  #lib/Pod/Usage.pm
-        'POSIX'                 => '1.07',  #lib/POSIX.pm
-        're'                    => '0.04',  #lib/re.pm
-        'Safe'                  => '2.10',  #lib/Safe.pm
-        'Scalar::Util'          => '1.13',  #lib/Scalar/Util.pm
-        'SDBM_File'             => '1.04',  #lib/SDBM_File.pm
-        'Search::Dict'          => '1.02',  #lib/Search/Dict.pm
-        'SelectSaver'           => '1.00',  #lib/SelectSaver.pm
-        'SelfLoader'            => '1.0904',  #lib/SelfLoader.pm
-        'Shell'                 => '0.5',  #lib/Shell.pm
-        'sigtrap'               => '1.02',  #lib/sigtrap.pm
-        'Socket'                => '1.76',  #lib/Socket.pm
-        'sort'                  => '1.02',  #lib/sort.pm
-        'Storable'              => '2.09',  #lib/Storable.pm
-        'strict'                => '1.03',  #lib/strict.pm
-        'subs'                  => '1.00',  #lib/subs.pm
-        'Switch'                => '2.10',  #lib/Switch.pm
-        'Symbol'                => '1.05',  #lib/Symbol.pm
-        'Sys::Hostname'         => '1.11',  #lib/Sys/Hostname.pm
-        'Sys::Syslog'           => '0.04',  #lib/Sys/Syslog.pm
-        'Term::ANSIColor'       => '1.07',  #lib/Term/ANSIColor.pm
-        'Term::Cap'             => '1.08',  #lib/Term/Cap.pm
-        'Term::Complete'        => '1.401',  #lib/Term/Complete.pm
-        'Term::ReadLine'        => '1.01',  #lib/Term/ReadLine.pm
-        'Test'                  => '1.24',  #lib/Test.pm
-        'Test::Builder'         => '0.17',  #lib/Test/Builder.pm
-        'Test::Harness'         => '2.40',  #lib/Test/Harness.pm
-        'Test::Harness::Assert' => '0.02',  #lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.02',  #lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.19',  #lib/Test/Harness/Straps.pm
-        'Test::More'            => '0.47',  #lib/Test/More.pm
-        'Test::Simple'          => '0.47',  #lib/Test/Simple.pm
-        'Text::Abbrev'          => '1.01',  #lib/Text/Abbrev.pm
-        'Text::Balanced'        => '1.95',  #lib/Text/Balanced.pm
-        'Text::ParseWords'      => '3.21',  #lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.01',  #lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801',  #lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.09291',  #lib/Text/Wrap.pm
-        'Thread'                => '2.00',  #lib/Thread.pm
-        'Thread::Queue'         => '2.00',  #lib/Thread/Queue.pm
-        'threads'               => '1.01',  #lib/threads.pm
-        'Thread::Semaphore'     => '2.01',  #lib/Thread/Semaphore.pm
-        'Thread::Signal'        => '1.00', #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => '1.00', #./ext/Thread/Thread/Specific.pm
-        'threads::shared'       => '0.92',  #lib/threads/shared.pm
-        'Tie::Array'            => '1.03',  #lib/Tie/Array.pm
-        'Tie::File'             => '0.97',  #lib/Tie/File.pm
-        'Tie::Handle'           => '4.1',  #lib/Tie/Handle.pm
-        'Tie::Hash'             => '1.01',  #lib/Tie/Hash.pm
-        'Tie::Memoize'          => '1.0',  #lib/Tie/Memoize.pm
-        'Tie::RefHash'          => '1.31',  #lib/Tie/RefHash.pm
-        'Tie::Scalar'           => '1.00',  #lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => '1.00',  #lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.02',  #lib/Time/gmtime.pm
-        'Time::HiRes'           => '1.52',  #lib/Time/HiRes.pm
-        'Time::Local'           => '1.07',  #lib/Time/Local.pm
-        'Time::localtime'       => '1.02',  #lib/Time/localtime.pm
-        'Time::tm'              => '1.00',  #lib/Time/tm.pm
-        'Unicode'               => '4.0.0', # lib/unicore/version
-        'Unicode::Collate'      => '0.33',  #lib/Unicode/Collate.pm
-        'Unicode::Normalize'    => '0.28',  #lib/Unicode/Normalize.pm
-        'Unicode::UCD'          => '0.21',  #lib/Unicode/UCD.pm
-        'UNIVERSAL'             => '1.01',  #lib/UNIVERSAL.pm
-        'User::grent'           => '1.00',  #lib/User/grent.pm
-        'User::pwent'           => '1.00',  #lib/User/pwent.pm
-        'utf8'                  => '1.02',  #lib/utf8.pm
-        'vars'                  => '1.01',  #lib/vars.pm
-        'VMS::DCLsym'           => '1.02',  #vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => '1.11',  #vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.3',  #vms/ext/Stdio/Stdio.pm
-        'vmsish'                => '1.01',  #lib/vmsish.pm
-        'warnings'              => '1.03',  #lib/warnings.pm
-        'warnings::register'    => '1.00',  #lib/warnings/register.pm
-        'XS::APItest'           => '0.03',  #lib/XS/APItest.pm
-        'XSLoader'              => '0.02',  #lib/XSLoader.pm
-        'XS::Typemap'           => '0.01',  #lib/XS/Typemap.pm
+        delta_from => 5.008002,
+        changed => {
+            'Benchmark'             => '1.052',
+            'CGI'                   => '3.01',
+            'CGI::Carp'             => '1.27',
+            'CGI::Fast'             => '1.05',
+            'CGI::Pretty'           => '1.08',
+            'CGI::Util'             => '1.4',
+            'Cwd'                   => '2.12',
+            'DB_File'               => '1.808',
+            'Devel::PPPort'         => '2.011',
+            'Digest'                => '1.05',
+            'Digest::MD5'           => '2.33',
+            'Digest::base'          => '1.00',
+            'Encode'                => '1.99',
+            'Exporter'              => '5.57',
+            'File::CheckTree'       => '4.3',
+            'File::Copy'            => '2.07',
+            'File::Find'            => '1.06',
+            'File::Spec'            => '0.87',
+            'FindBin'               => '1.44',
+            'Getopt::Std'           => '1.05',
+            'Math::BigFloat'        => '1.42',
+            'Math::BigInt'          => '1.68',
+            'Math::BigInt::Calc'    => '0.38',
+            'Math::BigInt::CalcEmu' => '0.02',
+            'OS2::DLL'              => '1.02',
+            'POSIX'                 => '1.07',
+            'PerlIO'                => '1.03',
+            'PerlIO::via::QuotedPrint'=> '0.06',
+            'Pod::Html'             => '1.0502',
+            'Pod::Parser'           => '1.14',
+            'Pod::Perldoc'          => '3.12',
+            'Pod::PlainText'        => '2.02',
+            'Storable'              => '2.09',
+            'Test::Harness'         => '2.40',
+            'Test::Harness::Assert' => '0.02',
+            'Test::Harness::Iterator'=> '0.02',
+            'Test::Harness::Straps' => '0.19',
+            'Tie::Hash'             => '1.01',
+            'Unicode::Collate'      => '0.33',
+            'Unicode::Normalize'    => '0.28',
+            'XS::APItest'           => '0.03',
+            'base'                  => '2.04',
+            'diagnostics'           => '1.12',
+            'encoding'              => '1.48',
+            'threads'               => '1.01',
+            'threads::shared'       => '0.92',
+        },
+        removed => {
+            'Math::BigInt::Scalar'  => 1,
+        }
     },
-
-    5.009 => {
-        'AnyDBM_File'           => '1.00',  #lib/AnyDBM_File.pm
-        'assertions'            => '0.01',  #lib/assertions.pm
-        'assertions::activate'  => '0.01',  #lib/assertions/activate.pm
-        'Attribute::Handlers'   => '0.78',  #lib/Attribute/Handlers.pm
-        'attributes'            => '0.06',  #lib/attributes.pm
-        'attrs'                 => '1.01',  #lib/attrs.pm
-        'AutoLoader'            => '5.60',  #lib/AutoLoader.pm
-        'AutoSplit'             => '1.04',  #lib/AutoSplit.pm
-        'autouse'               => '1.03',  #lib/autouse.pm
-        'B'                     => '1.03',  #lib/B.pm
-        'B::Asmdata'            => '1.01',  #lib/B/Asmdata.pm
-        'B::Assembler'          => '0.06',  #lib/B/Assembler.pm
-        'B::Bblock'             => '1.02',  #lib/B/Bblock.pm
-        'B::Bytecode'           => '1.01',  #lib/B/Bytecode.pm
-        'B::C'                  => '1.03',  #lib/B/C.pm
-        'B::CC'                 => '1.00',  #lib/B/CC.pm
-        'B::Concise'            => '0.57',  #lib/B/Concise.pm
-        'B::Debug'              => '1.01',  #lib/B/Debug.pm
-        'B::Deparse'            => '0.65',  #lib/B/Deparse.pm
-        'B::Disassembler'       => '1.03',  #lib/B/Disassembler.pm
-        'B::Lint'               => '1.02',  #lib/B/Lint.pm
-        'B::Showlex'            => '1.00',  #lib/B/Showlex.pm
-        'B::Stackobj'           => '1.00',  #lib/B/Stackobj.pm
-        'B::Stash'              => '1.00',  #lib/B/Stash.pm
-        'B::Terse'              => '1.02',  #lib/B/Terse.pm
-        'B::Xref'               => '1.01',  #lib/B/Xref.pm
-        'base'                  => '2.03',  #lib/base.pm
-        'Benchmark'             => '1.051',  #lib/Benchmark.pm
-        'bigint'                => '0.04',  #lib/bigint.pm
-        'bignum'                => '0.14',  #lib/bignum.pm
-        'bigrat'                => '0.06',  #lib/bigrat.pm
-        'blib'                  => '1.02',  #lib/blib.pm
-        'ByteLoader'            => '0.05',  #lib/ByteLoader.pm
-        'bytes'                 => '1.01',  #lib/bytes.pm
-        'Carp'                  => '1.01',  #lib/Carp.pm
-        'Carp::Heavy'           => '1.01',  #lib/Carp/Heavy.pm
-        'CGI'                   => '3.00',  #lib/CGI.pm
-        'CGI::Apache'           => '1.00',  #lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.26',  #lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.24',  #lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.041',  #lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.07_00',  #lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04',  #lib/CGI/Push.pm
-        'CGI::Switch'           => '1.00',  #lib/CGI/Switch.pm
-        'CGI::Util'             => '1.31',  #lib/CGI/Util.pm
-        'charnames'             => '1.02',  #lib/charnames.pm
-        'Class::ISA'            => '0.32',  #lib/Class/ISA.pm
-        'Class::Struct'         => '0.63',  #lib/Class/Struct.pm
-        'Config'                => undef,  #lib/Config.pm
-        'constant'              => '1.04',  #lib/constant.pm
-        'CPAN'                  => '1.76_01',  #lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.60 ',  #lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.03',  #lib/CPAN/Nox.pm
-        'Cwd'                   => '2.08',  #lib/Cwd.pm
-        'Data::Dumper'          => '2.121',  #lib/Data/Dumper.pm
-        'DB'                    => '1.0',  #lib/DB.pm
-        'DB_File'               => '1.806',  #lib/DB_File.pm
-        'Devel::DProf'          => '20030813.00',  #lib/Devel/DProf.pm
-        'Devel::Peek'           => '1.01',  #lib/Devel/Peek.pm
-        'Devel::PPPort'         => '2.008',  #lib/Devel/PPPort.pm
-        'Devel::SelfStubber'    => '1.03',  #lib/Devel/SelfStubber.pm
-        'diagnostics'           => '1.11',  #lib/diagnostics.pm
-        'Digest'                => '1.02',  #lib/Digest.pm
-        'Digest::MD5'           => '2.30',  #lib/Digest/MD5.pm
-        'DirHandle'             => '1.00',  #lib/DirHandle.pm
-        'Dumpvalue'             => '1.11',  #lib/Dumpvalue.pm
-        'DynaLoader'            => '1.04',  #lib/DynaLoader.pm
-        'Encode'                => '1.9801',  #lib/Encode.pm
-        'Encode::Alias'         => '1.38',  #lib/Encode/Alias.pm
-        'Encode::Byte'          => '1.23',  #lib/Encode/Byte.pm
-        'Encode::CJKConstants'  => '1.02',  #lib/Encode/CJKConstants.pm
-        'Encode::CN'            => '1.24',  #lib/Encode/CN.pm
-        'Encode::CN::HZ'        => '1.05',  #lib/Encode/CN/HZ.pm
-        'Encode::Config'        => '1.07',  #lib/Encode/Config.pm
-        'Encode::EBCDIC'        => '1.21',  #lib/Encode/EBCDIC.pm
-        'Encode::Encoder'       => '0.07',  #lib/Encode/Encoder.pm
-        'Encode::Encoding'      => '1.33',  #lib/Encode/Encoding.pm
-        'Encode::Guess'         => '1.09',  #lib/Encode/Guess.pm
-        'Encode::JP'            => '1.25',  #lib/Encode/JP.pm
-        'Encode::JP::H2Z'       => '1.02',  #lib/Encode/JP/H2Z.pm
-        'Encode::JP::JIS7'      => '1.12',  #lib/Encode/JP/JIS7.pm
-        'Encode::KR'            => '1.23',  #lib/Encode/KR.pm
-        'Encode::KR::2022_KR'   => '1.06',  #lib/Encode/KR/2022_KR.pm
-        'Encode::MIME::Header'  => '1.09',  #lib/Encode/MIME/Header.pm
-        'Encode::Symbol'        => '1.22',  #lib/Encode/Symbol.pm
-        'Encode::TW'            => '1.26',  #lib/Encode/TW.pm
-        'Encode::Unicode'       => '1.40',  #lib/Encode/Unicode.pm
-        'Encode::Unicode::UTF7' => '0.02',  #lib/Encode/Unicode/UTF7.pm
-        'encoding'              => '1.47',  #lib/encoding.pm
-        'English'               => '1.02',  #lib/English.pm
-        'Env'                   => '1.00',  #lib/Env.pm
-        'Errno'                 => '1.09_00',  #lib/Errno.pm
-        'Exporter'              => '5.567',  #lib/Exporter.pm
-        'Exporter::Heavy'       => '5.567',  #lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.05',  #lib/ExtUtils/Command.pm
-        'ExtUtils::Command::MM' => '0.03',  #lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Constant'    => '0.14',  #lib/ExtUtils/Constant.pm
-        'ExtUtils::Embed'       => '1.250601',  #lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.32',  #lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.08',  #lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.01',  #lib/ExtUtils/Liblist.pm
-        'ExtUtils::Liblist::Kid'=> '1.3',  #lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker'   => '6.17',  #lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::MakeMaker::bytes'=> '0.01',  #lib/ExtUtils/MakeMaker/bytes.pm
-        'ExtUtils::MakeMaker::vmsish'=> '0.01',  #lib/ExtUtils/MakeMaker/vmsish.pm
-        'ExtUtils::Manifest'    => '1.42',  #lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef,  #lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Mkbootstrap' => '1.15',  #lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19',  #lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM'          => '0.04',  #lib/ExtUtils/MM.pm
-        'ExtUtils::MM_Any'      => '0.07',  #lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.04',  #lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.06',  #lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.02',  #lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.07',  #lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.06',  #lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM_OS2'      => '1.04',  #lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.42',  #lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.02',  #lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.70',  #lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.09',  #lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.03',  #lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01',  #lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04',  #lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15',  #lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.04',  #lib/Fatal.pm
-        'Fcntl'                 => '1.05',  #lib/Fcntl.pm
-        'fields'                => '2.03',  #lib/fields.pm
-        'File::Basename'        => '2.72',  #lib/File/Basename.pm
-        'File::CheckTree'       => '4.2',  #lib/File/CheckTree.pm
-        'File::Compare'         => '1.1003',  #lib/File/Compare.pm
-        'File::Copy'            => '2.06',  #lib/File/Copy.pm
-        'File::DosGlob'         => '1.00',  #lib/File/DosGlob.pm
-        'File::Find'            => '1.05',  #lib/File/Find.pm
-        'File::Glob'            => '1.02',  #lib/File/Glob.pm
-        'File::Path'            => '1.06',  #lib/File/Path.pm
-        'File::Spec'            => '0.86',  #lib/File/Spec.pm
-        'File::Spec::Cygwin'    => '1.1',  #lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.1',  #lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.3',  #lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.4',  #lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.2',  #lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.5',  #lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.4',  #lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.4',  #lib/File/Spec/Win32.pm
-        'File::stat'            => '1.00',  #lib/File/stat.pm
-        'File::Temp'            => '0.14',  #lib/File/Temp.pm
-        'FileCache'             => '1.03',  #lib/FileCache.pm
-        'FileHandle'            => '2.01',  #lib/FileHandle.pm
-        'filetest'              => '1.01',  #lib/filetest.pm
-        'Filter::Simple'        => '0.78',  #lib/Filter/Simple.pm
-        'Filter::Util::Call'    => '1.0601',  #lib/Filter/Util/Call.pm
-        'FindBin'               => '1.43',  #lib/FindBin.pm
-        'GDBM_File'             => '1.07',  #ext/GDBM_File/GDBM_File.pm
-        'Getopt::Long'          => '2.34',  #lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.04',  #lib/Getopt/Std.pm
-        'Hash::Util'            => '0.05',  #lib/Hash/Util.pm
-        'I18N::Collate'         => '1.00',  #lib/I18N/Collate.pm
-        'I18N::Langinfo'        => '0.02',  #lib/I18N/Langinfo.pm
-        'I18N::LangTags'        => '0.29',  #lib/I18N/LangTags.pm
-        'I18N::LangTags::List'  => '0.29',  #lib/I18N/LangTags/List.pm
-        'if'                    => '0.03',  #lib/if.pm
-        'integer'               => '1.00',  #lib/integer.pm
-        'IO'                    => '1.21',  #lib/IO.pm
-        'IO::Dir'               => '1.04',  #lib/IO/Dir.pm
-        'IO::File'              => '1.10',  #lib/IO/File.pm
-        'IO::Handle'            => '1.23',  #lib/IO/Handle.pm
-        'IO::Pipe'              => '1.122',  #lib/IO/Pipe.pm
-        'IO::Poll'              => '0.06',  #lib/IO/Poll.pm
-        'IO::Seekable'          => '1.09',  #lib/IO/Seekable.pm
-        'IO::Select'            => '1.16',  #lib/IO/Select.pm
-        'IO::Socket'            => '1.28',  #lib/IO/Socket.pm
-        'IO::Socket::INET'      => '1.27',  #lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.21',  #lib/IO/Socket/UNIX.pm
-        'IPC::Msg'              => '1.02',  #lib/IPC/Msg.pm
-        'IPC::Open2'            => '1.01',  #lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0105',  #lib/IPC/Open3.pm
-        'IPC::Semaphore'        => '1.02',  #lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.04',  #lib/IPC/SysV.pm
-        'JNI'                   => '0.2',  #jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef,  #jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef,  #jpl/JPL/Class.pm
-        'JPL::Compile'          => undef,  #jpl/JPL/Compile.pm
-        'less'                  => '0.01',  #lib/less.pm
-        'lib'                   => '0.5565',  #lib/lib.pm
-        'List::Util'            => '1.13',  #lib/List/Util.pm
-        'locale'                => '1.00',  #lib/locale.pm
-        'Locale::Constants'     => '2.01',  #lib/Locale/Constants.pm
-        'Locale::Country'       => '2.61',  #lib/Locale/Country.pm
-        'Locale::Currency'      => '2.21',  #lib/Locale/Currency.pm
-        'Locale::Language'      => '2.21',  #lib/Locale/Language.pm
-        'Locale::Maketext'      => '1.06',  #lib/Locale/Maketext.pm
-        'Locale::Maketext::Guts'=> undef,  #lib/Locale/Maketext/Guts.pm
-        'Locale::Maketext::GutsLoader'=> undef,  #lib/Locale/Maketext/GutsLoader.pm
-        'Locale::Script'        => '2.21',  #lib/Locale/Script.pm
-        'Math::BigFloat'        => '1.40',  #lib/Math/BigFloat.pm
-        'Math::BigFloat::Trace' => '0.01',  #lib/Math/BigFloat/Trace.pm
-        'Math::BigInt'          => '1.66',  #lib/Math/BigInt.pm
-        'Math::BigInt::Calc'    => '0.36',  #lib/Math/BigInt/Calc.pm
-        'Math::BigInt::Scalar'  => '0.11',  #lib/Math/BigInt/Scalar.pm
-        'Math::BigInt::Trace'   => '0.01',  #lib/Math/BigInt/Trace.pm
-        'Math::BigRat'          => '0.10',  #lib/Math/BigRat.pm
-        'Math::Complex'         => '1.34',  #lib/Math/Complex.pm
-        'Math::Trig'            => '1.02',  #lib/Math/Trig.pm
-        'Memoize'               => '1.01',  #lib/Memoize.pm
-        'Memoize::AnyDBM_File'  => '0.65',  #lib/Memoize/AnyDBM_File.pm
-        'Memoize::Expire'       => '1.00',  #lib/Memoize/Expire.pm
-        'Memoize::ExpireFile'   => '1.01',  #lib/Memoize/ExpireFile.pm
-        'Memoize::ExpireTest'   => '0.65',  #lib/Memoize/ExpireTest.pm
-        'Memoize::NDBM_File'    => '0.65',  #lib/Memoize/NDBM_File.pm
-        'Memoize::SDBM_File'    => '0.65',  #lib/Memoize/SDBM_File.pm
-        'Memoize::Storable'     => '0.65',  #lib/Memoize/Storable.pm
-        'MIME::Base64'          => '2.21',  #lib/MIME/Base64.pm
-        'MIME::QuotedPrint'     => '2.21',  #lib/MIME/QuotedPrint.pm
-        'NDBM_File'             => '1.05',  #ext/NDBM_File/NDBM_File.pm
-        'Net::Cmd'              => '2.24',  #lib/Net/Cmd.pm
-        'Net::Config'           => '1.10',  #lib/Net/Config.pm
-        'Net::Domain'           => '2.19',  #lib/Net/Domain.pm
-        'Net::FTP'              => '2.72',  #lib/Net/FTP.pm
-        'Net::FTP::A'           => '1.16',  #lib/Net/FTP/A.pm
-        'Net::FTP::dataconn'    => '0.11',  #lib/Net/FTP/dataconn.pm
-        'Net::FTP::E'           => '0.01',  #lib/Net/FTP/E.pm
-        'Net::FTP::I'           => '1.12',  #lib/Net/FTP/I.pm
-        'Net::FTP::L'           => '0.01',  #lib/Net/FTP/L.pm
-        'Net::hostent'          => '1.01',  #lib/Net/hostent.pm
-        'Net::netent'           => '1.00',  #lib/Net/netent.pm
-        'Net::Netrc'            => '2.12',  #lib/Net/Netrc.pm
-        'Net::NNTP'             => '2.22',  #lib/Net/NNTP.pm
-        'Net::Ping'             => '2.31',  #lib/Net/Ping.pm
-        'Net::POP3'             => '2.24',  #lib/Net/POP3.pm
-        'Net::protoent'         => '1.00',  #lib/Net/protoent.pm
-        'Net::servent'          => '1.01',  #lib/Net/servent.pm
-        'Net::SMTP'             => '2.26',  #lib/Net/SMTP.pm
-        'Net::Time'             => '2.09',  #lib/Net/Time.pm
-        'NEXT'                  => '0.60',  #lib/NEXT.pm
-        'O'                     => '1.00',  #lib/O.pm
-        'ODBM_File'             => '1.04',  #ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.06',  #lib/Opcode.pm
-        'open'                  => '1.02',  #lib/open.pm
-        'ops'                   => '1.00',  #lib/ops.pm
-        'OS2::DLL'              => '1.02',  #os2/OS2/REXX/DLL/DLL.pm
-        'OS2::ExtAttr'          => '0.02',  #os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.03',  #os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '1.01',  #os2/OS2/Process/Process.pm
-        'OS2::REXX'             => '1.02',  #os2/OS2/REXX/REXX.pm
-        'overload'              => '1.02',  #lib/overload.pm
-        'PerlIO'                => '1.02',  #lib/PerlIO.pm
-        'PerlIO::encoding'      => '0.07',  #lib/PerlIO/encoding.pm
-        'PerlIO::scalar'        => '0.02',  #lib/PerlIO/scalar.pm
-        'PerlIO::via'           => '0.02',  #lib/PerlIO/via.pm
-        'PerlIO::via::QuotedPrint'=> '0.05',  #lib/PerlIO/via/QuotedPrint.pm
-        'Pod::Checker'          => '1.41',  #lib/Pod/Checker.pm
-        'Pod::Find'             => '0.24',  #lib/Pod/Find.pm
-        'Pod::Functions'        => '1.02',  #lib/Pod/Functions.pm
-        'Pod::Html'             => '1.0501',  #lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.14',  #lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.55',  #lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.37',  #lib/Pod/Man.pm
-        'Pod::ParseLink'        => '1.06',  #lib/Pod/ParseLink.pm
-        'Pod::Parser'           => '1.13',  #lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '0.3',  #lib/Pod/ParseUtils.pm
-        'Pod::Perldoc'          => '3.11',  #lib/Pod/Perldoc.pm
-        'Pod::Perldoc::BaseTo'  => undef,  #lib/Pod/Perldoc/BaseTo.pm
-        'Pod::Perldoc::GetOptsOO'=> undef,  #lib/Pod/Perldoc/GetOptsOO.pm
-        'Pod::Perldoc::ToChecker'=> undef,  #lib/Pod/Perldoc/ToChecker.pm
-        'Pod::Perldoc::ToMan'   => undef,  #lib/Pod/Perldoc/ToMan.pm
-        'Pod::Perldoc::ToNroff' => undef,  #lib/Pod/Perldoc/ToNroff.pm
-        'Pod::Perldoc::ToPod'   => undef,  #lib/Pod/Perldoc/ToPod.pm
-        'Pod::Perldoc::ToRtf'   => undef,  #lib/Pod/Perldoc/ToRtf.pm
-        'Pod::Perldoc::ToText'  => undef,  #lib/Pod/Perldoc/ToText.pm
-        'Pod::Perldoc::ToTk'    => 'undef',  #lib/Pod/Perldoc/ToTk.pm
-        'Pod::Perldoc::ToXml'   => undef,  #lib/Pod/Perldoc/ToXml.pm
-        'Pod::Plainer'          => '0.01',  #lib/Pod/Plainer.pm
-        'Pod::PlainText'        => '2.01',  #lib/Pod/PlainText.pm
-        'Pod::Select'           => '1.13',  #lib/Pod/Select.pm
-        'Pod::Text'             => '2.21',  #lib/Pod/Text.pm
-        'Pod::Text::Color'      => '1.04',  #lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.1',  #lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1.11',  #lib/Pod/Text/Termcap.pm
-        'Pod::Usage'            => '1.16',  #lib/Pod/Usage.pm
-        'POSIX'                 => '1.06',  #lib/POSIX.pm
-        're'                    => '0.04',  #lib/re.pm
-        'Safe'                  => '2.10',  #lib/Safe.pm
-        'Scalar::Util'          => '1.13',  #lib/Scalar/Util.pm
-        'SDBM_File'             => '1.04',  #lib/SDBM_File.pm
-        'Search::Dict'          => '1.02',  #lib/Search/Dict.pm
-        'SelectSaver'           => '1.00',  #lib/SelectSaver.pm
-        'SelfLoader'            => '1.0904',  #lib/SelfLoader.pm
-        'Shell'                 => '0.5',  #lib/Shell.pm
-        'sigtrap'               => '1.02',  #lib/sigtrap.pm
-        'Socket'                => '1.76',  #lib/Socket.pm
-        'sort'                  => '1.02',  #lib/sort.pm
-        'Storable'              => '2.08',  #lib/Storable.pm
-        'strict'                => '1.03',  #lib/strict.pm
-        'subs'                  => '1.00',  #lib/subs.pm
-        'Switch'                => '2.10',  #lib/Switch.pm
-        'Symbol'                => '1.05',  #lib/Symbol.pm
-        'Sys::Hostname'         => '1.11',  #lib/Sys/Hostname.pm
-        'Sys::Syslog'           => '0.04',  #lib/Sys/Syslog.pm
-        'Term::ANSIColor'       => '1.07',  #lib/Term/ANSIColor.pm
-        'Term::Cap'             => '1.08',  #lib/Term/Cap.pm
-        'Term::Complete'        => '1.401',  #lib/Term/Complete.pm
-        'Term::ReadLine'        => '1.01',  #lib/Term/ReadLine.pm
-        'Test'                  => '1.24',  #lib/Test.pm
-        'Test::Builder'         => '0.17',  #lib/Test/Builder.pm
-        'Test::Harness'         => '2.30',  #lib/Test/Harness.pm
-        'Test::Harness::Assert' => '0.01',  #lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.01',  #lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.15',  #lib/Test/Harness/Straps.pm
-        'Test::More'            => '0.47',  #lib/Test/More.pm
-        'Test::Simple'          => '0.47',  #lib/Test/Simple.pm
-        'Text::Abbrev'          => '1.01',  #lib/Text/Abbrev.pm
-        'Text::Balanced'        => '1.95',  #lib/Text/Balanced.pm
-        'Text::ParseWords'      => '3.21',  #lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.01',  #lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801',  #lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.09291',  #lib/Text/Wrap.pm
-        'Thread'                => '2.00',  #lib/Thread.pm
-        'Thread::Queue'         => '2.00',  #lib/Thread/Queue.pm
-        'Thread::Semaphore'     => '2.01',  #lib/Thread/Semaphore.pm
-        'Thread::Signal'        => '1.00', #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => '1.00', #./ext/Thread/Thread/Specific.pm
-        'threads'               => '1.00',  #lib/threads.pm
-        'threads::shared'       => '0.91',  #lib/threads/shared.pm
-        'Tie::Array'            => '1.03',  #lib/Tie/Array.pm
-        'Tie::File'             => '0.97',  #lib/Tie/File.pm
-        'Tie::Handle'           => '4.1',  #lib/Tie/Handle.pm
-        'Tie::Hash'             => '1.00',  #lib/Tie/Hash.pm
-        'Tie::Memoize'          => '1.0',  #lib/Tie/Memoize.pm
-        'Tie::RefHash'          => '1.31',  #lib/Tie/RefHash.pm
-        'Tie::Scalar'           => '1.00',  #lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => '1.00',  #lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.02',  #lib/Time/gmtime.pm
-        'Time::HiRes'           => '1.51',  #lib/Time/HiRes.pm
-        'Time::Local'           => '1.07',  #lib/Time/Local.pm
-        'Time::localtime'       => '1.02',  #lib/Time/localtime.pm
-        'Time::tm'              => '1.00',  #lib/Time/tm.pm
-        'Unicode'               => '4.0.0', #lib/unicore/version
-        'Unicode::Collate'      => '0.28',  #lib/Unicode/Collate.pm
-        'Unicode::Normalize'    => '0.23',  #lib/Unicode/Normalize.pm
-        'Unicode::UCD'          => '0.21',  #lib/Unicode/UCD.pm
-        'UNIVERSAL'             => '1.01',  #lib/UNIVERSAL.pm
-        'User::grent'           => '1.00',  #lib/User/grent.pm
-        'User::pwent'           => '1.00',  #lib/User/pwent.pm
-        'utf8'                  => '1.02',  #lib/utf8.pm
-        'vars'                  => '1.01',  #lib/vars.pm
-        'version'               => '0.29',  #lib/version.pm
-        'VMS::DCLsym'           => '1.02',  #vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => '1.11',  #vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.3',  #vms/ext/Stdio/Stdio.pm
-        'vmsish'                => '1.01',  #lib/vmsish.pm
-        'warnings'              => '1.03',  #lib/warnings.pm
-        'warnings::register'    => '1.00',  #lib/warnings/register.pm
-        'XS::APItest'           => '0.02',  #lib/XS/APItest.pm
-        'XS::Typemap'           => '0.01',  #lib/XS/Typemap.pm
-        'XSLoader'              => '0.03',  #lib/XSLoader.pm
-    },
-
-    5.009001 => {
-        'AnyDBM_File'           => '1.00',  #lib/AnyDBM_File.pm
-        'assertions'            => '0.01',  #lib/assertions.pm
-        'assertions::activate'  => '0.01',  #lib/assertions/activate.pm
-        'Attribute::Handlers'   => '0.78_01',  #lib/Attribute/Handlers.pm
-        'attributes'            => '0.06',  #lib/attributes.pm
-        'attrs'                 => '1.01',  #lib/attrs.pm
-        'AutoLoader'            => '5.60',  #lib/AutoLoader.pm
-        'AutoSplit'             => '1.04',  #lib/AutoSplit.pm
-        'autouse'               => '1.03',  #lib/autouse.pm
-        'B'                     => '1.05',  #lib/B.pm
-        'base'                  => '2.04',  #lib/base.pm
-        'B::Asmdata'            => '1.01',  #lib/B/Asmdata.pm
-        'B::Assembler'          => '0.06',  #lib/B/Assembler.pm
-        'B::Bblock'             => '1.02',  #lib/B/Bblock.pm
-        'B::Bytecode'           => '1.01',  #lib/B/Bytecode.pm
-        'B::C'                  => '1.04',  #lib/B/C.pm
-        'B::CC'                 => '1.00',  #lib/B/CC.pm
-        'B::Concise'            => '0.59',  #lib/B/Concise.pm
-        'B::Debug'              => '1.02',  #lib/B/Debug.pm
-        'B::Deparse'            => '0.65',  #lib/B/Deparse.pm
-        'B::Disassembler'       => '1.03',  #lib/B/Disassembler.pm
-        'Benchmark'             => '1.06',  #lib/Benchmark.pm
-        'bigint'                => '0.05',  #lib/bigint.pm
-        'bignum'                => '0.15',  #lib/bignum.pm
-        'bigrat'                => '0.06',  #lib/bigrat.pm
-        'blib'                  => '1.02',  #lib/blib.pm
-        'B::Lint'               => '1.02',  #lib/B/Lint.pm
-        'B::Showlex'            => '1.00',  #lib/B/Showlex.pm
-        'B::Stackobj'           => '1.00',  #lib/B/Stackobj.pm
-        'B::Stash'              => '1.00',  #lib/B/Stash.pm
-        'B::Terse'              => '1.02',  #lib/B/Terse.pm
-        'B::Xref'               => '1.01',  #lib/B/Xref.pm
-        'ByteLoader'            => '0.05',  #lib/ByteLoader.pm
-        'bytes'                 => '1.01',  #lib/bytes.pm
-        'Carp'                  => '1.02',  #lib/Carp.pm
-        'Carp::Heavy'           => '1.01',  #lib/Carp/Heavy.pm
-        'CGI'                   => '3.04',  #lib/CGI.pm
-        'CGI::Apache'           => '1.00',  #lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.27',  #lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.24',  #lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.05',  #lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.08',  #lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04',  #lib/CGI/Push.pm
-        'CGI::Switch'           => '1.00',  #lib/CGI/Switch.pm
-        'CGI::Util'             => '1.4',  #lib/CGI/Util.pm
-        'charnames'             => '1.03',  #lib/charnames.pm
-        'Class::ISA'            => '0.32',  #lib/Class/ISA.pm
-        'Class::Struct'         => '0.63',  #lib/Class/Struct.pm
-        'Config'                => undef,  #lib/Config.pm
-        'constant'              => '1.04',  #lib/constant.pm
-        'CPAN'                  => '1.76_01',  #lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.60 ',  #lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.03',  #lib/CPAN/Nox.pm
-        'Cwd'                   => '2.17',  #lib/Cwd.pm
-        'Data::Dumper'          => '2.121',  #lib/Data/Dumper.pm
-        'DB'                    => '1.0',  #lib/DB.pm
-        'DB_File'               => '1.808_01',  #lib/DB_File.pm
-        'DBM_Filter'            => '0.01',  #lib/DBM_Filter.pm
-        'DBM_Filter::compress'  => '0.01',  #lib/DBM_Filter/compress.pm
-        'DBM_Filter::encode'    => '0.01',  #lib/DBM_Filter/encode.pm
-        'DBM_Filter::int32'     => '0.01',  #lib/DBM_Filter/int32.pm
-        'DBM_Filter::null'      => '0.01',  #lib/DBM_Filter/null.pm
-        'DBM_Filter::utf8'      => '0.01',  #lib/DBM_Filter/utf8.pm
-        'Devel::DProf'          => '20030813.00',  #lib/Devel/DProf.pm
-        'Devel::Peek'           => '1.01',  #lib/Devel/Peek.pm
-        'Devel::PPPort'         => '2.011_01',  #lib/Devel/PPPort.pm
-        'Devel::SelfStubber'    => '1.03',  #lib/Devel/SelfStubber.pm
-        'diagnostics'           => '1.12',  #lib/diagnostics.pm
-        'Digest'                => '1.05',  #lib/Digest.pm
-        'Digest::base'          => '1.00',  #lib/Digest/base.pm
-        'Digest::MD5'           => '2.33',  #lib/Digest/MD5.pm
-        'DirHandle'             => '1.00',  #lib/DirHandle.pm
-        'Dumpvalue'             => '1.11',  #lib/Dumpvalue.pm
-        'DynaLoader'            => '1.04',  #lib/DynaLoader.pm
-        'Encode'                => '1.99_01',  #lib/Encode.pm
-        'Encode::Alias'         => '1.38',  #lib/Encode/Alias.pm
-        'Encode::Byte'          => '1.23',  #lib/Encode/Byte.pm
-        'Encode::CJKConstants'  => '1.02',  #lib/Encode/CJKConstants.pm
-        'Encode::CN'            => '1.24',  #lib/Encode/CN.pm
-        'Encode::CN::HZ'        => '1.0501',  #lib/Encode/CN/HZ.pm
-        'Encode::Config'        => '1.07',  #lib/Encode/Config.pm
-        'Encode::EBCDIC'        => '1.21',  #lib/Encode/EBCDIC.pm
-        'Encode::Encoder'       => '0.07',  #lib/Encode/Encoder.pm
-        'Encode::Encoding'      => '1.33',  #lib/Encode/Encoding.pm
-        'Encode::Guess'         => '1.09',  #lib/Encode/Guess.pm
-        'Encode::JP'            => '1.25',  #lib/Encode/JP.pm
-        'Encode::JP::H2Z'       => '1.02',  #lib/Encode/JP/H2Z.pm
-        'Encode::JP::JIS7'      => '1.12',  #lib/Encode/JP/JIS7.pm
-        'Encode::KR'            => '1.23',  #lib/Encode/KR.pm
-        'Encode::KR::2022_KR'   => '1.06',  #lib/Encode/KR/2022_KR.pm
-        'Encode::MIME::Header'  => '1.09',  #lib/Encode/MIME/Header.pm
-        'Encode::Symbol'        => '1.22',  #lib/Encode/Symbol.pm
-        'Encode::TW'            => '1.26',  #lib/Encode/TW.pm
-        'Encode::Unicode'       => '1.40',  #lib/Encode/Unicode.pm
-        'Encode::Unicode::UTF7' => '0.02',  #lib/Encode/Unicode/UTF7.pm
-        'encoding'              => '1.48',  #lib/encoding.pm
-        'English'               => '1.02',  #lib/English.pm
-        'Env'                   => '1.00',  #lib/Env.pm
-        'Errno'                 => '1.09_00',  #lib/Errno.pm
-        'Exporter'              => '5.58',  #lib/Exporter.pm
-        'Exporter::Heavy'       => '5.567',  #lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.07',  #lib/ExtUtils/Command.pm
-        'ExtUtils::Command::MM' => '0.03',  #lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Constant'    => '0.14',  #lib/ExtUtils/Constant.pm
-        'ExtUtils::Embed'       => '1.250601',  #lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.32',  #lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.08',  #lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.01',  #lib/ExtUtils/Liblist.pm
-        'ExtUtils::Liblist::Kid'=> '1.3',  #lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker'   => '6.21_02',  #lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::MakeMaker::bytes'=> '0.01',  #lib/ExtUtils/MakeMaker/bytes.pm
-        'ExtUtils::MakeMaker::vmsish'=> '0.01',  #lib/ExtUtils/MakeMaker/vmsish.pm
-        'ExtUtils::Manifest'    => '1.43',  #lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef,  #lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Mkbootstrap' => '1.15',  #lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19',  #lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM'          => '0.04',  #lib/ExtUtils/MM.pm
-        'ExtUtils::MM_Any'      => '0.0901',  #lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.04',  #lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.07',  #lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.02',  #lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.07',  #lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.07_01',  #lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM_OS2'      => '1.04',  #lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.45_01',  #lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.02',  #lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.71_01',  #lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.10_01',  #lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.03',  #lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01',  #lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04',  #lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15',  #lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.04',  #lib/Fatal.pm
-        'Fcntl'                 => '1.05',  #lib/Fcntl.pm
-        'fields'                => '2.03',  #lib/fields.pm
-        'File::Basename'        => '2.72',  #lib/File/Basename.pm
-        'FileCache'             => '1.03',  #lib/FileCache.pm
-        'File::CheckTree'       => '4.3',  #lib/File/CheckTree.pm
-        'File::Compare'         => '1.1003',  #lib/File/Compare.pm
-        'File::Copy'            => '2.07',  #lib/File/Copy.pm
-        'File::DosGlob'         => '1.00',  #lib/File/DosGlob.pm
-        'File::Find'            => '1.07',  #lib/File/Find.pm
-        'File::Glob'            => '1.02',  #lib/File/Glob.pm
-        'FileHandle'            => '2.01',  #lib/FileHandle.pm
-        'File::Path'            => '1.06',  #lib/File/Path.pm
-        'File::Spec'            => '0.87',  #lib/File/Spec.pm
-        'File::Spec::Cygwin'    => '1.1',  #lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.1',  #lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.3',  #lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.4',  #lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.2',  #lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.5',  #lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.4',  #lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.4',  #lib/File/Spec/Win32.pm
-        'File::stat'            => '1.00',  #lib/File/stat.pm
-        'File::Temp'            => '0.14',  #lib/File/Temp.pm
-        'filetest'              => '1.01',  #lib/filetest.pm
-        'Filter::Simple'        => '0.78',  #lib/Filter/Simple.pm
-        'Filter::Util::Call'    => '1.0601',  #lib/Filter/Util/Call.pm
-        'FindBin'               => '1.44',  #lib/FindBin.pm
-        'GDBM_File'             => '1.07',  #lib/GDBM_File.pm
-        'Getopt::Long'          => '2.3401',  #lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.05',  #lib/Getopt/Std.pm
-        'Hash::Util'            => '0.05',  #lib/Hash/Util.pm
-        'I18N::Collate'         => '1.00',  #lib/I18N/Collate.pm
-        'I18N::Langinfo'        => '0.02',  #lib/I18N/Langinfo.pm
-        'I18N::LangTags'        => '0.29',  #lib/I18N/LangTags.pm
-        'I18N::LangTags::List'  => '0.29',  #lib/I18N/LangTags/List.pm
-        'if'                    => '0.0401',  #lib/if.pm
-        'integer'               => '1.00',  #lib/integer.pm
-        'IO'                    => '1.21',  #lib/IO.pm
-        'IO::Dir'               => '1.04',  #lib/IO/Dir.pm
-        'IO::File'              => '1.10',  #lib/IO/File.pm
-        'IO::Handle'            => '1.23',  #lib/IO/Handle.pm
-        'IO::Pipe'              => '1.122',  #lib/IO/Pipe.pm
-        'IO::Poll'              => '0.06',  #lib/IO/Poll.pm
-        'IO::Seekable'          => '1.09',  #lib/IO/Seekable.pm
-        'IO::Select'            => '1.16',  #lib/IO/Select.pm
-        'IO::Socket'            => '1.28',  #lib/IO/Socket.pm
-        'IO::Socket::INET'      => '1.27',  #lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.21',  #lib/IO/Socket/UNIX.pm
-        'IPC::Msg'              => '1.02',  #lib/IPC/Msg.pm
-        'IPC::Open2'            => '1.01',  #lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0105',  #lib/IPC/Open3.pm
-        'IPC::Semaphore'        => '1.02',  #lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.04',  #lib/IPC/SysV.pm
-        'JNI'                   => '0.2',  #jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef,  #jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef,  #jpl/JPL/Class.pm
-        'JPL::Compile'          => undef,  #jpl/JPL/Compile.pm
-        'less'                  => '0.01',  #lib/less.pm
-        'lib'                   => '0.5565',  #lib/lib.pm
-        'List::Util'            => '1.13',  #lib/List/Util.pm
-        'locale'                => '1.00',  #lib/locale.pm
-        'Locale::Constants'     => '2.01',  #lib/Locale/Constants.pm
-        'Locale::Country'       => '2.61',  #lib/Locale/Country.pm
-        'Locale::Currency'      => '2.21',  #lib/Locale/Currency.pm
-        'Locale::Language'      => '2.21',  #lib/Locale/Language.pm
-        'Locale::Maketext'      => '1.08',  #lib/Locale/Maketext.pm
-        'Locale::Maketext::GutsLoader'=> undef,  #lib/Locale/Maketext/GutsLoader.pm
-        'Locale::Maketext::Guts'=> undef,  #lib/Locale/Maketext/Guts.pm
-        'Locale::Script'        => '2.21',  #lib/Locale/Script.pm
-        'Math::BigFloat'        => '1.44',  #lib/Math/BigFloat.pm
-        'Math::BigFloat::Trace' => '0.01',  #lib/Math/BigFloat/Trace.pm
-        'Math::BigInt'          => '1.70',  #lib/Math/BigInt.pm
-        'Math::BigInt::Calc'    => '0.40',  #lib/Math/BigInt/Calc.pm
-        'Math::BigInt::CalcEmu' => '0.04',  #lib/Math/BigInt/CalcEmu.pm
-        'Math::BigInt::Trace'   => '0.01',  #lib/Math/BigInt/Trace.pm
-        'Math::BigRat'          => '0.12',  #lib/Math/BigRat.pm
-        'Math::Complex'         => '1.34',  #lib/Math/Complex.pm
-        'Math::Trig'            => '1.02',  #lib/Math/Trig.pm
-        'Memoize'               => '1.01_01',  #lib/Memoize.pm
-        'Memoize::AnyDBM_File'  => '0.65',  #lib/Memoize/AnyDBM_File.pm
-        'Memoize::Expire'       => '1.00',  #lib/Memoize/Expire.pm
-        'Memoize::ExpireFile'   => '1.01',  #lib/Memoize/ExpireFile.pm
-        'Memoize::ExpireTest'   => '0.65',  #lib/Memoize/ExpireTest.pm
-        'Memoize::NDBM_File'    => '0.65',  #lib/Memoize/NDBM_File.pm
-        'Memoize::SDBM_File'    => '0.65',  #lib/Memoize/SDBM_File.pm
-        'Memoize::Storable'     => '0.65',  #lib/Memoize/Storable.pm
-        'MIME::Base64'          => '3.00_01',  #lib/MIME/Base64.pm
-        'MIME::QuotedPrint'     => '3.00',  #lib/MIME/QuotedPrint.pm
-        'NDBM_File'             => '1.05',  #lib/NDBM_File.pm
-        'Net::Cmd'              => '2.24',  #lib/Net/Cmd.pm
-        'Net::Config'           => '1.10',  #lib/Net/Config.pm
-        'Net::Domain'           => '2.19',  #lib/Net/Domain.pm
-        'Net::FTP'              => '2.72',  #lib/Net/FTP.pm
-        'Net::FTP::A'           => '1.16',  #lib/Net/FTP/A.pm
-        'Net::FTP::dataconn'    => '0.11',  #lib/Net/FTP/dataconn.pm
-        'Net::FTP::E'           => '0.01',  #lib/Net/FTP/E.pm
-        'Net::FTP::I'           => '1.12',  #lib/Net/FTP/I.pm
-        'Net::FTP::L'           => '0.01',  #lib/Net/FTP/L.pm
-        'Net::hostent'          => '1.01',  #lib/Net/hostent.pm
-        'Net::netent'           => '1.00',  #lib/Net/netent.pm
-        'Net::Netrc'            => '2.12',  #lib/Net/Netrc.pm
-        'Net::NNTP'             => '2.22',  #lib/Net/NNTP.pm
-        'Net::Ping'             => '2.31',  #lib/Net/Ping.pm
-        'Net::POP3'             => '2.24',  #lib/Net/POP3.pm
-        'Net::protoent'         => '1.00',  #lib/Net/protoent.pm
-        'Net::servent'          => '1.01',  #lib/Net/servent.pm
-        'Net::SMTP'             => '2.26',  #lib/Net/SMTP.pm
-        'Net::Time'             => '2.09',  #lib/Net/Time.pm
-        'NEXT'                  => '0.60',  #lib/NEXT.pm
-        'O'                     => '1.00',  #lib/O.pm
-        'ODBM_File'             => '1.04',  #ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.06',  #lib/Opcode.pm
-        'open'                  => '1.02',  #lib/open.pm
-        'ops'                   => '1.00',  #lib/ops.pm
-        'OS2::DLL'              => '1.02',  #os2/OS2/REXX/DLL/DLL.pm
-        'OS2::ExtAttr'          => '0.02',  #os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.03',  #os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '1.01',  #os2/OS2/Process/Process.pm
-        'OS2::REXX'             => '1.02',  #os2/OS2/REXX/REXX.pm
-        'overload'              => '1.02',  #lib/overload.pm
-        'PerlIO'                => '1.03',  #lib/PerlIO.pm
-        'PerlIO::encoding'      => '0.07',  #lib/PerlIO/encoding.pm
-        'PerlIO::scalar'        => '0.02',  #lib/PerlIO/scalar.pm
-        'PerlIO::via'           => '0.02',  #lib/PerlIO/via.pm
-        'PerlIO::via::QuotedPrint'=> '0.06',  #lib/PerlIO/via/QuotedPrint.pm
-        'Pod::Checker'          => '1.41',  #lib/Pod/Checker.pm
-        'Pod::Find'             => '0.24',  #lib/Pod/Find.pm
-        'Pod::Functions'        => '1.02',  #lib/Pod/Functions.pm
-        'Pod::Html'             => '1.0502',  #lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.14',  #lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.55',  #lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.37',  #lib/Pod/Man.pm
-        'Pod::ParseLink'        => '1.06',  #lib/Pod/ParseLink.pm
-        'Pod::Parser'           => '1.14',  #lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '0.3',  #lib/Pod/ParseUtils.pm
-        'Pod::Perldoc'          => '3.12',  #lib/Pod/Perldoc.pm
-        'Pod::Perldoc::BaseTo'  => undef,  #lib/Pod/Perldoc/BaseTo.pm
-        'Pod::Perldoc::GetOptsOO'=> undef,  #lib/Pod/Perldoc/GetOptsOO.pm
-        'Pod::Perldoc::ToChecker'=> undef,  #lib/Pod/Perldoc/ToChecker.pm
-        'Pod::Perldoc::ToMan'   => undef,  #lib/Pod/Perldoc/ToMan.pm
-        'Pod::Perldoc::ToNroff' => undef,  #lib/Pod/Perldoc/ToNroff.pm
-        'Pod::Perldoc::ToPod'   => undef,  #lib/Pod/Perldoc/ToPod.pm
-        'Pod::Perldoc::ToRtf'   => undef,  #lib/Pod/Perldoc/ToRtf.pm
-        'Pod::Perldoc::ToText'  => undef,  #lib/Pod/Perldoc/ToText.pm
-        'Pod::Perldoc::ToTk'    => 'undef',  #lib/Pod/Perldoc/ToTk.pm
-        'Pod::Perldoc::ToXml'   => undef,  #lib/Pod/Perldoc/ToXml.pm
-        'Pod::Plainer'          => '0.01',  #lib/Pod/Plainer.pm
-        'Pod::PlainText'        => '2.02',  #lib/Pod/PlainText.pm
-        'Pod::Select'           => '1.13',  #lib/Pod/Select.pm
-        'Pod::Text'             => '2.21',  #lib/Pod/Text.pm
-        'Pod::Text::Color'      => '1.04',  #lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.1',  #lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1.11',  #lib/Pod/Text/Termcap.pm
-        'Pod::Usage'            => '1.16',  #lib/Pod/Usage.pm
-        'POSIX'                 => '1.07',  #lib/POSIX.pm
-        're'                    => '0.04',  #lib/re.pm
-        'Safe'                  => '2.10',  #lib/Safe.pm
-        'Scalar::Util'          => '1.13',  #lib/Scalar/Util.pm
-        'SDBM_File'             => '1.04',  #lib/SDBM_File.pm
-        'Search::Dict'          => '1.02',  #lib/Search/Dict.pm
-        'SelectSaver'           => '1.00',  #lib/SelectSaver.pm
-        'SelfLoader'            => '1.0904',  #lib/SelfLoader.pm
-        'Shell'                 => '0.5.2',  #lib/Shell.pm
-        'sigtrap'               => '1.02',  #lib/sigtrap.pm
-        'Socket'                => '1.77',  #lib/Socket.pm
-        'sort'                  => '1.02',  #lib/sort.pm
-        'Storable'              => '2.11',  #lib/Storable.pm
-        'strict'                => '1.03',  #lib/strict.pm
-        'subs'                  => '1.00',  #lib/subs.pm
-        'Switch'                => '2.10',  #lib/Switch.pm
-        'Symbol'                => '1.05',  #lib/Symbol.pm
-        'Sys::Hostname'         => '1.11',  #lib/Sys/Hostname.pm
-        'Sys::Syslog'           => '0.05',  #lib/Sys/Syslog.pm
-        'Term::ANSIColor'       => '1.08',  #lib/Term/ANSIColor.pm
-        'Term::Cap'             => '1.08',  #lib/Term/Cap.pm
-        'Term::Complete'        => '1.401',  #lib/Term/Complete.pm
-        'Term::ReadLine'        => '1.01',  #lib/Term/ReadLine.pm
-        'Test'                  => '1.24',  #lib/Test.pm
-        'Test::Builder'         => '0.17',  #lib/Test/Builder.pm
-        'Test::Harness'         => '2.40',  #lib/Test/Harness.pm
-        'Test::Harness::Assert' => '0.02',  #lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.02',  #lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.19',  #lib/Test/Harness/Straps.pm
-        'Test::More'            => '0.47',  #lib/Test/More.pm
-        'Test::Simple'          => '0.47',  #lib/Test/Simple.pm
-        'Text::Abbrev'          => '1.01',  #lib/Text/Abbrev.pm
-        'Text::Balanced'        => '1.95',  #lib/Text/Balanced.pm
-        'Text::ParseWords'      => '3.21',  #lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.01',  #lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801',  #lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.09291',  #lib/Text/Wrap.pm
-        'Thread'                => '2.00',  #lib/Thread.pm
-        'Thread::Queue'         => '2.00',  #lib/Thread/Queue.pm
-        'threads'               => '1.02',  #lib/threads.pm
-        'Thread::Semaphore'     => '2.01',  #lib/Thread/Semaphore.pm
-        'Thread::Signal'        => '1.00', #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => '1.00', #./ext/Thread/Thread/Specific.pm
-        'threads::shared'       => '0.92',  #lib/threads/shared.pm
-        'Tie::Array'            => '1.03',  #lib/Tie/Array.pm
-        'Tie::File'             => '0.97',  #lib/Tie/File.pm
-        'Tie::Handle'           => '4.1',  #lib/Tie/Handle.pm
-        'Tie::Hash'             => '1.01',  #lib/Tie/Hash.pm
-        'Tie::Memoize'          => '1.0',  #lib/Tie/Memoize.pm
-        'Tie::RefHash'          => '1.31',  #lib/Tie/RefHash.pm
-        'Tie::Scalar'           => '1.00',  #lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => '1.00',  #lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.02',  #lib/Time/gmtime.pm
-        'Time::HiRes'           => '1.56',  #lib/Time/HiRes.pm
-        'Time::Local'           => '1.07_94',  #lib/Time/Local.pm
-        'Time::localtime'       => '1.02',  #lib/Time/localtime.pm
-        'Time::tm'              => '1.00',  #lib/Time/tm.pm
-        'Unicode'               => '4.0.0', #lib/unicore/version
-        'Unicode::Collate'      => '0.33',  #lib/Unicode/Collate.pm
-        'Unicode::Normalize'    => '0.28',  #lib/Unicode/Normalize.pm
-        'Unicode::UCD'          => '0.21',  #lib/Unicode/UCD.pm
-        'UNIVERSAL'             => '1.02',  #lib/UNIVERSAL.pm
-        'User::grent'           => '1.00',  #lib/User/grent.pm
-        'User::pwent'           => '1.00',  #lib/User/pwent.pm
-        'utf8'                  => '1.02',  #lib/utf8.pm
-        'vars'                  => '1.01',  #lib/vars.pm
-        'version'               => '0.36',  #lib/version.pm
-        'VMS::DCLsym'           => '1.02',  #vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => '1.11',  #vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.3',  #vms/ext/Stdio/Stdio.pm
-        'vmsish'                => '1.01',  #lib/vmsish.pm
-        'warnings'              => '1.03',  #lib/warnings.pm
-        'warnings::register'    => '1.00',  #lib/warnings/register.pm
-        'XS::APItest'           => '0.03',  #lib/XS/APItest.pm
-        'XSLoader'              => '0.03',  #lib/XSLoader.pm
-        'XS::Typemap'           => '0.01',  #lib/XS/Typemap.pm
-    },
-
     5.008004 => {
-        'AnyDBM_File'           => '1.00',  #lib/AnyDBM_File.pm
-        'attributes'            => '0.06',  #lib/attributes.pm
-        'AutoLoader'            => '5.60',  #lib/AutoLoader.pm
-        'AutoSplit'             => '1.04',  #lib/AutoSplit.pm
-        'autouse'               => '1.03',  #lib/autouse.pm
-        'base'                  => '2.05',  #lib/base.pm
-        'Benchmark'             => '1.06',  #lib/Benchmark.pm
-        'bigint'                => '0.05',  #lib/bigint.pm
-        'bignum'                => '0.15',  #lib/bignum.pm
-        'bigrat'                => '0.06',  #lib/bigrat.pm
-        'blib'                  => '1.02',  #lib/blib.pm
-        'bytes'                 => '1.01',  #lib/bytes.pm
-        'Carp'                  => '1.02',  #lib/Carp.pm
-        'CGI'                   => '3.04',  #lib/CGI.pm
-        'charnames'             => '1.03',  #lib/charnames.pm
-        'constant'              => '1.04',  #lib/constant.pm
-        'CPAN'                  => '1.76_01',  #lib/CPAN.pm
-        'Cwd'                   => '2.17',  #lib/Cwd.pm
-        'DBM_Filter'            => '0.01',  #lib/DBM_Filter.pm
-        'DB'                    => '1.0',  #lib/DB.pm
-        'diagnostics'           => '1.12',  #lib/diagnostics.pm
-        'Digest'                => '1.06',  #lib/Digest.pm
-        'DirHandle'             => '1.00',  #lib/DirHandle.pm
-        'Dumpvalue'             => '1.11',  #lib/Dumpvalue.pm
-        'English'               => '1.01',  #lib/English.pm
-        'Env'                   => '1.00',  #lib/Env.pm
-        'Exporter'              => '5.58',  #lib/Exporter.pm
-        'Fatal'                 => '1.03',  #lib/Fatal.pm
-        'fields'                => '2.03',  #lib/fields.pm
-        'FileCache'             => '1.03',  #lib/FileCache.pm
-        'FileHandle'            => '2.01',  #lib/FileHandle.pm
-        'filetest'              => '1.01',  #lib/filetest.pm
-        'FindBin'               => '1.44',  #lib/FindBin.pm
-        'if'                    => '0.03',  #lib/if.pm
-        'integer'               => '1.00',  #lib/integer.pm
-        'less'                  => '0.01',  #lib/less.pm
-        'locale'                => '1.00',  #lib/locale.pm
-        'Memoize'               => '1.01',  #lib/Memoize.pm
-        'NEXT'                  => '0.60',  #lib/NEXT.pm
-        'open'                  => '1.03',  #lib/open.pm
-        'overload'              => '1.01',  #lib/overload.pm
-        'PerlIO'                => '1.03',  #lib/PerlIO.pm
-        'SelectSaver'           => '1.00',  #lib/SelectSaver.pm
-        'SelfLoader'            => '1.0904',  #lib/SelfLoader.pm
-        'Shell'                 => '0.5.2',  #lib/Shell.pm
-        'sigtrap'               => '1.02',  #lib/sigtrap.pm
-        'sort'                  => '1.02',  #lib/sort.pm
-        'strict'                => '1.03',  #lib/strict.pm
-        'subs'                  => '1.00',  #lib/subs.pm
-        'Switch'                => '2.10',  #lib/Switch.pm
-        'Symbol'                => '1.05',  #lib/Symbol.pm
-        'Test'                  => '1.24',  #lib/Test.pm
-        'Thread'                => '2.00',  #lib/Thread.pm
-        'Unicode'               => '4.0.1', # lib/unicore/version
-        'UNIVERSAL'             => '1.01',  #lib/UNIVERSAL.pm
-        'utf8'                  => '1.03',  #lib/utf8.pm
-        'vars'                  => '1.01',  #lib/vars.pm
-        'vmsish'                => '1.01',  #lib/vmsish.pm
-        'warnings'              => '1.03',  #lib/warnings.pm
-        'Config'                => undef,  #lib/Config.pm
-        'lib'                   => '0.5565',  #lib/lib.pm
-        're'                    => '0.04',  #lib/re.pm
-        'XSLoader'              => '0.02',  #lib/XSLoader.pm
-        'DynaLoader'            => '1.05',  #lib/DynaLoader.pm
-        'attrs'                 => '1.01',  #lib/attrs.pm
-        'B'                     => '1.02',  #lib/B.pm
-        'O'                     => '1.00',  #lib/O.pm
-        'ByteLoader'            => '0.05',  #lib/ByteLoader.pm
-        'DB_File'               => '1.808',  #lib/DB_File.pm
-        'Encode'                => '1.99_01',  #lib/Encode.pm
-        'encoding'              => '1.48',  #lib/encoding.pm
-        'Fcntl'                 => '1.05',  #lib/Fcntl.pm
-        'GDBM_File'             => '1.07',  #lib/GDBM_File.pm
-        'IO'                    => '1.21',  #lib/IO.pm
-        'NDBM_File'             => '1.05',  #lib/NDBM_File.pm
-        'Safe'                  => '2.10',  #lib/Safe.pm
-        'Opcode'                => '1.05',  #lib/Opcode.pm
-        'ops'                   => '1.00',  #lib/ops.pm
-        'POSIX'                 => '1.08',  #lib/POSIX.pm
-        'SDBM_File'             => '1.04',  #lib/SDBM_File.pm
-        'Socket'                => '1.77',  #lib/Socket.pm
-        'Storable'              => '2.12',  #lib/Storable.pm
-        'threads'               => '1.03',  #lib/threads.pm
-        'Errno'                 => '1.09_00',  #lib/Errno.pm
-        'Attribute::Handlers'   => '0.78_01',  #lib/Attribute/Handlers.pm
-        'Carp::Heavy'           => '1.01',  #lib/Carp/Heavy.pm
-        'CGI::Apache'           => '1.00',  #lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.27',  #lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.24',  #lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.05',  #lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.08',  #lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04',  #lib/CGI/Push.pm
-        'CGI::Switch'           => '1.00',  #lib/CGI/Switch.pm
-        'CGI::Util'             => '1.4',  #lib/CGI/Util.pm
-        'Class::ISA'            => '0.32',  #lib/Class/ISA.pm
-        'Class::Struct'         => '0.63',  #lib/Class/Struct.pm
-        'CPAN::FirstTime'       => '1.60 ',  #lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.03',  #lib/CPAN/Nox.pm
-        'DBM_Filter::compress'  => '0.01',  #lib/DBM_Filter/compress.pm
-        'DBM_Filter::encode'    => '0.01',  #lib/DBM_Filter/encode.pm
-        'DBM_Filter::int32'     => '0.01',  #lib/DBM_Filter/int32.pm
-        'DBM_Filter::null'      => '0.01',  #lib/DBM_Filter/null.pm
-        'DBM_Filter::utf8'      => '0.01',  #lib/DBM_Filter/utf8.pm
-        'Devel::SelfStubber'    => '1.03',  #lib/Devel/SelfStubber.pm
-        'Devel::DProf'          => '20030813.00',  #lib/Devel/DProf.pm
-        'Devel::Peek'           => '1.01',  #lib/Devel/Peek.pm
-        'Devel::PPPort'         => '2.011',  #lib/Devel/PPPort.pm
-        'Digest::base'          => '1.00',  #lib/Digest/base.pm
-        'Digest::MD5'           => '2.33',  #lib/Digest/MD5.pm
-        'Exporter::Heavy'       => '5.57',  #lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.05',  #lib/ExtUtils/Command.pm
-        'ExtUtils::Constant'    => '0.14',  #lib/ExtUtils/Constant.pm
-        'ExtUtils::Embed'       => '1.250601',  #lib/ExtUtils/Embed.pm
-        'ExtUtils::Installed'   => '0.08',  #lib/ExtUtils/Installed.pm
-        'ExtUtils::Install'     => '1.32',  #lib/ExtUtils/Install.pm
-        'ExtUtils::Liblist'     => '1.01',  #lib/ExtUtils/Liblist.pm
-        'ExtUtils::MakeMaker'   => '6.17',  #lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.42',  #lib/ExtUtils/Manifest.pm
-        'ExtUtils::Mkbootstrap' => '1.15',  #lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19',  #lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM_Any'      => '0.07',  #lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.04',  #lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.06',  #lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.02',  #lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.07',  #lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.07_02',  #lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM'          => '0.04',  #lib/ExtUtils/MM.pm
-        'ExtUtils::MM_OS2'      => '1.04',  #lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.42',  #lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.02',  #lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.70',  #lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.09',  #lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.0301',  #lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01',  #lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04',  #lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15',  #lib/ExtUtils/testlib.pm
-        'ExtUtils::Miniperl'    => undef,  #lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Command::MM' => '0.03',  #lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Liblist::Kid'=> '1.3001',  #lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker::bytes'=> '0.01',  #lib/ExtUtils/MakeMaker/bytes.pm
-        'ExtUtils::MakeMaker::vmsish'=> '0.01',  #lib/ExtUtils/MakeMaker/vmsish.pm
-        'File::Basename'        => '2.72',  #lib/File/Basename.pm
-        'File::CheckTree'       => '4.3',  #lib/File/CheckTree.pm
-        'File::Compare'         => '1.1003',  #lib/File/Compare.pm
-        'File::Copy'            => '2.07',  #lib/File/Copy.pm
-        'File::DosGlob'         => '1.00',  #lib/File/DosGlob.pm
-        'File::Find'            => '1.07',  #lib/File/Find.pm
-        'File::Path'            => '1.06',  #lib/File/Path.pm
-        'File::Spec'            => '0.87',  #lib/File/Spec.pm
-        'File::stat'            => '1.00',  #lib/File/stat.pm
-        'File::Temp'            => '0.14',  #lib/File/Temp.pm
-        'File::Glob'            => '1.02',  #lib/File/Glob.pm
-        'File::Spec::Cygwin'    => '1.1',  #lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.1',  #lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.3',  #lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.4',  #lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.2',  #lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.5',  #lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.4',  #lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.4',  #lib/File/Spec/Win32.pm
-        'Filter::Simple'        => '0.78',  #lib/Filter/Simple.pm
-        'Filter::Util::Call'    => '1.0601',  #lib/Filter/Util/Call.pm
-        'Getopt::Long'          => '2.34',  #lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.05',  #lib/Getopt/Std.pm
-        'Hash::Util'            => '0.05',  #lib/Hash/Util.pm
-        'I18N::Collate'         => '1.00',  #lib/I18N/Collate.pm
-        'I18N::LangTags'        => '0.29',  #lib/I18N/LangTags.pm
-        'I18N::Langinfo'        => '0.02',  #lib/I18N/Langinfo.pm
-        'I18N::LangTags::List'  => '0.29',  #lib/I18N/LangTags/List.pm
-        'IPC::Open2'            => '1.01',  #lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0106',  #lib/IPC/Open3.pm
-        'IPC::Msg'              => '1.02',  #lib/IPC/Msg.pm
-        'IPC::Semaphore'        => '1.02',  #lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.04',  #lib/IPC/SysV.pm
-        'Locale::Constants'     => '2.01',  #lib/Locale/Constants.pm
-        'Locale::Country'       => '2.61',  #lib/Locale/Country.pm
-        'Locale::Currency'      => '2.21',  #lib/Locale/Currency.pm
-        'Locale::Language'      => '2.21',  #lib/Locale/Language.pm
-        'Locale::Maketext'      => '1.08',  #lib/Locale/Maketext.pm
-        'Locale::Script'        => '2.21',  #lib/Locale/Script.pm
-        'Locale::Maketext::GutsLoader'=> undef,  #lib/Locale/Maketext/GutsLoader.pm
-        'Locale::Maketext::Guts'=> undef,  #lib/Locale/Maketext/Guts.pm
-        'Math::BigFloat'        => '1.44',  #lib/Math/BigFloat.pm
-        'Math::BigInt'          => '1.70',  #lib/Math/BigInt.pm
-        'Math::BigRat'          => '0.12',  #lib/Math/BigRat.pm
-        'Math::Complex'         => '1.34',  #lib/Math/Complex.pm
-        'Math::Trig'            => '1.02',  #lib/Math/Trig.pm
-        'Math::BigFloat::Trace' => '0.01',  #lib/Math/BigFloat/Trace.pm
-        'Math::BigInt::CalcEmu' => '0.04',  #lib/Math/BigInt/CalcEmu.pm
-        'Math::BigInt::Calc'    => '0.40',  #lib/Math/BigInt/Calc.pm
-        'Math::BigInt::Trace'   => '0.01',  #lib/Math/BigInt/Trace.pm
-        'Memoize::AnyDBM_File'  => '0.65',  #lib/Memoize/AnyDBM_File.pm
-        'Memoize::ExpireFile'   => '1.01',  #lib/Memoize/ExpireFile.pm
-        'Memoize::Expire'       => '1.00',  #lib/Memoize/Expire.pm
-        'Memoize::ExpireTest'   => '0.65',  #lib/Memoize/ExpireTest.pm
-        'Memoize::NDBM_File'    => '0.65',  #lib/Memoize/NDBM_File.pm
-        'Memoize::SDBM_File'    => '0.65',  #lib/Memoize/SDBM_File.pm
-        'Memoize::Storable'     => '0.65',  #lib/Memoize/Storable.pm
-        'Net::Cmd'              => '2.24',  #lib/Net/Cmd.pm
-        'Net::Config'           => '1.10',  #lib/Net/Config.pm
-        'Net::Domain'           => '2.19',  #lib/Net/Domain.pm
-        'Net::FTP'              => '2.72',  #lib/Net/FTP.pm
-        'Net::hostent'          => '1.01',  #lib/Net/hostent.pm
-        'Net::netent'           => '1.00',  #lib/Net/netent.pm
-        'Net::Netrc'            => '2.12',  #lib/Net/Netrc.pm
-        'Net::NNTP'             => '2.22',  #lib/Net/NNTP.pm
-        'Net::Ping'             => '2.31',  #lib/Net/Ping.pm
-        'Net::POP3'             => '2.24',  #lib/Net/POP3.pm
-        'Net::protoent'         => '1.00',  #lib/Net/protoent.pm
-        'Net::servent'          => '1.01',  #lib/Net/servent.pm
-        'Net::SMTP'             => '2.26',  #lib/Net/SMTP.pm
-        'Net::Time'             => '2.09',  #lib/Net/Time.pm
-        'Net::FTP::A'           => '1.16',  #lib/Net/FTP/A.pm
-        'Net::FTP::dataconn'    => '0.11',  #lib/Net/FTP/dataconn.pm
-        'Net::FTP::E'           => '0.01',  #lib/Net/FTP/E.pm
-        'Net::FTP::I'           => '1.12',  #lib/Net/FTP/I.pm
-        'Net::FTP::L'           => '0.01',  #lib/Net/FTP/L.pm
-        'PerlIO::encoding'      => '0.07',  #lib/PerlIO/encoding.pm
-        'PerlIO::scalar'        => '0.02',  #lib/PerlIO/scalar.pm
-        'PerlIO::via'           => '0.02',  #lib/PerlIO/via.pm
-        'PerlIO::via::QuotedPrint'=> '0.06',  #lib/PerlIO/via/QuotedPrint.pm
-        'Pod::Checker'          => '1.41',  #lib/Pod/Checker.pm
-        'Pod::Find'             => '0.24',  #lib/Pod/Find.pm
-        'Pod::Functions'        => '1.02',  #lib/Pod/Functions.pm
-        'Pod::Html'             => '1.0502',  #lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.14',  #lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.55',  #lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.37',  #lib/Pod/Man.pm
-        'Pod::ParseLink'        => '1.06',  #lib/Pod/ParseLink.pm
-        'Pod::Parser'           => '1.14',  #lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '0.3',  #lib/Pod/ParseUtils.pm
-        'Pod::Perldoc'          => '3.12',  #lib/Pod/Perldoc.pm
-        'Pod::Plainer'          => '0.01',  #lib/Pod/Plainer.pm
-        'Pod::PlainText'        => '2.02',  #lib/Pod/PlainText.pm
-        'Pod::Select'           => '1.13',  #lib/Pod/Select.pm
-        'Pod::Text'             => '2.21',  #lib/Pod/Text.pm
-        'Pod::Usage'            => '1.16',  #lib/Pod/Usage.pm
-        'Pod::Perldoc::BaseTo'  => undef,  #lib/Pod/Perldoc/BaseTo.pm
-        'Pod::Perldoc::GetOptsOO'=> undef,  #lib/Pod/Perldoc/GetOptsOO.pm
-        'Pod::Perldoc::ToChecker'=> undef,  #lib/Pod/Perldoc/ToChecker.pm
-        'Pod::Perldoc::ToMan'   => undef,  #lib/Pod/Perldoc/ToMan.pm
-        'Pod::Perldoc::ToNroff' => undef,  #lib/Pod/Perldoc/ToNroff.pm
-        'Pod::Perldoc::ToPod'   => undef,  #lib/Pod/Perldoc/ToPod.pm
-        'Pod::Perldoc::ToRtf'   => undef,  #lib/Pod/Perldoc/ToRtf.pm
-        'Pod::Perldoc::ToText'  => undef,  #lib/Pod/Perldoc/ToText.pm
-        'Pod::Perldoc::ToTk'    => 'undef',  #lib/Pod/Perldoc/ToTk.pm
-        'Pod::Perldoc::ToXml'   => undef,  #lib/Pod/Perldoc/ToXml.pm
-        'Pod::Text::Color'      => '1.04',  #lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.1',  #lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1.11',  #lib/Pod/Text/Termcap.pm
-        'Search::Dict'          => '1.02',  #lib/Search/Dict.pm
-        'Term::ANSIColor'       => '1.08',  #lib/Term/ANSIColor.pm
-        'Term::Cap'             => '1.08',  #lib/Term/Cap.pm
-        'Term::Complete'        => '1.401',  #lib/Term/Complete.pm
-        'Term::ReadLine'        => '1.01',  #lib/Term/ReadLine.pm
-        'Test::Builder'         => '0.17',  #lib/Test/Builder.pm
-        'Test::Harness'         => '2.40',  #lib/Test/Harness.pm
-        'Test::More'            => '0.47',  #lib/Test/More.pm
-        'Test::Simple'          => '0.47',  #lib/Test/Simple.pm
-        'Test::Harness::Assert' => '0.02',  #lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.02',  #lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.19',  #lib/Test/Harness/Straps.pm
-        'Text::Abbrev'          => '1.01',  #lib/Text/Abbrev.pm
-        'Text::Balanced'        => '1.95',  #lib/Text/Balanced.pm
-        'Text::ParseWords'      => '3.21',  #lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.01',  #lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801',  #lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.09291',  #lib/Text/Wrap.pm
-        'Thread::Queue'         => '2.00',  #lib/Thread/Queue.pm
-        'Thread::Semaphore'     => '2.01',  #lib/Thread/Semaphore.pm
-        'Tie::Array'            => '1.03',  #lib/Tie/Array.pm
-        'Tie::File'             => '0.97',  #lib/Tie/File.pm
-        'Tie::Handle'           => '4.1',  #lib/Tie/Handle.pm
-        'Tie::Hash'             => '1.01',  #lib/Tie/Hash.pm
-        'Tie::Memoize'          => '1.0',  #lib/Tie/Memoize.pm
-        'Tie::RefHash'          => '1.31',  #lib/Tie/RefHash.pm
-        'Tie::Scalar'           => '1.00',  #lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => '1.00',  #lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.02',  #lib/Time/gmtime.pm
-        'Time::Local'           => '1.07',  #lib/Time/Local.pm
-        'Time::localtime'       => '1.02',  #lib/Time/localtime.pm
-        'Time::tm'              => '1.00',  #lib/Time/tm.pm
-        'Time::HiRes'           => '1.59',  #lib/Time/HiRes.pm
-        'Unicode::Collate'      => '0.33',  #lib/Unicode/Collate.pm
-        'Unicode::UCD'          => '0.22',  #lib/Unicode/UCD.pm
-        'Unicode::Normalize'    => '0.28',  #lib/Unicode/Normalize.pm
-        'User::grent'           => '1.00',  #lib/User/grent.pm
-        'User::pwent'           => '1.00',  #lib/User/pwent.pm
-        'warnings::register'    => '1.00',  #lib/warnings/register.pm
-        'B::Stash'              => '1.00',  #lib/B/Stash.pm
-        'B::Asmdata'            => '1.01',  #lib/B/Asmdata.pm
-        'B::C'                  => '1.02',  #lib/B/C.pm
-        'B::Deparse'            => '0.66',  #lib/B/Deparse.pm
-        'B::Debug'              => '1.01',  #lib/B/Debug.pm
-        'B::Bblock'             => '1.02',  #lib/B/Bblock.pm
-        'B::Assembler'          => '0.07',  #lib/B/Assembler.pm
-        'B::Terse'              => '1.02',  #lib/B/Terse.pm
-        'B::CC'                 => '1.00',  #lib/B/CC.pm
-        'B::Concise'            => '0.60',  #lib/B/Concise.pm
-        'B::Lint'               => '1.02',  #lib/B/Lint.pm
-        'B::Showlex'            => '1.00',  #lib/B/Showlex.pm
-        'B::Bytecode'           => '1.01',  #lib/B/Bytecode.pm
-        'B::Disassembler'       => '1.03',  #lib/B/Disassembler.pm
-        'B::Xref'               => '1.01',  #lib/B/Xref.pm
-        'B::Stackobj'           => '1.00',  #lib/B/Stackobj.pm
-        'Data::Dumper'          => '2.121',  #lib/Data/Dumper.pm
-        'Encode::Alias'         => '1.38',  #lib/Encode/Alias.pm
-        'Encode::Encoding'      => '1.33',  #lib/Encode/Encoding.pm
-        'Encode::Guess'         => '1.09',  #lib/Encode/Guess.pm
-        'Encode::Config'        => '1.07',  #lib/Encode/Config.pm
-        'Encode::Encoder'       => '0.07',  #lib/Encode/Encoder.pm
-        'Encode::CJKConstants'  => '1.02',  #lib/Encode/CJKConstants.pm
-        'Encode::Byte'          => '1.23',  #lib/Encode/Byte.pm
-        'Encode::CN'            => '1.24',  #lib/Encode/CN.pm
-        'Encode::EBCDIC'        => '1.21',  #lib/Encode/EBCDIC.pm
-        'Encode::JP'            => '1.25',  #lib/Encode/JP.pm
-        'Encode::KR'            => '1.23',  #lib/Encode/KR.pm
-        'Encode::Symbol'        => '1.22',  #lib/Encode/Symbol.pm
-        'Encode::TW'            => '1.26',  #lib/Encode/TW.pm
-        'Encode::Unicode'       => '1.40',  #lib/Encode/Unicode.pm
-        'Encode::JP::H2Z'       => '1.02',  #lib/Encode/JP/H2Z.pm
-        'Encode::JP::JIS7'      => '1.12',  #lib/Encode/JP/JIS7.pm
-        'Encode::Unicode::UTF7' => '0.02',  #lib/Encode/Unicode/UTF7.pm
-        'Encode::KR::2022_KR'   => '1.06',  #lib/Encode/KR/2022_KR.pm
-        'Encode::MIME::Header'  => '1.09',  #lib/Encode/MIME/Header.pm
-        'Encode::CN::HZ'        => '1.0501',  #lib/Encode/CN/HZ.pm
-        'IO::Pipe'              => '1.123',  #lib/IO/Pipe.pm
-        'IO::File'              => '1.10',  #lib/IO/File.pm
-        'IO::Select'            => '1.16',  #lib/IO/Select.pm
-        'IO::Socket'            => '1.28',  #lib/IO/Socket.pm
-        'IO::Poll'              => '0.06',  #lib/IO/Poll.pm
-        'IO::Dir'               => '1.04',  #lib/IO/Dir.pm
-        'IO::Handle'            => '1.24',  #lib/IO/Handle.pm
-        'IO::Seekable'          => '1.09',  #lib/IO/Seekable.pm
-        'IO::Socket::INET'      => '1.27',  #lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.21',  #lib/IO/Socket/UNIX.pm
-        'List::Util'            => '1.13',  #lib/List/Util.pm
-        'Scalar::Util'          => '1.13',  #lib/Scalar/Util.pm
-        'MIME::QuotedPrint'     => '3.01',  #lib/MIME/QuotedPrint.pm
-        'MIME::Base64'          => '3.01',  #lib/MIME/Base64.pm
-        'Sys::Hostname'         => '1.11',  #lib/Sys/Hostname.pm
-        'Sys::Syslog'           => '0.05',  #lib/Sys/Syslog.pm
-        'XS::APItest'           => '0.03',  #lib/XS/APItest.pm
-        'XS::Typemap'           => '0.01',  #lib/XS/Typemap.pm
-        'threads::shared'       => '0.92',  #lib/threads/shared.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #vms/ext/XSSymSet.pm
-        'JNI'                   => '0.2',  #jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef,  #jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef,  #jpl/JPL/Class.pm
-        'JPL::Compile'          => undef,  #jpl/JPL/Compile.pm
-        'ODBM_File'             => '1.05',  #ext/ODBM_File/ODBM_File.pm
-        'OS2::DLL'              => '1.02',  #os2/OS2/REXX/DLL/DLL.pm
-        'OS2::ExtAttr'          => '0.02',  #os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.03',  #os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '1.01',  #os2/OS2/Process/Process.pm
-        'OS2::REXX'             => '1.02',  #os2/OS2/REXX/REXX.pm
-        'Thread::Signal'        => '1.00', #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => '1.00', #./ext/Thread/Thread/Specific.pm
-        'VMS::DCLsym'           => '1.02',  #vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => '1.11',  #vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.3',  #vms/ext/Stdio/Stdio.pm
+        delta_from => 5.008003,
+        changed => {
+            'Attribute::Handlers'   => '0.78_01',
+            'B::Assembler'          => '0.07',
+            'B::Concise'            => '0.60',
+            'B::Deparse'            => '0.66',
+            'Benchmark'             => '1.06',
+            'CGI'                   => '3.04',
+            'Carp'                  => '1.02',
+            'Cwd'                   => '2.17',
+            'DBM_Filter'            => '0.01',
+            'DBM_Filter::compress'  => '0.01',
+            'DBM_Filter::encode'    => '0.01',
+            'DBM_Filter::int32'     => '0.01',
+            'DBM_Filter::null'      => '0.01',
+            'DBM_Filter::utf8'      => '0.01',
+            'Digest'                => '1.06',
+            'DynaLoader'            => '1.05',
+            'Encode'                => '1.99_01',
+            'Encode::CN::HZ'        => '1.0501',
+            'Exporter'              => '5.58',
+            'Exporter::Heavy'       => '5.57',
+            'ExtUtils::Liblist::Kid'=> '1.3001',
+            'ExtUtils::MM_NW5'      => '2.07_02',
+            'ExtUtils::MM_Win95'    => '0.0301',
+            'File::Find'            => '1.07',
+            'IO::Handle'            => '1.24',
+            'IO::Pipe'              => '1.123',
+            'IPC::Open3'            => '1.0106',
+            'Locale::Maketext'      => '1.08',
+            'MIME::Base64'          => '3.01',
+            'MIME::QuotedPrint'     => '3.01',
+            'Math::BigFloat'        => '1.44',
+            'Math::BigInt'          => '1.70',
+            'Math::BigInt::Calc'    => '0.40',
+            'Math::BigInt::CalcEmu' => '0.04',
+            'Math::BigRat'          => '0.12',
+            'ODBM_File'             => '1.05',
+            'POSIX'                 => '1.08',
+            'Shell'                 => '0.5.2',
+            'Socket'                => '1.77',
+            'Storable'              => '2.12',
+            'Sys::Syslog'           => '0.05',
+            'Term::ANSIColor'       => '1.08',
+            'Time::HiRes'           => '1.59',
+            'Unicode'               => '4.0.1',
+            'Unicode::UCD'          => '0.22',
+            'base'                  => '2.05',
+            'bigint'                => '0.05',
+            'bignum'                => '0.15',
+            'charnames'             => '1.03',
+            'open'                  => '1.03',
+            'threads'               => '1.03',
+            'utf8'                  => '1.03',
+        },
+        removed => {
+        }
     },
-
     5.008005 => {
-        'AnyDBM_File'           => '1.00',  #lib/AnyDBM_File.pm
-        'attributes'            => '0.06',  #lib/attributes.pm
-        'AutoLoader'            => '5.60',  #lib/AutoLoader.pm
-        'AutoSplit'             => '1.04',  #lib/AutoSplit.pm
-        'autouse'               => '1.04',  #lib/autouse.pm
-        'base'                  => '2.06',  #lib/base.pm
-        'Benchmark'             => '1.06',  #lib/Benchmark.pm
-        'bigint'                => '0.05',  #lib/bigint.pm
-        'bignum'                => '0.15',  #lib/bignum.pm
-        'bigrat'                => '0.06',  #lib/bigrat.pm
-        'blib'                  => '1.02',  #lib/blib.pm
-        'bytes'                 => '1.01',  #lib/bytes.pm
-        'Carp'                  => '1.03',  #lib/Carp.pm
-        'CGI'                   => '3.05',  #lib/CGI.pm
-        'charnames'             => '1.04',  #lib/charnames.pm
-        'constant'              => '1.04',  #lib/constant.pm
-        'CPAN'                  => '1.76_01',  #lib/CPAN.pm
-        'Cwd'                   => '2.19',  #lib/Cwd.pm
-        'DBM_Filter'            => '0.01',  #lib/DBM_Filter.pm
-        'DB'                    => '1.0',  #lib/DB.pm
-        'diagnostics'           => '1.13',  #lib/diagnostics.pm
-        'Digest'                => '1.08',  #lib/Digest.pm
-        'DirHandle'             => '1.00',  #lib/DirHandle.pm
-        'Dumpvalue'             => '1.11',  #lib/Dumpvalue.pm
-        'English'               => '1.01',  #lib/English.pm
-        'Env'                   => '1.00',  #lib/Env.pm
-        'Exporter'              => '5.58',  #lib/Exporter.pm
-        'Fatal'                 => '1.03',  #lib/Fatal.pm
-        'fields'                => '2.03',  #lib/fields.pm
-        'FileCache'             => '1.04_01',  #lib/FileCache.pm
-        'FileHandle'            => '2.01',  #lib/FileHandle.pm
-        'filetest'              => '1.01',  #lib/filetest.pm
-        'FindBin'               => '1.44',  #lib/FindBin.pm
-        'if'                    => '0.03',  #lib/if.pm
-        'integer'               => '1.00',  #lib/integer.pm
-        'less'                  => '0.01',  #lib/less.pm
-        'locale'                => '1.00',  #lib/locale.pm
-        'Memoize'               => '1.01',  #lib/Memoize.pm
-        'NEXT'                  => '0.60',  #lib/NEXT.pm
-        'open'                  => '1.03',  #lib/open.pm
-        'overload'              => '1.01',  #lib/overload.pm
-        'PerlIO'                => '1.03',  #lib/PerlIO.pm
-        'SelectSaver'           => '1.00',  #lib/SelectSaver.pm
-        'SelfLoader'            => '1.0904',  #lib/SelfLoader.pm
-        'Shell'                 => '0.6',  #lib/Shell.pm
-        'sigtrap'               => '1.02',  #lib/sigtrap.pm
-        'sort'                  => '1.02',  #lib/sort.pm
-        'strict'                => '1.03',  #lib/strict.pm
-        'subs'                  => '1.00',  #lib/subs.pm
-        'Switch'                => '2.10',  #lib/Switch.pm
-        'Symbol'                => '1.05',  #lib/Symbol.pm
-        'Test'                  => '1.25',  #lib/Test.pm
-        'Thread'                => '2.00',  #lib/Thread.pm
-        'UNIVERSAL'             => '1.01',  #lib/UNIVERSAL.pm
-        'utf8'                  => '1.04',  #lib/utf8.pm
-        'vars'                  => '1.01',  #lib/vars.pm
-        'vmsish'                => '1.01',  #lib/vmsish.pm
-        'warnings'              => '1.03',  #lib/warnings.pm
-        'Config'                => undef,  #lib/Config.pm
-        'lib'                   => '0.5565',  #lib/lib.pm
-        're'                    => '0.04',  #lib/re.pm
-        'XSLoader'              => '0.02',  #lib/XSLoader.pm
-        'DynaLoader'            => '1.05',  #lib/DynaLoader.pm
-        'attrs'                 => '1.01',  #lib/attrs.pm
-        'B'                     => '1.02',  #lib/B.pm
-        'O'                     => '1.00',  #lib/O.pm
-        'ByteLoader'            => '0.05',  #lib/ByteLoader.pm
-        'DB_File'               => '1.809',  #lib/DB_File.pm
-        'Encode'                => '2.01',  #lib/Encode.pm
-        'encoding'              => '2.00',  #lib/encoding.pm
-        'Fcntl'                 => '1.05',  #lib/Fcntl.pm
-        'GDBM_File'             => '1.07',  #lib/GDBM_File.pm
-        'IO'                    => '1.21',  #lib/IO.pm
-        'NDBM_File'             => '1.05',  #lib/NDBM_File.pm
-        'Safe'                  => '2.11',  #lib/Safe.pm
-        'Opcode'                => '1.05',  #lib/Opcode.pm
-        'ops'                   => '1.00',  #lib/ops.pm
-        'POSIX'                 => '1.08',  #lib/POSIX.pm
-        'SDBM_File'             => '1.04',  #lib/SDBM_File.pm
-        'Socket'                => '1.77',  #lib/Socket.pm
-        'Storable'              => '2.13',  #lib/Storable.pm
-        'threads'               => '1.05',  #lib/threads.pm
-        'Errno'                 => '1.09_00',  #lib/Errno.pm
-        'Attribute::Handlers'   => '0.78_01',  #lib/Attribute/Handlers.pm
-        'Carp::Heavy'           => '1.01',  #lib/Carp/Heavy.pm
-        'CGI::Apache'           => '1.00',  #lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.28',  #lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.24',  #lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.05',  #lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.08',  #lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04',  #lib/CGI/Push.pm
-        'CGI::Switch'           => '1.00',  #lib/CGI/Switch.pm
-        'CGI::Util'             => '1.5',  #lib/CGI/Util.pm
-        'Class::ISA'            => '0.32',  #lib/Class/ISA.pm
-        'Class::Struct'         => '0.63',  #lib/Class/Struct.pm
-        'CPAN::FirstTime'       => '1.60 ',  #lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.03',  #lib/CPAN/Nox.pm
-        'DBM_Filter::compress'  => '0.01',  #lib/DBM_Filter/compress.pm
-        'DBM_Filter::encode'    => '0.01',  #lib/DBM_Filter/encode.pm
-        'DBM_Filter::int32'     => '0.01',  #lib/DBM_Filter/int32.pm
-        'DBM_Filter::null'      => '0.01',  #lib/DBM_Filter/null.pm
-        'DBM_Filter::utf8'      => '0.01',  #lib/DBM_Filter/utf8.pm
-        'Devel::SelfStubber'    => '1.03',  #lib/Devel/SelfStubber.pm
-        'Devel::DProf'          => '20030813.00',  #lib/Devel/DProf.pm
-        'Devel::Peek'           => '1.01',  #lib/Devel/Peek.pm
-        'Devel::PPPort'         => '2.011',  #lib/Devel/PPPort.pm
-        'Digest::base'          => '1.00',  #lib/Digest/base.pm
-        'Digest::MD5'           => '2.33',  #lib/Digest/MD5.pm
-        'Exporter::Heavy'       => '5.57',  #lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.05',  #lib/ExtUtils/Command.pm
-        'ExtUtils::Constant'    => '0.14',  #lib/ExtUtils/Constant.pm
-        'ExtUtils::Embed'       => '1.250601',  #lib/ExtUtils/Embed.pm
-        'ExtUtils::Installed'   => '0.08',  #lib/ExtUtils/Installed.pm
-        'ExtUtils::Install'     => '1.32',  #lib/ExtUtils/Install.pm
-        'ExtUtils::Liblist'     => '1.01',  #lib/ExtUtils/Liblist.pm
-        'ExtUtils::MakeMaker'   => '6.17',  #lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::Manifest'    => '1.42',  #lib/ExtUtils/Manifest.pm
-        'ExtUtils::Mkbootstrap' => '1.15',  #lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19',  #lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM_Any'      => '0.07',  #lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.04',  #lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.06',  #lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.02',  #lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.07',  #lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.07_02',  #lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM'          => '0.04',  #lib/ExtUtils/MM.pm
-        'ExtUtils::MM_OS2'      => '1.04',  #lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.42',  #lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.02',  #lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.70',  #lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.09',  #lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.0301',  #lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01',  #lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04',  #lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15',  #lib/ExtUtils/testlib.pm
-        'ExtUtils::Miniperl'    => undef,  #lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Command::MM' => '0.03',  #lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Liblist::Kid'=> '1.3001',  #lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker::bytes'=> '0.01',  #lib/ExtUtils/MakeMaker/bytes.pm
-        'ExtUtils::MakeMaker::vmsish'=> '0.01',  #lib/ExtUtils/MakeMaker/vmsish.pm
-        'File::Basename'        => '2.73',  #lib/File/Basename.pm
-        'File::CheckTree'       => '4.3',  #lib/File/CheckTree.pm
-        'File::Compare'         => '1.1003',  #lib/File/Compare.pm
-        'File::Copy'            => '2.08',  #lib/File/Copy.pm
-        'File::DosGlob'         => '1.00',  #lib/File/DosGlob.pm
-        'File::Find'            => '1.07',  #lib/File/Find.pm
-        'File::Path'            => '1.06',  #lib/File/Path.pm
-        'File::Spec'            => '0.87',  #lib/File/Spec.pm
-        'File::stat'            => '1.00',  #lib/File/stat.pm
-        'File::Temp'            => '0.14',  #lib/File/Temp.pm
-        'File::Glob'            => '1.03',  #lib/File/Glob.pm
-        'File::Spec::Cygwin'    => '1.1',  #lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.1',  #lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.3',  #lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.4',  #lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.2',  #lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.5',  #lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.4',  #lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.4',  #lib/File/Spec/Win32.pm
-        'Filter::Simple'        => '0.78',  #lib/Filter/Simple.pm
-        'Filter::Util::Call'    => '1.0601',  #lib/Filter/Util/Call.pm
-        'Getopt::Long'          => '2.34',  #lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.05',  #lib/Getopt/Std.pm
-        'Hash::Util'            => '0.05',  #lib/Hash/Util.pm
-        'I18N::Collate'         => '1.00',  #lib/I18N/Collate.pm
-        'I18N::LangTags'        => '0.33',  #lib/I18N/LangTags.pm
-        'I18N::Langinfo'        => '0.02',  #lib/I18N/Langinfo.pm
-        'I18N::LangTags::Detect'=> '1.03',  #lib/I18N/LangTags/Detect.pm
-        'I18N::LangTags::List'  => '0.29',  #lib/I18N/LangTags/List.pm
-        'IPC::Open2'            => '1.01',  #lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0106',  #lib/IPC/Open3.pm
-        'IPC::Msg'              => '1.02',  #lib/IPC/Msg.pm
-        'IPC::Semaphore'        => '1.02',  #lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.04',  #lib/IPC/SysV.pm
-        'Locale::Constants'     => '2.07',  #lib/Locale/Constants.pm
-        'Locale::Country'       => '2.07',  #lib/Locale/Country.pm
-        'Locale::Currency'      => '2.07',  #lib/Locale/Currency.pm
-        'Locale::Language'      => '2.07',  #lib/Locale/Language.pm
-        'Locale::Maketext'      => '1.09',  #lib/Locale/Maketext.pm
-        'Locale::Script'        => '2.07',  #lib/Locale/Script.pm
-        'Locale::Maketext::GutsLoader'=> undef,  #lib/Locale/Maketext/GutsLoader.pm
-        'Locale::Maketext::Guts'=> undef,  #lib/Locale/Maketext/Guts.pm
-        'Math::BigFloat'        => '1.44',  #lib/Math/BigFloat.pm
-        'Math::BigInt'          => '1.70',  #lib/Math/BigInt.pm
-        'Math::BigRat'          => '0.12',  #lib/Math/BigRat.pm
-        'Math::Complex'         => '1.34',  #lib/Math/Complex.pm
-        'Math::Trig'            => '1.02',  #lib/Math/Trig.pm
-        'Math::BigFloat::Trace' => '0.01',  #lib/Math/BigFloat/Trace.pm
-        'Math::BigInt::CalcEmu' => '0.04',  #lib/Math/BigInt/CalcEmu.pm
-        'Math::BigInt::Calc'    => '0.40',  #lib/Math/BigInt/Calc.pm
-        'Math::BigInt::Trace'   => '0.01',  #lib/Math/BigInt/Trace.pm
-        'Memoize::AnyDBM_File'  => '0.65',  #lib/Memoize/AnyDBM_File.pm
-        'Memoize::ExpireFile'   => '1.01',  #lib/Memoize/ExpireFile.pm
-        'Memoize::Expire'       => '1.00',  #lib/Memoize/Expire.pm
-        'Memoize::ExpireTest'   => '0.65',  #lib/Memoize/ExpireTest.pm
-        'Memoize::NDBM_File'    => '0.65',  #lib/Memoize/NDBM_File.pm
-        'Memoize::SDBM_File'    => '0.65',  #lib/Memoize/SDBM_File.pm
-        'Memoize::Storable'     => '0.65',  #lib/Memoize/Storable.pm
-        'Net::Cmd'              => '2.26',  #lib/Net/Cmd.pm
-        'Net::Config'           => '1.10',  #lib/Net/Config.pm
-        'Net::Domain'           => '2.19',  #lib/Net/Domain.pm
-        'Net::FTP'              => '2.75',  #lib/Net/FTP.pm
-        'Net::hostent'          => '1.01',  #lib/Net/hostent.pm
-        'Net::netent'           => '1.00',  #lib/Net/netent.pm
-        'Net::Netrc'            => '2.12',  #lib/Net/Netrc.pm
-        'Net::NNTP'             => '2.23',  #lib/Net/NNTP.pm
-        'Net::Ping'             => '2.31',  #lib/Net/Ping.pm
-        'Net::POP3'             => '2.28',  #lib/Net/POP3.pm
-        'Net::protoent'         => '1.00',  #lib/Net/protoent.pm
-        'Net::servent'          => '1.01',  #lib/Net/servent.pm
-        'Net::SMTP'             => '2.29',  #lib/Net/SMTP.pm
-        'Net::Time'             => '2.10',  #lib/Net/Time.pm
-        'Net::FTP::A'           => '1.16',  #lib/Net/FTP/A.pm
-        'Net::FTP::dataconn'    => '0.11',  #lib/Net/FTP/dataconn.pm
-        'Net::FTP::E'           => '0.01',  #lib/Net/FTP/E.pm
-        'Net::FTP::I'           => '1.12',  #lib/Net/FTP/I.pm
-        'Net::FTP::L'           => '0.01',  #lib/Net/FTP/L.pm
-        'PerlIO::encoding'      => '0.07',  #lib/PerlIO/encoding.pm
-        'PerlIO::scalar'        => '0.02',  #lib/PerlIO/scalar.pm
-        'PerlIO::via'           => '0.02',  #lib/PerlIO/via.pm
-        'PerlIO::via::QuotedPrint'=> '0.06',  #lib/PerlIO/via/QuotedPrint.pm
-        'Pod::Checker'          => '1.42',  #lib/Pod/Checker.pm
-        'Pod::Find'             => '0.2401',  #lib/Pod/Find.pm
-        'Pod::Functions'        => '1.02',  #lib/Pod/Functions.pm
-        'Pod::Html'             => '1.0502',  #lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.14',  #lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.56',  #lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.37',  #lib/Pod/Man.pm
-        'Pod::ParseLink'        => '1.06',  #lib/Pod/ParseLink.pm
-        'Pod::Parser'           => '1.14',  #lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '1.2',  #lib/Pod/ParseUtils.pm
-        'Pod::Perldoc'          => '3.13',  #lib/Pod/Perldoc.pm
-        'Pod::Plainer'          => '0.01',  #lib/Pod/Plainer.pm
-        'Pod::PlainText'        => '2.02',  #lib/Pod/PlainText.pm
-        'Pod::Select'           => '1.13',  #lib/Pod/Select.pm
-        'Pod::Text'             => '2.21',  #lib/Pod/Text.pm
-        'Pod::Usage'            => '1.16',  #lib/Pod/Usage.pm
-        'Pod::Perldoc::BaseTo'  => undef,  #lib/Pod/Perldoc/BaseTo.pm
-        'Pod::Perldoc::GetOptsOO'=> undef,  #lib/Pod/Perldoc/GetOptsOO.pm
-        'Pod::Perldoc::ToChecker'=> undef,  #lib/Pod/Perldoc/ToChecker.pm
-        'Pod::Perldoc::ToMan'   => undef,  #lib/Pod/Perldoc/ToMan.pm
-        'Pod::Perldoc::ToNroff' => undef,  #lib/Pod/Perldoc/ToNroff.pm
-        'Pod::Perldoc::ToPod'   => undef,  #lib/Pod/Perldoc/ToPod.pm
-        'Pod::Perldoc::ToRtf'   => undef,  #lib/Pod/Perldoc/ToRtf.pm
-        'Pod::Perldoc::ToText'  => undef,  #lib/Pod/Perldoc/ToText.pm
-        'Pod::Perldoc::ToTk'    => 'undef',  #lib/Pod/Perldoc/ToTk.pm
-        'Pod::Perldoc::ToXml'   => undef,  #lib/Pod/Perldoc/ToXml.pm
-        'Pod::Text::Color'      => '1.04',  #lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.1',  #lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1.11',  #lib/Pod/Text/Termcap.pm
-        'Search::Dict'          => '1.02',  #lib/Search/Dict.pm
-        'Term::ANSIColor'       => '1.08',  #lib/Term/ANSIColor.pm
-        'Term::Cap'             => '1.09',  #lib/Term/Cap.pm
-        'Term::Complete'        => '1.401',  #lib/Term/Complete.pm
-        'Term::ReadLine'        => '1.01',  #lib/Term/ReadLine.pm
-        'Test::Builder'         => '0.17',  #lib/Test/Builder.pm
-        'Test::Harness'         => '2.42',  #lib/Test/Harness.pm
-        'Test::More'            => '0.47',  #lib/Test/More.pm
-        'Test::Simple'          => '0.47',  #lib/Test/Simple.pm
-        'Test::Harness::Assert' => '0.02',  #lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.02',  #lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.19',  #lib/Test/Harness/Straps.pm
-        'Text::Abbrev'          => '1.01',  #lib/Text/Abbrev.pm
-        'Text::Balanced'        => '1.95',  #lib/Text/Balanced.pm
-        'Text::ParseWords'      => '3.22',  #lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.01',  #lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801',  #lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.09292',  #lib/Text/Wrap.pm
-        'Thread::Queue'         => '2.00',  #lib/Thread/Queue.pm
-        'Thread::Semaphore'     => '2.01',  #lib/Thread/Semaphore.pm
-        'Tie::Array'            => '1.03',  #lib/Tie/Array.pm
-        'Tie::File'             => '0.97',  #lib/Tie/File.pm
-        'Tie::Handle'           => '4.1',  #lib/Tie/Handle.pm
-        'Tie::Hash'             => '1.01',  #lib/Tie/Hash.pm
-        'Tie::Memoize'          => '1.0',  #lib/Tie/Memoize.pm
-        'Tie::RefHash'          => '1.31',  #lib/Tie/RefHash.pm
-        'Tie::Scalar'           => '1.00',  #lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => '1.00',  #lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.02',  #lib/Time/gmtime.pm
-        'Time::Local'           => '1.10',  #lib/Time/Local.pm
-        'Time::localtime'       => '1.02',  #lib/Time/localtime.pm
-        'Time::tm'              => '1.00',  #lib/Time/tm.pm
-        'Time::HiRes'           => '1.59',  #lib/Time/HiRes.pm
-        'Unicode'               => '4.0.1', # lib/unicore/version
-        'Unicode::Collate'      => '0.40',  #lib/Unicode/Collate.pm
-        'Unicode::UCD'          => '0.22',  #lib/Unicode/UCD.pm
-        'Unicode::Normalize'    => '0.30',  #lib/Unicode/Normalize.pm
-        'User::grent'           => '1.00',  #lib/User/grent.pm
-        'User::pwent'           => '1.00',  #lib/User/pwent.pm
-        'warnings::register'    => '1.00',  #lib/warnings/register.pm
-        'B::Stash'              => '1.00',  #lib/B/Stash.pm
-        'B::Asmdata'            => '1.01',  #lib/B/Asmdata.pm
-        'B::C'                  => '1.02',  #lib/B/C.pm
-        'B::Deparse'            => '0.67',  #lib/B/Deparse.pm
-        'B::Debug'              => '1.01',  #lib/B/Debug.pm
-        'B::Bblock'             => '1.02',  #lib/B/Bblock.pm
-        'B::Assembler'          => '0.07',  #lib/B/Assembler.pm
-        'B::Terse'              => '1.02',  #lib/B/Terse.pm
-        'B::CC'                 => '1.00',  #lib/B/CC.pm
-        'B::Concise'            => '0.61',  #lib/B/Concise.pm
-        'B::Lint'               => '1.02',  #lib/B/Lint.pm
-        'B::Showlex'            => '1.00',  #lib/B/Showlex.pm
-        'B::Bytecode'           => '1.01',  #lib/B/Bytecode.pm
-        'B::Disassembler'       => '1.03',  #lib/B/Disassembler.pm
-        'B::Xref'               => '1.01',  #lib/B/Xref.pm
-        'B::Stackobj'           => '1.00',  #lib/B/Stackobj.pm
-        'Data::Dumper'          => '2.121',  #lib/Data/Dumper.pm
-        'Encode::Alias'         => '2.00',  #lib/Encode/Alias.pm
-        'Encode::Encoding'      => '2.00',  #lib/Encode/Encoding.pm
-        'Encode::Guess'         => '2.00',  #lib/Encode/Guess.pm
-        'Encode::Config'        => '2.00',  #lib/Encode/Config.pm
-        'Encode::Encoder'       => '2.00',  #lib/Encode/Encoder.pm
-        'Encode::CJKConstants'  => '2.00',  #lib/Encode/CJKConstants.pm
-        'Encode::Byte'          => '2.00',  #lib/Encode/Byte.pm
-        'Encode::CN'            => '2.00',  #lib/Encode/CN.pm
-        'Encode::EBCDIC'        => '2.00',  #lib/Encode/EBCDIC.pm
-        'Encode::JP'            => '2.00',  #lib/Encode/JP.pm
-        'Encode::KR'            => '2.00',  #lib/Encode/KR.pm
-        'Encode::Symbol'        => '2.00',  #lib/Encode/Symbol.pm
-        'Encode::TW'            => '2.00',  #lib/Encode/TW.pm
-        'Encode::Unicode'       => '2.00',  #lib/Encode/Unicode.pm
-        'Encode::JP::H2Z'       => '2.00',  #lib/Encode/JP/H2Z.pm
-        'Encode::JP::JIS7'      => '2.00',  #lib/Encode/JP/JIS7.pm
-        'Encode::Unicode::UTF7' => '2.01',  #lib/Encode/Unicode/UTF7.pm
-        'Encode::KR::2022_KR'   => '2.00',  #lib/Encode/KR/2022_KR.pm
-        'Encode::MIME::Header'  => '2.00',  #lib/Encode/MIME/Header.pm
-        'Encode::CN::HZ'        => '2.01',  #lib/Encode/CN/HZ.pm
-        'IO::Pipe'              => '1.123',  #lib/IO/Pipe.pm
-        'IO::File'              => '1.10',  #lib/IO/File.pm
-        'IO::Select'            => '1.16',  #lib/IO/Select.pm
-        'IO::Socket'            => '1.28',  #lib/IO/Socket.pm
-        'IO::Poll'              => '0.06',  #lib/IO/Poll.pm
-        'IO::Dir'               => '1.04',  #lib/IO/Dir.pm
-        'IO::Handle'            => '1.24',  #lib/IO/Handle.pm
-        'IO::Seekable'          => '1.09',  #lib/IO/Seekable.pm
-        'IO::Socket::INET'      => '1.27',  #lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.21',  #lib/IO/Socket/UNIX.pm
-        'List::Util'            => '1.14',  #lib/List/Util.pm
-        'Scalar::Util'          => '1.14',  #lib/Scalar/Util.pm
-        'MIME::QuotedPrint'     => '3.01',  #lib/MIME/QuotedPrint.pm
-        'MIME::Base64'          => '3.01',  #lib/MIME/Base64.pm
-        'Sys::Hostname'         => '1.11',  #lib/Sys/Hostname.pm
-        'Sys::Syslog'           => '0.05',  #lib/Sys/Syslog.pm
-        'XS::APItest'           => '0.04',  #lib/XS/APItest.pm
-        'XS::Typemap'           => '0.01',  #lib/XS/Typemap.pm
-        'threads::shared'       => '0.92',  #lib/threads/shared.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #vms/ext/XSSymSet.pm
-        'JNI'                   => '0.2',  #jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef,  #jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef,  #jpl/JPL/Class.pm
-        'JPL::Compile'          => undef,  #jpl/JPL/Compile.pm
-        'ODBM_File'             => '1.05',  #ext/ODBM_File/ODBM_File.pm
-        'OS2::DLL'              => '1.02',  #os2/OS2/REXX/DLL/DLL.pm
-        'OS2::ExtAttr'          => '0.02',  #os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.03',  #os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '1.01',  #os2/OS2/Process/Process.pm
-        'OS2::REXX'             => '1.02',  #os2/OS2/REXX/REXX.pm
-        'Thread::Signal'        => '1.00', #./ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => '1.00', #./ext/Thread/Thread/Specific.pm
-        'VMS::DCLsym'           => '1.02',  #vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => '1.11',  #vms/ext/Filespec.pm
-        'VMS::Stdio'            => '2.3',  #vms/ext/Stdio/Stdio.pm
+        delta_from => 5.008004,
+        changed => {
+            'B::Concise'            => '0.61',
+            'B::Deparse'            => '0.67',
+            'CGI'                   => '3.05',
+            'CGI::Carp'             => '1.28',
+            'CGI::Util'             => '1.5',
+            'Carp'                  => '1.03',
+            'Carp::Heavy'           => '1.03',
+            'Cwd'                   => '2.19',
+            'DB_File'               => '1.809',
+            'Digest'                => '1.08',
+            'Encode'                => '2.01',
+            'Encode::Alias'         => '2.00',
+            'Encode::Byte'          => '2.00',
+            'Encode::CJKConstants'  => '2.00',
+            'Encode::CN'            => '2.00',
+            'Encode::CN::HZ'        => '2.01',
+            'Encode::Config'        => '2.00',
+            'Encode::EBCDIC'        => '2.00',
+            'Encode::Encoder'       => '2.00',
+            'Encode::Encoding'      => '2.00',
+            'Encode::Guess'         => '2.00',
+            'Encode::JP'            => '2.00',
+            'Encode::JP::H2Z'       => '2.00',
+            'Encode::JP::JIS7'      => '2.00',
+            'Encode::KR'            => '2.00',
+            'Encode::KR::2022_KR'   => '2.00',
+            'Encode::MIME::Header'  => '2.00',
+            'Encode::Symbol'        => '2.00',
+            'Encode::TW'            => '2.00',
+            'Encode::Unicode'       => '2.00',
+            'Encode::Unicode::UTF7' => '2.01',
+            'File::Basename'        => '2.73',
+            'File::Copy'            => '2.08',
+            'File::Glob'            => '1.03',
+            'FileCache'             => '1.04_01',
+            'I18N::LangTags'        => '0.33',
+            'I18N::LangTags::Detect'=> '1.03',
+            'List::Util'            => '1.14',
+            'Locale::Constants'     => '2.07',
+            'Locale::Country'       => '2.07',
+            'Locale::Currency'      => '2.07',
+            'Locale::Language'      => '2.07',
+            'Locale::Maketext'      => '1.09',
+            'Locale::Script'        => '2.07',
+            'Net::Cmd'              => '2.26',
+            'Net::FTP'              => '2.75',
+            'Net::NNTP'             => '2.23',
+            'Net::POP3'             => '2.28',
+            'Net::SMTP'             => '2.29',
+            'Net::Time'             => '2.10',
+            'Pod::Checker'          => '1.42',
+            'Pod::Find'             => '0.2401',
+            'Pod::LaTeX'            => '0.56',
+            'Pod::ParseUtils'       => '1.2',
+            'Pod::Perldoc'          => '3.13',
+            'Safe'                  => '2.11',
+            'Scalar::Util'          => '1.14',
+            'Shell'                 => '0.6',
+            'Storable'              => '2.13',
+            'Term::Cap'             => '1.09',
+            'Test'                  => '1.25',
+            'Test::Harness'         => '2.42',
+            'Text::ParseWords'      => '3.22',
+            'Text::Wrap'            => '2001.09292',
+            'Time::Local'           => '1.10',
+            'Unicode::Collate'      => '0.40',
+            'Unicode::Normalize'    => '0.30',
+            'XS::APItest'           => '0.04',
+            'autouse'               => '1.04',
+            'base'                  => '2.06',
+            'charnames'             => '1.04',
+            'diagnostics'           => '1.13',
+            'encoding'              => '2.00',
+            'threads'               => '1.05',
+            'utf8'                  => '1.04',
+        },
+        removed => {
+        }
     },
-
     5.008006 => {
-        'AnyDBM_File'           => '1.00',  #lib/AnyDBM_File.pm
-        'Attribute::Handlers'   => '0.78_01',  #lib/Attribute/Handlers.pm
-        'attributes'            => '0.06',  #lib/attributes.pm
-        'attrs'                 => '1.01',  #lib/attrs.pm
-        'AutoLoader'            => '5.60',  #lib/AutoLoader.pm
-        'AutoSplit'             => '1.04',  #lib/AutoSplit.pm
-        'autouse'               => '1.04',  #lib/autouse.pm
-        'B'                     => '1.07',  #lib/B.pm
-        'base'                  => '2.06',  #lib/base.pm
-        'B::Asmdata'            => '1.01',  #lib/B/Asmdata.pm
-        'B::Assembler'          => '0.07',  #lib/B/Assembler.pm
-        'B::Bblock'             => '1.02',  #lib/B/Bblock.pm
-        'B::Bytecode'           => '1.01',  #lib/B/Bytecode.pm
-        'B::C'                  => '1.04',  #lib/B/C.pm
-        'B::CC'                 => '1.00',  #lib/B/CC.pm
-        'B::Concise'            => '0.64',  #lib/B/Concise.pm
-        'B::Debug'              => '1.02',  #lib/B/Debug.pm
-        'B::Deparse'            => '0.69',  #lib/B/Deparse.pm
-        'B::Disassembler'       => '1.03',  #lib/B/Disassembler.pm
-        'Benchmark'             => '1.06',  #lib/Benchmark.pm
-        'bigint'                => '0.05',  #lib/bigint.pm
-        'bignum'                => '0.15',  #lib/bignum.pm
-        'bigrat'                => '0.06',  #lib/bigrat.pm
-        'blib'                  => '1.02',  #lib/blib.pm
-        'B::Lint'               => '1.03',  #lib/B/Lint.pm
-        'B::Showlex'            => '1.02',  #lib/B/Showlex.pm
-        'B::Stackobj'           => '1.00',  #lib/B/Stackobj.pm
-        'B::Stash'              => '1.00',  #lib/B/Stash.pm
-        'B::Terse'              => '1.02',  #lib/B/Terse.pm
-        'B::Xref'               => '1.01',  #lib/B/Xref.pm
-        'ByteLoader'            => '0.05',  #lib/ByteLoader.pm
-        'bytes'                 => '1.01',  #lib/bytes.pm
-        'Carp'                  => '1.03',  #lib/Carp.pm
-        'Carp::Heavy'           => '1.03',  #lib/Carp/Heavy.pm
-        'CGI'                   => '3.05',  #lib/CGI.pm
-        'CGI::Apache'           => '1.00',  #lib/CGI/Apache.pm
-        'CGI::Carp'             => '1.28',  #lib/CGI/Carp.pm
-        'CGI::Cookie'           => '1.24',  #lib/CGI/Cookie.pm
-        'CGI::Fast'             => '1.05',  #lib/CGI/Fast.pm
-        'CGI::Pretty'           => '1.08',  #lib/CGI/Pretty.pm
-        'CGI::Push'             => '1.04',  #lib/CGI/Push.pm
-        'CGI::Switch'           => '1.00',  #lib/CGI/Switch.pm
-        'CGI::Util'             => '1.5',  #lib/CGI/Util.pm
-        'charnames'             => '1.04',  #lib/charnames.pm
-        'Class::ISA'            => '0.32',  #lib/Class/ISA.pm
-        'Class::Struct'         => '0.63',  #lib/Class/Struct.pm
-        'Config'                => undef,  #lib/Config.pm
-        'constant'              => '1.04',  #lib/constant.pm
-        'CPAN'                  => '1.76_01',  #lib/CPAN.pm
-        'CPAN::FirstTime'       => '1.60 ',  #lib/CPAN/FirstTime.pm
-        'CPAN::Nox'             => '1.03',  #lib/CPAN/Nox.pm
-        'Cwd'                   => '3.01',  #lib/Cwd.pm
-        'Data::Dumper'          => '2.121_02',  #lib/Data/Dumper.pm
-        'DB'                    => '1.0',  #lib/DB.pm
-        'DB_File'               => '1.810',  #lib/DB_File.pm
-        'DBM_Filter'            => '0.01',  #lib/DBM_Filter.pm
-        'DBM_Filter::compress'  => '0.01',  #lib/DBM_Filter/compress.pm
-        'DBM_Filter::encode'    => '0.01',  #lib/DBM_Filter/encode.pm
-        'DBM_Filter::int32'     => '0.01',  #lib/DBM_Filter/int32.pm
-        'DBM_Filter::null'      => '0.01',  #lib/DBM_Filter/null.pm
-        'DBM_Filter::utf8'      => '0.01',  #lib/DBM_Filter/utf8.pm
-        'Devel::DProf'          => '20030813.00',  #lib/Devel/DProf.pm
-        'Devel::Peek'           => '1.02',  #lib/Devel/Peek.pm
-        'Devel::PPPort'         => '3.03',  #lib/Devel/PPPort.pm
-        'Devel::SelfStubber'    => '1.03',  #lib/Devel/SelfStubber.pm
-        'diagnostics'           => '1.14',  #lib/diagnostics.pm
-        'Digest'                => '1.08',  #lib/Digest.pm
-        'Digest::base'          => '1.00',  #lib/Digest/base.pm
-        'Digest::MD5'           => '2.33',  #lib/Digest/MD5.pm
-        'DirHandle'             => '1.00',  #lib/DirHandle.pm
-        'Dumpvalue'             => '1.11',  #lib/Dumpvalue.pm
-        'DynaLoader'            => '1.05',  #lib/DynaLoader.pm
-        'Encode'                => '2.08',  #lib/Encode.pm
-        'Encode::Alias'         => '2.02',  #lib/Encode/Alias.pm
-        'Encode::Byte'          => '2.00',  #lib/Encode/Byte.pm
-        'Encode::CJKConstants'  => '2.00',  #lib/Encode/CJKConstants.pm
-        'Encode::CN'            => '2.00',  #lib/Encode/CN.pm
-        'Encode::CN::HZ'        => '2.01',  #lib/Encode/CN/HZ.pm
-        'Encode::Config'        => '2.00',  #lib/Encode/Config.pm
-        'Encode::EBCDIC'        => '2.00',  #lib/Encode/EBCDIC.pm
-        'Encode::Encoder'       => '2.00',  #lib/Encode/Encoder.pm
-        'Encode::Encoding'      => '2.02',  #lib/Encode/Encoding.pm
-        'Encode::Guess'         => '2.00',  #lib/Encode/Guess.pm
-        'Encode::JP'            => '2.01',  #lib/Encode/JP.pm
-        'Encode::JP::H2Z'       => '2.00',  #lib/Encode/JP/H2Z.pm
-        'Encode::JP::JIS7'      => '2.00',  #lib/Encode/JP/JIS7.pm
-        'Encode::KR'            => '2.00',  #lib/Encode/KR.pm
-        'Encode::KR::2022_KR'   => '2.00',  #lib/Encode/KR/2022_KR.pm
-        'Encode::MIME::Header'  => '2.00',  #lib/Encode/MIME/Header.pm
-        'Encode::Symbol'        => '2.00',  #lib/Encode/Symbol.pm
-        'Encode::TW'            => '2.00',  #lib/Encode/TW.pm
-        'Encode::Unicode'       => '2.02',  #lib/Encode/Unicode.pm
-        'Encode::Unicode::UTF7' => '2.01',  #lib/Encode/Unicode/UTF7.pm
-        'encoding'              => '2.01',  #lib/encoding.pm
-        'English'               => '1.01',  #lib/English.pm
-        'Env'                   => '1.00',  #lib/Env.pm
-        'Errno'                 => '1.09_00',  #lib/Errno.pm
-        'Exporter'              => '5.58',  #lib/Exporter.pm
-        'Exporter::Heavy'       => '5.58',  #lib/Exporter/Heavy.pm
-        'ExtUtils::Command'     => '1.05',  #lib/ExtUtils/Command.pm
-        'ExtUtils::Command::MM' => '0.03',  #lib/ExtUtils/Command/MM.pm
-        'ExtUtils::Constant'    => '0.1401',  #lib/ExtUtils/Constant.pm
-        'ExtUtils::Embed'       => '1.250601',  #lib/ExtUtils/Embed.pm
-        'ExtUtils::Install'     => '1.32',  #lib/ExtUtils/Install.pm
-        'ExtUtils::Installed'   => '0.08',  #lib/ExtUtils/Installed.pm
-        'ExtUtils::Liblist'     => '1.01',  #lib/ExtUtils/Liblist.pm
-        'ExtUtils::Liblist::Kid'=> '1.3001',  #lib/ExtUtils/Liblist/Kid.pm
-        'ExtUtils::MakeMaker'   => '6.17',  #lib/ExtUtils/MakeMaker.pm
-        'ExtUtils::MakeMaker::bytes'=> '0.01',  #lib/ExtUtils/MakeMaker/bytes.pm
-        'ExtUtils::MakeMaker::vmsish'=> '0.01',  #lib/ExtUtils/MakeMaker/vmsish.pm
-        'ExtUtils::Manifest'    => '1.42',  #lib/ExtUtils/Manifest.pm
-        'ExtUtils::Miniperl'    => undef,  #lib/ExtUtils/Miniperl.pm
-        'ExtUtils::Mkbootstrap' => '1.15',  #lib/ExtUtils/Mkbootstrap.pm
-        'ExtUtils::Mksymlists'  => '1.19',  #lib/ExtUtils/Mksymlists.pm
-        'ExtUtils::MM'          => '0.04',  #lib/ExtUtils/MM.pm
-        'ExtUtils::MM_Any'      => '0.07',  #lib/ExtUtils/MM_Any.pm
-        'ExtUtils::MM_BeOS'     => '1.04',  #lib/ExtUtils/MM_BeOS.pm
-        'ExtUtils::MM_Cygwin'   => '1.06',  #lib/ExtUtils/MM_Cygwin.pm
-        'ExtUtils::MM_DOS'      => '0.02',  #lib/ExtUtils/MM_DOS.pm
-        'ExtUtils::MM_MacOS'    => '1.07',  #lib/ExtUtils/MM_MacOS.pm
-        'ExtUtils::MM_NW5'      => '2.07_02',  #lib/ExtUtils/MM_NW5.pm
-        'ExtUtils::MM_OS2'      => '1.04',  #lib/ExtUtils/MM_OS2.pm
-        'ExtUtils::MM_Unix'     => '1.42',  #lib/ExtUtils/MM_Unix.pm
-        'ExtUtils::MM_UWIN'     => '0.02',  #lib/ExtUtils/MM_UWIN.pm
-        'ExtUtils::MM_VMS'      => '5.70',  #lib/ExtUtils/MM_VMS.pm
-        'ExtUtils::MM_Win32'    => '1.09',  #lib/ExtUtils/MM_Win32.pm
-        'ExtUtils::MM_Win95'    => '0.0301',  #lib/ExtUtils/MM_Win95.pm
-        'ExtUtils::MY'          => '0.01',  #lib/ExtUtils/MY.pm
-        'ExtUtils::Packlist'    => '0.04',  #lib/ExtUtils/Packlist.pm
-        'ExtUtils::testlib'     => '1.15',  #lib/ExtUtils/testlib.pm
-        'ExtUtils::XSSymSet'    => '1.0',  #vms/ext/XSSymSet.pm
-        'Fatal'                 => '1.03',  #lib/Fatal.pm
-        'Fcntl'                 => '1.05',  #lib/Fcntl.pm
-        'fields'                => '2.03',  #lib/fields.pm
-        'File::Basename'        => '2.73',  #lib/File/Basename.pm
-        'FileCache'             => '1.04_01',  #lib/FileCache.pm
-        'File::CheckTree'       => '4.3',  #lib/File/CheckTree.pm
-        'File::Compare'         => '1.1003',  #lib/File/Compare.pm
-        'File::Copy'            => '2.08',  #lib/File/Copy.pm
-        'File::DosGlob'         => '1.00',  #lib/File/DosGlob.pm
-        'File::Find'            => '1.07',  #lib/File/Find.pm
-        'File::Glob'            => '1.03',  #lib/File/Glob.pm
-        'FileHandle'            => '2.01',  #lib/FileHandle.pm
-        'File::Path'            => '1.06',  #lib/File/Path.pm
-        'File::Spec'            => '3.01',  #lib/File/Spec.pm
-        'File::Spec::Cygwin'    => '1.1',  #lib/File/Spec/Cygwin.pm
-        'File::Spec::Epoc'      => '1.1',  #lib/File/Spec/Epoc.pm
-        'File::Spec::Functions' => '1.3',  #lib/File/Spec/Functions.pm
-        'File::Spec::Mac'       => '1.4',  #lib/File/Spec/Mac.pm
-        'File::Spec::OS2'       => '1.2',  #lib/File/Spec/OS2.pm
-        'File::Spec::Unix'      => '1.5',  #lib/File/Spec/Unix.pm
-        'File::Spec::VMS'       => '1.4',  #lib/File/Spec/VMS.pm
-        'File::Spec::Win32'     => '1.5',  #lib/File/Spec/Win32.pm
-        'File::stat'            => '1.00',  #lib/File/stat.pm
-        'File::Temp'            => '0.14',  #lib/File/Temp.pm
-        'filetest'              => '1.01',  #lib/filetest.pm
-        'Filter::Simple'        => '0.78',  #lib/Filter/Simple.pm
-        'Filter::Util::Call'    => '1.0601',  #lib/Filter/Util/Call.pm
-        'FindBin'               => '1.44',  #lib/FindBin.pm
-        'GDBM_File'             => '1.07',  #lib/GDBM_File.pm
-        'Getopt::Long'          => '2.34',  #lib/Getopt/Long.pm
-        'Getopt::Std'           => '1.05',  #lib/Getopt/Std.pm
-        'Hash::Util'            => '0.05',  #lib/Hash/Util.pm
-        'I18N::Collate'         => '1.00',  #lib/I18N/Collate.pm
-        'I18N::Langinfo'        => '0.02',  #lib/I18N/Langinfo.pm
-        'I18N::LangTags'        => '0.35',  #lib/I18N/LangTags.pm
-        'I18N::LangTags::Detect'=> '1.03',  #lib/I18N/LangTags/Detect.pm
-        'I18N::LangTags::List'  => '0.35',  #lib/I18N/LangTags/List.pm
-        'if'                    => '0.03',  #lib/if.pm
-        'integer'               => '1.00',  #lib/integer.pm
-        'IO'                    => '1.21',  #lib/IO.pm
-        'IO::Dir'               => '1.04',  #lib/IO/Dir.pm
-        'IO::File'              => '1.10',  #lib/IO/File.pm
-        'IO::Handle'            => '1.24',  #lib/IO/Handle.pm
-        'IO::Pipe'              => '1.123',  #lib/IO/Pipe.pm
-        'IO::Poll'              => '0.06',  #lib/IO/Poll.pm
-        'IO::Seekable'          => '1.09',  #lib/IO/Seekable.pm
-        'IO::Select'            => '1.16',  #lib/IO/Select.pm
-        'IO::Socket'            => '1.28',  #lib/IO/Socket.pm
-        'IO::Socket::INET'      => '1.27',  #lib/IO/Socket/INET.pm
-        'IO::Socket::UNIX'      => '1.21',  #lib/IO/Socket/UNIX.pm
-        'IPC::Msg'              => '1.02',  #lib/IPC/Msg.pm
-        'IPC::Open2'            => '1.01',  #lib/IPC/Open2.pm
-        'IPC::Open3'            => '1.0106',  #lib/IPC/Open3.pm
-        'IPC::Semaphore'        => '1.02',  #lib/IPC/Semaphore.pm
-        'IPC::SysV'             => '1.04',  #lib/IPC/SysV.pm
-        'JNI'                   => '0.2',  #jpl/JNI/JNI.pm
-        'JPL::AutoLoader'       => undef,  #jpl/JPL/AutoLoader.pm
-        'JPL::Class'            => undef,  #jpl/JPL/Class.pm
-        'JPL::Compile'          => undef,  #jpl/JPL/Compile.pm
-        'less'                  => '0.01',  #lib/less.pm
-        'lib'                   => '0.5565',  #lib/lib.pm
-        'List::Util'            => '1.14',  #lib/List/Util.pm
-        'locale'                => '1.00',  #lib/locale.pm
-        'Locale::Constants'     => '2.07',  #lib/Locale/Constants.pm
-        'Locale::Country'       => '2.07',  #lib/Locale/Country.pm
-        'Locale::Currency'      => '2.07',  #lib/Locale/Currency.pm
-        'Locale::Language'      => '2.07',  #lib/Locale/Language.pm
-        'Locale::Maketext'      => '1.09',  #lib/Locale/Maketext.pm
-        'Locale::Maketext::GutsLoader'=> undef,  #lib/Locale/Maketext/GutsLoader.pm
-        'Locale::Maketext::Guts'=> undef,  #lib/Locale/Maketext/Guts.pm
-        'Locale::Script'        => '2.07',  #lib/Locale/Script.pm
-        'Math::BigFloat'        => '1.47',  #lib/Math/BigFloat.pm
-        'Math::BigFloat::Trace' => '0.01',  #lib/Math/BigFloat/Trace.pm
-        'Math::BigInt'          => '1.73',  #lib/Math/BigInt.pm
-        'Math::BigInt::Calc'    => '0.43',  #lib/Math/BigInt/Calc.pm
-        'Math::BigInt::CalcEmu' => '0.04',  #lib/Math/BigInt/CalcEmu.pm
-        'Math::BigInt::Trace'   => '0.01',  #lib/Math/BigInt/Trace.pm
-        'Math::BigRat'          => '0.13',  #lib/Math/BigRat.pm
-        'Math::Complex'         => '1.34',  #lib/Math/Complex.pm
-        'Math::Trig'            => '1.02',  #lib/Math/Trig.pm
-        'Memoize'               => '1.01',  #lib/Memoize.pm
-        'Memoize::AnyDBM_File'  => '0.65',  #lib/Memoize/AnyDBM_File.pm
-        'Memoize::Expire'       => '1.00',  #lib/Memoize/Expire.pm
-        'Memoize::ExpireFile'   => '1.01',  #lib/Memoize/ExpireFile.pm
-        'Memoize::ExpireTest'   => '0.65',  #lib/Memoize/ExpireTest.pm
-        'Memoize::NDBM_File'    => '0.65',  #lib/Memoize/NDBM_File.pm
-        'Memoize::SDBM_File'    => '0.65',  #lib/Memoize/SDBM_File.pm
-        'Memoize::Storable'     => '0.65',  #lib/Memoize/Storable.pm
-        'MIME::Base64'          => '3.05',  #lib/MIME/Base64.pm
-        'MIME::QuotedPrint'     => '3.03',  #lib/MIME/QuotedPrint.pm
-        'NDBM_File'             => '1.05',  #lib/NDBM_File.pm
-        'Net::Cmd'              => '2.26',  #lib/Net/Cmd.pm
-        'Net::Config'           => '1.10',  #lib/Net/Config.pm
-        'Net::Domain'           => '2.19',  #lib/Net/Domain.pm
-        'Net::FTP'              => '2.75',  #lib/Net/FTP.pm
-        'Net::FTP::A'           => '1.16',  #lib/Net/FTP/A.pm
-        'Net::FTP::dataconn'    => '0.11',  #lib/Net/FTP/dataconn.pm
-        'Net::FTP::E'           => '0.01',  #lib/Net/FTP/E.pm
-        'Net::FTP::I'           => '1.12',  #lib/Net/FTP/I.pm
-        'Net::FTP::L'           => '0.01',  #lib/Net/FTP/L.pm
-        'Net::hostent'          => '1.01',  #lib/Net/hostent.pm
-        'Net::netent'           => '1.00',  #lib/Net/netent.pm
-        'Net::Netrc'            => '2.12',  #lib/Net/Netrc.pm
-        'Net::NNTP'             => '2.23',  #lib/Net/NNTP.pm
-        'Net::Ping'             => '2.31',  #lib/Net/Ping.pm
-        'Net::POP3'             => '2.28',  #lib/Net/POP3.pm
-        'Net::protoent'         => '1.00',  #lib/Net/protoent.pm
-        'Net::servent'          => '1.01',  #lib/Net/servent.pm
-        'Net::SMTP'             => '2.29',  #lib/Net/SMTP.pm
-        'Net::Time'             => '2.10',  #lib/Net/Time.pm
-        'NEXT'                  => '0.60',  #lib/NEXT.pm
-        'O'                     => '1.00',  #lib/O.pm
-        'ODBM_File'             => '1.05',  #ext/ODBM_File/ODBM_File.pm
-        'Opcode'                => '1.05',  #lib/Opcode.pm
-        'open'                  => '1.04',  #lib/open.pm
-        'ops'                   => '1.00',  #lib/ops.pm
-        'OS2::DLL'              => '1.02',  #os2/OS2/REXX/DLL/DLL.pm
-        'OS2::ExtAttr'          => '0.02',  #os2/OS2/ExtAttr/ExtAttr.pm
-        'OS2::PrfDB'            => '0.03',  #os2/OS2/PrfDB/PrfDB.pm
-        'OS2::Process'          => '1.01',  #os2/OS2/Process/Process.pm
-        'OS2::REXX'             => '1.02',  #os2/OS2/REXX/REXX.pm
-        'overload'              => '1.02',  #lib/overload.pm
-        'PerlIO'                => '1.03',  #lib/PerlIO.pm
-        'PerlIO::encoding'      => '0.07',  #lib/PerlIO/encoding.pm
-        'PerlIO::scalar'        => '0.02',  #lib/PerlIO/scalar.pm
-        'PerlIO::via'           => '0.02',  #lib/PerlIO/via.pm
-        'PerlIO::via::QuotedPrint'=> '0.06',  #lib/PerlIO/via/QuotedPrint.pm
-        'Pod::Checker'          => '1.42',  #lib/Pod/Checker.pm
-        'Pod::Find'             => '0.2401',  #lib/Pod/Find.pm
-        'Pod::Functions'        => '1.02',  #lib/Pod/Functions.pm
-        'Pod::Html'             => '1.0502',  #lib/Pod/Html.pm
-        'Pod::InputObjects'     => '1.14',  #lib/Pod/InputObjects.pm
-        'Pod::LaTeX'            => '0.56',  #lib/Pod/LaTeX.pm
-        'Pod::Man'              => '1.37',  #lib/Pod/Man.pm
-        'Pod::ParseLink'        => '1.06',  #lib/Pod/ParseLink.pm
-        'Pod::Parser'           => '1.14',  #lib/Pod/Parser.pm
-        'Pod::ParseUtils'       => '1.2',  #lib/Pod/ParseUtils.pm
-        'Pod::Perldoc'          => '3.13',  #lib/Pod/Perldoc.pm
-        'Pod::Perldoc::BaseTo'  => undef,  #lib/Pod/Perldoc/BaseTo.pm
-        'Pod::Perldoc::GetOptsOO'=> undef,  #lib/Pod/Perldoc/GetOptsOO.pm
-        'Pod::Perldoc::ToChecker'=> undef,  #lib/Pod/Perldoc/ToChecker.pm
-        'Pod::Perldoc::ToMan'   => undef,  #lib/Pod/Perldoc/ToMan.pm
-        'Pod::Perldoc::ToNroff' => undef,  #lib/Pod/Perldoc/ToNroff.pm
-        'Pod::Perldoc::ToPod'   => undef,  #lib/Pod/Perldoc/ToPod.pm
-        'Pod::Perldoc::ToRtf'   => undef,  #lib/Pod/Perldoc/ToRtf.pm
-        'Pod::Perldoc::ToText'  => undef,  #lib/Pod/Perldoc/ToText.pm
-        'Pod::Perldoc::ToTk'    => 'undef',  #lib/Pod/Perldoc/ToTk.pm
-        'Pod::Perldoc::ToXml'   => undef,  #lib/Pod/Perldoc/ToXml.pm
-        'Pod::Plainer'          => '0.01',  #lib/Pod/Plainer.pm
-        'Pod::PlainText'        => '2.02',  #lib/Pod/PlainText.pm
-        'Pod::Select'           => '1.13',  #lib/Pod/Select.pm
-        'Pod::Text'             => '2.21',  #lib/Pod/Text.pm
-        'Pod::Text::Color'      => '1.04',  #lib/Pod/Text/Color.pm
-        'Pod::Text::Overstrike' => '1.1',  #lib/Pod/Text/Overstrike.pm
-        'Pod::Text::Termcap'    => '1.11',  #lib/Pod/Text/Termcap.pm
-        'Pod::Usage'            => '1.16',  #lib/Pod/Usage.pm
-        'POSIX'                 => '1.08',  #lib/POSIX.pm
-        're'                    => '0.04',  #lib/re.pm
-        'Safe'                  => '2.11',  #lib/Safe.pm
-        'Scalar::Util'          => '1.14',  #lib/Scalar/Util.pm
-        'SDBM_File'             => '1.04',  #lib/SDBM_File.pm
-        'Search::Dict'          => '1.02',  #lib/Search/Dict.pm
-        'SelectSaver'           => '1.00',  #lib/SelectSaver.pm
-        'SelfLoader'            => '1.0904',  #lib/SelfLoader.pm
-        'Shell'                 => '0.6',  #lib/Shell.pm
-        'sigtrap'               => '1.02',  #lib/sigtrap.pm
-        'Socket'                => '1.77',  #lib/Socket.pm
-        'sort'                  => '1.02',  #lib/sort.pm
-        'Storable'              => '2.13',  #lib/Storable.pm
-        'strict'                => '1.03',  #lib/strict.pm
-        'subs'                  => '1.00',  #lib/subs.pm
-        'Switch'                => '2.10',  #lib/Switch.pm
-        'Symbol'                => '1.05',  #lib/Symbol.pm
-        'Sys::Hostname'         => '1.11',  #lib/Sys/Hostname.pm
-        'Sys::Syslog'           => '0.05',  #lib/Sys/Syslog.pm
-        'Term::ANSIColor'       => '1.08',  #lib/Term/ANSIColor.pm
-        'Term::Cap'             => '1.09',  #lib/Term/Cap.pm
-        'Term::Complete'        => '1.401',  #lib/Term/Complete.pm
-        'Term::ReadLine'        => '1.01',  #lib/Term/ReadLine.pm
-        'Test'                  => '1.25',  #lib/Test.pm
-        'Test::Builder'         => '0.17',  #lib/Test/Builder.pm
-        'Test::Harness'         => '2.42',  #lib/Test/Harness.pm
-        'Test::Harness::Assert' => '0.02',  #lib/Test/Harness/Assert.pm
-        'Test::Harness::Iterator'=> '0.02',  #lib/Test/Harness/Iterator.pm
-        'Test::Harness::Straps' => '0.19',  #lib/Test/Harness/Straps.pm
-        'Test::More'            => '0.47',  #lib/Test/More.pm
-        'Test::Simple'          => '0.47',  #lib/Test/Simple.pm
-        'Text::Abbrev'          => '1.01',  #lib/Text/Abbrev.pm
-        'Text::Balanced'        => '1.95',  #lib/Text/Balanced.pm
-        'Text::ParseWords'      => '3.23',  #lib/Text/ParseWords.pm
-        'Text::Soundex'         => '1.01',  #lib/Text/Soundex.pm
-        'Text::Tabs'            => '98.112801',  #lib/Text/Tabs.pm
-        'Text::Wrap'            => '2001.09292',  #lib/Text/Wrap.pm
-        'Thread'                => '2.00',  #lib/Thread.pm
-        'Thread::Queue'         => '2.00',  #lib/Thread/Queue.pm
-        'threads'               => '1.05',  #lib/threads.pm
-        'Thread::Semaphore'     => '2.01',  #lib/Thread/Semaphore.pm
-        'Thread::Signal'        => '1.00',  #ext/Thread/Thread/Signal.pm
-        'Thread::Specific'      => '1.00',  #ext/Thread/Thread/Specific.pm
-        'threads::shared'       => '0.92',  #lib/threads/shared.pm
-        'Tie::Array'            => '1.03',  #lib/Tie/Array.pm
-        'Tie::File'             => '0.97',  #lib/Tie/File.pm
-        'Tie::Handle'           => '4.1',  #lib/Tie/Handle.pm
-        'Tie::Hash'             => '1.01',  #lib/Tie/Hash.pm
-        'Tie::Memoize'          => '1.0',  #lib/Tie/Memoize.pm
-        'Tie::RefHash'          => '1.31',  #lib/Tie/RefHash.pm
-        'Tie::Scalar'           => '1.00',  #lib/Tie/Scalar.pm
-        'Tie::SubstrHash'       => '1.00',  #lib/Tie/SubstrHash.pm
-        'Time::gmtime'          => '1.02',  #lib/Time/gmtime.pm
-        'Time::HiRes'           => '1.65',  #lib/Time/HiRes.pm
-        'Time::Local'           => '1.10',  #lib/Time/Local.pm
-        'Time::localtime'       => '1.02',  #lib/Time/localtime.pm
-        'Time::tm'              => '1.00',  #lib/Time/tm.pm
-        'Unicode::Collate'      => '0.40',  #lib/Unicode/Collate.pm
-        'Unicode::Normalize'    => '0.30',  #lib/Unicode/Normalize.pm
-        'Unicode::UCD'          => '0.22',  #lib/Unicode/UCD.pm
-        'UNIVERSAL'             => '1.01',  #lib/UNIVERSAL.pm
-        'Unicode'               => '4.0.1', # lib/unicore/version
-        'User::grent'           => '1.00',  #lib/User/grent.pm
-        'User::pwent'           => '1.00',  #lib/User/pwent.pm
-        'utf8'                  => '1.04',  #lib/utf8.pm
-        'vars'                  => '1.01',  #lib/vars.pm
-        'VMS::DCLsym'           => '1.02',  #vms/ext/DCLsym/DCLsym.pm
-        'VMS::Filespec'         => '1.11',  #vms/ext/Filespec.pm
-        'vmsish'                => '1.01',  #lib/vmsish.pm
-        'VMS::Stdio'            => '2.3',  #vms/ext/Stdio/Stdio.pm
-        'warnings'              => '1.03',  #lib/warnings.pm
-        'warnings::register'    => '1.00',  #lib/warnings/register.pm
-        'XS::APItest'           => '0.05',  #lib/XS/APItest.pm
-        'XSLoader'              => '0.02',  #lib/XSLoader.pm
-        'XS::Typemap'           => '0.01',  #lib/XS/Typemap.pm
+        delta_from => 5.008005,
+        changed => {
+            'B'                     => '1.07',
+            'B::C'                  => '1.04',
+            'B::Concise'            => '0.64',
+            'B::Debug'              => '1.02',
+            'B::Deparse'            => '0.69',
+            'B::Lint'               => '1.03',
+            'B::Showlex'            => '1.02',
+            'Cwd'                   => '3.01',
+            'DB_File'               => '1.810',
+            'Data::Dumper'          => '2.121_02',
+            'Devel::PPPort'         => '3.03',
+            'Devel::Peek'           => '1.02',
+            'Encode'                => '2.08',
+            'Encode::Alias'         => '2.02',
+            'Encode::Encoding'      => '2.02',
+            'Encode::JP'            => '2.01',
+            'Encode::Unicode'       => '2.02',
+            'Exporter::Heavy'       => '5.58',
+            'ExtUtils::Constant'    => '0.1401',
+            'File::Spec'            => '3.01',
+            'File::Spec::Win32'     => '1.5',
+            'I18N::LangTags'        => '0.35',
+            'I18N::LangTags::List'  => '0.35',
+            'MIME::Base64'          => '3.05',
+            'MIME::QuotedPrint'     => '3.03',
+            'Math::BigFloat'        => '1.47',
+            'Math::BigInt'          => '1.73',
+            'Math::BigInt::Calc'    => '0.43',
+            'Math::BigRat'          => '0.13',
+            'Text::ParseWords'      => '3.23',
+            'Time::HiRes'           => '1.65',
+            'XS::APItest'           => '0.05',
+            'diagnostics'           => '1.14',
+            'encoding'              => '2.01',
+            'open'                  => '1.04',
+            'overload'              => '1.02',
+        },
+        removed => {
+        }
     },
-
+    5.008007 => {
+        delta_from => 5.008006,
+        changed => {
+            'B'                     => '1.09',
+            'B::Concise'            => '0.65',
+            'B::Deparse'            => '0.7',
+            'B::Disassembler'       => '1.04',
+            'B::Terse'              => '1.03',
+            'Benchmark'             => '1.07',
+            'CGI'                   => '3.10',
+            'CGI::Carp'             => '1.29',
+            'CGI::Cookie'           => '1.25',
+            'Carp'                  => '1.04',
+            'Carp::Heavy'           => '1.04',
+            'Class::ISA'            => '0.33',
+            'Cwd'                   => '3.05',
+            'DB_File'               => '1.811',
+            'Data::Dumper'          => '2.121_04',
+            'Devel::DProf'          => '20050310.00',
+            'Devel::PPPort'         => '3.06',
+            'Digest'                => '1.10',
+            'Digest::file'          => '0.01',
+            'Encode'                => '2.10',
+            'Encode::Alias'         => '2.03',
+            'Errno'                 => '1.09_01',
+            'ExtUtils::Constant'    => '0.16',
+            'ExtUtils::Constant::Base'=> '0.01',
+            'ExtUtils::Constant::Utils'=> '0.01',
+            'ExtUtils::Constant::XS'=> '0.01',
+            'File::Find'            => '1.09',
+            'File::Glob'            => '1.04',
+            'File::Path'            => '1.07',
+            'File::Spec'            => '3.05',
+            'File::Temp'            => '0.16',
+            'FileCache'             => '1.05',
+            'IO::File'              => '1.11',
+            'IO::Socket::INET'      => '1.28',
+            'Math::BigFloat'        => '1.51',
+            'Math::BigInt'          => '1.77',
+            'Math::BigInt::Calc'    => '0.47',
+            'Math::BigInt::CalcEmu' => '0.05',
+            'Math::BigRat'          => '0.15',
+            'Pod::Find'             => '1.3',
+            'Pod::Html'             => '1.0503',
+            'Pod::InputObjects'     => '1.3',
+            'Pod::LaTeX'            => '0.58',
+            'Pod::ParseUtils'       => '1.3',
+            'Pod::Parser'           => '1.3',
+            'Pod::Perldoc'          => '3.14',
+            'Pod::Select'           => '1.3',
+            'Pod::Usage'            => '1.3',
+            'SelectSaver'           => '1.01',
+            'Symbol'                => '1.06',
+            'Sys::Syslog'           => '0.06',
+            'Term::ANSIColor'       => '1.09',
+            'Term::Complete'        => '1.402',
+            'Test::Builder'         => '0.22',
+            'Test::Harness'         => '2.48',
+            'Test::Harness::Point'  => '0.01',
+            'Test::Harness::Straps' => '0.23',
+            'Test::More'            => '0.54',
+            'Test::Simple'          => '0.54',
+            'Text::ParseWords'      => '3.24',
+            'Text::Wrap'            => '2001.09293',
+            'Tie::RefHash'          => '1.32',
+            'Time::HiRes'           => '1.66',
+            'Time::Local'           => '1.11',
+            'Unicode'               => '4.1.0',
+            'Unicode::Normalize'    => '0.32',
+            'Unicode::UCD'          => '0.23',
+            'Win32'                 => '0.24',
+            'XS::APItest'           => '0.06',
+            'base'                  => '2.07',
+            'bigint'                => '0.07',
+            'bignum'                => '0.17',
+            'bigrat'                => '0.08',
+            'bytes'                 => '1.02',
+            'constant'              => '1.05',
+            'overload'              => '1.03',
+            'threads::shared'       => '0.93',
+            'utf8'                  => '1.05',
+        },
+        removed => {
+            'JNI'                   => 1,
+            'JPL::AutoLoader'       => 1,
+            'JPL::Class'            => 1,
+            'JPL::Compile'          => 1,
+            'OS2::DLL'              => 1,
+            'OS2::ExtAttr'          => 1,
+            'OS2::PrfDB'            => 1,
+            'OS2::Process'          => 1,
+            'OS2::REXX'             => 1,
+        }
+    },
+    5.008008 => {
+        delta_from => 5.008007,
+        changed => {
+            'Attribute::Handlers'   => '0.78_02',
+            'B'                     => '1.09_01',
+            'B::Bblock'             => '1.02_01',
+            'B::Bytecode'           => '1.01_01',
+            'B::C'                  => '1.04_01',
+            'B::CC'                 => '1.00_01',
+            'B::Concise'            => '0.66',
+            'B::Debug'              => '1.02_01',
+            'B::Deparse'            => '0.71',
+            'B::Disassembler'       => '1.05',
+            'B::Terse'              => '1.03_01',
+            'ByteLoader'            => '0.06',
+            'CGI'                   => '3.15',
+            'CGI::Cookie'           => '1.26',
+            'CPAN'                  => '1.76_02',
+            'Cwd'                   => '3.12',
+            'DB'                    => '1.01',
+            'DB_File'               => '1.814',
+            'Data::Dumper'          => '2.121_08',
+            'Devel::DProf'          => '20050603.00',
+            'Devel::PPPort'         => '3.06_01',
+            'Devel::Peek'           => '1.03',
+            'Digest'                => '1.14',
+            'Digest::MD5'           => '2.36',
+            'Digest::file'          => '1.00',
+            'Dumpvalue'             => '1.12',
+            'Encode'                => '2.12',
+            'Encode::Alias'         => '2.04',
+            'Encode::Config'        => '2.01',
+            'Encode::MIME::Header'  => '2.01',
+            'Encode::MIME::Header::ISO_2022_JP'=> '1.01',
+            'English'               => '1.02',
+            'ExtUtils::Command'     => '1.09',
+            'ExtUtils::Command::MM' => '0.05',
+            'ExtUtils::Constant'    => '0.17',
+            'ExtUtils::Embed'       => '1.26',
+            'ExtUtils::Install'     => '1.33',
+            'ExtUtils::Liblist::Kid'=> '1.3',
+            'ExtUtils::MM'          => '0.05',
+            'ExtUtils::MM_AIX'      => '0.03',
+            'ExtUtils::MM_Any'      => '0.13',
+            'ExtUtils::MM_BeOS'     => '1.05',
+            'ExtUtils::MM_Cygwin'   => '1.08',
+            'ExtUtils::MM_MacOS'    => '1.08',
+            'ExtUtils::MM_NW5'      => '2.08',
+            'ExtUtils::MM_OS2'      => '1.05',
+            'ExtUtils::MM_QNX'      => '0.02',
+            'ExtUtils::MM_Unix'     => '1.50',
+            'ExtUtils::MM_VMS'      => '5.73',
+            'ExtUtils::MM_VOS'      => '0.02',
+            'ExtUtils::MM_Win32'    => '1.12',
+            'ExtUtils::MM_Win95'    => '0.04',
+            'ExtUtils::MakeMaker'   => '6.30',
+            'ExtUtils::MakeMaker::Config'=> '0.02',
+            'ExtUtils::Manifest'    => '1.46',
+            'File::Basename'        => '2.74',
+            'File::Copy'            => '2.09',
+            'File::Find'            => '1.10',
+            'File::Glob'            => '1.05',
+            'File::Path'            => '1.08',
+            'File::Spec'            => '3.12',
+            'File::Spec::Win32'     => '1.6',
+            'FileCache'             => '1.06',
+            'Filter::Simple'        => '0.82',
+            'FindBin'               => '1.47',
+            'GDBM_File'             => '1.08',
+            'Getopt::Long'          => '2.35',
+            'IO'                    => '1.22',
+            'IO::Dir'               => '1.05',
+            'IO::File'              => '1.13',
+            'IO::Handle'            => '1.25',
+            'IO::Pipe'              => '1.13',
+            'IO::Poll'              => '0.07',
+            'IO::Seekable'          => '1.10',
+            'IO::Select'            => '1.17',
+            'IO::Socket'            => '1.29',
+            'IO::Socket::INET'      => '1.29',
+            'IO::Socket::UNIX'      => '1.22',
+            'IPC::Open2'            => '1.02',
+            'IPC::Open3'            => '1.02',
+            'List::Util'            => '1.18',
+            'MIME::Base64'          => '3.07',
+            'MIME::QuotedPrint'     => '3.07',
+            'Math::Complex'         => '1.35',
+            'Math::Trig'            => '1.03',
+            'NDBM_File'             => '1.06',
+            'ODBM_File'             => '1.06',
+            'Opcode'                => '1.06',
+            'POSIX'                 => '1.09',
+            'PerlIO'                => '1.04',
+            'PerlIO::encoding'      => '0.09',
+            'PerlIO::scalar'        => '0.04',
+            'PerlIO::via'           => '0.03',
+            'Pod::Checker'          => '1.43',
+            'Pod::Find'             => '1.34',
+            'Pod::Functions'        => '1.03',
+            'Pod::Html'             => '1.0504',
+            'Pod::ParseUtils'       => '1.33',
+            'Pod::Parser'           => '1.32',
+            'Pod::Usage'            => '1.33',
+            'SDBM_File'             => '1.05',
+            'Safe'                  => '2.12',
+            'Scalar::Util'          => '1.18',
+            'Socket'                => '1.78',
+            'Storable'              => '2.15',
+            'Switch'                => '2.10_01',
+            'Sys::Syslog'           => '0.13',
+            'Term::ANSIColor'       => '1.10',
+            'Term::ReadLine'        => '1.02',
+            'Test::Builder'         => '0.32',
+            'Test::Builder::Module' => '0.02',
+            'Test::Builder::Tester' => '1.02',
+            'Test::Builder::Tester::Color'=> undef,
+            'Test::Harness'         => '2.56',
+            'Test::Harness::Straps' => '0.26',
+            'Test::More'            => '0.62',
+            'Test::Simple'          => '0.62',
+            'Text::Tabs'            => '2005.0824',
+            'Text::Wrap'            => '2005.082401',
+            'Tie::Hash'             => '1.02',
+            'Time::HiRes'           => '1.86',
+            'Unicode::Collate'      => '0.52',
+            'Unicode::UCD'          => '0.24',
+            'User::grent'           => '1.01',
+            'Win32'                 => '0.2601',
+            'XS::APItest'           => '0.08',
+            'XS::Typemap'           => '0.02',
+            'XSLoader'              => '0.06',
+            'attrs'                 => '1.02',
+            'autouse'               => '1.05',
+            'blib'                  => '1.03',
+            'charnames'             => '1.05',
+            'diagnostics'           => '1.15',
+            'encoding'              => '2.02',
+            'if'                    => '0.05',
+            'open'                  => '1.05',
+            'ops'                   => '1.01',
+            'overload'              => '1.04',
+            're'                    => '0.05',
+            'threads'               => '1.07',
+            'threads::shared'       => '0.94',
+            'utf8'                  => '1.06',
+            'vmsish'                => '1.02',
+            'warnings'              => '1.05',
+            'warnings::register'    => '1.01',
+        },
+        removed => {
+        }
+    },
+    5.008009 => {
+        delta_from => 5.008008,
+        changed => {
+            'Attribute::Handlers'   => '0.78_03',
+            'AutoLoader'            => '5.67',
+            'AutoSplit'             => '1.06',
+            'B'                     => '1.19',
+            'B::Asmdata'            => '1.02',
+            'B::Assembler'          => '0.08',
+            'B::C'                  => '1.05',
+            'B::Concise'            => '0.76',
+            'B::Debug'              => '1.05',
+            'B::Deparse'            => '0.87',
+            'B::Lint'               => '1.11',
+            'B::Lint::Debug'        => undef,
+            'B::Terse'              => '1.05',
+            'Benchmark'             => '1.1',
+            'CGI'                   => '3.42',
+            'CGI::Carp'             => '1.30_01',
+            'CGI::Cookie'           => '1.29',
+            'CGI::Fast'             => '1.07',
+            'CGI::Util'             => '1.5_01',
+            'CPAN'                  => '1.9301',
+            'CPAN::Debug'           => '5.5',
+            'CPAN::DeferedCode'     => '5.50',
+            'CPAN::Distroprefs'     => '6',
+            'CPAN::FirstTime'       => '5.5_01',
+            'CPAN::HandleConfig'    => '5.5',
+            'CPAN::Kwalify'         => '5.50',
+            'CPAN::Nox'             => '5.50',
+            'CPAN::Queue'           => '5.5',
+            'CPAN::Tarzip'          => '5.5',
+            'CPAN::Version'         => '5.5',
+            'Carp'                  => '1.10',
+            'Carp::Heavy'           => '1.10',
+            'Cwd'                   => '3.29',
+            'DBM_Filter'            => '0.02',
+            'DBM_Filter::compress'  => '0.02',
+            'DBM_Filter::encode'    => '0.02',
+            'DBM_Filter::int32'     => '0.02',
+            'DBM_Filter::null'      => '0.02',
+            'DBM_Filter::utf8'      => '0.02',
+            'DB_File'               => '1.817',
+            'Data::Dumper'          => '2.121_17',
+            'Devel::DProf'          => '20080331.00',
+            'Devel::InnerPackage'   => '0.3',
+            'Devel::PPPort'         => '3.14',
+            'Devel::Peek'           => '1.04',
+            'Digest'                => '1.15',
+            'Digest::MD5'           => '2.37',
+            'DirHandle'             => '1.02',
+            'DynaLoader'            => '1.09',
+            'Encode'                => '2.26',
+            'Encode::Alias'         => '2.10',
+            'Encode::Byte'          => '2.03',
+            'Encode::CJKConstants'  => '2.02',
+            'Encode::CN'            => '2.02',
+            'Encode::CN::HZ'        => '2.05',
+            'Encode::Config'        => '2.05',
+            'Encode::EBCDIC'        => '2.02',
+            'Encode::Encoder'       => '2.01',
+            'Encode::Encoding'      => '2.05',
+            'Encode::GSM0338'       => '2.01',
+            'Encode::Guess'         => '2.02',
+            'Encode::JP'            => '2.03',
+            'Encode::JP::H2Z'       => '2.02',
+            'Encode::JP::JIS7'      => '2.04',
+            'Encode::KR'            => '2.02',
+            'Encode::KR::2022_KR'   => '2.02',
+            'Encode::MIME::Header'  => '2.05',
+            'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+            'Encode::MIME::Name'    => '1.01',
+            'Encode::Symbol'        => '2.02',
+            'Encode::TW'            => '2.02',
+            'Encode::Unicode'       => '2.05',
+            'Encode::Unicode::UTF7' => '2.04',
+            'English'               => '1.03',
+            'Errno'                 => '1.10',
+            'Exporter'              => '5.63',
+            'Exporter::Heavy'       => '5.63',
+            'ExtUtils::Command'     => '1.15',
+            'ExtUtils::Command::MM' => '6.48',
+            'ExtUtils::Constant'    => '0.21',
+            'ExtUtils::Constant::Base'=> '0.04',
+            'ExtUtils::Constant::ProxySubs'=> '0.06',
+            'ExtUtils::Constant::Utils'=> '0.02',
+            'ExtUtils::Constant::XS'=> '0.02',
+            'ExtUtils::Embed'       => '1.28',
+            'ExtUtils::Install'     => '1.50_01',
+            'ExtUtils::Installed'   => '1.43',
+            'ExtUtils::Liblist'     => '6.48',
+            'ExtUtils::Liblist::Kid'=> '6.48',
+            'ExtUtils::MM'          => '6.48',
+            'ExtUtils::MM_AIX'      => '6.48',
+            'ExtUtils::MM_Any'      => '6.48',
+            'ExtUtils::MM_BeOS'     => '6.48',
+            'ExtUtils::MM_Cygwin'   => '6.48',
+            'ExtUtils::MM_DOS'      => '6.48',
+            'ExtUtils::MM_Darwin'   => '6.48',
+            'ExtUtils::MM_MacOS'    => '6.48',
+            'ExtUtils::MM_NW5'      => '6.48',
+            'ExtUtils::MM_OS2'      => '6.48',
+            'ExtUtils::MM_QNX'      => '6.48',
+            'ExtUtils::MM_UWIN'     => '6.48',
+            'ExtUtils::MM_Unix'     => '6.48',
+            'ExtUtils::MM_VMS'      => '6.48',
+            'ExtUtils::MM_VOS'      => '6.48',
+            'ExtUtils::MM_Win32'    => '6.48',
+            'ExtUtils::MM_Win95'    => '6.48',
+            'ExtUtils::MY'          => '6.48',
+            'ExtUtils::MakeMaker'   => '6.48',
+            'ExtUtils::MakeMaker::Config'=> '6.48',
+            'ExtUtils::MakeMaker::bytes'=> '6.48',
+            'ExtUtils::MakeMaker::vmsish'=> '6.48',
+            'ExtUtils::Manifest'    => '1.55',
+            'ExtUtils::Mkbootstrap' => '6.48',
+            'ExtUtils::Mksymlists'  => '6.48',
+            'ExtUtils::Packlist'    => '1.43',
+            'ExtUtils::ParseXS'     => '2.19',
+            'ExtUtils::XSSymSet'    => '1.1',
+            'ExtUtils::testlib'     => '6.48',
+            'Fatal'                 => '1.06',
+            'Fcntl'                 => '1.06',
+            'File::Basename'        => '2.77',
+            'File::CheckTree'       => '4.4',
+            'File::Compare'         => '1.1005',
+            'File::Copy'            => '2.13',
+            'File::DosGlob'         => '1.01',
+            'File::Find'            => '1.13',
+            'File::Glob'            => '1.06',
+            'File::Path'            => '2.07_02',
+            'File::Spec'            => '3.29',
+            'File::Spec::Cygwin'    => '3.29',
+            'File::Spec::Epoc'      => '3.29',
+            'File::Spec::Functions' => '3.29',
+            'File::Spec::Mac'       => '3.29',
+            'File::Spec::OS2'       => '3.29',
+            'File::Spec::Unix'      => '3.29',
+            'File::Spec::VMS'       => '3.29',
+            'File::Spec::Win32'     => '3.29',
+            'File::Temp'            => '0.20',
+            'File::stat'            => '1.01',
+            'FileCache'             => '1.07',
+            'Filter::Simple'        => '0.83',
+            'Filter::Util::Call'    => '1.07',
+            'FindBin'               => '1.49',
+            'GDBM_File'             => '1.09',
+            'Getopt::Long'          => '2.37',
+            'Getopt::Std'           => '1.06',
+            'Hash::Util'            => '0.06',
+            'IO'                    => '1.23',
+            'IO::Dir'               => '1.06',
+            'IO::File'              => '1.14',
+            'IO::Handle'            => '1.27',
+            'IO::Socket'            => '1.30',
+            'IO::Socket::INET'      => '1.31',
+            'IO::Socket::UNIX'      => '1.23',
+            'IPC::Msg'              => '2.00',
+            'IPC::Open2'            => '1.03',
+            'IPC::Open3'            => '1.03',
+            'IPC::Semaphore'        => '2.00',
+            'IPC::SharedMem'        => '2.00',
+            'IPC::SysV'             => '2.00',
+            'List::Util'            => '1.19',
+            'Locale::Maketext'      => '1.13',
+            'Locale::Maketext::Guts'=> '1.13',
+            'Locale::Maketext::GutsLoader'=> '1.13',
+            'Math::BigFloat'        => '1.60',
+            'Math::BigInt'          => '1.89',
+            'Math::BigInt::Calc'    => '0.52',
+            'Math::BigRat'          => '0.22',
+            'Math::Complex'         => '1.54',
+            'Math::Trig'            => '1.18',
+            'Module::CoreList'      => '2.17',
+            'Module::Pluggable'     => '3.8',
+            'Module::Pluggable::Object'=> '3.6',
+            'NDBM_File'             => '1.07',
+            'NEXT'                  => '0.61',
+            'Net::Cmd'              => '2.29',
+            'Net::Config'           => '1.11',
+            'Net::Domain'           => '2.20',
+            'Net::FTP'              => '2.77',
+            'Net::FTP::A'           => '1.18',
+            'Net::NNTP'             => '2.24',
+            'Net::POP3'             => '2.29',
+            'Net::Ping'             => '2.35',
+            'Net::SMTP'             => '2.31',
+            'O'                     => '1.01',
+            'ODBM_File'             => '1.07',
+            'Opcode'                => '1.0601',
+            'POSIX'                 => '1.15',
+            'PerlIO'                => '1.05',
+            'PerlIO::encoding'      => '0.11',
+            'PerlIO::scalar'        => '0.06',
+            'PerlIO::via'           => '0.05',
+            'Pod::Html'             => '1.09',
+            'Pod::ParseUtils'       => '1.35',
+            'Pod::Parser'           => '1.35',
+            'Pod::Select'           => '1.35',
+            'Pod::Usage'            => '1.35',
+            'SDBM_File'             => '1.06',
+            'Safe'                  => '2.16',
+            'Scalar::Util'          => '1.19',
+            'SelfLoader'            => '1.17',
+            'Shell'                 => '0.72',
+            'Socket'                => '1.81',
+            'Storable'              => '2.19',
+            'Switch'                => '2.13',
+            'Sys::Syslog'           => '0.27',
+            'Sys::Syslog::win32::Win32'=> undef,
+            'Term::ANSIColor'       => '1.12',
+            'Term::Cap'             => '1.12',
+            'Term::ReadLine'        => '1.03',
+            'Test::Builder'         => '0.80',
+            'Test::Builder::Module' => '0.80',
+            'Test::Builder::Tester' => '1.13',
+            'Test::Harness'         => '2.64',
+            'Test::Harness::Results'=> '0.01_01',
+            'Test::Harness::Straps' => '0.26_01',
+            'Test::Harness::Util'   => '0.01',
+            'Test::More'            => '0.80',
+            'Test::Simple'          => '0.80',
+            'Text::Balanced'        => '1.98',
+            'Text::ParseWords'      => '3.27',
+            'Text::Soundex'         => '3.03',
+            'Text::Tabs'            => '2007.1117',
+            'Text::Wrap'            => '2006.1117',
+            'Thread'                => '2.01',
+            'Thread::Queue'         => '2.11',
+            'Thread::Semaphore'     => '2.09',
+            'Tie::Handle'           => '4.2',
+            'Tie::Hash'             => '1.03',
+            'Tie::Memoize'          => '1.1',
+            'Tie::RefHash'          => '1.38',
+            'Tie::Scalar'           => '1.01',
+            'Tie::StdHandle'        => '4.2',
+            'Time::HiRes'           => '1.9715',
+            'Time::Local'           => '1.1901',
+            'Time::gmtime'          => '1.03',
+            'Unicode'               => '5.1.0',
+            'Unicode::Normalize'    => '1.02',
+            'Unicode::UCD'          => '0.25',
+            'VMS::DCLsym'           => '1.03',
+            'VMS::Stdio'            => '2.4',
+            'Win32'                 => '0.38',
+            'Win32API::File'        => '0.1001_01',
+            'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+            'Win32CORE'             => '0.02',
+            'XS::APItest'           => '0.15',
+            'XS::Typemap'           => '0.03',
+            'XSLoader'              => '0.10',
+            'attributes'            => '0.09',
+            'autouse'               => '1.06',
+            'base'                  => '2.13',
+            'bigint'                => '0.23',
+            'bignum'                => '0.23',
+            'bigrat'                => '0.23',
+            'blib'                  => '1.04',
+            'charnames'             => '1.06',
+            'constant'              => '1.17',
+            'diagnostics'           => '1.16',
+            'encoding'              => '2.6_01',
+            'fields'                => '2.12',
+            'filetest'              => '1.02',
+            'lib'                   => '0.61',
+            'open'                  => '1.06',
+            'ops'                   => '1.02',
+            'overload'              => '1.06',
+            're'                    => '0.0601',
+            'sigtrap'               => '1.04',
+            'threads'               => '1.71',
+            'threads::shared'       => '1.27',
+            'utf8'                  => '1.07',
+            'warnings'              => '1.05_01',
+        },
+        removed => {
+        }
+    },
+    5.009 => {
+        delta_from => 5.008002,
+        changed => {
+            'B'                     => '1.03',
+            'B::C'                  => '1.03',
+            'B::Concise'            => '0.57',
+            'B::Deparse'            => '0.65',
+            'DB_File'               => '1.806',
+            'Devel::PPPort'         => '2.008',
+            'English'               => '1.02',
+            'Fatal'                 => '1.04',
+            'OS2::DLL'              => '1.02',
+            'Opcode'                => '1.06',
+            'Time::HiRes'           => '1.51',
+            'Unicode::Collate'      => '0.28',
+            'Unicode::Normalize'    => '0.23',
+            'XSLoader'              => '0.03',
+            'assertions'            => '0.01',
+            'assertions::activate'  => '0.01',
+            'overload'              => '1.02',
+            'version'               => '0.29',
+        },
+        removed => {
+        }
+    },
+    5.009001 => {
+        delta_from => 5.008004,
+        changed => {
+            'B'                     => '1.05',
+            'B::Assembler'          => '0.06',
+            'B::C'                  => '1.04',
+            'B::Concise'            => '0.59',
+            'B::Debug'              => '1.02',
+            'B::Deparse'            => '0.65',
+            'DB_File'               => '1.808_01',
+            'Devel::PPPort'         => '2.011_01',
+            'Digest'                => '1.05',
+            'DynaLoader'            => '1.04',
+            'English'               => '1.02',
+            'Exporter::Heavy'       => '5.567',
+            'ExtUtils::Command'     => '1.07',
+            'ExtUtils::Liblist::Kid'=> '1.3',
+            'ExtUtils::MM_Any'      => '0.0901',
+            'ExtUtils::MM_Cygwin'   => '1.07',
+            'ExtUtils::MM_NW5'      => '2.07_01',
+            'ExtUtils::MM_Unix'     => '1.45_01',
+            'ExtUtils::MM_VMS'      => '5.71_01',
+            'ExtUtils::MM_Win32'    => '1.10_01',
+            'ExtUtils::MM_Win95'    => '0.03',
+            'ExtUtils::MakeMaker'   => '6.21_02',
+            'ExtUtils::Manifest'    => '1.43',
+            'Fatal'                 => '1.04',
+            'Getopt::Long'          => '2.3401',
+            'IO::Handle'            => '1.23',
+            'IO::Pipe'              => '1.122',
+            'IPC::Open3'            => '1.0105',
+            'MIME::Base64'          => '3.00_01',
+            'MIME::QuotedPrint'     => '3.00',
+            'Memoize'               => '1.01_01',
+            'ODBM_File'             => '1.04',
+            'Opcode'                => '1.06',
+            'POSIX'                 => '1.07',
+            'Storable'              => '2.11',
+            'Time::HiRes'           => '1.56',
+            'Time::Local'           => '1.07_94',
+            'UNIVERSAL'             => '1.02',
+            'Unicode'               => '4.0.0',
+            'Unicode::UCD'          => '0.21',
+            'XSLoader'              => '0.03',
+            'assertions'            => '0.01',
+            'assertions::activate'  => '0.01',
+            'base'                  => '2.04',
+            'if'                    => '0.0401',
+            'open'                  => '1.02',
+            'overload'              => '1.02',
+            'threads'               => '1.02',
+            'utf8'                  => '1.02',
+            'version'               => '0.36',
+        },
+        removed => {
+        }
+    },
     5.009002 => {
-	'AnyDBM_File'           => '1.00',
-	'Attribute::Handlers'   => '0.78_01',
-	'AutoLoader'            => '5.60',
-	'AutoSplit'             => '1.04',
-	'B'                     => '1.07',
-	'B::Asmdata'            => '1.01',
-	'B::Assembler'          => '0.07',
-	'B::Bblock'             => '1.02',
-	'B::Bytecode'           => '1.01',
-	'B::C'                  => '1.04',
-	'B::CC'                 => '1.00',
-	'B::Concise'            => '0.64',
-	'B::Debug'              => '1.02',
-	'B::Deparse'            => '0.69',
-	'B::Disassembler'       => '1.03',
-	'B::Lint'               => '1.03',
-	'B::Showlex'            => '1.02',
-	'B::Stackobj'           => '1.00',
-	'B::Stash'              => '1.00',
-	'B::Terse'              => '1.02',
-	'B::Xref'               => '1.01',
-	'Benchmark'             => '1.07',
-	'ByteLoader'            => '0.05',
-	'CGI'                   => '3.07',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.29',
-	'CGI::Cookie'           => '1.25',
-	'CGI::Fast'             => '1.05',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5',
-	'CPAN'                  => '1.76_01',
-	'CPAN::FirstTime'       => '1.60 ',
-	'CPAN::Nox'             => '1.03',
-	'Carp'                  => '1.04',
-	'Carp::Heavy'           => '1.04',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-        'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.05',
-	'DB'                    => '1.0',
-	'DBM_Filter'            => '0.01',
-	'DBM_Filter::compress'  => '0.01',
-	'DBM_Filter::encode'    => '0.01',
-	'DBM_Filter::int32'     => '0.01',
-	'DBM_Filter::null'      => '0.01',
-	'DBM_Filter::utf8'      => '0.01',
-	'DB_File'               => '1.811',
-	'DCLsym'                => '1.02',
-	'Data::Dumper'          => '2.121_04',
-	'Devel::DProf'          => '20030813.00',
-	'Devel::PPPort'         => '3.06',
-	'Devel::Peek'           => '1.02',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.10',
-	'Digest::MD5'           => '2.33',
-	'Digest::base'          => '1.00',
-	'Digest::file'          => '0.01',
-	'DirHandle'             => '1.00',
-	'Dumpvalue'             => '1.11',
-	'DynaLoader'            => '1.07',
-	'Encode'                => '2.09',
-	'Encode::Alias'         => '2.02',
-	'Encode::Byte'          => '2.00',
-	'Encode::CJKConstants'  => '2.00',
-	'Encode::CN'            => '2.00',
-	'Encode::CN::HZ'        => '2.01',
-	'Encode::Config'        => '2.00',
-	'Encode::EBCDIC'        => '2.00',
-	'Encode::Encoder'       => '2.00',
-	'Encode::Encoding'      => '2.02',
-	'Encode::Guess'         => '2.00',
-	'Encode::JP'            => '2.01',
-	'Encode::JP::H2Z'       => '2.00',
-	'Encode::JP::JIS7'      => '2.00',
-	'Encode::KR'            => '2.00',
-	'Encode::KR::2022_KR'   => '2.00',
-	'Encode::MIME::Header'  => '2.00',
-	'Encode::Symbol'        => '2.00',
-	'Encode::TW'            => '2.00',
-	'Encode::Unicode'       => '2.02',
-	'Encode::Unicode::UTF7' => '2.01',
-	'English'               => '1.03',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.09_01',
-	'Exporter'              => '5.59',
-	'Exporter::Heavy'       => '5.59',
-	'ExtUtils::Command'     => '1.07',
-	'ExtUtils::Command::MM' => '0.03_01',
-	'ExtUtils::Constant'    => '0.16',
-	'ExtUtils::Constant::Base'=> '0.01',
-	'ExtUtils::Constant::Utils'=> '0.01',
-	'ExtUtils::Constant::XS'=> '0.01',
-	'ExtUtils::Embed'       => '1.26',
-	'ExtUtils::Install'     => '1.32',
-	'ExtUtils::Installed'   => '0.08',
-	'ExtUtils::Liblist'     => '1.01',
-	'ExtUtils::Liblist::Kid'=> '1.3',
-	'ExtUtils::MM'          => '0.04',
-	'ExtUtils::MM_Any'      => '0.10',
-	'ExtUtils::MM_BeOS'     => '1.04',
-	'ExtUtils::MM_Cygwin'   => '1.07',
-	'ExtUtils::MM_DOS'      => '0.02',
-	'ExtUtils::MM_MacOS'    => '1.08',
-	'ExtUtils::MM_NW5'      => '2.07',
-	'ExtUtils::MM_OS2'      => '1.04',
-	'ExtUtils::MM_UWIN'     => '0.02',
-	'ExtUtils::MM_Unix'     => '1.46_01',
-	'ExtUtils::MM_VMS'      => '5.71',
-	'ExtUtils::MM_Win32'    => '1.10',
-	'ExtUtils::MM_Win95'    => '0.03',
-	'ExtUtils::MY'          => '0.01',
-	'ExtUtils::MakeMaker'   => '6.25',
-	'ExtUtils::MakeMaker::bytes'=> '0.01',
-	'ExtUtils::MakeMaker::vmsish'=> '0.01',
-	'ExtUtils::Manifest'    => '1.44',
-        'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '1.15',
-	'ExtUtils::Mksymlists'  => '1.19',
-	'ExtUtils::Packlist'    => '0.04',
-	'ExtUtils::testlib'     => '1.15',
-	'Fatal'                 => '1.04',
-	'Fcntl'                 => '1.05',
-	'File::Basename'        => '2.73',
-	'File::CheckTree'       => '4.3',
-	'File::Compare'         => '1.1003',
-	'File::Copy'            => '2.08',
-	'File::DosGlob'         => '1.00',
-	'File::Find'            => '1.09',
-	'File::Glob'            => '1.04',
-	'File::Path'            => '1.06',
-	'File::Spec'            => '3.05',
-	'File::Spec::Cygwin'    => '1.1',
-	'File::Spec::Epoc'      => '1.1',
-	'File::Spec::Functions' => '1.3',
-	'File::Spec::Mac'       => '1.4',
-	'File::Spec::OS2'       => '1.2',
-	'File::Spec::Unix'      => '1.5',
-	'File::Spec::VMS'       => '1.4',
-	'File::Spec::Win32'     => '1.5',
-	'File::Temp'            => '0.16',
-	'File::stat'            => '1.00',
-	'FileCache'             => '1.04_01',
-	'FileHandle'            => '2.01',
-	'VMS::Filespec'         => '1.11',
-	'Filter::Simple'        => '0.78',
-	'Filter::Util::Call'    => '1.0601',
-	'FindBin'               => '1.44',
-	'GDBM_File'             => '1.07',
-	'Getopt::Long'          => '2.3401',
-	'Getopt::Std'           => '1.05',
-	'Hash::Util'            => '0.05',
-	'I18N::Collate'         => '1.00',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.21',
-	'IO::Dir'               => '1.04',
-	'IO::File'              => '1.10',
-	'IO::Handle'            => '1.24',
-	'IO::Pipe'              => '1.123',
-	'IO::Poll'              => '0.06',
-	'IO::Seekable'          => '1.09',
-	'IO::Select'            => '1.16',
-	'IO::Socket'            => '1.28',
-	'IO::Socket::INET'      => '1.27',
-	'IO::Socket::UNIX'      => '1.21',
-	'IPC::Msg'              => '1.02',
-	'IPC::Open2'            => '1.01',
-	'IPC::Open3'            => '1.0106',
-	'IPC::Semaphore'        => '1.02',
-	'IPC::SysV'             => '1.04',
-	'List::Util'            => '1.14',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.09',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Script'        => '2.07',
-	'MIME::Base64'          => '3.05',
-	'MIME::QuotedPrint'     => '3.03',
-	'Math::BigFloat'        => '1.49',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.75',
-	'Math::BigInt::Calc'    => '0.45',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.14',
-	'Math::Complex'         => '1.34',
-	'Math::Trig'            => '1.02',
-	'Memoize'               => '1.01_01',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::CoreList'      => '1.99',
-	'NDBM_File'             => '1.05',
-	'NEXT'                  => '0.60_01',
-	'Net::Cmd'              => '2.26',
-	'Net::Config'           => '1.10',
-	'Net::Domain'           => '2.19',
-	'Net::FTP'              => '2.75',
-	'Net::FTP::A'           => '1.16',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.23',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.28',
-	'Net::Ping'             => '2.31',
-	'Net::SMTP'             => '2.29',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.00',
-	'ODBM_File'             => '1.05',
-	'Opcode'                => '1.06',
-	'POSIX'                 => '1.08',
-	'PerlIO'                => '1.03',
-	'PerlIO::encoding'      => '0.07',
-	'PerlIO::scalar'        => '0.02',
-	'PerlIO::via'           => '0.02',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.42',
-	'Pod::Find'             => '1.3',
-	'Pod::Functions'        => '1.02',
-	'Pod::Html'             => '1.0502',
-	'Pod::InputObjects'     => '1.3',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '1.37',
-	'Pod::ParseLink'        => '1.06',
-	'Pod::ParseUtils'       => '1.3',
-	'Pod::Parser'           => '1.3',
-	'Pod::Perldoc'          => '3.14',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.02',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.3',
-	'Pod::Text'             => '2.21',
-	'Pod::Text::Color'      => '1.04',
-	'Pod::Text::Overstrike' => '1.1',
-	'Pod::Text::Termcap'    => '1.11',
-	'Pod::Usage'            => '1.3',
-	'SDBM_File'             => '1.04',
-	'Safe'                  => '2.11',
-	'Scalar::Util'          => '1.14_1',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.01',
-	'SelfLoader'            => '1.0904',
-	'Shell'                 => '0.6',
-	'Socket'                => '1.77',
-	'Stdio'                 => '2.3',
-	'Storable'              => '2.14',
-	'Switch'                => '2.10',
-	'Symbol'                => '1.05',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.06',
-	'Term::ANSIColor'       => '1.09',
-	'Term::Cap'             => '1.09',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.01',
-	'Test'                  => '1.25',
-	'Test::Builder'         => '0.22',
-	'Test::Harness'         => '2.46',
-	'Test::Harness::Assert' => '0.02',
-	'Test::Harness::Iterator'=> '0.02',
-	'Test::Harness::Straps' => '0.20_01',
-	'Test::More'            => '0.54',
-	'Test::Simple'          => '0.54',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '1.95_01',
-	'Text::ParseWords'      => '3.24',
-	'Text::Soundex'         => '1.01',
-	'Text::Tabs'            => '98.112801',
-	'Text::Wrap'            => '2001.09292',
-	'Thread'                => '2.00',
-	'Thread::Queue'         => '2.00',
-	'Thread::Semaphore'     => '2.01',
-	'Thread::Signal'        => '1.00',
-	'Thread::Specific'      => '1.00',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97',
-	'Tie::Handle'           => '4.1',
-	'Tie::Hash'             => '1.01',
-	'Tie::Memoize'          => '1.0',
-	'Tie::RefHash'          => '1.32',
-	'Tie::Scalar'           => '1.00',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.66',
-	'Time::Local'           => '1.11',
-	'Time::gmtime'          => '1.02',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.02',
-        'Unicode'               => '4.0.1',
-	'Unicode::Collate'      => '0.40',
-	'Unicode::Normalize'    => '0.30',
-	'Unicode::UCD'          => '0.22',
-	'User::grent'           => '1.00',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.23',
-	'XS::APItest'           => '0.05',
-	'XS::Typemap'           => '0.01',
-	'XSLoader'              => '0.03',
-	'XSSymSet'              => '1.0',
-	'assertions'            => '0.01',
-	'assertions::activate'  => '0.01',
-	'attributes'            => '0.06',
-	'attrs'                 => '1.01',
-	'autouse'               => '1.04',
-	'base'                  => '2.06',
-	'bigint'                => '0.06',
-	'bignum'                => '0.16',
-	'bigrat'                => '0.07',
-	'blib'                  => '1.02',
-	'bytes'                 => '1.01',
-	'charnames'             => '1.04',
-	'constant'              => '1.05',
-	'diagnostics'           => '1.14',
-	'encoding'              => '2.01',
-	'encoding::warnings'    => '0.05',
-	'fields'                => '2.03',
-	'filetest'              => '1.01',
-	'if'                    => '0.0401',
-	'integer'               => '1.00',
-	'less'                  => '0.01',
-	'lib'                   => '0.5565',
-	'locale'                => '1.00',
-	'open'                  => '1.04',
-	'ops'                   => '1.00',
-	'overload'              => '1.03',
-	're'                    => '0.05',
-	'sigtrap'               => '1.02',
-	'sort'                  => '1.02',
-	'strict'                => '1.03',
-	'subs'                  => '1.00',
-	'threads'               => '1.05',
-	'threads::shared'       => '0.92',
-	'utf8'                  => '1.04',
-	'vars'                  => '1.01',
-	'version'               => '0.42',
-	'vmsish'                => '1.01',
-	'warnings'              => '1.04',
-	'warnings::register'    => '1.00',
+        delta_from => 5.008007,
+        changed => {
+            'B'                     => '1.07',
+            'B::Concise'            => '0.64',
+            'B::Deparse'            => '0.69',
+            'B::Disassembler'       => '1.03',
+            'B::Terse'              => '1.02',
+            'CGI'                   => '3.07',
+            'Config::Extensions'    => '0.01',
+            'Devel::DProf'          => '20030813.00',
+            'DynaLoader'            => '1.07',
+            'Encode'                => '2.09',
+            'Encode::Alias'         => '2.02',
+            'English'               => '1.03',
+            'Exporter'              => '5.59',
+            'Exporter::Heavy'       => '5.59',
+            'ExtUtils::Command'     => '1.07',
+            'ExtUtils::Command::MM' => '0.03_01',
+            'ExtUtils::Embed'       => '1.26',
+            'ExtUtils::Liblist::Kid'=> '1.3',
+            'ExtUtils::MM_Any'      => '0.10',
+            'ExtUtils::MM_Cygwin'   => '1.07',
+            'ExtUtils::MM_MacOS'    => '1.08',
+            'ExtUtils::MM_NW5'      => '2.07',
+            'ExtUtils::MM_Unix'     => '1.46_01',
+            'ExtUtils::MM_VMS'      => '5.71',
+            'ExtUtils::MM_Win32'    => '1.10',
+            'ExtUtils::MM_Win95'    => '0.03',
+            'ExtUtils::MakeMaker'   => '6.25',
+            'ExtUtils::Manifest'    => '1.44',
+            'Fatal'                 => '1.04',
+            'File::Path'            => '1.06',
+            'FileCache'             => '1.04_01',
+            'Getopt::Long'          => '2.3401',
+            'IO::File'              => '1.10',
+            'IO::Socket::INET'      => '1.27',
+            'Math::BigFloat'        => '1.49',
+            'Math::BigInt'          => '1.75',
+            'Math::BigInt::Calc'    => '0.45',
+            'Math::BigRat'          => '0.14',
+            'Memoize'               => '1.01_01',
+            'Module::CoreList'      => '1.99',
+            'NEXT'                  => '0.60_01',
+            'Opcode'                => '1.06',
+            'Pod::Html'             => '1.0502',
+            'Scalar::Util'          => '1.14_1',
+            'Storable'              => '2.14',
+            'Symbol'                => '1.05',
+            'Test::Harness'         => '2.46',
+            'Test::Harness::Straps' => '0.20_01',
+            'Text::Balanced'        => '1.95_01',
+            'Text::Wrap'            => '2001.09292',
+            'UNIVERSAL'             => '1.02',
+            'Unicode'               => '4.0.1',
+            'Unicode::Normalize'    => '0.30',
+            'Unicode::UCD'          => '0.22',
+            'Win32'                 => '0.23',
+            'XS::APItest'           => '0.05',
+            'XSLoader'              => '0.03',
+            'assertions'            => '0.01',
+            'assertions::activate'  => '0.01',
+            'base'                  => '2.06',
+            'bigint'                => '0.06',
+            'bignum'                => '0.16',
+            'bigrat'                => '0.07',
+            'bytes'                 => '1.01',
+            'encoding::warnings'    => '0.05',
+            'if'                    => '0.0401',
+            're'                    => '0.05',
+            'threads::shared'       => '0.92',
+            'utf8'                  => '1.04',
+            'version'               => '0.42',
+            'warnings'              => '1.04',
+        },
+        removed => {
+            'Test::Harness::Point'  => 1,
+        }
     },
-
-    5.008007 => {
-	'AnyDBM_File'           => '1.00',
-	'Attribute::Handlers'   => '0.78_01',
-	'AutoLoader'            => '5.60',
-	'AutoSplit'             => '1.04',
-	'B'                     => '1.09',
-	'B::Asmdata'            => '1.01',
-	'B::Assembler'          => '0.07',
-	'B::Bblock'             => '1.02',
-	'B::Bytecode'           => '1.01',
-	'B::C'                  => '1.04',
-	'B::CC'                 => '1.00',
-	'B::Concise'            => '0.65',
-	'B::Debug'              => '1.02',
-	'B::Deparse'            => '0.7',
-	'B::Disassembler'       => '1.04',
-	'B::Lint'               => '1.03',
-	'B::Showlex'            => '1.02',
-	'B::Stackobj'           => '1.00',
-	'B::Stash'              => '1.00',
-	'B::Terse'              => '1.03',
-	'B::Xref'               => '1.01',
-	'Benchmark'             => '1.07',
-	'ByteLoader'            => '0.05',
-	'CGI'                   => '3.10',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.29',
-	'CGI::Cookie'           => '1.25',
-	'CGI::Fast'             => '1.05',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5',
-	'CPAN'                  => '1.76_01',
-	'CPAN::FirstTime'       => '1.60 ',
-	'CPAN::Nox'             => '1.03',
-	'Carp'                  => '1.04',
-	'Carp::Heavy'           => '1.04',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-        'Config'                => undef,
-	'Cwd'                   => '3.05',
-	'DB'                    => '1.0',
-	'DBM_Filter'            => '0.01',
-	'DBM_Filter::compress'  => '0.01',
-	'DBM_Filter::encode'    => '0.01',
-	'DBM_Filter::int32'     => '0.01',
-	'DBM_Filter::null'      => '0.01',
-	'DBM_Filter::utf8'      => '0.01',
-	'DB_File'               => '1.811',
-	'DCLsym'                => '1.02',
-	'Data::Dumper'          => '2.121_04',
-	'Devel::DProf'          => '20050310.00',
-	'Devel::PPPort'         => '3.06',
-	'Devel::Peek'           => '1.02',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.10',
-	'Digest::MD5'           => '2.33',
-	'Digest::base'          => '1.00',
-	'Digest::file'          => '0.01',
-	'DirHandle'             => '1.00',
-	'Dumpvalue'             => '1.11',
-	'DynaLoader'            => '1.05',
-	'Encode'                => '2.10',
-	'Encode::Alias'         => '2.03',
-	'Encode::Byte'          => '2.00',
-	'Encode::CJKConstants'  => '2.00',
-	'Encode::CN'            => '2.00',
-	'Encode::CN::HZ'        => '2.01',
-	'Encode::Config'        => '2.00',
-	'Encode::EBCDIC'        => '2.00',
-	'Encode::Encoder'       => '2.00',
-	'Encode::Encoding'      => '2.02',
-	'Encode::Guess'         => '2.00',
-	'Encode::JP'            => '2.01',
-	'Encode::JP::H2Z'       => '2.00',
-	'Encode::JP::JIS7'      => '2.00',
-	'Encode::KR'            => '2.00',
-	'Encode::KR::2022_KR'   => '2.00',
-	'Encode::MIME::Header'  => '2.00',
-	'Encode::Symbol'        => '2.00',
-	'Encode::TW'            => '2.00',
-	'Encode::Unicode'       => '2.02',
-	'Encode::Unicode::UTF7' => '2.01',
-	'English'               => '1.01',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.09_01',
-	'Exporter'              => '5.58',
-	'Exporter::Heavy'       => '5.58',
-	'ExtUtils::Command'     => '1.05',
-	'ExtUtils::Command::MM' => '0.03',
-	'ExtUtils::Constant'    => '0.16',
-	'ExtUtils::Constant::Base'=> '0.01',
-	'ExtUtils::Constant::Utils'=> '0.01',
-	'ExtUtils::Constant::XS'=> '0.01',
-	'ExtUtils::Embed'       => '1.250601',
-	'ExtUtils::Install'     => '1.32',
-	'ExtUtils::Installed'   => '0.08',
-	'ExtUtils::Liblist'     => '1.01',
-	'ExtUtils::Liblist::Kid'=> '1.3001',
-	'ExtUtils::MM'          => '0.04',
-	'ExtUtils::MM_Any'      => '0.07',
-	'ExtUtils::MM_BeOS'     => '1.04',
-	'ExtUtils::MM_Cygwin'   => '1.06',
-	'ExtUtils::MM_DOS'      => '0.02',
-	'ExtUtils::MM_MacOS'    => '1.07',
-	'ExtUtils::MM_NW5'      => '2.07_02',
-	'ExtUtils::MM_OS2'      => '1.04',
-	'ExtUtils::MM_UWIN'     => '0.02',
-	'ExtUtils::MM_Unix'     => '1.42',
-	'ExtUtils::MM_VMS'      => '5.70',
-	'ExtUtils::MM_Win32'    => '1.09',
-	'ExtUtils::MM_Win95'    => '0.0301',
-	'ExtUtils::MY'          => '0.01',
-	'ExtUtils::MakeMaker'   => '6.17',
-	'ExtUtils::MakeMaker::bytes'=> '0.01',
-	'ExtUtils::MakeMaker::vmsish'=> '0.01',
-	'ExtUtils::Manifest'    => '1.42',
-        'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '1.15',
-	'ExtUtils::Mksymlists'  => '1.19',
-	'ExtUtils::Packlist'    => '0.04',
-	'ExtUtils::testlib'     => '1.15',
-	'Fatal'                 => '1.03',
-	'Fcntl'                 => '1.05',
-	'File::Basename'        => '2.73',
-	'File::CheckTree'       => '4.3',
-	'File::Compare'         => '1.1003',
-	'File::Copy'            => '2.08',
-	'File::DosGlob'         => '1.00',
-	'File::Find'            => '1.09',
-	'File::Glob'            => '1.04',
-	'File::Path'            => '1.07',
-	'File::Spec'            => '3.05',
-	'File::Spec::Cygwin'    => '1.1',
-	'File::Spec::Epoc'      => '1.1',
-	'File::Spec::Functions' => '1.3',
-	'File::Spec::Mac'       => '1.4',
-	'File::Spec::OS2'       => '1.2',
-	'File::Spec::Unix'      => '1.5',
-	'File::Spec::VMS'       => '1.4',
-	'File::Spec::Win32'     => '1.5',
-	'File::Temp'            => '0.16',
-	'File::stat'            => '1.00',
-	'FileCache'             => '1.05',
-	'FileHandle'            => '2.01',
-	'VMS::Filespec'         => '1.11',
-	'Filter::Simple'        => '0.78',
-	'Filter::Util::Call'    => '1.0601',
-	'FindBin'               => '1.44',
-	'GDBM_File'             => '1.07',
-	'Getopt::Long'          => '2.34',
-	'Getopt::Std'           => '1.05',
-	'Hash::Util'            => '0.05',
-	'I18N::Collate'         => '1.00',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.21',
-	'IO::Dir'               => '1.04',
-	'IO::File'              => '1.11',
-	'IO::Handle'            => '1.24',
-	'IO::Pipe'              => '1.123',
-	'IO::Poll'              => '0.06',
-	'IO::Seekable'          => '1.09',
-	'IO::Select'            => '1.16',
-	'IO::Socket'            => '1.28',
-	'IO::Socket::INET'      => '1.28',
-	'IO::Socket::UNIX'      => '1.21',
-	'IPC::Msg'              => '1.02',
-	'IPC::Open2'            => '1.01',
-	'IPC::Open3'            => '1.0106',
-	'IPC::Semaphore'        => '1.02',
-	'IPC::SysV'             => '1.04',
-	'List::Util'            => '1.14',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.09',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Script'        => '2.07',
-	'MIME::Base64'          => '3.05',
-	'MIME::QuotedPrint'     => '3.03',
-	'Math::BigFloat'        => '1.51',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.77',
-	'Math::BigInt::Calc'    => '0.47',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.15',
-	'Math::Complex'         => '1.34',
-	'Math::Trig'            => '1.02',
-	'Memoize'               => '1.01',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'NDBM_File'             => '1.05',
-	'NEXT'                  => '0.60',
-	'Net::Cmd'              => '2.26',
-	'Net::Config'           => '1.10',
-	'Net::Domain'           => '2.19',
-	'Net::FTP'              => '2.75',
-	'Net::FTP::A'           => '1.16',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.23',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.28',
-	'Net::Ping'             => '2.31',
-	'Net::SMTP'             => '2.29',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.00',
-	'ODBM_File'             => '1.05',
-	'Opcode'                => '1.05',
-	'POSIX'                 => '1.08',
-	'PerlIO'                => '1.03',
-	'PerlIO::encoding'      => '0.07',
-	'PerlIO::scalar'        => '0.02',
-	'PerlIO::via'           => '0.02',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.42',
-	'Pod::Find'             => '1.3',
-	'Pod::Functions'        => '1.02',
-	'Pod::Html'             => '1.0503',
-	'Pod::InputObjects'     => '1.3',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '1.37',
-	'Pod::ParseLink'        => '1.06',
-	'Pod::ParseUtils'       => '1.3',
-	'Pod::Parser'           => '1.3',
-	'Pod::Perldoc'          => '3.14',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.02',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.3',
-	'Pod::Text'             => '2.21',
-	'Pod::Text::Color'      => '1.04',
-	'Pod::Text::Overstrike' => '1.1',
-	'Pod::Text::Termcap'    => '1.11',
-	'Pod::Usage'            => '1.3',
-	'SDBM_File'             => '1.04',
-	'Safe'                  => '2.11',
-	'Scalar::Util'          => '1.14',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.01',
-	'SelfLoader'            => '1.0904',
-	'Shell'                 => '0.6',
-	'Socket'                => '1.77',
-	'Stdio'                 => '2.3',
-	'Storable'              => '2.13',
-	'Switch'                => '2.10',
-	'Symbol'                => '1.06',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.06',
-	'Term::ANSIColor'       => '1.09',
-	'Term::Cap'             => '1.09',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.01',
-	'Test'                  => '1.25',
-	'Test::Builder'         => '0.22',
-	'Test::Harness'         => '2.48',
-	'Test::Harness::Assert' => '0.02',
-	'Test::Harness::Iterator'=> '0.02',
-	'Test::Harness::Point'  => '0.01',
-	'Test::Harness::Straps' => '0.23',
-	'Test::More'            => '0.54',
-	'Test::Simple'          => '0.54',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '1.95',
-	'Text::ParseWords'      => '3.24',
-	'Text::Soundex'         => '1.01',
-	'Text::Tabs'            => '98.112801',
-	'Text::Wrap'            => '2001.09293',
-	'Thread'                => '2.00',
-	'Thread::Queue'         => '2.00',
-	'Thread::Semaphore'     => '2.01',
-	'Thread::Signal'        => '1.00',
-	'Thread::Specific'      => '1.00',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97',
-	'Tie::Handle'           => '4.1',
-	'Tie::Hash'             => '1.01',
-	'Tie::Memoize'          => '1.0',
-	'Tie::RefHash'          => '1.32',
-	'Tie::Scalar'           => '1.00',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.66',
-	'Time::Local'           => '1.11',
-	'Time::gmtime'          => '1.02',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.01',
-        'Unicode'               => '4.1.0', # lib/unicore/version
-	'Unicode::Collate'      => '0.40',
-	'Unicode::Normalize'    => '0.32',
-	'Unicode::UCD'          => '0.23',
-	'User::grent'           => '1.00',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.24',
-	'XS::APItest'           => '0.06',
-	'XS::Typemap'           => '0.01',
-	'XSLoader'              => '0.02',
-	'XSSymSet'              => '1.0',
-	'attributes'            => '0.06',
-	'attrs'                 => '1.01',
-	'autouse'               => '1.04',
-	'base'                  => '2.07',
-	'bigint'                => '0.07',
-	'bignum'                => '0.17',
-	'bigrat'                => '0.08',
-	'blib'                  => '1.02',
-	'bytes'                 => '1.02',
-	'charnames'             => '1.04',
-	'constant'              => '1.05',
-	'diagnostics'           => '1.14',
-	'encoding'              => '2.01',
-	'fields'                => '2.03',
-	'filetest'              => '1.01',
-	'if'                    => '0.03',
-	'integer'               => '1.00',
-	'less'                  => '0.01',
-	'lib'                   => '0.5565',
-	'locale'                => '1.00',
-	'open'                  => '1.04',
-	'ops'                   => '1.00',
-	'overload'              => '1.03',
-	're'                    => '0.04',
-	'sigtrap'               => '1.02',
-	'sort'                  => '1.02',
-	'strict'                => '1.03',
-	'subs'                  => '1.00',
-	'threads'               => '1.05',
-	'threads::shared'       => '0.93',
-	'utf8'                  => '1.05',
-	'vars'                  => '1.01',
-	'vmsish'                => '1.01',
-	'warnings'              => '1.03',
-	'warnings::register'    => '1.00',
-    },
-
     5.009003 => {
-	'AnyDBM_File'           => '1.00',
-	'Archive::Tar'          => '1.26_01',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.78_02',
-	'AutoLoader'            => '5.60',
-	'AutoSplit'             => '1.04_01',
-	'B'                     => '1.10',
-	'B::Asmdata'            => '1.01',
-	'B::Assembler'          => '0.07',
-	'B::Bblock'             => '1.02',
-	'B::Bytecode'           => '1.01',
-	'B::C'                  => '1.04',
-	'B::CC'                 => '1.00',
-	'B::Concise'            => '0.67',
-	'B::Debug'              => '1.02',
-	'B::Deparse'            => '0.73',
-	'B::Disassembler'       => '1.05',
-	'B::Lint'               => '1.04',
-	'B::Showlex'            => '1.02',
-	'B::Stackobj'           => '1.00',
-	'B::Stash'              => '1.00',
-	'B::Terse'              => '1.03',
-	'B::Xref'               => '1.01',
-	'Benchmark'             => '1.07',
-	'ByteLoader'            => '0.06',
-	'CGI'                   => '3.15_01',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.29',
-	'CGI::Cookie'           => '1.26',
-	'CGI::Fast'             => '1.05',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5',
-	'CPAN'                  => '1.83_58',
-	'CPAN::Debug'           => '4.44',
-	'CPAN::FirstTime'       => '4.50',
-	'CPAN::HandleConfig'    => '4.31',
-	'CPAN::Nox'             => '2.31',
-	'CPAN::Tarzip'          => '3.36',
-	'CPAN::Version'         => '2.55',
-	'Carp'                  => '1.05',
-	'Carp::Heavy'           => '1.05',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-	'Compress::Zlib'        => '2.000_07',
-	'Compress::Zlib::Common'=> '2.000_07',
-	'Compress::Zlib::Compress::Gzip::Constants'=> '2.000_07',
-	'Compress::Zlib::Compress::Zip::Constants'=> '1.00',
-	'Compress::Zlib::CompressPlugin::Deflate'=> '2.000_05',
-	'Compress::Zlib::CompressPlugin::Identity'=> '2.000_05',
-	'Compress::Zlib::File::GlobMapper'=> '0.000_02',
-	'Compress::Zlib::FileConstants'=> '2.000_07',
-	'Compress::Zlib::IO::Compress::Base'=> '2.000_05',
-	'Compress::Zlib::IO::Compress::Deflate'=> '2.000_07',
-	'Compress::Zlib::IO::Compress::Gzip'=> '2.000_07',
-	'Compress::Zlib::IO::Compress::RawDeflate'=> '2.000_07',
-	'Compress::Zlib::IO::Compress::Zip'=> '2.000_04',
-	'Compress::Zlib::IO::Uncompress::AnyInflate'=> '2.000_07',
-	'Compress::Zlib::IO::Uncompress::AnyUncompress'=> '2.000_05',
-	'Compress::Zlib::IO::Uncompress::Base'=> '2.000_05',
-	'Compress::Zlib::IO::Uncompress::Gunzip'=> '2.000_07',
-	'Compress::Zlib::IO::Uncompress::Inflate'=> '2.000_07',
-	'Compress::Zlib::IO::Uncompress::RawInflate'=> '2.000_07',
-	'Compress::Zlib::IO::Uncompress::Unzip'=> '2.000_05',
-	'Compress::Zlib::ParseParameters'=> '2.000_07',
-	'Compress::Zlib::UncompressPlugin::Identity'=> '2.000_05',
-	'Compress::Zlib::UncompressPlugin::Inflate'=> '2.000_05',
-        'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.15',
-	'DB'                    => '1.01',
-	'DBM_Filter'            => '0.01',
-	'DBM_Filter::compress'  => '0.01',
-	'DBM_Filter::encode'    => '0.01',
-	'DBM_Filter::int32'     => '0.01',
-	'DBM_Filter::null'      => '0.01',
-	'DBM_Filter::utf8'      => '0.01',
-	'DB_File'               => '1.814',
-	'DCLsym'                => '1.02',
-	'Data::Dumper'          => '2.121_08',
-	'Devel::DProf'          => '20050603.00',
-	'Devel::PPPort'         => '3.08',
-	'Devel::Peek'           => '1.03',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.14',
-	'Digest::MD5'           => '2.36',
-	'Digest::SHA'           => '5.32',
-	'Digest::base'          => '1.00',
-	'Digest::file'          => '1.00',
-	'DirHandle'             => '1.01',
-	'Dumpvalue'             => '1.12',
-	'DynaLoader'            => '1.07',
-	'Encode'                => '2.14',
-	'Encode::Alias'         => '2.04',
-	'Encode::Byte'          => '2.00',
-	'Encode::CJKConstants'  => '2.00',
-	'Encode::CN'            => '2.00',
-	'Encode::CN::HZ'        => '2.02',
-	'Encode::Config'        => '2.01',
-	'Encode::EBCDIC'        => '2.00',
-	'Encode::Encoder'       => '2.00',
-	'Encode::Encoding'      => '2.02',
-	'Encode::Guess'         => '2.00',
-	'Encode::JP'            => '2.01',
-	'Encode::JP::H2Z'       => '2.00',
-	'Encode::JP::JIS7'      => '2.00',
-	'Encode::KR'            => '2.00',
-	'Encode::KR::2022_KR'   => '2.00',
-	'Encode::MIME::Header'  => '2.02',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.01',
-	'Encode::Symbol'        => '2.00',
-	'Encode::TW'            => '2.00',
-	'Encode::Unicode'       => '2.02',
-	'Encode::Unicode::UTF7' => '2.01',
-	'English'               => '1.04',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.09_01',
-	'Exporter'              => '5.59',
-	'Exporter::Heavy'       => '5.59',
-	'ExtUtils::CBuilder'    => '0.15',
-	'ExtUtils::CBuilder::Base'=> '0.12',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.12',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.12',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.12',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.12',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.12',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.12',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.01',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.13',
-	'ExtUtils::Command'     => '1.09',
-	'ExtUtils::Command::MM' => '0.05_01',
-	'ExtUtils::Constant'    => '0.2',
-	'ExtUtils::Constant::Base'=> '0.02',
-	'ExtUtils::Constant::ProxySubs'=> '0.01',
-	'ExtUtils::Constant::Utils'=> '0.01',
-	'ExtUtils::Constant::XS'=> '0.02',
-	'ExtUtils::Embed'       => '1.26',
-	'ExtUtils::Install'     => '1.33',
-	'ExtUtils::Installed'   => '0.08',
-	'ExtUtils::Liblist'     => '1.01',
-	'ExtUtils::Liblist::Kid'=> '1.3',
-	'ExtUtils::MM'          => '0.05',
-	'ExtUtils::MM_AIX'      => '0.03',
-	'ExtUtils::MM_Any'      => '0.13_01',
-	'ExtUtils::MM_BeOS'     => '1.05',
-	'ExtUtils::MM_Cygwin'   => '1.08',
-	'ExtUtils::MM_DOS'      => '0.02',
-	'ExtUtils::MM_MacOS'    => '1.08',
-	'ExtUtils::MM_NW5'      => '2.08',
-	'ExtUtils::MM_OS2'      => '1.05',
-	'ExtUtils::MM_QNX'      => '0.02',
-	'ExtUtils::MM_UWIN'     => '0.02',
-	'ExtUtils::MM_Unix'     => '1.50_01',
-	'ExtUtils::MM_VMS'      => '5.73',
-	'ExtUtils::MM_VOS'      => '0.02',
-	'ExtUtils::MM_Win32'    => '1.12',
-	'ExtUtils::MM_Win95'    => '0.04',
-	'ExtUtils::MY'          => '0.01',
-	'ExtUtils::MakeMaker'   => '6.30_01',
-	'ExtUtils::MakeMaker::Config'=> '0.02',
-	'ExtUtils::MakeMaker::bytes'=> '0.01',
-	'ExtUtils::MakeMaker::vmsish'=> '0.01',
-	'ExtUtils::Manifest'    => '1.46',
-        'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '1.15',
-	'ExtUtils::Mksymlists'  => '1.19',
-	'ExtUtils::Packlist'    => '0.04',
-	'ExtUtils::ParseXS'     => '2.15_02',
-	'ExtUtils::testlib'     => '1.15',
-	'Fatal'                 => '1.04',
-	'Fcntl'                 => '1.05',
-	'File::Basename'        => '2.74',
-	'File::CheckTree'       => '4.3',
-	'File::Compare'         => '1.1005',
-	'File::Copy'            => '2.09',
-	'File::DosGlob'         => '1.00',
-	'File::Find'            => '1.10',
-	'File::Glob'            => '1.05',
-	'File::Path'            => '1.08',
-	'File::Spec'            => '3.15',
-	'File::Spec::Cygwin'    => '1.1',
-	'File::Spec::Epoc'      => '1.1',
-	'File::Spec::Functions' => '1.3',
-	'File::Spec::Mac'       => '1.4',
-	'File::Spec::OS2'       => '1.2',
-	'File::Spec::Unix'      => '1.5',
-	'File::Spec::VMS'       => '1.4',
-	'File::Spec::Win32'     => '1.6',
-	'File::Temp'            => '0.16_01',
-	'File::stat'            => '1.00',
-	'FileCache'             => '1.06',
-	'FileHandle'            => '2.01',
-	'VMS::Filespec'         => '1.11',
-	'Filter::Simple'        => '0.82',
-	'Filter::Util::Call'    => '1.0601',
-	'FindBin'               => '1.47',
-	'GDBM_File'             => '1.08',
-	'Getopt::Long'          => '2.35',
-	'Getopt::Std'           => '1.05',
-	'Hash::Util'            => '0.05',
-	'I18N::Collate'         => '1.00',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.22',
-	'IO::Dir'               => '1.05',
-	'IO::File'              => '1.13_01',
-	'IO::Handle'            => '1.26',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.29_01',
-	'IO::Socket::INET'      => '1.29_02',
-	'IO::Socket::UNIX'      => '1.22_01',
-	'IO::Zlib'              => '1.04_02',
-	'IPC::Msg'              => '1.02',
-	'IPC::Open2'            => '1.02',
-	'IPC::Open3'            => '1.02',
-	'IPC::Semaphore'        => '1.02',
-	'IPC::SysV'             => '1.04',
-	'List::Util'            => '1.18',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.10_01',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Script'        => '2.07',
-	'MIME::Base64'          => '3.07',
-	'MIME::QuotedPrint'     => '3.07',
-	'Math::BigFloat'        => '1.51',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.77',
-	'Math::BigInt::Calc'    => '0.47',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.10',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.15',
-	'Math::Complex'         => '1.35',
-	'Math::Trig'            => '1.03',
-	'Memoize'               => '1.01_01',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::CoreList'      => '2.02',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.06',
-	'NEXT'                  => '0.60_01',
-	'Net::Cmd'              => '2.26_01',
-	'Net::Config'           => '1.10',
-	'Net::Domain'           => '2.19_01',
-	'Net::FTP'              => '2.75',
-	'Net::FTP::A'           => '1.16',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.23',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.28',
-	'Net::Ping'             => '2.31_04',
-	'Net::SMTP'             => '2.29',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.00',
-	'ODBM_File'             => '1.06',
-	'Opcode'                => '1.08',
-	'POSIX'                 => '1.10',
-	'PerlIO'                => '1.04',
-	'PerlIO::encoding'      => '0.09',
-	'PerlIO::scalar'        => '0.04',
-	'PerlIO::via'           => '0.03',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.43',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.34',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.0504',
-	'Pod::InputObjects'     => '1.3',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.04',
-	'Pod::ParseLink'        => '1.06',
-	'Pod::ParseUtils'       => '1.33',
-	'Pod::Parser'           => '1.32',
-	'Pod::Perldoc'          => '3.14_01',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.02',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.3',
-	'Pod::Simple'           => '3.04',
-	'Pod::Simple::BlackBox' => undef,
-	'Pod::Simple::Checker'  => '2.02',
-	'Pod::Simple::Debug'    => undef,
-	'Pod::Simple::DumpAsText'=> '2.02',
-	'Pod::Simple::DumpAsXML'=> '2.02',
-	'Pod::Simple::HTML'     => '3.03',
-	'Pod::Simple::HTMLBatch'=> '3.02',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> undef,
-	'Pod::Simple::Methody'  => '2.02',
-	'Pod::Simple::Progress' => '1.01',
-	'Pod::Simple::PullParser'=> '2.02',
-	'Pod::Simple::PullParserEndToken'=> undef,
-	'Pod::Simple::PullParserStartToken'=> undef,
-	'Pod::Simple::PullParserTextToken'=> undef,
-	'Pod::Simple::PullParserToken'=> '2.02',
-	'Pod::Simple::RTF'      => '2.02',
-	'Pod::Simple::Search'   => '3.04',
-	'Pod::Simple::SimpleTree'=> '2.02',
-	'Pod::Simple::Text'     => '2.02',
-	'Pod::Simple::TextContent'=> '2.02',
-	'Pod::Simple::TiedOutFH'=> undef,
-	'Pod::Simple::Transcode'=> undef,
-	'Pod::Simple::TranscodeDumb'=> '2.02',
-	'Pod::Simple::TranscodeSmart'=> undef,
-	'Pod::Simple::XMLOutStream'=> '2.02',
-	'Pod::Text'             => '3.01',
-	'Pod::Text::Color'      => '2.01',
-	'Pod::Text::Overstrike' => '2',
-	'Pod::Text::Termcap'    => '2.01',
-	'Pod::Usage'            => '1.33_01',
-	'SDBM_File'             => '1.05',
-	'Safe'                  => '2.12',
-	'Scalar::Util'          => '1.18',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.01',
-	'SelfLoader'            => '1.0905',
-	'Shell'                 => '0.6',
-	'Socket'                => '1.78',
-	'Stdio'                 => '2.3',
-	'Storable'              => '2.15_02',
-	'Switch'                => '2.10_01',
-	'Symbol'                => '1.06',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.13',
-	'Term::ANSIColor'       => '1.10',
-	'Term::Cap'             => '1.09',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.02',
-	'Test'                  => '1.25',
-	'Test::Builder'         => '0.32',
-	'Test::Builder::Module' => '0.03',
-	'Test::Builder::Tester' => '1.02',
-	'Test::Builder::Tester::Color'=> undef,
-	'Test::Harness'         => '2.56',
-	'Test::Harness::Assert' => '0.02',
-	'Test::Harness::Iterator'=> '0.02',
-	'Test::Harness::Point'  => '0.01',
-	'Test::Harness::Straps' => '0.26',
-	'Test::More'            => '0.62',
-	'Test::Simple'          => '0.62',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '1.95_01',
-	'Text::ParseWords'      => '3.24',
-	'Text::Soundex'         => '1.01',
-	'Text::Tabs'            => '2005.0824',
-	'Text::Wrap'            => '2005.082401',
-	'Thread'                => '2.00',
-	'Thread::Queue'         => '2.00',
-	'Thread::Semaphore'     => '2.01',
-	'Thread::Signal'        => '1.00',
-	'Thread::Specific'      => '1.00',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_01',
-	'Tie::Handle'           => '4.1',
-	'Tie::Hash'             => '1.02',
-	'Tie::Memoize'          => '1.0',
-	'Tie::RefHash'          => '1.32',
-	'Tie::Scalar'           => '1.00',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.86',
-	'Time::Local'           => '1.11',
-	'Time::gmtime'          => '1.02',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.03',
-        'Unicode'               => '4.1.0',
-	'Unicode::Collate'      => '0.52',
-	'Unicode::Normalize'    => '0.32',
-	'Unicode::UCD'          => '0.24',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.2601',
-	'XS::APItest'           => '0.09',
-	'XS::Typemap'           => '0.02',
-	'XSLoader'              => '0.06',
-	'XSSymSet'              => '1.0',
-	'assertions'            => '0.02',
-	'assertions::activate'  => '0.02',
-	'assertions::compat'    => undef,
-	'attributes'            => '0.06',
-	'attrs'                 => '1.02',
-	'autouse'               => '1.05',
-	'base'                  => '2.07',
-	'bigint'                => '0.07',
-	'bignum'                => '0.17',
-	'bigrat'                => '0.08',
-	'blib'                  => '1.03',
-	'bytes'                 => '1.02',
-	'charnames'             => '1.05',
-	'constant'              => '1.07',
-	'diagnostics'           => '1.15',
-	'encoding'              => '2.02',
-	'encoding::warnings'    => '0.05',
-	'feature'               => '1.00',
-	'fields'                => '2.03',
-	'filetest'              => '1.01',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.01',
-	'lib'                   => '0.5565',
-	'locale'                => '1.00',
-	'open'                  => '1.05',
-	'ops'                   => '1.01',
-	'overload'              => '1.04',
-	're'                    => '0.06',
-	'sigtrap'               => '1.02',
-	'sort'                  => '2.00',
-	'strict'                => '1.03',
-	'subs'                  => '1.00',
-	'threads'               => '1.07',
-	'threads::shared'       => '0.94',
-	'utf8'                  => '1.06',
-	'vars'                  => '1.01',
-	'version'               => '0.53',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.05',
-	'warnings::register'    => '1.01',
+        delta_from => 5.008008,
+        changed => {
+            'Archive::Tar'          => '1.26_01',
+            'Archive::Tar::Constant'=> '0.02',
+            'Archive::Tar::File'    => '0.02',
+            'AutoSplit'             => '1.04_01',
+            'B'                     => '1.10',
+            'B::Bblock'             => '1.02',
+            'B::Bytecode'           => '1.01',
+            'B::C'                  => '1.04',
+            'B::CC'                 => '1.00',
+            'B::Concise'            => '0.67',
+            'B::Debug'              => '1.02',
+            'B::Deparse'            => '0.73',
+            'B::Lint'               => '1.04',
+            'B::Terse'              => '1.03',
+            'CGI'                   => '3.15_01',
+            'CPAN'                  => '1.83_58',
+            'CPAN::Debug'           => '4.44',
+            'CPAN::FirstTime'       => '4.50',
+            'CPAN::HandleConfig'    => '4.31',
+            'CPAN::Nox'             => '2.31',
+            'CPAN::Tarzip'          => '3.36',
+            'CPAN::Version'         => '2.55',
+            'Carp'                  => '1.05',
+            'Carp::Heavy'           => '1.05',
+            'Compress::Zlib'        => '2.000_07',
+            'Compress::Zlib::Common'=> '2.000_07',
+            'Compress::Zlib::Compress::Gzip::Constants'=> '2.000_07',
+            'Compress::Zlib::Compress::Zip::Constants'=> '1.00',
+            'Compress::Zlib::CompressPlugin::Deflate'=> '2.000_05',
+            'Compress::Zlib::CompressPlugin::Identity'=> '2.000_05',
+            'Compress::Zlib::File::GlobMapper'=> '0.000_02',
+            'Compress::Zlib::FileConstants'=> '2.000_07',
+            'Compress::Zlib::IO::Compress::Base'=> '2.000_05',
+            'Compress::Zlib::IO::Compress::Deflate'=> '2.000_07',
+            'Compress::Zlib::IO::Compress::Gzip'=> '2.000_07',
+            'Compress::Zlib::IO::Compress::RawDeflate'=> '2.000_07',
+            'Compress::Zlib::IO::Compress::Zip'=> '2.000_04',
+            'Compress::Zlib::IO::Uncompress::AnyInflate'=> '2.000_07',
+            'Compress::Zlib::IO::Uncompress::AnyUncompress'=> '2.000_05',
+            'Compress::Zlib::IO::Uncompress::Base'=> '2.000_05',
+            'Compress::Zlib::IO::Uncompress::Gunzip'=> '2.000_07',
+            'Compress::Zlib::IO::Uncompress::Inflate'=> '2.000_07',
+            'Compress::Zlib::IO::Uncompress::RawInflate'=> '2.000_07',
+            'Compress::Zlib::IO::Uncompress::Unzip'=> '2.000_05',
+            'Compress::Zlib::ParseParameters'=> '2.000_07',
+            'Compress::Zlib::UncompressPlugin::Identity'=> '2.000_05',
+            'Compress::Zlib::UncompressPlugin::Inflate'=> '2.000_05',
+            'Config::Extensions'    => '0.01',
+            'Cwd'                   => '3.15',
+            'Devel::PPPort'         => '3.08',
+            'Digest::SHA'           => '5.32',
+            'DirHandle'             => '1.01',
+            'DynaLoader'            => '1.07',
+            'Encode'                => '2.14',
+            'Encode::CN::HZ'        => '2.02',
+            'Encode::MIME::Header'  => '2.02',
+            'English'               => '1.04',
+            'Exporter'              => '5.59',
+            'Exporter::Heavy'       => '5.59',
+            'ExtUtils::CBuilder'    => '0.15',
+            'ExtUtils::CBuilder::Base'=> '0.12',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.12',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.12',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.12',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.12',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.12',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.12',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.01',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.13',
+            'ExtUtils::Command::MM' => '0.05_01',
+            'ExtUtils::Constant'    => '0.2',
+            'ExtUtils::Constant::Base'=> '0.02',
+            'ExtUtils::Constant::ProxySubs'=> '0.01',
+            'ExtUtils::Constant::XS'=> '0.02',
+            'ExtUtils::MM_Any'      => '0.13_01',
+            'ExtUtils::MM_Unix'     => '1.50_01',
+            'ExtUtils::MakeMaker'   => '6.30_01',
+            'ExtUtils::ParseXS'     => '2.15_02',
+            'Fatal'                 => '1.04',
+            'File::Compare'         => '1.1005',
+            'File::Spec'            => '3.15',
+            'File::Temp'            => '0.16_01',
+            'IO::File'              => '1.13_01',
+            'IO::Handle'            => '1.26',
+            'IO::Socket'            => '1.29_01',
+            'IO::Socket::INET'      => '1.29_02',
+            'IO::Socket::UNIX'      => '1.22_01',
+            'IO::Zlib'              => '1.04_02',
+            'Locale::Maketext'      => '1.10_01',
+            'Math::BigInt::FastCalc'=> '0.10',
+            'Memoize'               => '1.01_01',
+            'Module::CoreList'      => '2.02',
+            'Moped::Msg'            => '0.01',
+            'NEXT'                  => '0.60_01',
+            'Net::Cmd'              => '2.26_01',
+            'Net::Domain'           => '2.19_01',
+            'Net::Ping'             => '2.31_04',
+            'Opcode'                => '1.08',
+            'POSIX'                 => '1.10',
+            'Pod::Escapes'          => '1.04',
+            'Pod::Man'              => '2.04',
+            'Pod::Perldoc'          => '3.14_01',
+            'Pod::Simple'           => '3.04',
+            'Pod::Simple::BlackBox' => undef,
+            'Pod::Simple::Checker'  => '2.02',
+            'Pod::Simple::Debug'    => undef,
+            'Pod::Simple::DumpAsText'=> '2.02',
+            'Pod::Simple::DumpAsXML'=> '2.02',
+            'Pod::Simple::HTML'     => '3.03',
+            'Pod::Simple::HTMLBatch'=> '3.02',
+            'Pod::Simple::HTMLLegacy'=> '5.01',
+            'Pod::Simple::LinkSection'=> undef,
+            'Pod::Simple::Methody'  => '2.02',
+            'Pod::Simple::Progress' => '1.01',
+            'Pod::Simple::PullParser'=> '2.02',
+            'Pod::Simple::PullParserEndToken'=> undef,
+            'Pod::Simple::PullParserStartToken'=> undef,
+            'Pod::Simple::PullParserTextToken'=> undef,
+            'Pod::Simple::PullParserToken'=> '2.02',
+            'Pod::Simple::RTF'      => '2.02',
+            'Pod::Simple::Search'   => '3.04',
+            'Pod::Simple::SimpleTree'=> '2.02',
+            'Pod::Simple::Text'     => '2.02',
+            'Pod::Simple::TextContent'=> '2.02',
+            'Pod::Simple::TiedOutFH'=> undef,
+            'Pod::Simple::Transcode'=> undef,
+            'Pod::Simple::TranscodeDumb'=> '2.02',
+            'Pod::Simple::TranscodeSmart'=> undef,
+            'Pod::Simple::XMLOutStream'=> '2.02',
+            'Pod::Text'             => '3.01',
+            'Pod::Text::Color'      => '2.01',
+            'Pod::Text::Overstrike' => '2',
+            'Pod::Text::Termcap'    => '2.01',
+            'Pod::Usage'            => '1.33_01',
+            'SelfLoader'            => '1.0905',
+            'Storable'              => '2.15_02',
+            'Test::Builder::Module' => '0.03',
+            'Text::Balanced'        => '1.95_01',
+            'Tie::File'             => '0.97_01',
+            'UNIVERSAL'             => '1.03',
+            'XS::APItest'           => '0.09',
+            'assertions'            => '0.02',
+            'assertions::activate'  => '0.02',
+            'assertions::compat'    => undef,
+            'constant'              => '1.07',
+            'encoding::warnings'    => '0.05',
+            'feature'               => '1.00',
+            're'                    => '0.06',
+            'sort'                  => '2.00',
+            'version'               => '0.53',
+        },
+        removed => {
+        }
     },
-
-    5.008008 => {
-	'AnyDBM_File'           => '1.00',
-	'Attribute::Handlers'   => '0.78_02',
-	'AutoLoader'            => '5.60',
-	'AutoSplit'             => '1.04',
-	'B'                     => '1.09_01',
-	'B::Asmdata'            => '1.01',
-	'B::Assembler'          => '0.07',
-	'B::Bblock'             => '1.02_01',
-	'B::Bytecode'           => '1.01_01',
-	'B::C'                  => '1.04_01',
-	'B::CC'                 => '1.00_01',
-	'B::Concise'            => '0.66',
-	'B::Debug'              => '1.02_01',
-	'B::Deparse'            => '0.71',
-	'B::Disassembler'       => '1.05',
-	'B::Lint'               => '1.03',
-	'B::Showlex'            => '1.02',
-	'B::Stackobj'           => '1.00',
-	'B::Stash'              => '1.00',
-	'B::Terse'              => '1.03_01',
-	'B::Xref'               => '1.01',
-	'Benchmark'             => '1.07',
-	'ByteLoader'            => '0.06',
-	'CGI'                   => '3.15',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.29',
-	'CGI::Cookie'           => '1.26',
-	'CGI::Fast'             => '1.05',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5',
-	'CPAN'                  => '1.76_02',
-	'CPAN::FirstTime'       => '1.60 ',
-	'CPAN::Nox'             => '1.03',
-	'Carp'                  => '1.04',
-	'Carp::Heavy'           => '1.04',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-        'Config'                => undef,
-	'Cwd'                   => '3.12',
-	'DB'                    => '1.01',
-	'DBM_Filter'            => '0.01',
-	'DBM_Filter::compress'  => '0.01',
-	'DBM_Filter::encode'    => '0.01',
-	'DBM_Filter::int32'     => '0.01',
-	'DBM_Filter::null'      => '0.01',
-	'DBM_Filter::utf8'      => '0.01',
-	'DB_File'               => '1.814',
-	'DCLsym'                => '1.02',
-	'Data::Dumper'          => '2.121_08',
-	'Devel::DProf'          => '20050603.00',
-	'Devel::PPPort'         => '3.06_01',
-	'Devel::Peek'           => '1.03',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.14',
-	'Digest::MD5'           => '2.36',
-	'Digest::base'          => '1.00',
-	'Digest::file'          => '1.00',
-	'DirHandle'             => '1.00',
-	'Dumpvalue'             => '1.12',
-	'DynaLoader'            => '1.05',
-	'Encode'                => '2.12',
-	'Encode::Alias'         => '2.04',
-	'Encode::Byte'          => '2.00',
-	'Encode::CJKConstants'  => '2.00',
-	'Encode::CN'            => '2.00',
-	'Encode::CN::HZ'        => '2.01',
-	'Encode::Config'        => '2.01',
-	'Encode::EBCDIC'        => '2.00',
-	'Encode::Encoder'       => '2.00',
-	'Encode::Encoding'      => '2.02',
-	'Encode::Guess'         => '2.00',
-	'Encode::JP'            => '2.01',
-	'Encode::JP::H2Z'       => '2.00',
-	'Encode::JP::JIS7'      => '2.00',
-	'Encode::KR'            => '2.00',
-	'Encode::KR::2022_KR'   => '2.00',
-	'Encode::MIME::Header'  => '2.01',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.01',
-	'Encode::Symbol'        => '2.00',
-	'Encode::TW'            => '2.00',
-	'Encode::Unicode'       => '2.02',
-	'Encode::Unicode::UTF7' => '2.01',
-	'English'               => '1.02',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.09_01',
-	'Exporter'              => '5.58',
-	'Exporter::Heavy'       => '5.58',
-	'ExtUtils::Command'     => '1.09',
-	'ExtUtils::Command::MM' => '0.05',
-	'ExtUtils::Constant'    => '0.17',
-	'ExtUtils::Constant::Base'=> '0.01',
-	'ExtUtils::Constant::Utils'=> '0.01',
-	'ExtUtils::Constant::XS'=> '0.01',
-	'ExtUtils::Embed'       => '1.26',
-	'ExtUtils::Install'     => '1.33',
-	'ExtUtils::Installed'   => '0.08',
-	'ExtUtils::Liblist'     => '1.01',
-	'ExtUtils::Liblist::Kid'=> '1.3',
-	'ExtUtils::MM'          => '0.05',
-	'ExtUtils::MM_AIX'      => '0.03',
-	'ExtUtils::MM_Any'      => '0.13',
-	'ExtUtils::MM_BeOS'     => '1.05',
-	'ExtUtils::MM_Cygwin'   => '1.08',
-	'ExtUtils::MM_DOS'      => '0.02',
-	'ExtUtils::MM_MacOS'    => '1.08',
-	'ExtUtils::MM_NW5'      => '2.08',
-	'ExtUtils::MM_OS2'      => '1.05',
-	'ExtUtils::MM_QNX'      => '0.02',
-	'ExtUtils::MM_UWIN'     => '0.02',
-	'ExtUtils::MM_Unix'     => '1.50',
-	'ExtUtils::MM_VMS'      => '5.73',
-	'ExtUtils::MM_VOS'      => '0.02',
-	'ExtUtils::MM_Win32'    => '1.12',
-	'ExtUtils::MM_Win95'    => '0.04',
-	'ExtUtils::MY'          => '0.01',
-	'ExtUtils::MakeMaker'   => '6.30',
-	'ExtUtils::MakeMaker::Config'=> '0.02',
-	'ExtUtils::MakeMaker::bytes'=> '0.01',
-	'ExtUtils::MakeMaker::vmsish'=> '0.01',
-	'ExtUtils::Manifest'    => '1.46',
-        'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '1.15',
-	'ExtUtils::Mksymlists'  => '1.19',
-	'ExtUtils::Packlist'    => '0.04',
-	'ExtUtils::testlib'     => '1.15',
-	'Fatal'                 => '1.03',
-	'Fcntl'                 => '1.05',
-	'File::Basename'        => '2.74',
-	'File::CheckTree'       => '4.3',
-	'File::Compare'         => '1.1003',
-	'File::Copy'            => '2.09',
-	'File::DosGlob'         => '1.00',
-	'File::Find'            => '1.10',
-	'File::Glob'            => '1.05',
-	'File::Path'            => '1.08',
-	'File::Spec'            => '3.12',
-	'File::Spec::Cygwin'    => '1.1',
-	'File::Spec::Epoc'      => '1.1',
-	'File::Spec::Functions' => '1.3',
-	'File::Spec::Mac'       => '1.4',
-	'File::Spec::OS2'       => '1.2',
-	'File::Spec::Unix'      => '1.5',
-	'File::Spec::VMS'       => '1.4',
-	'File::Spec::Win32'     => '1.6',
-	'File::Temp'            => '0.16',
-	'File::stat'            => '1.00',
-	'FileCache'             => '1.06',
-	'FileHandle'            => '2.01',
-	'VMS::Filespec'         => '1.11',
-	'Filter::Simple'        => '0.82',
-	'Filter::Util::Call'    => '1.0601',
-	'FindBin'               => '1.47',
-	'GDBM_File'             => '1.08',
-	'Getopt::Long'          => '2.35',
-	'Getopt::Std'           => '1.05',
-	'Hash::Util'            => '0.05',
-	'I18N::Collate'         => '1.00',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.22',
-	'IO::Dir'               => '1.05',
-	'IO::File'              => '1.13',
-	'IO::Handle'            => '1.25',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.29',
-	'IO::Socket::INET'      => '1.29',
-	'IO::Socket::UNIX'      => '1.22',
-	'IPC::Msg'              => '1.02',
-	'IPC::Open2'            => '1.02',
-	'IPC::Open3'            => '1.02',
-	'IPC::Semaphore'        => '1.02',
-	'IPC::SysV'             => '1.04',
-	'List::Util'            => '1.18',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.09',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Script'        => '2.07',
-	'MIME::Base64'          => '3.07',
-	'MIME::QuotedPrint'     => '3.07',
-	'Math::BigFloat'        => '1.51',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.77',
-	'Math::BigInt::Calc'    => '0.47',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.15',
-	'Math::Complex'         => '1.35',
-	'Math::Trig'            => '1.03',
-	'Memoize'               => '1.01',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'NDBM_File'             => '1.06',
-	'NEXT'                  => '0.60',
-	'Net::Cmd'              => '2.26',
-	'Net::Config'           => '1.10',
-	'Net::Domain'           => '2.19',
-	'Net::FTP'              => '2.75',
-	'Net::FTP::A'           => '1.16',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.23',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.28',
-	'Net::Ping'             => '2.31',
-	'Net::SMTP'             => '2.29',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.00',
-	'ODBM_File'             => '1.06',
-	'Opcode'                => '1.06',
-	'POSIX'                 => '1.09',
-	'PerlIO'                => '1.04',
-	'PerlIO::encoding'      => '0.09',
-	'PerlIO::scalar'        => '0.04',
-	'PerlIO::via'           => '0.03',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.43',
-	'Pod::Find'             => '1.34',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.0504',
-	'Pod::InputObjects'     => '1.3',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '1.37',
-	'Pod::ParseLink'        => '1.06',
-	'Pod::ParseUtils'       => '1.33',
-	'Pod::Parser'           => '1.32',
-	'Pod::Perldoc'          => '3.14',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.02',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.3',
-	'Pod::Text'             => '2.21',
-	'Pod::Text::Color'      => '1.04',
-	'Pod::Text::Overstrike' => '1.1',
-	'Pod::Text::Termcap'    => '1.11',
-	'Pod::Usage'            => '1.33',
-	'SDBM_File'             => '1.05',
-	'Safe'                  => '2.12',
-	'Scalar::Util'          => '1.18',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.01',
-	'SelfLoader'            => '1.0904',
-	'Shell'                 => '0.6',
-	'Socket'                => '1.78',
-	'Stdio'                 => '2.3',
-	'Storable'              => '2.15',
-	'Switch'                => '2.10_01',
-	'Symbol'                => '1.06',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.13',
-	'Term::ANSIColor'       => '1.10',
-	'Term::Cap'             => '1.09',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.02',
-	'Test'                  => '1.25',
-	'Test::Builder'         => '0.32',
-	'Test::Builder::Module' => '0.02',
-	'Test::Builder::Tester' => '1.02',
-	'Test::Builder::Tester::Color'=> undef,
-	'Test::Harness'         => '2.56',
-	'Test::Harness::Assert' => '0.02',
-	'Test::Harness::Iterator'=> '0.02',
-	'Test::Harness::Point'  => '0.01',
-	'Test::Harness::Straps' => '0.26',
-	'Test::More'            => '0.62',
-	'Test::Simple'          => '0.62',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '1.95',
-	'Text::ParseWords'      => '3.24',
-	'Text::Soundex'         => '1.01',
-	'Text::Tabs'            => '2005.0824',
-	'Text::Wrap'            => '2005.082401',
-	'Thread'                => '2.00',
-	'Thread::Queue'         => '2.00',
-	'Thread::Semaphore'     => '2.01',
-	'Thread::Signal'        => '1.00',
-	'Thread::Specific'      => '1.00',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97',
-	'Tie::Handle'           => '4.1',
-	'Tie::Hash'             => '1.02',
-	'Tie::Memoize'          => '1.0',
-	'Tie::RefHash'          => '1.32',
-	'Tie::Scalar'           => '1.00',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.86',
-	'Time::Local'           => '1.11',
-	'Time::gmtime'          => '1.02',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.01',
-        'Unicode'               => '4.1.0',
-	'Unicode::Collate'      => '0.52',
-	'Unicode::Normalize'    => '0.32',
-	'Unicode::UCD'          => '0.24',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.2601',
-	'XS::APItest'           => '0.08',
-	'XS::Typemap'           => '0.02',
-	'XSLoader'              => '0.06',
-	'XSSymSet'              => '1.0',
-	'attributes'            => '0.06',
-	'attrs'                 => '1.02',
-	'autouse'               => '1.05',
-	'base'                  => '2.07',
-	'bigint'                => '0.07',
-	'bignum'                => '0.17',
-	'bigrat'                => '0.08',
-	'blib'                  => '1.03',
-	'bytes'                 => '1.02',
-	'charnames'             => '1.05',
-	'constant'              => '1.05',
-	'diagnostics'           => '1.15',
-	'encoding'              => '2.02',
-	'fields'                => '2.03',
-	'filetest'              => '1.01',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.01',
-	'lib'                   => '0.5565',
-	'locale'                => '1.00',
-	'open'                  => '1.05',
-	'ops'                   => '1.01',
-	'overload'              => '1.04',
-	're'                    => '0.05',
-	'sigtrap'               => '1.02',
-	'sort'                  => '1.02',
-	'strict'                => '1.03',
-	'subs'                  => '1.00',
-	'threads'               => '1.07',
-	'threads::shared'       => '0.94',
-	'utf8'                  => '1.06',
-	'vars'                  => '1.01',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.05',
-	'warnings::register'    => '1.01',
-    },
-
     5.009004 => {
-	'AnyDBM_File'           => '1.00',
-	'Archive::Tar'          => '1.30_01',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.78_02',
-	'AutoLoader'            => '5.61',
-	'AutoSplit'             => '1.04_01',
-	'B'                     => '1.11',
-	'B::Asmdata'            => '1.01',
-	'B::Assembler'          => '0.07',
-	'B::Bblock'             => '1.02',
-	'B::Bytecode'           => '1.02',
-	'B::C'                  => '1.05',
-	'B::CC'                 => '1.00',
-	'B::Concise'            => '0.69',
-	'B::Debug'              => '1.02',
-	'B::Deparse'            => '0.76',
-	'B::Disassembler'       => '1.05',
-	'B::Lint'               => '1.08',
-	'B::Showlex'            => '1.02',
-	'B::Stackobj'           => '1.00',
-	'B::Stash'              => '1.00',
-	'B::Terse'              => '1.03',
-	'B::Xref'               => '1.01',
-	'Benchmark'             => '1.08',
-	'ByteLoader'            => '0.06',
-	'CGI'                   => '3.20',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.29',
-	'CGI::Cookie'           => '1.27',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5',
-	'CPAN'                  => '1.87_55',
-	'CPAN::Debug'           => '5.400561',
-	'CPAN::FirstTime'       => '5.400742',
-	'CPAN::HandleConfig'    => '5.400740',
-	'CPAN::Nox'             => '5.400561',
-	'CPAN::Tarzip'          => '5.400714',
-	'CPAN::Version'         => '5.400561',
-	'Carp'                  => '1.05',
-	'Carp::Heavy'           => '1.05',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Zlib'   => '2.000_13',
-	'Compress::Zlib'        => '2.000_13',
-        'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.19',
-	'DB'                    => '1.01',
-	'DBM_Filter'            => '0.01',
-	'DBM_Filter::compress'  => '0.01',
-	'DBM_Filter::encode'    => '0.01',
-	'DBM_Filter::int32'     => '0.01',
-	'DBM_Filter::null'      => '0.01',
-	'DBM_Filter::utf8'      => '0.01',
-	'DB_File'               => '1.814',
-	'DCLsym'                => '1.02',
-	'Data::Dumper'          => '2.121_08',
-	'Devel::DProf'          => '20050603.00',
-	'Devel::PPPort'         => '3.10',
-	'Devel::Peek'           => '1.03',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.15',
-	'Digest::MD5'           => '2.36',
-	'Digest::SHA'           => '5.43',
-	'Digest::base'          => '1.00',
-	'Digest::file'          => '1.00',
-	'DirHandle'             => '1.01',
-	'Dumpvalue'             => '1.12',
-	'DynaLoader'            => '1.07',
-	'Encode'                => '2.18_01',
-	'Encode::Alias'         => '2.06',
-	'Encode::Byte'          => '2.02',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.02',
-	'Encode::CN::HZ'        => '2.04',
-	'Encode::Config'        => '2.03',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.04',
-	'Encode::Guess'         => '2.02',
-	'Encode::JP'            => '2.03',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.02',
-	'Encode::KR'            => '2.02',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.04',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.02',
-	'Encode::Unicode'       => '2.03',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.09_01',
-	'Exporter'              => '5.59',
-	'Exporter::Heavy'       => '5.59',
-	'ExtUtils::CBuilder'    => '0.18',
-	'ExtUtils::CBuilder::Base'=> '0.12',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.12',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.12',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.12_01',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.12',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.12',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.12',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.01',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.13',
-	'ExtUtils::Command'     => '1.09',
-	'ExtUtils::Command::MM' => '0.05_01',
-	'ExtUtils::Constant'    => '0.2',
-	'ExtUtils::Constant::Base'=> '0.03',
-	'ExtUtils::Constant::ProxySubs'=> '0.03',
-	'ExtUtils::Constant::Utils'=> '0.01',
-	'ExtUtils::Constant::XS'=> '0.02',
-	'ExtUtils::Embed'       => '1.26',
-	'ExtUtils::Install'     => '1.41',
-	'ExtUtils::Installed'   => '1.41',
-	'ExtUtils::Liblist'     => '1.01',
-	'ExtUtils::Liblist::Kid'=> '1.3',
-	'ExtUtils::MM'          => '0.05',
-	'ExtUtils::MM_AIX'      => '0.03',
-	'ExtUtils::MM_Any'      => '0.13_02',
-	'ExtUtils::MM_BeOS'     => '1.05',
-	'ExtUtils::MM_Cygwin'   => '1.08',
-	'ExtUtils::MM_DOS'      => '0.02',
-	'ExtUtils::MM_MacOS'    => '1.08',
-	'ExtUtils::MM_NW5'      => '2.08_01',
-	'ExtUtils::MM_OS2'      => '1.05',
-	'ExtUtils::MM_QNX'      => '0.02',
-	'ExtUtils::MM_UWIN'     => '0.02',
-	'ExtUtils::MM_Unix'     => '1.5003',
-	'ExtUtils::MM_VMS'      => '5.73_03',
-	'ExtUtils::MM_VOS'      => '0.02',
-	'ExtUtils::MM_Win32'    => '1.12_02',
-	'ExtUtils::MM_Win95'    => '0.04_01',
-	'ExtUtils::MY'          => '0.01',
-	'ExtUtils::MakeMaker'   => '6.30_02',
-	'ExtUtils::MakeMaker::Config'=> '0.02',
-	'ExtUtils::MakeMaker::bytes'=> '0.01',
-	'ExtUtils::MakeMaker::vmsish'=> '0.01',
-	'ExtUtils::Manifest'    => '1.46_01',
-        'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '1.15_01',
-	'ExtUtils::Mksymlists'  => '1.19_01',
-	'ExtUtils::Packlist'    => '1.41',
-	'ExtUtils::ParseXS'     => '2.15_02',
-	'ExtUtils::testlib'     => '1.15',
-	'Fatal'                 => '1.04',
-	'Fcntl'                 => '1.05',
-	'File::Basename'        => '2.75',
-	'File::CheckTree'       => '4.3',
-	'File::Compare'         => '1.1005',
-	'File::Copy'            => '2.09',
-	'File::DosGlob'         => '1.00',
-	'File::Find'            => '1.11',
-	'File::Glob'            => '1.05',
-	'File::GlobMapper'      => '0.000_02',
-	'File::Path'            => '1.08',
-	'File::Spec'            => '3.19',
-	'File::Spec::Cygwin'    => '1.1',
-	'File::Spec::Epoc'      => '1.1',
-	'File::Spec::Functions' => '1.3',
-	'File::Spec::Mac'       => '1.4',
-	'File::Spec::OS2'       => '1.2',
-	'File::Spec::Unix'      => '1.5',
-	'File::Spec::VMS'       => '1.4',
-	'File::Spec::Win32'     => '1.6',
-	'File::Temp'            => '0.16_01',
-	'File::stat'            => '1.00',
-	'FileCache'             => '1.07',
-	'FileHandle'            => '2.01',
-	'VMS::Filespec'         => '1.11',
-	'Filter::Simple'        => '0.82',
-	'Filter::Util::Call'    => '1.0601',
-	'FindBin'               => '1.47',
-	'GDBM_File'             => '1.08',
-	'Getopt::Long'          => '2.3501',
-	'Getopt::Std'           => '1.05',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '0.01',
-	'I18N::Collate'         => '1.00',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.23_01',
-	'IO::Compress::Adapter::Deflate'=> '2.000_13',
-	'IO::Compress::Adapter::Identity'=> '2.000_13',
-	'IO::Compress::Base'    => '2.000_13',
-	'IO::Compress::Base::Common'=> '2.000_13',
-	'IO::Compress::Deflate' => '2.000_13',
-	'IO::Compress::Gzip'    => '2.000_13',
-	'IO::Compress::Gzip::Constants'=> '2.000_13',
-	'IO::Compress::RawDeflate'=> '2.000_13',
-	'IO::Compress::Zip'     => '2.000_13',
-	'IO::Compress::Zip::Constants'=> '2.000_13',
-	'IO::Compress::Zlib::Constants'=> '2.000_13',
-	'IO::Compress::Zlib::Extra'=> '2.000_13',
-	'IO::Dir'               => '1.06',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.27',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.30_01',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Identity'=> '2.000_13',
-	'IO::Uncompress::Adapter::Inflate'=> '2.000_13',
-	'IO::Uncompress::AnyInflate'=> '2.000_13',
-	'IO::Uncompress::AnyUncompress'=> '2.000_13',
-	'IO::Uncompress::Base'  => '2.000_13',
-	'IO::Uncompress::Gunzip'=> '2.000_13',
-	'IO::Uncompress::Inflate'=> '2.000_13',
-	'IO::Uncompress::RawInflate'=> '2.000_13',
-	'IO::Uncompress::Unzip' => '2.000_13',
-	'IO::Zlib'              => '1.04_02',
-	'IPC::Msg'              => '1.02',
-	'IPC::Open2'            => '1.02',
-	'IPC::Open3'            => '1.02',
-	'IPC::Semaphore'        => '1.02',
-	'IPC::SysV'             => '1.04',
-	'List::Util'            => '1.18',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.10_01',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Script'        => '2.07',
-	'MIME::Base64'          => '3.07_01',
-	'MIME::QuotedPrint'     => '3.07',
-	'Math::BigFloat'        => '1.51',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.77',
-	'Math::BigInt::Calc'    => '0.47',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.10',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.15',
-	'Math::Complex'         => '1.36',
-	'Math::Trig'            => '1.04',
-	'Memoize'               => '1.01_01',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.2805',
-	'Module::Build::Base'   => undef,
-	'Module::Build::Compat' => '0.03',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> undef,
-	'Module::Build::ModuleInfo'=> undef,
-	'Module::Build::Notes'  => undef,
-	'Module::Build::PPMMaker'=> undef,
-	'Module::Build::Platform::Amiga'=> undef,
-	'Module::Build::Platform::Default'=> undef,
-	'Module::Build::Platform::EBCDIC'=> undef,
-	'Module::Build::Platform::MPEiX'=> undef,
-	'Module::Build::Platform::MacOS'=> undef,
-	'Module::Build::Platform::RiscOS'=> undef,
-	'Module::Build::Platform::Unix'=> undef,
-	'Module::Build::Platform::VMS'=> undef,
-	'Module::Build::Platform::VOS'=> undef,
-	'Module::Build::Platform::Windows'=> undef,
-	'Module::Build::Platform::aix'=> undef,
-	'Module::Build::Platform::cygwin'=> undef,
-	'Module::Build::Platform::darwin'=> undef,
-	'Module::Build::Platform::os2'=> undef,
-	'Module::Build::PodParser'=> undef,
-	'Module::Build::Version'=> '0',
-	'Module::Build::YAML'   => '0.50',
-	'Module::CoreList'      => '2.08',
-	'Module::Load'          => '0.10',
-	'Module::Loaded'        => '0.01',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.06',
-	'NEXT'                  => '0.60_01',
-	'Net::Cmd'              => '2.26_01',
-	'Net::Config'           => '1.10',
-	'Net::Domain'           => '2.19_01',
-	'Net::FTP'              => '2.75',
-	'Net::FTP::A'           => '1.16',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.23',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.28',
-	'Net::Ping'             => '2.31_04',
-	'Net::SMTP'             => '2.29',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.00',
-	'ODBM_File'             => '1.06',
-	'Opcode'                => '1.08',
-	'POSIX'                 => '1.10',
-	'Package::Constants'    => '0.01',
-	'PerlIO'                => '1.04',
-	'PerlIO::encoding'      => '0.09',
-	'PerlIO::scalar'        => '0.04',
-	'PerlIO::via'           => '0.03',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.43',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.34',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.07',
-	'Pod::InputObjects'     => '1.3',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.09',
-	'Pod::ParseLink'        => '1.06',
-	'Pod::ParseUtils'       => '1.33',
-	'Pod::Parser'           => '1.32',
-	'Pod::Perldoc'          => '3.14_01',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.02',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.3',
-	'Pod::Simple'           => '3.04',
-	'Pod::Simple::BlackBox' => undef,
-	'Pod::Simple::Checker'  => '2.02',
-	'Pod::Simple::Debug'    => undef,
-	'Pod::Simple::DumpAsText'=> '2.02',
-	'Pod::Simple::DumpAsXML'=> '2.02',
-	'Pod::Simple::HTML'     => '3.03',
-	'Pod::Simple::HTMLBatch'=> '3.02',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> undef,
-	'Pod::Simple::Methody'  => '2.02',
-	'Pod::Simple::Progress' => '1.01',
-	'Pod::Simple::PullParser'=> '2.02',
-	'Pod::Simple::PullParserEndToken'=> undef,
-	'Pod::Simple::PullParserStartToken'=> undef,
-	'Pod::Simple::PullParserTextToken'=> undef,
-	'Pod::Simple::PullParserToken'=> '2.02',
-	'Pod::Simple::RTF'      => '2.02',
-	'Pod::Simple::Search'   => '3.04',
-	'Pod::Simple::SimpleTree'=> '2.02',
-	'Pod::Simple::Text'     => '2.02',
-	'Pod::Simple::TextContent'=> '2.02',
-	'Pod::Simple::TiedOutFH'=> undef,
-	'Pod::Simple::Transcode'=> undef,
-	'Pod::Simple::TranscodeDumb'=> '2.02',
-	'Pod::Simple::TranscodeSmart'=> undef,
-	'Pod::Simple::XMLOutStream'=> '2.02',
-	'Pod::Text'             => '3.07',
-	'Pod::Text::Color'      => '2.03',
-	'Pod::Text::Overstrike' => '2',
-	'Pod::Text::Termcap'    => '2.03',
-	'Pod::Usage'            => '1.33_01',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.12',
-	'Scalar::Util'          => '1.18',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.01',
-	'SelfLoader'            => '1.0905',
-	'Shell'                 => '0.7',
-	'Socket'                => '1.78',
-	'Stdio'                 => '2.3',
-	'Storable'              => '2.15_02',
-	'Switch'                => '2.10_01',
-	'Symbol'                => '1.06',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.17',
-	'Term::ANSIColor'       => '1.11',
-	'Term::Cap'             => '1.09',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.02',
-	'Test'                  => '1.25',
-	'Test::Builder'         => '0.33',
-	'Test::Builder::Module' => '0.03',
-	'Test::Builder::Tester' => '1.04',
-	'Test::Builder::Tester::Color'=> undef,
-	'Test::Harness'         => '2.62',
-	'Test::Harness::Assert' => '0.02',
-	'Test::Harness::Iterator'=> '0.02',
-	'Test::Harness::Point'  => '0.01',
-	'Test::Harness::Straps' => '0.26',
-	'Test::Harness::Util'   => '0.01',
-	'Test::More'            => '0.64',
-	'Test::Simple'          => '0.64',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '1.98_01',
-	'Text::ParseWords'      => '3.25',
-	'Text::Soundex'         => '1.01',
-	'Text::Tabs'            => '2007.071101',
-	'Text::Wrap'            => '2006.0711',
-	'Thread'                => '2.00',
-	'Thread::Queue'         => '2.00',
-	'Thread::Semaphore'     => '2.01',
-	'Thread::Signal'        => '1.00',
-	'Thread::Specific'      => '1.00',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_01',
-	'Tie::Handle'           => '4.1',
-	'Tie::Hash'             => '1.02',
-	'Tie::Memoize'          => '1.0',
-	'Tie::RefHash'          => '1.34_01',
-	'Tie::Scalar'           => '1.00',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.87',
-	'Time::Local'           => '1.13',
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.04',
-        'Unicode'               => '4.1.0',
-	'Unicode::Collate'      => '0.52',
-	'Unicode::Normalize'    => '1.01',
-	'Unicode::UCD'          => '0.24',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.2601',
-	'Win32API::File'        => '0.1001',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'XS::APItest'           => '0.09',
-	'XS::Typemap'           => '0.02',
-	'XSLoader'              => '0.06',
-	'XSSymSet'              => '1.0',
-	'assertions'            => '0.03',
-	'assertions::activate'  => '0.02',
-	'assertions::compat'    => '0.02',
-	'attributes'            => '0.06',
-	'attrs'                 => '1.02',
-	'autouse'               => '1.06',
-	'base'                  => '2.07',
-	'bigint'                => '0.07',
-	'bignum'                => '0.17',
-	'bigrat'                => '0.08',
-	'blib'                  => '1.03',
-	'bytes'                 => '1.02',
-	'charnames'             => '1.05',
-	'constant'              => '1.07',
-	'diagnostics'           => '1.16',
-	'encoding'              => '2.04',
-	'encoding::warnings'    => '0.10',
-	'feature'               => '1.01',
-	'fields'                => '2.03',
-	'filetest'              => '1.01',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.01',
-	'lib'                   => '0.5565',
-	'locale'                => '1.00',
-	'open'                  => '1.05',
-	'ops'                   => '1.01',
-	'overload'              => '1.04',
-	're'                    => '0.0601',
-	'sigtrap'               => '1.02',
-	'sort'                  => '2.00',
-	'strict'                => '1.03',
-	'subs'                  => '1.00',
-	'threads'               => '1.38',
-	'threads::shared'       => '0.94_01',
-	'utf8'                  => '1.06',
-	'vars'                  => '1.01',
-	'version'               => '0.67',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.05',
-	'warnings::register'    => '1.01',
+        delta_from => 5.009003,
+        changed => {
+            'Archive::Tar'          => '1.30_01',
+            'AutoLoader'            => '5.61',
+            'B'                     => '1.11',
+            'B::Bytecode'           => '1.02',
+            'B::C'                  => '1.05',
+            'B::Concise'            => '0.69',
+            'B::Deparse'            => '0.76',
+            'B::Lint'               => '1.08',
+            'Benchmark'             => '1.08',
+            'CGI'                   => '3.20',
+            'CGI::Cookie'           => '1.27',
+            'CGI::Fast'             => '1.07',
+            'CPAN'                  => '1.87_55',
+            'CPAN::Debug'           => '5.400561',
+            'CPAN::FirstTime'       => '5.400742',
+            'CPAN::HandleConfig'    => '5.400740',
+            'CPAN::Nox'             => '5.400561',
+            'CPAN::Tarzip'          => '5.400714',
+            'CPAN::Version'         => '5.400561',
+            'Compress::Raw::Zlib'   => '2.000_13',
+            'Compress::Zlib'        => '2.000_13',
+            'Cwd'                   => '3.19',
+            'Devel::PPPort'         => '3.10',
+            'Digest'                => '1.15',
+            'Digest::SHA'           => '5.43',
+            'Encode'                => '2.18_01',
+            'Encode::Alias'         => '2.06',
+            'Encode::Byte'          => '2.02',
+            'Encode::CJKConstants'  => '2.02',
+            'Encode::CN'            => '2.02',
+            'Encode::CN::HZ'        => '2.04',
+            'Encode::Config'        => '2.03',
+            'Encode::EBCDIC'        => '2.02',
+            'Encode::Encoder'       => '2.01',
+            'Encode::Encoding'      => '2.04',
+            'Encode::Guess'         => '2.02',
+            'Encode::JP'            => '2.03',
+            'Encode::JP::H2Z'       => '2.02',
+            'Encode::JP::JIS7'      => '2.02',
+            'Encode::KR'            => '2.02',
+            'Encode::KR::2022_KR'   => '2.02',
+            'Encode::MIME::Header'  => '2.04',
+            'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
+            'Encode::Symbol'        => '2.02',
+            'Encode::TW'            => '2.02',
+            'Encode::Unicode'       => '2.03',
+            'Encode::Unicode::UTF7' => '2.04',
+            'ExtUtils::CBuilder'    => '0.18',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.12_01',
+            'ExtUtils::Constant::Base'=> '0.03',
+            'ExtUtils::Constant::ProxySubs'=> '0.03',
+            'ExtUtils::Install'     => '1.41',
+            'ExtUtils::Installed'   => '1.41',
+            'ExtUtils::MM_Any'      => '0.13_02',
+            'ExtUtils::MM_NW5'      => '2.08_01',
+            'ExtUtils::MM_Unix'     => '1.5003',
+            'ExtUtils::MM_VMS'      => '5.73_03',
+            'ExtUtils::MM_Win32'    => '1.12_02',
+            'ExtUtils::MM_Win95'    => '0.04_01',
+            'ExtUtils::MakeMaker'   => '6.30_02',
+            'ExtUtils::Manifest'    => '1.46_01',
+            'ExtUtils::Mkbootstrap' => '1.15_01',
+            'ExtUtils::Mksymlists'  => '1.19_01',
+            'ExtUtils::Packlist'    => '1.41',
+            'File::Basename'        => '2.75',
+            'File::Find'            => '1.11',
+            'File::GlobMapper'      => '0.000_02',
+            'File::Spec'            => '3.19',
+            'FileCache'             => '1.07',
+            'Getopt::Long'          => '2.3501',
+            'Hash::Util'            => '0.07',
+            'Hash::Util::FieldHash' => '0.01',
+            'IO'                    => '1.23_01',
+            'IO::Compress::Adapter::Deflate'=> '2.000_13',
+            'IO::Compress::Adapter::Identity'=> '2.000_13',
+            'IO::Compress::Base'    => '2.000_13',
+            'IO::Compress::Base::Common'=> '2.000_13',
+            'IO::Compress::Deflate' => '2.000_13',
+            'IO::Compress::Gzip'    => '2.000_13',
+            'IO::Compress::Gzip::Constants'=> '2.000_13',
+            'IO::Compress::RawDeflate'=> '2.000_13',
+            'IO::Compress::Zip'     => '2.000_13',
+            'IO::Compress::Zip::Constants'=> '2.000_13',
+            'IO::Compress::Zlib::Constants'=> '2.000_13',
+            'IO::Compress::Zlib::Extra'=> '2.000_13',
+            'IO::Dir'               => '1.06',
+            'IO::File'              => '1.14',
+            'IO::Handle'            => '1.27',
+            'IO::Socket'            => '1.30_01',
+            'IO::Socket::INET'      => '1.31',
+            'IO::Socket::UNIX'      => '1.23',
+            'IO::Uncompress::Adapter::Identity'=> '2.000_13',
+            'IO::Uncompress::Adapter::Inflate'=> '2.000_13',
+            'IO::Uncompress::AnyInflate'=> '2.000_13',
+            'IO::Uncompress::AnyUncompress'=> '2.000_13',
+            'IO::Uncompress::Base'  => '2.000_13',
+            'IO::Uncompress::Gunzip'=> '2.000_13',
+            'IO::Uncompress::Inflate'=> '2.000_13',
+            'IO::Uncompress::RawInflate'=> '2.000_13',
+            'IO::Uncompress::Unzip' => '2.000_13',
+            'MIME::Base64'          => '3.07_01',
+            'Math::Complex'         => '1.36',
+            'Math::Trig'            => '1.04',
+            'Module::Build'         => '0.2805',
+            'Module::Build::Base'   => undef,
+            'Module::Build::Compat' => '0.03',
+            'Module::Build::ConfigData'=> undef,
+            'Module::Build::Cookbook'=> undef,
+            'Module::Build::ModuleInfo'=> undef,
+            'Module::Build::Notes'  => undef,
+            'Module::Build::PPMMaker'=> undef,
+            'Module::Build::Platform::Amiga'=> undef,
+            'Module::Build::Platform::Default'=> undef,
+            'Module::Build::Platform::EBCDIC'=> undef,
+            'Module::Build::Platform::MPEiX'=> undef,
+            'Module::Build::Platform::MacOS'=> undef,
+            'Module::Build::Platform::RiscOS'=> undef,
+            'Module::Build::Platform::Unix'=> undef,
+            'Module::Build::Platform::VMS'=> undef,
+            'Module::Build::Platform::VOS'=> undef,
+            'Module::Build::Platform::Windows'=> undef,
+            'Module::Build::Platform::aix'=> undef,
+            'Module::Build::Platform::cygwin'=> undef,
+            'Module::Build::Platform::darwin'=> undef,
+            'Module::Build::Platform::os2'=> undef,
+            'Module::Build::PodParser'=> undef,
+            'Module::Build::Version'=> '0',
+            'Module::Build::YAML'   => '0.50',
+            'Module::CoreList'      => '2.08',
+            'Module::Load'          => '0.10',
+            'Module::Loaded'        => '0.01',
+            'Package::Constants'    => '0.01',
+            'Pod::Html'             => '1.07',
+            'Pod::Man'              => '2.09',
+            'Pod::Text'             => '3.07',
+            'Pod::Text::Color'      => '2.03',
+            'Pod::Text::Termcap'    => '2.03',
+            'SDBM_File'             => '1.06',
+            'Shell'                 => '0.7',
+            'Sys::Syslog'           => '0.17',
+            'Term::ANSIColor'       => '1.11',
+            'Test::Builder'         => '0.33',
+            'Test::Builder::Tester' => '1.04',
+            'Test::Harness'         => '2.62',
+            'Test::Harness::Util'   => '0.01',
+            'Test::More'            => '0.64',
+            'Test::Simple'          => '0.64',
+            'Text::Balanced'        => '1.98_01',
+            'Text::ParseWords'      => '3.25',
+            'Text::Tabs'            => '2007.071101',
+            'Text::Wrap'            => '2006.0711',
+            'Tie::RefHash'          => '1.34_01',
+            'Time::HiRes'           => '1.87',
+            'Time::Local'           => '1.13',
+            'Time::gmtime'          => '1.03',
+            'UNIVERSAL'             => '1.04',
+            'Unicode::Normalize'    => '1.01',
+            'Win32API::File'        => '0.1001',
+            'Win32API::File::ExtUtils::Myconst2perl'=> '1',
+            'assertions'            => '0.03',
+            'assertions::compat'    => '0.02',
+            'autouse'               => '1.06',
+            'diagnostics'           => '1.16',
+            'encoding'              => '2.04',
+            'encoding::warnings'    => '0.10',
+            'feature'               => '1.01',
+            're'                    => '0.0601',
+            'threads'               => '1.38',
+            'threads::shared'       => '0.94_01',
+            'version'               => '0.67',
+        },
+        removed => {
+            'Compress::Zlib::Common'=> 1,
+            'Compress::Zlib::Compress::Gzip::Constants'=> 1,
+            'Compress::Zlib::Compress::Zip::Constants'=> 1,
+            'Compress::Zlib::CompressPlugin::Deflate'=> 1,
+            'Compress::Zlib::CompressPlugin::Identity'=> 1,
+            'Compress::Zlib::File::GlobMapper'=> 1,
+            'Compress::Zlib::FileConstants'=> 1,
+            'Compress::Zlib::IO::Compress::Base'=> 1,
+            'Compress::Zlib::IO::Compress::Deflate'=> 1,
+            'Compress::Zlib::IO::Compress::Gzip'=> 1,
+            'Compress::Zlib::IO::Compress::RawDeflate'=> 1,
+            'Compress::Zlib::IO::Compress::Zip'=> 1,
+            'Compress::Zlib::IO::Uncompress::AnyInflate'=> 1,
+            'Compress::Zlib::IO::Uncompress::AnyUncompress'=> 1,
+            'Compress::Zlib::IO::Uncompress::Base'=> 1,
+            'Compress::Zlib::IO::Uncompress::Gunzip'=> 1,
+            'Compress::Zlib::IO::Uncompress::Inflate'=> 1,
+            'Compress::Zlib::IO::Uncompress::RawInflate'=> 1,
+            'Compress::Zlib::IO::Uncompress::Unzip'=> 1,
+            'Compress::Zlib::ParseParameters'=> 1,
+            'Compress::Zlib::UncompressPlugin::Identity'=> 1,
+            'Compress::Zlib::UncompressPlugin::Inflate'=> 1,
+        }
     },
-
     5.009005 => {
-	'AnyDBM_File'           => '1.00',
-	'Archive::Extract'      => '0.22_01',
-	'Archive::Tar'          => '1.32',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.78_06',
-	'AutoLoader'            => '5.63',
-	'AutoSplit'             => '1.05',
-	'B'                     => '1.16',
-	'B::Concise'            => '0.72',
-	'B::Debug'              => '1.05',
-	'B::Deparse'            => '0.82',
-	'B::Lint'               => '1.09',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.01',
-	'Benchmark'             => '1.1',
-	'CGI'                   => '3.29',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.29',
-	'CGI::Cookie'           => '1.28',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5_01',
-	'CPAN'                  => '1.9102',
-	'CPAN::Debug'           => '5.400955',
-	'CPAN::FirstTime'       => '5.401669',
-	'CPAN::HandleConfig'    => '5.401744',
-	'CPAN::Kwalify'         => '5.401418',
-	'CPAN::Nox'             => '5.400844',
-	'CPAN::Queue'           => '5.401704',
-	'CPAN::Tarzip'          => '5.401717',
-	'CPAN::Version'         => '5.401387',
-	'CPANPLUS'              => '0.81_01',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Base'  => '0.01',
-	'CPANPLUS::Dist::Build' => '0.06_01',
-	'CPANPLUS::Dist::Build::Constants'=> '0.01',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.81_01',
-	'CPANPLUS::Internals::Constants'=> '0.01',
-	'CPANPLUS::Internals::Constants::Report'=> '0.01',
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.81_01',
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'CPANPLUS::inc'         => undef,
-	'Carp'                  => '1.07',
-	'Carp::Heavy'           => '1.07',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Zlib'   => '2.005',
-	'Compress::Zlib'        => '2.005',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.25',
-	'DB'                    => '1.01',
-	'DBM_Filter'            => '0.02',
-	'DBM_Filter::compress'  => '0.01',
-	'DBM_Filter::encode'    => '0.01',
-	'DBM_Filter::int32'     => '0.01',
-	'DBM_Filter::null'      => '0.01',
-	'DBM_Filter::utf8'      => '0.01',
-	'DB_File'               => '1.815',
-	'DCLsym'                => '1.03',
-	'Data::Dumper'          => '2.121_13',
-	'Devel::DProf'          => '20050603.00',
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.11_01',
-	'Devel::Peek'           => '1.03',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.15',
-	'Digest::MD5'           => '2.36_01',
-	'Digest::SHA'           => '5.44',
-	'Digest::base'          => '1.00',
-	'Digest::file'          => '1.00',
-	'DirHandle'             => '1.01',
-	'Dumpvalue'             => '1.12',
-	'DynaLoader'            => '1.08',
-	'Encode'                => '2.23',
-	'Encode::Alias'         => '2.07',
-	'Encode::Byte'          => '2.03',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.02',
-	'Encode::CN::HZ'        => '2.04',
-	'Encode::Config'        => '2.04',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.00',
-	'Encode::Guess'         => '2.02',
-	'Encode::JP'            => '2.03',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.03',
-	'Encode::KR'            => '2.02',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.05',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.02',
-	'Encode::Unicode'       => '2.05',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.10',
-	'Exporter'              => '5.60',
-	'Exporter::Heavy'       => '5.60',
-	'ExtUtils::CBuilder'    => '0.19',
-	'ExtUtils::CBuilder::Base'=> '0.12',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.12',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.12',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.13',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.12',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.12',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.12',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.01',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.13',
-	'ExtUtils::Command'     => '1.13',
-	'ExtUtils::Command::MM' => '0.07',
-	'ExtUtils::Constant'    => '0.2',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.03',
-	'ExtUtils::Constant::Utils'=> '0.01',
-	'ExtUtils::Constant::XS'=> '0.02',
-	'ExtUtils::Embed'       => '1.26',
-	'ExtUtils::Install'     => '1.41_01',
-	'ExtUtils::Installed'   => '1.41',
-	'ExtUtils::Liblist'     => '1.03',
-	'ExtUtils::Liblist::Kid'=> '1.33',
-	'ExtUtils::MM'          => '0.07',
-	'ExtUtils::MM_AIX'      => '0.05',
-	'ExtUtils::MM_Any'      => '0.15',
-	'ExtUtils::MM_BeOS'     => '1.07',
-	'ExtUtils::MM_Cygwin'   => '1.1',
-	'ExtUtils::MM_DOS'      => '0.04',
-	'ExtUtils::MM_MacOS'    => '1.1',
-	'ExtUtils::MM_NW5'      => '2.1',
-	'ExtUtils::MM_OS2'      => '1.07',
-	'ExtUtils::MM_QNX'      => '0.04',
-	'ExtUtils::MM_UWIN'     => '0.04',
-	'ExtUtils::MM_Unix'     => '1.54_01',
-	'ExtUtils::MM_VMS'      => '5.76',
-	'ExtUtils::MM_VOS'      => '0.04',
-	'ExtUtils::MM_Win32'    => '1.15',
-	'ExtUtils::MM_Win95'    => '0.06',
-	'ExtUtils::MY'          => '0.03',
-	'ExtUtils::MakeMaker'   => '6.36',
-	'ExtUtils::MakeMaker::Config'=> '0.04',
-	'ExtUtils::MakeMaker::bytes'=> '0.03',
-	'ExtUtils::MakeMaker::vmsish'=> '0.03',
-	'ExtUtils::Manifest'    => '1.51_01',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '1.17',
-	'ExtUtils::Mksymlists'  => '1.21',
-	'ExtUtils::Packlist'    => '1.41',
-	'ExtUtils::ParseXS'     => '2.18',
-	'ExtUtils::testlib'     => '1.17',
-	'Fatal'                 => '1.05',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.76',
-	'File::CheckTree'       => '4.3',
-	'File::Compare'         => '1.1005',
-	'File::Copy'            => '2.10',
-	'File::DosGlob'         => '1.00',
-	'File::Fetch'           => '0.10',
-	'File::Find'            => '1.11',
-	'File::Glob'            => '1.06',
-	'File::GlobMapper'      => '0.000_02',
-	'File::Path'            => '2.01',
-	'File::Spec'            => '3.25',
-	'File::Spec::Cygwin'    => '1.1_01',
-	'File::Spec::Epoc'      => '1.1',
-	'File::Spec::Functions' => '1.3',
-	'File::Spec::Mac'       => '1.4',
-	'File::Spec::OS2'       => '1.2',
-	'File::Spec::Unix'      => '1.5',
-	'File::Spec::VMS'       => '1.4_01',
-	'File::Spec::Win32'     => '1.6',
-	'File::Temp'            => '0.18',
-	'File::stat'            => '1.00',
-	'FileCache'             => '1.07',
-	'FileHandle'            => '2.01',
-	'VMS::Filespec'         => '1.11',
-	'Filter::Simple'        => '0.82',
-	'Filter::Util::Call'    => '1.0602',
-	'FindBin'               => '1.49',
-	'GDBM_File'             => '1.08',
-	'Getopt::Long'          => '2.36',
-	'Getopt::Std'           => '1.05',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.01',
-	'I18N::Collate'         => '1.00',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.23_01',
-	'IO::Compress::Adapter::Deflate'=> '2.005',
-	'IO::Compress::Adapter::Identity'=> '2.005',
-	'IO::Compress::Base'    => '2.005',
-	'IO::Compress::Base::Common'=> '2.005',
-	'IO::Compress::Deflate' => '2.005',
-	'IO::Compress::Gzip'    => '2.005',
-	'IO::Compress::Gzip::Constants'=> '2.005',
-	'IO::Compress::RawDeflate'=> '2.005',
-	'IO::Compress::Zip'     => '2.005',
-	'IO::Compress::Zip::Constants'=> '2.005',
-	'IO::Compress::Zlib::Constants'=> '2.005',
-	'IO::Compress::Zlib::Extra'=> '2.005',
-	'IO::Dir'               => '1.06',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.27',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.30_01',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Identity'=> '2.005',
-	'IO::Uncompress::Adapter::Inflate'=> '2.005',
-	'IO::Uncompress::AnyInflate'=> '2.005',
-	'IO::Uncompress::AnyUncompress'=> '2.005',
-	'IO::Uncompress::Base'  => '2.005',
-	'IO::Uncompress::Gunzip'=> '2.005',
-	'IO::Uncompress::Inflate'=> '2.005',
-	'IO::Uncompress::RawInflate'=> '2.005',
-	'IO::Uncompress::Unzip' => '2.005',
-	'IO::Zlib'              => '1.05_01',
-	'IPC::Cmd'              => '0.36_01',
-	'IPC::Msg'              => '1.02',
-	'IPC::Open2'            => '1.02',
-	'IPC::Open3'            => '1.02',
-	'IPC::Semaphore'        => '1.02',
-	'IPC::SysV'             => '1.04',
-	'List::Util'            => '1.19',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.10_01',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Maketext::Simple'=> '0.18',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.01',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.0201',
-	'MIME::Base64'          => '3.07_01',
-	'MIME::QuotedPrint'     => '3.07',
-	'Math::BigFloat'        => '1.58',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.87',
-	'Math::BigInt::Calc'    => '0.51',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.15_01',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.19',
-	'Math::Complex'         => '1.37',
-	'Math::Trig'            => '1.04',
-	'Memoize'               => '1.01_02',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.2808',
-	'Module::Build::Base'   => undef,
-	'Module::Build::Compat' => '0.03',
-	'Module::Build::Config' => undef,
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> undef,
-	'Module::Build::ModuleInfo'=> undef,
-	'Module::Build::Notes'  => undef,
-	'Module::Build::PPMMaker'=> undef,
-	'Module::Build::Platform::Amiga'=> undef,
-	'Module::Build::Platform::Default'=> undef,
-	'Module::Build::Platform::EBCDIC'=> undef,
-	'Module::Build::Platform::MPEiX'=> undef,
-	'Module::Build::Platform::MacOS'=> undef,
-	'Module::Build::Platform::RiscOS'=> undef,
-	'Module::Build::Platform::Unix'=> undef,
-	'Module::Build::Platform::VMS'=> undef,
-	'Module::Build::Platform::VOS'=> undef,
-	'Module::Build::Platform::Windows'=> undef,
-	'Module::Build::Platform::aix'=> undef,
-	'Module::Build::Platform::cygwin'=> undef,
-	'Module::Build::Platform::darwin'=> undef,
-	'Module::Build::Platform::os2'=> undef,
-	'Module::Build::PodParser'=> undef,
-	'Module::Build::Version'=> '0.7203',
-	'Module::Build::YAML'   => '0.50',
-	'Module::CoreList'      => '2.12',
-	'Module::Load'          => '0.10',
-	'Module::Load::Conditional'=> '0.16',
-	'Module::Loaded'        => '0.01',
-	'Module::Pluggable'     => '3.6',
-	'Module::Pluggable::Object'=> '3.6',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.07',
-	'NEXT'                  => '0.60_01',
-	'Net::Cmd'              => '2.28',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.31_04',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.00',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.32',
-	'Opcode'                => '1.09',
-	'POSIX'                 => '1.13',
-	'Package::Constants'    => '0.01',
-	'Params::Check'         => '0.26',
-	'PerlIO'                => '1.04',
-	'PerlIO::encoding'      => '0.10',
-	'PerlIO::scalar'        => '0.05',
-	'PerlIO::via'           => '0.04',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.43',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.34',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.08',
-	'Pod::InputObjects'     => '1.3',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.12',
-	'Pod::ParseLink'        => '1.06',
-	'Pod::ParseUtils'       => '1.35',
-	'Pod::Parser'           => '1.35',
-	'Pod::Perldoc'          => '3.14_01',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.02',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.35',
-	'Pod::Simple'           => '3.05',
-	'Pod::Simple::BlackBox' => undef,
-	'Pod::Simple::Checker'  => '2.02',
-	'Pod::Simple::Debug'    => undef,
-	'Pod::Simple::DumpAsText'=> '2.02',
-	'Pod::Simple::DumpAsXML'=> '2.02',
-	'Pod::Simple::HTML'     => '3.03',
-	'Pod::Simple::HTMLBatch'=> '3.02',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> undef,
-	'Pod::Simple::Methody'  => '2.02',
-	'Pod::Simple::Progress' => '1.01',
-	'Pod::Simple::PullParser'=> '2.02',
-	'Pod::Simple::PullParserEndToken'=> undef,
-	'Pod::Simple::PullParserStartToken'=> undef,
-	'Pod::Simple::PullParserTextToken'=> undef,
-	'Pod::Simple::PullParserToken'=> '2.02',
-	'Pod::Simple::RTF'      => '2.02',
-	'Pod::Simple::Search'   => '3.04',
-	'Pod::Simple::SimpleTree'=> '2.02',
-	'Pod::Simple::Text'     => '2.02',
-	'Pod::Simple::TextContent'=> '2.02',
-	'Pod::Simple::TiedOutFH'=> undef,
-	'Pod::Simple::Transcode'=> undef,
-	'Pod::Simple::TranscodeDumb'=> '2.02',
-	'Pod::Simple::TranscodeSmart'=> undef,
-	'Pod::Simple::XMLOutStream'=> '2.02',
-	'Pod::Text'             => '3.08',
-	'Pod::Text::Color'      => '2.03',
-	'Pod::Text::Overstrike' => '2',
-	'Pod::Text::Termcap'    => '2.03',
-	'Pod::Usage'            => '1.35',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.12',
-	'Scalar::Util'          => '1.19',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.01',
-	'SelfLoader'            => '1.11',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.79',
-	'Stdio'                 => '2.3',
-	'Storable'              => '2.16',
-	'Switch'                => '2.13',
-	'Symbol'                => '1.06',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.18_01',
-	'Term::ANSIColor'       => '1.12',
-	'Term::Cap'             => '1.09',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.02',
-	'Term::UI'              => '0.14_01',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25',
-	'Test::Builder'         => '0.70',
-	'Test::Builder::Module' => '0.68',
-	'Test::Builder::Tester' => '1.07',
-	'Test::Builder::Tester::Color'=> undef,
-	'Test::Harness'         => '2.64',
-	'Test::Harness::Assert' => '0.02',
-	'Test::Harness::Iterator'=> '0.02',
-	'Test::Harness::Point'  => '0.01',
-	'Test::Harness::Results'=> '0.01',
-	'Test::Harness::Straps' => '0.26',
-	'Test::Harness::Util'   => '0.01',
-	'Test::More'            => '0.70',
-	'Test::Simple'          => '0.70',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.0.0',
-	'Text::ParseWords'      => '3.25',
-	'Text::Soundex'         => '3.02',
-	'Text::Tabs'            => '2007.1117',
-	'Text::Wrap'            => '2006.1117',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.00',
-	'Thread::Semaphore'     => '2.01',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.1',
-	'Tie::Hash'             => '1.02',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.37',
-	'Tie::Scalar'           => '1.00',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9707',
-	'Time::Local'           => '1.17',
-	'Time::Piece'           => '1.11_02',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.04',
-	'Unicode'               => '5.0.0',
-	'Unicode::Collate'      => '0.52',
-	'Unicode::Normalize'    => '1.02',
-	'Unicode::UCD'          => '0.25',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.30',
-	'Win32API::File'        => '0.1001_01',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.12',
-	'XS::Typemap'           => '0.02',
-	'XSLoader'              => '0.08',
-	'XSSymSet'              => '1.1',
-	'attributes'            => '0.08',
-	'attrs'                 => '1.02',
-	'autouse'               => '1.06',
-	'base'                  => '2.12',
-	'bigint'                => '0.22',
-	'bignum'                => '0.22',
-	'bigrat'                => '0.22',
-	'blib'                  => '1.03',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.06',
-	'constant'              => '1.10',
-	'diagnostics'           => '1.17',
-	'encoding'              => '2.06',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.10',
-	'fields'                => '2.12',
-	'filetest'              => '1.01',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.02',
-	'lib'                   => '0.5565',
-	'locale'                => '1.00',
-	'mro'                   => '1.00',
-	'open'                  => '1.05',
-	'ops'                   => '1.01',
-	'overload'              => '1.06',
-	're'                    => '0.08',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.63',
-	'threads::shared'       => '1.12',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.7203',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.06',
-	'warnings::register'    => '1.01',
+        delta_from => 5.009004,
+        changed => {
+            'Archive::Extract'      => '0.22_01',
+            'Archive::Tar'          => '1.32',
+            'Attribute::Handlers'   => '0.78_06',
+            'AutoLoader'            => '5.63',
+            'AutoSplit'             => '1.05',
+            'B'                     => '1.16',
+            'B::Concise'            => '0.72',
+            'B::Debug'              => '1.05',
+            'B::Deparse'            => '0.82',
+            'B::Lint'               => '1.09',
+            'B::Terse'              => '1.05',
+            'Benchmark'             => '1.1',
+            'CGI'                   => '3.29',
+            'CGI::Cookie'           => '1.28',
+            'CGI::Util'             => '1.5_01',
+            'CPAN'                  => '1.9102',
+            'CPAN::Debug'           => '5.400955',
+            'CPAN::FirstTime'       => '5.401669',
+            'CPAN::HandleConfig'    => '5.401744',
+            'CPAN::Kwalify'         => '5.401418',
+            'CPAN::Nox'             => '5.400844',
+            'CPAN::Queue'           => '5.401704',
+            'CPAN::Tarzip'          => '5.401717',
+            'CPAN::Version'         => '5.401387',
+            'CPANPLUS'              => '0.81_01',
+            'CPANPLUS::Backend'     => undef,
+            'CPANPLUS::Backend::RV' => undef,
+            'CPANPLUS::Config'      => undef,
+            'CPANPLUS::Configure'   => undef,
+            'CPANPLUS::Configure::Setup'=> undef,
+            'CPANPLUS::Dist'        => undef,
+            'CPANPLUS::Dist::Base'  => '0.01',
+            'CPANPLUS::Dist::Build' => '0.06_01',
+            'CPANPLUS::Dist::Build::Constants'=> '0.01',
+            'CPANPLUS::Dist::MM'    => undef,
+            'CPANPLUS::Dist::Sample'=> undef,
+            'CPANPLUS::Error'       => undef,
+            'CPANPLUS::Internals'   => '0.81_01',
+            'CPANPLUS::Internals::Constants'=> '0.01',
+            'CPANPLUS::Internals::Constants::Report'=> '0.01',
+            'CPANPLUS::Internals::Extract'=> undef,
+            'CPANPLUS::Internals::Fetch'=> undef,
+            'CPANPLUS::Internals::Report'=> undef,
+            'CPANPLUS::Internals::Search'=> undef,
+            'CPANPLUS::Internals::Source'=> undef,
+            'CPANPLUS::Internals::Utils'=> undef,
+            'CPANPLUS::Internals::Utils::Autoflush'=> undef,
+            'CPANPLUS::Module'      => undef,
+            'CPANPLUS::Module::Author'=> undef,
+            'CPANPLUS::Module::Author::Fake'=> undef,
+            'CPANPLUS::Module::Checksums'=> undef,
+            'CPANPLUS::Module::Fake'=> undef,
+            'CPANPLUS::Module::Signature'=> undef,
+            'CPANPLUS::Selfupdate'  => undef,
+            'CPANPLUS::Shell'       => undef,
+            'CPANPLUS::Shell::Classic'=> '0.0562',
+            'CPANPLUS::Shell::Default'=> '0.81_01',
+            'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
+            'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+            'CPANPLUS::inc'         => undef,
+            'Carp'                  => '1.07',
+            'Carp::Heavy'           => '1.07',
+            'Compress::Raw::Zlib'   => '2.005',
+            'Compress::Zlib'        => '2.005',
+            'Cwd'                   => '3.25',
+            'DBM_Filter'            => '0.02',
+            'DB_File'               => '1.815',
+            'Data::Dumper'          => '2.121_13',
+            'Devel::InnerPackage'   => '0.3',
+            'Devel::PPPort'         => '3.11_01',
+            'Digest::MD5'           => '2.36_01',
+            'Digest::SHA'           => '5.44',
+            'DynaLoader'            => '1.08',
+            'Encode'                => '2.23',
+            'Encode::Alias'         => '2.07',
+            'Encode::Byte'          => '2.03',
+            'Encode::Config'        => '2.04',
+            'Encode::Encoding'      => '2.05',
+            'Encode::GSM0338'       => '2.00',
+            'Encode::JP::JIS7'      => '2.03',
+            'Encode::MIME::Header'  => '2.05',
+            'Encode::MIME::Name'    => '1.01',
+            'Encode::Unicode'       => '2.05',
+            'Errno'                 => '1.10',
+            'Exporter'              => '5.60',
+            'Exporter::Heavy'       => '5.60',
+            'ExtUtils::CBuilder'    => '0.19',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.13',
+            'ExtUtils::Command'     => '1.13',
+            'ExtUtils::Command::MM' => '0.07',
+            'ExtUtils::Constant::Base'=> '0.04',
+            'ExtUtils::Install'     => '1.41_01',
+            'ExtUtils::Liblist'     => '1.03',
+            'ExtUtils::Liblist::Kid'=> '1.33',
+            'ExtUtils::MM'          => '0.07',
+            'ExtUtils::MM_AIX'      => '0.05',
+            'ExtUtils::MM_Any'      => '0.15',
+            'ExtUtils::MM_BeOS'     => '1.07',
+            'ExtUtils::MM_Cygwin'   => '1.1',
+            'ExtUtils::MM_DOS'      => '0.04',
+            'ExtUtils::MM_MacOS'    => '1.1',
+            'ExtUtils::MM_NW5'      => '2.1',
+            'ExtUtils::MM_OS2'      => '1.07',
+            'ExtUtils::MM_QNX'      => '0.04',
+            'ExtUtils::MM_UWIN'     => '0.04',
+            'ExtUtils::MM_Unix'     => '1.54_01',
+            'ExtUtils::MM_VMS'      => '5.76',
+            'ExtUtils::MM_VOS'      => '0.04',
+            'ExtUtils::MM_Win32'    => '1.15',
+            'ExtUtils::MM_Win95'    => '0.06',
+            'ExtUtils::MY'          => '0.03',
+            'ExtUtils::MakeMaker'   => '6.36',
+            'ExtUtils::MakeMaker::Config'=> '0.04',
+            'ExtUtils::MakeMaker::bytes'=> '0.03',
+            'ExtUtils::MakeMaker::vmsish'=> '0.03',
+            'ExtUtils::Manifest'    => '1.51_01',
+            'ExtUtils::Mkbootstrap' => '1.17',
+            'ExtUtils::Mksymlists'  => '1.21',
+            'ExtUtils::ParseXS'     => '2.18',
+            'ExtUtils::XSSymSet'    => '1.1',
+            'ExtUtils::testlib'     => '1.17',
+            'Fatal'                 => '1.05',
+            'Fcntl'                 => '1.06',
+            'File::Basename'        => '2.76',
+            'File::Copy'            => '2.10',
+            'File::Fetch'           => '0.10',
+            'File::Glob'            => '1.06',
+            'File::Path'            => '2.01',
+            'File::Spec'            => '3.25',
+            'File::Spec::Cygwin'    => '1.1_01',
+            'File::Spec::VMS'       => '1.4_01',
+            'File::Temp'            => '0.18',
+            'Filter::Util::Call'    => '1.0602',
+            'FindBin'               => '1.49',
+            'Getopt::Long'          => '2.36',
+            'Hash::Util::FieldHash' => '1.01',
+            'IO::Compress::Adapter::Deflate'=> '2.005',
+            'IO::Compress::Adapter::Identity'=> '2.005',
+            'IO::Compress::Base'    => '2.005',
+            'IO::Compress::Base::Common'=> '2.005',
+            'IO::Compress::Deflate' => '2.005',
+            'IO::Compress::Gzip'    => '2.005',
+            'IO::Compress::Gzip::Constants'=> '2.005',
+            'IO::Compress::RawDeflate'=> '2.005',
+            'IO::Compress::Zip'     => '2.005',
+            'IO::Compress::Zip::Constants'=> '2.005',
+            'IO::Compress::Zlib::Constants'=> '2.005',
+            'IO::Compress::Zlib::Extra'=> '2.005',
+            'IO::Uncompress::Adapter::Identity'=> '2.005',
+            'IO::Uncompress::Adapter::Inflate'=> '2.005',
+            'IO::Uncompress::AnyInflate'=> '2.005',
+            'IO::Uncompress::AnyUncompress'=> '2.005',
+            'IO::Uncompress::Base'  => '2.005',
+            'IO::Uncompress::Gunzip'=> '2.005',
+            'IO::Uncompress::Inflate'=> '2.005',
+            'IO::Uncompress::RawInflate'=> '2.005',
+            'IO::Uncompress::Unzip' => '2.005',
+            'IO::Zlib'              => '1.05_01',
+            'IPC::Cmd'              => '0.36_01',
+            'List::Util'            => '1.19',
+            'Locale::Maketext::Simple'=> '0.18',
+            'Log::Message'          => '0.01',
+            'Log::Message::Config'  => '0.01',
+            'Log::Message::Handlers'=> undef,
+            'Log::Message::Item'    => undef,
+            'Log::Message::Simple'  => '0.0201',
+            'Math::BigFloat'        => '1.58',
+            'Math::BigInt'          => '1.87',
+            'Math::BigInt::Calc'    => '0.51',
+            'Math::BigInt::FastCalc'=> '0.15_01',
+            'Math::BigRat'          => '0.19',
+            'Math::Complex'         => '1.37',
+            'Memoize'               => '1.01_02',
+            'Module::Build'         => '0.2808',
+            'Module::Build::Config' => undef,
+            'Module::Build::Version'=> '0.7203',
+            'Module::CoreList'      => '2.12',
+            'Module::Load::Conditional'=> '0.16',
+            'Module::Pluggable'     => '3.6',
+            'Module::Pluggable::Object'=> '3.6',
+            'NDBM_File'             => '1.07',
+            'Net::Cmd'              => '2.28',
+            'Net::Config'           => '1.11',
+            'Net::Domain'           => '2.20',
+            'Net::FTP'              => '2.77',
+            'Net::FTP::A'           => '1.18',
+            'Net::NNTP'             => '2.24',
+            'Net::POP3'             => '2.29',
+            'Net::SMTP'             => '2.31',
+            'ODBM_File'             => '1.07',
+            'Object::Accessor'      => '0.32',
+            'Opcode'                => '1.09',
+            'POSIX'                 => '1.13',
+            'Params::Check'         => '0.26',
+            'PerlIO::encoding'      => '0.10',
+            'PerlIO::scalar'        => '0.05',
+            'PerlIO::via'           => '0.04',
+            'Pod::Html'             => '1.08',
+            'Pod::Man'              => '2.12',
+            'Pod::ParseUtils'       => '1.35',
+            'Pod::Parser'           => '1.35',
+            'Pod::Select'           => '1.35',
+            'Pod::Simple'           => '3.05',
+            'Pod::Text'             => '3.08',
+            'Pod::Usage'            => '1.35',
+            'Scalar::Util'          => '1.19',
+            'SelfLoader'            => '1.11',
+            'Shell'                 => '0.72_01',
+            'Socket'                => '1.79',
+            'Storable'              => '2.16',
+            'Switch'                => '2.13',
+            'Sys::Syslog'           => '0.18_01',
+            'Term::ANSIColor'       => '1.12',
+            'Term::UI'              => '0.14_01',
+            'Term::UI::History'     => undef,
+            'Test::Builder'         => '0.70',
+            'Test::Builder::Module' => '0.68',
+            'Test::Builder::Tester' => '1.07',
+            'Test::Harness'         => '2.64',
+            'Test::Harness::Results'=> '0.01',
+            'Test::More'            => '0.70',
+            'Test::Simple'          => '0.70',
+            'Text::Balanced'        => '2.0.0',
+            'Text::Soundex'         => '3.02',
+            'Text::Tabs'            => '2007.1117',
+            'Text::Wrap'            => '2006.1117',
+            'Thread'                => '3.02',
+            'Tie::File'             => '0.97_02',
+            'Tie::Hash::NamedCapture'=> '0.06',
+            'Tie::Memoize'          => '1.1',
+            'Tie::RefHash'          => '1.37',
+            'Time::HiRes'           => '1.9707',
+            'Time::Local'           => '1.17',
+            'Time::Piece'           => '1.11_02',
+            'Time::Seconds'         => undef,
+            'Unicode'               => '5.0.0',
+            'Unicode::Normalize'    => '1.02',
+            'Unicode::UCD'          => '0.25',
+            'VMS::DCLsym'           => '1.03',
+            'Win32'                 => '0.30',
+            'Win32API::File'        => '0.1001_01',
+            'Win32CORE'             => '0.02',
+            'XS::APItest'           => '0.12',
+            'XSLoader'              => '0.08',
+            'attributes'            => '0.08',
+            'base'                  => '2.12',
+            'bigint'                => '0.22',
+            'bignum'                => '0.22',
+            'bigrat'                => '0.22',
+            'bytes'                 => '1.03',
+            'charnames'             => '1.06',
+            'constant'              => '1.10',
+            'diagnostics'           => '1.17',
+            'encoding'              => '2.06',
+            'encoding::warnings'    => '0.11',
+            'feature'               => '1.10',
+            'fields'                => '2.12',
+            'less'                  => '0.02',
+            'mro'                   => '1.00',
+            'overload'              => '1.06',
+            're'                    => '0.08',
+            'sigtrap'               => '1.04',
+            'sort'                  => '2.01',
+            'strict'                => '1.04',
+            'threads'               => '1.63',
+            'threads::shared'       => '1.12',
+            'utf8'                  => '1.07',
+            'version'               => '0.7203',
+            'warnings'              => '1.06',
+        },
+        removed => {
+            'B::Asmdata'            => 1,
+            'B::Assembler'          => 1,
+            'B::Bblock'             => 1,
+            'B::Bytecode'           => 1,
+            'B::C'                  => 1,
+            'B::CC'                 => 1,
+            'B::Disassembler'       => 1,
+            'B::Stackobj'           => 1,
+            'B::Stash'              => 1,
+            'ByteLoader'            => 1,
+            'Thread::Signal'        => 1,
+            'Thread::Specific'      => 1,
+            'assertions'            => 1,
+            'assertions::activate'  => 1,
+            'assertions::compat'    => 1,
+        }
     },
-
-    5.010000 => {
-	'AnyDBM_File'           => '1.00',
-	'Archive::Extract'      => '0.24',
-	'Archive::Tar'          => '1.38',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.79',
-	'AutoLoader'            => '5.63',
-	'AutoSplit'             => '1.05',
-	'B'                     => '1.17',
-	'B::Concise'            => '0.74',
-	'B::Debug'              => '1.05',
-	'B::Deparse'            => '0.83',
-	'B::Lint'               => '1.09',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.01',
-	'Benchmark'             => '1.1',
-	'CGI'                   => '3.29',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.29',
-	'CGI::Cookie'           => '1.28',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5_01',
-	'CPAN'                  => '1.9205',
-	'CPAN::API::HOWTO'      => undef,
-	'CPAN::Debug'           => '5.402212',
-	'CPAN::DeferedCode'     => '5.50',
-	'CPAN::FirstTime'       => '5.402229',
-	'CPAN::HandleConfig'    => '5.402212',
-	'CPAN::Kwalify'         => '5.401418',
-	'CPAN::Nox'             => '5.402411',
-	'CPAN::Queue'           => '5.402212',
-	'CPAN::Tarzip'          => '5.402213',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.84',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Base'  => '0.01',
-	'CPANPLUS::Dist::Build' => '0.06_02',
-	'CPANPLUS::Dist::Build::Constants'=> '0.01',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.84',
-	'CPANPLUS::Internals::Constants'=> '0.01',
-	'CPANPLUS::Internals::Constants::Report'=> '0.01',
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.84',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'CPANPLUS::inc'         => undef,
-	'Carp'                  => '1.08',
-	'Carp::Heavy'           => '1.08',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Zlib'   => '2.008',
-	'Compress::Zlib'        => '2.008',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.2501',
-	'DB'                    => '1.01',
-	'DBM_Filter'            => '0.02',
-	'DBM_Filter::compress'  => '0.01',
-	'DBM_Filter::encode'    => '0.01',
-	'DBM_Filter::int32'     => '0.01',
-	'DBM_Filter::null'      => '0.01',
-	'DBM_Filter::utf8'      => '0.01',
-	'DB_File'               => '1.816_1',
-	'DCLsym'                => '1.03',
-	'Data::Dumper'          => '2.121_14',
-	'Devel::DProf'          => '20050603.00',
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.13',
-	'Devel::Peek'           => '1.03',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.15',
-	'Digest::MD5'           => '2.36_01',
-	'Digest::SHA'           => '5.45',
-	'Digest::base'          => '1.00',
-	'Digest::file'          => '1.00',
-	'DirHandle'             => '1.01',
-	'Dumpvalue'             => '1.12',
-	'DynaLoader'            => '1.08',
-	'Encode'                => '2.23',
-	'Encode::Alias'         => '2.07',
-	'Encode::Byte'          => '2.03',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.02',
-	'Encode::CN::HZ'        => '2.04',
-	'Encode::Config'        => '2.04',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.00',
-	'Encode::Guess'         => '2.02',
-	'Encode::JP'            => '2.03',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.03',
-	'Encode::KR'            => '2.02',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.05',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.02',
-	'Encode::Unicode'       => '2.05',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.10',
-	'Exporter'              => '5.62',
-	'Exporter::Heavy'       => '5.62',
-	'ExtUtils::CBuilder'    => '0.21',
-	'ExtUtils::CBuilder::Base'=> '0.21',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.21',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.22',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.21',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.21',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.21',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.21',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.21',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.21',
-	'ExtUtils::Command'     => '1.13',
-	'ExtUtils::Command::MM' => '6.42',
-	'ExtUtils::Constant'    => '0.2',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.05',
-	'ExtUtils::Constant::Utils'=> '0.01',
-	'ExtUtils::Constant::XS'=> '0.02',
-	'ExtUtils::Embed'       => '1.27',
-	'ExtUtils::Install'     => '1.44',
-	'ExtUtils::Installed'   => '1.43',
-	'ExtUtils::Liblist'     => '6.42',
-	'ExtUtils::Liblist::Kid'=> '6.42',
-	'ExtUtils::MM'          => '6.42',
-	'ExtUtils::MM_AIX'      => '6.42',
-	'ExtUtils::MM_Any'      => '6.42',
-	'ExtUtils::MM_BeOS'     => '6.42',
-	'ExtUtils::MM_Cygwin'   => '6.42',
-	'ExtUtils::MM_DOS'      => '6.42',
-	'ExtUtils::MM_MacOS'    => '6.42',
-	'ExtUtils::MM_NW5'      => '6.42',
-	'ExtUtils::MM_OS2'      => '6.42',
-	'ExtUtils::MM_QNX'      => '6.42',
-	'ExtUtils::MM_UWIN'     => '6.42',
-	'ExtUtils::MM_Unix'     => '6.42',
-	'ExtUtils::MM_VMS'      => '6.42',
-	'ExtUtils::MM_VOS'      => '6.42',
-	'ExtUtils::MM_Win32'    => '6.42',
-	'ExtUtils::MM_Win95'    => '6.42',
-	'ExtUtils::MY'          => '6.42',
-	'ExtUtils::MakeMaker'   => '6.42',
-	'ExtUtils::MakeMaker::Config'=> '6.42',
-	'ExtUtils::MakeMaker::bytes'=> '6.42',
-	'ExtUtils::MakeMaker::vmsish'=> '6.42',
-	'ExtUtils::Manifest'    => '1.51_01',
-        'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.42',
-	'ExtUtils::Mksymlists'  => '6.42',
-	'ExtUtils::Packlist'    => '1.43',
-	'ExtUtils::ParseXS'     => '2.18_02',
-	'ExtUtils::testlib'     => '6.42',
-	'Fatal'                 => '1.05',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.76',
-	'File::CheckTree'       => '4.3',
-	'File::Compare'         => '1.1005',
-	'File::Copy'            => '2.11',
-	'File::DosGlob'         => '1.00',
-	'File::Fetch'           => '0.14',
-	'File::Find'            => '1.12',
-	'File::Glob'            => '1.06',
-	'File::GlobMapper'      => '0.000_02',
-	'File::Path'            => '2.04',
-	'File::Spec'            => '3.2501',
-	'File::Spec::Cygwin'    => '3.2501',
-	'File::Spec::Epoc'      => '3.2501',
-	'File::Spec::Functions' => '3.2501',
-	'File::Spec::Mac'       => '3.2501',
-	'File::Spec::OS2'       => '3.2501',
-	'File::Spec::Unix'      => '3.2501',
-	'File::Spec::VMS'       => '3.2501',
-	'File::Spec::Win32'     => '3.2501',
-	'File::Temp'            => '0.18',
-	'File::stat'            => '1.00',
-	'FileCache'             => '1.07',
-	'FileHandle'            => '2.01',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.82',
-	'Filter::Util::Call'    => '1.07',
-	'FindBin'               => '1.49',
-	'GDBM_File'             => '1.08',
-	'Getopt::Long'          => '2.37',
-	'Getopt::Std'           => '1.05',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.03',
-	'I18N::Collate'         => '1.00',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.23_01',
-	'IO::Compress::Adapter::Deflate'=> '2.008',
-	'IO::Compress::Adapter::Identity'=> '2.008',
-	'IO::Compress::Base'    => '2.008',
-	'IO::Compress::Base::Common'=> '2.008',
-	'IO::Compress::Deflate' => '2.008',
-	'IO::Compress::Gzip'    => '2.008',
-	'IO::Compress::Gzip::Constants'=> '2.008',
-	'IO::Compress::RawDeflate'=> '2.008',
-	'IO::Compress::Zip'     => '2.008',
-	'IO::Compress::Zip::Constants'=> '2.008',
-	'IO::Compress::Zlib::Constants'=> '2.008',
-	'IO::Compress::Zlib::Extra'=> '2.008',
-	'IO::Dir'               => '1.06',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.27',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.30_01',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Identity'=> '2.008',
-	'IO::Uncompress::Adapter::Inflate'=> '2.008',
-	'IO::Uncompress::AnyInflate'=> '2.008',
-	'IO::Uncompress::AnyUncompress'=> '2.008',
-	'IO::Uncompress::Base'  => '2.008',
-	'IO::Uncompress::Gunzip'=> '2.008',
-	'IO::Uncompress::Inflate'=> '2.008',
-	'IO::Uncompress::RawInflate'=> '2.008',
-	'IO::Uncompress::Unzip' => '2.008',
-	'IO::Zlib'              => '1.07',
-	'IPC::Cmd'              => '0.40_1',
-	'IPC::Msg'              => '1.02',
-	'IPC::Open2'            => '1.02',
-	'IPC::Open3'            => '1.02',
-	'IPC::Semaphore'        => '1.02',
-	'IPC::SysV'             => '1.05',
-	'List::Util'            => '1.19',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.12',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Maketext::Simple'=> '0.18',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.01',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.04',
-	'MIME::Base64'          => '3.07_01',
-	'MIME::QuotedPrint'     => '3.07',
-	'Math::BigFloat'        => '1.59',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.88',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.16',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.21',
-	'Math::Complex'         => '1.37',
-	'Math::Trig'            => '1.04',
-	'Memoize'               => '1.01_02',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.2808_01',
-	'Module::Build::Base'   => '0.2808_01',
-	'Module::Build::Compat' => '0.2808_01',
-	'Module::Build::Config' => '0.2808_01',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> undef,
-	'Module::Build::Dumper' => undef,
-	'Module::Build::ModuleInfo'=> '0.2808_01',
-	'Module::Build::Notes'  => '0.2808_01',
-	'Module::Build::PPMMaker'=> '0.2808_01',
-	'Module::Build::Platform::Amiga'=> '0.2808_01',
-	'Module::Build::Platform::Default'=> '0.2808_01',
-	'Module::Build::Platform::EBCDIC'=> '0.2808_01',
-	'Module::Build::Platform::MPEiX'=> '0.2808_01',
-	'Module::Build::Platform::MacOS'=> '0.2808_01',
-	'Module::Build::Platform::RiscOS'=> '0.2808_01',
-	'Module::Build::Platform::Unix'=> '0.2808_01',
-	'Module::Build::Platform::VMS'=> '0.2808_01',
-	'Module::Build::Platform::VOS'=> '0.2808_01',
-	'Module::Build::Platform::Windows'=> '0.2808_01',
-	'Module::Build::Platform::aix'=> '0.2808_01',
-	'Module::Build::Platform::cygwin'=> '0.2808_01',
-	'Module::Build::Platform::darwin'=> '0.2808_01',
-	'Module::Build::Platform::os2'=> '0.2808_01',
-	'Module::Build::PodParser'=> '0.2808_01',
-	'Module::Build::Version'=> '0.7203',
-	'Module::Build::YAML'   => '0.50',
-	'Module::CoreList'      => '2.12',
-	'Module::Load'          => '0.12',
-	'Module::Load::Conditional'=> '0.22',
-	'Module::Loaded'        => '0.01',
-	'Module::Pluggable'     => '3.6',
-	'Module::Pluggable::Object'=> '3.6',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.07',
-	'NEXT'                  => '0.60_01',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.33',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.00',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.32',
-	'Opcode'                => '1.11',
-	'POSIX'                 => '1.13',
-	'Package::Constants'    => '0.01',
-	'Params::Check'         => '0.26',
-	'PerlIO'                => '1.04',
-	'PerlIO::encoding'      => '0.10',
-	'PerlIO::scalar'        => '0.05',
-	'PerlIO::via'           => '0.04',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.43_01',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.34',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.08',
-	'Pod::InputObjects'     => '1.3',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.16',
-	'Pod::ParseLink'        => '1.06',
-	'Pod::ParseUtils'       => '1.35',
-	'Pod::Parser'           => '1.35',
-	'Pod::Perldoc'          => '3.14_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.02',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.35',
-	'Pod::Simple'           => '3.05',
-	'Pod::Simple::BlackBox' => undef,
-	'Pod::Simple::Checker'  => '2.02',
-	'Pod::Simple::Debug'    => undef,
-	'Pod::Simple::DumpAsText'=> '2.02',
-	'Pod::Simple::DumpAsXML'=> '2.02',
-	'Pod::Simple::HTML'     => '3.03',
-	'Pod::Simple::HTMLBatch'=> '3.02',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> undef,
-	'Pod::Simple::Methody'  => '2.02',
-	'Pod::Simple::Progress' => '1.01',
-	'Pod::Simple::PullParser'=> '2.02',
-	'Pod::Simple::PullParserEndToken'=> undef,
-	'Pod::Simple::PullParserStartToken'=> undef,
-	'Pod::Simple::PullParserTextToken'=> undef,
-	'Pod::Simple::PullParserToken'=> '2.02',
-	'Pod::Simple::RTF'      => '2.02',
-	'Pod::Simple::Search'   => '3.04',
-	'Pod::Simple::SimpleTree'=> '2.02',
-	'Pod::Simple::Text'     => '2.02',
-	'Pod::Simple::TextContent'=> '2.02',
-	'Pod::Simple::TiedOutFH'=> undef,
-	'Pod::Simple::Transcode'=> undef,
-	'Pod::Simple::TranscodeDumb'=> '2.02',
-	'Pod::Simple::TranscodeSmart'=> undef,
-	'Pod::Simple::XMLOutStream'=> '2.02',
-	'Pod::Text'             => '3.08',
-	'Pod::Text::Color'      => '2.03',
-	'Pod::Text::Overstrike' => '2',
-	'Pod::Text::Termcap'    => '2.03',
-	'Pod::Usage'            => '1.35',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.12',
-	'Scalar::Util'          => '1.19',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.01',
-	'SelfLoader'            => '1.11',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.80',
-	'Stdio'                 => '2.3',
-	'Storable'              => '2.18',
-	'Switch'                => '2.13',
-	'Symbol'                => '1.06',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.22',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'Term::ANSIColor'       => '1.12',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.03',
-	'Term::UI'              => '0.18',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25',
-	'Test::Builder'         => '0.72',
-	'Test::Builder::Module' => '0.72',
-	'Test::Builder::Tester' => '1.09',
-	'Test::Builder::Tester::Color'=> undef,
-	'Test::Harness'         => '2.64',
-	'Test::Harness::Assert' => '0.02',
-	'Test::Harness::Iterator'=> '0.02',
-	'Test::Harness::Point'  => '0.01',
-	'Test::Harness::Results'=> '0.01',
-	'Test::Harness::Straps' => '0.26_01',
-	'Test::Harness::Util'   => '0.01',
-	'Test::More'            => '0.72',
-	'Test::Simple'          => '0.72',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.0.0',
-	'Text::ParseWords'      => '3.26',
-	'Text::Soundex'         => '3.03',
-	'Text::Tabs'            => '2007.1117',
-	'Text::Wrap'            => '2006.1117',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.00',
-	'Thread::Semaphore'     => '2.01',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.1',
-	'Tie::Hash'             => '1.02',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.37',
-	'Tie::Scalar'           => '1.00',
-	'Tie::StdHandle'        => undef,
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9711',
-	'Time::Local'           => '1.18',
-	'Time::Piece'           => '1.12',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.04',
-	'Unicode'               => '5.0.0',
-	'Unicode::Collate'      => '0.52',
-	'Unicode::Normalize'    => '1.02',
-	'Unicode::UCD'          => '0.25',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.34',
-	'Win32API::File'        => '0.1001_01',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.12',
-	'XS::Typemap'           => '0.02',
-	'XSLoader'              => '0.08',
-	'XSSymSet'              => '1.1',
-	'attributes'            => '0.08',
-	'attrs'                 => '1.02',
-	'autouse'               => '1.06',
-	'base'                  => '2.13',
-	'bigint'                => '0.22',
-	'bignum'                => '0.22',
-	'bigrat'                => '0.22',
-	'blib'                  => '1.03',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.06',
-	'constant'              => '1.13',
-	'diagnostics'           => '1.17',
-	'encoding'              => '2.06',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.11',
-	'fields'                => '2.13',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.02',
-	'lib'                   => '0.5565',
-	'locale'                => '1.00',
-	'mro'                   => '1.00',
-	'open'                  => '1.06',
-	'ops'                   => '1.01',
-	'overload'              => '1.06',
-	're'                    => '0.08',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.67',
-	'threads::shared'       => '1.14',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.74',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.06',
-	'warnings::register'    => '1.01',
+    5.01 => {
+        delta_from => 5.009005,
+        changed => {
+            'Archive::Extract'      => '0.24',
+            'Archive::Tar'          => '1.38',
+            'Attribute::Handlers'   => '0.79',
+            'B'                     => '1.17',
+            'B::Concise'            => '0.74',
+            'B::Deparse'            => '0.83',
+            'CPAN'                  => '1.9205',
+            'CPAN::API::HOWTO'      => undef,
+            'CPAN::Debug'           => '5.402212',
+            'CPAN::DeferedCode'     => '5.50',
+            'CPAN::FirstTime'       => '5.402229',
+            'CPAN::HandleConfig'    => '5.402212',
+            'CPAN::Nox'             => '5.402411',
+            'CPAN::Queue'           => '5.402212',
+            'CPAN::Tarzip'          => '5.402213',
+            'CPAN::Version'         => '5.5',
+            'CPANPLUS'              => '0.84',
+            'CPANPLUS::Dist::Build' => '0.06_02',
+            'CPANPLUS::Internals'   => '0.84',
+            'CPANPLUS::Shell::Default'=> '0.84',
+            'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
+            'Carp'                  => '1.08',
+            'Carp::Heavy'           => '1.08',
+            'Compress::Raw::Zlib'   => '2.008',
+            'Compress::Zlib'        => '2.008',
+            'Cwd'                   => '3.2501',
+            'DB_File'               => '1.816_1',
+            'Data::Dumper'          => '2.121_14',
+            'Devel::PPPort'         => '3.13',
+            'Digest::SHA'           => '5.45',
+            'Exporter'              => '5.62',
+            'Exporter::Heavy'       => '5.62',
+            'ExtUtils::CBuilder'    => '0.21',
+            'ExtUtils::CBuilder::Base'=> '0.21',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.21',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.22',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.21',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.21',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.21',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.21',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.21',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.21',
+            'ExtUtils::Command::MM' => '6.42',
+            'ExtUtils::Constant::ProxySubs'=> '0.05',
+            'ExtUtils::Embed'       => '1.27',
+            'ExtUtils::Install'     => '1.44',
+            'ExtUtils::Installed'   => '1.43',
+            'ExtUtils::Liblist'     => '6.42',
+            'ExtUtils::Liblist::Kid'=> '6.42',
+            'ExtUtils::MM'          => '6.42',
+            'ExtUtils::MM_AIX'      => '6.42',
+            'ExtUtils::MM_Any'      => '6.42',
+            'ExtUtils::MM_BeOS'     => '6.42',
+            'ExtUtils::MM_Cygwin'   => '6.42',
+            'ExtUtils::MM_DOS'      => '6.42',
+            'ExtUtils::MM_MacOS'    => '6.42',
+            'ExtUtils::MM_NW5'      => '6.42',
+            'ExtUtils::MM_OS2'      => '6.42',
+            'ExtUtils::MM_QNX'      => '6.42',
+            'ExtUtils::MM_UWIN'     => '6.42',
+            'ExtUtils::MM_Unix'     => '6.42',
+            'ExtUtils::MM_VMS'      => '6.42',
+            'ExtUtils::MM_VOS'      => '6.42',
+            'ExtUtils::MM_Win32'    => '6.42',
+            'ExtUtils::MM_Win95'    => '6.42',
+            'ExtUtils::MY'          => '6.42',
+            'ExtUtils::MakeMaker'   => '6.42',
+            'ExtUtils::MakeMaker::Config'=> '6.42',
+            'ExtUtils::MakeMaker::bytes'=> '6.42',
+            'ExtUtils::MakeMaker::vmsish'=> '6.42',
+            'ExtUtils::Mkbootstrap' => '6.42',
+            'ExtUtils::Mksymlists'  => '6.42',
+            'ExtUtils::Packlist'    => '1.43',
+            'ExtUtils::ParseXS'     => '2.18_02',
+            'ExtUtils::testlib'     => '6.42',
+            'File::Copy'            => '2.11',
+            'File::Fetch'           => '0.14',
+            'File::Find'            => '1.12',
+            'File::Path'            => '2.04',
+            'File::Spec'            => '3.2501',
+            'File::Spec::Cygwin'    => '3.2501',
+            'File::Spec::Epoc'      => '3.2501',
+            'File::Spec::Functions' => '3.2501',
+            'File::Spec::Mac'       => '3.2501',
+            'File::Spec::OS2'       => '3.2501',
+            'File::Spec::Unix'      => '3.2501',
+            'File::Spec::VMS'       => '3.2501',
+            'File::Spec::Win32'     => '3.2501',
+            'Filter::Util::Call'    => '1.07',
+            'Getopt::Long'          => '2.37',
+            'Hash::Util::FieldHash' => '1.03',
+            'IO::Compress::Adapter::Deflate'=> '2.008',
+            'IO::Compress::Adapter::Identity'=> '2.008',
+            'IO::Compress::Base'    => '2.008',
+            'IO::Compress::Base::Common'=> '2.008',
+            'IO::Compress::Deflate' => '2.008',
+            'IO::Compress::Gzip'    => '2.008',
+            'IO::Compress::Gzip::Constants'=> '2.008',
+            'IO::Compress::RawDeflate'=> '2.008',
+            'IO::Compress::Zip'     => '2.008',
+            'IO::Compress::Zip::Constants'=> '2.008',
+            'IO::Compress::Zlib::Constants'=> '2.008',
+            'IO::Compress::Zlib::Extra'=> '2.008',
+            'IO::Uncompress::Adapter::Identity'=> '2.008',
+            'IO::Uncompress::Adapter::Inflate'=> '2.008',
+            'IO::Uncompress::AnyInflate'=> '2.008',
+            'IO::Uncompress::AnyUncompress'=> '2.008',
+            'IO::Uncompress::Base'  => '2.008',
+            'IO::Uncompress::Gunzip'=> '2.008',
+            'IO::Uncompress::Inflate'=> '2.008',
+            'IO::Uncompress::RawInflate'=> '2.008',
+            'IO::Uncompress::Unzip' => '2.008',
+            'IO::Zlib'              => '1.07',
+            'IPC::Cmd'              => '0.40_1',
+            'IPC::SysV'             => '1.05',
+            'Locale::Maketext'      => '1.12',
+            'Log::Message::Simple'  => '0.04',
+            'Math::BigFloat'        => '1.59',
+            'Math::BigInt'          => '1.88',
+            'Math::BigInt::Calc'    => '0.52',
+            'Math::BigInt::FastCalc'=> '0.16',
+            'Math::BigRat'          => '0.21',
+            'Module::Build'         => '0.2808_01',
+            'Module::Build::Base'   => '0.2808_01',
+            'Module::Build::Compat' => '0.2808_01',
+            'Module::Build::Config' => '0.2808_01',
+            'Module::Build::Dumper' => undef,
+            'Module::Build::ModuleInfo'=> '0.2808_01',
+            'Module::Build::Notes'  => '0.2808_01',
+            'Module::Build::PPMMaker'=> '0.2808_01',
+            'Module::Build::Platform::Amiga'=> '0.2808_01',
+            'Module::Build::Platform::Default'=> '0.2808_01',
+            'Module::Build::Platform::EBCDIC'=> '0.2808_01',
+            'Module::Build::Platform::MPEiX'=> '0.2808_01',
+            'Module::Build::Platform::MacOS'=> '0.2808_01',
+            'Module::Build::Platform::RiscOS'=> '0.2808_01',
+            'Module::Build::Platform::Unix'=> '0.2808_01',
+            'Module::Build::Platform::VMS'=> '0.2808_01',
+            'Module::Build::Platform::VOS'=> '0.2808_01',
+            'Module::Build::Platform::Windows'=> '0.2808_01',
+            'Module::Build::Platform::aix'=> '0.2808_01',
+            'Module::Build::Platform::cygwin'=> '0.2808_01',
+            'Module::Build::Platform::darwin'=> '0.2808_01',
+            'Module::Build::Platform::os2'=> '0.2808_01',
+            'Module::Build::PodParser'=> '0.2808_01',
+            'Module::CoreList'      => '2.13',
+            'Module::Load'          => '0.12',
+            'Module::Load::Conditional'=> '0.22',
+            'Net::Cmd'              => '2.29',
+            'Net::Ping'             => '2.33',
+            'Opcode'                => '1.11',
+            'Pod::Checker'          => '1.43_01',
+            'Pod::Man'              => '2.16',
+            'Pod::Perldoc'          => '3.14_02',
+            'Socket'                => '1.80',
+            'Storable'              => '2.18',
+            'Sys::Syslog'           => '0.22',
+            'Sys::Syslog::win32::Win32'=> undef,
+            'Term::Cap'             => '1.12',
+            'Term::ReadLine'        => '1.03',
+            'Term::UI'              => '0.18',
+            'Test::Builder'         => '0.72',
+            'Test::Builder::Module' => '0.72',
+            'Test::Builder::Tester' => '1.09',
+            'Test::Harness::Straps' => '0.26_01',
+            'Test::More'            => '0.72',
+            'Test::Simple'          => '0.72',
+            'Text::ParseWords'      => '3.26',
+            'Text::Soundex'         => '3.03',
+            'Tie::StdHandle'        => undef,
+            'Time::HiRes'           => '1.9711',
+            'Time::Local'           => '1.18',
+            'Time::Piece'           => '1.12',
+            'VMS::Filespec'         => '1.12',
+            'Win32'                 => '0.34',
+            'base'                  => '2.13',
+            'constant'              => '1.13',
+            'feature'               => '1.11',
+            'fields'                => '2.13',
+            'filetest'              => '1.02',
+            'open'                  => '1.06',
+            'threads'               => '1.67',
+            'threads::shared'       => '1.14',
+            'version'               => '0.74',
+        },
+        removed => {
+        }
     },
-
-    5.008009 => {
-	'AnyDBM_File'           => '1.00',
-	'Attribute::Handlers'   => '0.78_03',
-	'AutoLoader'            => '5.67',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.19',
-	'B::Asmdata'            => '1.02',
-	'B::Assembler'          => '0.08',
-	'B::Bblock'             => '1.02_01',
-	'B::Bytecode'           => '1.01_01',
-	'B::C'                  => '1.05',
-	'B::CC'                 => '1.00_01',
-	'B::Concise'            => '0.76',
-	'B::Debug'              => '1.05',
-	'B::Deparse'            => '0.87',
-	'B::Disassembler'       => '1.05',
-	'B::Lint'               => '1.11',
-	'B::Lint::Debug'        => undef,
-	'B::Showlex'            => '1.02',
-	'B::Stackobj'           => '1.00',
-	'B::Stash'              => '1.00',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.01',
-	'Benchmark'             => '1.1',
-	'ByteLoader'            => '0.06',
-	'CGI'                   => '3.42',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.30_01',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5_01',
-	'CPAN'                  => '1.9301',
-	'CPAN::Debug'           => '5.5',
-	'CPAN::DeferedCode'     => '5.50',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::FirstTime'       => '5.5_01',
-	'CPAN::HandleConfig'    => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Tarzip'          => '5.5',
-	'CPAN::Version'         => '5.5',
-	'Carp'                  => '1.10',
-	'Carp::Heavy'           => '1.10',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-	'Config'                => undef,
-	'Cwd'                   => '3.29',
-	'DB'                    => '1.01',
-	'DBM_Filter'            => '0.02',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.817',
-	'DCLsym'                => '1.03',
-	'Data::Dumper'          => '2.121_17',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.14',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.15',
-	'Digest::MD5'           => '2.37',
-	'Digest::base'          => '1.00',
-	'Digest::file'          => '1.00',
-	'DirHandle'             => '1.02',
-	'Dumpvalue'             => '1.12',
-	'DynaLoader'            => '1.09',
-	'Encode'                => '2.26',
-	'Encode::Alias'         => '2.10',
-	'Encode::Byte'          => '2.03',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.02',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.02',
-	'Encode::JP'            => '2.03',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.02',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.05',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.02',
-	'Encode::Unicode'       => '2.05',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.03',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.10',
-	'Exporter'              => '5.63',
-	'Exporter::Heavy'       => '5.63',
-	'ExtUtils::Command'     => '1.15',
-	'ExtUtils::Command::MM' => '6.48',
-	'ExtUtils::Constant'    => '0.21',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.02',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.50_01',
-	'ExtUtils::Installed'   => '1.43',
-	'ExtUtils::Liblist'     => '6.48',
-	'ExtUtils::Liblist::Kid'=> '6.48',
-	'ExtUtils::MM'          => '6.48',
-	'ExtUtils::MM_AIX'      => '6.48',
-	'ExtUtils::MM_Any'      => '6.48',
-	'ExtUtils::MM_BeOS'     => '6.48',
-	'ExtUtils::MM_Cygwin'   => '6.48',
-	'ExtUtils::MM_DOS'      => '6.48',
-	'ExtUtils::MM_Darwin'   => '6.48',
-	'ExtUtils::MM_MacOS'    => '6.48',
-	'ExtUtils::MM_NW5'      => '6.48',
-	'ExtUtils::MM_OS2'      => '6.48',
-	'ExtUtils::MM_QNX'      => '6.48',
-	'ExtUtils::MM_UWIN'     => '6.48',
-	'ExtUtils::MM_Unix'     => '6.48',
-	'ExtUtils::MM_VMS'      => '6.48',
-	'ExtUtils::MM_VOS'      => '6.48',
-	'ExtUtils::MM_Win32'    => '6.48',
-	'ExtUtils::MM_Win95'    => '6.48',
-	'ExtUtils::MY'          => '6.48',
-	'ExtUtils::MakeMaker'   => '6.48',
-	'ExtUtils::MakeMaker::Config'=> '6.48',
-	'ExtUtils::MakeMaker::bytes'=> '6.48',
-	'ExtUtils::MakeMaker::vmsish'=> '6.48',
-	'ExtUtils::Manifest'    => '1.55',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.48',
-	'ExtUtils::Mksymlists'  => '6.48',
-	'ExtUtils::Packlist'    => '1.43',
-	'ExtUtils::ParseXS'     => '2.19',
-	'ExtUtils::testlib'     => '6.48',
-	'Fatal'                 => '1.06',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.77',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1005',
-	'File::Copy'            => '2.13',
-	'File::DosGlob'         => '1.01',
-	'File::Find'            => '1.13',
-	'File::Glob'            => '1.06',
-	'File::Path'            => '2.07_02',
-	'File::Spec'            => '3.29',
-	'File::Spec::Cygwin'    => '3.29',
-	'File::Spec::Epoc'      => '3.29',
-	'File::Spec::Functions' => '3.29',
-	'File::Spec::Mac'       => '3.29',
-	'File::Spec::OS2'       => '3.29',
-	'File::Spec::Unix'      => '3.29',
-	'File::Spec::VMS'       => '3.29',
-	'File::Spec::Win32'     => '3.29',
-	'File::Temp'            => '0.20',
-	'File::stat'            => '1.01',
-	'FileCache'             => '1.07',
-	'FileHandle'            => '2.01',
-	'VMS::Filespec'         => '1.11',
-	'Filter::Simple'        => '0.83',
-	'Filter::Util::Call'    => '1.07',
-	'FindBin'               => '1.49',
-	'GDBM_File'             => '1.09',
-	'Getopt::Long'          => '2.37',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.06',
-	'I18N::Collate'         => '1.00',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.23',
-	'IO::Dir'               => '1.06',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.27',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.30',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IPC::Msg'              => '2.00',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.03',
-	'IPC::Semaphore'        => '2.00',
-	'IPC::SharedMem'        => '2.00',
-	'IPC::SysV'             => '2.00',
-	'IPC::lib::IPC::Msg'    => '2.00',
-	'IPC::lib::IPC::Semaphore'=> '2.00',
-	'IPC::lib::IPC::SharedMem'=> '2.00',
-	'List::Util'            => '1.19',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.13',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Script'        => '2.07',
-	'MIME::Base64'          => '3.07',
-	'MIME::QuotedPrint'     => '3.07',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.22',
-	'Math::Complex'         => '1.54',
-	'Math::Trig'            => '1.18',
-	'Memoize'               => '1.01',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::CoreList'      => '2.17',
-	'Module::Pluggable'     => '3.8',
-	'Module::Pluggable::Object'=> '3.6',
-	'Module::Pluggable::lib::Devel::InnerPackage'=> '0.3',
-	'NDBM_File'             => '1.07',
-	'NEXT'                  => '0.61',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.35',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Opcode'                => '1.0601',
-	'POSIX'                 => '1.15',
-	'PerlIO'                => '1.05',
-	'PerlIO::encoding'      => '0.11',
-	'PerlIO::scalar'        => '0.06',
-	'PerlIO::via'           => '0.05',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.43',
-	'Pod::Find'             => '1.34',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.3',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '1.37',
-	'Pod::ParseLink'        => '1.06',
-	'Pod::ParseUtils'       => '1.35',
-	'Pod::Parser'           => '1.35',
-	'Pod::Perldoc'          => '3.14',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.02',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.35',
-	'Pod::Text'             => '2.21',
-	'Pod::Text::Color'      => '1.04',
-	'Pod::Text::Overstrike' => '1.1',
-	'Pod::Text::Termcap'    => '1.11',
-	'Pod::Usage'            => '1.35',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.16',
-	'Scalar::Util'          => '1.19',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.01',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72',
-	'Socket'                => '1.81',
-	'Stdio'                 => '2.4',
-	'Storable'              => '2.19',
-	'Switch'                => '2.13',
-	'Symbol'                => '1.06',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'Term::ANSIColor'       => '1.12',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.03',
-	'Test'                  => '1.25',
-	'Test::Builder'         => '0.80',
-	'Test::Builder::Module' => '0.80',
-	'Test::Builder::Tester' => '1.13',
-	'Test::Builder::Tester::Color'=> undef,
-	'Test::Harness'         => '2.64',
-	'Test::Harness::Assert' => '0.02',
-	'Test::Harness::Iterator'=> '0.02',
-	'Test::Harness::Point'  => '0.01',
-	'Test::Harness::Results'=> '0.01_01',
-	'Test::Harness::Straps' => '0.26_01',
-	'Test::Harness::Util'   => '0.01',
-	'Test::More'            => '0.80',
-	'Test::Simple'          => '0.80',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '1.98',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03',
-	'Text::Tabs'            => '2007.1117',
-	'Text::Wrap'            => '2006.1117',
-	'Thread'                => '2.01',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Thread::Signal'        => '1.00',
-	'Thread::Specific'      => '1.00',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.01',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9715',
-	'Time::Local'           => '1.1901',
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.01',
-	'Unicode'               => '5.1.0',
-	'Unicode::Collate'      => '0.52',
-	'Unicode::Normalize'    => '1.02',
-	'Unicode::UCD'          => '0.25',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.38',
-	'Win32API::File'        => '0.1001_01',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.15',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSSymSet'              => '1.1',
-	'attributes'            => '0.09',
-	'attrs'                 => '1.02',
-	'autouse'               => '1.06',
-	'base'                  => '2.13',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.02',
-	'charnames'             => '1.06',
-	'constant'              => '1.17',
-	'diagnostics'           => '1.16',
-	'encoding'              => '2.6_01',
-	'fields'                => '2.12',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.01',
-	'lib'                   => '0.61',
-	'locale'                => '1.00',
-	'open'                  => '1.06',
-	'ops'                   => '1.02',
-	'overload'              => '1.06',
-	're'                    => '0.0601',
-	'sigtrap'               => '1.04',
-	'sort'                  => '1.02',
-	'strict'                => '1.03',
-	'subs'                  => '1.00',
-	'threads'               => '1.71',
-	'threads::shared'       => '1.27',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.05_01',
-	'warnings::register'    => '1.01',
-    },
-
     5.010001 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.34',
-	'Archive::Tar'          => '1.52',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.85',
-	'AutoLoader'            => '5.68',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.22',
-	'B::Concise'            => '0.76',
-	'B::Debug'              => '1.11',
-	'B::Deparse'            => '0.89',
-	'B::Lint'               => '1.11',
-	'B::Lint::Debug'        => undef,
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.43',
-	'CGI::Apache'           => '1.00',
-	'CGI::Carp'             => '1.30_01',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '1.08',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.00',
-	'CGI::Util'             => '1.5_01',
-	'CPAN'                  => '1.9402',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.93',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5001',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.53',
-	'CPAN::HandleConfig'    => '5.5',
-	'CPAN::Index'           => '1.93',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.00',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5',
-	'CPAN::Tarzip'          => '5.501',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.88',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.36',
-	'CPANPLUS::Dist::Build::Constants'=> '0.36',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.88',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.88',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.11',
-	'Carp::Heavy'           => '1.11',
-	'Class::ISA'            => '0.33',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.020',
-	'Compress::Raw::Zlib'   => '2.020',
-	'Compress::Zlib'        => '2.020',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.30',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.02',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'DCLsym'                => '1.03',
-	'Data::Dumper'          => '2.124',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.35',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.03',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.02',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.03',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.02',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.02',
-	'Encode::Unicode'       => '2.06',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.63',
-	'Exporter::Heavy'       => '5.63',
-	'ExtUtils::CBuilder'    => '0.2602',
-	'ExtUtils::CBuilder::Base'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.2602',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.55_02',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.54',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.55_02',
-	'ExtUtils::Liblist::Kid'=> '6.5502',
-	'ExtUtils::MM'          => '6.55_02',
-	'ExtUtils::MM_AIX'      => '6.55_02',
-	'ExtUtils::MM_Any'      => '6.55_02',
-	'ExtUtils::MM_BeOS'     => '6.55_02',
-	'ExtUtils::MM_Cygwin'   => '6.55_02',
-	'ExtUtils::MM_DOS'      => '6.5502',
-	'ExtUtils::MM_Darwin'   => '6.55_02',
-	'ExtUtils::MM_MacOS'    => '6.5502',
-	'ExtUtils::MM_NW5'      => '6.55_02',
-	'ExtUtils::MM_OS2'      => '6.55_02',
-	'ExtUtils::MM_QNX'      => '6.55_02',
-	'ExtUtils::MM_UWIN'     => '6.5502',
-	'ExtUtils::MM_Unix'     => '6.55_02',
-	'ExtUtils::MM_VMS'      => '6.55_02',
-	'ExtUtils::MM_VOS'      => '6.55_02',
-	'ExtUtils::MM_Win32'    => '6.55_02',
-	'ExtUtils::MM_Win95'    => '6.55_02',
-	'ExtUtils::MY'          => '6.5502',
-	'ExtUtils::MakeMaker'   => '6.55_02',
-	'ExtUtils::MakeMaker::Config'=> '6.55_02',
-	'ExtUtils::Manifest'    => '1.56',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.55_02',
-	'ExtUtils::Mksymlists'  => '6.55_02',
-	'ExtUtils::Packlist'    => '1.43',
-	'ExtUtils::ParseXS'     => '2.2002',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.5502',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.77',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.14',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.20',
-	'File::Find'            => '1.14',
-	'File::Glob'            => '1.06',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.07_03',
-	'File::Spec'            => '3.30',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.01',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.09',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.25',
-	'IO::Compress::Adapter::Bzip2'=> '2.020',
-	'IO::Compress::Adapter::Deflate'=> '2.020',
-	'IO::Compress::Adapter::Identity'=> '2.020',
-	'IO::Compress::Base'    => '2.020',
-	'IO::Compress::Base::Common'=> '2.020',
-	'IO::Compress::Bzip2'   => '2.020',
-	'IO::Compress::Deflate' => '2.020',
-	'IO::Compress::Gzip'    => '2.020',
-	'IO::Compress::Gzip::Constants'=> '2.020',
-	'IO::Compress::RawDeflate'=> '2.020',
-	'IO::Compress::Zip'     => '2.020',
-	'IO::Compress::Zip::Constants'=> '2.020',
-	'IO::Compress::Zlib::Constants'=> '2.020',
-	'IO::Compress::Zlib::Extra'=> '2.020',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.020',
-	'IO::Uncompress::Adapter::Identity'=> '2.020',
-	'IO::Uncompress::Adapter::Inflate'=> '2.020',
-	'IO::Uncompress::AnyInflate'=> '2.020',
-	'IO::Uncompress::AnyUncompress'=> '2.020',
-	'IO::Uncompress::Base'  => '2.020',
-	'IO::Uncompress::Bunzip2'=> '2.020',
-	'IO::Uncompress::Gunzip'=> '2.020',
-	'IO::Uncompress::Inflate'=> '2.020',
-	'IO::Uncompress::RawInflate'=> '2.020',
-	'IO::Uncompress::Unzip' => '2.020',
-	'IO::Zlib'              => '1.09',
-	'IPC::Cmd'              => '0.46',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.04',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.21',
-	'List::Util::PP'        => '1.21',
-	'List::Util::XS'        => '1.21',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.13',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.18',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.04',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.22',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.340201',
-	'Module::Build::Base'   => '0.340201',
-	'Module::Build::Compat' => '0.340201',
-	'Module::Build::Config' => '0.340201',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.340201',
-	'Module::Build::Dumper' => '0.340201',
-	'Module::Build::ModuleInfo'=> '0.340201',
-	'Module::Build::Notes'  => '0.340201',
-	'Module::Build::PPMMaker'=> '0.340201',
-	'Module::Build::Platform::Amiga'=> '0.340201',
-	'Module::Build::Platform::Default'=> '0.340201',
-	'Module::Build::Platform::EBCDIC'=> '0.340201',
-	'Module::Build::Platform::MPEiX'=> '0.340201',
-	'Module::Build::Platform::MacOS'=> '0.340201',
-	'Module::Build::Platform::RiscOS'=> '0.340201',
-	'Module::Build::Platform::Unix'=> '0.340201',
-	'Module::Build::Platform::VMS'=> '0.340201',
-	'Module::Build::Platform::VOS'=> '0.340201',
-	'Module::Build::Platform::Windows'=> '0.340201',
-	'Module::Build::Platform::aix'=> '0.340201',
-	'Module::Build::Platform::cygwin'=> '0.340201',
-	'Module::Build::Platform::darwin'=> '0.340201',
-	'Module::Build::Platform::os2'=> '0.340201',
-	'Module::Build::PodParser'=> '0.340201',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '0.50',
-	'Module::CoreList'      => '2.18',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.30',
-	'Module::Loaded'        => '0.02',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.34',
-	'Opcode'                => '1.11',
-	'POSIX'                 => '1.17',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.39',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.11',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.07',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.22',
-	'Pod::ParseLink'        => '1.09',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.14_04',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '0.01',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.07',
-	'Pod::Simple::BlackBox' => undef,
-	'Pod::Simple::Checker'  => '2.02',
-	'Pod::Simple::Debug'    => undef,
-	'Pod::Simple::DumpAsText'=> '2.02',
-	'Pod::Simple::DumpAsXML'=> '2.02',
-	'Pod::Simple::HTML'     => '3.03',
-	'Pod::Simple::HTMLBatch'=> '3.02',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> undef,
-	'Pod::Simple::Methody'  => '2.02',
-	'Pod::Simple::Progress' => '1.01',
-	'Pod::Simple::PullParser'=> '2.02',
-	'Pod::Simple::PullParserEndToken'=> undef,
-	'Pod::Simple::PullParserStartToken'=> undef,
-	'Pod::Simple::PullParserTextToken'=> undef,
-	'Pod::Simple::PullParserToken'=> '2.02',
-	'Pod::Simple::RTF'      => '2.02',
-	'Pod::Simple::Search'   => '3.04',
-	'Pod::Simple::SimpleTree'=> '2.02',
-	'Pod::Simple::Text'     => '2.02',
-	'Pod::Simple::TextContent'=> '2.02',
-	'Pod::Simple::TiedOutFH'=> undef,
-	'Pod::Simple::Transcode'=> undef,
-	'Pod::Simple::TranscodeDumb'=> '2.02',
-	'Pod::Simple::TranscodeSmart'=> undef,
-	'Pod::Simple::XHTML'    => '3.04',
-	'Pod::Simple::XMLOutStream'=> '2.02',
-	'Pod::Text'             => '3.13',
-	'Pod::Text::Color'      => '2.05',
-	'Pod::Text::Overstrike' => '2.03',
-	'Pod::Text::Termcap'    => '2.05',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.18',
-	'Scalar::Util'          => '1.21',
-	'Scalar::Util::PP'      => '1.21',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.82',
-	'Stdio'                 => '2.4',
-	'Storable'              => '2.20',
-	'Switch'                => '2.14',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.04',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.92',
-	'Test::Builder::Module' => '0.92',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.92',
-	'Test::Simple'          => '0.92',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.0.0',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.01',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901',
-	'Time::Piece'           => '1.15',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.05',
-	'Unicode'               => '5.1.0',
-	'Unicode::Collate'      => '0.52',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.15',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'attributes'            => '0.09',
-	'attrs'                 => '1.03',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.14',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.07',
-	'constant'              => '1.17',
-	'diagnostics'           => '1.17',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.13',
-	'fields'                => '2.14',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.02',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.01',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.07',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.221',
-	're'                    => '0.09',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.72',
-	'threads::shared'       => '1.29',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.77',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.06',
-	'warnings::register'    => '1.01',
+        delta_from => 5.01,
+        changed => {
+            'App::Prove'            => '3.17',
+            'App::Prove::State'     => '3.17',
+            'App::Prove::State::Result'=> '3.17',
+            'App::Prove::State::Result::Test'=> '3.17',
+            'Archive::Extract'      => '0.34',
+            'Archive::Tar'          => '1.52',
+            'Attribute::Handlers'   => '0.85',
+            'AutoLoader'            => '5.68',
+            'AutoSplit'             => '1.06',
+            'B'                     => '1.22',
+            'B::Concise'            => '0.76',
+            'B::Debug'              => '1.11',
+            'B::Deparse'            => '0.89',
+            'B::Lint'               => '1.11',
+            'B::Lint::Debug'        => undef,
+            'B::Xref'               => '1.02',
+            'Benchmark'             => '1.11',
+            'CGI'                   => '3.43',
+            'CGI::Carp'             => '1.30_01',
+            'CGI::Cookie'           => '1.29',
+            'CPAN'                  => '1.9402',
+            'CPAN::Author'          => '5.5',
+            'CPAN::Bundle'          => '5.5',
+            'CPAN::CacheMgr'        => '5.5',
+            'CPAN::Complete'        => '5.5',
+            'CPAN::Debug'           => '5.5',
+            'CPAN::DeferredCode'    => '5.50',
+            'CPAN::Distribution'    => '1.93',
+            'CPAN::Distroprefs'     => '6',
+            'CPAN::Distrostatus'    => '5.5',
+            'CPAN::Exception::RecursiveDependency'=> '5.5',
+            'CPAN::Exception::blocked_urllist'=> '1.0',
+            'CPAN::Exception::yaml_not_installed'=> '5.5',
+            'CPAN::FTP'             => '5.5001',
+            'CPAN::FTP::netrc'      => '1.00',
+            'CPAN::FirstTime'       => '5.53',
+            'CPAN::HandleConfig'    => '5.5',
+            'CPAN::Index'           => '1.93',
+            'CPAN::InfoObj'         => '5.5',
+            'CPAN::Kwalify'         => '5.50',
+            'CPAN::LWP::UserAgent'  => '1.00',
+            'CPAN::Module'          => '5.5',
+            'CPAN::Nox'             => '5.50',
+            'CPAN::Prompt'          => '5.5',
+            'CPAN::Queue'           => '5.5',
+            'CPAN::Shell'           => '5.5',
+            'CPAN::Tarzip'          => '5.501',
+            'CPAN::URL'             => '5.5',
+            'CPANPLUS'              => '0.88',
+            'CPANPLUS::Dist::Autobundle'=> undef,
+            'CPANPLUS::Dist::Base'  => undef,
+            'CPANPLUS::Dist::Build' => '0.36',
+            'CPANPLUS::Dist::Build::Constants'=> '0.36',
+            'CPANPLUS::Internals'   => '0.88',
+            'CPANPLUS::Internals::Constants'=> undef,
+            'CPANPLUS::Internals::Constants::Report'=> undef,
+            'CPANPLUS::Internals::Source::Memory'=> undef,
+            'CPANPLUS::Internals::Source::SQLite'=> undef,
+            'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
+            'CPANPLUS::Shell::Default'=> '0.88',
+            'Carp'                  => '1.11',
+            'Carp::Heavy'           => '1.11',
+            'Compress::Raw::Bzip2'  => '2.020',
+            'Compress::Raw::Zlib'   => '2.020',
+            'Compress::Zlib'        => '2.020',
+            'Cwd'                   => '3.30',
+            'DB'                    => '1.02',
+            'DBM_Filter::compress'  => '0.02',
+            'DBM_Filter::encode'    => '0.02',
+            'DBM_Filter::int32'     => '0.02',
+            'DBM_Filter::null'      => '0.02',
+            'DBM_Filter::utf8'      => '0.02',
+            'DB_File'               => '1.820',
+            'Data::Dumper'          => '2.124',
+            'Devel::DProf'          => '20080331.00',
+            'Devel::PPPort'         => '3.19',
+            'Devel::Peek'           => '1.04',
+            'Digest'                => '1.16',
+            'Digest::MD5'           => '2.39',
+            'Digest::SHA'           => '5.47',
+            'Digest::base'          => '1.16',
+            'Digest::file'          => '1.16',
+            'DirHandle'             => '1.03',
+            'Dumpvalue'             => '1.13',
+            'DynaLoader'            => '1.10',
+            'Encode'                => '2.35',
+            'Encode::Alias'         => '2.12',
+            'Encode::CN::HZ'        => '2.05',
+            'Encode::Config'        => '2.05',
+            'Encode::GSM0338'       => '2.01',
+            'Encode::Guess'         => '2.03',
+            'Encode::JP::JIS7'      => '2.04',
+            'Encode::MIME::Header'  => '2.11',
+            'Encode::Unicode'       => '2.06',
+            'Errno'                 => '1.11',
+            'Exporter'              => '5.63',
+            'Exporter::Heavy'       => '5.63',
+            'ExtUtils::CBuilder'    => '0.2602',
+            'ExtUtils::CBuilder::Base'=> '0.2602',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.2602',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.2602',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.2602',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.2602',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.2602',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.2602',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2602',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.2602',
+            'ExtUtils::Command'     => '1.16',
+            'ExtUtils::Command::MM' => '6.55_02',
+            'ExtUtils::Constant'    => '0.22',
+            'ExtUtils::Constant::ProxySubs'=> '0.06',
+            'ExtUtils::Constant::Utils'=> '0.02',
+            'ExtUtils::Constant::XS'=> '0.03',
+            'ExtUtils::Embed'       => '1.28',
+            'ExtUtils::Install'     => '1.54',
+            'ExtUtils::Installed'   => '1.999_001',
+            'ExtUtils::Liblist'     => '6.55_02',
+            'ExtUtils::Liblist::Kid'=> '6.5502',
+            'ExtUtils::MM'          => '6.55_02',
+            'ExtUtils::MM_AIX'      => '6.55_02',
+            'ExtUtils::MM_Any'      => '6.55_02',
+            'ExtUtils::MM_BeOS'     => '6.55_02',
+            'ExtUtils::MM_Cygwin'   => '6.55_02',
+            'ExtUtils::MM_DOS'      => '6.5502',
+            'ExtUtils::MM_Darwin'   => '6.55_02',
+            'ExtUtils::MM_MacOS'    => '6.5502',
+            'ExtUtils::MM_NW5'      => '6.55_02',
+            'ExtUtils::MM_OS2'      => '6.55_02',
+            'ExtUtils::MM_QNX'      => '6.55_02',
+            'ExtUtils::MM_UWIN'     => '6.5502',
+            'ExtUtils::MM_Unix'     => '6.55_02',
+            'ExtUtils::MM_VMS'      => '6.55_02',
+            'ExtUtils::MM_VOS'      => '6.55_02',
+            'ExtUtils::MM_Win32'    => '6.55_02',
+            'ExtUtils::MM_Win95'    => '6.55_02',
+            'ExtUtils::MY'          => '6.5502',
+            'ExtUtils::MakeMaker'   => '6.55_02',
+            'ExtUtils::MakeMaker::Config'=> '6.55_02',
+            'ExtUtils::Manifest'    => '1.56',
+            'ExtUtils::Mkbootstrap' => '6.55_02',
+            'ExtUtils::Mksymlists'  => '6.55_02',
+            'ExtUtils::ParseXS'     => '2.2002',
+            'ExtUtils::testlib'     => '6.5502',
+            'Fatal'                 => '2.06_01',
+            'File::Basename'        => '2.77',
+            'File::CheckTree'       => '4.4',
+            'File::Compare'         => '1.1006',
+            'File::Copy'            => '2.14',
+            'File::DosGlob'         => '1.01',
+            'File::Fetch'           => '0.20',
+            'File::Find'            => '1.14',
+            'File::GlobMapper'      => '1.000',
+            'File::Path'            => '2.07_03',
+            'File::Spec'            => '3.30',
+            'File::Spec::Cygwin'    => '3.30',
+            'File::Spec::Epoc'      => '3.30',
+            'File::Spec::Functions' => '3.30',
+            'File::Spec::Mac'       => '3.30',
+            'File::Spec::OS2'       => '3.30',
+            'File::Spec::Unix'      => '3.30',
+            'File::Spec::VMS'       => '3.30',
+            'File::Spec::Win32'     => '3.30',
+            'File::Temp'            => '0.22',
+            'File::stat'            => '1.01',
+            'FileCache'             => '1.08',
+            'FileHandle'            => '2.02',
+            'Filter::Simple'        => '0.84',
+            'Filter::Util::Call'    => '1.08',
+            'FindBin'               => '1.50',
+            'GDBM_File'             => '1.09',
+            'Getopt::Long'          => '2.38',
+            'Getopt::Std'           => '1.06',
+            'Hash::Util::FieldHash' => '1.04',
+            'I18N::Collate'         => '1.01',
+            'IO'                    => '1.25',
+            'IO::Compress::Adapter::Bzip2'=> '2.020',
+            'IO::Compress::Adapter::Deflate'=> '2.020',
+            'IO::Compress::Adapter::Identity'=> '2.020',
+            'IO::Compress::Base'    => '2.020',
+            'IO::Compress::Base::Common'=> '2.020',
+            'IO::Compress::Bzip2'   => '2.020',
+            'IO::Compress::Deflate' => '2.020',
+            'IO::Compress::Gzip'    => '2.020',
+            'IO::Compress::Gzip::Constants'=> '2.020',
+            'IO::Compress::RawDeflate'=> '2.020',
+            'IO::Compress::Zip'     => '2.020',
+            'IO::Compress::Zip::Constants'=> '2.020',
+            'IO::Compress::Zlib::Constants'=> '2.020',
+            'IO::Compress::Zlib::Extra'=> '2.020',
+            'IO::Dir'               => '1.07',
+            'IO::Handle'            => '1.28',
+            'IO::Socket'            => '1.31',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.020',
+            'IO::Uncompress::Adapter::Identity'=> '2.020',
+            'IO::Uncompress::Adapter::Inflate'=> '2.020',
+            'IO::Uncompress::AnyInflate'=> '2.020',
+            'IO::Uncompress::AnyUncompress'=> '2.020',
+            'IO::Uncompress::Base'  => '2.020',
+            'IO::Uncompress::Bunzip2'=> '2.020',
+            'IO::Uncompress::Gunzip'=> '2.020',
+            'IO::Uncompress::Inflate'=> '2.020',
+            'IO::Uncompress::RawInflate'=> '2.020',
+            'IO::Uncompress::Unzip' => '2.020',
+            'IO::Zlib'              => '1.09',
+            'IPC::Cmd'              => '0.46',
+            'IPC::Msg'              => '2.01',
+            'IPC::Open2'            => '1.03',
+            'IPC::Open3'            => '1.04',
+            'IPC::Semaphore'        => '2.01',
+            'IPC::SharedMem'        => '2.01',
+            'IPC::SysV'             => '2.01',
+            'List::Util'            => '1.21',
+            'List::Util::PP'        => '1.21',
+            'List::Util::XS'        => '1.21',
+            'Locale::Maketext'      => '1.13',
+            'Locale::Maketext::Guts'=> '1.13',
+            'Locale::Maketext::GutsLoader'=> '1.13',
+            'Log::Message'          => '0.02',
+            'MIME::Base64'          => '3.08',
+            'MIME::QuotedPrint'     => '3.08',
+            'Math::BigFloat'        => '1.60',
+            'Math::BigInt'          => '1.89',
+            'Math::BigInt::FastCalc'=> '0.19',
+            'Math::BigRat'          => '0.22',
+            'Math::Complex'         => '1.56',
+            'Math::Trig'            => '1.2',
+            'Memoize'               => '1.01_03',
+            'Module::Build'         => '0.340201',
+            'Module::Build::Base'   => '0.340201',
+            'Module::Build::Compat' => '0.340201',
+            'Module::Build::Config' => '0.340201',
+            'Module::Build::Cookbook'=> '0.340201',
+            'Module::Build::Dumper' => '0.340201',
+            'Module::Build::ModuleInfo'=> '0.340201',
+            'Module::Build::Notes'  => '0.340201',
+            'Module::Build::PPMMaker'=> '0.340201',
+            'Module::Build::Platform::Amiga'=> '0.340201',
+            'Module::Build::Platform::Default'=> '0.340201',
+            'Module::Build::Platform::EBCDIC'=> '0.340201',
+            'Module::Build::Platform::MPEiX'=> '0.340201',
+            'Module::Build::Platform::MacOS'=> '0.340201',
+            'Module::Build::Platform::RiscOS'=> '0.340201',
+            'Module::Build::Platform::Unix'=> '0.340201',
+            'Module::Build::Platform::VMS'=> '0.340201',
+            'Module::Build::Platform::VOS'=> '0.340201',
+            'Module::Build::Platform::Windows'=> '0.340201',
+            'Module::Build::Platform::aix'=> '0.340201',
+            'Module::Build::Platform::cygwin'=> '0.340201',
+            'Module::Build::Platform::darwin'=> '0.340201',
+            'Module::Build::Platform::os2'=> '0.340201',
+            'Module::Build::PodParser'=> '0.340201',
+            'Module::Build::Version'=> '0.77',
+            'Module::CoreList'      => '2.18',
+            'Module::Load'          => '0.16',
+            'Module::Load::Conditional'=> '0.30',
+            'Module::Loaded'        => '0.02',
+            'Module::Pluggable'     => '3.9',
+            'Module::Pluggable::Object'=> '3.9',
+            'NDBM_File'             => '1.08',
+            'NEXT'                  => '0.64',
+            'Net::Ping'             => '2.36',
+            'O'                     => '1.01',
+            'Object::Accessor'      => '0.34',
+            'POSIX'                 => '1.17',
+            'Package::Constants'    => '0.02',
+            'Parse::CPAN::Meta'     => '1.39',
+            'PerlIO'                => '1.06',
+            'PerlIO::encoding'      => '0.11',
+            'PerlIO::scalar'        => '0.07',
+            'PerlIO::via'           => '0.07',
+            'Pod::Checker'          => '1.45',
+            'Pod::Find'             => '1.35',
+            'Pod::Html'             => '1.09',
+            'Pod::InputObjects'     => '1.31',
+            'Pod::Man'              => '2.22',
+            'Pod::ParseLink'        => '1.09',
+            'Pod::ParseUtils'       => '1.36',
+            'Pod::Parser'           => '1.37',
+            'Pod::Perldoc'          => '3.14_04',
+            'Pod::PlainText'        => '2.04',
+            'Pod::Select'           => '1.36',
+            'Pod::Simple'           => '3.07',
+            'Pod::Simple::XHTML'    => '3.04',
+            'Pod::Text'             => '3.13',
+            'Pod::Text::Color'      => '2.05',
+            'Pod::Text::Overstrike' => '2.03',
+            'Pod::Text::Termcap'    => '2.05',
+            'Pod::Usage'            => '1.36',
+            'Safe'                  => '2.18',
+            'Scalar::Util'          => '1.21',
+            'Scalar::Util::PP'      => '1.21',
+            'SelectSaver'           => '1.02',
+            'SelfLoader'            => '1.17',
+            'Socket'                => '1.82',
+            'Storable'              => '2.20',
+            'Switch'                => '2.14',
+            'Symbol'                => '1.07',
+            'Sys::Syslog'           => '0.27',
+            'TAP::Base'             => '3.17',
+            'TAP::Formatter::Base'  => '3.17',
+            'TAP::Formatter::Color' => '3.17',
+            'TAP::Formatter::Console'=> '3.17',
+            'TAP::Formatter::Console::ParallelSession'=> '3.17',
+            'TAP::Formatter::Console::Session'=> '3.17',
+            'TAP::Formatter::File'  => '3.17',
+            'TAP::Formatter::File::Session'=> '3.17',
+            'TAP::Formatter::Session'=> '3.17',
+            'TAP::Harness'          => '3.17',
+            'TAP::Object'           => '3.17',
+            'TAP::Parser'           => '3.17',
+            'TAP::Parser::Aggregator'=> '3.17',
+            'TAP::Parser::Grammar'  => '3.17',
+            'TAP::Parser::Iterator' => '3.17',
+            'TAP::Parser::Iterator::Array'=> '3.17',
+            'TAP::Parser::Iterator::Process'=> '3.17',
+            'TAP::Parser::Iterator::Stream'=> '3.17',
+            'TAP::Parser::IteratorFactory'=> '3.17',
+            'TAP::Parser::Multiplexer'=> '3.17',
+            'TAP::Parser::Result'   => '3.17',
+            'TAP::Parser::Result::Bailout'=> '3.17',
+            'TAP::Parser::Result::Comment'=> '3.17',
+            'TAP::Parser::Result::Plan'=> '3.17',
+            'TAP::Parser::Result::Pragma'=> '3.17',
+            'TAP::Parser::Result::Test'=> '3.17',
+            'TAP::Parser::Result::Unknown'=> '3.17',
+            'TAP::Parser::Result::Version'=> '3.17',
+            'TAP::Parser::Result::YAML'=> '3.17',
+            'TAP::Parser::ResultFactory'=> '3.17',
+            'TAP::Parser::Scheduler'=> '3.17',
+            'TAP::Parser::Scheduler::Job'=> '3.17',
+            'TAP::Parser::Scheduler::Spinner'=> '3.17',
+            'TAP::Parser::Source'   => '3.17',
+            'TAP::Parser::Source::Perl'=> '3.17',
+            'TAP::Parser::Utils'    => '3.17',
+            'TAP::Parser::YAMLish::Reader'=> '3.17',
+            'TAP::Parser::YAMLish::Writer'=> '3.17',
+            'Term::ANSIColor'       => '2.00',
+            'Term::ReadLine'        => '1.04',
+            'Term::UI'              => '0.20',
+            'Test'                  => '1.25_02',
+            'Test::Builder'         => '0.92',
+            'Test::Builder::Module' => '0.92',
+            'Test::Builder::Tester' => '1.18',
+            'Test::Builder::Tester::Color'=> '1.18',
+            'Test::Harness'         => '3.17',
+            'Test::More'            => '0.92',
+            'Test::Simple'          => '0.92',
+            'Text::ParseWords'      => '3.27',
+            'Text::Tabs'            => '2009.0305',
+            'Text::Wrap'            => '2009.0305',
+            'Thread::Queue'         => '2.11',
+            'Thread::Semaphore'     => '2.09',
+            'Tie::Handle'           => '4.2',
+            'Tie::Hash'             => '1.03',
+            'Tie::RefHash'          => '1.38',
+            'Tie::Scalar'           => '1.01',
+            'Tie::StdHandle'        => '4.2',
+            'Time::HiRes'           => '1.9719',
+            'Time::Local'           => '1.1901',
+            'Time::Piece'           => '1.15',
+            'UNIVERSAL'             => '1.05',
+            'Unicode'               => '5.1.0',
+            'Unicode::Normalize'    => '1.03',
+            'Unicode::UCD'          => '0.27',
+            'VMS::Stdio'            => '2.4',
+            'Win32'                 => '0.39',
+            'Win32API::File'        => '0.1101',
+            'XS::APItest'           => '0.15',
+            'XS::Typemap'           => '0.03',
+            'XSLoader'              => '0.10',
+            'attributes'            => '0.09',
+            'attrs'                 => '1.03',
+            'autodie'               => '2.06_01',
+            'autodie::exception'    => '2.06_01',
+            'autodie::exception::system'=> '2.06_01',
+            'autodie::hints'        => '2.06_01',
+            'base'                  => '2.14',
+            'bigint'                => '0.23',
+            'bignum'                => '0.23',
+            'bigrat'                => '0.23',
+            'blib'                  => '1.04',
+            'charnames'             => '1.07',
+            'constant'              => '1.17',
+            'encoding'              => '2.6_01',
+            'feature'               => '1.13',
+            'fields'                => '2.14',
+            'lib'                   => '0.62',
+            'mro'                   => '1.01',
+            'open'                  => '1.07',
+            'ops'                   => '1.02',
+            'overload'              => '1.07',
+            'overload::numbers'     => undef,
+            'overloading'           => '0.01',
+            'parent'                => '0.221',
+            're'                    => '0.09',
+            'threads'               => '1.72',
+            'threads::shared'       => '1.29',
+            'version'               => '0.77',
+        },
+        removed => {
+            'CPAN::API::HOWTO'      => 1,
+            'CPAN::DeferedCode'     => 1,
+            'CPANPLUS::inc'         => 1,
+            'ExtUtils::MakeMaker::bytes'=> 1,
+            'ExtUtils::MakeMaker::vmsish'=> 1,
+            'Test::Harness::Assert' => 1,
+            'Test::Harness::Iterator'=> 1,
+            'Test::Harness::Point'  => 1,
+            'Test::Harness::Results'=> 1,
+            'Test::Harness::Straps' => 1,
+            'Test::Harness::Util'   => 1,
+        }
     },
-
-    5.011000 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.34',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.22',
-	'B::Concise'            => '0.76',
-	'B::Debug'              => '1.11',
-	'B::Deparse'            => '0.91',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.45',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '3.44',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.45',
-	'CPAN'                  => '1.94_51',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.94',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5002',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.53',
-	'CPAN::HandleConfig'    => '5.5',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5',
-	'CPAN::Tarzip'          => '5.501',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.88',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.40',
-	'CPANPLUS::Dist::Build::Constants'=> '0.40',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.88',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.88',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.12',
-	'Carp::Heavy'           => '1.12',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.021',
-	'Compress::Raw::Zlib'   => '2.021',
-	'Compress::Zlib'        => '2.021',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.3002',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.02',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.37',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.03',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.02',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.03',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.02',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.02',
-	'Encode::Unicode'       => '2.06',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64',
-	'Exporter::Heavy'       => '5.64',
-	'ExtUtils::CBuilder'    => '0.2602',
-	'ExtUtils::CBuilder::Base'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2602',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.2602',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.55_02',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.54',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.55_02',
-	'ExtUtils::Liblist::Kid'=> '6.5502',
-	'ExtUtils::MM'          => '6.55_02',
-	'ExtUtils::MM_AIX'      => '6.55_02',
-	'ExtUtils::MM_Any'      => '6.55_02',
-	'ExtUtils::MM_BeOS'     => '6.55_02',
-	'ExtUtils::MM_Cygwin'   => '6.55_02',
-	'ExtUtils::MM_DOS'      => '6.5502',
-	'ExtUtils::MM_Darwin'   => '6.55_02',
-	'ExtUtils::MM_MacOS'    => '6.5502',
-	'ExtUtils::MM_NW5'      => '6.55_02',
-	'ExtUtils::MM_OS2'      => '6.55_02',
-	'ExtUtils::MM_QNX'      => '6.55_02',
-	'ExtUtils::MM_UWIN'     => '6.5502',
-	'ExtUtils::MM_Unix'     => '6.55_02',
-	'ExtUtils::MM_VMS'      => '6.55_02',
-	'ExtUtils::MM_VOS'      => '6.55_02',
-	'ExtUtils::MM_Win32'    => '6.55_02',
-	'ExtUtils::MM_Win95'    => '6.55_02',
-	'ExtUtils::MY'          => '6.5502',
-	'ExtUtils::MakeMaker'   => '6.55_02',
-	'ExtUtils::MakeMaker::Config'=> '6.55_02',
-	'ExtUtils::Manifest'    => '1.56',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.55_02',
-	'ExtUtils::Mksymlists'  => '6.55_02',
-	'ExtUtils::Packlist'    => '1.43',
-	'ExtUtils::ParseXS'     => '2.200403',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.5502',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.16',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.20',
-	'File::Find'            => '1.14',
-	'File::Glob'            => '1.06',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.07_03',
-	'File::Spec'            => '3.30',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.09',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.25_01',
-	'IO::Compress::Adapter::Bzip2'=> '2.021',
-	'IO::Compress::Adapter::Deflate'=> '2.021',
-	'IO::Compress::Adapter::Identity'=> '2.021',
-	'IO::Compress::Base'    => '2.021',
-	'IO::Compress::Base::Common'=> '2.021',
-	'IO::Compress::Bzip2'   => '2.021',
-	'IO::Compress::Deflate' => '2.021',
-	'IO::Compress::Gzip'    => '2.021',
-	'IO::Compress::Gzip::Constants'=> '2.021',
-	'IO::Compress::RawDeflate'=> '2.021',
-	'IO::Compress::Zip'     => '2.021',
-	'IO::Compress::Zip::Constants'=> '2.021',
-	'IO::Compress::Zlib::Constants'=> '2.021',
-	'IO::Compress::Zlib::Extra'=> '2.021',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.021',
-	'IO::Uncompress::Adapter::Identity'=> '2.021',
-	'IO::Uncompress::Adapter::Inflate'=> '2.021',
-	'IO::Uncompress::AnyInflate'=> '2.021',
-	'IO::Uncompress::AnyUncompress'=> '2.021',
-	'IO::Uncompress::Base'  => '2.021',
-	'IO::Uncompress::Bunzip2'=> '2.021',
-	'IO::Uncompress::Gunzip'=> '2.021',
-	'IO::Uncompress::Inflate'=> '2.021',
-	'IO::Uncompress::RawInflate'=> '2.021',
-	'IO::Uncompress::Unzip' => '2.021',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.50',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.21',
-	'List::Util::PP'        => '1.21',
-	'List::Util::XS'        => '1.21',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.13',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.35',
-	'Module::Build::Base'   => '0.35',
-	'Module::Build::Compat' => '0.35',
-	'Module::Build::Config' => '0.35',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.35',
-	'Module::Build::Dumper' => '0.35',
-	'Module::Build::ModuleInfo'=> '0.35',
-	'Module::Build::Notes'  => '0.35',
-	'Module::Build::PPMMaker'=> '0.35',
-	'Module::Build::Platform::Amiga'=> '0.35',
-	'Module::Build::Platform::Default'=> '0.35',
-	'Module::Build::Platform::EBCDIC'=> '0.35',
-	'Module::Build::Platform::MPEiX'=> '0.35',
-	'Module::Build::Platform::MacOS'=> '0.35',
-	'Module::Build::Platform::RiscOS'=> '0.35',
-	'Module::Build::Platform::Unix'=> '0.35',
-	'Module::Build::Platform::VMS'=> '0.35',
-	'Module::Build::Platform::VOS'=> '0.35',
-	'Module::Build::Platform::Windows'=> '0.35',
-	'Module::Build::Platform::aix'=> '0.35',
-	'Module::Build::Platform::cygwin'=> '0.35',
-	'Module::Build::Platform::darwin'=> '0.35',
-	'Module::Build::Platform::os2'=> '0.35',
-	'Module::Build::PodParser'=> '0.35',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '0.50',
-	'Module::CoreList'      => '2.19',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.30',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.34',
-	'Opcode'                => '1.13',
-	'POSIX'                 => '1.17',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.39',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.11',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.08',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.22',
-	'Pod::ParseLink'        => '1.09',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_01',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.01',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.07',
-	'Pod::Simple::BlackBox' => undef,
-	'Pod::Simple::Checker'  => '2.02',
-	'Pod::Simple::Debug'    => undef,
-	'Pod::Simple::DumpAsText'=> '2.02',
-	'Pod::Simple::DumpAsXML'=> '2.02',
-	'Pod::Simple::HTML'     => '3.03',
-	'Pod::Simple::HTMLBatch'=> '3.02',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> undef,
-	'Pod::Simple::Methody'  => '2.02',
-	'Pod::Simple::Progress' => '1.01',
-	'Pod::Simple::PullParser'=> '2.02',
-	'Pod::Simple::PullParserEndToken'=> undef,
-	'Pod::Simple::PullParserStartToken'=> undef,
-	'Pod::Simple::PullParserTextToken'=> undef,
-	'Pod::Simple::PullParserToken'=> '2.02',
-	'Pod::Simple::RTF'      => '2.02',
-	'Pod::Simple::Search'   => '3.04',
-	'Pod::Simple::SimpleTree'=> '2.02',
-	'Pod::Simple::Text'     => '2.02',
-	'Pod::Simple::TextContent'=> '2.02',
-	'Pod::Simple::TiedOutFH'=> undef,
-	'Pod::Simple::Transcode'=> undef,
-	'Pod::Simple::TranscodeDumb'=> '2.02',
-	'Pod::Simple::TranscodeSmart'=> undef,
-	'Pod::Simple::XHTML'    => '3.04',
-	'Pod::Simple::XMLOutStream'=> '2.02',
-	'Pod::Text'             => '3.13',
-	'Pod::Text::Color'      => '2.05',
-	'Pod::Text::Overstrike' => '2.03',
-	'Pod::Text::Termcap'    => '2.05',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.19',
-	'Scalar::Util'          => '1.21',
-	'Scalar::Util::PP'      => '1.21',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.84',
-	'Storable'              => '2.20',
-	'Switch'                => '2.14_01',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.92',
-	'Test::Builder::Module' => '0.92',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.92',
-	'Test::Simple'          => '0.92',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.01',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.05',
-	'Unicode'               => '5.1.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.15',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.14',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.07',
-	'constant'              => '1.19',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.17',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.13',
-	'fields'                => '2.14',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.02',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.01',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.08',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.10',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.74',
-	'threads::shared'       => '1.31',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.77',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.07',
-	'warnings::register'    => '1.01',
+    5.011 => {
+        delta_from => 5.010001,
+        changed => {
+            'Archive::Tar'          => '1.54',
+            'Attribute::Handlers'   => '0.87',
+            'AutoLoader'            => '5.70',
+            'B::Deparse'            => '0.91',
+            'B::Lint'               => '1.11_01',
+            'B::Lint::Debug'        => '0.01',
+            'CGI'                   => '3.45',
+            'CGI::Apache'           => '1.01',
+            'CGI::Carp'             => '3.45',
+            'CGI::Pretty'           => '3.44',
+            'CGI::Switch'           => '1.01',
+            'CGI::Util'             => '3.45',
+            'CPAN'                  => '1.94_51',
+            'CPAN::Distribution'    => '1.94',
+            'CPAN::FTP'             => '5.5002',
+            'CPAN::Index'           => '1.94',
+            'CPAN::LWP::UserAgent'  => '1.94',
+            'CPANPLUS::Dist::Build' => '0.40',
+            'CPANPLUS::Dist::Build::Constants'=> '0.40',
+            'Carp'                  => '1.12',
+            'Carp::Heavy'           => '1.12',
+            'Class::ISA'            => '0.36',
+            'Compress::Raw::Bzip2'  => '2.021',
+            'Compress::Raw::Zlib'   => '2.021',
+            'Compress::Zlib'        => '2.021',
+            'Cwd'                   => '3.3002',
+            'Data::Dumper'          => '2.125',
+            'Encode'                => '2.37',
+            'Exporter'              => '5.64',
+            'Exporter::Heavy'       => '5.64',
+            'ExtUtils::ParseXS'     => '2.200403',
+            'File::Basename'        => '2.78',
+            'File::Copy'            => '2.16',
+            'File::stat'            => '1.02',
+            'IO'                    => '1.25_01',
+            'IO::Compress::Adapter::Bzip2'=> '2.021',
+            'IO::Compress::Adapter::Deflate'=> '2.021',
+            'IO::Compress::Adapter::Identity'=> '2.021',
+            'IO::Compress::Base'    => '2.021',
+            'IO::Compress::Base::Common'=> '2.021',
+            'IO::Compress::Bzip2'   => '2.021',
+            'IO::Compress::Deflate' => '2.021',
+            'IO::Compress::Gzip'    => '2.021',
+            'IO::Compress::Gzip::Constants'=> '2.021',
+            'IO::Compress::RawDeflate'=> '2.021',
+            'IO::Compress::Zip'     => '2.021',
+            'IO::Compress::Zip::Constants'=> '2.021',
+            'IO::Compress::Zlib::Constants'=> '2.021',
+            'IO::Compress::Zlib::Extra'=> '2.021',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.021',
+            'IO::Uncompress::Adapter::Identity'=> '2.021',
+            'IO::Uncompress::Adapter::Inflate'=> '2.021',
+            'IO::Uncompress::AnyInflate'=> '2.021',
+            'IO::Uncompress::AnyUncompress'=> '2.021',
+            'IO::Uncompress::Base'  => '2.021',
+            'IO::Uncompress::Bunzip2'=> '2.021',
+            'IO::Uncompress::Gunzip'=> '2.021',
+            'IO::Uncompress::Inflate'=> '2.021',
+            'IO::Uncompress::RawInflate'=> '2.021',
+            'IO::Uncompress::Unzip' => '2.021',
+            'IO::Zlib'              => '1.10',
+            'IPC::Cmd'              => '0.50',
+            'IPC::Open3'            => '1.05',
+            'Locale::Maketext::Simple'=> '0.21',
+            'Log::Message::Simple'  => '0.06',
+            'Math::BigInt'          => '1.89_01',
+            'Math::BigRat'          => '0.24',
+            'Module::Build'         => '0.35',
+            'Module::Build::Base'   => '0.35',
+            'Module::Build::Compat' => '0.35',
+            'Module::Build::Config' => '0.35',
+            'Module::Build::Cookbook'=> '0.35',
+            'Module::Build::Dumper' => '0.35',
+            'Module::Build::ModuleInfo'=> '0.35',
+            'Module::Build::Notes'  => '0.35',
+            'Module::Build::PPMMaker'=> '0.35',
+            'Module::Build::Platform::Amiga'=> '0.35',
+            'Module::Build::Platform::Default'=> '0.35',
+            'Module::Build::Platform::EBCDIC'=> '0.35',
+            'Module::Build::Platform::MPEiX'=> '0.35',
+            'Module::Build::Platform::MacOS'=> '0.35',
+            'Module::Build::Platform::RiscOS'=> '0.35',
+            'Module::Build::Platform::Unix'=> '0.35',
+            'Module::Build::Platform::VMS'=> '0.35',
+            'Module::Build::Platform::VOS'=> '0.35',
+            'Module::Build::Platform::Windows'=> '0.35',
+            'Module::Build::Platform::aix'=> '0.35',
+            'Module::Build::Platform::cygwin'=> '0.35',
+            'Module::Build::Platform::darwin'=> '0.35',
+            'Module::Build::Platform::os2'=> '0.35',
+            'Module::Build::PodParser'=> '0.35',
+            'Module::CoreList'      => '2.19',
+            'Module::Loaded'        => '0.06',
+            'Opcode'                => '1.13',
+            'PerlIO::via'           => '0.08',
+            'Pod::Perldoc'          => '3.15_01',
+            'Pod::Plainer'          => '1.01',
+            'Safe'                  => '2.19',
+            'Socket'                => '1.84',
+            'Switch'                => '2.14_01',
+            'Term::ANSIColor'       => '2.02',
+            'Term::ReadLine'        => '1.05',
+            'Text::Balanced'        => '2.02',
+            'Text::Soundex'         => '3.03_01',
+            'Time::Local'           => '1.1901_01',
+            'Unicode::Collate'      => '0.52_01',
+            'attributes'            => '0.12',
+            'constant'              => '1.19',
+            'deprecate'             => '0.01',
+            'overload'              => '1.08',
+            'parent'                => '0.223',
+            're'                    => '0.10',
+            'threads'               => '1.74',
+            'threads::shared'       => '1.31',
+            'warnings'              => '1.07',
+        },
+        removed => {
+            'attrs'                 => 1,
+        }
     },
-
     5.011001 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.34',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.77',
-	'B::Debug'              => '1.11',
-	'B::Deparse'            => '0.92',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.48',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_51',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.94',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5002',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.53',
-	'CPAN::HandleConfig'    => '5.5',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5',
-	'CPAN::Tarzip'          => '5.501',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.89_03',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.40',
-	'CPANPLUS::Dist::Build::Constants'=> '0.40',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.89_03',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.89_03',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.13',
-	'Carp::Heavy'           => '1.13',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.021',
-	'Compress::Raw::Zlib'   => '2.021',
-	'Compress::Zlib'        => '2.021',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.3002',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.02',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.37',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.03',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.02',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.03',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.02',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.02',
-	'Encode::Unicode'       => '2.06',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.00',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64',
-	'Exporter::Heavy'       => '5.64',
-	'ExtUtils::CBuilder'    => '0.260301',
-	'ExtUtils::CBuilder::Base'=> '0.260301',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.260301',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.260301',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.260301',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.260301',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.260301',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.260301',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.260301',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.260301',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.55_02',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.55_02',
-	'ExtUtils::Liblist::Kid'=> '6.5502',
-	'ExtUtils::MM'          => '6.55_02',
-	'ExtUtils::MM_AIX'      => '6.55_02',
-	'ExtUtils::MM_Any'      => '6.55_02',
-	'ExtUtils::MM_BeOS'     => '6.55_02',
-	'ExtUtils::MM_Cygwin'   => '6.55_02',
-	'ExtUtils::MM_DOS'      => '6.5502',
-	'ExtUtils::MM_Darwin'   => '6.55_02',
-	'ExtUtils::MM_MacOS'    => '6.5502',
-	'ExtUtils::MM_NW5'      => '6.55_02',
-	'ExtUtils::MM_OS2'      => '6.55_02',
-	'ExtUtils::MM_QNX'      => '6.55_02',
-	'ExtUtils::MM_UWIN'     => '6.5502',
-	'ExtUtils::MM_Unix'     => '6.55_02',
-	'ExtUtils::MM_VMS'      => '6.55_02',
-	'ExtUtils::MM_VOS'      => '6.55_02',
-	'ExtUtils::MM_Win32'    => '6.55_02',
-	'ExtUtils::MM_Win95'    => '6.55_02',
-	'ExtUtils::MY'          => '6.5502',
-	'ExtUtils::MakeMaker'   => '6.55_02',
-	'ExtUtils::MakeMaker::Config'=> '6.55_02',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.55_02',
-	'ExtUtils::Mksymlists'  => '6.55_02',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.5502',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.16',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.20',
-	'File::Find'            => '1.14',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08',
-	'File::Spec'            => '3.30',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.09',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.03',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.02',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.021',
-	'IO::Compress::Adapter::Deflate'=> '2.021',
-	'IO::Compress::Adapter::Identity'=> '2.021',
-	'IO::Compress::Base'    => '2.021',
-	'IO::Compress::Base::Common'=> '2.021',
-	'IO::Compress::Bzip2'   => '2.021',
-	'IO::Compress::Deflate' => '2.021',
-	'IO::Compress::Gzip'    => '2.021',
-	'IO::Compress::Gzip::Constants'=> '2.021',
-	'IO::Compress::RawDeflate'=> '2.021',
-	'IO::Compress::Zip'     => '2.021',
-	'IO::Compress::Zip::Constants'=> '2.021',
-	'IO::Compress::Zlib::Constants'=> '2.021',
-	'IO::Compress::Zlib::Extra'=> '2.021',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.021',
-	'IO::Uncompress::Adapter::Identity'=> '2.021',
-	'IO::Uncompress::Adapter::Inflate'=> '2.021',
-	'IO::Uncompress::AnyInflate'=> '2.021',
-	'IO::Uncompress::AnyUncompress'=> '2.021',
-	'IO::Uncompress::Base'  => '2.021',
-	'IO::Uncompress::Bunzip2'=> '2.021',
-	'IO::Uncompress::Gunzip'=> '2.021',
-	'IO::Uncompress::Inflate'=> '2.021',
-	'IO::Uncompress::RawInflate'=> '2.021',
-	'IO::Uncompress::Unzip' => '2.021',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.50',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.21',
-	'List::Util::PP'        => '1.21',
-	'List::Util::XS'        => '1.21',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.13',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.35',
-	'Module::Build::Base'   => '0.35',
-	'Module::Build::Compat' => '0.35',
-	'Module::Build::Config' => '0.35',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.35',
-	'Module::Build::Dumper' => '0.35',
-	'Module::Build::ModuleInfo'=> '0.35',
-	'Module::Build::Notes'  => '0.35',
-	'Module::Build::PPMMaker'=> '0.35',
-	'Module::Build::Platform::Amiga'=> '0.35',
-	'Module::Build::Platform::Default'=> '0.35',
-	'Module::Build::Platform::EBCDIC'=> '0.35',
-	'Module::Build::Platform::MPEiX'=> '0.35',
-	'Module::Build::Platform::MacOS'=> '0.35',
-	'Module::Build::Platform::RiscOS'=> '0.35',
-	'Module::Build::Platform::Unix'=> '0.35',
-	'Module::Build::Platform::VMS'=> '0.35',
-	'Module::Build::Platform::VOS'=> '0.35',
-	'Module::Build::Platform::Windows'=> '0.35',
-	'Module::Build::Platform::aix'=> '0.35',
-	'Module::Build::Platform::cygwin'=> '0.35',
-	'Module::Build::Platform::darwin'=> '0.35',
-	'Module::Build::Platform::os2'=> '0.35',
-	'Module::Build::PodParser'=> '0.35',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '0.50',
-	'Module::CoreList'      => '2.21',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.30',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.18',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.11',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.22',
-	'Pod::ParseLink'        => '1.09',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_01',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.01',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.08',
-	'Pod::Simple::BlackBox' => undef,
-	'Pod::Simple::Checker'  => '2.02',
-	'Pod::Simple::Debug'    => undef,
-	'Pod::Simple::DumpAsText'=> '2.02',
-	'Pod::Simple::DumpAsXML'=> '2.02',
-	'Pod::Simple::HTML'     => '3.03',
-	'Pod::Simple::HTMLBatch'=> '3.02',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> undef,
-	'Pod::Simple::Methody'  => '2.02',
-	'Pod::Simple::Progress' => '1.01',
-	'Pod::Simple::PullParser'=> '2.02',
-	'Pod::Simple::PullParserEndToken'=> undef,
-	'Pod::Simple::PullParserStartToken'=> undef,
-	'Pod::Simple::PullParserTextToken'=> undef,
-	'Pod::Simple::PullParserToken'=> '2.02',
-	'Pod::Simple::RTF'      => '2.02',
-	'Pod::Simple::Search'   => '3.04',
-	'Pod::Simple::SimpleTree'=> '2.02',
-	'Pod::Simple::Text'     => '2.02',
-	'Pod::Simple::TextContent'=> '2.02',
-	'Pod::Simple::TiedOutFH'=> undef,
-	'Pod::Simple::Transcode'=> undef,
-	'Pod::Simple::TranscodeDumb'=> '2.02',
-	'Pod::Simple::TranscodeSmart'=> undef,
-	'Pod::Simple::XHTML'    => '3.04',
-	'Pod::Simple::XMLOutStream'=> '2.02',
-	'Pod::Text'             => '3.13',
-	'Pod::Text::Color'      => '2.05',
-	'Pod::Text::Overstrike' => '2.03',
-	'Pod::Text::Termcap'    => '2.05',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.19',
-	'Scalar::Util'          => '1.21',
-	'Scalar::Util::PP'      => '1.21',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.85',
-	'Storable'              => '2.22',
-	'Switch'                => '2.15',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.01',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.05',
-	'Unicode'               => '5.1.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.16',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.14',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.07',
-	'constant'              => '1.19',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.17',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.13',
-	'fields'                => '2.14',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'integer'               => '1.00',
-	'less'                  => '0.02',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.09',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.10',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.74',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.77',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.07',
-	'warnings::register'    => '1.01',
+        delta_from => 5.011,
+        changed => {
+            'B'                     => '1.23',
+            'B::Concise'            => '0.77',
+            'B::Deparse'            => '0.92',
+            'CGI'                   => '3.48',
+            'CGI::Pretty'           => '3.46',
+            'CGI::Util'             => '3.48',
+            'CPANPLUS'              => '0.89_03',
+            'CPANPLUS::Internals'   => '0.89_03',
+            'CPANPLUS::Shell::Default'=> '0.89_03',
+            'Carp'                  => '1.13',
+            'Carp::Heavy'           => '1.13',
+            'ExtUtils::CBuilder'    => '0.260301',
+            'ExtUtils::CBuilder::Base'=> '0.260301',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.260301',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.260301',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.260301',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.260301',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.260301',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.260301',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.260301',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.260301',
+            'ExtUtils::Install'     => '1.55',
+            'ExtUtils::Manifest'    => '1.57',
+            'ExtUtils::Packlist'    => '1.44',
+            'ExtUtils::ParseXS'     => '2.21',
+            'File::Glob'            => '1.07',
+            'File::Path'            => '2.08',
+            'IO'                    => '1.25_02',
+            'Module::CoreList'      => '2.21',
+            'Object::Accessor'      => '0.36',
+            'Opcode'                => '1.15',
+            'POSIX'                 => '1.18',
+            'Parse::CPAN::Meta'     => '1.40',
+            'PerlIO::via'           => '0.09',
+            'Pod::Simple'           => '3.08',
+            'Socket'                => '1.85',
+            'Storable'              => '2.22',
+            'Switch'                => '2.15',
+            'Test::Builder'         => '0.94',
+            'Test::Builder::Module' => '0.94',
+            'Test::More'            => '0.94',
+            'Test::Simple'          => '0.94',
+            'XS::APItest'           => '0.16',
+            'mro'                   => '1.02',
+            'overload'              => '1.09',
+            'threads::shared'       => '1.32',
+        },
+        removed => {
+        }
     },
-
     5.011002 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.34',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.11',
-	'B::Deparse'            => '0.93',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.48',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_51',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.94',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5002',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.53',
-	'CPAN::HandleConfig'    => '5.5',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5',
-	'CPAN::Tarzip'          => '5.501',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.89_09',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.44',
-	'CPANPLUS::Dist::Build::Constants'=> '0.44',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.89_09',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.89_09',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.14',
-	'Carp::Heavy'           => '1.14',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.021',
-	'Compress::Raw::Zlib'   => '2.021',
-	'Compress::Zlib'        => '2.022',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.3002',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.38',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.55_02',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.55_02',
-	'ExtUtils::Liblist::Kid'=> '6.5502',
-	'ExtUtils::MM'          => '6.55_02',
-	'ExtUtils::MM_AIX'      => '6.55_02',
-	'ExtUtils::MM_Any'      => '6.55_02',
-	'ExtUtils::MM_BeOS'     => '6.55_02',
-	'ExtUtils::MM_Cygwin'   => '6.55_02',
-	'ExtUtils::MM_DOS'      => '6.5502',
-	'ExtUtils::MM_Darwin'   => '6.55_02',
-	'ExtUtils::MM_MacOS'    => '6.5502',
-	'ExtUtils::MM_NW5'      => '6.55_02',
-	'ExtUtils::MM_OS2'      => '6.55_02',
-	'ExtUtils::MM_QNX'      => '6.55_02',
-	'ExtUtils::MM_UWIN'     => '6.5502',
-	'ExtUtils::MM_Unix'     => '6.55_02',
-	'ExtUtils::MM_VMS'      => '6.55_02',
-	'ExtUtils::MM_VOS'      => '6.55_02',
-	'ExtUtils::MM_Win32'    => '6.55_02',
-	'ExtUtils::MM_Win95'    => '6.55_02',
-	'ExtUtils::MY'          => '6.5502',
-	'ExtUtils::MakeMaker'   => '6.55_02',
-	'ExtUtils::MakeMaker::Config'=> '6.55_02',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.55_02',
-	'ExtUtils::Mksymlists'  => '6.55_02',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.5502',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.16',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.22',
-	'File::Find'            => '1.14',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08',
-	'File::Spec'            => '3.30',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.09',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.022',
-	'IO::Compress::Adapter::Deflate'=> '2.022',
-	'IO::Compress::Adapter::Identity'=> '2.022',
-	'IO::Compress::Base'    => '2.022',
-	'IO::Compress::Base::Common'=> '2.022',
-	'IO::Compress::Bzip2'   => '2.022',
-	'IO::Compress::Deflate' => '2.022',
-	'IO::Compress::Gzip'    => '2.022',
-	'IO::Compress::Gzip::Constants'=> '2.022',
-	'IO::Compress::RawDeflate'=> '2.022',
-	'IO::Compress::Zip'     => '2.022',
-	'IO::Compress::Zip::Constants'=> '2.022',
-	'IO::Compress::Zlib::Constants'=> '2.022',
-	'IO::Compress::Zlib::Extra'=> '2.022',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.022',
-	'IO::Uncompress::Adapter::Identity'=> '2.022',
-	'IO::Uncompress::Adapter::Inflate'=> '2.022',
-	'IO::Uncompress::AnyInflate'=> '2.022',
-	'IO::Uncompress::AnyUncompress'=> '2.022',
-	'IO::Uncompress::Base'  => '2.022',
-	'IO::Uncompress::Bunzip2'=> '2.022',
-	'IO::Uncompress::Gunzip'=> '2.022',
-	'IO::Uncompress::Inflate'=> '2.022',
-	'IO::Uncompress::RawInflate'=> '2.022',
-	'IO::Uncompress::Unzip' => '2.022',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.35_09',
-	'Module::Build::Base'   => '0.35_09',
-	'Module::Build::Compat' => '0.35_09',
-	'Module::Build::Config' => '0.35_09',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.35_09',
-	'Module::Build::Dumper' => '0.35_09',
-	'Module::Build::ModuleInfo'=> '0.35_09',
-	'Module::Build::Notes'  => '0.35_09',
-	'Module::Build::PPMMaker'=> '0.35_09',
-	'Module::Build::Platform::Amiga'=> '0.35_09',
-	'Module::Build::Platform::Default'=> '0.35_09',
-	'Module::Build::Platform::EBCDIC'=> '0.35_09',
-	'Module::Build::Platform::MPEiX'=> '0.35_09',
-	'Module::Build::Platform::MacOS'=> '0.35_09',
-	'Module::Build::Platform::RiscOS'=> '0.35_09',
-	'Module::Build::Platform::Unix'=> '0.35_09',
-	'Module::Build::Platform::VMS'=> '0.35_09',
-	'Module::Build::Platform::VOS'=> '0.35_09',
-	'Module::Build::Platform::Windows'=> '0.35_09',
-	'Module::Build::Platform::aix'=> '0.35_09',
-	'Module::Build::Platform::cygwin'=> '0.35_09',
-	'Module::Build::Platform::darwin'=> '0.35_09',
-	'Module::Build::Platform::os2'=> '0.35_09',
-	'Module::Build::PodParser'=> '0.35_09',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.23',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.34',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.18',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.11',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.22',
-	'Pod::ParseLink'        => '1.09',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_01',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.01',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.10',
-	'Pod::Simple::BlackBox' => undef,
-	'Pod::Simple::Checker'  => '2.02',
-	'Pod::Simple::Debug'    => undef,
-	'Pod::Simple::DumpAsText'=> '2.02',
-	'Pod::Simple::DumpAsXML'=> '2.02',
-	'Pod::Simple::HTML'     => '3.03',
-	'Pod::Simple::HTMLBatch'=> '3.02',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> undef,
-	'Pod::Simple::Methody'  => '2.02',
-	'Pod::Simple::Progress' => '1.01',
-	'Pod::Simple::PullParser'=> '2.02',
-	'Pod::Simple::PullParserEndToken'=> undef,
-	'Pod::Simple::PullParserStartToken'=> undef,
-	'Pod::Simple::PullParserTextToken'=> undef,
-	'Pod::Simple::PullParserToken'=> '2.02',
-	'Pod::Simple::RTF'      => '2.02',
-	'Pod::Simple::Search'   => '3.04',
-	'Pod::Simple::SimpleTree'=> '2.02',
-	'Pod::Simple::Text'     => '2.02',
-	'Pod::Simple::TextContent'=> '2.02',
-	'Pod::Simple::TiedOutFH'=> undef,
-	'Pod::Simple::Transcode'=> undef,
-	'Pod::Simple::TranscodeDumb'=> '2.02',
-	'Pod::Simple::TranscodeSmart'=> undef,
-	'Pod::Simple::XHTML'    => '3.10',
-	'Pod::Simple::XMLOutStream'=> '2.02',
-	'Pod::Text'             => '3.13',
-	'Pod::Text::Color'      => '2.05',
-	'Pod::Text::Overstrike' => '2.03',
-	'Pod::Text::Termcap'    => '2.05',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.19',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Simple'                => '0.01',
-	'Socket'                => '1.85',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.01',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.05',
-	'Unicode'               => '5.1.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.17',
-	'XS::APItest::KeywordRPN'=> '0.003',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.07',
-	'constant'              => '1.19',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.18',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.13',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.35_09',
-	'integer'               => '1.00',
-	'legacy'                => '1.00',
-	'less'                  => '0.02',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.10',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.74',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.77',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.07',
-	'warnings::register'    => '1.01',
+        delta_from => 5.011001,
+        changed => {
+            'B::Concise'            => '0.78',
+            'B::Deparse'            => '0.93',
+            'CPANPLUS'              => '0.89_09',
+            'CPANPLUS::Dist::Build' => '0.44',
+            'CPANPLUS::Dist::Build::Constants'=> '0.44',
+            'CPANPLUS::Internals'   => '0.89_09',
+            'CPANPLUS::Shell::Default'=> '0.89_09',
+            'Carp'                  => '1.14',
+            'Carp::Heavy'           => '1.14',
+            'Compress::Zlib'        => '2.022',
+            'DBM_Filter'            => '0.03',
+            'Encode'                => '2.38',
+            'Encode::Byte'          => '2.04',
+            'Encode::CN'            => '2.03',
+            'Encode::JP'            => '2.04',
+            'Encode::KR'            => '2.03',
+            'Encode::TW'            => '2.03',
+            'Encode::Unicode'       => '2.07',
+            'Env'                   => '1.01',
+            'Exporter'              => '5.64_01',
+            'Exporter::Heavy'       => '5.64_01',
+            'ExtUtils::CBuilder'    => '0.27',
+            'ExtUtils::CBuilder::Base'=> '0.27',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.27',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.27',
+            'File::Fetch'           => '0.22',
+            'I18N::LangTags::Detect'=> '1.04',
+            'I18N::Langinfo'        => '0.03',
+            'IO::Compress::Adapter::Bzip2'=> '2.022',
+            'IO::Compress::Adapter::Deflate'=> '2.022',
+            'IO::Compress::Adapter::Identity'=> '2.022',
+            'IO::Compress::Base'    => '2.022',
+            'IO::Compress::Base::Common'=> '2.022',
+            'IO::Compress::Bzip2'   => '2.022',
+            'IO::Compress::Deflate' => '2.022',
+            'IO::Compress::Gzip'    => '2.022',
+            'IO::Compress::Gzip::Constants'=> '2.022',
+            'IO::Compress::RawDeflate'=> '2.022',
+            'IO::Compress::Zip'     => '2.022',
+            'IO::Compress::Zip::Constants'=> '2.022',
+            'IO::Compress::Zlib::Constants'=> '2.022',
+            'IO::Compress::Zlib::Extra'=> '2.022',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.022',
+            'IO::Uncompress::Adapter::Identity'=> '2.022',
+            'IO::Uncompress::Adapter::Inflate'=> '2.022',
+            'IO::Uncompress::AnyInflate'=> '2.022',
+            'IO::Uncompress::AnyUncompress'=> '2.022',
+            'IO::Uncompress::Base'  => '2.022',
+            'IO::Uncompress::Bunzip2'=> '2.022',
+            'IO::Uncompress::Gunzip'=> '2.022',
+            'IO::Uncompress::Inflate'=> '2.022',
+            'IO::Uncompress::RawInflate'=> '2.022',
+            'IO::Uncompress::Unzip' => '2.022',
+            'IPC::Cmd'              => '0.54',
+            'List::Util'            => '1.22',
+            'List::Util::PP'        => '1.22',
+            'List::Util::XS'        => '1.22',
+            'Locale::Maketext'      => '1.14',
+            'Module::Build'         => '0.35_09',
+            'Module::Build::Base'   => '0.35_09',
+            'Module::Build::Compat' => '0.35_09',
+            'Module::Build::Config' => '0.35_09',
+            'Module::Build::Cookbook'=> '0.35_09',
+            'Module::Build::Dumper' => '0.35_09',
+            'Module::Build::ModuleInfo'=> '0.35_09',
+            'Module::Build::Notes'  => '0.35_09',
+            'Module::Build::PPMMaker'=> '0.35_09',
+            'Module::Build::Platform::Amiga'=> '0.35_09',
+            'Module::Build::Platform::Default'=> '0.35_09',
+            'Module::Build::Platform::EBCDIC'=> '0.35_09',
+            'Module::Build::Platform::MPEiX'=> '0.35_09',
+            'Module::Build::Platform::MacOS'=> '0.35_09',
+            'Module::Build::Platform::RiscOS'=> '0.35_09',
+            'Module::Build::Platform::Unix'=> '0.35_09',
+            'Module::Build::Platform::VMS'=> '0.35_09',
+            'Module::Build::Platform::VOS'=> '0.35_09',
+            'Module::Build::Platform::Windows'=> '0.35_09',
+            'Module::Build::Platform::aix'=> '0.35_09',
+            'Module::Build::Platform::cygwin'=> '0.35_09',
+            'Module::Build::Platform::darwin'=> '0.35_09',
+            'Module::Build::Platform::os2'=> '0.35_09',
+            'Module::Build::PodParser'=> '0.35_09',
+            'Module::Build::YAML'   => '1.40',
+            'Module::CoreList'      => '2.23',
+            'Module::Load::Conditional'=> '0.34',
+            'Pod::Simple'           => '3.10',
+            'Pod::Simple::XHTML'    => '3.10',
+            'Scalar::Util'          => '1.22',
+            'Scalar::Util::PP'      => '1.22',
+            'Switch'                => '2.16',
+            'XS::APItest'           => '0.17',
+            'XS::APItest::KeywordRPN'=> '0.003',
+            'base'                  => '2.15',
+            'diagnostics'           => '1.18',
+            'fields'                => '2.15',
+            'inc::latest'           => '0.35_09',
+            'legacy'                => '1.00',
+            'overload'              => '1.10',
+        },
+        removed => {
+        }
     },
-
     5.011003 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.570001',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.36',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.11',
-	'B::Deparse'            => '0.93',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.48',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_5301',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.94',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.530001',
-	'CPAN::HandleConfig'    => '5.5',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.770001',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5',
-	'CPAN::Tarzip'          => '5.501',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.44',
-	'CPANPLUS::Dist::Build::Constants'=> '0.44',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.14',
-	'Carp::Heavy'           => '1.14',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.021',
-	'Compress::Raw::Zlib'   => '2.021',
-	'Compress::Zlib'        => '2.022',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::V'       => undef,
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.56',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.56',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.16',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.22',
-	'File::Find'            => '1.15',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.09',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.022',
-	'IO::Compress::Adapter::Deflate'=> '2.022',
-	'IO::Compress::Adapter::Identity'=> '2.022',
-	'IO::Compress::Base'    => '2.022',
-	'IO::Compress::Base::Common'=> '2.022',
-	'IO::Compress::Bzip2'   => '2.022',
-	'IO::Compress::Deflate' => '2.022',
-	'IO::Compress::Gzip'    => '2.022',
-	'IO::Compress::Gzip::Constants'=> '2.022',
-	'IO::Compress::RawDeflate'=> '2.022',
-	'IO::Compress::Zip'     => '2.022',
-	'IO::Compress::Zip::Constants'=> '2.022',
-	'IO::Compress::Zlib::Constants'=> '2.022',
-	'IO::Compress::Zlib::Extra'=> '2.022',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.022',
-	'IO::Uncompress::Adapter::Identity'=> '2.022',
-	'IO::Uncompress::Adapter::Inflate'=> '2.022',
-	'IO::Uncompress::AnyInflate'=> '2.022',
-	'IO::Uncompress::AnyUncompress'=> '2.022',
-	'IO::Uncompress::Base'  => '2.022',
-	'IO::Uncompress::Bunzip2'=> '2.022',
-	'IO::Uncompress::Gunzip'=> '2.022',
-	'IO::Uncompress::Inflate'=> '2.022',
-	'IO::Uncompress::RawInflate'=> '2.022',
-	'IO::Uncompress::Unzip' => '2.022',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.36',
-	'Module::Build::Base'   => '0.36',
-	'Module::Build::Compat' => '0.36',
-	'Module::Build::Config' => '0.36',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.36',
-	'Module::Build::Dumper' => '0.36',
-	'Module::Build::ModuleInfo'=> '0.36',
-	'Module::Build::Notes'  => '0.36',
-	'Module::Build::PPMMaker'=> '0.36',
-	'Module::Build::Platform::Amiga'=> '0.36',
-	'Module::Build::Platform::Default'=> '0.36',
-	'Module::Build::Platform::EBCDIC'=> '0.36',
-	'Module::Build::Platform::MPEiX'=> '0.36',
-	'Module::Build::Platform::MacOS'=> '0.36',
-	'Module::Build::Platform::RiscOS'=> '0.36',
-	'Module::Build::Platform::Unix'=> '0.36',
-	'Module::Build::Platform::VMS'=> '0.36',
-	'Module::Build::Platform::VOS'=> '0.36',
-	'Module::Build::Platform::Windows'=> '0.36',
-	'Module::Build::Platform::aix'=> '0.36',
-	'Module::Build::Platform::cygwin'=> '0.36',
-	'Module::Build::Platform::darwin'=> '0.36',
-	'Module::Build::Platform::os2'=> '0.36',
-	'Module::Build::PodParser'=> '0.36',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.24',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.34',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.11',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.22',
-	'Pod::ParseLink'        => '1.09',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_01',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.01',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.13',
-	'Pod::Simple::BlackBox' => '3.13',
-	'Pod::Simple::Checker'  => '3.13',
-	'Pod::Simple::Debug'    => '3.13',
-	'Pod::Simple::DumpAsText'=> '3.13',
-	'Pod::Simple::DumpAsXML'=> '3.13',
-	'Pod::Simple::HTML'     => '3.13',
-	'Pod::Simple::HTMLBatch'=> '3.13',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.13',
-	'Pod::Simple::Methody'  => '3.13',
-	'Pod::Simple::Progress' => '3.13',
-	'Pod::Simple::PullParser'=> '3.13',
-	'Pod::Simple::PullParserEndToken'=> '3.13',
-	'Pod::Simple::PullParserStartToken'=> '3.13',
-	'Pod::Simple::PullParserTextToken'=> '3.13',
-	'Pod::Simple::PullParserToken'=> '3.13',
-	'Pod::Simple::RTF'      => '3.13',
-	'Pod::Simple::Search'   => '3.13',
-	'Pod::Simple::SimpleTree'=> '3.13',
-	'Pod::Simple::Text'     => '3.13',
-	'Pod::Simple::TextContent'=> '3.13',
-	'Pod::Simple::TiedOutFH'=> '3.13',
-	'Pod::Simple::Transcode'=> '3.13',
-	'Pod::Simple::TranscodeDumb'=> '3.13',
-	'Pod::Simple::TranscodeSmart'=> '3.13',
-	'Pod::Simple::XHTML'    => '3.13',
-	'Pod::Simple::XMLOutStream'=> '3.13',
-	'Pod::Text'             => '3.13',
-	'Pod::Text::Color'      => '2.05',
-	'Pod::Text::Overstrike' => '2.03',
-	'Pod::Text::Termcap'    => '2.05',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.20',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.85',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.01',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.05',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.17',
-	'XS::APItest::KeywordRPN'=> '0.003',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.07',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.14',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.36',
-	'integer'               => '1.00',
-	'less'                  => '0.02',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.10',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.75',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.77',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.08',
-	'warnings::register'    => '1.01',
+        delta_from => 5.011002,
+        changed => {
+            'App::Cpan'             => '1.570001',
+            'Archive::Extract'      => '0.36',
+            'CPAN'                  => '1.94_5301',
+            'CPAN::FTP'             => '5.5004',
+            'CPAN::FirstTime'       => '5.530001',
+            'CPAN::Mirrors'         => '1.770001',
+            'CPANPLUS'              => '0.90',
+            'CPANPLUS::Internals'   => '0.90',
+            'CPANPLUS::Shell::Default'=> '0.90',
+            'Cwd'                   => '3.31',
+            'Encode'                => '2.39',
+            'ExtUtils::Command::MM' => '6.56',
+            'ExtUtils::Liblist'     => '6.56',
+            'ExtUtils::Liblist::Kid'=> '6.56',
+            'ExtUtils::MM'          => '6.56',
+            'ExtUtils::MM_AIX'      => '6.56',
+            'ExtUtils::MM_Any'      => '6.56',
+            'ExtUtils::MM_BeOS'     => '6.56',
+            'ExtUtils::MM_Cygwin'   => '6.56',
+            'ExtUtils::MM_DOS'      => '6.56',
+            'ExtUtils::MM_Darwin'   => '6.56',
+            'ExtUtils::MM_MacOS'    => '6.56',
+            'ExtUtils::MM_NW5'      => '6.56',
+            'ExtUtils::MM_OS2'      => '6.56',
+            'ExtUtils::MM_QNX'      => '6.56',
+            'ExtUtils::MM_UWIN'     => '6.56',
+            'ExtUtils::MM_Unix'     => '6.56',
+            'ExtUtils::MM_VMS'      => '6.56',
+            'ExtUtils::MM_VOS'      => '6.56',
+            'ExtUtils::MM_Win32'    => '6.56',
+            'ExtUtils::MM_Win95'    => '6.56',
+            'ExtUtils::MY'          => '6.56',
+            'ExtUtils::MakeMaker'   => '6.56',
+            'ExtUtils::MakeMaker::Config'=> '6.56',
+            'ExtUtils::Mkbootstrap' => '6.56',
+            'ExtUtils::Mksymlists'  => '6.56',
+            'ExtUtils::testlib'     => '6.56',
+            'File::Find'            => '1.15',
+            'File::Path'            => '2.08_01',
+            'File::Spec'            => '3.31',
+            'Module::Build'         => '0.36',
+            'Module::Build::Base'   => '0.36',
+            'Module::Build::Compat' => '0.36',
+            'Module::Build::Config' => '0.36',
+            'Module::Build::Cookbook'=> '0.36',
+            'Module::Build::Dumper' => '0.36',
+            'Module::Build::ModuleInfo'=> '0.36',
+            'Module::Build::Notes'  => '0.36',
+            'Module::Build::PPMMaker'=> '0.36',
+            'Module::Build::Platform::Amiga'=> '0.36',
+            'Module::Build::Platform::Default'=> '0.36',
+            'Module::Build::Platform::EBCDIC'=> '0.36',
+            'Module::Build::Platform::MPEiX'=> '0.36',
+            'Module::Build::Platform::MacOS'=> '0.36',
+            'Module::Build::Platform::RiscOS'=> '0.36',
+            'Module::Build::Platform::Unix'=> '0.36',
+            'Module::Build::Platform::VMS'=> '0.36',
+            'Module::Build::Platform::VOS'=> '0.36',
+            'Module::Build::Platform::Windows'=> '0.36',
+            'Module::Build::Platform::aix'=> '0.36',
+            'Module::Build::Platform::cygwin'=> '0.36',
+            'Module::Build::Platform::darwin'=> '0.36',
+            'Module::Build::Platform::os2'=> '0.36',
+            'Module::Build::PodParser'=> '0.36',
+            'Module::CoreList'      => '2.24',
+            'POSIX'                 => '1.19',
+            'Pod::Simple'           => '3.13',
+            'Pod::Simple::BlackBox' => '3.13',
+            'Pod::Simple::Checker'  => '3.13',
+            'Pod::Simple::Debug'    => '3.13',
+            'Pod::Simple::DumpAsText'=> '3.13',
+            'Pod::Simple::DumpAsXML'=> '3.13',
+            'Pod::Simple::HTML'     => '3.13',
+            'Pod::Simple::HTMLBatch'=> '3.13',
+            'Pod::Simple::LinkSection'=> '3.13',
+            'Pod::Simple::Methody'  => '3.13',
+            'Pod::Simple::Progress' => '3.13',
+            'Pod::Simple::PullParser'=> '3.13',
+            'Pod::Simple::PullParserEndToken'=> '3.13',
+            'Pod::Simple::PullParserStartToken'=> '3.13',
+            'Pod::Simple::PullParserTextToken'=> '3.13',
+            'Pod::Simple::PullParserToken'=> '3.13',
+            'Pod::Simple::RTF'      => '3.13',
+            'Pod::Simple::Search'   => '3.13',
+            'Pod::Simple::SimpleTree'=> '3.13',
+            'Pod::Simple::Text'     => '3.13',
+            'Pod::Simple::TextContent'=> '3.13',
+            'Pod::Simple::TiedOutFH'=> '3.13',
+            'Pod::Simple::Transcode'=> '3.13',
+            'Pod::Simple::TranscodeDumb'=> '3.13',
+            'Pod::Simple::TranscodeSmart'=> '3.13',
+            'Pod::Simple::XHTML'    => '3.13',
+            'Pod::Simple::XMLOutStream'=> '3.13',
+            'Safe'                  => '2.20',
+            'Unicode'               => '5.2.0',
+            'constant'              => '1.20',
+            'diagnostics'           => '1.19',
+            'feature'               => '1.14',
+            'inc::latest'           => '0.36',
+            'threads'               => '1.75',
+            'warnings'              => '1.08',
+        },
+        removed => {
+            'legacy'                => 1,
+        }
     },
-
     5.011004 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.11',
-	'B::Deparse'            => '0.94',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.48',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_54',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.94',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.53',
-	'CPAN::HandleConfig'    => '5.5',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5',
-	'CPAN::Tarzip'          => '5.501',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.44',
-	'CPANPLUS::Dist::Build::Constants'=> '0.44',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.15',
-	'Carp::Heavy'           => '1.15',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.56',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.56',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.17',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.15',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.3603',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.25',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.34',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.22',
-	'Pod::ParseLink'        => '1.09',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_01',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.01',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.13',
-	'Pod::Simple::BlackBox' => '3.13',
-	'Pod::Simple::Checker'  => '3.13',
-	'Pod::Simple::Debug'    => '3.13',
-	'Pod::Simple::DumpAsText'=> '3.13',
-	'Pod::Simple::DumpAsXML'=> '3.13',
-	'Pod::Simple::HTML'     => '3.13',
-	'Pod::Simple::HTMLBatch'=> '3.13',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.13',
-	'Pod::Simple::Methody'  => '3.13',
-	'Pod::Simple::Progress' => '3.13',
-	'Pod::Simple::PullParser'=> '3.13',
-	'Pod::Simple::PullParserEndToken'=> '3.13',
-	'Pod::Simple::PullParserStartToken'=> '3.13',
-	'Pod::Simple::PullParserTextToken'=> '3.13',
-	'Pod::Simple::PullParserToken'=> '3.13',
-	'Pod::Simple::RTF'      => '3.13',
-	'Pod::Simple::Search'   => '3.13',
-	'Pod::Simple::SimpleTree'=> '3.13',
-	'Pod::Simple::Text'     => '3.13',
-	'Pod::Simple::TextContent'=> '3.13',
-	'Pod::Simple::TiedOutFH'=> '3.13',
-	'Pod::Simple::Transcode'=> '3.13',
-	'Pod::Simple::TranscodeDumb'=> '3.13',
-	'Pod::Simple::TranscodeSmart'=> '3.13',
-	'Pod::Simple::XHTML'    => '3.13',
-	'Pod::Simple::XMLOutStream'=> '3.13',
-	'Pod::Text'             => '3.13',
-	'Pod::Text::Color'      => '2.05',
-	'Pod::Text::Overstrike' => '2.03',
-	'Pod::Text::Termcap'    => '2.05',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.21',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.85',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.01',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.06',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.17',
-	'XS::APItest::KeywordRPN'=> '0.003',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.07',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.15',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.75',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.81',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
+        delta_from => 5.011003,
+        changed => {
+            'App::Cpan'             => '1.5701',
+            'Archive::Extract'      => '0.38',
+            'B::Deparse'            => '0.94',
+            'CPAN'                  => '1.94_54',
+            'CPAN::FirstTime'       => '5.53',
+            'CPAN::Mirrors'         => '1.77',
+            'Carp'                  => '1.15',
+            'Carp::Heavy'           => '1.15',
+            'Compress::Raw::Bzip2'  => '2.024',
+            'Compress::Raw::Zlib'   => '2.024',
+            'Compress::Zlib'        => '2.024',
+            'File::Copy'            => '2.17',
+            'File::Fetch'           => '0.24',
+            'GDBM_File'             => '1.10',
+            'IO::Compress::Adapter::Bzip2'=> '2.024',
+            'IO::Compress::Adapter::Deflate'=> '2.024',
+            'IO::Compress::Adapter::Identity'=> '2.024',
+            'IO::Compress::Base'    => '2.024',
+            'IO::Compress::Base::Common'=> '2.024',
+            'IO::Compress::Bzip2'   => '2.024',
+            'IO::Compress::Deflate' => '2.024',
+            'IO::Compress::Gzip'    => '2.024',
+            'IO::Compress::Gzip::Constants'=> '2.024',
+            'IO::Compress::RawDeflate'=> '2.024',
+            'IO::Compress::Zip'     => '2.024',
+            'IO::Compress::Zip::Constants'=> '2.024',
+            'IO::Compress::Zlib::Constants'=> '2.024',
+            'IO::Compress::Zlib::Extra'=> '2.024',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
+            'IO::Uncompress::Adapter::Identity'=> '2.024',
+            'IO::Uncompress::Adapter::Inflate'=> '2.024',
+            'IO::Uncompress::AnyInflate'=> '2.024',
+            'IO::Uncompress::AnyUncompress'=> '2.024',
+            'IO::Uncompress::Base'  => '2.024',
+            'IO::Uncompress::Bunzip2'=> '2.024',
+            'IO::Uncompress::Gunzip'=> '2.024',
+            'IO::Uncompress::Inflate'=> '2.024',
+            'IO::Uncompress::RawInflate'=> '2.024',
+            'IO::Uncompress::Unzip' => '2.024',
+            'Module::Build'         => '0.3603',
+            'Module::Build::Base'   => '0.3603',
+            'Module::Build::Compat' => '0.3603',
+            'Module::Build::Config' => '0.3603',
+            'Module::Build::Cookbook'=> '0.3603',
+            'Module::Build::Dumper' => '0.3603',
+            'Module::Build::ModuleInfo'=> '0.3603',
+            'Module::Build::Notes'  => '0.3603',
+            'Module::Build::PPMMaker'=> '0.3603',
+            'Module::Build::Platform::Amiga'=> '0.3603',
+            'Module::Build::Platform::Default'=> '0.3603',
+            'Module::Build::Platform::EBCDIC'=> '0.3603',
+            'Module::Build::Platform::MPEiX'=> '0.3603',
+            'Module::Build::Platform::MacOS'=> '0.3603',
+            'Module::Build::Platform::RiscOS'=> '0.3603',
+            'Module::Build::Platform::Unix'=> '0.3603',
+            'Module::Build::Platform::VMS'=> '0.3603',
+            'Module::Build::Platform::VOS'=> '0.3603',
+            'Module::Build::Platform::Windows'=> '0.3603',
+            'Module::Build::Platform::aix'=> '0.3603',
+            'Module::Build::Platform::cygwin'=> '0.3603',
+            'Module::Build::Platform::darwin'=> '0.3603',
+            'Module::Build::Platform::os2'=> '0.3603',
+            'Module::Build::PodParser'=> '0.3603',
+            'Module::CoreList'      => '2.25',
+            'PerlIO::encoding'      => '0.12',
+            'Safe'                  => '2.21',
+            'UNIVERSAL'             => '1.06',
+            'feature'               => '1.15',
+            'inc::latest'           => '0.3603',
+            'less'                  => '0.03',
+            're'                    => '0.11',
+            'version'               => '0.81',
+            'warnings'              => '1.09',
+        },
+        removed => {
+        }
     },
-
     5.011005 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.94',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.48',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_56',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9456',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.15',
-	'Carp::Heavy'           => '1.15',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::V'       => undef,
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.56',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.56',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.17',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.15',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.3603',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.26',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.34',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.02',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.13',
-	'Pod::Simple::BlackBox' => '3.13',
-	'Pod::Simple::Checker'  => '3.13',
-	'Pod::Simple::Debug'    => '3.13',
-	'Pod::Simple::DumpAsText'=> '3.13',
-	'Pod::Simple::DumpAsXML'=> '3.13',
-	'Pod::Simple::HTML'     => '3.13',
-	'Pod::Simple::HTMLBatch'=> '3.13',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.13',
-	'Pod::Simple::Methody'  => '3.13',
-	'Pod::Simple::Progress' => '3.13',
-	'Pod::Simple::PullParser'=> '3.13',
-	'Pod::Simple::PullParserEndToken'=> '3.13',
-	'Pod::Simple::PullParserStartToken'=> '3.13',
-	'Pod::Simple::PullParserTextToken'=> '3.13',
-	'Pod::Simple::PullParserToken'=> '3.13',
-	'Pod::Simple::RTF'      => '3.13',
-	'Pod::Simple::Search'   => '3.13',
-	'Pod::Simple::SimpleTree'=> '3.13',
-	'Pod::Simple::Text'     => '3.13',
-	'Pod::Simple::TextContent'=> '3.13',
-	'Pod::Simple::TiedOutFH'=> '3.13',
-	'Pod::Simple::Transcode'=> '3.13',
-	'Pod::Simple::TranscodeDumb'=> '3.13',
-	'Pod::Simple::TranscodeSmart'=> '3.13',
-	'Pod::Simple::XHTML'    => '3.13',
-	'Pod::Simple::XMLOutStream'=> '3.13',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.22',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.86',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.01',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.06',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.17',
-	'XS::APItest::KeywordRPN'=> '0.003',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.03',
-	'charnames'             => '1.07',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.15',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.75',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.07',
-	'vars'                  => '1.01',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
+        delta_from => 5.011004,
+        changed => {
+            'B::Debug'              => '1.12',
+            'CPAN'                  => '1.94_56',
+            'CPAN::Debug'           => '5.5001',
+            'CPAN::Distribution'    => '1.9456',
+            'CPAN::FirstTime'       => '5.5301',
+            'CPAN::HandleConfig'    => '5.5001',
+            'CPAN::Shell'           => '5.5001',
+            'CPAN::Tarzip'          => '5.5011',
+            'CPANPLUS::Dist::Build' => '0.46',
+            'CPANPLUS::Dist::Build::Constants'=> '0.46',
+            'Module::CoreList'      => '2.26',
+            'Pod::Man'              => '2.23',
+            'Pod::ParseLink'        => '1.10',
+            'Pod::Perldoc'          => '3.15_02',
+            'Pod::Plainer'          => '1.02',
+            'Pod::Text'             => '3.14',
+            'Pod::Text::Color'      => '2.06',
+            'Pod::Text::Overstrike' => '2.04',
+            'Pod::Text::Termcap'    => '2.06',
+            'Safe'                  => '2.22',
+            'Socket'                => '1.86',
+            'version'               => '0.82',
+        },
+        removed => {
+        }
     },
-
-    5.012000 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.96',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.48',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.07',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_56',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9456_01',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.15',
-	'Carp::Heavy'           => '1.15',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.56',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.56',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.17',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.15',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.3603',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.29',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.34',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.03',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.02',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.13',
-	'Pod::Simple::BlackBox' => '3.13',
-	'Pod::Simple::Checker'  => '3.13',
-	'Pod::Simple::Debug'    => '3.13',
-	'Pod::Simple::DumpAsText'=> '3.13',
-	'Pod::Simple::DumpAsXML'=> '3.13',
-	'Pod::Simple::HTML'     => '3.13',
-	'Pod::Simple::HTMLBatch'=> '3.13',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.13',
-	'Pod::Simple::Methody'  => '3.13',
-	'Pod::Simple::Progress' => '3.13',
-	'Pod::Simple::PullParser'=> '3.13',
-	'Pod::Simple::PullParserEndToken'=> '3.13',
-	'Pod::Simple::PullParserStartToken'=> '3.13',
-	'Pod::Simple::PullParserTextToken'=> '3.13',
-	'Pod::Simple::PullParserToken'=> '3.13',
-	'Pod::Simple::RTF'      => '3.13',
-	'Pod::Simple::Search'   => '3.13',
-	'Pod::Simple::SimpleTree'=> '3.13',
-	'Pod::Simple::Text'     => '3.13',
-	'Pod::Simple::TextContent'=> '3.13',
-	'Pod::Simple::TiedOutFH'=> '3.13',
-	'Pod::Simple::Transcode'=> '3.13',
-	'Pod::Simple::TranscodeDumb'=> '3.13',
-	'Pod::Simple::TranscodeSmart'=> '3.13',
-	'Pod::Simple::XHTML'    => '3.13',
-	'Pod::Simple::XMLOutStream'=> '3.13',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.25',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.87',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.06',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.17',
-	'XS::APItest::KeywordRPN'=> '0.003',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.07',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.16',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.75',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.01',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
+    5.012 => {
+        delta_from => 5.011005,
+        changed => {
+            'B::Deparse'            => '0.96',
+            'CPAN::Distribution'    => '1.9456_01',
+            'Module::CoreList'      => '2.29',
+            'Safe'                  => '2.25',
+            'Socket'                => '1.87',
+            'Tie::Scalar'           => '1.02',
+            'Time::Piece'           => '1.15_01',
+            'bytes'                 => '1.04',
+            'feature'               => '1.16',
+            'utf8'                  => '1.08',
+        },
+        removed => {
+        }
     },
-
-    5.013000 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.96',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_56',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9456_01',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.15',
-	'Carp::Heavy'           => '1.15',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.126',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.5601',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.5601',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.18',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.15',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.06',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.09',
-	'MIME::QuotedPrint'     => '3.09',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.3603',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.31',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.34',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.02',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.13',
-	'Pod::Simple::BlackBox' => '3.13',
-	'Pod::Simple::Checker'  => '3.13',
-	'Pod::Simple::Debug'    => '3.13',
-	'Pod::Simple::DumpAsText'=> '3.13',
-	'Pod::Simple::DumpAsXML'=> '3.13',
-	'Pod::Simple::HTML'     => '3.13',
-	'Pod::Simple::HTMLBatch'=> '3.13',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.13',
-	'Pod::Simple::Methody'  => '3.13',
-	'Pod::Simple::Progress' => '3.13',
-	'Pod::Simple::PullParser'=> '3.13',
-	'Pod::Simple::PullParserEndToken'=> '3.13',
-	'Pod::Simple::PullParserStartToken'=> '3.13',
-	'Pod::Simple::PullParserTextToken'=> '3.13',
-	'Pod::Simple::PullParserToken'=> '3.13',
-	'Pod::Simple::RTF'      => '3.13',
-	'Pod::Simple::Search'   => '3.13',
-	'Pod::Simple::SimpleTree'=> '3.13',
-	'Pod::Simple::Text'     => '3.13',
-	'Pod::Simple::TextContent'=> '3.13',
-	'Pod::Simple::TiedOutFH'=> '3.13',
-	'Pod::Simple::Transcode'=> '3.13',
-	'Pod::Simple::TranscodeDumb'=> '3.13',
-	'Pod::Simple::TranscodeSmart'=> '3.13',
-	'Pod::Simple::XHTML'    => '3.13',
-	'Pod::Simple::XMLOutStream'=> '3.13',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.25',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.87',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.06',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.18',
-	'XS::APItest::KeywordRPN'=> '0.004',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.07',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.17',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.77_01',
-	'threads::shared'       => '1.33',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.01',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
-    },
-
     5.012001 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.97',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_56',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9456_01',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.16',
-	'Carp::Heavy'           => '1.16',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.56',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.56',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.18',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.15',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.3603',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.32',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.34',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.07',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.02',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.27',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.87',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.06',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.17',
-	'XS::APItest::KeywordRPN'=> '0.003',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.07',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.16',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.75',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.01',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
+        delta_from => 5.012,
+        changed => {
+            'B::Deparse'            => '0.97',
+            'CGI'                   => '3.49',
+            'CGI::Fast'             => '1.08',
+            'Carp'                  => '1.16',
+            'Carp::Heavy'           => '1.16',
+            'File::Copy'            => '2.18',
+            'Module::CoreList'      => '2.32',
+            'Pod::Functions'        => '1.04',
+            'Pod::Simple'           => '3.14',
+            'Pod::Simple::BlackBox' => '3.14',
+            'Pod::Simple::Checker'  => '3.14',
+            'Pod::Simple::Debug'    => '3.14',
+            'Pod::Simple::DumpAsText'=> '3.14',
+            'Pod::Simple::DumpAsXML'=> '3.14',
+            'Pod::Simple::HTML'     => '3.14',
+            'Pod::Simple::HTMLBatch'=> '3.14',
+            'Pod::Simple::LinkSection'=> '3.14',
+            'Pod::Simple::Methody'  => '3.14',
+            'Pod::Simple::Progress' => '3.14',
+            'Pod::Simple::PullParser'=> '3.14',
+            'Pod::Simple::PullParserEndToken'=> '3.14',
+            'Pod::Simple::PullParserStartToken'=> '3.14',
+            'Pod::Simple::PullParserTextToken'=> '3.14',
+            'Pod::Simple::PullParserToken'=> '3.14',
+            'Pod::Simple::RTF'      => '3.14',
+            'Pod::Simple::Search'   => '3.14',
+            'Pod::Simple::SimpleTree'=> '3.14',
+            'Pod::Simple::Text'     => '3.14',
+            'Pod::Simple::TextContent'=> '3.14',
+            'Pod::Simple::TiedOutFH'=> '3.14',
+            'Pod::Simple::Transcode'=> '3.14',
+            'Pod::Simple::TranscodeDumb'=> '3.14',
+            'Pod::Simple::TranscodeSmart'=> '3.14',
+            'Pod::Simple::XHTML'    => '3.14',
+            'Pod::Simple::XMLOutStream'=> '3.14',
+            'Safe'                  => '2.27',
+        },
+        removed => {
+        }
     },
-
+    5.012002 => {
+        delta_from => 5.012001,
+        changed => {
+            'Carp'                  => '1.17',
+            'Carp::Heavy'           => '1.17',
+            'File::Spec'            => '3.31_01',
+            'Module::CoreList'      => '2.38',
+            'Module::Load::Conditional'=> '0.38',
+            'PerlIO::scalar'        => '0.08',
+        },
+        removed => {
+        }
+    },
+    5.012003 => {
+        delta_from => 5.012002,
+        changed => {
+            'B::Deparse'            => '0.9701',
+            'Module::Build::Platform::cygwin'=> '0.360301',
+            'Module::CoreList'      => '2.43',
+            'Socket'                => '1.87_01',
+        },
+        removed => {
+        }
+    },
+    5.012004 => {
+        delta_from => 5.012003,
+        changed => {
+            'Module::CoreList'      => '2.50',
+        },
+        removed => {
+        }
+    },
+    5.012005 => {
+        delta_from => 5.012004,
+        changed => {
+            'B::Concise'            => '0.78_01',
+            'Encode'                => '2.39_01',
+            'File::Glob'            => '1.07_01',
+            'Module::CoreList'      => '2.50_02',
+            'Unicode::UCD'          => '0.29',
+            'charnames'             => '1.07_01',
+        },
+        removed => {
+        }
+    },
+    5.013 => {
+        delta_from => 5.012,
+        changed => {
+            'CGI'                   => '3.49',
+            'CGI::Fast'             => '1.08',
+            'Data::Dumper'          => '2.126',
+            'ExtUtils::MM_Unix'     => '6.5601',
+            'ExtUtils::MakeMaker'   => '6.5601',
+            'File::Copy'            => '2.18',
+            'IPC::Open3'            => '1.06',
+            'MIME::Base64'          => '3.09',
+            'MIME::QuotedPrint'     => '3.09',
+            'Module::CoreList'      => '2.31',
+            'Pod::Functions'        => '1.04',
+            'XS::APItest'           => '0.18',
+            'XS::APItest::KeywordRPN'=> '0.004',
+            'feature'               => '1.17',
+            'threads'               => '1.77_01',
+            'threads::shared'       => '1.33',
+        },
+        removed => {
+        }
+    },
     5.013001 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.97',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_56',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9456_01',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.16',
-	'Carp::Heavy'           => '1.16',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.126',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.14',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.12',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.5601',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.5601',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2205',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.18',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.16',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.58',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.06',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.12',
-	'Locale::Codes::Country'=> '3.12',
-	'Locale::Codes::Currency'=> '3.12',
-	'Locale::Codes::Language'=> '3.12',
-	'Locale::Codes::Script' => '3.12',
-	'Locale::Constants'     => '3.12',
-	'Locale::Country'       => '3.12',
-	'Locale::Currency'      => '3.12',
-	'Locale::Language'      => '3.12',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.12',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.09',
-	'MIME::QuotedPrint'     => '3.09',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.360301',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.34',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.08',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.27',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.88',
-	'Storable'              => '2.22',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.06',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.06',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.28',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.19',
-	'XS::APItest::KeywordRPN'=> '0.004',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.08',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.17',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.77_01',
-	'threads::shared'       => '1.33',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.01',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
+        delta_from => 5.012001,
+        changed => {
+            'Data::Dumper'          => '2.126',
+            'Dumpvalue'             => '1.14',
+            'Errno'                 => '1.12',
+            'ExtUtils::MM_Unix'     => '6.5601',
+            'ExtUtils::MakeMaker'   => '6.5601',
+            'ExtUtils::ParseXS'     => '2.2205',
+            'File::Find'            => '1.16',
+            'IPC::Cmd'              => '0.58',
+            'IPC::Open3'            => '1.06',
+            'List::Util'            => '1.23',
+            'List::Util::PP'        => '1.23',
+            'List::Util::XS'        => '1.23',
+            'Locale::Codes'         => '3.12',
+            'Locale::Codes::Country'=> '3.12',
+            'Locale::Codes::Currency'=> '3.12',
+            'Locale::Codes::Language'=> '3.12',
+            'Locale::Codes::Script' => '3.12',
+            'Locale::Constants'     => '3.12',
+            'Locale::Country'       => '3.12',
+            'Locale::Currency'      => '3.12',
+            'Locale::Language'      => '3.12',
+            'Locale::Script'        => '3.12',
+            'MIME::Base64'          => '3.09',
+            'MIME::QuotedPrint'     => '3.09',
+            'Module::Build::Platform::cygwin'=> '0.360301',
+            'Module::CoreList'      => '2.34',
+            'Module::Load::Conditional'=> '0.38',
+            'PerlIO::scalar'        => '0.08',
+            'Scalar::Util'          => '1.23',
+            'Scalar::Util::PP'      => '1.23',
+            'Socket'                => '1.88',
+            'Term::ReadLine'        => '1.06',
+            'Unicode::UCD'          => '0.28',
+            'XS::APItest'           => '0.19',
+            'XS::APItest::KeywordRPN'=> '0.004',
+            'charnames'             => '1.08',
+            'feature'               => '1.17',
+            'threads'               => '1.77_01',
+            'threads::shared'       => '1.33',
+        },
+        removed => {
+            'Class::ISA'            => 1,
+            'Pod::Plainer'          => 1,
+            'Switch'                => 1,
+        }
     },
     5.013002 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.79',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.98',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_57',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9600',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.16',
-	'Carp::Heavy'           => '1.16',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.126',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.14',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.12',
-	'Exporter'              => '5.64_02',
-	'Exporter::Heavy'       => '5.64_02',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.5601',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.5601',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2205',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.19',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.16',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.08',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.58',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.06',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.13',
-	'Locale::Codes::Country'=> '3.13',
-	'Locale::Codes::Currency'=> '3.13',
-	'Locale::Codes::Language'=> '3.13',
-	'Locale::Codes::Script' => '3.13',
-	'Locale::Constants'     => '3.13',
-	'Locale::Country'       => '3.13',
-	'Locale::Currency'      => '3.13',
-	'Locale::Language'      => '3.13',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.13',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.09',
-	'MIME::QuotedPrint'     => '3.09',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.360301',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.34',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.08',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.27',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.89',
-	'Storable'              => '2.22',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.06',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.11',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.07',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.28',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.04',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.19',
-	'XS::APItest::KeywordRPN'=> '0.004',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.08',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.17',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.03',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.77_02',
-	'threads::shared'       => '1.33_01',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.01',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
+        delta_from => 5.013001,
+        changed => {
+            'B::Concise'            => '0.79',
+            'B::Deparse'            => '0.98',
+            'CPAN'                  => '1.94_57',
+            'CPAN::Distribution'    => '1.9600',
+            'Exporter'              => '5.64_02',
+            'Exporter::Heavy'       => '5.64_02',
+            'File::Copy'            => '2.19',
+            'Hash::Util'            => '0.08',
+            'IO::Socket'            => '1.32',
+            'Locale::Codes'         => '3.13',
+            'Locale::Codes::Country'=> '3.13',
+            'Locale::Codes::Currency'=> '3.13',
+            'Locale::Codes::Language'=> '3.13',
+            'Locale::Codes::Script' => '3.13',
+            'Locale::Constants'     => '3.13',
+            'Locale::Country'       => '3.13',
+            'Locale::Currency'      => '3.13',
+            'Locale::Language'      => '3.13',
+            'Locale::Script'        => '3.13',
+            'Search::Dict'          => '1.03',
+            'Socket'                => '1.89',
+            'Thread::Semaphore'     => '2.11',
+            'UNIVERSAL'             => '1.07',
+            'VMS::DCLsym'           => '1.04',
+            'mro'                   => '1.03',
+            'threads'               => '1.77_02',
+            'threads::shared'       => '1.33_01',
+        },
+        removed => {
+        }
     },
     5.013003 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.21',
-	'App::Prove::State'     => '3.21',
-	'App::Prove::State::Result'=> '3.21',
-	'App::Prove::State::Result::Test'=> '3.21',
-	'Archive::Extract'      => '0.42',
-	'Archive::Tar'          => '1.64',
-	'Archive::Tar::Constant'=> '1.64',
-	'Archive::Tar::File'    => '1.64',
-	'Attribute::Handlers'   => '0.88',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.79',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.98',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_57',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9600',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.9007',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9007',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9007',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.16',
-	'Carp::Heavy'           => '1.16',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.027',
-	'Compress::Raw::Zlib'   => '2.027_01',
-	'Compress::Zlib'        => '2.027',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.126',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.40',
-	'Digest::SHA'           => '5.48',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.14',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.12',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.2703',
-	'ExtUtils::CBuilder::Base'=> '0.2703_01',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.5601',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.5601',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2206',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.10',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.79',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.20',
-	'File::DosGlob'         => '1.02',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.17',
-	'File::Glob'            => '1.08',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.03',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'VMS::Filespec'         => '1.12',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.08',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.027',
-	'IO::Compress::Adapter::Deflate'=> '2.027',
-	'IO::Compress::Adapter::Identity'=> '2.027',
-	'IO::Compress::Base'    => '2.027',
-	'IO::Compress::Base::Common'=> '2.027',
-	'IO::Compress::Bzip2'   => '2.027',
-	'IO::Compress::Deflate' => '2.027',
-	'IO::Compress::Gzip'    => '2.027',
-	'IO::Compress::Gzip::Constants'=> '2.027',
-	'IO::Compress::RawDeflate'=> '2.027',
-	'IO::Compress::Zip'     => '2.027',
-	'IO::Compress::Zip::Constants'=> '2.027',
-	'IO::Compress::Zlib::Constants'=> '2.027',
-	'IO::Compress::Zlib::Extra'=> '2.027',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.027',
-	'IO::Uncompress::Adapter::Identity'=> '2.027',
-	'IO::Uncompress::Adapter::Inflate'=> '2.027',
-	'IO::Uncompress::AnyInflate'=> '2.027',
-	'IO::Uncompress::AnyUncompress'=> '2.027',
-	'IO::Uncompress::Base'  => '2.027',
-	'IO::Uncompress::Bunzip2'=> '2.027',
-	'IO::Uncompress::Gunzip'=> '2.027',
-	'IO::Uncompress::Inflate'=> '2.027',
-	'IO::Uncompress::RawInflate'=> '2.027',
-	'IO::Uncompress::Unzip' => '2.027',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.60',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.06',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.13',
-	'Locale::Codes::Country'=> '3.13',
-	'Locale::Codes::Currency'=> '3.13',
-	'Locale::Codes::Language'=> '3.13',
-	'Locale::Codes::Script' => '3.13',
-	'Locale::Constants'     => '3.13',
-	'Locale::Country'       => '3.13',
-	'Locale::Currency'      => '3.13',
-	'Locale::Language'      => '3.13',
-	'Locale::Maketext'      => '1.15',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.13',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.09',
-	'MIME::QuotedPrint'     => '3.09',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3607',
-	'Module::Build::Base'   => '0.3607',
-	'Module::Build::Compat' => '0.3607',
-	'Module::Build::Config' => '0.3607',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3607',
-	'Module::Build::Dumper' => '0.3607',
-	'Module::Build::ModuleInfo'=> '0.3607',
-	'Module::Build::Notes'  => '0.3607',
-	'Module::Build::PPMMaker'=> '0.3607',
-	'Module::Build::Platform::Amiga'=> '0.3607',
-	'Module::Build::Platform::Default'=> '0.3607',
-	'Module::Build::Platform::EBCDIC'=> '0.3607',
-	'Module::Build::Platform::MPEiX'=> '0.3607',
-	'Module::Build::Platform::MacOS'=> '0.3607',
-	'Module::Build::Platform::RiscOS'=> '0.3607',
-	'Module::Build::Platform::Unix'=> '0.3607',
-	'Module::Build::Platform::VMS'=> '0.3607',
-	'Module::Build::Platform::VOS'=> '0.3607',
-	'Module::Build::Platform::Windows'=> '0.3607',
-	'Module::Build::Platform::aix'=> '0.3607',
-	'Module::Build::Platform::cygwin'=> '0.3607',
-	'Module::Build::Platform::darwin'=> '0.3607',
-	'Module::Build::Platform::os2'=> '0.3607',
-	'Module::Build::PodParser'=> '0.3607',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.36',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.08',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.27',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.89',
-	'Storable'              => '2.22',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.21',
-	'TAP::Formatter::Base'  => '3.21',
-	'TAP::Formatter::Color' => '3.21',
-	'TAP::Formatter::Console'=> '3.21',
-	'TAP::Formatter::Console::ParallelSession'=> '3.21',
-	'TAP::Formatter::Console::Session'=> '3.21',
-	'TAP::Formatter::File'  => '3.21',
-	'TAP::Formatter::File::Session'=> '3.21',
-	'TAP::Formatter::Session'=> '3.21',
-	'TAP::Harness'          => '3.21',
-	'TAP::Object'           => '3.21',
-	'TAP::Parser'           => '3.21',
-	'TAP::Parser::Aggregator'=> '3.21',
-	'TAP::Parser::Grammar'  => '3.21',
-	'TAP::Parser::Iterator' => '3.21',
-	'TAP::Parser::Iterator::Array'=> '3.21',
-	'TAP::Parser::Iterator::Process'=> '3.21',
-	'TAP::Parser::Iterator::Stream'=> '3.21',
-	'TAP::Parser::IteratorFactory'=> '3.21',
-	'TAP::Parser::Multiplexer'=> '3.21',
-	'TAP::Parser::Result'   => '3.21',
-	'TAP::Parser::Result::Bailout'=> '3.21',
-	'TAP::Parser::Result::Comment'=> '3.21',
-	'TAP::Parser::Result::Plan'=> '3.21',
-	'TAP::Parser::Result::Pragma'=> '3.21',
-	'TAP::Parser::Result::Test'=> '3.21',
-	'TAP::Parser::Result::Unknown'=> '3.21',
-	'TAP::Parser::Result::Version'=> '3.21',
-	'TAP::Parser::Result::YAML'=> '3.21',
-	'TAP::Parser::ResultFactory'=> '3.21',
-	'TAP::Parser::Scheduler'=> '3.21',
-	'TAP::Parser::Scheduler::Job'=> '3.21',
-	'TAP::Parser::Scheduler::Spinner'=> '3.21',
-	'TAP::Parser::Source'   => '3.21',
-	'TAP::Parser::SourceHandler'=> '3.21',
-	'TAP::Parser::SourceHandler::Executable'=> '3.21',
-	'TAP::Parser::SourceHandler::File'=> '3.21',
-	'TAP::Parser::SourceHandler::Handle'=> '3.21',
-	'TAP::Parser::SourceHandler::Perl'=> '3.21',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.21',
-	'TAP::Parser::SourceHandler::pgTAP'=> '3.21',
-	'TAP::Parser::Utils'    => '3.21',
-	'TAP::Parser::YAMLish::Reader'=> '3.21',
-	'TAP::Parser::YAMLish::Writer'=> '3.21',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.21',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.11',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.07',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.53',
-	'Unicode::Normalize'    => '1.06',
-	'Unicode::UCD'          => '0.29',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.04',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.19',
-	'XS::APItest::KeywordRPN'=> '0.004',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.10',
-	'autodie::exception'    => '2.10',
-	'autodie::exception::system'=> '2.10',
-	'autodie::hints'        => '2.10',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.05',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.11',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.20',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.17',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3607',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.03',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.12',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.77_03',
-	'threads::shared'       => '1.33_02',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.02',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.10',
-	'warnings::register'    => '1.01',
+        delta_from => 5.013002,
+        changed => {
+            'App::Prove'            => '3.21',
+            'App::Prove::State'     => '3.21',
+            'App::Prove::State::Result'=> '3.21',
+            'App::Prove::State::Result::Test'=> '3.21',
+            'Archive::Extract'      => '0.42',
+            'Archive::Tar'          => '1.64',
+            'Archive::Tar::Constant'=> '1.64',
+            'Archive::Tar::File'    => '1.64',
+            'Attribute::Handlers'   => '0.88',
+            'CPANPLUS'              => '0.9007',
+            'CPANPLUS::Internals'   => '0.9007',
+            'CPANPLUS::Shell::Default'=> '0.9007',
+            'Compress::Raw::Bzip2'  => '2.027',
+            'Compress::Raw::Zlib'   => '2.027_01',
+            'Compress::Zlib'        => '2.027',
+            'DB'                    => '1.03',
+            'Digest::MD5'           => '2.40',
+            'Digest::SHA'           => '5.48',
+            'Exporter'              => '5.64_03',
+            'Exporter::Heavy'       => '5.64_03',
+            'ExtUtils::CBuilder'    => '0.2703',
+            'ExtUtils::CBuilder::Base'=> '0.2703_01',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
+            'ExtUtils::Manifest'    => '1.58',
+            'ExtUtils::ParseXS'     => '2.2206',
+            'Fatal'                 => '2.10',
+            'File::Basename'        => '2.79',
+            'File::Copy'            => '2.20',
+            'File::DosGlob'         => '1.02',
+            'File::Find'            => '1.17',
+            'File::Glob'            => '1.08',
+            'File::stat'            => '1.03',
+            'I18N::LangTags'        => '0.35_01',
+            'I18N::LangTags::List'  => '0.35_01',
+            'IO::Compress::Adapter::Bzip2'=> '2.027',
+            'IO::Compress::Adapter::Deflate'=> '2.027',
+            'IO::Compress::Adapter::Identity'=> '2.027',
+            'IO::Compress::Base'    => '2.027',
+            'IO::Compress::Base::Common'=> '2.027',
+            'IO::Compress::Bzip2'   => '2.027',
+            'IO::Compress::Deflate' => '2.027',
+            'IO::Compress::Gzip'    => '2.027',
+            'IO::Compress::Gzip::Constants'=> '2.027',
+            'IO::Compress::RawDeflate'=> '2.027',
+            'IO::Compress::Zip'     => '2.027',
+            'IO::Compress::Zip::Constants'=> '2.027',
+            'IO::Compress::Zlib::Constants'=> '2.027',
+            'IO::Compress::Zlib::Extra'=> '2.027',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.027',
+            'IO::Uncompress::Adapter::Identity'=> '2.027',
+            'IO::Uncompress::Adapter::Inflate'=> '2.027',
+            'IO::Uncompress::AnyInflate'=> '2.027',
+            'IO::Uncompress::AnyUncompress'=> '2.027',
+            'IO::Uncompress::Base'  => '2.027',
+            'IO::Uncompress::Bunzip2'=> '2.027',
+            'IO::Uncompress::Gunzip'=> '2.027',
+            'IO::Uncompress::Inflate'=> '2.027',
+            'IO::Uncompress::RawInflate'=> '2.027',
+            'IO::Uncompress::Unzip' => '2.027',
+            'IPC::Cmd'              => '0.60',
+            'IPC::Msg'              => '2.03',
+            'IPC::Semaphore'        => '2.03',
+            'IPC::SharedMem'        => '2.03',
+            'IPC::SysV'             => '2.03',
+            'Locale::Maketext'      => '1.15',
+            'Locale::Maketext::Guts'=> undef,
+            'Locale::Maketext::GutsLoader'=> undef,
+            'Module::Build'         => '0.3607',
+            'Module::Build::Base'   => '0.3607',
+            'Module::Build::Compat' => '0.3607',
+            'Module::Build::Config' => '0.3607',
+            'Module::Build::Cookbook'=> '0.3607',
+            'Module::Build::Dumper' => '0.3607',
+            'Module::Build::ModuleInfo'=> '0.3607',
+            'Module::Build::Notes'  => '0.3607',
+            'Module::Build::PPMMaker'=> '0.3607',
+            'Module::Build::Platform::Amiga'=> '0.3607',
+            'Module::Build::Platform::Default'=> '0.3607',
+            'Module::Build::Platform::EBCDIC'=> '0.3607',
+            'Module::Build::Platform::MPEiX'=> '0.3607',
+            'Module::Build::Platform::MacOS'=> '0.3607',
+            'Module::Build::Platform::RiscOS'=> '0.3607',
+            'Module::Build::Platform::Unix'=> '0.3607',
+            'Module::Build::Platform::VMS'=> '0.3607',
+            'Module::Build::Platform::VOS'=> '0.3607',
+            'Module::Build::Platform::Windows'=> '0.3607',
+            'Module::Build::Platform::aix'=> '0.3607',
+            'Module::Build::Platform::cygwin'=> '0.3607',
+            'Module::Build::Platform::darwin'=> '0.3607',
+            'Module::Build::Platform::os2'=> '0.3607',
+            'Module::Build::PodParser'=> '0.3607',
+            'Module::CoreList'      => '2.36',
+            'Module::Load'          => '0.18',
+            'TAP::Base'             => '3.21',
+            'TAP::Formatter::Base'  => '3.21',
+            'TAP::Formatter::Color' => '3.21',
+            'TAP::Formatter::Console'=> '3.21',
+            'TAP::Formatter::Console::ParallelSession'=> '3.21',
+            'TAP::Formatter::Console::Session'=> '3.21',
+            'TAP::Formatter::File'  => '3.21',
+            'TAP::Formatter::File::Session'=> '3.21',
+            'TAP::Formatter::Session'=> '3.21',
+            'TAP::Harness'          => '3.21',
+            'TAP::Object'           => '3.21',
+            'TAP::Parser'           => '3.21',
+            'TAP::Parser::Aggregator'=> '3.21',
+            'TAP::Parser::Grammar'  => '3.21',
+            'TAP::Parser::Iterator' => '3.21',
+            'TAP::Parser::Iterator::Array'=> '3.21',
+            'TAP::Parser::Iterator::Process'=> '3.21',
+            'TAP::Parser::Iterator::Stream'=> '3.21',
+            'TAP::Parser::IteratorFactory'=> '3.21',
+            'TAP::Parser::Multiplexer'=> '3.21',
+            'TAP::Parser::Result'   => '3.21',
+            'TAP::Parser::Result::Bailout'=> '3.21',
+            'TAP::Parser::Result::Comment'=> '3.21',
+            'TAP::Parser::Result::Plan'=> '3.21',
+            'TAP::Parser::Result::Pragma'=> '3.21',
+            'TAP::Parser::Result::Test'=> '3.21',
+            'TAP::Parser::Result::Unknown'=> '3.21',
+            'TAP::Parser::Result::Version'=> '3.21',
+            'TAP::Parser::Result::YAML'=> '3.21',
+            'TAP::Parser::ResultFactory'=> '3.21',
+            'TAP::Parser::Scheduler'=> '3.21',
+            'TAP::Parser::Scheduler::Job'=> '3.21',
+            'TAP::Parser::Scheduler::Spinner'=> '3.21',
+            'TAP::Parser::Source'   => '3.21',
+            'TAP::Parser::SourceHandler'=> '3.21',
+            'TAP::Parser::SourceHandler::Executable'=> '3.21',
+            'TAP::Parser::SourceHandler::File'=> '3.21',
+            'TAP::Parser::SourceHandler::Handle'=> '3.21',
+            'TAP::Parser::SourceHandler::Perl'=> '3.21',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.21',
+            'TAP::Parser::SourceHandler::pgTAP'=> '3.21',
+            'TAP::Parser::Utils'    => '3.21',
+            'TAP::Parser::YAMLish::Reader'=> '3.21',
+            'TAP::Parser::YAMLish::Writer'=> '3.21',
+            'Term::ANSIColor'       => '3.00',
+            'Term::ReadLine'        => '1.07',
+            'Test::Harness'         => '3.21',
+            'Tie::Array'            => '1.04',
+            'Time::HiRes'           => '1.9721',
+            'Time::Piece'           => '1.20_01',
+            'Unicode::Collate'      => '0.53',
+            'Unicode::Normalize'    => '1.06',
+            'Unicode::UCD'          => '0.29',
+            'autodie'               => '2.10',
+            'autodie::exception'    => '2.10',
+            'autodie::exception::system'=> '2.10',
+            'autodie::hints'        => '2.10',
+            'blib'                  => '1.05',
+            'charnames'             => '1.11',
+            'diagnostics'           => '1.20',
+            'inc::latest'           => '0.3607',
+            'lib'                   => '0.63',
+            're'                    => '0.12',
+            'threads'               => '1.77_03',
+            'threads::shared'       => '1.33_02',
+            'vars'                  => '1.02',
+            'warnings'              => '1.10',
+        },
+        removed => {
+            'TAP::Parser::Source::Perl'=> 1,
+        }
     },
     5.013004 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.22',
-	'App::Prove::State'     => '3.22',
-	'App::Prove::State::Result'=> '3.22',
-	'App::Prove::State::Result::Test'=> '3.22',
-	'Archive::Extract'      => '0.42',
-	'Archive::Tar'          => '1.68',
-	'Archive::Tar::Constant'=> '1.68',
-	'Archive::Tar::File'    => '1.68',
-	'Attribute::Handlers'   => '0.88',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.79',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.98',
-	'B::Lint'               => '1.12',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_57',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9600',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.9007',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9007',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9007',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.18',
-	'Carp::Heavy'           => '1.18',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.030',
-	'Compress::Raw::Zlib'   => '2.030',
-	'Compress::Zlib'        => '2.030',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.126',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.40',
-	'Digest::SHA'           => '5.48',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.14',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.12',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.2703',
-	'ExtUtils::CBuilder::Base'=> '0.2703_01',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.5601',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.5601',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2207',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.10',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.79',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.20',
-	'File::DosGlob'         => '1.02',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.17',
-	'File::Glob'            => '1.08',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31_01',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.03',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.08',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.04',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.030',
-	'IO::Compress::Adapter::Deflate'=> '2.030',
-	'IO::Compress::Adapter::Identity'=> '2.030',
-	'IO::Compress::Base'    => '2.030',
-	'IO::Compress::Base::Common'=> '2.030',
-	'IO::Compress::Bzip2'   => '2.030',
-	'IO::Compress::Deflate' => '2.030',
-	'IO::Compress::Gzip'    => '2.030',
-	'IO::Compress::Gzip::Constants'=> '2.030',
-	'IO::Compress::RawDeflate'=> '2.030',
-	'IO::Compress::Zip'     => '2.030',
-	'IO::Compress::Zip::Constants'=> '2.030',
-	'IO::Compress::Zlib::Constants'=> '2.030',
-	'IO::Compress::Zlib::Extra'=> '2.030',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
-	'IO::Uncompress::Adapter::Identity'=> '2.030',
-	'IO::Uncompress::Adapter::Inflate'=> '2.030',
-	'IO::Uncompress::AnyInflate'=> '2.030',
-	'IO::Uncompress::AnyUncompress'=> '2.030',
-	'IO::Uncompress::Base'  => '2.030',
-	'IO::Uncompress::Bunzip2'=> '2.030',
-	'IO::Uncompress::Gunzip'=> '2.030',
-	'IO::Uncompress::Inflate'=> '2.030',
-	'IO::Uncompress::RawInflate'=> '2.030',
-	'IO::Uncompress::Unzip' => '2.030',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.60',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.06',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.13',
-	'Locale::Codes::Country'=> '3.13',
-	'Locale::Codes::Currency'=> '3.13',
-	'Locale::Codes::Language'=> '3.13',
-	'Locale::Codes::Script' => '3.13',
-	'Locale::Constants'     => '3.13',
-	'Locale::Country'       => '3.13',
-	'Locale::Currency'      => '3.13',
-	'Locale::Language'      => '3.13',
-	'Locale::Maketext'      => '1.15',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.13',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.09',
-	'MIME::QuotedPrint'     => '3.09',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3607',
-	'Module::Build::Base'   => '0.3607',
-	'Module::Build::Compat' => '0.3607',
-	'Module::Build::Config' => '0.3607',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3607',
-	'Module::Build::Dumper' => '0.3607',
-	'Module::Build::ModuleInfo'=> '0.3607',
-	'Module::Build::Notes'  => '0.3607',
-	'Module::Build::PPMMaker'=> '0.3607',
-	'Module::Build::Platform::Amiga'=> '0.3607',
-	'Module::Build::Platform::Default'=> '0.3607',
-	'Module::Build::Platform::EBCDIC'=> '0.3607',
-	'Module::Build::Platform::MPEiX'=> '0.3607',
-	'Module::Build::Platform::MacOS'=> '0.3607',
-	'Module::Build::Platform::RiscOS'=> '0.3607',
-	'Module::Build::Platform::Unix'=> '0.3607',
-	'Module::Build::Platform::VMS'=> '0.3607',
-	'Module::Build::Platform::VOS'=> '0.3607',
-	'Module::Build::Platform::Windows'=> '0.3607',
-	'Module::Build::Platform::aix'=> '0.3607',
-	'Module::Build::Platform::cygwin'=> '0.3607',
-	'Module::Build::Platform::darwin'=> '0.3607',
-	'Module::Build::Platform::os2'=> '0.3607',
-	'Module::Build::PodParser'=> '0.3607',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.37',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.08',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.27',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.89',
-	'Storable'              => '2.22',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.22',
-	'TAP::Formatter::Base'  => '3.22',
-	'TAP::Formatter::Color' => '3.22',
-	'TAP::Formatter::Console'=> '3.22',
-	'TAP::Formatter::Console::ParallelSession'=> '3.22',
-	'TAP::Formatter::Console::Session'=> '3.22',
-	'TAP::Formatter::File'  => '3.22',
-	'TAP::Formatter::File::Session'=> '3.22',
-	'TAP::Formatter::Session'=> '3.22',
-	'TAP::Harness'          => '3.22',
-	'TAP::Object'           => '3.22',
-	'TAP::Parser'           => '3.22',
-	'TAP::Parser::Aggregator'=> '3.22',
-	'TAP::Parser::Grammar'  => '3.22',
-	'TAP::Parser::Iterator' => '3.22',
-	'TAP::Parser::Iterator::Array'=> '3.22',
-	'TAP::Parser::Iterator::Process'=> '3.22',
-	'TAP::Parser::Iterator::Stream'=> '3.22',
-	'TAP::Parser::IteratorFactory'=> '3.22',
-	'TAP::Parser::Multiplexer'=> '3.22',
-	'TAP::Parser::Result'   => '3.22',
-	'TAP::Parser::Result::Bailout'=> '3.22',
-	'TAP::Parser::Result::Comment'=> '3.22',
-	'TAP::Parser::Result::Plan'=> '3.22',
-	'TAP::Parser::Result::Pragma'=> '3.22',
-	'TAP::Parser::Result::Test'=> '3.22',
-	'TAP::Parser::Result::Unknown'=> '3.22',
-	'TAP::Parser::Result::Version'=> '3.22',
-	'TAP::Parser::Result::YAML'=> '3.22',
-	'TAP::Parser::ResultFactory'=> '3.22',
-	'TAP::Parser::Scheduler'=> '3.22',
-	'TAP::Parser::Scheduler::Job'=> '3.22',
-	'TAP::Parser::Scheduler::Spinner'=> '3.22',
-	'TAP::Parser::Source'   => '3.22',
-	'TAP::Parser::SourceHandler'=> '3.22',
-	'TAP::Parser::SourceHandler::Executable'=> '3.22',
-	'TAP::Parser::SourceHandler::File'=> '3.22',
-	'TAP::Parser::SourceHandler::Handle'=> '3.22',
-	'TAP::Parser::SourceHandler::Perl'=> '3.22',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
-	'TAP::Parser::Utils'    => '3.22',
-	'TAP::Parser::YAMLish::Reader'=> '3.22',
-	'TAP::Parser::YAMLish::Writer'=> '3.22',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.96',
-	'Test::Builder::Module' => '0.96',
-	'Test::Builder::Tester' => '1.20',
-	'Test::Builder::Tester::Color'=> '1.20',
-	'Test::Harness'         => '3.22',
-	'Test::More'            => '0.96',
-	'Test::Simple'          => '0.96',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.11',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.07',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.56',
-	'Unicode::Collate::Locale'=> '0.56',
-	'Unicode::Normalize'    => '1.06',
-	'Unicode::UCD'          => '0.29',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.04',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.20',
-	'XS::APItest::KeywordRPN'=> '0.004',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.10',
-	'autodie::exception'    => '2.10',
-	'autodie::exception::system'=> '2.10',
-	'autodie::hints'        => '2.10',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.05',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.15',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.20',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.18',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3607',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.03',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.12',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.77_03',
-	'threads::shared'       => '1.33_02',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.02',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.10',
-	'warnings::register'    => '1.01',
+        delta_from => 5.013003,
+        changed => {
+            'App::Prove'            => '3.22',
+            'App::Prove::State'     => '3.22',
+            'App::Prove::State::Result'=> '3.22',
+            'App::Prove::State::Result::Test'=> '3.22',
+            'Archive::Tar'          => '1.68',
+            'Archive::Tar::Constant'=> '1.68',
+            'Archive::Tar::File'    => '1.68',
+            'B::Lint'               => '1.12',
+            'B::Lint::Debug'        => '1.12',
+            'Carp'                  => '1.18',
+            'Carp::Heavy'           => '1.18',
+            'Compress::Raw::Bzip2'  => '2.030',
+            'Compress::Raw::Zlib'   => '2.030',
+            'Compress::Zlib'        => '2.030',
+            'ExtUtils::ParseXS'     => '2.2207',
+            'File::Spec'            => '3.31_01',
+            'I18N::Langinfo'        => '0.04',
+            'IO::Compress::Adapter::Bzip2'=> '2.030',
+            'IO::Compress::Adapter::Deflate'=> '2.030',
+            'IO::Compress::Adapter::Identity'=> '2.030',
+            'IO::Compress::Base'    => '2.030',
+            'IO::Compress::Base::Common'=> '2.030',
+            'IO::Compress::Bzip2'   => '2.030',
+            'IO::Compress::Deflate' => '2.030',
+            'IO::Compress::Gzip'    => '2.030',
+            'IO::Compress::Gzip::Constants'=> '2.030',
+            'IO::Compress::RawDeflate'=> '2.030',
+            'IO::Compress::Zip'     => '2.030',
+            'IO::Compress::Zip::Constants'=> '2.030',
+            'IO::Compress::Zlib::Constants'=> '2.030',
+            'IO::Compress::Zlib::Extra'=> '2.030',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
+            'IO::Uncompress::Adapter::Identity'=> '2.030',
+            'IO::Uncompress::Adapter::Inflate'=> '2.030',
+            'IO::Uncompress::AnyInflate'=> '2.030',
+            'IO::Uncompress::AnyUncompress'=> '2.030',
+            'IO::Uncompress::Base'  => '2.030',
+            'IO::Uncompress::Bunzip2'=> '2.030',
+            'IO::Uncompress::Gunzip'=> '2.030',
+            'IO::Uncompress::Inflate'=> '2.030',
+            'IO::Uncompress::RawInflate'=> '2.030',
+            'IO::Uncompress::Unzip' => '2.030',
+            'Module::CoreList'      => '2.37',
+            'TAP::Base'             => '3.22',
+            'TAP::Formatter::Base'  => '3.22',
+            'TAP::Formatter::Color' => '3.22',
+            'TAP::Formatter::Console'=> '3.22',
+            'TAP::Formatter::Console::ParallelSession'=> '3.22',
+            'TAP::Formatter::Console::Session'=> '3.22',
+            'TAP::Formatter::File'  => '3.22',
+            'TAP::Formatter::File::Session'=> '3.22',
+            'TAP::Formatter::Session'=> '3.22',
+            'TAP::Harness'          => '3.22',
+            'TAP::Object'           => '3.22',
+            'TAP::Parser'           => '3.22',
+            'TAP::Parser::Aggregator'=> '3.22',
+            'TAP::Parser::Grammar'  => '3.22',
+            'TAP::Parser::Iterator' => '3.22',
+            'TAP::Parser::Iterator::Array'=> '3.22',
+            'TAP::Parser::Iterator::Process'=> '3.22',
+            'TAP::Parser::Iterator::Stream'=> '3.22',
+            'TAP::Parser::IteratorFactory'=> '3.22',
+            'TAP::Parser::Multiplexer'=> '3.22',
+            'TAP::Parser::Result'   => '3.22',
+            'TAP::Parser::Result::Bailout'=> '3.22',
+            'TAP::Parser::Result::Comment'=> '3.22',
+            'TAP::Parser::Result::Plan'=> '3.22',
+            'TAP::Parser::Result::Pragma'=> '3.22',
+            'TAP::Parser::Result::Test'=> '3.22',
+            'TAP::Parser::Result::Unknown'=> '3.22',
+            'TAP::Parser::Result::Version'=> '3.22',
+            'TAP::Parser::Result::YAML'=> '3.22',
+            'TAP::Parser::ResultFactory'=> '3.22',
+            'TAP::Parser::Scheduler'=> '3.22',
+            'TAP::Parser::Scheduler::Job'=> '3.22',
+            'TAP::Parser::Scheduler::Spinner'=> '3.22',
+            'TAP::Parser::Source'   => '3.22',
+            'TAP::Parser::SourceHandler'=> '3.22',
+            'TAP::Parser::SourceHandler::Executable'=> '3.22',
+            'TAP::Parser::SourceHandler::File'=> '3.22',
+            'TAP::Parser::SourceHandler::Handle'=> '3.22',
+            'TAP::Parser::SourceHandler::Perl'=> '3.22',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
+            'TAP::Parser::Utils'    => '3.22',
+            'TAP::Parser::YAMLish::Reader'=> '3.22',
+            'TAP::Parser::YAMLish::Writer'=> '3.22',
+            'Test::Builder'         => '0.96',
+            'Test::Builder::Module' => '0.96',
+            'Test::Builder::Tester' => '1.20',
+            'Test::Builder::Tester::Color'=> '1.20',
+            'Test::Harness'         => '3.22',
+            'Test::More'            => '0.96',
+            'Test::Simple'          => '0.96',
+            'Unicode::Collate'      => '0.56',
+            'Unicode::Collate::Locale'=> '0.56',
+            'XS::APItest'           => '0.20',
+            'charnames'             => '1.15',
+            'feature'               => '1.18',
+        },
+        removed => {
+            'TAP::Parser::SourceHandler::pgTAP'=> 1,
+        }
     },
-    5.012002 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.97',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_56',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9456_01',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.17',
-	'Carp::Heavy'           => '1.17',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.56',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.56',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.18',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.15',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31_01',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.3603',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.38',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.08',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.02',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.27',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.87',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.06',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.17',
-	'XS::APItest::KeywordRPN'=> '0.003',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.07',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.16',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.75',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.01',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
-    },
     5.013005 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.22',
-	'App::Prove::State'     => '3.22',
-	'App::Prove::State::Result'=> '3.22',
-	'App::Prove::State::Result::Test'=> '3.22',
-	'Archive::Extract'      => '0.42',
-	'Archive::Tar'          => '1.68',
-	'Archive::Tar::Constant'=> '1.68',
-	'Archive::Tar::File'    => '1.68',
-	'Attribute::Handlers'   => '0.88',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.79',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '0.98',
-	'B::Lint'               => '1.12',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_57',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9600',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.9007',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.48',
-	'CPANPLUS::Dist::Build::Constants'=> '0.48',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9007',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9007',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.18',
-	'Carp::Heavy'           => '1.18',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.030',
-	'Compress::Raw::Zlib'   => '2.030',
-	'Compress::Zlib'        => '2.030',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.128',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::V'       => undef,
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.40',
-	'Digest::SHA'           => '5.48',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.14',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.40',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.12',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.2703',
-	'ExtUtils::CBuilder::Base'=> '0.2703_01',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2207',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.10',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.79',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.20',
-	'File::DosGlob'         => '1.02',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.17',
-	'File::Glob'            => '1.08',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31_01',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.03',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.85',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.09',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.04',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.030',
-	'IO::Compress::Adapter::Deflate'=> '2.030',
-	'IO::Compress::Adapter::Identity'=> '2.030',
-	'IO::Compress::Base'    => '2.030',
-	'IO::Compress::Base::Common'=> '2.030',
-	'IO::Compress::Bzip2'   => '2.030',
-	'IO::Compress::Deflate' => '2.030',
-	'IO::Compress::Gzip'    => '2.030',
-	'IO::Compress::Gzip::Constants'=> '2.030',
-	'IO::Compress::RawDeflate'=> '2.030',
-	'IO::Compress::Zip'     => '2.030',
-	'IO::Compress::Zip::Constants'=> '2.030',
-	'IO::Compress::Zlib::Constants'=> '2.030',
-	'IO::Compress::Zlib::Extra'=> '2.030',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
-	'IO::Uncompress::Adapter::Identity'=> '2.030',
-	'IO::Uncompress::Adapter::Inflate'=> '2.030',
-	'IO::Uncompress::AnyInflate'=> '2.030',
-	'IO::Uncompress::AnyUncompress'=> '2.030',
-	'IO::Uncompress::Base'  => '2.030',
-	'IO::Uncompress::Bunzip2'=> '2.030',
-	'IO::Uncompress::Gunzip'=> '2.030',
-	'IO::Uncompress::Inflate'=> '2.030',
-	'IO::Uncompress::RawInflate'=> '2.030',
-	'IO::Uncompress::Unzip' => '2.030',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.60',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.06',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.13',
-	'Locale::Codes::Country'=> '3.13',
-	'Locale::Codes::Currency'=> '3.13',
-	'Locale::Codes::Language'=> '3.13',
-	'Locale::Codes::Script' => '3.13',
-	'Locale::Constants'     => '3.13',
-	'Locale::Country'       => '3.13',
-	'Locale::Currency'      => '3.13',
-	'Locale::Language'      => '3.13',
-	'Locale::Maketext'      => '1.15',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.13',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.09',
-	'MIME::QuotedPrint'     => '3.09',
-	'Math::BigFloat'        => '1.62',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.95',
-	'Math::BigInt::Calc'    => '0.54',
-	'Math::BigInt::CalcEmu' => '0.06',
-	'Math::BigInt::FastCalc'=> '0.22',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3607',
-	'Module::Build::Base'   => '0.3607',
-	'Module::Build::Compat' => '0.3607',
-	'Module::Build::Config' => '0.3607',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3607',
-	'Module::Build::Dumper' => '0.3607',
-	'Module::Build::ModuleInfo'=> '0.3607',
-	'Module::Build::Notes'  => '0.3607',
-	'Module::Build::PPMMaker'=> '0.3607',
-	'Module::Build::Platform::Amiga'=> '0.3607',
-	'Module::Build::Platform::Default'=> '0.3607',
-	'Module::Build::Platform::EBCDIC'=> '0.3607',
-	'Module::Build::Platform::MPEiX'=> '0.3607',
-	'Module::Build::Platform::MacOS'=> '0.3607',
-	'Module::Build::Platform::RiscOS'=> '0.3607',
-	'Module::Build::Platform::Unix'=> '0.3607',
-	'Module::Build::Platform::VMS'=> '0.3607',
-	'Module::Build::Platform::VOS'=> '0.3607',
-	'Module::Build::Platform::Windows'=> '0.3607',
-	'Module::Build::Platform::aix'=> '0.3607',
-	'Module::Build::Platform::cygwin'=> '0.3607',
-	'Module::Build::Platform::darwin'=> '0.3607',
-	'Module::Build::Platform::os2'=> '0.3607',
-	'Module::Build::PodParser'=> '0.3607',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.39',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.20',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.09',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.28',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.89',
-	'Storable'              => '2.22',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.22',
-	'TAP::Formatter::Base'  => '3.22',
-	'TAP::Formatter::Color' => '3.22',
-	'TAP::Formatter::Console'=> '3.22',
-	'TAP::Formatter::Console::ParallelSession'=> '3.22',
-	'TAP::Formatter::Console::Session'=> '3.22',
-	'TAP::Formatter::File'  => '3.22',
-	'TAP::Formatter::File::Session'=> '3.22',
-	'TAP::Formatter::Session'=> '3.22',
-	'TAP::Harness'          => '3.22',
-	'TAP::Object'           => '3.22',
-	'TAP::Parser'           => '3.22',
-	'TAP::Parser::Aggregator'=> '3.22',
-	'TAP::Parser::Grammar'  => '3.22',
-	'TAP::Parser::Iterator' => '3.22',
-	'TAP::Parser::Iterator::Array'=> '3.22',
-	'TAP::Parser::Iterator::Process'=> '3.22',
-	'TAP::Parser::Iterator::Stream'=> '3.22',
-	'TAP::Parser::IteratorFactory'=> '3.22',
-	'TAP::Parser::Multiplexer'=> '3.22',
-	'TAP::Parser::Result'   => '3.22',
-	'TAP::Parser::Result::Bailout'=> '3.22',
-	'TAP::Parser::Result::Comment'=> '3.22',
-	'TAP::Parser::Result::Plan'=> '3.22',
-	'TAP::Parser::Result::Pragma'=> '3.22',
-	'TAP::Parser::Result::Test'=> '3.22',
-	'TAP::Parser::Result::Unknown'=> '3.22',
-	'TAP::Parser::Result::Version'=> '3.22',
-	'TAP::Parser::Result::YAML'=> '3.22',
-	'TAP::Parser::ResultFactory'=> '3.22',
-	'TAP::Parser::Scheduler'=> '3.22',
-	'TAP::Parser::Scheduler::Job'=> '3.22',
-	'TAP::Parser::Scheduler::Spinner'=> '3.22',
-	'TAP::Parser::Source'   => '3.22',
-	'TAP::Parser::SourceHandler'=> '3.22',
-	'TAP::Parser::SourceHandler::Executable'=> '3.22',
-	'TAP::Parser::SourceHandler::File'=> '3.22',
-	'TAP::Parser::SourceHandler::Handle'=> '3.22',
-	'TAP::Parser::SourceHandler::Perl'=> '3.22',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
-	'TAP::Parser::Utils'    => '3.22',
-	'TAP::Parser::YAMLish::Reader'=> '3.22',
-	'TAP::Parser::YAMLish::Writer'=> '3.22',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.97_01',
-	'Test::Builder::Module' => '0.97_01',
-	'Test::Builder::Tester' => '1.21_01',
-	'Test::Builder::Tester::Color'=> '1.21_01',
-	'Test::Harness'         => '3.22',
-	'Test::More'            => '0.97_01',
-	'Test::Simple'          => '0.97_01',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.11',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.07',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.59',
-	'Unicode::Collate::Locale'=> '0.59',
-	'Unicode::Normalize'    => '1.06',
-	'Unicode::UCD'          => '0.29',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.04',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.21',
-	'XS::APItest::KeywordRPN'=> '0.005',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.11',
-	'XSLoader::XSLoader'    => '0.11',
-	'attributes'            => '0.12',
-	'autodie'               => '2.10',
-	'autodie::exception'    => '2.10',
-	'autodie::exception::system'=> '2.10',
-	'autodie::hints'        => '2.10',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.25',
-	'bignum'                => '0.25',
-	'bigrat'                => '0.25',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.15',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.20',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.18',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3607',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.03',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.12',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.77_03',
-	'threads::shared'       => '1.33_03',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.02',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.11',
-	'warnings::register'    => '1.02',
+        delta_from => 5.013004,
+        changed => {
+            'B::Debug'              => '1.16',
+            'CPANPLUS::Dist::Build' => '0.48',
+            'CPANPLUS::Dist::Build::Constants'=> '0.48',
+            'Data::Dumper'          => '2.128',
+            'Encode'                => '2.40',
+            'Encode::Guess'         => '2.04',
+            'Encode::MIME::Header'  => '2.12',
+            'Encode::Unicode::UTF7' => '2.05',
+            'Errno'                 => '1.13',
+            'ExtUtils::Command::MM' => '6.57_05',
+            'ExtUtils::Liblist'     => '6.57_05',
+            'ExtUtils::Liblist::Kid'=> '6.5705',
+            'ExtUtils::MM'          => '6.57_05',
+            'ExtUtils::MM_AIX'      => '6.57_05',
+            'ExtUtils::MM_Any'      => '6.57_05',
+            'ExtUtils::MM_BeOS'     => '6.57_05',
+            'ExtUtils::MM_Cygwin'   => '6.57_05',
+            'ExtUtils::MM_DOS'      => '6.5705',
+            'ExtUtils::MM_Darwin'   => '6.57_05',
+            'ExtUtils::MM_MacOS'    => '6.5705',
+            'ExtUtils::MM_NW5'      => '6.57_05',
+            'ExtUtils::MM_OS2'      => '6.57_05',
+            'ExtUtils::MM_QNX'      => '6.57_05',
+            'ExtUtils::MM_UWIN'     => '6.5705',
+            'ExtUtils::MM_Unix'     => '6.57_05',
+            'ExtUtils::MM_VMS'      => '6.57_05',
+            'ExtUtils::MM_VOS'      => '6.57_05',
+            'ExtUtils::MM_Win32'    => '6.57_05',
+            'ExtUtils::MM_Win95'    => '6.57_05',
+            'ExtUtils::MY'          => '6.5705',
+            'ExtUtils::MakeMaker'   => '6.57_05',
+            'ExtUtils::MakeMaker::Config'=> '6.57_05',
+            'ExtUtils::MakeMaker::YAML'=> '1.44',
+            'ExtUtils::Mkbootstrap' => '6.57_05',
+            'ExtUtils::Mksymlists'  => '6.57_05',
+            'ExtUtils::testlib'     => '6.5705',
+            'Filter::Simple'        => '0.85',
+            'Hash::Util'            => '0.09',
+            'Math::BigFloat'        => '1.62',
+            'Math::BigInt'          => '1.95',
+            'Math::BigInt::Calc'    => '0.54',
+            'Math::BigInt::CalcEmu' => '0.06',
+            'Math::BigInt::FastCalc'=> '0.22',
+            'Math::BigRat'          => '0.26',
+            'Module::CoreList'      => '2.39',
+            'POSIX'                 => '1.20',
+            'PerlIO::scalar'        => '0.09',
+            'Safe'                  => '2.28',
+            'Test::Builder'         => '0.97_01',
+            'Test::Builder::Module' => '0.97_01',
+            'Test::Builder::Tester' => '1.21_01',
+            'Test::Builder::Tester::Color'=> '1.21_01',
+            'Test::More'            => '0.97_01',
+            'Test::Simple'          => '0.97_01',
+            'Tie::Hash'             => '1.04',
+            'Unicode::Collate'      => '0.59',
+            'Unicode::Collate::Locale'=> '0.59',
+            'XS::APItest'           => '0.21',
+            'XS::APItest::KeywordRPN'=> '0.005',
+            'XSLoader'              => '0.11',
+            'bigint'                => '0.25',
+            'bignum'                => '0.25',
+            'bigrat'                => '0.25',
+            'blib'                  => '1.06',
+            'open'                  => '1.08',
+            'threads::shared'       => '1.33_03',
+            'warnings'              => '1.11',
+            'warnings::register'    => '1.02',
+        },
+        removed => {
+        }
     },
     5.013006 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.22',
-	'App::Prove::State'     => '3.22',
-	'App::Prove::State::Result'=> '3.22',
-	'App::Prove::State::Result::Test'=> '3.22',
-	'Archive::Extract'      => '0.44',
-	'Archive::Tar'          => '1.68',
-	'Archive::Tar::Constant'=> '1.68',
-	'Archive::Tar::File'    => '1.68',
-	'Attribute::Handlers'   => '0.88',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.24',
-	'B::Concise'            => '0.79',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '0.99',
-	'B::Lint'               => '1.12',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_61',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9600',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9007',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.48',
-	'CPANPLUS::Dist::Build::Constants'=> '0.48',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9007',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9007',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.19',
-	'Carp::Heavy'           => '1.19',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.031',
-	'Compress::Raw::Zlib'   => '2.030',
-	'Compress::Zlib'        => '2.030',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.34',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.129',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::V'       => undef,
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.05',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.48',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.14',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.40',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.12',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.2703',
-	'ExtUtils::CBuilder::Base'=> '0.2703_01',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.07',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.29',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2207',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.10',
-	'Fcntl'                 => '1.09',
-	'File::Basename'        => '2.79',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.20',
-	'File::DosGlob'         => '1.03',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.18',
-	'File::Glob'            => '1.09',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.33',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.33',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.03',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.85',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.11',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.09',
-	'Hash::Util::FieldHash' => '1.05',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.06',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.030',
-	'IO::Compress::Adapter::Deflate'=> '2.030',
-	'IO::Compress::Adapter::Identity'=> '2.030',
-	'IO::Compress::Base'    => '2.030',
-	'IO::Compress::Base::Common'=> '2.030',
-	'IO::Compress::Bzip2'   => '2.030',
-	'IO::Compress::Deflate' => '2.030',
-	'IO::Compress::Gzip'    => '2.030',
-	'IO::Compress::Gzip::Constants'=> '2.030',
-	'IO::Compress::RawDeflate'=> '2.030',
-	'IO::Compress::Zip'     => '2.030',
-	'IO::Compress::Zip::Constants'=> '2.030',
-	'IO::Compress::Zlib::Constants'=> '2.030',
-	'IO::Compress::Zlib::Extra'=> '2.030',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
-	'IO::Uncompress::Adapter::Identity'=> '2.030',
-	'IO::Uncompress::Adapter::Inflate'=> '2.030',
-	'IO::Uncompress::AnyInflate'=> '2.030',
-	'IO::Uncompress::AnyUncompress'=> '2.030',
-	'IO::Uncompress::Base'  => '2.030',
-	'IO::Uncompress::Bunzip2'=> '2.030',
-	'IO::Uncompress::Gunzip'=> '2.030',
-	'IO::Uncompress::Inflate'=> '2.030',
-	'IO::Uncompress::RawInflate'=> '2.030',
-	'IO::Uncompress::Unzip' => '2.030',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.64',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.07',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.14',
-	'Locale::Codes::Country'=> '3.14',
-	'Locale::Codes::Currency'=> '3.14',
-	'Locale::Codes::Language'=> '3.14',
-	'Locale::Codes::Script' => '3.14',
-	'Locale::Constants'     => '3.14',
-	'Locale::Country'       => '3.14',
-	'Locale::Currency'      => '3.14',
-	'Locale::Language'      => '3.14',
-	'Locale::Maketext'      => '1.16',
-	'Locale::Maketext::Guts'=> undef,
-	'Locale::Maketext::GutsLoader'=> undef,
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.14',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.09',
-	'MIME::QuotedPrint'     => '3.09',
-	'Math::BigFloat'        => '1.63',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.97',
-	'Math::BigInt::Calc'    => '0.55',
-	'Math::BigInt::CalcEmu' => '0.07',
-	'Math::BigInt::FastCalc'=> '0.22',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3607',
-	'Module::Build::Base'   => '0.3607',
-	'Module::Build::Compat' => '0.3607',
-	'Module::Build::Config' => '0.3607',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3607',
-	'Module::Build::Dumper' => '0.3607',
-	'Module::Build::ModuleInfo'=> '0.3607',
-	'Module::Build::Notes'  => '0.3607',
-	'Module::Build::PPMMaker'=> '0.3607',
-	'Module::Build::Platform::Amiga'=> '0.3607',
-	'Module::Build::Platform::Default'=> '0.3607',
-	'Module::Build::Platform::EBCDIC'=> '0.3607',
-	'Module::Build::Platform::MPEiX'=> '0.3607',
-	'Module::Build::Platform::MacOS'=> '0.3607',
-	'Module::Build::Platform::RiscOS'=> '0.3607',
-	'Module::Build::Platform::Unix'=> '0.3607',
-	'Module::Build::Platform::VMS'=> '0.3607',
-	'Module::Build::Platform::VOS'=> '0.3607',
-	'Module::Build::Platform::Windows'=> '0.3607',
-	'Module::Build::Platform::aix'=> '0.3607',
-	'Module::Build::Platform::cygwin'=> '0.3607',
-	'Module::Build::Platform::darwin'=> '0.3607',
-	'Module::Build::Platform::os2'=> '0.3607',
-	'Module::Build::PodParser'=> '0.3607',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.40',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.09',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.08',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.16',
-	'POSIX'                 => '1.21',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.13',
-	'PerlIO::scalar'        => '0.10',
-	'PerlIO::via'           => '0.10',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.07',
-	'Safe'                  => '2.28',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.90',
-	'Storable'              => '2.22',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.13',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.22',
-	'TAP::Formatter::Base'  => '3.22',
-	'TAP::Formatter::Color' => '3.22',
-	'TAP::Formatter::Console'=> '3.22',
-	'TAP::Formatter::Console::ParallelSession'=> '3.22',
-	'TAP::Formatter::Console::Session'=> '3.22',
-	'TAP::Formatter::File'  => '3.22',
-	'TAP::Formatter::File::Session'=> '3.22',
-	'TAP::Formatter::Session'=> '3.22',
-	'TAP::Harness'          => '3.22',
-	'TAP::Object'           => '3.22',
-	'TAP::Parser'           => '3.22',
-	'TAP::Parser::Aggregator'=> '3.22',
-	'TAP::Parser::Grammar'  => '3.22',
-	'TAP::Parser::Iterator' => '3.22',
-	'TAP::Parser::Iterator::Array'=> '3.22',
-	'TAP::Parser::Iterator::Process'=> '3.22',
-	'TAP::Parser::Iterator::Stream'=> '3.22',
-	'TAP::Parser::IteratorFactory'=> '3.22',
-	'TAP::Parser::Multiplexer'=> '3.22',
-	'TAP::Parser::Result'   => '3.22',
-	'TAP::Parser::Result::Bailout'=> '3.22',
-	'TAP::Parser::Result::Comment'=> '3.22',
-	'TAP::Parser::Result::Plan'=> '3.22',
-	'TAP::Parser::Result::Pragma'=> '3.22',
-	'TAP::Parser::Result::Test'=> '3.22',
-	'TAP::Parser::Result::Unknown'=> '3.22',
-	'TAP::Parser::Result::Version'=> '3.22',
-	'TAP::Parser::Result::YAML'=> '3.22',
-	'TAP::Parser::ResultFactory'=> '3.22',
-	'TAP::Parser::Scheduler'=> '3.22',
-	'TAP::Parser::Scheduler::Job'=> '3.22',
-	'TAP::Parser::Scheduler::Spinner'=> '3.22',
-	'TAP::Parser::Source'   => '3.22',
-	'TAP::Parser::SourceHandler'=> '3.22',
-	'TAP::Parser::SourceHandler::Executable'=> '3.22',
-	'TAP::Parser::SourceHandler::File'=> '3.22',
-	'TAP::Parser::SourceHandler::Handle'=> '3.22',
-	'TAP::Parser::SourceHandler::Perl'=> '3.22',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
-	'TAP::Parser::Utils'    => '3.22',
-	'TAP::Parser::YAMLish::Reader'=> '3.22',
-	'TAP::Parser::YAMLish::Writer'=> '3.22',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.97_01',
-	'Test::Builder::Module' => '0.97_01',
-	'Test::Builder::Tester' => '1.21_01',
-	'Test::Builder::Tester::Color'=> '1.21_01',
-	'Test::Harness'         => '3.22',
-	'Test::More'            => '0.97_01',
-	'Test::Simple'          => '0.97_01',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.11',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.07',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.07',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.63',
-	'Unicode::Collate::Locale'=> '0.63',
-	'Unicode::Normalize'    => '1.07',
-	'Unicode::UCD'          => '0.29',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.04',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.23',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.13',
-	'autodie'               => '2.10',
-	'autodie::exception'    => '2.10',
-	'autodie::exception::system'=> '2.10',
-	'autodie::hints'        => '2.10',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.25',
-	'bignum'                => '0.25',
-	'bigrat'                => '0.25',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.16',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.20',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.18',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.06',
-	'inc::latest'           => '0.3607',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.04',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.11',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.13',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.81_01',
-	'threads::shared'       => '1.34',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.02',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.11',
-	'warnings::register'    => '1.02',
+        delta_from => 5.013005,
+        changed => {
+            'Archive::Extract'      => '0.44',
+            'B'                     => '1.24',
+            'B::Deparse'            => '0.99',
+            'CPAN'                  => '1.94_61',
+            'CPAN::FTP'             => '5.5005',
+            'CPAN::Queue'           => '5.5001',
+            'CPAN::Version'         => '5.5001',
+            'Carp'                  => '1.19',
+            'Carp::Heavy'           => '1.19',
+            'Compress::Raw::Bzip2'  => '2.031',
+            'Cwd'                   => '3.34',
+            'Data::Dumper'          => '2.129',
+            'Devel::Peek'           => '1.05',
+            'Digest::MD5'           => '2.51',
+            'ExtUtils::Constant::Base'=> '0.05',
+            'ExtUtils::Constant::ProxySubs'=> '0.07',
+            'ExtUtils::Embed'       => '1.29',
+            'ExtUtils::XSSymSet'    => '1.2',
+            'Fcntl'                 => '1.09',
+            'File::DosGlob'         => '1.03',
+            'File::Find'            => '1.18',
+            'File::Glob'            => '1.09',
+            'File::Spec'            => '3.33',
+            'File::Spec::Cygwin'    => '3.33',
+            'File::Spec::Epoc'      => '3.33',
+            'File::Spec::Functions' => '3.33',
+            'File::Spec::Mac'       => '3.33',
+            'File::Spec::OS2'       => '3.33',
+            'File::Spec::Unix'      => '3.33',
+            'File::Spec::VMS'       => '3.33',
+            'File::Spec::Win32'     => '3.33',
+            'GDBM_File'             => '1.11',
+            'Hash::Util::FieldHash' => '1.05',
+            'I18N::Langinfo'        => '0.06',
+            'IPC::Cmd'              => '0.64',
+            'IPC::Open3'            => '1.07',
+            'Locale::Codes'         => '3.14',
+            'Locale::Codes::Country'=> '3.14',
+            'Locale::Codes::Currency'=> '3.14',
+            'Locale::Codes::Language'=> '3.14',
+            'Locale::Codes::Script' => '3.14',
+            'Locale::Constants'     => '3.14',
+            'Locale::Country'       => '3.14',
+            'Locale::Currency'      => '3.14',
+            'Locale::Language'      => '3.14',
+            'Locale::Maketext'      => '1.16',
+            'Locale::Script'        => '3.14',
+            'Math::BigFloat'        => '1.63',
+            'Math::BigInt'          => '1.97',
+            'Math::BigInt::Calc'    => '0.55',
+            'Math::BigInt::CalcEmu' => '0.07',
+            'Module::CoreList'      => '2.40',
+            'NDBM_File'             => '1.09',
+            'NEXT'                  => '0.65',
+            'ODBM_File'             => '1.08',
+            'Opcode'                => '1.16',
+            'POSIX'                 => '1.21',
+            'PerlIO::encoding'      => '0.13',
+            'PerlIO::scalar'        => '0.10',
+            'PerlIO::via'           => '0.10',
+            'Pod::Man'              => '2.25',
+            'Pod::Text'             => '3.15',
+            'SDBM_File'             => '1.07',
+            'Socket'                => '1.90',
+            'Sys::Hostname'         => '1.13',
+            'Tie::Hash::NamedCapture'=> '0.07',
+            'Unicode::Collate'      => '0.63',
+            'Unicode::Collate::Locale'=> '0.63',
+            'Unicode::Normalize'    => '1.07',
+            'XS::APItest'           => '0.23',
+            'XSLoader'              => '0.13',
+            'attributes'            => '0.13',
+            'charnames'             => '1.16',
+            'if'                    => '0.06',
+            'mro'                   => '1.04',
+            'overload'              => '1.11',
+            're'                    => '0.13',
+            'sigtrap'               => '1.05',
+            'threads'               => '1.81_01',
+            'threads::shared'       => '1.34',
+        },
+        removed => {
+            'XS::APItest::KeywordRPN'=> 1,
+        }
     },
     5.013007 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.22',
-	'App::Prove::State'     => '3.22',
-	'App::Prove::State::Result'=> '3.22',
-	'App::Prove::State::Result::Test'=> '3.22',
-	'Archive::Extract'      => '0.46',
-	'Archive::Tar'          => '1.72',
-	'Archive::Tar::Constant'=> '1.72',
-	'Archive::Tar::File'    => '1.72',
-	'Attribute::Handlers'   => '0.88',
-	'AutoLoader'            => '5.71',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.26',
-	'B::Concise'            => '0.81',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '1.01',
-	'B::Lint'               => '1.12',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.50',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_62',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9600',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9010',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.50',
-	'CPANPLUS::Dist::Build::Constants'=> '0.50',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9010',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9010',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.19',
-	'Carp::Heavy'           => '1.19',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.031',
-	'Compress::Raw::Zlib'   => '2.030',
-	'Compress::Zlib'        => '2.030',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.34',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.130_01',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.05',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.48',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.14',
-	'DynaLoader'            => '1.11',
-	'Encode'                => '2.40',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.12',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.2703',
-	'ExtUtils::CBuilder::Base'=> '0.2703_01',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.2703',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.2703',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.23',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.08',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.29',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2207',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.10',
-	'Fcntl'                 => '1.10',
-	'File::Basename'        => '2.79',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.20',
-	'File::DosGlob'         => '1.03',
-	'File::Fetch'           => '0.28',
-	'File::Find'            => '1.18',
-	'File::Glob'            => '1.10',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.33',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.33',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.04',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.85',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.12',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.10',
-	'Hash::Util::FieldHash' => '1.06',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.07',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.030',
-	'IO::Compress::Adapter::Deflate'=> '2.030',
-	'IO::Compress::Adapter::Identity'=> '2.030',
-	'IO::Compress::Base'    => '2.030',
-	'IO::Compress::Base::Common'=> '2.030',
-	'IO::Compress::Bzip2'   => '2.030',
-	'IO::Compress::Deflate' => '2.030',
-	'IO::Compress::Gzip'    => '2.030',
-	'IO::Compress::Gzip::Constants'=> '2.030',
-	'IO::Compress::RawDeflate'=> '2.030',
-	'IO::Compress::Zip'     => '2.030',
-	'IO::Compress::Zip::Constants'=> '2.030',
-	'IO::Compress::Zlib::Constants'=> '2.030',
-	'IO::Compress::Zlib::Extra'=> '2.030',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
-	'IO::Uncompress::Adapter::Identity'=> '2.030',
-	'IO::Uncompress::Adapter::Inflate'=> '2.030',
-	'IO::Uncompress::AnyInflate'=> '2.030',
-	'IO::Uncompress::AnyUncompress'=> '2.030',
-	'IO::Uncompress::Base'  => '2.030',
-	'IO::Uncompress::Bunzip2'=> '2.030',
-	'IO::Uncompress::Gunzip'=> '2.030',
-	'IO::Uncompress::Inflate'=> '2.030',
-	'IO::Uncompress::RawInflate'=> '2.030',
-	'IO::Uncompress::Unzip' => '2.030',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.64',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.07',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.14',
-	'Locale::Codes::Country'=> '3.14',
-	'Locale::Codes::Currency'=> '3.14',
-	'Locale::Codes::Language'=> '3.14',
-	'Locale::Codes::Script' => '3.14',
-	'Locale::Constants'     => '3.14',
-	'Locale::Country'       => '3.14',
-	'Locale::Currency'      => '3.14',
-	'Locale::Language'      => '3.14',
-	'Locale::Maketext'      => '1.17',
-	'Locale::Maketext::Guts'=> '1.17',
-	'Locale::Maketext::GutsLoader'=> '1.17',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.14',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.10',
-	'MIME::QuotedPrint'     => '3.10',
-	'Math::BigFloat'        => '1.99_01',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.99_01',
-	'Math::BigInt::Calc'    => '1.99_01',
-	'Math::BigInt::CalcEmu' => '1.99_01',
-	'Math::BigInt::FastCalc'=> '0.24_01',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26_01',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3607',
-	'Module::Build::Base'   => '0.3607',
-	'Module::Build::Compat' => '0.3607',
-	'Module::Build::Config' => '0.3607',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3607',
-	'Module::Build::Dumper' => '0.3607',
-	'Module::Build::ModuleInfo'=> '0.3607',
-	'Module::Build::Notes'  => '0.3607',
-	'Module::Build::PPMMaker'=> '0.3607',
-	'Module::Build::Platform::Amiga'=> '0.3607',
-	'Module::Build::Platform::Default'=> '0.3607',
-	'Module::Build::Platform::EBCDIC'=> '0.3607',
-	'Module::Build::Platform::MPEiX'=> '0.3607',
-	'Module::Build::Platform::MacOS'=> '0.3607',
-	'Module::Build::Platform::RiscOS'=> '0.3607',
-	'Module::Build::Platform::Unix'=> '0.3607',
-	'Module::Build::Platform::VMS'=> '0.3607',
-	'Module::Build::Platform::VOS'=> '0.3607',
-	'Module::Build::Platform::Windows'=> '0.3607',
-	'Module::Build::Platform::aix'=> '0.3607',
-	'Module::Build::Platform::cygwin'=> '0.3607',
-	'Module::Build::Platform::darwin'=> '0.3607',
-	'Module::Build::Platform::os2'=> '0.3607',
-	'Module::Build::PodParser'=> '0.3607',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.41',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.10',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.09',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.17',
-	'POSIX'                 => '1.22',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.13',
-	'PerlIO::scalar'        => '0.10',
-	'PerlIO::via'           => '0.10',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.15',
-	'Pod::Simple::BlackBox' => '3.15',
-	'Pod::Simple::Checker'  => '3.15',
-	'Pod::Simple::Debug'    => '3.15',
-	'Pod::Simple::DumpAsText'=> '3.15',
-	'Pod::Simple::DumpAsXML'=> '3.15',
-	'Pod::Simple::HTML'     => '3.15',
-	'Pod::Simple::HTMLBatch'=> '3.15',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.15',
-	'Pod::Simple::Methody'  => '3.15',
-	'Pod::Simple::Progress' => '3.15',
-	'Pod::Simple::PullParser'=> '3.15',
-	'Pod::Simple::PullParserEndToken'=> '3.15',
-	'Pod::Simple::PullParserStartToken'=> '3.15',
-	'Pod::Simple::PullParserTextToken'=> '3.15',
-	'Pod::Simple::PullParserToken'=> '3.15',
-	'Pod::Simple::RTF'      => '3.15',
-	'Pod::Simple::Search'   => '3.15',
-	'Pod::Simple::SimpleTree'=> '3.15',
-	'Pod::Simple::Text'     => '3.15',
-	'Pod::Simple::TextContent'=> '3.15',
-	'Pod::Simple::TiedOutFH'=> '3.15',
-	'Pod::Simple::Transcode'=> '3.15',
-	'Pod::Simple::TranscodeDumb'=> '3.15',
-	'Pod::Simple::TranscodeSmart'=> '3.15',
-	'Pod::Simple::XHTML'    => '3.15',
-	'Pod::Simple::XMLOutStream'=> '3.15',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.08',
-	'Safe'                  => '2.29',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.18',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.91',
-	'Storable'              => '2.24',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.14',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.22',
-	'TAP::Formatter::Base'  => '3.22',
-	'TAP::Formatter::Color' => '3.22',
-	'TAP::Formatter::Console'=> '3.22',
-	'TAP::Formatter::Console::ParallelSession'=> '3.22',
-	'TAP::Formatter::Console::Session'=> '3.22',
-	'TAP::Formatter::File'  => '3.22',
-	'TAP::Formatter::File::Session'=> '3.22',
-	'TAP::Formatter::Session'=> '3.22',
-	'TAP::Harness'          => '3.22',
-	'TAP::Object'           => '3.22',
-	'TAP::Parser'           => '3.22',
-	'TAP::Parser::Aggregator'=> '3.22',
-	'TAP::Parser::Grammar'  => '3.22',
-	'TAP::Parser::Iterator' => '3.22',
-	'TAP::Parser::Iterator::Array'=> '3.22',
-	'TAP::Parser::Iterator::Process'=> '3.22',
-	'TAP::Parser::Iterator::Stream'=> '3.22',
-	'TAP::Parser::IteratorFactory'=> '3.22',
-	'TAP::Parser::Multiplexer'=> '3.22',
-	'TAP::Parser::Result'   => '3.22',
-	'TAP::Parser::Result::Bailout'=> '3.22',
-	'TAP::Parser::Result::Comment'=> '3.22',
-	'TAP::Parser::Result::Plan'=> '3.22',
-	'TAP::Parser::Result::Pragma'=> '3.22',
-	'TAP::Parser::Result::Test'=> '3.22',
-	'TAP::Parser::Result::Unknown'=> '3.22',
-	'TAP::Parser::Result::Version'=> '3.22',
-	'TAP::Parser::Result::YAML'=> '3.22',
-	'TAP::Parser::ResultFactory'=> '3.22',
-	'TAP::Parser::Scheduler'=> '3.22',
-	'TAP::Parser::Scheduler::Job'=> '3.22',
-	'TAP::Parser::Scheduler::Spinner'=> '3.22',
-	'TAP::Parser::Source'   => '3.22',
-	'TAP::Parser::SourceHandler'=> '3.22',
-	'TAP::Parser::SourceHandler::Executable'=> '3.22',
-	'TAP::Parser::SourceHandler::File'=> '3.22',
-	'TAP::Parser::SourceHandler::Handle'=> '3.22',
-	'TAP::Parser::SourceHandler::Perl'=> '3.22',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
-	'TAP::Parser::Utils'    => '3.22',
-	'TAP::Parser::YAMLish::Reader'=> '3.22',
-	'TAP::Parser::YAMLish::Writer'=> '3.22',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.97_01',
-	'Test::Builder::Module' => '0.97_01',
-	'Test::Builder::Tester' => '1.21_01',
-	'Test::Builder::Tester::Color'=> '1.21_01',
-	'Test::Harness'         => '3.22',
-	'Test::More'            => '0.97_01',
-	'Test::Simple'          => '0.97_01',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.11',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.07',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.07',
-	'Unicode'               => '6.0.0',
-	'Unicode::Collate'      => '0.67',
-	'Unicode::Collate::CJK::Big5'=> '0.65',
-	'Unicode::Collate::CJK::GB2312'=> '0.65',
-	'Unicode::Collate::CJK::JISX0208'=> '0.64',
-	'Unicode::Collate::CJK::Korean'=> '0.66',
-	'Unicode::Collate::CJK::Pinyin'=> '0.65',
-	'Unicode::Collate::CJK::Stroke'=> '0.65',
-	'Unicode::Collate::Locale'=> '0.67',
-	'Unicode::Normalize'    => '1.07',
-	'Unicode::UCD'          => '0.29',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.04',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.26',
-	'XS::Typemap'           => '0.04',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.13',
-	'autodie'               => '2.10',
-	'autodie::exception'    => '2.10',
-	'autodie::exception::system'=> '2.10',
-	'autodie::hints'        => '2.10',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.25',
-	'bignum'                => '0.25',
-	'bigrat'                => '0.25',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.17',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.20',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.18',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.06',
-	'inc::latest'           => '0.3607',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.05',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.11',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.224',
-	're'                    => '0.14',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.81_02',
-	'threads::shared'       => '1.34',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.02',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.11',
-	'warnings::register'    => '1.02',
+        delta_from => 5.013006,
+        changed => {
+            'Archive::Extract'      => '0.46',
+            'Archive::Tar'          => '1.72',
+            'Archive::Tar::Constant'=> '1.72',
+            'Archive::Tar::File'    => '1.72',
+            'AutoLoader'            => '5.71',
+            'B'                     => '1.26',
+            'B::Concise'            => '0.81',
+            'B::Deparse'            => '1.01',
+            'CGI'                   => '3.50',
+            'CPAN'                  => '1.94_62',
+            'CPANPLUS'              => '0.9010',
+            'CPANPLUS::Dist::Build' => '0.50',
+            'CPANPLUS::Dist::Build::Constants'=> '0.50',
+            'CPANPLUS::Internals'   => '0.9010',
+            'CPANPLUS::Shell::Default'=> '0.9010',
+            'Data::Dumper'          => '2.130_01',
+            'DynaLoader'            => '1.11',
+            'ExtUtils::Constant'    => '0.23',
+            'ExtUtils::Constant::ProxySubs'=> '0.08',
+            'Fcntl'                 => '1.10',
+            'File::Fetch'           => '0.28',
+            'File::Glob'            => '1.10',
+            'File::stat'            => '1.04',
+            'GDBM_File'             => '1.12',
+            'Hash::Util'            => '0.10',
+            'Hash::Util::FieldHash' => '1.06',
+            'I18N::Langinfo'        => '0.07',
+            'Locale::Maketext'      => '1.17',
+            'Locale::Maketext::Guts'=> '1.17',
+            'Locale::Maketext::GutsLoader'=> '1.17',
+            'MIME::Base64'          => '3.10',
+            'MIME::QuotedPrint'     => '3.10',
+            'Math::BigFloat'        => '1.99_01',
+            'Math::BigInt'          => '1.99_01',
+            'Math::BigInt::Calc'    => '1.99_01',
+            'Math::BigInt::CalcEmu' => '1.99_01',
+            'Math::BigInt::FastCalc'=> '0.24_01',
+            'Math::BigRat'          => '0.26_01',
+            'Module::CoreList'      => '2.41',
+            'NDBM_File'             => '1.10',
+            'ODBM_File'             => '1.09',
+            'Opcode'                => '1.17',
+            'POSIX'                 => '1.22',
+            'Pod::Simple'           => '3.15',
+            'Pod::Simple::BlackBox' => '3.15',
+            'Pod::Simple::Checker'  => '3.15',
+            'Pod::Simple::Debug'    => '3.15',
+            'Pod::Simple::DumpAsText'=> '3.15',
+            'Pod::Simple::DumpAsXML'=> '3.15',
+            'Pod::Simple::HTML'     => '3.15',
+            'Pod::Simple::HTMLBatch'=> '3.15',
+            'Pod::Simple::LinkSection'=> '3.15',
+            'Pod::Simple::Methody'  => '3.15',
+            'Pod::Simple::Progress' => '3.15',
+            'Pod::Simple::PullParser'=> '3.15',
+            'Pod::Simple::PullParserEndToken'=> '3.15',
+            'Pod::Simple::PullParserStartToken'=> '3.15',
+            'Pod::Simple::PullParserTextToken'=> '3.15',
+            'Pod::Simple::PullParserToken'=> '3.15',
+            'Pod::Simple::RTF'      => '3.15',
+            'Pod::Simple::Search'   => '3.15',
+            'Pod::Simple::SimpleTree'=> '3.15',
+            'Pod::Simple::Text'     => '3.15',
+            'Pod::Simple::TextContent'=> '3.15',
+            'Pod::Simple::TiedOutFH'=> '3.15',
+            'Pod::Simple::Transcode'=> '3.15',
+            'Pod::Simple::TranscodeDumb'=> '3.15',
+            'Pod::Simple::TranscodeSmart'=> '3.15',
+            'Pod::Simple::XHTML'    => '3.15',
+            'Pod::Simple::XMLOutStream'=> '3.15',
+            'SDBM_File'             => '1.08',
+            'Safe'                  => '2.29',
+            'SelfLoader'            => '1.18',
+            'Socket'                => '1.91',
+            'Storable'              => '2.24',
+            'Sys::Hostname'         => '1.14',
+            'Unicode'               => '6.0.0',
+            'Unicode::Collate'      => '0.67',
+            'Unicode::Collate::CJK::Big5'=> '0.65',
+            'Unicode::Collate::CJK::GB2312'=> '0.65',
+            'Unicode::Collate::CJK::JISX0208'=> '0.64',
+            'Unicode::Collate::CJK::Korean'=> '0.66',
+            'Unicode::Collate::CJK::Pinyin'=> '0.65',
+            'Unicode::Collate::CJK::Stroke'=> '0.65',
+            'Unicode::Collate::Locale'=> '0.67',
+            'XS::APItest'           => '0.26',
+            'XS::Typemap'           => '0.04',
+            'charnames'             => '1.17',
+            'mro'                   => '1.05',
+            'parent'                => '0.224',
+            're'                    => '0.14',
+            'threads'               => '1.81_02',
+        },
+        removed => {
+        }
     },
     5.013008 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.22',
-	'App::Prove::State'     => '3.22',
-	'App::Prove::State::Result'=> '3.22',
-	'App::Prove::State::Result::Test'=> '3.22',
-	'Archive::Extract'      => '0.46',
-	'Archive::Tar'          => '1.74',
-	'Archive::Tar::Constant'=> '1.74',
-	'Archive::Tar::File'    => '1.74',
-	'Attribute::Handlers'   => '0.88',
-	'AutoLoader'            => '5.71',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.27',
-	'B::Concise'            => '0.82',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '1.02',
-	'B::Lint'               => '1.12',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.50',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_62',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9600',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9010',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.50',
-	'CPANPLUS::Dist::Build::Constants'=> '0.50',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9010',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9010',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.19',
-	'Carp::Heavy'           => '1.17',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.031',
-	'Compress::Raw::Zlib'   => '2.030',
-	'Compress::Zlib'        => '2.030',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.35',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.130_02',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.06',
-	'Devel::SelfStubber'    => '1.05',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.50',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.15',
-	'DynaLoader'            => '1.12',
-	'Encode'                => '2.40',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.12',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.02',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.280201',
-	'ExtUtils::CBuilder::Base'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.280201',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.23',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.08',
-	'ExtUtils::Constant::Utils'=> '0.03',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.30',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2208',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.1001',
-	'Fcntl'                 => '1.11',
-	'File::Basename'        => '2.79',
-	'File::CheckTree'       => '4.41',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.20',
-	'File::DosGlob'         => '1.03',
-	'File::Fetch'           => '0.28',
-	'File::Find'            => '1.18',
-	'File::Glob'            => '1.11',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.33',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.33',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.04',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.85',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.13',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.10',
-	'Hash::Util::FieldHash' => '1.07',
-	'I18N::Collate'         => '1.02',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.07',
-	'IO'                    => '1.25_03',
-	'IO::Compress::Adapter::Bzip2'=> '2.030',
-	'IO::Compress::Adapter::Deflate'=> '2.030',
-	'IO::Compress::Adapter::Identity'=> '2.030',
-	'IO::Compress::Base'    => '2.030',
-	'IO::Compress::Base::Common'=> '2.030',
-	'IO::Compress::Bzip2'   => '2.030',
-	'IO::Compress::Deflate' => '2.030',
-	'IO::Compress::Gzip'    => '2.030',
-	'IO::Compress::Gzip::Constants'=> '2.030',
-	'IO::Compress::RawDeflate'=> '2.030',
-	'IO::Compress::Zip'     => '2.030',
-	'IO::Compress::Zip::Constants'=> '2.030',
-	'IO::Compress::Zlib::Constants'=> '2.030',
-	'IO::Compress::Zlib::Extra'=> '2.030',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.030',
-	'IO::Uncompress::Adapter::Identity'=> '2.030',
-	'IO::Uncompress::Adapter::Inflate'=> '2.030',
-	'IO::Uncompress::AnyInflate'=> '2.030',
-	'IO::Uncompress::AnyUncompress'=> '2.030',
-	'IO::Uncompress::Base'  => '2.030',
-	'IO::Uncompress::Bunzip2'=> '2.030',
-	'IO::Uncompress::Gunzip'=> '2.030',
-	'IO::Uncompress::Inflate'=> '2.030',
-	'IO::Uncompress::RawInflate'=> '2.030',
-	'IO::Uncompress::Unzip' => '2.030',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.66',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.08',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.15',
-	'Locale::Codes::Country'=> '3.15',
-	'Locale::Codes::Currency'=> '3.15',
-	'Locale::Codes::Language'=> '3.15',
-	'Locale::Codes::Script' => '3.15',
-	'Locale::Constants'     => '3.15',
-	'Locale::Country'       => '3.15',
-	'Locale::Currency'      => '3.15',
-	'Locale::Language'      => '3.15',
-	'Locale::Maketext'      => '1.17',
-	'Locale::Maketext::Guts'=> '1.17',
-	'Locale::Maketext::GutsLoader'=> '1.17',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.15',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.13',
-	'MIME::QuotedPrint'     => '3.13',
-	'Math::BigFloat'        => '1.99_02',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.99_02',
-	'Math::BigInt::Calc'    => '1.99_02',
-	'Math::BigInt::CalcEmu' => '1.99_02',
-	'Math::BigInt::FastCalc'=> '0.24_01',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26_01',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.02',
-	'Memoize::AnyDBM_File'  => '1.02',
-	'Memoize::Expire'       => '1.02',
-	'Memoize::ExpireFile'   => '1.02',
-	'Memoize::ExpireTest'   => '1.02',
-	'Memoize::NDBM_File'    => '1.02',
-	'Memoize::SDBM_File'    => '1.02',
-	'Memoize::Storable'     => '1.02',
-	'Module::Build'         => '0.3607',
-	'Module::Build::Base'   => '0.3607',
-	'Module::Build::Compat' => '0.3607',
-	'Module::Build::Config' => '0.3607',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3607',
-	'Module::Build::Dumper' => '0.3607',
-	'Module::Build::ModuleInfo'=> '0.3607',
-	'Module::Build::Notes'  => '0.3607',
-	'Module::Build::PPMMaker'=> '0.3607',
-	'Module::Build::Platform::Amiga'=> '0.3607',
-	'Module::Build::Platform::Default'=> '0.3607',
-	'Module::Build::Platform::EBCDIC'=> '0.3607',
-	'Module::Build::Platform::MPEiX'=> '0.3607',
-	'Module::Build::Platform::MacOS'=> '0.3607',
-	'Module::Build::Platform::RiscOS'=> '0.3607',
-	'Module::Build::Platform::Unix'=> '0.3607',
-	'Module::Build::Platform::VMS'=> '0.3607',
-	'Module::Build::Platform::VOS'=> '0.3607',
-	'Module::Build::Platform::Windows'=> '0.3607',
-	'Module::Build::Platform::aix'=> '0.3607',
-	'Module::Build::Platform::cygwin'=> '0.3607',
-	'Module::Build::Platform::darwin'=> '0.3607',
-	'Module::Build::Platform::os2'=> '0.3607',
-	'Module::Build::PodParser'=> '0.3607',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.43',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.11',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.37',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.10',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.18',
-	'POSIX'                 => '1.23',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.14',
-	'PerlIO::scalar'        => '0.11',
-	'PerlIO::via'           => '0.11',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.15',
-	'Pod::Simple::BlackBox' => '3.15',
-	'Pod::Simple::Checker'  => '3.15',
-	'Pod::Simple::Debug'    => '3.15',
-	'Pod::Simple::DumpAsText'=> '3.15',
-	'Pod::Simple::DumpAsXML'=> '3.15',
-	'Pod::Simple::HTML'     => '3.15',
-	'Pod::Simple::HTMLBatch'=> '3.15',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.15',
-	'Pod::Simple::Methody'  => '3.15',
-	'Pod::Simple::Progress' => '3.15',
-	'Pod::Simple::PullParser'=> '3.15',
-	'Pod::Simple::PullParserEndToken'=> '3.15',
-	'Pod::Simple::PullParserStartToken'=> '3.15',
-	'Pod::Simple::PullParserTextToken'=> '3.15',
-	'Pod::Simple::PullParserToken'=> '3.15',
-	'Pod::Simple::RTF'      => '3.15',
-	'Pod::Simple::Search'   => '3.15',
-	'Pod::Simple::SimpleTree'=> '3.15',
-	'Pod::Simple::Text'     => '3.15',
-	'Pod::Simple::TextContent'=> '3.15',
-	'Pod::Simple::TiedOutFH'=> '3.15',
-	'Pod::Simple::Transcode'=> '3.15',
-	'Pod::Simple::TranscodeDumb'=> '3.15',
-	'Pod::Simple::TranscodeSmart'=> '3.15',
-	'Pod::Simple::XHTML'    => '3.15',
-	'Pod::Simple::XMLOutStream'=> '3.15',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.09',
-	'Safe'                  => '2.29',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.18',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.92',
-	'Storable'              => '2.25',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.14',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.22',
-	'TAP::Formatter::Base'  => '3.22',
-	'TAP::Formatter::Color' => '3.22',
-	'TAP::Formatter::Console'=> '3.22',
-	'TAP::Formatter::Console::ParallelSession'=> '3.22',
-	'TAP::Formatter::Console::Session'=> '3.22',
-	'TAP::Formatter::File'  => '3.22',
-	'TAP::Formatter::File::Session'=> '3.22',
-	'TAP::Formatter::Session'=> '3.22',
-	'TAP::Harness'          => '3.22',
-	'TAP::Object'           => '3.22',
-	'TAP::Parser'           => '3.22',
-	'TAP::Parser::Aggregator'=> '3.22',
-	'TAP::Parser::Grammar'  => '3.22',
-	'TAP::Parser::Iterator' => '3.22',
-	'TAP::Parser::Iterator::Array'=> '3.22',
-	'TAP::Parser::Iterator::Process'=> '3.22',
-	'TAP::Parser::Iterator::Stream'=> '3.22',
-	'TAP::Parser::IteratorFactory'=> '3.22',
-	'TAP::Parser::Multiplexer'=> '3.22',
-	'TAP::Parser::Result'   => '3.22',
-	'TAP::Parser::Result::Bailout'=> '3.22',
-	'TAP::Parser::Result::Comment'=> '3.22',
-	'TAP::Parser::Result::Plan'=> '3.22',
-	'TAP::Parser::Result::Pragma'=> '3.22',
-	'TAP::Parser::Result::Test'=> '3.22',
-	'TAP::Parser::Result::Unknown'=> '3.22',
-	'TAP::Parser::Result::Version'=> '3.22',
-	'TAP::Parser::Result::YAML'=> '3.22',
-	'TAP::Parser::ResultFactory'=> '3.22',
-	'TAP::Parser::Scheduler'=> '3.22',
-	'TAP::Parser::Scheduler::Job'=> '3.22',
-	'TAP::Parser::Scheduler::Spinner'=> '3.22',
-	'TAP::Parser::Source'   => '3.22',
-	'TAP::Parser::SourceHandler'=> '3.22',
-	'TAP::Parser::SourceHandler::Executable'=> '3.22',
-	'TAP::Parser::SourceHandler::File'=> '3.22',
-	'TAP::Parser::SourceHandler::Handle'=> '3.22',
-	'TAP::Parser::SourceHandler::Perl'=> '3.22',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
-	'TAP::Parser::Utils'    => '3.22',
-	'TAP::Parser::YAMLish::Reader'=> '3.22',
-	'TAP::Parser::YAMLish::Writer'=> '3.22',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.97_01',
-	'Test::Builder::Module' => '0.97_01',
-	'Test::Builder::Tester' => '1.21_01',
-	'Test::Builder::Tester::Color'=> '1.21_01',
-	'Test::Harness'         => '3.22',
-	'Test::More'            => '0.97_01',
-	'Test::Simple'          => '0.97_01',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.11',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.07',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721_01',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.07',
-	'Unicode'               => '6.0.0',
-	'Unicode::Collate'      => '0.6801',
-	'Unicode::Collate::CJK::Big5'=> '0.65',
-	'Unicode::Collate::CJK::GB2312'=> '0.65',
-	'Unicode::Collate::CJK::JISX0208'=> '0.64',
-	'Unicode::Collate::CJK::Korean'=> '0.66',
-	'Unicode::Collate::CJK::Pinyin'=> '0.65',
-	'Unicode::Collate::CJK::Stroke'=> '0.65',
-	'Unicode::Collate::Locale'=> '0.68',
-	'Unicode::Normalize'    => '1.08',
-	'Unicode::UCD'          => '0.30',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.04',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.41',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.27',
-	'XS::Typemap'           => '0.04',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.13',
-	'autodie'               => '2.1001',
-	'autodie::exception'    => '2.1001',
-	'autodie::exception::system'=> '2.1001',
-	'autodie::hints'        => '2.1001',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.25',
-	'bignum'                => '0.25',
-	'bigrat'                => '0.25',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.17',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.20',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.19',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.0601',
-	'inc::latest'           => '0.3607',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.06',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.12',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.224',
-	're'                    => '0.15',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.81_03',
-	'threads::shared'       => '1.35',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.02',
-	'version'               => '0.86',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.11',
-	'warnings::register'    => '1.02',
+        delta_from => 5.013007,
+        changed => {
+            'Archive::Tar'          => '1.74',
+            'Archive::Tar::Constant'=> '1.74',
+            'Archive::Tar::File'    => '1.74',
+            'B'                     => '1.27',
+            'B::Concise'            => '0.82',
+            'B::Deparse'            => '1.02',
+            'Carp::Heavy'           => '1.17',
+            'Cwd'                   => '3.35',
+            'Data::Dumper'          => '2.130_02',
+            'Devel::Peek'           => '1.06',
+            'Devel::SelfStubber'    => '1.05',
+            'Digest::SHA'           => '5.50',
+            'Dumpvalue'             => '1.15',
+            'DynaLoader'            => '1.12',
+            'Env'                   => '1.02',
+            'Exporter::Heavy'       => '5.64_01',
+            'ExtUtils::CBuilder'    => '0.280201',
+            'ExtUtils::CBuilder::Base'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280201',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280201',
+            'ExtUtils::Constant::Utils'=> '0.03',
+            'ExtUtils::Embed'       => '1.30',
+            'ExtUtils::ParseXS'     => '2.2208',
+            'Fatal'                 => '2.1001',
+            'Fcntl'                 => '1.11',
+            'File::CheckTree'       => '4.41',
+            'File::Glob'            => '1.11',
+            'GDBM_File'             => '1.13',
+            'Hash::Util::FieldHash' => '1.07',
+            'I18N::Collate'         => '1.02',
+            'IO'                    => '1.25_03',
+            'IPC::Cmd'              => '0.66',
+            'IPC::Open3'            => '1.08',
+            'Locale::Codes'         => '3.15',
+            'Locale::Codes::Country'=> '3.15',
+            'Locale::Codes::Currency'=> '3.15',
+            'Locale::Codes::Language'=> '3.15',
+            'Locale::Codes::Script' => '3.15',
+            'Locale::Constants'     => '3.15',
+            'Locale::Country'       => '3.15',
+            'Locale::Currency'      => '3.15',
+            'Locale::Language'      => '3.15',
+            'Locale::Script'        => '3.15',
+            'MIME::Base64'          => '3.13',
+            'MIME::QuotedPrint'     => '3.13',
+            'Math::BigFloat'        => '1.99_02',
+            'Math::BigInt'          => '1.99_02',
+            'Math::BigInt::Calc'    => '1.99_02',
+            'Math::BigInt::CalcEmu' => '1.99_02',
+            'Memoize'               => '1.02',
+            'Memoize::AnyDBM_File'  => '1.02',
+            'Memoize::Expire'       => '1.02',
+            'Memoize::ExpireFile'   => '1.02',
+            'Memoize::ExpireTest'   => '1.02',
+            'Memoize::NDBM_File'    => '1.02',
+            'Memoize::SDBM_File'    => '1.02',
+            'Memoize::Storable'     => '1.02',
+            'Module::CoreList'      => '2.43',
+            'NDBM_File'             => '1.11',
+            'Net::Ping'             => '2.37',
+            'ODBM_File'             => '1.10',
+            'Opcode'                => '1.18',
+            'POSIX'                 => '1.23',
+            'PerlIO::encoding'      => '0.14',
+            'PerlIO::scalar'        => '0.11',
+            'PerlIO::via'           => '0.11',
+            'SDBM_File'             => '1.09',
+            'Socket'                => '1.92',
+            'Storable'              => '2.25',
+            'Time::HiRes'           => '1.9721_01',
+            'Unicode::Collate'      => '0.6801',
+            'Unicode::Collate::Locale'=> '0.68',
+            'Unicode::Normalize'    => '1.08',
+            'Unicode::UCD'          => '0.30',
+            'Win32'                 => '0.41',
+            'XS::APItest'           => '0.27',
+            'autodie'               => '2.1001',
+            'autodie::exception'    => '2.1001',
+            'autodie::exception::system'=> '2.1001',
+            'autodie::hints'        => '2.1001',
+            'feature'               => '1.19',
+            'if'                    => '0.0601',
+            'mro'                   => '1.06',
+            'overload'              => '1.12',
+            're'                    => '0.15',
+            'threads'               => '1.81_03',
+            'threads::shared'       => '1.35',
+            'version'               => '0.86',
+        },
+        removed => {
+        }
     },
-
-    5.012003 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.17',
-	'App::Prove::State'     => '3.17',
-	'App::Prove::State::Result'=> '3.17',
-	'App::Prove::State::Result::Test'=> '3.17',
-	'Archive::Extract'      => '0.38',
-	'Archive::Tar'          => '1.54',
-	'Archive::Tar::Constant'=> '0.02',
-	'Archive::Tar::File'    => '0.02',
-	'Attribute::Handlers'   => '0.87',
-	'AutoLoader'            => '5.70',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.23',
-	'B::Concise'            => '0.78',
-	'B::Debug'              => '1.12',
-	'B::Deparse'            => '0.9701',
-	'B::Lint'               => '1.11_01',
-	'B::Lint::Debug'        => '0.01',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.11',
-	'CGI'                   => '3.49',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.45',
-	'CGI::Cookie'           => '1.29',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.04',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.48',
-	'CPAN'                  => '1.94_56',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9456_01',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5004',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5',
-	'CPANPLUS'              => '0.90',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.46',
-	'CPANPLUS::Dist::Build::Constants'=> '0.46',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.90',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.90',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.17',
-	'Carp::Heavy'           => '1.17',
-	'Class::ISA'            => '0.36',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.024',
-	'Compress::Raw::Zlib'   => '2.024',
-	'Compress::Zlib'        => '2.024',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.31',
-	'DB'                    => '1.02',
-	'DBM_Filter'            => '0.03',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.820',
-	'Data::Dumper'          => '2.125',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::V'       => undef,
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.04',
-	'Devel::SelfStubber'    => '1.03',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.39',
-	'Digest::SHA'           => '5.47',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.03',
-	'Dumpvalue'             => '1.13',
-	'DynaLoader'            => '1.10',
-	'Encode'                => '2.39',
-	'Encode::Alias'         => '2.12',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.03',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.11',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.04',
-	'English'               => '1.04',
-	'Env'                   => '1.01',
-	'Errno'                 => '1.11',
-	'Exporter'              => '5.64_01',
-	'Exporter::Heavy'       => '5.64_01',
-	'ExtUtils::CBuilder'    => '0.27',
-	'ExtUtils::CBuilder::Base'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.27',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.27',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.27',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.27',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.27',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.56',
-	'ExtUtils::Constant'    => '0.22',
-	'ExtUtils::Constant::Base'=> '0.04',
-	'ExtUtils::Constant::ProxySubs'=> '0.06',
-	'ExtUtils::Constant::Utils'=> '0.02',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.28',
-	'ExtUtils::Install'     => '1.55',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.56',
-	'ExtUtils::Liblist::Kid'=> '6.56',
-	'ExtUtils::MM'          => '6.56',
-	'ExtUtils::MM_AIX'      => '6.56',
-	'ExtUtils::MM_Any'      => '6.56',
-	'ExtUtils::MM_BeOS'     => '6.56',
-	'ExtUtils::MM_Cygwin'   => '6.56',
-	'ExtUtils::MM_DOS'      => '6.56',
-	'ExtUtils::MM_Darwin'   => '6.56',
-	'ExtUtils::MM_MacOS'    => '6.56',
-	'ExtUtils::MM_NW5'      => '6.56',
-	'ExtUtils::MM_OS2'      => '6.56',
-	'ExtUtils::MM_QNX'      => '6.56',
-	'ExtUtils::MM_UWIN'     => '6.56',
-	'ExtUtils::MM_Unix'     => '6.56',
-	'ExtUtils::MM_VMS'      => '6.56',
-	'ExtUtils::MM_VOS'      => '6.56',
-	'ExtUtils::MM_Win32'    => '6.56',
-	'ExtUtils::MM_Win95'    => '6.56',
-	'ExtUtils::MY'          => '6.56',
-	'ExtUtils::MakeMaker'   => '6.56',
-	'ExtUtils::MakeMaker::Config'=> '6.56',
-	'ExtUtils::Manifest'    => '1.57',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.56',
-	'ExtUtils::Mksymlists'  => '6.56',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.21',
-	'ExtUtils::XSSymSet'    => '1.1',
-	'ExtUtils::testlib'     => '6.56',
-	'Fatal'                 => '2.06_01',
-	'Fcntl'                 => '1.06',
-	'File::Basename'        => '2.78',
-	'File::CheckTree'       => '4.4',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.18',
-	'File::DosGlob'         => '1.01',
-	'File::Fetch'           => '0.24',
-	'File::Find'            => '1.15',
-	'File::Glob'            => '1.07',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.31_01',
-	'File::Spec::Cygwin'    => '3.30',
-	'File::Spec::Epoc'      => '3.30',
-	'File::Spec::Functions' => '3.30',
-	'File::Spec::Mac'       => '3.30',
-	'File::Spec::OS2'       => '3.30',
-	'File::Spec::Unix'      => '3.30',
-	'File::Spec::VMS'       => '3.30',
-	'File::Spec::Win32'     => '3.30',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.02',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.84',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.10',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'Hash::Util'            => '0.07',
-	'Hash::Util::FieldHash' => '1.04',
-	'I18N::Collate'         => '1.01',
-	'I18N::LangTags'        => '0.35',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35',
-	'I18N::Langinfo'        => '0.03',
-	'IO'                    => '1.25_02',
-	'IO::Compress::Adapter::Bzip2'=> '2.024',
-	'IO::Compress::Adapter::Deflate'=> '2.024',
-	'IO::Compress::Adapter::Identity'=> '2.024',
-	'IO::Compress::Base'    => '2.024',
-	'IO::Compress::Base::Common'=> '2.024',
-	'IO::Compress::Bzip2'   => '2.024',
-	'IO::Compress::Deflate' => '2.024',
-	'IO::Compress::Gzip'    => '2.024',
-	'IO::Compress::Gzip::Constants'=> '2.024',
-	'IO::Compress::RawDeflate'=> '2.024',
-	'IO::Compress::Zip'     => '2.024',
-	'IO::Compress::Zip::Constants'=> '2.024',
-	'IO::Compress::Zlib::Constants'=> '2.024',
-	'IO::Compress::Zlib::Extra'=> '2.024',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.28',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.31',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.024',
-	'IO::Uncompress::Adapter::Identity'=> '2.024',
-	'IO::Uncompress::Adapter::Inflate'=> '2.024',
-	'IO::Uncompress::AnyInflate'=> '2.024',
-	'IO::Uncompress::AnyUncompress'=> '2.024',
-	'IO::Uncompress::Base'  => '2.024',
-	'IO::Uncompress::Bunzip2'=> '2.024',
-	'IO::Uncompress::Gunzip'=> '2.024',
-	'IO::Uncompress::Inflate'=> '2.024',
-	'IO::Uncompress::RawInflate'=> '2.024',
-	'IO::Uncompress::Unzip' => '2.024',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.54',
-	'IPC::Msg'              => '2.01',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.05',
-	'IPC::Semaphore'        => '2.01',
-	'IPC::SharedMem'        => '2.01',
-	'IPC::SysV'             => '2.01',
-	'List::Util'            => '1.22',
-	'List::Util::PP'        => '1.22',
-	'List::Util::XS'        => '1.22',
-	'Locale::Constants'     => '2.07',
-	'Locale::Country'       => '2.07',
-	'Locale::Currency'      => '2.07',
-	'Locale::Language'      => '2.07',
-	'Locale::Maketext'      => '1.14',
-	'Locale::Maketext::Guts'=> '1.13',
-	'Locale::Maketext::GutsLoader'=> '1.13',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '2.07',
-	'Log::Message'          => '0.02',
-	'Log::Message::Config'  => '0.01',
-	'Log::Message::Handlers'=> undef,
-	'Log::Message::Item'    => undef,
-	'Log::Message::Simple'  => '0.06',
-	'MIME::Base64'          => '3.08',
-	'MIME::QuotedPrint'     => '3.08',
-	'Math::BigFloat'        => '1.60',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.89_01',
-	'Math::BigInt::Calc'    => '0.52',
-	'Math::BigInt::CalcEmu' => '0.05',
-	'Math::BigInt::FastCalc'=> '0.19',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.24',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.01_03',
-	'Memoize::AnyDBM_File'  => '0.65',
-	'Memoize::Expire'       => '1.00',
-	'Memoize::ExpireFile'   => '1.01',
-	'Memoize::ExpireTest'   => '0.65',
-	'Memoize::NDBM_File'    => '0.65',
-	'Memoize::SDBM_File'    => '0.65',
-	'Memoize::Storable'     => '0.65',
-	'Module::Build'         => '0.3603',
-	'Module::Build::Base'   => '0.3603',
-	'Module::Build::Compat' => '0.3603',
-	'Module::Build::Config' => '0.3603',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3603',
-	'Module::Build::Dumper' => '0.3603',
-	'Module::Build::ModuleInfo'=> '0.3603',
-	'Module::Build::Notes'  => '0.3603',
-	'Module::Build::PPMMaker'=> '0.3603',
-	'Module::Build::Platform::Amiga'=> '0.3603',
-	'Module::Build::Platform::Default'=> '0.3603',
-	'Module::Build::Platform::EBCDIC'=> '0.3603',
-	'Module::Build::Platform::MPEiX'=> '0.3603',
-	'Module::Build::Platform::MacOS'=> '0.3603',
-	'Module::Build::Platform::RiscOS'=> '0.3603',
-	'Module::Build::Platform::Unix'=> '0.3603',
-	'Module::Build::Platform::VMS'=> '0.3603',
-	'Module::Build::Platform::VOS'=> '0.3603',
-	'Module::Build::Platform::Windows'=> '0.3603',
-	'Module::Build::Platform::aix'=> '0.3603',
-	'Module::Build::Platform::cygwin'=> '0.360301',
-	'Module::Build::Platform::darwin'=> '0.3603',
-	'Module::Build::Platform::os2'=> '0.3603',
-	'Module::Build::PodParser'=> '0.3603',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.43',
-	'Module::Load'          => '0.16',
-	'Module::Load::Conditional'=> '0.38',
-	'Module::Loaded'        => '0.06',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.08',
-	'NEXT'                  => '0.64',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.36',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.07',
-	'Object::Accessor'      => '0.36',
-	'Opcode'                => '1.15',
-	'POSIX'                 => '1.19',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.26',
-	'Parse::CPAN::Meta'     => '1.40',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.12',
-	'PerlIO::scalar'        => '0.08',
-	'PerlIO::via'           => '0.09',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.58',
-	'Pod::Man'              => '2.23',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_02',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Plainer'          => '1.02',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.14',
-	'Pod::Simple::BlackBox' => '3.14',
-	'Pod::Simple::Checker'  => '3.14',
-	'Pod::Simple::Debug'    => '3.14',
-	'Pod::Simple::DumpAsText'=> '3.14',
-	'Pod::Simple::DumpAsXML'=> '3.14',
-	'Pod::Simple::HTML'     => '3.14',
-	'Pod::Simple::HTMLBatch'=> '3.14',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.14',
-	'Pod::Simple::Methody'  => '3.14',
-	'Pod::Simple::Progress' => '3.14',
-	'Pod::Simple::PullParser'=> '3.14',
-	'Pod::Simple::PullParserEndToken'=> '3.14',
-	'Pod::Simple::PullParserStartToken'=> '3.14',
-	'Pod::Simple::PullParserTextToken'=> '3.14',
-	'Pod::Simple::PullParserToken'=> '3.14',
-	'Pod::Simple::RTF'      => '3.14',
-	'Pod::Simple::Search'   => '3.14',
-	'Pod::Simple::SimpleTree'=> '3.14',
-	'Pod::Simple::Text'     => '3.14',
-	'Pod::Simple::TextContent'=> '3.14',
-	'Pod::Simple::TiedOutFH'=> '3.14',
-	'Pod::Simple::Transcode'=> '3.14',
-	'Pod::Simple::TranscodeDumb'=> '3.14',
-	'Pod::Simple::TranscodeSmart'=> '3.14',
-	'Pod::Simple::XHTML'    => '3.14',
-	'Pod::Simple::XMLOutStream'=> '3.14',
-	'Pod::Text'             => '3.14',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.06',
-	'Safe'                  => '2.27',
-	'Scalar::Util'          => '1.22',
-	'Scalar::Util::PP'      => '1.22',
-	'Search::Dict'          => '1.02',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.17',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.87_01',
-	'Storable'              => '2.22',
-	'Switch'                => '2.16',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.11',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.17',
-	'TAP::Formatter::Base'  => '3.17',
-	'TAP::Formatter::Color' => '3.17',
-	'TAP::Formatter::Console'=> '3.17',
-	'TAP::Formatter::Console::ParallelSession'=> '3.17',
-	'TAP::Formatter::Console::Session'=> '3.17',
-	'TAP::Formatter::File'  => '3.17',
-	'TAP::Formatter::File::Session'=> '3.17',
-	'TAP::Formatter::Session'=> '3.17',
-	'TAP::Harness'          => '3.17',
-	'TAP::Object'           => '3.17',
-	'TAP::Parser'           => '3.17',
-	'TAP::Parser::Aggregator'=> '3.17',
-	'TAP::Parser::Grammar'  => '3.17',
-	'TAP::Parser::Iterator' => '3.17',
-	'TAP::Parser::Iterator::Array'=> '3.17',
-	'TAP::Parser::Iterator::Process'=> '3.17',
-	'TAP::Parser::Iterator::Stream'=> '3.17',
-	'TAP::Parser::IteratorFactory'=> '3.17',
-	'TAP::Parser::Multiplexer'=> '3.17',
-	'TAP::Parser::Result'   => '3.17',
-	'TAP::Parser::Result::Bailout'=> '3.17',
-	'TAP::Parser::Result::Comment'=> '3.17',
-	'TAP::Parser::Result::Plan'=> '3.17',
-	'TAP::Parser::Result::Pragma'=> '3.17',
-	'TAP::Parser::Result::Test'=> '3.17',
-	'TAP::Parser::Result::Unknown'=> '3.17',
-	'TAP::Parser::Result::Version'=> '3.17',
-	'TAP::Parser::Result::YAML'=> '3.17',
-	'TAP::Parser::ResultFactory'=> '3.17',
-	'TAP::Parser::Scheduler'=> '3.17',
-	'TAP::Parser::Scheduler::Job'=> '3.17',
-	'TAP::Parser::Scheduler::Spinner'=> '3.17',
-	'TAP::Parser::Source'   => '3.17',
-	'TAP::Parser::Source::Perl'=> '3.17',
-	'TAP::Parser::Utils'    => '3.17',
-	'TAP::Parser::YAMLish::Reader'=> '3.17',
-	'TAP::Parser::YAMLish::Writer'=> '3.17',
-	'Term::ANSIColor'       => '2.02',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.05',
-	'Term::UI'              => '0.20',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.94',
-	'Test::Builder::Module' => '0.94',
-	'Test::Builder::Tester' => '1.18',
-	'Test::Builder::Tester::Color'=> '1.18',
-	'Test::Harness'         => '3.17',
-	'Test::More'            => '0.94',
-	'Test::Simple'          => '0.94',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.11',
-	'Thread::Semaphore'     => '2.09',
-	'Tie::Array'            => '1.03',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.03',
-	'Tie::Hash::NamedCapture'=> '0.06',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9719',
-	'Time::Local'           => '1.1901_01',
-	'Time::Piece'           => '1.15_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.06',
-	'Unicode'               => '5.2.0',
-	'Unicode::Collate'      => '0.52_01',
-	'Unicode::Normalize'    => '1.03',
-	'Unicode::UCD'          => '0.27',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.03',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.39',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.17',
-	'XS::APItest::KeywordRPN'=> '0.003',
-	'XS::Typemap'           => '0.03',
-	'XSLoader'              => '0.10',
-	'XSLoader::XSLoader'    => '0.10',
-	'attributes'            => '0.12',
-	'autodie'               => '2.06_01',
-	'autodie::exception'    => '2.06_01',
-	'autodie::exception::system'=> '2.06_01',
-	'autodie::hints'        => '2.06_01',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.23',
-	'bignum'                => '0.23',
-	'bigrat'                => '0.23',
-	'blib'                  => '1.04',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.07',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.19',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.16',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.05',
-	'inc::latest'           => '0.3603',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.62',
-	'locale'                => '1.00',
-	'mro'                   => '1.02',
-	'open'                  => '1.07',
-	'ops'                   => '1.02',
-	'overload'              => '1.10',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.223',
-	're'                    => '0.11',
-	'sigtrap'               => '1.04',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.75',
-	'threads::shared'       => '1.32',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.01',
-	'version'               => '0.82',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.09',
-	'warnings::register'    => '1.01',
-    },
     5.013009 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.22',
-	'App::Prove::State'     => '3.22',
-	'App::Prove::State::Result'=> '3.22',
-	'App::Prove::State::Result::Test'=> '3.22',
-	'Archive::Extract'      => '0.48',
-	'Archive::Tar'          => '1.76',
-	'Archive::Tar::Constant'=> '1.76',
-	'Archive::Tar::File'    => '1.76',
-	'Attribute::Handlers'   => '0.88',
-	'AutoLoader'            => '5.71',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.27',
-	'B::Concise'            => '0.83',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '1.03',
-	'B::Lint'               => '1.13',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.02',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.12',
-	'CGI'                   => '3.51',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.51',
-	'CGI::Cookie'           => '1.30',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.05',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.51',
-	'CPAN'                  => '1.94_63',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9600',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.00',
-	'CPAN::FirstTime'       => '5.5301',
-	'CPAN::HTTP::Client'    => '1.94',
-	'CPAN::HTTP::Credentials'=> '1.94',
-	'CPAN::HandleConfig'    => '5.5001',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Meta::YAML'      => '0.003',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5001',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9011',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.52',
-	'CPANPLUS::Dist::Build::Constants'=> '0.52',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9011',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9011',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.19',
-	'Carp::Heavy'           => '1.19',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.033',
-	'Compress::Raw::Zlib'   => '2.033',
-	'Compress::Zlib'        => '2.033',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.36',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.04',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.821',
-	'Data::Dumper'          => '2.130_02',
-	'Devel::DProf'          => '20080331.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.07',
-	'Devel::SelfStubber'    => '1.05',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.50',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.04',
-	'Dumpvalue'             => '1.16',
-	'DynaLoader'            => '1.12',
-	'Encode'                => '2.42',
-	'Encode::Alias'         => '2.13',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.13',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.02',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.280201',
-	'ExtUtils::CBuilder::Base'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280201',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.280201',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.23',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.08',
-	'ExtUtils::Constant::Utils'=> '0.03',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.30',
-	'ExtUtils::Install'     => '1.56',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2209',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.1001',
-	'Fcntl'                 => '1.11',
-	'File::Basename'        => '2.80',
-	'File::CheckTree'       => '4.41',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.21',
-	'File::DosGlob'         => '1.04',
-	'File::Fetch'           => '0.32',
-	'File::Find'            => '1.19',
-	'File::Glob'            => '1.11',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.34',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.34',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.05',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.85',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.13',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'HTTP::Tiny'            => '0.009',
-	'Hash::Util'            => '0.10',
-	'Hash::Util::FieldHash' => '1.08',
-	'I18N::Collate'         => '1.02',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.04',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.07',
-	'IO'                    => '1.25_03',
-	'IO::Compress::Adapter::Bzip2'=> '2.033',
-	'IO::Compress::Adapter::Deflate'=> '2.033',
-	'IO::Compress::Adapter::Identity'=> '2.033',
-	'IO::Compress::Base'    => '2.033',
-	'IO::Compress::Base::Common'=> '2.033',
-	'IO::Compress::Bzip2'   => '2.033',
-	'IO::Compress::Deflate' => '2.033',
-	'IO::Compress::Gzip'    => '2.033',
-	'IO::Compress::Gzip::Constants'=> '2.033',
-	'IO::Compress::RawDeflate'=> '2.033',
-	'IO::Compress::Zip'     => '2.033',
-	'IO::Compress::Zip::Constants'=> '2.033',
-	'IO::Compress::Zlib::Constants'=> '2.033',
-	'IO::Compress::Zlib::Extra'=> '2.033',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.29',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.17',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
-	'IO::Uncompress::Adapter::Identity'=> '2.033',
-	'IO::Uncompress::Adapter::Inflate'=> '2.033',
-	'IO::Uncompress::AnyInflate'=> '2.033',
-	'IO::Uncompress::AnyUncompress'=> '2.033',
-	'IO::Uncompress::Base'  => '2.033',
-	'IO::Uncompress::Bunzip2'=> '2.033',
-	'IO::Uncompress::Gunzip'=> '2.033',
-	'IO::Uncompress::Inflate'=> '2.033',
-	'IO::Uncompress::RawInflate'=> '2.033',
-	'IO::Uncompress::Unzip' => '2.033',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.68',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.09',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'JSON::PP'              => '2.27103',
-	'JSON::PP::Boolean'     => undef,
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.15',
-	'Locale::Codes::Country'=> '3.15',
-	'Locale::Codes::Currency'=> '3.15',
-	'Locale::Codes::Language'=> '3.15',
-	'Locale::Codes::Script' => '3.15',
-	'Locale::Constants'     => '3.15',
-	'Locale::Country'       => '3.15',
-	'Locale::Currency'      => '3.15',
-	'Locale::Language'      => '3.15',
-	'Locale::Maketext'      => '1.18',
-	'Locale::Maketext::Guts'=> '1.17',
-	'Locale::Maketext::GutsLoader'=> '1.17',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.15',
-	'Log::Message'          => '0.04',
-	'Log::Message::Config'  => '0.04',
-	'Log::Message::Handlers'=> '0.04',
-	'Log::Message::Item'    => '0.04',
-	'Log::Message::Simple'  => '0.08',
-	'MIME::Base64'          => '3.13',
-	'MIME::QuotedPrint'     => '3.13',
-	'Math::BigFloat'        => '1.99_03',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.99_03',
-	'Math::BigInt::Calc'    => '1.99_03',
-	'Math::BigInt::CalcEmu' => '1.99_02',
-	'Math::BigInt::FastCalc'=> '0.24_02',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26_02',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.02',
-	'Memoize::AnyDBM_File'  => '1.02',
-	'Memoize::Expire'       => '1.02',
-	'Memoize::ExpireFile'   => '1.02',
-	'Memoize::ExpireTest'   => '1.02',
-	'Memoize::NDBM_File'    => '1.02',
-	'Memoize::SDBM_File'    => '1.02',
-	'Memoize::Storable'     => '1.02',
-	'Module::Build'         => '0.3607',
-	'Module::Build::Base'   => '0.3607',
-	'Module::Build::Compat' => '0.3607',
-	'Module::Build::Config' => '0.3607',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3607',
-	'Module::Build::Dumper' => '0.3607',
-	'Module::Build::ModuleInfo'=> '0.3607',
-	'Module::Build::Notes'  => '0.3607',
-	'Module::Build::PPMMaker'=> '0.3607',
-	'Module::Build::Platform::Amiga'=> '0.3607',
-	'Module::Build::Platform::Default'=> '0.3607',
-	'Module::Build::Platform::EBCDIC'=> '0.3607',
-	'Module::Build::Platform::MPEiX'=> '0.3607',
-	'Module::Build::Platform::MacOS'=> '0.3607',
-	'Module::Build::Platform::RiscOS'=> '0.3607',
-	'Module::Build::Platform::Unix'=> '0.3607',
-	'Module::Build::Platform::VMS'=> '0.3607',
-	'Module::Build::Platform::VOS'=> '0.3607',
-	'Module::Build::Platform::Windows'=> '0.3607',
-	'Module::Build::Platform::aix'=> '0.3607',
-	'Module::Build::Platform::cygwin'=> '0.3607',
-	'Module::Build::Platform::darwin'=> '0.3607',
-	'Module::Build::Platform::os2'=> '0.3607',
-	'Module::Build::PodParser'=> '0.3607',
-	'Module::Build::Version'=> '0.77',
-	'Module::Build::YAML'   => '1.40',
-	'Module::CoreList'      => '2.42_01',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.40',
-	'Module::Loaded'        => '0.06',
-	'Module::Metadata'      => '1.000003',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.11',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.38',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.10',
-	'Object::Accessor'      => '0.38',
-	'Opcode'                => '1.18',
-	'POSIX'                 => '1.24',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.28',
-	'Parse::CPAN::Meta'     => '1.40',
-	'Perl::OSType'          => '1.002',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.14',
-	'PerlIO::scalar'        => '0.11',
-	'PerlIO::via'           => '0.11',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.09',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.59',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_03',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.15',
-	'Pod::Simple::BlackBox' => '3.15',
-	'Pod::Simple::Checker'  => '3.15',
-	'Pod::Simple::Debug'    => '3.15',
-	'Pod::Simple::DumpAsText'=> '3.15',
-	'Pod::Simple::DumpAsXML'=> '3.15',
-	'Pod::Simple::HTML'     => '3.15',
-	'Pod::Simple::HTMLBatch'=> '3.15',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.15',
-	'Pod::Simple::Methody'  => '3.15',
-	'Pod::Simple::Progress' => '3.15',
-	'Pod::Simple::PullParser'=> '3.15',
-	'Pod::Simple::PullParserEndToken'=> '3.15',
-	'Pod::Simple::PullParserStartToken'=> '3.15',
-	'Pod::Simple::PullParserTextToken'=> '3.15',
-	'Pod::Simple::PullParserToken'=> '3.15',
-	'Pod::Simple::RTF'      => '3.15',
-	'Pod::Simple::Search'   => '3.15',
-	'Pod::Simple::SimpleTree'=> '3.15',
-	'Pod::Simple::Text'     => '3.15',
-	'Pod::Simple::TextContent'=> '3.15',
-	'Pod::Simple::TiedOutFH'=> '3.15',
-	'Pod::Simple::Transcode'=> '3.15',
-	'Pod::Simple::TranscodeDumb'=> '3.15',
-	'Pod::Simple::TranscodeSmart'=> '3.15',
-	'Pod::Simple::XHTML'    => '3.15',
-	'Pod::Simple::XMLOutStream'=> '3.15',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.09',
-	'Safe'                  => '2.29',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.18',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.93',
-	'Storable'              => '2.26',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.15',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.22',
-	'TAP::Formatter::Base'  => '3.22',
-	'TAP::Formatter::Color' => '3.22',
-	'TAP::Formatter::Console'=> '3.22',
-	'TAP::Formatter::Console::ParallelSession'=> '3.22',
-	'TAP::Formatter::Console::Session'=> '3.22',
-	'TAP::Formatter::File'  => '3.22',
-	'TAP::Formatter::File::Session'=> '3.22',
-	'TAP::Formatter::Session'=> '3.22',
-	'TAP::Harness'          => '3.22',
-	'TAP::Object'           => '3.22',
-	'TAP::Parser'           => '3.22',
-	'TAP::Parser::Aggregator'=> '3.22',
-	'TAP::Parser::Grammar'  => '3.22',
-	'TAP::Parser::Iterator' => '3.22',
-	'TAP::Parser::Iterator::Array'=> '3.22',
-	'TAP::Parser::Iterator::Process'=> '3.22',
-	'TAP::Parser::Iterator::Stream'=> '3.22',
-	'TAP::Parser::IteratorFactory'=> '3.22',
-	'TAP::Parser::Multiplexer'=> '3.22',
-	'TAP::Parser::Result'   => '3.22',
-	'TAP::Parser::Result::Bailout'=> '3.22',
-	'TAP::Parser::Result::Comment'=> '3.22',
-	'TAP::Parser::Result::Plan'=> '3.22',
-	'TAP::Parser::Result::Pragma'=> '3.22',
-	'TAP::Parser::Result::Test'=> '3.22',
-	'TAP::Parser::Result::Unknown'=> '3.22',
-	'TAP::Parser::Result::Version'=> '3.22',
-	'TAP::Parser::Result::YAML'=> '3.22',
-	'TAP::Parser::ResultFactory'=> '3.22',
-	'TAP::Parser::Scheduler'=> '3.22',
-	'TAP::Parser::Scheduler::Job'=> '3.22',
-	'TAP::Parser::Scheduler::Spinner'=> '3.22',
-	'TAP::Parser::Source'   => '3.22',
-	'TAP::Parser::SourceHandler'=> '3.22',
-	'TAP::Parser::SourceHandler::Executable'=> '3.22',
-	'TAP::Parser::SourceHandler::File'=> '3.22',
-	'TAP::Parser::SourceHandler::Handle'=> '3.22',
-	'TAP::Parser::SourceHandler::Perl'=> '3.22',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
-	'TAP::Parser::Utils'    => '3.22',
-	'TAP::Parser::YAMLish::Reader'=> '3.22',
-	'TAP::Parser::YAMLish::Writer'=> '3.22',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.24',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.97_01',
-	'Test::Builder::Module' => '0.97_01',
-	'Test::Builder::Tester' => '1.21_01',
-	'Test::Builder::Tester::Color'=> '1.21_01',
-	'Test::Harness'         => '3.22',
-	'Test::More'            => '0.97_01',
-	'Test::Simple'          => '0.97_01',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.12',
-	'Thread::Semaphore'     => '2.12',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.07',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721_01',
-	'Time::Local'           => '1.2000',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.08',
-	'Unicode'               => '6.0.0',
-	'Unicode::Collate'      => '0.6801',
-	'Unicode::Collate::CJK::Big5'=> '0.65',
-	'Unicode::Collate::CJK::GB2312'=> '0.65',
-	'Unicode::Collate::CJK::JISX0208'=> '0.64',
-	'Unicode::Collate::CJK::Korean'=> '0.66',
-	'Unicode::Collate::CJK::Pinyin'=> '0.65',
-	'Unicode::Collate::CJK::Stroke'=> '0.65',
-	'Unicode::Collate::Locale'=> '0.68',
-	'Unicode::Normalize'    => '1.10',
-	'Unicode::UCD'          => '0.30',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.04',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Win32'                 => '0.44',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.27',
-	'XS::Typemap'           => '0.04',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.13',
-	'autodie'               => '2.1001',
-	'autodie::exception'    => '2.1001',
-	'autodie::exception::system'=> '2.1001',
-	'autodie::hints'        => '2.1001',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.26',
-	'bignum'                => '0.26',
-	'bigrat'                => '0.26',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.18',
-	'constant'              => '1.20',
-	'deprecate'             => '0.01',
-	'diagnostics'           => '1.21',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.19',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.0601',
-	'inc::latest'           => '0.3607',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.06',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.12',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.224',
-	're'                    => '0.16',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.83',
-	'threads::shared'       => '1.36',
-	'utf8'                  => '1.08',
-	'vars'                  => '1.02',
-	'version'               => '0.88',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.11',
-	'warnings::register'    => '1.02',
+        delta_from => 5.013008,
+        changed => {
+            'Archive::Extract'      => '0.48',
+            'Archive::Tar'          => '1.76',
+            'Archive::Tar::Constant'=> '1.76',
+            'Archive::Tar::File'    => '1.76',
+            'B::Concise'            => '0.83',
+            'B::Deparse'            => '1.03',
+            'B::Lint'               => '1.13',
+            'Benchmark'             => '1.12',
+            'CGI'                   => '3.51',
+            'CGI::Carp'             => '3.51',
+            'CGI::Cookie'           => '1.30',
+            'CGI::Push'             => '1.05',
+            'CGI::Util'             => '3.51',
+            'CPAN'                  => '1.94_63',
+            'CPAN::HTTP::Client'    => '1.94',
+            'CPAN::HTTP::Credentials'=> '1.94',
+            'CPAN::Meta::YAML'      => '0.003',
+            'CPANPLUS'              => '0.9011',
+            'CPANPLUS::Dist::Build' => '0.52',
+            'CPANPLUS::Dist::Build::Constants'=> '0.52',
+            'CPANPLUS::Internals'   => '0.9011',
+            'CPANPLUS::Shell::Default'=> '0.9011',
+            'Carp::Heavy'           => '1.19',
+            'Compress::Raw::Bzip2'  => '2.033',
+            'Compress::Raw::Zlib'   => '2.033',
+            'Compress::Zlib'        => '2.033',
+            'Cwd'                   => '3.36',
+            'DBM_Filter'            => '0.04',
+            'DB_File'               => '1.821',
+            'Devel::Peek'           => '1.07',
+            'DirHandle'             => '1.04',
+            'Dumpvalue'             => '1.16',
+            'Encode'                => '2.42',
+            'Encode::Alias'         => '2.13',
+            'Encode::MIME::Header'  => '2.13',
+            'Exporter::Heavy'       => '5.64_03',
+            'ExtUtils::Install'     => '1.56',
+            'ExtUtils::ParseXS'     => '2.2209',
+            'File::Basename'        => '2.80',
+            'File::Copy'            => '2.21',
+            'File::DosGlob'         => '1.04',
+            'File::Fetch'           => '0.32',
+            'File::Find'            => '1.19',
+            'File::Spec::Mac'       => '3.34',
+            'File::Spec::VMS'       => '3.34',
+            'File::stat'            => '1.05',
+            'HTTP::Tiny'            => '0.009',
+            'Hash::Util::FieldHash' => '1.08',
+            'IO::Compress::Adapter::Bzip2'=> '2.033',
+            'IO::Compress::Adapter::Deflate'=> '2.033',
+            'IO::Compress::Adapter::Identity'=> '2.033',
+            'IO::Compress::Base'    => '2.033',
+            'IO::Compress::Base::Common'=> '2.033',
+            'IO::Compress::Bzip2'   => '2.033',
+            'IO::Compress::Deflate' => '2.033',
+            'IO::Compress::Gzip'    => '2.033',
+            'IO::Compress::Gzip::Constants'=> '2.033',
+            'IO::Compress::RawDeflate'=> '2.033',
+            'IO::Compress::Zip'     => '2.033',
+            'IO::Compress::Zip::Constants'=> '2.033',
+            'IO::Compress::Zlib::Constants'=> '2.033',
+            'IO::Compress::Zlib::Extra'=> '2.033',
+            'IO::Handle'            => '1.29',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
+            'IO::Uncompress::Adapter::Identity'=> '2.033',
+            'IO::Uncompress::Adapter::Inflate'=> '2.033',
+            'IO::Uncompress::AnyInflate'=> '2.033',
+            'IO::Uncompress::AnyUncompress'=> '2.033',
+            'IO::Uncompress::Base'  => '2.033',
+            'IO::Uncompress::Bunzip2'=> '2.033',
+            'IO::Uncompress::Gunzip'=> '2.033',
+            'IO::Uncompress::Inflate'=> '2.033',
+            'IO::Uncompress::RawInflate'=> '2.033',
+            'IO::Uncompress::Unzip' => '2.033',
+            'IPC::Cmd'              => '0.68',
+            'IPC::Open3'            => '1.09',
+            'JSON::PP'              => '2.27103',
+            'JSON::PP::Boolean'     => undef,
+            'Locale::Maketext'      => '1.18',
+            'Log::Message'          => '0.04',
+            'Log::Message::Config'  => '0.04',
+            'Log::Message::Handlers'=> '0.04',
+            'Log::Message::Item'    => '0.04',
+            'Log::Message::Simple'  => '0.08',
+            'Math::BigFloat'        => '1.99_03',
+            'Math::BigInt'          => '1.99_03',
+            'Math::BigInt::Calc'    => '1.99_03',
+            'Math::BigInt::FastCalc'=> '0.24_02',
+            'Math::BigRat'          => '0.26_02',
+            'Module::CoreList'      => '2.42_01',
+            'Module::Load::Conditional'=> '0.40',
+            'Module::Metadata'      => '1.000003',
+            'Net::Ping'             => '2.38',
+            'Object::Accessor'      => '0.38',
+            'POSIX'                 => '1.24',
+            'Params::Check'         => '0.28',
+            'Perl::OSType'          => '1.002',
+            'Pod::LaTeX'            => '0.59',
+            'Pod::Perldoc'          => '3.15_03',
+            'Socket'                => '1.93',
+            'Storable'              => '2.26',
+            'Sys::Hostname'         => '1.15',
+            'Term::UI'              => '0.24',
+            'Thread::Queue'         => '2.12',
+            'Thread::Semaphore'     => '2.12',
+            'Time::Local'           => '1.2000',
+            'UNIVERSAL'             => '1.08',
+            'Unicode::Normalize'    => '1.10',
+            'Win32'                 => '0.44',
+            'bigint'                => '0.26',
+            'bignum'                => '0.26',
+            'bigrat'                => '0.26',
+            'charnames'             => '1.18',
+            'diagnostics'           => '1.21',
+            're'                    => '0.16',
+            'threads'               => '1.83',
+            'threads::shared'       => '1.36',
+            'version'               => '0.88',
+        },
+        removed => {
+        }
     },
-    5.013010 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.22',
-	'App::Prove::State'     => '3.22',
-	'App::Prove::State::Result'=> '3.22',
-	'App::Prove::State::Result::Test'=> '3.22',
-	'Archive::Extract'      => '0.48',
-	'Archive::Tar'          => '1.76',
-	'Archive::Tar::Constant'=> '1.76',
-	'Archive::Tar::File'    => '1.76',
-	'Attribute::Handlers'   => '0.89',
-	'AutoLoader'            => '5.71',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.28',
-	'B::Concise'            => '0.83',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '1.03',
-	'B::Lint'               => '1.13',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.03',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.12',
-	'CGI'                   => '3.52',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.51',
-	'CGI::Cookie'           => '1.30',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.05',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.51',
-	'CPAN'                  => '1.94_65',
-	'CPAN::Author'          => '5.5',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9601',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.0',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.01',
-	'CPAN::FirstTime'       => '5.5303',
-	'CPAN::HTTP::Client'    => '1.94',
-	'CPAN::HTTP::Credentials'=> '1.94',
-	'CPAN::HandleConfig'    => '5.5003',
-	'CPAN::Index'           => '1.94',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.94',
-	'CPAN::Meta'            => '2.110440',
-	'CPAN::Meta::Converter' => '2.110440',
-	'CPAN::Meta::Feature'   => '2.110440',
-	'CPAN::Meta::History'   => '2.110440',
-	'CPAN::Meta::Prereqs'   => '2.110440',
-	'CPAN::Meta::Spec'      => '2.110440',
-	'CPAN::Meta::Validator' => '2.110440',
-	'CPAN::Meta::YAML'      => '0.003',
-	'CPAN::Mirrors'         => '1.77',
-	'CPAN::Module'          => '5.5',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5002',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9101',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.52',
-	'CPANPLUS::Dist::Build::Constants'=> '0.52',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9101',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9101',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.20',
-	'Carp::Heavy'           => '1.20',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.033',
-	'Compress::Raw::Zlib'   => '2.033',
-	'Compress::Zlib'        => '2.033',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.37',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.04',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.821',
-	'Data::Dumper'          => '2.130_02',
-	'Devel::DProf'          => '20110217.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.07',
-	'Devel::SelfStubber'    => '1.05',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.50',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.04',
-	'Dumpvalue'             => '1.16',
-	'DynaLoader'            => '1.13',
-	'Encode'                => '2.42',
-	'Encode::Alias'         => '2.13',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.13',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.02',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.280202',
-	'ExtUtils::CBuilder::Base'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.280202',
-	'ExtUtils::Command'     => '1.16',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.23',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.08',
-	'ExtUtils::Constant::Utils'=> '0.03',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.30',
-	'ExtUtils::Install'     => '1.56',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2209',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.1001',
-	'Fcntl'                 => '1.11',
-	'File::Basename'        => '2.80',
-	'File::CheckTree'       => '4.41',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.22',
-	'File::DosGlob'         => '1.04',
-	'File::Fetch'           => '0.32',
-	'File::Find'            => '1.19',
-	'File::Glob'            => '1.11',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.34',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.34',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.05',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.86',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.13',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'HTTP::Tiny'            => '0.010',
-	'Hash::Util'            => '0.10',
-	'Hash::Util::FieldHash' => '1.08',
-	'I18N::Collate'         => '1.02',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.05',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.07',
-	'IO'                    => '1.25_03',
-	'IO::Compress::Adapter::Bzip2'=> '2.033',
-	'IO::Compress::Adapter::Deflate'=> '2.033',
-	'IO::Compress::Adapter::Identity'=> '2.033',
-	'IO::Compress::Base'    => '2.033',
-	'IO::Compress::Base::Common'=> '2.033',
-	'IO::Compress::Bzip2'   => '2.033',
-	'IO::Compress::Deflate' => '2.033',
-	'IO::Compress::Gzip'    => '2.033',
-	'IO::Compress::Gzip::Constants'=> '2.033',
-	'IO::Compress::RawDeflate'=> '2.033',
-	'IO::Compress::Zip'     => '2.033',
-	'IO::Compress::Zip::Constants'=> '2.033',
-	'IO::Compress::Zlib::Constants'=> '2.033',
-	'IO::Compress::Zlib::Extra'=> '2.033',
-	'IO::Dir'               => '1.07',
-	'IO::File'              => '1.14',
-	'IO::Handle'            => '1.29',
-	'IO::Pipe'              => '1.13',
-	'IO::Poll'              => '0.07',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.18',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
-	'IO::Uncompress::Adapter::Identity'=> '2.033',
-	'IO::Uncompress::Adapter::Inflate'=> '2.033',
-	'IO::Uncompress::AnyInflate'=> '2.033',
-	'IO::Uncompress::AnyUncompress'=> '2.033',
-	'IO::Uncompress::Base'  => '2.033',
-	'IO::Uncompress::Bunzip2'=> '2.033',
-	'IO::Uncompress::Gunzip'=> '2.033',
-	'IO::Uncompress::Inflate'=> '2.033',
-	'IO::Uncompress::RawInflate'=> '2.033',
-	'IO::Uncompress::Unzip' => '2.033',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.70',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.09',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'JSON::PP'              => '2.27103',
-	'JSON::PP::Boolean'     => undef,
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.15',
-	'Locale::Codes::Country'=> '3.15',
-	'Locale::Codes::Currency'=> '3.15',
-	'Locale::Codes::Language'=> '3.15',
-	'Locale::Codes::Script' => '3.15',
-	'Locale::Constants'     => '3.15',
-	'Locale::Country'       => '3.15',
-	'Locale::Currency'      => '3.15',
-	'Locale::Language'      => '3.15',
-	'Locale::Maketext'      => '1.19',
-	'Locale::Maketext::Guts'=> '1.17',
-	'Locale::Maketext::GutsLoader'=> '1.17',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.15',
-	'Log::Message'          => '0.04',
-	'Log::Message::Config'  => '0.04',
-	'Log::Message::Handlers'=> '0.04',
-	'Log::Message::Item'    => '0.04',
-	'Log::Message::Simple'  => '0.08',
-	'MIME::Base64'          => '3.13',
-	'MIME::QuotedPrint'     => '3.13',
-	'Math::BigFloat'        => '1.992',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.992',
-	'Math::BigInt::Calc'    => '1.992',
-	'Math::BigInt::CalcEmu' => '1.992',
-	'Math::BigInt::FastCalc'=> '0.24_02',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26_02',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.02',
-	'Memoize::AnyDBM_File'  => '1.02',
-	'Memoize::Expire'       => '1.02',
-	'Memoize::ExpireFile'   => '1.02',
-	'Memoize::ExpireTest'   => '1.02',
-	'Memoize::NDBM_File'    => '1.02',
-	'Memoize::SDBM_File'    => '1.02',
-	'Memoize::Storable'     => '1.02',
-	'Module::Build'         => '0.37_05',
-	'Module::Build::Base'   => '0.37_05',
-	'Module::Build::Compat' => '0.37_05',
-	'Module::Build::Config' => '0.37_05',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.37_05',
-	'Module::Build::Dumper' => '0.37_05',
-	'Module::Build::ModuleInfo'=> '0.37_05',
-	'Module::Build::Notes'  => '0.37_05',
-	'Module::Build::PPMMaker'=> '0.37_05',
-	'Module::Build::Platform::Amiga'=> '0.37_05',
-	'Module::Build::Platform::Default'=> '0.37_05',
-	'Module::Build::Platform::EBCDIC'=> '0.37_05',
-	'Module::Build::Platform::MPEiX'=> '0.37_05',
-	'Module::Build::Platform::MacOS'=> '0.37_05',
-	'Module::Build::Platform::RiscOS'=> '0.37_05',
-	'Module::Build::Platform::Unix'=> '0.37_05',
-	'Module::Build::Platform::VMS'=> '0.37_05',
-	'Module::Build::Platform::VOS'=> '0.37_05',
-	'Module::Build::Platform::Windows'=> '0.37_05',
-	'Module::Build::Platform::aix'=> '0.37_05',
-	'Module::Build::Platform::cygwin'=> '0.37_05',
-	'Module::Build::Platform::darwin'=> '0.37_05',
-	'Module::Build::Platform::os2'=> '0.37_05',
-	'Module::Build::PodParser'=> '0.37_05',
-	'Module::Build::Version'=> '0.87',
-	'Module::Build::YAML'   => '1.41',
-	'Module::CoreList'      => '2.45',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.44',
-	'Module::Loaded'        => '0.06',
-	'Module::Metadata'      => '1.000004',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.11',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.38',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.10',
-	'Object::Accessor'      => '0.38',
-	'Opcode'                => '1.18',
-	'POSIX'                 => '1.24',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.28',
-	'Parse::CPAN::Meta'     => '1.4401',
-	'Perl::OSType'          => '1.002',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.14',
-	'PerlIO::scalar'        => '0.11',
-	'PerlIO::via'           => '0.11',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.1',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.59',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_03',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.15',
-	'Pod::Simple::BlackBox' => '3.15',
-	'Pod::Simple::Checker'  => '3.15',
-	'Pod::Simple::Debug'    => '3.15',
-	'Pod::Simple::DumpAsText'=> '3.15',
-	'Pod::Simple::DumpAsXML'=> '3.15',
-	'Pod::Simple::HTML'     => '3.15',
-	'Pod::Simple::HTMLBatch'=> '3.15',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.15',
-	'Pod::Simple::Methody'  => '3.15',
-	'Pod::Simple::Progress' => '3.15',
-	'Pod::Simple::PullParser'=> '3.15',
-	'Pod::Simple::PullParserEndToken'=> '3.15',
-	'Pod::Simple::PullParserStartToken'=> '3.15',
-	'Pod::Simple::PullParserTextToken'=> '3.15',
-	'Pod::Simple::PullParserToken'=> '3.15',
-	'Pod::Simple::RTF'      => '3.15',
-	'Pod::Simple::Search'   => '3.15',
-	'Pod::Simple::SimpleTree'=> '3.15',
-	'Pod::Simple::Text'     => '3.15',
-	'Pod::Simple::TextContent'=> '3.15',
-	'Pod::Simple::TiedOutFH'=> '3.15',
-	'Pod::Simple::Transcode'=> '3.15',
-	'Pod::Simple::TranscodeDumb'=> '3.15',
-	'Pod::Simple::TranscodeSmart'=> '3.15',
-	'Pod::Simple::XHTML'    => '3.15',
-	'Pod::Simple::XMLOutStream'=> '3.15',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.09',
-	'Safe'                  => '2.29',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.18',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.94',
-	'Storable'              => '2.26',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.15',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.22',
-	'TAP::Formatter::Base'  => '3.22',
-	'TAP::Formatter::Color' => '3.22',
-	'TAP::Formatter::Console'=> '3.22',
-	'TAP::Formatter::Console::ParallelSession'=> '3.22',
-	'TAP::Formatter::Console::Session'=> '3.22',
-	'TAP::Formatter::File'  => '3.22',
-	'TAP::Formatter::File::Session'=> '3.22',
-	'TAP::Formatter::Session'=> '3.22',
-	'TAP::Harness'          => '3.22',
-	'TAP::Object'           => '3.22',
-	'TAP::Parser'           => '3.22',
-	'TAP::Parser::Aggregator'=> '3.22',
-	'TAP::Parser::Grammar'  => '3.22',
-	'TAP::Parser::Iterator' => '3.22',
-	'TAP::Parser::Iterator::Array'=> '3.22',
-	'TAP::Parser::Iterator::Process'=> '3.22',
-	'TAP::Parser::Iterator::Stream'=> '3.22',
-	'TAP::Parser::IteratorFactory'=> '3.22',
-	'TAP::Parser::Multiplexer'=> '3.22',
-	'TAP::Parser::Result'   => '3.22',
-	'TAP::Parser::Result::Bailout'=> '3.22',
-	'TAP::Parser::Result::Comment'=> '3.22',
-	'TAP::Parser::Result::Plan'=> '3.22',
-	'TAP::Parser::Result::Pragma'=> '3.22',
-	'TAP::Parser::Result::Test'=> '3.22',
-	'TAP::Parser::Result::Unknown'=> '3.22',
-	'TAP::Parser::Result::Version'=> '3.22',
-	'TAP::Parser::Result::YAML'=> '3.22',
-	'TAP::Parser::ResultFactory'=> '3.22',
-	'TAP::Parser::Scheduler'=> '3.22',
-	'TAP::Parser::Scheduler::Job'=> '3.22',
-	'TAP::Parser::Scheduler::Spinner'=> '3.22',
-	'TAP::Parser::Source'   => '3.22',
-	'TAP::Parser::SourceHandler'=> '3.22',
-	'TAP::Parser::SourceHandler::Executable'=> '3.22',
-	'TAP::Parser::SourceHandler::File'=> '3.22',
-	'TAP::Parser::SourceHandler::Handle'=> '3.22',
-	'TAP::Parser::SourceHandler::Perl'=> '3.22',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.22',
-	'TAP::Parser::Utils'    => '3.22',
-	'TAP::Parser::YAMLish::Reader'=> '3.22',
-	'TAP::Parser::YAMLish::Writer'=> '3.22',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.26',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.97_01',
-	'Test::Builder::Module' => '0.97_01',
-	'Test::Builder::Tester' => '1.21_01',
-	'Test::Builder::Tester::Color'=> '1.21_01',
-	'Test::Harness'         => '3.22',
-	'Test::More'            => '0.97_01',
-	'Test::Simple'          => '0.97_01',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.12',
-	'Thread::Semaphore'     => '2.12',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.07',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.38',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721_01',
-	'Time::Local'           => '1.2000',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.08',
-	'Unicode'               => '6.0.0',
-	'Unicode::Collate'      => '0.72',
-	'Unicode::Collate::CJK::Big5'=> '0.65',
-	'Unicode::Collate::CJK::GB2312'=> '0.65',
-	'Unicode::Collate::CJK::JISX0208'=> '0.64',
-	'Unicode::Collate::CJK::Korean'=> '0.66',
-	'Unicode::Collate::CJK::Pinyin'=> '0.65',
-	'Unicode::Collate::CJK::Stroke'=> '0.65',
-	'Unicode::Collate::Locale'=> '0.71',
-	'Unicode::Normalize'    => '1.10',
-	'Unicode::UCD'          => '0.31',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.05',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Version::Requirements' => '0.101020',
-	'Win32'                 => '0.44',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.27',
-	'XS::Typemap'           => '0.04',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.13',
-	'autodie'               => '2.1001',
-	'autodie::exception'    => '2.1001',
-	'autodie::exception::system'=> '2.1001',
-	'autodie::hints'        => '2.1001',
-	'autouse'               => '1.06',
-	'base'                  => '2.15',
-	'bigint'                => '0.26',
-	'bignum'                => '0.26',
-	'bigrat'                => '0.27',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.18',
-	'constant'              => '1.20',
-	'deprecate'             => '0.02',
-	'diagnostics'           => '1.22',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.19',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.0601',
-	'inc::latest'           => '0.37_05',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.06',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.13',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.224',
-	're'                    => '0.17',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.83',
-	'threads::shared'       => '1.36',
-	'utf8'                  => '1.09',
-	'vars'                  => '1.02',
-	'version'               => '0.88',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.12',
-	'warnings::register'    => '1.02',
+    5.01301 => {
+        delta_from => 5.013009,
+        changed => {
+            'Attribute::Handlers'   => '0.89',
+            'B'                     => '1.28',
+            'B::Showlex'            => '1.03',
+            'CGI'                   => '3.52',
+            'CPAN'                  => '1.94_65',
+            'CPAN::Distribution'    => '1.9601',
+            'CPAN::FTP::netrc'      => '1.01',
+            'CPAN::FirstTime'       => '5.5303',
+            'CPAN::HandleConfig'    => '5.5003',
+            'CPAN::Meta'            => '2.110440',
+            'CPAN::Meta::Converter' => '2.110440',
+            'CPAN::Meta::Feature'   => '2.110440',
+            'CPAN::Meta::History'   => '2.110440',
+            'CPAN::Meta::Prereqs'   => '2.110440',
+            'CPAN::Meta::Spec'      => '2.110440',
+            'CPAN::Meta::Validator' => '2.110440',
+            'CPAN::Shell'           => '5.5002',
+            'CPANPLUS'              => '0.9101',
+            'CPANPLUS::Internals'   => '0.9101',
+            'CPANPLUS::Shell::Default'=> '0.9101',
+            'Carp'                  => '1.20',
+            'Carp::Heavy'           => '1.20',
+            'Cwd'                   => '3.37',
+            'Devel::DProf'          => '20110217.00',
+            'DynaLoader'            => '1.13',
+            'ExtUtils::CBuilder'    => '0.280202',
+            'ExtUtils::CBuilder::Base'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280202',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280202',
+            'File::Copy'            => '2.22',
+            'Filter::Simple'        => '0.86',
+            'HTTP::Tiny'            => '0.010',
+            'I18N::LangTags::Detect'=> '1.05',
+            'IO::Select'            => '1.18',
+            'IPC::Cmd'              => '0.70',
+            'Locale::Maketext'      => '1.19',
+            'Math::BigFloat'        => '1.992',
+            'Math::BigInt'          => '1.992',
+            'Math::BigInt::Calc'    => '1.992',
+            'Math::BigInt::CalcEmu' => '1.992',
+            'Module::Build'         => '0.37_05',
+            'Module::Build::Base'   => '0.37_05',
+            'Module::Build::Compat' => '0.37_05',
+            'Module::Build::Config' => '0.37_05',
+            'Module::Build::Cookbook'=> '0.37_05',
+            'Module::Build::Dumper' => '0.37_05',
+            'Module::Build::ModuleInfo'=> '0.37_05',
+            'Module::Build::Notes'  => '0.37_05',
+            'Module::Build::PPMMaker'=> '0.37_05',
+            'Module::Build::Platform::Amiga'=> '0.37_05',
+            'Module::Build::Platform::Default'=> '0.37_05',
+            'Module::Build::Platform::EBCDIC'=> '0.37_05',
+            'Module::Build::Platform::MPEiX'=> '0.37_05',
+            'Module::Build::Platform::MacOS'=> '0.37_05',
+            'Module::Build::Platform::RiscOS'=> '0.37_05',
+            'Module::Build::Platform::Unix'=> '0.37_05',
+            'Module::Build::Platform::VMS'=> '0.37_05',
+            'Module::Build::Platform::VOS'=> '0.37_05',
+            'Module::Build::Platform::Windows'=> '0.37_05',
+            'Module::Build::Platform::aix'=> '0.37_05',
+            'Module::Build::Platform::cygwin'=> '0.37_05',
+            'Module::Build::Platform::darwin'=> '0.37_05',
+            'Module::Build::Platform::os2'=> '0.37_05',
+            'Module::Build::PodParser'=> '0.37_05',
+            'Module::Build::Version'=> '0.87',
+            'Module::Build::YAML'   => '1.41',
+            'Module::CoreList'      => '2.45',
+            'Module::Load::Conditional'=> '0.44',
+            'Module::Metadata'      => '1.000004',
+            'Parse::CPAN::Meta'     => '1.4401',
+            'Pod::Html'             => '1.1',
+            'Socket'                => '1.94',
+            'Term::UI'              => '0.26',
+            'Unicode::Collate'      => '0.72',
+            'Unicode::Collate::Locale'=> '0.71',
+            'Unicode::UCD'          => '0.31',
+            'VMS::DCLsym'           => '1.05',
+            'Version::Requirements' => '0.101020',
+            'bigrat'                => '0.27',
+            'deprecate'             => '0.02',
+            'diagnostics'           => '1.22',
+            'inc::latest'           => '0.37_05',
+            'overload'              => '1.13',
+            're'                    => '0.17',
+            'utf8'                  => '1.09',
+            'warnings'              => '1.12',
+        },
+        removed => {
+        }
     },
     5.013011 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.23',
-	'App::Prove::State'     => '3.23',
-	'App::Prove::State::Result'=> '3.23',
-	'App::Prove::State::Result::Test'=> '3.23',
-	'Archive::Extract'      => '0.48',
-	'Archive::Tar'          => '1.76',
-	'Archive::Tar::Constant'=> '1.76',
-	'Archive::Tar::File'    => '1.76',
-	'Attribute::Handlers'   => '0.89',
-	'AutoLoader'            => '5.71',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.29',
-	'B::Concise'            => '0.83',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '1.03',
-	'B::Lint'               => '1.13',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.03',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.12',
-	'CGI'                   => '3.52',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.51',
-	'CGI::Cookie'           => '1.30',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.05',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.51',
-	'CPAN'                  => '1.9600',
-	'CPAN::Author'          => '5.5001',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5001',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9602',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.001',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.01',
-	'CPAN::FirstTime'       => '5.5303',
-	'CPAN::HTTP::Client'    => '1.9600',
-	'CPAN::HTTP::Credentials'=> '1.9600',
-	'CPAN::HandleConfig'    => '5.5003',
-	'CPAN::Index'           => '1.9600',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.9600',
-	'CPAN::Meta'            => '2.110440',
-	'CPAN::Meta::Converter' => '2.110440',
-	'CPAN::Meta::Feature'   => '2.110440',
-	'CPAN::Meta::History'   => '2.110440',
-	'CPAN::Meta::Prereqs'   => '2.110440',
-	'CPAN::Meta::Spec'      => '2.110440',
-	'CPAN::Meta::Validator' => '2.110440',
-	'CPAN::Meta::YAML'      => '0.003',
-	'CPAN::Mirrors'         => '1.9600',
-	'CPAN::Module'          => '5.5001',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5002',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9103',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.54',
-	'CPANPLUS::Dist::Build::Constants'=> '0.54',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9103',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9103',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.20',
-	'Carp::Heavy'           => '1.20',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.033',
-	'Compress::Raw::Zlib'   => '2.033',
-	'Compress::Zlib'        => '2.033',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.36',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.04',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.821',
-	'Data::Dumper'          => '2.130_02',
-	'Devel::DProf'          => '20110228.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.07',
-	'Devel::SelfStubber'    => '1.05',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.61',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.04',
-	'Dumpvalue'             => '1.16',
-	'DynaLoader'            => '1.13',
-	'Encode'                => '2.42',
-	'Encode::Alias'         => '2.13',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.13',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.02',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.280202',
-	'ExtUtils::CBuilder::Base'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280202',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.280202',
-	'ExtUtils::Command'     => '1.17',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.23',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.08',
-	'ExtUtils::Constant::Utils'=> '0.03',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.30',
-	'ExtUtils::Install'     => '1.56',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2209',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.1001',
-	'Fcntl'                 => '1.11',
-	'File::Basename'        => '2.81',
-	'File::CheckTree'       => '4.41',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.21',
-	'File::DosGlob'         => '1.04',
-	'File::Fetch'           => '0.32',
-	'File::Find'            => '1.19',
-	'File::Glob'            => '1.12',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.34',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.34',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.05',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.86',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.14',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'HTTP::Tiny'            => '0.011',
-	'Hash::Util'            => '0.11',
-	'Hash::Util::FieldHash' => '1.09',
-	'I18N::Collate'         => '1.02',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.05',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.08',
-	'IO'                    => '1.25_04',
-	'IO::Compress::Adapter::Bzip2'=> '2.033',
-	'IO::Compress::Adapter::Deflate'=> '2.033',
-	'IO::Compress::Adapter::Identity'=> '2.033',
-	'IO::Compress::Base'    => '2.033',
-	'IO::Compress::Base::Common'=> '2.033',
-	'IO::Compress::Bzip2'   => '2.033',
-	'IO::Compress::Deflate' => '2.033',
-	'IO::Compress::Gzip'    => '2.033',
-	'IO::Compress::Gzip::Constants'=> '2.033',
-	'IO::Compress::RawDeflate'=> '2.033',
-	'IO::Compress::Zip'     => '2.033',
-	'IO::Compress::Zip::Constants'=> '2.033',
-	'IO::Compress::Zlib::Constants'=> '2.033',
-	'IO::Compress::Zlib::Extra'=> '2.033',
-	'IO::Dir'               => '1.08',
-	'IO::File'              => '1.15',
-	'IO::Handle'            => '1.30',
-	'IO::Pipe'              => '1.14',
-	'IO::Poll'              => '0.08',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.20',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
-	'IO::Uncompress::Adapter::Identity'=> '2.033',
-	'IO::Uncompress::Adapter::Inflate'=> '2.033',
-	'IO::Uncompress::AnyInflate'=> '2.033',
-	'IO::Uncompress::AnyUncompress'=> '2.033',
-	'IO::Uncompress::Base'  => '2.033',
-	'IO::Uncompress::Bunzip2'=> '2.033',
-	'IO::Uncompress::Gunzip'=> '2.033',
-	'IO::Uncompress::Inflate'=> '2.033',
-	'IO::Uncompress::RawInflate'=> '2.033',
-	'IO::Uncompress::Unzip' => '2.033',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.70',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.09',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'JSON::PP'              => '2.27105',
-	'JSON::PP::Boolean'     => undef,
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.16',
-	'Locale::Codes::Country'=> '3.16',
-	'Locale::Codes::Currency'=> '3.16',
-	'Locale::Codes::Language'=> '3.16',
-	'Locale::Codes::Script' => '3.16',
-	'Locale::Constants'     => '3.16',
-	'Locale::Country'       => '3.16',
-	'Locale::Currency'      => '3.16',
-	'Locale::Language'      => '3.16',
-	'Locale::Maketext'      => '1.19',
-	'Locale::Maketext::Guts'=> '1.17',
-	'Locale::Maketext::GutsLoader'=> '1.17',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.16',
-	'Log::Message'          => '0.04',
-	'Log::Message::Config'  => '0.04',
-	'Log::Message::Handlers'=> '0.04',
-	'Log::Message::Item'    => '0.04',
-	'Log::Message::Simple'  => '0.08',
-	'MIME::Base64'          => '3.13',
-	'MIME::QuotedPrint'     => '3.13',
-	'Math::BigFloat'        => '1.993',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.994',
-	'Math::BigInt::Calc'    => '1.993',
-	'Math::BigInt::CalcEmu' => '1.993',
-	'Math::BigInt::FastCalc'=> '0.28',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26_02',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.02',
-	'Memoize::AnyDBM_File'  => '1.02',
-	'Memoize::Expire'       => '1.02',
-	'Memoize::ExpireFile'   => '1.02',
-	'Memoize::ExpireTest'   => '1.02',
-	'Memoize::NDBM_File'    => '1.02',
-	'Memoize::SDBM_File'    => '1.02',
-	'Memoize::Storable'     => '1.02',
-	'Module::Build'         => '0.3800',
-	'Module::Build::Base'   => '0.3800',
-	'Module::Build::Compat' => '0.3800',
-	'Module::Build::Config' => '0.3800',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3800',
-	'Module::Build::Dumper' => '0.3800',
-	'Module::Build::ModuleInfo'=> '0.3800',
-	'Module::Build::Notes'  => '0.3800',
-	'Module::Build::PPMMaker'=> '0.3800',
-	'Module::Build::Platform::Amiga'=> '0.3800',
-	'Module::Build::Platform::Default'=> '0.3800',
-	'Module::Build::Platform::EBCDIC'=> '0.3800',
-	'Module::Build::Platform::MPEiX'=> '0.3800',
-	'Module::Build::Platform::MacOS'=> '0.3800',
-	'Module::Build::Platform::RiscOS'=> '0.3800',
-	'Module::Build::Platform::Unix'=> '0.3800',
-	'Module::Build::Platform::VMS'=> '0.3800',
-	'Module::Build::Platform::VOS'=> '0.3800',
-	'Module::Build::Platform::Windows'=> '0.3800',
-	'Module::Build::Platform::aix'=> '0.3800',
-	'Module::Build::Platform::cygwin'=> '0.3800',
-	'Module::Build::Platform::darwin'=> '0.3800',
-	'Module::Build::Platform::os2'=> '0.3800',
-	'Module::Build::PodParser'=> '0.3800',
-	'Module::Build::Version'=> '0.87',
-	'Module::Build::YAML'   => '1.41',
-	'Module::CoreList'      => '2.46',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.44',
-	'Module::Loaded'        => '0.06',
-	'Module::Metadata'      => '1.000004',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.12',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.38',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.10',
-	'Object::Accessor'      => '0.38',
-	'Opcode'                => '1.18',
-	'POSIX'                 => '1.24',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.28',
-	'Parse::CPAN::Meta'     => '1.4401',
-	'Perl::OSType'          => '1.002',
-	'PerlIO'                => '1.06',
-	'PerlIO::encoding'      => '0.14',
-	'PerlIO::scalar'        => '0.11',
-	'PerlIO::via'           => '0.11',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.1',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.59',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_03',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.16',
-	'Pod::Simple::BlackBox' => '3.16',
-	'Pod::Simple::Checker'  => '3.16',
-	'Pod::Simple::Debug'    => '3.16',
-	'Pod::Simple::DumpAsText'=> '3.16',
-	'Pod::Simple::DumpAsXML'=> '3.16',
-	'Pod::Simple::HTML'     => '3.16',
-	'Pod::Simple::HTMLBatch'=> '3.16',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.16',
-	'Pod::Simple::Methody'  => '3.16',
-	'Pod::Simple::Progress' => '3.16',
-	'Pod::Simple::PullParser'=> '3.16',
-	'Pod::Simple::PullParserEndToken'=> '3.16',
-	'Pod::Simple::PullParserStartToken'=> '3.16',
-	'Pod::Simple::PullParserTextToken'=> '3.16',
-	'Pod::Simple::PullParserToken'=> '3.16',
-	'Pod::Simple::RTF'      => '3.16',
-	'Pod::Simple::Search'   => '3.16',
-	'Pod::Simple::SimpleTree'=> '3.16',
-	'Pod::Simple::Text'     => '3.16',
-	'Pod::Simple::TextContent'=> '3.16',
-	'Pod::Simple::TiedOutFH'=> '3.16',
-	'Pod::Simple::Transcode'=> '3.16',
-	'Pod::Simple::TranscodeDumb'=> '3.16',
-	'Pod::Simple::TranscodeSmart'=> '3.16',
-	'Pod::Simple::XHTML'    => '3.16',
-	'Pod::Simple::XMLOutStream'=> '3.16',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.09',
-	'Safe'                  => '2.29',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.18',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.94',
-	'Storable'              => '2.27',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.16',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.23',
-	'TAP::Formatter::Base'  => '3.23',
-	'TAP::Formatter::Color' => '3.23',
-	'TAP::Formatter::Console'=> '3.23',
-	'TAP::Formatter::Console::ParallelSession'=> '3.23',
-	'TAP::Formatter::Console::Session'=> '3.23',
-	'TAP::Formatter::File'  => '3.23',
-	'TAP::Formatter::File::Session'=> '3.23',
-	'TAP::Formatter::Session'=> '3.23',
-	'TAP::Harness'          => '3.23',
-	'TAP::Object'           => '3.23',
-	'TAP::Parser'           => '3.23',
-	'TAP::Parser::Aggregator'=> '3.23',
-	'TAP::Parser::Grammar'  => '3.23',
-	'TAP::Parser::Iterator' => '3.23',
-	'TAP::Parser::Iterator::Array'=> '3.23',
-	'TAP::Parser::Iterator::Process'=> '3.23',
-	'TAP::Parser::Iterator::Stream'=> '3.23',
-	'TAP::Parser::IteratorFactory'=> '3.23',
-	'TAP::Parser::Multiplexer'=> '3.23',
-	'TAP::Parser::Result'   => '3.23',
-	'TAP::Parser::Result::Bailout'=> '3.23',
-	'TAP::Parser::Result::Comment'=> '3.23',
-	'TAP::Parser::Result::Plan'=> '3.23',
-	'TAP::Parser::Result::Pragma'=> '3.23',
-	'TAP::Parser::Result::Test'=> '3.23',
-	'TAP::Parser::Result::Unknown'=> '3.23',
-	'TAP::Parser::Result::Version'=> '3.23',
-	'TAP::Parser::Result::YAML'=> '3.23',
-	'TAP::Parser::ResultFactory'=> '3.23',
-	'TAP::Parser::Scheduler'=> '3.23',
-	'TAP::Parser::Scheduler::Job'=> '3.23',
-	'TAP::Parser::Scheduler::Spinner'=> '3.23',
-	'TAP::Parser::Source'   => '3.23',
-	'TAP::Parser::SourceHandler'=> '3.23',
-	'TAP::Parser::SourceHandler::Executable'=> '3.23',
-	'TAP::Parser::SourceHandler::File'=> '3.23',
-	'TAP::Parser::SourceHandler::Handle'=> '3.23',
-	'TAP::Parser::SourceHandler::Perl'=> '3.23',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
-	'TAP::Parser::Utils'    => '3.23',
-	'TAP::Parser::YAMLish::Reader'=> '3.23',
-	'TAP::Parser::YAMLish::Writer'=> '3.23',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.26',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.98',
-	'Test::Builder::Module' => '0.98',
-	'Test::Builder::Tester' => '1.22',
-	'Test::Builder::Tester::Color'=> '1.22',
-	'Test::Harness'         => '3.23',
-	'Test::More'            => '0.98',
-	'Test::Simple'          => '0.98',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.12',
-	'Thread::Semaphore'     => '2.12',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.08',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.39',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721_01',
-	'Time::Local'           => '1.2000',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.08',
-	'Unicode'               => '6.0.0',
-	'Unicode::Collate'      => '0.73',
-	'Unicode::Collate::CJK::Big5'=> '0.65',
-	'Unicode::Collate::CJK::GB2312'=> '0.65',
-	'Unicode::Collate::CJK::JISX0208'=> '0.64',
-	'Unicode::Collate::CJK::Korean'=> '0.66',
-	'Unicode::Collate::CJK::Pinyin'=> '0.65',
-	'Unicode::Collate::CJK::Stroke'=> '0.65',
-	'Unicode::Collate::Locale'=> '0.73',
-	'Unicode::Normalize'    => '1.10',
-	'Unicode::UCD'          => '0.32',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.05',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Version::Requirements' => '0.101020',
-	'Win32'                 => '0.44',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.27',
-	'XS::Typemap'           => '0.05',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.14',
-	'autodie'               => '2.1001',
-	'autodie::exception'    => '2.1001',
-	'autodie::exception::system'=> '2.1001',
-	'autodie::hints'        => '2.1001',
-	'autouse'               => '1.06',
-	'base'                  => '2.16',
-	'bigint'                => '0.26',
-	'bignum'                => '0.26',
-	'bigrat'                => '0.27',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.18',
-	'constant'              => '1.20',
-	'deprecate'             => '0.02',
-	'diagnostics'           => '1.22',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.19',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.0601',
-	'inc::latest'           => '0.3800',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.07',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.13',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.225',
-	're'                    => '0.17',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.83',
-	'threads::shared'       => '1.36',
-	'utf8'                  => '1.09',
-	'vars'                  => '1.02',
-	'version'               => '0.88',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.12',
-	'warnings::register'    => '1.02',
+        delta_from => 5.01301,
+        changed => {
+            'App::Prove'            => '3.23',
+            'App::Prove::State'     => '3.23',
+            'App::Prove::State::Result'=> '3.23',
+            'App::Prove::State::Result::Test'=> '3.23',
+            'B'                     => '1.29',
+            'CPAN'                  => '1.9600',
+            'CPAN::Author'          => '5.5001',
+            'CPAN::CacheMgr'        => '5.5001',
+            'CPAN::Distribution'    => '1.9602',
+            'CPAN::Exception::blocked_urllist'=> '1.001',
+            'CPAN::HTTP::Client'    => '1.9600',
+            'CPAN::HTTP::Credentials'=> '1.9600',
+            'CPAN::Index'           => '1.9600',
+            'CPAN::LWP::UserAgent'  => '1.9600',
+            'CPAN::Mirrors'         => '1.9600',
+            'CPAN::Module'          => '5.5001',
+            'CPANPLUS'              => '0.9103',
+            'CPANPLUS::Dist::Build' => '0.54',
+            'CPANPLUS::Dist::Build::Constants'=> '0.54',
+            'CPANPLUS::Internals'   => '0.9103',
+            'CPANPLUS::Shell::Default'=> '0.9103',
+            'Cwd'                   => '3.36',
+            'Devel::DProf'          => '20110228.00',
+            'Digest::SHA'           => '5.61',
+            'ExtUtils::Command'     => '1.17',
+            'File::Basename'        => '2.81',
+            'File::Copy'            => '2.21',
+            'File::Glob'            => '1.12',
+            'GDBM_File'             => '1.14',
+            'HTTP::Tiny'            => '0.011',
+            'Hash::Util'            => '0.11',
+            'Hash::Util::FieldHash' => '1.09',
+            'I18N::Langinfo'        => '0.08',
+            'IO'                    => '1.25_04',
+            'IO::Dir'               => '1.08',
+            'IO::File'              => '1.15',
+            'IO::Handle'            => '1.30',
+            'IO::Pipe'              => '1.14',
+            'IO::Poll'              => '0.08',
+            'IO::Select'            => '1.20',
+            'JSON::PP'              => '2.27105',
+            'Locale::Codes'         => '3.16',
+            'Locale::Codes::Country'=> '3.16',
+            'Locale::Codes::Currency'=> '3.16',
+            'Locale::Codes::Language'=> '3.16',
+            'Locale::Codes::Script' => '3.16',
+            'Locale::Constants'     => '3.16',
+            'Locale::Country'       => '3.16',
+            'Locale::Currency'      => '3.16',
+            'Locale::Language'      => '3.16',
+            'Locale::Script'        => '3.16',
+            'Math::BigFloat'        => '1.993',
+            'Math::BigInt'          => '1.994',
+            'Math::BigInt::Calc'    => '1.993',
+            'Math::BigInt::CalcEmu' => '1.993',
+            'Math::BigInt::FastCalc'=> '0.28',
+            'Module::Build'         => '0.3800',
+            'Module::Build::Base'   => '0.3800',
+            'Module::Build::Compat' => '0.3800',
+            'Module::Build::Config' => '0.3800',
+            'Module::Build::Cookbook'=> '0.3800',
+            'Module::Build::Dumper' => '0.3800',
+            'Module::Build::ModuleInfo'=> '0.3800',
+            'Module::Build::Notes'  => '0.3800',
+            'Module::Build::PPMMaker'=> '0.3800',
+            'Module::Build::Platform::Amiga'=> '0.3800',
+            'Module::Build::Platform::Default'=> '0.3800',
+            'Module::Build::Platform::EBCDIC'=> '0.3800',
+            'Module::Build::Platform::MPEiX'=> '0.3800',
+            'Module::Build::Platform::MacOS'=> '0.3800',
+            'Module::Build::Platform::RiscOS'=> '0.3800',
+            'Module::Build::Platform::Unix'=> '0.3800',
+            'Module::Build::Platform::VMS'=> '0.3800',
+            'Module::Build::Platform::VOS'=> '0.3800',
+            'Module::Build::Platform::Windows'=> '0.3800',
+            'Module::Build::Platform::aix'=> '0.3800',
+            'Module::Build::Platform::cygwin'=> '0.3800',
+            'Module::Build::Platform::darwin'=> '0.3800',
+            'Module::Build::Platform::os2'=> '0.3800',
+            'Module::Build::PodParser'=> '0.3800',
+            'Module::CoreList'      => '2.46',
+            'NDBM_File'             => '1.12',
+            'Pod::Simple'           => '3.16',
+            'Pod::Simple::BlackBox' => '3.16',
+            'Pod::Simple::Checker'  => '3.16',
+            'Pod::Simple::Debug'    => '3.16',
+            'Pod::Simple::DumpAsText'=> '3.16',
+            'Pod::Simple::DumpAsXML'=> '3.16',
+            'Pod::Simple::HTML'     => '3.16',
+            'Pod::Simple::HTMLBatch'=> '3.16',
+            'Pod::Simple::LinkSection'=> '3.16',
+            'Pod::Simple::Methody'  => '3.16',
+            'Pod::Simple::Progress' => '3.16',
+            'Pod::Simple::PullParser'=> '3.16',
+            'Pod::Simple::PullParserEndToken'=> '3.16',
+            'Pod::Simple::PullParserStartToken'=> '3.16',
+            'Pod::Simple::PullParserTextToken'=> '3.16',
+            'Pod::Simple::PullParserToken'=> '3.16',
+            'Pod::Simple::RTF'      => '3.16',
+            'Pod::Simple::Search'   => '3.16',
+            'Pod::Simple::SimpleTree'=> '3.16',
+            'Pod::Simple::Text'     => '3.16',
+            'Pod::Simple::TextContent'=> '3.16',
+            'Pod::Simple::TiedOutFH'=> '3.16',
+            'Pod::Simple::Transcode'=> '3.16',
+            'Pod::Simple::TranscodeDumb'=> '3.16',
+            'Pod::Simple::TranscodeSmart'=> '3.16',
+            'Pod::Simple::XHTML'    => '3.16',
+            'Pod::Simple::XMLOutStream'=> '3.16',
+            'Storable'              => '2.27',
+            'Sys::Hostname'         => '1.16',
+            'TAP::Base'             => '3.23',
+            'TAP::Formatter::Base'  => '3.23',
+            'TAP::Formatter::Color' => '3.23',
+            'TAP::Formatter::Console'=> '3.23',
+            'TAP::Formatter::Console::ParallelSession'=> '3.23',
+            'TAP::Formatter::Console::Session'=> '3.23',
+            'TAP::Formatter::File'  => '3.23',
+            'TAP::Formatter::File::Session'=> '3.23',
+            'TAP::Formatter::Session'=> '3.23',
+            'TAP::Harness'          => '3.23',
+            'TAP::Object'           => '3.23',
+            'TAP::Parser'           => '3.23',
+            'TAP::Parser::Aggregator'=> '3.23',
+            'TAP::Parser::Grammar'  => '3.23',
+            'TAP::Parser::Iterator' => '3.23',
+            'TAP::Parser::Iterator::Array'=> '3.23',
+            'TAP::Parser::Iterator::Process'=> '3.23',
+            'TAP::Parser::Iterator::Stream'=> '3.23',
+            'TAP::Parser::IteratorFactory'=> '3.23',
+            'TAP::Parser::Multiplexer'=> '3.23',
+            'TAP::Parser::Result'   => '3.23',
+            'TAP::Parser::Result::Bailout'=> '3.23',
+            'TAP::Parser::Result::Comment'=> '3.23',
+            'TAP::Parser::Result::Plan'=> '3.23',
+            'TAP::Parser::Result::Pragma'=> '3.23',
+            'TAP::Parser::Result::Test'=> '3.23',
+            'TAP::Parser::Result::Unknown'=> '3.23',
+            'TAP::Parser::Result::Version'=> '3.23',
+            'TAP::Parser::Result::YAML'=> '3.23',
+            'TAP::Parser::ResultFactory'=> '3.23',
+            'TAP::Parser::Scheduler'=> '3.23',
+            'TAP::Parser::Scheduler::Job'=> '3.23',
+            'TAP::Parser::Scheduler::Spinner'=> '3.23',
+            'TAP::Parser::Source'   => '3.23',
+            'TAP::Parser::SourceHandler'=> '3.23',
+            'TAP::Parser::SourceHandler::Executable'=> '3.23',
+            'TAP::Parser::SourceHandler::File'=> '3.23',
+            'TAP::Parser::SourceHandler::Handle'=> '3.23',
+            'TAP::Parser::SourceHandler::Perl'=> '3.23',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
+            'TAP::Parser::Utils'    => '3.23',
+            'TAP::Parser::YAMLish::Reader'=> '3.23',
+            'TAP::Parser::YAMLish::Writer'=> '3.23',
+            'Test::Builder'         => '0.98',
+            'Test::Builder::Module' => '0.98',
+            'Test::Builder::Tester' => '1.22',
+            'Test::Builder::Tester::Color'=> '1.22',
+            'Test::Harness'         => '3.23',
+            'Test::More'            => '0.98',
+            'Test::Simple'          => '0.98',
+            'Tie::Hash::NamedCapture'=> '0.08',
+            'Tie::RefHash'          => '1.39',
+            'Unicode::Collate'      => '0.73',
+            'Unicode::Collate::Locale'=> '0.73',
+            'Unicode::UCD'          => '0.32',
+            'XS::Typemap'           => '0.05',
+            'attributes'            => '0.14',
+            'base'                  => '2.16',
+            'inc::latest'           => '0.3800',
+            'mro'                   => '1.07',
+            'parent'                => '0.225',
+        },
+        removed => {
+        }
     },
-    5.014000 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.23',
-	'App::Prove::State'     => '3.23',
-	'App::Prove::State::Result'=> '3.23',
-	'App::Prove::State::Result::Test'=> '3.23',
-	'Archive::Extract'      => '0.48',
-	'Archive::Tar'          => '1.76',
-	'Archive::Tar::Constant'=> '1.76',
-	'Archive::Tar::File'    => '1.76',
-	'Attribute::Handlers'   => '0.89',
-	'AutoLoader'            => '5.71',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.29',
-	'B::Concise'            => '0.83',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '1.03',
-	'B::Lint'               => '1.13',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.03',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.12',
-	'CGI'                   => '3.52',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.51',
-	'CGI::Cookie'           => '1.30',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.05',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.51',
-	'CPAN'                  => '1.9600',
-	'CPAN::Author'          => '5.5001',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5001',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9602',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.001',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.01',
-	'CPAN::FirstTime'       => '5.5303',
-	'CPAN::HTTP::Client'    => '1.9600',
-	'CPAN::HTTP::Credentials'=> '1.9600',
-	'CPAN::HandleConfig'    => '5.5003',
-	'CPAN::Index'           => '1.9600',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.9600',
-	'CPAN::Meta'            => '2.110440',
-	'CPAN::Meta::Converter' => '2.110440',
-	'CPAN::Meta::Feature'   => '2.110440',
-	'CPAN::Meta::History'   => '2.110440',
-	'CPAN::Meta::Prereqs'   => '2.110440',
-	'CPAN::Meta::Spec'      => '2.110440',
-	'CPAN::Meta::Validator' => '2.110440',
-	'CPAN::Meta::YAML'      => '0.003',
-	'CPAN::Mirrors'         => '1.9600',
-	'CPAN::Module'          => '5.5001',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5002',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9103',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.54',
-	'CPANPLUS::Dist::Build::Constants'=> '0.54',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9103',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9103',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.20',
-	'Carp::Heavy'           => '1.20',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.033',
-	'Compress::Raw::Zlib'   => '2.033',
-	'Compress::Zlib'        => '2.033',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.36',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.04',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.821',
-	'Data::Dumper'          => '2.130_02',
-	'Devel::DProf'          => '20110228.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.07',
-	'Devel::SelfStubber'    => '1.05',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.61',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.04',
-	'Dumpvalue'             => '1.16',
-	'DynaLoader'            => '1.13',
-	'Encode'                => '2.42',
-	'Encode::Alias'         => '2.13',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.13',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.02',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.280203',
-	'ExtUtils::CBuilder::Base'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
-	'ExtUtils::Command'     => '1.17',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.23',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.08',
-	'ExtUtils::Constant::Utils'=> '0.03',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.30',
-	'ExtUtils::Install'     => '1.56',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2210',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.1001',
-	'Fcntl'                 => '1.11',
-	'File::Basename'        => '2.82',
-	'File::CheckTree'       => '4.41',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.21',
-	'File::DosGlob'         => '1.04',
-	'File::Fetch'           => '0.32',
-	'File::Find'            => '1.19',
-	'File::Glob'            => '1.12',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.34',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.34',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.05',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.86',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.14',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'HTTP::Tiny'            => '0.012',
-	'Hash::Util'            => '0.11',
-	'Hash::Util::FieldHash' => '1.09',
-	'I18N::Collate'         => '1.02',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.05',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.08',
-	'IO'                    => '1.25_04',
-	'IO::Compress::Adapter::Bzip2'=> '2.033',
-	'IO::Compress::Adapter::Deflate'=> '2.033',
-	'IO::Compress::Adapter::Identity'=> '2.033',
-	'IO::Compress::Base'    => '2.033',
-	'IO::Compress::Base::Common'=> '2.033',
-	'IO::Compress::Bzip2'   => '2.033',
-	'IO::Compress::Deflate' => '2.033',
-	'IO::Compress::Gzip'    => '2.033',
-	'IO::Compress::Gzip::Constants'=> '2.033',
-	'IO::Compress::RawDeflate'=> '2.033',
-	'IO::Compress::Zip'     => '2.033',
-	'IO::Compress::Zip::Constants'=> '2.033',
-	'IO::Compress::Zlib::Constants'=> '2.033',
-	'IO::Compress::Zlib::Extra'=> '2.033',
-	'IO::Dir'               => '1.08',
-	'IO::File'              => '1.15',
-	'IO::Handle'            => '1.31',
-	'IO::Pipe'              => '1.14',
-	'IO::Poll'              => '0.08',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.20',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
-	'IO::Uncompress::Adapter::Identity'=> '2.033',
-	'IO::Uncompress::Adapter::Inflate'=> '2.033',
-	'IO::Uncompress::AnyInflate'=> '2.033',
-	'IO::Uncompress::AnyUncompress'=> '2.033',
-	'IO::Uncompress::Base'  => '2.033',
-	'IO::Uncompress::Bunzip2'=> '2.033',
-	'IO::Uncompress::Gunzip'=> '2.033',
-	'IO::Uncompress::Inflate'=> '2.033',
-	'IO::Uncompress::RawInflate'=> '2.033',
-	'IO::Uncompress::Unzip' => '2.033',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.70',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.09',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'JSON::PP'              => '2.27105',
-	'JSON::PP::Boolean'     => undef,
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.16',
-	'Locale::Codes::Country'=> '3.16',
-	'Locale::Codes::Currency'=> '3.16',
-	'Locale::Codes::Language'=> '3.16',
-	'Locale::Codes::Script' => '3.16',
-	'Locale::Constants'     => '3.16',
-	'Locale::Country'       => '3.16',
-	'Locale::Currency'      => '3.16',
-	'Locale::Language'      => '3.16',
-	'Locale::Maketext'      => '1.19',
-	'Locale::Maketext::Guts'=> '1.17',
-	'Locale::Maketext::GutsLoader'=> '1.17',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.16',
-	'Log::Message'          => '0.04',
-	'Log::Message::Config'  => '0.04',
-	'Log::Message::Handlers'=> '0.04',
-	'Log::Message::Item'    => '0.04',
-	'Log::Message::Simple'  => '0.08',
-	'MIME::Base64'          => '3.13',
-	'MIME::QuotedPrint'     => '3.13',
-	'Math::BigFloat'        => '1.993',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.994',
-	'Math::BigInt::Calc'    => '1.993',
-	'Math::BigInt::CalcEmu' => '1.993',
-	'Math::BigInt::FastCalc'=> '0.28',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26_02',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.02',
-	'Memoize::AnyDBM_File'  => '1.02',
-	'Memoize::Expire'       => '1.02',
-	'Memoize::ExpireFile'   => '1.02',
-	'Memoize::ExpireTest'   => '1.02',
-	'Memoize::NDBM_File'    => '1.02',
-	'Memoize::SDBM_File'    => '1.02',
-	'Memoize::Storable'     => '1.02',
-	'Module::Build'         => '0.3800',
-	'Module::Build::Base'   => '0.3800',
-	'Module::Build::Compat' => '0.3800',
-	'Module::Build::Config' => '0.3800',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3800',
-	'Module::Build::Dumper' => '0.3800',
-	'Module::Build::ModuleInfo'=> '0.3800',
-	'Module::Build::Notes'  => '0.3800',
-	'Module::Build::PPMMaker'=> '0.3800',
-	'Module::Build::Platform::Amiga'=> '0.3800',
-	'Module::Build::Platform::Default'=> '0.3800',
-	'Module::Build::Platform::EBCDIC'=> '0.3800',
-	'Module::Build::Platform::MPEiX'=> '0.3800',
-	'Module::Build::Platform::MacOS'=> '0.3800',
-	'Module::Build::Platform::RiscOS'=> '0.3800',
-	'Module::Build::Platform::Unix'=> '0.3800',
-	'Module::Build::Platform::VMS'=> '0.3800',
-	'Module::Build::Platform::VOS'=> '0.3800',
-	'Module::Build::Platform::Windows'=> '0.3800',
-	'Module::Build::Platform::aix'=> '0.3800',
-	'Module::Build::Platform::cygwin'=> '0.3800',
-	'Module::Build::Platform::darwin'=> '0.3800',
-	'Module::Build::Platform::os2'=> '0.3800',
-	'Module::Build::PodParser'=> '0.3800',
-	'Module::Build::Version'=> '0.87',
-	'Module::Build::YAML'   => '1.41',
-	'Module::CoreList'      => '2.49',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.44',
-	'Module::Loaded'        => '0.06',
-	'Module::Metadata'      => '1.000004',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.12',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.38',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.10',
-	'Object::Accessor'      => '0.38',
-	'Opcode'                => '1.18',
-	'POSIX'                 => '1.24',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.28',
-	'Parse::CPAN::Meta'     => '1.4401',
-	'Perl::OSType'          => '1.002',
-	'PerlIO'                => '1.07',
-	'PerlIO::encoding'      => '0.14',
-	'PerlIO::scalar'        => '0.11',
-	'PerlIO::via'           => '0.11',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.11',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.59',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_03',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.16',
-	'Pod::Simple::BlackBox' => '3.16',
-	'Pod::Simple::Checker'  => '3.16',
-	'Pod::Simple::Debug'    => '3.16',
-	'Pod::Simple::DumpAsText'=> '3.16',
-	'Pod::Simple::DumpAsXML'=> '3.16',
-	'Pod::Simple::HTML'     => '3.16',
-	'Pod::Simple::HTMLBatch'=> '3.16',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.16',
-	'Pod::Simple::Methody'  => '3.16',
-	'Pod::Simple::Progress' => '3.16',
-	'Pod::Simple::PullParser'=> '3.16',
-	'Pod::Simple::PullParserEndToken'=> '3.16',
-	'Pod::Simple::PullParserStartToken'=> '3.16',
-	'Pod::Simple::PullParserTextToken'=> '3.16',
-	'Pod::Simple::PullParserToken'=> '3.16',
-	'Pod::Simple::RTF'      => '3.16',
-	'Pod::Simple::Search'   => '3.16',
-	'Pod::Simple::SimpleTree'=> '3.16',
-	'Pod::Simple::Text'     => '3.16',
-	'Pod::Simple::TextContent'=> '3.16',
-	'Pod::Simple::TiedOutFH'=> '3.16',
-	'Pod::Simple::Transcode'=> '3.16',
-	'Pod::Simple::TranscodeDumb'=> '3.16',
-	'Pod::Simple::TranscodeSmart'=> '3.16',
-	'Pod::Simple::XHTML'    => '3.16',
-	'Pod::Simple::XMLOutStream'=> '3.16',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.09',
-	'Safe'                  => '2.29',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.18',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.94',
-	'Storable'              => '2.27',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.16',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.23',
-	'TAP::Formatter::Base'  => '3.23',
-	'TAP::Formatter::Color' => '3.23',
-	'TAP::Formatter::Console'=> '3.23',
-	'TAP::Formatter::Console::ParallelSession'=> '3.23',
-	'TAP::Formatter::Console::Session'=> '3.23',
-	'TAP::Formatter::File'  => '3.23',
-	'TAP::Formatter::File::Session'=> '3.23',
-	'TAP::Formatter::Session'=> '3.23',
-	'TAP::Harness'          => '3.23',
-	'TAP::Object'           => '3.23',
-	'TAP::Parser'           => '3.23',
-	'TAP::Parser::Aggregator'=> '3.23',
-	'TAP::Parser::Grammar'  => '3.23',
-	'TAP::Parser::Iterator' => '3.23',
-	'TAP::Parser::Iterator::Array'=> '3.23',
-	'TAP::Parser::Iterator::Process'=> '3.23',
-	'TAP::Parser::Iterator::Stream'=> '3.23',
-	'TAP::Parser::IteratorFactory'=> '3.23',
-	'TAP::Parser::Multiplexer'=> '3.23',
-	'TAP::Parser::Result'   => '3.23',
-	'TAP::Parser::Result::Bailout'=> '3.23',
-	'TAP::Parser::Result::Comment'=> '3.23',
-	'TAP::Parser::Result::Plan'=> '3.23',
-	'TAP::Parser::Result::Pragma'=> '3.23',
-	'TAP::Parser::Result::Test'=> '3.23',
-	'TAP::Parser::Result::Unknown'=> '3.23',
-	'TAP::Parser::Result::Version'=> '3.23',
-	'TAP::Parser::Result::YAML'=> '3.23',
-	'TAP::Parser::ResultFactory'=> '3.23',
-	'TAP::Parser::Scheduler'=> '3.23',
-	'TAP::Parser::Scheduler::Job'=> '3.23',
-	'TAP::Parser::Scheduler::Spinner'=> '3.23',
-	'TAP::Parser::Source'   => '3.23',
-	'TAP::Parser::SourceHandler'=> '3.23',
-	'TAP::Parser::SourceHandler::Executable'=> '3.23',
-	'TAP::Parser::SourceHandler::File'=> '3.23',
-	'TAP::Parser::SourceHandler::Handle'=> '3.23',
-	'TAP::Parser::SourceHandler::Perl'=> '3.23',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
-	'TAP::Parser::Utils'    => '3.23',
-	'TAP::Parser::YAMLish::Reader'=> '3.23',
-	'TAP::Parser::YAMLish::Writer'=> '3.23',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.26',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.98',
-	'Test::Builder::Module' => '0.98',
-	'Test::Builder::Tester' => '1.22',
-	'Test::Builder::Tester::Color'=> '1.22',
-	'Test::Harness'         => '3.23',
-	'Test::More'            => '0.98',
-	'Test::Simple'          => '0.98',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.12',
-	'Thread::Semaphore'     => '2.12',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.08',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.39',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721_01',
-	'Time::Local'           => '1.2000',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.08',
-	'Unicode'               => '6.0.0',
-	'Unicode::Collate'      => '0.73',
-	'Unicode::Collate::CJK::Big5'=> '0.65',
-	'Unicode::Collate::CJK::GB2312'=> '0.65',
-	'Unicode::Collate::CJK::JISX0208'=> '0.64',
-	'Unicode::Collate::CJK::Korean'=> '0.66',
-	'Unicode::Collate::CJK::Pinyin'=> '0.65',
-	'Unicode::Collate::CJK::Stroke'=> '0.65',
-	'Unicode::Collate::Locale'=> '0.73',
-	'Unicode::Normalize'    => '1.10',
-	'Unicode::UCD'          => '0.32',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.05',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Version::Requirements' => '0.101020',
-	'Win32'                 => '0.44',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.28',
-	'XS::Typemap'           => '0.05',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.14',
-	'autodie'               => '2.1001',
-	'autodie::exception'    => '2.1001',
-	'autodie::exception::system'=> '2.1001',
-	'autodie::hints'        => '2.1001',
-	'autouse'               => '1.06',
-	'base'                  => '2.16',
-	'bigint'                => '0.27',
-	'bignum'                => '0.27',
-	'bigrat'                => '0.28',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.18',
-	'constant'              => '1.21',
-	'deprecate'             => '0.02',
-	'diagnostics'           => '1.22',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.20',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.0601',
-	'inc::latest'           => '0.3800',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.07',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.13',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.225',
-	're'                    => '0.18',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.83',
-	'threads::shared'       => '1.37',
-	'utf8'                  => '1.09',
-	'vars'                  => '1.02',
-	'version'               => '0.88',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.12',
-	'warnings::register'    => '1.02',
+    5.014 => {
+        delta_from => 5.013011,
+        changed => {
+            'ExtUtils::CBuilder'    => '0.280203',
+            'ExtUtils::CBuilder::Base'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
+            'ExtUtils::ParseXS'     => '2.2210',
+            'File::Basename'        => '2.82',
+            'HTTP::Tiny'            => '0.012',
+            'IO::Handle'            => '1.31',
+            'Module::CoreList'      => '2.49',
+            'PerlIO'                => '1.07',
+            'Pod::Html'             => '1.11',
+            'XS::APItest'           => '0.28',
+            'bigint'                => '0.27',
+            'bignum'                => '0.27',
+            'bigrat'                => '0.28',
+            'constant'              => '1.21',
+            'feature'               => '1.20',
+            're'                    => '0.18',
+            'threads::shared'       => '1.37',
+        },
+        removed => {
+        }
     },
     5.014001 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.23',
-	'App::Prove::State'     => '3.23',
-	'App::Prove::State::Result'=> '3.23',
-	'App::Prove::State::Result::Test'=> '3.23',
-	'Archive::Extract'      => '0.48',
-	'Archive::Tar'          => '1.76',
-	'Archive::Tar::Constant'=> '1.76',
-	'Archive::Tar::File'    => '1.76',
-	'Attribute::Handlers'   => '0.89',
-	'AutoLoader'            => '5.71',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.29',
-	'B::Concise'            => '0.83',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '1.04',
-	'B::Lint'               => '1.13',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.03',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.12',
-	'CGI'                   => '3.52',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.51',
-	'CGI::Cookie'           => '1.30',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.05',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.51',
-	'CPAN'                  => '1.9600',
-	'CPAN::Author'          => '5.5001',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5001',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9602',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.001',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.01',
-	'CPAN::FirstTime'       => '5.5303',
-	'CPAN::HTTP::Client'    => '1.9600',
-	'CPAN::HTTP::Credentials'=> '1.9600',
-	'CPAN::HandleConfig'    => '5.5003',
-	'CPAN::Index'           => '1.9600',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.9600',
-	'CPAN::Meta'            => '2.110440',
-	'CPAN::Meta::Converter' => '2.110440',
-	'CPAN::Meta::Feature'   => '2.110440',
-	'CPAN::Meta::History'   => '2.110440',
-	'CPAN::Meta::Prereqs'   => '2.110440',
-	'CPAN::Meta::Spec'      => '2.110440',
-	'CPAN::Meta::Validator' => '2.110440',
-	'CPAN::Meta::YAML'      => '0.003',
-	'CPAN::Mirrors'         => '1.9600',
-	'CPAN::Module'          => '5.5001',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5002',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9103',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.54',
-	'CPANPLUS::Dist::Build::Constants'=> '0.54',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9103',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9103',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.20',
-	'Carp::Heavy'           => '1.20',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.033',
-	'Compress::Raw::Zlib'   => '2.033',
-	'Compress::Zlib'        => '2.033',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.36',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.04',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.821',
-	'Data::Dumper'          => '2.130_02',
-	'Devel::DProf'          => '20110228.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.07',
-	'Devel::SelfStubber'    => '1.05',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.61',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.04',
-	'Dumpvalue'             => '1.16',
-	'DynaLoader'            => '1.13',
-	'Encode'                => '2.42',
-	'Encode::Alias'         => '2.13',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.13',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.02',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.280203',
-	'ExtUtils::CBuilder::Base'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
-	'ExtUtils::Command'     => '1.17',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.23',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.08',
-	'ExtUtils::Constant::Utils'=> '0.03',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.30',
-	'ExtUtils::Install'     => '1.56',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2210',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.1001',
-	'Fcntl'                 => '1.11',
-	'File::Basename'        => '2.82',
-	'File::CheckTree'       => '4.41',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.21',
-	'File::DosGlob'         => '1.04',
-	'File::Fetch'           => '0.32',
-	'File::Find'            => '1.19',
-	'File::Glob'            => '1.12',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.34',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.34',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.05',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.86',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.14',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'HTTP::Tiny'            => '0.012',
-	'Hash::Util'            => '0.11',
-	'Hash::Util::FieldHash' => '1.09',
-	'I18N::Collate'         => '1.02',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.05',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.08',
-	'IO'                    => '1.25_04',
-	'IO::Compress::Adapter::Bzip2'=> '2.033',
-	'IO::Compress::Adapter::Deflate'=> '2.033',
-	'IO::Compress::Adapter::Identity'=> '2.033',
-	'IO::Compress::Base'    => '2.033',
-	'IO::Compress::Base::Common'=> '2.033',
-	'IO::Compress::Bzip2'   => '2.033',
-	'IO::Compress::Deflate' => '2.033',
-	'IO::Compress::Gzip'    => '2.033',
-	'IO::Compress::Gzip::Constants'=> '2.033',
-	'IO::Compress::RawDeflate'=> '2.033',
-	'IO::Compress::Zip'     => '2.033',
-	'IO::Compress::Zip::Constants'=> '2.033',
-	'IO::Compress::Zlib::Constants'=> '2.033',
-	'IO::Compress::Zlib::Extra'=> '2.033',
-	'IO::Dir'               => '1.08',
-	'IO::File'              => '1.15',
-	'IO::Handle'            => '1.31',
-	'IO::Pipe'              => '1.14',
-	'IO::Poll'              => '0.08',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.20',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
-	'IO::Uncompress::Adapter::Identity'=> '2.033',
-	'IO::Uncompress::Adapter::Inflate'=> '2.033',
-	'IO::Uncompress::AnyInflate'=> '2.033',
-	'IO::Uncompress::AnyUncompress'=> '2.033',
-	'IO::Uncompress::Base'  => '2.033',
-	'IO::Uncompress::Bunzip2'=> '2.033',
-	'IO::Uncompress::Gunzip'=> '2.033',
-	'IO::Uncompress::Inflate'=> '2.033',
-	'IO::Uncompress::RawInflate'=> '2.033',
-	'IO::Uncompress::Unzip' => '2.033',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.70',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.09',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'JSON::PP'              => '2.27105',
-	'JSON::PP::Boolean'     => undef,
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.16',
-	'Locale::Codes::Country'=> '3.16',
-	'Locale::Codes::Currency'=> '3.16',
-	'Locale::Codes::Language'=> '3.16',
-	'Locale::Codes::Script' => '3.16',
-	'Locale::Constants'     => '3.16',
-	'Locale::Country'       => '3.16',
-	'Locale::Currency'      => '3.16',
-	'Locale::Language'      => '3.16',
-	'Locale::Maketext'      => '1.19',
-	'Locale::Maketext::Guts'=> '1.17',
-	'Locale::Maketext::GutsLoader'=> '1.17',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.16',
-	'Log::Message'          => '0.04',
-	'Log::Message::Config'  => '0.04',
-	'Log::Message::Handlers'=> '0.04',
-	'Log::Message::Item'    => '0.04',
-	'Log::Message::Simple'  => '0.08',
-	'MIME::Base64'          => '3.13',
-	'MIME::QuotedPrint'     => '3.13',
-	'Math::BigFloat'        => '1.993',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.994',
-	'Math::BigInt::Calc'    => '1.993',
-	'Math::BigInt::CalcEmu' => '1.993',
-	'Math::BigInt::FastCalc'=> '0.28',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26_02',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.02',
-	'Memoize::AnyDBM_File'  => '1.02',
-	'Memoize::Expire'       => '1.02',
-	'Memoize::ExpireFile'   => '1.02',
-	'Memoize::ExpireTest'   => '1.02',
-	'Memoize::NDBM_File'    => '1.02',
-	'Memoize::SDBM_File'    => '1.02',
-	'Memoize::Storable'     => '1.02',
-	'Module::Build'         => '0.3800',
-	'Module::Build::Base'   => '0.3800',
-	'Module::Build::Compat' => '0.3800',
-	'Module::Build::Config' => '0.3800',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3800',
-	'Module::Build::Dumper' => '0.3800',
-	'Module::Build::ModuleInfo'=> '0.3800',
-	'Module::Build::Notes'  => '0.3800',
-	'Module::Build::PPMMaker'=> '0.3800',
-	'Module::Build::Platform::Amiga'=> '0.3800',
-	'Module::Build::Platform::Default'=> '0.3800',
-	'Module::Build::Platform::EBCDIC'=> '0.3800',
-	'Module::Build::Platform::MPEiX'=> '0.3800',
-	'Module::Build::Platform::MacOS'=> '0.3800',
-	'Module::Build::Platform::RiscOS'=> '0.3800',
-	'Module::Build::Platform::Unix'=> '0.3800',
-	'Module::Build::Platform::VMS'=> '0.3800',
-	'Module::Build::Platform::VOS'=> '0.3800',
-	'Module::Build::Platform::Windows'=> '0.3800',
-	'Module::Build::Platform::aix'=> '0.3800',
-	'Module::Build::Platform::cygwin'=> '0.3800',
-	'Module::Build::Platform::darwin'=> '0.3800',
-	'Module::Build::Platform::os2'=> '0.3800',
-	'Module::Build::PodParser'=> '0.3800',
-	'Module::Build::Version'=> '0.87',
-	'Module::Build::YAML'   => '1.41',
-	'Module::CoreList'      => '2.49_01',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.44',
-	'Module::Loaded'        => '0.06',
-	'Module::Metadata'      => '1.000004',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.12',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.38',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.10',
-	'Object::Accessor'      => '0.38',
-	'Opcode'                => '1.18',
-	'POSIX'                 => '1.24',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.28',
-	'Parse::CPAN::Meta'     => '1.4401',
-	'Perl::OSType'          => '1.002',
-	'PerlIO'                => '1.07',
-	'PerlIO::encoding'      => '0.14',
-	'PerlIO::scalar'        => '0.11',
-	'PerlIO::via'           => '0.11',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.11',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.59',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_04',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.16',
-	'Pod::Simple::BlackBox' => '3.16',
-	'Pod::Simple::Checker'  => '3.16',
-	'Pod::Simple::Debug'    => '3.16',
-	'Pod::Simple::DumpAsText'=> '3.16',
-	'Pod::Simple::DumpAsXML'=> '3.16',
-	'Pod::Simple::HTML'     => '3.16',
-	'Pod::Simple::HTMLBatch'=> '3.16',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.16',
-	'Pod::Simple::Methody'  => '3.16',
-	'Pod::Simple::Progress' => '3.16',
-	'Pod::Simple::PullParser'=> '3.16',
-	'Pod::Simple::PullParserEndToken'=> '3.16',
-	'Pod::Simple::PullParserStartToken'=> '3.16',
-	'Pod::Simple::PullParserTextToken'=> '3.16',
-	'Pod::Simple::PullParserToken'=> '3.16',
-	'Pod::Simple::RTF'      => '3.16',
-	'Pod::Simple::Search'   => '3.16',
-	'Pod::Simple::SimpleTree'=> '3.16',
-	'Pod::Simple::Text'     => '3.16',
-	'Pod::Simple::TextContent'=> '3.16',
-	'Pod::Simple::TiedOutFH'=> '3.16',
-	'Pod::Simple::Transcode'=> '3.16',
-	'Pod::Simple::TranscodeDumb'=> '3.16',
-	'Pod::Simple::TranscodeSmart'=> '3.16',
-	'Pod::Simple::XHTML'    => '3.16',
-	'Pod::Simple::XMLOutStream'=> '3.16',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.09',
-	'Safe'                  => '2.29',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.18',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.94',
-	'Storable'              => '2.27',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.16',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.23',
-	'TAP::Formatter::Base'  => '3.23',
-	'TAP::Formatter::Color' => '3.23',
-	'TAP::Formatter::Console'=> '3.23',
-	'TAP::Formatter::Console::ParallelSession'=> '3.23',
-	'TAP::Formatter::Console::Session'=> '3.23',
-	'TAP::Formatter::File'  => '3.23',
-	'TAP::Formatter::File::Session'=> '3.23',
-	'TAP::Formatter::Session'=> '3.23',
-	'TAP::Harness'          => '3.23',
-	'TAP::Object'           => '3.23',
-	'TAP::Parser'           => '3.23',
-	'TAP::Parser::Aggregator'=> '3.23',
-	'TAP::Parser::Grammar'  => '3.23',
-	'TAP::Parser::Iterator' => '3.23',
-	'TAP::Parser::Iterator::Array'=> '3.23',
-	'TAP::Parser::Iterator::Process'=> '3.23',
-	'TAP::Parser::Iterator::Stream'=> '3.23',
-	'TAP::Parser::IteratorFactory'=> '3.23',
-	'TAP::Parser::Multiplexer'=> '3.23',
-	'TAP::Parser::Result'   => '3.23',
-	'TAP::Parser::Result::Bailout'=> '3.23',
-	'TAP::Parser::Result::Comment'=> '3.23',
-	'TAP::Parser::Result::Plan'=> '3.23',
-	'TAP::Parser::Result::Pragma'=> '3.23',
-	'TAP::Parser::Result::Test'=> '3.23',
-	'TAP::Parser::Result::Unknown'=> '3.23',
-	'TAP::Parser::Result::Version'=> '3.23',
-	'TAP::Parser::Result::YAML'=> '3.23',
-	'TAP::Parser::ResultFactory'=> '3.23',
-	'TAP::Parser::Scheduler'=> '3.23',
-	'TAP::Parser::Scheduler::Job'=> '3.23',
-	'TAP::Parser::Scheduler::Spinner'=> '3.23',
-	'TAP::Parser::Source'   => '3.23',
-	'TAP::Parser::SourceHandler'=> '3.23',
-	'TAP::Parser::SourceHandler::Executable'=> '3.23',
-	'TAP::Parser::SourceHandler::File'=> '3.23',
-	'TAP::Parser::SourceHandler::Handle'=> '3.23',
-	'TAP::Parser::SourceHandler::Perl'=> '3.23',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
-	'TAP::Parser::Utils'    => '3.23',
-	'TAP::Parser::YAMLish::Reader'=> '3.23',
-	'TAP::Parser::YAMLish::Writer'=> '3.23',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.26',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.98',
-	'Test::Builder::Module' => '0.98',
-	'Test::Builder::Tester' => '1.22',
-	'Test::Builder::Tester::Color'=> '1.22',
-	'Test::Harness'         => '3.23',
-	'Test::More'            => '0.98',
-	'Test::Simple'          => '0.98',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.12',
-	'Thread::Semaphore'     => '2.12',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.08',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.39',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721_01',
-	'Time::Local'           => '1.2000',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.08',
-	'Unicode'               => '6.0.0',
-	'Unicode::Collate'      => '0.73',
-	'Unicode::Collate::CJK::Big5'=> '0.65',
-	'Unicode::Collate::CJK::GB2312'=> '0.65',
-	'Unicode::Collate::CJK::JISX0208'=> '0.64',
-	'Unicode::Collate::CJK::Korean'=> '0.66',
-	'Unicode::Collate::CJK::Pinyin'=> '0.65',
-	'Unicode::Collate::CJK::Stroke'=> '0.65',
-	'Unicode::Collate::Locale'=> '0.73',
-	'Unicode::Normalize'    => '1.10',
-	'Unicode::UCD'          => '0.32',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.05',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Version::Requirements' => '0.101020',
-	'Win32'                 => '0.44',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.28',
-	'XS::Typemap'           => '0.05',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.14',
-	'autodie'               => '2.1001',
-	'autodie::exception'    => '2.1001',
-	'autodie::exception::system'=> '2.1001',
-	'autodie::hints'        => '2.1001',
-	'autouse'               => '1.06',
-	'base'                  => '2.16',
-	'bigint'                => '0.27',
-	'bignum'                => '0.27',
-	'bigrat'                => '0.28',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.18',
-	'constant'              => '1.21',
-	'deprecate'             => '0.02',
-	'diagnostics'           => '1.22',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.20',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.0601',
-	'inc::latest'           => '0.3800',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.07',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.13',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.225',
-	're'                    => '0.18',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.83',
-	'threads::shared'       => '1.37',
-	'utf8'                  => '1.09',
-	'vars'                  => '1.02',
-	'version'               => '0.88',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.12',
-	'warnings::register'    => '1.02',
+        delta_from => 5.014,
+        changed => {
+            'B::Deparse'            => '1.04',
+            'Module::CoreList'      => '2.49_01',
+            'Pod::Perldoc'          => '3.15_04',
+        },
+        removed => {
+        }
     },
     5.014002 => {
-	'AnyDBM_File'           => '1.00',
-	'App::Cpan'             => '1.5701',
-	'App::Prove'            => '3.23',
-	'App::Prove::State'     => '3.23',
-	'App::Prove::State::Result'=> '3.23',
-	'App::Prove::State::Result::Test'=> '3.23',
-	'Archive::Extract'      => '0.48',
-	'Archive::Tar'          => '1.76',
-	'Archive::Tar::Constant'=> '1.76',
-	'Archive::Tar::File'    => '1.76',
-	'Attribute::Handlers'   => '0.89',
-	'AutoLoader'            => '5.71',
-	'AutoSplit'             => '1.06',
-	'B'                     => '1.29',
-	'B::Concise'            => '0.83',
-	'B::Debug'              => '1.16',
-	'B::Deparse'            => '1.04',
-	'B::Lint'               => '1.13',
-	'B::Lint::Debug'        => '1.12',
-	'B::Showlex'            => '1.03',
-	'B::Terse'              => '1.05',
-	'B::Xref'               => '1.02',
-	'Benchmark'             => '1.12',
-	'CGI'                   => '3.52',
-	'CGI::Apache'           => '1.01',
-	'CGI::Carp'             => '3.51',
-	'CGI::Cookie'           => '1.30',
-	'CGI::Fast'             => '1.08',
-	'CGI::Pretty'           => '3.46',
-	'CGI::Push'             => '1.05',
-	'CGI::Switch'           => '1.01',
-	'CGI::Util'             => '3.51',
-	'CPAN'                  => '1.9600_01',
-	'CPAN::Author'          => '5.5001',
-	'CPAN::Bundle'          => '5.5',
-	'CPAN::CacheMgr'        => '5.5001',
-	'CPAN::Complete'        => '5.5',
-	'CPAN::Debug'           => '5.5001',
-	'CPAN::DeferredCode'    => '5.50',
-	'CPAN::Distribution'    => '1.9602_01',
-	'CPAN::Distroprefs'     => '6',
-	'CPAN::Distrostatus'    => '5.5',
-	'CPAN::Exception::RecursiveDependency'=> '5.5',
-	'CPAN::Exception::blocked_urllist'=> '1.001',
-	'CPAN::Exception::yaml_not_installed'=> '5.5',
-	'CPAN::FTP'             => '5.5005',
-	'CPAN::FTP::netrc'      => '1.01',
-	'CPAN::FirstTime'       => '5.5303',
-	'CPAN::HTTP::Client'    => '1.9600',
-	'CPAN::HTTP::Credentials'=> '1.9600',
-	'CPAN::HandleConfig'    => '5.5003',
-	'CPAN::Index'           => '1.9600',
-	'CPAN::InfoObj'         => '5.5',
-	'CPAN::Kwalify'         => '5.50',
-	'CPAN::LWP::UserAgent'  => '1.9600',
-	'CPAN::Meta'            => '2.110440',
-	'CPAN::Meta::Converter' => '2.110440',
-	'CPAN::Meta::Feature'   => '2.110440',
-	'CPAN::Meta::History'   => '2.110440',
-	'CPAN::Meta::Prereqs'   => '2.110440',
-	'CPAN::Meta::Spec'      => '2.110440',
-	'CPAN::Meta::Validator' => '2.110440',
-	'CPAN::Meta::YAML'      => '0.003',
-	'CPAN::Mirrors'         => '1.9600',
-	'CPAN::Module'          => '5.5001',
-	'CPAN::Nox'             => '5.50',
-	'CPAN::Prompt'          => '5.5',
-	'CPAN::Queue'           => '5.5001',
-	'CPAN::Shell'           => '5.5002',
-	'CPAN::Tarzip'          => '5.5011',
-	'CPAN::URL'             => '5.5',
-	'CPAN::Version'         => '5.5001',
-	'CPANPLUS'              => '0.9103',
-	'CPANPLUS::Backend'     => undef,
-	'CPANPLUS::Backend::RV' => undef,
-	'CPANPLUS::Config'      => undef,
-	'CPANPLUS::Configure'   => undef,
-	'CPANPLUS::Configure::Setup'=> undef,
-	'CPANPLUS::Dist'        => undef,
-	'CPANPLUS::Dist::Autobundle'=> undef,
-	'CPANPLUS::Dist::Base'  => undef,
-	'CPANPLUS::Dist::Build' => '0.54',
-	'CPANPLUS::Dist::Build::Constants'=> '0.54',
-	'CPANPLUS::Dist::MM'    => undef,
-	'CPANPLUS::Dist::Sample'=> undef,
-	'CPANPLUS::Error'       => undef,
-	'CPANPLUS::Internals'   => '0.9103',
-	'CPANPLUS::Internals::Constants'=> undef,
-	'CPANPLUS::Internals::Constants::Report'=> undef,
-	'CPANPLUS::Internals::Extract'=> undef,
-	'CPANPLUS::Internals::Fetch'=> undef,
-	'CPANPLUS::Internals::Report'=> undef,
-	'CPANPLUS::Internals::Search'=> undef,
-	'CPANPLUS::Internals::Source'=> undef,
-	'CPANPLUS::Internals::Source::Memory'=> undef,
-	'CPANPLUS::Internals::Source::SQLite'=> undef,
-	'CPANPLUS::Internals::Source::SQLite::Tie'=> undef,
-	'CPANPLUS::Internals::Utils'=> undef,
-	'CPANPLUS::Internals::Utils::Autoflush'=> undef,
-	'CPANPLUS::Module'      => undef,
-	'CPANPLUS::Module::Author'=> undef,
-	'CPANPLUS::Module::Author::Fake'=> undef,
-	'CPANPLUS::Module::Checksums'=> undef,
-	'CPANPLUS::Module::Fake'=> undef,
-	'CPANPLUS::Module::Signature'=> undef,
-	'CPANPLUS::Selfupdate'  => undef,
-	'CPANPLUS::Shell'       => undef,
-	'CPANPLUS::Shell::Classic'=> '0.0562',
-	'CPANPLUS::Shell::Default'=> '0.9103',
-	'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
-	'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
-	'Carp'                  => '1.20',
-	'Carp::Heavy'           => '1.20',
-	'Class::Struct'         => '0.63',
-	'Compress::Raw::Bzip2'  => '2.033',
-	'Compress::Raw::Zlib'   => '2.033',
-	'Compress::Zlib'        => '2.033',
-	'Config'                => undef,
-	'Config::Extensions'    => '0.01',
-	'Cwd'                   => '3.36',
-	'DB'                    => '1.03',
-	'DBM_Filter'            => '0.04',
-	'DBM_Filter::compress'  => '0.02',
-	'DBM_Filter::encode'    => '0.02',
-	'DBM_Filter::int32'     => '0.02',
-	'DBM_Filter::null'      => '0.02',
-	'DBM_Filter::utf8'      => '0.02',
-	'DB_File'               => '1.821',
-	'Data::Dumper'          => '2.130_02',
-	'Devel::DProf'          => '20110228.00',
-	'Devel::DProf::dprof::V'=> undef,
-	'Devel::InnerPackage'   => '0.3',
-	'Devel::PPPort'         => '3.19',
-	'Devel::Peek'           => '1.07',
-	'Devel::SelfStubber'    => '1.05',
-	'Digest'                => '1.16',
-	'Digest::MD5'           => '2.51',
-	'Digest::SHA'           => '5.61',
-	'Digest::base'          => '1.16',
-	'Digest::file'          => '1.16',
-	'DirHandle'             => '1.04',
-	'Dumpvalue'             => '1.16',
-	'DynaLoader'            => '1.13',
-	'Encode'                => '2.42_01',
-	'Encode::Alias'         => '2.13',
-	'Encode::Byte'          => '2.04',
-	'Encode::CJKConstants'  => '2.02',
-	'Encode::CN'            => '2.03',
-	'Encode::CN::HZ'        => '2.05',
-	'Encode::Config'        => '2.05',
-	'Encode::EBCDIC'        => '2.02',
-	'Encode::Encoder'       => '2.01',
-	'Encode::Encoding'      => '2.05',
-	'Encode::GSM0338'       => '2.01',
-	'Encode::Guess'         => '2.04',
-	'Encode::JP'            => '2.04',
-	'Encode::JP::H2Z'       => '2.02',
-	'Encode::JP::JIS7'      => '2.04',
-	'Encode::KR'            => '2.03',
-	'Encode::KR::2022_KR'   => '2.02',
-	'Encode::MIME::Header'  => '2.13',
-	'Encode::MIME::Header::ISO_2022_JP'=> '1.03',
-	'Encode::MIME::Name'    => '1.01',
-	'Encode::Symbol'        => '2.02',
-	'Encode::TW'            => '2.03',
-	'Encode::Unicode'       => '2.07',
-	'Encode::Unicode::UTF7' => '2.05',
-	'English'               => '1.04',
-	'Env'                   => '1.02',
-	'Errno'                 => '1.13',
-	'Exporter'              => '5.64_03',
-	'Exporter::Heavy'       => '5.64_03',
-	'ExtUtils::CBuilder'    => '0.280203',
-	'ExtUtils::CBuilder::Base'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Unix'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::VMS'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::aix'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::cygwin'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::darwin'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280203',
-	'ExtUtils::CBuilder::Platform::os2'=> '0.280203',
-	'ExtUtils::Command'     => '1.17',
-	'ExtUtils::Command::MM' => '6.57_05',
-	'ExtUtils::Constant'    => '0.23',
-	'ExtUtils::Constant::Base'=> '0.05',
-	'ExtUtils::Constant::ProxySubs'=> '0.08',
-	'ExtUtils::Constant::Utils'=> '0.03',
-	'ExtUtils::Constant::XS'=> '0.03',
-	'ExtUtils::Embed'       => '1.30',
-	'ExtUtils::Install'     => '1.56',
-	'ExtUtils::Installed'   => '1.999_001',
-	'ExtUtils::Liblist'     => '6.57_05',
-	'ExtUtils::Liblist::Kid'=> '6.5705',
-	'ExtUtils::MM'          => '6.57_05',
-	'ExtUtils::MM_AIX'      => '6.57_05',
-	'ExtUtils::MM_Any'      => '6.57_05',
-	'ExtUtils::MM_BeOS'     => '6.57_05',
-	'ExtUtils::MM_Cygwin'   => '6.57_05',
-	'ExtUtils::MM_DOS'      => '6.5705',
-	'ExtUtils::MM_Darwin'   => '6.57_05',
-	'ExtUtils::MM_MacOS'    => '6.5705',
-	'ExtUtils::MM_NW5'      => '6.57_05',
-	'ExtUtils::MM_OS2'      => '6.57_05',
-	'ExtUtils::MM_QNX'      => '6.57_05',
-	'ExtUtils::MM_UWIN'     => '6.5705',
-	'ExtUtils::MM_Unix'     => '6.57_05',
-	'ExtUtils::MM_VMS'      => '6.57_05',
-	'ExtUtils::MM_VOS'      => '6.57_05',
-	'ExtUtils::MM_Win32'    => '6.57_05',
-	'ExtUtils::MM_Win95'    => '6.57_05',
-	'ExtUtils::MY'          => '6.5705',
-	'ExtUtils::MakeMaker'   => '6.57_05',
-	'ExtUtils::MakeMaker::Config'=> '6.57_05',
-	'ExtUtils::MakeMaker::YAML'=> '1.44',
-	'ExtUtils::Manifest'    => '1.58',
-	'ExtUtils::Miniperl'    => undef,
-	'ExtUtils::Mkbootstrap' => '6.57_05',
-	'ExtUtils::Mksymlists'  => '6.57_05',
-	'ExtUtils::Packlist'    => '1.44',
-	'ExtUtils::ParseXS'     => '2.2210',
-	'ExtUtils::XSSymSet'    => '1.2',
-	'ExtUtils::testlib'     => '6.5705',
-	'Fatal'                 => '2.1001',
-	'Fcntl'                 => '1.11',
-	'File::Basename'        => '2.82',
-	'File::CheckTree'       => '4.41',
-	'File::Compare'         => '1.1006',
-	'File::Copy'            => '2.21',
-	'File::DosGlob'         => '1.04',
-	'File::Fetch'           => '0.32',
-	'File::Find'            => '1.19',
-	'File::Glob'            => '1.13',
-	'File::GlobMapper'      => '1.000',
-	'File::Path'            => '2.08_01',
-	'File::Spec'            => '3.33',
-	'File::Spec::Cygwin'    => '3.33',
-	'File::Spec::Epoc'      => '3.33',
-	'File::Spec::Functions' => '3.33',
-	'File::Spec::Mac'       => '3.34',
-	'File::Spec::OS2'       => '3.33',
-	'File::Spec::Unix'      => '3.33',
-	'File::Spec::VMS'       => '3.34',
-	'File::Spec::Win32'     => '3.33',
-	'File::Temp'            => '0.22',
-	'File::stat'            => '1.05',
-	'FileCache'             => '1.08',
-	'FileHandle'            => '2.02',
-	'Filter::Simple'        => '0.86',
-	'Filter::Util::Call'    => '1.08',
-	'FindBin'               => '1.50',
-	'GDBM_File'             => '1.14',
-	'Getopt::Long'          => '2.38',
-	'Getopt::Std'           => '1.06',
-	'HTTP::Tiny'            => '0.012',
-	'Hash::Util'            => '0.11',
-	'Hash::Util::FieldHash' => '1.09',
-	'I18N::Collate'         => '1.02',
-	'I18N::LangTags'        => '0.35_01',
-	'I18N::LangTags::Detect'=> '1.05',
-	'I18N::LangTags::List'  => '0.35_01',
-	'I18N::Langinfo'        => '0.08',
-	'IO'                    => '1.25_04',
-	'IO::Compress::Adapter::Bzip2'=> '2.033',
-	'IO::Compress::Adapter::Deflate'=> '2.033',
-	'IO::Compress::Adapter::Identity'=> '2.033',
-	'IO::Compress::Base'    => '2.033',
-	'IO::Compress::Base::Common'=> '2.033',
-	'IO::Compress::Bzip2'   => '2.033',
-	'IO::Compress::Deflate' => '2.033',
-	'IO::Compress::Gzip'    => '2.033',
-	'IO::Compress::Gzip::Constants'=> '2.033',
-	'IO::Compress::RawDeflate'=> '2.033',
-	'IO::Compress::Zip'     => '2.033',
-	'IO::Compress::Zip::Constants'=> '2.033',
-	'IO::Compress::Zlib::Constants'=> '2.033',
-	'IO::Compress::Zlib::Extra'=> '2.033',
-	'IO::Dir'               => '1.08',
-	'IO::File'              => '1.15',
-	'IO::Handle'            => '1.31',
-	'IO::Pipe'              => '1.14',
-	'IO::Poll'              => '0.08',
-	'IO::Seekable'          => '1.10',
-	'IO::Select'            => '1.20',
-	'IO::Socket'            => '1.32',
-	'IO::Socket::INET'      => '1.31',
-	'IO::Socket::UNIX'      => '1.23',
-	'IO::Uncompress::Adapter::Bunzip2'=> '2.033',
-	'IO::Uncompress::Adapter::Identity'=> '2.033',
-	'IO::Uncompress::Adapter::Inflate'=> '2.033',
-	'IO::Uncompress::AnyInflate'=> '2.033',
-	'IO::Uncompress::AnyUncompress'=> '2.033',
-	'IO::Uncompress::Base'  => '2.033',
-	'IO::Uncompress::Bunzip2'=> '2.033',
-	'IO::Uncompress::Gunzip'=> '2.033',
-	'IO::Uncompress::Inflate'=> '2.033',
-	'IO::Uncompress::RawInflate'=> '2.033',
-	'IO::Uncompress::Unzip' => '2.033',
-	'IO::Zlib'              => '1.10',
-	'IPC::Cmd'              => '0.70',
-	'IPC::Msg'              => '2.03',
-	'IPC::Open2'            => '1.03',
-	'IPC::Open3'            => '1.09',
-	'IPC::Semaphore'        => '2.03',
-	'IPC::SharedMem'        => '2.03',
-	'IPC::SysV'             => '2.03',
-	'JSON::PP'              => '2.27105',
-	'JSON::PP::Boolean'     => undef,
-	'List::Util'            => '1.23',
-	'List::Util::PP'        => '1.23',
-	'List::Util::XS'        => '1.23',
-	'Locale::Codes'         => '3.16',
-	'Locale::Codes::Country'=> '3.16',
-	'Locale::Codes::Currency'=> '3.16',
-	'Locale::Codes::Language'=> '3.16',
-	'Locale::Codes::Script' => '3.16',
-	'Locale::Constants'     => '3.16',
-	'Locale::Country'       => '3.16',
-	'Locale::Currency'      => '3.16',
-	'Locale::Language'      => '3.16',
-	'Locale::Maketext'      => '1.19',
-	'Locale::Maketext::Guts'=> '1.17',
-	'Locale::Maketext::GutsLoader'=> '1.17',
-	'Locale::Maketext::Simple'=> '0.21',
-	'Locale::Script'        => '3.16',
-	'Log::Message'          => '0.04',
-	'Log::Message::Config'  => '0.04',
-	'Log::Message::Handlers'=> '0.04',
-	'Log::Message::Item'    => '0.04',
-	'Log::Message::Simple'  => '0.08',
-	'MIME::Base64'          => '3.13',
-	'MIME::QuotedPrint'     => '3.13',
-	'Math::BigFloat'        => '1.993',
-	'Math::BigFloat::Trace' => '0.01',
-	'Math::BigInt'          => '1.994',
-	'Math::BigInt::Calc'    => '1.993',
-	'Math::BigInt::CalcEmu' => '1.993',
-	'Math::BigInt::FastCalc'=> '0.28',
-	'Math::BigInt::Trace'   => '0.01',
-	'Math::BigRat'          => '0.26_02',
-	'Math::Complex'         => '1.56',
-	'Math::Trig'            => '1.2',
-	'Memoize'               => '1.02',
-	'Memoize::AnyDBM_File'  => '1.02',
-	'Memoize::Expire'       => '1.02',
-	'Memoize::ExpireFile'   => '1.02',
-	'Memoize::ExpireTest'   => '1.02',
-	'Memoize::NDBM_File'    => '1.02',
-	'Memoize::SDBM_File'    => '1.02',
-	'Memoize::Storable'     => '1.02',
-	'Module::Build'         => '0.3800',
-	'Module::Build::Base'   => '0.3800',
-	'Module::Build::Compat' => '0.3800',
-	'Module::Build::Config' => '0.3800',
-	'Module::Build::ConfigData'=> undef,
-	'Module::Build::Cookbook'=> '0.3800',
-	'Module::Build::Dumper' => '0.3800',
-	'Module::Build::ModuleInfo'=> '0.3800',
-	'Module::Build::Notes'  => '0.3800',
-	'Module::Build::PPMMaker'=> '0.3800',
-	'Module::Build::Platform::Amiga'=> '0.3800',
-	'Module::Build::Platform::Default'=> '0.3800',
-	'Module::Build::Platform::EBCDIC'=> '0.3800',
-	'Module::Build::Platform::MPEiX'=> '0.3800',
-	'Module::Build::Platform::MacOS'=> '0.3800',
-	'Module::Build::Platform::RiscOS'=> '0.3800',
-	'Module::Build::Platform::Unix'=> '0.3800',
-	'Module::Build::Platform::VMS'=> '0.3800',
-	'Module::Build::Platform::VOS'=> '0.3800',
-	'Module::Build::Platform::Windows'=> '0.3800',
-	'Module::Build::Platform::aix'=> '0.3800',
-	'Module::Build::Platform::cygwin'=> '0.3800',
-	'Module::Build::Platform::darwin'=> '0.3800',
-	'Module::Build::Platform::os2'=> '0.3800',
-	'Module::Build::PodParser'=> '0.3800',
-	'Module::Build::Version'=> '0.87',
-	'Module::Build::YAML'   => '1.41',
-	'Module::CoreList'      => '2.49_02',
-	'Module::Load'          => '0.18',
-	'Module::Load::Conditional'=> '0.44',
-	'Module::Loaded'        => '0.06',
-	'Module::Metadata'      => '1.000004',
-	'Module::Pluggable'     => '3.9',
-	'Module::Pluggable::Object'=> '3.9',
-	'Moped::Msg'            => '0.01',
-	'NDBM_File'             => '1.12',
-	'NEXT'                  => '0.65',
-	'Net::Cmd'              => '2.29',
-	'Net::Config'           => '1.11',
-	'Net::Domain'           => '2.20',
-	'Net::FTP'              => '2.77',
-	'Net::FTP::A'           => '1.18',
-	'Net::FTP::E'           => '0.01',
-	'Net::FTP::I'           => '1.12',
-	'Net::FTP::L'           => '0.01',
-	'Net::FTP::dataconn'    => '0.11',
-	'Net::NNTP'             => '2.24',
-	'Net::Netrc'            => '2.12',
-	'Net::POP3'             => '2.29',
-	'Net::Ping'             => '2.38',
-	'Net::SMTP'             => '2.31',
-	'Net::Time'             => '2.10',
-	'Net::hostent'          => '1.01',
-	'Net::netent'           => '1.00',
-	'Net::protoent'         => '1.00',
-	'Net::servent'          => '1.01',
-	'O'                     => '1.01',
-	'ODBM_File'             => '1.10',
-	'Object::Accessor'      => '0.38',
-	'Opcode'                => '1.18',
-	'POSIX'                 => '1.24',
-	'Package::Constants'    => '0.02',
-	'Params::Check'         => '0.28',
-	'Parse::CPAN::Meta'     => '1.4401',
-	'Perl::OSType'          => '1.002',
-	'PerlIO'                => '1.07',
-	'PerlIO::encoding'      => '0.14',
-	'PerlIO::scalar'        => '0.11_01',
-	'PerlIO::via'           => '0.11',
-	'PerlIO::via::QuotedPrint'=> '0.06',
-	'Pod::Checker'          => '1.45',
-	'Pod::Escapes'          => '1.04',
-	'Pod::Find'             => '1.35',
-	'Pod::Functions'        => '1.04',
-	'Pod::Html'             => '1.11',
-	'Pod::InputObjects'     => '1.31',
-	'Pod::LaTeX'            => '0.59',
-	'Pod::Man'              => '2.25',
-	'Pod::ParseLink'        => '1.10',
-	'Pod::ParseUtils'       => '1.36',
-	'Pod::Parser'           => '1.37',
-	'Pod::Perldoc'          => '3.15_04',
-	'Pod::Perldoc::BaseTo'  => undef,
-	'Pod::Perldoc::GetOptsOO'=> undef,
-	'Pod::Perldoc::ToChecker'=> undef,
-	'Pod::Perldoc::ToMan'   => undef,
-	'Pod::Perldoc::ToNroff' => undef,
-	'Pod::Perldoc::ToPod'   => undef,
-	'Pod::Perldoc::ToRtf'   => undef,
-	'Pod::Perldoc::ToText'  => undef,
-	'Pod::Perldoc::ToTk'    => undef,
-	'Pod::Perldoc::ToXml'   => undef,
-	'Pod::PlainText'        => '2.04',
-	'Pod::Select'           => '1.36',
-	'Pod::Simple'           => '3.16',
-	'Pod::Simple::BlackBox' => '3.16',
-	'Pod::Simple::Checker'  => '3.16',
-	'Pod::Simple::Debug'    => '3.16',
-	'Pod::Simple::DumpAsText'=> '3.16',
-	'Pod::Simple::DumpAsXML'=> '3.16',
-	'Pod::Simple::HTML'     => '3.16',
-	'Pod::Simple::HTMLBatch'=> '3.16',
-	'Pod::Simple::HTMLLegacy'=> '5.01',
-	'Pod::Simple::LinkSection'=> '3.16',
-	'Pod::Simple::Methody'  => '3.16',
-	'Pod::Simple::Progress' => '3.16',
-	'Pod::Simple::PullParser'=> '3.16',
-	'Pod::Simple::PullParserEndToken'=> '3.16',
-	'Pod::Simple::PullParserStartToken'=> '3.16',
-	'Pod::Simple::PullParserTextToken'=> '3.16',
-	'Pod::Simple::PullParserToken'=> '3.16',
-	'Pod::Simple::RTF'      => '3.16',
-	'Pod::Simple::Search'   => '3.16',
-	'Pod::Simple::SimpleTree'=> '3.16',
-	'Pod::Simple::Text'     => '3.16',
-	'Pod::Simple::TextContent'=> '3.16',
-	'Pod::Simple::TiedOutFH'=> '3.16',
-	'Pod::Simple::Transcode'=> '3.16',
-	'Pod::Simple::TranscodeDumb'=> '3.16',
-	'Pod::Simple::TranscodeSmart'=> '3.16',
-	'Pod::Simple::XHTML'    => '3.16',
-	'Pod::Simple::XMLOutStream'=> '3.16',
-	'Pod::Text'             => '3.15',
-	'Pod::Text::Color'      => '2.06',
-	'Pod::Text::Overstrike' => '2.04',
-	'Pod::Text::Termcap'    => '2.06',
-	'Pod::Usage'            => '1.36',
-	'SDBM_File'             => '1.09',
-	'Safe'                  => '2.29',
-	'Scalar::Util'          => '1.23',
-	'Scalar::Util::PP'      => '1.23',
-	'Search::Dict'          => '1.03',
-	'SelectSaver'           => '1.02',
-	'SelfLoader'            => '1.18',
-	'Shell'                 => '0.72_01',
-	'Socket'                => '1.94',
-	'Storable'              => '2.27',
-	'Symbol'                => '1.07',
-	'Sys::Hostname'         => '1.16',
-	'Sys::Syslog'           => '0.27',
-	'Sys::Syslog::win32::Win32'=> undef,
-	'TAP::Base'             => '3.23',
-	'TAP::Formatter::Base'  => '3.23',
-	'TAP::Formatter::Color' => '3.23',
-	'TAP::Formatter::Console'=> '3.23',
-	'TAP::Formatter::Console::ParallelSession'=> '3.23',
-	'TAP::Formatter::Console::Session'=> '3.23',
-	'TAP::Formatter::File'  => '3.23',
-	'TAP::Formatter::File::Session'=> '3.23',
-	'TAP::Formatter::Session'=> '3.23',
-	'TAP::Harness'          => '3.23',
-	'TAP::Object'           => '3.23',
-	'TAP::Parser'           => '3.23',
-	'TAP::Parser::Aggregator'=> '3.23',
-	'TAP::Parser::Grammar'  => '3.23',
-	'TAP::Parser::Iterator' => '3.23',
-	'TAP::Parser::Iterator::Array'=> '3.23',
-	'TAP::Parser::Iterator::Process'=> '3.23',
-	'TAP::Parser::Iterator::Stream'=> '3.23',
-	'TAP::Parser::IteratorFactory'=> '3.23',
-	'TAP::Parser::Multiplexer'=> '3.23',
-	'TAP::Parser::Result'   => '3.23',
-	'TAP::Parser::Result::Bailout'=> '3.23',
-	'TAP::Parser::Result::Comment'=> '3.23',
-	'TAP::Parser::Result::Plan'=> '3.23',
-	'TAP::Parser::Result::Pragma'=> '3.23',
-	'TAP::Parser::Result::Test'=> '3.23',
-	'TAP::Parser::Result::Unknown'=> '3.23',
-	'TAP::Parser::Result::Version'=> '3.23',
-	'TAP::Parser::Result::YAML'=> '3.23',
-	'TAP::Parser::ResultFactory'=> '3.23',
-	'TAP::Parser::Scheduler'=> '3.23',
-	'TAP::Parser::Scheduler::Job'=> '3.23',
-	'TAP::Parser::Scheduler::Spinner'=> '3.23',
-	'TAP::Parser::Source'   => '3.23',
-	'TAP::Parser::SourceHandler'=> '3.23',
-	'TAP::Parser::SourceHandler::Executable'=> '3.23',
-	'TAP::Parser::SourceHandler::File'=> '3.23',
-	'TAP::Parser::SourceHandler::Handle'=> '3.23',
-	'TAP::Parser::SourceHandler::Perl'=> '3.23',
-	'TAP::Parser::SourceHandler::RawTAP'=> '3.23',
-	'TAP::Parser::Utils'    => '3.23',
-	'TAP::Parser::YAMLish::Reader'=> '3.23',
-	'TAP::Parser::YAMLish::Writer'=> '3.23',
-	'Term::ANSIColor'       => '3.00',
-	'Term::Cap'             => '1.12',
-	'Term::Complete'        => '1.402',
-	'Term::ReadLine'        => '1.07',
-	'Term::UI'              => '0.26',
-	'Term::UI::History'     => undef,
-	'Test'                  => '1.25_02',
-	'Test::Builder'         => '0.98',
-	'Test::Builder::Module' => '0.98',
-	'Test::Builder::Tester' => '1.22',
-	'Test::Builder::Tester::Color'=> '1.22',
-	'Test::Harness'         => '3.23',
-	'Test::More'            => '0.98',
-	'Test::Simple'          => '0.98',
-	'Text::Abbrev'          => '1.01',
-	'Text::Balanced'        => '2.02',
-	'Text::ParseWords'      => '3.27',
-	'Text::Soundex'         => '3.03_01',
-	'Text::Tabs'            => '2009.0305',
-	'Text::Wrap'            => '2009.0305',
-	'Thread'                => '3.02',
-	'Thread::Queue'         => '2.12',
-	'Thread::Semaphore'     => '2.12',
-	'Tie::Array'            => '1.04',
-	'Tie::File'             => '0.97_02',
-	'Tie::Handle'           => '4.2',
-	'Tie::Hash'             => '1.04',
-	'Tie::Hash::NamedCapture'=> '0.08',
-	'Tie::Memoize'          => '1.1',
-	'Tie::RefHash'          => '1.39',
-	'Tie::Scalar'           => '1.02',
-	'Tie::StdHandle'        => '4.2',
-	'Tie::SubstrHash'       => '1.00',
-	'Time::HiRes'           => '1.9721_01',
-	'Time::Local'           => '1.2000',
-	'Time::Piece'           => '1.20_01',
-	'Time::Piece::Seconds'  => undef,
-	'Time::Seconds'         => undef,
-	'Time::gmtime'          => '1.03',
-	'Time::localtime'       => '1.02',
-	'Time::tm'              => '1.00',
-	'UNIVERSAL'             => '1.08',
-	'Unicode'               => '6.0.0',
-	'Unicode::Collate'      => '0.73',
-	'Unicode::Collate::CJK::Big5'=> '0.65',
-	'Unicode::Collate::CJK::GB2312'=> '0.65',
-	'Unicode::Collate::CJK::JISX0208'=> '0.64',
-	'Unicode::Collate::CJK::Korean'=> '0.66',
-	'Unicode::Collate::CJK::Pinyin'=> '0.65',
-	'Unicode::Collate::CJK::Stroke'=> '0.65',
-	'Unicode::Collate::Locale'=> '0.73',
-	'Unicode::Normalize'    => '1.10',
-	'Unicode::UCD'          => '0.32',
-	'User::grent'           => '1.01',
-	'User::pwent'           => '1.00',
-	'VMS::DCLsym'           => '1.05',
-	'VMS::Filespec'         => '1.12',
-	'VMS::Stdio'            => '2.4',
-	'Version::Requirements' => '0.101020',
-	'Win32'                 => '0.44',
-	'Win32API::File'        => '0.1101',
-	'Win32API::File::ExtUtils::Myconst2perl'=> '1',
-	'Win32CORE'             => '0.02',
-	'XS::APItest'           => '0.28',
-	'XS::Typemap'           => '0.05',
-	'XSLoader'              => '0.13',
-	'XSLoader::XSLoader'    => '0.13',
-	'attributes'            => '0.14',
-	'autodie'               => '2.1001',
-	'autodie::exception'    => '2.1001',
-	'autodie::exception::system'=> '2.1001',
-	'autodie::hints'        => '2.1001',
-	'autouse'               => '1.06',
-	'base'                  => '2.16',
-	'bigint'                => '0.27',
-	'bignum'                => '0.27',
-	'bigrat'                => '0.28',
-	'blib'                  => '1.06',
-	'bytes'                 => '1.04',
-	'charnames'             => '1.18',
-	'constant'              => '1.21',
-	'deprecate'             => '0.02',
-	'diagnostics'           => '1.22',
-	'encoding'              => '2.6_01',
-	'encoding::warnings'    => '0.11',
-	'feature'               => '1.20',
-	'fields'                => '2.15',
-	'filetest'              => '1.02',
-	'if'                    => '0.0601',
-	'inc::latest'           => '0.3800',
-	'integer'               => '1.00',
-	'less'                  => '0.03',
-	'lib'                   => '0.63',
-	'locale'                => '1.00',
-	'mro'                   => '1.07',
-	'open'                  => '1.08',
-	'ops'                   => '1.02',
-	'overload'              => '1.13',
-	'overload::numbers'     => undef,
-	'overloading'           => '0.01',
-	'parent'                => '0.225',
-	're'                    => '0.18',
-	'sigtrap'               => '1.05',
-	'sort'                  => '2.01',
-	'strict'                => '1.04',
-	'subs'                  => '1.00',
-	'threads'               => '1.83',
-	'threads::shared'       => '1.37',
-	'utf8'                  => '1.09',
-	'vars'                  => '1.02',
-	'version'               => '0.88',
-	'vmsish'                => '1.02',
-	'warnings'              => '1.12',
-	'warnings::register'    => '1.02',
+        delta_from => 5.014001,
+        changed => {
+            'CPAN'                  => '1.9600_01',
+            'CPAN::Distribution'    => '1.9602_01',
+            'Devel::DProf::dprof::V'=> undef,
+            'Encode'                => '2.42_01',
+            'File::Glob'            => '1.13',
+            'Module::CoreList'      => '2.49_02',
+            'PerlIO::scalar'        => '0.11_01',
+            'Time::Piece::Seconds'  => undef,
+            'XSLoader::XSLoader'    => '0.13',
+        },
+        removed => {
+        }
     },
-);
-
-%deprecated = (
-    5.011 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.014003 => {
+        delta_from => 5.014002,
+        changed => {
+            'Digest'                => '1.16_01',
+            'IPC::Open3'            => '1.09_01',
+            'Module::CoreList'      => '2.49_04',
+        },
+        removed => {
+        }
     },
-    5.011001 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.014004 => {
+        delta_from => 5.014003,
+        changed => {
+            'Encode'                => '2.42_02',
+            'IPC::Open3'            => '1.0901',
+            'Module::CoreList'      => '2.49_06',
+        },
+        removed => {
+        }
     },
-    5.011002 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.015 => {
+        delta_from => 5.014001,
+        changed => {
+            'Archive::Extract'      => '0.52',
+            'Attribute::Handlers'   => '0.91',
+            'B'                     => '1.30',
+            'B::Concise'            => '0.84',
+            'B::Deparse'            => '1.05',
+            'Benchmark'             => '1.13',
+            'CGI'                   => '3.54',
+            'CGI::Util'             => '3.53',
+            'CPAN::Meta'            => '2.110930',
+            'CPAN::Meta::Converter' => '2.110930',
+            'CPAN::Meta::Feature'   => '2.110930',
+            'CPAN::Meta::History'   => '2.110930',
+            'CPAN::Meta::Prereqs'   => '2.110930',
+            'CPAN::Meta::Spec'      => '2.110930',
+            'CPAN::Meta::Validator' => '2.110930',
+            'CPANPLUS'              => '0.9105',
+            'CPANPLUS::Dist::Build' => '0.56',
+            'CPANPLUS::Dist::Build::Constants'=> '0.56',
+            'CPANPLUS::Internals'   => '0.9105',
+            'CPANPLUS::Shell::Default'=> '0.9105',
+            'Compress::Raw::Bzip2'  => '2.035',
+            'Compress::Raw::Zlib'   => '2.035',
+            'Compress::Zlib'        => '2.035',
+            'DB_File'               => '1.822',
+            'Data::Dumper'          => '2.131',
+            'Devel::Peek'           => '1.08',
+            'Digest::SHA'           => '5.62',
+            'Encode'                => '2.43',
+            'Encode::Alias'         => '2.14',
+            'ExtUtils::CBuilder'    => '0.280204',
+            'ExtUtils::CBuilder::Base'=> '0.280204',
+            'Fatal'                 => '2.10',
+            'File::Spec::Win32'     => '3.34',
+            'Filter::Simple'        => '0.87',
+            'Filter::Util::Call'    => '1.39',
+            'FindBin'               => '1.51',
+            'Hash::Util::FieldHash' => '1.10',
+            'I18N::LangTags'        => '0.36',
+            'IO::Compress::Adapter::Bzip2'=> '2.035',
+            'IO::Compress::Adapter::Deflate'=> '2.035',
+            'IO::Compress::Adapter::Identity'=> '2.035',
+            'IO::Compress::Base'    => '2.035',
+            'IO::Compress::Base::Common'=> '2.035',
+            'IO::Compress::Bzip2'   => '2.035',
+            'IO::Compress::Deflate' => '2.035',
+            'IO::Compress::Gzip'    => '2.035',
+            'IO::Compress::Gzip::Constants'=> '2.035',
+            'IO::Compress::RawDeflate'=> '2.035',
+            'IO::Compress::Zip'     => '2.035',
+            'IO::Compress::Zip::Constants'=> '2.035',
+            'IO::Compress::Zlib::Constants'=> '2.035',
+            'IO::Compress::Zlib::Extra'=> '2.035',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.035',
+            'IO::Uncompress::Adapter::Identity'=> '2.035',
+            'IO::Uncompress::Adapter::Inflate'=> '2.035',
+            'IO::Uncompress::AnyInflate'=> '2.035',
+            'IO::Uncompress::AnyUncompress'=> '2.035',
+            'IO::Uncompress::Base'  => '2.035',
+            'IO::Uncompress::Bunzip2'=> '2.035',
+            'IO::Uncompress::Gunzip'=> '2.035',
+            'IO::Uncompress::Inflate'=> '2.035',
+            'IO::Uncompress::RawInflate'=> '2.035',
+            'IO::Uncompress::Unzip' => '2.035',
+            'IPC::Open2'            => '1.04',
+            'IPC::Open3'            => '1.11',
+            'JSON::PP'              => '2.27200',
+            'Math::BigFloat'        => '1.994',
+            'Math::BigInt'          => '1.995',
+            'Math::Complex'         => '1.57',
+            'Math::Trig'            => '1.21',
+            'Module::CoreList'      => '2.51',
+            'ODBM_File'             => '1.11',
+            'Object::Accessor'      => '0.42',
+            'Opcode'                => '1.19',
+            'PerlIO::encoding'      => '0.15',
+            'PerlIO::scalar'        => '0.12',
+            'Pod::Perldoc'          => '3.15_05',
+            'Storable'              => '2.28',
+            'Sys::Syslog'           => '0.29',
+            'Time::HiRes'           => '1.9722',
+            'Unicode::Collate'      => '0.76',
+            'Unicode::Collate::CJK::Pinyin'=> '0.76',
+            'Unicode::Collate::CJK::Stroke'=> '0.76',
+            'Unicode::Collate::Locale'=> '0.76',
+            'Unicode::Normalize'    => '1.12',
+            'XS::APItest'           => '0.29',
+            'XSLoader'              => '0.15',
+            'autodie'               => '2.10',
+            'autodie::exception'    => '2.10',
+            'autodie::exception::system'=> '2.10',
+            'autodie::hints'        => '2.10',
+            'base'                  => '2.17',
+            'charnames'             => '1.22',
+            'constant'              => '1.22',
+            'feature'               => '1.21',
+            'mro'                   => '1.08',
+            'overload'              => '1.14',
+            'threads::shared'       => '1.38',
+            'vmsish'                => '1.03',
+        },
+        removed => {
+            'Devel::DProf'          => 1,
+            'Shell'                 => 1,
+        }
     },
-    5.011003 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.015001 => {
+        delta_from => 5.015,
+        changed => {
+            'B::Deparse'            => '1.06',
+            'CGI'                   => '3.55',
+            'CPAN::Meta'            => '2.110930001',
+            'CPAN::Meta::Converter' => '2.110930001',
+            'CPANPLUS'              => '0.9108',
+            'CPANPLUS::Internals'   => '0.9108',
+            'CPANPLUS::Shell::Default'=> '0.9108',
+            'Carp'                  => '1.21',
+            'Carp::Heavy'           => '1.21',
+            'Compress::Raw::Bzip2'  => '2.037',
+            'Compress::Raw::Zlib'   => '2.037',
+            'Compress::Zlib'        => '2.037',
+            'Cwd'                   => '3.37',
+            'Env'                   => '1.03',
+            'ExtUtils::Command::MM' => '6.58',
+            'ExtUtils::Liblist'     => '6.58',
+            'ExtUtils::Liblist::Kid'=> '6.58',
+            'ExtUtils::MM'          => '6.58',
+            'ExtUtils::MM_AIX'      => '6.58',
+            'ExtUtils::MM_Any'      => '6.58',
+            'ExtUtils::MM_BeOS'     => '6.58',
+            'ExtUtils::MM_Cygwin'   => '6.58',
+            'ExtUtils::MM_DOS'      => '6.58',
+            'ExtUtils::MM_Darwin'   => '6.58',
+            'ExtUtils::MM_MacOS'    => '6.58',
+            'ExtUtils::MM_NW5'      => '6.58',
+            'ExtUtils::MM_OS2'      => '6.58',
+            'ExtUtils::MM_QNX'      => '6.58',
+            'ExtUtils::MM_UWIN'     => '6.58',
+            'ExtUtils::MM_Unix'     => '6.58',
+            'ExtUtils::MM_VMS'      => '6.58',
+            'ExtUtils::MM_VOS'      => '6.58',
+            'ExtUtils::MM_Win32'    => '6.58',
+            'ExtUtils::MM_Win95'    => '6.58',
+            'ExtUtils::MY'          => '6.58',
+            'ExtUtils::MakeMaker'   => '6.58',
+            'ExtUtils::MakeMaker::Config'=> '6.58',
+            'ExtUtils::Mkbootstrap' => '6.58',
+            'ExtUtils::Mksymlists'  => '6.58',
+            'ExtUtils::ParseXS'     => '3.00_01',
+            'ExtUtils::ParseXS::Constants'=> undef,
+            'ExtUtils::ParseXS::CountLines'=> undef,
+            'ExtUtils::ParseXS::Utilities'=> undef,
+            'ExtUtils::Typemaps'    => '1.00',
+            'ExtUtils::Typemaps::InputMap'=> undef,
+            'ExtUtils::Typemaps::OutputMap'=> undef,
+            'ExtUtils::Typemaps::Type'=> '0.05',
+            'ExtUtils::testlib'     => '6.58',
+            'File::Basename'        => '2.83',
+            'File::Find'            => '1.20',
+            'HTTP::Tiny'            => '0.013',
+            'I18N::Langinfo'        => '0.08_02',
+            'IO::Compress::Adapter::Bzip2'=> '2.037',
+            'IO::Compress::Adapter::Deflate'=> '2.037',
+            'IO::Compress::Adapter::Identity'=> '2.037',
+            'IO::Compress::Base'    => '2.037',
+            'IO::Compress::Base::Common'=> '2.037',
+            'IO::Compress::Bzip2'   => '2.037',
+            'IO::Compress::Deflate' => '2.037',
+            'IO::Compress::Gzip'    => '2.037',
+            'IO::Compress::Gzip::Constants'=> '2.037',
+            'IO::Compress::RawDeflate'=> '2.037',
+            'IO::Compress::Zip'     => '2.037',
+            'IO::Compress::Zip::Constants'=> '2.037',
+            'IO::Compress::Zlib::Constants'=> '2.037',
+            'IO::Compress::Zlib::Extra'=> '2.037',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.037',
+            'IO::Uncompress::Adapter::Identity'=> '2.037',
+            'IO::Uncompress::Adapter::Inflate'=> '2.037',
+            'IO::Uncompress::AnyInflate'=> '2.037',
+            'IO::Uncompress::AnyUncompress'=> '2.037',
+            'IO::Uncompress::Base'  => '2.037',
+            'IO::Uncompress::Bunzip2'=> '2.037',
+            'IO::Uncompress::Gunzip'=> '2.037',
+            'IO::Uncompress::Inflate'=> '2.037',
+            'IO::Uncompress::RawInflate'=> '2.037',
+            'IO::Uncompress::Unzip' => '2.037',
+            'IPC::Cmd'              => '0.72',
+            'Locale::Codes'         => '3.17',
+            'Locale::Codes::Constants'=> '3.17',
+            'Locale::Codes::Country'=> '3.17',
+            'Locale::Codes::Country_Codes'=> '3.17',
+            'Locale::Codes::Currency'=> '3.17',
+            'Locale::Codes::Currency_Codes'=> '3.17',
+            'Locale::Codes::LangExt'=> '3.17',
+            'Locale::Codes::LangExt_Codes'=> '3.17',
+            'Locale::Codes::LangVar'=> '3.17',
+            'Locale::Codes::LangVar_Codes'=> '3.17',
+            'Locale::Codes::Language'=> '3.17',
+            'Locale::Codes::Language_Codes'=> '3.17',
+            'Locale::Codes::Script' => '3.17',
+            'Locale::Codes::Script_Codes'=> '3.17',
+            'Locale::Country'       => '3.17',
+            'Locale::Currency'      => '3.17',
+            'Locale::Language'      => '3.17',
+            'Locale::Script'        => '3.17',
+            'Math::BigFloat::Trace' => '0.28',
+            'Math::BigInt::FastCalc'=> '0.29',
+            'Math::BigInt::Trace'   => '0.28',
+            'Math::BigRat'          => '0.2602',
+            'Math::Complex'         => '1.58',
+            'Math::Trig'            => '1.22',
+            'Module::CoreList'      => '2.54',
+            'Pod::Perldoc'          => '3.15_06',
+            'Pod::Simple'           => '3.18',
+            'Pod::Simple::BlackBox' => '3.18',
+            'Pod::Simple::Checker'  => '3.18',
+            'Pod::Simple::Debug'    => '3.18',
+            'Pod::Simple::DumpAsText'=> '3.18',
+            'Pod::Simple::DumpAsXML'=> '3.18',
+            'Pod::Simple::HTML'     => '3.18',
+            'Pod::Simple::HTMLBatch'=> '3.18',
+            'Pod::Simple::LinkSection'=> '3.18',
+            'Pod::Simple::Methody'  => '3.18',
+            'Pod::Simple::Progress' => '3.18',
+            'Pod::Simple::PullParser'=> '3.18',
+            'Pod::Simple::PullParserEndToken'=> '3.18',
+            'Pod::Simple::PullParserStartToken'=> '3.18',
+            'Pod::Simple::PullParserTextToken'=> '3.18',
+            'Pod::Simple::PullParserToken'=> '3.18',
+            'Pod::Simple::RTF'      => '3.18',
+            'Pod::Simple::Search'   => '3.18',
+            'Pod::Simple::SimpleTree'=> '3.18',
+            'Pod::Simple::Text'     => '3.18',
+            'Pod::Simple::TextContent'=> '3.18',
+            'Pod::Simple::TiedOutFH'=> '3.18',
+            'Pod::Simple::Transcode'=> '3.18',
+            'Pod::Simple::TranscodeDumb'=> '3.18',
+            'Pod::Simple::TranscodeSmart'=> '3.18',
+            'Pod::Simple::XHTML'    => '3.18',
+            'Pod::Simple::XMLOutStream'=> '3.18',
+            'Storable'              => '2.31',
+            'Sys::Syslog::Win32'    => undef,
+            'Time::HiRes'           => '1.9724',
+            'Unicode::Collate'      => '0.77',
+            'Unicode::UCD'          => '0.33',
+            'Win32API::File'        => '0.1200',
+            'XS::APItest'           => '0.30',
+            'attributes'            => '0.15',
+            'bigint'                => '0.28',
+            'bignum'                => '0.28',
+            'charnames'             => '1.23',
+            'diagnostics'           => '1.23',
+            'feature'               => '1.22',
+            'overload'              => '1.15',
+            'perlfaq'               => '5.015000',
+            'threads'               => '1.84',
+            'version'               => '0.93',
+        },
+        removed => {
+            'ExtUtils::MakeMaker::YAML'=> 1,
+            'Locale::Constants'     => 1,
+            'Sys::Syslog::win32::Win32'=> 1,
+        }
     },
-    5.011004 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.015002 => {
+        delta_from => 5.015001,
+        changed => {
+            'Attribute::Handlers'   => '0.92',
+            'B'                     => '1.31',
+            'B::Concise'            => '0.85',
+            'B::Deparse'            => '1.07',
+            'B::Terse'              => '1.06',
+            'B::Xref'               => '1.03',
+            'CPAN'                  => '1.9800',
+            'CPAN::Exception::yaml_process_error'=> '5.5',
+            'CPAN::Meta'            => '2.112150',
+            'CPAN::Meta::Converter' => '2.112150',
+            'CPAN::Meta::Feature'   => '2.112150',
+            'CPAN::Meta::History'   => '2.112150',
+            'CPAN::Meta::Prereqs'   => '2.112150',
+            'CPAN::Meta::Spec'      => '2.112150',
+            'CPAN::Meta::Validator' => '2.112150',
+            'CPANPLUS'              => '0.9109',
+            'CPANPLUS::Internals'   => '0.9109',
+            'CPANPLUS::Shell::Default'=> '0.9109',
+            'DB_File'               => '1.824',
+            'Data::Dumper'          => '2.132',
+            'Encode'                => '2.44',
+            'Encode::Alias'         => '2.15',
+            'Encode::Encoder'       => '2.02',
+            'Encode::Guess'         => '2.05',
+            'ExtUtils::Command::MM' => '6.59',
+            'ExtUtils::Install'     => '1.57',
+            'ExtUtils::Installed'   => '1.999002',
+            'ExtUtils::Liblist'     => '6.59',
+            'ExtUtils::Liblist::Kid'=> '6.59',
+            'ExtUtils::MM'          => '6.59',
+            'ExtUtils::MM_AIX'      => '6.59',
+            'ExtUtils::MM_Any'      => '6.59',
+            'ExtUtils::MM_BeOS'     => '6.59',
+            'ExtUtils::MM_Cygwin'   => '6.59',
+            'ExtUtils::MM_DOS'      => '6.59',
+            'ExtUtils::MM_Darwin'   => '6.59',
+            'ExtUtils::MM_MacOS'    => '6.59',
+            'ExtUtils::MM_NW5'      => '6.59',
+            'ExtUtils::MM_OS2'      => '6.59',
+            'ExtUtils::MM_QNX'      => '6.59',
+            'ExtUtils::MM_UWIN'     => '6.59',
+            'ExtUtils::MM_Unix'     => '6.59',
+            'ExtUtils::MM_VMS'      => '6.59',
+            'ExtUtils::MM_VOS'      => '6.59',
+            'ExtUtils::MM_Win32'    => '6.59',
+            'ExtUtils::MM_Win95'    => '6.59',
+            'ExtUtils::MY'          => '6.59',
+            'ExtUtils::MakeMaker'   => '6.59',
+            'ExtUtils::MakeMaker::Config'=> '6.59',
+            'ExtUtils::Manifest'    => '1.60',
+            'ExtUtils::Mkbootstrap' => '6.59',
+            'ExtUtils::Mksymlists'  => '6.59',
+            'ExtUtils::ParseXS'     => '3.03_01',
+            'ExtUtils::Typemaps'    => '1.01',
+            'ExtUtils::testlib'     => '6.59',
+            'File::Spec'            => '3.34',
+            'File::Spec::Mac'       => '3.35',
+            'File::Spec::Unix'      => '3.34',
+            'File::Spec::VMS'       => '3.35',
+            'File::Spec::Win32'     => '3.35',
+            'I18N::LangTags'        => '0.37',
+            'IO'                    => '1.25_05',
+            'IO::Handle'            => '1.32',
+            'IO::Socket'            => '1.33',
+            'IO::Socket::INET'      => '1.32',
+            'IPC::Open3'            => '1.12',
+            'Math::BigFloat'        => '1.995',
+            'Math::BigFloat::Trace' => '0.29',
+            'Math::BigInt'          => '1.996',
+            'Math::BigInt::Trace'   => '0.29',
+            'Module::Build'         => '0.39_01',
+            'Module::Build::Base'   => '0.39_01',
+            'Module::Build::Compat' => '0.39_01',
+            'Module::Build::Config' => '0.39_01',
+            'Module::Build::Cookbook'=> '0.39_01',
+            'Module::Build::Dumper' => '0.39_01',
+            'Module::Build::ModuleInfo'=> '0.39_01',
+            'Module::Build::Notes'  => '0.39_01',
+            'Module::Build::PPMMaker'=> '0.39_01',
+            'Module::Build::Platform::Amiga'=> '0.39_01',
+            'Module::Build::Platform::Default'=> '0.39_01',
+            'Module::Build::Platform::EBCDIC'=> '0.39_01',
+            'Module::Build::Platform::MPEiX'=> '0.39_01',
+            'Module::Build::Platform::MacOS'=> '0.39_01',
+            'Module::Build::Platform::RiscOS'=> '0.39_01',
+            'Module::Build::Platform::Unix'=> '0.39_01',
+            'Module::Build::Platform::VMS'=> '0.39_01',
+            'Module::Build::Platform::VOS'=> '0.39_01',
+            'Module::Build::Platform::Windows'=> '0.39_01',
+            'Module::Build::Platform::aix'=> '0.39_01',
+            'Module::Build::Platform::cygwin'=> '0.39_01',
+            'Module::Build::Platform::darwin'=> '0.39_01',
+            'Module::Build::Platform::os2'=> '0.39_01',
+            'Module::Build::PodParser'=> '0.39_01',
+            'Module::CoreList'      => '2.55',
+            'Module::Load'          => '0.20',
+            'Module::Metadata'      => '1.000005_01',
+            'Opcode'                => '1.20',
+            'Params::Check'         => '0.32',
+            'PerlIO::via'           => '0.12',
+            'Term::ANSIColor'       => '3.01',
+            'Unicode::Collate'      => '0.78',
+            'Unicode::Normalize'    => '1.13',
+            'Unicode::UCD'          => '0.34',
+            'bigint'                => '0.29',
+            'bignum'                => '0.29',
+            'bigrat'                => '0.29',
+            'diagnostics'           => '1.24',
+            'fields'                => '2.16',
+            'inc::latest'           => '0.39_01',
+        },
+        removed => {
+        }
     },
-    5.011005 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.015003 => {
+        delta_from => 5.015002,
+        changed => {
+            'AnyDBM_File'           => '1.01',
+            'Archive::Extract'      => '0.56',
+            'Archive::Tar'          => '1.78',
+            'Archive::Tar::Constant'=> '1.78',
+            'Archive::Tar::File'    => '1.78',
+            'Attribute::Handlers'   => '0.93',
+            'B'                     => '1.32',
+            'B::Concise'            => '0.86',
+            'B::Deparse'            => '1.08',
+            'CPAN::Meta'            => '2.112621',
+            'CPAN::Meta::Converter' => '2.112621',
+            'CPAN::Meta::Feature'   => '2.112621',
+            'CPAN::Meta::History'   => '2.112621',
+            'CPAN::Meta::Prereqs'   => '2.112621',
+            'CPAN::Meta::Spec'      => '2.112621',
+            'CPAN::Meta::Validator' => '2.112621',
+            'CPAN::Meta::YAML'      => '0.004',
+            'CPANPLUS'              => '0.9111',
+            'CPANPLUS::Dist::Build' => '0.58',
+            'CPANPLUS::Dist::Build::Constants'=> '0.58',
+            'CPANPLUS::Internals'   => '0.9111',
+            'CPANPLUS::Shell::Default'=> '0.9111',
+            'Carp'                  => '1.23',
+            'Carp::Heavy'           => '1.23',
+            'Data::Dumper'          => '2.134',
+            'Devel::PPPort'         => '3.20',
+            'Errno'                 => '1.14',
+            'Exporter'              => '5.65',
+            'Exporter::Heavy'       => '5.65',
+            'ExtUtils::ParseXS'     => '3.04_04',
+            'ExtUtils::ParseXS::Constants'=> '3.04_04',
+            'ExtUtils::ParseXS::CountLines'=> '3.04_04',
+            'ExtUtils::ParseXS::Utilities'=> '3.04_04',
+            'ExtUtils::Typemaps'    => '1.02',
+            'File::Glob'            => '1.13',
+            'Filter::Simple'        => '0.88',
+            'IO'                    => '1.25_06',
+            'IO::Handle'            => '1.33',
+            'Locale::Codes'         => '3.18',
+            'Locale::Codes::Constants'=> '3.18',
+            'Locale::Codes::Country'=> '3.18',
+            'Locale::Codes::Country_Codes'=> '3.18',
+            'Locale::Codes::Currency'=> '3.18',
+            'Locale::Codes::Currency_Codes'=> '3.18',
+            'Locale::Codes::LangExt'=> '3.18',
+            'Locale::Codes::LangExt_Codes'=> '3.18',
+            'Locale::Codes::LangVar'=> '3.18',
+            'Locale::Codes::LangVar_Codes'=> '3.18',
+            'Locale::Codes::Language'=> '3.18',
+            'Locale::Codes::Language_Codes'=> '3.18',
+            'Locale::Codes::Script' => '3.18',
+            'Locale::Codes::Script_Codes'=> '3.18',
+            'Locale::Country'       => '3.18',
+            'Locale::Currency'      => '3.18',
+            'Locale::Language'      => '3.18',
+            'Locale::Script'        => '3.18',
+            'Math::BigFloat'        => '1.997',
+            'Math::BigInt'          => '1.997',
+            'Math::BigInt::Calc'    => '1.997',
+            'Math::BigInt::CalcEmu' => '1.997',
+            'Math::BigInt::FastCalc'=> '0.30',
+            'Math::BigRat'          => '0.2603',
+            'Module::CoreList'      => '2.56',
+            'Module::Load::Conditional'=> '0.46',
+            'Module::Metadata'      => '1.000007',
+            'ODBM_File'             => '1.12',
+            'POSIX'                 => '1.26',
+            'Pod::Perldoc'          => '3.15_07',
+            'Pod::Simple'           => '3.19',
+            'Pod::Simple::BlackBox' => '3.19',
+            'Pod::Simple::Checker'  => '3.19',
+            'Pod::Simple::Debug'    => '3.19',
+            'Pod::Simple::DumpAsText'=> '3.19',
+            'Pod::Simple::DumpAsXML'=> '3.19',
+            'Pod::Simple::HTML'     => '3.19',
+            'Pod::Simple::HTMLBatch'=> '3.19',
+            'Pod::Simple::LinkSection'=> '3.19',
+            'Pod::Simple::Methody'  => '3.19',
+            'Pod::Simple::Progress' => '3.19',
+            'Pod::Simple::PullParser'=> '3.19',
+            'Pod::Simple::PullParserEndToken'=> '3.19',
+            'Pod::Simple::PullParserStartToken'=> '3.19',
+            'Pod::Simple::PullParserTextToken'=> '3.19',
+            'Pod::Simple::PullParserToken'=> '3.19',
+            'Pod::Simple::RTF'      => '3.19',
+            'Pod::Simple::Search'   => '3.19',
+            'Pod::Simple::SimpleTree'=> '3.19',
+            'Pod::Simple::Text'     => '3.19',
+            'Pod::Simple::TextContent'=> '3.19',
+            'Pod::Simple::TiedOutFH'=> '3.19',
+            'Pod::Simple::Transcode'=> '3.19',
+            'Pod::Simple::TranscodeDumb'=> '3.19',
+            'Pod::Simple::TranscodeSmart'=> '3.19',
+            'Pod::Simple::XHTML'    => '3.19',
+            'Pod::Simple::XMLOutStream'=> '3.19',
+            'Search::Dict'          => '1.04',
+            'Socket'                => '1.94_01',
+            'Storable'              => '2.32',
+            'Text::Abbrev'          => '1.02',
+            'Tie::Array'            => '1.05',
+            'UNIVERSAL'             => '1.09',
+            'Unicode::UCD'          => '0.35',
+            'XS::APItest'           => '0.31',
+            'XSLoader'              => '0.16',
+            'attributes'            => '0.16',
+            'diagnostics'           => '1.25',
+            'open'                  => '1.09',
+            'perlfaq'               => '5.0150034',
+            'threads'               => '1.85',
+            'threads::shared'       => '1.40',
+        },
+        removed => {
+        }
     },
-    5.012000 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.015004 => {
+        delta_from => 5.015003,
+        changed => {
+            'Archive::Tar'          => '1.80',
+            'Archive::Tar::Constant'=> '1.80',
+            'Archive::Tar::File'    => '1.80',
+            'Digest'                => '1.17',
+            'DynaLoader'            => '1.14',
+            'ExtUtils::Command::MM' => '6.61_01',
+            'ExtUtils::Liblist'     => '6.61_01',
+            'ExtUtils::Liblist::Kid'=> '6.61_01',
+            'ExtUtils::MM'          => '6.61_01',
+            'ExtUtils::MM_AIX'      => '6.61_01',
+            'ExtUtils::MM_Any'      => '6.61_01',
+            'ExtUtils::MM_BeOS'     => '6.61_01',
+            'ExtUtils::MM_Cygwin'   => '6.61_01',
+            'ExtUtils::MM_DOS'      => '6.61_01',
+            'ExtUtils::MM_Darwin'   => '6.61_01',
+            'ExtUtils::MM_MacOS'    => '6.61_01',
+            'ExtUtils::MM_NW5'      => '6.61_01',
+            'ExtUtils::MM_OS2'      => '6.61_01',
+            'ExtUtils::MM_QNX'      => '6.61_01',
+            'ExtUtils::MM_UWIN'     => '6.61_01',
+            'ExtUtils::MM_Unix'     => '6.61_01',
+            'ExtUtils::MM_VMS'      => '6.61_01',
+            'ExtUtils::MM_VOS'      => '6.61_01',
+            'ExtUtils::MM_Win32'    => '6.61_01',
+            'ExtUtils::MM_Win95'    => '6.61_01',
+            'ExtUtils::MY'          => '6.61_01',
+            'ExtUtils::MakeMaker'   => '6.61_01',
+            'ExtUtils::MakeMaker::Config'=> '6.61_01',
+            'ExtUtils::Mkbootstrap' => '6.61_01',
+            'ExtUtils::Mksymlists'  => '6.61_01',
+            'ExtUtils::ParseXS'     => '3.05',
+            'ExtUtils::ParseXS::Constants'=> '3.05',
+            'ExtUtils::ParseXS::CountLines'=> '3.05',
+            'ExtUtils::ParseXS::Utilities'=> '3.05',
+            'ExtUtils::testlib'     => '6.61_01',
+            'File::DosGlob'         => '1.05',
+            'Module::CoreList'      => '2.57',
+            'Module::Load'          => '0.22',
+            'Unicode::Collate'      => '0.80',
+            'Unicode::Collate::Locale'=> '0.80',
+            'Unicode::UCD'          => '0.36',
+            'XS::APItest'           => '0.32',
+            'XS::Typemap'           => '0.07',
+            'attributes'            => '0.17',
+            'base'                  => '2.18',
+            'constant'              => '1.23',
+            'mro'                   => '1.09',
+            'open'                  => '1.10',
+            'perlfaq'               => '5.0150035',
+        },
+        removed => {
+        }
     },
-    5.013000 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.015005 => {
+        delta_from => 5.015004,
+        changed => {
+            'Archive::Extract'      => '0.58',
+            'B::Concise'            => '0.87',
+            'B::Deparse'            => '1.09',
+            'CGI'                   => '3.58',
+            'CGI::Fast'             => '1.09',
+            'CPANPLUS'              => '0.9112',
+            'CPANPLUS::Dist::Build' => '0.60',
+            'CPANPLUS::Dist::Build::Constants'=> '0.60',
+            'CPANPLUS::Internals'   => '0.9112',
+            'CPANPLUS::Shell::Default'=> '0.9112',
+            'Compress::Raw::Bzip2'  => '2.042',
+            'Compress::Raw::Zlib'   => '2.042',
+            'Compress::Zlib'        => '2.042',
+            'Digest::SHA'           => '5.63',
+            'Errno'                 => '1.15',
+            'ExtUtils::Command::MM' => '6.63_02',
+            'ExtUtils::Liblist'     => '6.63_02',
+            'ExtUtils::Liblist::Kid'=> '6.63_02',
+            'ExtUtils::MM'          => '6.63_02',
+            'ExtUtils::MM_AIX'      => '6.63_02',
+            'ExtUtils::MM_Any'      => '6.63_02',
+            'ExtUtils::MM_BeOS'     => '6.63_02',
+            'ExtUtils::MM_Cygwin'   => '6.63_02',
+            'ExtUtils::MM_DOS'      => '6.63_02',
+            'ExtUtils::MM_Darwin'   => '6.63_02',
+            'ExtUtils::MM_MacOS'    => '6.63_02',
+            'ExtUtils::MM_NW5'      => '6.63_02',
+            'ExtUtils::MM_OS2'      => '6.63_02',
+            'ExtUtils::MM_QNX'      => '6.63_02',
+            'ExtUtils::MM_UWIN'     => '6.63_02',
+            'ExtUtils::MM_Unix'     => '6.63_02',
+            'ExtUtils::MM_VMS'      => '6.63_02',
+            'ExtUtils::MM_VOS'      => '6.63_02',
+            'ExtUtils::MM_Win32'    => '6.63_02',
+            'ExtUtils::MM_Win95'    => '6.63_02',
+            'ExtUtils::MY'          => '6.63_02',
+            'ExtUtils::MakeMaker'   => '6.63_02',
+            'ExtUtils::MakeMaker::Config'=> '6.63_02',
+            'ExtUtils::Mkbootstrap' => '6.63_02',
+            'ExtUtils::Mksymlists'  => '6.63_02',
+            'ExtUtils::testlib'     => '6.63_02',
+            'File::DosGlob'         => '1.06',
+            'File::Glob'            => '1.14',
+            'HTTP::Tiny'            => '0.016',
+            'IO::Compress::Adapter::Bzip2'=> '2.042',
+            'IO::Compress::Adapter::Deflate'=> '2.042',
+            'IO::Compress::Adapter::Identity'=> '2.042',
+            'IO::Compress::Base'    => '2.042',
+            'IO::Compress::Base::Common'=> '2.042',
+            'IO::Compress::Bzip2'   => '2.042',
+            'IO::Compress::Deflate' => '2.042',
+            'IO::Compress::Gzip'    => '2.042',
+            'IO::Compress::Gzip::Constants'=> '2.042',
+            'IO::Compress::RawDeflate'=> '2.042',
+            'IO::Compress::Zip'     => '2.042',
+            'IO::Compress::Zip::Constants'=> '2.042',
+            'IO::Compress::Zlib::Constants'=> '2.042',
+            'IO::Compress::Zlib::Extra'=> '2.042',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.042',
+            'IO::Uncompress::Adapter::Identity'=> '2.042',
+            'IO::Uncompress::Adapter::Inflate'=> '2.042',
+            'IO::Uncompress::AnyInflate'=> '2.042',
+            'IO::Uncompress::AnyUncompress'=> '2.042',
+            'IO::Uncompress::Base'  => '2.042',
+            'IO::Uncompress::Bunzip2'=> '2.042',
+            'IO::Uncompress::Gunzip'=> '2.042',
+            'IO::Uncompress::Inflate'=> '2.042',
+            'IO::Uncompress::RawInflate'=> '2.042',
+            'IO::Uncompress::Unzip' => '2.042',
+            'Locale::Maketext'      => '1.20',
+            'Locale::Maketext::Guts'=> '1.20',
+            'Locale::Maketext::GutsLoader'=> '1.20',
+            'Module::CoreList'      => '2.58',
+            'Opcode'                => '1.21',
+            'Socket'                => '1.94_02',
+            'Storable'              => '2.33',
+            'UNIVERSAL'             => '1.10',
+            'Unicode::Collate'      => '0.85',
+            'Unicode::Collate::CJK::Pinyin'=> '0.85',
+            'Unicode::Collate::CJK::Stroke'=> '0.85',
+            'Unicode::Collate::Locale'=> '0.85',
+            'Unicode::UCD'          => '0.37',
+            'XS::APItest'           => '0.33',
+            'arybase'               => '0.01',
+            'charnames'             => '1.24',
+            'feature'               => '1.23',
+            'perlfaq'               => '5.0150036',
+            'strict'                => '1.05',
+            'unicore::Name'         => undef,
+        },
+        removed => {
+        }
     },
-    5.012001 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.015006 => {
+        delta_from => 5.015005,
+        changed => {
+            'Archive::Tar'          => '1.82',
+            'Archive::Tar::Constant'=> '1.82',
+            'Archive::Tar::File'    => '1.82',
+            'AutoLoader'            => '5.72',
+            'B::Concise'            => '0.88',
+            'B::Debug'              => '1.17',
+            'B::Deparse'            => '1.10',
+            'CPAN::Meta::YAML'      => '0.005',
+            'CPANPLUS'              => '0.9113',
+            'CPANPLUS::Internals'   => '0.9113',
+            'CPANPLUS::Shell::Default'=> '0.9113',
+            'Carp'                  => '1.24',
+            'Compress::Raw::Bzip2'  => '2.045',
+            'Compress::Raw::Zlib'   => '2.045',
+            'Compress::Zlib'        => '2.045',
+            'Cwd'                   => '3.38',
+            'DB'                    => '1.04',
+            'Data::Dumper'          => '2.135_01',
+            'Digest::SHA'           => '5.70',
+            'Dumpvalue'             => '1.17',
+            'Exporter'              => '5.66',
+            'Exporter::Heavy'       => '5.66',
+            'ExtUtils::CBuilder'    => '0.280205',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280204',
+            'ExtUtils::Packlist'    => '1.45',
+            'ExtUtils::ParseXS'     => '3.08',
+            'ExtUtils::ParseXS::Constants'=> '3.08',
+            'ExtUtils::ParseXS::CountLines'=> '3.08',
+            'ExtUtils::ParseXS::Utilities'=> '3.08',
+            'File::Basename'        => '2.84',
+            'File::Glob'            => '1.15',
+            'File::Spec::Unix'      => '3.35',
+            'Getopt::Std'           => '1.07',
+            'I18N::LangTags'        => '0.38',
+            'IO::Compress::Adapter::Bzip2'=> '2.045',
+            'IO::Compress::Adapter::Deflate'=> '2.045',
+            'IO::Compress::Adapter::Identity'=> '2.045',
+            'IO::Compress::Base'    => '2.046',
+            'IO::Compress::Base::Common'=> '2.045',
+            'IO::Compress::Bzip2'   => '2.045',
+            'IO::Compress::Deflate' => '2.045',
+            'IO::Compress::Gzip'    => '2.045',
+            'IO::Compress::Gzip::Constants'=> '2.045',
+            'IO::Compress::RawDeflate'=> '2.045',
+            'IO::Compress::Zip'     => '2.046',
+            'IO::Compress::Zip::Constants'=> '2.045',
+            'IO::Compress::Zlib::Constants'=> '2.045',
+            'IO::Compress::Zlib::Extra'=> '2.045',
+            'IO::Dir'               => '1.09',
+            'IO::File'              => '1.16',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.045',
+            'IO::Uncompress::Adapter::Identity'=> '2.045',
+            'IO::Uncompress::Adapter::Inflate'=> '2.045',
+            'IO::Uncompress::AnyInflate'=> '2.045',
+            'IO::Uncompress::AnyUncompress'=> '2.045',
+            'IO::Uncompress::Base'  => '2.046',
+            'IO::Uncompress::Bunzip2'=> '2.045',
+            'IO::Uncompress::Gunzip'=> '2.045',
+            'IO::Uncompress::Inflate'=> '2.045',
+            'IO::Uncompress::RawInflate'=> '2.045',
+            'IO::Uncompress::Unzip' => '2.046',
+            'Locale::Codes'         => '3.20',
+            'Locale::Codes::Constants'=> '3.20',
+            'Locale::Codes::Country'=> '3.20',
+            'Locale::Codes::Country_Codes'=> '3.20',
+            'Locale::Codes::Country_Retired'=> '3.20',
+            'Locale::Codes::Currency'=> '3.20',
+            'Locale::Codes::Currency_Codes'=> '3.20',
+            'Locale::Codes::Currency_Retired'=> '3.20',
+            'Locale::Codes::LangExt'=> '3.20',
+            'Locale::Codes::LangExt_Codes'=> '3.20',
+            'Locale::Codes::LangExt_Retired'=> '3.20',
+            'Locale::Codes::LangFam'=> '3.20',
+            'Locale::Codes::LangFam_Codes'=> '3.20',
+            'Locale::Codes::LangFam_Retired'=> '3.20',
+            'Locale::Codes::LangVar'=> '3.20',
+            'Locale::Codes::LangVar_Codes'=> '3.20',
+            'Locale::Codes::LangVar_Retired'=> '3.20',
+            'Locale::Codes::Language'=> '3.20',
+            'Locale::Codes::Language_Codes'=> '3.20',
+            'Locale::Codes::Language_Retired'=> '3.20',
+            'Locale::Codes::Script' => '3.20',
+            'Locale::Codes::Script_Codes'=> '3.20',
+            'Locale::Codes::Script_Retired'=> '3.20',
+            'Locale::Country'       => '3.20',
+            'Locale::Currency'      => '3.20',
+            'Locale::Language'      => '3.20',
+            'Locale::Maketext'      => '1.21',
+            'Locale::Script'        => '3.20',
+            'Module::CoreList'      => '2.59',
+            'Module::Loaded'        => '0.08',
+            'Opcode'                => '1.22',
+            'POSIX'                 => '1.27',
+            'Pod::Html'             => '1.12',
+            'Pod::LaTeX'            => '0.60',
+            'Pod::Perldoc'          => '3.15_08',
+            'Safe'                  => '2.30',
+            'SelfLoader'            => '1.20',
+            'Socket'                => '1.97',
+            'Storable'              => '2.34',
+            'UNIVERSAL'             => '1.11',
+            'Unicode::Collate'      => '0.87',
+            'Unicode::Collate::Locale'=> '0.87',
+            'XS::APItest'           => '0.34',
+            'arybase'               => '0.02',
+            'charnames'             => '1.27',
+            'diagnostics'           => '1.26',
+            'feature'               => '1.24',
+            'if'                    => '0.0602',
+            'overload'              => '1.16',
+            'sigtrap'               => '1.06',
+            'strict'                => '1.06',
+            'threads'               => '1.86',
+            'version'               => '0.96',
+        },
+        removed => {
+        }
     },
-    5.013001 => {
-	'Shell'                 => '1',
+    5.015007 => {
+        delta_from => 5.015006,
+        changed => {
+            'B'                     => '1.33',
+            'B::Deparse'            => '1.11',
+            'CGI'                   => '3.59',
+            'CPAN::Meta'            => '2.113640',
+            'CPAN::Meta::Converter' => '2.113640',
+            'CPAN::Meta::Feature'   => '2.113640',
+            'CPAN::Meta::History'   => '2.113640',
+            'CPAN::Meta::Prereqs'   => '2.113640',
+            'CPAN::Meta::Requirements'=> '2.113640',
+            'CPAN::Meta::Spec'      => '2.113640',
+            'CPAN::Meta::Validator' => '2.113640',
+            'CPANPLUS'              => '0.9116',
+            'CPANPLUS::Internals'   => '0.9116',
+            'CPANPLUS::Shell::Default'=> '0.9116',
+            'Cwd'                   => '3.39_01',
+            'Data::Dumper'          => '2.135_03',
+            'Devel::InnerPackage'   => '0.4',
+            'ExtUtils::CBuilder::Base'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280205',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280205',
+            'ExtUtils::Manifest'    => '1.61',
+            'ExtUtils::Packlist'    => '1.46',
+            'ExtUtils::ParseXS'     => '3.12',
+            'ExtUtils::ParseXS::Constants'=> '3.12',
+            'ExtUtils::ParseXS::CountLines'=> '3.12',
+            'ExtUtils::ParseXS::Utilities'=> '3.12',
+            'ExtUtils::Typemaps'    => '1.03',
+            'ExtUtils::Typemaps::Cmd'=> undef,
+            'ExtUtils::Typemaps::Type'=> '0.06',
+            'File::Glob'            => '1.16',
+            'File::Spec'            => '3.39_01',
+            'File::Spec::Cygwin'    => '3.39_01',
+            'File::Spec::Epoc'      => '3.39_01',
+            'File::Spec::Functions' => '3.39_01',
+            'File::Spec::Mac'       => '3.39_01',
+            'File::Spec::OS2'       => '3.39_01',
+            'File::Spec::Unix'      => '3.39_01',
+            'File::Spec::VMS'       => '3.39_01',
+            'File::Spec::Win32'     => '3.39_01',
+            'IO::Dir'               => '1.10',
+            'IO::Pipe'              => '1.15',
+            'IO::Poll'              => '0.09',
+            'IO::Select'            => '1.21',
+            'IO::Socket'            => '1.34',
+            'IO::Socket::INET'      => '1.33',
+            'IO::Socket::UNIX'      => '1.24',
+            'Locale::Maketext'      => '1.22',
+            'Math::BigInt'          => '1.998',
+            'Module::CoreList'      => '2.60',
+            'Module::Pluggable'     => '4.0',
+            'POSIX'                 => '1.28',
+            'PerlIO::scalar'        => '0.13',
+            'Pod::Html'             => '1.13',
+            'Pod::Perldoc'          => '3.15_15',
+            'Pod::Perldoc::BaseTo'  => '3.15_15',
+            'Pod::Perldoc::GetOptsOO'=> '3.15_15',
+            'Pod::Perldoc::ToANSI'  => '3.15_15',
+            'Pod::Perldoc::ToChecker'=> '3.15_15',
+            'Pod::Perldoc::ToMan'   => '3.15_15',
+            'Pod::Perldoc::ToNroff' => '3.15_15',
+            'Pod::Perldoc::ToPod'   => '3.15_15',
+            'Pod::Perldoc::ToRtf'   => '3.15_15',
+            'Pod::Perldoc::ToTerm'  => '3.15_15',
+            'Pod::Perldoc::ToText'  => '3.15_15',
+            'Pod::Perldoc::ToTk'    => '3.15_15',
+            'Pod::Perldoc::ToXml'   => '3.15_15',
+            'Term::UI'              => '0.30',
+            'Tie::File'             => '0.98',
+            'Unicode::UCD'          => '0.39',
+            'Version::Requirements' => '0.101021',
+            'XS::APItest'           => '0.35',
+            '_charnames'            => '1.28',
+            'arybase'               => '0.03',
+            'autouse'               => '1.07',
+            'charnames'             => '1.28',
+            'diagnostics'           => '1.27',
+            'feature'               => '1.25',
+            'overload'              => '1.17',
+            'overloading'           => '0.02',
+            'perlfaq'               => '5.0150038',
+        },
+        removed => {
+        }
     },
-    5.013002 => {
-	'Shell'                 => '1',
+    5.015008 => {
+        delta_from => 5.015007,
+        changed => {
+            'B'                     => '1.34',
+            'B::Deparse'            => '1.12',
+            'CPAN::Meta'            => '2.120351',
+            'CPAN::Meta::Converter' => '2.120351',
+            'CPAN::Meta::Feature'   => '2.120351',
+            'CPAN::Meta::History'   => '2.120351',
+            'CPAN::Meta::Prereqs'   => '2.120351',
+            'CPAN::Meta::Requirements'=> '2.120351',
+            'CPAN::Meta::Spec'      => '2.120351',
+            'CPAN::Meta::Validator' => '2.120351',
+            'CPAN::Meta::YAML'      => '0.007',
+            'CPANPLUS'              => '0.9118',
+            'CPANPLUS::Dist::Build' => '0.62',
+            'CPANPLUS::Dist::Build::Constants'=> '0.62',
+            'CPANPLUS::Internals'   => '0.9118',
+            'CPANPLUS::Shell::Default'=> '0.9118',
+            'Carp'                  => '1.25',
+            'Carp::Heavy'           => '1.25',
+            'Compress::Raw::Bzip2'  => '2.048',
+            'Compress::Raw::Zlib'   => '2.048',
+            'Compress::Zlib'        => '2.048',
+            'Cwd'                   => '3.39_02',
+            'DB_File'               => '1.826',
+            'Data::Dumper'          => '2.135_05',
+            'English'               => '1.05',
+            'ExtUtils::Install'     => '1.58',
+            'ExtUtils::ParseXS'     => '3.16',
+            'ExtUtils::ParseXS::Constants'=> '3.16',
+            'ExtUtils::ParseXS::CountLines'=> '3.16',
+            'ExtUtils::ParseXS::Utilities'=> '3.16',
+            'ExtUtils::Typemaps'    => '3.16',
+            'ExtUtils::Typemaps::Cmd'=> '3.16',
+            'ExtUtils::Typemaps::InputMap'=> '3.16',
+            'ExtUtils::Typemaps::OutputMap'=> '3.16',
+            'ExtUtils::Typemaps::Type'=> '3.16',
+            'File::Copy'            => '2.23',
+            'File::Glob'            => '1.17',
+            'File::Spec'            => '3.39_02',
+            'File::Spec::Cygwin'    => '3.39_02',
+            'File::Spec::Epoc'      => '3.39_02',
+            'File::Spec::Functions' => '3.39_02',
+            'File::Spec::Mac'       => '3.39_02',
+            'File::Spec::OS2'       => '3.39_02',
+            'File::Spec::Unix'      => '3.39_02',
+            'File::Spec::VMS'       => '3.39_02',
+            'File::Spec::Win32'     => '3.39_02',
+            'Filter::Util::Call'    => '1.40',
+            'IO::Compress::Adapter::Bzip2'=> '2.048',
+            'IO::Compress::Adapter::Deflate'=> '2.048',
+            'IO::Compress::Adapter::Identity'=> '2.048',
+            'IO::Compress::Base'    => '2.048',
+            'IO::Compress::Base::Common'=> '2.048',
+            'IO::Compress::Bzip2'   => '2.048',
+            'IO::Compress::Deflate' => '2.048',
+            'IO::Compress::Gzip'    => '2.048',
+            'IO::Compress::Gzip::Constants'=> '2.048',
+            'IO::Compress::RawDeflate'=> '2.048',
+            'IO::Compress::Zip'     => '2.048',
+            'IO::Compress::Zip::Constants'=> '2.048',
+            'IO::Compress::Zlib::Constants'=> '2.048',
+            'IO::Compress::Zlib::Extra'=> '2.048',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.048',
+            'IO::Uncompress::Adapter::Identity'=> '2.048',
+            'IO::Uncompress::Adapter::Inflate'=> '2.048',
+            'IO::Uncompress::AnyInflate'=> '2.048',
+            'IO::Uncompress::AnyUncompress'=> '2.048',
+            'IO::Uncompress::Base'  => '2.048',
+            'IO::Uncompress::Bunzip2'=> '2.048',
+            'IO::Uncompress::Gunzip'=> '2.048',
+            'IO::Uncompress::Inflate'=> '2.048',
+            'IO::Uncompress::RawInflate'=> '2.048',
+            'IO::Uncompress::Unzip' => '2.048',
+            'IPC::Cmd'              => '0.76',
+            'Math::Complex'         => '1.59',
+            'Math::Trig'            => '1.23',
+            'Module::Metadata'      => '1.000009',
+            'Opcode'                => '1.23',
+            'POSIX'                 => '1.30',
+            'Parse::CPAN::Meta'     => '1.4402',
+            'PerlIO::mmap'          => '0.010',
+            'Pod::Checker'          => '1.51',
+            'Pod::Find'             => '1.51',
+            'Pod::Functions'        => '1.05',
+            'Pod::Functions::Functions'=> '1.05',
+            'Pod::Html'             => '1.14',
+            'Pod::InputObjects'     => '1.51',
+            'Pod::ParseUtils'       => '1.51',
+            'Pod::Parser'           => '1.51',
+            'Pod::PlainText'        => '2.05',
+            'Pod::Select'           => '1.51',
+            'Pod::Usage'            => '1.51',
+            'Safe'                  => '2.31',
+            'Socket'                => '1.98',
+            'Term::Cap'             => '1.13',
+            'Term::ReadLine'        => '1.08',
+            'Time::HiRes'           => '1.9725',
+            'Unicode'               => '6.1.0',
+            'Unicode::UCD'          => '0.41',
+            'Version::Requirements' => '0.101022',
+            'XS::APItest'           => '0.36',
+            'XS::Typemap'           => '0.08',
+            '_charnames'            => '1.29',
+            'arybase'               => '0.04',
+            'charnames'             => '1.29',
+            'diagnostics'           => '1.28',
+            'feature'               => '1.26',
+            'locale'                => '1.01',
+            'overload'              => '1.18',
+            'perlfaq'               => '5.0150039',
+            're'                    => '0.19',
+            'subs'                  => '1.01',
+            'warnings'              => '1.13',
+        },
+        removed => {
+        }
     },
-    5.013003 => {
-	'Shell'                 => '1',
+    5.015009 => {
+        delta_from => 5.015008,
+        changed => {
+            'B::Deparse'            => '1.13',
+            'B::Lint'               => '1.14',
+            'B::Lint::Debug'        => '1.14',
+            'CPAN::Meta'            => '2.120630',
+            'CPAN::Meta::Converter' => '2.120630',
+            'CPAN::Meta::Feature'   => '2.120630',
+            'CPAN::Meta::History'   => '2.120630',
+            'CPAN::Meta::Prereqs'   => '2.120630',
+            'CPAN::Meta::Requirements'=> '2.120630',
+            'CPAN::Meta::Spec'      => '2.120630',
+            'CPAN::Meta::Validator' => '2.120630',
+            'CPANPLUS'              => '0.9121',
+            'CPANPLUS::Internals'   => '0.9121',
+            'CPANPLUS::Shell::Default'=> '0.9121',
+            'Data::Dumper'          => '2.135_06',
+            'Digest::SHA'           => '5.71',
+            'ExtUtils::CBuilder'    => '0.280206',
+            'ExtUtils::CBuilder::Base'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280206',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280206',
+            'HTTP::Tiny'            => '0.017',
+            'Locale::Codes'         => '3.21',
+            'Locale::Codes::Constants'=> '3.21',
+            'Locale::Codes::Country'=> '3.21',
+            'Locale::Codes::Country_Codes'=> '3.21',
+            'Locale::Codes::Country_Retired'=> '3.21',
+            'Locale::Codes::Currency'=> '3.21',
+            'Locale::Codes::Currency_Codes'=> '3.21',
+            'Locale::Codes::Currency_Retired'=> '3.21',
+            'Locale::Codes::LangExt'=> '3.21',
+            'Locale::Codes::LangExt_Codes'=> '3.21',
+            'Locale::Codes::LangExt_Retired'=> '3.21',
+            'Locale::Codes::LangFam'=> '3.21',
+            'Locale::Codes::LangFam_Codes'=> '3.21',
+            'Locale::Codes::LangFam_Retired'=> '3.21',
+            'Locale::Codes::LangVar'=> '3.21',
+            'Locale::Codes::LangVar_Codes'=> '3.21',
+            'Locale::Codes::LangVar_Retired'=> '3.21',
+            'Locale::Codes::Language'=> '3.21',
+            'Locale::Codes::Language_Codes'=> '3.21',
+            'Locale::Codes::Language_Retired'=> '3.21',
+            'Locale::Codes::Script' => '3.21',
+            'Locale::Codes::Script_Codes'=> '3.21',
+            'Locale::Codes::Script_Retired'=> '3.21',
+            'Locale::Country'       => '3.21',
+            'Locale::Currency'      => '3.21',
+            'Locale::Language'      => '3.21',
+            'Locale::Script'        => '3.21',
+            'Module::CoreList'      => '2.65',
+            'Pod::Html'             => '1.1501',
+            'Pod::Perldoc'          => '3.17',
+            'Pod::Perldoc::BaseTo'  => '3.17',
+            'Pod::Perldoc::GetOptsOO'=> '3.17',
+            'Pod::Perldoc::ToANSI'  => '3.17',
+            'Pod::Perldoc::ToChecker'=> '3.17',
+            'Pod::Perldoc::ToMan'   => '3.17',
+            'Pod::Perldoc::ToNroff' => '3.17',
+            'Pod::Perldoc::ToPod'   => '3.17',
+            'Pod::Perldoc::ToRtf'   => '3.17',
+            'Pod::Perldoc::ToTerm'  => '3.17',
+            'Pod::Perldoc::ToText'  => '3.17',
+            'Pod::Perldoc::ToTk'    => '3.17',
+            'Pod::Perldoc::ToXml'   => '3.17',
+            'Pod::Simple'           => '3.20',
+            'Pod::Simple::BlackBox' => '3.20',
+            'Pod::Simple::Checker'  => '3.20',
+            'Pod::Simple::Debug'    => '3.20',
+            'Pod::Simple::DumpAsText'=> '3.20',
+            'Pod::Simple::DumpAsXML'=> '3.20',
+            'Pod::Simple::HTML'     => '3.20',
+            'Pod::Simple::HTMLBatch'=> '3.20',
+            'Pod::Simple::LinkSection'=> '3.20',
+            'Pod::Simple::Methody'  => '3.20',
+            'Pod::Simple::Progress' => '3.20',
+            'Pod::Simple::PullParser'=> '3.20',
+            'Pod::Simple::PullParserEndToken'=> '3.20',
+            'Pod::Simple::PullParserStartToken'=> '3.20',
+            'Pod::Simple::PullParserTextToken'=> '3.20',
+            'Pod::Simple::PullParserToken'=> '3.20',
+            'Pod::Simple::RTF'      => '3.20',
+            'Pod::Simple::Search'   => '3.20',
+            'Pod::Simple::SimpleTree'=> '3.20',
+            'Pod::Simple::Text'     => '3.20',
+            'Pod::Simple::TextContent'=> '3.20',
+            'Pod::Simple::TiedOutFH'=> '3.20',
+            'Pod::Simple::Transcode'=> '3.20',
+            'Pod::Simple::TranscodeDumb'=> '3.20',
+            'Pod::Simple::TranscodeSmart'=> '3.20',
+            'Pod::Simple::XHTML'    => '3.20',
+            'Pod::Simple::XMLOutStream'=> '3.20',
+            'Socket'                => '2.000',
+            'Term::ReadLine'        => '1.09',
+            'Unicode::Collate'      => '0.89',
+            'Unicode::Collate::CJK::Korean'=> '0.88',
+            'Unicode::Collate::Locale'=> '0.89',
+            'Unicode::Normalize'    => '1.14',
+            'Unicode::UCD'          => '0.42',
+            'XS::APItest'           => '0.37',
+            'arybase'               => '0.05',
+            'attributes'            => '0.18',
+            'charnames'             => '1.30',
+            'feature'               => '1.27',
+        },
+        removed => {
+        }
     },
-    5.013004 => {
-	'Shell'                 => '1',
+    5.016 => {
+        delta_from => 5.015009,
+        changed => {
+            'B::Concise'            => '0.89',
+            'B::Deparse'            => '1.14',
+            'Carp'                  => '1.26',
+            'Carp::Heavy'           => '1.26',
+            'IO::Socket'            => '1.35',
+            'Module::CoreList'      => '2.66',
+            'PerlIO::scalar'        => '0.14',
+            'Pod::Html'             => '1.1502',
+            'Safe'                  => '2.31_01',
+            'Socket'                => '2.001',
+            'Unicode::UCD'          => '0.43',
+            'XS::APItest'           => '0.38',
+            '_charnames'            => '1.31',
+            'attributes'            => '0.19',
+            'strict'                => '1.07',
+            'version'               => '0.99',
+        },
+        removed => {
+        }
     },
-    5.012002 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.016001 => {
+        delta_from => 5.016,
+        changed => {
+            'B'                     => '1.35',
+            'B::Deparse'            => '1.14_01',
+            'List::Util'            => '1.25',
+            'List::Util::PP'        => '1.25',
+            'List::Util::XS'        => '1.25',
+            'Module::CoreList'      => '2.70',
+            'PerlIO::scalar'        => '0.14_01',
+            'Scalar::Util'          => '1.25',
+            'Scalar::Util::PP'      => '1.25',
+            're'                    => '0.19_01',
+        },
+        removed => {
+        }
     },
-    5.013005 => {
-	'Shell'                 => '1',
+    5.016002 => {
+        delta_from => 5.016001,
+        changed => {
+            'Module::CoreList'      => '2.76',
+        },
+        removed => {
+        }
     },
-    5.013006 => {
-	'Shell'                 => '1',
+    5.016003 => {
+        delta_from => 5.016002,
+        changed => {
+            'Encode'                => '2.44_01',
+            'Module::CoreList'      => '2.76_02',
+            'XS::APItest'           => '0.39',
+        },
+        removed => {
+        }
     },
-    5.013007 => {
-	'Shell'                 => '1',
+    5.017 => {
+        delta_from => 5.016,
+        changed => {
+            'B'                     => '1.35',
+            'B::Concise'            => '0.90',
+            'ExtUtils::ParseXS'     => '3.17',
+            'ExtUtils::ParseXS::Utilities'=> '3.17',
+            'File::DosGlob'         => '1.07',
+            'File::Find'            => '1.21',
+            'File::stat'            => '1.06',
+            'Hash::Util'            => '0.12',
+            'IO::Socket'            => '1.34',
+            'Module::CoreList'      => '2.67',
+            'Pod::Functions'        => '1.06',
+            'Pod::Functions::Functions'=> '1.06',
+            'Storable'              => '2.35',
+            'XS::APItest'           => '0.39',
+            'diagnostics'           => '1.29',
+            'feature'               => '1.28',
+            'overload'              => '1.19',
+            'utf8'                  => '1.10',
+        },
+        removed => {
+            'Version::Requirements' => 1,
+        }
     },
-    5.013008 => {
-	'Shell'                 => '1',
+    5.017001 => {
+        delta_from => 5.017,
+        changed => {
+            'App::Prove'            => '3.25',
+            'App::Prove::State'     => '3.25',
+            'App::Prove::State::Result'=> '3.25',
+            'App::Prove::State::Result::Test'=> '3.25',
+            'Archive::Extract'      => '0.60',
+            'Archive::Tar'          => '1.88',
+            'Archive::Tar::Constant'=> '1.88',
+            'Archive::Tar::File'    => '1.88',
+            'B'                     => '1.36',
+            'B::Deparse'            => '1.15',
+            'CPAN::Meta'            => '2.120921',
+            'CPAN::Meta::Converter' => '2.120921',
+            'CPAN::Meta::Feature'   => '2.120921',
+            'CPAN::Meta::History'   => '2.120921',
+            'CPAN::Meta::Prereqs'   => '2.120921',
+            'CPAN::Meta::Requirements'=> '2.122',
+            'CPAN::Meta::Spec'      => '2.120921',
+            'CPAN::Meta::Validator' => '2.120921',
+            'CPAN::Meta::YAML'      => '0.008',
+            'CPANPLUS'              => '0.9130',
+            'CPANPLUS::Config::HomeEnv'=> '0.04',
+            'CPANPLUS::Internals'   => '0.9130',
+            'CPANPLUS::Shell::Default'=> '0.9130',
+            'Class::Struct'         => '0.64',
+            'Compress::Raw::Bzip2'  => '2.052',
+            'Compress::Raw::Zlib'   => '2.054',
+            'Compress::Zlib'        => '2.052',
+            'Digest::MD5'           => '2.52',
+            'DynaLoader'            => '1.15',
+            'ExtUtils::CBuilder'    => '0.280208',
+            'ExtUtils::CBuilder::Base'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280208',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280208',
+            'Fatal'                 => '2.11',
+            'File::DosGlob'         => '1.08',
+            'File::Fetch'           => '0.34',
+            'File::Spec::Unix'      => '3.39_03',
+            'Filter::Util::Call'    => '1.45',
+            'HTTP::Tiny'            => '0.022',
+            'IO'                    => '1.25_07',
+            'IO::Compress::Adapter::Bzip2'=> '2.052',
+            'IO::Compress::Adapter::Deflate'=> '2.052',
+            'IO::Compress::Adapter::Identity'=> '2.052',
+            'IO::Compress::Base'    => '2.052',
+            'IO::Compress::Base::Common'=> '2.052',
+            'IO::Compress::Bzip2'   => '2.052',
+            'IO::Compress::Deflate' => '2.052',
+            'IO::Compress::Gzip'    => '2.052',
+            'IO::Compress::Gzip::Constants'=> '2.052',
+            'IO::Compress::RawDeflate'=> '2.052',
+            'IO::Compress::Zip'     => '2.052',
+            'IO::Compress::Zip::Constants'=> '2.052',
+            'IO::Compress::Zlib::Constants'=> '2.052',
+            'IO::Compress::Zlib::Extra'=> '2.052',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.052',
+            'IO::Uncompress::Adapter::Identity'=> '2.052',
+            'IO::Uncompress::Adapter::Inflate'=> '2.052',
+            'IO::Uncompress::AnyInflate'=> '2.052',
+            'IO::Uncompress::AnyUncompress'=> '2.052',
+            'IO::Uncompress::Base'  => '2.052',
+            'IO::Uncompress::Bunzip2'=> '2.052',
+            'IO::Uncompress::Gunzip'=> '2.052',
+            'IO::Uncompress::Inflate'=> '2.052',
+            'IO::Uncompress::RawInflate'=> '2.052',
+            'IO::Uncompress::Unzip' => '2.052',
+            'IPC::Cmd'              => '0.78',
+            'List::Util'            => '1.25',
+            'List::Util::XS'        => '1.25',
+            'Locale::Codes'         => '3.22',
+            'Locale::Codes::Constants'=> '3.22',
+            'Locale::Codes::Country'=> '3.22',
+            'Locale::Codes::Country_Codes'=> '3.22',
+            'Locale::Codes::Country_Retired'=> '3.22',
+            'Locale::Codes::Currency'=> '3.22',
+            'Locale::Codes::Currency_Codes'=> '3.22',
+            'Locale::Codes::Currency_Retired'=> '3.22',
+            'Locale::Codes::LangExt'=> '3.22',
+            'Locale::Codes::LangExt_Codes'=> '3.22',
+            'Locale::Codes::LangExt_Retired'=> '3.22',
+            'Locale::Codes::LangFam'=> '3.22',
+            'Locale::Codes::LangFam_Codes'=> '3.22',
+            'Locale::Codes::LangFam_Retired'=> '3.22',
+            'Locale::Codes::LangVar'=> '3.22',
+            'Locale::Codes::LangVar_Codes'=> '3.22',
+            'Locale::Codes::LangVar_Retired'=> '3.22',
+            'Locale::Codes::Language'=> '3.22',
+            'Locale::Codes::Language_Codes'=> '3.22',
+            'Locale::Codes::Language_Retired'=> '3.22',
+            'Locale::Codes::Script' => '3.22',
+            'Locale::Codes::Script_Codes'=> '3.22',
+            'Locale::Codes::Script_Retired'=> '3.22',
+            'Locale::Country'       => '3.22',
+            'Locale::Currency'      => '3.22',
+            'Locale::Language'      => '3.22',
+            'Locale::Script'        => '3.22',
+            'Memoize'               => '1.03',
+            'Memoize::AnyDBM_File'  => '1.03',
+            'Memoize::Expire'       => '1.03',
+            'Memoize::ExpireFile'   => '1.03',
+            'Memoize::ExpireTest'   => '1.03',
+            'Memoize::NDBM_File'    => '1.03',
+            'Memoize::SDBM_File'    => '1.03',
+            'Memoize::Storable'     => '1.03',
+            'Module::Build'         => '0.40',
+            'Module::Build::Base'   => '0.40',
+            'Module::Build::Compat' => '0.40',
+            'Module::Build::Config' => '0.40',
+            'Module::Build::Cookbook'=> '0.40',
+            'Module::Build::Dumper' => '0.40',
+            'Module::Build::ModuleInfo'=> '0.40',
+            'Module::Build::Notes'  => '0.40',
+            'Module::Build::PPMMaker'=> '0.40',
+            'Module::Build::Platform::Amiga'=> '0.40',
+            'Module::Build::Platform::Default'=> '0.40',
+            'Module::Build::Platform::EBCDIC'=> '0.40',
+            'Module::Build::Platform::MPEiX'=> '0.40',
+            'Module::Build::Platform::MacOS'=> '0.40',
+            'Module::Build::Platform::RiscOS'=> '0.40',
+            'Module::Build::Platform::Unix'=> '0.40',
+            'Module::Build::Platform::VMS'=> '0.40',
+            'Module::Build::Platform::VOS'=> '0.40',
+            'Module::Build::Platform::Windows'=> '0.40',
+            'Module::Build::Platform::aix'=> '0.40',
+            'Module::Build::Platform::cygwin'=> '0.40',
+            'Module::Build::Platform::darwin'=> '0.40',
+            'Module::Build::Platform::os2'=> '0.40',
+            'Module::Build::PodParser'=> '0.40',
+            'Module::CoreList'      => '2.68',
+            'Module::Load::Conditional'=> '0.50',
+            'Object::Accessor'      => '0.44',
+            'POSIX'                 => '1.31',
+            'Params::Check'         => '0.36',
+            'Parse::CPAN::Meta'     => '1.4404',
+            'PerlIO::mmap'          => '0.011',
+            'PerlIO::via::QuotedPrint'=> '0.07',
+            'Pod::Html'             => '1.16',
+            'Pod::Man'              => '2.26',
+            'Pod::Text'             => '3.16',
+            'Safe'                  => '2.33_01',
+            'Scalar::Util'          => '1.25',
+            'Search::Dict'          => '1.07',
+            'Storable'              => '2.36',
+            'TAP::Base'             => '3.25',
+            'TAP::Formatter::Base'  => '3.25',
+            'TAP::Formatter::Color' => '3.25',
+            'TAP::Formatter::Console'=> '3.25',
+            'TAP::Formatter::Console::ParallelSession'=> '3.25',
+            'TAP::Formatter::Console::Session'=> '3.25',
+            'TAP::Formatter::File'  => '3.25',
+            'TAP::Formatter::File::Session'=> '3.25',
+            'TAP::Formatter::Session'=> '3.25',
+            'TAP::Harness'          => '3.25',
+            'TAP::Object'           => '3.25',
+            'TAP::Parser'           => '3.25',
+            'TAP::Parser::Aggregator'=> '3.25',
+            'TAP::Parser::Grammar'  => '3.25',
+            'TAP::Parser::Iterator' => '3.25',
+            'TAP::Parser::Iterator::Array'=> '3.25',
+            'TAP::Parser::Iterator::Process'=> '3.25',
+            'TAP::Parser::Iterator::Stream'=> '3.25',
+            'TAP::Parser::IteratorFactory'=> '3.25',
+            'TAP::Parser::Multiplexer'=> '3.25',
+            'TAP::Parser::Result'   => '3.25',
+            'TAP::Parser::Result::Bailout'=> '3.25',
+            'TAP::Parser::Result::Comment'=> '3.25',
+            'TAP::Parser::Result::Plan'=> '3.25',
+            'TAP::Parser::Result::Pragma'=> '3.25',
+            'TAP::Parser::Result::Test'=> '3.25',
+            'TAP::Parser::Result::Unknown'=> '3.25',
+            'TAP::Parser::Result::Version'=> '3.25',
+            'TAP::Parser::Result::YAML'=> '3.25',
+            'TAP::Parser::ResultFactory'=> '3.25',
+            'TAP::Parser::Scheduler'=> '3.25',
+            'TAP::Parser::Scheduler::Job'=> '3.25',
+            'TAP::Parser::Scheduler::Spinner'=> '3.25',
+            'TAP::Parser::Source'   => '3.25',
+            'TAP::Parser::SourceHandler'=> '3.25',
+            'TAP::Parser::SourceHandler::Executable'=> '3.25',
+            'TAP::Parser::SourceHandler::File'=> '3.25',
+            'TAP::Parser::SourceHandler::Handle'=> '3.25',
+            'TAP::Parser::SourceHandler::Perl'=> '3.25',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.25',
+            'TAP::Parser::Utils'    => '3.25',
+            'TAP::Parser::YAMLish::Reader'=> '3.25',
+            'TAP::Parser::YAMLish::Writer'=> '3.25',
+            'Term::ANSIColor'       => '3.02',
+            'Test::Harness'         => '3.25',
+            'Unicode'               => '6.2.0',
+            'Unicode::UCD'          => '0.44',
+            'XS::APItest'           => '0.40',
+            '_charnames'            => '1.32',
+            'attributes'            => '0.2',
+            'autodie'               => '2.11',
+            'autodie::exception'    => '2.11',
+            'autodie::exception::system'=> '2.11',
+            'autodie::hints'        => '2.11',
+            'bigint'                => '0.30',
+            'charnames'             => '1.32',
+            'feature'               => '1.29',
+            'inc::latest'           => '0.40',
+            'perlfaq'               => '5.0150040',
+            're'                    => '0.20',
+        },
+        removed => {
+            'List::Util::PP'        => 1,
+            'Scalar::Util::PP'      => 1,
+        }
     },
-    5.012003 => {
-	'Class::ISA'            => '1',
-	'Pod::Plainer'          => '1',
-	'Shell'                 => '1',
-	'Switch'                => '1',
+    5.017002 => {
+        delta_from => 5.017001,
+        changed => {
+            'App::Prove'            => '3.25_01',
+            'App::Prove::State'     => '3.25_01',
+            'App::Prove::State::Result'=> '3.25_01',
+            'App::Prove::State::Result::Test'=> '3.25_01',
+            'B::Concise'            => '0.91',
+            'Compress::Raw::Bzip2'  => '2.05201',
+            'Compress::Raw::Zlib'   => '2.05401',
+            'Exporter'              => '5.67',
+            'Exporter::Heavy'       => '5.67',
+            'Fatal'                 => '2.12',
+            'File::Fetch'           => '0.36',
+            'File::stat'            => '1.07',
+            'IO'                    => '1.25_08',
+            'IO::Socket'            => '1.35',
+            'Module::CoreList'      => '2.69',
+            'PerlIO::scalar'        => '0.15',
+            'Socket'                => '2.002',
+            'Storable'              => '2.37',
+            'TAP::Base'             => '3.25_01',
+            'TAP::Formatter::Base'  => '3.25_01',
+            'TAP::Formatter::Color' => '3.25_01',
+            'TAP::Formatter::Console'=> '3.25_01',
+            'TAP::Formatter::Console::ParallelSession'=> '3.25_01',
+            'TAP::Formatter::Console::Session'=> '3.25_01',
+            'TAP::Formatter::File'  => '3.25_01',
+            'TAP::Formatter::File::Session'=> '3.25_01',
+            'TAP::Formatter::Session'=> '3.25_01',
+            'TAP::Harness'          => '3.25_01',
+            'TAP::Object'           => '3.25_01',
+            'TAP::Parser'           => '3.25_01',
+            'TAP::Parser::Aggregator'=> '3.25_01',
+            'TAP::Parser::Grammar'  => '3.25_01',
+            'TAP::Parser::Iterator' => '3.25_01',
+            'TAP::Parser::Iterator::Array'=> '3.25_01',
+            'TAP::Parser::Iterator::Process'=> '3.25_01',
+            'TAP::Parser::Iterator::Stream'=> '3.25_01',
+            'TAP::Parser::IteratorFactory'=> '3.25_01',
+            'TAP::Parser::Multiplexer'=> '3.25_01',
+            'TAP::Parser::Result'   => '3.25_01',
+            'TAP::Parser::Result::Bailout'=> '3.25_01',
+            'TAP::Parser::Result::Comment'=> '3.25_01',
+            'TAP::Parser::Result::Plan'=> '3.25_01',
+            'TAP::Parser::Result::Pragma'=> '3.25_01',
+            'TAP::Parser::Result::Test'=> '3.25_01',
+            'TAP::Parser::Result::Unknown'=> '3.25_01',
+            'TAP::Parser::Result::Version'=> '3.25_01',
+            'TAP::Parser::Result::YAML'=> '3.25_01',
+            'TAP::Parser::ResultFactory'=> '3.25_01',
+            'TAP::Parser::Scheduler'=> '3.25_01',
+            'TAP::Parser::Scheduler::Job'=> '3.25_01',
+            'TAP::Parser::Scheduler::Spinner'=> '3.25_01',
+            'TAP::Parser::Source'   => '3.25_01',
+            'TAP::Parser::SourceHandler'=> '3.25_01',
+            'TAP::Parser::SourceHandler::Executable'=> '3.25_01',
+            'TAP::Parser::SourceHandler::File'=> '3.25_01',
+            'TAP::Parser::SourceHandler::Handle'=> '3.25_01',
+            'TAP::Parser::SourceHandler::Perl'=> '3.25_01',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.25_01',
+            'TAP::Parser::Utils'    => '3.25_01',
+            'TAP::Parser::YAMLish::Reader'=> '3.25_01',
+            'TAP::Parser::YAMLish::Writer'=> '3.25_01',
+            'Test::Harness'         => '3.25_01',
+            'Tie::StdHandle'        => '4.3',
+            'XS::APItest'           => '0.41',
+            'autodie'               => '2.12',
+            'autodie::exception'    => '2.12',
+            'autodie::exception::system'=> '2.12',
+            'autodie::hints'        => '2.12',
+            'diagnostics'           => '1.30',
+            'overload'              => '1.20',
+            're'                    => '0.21',
+            'vars'                  => '1.03',
+        },
+        removed => {
+        }
     },
-    5.013009 => {
-	'Shell'                 => '1',
+    5.017003 => {
+        delta_from => 5.017002,
+        changed => {
+            'B'                     => '1.37',
+            'B::Concise'            => '0.92',
+            'B::Debug'              => '1.18',
+            'B::Deparse'            => '1.16',
+            'CGI'                   => '3.60',
+            'Compress::Raw::Bzip2'  => '2.055',
+            'Compress::Raw::Zlib'   => '2.056',
+            'Compress::Zlib'        => '2.055',
+            'Data::Dumper'          => '2.135_07',
+            'Devel::Peek'           => '1.09',
+            'Encode'                => '2.47',
+            'Encode::Alias'         => '2.16',
+            'Encode::GSM0338'       => '2.02',
+            'Encode::Unicode::UTF7' => '2.06',
+            'IO::Compress::Adapter::Bzip2'=> '2.055',
+            'IO::Compress::Adapter::Deflate'=> '2.055',
+            'IO::Compress::Adapter::Identity'=> '2.055',
+            'IO::Compress::Base'    => '2.055',
+            'IO::Compress::Base::Common'=> '2.055',
+            'IO::Compress::Bzip2'   => '2.055',
+            'IO::Compress::Deflate' => '2.055',
+            'IO::Compress::Gzip'    => '2.055',
+            'IO::Compress::Gzip::Constants'=> '2.055',
+            'IO::Compress::RawDeflate'=> '2.055',
+            'IO::Compress::Zip'     => '2.055',
+            'IO::Compress::Zip::Constants'=> '2.055',
+            'IO::Compress::Zlib::Constants'=> '2.055',
+            'IO::Compress::Zlib::Extra'=> '2.055',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.055',
+            'IO::Uncompress::Adapter::Identity'=> '2.055',
+            'IO::Uncompress::Adapter::Inflate'=> '2.055',
+            'IO::Uncompress::AnyInflate'=> '2.055',
+            'IO::Uncompress::AnyUncompress'=> '2.055',
+            'IO::Uncompress::Base'  => '2.055',
+            'IO::Uncompress::Bunzip2'=> '2.055',
+            'IO::Uncompress::Gunzip'=> '2.055',
+            'IO::Uncompress::Inflate'=> '2.055',
+            'IO::Uncompress::RawInflate'=> '2.055',
+            'IO::Uncompress::Unzip' => '2.055',
+            'Module::Build'         => '0.4003',
+            'Module::Build::Base'   => '0.4003',
+            'Module::Build::Compat' => '0.4003',
+            'Module::Build::Config' => '0.4003',
+            'Module::Build::Cookbook'=> '0.4003',
+            'Module::Build::Dumper' => '0.4003',
+            'Module::Build::ModuleInfo'=> '0.4003',
+            'Module::Build::Notes'  => '0.4003',
+            'Module::Build::PPMMaker'=> '0.4003',
+            'Module::Build::Platform::Amiga'=> '0.4003',
+            'Module::Build::Platform::Default'=> '0.4003',
+            'Module::Build::Platform::EBCDIC'=> '0.4003',
+            'Module::Build::Platform::MPEiX'=> '0.4003',
+            'Module::Build::Platform::MacOS'=> '0.4003',
+            'Module::Build::Platform::RiscOS'=> '0.4003',
+            'Module::Build::Platform::Unix'=> '0.4003',
+            'Module::Build::Platform::VMS'=> '0.4003',
+            'Module::Build::Platform::VOS'=> '0.4003',
+            'Module::Build::Platform::Windows'=> '0.4003',
+            'Module::Build::Platform::aix'=> '0.4003',
+            'Module::Build::Platform::cygwin'=> '0.4003',
+            'Module::Build::Platform::darwin'=> '0.4003',
+            'Module::Build::Platform::os2'=> '0.4003',
+            'Module::Build::PodParser'=> '0.4003',
+            'Module::CoreList'      => '2.71',
+            'Module::CoreList::TieHashDelta'=> '2.71',
+            'Module::Load::Conditional'=> '0.54',
+            'Module::Metadata'      => '1.000011',
+            'Module::Pluggable'     => '4.3',
+            'Module::Pluggable::Object'=> '4.3',
+            'Pod::Simple'           => '3.23',
+            'Pod::Simple::BlackBox' => '3.23',
+            'Pod::Simple::Checker'  => '3.23',
+            'Pod::Simple::Debug'    => '3.23',
+            'Pod::Simple::DumpAsText'=> '3.23',
+            'Pod::Simple::DumpAsXML'=> '3.23',
+            'Pod::Simple::HTML'     => '3.23',
+            'Pod::Simple::HTMLBatch'=> '3.23',
+            'Pod::Simple::LinkSection'=> '3.23',
+            'Pod::Simple::Methody'  => '3.23',
+            'Pod::Simple::Progress' => '3.23',
+            'Pod::Simple::PullParser'=> '3.23',
+            'Pod::Simple::PullParserEndToken'=> '3.23',
+            'Pod::Simple::PullParserStartToken'=> '3.23',
+            'Pod::Simple::PullParserTextToken'=> '3.23',
+            'Pod::Simple::PullParserToken'=> '3.23',
+            'Pod::Simple::RTF'      => '3.23',
+            'Pod::Simple::Search'   => '3.23',
+            'Pod::Simple::SimpleTree'=> '3.23',
+            'Pod::Simple::Text'     => '3.23',
+            'Pod::Simple::TextContent'=> '3.23',
+            'Pod::Simple::TiedOutFH'=> '3.23',
+            'Pod::Simple::Transcode'=> '3.23',
+            'Pod::Simple::TranscodeDumb'=> '3.23',
+            'Pod::Simple::TranscodeSmart'=> '3.23',
+            'Pod::Simple::XHTML'    => '3.23',
+            'Pod::Simple::XMLOutStream'=> '3.23',
+            'Socket'                => '2.004',
+            'Storable'              => '2.38',
+            'Sys::Syslog'           => '0.31',
+            'Term::ReadLine'        => '1.10',
+            'Text::Tabs'            => '2012.0818',
+            'Text::Wrap'            => '2012.0818',
+            'Time::Local'           => '1.2300',
+            'Unicode::UCD'          => '0.45',
+            'Win32'                 => '0.45',
+            'Win32CORE'             => '0.03',
+            'XS::APItest'           => '0.42',
+            'inc::latest'           => '0.4003',
+            'perlfaq'               => '5.0150041',
+            're'                    => '0.22',
+        },
+        removed => {
+        }
     },
-    5.013010 => {
-	'Shell'                 => '1',
+    5.017004 => {
+        delta_from => 5.017003,
+        changed => {
+            'Archive::Tar'          => '1.90',
+            'Archive::Tar::Constant'=> '1.90',
+            'Archive::Tar::File'    => '1.90',
+            'B'                     => '1.38',
+            'B::Concise'            => '0.93',
+            'B::Deparse'            => '1.17',
+            'B::Xref'               => '1.04',
+            'CPANPLUS'              => '0.9131',
+            'CPANPLUS::Internals'   => '0.9131',
+            'CPANPLUS::Shell::Default'=> '0.9131',
+            'DB_File'               => '1.827',
+            'Devel::Peek'           => '1.10',
+            'DynaLoader'            => '1.16',
+            'Errno'                 => '1.16',
+            'ExtUtils::ParseXS'     => '3.18',
+            'ExtUtils::ParseXS::Constants'=> '3.18',
+            'ExtUtils::ParseXS::CountLines'=> '3.18',
+            'ExtUtils::ParseXS::Utilities'=> '3.18',
+            'File::Copy'            => '2.24',
+            'File::Find'            => '1.22',
+            'IPC::Open3'            => '1.13',
+            'Locale::Codes'         => '3.23',
+            'Locale::Codes::Constants'=> '3.23',
+            'Locale::Codes::Country'=> '3.23',
+            'Locale::Codes::Country_Codes'=> '3.23',
+            'Locale::Codes::Country_Retired'=> '3.23',
+            'Locale::Codes::Currency'=> '3.23',
+            'Locale::Codes::Currency_Codes'=> '3.23',
+            'Locale::Codes::Currency_Retired'=> '3.23',
+            'Locale::Codes::LangExt'=> '3.23',
+            'Locale::Codes::LangExt_Codes'=> '3.23',
+            'Locale::Codes::LangExt_Retired'=> '3.23',
+            'Locale::Codes::LangFam'=> '3.23',
+            'Locale::Codes::LangFam_Codes'=> '3.23',
+            'Locale::Codes::LangFam_Retired'=> '3.23',
+            'Locale::Codes::LangVar'=> '3.23',
+            'Locale::Codes::LangVar_Codes'=> '3.23',
+            'Locale::Codes::LangVar_Retired'=> '3.23',
+            'Locale::Codes::Language'=> '3.23',
+            'Locale::Codes::Language_Codes'=> '3.23',
+            'Locale::Codes::Language_Retired'=> '3.23',
+            'Locale::Codes::Script' => '3.23',
+            'Locale::Codes::Script_Codes'=> '3.23',
+            'Locale::Codes::Script_Retired'=> '3.23',
+            'Locale::Country'       => '3.23',
+            'Locale::Currency'      => '3.23',
+            'Locale::Language'      => '3.23',
+            'Locale::Script'        => '3.23',
+            'Math::BigFloat::Trace' => '0.30',
+            'Math::BigInt::Trace'   => '0.30',
+            'Module::CoreList'      => '2.73',
+            'Module::CoreList::TieHashDelta'=> '2.73',
+            'Opcode'                => '1.24',
+            'Socket'                => '2.006',
+            'Storable'              => '2.39',
+            'Sys::Syslog'           => '0.32',
+            'Unicode::UCD'          => '0.46',
+            'XS::APItest'           => '0.43',
+            'bignum'                => '0.30',
+            'bigrat'                => '0.30',
+            'constant'              => '1.24',
+            'feature'               => '1.30',
+            'threads::shared'       => '1.41',
+            'version'               => '0.9901',
+            'warnings'              => '1.14',
+        },
+        removed => {
+        }
     },
-    5.013011 => {
-	'Shell'                 => '1',
+    5.017005 => {
+        delta_from => 5.017004,
+        changed => {
+            'AutoLoader'            => '5.73',
+            'B'                     => '1.39',
+            'B::Deparse'            => '1.18',
+            'CPANPLUS'              => '0.9133',
+            'CPANPLUS::Internals'   => '0.9133',
+            'CPANPLUS::Shell::Default'=> '0.9133',
+            'Carp'                  => '1.27',
+            'Carp::Heavy'           => '1.27',
+            'Data::Dumper'          => '2.136',
+            'Digest::SHA'           => '5.72',
+            'ExtUtils::CBuilder'    => '0.280209',
+            'ExtUtils::CBuilder::Base'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::Unix'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::VMS'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::Windows'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::Windows::GCC'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::Windows::MSVC'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::aix'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::cygwin'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::darwin'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::dec_osf'=> '0.280209',
+            'ExtUtils::CBuilder::Platform::os2'=> '0.280209',
+            'File::Copy'            => '2.25',
+            'File::Glob'            => '1.18',
+            'HTTP::Tiny'            => '0.024',
+            'Module::CoreList'      => '2.75',
+            'Module::CoreList::TieHashDelta'=> '2.75',
+            'PerlIO::encoding'      => '0.16',
+            'Unicode::Collate'      => '0.90',
+            'Unicode::Collate::Locale'=> '0.90',
+            'Unicode::Normalize'    => '1.15',
+            'Win32CORE'             => '0.04',
+            'XS::APItest'           => '0.44',
+            'attributes'            => '0.21',
+            'bigint'                => '0.31',
+            'bignum'                => '0.31',
+            'bigrat'                => '0.31',
+            'feature'               => '1.31',
+            'threads::shared'       => '1.42',
+            'warnings'              => '1.15',
+        },
+        removed => {
+        }
     },
-    5.014000 => {
-	'Shell'                 => '1',
+    5.017006 => {
+        delta_from => 5.017005,
+        changed => {
+            'B'                     => '1.40',
+            'B::Concise'            => '0.94',
+            'B::Deparse'            => '1.19',
+            'B::Xref'               => '1.05',
+            'CGI'                   => '3.63',
+            'CGI::Util'             => '3.62',
+            'CPAN'                  => '1.99_51',
+            'CPANPLUS::Dist::Build' => '0.64',
+            'CPANPLUS::Dist::Build::Constants'=> '0.64',
+            'Carp'                  => '1.28',
+            'Carp::Heavy'           => '1.28',
+            'Compress::Raw::Bzip2'  => '2.058',
+            'Compress::Raw::Zlib'   => '2.058',
+            'Compress::Zlib'        => '2.058',
+            'Data::Dumper'          => '2.137',
+            'Digest::SHA'           => '5.73',
+            'DynaLoader'            => '1.17',
+            'Env'                   => '1.04',
+            'Errno'                 => '1.17',
+            'ExtUtils::Manifest'    => '1.62',
+            'ExtUtils::Typemaps'    => '3.18',
+            'ExtUtils::Typemaps::Cmd'=> '3.18',
+            'ExtUtils::Typemaps::InputMap'=> '3.18',
+            'ExtUtils::Typemaps::OutputMap'=> '3.18',
+            'ExtUtils::Typemaps::Type'=> '3.18',
+            'Fatal'                 => '2.13',
+            'File::Find'            => '1.23',
+            'Hash::Util'            => '0.13',
+            'IO::Compress::Adapter::Bzip2'=> '2.058',
+            'IO::Compress::Adapter::Deflate'=> '2.058',
+            'IO::Compress::Adapter::Identity'=> '2.058',
+            'IO::Compress::Base'    => '2.058',
+            'IO::Compress::Base::Common'=> '2.058',
+            'IO::Compress::Bzip2'   => '2.058',
+            'IO::Compress::Deflate' => '2.058',
+            'IO::Compress::Gzip'    => '2.058',
+            'IO::Compress::Gzip::Constants'=> '2.058',
+            'IO::Compress::RawDeflate'=> '2.058',
+            'IO::Compress::Zip'     => '2.058',
+            'IO::Compress::Zip::Constants'=> '2.058',
+            'IO::Compress::Zlib::Constants'=> '2.058',
+            'IO::Compress::Zlib::Extra'=> '2.058',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.058',
+            'IO::Uncompress::Adapter::Identity'=> '2.058',
+            'IO::Uncompress::Adapter::Inflate'=> '2.058',
+            'IO::Uncompress::AnyInflate'=> '2.058',
+            'IO::Uncompress::AnyUncompress'=> '2.058',
+            'IO::Uncompress::Base'  => '2.058',
+            'IO::Uncompress::Bunzip2'=> '2.058',
+            'IO::Uncompress::Gunzip'=> '2.058',
+            'IO::Uncompress::Inflate'=> '2.058',
+            'IO::Uncompress::RawInflate'=> '2.058',
+            'IO::Uncompress::Unzip' => '2.058',
+            'Module::CoreList'      => '2.78',
+            'Module::CoreList::TieHashDelta'=> '2.77',
+            'Module::Pluggable'     => '4.5',
+            'Module::Pluggable::Object'=> '4.5',
+            'Opcode'                => '1.25',
+            'Sys::Hostname'         => '1.17',
+            'Term::UI'              => '0.32',
+            'Thread::Queue'         => '3.01',
+            'Tie::Hash::NamedCapture'=> '0.09',
+            'Unicode::Collate'      => '0.93',
+            'Unicode::Collate::CJK::Korean'=> '0.93',
+            'Unicode::Collate::Locale'=> '0.93',
+            'Unicode::Normalize'    => '1.16',
+            'Unicode::UCD'          => '0.47',
+            'XS::APItest'           => '0.46',
+            '_charnames'            => '1.33',
+            'autodie'               => '2.13',
+            'autodie::exception'    => '2.13',
+            'autodie::exception::system'=> '2.13',
+            'autodie::hints'        => '2.13',
+            'charnames'             => '1.33',
+            're'                    => '0.23',
+        },
+        removed => {
+        }
     },
-    5.014001 => {
-	'Shell'                 => '1',
+    5.017007 => {
+        delta_from => 5.017006,
+        changed => {
+            'B'                     => '1.41',
+            'CPANPLUS::Dist::Build' => '0.68',
+            'CPANPLUS::Dist::Build::Constants'=> '0.68',
+            'Compress::Raw::Bzip2'  => '2.059',
+            'Compress::Raw::Zlib'   => '2.059',
+            'Compress::Zlib'        => '2.059',
+            'Cwd'                   => '3.39_03',
+            'Data::Dumper'          => '2.139',
+            'Devel::Peek'           => '1.11',
+            'Digest::SHA'           => '5.80',
+            'DynaLoader'            => '1.18',
+            'English'               => '1.06',
+            'Errno'                 => '1.18',
+            'ExtUtils::Command::MM' => '6.64',
+            'ExtUtils::Liblist'     => '6.64',
+            'ExtUtils::Liblist::Kid'=> '6.64',
+            'ExtUtils::MM'          => '6.64',
+            'ExtUtils::MM_AIX'      => '6.64',
+            'ExtUtils::MM_Any'      => '6.64',
+            'ExtUtils::MM_BeOS'     => '6.64',
+            'ExtUtils::MM_Cygwin'   => '6.64',
+            'ExtUtils::MM_DOS'      => '6.64',
+            'ExtUtils::MM_Darwin'   => '6.64',
+            'ExtUtils::MM_MacOS'    => '6.64',
+            'ExtUtils::MM_NW5'      => '6.64',
+            'ExtUtils::MM_OS2'      => '6.64',
+            'ExtUtils::MM_QNX'      => '6.64',
+            'ExtUtils::MM_UWIN'     => '6.64',
+            'ExtUtils::MM_Unix'     => '6.64',
+            'ExtUtils::MM_VMS'      => '6.64',
+            'ExtUtils::MM_VOS'      => '6.64',
+            'ExtUtils::MM_Win32'    => '6.64',
+            'ExtUtils::MM_Win95'    => '6.64',
+            'ExtUtils::MY'          => '6.64',
+            'ExtUtils::MakeMaker'   => '6.64',
+            'ExtUtils::MakeMaker::Config'=> '6.64',
+            'ExtUtils::Mkbootstrap' => '6.64',
+            'ExtUtils::Mksymlists'  => '6.64',
+            'ExtUtils::testlib'     => '6.64',
+            'File::DosGlob'         => '1.09',
+            'File::Glob'            => '1.19',
+            'GDBM_File'             => '1.15',
+            'IO::Compress::Adapter::Bzip2'=> '2.059',
+            'IO::Compress::Adapter::Deflate'=> '2.059',
+            'IO::Compress::Adapter::Identity'=> '2.059',
+            'IO::Compress::Base'    => '2.059',
+            'IO::Compress::Base::Common'=> '2.059',
+            'IO::Compress::Bzip2'   => '2.059',
+            'IO::Compress::Deflate' => '2.059',
+            'IO::Compress::Gzip'    => '2.059',
+            'IO::Compress::Gzip::Constants'=> '2.059',
+            'IO::Compress::RawDeflate'=> '2.059',
+            'IO::Compress::Zip'     => '2.059',
+            'IO::Compress::Zip::Constants'=> '2.059',
+            'IO::Compress::Zlib::Constants'=> '2.059',
+            'IO::Compress::Zlib::Extra'=> '2.059',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.059',
+            'IO::Uncompress::Adapter::Identity'=> '2.059',
+            'IO::Uncompress::Adapter::Inflate'=> '2.059',
+            'IO::Uncompress::AnyInflate'=> '2.059',
+            'IO::Uncompress::AnyUncompress'=> '2.059',
+            'IO::Uncompress::Base'  => '2.059',
+            'IO::Uncompress::Bunzip2'=> '2.059',
+            'IO::Uncompress::Gunzip'=> '2.059',
+            'IO::Uncompress::Inflate'=> '2.059',
+            'IO::Uncompress::RawInflate'=> '2.059',
+            'IO::Uncompress::Unzip' => '2.059',
+            'List::Util'            => '1.26',
+            'List::Util::XS'        => '1.26',
+            'Locale::Codes'         => '3.24',
+            'Locale::Codes::Constants'=> '3.24',
+            'Locale::Codes::Country'=> '3.24',
+            'Locale::Codes::Country_Codes'=> '3.24',
+            'Locale::Codes::Country_Retired'=> '3.24',
+            'Locale::Codes::Currency'=> '3.24',
+            'Locale::Codes::Currency_Codes'=> '3.24',
+            'Locale::Codes::Currency_Retired'=> '3.24',
+            'Locale::Codes::LangExt'=> '3.24',
+            'Locale::Codes::LangExt_Codes'=> '3.24',
+            'Locale::Codes::LangExt_Retired'=> '3.24',
+            'Locale::Codes::LangFam'=> '3.24',
+            'Locale::Codes::LangFam_Codes'=> '3.24',
+            'Locale::Codes::LangFam_Retired'=> '3.24',
+            'Locale::Codes::LangVar'=> '3.24',
+            'Locale::Codes::LangVar_Codes'=> '3.24',
+            'Locale::Codes::LangVar_Retired'=> '3.24',
+            'Locale::Codes::Language'=> '3.24',
+            'Locale::Codes::Language_Codes'=> '3.24',
+            'Locale::Codes::Language_Retired'=> '3.24',
+            'Locale::Codes::Script' => '3.24',
+            'Locale::Codes::Script_Codes'=> '3.24',
+            'Locale::Codes::Script_Retired'=> '3.24',
+            'Locale::Country'       => '3.24',
+            'Locale::Currency'      => '3.24',
+            'Locale::Language'      => '3.24',
+            'Locale::Maketext'      => '1.23',
+            'Locale::Script'        => '3.24',
+            'Module::CoreList'      => '2.79',
+            'Module::CoreList::TieHashDelta'=> '2.79',
+            'POSIX'                 => '1.32',
+            'Scalar::Util'          => '1.26',
+            'Socket'                => '2.006_001',
+            'Storable'              => '2.40',
+            'Term::ReadLine'        => '1.11',
+            'Unicode::Collate'      => '0.96',
+            'Unicode::Collate::CJK::Stroke'=> '0.94',
+            'Unicode::Collate::CJK::Zhuyin'=> '0.94',
+            'Unicode::Collate::Locale'=> '0.96',
+            'XS::APItest'           => '0.48',
+            'XS::Typemap'           => '0.09',
+            '_charnames'            => '1.34',
+            'charnames'             => '1.34',
+            'feature'               => '1.32',
+            'mro'                   => '1.10',
+            'sigtrap'               => '1.07',
+            'sort'                  => '2.02',
+        },
+        removed => {
+        }
     },
-    5.014002 => {
-	'Shell'                 => '1',
+    5.017008 => {
+        delta_from => 5.017007,
+        changed => {
+            'Archive::Extract'      => '0.62',
+            'B'                     => '1.42',
+            'B::Concise'            => '0.95',
+            'Compress::Raw::Bzip2'  => '2.060',
+            'Compress::Raw::Zlib'   => '2.060',
+            'Compress::Zlib'        => '2.060',
+            'Cwd'                   => '3.40',
+            'Data::Dumper'          => '2.141',
+            'Digest::SHA'           => '5.81',
+            'ExtUtils::Install'     => '1.59',
+            'File::Fetch'           => '0.38',
+            'File::Path'            => '2.09',
+            'File::Spec'            => '3.40',
+            'File::Spec::Cygwin'    => '3.40',
+            'File::Spec::Epoc'      => '3.40',
+            'File::Spec::Functions' => '3.40',
+            'File::Spec::Mac'       => '3.40',
+            'File::Spec::OS2'       => '3.40',
+            'File::Spec::Unix'      => '3.40',
+            'File::Spec::VMS'       => '3.40',
+            'File::Spec::Win32'     => '3.40',
+            'HTTP::Tiny'            => '0.025',
+            'Hash::Util'            => '0.14',
+            'I18N::LangTags'        => '0.39',
+            'I18N::LangTags::List'  => '0.39',
+            'I18N::Langinfo'        => '0.09',
+            'IO'                    => '1.26',
+            'IO::Compress::Adapter::Bzip2'=> '2.060',
+            'IO::Compress::Adapter::Deflate'=> '2.060',
+            'IO::Compress::Adapter::Identity'=> '2.060',
+            'IO::Compress::Base'    => '2.060',
+            'IO::Compress::Base::Common'=> '2.060',
+            'IO::Compress::Bzip2'   => '2.060',
+            'IO::Compress::Deflate' => '2.060',
+            'IO::Compress::Gzip'    => '2.060',
+            'IO::Compress::Gzip::Constants'=> '2.060',
+            'IO::Compress::RawDeflate'=> '2.060',
+            'IO::Compress::Zip'     => '2.060',
+            'IO::Compress::Zip::Constants'=> '2.060',
+            'IO::Compress::Zlib::Constants'=> '2.060',
+            'IO::Compress::Zlib::Extra'=> '2.060',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.060',
+            'IO::Uncompress::Adapter::Identity'=> '2.060',
+            'IO::Uncompress::Adapter::Inflate'=> '2.060',
+            'IO::Uncompress::AnyInflate'=> '2.060',
+            'IO::Uncompress::AnyUncompress'=> '2.060',
+            'IO::Uncompress::Base'  => '2.060',
+            'IO::Uncompress::Bunzip2'=> '2.060',
+            'IO::Uncompress::Gunzip'=> '2.060',
+            'IO::Uncompress::Inflate'=> '2.060',
+            'IO::Uncompress::RawInflate'=> '2.060',
+            'IO::Uncompress::Unzip' => '2.060',
+            'List::Util'            => '1.27',
+            'List::Util::XS'        => '1.27',
+            'Module::CoreList'      => '2.80',
+            'Module::CoreList::TieHashDelta'=> '2.80',
+            'Pod::Html'             => '1.17',
+            'Pod::LaTeX'            => '0.61',
+            'Pod::Man'              => '2.27',
+            'Pod::Text'             => '3.17',
+            'Pod::Text::Color'      => '2.07',
+            'Pod::Text::Overstrike' => '2.05',
+            'Pod::Text::Termcap'    => '2.07',
+            'Safe'                  => '2.34',
+            'Scalar::Util'          => '1.27',
+            'Socket'                => '2.009',
+            'Term::ANSIColor'       => '4.02',
+            'Test'                  => '1.26',
+            'Unicode::Collate'      => '0.97',
+            'XS::APItest'           => '0.51',
+            'XS::Typemap'           => '0.10',
+            '_charnames'            => '1.35',
+            'charnames'             => '1.35',
+            'constant'              => '1.25',
+            'diagnostics'           => '1.31',
+            'threads::shared'       => '1.43',
+            'warnings'              => '1.16',
+        },
+        removed => {
+        }
     },
+    5.017009 => {
+        delta_from => 5.017008,
+        changed => {
+            'App::Cpan'             => '1.60_02',
+            'App::Prove'            => '3.26',
+            'App::Prove::State'     => '3.26',
+            'App::Prove::State::Result'=> '3.26',
+            'App::Prove::State::Result::Test'=> '3.26',
+            'Archive::Extract'      => '0.68',
+            'Attribute::Handlers'   => '0.94',
+            'B::Lint'               => '1.17',
+            'B::Lint::Debug'        => '1.17',
+            'Benchmark'             => '1.14',
+            'CPAN'                  => '2.00',
+            'CPAN::Distribution'    => '2.00',
+            'CPAN::FirstTime'       => '5.5304',
+            'CPAN::Nox'             => '5.5001',
+            'CPANPLUS'              => '0.9135',
+            'CPANPLUS::Backend'     => '0.9135',
+            'CPANPLUS::Backend::RV' => '0.9135',
+            'CPANPLUS::Config'      => '0.9135',
+            'CPANPLUS::Config::HomeEnv'=> '0.9135',
+            'CPANPLUS::Configure'   => '0.9135',
+            'CPANPLUS::Configure::Setup'=> '0.9135',
+            'CPANPLUS::Dist'        => '0.9135',
+            'CPANPLUS::Dist::Autobundle'=> '0.9135',
+            'CPANPLUS::Dist::Base'  => '0.9135',
+            'CPANPLUS::Dist::Build' => '0.70',
+            'CPANPLUS::Dist::Build::Constants'=> '0.70',
+            'CPANPLUS::Dist::MM'    => '0.9135',
+            'CPANPLUS::Dist::Sample'=> '0.9135',
+            'CPANPLUS::Error'       => '0.9135',
+            'CPANPLUS::Internals'   => '0.9135',
+            'CPANPLUS::Internals::Constants'=> '0.9135',
+            'CPANPLUS::Internals::Constants::Report'=> '0.9135',
+            'CPANPLUS::Internals::Extract'=> '0.9135',
+            'CPANPLUS::Internals::Fetch'=> '0.9135',
+            'CPANPLUS::Internals::Report'=> '0.9135',
+            'CPANPLUS::Internals::Search'=> '0.9135',
+            'CPANPLUS::Internals::Source'=> '0.9135',
+            'CPANPLUS::Internals::Source::Memory'=> '0.9135',
+            'CPANPLUS::Internals::Source::SQLite'=> '0.9135',
+            'CPANPLUS::Internals::Source::SQLite::Tie'=> '0.9135',
+            'CPANPLUS::Internals::Utils'=> '0.9135',
+            'CPANPLUS::Internals::Utils::Autoflush'=> '0.9135',
+            'CPANPLUS::Module'      => '0.9135',
+            'CPANPLUS::Module::Author'=> '0.9135',
+            'CPANPLUS::Module::Author::Fake'=> '0.9135',
+            'CPANPLUS::Module::Checksums'=> '0.9135',
+            'CPANPLUS::Module::Fake'=> '0.9135',
+            'CPANPLUS::Module::Signature'=> '0.9135',
+            'CPANPLUS::Selfupdate'  => '0.9135',
+            'CPANPLUS::Shell'       => '0.9135',
+            'CPANPLUS::Shell::Classic'=> '0.9135',
+            'CPANPLUS::Shell::Default'=> '0.9135',
+            'CPANPLUS::Shell::Default::Plugins::CustomSource'=> '0.9135',
+            'CPANPLUS::Shell::Default::Plugins::Remote'=> '0.9135',
+            'CPANPLUS::Shell::Default::Plugins::Source'=> '0.9135',
+            'Config'                => '5.017009',
+            'Config::Perl::V'       => '0.17',
+            'DBM_Filter'            => '0.05',
+            'Data::Dumper'          => '2.142',
+            'Digest::SHA'           => '5.82',
+            'Encode'                => '2.48',
+            'ExtUtils::Installed'   => '1.999003',
+            'ExtUtils::Manifest'    => '1.63',
+            'ExtUtils::ParseXS::Utilities'=> '3.19',
+            'ExtUtils::Typemaps'    => '3.19',
+            'File::CheckTree'       => '4.42',
+            'File::DosGlob'         => '1.10',
+            'File::Temp'            => '0.22_90',
+            'Filter::Simple'        => '0.89',
+            'IO'                    => '1.27',
+            'Log::Message'          => '0.06',
+            'Log::Message::Config'  => '0.06',
+            'Log::Message::Handlers'=> '0.06',
+            'Log::Message::Item'    => '0.06',
+            'Log::Message::Simple'  => '0.10',
+            'Math::BigInt'          => '1.999',
+            'Module::CoreList'      => '2.82',
+            'Module::CoreList::TieHashDelta'=> '2.82',
+            'Module::Load'          => '0.24',
+            'Module::Pluggable'     => '4.6',
+            'Module::Pluggable::Object'=> '4.6',
+            'Object::Accessor'      => '0.46',
+            'PerlIO::scalar'        => '0.16',
+            'Pod::Checker'          => '1.60',
+            'Pod::Find'             => '1.60',
+            'Pod::Html'             => '1.18',
+            'Pod::InputObjects'     => '1.60',
+            'Pod::ParseUtils'       => '1.60',
+            'Pod::Parser'           => '1.60',
+            'Pod::Perldoc'          => '3.19',
+            'Pod::Perldoc::BaseTo'  => '3.19',
+            'Pod::Perldoc::GetOptsOO'=> '3.19',
+            'Pod::Perldoc::ToANSI'  => '3.19',
+            'Pod::Perldoc::ToChecker'=> '3.19',
+            'Pod::Perldoc::ToMan'   => '3.19',
+            'Pod::Perldoc::ToNroff' => '3.19',
+            'Pod::Perldoc::ToPod'   => '3.19',
+            'Pod::Perldoc::ToRtf'   => '3.19',
+            'Pod::Perldoc::ToTerm'  => '3.19',
+            'Pod::Perldoc::ToText'  => '3.19',
+            'Pod::Perldoc::ToTk'    => '3.19',
+            'Pod::Perldoc::ToXml'   => '3.19',
+            'Pod::PlainText'        => '2.06',
+            'Pod::Select'           => '1.60',
+            'Pod::Usage'            => '1.61',
+            'SelfLoader'            => '1.21',
+            'TAP::Base'             => '3.26',
+            'TAP::Formatter::Base'  => '3.26',
+            'TAP::Formatter::Color' => '3.26',
+            'TAP::Formatter::Console'=> '3.26',
+            'TAP::Formatter::Console::ParallelSession'=> '3.26',
+            'TAP::Formatter::Console::Session'=> '3.26',
+            'TAP::Formatter::File'  => '3.26',
+            'TAP::Formatter::File::Session'=> '3.26',
+            'TAP::Formatter::Session'=> '3.26',
+            'TAP::Harness'          => '3.26',
+            'TAP::Object'           => '3.26',
+            'TAP::Parser'           => '3.26',
+            'TAP::Parser::Aggregator'=> '3.26',
+            'TAP::Parser::Grammar'  => '3.26',
+            'TAP::Parser::Iterator' => '3.26',
+            'TAP::Parser::Iterator::Array'=> '3.26',
+            'TAP::Parser::Iterator::Process'=> '3.26',
+            'TAP::Parser::Iterator::Stream'=> '3.26',
+            'TAP::Parser::IteratorFactory'=> '3.26',
+            'TAP::Parser::Multiplexer'=> '3.26',
+            'TAP::Parser::Result'   => '3.26',
+            'TAP::Parser::Result::Bailout'=> '3.26',
+            'TAP::Parser::Result::Comment'=> '3.26',
+            'TAP::Parser::Result::Plan'=> '3.26',
+            'TAP::Parser::Result::Pragma'=> '3.26',
+            'TAP::Parser::Result::Test'=> '3.26',
+            'TAP::Parser::Result::Unknown'=> '3.26',
+            'TAP::Parser::Result::Version'=> '3.26',
+            'TAP::Parser::Result::YAML'=> '3.26',
+            'TAP::Parser::ResultFactory'=> '3.26',
+            'TAP::Parser::Scheduler'=> '3.26',
+            'TAP::Parser::Scheduler::Job'=> '3.26',
+            'TAP::Parser::Scheduler::Spinner'=> '3.26',
+            'TAP::Parser::Source'   => '3.26',
+            'TAP::Parser::SourceHandler'=> '3.26',
+            'TAP::Parser::SourceHandler::Executable'=> '3.26',
+            'TAP::Parser::SourceHandler::File'=> '3.26',
+            'TAP::Parser::SourceHandler::Handle'=> '3.26',
+            'TAP::Parser::SourceHandler::Perl'=> '3.26',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.26',
+            'TAP::Parser::Utils'    => '3.26',
+            'TAP::Parser::YAMLish::Reader'=> '3.26',
+            'TAP::Parser::YAMLish::Writer'=> '3.26',
+            'Term::UI'              => '0.34',
+            'Test::Harness'         => '3.26',
+            'Text::Soundex'         => '3.04',
+            'Thread::Queue'         => '3.02',
+            'Unicode::UCD'          => '0.50',
+            'Win32'                 => '0.46',
+            'Win32API::File'        => '0.1201',
+            '_charnames'            => '1.36',
+            'arybase'               => '0.06',
+            'bigint'                => '0.32',
+            'bignum'                => '0.32',
+            'charnames'             => '1.36',
+            'filetest'              => '1.03',
+            'locale'                => '1.02',
+            'overload'              => '1.21',
+            'warnings'              => '1.17',
+        },
+        removed => {
+        }
+    },
+    5.017010 => {
+        delta_from => 5.017009,
+        changed => {
+            'Benchmark'             => '1.15',
+            'Config'                => '5.017009',
+            'Data::Dumper'          => '2.145',
+            'Digest::SHA'           => '5.84',
+            'Encode'                => '2.49',
+            'ExtUtils::Command::MM' => '6.65_01',
+            'ExtUtils::Liblist'     => '6.65_01',
+            'ExtUtils::Liblist::Kid'=> '6.65_01',
+            'ExtUtils::MM'          => '6.65_01',
+            'ExtUtils::MM_AIX'      => '6.65_01',
+            'ExtUtils::MM_Any'      => '6.65_01',
+            'ExtUtils::MM_BeOS'     => '6.65_01',
+            'ExtUtils::MM_Cygwin'   => '6.65_01',
+            'ExtUtils::MM_DOS'      => '6.65_01',
+            'ExtUtils::MM_Darwin'   => '6.65_01',
+            'ExtUtils::MM_MacOS'    => '6.65_01',
+            'ExtUtils::MM_NW5'      => '6.65_01',
+            'ExtUtils::MM_OS2'      => '6.65_01',
+            'ExtUtils::MM_QNX'      => '6.65_01',
+            'ExtUtils::MM_UWIN'     => '6.65_01',
+            'ExtUtils::MM_Unix'     => '6.65_01',
+            'ExtUtils::MM_VMS'      => '6.65_01',
+            'ExtUtils::MM_VOS'      => '6.65_01',
+            'ExtUtils::MM_Win32'    => '6.65_01',
+            'ExtUtils::MM_Win95'    => '6.65_01',
+            'ExtUtils::MY'          => '6.65_01',
+            'ExtUtils::MakeMaker'   => '6.65_01',
+            'ExtUtils::MakeMaker::Config'=> '6.65_01',
+            'ExtUtils::Mkbootstrap' => '6.65_01',
+            'ExtUtils::Mksymlists'  => '6.65_01',
+            'ExtUtils::testlib'     => '6.65_01',
+            'File::Copy'            => '2.26',
+            'File::Temp'            => '0.23',
+            'Getopt::Long'          => '2.39',
+            'Hash::Util'            => '0.15',
+            'I18N::Langinfo'        => '0.10',
+            'IPC::Cmd'              => '0.80',
+            'JSON::PP'              => '2.27202',
+            'Locale::Codes'         => '3.25',
+            'Locale::Codes::Constants'=> '3.25',
+            'Locale::Codes::Country'=> '3.25',
+            'Locale::Codes::Country_Codes'=> '3.25',
+            'Locale::Codes::Country_Retired'=> '3.25',
+            'Locale::Codes::Currency'=> '3.25',
+            'Locale::Codes::Currency_Codes'=> '3.25',
+            'Locale::Codes::Currency_Retired'=> '3.25',
+            'Locale::Codes::LangExt'=> '3.25',
+            'Locale::Codes::LangExt_Codes'=> '3.25',
+            'Locale::Codes::LangExt_Retired'=> '3.25',
+            'Locale::Codes::LangFam'=> '3.25',
+            'Locale::Codes::LangFam_Codes'=> '3.25',
+            'Locale::Codes::LangFam_Retired'=> '3.25',
+            'Locale::Codes::LangVar'=> '3.25',
+            'Locale::Codes::LangVar_Codes'=> '3.25',
+            'Locale::Codes::LangVar_Retired'=> '3.25',
+            'Locale::Codes::Language'=> '3.25',
+            'Locale::Codes::Language_Codes'=> '3.25',
+            'Locale::Codes::Language_Retired'=> '3.25',
+            'Locale::Codes::Script' => '3.25',
+            'Locale::Codes::Script_Codes'=> '3.25',
+            'Locale::Codes::Script_Retired'=> '3.25',
+            'Locale::Country'       => '3.25',
+            'Locale::Currency'      => '3.25',
+            'Locale::Language'      => '3.25',
+            'Locale::Script'        => '3.25',
+            'Math::BigFloat'        => '1.998',
+            'Math::BigFloat::Trace' => '0.32',
+            'Math::BigInt'          => '1.9991',
+            'Math::BigInt::CalcEmu' => '1.998',
+            'Math::BigInt::Trace'   => '0.32',
+            'Math::BigRat'          => '0.2604',
+            'Module::CoreList'      => '2.84',
+            'Module::CoreList::TieHashDelta'=> '2.84',
+            'Module::Pluggable'     => '4.7',
+            'Net::Ping'             => '2.41',
+            'Perl::OSType'          => '1.003',
+            'Pod::Simple'           => '3.26',
+            'Pod::Simple::BlackBox' => '3.26',
+            'Pod::Simple::Checker'  => '3.26',
+            'Pod::Simple::Debug'    => '3.26',
+            'Pod::Simple::DumpAsText'=> '3.26',
+            'Pod::Simple::DumpAsXML'=> '3.26',
+            'Pod::Simple::HTML'     => '3.26',
+            'Pod::Simple::HTMLBatch'=> '3.26',
+            'Pod::Simple::LinkSection'=> '3.26',
+            'Pod::Simple::Methody'  => '3.26',
+            'Pod::Simple::Progress' => '3.26',
+            'Pod::Simple::PullParser'=> '3.26',
+            'Pod::Simple::PullParserEndToken'=> '3.26',
+            'Pod::Simple::PullParserStartToken'=> '3.26',
+            'Pod::Simple::PullParserTextToken'=> '3.26',
+            'Pod::Simple::PullParserToken'=> '3.26',
+            'Pod::Simple::RTF'      => '3.26',
+            'Pod::Simple::Search'   => '3.26',
+            'Pod::Simple::SimpleTree'=> '3.26',
+            'Pod::Simple::Text'     => '3.26',
+            'Pod::Simple::TextContent'=> '3.26',
+            'Pod::Simple::TiedOutFH'=> '3.26',
+            'Pod::Simple::Transcode'=> '3.26',
+            'Pod::Simple::TranscodeDumb'=> '3.26',
+            'Pod::Simple::TranscodeSmart'=> '3.26',
+            'Pod::Simple::XHTML'    => '3.26',
+            'Pod::Simple::XMLOutStream'=> '3.26',
+            'Safe'                  => '2.35',
+            'Term::ReadLine'        => '1.12',
+            'Text::ParseWords'      => '3.28',
+            'Tie::File'             => '0.99',
+            'Unicode::UCD'          => '0.51',
+            'Win32'                 => '0.47',
+            'bigint'                => '0.33',
+            'bignum'                => '0.33',
+            'bigrat'                => '0.33',
+            'constant'              => '1.27',
+            'perlfaq'               => '5.0150042',
+            'version'               => '0.9902',
+        },
+        removed => {
+        }
+    },
+    5.017011 => {
+        delta_from => 5.017010,
+        changed => {
+            'App::Cpan'             => '1.61',
+            'B::Deparse'            => '1.20',
+            'Config'                => '5.017009',
+            'Exporter'              => '5.68',
+            'Exporter::Heavy'       => '5.68',
+            'ExtUtils::CBuilder'    => '0.280210',
+            'ExtUtils::Command::MM' => '6.66',
+            'ExtUtils::Liblist'     => '6.66',
+            'ExtUtils::Liblist::Kid'=> '6.66',
+            'ExtUtils::MM'          => '6.66',
+            'ExtUtils::MM_AIX'      => '6.66',
+            'ExtUtils::MM_Any'      => '6.66',
+            'ExtUtils::MM_BeOS'     => '6.66',
+            'ExtUtils::MM_Cygwin'   => '6.66',
+            'ExtUtils::MM_DOS'      => '6.66',
+            'ExtUtils::MM_Darwin'   => '6.66',
+            'ExtUtils::MM_MacOS'    => '6.66',
+            'ExtUtils::MM_NW5'      => '6.66',
+            'ExtUtils::MM_OS2'      => '6.66',
+            'ExtUtils::MM_QNX'      => '6.66',
+            'ExtUtils::MM_UWIN'     => '6.66',
+            'ExtUtils::MM_Unix'     => '6.66',
+            'ExtUtils::MM_VMS'      => '6.66',
+            'ExtUtils::MM_VOS'      => '6.66',
+            'ExtUtils::MM_Win32'    => '6.66',
+            'ExtUtils::MM_Win95'    => '6.66',
+            'ExtUtils::MY'          => '6.66',
+            'ExtUtils::MakeMaker'   => '6.66',
+            'ExtUtils::MakeMaker::Config'=> '6.66',
+            'ExtUtils::Mkbootstrap' => '6.66',
+            'ExtUtils::Mksymlists'  => '6.66',
+            'ExtUtils::testlib'     => '6.66',
+            'File::Glob'            => '1.20',
+            'IO'                    => '1.28',
+            'Module::CoreList'      => '2.87',
+            'Module::CoreList::TieHashDelta'=> '2.87',
+            'Storable'              => '2.41',
+            'bigint'                => '0.34',
+            'mro'                   => '1.11',
+            'overload'              => '1.22',
+            'warnings'              => '1.18',
+        },
+        removed => {
+        }
+    },
+    5.018000 => {
+        delta_from => 5.017011,
+        changed => {
+            'Carp'                  => '1.29',
+            'Carp::Heavy'           => '1.29',
+            'Config'                => '5.018000',
+            'Hash::Util'            => '0.16',
+            'IO::Handle'            => '1.34',
+            'IO::Socket'            => '1.36',
+            'Module::CoreList'      => '2.89',
+            'Module::CoreList::TieHashDelta'=> '2.89',
+            'Pod::Simple'           => '3.28',
+            'Pod::Simple::BlackBox' => '3.28',
+            'Pod::Simple::Checker'  => '3.28',
+            'Pod::Simple::Debug'    => '3.28',
+            'Pod::Simple::DumpAsText'=> '3.28',
+            'Pod::Simple::DumpAsXML'=> '3.28',
+            'Pod::Simple::HTML'     => '3.28',
+            'Pod::Simple::HTMLBatch'=> '3.28',
+            'Pod::Simple::LinkSection'=> '3.28',
+            'Pod::Simple::Methody'  => '3.28',
+            'Pod::Simple::Progress' => '3.28',
+            'Pod::Simple::PullParser'=> '3.28',
+            'Pod::Simple::PullParserEndToken'=> '3.28',
+            'Pod::Simple::PullParserStartToken'=> '3.28',
+            'Pod::Simple::PullParserTextToken'=> '3.28',
+            'Pod::Simple::PullParserToken'=> '3.28',
+            'Pod::Simple::RTF'      => '3.28',
+            'Pod::Simple::Search'   => '3.28',
+            'Pod::Simple::SimpleTree'=> '3.28',
+            'Pod::Simple::Text'     => '3.28',
+            'Pod::Simple::TextContent'=> '3.28',
+            'Pod::Simple::TiedOutFH'=> '3.28',
+            'Pod::Simple::Transcode'=> '3.28',
+            'Pod::Simple::TranscodeDumb'=> '3.28',
+            'Pod::Simple::TranscodeSmart'=> '3.28',
+            'Pod::Simple::XHTML'    => '3.28',
+            'Pod::Simple::XMLOutStream'=> '3.28',
+        },
+        removed => {
+        }
+    },
+    5.019000 => {
+        delta_from => 5.018000,
+        changed => {
+            'Config'                => '5.019000',
+            'Getopt::Std'           => '1.08',
+            'Module::CoreList'      => '2.91',
+            'Module::CoreList::TieHashDelta'=> '2.91',
+            'Storable'              => '2.42',
+            'feature'               => '1.33',
+            'utf8'                  => '1.11',
+        },
+        removed => {
+           'Archive::Extract'      => 1,
+           'B::Lint'               => 1,
+           'B::Lint::Debug'        => 1,
+           'CPANPLUS'              => 1,
+           'CPANPLUS::Backend'     => 1,
+           'CPANPLUS::Backend::RV' => 1,
+           'CPANPLUS::Config'      => 1,
+           'CPANPLUS::Config::HomeEnv'=> 1,
+           'CPANPLUS::Configure'   => 1,
+           'CPANPLUS::Configure::Setup'=> 1,
+           'CPANPLUS::Dist'        => 1,
+           'CPANPLUS::Dist::Autobundle'=> 1,
+           'CPANPLUS::Dist::Base'  => 1,
+           'CPANPLUS::Dist::Build' => 1,
+           'CPANPLUS::Dist::Build::Constants'=> 1,
+           'CPANPLUS::Dist::MM'    => 1,
+           'CPANPLUS::Dist::Sample'=> 1,
+           'CPANPLUS::Error'       => 1,
+           'CPANPLUS::Internals'   => 1,
+           'CPANPLUS::Internals::Constants'=> 1,
+           'CPANPLUS::Internals::Constants::Report'=> 1,
+           'CPANPLUS::Internals::Extract'=> 1,
+           'CPANPLUS::Internals::Fetch'=> 1,
+           'CPANPLUS::Internals::Report'=> 1,
+           'CPANPLUS::Internals::Search'=> 1,
+           'CPANPLUS::Internals::Source'=> 1,
+           'CPANPLUS::Internals::Source::Memory'=> 1,
+           'CPANPLUS::Internals::Source::SQLite'=> 1,
+           'CPANPLUS::Internals::Source::SQLite::Tie'=> 1,
+           'CPANPLUS::Internals::Utils'=> 1,
+           'CPANPLUS::Internals::Utils::Autoflush'=> 1,
+           'CPANPLUS::Module'      => 1,
+           'CPANPLUS::Module::Author'=> 1,
+           'CPANPLUS::Module::Author::Fake'=> 1,
+           'CPANPLUS::Module::Checksums'=> 1,
+           'CPANPLUS::Module::Fake'=> 1,
+           'CPANPLUS::Module::Signature'=> 1,
+           'CPANPLUS::Selfupdate'  => 1,
+           'CPANPLUS::Shell'       => 1,
+           'CPANPLUS::Shell::Classic'=> 1,
+           'CPANPLUS::Shell::Default'=> 1,
+           'CPANPLUS::Shell::Default::Plugins::CustomSource'=> 1,
+           'CPANPLUS::Shell::Default::Plugins::Remote'=> 1,
+           'CPANPLUS::Shell::Default::Plugins::Source'=> 1,
+           'Devel::InnerPackage'   => 1,
+           'File::CheckTree'       => 1,
+           'Log::Message'          => 1,
+           'Log::Message::Config'  => 1,
+           'Log::Message::Handlers'=> 1,
+           'Log::Message::Item'    => 1,
+           'Log::Message::Simple'  => 1,
+           'Module::Pluggable'     => 1,
+           'Module::Pluggable::Object'=> 1,
+           'Object::Accessor'      => 1,
+           'Pod::LaTeX'            => 1,
+           'Term::UI'              => 1,
+           'Term::UI::History'     => 1,
+           'Text::Soundex'         => 1,
+        }
+    },
+    5.019001 => {
+        delta_from => 5.019000,
+        changed => {
+            'App::Prove'            => '3.28',
+            'App::Prove::State'     => '3.28',
+            'App::Prove::State::Result'=> '3.28',
+            'App::Prove::State::Result::Test'=> '3.28',
+            'Archive::Tar'          => '1.92',
+            'Archive::Tar::Constant'=> '1.92',
+            'Archive::Tar::File'    => '1.92',
+            'Attribute::Handlers'   => '0.95',
+            'B'                     => '1.43',
+            'B::Concise'            => '0.96',
+            'B::Deparse'            => '1.21',
+            'B::Showlex'            => '1.04',
+            'Benchmark'             => '1.16',
+            'CPAN::Meta'            => '2.131560',
+            'CPAN::Meta::Converter' => '2.131560',
+            'CPAN::Meta::Feature'   => '2.131560',
+            'CPAN::Meta::History'   => '2.131560',
+            'CPAN::Meta::Prereqs'   => '2.131560',
+            'CPAN::Meta::Spec'      => '2.131560',
+            'CPAN::Meta::Validator' => '2.131560',
+            'Carp'                  => '1.30',
+            'Carp::Heavy'           => '1.30',
+            'Compress::Raw::Bzip2'  => '2.061',
+            'Compress::Raw::Zlib'   => '2.061',
+            'Compress::Zlib'        => '2.061',
+            'Config'                => '5.019001',
+            'Config::Perl::V'       => '0.18',
+            'Cwd'                   => '3.41',
+            'DB'                    => '1.06',
+            'DB_File'               => '1.828',
+            'Data::Dumper'          => '2.146',
+            'Encode'                => '2.51',
+            'Encode::CN::HZ'        => '2.06',
+            'Encode::GSM0338'       => '2.03',
+            'Encode::Unicode::UTF7' => '2.07',
+            'ExtUtils::CBuilder::Base'=> '0.280210',
+            'ExtUtils::CBuilder::Platform::Windows::BCC'=> '0.280210',
+            'ExtUtils::Command::MM' => '6.68',
+            'ExtUtils::Install'     => '1.60',
+            'ExtUtils::Liblist'     => '6.68',
+            'ExtUtils::Liblist::Kid'=> '6.68',
+            'ExtUtils::MM'          => '6.68',
+            'ExtUtils::MM_AIX'      => '6.68',
+            'ExtUtils::MM_Any'      => '6.68',
+            'ExtUtils::MM_BeOS'     => '6.68',
+            'ExtUtils::MM_Cygwin'   => '6.68',
+            'ExtUtils::MM_DOS'      => '6.68',
+            'ExtUtils::MM_Darwin'   => '6.68',
+            'ExtUtils::MM_MacOS'    => '6.68',
+            'ExtUtils::MM_NW5'      => '6.68',
+            'ExtUtils::MM_OS2'      => '6.68',
+            'ExtUtils::MM_QNX'      => '6.68',
+            'ExtUtils::MM_UWIN'     => '6.68',
+            'ExtUtils::MM_Unix'     => '6.68',
+            'ExtUtils::MM_VMS'      => '6.68',
+            'ExtUtils::MM_VOS'      => '6.68',
+            'ExtUtils::MM_Win32'    => '6.68',
+            'ExtUtils::MM_Win95'    => '6.68',
+            'ExtUtils::MY'          => '6.68',
+            'ExtUtils::MakeMaker'   => '6.68',
+            'ExtUtils::MakeMaker::Config'=> '6.68',
+            'ExtUtils::Mkbootstrap' => '6.68',
+            'ExtUtils::Mksymlists'  => '6.68',
+            'ExtUtils::ParseXS'     => '3.19',
+            'ExtUtils::testlib'     => '6.68',
+            'Fatal'                 => '2.19',
+            'File::Copy'            => '2.27',
+            'File::DosGlob'         => '1.11',
+            'File::Fetch'           => '0.42',
+            'File::Find'            => '1.24',
+            'File::Spec'            => '3.41',
+            'File::Spec::Cygwin'    => '3.41',
+            'File::Spec::Epoc'      => '3.41',
+            'File::Spec::Mac'       => '3.41',
+            'File::Spec::OS2'       => '3.41',
+            'File::Spec::Unix'      => '3.41',
+            'File::Spec::VMS'       => '3.41',
+            'File::Spec::Win32'     => '3.41',
+            'File::Temp'            => '0.2301',
+            'Filter::Simple'        => '0.90',
+            'Filter::Util::Call'    => '1.49',
+            'Getopt::Long'          => '2.4',
+            'HTTP::Tiny'            => '0.031',
+            'Hash::Util::FieldHash' => '1.11',
+            'IO::Compress::Adapter::Bzip2'=> '2.061',
+            'IO::Compress::Adapter::Deflate'=> '2.061',
+            'IO::Compress::Adapter::Identity'=> '2.061',
+            'IO::Compress::Base'    => '2.061',
+            'IO::Compress::Base::Common'=> '2.061',
+            'IO::Compress::Bzip2'   => '2.061',
+            'IO::Compress::Deflate' => '2.061',
+            'IO::Compress::Gzip'    => '2.061',
+            'IO::Compress::Gzip::Constants'=> '2.061',
+            'IO::Compress::RawDeflate'=> '2.061',
+            'IO::Compress::Zip'     => '2.061',
+            'IO::Compress::Zip::Constants'=> '2.061',
+            'IO::Compress::Zlib::Constants'=> '2.061',
+            'IO::Compress::Zlib::Extra'=> '2.061',
+            'IO::Handle'            => '1.35',
+            'IO::Uncompress::Adapter::Bunzip2'=> '2.061',
+            'IO::Uncompress::Adapter::Identity'=> '2.061',
+            'IO::Uncompress::Adapter::Inflate'=> '2.061',
+            'IO::Uncompress::AnyInflate'=> '2.061',
+            'IO::Uncompress::AnyUncompress'=> '2.061',
+            'IO::Uncompress::Base'  => '2.061',
+            'IO::Uncompress::Bunzip2'=> '2.061',
+            'IO::Uncompress::Gunzip'=> '2.061',
+            'IO::Uncompress::Inflate'=> '2.061',
+            'IO::Uncompress::RawInflate'=> '2.061',
+            'IO::Uncompress::Unzip' => '2.061',
+            'IPC::Open3'            => '1.14',
+            'Locale::Codes'         => '3.26',
+            'Locale::Codes::Constants'=> '3.26',
+            'Locale::Codes::Country'=> '3.26',
+            'Locale::Codes::Country_Codes'=> '3.26',
+            'Locale::Codes::Country_Retired'=> '3.26',
+            'Locale::Codes::Currency'=> '3.26',
+            'Locale::Codes::Currency_Codes'=> '3.26',
+            'Locale::Codes::Currency_Retired'=> '3.26',
+            'Locale::Codes::LangExt'=> '3.26',
+            'Locale::Codes::LangExt_Codes'=> '3.26',
+            'Locale::Codes::LangExt_Retired'=> '3.26',
+            'Locale::Codes::LangFam'=> '3.26',
+            'Locale::Codes::LangFam_Codes'=> '3.26',
+            'Locale::Codes::LangFam_Retired'=> '3.26',
+            'Locale::Codes::LangVar'=> '3.26',
+            'Locale::Codes::LangVar_Codes'=> '3.26',
+            'Locale::Codes::LangVar_Retired'=> '3.26',
+            'Locale::Codes::Language'=> '3.26',
+            'Locale::Codes::Language_Codes'=> '3.26',
+            'Locale::Codes::Language_Retired'=> '3.26',
+            'Locale::Codes::Script' => '3.26',
+            'Locale::Codes::Script_Codes'=> '3.26',
+            'Locale::Codes::Script_Retired'=> '3.26',
+            'Locale::Country'       => '3.26',
+            'Locale::Currency'      => '3.26',
+            'Locale::Language'      => '3.26',
+            'Locale::Maketext'      => '1.24',
+            'Locale::Script'        => '3.26',
+            'Math::BigFloat'        => '1.999',
+            'Math::BigInt'          => '1.9992',
+            'Math::BigInt::Calc'    => '1.998',
+            'Math::BigInt::CalcEmu' => '1.9991',
+            'Math::BigRat'          => '0.2606',
+            'Module::Build'         => '0.4005',
+            'Module::Build::Base'   => '0.4005',
+            'Module::Build::Compat' => '0.4005',
+            'Module::Build::Config' => '0.4005',
+            'Module::Build::Cookbook'=> '0.4005',
+            'Module::Build::Dumper' => '0.4005',
+            'Module::Build::ModuleInfo'=> '0.4005',
+            'Module::Build::Notes'  => '0.4005',
+            'Module::Build::PPMMaker'=> '0.4005',
+            'Module::Build::Platform::Amiga'=> '0.4005',
+            'Module::Build::Platform::Default'=> '0.4005',
+            'Module::Build::Platform::EBCDIC'=> '0.4005',
+            'Module::Build::Platform::MPEiX'=> '0.4005',
+            'Module::Build::Platform::MacOS'=> '0.4005',
+            'Module::Build::Platform::RiscOS'=> '0.4005',
+            'Module::Build::Platform::Unix'=> '0.4005',
+            'Module::Build::Platform::VMS'=> '0.4005',
+            'Module::Build::Platform::VOS'=> '0.4005',
+            'Module::Build::Platform::Windows'=> '0.4005',
+            'Module::Build::Platform::aix'=> '0.4005',
+            'Module::Build::Platform::cygwin'=> '0.4005',
+            'Module::Build::Platform::darwin'=> '0.4005',
+            'Module::Build::Platform::os2'=> '0.4005',
+            'Module::Build::PodParser'=> '0.4005',
+            'Module::CoreList'      => '2.92',
+            'Module::CoreList::TieHashDelta'=> '2.92',
+            'Module::CoreList::Utils'=> '2.92',
+            'Module::Metadata'      => '1.000014',
+            'Net::Ping'             => '2.42',
+            'POSIX'                 => '1.33',
+            'Pod::Find'             => '1.61',
+            'Pod::Html'             => '1.19',
+            'Pod::InputObjects'     => '1.61',
+            'Pod::ParseUtils'       => '1.61',
+            'Pod::Parser'           => '1.61',
+            'Pod::Perldoc'          => '3.20',
+            'Pod::Perldoc::BaseTo'  => '3.20',
+            'Pod::Perldoc::GetOptsOO'=> '3.20',
+            'Pod::Perldoc::ToANSI'  => '3.20',
+            'Pod::Perldoc::ToChecker'=> '3.20',
+            'Pod::Perldoc::ToMan'   => '3.20',
+            'Pod::Perldoc::ToNroff' => '3.20',
+            'Pod::Perldoc::ToPod'   => '3.20',
+            'Pod::Perldoc::ToRtf'   => '3.20',
+            'Pod::Perldoc::ToTerm'  => '3.20',
+            'Pod::Perldoc::ToText'  => '3.20',
+            'Pod::Perldoc::ToTk'    => '3.20',
+            'Pod::Perldoc::ToXml'   => '3.20',
+            'Pod::Select'           => '1.61',
+            'Pod::Usage'            => '1.63',
+            'Safe'                  => '2.36',
+            'Storable'              => '2.43',
+            'Sys::Hostname'         => '1.18',
+            'Sys::Syslog'           => '0.33',
+            'TAP::Base'             => '3.28',
+            'TAP::Formatter::Base'  => '3.28',
+            'TAP::Formatter::Color' => '3.28',
+            'TAP::Formatter::Console'=> '3.28',
+            'TAP::Formatter::Console::ParallelSession'=> '3.28',
+            'TAP::Formatter::Console::Session'=> '3.28',
+            'TAP::Formatter::File'  => '3.28',
+            'TAP::Formatter::File::Session'=> '3.28',
+            'TAP::Formatter::Session'=> '3.28',
+            'TAP::Harness'          => '3.28',
+            'TAP::Object'           => '3.28',
+            'TAP::Parser'           => '3.28',
+            'TAP::Parser::Aggregator'=> '3.28',
+            'TAP::Parser::Grammar'  => '3.28',
+            'TAP::Parser::Iterator' => '3.28',
+            'TAP::Parser::Iterator::Array'=> '3.28',
+            'TAP::Parser::Iterator::Process'=> '3.28',
+            'TAP::Parser::Iterator::Stream'=> '3.28',
+            'TAP::Parser::IteratorFactory'=> '3.28',
+            'TAP::Parser::Multiplexer'=> '3.28',
+            'TAP::Parser::Result'   => '3.28',
+            'TAP::Parser::Result::Bailout'=> '3.28',
+            'TAP::Parser::Result::Comment'=> '3.28',
+            'TAP::Parser::Result::Plan'=> '3.28',
+            'TAP::Parser::Result::Pragma'=> '3.28',
+            'TAP::Parser::Result::Test'=> '3.28',
+            'TAP::Parser::Result::Unknown'=> '3.28',
+            'TAP::Parser::Result::Version'=> '3.28',
+            'TAP::Parser::Result::YAML'=> '3.28',
+            'TAP::Parser::ResultFactory'=> '3.28',
+            'TAP::Parser::Scheduler'=> '3.28',
+            'TAP::Parser::Scheduler::Job'=> '3.28',
+            'TAP::Parser::Scheduler::Spinner'=> '3.28',
+            'TAP::Parser::Source'   => '3.28',
+            'TAP::Parser::SourceHandler'=> '3.28',
+            'TAP::Parser::SourceHandler::Executable'=> '3.28',
+            'TAP::Parser::SourceHandler::File'=> '3.28',
+            'TAP::Parser::SourceHandler::Handle'=> '3.28',
+            'TAP::Parser::SourceHandler::Perl'=> '3.28',
+            'TAP::Parser::SourceHandler::RawTAP'=> '3.28',
+            'TAP::Parser::Utils'    => '3.28',
+            'TAP::Parser::YAMLish::Reader'=> '3.28',
+            'TAP::Parser::YAMLish::Writer'=> '3.28',
+            'Term::ReadLine'        => '1.13',
+            'Test::Harness'         => '3.28',
+            'Text::Tabs'            => '2013.0523',
+            'Text::Wrap'            => '2013.0523',
+            'Thread'                => '3.04',
+            'Tie::File'             => '1.00',
+            'Time::Piece'           => '1.2002',
+            'Unicode::Collate'      => '0.98',
+            'Unicode::UCD'          => '0.53',
+            'XS::APItest'           => '0.53',
+            '_charnames'            => '1.37',
+            'autodie'               => '2.19',
+            'autodie::exception'    => '2.19',
+            'autodie::exception::system'=> '2.19',
+            'autodie::hints'        => '2.19',
+            'autodie::skip'         => '2.19',
+            'bigint'                => '0.35',
+            'charnames'             => '1.38',
+            'encoding'              => '2.12',
+            'inc::latest'           => '0.4005',
+            'mro'                   => '1.12',
+            'perlfaq'               => '5.0150043',
+            're'                    => '0.25',
+            'threads'               => '1.87',
+            'threads::shared'       => '1.44',
+            'utf8'                  => '1.12',
+        },
+        removed => {
+        }
+    },
+    5.019002 => {
+        delta_from => 5.019001,
+        changed => {
+            'B'                     => '1.44',
+            'B::Concise'            => '0.98',
+            'B::Deparse'            => '1.22',
+            'Benchmark'             => '1.17',
+            'Class::Struct'         => '0.65',
+            'Config'                => '5.019002',
+            'DB'                    => '1.07',
+            'DBM_Filter'            => '0.06',
+            'DBM_Filter::compress'  => '0.03',
+            'DBM_Filter::encode'    => '0.03',
+            'DBM_Filter::int32'     => '0.03',
+            'DBM_Filter::null'      => '0.03',
+            'DBM_Filter::utf8'      => '0.03',
+            'DB_File'               => '1.829',
+            'Data::Dumper'          => '2.147',
+            'Devel::Peek'           => '1.12',
+            'Digest::MD5'           => '2.53',
+            'Digest::SHA'           => '5.85',
+            'English'               => '1.07',
+            'Errno'                 => '1.19',
+            'ExtUtils::Embed'       => '1.31',
+            'ExtUtils::Miniperl'    => '1',
+            'ExtUtils::ParseXS'     => '3.21',
+            'ExtUtils::ParseXS::Constants'=> '3.21',
+            'ExtUtils::ParseXS::CountLines'=> '3.21',
+            'ExtUtils::ParseXS::Eval'=> '3.19',
+            'ExtUtils::ParseXS::Utilities'=> '3.21',
+            'ExtUtils::Typemaps'    => '3.21',
+            'ExtUtils::Typemaps::Cmd'=> '3.21',
+            'ExtUtils::Typemaps::InputMap'=> '3.21',
+            'ExtUtils::Typemaps::OutputMap'=> '3.21',
+            'ExtUtils::Typemaps::Type'=> '3.21',
+            'ExtUtils::XSSymSet'    => '1.3',
+            'Fatal'                 => '2.20',
+            'File::Basename'        => '2.85',
+            'File::Spec::VMS'       => '3.43',
+            'File::Spec::Win32'     => '3.42',
+            'Getopt::Long'          => '2.41',
+            'Getopt::Std'           => '1.09',
+            'HTTP::Tiny'            => '0.034',
+            'Hash::Util::FieldHash' => '1.12',
+            'I18N::Langinfo'        => '0.11',
+            'IO::Socket::INET'      => '1.34',
+            'IO::Socket::UNIX'      => '1.25',
+            'IPC::Cmd'              => '0.82',
+            'MIME::Base64'          => '3.14',
+            'Module::CoreList'      => '2.94',
+            'Module::CoreList::TieHashDelta'=> '2.94',
+            'Module::CoreList::Utils'=> '2.94',
+            'POSIX'                 => '1.34',
+            'Params::Check'         => '0.38',
+            'Parse::CPAN::Meta'     => '1.4405',
+            'Pod::Functions'        => '1.07',
+            'Pod::Functions::Functions'=> '1.07',
+            'Pod::Html'             => '1.2',
+            'Safe'                  => '2.37',
+            'Socket'                => '2.010',
+            'Storable'              => '2.45',
+            'Text::ParseWords'      => '3.29',
+            'Tie::Array'            => '1.06',
+            'Tie::Hash'             => '1.05',
+            'Tie::Scalar'           => '1.03',
+            'Time::Piece'           => '1.21',
+            'Time::Seconds'         => '1.21',
+            'XS::APItest'           => '0.54',
+            'autodie'               => '2.20',
+            'autodie::exception'    => '2.20',
+            'autodie::exception::system'=> '2.20',
+            'autodie::hints'        => '2.20',
+            'autodie::skip'         => '2.20',
+            'base'                  => '2.19',
+            'deprecate'             => '0.03',
+            'if'                    => '0.0603',
+            'integer'               => '1.01',
+            'strict'                => '1.08',
+            'subs'                  => '1.02',
+            'vmsish'                => '1.04',
+        },
+        removed => {
+        }
+    },
+    5.018001 => {
+        delta_from => 5.018000,
+        changed => {
+            'B'                     => '1.42_01',
+            'Config'                => '5.018001',
+            'Digest::SHA'           => '5.84_01',
+            'Module::CoreList'      => '2.96',
+            'Module::CoreList::TieHashDelta'=> '2.96',
+            'Module::CoreList::Utils'=> '2.96',
+        },
+        removed => {
+           'VMS::Filespec'         => 1,
+        }
+    },
 );
 
+for my $version (sort { $a <=> $b } keys %delta) {
+    my $data = $delta{$version};
+
+    tie %{$version{$version}}, 'Module::CoreList::TieHashDelta',
+        $data->{changed}, $data->{removed},
+        $data->{delta_from} ? $version{$data->{delta_from}} : undef;
+}
+
+%deprecated = (
+    5.011    => {
+        changed => { map { $_ => 1 } qw/
+            Class::ISA
+            Pod::Plainer
+            Shell
+            Switch
+        /},
+    },
+    5.011001 => { delta_from => 5.011 },
+    5.011002 => { delta_from => 5.011001 },
+    5.011003 => { delta_from => 5.011002 },
+    5.011004 => { delta_from => 5.011003 },
+    5.011005 => { delta_from => 5.011004 },
+
+    5.012    => { delta_from => 5.011005 },
+    5.012001 => { delta_from => 5.012 },
+    5.012002 => { delta_from => 5.012001 },
+    5.012003 => { delta_from => 5.012002 },
+    5.012004 => { delta_from => 5.012003 },
+    5.012005 => { delta_from => 5.012004 },
+
+    5.013    => { delta_from => 5.012005 },
+    5.013001 => {
+        delta_from => 5.013,
+        removed => { map { $_ => 1 } qw/
+            Class::ISA
+            Pod::Plainer
+            Switch
+        /},
+    },
+    5.013002 => { delta_from => 5.013001 },
+    5.013003 => { delta_from => 5.013002 },
+    5.013004 => { delta_from => 5.013003 },
+    5.013005 => { delta_from => 5.013004 },
+    5.013006 => { delta_from => 5.013005 },
+    5.013007 => { delta_from => 5.013006 },
+    5.013008 => { delta_from => 5.013007 },
+    5.013009 => { delta_from => 5.013008 },
+    5.01301  => { delta_from => 5.013009 },
+    5.013011 => { delta_from => 5.01301  },
+
+    5.014    => { delta_from => 5.013011 },
+    5.014001 => { delta_from => 5.014    },
+    5.014002 => { delta_from => 5.014001 },
+    5.014003 => { delta_from => 5.014002 },
+    5.014004 => { delta_from => 5.014003 },
+
+    5.015    => {
+        delta_from => 5.014004,
+        removed => { Shell => 1 },
+    },
+    5.015001 => { delta_from => 5.015    },
+    5.015002 => { delta_from => 5.015001 },
+    5.015003 => { delta_from => 5.015002 },
+    5.015004 => { delta_from => 5.015003 },
+    5.015005 => { delta_from => 5.015004 },
+    5.015006 => { delta_from => 5.015005 },
+    5.015007 => { delta_from => 5.015006 },
+    5.015008 => { delta_from => 5.015007 },
+    5.015009 => { delta_from => 5.015008 },
+
+    5.016    => { delta_from => 5.015009 },
+    5.016001 => { delta_from => 5.016    },
+    5.016002 => { delta_from => 5.016001 },
+    5.016003 => { delta_from => 5.016002 },
+
+    5.017    => { delta_from => 5.016003 },
+    5.017001 => { delta_from => 5.017    },
+    5.017002 => { delta_from => 5.017001 },
+    5.017003 => { delta_from => 5.017002 },
+    5.017004 => { delta_from => 5.017003 },
+    5.017005 => { delta_from => 5.017004 },
+    5.017006 => { delta_from => 5.017005 },
+    5.017007 => { delta_from => 5.017006 },
+    5.017008 => {
+        delta_from => 5.017007,
+        changed => { 'Pod::LaTeX' => 1 },
+    },
+    5.017009 => {
+        delta_from => 5.017008,
+        changed => { map { $_ => 1 } qw/
+            Archive::Extract
+            B::Lint
+            B::Lint::Debug
+            CPANPLUS
+            CPANPLUS::Backend
+            CPANPLUS::Backend::RV
+            CPANPLUS::Config
+            CPANPLUS::Config::HomeEnv
+            CPANPLUS::Configure
+            CPANPLUS::Configure::Setup
+            CPANPLUS::Dist
+            CPANPLUS::Dist::Autobundle
+            CPANPLUS::Dist::Base
+            CPANPLUS::Dist::Build
+            CPANPLUS::Dist::Build::Constants
+            CPANPLUS::Dist::MM
+            CPANPLUS::Dist::Sample
+            CPANPLUS::Error
+            CPANPLUS::Internals
+            CPANPLUS::Internals::Constants
+            CPANPLUS::Internals::Constants::Report
+            CPANPLUS::Internals::Extract
+            CPANPLUS::Internals::Fetch
+            CPANPLUS::Internals::Report
+            CPANPLUS::Internals::Search
+            CPANPLUS::Internals::Source
+            CPANPLUS::Internals::Source::Memory
+            CPANPLUS::Internals::Source::SQLite
+            CPANPLUS::Internals::Source::SQLite::Tie
+            CPANPLUS::Internals::Utils
+            CPANPLUS::Internals::Utils::Autoflush
+            CPANPLUS::Module
+            CPANPLUS::Module::Author
+            CPANPLUS::Module::Author::Fake
+            CPANPLUS::Module::Checksums
+            CPANPLUS::Module::Fake
+            CPANPLUS::Module::Signature
+            CPANPLUS::Selfupdate
+            CPANPLUS::Shell
+            CPANPLUS::Shell::Classic
+            CPANPLUS::Shell::Default
+            CPANPLUS::Shell::Default::Plugins::CustomSource
+            CPANPLUS::Shell::Default::Plugins::Remote
+            CPANPLUS::Shell::Default::Plugins::Source
+            Devel::InnerPackage
+            File::CheckTree
+            Log::Message
+            Log::Message::Config
+            Log::Message::Handlers
+            Log::Message::Item
+            Log::Message::Simple
+            Module::Pluggable
+            Module::Pluggable::Object
+            Object::Accessor
+            Term::UI
+            Term::UI::History
+            Text::Soundex
+        /},
+    },
+    5.01701  => { delta_from => 5.017009 },
+    5.017011 => { delta_from => 5.01701  },
+    5.017012 => { delta_from => 5.017011 },
+
+    5.018    => { delta_from => 5.017012 },
+
+    5.019    => {
+        delta_from => 5.018,
+        removed => { map { $_ => 1 } qw/
+            Archive::Extract
+            B::Lint
+            B::Lint::Debug
+            CPANPLUS
+            CPANPLUS::Backend
+            CPANPLUS::Backend::RV
+            CPANPLUS::Config
+            CPANPLUS::Config::HomeEnv
+            CPANPLUS::Configure
+            CPANPLUS::Configure::Setup
+            CPANPLUS::Dist
+            CPANPLUS::Dist::Autobundle
+            CPANPLUS::Dist::Base
+            CPANPLUS::Dist::Build
+            CPANPLUS::Dist::Build::Constants
+            CPANPLUS::Dist::MM
+            CPANPLUS::Dist::Sample
+            CPANPLUS::Error
+            CPANPLUS::Internals
+            CPANPLUS::Internals::Constants
+            CPANPLUS::Internals::Constants::Report
+            CPANPLUS::Internals::Extract
+            CPANPLUS::Internals::Fetch
+            CPANPLUS::Internals::Report
+            CPANPLUS::Internals::Search
+            CPANPLUS::Internals::Source
+            CPANPLUS::Internals::Source::Memory
+            CPANPLUS::Internals::Source::SQLite
+            CPANPLUS::Internals::Source::SQLite::Tie
+            CPANPLUS::Internals::Utils
+            CPANPLUS::Internals::Utils::Autoflush
+            CPANPLUS::Module
+            CPANPLUS::Module::Author
+            CPANPLUS::Module::Author::Fake
+            CPANPLUS::Module::Checksums
+            CPANPLUS::Module::Fake
+            CPANPLUS::Module::Signature
+            CPANPLUS::Selfupdate
+            CPANPLUS::Shell
+            CPANPLUS::Shell::Classic
+            CPANPLUS::Shell::Default
+            CPANPLUS::Shell::Default::Plugins::CustomSource
+            CPANPLUS::Shell::Default::Plugins::Remote
+            CPANPLUS::Shell::Default::Plugins::Source
+            Devel::InnerPackage
+            File::CheckTree
+            Log::Message
+            Log::Message::Config
+            Log::Message::Handlers
+            Log::Message::Item
+            Log::Message::Simple
+            Module::Pluggable
+            Module::Pluggable::Object
+            Object::Accessor
+            Pod::LaTeX
+            Term::UI
+            Term::UI::History
+            Text::Soundex
+        /}
+    },
+    5.019001 => {
+        delta_from => 5.019,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.019002 => {
+        delta_from => 5.019001,
+        changed => {
+        },
+        removed => {
+        }
+    },
+    5.018001 => {
+        delta_from => 5.018,
+        changed => {
+        },
+        removed => {
+        }
+    },
+);
+
+for my $version (sort { $a <=> $b } keys %deprecated) {
+    my $data = $deprecated{$version};
+
+    tie %{ $deprecated{$version} }, 'Module::CoreList::TieHashDelta',
+        $data->{changed}, $data->{removed},
+        $data->{delta_from} ? $deprecated{ $data->{delta_from} } : undef;
+}
+
 %upstream = (
-    'AnyDBM_File'           => 'blead',
     'App::Cpan'             => 'cpan',
     'App::Prove'            => 'cpan',
     'App::Prove::State'     => 'cpan',
@@ -25799,11 +8733,11 @@
     'Attribute::Handlers'   => 'blead',
     'AutoLoader'            => 'cpan',
     'AutoSplit'             => 'cpan',
-    'B::Concise'            => undef,
+    'B::Concise'            => 'blead',
     'B::Debug'              => 'cpan',
     'B::Deparse'            => 'blead',
-    'B::Lint'               => 'blead',
-    'B::Lint::Debug'        => 'blead',
+    'B::Lint'               => 'cpan',
+    'B::Lint::Debug'        => 'cpan',
     'CGI'                   => 'cpan',
     'CGI::Apache'           => 'cpan',
     'CGI::Carp'             => 'cpan',
@@ -25826,6 +8760,7 @@
     'CPAN::Exception::RecursiveDependency'=> 'cpan',
     'CPAN::Exception::blocked_urllist'=> 'cpan',
     'CPAN::Exception::yaml_not_installed'=> 'cpan',
+    'CPAN::Exception::yaml_process_error'=> 'cpan',
     'CPAN::FTP'             => 'cpan',
     'CPAN::FTP::netrc'      => 'cpan',
     'CPAN::FirstTime'       => 'cpan',
@@ -25841,6 +8776,7 @@
     'CPAN::Meta::Feature'   => 'cpan',
     'CPAN::Meta::History'   => 'cpan',
     'CPAN::Meta::Prereqs'   => 'cpan',
+    'CPAN::Meta::Requirements'=> 'cpan',
     'CPAN::Meta::Spec'      => 'cpan',
     'CPAN::Meta::Validator' => 'cpan',
     'CPAN::Meta::YAML'      => 'cpan',
@@ -25857,6 +8793,7 @@
     'CPANPLUS::Backend'     => 'cpan',
     'CPANPLUS::Backend::RV' => 'cpan',
     'CPANPLUS::Config'      => 'cpan',
+    'CPANPLUS::Config::HomeEnv'=> 'cpan',
     'CPANPLUS::Configure'   => 'cpan',
     'CPANPLUS::Configure::Setup'=> 'cpan',
     'CPANPLUS::Dist'        => 'cpan',
@@ -25893,13 +8830,14 @@
     'CPANPLUS::Shell::Default::Plugins::CustomSource'=> 'cpan',
     'CPANPLUS::Shell::Default::Plugins::Remote'=> 'cpan',
     'CPANPLUS::Shell::Default::Plugins::Source'=> 'cpan',
+    'Carp'                  => 'blead',
+    'Carp::Heavy'           => 'blead',
     'Compress::Raw::Bzip2'  => 'cpan',
     'Compress::Raw::Zlib'   => 'cpan',
     'Compress::Zlib'        => 'cpan',
+    'Config::Perl::V'       => 'cpan',
     'Cwd'                   => 'blead',
-    'DB_File'               => undef,
-    'Devel::DProf'          => 'cpan',
-    'Devel::DProf::dprof::V'=> 'cpan',
+    'DB_File'               => 'cpan',
     'Devel::InnerPackage'   => 'cpan',
     'Devel::PPPort'         => 'cpan',
     'Digest'                => 'cpan',
@@ -25976,11 +8914,18 @@
     'ExtUtils::MY'          => 'first-come',
     'ExtUtils::MakeMaker'   => 'first-come',
     'ExtUtils::MakeMaker::Config'=> 'first-come',
-    'ExtUtils::MakeMaker::YAML'=> 'first-come',
     'ExtUtils::Mkbootstrap' => 'first-come',
     'ExtUtils::Mksymlists'  => 'first-come',
     'ExtUtils::Packlist'    => 'blead',
     'ExtUtils::ParseXS'     => 'blead',
+    'ExtUtils::ParseXS::Constants'=> 'blead',
+    'ExtUtils::ParseXS::CountLines'=> 'blead',
+    'ExtUtils::ParseXS::Utilities'=> 'blead',
+    'ExtUtils::Typemaps'    => 'blead',
+    'ExtUtils::Typemaps::Cmd'=> 'blead',
+    'ExtUtils::Typemaps::InputMap'=> 'blead',
+    'ExtUtils::Typemaps::OutputMap'=> 'blead',
+    'ExtUtils::Typemaps::Type'=> 'blead',
     'ExtUtils::testlib'     => 'first-come',
     'Fatal'                 => 'cpan',
     'File::Fetch'           => 'cpan',
@@ -25995,9 +8940,9 @@
     'File::Spec::Unix'      => 'blead',
     'File::Spec::VMS'       => 'blead',
     'File::Spec::Win32'     => 'blead',
-    'File::Temp'            => undef,
+    'File::Temp'            => 'cpan',
     'Filter::Simple'        => 'blead',
-    'Filter::Util::Call'    => undef,
+    'Filter::Util::Call'    => 'cpan',
     'Getopt::Long'          => 'cpan',
     'HTTP::Tiny'            => 'cpan',
     'IO::Compress::Adapter::Bzip2'=> 'cpan',
@@ -26034,14 +8979,30 @@
     'JSON::PP'              => 'cpan',
     'JSON::PP::Boolean'     => 'cpan',
     'List::Util'            => 'cpan',
-    'List::Util::PP'        => 'cpan',
     'List::Util::XS'        => 'cpan',
     'Locale::Codes'         => 'cpan',
+    'Locale::Codes::Constants'=> 'cpan',
     'Locale::Codes::Country'=> 'cpan',
+    'Locale::Codes::Country_Codes'=> 'cpan',
+    'Locale::Codes::Country_Retired'=> 'cpan',
     'Locale::Codes::Currency'=> 'cpan',
+    'Locale::Codes::Currency_Codes'=> 'cpan',
+    'Locale::Codes::Currency_Retired'=> 'cpan',
+    'Locale::Codes::LangExt'=> 'cpan',
+    'Locale::Codes::LangExt_Codes'=> 'cpan',
+    'Locale::Codes::LangExt_Retired'=> 'cpan',
+    'Locale::Codes::LangFam'=> 'cpan',
+    'Locale::Codes::LangFam_Codes'=> 'cpan',
+    'Locale::Codes::LangFam_Retired'=> 'cpan',
+    'Locale::Codes::LangVar'=> 'cpan',
+    'Locale::Codes::LangVar_Codes'=> 'cpan',
+    'Locale::Codes::LangVar_Retired'=> 'cpan',
     'Locale::Codes::Language'=> 'cpan',
+    'Locale::Codes::Language_Codes'=> 'cpan',
+    'Locale::Codes::Language_Retired'=> 'cpan',
     'Locale::Codes::Script' => 'cpan',
-    'Locale::Constants'     => 'cpan',
+    'Locale::Codes::Script_Codes'=> 'cpan',
+    'Locale::Codes::Script_Retired'=> 'cpan',
     'Locale::Country'       => 'cpan',
     'Locale::Currency'      => 'cpan',
     'Locale::Language'      => 'cpan',
@@ -26103,6 +9064,8 @@
     'Module::Build::Version'=> 'cpan',
     'Module::Build::YAML'   => 'cpan',
     'Module::CoreList'      => 'blead',
+    'Module::CoreList::TieHashDelta'=> 'blead',
+    'Module::CoreList::Utils'=> 'blead',
     'Module::Load'          => 'cpan',
     'Module::Load::Conditional'=> 'cpan',
     'Module::Loaded'        => 'cpan',
@@ -26131,28 +9094,30 @@
     'Parse::CPAN::Meta'     => 'cpan',
     'Perl::OSType'          => 'cpan',
     'PerlIO::via::QuotedPrint'=> undef,
-    'Pod::Checker'          => undef,
+    'Pod::Checker'          => 'cpan',
     'Pod::Escapes'          => undef,
-    'Pod::Find'             => undef,
-    'Pod::InputObjects'     => undef,
+    'Pod::Find'             => 'cpan',
+    'Pod::InputObjects'     => 'cpan',
     'Pod::LaTeX'            => undef,
     'Pod::Man'              => 'cpan',
     'Pod::ParseLink'        => 'cpan',
-    'Pod::ParseUtils'       => undef,
-    'Pod::Parser'           => undef,
-    'Pod::Perldoc'          => 'blead',
-    'Pod::Perldoc::BaseTo'  => 'blead',
-    'Pod::Perldoc::GetOptsOO'=> 'blead',
-    'Pod::Perldoc::ToChecker'=> 'blead',
-    'Pod::Perldoc::ToMan'   => 'blead',
-    'Pod::Perldoc::ToNroff' => 'blead',
-    'Pod::Perldoc::ToPod'   => 'blead',
-    'Pod::Perldoc::ToRtf'   => 'blead',
-    'Pod::Perldoc::ToText'  => 'blead',
-    'Pod::Perldoc::ToTk'    => 'blead',
-    'Pod::Perldoc::ToXml'   => 'blead',
-    'Pod::PlainText'        => undef,
-    'Pod::Select'           => undef,
+    'Pod::ParseUtils'       => 'cpan',
+    'Pod::Parser'           => 'cpan',
+    'Pod::Perldoc'          => 'cpan',
+    'Pod::Perldoc::BaseTo'  => 'cpan',
+    'Pod::Perldoc::GetOptsOO'=> 'cpan',
+    'Pod::Perldoc::ToANSI'  => 'cpan',
+    'Pod::Perldoc::ToChecker'=> 'cpan',
+    'Pod::Perldoc::ToMan'   => 'cpan',
+    'Pod::Perldoc::ToNroff' => 'cpan',
+    'Pod::Perldoc::ToPod'   => 'cpan',
+    'Pod::Perldoc::ToRtf'   => 'cpan',
+    'Pod::Perldoc::ToTerm'  => 'cpan',
+    'Pod::Perldoc::ToText'  => 'cpan',
+    'Pod::Perldoc::ToTk'    => 'cpan',
+    'Pod::Perldoc::ToXml'   => 'cpan',
+    'Pod::PlainText'        => 'cpan',
+    'Pod::Select'           => 'cpan',
     'Pod::Simple'           => 'cpan',
     'Pod::Simple::BlackBox' => 'cpan',
     'Pod::Simple::Checker'  => 'cpan',
@@ -26185,15 +9150,14 @@
     'Pod::Text::Color'      => 'cpan',
     'Pod::Text::Overstrike' => 'cpan',
     'Pod::Text::Termcap'    => 'cpan',
-    'Pod::Usage'            => undef,
+    'Pod::Usage'            => 'cpan',
     'Safe'                  => 'blead',
     'Scalar::Util'          => 'cpan',
-    'Scalar::Util::PP'      => 'cpan',
     'SelfLoader'            => 'blead',
-    'Shell'                 => undef,
+    'Socket'                => 'cpan',
     'Storable'              => 'blead',
     'Sys::Syslog'           => 'cpan',
-    'Sys::Syslog::win32::Win32'=> 'cpan',
+    'Sys::Syslog::Win32'    => 'cpan',
     'TAP::Base'             => 'cpan',
     'TAP::Formatter::Base'  => 'cpan',
     'TAP::Formatter::Color' => 'cpan',
@@ -26249,7 +9213,7 @@
     'Test::Harness'         => 'cpan',
     'Test::More'            => 'cpan',
     'Test::Simple'          => 'cpan',
-    'Text::Balanced'        => undef,
+    'Text::Balanced'        => 'cpan',
     'Text::ParseWords'      => undef,
     'Text::Soundex'         => undef,
     'Text::Tabs'            => 'cpan',
@@ -26256,12 +9220,12 @@
     'Text::Wrap'            => 'cpan',
     'Thread::Queue'         => 'blead',
     'Thread::Semaphore'     => 'blead',
-    'Tie::File'             => 'first-come',
+    'Tie::File'             => 'blead',
     'Tie::RefHash'          => 'cpan',
-    'Time::HiRes'           => undef,
+    'Time::HiRes'           => 'cpan',
     'Time::Local'           => 'cpan',
     'Time::Piece'           => undef,
-    'Time::Piece::Seconds'  => undef,
+    'Time::Seconds'         => undef,
     'Unicode::Collate'      => 'first-come',
     'Unicode::Collate::CJK::Big5'=> 'first-come',
     'Unicode::Collate::CJK::GB2312'=> 'first-come',
@@ -26269,19 +9233,17 @@
     'Unicode::Collate::CJK::Korean'=> 'first-come',
     'Unicode::Collate::CJK::Pinyin'=> 'first-come',
     'Unicode::Collate::CJK::Stroke'=> 'first-come',
+    'Unicode::Collate::CJK::Zhuyin'=> 'first-come',
     'Unicode::Collate::Locale'=> 'first-come',
     'Unicode::Normalize'    => 'first-come',
     'Unicode::UCD'          => 'blead',
     'VMS::DCLsym'           => undef,
-    'VMS::Filespec'         => undef,
     'VMS::Stdio'            => undef,
-    'Version::Requirements' => 'cpan',
     'Win32'                 => 'cpan',
     'Win32API::File'        => 'cpan',
     'Win32API::File::ExtUtils::Myconst2perl'=> 'cpan',
     'Win32CORE'             => undef,
-    'XSLoader'              => 'blead',
-    'XSLoader::XSLoader'    => 'blead',
+    'XSLoader'              => undef,
     'autodie'               => 'cpan',
     'autodie::exception'    => 'cpan',
     'autodie::exception::system'=> 'cpan',
@@ -26298,15 +9260,15 @@
     'inc::latest'           => 'cpan',
     'lib'                   => 'blead',
     'parent'                => undef,
+    'perlfaq'               => 'cpan',
     'threads'               => 'blead',
     'threads::shared'       => 'blead',
     'version'               => undef,
-    'warnings'              => undef,
-    'warnings::register'    => undef,
+    'warnings'              => 'blead',
+    'warnings::register'    => 'blead',
 );
 
 %bug_tracker = (
-    'AnyDBM_File'           => undef,
     'App::Cpan'             => undef,
     'App::Prove'            => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
     'App::Prove::State'     => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -26317,6 +9279,7 @@
     'Archive::Tar::Constant'=> undef,
     'Archive::Tar::File'    => undef,
     'Attribute::Handlers'   => undef,
+    'B::Concise'            => undef,
     'B::Debug'              => undef,
     'B::Deparse'            => undef,
     'B::Lint'               => undef,
@@ -26343,6 +9306,7 @@
     'CPAN::Exception::RecursiveDependency'=> undef,
     'CPAN::Exception::blocked_urllist'=> undef,
     'CPAN::Exception::yaml_not_installed'=> undef,
+    'CPAN::Exception::yaml_process_error'=> undef,
     'CPAN::FTP'             => undef,
     'CPAN::FTP::netrc'      => undef,
     'CPAN::FirstTime'       => undef,
@@ -26358,6 +9322,7 @@
     'CPAN::Meta::Feature'   => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
     'CPAN::Meta::History'   => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
     'CPAN::Meta::Prereqs'   => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
+    'CPAN::Meta::Requirements'=> 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-Requirements',
     'CPAN::Meta::Spec'      => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
     'CPAN::Meta::Validator' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta',
     'CPAN::Meta::YAML'      => 'http://rt.cpan.org/Public/Dist/Display.html?Name=CPAN-Meta-YAML',
@@ -26374,6 +9339,7 @@
     'CPANPLUS::Backend'     => undef,
     'CPANPLUS::Backend::RV' => undef,
     'CPANPLUS::Config'      => undef,
+    'CPANPLUS::Config::HomeEnv'=> undef,
     'CPANPLUS::Configure'   => undef,
     'CPANPLUS::Configure::Setup'=> undef,
     'CPANPLUS::Dist'        => undef,
@@ -26410,13 +9376,14 @@
     'CPANPLUS::Shell::Default::Plugins::CustomSource'=> undef,
     'CPANPLUS::Shell::Default::Plugins::Remote'=> undef,
     'CPANPLUS::Shell::Default::Plugins::Source'=> undef,
+    'Carp'                  => undef,
+    'Carp::Heavy'           => undef,
     'Compress::Raw::Bzip2'  => undef,
     'Compress::Raw::Zlib'   => undef,
     'Compress::Zlib'        => undef,
+    'Config::Perl::V'       => undef,
     'Cwd'                   => undef,
     'DB_File'               => undef,
-    'Devel::DProf'          => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Devel-DProf',
-    'Devel::DProf::dprof::V'=> undef,
     'Devel::InnerPackage'   => undef,
     'Devel::PPPort'         => undef,
     'Digest'                => undef,
@@ -26493,11 +9460,18 @@
     'ExtUtils::MY'          => undef,
     'ExtUtils::MakeMaker'   => undef,
     'ExtUtils::MakeMaker::Config'=> undef,
-    'ExtUtils::MakeMaker::YAML'=> undef,
     'ExtUtils::Mkbootstrap' => undef,
     'ExtUtils::Mksymlists'  => undef,
     'ExtUtils::Packlist'    => undef,
     'ExtUtils::ParseXS'     => undef,
+    'ExtUtils::ParseXS::Constants'=> undef,
+    'ExtUtils::ParseXS::CountLines'=> undef,
+    'ExtUtils::ParseXS::Utilities'=> undef,
+    'ExtUtils::Typemaps'    => undef,
+    'ExtUtils::Typemaps::Cmd'=> undef,
+    'ExtUtils::Typemaps::InputMap'=> undef,
+    'ExtUtils::Typemaps::OutputMap'=> undef,
+    'ExtUtils::Typemaps::Type'=> undef,
     'ExtUtils::testlib'     => undef,
     'Fatal'                 => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=autodie',
     'File::Fetch'           => undef,
@@ -26512,11 +9486,11 @@
     'File::Spec::Unix'      => undef,
     'File::Spec::VMS'       => undef,
     'File::Spec::Win32'     => undef,
-    'File::Temp'            => undef,
+    'File::Temp'            => 'https://rt.cpan.org/Public/Dist/Display.html?Name=File-Temp',
     'Filter::Simple'        => undef,
     'Filter::Util::Call'    => undef,
     'Getopt::Long'          => undef,
-    'HTTP::Tiny'            => 'http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Tiny',
+    'HTTP::Tiny'            => 'https://github.com/chansen/p5-http-tiny/issues',
     'IO::Compress::Adapter::Bzip2'=> undef,
     'IO::Compress::Adapter::Deflate'=> undef,
     'IO::Compress::Adapter::Identity'=> undef,
@@ -26551,14 +9525,30 @@
     'JSON::PP'              => undef,
     'JSON::PP::Boolean'     => undef,
     'List::Util'            => undef,
-    'List::Util::PP'        => undef,
     'List::Util::XS'        => undef,
     'Locale::Codes'         => undef,
+    'Locale::Codes::Constants'=> undef,
     'Locale::Codes::Country'=> undef,
+    'Locale::Codes::Country_Codes'=> undef,
+    'Locale::Codes::Country_Retired'=> undef,
     'Locale::Codes::Currency'=> undef,
+    'Locale::Codes::Currency_Codes'=> undef,
+    'Locale::Codes::Currency_Retired'=> undef,
+    'Locale::Codes::LangExt'=> undef,
+    'Locale::Codes::LangExt_Codes'=> undef,
+    'Locale::Codes::LangExt_Retired'=> undef,
+    'Locale::Codes::LangFam'=> undef,
+    'Locale::Codes::LangFam_Codes'=> undef,
+    'Locale::Codes::LangFam_Retired'=> undef,
+    'Locale::Codes::LangVar'=> undef,
+    'Locale::Codes::LangVar_Codes'=> undef,
+    'Locale::Codes::LangVar_Retired'=> undef,
     'Locale::Codes::Language'=> undef,
+    'Locale::Codes::Language_Codes'=> undef,
+    'Locale::Codes::Language_Retired'=> undef,
     'Locale::Codes::Script' => undef,
-    'Locale::Constants'     => undef,
+    'Locale::Codes::Script_Codes'=> undef,
+    'Locale::Codes::Script_Retired'=> undef,
     'Locale::Country'       => undef,
     'Locale::Currency'      => undef,
     'Locale::Language'      => undef,
@@ -26596,6 +9586,7 @@
     'Module::Build::Base'   => undef,
     'Module::Build::Compat' => undef,
     'Module::Build::Config' => undef,
+    'Module::Build::ConfigData'=> undef,
     'Module::Build::Cookbook'=> undef,
     'Module::Build::Dumper' => undef,
     'Module::Build::ModuleInfo'=> undef,
@@ -26619,6 +9610,8 @@
     'Module::Build::Version'=> undef,
     'Module::Build::YAML'   => undef,
     'Module::CoreList'      => undef,
+    'Module::CoreList::TieHashDelta'=> undef,
+    'Module::CoreList::Utils'=> undef,
     'Module::Load'          => undef,
     'Module::Load::Conditional'=> undef,
     'Module::Loaded'        => undef,
@@ -26644,8 +9637,8 @@
     'Object::Accessor'      => undef,
     'Package::Constants'    => undef,
     'Params::Check'         => undef,
-    'Parse::CPAN::Meta'     => undef,
-    'Perl::OSType'          => undef,
+    'Parse::CPAN::Meta'     => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Parse-CPAN-Meta',
+    'Perl::OSType'          => 'https://github.com/dagolden/perl-ostype/issues',
     'PerlIO::via::QuotedPrint'=> undef,
     'Pod::Checker'          => undef,
     'Pod::Escapes'          => undef,
@@ -26659,44 +9652,46 @@
     'Pod::Perldoc'          => undef,
     'Pod::Perldoc::BaseTo'  => undef,
     'Pod::Perldoc::GetOptsOO'=> undef,
+    'Pod::Perldoc::ToANSI'  => undef,
     'Pod::Perldoc::ToChecker'=> undef,
     'Pod::Perldoc::ToMan'   => undef,
     'Pod::Perldoc::ToNroff' => undef,
     'Pod::Perldoc::ToPod'   => undef,
     'Pod::Perldoc::ToRtf'   => undef,
+    'Pod::Perldoc::ToTerm'  => undef,
     'Pod::Perldoc::ToText'  => undef,
     'Pod::Perldoc::ToTk'    => undef,
     'Pod::Perldoc::ToXml'   => undef,
     'Pod::PlainText'        => undef,
     'Pod::Select'           => undef,
-    'Pod::Simple'           => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::BlackBox' => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::Checker'  => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::Debug'    => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::DumpAsText'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::DumpAsXML'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::HTML'     => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::HTMLBatch'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::HTMLLegacy'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::LinkSection'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::Methody'  => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::Progress' => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::PullParser'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::PullParserEndToken'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::PullParserStartToken'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::PullParserTextToken'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::PullParserToken'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::RTF'      => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::Search'   => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::SimpleTree'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::Text'     => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::TextContent'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::TiedOutFH'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::Transcode'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::TranscodeDumb'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::TranscodeSmart'=> 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::XHTML'    => 'mailto:bug-pod-simple at rt.cpan.org',
-    'Pod::Simple::XMLOutStream'=> 'mailto:bug-pod-simple at rt.cpan.org',
+    '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,
@@ -26704,12 +9699,11 @@
     'Pod::Usage'            => undef,
     'Safe'                  => undef,
     'Scalar::Util'          => undef,
-    'Scalar::Util::PP'      => undef,
     'SelfLoader'            => undef,
-    'Shell'                 => undef,
+    'Socket'                => undef,
     'Storable'              => undef,
     'Sys::Syslog'           => undef,
-    'Sys::Syslog::win32::Win32'=> undef,
+    'Sys::Syslog::Win32'    => undef,
     'TAP::Base'             => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
     'TAP::Formatter::Base'  => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
     'TAP::Formatter::Color' => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Test-Harness',
@@ -26775,9 +9769,9 @@
     'Tie::File'             => undef,
     'Tie::RefHash'          => undef,
     'Time::HiRes'           => undef,
-    'Time::Local'           => undef,
+    'Time::Local'           => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Time-Local',
     'Time::Piece'           => undef,
-    'Time::Piece::Seconds'  => undef,
+    'Time::Seconds'         => undef,
     'Unicode::Collate'      => undef,
     'Unicode::Collate::CJK::Big5'=> undef,
     'Unicode::Collate::CJK::GB2312'=> undef,
@@ -26785,15 +9779,15 @@
     'Unicode::Collate::CJK::Korean'=> undef,
     'Unicode::Collate::CJK::Pinyin'=> undef,
     'Unicode::Collate::CJK::Stroke'=> undef,
+    'Unicode::Collate::CJK::Zhuyin'=> undef,
     'Unicode::Collate::Locale'=> undef,
     'Unicode::Normalize'    => undef,
     'Unicode::UCD'          => undef,
-    'Version::Requirements' => undef,
+    'VMS::Stdio'            => undef,
     'Win32'                 => undef,
     'Win32API::File'        => undef,
     'Win32API::File::ExtUtils::Myconst2perl'=> undef,
-    'XSLoader'              => undef,
-    'XSLoader::XSLoader'    => undef,
+    'XSLoader'              => 'https://rt.perl.org/rt3/Search/Results.html?Query=Queue=\'perl5\' AND Content LIKE \'module=XSLoader\' AND (Status=\'open\' OR Status=\'new\' OR Status=\'stalled\')',
     'autodie'               => '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',
@@ -26810,31 +9804,38 @@
     'inc::latest'           => undef,
     'lib'                   => undef,
     'parent'                => undef,
+    'perlfaq'               => 'https://github.com/perl-doc-cats/perlfaq/issues',
     'threads'               => undef,
     'threads::shared'       => undef,
     'version'               => undef,
+    'warnings'              => undef,
+    'warnings::register'    => undef,
 );
 
 # Create aliases with trailing zeros for $] use
 
 $released{'5.000'} = $released{5};
-$released{'5.010000'} = $released{5.01};
-$released{'5.011000'} = $released{5.011};
-$released{'5.012000'} = $released{5.012};
-$released{'5.013000'} = $released{5.013};
-$released{'5.014000'} = $released{5.014};
-
 $version{'5.000'} = $version{5};
-$version{'5.010000'} = $version{5.01};
-$version{'5.011000'} = $version{5.011};
-$version{'5.012000'} = $version{5.012};
-$version{'5.013000'} = $version{5.013};
-$version{'5.014000'} = $version{5.014};
 
-$deprecated{'5.011000'} = $deprecated{5.011};
-$deprecated{'5.012000'} = $deprecated{5.012};
-$deprecated{'5.013000'} = $deprecated{5.013};
-$deprecated{'5.014000'} = $deprecated{5.014};
+_create_aliases(\%released);
+_create_aliases(\%version);
+_create_aliases(\%deprecated);
 
+sub _create_aliases {
+    my ($hash) = @_;
+
+    for my $version (keys %$hash) {
+        next unless $version >= 5.010;
+
+        my $padded = sprintf "%0.6f", $version;
+
+        # If the version in string form isn't the same as the numeric version,
+        # alias it.
+        if ($padded ne $version && $version == $padded) {
+            $hash->{$padded} = $hash->{$version};
+        }
+    }
+}
+
 1;
 __END__


Property changes on: vendor/perl/dist/dist/Module-CoreList/lib/Module/CoreList.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/dist/Module-CoreList/t/corelist.t
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/t/corelist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/t/corelist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Module-CoreList/t/corelist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Module-CoreList/t/deprecated.t
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/t/deprecated.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/t/deprecated.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!perl -w
 use strict;
-use Test::More tests => 7;
+use Test::More tests => 9;
 
 require_ok('Module::CoreList');
 
@@ -11,7 +11,7 @@
 );
 
 ok(! Module::CoreList::is_deprecated('File::Spec'),
-   "File::Spec not deprecated in 5.011000 (function)"
+   "File::Spec currently is not deprecated (function)"
 );
 
 ok(exists $Module::CoreList::deprecated{5.011000}{'Switch'},
@@ -25,3 +25,11 @@
 ok(! Module::CoreList::is_deprecated('Switch', 5.010000), 
    "Switch not deprecated in 5.010000 (function w/ perl version)"
 );
+
+is(Module::CoreList::deprecated_in('Switch'), 5.011000,
+   "Switch was deprecated in 5.011000 (deprecated_in)"
+);
+
+ok(! Module::CoreList::deprecated_in('File::Spec'),
+   "File::Spec currently is not deprecated (deprecated_in)"
+);


Property changes on: vendor/perl/dist/dist/Module-CoreList/t/deprecated.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Module-CoreList/t/find_modules.t
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/t/find_modules.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/t/find_modules.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,5 +19,6 @@
           [ qw(Test::Harness::Assert Test::Harness::Straps) ],
           'qr/Test::H.*::.*s/ at 5.006001 and 5.007003');
 
-is_deeply([ Module::CoreList::find_modules(qr/Module::CoreList/) ], [ qw(Module::CoreList) ], 
+is_deeply([ Module::CoreList::find_modules(qr/Module::CoreList/) ],
+          [ qw(Module::CoreList Module::CoreList::TieHashDelta Module::CoreList::Utils) ], 
           'Module::CoreList functional' );


Property changes on: vendor/perl/dist/dist/Module-CoreList/t/find_modules.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Module-CoreList/t/pod.t
===================================================================
--- vendor/perl/dist/dist/Module-CoreList/t/pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Module-CoreList/t/pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Module-CoreList/t/pod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/Changes
===================================================================
--- vendor/perl/dist/dist/Net-Ping/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,63 @@
 CHANGES
 -------
+2.41  Mar 17 09:35 2013
+        Bugfixes
+        - Windows Vista does not appear to support inet_ntop().  It seems to
+          have InetNtop() instead.  So, working around by using getnameinfo()
+          and passing in the NI_NUMERICHOST to get an IP address.
+        Features
+        - Change Net::Ping to use Time::HiRes::time() instead of CORE::time()
+          by default.  For most successful cases, CORE::time() returned zero.
+2.40  Mar 15 11:20 2013
+        Bugfixes
+        - several fixes to tests to stop the black smoke on Win32's
+          and Cygwin since the core updated the module to Test::More.
+          I had planned a later release, but all the black smoke is
+          forcing a release.
+        - fixes to some skips in tests that were still using the
+          Test style skip's.
+        - Documentation fix for https://rt.cpan.org/Ticket/Display.html?id=48014.
+          Thanks to Keith Taylor <keith at supanet.net.uk>
+        - Instead of using a hard-coded TOS value, import IP_TOS from
+          Socket.  This fixes an outstanding bug on Solaris which uses a
+          different value for IP_TOS in it headers than Linux.  I'm assuming
+          other OS's were fixed with this change as well.
 
+        Features
+        - added TTL handling for icmp pings to allow traceroute like
+          applications to be built with Net::Ping.  Thanks to
+          <rolek at bokxing.nl> for the patch and tests!
+
+       Internals
+        - replaced SOL_IP with IPPROTO_IP.  SOL_IP is not portable and was
+          hard-coded anyway.
+        - added IPPROTO_IP, IP_TOS, IP_TTL, and AF_INET to the list of Socket
+          constants imported.
+        - removed some hard-coded constants.
+        - converted all calls to inet_ntoa() to inet_ntop() in preparation
+          for further ipv6 updates.
+
+        Infrastructure
+        - Makefile.PL updated to require Test::More, Time::HiRes, and a
+          recent Socket
+        - several changes for github hosting
+          - add a .gitignore file
+          - added a .travis.yml file to allow CI testing with changes pushed
+            to github
+          - replaced the README with a README.md which displays the
+            Travis CI build status on github.
+
+
+2.39  Mar 13 09:25 2013
+        - patch from Matthew Musgrove to resolve RT #45812.  Thanks!
+        - pulled in several changes from the Perl core
+
+2.36  Jun 08 12:00 2009
+        - release to include a few fixes from the Perl core
+
 2.35  Feb 08 14:42 2008
-	- Patch in Perl change #33242 by Nicholas Clark 
-		<http://public.activestate.com/cgi-bin/perlbrowse/p/33242>
+	- Patch in Perl change #33242 by Nicholas Clark
+		<http://perl5.git.perl.org/perl.git/commit/5d6b07c5a4c042580b85248d570ee299fd102a79>
 
 2.34  Dec 19 08:51 2007
         - Release primarily to prevent problems with the Perl core in


Property changes on: vendor/perl/dist/dist/Net-Ping/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm
===================================================================
--- vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,19 +8,17 @@
             $def_timeout $def_proto $def_factor
             $max_datasize $pingstring $hires $source_verify $syn_forking);
 use Fcntl qw( F_GETFL F_SETFL O_NONBLOCK );
-use Socket qw( SOCK_DGRAM SOCK_STREAM SOCK_RAW PF_INET SOL_SOCKET SO_ERROR
-               inet_aton inet_ntoa sockaddr_in );
+use Socket qw( SOCK_DGRAM SOCK_STREAM SOCK_RAW PF_INET SOL_SOCKET SO_ERROR IPPROTO_IP IP_TOS IP_TTL
+               inet_aton getnameinfo NI_NUMERICHOST sockaddr_in );
 use POSIX qw( ENOTCONN ECONNREFUSED ECONNRESET EINPROGRESS EWOULDBLOCK EAGAIN WNOHANG );
 use FileHandle;
 use Carp;
+use Time::HiRes;
 
 @ISA = qw(Exporter);
 @EXPORT = qw(pingecho);
-$VERSION = "2.38";
+$VERSION = "2.41";
 
-sub SOL_IP { 0; };
-sub IP_TOS { 1; };
-
 # Constants
 
 $def_timeout = 5;           # Default timeout to wait for a reply
@@ -87,6 +85,7 @@
       $data_size,         # Optional additional bytes of data
       $device,            # Optional device to use
       $tos,               # Optional ToS to set
+      $ttl,               # Optional TTL to set
       ) = @_;
   my  $class = ref($this) || $this;
   my  $self = {};
@@ -110,6 +109,12 @@
 
   $self->{"tos"} = $tos;
 
+  if ($self->{"proto"} eq 'icmp') {
+    croak('TTL must be from 0 to 255')
+      if ($ttl && ($ttl < 0 || $ttl > 255));
+    $self->{"ttl"} = $ttl;
+  }
+
   $min_datasize = ($proto eq "udp") ? 1 : 0;  # Determine data size
   $data_size = $min_datasize unless defined($data_size) && $proto ne "tcp";
   croak("Data for ping must be from $min_datasize to $max_datasize bytes")
@@ -143,7 +148,7 @@
         or croak "error binding to device $self->{'device'} $!";
     }
     if ($self->{'tos'}) {
-      setsockopt($self->{"fh"}, SOL_IP, IP_TOS(), pack("I*", $self->{'tos'}))
+      setsockopt($self->{"fh"}, IPPROTO_IP, IP_TOS, pack("I*", $self->{'tos'}))
         or croak "error configuring tos to $self->{'tos'} $!";
     }
   }
@@ -161,9 +166,13 @@
         or croak "error binding to device $self->{'device'} $!";
     }
     if ($self->{'tos'}) {
-      setsockopt($self->{"fh"}, SOL_IP, IP_TOS(), pack("I*", $self->{'tos'}))
+      setsockopt($self->{"fh"}, IPPROTO_IP, IP_TOS, pack("I*", $self->{'tos'}))
         or croak "error configuring tos to $self->{'tos'} $!";
     }
+    if ($self->{'ttl'}) {
+      setsockopt($self->{"fh"}, IPPROTO_IP, IP_TTL, pack("I*", $self->{'ttl'}))
+        or croak "error configuring ttl to $self->{'ttl'} $!";
+    }
   }
   elsif ($self->{"proto"} eq "tcp" || $self->{"proto"} eq "stream")
   {
@@ -304,13 +313,12 @@
 # Description: allows the module to use milliseconds as returned by
 # the Time::HiRes module
 
-$hires = 0;
+$hires = 1;
 sub hires
 {
   my $self = shift;
   $hires = 1 unless defined
     ($hires = ((defined $self) && (ref $self)) ? shift() : $self);
-  require Time::HiRes if $hires;
 }
 
 sub time
@@ -392,7 +400,7 @@
     croak("Unknown protocol \"$self->{proto}\" in ping()");
   }
 
-  return wantarray ? ($ret, &time() - $ping_time, inet_ntoa($ip)) : $ret;
+  return wantarray ? ($ret, &time() - $ping_time, $self->ntop($ip)) : $ret;
 }
 
 # Uses Net::Ping::External to do an external ping.
@@ -410,6 +418,8 @@
 use constant ICMP_ECHOREPLY   => 0; # ICMP packet types
 use constant ICMP_UNREACHABLE => 3; # ICMP packet types
 use constant ICMP_ECHO        => 8;
+use constant ICMP_TIME_EXCEEDED => 11; # ICMP packet types
+use constant ICMP_PARAMETER_PROBLEM => 12; # ICMP packet types
 use constant ICMP_STRUCT      => "C2 n3 A"; # Structure of a minimal ICMP packet
 use constant SUBCODE          => 0; # No ICMP subcode for ECHO and ECHOREPLY
 use constant ICMP_FLAGS       => 0; # No special flags for send or recv
@@ -489,14 +499,17 @@
       $self->{"from_ip"} = $from_ip;
       $self->{"from_type"} = $from_type;
       $self->{"from_subcode"} = $from_subcode;
-      if (($from_pid == $self->{"pid"}) && # Does the packet check out?
-          (! $source_verify || (inet_ntoa($from_ip) eq inet_ntoa($ip))) &&
-          ($from_seq == $self->{"seq"})) {
+      next if ($from_pid != $self->{"pid"});
+      next if ($from_seq != $self->{"seq"});
+      if (! $source_verify || ($self->ntop($from_ip) eq $self->ntop($ip))) { # Does the packet check out?
         if ($from_type == ICMP_ECHOREPLY) {
           $ret = 1;
-	  $done = 1;
+	        $done = 1;
         } elsif ($from_type == ICMP_UNREACHABLE) {
           $done = 1;
+        } elsif ($from_type == ICMP_TIME_EXCEEDED) {
+          $ret = 0;
+          $done = 1;
         }
       }
     } else {     # Oops, timed out
@@ -510,7 +523,7 @@
   my ($self) = @_;
   my $ip = $self->{"from_ip"} || "";
   $ip = "\0\0\0\0" unless 4 == length $ip;
-  return (inet_ntoa($ip),($self->{"from_type"} || 0), ($self->{"from_subcode"} || 0));
+  return ($self->ntop($ip),($self->{"from_type"} || 0), ($self->{"from_subcode"} || 0));
 }
 
 # Description:  Do a checksum on the message.  Basically sum all of
@@ -593,7 +606,7 @@
         or croak("error binding to device $self->{'device'} $!");
     }
     if ($self->{'tos'}) {
-      setsockopt($self->{"fh"}, SOL_IP, IP_TOS(), pack("I*", $self->{'tos'}))
+      setsockopt($self->{"fh"}, IPPROTO_IP, IP_TOS, pack("I*", $self->{'tos'}))
         or croak "error configuring tos to $self->{'tos'} $!";
     }
   };
@@ -1037,7 +1050,7 @@
       or croak("error binding to device $self->{'device'} $!");
   }
   if ($self->{'tos'}) {
-    setsockopt($fh, SOL_IP, IP_TOS(), pack("I*", $self->{'tos'}))
+    setsockopt($fh, IPPROTO_IP, IP_TOS, pack("I*", $self->{'tos'}))
       or croak "error configuring tos to $self->{'tos'} $!";
   }
   # Set O_NONBLOCK property on filehandle
@@ -1106,7 +1119,7 @@
           or croak("error binding to device $self->{'device'} $!");
       }
       if ($self->{'tos'}) {
-        setsockopt($self->{"fh"}, SOL_IP, IP_TOS(), pack("I*", $self->{'tos'}))
+        setsockopt($self->{"fh"}, IPPROTO_IP, IP_TOS, pack("I*", $self->{'tos'}))
           or croak "error configuring tos to $self->{'tos'} $!";
       }
 
@@ -1247,7 +1260,7 @@
           }
           # Everything passed okay, return the answer
           return wantarray ?
-            ($entry->[0], &time() - $entry->[3], inet_ntoa($entry->[1]))
+            ($entry->[0], &time() - $entry->[3], $self->ntop($entry->[1]))
             : $entry->[0];
         } else {
           warn "Corrupted SYN entry: unknown fd [$fd] ready!";
@@ -1283,7 +1296,7 @@
     # Host passed as arg
     if (my $entry = $self->{"good"}->{$host}) {
       delete $self->{"good"}->{$host};
-      return ($entry->[0], &time() - $entry->[3], inet_ntoa($entry->[1]));
+      return ($entry->[0], &time() - $entry->[3], $self->ntop($entry->[1]));
     }
   }
 
@@ -1327,7 +1340,7 @@
               # And wait for the next winner
               next;
             }
-            return ($entry->[0], &time() - $entry->[3], inet_ntoa($entry->[1]));
+            return ($entry->[0], &time() - $entry->[3], $self->ntop($entry->[1]));
           }
         } else {
           # Should never happen
@@ -1374,6 +1387,8 @@
     delete $self->{"syn"};
   } elsif ($self->{"proto"} eq "tcp") {
     # The connection will already be closed
+  } elsif ($self->{"proto"} eq "external") {
+    # Nothing to close
   } else {
     $self->{"fh"}->close();
   }
@@ -1388,7 +1403,24 @@
    return $self->{port_num};
 }
 
+sub ntop {
+    my($self, $ip) = @_;
 
+    # Vista doesn't define a inet_ntop.  It has InetNtop instead.
+    # Not following ANSI... priceless.  getnameinfo() is defined
+    # for Windows 2000 and later, so that may be the choice.
+
+    # Any port will work, even undef, but this will work for now.
+    # Socket warns when undef is passed in, but it still works.
+    my $port = getservbyname('echo', 'udp');
+    my $sockaddr = sockaddr_in $port, $ip;
+    my ($error, $address) = getnameinfo($sockaddr, NI_NUMERICHOST);
+    if($error) {
+      croak $error;
+    }
+    return $address;
+}
+
 1;
 __END__
 
@@ -1417,7 +1449,7 @@
 
     $p = Net::Ping->new("tcp", 2);
     # Try connecting to the www port instead of the echo port
-    $p->port_number(getservbyname("http", "tcp"));
+    $p->port_number(scalar(getservbyname("http", "tcp")));
     while ($stop_time > time())
     {
         print "$host not reachable ", scalar(localtime()), "\n"
@@ -1509,7 +1541,7 @@
 
 =over 4
 
-=item Net::Ping->new([$proto [, $def_timeout [, $bytes [, $device [, $tos ]]]]]);
+=item Net::Ping->new([$proto [, $def_timeout [, $bytes [, $device [, $tos [, $ttl ]]]]]]);
 
 Create a new ping object.  All of the parameters are optional.  $proto
 specifies the protocol to use when doing a ping.  The current choices
@@ -1533,6 +1565,8 @@
 
 If $tos is given, this ToS is configured into the socket.
 
+For icmp, $ttl can be specified to set the TTL of the outgoing packet.
+
 =item $p->ping($host [, $timeout]);
 
 Ping the remote host and wait for a response.  $host can be either the


Property changes on: vendor/perl/dist/dist/Net-Ping/lib/Net/Ping.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Net-Ping/t/100_load.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/100_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/100_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Net-Ping/t/100_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/t/110_icmp_inst.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/110_icmp_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/110_icmp_inst.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 SKIP: {
   skip "icmp ping requires root privileges.", 1
     if ($> and $^O ne 'VMS' and $^O ne 'cygwin')
-      or ($^O eq 'MSWin32'
+      or (($^O eq 'MSWin32' or $^O eq 'cygwin')
 	  and !IsAdminUser())
 	or ($^O eq 'VMS'
 	    and (`write sys\$output f\$privilege("SYSPRV")` =~ m/FALSE/));
@@ -25,7 +25,7 @@
 }
 
 sub IsAdminUser {
-  return unless $^O eq 'MSWin32';
+  return unless $^O eq 'MSWin32' or $^O eq 'cygwin';
   return unless eval { require Win32 };
   return unless defined &Win32::IsAdminUser;
   return Win32::IsAdminUser();


Property changes on: vendor/perl/dist/dist/Net-Ping/t/110_icmp_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Net-Ping/t/120_udp_inst.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/120_udp_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/120_udp_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Net-Ping/t/120_udp_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Net-Ping/t/130_tcp_inst.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/130_tcp_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/130_tcp_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Net-Ping/t/130_tcp_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Net-Ping/t/140_stream_inst.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/140_stream_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/140_stream_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Net-Ping/t/140_stream_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Net-Ping/t/150_syn_inst.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/150_syn_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/150_syn_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Net-Ping/t/150_syn_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Net-Ping/t/190_alarm.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/190_alarm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/190_alarm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Net-Ping/t/190_alarm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -50,7 +50,7 @@
 # Test a few remote servers
 # Hopefully they are up when the tests are run.
 
-foreach (qw(www.geocities.com ftp.geocities.com
+foreach (qw(www.geocities.com www.wisc.edu
 	    www.freeservers.com ftp.freeservers.com
 	    yahoo.com www.yahoo.com www.about.com)) {
     isnt($p->ping($_), 0, "Can ping $_");


Property changes on: vendor/perl/dist/dist/Net-Ping/t/200_ping_tcp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/t/250_ping_hires.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/250_ping_hires.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/250_ping_hires.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,7 +30,7 @@
 
 isa_ok($p, 'Net::Ping', 'new() worked');
 
-is($Net::Ping::hires, 0, 'Default is to not use Time::HiRes');
+is($Net::Ping::hires, 1, 'Default is to use Time::HiRes');
 
 $p -> hires();
 isnt($Net::Ping::hires, 0, 'Enabled hires');


Property changes on: vendor/perl/dist/dist/Net-Ping/t/250_ping_hires.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Net-Ping/t/300_ping_stream.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/300_ping_stream.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/300_ping_stream.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Net-Ping/t/300_ping_stream.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -46,7 +46,6 @@
   "www.yahoo.com." => 1,
   "www.about.com." => 1,
   "www.microsoft.com." => 1,
-  "127.0.0.1" => 1,
 );
 }
 
@@ -78,7 +77,7 @@
   # ping() does dns resolution and
   # only sends the SYN at this point
   Alarm(50); # (Plenty for a DNS lookup)
-  is($p->ping($host), 1, "Can reach $host $p->{bad}->{$host}");
+  is($p->ping($host), 1, "Can reach $host [" . ($p->{bad}->{$host} || "") . "]");
 }
 
 Alarm(20);


Property changes on: vendor/perl/dist/dist/Net-Ping/t/400_ping_syn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -79,7 +79,7 @@
   # ping() does dns resolution and
   # only sends the SYN at this point
   Alarm(50); # (Plenty for a DNS lookup)
-  is($p->ping($host), 1, "Can reach $host $p->{bad}->{$host}");
+  is($p->ping($host), 1, "Can reach $host [" . ($p->{bad}->{$host} || "") . "]");
 }
 
 Alarm(20);
@@ -86,7 +86,7 @@
 foreach my $host (sort keys %webs) {
   my $on = $p->ack($host);
   if ($on) {
-    is($webs{$host}, 1, "supposed to be up: http://$host/");
+    is($webs{$host}, 1, "supposed to be up: http://$host/ [" . ($p->{bad}->{$host} || "") . "]");
   } else {   
     is($webs{$host}, 0, "supposed to be down: http://$host/ [" . ($p->{bad}->{$host} || "") . "]");
   }


Property changes on: vendor/perl/dist/dist/Net-Ping/t/410_syn_host.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Net-Ping/t/450_service.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/450_service.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/450_service.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Net-Ping/t/450_service.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/t/500_ping_icmp.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/500_ping_icmp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/500_ping_icmp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,12 +16,12 @@
 SKIP: {
   skip "icmp ping requires root privileges.", 1
     if ($> and $^O ne 'VMS' and $^O ne 'cygwin')
-      or ($^O eq 'MSWin32'
+      or (($^O eq 'MSWin32' or $^O eq 'cygwin')
 	  and !IsAdminUser())
 	or ($^O eq 'VMS'
 	    and (`write sys\$output f\$privilege("SYSPRV")` =~ m/FALSE/));
   my $p = new Net::Ping "icmp";
-  is($p->ping("127.0.0.1"), 1);
+  is($p->ping("127.0.0.1"), 1, "icmp ping 127.0.0.1");
 }
 
 sub IsAdminUser {


Property changes on: vendor/perl/dist/dist/Net-Ping/t/500_ping_icmp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Net-Ping/t/510_ping_udp.t
===================================================================
--- vendor/perl/dist/dist/Net-Ping/t/510_ping_udp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Net-Ping/t/510_ping_udp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,28 +5,20 @@
 sub isWindowsVista {
    return unless $^O eq 'MSWin32' or $^O eq "cygwin";
    return unless eval { require Win32 };
-   return unless defined &Win32::GetOSName;
-   return Win32::GetOSName() eq "WinVista";
-}
+   return unless defined &Win32::GetOSVersion();
 
-BEGIN {
-  unless (eval "require Socket") {
-    print "1..0 \# Skip: no Socket\n";
-    exit;
-  }
-  unless (getservbyname('echo', 'udp')) {
-    print "1..0 \# Skip: no udp echo port\n";
-    exit;
-  }
+   #is this Vista or later?
+   my ($string, $major, $minor, $build, $id) = Win32::GetOSVersion();
+   return $build >= 6;
 
-  if(isWindowsVista()) {
-    print "1..0 \# Skip: udp ping blocked by Vista's default settings\n";
-    exit;
-  }
 }
 
 use Test::More tests => 2;
 BEGIN {use_ok('Net::Ping')};
 
-my $p = new Net::Ping "udp";
-is($p->ping("127.0.0.1"), 1);
+SKIP: {
+    skip "No udp echo port", 1 unless getservbyname('echo', 'udp');
+    skip "udp ping blocked by Window's default settings", 1 if isWindowsVista();
+    my $p = new Net::Ping "udp";
+    is($p->ping("127.0.0.1"), 1);
+}


Property changes on: vendor/perl/dist/dist/Net-Ping/t/510_ping_udp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/GetOptsOO.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/GetOptsOO.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/GetOptsOO.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/GetOptsOO.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToChecker.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToChecker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToChecker.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToChecker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToMan.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToNroff.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToNroff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToNroff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToNroff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToPod.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToPod.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToPod.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToPod.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToRtf.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToRtf.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToRtf.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToRtf.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToText.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToText.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToText.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToText.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToTk.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToTk.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToTk.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToTk.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToXml.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToXml.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToXml.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc/ToXml.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc.pm
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/lib/Pod/Perldoc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/t/01_about_verbose.t
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/t/01_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/t/01_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/t/01_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/t/checkerbasic.t
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/t/checkerbasic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/t/checkerbasic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/t/checkerbasic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/t/perldocbasic.t
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/t/perldocbasic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/t/perldocbasic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/t/perldocbasic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Pod-Perldoc/t/textbasic.t
===================================================================
--- vendor/perl/dist/dist/Pod-Perldoc/t/textbasic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Pod-Perldoc/t/textbasic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Pod-Perldoc/t/textbasic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Safe/Changes
===================================================================
--- vendor/perl/dist/dist/Safe/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,25 @@
+2.35 Thu Feb 21 2013
+    - localize %SIG in the Safe compartment
+    - actually check that we call execution methods on a Safe object
+
+2.34
+    - Test bug #111462, Safe + %^H + disallowed ops (Father Chrysostomos)
+      cf Perl 5 change 42440e3c68e8bafb7e2a74763360939de0fad6be
+
+2.33 Tue Apr  3 2012
+    - Don’t eval code under ‘no strict’ (Father Chrysostomos)
+      cf. Perl 5 change 25dc25e774abbe993644899cf4d9f9925a9fb9a8
+
+2.32 Sat Mar 31 2012
+    - Make Safe play nice with Devel::Cover
+
+2.31 Fri Jan 20 2012
+    - Now need to use code points above 255 to get SWASHNEW to load
+
+2.30 Tue Dec  6 2011
+    - Fix bad interaction with loading Tie::Hash::NamedCapture
+      on perls >= 5.14.0 [rt.cpan.org #72872]
+
 2.29 Sun Oct 31 2010
     - Add &version::vxs::VCMP to Safe's default share
 


Property changes on: vendor/perl/dist/dist/Safe/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Safe/MANIFEST
===================================================================
--- vendor/perl/dist/dist/Safe/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,9 +7,12 @@
 t/safe2.t
 t/safe3.t
 t/safeload.t
+t/safenamedcap.t
 t/safeops.t
+t/saferegexp.t
 t/safesort.t
 t/safeuniversal.t
 t/safeutf8.t
 t/safewrap.t
 META.yml                                 Module meta-data (added by MakeMaker)
+META.json                                Module JSON meta-data (added by MakeMaker)


Property changes on: vendor/perl/dist/dist/Safe/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Safe/META.yml
===================================================================
--- vendor/perl/dist/dist/Safe/META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/META.yml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,20 +1,21 @@
---- #YAML:1.0
-name:               Safe
-version:            2.29
-abstract:           ~
-author:  []
-license:            unknown
-distribution_type:  module
+---
+abstract: unknown
+author:
+  - unknown
+build_requires:
+  ExtUtils::MakeMaker: 0
 configure_requires:
-    ExtUtils::MakeMaker:  0
-build_requires:
-    ExtUtils::MakeMaker:  0
-requires:  {}
+  ExtUtils::MakeMaker: 0
+dynamic_config: 1
+generated_by: 'ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.112150'
+license: unknown
+meta-spec:
+  url: http://module-build.sourceforge.net/META-spec-v1.4.html
+  version: 1.4
+name: Safe
 no_index:
-    directory:
-        - t
-        - inc
-generated_by:       ExtUtils::MakeMaker version 6.55_02
-meta-spec:
-    url:      http://module-build.sourceforge.net/META-spec-v1.4.html
-    version:  1.4
+  directory:
+    - t
+    - inc
+requires: {}
+version: 2.35


Property changes on: vendor/perl/dist/dist/Safe/META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/Safe/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/README
===================================================================
--- vendor/perl/dist/dist/Safe/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Safe/Safe.pm
===================================================================
--- vendor/perl/dist/dist/Safe/Safe.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/Safe.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,9 @@
 package Safe;
 
 use 5.003_11;
-use strict;
 use Scalar::Util qw(reftype refaddr);
 
-$Safe::VERSION = "2.29";
+$Safe::VERSION = "2.35";
 
 # *** Don't declare any lexicals above this point ***
 #
@@ -22,10 +21,11 @@
     # Uses a closure (on $__ExPr__) to pass in the code to be executed.
     # (eval on one line to keep line numbers as expected by caller)
     eval sprintf
-    'package %s; %s strict; sub { @_=(); eval q[my $__ExPr__;] . $__ExPr__; }',
-                $_[0], $_[1] ? 'use' : 'no';
+    'package %s; %s sub { @_=(); eval q[local *SIG; my $__ExPr__;] . $__ExPr__; }',
+                $_[0], $_[1] ? 'use strict;' : '';
 }
 
+use strict;
 use Carp;
 BEGIN { eval q{
     use Carp::Heavy;
@@ -61,12 +61,13 @@
 # Safe is loaded. Then we can add utf8::SWASHNEW to $default_share.
 require utf8;
 # we must ensure that utf8_heavy.pl, where SWASHNEW is defined, is loaded
-# but without depending on knowledge of that implementation detail.
-# This code (//i on a unicode string) ensures utf8 is fully loaded
-# and also loads the ToFold SWASH.
+# but without depending on too much knowledge of that implementation detail.
+# This code (//i on a unicode string) should ensure utf8 is fully loaded
+# and also loads the ToFold SWASH, unless things change so that these
+# particular code points don't cause it to load.
 # (Swashes are cached internally by perl in PL_utf8_* variables
 # independent of being inside/outside of Safe. So once loaded they can be)
-do { my $a = pack('U',0xC4); my $b = chr 0xE4; utf8::upgrade $b; $a =~ /$b/i };
+do { my $a = pack('U',0x100); my $b = chr 0x101; utf8::upgrade $b; $a =~ /$b/i };
 # now we can safely include utf8::SWASHNEW in $default_share defined below.
 
 my $default_root  = 0;
@@ -102,15 +103,6 @@
     &re::regname
     &re::regnames
     &re::regnames_count
-    &Tie::Hash::NamedCapture::FETCH
-    &Tie::Hash::NamedCapture::STORE
-    &Tie::Hash::NamedCapture::DELETE
-    &Tie::Hash::NamedCapture::CLEAR
-    &Tie::Hash::NamedCapture::EXISTS
-    &Tie::Hash::NamedCapture::FIRSTKEY
-    &Tie::Hash::NamedCapture::NEXTKEY
-    &Tie::Hash::NamedCapture::SCALAR
-    &Tie::Hash::NamedCapture::flags
     &UNIVERSAL::DOES
     &version::()
     &version::new
@@ -137,7 +129,20 @@
     &version::vxs::VCMP
 ]), ($] >= 5.011 && qw[
     &re::regexp_pattern
+]), ($] >= 5.010 && $] < 5.014 && qw[
+    &Tie::Hash::NamedCapture::FETCH
+    &Tie::Hash::NamedCapture::STORE
+    &Tie::Hash::NamedCapture::DELETE
+    &Tie::Hash::NamedCapture::CLEAR
+    &Tie::Hash::NamedCapture::EXISTS
+    &Tie::Hash::NamedCapture::FIRSTKEY
+    &Tie::Hash::NamedCapture::NEXTKEY
+    &Tie::Hash::NamedCapture::SCALAR
+    &Tie::Hash::NamedCapture::flags
 ])];
+if (defined $Devel::Cover::VERSION) {
+    push @$default_share, '&Devel::Cover::use_file';
+}
 
 sub new {
     my($class, $root, $mask) = @_;
@@ -350,6 +355,8 @@
 
 sub reval {
     my ($obj, $expr, $strict) = @_;
+    die "Bad Safe object" unless $obj->isa('Safe');
+
     my $root = $obj->{Root};
 
     my $evalsub = lexless_anon_sub($root, $strict, $expr);
@@ -400,6 +407,7 @@
 
 sub wrap_code_ref {
     my ($obj, $sub) = @_;
+    die "Bad safe object" unless $obj->isa('Safe');
 
     # wrap code ref $sub with _safe_call_sv so that, when called, the
     # execution will happen with the compartment fully 'in effect'.
@@ -435,6 +443,8 @@
 
 sub rdo {
     my ($obj, $file) = @_;
+    die "Bad Safe object" unless $obj->isa('Safe');
+
     my $root = $obj->{Root};
 
     my $sg = sub_generation();


Property changes on: vendor/perl/dist/dist/Safe/Safe.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/t/safe1.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safe1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safe1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/t/safe1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/t/safe2.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safe2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safe2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/t/safe2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/t/safe3.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safe3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safe3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/t/safe3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Safe/t/safeload.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safeload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safeload.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,9 +18,20 @@
 use strict;
 use Test::More;
 use Safe;
-plan(tests => 1);
+plan(tests => 3);
 
 my $c = new Safe;
 $c->permit(qw(require caller entereval unpack));
 my $r = $c->reval(q{ use version; 1 });
 ok( defined $r, "Can load version.pm in a Safe compartment" ) or diag $@;
+
+$r = $c->reval(q{ version->new(1.2) });
+is(ref $r, "Safe::Root0::version", "version objects rerooted");
+$r or diag $@;
+
+# Does this test really belong here?  We are testing the "loading" of
+# a perl version number.
+# This should died because of strictures under 5.12+ and because of the
+# perl version in 5.10-.
+ok !$c->reval(q{use 5.012; $undeclared; 1}),
+   'reval does not prevent use 5.012 from enabling strict';


Property changes on: vendor/perl/dist/dist/Safe/t/safeload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Safe/t/safeops.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safeops.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safeops.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,10 +12,13 @@
     if ($Config{'extensions'} !~ /\bOpcode\b/ && $Config{'osname'} ne 'VMS') {
         print "1..0\n"; exit 0;
     }
+
+    # We need test.pl for runperl().  Since this test script is only run in
+    # the perl core, this should be fine:
+    require '../../t/test.pl';
 }
 
 use strict;
-use Test::More;
 use Safe;
 
 # Read the op names and descriptions directly from opcode.pl
@@ -37,7 +40,7 @@
 }
 close $fh;
 
-plan(tests => scalar @op);
+plan(tests => scalar @op + 3);
 
 sub testop {
     my ($op, $opname, $code) = @_;
@@ -53,11 +56,43 @@
     if ($_->[2]) {
 	testop @$_;
     } else {
-	local $TODO = "No test yet for $_->[1]";
+	local our $TODO = "No test yet for $_->[1]";
 	fail();
     }
 }
 
+# Test also that the errors resulting from disallowed ops do not cause
+# ‘Unbalanced’ warnings.
+{
+    local $ENV{PERL_DESTRUCT_LEVEL}=2;
+    unlike
+	runperl(
+	    switches => [ '-MSafe', '-w' ],
+	    prog     => 'Safe->new->reval(q(use strict))',
+	    stderr   => 1,
+	),
+	qr/Unbalanced/,
+	'No Unbalanced warnings when disallowing ops';
+    unlike
+	runperl(
+	    switches => [ '-MSafe', '-w' ],
+	    prog     => 'Safe->new->reval(q(use strict), 1)',
+	    stderr   => 1,
+	),
+	qr/Unbalanced/,
+	'No Unbalanced warnings when disallowing ops';
+    unlike
+	runperl(
+	    switches => [ '-MSafe', '-w' ],
+	    prog     => 'Safe->new->reval('
+			. 'q(BEGIN{$^H{foo}=bar};use strict), 0'
+			.')',
+	    stderr   => 1,
+	),
+	qr/Unbalanced/,
+	'No Unbalanced warnings when disallowing ops with %^H set';
+}
+
 # things that begin with SKIP are skipped, for various reasons (notably
 # optree modified by the optimizer -- Safe checks are done before the
 # optimizer modifies the optree)
@@ -418,7 +453,7 @@
 dorassign	$x //= $y
 once		SKIP {use feature 'state'; state $foo = 42;}
 say		SKIP {use feature 'say'; say "foo";}
-smartmatch	$x ~~ $y
+smartmatch	no warnings 'experimental::smartmatch'; $x ~~ $y
 aeach		SKIP each @t
 akeys		SKIP keys @t
 avalues		SKIP values @t


Property changes on: vendor/perl/dist/dist/Safe/t/safeops.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/t/safesort.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safesort.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safesort.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/t/safesort.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/t/safeuniversal.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safeuniversal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safeuniversal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/t/safeuniversal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/t/safeutf8.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safeutf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safeutf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/t/safeutf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Safe/t/safewrap.t
===================================================================
--- vendor/perl/dist/dist/Safe/t/safewrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Safe/t/safewrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Safe/t/safewrap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm
===================================================================
--- vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 use 5.008;
 use strict;
 use IO::Handle;
-our $VERSION = "1.18";
+our $VERSION = "1.21";
 
 # The following bit of eval-magic is necessary to make this work on
 # perls < 5.009005.
@@ -386,32 +386,32 @@
 
              Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999,
         2000, 2001, 2002, 2003, 2004, 2005, 2006 by Larry Wall and others
-    
+
 			    All rights reserved.
-    
+
     This program is free software; you can redistribute it and/or modify
     it under the terms of either:
-    
+
 	a) the GNU General Public License as published by the Free
 	Software Foundation; either version 1, or (at your option) any
 	later version, or
-    
+
 	b) the "Artistic License" which comes with this Kit.
-    
+
     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See either
     the GNU General Public License or the Artistic License for more details.
-    
+
     You should have received a copy of the Artistic License with this
     Kit, in the file named "Artistic".  If not, I'll be glad to provide one.
-    
+
     You should also have received a copy of the GNU General Public License
     along with this program in the file named "Copying". If not, write to the 
-    Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 
-    02111-1307, USA or visit their web page on the internet at
+    Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
+    MA 02110-1301, USA or visit their web page on the internet at
     http://www.gnu.org/copyleft/gpl.html.
-    
+
     For those of you that choose to use the GNU General Public License,
     my interpretation of the GNU General Public License is that no Perl
     script falls under the terms of the GPL unless you explicitly put


Property changes on: vendor/perl/dist/dist/SelfLoader/lib/SelfLoader.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/SelfLoader/t/01SelfLoader.t
===================================================================
--- vendor/perl/dist/dist/SelfLoader/t/01SelfLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/SelfLoader/t/01SelfLoader.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/SelfLoader/t/01SelfLoader.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/SelfLoader/t/02SelfLoader-buggy.t
===================================================================
--- vendor/perl/dist/dist/SelfLoader/t/02SelfLoader-buggy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/SelfLoader/t/02SelfLoader-buggy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/SelfLoader/t/02SelfLoader-buggy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/SelfLoader/t/03taint.t
===================================================================
--- vendor/perl/dist/dist/SelfLoader/t/03taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/SelfLoader/t/03taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/SelfLoader/t/03taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/ChangeLog
===================================================================
--- vendor/perl/dist/dist/Storable/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,20 @@
+?
+    Version 2.40
+
+	Security warnings section added
+
+Tue 11 Sep 06:51:11 IST 2012   Abhijit Menon-Sen <ams at toroid.org>
+    Version 2.39
+
+	Various bugfixes, including compatibility fixes for older
+	versions of Perl and vstring handling.
+
+Sun  3 Jul 09:10:11 IST 2011   Abhijit Menon-Sen <ams at toroid.org>
+    Version 2.29
+
+	Various bugfixes, notably including preventing nfreeze from
+	incorrectly stringifying integers.
+
 Fri  3 Dec 14:12:32 GMT 2010   David Leadbeater <dgl at dgl.cx>
     Version 2.25
 


Property changes on: vendor/perl/dist/dist/Storable/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/Storable/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,11 +13,14 @@
     DISTNAME            => "Storable",
 # We now ship this in t/
 #    PREREQ_PM           => { 'Test::More' => '0.41' },
-    INSTALLDIRS		=> $] >= 5.007 ? 'perl' : 'site',
+    PREREQ_PM           => { XSLoader => 0 },
+    INSTALLDIRS => ($] >= 5.007 && $] < 5.012) ? 'perl' : 'site',
     VERSION_FROM        => 'Storable.pm',
-    META_MERGE          => { resources =>
+    ($ExtUtils::MakeMaker::VERSION > 6.45 ?
+     (META_MERGE        => { resources =>
                                { bugtracker => 'http://rt.perl.org/perlbug/' }
                            },
+    ) : ()),
     dist                => { SUFFIX => 'gz', COMPRESS => 'gzip -f' },
 );
 


Property changes on: vendor/perl/dist/dist/Storable/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/README
===================================================================
--- vendor/perl/dist/dist/Storable/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/Storable.pm
===================================================================
--- vendor/perl/dist/dist/Storable/Storable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/Storable.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,7 +21,7 @@
 
 use vars qw($canonical $forgive_me $VERSION);
 
-$VERSION = '2.27';
+$VERSION = '2.41';
 
 BEGIN {
     if (eval { local $SIG{__DIE__}; require Log::Agent; 1 }) {
@@ -31,13 +31,14 @@
     # Use of Log::Agent is optional. If it hasn't imported these subs then
     # provide a fallback implementation.
     #
-    else {
+    if (!exists &logcroak) {
         require Carp;
-
         *logcroak = sub {
             Carp::croak(@_);
         };
-
+    }
+    if (!exists &logcarp) {
+	require Carp;
         *logcarp = sub {
           Carp::carp(@_);
         };
@@ -69,7 +70,7 @@
 $Storable::downgrade_restricted = 1;
 $Storable::accept_future_minor = 1;
 
-XSLoader::load 'Storable', $Storable::VERSION;
+XSLoader::load('Storable', $Storable::VERSION);
 
 #
 # Determine whether locking is possible, but only when needed.
@@ -904,8 +905,8 @@
 "2.007".  This value is suitable for numeric comparisons.
 
 The constant function C<Storable::BIN_VERSION_NV> returns a comparable
-number that represent the highest file version number that this
-version of Storable fully support (but see discussion of
+number that represents the highest file version number that this
+version of Storable fully supports (but see discussion of
 C<$Storable::accept_future_minor> above).  The constant
 C<Storable::BIN_WRITE_VERSION_NV> function returns what file version
 is written and might be less than C<Storable::BIN_VERSION_NV> in some
@@ -1018,6 +1019,38 @@
 =for example_testing
         is( $code->(), 42 );
 
+=head1 SECURITY WARNING
+
+B<Do not accept Storable documents from untrusted sources!>
+
+Some features of Storable can lead to security vulnerabilities if you
+accept Storable documents from untrusted sources. Most obviously, the
+optional (off by default) CODE reference serialization feature allows
+transfer of code to the deserializing process. Furthermore, any
+serialized object will cause Storable to helpfully load the module
+corresponding to the class of the object in the deserializing module.
+For manipulated module names, this can load almost arbitrary code.
+Finally, the deserialized object's destructors will be invoked when
+the objects get destroyed in the deserializing process. Maliciously
+crafted Storable documents may put such objects in the value of
+a hash key that is overridden by another key/value pair in the
+same hash, thus causing immediate destructor execution.
+
+In a future version of Storable, we intend to provide options to disable
+loading modules for classes and to disable deserializing objects
+altogether. I<Nonetheless, Storable deserializing documents from
+untrusted sources is expected to have other, yet undiscovered,
+security concerns such as allowing an attacker to cause the deserializer
+to crash hard.>
+
+B<Therefore, let me repeat: Do not accept Storable documents from
+untrusted sources!>
+
+If your application requires accepting data from untrusted sources, you
+are best off with a less powerful and more-likely safe serialization format
+and implementation. If your data is sufficently simple, JSON is a good
+choice and offers maximum interoperability.
+
 =head1 WARNING
 
 If you're using references as keys within your hash tables, you're bound


Property changes on: vendor/perl/dist/dist/Storable/Storable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/Storable.xs
===================================================================
--- vendor/perl/dist/dist/Storable/Storable.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/Storable.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,11 +17,12 @@
 #include <patchlevel.h>		/* Perl's one, needed since 5.6 */
 #endif
 
-#if !defined(PERL_VERSION) || PERL_VERSION < 8 || (PERL_VERSION == 8 && PERL_SUBVERSION < 9) || (PERL_VERSION == 10 && PERL_SUBVERSION < 1)
+#if !defined(PERL_VERSION) || PERL_VERSION < 10 || (PERL_VERSION == 10 && PERL_SUBVERSION < 1)
 #define NEED_load_module
 #define NEED_vload_module
 #define NEED_newCONSTSUB
 #define NEED_newSVpvn_flags
+#define NEED_newRV_noinc
 #include "ppport.h"             /* handle old perls */
 #endif
 
@@ -49,75 +50,15 @@
  * Earlier versions of perl might be used, we can't assume they have the latest!
  */
 
-#ifndef PERL_VERSION		/* For perls < 5.6 */
-#define PERL_VERSION PATCHLEVEL
-#ifndef newRV_noinc
-#define newRV_noinc(sv)		((Sv = newRV(sv)), --SvREFCNT(SvRV(Sv)), Sv)
-#endif
-#if (PATCHLEVEL <= 4)		/* Older perls (<= 5.004) lack PL_ namespace */
-#define PL_sv_yes	sv_yes
-#define PL_sv_no	sv_no
-#define PL_sv_undef	sv_undef
-#if (SUBVERSION <= 4)		/* 5.004_04 has been reported to lack newSVpvn */
-#define newSVpvn newSVpv
-#endif
-#endif						/* PATCHLEVEL <= 4 */
 #ifndef HvSHAREKEYS_off
 #define HvSHAREKEYS_off(hv)	/* Ignore */
 #endif
-#ifndef AvFILLp				/* Older perls (<=5.003) lack AvFILLp */
-#define AvFILLp AvFILL
-#endif
-typedef double NV;			/* Older perls lack the NV type */
-#define	IVdf		"ld"	/* Various printf formats for Perl types */
-#define	UVuf		"lu"
-#define	UVof		"lo"
-#define	UVxf		"lx"
-#define INT2PTR(t,v) (t)(IV)(v)
-#define PTR2UV(v)    (unsigned long)(v)
-#endif						/* PERL_VERSION -- perls < 5.6 */
 
-#ifndef NVef				/* The following were not part of perl 5.6 */
-#if defined(USE_LONG_DOUBLE) && \
-	defined(HAS_LONG_DOUBLE) && defined(PERL_PRIfldbl)
-#define NVef		PERL_PRIeldbl
-#define NVff		PERL_PRIfldbl
-#define NVgf		PERL_PRIgldbl
-#else
-#define	NVef		"e"
-#define	NVff		"f"
-#define	NVgf		"g"
+/* perl <= 5.8.2 needs this */
+#ifndef SvIsCOW
+# define SvIsCOW(sv) 0
 #endif
-#endif
 
-#ifndef SvRV_set
-#define SvRV_set(sv, val) \
-    STMT_START { \
-        assert(SvTYPE(sv) >=  SVt_RV); \
-        (((XRV*)SvANY(sv))->xrv_rv = (val)); \
-    } STMT_END
-#endif
-
-#ifndef PERL_UNUSED_DECL
-#  ifdef HASATTRIBUTE
-#    if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER)
-#      define PERL_UNUSED_DECL
-#    else
-#      define PERL_UNUSED_DECL __attribute__((unused))
-#    endif
-#  else
-#    define PERL_UNUSED_DECL
-#  endif
-#endif
-
-#ifndef dNOOP
-#define dNOOP extern int Perl___notused PERL_UNUSED_DECL
-#endif
-
-#ifndef dVAR
-#define dVAR dNOOP
-#endif
-
 #ifndef HvRITER_set
 #  define HvRITER_set(hv,r)	(HvRITER(hv) = r)
 #endif
@@ -132,14 +73,14 @@
 #  define HvEITER_get HvEITER
 #endif
 
-#ifndef HvNAME_get
-#define HvNAME_get HvNAME
-#endif
-
 #ifndef HvPLACEHOLDERS_get
 #  define HvPLACEHOLDERS_get HvPLACEHOLDERS
 #endif
 
+#ifndef HvTOTALKEYS
+#  define HvTOTALKEYS(hv)	HvKEYS(hv)
+#endif
+
 #ifdef DEBUGME
 
 #ifndef DASSERT
@@ -207,7 +148,9 @@
 #define SX_CODE         C(26)   /* Code references as perl source code */
 #define SX_WEAKREF	C(27)	/* Weak reference to object forthcoming */
 #define SX_WEAKOVERLOAD	C(28)	/* Overloaded weak reference */
-#define SX_ERROR	C(29)	/* Error */
+#define SX_VSTRING	C(29)	/* vstring forthcoming (small) */
+#define SX_LVSTRING	C(30)	/* vstring forthcoming (large) */
+#define SX_ERROR	C(31)	/* Error */
 
 /*
  * Those are only used to retrieve "old" pre-0.6 binary images.
@@ -318,6 +261,9 @@
 #ifndef SvWEAKREF
 #define WEAKREF_CROAK() CROAK(("Cannot retrieve weak references in this perl"))
 #endif
+#ifndef SvVOK
+#define VSTRING_CROAK() CROAK(("Cannot retrieve vstring in this perl"))
+#endif
 
 #ifdef HvPLACEHOLDERS
 #define HAS_RESTRICTED_HASHES
@@ -847,15 +793,17 @@
 #endif
 
 #define STORABLE_BIN_MAJOR	2		/* Binary major "version" */
-#define STORABLE_BIN_MINOR	8		/* Binary minor "version" */
+#define STORABLE_BIN_MINOR	9		/* Binary minor "version" */
 
 #if (PATCHLEVEL <= 5)
 #define STORABLE_BIN_WRITE_MINOR	4
-#else 
+#elif !defined (SvVOK)
 /*
- * Perl 5.6.0 onwards can do weak references.
+ * Perl 5.6.0-5.8.0 can do weak references, but not vstring magic.
 */
 #define STORABLE_BIN_WRITE_MINOR	8
+#else
+#define STORABLE_BIN_WRITE_MINOR	9
 #endif /* (PATCHLEVEL <= 5) */
 
 #if (PATCHLEVEL < 8 || (PATCHLEVEL == 8 && SUBVERSION < 1))
@@ -1045,7 +993,7 @@
   } STMT_END
 
 /*
- * Bless `s' in `p', via a temporary reference, required by sv_bless().
+ * Bless 's' in 'p', via a temporary reference, required by sv_bless().
  * "A" magic is added before the sv_bless for overloaded classes, this avoids
  * an expensive call to S_reset_amagic in sv_bless.
  */
@@ -1099,6 +1047,12 @@
 static int store(pTHX_ stcxt_t *cxt, SV *sv);
 static SV *retrieve(pTHX_ stcxt_t *cxt, const char *cname);
 
+#define UNSEE()                             \
+  STMT_START {                              \
+    av_pop(cxt->aseen);                     \
+    cxt->tagnum--;                          \
+  } STMT_END
+
 /*
  * Dynamic dispatching table for SV store.
  */
@@ -1181,6 +1135,8 @@
 	(sv_retrieve_t)retrieve_other,	/* SX_CODE not supported */
 	(sv_retrieve_t)retrieve_other,	/* SX_WEAKREF not supported */
 	(sv_retrieve_t)retrieve_other,	/* SX_WEAKOVERLOAD not supported */
+	(sv_retrieve_t)retrieve_other,	/* SX_VSTRING not supported */
+	(sv_retrieve_t)retrieve_other,	/* SX_LVSTRING not supported */
 	(sv_retrieve_t)retrieve_other,	/* SX_ERROR */
 };
 
@@ -1199,6 +1155,8 @@
 static SV *retrieve_code(pTHX_ stcxt_t *cxt, const char *cname);
 static SV *retrieve_weakref(pTHX_ stcxt_t *cxt, const char *cname);
 static SV *retrieve_weakoverloaded(pTHX_ stcxt_t *cxt, const char *cname);
+static SV *retrieve_vstring(pTHX_ stcxt_t *cxt, const char *cname);
+static SV *retrieve_lvstring(pTHX_ stcxt_t *cxt, const char *cname);
 
 static const sv_retrieve_t sv_retrieve[] = {
 	0,			/* SX_OBJECT -- entry unused dynamically */
@@ -1230,6 +1188,8 @@
 	(sv_retrieve_t)retrieve_code,		/* SX_CODE */
 	(sv_retrieve_t)retrieve_weakref,	/* SX_WEAKREF */
 	(sv_retrieve_t)retrieve_weakoverloaded,	/* SX_WEAKOVERLOAD */
+	(sv_retrieve_t)retrieve_vstring,	/* SX_VSTRING */
+	(sv_retrieve_t)retrieve_lvstring,	/* SX_LVSTRING */
 	(sv_retrieve_t)retrieve_other,		/* SX_ERROR */
 };
 
@@ -1294,7 +1254,7 @@
 	cxt->entry = 1;					/* No recursion yet */
 
 	/*
-	 * The `hseen' table is used to keep track of each SV stored and their
+	 * The 'hseen' table is used to keep track of each SV stored and their
 	 * associated tag numbers is special. It is "abused" because the
 	 * values stored are not real SV, just integers cast to (SV *),
 	 * which explains the freeing below.
@@ -1336,7 +1296,7 @@
 #endif
 
 	/*
-	 * The `hclass' hash uses the same settings as `hseen' above, but it is
+	 * The 'hclass' hash uses the same settings as 'hseen' above, but it is
 	 * used to assign sequential tags (numbers) to class names for blessed
 	 * objects.
 	 *
@@ -1350,7 +1310,7 @@
 #endif
 
 	/*
-	 * The `hook' hash table is used to keep track of the references on
+	 * The 'hook' hash table is used to keep track of the references on
 	 * the STORABLE_freeze hook routines, when found in some class name.
 	 *
 	 * It is assumed that the inheritance tree will not be changed during
@@ -1361,7 +1321,7 @@
 	cxt->hook = newHV();			/* Table where hooks are cached */
 
 	/*
-	 * The `hook_seen' array keeps track of all the SVs returned by
+	 * The 'hook_seen' array keeps track of all the SVs returned by
 	 * STORABLE_freeze hooks for us to serialize, so that they are not
 	 * reclaimed until the end of the serialization process.  Each SV is
 	 * only stored once, the first time it is seen.
@@ -1781,7 +1741,7 @@
 	 * Look into the cache to see whether we already have determined
 	 * where the routine was, if any.
 	 *
-	 * NOTA BENE: we don't use `method' at all in our lookup, since we know
+	 * NOTA BENE: we don't use 'method' at all in our lookup, since we know
 	 * that only one hook (i.e. always the same) is cached in a given cache.
 	 */
 
@@ -1906,8 +1866,8 @@
 /*
  * known_class
  *
- * Lookup the class name in the `hclass' table and either assign it a new ID
- * or return the existing one, by filling in `classnum'.
+ * Lookup the class name in the 'hclass' table and either assign it a new ID
+ * or return the existing one, by filling in 'classnum'.
  *
  * Return true if the class was known, false if the ID was just generated.
  */
@@ -1991,8 +1951,13 @@
  * Store a scalar.
  *
  * Layout is SX_LSCALAR <length> <data>, SX_SCALAR <length> <data> or SX_UNDEF.
+ * SX_LUTF8STR and SX_UTF8STR are used for UTF-8 strings.
  * The <data> section is omitted if <length> is 0.
  *
+ * For vstrings, the vstring portion is stored first with
+ * SX_LVSTRING <length> <data> or SX_VSTRING <length> <data>, followed by
+ * SX_(L)SCALAR or SX_(L)UTF8STR with the actual PV.
+ *
  * If integer or double, the layout is SX_INTEGER <data> or SX_DOUBLE <data>.
  * Small integers (within [-127, +127]) are stored as SX_BYTE <byte>.
  */
@@ -2117,9 +2082,9 @@
                 if (
 #ifdef SVf_IVisUV
                     /* Sorry. This isn't in 5.005_56 (IIRC) or earlier.  */
-                    ((flags & SVf_IVisUV) && SvUV(sv) > 0x7FFFFFFF) ||
+                    ((flags & SVf_IVisUV) && SvUV(sv) > (UV)0x7FFFFFFF) ||
 #endif
-                    (iv > 0x7FFFFFFF) || (iv < -0x80000000)) {
+                    (iv > (IV)0x7FFFFFFF) || (iv < -(IV)0x80000000)) {
                     /* Bigger than 32 bits.  */
                     TRACEME(("large network order integer as string, value = %"IVdf, iv));
                     goto string_readlen;
@@ -2169,6 +2134,9 @@
             TRACEME(("ok (double 0x%"UVxf", value = %"NVff")", PTR2UV(sv), nv));
 
 	} else if (flags & (SVp_POK | SVp_NOK | SVp_IOK)) {
+#ifdef SvVOK
+	    MAGIC *mg;
+#endif
             I32 wlen; /* For 64-bit machines */
 
           string_readlen:
@@ -2180,6 +2148,12 @@
              */
           string:
 
+#ifdef SvVOK
+            if (SvMAGICAL(sv) && (mg = mg_find(sv, 'V')))
+                STORE_PV_LEN((const char *)mg->mg_ptr,
+                             mg->mg_len, SX_VSTRING, SX_LVSTRING);
+#endif
+
             wlen = (I32) len; /* WLEN via STORE_SCALAR expects I32 */
             if (SvUTF8 (sv))
                 STORE_UTF8STR(pv, wlen);
@@ -2285,12 +2259,7 @@
 static int store_hash(pTHX_ stcxt_t *cxt, HV *hv)
 {
 	dVAR;
-	I32 len = 
-#ifdef HAS_RESTRICTED_HASHES
-            HvTOTALKEYS(hv);
-#else
-            HvKEYS(hv);
-#endif
+	I32 len = HvTOTALKEYS(hv);
 	I32 i;
 	int ret = 0;
 	I32 riter;
@@ -2435,7 +2404,8 @@
 			 
                         /* Implementation of restricted hashes isn't nicely
                            abstracted:  */
-			if ((hash_flags & SHV_RESTRICTED) && SvREADONLY(val)) {
+			if ((hash_flags & SHV_RESTRICTED)
+			 && SvREADONLY(val) && !SvIsCOW(val)) {
 				flags |= SHV_K_LOCKED;
 			}
 
@@ -2527,7 +2497,7 @@
                            abstracted:  */
                         flags
                             = (((hash_flags & SHV_RESTRICTED)
-                                && SvREADONLY(val))
+                                && SvREADONLY(val) && !SvIsCOW(val))
                                              ? SHV_K_LOCKED : 0);
 
                         if (val == &PL_sv_placeholder) {
@@ -2917,6 +2887,7 @@
 	 */
 
 	switch (type) {
+        case svis_REF:
 	case svis_SCALAR:
 		obj_type = SHT_SCALAR;
 		break;
@@ -2938,7 +2909,7 @@
 		 * Signal the tie-ing magic by setting the object type as SHT_EXTRA
 		 * (since we have only 2 bits in <flags> to store the type), and an
 		 * <extra> byte flag will be emitted after the FIRST <flags> in the
-		 * stream, carrying what we put in `eflags'.
+		 * stream, carrying what we put in 'eflags'.
 		 */
 		obj_type = SHT_EXTRA;
 		switch (SvTYPE(sv)) {
@@ -2970,7 +2941,7 @@
 	 *    $object->STORABLE_freeze($cloning);
 	 *
 	 * but we don't have the $object here.  For instance, if $object is
-	 * a blessed array, what we have in `sv' is the array, and we can't
+	 * a blessed array, what we have in 'sv' is the array, and we can't
 	 * call a method on those.
 	 *
 	 * Therefore, we need to create a temporary reference to the object and
@@ -2979,9 +2950,8 @@
 
 	TRACEME(("about to call STORABLE_freeze on class %s", classname));
 
-	ref = newRV_noinc(sv);				/* Temporary reference */
+	ref = newRV_inc(sv);				/* Temporary reference */
 	av = array_call(aTHX_ ref, hook, clone);	/* @a = $object->STORABLE_freeze($c) */
-	SvRV_set(ref, NULL);
 	SvREFCNT_dec(ref);					/* Reclaim temporary reference */
 
 	count = AvFILLp(av) + 1;
@@ -3111,7 +3081,7 @@
 			CROAK(("Could not serialize item #%d from hook in %s", i, classname));
 #endif
 		/*
-		 * It was the first time we serialized `xsv'.
+		 * It was the first time we serialized 'xsv'.
 		 *
 		 * Keep this SV alive until the end of the serialization: if we
 		 * disposed of it right now by decrementing its refcount, and it was
@@ -3127,7 +3097,7 @@
 
 	sv_seen:
 		/*
-		 * Dispose of the REF they returned.  If we saved the `xsv' away
+		 * Dispose of the REF they returned.  If we saved the 'xsv' away
 		 * in the array of returned SVs, that will not cause the underlying
 		 * referenced SV to be reclaimed.
 		 */
@@ -3395,7 +3365,7 @@
  * We don't know how to store the item we reached, so return an error condition.
  * (it's probably a GLOB, some CODE reference, etc...)
  *
- * If they defined the `forgive_me' variable at the Perl level to some
+ * If they defined the 'forgive_me' variable at the Perl level to some
  * true value, then don't croak, just warn, and store a placeholder string
  * instead.
  */
@@ -3614,7 +3584,7 @@
 #endif
 
 	/*
-	 * Store `sv' and everything beneath it, using appropriate routine.
+	 * Store 'sv' and everything beneath it, using appropriate routine.
 	 * Abort immediately if we get a non-zero status back.
 	 */
 
@@ -3739,9 +3709,9 @@
  * Common code for store operations.
  *
  * When memory store is requested (f = NULL) and a non null SV* is given in
- * `res', it is filled with a new SV created out of the memory buffer.
+ * 'res', it is filled with a new SV created out of the memory buffer.
  *
- * It is required to provide a non-null `res' when the operation type is not
+ * It is required to provide a non-null 'res' when the operation type is not
  * dclone() and store() is performed to memory.
  */
 static int do_store(
@@ -3924,7 +3894,7 @@
 		RLEN(idx);
 
 	/*
-	 * Fetch classname in `aclass'
+	 * Fetch classname in 'aclass'
 	 */
 
 	sva = av_fetch(cxt->aclass, idx, FALSE);
@@ -4125,7 +4095,7 @@
 		I32 idx;
 
 		/*
-		 * Fetch index from `aclass'
+		 * Fetch index from 'aclass'
 		 */
 
 		if (flags & SHF_LARGE_CLASSLEN)
@@ -4279,8 +4249,12 @@
 	    attached = scalar_call(aTHX_ rv, attach_hook, clone, av, G_SCALAR);
 	    if (attached &&
 	        SvROK(attached) && 
-	        sv_derived_from(attached, classname))
+	        sv_derived_from(attached, classname)
+        ) {
+	        UNSEE();
+	        SEEN(SvRV(attached), 0, 0);
 	        return SvRV(attached);
+        }
 	    CROAK(("STORABLE_attach did not return a %s object", classname));
 	}
 
@@ -4313,7 +4287,7 @@
 	}
 
 	/*
-	 * If we don't have an `av' yet, prepare one.
+	 * If we don't have an 'av' yet, prepare one.
 	 * Then insert the frozen string as item [0].
 	 */
 
@@ -4913,6 +4887,79 @@
 }
 
 /*
+ * retrieve_vstring
+ *
+ * Retrieve a vstring, and then retrieve the stringy scalar following it,
+ * attaching the vstring to the scalar via magic.
+ * If we're retrieving a vstring in a perl without vstring magic, croaks.
+ *
+ * The vstring layout mirrors an SX_SCALAR string:
+ * SX_VSTRING <length> <data> with SX_VSTRING already read.
+ */
+static SV *retrieve_vstring(pTHX_ stcxt_t *cxt, const char *cname)
+{
+#ifdef SvVOK
+	MAGIC *mg;
+	char s[256];
+	int len;
+	SV *sv;
+
+	GETMARK(len);
+	TRACEME(("retrieve_vstring (#%d), len = %d", cxt->tagnum, len));
+
+	READ(s, len);
+
+	sv = retrieve(aTHX_ cxt, cname);
+
+	sv_magic(sv,NULL,PERL_MAGIC_vstring,s,len);
+	/* 5.10.0 and earlier seem to need this */
+	SvRMAGICAL_on(sv);
+
+	TRACEME(("ok (retrieve_vstring at 0x%"UVxf")", PTR2UV(sv)));
+	return sv;
+#else
+	VSTRING_CROAK();
+	return Nullsv;
+#endif
+}
+
+/*
+ * retrieve_lvstring
+ *
+ * Like retrieve_vstring, but for longer vstrings.
+ */
+static SV *retrieve_lvstring(pTHX_ stcxt_t *cxt, const char *cname)
+{
+#ifdef SvVOK
+	MAGIC *mg;
+	char *s;
+	I32 len;
+	SV *sv;
+
+	RLEN(len);
+	TRACEME(("retrieve_lvstring (#%d), len = %"IVdf,
+		  cxt->tagnum, (IV)len));
+
+	New(10003, s, len+1, char);
+	SAFEPVREAD(s, len, s);
+
+	sv = retrieve(aTHX_ cxt, cname);
+
+	sv_magic(sv,NULL,PERL_MAGIC_vstring,s,len);
+	/* 5.10.0 and earlier seem to need this */
+	SvRMAGICAL_on(sv);
+
+	Safefree(s);
+
+	TRACEME(("ok (retrieve_lvstring at 0x%"UVxf")", PTR2UV(sv)));
+	return sv;
+#else
+	VSTRING_CROAK();
+	return Nullsv;
+#endif
+}
+
+/*
  * retrieve_integer
  *
  * Retrieve defined integer.
@@ -5160,7 +5207,7 @@
 	SEEN(hv, cname, 0);		/* Will return if table not allocated properly */
 	if (len == 0)
 		return (SV *) hv;	/* No data follow if table empty */
-	hv_ksplit(hv, len);		/* pre-extend hash to save multiple splits */
+	hv_ksplit(hv, len + 1);		/* pre-extend hash to save multiple splits */
 
 	/*
 	 * Now get each key/value pair in turn...
@@ -5247,7 +5294,7 @@
     SEEN(hv, cname, 0);		/* Will return if table not allocated properly */
     if (len == 0)
         return (SV *) hv;	/* No data follow if table empty */
-    hv_ksplit(hv, len);		/* pre-extend hash to save multiple splits */
+    hv_ksplit(hv, len + 1);		/* pre-extend hash to save multiple splits */
 
     /*
      * Now get each key/value pair in turn...
@@ -5566,7 +5613,7 @@
 	SEEN(hv, 0, 0);			/* Will return if table not allocated properly */
 	if (len == 0)
 		return (SV *) hv;	/* No data follow if table empty */
-	hv_ksplit(hv, len);		/* pre-extend hash to save multiple splits */
+	hv_ksplit(hv, len + 1);		/* pre-extend hash to save multiple splits */
 
 	/*
 	 * Now get each key/value pair in turn...
@@ -6037,7 +6084,7 @@
 	/*
 	 * Prepare context.
 	 *
-	 * Data is loaded into the memory buffer when f is NULL, unless `in' is
+	 * Data is loaded into the memory buffer when f is NULL, unless 'in' is
 	 * also NULL, in which case we're expecting the data to already lie
 	 * in the buffer (dclone case).
 	 */
@@ -6106,7 +6153,7 @@
 	 * Check whether input source is tainted, so that we don't wrongly
 	 * taint perfectly good values...
 	 *
-	 * We assume file input is always tainted.  If both `f' and `in' are
+	 * We assume file input is always tainted.  If both 'f' and 'in' are
 	 * NULL, then we come from dclone, and tainted is already filled in
 	 * the context.  That's a kludge, but the whole dclone() thing is
 	 * already quite a kludge anyway! -- RAM, 15/09/2000.
@@ -6296,7 +6343,7 @@
 	cxt = real_context;					/* And we need this temporary... */
 
 	/*
-	 * Now, `cxt' may refer to a new context.
+	 * Now, 'cxt' may refer to a new context.
 	 */
 
 	ASSERT(!cxt->s_dirty, ("clean context"));
@@ -6452,23 +6499,20 @@
  OUTPUT:
   RETVAL
 
-bool
+void
 last_op_in_netorder()
- CODE:
-  RETVAL = !!last_op_in_netorder(aTHX);
- OUTPUT:
-  RETVAL
-
-bool
-is_storing()
  ALIAS:
  is_storing = ST_STORE
  is_retrieving = ST_RETRIEVE
- CODE:
- {
-  dSTCXT;
+ PREINIT:
+  bool result;
+ PPCODE:
+  if (ix) {
+   dSTCXT;
 
-  RETVAL = cxt->entry && (cxt->optype & ix) ? TRUE : FALSE;
- }
- OUTPUT:
-  RETVAL
+   result = cxt->entry && (cxt->optype & ix) ? TRUE : FALSE;
+  } else {
+   result = !!last_op_in_netorder(aTHX);
+  }
+  ST(0) = boolSV(result);
+  XSRETURN(1);


Property changes on: vendor/perl/dist/dist/Storable/Storable.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/hints/gnukfreebsd.pl
===================================================================
--- vendor/perl/dist/dist/Storable/hints/gnukfreebsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/hints/gnukfreebsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/hints/gnukfreebsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/hints/gnuknetbsd.pl
===================================================================
--- vendor/perl/dist/dist/Storable/hints/gnuknetbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/hints/gnuknetbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/hints/gnuknetbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/hints/hpux.pl
===================================================================
--- vendor/perl/dist/dist/Storable/hints/hpux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/hints/hpux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/hints/hpux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/hints/linux.pl
===================================================================
--- vendor/perl/dist/dist/Storable/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/HAS_ATTACH.pm
===================================================================
--- vendor/perl/dist/dist/Storable/t/HAS_ATTACH.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/HAS_ATTACH.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/HAS_ATTACH.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/HAS_HOOK.pm
===================================================================
--- vendor/perl/dist/dist/Storable/t/HAS_HOOK.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/HAS_HOOK.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/HAS_HOOK.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/HAS_OVERLOAD.pm
===================================================================
--- vendor/perl/dist/dist/Storable/t/HAS_OVERLOAD.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/HAS_OVERLOAD.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/HAS_OVERLOAD.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/t/attach_errors.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/attach_errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/attach_errors.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,7 +22,7 @@
     }
 }
 
-use Test::More tests => 35;
+use Test::More tests => 40;
 use Storable ();
 
 
@@ -71,7 +71,7 @@
 	eval {
 		Storable::freeze( $badfreeze );
 	};
-	ok( $@, 'Storable dies correctly when STORABLE_freeze returns a referece' );
+	ok( $@, 'Storable dies correctly when STORABLE_freeze returns a reference' );
 	# Check for a unique substring of the error message
 	ok( $@ =~ /cannot return references/, 'Storable dies with the expected error' );
 
@@ -215,8 +215,43 @@
 	}
 }
 
+# Good case - multiple references to the same object should be attached properly
+{
+	my $obj = bless { id => 111 }, 'My::GoodAttach::MultipleReferences';
+    my $arr = [$obj];
 
+    push @$arr, $obj;
 
+	my $frozen = Storable::freeze($arr);
+
+	ok( $frozen, 'My::GoodAttach return as expected' );
+
+	my $thawed = eval {
+		Storable::thaw( $frozen );
+	};
+
+	isa_ok( $thawed->[0], 'My::GoodAttach::MultipleReferences' );
+	isa_ok( $thawed->[1], 'My::GoodAttach::MultipleReferences' );
+
+	is($thawed->[0], $thawed->[1], 'References to the same object are attached properly');
+	is($thawed->[1]{id}, $obj->{id}, 'Object with multiple references attchached properly');
+
+    package My::GoodAttach::MultipleReferences;
+
+    sub STORABLE_freeze {
+        my ($obj) = @_;
+        $obj->{id}
+    }
+
+    sub STORABLE_attach {
+        my ($class, $cloning, $id) = @_;
+        bless { id => $id }, $class;
+    }
+
+}
+
+
+
 # Bad Cases - die on thaw
 {
 	my $returnvalue = undef;


Property changes on: vendor/perl/dist/dist/Storable/t/attach_errors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/attach_singleton.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/attach_singleton.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/attach_singleton.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/attach_singleton.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/t/blessed.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/blessed.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,8 +26,17 @@
      n => \(1 == 0)
 );
 
+{
+    %::weird_refs = (
+        REF     => \(my $aref    = []),
+        VSTRING => \(my $vstring = v1.2.3),
+       'long VSTRING' => \(my $vstring = eval "v" . 0 x 300),
+        LVALUE  => \(my $substr  = substr((my $str = "foo"), 0, 3)),
+    );
+}
+
 my $test = 12;
-my $tests = $test + 22 + 2 * 6 * keys %::immortals;
+my $tests = $test + 23 + (2 * 6 * keys %::immortals) + (3 * keys %::weird_refs);
 plan(tests => $tests);
 
 package SHORT_NAME;
@@ -249,3 +258,50 @@
 is($STRESS_THE_STACK::thaw_count, 1);
 isnt($t, undef);
 is(ref $t, 'STRESS_THE_STACK');
+
+{
+    package ModifyARG112358;
+    sub STORABLE_freeze { $_[0] = "foo"; }
+    my $o= {str=>bless {}};
+    my $f= ::freeze($o);
+    ::is ref $o->{str}, __PACKAGE__,
+	'assignment to $_[0] in STORABLE_freeze does not corrupt things';
+}
+
+# [perl #113880]
+{
+    {
+        package WeirdRefHook;
+        sub STORABLE_freeze { () }
+        $INC{'WeirdRefHook.pm'} = __FILE__;
+    }
+
+    for my $weird (keys %weird_refs) {
+        my $obj = $weird_refs{$weird};
+        bless $obj, 'WeirdRefHook';
+        my $frozen;
+        my $success = eval { $frozen = freeze($obj); 1 };
+        ok($success, "can freeze $weird objects")
+            || diag("freezing failed: $@");
+        my $thawn = thaw($frozen);
+        # is_deeply ignores blessings
+        is ref $thawn, ref $obj, "get the right blessing back for $weird";
+        if ($weird =~ 'VSTRING') {
+            # It is not just Storable that did not support vstrings. :-)
+            # See https://rt.cpan.org/Ticket/Display.html?id=78678
+            my $newver = "version"->can("new")
+                           ? sub { "version"->new(shift) }
+                           : sub { "" };
+            if (!ok
+                  $$thawn eq $$obj && &$newver($$thawn) eq &$newver($$obj),
+                 "get the right value back"
+            ) {
+                diag "$$thawn vs $$obj";
+                diag &$newver($$thawn) eq &$newver($$obj) if &$newver(1);
+             }
+        }
+        else {
+            is_deeply($thawn, $obj, "get the right value back");
+        }
+    }
+}


Property changes on: vendor/perl/dist/dist/Storable/t/blessed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/canonical.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/canonical.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/canonical.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/canonical.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/circular_hook.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/circular_hook.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/circular_hook.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/circular_hook.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/t/code.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/code.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/code.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -60,7 +60,7 @@
       \&Another::Package::foo,  # code in another package
       sub ($$;$) { 0 },         # prototypes
       sub { print "test\n" },
-      \&Test::More::ok,               # large scalar
+      \&Storable::_store,       # large scalar
      ],
 
      {"a" => sub { "srt" }, "b" => \&code},


Property changes on: vendor/perl/dist/dist/Storable/t/code.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/compat01.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/compat01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/compat01.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/compat01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/compat06.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/compat06.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/compat06.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/compat06.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/croak.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/croak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/croak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/croak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/dclone.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/dclone.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/dclone.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/dclone.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/downgrade.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/downgrade.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/downgrade.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/downgrade.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/file_magic.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/file_magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/file_magic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/file_magic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/forgive.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/forgive.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/forgive.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/forgive.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/freeze.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/freeze.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/freeze.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/freeze.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/integer.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/integer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/integer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/integer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/interwork56.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/interwork56.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/interwork56.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/interwork56.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/just_plain_nasty.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/just_plain_nasty.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/just_plain_nasty.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/just_plain_nasty.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/lock.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/lock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/lock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/lock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/make_56_interwork.pl
===================================================================
--- vendor/perl/dist/dist/Storable/t/make_56_interwork.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/make_56_interwork.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/make_56_interwork.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/make_downgrade.pl
===================================================================
--- vendor/perl/dist/dist/Storable/t/make_downgrade.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/make_downgrade.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/make_downgrade.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/make_overload.pl
===================================================================
--- vendor/perl/dist/dist/Storable/t/make_overload.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/make_overload.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/make_overload.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/t/malice.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/malice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/malice.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -34,8 +34,8 @@
 $other_magic = 7 + length $byteorder;
 $network_magic = 2;
 $major = 2;
-$minor = 8;
-$minor_write = $] > 5.005_50 ? 8 : 4;
+$minor = 9;
+$minor_write = $] > 5.008 ? 9 : $] > 5.005_50 ? 8 : 4;
 
 use Test::More;
 
@@ -208,7 +208,7 @@
     $where = $file_magic + $network_magic;
   }
 
-  # Just the header and a tag 255. As 28 is currently the highest tag, this
+  # Just the header and a tag 255. As 30 is currently the highest tag, this
   # is "unexpected"
   $copy = substr ($contents, 0, $where) . chr 255;
 
@@ -228,7 +228,7 @@
   # local $Storable::DEBUGME = 1;
   # This is the delayed croak
   test_corrupt ($copy, $sub,
-                "/^Storable binary image v$header->{major}.$minor6 contains data of type 255. This Storable is v$header->{major}.$minor and can only handle data types up to 28/",
+                "/^Storable binary image v$header->{major}.$minor6 contains data of type 255. This Storable is v$header->{major}.$minor and can only handle data types up to 30/",
                 "bogus tag, minor plus 4");
   # And check again that this croak is not delayed:
   {


Property changes on: vendor/perl/dist/dist/Storable/t/malice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/overload.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/recurse.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/recurse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/recurse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/recurse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Storable/t/restrict.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/restrict.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/restrict.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,8 +35,8 @@
 
 
 use Storable qw(dclone freeze thaw);
-use Hash::Util qw(lock_hash unlock_value);
-use Test::More tests => 100;
+use Hash::Util qw(lock_hash unlock_value lock_keys);
+use Test::More tests => 304;
 
 my %hash = (question => '?', answer => 42, extra => 'junk', undef => undef);
 lock_hash %hash;
@@ -110,5 +110,32 @@
       eval { $copy->{$k} = undef } ;
       is($@, '', "Can assign to reserved key '$k'?");
     }
+
+    my %hv;
+    $hv{a} = __PACKAGE__;
+    lock_keys %hv;
+    my $hv2 = &$cloner(\%hv);
+    ok eval { $$hv2{a} = 70 }, 'COWs do not become read-only';
   }
 }
+
+# [perl #73972]
+{
+    for my $n (1..100) {
+        my @keys = map { "FOO$_" } (1..$n);
+
+        my $hash1 = {};
+        lock_keys(%$hash1, @keys);
+        my $hash2 = dclone($hash1);
+
+        my $success;
+
+        $success = eval { $hash2->{$_} = 'test' for @keys; 1 };
+        my $err = $@;
+        ok($success, "can store in all of the $n restricted slots")
+            || diag("failed with $@");
+
+        $success = !eval { $hash2->{a} = 'test'; 1 };
+        ok($success, "the hash is still restricted");
+    }
+}


Property changes on: vendor/perl/dist/dist/Storable/t/restrict.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/retrieve.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/retrieve.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/retrieve.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/retrieve.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/sig_die.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/sig_die.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/sig_die.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/sig_die.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/st-dump.pl
===================================================================
--- vendor/perl/dist/dist/Storable/t/st-dump.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/st-dump.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/st-dump.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/store.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/store.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/store.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/store.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/testlib.pl
===================================================================
--- vendor/perl/dist/dist/Storable/t/testlib.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/testlib.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/testlib.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/threads.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/tied.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/tied.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/tied.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/tied.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/tied_hook.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/tied_hook.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/tied_hook.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/tied_hook.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/tied_items.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/tied_items.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/tied_items.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/tied_items.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/utf8.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/utf8hash.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/utf8hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/utf8hash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/utf8hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Storable/t/weak.t
===================================================================
--- vendor/perl/dist/dist/Storable/t/weak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Storable/t/weak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Storable/t/weak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/Thread-Queue/lib/Thread/Queue.pm
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/lib/Thread/Queue.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/lib/Thread/Queue.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '2.12';
+our $VERSION = '3.02';
 $VERSION = eval $VERSION;
 
 use threads::shared 1.21;
@@ -13,7 +13,7 @@
 our @CARP_NOT = ("threads::shared");
 
 # Predeclarations for internal functions
-my ($validate_count, $validate_index);
+my ($validate_count, $validate_index, $validate_timeout);
 
 # Create a new queue possibly pre-populated with items
 sub new
@@ -20,38 +20,59 @@
 {
     my $class = shift;
     my @queue :shared = map { shared_clone($_) } @_;
-    return bless(\@queue, $class);
+    my %self :shared = ( 'queue' => \@queue );
+    return bless(\%self, $class);
 }
 
 # Add items to the tail of a queue
 sub enqueue
 {
-    my $queue = shift;
-    lock(@$queue);
-    push(@$queue, map { shared_clone($_) } @_)
-        and cond_signal(@$queue);
+    my $self = shift;
+    lock(%$self);
+    if ($$self{'ENDED'}) {
+        require Carp;
+        Carp::croak("'enqueue' method called on queue that has been 'end'ed");
+    }
+    push(@{$$self{'queue'}}, map { shared_clone($_) } @_)
+        and cond_signal(%$self);
 }
 
 # Return a count of the number of items on a queue
 sub pending
 {
-    my $queue = shift;
-    lock(@$queue);
-    return scalar(@$queue);
+    my $self = shift;
+    lock(%$self);
+    return if ($$self{'ENDED'} && ! @{$$self{'queue'}});
+    return scalar(@{$$self{'queue'}});
 }
 
+# Indicate that no more data will enter the queue
+sub end
+{
+    my $self = shift;
+    lock $self;
+    # No more data is coming
+    $$self{'ENDED'} = 1;
+    # Try to release at least one blocked thread
+    cond_signal(%$self);
+}
+
 # Return 1 or more items from the head of a queue, blocking if needed
 sub dequeue
 {
-    my $queue = shift;
-    lock(@$queue);
+    my $self = shift;
+    lock(%$self);
+    my $queue = $$self{'queue'};
 
     my $count = @_ ? $validate_count->(shift) : 1;
 
     # Wait for requisite number of items
-    cond_wait(@$queue) until (@$queue >= $count);
-    cond_signal(@$queue) if (@$queue > $count);
+    cond_wait(%$self) while ((@$queue < $count) && ! $$self{'ENDED'});
+    cond_signal(%$self) if ((@$queue > $count) || $$self{'ENDED'});
 
+    # If no longer blocking, try getting whatever is left on the queue
+    return $self->dequeue_nb($count) if ($$self{'ENDED'});
+
     # Return single item
     return shift(@$queue) if ($count == 1);
 
@@ -64,8 +85,9 @@
 # Return items from the head of a queue with no blocking
 sub dequeue_nb
 {
-    my $queue = shift;
-    lock(@$queue);
+    my $self = shift;
+    lock(%$self);
+    my $queue = $$self{'queue'};
 
     my $count = @_ ? $validate_count->(shift) : 1;
 
@@ -81,21 +103,54 @@
     return @items;
 }
 
+# Return items from the head of a queue, blocking if needed up to a timeout
+sub dequeue_timed
+{
+    my $self = shift;
+    lock(%$self);
+    my $queue = $$self{'queue'};
+
+    # Timeout may be relative or absolute
+    my $timeout = @_ ? $validate_timeout->(shift) : -1;
+    # Convert to an absolute time for use with cond_timedwait()
+    if ($timeout < 32000000) {   # More than one year
+        $timeout += time();
+    }
+
+    my $count = @_ ? $validate_count->(shift) : 1;
+
+    # Wait for requisite number of items, or until timeout
+    while ((@$queue < $count) && ! $$self{'ENDED'}) {
+        last if (! cond_timedwait(%$self, $timeout));
+    }
+    cond_signal(%$self) if ((@$queue > $count) || $$self{'ENDED'});
+
+    # Get whatever we need off the queue if available
+    return $self->dequeue_nb($count);
+}
+
 # Return an item without removing it from a queue
 sub peek
 {
-    my $queue = shift;
-    lock(@$queue);
+    my $self = shift;
+    lock(%$self);
     my $index = @_ ? $validate_index->(shift) : 0;
-    return $$queue[$index];
+    return $$self{'queue'}[$index];
 }
 
 # Insert items anywhere into a queue
 sub insert
 {
-    my $queue = shift;
-    lock(@$queue);
+    my $self = shift;
+    lock(%$self);
 
+    if ($$self{'ENDED'}) {
+        require Carp;
+        Carp::croak("'insert' method called on queue that has been 'end'ed");
+    }
+
+    my $queue = $$self{'queue'};
+
     my $index = $validate_index->(shift);
 
     return if (! @_);   # Nothing to insert
@@ -121,14 +176,15 @@
     push(@$queue, @tmp);
 
     # Soup's up
-    cond_signal(@$queue);
+    cond_signal(%$self);
 }
 
 # Remove items from anywhere in a queue
 sub extract
 {
-    my $queue = shift;
-    lock(@$queue);
+    my $self = shift;
+    lock(%$self);
+    my $queue = $$self{'queue'};
 
     my $index = @_ ? $validate_index->(shift) : 0;
     my $count = @_ ? $validate_count->(shift) : 1;
@@ -139,7 +195,7 @@
         if ($index < 0) {
             $count += $index;
             return if ($count <= 0);            # Beyond the head of the queue
-            return $queue->dequeue_nb($count);  # Extract from the head
+            return $self->dequeue_nb($count);  # Extract from the head
         }
     }
 
@@ -202,6 +258,23 @@
     return $count;
 };
 
+# Check value of the requested timeout
+$validate_timeout = sub {
+    my $timeout = shift;
+
+    if (! defined($timeout) ||
+        ! looks_like_number($timeout))
+    {
+        require Carp;
+        my ($method) = (caller(1))[3];
+        $method =~ s/Thread::Queue:://;
+        $timeout = 'undef' if (! defined($timeout));
+        Carp::croak("Invalid 'timeout' argument ($timeout) to '$method' method");
+    }
+
+    return $timeout;
+};
+
 1;
 
 =head1 NAME
@@ -210,7 +283,7 @@
 
 =head1 VERSION
 
-This document describes Thread::Queue version 2.12
+This document describes Thread::Queue version 3.02
 
 =head1 SYNOPSIS
 
@@ -223,15 +296,24 @@
     my $q = Thread::Queue->new();    # A new empty queue
 
     # Worker thread
-    my $thr = threads->create(sub {
-                                while (my $item = $q->dequeue()) {
-                                    # Do work on $item
-                                }
-                             })->detach();
+    my $thr = threads->create(
+        sub {
+            # Thread will loop until no more work
+            while (defined(my $item = $q->dequeue())) {
+                # Do work on $item
+                ...
+            }
+        }
+    );
 
     # Send work to the thread
     $q->enqueue($item1, ...);
+    # Signal that there is no more work to be sent
+    $q->end();
+    # Join up with the thread when it finishes
+    $thr->join();
 
+    ...
 
     # Count of items in the queue
     my $left = $q->pending();
@@ -241,6 +323,11 @@
         # Work on $item
     }
 
+    # Blocking dequeue with 5-second timeout
+    if (defined(my $item = $q->dequeue_timed(5))) {
+        # Work on $item
+    }
+
     # Get the second item in the queue without dequeuing anything
     my $item = $q->peek(1);
 
@@ -342,10 +429,42 @@
 items there are on the queue.  If the queue is empty, then C<undef> is
 returned.
 
+=item ->dequeue_timed(TIMEOUT)
+
+=item ->dequeue_timed(TIMEOUT, COUNT)
+
+Removes the requested number of items (default is 1) from the head of the
+queue, and returns them.  If the queue contains fewer than the requested
+number of items, then the thread will be blocked until the requisite number of
+items are available, or until the timeout is reached.  If the timeout is
+reached, it returns whatever items there are on the queue, or C<undef> if the
+queue is empty.
+
+The timeout may be a number of seconds relative to the current time (e.g., 5
+seconds from when the call is made), or may be an absolute timeout in I<epoch>
+seconds the same as would be used with
+L<cond_timedwait()|threads::shared/"cond_timedwait VARIABLE, ABS_TIMEOUT">.
+Fractional seconds (e.g., 2.5 seconds) are also supported (to the extent of
+the underlying implementation).
+
+If C<TIMEOUT> is missing, c<undef>, or less than or equal to 0, then this call
+behaves the same as C<dequeue_nb>.
+
 =item ->pending()
 
-Returns the number of items still in the queue.
+Returns the number of items still in the queue.  Returns C<undef> if the queue
+has been ended (see below), and there are no more items in the queue.
 
+=item ->end()
+
+Declares that no more items will be added to the queue.
+
+All threads blocking on C<dequeue()> calls will be unblocked with any
+remaining items in the queue and/or C<undef> being returned.  Any subsequent
+calls to C<dequeue()> will behave like C<dequeue_nb()>.
+
+Once ended, no more items may be placed in the queue.
+
 =back
 
 =head1 ADVANCED METHODS
@@ -464,6 +583,8 @@
 
 L<threads>, L<threads::shared>
 
+Sample code in the I<examples> directory of this distribution on CPAN.
+
 =head1 MAINTAINER
 
 Jerry D. Hedden, S<E<lt>jdhedden AT cpan DOT orgE<gt>>


Property changes on: vendor/perl/dist/dist/Thread-Queue/lib/Thread/Queue.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Queue/t/01_basic.t
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/t/01_basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/t/01_basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Queue/t/01_basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Queue/t/02_refs.t
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/t/02_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/t/02_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Queue/t/02_refs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Queue/t/03_peek.t
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/t/03_peek.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/t/03_peek.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Queue/t/03_peek.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Queue/t/04_errs.t
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/t/04_errs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/t/04_errs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Queue/t/04_errs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Queue/t/05_extract.t
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/t/05_extract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/t/05_extract.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Queue/t/05_extract.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Queue/t/06_insert.t
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/t/06_insert.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/t/06_insert.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Queue/t/06_insert.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Queue/t/07_lock.t
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/t/07_lock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/t/07_lock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Queue/t/07_lock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Queue/t/08_nothreads.t
===================================================================
--- vendor/perl/dist/dist/Thread-Queue/t/08_nothreads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Queue/t/08_nothreads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Queue/t/08_nothreads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Semaphore/lib/Thread/Semaphore.pm
===================================================================
--- vendor/perl/dist/dist/Thread-Semaphore/lib/Thread/Semaphore.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Semaphore/lib/Thread/Semaphore.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Semaphore/lib/Thread/Semaphore.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Semaphore/t/01_basic.t
===================================================================
--- vendor/perl/dist/dist/Thread-Semaphore/t/01_basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Semaphore/t/01_basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Semaphore/t/01_basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Semaphore/t/02_errs.t
===================================================================
--- vendor/perl/dist/dist/Thread-Semaphore/t/02_errs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Semaphore/t/02_errs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Semaphore/t/02_errs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Semaphore/t/03_nothreads.t
===================================================================
--- vendor/perl/dist/dist/Thread-Semaphore/t/03_nothreads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Semaphore/t/03_nothreads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Semaphore/t/03_nothreads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Semaphore/t/04_nonblocking.t
===================================================================
--- vendor/perl/dist/dist/Thread-Semaphore/t/04_nonblocking.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Semaphore/t/04_nonblocking.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Semaphore/t/04_nonblocking.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/Thread-Semaphore/t/05_force.t
===================================================================
--- vendor/perl/dist/dist/Thread-Semaphore/t/05_force.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/Thread-Semaphore/t/05_force.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/Thread-Semaphore/t/05_force.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/XSLoader/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/XSLoader/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/XSLoader/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,6 +27,11 @@
 # In case the empty lib/ directory was not created.
 mkdir 'lib', 0755 unless $ENV{PERL_CORE};
 
+# starting with Perl 5.11, "site" and "vendor" directories finally are
+# before "perl" (core) in @INC, thus allowing dual-life modules to be
+# updated without the need to overwrite the old version
+my $installdirs = $] < 5.011 ? "perl" : "site";
+
 WriteMakefile(
     NAME            => $PACKAGE,
     LICENSE         => 'perl',
@@ -33,12 +38,22 @@
     AUTHOR          => 'Sebastien Aperghis-Tramoni <sebastien at aperghis.net>',
     VERSION_FROM    => 'XSLoader_pm.PL',
     ABSTRACT_FROM   => 'XSLoader_pm.PL',
-    INSTALLDIRS     => 'perl',
+    INSTALLDIRS     => $installdirs,
     PL_FILES        => { 'XSLoader_pm.PL'  => 'XSLoader.pm' },
     PM              => { 'XSLoader.pm' => '$(INST_ARCHLIB)/XSLoader.pm' },
     PREREQ_PM       => {
-        'Test::More' => '0.62',
+        'Test::More' => '0.47',
     },
+    META_MERGE      => {
+        resources   => {
+            repository  => 'git://perl5.git.perl.org/perl.git',
+            license     => 'http://dev.perl.org/licenses/',
+            homepage    => 'https://metacpan.org/module/Math::BigInt',
+            irc         => 'irc://irc.perl.org/#p5p',
+            mailinglist => 'http://lists.perl.org/list/perl5-porters.html',
+            bugtracker  => "https://rt.perl.org/rt3/Search/Results.html?Query=Queue='perl5' AND Content LIKE 'module=XSLoader' AND (Status='open' OR Status='new' OR Status='stalled')",
+        },
+    },
     dist            => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
     clean           => { FILES => 'XSLoader-* XSLoader.pm' },
 );


Property changes on: vendor/perl/dist/dist/XSLoader/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL
===================================================================
--- vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,15 +8,35 @@
 
 package XSLoader;
 
-$VERSION = "0.13";
+$VERSION = "0.16";
 
 #use strict;
 
+package DynaLoader;
+
+EOT
+
+# dlutils.c before 5.006 has this:
+#
+#    #ifdef DEBUGGING
+#        dl_debug = SvIV( perl_get_sv("DynaLoader::dl_debug", 0x04) );
+#    #endif
+#
+# where 0x04 is GV_ADDWARN, which causes a warning to be issued by the call
+# into XS below, if DynaLoader.pm hasn't been loaded.
+# It was changed to 0 in the commit(s) that added XSLoader to the core
+# (9cf41c4d23a47c8b and its parent 9426adcd48655815)
+# Hence to backport XSLoader to work silently with earlier DynaLoaders we need
+# to ensure that the variable exists:
+
+print OUT <<'EOT' if $] < 5.006;
+
 # enable debug/trace messages from DynaLoader perl code
-# $dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
+$dl_debug = $ENV{PERL_DL_DEBUG} || 0 unless defined $dl_debug;
 
-package DynaLoader;
+EOT
 
+print OUT <<'EOT';
 # No prizes for guessing why we don't say 'bootstrap DynaLoader;' here.
 # NOTE: All dl_*.xs (including dl_none.xs) define a dl_error() XSUB
 boot_DynaLoader('DynaLoader') if defined(&boot_DynaLoader) &&
@@ -29,9 +49,9 @@
     my ($module, $modlibname) = caller();
 
     if (@_) {
-	$module = $_[0];
+        $module = $_[0];
     } else {
-	$_[0] = $module;
+        $_[0] = $module;
     }
 
     # work with static linking too
@@ -63,7 +83,7 @@
 print OUT <<'EOT';
     my $modpname = join('/', at modparts);
     my $c = @modparts;
-    $modlibname =~ s,[\\/][^\\/]+$,, while $c--;	# Q&D basename
+    $modlibname =~ s,[\\/][^\\/]+$,, while $c--;    # Q&D basename
 EOT
 
 my $dl_dlext = quotemeta($Config::Config{'dlext'});
@@ -139,7 +159,7 @@
 }
 EOT
 
-# Can't test with DynaLoader->can('bootstrap_inherit' when building in the
+# Can't test with DynaLoader->can('bootstrap_inherit') when building in the
 # core, as XSLoader gets built before DynaLoader.
 
 if ($] >= 5.006) {
@@ -181,7 +201,7 @@
 
 =head1 VERSION
 
-Version 0.13
+Version 0.16
 
 =head1 SYNOPSIS
 
@@ -237,7 +257,7 @@
 
     XSLoader::load 'YourPackage';
 
-If the call to C<load> is from the YourPackage, then that can be further
+If the call to C<load> is from C<YourPackage>, then that can be further
 simplified to
 
     XSLoader::load();
@@ -269,7 +289,7 @@
 C<XSLoader::load()> is present.
 
 This boilerplate uses the low-overhead C<XSLoader> if present; if used with
-an antic Perl which has no C<XSLoader>, it falls back to using C<DynaLoader>.
+an antique Perl which has no C<XSLoader>, it falls back to using C<DynaLoader>.
 
 =head1 Order of initialization: early load()
 
@@ -392,6 +412,12 @@
 C<make install>.
 
 
+=head1 KNOWN BUGS
+
+The new simpler way to call C<XSLoader::load()> with no arguments at all
+does not work on Perl 5.8.4 and 5.8.5.
+
+
 =head1 BUGS
 
 Please report any bugs or feature requests via the perlbug(1) utility.
@@ -414,7 +440,7 @@
 
 =head1 COPYRIGHT & LICENSE
 
-Copyright (C) 1990-2007 by Larry Wall and others.
+Copyright (C) 1990-2011 by Larry Wall and others.
 
 This program is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself.


Property changes on: vendor/perl/dist/dist/XSLoader/XSLoader_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/XSLoader/t/XSLoader.t
===================================================================
--- vendor/perl/dist/dist/XSLoader/t/XSLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/XSLoader/t/XSLoader.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,12 +5,13 @@
 
 my $db_file;
 BEGIN {
-    eval "use Test::More";
-    if ($@) {
+    if (not eval "use Test::More; 1") {
         print "1..0 # Skip: Test::More not available\n";
         die "Test::More not available\n";
     }
 
+    plan(skip_all => "these tests needs Perl 5.5+") if $] < 5.005;
+
     use Config;
     foreach (qw/SDBM_File GDBM_File ODBM_File NDBM_File DB_File/) {
         if ($Config{extensions} =~ /\b$_\b/) {
@@ -24,13 +25,15 @@
 my %modules = (
     # ModuleName  => q|code to check that it was loaded|,
     'Cwd'        => q| ::can_ok( 'Cwd' => 'fastcwd'         ) |,  # 5.7 ?
-    'File::Glob' => q| ::can_ok( 'File::Glob' => 'doglob'   ) |,  # 5.6
+    'File::Glob' => q| ::can_ok( 'File::Glob' =>                  # 5.6
+                                   $] > 5.014
+                                     ? 'bsd_glob' : 'doglob') |,
     $db_file     => q| ::can_ok( $db_file => 'TIEHASH'      ) |,  # 5.0
     'Socket'     => q| ::can_ok( 'Socket' => 'inet_aton'    ) |,  # 5.0
     'Time::HiRes'=> q| ::can_ok( 'Time::HiRes' => 'usleep'  ) |,  # 5.7.3
 );
 
-plan tests => keys(%modules) * 3 + 7;
+plan tests => keys(%modules) * 3 + 8;
 
 # Try to load the module
 use_ok( 'XSLoader' );
@@ -40,20 +43,31 @@
 can_ok( 'XSLoader' => 'bootstrap_inherit' );
 
 # Check error messages
-foreach (['Thwack', 'package Thwack; XSLoader::load(); 1'],
-	 ['Zlott', 'package Thwack; XSLoader::load("Zlott"); 1'],
-	) {
-    my ($should_load, $codestr) = @$_;
-    is(eval $codestr, undef, "eval '$codestr' should die");
+my @cases = (
+    [ 'Thwack', 'package Thwack; XSLoader::load(); 1'        ],
+    [ 'Zlott' , 'package Thwack; XSLoader::load("Zlott"); 1' ],
+);
 
+for my $case (@cases) {
+    my ($should_load, $codestr) = @$case;
+    my $diag;
+
+    # determine the expected diagnostic
     if ($Config{usedl}) {
-	like( $@, qr/^Can't locate loadable object for module $should_load in \@INC/,
-	      "calling XSLoader::load() under a package with no XS part" );
+        if ($case->[0] eq "Thwack" and ($] == 5.008004 or $] == 5.008005)) {
+            # these versions had bugs with chained C<goto &>
+            $diag = "Usage: DynaLoader::bootstrap\\(module\\)";
+        } else {
+            # normal diagnostic for a perl with dynamic loading
+            $diag = "Can't locate loadable object for module $should_load in \@INC";
+        }
+    } else {
+        # a perl with no dynamic loading
+        $diag = "Can't load module $should_load, dynamic loading not available in this perl.";
     }
-    else {
-	like( $@, qr/^Can't load module $should_load, dynamic loading not available in this perl./,
-	      "calling XSLoader::load() under a package with no XS part" );
-    }
+
+    is(eval $codestr, undef, "eval '$codestr' should die");
+    like($@, qr/^$diag/, "calling XSLoader::load() under a package with no XS part");
 }
 
 # Now try to load well known XS modules
@@ -61,14 +75,11 @@
 $extensions =~ s|/|::|g;
 
 for my $module (sort keys %modules) {
-    my $warnings = "";
-    local $SIG{__WARN__} = sub { $warnings = $_[0] };
-
     SKIP: {
-        skip "$module not available", 4 if $extensions !~ /\b$module\b/;
+        skip "$module not available", 3 if $extensions !~ /\b$module\b/;
 
         eval qq{ package $module; XSLoader::load('$module', "12345678"); };
-        like( $@, "/^$module object version \\S+ does not match bootstrap parameter (?:12345678|0)/",
+        like( $@, "/^$module object version \\S+ does not match bootstrap parameter 12345678/",
                 "calling XSLoader::load() with a XS module and an incorrect version" );
 
         eval qq{ package $module; XSLoader::load('$module'); };
@@ -78,3 +89,10 @@
     }
 }
 
+SKIP: {
+    skip "Needs 5.15.6", 1 unless $] > 5.0150051;
+    skip "List::Util not available", 1 if $extensions !~ /\bList::Util\b/;
+    eval 'package List::Util; XSLoader::load(__PACKAGE__, "version")';
+    like $@, "/^Invalid version format/",
+        'correct error msg for invalid versions';
+}


Property changes on: vendor/perl/dist/dist/XSLoader/t/XSLoader.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/autouse/lib/autouse.pm
===================================================================
--- vendor/perl/dist/dist/autouse/lib/autouse.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/autouse/lib/autouse.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 #use strict;		# debugging only
 use 5.006;		# use warnings
 
-$autouse::VERSION = '1.06';
+$autouse::VERSION = '1.07';
 
 $autouse::DEBUG ||= 0;
 


Property changes on: vendor/perl/dist/dist/autouse/lib/autouse.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/autouse/t/autouse.t
===================================================================
--- vendor/perl/dist/dist/autouse/t/autouse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/autouse/t/autouse.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
     }
 }
 
-use Test::More tests => 12;
+use Test::More tests => 15;
 
 BEGIN {
     require autouse;
@@ -69,3 +69,34 @@
 my $ret = test_function();
 is( $ret, 'works' );
 
+# Test that autouse is exempt from all methods of triggering the subroutine
+# redefinition warning.
+SKIP: {
+    skip "Fails in 5.15.5 and below (perl bug)", 2 if $] < 5.0150051;
+    use warnings; local $^W = 1; no warnings 'once';
+    my $w;
+    local $SIG{__WARN__} = sub { $w .= shift };
+    use autouse MyTestModule2 => 'test_function2';
+    *MyTestModule2::test_function2 = \&test_function2;
+    require MyTestModule2;
+    is $w, undef,
+       'no redefinition warning when clobbering autouse stub with new sub';
+    undef $w;
+    import MyTestModule2 'test_function2';
+    is $w, undef,
+       'no redefinition warning when clobbering autouse stub via *a=\&b';
+}
+SKIP: {
+    skip "Fails from 5.10 to 5.15.5 (perl bug)", 1
+	if $] < 5.0150051 and $] > 5.0099;
+    use Config;
+    skip "no B", 1 unless $Config{extensions} =~ /\bB\b/;
+    use warnings; local $^W = 1; no warnings 'once';
+    my $w;
+    local $SIG{__WARN__} = sub { $w .= shift };
+    use autouse B => "sv_undef";
+    *B::sv_undef = \&sv_undef;
+    require B;
+    is $w, undef,
+      'no redefinition warning when clobbering autouse stub with new XSUB';
+}


Property changes on: vendor/perl/dist/dist/autouse/t/autouse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/autouse/t/lib/MyTestModule.pm
===================================================================
--- vendor/perl/dist/dist/autouse/t/lib/MyTestModule.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/autouse/t/lib/MyTestModule.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/autouse/t/lib/MyTestModule.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/base/Changes
===================================================================
--- vendor/perl/dist/dist/base/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,10 @@
+2.18
+    - Backport from bleadperl before 5.16.0 release
+    - base no longer sets a module's $VERSION to "-1" when a module it
+      loads does not define a $VERSION.
+    - base no longer internally skips loading modules it has already
+      loaded and instead relies on require to inspect %INC.
+
 2.15
     - Bump version to 2.15 so base and fields have the same version again
 


Property changes on: vendor/perl/dist/dist/base/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/MANIFEST
===================================================================
--- vendor/perl/dist/dist/base/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/META.yml
===================================================================
--- vendor/perl/dist/dist/base/META.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/META.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/META.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/base/lib/base.pm
===================================================================
--- vendor/perl/dist/dist/base/lib/base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/lib/base.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict 'vars';
 use vars qw($VERSION);
-$VERSION = '2.16';
+$VERSION = '2.18';
 $VERSION = eval $VERSION;
 
 # constant.pm is slow
@@ -22,12 +22,6 @@
     return( ($fglob && 'GLOB' eq ref($fglob) && *$fglob{HASH}) ? 1 : 0 );
 }
 
-sub has_version {
-    my($base) = shift;
-    my $vglob = ${$base.'::'}{VERSION};
-    return( ($vglob && *$vglob{SCALAR}) ? 1 : 0 );
-}
-
 sub has_attr {
     my($proto) = shift;
     my($class) = ref $proto || $proto;
@@ -70,7 +64,6 @@
     my $fields_base;
 
     my $inheritor = caller(0);
-    my @isa_classes;
 
     my @bases;
     foreach my $base (@_) {
@@ -80,11 +73,8 @@
 
         next if grep $_->isa($base), ($inheritor, @bases);
 
-        if (has_version($base)) {
-            ${$base.'::VERSION'} = '-1, set by base.pm' 
-              unless defined ${$base.'::VERSION'};
-        }
-        else {
+        # Following blocks help isolate $SIG{__DIE__} changes
+        {
             my $sigdie;
             {
                 local $SIG{__DIE__};
@@ -105,8 +95,6 @@
             }
             # Make sure a global $SIG{__DIE__} makes it out of the localization.
             $SIG{__DIE__} = $sigdie if defined $sigdie;
-            ${$base.'::VERSION'} = "-1, set by base.pm"
-              unless defined ${$base.'::VERSION'};
         }
         push @bases, $base;
 
@@ -121,8 +109,6 @@
         }
     }
     # Save this until the end so it's all or nothing if the above loop croaks.
-    push @{"$inheritor\::ISA"}, @isa_classes;
-
     push @{"$inheritor\::ISA"}, @bases;
 
     if( defined $fields_base ) {
@@ -206,26 +192,26 @@
         push @ISA, qw(Foo Bar);
     }
 
-C<base> employs some heuristics to determine if a module has already been
-loaded, if it has it doesn't try again. If C<base> tries to C<require> the
-module it will not die if it cannot find the module's file, but will die on any
-other error. After all this, should your base class be empty, containing no
-symbols, it will die. This is useful for inheriting from classes in the same
-file as yourself, like so:
+When C<base> tries to C<require> a module, it will not die if it cannot find
+the module's file, but will die on any other error.  After all this, should
+your base class be empty, containing no symbols, C<base> will die. This is
+useful for inheriting from classes in the same file as yourself but where
+the filename does not match the base module name, like so:
 
+        # in Bar.pm
         package Foo;
         sub exclaim { "I can have such a thing?!" }
-        
+
         package Bar;
         use base "Foo";
 
-If $VERSION is not detected even after loading it, <base> will define $VERSION
-in the base package, setting it to the string C<-1, set by base.pm>.
+There is no F<Foo.pm>, but because C<Foo> defines a symbol (the C<exclaim>
+subroutine), C<base> will not die when the C<require> fails to load F<Foo.pm>.
 
 C<base> will also initialize the fields if one of the base classes has it.
 Multiple inheritance of fields is B<NOT> supported, if two or more base classes
-each have inheritable fields the 'base' pragma will croak. See L<fields>,
-L<public> and L<protected> for a description of this feature.
+each have inheritable fields the 'base' pragma will croak. See L<fields>
+for a description of this feature.
 
 The base class' C<import> method is B<not> called.
 


Property changes on: vendor/perl/dist/dist/base/lib/base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/base/lib/fields.pm
===================================================================
--- vendor/perl/dist/dist/base/lib/fields.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/lib/fields.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
 }
 use vars qw(%attr $VERSION);
 
-$VERSION = '2.15';
+$VERSION = '2.16';
 
 # constant.pm is slow
 sub PUBLIC     () { 2**0  }
@@ -278,8 +278,8 @@
     sub new {
         my $self = shift;
         $self = fields::new($self) unless ref $self;
-        $self->{cat} = 'meow';                          # scalar element
-        @$self{'dog','bird'} = ('bark','tweet');        # slice
+        $self->{cat} = 'meow';                      # scalar element
+        @$self{'dog','bird'} = ('bark','tweet');    # slice
         return $self;
     }
 


Property changes on: vendor/perl/dist/dist/base/lib/fields.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/base/t/base.t
===================================================================
--- vendor/perl/dist/dist/base/t/base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/base.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 package Test::Version;
 
 use base qw(No::Version);
-::ok( $No::Version::VERSION =~ /set by base\.pm/,          '$VERSION bug' );
+::ok( ! defined $No::Version::VERSION, '$VERSION bug' );
 
 # Test Inverse of $VERSION bug base.pm should not clobber existing $VERSION
 package Has::Version;


Property changes on: vendor/perl/dist/dist/base/t/base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/compile-time.t
===================================================================
--- vendor/perl/dist/dist/base/t/compile-time.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/compile-time.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/compile-time.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/fields-5_6_0.t
===================================================================
--- vendor/perl/dist/dist/base/t/fields-5_6_0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/fields-5_6_0.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/fields-5_6_0.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/base/t/fields-5_8_0.t
===================================================================
--- vendor/perl/dist/dist/base/t/fields-5_8_0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/fields-5_8_0.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -100,7 +100,7 @@
     'Foo::Bar::Baz' => 'b1:1,b2:2,b3:3,foo:4,bar:5,baz:6',
 );
 
-print "1..", int(keys %expect)+21, "\n";
+print "1..", int(keys %expect)+20, "\n";
 my $testno = 0;
 while (my($class, $exp) = each %expect) {
    no strict 'refs';
@@ -187,19 +187,6 @@
     print $a->{bar}->{A}, "\n";
 }
 
-
-# Test $VERSION bug
-package No::Version;
-
-use vars qw($Foo);
-sub VERSION { 42 }
-
-package Test::Version;
-
-use base qw(No::Version);
-print "# $No::Version::VERSION\nnot " unless $No::Version::VERSION =~ /set by base\.pm/;
-print "ok ", ++$testno ,"\n";
-
 # Test Inverse of $VERSION bug base.pm should not clobber existing $VERSION
 package Has::Version;
 


Property changes on: vendor/perl/dist/dist/base/t/fields-5_8_0.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/fields-base.t
===================================================================
--- vendor/perl/dist/dist/base/t/fields-base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/fields-base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/fields-base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/base/t/fields.t
===================================================================
--- vendor/perl/dist/dist/base/t/fields.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/fields.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -108,10 +108,10 @@
     ok(exists $x->{b}, 'x has b');
 
     SKIP: {
-        skip "These tests trigger a perl bug", 2 if $] < 5.014001;
+        skip "These tests trigger a perl bug", 2 if $] < 5.015;
         $x->{a} = __PACKAGE__;
-        ok eval { delete $x->{a}; 1 }, 'deleting COW values';
+        ok eval { delete $x->{a}; 1 }, 'deleting COW values' or diag $@;
         $x->{a} = __PACKAGE__;
-        ok eval { %$x = (); 1 }, 'clearing a restr hash containing COWs';
+        ok eval { %$x = (); 1 }, 'clearing a restr hash containing COWs' or diag $@;
     }
 }


Property changes on: vendor/perl/dist/dist/base/t/fields.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/isa.t
===================================================================
--- vendor/perl/dist/dist/base/t/isa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/isa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/isa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/lib/Dummy.pm
===================================================================
--- vendor/perl/dist/dist/base/t/lib/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/lib/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/lib/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/lib/HasSigDie.pm
===================================================================
--- vendor/perl/dist/dist/base/t/lib/HasSigDie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/lib/HasSigDie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/lib/HasSigDie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/sigdie.t
===================================================================
--- vendor/perl/dist/dist/base/t/sigdie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/sigdie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/sigdie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/version.t
===================================================================
--- vendor/perl/dist/dist/base/t/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/base/t/warnings.t
===================================================================
--- vendor/perl/dist/dist/base/t/warnings.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/base/t/warnings.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/base/t/warnings.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/bignum/lib/Math/BigFloat/Trace.pm
===================================================================
--- vendor/perl/dist/dist/bignum/lib/Math/BigFloat/Trace.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/lib/Math/BigFloat/Trace.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 
 @ISA = qw(Exporter Math::BigFloat);
 
-$VERSION = 0.01;
+$VERSION = '0.32';
 
 use overload;	# inherit overload from BigFloat
 


Property changes on: vendor/perl/dist/dist/bignum/lib/Math/BigFloat/Trace.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/bignum/lib/Math/BigInt/Trace.pm
===================================================================
--- vendor/perl/dist/dist/bignum/lib/Math/BigInt/Trace.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/lib/Math/BigInt/Trace.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 
 @ISA = qw(Exporter Math::BigInt);
 
-$VERSION = 0.01;
+$VERSION = '0.32';
 
 use overload;	# inherit overload from BigInt
 


Property changes on: vendor/perl/dist/dist/bignum/lib/Math/BigInt/Trace.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/bignum/lib/bigint.pm
===================================================================
--- vendor/perl/dist/dist/bignum/lib/bigint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/lib/bigint.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 package bigint;
 use 5.006;
 
-$VERSION = '0.27';
+$VERSION = '0.34';
 use Exporter;
 @ISA		= qw( Exporter );
- at EXPORT_OK	= qw( PI e bpi bexp );
+ at EXPORT_OK	= qw( PI e bpi bexp hex oct );
 @EXPORT		= qw( inf NaN );
 
 use strict;
@@ -120,39 +120,68 @@
 #############################################################################
 # the following two routines are for "use bigint qw/hex oct/;":
 
-sub _hex_global
+use constant LEXICAL => $] > 5.009004;
+
+{
+    my $proto = LEXICAL ? '_' : ';$';
+    eval '
+sub hex(' . $proto . ')' . <<'.';
   {
-  my $i = $_[0];
+  my $i = @_ ? $_[0] : $_;
   $i = '0x'.$i unless $i =~ /^0x/;
   Math::BigInt->new($i);
   }
-
-sub _oct_global
+.
+    eval '
+sub oct(' . $proto . ')' . <<'.';
   {
-  my $i = $_[0];
-  return Math::BigInt->from_oct($i) if $i =~ /^0[0-7]/;
+  my $i = @_ ? $_[0] : $_;
+  # oct() should never fall back to decimal
+  return Math::BigInt->from_oct($i) if $i =~ s/^(?=0[0-9]|[1-9])/0/;
   Math::BigInt->new($i);
   }
+.
+}
 
 #############################################################################
 # the following two routines are for Perl 5.9.4 or later and are lexical
 
-sub _hex
+my ($prev_oct, $prev_hex, $overridden);
+
+if (LEXICAL) { eval <<'.' }
+sub _hex(_)
   {
-  return CORE::hex($_[0]) unless in_effect(1);
+  my $hh = (caller 0)[10];
+  return $prev_hex ? &$prev_hex($_[0]) : CORE::hex($_[0])
+    unless $$hh{bigint}||$$hh{bignum}||$$hh{bigrat};
   my $i = $_[0];
   $i = '0x'.$i unless $i =~ /^0x/;
   Math::BigInt->new($i);
   }
 
-sub _oct
+sub _oct(_)
   {
-  return CORE::oct($_[0]) unless in_effect(1);
+  my $hh = (caller 0)[10];
+  return $prev_oct ? &$prev_oct($_[0]) : CORE::oct($_[0])
+    unless $$hh{bigint}||$$hh{bignum}||$$hh{bigrat};
   my $i = $_[0];
-  return Math::BigInt->from_oct($i) if $i =~ /^0[0-7]/;
+  # oct() should never fall back to decimal
+  return Math::BigInt->from_oct($i) if $i =~ s/^(?=0[0-9]|[1-9])/0/;
   Math::BigInt->new($i);
   }
+.
 
+sub _override
+  {
+  return if $overridden;
+  $prev_oct = *CORE::GLOBAL::oct{CODE};
+  $prev_hex = *CORE::GLOBAL::hex{CODE};
+  no warnings 'redefine';
+  *CORE::GLOBAL::oct = \&_oct;
+  *CORE::GLOBAL::hex = \&_hex;
+  $overridden++;
+  }
+
 sub import 
   {
   my $self = shift;
@@ -159,12 +188,10 @@
 
   $^H{bigint} = 1;					# we are in effect
 
-  my ($hex,$oct);
   # for newer Perls always override hex() and oct() with a lexical version:
-  if ($] > 5.009004)
+  if (LEXICAL)
     {
-    $oct = \&_oct;
-    $hex = \&_hex;
+    _override();
     }
   # some defaults
   my $lib = ''; my $lib_kind = 'try';
@@ -205,18 +232,8 @@
       $trace = 1;
       splice @a, $j, 1; $j --;
       }
-    elsif ($_[$i] eq 'hex')
+    elsif ($_[$i] !~ /^(PI|e|bpi|bexp|hex|oct)\z/)
       {
-      splice @a, $j, 1; $j --;
-      $hex = \&_hex_global;
-      }
-    elsif ($_[$i] eq 'oct')
-      {
-      splice @a, $j, 1; $j --;
-      $oct = \&_oct_global;
-      }
-    elsif ($_[$i] !~ /^(PI|e|bpi|bexp)\z/)
-      {
       die ("unknown option $_[$i]");
       }
     }
@@ -271,12 +288,7 @@
     {
     $self->export_to_level(1,$self, at a);           # export inf and NaN, e and PI
     }
-  {
-    no warnings 'redefine';
-    *CORE::GLOBAL::oct = $oct if $oct;
-    *CORE::GLOBAL::hex = $hex if $hex;
   }
-  }
 
 sub inf () { Math::BigInt::binf(); }
 sub NaN () { Math::BigInt::bnan(); }
@@ -302,7 +314,7 @@
   print 2 ** 512,"\n";			# really is what you think it is
   print inf + 42,"\n";			# inf
   print NaN * 7,"\n";			# NaN
-  print hex("0x1234567890123490"),"\n";	# Perl v5.9.4 or later
+  print hex("0x1234567890123490"),"\n";	# Perl v5.10.0 or later
 
   {
     no bigint;
@@ -309,7 +321,7 @@
     print 2 ** 256,"\n";		# a normal Perl scalar now
   }
 
-  # Note that this will be global:
+  # Import into current package:
   use bigint qw/hex oct/;
   print hex("0x1234567890123490"),"\n";
   print oct("01234567890123490"),"\n";
@@ -316,8 +328,8 @@
 
 =head1 DESCRIPTION
 
-All operators (including basic math operations) are overloaded. Integer
-constants are created as proper BigInts.
+All operators (including basic math operations) except the range operator C<..>
+are overloaded. Integer constants are created as proper BigInts.
 
 Floating point constants are truncated to integer. All parts and results of
 expressions are also truncated.
@@ -353,11 +365,11 @@
 expressions will be truncated anyway, but this can, for instance, affect the
 return value of subroutines:
 
-	sub three_integer { use integer; return 3.2; } 
-	sub three_bigint { use bigint; return 3.2; }
- 
-	print three_integer(), " ", three_bigint(),"\n";	# prints "3.2 3"
+    sub three_integer { use integer; return 3.2; } 
+    sub three_bigint { use bigint; return 3.2; }
 
+    print three_integer(), " ", three_bigint(),"\n";	# prints "3.2 3"
+
 =head2 Options
 
 bigint recognizes some options that can be passed while loading it via use.
@@ -397,14 +409,16 @@
 =item hex
 
 Override the built-in hex() method with a version that can handle big
-integers. Note that under Perl v5.9.4 or ealier, this will be global
-and cannot be disabled with "no bigint;".
+integers. This overrides it by exporting it to the current package. Under
+Perl v5.10.0 and higher, this is not so necessary, as hex() is lexically
+overridden in the current scope whenever the bigint pragma is active.
 
 =item oct
 
 Override the built-in oct() method with a version that can handle big
-integers. Note that under Perl v5.9.4 or ealier, this will be global
-and cannot be disabled with "no bigint;".
+integers. This overrides it by exporting it to the current package. Under
+Perl v5.10.0 and higher, this is not so necessary, as oct() is lexically
+overridden in the current scope whenever the bigint pragma is active.
 
 =item l, lib, try or only
 
@@ -479,12 +493,46 @@
 minus infinity. You will get '+inf' when dividing a positive number by 0, and
 '-inf' when dividing any negative number by 0.
 
-=head2 Methods
+=head2 Method calls
 
 Since all numbers are now objects, you can use all functions that are part of
 the BigInt API. You can only use the bxxx() notation, and not the fxxx()
 notation, though. 
 
+But a warning is in order. When using the following to make a copy of a number,
+only a shallow copy will be made.
+
+	$x = 9; $y = $x;
+	$x = $y = 7;
+
+Using the copy or the original with overloaded math is okay, e.g. the
+following work:
+
+	$x = 9; $y = $x;
+	print $x + 1, " ", $y,"\n";	# prints 10 9
+
+but calling any method that modifies the number directly will result in
+B<both> the original and the copy being destroyed:
+
+	$x = 9; $y = $x;
+	print $x->badd(1), " ", $y,"\n";	# prints 10 10
+
+	$x = 9; $y = $x;
+	print $x->binc(1), " ", $y,"\n";	# prints 10 10
+
+	$x = 9; $y = $x;
+	print $x->bmul(2), " ", $y,"\n";	# prints 18 18
+
+Using methods that do not modify, but testthe contents works:
+
+	$x = 9; $y = $x;
+	$z = 9 if $x->is_zero();		# works fine
+
+See the documentation about the copy constructor and C<=> in overload, as
+well as the documentation in BigInt for further details.
+
+=head2 Methods
+
 =over 2
 
 =item inf()
@@ -556,48 +604,24 @@
 
 =back
 
-=head2 MATH LIBRARY
+=head1 CAVEATS
 
-Math with the numbers is done (by default) by a module called
+=over 2
 
-=head2 Caveat
+=item ranges
 
-But a warning is in order. When using the following to make a copy of a number,
-only a shallow copy will be made.
+Perl does not allow overloading of ranges, so you can neither safely use
+ranges with bigint endpoints, nor is the iterator variable a bigint.
 
-	$x = 9; $y = $x;
-	$x = $y = 7;
+	use 5.010;
+	for my $i (12..13) {
+	  for my $j (20..21) {
+	    say $i ** $j;  # produces a floating-point number,
+	                   # not a big integer
+	  }
+	}
 
-Using the copy or the original with overloaded math is okay, e.g. the
-following work:
 
-	$x = 9; $y = $x;
-	print $x + 1, " ", $y,"\n";	# prints 10 9
-
-but calling any method that modifies the number directly will result in
-B<both> the original and the copy being destroyed:
-	
-	$x = 9; $y = $x;
-	print $x->badd(1), " ", $y,"\n";	# prints 10 10
-	
-        $x = 9; $y = $x;
-	print $x->binc(1), " ", $y,"\n";	# prints 10 10
-        
-	$x = 9; $y = $x;
-	print $x->bmul(2), " ", $y,"\n";	# prints 18 18
-	
-Using methods that do not modify, but testthe contents works:
-
-	$x = 9; $y = $x;
-	$z = 9 if $x->is_zero();		# works fine
-
-See the documentation about the copy constructor and C<=> in overload, as
-well as the documentation in BigInt for further details.
-
-=head1 CAVEATS
-
-=over 2
-
 =item in_effect()
 
 This method only works on Perl v5.9.4 or later.
@@ -644,7 +668,7 @@
 
 Some cool command line examples to impress the Python crowd ;) You might want
 to compare them to the results under -Mbignum or -Mbigrat:
- 
+
 	perl -Mbigint -le 'print sqrt(33)'
 	perl -Mbigint -le 'print 2*255'
 	perl -Mbigint -le 'print 4.5+2*255'
@@ -666,7 +690,7 @@
 L<bignum> as in C<perl -Mbignum -le 'print sqrt(2)'>.
 
 L<Math::BigInt>, L<Math::BigRat> and L<Math::Big> as well
-as L<Math::BigInt::BitVect>, L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
+as L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
 
 =head1 AUTHORS
 


Property changes on: vendor/perl/dist/dist/bignum/lib/bigint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/bignum/lib/bignum.pm
===================================================================
--- vendor/perl/dist/dist/bignum/lib/bignum.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/lib/bignum.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,15 @@
 package bignum;
 use 5.006;
 
-$VERSION = '0.27';
+$VERSION = '0.33';
 use Exporter;
 @ISA 		= qw( bigint );
- at EXPORT_OK	= qw( PI e bexp bpi ); 
+ at EXPORT_OK	= qw( PI e bexp bpi hex oct ); 
 @EXPORT 	= qw( inf NaN ); 
 
 use strict;
 use overload;
-require bigint;		# no "use" to avoid import being called
+use bigint ();
 
 ############################################################################## 
 
@@ -17,6 +17,8 @@
   {
   *inf = \&bigint::inf;
   *NaN = \&bigint::NaN;
+  *hex = \&bigint::hex;
+  *oct = \&bigint::oct;
   }
 
 # These are all alike, and thus faked by AUTOLOAD
@@ -68,24 +70,7 @@
   }
 
 #############################################################################
-# the following two routines are for Perl 5.9.4 or later and are lexical
 
-sub _hex
-  {
-  return CORE::hex($_[0]) unless in_effect(1);
-  my $i = $_[0];
-  $i = '0x'.$i unless $i =~ /^0x/;
-  Math::BigInt->new($i);
-  }
-
-sub _oct
-  {
-  return CORE::oct($_[0]) unless in_effect(1);
-  my $i = $_[0];
-  return Math::BigInt->from_oct($i) if $i =~ /^0[0-7]/;
-  Math::BigInt->new($i);
-  }
-
 sub import 
   {
   my $self = shift;
@@ -92,13 +77,10 @@
 
   $^H{bignum} = 1;					# we are in effect
 
-  my ($hex,$oct);
-
   # for newer Perls override hex() and oct() with a lexical version:
-  if ($] > 5.009003)
+  if ($] > 5.009004)
     {
-    $hex = \&_hex;
-    $oct = \&_oct;
+    bigint::_override();
     }
 
   # some defaults
@@ -156,18 +138,8 @@
       $trace = 1;
       splice @a, $j, 1; $j --;
       }
-    elsif ($_[$i] eq 'hex')
+    elsif ($_[$i] !~ /^(PI|e|bexp|bpi|hex|oct)\z/)
       {
-      splice @a, $j, 1; $j --;
-      $hex = \&bigint::_hex_global;
-      }
-    elsif ($_[$i] eq 'oct')
-      {
-      splice @a, $j, 1; $j --;
-      $oct = \&bigint::_oct_global;
-      }
-    elsif ($_[$i] !~ /^(PI|e|bexp|bpi)\z/)
-      {
       die ("unknown option $_[$i]");
       }
     }
@@ -233,12 +205,7 @@
     {
     $self->export_to_level(1,$self, at a);           # export inf and NaN
     }
-  {
-    no warnings 'redefine';
-    *CORE::GLOBAL::oct = $oct if $oct;
-    *CORE::GLOBAL::hex = $hex if $hex;
   }
-  }
 
 sub PI () { Math::BigFloat->new('3.141592653589793238462643383279502884197'); }
 sub e () { Math::BigFloat->new('2.718281828459045235360287471352662497757'); }
@@ -267,7 +234,7 @@
     print 2 ** 256,"\n";		# a normal Perl scalar now
   }
 
-  # for older Perls, note that this will be global:
+  # for older Perls, import into current package:
   use bignum qw/hex oct/;
   print hex("0x1234567890123490"),"\n";
   print oct("01234567890123490"),"\n";
@@ -364,12 +331,12 @@
 instance, simple loop counters will be Math::BigInts under C<use bignum;> and
 this is slower than keeping them as Perl scalars:
 
-        perl -Mbignum -le 'for ($i = 0; $i < 10; $i++) { print ref($i); }'
+    perl -Mbignum -le 'for ($i = 0; $i < 10; $i++) { print ref($i); }'
 
 Please note the following does not work as expected (prints nothing), since
 overloading of '..' is not yet possible in Perl (as of v5.8.0):
 
-        perl -Mbignum -le 'for (1..2) { print ref($_); }'
+    perl -Mbignum -le 'for (1..2) { print ref($_); }'
 
 =head2 Options
 
@@ -420,14 +387,16 @@
 =item hex
 
 Override the built-in hex() method with a version that can handle big
-integers. Note that under Perl older than v5.9.4, this will be global
-and cannot be disabled with "no bigint;".
+numbers. This overrides it by exporting it to the current package. Under
+Perl v5.10.0 and higher, this is not so necessary, as hex() is lexically
+overridden in the current scope whenever the bignum pragma is active.
 
 =item oct
 
 Override the built-in oct() method with a version that can handle big
-integers. Note that under Perl older than v5.9.4, this will be global
-and cannot be disabled with "no bigint;".
+numbers. This overrides it by exporting it to the current package. Under
+Perl v5.10.0 and higher, this is not so necessary, as oct() is lexically
+overridden in the current scope whenever the bigint pragma is active.
 
 =item v or version
 
@@ -650,7 +619,7 @@
 =head1 EXAMPLES
 
 Some cool command line examples to impress the Python crowd ;)
- 
+
 	perl -Mbignum -le 'print sqrt(33)'
 	perl -Mbignum -le 'print 2*255'
 	perl -Mbignum -le 'print 4.5+2*255'
@@ -672,7 +641,7 @@
 Especially L<bigrat> as in C<perl -Mbigrat -le 'print 1/3+1/4'>.
 
 L<Math::BigFloat>, L<Math::BigInt>, L<Math::BigRat> and L<Math::Big> as well
-as L<Math::BigInt::BitVect>, L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
+as L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
 
 =head1 AUTHORS
 


Property changes on: vendor/perl/dist/dist/bignum/lib/bignum.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/bignum/lib/bigrat.pm
===================================================================
--- vendor/perl/dist/dist/bignum/lib/bigrat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/lib/bigrat.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,15 @@
 package bigrat;
 use 5.006;
 
-$VERSION = '0.28';
+$VERSION = '0.33';
 require Exporter;
 @ISA		= qw( bigint );
- at EXPORT_OK 	= qw( PI e bpi bexp );
+ at EXPORT_OK 	= qw( PI e bpi bexp hex oct );
 @EXPORT		= qw( inf NaN );
 
 use strict;
 use overload;
-require bigint;		# no "use" to avoid callind import
+use bigint ();
 
 ############################################################################## 
 
@@ -17,6 +17,8 @@
   {
   *inf = \&bigint::inf;
   *NaN = \&bigint::NaN;
+  *hex = \&bigint::hex;
+  *oct = \&bigint::oct;
   }
 
 # These are all alike, and thus faked by AUTOLOAD
@@ -69,24 +71,7 @@
   }
 
 #############################################################################
-# the following two routines are for Perl 5.9.4 or later and are lexical
 
-sub _hex
-  {
-  return CORE::hex($_[0]) unless in_effect(1);
-  my $i = $_[0];
-  $i = '0x'.$i unless $i =~ /^0x/;
-  Math::BigInt->new($i);
-  }
-
-sub _oct
-  {
-  return CORE::oct($_[0]) unless in_effect(1);
-  my $i = $_[0];
-  return Math::BigInt->from_oct($i) if $i =~ /^0[0-7]/;
-  Math::BigInt->new($i);
-  }
-
 sub import 
   {
   my $self = shift;
@@ -95,12 +80,10 @@
 
   $^H{bigrat} = 1;					# we are in effect
 
-  my ($hex,$oct);
   # for newer Perls always override hex() and oct() with a lexical version:
   if ($] > 5.009004)
     {
-    $oct = \&_oct;
-    $hex = \&_hex;
+    bigint::_override();
     }
   # some defaults
   my $lib = ''; my $lib_kind = 'try'; my $upgrade = 'Math::BigFloat';
@@ -148,18 +131,8 @@
       $trace = 1;
       splice @a, $j, 1; $j --;
       }
-    elsif ($_[$i] eq 'hex')
+    elsif ($_[$i] !~ /^(PI|e|bpi|bexp|hex|oct)\z/)
       {
-      splice @a, $j, 1; $j --;
-      $hex = \&bigint::_hex_global;
-      }
-    elsif ($_[$i] eq 'oct')
-      {
-      splice @a, $j, 1; $j --;
-      $oct = \&bigint::_oct_global;
-      }
-    elsif ($_[$i] !~ /^(PI|e|bpi|bexp)\z/)
-      {
       die ("unknown option $_[$i]");
       }
     }
@@ -219,12 +192,7 @@
     {
     $self->export_to_level(1,$self, at a);           # export inf and NaN
     }
-  {
-    no warnings 'redefine';
-    *CORE::GLOBAL::oct = $oct if $oct;
-    *CORE::GLOBAL::hex = $hex if $hex;
   }
-  }
 
 sub PI () { Math::BigFloat->new('3.141592653589793238462643383279502884197'); }
 sub e () { Math::BigFloat->new('2.718281828459045235360287471352662497757'); }
@@ -257,7 +225,7 @@
     print 1/3,"\n";			# 0.33333...
   }
 
-  # Note that this will make hex() and oct() be globally overridden:
+  # Import into current package:
   use bigrat qw/hex oct/;
   print hex("0x1234567890123490"),"\n";
   print oct("01234567890123490"),"\n";
@@ -486,14 +454,16 @@
 =item hex
 
 Override the built-in hex() method with a version that can handle big
-integers. Note that under Perl v5.9.4 or ealier, this will be global
-and cannot be disabled with "no bigint;".
+numbers. This overrides it by exporting it to the current package. Under
+Perl v5.10.0 and higher, this is not so necessary, as hex() is lexically
+overridden in the current scope whenever the bigrat pragma is active.
 
 =item oct
 
 Override the built-in oct() method with a version that can handle big
-integers. Note that under Perl v5.9.4 or earlier, this will be global
-and cannot be disabled with "no bigint;".
+numbers. This overrides it by exporting it to the current package. Under
+Perl v5.10.0 and higher, this is not so necessary, as oct() is lexically
+overridden in the current scope whenever the bigrat pragma is active.
 
 =item v or version
 
@@ -557,7 +527,7 @@
 Especially L<bignum>.
 
 L<Math::BigFloat>, L<Math::BigInt>, L<Math::BigRat> and L<Math::Big> as well
-as L<Math::BigInt::BitVect>, L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
+as L<Math::BigInt::Pari> and  L<Math::BigInt::GMP>.
 
 =head1 AUTHORS
 


Property changes on: vendor/perl/dist/dist/bignum/lib/bigrat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/big_e_pi.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/big_e_pi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/big_e_pi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/big_e_pi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/bigexp.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/bigexp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/bigexp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/bigexp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/bignum/t/bigint.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/bigint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/bigint.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -66,17 +66,17 @@
 ###############################################################################
 # accuracy and precision
 
-is (bigint->accuracy(), undef);
-is (bigint->accuracy(12),12);
-is (bigint->accuracy(),12);
+is ('bigint'->accuracy(), undef);
+is ('bigint'->accuracy(12),12);
+is ('bigint'->accuracy(),12);
 
-is (bigint->precision(), undef);
-is (bigint->precision(12),12);
-is (bigint->precision(),12);
+is ('bigint'->precision(), undef);
+is ('bigint'->precision(12),12);
+is ('bigint'->precision(),12);
 
-is (bigint->round_mode(),'even');
-is (bigint->round_mode('odd'),'odd');
-is (bigint->round_mode(),'odd');
+is ('bigint'->round_mode(),'even');
+is ('bigint'->round_mode('odd'),'odd');
+is ('bigint'->round_mode(),'odd');
 
 ###############################################################################
 # hex() and oct()


Property changes on: vendor/perl/dist/dist/bignum/t/bigint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/bignum.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/bignum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/bignum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/bignum.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/bigrat.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/bigrat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/bigrat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/bigrat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/bii_e_pi.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/bii_e_pi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/bii_e_pi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/bii_e_pi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/biinfnan.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/biinfnan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/biinfnan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/biinfnan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/bir_e_pi.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/bir_e_pi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/bir_e_pi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/bir_e_pi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/bn_lite.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/bn_lite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/bn_lite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/bn_lite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/bninfnan.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/bninfnan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/bninfnan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/bninfnan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/br_lite.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/br_lite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/br_lite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/br_lite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/brinfnan.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/brinfnan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/brinfnan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/brinfnan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/in_effect.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/in_effect.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/in_effect.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/in_effect.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/infnan.inc
===================================================================
--- vendor/perl/dist/dist/bignum/t/infnan.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/infnan.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/infnan.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/option_a.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/option_a.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/option_a.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/option_a.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/option_l.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/option_l.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/option_l.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/option_l.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/option_p.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/option_p.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/option_p.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/option_p.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/ratopt_a.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/ratopt_a.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/ratopt_a.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/ratopt_a.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/scope_f.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/scope_f.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/scope_f.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/scope_f.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/scope_i.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/scope_i.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/scope_i.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/scope_i.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/bignum/t/scope_r.t
===================================================================
--- vendor/perl/dist/dist/bignum/t/scope_r.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/bignum/t/scope_r.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/bignum/t/scope_r.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/constant/lib/constant.pm
===================================================================
--- vendor/perl/dist/dist/constant/lib/constant.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/constant/lib/constant.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 package constant;
-use 5.005;
+use 5.008;
 use strict;
 use warnings::register;
 
 use vars qw($VERSION %declared);
-$VERSION = '1.21';
+$VERSION = '1.27';
 
 #=======================================================================
 
@@ -17,10 +17,9 @@
 
 my %forbidden = (%keywords, %forced_into_main);
 
-my $str_end = $] >= 5.006 ? "\\z" : "\\Z";
-my $normal_constant_name = qr/^_?[^\W_0-9]\w*$str_end/;
-my $tolerable = qr/^[A-Za-z_]\w*$str_end/;
-my $boolean = qr/^[01]?$str_end/;
+my $normal_constant_name = qr/^_?[^\W_0-9]\w*\z/;
+my $tolerable = qr/^[A-Za-z_]\w*\z/;
+my $boolean = qr/^[01]?\z/;
 
 BEGIN {
     # We'd like to do use constant _CAN_PCS => $] > 5.009002
@@ -29,6 +28,9 @@
     no strict 'refs';
     my $const = $] > 5.009002;
     *_CAN_PCS = sub () {$const};
+
+    my $downgrade = $] < 5.015004; # && $] >= 5.008
+    *_DOWNGRADE = sub () { $downgrade };
 }
 
 #=======================================================================
@@ -117,10 +119,12 @@
 	    if ($multiple || @_ == 1) {
 		my $scalar = $multiple ? $constants->{$name} : $_[0];
 
-		# Work around perl bug #xxxxx: Sub names (actually glob
-		# names in general) ignore the UTF8 flag. So we have to
-		# turn it off to get the "right" symbol table entry.
-		utf8::is_utf8 $name and utf8::encode $name;
+		if (_DOWNGRADE) { # for 5.8 to 5.14
+		    # Work around perl bug #31991: Sub names (actually glob
+		    # names in general) ignore the UTF8 flag. So we have to
+		    # turn it off to get the "right" symbol table entry.
+		    utf8::is_utf8 $name and utf8::encode $name;
+		}
 
 		# The constant serves to optimise this entire block out on
 		# 5.8 and earlier.
@@ -358,9 +362,6 @@
 
 L<Readonly> - Facility for creating read-only scalars, arrays, hashes.
 
-L<Const> - Facility for creating read-only variables. Similar to C<Readonly>,
-but uses C<SvREADONLY> instead of C<tie>.
-
 L<Attribute::Constant> - Make read-only variables via attribute
 
 L<Scalar::Readonly> - Perl extension to the C<SvREADONLY> scalar flag


Property changes on: vendor/perl/dist/dist/constant/lib/constant.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/constant/t/constant.t
===================================================================
--- vendor/perl/dist/dist/constant/t/constant.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/constant/t/constant.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -167,7 +167,6 @@
 @warnings = ();
 eval q{
     no warnings;
-    #local $^W if $] < 5.006;
     use warnings 'constant';
     use constant 'BEGIN' => 1 ;
     use constant 'INIT' => 1 ;


Property changes on: vendor/perl/dist/dist/constant/t/constant.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/constant/t/utf8.t
===================================================================
--- vendor/perl/dist/dist/constant/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/constant/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,16 @@
 #!./perl -T
 
+use Test::More;
+BEGIN {
+ plan skip_all => "irrelevant on pre-5.8.4" if $] < 5.008004
+}
+
 # Tests for constant.pm that require the utf8 pragma
 
 use utf8;
-use Test::More tests => 2;
 
+plan tests => 2;
+
 use constant π		=> 4 * atan2 1, 1;
 
 ok defined π,                    'basic scalar constant with funny name';


Property changes on: vendor/perl/dist/dist/constant/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/if/if.pm
===================================================================
--- vendor/perl/dist/dist/if/if.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/if/if.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 package if;
 
-$VERSION = '0.0601';
+$VERSION = '0.0602';
 
 sub work {
   my $method = shift() ? 'import' : 'unimport';
-  die "Too few arguments to `use if' (some code returning an empty list in list context?)"
+  die "Too few arguments to 'use if' (some code returning an empty list in list context?)"
     unless @_ >= 2;
   return unless shift;		# CONDITION
 


Property changes on: vendor/perl/dist/dist/if/if.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/if/t/if.t
===================================================================
--- vendor/perl/dist/dist/if/t/if.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/if/t/if.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,7 +26,7 @@
     '"use if" with a true condition and a pragma');
 like( $@, qr/while "strict refs" in use/, 'expected error message'),
 
-# Old version had problems with the module name `open', which is a keyword too
+# Old version had problems with the module name 'open', which is a keyword too
 # Use 'open' =>, since pre-5.6.0 could interpret differently
 is( (eval "use if ($v_plus > \$]), 'open' => IN => ':crlf'; 12" || 0), 12,
     '"use if" with open');


Property changes on: vendor/perl/dist/dist/if/t/if.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/lib/Makefile.PL
===================================================================
--- vendor/perl/dist/dist/lib/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/lib/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/lib/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/lib/lib_pm.PL
===================================================================
--- vendor/perl/dist/dist/lib/lib_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/lib/lib_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/lib/lib_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/lib/t/01lib.t
===================================================================
--- vendor/perl/dist/dist/lib/t/01lib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/lib/t/01lib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/lib/t/01lib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/hints/hpux.pl
===================================================================
--- vendor/perl/dist/dist/threads/hints/hpux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/hints/hpux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/hints/hpux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/hints/linux.pl
===================================================================
--- vendor/perl/dist/dist/threads/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads/lib/threads.pm
===================================================================
--- vendor/perl/dist/dist/threads/lib/threads.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/lib/threads.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '1.83';
+our $VERSION = '1.86';
 my $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -134,7 +134,7 @@
 
 =head1 VERSION
 
-This document describes threads version 1.83
+This document describes threads version 1.86
 
 =head1 SYNOPSIS
 
@@ -939,6 +939,36 @@
 
 On MSWin32, each thread maintains its own set of environment variables.
 
+=item Catching signals
+
+Signals are I<caught> by the main thread (thread ID = 0) of a script.
+Therefore, setting up signal handlers in threads for purposes other than
+L</"THREAD SIGNALLING"> as documented above will not accomplish what is
+intended.
+
+This is especially true if trying to catch C<SIGALRM> in a thread.  To handle
+alarms in threads, set up a signal handler in the main thread, and then use
+L</"THREAD SIGNALLING"> to relay the signal to the thread:
+
+  # Create thread with a task that may time out
+  my $thr->create(sub {
+      threads->yield();
+      eval {
+          $SIG{ALRM} = sub { die("Timeout\n"); };
+          alarm(10);
+          ...  # Do work here
+          alarm(0);
+      };
+      if ($@ =~ /Timeout/) {
+          warn("Task in thread timed out\n");
+      }
+  };
+
+  # Set signal handler to relay SIGALRM to thread
+  $SIG{ALRM} = sub { $thr->kill('ALRM') };
+
+  ... # Main thread continues working
+
 =item Parent-child threads
 
 On some platforms, it might not be possible to destroy I<parent> threads while
@@ -1051,7 +1081,7 @@
 L<http://www.perl.com/pub/a/2002/09/04/threads.html>
 
 Perl threads mailing list:
-L<http://lists.cpan.org/showlist.cgi?name=iThreads>
+L<http://lists.perl.org/list/ithreads.html>
 
 Stack size discussion:
 L<http://www.perlmonks.org/?node_id=532956>


Property changes on: vendor/perl/dist/dist/threads/lib/threads.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/basic.t
===================================================================
--- vendor/perl/dist/dist/threads/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/blocks.t
===================================================================
--- vendor/perl/dist/dist/threads/t/blocks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/blocks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/blocks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/context.t
===================================================================
--- vendor/perl/dist/dist/threads/t/context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/context.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/end.t
===================================================================
--- vendor/perl/dist/dist/threads/t/end.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/end.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/end.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/err.t
===================================================================
--- vendor/perl/dist/dist/threads/t/err.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/err.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/err.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads/t/exit.t
===================================================================
--- vendor/perl/dist/dist/threads/t/exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/exit.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -48,7 +48,7 @@
 ok(! defined($rc), 'Exited: threads->exit()');
 
 
-run_perl(prog => 'use threads 1.83;' .
+run_perl(prog => 'use threads 1.86;' .
                  'threads->exit(86);' .
                  'exit(99);',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,
@@ -98,7 +98,7 @@
 ok(! defined($rc), 'Exited: $thr->set_thread_exit_only');
 
 
-run_perl(prog => 'use threads 1.83 qw(exit thread_only);' .
+run_perl(prog => 'use threads 1.86 qw(exit thread_only);' .
                  'threads->create(sub { exit(99); })->join();' .
                  'exit(86);',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,
@@ -108,7 +108,7 @@
     is($?>>8, 86, "'use threads 'exit' => 'thread_only'");
 }
 
-my $out = run_perl(prog => 'use threads 1.83;' .
+my $out = run_perl(prog => 'use threads 1.86;' .
                            'threads->create(sub {' .
                            '    exit(99);' .
                            '});' .
@@ -124,7 +124,7 @@
 like($out, '1 finished and unjoined', "exit(status) in thread");
 
 
-$out = run_perl(prog => 'use threads 1.83 qw(exit thread_only);' .
+$out = run_perl(prog => 'use threads 1.86 qw(exit thread_only);' .
                         'threads->create(sub {' .
                         '   threads->set_thread_exit_only(0);' .
                         '   exit(99);' .
@@ -141,7 +141,7 @@
 like($out, '1 finished and unjoined', "set_thread_exit_only(0)");
 
 
-run_perl(prog => 'use threads 1.83;' .
+run_perl(prog => 'use threads 1.86;' .
                  'threads->create(sub {' .
                  '   $SIG{__WARN__} = sub { exit(99); };' .
                  '   die();' .


Property changes on: vendor/perl/dist/dist/threads/t/exit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/free.t
===================================================================
--- vendor/perl/dist/dist/threads/t/free.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/free.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/free.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/free2.t
===================================================================
--- vendor/perl/dist/dist/threads/t/free2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/free2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/free2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/join.t
===================================================================
--- vendor/perl/dist/dist/threads/t/join.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/join.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/join.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/kill.t
===================================================================
--- vendor/perl/dist/dist/threads/t/kill.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/kill.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/kill.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/kill2.t
===================================================================
--- vendor/perl/dist/dist/threads/t/kill2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/kill2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/kill2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/libc.t
===================================================================
--- vendor/perl/dist/dist/threads/t/libc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/libc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/libc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/list.t
===================================================================
--- vendor/perl/dist/dist/threads/t/list.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/list.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/list.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/no_threads.t
===================================================================
--- vendor/perl/dist/dist/threads/t/no_threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/no_threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/no_threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/problems.t
===================================================================
--- vendor/perl/dist/dist/threads/t/problems.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/problems.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/problems.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/stack.t
===================================================================
--- vendor/perl/dist/dist/threads/t/stack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/stack.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/stack.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/stack_env.t
===================================================================
--- vendor/perl/dist/dist/threads/t/stack_env.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/stack_env.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/stack_env.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/state.t
===================================================================
--- vendor/perl/dist/dist/threads/t/state.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/state.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/state.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/stress_cv.t
===================================================================
--- vendor/perl/dist/dist/threads/t/stress_cv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/stress_cv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/stress_cv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/stress_re.t
===================================================================
--- vendor/perl/dist/dist/threads/t/stress_re.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/stress_re.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/stress_re.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads/t/stress_string.t
===================================================================
--- vendor/perl/dist/dist/threads/t/stress_string.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/stress_string.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads/t/stress_string.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads/t/thread.t
===================================================================
--- vendor/perl/dist/dist/threads/t/thread.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/t/thread.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -161,7 +161,7 @@
 
 # bugid #24165
 
-run_perl(prog => 'use threads 1.83;' .
+run_perl(prog => 'use threads 1.86;' .
                  'sub a{threads->create(shift)} $t = a sub{};' .
                  '$t->tid; $t->join; $t->tid',
          nolib => ($ENV{PERL_CORE}) ? 0 : 1,


Property changes on: vendor/perl/dist/dist/threads/t/thread.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads/threads.xs
===================================================================
--- vendor/perl/dist/dist/threads/threads.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads/threads.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,6 +14,9 @@
 #  if defined(USE_NO_MINGW_SETJMP_TWO_ARGS) || (!defined(__BORLANDC__) && !defined(__MINGW64__))
 #    define setjmp(x) _setjmp(x)
 #  endif
+#  if defined(__MINGW64__)
+#    define setjmp(x) _setjmpex((x), mingw_getsp())
+#  endif
 #endif
 #ifdef HAS_PPPORT_H
 #  define NEED_PL_signals
@@ -982,7 +985,6 @@
         SV *thread_exit_only;
         char *str;
         int idx;
-        unsigned int num_args;
         dMY_POOL;
     CODE:
         if ((items >= 2) && SvROK(ST(1)) && SvTYPE(SvRV(ST(1)))==SVt_PVHV) {


Property changes on: vendor/perl/dist/dist/threads/threads.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/hints/linux.pl
===================================================================
--- vendor/perl/dist/dist/threads-shared/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm
===================================================================
--- vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 
 use Scalar::Util qw(reftype refaddr blessed);
 
-our $VERSION = '1.37';
+our $VERSION = '1.43';
 my $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -14,6 +14,9 @@
 # Declare that we have been loaded
 $threads::shared::threads_shared = 1;
 
+# Method of complaint about things we can't clone
+$threads::shared::clone_warn = undef;
+
 # Load the XS code, if applicable
 if ($threads::threads) {
     require XSLoader;
@@ -156,7 +159,12 @@
 
     } else {
         require Carp;
-        Carp::croak("Unsupported ref type: ", $ref_type);
+        if (! defined($threads::shared::clone_warn)) {
+            Carp::croak("Unsupported ref type: ", $ref_type);
+        } elsif ($threads::shared::clone_warn) {
+            Carp::carp("Unsupported ref type: ", $ref_type);
+        }
+        return undef;
     }
 
     # If input item is an object, then bless the copy into the same class
@@ -187,7 +195,7 @@
 
 =head1 VERSION
 
-This document describes threads::shared version 1.37
+This document describes threads::shared version 1.43
 
 =head1 SYNOPSIS
 
@@ -311,6 +319,19 @@
   $var = &share([]);   # Same as $var = shared_clone([]);
   $var = &share({});   # Same as $var = shared_clone({});
 
+Not all Perl data types can be cloned (e.g., globs, code refs).  By default,
+C<shared_clone> will L<croak|Carp> if it encounters such items.  To change
+this behaviour to a warning, then set the following:
+
+  $threads::shared::clone_warn = 1;
+
+In this case, C<undef> will be substituted for the item to be cloned.  If
+set to zero:
+
+  $threads::shared::clone_warn = 0;
+
+then the C<undef> substitution will be performed silently.
+
 =item is_shared VARIABLE
 
 C<is_shared> checks if the specified variable is shared or not.  If shared,
@@ -383,10 +404,10 @@
 The C<cond_wait> function takes a B<locked> variable as a parameter, unlocks
 the variable, and blocks until another thread does a C<cond_signal> or
 C<cond_broadcast> for that same locked variable.  The variable that
-C<cond_wait> blocked on is relocked after the C<cond_wait> is satisfied.  If
+C<cond_wait> blocked on is re-locked after the C<cond_wait> is satisfied.  If
 there are multiple threads C<cond_wait>ing on the same variable, all but one
 will re-block waiting to reacquire the lock on the variable. (So if you're only
-using C<cond_wait> for synchronisation, give up the lock as soon as possible).
+using C<cond_wait> for synchronization, give up the lock as soon as possible).
 The two actions of unlocking the variable and entering the blocked wait state
 are atomic, the two actions of exiting from the blocked wait state and
 re-locking the variable are not.
@@ -408,7 +429,8 @@
 =item cond_timedwait CONDVAR, ABS_TIMEOUT, LOCKVAR
 
 In its two-argument form, C<cond_timedwait> takes a B<locked> variable and an
-absolute timeout as parameters, unlocks the variable, and blocks until the
+absolute timeout in I<epoch> seconds (see L<time() in perlfunc|perlfunc/time>
+for more) as parameters, unlocks the variable, and blocks until the
 timeout is reached or another thread signals the variable.  A false value is
 returned if the timeout is reached, and a true value otherwise.  In either
 case, the variable is re-locked upon return.
@@ -527,6 +549,11 @@
 mentioned limitation.  See F<examples/class.pl> (in the CPAN distribution of
 this module) for how to create a class that supports object sharing.
 
+Destructors may not be called on objects if those objects still exist at
+global destruction time.  If the destructors must be called, make sure
+there are no circular references and that nothing is referencing the
+objects, before the program ends.
+
 Does not support C<splice> on arrays.  Does not support explicitly changing
 array lengths via $#array -- use C<push> and C<pop> instead.
 
@@ -538,12 +565,12 @@
 C<< share($arrayref->[idx]) >> without giving any error message.  But the
 C<< $hashref->{key} >> or C<< $arrayref->[idx] >> is B<not> shared, causing
 the error "lock can only be used on shared values" to occur when you attempt
-to C<< lock($hasref->{key}) >> or C<< lock($arrayref->[idx]) >> in another
+to C<< lock($hashref->{key}) >> or C<< lock($arrayref->[idx]) >> in another
 thread.
 
 Using L<refaddr()|Scalar::Util/"refaddr EXPR">) is unreliable for testing
 whether or not two shared references are equivalent (e.g., when testing for
-circular references).  Use L<is_shared()/"is_shared VARIABLE">, instead:
+circular references).  Use L<is_shared()|/"is_shared VARIABLE">, instead:
 
     use threads;
     use threads::shared;
@@ -580,6 +607,13 @@
         ...
     }
 
+This module supports dual-valued variables created using L<dualvar() from
+Scalar::Util|Scalar::Util/"dualvar NUM, STRING">).  However, while C<$!> acts
+like a dualvar, it is implemented as a tied SV.  To propagate its value, use
+the follow construct, if needed:
+
+    my $errno :shared = dualvar($!,$!);
+
 View existing bug reports at, and submit any new bugs, problems, patches, etc.
 to: L<http://rt.cpan.org/Public/Dist/Display.html?Name=threads-shared>
 
@@ -594,7 +628,7 @@
 L<http://www.perl.com/pub/a/2002/09/04/threads.html>
 
 Perl threads mailing list:
-L<http://lists.cpan.org/showlist.cgi?name=iThreads>
+L<http://lists.perl.org/list/ithreads.html>
 
 =head1 AUTHOR
 


Property changes on: vendor/perl/dist/dist/threads-shared/lib/threads/shared.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads-shared/shared.xs
===================================================================
--- vendor/perl/dist/dist/threads-shared/shared.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/shared.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -304,6 +304,24 @@
 #endif
 };
 
+
+/* Support for dual-valued variables */
+#ifdef SVf_IVisUV
+#  define DUALVAR_FLAGS(sv)                             \
+    ((SvPOK(sv))                                        \
+        ? ((SvNOK(sv) || SvNOKp(sv)) ? SVf_NOK          \
+        : ((SvIsUV(sv)) ? (SVf_IOK | SVf_IVisUV)        \
+        : ((SvIOK(sv) || SvIOKp(sv)) ? SVf_IOK : 0)))   \
+        : 0)
+#else
+#  define DUALVAR_FLAGS(sv)                             \
+    ((SvPOK(sv))                                        \
+        ? ((SvNOK(sv) || SvNOKp(sv)) ? SVf_NOK          \
+        : ((SvIOK(sv) || SvIOKp(sv)) ? SVf_IOK : 0))    \
+        : 0)
+#endif
+
+
 /*
  * Access to shared things is heavily based on MAGIC
  *      - in mg.h/mg.c/sv.c sense
@@ -326,11 +344,7 @@
 
 /* Get shared aggregate SV pointed to by threads::shared::tie magic object */
 
-STATIC SV *
-S_sharedsv_from_obj(pTHX_ SV *sv)
-{
-     return ((SvROK(sv)) ? INT2PTR(SV *, SvIV(SvRV(sv))) : NULL);
-}
+#define SHAREDSV_FROM_OBJ(sv) ((SvROK(sv)) ? INT2PTR(SV *, SvIV(SvRV(sv))) : NULL)
 
 
 /* Return the user_lock structure (if any) associated with a shared SV.
@@ -405,7 +419,7 @@
     }
     /* Just for tidyness of API also handle tie objects */
     if (SvROK(sv) && sv_derived_from(sv, "threads::shared::tie")) {
-        return (S_sharedsv_from_obj(aTHX_ sv));
+        return (SHAREDSV_FROM_OBJ(sv));
     }
     return (NULL);
 }
@@ -661,14 +675,13 @@
 }
 
 
-/* Given a shared RV, copy it's value to a private RV, also copying the
- * object status of the referent.
+/* Given a thingy referenced by a shared RV, copy it's value to a private
+ * RV, also copying the object status of the referent.
  * If the private side is already an appropriate RV->SV combination, keep
  * it if possible.
  */
 STATIC void
-S_get_RV(pTHX_ SV *sv, SV *ssv) {
-    SV *sobj = SvRV(ssv);
+S_get_RV(pTHX_ SV *sv, SV *sobj) {
     SV *obj;
     if (! (SvROK(sv) &&
            ((obj = SvRV(sv))) &&
@@ -683,7 +696,7 @@
             sv_setsv_nomg(sv, &PL_sv_undef);
             SvROK_on(sv);
         }
-        obj = S_sharedsv_new_private(aTHX_ SvRV(ssv));
+        obj = S_sharedsv_new_private(aTHX_ sobj);
         SvRV_set(sv, obj);
     }
 
@@ -702,7 +715,17 @@
     }
 }
 
+/* Every caller of S_get_RV needs this incantation (which cannot go inside
+   S_get_RV itself, as we do not want recursion beyond one level): */
+#define get_RV(sv, sobj)                     \
+        S_get_RV(aTHX_ sv, sobj);             \
+        /* Look ahead for refs of refs */      \
+        if (SvROK(sobj)) {                      \
+            SvROK_on(SvRV(sv));                  \
+            S_get_RV(aTHX_ SvRV(sv), SvRV(sobj)); \
+        }
 
+
 /* ------------ PERL_MAGIC_shared_scalar(n) functions -------------- */
 
 /* Get magic for PERL_MAGIC_shared_scalar(n) */
@@ -715,12 +738,7 @@
 
     ENTER_LOCK;
     if (SvROK(ssv)) {
-        S_get_RV(aTHX_ sv, ssv);
-        /* Look ahead for refs of refs */
-        if (SvROK(SvRV(ssv))) {
-            SvROK_on(SvRV(sv));
-            S_get_RV(aTHX_ SvRV(sv), SvRV(ssv));
-        }
+        get_RV(sv, SvRV(ssv));
     } else {
         sv_setsv_nomg(sv, ssv);
     }
@@ -739,6 +757,11 @@
     bool allowed = TRUE;
 
     assert(PL_sharedsv_lock.owner == aTHX);
+    if (!PL_dirty && SvROK(ssv) && SvREFCNT(SvRV(ssv)) == 1) {
+        SV *sv = sv_newmortal();
+        sv_upgrade(sv, SVt_RV);
+        get_RV(sv, SvRV(ssv));
+    }
     if (SvROK(sv)) {
         SV *obj = SvRV(sv);
         SV *sobj = Perl_sharedsv_find(aTHX_ obj);
@@ -809,7 +832,15 @@
 sharedsv_scalar_mg_free(pTHX_ SV *sv, MAGIC *mg)
 {
     PERL_UNUSED_ARG(sv);
+    ENTER_LOCK;
+    if (!PL_dirty
+     && SvROK((SV *)mg->mg_ptr) && SvREFCNT(SvRV((SV *)mg->mg_ptr)) == 1) {
+        SV *sv = sv_newmortal();
+        sv_upgrade(sv, SVt_RV);
+        get_RV(sv, SvRV((SV *)mg->mg_ptr));
+    }
     S_sharedsv_dec(aTHX_ (SV*)mg->mg_ptr);
+    LEAVE_LOCK;
     return (0);
 }
 
@@ -868,7 +899,7 @@
 sharedsv_elem_mg_FETCH(pTHX_ SV *sv, MAGIC *mg)
 {
     dTHXc;
-    SV *saggregate = S_sharedsv_from_obj(aTHX_ mg->mg_obj);
+    SV *saggregate = SHAREDSV_FROM_OBJ(mg->mg_obj);
     SV** svp = NULL;
 
     ENTER_LOCK;
@@ -898,12 +929,7 @@
     if (svp) {
         /* Exists in the array */
         if (SvROK(*svp)) {
-            S_get_RV(aTHX_ sv, *svp);
-            /* Look ahead for refs of refs */
-            if (SvROK(SvRV(*svp))) {
-                SvROK_on(SvRV(sv));
-                S_get_RV(aTHX_ SvRV(sv), SvRV(*svp));
-            }
+            get_RV(sv, SvRV(*svp));
         } else {
             /* $ary->[elem] or $ary->{elem} is a scalar */
             Perl_sharedsv_associate(aTHX_ sv, *svp);
@@ -923,8 +949,10 @@
 sharedsv_elem_mg_STORE(pTHX_ SV *sv, MAGIC *mg)
 {
     dTHXc;
-    SV *saggregate = S_sharedsv_from_obj(aTHX_ mg->mg_obj);
+    SV *saggregate = SHAREDSV_FROM_OBJ(mg->mg_obj);
     SV **svp;
+    U32 dualvar_flags = DUALVAR_FLAGS(sv);
+
     /* Theory - SV itself is magically shared - and we have ordered the
        magic such that by the time we get here it has been stored
        to its shared counterpart
@@ -953,6 +981,7 @@
     CALLER_CONTEXT;
     Perl_sharedsv_associate(aTHX_ sv, *svp);
     sharedsv_scalar_store(aTHX_ sv, *svp);
+    SvFLAGS(*svp) |= dualvar_flags;
     LEAVE_LOCK;
     return (0);
 }
@@ -964,7 +993,7 @@
 {
     dTHXc;
     MAGIC *shmg;
-    SV *saggregate = S_sharedsv_from_obj(aTHX_ mg->mg_obj);
+    SV *saggregate = SHAREDSV_FROM_OBJ(mg->mg_obj);
 
     /* Object may not exist during global destruction */
     if (! saggregate) {
@@ -1005,7 +1034,7 @@
 sharedsv_elem_mg_dup(pTHX_ MAGIC *mg, CLONE_PARAMS *param)
 {
     PERL_UNUSED_ARG(param);
-    SvREFCNT_inc_void(S_sharedsv_from_obj(aTHX_ mg->mg_obj));
+    SvREFCNT_inc_void(SHAREDSV_FROM_OBJ(mg->mg_obj));
     assert(mg->mg_flags & MGf_DUP);
     return (0);
 }
@@ -1039,7 +1068,7 @@
         val = av_len((AV*) ssv);
     } else {
         /* Not actually defined by tie API but ... */
-        val = HvKEYS((HV*) ssv);
+        val = HvUSEDKEYS((HV*) ssv);
     }
     SHARED_RELEASE;
     return (val);
@@ -1052,13 +1081,29 @@
 {
     dTHXc;
     SV *ssv = (SV *) mg->mg_ptr;
+    const bool isav = SvTYPE(ssv) == SVt_PVAV;
     PERL_UNUSED_ARG(sv);
     SHARED_EDIT;
-    if (SvTYPE(ssv) == SVt_PVAV) {
-        av_clear((AV*) ssv);
-    } else {
-        hv_clear((HV*) ssv);
+    if (!PL_dirty) {
+            SV **svp = isav ? AvARRAY((AV *)ssv) : NULL;
+            I32 items = isav ? AvFILLp((AV *)ssv) + 1 : 0;
+            HE *iter;
+            if (!isav) hv_iterinit((HV *)ssv);
+            while (isav ? items-- : !!(iter = hv_iternext((HV *)ssv))) {
+                SV *sv = isav ? *svp++ : HeVAL(iter);
+                if (!sv) continue;
+                if ( (SvOBJECT(sv) || (SvROK(sv) && (sv = SvRV(sv))))
+                  && SvREFCNT(sv) == 1 ) {
+                    SV *tmp = Perl_sv_newmortal(caller_perl);
+                    PERL_SET_CONTEXT((aTHX = caller_perl));
+                    sv_upgrade(tmp, SVt_RV);
+                    get_RV(tmp, sv);
+                    PERL_SET_CONTEXT((aTHX = PL_sharedsv_space));
+                }
+            }
     }
+    if (isav) av_clear((AV*) ssv);
+    else      hv_clear((HV*) ssv);
     SHARED_RELEASE;
     return (0);
 }
@@ -1156,7 +1201,7 @@
         sv = SvRV(sv);
     ssv = Perl_sharedsv_find(aTHX_ sv);
     if (!ssv)
-       croak("lock can only be used on shared values");
+        croak("lock can only be used on shared values");
     Perl_sharedsv_lock(aTHX_ ssv);
 }
 
@@ -1191,7 +1236,7 @@
     us = (PL_sharedsv_lock.owner == aTHX);
     MUTEX_UNLOCK(&PL_sharedsv_lock.mutex);
     if (us)
-	return; /* try again later */
+        return; /* try again later */
     prev_signal_hook(aTHX);
 }
 #endif
@@ -1215,8 +1260,8 @@
 #endif
 #ifdef PL_signalhook
     if (!prev_signal_hook) {
-	prev_signal_hook = PL_signalhook;
-	PL_signalhook = &S_shared_signal_hook;
+        prev_signal_hook = PL_signalhook;
+        PL_signalhook = &S_shared_signal_hook;
     }
 #endif
 }
@@ -1233,14 +1278,16 @@
 PUSH(SV *obj, ...)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
-        int i;
-        for (i = 1; i < items; i++) {
-            SV* tmp = newSVsv(ST(i));
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
+        int ii;
+        for (ii = 1; ii < items; ii++) {
+            SV* tmp = newSVsv(ST(ii));
             SV *stmp;
+            U32 dualvar_flags = DUALVAR_FLAGS(tmp);
             ENTER_LOCK;
             stmp = S_sharedsv_new_shared(aTHX_ tmp);
             sharedsv_scalar_store(aTHX_ tmp, stmp);
+            SvFLAGS(stmp) |= dualvar_flags;
             SHARED_CONTEXT;
             av_push((AV*) sobj, stmp);
             SvREFCNT_inc_void(stmp);
@@ -1253,18 +1300,20 @@
 UNSHIFT(SV *obj, ...)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
-        int i;
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
+        int ii;
         ENTER_LOCK;
         SHARED_CONTEXT;
         av_unshift((AV*)sobj, items - 1);
         CALLER_CONTEXT;
-        for (i = 1; i < items; i++) {
-            SV *tmp = newSVsv(ST(i));
+        for (ii = 1; ii < items; ii++) {
+            SV *tmp = newSVsv(ST(ii));
+            U32 dualvar_flags = DUALVAR_FLAGS(tmp);
             SV *stmp = S_sharedsv_new_shared(aTHX_ tmp);
             sharedsv_scalar_store(aTHX_ tmp, stmp);
             SHARED_CONTEXT;
-            av_store((AV*) sobj, i - 1, stmp);
+            SvFLAGS(stmp) |= dualvar_flags;
+            av_store((AV*) sobj, ii - 1, stmp);
             SvREFCNT_inc_void(stmp);
             CALLER_CONTEXT;
             SvREFCNT_dec(tmp);
@@ -1276,7 +1325,7 @@
 POP(SV *obj)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
         SV* ssv;
         ENTER_LOCK;
         SHARED_CONTEXT;
@@ -1293,7 +1342,7 @@
 SHIFT(SV *obj)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
         SV* ssv;
         ENTER_LOCK;
         SHARED_CONTEXT;
@@ -1310,7 +1359,7 @@
 EXTEND(SV *obj, IV count)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
         SHARED_EDIT;
         av_extend((AV*)sobj, count);
         SHARED_RELEASE;
@@ -1320,7 +1369,7 @@
 STORESIZE(SV *obj,IV count)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
         SHARED_EDIT;
         av_fill((AV*) sobj, count);
         SHARED_RELEASE;
@@ -1330,7 +1379,7 @@
 EXISTS(SV *obj, SV *index)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
         bool exists;
         if (SvTYPE(sobj) == SVt_PVAV) {
             SHARED_EDIT;
@@ -1355,7 +1404,7 @@
 FIRSTKEY(SV *obj)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
         char* key = NULL;
         I32 len = 0;
         HE* entry;
@@ -1380,7 +1429,7 @@
 NEXTKEY(SV *obj, SV *oldkey)
     CODE:
         dTHXc;
-        SV *sobj = S_sharedsv_from_obj(aTHX_ obj);
+        SV *sobj = SHAREDSV_FROM_OBJ(obj);
         char* key = NULL;
         I32 len = 0;
         HE* entry;
@@ -1614,7 +1663,7 @@
 
 
 void
-bless(SV* myref, ...);
+bless(SV* myref, ...)
     PROTOTYPE: $;$
     PREINIT:
         HV* stash;


Property changes on: vendor/perl/dist/dist/threads-shared/shared.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/0nothread.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/0nothread.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/0nothread.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/0nothread.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/av_refs.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/av_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/av_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/av_refs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/av_simple.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/av_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/av_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/av_simple.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/blessed.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/blessed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads-shared/t/clone.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/clone.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/clone.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,7 +27,7 @@
 
 BEGIN {
     $| = 1;
-    print("1..34\n");   ### Number of tests that will be run ###
+    print("1..40\n");   ### Number of tests that will be run ###
 };
 
 my $test = 1;
@@ -170,6 +170,29 @@
     ok($test++, ref($copy) eq 'Foo', 'Cloned object class');
 }
 
+{
+    my $foo = \*STDIN;
+    my $copy :shared;
+    eval {
+        $copy = shared_clone($foo);
+    };
+    ok($test++, $@ =~ /Unsupported/, 'Cannot clone GLOB - fatal');
+    ok($test++, ! defined($copy), 'Nothing cloned');
+
+    $threads::shared::clone_warn = 1;
+    my $warn;
+    $SIG{'__WARN__'} = sub { $warn = shift; };
+    $copy = shared_clone($foo);
+    ok($test++, $warn =~ /Unsupported/, 'Cannot clone GLOB - warning');
+    ok($test++, ! defined($copy), 'Nothing cloned');
+
+    $threads::shared::clone_warn = 0;
+    undef($warn);
+    $copy = shared_clone($foo);
+    ok($test++, ! defined($warn), 'Cannot clone GLOB - silent');
+    ok($test++, ! defined($copy), 'Nothing cloned');
+}
+
 exit(0);
 
 # EOF


Property changes on: vendor/perl/dist/dist/threads-shared/t/clone.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/cond.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/cond.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/cond.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/cond.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/disabled.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/disabled.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/disabled.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/disabled.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/hv_refs.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/hv_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/hv_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/hv_refs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/hv_simple.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/hv_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/hv_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/hv_simple.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/no_share.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/no_share.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/no_share.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/no_share.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/object.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/object.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/object.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/object.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/shared_attr.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/shared_attr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/shared_attr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/shared_attr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads-shared/t/stress.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/stress.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/stress.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,6 +11,14 @@
         print("1..0 # SKIP Broken under HP-UX 10.20\n");
         exit(0);
     }
+
+    # http://lists.alioth.debian.org/pipermail/perl-maintainers/2011-June/002285.html
+    # There _is_ TLS support on m68k, but this stress test is overwhelming
+    # for the hardware
+    if ($^O eq 'linux' && $Config{archname} =~ /^m68k/) {
+        print("1..0 # Skip: m68k doesn't have enough oomph for these stress tests\n");
+        exit(0);
+    }
 }
 
 use ExtUtils::testlib;
@@ -34,6 +42,47 @@
 {
     my $cnt = 50;
 
+    # Depending on hardware and compiler options, the time for a busy loop can
+    # by a factor of (at least) 40, so one size doesn't fit all.
+    # For a fixed iteration count, on a particularly slow machine the timeout
+    # can fire before all threads have had a realistic chance to complete, but
+    # dropping the iteration count will cause fast machines to finish each
+    # thread too quickly.
+    # Fastest machine I tested can loop 20,000,000 times a second, slowest
+    # 500,000
+
+    my $busycount;
+    {
+        my $tries = 1e4;
+        # Try to align to the start of a second:
+        my $want = time + 1;
+        while (time < $want && --$tries) {
+            my $sum;
+            for (0..1e4) {
+                ++$sum;
+            }
+        }
+
+        if ($tries) {
+            $tries = 1e4;
+            ++$want;
+
+            while (time < $want && --$tries) {
+                my $sum;
+                for (0..1e4) {
+                    ++$sum;
+                }
+            }
+
+            # This should be about 0.025s
+            $busycount = (1e4 - $tries) * 250;
+        } else {
+            # Fall back to the old default if everything fails
+            $busycount = 500000;
+        }
+        print "# Looping for $busycount iterations should take about 0.025s\n";
+    }
+
     my $TIMEOUT = 60;
 
     my $mutex = 1;
@@ -52,7 +101,7 @@
 
                             # Randomize the amount of work the thread does
                             my $sum;
-                            for (0..(500000+int(rand(500000)))) {
+                            for (0..($busycount+int(rand($busycount)))) {
                                 $sum++
                             }
 


Property changes on: vendor/perl/dist/dist/threads-shared/t/stress.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/sv_refs.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/sv_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/sv_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/sv_refs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/sv_simple.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/sv_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/sv_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/sv_simple.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/utf8.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/dist/threads-shared/t/wait.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/wait.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/wait.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/dist/threads-shared/t/wait.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dist/threads-shared/t/waithires.t
===================================================================
--- vendor/perl/dist/dist/threads-shared/t/waithires.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dist/threads-shared/t/waithires.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,6 +16,12 @@
     if (! eval 'use Time::HiRes "time"; 1') {
         Test::skip_all('Time::HiRes not available');
     }
+
+    if ($^O eq 'linux' && $Config{archname} =~ /^m68k/) {
+        print("1..0 # Skip: no TLS on m68k yet <http://bugs.debian.org/495826>\n");
+        exit(0);
+    }
+
 }
 
 use ExtUtils::testlib;
@@ -36,7 +42,7 @@
 
 BEGIN {
     $| = 1;
-    print("1..57\n");   ### Number of tests that will be run ###
+    print("1..63\n");   ### Number of tests that will be run ###
 };
 
 use threads;
@@ -72,20 +78,29 @@
 
 # run cond_timedwait, and repeat if it times out (give up after 10 secs)
 
-sub cond_timedwaitN {
+sub do_cond_timedwait {
     my $ok;
-    my $end = time() + 10;
-    while (1) {
-	if (@_ == 3) {
-	    $ok = cond_timedwait($_[0], $_[1], $_[2]);
-	}
-	else {
-	    $ok = cond_timedwait($_[0], $_[1]);
-	}
-	last if $ok;
-	last if time() > $end;
+    my ($t0, $t1);
+    if (@_ == 3) {
+        $t0 = time();
+        $ok = cond_timedwait($_[0], time()+$_[1], $_[2]);
+        $t1 = time();
     }
-    return $ok;
+    else {
+        $t0 = time();
+        $ok = cond_timedwait($_[0], time()+$_[1]);
+        $t1 = time();
+    }
+    return ($ok, $t1-$t0) if $ok;
+
+    # we timed out. Try again with no timeout to unblock the child
+    if (@_ == 3) {
+        cond_wait($_[0], $_[2]);
+    }
+    else {
+        cond_wait($_[0]);
+    }
+    return ($ok, $t1-$t0);
 }
 
 
@@ -94,6 +109,7 @@
 
     my $cond :shared;
     my $lock :shared;
+    my $ready :shared;
 
     ok($TEST++, 1, "Shared synchronization tests preparation");
 
@@ -103,19 +119,31 @@
     {
         my $testno = $_[0];
 
-        ok($testno++, 1, "$test_type: child before lock");
-        $test_type =~ /twain/ ? lock($lock) : lock($cond);
-        ok($testno++, 1, "$test_type: child obtained lock");
+        my ($t0, $t1);
+        {
+            lock($ready);
+            $ready = 1;
+            $t0 = time();
+            cond_signal($ready);
+        }
 
-        if ($test_type =~ 'twain') {
-            no warnings 'threads';   # lock var != cond var, so disable warnings
-            cond_signal($cond);
-        } else {
-            cond_signal($cond);
-        }
+        {
+            ok($testno++, 1, "$test_type: child before lock");
+            $test_type =~ /twain/ ? lock($lock) : lock($cond);
+            ok($testno++, 1, "$test_type: child obtained lock");
+
+            if ($test_type =~ 'twain') {
+                no warnings 'threads';   # lock var != cond var, so disable warnings
+                cond_signal($cond);
+            } else {
+                cond_signal($cond);
+            }
+            $t1 = time();
+        } # implicit unlock
+
         ok($testno++, 1, "$test_type: child signalled condition");
 
-        return($testno);
+        return($testno, $t1-$t0);
     }
 
     sub ctw_ok
@@ -126,23 +154,41 @@
         $test_type =~ /twain/ ? lock($lock) : lock($cond);
         ok($testnum++, 1, "$test_type: obtained initial lock");
 
-        my $thr = threads->create(\&signaller, $testnum);
+        lock($ready);
+        $ready = 0;
+
+        my ($thr) = threads->create(\&signaller, $testnum);
         my $ok = 0;
+        cond_wait($ready) while !$ready; # wait for child to start up
+
+        my $t;
         for ($test_type) {
-            $ok = cond_timedwaitN($cond, time() + $to), last        if /simple/;
-            $ok = cond_timedwaitN($cond, time() + $to, $cond), last if /repeat/;
-            $ok = cond_timedwaitN($cond, time() + $to, $lock), last if /twain/;
+            ($ok, $t) = do_cond_timedwait($cond, $to), last        if /simple/;
+            ($ok, $t) = do_cond_timedwait($cond, $to, $cond), last if /repeat/;
+            ($ok, $t) = do_cond_timedwait($cond, $to, $lock), last if /twain/;
             die "$test_type: unknown test\n";
         }
-        $testnum = $thr->join();
-        ok($testnum++, $ok, "$test_type: condition obtained");
-
+        my $child_time;
+        ($testnum, $child_time) = $thr->join();
+        if ($ok) {
+            ok($testnum++, $ok, "$test_type: condition obtained");
+            ok($testnum++, 1, "nothing to do here");
+        }
+        else {
+            # if cond_timewait timed out, make sure it was a reasonable
+            # timeout: i.e. that both the parent and child over the
+            # relevant interval exceeded the timeout
+            ok($testnum++, $child_time >= $to, "test_type: child exceeded time");
+            print "# child time = $child_time\n";
+            ok($testnum++, $t >= $to, "test_type: parent exceeded time");
+            print "# parent time = $t\n";
+        }
         return ($testnum);
     }
 
     foreach (@wait_how) {
         $test_type = "cond_timedwait [$_]";
-        my $thr = threads->create(\&ctw_ok, $TEST, 0.1);
+        my $thr = threads->create(\&ctw_ok, $TEST, 0.4);
         $TEST = $thr->join();
     }
 
@@ -195,6 +241,7 @@
 
     my $true_cond :shared;
     my $true_lock :shared;
+    my $ready :shared;
 
     my $cond = \$true_cond;
     my $lock = \$true_lock;
@@ -207,19 +254,31 @@
     {
         my $testno = $_[0];
 
-        ok($testno++, 1, "$test_type: child before lock");
-        $test_type =~ /twain/ ? lock($lock) : lock($cond);
-        ok($testno++, 1, "$test_type: child obtained lock");
+        my ($t0, $t1);
+        {
+            lock($ready);
+            $ready = 1;
+            $t0 = time();
+            cond_signal($ready);
+        }
 
-        if ($test_type =~ 'twain') {
-            no warnings 'threads';   # lock var != cond var, so disable warnings
-            cond_signal($cond);
-        } else {
-            cond_signal($cond);
-        }
+        {
+            ok($testno++, 1, "$test_type: child before lock");
+            $test_type =~ /twain/ ? lock($lock) : lock($cond);
+            ok($testno++, 1, "$test_type: child obtained lock");
+
+            if ($test_type =~ 'twain') {
+                no warnings 'threads';   # lock var != cond var, so disable warnings
+                cond_signal($cond);
+            } else {
+                cond_signal($cond);
+            }
+            $t1 = time();
+        } # implicit unlock
+
         ok($testno++, 1, "$test_type: child signalled condition");
 
-        return($testno);
+        return($testno, $t1-$t0);
     }
 
     sub ctw_ok2
@@ -230,23 +289,41 @@
         $test_type =~ /twain/ ? lock($lock) : lock($cond);
         ok($testnum++, 1, "$test_type: obtained initial lock");
 
-        my $thr = threads->create(\&signaller2, $testnum);
+        lock($ready);
+        $ready = 0;
+
+        my ($thr) = threads->create(\&signaller2, $testnum);
         my $ok = 0;
+        cond_wait($ready) while !$ready; # wait for child to start up
+
+        my $t;
         for ($test_type) {
-            $ok = cond_timedwaitN($cond, time() + $to), last        if /simple/;
-            $ok = cond_timedwaitN($cond, time() + $to, $cond), last if /repeat/;
-            $ok = cond_timedwaitN($cond, time() + $to, $lock), last if /twain/;
+            ($ok, $t) = do_cond_timedwait($cond, $to), last        if /simple/;
+            ($ok, $t) = do_cond_timedwait($cond, $to, $cond), last if /repeat/;
+            ($ok, $t) = do_cond_timedwait($cond, $to, $lock), last if /twain/;
             die "$test_type: unknown test\n";
         }
-        $testnum = $thr->join();
-        ok($testnum++, $ok, "$test_type: condition obtained");
-
+        my $child_time;
+        ($testnum, $child_time) = $thr->join();
+        if ($ok) {
+            ok($testnum++, $ok, "$test_type: condition obtained");
+            ok($testnum++, 1, "nothing to do here");
+        }
+        else {
+            # if cond_timewait timed out, make sure it was a reasonable
+            # timeout: i.e. that both the parent and child over the
+            # relevant interval exceeded the timeout
+            ok($testnum++, $child_time >= $to, "test_type: child exceeded time");
+            print "# child time = $child_time\n";
+            ok($testnum++, $t >= $to, "test_type: parent exceeded time");
+            print "# parent time = $t\n";
+        }
         return ($testnum);
     }
 
     foreach (@wait_how) {
         $test_type = "cond_timedwait [$_]";
-        my $thr = threads->create(\&ctw_ok2, $TEST, 0.05);
+        my $thr = threads->create(\&ctw_ok2, $TEST, 0.4);
         $TEST = $thr->join();
     }
 


Property changes on: vendor/perl/dist/dist/threads-shared/t/waithires.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/djgpp/config.over
===================================================================
--- vendor/perl/dist/djgpp/config.over	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/djgpp/config.over	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,7 +28,6 @@
      -e 's=[tT]hread[/a-zA-Z]*==g'\
      -e 's/byteload/ByteLoader/'\
      -e 's=devel/peek=Devel/Peek='\
-     -e 's=devel/dprof=Devel/DProf='\
      -e 's=sys/sys=Sys/Sys='\
      -e 's=sys/hos=Sys/Hos='\
      -e 's=file/=='\


Property changes on: vendor/perl/dist/djgpp/config.over
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/djgpp/configure.bat
===================================================================
--- vendor/perl/dist/djgpp/configure.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/djgpp/configure.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/djgpp/configure.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/djgpp/djgpp.c
===================================================================
--- vendor/perl/dist/djgpp/djgpp.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/djgpp/djgpp.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/djgpp/djgpp.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/djgpp/djgpp.h
===================================================================
--- vendor/perl/dist/djgpp/djgpp.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/djgpp/djgpp.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/djgpp/djgpp.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/djgpp/djgppsed.sh
===================================================================
--- vendor/perl/dist/djgpp/djgppsed.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/djgpp/djgppsed.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/djgpp/djgppsed.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/djgpp/fixpmain
===================================================================
--- vendor/perl/dist/djgpp/fixpmain	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/djgpp/fixpmain	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/djgpp/fixpmain
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/doio.c
===================================================================
--- vendor/perl/dist/doio.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/doio.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -61,12 +61,12 @@
 #include <signal.h>
 
 bool
-Perl_do_openn(pTHX_ GV *gv, register const char *oname, I32 len, int as_raw,
+Perl_do_openn(pTHX_ GV *gv, const char *oname, I32 len, int as_raw,
 	      int rawmode, int rawperm, PerlIO *supplied_fp, SV **svp,
 	      I32 num_svs)
 {
     dVAR;
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
     PerlIO *saveifp = NULL;
     PerlIO *saveofp = NULL;
     int savefd = -1;
@@ -126,8 +126,9 @@
 	if (result == EOF && fd > PL_maxsysfd) {
 	    /* Why is this not Perl_warn*() call ? */
 	    PerlIO_printf(Perl_error_log,
-			  "Warning: unable to close filehandle %s properly.\n",
-			  GvENAME(gv));
+		"Warning: unable to close filehandle %"HEKf" properly.\n",
+		 HEKfARG(GvENAME_HEK(gv))
+	    );
 	}
 	IoOFP(io) = IoIFP(io) = NULL;
     }
@@ -148,7 +149,8 @@
 	int ismodifying;
 
 	if (num_svs != 0) {
-	     Perl_croak(aTHX_ "panic: sysopen with multiple args");
+	    Perl_croak(aTHX_ "panic: sysopen with multiple args, num_svs=%ld",
+		       (long) num_svs);
 	}
 	/* It's not always
 
@@ -318,7 +320,10 @@
 		    }
 		    while (isSPACE(*type))
 			type++;
-		    if (num_svs && (SvIOK(*svp) || (SvPOK(*svp) && looks_like_number(*svp)))) {
+		    if (num_svs && (
+			     SvIOK(*svp)
+			  || (SvPOKp(*svp) && looks_like_number(*svp))
+		       )) {
 			fd = SvUV(*svp);
 			num_svs = 0;
 		    }
@@ -541,14 +546,16 @@
 	if ((IoTYPE(io) == IoTYPE_RDONLY) &&
 	    (fp == PerlIO_stdout() || fp == PerlIO_stderr())) {
 		Perl_warner(aTHX_ packWARN(WARN_IO),
-			    "Filehandle STD%s reopened as %s only for input",
+			    "Filehandle STD%s reopened as %"HEKf
+			    " only for input",
 			    ((fp == PerlIO_stdout()) ? "OUT" : "ERR"),
-			    GvENAME(gv));
+			    HEKfARG(GvENAME_HEK(gv)));
 	}
 	else if ((IoTYPE(io) == IoTYPE_WRONLY) && fp == PerlIO_stdin()) {
 		Perl_warner(aTHX_ packWARN(WARN_IO),
-			    "Filehandle STDIN reopened as %s only for output",
-			    GvENAME(gv));
+		    "Filehandle STDIN reopened as %"HEKf" only for output",
+		     HEKfARG(GvENAME_HEK(gv))
+		);
 	}
     }
 
@@ -616,9 +623,9 @@
                 char newname[FILENAME_MAX+1];
                 if (PerlIO_getname(fp, newname)) {
                     if (fd == PerlIO_fileno(PerlIO_stdout()))
-                        Perl_vmssetuserlnm(aTHX_ "SYS$OUTPUT", newname);
+                        vmssetuserlnm("SYS$OUTPUT", newname);
                     if (fd == PerlIO_fileno(PerlIO_stderr()))
-                        Perl_vmssetuserlnm(aTHX_ "SYS$ERROR",  newname);
+                        vmssetuserlnm("SYS$ERROR", newname);
                 }
 	    }
 #endif
@@ -699,10 +706,10 @@
 }
 
 PerlIO *
-Perl_nextargv(pTHX_ register GV *gv)
+Perl_nextargv(pTHX_ GV *gv)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 #ifndef FLEXFILENAMES
     int filedev;
     int fileino;
@@ -740,6 +747,7 @@
 	STRLEN oldlen;
 	sv = av_shift(GvAV(gv));
 	SAVEFREESV(sv);
+	SvTAINTED_off(GvSVn(gv)); /* previous tainting irrelevant */
 	sv_setsv(GvSVn(gv),sv);
 	SvSETMAGIC(GvSV(gv));
 	PL_oldname = SvPVx(GvSV(gv), oldlen);
@@ -798,7 +806,7 @@
 		    }
 #endif
 #ifdef HAS_RENAME
-#if !defined(DOSISH) && !defined(__CYGWIN__) && !defined(EPOC)
+#if !defined(DOSISH) && !defined(__CYGWIN__)
 		    if (PerlLIO_rename(PL_oldname,SvPVX_const(sv)) < 0) {
 			Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE),
 					 "Can't rename %s to %"SVf": %s, skipping file",
@@ -861,10 +869,7 @@
 #ifdef HAS_FCHMOD
 		(void)fchmod(PL_lastfd,PL_filemode);
 #else
-#  if !(defined(WIN32) && defined(__BORLANDC__))
-		/* Borland runtime creates a readonly file! */
 		(void)PerlLIO_chmod(PL_oldname,PL_filemode);
-#  endif
 #endif
 		if (fileuid != PL_statbuf.st_uid || filegid != PL_statbuf.st_gid) {
 #ifdef HAS_FCHOWN
@@ -903,7 +908,7 @@
 	{
 	    GV * const oldout = MUTABLE_GV(av_pop(PL_argvout_stack));
 	    setdefout(oldout);
-	    SvREFCNT_dec(oldout);
+	    SvREFCNT_dec_NN(oldout);
 	    return NULL;
 	}
 	setdefout(gv_fetchpvs("STDOUT", GV_ADD|GV_NOTQUAL, SVt_PVIO));
@@ -989,7 +994,7 @@
 Perl_do_eof(pTHX_ GV *gv)
 {
     dVAR;
-    register IO * const io = GvIO(gv);
+    IO * const io = GvIO(gv);
 
     PERL_ARGS_ASSERT_DO_EOF;
 
@@ -1035,7 +1040,7 @@
 {
     dVAR;
     IO *const io = GvIO(gv);
-    register PerlIO *fp;
+    PerlIO *fp;
 
     PERL_ARGS_ASSERT_DO_TELL;
 
@@ -1056,7 +1061,7 @@
 {
     dVAR;
     IO *const io = GvIO(gv);
-    register PerlIO *fp;
+    PerlIO *fp;
 
     if (io && (fp = IoIFP(io))) {
 #ifdef ULTRIX_STDIO_BOTCH
@@ -1075,7 +1080,7 @@
 {
     dVAR;
     IO *const io = GvIO(gv);
-    register PerlIO *fp;
+    PerlIO *fp;
 
     PERL_ARGS_ASSERT_DO_SYSSEEK;
 
@@ -1194,7 +1199,7 @@
 #endif /* !HAS_TRUNCATE && !HAS_CHSIZE */
 
 bool
-Perl_do_print(pTHX_ register SV *sv, PerlIO *fp)
+Perl_do_print(pTHX_ SV *sv, PerlIO *fp)
 {
     dVAR;
 
@@ -1218,26 +1223,31 @@
 	U8 *tmpbuf = NULL;
 	bool happy = TRUE;
 
-	if (PerlIO_isutf8(fp)) {
-	    if (!SvUTF8(sv)) {
+	if (PerlIO_isutf8(fp)) { /* If the stream is utf8 ... */
+	    if (!SvUTF8(sv)) {	/* Convert to utf8 if necessary */
 		/* We don't modify the original scalar.  */
 		tmpbuf = bytes_to_utf8((const U8*) tmps, &len);
 		tmps = (char *) tmpbuf;
 	    }
-	    else if (ckWARN_d(WARN_UTF8)) {
+	    else if (ckWARN4_d(WARN_UTF8, WARN_SURROGATE, WARN_NON_UNICODE, WARN_NONCHAR)) {
 		(void) check_utf8_print((const U8*) tmps, len);
 	    }
-	}
-	else if (DO_UTF8(sv)) {
+	} /* else stream isn't utf8 */
+	else if (DO_UTF8(sv)) { /* But if is utf8 internally, attempt to
+				   convert to bytes */
 	    STRLEN tmplen = len;
 	    bool utf8 = TRUE;
 	    U8 * const result = bytes_from_utf8((const U8*) tmps, &tmplen, &utf8);
 	    if (!utf8) {
+
+		/* Here, succeeded in downgrading from utf8.  Set up to below
+		 * output the converted value */
 		tmpbuf = result;
 		tmps = (char *) tmpbuf;
 		len = tmplen;
 	    }
-	    else {
+	    else {  /* Non-utf8 output stream, but string only representable in
+		       utf8 */
 		assert((char *)result == tmps);
 		Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8),
 				 "Wide character in %s",
@@ -1270,7 +1280,6 @@
     GV* gv;
 
     if (PL_op->op_flags & OPf_REF) {
-	EXTEND(SP,1);
 	gv = cGVOP_gv;
       do_fstat:
         if (gv == PL_defgv)
@@ -1278,7 +1287,7 @@
 	io = GvIO(gv);
         do_fstat_have_io:
         PL_laststype = OP_STAT;
-        PL_statgv = gv;
+        PL_statgv = gv ? gv : (GV *)io;
         sv_setpvs(PL_statname, "");
         if(io) {
 	    if (IoIFP(io)) {
@@ -1285,31 +1294,22 @@
 	        return (PL_laststatval = PerlLIO_fstat(PerlIO_fileno(IoIFP(io)), &PL_statcache));
             } else if (IoDIRP(io)) {
                 return (PL_laststatval = PerlLIO_fstat(my_dirfd(IoDIRP(io)), &PL_statcache));
-            } else {
-		report_evil_fh(gv);
-                return (PL_laststatval = -1);
             }
-	} else {
-	    report_evil_fh(gv);
-            return (PL_laststatval = -1);
         }
+	PL_laststatval = -1;
+	report_evil_fh(gv);
+	return -1;
     }
-    else if (PL_op->op_private & OPpFT_STACKED) {
+    else if ((PL_op->op_private & (OPpFT_STACKED|OPpFT_AFTER_t))
+	     == OPpFT_STACKED)
 	return PL_laststatval;
-    }
     else {
-	SV* const sv = POPs;
+	SV* const sv = TOPs;
 	const char *s;
 	STRLEN len;
-	PUTBACK;
-	if (isGV_with_GP(sv)) {
-	    gv = MUTABLE_GV(sv);
+	if ((gv = MAYBE_DEREF_GV_flags(sv,flags))) {
 	    goto do_fstat;
 	}
-	else if (SvROK(sv) && isGV_with_GP(SvRV(sv))) {
-	    gv = MUTABLE_GV(SvRV(sv));
-	    goto do_fstat;
-	}
         else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVIO) {
             io = MUTABLE_IO(SvRV(sv));
 	    gv = NULL;
@@ -1333,35 +1333,36 @@
 Perl_my_lstat_flags(pTHX_ const U32 flags)
 {
     dVAR;
-    static const char no_prev_lstat[] = "The stat preceding -l _ wasn't an lstat";
+    static const char* const no_prev_lstat = "The stat preceding -l _ wasn't an lstat";
     dSP;
-    SV *sv;
     const char *file;
+    SV* const sv = TOPs;
     if (PL_op->op_flags & OPf_REF) {
-	EXTEND(SP,1);
 	if (cGVOP_gv == PL_defgv) {
 	    if (PL_laststype != OP_LSTAT)
-		Perl_croak(aTHX_ no_prev_lstat);
+		Perl_croak(aTHX_ "%s", no_prev_lstat);
 	    return PL_laststatval;
 	}
+	PL_laststatval = -1;
 	if (ckWARN(WARN_IO)) {
-	    Perl_warner(aTHX_ packWARN(WARN_IO), "Use of -l on filehandle %s",
-		    GvENAME(cGVOP_gv));
-	    return (PL_laststatval = -1);
+	    Perl_warner(aTHX_ packWARN(WARN_IO),
+		 	     "Use of -l on filehandle %"HEKf,
+			      HEKfARG(GvENAME_HEK(cGVOP_gv)));
 	}
+	return -1;
     }
-    else if (PL_laststype != OP_LSTAT
-	    && (PL_op->op_private & OPpFT_STACKED) && ckWARN(WARN_IO))
-	Perl_croak(aTHX_ no_prev_lstat);
+    if ((PL_op->op_private & (OPpFT_STACKED|OPpFT_AFTER_t))
+	     == OPpFT_STACKED) {
+      if (PL_laststype != OP_LSTAT)
+	Perl_croak(aTHX_ "%s", no_prev_lstat);
+      return PL_laststatval;
+    }
 
     PL_laststype = OP_LSTAT;
     PL_statgv = NULL;
-    sv = POPs;
-    PUTBACK;
     if (SvROK(sv) && isGV_with_GP(SvRV(sv)) && ckWARN(WARN_IO)) {
-	Perl_warner(aTHX_ packWARN(WARN_IO), "Use of -l on filehandle %s",
-		GvENAME((const GV *)SvRV(sv)));
-	return (PL_laststatval = -1);
+        Perl_warner(aTHX_ packWARN(WARN_IO), "Use of -l on filehandle %s",
+           GvENAME((const GV *)SvRV(sv)));
     }
     file = SvPV_flags_const_nolen(sv, flags);
     sv_setpv(PL_statname,file);
@@ -1386,7 +1387,7 @@
 }
 
 bool
-Perl_do_aexec5(pTHX_ SV *really, register SV **mark, register SV **sp,
+Perl_do_aexec5(pTHX_ SV *really, SV **mark, SV **sp,
 	       int fd, int do_report)
 {
     dVAR;
@@ -1441,8 +1442,8 @@
 Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report)
 {
     dVAR;
-    register const char **a;
-    register char *s;
+    const char **a;
+    char *s;
     char *buf;
     char *cmd;
     /* Make a copy so we can change it */
@@ -1503,7 +1504,7 @@
 	goto doshell;
 
     s = cmd;
-    while (isALNUM(*s))
+    while (isWORDCHAR(*s))
 	s++;	/* catch VAR=val gizmo */
     if (*s == '=')
 	goto doshell;
@@ -1570,18 +1571,26 @@
 
 #endif /* OS2 || WIN32 */
 
+#ifdef VMS
+#include <starlet.h> /* for sys$delprc */
+#endif
+
 I32
-Perl_apply(pTHX_ I32 type, register SV **mark, register SV **sp)
+Perl_apply(pTHX_ I32 type, SV **mark, SV **sp)
 {
     dVAR;
-    register I32 val;
-    register I32 tot = 0;
+    I32 val;
+    I32 tot = 0;
     const char *const what = PL_op_name[type];
     const char *s;
+    STRLEN len;
     SV ** const oldmark = mark;
+    bool killgp = FALSE;
 
     PERL_ARGS_ASSERT_APPLY;
 
+    PERL_UNUSED_VAR(what); /* may not be used depending on compile options */
+
     /* Doing this ahead of the switch statement preserves the old behaviour,
        where attempting to use kill as a taint test test would fail on
        platforms where kill was not defined.  */
@@ -1597,11 +1606,11 @@
 
 #define APPLY_TAINT_PROPER() \
     STMT_START {							\
-	if (PL_tainted) { TAINT_PROPER(what); }				\
+	if (TAINT_get) { TAINT_PROPER(what); }				\
     } STMT_END
 
     /* This is a first heuristic; it doesn't catch tainting magic. */
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	while (++mark <= sp) {
 	    if (SvTAINTED(*mark)) {
 		TAINT;
@@ -1619,9 +1628,7 @@
 	    tot = sp - mark;
 	    while (++mark <= sp) {
                 GV* gv;
-                if (isGV_with_GP(*mark)) {
-                    gv = MUTABLE_GV(*mark);
-		do_fchmod:
+                if ((gv = MAYBE_DEREF_GV(*mark))) {
 		    if (GvIO(gv) && IoIFP(GvIOp(gv))) {
 #ifdef HAS_FCHMOD
 			APPLY_TAINT_PROPER();
@@ -1635,12 +1642,8 @@
 			tot--;
 		    }
 		}
-		else if (SvROK(*mark) && isGV_with_GP(SvRV(*mark))) {
-		    gv = MUTABLE_GV(SvRV(*mark));
-		    goto do_fchmod;
-		}
 		else {
-		    const char *name = SvPV_nolen_const(*mark);
+		    const char *name = SvPV_nomg_const_nolen(*mark);
 		    APPLY_TAINT_PROPER();
 		    if (PerlLIO_chmod(name, val))
 			tot--;
@@ -1652,7 +1655,7 @@
     case OP_CHOWN:
 	APPLY_TAINT_PROPER();
 	if (sp - mark > 2) {
-            register I32 val2;
+            I32 val2;
 	    val = SvIVx(*++mark);
 	    val2 = SvIVx(*++mark);
 	    APPLY_TAINT_PROPER();
@@ -1659,9 +1662,7 @@
 	    tot = sp - mark;
 	    while (++mark <= sp) {
                 GV* gv;
-                if (isGV_with_GP(*mark)) {
-                    gv = MUTABLE_GV(*mark);
-		do_fchown:
+		if ((gv = MAYBE_DEREF_GV(*mark))) {
 		    if (GvIO(gv) && IoIFP(GvIOp(gv))) {
 #ifdef HAS_FCHOWN
 			APPLY_TAINT_PROPER();
@@ -1675,12 +1676,8 @@
 			tot--;
 		    }
 		}
-		else if (SvROK(*mark) && isGV_with_GP(SvRV(*mark))) {
-		    gv = MUTABLE_GV(SvRV(*mark));
-		    goto do_fchown;
-		}
 		else {
-		    const char *name = SvPV_nolen_const(*mark);
+		    const char *name = SvPV_nomg_const_nolen(*mark);
 		    APPLY_TAINT_PROPER();
 		    if (PerlLIO_chown(name, val, val2))
 			tot--;
@@ -1700,22 +1697,35 @@
 	APPLY_TAINT_PROPER();
 	if (mark == sp)
 	    break;
-	s = SvPVx_nolen_const(*++mark);
+	s = SvPVx_const(*++mark, len);
+	if (*s == '-' && isALPHA(s[1]))
+	{
+	    s++;
+	    len--;
+            killgp = TRUE;
+	}
 	if (isALPHA(*s)) {
-	    if (*s == 'S' && s[1] == 'I' && s[2] == 'G')
+	    if (*s == 'S' && s[1] == 'I' && s[2] == 'G') {
 		s += 3;
-	    if ((val = whichsig(s)) < 0)
-		Perl_croak(aTHX_ "Unrecognized signal name \"%s\"",s);
+                len -= 3;
+            }
+           if ((val = whichsig_pvn(s, len)) < 0)
+               Perl_croak(aTHX_ "Unrecognized signal name \"%"SVf"\"", SVfARG(*mark));
 	}
 	else
+	{
 	    val = SvIV(*mark);
+	    if (val < 0)
+	    {
+		killgp = TRUE;
+                val = -val;
+	    }
+	}
 	APPLY_TAINT_PROPER();
 	tot = sp - mark;
 #ifdef VMS
 	/* kill() doesn't do process groups (job trees?) under VMS */
-	if (val < 0) val = -val;
 	if (val == SIGKILL) {
-#	    include <starlet.h>
 	    /* Use native sys$delprc() to insure that target process is
 	     * deleted; supervisor-mode images don't pay attention to
 	     * CRTL's emulation of Unix-style signals and kill()
@@ -1722,7 +1732,7 @@
 	     */
 	    while (++mark <= sp) {
 		I32 proc;
-		register unsigned long int __vmssts;
+		unsigned long int __vmssts;
 		SvGETMAGIC(*mark);
 		if (!(SvIOK(*mark) || SvNOK(*mark) || looks_like_number(*mark)))
 		    Perl_croak(aTHX_ "Can't kill a non-numeric process ID");
@@ -1747,35 +1757,20 @@
 	    break;
 	}
 #endif
-	if (val < 0) {
-	    val = -val;
-	    while (++mark <= sp) {
-		I32 proc;
-		SvGETMAGIC(*mark);
-		if (!(SvIOK(*mark) || SvNOK(*mark) || looks_like_number(*mark)))
-		    Perl_croak(aTHX_ "Can't kill a non-numeric process ID");
-		proc = SvIV_nomg(*mark);
-		APPLY_TAINT_PROPER();
-#ifdef HAS_KILLPG
-		if (PerlProc_killpg(proc,val))	/* BSD */
-#else
-		if (PerlProc_kill(-proc,val))	/* SYSV */
-#endif
-		    tot--;
+	while (++mark <= sp) {
+	    Pid_t proc;
+	    SvGETMAGIC(*mark);
+	    if (!(SvNIOK(*mark) || looks_like_number(*mark)))
+		Perl_croak(aTHX_ "Can't kill a non-numeric process ID");
+	    proc = SvIV_nomg(*mark);
+	    if (killgp)
+	    {
+                proc = -proc;
 	    }
+	    APPLY_TAINT_PROPER();
+	    if (PerlProc_kill(proc, val))
+		tot--;
 	}
-	else {
-	    while (++mark <= sp) {
-		I32 proc;
-		SvGETMAGIC(*mark);
-		if (!(SvIOK(*mark) || SvNOK(*mark) || looks_like_number(*mark)))
-		    Perl_croak(aTHX_ "Can't kill a non-numeric process ID");
-		proc = SvIV_nomg(*mark);
-		APPLY_TAINT_PROPER();
-		if (PerlProc_kill(proc, val))
-		    tot--;
-	    }
-	}
 	PERL_ASYNC_CHECK();
 	break;
 #endif
@@ -1785,7 +1780,7 @@
 	while (++mark <= sp) {
 	    s = SvPV_nolen_const(*mark);
 	    APPLY_TAINT_PROPER();
-	    if (PL_euid || PL_unsafe) {
+	    if (PerlProc_geteuid() || PL_unsafe) {
 		if (UNLINK(s))
 		    tot--;
 	    }
@@ -1845,9 +1840,7 @@
 	    tot = sp - mark;
 	    while (++mark <= sp) {
                 GV* gv;
-                if (isGV_with_GP(*mark)) {
-                    gv = MUTABLE_GV(*mark);
-		do_futimes:
+                if ((gv = MAYBE_DEREF_GV(*mark))) {
 		    if (GvIO(gv) && IoIFP(GvIOp(gv))) {
 #ifdef HAS_FUTIMES
 			APPLY_TAINT_PROPER();
@@ -1862,12 +1855,8 @@
 			tot--;
 		    }
 		}
-		else if (SvROK(*mark) && isGV_with_GP(SvRV(*mark))) {
-		    gv = MUTABLE_GV(SvRV(*mark));
-		    goto do_futimes;
-		}
 		else {
-		    const char * const name = SvPV_nolen_const(*mark);
+		    const char * const name = SvPV_nomg_const_nolen(*mark);
 		    APPLY_TAINT_PROPER();
 #ifdef HAS_FUTIMES
 		    if (utimes(name, (struct timeval *)utbufp))
@@ -1892,7 +1881,7 @@
 /* Do the permissions allow some operation?  Assumes statcache already set. */
 #ifndef VMS /* VMS' cando is in vms.c */
 bool
-Perl_cando(pTHX_ Mode_t mode, bool effective, register const Stat_t *statbufp)
+Perl_cando(pTHX_ Mode_t mode, bool effective, const Stat_t *statbufp)
 /* effective is a flag, true for EUID, or for checking if the effective gid
  *  is in the list of groups returned from getgroups().
  */
@@ -1929,7 +1918,7 @@
 # ifdef __CYGWIN__
     if (ingroup(544,effective)) {     /* member of Administrators */
 # else
-    if ((effective ? PL_euid : PL_uid) == 0) {	/* root is special */
+    if ((effective ? PerlProc_geteuid() : PerlProc_getuid()) == 0) {	/* root is special */
 # endif
 	if (mode == S_IXUSR) {
 	    if (statbufp->st_mode & 0111 || S_ISDIR(statbufp->st_mode))
@@ -1939,7 +1928,7 @@
 	    return TRUE;		/* root reads and writes anything */
 	return FALSE;
     }
-    if (statbufp->st_uid == (effective ? PL_euid : PL_uid) ) {
+    if (statbufp->st_uid == (effective ? PerlProc_geteuid() : PerlProc_getuid()) ) {
 	if (statbufp->st_mode & mode)
 	    return TRUE;	/* ok as "user" */
     }
@@ -1958,7 +1947,7 @@
 S_ingroup(pTHX_ Gid_t testgid, bool effective)
 {
     dVAR;
-    if (testgid == (effective ? PL_egid : PL_gid))
+    if (testgid == (effective ? PerlProc_getegid() : PerlProc_getgid()))
 	return TRUE;
 #ifdef HAS_GETGROUPS
     {
@@ -2173,6 +2162,7 @@
     PERL_UNUSED_ARG(mark);
     /* diag_listed_as: msg%s not implemented */
     Perl_croak(aTHX_ "msgsnd not implemented");
+    return -1;
 #endif
 }
 
@@ -2215,6 +2205,7 @@
     PERL_UNUSED_ARG(mark);
     /* diag_listed_as: msg%s not implemented */
     Perl_croak(aTHX_ "msgrcv not implemented");
+    return -1;
 #endif
 }
 
@@ -2302,9 +2293,11 @@
     if (optype == OP_SHMREAD) {
 	char *mbuf;
 	/* suppress warning when reading into undef var (tchrist 3/Mar/00) */
+	SvGETMAGIC(mstr);
+	SvUPGRADE(mstr, SVt_PV);
 	if (! SvOK(mstr))
 	    sv_setpvs(mstr, "");
-	SvPV_force_nolen(mstr);
+	SvPOK_only(mstr);
 	mbuf = SvGROW(mstr, (STRLEN)msize+1);
 
 	Copy(shm + mpos, mbuf, msize, char);
@@ -2329,6 +2322,7 @@
 #else
     /* diag_listed_as: shm%s not implemented */
     Perl_croak(aTHX_ "shm I/O not implemented");
+    return -1;
 #endif
 }
 
@@ -2400,6 +2394,16 @@
 #endif
 #endif /* !CSH */
 #endif /* !DOSISH */
+    {
+	GV * const envgv = gv_fetchpvs("ENV", 0, SVt_PVHV);
+	SV ** const home = hv_fetchs(GvHV(envgv), "HOME", 0);
+	SV ** const path = hv_fetchs(GvHV(envgv), "PATH", 0);
+	if (home && *home) SvGETMAGIC(*home);
+	if (path && *path) SvGETMAGIC(*path);
+	save_hash(gv_fetchpvs("ENV", 0, SVt_PVHV));
+	if (home && *home) SvSETMAGIC(*home);
+	if (path && *path) SvSETMAGIC(*path);
+    }
     (void)do_open(PL_last_in_gv, (char*)SvPVX_const(tmpcmd), SvCUR(tmpcmd),
 		  FALSE, O_RDONLY, 0, NULL);
     fp = IoIFP(io);
@@ -2412,8 +2416,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/doio.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/doop.c
===================================================================
--- vendor/perl/dist/doop.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/doop.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -632,17 +632,15 @@
     PERL_ARGS_ASSERT_DO_TRANS;
 
     if (SvREADONLY(sv) && !(PL_op->op_private & OPpTRANS_IDENTICAL)) {
-        if (SvIsCOW(sv))
-            sv_force_normal_flags(sv, 0);
-        if (SvREADONLY(sv))
-            Perl_croak_no_modify(aTHX);
+        if (!SvIsCOW(sv))
+            Perl_croak_no_modify();
     }
     (void)SvPV_const(sv, len);
     if (!len)
 	return 0;
     if (!(PL_op->op_private & OPpTRANS_IDENTICAL)) {
-	if (!SvPOKp(sv))
-	    (void)SvPV_force(sv, len);
+	if (!SvPOKp(sv) || SvTHINKFIRST(sv))
+	    (void)SvPV_force_nomg(sv, len);
 	(void)SvPOK_only_UTF8(sv);
     }
 
@@ -673,12 +671,12 @@
 }
 
 void
-Perl_do_join(pTHX_ register SV *sv, SV *delim, register SV **mark, register SV **sp)
+Perl_do_join(pTHX_ SV *sv, SV *delim, SV **mark, SV **sp)
 {
     dVAR;
     SV ** const oldmark = mark;
-    register I32 items = sp - mark;
-    register STRLEN len;
+    I32 items = sp - mark;
+    STRLEN len;
     STRLEN delimlen;
 
     PERL_ARGS_ASSERT_DO_JOIN;
@@ -709,7 +707,7 @@
     /* sv_setpv retains old UTF8ness [perl #24846] */
     SvUTF8_off(sv);
 
-    if (PL_tainting && SvMAGICAL(sv))
+    if (TAINTING_get && SvMAGICAL(sv))
 	SvTAINTED_off(sv);
 
     if (items-- > 0) {
@@ -720,7 +718,7 @@
 
     if (delimlen) {
 	for (; items > 0; items--,mark++) {
-	    sv_catsv(sv,delim);
+	    sv_catsv_nomg(sv,delim);
 	    sv_catsv(sv,*mark);
 	}
     }
@@ -760,13 +758,19 @@
 
 /* currently converts input to bytes if possible, but doesn't sweat failure */
 UV
-Perl_do_vecget(pTHX_ SV *sv, I32 offset, I32 size)
+Perl_do_vecget(pTHX_ SV *sv, SSize_t offset, int size)
 {
     dVAR;
     STRLEN srclen, len, uoffset, bitoffs = 0;
-    const unsigned char *s = (const unsigned char *) SvPV_const(sv, srclen);
+    const unsigned char *s = (const unsigned char *) SvPV_flags_const(sv, srclen,
+                             SV_GMAGIC | ((PL_op->op_flags & OPf_MOD || LVRET)
+                                          ? SV_UNDEF_RETURNS_NULL : 0));
     UV retnum = 0;
 
+    if (!s) {
+      s = (const unsigned char *)"";
+    }
+    
     PERL_ARGS_ASSERT_DO_VECGET;
 
     if (offset < 0)
@@ -908,10 +912,10 @@
 Perl_do_vecset(pTHX_ SV *sv)
 {
     dVAR;
-    register I32 offset, bitoffs = 0;
-    register I32 size;
-    register unsigned char *s;
-    register UV lval;
+    SSize_t offset, bitoffs = 0;
+    int size;
+    unsigned char *s;
+    UV lval;
     I32 mask;
     STRLEN targlen;
     STRLEN len;
@@ -921,7 +925,8 @@
 
     if (!targ)
 	return;
-    s = (unsigned char*)SvPV_force(targ, targlen);
+    s = (unsigned char*)SvPV_force_flags(targ, targlen,
+                                         SV_GMAGIC | SV_UNDEF_RETURNS_NULL);
     if (SvUTF8(targ)) {
 	/* This is handled by the SvPOK_only below...
 	if (!Perl_sv_utf8_downgrade(aTHX_ targ, TRUE))
@@ -995,16 +1000,16 @@
 {
     dVAR;
 #ifdef LIBERAL
-    register long *dl;
-    register long *ll;
-    register long *rl;
+    long *dl;
+    long *ll;
+    long *rl;
 #endif
-    register char *dc;
+    char *dc;
     STRLEN leftlen;
     STRLEN rightlen;
-    register const char *lc;
-    register const char *rc;
-    register STRLEN len;
+    const char *lc;
+    const char *rc;
+    STRLEN len;
     STRLEN lensave;
     const char *lsave;
     const char *rsave;
@@ -1014,7 +1019,7 @@
 
     PERL_ARGS_ASSERT_DO_VOP;
 
-    if (sv != left || (optype != OP_BIT_AND && !SvOK(sv) && !SvGMAGICAL(sv)))
+    if (sv != left || (optype != OP_BIT_AND && !SvOK(sv)))
 	sv_setpvs(sv, "");	/* avoid undef warning on |= and ^= */
     if (sv == left) {
 	lsave = lc = SvPV_force_nomg(left, leftlen);
@@ -1124,12 +1129,12 @@
 	    else if (lulen)
 		dcsave = savepvn(lc, lulen);
 	    if (sv == left || sv == right)
-		(void)sv_usepvn(sv, dcorig, needlen); /* Uses Renew(). */
+		(void)sv_usepvn(sv, dcorig, needlen); /* uses Renew(); defaults to nomg */
 	    SvCUR_set(sv, dc - dcorig);
 	    if (rulen)
-		sv_catpvn(sv, dcsave, rulen);
+		sv_catpvn_nomg(sv, dcsave, rulen);
 	    else if (lulen)
-		sv_catpvn(sv, dcsave, lulen);
+		sv_catpvn_nomg(sv, dcsave, lulen);
 	    else
 		*SvEND(sv) = '\0';
 	    Safefree(dcsave);
@@ -1207,9 +1212,9 @@
 	  mop_up:
 	    len = lensave;
 	    if (rightlen > len)
-		sv_catpvn(sv, rsave + len, rightlen - len);
+		sv_catpvn_nomg(sv, rsave + len, rightlen - len);
 	    else if (leftlen > (STRLEN)len)
-		sv_catpvn(sv, lsave + len, leftlen - len);
+		sv_catpvn_nomg(sv, lsave + len, leftlen - len);
 	    else
 		*SvEND(sv) = '\0';
 	    break;
@@ -1224,9 +1229,8 @@
 {
     dVAR;
     dSP;
-    HV * const hv = MUTABLE_HV(POPs);
-    HV *keys;
-    register HE *entry;
+    HV * const keys = MUTABLE_HV(POPs);
+    HE *entry;
     const I32 gimme = GIMME_V;
     const I32 dokv =     (PL_op->op_type == OP_RV2HV || PL_op->op_type == OP_PADHV);
     /* op_type is OP_RKEYS/OP_RVALUES if pp_rkeys delegated to here */
@@ -1233,17 +1237,6 @@
     const I32 dokeys =   dokv || (PL_op->op_type == OP_KEYS || PL_op->op_type == OP_RKEYS);
     const I32 dovalues = dokv || (PL_op->op_type == OP_VALUES || PL_op->op_type == OP_RVALUES);
 
-    if (!hv) {
-	if (PL_op->op_flags & OPf_MOD || LVRET) {	/* lvalue */
-	    dTARGET;		/* make sure to clear its target here */
-	    if (SvTYPE(TARG) == SVt_PVLV)
-		LvTARG(TARG) = NULL;
-	    PUSHs(TARG);
-	}
-	RETURN;
-    }
-
-    keys = hv;
     (void)hv_iterinit(keys);	/* always reset iterator regardless */
 
     if (gimme == G_VOID)
@@ -1262,7 +1255,7 @@
 	    dTARGET;
 
 	    if (! SvTIED_mg((const SV *)keys, PERL_MAGIC_tied) ) {
-		i = HvKEYS(keys);
+		i = HvUSEDKEYS(keys);
 	    }
 	    else {
 		i = 0;
@@ -1273,7 +1266,7 @@
 	RETURN;
     }
 
-    EXTEND(SP, HvKEYS(keys) * (dokeys + dovalues));
+    EXTEND(SP, HvUSEDKEYS(keys) * (dokeys + dovalues));
 
     PUTBACK;	/* hv_iternext and hv_iterval might clobber stack_sp */
     while ((entry = hv_iternext(keys))) {
@@ -1285,7 +1278,7 @@
 	if (dovalues) {
 	    SV *tmpstr;
 	    PUTBACK;
-	    tmpstr = hv_iterval(hv,entry);
+	    tmpstr = hv_iterval(keys,entry);
 	    DEBUG_H(Perl_sv_setpvf(aTHX_ tmpstr, "%lu%%%d=%lu",
 			    (unsigned long)HeHASH(entry),
 			    (int)HvMAX(keys)+1,
@@ -1302,8 +1295,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/doop.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/dosish.h
===================================================================
--- vendor/perl/dist/dosish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dosish.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -52,7 +52,9 @@
 #endif	/* DJGPP */
 
 #ifndef PERL_SYS_TERM_BODY
-#  define PERL_SYS_TERM_BODY() HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM
+#  define PERL_SYS_TERM_BODY() \
+    HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM; \
+    OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM
 #endif
 #define dXSUB_SYS
 
@@ -88,12 +90,7 @@
  *	information.
  */
 #if defined(WIN64) || defined(USE_LARGE_FILES)
-# if defined(__BORLANDC__) /* buk */
-#  include <sys\stat.h>
-#  define Stat_t struct stati64
-# else
 #define Stat_t struct _stati64
-# endif
 #else
 #if defined(UNDER_CE)
 #define Stat_t struct xcestat
@@ -207,8 +204,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/dosish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/dquote_static.c
===================================================================
--- vendor/perl/dist/dquote_static.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dquote_static.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,6 @@
 */
 
 #define PERL_IN_DQUOTE_STATIC_C
-#include "proto.h"
 #include "embed.h"
 
 /*
@@ -16,7 +15,11 @@
     Pulled from regcomp.c.
  */
 PERL_STATIC_INLINE I32
-S_regcurly(pTHX_ register const char *s)
+S_regcurly(pTHX_ const char *s,
+           const bool rbrace_must_be_escaped /* Should the terminating '} be
+                                                preceded by a backslash?  This
+                                                is an abnormal case */
+    )
 {
     PERL_ARGS_ASSERT_REGCURLY;
 
@@ -31,9 +34,10 @@
 	while (isDIGIT(*s))
 	    s++;
     }
-    if (*s != '}')
-	return FALSE;
-    return TRUE;
+
+    return (rbrace_must_be_escaped)
+           ? *s == '\\' && *(s+1) == '}'
+           : *s == '}';
 }
 
 /* XXX Add documentation after final interface and behavior is decided */
@@ -69,7 +73,7 @@
 	else {
 	    U8 clearer[3];
 	    U8 i = 0;
-	    if (! isALNUM(result)) {
+	    if (! isWORDCHAR(result)) {
 		clearer[i++] = '\\';
 	    }
 	    clearer[i++] = result;
@@ -86,11 +90,10 @@
 }
 
 STATIC bool
-S_grok_bslash_o(pTHX_ const char *s,
-			 UV *uv,
-			 STRLEN *len,
-			 const char** error_msg,
-			 const bool output_warning)
+S_grok_bslash_o(pTHX_ char **s, UV *uv, const char** error_msg,
+                      const bool output_warning, const bool strict,
+                      const bool silence_non_portable,
+                      const bool UTF)
 {
 
 /*  Documentation to be supplied when interface nailed down finally
@@ -97,20 +100,27 @@
  *  This returns FALSE if there is an error which the caller need not recover
  *  from; , otherwise TRUE.  In either case the caller should look at *len
  *  On input:
- *	s   points to a string that begins with 'o', and the previous character
- *	    was a backslash.
+ *	s   is the address of a pointer to a NULL terminated string that begins
+ *	    with 'o', and the previous character was a backslash.  At exit, *s
+ *	    will be advanced to the byte just after those absorbed by this
+ *	    function.  Hence the caller can continue parsing from there.  In
+ *	    the case of an error, this routine has generally positioned *s to
+ *	    point just to the right of the first bad spot, so that a message
+ *	    that has a "<--" to mark the spot will be correctly positioned.
  *	uv  points to a UV that will hold the output value, valid only if the
  *	    return from the function is TRUE
- *	len on success will point to the next character in the string past the
- *		       end of this construct.
- *	    on failure, it will point to the failure
  *      error_msg is a pointer that will be set to an internal buffer giving an
  *	    error message upon failure (the return is FALSE).  Untouched if
  *	    function succeeds
  *	output_warning says whether to output any warning messages, or suppress
  *	    them
+ *	strict is true if this should fail instead of warn if there are
+ *	    non-octal digits within the braces
+ *      silence_non_portable is true if to suppress warnings about the code
+ *          point returned being too large to fit on all platforms.
+ *	UTF is true iff the string *s is encoded in UTF-8.
  */
-    const char* e;
+    char* e;
     STRLEN numbers_len;
     I32 flags = PERL_SCAN_ALLOW_UNDERSCORES
 		| PERL_SCAN_DISALLOW_PREFIX
@@ -121,55 +131,212 @@
     PERL_ARGS_ASSERT_GROK_BSLASH_O;
 
 
-    assert(*s == 'o');
-    s++;
+    assert(**s == 'o');
+    (*s)++;
 
-    if (*s != '{') {
-	*len = 1;	/* Move past the o */
+    if (**s != '{') {
 	*error_msg = "Missing braces on \\o{}";
 	return FALSE;
     }
 
-    e = strchr(s, '}');
+    e = strchr(*s, '}');
     if (!e) {
-	*len = 2;	/* Move past the o{ */
-	*error_msg = "Missing right brace on \\o{";
+        (*s)++;  /* Move past the '{' */
+        while (isOCTAL(**s)) { /* Position beyond the legal digits */
+            (*s)++;
+        }
+        *error_msg = "Missing right brace on \\o{";
 	return FALSE;
     }
 
-    /* Return past the '}' no matter what is inside the braces */
-    *len = e - s + 2;	/* 2 = 1 for the o + 1 for the '}' */
-
-    s++;    /* Point to first digit */
-
-    numbers_len = e - s;
+    (*s)++;    /* Point to expected first digit (could be first byte of utf8
+                  sequence if not a digit) */
+    numbers_len = e - *s;
     if (numbers_len == 0) {
+        (*s)++;    /* Move past the } */
 	*error_msg = "Number with no digits";
 	return FALSE;
     }
 
-    *uv = NATIVE_TO_UNI(grok_oct(s, &numbers_len, &flags, NULL));
+    if (silence_non_portable) {
+        flags |= PERL_SCAN_SILENT_NON_PORTABLE;
+    }
+
+    *uv = grok_oct(*s, &numbers_len, &flags, NULL);
     /* Note that if has non-octal, will ignore everything starting with that up
      * to the '}' */
 
-    if (output_warning && numbers_len != (STRLEN) (e - s)) {
-	Perl_ck_warner(aTHX_ packWARN(WARN_DIGIT),
-	/* diag_listed_as: Non-octal character '%c'.  Resolved as "%s" */
-		       "Non-octal character '%c'.  Resolved as \"\\o{%.*s}\"",
-		       *(s + numbers_len),
-		       (int) numbers_len,
-		       s);
+    if (numbers_len != (STRLEN) (e - *s)) {
+        if (strict) {
+            *s += numbers_len;
+            *s += (UTF) ? UTF8SKIP(*s) : (STRLEN) 1;
+            *error_msg = "Non-octal character";
+            return FALSE;
+        }
+        else if (output_warning) {
+            Perl_ck_warner(aTHX_ packWARN(WARN_DIGIT),
+            /* diag_listed_as: Non-octal character '%c'.  Resolved as "%s" */
+                        "Non-octal character '%c'.  Resolved as \"\\o{%.*s}\"",
+                        *(*s + numbers_len),
+                        (int) numbers_len,
+                        *s);
+        }
     }
 
+    /* Return past the '}' */
+    *s = e + 1;
+
     return TRUE;
 }
 
+PERL_STATIC_INLINE bool
+S_grok_bslash_x(pTHX_ char **s, UV *uv, const char** error_msg,
+                      const bool output_warning, const bool strict,
+                      const bool silence_non_portable,
+                      const bool UTF)
+{
+
+/*  Documentation to be supplied when interface nailed down finally
+ *  This returns FALSE if there is an error which the caller need not recover
+ *  from; , otherwise TRUE.  In either case the caller should look at *len
+ *  On input:
+ *	s   is the address of a pointer to a NULL terminated string that begins
+ *	    with 'x', and the previous character was a backslash.  At exit, *s
+ *	    will be advanced to the byte just after those absorbed by this
+ *	    function.  Hence the caller can continue parsing from there.  In
+ *	    the case of an error, this routine has generally positioned *s to
+ *	    point just to the right of the first bad spot, so that a message
+ *	    that has a "<--" to mark the spot will be correctly positioned.
+ *	uv  points to a UV that will hold the output value, valid only if the
+ *	    return from the function is TRUE
+ *      error_msg is a pointer that will be set to an internal buffer giving an
+ *	    error message upon failure (the return is FALSE).  Untouched if
+ *	    function succeeds
+ *	output_warning says whether to output any warning messages, or suppress
+ *	    them
+ *	strict is true if anything out of the ordinary should cause this to
+ *	    fail instead of warn or be silent.  For example, it requires
+ *	    exactly 2 digits following the \x (when there are no braces).
+ *	    3 digits could be a mistake, so is forbidden in this mode.
+ *      silence_non_portable is true if to suppress warnings about the code
+ *          point returned being too large to fit on all platforms.
+ *	UTF is true iff the string *s is encoded in UTF-8.
+ */
+    char* e;
+    STRLEN numbers_len;
+    I32 flags = PERL_SCAN_DISALLOW_PREFIX;
+
+    PERL_ARGS_ASSERT_GROK_BSLASH_X;
+
+    PERL_UNUSED_ARG(output_warning);
+
+    assert(**s == 'x');
+    (*s)++;
+
+    if (strict) {
+        flags |= PERL_SCAN_SILENT_ILLDIGIT;
+    }
+
+    if (**s != '{') {
+        STRLEN len = (strict) ? 3 : 2;
+
+	*uv = grok_hex(*s, &len, &flags, NULL);
+	*s += len;
+        if (strict && len != 2) {
+            if (len < 2) {
+                *s += (UTF) ? UTF8SKIP(*s) : 1;
+                *error_msg = "Non-hex character";
+            }
+            else {
+                *error_msg = "Use \\x{...} for more than two hex characters";
+            }
+            return FALSE;
+        }
+	return TRUE;
+    }
+
+    e = strchr(*s, '}');
+    if (!e) {
+        (*s)++;  /* Move past the '{' */
+        while (isXDIGIT(**s)) { /* Position beyond the legal digits */
+            (*s)++;
+        }
+        /* XXX The corresponding message above for \o is just '\\o{'; other
+         * messages for other constructs include the '}', so are inconsistent.
+         */
+	*error_msg = "Missing right brace on \\x{}";
+	return FALSE;
+    }
+
+    (*s)++;    /* Point to expected first digit (could be first byte of utf8
+                  sequence if not a digit) */
+    numbers_len = e - *s;
+    if (numbers_len == 0) {
+        if (strict) {
+            (*s)++;    /* Move past the } */
+            *error_msg = "Number with no digits";
+            return FALSE;
+        }
+        return TRUE;
+    }
+
+    flags |= PERL_SCAN_ALLOW_UNDERSCORES;
+    if (silence_non_portable) {
+        flags |= PERL_SCAN_SILENT_NON_PORTABLE;
+    }
+
+    *uv = grok_hex(*s, &numbers_len, &flags, NULL);
+    /* Note that if has non-hex, will ignore everything starting with that up
+     * to the '}' */
+
+    if (strict && numbers_len != (STRLEN) (e - *s)) {
+        *s += numbers_len;
+        *s += (UTF) ? UTF8SKIP(*s) : 1;
+        *error_msg = "Non-hex character";
+        return FALSE;
+    }
+
+    /* Return past the '}' */
+    *s = e + 1;
+
+    return TRUE;
+}
+
+STATIC char*
+S_form_short_octal_warning(pTHX_
+                           const char * const s, /* Points to first non-octal */
+                           const STRLEN len      /* Length of octals string, so
+                                                    (s-len) points to first
+                                                    octal */
+) {
+    /* Return a character string consisting of a warning message for when a
+     * string constant in octal is weird, like "\078".  */
+
+    const char * sans_leading_zeros = s - len;
+
+    PERL_ARGS_ASSERT_FORM_SHORT_OCTAL_WARNING;
+
+    assert(*s == '8' || *s == '9');
+
+    /* Remove the leading zeros, retaining one zero so won't be zero length */
+    while (*sans_leading_zeros == '0') sans_leading_zeros++;
+    if (sans_leading_zeros == s) {
+        sans_leading_zeros--;
+    }
+
+    return Perl_form(aTHX_
+                     "'%.*s' resolved to '\\o{%.*s}%c'",
+                     (int) (len + 2), s - len - 1,
+                     (int) (s - sans_leading_zeros), sans_leading_zeros,
+                     *s);
+}
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/dquote_static.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/dump.c
===================================================================
--- vendor/perl/dist/dump.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/dump.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,7 +26,6 @@
 #define PERL_IN_DUMP_C
 #include "perl.h"
 #include "regcomp.h"
-#include "proto.h"
 
 
 static const char* const svtypenames[SVt_LAST] = {
@@ -87,7 +86,6 @@
     S_append_flags(aTHX_ (sv), (f), (flags), C_ARRAY_END(flags))
 
 
-#define Sequence PL_op_sequence
 
 void
 Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
@@ -282,7 +280,7 @@
         isuni = 1;
     
     for ( ; (pv < end && (!max || (wrote < max))) ; pv += readsize ) {
-        const UV u= (isuni) ? utf8_to_uvchr((U8*)pv, &readsize) : (U8)*pv;            
+        const UV u= (isuni) ? utf8_to_uvchr_buf((U8*)pv, (U8*) end, &readsize) : (U8)*pv;
         const U8 c = (U8)u & 0xFF;
         
         if ( ( u > 255 )
@@ -321,7 +319,7 @@
                             chsize = 1;
                         break;
 		default:
-                        if ( (pv < end) && isDIGIT((U8)*(pv+readsize)) )
+                        if ( (pv+readsize < end) && isDIGIT((U8)*(pv+readsize)) )
                             chsize = my_snprintf( octbuf, PV_ESCAPE_OCTBUFSIZE, 
                                                   "%c%03o", esc, c);
 			else
@@ -458,7 +456,8 @@
 	sv_catpv(t, "VOID");
 	goto finish;
     }
-    else if (sv == (const SV *)0x55555555 || SvTYPE(sv) == 'U') {
+    else if (sv == (const SV *)0x55555555 || ((char)SvTYPE(sv)) == 'U') {
+        /* detect data corruption under memory poisoning */
 	sv_catpv(t, "WILD");
 	goto finish;
     }
@@ -562,7 +561,7 @@
 		Perl_sv_catpvf(aTHX_ t, " [UTF8 \"%s\"]",
 			       sv_uni_display(tmp, sv, 6 * SvCUR(sv),
 					      UNI_DISPLAY_QQ));
-	    SvREFCNT_dec(tmp);
+	    SvREFCNT_dec_NN(tmp);
 	}
     }
     else if (SvNOKp(sv)) {
@@ -582,7 +581,7 @@
   finish:
     while (unref--)
 	sv_catpv(t, ")");
-    if (PL_tainting && SvTAINTED(sv))
+    if (TAINTING_get && SvTAINTED(sv))
 	sv_catpv(t, " [tainted]");
     return SvPV_nolen(t);
 }
@@ -614,10 +613,19 @@
 	Perl_dump_indent(aTHX_ level, file, "PMf_REPL = ");
 	op_dump(pm->op_pmreplrootu.op_pmreplroot);
     }
+    if (pm->op_code_list) {
+	if (pm->op_pmflags & PMf_CODELIST_PRIVATE) {
+	    Perl_dump_indent(aTHX_ level, file, "CODE_LIST =\n");
+	    do_op_dump(level, file, pm->op_code_list);
+	}
+	else
+	    Perl_dump_indent(aTHX_ level, file, "CODE_LIST = 0x%"UVxf"\n",
+				    PTR2UV(pm->op_code_list));
+    }
     if (pm->op_pmflags || (PM_GETRE(pm) && RX_CHECK_SUBSTR(PM_GETRE(pm)))) {
 	SV * const tmpsv = pm_description(pm);
 	Perl_dump_indent(aTHX_ level, file, "PMFLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX_const(tmpsv) + 1 : "");
-	SvREFCNT_dec(tmpsv);
+	SvREFCNT_dec_NN(tmpsv);
     }
 
     Perl_dump_indent(aTHX_ level-1, file, "}\n");
@@ -631,6 +639,9 @@
     {PMf_RETAINT, ",RETAINT"},
     {PMf_EVAL, ",EVAL"},
     {PMf_NONDESTRUCT, ",NONDESTRUCT"},
+    {PMf_HAS_CV, ",HAS_CV"},
+    {PMf_CODELIST_PRIVATE, ",CODELIST_PRIVATE"},
+    {PMf_IS_QR, ",IS_QR"}
 };
 
 static SV *
@@ -653,7 +664,7 @@
 #endif
 
     if (regex) {
-        if (RX_EXTFLAGS(regex) & RXf_TAINTED)
+        if (RX_ISTAINTED(regex))
             sv_catpv(desc, ",TAINTED");
         if (RX_CHECK_SUBSTR(regex)) {
             if (!(RX_EXTFLAGS(regex) & RXf_NOSCAN))
@@ -675,105 +686,11 @@
     do_pmop_dump(0, Perl_debug_log, pm);
 }
 
-/* An op sequencer.  We visit the ops in the order they're to execute. */
+/* Return a unique integer to represent the address of op o.
+ * If it already exists in PL_op_sequence, just return it;
+ * otherwise add it.
+ *  *** Note that this isn't thread-safe */
 
-STATIC void
-S_sequence(pTHX_ register const OP *o)
-{
-    dVAR;
-    const OP *oldop = NULL;
-
-    if (!o)
-	return;
-
-#ifdef PERL_MAD
-    if (o->op_next == 0)
- 	return;
-#endif
-
-    if (!Sequence)
-	Sequence = newHV();
-
-    for (; o; o = o->op_next) {
-	STRLEN len;
-	SV * const op = newSVuv(PTR2UV(o));
-	const char * const key = SvPV_const(op, len);
-
-	if (hv_exists(Sequence, key, len))
-	    break;
-
-	switch (o->op_type) {
-	case OP_STUB:
-	    if ((o->op_flags & OPf_WANT) != OPf_WANT_LIST) {
-		(void)hv_store(Sequence, key, len, newSVuv(++PL_op_seq), 0);
-		break;
-	    }
-	    goto nothin;
-	case OP_NULL:
-#ifdef PERL_MAD
-	    if (o == o->op_next)
-		return;
-#endif
-	    if (oldop && o->op_next)
-		continue;
-	    break;
-	case OP_SCALAR:
-	case OP_LINESEQ:
-	case OP_SCOPE:
-	  nothin:
-	    if (oldop && o->op_next)
-		continue;
-	    (void)hv_store(Sequence, key, len, newSVuv(++PL_op_seq), 0);
-	    break;
-
-	case OP_MAPWHILE:
-	case OP_GREPWHILE:
-	case OP_AND:
-	case OP_OR:
-	case OP_DOR:
-	case OP_ANDASSIGN:
-	case OP_ORASSIGN:
-	case OP_DORASSIGN:
-	case OP_COND_EXPR:
-	case OP_RANGE:
-	    (void)hv_store(Sequence, key, len, newSVuv(++PL_op_seq), 0);
-	    sequence_tail(cLOGOPo->op_other);
-	    break;
-
-	case OP_ENTERLOOP:
-	case OP_ENTERITER:
-	    (void)hv_store(Sequence, key, len, newSVuv(++PL_op_seq), 0);
-	    sequence_tail(cLOOPo->op_redoop);
-	    sequence_tail(cLOOPo->op_nextop);
-	    sequence_tail(cLOOPo->op_lastop);
-	    break;
-
-	case OP_SUBST:
-	    (void)hv_store(Sequence, key, len, newSVuv(++PL_op_seq), 0);
-	    sequence_tail(cPMOPo->op_pmstashstartu.op_pmreplstart);
-	    break;
-
-	case OP_QR:
-	case OP_MATCH:
-	case OP_HELEM:
-	    break;
-
-	default:
-	    (void)hv_store(Sequence, key, len, newSVuv(++PL_op_seq), 0);
-	    break;
-	}
-	oldop = o;
-    }
-}
-
-static void
-S_sequence_tail(pTHX_ const OP *o)
-{
-    while (o && (o->op_type == OP_NULL))
-	o = o->op_next;
-    sequence(o);
-}
-
 STATIC UV
 S_sequence_num(pTHX_ const OP *o)
 {
@@ -782,11 +699,18 @@
           **seq;
     const char *key;
     STRLEN  len;
-    if (!o) return 0;
+    if (!o)
+	return 0;
     op = newSVuv(PTR2UV(o));
+    sv_2mortal(op);
     key = SvPV_const(op, len);
-    seq = hv_fetch(Sequence, key, len, 0);
-    return seq ? SvUV(*seq): 0;
+    if (!PL_op_sequence)
+	PL_op_sequence = newHV();
+    seq = hv_fetch(PL_op_sequence, key, len, 0);
+    if (seq)
+	return SvUV(*seq);
+    (void)hv_store(PL_op_sequence, key, len, newSVuv(++PL_op_seq), 0);
+    return PL_op_seq;
 }
 
 const struct flag_to_name op_flags_names[] = {
@@ -811,7 +735,6 @@
 const struct flag_to_name op_entersub_names[] = {
     {OPpENTERSUB_DB, ",DB"},
     {OPpENTERSUB_HASTARG, ",HASTARG"},
-    {OPpENTERSUB_NOMOD, ",NOMOD"},
     {OPpENTERSUB_AMPER, ",AMPER"},
     {OPpENTERSUB_NOPAREN, ",NOPAREN"},
     {OPpENTERSUB_INARGS, ",INARGS"}
@@ -822,9 +745,8 @@
     {OPpCONST_SHORTCIRCUIT, ",SHORTCIRCUIT"},
     {OPpCONST_STRICT, ",STRICT"},
     {OPpCONST_ENTERED, ",ENTERED"},
-    {OPpCONST_ARYBASE, ",ARYBASE"},
-    {OPpCONST_BARE, ",BARE"},
-    {OPpCONST_WARNING, ",WARNING"}
+    {OPpCONST_FOLDED, ",FOLDED"},
+    {OPpCONST_BARE, ",BARE"}
 };
 
 const struct flag_to_name op_sort_names[] = {
@@ -849,14 +771,17 @@
     {OPpHUSH_VMSISH, ",HUSH_VMSISH"}
 };
 
+const struct flag_to_name op_sassign_names[] = {
+    {OPpASSIGN_BACKWARDS, ",BACKWARDS"},
+    {OPpASSIGN_CV_TO_GV,  ",CV2GV"}
+};
+
 #define OP_PRIVATE_ONCE(op, flag, name) \
     const struct flag_to_name CAT2(op, _names)[] = {	\
 	{(flag), (name)} \
     }
 
-OP_PRIVATE_ONCE(op_aassign, OPpASSIGN_COMMON, ",COMMON");
 OP_PRIVATE_ONCE(op_leavesub, OPpREFCOUNTED, ",REFCOUNTED");
-OP_PRIVATE_ONCE(op_sassign, OPpASSIGN_BACKWARDS, ",BACKWARDS");
 OP_PRIVATE_ONCE(op_repeat, OPpREPEAT_DOLIST, ",DOLIST");
 OP_PRIVATE_ONCE(op_reverse, OPpREVERSE_INPLACE, ",INPLACE");
 OP_PRIVATE_ONCE(op_rv2cv, OPpLVAL_INTRO, ",INTRO");
@@ -878,7 +803,6 @@
     {OP_LEAVE, C_ARRAY_LENGTH(op_leavesub_names), op_leavesub_names },
     {OP_LEAVESUBLV, C_ARRAY_LENGTH(op_leavesub_names), op_leavesub_names },
     {OP_LEAVEWRITE, C_ARRAY_LENGTH(op_leavesub_names), op_leavesub_names },
-    {OP_AASSIGN, C_ARRAY_LENGTH(op_aassign_names), op_aassign_names },
     {OP_DIE, C_ARRAY_LENGTH(op_die_names), op_die_names },
     {OP_DELETE, C_ARRAY_LENGTH(op_delete_names), op_delete_names },
     {OP_EXISTS, C_ARRAY_LENGTH(op_exists_names), op_exists_names },
@@ -915,6 +839,131 @@
     return FALSE;
 }
 
+#define DUMP_OP_FLAGS(o,xml,level,file)                                 \
+    if (o->op_flags || o->op_slabbed || o->op_savefree || o->op_static) { \
+        SV * const tmpsv = newSVpvs("");                                \
+        switch (o->op_flags & OPf_WANT) {                               \
+        case OPf_WANT_VOID:                                             \
+            sv_catpv(tmpsv, ",VOID");                                   \
+            break;                                                      \
+        case OPf_WANT_SCALAR:                                           \
+            sv_catpv(tmpsv, ",SCALAR");                                 \
+            break;                                                      \
+        case OPf_WANT_LIST:                                             \
+            sv_catpv(tmpsv, ",LIST");                                   \
+            break;                                                      \
+        default:                                                        \
+            sv_catpv(tmpsv, ",UNKNOWN");                                \
+            break;                                                      \
+        }                                                               \
+        append_flags(tmpsv, o->op_flags, op_flags_names);               \
+        if (o->op_slabbed)  sv_catpvs(tmpsv, ",SLABBED");               \
+        if (o->op_savefree) sv_catpvs(tmpsv, ",SAVEFREE");              \
+        if (o->op_static)   sv_catpvs(tmpsv, ",STATIC");                \
+        if (!xml)                                                        \
+            Perl_dump_indent(aTHX_ level, file, "FLAGS = (%s)\n",       \
+                            SvCUR(tmpsv) ? SvPVX_const(tmpsv) + 1 : "");\
+        else                                                            \
+            PerlIO_printf(file, " flags=\"%s\"",                        \
+                          SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");        \
+        SvREFCNT_dec_NN(tmpsv);                                            \
+    }
+
+#if !defined(PERL_MAD)
+# define xmldump_attr1(level, file, pat, arg)
+#else
+# define xmldump_attr1(level, file, pat, arg) \
+	S_xmldump_attr(aTHX_ level, file, pat, arg)
+#endif
+
+#define DUMP_OP_PRIVATE(o,xml,level,file)                               \
+    if (o->op_private) {                                                \
+        U32 optype = o->op_type;                                        \
+        U32 oppriv = o->op_private;                                     \
+        SV * const tmpsv = newSVpvs("");                                \
+	if (PL_opargs[optype] & OA_TARGLEX) {                           \
+	    if (oppriv & OPpTARGET_MY)                                  \
+		sv_catpv(tmpsv, ",TARGET_MY");                          \
+	}                                                               \
+	else if (optype == OP_ENTERSUB ||                               \
+                 optype == OP_RV2SV ||                                  \
+                 optype == OP_GVSV ||                                   \
+                 optype == OP_RV2AV ||                                  \
+                 optype == OP_RV2HV ||                                  \
+                 optype == OP_RV2GV ||                                  \
+                 optype == OP_AELEM ||                                  \
+                 optype == OP_HELEM )                                   \
+        {                                                               \
+            if (optype == OP_ENTERSUB) {                                \
+                append_flags(tmpsv, oppriv, op_entersub_names);         \
+            }                                                           \
+            else {                                                      \
+                switch (oppriv & OPpDEREF) {                            \
+                case OPpDEREF_SV:                                       \
+                    sv_catpv(tmpsv, ",SV");                             \
+                    break;                                              \
+                case OPpDEREF_AV:                                       \
+                    sv_catpv(tmpsv, ",AV");                             \
+                    break;                                              \
+                case OPpDEREF_HV:                                       \
+                    sv_catpv(tmpsv, ",HV");                             \
+                    break;                                              \
+                }                                                       \
+                if (oppriv & OPpMAYBE_LVSUB)                            \
+                    sv_catpv(tmpsv, ",MAYBE_LVSUB");                    \
+            }                                                           \
+            if (optype == OP_AELEM || optype == OP_HELEM) {             \
+                if (oppriv & OPpLVAL_DEFER)                             \
+                    sv_catpv(tmpsv, ",LVAL_DEFER");                     \
+            }                                                           \
+            else if (optype == OP_RV2HV || optype == OP_PADHV) {        \
+                if (oppriv & OPpMAYBE_TRUEBOOL)                         \
+                    sv_catpvs(tmpsv, ",OPpMAYBE_TRUEBOOL");             \
+                if (oppriv & OPpTRUEBOOL)                               \
+                    sv_catpvs(tmpsv, ",OPpTRUEBOOL");                   \
+            }                                                           \
+            else {                                                      \
+                if (oppriv & HINT_STRICT_REFS)                          \
+                    sv_catpv(tmpsv, ",STRICT_REFS");                    \
+                if (oppriv & OPpOUR_INTRO)                              \
+                    sv_catpv(tmpsv, ",OUR_INTRO");                      \
+            }                                                           \
+        }                                                               \
+	else if (S_op_private_to_names(aTHX_ tmpsv, optype, oppriv)) {  \
+	}                                                               \
+	else if (OP_IS_FILETEST(o->op_type)) {                          \
+            if (oppriv & OPpFT_ACCESS)                                  \
+                sv_catpv(tmpsv, ",FT_ACCESS");                          \
+            if (oppriv & OPpFT_STACKED)                                 \
+                sv_catpv(tmpsv, ",FT_STACKED");                         \
+            if (oppriv & OPpFT_STACKING)                                \
+                sv_catpv(tmpsv, ",FT_STACKING");                        \
+            if (oppriv & OPpFT_AFTER_t)                                 \
+                sv_catpv(tmpsv, ",AFTER_t");                            \
+	}                                                               \
+	else if (o->op_type == OP_AASSIGN) {                            \
+	    if (oppriv & OPpASSIGN_COMMON)                              \
+		sv_catpvs(tmpsv, ",COMMON");                            \
+	    if (oppriv & OPpMAYBE_LVSUB)                                \
+		sv_catpvs(tmpsv, ",MAYBE_LVSUB");                       \
+	}                                                               \
+	if (o->op_flags & OPf_MOD && oppriv & OPpLVAL_INTRO)            \
+	    sv_catpv(tmpsv, ",INTRO");                                  \
+	if (o->op_type == OP_PADRANGE)                                  \
+	    Perl_sv_catpvf(aTHX_ tmpsv, ",COUNT=%"UVuf,                 \
+                           (UV)(oppriv & OPpPADRANGE_COUNTMASK));       \
+	if (SvCUR(tmpsv)) {                                             \
+            if (xml)                                                    \
+                xmldump_attr1(level+1, file, "private=\"%s\"", SvPVX(tmpsv)+1); \
+            else                                                        \
+                Perl_dump_indent(aTHX_ level, file, "PRIVATE = (%s)\n", SvPVX_const(tmpsv) + 1); \
+	} else if (!xml)                                                \
+            Perl_dump_indent(aTHX_ level, file, "PRIVATE = (0x%"UVxf")\n", \
+                             (UV)oppriv);                               \
+	SvREFCNT_dec_NN(tmpsv);                                         \
+    }
+
+
 void
 Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
 {
@@ -924,7 +973,6 @@
 
     PERL_ARGS_ASSERT_DO_OP_DUMP;
 
-    sequence(o);
     Perl_dump_indent(aTHX_ level, file, "{\n");
     level++;
     seq = sequence_num(o);
@@ -931,15 +979,16 @@
     if (seq)
 	PerlIO_printf(file, "%-4"UVuf, seq);
     else
-	PerlIO_printf(file, "    ");
+	PerlIO_printf(file, "????");
     PerlIO_printf(file,
 		  "%*sTYPE = %s  ===> ",
 		  (int)(PL_dumpindent*level-4), "", OP_NAME(o));
     if (o->op_next)
-	PerlIO_printf(file, seq ? "%"UVuf"\n" : "(%"UVuf")\n",
+	PerlIO_printf(file,
+			o->op_type == OP_NULL ? "(%"UVuf")\n" : "%"UVuf"\n",
 				sequence_num(o->op_next));
     else
-	PerlIO_printf(file, "DONE\n");
+	PerlIO_printf(file, "NULL\n");
     if (o->op_targ) {
 	if (optype == OP_NULL) {
 	    Perl_dump_indent(aTHX_ level, file, "  (was %s)\n", PL_op_name[o->op_targ]);
@@ -961,96 +1010,10 @@
 #ifdef DUMPADDR
     Perl_dump_indent(aTHX_ level, file, "ADDR = 0x%"UVxf" => 0x%"UVxf"\n", (UV)o, (UV)o->op_next);
 #endif
-    if (o->op_flags || o->op_latefree || o->op_latefreed || o->op_attached) {
-	SV * const tmpsv = newSVpvs("");
-	switch (o->op_flags & OPf_WANT) {
-	case OPf_WANT_VOID:
-	    sv_catpv(tmpsv, ",VOID");
-	    break;
-	case OPf_WANT_SCALAR:
-	    sv_catpv(tmpsv, ",SCALAR");
-	    break;
-	case OPf_WANT_LIST:
-	    sv_catpv(tmpsv, ",LIST");
-	    break;
-	default:
-	    sv_catpv(tmpsv, ",UNKNOWN");
-	    break;
-	}
-	append_flags(tmpsv, o->op_flags, op_flags_names);
-	if (o->op_latefree)
-	    sv_catpv(tmpsv, ",LATEFREE");
-	if (o->op_latefreed)
-	    sv_catpv(tmpsv, ",LATEFREED");
-	if (o->op_attached)
-	    sv_catpv(tmpsv, ",ATTACHED");
-	Perl_dump_indent(aTHX_ level, file, "FLAGS = (%s)\n", SvCUR(tmpsv) ? SvPVX_const(tmpsv) + 1 : "");
-	SvREFCNT_dec(tmpsv);
-    }
-    if (o->op_private) {
-	SV * const tmpsv = newSVpvs("");
-	if (PL_opargs[optype] & OA_TARGLEX) {
-	    if (o->op_private & OPpTARGET_MY)
-		sv_catpv(tmpsv, ",TARGET_MY");
-	}
-	else if (optype == OP_ENTERSUB ||
-	    optype == OP_RV2SV ||
-	    optype == OP_GVSV ||
-	    optype == OP_RV2AV ||
-	    optype == OP_RV2HV ||
-	    optype == OP_RV2GV ||
-	    optype == OP_AELEM ||
-	    optype == OP_HELEM )
-	{
-	    if (optype == OP_ENTERSUB) {
-		append_flags(tmpsv, o->op_private, op_entersub_names);
-	    }
-	    else {
-		switch (o->op_private & OPpDEREF) {
-		case OPpDEREF_SV:
-		    sv_catpv(tmpsv, ",SV");
-		    break;
-		case OPpDEREF_AV:
-		    sv_catpv(tmpsv, ",AV");
-		    break;
-		case OPpDEREF_HV:
-		    sv_catpv(tmpsv, ",HV");
-		    break;
-		}
-		if (o->op_private & OPpMAYBE_LVSUB)
-		    sv_catpv(tmpsv, ",MAYBE_LVSUB");
-	    }
 
-	    if ((optype==OP_RV2SV || optype==OP_RV2AV || optype==OP_RV2HV)
-		    && (o->op_private & OPpDEREFed))
-		sv_catpv(tmpsv, ",DEREFed");
+    DUMP_OP_FLAGS(o,0,level,file);
+    DUMP_OP_PRIVATE(o,0,level,file);
 
-	    if (optype == OP_AELEM || optype == OP_HELEM) {
-		if (o->op_private & OPpLVAL_DEFER)
-		    sv_catpv(tmpsv, ",LVAL_DEFER");
-	    }
-	    else {
-		if (o->op_private & HINT_STRICT_REFS)
-		    sv_catpv(tmpsv, ",STRICT_REFS");
-		if (o->op_private & OPpOUR_INTRO)
-		    sv_catpv(tmpsv, ",OUR_INTRO");
-	    }
-	}
-	else if (S_op_private_to_names(aTHX_ tmpsv, optype, o->op_private)) {
-	}
-	else if (PL_check[optype] != Perl_ck_ftst) {
-	    if (OP_IS_FILETEST_ACCESS(o->op_type) && o->op_private & OPpFT_ACCESS)
-		sv_catpv(tmpsv, ",FT_ACCESS");
-	    if (o->op_private & OPpFT_STACKED)
-		sv_catpv(tmpsv, ",FT_STACKED");
-	}
-	if (o->op_flags & OPf_MOD && o->op_private & OPpLVAL_INTRO)
-	    sv_catpv(tmpsv, ",INTRO");
-	if (SvCUR(tmpsv))
-	    Perl_dump_indent(aTHX_ level, file, "PRIVATE = (%s)\n", SvPVX_const(tmpsv) + 1);
-	SvREFCNT_dec(tmpsv);
-    }
-
 #ifdef PERL_MAD
     if (PL_madskills && o->op_madprop) {
 	SV * const tmpsv = newSVpvs("");
@@ -1090,7 +1053,7 @@
 	level--;
 	Perl_dump_indent(aTHX_ level, file, "}\n");
 
-	SvREFCNT_dec(tmpsv);
+	SvREFCNT_dec_NN(tmpsv);
     }
 #endif
 
@@ -1233,49 +1196,7 @@
  */
 
 static const struct { const char type; const char *name; } magic_names[] = {
-	{ PERL_MAGIC_sv,             "sv(\\0)" },
-	{ PERL_MAGIC_arylen,         "arylen(#)" },
-	{ PERL_MAGIC_rhash,          "rhash(%)" },
-	{ PERL_MAGIC_pos,            "pos(.)" },
-	{ PERL_MAGIC_symtab,         "symtab(:)" },
-	{ PERL_MAGIC_backref,        "backref(<)" },
-	{ PERL_MAGIC_arylen_p,       "arylen_p(@)" },
-	{ PERL_MAGIC_overload,       "overload(A)" },
-	{ PERL_MAGIC_bm,             "bm(B)" },
-	{ PERL_MAGIC_regdata,        "regdata(D)" },
-	{ PERL_MAGIC_env,            "env(E)" },
-	{ PERL_MAGIC_hints,          "hints(H)" },
-	{ PERL_MAGIC_isa,            "isa(I)" },
-	{ PERL_MAGIC_dbfile,         "dbfile(L)" },
-	{ PERL_MAGIC_shared,         "shared(N)" },
-	{ PERL_MAGIC_tied,           "tied(P)" },
-	{ PERL_MAGIC_sig,            "sig(S)" },
-	{ PERL_MAGIC_uvar,           "uvar(U)" },
-	{ PERL_MAGIC_checkcall,      "checkcall(])" },
-	{ PERL_MAGIC_overload_elem,  "overload_elem(a)" },
-	{ PERL_MAGIC_overload_table, "overload_table(c)" },
-	{ PERL_MAGIC_regdatum,       "regdatum(d)" },
-	{ PERL_MAGIC_envelem,        "envelem(e)" },
-	{ PERL_MAGIC_fm,             "fm(f)" },
-	{ PERL_MAGIC_regex_global,   "regex_global(g)" },
-	{ PERL_MAGIC_hintselem,      "hintselem(h)" },
-	{ PERL_MAGIC_isaelem,        "isaelem(i)" },
-	{ PERL_MAGIC_nkeys,          "nkeys(k)" },
-	{ PERL_MAGIC_dbline,         "dbline(l)" },
-	{ PERL_MAGIC_shared_scalar,  "shared_scalar(n)" },
-	{ PERL_MAGIC_collxfrm,       "collxfrm(o)" },
-	{ PERL_MAGIC_tiedelem,       "tiedelem(p)" },
-	{ PERL_MAGIC_tiedscalar,     "tiedscalar(q)" },
-	{ PERL_MAGIC_qr,             "qr(r)" },
-	{ PERL_MAGIC_sigelem,        "sigelem(s)" },
-	{ PERL_MAGIC_taint,          "taint(t)" },
-	{ PERL_MAGIC_uvar_elem,      "uvar_elem(u)" },
-	{ PERL_MAGIC_vec,            "vec(v)" },
-	{ PERL_MAGIC_vstring,        "vstring(V)" },
-	{ PERL_MAGIC_utf8,           "utf8(w)" },
-	{ PERL_MAGIC_substr,         "substr(x)" },
-	{ PERL_MAGIC_defelem,        "defelem(y)" },
-	{ PERL_MAGIC_ext,            "ext(~)" },
+#include "mg_names.c"
 	/* this null string terminates the list */
 	{ 0,                         NULL },
 };
@@ -1290,40 +1211,11 @@
 			 "  MAGIC = 0x%"UVxf"\n", PTR2UV(mg));
  	if (mg->mg_virtual) {
             const MGVTBL * const v = mg->mg_virtual;
- 	    const char *s;
- 	    if      (v == &PL_vtbl_sv)         s = "sv";
-            else if (v == &PL_vtbl_env)        s = "env";
-            else if (v == &PL_vtbl_envelem)    s = "envelem";
-            else if (v == &PL_vtbl_sig)        s = "sig";
-            else if (v == &PL_vtbl_sigelem)    s = "sigelem";
-            else if (v == &PL_vtbl_pack)       s = "pack";
-            else if (v == &PL_vtbl_packelem)   s = "packelem";
-            else if (v == &PL_vtbl_dbline)     s = "dbline";
-            else if (v == &PL_vtbl_isa)        s = "isa";
-            else if (v == &PL_vtbl_arylen)     s = "arylen";
-            else if (v == &PL_vtbl_mglob)      s = "mglob";
-            else if (v == &PL_vtbl_nkeys)      s = "nkeys";
-            else if (v == &PL_vtbl_taint)      s = "taint";
-            else if (v == &PL_vtbl_substr)     s = "substr";
-            else if (v == &PL_vtbl_vec)        s = "vec";
-            else if (v == &PL_vtbl_pos)        s = "pos";
-            else if (v == &PL_vtbl_bm)         s = "bm";
-            else if (v == &PL_vtbl_fm)         s = "fm";
-            else if (v == &PL_vtbl_uvar)       s = "uvar";
-            else if (v == &PL_vtbl_defelem)    s = "defelem";
-#ifdef USE_LOCALE_COLLATE
-	    else if (v == &PL_vtbl_collxfrm)   s = "collxfrm";
-#endif
-	    else if (v == &PL_vtbl_amagic)     s = "amagic";
-	    else if (v == &PL_vtbl_amagicelem) s = "amagicelem";
-	    else if (v == &PL_vtbl_backref)    s = "backref";
-	    else if (v == &PL_vtbl_utf8)       s = "utf8";
-            else if (v == &PL_vtbl_arylen_p)   s = "arylen_p";
-            else if (v == &PL_vtbl_hintselem)  s = "hintselem";
-            else if (v == &PL_vtbl_hints)      s = "hints";
-	    else			       s = NULL;
-	    if (s)
-	        Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = &PL_vtbl_%s\n", s);
+	    if (v >= PL_magic_vtables
+		&& v < PL_magic_vtables + magic_vtable_max) {
+		const U32 i = v - PL_magic_vtables;
+	        Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = &PL_vtbl_%s\n", PL_magic_vtable_names[i]);
+	    }
 	    else
 	        Perl_dump_indent(aTHX_ level, file, "    MG_VIRTUAL = 0x%"UVxf"\n", PTR2UV(v));
         }
@@ -1396,7 +1288,7 @@
 		if (mg->mg_type != PERL_MAGIC_utf8) {
 		    SV * const sv = newSVpvs("");
 		    PerlIO_printf(file, " %s", pv_display(sv, mg->mg_ptr, mg->mg_len, 0, pvlim));
-		    SvREFCNT_dec(sv);
+		    SvREFCNT_dec_NN(sv);
 		}
             }
 	    else if (mg->mg_len == HEf_SVKEY) {
@@ -1500,6 +1392,7 @@
     {SVf_OOK, "OOK,"},
     {SVf_FAKE, "FAKE,"},
     {SVf_READONLY, "READONLY,"},
+    {SVf_IsCOW, "IsCOW,"},
     {SVf_BREAK, "BREAK,"},
     {SVf_AMAGIC, "OVERLOAD,"},
     {SVp_IOK, "pIOK,"},
@@ -1518,6 +1411,10 @@
     {CVf_METHOD, "METHOD,"},
     {CVf_WEAKOUTSIDE, "WEAKOUTSIDE,"},
     {CVf_CVGV_RC, "CVGV_RC,"},
+    {CVf_DYNFILE, "DYNFILE,"},
+    {CVf_AUTOLOAD, "AUTOLOAD,"},
+    {CVf_HASEVAL, "HASEVAL"},
+    {CVf_SLABBED, "SLABBED,"},
     {CVf_ISXSUB, "ISXSUB,"}
 };
 
@@ -1525,7 +1422,6 @@
     {SVphv_SHAREKEYS, "SHAREKEYS,"},
     {SVphv_LAZYDEL, "LAZYDEL,"},
     {SVphv_HASKFLAGS, "HASKFLAGS,"},
-    {SVphv_REHASH, "REHASH,"},
     {SVphv_CLONEABLE, "CLONEABLE,"}
 };
 
@@ -1555,7 +1451,7 @@
     {RXf_ANCH_GPOS,       "ANCH_GPOS,"},
     {RXf_GPOS_SEEN,       "GPOS_SEEN,"},
     {RXf_GPOS_FLOAT,      "GPOS_FLOAT,"},
-    {RXf_LOOKBEHIND_SEEN, "LOOKBEHIND_SEEN,"},
+    {RXf_NO_INPLACE_SUBST, "NO_INPLACE_SUBST,"},
     {RXf_EVAL_SEEN,       "EVAL_SEEN,"},
     {RXf_CANY_SEEN,       "CANY_SEEN,"},
     {RXf_NOSCAN,          "NOSCAN,"},
@@ -1601,11 +1497,14 @@
 		   (int)(PL_dumpindent*level), "", (IV)SvREFCNT(sv),
 		   (int)(PL_dumpindent*level), "");
 
-    if (!(flags & SVpad_NAME && (type == SVt_PVMG || type == SVt_PVNV))) {
-	if (flags & SVs_PADSTALE)	sv_catpv(d, "PADSTALE,");
+    if (!((flags & SVpad_NAME) == SVpad_NAME
+	  && (type == SVt_PVMG || type == SVt_PVNV))) {
+	if ((flags & SVs_PADMY) && (flags & SVs_PADSTALE))
+	    sv_catpv(d, "PADSTALE,");
     }
-    if (!(flags & SVpad_NAME && type == SVt_PVMG)) {
-	if (flags & SVs_PADTMP)	sv_catpv(d, "PADTMP,");
+    if (!((flags & SVpad_NAME) == SVpad_NAME && type == SVt_PVMG)) {
+	if (!(flags & SVs_PADMY) && (flags & SVs_PADTMP))
+	    sv_catpv(d, "PADTMP,");
 	if (flags & SVs_PADMY)	sv_catpv(d, "PADMY,");
     }
     append_flags(d, flags, first_sv_flags_names);
@@ -1646,8 +1545,6 @@
 		sv_catpv(d, " ),");
 	    }
 	}
-	if (SvTAIL(sv))		sv_catpv(d, "TAIL,");
-	if (SvVALID(sv))	sv_catpv(d, "VALID,");
 	/* FALL THROUGH */
     default:
     evaled_or_uv:
@@ -1655,6 +1552,8 @@
 	if (SvIsUV(sv) && !(flags & SVf_ROK))	sv_catpv(d, "IsUV,");
 	break;
     case SVt_PVMG:
+	if (SvTAIL(sv))		sv_catpv(d, "TAIL,");
+	if (SvVALID(sv))	sv_catpv(d, "VALID,");
 	if (SvPAD_TYPED(sv))	sv_catpv(d, "TYPED,");
 	if (SvPAD_OUR(sv))	sv_catpv(d, "OUR,");
 	/* FALL THROUGH */
@@ -1696,12 +1595,12 @@
 	PerlIO_printf(file, "%s%s\n", svtypenames[type], s);
 
 	if (type ==  SVt_NULL) {
-	    SvREFCNT_dec(d);
+	    SvREFCNT_dec_NN(d);
 	    return;
 	}
     } else {
 	PerlIO_printf(file, "UNKNOWN(0x%"UVxf") %s\n", (UV)type, s);
-	SvREFCNT_dec(d);
+	SvREFCNT_dec_NN(d);
 	return;
     }
 
@@ -1708,8 +1607,8 @@
     /* Dump general SV fields */
 
     if ((type >= SVt_PVIV && type != SVt_PVAV && type != SVt_PVHV
-	 && type != SVt_PVCV && !isGV_with_GP(sv) && type != SVt_PVFM
-	 && type != SVt_PVIO && type != SVt_REGEXP)
+	 && type != SVt_PVCV && type != SVt_PVFM && type != SVt_PVIO
+	 && type != SVt_REGEXP && !isGV_with_GP(sv) && !SvVALID(sv))
 	|| (type == SVt_IV && !SvROK(sv))) {
 	if (SvIsUV(sv)
 #ifdef PERL_OLD_COPY_ON_WRITE
@@ -1728,7 +1627,8 @@
 	PerlIO_putc(file, '\n');
     }
 
-    if ((type == SVt_PVNV || type == SVt_PVMG) && SvFLAGS(sv) & SVpad_NAME) {
+    if ((type == SVt_PVNV || type == SVt_PVMG)
+	&& (SvFLAGS(sv) & SVpad_NAME) == SVpad_NAME) {
 	Perl_dump_indent(aTHX_ level, file, "  COP_LOW = %"UVuf"\n",
 			 (UV) COP_SEQ_RANGE_LOW(sv));
 	Perl_dump_indent(aTHX_ level, file, "  COP_HIGH = %"UVuf"\n",
@@ -1754,12 +1654,15 @@
     }
 
     if (type < SVt_PV) {
-	SvREFCNT_dec(d);
+	SvREFCNT_dec_NN(d);
 	return;
     }
 
-    if ((type <= SVt_PVLV && !isGV_with_GP(sv)) || type == SVt_PVFM) {
-	if (SvPVX_const(sv)) {
+    if (type <= SVt_PVLV && !isGV_with_GP(sv)) {
+	const bool re = isREGEXP(sv);
+	const char * const ptr =
+	    re ? RX_WRAPPED((REGEXP*)sv) : SvPVX_const(sv);
+	if (ptr) {
 	    STRLEN delta;
 	    if (SvOOK(sv)) {
 		SvOOK_offset(sv, delta);
@@ -1768,18 +1671,27 @@
 	    } else {
 		delta = 0;
 	    }
-	    Perl_dump_indent(aTHX_ level, file,"  PV = 0x%"UVxf" ", PTR2UV(SvPVX_const(sv)));
+	    Perl_dump_indent(aTHX_ level, file,"  PV = 0x%"UVxf" ", PTR2UV(ptr));
 	    if (SvOOK(sv)) {
 		PerlIO_printf(file, "( %s . ) ",
-			      pv_display(d, SvPVX_const(sv) - delta, delta, 0,
+			      pv_display(d, ptr - delta, delta, 0,
 					 pvlim));
 	    }
-	    PerlIO_printf(file, "%s", pv_display(d, SvPVX_const(sv), SvCUR(sv), SvLEN(sv), pvlim));
+	    PerlIO_printf(file, "%s", pv_display(d, ptr, SvCUR(sv),
+						 re ? 0 : SvLEN(sv),
+						 pvlim));
 	    if (SvUTF8(sv)) /* the 6?  \x{....} */
 	        PerlIO_printf(file, " [UTF8 \"%s\"]", sv_uni_display(d, sv, 6 * SvCUR(sv), UNI_DISPLAY_QQ));
 	    PerlIO_printf(file, "\n");
 	    Perl_dump_indent(aTHX_ level, file, "  CUR = %"IVdf"\n", (IV)SvCUR(sv));
-	    Perl_dump_indent(aTHX_ level, file, "  LEN = %"IVdf"\n", (IV)SvLEN(sv));
+	    if (!re)
+		Perl_dump_indent(aTHX_ level, file, "  LEN = %"IVdf"\n",
+				       (IV)SvLEN(sv));
+#ifdef PERL_NEW_COPY_ON_WRITE
+	    if (SvIsCOW(sv) && SvLEN(sv))
+		Perl_dump_indent(aTHX_ level, file, "  COW_REFCNT = %d\n",
+				       CowREFCNT(sv));
+#endif
 	}
 	else
 	    Perl_dump_indent(aTHX_ level, file, "  PV = 0\n");
@@ -1796,6 +1708,12 @@
 	}
 	if (SvSTASH(sv))
 	    do_hv_dump(level, file, "  STASH", SvSTASH(sv));
+
+	if ((type == SVt_PVMG || type == SVt_PVLV) && SvVALID(sv)) {
+	    Perl_dump_indent(aTHX_ level, file, "  RARE = %u\n", (U8)BmRARE(sv));
+	    Perl_dump_indent(aTHX_ level, file, "  PREVIOUS = %"UVuf"\n", (UV)BmPREVIOUS(sv));
+	    Perl_dump_indent(aTHX_ level, file, "  USEFUL = %"IVdf"\n", (IV)BmUSEFUL(sv));
+	}
     }
 
     /* Dump type-specific SV fields */
@@ -1830,13 +1748,13 @@
 	break;
     case SVt_PVHV:
 	Perl_dump_indent(aTHX_ level, file, "  ARRAY = 0x%"UVxf, PTR2UV(HvARRAY(sv)));
-	if (HvARRAY(sv) && HvKEYS(sv)) {
+	if (HvARRAY(sv) && HvUSEDKEYS(sv)) {
 	    /* Show distribution of HEs in the ARRAY */
 	    int freq[200];
 #define FREQ_MAX ((int)(sizeof freq / sizeof freq[0] - 1))
 	    int i;
 	    int max = 0;
-	    U32 pow2 = 2, keys = HvKEYS(sv);
+	    U32 pow2 = 2, keys = HvUSEDKEYS(sv);
 	    NV theoret, sum = 0;
 
 	    PerlIO_printf(file, "  (");
@@ -1878,17 +1796,26 @@
             }
 	    while ((keys = keys >> 1))
 		pow2 = pow2 << 1;
-	    theoret = HvKEYS(sv);
+	    theoret = HvUSEDKEYS(sv);
 	    theoret += theoret * (theoret-1)/pow2;
 	    PerlIO_putc(file, '\n');
 	    Perl_dump_indent(aTHX_ level, file, "  hash quality = %.1"NVff"%%", theoret/sum*100);
 	}
 	PerlIO_putc(file, '\n');
-	Perl_dump_indent(aTHX_ level, file, "  KEYS = %"IVdf"\n", (IV)HvKEYS(sv));
+	Perl_dump_indent(aTHX_ level, file, "  KEYS = %"IVdf"\n", (IV)HvUSEDKEYS(sv));
 	Perl_dump_indent(aTHX_ level, file, "  FILL = %"IVdf"\n", (IV)HvFILL(sv));
 	Perl_dump_indent(aTHX_ level, file, "  MAX = %"IVdf"\n", (IV)HvMAX(sv));
-	Perl_dump_indent(aTHX_ level, file, "  RITER = %"IVdf"\n", (IV)HvRITER_get(sv));
-	Perl_dump_indent(aTHX_ level, file, "  EITER = 0x%"UVxf"\n", PTR2UV(HvEITER_get(sv)));
+        if (SvOOK(sv)) {
+	    Perl_dump_indent(aTHX_ level, file, "  RITER = %"IVdf"\n", (IV)HvRITER_get(sv));
+	    Perl_dump_indent(aTHX_ level, file, "  EITER = 0x%"UVxf"\n", PTR2UV(HvEITER_get(sv)));
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+	    Perl_dump_indent(aTHX_ level, file, "  RAND = 0x%"UVxf, (UV)HvRAND_get(sv));
+            if (HvRAND_get(sv) != HvLASTRAND_get(sv) && HvRITER_get(sv) != -1 ) {
+                PerlIO_printf(file, " (LAST = 0x%"UVxf")", (UV)HvLASTRAND_get(sv));
+            }
+#endif
+            PerlIO_putc(file, '\n');
+        }
 	{
 	    MAGIC * const mg = mg_find(sv, PERL_MAGIC_symtab);
 	    if (mg && mg->mg_obj) {
@@ -1982,42 +1909,51 @@
 	    }
 	}
 	if (nest < maxnest) {
-	    if (HvEITER_get(sv)) /* preserve iterator */
-		Perl_dump_indent(aTHX_ level, file,
-		    "  (*** Active iterator; skipping element dump ***)\n");
-	    else {
-		HE *he;
-		HV * const hv = MUTABLE_HV(sv);
+	    HV * const hv = MUTABLE_HV(sv);
+	    STRLEN i;
+	    HE *he;
+
+	    if (HvARRAY(hv)) {
 		int count = maxnest - nest;
+		for (i=0; i <= HvMAX(hv); i++) {
+		    for (he = HvARRAY(hv)[i]; he; he = HeNEXT(he)) {
+			U32 hash;
+			SV * keysv;
+			const char * keypv;
+			SV * elt;
+                        STRLEN len;
 
-		hv_iterinit(hv);
-		while ((he = hv_iternext_flags(hv, HV_ITERNEXT_WANTPLACEHOLDERS))
-		       && count--) {
-		    STRLEN len;
-		    const U32 hash = HeHASH(he);
-		    SV * const keysv = hv_iterkeysv(he);
-		    const char * const keypv = SvPV_const(keysv, len);
-		    SV * const elt = hv_iterval(hv, he);
+			if (count-- <= 0) goto DONEHV;
 
-		    Perl_dump_indent(aTHX_ level+1, file, "Elt %s ", pv_display(d, keypv, len, 0, pvlim));
-		    if (SvUTF8(keysv))
-			PerlIO_printf(file, "[UTF8 \"%s\"] ", sv_uni_display(d, keysv, 6 * SvCUR(keysv), UNI_DISPLAY_QQ));
-		    if (HeKREHASH(he))
-			PerlIO_printf(file, "[REHASH] ");
-		    PerlIO_printf(file, "HASH = 0x%"UVxf"\n", (UV)hash);
-		    do_sv_dump(level+1, file, elt, nest+1, maxnest, dumpops, pvlim);
+			hash = HeHASH(he);
+			keysv = hv_iterkeysv(he);
+			keypv = SvPV_const(keysv, len);
+			elt = HeVAL(he);
+
+                        Perl_dump_indent(aTHX_ level+1, file, "Elt %s ", pv_display(d, keypv, len, 0, pvlim));
+                        if (SvUTF8(keysv))
+                            PerlIO_printf(file, "[UTF8 \"%s\"] ", sv_uni_display(d, keysv, 6 * SvCUR(keysv), UNI_DISPLAY_QQ));
+			if (HvEITER_get(hv) == he)
+			    PerlIO_printf(file, "[CURRENT] ");
+                        PerlIO_printf(file, "HASH = 0x%"UVxf"\n", (UV) hash);
+                        do_sv_dump(level+1, file, elt, nest+1, maxnest, dumpops, pvlim);
+                    }
 		}
-		hv_iterinit(hv);		/* Return to status quo */
+	      DONEHV:;
 	    }
 	}
 	break;
 
     case SVt_PVCV:
+	if (CvAUTOLOAD(sv)) {
+	    STRLEN len;
+	    const char *const name =  SvPV_const(sv, len);
+	    Perl_dump_indent(aTHX_ level, file, "  AUTOLOAD = \"%.*s\"\n",
+			     (int) len, name);
+	}
 	if (SvPOK(sv)) {
-	    STRLEN len;
-	    const char *const proto =  SvPV_const(sv, len);
 	    Perl_dump_indent(aTHX_ level, file, "  PROTOTYPE = \"%.*s\"\n",
-			     (int) len, proto);
+			     (int) CvPROTOLEN(sv), CvPROTO(sv));
 	}
 	/* FALL THROUGH */
     case SVt_PVFM:
@@ -2050,14 +1986,14 @@
 				 (IV)CvXSUBANY(sv).any_i32);
 	    }
 	}
- 	do_gvgv_dump(level, file, "  GVGV::GV", CvGV(sv));
+	if (CvNAMED(sv))
+	    Perl_dump_indent(aTHX_ level, file, "  NAME = \"%s\"\n",
+				   HEK_KEY(CvNAME_HEK((CV *)sv)));
+	else do_gvgv_dump(level, file, "  GVGV::GV", CvGV(sv));
 	Perl_dump_indent(aTHX_ level, file, "  FILE = \"%s\"\n", CvFILE(sv));
-	if (type == SVt_PVCV)
-	    Perl_dump_indent(aTHX_ level, file, "  DEPTH = %"IVdf"\n", (IV)CvDEPTH(sv));
+	Perl_dump_indent(aTHX_ level, file, "  DEPTH = %"IVdf"\n", (IV)CvDEPTH(sv));
 	Perl_dump_indent(aTHX_ level, file, "  FLAGS = 0x%"UVxf"\n", (UV)CvFLAGS(sv));
 	Perl_dump_indent(aTHX_ level, file, "  OUTSIDE_SEQ = %"UVuf"\n", (UV)CvOUTSIDE_SEQ(sv));
-	if (type == SVt_PVFM)
-	    Perl_dump_indent(aTHX_ level, file, "  LINES = %"IVdf"\n", (IV)FmLINES(sv));
 	Perl_dump_indent(aTHX_ level, file, "  PADLIST = 0x%"UVxf"\n", PTR2UV(CvPADLIST(sv)));
 	if (nest < maxnest) {
 	    do_dump_pad(level+1, file, CvPADLIST(sv), 0);
@@ -2083,16 +2019,12 @@
 	    Perl_dump_indent(aTHX_ level, file, "  TARGOFF = %"IVdf"\n", (IV)LvTARGOFF(sv));
 	    Perl_dump_indent(aTHX_ level, file, "  TARGLEN = %"IVdf"\n", (IV)LvTARGLEN(sv));
 	    Perl_dump_indent(aTHX_ level, file, "  TARG = 0x%"UVxf"\n", PTR2UV(LvTARG(sv)));
+	    Perl_dump_indent(aTHX_ level, file, "  FLAGS = %"IVdf"\n", (IV)LvFLAGS(sv));
 	    if (LvTYPE(sv) != 't' && LvTYPE(sv) != 'T')
 		do_sv_dump(level+1, file, LvTARG(sv), nest+1, maxnest,
 		    dumpops, pvlim);
 	}
-	if (SvVALID(sv)) {
-	    Perl_dump_indent(aTHX_ level, file, "  FLAGS = %u\n", (U8)BmFLAGS(sv));
-	    Perl_dump_indent(aTHX_ level, file, "  RARE = %u\n", (U8)BmRARE(sv));
-	    Perl_dump_indent(aTHX_ level, file, "  PREVIOUS = %"UVuf"\n", (UV)BmPREVIOUS(sv));
-	    Perl_dump_indent(aTHX_ level, file, "  USEFUL = %"IVdf"\n", (IV)BmUSEFUL(sv));
-	}
+	if (isREGEXP(sv)) goto dumpregexp;
 	if (!isGV_with_GP(sv))
 	    break;
 	Perl_dump_indent(aTHX_ level, file, "  NAME = \"%s\"\n", GvNAME(sv));
@@ -2161,17 +2093,26 @@
 	Perl_dump_indent(aTHX_ level, file, "  FLAGS = 0x%"UVxf"\n", (UV)IoFLAGS(sv));
 	break;
     case SVt_REGEXP:
+      dumpregexp:
 	{
-	    struct regexp * const r = (struct regexp *)SvANY(sv);
-	    flags = RX_EXTFLAGS((REGEXP*)sv);
-	    sv_setpv(d,"");
-	    append_flags(d, flags, regexp_flags_names);
-	    if (*(SvEND(d) - 1) == ',') {
-		SvCUR_set(d, SvCUR(d) - 1);
-		SvPVX(d)[SvCUR(d)] = '\0';
-	    }
+	    struct regexp * const r = ReANY((REGEXP*)sv);
+#define SV_SET_STRINGIFY_REGEXP_FLAGS(d,flags) STMT_START { \
+            sv_setpv(d,"");                                 \
+            append_flags(d, flags, regexp_flags_names);     \
+            if (SvCUR(d) > 0 && *(SvEND(d) - 1) == ',') {       \
+                SvCUR_set(d, SvCUR(d) - 1);                 \
+                SvPVX(d)[SvCUR(d)] = '\0';                  \
+            }                                               \
+} STMT_END
+            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->compflags);
+            Perl_dump_indent(aTHX_ level, file, "  COMPFLAGS = 0x%"UVxf" (%s)\n",
+                                (UV)(r->compflags), SvPVX_const(d));
+
+            SV_SET_STRINGIFY_REGEXP_FLAGS(d,r->extflags);
 	    Perl_dump_indent(aTHX_ level, file, "  EXTFLAGS = 0x%"UVxf" (%s)\n",
-				(UV)flags, SvPVX_const(d));
+                                (UV)(r->extflags), SvPVX_const(d));
+#undef SV_SET_STRINGIFY_REGEXP_FLAGS
+
 	    Perl_dump_indent(aTHX_ level, file, "  INTFLAGS = 0x%"UVxf"\n",
 				(UV)(r->intflags));
 	    Perl_dump_indent(aTHX_ level, file, "  NPARENS = %"UVuf"\n",
@@ -2188,10 +2129,12 @@
 				(UV)(r->gofs));
 	    Perl_dump_indent(aTHX_ level, file, "  PRE_PREFIX = %"UVuf"\n",
 				(UV)(r->pre_prefix));
-	    Perl_dump_indent(aTHX_ level, file, "  SEEN_EVALS = %"UVuf"\n",
-				(UV)(r->seen_evals));
 	    Perl_dump_indent(aTHX_ level, file, "  SUBLEN = %"IVdf"\n",
 				(IV)(r->sublen));
+	    Perl_dump_indent(aTHX_ level, file, "  SUBOFFSET = %"IVdf"\n",
+				(IV)(r->suboffset));
+	    Perl_dump_indent(aTHX_ level, file, "  SUBCOFFSET = %"IVdf"\n",
+				(IV)(r->subcoffset));
 	    if (r->subbeg)
 		Perl_dump_indent(aTHX_ level, file, "  SUBBEG = 0x%"UVxf" %s\n",
 			    PTR2UV(r->subbeg),
@@ -2210,7 +2153,9 @@
 				PTR2UV(r->pprivate));
 	    Perl_dump_indent(aTHX_ level, file, "  OFFS = 0x%"UVxf"\n",
 				PTR2UV(r->offs));
-#ifdef PERL_OLD_COPY_ON_WRITE
+	    Perl_dump_indent(aTHX_ level, file, "  QR_ANONCV = 0x%"UVxf"\n",
+				PTR2UV(r->qr_anoncv));
+#ifdef PERL_ANY_COW
 	    Perl_dump_indent(aTHX_ level, file, "  SAVED_COPY = 0x%"UVxf"\n",
 				PTR2UV(r->saved_copy));
 #endif
@@ -2217,7 +2162,7 @@
 	}
 	break;
     }
-    SvREFCNT_dec(d);
+    SvREFCNT_dec_NN(d);
 }
 
 void
@@ -2263,8 +2208,11 @@
 	    if (DEBUG_t_TEST_) debop(PL_op);
 	    if (DEBUG_P_TEST_) debprof(PL_op);
 	}
+
+        OP_ENTRY_PROBE(OP_NAME(PL_op));
     } while ((PL_op = PL_op->op_ppaddr(aTHX)));
     DEBUG_l(Perl_deb(aTHX_ "leaving RUNOPS level\n"));
+    PERL_ASYNC_CHECK();
 
     TAINT_NOT;
     return 0;
@@ -2304,30 +2252,50 @@
 #endif
 	    gv_fullname3(sv, cGVOPo_gv, NULL);
 	    PerlIO_printf(Perl_debug_log, "(%s)", SvPV_nolen_const(sv));
-	    SvREFCNT_dec(sv);
+	    SvREFCNT_dec_NN(sv);
 	}
 	else
 	    PerlIO_printf(Perl_debug_log, "(NULL)");
 	break;
+
+    {
+        int count;
+
     case OP_PADSV:
     case OP_PADAV:
     case OP_PADHV:
-	{
+        count = 1;
+        goto dump_padop;
+    case OP_PADRANGE:
+        count = o->op_private & OPpPADRANGE_COUNTMASK;
+    dump_padop:
 	/* print the lexical's name */
-	CV * const cv = deb_curcv(cxstack_ix);
-	SV *sv;
-        if (cv) {
-	    AV * const padlist = CvPADLIST(cv);
-            AV * const comppad = MUTABLE_AV(*av_fetch(padlist, 0, FALSE));
-            sv = *av_fetch(comppad, o->op_targ, FALSE);
-        } else
-            sv = NULL;
-        if (sv)
-	    PerlIO_printf(Perl_debug_log, "(%s)", SvPV_nolen_const(sv));
-        else
-	    PerlIO_printf(Perl_debug_log, "[%"UVuf"]", (UV)o->op_targ);
-	}
+        {
+            CV * const cv = deb_curcv(cxstack_ix);
+            SV *sv;
+            PAD * comppad = NULL;
+            int i;
+
+            if (cv) {
+                PADLIST * const padlist = CvPADLIST(cv);
+                comppad = *PadlistARRAY(padlist);
+            }
+            PerlIO_printf(Perl_debug_log, "(");
+            for (i = 0; i < count; i++) {
+                if (comppad &&
+                        (sv = *av_fetch(comppad, o->op_targ + i, FALSE)))
+                    PerlIO_printf(Perl_debug_log, "%s", SvPV_nolen_const(sv));
+                else
+                    PerlIO_printf(Perl_debug_log, "[%"UVuf"]",
+                            (UV)o->op_targ+i);
+                if (i < count-1)
+                    PerlIO_printf(Perl_debug_log, ",");
+            }
+            PerlIO_printf(Perl_debug_log, ")");
+        }
         break;
+    }
+
     default:
 	break;
     }
@@ -2343,7 +2311,7 @@
     if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT)
         return cx->blk_sub.cv;
     else if (CxTYPE(cx) == CXt_EVAL && !CxTRYBLOCK(cx))
-        return PL_compcv;
+        return cx->blk_eval.cv;
     else if (ix == 0 && PL_curstackinfo->si_type == PERLSI_MAIN)
         return PL_main_cv;
     else if (ix <= 0)
@@ -2567,7 +2535,7 @@
   retry:
     while (pv < e) {
 	if (utf8) {
-	    c = utf8_to_uvchr((U8*)pv, &cl);
+	    c = utf8_to_uvchr_buf((U8*)pv, (U8*)e, &cl);
 	    if (cl == 0) {
 		SvCUR(dsv) = dsvcur;
 		pv = start;
@@ -2693,7 +2661,7 @@
 	sv_catpv(t, "VOID=\"\"");
 	goto finish;
     }
-    else if (sv == (const SV *)0x55555555 || SvTYPE(sv) == 'U') {
+    else if (sv == (const SV *)0x55555555 || ((char)SvTYPE(sv)) == 'U') {
 	sv_catpv(t, "WILD=\"\"");
 	goto finish;
     }
@@ -2860,7 +2828,7 @@
 	sv_catxmlsv(tmpsv, MUTABLE_SV(r));
 	Perl_xmldump_indent(aTHX_ level, file, "pre=\"%s\"\n",
 	     SvPVX(tmpsv));
-	SvREFCNT_dec(tmpsv);
+	SvREFCNT_dec_NN(tmpsv);
 	Perl_xmldump_indent(aTHX_ level, file, "when=\"%s\"\n",
 	     (pm->op_private & OPpRUNTIME) ? "RUN" : "COMP");
     }
@@ -2869,7 +2837,7 @@
     if (pm->op_pmflags || (PM_GETRE(pm) && RX_CHECK_SUBSTR(PM_GETRE(pm)))) {
 	SV * const tmpsv = pm_description(pm);
 	Perl_xmldump_indent(aTHX_ level, file, "pmflags=\"%s\"\n", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
-	SvREFCNT_dec(tmpsv);
+	SvREFCNT_dec_NN(tmpsv);
     }
 
     level--;
@@ -2895,12 +2863,12 @@
 {
     UV      seq;
     int     contents = 0;
+    const OPCODE optype = o->op_type;
 
     PERL_ARGS_ASSERT_DO_OP_XMLDUMP;
 
     if (!o)
 	return;
-    sequence(o);
     seq = sequence_num(o);
     Perl_xmldump_indent(aTHX_ level, file,
 	"<op_%s seq=\"%"UVuf" -> ",
@@ -2914,7 +2882,7 @@
 	PerlIO_printf(file, "DONE\"");
 
     if (o->op_targ) {
-	if (o->op_type == OP_NULL)
+	if (optype == OP_NULL)
 	{
 	    PerlIO_printf(file, " was=\"%s\"", PL_op_name[o->op_targ]);
 	    if (o->op_targ == OP_NEXTSTATE)
@@ -2936,205 +2904,11 @@
 #ifdef DUMPADDR
     PerlIO_printf(file, " addr=\"0x%"UVxf" => 0x%"UVxf"\"", (UV)o, (UV)o->op_next);
 #endif
-    if (o->op_flags) {
-	SV * const tmpsv = newSVpvs("");
-	switch (o->op_flags & OPf_WANT) {
-	case OPf_WANT_VOID:
-	    sv_catpv(tmpsv, ",VOID");
-	    break;
-	case OPf_WANT_SCALAR:
-	    sv_catpv(tmpsv, ",SCALAR");
-	    break;
-	case OPf_WANT_LIST:
-	    sv_catpv(tmpsv, ",LIST");
-	    break;
-	default:
-	    sv_catpv(tmpsv, ",UNKNOWN");
-	    break;
-	}
-	if (o->op_flags & OPf_KIDS)
-	    sv_catpv(tmpsv, ",KIDS");
-	if (o->op_flags & OPf_PARENS)
-	    sv_catpv(tmpsv, ",PARENS");
-	if (o->op_flags & OPf_STACKED)
-	    sv_catpv(tmpsv, ",STACKED");
-	if (o->op_flags & OPf_REF)
-	    sv_catpv(tmpsv, ",REF");
-	if (o->op_flags & OPf_MOD)
-	    sv_catpv(tmpsv, ",MOD");
-	if (o->op_flags & OPf_SPECIAL)
-	    sv_catpv(tmpsv, ",SPECIAL");
-	PerlIO_printf(file, " flags=\"%s\"", SvCUR(tmpsv) ? SvPVX(tmpsv) + 1 : "");
-	SvREFCNT_dec(tmpsv);
-    }
-    if (o->op_private) {
-	SV * const tmpsv = newSVpvs("");
-	if (PL_opargs[o->op_type] & OA_TARGLEX) {
-	    if (o->op_private & OPpTARGET_MY)
-		sv_catpv(tmpsv, ",TARGET_MY");
-	}
-	else if (o->op_type == OP_LEAVESUB ||
-		 o->op_type == OP_LEAVE ||
-		 o->op_type == OP_LEAVESUBLV ||
-		 o->op_type == OP_LEAVEWRITE) {
-	    if (o->op_private & OPpREFCOUNTED)
-		sv_catpv(tmpsv, ",REFCOUNTED");
-	}
-        else if (o->op_type == OP_AASSIGN) {
-	    if (o->op_private & OPpASSIGN_COMMON)
-		sv_catpv(tmpsv, ",COMMON");
-	}
-	else if (o->op_type == OP_SASSIGN) {
-	    if (o->op_private & OPpASSIGN_BACKWARDS)
-		sv_catpv(tmpsv, ",BACKWARDS");
-	}
-	else if (o->op_type == OP_TRANS) {
-	    if (o->op_private & OPpTRANS_SQUASH)
-		sv_catpv(tmpsv, ",SQUASH");
-	    if (o->op_private & OPpTRANS_DELETE)
-		sv_catpv(tmpsv, ",DELETE");
-	    if (o->op_private & OPpTRANS_COMPLEMENT)
-		sv_catpv(tmpsv, ",COMPLEMENT");
-	    if (o->op_private & OPpTRANS_IDENTICAL)
-		sv_catpv(tmpsv, ",IDENTICAL");
-	    if (o->op_private & OPpTRANS_GROWS)
-		sv_catpv(tmpsv, ",GROWS");
-	}
-	else if (o->op_type == OP_REPEAT) {
-	    if (o->op_private & OPpREPEAT_DOLIST)
-		sv_catpv(tmpsv, ",DOLIST");
-	}
-	else if (o->op_type == OP_ENTERSUB ||
-		 o->op_type == OP_RV2SV ||
-		 o->op_type == OP_GVSV ||
-		 o->op_type == OP_RV2AV ||
-		 o->op_type == OP_RV2HV ||
-		 o->op_type == OP_RV2GV ||
-		 o->op_type == OP_AELEM ||
-		 o->op_type == OP_HELEM )
-	{
-	    if (o->op_type == OP_ENTERSUB) {
-		if (o->op_private & OPpENTERSUB_AMPER)
-		    sv_catpv(tmpsv, ",AMPER");
-		if (o->op_private & OPpENTERSUB_DB)
-		    sv_catpv(tmpsv, ",DB");
-		if (o->op_private & OPpENTERSUB_HASTARG)
-		    sv_catpv(tmpsv, ",HASTARG");
-		if (o->op_private & OPpENTERSUB_NOPAREN)
-		    sv_catpv(tmpsv, ",NOPAREN");
-		if (o->op_private & OPpENTERSUB_INARGS)
-		    sv_catpv(tmpsv, ",INARGS");
-		if (o->op_private & OPpENTERSUB_NOMOD)
-		    sv_catpv(tmpsv, ",NOMOD");
-	    }
-	    else {
-		switch (o->op_private & OPpDEREF) {
-	    case OPpDEREF_SV:
-		sv_catpv(tmpsv, ",SV");
-		break;
-	    case OPpDEREF_AV:
-		sv_catpv(tmpsv, ",AV");
-		break;
-	    case OPpDEREF_HV:
-		sv_catpv(tmpsv, ",HV");
-		break;
-	    }
-		if (o->op_private & OPpMAYBE_LVSUB)
-		    sv_catpv(tmpsv, ",MAYBE_LVSUB");
-	    }
-	    if (o->op_type == OP_AELEM || o->op_type == OP_HELEM) {
-		if (o->op_private & OPpLVAL_DEFER)
-		    sv_catpv(tmpsv, ",LVAL_DEFER");
-	    }
-	    else {
-		if (o->op_private & HINT_STRICT_REFS)
-		    sv_catpv(tmpsv, ",STRICT_REFS");
-		if (o->op_private & OPpOUR_INTRO)
-		    sv_catpv(tmpsv, ",OUR_INTRO");
-	    }
-	}
-	else if (o->op_type == OP_CONST) {
-	    if (o->op_private & OPpCONST_BARE)
-		sv_catpv(tmpsv, ",BARE");
-	    if (o->op_private & OPpCONST_STRICT)
-		sv_catpv(tmpsv, ",STRICT");
-	    if (o->op_private & OPpCONST_ARYBASE)
-		sv_catpv(tmpsv, ",ARYBASE");
-	    if (o->op_private & OPpCONST_WARNING)
-		sv_catpv(tmpsv, ",WARNING");
-	    if (o->op_private & OPpCONST_ENTERED)
-		sv_catpv(tmpsv, ",ENTERED");
-	}
-	else if (o->op_type == OP_FLIP) {
-	    if (o->op_private & OPpFLIP_LINENUM)
-		sv_catpv(tmpsv, ",LINENUM");
-	}
-	else if (o->op_type == OP_FLOP) {
-	    if (o->op_private & OPpFLIP_LINENUM)
-		sv_catpv(tmpsv, ",LINENUM");
-	}
-	else if (o->op_type == OP_RV2CV) {
-	    if (o->op_private & OPpLVAL_INTRO)
-		sv_catpv(tmpsv, ",INTRO");
-	}
-	else if (o->op_type == OP_GV) {
-	    if (o->op_private & OPpEARLY_CV)
-		sv_catpv(tmpsv, ",EARLY_CV");
-	}
-	else if (o->op_type == OP_LIST) {
-	    if (o->op_private & OPpLIST_GUESSED)
-		sv_catpv(tmpsv, ",GUESSED");
-	}
-	else if (o->op_type == OP_DELETE) {
-	    if (o->op_private & OPpSLICE)
-		sv_catpv(tmpsv, ",SLICE");
-	}
-	else if (o->op_type == OP_EXISTS) {
-	    if (o->op_private & OPpEXISTS_SUB)
-		sv_catpv(tmpsv, ",EXISTS_SUB");
-	}
-	else if (o->op_type == OP_SORT) {
-	    if (o->op_private & OPpSORT_NUMERIC)
-		sv_catpv(tmpsv, ",NUMERIC");
-	    if (o->op_private & OPpSORT_INTEGER)
-		sv_catpv(tmpsv, ",INTEGER");
-	    if (o->op_private & OPpSORT_REVERSE)
-		sv_catpv(tmpsv, ",REVERSE");
-	}
-	else if (o->op_type == OP_OPEN || o->op_type == OP_BACKTICK) {
-	    if (o->op_private & OPpOPEN_IN_RAW)
-		sv_catpv(tmpsv, ",IN_RAW");
-	    if (o->op_private & OPpOPEN_IN_CRLF)
-		sv_catpv(tmpsv, ",IN_CRLF");
-	    if (o->op_private & OPpOPEN_OUT_RAW)
-		sv_catpv(tmpsv, ",OUT_RAW");
-	    if (o->op_private & OPpOPEN_OUT_CRLF)
-		sv_catpv(tmpsv, ",OUT_CRLF");
-	}
-	else if (o->op_type == OP_EXIT) {
-	    if (o->op_private & OPpEXIT_VMSISH)
-		sv_catpv(tmpsv, ",EXIT_VMSISH");
-	    if (o->op_private & OPpHUSH_VMSISH)
-		sv_catpv(tmpsv, ",HUSH_VMSISH");
-	}
-	else if (o->op_type == OP_DIE) {
-	    if (o->op_private & OPpHUSH_VMSISH)
-		sv_catpv(tmpsv, ",HUSH_VMSISH");
-	}
-	else if (PL_check[o->op_type] != Perl_ck_ftst) {
-	    if (OP_IS_FILETEST_ACCESS(o->op_type) && o->op_private & OPpFT_ACCESS)
-		sv_catpv(tmpsv, ",FT_ACCESS");
-	    if (o->op_private & OPpFT_STACKED)
-		sv_catpv(tmpsv, ",FT_STACKED");
-	}
-	if (o->op_flags & OPf_MOD && o->op_private & OPpLVAL_INTRO)
-	    sv_catpv(tmpsv, ",INTRO");
-	if (SvCUR(tmpsv))
-	    S_xmldump_attr(aTHX_ level, file, "private=\"%s\"", SvPVX(tmpsv) + 1);
-	SvREFCNT_dec(tmpsv);
-    }
 
-    switch (o->op_type) {
+    DUMP_OP_FLAGS(o,1,0,file);
+    DUMP_OP_PRIVATE(o,1,0,file);
+
+    switch (optype) {
     case OP_AELEMFAST:
 	if (o->op_flags & OPf_SPECIAL) {
 	    break;
@@ -3286,10 +3060,10 @@
 	level--;
 	Perl_xmldump_indent(aTHX_ level, file, "</madprops>\n");
 
-	SvREFCNT_dec(tmpsv);
+	SvREFCNT_dec_NN(tmpsv);
     }
 
-    switch (o->op_type) {
+    switch (optype) {
     case OP_PUSHRE:
     case OP_MATCH:
     case OP_QR:
@@ -3333,8 +3107,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/dump.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/embed.fnc
===================================================================
--- vendor/perl/dist/embed.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/embed.fnc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,20 +10,29 @@
 :
 : flags are single letters with following meanings:
 :
-:   A  Member of public API:
+:   A  Available fully everywhere (usually part of the public API):
 :
-:         add entry to global.sym (unless x or m);
-:         any doc entry goes in perlapi.pod rather than perlintern.pod
+:         add entry to the list of exported symbols (unless x or m);
+:         any doc entry goes in perlapi.pod rather than perlintern.pod.  If no
+:	     documentation is furnished for this function, and M is also
+:	     specified, the function is not listed as part of the public API.
+:	     If M isn't specified and no documentation is furnished, the
+:	     function is listed in perlapi as existing and being undocumented
 :         makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
 :
+:      If the function is only exported for use in a public
+:      macro, see X.
+:
 :   a  Allocates memory a la malloc/calloc.  Also implies "R":
 :
 :         proto.h: add __attribute__malloc__
 :
 :   b  Binary backward compatibility; function is a macro
-:      but has also Perl_ implementation (which is exported):
+:      but has also Perl_ implementation (which is exported); often
+:      implemented in mathoms.c (whose compilation can be suppressed; see
+:      INSTALL):
 :
-:         add entry to global.sym;
+:         add entry to the list of exported symbols;
 :         don't define PERL_ARGS_ASSERT_FOO
 :
 :   D  Function is deprecated:
@@ -30,7 +39,7 @@
 :
 :         proto.h: add __attribute__deprecated__
 :
-:   d  Function has documentation with its source:
+:   d  Function has documentation in the source:
 :
 :         enables 'no docs for foo" warning in autodoc.pl
 :
@@ -42,7 +51,8 @@
 :      Should always be combined with "X" to be usable from dynamically
 :      loaded extensions.
 :
-:   f  Function takes printf style format string, varargs:
+:   f  Function takes printf style format string, varargs (hence any entry that
+:      would otherwise go in embed.h is suppressed):
 :
 :         proto.h: add __attribute__format__ (or ...null_ok__)
 :
@@ -59,7 +69,7 @@
 :   m  Implemented as a macro:
 :
 :         suppress proto.h entry
-:         suppress global.sym entry
+:         suppress entry in the list of exported symbols
 :         suppress embed.h entry
 :
 :   n  Has no implicit interpreter/thread context argument:
@@ -73,7 +83,7 @@
 :
 :      The really OLD name for API funcs
 :
-:   o  Has no Perl_foo compatibility macro:
+:   o  Has no Perl_foo or S_foo compatibility macro:
 :
 :         embed.h: suppress "#define foo Perl_foo"
 :
@@ -107,11 +117,15 @@
 :
 :   X  Explicitly exported:
 :
-:         add entry to global.sym, unless x or m
+:         add entry to the list of exported symbols, unless x or m
 :
+:      This is often used for private functions that are used by public
+:      macros.  In those cases the macros must use the long form of the
+:      name (Perl_blah(aTHX_ ...)).
+:
 :   x  Not exported
 :
-:         suppress entry in global.sym
+:         suppress entry in the list of exported symbols
 :
 : (see also L<perlguts/Internal Functions> for those flags.)
 :
@@ -178,6 +192,7 @@
 XEop	|bool	|try_amagic_un	|int method|int flags
 Ap	|SV*	|amagic_call	|NN SV* left|NN SV* right|int method|int dir
 Ap	|SV *	|amagic_deref_call|NN SV *ref|int method
+p	|bool	|amagic_is_enabled|int method
 Ap	|int	|Gv_AMupdate	|NN HV* stash|bool destructing
 ApR	|CV*	|gv_handler	|NULLOK HV* stash|I32 id
 Apd	|OP*	|op_append_elem	|I32 optype|NULLOK OP* first|NULLOK OP* last
@@ -191,6 +206,8 @@
 Apd	|SV*	|av_delete	|NN AV *av|I32 key|I32 flags
 ApdR	|bool	|av_exists	|NN AV *av|I32 key
 Apd	|void	|av_extend	|NN AV *av|I32 key
+p	|void	|av_extend_guts	|NULLOK AV *av|I32 key|NN SSize_t *maxp \
+				|NN SV ***allocp|NN SV ***arrayp
 ApdR	|SV**	|av_fetch	|NN AV *av|I32 key|I32 lval
 Apd	|void	|av_fill	|NN AV *av|I32 fill
 ApdR	|I32	|av_len		|NN AV *av
@@ -202,6 +219,8 @@
 EXp	|void	|av_reify	|NN AV *av
 ApdR	|SV*	|av_shift	|NN AV *av
 Apd	|SV**	|av_store	|NN AV *av|I32 key|NULLOK SV *val
+AidR	|I32	|av_top_index	|NN AV *av
+AmpdR	|I32	|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
 Apd	|void	|av_unshift	|NN AV *av|I32 num
@@ -242,10 +261,15 @@
 : croak()'s first parm can be NULL.  Otherwise, mod_perl breaks.
 Afprd	|void	|croak		|NULLOK const char* pat|...
 Aprd	|void	|vcroak		|NULLOK const char* pat|NULLOK va_list* args
-Aprd	|void	|croak_no_modify
-Aprd	|void	|croak_xs_usage	|NN const CV *const cv \
+Anprd	|void	|croak_no_modify
+Anprd	|void	|croak_xs_usage	|NN const CV *const cv \
 				|NN const char *const params
-
+npr	|void	|croak_no_mem
+nroX	|void	|Perl_croak_memory_wrap
+nprX	|void	|croak_popstack
+#if defined(WIN32)
+norx	|void	|win32_croak_not_implemented|NN const char * fname
+#endif
 #if defined(PERL_IMPLICIT_CONTEXT)
 Afnrp	|void	|croak_nocontext|NULLOK const char* pat|...
 Afnp	|OP*	|die_nocontext	|NULLOK const char* pat|...
@@ -263,16 +287,23 @@
 Afnp	|int	|fprintf_nocontext|NN PerlIO *stream|NN const char *format|...
 Afnp	|int	|printf_nocontext|NN const char *format|...
 #endif
+: Used in pp.c
+p	|SV *	|core_prototype	|NULLOK SV *sv|NN const char *name \
+				|const int code|NULLOK int * const opnum
+: Used in gv.c
+p	|OP *	|coresub_op	|NN SV *const coreargssv|const int code \
+				|const int opnum
 : Used in sv.c
-p	|void	|cv_ckproto_len	|NN const CV* cv|NULLOK const GV* gv\
-				|NULLOK const char* p|const STRLEN len
+p	|void	|cv_ckproto_len_flags	|NN const CV* cv|NULLOK const GV* gv\
+				|NULLOK const char* p|const STRLEN len \
+                                |const U32 flags
 : Used in pp.c and pp_sys.c
-pd	|CV*	|cv_clone	|NN CV* proto
 ApdR	|SV*	|gv_const_sv	|NN GV* gv
 ApdR	|SV*	|cv_const_sv	|NULLOK const CV *const cv
 : Used in pad.c
 pR	|SV*	|op_const_sv	|NULLOK const OP* o|NULLOK CV* cv
 Apd	|void	|cv_undef	|NN CV* cv
+p	|void	|cv_forget_slab	|NN CV *cv
 Ap	|void	|cx_dump	|NN PERL_CONTEXT* cx
 Ap	|SV*	|filter_add	|NULLOK filter_t funcp|NULLOK SV* datasv
 Ap	|void	|filter_del	|NN filter_t funcp
@@ -312,7 +343,7 @@
 p	|bool	|do_eof		|NN GV* gv
 
 #ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-pmb	|bool	|do_exec	|NN const char* cmd
+pm	|bool	|do_exec	|NN const char* cmd
 #else
 p	|bool	|do_exec	|NN const char* cmd
 #endif
@@ -346,6 +377,8 @@
 Ap	|void	|do_join	|NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
 : Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
 : p	|OP*	|do_kv
+: used in pp.c, pp_hot.c
+pR	|I32	|do_ncmp	|NN SV *const left|NN SV *const right
 Apmb	|bool	|do_open	|NN GV* gv|NN const char* name|I32 len|int as_raw \
 				|int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
 Ap	|bool	|do_open9	|NN GV *gv|NN const char *name|I32 len|int as_raw \
@@ -369,7 +402,7 @@
 : Defined in doop.c, used only in pp.c
 p	|I32	|do_trans	|NN SV* sv
 : Used in my.c and pp.c
-p	|UV	|do_vecget	|NN SV* sv|I32 offset|I32 size
+p	|UV	|do_vecget	|NN SV* sv|SSize_t offset|int size
 : Defined in doop.c, used only in mg.c (with /* XXX slurp this routine */)
 p	|void	|do_vecset	|NN SV* sv
 : Defined in doop.c, used only in pp.c
@@ -394,11 +427,14 @@
 Apd	|void	|fbm_compile	|NN SV* sv|U32 flags
 ApdR	|char*	|fbm_instr	|NN unsigned char* big|NN unsigned char* bigend \
 				|NN SV* littlestr|U32 flags
+p	|CV *	|find_lexical_cv|PADOFFSET off
 : Defined in util.c, used only in perl.c
 p	|char*	|find_script	|NN const char *scriptname|bool dosearch \
 				|NULLOK const char *const *const search_ext|I32 flags
 #if defined(PERL_IN_OP_C)
 s	|OP*	|force_list	|NULLOK OP* arg
+i	|OP*	|op_integerize	|NN OP *o
+i	|OP*	|op_std_init	|NN OP *o
 : FIXME
 s	|OP*	|fold_constants	|NN OP *o
 #endif
@@ -420,7 +456,13 @@
 Apmb	|GV*	|gv_AVadd	|NULLOK GV *gv
 Apmb	|GV*	|gv_HVadd	|NULLOK GV *gv
 Apmb	|GV*	|gv_IOadd	|NULLOK GV* gv
-ApR	|GV*	|gv_autoload4	|NULLOK HV* stash|NN const char* name|STRLEN len|I32 method
+AmR	|GV*	|gv_autoload4	|NULLOK HV* stash|NN const char* name \
+				|STRLEN len|I32 method
+ApR	|GV*	|gv_autoload_sv	|NULLOK HV* stash|NN SV* namesv|U32 flags
+ApR	|GV*	|gv_autoload_pv	|NULLOK HV* stash|NN const char* namepv \
+                                |U32 flags
+ApR	|GV*	|gv_autoload_pvn	|NULLOK HV* stash|NN const char* name \
+                                        |STRLEN len|U32 flags
 Ap	|void	|gv_check	|NN const HV* stash
 Ap	|void	|gv_efullname	|NN SV* sv|NN const GV* gv
 Apmb	|void	|gv_efullname3	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix
@@ -428,13 +470,29 @@
 Ap	|GV*	|gv_fetchfile	|NN const char* name
 Ap	|GV*	|gv_fetchfile_flags|NN const char *const name|const STRLEN len\
 				|const U32 flags
-Apd	|GV*	|gv_fetchmeth	|NULLOK HV* stash|NN const char* name|STRLEN len|I32 level
-Apd	|GV*	|gv_fetchmeth_autoload	|NULLOK HV* stash|NN const char* name|STRLEN len|I32 level
+Amd	|GV*	|gv_fetchmeth	|NULLOK HV* stash|NN const char* name \
+				|STRLEN len|I32 level
+Apd	|GV*	|gv_fetchmeth_sv	|NULLOK HV* stash|NN SV* namesv|I32 level|U32 flags
+Apd	|GV*	|gv_fetchmeth_pv	|NULLOK HV* stash|NN const char* name \
+                                        |I32 level|U32 flags
+Apd	|GV*	|gv_fetchmeth_pvn	|NULLOK HV* stash|NN const char* name \
+                                        |STRLEN len|I32 level|U32 flags
+Amd	|GV*	|gv_fetchmeth_autoload	|NULLOK HV* stash \
+					|NN const char* name|STRLEN len \
+					|I32 level
+Apd	|GV*	|gv_fetchmeth_sv_autoload	|NULLOK HV* stash|NN SV* namesv|I32 level|U32 flags
+Apd	|GV*	|gv_fetchmeth_pv_autoload	|NULLOK HV* stash|NN const char* name \
+                                        |I32 level|U32 flags
+Apd	|GV*	|gv_fetchmeth_pvn_autoload	|NULLOK HV* stash|NN const char* name \
+                                        |STRLEN len|I32 level|U32 flags
 Apdmb	|GV*	|gv_fetchmethod	|NN HV* stash|NN const char* name
 Apd	|GV*	|gv_fetchmethod_autoload|NN HV* stash|NN const char* name \
 				|I32 autoload
-ApM	|GV*	|gv_fetchmethod_flags|NN HV* stash|NN const char* name \
-				|U32 flags
+ApM	|GV*	|gv_fetchmethod_sv_flags|NN HV* stash|NN SV* namesv|U32 flags
+ApM	|GV*	|gv_fetchmethod_pv_flags|NN HV* stash|NN const char* name \
+ 				|U32 flags
+ApM	|GV*	|gv_fetchmethod_pvn_flags|NN HV* stash|NN const char* name \
+				|const STRLEN len|U32 flags
 Ap	|GV*	|gv_fetchpv	|NN const char *nambeg|I32 add|const svtype sv_type
 Ap	|void	|gv_fullname	|NN SV* sv|NN const GV* gv
 Apmb	|void	|gv_fullname3	|NN SV* sv|NN const GV* gv|NULLOK const char* prefix
@@ -443,7 +501,13 @@
 pMox	|GP *	|newGP		|NN GV *const gv
 pX	|void	|cvgv_set	|NN CV* cv|NULLOK GV* gv
 pX	|void	|cvstash_set	|NN CV* cv|NULLOK HV* stash
-Ap	|void	|gv_init	|NN GV* gv|NULLOK HV* stash|NN const char* name|STRLEN len|int multi
+Amd	|void	|gv_init	|NN GV* gv|NULLOK HV* stash \
+                                |NN const char* name|STRLEN len|int multi
+Ap	|void	|gv_init_sv	|NN GV* gv|NULLOK HV* stash|NN SV* namesv|U32 flags
+Ap	|void	|gv_init_pv	|NN GV* gv|NULLOK HV* stash|NN const char* name \
+                                |U32 flags
+Ap	|void	|gv_init_pvn	|NN GV* gv|NULLOK HV* stash|NN const char* name \
+                                |STRLEN len|U32 flags
 Ap	|void	|gv_name_set	|NN GV* gv|NN const char *name|U32 len|U32 flags
 XMpd	|void	|gv_try_downgrade|NN GV* gv
 Apd	|HV*	|gv_stashpv	|NN const char* name|I32 flags
@@ -468,7 +532,7 @@
 				|I32 klen_i32|const int action|NULLOK SV *val \
 				|const U32 hash
 Apod	|STRLEN	|hv_fill	|NN HV const *const hv
-Ap	|void	|hv_free_ent	|NN HV *hv|NULLOK HE *entryK
+Ap	|void	|hv_free_ent	|NN HV *hv|NULLOK HE *entry
 Apd	|I32	|hv_iterinit	|NN HV *hv
 ApdR	|char*	|hv_iterkey	|NN HE* entry|NN I32* retlen
 ApdR	|SV*	|hv_iterkeysv	|NN HE* entry
@@ -536,7 +600,6 @@
 Ap	|void	|init_stacks
 Ap	|void	|init_tm	|NN struct tm *ptm
 : Used in perly.y
-pd	|U32	|intro_my
 AnpPR	|char*	|instr		|NN const char* big|NN const char* little
 : Used in sv.c
 p	|bool	|io_close	|NN IO* io|bool not_implicit
@@ -543,82 +606,98 @@
 : Used in perly.y
 pR	|OP*	|invert		|NULLOK OP* cmd
 ApR	|I32	|is_lvalue_sub
-ApPR	|U32	|to_uni_upper_lc|U32 c
-ApPR	|U32	|to_uni_title_lc|U32 c
-ApPR	|U32	|to_uni_lower_lc|U32 c
-ApPR	|bool	|is_uni_alnum	|UV c
-ApPR	|bool	|is_uni_idfirst	|UV c
-ApPR	|bool	|is_uni_alpha	|UV c
-ApPR	|bool	|is_uni_ascii	|UV c
-ApPR	|bool	|is_uni_space	|UV c
-ApPR	|bool	|is_uni_cntrl	|UV c
-ApPR	|bool	|is_uni_graph	|UV c
-ApPR	|bool	|is_uni_digit	|UV c
-ApPR	|bool	|is_uni_upper	|UV c
-ApPR	|bool	|is_uni_lower	|UV c
-ApPR	|bool	|is_uni_print	|UV c
-ApPR	|bool	|is_uni_punct	|UV c
-ApPR	|bool	|is_uni_xdigit	|UV c
-Ap	|UV	|to_uni_upper	|UV c|NN U8 *p|NN STRLEN *lenp
-Ap	|UV	|to_uni_title	|UV c|NN U8 *p|NN STRLEN *lenp
-Ap	|UV	|to_uni_lower	|UV c|NN U8 *p|NN STRLEN *lenp
-Amp	|UV	|to_uni_fold	|UV c|NN U8 *p|NN STRLEN *lenp
-AMp	|UV	|_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|U8 flags
-ApPR	|bool	|is_uni_alnum_lc|UV c
-ApPR	|bool	|is_uni_idfirst_lc|UV c
-ApPR	|bool	|is_uni_alpha_lc|UV c
-ApPR	|bool	|is_uni_ascii_lc|UV c
-ApPR	|bool	|is_uni_space_lc|UV c
-ApPR	|bool	|is_uni_cntrl_lc|UV c
-ApPR	|bool	|is_uni_graph_lc|UV c
-ApPR	|bool	|is_uni_digit_lc|UV c
-ApPR	|bool	|is_uni_upper_lc|UV c
-ApPR	|bool	|is_uni_lower_lc|UV c
-ApPR	|bool	|is_uni_print_lc|UV c
-ApPR	|bool	|is_uni_punct_lc|UV c
-ApPR	|bool	|is_uni_xdigit_lc|UV c
+: Used in cop.h
+XopR	|I32	|was_lvalue_sub
+ADMpPR	|U32	|to_uni_upper_lc|U32 c
+ADMpPR	|U32	|to_uni_title_lc|U32 c
+ADMpPR	|U32	|to_uni_lower_lc|U32 c
+ADMpPR	|bool	|is_uni_alnum	|UV c
+ADMpPR	|bool	|is_uni_alnumc	|UV c
+ADMpPR	|bool	|is_uni_idfirst	|UV c
+ADMpPR	|bool	|is_uni_alpha	|UV c
+ADMpPR	|bool	|is_uni_ascii	|UV c
+ADMpPR	|bool	|is_uni_blank	|UV c
+ADMpPR	|bool	|is_uni_space	|UV c
+ADMpPR	|bool	|is_uni_cntrl	|UV c
+ADMpPR	|bool	|is_uni_graph	|UV c
+ADMpPR	|bool	|is_uni_digit	|UV c
+ADMpPR	|bool	|is_uni_upper	|UV c
+ADMpPR	|bool	|is_uni_lower	|UV c
+ADMpPR	|bool	|is_uni_print	|UV c
+ADMpPR	|bool	|is_uni_punct	|UV c
+ADMpPR	|bool	|is_uni_xdigit	|UV c
+AMp	|UV	|to_uni_upper	|UV c|NN U8 *p|NN STRLEN *lenp
+AMp	|UV	|to_uni_title	|UV c|NN U8 *p|NN STRLEN *lenp
+iDMPR	|bool	|isIDFIRST_lazy	|NN const char* p
+iDMPR	|bool	|isALNUM_lazy	|NN const char* p
+#ifdef PERL_IN_UTF8_C
+sR	|U8	|to_lower_latin1|const U8 c|NULLOK U8 *p|NULLOK STRLEN *lenp
+#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+EXp        |UV        |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const bool flags
+#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
+p	|UV	|_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
+#endif
+AMp	|UV	|to_uni_lower	|UV c|NN U8 *p|NN STRLEN *lenp
+AMmp	|UV	|to_uni_fold	|UV c|NN U8 *p|NN STRLEN *lenp
+AMp	|UV	|_to_uni_fold_flags|UV c|NN U8 *p|NN STRLEN *lenp|const U8 flags
+ADMpPR	|bool	|is_uni_alnum_lc|UV c
+ADMpPR	|bool	|is_uni_alnumc_lc|UV c
+ADMpPR	|bool	|is_uni_idfirst_lc|UV c
+AMpR	|bool	|_is_uni_perl_idcont|UV c
+AMpR	|bool	|_is_uni_perl_idstart|UV c
+ADMpPR	|bool	|is_uni_alpha_lc|UV c
+ADMpPR	|bool	|is_uni_ascii_lc|UV c
+ADMpPR	|bool	|is_uni_space_lc|UV c
+ADMpPR	|bool	|is_uni_blank_lc|UV c
+ADMpPR	|bool	|is_uni_cntrl_lc|UV c
+ADMpPR	|bool	|is_uni_graph_lc|UV c
+ADMpPR	|bool	|is_uni_digit_lc|UV c
+ADMpPR	|bool	|is_uni_upper_lc|UV c
+ADMpPR	|bool	|is_uni_lower_lc|UV c
+ADMpPR	|bool	|is_uni_print_lc|UV c
+ADMpPR	|bool	|is_uni_punct_lc|UV c
+ADMpPR	|bool	|is_uni_xdigit_lc|UV c
 Anpd	|bool	|is_ascii_string|NN const U8 *s|STRLEN len
-Anpd	|STRLEN	|is_utf8_char	|NN const U8 *s
+AnpdD	|STRLEN	|is_utf8_char	|NN const U8 *s
+Anpd	|STRLEN	|is_utf8_char_buf|NN const U8 *buf|NN const U8 *buf_end
 Anpd	|bool	|is_utf8_string	|NN const U8 *s|STRLEN len
-Anpdmb	|bool	|is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **p
+Anpdmb	|bool	|is_utf8_string_loc|NN const U8 *s|STRLEN len|NULLOK const U8 **ep
 Anpd	|bool	|is_utf8_string_loclen|NN const U8 *s|STRLEN len|NULLOK const U8 **ep|NULLOK STRLEN *el
-ApR	|bool	|is_utf8_alnum	|NN const U8 *p
-ApR	|bool	|is_utf8_idfirst|NN const U8 *p
-ApR	|bool	|is_utf8_xidfirst|NN const U8 *p
-ApR	|bool	|is_utf8_idcont	|NN const U8 *p
-ApR	|bool	|is_utf8_xidcont	|NN const U8 *p
-ApR	|bool	|is_utf8_alpha	|NN const U8 *p
-ApR	|bool	|is_utf8_ascii	|NN const U8 *p
-ApR	|bool	|is_utf8_space	|NN const U8 *p
-ApR	|bool	|is_utf8_perl_space	|NN const U8 *p
-ApR	|bool	|is_utf8_perl_word	|NN const U8 *p
-ApR	|bool	|is_utf8_cntrl	|NN const U8 *p
-ApR	|bool	|is_utf8_digit	|NN const U8 *p
-ApR	|bool	|is_utf8_posix_digit	|NN const U8 *p
-ApR	|bool	|is_utf8_graph	|NN const U8 *p
-ApR	|bool	|is_utf8_upper	|NN const U8 *p
-ApR	|bool	|is_utf8_lower	|NN const U8 *p
-ApR	|bool	|is_utf8_print	|NN const U8 *p
-ApR	|bool	|is_utf8_punct	|NN const U8 *p
-ApR	|bool	|is_utf8_xdigit	|NN const U8 *p
-ApR	|bool	|is_utf8_mark	|NN const U8 *p
-EXpR	|bool	|is_utf8_X_begin	|NN const U8 *p
-EXpR	|bool	|is_utf8_X_extend	|NN const U8 *p
-EXpR	|bool	|is_utf8_X_prepend	|NN const U8 *p
-EXpR	|bool	|is_utf8_X_non_hangul	|NN const U8 *p
-EXpR	|bool	|is_utf8_X_L		|NN const U8 *p
-EXpR	|bool	|is_utf8_X_LV		|NN const U8 *p
-EXpR	|bool	|is_utf8_X_LVT		|NN const U8 *p
-EXpR	|bool	|is_utf8_X_LV_LVT_V	|NN const U8 *p
-EXpR	|bool	|is_utf8_X_T		|NN const U8 *p
-EXpR	|bool	|is_utf8_X_V		|NN const U8 *p
+AMpR	|bool	|_is_uni_FOO|const U8 classnum|const UV c
+AMpR	|bool	|_is_utf8_FOO|const U8 classnum|NN const U8 *p
+ADMpR	|bool	|is_utf8_alnum	|NN const U8 *p
+ADMpR	|bool	|is_utf8_alnumc	|NN const U8 *p
+ADMpR	|bool	|is_utf8_idfirst|NN const U8 *p
+ADMpR	|bool	|is_utf8_xidfirst|NN const U8 *p
+AMpR	|bool	|_is_utf8_perl_idcont|NN const U8 *p
+AMpR	|bool	|_is_utf8_perl_idstart|NN const U8 *p
+ADMpR	|bool	|is_utf8_idcont	|NN const U8 *p
+ADMpR	|bool	|is_utf8_xidcont	|NN const U8 *p
+ADMpR	|bool	|is_utf8_alpha	|NN const U8 *p
+ADMpR	|bool	|is_utf8_ascii	|NN const U8 *p
+ADMpR	|bool	|is_utf8_blank	|NN const U8 *p
+ADMpR	|bool	|is_utf8_space	|NN const U8 *p
+ADMpR	|bool	|is_utf8_perl_space	|NN const U8 *p
+ADMpR	|bool	|is_utf8_perl_word	|NN const U8 *p
+ADMpR	|bool	|is_utf8_cntrl	|NN const U8 *p
+ADMpR	|bool	|is_utf8_digit	|NN const U8 *p
+ADMpR	|bool	|is_utf8_posix_digit	|NN const U8 *p
+ADMpR	|bool	|is_utf8_graph	|NN const U8 *p
+ADMpR	|bool	|is_utf8_upper	|NN const U8 *p
+ADMpR	|bool	|is_utf8_lower	|NN const U8 *p
+ADMpR	|bool	|is_utf8_print	|NN const U8 *p
+ADMpR	|bool	|is_utf8_punct	|NN const U8 *p
+ADMpR	|bool	|is_utf8_xdigit	|NN const U8 *p
+AMpR	|bool	|_is_utf8_mark	|NN const U8 *p
+ADMpR	|bool	|is_utf8_mark	|NN const U8 *p
 : Used in perly.y
 p	|OP*	|jmaybe		|NN OP *o
 : Used in pp.c 
 pP	|I32	|keyword	|NN const char *name|I32 len|bool all_keywords
 #if defined(PERL_IN_OP_C)
-s	|OP*	|opt_scalarhv	|NN OP* rep_op
-s	|OP*	|is_inplace_av	|NN OP* o|NULLOK OP* oright
+s	|void	|inplace_aassign	|NN OP* o
 #endif
 Ap	|void	|leave_scope	|I32 base
 : Public lexer API
@@ -662,9 +741,22 @@
 p	|OP*	|localize	|NN OP *o|I32 lex
 ApdR	|I32	|looks_like_number|NN SV *const sv
 Apd	|UV	|grok_bin	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
-#ifdef PERL_IN_DQUOTE_STATIC_C
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
 EMsR	|char	|grok_bslash_c	|const char source|const bool utf8|const bool output_warning
-EMsR	|bool	|grok_bslash_o	|NN const char* s|NN UV* uv|NN STRLEN* len|NN const char** error_msg|const bool output_warning
+EMsR	|bool	|grok_bslash_o	|NN char** s|NN UV* uv           \
+				|NN const char** error_msg       \
+				|const bool output_warning       \
+				|const bool strict               \
+				|const bool silence_non_portable \
+				|const bool utf8
+EMiR	|bool	|grok_bslash_x	|NN char** s|NN UV* uv           \
+				|NN const char** error_msg       \
+				|const bool output_warning       \
+				|const bool strict               \
+				|const bool silence_non_portable \
+				|const bool utf8
+EMsPR	|char*|form_short_octal_warning|NN const char * const s  \
+				|const STRLEN len
 #endif
 Apd	|UV	|grok_hex	|NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV *result
 Apd	|int	|grok_number	|NN const char *pv|STRLEN len|NULLOK UV *valuep
@@ -678,6 +770,8 @@
 p	|int	|magic_clearisa	|NULLOK SV* sv|NN MAGIC* mg
 p	|int	|magic_clearpack|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_clearsig	|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_copycallchecker|NN SV* sv|NN MAGIC *mg|NN SV *nsv \
+				      |NULLOK const char *name|I32 namlen
 p	|int	|magic_existspack|NN SV* sv|NN const MAGIC* mg
 p	|int	|magic_freeovrld|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_get	|NN SV* sv|NN MAGIC* mg
@@ -691,14 +785,19 @@
 p	|int	|magic_gettaint	|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_getuvar	|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_getvec	|NN SV* sv|NN MAGIC* mg
-p	|U32	|magic_len	|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_nextpack	|NN SV *sv|NN MAGIC *mg|NN SV *key
 p	|U32	|magic_regdata_cnt|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_regdatum_get|NN SV* sv|NN MAGIC* mg
+:removing noreturn to silence a warning for this function resulted in no
+:change to the interpreter DLL image under VS 2003 -O1 -GL 32 bits
+#ifdef _MSC_VER
+p	|int	|magic_regdatum_set|NN SV* sv|NN MAGIC* mg
+#else
 pr	|int	|magic_regdatum_set|NN SV* sv|NN MAGIC* mg
+#endif
 p	|int	|magic_set	|NN SV* sv|NN MAGIC* mg
-p	|int	|magic_setamagic|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_setarylen|NN SV* sv|NN MAGIC* mg
+p	|int	|magic_cleararylen_p|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_freearylen_p|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_setdbline|NN SV* sv|NN MAGIC* mg
 p	|int	|magic_setdefelem|NN SV* sv|NN MAGIC* mg
@@ -746,14 +845,17 @@
 Apd	|int	|mg_free	|NN SV* sv
 Apd	|void	|mg_free_type	|NN SV* sv|int how
 Apd	|int	|mg_get		|NN SV* sv
-Apd	|U32	|mg_length	|NN SV* sv
+ApdD	|U32	|mg_length	|NN SV* sv
 Apd	|void	|mg_magical	|NN SV* sv
 Apd	|int	|mg_set		|NN SV* sv
 Ap	|I32	|mg_size	|NN SV* sv
 Ap	|void	|mini_mktime	|NN struct tm *ptm
-AMpd	|OP*	|op_lvalue	|NULLOK OP* o|I32 type
-: To be removed after 5.14 (see [perl #78908]):
-EXp	|OP*	|mod		|NULLOK OP* o|I32 type
+AMmd	|OP*	|op_lvalue	|NULLOK OP* o|I32 type
+poX	|OP*	|op_lvalue_flags|NULLOK OP* o|I32 type|U32 flags
+p	|void	|finalize_optree		|NN OP* o
+#if defined(PERL_IN_OP_C)
+s	|void	|finalize_op	|NN OP* o
+#endif
 : Used in op.c and pp_sys.c
 p	|int	|mode_from_discipline|NULLOK const char* s|STRLEN len
 Ap	|const char*	|moreswitches	|NN const char* s
@@ -778,8 +880,10 @@
 #if !defined(HAS_MEMSET)
 Anp	|void*	|my_memset	|NN char* loc|I32 ch|I32 len
 #endif
+#if !defined(PERL_IMPLICIT_SYS)
 Ap	|I32	|my_pclose	|NULLOK PerlIO* ptr
 Ap	|PerlIO*|my_popen	|NN const char* cmd|NN const char* mode
+#endif
 Ap	|PerlIO*|my_popen_list	|NN const char* mode|int n|NN SV ** args
 Ap	|void	|my_setenv	|NULLOK const char* nam|NULLOK const char* val
 Apmb	|I32	|my_stat
@@ -786,9 +890,9 @@
 pX	|I32	|my_stat_flags	|NULLOK const U32 flags
 Ap	|char *	|my_strftime	|NN const char *fmt|int sec|int min|int hour|int mday|int mon|int year|int wday|int yday|int isdst
 #if defined(MYSWAP)
-ApPa	|short	|my_swap	|short s
-ApPa	|long	|my_htonl	|long l
-ApPa	|long	|my_ntohl	|long l
+ApPR	|short	|my_swap	|short s
+ApPR	|long	|my_htonl	|long l
+ApPR	|long	|my_ntohl	|long l
 #endif
 : Used in pp_ctl.c
 p	|void	|my_unexec
@@ -795,9 +899,15 @@
 Apa	|OP*	|newANONLIST	|NULLOK OP* o
 Apa	|OP*	|newANONHASH	|NULLOK OP* o
 Ap	|OP*	|newANONSUB	|I32 floor|NULLOK OP* proto|NULLOK OP* block
+#if defined(PERL_IN_OP_C)
+i	|bool	|aassign_common_vars	|NULLOK OP* o
+#endif
 Apda	|OP*	|newASSIGNOP	|I32 flags|NULLOK OP* left|I32 optype|NULLOK OP* right
 Apda	|OP*	|newCONDOP	|I32 flags|NN OP* first|NULLOK OP* trueop|NULLOK OP* falseop
 Apd	|CV*	|newCONSTSUB	|NULLOK HV* stash|NULLOK const char* name|NULLOK SV* sv
+Apd	|CV*	|newCONSTSUB_flags|NULLOK HV* stash \
+				  |NULLOK const char* name|STRLEN len \
+				  |U32 flags|NULLOK SV* sv
 #ifdef PERL_MAD
 Ap	|OP*	|newFORM	|I32 floor|NULLOK OP* o|NULLOK OP* block
 #else
@@ -816,6 +926,11 @@
 Apda	|OP*	|newSTATEOP	|I32 flags|NULLOK char* label|NULLOK OP* o
 Abm	|CV*	|newSUB		|I32 floor|NULLOK OP* o|NULLOK OP* proto \
 				|NULLOK OP* block
+p	|CV *	|newXS_len_flags|NULLOK const char *name|STRLEN len \
+				|NN XSUBADDR_t subaddr\
+				|NN const char *const filename \
+				|NULLOK const char *const proto \
+				|NULLOK SV **const_svp|U32 flags
 ApM	|CV *	|newXS_flags	|NULLOK const char *name|NN XSUBADDR_t subaddr\
 				|NN const char *const filename \
 				|NULLOK const char *const proto|U32 flags
@@ -826,7 +941,8 @@
 Apda	|OP*	|newBINOP	|I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
 Apa	|OP*	|newCVREF	|I32 flags|NULLOK OP* o
 Apda	|OP*	|newGVOP	|I32 type|I32 flags|NN GV* gv
-Apa	|GV*	|newGVgen	|NN const char* pack
+Am	|GV*	|newGVgen	|NN const char* pack
+Apa	|GV*	|newGVgen_flags	|NN const char* pack|U32 flags
 Apa	|OP*	|newGVREF	|I32 type|NULLOK OP* o
 ApaR	|OP*	|newHVREF	|NN OP* o
 AmdbR	|HV*	|newHV
@@ -866,8 +982,11 @@
 Apd	|OP*	|ck_entersub_args_list|NN OP *entersubop
 Apd	|OP*	|ck_entersub_args_proto|NN OP *entersubop|NN GV *namegv|NN SV *protosv
 Apd	|OP*	|ck_entersub_args_proto_or_list|NN OP *entersubop|NN GV *namegv|NN SV *protosv
+po	|OP*	|ck_entersub_args_core|NN OP *entersubop|NN GV *namegv \
+				      |NN SV *protosv
 Apd	|void	|cv_get_call_checker|NN CV *cv|NN Perl_call_checker *ckfun_p|NN SV **ckobj_p
 Apd	|void	|cv_set_call_checker|NN CV *cv|NN Perl_call_checker ckfun|NN SV *ckobj
+Apd	|void	|wrap_op_checker|Optype opcode|NN Perl_check_t new_checker|NN Perl_check_t *old_checker_p
 Apa	|PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
 Ap	|char*	|scan_vstring	|NN const char *s|NN const char *const e \
 				|NN SV *sv
@@ -887,6 +1006,12 @@
 AnpP	|char*	|ninstr		|NN const char* big|NN const char* bigend \
 				|NN const char* little|NN const char* lend
 Ap	|void	|op_free	|NULLOK OP* arg
+Mp	|OP*	|op_unscope	|NULLOK OP* o
+#ifdef PERL_CORE
+p	|void	|opslab_free	|NN OPSLAB *slab
+p	|void	|opslab_free_nopad|NN OPSLAB *slab
+p	|void	|opslab_force_free|NN OPSLAB *slab
+#endif
 : Used in perly.y
 #ifdef PERL_MAD
 p	|OP*	|package	|NN OP* o
@@ -895,43 +1020,28 @@
 #endif
 : Used in perly.y
 p	|void	|package_version|NN OP* v
-: Used in op.c
-pd	|PADOFFSET|pad_alloc	|I32 optype|U32 tmptype
 : Used in toke.c and perly.y
 p	|PADOFFSET|allocmy	|NN const char *const name|const STRLEN len\
 				|const U32 flags
-: Used in op.c and toke.c
-AMpdR	|PADOFFSET|pad_findmy	|NN const char* name|STRLEN len|U32 flags
-ApD	|PADOFFSET|find_rundefsvoffset	|
-: Used in pp.c
-Ap	|SV*	|find_rundefsv	|
+#ifdef USE_ITHREADS
+AMp	|PADOFFSET|alloccopstash|NN HV *hv
+#endif
 : Used in perly.y
 pR	|OP*	|oopsAV		|NN OP* o
 : Used in perly.y
 pR	|OP*	|oopsHV		|NN OP* o
-: Defined in pad.c, used only in op.c
-pd	|void	|pad_leavemy
-#ifdef DEBUGGING
-Apd	|SV*	|pad_sv		|PADOFFSET po
-#endif
-: Defined in pad.c, used only in op.c
-pd	|void	|pad_free	|PADOFFSET po
-#if defined(PERL_IN_PAD_C)
-sd	|void	|pad_reset
-#endif
-: Used in op.c
-pd	|void	|pad_swipe	|PADOFFSET po|bool refadjust
+
 : peephole optimiser
 p	|void	|peep		|NULLOK OP* o
 p	|void	|rpeep		|NULLOK OP* o
 : Defined in doio.c, used only in pp_hot.c
 dopM	|PerlIO*|start_glob	|NN SV *tmpglob|NN IO *io
-#if defined(USE_REENTRANT_API)
+
 Ap	|void	|reentrant_size
 Ap	|void	|reentrant_init
 Ap	|void	|reentrant_free
 Anp	|void*	|reentrant_retry|NN const char *f|...
-#endif
+
 : "Very" special - can't use the O flag for this one:
 : (The rename from perl_atexit to Perl_call_atexit was in 864dbfa3ca8032ef)
 Ap	|void	|call_atexit	|ATEXIT_t fn|NULLOK void *ptr
@@ -964,7 +1074,7 @@
 s	|void	|pidgone	|Pid_t pid|int status
 #endif
 : Used in perly.y
-p	|OP*	|pmruntime	|NN OP *o|NN OP *expr|bool isreg
+p	|OP*	|pmruntime	|NN OP *o|NN OP *expr|bool isreg|I32 floor
 #if defined(PERL_IN_OP_C)
 s	|OP*	|pmtrans	|NN OP* o|NN OP* expr|NN OP* repl
 #endif
@@ -975,14 +1085,12 @@
 s	|OP*	|refkids	|NULLOK OP* o|I32 type
 #endif
 Ap	|void	|regdump	|NN const regexp* r
-Ap	|void	|regdump	|NN const regexp* r
 Ap	|SV*	|regclass_swash	|NULLOK const regexp *prog \
 				|NN const struct regnode *node|bool doinit \
 				|NULLOK SV **listsvp|NULLOK SV **altsvp
 #ifdef PERL_IN_REGCOMP_C
-EMi	|U8	|set_regclass_bit|NN struct RExC_state_t* pRExC_state|NN regnode* node|const U8 value|NN HV** invlist_ptr|NN AV** alternate_ptr
-EMs	|U8	|set_regclass_bit_fold|NN struct RExC_state_t *pRExC_state|NN regnode* node|const U8 value|NN HV** invlist_ptr|NN AV** alternate_ptr
-EMs	|void	|add_alternate	|NN AV** alternate_ptr|NN U8* string|STRLEN len
+EMsR	|SV*	|_new_invlist_C_array|NN UV* list
+: Not used currently: EXMs	|bool	|_invlistEQ	|NN SV* const a|NN SV* const b|bool complement_b
 #endif
 Ap	|I32	|pregexec	|NN REGEXP * const prog|NN char* stringarg \
 				|NN char* strend|NN char* strbeg|I32 minend \
@@ -995,14 +1103,22 @@
 #if defined(USE_ITHREADS)
 Ap	|void*	|regdupe_internal|NN REGEXP * const r|NN CLONE_PARAMS* param
 #endif
+EXp	|regexp_engine const *|current_re_engine
 Ap	|REGEXP*|pregcomp	|NN SV * const pattern|const U32 flags
-Ap	|REGEXP*|re_compile	|NN SV * const pattern|U32 flags
+p	|REGEXP*|re_op_compile	|NULLOK SV ** const patternp \
+				|int pat_count|NULLOK OP *expr \
+				|NN const regexp_engine* eng \
+				|NULLOK REGEXP *old_re \
+				|NULLOK bool *is_bare_re \
+				|U32 rx_flags|U32 pm_flags
+Ap	|REGEXP*|re_compile	|NN SV * const pattern|U32 orig_rx_flags
 Ap	|char*	|re_intuit_start|NN REGEXP * const rx|NULLOK SV* sv|NN char* strpos \
 				|NN char* strend|const U32 flags \
 				|NULLOK re_scream_pos_data *data
 Ap	|SV*	|re_intuit_string|NN REGEXP  *const r
-#if defined(PERL_IN_DQUOTE_STATIC_C)
-EiPR	|I32	|regcurly	|NN const char *s
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
+EiPR	|I32	|regcurly	|NN const char *s                   \
+				|const bool rbrace_must_be_escaped
 #endif
 Ap	|I32	|regexec_flags	|NN REGEXP *const rx|NN char *stringarg \
 				|NN char *strend|NN char *strbeg|I32 minend \
@@ -1032,7 +1148,7 @@
 
 : FIXME - why the E?
 Ep	|void	|regprop	|NULLOK const regexp *prog|NN SV* sv|NN const regnode* o
-Anp	|void	|repeatcpy	|NN char* to|NN const char* from|I32 len|I32 count
+Anp	|void	|repeatcpy	|NN char* to|NN const char* from|I32 len|IV count
 AnpP	|char*	|rninstr	|NN const char* big|NN const char* bigend \
 				|NN const char* little|NN const char* lend
 Ap	|Sighandler_t|rsignal	|int i|Sighandler_t t
@@ -1054,7 +1170,10 @@
 Apda	|char*	|savepv		|NULLOK const char* pv
 Apda	|char*	|savepvn	|NULLOK const char* pv|I32 len
 Apda	|char*	|savesharedpv	|NULLOK const char* pv
-Apda	|char*	|savesharedpvn	|NN const char *const pv|const STRLEN len
+
+: NULLOK only to suppress a compiler warning
+Apda	|char*	|savesharedpvn	|NULLOK const char *const pv \
+				|const STRLEN len
 Apda	|char*	|savesharedsvpv	|NN SV *sv
 Apda	|char*	|savesvpv	|NN SV* sv
 Ap	|void	|savestack_grow
@@ -1104,7 +1223,6 @@
 Ap	|void	|save_sptr	|NN SV** sptr
 Ap	|SV*	|save_svref	|NN SV** sptr
 Ap	|void	|save_pushptr	|NULLOK void *const ptr|const int type
-: Used by SAVECOPARYBASE() in op.c
 Ap	|void	|save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
 : Used by SAVESWITCHSTACK() in pp.c
 Ap	|void	|save_pushptrptr|NULLOK void *const ptr1 \
@@ -1131,7 +1249,7 @@
 AMpd	|OP*	|op_scope	|NULLOK OP* o
 Ap	|char*	|screaminstr	|NN SV *bigstr|NN SV *littlestr|I32 start_shift \
 				|I32 end_shift|NN I32 *old_posp|I32 last
-Apd	|void	|setdefout	|NULLOK GV* gv
+Apd	|void	|setdefout	|NN GV* gv
 Ap	|HEK*	|share_hek	|NN const char* str|I32 len|U32 hash
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 : Used in perl.c
@@ -1161,8 +1279,8 @@
 pMd	|SV*	|sv_2num	|NN SV *const sv
 Amb	|char*	|sv_2pv		|NULLOK SV *sv|NULLOK STRLEN *lp
 Apd	|char*	|sv_2pv_flags	|NULLOK SV *const sv|NULLOK STRLEN *const lp|const I32 flags
-Apd	|char*	|sv_2pvutf8	|NN SV *const sv|NULLOK STRLEN *const lp
-Apd	|char*	|sv_2pvbyte	|NN SV *const sv|NULLOK STRLEN *const lp
+Apd	|char*	|sv_2pvutf8	|NN SV *sv|NULLOK STRLEN *const lp
+Apd	|char*	|sv_2pvbyte	|NN SV *sv|NULLOK STRLEN *const lp
 Ap	|char*	|sv_pvn_nomg	|NN SV* sv|NULLOK STRLEN* lp
 Amb	|UV	|sv_2uv		|NULLOK SV *sv
 Apd	|UV	|sv_2uv_flags	|NULLOK SV *const sv|const I32 flags
@@ -1204,25 +1322,24 @@
 Amd	|char*	|sv_collxfrm	|NN SV *const sv|NN STRLEN *const nxp
 Apd	|char*	|sv_collxfrm_flags	|NN SV *const sv|NN STRLEN *const nxp|I32 const flags
 #endif
-: Frustratingly, because regcomp.c is also compiled as ext/re/re_comp.c,
-: anything it needs has to be exported. So this has to be X. I'd rather it
-: wasn't.
-Xpo	|OP*	|sv_compile_2op_is_broken|NN SV *sv|NN OP **startop \
-				|NN const char *code|NN PAD **padp
-ApD	|OP*	|sv_compile_2op	|NN SV *sv|NN OP **startop \
-				|NN const char *code|NN PAD **padp
 Apd	|int	|getcwd_sv	|NN SV* sv
 Apd	|void	|sv_dec		|NULLOK SV *const sv
 Apd	|void	|sv_dec_nomg	|NULLOK SV *const sv
 Ap	|void	|sv_dump	|NN SV* sv
 ApdR	|bool	|sv_derived_from|NN SV* sv|NN const char *const name
+ApdR	|bool	|sv_derived_from_sv|NN SV* sv|NN SV *namesv|U32 flags
+ApdR	|bool	|sv_derived_from_pv|NN SV* sv|NN const char *const name|U32 flags
+ApdR	|bool	|sv_derived_from_pvn|NN SV* sv|NN const char *const name \
+                                    |const STRLEN len|U32 flags
 ApdR	|bool	|sv_does	|NN SV* sv|NN const char *const name
+ApdR	|bool	|sv_does_sv	|NN SV* sv|NN SV* namesv|U32 flags
+ApdR	|bool	|sv_does_pv	|NN SV* sv|NN const char *const name|U32 flags
+ApdR	|bool	|sv_does_pvn	|NN SV* sv|NN const char *const name|const STRLEN len \
+                                |U32 flags
 Amd	|I32	|sv_eq		|NULLOK SV* sv1|NULLOK SV* sv2
 Apd	|I32	|sv_eq_flags	|NULLOK SV* sv1|NULLOK SV* sv2|const U32 flags
 Apd	|void	|sv_free	|NULLOK SV *const sv
-: FIXME Used in SvREFCNT_dec() but only
-: if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-poMX	|void	|sv_free2	|NN SV *const sv
+poMX	|void	|sv_free2	|NN SV *const sv|const U32 refcnt
 : Used only in perl.c
 pd	|void	|sv_free_arenas
 Apd	|char*	|sv_gets	|NN SV *const sv|NN PerlIO *const fp|I32 append
@@ -1238,12 +1355,14 @@
 Apd	|int	|sv_isobject	|NULLOK SV* sv
 Apd	|STRLEN	|sv_len		|NULLOK SV *const sv
 Apd	|STRLEN	|sv_len_utf8	|NULLOK SV *const sv
+p	|STRLEN	|sv_len_utf8_nomg|NN SV *const sv
 Apd	|void	|sv_magic	|NN SV *const sv|NULLOK SV *const obj|const int how \
 				|NULLOK const char *const name|const I32 namlen
 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
-ApdaR	|SV*	|sv_mortalcopy	|NULLOK SV *const oldsv
+ApdbamR	|SV*	|sv_mortalcopy	|NULLOK SV *const oldsv
+XpaR	|SV*	|sv_mortalcopy_flags|NULLOK SV *const oldsv|U32 flags
 ApdR	|SV*	|sv_newmortal
 Apd	|SV*	|sv_newref	|NULLOK SV *const sv
 Ap	|char*	|sv_peek	|NULLOK SV* sv
@@ -1258,9 +1377,12 @@
 Apd	|bool	|sv_cat_decode	|NN SV* dsv|NN SV *encoding|NN SV *ssv|NN int *offset \
 				|NN char* tstr|int tlen
 ApdR	|const char*	|sv_reftype	|NN const SV *const sv|const int ob
+pd	|SV*	|sv_ref	|NULLOK SV *dst|NN const SV *const sv|const int ob
 Apd	|void	|sv_replace	|NN SV *const sv|NN SV *const nsv
 Apd	|void	|sv_report_used
 Apd	|void	|sv_reset	|NN const char* s|NULLOK HV *const stash
+p	|void	|sv_resetpvn	|NULLOK const char* s|STRLEN len \
+				|NULLOK HV *const stash
 Afpd	|void	|sv_setpvf	|NN SV *const sv|NN const char *const pat|...
 Apd	|void	|sv_vsetpvf	|NN SV *const sv|NN const char *const pat|NULLOK va_list *const args
 Apd	|void	|sv_setiv	|NN SV *const sv|const IV num
@@ -1276,6 +1398,7 @@
 				|NN const char *const pv|const STRLEN n
 Apd	|void	|sv_setpv	|NN SV *const sv|NULLOK const char *const ptr
 Apd	|void	|sv_setpvn	|NN SV *const sv|NULLOK const char *const ptr|const STRLEN len
+Xp	|void	|sv_sethek	|NN SV *const sv|NULLOK const HEK *const hek
 Amdb	|void	|sv_setsv	|NN SV *dstr|NULLOK SV *sstr
 Amdb	|void	|sv_taint	|NN SV* sv
 ApdR	|bool	|sv_tainted	|NN SV *const sv
@@ -1291,39 +1414,83 @@
 Apd	|void	|sv_vcatpvfn	|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
 				|NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
 				|NULLOK bool *const maybe_tainted
+Apd	|void	|sv_vcatpvfn_flags|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
+				|NULLOK va_list *const args|NULLOK SV **const svargs|const I32 svmax \
+				|NULLOK bool *const maybe_tainted|const U32 flags
 Apd	|void	|sv_vsetpvfn	|NN SV *const sv|NN const char *const pat|const STRLEN patlen \
 				|NULLOK va_list *const args|NULLOK SV **const svargs \
 				|const I32 svmax|NULLOK bool *const maybe_tainted
 ApR	|NV	|str_to_version	|NN SV *sv
-Ap	|SV*	|swash_init	|NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
+ApR	|SV*	|swash_init	|NN const char* pkg|NN const char* name|NN SV* listsv|I32 minbits|I32 none
 Ap	|UV	|swash_fetch	|NN SV *swash|NN const U8 *ptr|bool do_utf8
-EXMpR	|HV*	|_swash_inversion_hash	|NN SV* const swash
-EXMpR	|HV*	|_new_invlist	|IV initial_size
-EXMpR	|HV*	|_swash_to_invlist	|NN SV* const swash
-EXMp	|void	|_append_range_to_invlist   |NN HV* const invlist|const UV start|const UV end
 #ifdef PERL_IN_REGCOMP_C
-EiMR	|HV*	|add_cp_to_invlist	|NULLOK HV* invlist|const UV cp
-EsMR	|HV*	|add_range_to_invlist	|NULLOK HV* invlist|const UV start|const UV end
-EiMR	|UV*	|invlist_array	|NN HV* const invlist
-EiM	|void	|invlist_destroy	|NN HV* const invlist
-EsM	|void	|invlist_extend    |NN HV* const invlist|const UV len
-EsMR	|HV*	|invlist_intersection	|NN HV* const a|NN HV* const b
-EiMR	|UV	|invlist_len	|NN HV* const invlist
-EiMR	|UV	|invlist_max	|NN HV* const invlist
-EiM	|void	|invlist_set_len	|NN HV* const invlist|const UV len
-EiM	|void	|invlist_set_max	|NN HV* const invlist|const UV max
-EiM	|void	|invlist_trim	|NN HV* const invlist
-EsMR	|HV*	|invlist_union	|NN HV* const a|NN HV* const b
+EiMR	|SV*	|add_cp_to_invlist	|NULLOK SV* invlist|const UV cp
+EsM	|void	|_append_range_to_invlist   |NN SV* const invlist|const UV start|const UV end
+EiMR	|UV*	|_invlist_array_init	|NN SV* const invlist|const bool will_have_0
+EiMR	|UV*	|invlist_array	|NN SV* const invlist
+EsM	|void	|invlist_extend    |NN SV* const invlist|const UV len
+EiMR	|UV*	|get_invlist_zero_addr	|NN SV* invlist
+EiMR	|UV	|invlist_max	|NN SV* const invlist
+EiM	|void	|invlist_set_len|NN SV* const invlist|const UV len
+EiMR	|IV*	|get_invlist_previous_index_addr|NN SV* invlist
+EiMR	|IV	|invlist_previous_index|NN SV* const invlist
+EiM	|void	|invlist_set_previous_index|NN SV* const invlist|const IV index
+EiM	|void	|invlist_trim	|NN SV* const invlist
+EiMR	|SV*	|invlist_clone	|NN SV* const invlist
+EiMR	|bool	|invlist_is_iterating|NN SV* const invlist
+EiMR	|UV*	|get_invlist_iter_addr	|NN SV* invlist
+EiMR	|UV*	|get_invlist_version_id_addr	|NN SV* invlist
+EiM	|void	|invlist_iterinit|NN SV* invlist
+EsMR	|bool	|invlist_iternext|NN SV* invlist|NN UV* start|NN UV* end
+EiM	|void	|invlist_iterfinish|NN SV* invlist
+EiMR	|UV	|invlist_highest|NN SV* const invlist
 #endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+EXmM	|void	|_invlist_intersection	|NN SV* const a|NN SV* const b|NN SV** i
+EXpM	|void	|_invlist_intersection_maybe_complement_2nd|NULLOK SV* const a|NN SV* const b|bool complement_b|NN SV** i
+EXmM	|void	|_invlist_union	|NULLOK SV* const a|NN SV* const b|NN SV** output
+EXpM	|void	|_invlist_union_maybe_complement_2nd|NULLOK SV* const a|NN SV* const b|bool complement_b|NN SV** output
+EXmM	|void	|_invlist_subtract|NN SV* const a|NN SV* const b|NN SV** result
+EXpM	|void	|_invlist_invert|NN SV* const invlist
+EXpM	|void	|_invlist_invert_prop|NN SV* const invlist
+EXMpR	|SV*	|_new_invlist	|IV initial_size
+EXMpR	|SV*	|_swash_to_invlist	|NN SV* const swash
+EXMpR	|SV*	|_add_range_to_invlist	|NULLOK SV* invlist|const UV start|const UV end
+EXMp	|void	|_invlist_populate_swatch   |NN SV* const invlist|const UV start|const UV end|NN U8* swatch
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
+EXp	|SV*	|_core_swash_init|NN const char* pkg|NN const char* name \
+		|NN SV* listsv|I32 minbits|I32 none \
+		|NULLOK SV* invlist|NULLOK U8* const flags_p
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+EXMpR	|SV*	|_invlist_contents|NN SV* const invlist
+EiMR	|UV*	|_get_invlist_len_addr	|NN SV* invlist
+EiMR	|UV	|_invlist_len	|NN SV* const invlist
+EMiR	|bool	|_invlist_contains_cp|NN SV* const invlist|const UV cp
+EXpMR	|IV	|_invlist_search	|NN SV* const invlist|const UV cp
+EXMpR	|SV*	|_get_swash_invlist|NN SV* const swash
+EXMpR	|HV*	|_swash_inversion_hash	|NN SV* const swash
+: Not used currently: EXMp	|void	|_invlist_dump	|NN SV* const invlist|NN const char * const header
+#endif
 Ap	|void	|taint_env
 Ap	|void	|taint_proper	|NULLOK const char* f|NN const char *const s
 Apd	|UV	|to_utf8_case	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp \
 				|NN SV **swashp|NN const char *normal|NULLOK const char *special
-Apd	|UV	|to_utf8_lower	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
-Apd	|UV	|to_utf8_upper	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
-Apd	|UV	|to_utf8_title	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
-Ampd	|UV	|to_utf8_fold	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
-AMp	|UV	|_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags
+Abmd	|UV	|to_utf8_lower	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+AMp	|UV	|_to_utf8_lower_flags	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr
+Abmd	|UV	|to_utf8_upper	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+AMp	|UV	|_to_utf8_upper_flags	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr
+Abmd	|UV	|to_utf8_title	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+AMp	|UV	|_to_utf8_title_flags	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|const bool flags|NULLOK bool* tainted_ptr
+Abmd	|UV	|to_utf8_fold	|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp
+AMp	|UV	|_to_utf8_fold_flags|NN const U8 *p|NN U8* ustrp|NULLOK STRLEN *lenp|U8 flags|NULLOK bool* tainted_ptr
+#if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
+p	|bool	|translate_substr_offsets|STRLEN curlen|IV pos1_iv \
+					 |bool pos1_is_uv|IV len_iv \
+					 |bool len_is_uv|NN STRLEN *posp \
+					 |NN STRLEN *lenp
+#endif
 #if defined(UNLINK_ALL_VERSIONS)
 Ap	|I32	|unlnk		|NN const char* f
 #endif
@@ -1352,14 +1519,19 @@
 				|STRLEN ulen
 ApMd	|U8*	|bytes_from_utf8|NN const U8 *s|NN STRLEN *len|NULLOK bool *is_utf8
 ApMd	|U8*	|bytes_to_utf8	|NN const U8 *s|NN STRLEN *len
-Apd	|UV	|utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
-Apd	|UV	|utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
+ApdD	|UV	|utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
+ApdD	|UV	|utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
+ApM	|UV	|valid_utf8_to_uvuni	|NN const U8 *s|NULLOK STRLEN *retlen
+Apd	|UV	|utf8_to_uvchr_buf	|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
+Apd	|UV	|utf8_to_uvuni_buf	|NN const U8 *s|NN const U8 *send|NULLOK STRLEN *retlen
 pM	|bool	|check_utf8_print	|NN const U8 *s|const STRLEN len
 
 #ifdef EBCDIC
 Adp	|UV	|utf8n_to_uvchr	|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
+ApM	|UV	|valid_utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
 #else
 Adpbm	|UV	|utf8n_to_uvchr	|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
+ApbmM	|UV	|valid_utf8_to_uvchr	|NN const U8 *s|NULLOK STRLEN *retlen
 #endif
 
 Adp	|UV	|utf8n_to_uvuni	|NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
@@ -1378,7 +1550,7 @@
 : Used by Data::Alias
 EXp	|void	|vivify_defelem	|NN SV* sv
 : Used in pp.c
-p	|void	|vivify_ref	|NN SV* sv|U32 to_what
+pR	|SV*	|vivify_ref	|NN SV* sv|U32 to_what
 : Used in pp_sys.c
 p	|I32	|wait4pid	|Pid_t pid|NN int* statusp|int flags
 : Used in locale.c and perl.c
@@ -1385,7 +1557,7 @@
 p	|U32	|parse_unicode_opts|NN const char **popt
 Ap	|U32	|seed
 : Only used in perl.c
-pR	|UV	|get_hash_seed
+p        |void        |get_hash_seed        |NN unsigned char * const seed_buffer
 : Used in doio.c, pp_hot.c, pp_sys.c
 p	|void	|report_evil_fh	|NULLOK const GV *gv
 : Used in doio.c, pp_hot.c, pp_sys.c
@@ -1392,6 +1564,11 @@
 p	|void	|report_wrongway_fh|NULLOK const GV *gv|const char have
 : Used in mg.c, pp.c, pp_hot.c, regcomp.c
 XEpd	|void	|report_uninit	|NULLOK const SV *uninit_sv
+#if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C)
+p	|void	|report_redefined_cv|NN const SV *name \
+				    |NN const CV *old_cv \
+				    |NULLOK SV * const *new_const_svp
+#endif
 Apd	|void	|warn_sv	|NN SV *baseex
 Afpd	|void	|warn		|NN const char* pat|...
 Apd	|void	|vwarn		|NN const char* pat|NULLOK va_list* args
@@ -1401,11 +1578,16 @@
 Ap	|void	|vwarner	|U32 err|NN const char* pat|NULLOK va_list* args
 : FIXME
 p	|void	|watch		|NN char** addr
-Ap	|I32	|whichsig	|NN const char* sig
+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
 : Used in pp_ctl.c
 p	|void	|write_to_stderr|NN SV* msv
 : Used in op.c
 p	|int	|yyerror	|NN const char *const s
+p	|int	|yyerror_pv	|NN const char *const s|U32 flags
+p	|int	|yyerror_pvn	|NN const char *const s|STRLEN len|U32 flags
 : Used in perly.y, and by Data::Alias
 EXp	|int	|yylex
 p	|void	|yyunlex
@@ -1413,8 +1595,12 @@
 p	|int	|yyparse	|int gramtype
 : Only used in scope.c
 p	|void	|parser_free	|NN const yy_parser *parser
+#ifdef PERL_CORE
+p	|void	|parser_free_nexttoke_ops|NN yy_parser *parser \
+					 |NN OPSLAB *slab
+#endif
 #if defined(PERL_IN_TOKE_C)
-s	|int	|yywarn		|NN const char *const s
+s	|int	|yywarn		|NN const char *const s|U32 flags
 #endif
 #if defined(MYMALLOC)
 Ap	|void	|dump_mstats	|NN const char* s
@@ -1496,12 +1682,12 @@
 p	|int	|magic_killbackrefs|NN SV *sv|NN MAGIC *mg
 Ap	|OP*	|newANONATTRSUB	|I32 floor|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
 Ap	|CV*	|newATTRSUB	|I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-#ifdef PERL_MAD
-Apr	|OP *	|newMYSUB	|I32 floor|NULLOK OP *o|NULLOK OP *proto \
+p	|CV*	|newATTRSUB_flags|I32 floor|NULLOK OP *o|NULLOK OP *proto \
+				 |NULLOK OP *attrs|NULLOK OP *block \
+				 |U32 flags
+Ap	|CV *	|newMYSUB	|I32 floor|NN OP *o|NULLOK OP *proto \
 				|NULLOK OP *attrs|NULLOK OP *block
-#else
-Apr	|void	|newMYSUB	|I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-#endif
+p	|CV*	|newSTUB	|NN GV *gv|bool fake
 : Used in perly.y
 p	|OP *	|my_attrs	|NN OP *o|NULLOK OP *attrs
 #if defined(USE_ITHREADS)
@@ -1520,8 +1706,6 @@
 #if defined(PERL_IN_SV_C)
 s	|SV **	|sv_dup_inc_multiple|NN SV *const *source|NN SV **dest \
 				|SSize_t items|NN CLONE_PARAMS *const param
-#endif
-#if defined(PERL_IN_SV_C)
 sR	|SV*	|sv_dup_common	|NN const SV *const sstr \
 				|NN CLONE_PARAMS *const param
 #endif
@@ -1563,6 +1747,7 @@
 Adpb	|void	|sv_nounlocking	|NULLOK SV *sv
 #endif
 Adp	|int	|nothreadhook
+p	|void	|init_constants
 
 #if defined(PERL_IN_DOOP_C)
 sR	|I32	|do_trans_simple	|NN SV * const sv
@@ -1574,17 +1759,20 @@
 #endif
 
 #if defined(PERL_IN_GV_C)
-s	|void	|gv_init_sv	|NN GV *gv|const svtype sv_type
+s	|void	|gv_init_svtype	|NN GV *gv|const svtype sv_type
 s	|void	|gv_magicalize_isa	|NN GV *gv
-s	|void	|gv_magicalize_overload	|NN GV *gv
-s	|HV*	|gv_get_super_pkg|NN const char* name|I32 namelen
 s	|HV*	|require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
 				|NN const char *methpv|const U32 flags
 #endif
 
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+po	|SV*	|hfree_next_entry	|NN HV *hv|NN STRLEN *indexp
+#endif
+
 #if defined(PERL_IN_HV_C)
-s	|void	|hsplit		|NN HV *hv
+s	|void	|hsplit		|NN HV *hv|STRLEN const oldsize|STRLEN newsize
 s	|void	|hfreeentries	|NN HV *hv
+s	|SV*	|hv_free_ent_ret|NN HV *hv|NN HE *entry
 sa	|HE*	|new_he
 sanR	|HEK*	|save_hek_flags	|NN const char *str|I32 len|U32 hash|int flags
 sn	|void	|hv_magic_check	|NN HV *hv|NN bool *needs_copy|NN bool *needs_store
@@ -1591,7 +1779,8 @@
 s	|void	|unshare_hek_or_pvn|NULLOK const HEK* hek|NULLOK const char* str|I32 len|U32 hash
 sR	|HEK*	|share_hek_flags|NN const char *str|I32 len|U32 hash|int flags
 rs	|void	|hv_notallowed	|int flags|NN const char *key|I32 klen|NN const char *msg
-sn	|struct xpvhv_aux*|hv_auxinit|NN HV *hv
+sn      |U32|ptr_hash|PTRV u
+s	|struct xpvhv_aux*|hv_auxinit|NN HV *hv
 sM	|SV*	|hv_delete_common|NULLOK HV *hv|NULLOK SV *keysv \
 		|NULLOK const char *key|STRLEN klen|int k_flags|I32 d_flags \
 		|U32 hash
@@ -1612,11 +1801,7 @@
 #if defined(PERL_IN_OP_C)
 sRn	|bool	|is_handle_constructor|NN const OP *o|I32 numargs
 sR	|I32	|is_list_assignment|NULLOK const OP *o
-#  ifdef USE_ITHREADS
-so	|void	|forget_pmop	|NN PMOP *const o|U32 flags
-#  else
-so	|void	|forget_pmop	|NN PMOP *const o
-#  endif
+s	|void	|forget_pmop	|NN PMOP *const o
 s	|void	|find_and_forget_pmops	|NN OP *o
 s	|void	|cop_free	|NN COP *cop
 s	|OP*	|modkids	|NULLOK OP *o|I32 type
@@ -1625,39 +1810,40 @@
 sR	|OP*	|search_const	|NN OP *o
 sR	|OP*	|new_logop	|I32 type|I32 flags|NN OP **firstp|NN OP **otherp
 s	|void	|simplify_sort	|NN OP *o
-s	|const char*	|gv_ename	|NN GV *gv
-sRn	|bool	|scalar_mod_type|NN const OP *o|I32 type
+s	|SV*	|gv_ename	|NN GV *gv
+sRn	|bool	|scalar_mod_type|NULLOK const OP *o|I32 type
 s	|OP *	|my_kid		|NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
 s	|OP *	|dup_attrlist	|NN OP *o
-s	|void	|apply_attrs	|NN HV *stash|NN SV *target|NULLOK OP *attrs|bool for_my
+s	|void	|apply_attrs	|NN HV *stash|NN SV *target|NULLOK OP *attrs
 s	|void	|apply_attrs_my	|NN HV *stash|NN OP *target|NULLOK OP *attrs|NN OP **imopsp
-s	|void	|bad_type	|I32 n|NN const char *t|NN const char *name|NN const OP *kid
-s	|void	|no_bareword_allowed|NN const OP *o
+s	|void	|bad_type_pv	|I32 n|NN const char *t|NN const char *name|U32 flags|NN const OP *kid
+s	|void	|bad_type_sv	|I32 n|NN const char *t|NN SV *namesv|U32 flags|NN const OP *kid
+s	|void	|no_bareword_allowed|NN OP *o
 sR	|OP*	|no_fh_allowed|NN OP *o
-sR	|OP*	|too_few_arguments|NN OP *o|NN const char* name
-sR	|OP*	|too_many_arguments|NN OP *o|NN const char* name
+sR	|OP*	|too_few_arguments_sv|NN OP *o|NN SV* namesv|U32 flags
+sR	|OP*	|too_few_arguments_pv|NN OP *o|NN const char* name|U32 flags
+s	|OP*	|too_many_arguments_pv|NN OP *o|NN const char* name|U32 flags
+sR	|OP*	|too_many_arguments_sv|NN OP *o|NN SV* namesv|U32 flags
 s	|bool	|looks_like_bool|NN const OP* o
 s	|OP*	|newGIVWHENOP	|NULLOK OP* cond|NN OP *block \
 				|I32 enter_opcode|I32 leave_opcode \
 				|PADOFFSET entertarg
 s	|OP*	|ref_array_or_hash|NULLOK OP* cond
-s	|void	|process_special_blocks	|NN const char *const fullname\
+s	|void	|process_special_blocks	|I32 floor \
+					|NN const char *const fullname\
 					|NN GV *const gv|NN CV *const cv
 #endif
-#if defined(PL_OP_SLAB_ALLOC)
-Apa	|void*	|Slab_Alloc	|size_t sz
-Ap	|void	|Slab_Free	|NN void *op
-#  if defined(PERL_DEBUG_READONLY_OPS)
-: Used in perl.c
-poxM	|void	|pending_Slabs_to_ro
+Xpa	|void*	|Slab_Alloc	|size_t sz
+Xp	|void	|Slab_Free	|NN void *op
+#if defined(PERL_DEBUG_READONLY_OPS)
+#    if defined(PERL_CORE)
+px	|void	|Slab_to_ro	|NN OPSLAB *slab
+px	|void	|Slab_to_rw	|NN OPSLAB *const slab
+#    endif
 : Used in OpREFCNT_inc() in sv.c
 poxM	|OP *	|op_refcnt_inc	|NULLOK OP *o
 : FIXME - can be static.
 poxM	|PADOFFSET	|op_refcnt_dec	|NN OP *o
-#    if defined(PERL_IN_OP_C)
-s	|void	|Slab_to_rw	|NN void *op
-#    endif
-#  endif
 #endif
 
 #if defined(PERL_IN_PERL_C)
@@ -1665,6 +1851,8 @@
 s	|void	|forbid_setid	|const char flag|const bool suidscript
 s	|void	|incpush	|NN const char *const dir|STRLEN len \
 				|U32 flags
+s	|SV*	|mayberelocate	|NN const char *const dir|STRLEN len \
+				|U32 flags
 s	|void	|incpush_use_sep|NN const char *p|STRLEN len|U32 flags
 s	|void	|init_interp
 s	|void	|init_ids
@@ -1674,12 +1862,13 @@
 s	|void	|init_predump_symbols
 rs	|void	|my_exit_jump
 s	|void	|nuke_stacks
-s	|int	|open_script	|NN const char *scriptname|bool dosearch \
-				|NN bool *suidscript|NN PerlIO **rsfpp
-s	|void	|usage		|NN const char *name
+s	|PerlIO *|open_script	|NN const char *scriptname|bool dosearch \
+				|NN bool *suidscript
+sr	|void	|usage
 #ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
 so	|void	|validate_suid	|NN PerlIO *rsfp
 #endif
+sr	|void	|minus_v
 
 s	|void*	|parse_body	|NULLOK char **env|XSINIT_t xsinit
 rs	|void	|run_body	|I32 oldscope
@@ -1719,31 +1908,35 @@
 
 #if defined(PERL_IN_PP_CTL_C)
 sR	|OP*	|docatch	|NULLOK OP *o
-sR	|OP*	|dofindlabel	|NN OP *o|NN const char *label|NN OP **opstack|NN OP **oplimit
+sR	|OP*	|dofindlabel	|NN OP *o|NN const char *label|STRLEN len \
+                                |U32 flags|NN OP **opstack|NN OP **oplimit
 s	|MAGIC *|doparseform	|NN SV *sv
 snR	|bool	|num_overflow	|NV value|I32 fldsize|I32 frcsize
 sR	|I32	|dopoptoeval	|I32 startingblock
 sR	|I32	|dopoptogiven	|I32 startingblock
-sR	|I32	|dopoptolabel	|NN const char *label
+sR	|I32	|dopoptolabel	|NN const char *label|STRLEN len|U32 flags
 sR	|I32	|dopoptoloop	|I32 startingblock
 sR	|I32	|dopoptosub_at	|NN const PERL_CONTEXT* cxstk|I32 startingblock
 sR	|I32	|dopoptowhen	|I32 startingblock
 s	|void	|save_lines	|NULLOK AV *array|NN SV *sv
-s	|bool	|doeval		|int gimme|NULLOK OP** startop|NULLOK CV* outside|U32 seq
+s	|bool	|doeval		|int gimme \
+				|NULLOK CV* outside|U32 seq|NULLOK HV* hh
 sR	|PerlIO *|check_type_and_open|NN SV *name
 #ifndef PERL_DISABLE_PMC
 sR	|PerlIO *|doopen_pm	|NN SV *name
 #endif
+s	|SV **	|adjust_stack_on_leave|NN SV **newsp|NN SV **sp|NN SV **mark|I32 gimme|U32 flags
 sRn	|bool	|path_is_absolute|NN const char *name
 sR	|I32	|run_user_filter|int idx|NN SV *buf_sv|int maxlen
 sR	|PMOP*	|make_matcher	|NN REGEXP* re
 sR	|bool	|matcher_matches_sv|NN PMOP* matcher|NN SV* sv
 s	|void	|destroy_matcher|NN PMOP* matcher
-s	|OP*	|do_smartmatch	|NULLOK HV* seen_this|NULLOK HV* seen_other
+s	|OP*	|do_smartmatch	|NULLOK HV* seen_this \
+				|NULLOK HV* seen_other|const bool copied
 #endif
 
 #if defined(PERL_IN_PP_HOT_C)
-s	|void	|do_oddball	|NN HV *hash|NN SV **relem|NN SV **firstrelem
+s	|void	|do_oddball	|NN SV **oddkey|NN SV **firstkey
 sR	|SV*	|method_common	|NN SV* meth|NULLOK U32* hashp
 #endif
 
@@ -1782,13 +1975,25 @@
 				|NN I32 *flagp|I32 first|U32 depth
 Es	|STRLEN	|reguni		|NN const struct RExC_state_t *pRExC_state \
 				|UV uv|NN char *s
-Es	|regnode*|regclass	|NN struct RExC_state_t *pRExC_state|U32 depth
+Es	|regnode*|regclass	|NN struct RExC_state_t *pRExC_state \
+				|NN I32 *flagp|U32 depth|const bool stop_at_1 \
+				|bool allow_multi_fold                        \
+				|const bool silence_non_portable	      \
+				|NULLOK SV** ret_invlist
+Es	|bool|could_it_be_a_POSIX_class|NN struct RExC_state_t *pRExC_state
+Es	|regnode*|handle_regex_sets|NN struct RExC_state_t *pRExC_state \
+				|NULLOK SV ** return_invlist            \
+				|NN I32 *flagp|U32 depth                \
+				|NN char * const oregcomp_parse
+Es	|void|parse_lparen_question_flags|NN struct RExC_state_t *pRExC_state
 Es	|regnode*|reg_node	|NN struct RExC_state_t *pRExC_state|U8 op
 Es	|UV	|reg_recode	|const char value|NN SV **encp
 Es	|regnode*|regpiece	|NN struct RExC_state_t *pRExC_state \
 				|NN I32 *flagp|U32 depth
-Es	|regnode*|reg_namedseq	|NN struct RExC_state_t *pRExC_state \
-				|NULLOK UV *valuep|NULLOK I32 *flagp|U32 depth
+Es	|bool	|grok_bslash_N	|NN struct RExC_state_t *pRExC_state        \
+				|NULLOK regnode** nodep|NULLOK UV *valuep   \
+				|NN I32 *flagp|U32 depth|bool in_char_class \
+				|const bool strict
 Es	|void	|reginsert	|NN struct RExC_state_t *pRExC_state \
 				|U8 op|NN regnode *opnd|U32 depth
 Es	|void	|regtail	|NN struct RExC_state_t *pRExC_state \
@@ -1796,9 +2001,17 @@
 Es	|SV *	|reg_scan_name	|NN struct RExC_state_t *pRExC_state \
 				|U32 flags
 Es	|U32	|join_exact	|NN struct RExC_state_t *pRExC_state \
-				|NN regnode *scan|NN I32 *min|U32 flags|NULLOK regnode *val|U32 depth
+				|NN regnode *scan|NN UV *min_subtract  \
+				|NN bool *has_exactf_sharp_s  \
+				|U32 flags|NULLOK regnode *val|U32 depth
 EsRn	|char *	|regwhite	|NN struct RExC_state_t *pRExC_state \
 				|NN char *p
+EsRn	|char *	|regpatws	|NN struct RExC_state_t *pRExC_state \
+				|NN char *p|const bool recognize_comment
+Ei	|void   |alloc_maybe_populate_EXACT|NN struct RExC_state_t *pRExC_state \
+				|NN regnode *node|NN I32 *flagp|STRLEN len \
+				|UV code_point
+Ei	|U8   |compute_EXACTish|NN struct RExC_state_t *pRExC_state
 Es	|char *	|nextchar	|NN struct RExC_state_t *pRExC_state
 Es	|bool	|reg_skipcomment|NN struct RExC_state_t *pRExC_state
 Es	|void	|scan_commit	|NN const struct RExC_state_t *pRExC_state \
@@ -1824,8 +2037,8 @@
 EsRn	|U32	|add_data	|NN struct RExC_state_t *pRExC_state|U32 n \
 				|NN const char *s
 rs	|void	|re_croak2	|NN const char* pat1|NN const char* pat2|...
-Es	|I32	|regpposixcc	|NN struct RExC_state_t *pRExC_state|I32 value
-Es	|void	|checkposixcc	|NN struct RExC_state_t *pRExC_state
+Ei	|I32	|regpposixcc	|NN struct RExC_state_t *pRExC_state \
+				|I32 value|const bool strict
 Es	|I32	|make_trie	|NN struct RExC_state_t *pRExC_state \
 				|NN regnode *startbranch|NN regnode *first \
 				|NN regnode *last|NN regnode *tail \
@@ -1856,22 +2069,34 @@
 #endif
 
 #if defined(PERL_IN_REGEXEC_C)
-ERs	|I32	|regmatch	|NN regmatch_info *reginfo|NN regnode *prog
-ERs	|I32	|regrepeat	|NN const regexp *prog|NN const regnode *p|I32 max|int depth
-ERs	|I32	|regtry		|NN regmatch_info *reginfo|NN char **startpos
-ERs	|bool	|reginclass	|NULLOK const regexp * const prog|NN const regnode * const n|NN const U8 * const p|NULLOK STRLEN *lenp\
-				|bool const do_utf8sv_is_utf8
-Es	|CHECKPOINT|regcppush	|I32 parenfloor
-Es	|char*	|regcppop	|NN const regexp *rex
+ERs	|bool	|isFOO_lc	|const U8 classnum|const U8 character
+ERs	|bool	|isFOO_utf8_lc	|const U8 classnum|NN const U8* character
+ERs	|I32	|regmatch	|NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
+ERs	|I32	|regrepeat	|NN regexp *prog|NN char **startposp \
+				|NN const regnode *p|I32 max|int depth \
+				|bool is_utf8_pat
+ERs	|I32	|regtry		|NN regmatch_info *reginfo|NN char **startposp
+ERs	|bool	|reginclass	|NULLOK regexp * const prog|NN const regnode * const n|NN const U8 * const p\
+				|bool const utf8_target
+Es	|CHECKPOINT|regcppush	|NN const regexp *rex|I32 parenfloor\
+				|U32 maxopenparen
+Es	|void	|regcppop	|NN regexp *rex\
+				|NN U32 *maxopenparen_p
 ERsn	|U8*	|reghop3	|NN U8 *s|I32 off|NN const U8 *lim
+ERsM	|SV*	|core_regclass_swash|NULLOK const regexp *prog \
+				|NN const struct regnode *node|bool doinit \
+				|NULLOK SV **listsvp
 #ifdef XXX_dmq
 ERsn	|U8*	|reghop4	|NN U8 *s|I32 off|NN const U8 *llim \
 				|NN const U8 *rlim
 #endif
 ERsn	|U8*	|reghopmaybe3	|NN U8 *s|I32 off|NN const U8 *lim
-ERs	|char*	|find_byclass	|NN regexp * prog|NN const regnode *c|NN char *s|NN const char *strend|NULLOK regmatch_info *reginfo
+ERs	|char*	|find_byclass	|NN regexp * prog|NN const regnode *c \
+				|NN char *s|NN const char *strend \
+				|NULLOK regmatch_info *reginfo \
+				|bool is_utf_pat
 Es	|void	|to_utf8_substr	|NN regexp * prog
-Es	|void	|to_byte_substr	|NN regexp * prog
+Es	|bool	|to_byte_substr	|NN regexp * prog
 ERs	|I32	|reg_check_named_buff_matched	|NN const regexp *rex \
 						|NN const regnode *scan
 #  ifdef DEBUGGING
@@ -1886,8 +2111,6 @@
 #if defined(PERL_IN_DUMP_C)
 s	|CV*	|deb_curcv	|const I32 ix
 s	|void	|debprof	|NN const OP *o
-s	|void	|sequence	|NULLOK const OP *o
-s	|void	|sequence_tail	|NULLOK const OP *o
 s	|UV	|sequence_num	|NULLOK const OP *o
 s	|SV*	|pm_description	|NN const PMOP *pm
 #endif
@@ -1906,15 +2129,18 @@
 poM	|void	|sv_kill_backrefs	|NN SV *const sv|NULLOK AV *const av
 #endif
 
+#if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C)
+pR	|SV *	|varname	|NULLOK const GV *const gv|const char gvtype \
+				|PADOFFSET targ|NULLOK const SV *const keyname \
+				|I32 aindex|int subscript_type
+#endif
+
 pX	|void	|sv_del_backref	|NN SV *const tsv|NN SV *const sv
 #if defined(PERL_IN_SV_C)
 nsR	|char *	|uiv_2buf	|NN char *const buf|const IV iv|UV uv|const int is_uv|NN char **const peob
-s	|void	|sv_unglob	|NN SV *const sv
+i	|void	|sv_unglob	|NN SV *const sv|U32 flags
 s	|void	|not_a_number	|NN SV *const sv
 s	|I32	|visit		|NN SVFUNC_t f|const U32 flags|const U32 mask
-sR	|SV *	|varname	|NULLOK const GV *const gv|const char gvtype \
-				|PADOFFSET targ|NULLOK const SV *const keyname \
-				|I32 aindex|int subscript_type
 #  ifdef DEBUGGING
 s	|void	|del_sv	|NN SV *p
 #  endif
@@ -1969,6 +2195,8 @@
 s	|SV*	|tokeq		|NN SV *sv
 s	|void	|readpipe_override|
 sR	|char*	|scan_const	|NN char *start
+iR	|SV*	|get_and_check_backslash_N_name|NN const char* s \
+				|NN const char* const e
 sR	|char*	|scan_formline	|NN char *s
 sR	|char*	|scan_heredoc	|NN char *s
 s	|char*	|scan_ident	|NN char *s|NN const char *send|NN char *dest \
@@ -1975,7 +2203,9 @@
 				|STRLEN destlen|I32 ck_uni
 sR	|char*	|scan_inputsymbol|NN char *start
 sR	|char*	|scan_pat	|NN char *start|I32 type
-sR	|char*	|scan_str	|NN char *start|int keep_quoted|int keep_delims
+sR	|char*	|scan_str	|NN char *start|int keep_quoted \
+				|int keep_delims|int re_reparse \
+				|bool deprecate_escaped_matching
 sR	|char*	|scan_subst	|NN char *start
 sR	|char*	|scan_trans	|NN char *start
 s	|char*	|scan_word	|NN char *s|NN char *dest|STRLEN destlen \
@@ -1991,6 +2221,7 @@
 s	|void	|checkcomma	|NN const char *s|NN const char *name \
 				|NN const char *what
 s	|void	|force_ident	|NN const char *s|int kind
+s	|void	|force_ident_maybe_lex|char pit
 s	|void	|incline	|NN const char *s
 s	|int	|intuit_method	|NN char *s|NULLOK GV *gv|NULLOK CV *cv
 s	|int	|intuit_more	|NN char *s
@@ -1997,6 +2228,7 @@
 s	|I32	|lop		|I32 f|int x|NN char *s
 rs	|void	|missingterm	|NULLOK char *s
 s	|void	|no_op		|NN const char *const what|NULLOK char *s
+s	|int	|pending_ident
 sR	|I32	|sublex_done
 sR	|I32	|sublex_push
 sR	|I32	|sublex_start
@@ -2009,6 +2241,9 @@
 				|STRLEN typelen
 s	|int	|deprecate_commaless_var_list
 s	|int	|ao		|int toketype
+s  |void|parse_ident|NN char **s|NN char **d \
+                     |NN char * const e|int allow_package \
+                     |bool is_utf8
 #  if defined(PERL_CR_FILTER)
 s	|I32	|cr_textfilter	|int idx|NULLOK SV *sv|int maxlen
 s	|void	|strip_return	|NN SV *sv
@@ -2020,7 +2255,8 @@
 #endif
 
 #if defined(PERL_IN_UNIVERSAL_C)
-s	|bool|isa_lookup	|NN HV *stash|NN const char * const name
+s	|bool|isa_lookup	|NN HV *stash|NN const char * const name \
+                                        |STRLEN len|U32 flags
 #endif
 
 #if defined(PERL_IN_LOCALE_C)
@@ -2034,7 +2270,6 @@
 s	|SV*	|mess_alloc
 s	|SV *|with_queued_errors|NN SV *ex
 s	|bool	|invoke_exception_hook|NULLOK SV *ex|bool warn
-sr	|char *	|write_no_mem
 #if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
 sn	|void	|mem_log_common	|enum mem_log_type mlt|const UV n|const UV typesize \
 				|NN const char *type_name|NULLOK const SV *sv \
@@ -2049,9 +2284,10 @@
 #endif
 
 #if defined(PERL_IN_UTF8_C)
-sRn	|STRLEN	|is_utf8_char_slow|NN const U8 *s|const STRLEN len
-sR	|bool	|is_utf8_common	|NN const U8 *const p|NN SV **swash|NN const char * const swashname
-sR	|SV*	|swash_get	|NN SV* swash|UV start|UV span
+iRn	|STRLEN	|is_utf8_char_slow|NN const U8 *s|const STRLEN len
+sRM	|UV	|check_locale_boundary_crossing|NN const U8* const p|const UV result|NN U8* const ustrp|NN STRLEN *lenp
+iR	|bool	|is_utf8_common	|NN const U8 *const p|NN SV **swash|NN const char * const swashname
+sR	|SV*	|swatch_get	|NN SV* swash|UV start|UV span
 #endif
 
 Apd	|void	|sv_setsv_flags	|NN SV *dstr|NULLOK SV *sstr|const I32 flags
@@ -2063,11 +2299,13 @@
 Apmd	|STRLEN	|sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
 Ap	|STRLEN	|sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
 Apd	|char*	|sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
-Apd	|void	|sv_copypv	|NN SV *const dsv|NN SV *const ssv
+pmb	|void	|sv_copypv	|NN SV *const dsv|NN SV *const ssv
+Apmd	|void	|sv_copypv_nomg	|NN SV *const dsv|NN SV *const ssv
+Apd	|void	|sv_copypv_flags	|NN SV *const dsv|NN SV *const ssv|const I32 flags
 Ap	|char*	|my_atof2	|NN const char *s|NN NV* value
 Apn	|int	|my_socketpair	|int family|int type|int protocol|int fd[2]
 Ap	|int	|my_dirfd	|NULLOK DIR* dir
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
 : Used in pp_hot.c and regexec.c
 pMXE	|SV*	|sv_setsv_cow	|NULLOK SV* dstr|NN SV* sstr
 #endif
@@ -2112,52 +2350,76 @@
 				|I32 stack_max|I32 mark_min|I32 mark_max
 #endif
 
-: Used in perl.c, pp_ctl.c, toke.c
-pda	|PADLIST*|pad_new	|int flags
-: Only used in op.c
-Mpd	|PADOFFSET|pad_add_name	|NN const char *name|const STRLEN len\
+: pad API
+#ifdef PERL_MAD
+Mnpd	|void	|pad_peg	|NN const char* s
+#endif
+Apda	|PADLIST*|pad_new	|int flags
+#if defined(PERL_IN_PAD_C)
+s	|PADOFFSET|pad_alloc_name|NN SV *namesv|U32 flags \
+				|NULLOK HV *typestash|NULLOK HV *ourstash
+#endif
+Apd	|PADOFFSET|pad_add_name_pvn|NN const char *namepv|STRLEN namelen\
+				|U32 flags|NULLOK HV *typestash\
+				|NULLOK HV *ourstash
+Apd	|PADOFFSET|pad_add_name_pv|NN const char *name\
 				|const U32 flags|NULLOK HV *typestash\
 				|NULLOK HV *ourstash
-: Only used in op.c
-pd	|PADOFFSET|pad_add_anon	|NN SV* sv|OPCODE op_type
+Apd	|PADOFFSET|pad_add_name_sv|NN SV *name\
+				|U32 flags|NULLOK HV *typestash\
+				|NULLOK HV *ourstash
+AMpd	|PADOFFSET|pad_alloc	|I32 optype|U32 tmptype
+Apd	|PADOFFSET|pad_add_anon	|NN CV* func|I32 optype
 #if defined(PERL_IN_PAD_C)
-sd	|void	|pad_check_dup	|NN SV *name|const U32 flags \
-				|NULLOK const HV *ourstash
+sd	|void	|pad_check_dup	|NN SV *name|U32 flags|NULLOK const HV *ourstash
 #endif
+Apd	|PADOFFSET|pad_findmy_pvn|NN const char* namepv|STRLEN namelen|U32 flags
+Apd	|PADOFFSET|pad_findmy_pv|NN const char* name|U32 flags
+Apd	|PADOFFSET|pad_findmy_sv|NN SV* name|U32 flags
+ApdD	|PADOFFSET|find_rundefsvoffset	|
+Apd	|SV*	|find_rundefsv	|
+: Used in pp.c
+p	|SV*	|find_rundefsv2	|NN CV *cv|U32 seq
+#if defined(PERL_IN_PAD_C)
+sd	|PADOFFSET|pad_findlex	|NN const char *namepv|STRLEN namelen|U32 flags \
+				|NN const CV* cv|U32 seq|int warn \
+				|NULLOK SV** out_capture|NN SV** out_name_sv \
+				|NN int *out_flags
+#endif
 #ifdef DEBUGGING
-: Only used PAD_SETSV() in op.c
-pd	|void	|pad_setsv	|PADOFFSET po|NN SV* sv
+Apd	|SV*	|pad_sv		|PADOFFSET po
+Apd	|void	|pad_setsv	|PADOFFSET po|NN SV* sv
 #endif
-: Only used in op.c
 pd	|void	|pad_block_start|int full
-: Only used in op.c
-pd	|void	|pad_tidy	|padtidy_type type
-: Used in dump.c
+pd	|U32	|intro_my
+pd	|OP *	|pad_leavemy
+pd	|void	|pad_swipe	|PADOFFSET po|bool refadjust
+#if defined(PERL_IN_PAD_C)
+sd	|void	|pad_reset
+#endif
+AMpd	|void	|pad_tidy	|padtidy_type type
+pd	|void	|pad_free	|PADOFFSET po
 pd 	|void	|do_dump_pad	|I32 level|NN PerlIO *file|NULLOK PADLIST *padlist|int full
-: Only used in op.c
+#if defined(PERL_IN_PAD_C)
+#  if defined(DEBUGGING)
+sd	|void	|cv_dump	|NN const CV *cv|NN const char *title
+#  endif
+#endif
+Apd	|CV*	|cv_clone	|NN CV* proto
+p	|CV*	|cv_clone_into	|NN CV* proto|NN CV *target
 pd	|void	|pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
-
-: Used in pp_ctl.c, pp_hot.c, pp_sort.c
 pdX	|void	|pad_push	|NN PADLIST *padlist|int depth
-: Only used in PAD_COMPNAME_TYPE() in op.c
-pR	|HV*	|pad_compname_type|const PADOFFSET po
-: Used in sv.c
+ApdR	|HV*	|pad_compname_type|const PADOFFSET po
 #if defined(USE_ITHREADS)
-pR	|AV*	|padlist_dup	|NULLOK AV *const srcpad \
-				|NN CLONE_PARAMS *const param
+pdR	|PADLIST *|padlist_dup	|NULLOK PADLIST *srcpad \
+				|NN CLONE_PARAMS *param
 #endif
+p	|PAD **	|padlist_store	|NN PADLIST *padlist|I32 key \
+				|NULLOK PAD *val
 
-#if defined(PERL_IN_PAD_C)
-sd	|PADOFFSET|pad_findlex	|NN const char *name|NN const CV* cv|U32 seq|int warn \
-				|NULLOK SV** out_capture|NN SV** out_name_sv \
-				|NN int *out_flags
-s	|PADOFFSET|pad_add_name_sv|NN SV *namesv|const U32 flags \
-				|NULLOK HV *typestash|NULLOK HV *ourstash
-#  if defined(DEBUGGING)
-sd	|void	|cv_dump	|NN const CV *cv|NN const char *title
-#  endif
-#endif
 ApdR	|CV*	|find_runcv	|NULLOK U32 *db_seqp
+pR	|CV*	|find_runcv_where|U8 cond|IV arg \
+				 |NULLOK U32 *db_seqp
 : Only used in perl.c
 p	|void	|free_tied_hv_pool
 #if defined(DEBUGGING)
@@ -2174,6 +2436,7 @@
 ApoR	|HE**	|hv_eiter_p	|NN HV *hv
 Apo	|void	|hv_riter_set	|NN HV *hv|I32 riter
 Apo	|void	|hv_eiter_set	|NN HV *hv|NULLOK HE *eiter
+Ap      |void   |hv_rand_set    |NN HV *hv|U32 new_xhv_rand
 Ap	|void	|hv_name_set	|NN HV *hv|NULLOK const char *name|U32 len|U32 flags
 p	|void	|hv_ename_add	|NN HV *hv|NN const char *name|U32 len \
 				|U32 flags
@@ -2181,8 +2444,7 @@
 				|U32 flags
 : Used in dump.c and hv.c
 poM	|AV**	|hv_backreferences_p	|NN HV *hv
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
-: Only used in sv.c
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_SCOPE_C)
 poM	|void	|hv_kill_backrefs	|NN HV *hv
 #endif
 Apd	|void	|hv_clear_placeholders	|NN HV *hv
@@ -2282,11 +2544,7 @@
 
 Ap	|GV*	|gv_fetchpvn_flags|NN const char* name|STRLEN len|I32 flags|const svtype sv_type
 Ap	|GV*	|gv_fetchsv|NN SV *name|I32 flags|const svtype sv_type
-: Only used in pp.c
-dpR	|bool	|is_gv_magical_sv|NN SV *const name_sv|U32 flags
 
-ApR	|bool	|stashpv_hvname_match|NN const COP *c|NN const HV *hv
-
 #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
 : Used in sv.c
 p	|void	|dump_sv_child	|NN SV *sv
@@ -2341,7 +2599,6 @@
 #endif
 
 #ifdef PERL_MAD
-Mnp	|void	|pad_peg	|NN const char* s
 #if defined(PERL_IN_DUMP_C)
 sf	|void	|xmldump_attr	|I32 level|NN PerlIO *file|NN const char* pat \
 				|...
@@ -2423,7 +2680,7 @@
 s	|void	|mro_clean_isarev|NN HV * const isa   \
 				 |NN const char * const name \
 				 |const STRLEN len \
-				 |NULLOK HV * const exceptions
+				 |NULLOK HV * const exceptions|U32 flags
 s	|void	|mro_gather_and_rename|NN HV * const stashes \
 				      |NN HV * const seen_stashes \
 				      |NULLOK HV *stash \
@@ -2439,15 +2696,13 @@
 Apon	|void	|sys_init	|NN int* argc|NN char*** argv
 Apon	|void	|sys_init3	|NN int* argc|NN char*** argv|NN char*** env
 Apon	|void	|sys_term
-ApoM	|const char *|fetch_cop_label|NN COP *const cop \
+ApoM	|const char *|cop_fetch_label|NN COP *const cop \
 		|NULLOK STRLEN *len|NULLOK U32 *flags
-: Only used  in op.c
-xpoM	|void|store_cop_label \
+: Only used  in op.c and the perl compiler
+ApoM	|void|cop_store_label \
 		|NN COP *const cop|NN const char *label|STRLEN len|U32 flags
 
 xpo	|int	|keyword_plugin_standard|NN char* keyword_ptr|STRLEN keyword_len|NN OP** op_ptr
-: Used in perly.y
-xp	|void	|munge_qwlist_to_paren_list|NN OP* qwlist
 
 #if defined(USE_ITHREADS)
 #  if defined(PERL_IN_SV_C)
@@ -2462,6 +2717,7 @@
 op	|void	|populate_isa	|NN const char *name|STRLEN len|...
 
 : Used in keywords.c and toke.c
-op	|bool	|feature_is_enabled|NN const char *const name|STRLEN namelen
+Xop	|bool	|feature_is_enabled|NN const char *const name \
+		|STRLEN namelen
 
 : ex: set ts=8 sts=4 sw=4 noet:


Property changes on: vendor/perl/dist/embed.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/embed.h
===================================================================
--- vendor/perl/dist/embed.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/embed.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,8 +27,18 @@
 /* Hide global symbols */
 
 #define Gv_AMupdate(a,b)	Perl_Gv_AMupdate(aTHX_ a,b)
+#define _is_uni_FOO(a,b)	Perl__is_uni_FOO(aTHX_ a,b)
+#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_mark(a)	Perl__is_utf8_mark(aTHX_ a)
+#define _is_utf8_perl_idcont(a)	Perl__is_utf8_perl_idcont(aTHX_ a)
+#define _is_utf8_perl_idstart(a)	Perl__is_utf8_perl_idstart(aTHX_ a)
 #define _to_uni_fold_flags(a,b,c,d)	Perl__to_uni_fold_flags(aTHX_ a,b,c,d)
-#define _to_utf8_fold_flags(a,b,c,d)	Perl__to_utf8_fold_flags(aTHX_ a,b,c,d)
+#define _to_utf8_fold_flags(a,b,c,d,e)	Perl__to_utf8_fold_flags(aTHX_ a,b,c,d,e)
+#define _to_utf8_lower_flags(a,b,c,d,e)	Perl__to_utf8_lower_flags(aTHX_ a,b,c,d,e)
+#define _to_utf8_title_flags(a,b,c,d,e)	Perl__to_utf8_title_flags(aTHX_ a,b,c,d,e)
+#define _to_utf8_upper_flags(a,b,c,d,e)	Perl__to_utf8_upper_flags(aTHX_ a,b,c,d,e)
 #define amagic_call(a,b,c,d)	Perl_amagic_call(aTHX_ a,b,c,d)
 #define amagic_deref_call(a,b)	Perl_amagic_deref_call(aTHX_ a,b)
 #define apply_attrs_string(a,b,c,d)	Perl_apply_attrs_string(aTHX_ a,b,c,d)
@@ -46,6 +56,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_gimme()		Perl_block_gimme(aTHX)
@@ -73,11 +84,12 @@
 #ifndef PERL_IMPLICIT_CONTEXT
 #define croak			Perl_croak
 #endif
-#define croak_no_modify()	Perl_croak_no_modify(aTHX)
+#define croak_no_modify		Perl_croak_no_modify
 #define croak_sv(a)		Perl_croak_sv(aTHX_ a)
-#define croak_xs_usage(a,b)	Perl_croak_xs_usage(aTHX_ a,b)
+#define croak_xs_usage		Perl_croak_xs_usage
 #define custom_op_desc(a)	Perl_custom_op_desc(aTHX_ a)
 #define custom_op_name(a)	Perl_custom_op_name(aTHX_ a)
+#define cv_clone(a)		Perl_cv_clone(aTHX_ a)
 #define cv_const_sv(a)		Perl_cv_const_sv(aTHX_ a)
 #define cv_get_call_checker(a,b,c)	Perl_cv_get_call_checker(aTHX_ a,b,c)
 #define cv_set_call_checker(a,b,c)	Perl_cv_set_call_checker(aTHX_ a,b,c)
@@ -160,7 +172,9 @@
 #define grok_numeric_radix(a,b)	Perl_grok_numeric_radix(aTHX_ a,b)
 #define grok_oct(a,b,c,d)	Perl_grok_oct(aTHX_ a,b,c,d)
 #define gv_add_by_type(a,b)	Perl_gv_add_by_type(aTHX_ a,b)
-#define gv_autoload4(a,b,c,d)	Perl_gv_autoload4(aTHX_ a,b,c,d)
+#define gv_autoload_pv(a,b,c)	Perl_gv_autoload_pv(aTHX_ a,b,c)
+#define gv_autoload_pvn(a,b,c,d)	Perl_gv_autoload_pvn(aTHX_ a,b,c,d)
+#define gv_autoload_sv(a,b,c)	Perl_gv_autoload_sv(aTHX_ a,b,c)
 #define gv_check(a)		Perl_gv_check(aTHX_ a)
 #define gv_const_sv(a)		Perl_gv_const_sv(aTHX_ a)
 #define gv_dump(a)		Perl_gv_dump(aTHX_ a)
@@ -168,10 +182,16 @@
 #define gv_efullname4(a,b,c,d)	Perl_gv_efullname4(aTHX_ a,b,c,d)
 #define gv_fetchfile(a)		Perl_gv_fetchfile(aTHX_ a)
 #define gv_fetchfile_flags(a,b,c)	Perl_gv_fetchfile_flags(aTHX_ a,b,c)
-#define gv_fetchmeth(a,b,c,d)	Perl_gv_fetchmeth(aTHX_ a,b,c,d)
-#define gv_fetchmeth_autoload(a,b,c,d)	Perl_gv_fetchmeth_autoload(aTHX_ a,b,c,d)
+#define gv_fetchmeth_pv(a,b,c,d)	Perl_gv_fetchmeth_pv(aTHX_ a,b,c,d)
+#define gv_fetchmeth_pv_autoload(a,b,c,d)	Perl_gv_fetchmeth_pv_autoload(aTHX_ a,b,c,d)
+#define gv_fetchmeth_pvn(a,b,c,d,e)	Perl_gv_fetchmeth_pvn(aTHX_ a,b,c,d,e)
+#define gv_fetchmeth_pvn_autoload(a,b,c,d,e)	Perl_gv_fetchmeth_pvn_autoload(aTHX_ a,b,c,d,e)
+#define gv_fetchmeth_sv(a,b,c,d)	Perl_gv_fetchmeth_sv(aTHX_ a,b,c,d)
+#define gv_fetchmeth_sv_autoload(a,b,c,d)	Perl_gv_fetchmeth_sv_autoload(aTHX_ a,b,c,d)
 #define gv_fetchmethod_autoload(a,b,c)	Perl_gv_fetchmethod_autoload(aTHX_ a,b,c)
-#define gv_fetchmethod_flags(a,b,c)	Perl_gv_fetchmethod_flags(aTHX_ a,b,c)
+#define gv_fetchmethod_pv_flags(a,b,c)	Perl_gv_fetchmethod_pv_flags(aTHX_ a,b,c)
+#define gv_fetchmethod_pvn_flags(a,b,c,d)	Perl_gv_fetchmethod_pvn_flags(aTHX_ a,b,c,d)
+#define gv_fetchmethod_sv_flags(a,b,c)	Perl_gv_fetchmethod_sv_flags(aTHX_ a,b,c)
 #define gv_fetchpv(a,b,c)	Perl_gv_fetchpv(aTHX_ a,b,c)
 #define gv_fetchpvn_flags(a,b,c,d)	Perl_gv_fetchpvn_flags(aTHX_ a,b,c,d)
 #define gv_fetchsv(a,b,c)	Perl_gv_fetchsv(aTHX_ a,b,c)
@@ -178,7 +198,9 @@
 #define gv_fullname(a,b)	Perl_gv_fullname(aTHX_ a,b)
 #define gv_fullname4(a,b,c,d)	Perl_gv_fullname4(aTHX_ a,b,c,d)
 #define gv_handler(a,b)		Perl_gv_handler(aTHX_ a,b)
-#define gv_init(a,b,c,d,e)	Perl_gv_init(aTHX_ a,b,c,d,e)
+#define gv_init_pv(a,b,c,d)	Perl_gv_init_pv(aTHX_ a,b,c,d)
+#define gv_init_pvn(a,b,c,d,e)	Perl_gv_init_pvn(aTHX_ a,b,c,d,e)
+#define gv_init_sv(a,b,c,d)	Perl_gv_init_sv(aTHX_ a,b,c,d)
 #define gv_name_set(a,b,c,d)	Perl_gv_name_set(aTHX_ a,b,c,d)
 #define gv_stashpv(a,b)		Perl_gv_stashpv(aTHX_ a,b)
 #define gv_stashpvn(a,b,c)	Perl_gv_stashpvn(aTHX_ a,b,c)
@@ -198,6 +220,7 @@
 #define hv_iterval(a,b)		Perl_hv_iterval(aTHX_ a,b)
 #define hv_ksplit(a,b)		Perl_hv_ksplit(aTHX_ a,b)
 #define hv_name_set(a,b,c,d)	Perl_hv_name_set(aTHX_ a,b,c,d)
+#define hv_rand_set(a,b)	Perl_hv_rand_set(aTHX_ a,b)
 #define hv_scalar(a)		Perl_hv_scalar(aTHX_ a)
 #define init_i18nl10n(a)	Perl_init_i18nl10n(aTHX_ a)
 #define init_i18nl14n(a)	Perl_init_i18nl14n(aTHX_ a)
@@ -208,10 +231,14 @@
 #define is_lvalue_sub()		Perl_is_lvalue_sub(aTHX)
 #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)
+#define is_uni_alnumc_lc(a)	Perl_is_uni_alnumc_lc(aTHX_ a)
 #define is_uni_alpha(a)		Perl_is_uni_alpha(aTHX_ a)
 #define is_uni_alpha_lc(a)	Perl_is_uni_alpha_lc(aTHX_ a)
 #define is_uni_ascii(a)		Perl_is_uni_ascii(aTHX_ a)
 #define is_uni_ascii_lc(a)	Perl_is_uni_ascii_lc(aTHX_ a)
+#define is_uni_blank(a)		Perl_is_uni_blank(aTHX_ a)
+#define is_uni_blank_lc(a)	Perl_is_uni_blank_lc(aTHX_ a)
 #define is_uni_cntrl(a)		Perl_is_uni_cntrl(aTHX_ a)
 #define is_uni_cntrl_lc(a)	Perl_is_uni_cntrl_lc(aTHX_ a)
 #define is_uni_digit(a)		Perl_is_uni_digit(aTHX_ a)
@@ -233,9 +260,12 @@
 #define is_uni_xdigit(a)	Perl_is_uni_xdigit(aTHX_ a)
 #define is_uni_xdigit_lc(a)	Perl_is_uni_xdigit_lc(aTHX_ a)
 #define is_utf8_alnum(a)	Perl_is_utf8_alnum(aTHX_ a)
+#define is_utf8_alnumc(a)	Perl_is_utf8_alnumc(aTHX_ a)
 #define is_utf8_alpha(a)	Perl_is_utf8_alpha(aTHX_ a)
 #define is_utf8_ascii(a)	Perl_is_utf8_ascii(aTHX_ a)
+#define is_utf8_blank(a)	Perl_is_utf8_blank(aTHX_ a)
 #define is_utf8_char		Perl_is_utf8_char
+#define is_utf8_char_buf	Perl_is_utf8_char_buf
 #define is_utf8_cntrl(a)	Perl_is_utf8_cntrl(aTHX_ a)
 #define is_utf8_digit(a)	Perl_is_utf8_digit(aTHX_ a)
 #define is_utf8_graph(a)	Perl_is_utf8_graph(aTHX_ a)
@@ -301,8 +331,6 @@
 #define my_failure_exit()	Perl_my_failure_exit(aTHX)
 #define my_fflush_all()		Perl_my_fflush_all(aTHX)
 #define my_fork			Perl_my_fork
-#define my_pclose(a)		Perl_my_pclose(aTHX_ a)
-#define my_popen(a,b)		Perl_my_popen(aTHX_ a,b)
 #define my_popen_list(a,b,c)	Perl_my_popen_list(aTHX_ a,b,c)
 #define my_setenv(a,b)		Perl_my_setenv(aTHX_ a,b)
 #define my_socketpair		Perl_my_socketpair
@@ -317,12 +345,13 @@
 #define newBINOP(a,b,c,d)	Perl_newBINOP(aTHX_ a,b,c,d)
 #define newCONDOP(a,b,c,d)	Perl_newCONDOP(aTHX_ a,b,c,d)
 #define newCONSTSUB(a,b,c)	Perl_newCONSTSUB(aTHX_ a,b,c)
+#define newCONSTSUB_flags(a,b,c,d,e)	Perl_newCONSTSUB_flags(aTHX_ a,b,c,d,e)
 #define newCVREF(a,b)		Perl_newCVREF(aTHX_ a,b)
 #define newFOROP(a,b,c,d,e)	Perl_newFOROP(aTHX_ a,b,c,d,e)
 #define newGIVENOP(a,b,c)	Perl_newGIVENOP(aTHX_ a,b,c)
 #define newGVOP(a,b,c)		Perl_newGVOP(aTHX_ a,b,c)
 #define newGVREF(a,b)		Perl_newGVREF(aTHX_ a,b)
-#define newGVgen(a)		Perl_newGVgen(aTHX_ a)
+#define newGVgen_flags(a,b)	Perl_newGVgen_flags(aTHX_ a,b)
 #define newHVREF(a)		Perl_newHVREF(aTHX_ a)
 #define newHVhv(a)		Perl_newHVhv(aTHX_ a)
 #define newLISTOP(a,b,c,d)	Perl_newLISTOP(aTHX_ a,b,c,d)
@@ -329,6 +358,7 @@
 #define newLOGOP(a,b,c,d)	Perl_newLOGOP(aTHX_ a,b,c,d)
 #define newLOOPEX(a,b)		Perl_newLOOPEX(aTHX_ a,b)
 #define newLOOPOP(a,b,c,d)	Perl_newLOOPOP(aTHX_ a,b,c,d)
+#define newMYSUB(a,b,c,d,e)	Perl_newMYSUB(aTHX_ a,b,c,d,e)
 #define newNULLLIST()		Perl_newNULLLIST(aTHX)
 #define newOP(a,b)		Perl_newOP(aTHX_ a,b)
 #define newPMOP(a,b)		Perl_newPMOP(aTHX_ a,b)
@@ -375,7 +405,6 @@
 #define op_dump(a)		Perl_op_dump(aTHX_ a)
 #define op_free(a)		Perl_op_free(aTHX_ a)
 #define op_linklist(a)		Perl_op_linklist(aTHX_ a)
-#define op_lvalue(a,b)		Perl_op_lvalue(aTHX_ a,b)
 #define op_null(a)		Perl_op_null(aTHX_ a)
 #define op_prepend_elem(a,b,c)	Perl_op_prepend_elem(aTHX_ a,b,c)
 #define op_refcnt_lock()	Perl_op_refcnt_lock(aTHX)
@@ -383,7 +412,17 @@
 #define op_scope(a)		Perl_op_scope(aTHX_ a)
 #define pack_cat(a,b,c,d,e,f,g)	Perl_pack_cat(aTHX_ a,b,c,d,e,f,g)
 #define packlist(a,b,c,d,e)	Perl_packlist(aTHX_ a,b,c,d,e)
-#define pad_findmy(a,b,c)	Perl_pad_findmy(aTHX_ a,b,c)
+#define pad_add_anon(a,b)	Perl_pad_add_anon(aTHX_ a,b)
+#define pad_add_name_pv(a,b,c,d)	Perl_pad_add_name_pv(aTHX_ a,b,c,d)
+#define pad_add_name_pvn(a,b,c,d,e)	Perl_pad_add_name_pvn(aTHX_ a,b,c,d,e)
+#define pad_add_name_sv(a,b,c,d)	Perl_pad_add_name_sv(aTHX_ a,b,c,d)
+#define pad_alloc(a,b)		Perl_pad_alloc(aTHX_ a,b)
+#define pad_compname_type(a)	Perl_pad_compname_type(aTHX_ a)
+#define pad_findmy_pv(a,b)	Perl_pad_findmy_pv(aTHX_ a,b)
+#define pad_findmy_pvn(a,b,c)	Perl_pad_findmy_pvn(aTHX_ a,b,c)
+#define pad_findmy_sv(a,b)	Perl_pad_findmy_sv(aTHX_ a,b)
+#define pad_new(a)		Perl_pad_new(aTHX_ a)
+#define pad_tidy(a)		Perl_pad_tidy(aTHX_ a)
 #define parse_arithexpr(a)	Perl_parse_arithexpr(aTHX_ a)
 #define parse_barestmt(a)	Perl_parse_barestmt(aTHX_ a)
 #define parse_block(a)		Perl_parse_block(aTHX_ a)
@@ -414,6 +453,10 @@
 #define re_compile(a,b)		Perl_re_compile(aTHX_ a,b)
 #define re_intuit_start(a,b,c,d,e,f)	Perl_re_intuit_start(aTHX_ a,b,c,d,e,f)
 #define re_intuit_string(a)	Perl_re_intuit_string(aTHX_ a)
+#define reentrant_free()	Perl_reentrant_free(aTHX)
+#define reentrant_init()	Perl_reentrant_init(aTHX)
+#define reentrant_retry		Perl_reentrant_retry
+#define reentrant_size()	Perl_reentrant_size(aTHX)
 #define reg_named_buff_all(a,b)	Perl_reg_named_buff_all(aTHX_ a,b)
 #define reg_named_buff_exists(a,b,c)	Perl_reg_named_buff_exists(aTHX_ a,b,c)
 #define reg_named_buff_fetch(a,b,c)	Perl_reg_named_buff_fetch(aTHX_ a,b,c)
@@ -422,7 +465,6 @@
 #define reg_named_buff_scalar(a,b)	Perl_reg_named_buff_scalar(aTHX_ a,b)
 #define regclass_swash(a,b,c,d,e)	Perl_regclass_swash(aTHX_ a,b,c,d,e)
 #define regdump(a)		Perl_regdump(aTHX_ a)
-#define regdump(a)		Perl_regdump(aTHX_ a)
 #define regexec_flags(a,b,c,d,e,f,g,h)	Perl_regexec_flags(aTHX_ a,b,c,d,e,f,g,h)
 #define regfree_internal(a)	Perl_regfree_internal(aTHX_ a)
 #define reginitcolors()		Perl_reginitcolors(aTHX)
@@ -504,7 +546,6 @@
 #define sortsv_flags(a,b,c,d)	Perl_sortsv_flags(aTHX_ a,b,c,d)
 #define stack_grow(a,b,c)	Perl_stack_grow(aTHX_ a,b,c)
 #define start_subparse(a,b)	Perl_start_subparse(aTHX_ a,b)
-#define stashpv_hvname_match(a,b)	Perl_stashpv_hvname_match(aTHX_ a,b)
 #define str_to_version(a)	Perl_str_to_version(aTHX_ a)
 #define sv_2bool_flags(a,b)	Perl_sv_2bool_flags(aTHX_ a,b)
 #define sv_2cv(a,b,c,d)		Perl_sv_2cv(aTHX_ a,b,c,d)
@@ -532,13 +573,18 @@
 #define sv_clear(a)		Perl_sv_clear(aTHX_ a)
 #define sv_cmp_flags(a,b,c)	Perl_sv_cmp_flags(aTHX_ a,b,c)
 #define sv_cmp_locale_flags(a,b,c)	Perl_sv_cmp_locale_flags(aTHX_ a,b,c)
-#define sv_compile_2op(a,b,c,d)	Perl_sv_compile_2op(aTHX_ a,b,c,d)
-#define sv_copypv(a,b)		Perl_sv_copypv(aTHX_ a,b)
+#define sv_copypv_flags(a,b,c)	Perl_sv_copypv_flags(aTHX_ a,b,c)
 #define sv_dec(a)		Perl_sv_dec(aTHX_ a)
 #define sv_dec_nomg(a)		Perl_sv_dec_nomg(aTHX_ a)
 #define sv_derived_from(a,b)	Perl_sv_derived_from(aTHX_ a,b)
+#define sv_derived_from_pv(a,b,c)	Perl_sv_derived_from_pv(aTHX_ a,b,c)
+#define sv_derived_from_pvn(a,b,c,d)	Perl_sv_derived_from_pvn(aTHX_ a,b,c,d)
+#define sv_derived_from_sv(a,b,c)	Perl_sv_derived_from_sv(aTHX_ a,b,c)
 #define sv_destroyable(a)	Perl_sv_destroyable(aTHX_ a)
 #define sv_does(a,b)		Perl_sv_does(aTHX_ a,b)
+#define sv_does_pv(a,b,c)	Perl_sv_does_pv(aTHX_ a,b,c)
+#define sv_does_pvn(a,b,c,d)	Perl_sv_does_pvn(aTHX_ a,b,c,d)
+#define sv_does_sv(a,b,c)	Perl_sv_does_sv(aTHX_ a,b,c)
 #define sv_dump(a)		Perl_sv_dump(aTHX_ a)
 #define sv_eq_flags(a,b,c)	Perl_sv_eq_flags(aTHX_ a,b,c)
 #define sv_force_normal_flags(a,b)	Perl_sv_force_normal_flags(aTHX_ a,b)
@@ -555,7 +601,6 @@
 #define sv_len_utf8(a)		Perl_sv_len_utf8(aTHX_ a)
 #define sv_magic(a,b,c,d,e)	Perl_sv_magic(aTHX_ a,b,c,d,e)
 #define sv_magicext(a,b,c,d,e,f)	Perl_sv_magicext(aTHX_ a,b,c,d,e,f)
-#define sv_mortalcopy(a)	Perl_sv_mortalcopy(aTHX_ a)
 #define sv_newmortal()		Perl_sv_newmortal(aTHX)
 #define sv_newref(a)		Perl_sv_newref(aTHX_ a)
 #define sv_nosharing(a)		Perl_sv_nosharing(aTHX_ a)
@@ -617,6 +662,7 @@
 #define sv_vcatpvf(a,b,c)	Perl_sv_vcatpvf(aTHX_ a,b,c)
 #define sv_vcatpvf_mg(a,b,c)	Perl_sv_vcatpvf_mg(aTHX_ a,b,c)
 #define sv_vcatpvfn(a,b,c,d,e,f,g)	Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g)
+#define sv_vcatpvfn_flags(a,b,c,d,e,f,g,h)	Perl_sv_vcatpvfn_flags(aTHX_ a,b,c,d,e,f,g,h)
 #define sv_vsetpvf(a,b,c)	Perl_sv_vsetpvf(aTHX_ a,b,c)
 #define sv_vsetpvf_mg(a,b,c)	Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
 #define sv_vsetpvfn(a,b,c,d,e,f,g)	Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g)
@@ -632,9 +678,6 @@
 #define to_uni_upper(a,b,c)	Perl_to_uni_upper(aTHX_ a,b,c)
 #define to_uni_upper_lc(a)	Perl_to_uni_upper_lc(aTHX_ a)
 #define to_utf8_case(a,b,c,d,e,f)	Perl_to_utf8_case(aTHX_ a,b,c,d,e,f)
-#define to_utf8_lower(a,b,c)	Perl_to_utf8_lower(aTHX_ a,b,c)
-#define to_utf8_title(a,b,c)	Perl_to_utf8_title(aTHX_ a,b,c)
-#define to_utf8_upper(a,b,c)	Perl_to_utf8_upper(aTHX_ a,b,c)
 #define unpack_str(a,b,c,d,e,f,g,h)	Perl_unpack_str(aTHX_ a,b,c,d,e,f,g,h)
 #define unpackstring(a,b,c,d,e)	Perl_unpackstring(aTHX_ a,b,c,d,e)
 #define unsharepvn(a,b,c)	Perl_unsharepvn(aTHX_ a,b,c)
@@ -646,10 +689,13 @@
 #define utf8_length(a,b)	Perl_utf8_length(aTHX_ a,b)
 #define utf8_to_bytes(a,b)	Perl_utf8_to_bytes(aTHX_ a,b)
 #define utf8_to_uvchr(a,b)	Perl_utf8_to_uvchr(aTHX_ a,b)
+#define utf8_to_uvchr_buf(a,b,c)	Perl_utf8_to_uvchr_buf(aTHX_ a,b,c)
 #define utf8_to_uvuni(a,b)	Perl_utf8_to_uvuni(aTHX_ a,b)
+#define utf8_to_uvuni_buf(a,b,c)	Perl_utf8_to_uvuni_buf(aTHX_ a,b,c)
 #define utf8n_to_uvuni(a,b,c,d)	Perl_utf8n_to_uvuni(aTHX_ a,b,c,d)
 #define uvchr_to_utf8_flags(a,b,c)	Perl_uvchr_to_utf8_flags(aTHX_ a,b,c)
 #define uvuni_to_utf8_flags(a,b,c)	Perl_uvuni_to_utf8_flags(aTHX_ a,b,c)
+#define valid_utf8_to_uvuni(a,b)	Perl_valid_utf8_to_uvuni(aTHX_ a,b)
 #define vcmp(a,b)		Perl_vcmp(aTHX_ a,b)
 #define vcroak(a,b)		Perl_vcroak(aTHX_ a,b)
 #define vdeb(a,b)		Perl_vdeb(aTHX_ a,b)
@@ -670,7 +716,10 @@
 #ifndef PERL_IMPLICIT_CONTEXT
 #define warner			Perl_warner
 #endif
-#define whichsig(a)		Perl_whichsig(aTHX_ a)
+#define whichsig_pv(a)		Perl_whichsig_pv(aTHX_ a)
+#define whichsig_pvn(a,b)	Perl_whichsig_pvn(aTHX_ a,b)
+#define whichsig_sv(a)		Perl_whichsig_sv(aTHX_ a)
+#define wrap_op_checker(a,b,c)	Perl_wrap_op_checker(aTHX_ a,b,c)
 #if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
 #define csighandler		Perl_csighandler
 #endif
@@ -679,7 +728,6 @@
 #endif
 #if !(defined(PERL_MAD))
 #define newFORM(a,b,c)		Perl_newFORM(aTHX_ a,b,c)
-#define newMYSUB(a,b,c,d,e)	Perl_newMYSUB(aTHX_ a,b,c,d,e)
 #endif
 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
 #define my_bzero		Perl_my_bzero
@@ -693,10 +741,15 @@
 #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
 #define my_chsize(a,b)		Perl_my_chsize(aTHX_ a,b)
 #endif
+#if !defined(PERL_IMPLICIT_SYS)
+#define my_pclose(a)		Perl_my_pclose(aTHX_ a)
+#define my_popen(a,b)		Perl_my_popen(aTHX_ a,b)
+#endif
 #if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
 #define my_bcopy		Perl_my_bcopy
 #endif
 #if defined(DEBUGGING)
+#define pad_setsv(a,b)		Perl_pad_setsv(aTHX_ a,b)
 #define pad_sv(a)		Perl_pad_sv(aTHX_ a)
 #endif
 #if defined(DUMP_FDS)
@@ -705,6 +758,7 @@
 #if defined(EBCDIC)
 #define utf8n_to_uvchr(a,b,c,d)	Perl_utf8n_to_uvchr(aTHX_ a,b,c,d)
 #define uvchr_to_utf8(a,b)	Perl_uvchr_to_utf8(aTHX_ a,b)
+#define valid_utf8_to_uvchr(a,b)	Perl_valid_utf8_to_uvchr(aTHX_ a,b)
 #endif
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 #define csighandler		Perl_csighandler
@@ -749,16 +803,12 @@
 #endif
 #if defined(PERL_MAD)
 #define newFORM(a,b,c)		Perl_newFORM(aTHX_ a,b,c)
-#define newMYSUB(a,b,c,d,e)	Perl_newMYSUB(aTHX_ a,b,c,d,e)
 #endif
-#if defined(PL_OP_SLAB_ALLOC)
-#define Slab_Alloc(a)		Perl_Slab_Alloc(aTHX_ a)
-#define Slab_Free(a)		Perl_Slab_Free(aTHX_ a)
-#endif
 #if defined(UNLINK_ALL_VERSIONS)
 #define unlnk(a)		Perl_unlnk(aTHX_ a)
 #endif
 #if defined(USE_ITHREADS)
+#define alloccopstash(a)	Perl_alloccopstash(aTHX_ a)
 #define any_dup(a,b)		Perl_any_dup(aTHX_ a,b)
 #define cx_dup(a,b,c,d)		Perl_cx_dup(aTHX_ a,b,c,d)
 #define dirp_dup(a,b)		Perl_dirp_dup(aTHX_ a,b)
@@ -804,12 +854,6 @@
 #define PerlIO_unread(a,b,c)	Perl_PerlIO_unread(aTHX_ a,b,c)
 #define PerlIO_write(a,b,c)	Perl_PerlIO_write(aTHX_ a,b,c)
 #endif
-#if defined(USE_REENTRANT_API)
-#define reentrant_free()	Perl_reentrant_free(aTHX)
-#define reentrant_init()	Perl_reentrant_init(aTHX)
-#define reentrant_retry		Perl_reentrant_retry
-#define reentrant_size()	Perl_reentrant_size(aTHX)
-#endif
 #if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
 #define do_aspawn(a,b,c)	Perl_do_aspawn(aTHX_ a,b,c)
 #define do_spawn(a)		Perl_do_spawn(aTHX_ a)
@@ -816,22 +860,8 @@
 #define do_spawn_nowait(a)	Perl_do_spawn_nowait(aTHX_ a)
 #endif
 #if defined(PERL_CORE) || defined(PERL_EXT)
-#define _append_range_to_invlist(a,b,c)	Perl__append_range_to_invlist(aTHX_ a,b,c)
-#define _new_invlist(a)		Perl__new_invlist(aTHX_ a)
-#define _swash_inversion_hash(a)	Perl__swash_inversion_hash(aTHX_ a)
-#define _swash_to_invlist(a)	Perl__swash_to_invlist(aTHX_ a)
 #define av_reify(a)		Perl_av_reify(aTHX_ a)
-#define is_utf8_X_L(a)		Perl_is_utf8_X_L(aTHX_ a)
-#define is_utf8_X_LV(a)		Perl_is_utf8_X_LV(aTHX_ a)
-#define is_utf8_X_LVT(a)	Perl_is_utf8_X_LVT(aTHX_ a)
-#define is_utf8_X_LV_LVT_V(a)	Perl_is_utf8_X_LV_LVT_V(aTHX_ a)
-#define is_utf8_X_T(a)		Perl_is_utf8_X_T(aTHX_ a)
-#define is_utf8_X_V(a)		Perl_is_utf8_X_V(aTHX_ a)
-#define is_utf8_X_begin(a)	Perl_is_utf8_X_begin(aTHX_ a)
-#define is_utf8_X_extend(a)	Perl_is_utf8_X_extend(aTHX_ a)
-#define is_utf8_X_non_hangul(a)	Perl_is_utf8_X_non_hangul(aTHX_ a)
-#define is_utf8_X_prepend(a)	Perl_is_utf8_X_prepend(aTHX_ a)
-#define mod(a,b)		Perl_mod(aTHX_ a,b)
+#define current_re_engine()	Perl_current_re_engine(aTHX)
 #define op_clear(a)		Perl_op_clear(aTHX_ a)
 #define qerror(a)		Perl_qerror(aTHX_ a)
 #define reg_named_buff(a,b,c,d)	Perl_reg_named_buff(aTHX_ a,b,c,d)
@@ -860,38 +890,48 @@
 #define dump_exec_pos(a,b,c,d,e,f)	S_dump_exec_pos(aTHX_ a,b,c,d,e,f)
 #    endif
 #  endif
-#  if defined(PERL_IN_DQUOTE_STATIC_C)
-#define grok_bslash_c(a,b,c)	S_grok_bslash_c(aTHX_ a,b,c)
-#define grok_bslash_o(a,b,c,d,e)	S_grok_bslash_o(aTHX_ a,b,c,d,e)
-#define regcurly(a)		S_regcurly(aTHX_ a)
+#  if defined(PERL_ANY_COW)
+#define sv_setsv_cow(a,b)	Perl_sv_setsv_cow(aTHX_ a,b)
 #  endif
 #  if defined(PERL_IN_REGCOMP_C)
-#define add_alternate(a,b,c)	S_add_alternate(aTHX_ a,b,c)
+#define _append_range_to_invlist(a,b,c)	S__append_range_to_invlist(aTHX_ a,b,c)
+#define _invlist_array_init(a,b)	S__invlist_array_init(aTHX_ a,b)
+#define _new_invlist_C_array(a)	S__new_invlist_C_array(aTHX_ a)
 #define add_cp_to_invlist(a,b)	S_add_cp_to_invlist(aTHX_ a,b)
 #define add_data		S_add_data
-#define add_range_to_invlist(a,b,c)	S_add_range_to_invlist(aTHX_ a,b,c)
-#define checkposixcc(a)		S_checkposixcc(aTHX_ a)
+#define alloc_maybe_populate_EXACT(a,b,c,d,e)	S_alloc_maybe_populate_EXACT(aTHX_ a,b,c,d,e)
 #define cl_and			S_cl_and
 #define cl_anything		S_cl_anything
 #define cl_init			S_cl_init
 #define cl_is_anything		S_cl_is_anything
 #define cl_or			S_cl_or
+#define compute_EXACTish(a)	S_compute_EXACTish(aTHX_ a)
+#define could_it_be_a_POSIX_class(a)	S_could_it_be_a_POSIX_class(aTHX_ a)
+#define get_invlist_iter_addr(a)	S_get_invlist_iter_addr(aTHX_ a)
+#define get_invlist_previous_index_addr(a)	S_get_invlist_previous_index_addr(aTHX_ a)
+#define get_invlist_version_id_addr(a)	S_get_invlist_version_id_addr(aTHX_ a)
+#define get_invlist_zero_addr(a)	S_get_invlist_zero_addr(aTHX_ a)
+#define grok_bslash_N(a,b,c,d,e,f,g)	S_grok_bslash_N(aTHX_ a,b,c,d,e,f,g)
+#define handle_regex_sets(a,b,c,d,e)	S_handle_regex_sets(aTHX_ a,b,c,d,e)
 #define invlist_array(a)	S_invlist_array(aTHX_ a)
-#define invlist_destroy(a)	S_invlist_destroy(aTHX_ a)
+#define invlist_clone(a)	S_invlist_clone(aTHX_ a)
 #define invlist_extend(a,b)	S_invlist_extend(aTHX_ a,b)
-#define invlist_intersection(a,b)	S_invlist_intersection(aTHX_ a,b)
-#define invlist_len(a)		S_invlist_len(aTHX_ a)
+#define invlist_highest(a)	S_invlist_highest(aTHX_ a)
+#define invlist_is_iterating(a)	S_invlist_is_iterating(aTHX_ a)
+#define invlist_iterfinish(a)	S_invlist_iterfinish(aTHX_ a)
+#define invlist_iterinit(a)	S_invlist_iterinit(aTHX_ a)
+#define invlist_iternext(a,b,c)	S_invlist_iternext(aTHX_ a,b,c)
 #define invlist_max(a)		S_invlist_max(aTHX_ a)
+#define invlist_previous_index(a)	S_invlist_previous_index(aTHX_ a)
 #define invlist_set_len(a,b)	S_invlist_set_len(aTHX_ a,b)
-#define invlist_set_max(a,b)	S_invlist_set_max(aTHX_ a,b)
+#define invlist_set_previous_index(a,b)	S_invlist_set_previous_index(aTHX_ a,b)
 #define invlist_trim(a)		S_invlist_trim(aTHX_ a)
-#define invlist_union(a,b)	S_invlist_union(aTHX_ a,b)
-#define join_exact(a,b,c,d,e,f)	S_join_exact(aTHX_ a,b,c,d,e,f)
+#define join_exact(a,b,c,d,e,f,g)	S_join_exact(aTHX_ a,b,c,d,e,f,g)
 #define make_trie(a,b,c,d,e,f,g,h)	S_make_trie(aTHX_ a,b,c,d,e,f,g,h)
 #define make_trie_failtable(a,b,c,d)	S_make_trie_failtable(aTHX_ a,b,c,d)
 #define nextchar(a)		S_nextchar(aTHX_ a)
+#define parse_lparen_question_flags(a)	S_parse_lparen_question_flags(aTHX_ a)
 #define reg(a,b,c,d)		S_reg(aTHX_ a,b,c,d)
-#define reg_namedseq(a,b,c,d)	S_reg_namedseq(aTHX_ a,b,c,d)
 #define reg_node(a,b)		S_reg_node(aTHX_ a,b)
 #define reg_recode(a,b)		S_reg_recode(aTHX_ a,b)
 #define reg_scan_name(a,b)	S_reg_scan_name(aTHX_ a,b)
@@ -899,28 +939,59 @@
 #define reganode(a,b,c)		S_reganode(aTHX_ a,b,c)
 #define regatom(a,b,c)		S_regatom(aTHX_ a,b,c)
 #define regbranch(a,b,c,d)	S_regbranch(aTHX_ a,b,c,d)
-#define regclass(a,b)		S_regclass(aTHX_ a,b)
+#define regclass(a,b,c,d,e,f,g)	S_regclass(aTHX_ a,b,c,d,e,f,g)
 #define reginsert(a,b,c,d)	S_reginsert(aTHX_ a,b,c,d)
+#define regpatws		S_regpatws
 #define regpiece(a,b,c)		S_regpiece(aTHX_ a,b,c)
-#define regpposixcc(a,b)	S_regpposixcc(aTHX_ a,b)
+#define regpposixcc(a,b,c)	S_regpposixcc(aTHX_ a,b,c)
 #define regtail(a,b,c,d)	S_regtail(aTHX_ a,b,c,d)
 #define reguni(a,b,c)		S_reguni(aTHX_ a,b,c)
 #define regwhite		S_regwhite
 #define scan_commit(a,b,c,d)	S_scan_commit(aTHX_ a,b,c,d)
-#define set_regclass_bit(a,b,c,d,e)	S_set_regclass_bit(aTHX_ a,b,c,d,e)
-#define set_regclass_bit_fold(a,b,c,d,e)	S_set_regclass_bit_fold(aTHX_ a,b,c,d,e)
 #define study_chunk(a,b,c,d,e,f,g,h,i,j,k)	S_study_chunk(aTHX_ a,b,c,d,e,f,g,h,i,j,k)
 #  endif
+#  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+#define _get_invlist_len_addr(a)	S__get_invlist_len_addr(aTHX_ a)
+#define _get_swash_invlist(a)	Perl__get_swash_invlist(aTHX_ a)
+#define _invlist_contains_cp(a,b)	S__invlist_contains_cp(aTHX_ a,b)
+#define _invlist_contents(a)	Perl__invlist_contents(aTHX_ a)
+#define _invlist_len(a)		S__invlist_len(aTHX_ a)
+#define _invlist_search(a,b)	Perl__invlist_search(aTHX_ a,b)
+#define _swash_inversion_hash(a)	Perl__swash_inversion_hash(aTHX_ a)
+#  endif
+#  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
+#define _core_swash_init(a,b,c,d,e,f,g)	Perl__core_swash_init(aTHX_ a,b,c,d,e,f,g)
+#  endif
+#  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
+#define form_short_octal_warning(a,b)	S_form_short_octal_warning(aTHX_ a,b)
+#define grok_bslash_c(a,b,c)	S_grok_bslash_c(aTHX_ a,b,c)
+#define grok_bslash_o(a,b,c,d,e,f,g)	S_grok_bslash_o(aTHX_ a,b,c,d,e,f,g)
+#define grok_bslash_x(a,b,c,d,e,f,g)	S_grok_bslash_x(aTHX_ a,b,c,d,e,f,g)
+#define regcurly(a,b)		S_regcurly(aTHX_ a,b)
+#  endif
+#  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+#define _add_range_to_invlist(a,b,c)	Perl__add_range_to_invlist(aTHX_ a,b,c)
+#define _invlist_intersection_maybe_complement_2nd(a,b,c,d)	Perl__invlist_intersection_maybe_complement_2nd(aTHX_ a,b,c,d)
+#define _invlist_invert(a)	Perl__invlist_invert(aTHX_ a)
+#define _invlist_invert_prop(a)	Perl__invlist_invert_prop(aTHX_ a)
+#define _invlist_populate_swatch(a,b,c,d)	Perl__invlist_populate_swatch(aTHX_ a,b,c,d)
+#define _invlist_union_maybe_complement_2nd(a,b,c,d)	Perl__invlist_union_maybe_complement_2nd(aTHX_ a,b,c,d)
+#define _new_invlist(a)		Perl__new_invlist(aTHX_ a)
+#define _swash_to_invlist(a)	Perl__swash_to_invlist(aTHX_ a)
+#  endif
 #  if defined(PERL_IN_REGEXEC_C)
-#define find_byclass(a,b,c,d,e)	S_find_byclass(aTHX_ a,b,c,d,e)
+#define core_regclass_swash(a,b,c,d)	S_core_regclass_swash(aTHX_ a,b,c,d)
+#define find_byclass(a,b,c,d,e,f)	S_find_byclass(aTHX_ a,b,c,d,e,f)
+#define isFOO_lc(a,b)		S_isFOO_lc(aTHX_ a,b)
+#define isFOO_utf8_lc(a,b)	S_isFOO_utf8_lc(aTHX_ a,b)
 #define reg_check_named_buff_matched(a,b)	S_reg_check_named_buff_matched(aTHX_ a,b)
-#define regcppop(a)		S_regcppop(aTHX_ a)
-#define regcppush(a)		S_regcppush(aTHX_ a)
+#define regcppop(a,b)		S_regcppop(aTHX_ a,b)
+#define regcppush(a,b,c)	S_regcppush(aTHX_ a,b,c)
 #define reghop3			S_reghop3
 #define reghopmaybe3		S_reghopmaybe3
-#define reginclass(a,b,c,d,e)	S_reginclass(aTHX_ a,b,c,d,e)
-#define regmatch(a,b)		S_regmatch(aTHX_ a,b)
-#define regrepeat(a,b,c,d)	S_regrepeat(aTHX_ a,b,c,d)
+#define reginclass(a,b,c,d)	S_reginclass(aTHX_ a,b,c,d)
+#define regmatch(a,b,c)		S_regmatch(aTHX_ a,b,c)
+#define regrepeat(a,b,c,d,e,f)	S_regrepeat(aTHX_ a,b,c,d,e,f)
 #define regtry(a,b)		S_regtry(aTHX_ a,b)
 #define to_byte_substr(a)	S_to_byte_substr(aTHX_ a)
 #define to_utf8_substr(a)	S_to_utf8_substr(aTHX_ a)
@@ -928,13 +999,17 @@
 #define reghop4			S_reghop4
 #    endif
 #  endif
-#  if defined(PERL_OLD_COPY_ON_WRITE)
-#define sv_setsv_cow(a,b)	Perl_sv_setsv_cow(aTHX_ a,b)
+#  if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+#define _to_fold_latin1(a,b,c,d)	Perl__to_fold_latin1(aTHX_ a,b,c,d)
 #  endif
 #endif
 #ifdef PERL_CORE
+#define Slab_Alloc(a)		Perl_Slab_Alloc(aTHX_ a)
+#define Slab_Free(a)		Perl_Slab_Free(aTHX_ a)
 #define allocmy(a,b,c)		Perl_allocmy(aTHX_ a,b,c)
+#define amagic_is_enabled(a)	Perl_amagic_is_enabled(aTHX_ a)
 #define apply(a,b,c)		Perl_apply(aTHX_ a,b,c)
+#define av_extend_guts(a,b,c,d,e)	Perl_av_extend_guts(aTHX_ a,b,c,d,e)
 #define bind_match(a,b,c)	Perl_bind_match(aTHX_ a,b,c)
 #define block_end(a,b)		Perl_block_end(aTHX_ a,b)
 #define block_start(a)		Perl_block_start(aTHX_ a)
@@ -945,7 +1020,7 @@
 #define check_utf8_print(a,b)	Perl_check_utf8_print(aTHX_ a,b)
 #define ck_anoncode(a)		Perl_ck_anoncode(aTHX_ a)
 #define ck_bitop(a)		Perl_ck_bitop(aTHX_ a)
-#define ck_chdir(a)		Perl_ck_chdir(aTHX_ a)
+#define ck_cmp(a)		Perl_ck_cmp(aTHX_ a)
 #define ck_concat(a)		Perl_ck_concat(aTHX_ a)
 #define ck_defined(a)		Perl_ck_defined(aTHX_ a)
 #define ck_delete(a)		Perl_ck_delete(aTHX_ a)
@@ -962,6 +1037,7 @@
 #define ck_grep(a)		Perl_ck_grep(aTHX_ a)
 #define ck_index(a)		Perl_ck_index(aTHX_ a)
 #define ck_join(a)		Perl_ck_join(aTHX_ a)
+#define ck_length(a)		Perl_ck_length(aTHX_ a)
 #define ck_lfun(a)		Perl_ck_lfun(aTHX_ a)
 #define ck_listiob(a)		Perl_ck_listiob(aTHX_ a)
 #define ck_match(a)		Perl_ck_match(aTHX_ a)
@@ -984,12 +1060,17 @@
 #define ck_subr(a)		Perl_ck_subr(aTHX_ a)
 #define ck_substr(a)		Perl_ck_substr(aTHX_ a)
 #define ck_svconst(a)		Perl_ck_svconst(aTHX_ a)
+#define ck_tell(a)		Perl_ck_tell(aTHX_ a)
 #define ck_trunc(a)		Perl_ck_trunc(aTHX_ a)
-#define ck_unpack(a)		Perl_ck_unpack(aTHX_ a)
 #define convert(a,b,c)		Perl_convert(aTHX_ a,b,c)
+#define core_prototype(a,b,c,d)	Perl_core_prototype(aTHX_ a,b,c,d)
+#define coresub_op(a,b,c)	Perl_coresub_op(aTHX_ a,b,c)
 #define create_eval_scope(a)	Perl_create_eval_scope(aTHX_ a)
-#define cv_ckproto_len(a,b,c,d)	Perl_cv_ckproto_len(aTHX_ a,b,c,d)
-#define cv_clone(a)		Perl_cv_clone(aTHX_ a)
+#define croak_no_mem		Perl_croak_no_mem
+#define croak_popstack		Perl_croak_popstack
+#define cv_ckproto_len_flags(a,b,c,d,e)	Perl_cv_ckproto_len_flags(aTHX_ a,b,c,d,e)
+#define cv_clone_into(a,b)	Perl_cv_clone_into(aTHX_ a,b)
+#define cv_forget_slab(a)	Perl_cv_forget_slab(aTHX_ a)
 #define cvgv_set(a,b)		Perl_cvgv_set(aTHX_ a,b)
 #define cvstash_set(a,b)	Perl_cvstash_set(aTHX_ a,b)
 #define deb_stack_all()		Perl_deb_stack_all(aTHX)
@@ -999,6 +1080,7 @@
 #define do_dump_pad(a,b,c,d)	Perl_do_dump_pad(aTHX_ a,b,c,d)
 #define do_eof(a)		Perl_do_eof(aTHX_ a)
 #define do_execfree()		Perl_do_execfree(aTHX)
+#define do_ncmp(a,b)		Perl_do_ncmp(aTHX_ a,b)
 #define do_print(a,b)		Perl_do_print(aTHX_ a,b)
 #define do_readline()		Perl_do_readline(aTHX)
 #define do_seek(a,b,c)		Perl_do_seek(aTHX_ a,b,c)
@@ -1012,9 +1094,13 @@
 #define dump_all_perl(a)	Perl_dump_all_perl(aTHX_ a)
 #define dump_packsubs_perl(a,b)	Perl_dump_packsubs_perl(aTHX_ a,b)
 #define dump_sub_perl(a,b)	Perl_dump_sub_perl(aTHX_ a,b)
+#define finalize_optree(a)	Perl_finalize_optree(aTHX_ a)
+#define find_lexical_cv(a)	Perl_find_lexical_cv(aTHX_ a)
+#define find_runcv_where(a,b,c)	Perl_find_runcv_where(aTHX_ a,b,c)
+#define find_rundefsv2(a,b)	Perl_find_rundefsv2(aTHX_ a,b)
 #define find_script(a,b,c,d)	Perl_find_script(aTHX_ a,b,c,d)
 #define free_tied_hv_pool()	Perl_free_tied_hv_pool(aTHX)
-#define get_hash_seed()		Perl_get_hash_seed(aTHX)
+#define get_hash_seed(a)	Perl_get_hash_seed(aTHX_ a)
 #define get_no_modify()		Perl_get_no_modify(aTHX)
 #define get_opargs()		Perl_get_opargs(aTHX)
 #define gv_try_downgrade(a)	Perl_gv_try_downgrade(aTHX_ a)
@@ -1021,16 +1107,19 @@
 #define hv_ename_add(a,b,c,d)	Perl_hv_ename_add(aTHX_ a,b,c,d)
 #define hv_ename_delete(a,b,c,d)	Perl_hv_ename_delete(aTHX_ a,b,c,d)
 #define init_argv_symbols(a,b)	Perl_init_argv_symbols(aTHX_ a,b)
+#define init_constants()	Perl_init_constants(aTHX)
 #define init_debugger()		Perl_init_debugger(aTHX)
 #define intro_my()		Perl_intro_my(aTHX)
 #define invert(a)		Perl_invert(aTHX_ a)
 #define io_close(a,b)		Perl_io_close(aTHX_ a,b)
-#define is_gv_magical_sv(a,b)	Perl_is_gv_magical_sv(aTHX_ a,b)
+#define isALNUM_lazy(a)		S_isALNUM_lazy(aTHX_ a)
+#define isIDFIRST_lazy(a)	S_isIDFIRST_lazy(aTHX_ a)
 #define jmaybe(a)		Perl_jmaybe(aTHX_ a)
 #define keyword(a,b,c)		Perl_keyword(aTHX_ a,b,c)
 #define list(a)			Perl_list(aTHX_ a)
 #define localize(a,b)		Perl_localize(aTHX_ a,b)
 #define magic_clear_all_env(a,b)	Perl_magic_clear_all_env(aTHX_ a,b)
+#define magic_cleararylen_p(a,b)	Perl_magic_cleararylen_p(aTHX_ a,b)
 #define magic_clearenv(a,b)	Perl_magic_clearenv(aTHX_ a,b)
 #define magic_clearhint(a,b)	Perl_magic_clearhint(aTHX_ a,b)
 #define magic_clearhints(a,b)	Perl_magic_clearhints(aTHX_ a,b)
@@ -1037,6 +1126,7 @@
 #define magic_clearisa(a,b)	Perl_magic_clearisa(aTHX_ a,b)
 #define magic_clearpack(a,b)	Perl_magic_clearpack(aTHX_ a,b)
 #define magic_clearsig(a,b)	Perl_magic_clearsig(aTHX_ a,b)
+#define magic_copycallchecker(a,b,c,d,e)	Perl_magic_copycallchecker(aTHX_ a,b,c,d,e)
 #define magic_existspack(a,b)	Perl_magic_existspack(aTHX_ a,b)
 #define magic_freearylen_p(a,b)	Perl_magic_freearylen_p(aTHX_ a,b)
 #define magic_freeovrld(a,b)	Perl_magic_freeovrld(aTHX_ a,b)
@@ -1052,15 +1142,12 @@
 #define magic_getuvar(a,b)	Perl_magic_getuvar(aTHX_ a,b)
 #define magic_getvec(a,b)	Perl_magic_getvec(aTHX_ a,b)
 #define magic_killbackrefs(a,b)	Perl_magic_killbackrefs(aTHX_ a,b)
-#define magic_len(a,b)		Perl_magic_len(aTHX_ a,b)
 #define magic_nextpack(a,b,c)	Perl_magic_nextpack(aTHX_ a,b,c)
 #define magic_regdata_cnt(a,b)	Perl_magic_regdata_cnt(aTHX_ a,b)
 #define magic_regdatum_get(a,b)	Perl_magic_regdatum_get(aTHX_ a,b)
-#define magic_regdatum_set(a,b)	Perl_magic_regdatum_set(aTHX_ a,b)
 #define magic_scalarpack(a,b)	Perl_magic_scalarpack(aTHX_ a,b)
 #define magic_set(a,b)		Perl_magic_set(aTHX_ a,b)
 #define magic_set_all_env(a,b)	Perl_magic_set_all_env(aTHX_ a,b)
-#define magic_setamagic(a,b)	Perl_magic_setamagic(aTHX_ a,b)
 #define magic_setarylen(a,b)	Perl_magic_setarylen(aTHX_ a,b)
 #define magic_setdbline(a,b)	Perl_magic_setdbline(aTHX_ a,b)
 #define magic_setdefelem(a,b)	Perl_magic_setdefelem(aTHX_ a,b)
@@ -1084,7 +1171,6 @@
 #define mode_from_discipline(a,b)	Perl_mode_from_discipline(aTHX_ a,b)
 #define mro_isa_changed_in(a)	Perl_mro_isa_changed_in(aTHX_ a)
 #define mro_package_moved(a,b,c,d)	Perl_mro_package_moved(aTHX_ a,b,c,d)
-#define munge_qwlist_to_paren_list(a)	Perl_munge_qwlist_to_paren_list(aTHX_ a)
 #define my_attrs(a,b)		Perl_my_attrs(aTHX_ a,b)
 #define my_clearenv()		Perl_my_clearenv(aTHX)
 #define my_lstat_flags(a)	Perl_my_lstat_flags(aTHX_ a)
@@ -1091,27 +1177,27 @@
 #define my_stat_flags(a)	Perl_my_stat_flags(aTHX_ a)
 #define my_swabn		Perl_my_swabn
 #define my_unexec()		Perl_my_unexec(aTHX)
+#define newATTRSUB_flags(a,b,c,d,e,f)	Perl_newATTRSUB_flags(aTHX_ a,b,c,d,e,f)
+#define newSTUB(a,b)		Perl_newSTUB(aTHX_ a,b)
+#define newXS_len_flags(a,b,c,d,e,f,g)	Perl_newXS_len_flags(aTHX_ a,b,c,d,e,f,g)
 #define nextargv(a)		Perl_nextargv(aTHX_ a)
 #define oopsAV(a)		Perl_oopsAV(aTHX_ a)
 #define oopsHV(a)		Perl_oopsHV(aTHX_ a)
 #define op_const_sv(a,b)	Perl_op_const_sv(aTHX_ a,b)
+#define op_unscope(a)		Perl_op_unscope(aTHX_ a)
 #define package_version(a)	Perl_package_version(aTHX_ a)
-#define pad_add_anon(a,b)	Perl_pad_add_anon(aTHX_ a,b)
-#define pad_add_name(a,b,c,d,e)	Perl_pad_add_name(aTHX_ a,b,c,d,e)
-#define pad_alloc(a,b)		Perl_pad_alloc(aTHX_ a,b)
 #define pad_block_start(a)	Perl_pad_block_start(aTHX_ a)
-#define pad_compname_type(a)	Perl_pad_compname_type(aTHX_ a)
 #define pad_fixup_inner_anons(a,b,c)	Perl_pad_fixup_inner_anons(aTHX_ a,b,c)
 #define pad_free(a)		Perl_pad_free(aTHX_ a)
 #define pad_leavemy()		Perl_pad_leavemy(aTHX)
-#define pad_new(a)		Perl_pad_new(aTHX_ a)
 #define pad_push(a,b)		Perl_pad_push(aTHX_ a,b)
 #define pad_swipe(a,b)		Perl_pad_swipe(aTHX_ a,b)
-#define pad_tidy(a)		Perl_pad_tidy(aTHX_ a)
+#define padlist_store(a,b,c)	Perl_padlist_store(aTHX_ a,b,c)
 #define parse_unicode_opts(a)	Perl_parse_unicode_opts(aTHX_ a)
 #define parser_free(a)		Perl_parser_free(aTHX_ a)
 #define peep(a)			Perl_peep(aTHX_ a)
-#define pmruntime(a,b,c)	Perl_pmruntime(aTHX_ a,b,c)
+#define pmruntime(a,b,c,d)	Perl_pmruntime(aTHX_ a,b,c,d)
+#define re_op_compile(a,b,c,d,e,f,g,h)	Perl_re_op_compile(aTHX_ a,b,c,d,e,f,g,h)
 #define refcounted_he_chain_2hv(a,b)	Perl_refcounted_he_chain_2hv(aTHX_ a,b)
 #define refcounted_he_fetch_pv(a,b,c,d)	Perl_refcounted_he_fetch_pv(aTHX_ a,b,c,d)
 #define refcounted_he_fetch_pvn(a,b,c,d,e)	Perl_refcounted_he_fetch_pvn(aTHX_ a,b,c,d,e)
@@ -1136,6 +1222,11 @@
 #define sv_clean_objs()		Perl_sv_clean_objs(aTHX)
 #define sv_del_backref(a,b)	Perl_sv_del_backref(aTHX_ a,b)
 #define sv_free_arenas()	Perl_sv_free_arenas(aTHX)
+#define sv_len_utf8_nomg(a)	Perl_sv_len_utf8_nomg(aTHX_ a)
+#define sv_mortalcopy_flags(a,b)	Perl_sv_mortalcopy_flags(aTHX_ a,b)
+#define sv_ref(a,b,c)		Perl_sv_ref(aTHX_ a,b,c)
+#define sv_resetpvn(a,b,c)	Perl_sv_resetpvn(aTHX_ a,b,c)
+#define sv_sethek(a,b)		Perl_sv_sethek(aTHX_ a,b)
 #ifndef PERL_IMPLICIT_CONTEXT
 #define tied_method		Perl_tied_method
 #endif
@@ -1145,6 +1236,8 @@
 #define watch(a)		Perl_watch(aTHX_ a)
 #define write_to_stderr(a)	Perl_write_to_stderr(aTHX_ a)
 #define yyerror(a)		Perl_yyerror(aTHX_ a)
+#define yyerror_pv(a,b)		Perl_yyerror_pv(aTHX_ a,b)
+#define yyerror_pvn(a,b,c)	Perl_yyerror_pvn(aTHX_ a,b,c)
 #define yyparse(a)		Perl_yyparse(aTHX_ a)
 #define yyunlex()		Perl_yyunlex(aTHX)
 #  if !(defined(DEBUGGING))
@@ -1164,6 +1257,9 @@
 #define package(a)		Perl_package(aTHX_ a)
 #define utilize(a,b,c,d,e)	Perl_utilize(aTHX_ a,b,c,d,e)
 #  endif
+#  if !(defined(_MSC_VER))
+#define magic_regdatum_set(a,b)	Perl_magic_regdatum_set(aTHX_ a,b)
+#  endif
 #  if !defined(HAS_GETENV_LEN)
 #define getenv_len(a,b)		Perl_getenv_len(aTHX_ a,b)
 #  endif
@@ -1203,7 +1299,6 @@
 #  endif
 #  if defined(DEBUGGING)
 #define get_debug_opts(a,b)	Perl_get_debug_opts(aTHX_ a,b)
-#define pad_setsv(a,b)		Perl_pad_setsv(aTHX_ a,b)
 #    if defined(PERL_IN_PAD_C)
 #define cv_dump(a,b)		S_cv_dump(aTHX_ a,b)
 #    endif
@@ -1233,6 +1328,16 @@
 #define malloc_good_size	Perl_malloc_good_size
 #define malloced_size		Perl_malloced_size
 #  endif
+#  if defined(PERL_CORE)
+#define opslab_force_free(a)	Perl_opslab_force_free(aTHX_ a)
+#define opslab_free(a)		Perl_opslab_free(aTHX_ a)
+#define opslab_free_nopad(a)	Perl_opslab_free_nopad(aTHX_ a)
+#define parser_free_nexttoke_ops(a,b)	Perl_parser_free_nexttoke_ops(aTHX_ a,b)
+#    if defined(PERL_DEBUG_READONLY_OPS)
+#define Slab_to_ro(a)		Perl_Slab_to_ro(aTHX_ a)
+#define Slab_to_rw(a)		Perl_Slab_to_rw(aTHX_ a)
+#    endif
+#  endif
 #  if defined(PERL_CR_FILTER)
 #    if defined(PERL_IN_TOKE_C)
 #define cr_textfilter(a,b,c)	S_cr_textfilter(aTHX_ a,b,c)
@@ -1239,13 +1344,6 @@
 #define strip_return(a)		S_strip_return(aTHX_ a)
 #    endif
 #  endif
-#  if defined(PERL_DEBUG_READONLY_OPS)
-#    if defined(PERL_IN_OP_C)
-#      if defined(PL_OP_SLAB_ALLOC)
-#define Slab_to_rw(a)		S_Slab_to_rw(aTHX_ a)
-#      endif
-#    endif
-#  endif
 #  if defined(PERL_IN_AV_C)
 #define get_aux_mg(a)		S_get_aux_mg(aTHX_ a)
 #  endif
@@ -1268,26 +1366,24 @@
 #define deb_curcv(a)		S_deb_curcv(aTHX_ a)
 #define debprof(a)		S_debprof(aTHX_ a)
 #define pm_description(a)	S_pm_description(aTHX_ a)
-#define sequence(a)		S_sequence(aTHX_ a)
 #define sequence_num(a)		S_sequence_num(aTHX_ a)
-#define sequence_tail(a)	S_sequence_tail(aTHX_ a)
 #  endif
 #  if defined(PERL_IN_GV_C)
-#define gv_get_super_pkg(a,b)	S_gv_get_super_pkg(aTHX_ a,b)
-#define gv_init_sv(a,b)		S_gv_init_sv(aTHX_ a,b)
+#define gv_init_svtype(a,b)	S_gv_init_svtype(aTHX_ a,b)
 #define gv_magicalize_isa(a)	S_gv_magicalize_isa(aTHX_ a)
-#define gv_magicalize_overload(a)	S_gv_magicalize_overload(aTHX_ a)
 #define require_tie_mod(a,b,c,d,e)	S_require_tie_mod(aTHX_ a,b,c,d,e)
 #  endif
 #  if defined(PERL_IN_HV_C)
 #define clear_placeholders(a,b)	S_clear_placeholders(aTHX_ a,b)
 #define hfreeentries(a)		S_hfreeentries(aTHX_ a)
-#define hsplit(a)		S_hsplit(aTHX_ a)
-#define hv_auxinit		S_hv_auxinit
+#define hsplit(a,b,c)		S_hsplit(aTHX_ a,b,c)
+#define hv_auxinit(a)		S_hv_auxinit(aTHX_ a)
 #define hv_delete_common(a,b,c,d,e,f,g)	S_hv_delete_common(aTHX_ a,b,c,d,e,f,g)
+#define hv_free_ent_ret(a,b)	S_hv_free_ent_ret(aTHX_ a,b)
 #define hv_magic_check		S_hv_magic_check
 #define hv_notallowed(a,b,c,d)	S_hv_notallowed(aTHX_ a,b,c,d)
 #define new_he()		S_new_he(aTHX)
+#define ptr_hash		S_ptr_hash
 #define refcounted_he_value(a)	S_refcounted_he_value(aTHX_ a)
 #define save_hek_flags		S_save_hek_flags
 #define share_hek_flags(a,b,c,d)	S_share_hek_flags(aTHX_ a,b,c,d)
@@ -1305,8 +1401,11 @@
 #define save_magic(a,b)		S_save_magic(aTHX_ a,b)
 #define unwind_handler_stack(a)	S_unwind_handler_stack(aTHX_ a)
 #  endif
+#  if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
+#define translate_substr_offsets(a,b,c,d,e,f,g)	Perl_translate_substr_offsets(aTHX_ a,b,c,d,e,f,g)
+#  endif
 #  if defined(PERL_IN_MRO_C)
-#define mro_clean_isarev(a,b,c,d)	S_mro_clean_isarev(aTHX_ a,b,c,d)
+#define mro_clean_isarev(a,b,c,d,e)	S_mro_clean_isarev(aTHX_ a,b,c,d,e)
 #define mro_gather_and_rename(a,b,c,d,e)	S_mro_gather_and_rename(aTHX_ a,b,c,d,e)
 #define mro_get_linear_isa_dfs(a,b)	S_mro_get_linear_isa_dfs(aTHX_ a,b)
 #  endif
@@ -1314,18 +1413,22 @@
 #define mulexp10		S_mulexp10
 #  endif
 #  if defined(PERL_IN_OP_C)
-#define apply_attrs(a,b,c,d)	S_apply_attrs(aTHX_ a,b,c,d)
+#define aassign_common_vars(a)	S_aassign_common_vars(aTHX_ a)
+#define apply_attrs(a,b,c)	S_apply_attrs(aTHX_ a,b,c)
 #define apply_attrs_my(a,b,c,d)	S_apply_attrs_my(aTHX_ a,b,c,d)
-#define bad_type(a,b,c,d)	S_bad_type(aTHX_ a,b,c,d)
+#define bad_type_pv(a,b,c,d,e)	S_bad_type_pv(aTHX_ a,b,c,d,e)
+#define bad_type_sv(a,b,c,d,e)	S_bad_type_sv(aTHX_ a,b,c,d,e)
 #define cop_free(a)		S_cop_free(aTHX_ a)
 #define dup_attrlist(a)		S_dup_attrlist(aTHX_ a)
+#define finalize_op(a)		S_finalize_op(aTHX_ a)
 #define find_and_forget_pmops(a)	S_find_and_forget_pmops(aTHX_ a)
 #define fold_constants(a)	S_fold_constants(aTHX_ a)
 #define force_list(a)		S_force_list(aTHX_ a)
+#define forget_pmop(a)		S_forget_pmop(aTHX_ a)
 #define gen_constant_list(a)	S_gen_constant_list(aTHX_ a)
 #define gv_ename(a)		S_gv_ename(aTHX_ a)
+#define inplace_aassign(a)	S_inplace_aassign(aTHX_ a)
 #define is_handle_constructor	S_is_handle_constructor
-#define is_inplace_av(a,b)	S_is_inplace_av(aTHX_ a,b)
 #define is_list_assignment(a)	S_is_list_assignment(aTHX_ a)
 #define listkids(a)		S_listkids(aTHX_ a)
 #define looks_like_bool(a)	S_looks_like_bool(aTHX_ a)
@@ -1336,9 +1439,10 @@
 #define new_logop(a,b,c,d)	S_new_logop(aTHX_ a,b,c,d)
 #define no_bareword_allowed(a)	S_no_bareword_allowed(aTHX_ a)
 #define no_fh_allowed(a)	S_no_fh_allowed(aTHX_ a)
-#define opt_scalarhv(a)		S_opt_scalarhv(aTHX_ a)
+#define op_integerize(a)	S_op_integerize(aTHX_ a)
+#define op_std_init(a)		S_op_std_init(aTHX_ a)
 #define pmtrans(a,b,c)		S_pmtrans(aTHX_ a,b,c)
-#define process_special_blocks(a,b,c)	S_process_special_blocks(aTHX_ a,b,c)
+#define process_special_blocks(a,b,c,d)	S_process_special_blocks(aTHX_ a,b,c,d)
 #define ref_array_or_hash(a)	S_ref_array_or_hash(aTHX_ a)
 #define refkids(a,b)		S_refkids(aTHX_ a,b)
 #define scalar_mod_type		S_scalar_mod_type
@@ -1347,13 +1451,18 @@
 #define scalarseq(a)		S_scalarseq(aTHX_ a)
 #define search_const(a)		S_search_const(aTHX_ a)
 #define simplify_sort(a)	S_simplify_sort(aTHX_ a)
-#define too_few_arguments(a,b)	S_too_few_arguments(aTHX_ a,b)
-#define too_many_arguments(a,b)	S_too_many_arguments(aTHX_ a,b)
+#define too_few_arguments_pv(a,b,c)	S_too_few_arguments_pv(aTHX_ a,b,c)
+#define too_few_arguments_sv(a,b,c)	S_too_few_arguments_sv(aTHX_ a,b,c)
+#define too_many_arguments_pv(a,b,c)	S_too_many_arguments_pv(aTHX_ a,b,c)
+#define too_many_arguments_sv(a,b,c)	S_too_many_arguments_sv(aTHX_ a,b,c)
 #  endif
+#  if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C)
+#define report_redefined_cv(a,b,c)	Perl_report_redefined_cv(aTHX_ a,b,c)
+#  endif
 #  if defined(PERL_IN_PAD_C)
-#define pad_add_name_sv(a,b,c,d)	S_pad_add_name_sv(aTHX_ a,b,c,d)
+#define pad_alloc_name(a,b,c,d)	S_pad_alloc_name(aTHX_ a,b,c,d)
 #define pad_check_dup(a,b,c)	S_pad_check_dup(aTHX_ a,b,c)
-#define pad_findlex(a,b,c,d,e,f,g)	S_pad_findlex(aTHX_ a,b,c,d,e,f,g)
+#define pad_findlex(a,b,c,d,e,f,g,h,i)	S_pad_findlex(aTHX_ a,b,c,d,e,f,g,h,i)
 #define pad_reset()		S_pad_reset(aTHX)
 #  endif
 #  if defined(PERL_IN_PERL_C)
@@ -1367,12 +1476,14 @@
 #define init_perllib()		S_init_perllib(aTHX)
 #define init_postdump_symbols(a,b,c)	S_init_postdump_symbols(aTHX_ a,b,c)
 #define init_predump_symbols()	S_init_predump_symbols(aTHX)
+#define mayberelocate(a,b,c)	S_mayberelocate(aTHX_ a,b,c)
+#define minus_v()		S_minus_v(aTHX)
 #define my_exit_jump()		S_my_exit_jump(aTHX)
 #define nuke_stacks()		S_nuke_stacks(aTHX)
-#define open_script(a,b,c,d)	S_open_script(aTHX_ a,b,c,d)
+#define open_script(a,b,c)	S_open_script(aTHX_ a,b,c)
 #define parse_body(a,b)		S_parse_body(aTHX_ a,b)
 #define run_body(a)		S_run_body(aTHX_ a)
-#define usage(a)		S_usage(aTHX_ a)
+#define usage()			S_usage(aTHX)
 #  endif
 #  if defined(PERL_IN_PP_C)
 #define do_chomp(a,b,c)		S_do_chomp(aTHX_ a,b,c)
@@ -1380,16 +1491,17 @@
 #define refto(a)		S_refto(aTHX_ a)
 #  endif
 #  if defined(PERL_IN_PP_CTL_C)
+#define adjust_stack_on_leave(a,b,c,d,e)	S_adjust_stack_on_leave(aTHX_ a,b,c,d,e)
 #define check_type_and_open(a)	S_check_type_and_open(aTHX_ a)
 #define destroy_matcher(a)	S_destroy_matcher(aTHX_ a)
-#define do_smartmatch(a,b)	S_do_smartmatch(aTHX_ a,b)
+#define do_smartmatch(a,b,c)	S_do_smartmatch(aTHX_ a,b,c)
 #define docatch(a)		S_docatch(aTHX_ a)
 #define doeval(a,b,c,d)		S_doeval(aTHX_ a,b,c,d)
-#define dofindlabel(a,b,c,d)	S_dofindlabel(aTHX_ a,b,c,d)
+#define dofindlabel(a,b,c,d,e,f)	S_dofindlabel(aTHX_ a,b,c,d,e,f)
 #define doparseform(a)		S_doparseform(aTHX_ a)
 #define dopoptoeval(a)		S_dopoptoeval(aTHX_ a)
 #define dopoptogiven(a)		S_dopoptogiven(aTHX_ a)
-#define dopoptolabel(a)		S_dopoptolabel(aTHX_ a)
+#define dopoptolabel(a,b,c)	S_dopoptolabel(aTHX_ a,b,c)
 #define dopoptoloop(a)		S_dopoptoloop(aTHX_ a)
 #define dopoptosub_at(a,b)	S_dopoptosub_at(aTHX_ a,b)
 #define dopoptowhen(a)		S_dopoptowhen(aTHX_ a)
@@ -1403,7 +1515,7 @@
 #define save_lines(a,b)		S_save_lines(aTHX_ a,b)
 #  endif
 #  if defined(PERL_IN_PP_HOT_C)
-#define do_oddball(a,b,c)	S_do_oddball(aTHX_ a,b,c)
+#define do_oddball(a,b)		S_do_oddball(aTHX_ a,b)
 #define method_common(a,b)	S_method_common(aTHX_ a,b)
 #  endif
 #  if defined(PERL_IN_PP_PACK_C)
@@ -1462,11 +1574,10 @@
 #define sv_pos_u2b_cached(a,b,c,d,e,f,g)	S_sv_pos_u2b_cached(aTHX_ a,b,c,d,e,f,g)
 #define sv_pos_u2b_forwards	S_sv_pos_u2b_forwards
 #define sv_pos_u2b_midway	S_sv_pos_u2b_midway
-#define sv_unglob(a)		S_sv_unglob(aTHX_ a)
+#define sv_unglob(a,b)		S_sv_unglob(aTHX_ a,b)
 #define uiv_2buf		S_uiv_2buf
 #define utf8_mg_len_cache_update(a,b,c)	S_utf8_mg_len_cache_update(aTHX_ a,b,c)
 #define utf8_mg_pos_cache_update(a,b,c,d,e)	S_utf8_mg_pos_cache_update(aTHX_ a,b,c,d,e)
-#define varname(a,b,c,d,e,f)	S_varname(aTHX_ a,b,c,d,e,f)
 #define visit(a,b,c)		S_visit(aTHX_ a,b,c)
 #    if defined(PERL_OLD_COPY_ON_WRITE)
 #define sv_release_COW(a,b,c)	S_sv_release_COW(aTHX_ a,b,c)
@@ -1477,6 +1588,9 @@
 #define unreferenced_to_tmp_stack(a)	S_unreferenced_to_tmp_stack(aTHX_ a)
 #    endif
 #  endif
+#  if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C)
+#define varname(a,b,c,d,e,f)	Perl_varname(aTHX_ a,b,c,d,e,f)
+#  endif
 #  if defined(PERL_IN_TOKE_C)
 #define ao(a)			S_ao(aTHX_ a)
 #define check_uni()		S_check_uni(aTHX)
@@ -1485,10 +1599,12 @@
 #define filter_gets(a,b)	S_filter_gets(aTHX_ a,b)
 #define find_in_my_stash(a,b)	S_find_in_my_stash(aTHX_ a,b)
 #define force_ident(a,b)	S_force_ident(aTHX_ a,b)
+#define force_ident_maybe_lex(a)	S_force_ident_maybe_lex(aTHX_ a)
 #define force_next(a)		S_force_next(aTHX_ a)
 #define force_strict_version(a)	S_force_strict_version(aTHX_ a)
 #define force_version(a,b)	S_force_version(aTHX_ a,b)
 #define force_word(a,b,c,d,e)	S_force_word(aTHX_ a,b,c,d,e)
+#define get_and_check_backslash_N_name(a,b)	S_get_and_check_backslash_N_name(aTHX_ a,b)
 #define incline(a)		S_incline(aTHX_ a)
 #define intuit_method(a,b,c)	S_intuit_method(aTHX_ a,b,c)
 #define intuit_more(a)		S_intuit_more(aTHX_ a)
@@ -1495,6 +1611,8 @@
 #define lop(a,b,c)		S_lop(aTHX_ a,b,c)
 #define missingterm(a)		S_missingterm(aTHX_ a)
 #define no_op(a,b)		S_no_op(aTHX_ a,b)
+#define parse_ident(a,b,c,d,e)	S_parse_ident(aTHX_ a,b,c,d,e)
+#define pending_ident()		S_pending_ident(aTHX)
 #define readpipe_override()	S_readpipe_override(aTHX)
 #define scan_const(a)		S_scan_const(aTHX_ a)
 #define scan_formline(a)	S_scan_formline(aTHX_ a)
@@ -1502,7 +1620,7 @@
 #define scan_ident(a,b,c,d,e)	S_scan_ident(aTHX_ a,b,c,d,e)
 #define scan_inputsymbol(a)	S_scan_inputsymbol(aTHX_ a)
 #define scan_pat(a,b)		S_scan_pat(aTHX_ a,b)
-#define scan_str(a,b,c)		S_scan_str(aTHX_ a,b,c)
+#define scan_str(a,b,c,d,e)	S_scan_str(aTHX_ a,b,c,d,e)
 #define scan_subst(a)		S_scan_subst(aTHX_ a)
 #define scan_trans(a)		S_scan_trans(aTHX_ a)
 #define scan_word(a,b,c,d,e)	S_scan_word(aTHX_ a,b,c,d,e)
@@ -1514,7 +1632,7 @@
 #define tokenize_use(a,b)	S_tokenize_use(aTHX_ a,b)
 #define tokeq(a)		S_tokeq(aTHX_ a)
 #define update_debugger_info(a,b,c)	S_update_debugger_info(aTHX_ a,b,c)
-#define yywarn(a)		S_yywarn(aTHX_ a)
+#define yywarn(a,b)		S_yywarn(aTHX_ a,b)
 #    if defined(PERL_MAD)
 #define curmad(a,b)		S_curmad(aTHX_ a,b)
 #define skipspace0(a)		S_skipspace0(aTHX_ a)
@@ -1524,13 +1642,18 @@
 #    endif
 #  endif
 #  if defined(PERL_IN_UNIVERSAL_C)
-#define isa_lookup(a,b)		S_isa_lookup(aTHX_ a,b)
+#define isa_lookup(a,b,c,d)	S_isa_lookup(aTHX_ a,b,c,d)
 #  endif
 #  if defined(PERL_IN_UTF8_C)
+#define check_locale_boundary_crossing(a,b,c,d)	S_check_locale_boundary_crossing(aTHX_ a,b,c,d)
 #define is_utf8_char_slow	S_is_utf8_char_slow
 #define is_utf8_common(a,b,c)	S_is_utf8_common(aTHX_ a,b,c)
-#define swash_get(a,b,c)	S_swash_get(aTHX_ a,b,c)
+#define swatch_get(a,b,c)	S_swatch_get(aTHX_ a,b,c)
+#define to_lower_latin1(a,b,c)	S_to_lower_latin1(aTHX_ a,b,c)
 #  endif
+#  if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
+#define _to_upper_title_latin1(a,b,c,d)	Perl__to_upper_title_latin1(aTHX_ a,b,c,d)
+#  endif
 #  if defined(PERL_IN_UTIL_C)
 #define ckwarn_common(a)	S_ckwarn_common(aTHX_ a)
 #define closest_cop(a,b)	S_closest_cop(aTHX_ a,b)
@@ -1537,7 +1660,6 @@
 #define invoke_exception_hook(a,b)	S_invoke_exception_hook(aTHX_ a,b)
 #define mess_alloc()		S_mess_alloc(aTHX)
 #define with_queued_errors(a)	S_with_queued_errors(aTHX_ a)
-#define write_no_mem()		S_write_no_mem(aTHX)
 #    if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
 #define mem_log_common		S_mem_log_common
 #    endif
@@ -1663,6 +1785,9 @@
 #define magic_setcollxfrm(a,b)	Perl_magic_setcollxfrm(aTHX_ a,b)
 #define mem_collxfrm(a,b,c)	Perl_mem_collxfrm(aTHX_ a,b,c)
 #  endif
+#  if defined(_MSC_VER)
+#define magic_regdatum_set(a,b)	Perl_magic_regdatum_set(aTHX_ a,b)
+#  endif
 #endif
 
 #endif	/* #ifndef PERL_NO_SHORT_NAMES */


Property changes on: vendor/perl/dist/embed.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Deleted: vendor/perl/dist/embed.pl
===================================================================
--- vendor/perl/dist/embed.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/embed.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,993 +0,0 @@
-#!/usr/bin/perl -w
-# 
-# Regenerate (overwriting only if changed):
-#
-#    embed.h
-#    embedvar.h
-#    global.sym
-#    perlapi.c
-#    perlapi.h
-#    proto.h
-#
-# from information stored in
-#
-#    embed.fnc
-#    intrpvar.h
-#    perlvars.h
-#    pp.sym     (which has been generated by opcode.pl)
-#
-# plus from the values hardcoded into this script in @extvars.
-#
-# Accepts the standard regen_lib -q and -v args.
-#
-# This script is normally invoked from regen.pl.
-
-require 5.003;	# keep this compatible, an old perl is all we may have before
-                # we build the new one
-
-use strict;
-
-BEGIN {
-    # Get function prototypes
-    require 'regen_lib.pl';
-}
-
-my $SPLINT = 0; # Turn true for experimental splint support http://www.splint.org
-
-#
-# See database of global and static function prototypes in embed.fnc
-# This is used to generate prototype headers under various configurations,
-# export symbols lists for different platforms, and macros to provide an
-# implicit interpreter context argument.
-#
-
-sub do_not_edit ($)
-{
-    my $file = shift;
-
-    my $years = '1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009';
-
-    $years =~ s/1999,/1999,\n  / if length $years > 40;
-
-    my $warning = <<EOW;
- -*- buffer-read-only: t -*-
-
-   $file
-
-   Copyright (C) $years, by Larry Wall and others
-
-   You may distribute under the terms of either the GNU General Public
-   License or the Artistic License, as specified in the README file.
-
-!!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-This file is built by embed.pl from data in embed.fnc, embed.pl,
-pp.sym, intrpvar.h, and perlvars.h.
-Any changes made here will be lost!
-
-Edit those files and run 'make regen_headers' to effect changes.
-
-EOW
-
-    $warning .= <<EOW if $file eq 'perlapi.c';
-
-Up to the threshold of the door there mounted a flight of twenty-seven
-broad stairs, hewn by some unknown art of the same black stone.  This
-was the only entrance to the tower; ...
-
-    [p.577 of _The Lord of the Rings_, III/x: "The Voice of Saruman"]
-
-
-EOW
-
-    if ($file =~ m:\.[ch]$:) {
-	$warning =~ s:^: * :gm;
-	$warning =~ s: +$::gm;
-	$warning =~ s: :/:;
-	$warning =~ s:$:/:;
-    }
-    else {
-	$warning =~ s:^:# :gm;
-	$warning =~ s: +$::gm;
-    }
-    $warning;
-} # do_not_edit
-
-open IN, "embed.fnc" or die $!;
-
-# walk table providing an array of components in each line to
-# subroutine, printing the result
-sub walk_table (&@) {
-    my $function = shift;
-    my $filename = shift || '-';
-    my $leader = shift;
-    defined $leader or $leader = do_not_edit ($filename);
-    my $trailer = shift;
-    my $F;
-    if (ref $filename) {	# filehandle
-	$F = $filename;
-    }
-    else {
-	# safer_unlink $filename if $filename ne '/dev/null';
-	$F = safer_open("$filename-new");
-    }
-    print $F $leader if $leader;
-    seek IN, 0, 0;		# so we may restart
-    while (<IN>) {
-	chomp;
-	next if /^:/;
-	while (s|\\$||) {
-	    $_ .= <IN>;
-	    chomp;
-	}
-	s/\s+$//;
-	my @args;
-	if (/^\s*(#|$)/) {
-	    @args = $_;
-	}
-	else {
-	    @args = split /\s*\|\s*/, $_;
-	}
-	my @outs = &{$function}(@args);
-	print $F @outs; # $function->(@args) is not 5.003
-    }
-    print $F $trailer if $trailer;
-    unless (ref $filename) {
-	safer_close($F);
-	rename_if_different("$filename-new", $filename);
-    }
-}
-
-sub munge_c_files () {
-    my $functions = {};
-    unless (@ARGV) {
-	warn "\@ARGV empty, nothing to do\n";
-	return;
-    }
-    walk_table {
-	if (@_ > 1) {
-	    $functions->{$_[2]} = \@_ if $_[@_-1] =~ /\.\.\./;
-	}
-    } '/dev/null', '', '';
-    local $^I = '.bak';
-    while (<>) {
-	s{(\b(\w+)[ \t]*\([ \t]*(?!aTHX))}
-	 {
-	    my $repl = $1;
-	    my $f = $2;
-	    if (exists $functions->{$f}) {
-		$repl .= "aTHX_ ";
-		warn("$ARGV:$.:$`#$repl#$'");
-	    }
-	    $repl;
-	 }eg;
-	print;
-	close ARGV if eof;	# restart $.
-    }
-    exit;
-}
-
-#munge_c_files();
-
-# generate proto.h
-my $wrote_protected = 0;
-
-sub write_protos {
-    my $ret = "";
-    if (@_ == 1) {
-	my $arg = shift;
-	$ret .= "$arg\n";
-    }
-    else {
-	my ($flags,$retval,$plain_func, at args) = @_;
-	my @nonnull;
-	my $has_context = ( $flags !~ /n/ );
-	my $never_returns = ( $flags =~ /r/ );
-	my $commented_out = ( $flags =~ /m/ );
-	my $binarycompat = ( $flags =~ /b/ );
-	my $is_malloc = ( $flags =~ /a/ );
-	my $can_ignore = ( $flags !~ /R/ ) && !$is_malloc;
-	my @names_of_nn;
-	my $func;
-
-	my $splint_flags = "";
-	if ( $SPLINT && !$commented_out ) {
-	    $splint_flags .= '/*@noreturn@*/ ' if $never_returns;
-	    if ($can_ignore && ($retval ne 'void') && ($retval !~ /\*/)) {
-		$retval .= " /*\@alt void\@*/";
-	    }
-	}
-
-	if ($flags =~ /s/) {
-	    $retval = "STATIC $splint_flags$retval";
-	    $func = "S_$plain_func";
-	}
-	else {
-	    $retval = "PERL_CALLCONV $splint_flags$retval";
-	    if ($flags =~ /[bp]/) {
-		$func = "Perl_$plain_func";
-	    } else {
-		$func = $plain_func;
-	    }
-	}
-	$ret .= "$retval\t$func(";
-	if ( $has_context ) {
-	    $ret .= @args ? "pTHX_ " : "pTHX";
-	}
-	if (@args) {
-	    my $n;
-	    for my $arg ( @args ) {
-		++$n;
-		if ( $arg =~ /\*/ && $arg !~ /\b(NN|NULLOK)\b/ ) {
-		    warn "$func: $arg needs NN or NULLOK\n";
-		    our $unflagged_pointers;
-		    ++$unflagged_pointers;
-		}
-		my $nn = ( $arg =~ s/\s*\bNN\b\s+// );
-		push( @nonnull, $n ) if $nn;
-
-		my $nullok = ( $arg =~ s/\s*\bNULLOK\b\s+// ); # strip NULLOK with no effect
-
-		# Make sure each arg has at least a type and a var name.
-		# An arg of "int" is valid C, but want it to be "int foo".
-		my $temp_arg = $arg;
-		$temp_arg =~ s/\*//g;
-		$temp_arg =~ s/\s*\bstruct\b\s*/ /g;
-		if ( ($temp_arg ne "...")
-		     && ($temp_arg !~ /\w+\s+(\w+)(?:\[\d+\])?\s*$/) ) {
-		    warn "$func: $arg ($n) doesn't have a name\n";
-		}
-		if ( $SPLINT && $nullok && !$commented_out ) {
-		    $arg = '/*@null@*/ ' . $arg;
-		}
-		if (defined $1 && $nn && !($commented_out && !$binarycompat)) {
-		    push @names_of_nn, $1;
-		}
-	    }
-	    $ret .= join ", ", @args;
-	}
-	else {
-	    $ret .= "void" if !$has_context;
-	}
-	$ret .= ")";
-	my @attrs;
-	if ( $flags =~ /r/ ) {
-	    push @attrs, "__attribute__noreturn__";
-	}
-	if ( $is_malloc ) {
-	    push @attrs, "__attribute__malloc__";
-	}
-	if ( !$can_ignore ) {
-	    push @attrs, "__attribute__warn_unused_result__";
-	}
-	if ( $flags =~ /P/ ) {
-	    push @attrs, "__attribute__pure__";
-	}
-	if( $flags =~ /f/ ) {
-	    my $prefix	= $has_context ? 'pTHX_' : '';
-	    my $args	= scalar @args;
- 	    my $pat	= $args - 1;
-	    my $macro	= @nonnull && $nonnull[-1] == $pat  
-				? '__attribute__format__'
-				: '__attribute__format__null_ok__';
-	    push @attrs, sprintf "%s(__printf__,%s%d,%s%d)", $macro,
-				$prefix, $pat, $prefix, $args;
-	}
-	if ( @nonnull ) {
-	    my @pos = map { $has_context ? "pTHX_$_" : $_ } @nonnull;
-	    push @attrs, map { sprintf( "__attribute__nonnull__(%s)", $_ ) } @pos;
-	}
-	if ( @attrs ) {
-	    $ret .= "\n";
-	    $ret .= join( "\n", map { "\t\t\t$_" } @attrs );
-	}
-	$ret .= ";";
-	$ret = "/* $ret */" if $commented_out;
-	if (@names_of_nn) {
-	    $ret .= "\n#define PERL_ARGS_ASSERT_\U$plain_func\E\t\\\n\t"
-		. join '; ', map "assert($_)", @names_of_nn;
-	}
-	$ret .= @attrs ? "\n\n" : "\n";
-    }
-    $ret;
-}
-
-# generates global.sym (API export list)
-{
-  my %seen;
-  sub write_global_sym {
-      my $ret = "";
-      if (@_ > 1) {
-	  my ($flags,$retval,$func, at args) = @_;
-	  # If a function is defined twice, for example before and after an
-	  # #else, only process the flags on the first instance for global.sym
-	  return $ret if $seen{$func}++;
-	  if ($flags =~ /[AX]/ && $flags !~ /[xm]/
-	      || $flags =~ /b/) { # public API, so export
-	      $func = "Perl_$func" if $flags =~ /[pbX]/;
-	      $ret = "$func\n";
-	  }
-      }
-      $ret;
-  }
-}
-
-
-our $unflagged_pointers;
-walk_table(\&write_protos,     "proto.h", undef, "/* ex: set ro: */\n");
-warn "$unflagged_pointers pointer arguments to clean up\n" if $unflagged_pointers;
-walk_table(\&write_global_sym, "global.sym", undef, "# ex: set ro:\n");
-
-# XXX others that may need adding
-#       warnhook
-#       hints
-#       copline
-my @extvars = qw(sv_undef sv_yes sv_no na dowarn
-		 curcop compiling
-		 tainting tainted stack_base stack_sp sv_arenaroot
-		 no_modify
-		 curstash DBsub DBsingle DBassertion debstash
-		 rsfp
-		 stdingv
-		 defgv
-		 errgv
-		 rsfp_filters
-		 perldb
-		 diehook
-		 dirty
-		 perl_destruct_level
-		 ppaddr
-                );
-
-sub readsyms (\%$) {
-    my ($syms, $file) = @_;
-    local (*FILE, $_);
-    open(FILE, "< $file")
-	or die "embed.pl: Can't open $file: $!\n";
-    while (<FILE>) {
-	s/[ \t]*#.*//;		# Delete comments.
-	if (/^\s*(\S+)\s*$/) {
-	    my $sym = $1;
-	    warn "duplicate symbol $sym while processing $file line $.\n"
-		if exists $$syms{$sym};
-	    $$syms{$sym} = 1;
-	}
-    }
-    close(FILE);
-}
-
-# Perl_pp_* and Perl_ck_* are in pp.sym
-readsyms my %ppsym, 'pp.sym';
-
-sub readvars(\%$$@) {
-    my ($syms, $file,$pre,$keep_pre) = @_;
-    local (*FILE, $_);
-    open(FILE, "< $file")
-	or die "embed.pl: Can't open $file: $!\n";
-    while (<FILE>) {
-	s/[ \t]*#.*//;		# Delete comments.
-	if (/PERLVARA?I?S?C?\($pre(\w+)/) {
-	    my $sym = $1;
-	    $sym = $pre . $sym if $keep_pre;
-	    warn "duplicate symbol $sym while processing $file line $.\n"
-		if exists $$syms{$sym};
-	    $$syms{$sym} = $pre || 1;
-	}
-    }
-    close(FILE);
-}
-
-my %intrp;
-my %globvar;
-
-readvars %intrp,  'intrpvar.h','I';
-readvars %globvar, 'perlvars.h','G';
-
-my $sym;
-
-sub undefine ($) {
-    my ($sym) = @_;
-    "#undef  $sym\n";
-}
-
-sub hide ($$) {
-    my ($from, $to) = @_;
-    my $t = int(length($from) / 8);
-    "#define $from" . "\t" x ($t < 3 ? 3 - $t : 1) . "$to\n";
-}
-
-sub bincompat_var ($$) {
-    my ($pfx, $sym) = @_;
-    my $arg = ($pfx eq 'G' ? 'NULL' : 'aTHX');
-    undefine("PL_$sym") . hide("PL_$sym", "(*Perl_${pfx}${sym}_ptr($arg))");
-}
-
-sub multon ($$$) {
-    my ($sym,$pre,$ptr) = @_;
-    hide("PL_$sym", "($ptr$pre$sym)");
-}
-
-sub multoff ($$) {
-    my ($sym,$pre) = @_;
-    return hide("PL_$pre$sym", "PL_$sym");
-}
-
-my $em = safer_open('embed.h-new');
-
-print $em do_not_edit ("embed.h"), <<'END';
-
-/* (Doing namespace management portably in C is really gross.) */
-
-/* By defining PERL_NO_SHORT_NAMES (not done by default) the short forms
- * (like warn instead of Perl_warn) for the API are not defined.
- * Not defining the short forms is a good thing for cleaner embedding. */
-
-#ifndef PERL_NO_SHORT_NAMES
-
-/* Hide global symbols */
-
-#if !defined(PERL_IMPLICIT_CONTEXT)
-
-END
-
-# Try to elimiate lots of repeated
-# #ifdef PERL_CORE
-# foo
-# #endif
-# #ifdef PERL_CORE
-# bar
-# #endif
-# by tracking state and merging foo and bar into one block.
-my $ifdef_state = '';
-
-walk_table {
-    my $ret = "";
-    my $new_ifdef_state = '';
-    if (@_ == 1) {
-	my $arg = shift;
-	$ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/;
-    }
-    else {
-	my ($flags,$retval,$func, at args) = @_;
-	unless ($flags =~ /[om]/) {
-	    if ($flags =~ /s/) {
-		$ret .= hide($func,"S_$func");
-	    }
-	    elsif ($flags =~ /p/) {
-		$ret .= hide($func,"Perl_$func");
-	    }
-	}
-	if ($ret ne '' && $flags !~ /A/) {
-	    if ($flags =~ /E/) {
-		$new_ifdef_state
-		    = "#if defined(PERL_CORE) || defined(PERL_EXT)\n";
-	    }
-	    else {
-		$new_ifdef_state = "#ifdef PERL_CORE\n";
-	    }
-
-	    if ($new_ifdef_state ne $ifdef_state) {
-		$ret = $new_ifdef_state . $ret;
-	    }
-        }
-    }
-    if ($ifdef_state && $new_ifdef_state ne $ifdef_state) {
-	# Close the old one ahead of opening the new one.
-	$ret = "#endif\n$ret";
-    }
-    # Remember the new state.
-    $ifdef_state = $new_ifdef_state;
-    $ret;
-} $em, "";
-
-if ($ifdef_state) {
-    print $em "#endif\n";
-}
-
-for $sym (sort keys %ppsym) {
-    $sym =~ s/^Perl_//;
-    print $em hide($sym, "Perl_$sym");
-}
-
-print $em <<'END';
-
-#else	/* PERL_IMPLICIT_CONTEXT */
-
-END
-
-my @az = ('a'..'z');
-
-$ifdef_state = '';
-walk_table {
-    my $ret = "";
-    my $new_ifdef_state = '';
-    if (@_ == 1) {
-	my $arg = shift;
-	$ret .= "$arg\n" if $arg =~ /^#\s*(if|ifn?def|else|endif)\b/;
-    }
-    else {
-	my ($flags,$retval,$func, at args) = @_;
-	unless ($flags =~ /[om]/) {
-	    my $args = scalar @args;
-	    if ($args and $args[$args-1] =~ /\.\.\./) {
-	        # we're out of luck for varargs functions under CPP
-	    }
-	    elsif ($flags =~ /n/) {
-		if ($flags =~ /s/) {
-		    $ret .= hide($func,"S_$func");
-		}
-		elsif ($flags =~ /p/) {
-		    $ret .= hide($func,"Perl_$func");
-		}
-	    }
-	    else {
-		my $alist = join(",", @az[0..$args-1]);
-		$ret = "#define $func($alist)";
-		my $t = int(length($ret) / 8);
-		$ret .=  "\t" x ($t < 4 ? 4 - $t : 1);
-		if ($flags =~ /s/) {
-		    $ret .= "S_$func(aTHX";
-		}
-		elsif ($flags =~ /p/) {
-		    $ret .= "Perl_$func(aTHX";
-		}
-		$ret .= "_ " if $alist;
-		$ret .= $alist . ")\n";
-	    }
-	}
-	unless ($flags =~ /A/) {
-	    if ($flags =~ /E/) {
-		$new_ifdef_state
-		    = "#if defined(PERL_CORE) || defined(PERL_EXT)\n";
-	    }
-	    else {
-		$new_ifdef_state = "#ifdef PERL_CORE\n";
-	    }
-
-	    if ($new_ifdef_state ne $ifdef_state) {
-		$ret = $new_ifdef_state . $ret;
-	    }
-        }
-    }
-    if ($ifdef_state && $new_ifdef_state ne $ifdef_state) {
-	# Close the old one ahead of opening the new one.
-	$ret = "#endif\n$ret";
-    }
-    # Remember the new state.
-    $ifdef_state = $new_ifdef_state;
-    $ret;
-} $em, "";
-
-if ($ifdef_state) {
-    print $em "#endif\n";
-}
-
-for $sym (sort keys %ppsym) {
-    $sym =~ s/^Perl_//;
-    if ($sym =~ /^ck_/) {
-	print $em hide("$sym(a)", "Perl_$sym(aTHX_ a)");
-    }
-    elsif ($sym =~ /^pp_/) {
-	print $em hide("$sym()", "Perl_$sym(aTHX)");
-    }
-    else {
-	warn "Illegal symbol '$sym' in pp.sym";
-    }
-}
-
-print $em <<'END';
-
-#endif	/* PERL_IMPLICIT_CONTEXT */
-
-#endif	/* #ifndef PERL_NO_SHORT_NAMES */
-
-END
-
-print $em <<'END';
-
-/* Compatibility stubs.  Compile extensions with -DPERL_NOCOMPAT to
-   disable them.
- */
-
-#if !defined(PERL_CORE)
-#  define sv_setptrobj(rv,ptr,name)	sv_setref_iv(rv,name,PTR2IV(ptr))
-#  define sv_setptrref(rv,ptr)		sv_setref_iv(rv,NULL,PTR2IV(ptr))
-#endif
-
-#if !defined(PERL_CORE) && !defined(PERL_NOCOMPAT)
-
-/* Compatibility for various misnamed functions.  All functions
-   in the API that begin with "perl_" (not "Perl_") take an explicit
-   interpreter context pointer.
-   The following are not like that, but since they had a "perl_"
-   prefix in previous versions, we provide compatibility macros.
- */
-#  define perl_atexit(a,b)		call_atexit(a,b)
-#  define perl_call_argv(a,b,c)		call_argv(a,b,c)
-#  define perl_call_pv(a,b)		call_pv(a,b)
-#  define perl_call_method(a,b)		call_method(a,b)
-#  define perl_call_sv(a,b)		call_sv(a,b)
-#  define perl_eval_sv(a,b)		eval_sv(a,b)
-#  define perl_eval_pv(a,b)		eval_pv(a,b)
-#  define perl_require_pv(a)		require_pv(a)
-#  define perl_get_sv(a,b)		get_sv(a,b)
-#  define perl_get_av(a,b)		get_av(a,b)
-#  define perl_get_hv(a,b)		get_hv(a,b)
-#  define perl_get_cv(a,b)		get_cv(a,b)
-#  define perl_init_i18nl10n(a)		init_i18nl10n(a)
-#  define perl_init_i18nl14n(a)		init_i18nl14n(a)
-#  define perl_new_ctype(a)		new_ctype(a)
-#  define perl_new_collate(a)		new_collate(a)
-#  define perl_new_numeric(a)		new_numeric(a)
-
-/* varargs functions can't be handled with CPP macros. :-(
-   This provides a set of compatibility functions that don't take
-   an extra argument but grab the context pointer using the macro
-   dTHX.
- */
-#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES)
-#  define croak				Perl_croak_nocontext
-#  define deb				Perl_deb_nocontext
-#  define die				Perl_die_nocontext
-#  define form				Perl_form_nocontext
-#  define load_module			Perl_load_module_nocontext
-#  define mess				Perl_mess_nocontext
-#  define newSVpvf			Perl_newSVpvf_nocontext
-#  define sv_catpvf			Perl_sv_catpvf_nocontext
-#  define sv_setpvf			Perl_sv_setpvf_nocontext
-#  define warn				Perl_warn_nocontext
-#  define warner			Perl_warner_nocontext
-#  define sv_catpvf_mg			Perl_sv_catpvf_mg_nocontext
-#  define sv_setpvf_mg			Perl_sv_setpvf_mg_nocontext
-#endif
-
-#endif /* !defined(PERL_CORE) && !defined(PERL_NOCOMPAT) */
-
-#if !defined(PERL_IMPLICIT_CONTEXT)
-/* undefined symbols, point them back at the usual ones */
-#  define Perl_croak_nocontext		Perl_croak
-#  define Perl_die_nocontext		Perl_die
-#  define Perl_deb_nocontext		Perl_deb
-#  define Perl_form_nocontext		Perl_form
-#  define Perl_load_module_nocontext	Perl_load_module
-#  define Perl_mess_nocontext		Perl_mess
-#  define Perl_newSVpvf_nocontext	Perl_newSVpvf
-#  define Perl_sv_catpvf_nocontext	Perl_sv_catpvf
-#  define Perl_sv_setpvf_nocontext	Perl_sv_setpvf
-#  define Perl_warn_nocontext		Perl_warn
-#  define Perl_warner_nocontext		Perl_warner
-#  define Perl_sv_catpvf_mg_nocontext	Perl_sv_catpvf_mg
-#  define Perl_sv_setpvf_mg_nocontext	Perl_sv_setpvf_mg
-#endif
-
-/* ex: set ro: */
-END
-
-safer_close($em);
-rename_if_different('embed.h-new', 'embed.h');
-
-$em = safer_open('embedvar.h-new');
-
-print $em do_not_edit ("embedvar.h"), <<'END';
-
-/* (Doing namespace management portably in C is really gross.) */
-
-/*
-   The following combinations of MULTIPLICITY and PERL_IMPLICIT_CONTEXT
-   are supported:
-     1) none
-     2) MULTIPLICITY	# supported for compatibility
-     3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT
-
-   All other combinations of these flags are errors.
-
-   only #3 is supported directly, while #2 is a special
-   case of #3 (supported by redefining vTHX appropriately).
-*/
-
-#if defined(MULTIPLICITY)
-/* cases 2 and 3 above */
-
-#  if defined(PERL_IMPLICIT_CONTEXT)
-#    define vTHX	aTHX
-#  else
-#    define vTHX	PERL_GET_INTERP
-#  endif
-
-END
-
-for $sym (sort keys %intrp) {
-    print $em multon($sym,'I','vTHX->');
-}
-
-print $em <<'END';
-
-#else	/* !MULTIPLICITY */
-
-/* case 1 above */
-
-END
-
-for $sym (sort keys %intrp) {
-    print $em multoff($sym,'I');
-}
-
-print $em <<'END';
-
-END
-
-print $em <<'END';
-
-#endif	/* MULTIPLICITY */
-
-#if defined(PERL_GLOBAL_STRUCT)
-
-END
-
-for $sym (sort keys %globvar) {
-    print $em multon($sym,   'G','my_vars->');
-    print $em multon("G$sym",'', 'my_vars->');
-}
-
-print $em <<'END';
-
-#else /* !PERL_GLOBAL_STRUCT */
-
-END
-
-for $sym (sort keys %globvar) {
-    print $em multoff($sym,'G');
-}
-
-print $em <<'END';
-
-#endif /* PERL_GLOBAL_STRUCT */
-
-#ifdef PERL_POLLUTE		/* disabled by default in 5.6.0 */
-
-END
-
-for $sym (sort @extvars) {
-    print $em hide($sym,"PL_$sym");
-}
-
-print $em <<'END';
-
-#endif /* PERL_POLLUTE */
-
-/* ex: set ro: */
-END
-
-safer_close($em);
-rename_if_different('embedvar.h-new', 'embedvar.h');
-
-my $capi = safer_open('perlapi.c-new');
-my $capih = safer_open('perlapi.h-new');
-
-print $capih do_not_edit ("perlapi.h"), <<'EOT';
-
-/* declare accessor functions for Perl variables */
-#ifndef __perlapi_h__
-#define __perlapi_h__
-
-#if defined (MULTIPLICITY)
-
-START_EXTERN_C
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-#define PERLVAR(v,t)	EXTERN_C t* Perl_##v##_ptr(pTHX);
-#define PERLVARA(v,n,t)	typedef t PL_##v##_t[n];			\
-			EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-#define PERLVARI(v,t,i)	PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v, const t)
-#define PERLVARISC(v,i)	typedef const char PL_##v##_t[sizeof(i)];	\
-			EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-
-#include "intrpvar.h"
-#include "perlvars.h"
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-
-#ifndef PERL_GLOBAL_STRUCT
-EXTERN_C Perl_ppaddr_t** Perl_Gppaddr_ptr(pTHX);
-EXTERN_C Perl_check_t**  Perl_Gcheck_ptr(pTHX);
-EXTERN_C unsigned char** Perl_Gfold_locale_ptr(pTHX);
-#define Perl_ppaddr_ptr      Perl_Gppaddr_ptr
-#define Perl_check_ptr       Perl_Gcheck_ptr
-#define Perl_fold_locale_ptr Perl_Gfold_locale_ptr
-#endif
-
-END_EXTERN_C
-
-#if defined(PERL_CORE)
-
-/* accessor functions for Perl variables (provide binary compatibility) */
-
-/* these need to be mentioned here, or most linkers won't put them in
-   the perl executable */
-
-#ifndef PERL_NO_FORCE_LINK
-
-START_EXTERN_C
-
-#ifndef DOINIT
-EXTCONST void * const PL_force_link_funcs[];
-#else
-EXTCONST void * const PL_force_link_funcs[] = {
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#define PERLVAR(v,t)	(void*)Perl_##v##_ptr,
-#define PERLVARA(v,n,t)	PERLVAR(v,t)
-#define PERLVARI(v,t,i)	PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
-#define PERLVARISC(v,i) PERLVAR(v,char)
-
-/* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one
- * cannot cast between void pointers and function pointers without
- * info level warnings.  The PL_force_link_funcs[] would cause a few
- * hundred of those warnings.  In code one can circumnavigate this by using
- * unions that overlay the different pointers, but in declarations one
- * cannot use this trick.  Therefore we just disable the warning here
- * for the duration of the PL_force_link_funcs[] declaration. */
-
-#if defined(__DECC) && defined(__osf__)
-#pragma message save
-#pragma message disable (nonstandcast)
-#endif
-
-#include "intrpvar.h"
-#include "perlvars.h"
-
-#if defined(__DECC) && defined(__osf__)
-#pragma message restore
-#endif
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-};
-#endif	/* DOINIT */
-
-END_EXTERN_C
-
-#endif	/* PERL_NO_FORCE_LINK */
-
-#else	/* !PERL_CORE */
-
-EOT
-
-foreach $sym (sort keys %intrp) {
-    print $capih bincompat_var('I',$sym);
-}
-
-foreach $sym (sort keys %globvar) {
-    print $capih bincompat_var('G',$sym);
-}
-
-print $capih <<'EOT';
-
-#endif /* !PERL_CORE */
-#endif /* MULTIPLICITY */
-
-#endif /* __perlapi_h__ */
-
-/* ex: set ro: */
-EOT
-safer_close($capih);
-rename_if_different('perlapi.h-new', 'perlapi.h');
-
-print $capi do_not_edit ("perlapi.c"), <<'EOT';
-
-#include "EXTERN.h"
-#include "perl.h"
-#include "perlapi.h"
-
-#if defined (MULTIPLICITY)
-
-/* accessor functions for Perl variables (provides binary compatibility) */
-START_EXTERN_C
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-
-#define PERLVAR(v,t)	t* Perl_##v##_ptr(pTHX)				\
-			{ dVAR; PERL_UNUSED_CONTEXT; return &(aTHX->v); }
-#define PERLVARA(v,n,t)	PL_##v##_t* Perl_##v##_ptr(pTHX)		\
-			{ dVAR; PERL_UNUSED_CONTEXT; return &(aTHX->v); }
-
-#define PERLVARI(v,t,i)	PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v, const t)
-#define PERLVARISC(v,i)	PL_##v##_t* Perl_##v##_ptr(pTHX)		\
-			{ dVAR; PERL_UNUSED_CONTEXT; return &(aTHX->v); }
-
-#include "intrpvar.h"
-
-#undef PERLVAR
-#undef PERLVARA
-#define PERLVAR(v,t)	t* Perl_##v##_ptr(pTHX)				\
-			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
-#define PERLVARA(v,n,t)	PL_##v##_t* Perl_##v##_ptr(pTHX)		\
-			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
-#undef PERLVARIC
-#undef PERLVARISC
-#define PERLVARIC(v,t,i)	\
-			const t* Perl_##v##_ptr(pTHX)		\
-			{ PERL_UNUSED_CONTEXT; return (const t *)&(PL_##v); }
-#define PERLVARISC(v,i)	PL_##v##_t* Perl_##v##_ptr(pTHX)	\
-			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
-#include "perlvars.h"
-
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
-
-#ifndef PERL_GLOBAL_STRUCT
-/* A few evil special cases.  Could probably macrofy this. */
-#undef PL_ppaddr
-#undef PL_check
-#undef PL_fold_locale
-Perl_ppaddr_t** Perl_Gppaddr_ptr(pTHX) {
-    static Perl_ppaddr_t* const ppaddr_ptr = PL_ppaddr;
-    PERL_UNUSED_CONTEXT;
-    return (Perl_ppaddr_t**)&ppaddr_ptr;
-}
-Perl_check_t**  Perl_Gcheck_ptr(pTHX) {
-    static Perl_check_t* const check_ptr  = PL_check;
-    PERL_UNUSED_CONTEXT;
-    return (Perl_check_t**)&check_ptr;
-}
-unsigned char** Perl_Gfold_locale_ptr(pTHX) {
-    static unsigned char* const fold_locale_ptr = PL_fold_locale;
-    PERL_UNUSED_CONTEXT;
-    return (unsigned char**)&fold_locale_ptr;
-}
-#endif
-
-END_EXTERN_C
-
-#endif /* MULTIPLICITY */
-
-/* ex: set ro: */
-EOT
-
-safer_close($capi);
-rename_if_different('perlapi.c-new', 'perlapi.c');
-
-# functions that take va_list* for implementing vararg functions
-# NOTE: makedef.pl must be updated if you add symbols to %vfuncs
-# XXX %vfuncs currently unused
-my %vfuncs = qw(
-    Perl_croak			Perl_vcroak
-    Perl_warn			Perl_vwarn
-    Perl_warner			Perl_vwarner
-    Perl_die			Perl_vdie
-    Perl_form			Perl_vform
-    Perl_load_module		Perl_vload_module
-    Perl_mess			Perl_vmess
-    Perl_deb			Perl_vdeb
-    Perl_newSVpvf		Perl_vnewSVpvf
-    Perl_sv_setpvf		Perl_sv_vsetpvf
-    Perl_sv_setpvf_mg		Perl_sv_vsetpvf_mg
-    Perl_sv_catpvf		Perl_sv_vcatpvf
-    Perl_sv_catpvf_mg		Perl_sv_vcatpvf_mg
-    Perl_dump_indent		Perl_dump_vindent
-    Perl_default_protect	Perl_vdefault_protect
-);
-
-# ex: set ts=8 sts=4 sw=4 noet:

Modified: vendor/perl/dist/embedvar.h
===================================================================
--- vendor/perl/dist/embedvar.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/embedvar.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -40,6 +40,8 @@
 #    define vTHX	PERL_GET_INTERP
 #  endif
 
+#define PL_ASCII		(vTHX->IASCII)
+#define PL_AboveLatin1		(vTHX->IAboveLatin1)
 #define PL_Argv			(vTHX->IArgv)
 #define PL_Cmd			(vTHX->ICmd)
 #define PL_DBcv			(vTHX->IDBcv)
@@ -51,19 +53,21 @@
 #define PL_DBtrace		(vTHX->IDBtrace)
 #define PL_Dir			(vTHX->IDir)
 #define PL_Env			(vTHX->IEnv)
+#define PL_HasMultiCharFold	(vTHX->IHasMultiCharFold)
+#define PL_L1Posix_ptrs		(vTHX->IL1Posix_ptrs)
 #define PL_LIO			(vTHX->ILIO)
+#define PL_Latin1		(vTHX->ILatin1)
 #define PL_Mem			(vTHX->IMem)
 #define PL_MemParse		(vTHX->IMemParse)
 #define PL_MemShared		(vTHX->IMemShared)
-#define PL_OpPtr		(vTHX->IOpPtr)
-#define PL_OpSlab		(vTHX->IOpSlab)
-#define PL_OpSpace		(vTHX->IOpSpace)
+#define PL_NonL1NonFinalFold	(vTHX->INonL1NonFinalFold)
+#define PL_Posix_ptrs		(vTHX->IPosix_ptrs)
 #define PL_Proc			(vTHX->IProc)
 #define PL_Sock			(vTHX->ISock)
 #define PL_StdIO		(vTHX->IStdIO)
 #define PL_Sv			(vTHX->ISv)
+#define PL_XPosix_ptrs		(vTHX->IXPosix_ptrs)
 #define PL_Xpv			(vTHX->IXpv)
-#define PL_amagic_generation	(vTHX->Iamagic_generation)
 #define PL_an			(vTHX->Ian)
 #define PL_apiversion		(vTHX->Iapiversion)
 #define PL_argvgv		(vTHX->Iargvgv)
@@ -117,6 +121,10 @@
 #define PL_defoutgv		(vTHX->Idefoutgv)
 #define PL_defstash		(vTHX->Idefstash)
 #define PL_delaymagic		(vTHX->Idelaymagic)
+#define PL_delaymagic_egid	(vTHX->Idelaymagic_egid)
+#define PL_delaymagic_euid	(vTHX->Idelaymagic_euid)
+#define PL_delaymagic_gid	(vTHX->Idelaymagic_gid)
+#define PL_delaymagic_uid	(vTHX->Idelaymagic_uid)
 #define PL_destroyhook		(vTHX->Idestroyhook)
 #define PL_diehook		(vTHX->Idiehook)
 #define PL_doswitches		(vTHX->Idoswitches)
@@ -126,13 +134,11 @@
 #define PL_e_script		(vTHX->Ie_script)
 #define PL_efloatbuf		(vTHX->Iefloatbuf)
 #define PL_efloatsize		(vTHX->Iefloatsize)
-#define PL_egid			(vTHX->Iegid)
 #define PL_encoding		(vTHX->Iencoding)
 #define PL_endav		(vTHX->Iendav)
 #define PL_envgv		(vTHX->Ienvgv)
 #define PL_errgv		(vTHX->Ierrgv)
 #define PL_errors		(vTHX->Ierrors)
-#define PL_euid			(vTHX->Ieuid)
 #define PL_eval_root		(vTHX->Ieval_root)
 #define PL_eval_start		(vTHX->Ieval_start)
 #define PL_evalseq		(vTHX->Ievalseq)
@@ -143,14 +149,13 @@
 #define PL_filemode		(vTHX->Ifilemode)
 #define PL_firstgv		(vTHX->Ifirstgv)
 #define PL_forkprocess		(vTHX->Iforkprocess)
-#define PL_formfeed		(vTHX->Iformfeed)
 #define PL_formtarget		(vTHX->Iformtarget)
 #define PL_generation		(vTHX->Igeneration)
 #define PL_gensym		(vTHX->Igensym)
-#define PL_gid			(vTHX->Igid)
-#define PL_glob_index		(vTHX->Iglob_index)
 #define PL_globalstash		(vTHX->Iglobalstash)
-#define PL_hash_seed		(vTHX->Ihash_seed)
+#define PL_globhook		(vTHX->Iglobhook)
+#define PL_hash_rand_bits	(vTHX->Ihash_rand_bits)
+#define PL_hash_rand_bits_enabled	(vTHX->Ihash_rand_bits_enabled)
 #define PL_hintgv		(vTHX->Ihintgv)
 #define PL_hints		(vTHX->Ihints)
 #define PL_hv_fetch_ent_mh	(vTHX->Ihv_fetch_ent_mh)
@@ -171,7 +176,6 @@
 #define PL_last_swash_tmps	(vTHX->Ilast_swash_tmps)
 #define PL_lastfd		(vTHX->Ilastfd)
 #define PL_lastgotoprobe	(vTHX->Ilastgotoprobe)
-#define PL_lastscream		(vTHX->Ilastscream)
 #define PL_laststatval		(vTHX->Ilaststatval)
 #define PL_laststype		(vTHX->Ilaststype)
 #define PL_localizing		(vTHX->Ilocalizing)
@@ -187,7 +191,6 @@
 #define PL_markstack_ptr	(vTHX->Imarkstack_ptr)
 #define PL_max_intro_pending	(vTHX->Imax_intro_pending)
 #define PL_maxo			(vTHX->Imaxo)
-#define PL_maxscream		(vTHX->Imaxscream)
 #define PL_maxsysfd		(vTHX->Imaxsysfd)
 #define PL_memory_debug_header	(vTHX->Imemory_debug_header)
 #define PL_mess_sv		(vTHX->Imess_sv)
@@ -234,7 +237,6 @@
 #define PL_perlio		(vTHX->Iperlio)
 #define PL_phase		(vTHX->Iphase)
 #define PL_pidstatus		(vTHX->Ipidstatus)
-#define PL_ppid			(vTHX->Ippid)
 #define PL_preambleav		(vTHX->Ipreambleav)
 #define PL_profiledata		(vTHX->Iprofiledata)
 #define PL_psig_name		(vTHX->Ipsig_name)
@@ -247,12 +249,9 @@
 #define PL_regdummy		(vTHX->Iregdummy)
 #define PL_regex_pad		(vTHX->Iregex_pad)
 #define PL_regex_padav		(vTHX->Iregex_padav)
-#define PL_reginterp_cnt	(vTHX->Ireginterp_cnt)
 #define PL_registered_mros	(vTHX->Iregistered_mros)
 #define PL_regmatch_slab	(vTHX->Iregmatch_slab)
 #define PL_regmatch_state	(vTHX->Iregmatch_state)
-#define PL_rehash_seed		(vTHX->Irehash_seed)
-#define PL_rehash_seed_set	(vTHX->Irehash_seed_set)
 #define PL_replgv		(vTHX->Ireplgv)
 #define PL_restartjmpenv	(vTHX->Irestartjmpenv)
 #define PL_restartop		(vTHX->Irestartop)
@@ -263,13 +262,13 @@
 #define PL_savestack		(vTHX->Isavestack)
 #define PL_savestack_ix		(vTHX->Isavestack_ix)
 #define PL_savestack_max	(vTHX->Isavestack_max)
+#ifndef PL_sawampersand
 #define PL_sawampersand		(vTHX->Isawampersand)
+#endif
 #define PL_scopestack		(vTHX->Iscopestack)
 #define PL_scopestack_ix	(vTHX->Iscopestack_ix)
 #define PL_scopestack_max	(vTHX->Iscopestack_max)
 #define PL_scopestack_name	(vTHX->Iscopestack_name)
-#define PL_screamfirst		(vTHX->Iscreamfirst)
-#define PL_screamnext		(vTHX->Iscreamnext)
 #define PL_secondgv		(vTHX->Isecondgv)
 #define PL_sharehook		(vTHX->Isharehook)
 #define PL_sig_pending		(vTHX->Isig_pending)
@@ -276,8 +275,6 @@
 #define PL_sighandlerp		(vTHX->Isighandlerp)
 #define PL_signalhook		(vTHX->Isignalhook)
 #define PL_signals		(vTHX->Isignals)
-#define PL_slab_count		(vTHX->Islab_count)
-#define PL_slabs		(vTHX->Islabs)
 #define PL_sort_RealCmp		(vTHX->Isort_RealCmp)
 #define PL_sortcop		(vTHX->Isortcop)
 #define PL_sortstash		(vTHX->Isortstash)
@@ -288,6 +285,9 @@
 #define PL_stack_sp		(vTHX->Istack_sp)
 #define PL_start_env		(vTHX->Istart_env)
 #define PL_stashcache		(vTHX->Istashcache)
+#define PL_stashpad		(vTHX->Istashpad)
+#define PL_stashpadix		(vTHX->Istashpadix)
+#define PL_stashpadmax		(vTHX->Istashpadmax)
 #define PL_statbuf		(vTHX->Istatbuf)
 #define PL_statcache		(vTHX->Istatcache)
 #define PL_statgv		(vTHX->Istatgv)
@@ -321,46 +321,27 @@
 #define PL_tmps_stack		(vTHX->Itmps_stack)
 #define PL_top_env		(vTHX->Itop_env)
 #define PL_toptarget		(vTHX->Itoptarget)
-#define PL_uid			(vTHX->Iuid)
 #define PL_unicode		(vTHX->Iunicode)
 #define PL_unitcheckav		(vTHX->Iunitcheckav)
 #define PL_unitcheckav_save	(vTHX->Iunitcheckav_save)
 #define PL_unlockhook		(vTHX->Iunlockhook)
 #define PL_unsafe		(vTHX->Iunsafe)
-#define PL_utf8_X_L		(vTHX->Iutf8_X_L)
-#define PL_utf8_X_LV		(vTHX->Iutf8_X_LV)
-#define PL_utf8_X_LVT		(vTHX->Iutf8_X_LVT)
-#define PL_utf8_X_LV_LVT_V	(vTHX->Iutf8_X_LV_LVT_V)
-#define PL_utf8_X_T		(vTHX->Iutf8_X_T)
-#define PL_utf8_X_V		(vTHX->Iutf8_X_V)
-#define PL_utf8_X_begin		(vTHX->Iutf8_X_begin)
 #define PL_utf8_X_extend	(vTHX->Iutf8_X_extend)
-#define PL_utf8_X_non_hangul	(vTHX->Iutf8_X_non_hangul)
-#define PL_utf8_X_prepend	(vTHX->Iutf8_X_prepend)
-#define PL_utf8_alnum		(vTHX->Iutf8_alnum)
-#define PL_utf8_alpha		(vTHX->Iutf8_alpha)
-#define PL_utf8_ascii		(vTHX->Iutf8_ascii)
-#define PL_utf8_cntrl		(vTHX->Iutf8_cntrl)
-#define PL_utf8_digit		(vTHX->Iutf8_digit)
+#define PL_utf8_X_regular_begin	(vTHX->Iutf8_X_regular_begin)
+#define PL_utf8_charname_begin	(vTHX->Iutf8_charname_begin)
+#define PL_utf8_charname_continue	(vTHX->Iutf8_charname_continue)
 #define PL_utf8_foldable	(vTHX->Iutf8_foldable)
 #define PL_utf8_foldclosures	(vTHX->Iutf8_foldclosures)
-#define PL_utf8_graph		(vTHX->Iutf8_graph)
 #define PL_utf8_idcont		(vTHX->Iutf8_idcont)
 #define PL_utf8_idstart		(vTHX->Iutf8_idstart)
-#define PL_utf8_lower		(vTHX->Iutf8_lower)
 #define PL_utf8_mark		(vTHX->Iutf8_mark)
-#define PL_utf8_perl_space	(vTHX->Iutf8_perl_space)
-#define PL_utf8_perl_word	(vTHX->Iutf8_perl_word)
-#define PL_utf8_posix_digit	(vTHX->Iutf8_posix_digit)
-#define PL_utf8_print		(vTHX->Iutf8_print)
-#define PL_utf8_punct		(vTHX->Iutf8_punct)
-#define PL_utf8_space		(vTHX->Iutf8_space)
+#define PL_utf8_perl_idcont	(vTHX->Iutf8_perl_idcont)
+#define PL_utf8_perl_idstart	(vTHX->Iutf8_perl_idstart)
+#define PL_utf8_swash_ptrs	(vTHX->Iutf8_swash_ptrs)
 #define PL_utf8_tofold		(vTHX->Iutf8_tofold)
 #define PL_utf8_tolower		(vTHX->Iutf8_tolower)
 #define PL_utf8_totitle		(vTHX->Iutf8_totitle)
 #define PL_utf8_toupper		(vTHX->Iutf8_toupper)
-#define PL_utf8_upper		(vTHX->Iutf8_upper)
-#define PL_utf8_xdigit		(vTHX->Iutf8_xdigit)
 #define PL_utf8_xidcont		(vTHX->Iutf8_xidcont)
 #define PL_utf8_xidstart	(vTHX->Iutf8_xidstart)
 #define PL_utf8cache		(vTHX->Iutf8cache)
@@ -370,355 +351,16 @@
 #define PL_watchok		(vTHX->Iwatchok)
 #define PL_xmlfp		(vTHX->Ixmlfp)
 
-#else	/* !MULTIPLICITY */
-
-/* case 1 above */
-
-#define PL_IArgv		PL_Argv
-#define PL_ICmd			PL_Cmd
-#define PL_IDBcv		PL_DBcv
-#define PL_IDBgv		PL_DBgv
-#define PL_IDBline		PL_DBline
-#define PL_IDBsignal		PL_DBsignal
-#define PL_IDBsingle		PL_DBsingle
-#define PL_IDBsub		PL_DBsub
-#define PL_IDBtrace		PL_DBtrace
-#define PL_IDir			PL_Dir
-#define PL_IEnv			PL_Env
-#define PL_ILIO			PL_LIO
-#define PL_IMem			PL_Mem
-#define PL_IMemParse		PL_MemParse
-#define PL_IMemShared		PL_MemShared
-#define PL_IOpPtr		PL_OpPtr
-#define PL_IOpSlab		PL_OpSlab
-#define PL_IOpSpace		PL_OpSpace
-#define PL_IProc		PL_Proc
-#define PL_ISock		PL_Sock
-#define PL_IStdIO		PL_StdIO
-#define PL_ISv			PL_Sv
-#define PL_IXpv			PL_Xpv
-#define PL_Iamagic_generation	PL_amagic_generation
-#define PL_Ian			PL_an
-#define PL_Iapiversion		PL_apiversion
-#define PL_Iargvgv		PL_argvgv
-#define PL_Iargvout_stack	PL_argvout_stack
-#define PL_Iargvoutgv		PL_argvoutgv
-#define PL_Ibasetime		PL_basetime
-#define PL_Ibeginav		PL_beginav
-#define PL_Ibeginav_save	PL_beginav_save
-#define PL_Iblockhooks		PL_blockhooks
-#define PL_Ibody_arenas		PL_body_arenas
-#define PL_Ibody_roots		PL_body_roots
-#define PL_Ibodytarget		PL_bodytarget
-#define PL_Ibreakable_sub_gen	PL_breakable_sub_gen
-#define PL_Icheckav		PL_checkav
-#define PL_Icheckav_save	PL_checkav_save
-#define PL_Ichopset		PL_chopset
-#define PL_Iclocktick		PL_clocktick
-#define PL_Icollation_ix	PL_collation_ix
-#define PL_Icollation_name	PL_collation_name
-#define PL_Icollation_standard	PL_collation_standard
-#define PL_Icollxfrm_base	PL_collxfrm_base
-#define PL_Icollxfrm_mult	PL_collxfrm_mult
-#define PL_Icolors		PL_colors
-#define PL_Icolorset		PL_colorset
-#define PL_Icompcv		PL_compcv
-#define PL_Icompiling		PL_compiling
-#define PL_Icomppad		PL_comppad
-#define PL_Icomppad_name	PL_comppad_name
-#define PL_Icomppad_name_fill	PL_comppad_name_fill
-#define PL_Icomppad_name_floor	PL_comppad_name_floor
-#define PL_Icop_seqmax		PL_cop_seqmax
-#define PL_Icryptseen		PL_cryptseen
-#define PL_Icurcop		PL_curcop
-#define PL_Icurcopdb		PL_curcopdb
-#define PL_Icurpad		PL_curpad
-#define PL_Icurpm		PL_curpm
-#define PL_Icurstack		PL_curstack
-#define PL_Icurstackinfo	PL_curstackinfo
-#define PL_Icurstash		PL_curstash
-#define PL_Icurstname		PL_curstname
-#define PL_Icustom_op_descs	PL_custom_op_descs
-#define PL_Icustom_op_names	PL_custom_op_names
-#define PL_Icustom_ops		PL_custom_ops
-#define PL_Icv_has_eval		PL_cv_has_eval
-#define PL_Idbargs		PL_dbargs
-#define PL_Idebstash		PL_debstash
-#define PL_Idebug		PL_debug
-#define PL_Idebug_pad		PL_debug_pad
-#define PL_Idef_layerlist	PL_def_layerlist
-#define PL_Idefgv		PL_defgv
-#define PL_Idefoutgv		PL_defoutgv
-#define PL_Idefstash		PL_defstash
-#define PL_Idelaymagic		PL_delaymagic
-#define PL_Idestroyhook		PL_destroyhook
-#define PL_Idiehook		PL_diehook
-#define PL_Idoswitches		PL_doswitches
-#define PL_Idowarn		PL_dowarn
-#define PL_Idumper_fd		PL_dumper_fd
-#define PL_Idumpindent		PL_dumpindent
-#define PL_Ie_script		PL_e_script
-#define PL_Iefloatbuf		PL_efloatbuf
-#define PL_Iefloatsize		PL_efloatsize
-#define PL_Iegid		PL_egid
-#define PL_Iencoding		PL_encoding
-#define PL_Iendav		PL_endav
-#define PL_Ienvgv		PL_envgv
-#define PL_Ierrgv		PL_errgv
-#define PL_Ierrors		PL_errors
-#define PL_Ieuid		PL_euid
-#define PL_Ieval_root		PL_eval_root
-#define PL_Ieval_start		PL_eval_start
-#define PL_Ievalseq		PL_evalseq
-#define PL_Iexit_flags		PL_exit_flags
-#define PL_Iexitlist		PL_exitlist
-#define PL_Iexitlistlen		PL_exitlistlen
-#define PL_Ifdpid		PL_fdpid
-#define PL_Ifilemode		PL_filemode
-#define PL_Ifirstgv		PL_firstgv
-#define PL_Iforkprocess		PL_forkprocess
-#define PL_Iformfeed		PL_formfeed
-#define PL_Iformtarget		PL_formtarget
-#define PL_Igeneration		PL_generation
-#define PL_Igensym		PL_gensym
-#define PL_Igid			PL_gid
-#define PL_Iglob_index		PL_glob_index
-#define PL_Iglobalstash		PL_globalstash
-#define PL_Ihash_seed		PL_hash_seed
-#define PL_Ihintgv		PL_hintgv
-#define PL_Ihints		PL_hints
-#define PL_Ihv_fetch_ent_mh	PL_hv_fetch_ent_mh
-#define PL_Iin_clean_all	PL_in_clean_all
-#define PL_Iin_clean_objs	PL_in_clean_objs
-#define PL_Iin_eval		PL_in_eval
-#define PL_Iin_load_module	PL_in_load_module
-#define PL_Iincgv		PL_incgv
-#define PL_Iinitav		PL_initav
-#define PL_Iinplace		PL_inplace
-#define PL_Iisarev		PL_isarev
-#define PL_Iknown_layers	PL_known_layers
-#define PL_Ilast_in_gv		PL_last_in_gv
-#define PL_Ilast_swash_hv	PL_last_swash_hv
-#define PL_Ilast_swash_key	PL_last_swash_key
-#define PL_Ilast_swash_klen	PL_last_swash_klen
-#define PL_Ilast_swash_slen	PL_last_swash_slen
-#define PL_Ilast_swash_tmps	PL_last_swash_tmps
-#define PL_Ilastfd		PL_lastfd
-#define PL_Ilastgotoprobe	PL_lastgotoprobe
-#define PL_Ilastscream		PL_lastscream
-#define PL_Ilaststatval		PL_laststatval
-#define PL_Ilaststype		PL_laststype
-#define PL_Ilocalizing		PL_localizing
-#define PL_Ilocalpatches	PL_localpatches
-#define PL_Ilockhook		PL_lockhook
-#define PL_Imadskills		PL_madskills
-#define PL_Imain_cv		PL_main_cv
-#define PL_Imain_root		PL_main_root
-#define PL_Imain_start		PL_main_start
-#define PL_Imainstack		PL_mainstack
-#define PL_Imarkstack		PL_markstack
-#define PL_Imarkstack_max	PL_markstack_max
-#define PL_Imarkstack_ptr	PL_markstack_ptr
-#define PL_Imax_intro_pending	PL_max_intro_pending
-#define PL_Imaxo		PL_maxo
-#define PL_Imaxscream		PL_maxscream
-#define PL_Imaxsysfd		PL_maxsysfd
-#define PL_Imemory_debug_header	PL_memory_debug_header
-#define PL_Imess_sv		PL_mess_sv
-#define PL_Imin_intro_pending	PL_min_intro_pending
-#define PL_Iminus_E		PL_minus_E
-#define PL_Iminus_F		PL_minus_F
-#define PL_Iminus_a		PL_minus_a
-#define PL_Iminus_c		PL_minus_c
-#define PL_Iminus_l		PL_minus_l
-#define PL_Iminus_n		PL_minus_n
-#define PL_Iminus_p		PL_minus_p
-#define PL_Imodcount		PL_modcount
-#define PL_Imodglobal		PL_modglobal
-#define PL_Imy_cxt_keys		PL_my_cxt_keys
-#define PL_Imy_cxt_list		PL_my_cxt_list
-#define PL_Imy_cxt_size		PL_my_cxt_size
-#define PL_Ina			PL_na
-#define PL_Inomemok		PL_nomemok
-#define PL_Inumeric_local	PL_numeric_local
-#define PL_Inumeric_name	PL_numeric_name
-#define PL_Inumeric_radix_sv	PL_numeric_radix_sv
-#define PL_Inumeric_standard	PL_numeric_standard
-#define PL_Iofsgv		PL_ofsgv
-#define PL_Ioldname		PL_oldname
-#define PL_Iop			PL_op
-#define PL_Iop_mask		PL_op_mask
-#define PL_Iopfreehook		PL_opfreehook
-#define PL_Iopsave		PL_opsave
-#define PL_Iorigalen		PL_origalen
-#define PL_Iorigargc		PL_origargc
-#define PL_Iorigargv		PL_origargv
-#define PL_Iorigenviron		PL_origenviron
-#define PL_Iorigfilename	PL_origfilename
-#define PL_Iors_sv		PL_ors_sv
-#define PL_Iosname		PL_osname
-#define PL_Ipad_reset_pending	PL_pad_reset_pending
-#define PL_Ipadix		PL_padix
-#define PL_Ipadix_floor		PL_padix_floor
-#define PL_Iparser		PL_parser
-#define PL_Ipatchlevel		PL_patchlevel
-#define PL_Ipeepp		PL_peepp
-#define PL_Iperl_destruct_level	PL_perl_destruct_level
-#define PL_Iperldb		PL_perldb
-#define PL_Iperlio		PL_perlio
-#define PL_Iphase		PL_phase
-#define PL_Ipidstatus		PL_pidstatus
-#define PL_Ippid		PL_ppid
-#define PL_Ipreambleav		PL_preambleav
-#define PL_Iprofiledata		PL_profiledata
-#define PL_Ipsig_name		PL_psig_name
-#define PL_Ipsig_pend		PL_psig_pend
-#define PL_Ipsig_ptr		PL_psig_ptr
-#define PL_Iptr_table		PL_ptr_table
-#define PL_Ireentrant_buffer	PL_reentrant_buffer
-#define PL_Ireentrant_retint	PL_reentrant_retint
-#define PL_Ireg_state		PL_reg_state
-#define PL_Iregdummy		PL_regdummy
-#define PL_Iregex_pad		PL_regex_pad
-#define PL_Iregex_padav		PL_regex_padav
-#define PL_Ireginterp_cnt	PL_reginterp_cnt
-#define PL_Iregistered_mros	PL_registered_mros
-#define PL_Iregmatch_slab	PL_regmatch_slab
-#define PL_Iregmatch_state	PL_regmatch_state
-#define PL_Irehash_seed		PL_rehash_seed
-#define PL_Irehash_seed_set	PL_rehash_seed_set
-#define PL_Ireplgv		PL_replgv
-#define PL_Irestartjmpenv	PL_restartjmpenv
-#define PL_Irestartop		PL_restartop
-#define PL_Irpeepp		PL_rpeepp
-#define PL_Irs			PL_rs
-#define PL_Irunops		PL_runops
-#define PL_Isavebegin		PL_savebegin
-#define PL_Isavestack		PL_savestack
-#define PL_Isavestack_ix	PL_savestack_ix
-#define PL_Isavestack_max	PL_savestack_max
-#define PL_Isawampersand	PL_sawampersand
-#define PL_Iscopestack		PL_scopestack
-#define PL_Iscopestack_ix	PL_scopestack_ix
-#define PL_Iscopestack_max	PL_scopestack_max
-#define PL_Iscopestack_name	PL_scopestack_name
-#define PL_Iscreamfirst		PL_screamfirst
-#define PL_Iscreamnext		PL_screamnext
-#define PL_Isecondgv		PL_secondgv
-#define PL_Isharehook		PL_sharehook
-#define PL_Isig_pending		PL_sig_pending
-#define PL_Isighandlerp		PL_sighandlerp
-#define PL_Isignalhook		PL_signalhook
-#define PL_Isignals		PL_signals
-#define PL_Islab_count		PL_slab_count
-#define PL_Islabs		PL_slabs
-#define PL_Isort_RealCmp	PL_sort_RealCmp
-#define PL_Isortcop		PL_sortcop
-#define PL_Isortstash		PL_sortstash
-#define PL_Isplitstr		PL_splitstr
-#define PL_Isrand_called	PL_srand_called
-#define PL_Istack_base		PL_stack_base
-#define PL_Istack_max		PL_stack_max
-#define PL_Istack_sp		PL_stack_sp
-#define PL_Istart_env		PL_start_env
-#define PL_Istashcache		PL_stashcache
-#define PL_Istatbuf		PL_statbuf
-#define PL_Istatcache		PL_statcache
-#define PL_Istatgv		PL_statgv
-#define PL_Istatname		PL_statname
-#define PL_Istatusvalue		PL_statusvalue
-#define PL_Istatusvalue_posix	PL_statusvalue_posix
-#define PL_Istatusvalue_vms	PL_statusvalue_vms
-#define PL_Istderrgv		PL_stderrgv
-#define PL_Istdingv		PL_stdingv
-#define PL_Istrtab		PL_strtab
-#define PL_Isub_generation	PL_sub_generation
-#define PL_Isubline		PL_subline
-#define PL_Isubname		PL_subname
-#define PL_Isv_arenaroot	PL_sv_arenaroot
-#define PL_Isv_count		PL_sv_count
-#define PL_Isv_no		PL_sv_no
-#define PL_Isv_objcount		PL_sv_objcount
-#define PL_Isv_root		PL_sv_root
-#define PL_Isv_serial		PL_sv_serial
-#define PL_Isv_undef		PL_sv_undef
-#define PL_Isv_yes		PL_sv_yes
-#define PL_Isys_intern		PL_sys_intern
-#define PL_Itaint_warn		PL_taint_warn
-#define PL_Itainted		PL_tainted
-#define PL_Itainting		PL_tainting
-#define PL_Ithreadhook		PL_threadhook
-#define PL_Itimesbuf		PL_timesbuf
-#define PL_Itmps_floor		PL_tmps_floor
-#define PL_Itmps_ix		PL_tmps_ix
-#define PL_Itmps_max		PL_tmps_max
-#define PL_Itmps_stack		PL_tmps_stack
-#define PL_Itop_env		PL_top_env
-#define PL_Itoptarget		PL_toptarget
-#define PL_Iuid			PL_uid
-#define PL_Iunicode		PL_unicode
-#define PL_Iunitcheckav		PL_unitcheckav
-#define PL_Iunitcheckav_save	PL_unitcheckav_save
-#define PL_Iunlockhook		PL_unlockhook
-#define PL_Iunsafe		PL_unsafe
-#define PL_Iutf8_X_L		PL_utf8_X_L
-#define PL_Iutf8_X_LV		PL_utf8_X_LV
-#define PL_Iutf8_X_LVT		PL_utf8_X_LVT
-#define PL_Iutf8_X_LV_LVT_V	PL_utf8_X_LV_LVT_V
-#define PL_Iutf8_X_T		PL_utf8_X_T
-#define PL_Iutf8_X_V		PL_utf8_X_V
-#define PL_Iutf8_X_begin	PL_utf8_X_begin
-#define PL_Iutf8_X_extend	PL_utf8_X_extend
-#define PL_Iutf8_X_non_hangul	PL_utf8_X_non_hangul
-#define PL_Iutf8_X_prepend	PL_utf8_X_prepend
-#define PL_Iutf8_alnum		PL_utf8_alnum
-#define PL_Iutf8_alpha		PL_utf8_alpha
-#define PL_Iutf8_ascii		PL_utf8_ascii
-#define PL_Iutf8_cntrl		PL_utf8_cntrl
-#define PL_Iutf8_digit		PL_utf8_digit
-#define PL_Iutf8_foldable	PL_utf8_foldable
-#define PL_Iutf8_foldclosures	PL_utf8_foldclosures
-#define PL_Iutf8_graph		PL_utf8_graph
-#define PL_Iutf8_idcont		PL_utf8_idcont
-#define PL_Iutf8_idstart	PL_utf8_idstart
-#define PL_Iutf8_lower		PL_utf8_lower
-#define PL_Iutf8_mark		PL_utf8_mark
-#define PL_Iutf8_perl_space	PL_utf8_perl_space
-#define PL_Iutf8_perl_word	PL_utf8_perl_word
-#define PL_Iutf8_posix_digit	PL_utf8_posix_digit
-#define PL_Iutf8_print		PL_utf8_print
-#define PL_Iutf8_punct		PL_utf8_punct
-#define PL_Iutf8_space		PL_utf8_space
-#define PL_Iutf8_tofold		PL_utf8_tofold
-#define PL_Iutf8_tolower	PL_utf8_tolower
-#define PL_Iutf8_totitle	PL_utf8_totitle
-#define PL_Iutf8_toupper	PL_utf8_toupper
-#define PL_Iutf8_upper		PL_utf8_upper
-#define PL_Iutf8_xdigit		PL_utf8_xdigit
-#define PL_Iutf8_xidcont	PL_utf8_xidcont
-#define PL_Iutf8_xidstart	PL_utf8_xidstart
-#define PL_Iutf8cache		PL_utf8cache
-#define PL_Iutf8locale		PL_utf8locale
-#define PL_Iwarnhook		PL_warnhook
-#define PL_Iwatchaddr		PL_watchaddr
-#define PL_Iwatchok		PL_watchok
-#define PL_Ixmlfp		PL_xmlfp
-
-
 #endif	/* MULTIPLICITY */
 
 #if defined(PERL_GLOBAL_STRUCT)
 
-#define PL_No			(my_vars->GNo)
-#define PL_GNo			(my_vars->GNo)
-#define PL_Yes			(my_vars->GYes)
-#define PL_GYes			(my_vars->GYes)
 #define PL_appctx		(my_vars->Gappctx)
 #define PL_Gappctx		(my_vars->Gappctx)
-#define PL_charclass		(my_vars->Gcharclass)
-#define PL_Gcharclass		(my_vars->Gcharclass)
 #define PL_check		(my_vars->Gcheck)
 #define PL_Gcheck		(my_vars->Gcheck)
+#define PL_check_mutex		(my_vars->Gcheck_mutex)
+#define PL_Gcheck_mutex		(my_vars->Gcheck_mutex)
 #define PL_csighandlerp		(my_vars->Gcsighandlerp)
 #define PL_Gcsighandlerp	(my_vars->Gcsighandlerp)
 #define PL_curinterp		(my_vars->Gcurinterp)
@@ -729,16 +371,12 @@
 #define PL_Gdollarzero_mutex	(my_vars->Gdollarzero_mutex)
 #define PL_fold_locale		(my_vars->Gfold_locale)
 #define PL_Gfold_locale		(my_vars->Gfold_locale)
-#define PL_global_struct_size	(my_vars->Gglobal_struct_size)
-#define PL_Gglobal_struct_size	(my_vars->Gglobal_struct_size)
-#define PL_hexdigit		(my_vars->Ghexdigit)
-#define PL_Ghexdigit		(my_vars->Ghexdigit)
+#define PL_hash_seed		(my_vars->Ghash_seed)
+#define PL_Ghash_seed		(my_vars->Ghash_seed)
+#define PL_hash_seed_set	(my_vars->Ghash_seed_set)
+#define PL_Ghash_seed_set	(my_vars->Ghash_seed_set)
 #define PL_hints_mutex		(my_vars->Ghints_mutex)
 #define PL_Ghints_mutex		(my_vars->Ghints_mutex)
-#define PL_interp_size		(my_vars->Ginterp_size)
-#define PL_Ginterp_size		(my_vars->Ginterp_size)
-#define PL_interp_size_5_10_0	(my_vars->Ginterp_size_5_10_0)
-#define PL_Ginterp_size_5_10_0	(my_vars->Ginterp_size_5_10_0)
 #define PL_keyword_plugin	(my_vars->Gkeyword_plugin)
 #define PL_Gkeyword_plugin	(my_vars->Gkeyword_plugin)
 #define PL_malloc_mutex		(my_vars->Gmalloc_mutex)
@@ -755,8 +393,6 @@
 #define PL_Gop_seq		(my_vars->Gop_seq)
 #define PL_op_sequence		(my_vars->Gop_sequence)
 #define PL_Gop_sequence		(my_vars->Gop_sequence)
-#define PL_patleave		(my_vars->Gpatleave)
-#define PL_Gpatleave		(my_vars->Gpatleave)
 #define PL_perlio_debug_fd	(my_vars->Gperlio_debug_fd)
 #define PL_Gperlio_debug_fd	(my_vars->Gperlio_debug_fd)
 #define PL_perlio_fd_refcnt	(my_vars->Gperlio_fd_refcnt)
@@ -767,14 +403,10 @@
 #define PL_Gperlio_mutex	(my_vars->Gperlio_mutex)
 #define PL_ppaddr		(my_vars->Gppaddr)
 #define PL_Gppaddr		(my_vars->Gppaddr)
-#define PL_revision		(my_vars->Grevision)
-#define PL_Grevision		(my_vars->Grevision)
-#define PL_runops_dbg		(my_vars->Grunops_dbg)
-#define PL_Grunops_dbg		(my_vars->Grunops_dbg)
-#define PL_runops_std		(my_vars->Grunops_std)
-#define PL_Grunops_std		(my_vars->Grunops_std)
+#ifdef OS2
 #define PL_sh_path		(my_vars->Gsh_path)
 #define PL_Gsh_path		(my_vars->Gsh_path)
+#endif
 #define PL_sig_defaulting	(my_vars->Gsig_defaulting)
 #define PL_Gsig_defaulting	(my_vars->Gsig_defaulting)
 #define PL_sig_handlers_initted	(my_vars->Gsig_handlers_initted)
@@ -785,8 +417,6 @@
 #define PL_Gsig_trapped		(my_vars->Gsig_trapped)
 #define PL_sigfpe_saved		(my_vars->Gsigfpe_saved)
 #define PL_Gsigfpe_saved	(my_vars->Gsigfpe_saved)
-#define PL_subversion		(my_vars->Gsubversion)
-#define PL_Gsubversion		(my_vars->Gsubversion)
 #define PL_sv_placeholder	(my_vars->Gsv_placeholder)
 #define PL_Gsv_placeholder	(my_vars->Gsv_placeholder)
 #define PL_thr_key		(my_vars->Gthr_key)
@@ -795,62 +425,11 @@
 #define PL_Gtimesbase		(my_vars->Gtimesbase)
 #define PL_use_safe_putenv	(my_vars->Guse_safe_putenv)
 #define PL_Guse_safe_putenv	(my_vars->Guse_safe_putenv)
-#define PL_version		(my_vars->Gversion)
-#define PL_Gversion		(my_vars->Gversion)
 #define PL_veto_cleanup		(my_vars->Gveto_cleanup)
 #define PL_Gveto_cleanup	(my_vars->Gveto_cleanup)
 #define PL_watch_pvx		(my_vars->Gwatch_pvx)
 #define PL_Gwatch_pvx		(my_vars->Gwatch_pvx)
 
-#else /* !PERL_GLOBAL_STRUCT */
-
-#define PL_GNo			PL_No
-#define PL_GYes			PL_Yes
-#define PL_Gappctx		PL_appctx
-#define PL_Gcharclass		PL_charclass
-#define PL_Gcheck		PL_check
-#define PL_Gcsighandlerp	PL_csighandlerp
-#define PL_Gcurinterp		PL_curinterp
-#define PL_Gdo_undump		PL_do_undump
-#define PL_Gdollarzero_mutex	PL_dollarzero_mutex
-#define PL_Gfold_locale		PL_fold_locale
-#define PL_Gglobal_struct_size	PL_global_struct_size
-#define PL_Ghexdigit		PL_hexdigit
-#define PL_Ghints_mutex		PL_hints_mutex
-#define PL_Ginterp_size		PL_interp_size
-#define PL_Ginterp_size_5_10_0	PL_interp_size_5_10_0
-#define PL_Gkeyword_plugin	PL_keyword_plugin
-#define PL_Gmalloc_mutex	PL_malloc_mutex
-#define PL_Gmmap_page_size	PL_mmap_page_size
-#define PL_Gmy_ctx_mutex	PL_my_ctx_mutex
-#define PL_Gmy_cxt_index	PL_my_cxt_index
-#define PL_Gop_mutex		PL_op_mutex
-#define PL_Gop_seq		PL_op_seq
-#define PL_Gop_sequence		PL_op_sequence
-#define PL_Gpatleave		PL_patleave
-#define PL_Gperlio_debug_fd	PL_perlio_debug_fd
-#define PL_Gperlio_fd_refcnt	PL_perlio_fd_refcnt
-#define PL_Gperlio_fd_refcnt_size	PL_perlio_fd_refcnt_size
-#define PL_Gperlio_mutex	PL_perlio_mutex
-#define PL_Gppaddr		PL_ppaddr
-#define PL_Grevision		PL_revision
-#define PL_Grunops_dbg		PL_runops_dbg
-#define PL_Grunops_std		PL_runops_std
-#define PL_Gsh_path		PL_sh_path
-#define PL_Gsig_defaulting	PL_sig_defaulting
-#define PL_Gsig_handlers_initted	PL_sig_handlers_initted
-#define PL_Gsig_ignoring	PL_sig_ignoring
-#define PL_Gsig_trapped		PL_sig_trapped
-#define PL_Gsigfpe_saved	PL_sigfpe_saved
-#define PL_Gsubversion		PL_subversion
-#define PL_Gsv_placeholder	PL_sv_placeholder
-#define PL_Gthr_key		PL_thr_key
-#define PL_Gtimesbase		PL_timesbase
-#define PL_Guse_safe_putenv	PL_use_safe_putenv
-#define PL_Gversion		PL_version
-#define PL_Gveto_cleanup	PL_veto_cleanup
-#define PL_Gwatch_pvx		PL_watch_pvx
-
 #endif /* PERL_GLOBAL_STRUCT */
 
 /* ex: set ro: */


Property changes on: vendor/perl/dist/embedvar.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/README
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/Demo.pm
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/Demo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/Demo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/Demo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/Descriptions.pm
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/Descriptions.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/Descriptions.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/Descriptions.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/MyClass.pm
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/MyClass.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/MyClass.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/MyClass.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo2.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo2.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo2.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo2.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo3.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo3.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo3.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo3.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo4.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_call.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo_call.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo_call.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_call.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_chain.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo_chain.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo_chain.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_chain.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_cycle.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo_cycle.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo_cycle.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_cycle.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_hashdir.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo_hashdir.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo_hashdir.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_hashdir.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_phases.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo_phases.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo_phases.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_phases.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_range.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo_range.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo_range.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_range.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_rawdata.pl
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/demo/demo_rawdata.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/demo/demo_rawdata.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/demo/demo_rawdata.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/lib/Attribute/Handlers.pm
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/lib/Attribute/Handlers.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/lib/Attribute/Handlers.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/lib/Attribute/Handlers.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/t/constants.t
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/t/constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/t/constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/t/constants.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/t/data_convert.t
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/t/data_convert.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/t/data_convert.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/t/data_convert.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/t/linerep.t
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/t/linerep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/t/linerep.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/t/linerep.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Attribute-Handlers/t/multi.t
===================================================================
--- vendor/perl/dist/ext/Attribute-Handlers/t/multi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Attribute-Handlers/t/multi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Attribute-Handlers/t/multi.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/B/Concise.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Concise.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B/Concise.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 
 use Exporter (); # use #5
 
-our $VERSION   = "0.83";
+our $VERSION   = "0.95";
 our @ISA       = qw(Exporter);
 our @EXPORT_OK = qw( set_style set_style_standard add_callback
 		     concise_subref concise_cv concise_main
@@ -47,8 +47,7 @@
     "(?(#seq)?)#noise#arg(?([#targarg])?)"],
    "debug" =>
    ["#class (#addr)\n\top_next\t\t#nextaddr\n\top_sibling\t#sibaddr\n\t"
-    . "op_ppaddr\tPL_ppaddr[OP_#NAME]\n\top_type\t\t#typenum\n" .
-    ($] > 5.009 ? '' : "\top_seq\t\t#seqnum\n")
+    . "op_ppaddr\tPL_ppaddr[OP_#NAME]\n\top_type\t\t#typenum\n"
     . "\top_flags\t#flagval\n\top_private\t#privval\t#hintsval\n"
     . "(?(\top_first\t#firstaddr\n)?)(?(\top_last\t\t#lastaddr\n)?)"
     . "(?(\top_sv\t\t#svaddr\n)?)",
@@ -137,7 +136,7 @@
     my $codeobj = svref_2object($coderef);
 
     return concise_stashref(@_)
-	unless ref $codeobj eq 'B::CV';
+	unless ref($codeobj) =~ '^B::(?:CV|FM)\z';
     concise_cv_obj($order, $codeobj, $name);
 }
 
@@ -356,22 +355,30 @@
 	    }
 	    else {
 		# convert function names to subrefs
-		my $objref;
 		if (ref $objname) {
 		    print $walkHandle "B::Concise::compile($objname)\n"
 			if $banner;
-		    $objref = $objname;
+		    concise_subref($order, ($objname)x2);
+		    next;
 		} else {
 		    $objname = "main::" . $objname unless $objname =~ /::/;
-		    print $walkHandle "$objname:\n";
 		    no strict 'refs';
-		    unless (exists &$objname) {
+		    my $glob = \*$objname;
+		    unless (*$glob{CODE} || *$glob{FORMAT}) {
+			print $walkHandle "$objname:\n" if $banner;
 			print $walkHandle "err: unknown function ($objname)\n";
 			return;
 		    }
-		    $objref = \&$objname;
+		    if (my $objref = *$glob{CODE}) {
+			print $walkHandle "$objname:\n" if $banner;
+			concise_subref($order, $objref, $objname);
+		    }
+		    if (my $objref = *$glob{FORMAT}) {
+			print $walkHandle "$objname (FORMAT):\n"
+			    if $banner;
+			concise_subref($order, $objref, $objname);
+		    }
 		}
-		concise_subref($order, $objref, $objname);
 	    }
 	}
 	for my $pkg (@render_packs) {
@@ -502,15 +509,9 @@
 		push @$targ, $ar;
 		push @todo, [$op->pmreplstart, $ar];
 	    } elsif ($name =~ /^enter(loop|iter)$/) {
-		if ($] > 5.009) {
-		    $labels{${$op->nextop}} = "NEXT";
-		    $labels{${$op->lastop}} = "LAST";
-		    $labels{${$op->redoop}} = "REDO";
-		} else {
-		    $labels{$op->nextop->seq} = "NEXT";
-		    $labels{$op->lastop->seq} = "LAST";
-		    $labels{$op->redoop->seq} = "REDO";		
-		}
+		$labels{${$op->nextop}} = "NEXT";
+		$labels{${$op->lastop}} = "LAST";
+		$labels{${$op->redoop}} = "REDO";
 	    }
 	}
     }
@@ -595,12 +596,13 @@
 $priv{$_}{128} = "LVINTRO"
   for ("pos", "substr", "vec", "threadsv", "gvsv", "rv2sv", "rv2hv", "rv2gv",
        "rv2av", "rv2arylen", "aelem", "helem", "aslice", "hslice", "padsv",
-       "padav", "padhv", "enteriter");
+       "padav", "padhv", "enteriter", "entersub", "padrange", "pushmark");
 $priv{$_}{64} = "REFC" for ("leave", "leavesub", "leavesublv", "leavewrite");
 $priv{"aassign"}{64} = "COMMON";
-$priv{"aassign"}{32} = $] < 5.009 ? "PHASH" : "STATE";
+$priv{"aassign"}{32} = "STATE";
 $priv{"sassign"}{32} = "STATE";
 $priv{"sassign"}{64} = "BKWARD";
+$priv{"sassign"}{128}= "CV2GV";
 $priv{$_}{64} = "RTIME" for ("match", "subst", "substcont", "qr");
 @{$priv{"trans"}}{1,2,4,8,16,64} = ("<UTF", ">UTF", "IDENT", "SQUASH", "DEL",
 				    "COMPL", "GROWS");
@@ -611,12 +613,17 @@
 @{$priv{$_}}{32,64,96} = ("DREFAV", "DREFHV", "DREFSV")
   for (qw(rv2gv rv2sv padsv aelem helem));
 $priv{$_}{16} = "STATE" for ("padav", "padhv", "padsv");
-@{$priv{"entersub"}}{16,32,64} = ("DBG","TARG","NOMOD");
-@{$priv{$_}}{4,8,128} = ("INARGS","AMPER","NO()") for ("entersub", "rv2cv");
+@{$priv{rv2gv}}{4,16} = qw "NOINIT FAKE";
+@{$priv{"entersub"}}{1,4,16,32,64} = qw( INARGS TARG DBG DEREF );
+@{$priv{rv2cv}}{1,8,128} = ("CONST","AMPER","NO()");
 $priv{"gv"}{32} = "EARLYCV";
 $priv{"aelem"}{16} = $priv{"helem"}{16} = "LVDEFER";
 $priv{$_}{16} = "OURINTR" for ("gvsv", "rv2sv", "rv2av", "rv2hv", "r2gv",
 	"enteriter");
+$priv{$_}{8} = 'LVSUB' for qw(rv2av rv2gv rv2hv padav padhv aelem helem
+                        aslice hslice av2arylen keys rkeys substr pos vec);
+@{$priv{$_}}{32,64} = ('BOOL','BOOL?') for 'rv2hv', 'padhv';
+$priv{substr}{16} = 'REPL1ST';
 $priv{$_}{16} = "TARGMY"
   for (map(($_,"s$_"),"chop", "chomp"),
        map(($_,"i_$_"), "postinc", "postdec", "multiply", "divide", "modulo",
@@ -630,7 +637,8 @@
        "exec", "kill", "getppid", "getpgrp", "setpgrp", "getpriority",
        "setpriority", "time", "sleep");
 $priv{$_}{4} = "REVERSED" for ("enteriter", "iter");
-@{$priv{"const"}}{4,8,16,32,64,128} = ("SHORT","STRICT","ENTERED",'$[',"BARE","WARN");
+@{$priv{"const"}}{2,4,8,16,64,128} =
+    ("NOVER","SHORT","STRICT","ENTERED","BARE","FOLD");
 $priv{"flip"}{64} = $priv{"flop"}{64} = "LINENUM";
 $priv{"list"}{64} = "GUESSED";
 $priv{"delete"}{64} = "SLICE";
@@ -643,26 +651,25 @@
 $priv{"exit"}{128} = "VMS";
 $priv{$_}{2} = "FTACCESS"
   for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec");
-$priv{"entereval"}{2} = "HAS_HH";
-if ($] >= 5.009) {
-  # Stacked filetests are post 5.8.x
-  $priv{$_}{4} = "FTSTACKED"
-    for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec",
-         "ftis", "fteowned", "ftrowned", "ftzero", "ftsize", "ftmtime",
-	 "ftatime", "ftctime", "ftsock", "ftchr", "ftblk", "ftfile", "ftdir",
-	 "ftpipe", "ftlink", "ftsuid", "ftsgid", "ftsvtx", "fttty", "fttext",
-	 "ftbinary");
-  # Lexical $_ is post 5.8.x
-  $priv{$_}{2} = "GREPLEX"
-    for ("mapwhile", "mapstart", "grepwhile", "grepstart");
-}
+@{$priv{"entereval"}}{2,4,8,16} = qw "HAS_HH UNI BYTES COPHH";
+@{$priv{$_}}{4,8,16} = ("FTSTACKED","FTSTACKING","FTAFTERt")
+for ("ftrread", "ftrwrite", "ftrexec", "fteread", "ftewrite", "fteexec",
+     "ftis", "fteowned", "ftrowned", "ftzero", "ftsize", "ftmtime",
+     "ftatime", "ftctime", "ftsock", "ftchr", "ftblk", "ftfile", "ftdir",
+     "ftpipe", "ftlink", "ftsuid", "ftsgid", "ftsvtx", "fttty", "fttext",
+     "ftbinary");
+$priv{$_}{2} = "GREPLEX"
+for ("mapwhile", "mapstart", "grepwhile", "grepstart");
+$priv{$_}{128} = '+1' for qw "caller wantarray runcv";
+@{$priv{coreargs}}{1,2,64,128} = ('DREF1','DREF2','$MOD','MARK');
+$priv{$_}{128} = 'UTF' for qw "last redo next goto dump";
 
 our %hints; # used to display each COP's op_hints values
 
 # strict refs, subs, vars
- at hints{2,512,1024} = ('$', '&', '*');
-# integers, locale, bytes, arybase
- at hints{1,4,8,16,32} = ('i', 'l', 'b', '[');
+ at hints{2,512,1024,32,64,128} = ('$', '&', '*', 'x$', 'x&', 'x*');
+# integers, locale, bytes
+ at hints{1,4,8,16} = ('i', 'l', 'b');
 # block scope, localise %^H, $^OPEN (in), $^OPEN (out)
 @hints{256,131072,262144,524288} = ('{','%','<','>');
 # overload new integer, float, binary, string, re
@@ -725,13 +732,14 @@
 	}
 	if (class($sv) eq "SPECIAL") {
 	    $hr->{svval} .= ["Null", "sv_undef", "sv_yes", "sv_no"]->[$$sv];
-	} elsif ($preferpv && $sv->FLAGS & SVf_POK) {
+	} elsif ($preferpv
+	      && ($sv->FLAGS & SVf_POK || class($sv) eq "REGEXP")) {
 	    $hr->{svval} .= cstring($sv->PV);
 	} elsif ($sv->FLAGS & SVf_NOK) {
 	    $hr->{svval} .= $sv->NV;
 	} elsif ($sv->FLAGS & SVf_IOK) {
 	    $hr->{svval} .= $sv->int_value;
-	} elsif ($sv->FLAGS & SVf_POK) {
+	} elsif ($sv->FLAGS & SVf_POK || class($sv) eq "REGEXP") {
 	    $hr->{svval} .= cstring($sv->PV);
 	} elsif (class($sv) eq "HV") {
 	    $hr->{svval} .= 'HASH';
@@ -779,38 +787,44 @@
 	    $h{targarglife} = $h{targarg} = "$h{targ} $refs";
 	}
     } elsif ($h{targ}) {
-	my $padname = (($curcv->PADLIST->ARRAY)[0]->ARRAY)[$h{targ}];
-	if (defined $padname and class($padname) ne "SPECIAL") {
-	    $h{targarg}  = $padname->PVX;
-	    if ($padname->FLAGS & SVf_FAKE) {
-		if ($] < 5.009) {
-		    $h{targarglife} = "$h{targarg}:FAKE";
-		} else {
+	my $count = $h{name} eq 'padrange' ? ($op->private & 127) : 1;
+	my (@targarg, @targarglife);
+	for my $i (0..$count-1) {
+	    my ($targarg, $targarglife);
+	    my $padname = (($curcv->PADLIST->ARRAY)[0]->ARRAY)[$h{targ}+$i];
+	    if (defined $padname and class($padname) ne "SPECIAL") {
+		$targarg  = $padname->PVX;
+		if ($padname->FLAGS & SVf_FAKE) {
 		    # These changes relate to the jumbo closure fix.
 		    # See changes 19939 and 20005
 		    my $fake = '';
 		    $fake .= 'a'
-		   	if $padname->PARENT_FAKELEX_FLAGS & PAD_FAKELEX_ANON;
+			if $padname->PARENT_FAKELEX_FLAGS & PAD_FAKELEX_ANON;
 		    $fake .= 'm'
-		   	if $padname->PARENT_FAKELEX_FLAGS & PAD_FAKELEX_MULTI;
+			if $padname->PARENT_FAKELEX_FLAGS & PAD_FAKELEX_MULTI;
 		    $fake .= ':' . $padname->PARENT_PAD_INDEX
 			if $curcv->CvFLAGS & CVf_ANON;
-		    $h{targarglife} = "$h{targarg}:FAKE:$fake";
+		    $targarglife = "$targarg:FAKE:$fake";
 		}
+		else {
+		    my $intro = $padname->COP_SEQ_RANGE_LOW - $cop_seq_base;
+		    my $finish = int($padname->COP_SEQ_RANGE_HIGH) - $cop_seq_base;
+		    $finish = "end" if $finish == 999999999 - $cop_seq_base;
+		    $targarglife = "$targarg:$intro,$finish";
+		}
+	    } else {
+		$targarglife = $targarg = "t" . ($h{targ}+$i);
 	    }
-	    else {
-		my $intro = $padname->COP_SEQ_RANGE_LOW - $cop_seq_base;
-		my $finish = int($padname->COP_SEQ_RANGE_HIGH) - $cop_seq_base;
-		$finish = "end" if $finish == 999999999 - $cop_seq_base;
-		$h{targarglife} = "$h{targarg}:$intro,$finish";
-	    }
-	} else {
-	    $h{targarglife} = $h{targarg} = "t" . $h{targ};
+	    push @targarg,     $targarg;
+	    push @targarglife, $targarglife;
 	}
+	$h{targarg}     = join '; ', @targarg;
+	$h{targarglife} = join '; ', @targarglife;
     }
     $h{arg} = "";
     $h{svclass} = $h{svaddr} = $h{svval} = "";
     if ($h{class} eq "PMOP") {
+	my $extra = '';
 	my $precomp = $op->precomp;
 	if (defined $precomp) {
 	    $precomp = cstring($precomp); # Escape literal control sequences
@@ -818,25 +832,30 @@
 	} else {
 	    $precomp = "";
 	}
-	my $pmreplroot = $op->pmreplroot;
-	my $pmreplstart;
-	if (ref($pmreplroot) eq "B::GV") {
+	if ($op->name eq 'subst') {
+	    if (class($op->pmreplstart) ne "NULL") {
+		undef $lastnext;
+		$extra = " replstart->" . seq($op->pmreplstart);
+	    }
+	}
+	elsif ($op->name eq 'pushre') {
 	    # with C<@stash_array = split(/pat/, str);>,
 	    #  *stash_array is stored in /pat/'s pmreplroot.
-	    $h{arg} = "($precomp => \@" . $pmreplroot->NAME . ")";
-	} elsif (!ref($pmreplroot) and $pmreplroot) {
-	    # same as the last case, except the value is actually a
-	    # pad offset for where the GV is kept (this happens under
-	    # ithreads)
-	    my $gv = (($curcv->PADLIST->ARRAY)[1]->ARRAY)[$pmreplroot];
-	    $h{arg} = "($precomp => \@" . $gv->NAME . ")";
-	} elsif ($ {$op->pmreplstart}) {
-	    undef $lastnext;
-	    $pmreplstart = "replstart->" . seq($op->pmreplstart);
-	    $h{arg} = "(" . join(" ", $precomp, $pmreplstart) . ")";
-	} else {
-	    $h{arg} = "($precomp)";
+	    my $gv = $op->pmreplroot;
+	    if (!ref($gv)) {
+		# threaded: the value is actually a pad offset for where
+		# the GV is kept (op_pmtargetoff)
+		if ($gv) {
+		    $gv = (($curcv->PADLIST->ARRAY)[1]->ARRAY)[$gv]->NAME;
+		}
+	    }
+	    else {
+		# unthreaded: its a GV (if it exists)
+		$gv = (ref($gv) eq "B::GV") ? $gv->NAME : undef;
+	    }
+	    $extra = " => \@$gv" if $gv;
 	}
+	$h{arg} = "($precomp$extra)";
     } elsif ($h{class} eq "PVOP" and $h{name} !~ '^transr?\z') {
 	$h{arg} = '("' . $op->pv . '")';
 	$h{svval} = '"' . $op->pv . '"';
@@ -850,9 +869,7 @@
 	my $ln = $op->line;
 	$loc .= ":$ln";
 	my($stash, $cseq) = ($op->stash->NAME, $op->cop_seq - $cop_seq_base);
-	my $arybase = $op->arybase;
-	$arybase = $arybase ? ' $[=' . $arybase : "";
-	$h{arg} = "($label$stash $cseq $loc$arybase)";
+	$h{arg} = "($label$stash $cseq $loc)";
 	if ($show_src) {
 	    fill_srclines($pathnm) unless exists $srclines{$pathnm};
 	    # Would love to retain Jim's use of // but this code needs to be
@@ -883,13 +900,8 @@
     }
     $h{seq} = $h{hyphseq} = seq($op);
     $h{seq} = "" if $h{seq} eq "-";
-    if ($] > 5.009) {
-	$h{opt} = $op->opt;
-	$h{label} = $labels{$$op};
-    } else {
-	$h{seqnum} = $op->seq;
-	$h{label} = $labels{$op->seq};
-    }
+    $h{opt} = $op->opt;
+    $h{label} = $labels{$$op};
     $h{next} = $op->next;
     $h{next} = (class($h{next}) eq "NULL") ? "(end)" : seq($h{next});
     $h{nextaddr} = sprintf("%#x", $ {$op->next});
@@ -1122,7 +1134,8 @@
 =head1 OPTIONS
 
 Arguments that don't start with a hyphen are taken to be the names of
-subroutines to render; if no such functions are specified, the main
+subroutines or formats to render; if no
+such functions are specified, the main
 body of the program (outside any subroutines, and not including use'd
 or require'd files) is rendered.  Passing C<BEGIN>, C<UNITCHECK>,
 C<CHECK>, C<INIT>, or C<END> will cause all of the corresponding
@@ -1255,7 +1268,7 @@
 
 =item B<-littleendian>
 
-Print seqence numbers with the least significant digit first.  This is
+Print sequence numbers with the least significant digit first.  This is
 obviously mutually exclusive with bigendian.
 
 =back
@@ -1541,10 +1554,12 @@
     $ strict refs
     & strict subs
     * strict vars
+   x$ explicit use/no strict refs
+   x& explicit use/no strict subs
+   x* explicit use/no strict vars
     i integers
     l locale
     b bytes
-    [ arybase
     { block scope
     % localise %^H
     < open in


Property changes on: vendor/perl/dist/ext/B/B/Concise.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/B/B/Debug.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Debug.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B/Debug.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/B/Debug.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/B/Deparse.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Deparse.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B/Deparse.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/B/Deparse.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/B/Lint/Debug.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Lint/Debug.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B/Lint/Debug.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/B/Lint/Debug.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/B/B/Lint.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Lint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B/Lint.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/B/Lint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/B/Showlex.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Showlex.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B/Showlex.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/B/Showlex.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/B/Terse.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Terse.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B/Terse.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package B::Terse;
 
-our $VERSION = '1.05';
+our $VERSION = '1.06';
 
 use strict;
 use B qw(class @specialsv_name);
@@ -78,7 +78,15 @@
 
 =head1 DESCRIPTION
 
-This version of B::Terse is really just a wrapper that calls B::Concise
+This module prints the contents of the parse tree, but without as much
+information as L<B::Debug>.  For comparison, C<print "Hello, world.">
+produced 96 lines of output from B::Debug, but only 6 from B::Terse.
+
+This module is useful for people who are writing their own back end,
+or who are learning about the Perl internals.  It's not useful to the
+average programmer.
+
+This version of B::Terse is really just a wrapper that calls L<B::Concise>
 with the B<-terse> option. It is provided for compatibility with old scripts
 (and habits) but using B::Concise directly is now recommended instead.
 


Property changes on: vendor/perl/dist/ext/B/B/Terse.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/B/Xref.pm
===================================================================
--- vendor/perl/dist/ext/B/B/Xref.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B/Xref.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package B::Xref;
 
-our $VERSION = '1.02';
+our $VERSION = '1.05';
 
 =head1 NAME
 
@@ -48,6 +48,56 @@
 "&".  Subroutine definitions are indicated by "s" and format
 definitions by "f".
 
+For instance, here's part of the report from the I<pod2man> program that
+comes with Perl:
+
+  Subroutine clear_noremap
+    Package (lexical)
+      $ready_to_print   i1069, 1079
+    Package main
+      $&                1086
+      $.                1086
+      $0                1086
+      $1                1087
+      $2                1085, 1085
+      $3                1085, 1085
+      $ARGV             1086
+      %HTML_Escapes     1085, 1085
+
+This shows the variables used in the subroutine C<clear_noremap>.  The
+variable C<$ready_to_print> is a my() (lexical) variable,
+B<i>ntroduced (first declared with my()) on line 1069, and used on
+line 1079.  The variable C<$&> from the main package is used on 1086,
+and so on.
+
+A line number may be prefixed by a single letter:
+
+=over 4
+
+=item i
+
+Lexical variable introduced (declared with my()) for the first time.
+
+=item &
+
+Subroutine or method call.
+
+=item s
+
+Subroutine defined.
+
+=item r
+
+Format defined.
+
+=back
+
+The most useful option the cross referencer has is to save the report
+to a separate file.  For instance, to save the report on
+I<myperlprogram> to the file I<report>:
+
+  $ perl -MO=Xref,-oreport myperlprogram
+
 =head1 OPTIONS
 
 Option words are separated by commas (not whitespace) and follow the
@@ -142,7 +192,7 @@
     my $padlist = shift;
     my ($namelistav, $vallistav, @namelist, $ix);
     @pad = ();
-    return if class($padlist) eq "SPECIAL";
+    return if class($padlist) =~ '^(?:SPECIAL|NULL)\z';
     ($namelistav,$vallistav) = $padlist->ARRAY;
     @namelist = $namelistav->ARRAY;
     for ($ix = 1; $ix < @namelist; $ix++) {
@@ -225,6 +275,15 @@
     $top = UNKNOWN;
 }
 
+sub pp_padrange {
+    my $op = shift;
+    my $count = $op->private & 127;
+    for my $i (0..$count-1) {
+	$top = $pad[$op->targ + $i];
+	process($top, $op->private & OPpLVAL_INTRO ? "intro" : "used");
+    }
+}
+
 sub pp_padsv {
     my $op = shift;
     $top = $pad[$op->targ];


Property changes on: vendor/perl/dist/ext/B/B/Xref.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/B.pm
===================================================================
--- vendor/perl/dist/ext/B/B.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,7 +15,7 @@
 # walkoptree comes from B.xs
 
 BEGIN {
-    $B::VERSION = '1.29';
+    $B::VERSION = '1.42_01';
     @B::EXPORT_OK = ();
 
     # Our BOOT code needs $VERSION set, and will append to @EXPORT_OK.
@@ -35,8 +35,7 @@
 			parents comppadlist sv_undef compile_stats timing_info
 			begin_av init_av check_av end_av regex_padav dowarn
 			defstash curstash warnhook diehook inc_gv @optype
-			@specialsv_name
-		      ), $] > 5.009 && 'unitcheck_av');
+			@specialsv_name unitcheck_av));
 
 @B::SV::ISA = 'B::OBJECT';
 @B::NULL::ISA = 'B::SV';
@@ -49,10 +48,8 @@
 @B::PVNV::ISA = qw(B::PVIV B::NV);
 @B::PVMG::ISA = 'B::PVNV';
 @B::REGEXP::ISA = 'B::PVMG' if $] >= 5.011;
-# Change in the inheritance hierarchy post 5.9.0
- at B::PVLV::ISA = $] > 5.009 ? 'B::GV' : 'B::PVMG';
-# BM is eliminated post 5.9.5, but effectively is a specialisation of GV now.
- at B::BM::ISA = $] > 5.009005 ? 'B::GV' : 'B::PVMG';
+ at B::PVLV::ISA = 'B::GV';
+ at B::BM::ISA = 'B::GV';
 @B::AV::ISA = 'B::PVMG';
 @B::GV::ISA = 'B::PVMG';
 @B::HV::ISA = 'B::PVMG';
@@ -253,7 +250,8 @@
     my $fullname;
     no strict 'refs';
     $prefix = '' unless defined $prefix;
-    while (($sym, $ref) = each %$symref) {
+    foreach my $sym ( sort keys %$symref ) {
+        $ref= $symref->{$sym};
         $fullname = "*main::".$prefix.$sym;
 	if ($sym =~ /::$/) {
 	    $sym = $prefix . $sym;
@@ -347,11 +345,11 @@
 =head1 DESCRIPTION
 
 The C<B> module supplies classes which allow a Perl program to delve
-into its own innards. It is the module used to implement the
-"backends" of the Perl compiler. Usage of the compiler does not
+into its own innards.  It is the module used to implement the
+"backends" of the Perl compiler.  Usage of the compiler does not
 require knowledge of this module: see the F<O> module for the
-user-visible part. The C<B> module is of use to those who want to
-write new compiler backends. This documentation assumes that the
+user-visible part.  The C<B> module is of use to those who want to
+write new compiler backends.  This documentation assumes that the
 reader knows a fair amount about perl's internals including such
 things as SVs, OPs and the internal symbol table and syntax tree
 of a program.
@@ -394,17 +392,19 @@
 
 Takes a reference to any Perl value, and turns the referred-to value
 into an object in the appropriate B::OP-derived or B::SV-derived
-class. Apart from functions such as C<main_root>, this is the primary
+class.  Apart from functions such as C<main_root>, this is the primary
 way to get an initial "handle" on an internal perl data structure
 which can then be followed with the other access methods.
 
 The returned object will only be valid as long as the underlying OPs
-and SVs continue to exist. Do not attempt to use the object after the
+and SVs continue to exist.  Do not attempt to use the object after the
 underlying structures are freed.
 
 =item amagic_generation
 
 Returns the SV object corresponding to the C variable C<amagic_generation>.
+As of Perl 5.18, this is just an alias to C<PL_na>, so its value is
+meaningless.
 
 =item init_av
 
@@ -458,10 +458,10 @@
 
   # Walk CGI's symbol table calling print_subs on each symbol.
   # Recurse only into CGI::Util::
-  walksymtable(\%CGI::, 'print_subs', sub { $_[0] eq 'CGI::Util::' },
-               'CGI::');
+  walksymtable(\%CGI::, 'print_subs',
+               sub { $_[0] eq 'CGI::Util::' }, 'CGI::');
 
-print_subs() is a B::GV method you have declared. Also see L<"B::GV
+print_subs() is a B::GV method you have declared.  Also see L<"B::GV
 Methods">, below.
 
 =back
@@ -486,7 +486,7 @@
 =item walkoptree(OP, METHOD)
 
 Does a tree-walk of the syntax tree based at OP and calls METHOD on
-each op it visits. Each node is visited before its children. If
+each op it visits.  Each node is visited before its children.  If
 C<walkoptree_debug> (see below) has been called to turn debugging on then
 the method C<walkoptree_debug> is called on each op before METHOD is
 called.
@@ -493,8 +493,8 @@
 
 =item walkoptree_debug(DEBUG)
 
-Returns the current debugging flag for C<walkoptree>. If the optional
-DEBUG argument is non-zero, it sets the debugging flag to that. See
+Returns the current debugging flag for C<walkoptree>.  If the optional
+DEBUG argument is non-zero, it sets the debugging flag to that.  See
 the description of C<walkoptree> above for what the debugging flag
 does.
 
@@ -519,7 +519,7 @@
 
 =item minus_c
 
-Does the equivalent of the C<-c> command-line option. Obviously, this
+Does the equivalent of the C<-c> command-line option.  Obviously, this
 is only useful in a BEGIN block or else the flag is set too late.
 
 =item cstring(STR)
@@ -535,7 +535,7 @@
 =item class(OBJ)
 
 Returns the class of an object without the part of the classname
-preceding the first C<"::">. This is used to turn C<"B::UNOP"> into
+preceding the first C<"::">.  This is used to turn C<"B::UNOP"> into
 C<"UNOP"> for example.
 
 =item threadsv_names
@@ -572,7 +572,7 @@
 The C structures used by Perl's internals to hold SV and OP
 information (PVIV, AV, HV, ..., OP, SVOP, UNOP, ...) are modelled on a
 class hierarchy and the C<B> module gives access to them via a true
-object hierarchy. Structure fields which point to other objects
+object hierarchy.  Structure fields which point to other objects
 (whether types of SV or types of OP) are represented by the C<B>
 module as Perl objects of the appropriate class.
 
@@ -580,18 +580,18 @@
 these structures.
 
 Note that all access is read-only.  You cannot modify the internals by
-using this module. Also, note that the B::OP and B::SV objects created
+using this module.  Also, note that the B::OP and B::SV objects created
 by this module are only valid for as long as the underlying objects
 exist; their creation doesn't increase the reference counts of the
-underlying objects. Trying to access the fields of a freed object will
+underlying objects.  Trying to access the fields of a freed object will
 give incomprehensible results, or worse.
 
 =head2 SV-RELATED CLASSES
 
 B::IV, B::NV, B::RV, B::PV, B::PVIV, B::PVNV, B::PVMG, B::BM (5.9.5 and
-earlier), B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO. These classes
+earlier), B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO.  These classes
 correspond in the obvious way to the underlying C structures of similar names.
-The inheritance hierarchy mimics the underlying C "inheritance". For the
+The inheritance hierarchy mimics the underlying C "inheritance".  For the
 5.10.x branch, (I<ie> 5.10.0, 5.10.1 I<etc>) this is:
 
                            B::SV
@@ -661,8 +661,8 @@
 
 Access methods correspond to the underlying C macros for field access,
 usually with the leading "class indication" prefix removed (Sv, Av,
-Hv, ...). The leading prefix is only left in cases where its removal
-would cause a clash in method name. For example, C<GvREFCNT> stays
+Hv, ...).  The leading prefix is only left in cases where its removal
+would cause a clash in method name.  For example, C<GvREFCNT> stays
 as-is since its abbreviation would clash with the "superclass" method
 C<REFCNT> (corresponding to the C function C<SvREFCNT>).
 
@@ -677,8 +677,8 @@
 =item object_2svref
 
 Returns a reference to the regular scalar corresponding to this
-B::SV object. In other words, this method is the inverse operation
-to the svref_2object() subroutine. This scalar and other data it points
+B::SV object.  In other words, this method is the inverse operation
+to the svref_2object() subroutine.  This scalar and other data it points
 at should be considered read-only: modifying them is neither safe nor
 guaranteed to have a sensible effect.
 
@@ -691,8 +691,8 @@
 =item IV
 
 Returns the value of the IV, I<interpreted as
-a signed integer>. This will be misleading
-if C<FLAGS & SVf_IVisUV>. Perhaps you want the
+a signed integer>.  This will be misleading
+if C<FLAGS & SVf_IVisUV>.  Perhaps you want the
 C<int_value> method instead?
 
 =item IVX
@@ -736,7 +736,7 @@
 
 =item PV
 
-This method is the one you usually want. It constructs a
+This method is the one you usually want.  It constructs a
 string using the length and offset information in the struct:
 for ordinary scalars it will return the string that you'd see
 from Perl, even if it contains null characters.
@@ -748,15 +748,25 @@
 
 =item PVX
 
-This method is less often useful. It assumes that the string
+This method is less often useful.  It assumes that the string
 stored in the struct is null-terminated, and disregards the
 length information.
 
 It is the appropriate method to use if you need to get the name
-of a lexical variable from a padname array. Lexical variable names
+of a lexical variable from a padname array.  Lexical variable names
 are always stored with a null terminator, and the length field
-(SvCUR) is overloaded for other purposes and can't be relied on here.
+(CUR) is overloaded for other purposes and can't be relied on here.
 
+=item CUR
+
+This method returns the internal length field, which consists of the number
+of internal bytes, not necessarily the number of logical characters.
+
+=item LEN
+
+This method returns the number of bytes allocated (via malloc) for storing
+the string.  This is 0 if the scalar does not "own" the string.
+
 =back
 
 =head2 B::PVMG Methods
@@ -883,6 +893,15 @@
 
 =head2 B::IO Methods
 
+B::IO objects derive from IO objects and you will get more information from
+the IO object itself.
+
+For example:
+
+  $gvio = B::svref_2object(\*main::stdin)->IO;
+  $IO = $gvio->object_2svref();
+  $fd = $IO->fileno();
+
 =over 4
 
 =item LINES
@@ -909,14 +928,29 @@
 
 =item IoTYPE
 
+A character symbolizing the type of IO Handle.
+
+  -     STDIN/OUT
+  I     STDIN/OUT/ERR
+  <     read-only
+  >     write-only
+  a     append
+  +     read and write
+  s     socket
+  |     pipe
+  I     IMPLICIT
+  #     NUMERIC
+  space closed handle
+  \0    closed internal handle
+
 =item IoFLAGS
 
 =item IsSTD
 
-Takes one arguments ( 'stdin' | 'stdout' | 'stderr' ) and returns true
+Takes one argument ( 'stdin' | 'stdout' | 'stderr' ) and returns true
 if the IoIFP of the object is equal to the handle whose name was
-passed as argument ( i.e. $io->IsSTD('stderr') is true if
-IoIFP($io) == PerlIO_stdin() ).
+passed as argument; i.e., $io->IsSTD('stderr') is true if
+IoIFP($io) == PerlIO_stderr().
 
 =back
 
@@ -942,7 +976,8 @@
 
 =item AvFLAGS
 
-This method returns the AV specific flags. In Perl 5.9 these are now stored
+This method returns the AV specific
+flags.  In Perl 5.9 these are now stored
 in with the main SV flags, so this method is no longer present.
 
 =back
@@ -979,6 +1014,10 @@
 
 =item const_sv
 
+=item NAME_HEK
+
+Returns the name of a lexical sub, otherwise C<undef>.
+
 =back
 
 =head2 B::HV Methods
@@ -1010,7 +1049,7 @@
 C<B::SVOP>, C<B::PADOP>, C<B::PVOP>, C<B::LOOP>, C<B::COP>.
 
 These classes correspond in the obvious way to the underlying C
-structures of similar names. The inheritance hierarchy mimics the
+structures of similar names.  The inheritance hierarchy mimics the
 underlying C "inheritance":
 
                                  B::OP
@@ -1126,6 +1165,10 @@
 
 Only when perl was compiled with ithreads.
 
+=item code_list
+
+Since perl 5.17.1
+
 =back
 
 =head2 B::SVOP METHOD
@@ -1176,6 +1219,8 @@
 
 =item stashpv
 
+=item stashoff (threaded only)
+
 =item file
 
 =item cop_seq
@@ -1195,6 +1240,29 @@
 =back
 
 
+=head2 $B::overlay
+
+Although the optree is read-only, there is an overlay facility that allows
+you to override what values the various B::*OP methods return for a
+particular op. C<$B::overlay> should be set to reference a two-deep hash:
+indexed by OP address, then method name. Whenever a an op method is
+called, the value in the hash is returned if it exists. This facility is
+used by B::Deparse to "undo" some optimisations. For example:
+
+
+    local $B::overlay = {};
+    ...
+    if ($op->name eq "foo") {
+        $B::overlay->{$$op} = {
+                name => 'bar',
+                next => $op->next->next,
+        };
+    }
+    ...
+    $op->name # returns "bar"
+    $op->next # returns the next op but one
+
+
 =head1 AUTHOR
 
 Malcolm Beattie, C<mbeattie at sable.ox.ac.uk>


Property changes on: vendor/perl/dist/ext/B/B.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/B.xs
===================================================================
--- vendor/perl/dist/ext/B/B.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/B.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,9 +21,7 @@
 
 static const char* const svclassnames[] = {
     "B::NULL",
-#if PERL_VERSION >= 9
     "B::BIND",
-#endif
     "B::IV",
     "B::NV",
 #if PERL_VERSION <= 10
@@ -33,22 +31,14 @@
     "B::PVIV",
     "B::PVNV",
     "B::PVMG",
-#if PERL_VERSION <= 8
-    "B::BM",
-#endif
 #if PERL_VERSION >= 11
     "B::REGEXP",
 #endif
-#if PERL_VERSION >= 9
     "B::GV",
-#endif
     "B::PVLV",
     "B::AV",
     "B::HV",
     "B::CV",
-#if PERL_VERSION <= 8
-    "B::GV",
-#endif
     "B::FM",
     "B::IO",
 };
@@ -125,9 +115,11 @@
 	return ((o->op_private & OPpASSIGN_BACKWARDS) ? OPc_UNOP : OPc_BINOP);
 
     if (o->op_type == OP_AELEMFAST) {
+#if PERL_VERSION <= 14
 	if (o->op_flags & OPf_SPECIAL)
 	    return OPc_BASEOP;
 	else
+#endif
 #ifdef USE_ITHREADS
 	    return OPc_PADOP;
 #else
@@ -181,8 +173,7 @@
 	return (!custom &&
 		   (o->op_private & (OPpTRANS_TO_UTF|OPpTRANS_FROM_UTF))
 	       )
-#if  defined(USE_ITHREADS) \
-  && (PERL_VERSION > 8 || (PERL_VERSION == 8 && PERL_SUBVERSION >= 9))
+#if  defined(USE_ITHREADS)
 		? OPc_PADOP : OPc_PVOP;
 #else
 		? OPc_SVOP : OPc_PVOP;
@@ -250,7 +241,39 @@
     return opsv;
 }
 
+
 static SV *
+get_overlay_object(pTHX_ const OP *o, const char * const name, U32 namelen)
+{
+    HE *he;
+    SV **svp;
+    SV *key;
+    SV *sv =get_sv("B::overlay", 0);
+    if (!sv || !SvROK(sv))
+	return NULL;
+    sv = SvRV(sv);
+    if (SvTYPE(sv) != SVt_PVHV)
+	return NULL;
+    key = newSViv(PTR2IV(o));
+    he = hv_fetch_ent((HV*)sv, key, 0, 0);
+    SvREFCNT_dec(key);
+    if (!he)
+	return NULL;
+    sv = HeVAL(he);
+    if (!sv || !SvROK(sv))
+	return NULL;
+    sv = SvRV(sv);
+    if (SvTYPE(sv) != SVt_PVHV)
+	return NULL;
+    svp = hv_fetch((HV*)sv, name, namelen, 0);
+    if (!svp)
+	return NULL;
+    sv = *svp;
+    return sv;
+}
+
+
+static SV *
 make_sv_object(pTHX_ SV *sv)
 {
     SV *const arg = sv_newmortal();
@@ -272,7 +295,6 @@
     return arg;
 }
 
-#if PERL_VERSION >= 9
 static SV *
 make_temp_object(pTHX_ SV *temp)
 {
@@ -337,7 +359,6 @@
 	return make_sv_object(aTHX_ NULL);
     }
 }
-#endif
 
 static SV *
 make_mg_object(pTHX_ MAGIC *mg)
@@ -401,11 +422,7 @@
 		sv_catpvs(sstr, "\\$");
 	    else if (perlstyle && *s == '@')
 		sv_catpvs(sstr, "\\@");
-#ifdef EBCDIC
 	    else if (isPRINT(*s))
-#else
-	    else if (*s >= ' ' && *s < 127)
-#endif /* EBCDIC */
 		sv_catpvn(sstr, s, 1);
 	    else if (*s == '\n')
 		sv_catpvs(sstr, "\\n");
@@ -446,11 +463,7 @@
 	sv_catpvs(sstr, "\\'");
     else if (c == '\\')
 	sv_catpvs(sstr, "\\\\");
-#ifdef EBCDIC
     else if (isPRINT(c))
-#else
-    else if (c >= ' ' && c < 127)
-#endif /* EBCDIC */
 	sv_catpvn(sstr, s, 1);
     else if (c == '\n')
 	sv_catpvs(sstr, "\\n");
@@ -472,15 +485,8 @@
     return sstr;
 }
 
-#if PERL_VERSION >= 9
-#  define PMOP_pmreplstart(o)	o->op_pmstashstartu.op_pmreplstart
-#  define PMOP_pmreplroot(o)	o->op_pmreplrootu.op_pmreplroot
-#else
-#  define PMOP_pmreplstart(o)	o->op_pmreplstart
-#  define PMOP_pmreplroot(o)	o->op_pmreplroot
-#  define PMOP_pmpermflags(o)	o->op_pmpermflags
-#  define PMOP_pmdynflags(o)      o->op_pmdynflags
-#endif
+#define PMOP_pmreplstart(o)	o->op_pmstashstartu.op_pmreplstart
+#define PMOP_pmreplroot(o)	o->op_pmreplrootu.op_pmreplroot
 
 static SV *
 walkoptree(pTHX_ OP *o, const char *method, SV *ref)
@@ -533,15 +539,9 @@
 oplist(pTHX_ OP *o, SV **SP)
 {
     for(; o; o = o->op_next) {
-#if PERL_VERSION >= 9
 	if (o->op_opt == 0)
 	    break;
 	o->op_opt = 0;
-#else
-	if (o->op_seq == 0)
-	    break;
-	o->op_seq = 0;
-#endif
 	XPUSHs(make_op_object(aTHX_ o));
         switch (o->op_type) {
 	case OP_SUBST:
@@ -602,15 +602,16 @@
 
 typedef MAGIC	*B__MAGIC;
 typedef HE      *B__HE;
-#if PERL_VERSION >= 9
 typedef struct refcounted_he	*B__RHE;
+#ifdef PadlistARRAY
+typedef PADLIST	*B__PADLIST;
 #endif
 
 #ifdef MULTIPLICITY
-#  define ASSIGN_COMMON_ALIAS(var) \
-    STMT_START { XSANY.any_i32 = offsetof(struct interpreter, var); } STMT_END
+#  define ASSIGN_COMMON_ALIAS(prefix, var) \
+    STMT_START { XSANY.any_i32 = offsetof(struct interpreter, prefix##var); } STMT_END
 #else
-#  define ASSIGN_COMMON_ALIAS(var) \
+#  define ASSIGN_COMMON_ALIAS(prefix, var) \
     STMT_START { XSANY.any_ptr = (void *)&PL_##var; } STMT_END
 #endif
 
@@ -633,6 +634,92 @@
     XSRETURN(1);
 }
 
+
+
+#define SVp            0x00000
+#define U32p           0x10000
+#define line_tp        0x20000
+#define OPp            0x30000
+#define PADOFFSETp     0x40000
+#define U8p            0x50000
+#define IVp            0x60000
+#define char_pp        0x70000
+
+/* table that drives most of the B::*OP methods */
+
+struct OP_methods {
+    const char *name;
+    STRLEN namelen;
+    I32    type;
+    size_t offset; /* if -1, access is handled on a case-by-case basis */
+} op_methods[] = {
+    STR_WITH_LEN("next"),    OPp,    offsetof(struct op, op_next),       /* 0*/
+    STR_WITH_LEN("sibling"), OPp,    offsetof(struct op, op_sibling),    /* 1*/
+    STR_WITH_LEN("targ"),    PADOFFSETp, offsetof(struct op, op_targ),   /* 2*/
+    STR_WITH_LEN("flags"),   U8p,    offsetof(struct op, op_flags),      /* 3*/
+    STR_WITH_LEN("private"), U8p,    offsetof(struct op, op_private),    /* 4*/
+    STR_WITH_LEN("first"),   OPp,    offsetof(struct unop, op_first),     /* 5*/
+    STR_WITH_LEN("last"),    OPp,    offsetof(struct binop, op_last),    /* 6*/
+    STR_WITH_LEN("other"),   OPp,    offsetof(struct logop, op_other),   /* 7*/
+    STR_WITH_LEN("pmreplstart"), 0, -1,                                  /* 8*/
+    STR_WITH_LEN("redoop"),  OPp,    offsetof(struct loop, op_redoop),   /* 9*/
+    STR_WITH_LEN("nextop"),  OPp,    offsetof(struct loop, op_nextop),   /*10*/
+    STR_WITH_LEN("lastop"),  OPp,    offsetof(struct loop, op_lastop),   /*11*/
+    STR_WITH_LEN("pmflags"), U32p,   offsetof(struct pmop, op_pmflags),  /*12*/
+#if PERL_VERSION >= 17
+    STR_WITH_LEN("code_list"),OPp,   offsetof(struct pmop, op_code_list),/*13*/
+#else
+    STR_WITH_LEN("code_list"),0,     -1,
+#endif
+    STR_WITH_LEN("sv"),      SVp,     offsetof(struct svop, op_sv),      /*14*/
+    STR_WITH_LEN("gv"),      SVp,     offsetof(struct svop, op_sv),      /*15*/
+    STR_WITH_LEN("padix"),   PADOFFSETp,offsetof(struct padop, op_padix),/*16*/
+    STR_WITH_LEN("cop_seq"), U32p,    offsetof(struct cop, cop_seq),     /*17*/
+    STR_WITH_LEN("line"),    line_tp, offsetof(struct cop, cop_line),    /*18*/
+    STR_WITH_LEN("hints"),   U32p,    offsetof(struct cop, cop_hints),   /*19*/
+#ifdef USE_ITHREADS
+    STR_WITH_LEN("pmoffset"),IVp,     offsetof(struct pmop, op_pmoffset),/*20*/
+    STR_WITH_LEN("filegv"),  0,       -1,                                /*21*/
+    STR_WITH_LEN("file"),    char_pp, offsetof(struct cop, cop_file),    /*22*/
+    STR_WITH_LEN("stash"),   0,       -1,                                /*23*/
+#  if PERL_VERSION < 17
+    STR_WITH_LEN("stashpv"), char_pp, offsetof(struct cop, cop_stashpv), /*24*/
+    STR_WITH_LEN("stashoff"),0,       -1,                                /*25*/
+#  else
+    STR_WITH_LEN("stashpv"), 0,       -1,                                /*24*/
+    STR_WITH_LEN("stashoff"),PADOFFSETp,offsetof(struct cop, cop_stashoff),/*25*/
+#  endif
+#else
+    STR_WITH_LEN("pmoffset"),0,       -1,                                /*20*/
+    STR_WITH_LEN("filegv"),  SVp,     offsetof(struct cop, cop_filegv),  /*21*/
+    STR_WITH_LEN("file"),    0,       -1,                                /*22*/
+    STR_WITH_LEN("stash"),   SVp,     offsetof(struct cop, cop_stash),   /*23*/
+    STR_WITH_LEN("stashpv"), 0,       -1,                                /*24*/
+    STR_WITH_LEN("stashoff"),0,       -1,                                /*25*/
+#endif
+    STR_WITH_LEN("size"),    0,       -1,                                /*26*/
+    STR_WITH_LEN("name"),    0,       -1,                                /*27*/
+    STR_WITH_LEN("desc"),    0,       -1,                                /*28*/
+    STR_WITH_LEN("ppaddr"),  0,       -1,                                /*29*/
+    STR_WITH_LEN("type"),    0,       -1,                                /*30*/
+    STR_WITH_LEN("opt"),     0,       -1,                                /*31*/
+    STR_WITH_LEN("spare"),   0,       -1,                                /*32*/
+    STR_WITH_LEN("children"),0,       -1,                                /*33*/
+    STR_WITH_LEN("pmreplroot"), 0,    -1,                                /*34*/
+    STR_WITH_LEN("pmstashpv"), 0,     -1,                                /*35*/
+    STR_WITH_LEN("pmstash"), 0,       -1,                                /*36*/
+    STR_WITH_LEN("precomp"), 0,       -1,                                /*37*/
+    STR_WITH_LEN("reflags"), 0,       -1,                                /*38*/
+    STR_WITH_LEN("sv"),      0,       -1,                                /*39*/
+    STR_WITH_LEN("gv"),      0,       -1,                                /*40*/
+    STR_WITH_LEN("pv"),      0,       -1,                                /*41*/
+    STR_WITH_LEN("label"),   0,       -1,                                /*42*/
+    STR_WITH_LEN("arybase"), 0,       -1,                                /*43*/
+    STR_WITH_LEN("warnings"),0,       -1,                                /*44*/
+    STR_WITH_LEN("io"),      0,       -1,                                /*45*/
+    STR_WITH_LEN("hints_hash"),0,     -1,                                /*46*/
+};
+
 #include "const-c.inc"
 
 MODULE = B	PACKAGE = B
@@ -655,37 +742,46 @@
     specialsv_list[6] = (SV *) pWARN_STD;
     
     cv = newXS("B::init_av", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Iinitav);
+    ASSIGN_COMMON_ALIAS(I, initav);
     cv = newXS("B::check_av", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Icheckav_save);
-#if PERL_VERSION >= 9
+    ASSIGN_COMMON_ALIAS(I, checkav_save);
     cv = newXS("B::unitcheck_av", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Iunitcheckav_save);
-#endif
+    ASSIGN_COMMON_ALIAS(I, unitcheckav_save);
     cv = newXS("B::begin_av", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Ibeginav_save);
+    ASSIGN_COMMON_ALIAS(I, beginav_save);
     cv = newXS("B::end_av", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Iendav);
+    ASSIGN_COMMON_ALIAS(I, endav);
     cv = newXS("B::main_cv", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Imain_cv);
+    ASSIGN_COMMON_ALIAS(I, main_cv);
     cv = newXS("B::inc_gv", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Iincgv);
+    ASSIGN_COMMON_ALIAS(I, incgv);
     cv = newXS("B::defstash", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Idefstash);
+    ASSIGN_COMMON_ALIAS(I, defstash);
     cv = newXS("B::curstash", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Icurstash);
+    ASSIGN_COMMON_ALIAS(I, curstash);
+#ifdef PL_formfeed
     cv = newXS("B::formfeed", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Iformfeed);
+    ASSIGN_COMMON_ALIAS(I, formfeed);
+#endif
 #ifdef USE_ITHREADS
     cv = newXS("B::regex_padav", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Iregex_padav);
+    ASSIGN_COMMON_ALIAS(I, regex_padav);
 #endif
     cv = newXS("B::warnhook", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Iwarnhook);
+    ASSIGN_COMMON_ALIAS(I, warnhook);
     cv = newXS("B::diehook", intrpvar_sv_common, file);
-    ASSIGN_COMMON_ALIAS(Idiehook);
+    ASSIGN_COMMON_ALIAS(I, diehook);
 }
 
+#ifndef PL_formfeed
+
+void
+formfeed()
+    PPCODE:
+	PUSHs(make_sv_object(aTHX_ GvSV(gv_fetchpvs("\f", GV_ADD, SVt_PV))));
+
+#endif
+
 long 
 amagic_generation()
     CODE:
@@ -695,9 +791,19 @@
 
 void
 comppadlist()
+    PREINIT:
+	PADLIST *padlist = CvPADLIST(PL_main_cv ? PL_main_cv : PL_compcv);
     PPCODE:
-	PUSHs(make_sv_object(aTHX_ (SV *)(PL_main_cv ? CvPADLIST(PL_main_cv)
-						     : CvPADLIST(PL_compcv))));
+#ifdef PadlistARRAY
+	{
+	    SV * const rv = sv_newmortal();
+	    sv_setiv(newSVrv(rv, padlist ? "B::PADLIST" : "B::NULL"),
+		     PTR2IV(padlist));
+	    PUSHs(rv);
+	}
+#else
+	PUSHs(make_sv_object(aTHX_ (SV *)padlist));
+#endif
 
 void
 sv_undef()
@@ -782,10 +888,8 @@
 	int	opnum
     CODE:
 	ST(0) = sv_newmortal();
-	if (opnum >= 0 && opnum < PL_maxo) {
-	    sv_setpvs(ST(0), "pp_");
-	    sv_catpv(ST(0), PL_op_name[opnum]);
-	}
+	if (opnum >= 0 && opnum < PL_maxo)
+	    Perl_sv_setpvf(aTHX_ ST(0), "pp_%s", PL_op_name[opnum]);
 
 void
 hash(sv)
@@ -824,82 +928,12 @@
 void
 threadsv_names()
     PPCODE:
-#if PERL_VERSION <= 8
-# ifdef USE_5005THREADS
-	int i;
-	const STRLEN len = strlen(PL_threadsv_names);
 
-	EXTEND(sp, len);
-	for (i = 0; i < len; i++)
-	    PUSHs(newSVpvn_flags(&PL_threadsv_names[i], 1, SVs_TEMP));
-# endif
-#endif
 
-#define SVp		0x00000
-#define U32p		0x10000
-#define line_tp		0x20000
-#define OPp		0x30000
-#define PADOFFSETp	0x40000
-#define U8p		0x50000
-#define IVp		0x60000
-#define char_pp		0x70000
 
-#define OP_next_ix		OPp | offsetof(struct op, op_next)
-#define OP_sibling_ix		OPp | offsetof(struct op, op_sibling)
-#define UNOP_first_ix		OPp | offsetof(struct unop, op_first)
-#define BINOP_last_ix		OPp | offsetof(struct binop, op_last)
-#define LOGOP_other_ix		OPp | offsetof(struct logop, op_other)
-#if PERL_VERSION >= 9
-#  define PMOP_pmreplstart_ix \
-		OPp | offsetof(struct pmop, op_pmstashstartu.op_pmreplstart)
-#else
-#  define PMOP_pmreplstart_ix	OPp | offsetof(struct pmop, op_pmreplstart)
-#endif
-#define LOOP_redoop_ix		OPp | offsetof(struct loop, op_redoop)
-#define LOOP_nextop_ix		OPp | offsetof(struct loop, op_nextop)
-#define LOOP_lastop_ix		OPp | offsetof(struct loop, op_lastop)
 
-#define OP_targ_ix		PADOFFSETp | offsetof(struct op, op_targ)
-#define OP_flags_ix		U8p | offsetof(struct op, op_flags)
-#define OP_private_ix		U8p | offsetof(struct op, op_private)
-
-#define PMOP_pmflags_ix		U32p | offsetof(struct pmop, op_pmflags)
-
-#ifdef USE_ITHREADS
-#define PMOP_pmoffset_ix	IVp | offsetof(struct pmop, op_pmoffset)
-#endif
-
-#  Yes, B::SV::sv and B::SV::gv really do end up generating identical code.
-#define SVOP_sv_ix		SVp | offsetof(struct svop, op_sv)
-#define SVOP_gv_ix		SVp | offsetof(struct svop, op_sv)
-
-#define PADOP_padix_ix		PADOFFSETp | offsetof(struct padop, op_padix)
-
-#define COP_seq_ix		U32p | offsetof(struct cop, cop_seq)
-#define COP_line_ix		line_tp | offsetof(struct cop, cop_line)
-#if PERL_VERSION >= 9
-#define COP_hints_ix		U32p | offsetof(struct cop, cop_hints)
-#else
-#define COP_hints_ix		U8p | offsetof(struct cop, op_private)
-#endif
-
-#ifdef USE_ITHREADS
-#define COP_stashpv_ix		char_pp | offsetof(struct cop, cop_stashpv)
-#define COP_file_ix		char_pp | offsetof(struct cop, cop_file)
-#else
-#define COP_stash_ix		SVp | offsetof(struct cop, cop_stash)
-#define COP_filegv_ix		SVp | offsetof(struct cop, cop_filegv)
-#endif
-
 MODULE = B	PACKAGE = B::OP
 
-size_t
-size(o)
-	B::OP		o
-    CODE:
-	RETVAL = opsizes[cc_opclass(aTHX_ o)];
-    OUTPUT:
-	RETVAL
 
 # The type checking code in B has always been identical for all OP types,
 # irrespective of whether the action is actually defined on that OP.
@@ -908,35 +942,252 @@
 next(o)
 	B::OP		o
     ALIAS:
-	B::OP::next = OP_next_ix
-	B::OP::sibling = OP_sibling_ix
-	B::OP::targ = OP_targ_ix
-	B::OP::flags = OP_flags_ix
-	B::OP::private = OP_private_ix
-	B::UNOP::first = UNOP_first_ix
-	B::BINOP::last = BINOP_last_ix
-	B::LOGOP::other = LOGOP_other_ix
-	B::PMOP::pmreplstart = PMOP_pmreplstart_ix
-	B::LOOP::redoop = LOOP_redoop_ix
-	B::LOOP::nextop = LOOP_nextop_ix
-	B::LOOP::lastop = LOOP_lastop_ix
-	B::PMOP::pmflags = PMOP_pmflags_ix
-	B::SVOP::sv = SVOP_sv_ix
-	B::SVOP::gv = SVOP_gv_ix
-	B::PADOP::padix = PADOP_padix_ix
-	B::COP::cop_seq = COP_seq_ix
-	B::COP::line = COP_line_ix
-	B::COP::hints = COP_hints_ix
+	B::OP::next          =  0
+	B::OP::sibling       =  1
+	B::OP::targ          =  2
+	B::OP::flags         =  3
+	B::OP::private       =  4
+	B::UNOP::first       =  5
+	B::BINOP::last       =  6
+	B::LOGOP::other      =  7
+	B::PMOP::pmreplstart =  8
+	B::LOOP::redoop      =  9
+	B::LOOP::nextop      = 10
+	B::LOOP::lastop      = 11
+	B::PMOP::pmflags     = 12
+	B::PMOP::code_list   = 13
+	B::SVOP::sv          = 14
+	B::SVOP::gv          = 15
+	B::PADOP::padix      = 16
+	B::COP::cop_seq      = 17
+	B::COP::line         = 18
+	B::COP::hints        = 19
+	B::PMOP::pmoffset    = 20
+	B::COP::filegv       = 21
+	B::COP::file         = 22
+	B::COP::stash        = 23
+	B::COP::stashpv      = 24
+	B::COP::stashoff     = 25
+	B::OP::size          = 26
+	B::OP::name          = 27
+	B::OP::desc          = 28
+	B::OP::ppaddr        = 29
+	B::OP::type          = 30
+	B::OP::opt           = 31
+	B::OP::spare         = 32
+	B::LISTOP::children  = 33
+	B::PMOP::pmreplroot  = 34
+	B::PMOP::pmstashpv   = 35
+	B::PMOP::pmstash     = 36
+	B::PMOP::precomp     = 37
+	B::PMOP::reflags     = 38
+	B::PADOP::sv         = 39
+	B::PADOP::gv         = 40
+	B::PVOP::pv          = 41
+	B::COP::label        = 42
+	B::COP::arybase      = 43
+	B::COP::warnings     = 44
+	B::COP::io           = 45
+	B::COP::hints_hash   = 46
     PREINIT:
 	char *ptr;
 	SV *ret;
+	I32 type;
+	I32 offset;
+	STRLEN len;
     PPCODE:
-	ptr = (ix & 0xFFFF) + (char *)o;
-	switch ((U8)(ix >> 16)) {
-	case (U8)(OPp >> 16):
+	if (ix < 0 || ix > 46)
+	    croak("Illegal alias %d for B::*OP::next", (int)ix);
+	ret = get_overlay_object(aTHX_ o,
+			    op_methods[ix].name, op_methods[ix].namelen);
+	if (ret) {
+	    ST(0) = ret;
+	    XSRETURN(1);
+	}
+
+	/* handle non-direct field access */
+
+	offset = op_methods[ix].offset;
+	if (offset < 0) {
+	    switch (ix) {
+	    case 8: /* pmreplstart */
+		ret = make_op_object(aTHX_
+				cPMOPo->op_type == OP_SUBST
+				    ?  cPMOPo->op_pmstashstartu.op_pmreplstart
+				    : NULL
+		      );
+		break;
+#ifdef USE_ITHREADS
+	    case 21: /* filegv */
+		ret = make_sv_object(aTHX_ (SV *)CopFILEGV((COP*)o));
+		break;
+#endif
+#ifndef USE_ITHREADS
+	    case 22: /* file */
+		ret = sv_2mortal(newSVpv(CopFILE((COP*)o), 0));
+		break;
+#endif
+#ifdef USE_ITHREADS
+	    case 23: /* stash */
+		ret = make_sv_object(aTHX_ (SV *)CopSTASH((COP*)o));
+		break;
+#endif
+#if PERL_VERSION >= 17 || !defined USE_ITHREADS
+	    case 24: /* stashpv */
+#  if PERL_VERSION >= 17
+		ret = sv_2mortal(CopSTASH((COP*)o)
+				&& SvTYPE(CopSTASH((COP*)o)) == SVt_PVHV
+		    ? newSVhek(HvNAME_HEK(CopSTASH((COP*)o)))
+		    : &PL_sv_undef);
+#  else
+		ret = sv_2mortal(newSVpv(CopSTASHPV((COP*)o), 0));
+#  endif
+		break;
+#endif
+	    case 26: /* size */
+		ret = sv_2mortal(newSVuv((UV)(opsizes[cc_opclass(aTHX_ o)])));
+		break;
+	    case 27: /* name */
+	    case 28: /* desc */
+		ret = sv_2mortal(newSVpv(
+			    (char *)(ix == 28 ? OP_DESC(o) : OP_NAME(o)), 0));
+		break;
+	    case 29: /* ppaddr */
+		{
+		    int i;
+		    ret = sv_2mortal(Perl_newSVpvf(aTHX_ "PL_ppaddr[OP_%s]",
+						  PL_op_name[o->op_type]));
+		    for (i=13; (STRLEN)i < SvCUR(ret); ++i)
+			SvPVX(ret)[i] = toUPPER(SvPVX(ret)[i]);
+		}
+		break;
+	    case 30: /* type  */
+	    case 31: /* opt   */
+	    case 32: /* spare */
+	    /* These 3 are all bitfields, so we can't take their addresses */
+		ret = sv_2mortal(newSVuv((UV)(
+				      ix == 30 ? o->op_type
+		                    : ix == 31 ? o->op_opt
+		                    :            o->op_spare)));
+		break;
+	    case 33: /* children */
+		{
+		    OP *kid;
+		    UV i = 0;
+		    for (kid = ((LISTOP*)o)->op_first; kid; kid = kid->op_sibling)
+			i++;
+		    ret = sv_2mortal(newSVuv(i));
+		}
+		break;
+	    case 34: /* pmreplroot */
+		if (cPMOPo->op_type == OP_PUSHRE) {
+#ifdef USE_ITHREADS
+		    ret = sv_newmortal();
+		    sv_setiv(ret, cPMOPo->op_pmreplrootu.op_pmtargetoff);
+#else
+		    GV *const target = cPMOPo->op_pmreplrootu.op_pmtargetgv;
+		    ret = sv_newmortal();
+		    sv_setiv(newSVrv(ret, target ?
+				     svclassnames[SvTYPE((SV*)target)] : "B::SV"),
+			     PTR2IV(target));
+#endif
+		}
+		else {
+		    OP *const root = cPMOPo->op_pmreplrootu.op_pmreplroot;
+		    ret = make_op_object(aTHX_ root);
+		}
+		break;
+#ifdef USE_ITHREADS
+	    case 35: /* pmstashpv */
+		ret = sv_2mortal(newSVpv(PmopSTASHPV(cPMOPo),0));
+		break;
+#else
+	    case 36: /* pmstash */
+		ret = make_sv_object(aTHX_ (SV *) PmopSTASH(cPMOPo));
+		break;
+#endif
+	    case 37: /* precomp */
+	    case 38: /* reflags */
+		{
+		    REGEXP *rx = PM_GETRE(cPMOPo);
+		    ret = sv_newmortal();
+		    if (rx) {
+			if (ix==38) {
+			    sv_setuv(ret, RX_EXTFLAGS(rx));
+			}
+			else {
+			    sv_setpvn(ret, RX_PRECOMP(rx), RX_PRELEN(rx));
+			}
+		    }
+		}
+		break;
+	    case 39: /* sv */
+	    case 40: /* gv */
+		/* It happens that the output typemaps for B::SV and B::GV
+		 * are identical. The "smarts" are in make_sv_object(),
+		 * which determines which class to use based on SvTYPE(),
+		 * rather than anything baked in at compile time.  */
+		if (cPADOPo->op_padix) {
+		    ret = PAD_SVl(cPADOPo->op_padix);
+		    if (ix == 40 && SvTYPE(ret) != SVt_PVGV)
+			ret = NULL;
+		} else {
+		    ret = NULL;
+		}
+		ret = make_sv_object(aTHX_ ret);
+		break;
+	    case 41: /* pv */
+		/* OP_TRANS uses op_pv to point to a table of 256 or >=258
+		 * shorts whereas other PVOPs point to a null terminated
+		 * string.  */
+		if (    (cPVOPo->op_type == OP_TRANS
+			|| cPVOPo->op_type == OP_TRANSR) &&
+			(cPVOPo->op_private & OPpTRANS_COMPLEMENT) &&
+			!(cPVOPo->op_private & OPpTRANS_DELETE))
+		{
+		    const short* const tbl = (short*)cPVOPo->op_pv;
+		    const short entries = 257 + tbl[256];
+		    ret = newSVpvn_flags(cPVOPo->op_pv, entries * sizeof(short), SVs_TEMP);
+		}
+		else if (cPVOPo->op_type == OP_TRANS || cPVOPo->op_type == OP_TRANSR) {
+		    ret = newSVpvn_flags(cPVOPo->op_pv, 256 * sizeof(short), SVs_TEMP);
+		}
+		else
+		    ret = newSVpvn_flags(cPVOPo->op_pv, strlen(cPVOPo->op_pv), SVs_TEMP);
+		break;
+	    case 42: /* label */
+		ret = sv_2mortal(newSVpv(CopLABEL(cCOPo),0));
+		break;
+	    case 43: /* arybase */
+		ret = sv_2mortal(newSVuv(0));
+		break;
+	    case 44: /* warnings */
+		ret = make_warnings_object(aTHX_ cCOPo);
+		break;
+	    case 45: /* io */
+		ret = make_cop_io_object(aTHX_ cCOPo);
+		break;
+	    case 46: /* hints_hash */
+		ret = sv_newmortal();
+		sv_setiv(newSVrv(ret, "B::RHE"),
+			PTR2IV(CopHINTHASH_get(cCOPo)));
+		break;
+	    default:
+		croak("method %s not implemented", op_methods[ix].name);
+	    }
+	    ST(0) = ret;
+	    XSRETURN(1);
+	}
+
+	/* do a direct structure offset lookup */
+
+	ptr  = (char *)o + offset;
+	type = op_methods[ix].type;
+	switch ((U8)(type >> 16)) {
+	case  (U8)(OPp >> 16):
 	    ret = make_op_object(aTHX_ *((OP **)ptr));
 	    break;
-	case (U8)(PADOFFSETp >> 16):
+	case  (U8)(PADOFFSETp >> 16):
 	    ret = sv_2mortal(newSVuv(*((PADOFFSET*)ptr)));
 	    break;
 	case (U8)(U8p >> 16):
@@ -951,7 +1202,6 @@
 	case (U8)(line_tp >> 16):
 	    ret = sv_2mortal(newSVuv(*((line_t *)ptr)));
 	    break;
-#ifdef USE_ITHREADS
 	case (U8)(IVp >> 16):
 	    ret = sv_2mortal(newSViv(*((IV*)ptr)));
 	    break;
@@ -958,342 +1208,22 @@
 	case (U8)(char_pp >> 16):
 	    ret = sv_2mortal(newSVpv(*((char **)ptr), 0));
 	    break;
-#endif
 	default:
-	    croak("Illegal alias 0x%08x for B::*next", (unsigned)ix);
+	    croak("Illegal type 0x%08x for B::*OP::%s",
+		    (unsigned)type, op_methods[ix].name);
 
 	}
 	ST(0) = ret;
 	XSRETURN(1);
 
-char *
-name(o)
-	B::OP		o
-    ALIAS:
-	desc = 1
-    CODE:
-	RETVAL = (char *)(ix ? OP_DESC(o) : OP_NAME(o));
-    OUTPUT:
-	RETVAL
 
 void
-ppaddr(o)
-	B::OP		o
-    PREINIT:
-	int i;
-	SV *sv = newSVpvs_flags("PL_ppaddr[OP_", SVs_TEMP);
-    CODE:
-	sv_catpv(sv, PL_op_name[o->op_type]);
-	for (i=13; (STRLEN)i < SvCUR(sv); ++i)
-	    SvPVX(sv)[i] = toUPPER(SvPVX(sv)[i]);
-	sv_catpvs(sv, "]");
-	ST(0) = sv;
-
-#if PERL_VERSION >= 9
-#  These 3 are all bitfields, so we can't take their addresses.
-UV
-type(o)
-	B::OP		o
-    ALIAS:
-	opt = 1
-	spare = 2
-    CODE:
-	switch(ix) {
-	  case 1:
-	    RETVAL = o->op_opt;
-	    break;
-	  case 2:
-	    RETVAL = o->op_spare;
-	    break;
-	  default:
-	    RETVAL = o->op_type;
-	}
-    OUTPUT:
-	RETVAL
-
-#else
-
-UV
-type(o)
-	B::OP		o
-    ALIAS:
-	seq = 1
-    CODE:
-	switch(ix) {
-	  case 1:
-	    RETVAL = o->op_seq;
-	    break;
-	  default:
-	    RETVAL = o->op_type;
-	}
-    OUTPUT:
-	RETVAL
-
-#endif
-
-void
 oplist(o)
 	B::OP		o
     PPCODE:
 	SP = oplist(aTHX_ o, SP);
 
-MODULE = B	PACKAGE = B::LISTOP
 
-U32
-children(o)
-	B::LISTOP	o
-	OP *		kid = NO_INIT
-	int		i = NO_INIT
-    CODE:
-	i = 0;
-	for (kid = o->op_first; kid; kid = kid->op_sibling)
-	    i++;
-	RETVAL = i;
-    OUTPUT:
-	RETVAL
-
-MODULE = B	PACKAGE = B::PMOP		PREFIX = PMOP_
-
-#if PERL_VERSION <= 8
-
-void
-PMOP_pmreplroot(o)
-	B::PMOP		o
-	OP *		root = NO_INIT
-    CODE:
-	root = o->op_pmreplroot;
-	/* OP_PUSHRE stores an SV* instead of an OP* in op_pmreplroot */
-	if (o->op_type == OP_PUSHRE) {
-	    ST(0) = sv_newmortal();
-#  ifdef USE_ITHREADS
-            sv_setiv(ST(0), INT2PTR(PADOFFSET,root) );
-#  else
-	    sv_setiv(newSVrv(ST(0), root ?
-			     svclassnames[SvTYPE((SV*)root)] : "B::SV"),
-		     PTR2IV(root));
-#  endif
-	}
-	else {
-	    ST(0) = make_op_object(aTHX_ root);
-	}
-
-#else
-
-void
-PMOP_pmreplroot(o)
-	B::PMOP		o
-    CODE:
-	if (o->op_type == OP_PUSHRE) {
-#  ifdef USE_ITHREADS
-	    ST(0) = sv_newmortal();
-            sv_setiv(ST(0), o->op_pmreplrootu.op_pmtargetoff);
-#  else
-	    GV *const target = o->op_pmreplrootu.op_pmtargetgv;
-	    ST(0) = sv_newmortal();
-	    sv_setiv(newSVrv(ST(0), target ?
-			     svclassnames[SvTYPE((SV*)target)] : "B::SV"),
-		     PTR2IV(target));
-#  endif
-	}
-	else {
-	    OP *const root = o->op_pmreplrootu.op_pmreplroot; 
-	    ST(0) = make_op_object(aTHX_ root);
-	}
-
-#endif
-
-#ifdef USE_ITHREADS
-#define PMOP_pmstashpv(o)	PmopSTASHPV(o);
-
-char*
-PMOP_pmstashpv(o)
-	B::PMOP		o
-
-#else
-
-void
-PMOP_pmstash(o)
-	B::PMOP		o
-    PPCODE:
-	PUSHs(make_sv_object(aTHX_ (SV *) PmopSTASH(o)));
-
-#endif
-
-#if PERL_VERSION < 9
-
-void
-PMOP_pmnext(o)
-	B::PMOP		o
-    PPCODE:
-	PUSHs(make_op_object(aTHX_ o->op_pmnext));
-
-U32
-PMOP_pmpermflags(o)
-	B::PMOP		o
-
-U8
-PMOP_pmdynflags(o)
-        B::PMOP         o
-
-#endif
-
-void
-PMOP_precomp(o)
-	B::PMOP		o
-    PREINIT:
-	dXSI32;
-	REGEXP *rx;
-    CODE:
-	rx = PM_GETRE(o);
-	ST(0) = sv_newmortal();
-	if (rx) {
-#if PERL_VERSION >= 9
-	    if (ix) {
-		sv_setuv(ST(0), RX_EXTFLAGS(rx));
-	    } else
-#endif
-	    {
-		sv_setpvn(ST(0), RX_PRECOMP(rx), RX_PRELEN(rx));
-	    }
-	}
-
-BOOT:
-{
-	CV *cv;
-#ifdef USE_ITHREADS
-        cv = newXS("B::PMOP::pmoffset", XS_B__OP_next, __FILE__);
-        XSANY.any_i32 = PMOP_pmoffset_ix;
-        cv = newXS("B::COP::stashpv", XS_B__OP_next, __FILE__);
-        XSANY.any_i32 = COP_stashpv_ix;
-        cv = newXS("B::COP::file", XS_B__OP_next, __FILE__);
-        XSANY.any_i32 = COP_file_ix;
-#else
-        cv = newXS("B::COP::stash", XS_B__OP_next, __FILE__);
-        XSANY.any_i32 = COP_stash_ix;
-        cv = newXS("B::COP::filegv", XS_B__OP_next, __FILE__);
-        XSANY.any_i32 = COP_filegv_ix;
-#endif
-#if PERL_VERSION >= 9
-        cv = newXS("B::PMOP::reflags", XS_B__PMOP_precomp, __FILE__);
-        XSANY.any_i32 = 1;
-#endif
-}
-
-MODULE = B	PACKAGE = B::PADOP
-
-void
-sv(o)
-	B::PADOP o
-    PREINIT:
-	SV *ret;
-    ALIAS:
-	gv = 1
-    PPCODE:
-	/* It happens that the output typemaps for B::SV and B::GV are
-	   identical. The "smarts" are in make_sv_object(), which determines
-	   which class to use based on SvTYPE(), rather than anything baked in
-	   at compile time.  */	   
-	if (o->op_padix) {
-	    ret = PAD_SVl(o->op_padix);
-	    if (ix && SvTYPE(ret) != SVt_PVGV)
-		ret = NULL;
-	} else {
-	    ret = NULL;
-	}
-	PUSHs(make_sv_object(aTHX_ ret));
-
-MODULE = B	PACKAGE = B::PVOP
-
-void
-pv(o)
-	B::PVOP	o
-    CODE:
-	/*
-	 * OP_TRANS uses op_pv to point to a table of 256 or >=258 shorts
-	 * whereas other PVOPs point to a null terminated string.
-	 */
-	if ((o->op_type == OP_TRANS || o->op_type == OP_TRANSR) &&
-		(o->op_private & OPpTRANS_COMPLEMENT) &&
-		!(o->op_private & OPpTRANS_DELETE))
-	{
-	    const short* const tbl = (short*)o->op_pv;
-	    const short entries = 257 + tbl[256];
-	    ST(0) = newSVpvn_flags(o->op_pv, entries * sizeof(short), SVs_TEMP);
-	}
-	else if (o->op_type == OP_TRANS || o->op_type == OP_TRANSR) {
-	    ST(0) = newSVpvn_flags(o->op_pv, 256 * sizeof(short), SVs_TEMP);
-	}
-	else
-	    ST(0) = newSVpvn_flags(o->op_pv, strlen(o->op_pv), SVs_TEMP);
-
-#define COP_label(o)	CopLABEL(o)
-#define COP_arybase(o)	CopARYBASE_get(o)
-
-MODULE = B	PACKAGE = B::COP		PREFIX = COP_
-
-const char *
-COP_label(o)
-	B::COP	o
-
-# Both pairs of accessors are provided for both ithreads and not, but for each,
-# one pair is direct structure access, and 1 pair "faked up" with a more complex
-# macro. We implement the direct structure access pair using the common code
-# above (B::OP::next)
- 
-#ifdef USE_ITHREADS
-
-void
-COP_stash(o)
-	B::COP	o
-    ALIAS:
-	filegv = 1
-    PPCODE:
-	PUSHs(make_sv_object(aTHX_
-			     ix ? (SV *)CopFILEGV(o) : (SV *)CopSTASH(o)));
-
-#else
-
-char *
-COP_stashpv(o)
-	B::COP	o
-    ALIAS:
-	file = 1
-    CODE:
-	RETVAL = ix ? CopFILE(o) : CopSTASHPV(o);
-    OUTPUT:
-	RETVAL
-
-#endif
-
-I32
-COP_arybase(o)
-	B::COP	o
-
-void
-COP_warnings(o)
-	B::COP	o
-    ALIAS:
-	io = 1
-    PPCODE:
-#if PERL_VERSION >= 9
-	ST(0) = ix ? make_cop_io_object(aTHX_ o) : make_warnings_object(aTHX_ o);
-#else
-	ST(0) = make_sv_object(aTHX_ ix ? o->cop_io : o->cop_warnings);
-#endif
-	XSRETURN(1);
-
-#if PERL_VERSION >= 9
-
-B::RHE
-COP_hints_hash(o)
-	B::COP o
-    CODE:
-	RETVAL = CopHINTHASH_get(o);
-    OUTPUT:
-	RETVAL
-
-#endif
-
 MODULE = B	PACKAGE = B::SV
 
 #define MAGICAL_FLAG_BITS (SVs_GMG|SVs_SMG|SVs_RMG)
@@ -1344,7 +1274,6 @@
 #define IV_uvx_ix	sv_UVp | offsetof(struct xpvuv, xuv_uv)
 #define NV_nvx_ix	sv_NVp | offsetof(struct xpvnv, xnv_u.xnv_nv)
 
-#if PERL_VERSION >= 10
 #define NV_cop_seq_range_low_ix \
 			sv_U32p | offsetof(struct xpvnv, xnv_u.xpad_cop_seq.xlow)
 #define NV_cop_seq_range_high_ix \
@@ -1353,16 +1282,6 @@
 			sv_U32p | offsetof(struct xpvnv, xnv_u.xpad_cop_seq.xlow)
 #define NV_parent_fakelex_flags_ix \
 			sv_U32p | offsetof(struct xpvnv, xnv_u.xpad_cop_seq.xhigh)
-#else
-#define NV_cop_seq_range_low_ix \
-			sv_NVp | offsetof(struct xpvnv, xnv_nv)
-#define NV_cop_seq_range_high_ix \
-			sv_UVp | offsetof(struct xpvnv, xuv_uv)
-#define NV_parent_pad_index_ix \
-			sv_NVp | offsetof(struct xpvnv, xnv_nv)
-#define NV_parent_fakelex_flags_ix \
-			sv_UVp | offsetof(struct xpvnv, xuv_uv)
-#endif
 
 #define PV_cur_ix	sv_STRLENp | offsetof(struct xpv, xpv_cur)
 #define PV_len_ix	sv_STRLENp | offsetof(struct xpv, xpv_len)
@@ -1369,30 +1288,24 @@
 
 #define PVMG_stash_ix	sv_SVp | offsetof(struct xpvmg, xmg_stash)
 
-#if PERL_VERSION >= 10
+#if PERL_VERSION > 14
+#    define PVBM_useful_ix	sv_I32p | offsetof(struct xpvgv, xnv_u.xbm_s.xbm_useful)
+#    define PVBM_previous_ix	sv_UVp | offsetof(struct xpvuv, xuv_uv)
+#else
 #define PVBM_useful_ix	sv_I32p | offsetof(struct xpvgv, xiv_u.xivu_i32)
 #define PVBM_previous_ix    sv_U32p | offsetof(struct xpvgv, xnv_u.xbm_s.xbm_previous)
-#define PVBM_rare_ix	sv_U8p | offsetof(struct xpvgv, xnv_u.xbm_s.xbm_rare)
-#else
-#define PVBM_useful_ix	sv_I32p | offsetof(struct xpvbm, xbm_useful)
-#define PVBM_previous_ix    sv_U16p | offsetof(struct xpvbm, xbm_previous)
-#define PVBM_rare_ix	sv_U8p | offsetof(struct xpvbm, xbm_rare)
 #endif
 
+#define PVBM_rare_ix	sv_U8p | offsetof(struct xpvgv, xnv_u.xbm_s.xbm_rare)
+
 #define PVLV_targoff_ix	sv_U32p | offsetof(struct xpvlv, xlv_targoff)
 #define PVLV_targlen_ix	sv_U32p | offsetof(struct xpvlv, xlv_targlen)
 #define PVLV_targ_ix	sv_SVp | offsetof(struct xpvlv, xlv_targ)
 #define PVLV_type_ix	sv_char_p | offsetof(struct xpvlv, xlv_type)
 
-#if PERL_VERSION >= 10
 #define PVGV_stash_ix	sv_SVp | offsetof(struct xpvgv, xnv_u.xgv_stash)
 #define PVGV_flags_ix	sv_STRLENp | offsetof(struct xpvgv, xpv_cur)
 #define PVIO_lines_ix	sv_IVp | offsetof(struct xpvio, xiv_iv)
-#else
-#define PVGV_stash_ix	sv_SVp | offsetof(struct xpvgv, xgv_stash)
-#define PVGV_flags_ix	sv_U8p | offsetof(struct xpvgv, xgv_flags)
-#define PVIO_lines_ix	sv_IVp | offsetof(struct xpvio, xio_lines)
-#endif
 
 #define PVIO_page_ix	    sv_IVp | offsetof(struct xpvio, xio_page)
 #define PVIO_page_len_ix    sv_IVp | offsetof(struct xpvio, xio_page_len)
@@ -1408,13 +1321,13 @@
 
 #define PVAV_max_ix	sv_SSize_tp | offsetof(struct xpvav, xav_max)
 
-#define PVFM_lines_ix	sv_IVp | offsetof(struct xpvfm, xfm_lines)
-
 #define PVCV_stash_ix	sv_SVp | offsetof(struct xpvcv, xcv_stash) 
-#define PVCV_gv_ix	sv_SVp | offsetof(struct xpvcv, xcv_gv)
+#if PERL_VERSION > 17 || (PERL_VERSION == 17 && PERL_SUBVERSION >= 3)
+# define PVCV_gv_ix	sv_SVp | offsetof(struct xpvcv, xcv_gv_u.xcv_gv)
+#else
+# define PVCV_gv_ix	sv_SVp | offsetof(struct xpvcv, xcv_gv)
+#endif
 #define PVCV_file_ix	sv_char_pp | offsetof(struct xpvcv, xcv_file)
-#define PVCV_depth_ix	sv_I32p | offsetof(struct xpvcv, xcv_depth)
-#define PVCV_padlist_ix	sv_SVp | offsetof(struct xpvcv, xcv_padlist)
 #define PVCV_outside_ix	sv_SVp | offsetof(struct xpvcv, xcv_outside)
 #define PVCV_outside_seq_ix sv_U32p | offsetof(struct xpvcv, xcv_outside_seq)
 #define PVCV_flags_ix	sv_U16p | offsetof(struct xpvcv, xcv_flags)
@@ -1466,12 +1379,8 @@
 	B::IO::IoTYPE = PVIO_type_ix
 	B::IO::IoFLAGS = PVIO_flags_ix
 	B::AV::MAX = PVAV_max_ix
-	B::FM::LINES = PVFM_lines_ix
 	B::CV::STASH = PVCV_stash_ix
-	B::CV::GV = PVCV_gv_ix
 	B::CV::FILE = PVCV_file_ix
-	B::CV::DEPTH = PVCV_depth_ix
-	B::CV::PADLIST = PVCV_padlist_ix
 	B::CV::OUTSIDE = PVCV_outside_ix
 	B::CV::OUTSIDE_SEQ = PVCV_outside_seq_ix
 	B::CV::CvFLAGS = PVCV_flags_ix
@@ -1614,38 +1523,67 @@
 	U32 utf8 = 0;
     CODE:
 	if (ix == 3) {
+#ifndef PERL_FBM_TABLE_OFFSET
+	    const MAGIC *const mg = mg_find(sv, PERL_MAGIC_bm);
+
+	    if (!mg)
+                croak("argument to B::BM::TABLE is not a PVBM");
+	    p = mg->mg_ptr;
+	    len = mg->mg_len;
+#else
 	    p = SvPV(sv, len);
 	    /* Boyer-Moore table is just after string and its safety-margin \0 */
 	    p += len + PERL_FBM_TABLE_OFFSET;
 	    len = 256;
+#endif
 	} else if (ix == 2) {
 	    /* This used to read 257. I think that that was buggy - should have
-	       been 258. (The "\0", the flags byte, and 256 for the table.  Not
-	       that anything anywhere calls this method.  NWC.  */
-	    /* Also, the start pointer has always been SvPVX(sv). Surely it
-	       should be SvPVX(sv) + SvCUR(sv)?  The code has faithfully been
-	       refactored with this behaviour, since PVBM was added in
-	       651aa52ea1faa806.  */
+	       been 258. (The "\0", the flags byte, and 256 for the table.)
+	       The only user of this method is B::Bytecode in B::PV::bsave.
+	       I'm guessing that nothing tested the runtime correctness of
+	       output of bytecompiled string constant arguments to index (etc).
+
+	       Note the start pointer is and has always been SvPVX(sv), not
+	       SvPVX(sv) + SvCUR(sv) PVBM was added in 651aa52ea1faa806, and
+	       first used by the compiler in 651aa52ea1faa806. It's used to
+	       get a "complete" dump of the buffer at SvPVX(), not just the
+	       PVBM table. This permits the generated bytecode to "load"
+	       SvPVX in "one" hit.
+
+	       5.15 and later store the BM table via MAGIC, so the compiler
+	       should handle this just fine without changes if PVBM now
+	       always returns the SvPVX() buffer.  */
+#ifdef isREGEXP
+	    p = isREGEXP(sv)
+		 ? RX_WRAPPED_const((REGEXP*)sv)
+		 : SvPVX_const(sv);
+#else
 	    p = SvPVX_const(sv);
+#endif
+#ifdef PERL_FBM_TABLE_OFFSET
 	    len = SvCUR(sv) + (SvVALID(sv) ? 256 + PERL_FBM_TABLE_OFFSET : 0);
+#else
+	    len = SvCUR(sv);
+#endif
 	} else if (ix) {
+#ifdef isREGEXP
+	    p = isREGEXP(sv) ? RX_WRAPPED((REGEXP*)sv) : SvPVX(sv);
+#else
 	    p = SvPVX(sv);
+#endif
 	    len = strlen(p);
 	} else if (SvPOK(sv)) {
 	    len = SvCUR(sv);
 	    p = SvPVX_const(sv);
 	    utf8 = SvUTF8(sv);
-#if PERL_VERSION < 10
-	    /* Before 5.10 (well 931b58fb28fa5ca7), PAD_COMPNAME_GEN was stored
-	       in SvCUR(), which meant we had to attempt this special casing
-	       to avoid tripping up over variable names in the pads.  */
-	    if((SvLEN(sv) && len >= SvLEN(sv))) {
-		/* It claims to be longer than the space allocated for it -
-		   presumably it's a variable name in the pad  */
-		len = strlen(p);
-	    }
+        }
+#ifdef isREGEXP
+	else if (isREGEXP(sv)) {
+	    len = SvCUR(sv);
+	    p = RX_WRAPPED_const((REGEXP*)sv);
+	    utf8 = SvUTF8(sv);
+	}
 #endif
-        }
         else {
             /* XXX for backward compatibility, but should fail */
             /* croak( "argument is not SvPOK" ); */
@@ -1736,14 +1674,9 @@
 	FILE = 1
 	B::HV::NAME = 2
     CODE:
-#if PERL_VERSION >= 10
 	ST(0) = sv_2mortal(newSVhek(!ix ? GvNAME_HEK(gv)
 					: (ix == 1 ? GvFILE_HEK(gv)
 						   : HvNAME_HEK((HV *)gv))));
-#else
-	ST(0) = !ix ? newSVpvn_flags(GvNAME(gv), GvNAMELEN(gv), SVs_TEMP)
-		    : sv_2mortal(newSVpv(ix == 1 ? GvFILE(gv) : HvNAME((HV *)gv), 0))
-#endif
 
 bool
 is_empty(gv)
@@ -1752,11 +1685,7 @@
 	isGV_with_GP = 1
     CODE:
 	if (ix) {
-#if PERL_VERSION >= 9
 	    RETVAL = isGV_with_GP(gv) ? TRUE : FALSE;
-#else
-	    RETVAL = TRUE; /* In 5.8 and earlier they all are.  */
-#endif
 	} else {
             RETVAL = GvGP(gv) == Null(GP*);
 	}
@@ -1827,14 +1756,7 @@
 
 MODULE = B	PACKAGE = B::IO		PREFIX = Io
 
-#if PERL_VERSION <= 8
 
-short
-IoSUBPROCESS(io)
-	B::IO	io
-
-#endif
-
 bool
 IsSTD(io,name)
 	B::IO	io
@@ -1885,22 +1807,16 @@
 	else
 	    XPUSHs(make_sv_object(aTHX_ NULL));
 
-#if PERL_VERSION < 9
-				   
-#define AvOFF(av) ((XPVAV*)SvANY(av))->xof_off
 
-IV
-AvOFF(av)
-	B::AV	av
+MODULE = B	PACKAGE = B::FM		PREFIX = Fm
 
-MODULE = B	PACKAGE = B::AV
+#undef FmLINES
+#define FmLINES(sv) 0
 
-U8
-AvFLAGS(av)
-	B::AV	av
+IV
+FmLINES(form)
+	B::FM	form
 
-#endif
-
 MODULE = B	PACKAGE = B::CV		PREFIX = Cv
 
 U32
@@ -1916,6 +1832,27 @@
 	PUSHs(make_op_object(aTHX_ CvISXSUB(cv) ? NULL
 			     : ix ? CvROOT(cv) : CvSTART(cv)));
 
+I32
+CvDEPTH(cv)
+        B::CV   cv
+
+#ifdef PadlistARRAY
+
+B::PADLIST
+CvPADLIST(cv)
+	B::CV	cv
+
+#else
+
+B::AV
+CvPADLIST(cv)
+	B::CV	cv
+    PPCODE:
+	PUSHs(make_sv_object(aTHX_ (SV *)CvPADLIST(cv)));
+
+
+#endif
+
 void
 CvXSUB(cv)
 	B::CV	cv
@@ -1935,6 +1872,27 @@
     PPCODE:
 	PUSHs(make_sv_object(aTHX_ (SV *)cv_const_sv(cv)));
 
+void
+GV(cv)
+	B::CV cv
+    PREINIT:
+        GV *gv;
+    CODE:
+	gv = CvGV(cv);
+	ST(0) = gv ? make_sv_object(aTHX_ (SV*)gv) : &PL_sv_undef;
+
+#if PERL_VERSION > 17
+
+SV *
+NAME_HEK(cv)
+	B::CV cv
+    CODE:
+	RETVAL = CvNAMED(cv) ? newSVhek(CvNAME_HEK(cv)) : &PL_sv_undef;
+    OUTPUT:
+	RETVAL
+
+#endif
+
 MODULE = B	PACKAGE = B::HV		PREFIX = Hv
 
 STRLEN
@@ -1945,26 +1903,16 @@
 HvRITER(hv)
 	B::HV	hv
 
-#if PERL_VERSION < 9
-
-B::PMOP
-HvPMROOT(hv)
-	B::HV	hv
-    PPCODE:
-	PUSHs(make_op_object(aTHX_ HvPMROOT(hv)));
-
-#endif
-
 void
 HvARRAY(hv)
 	B::HV	hv
     PPCODE:
-	if (HvKEYS(hv) > 0) {
+	if (HvUSEDKEYS(hv) > 0) {
 	    SV *sv;
 	    char *key;
 	    I32 len;
 	    (void)hv_iterinit(hv);
-	    EXTEND(sp, HvKEYS(hv) * 2);
+	    EXTEND(sp, HvUSEDKEYS(hv) * 2);
 	    while ((sv = hv_iternextsv(hv, &key, &len))) {
 		mPUSHp(key, len);
 		PUSHs(make_sv_object(aTHX_ sv));
@@ -1987,8 +1935,6 @@
 
 MODULE = B	PACKAGE = B::RHE
 
-#if PERL_VERSION >= 9
-
 SV*
 HASH(h)
 	B::RHE h
@@ -1997,4 +1943,44 @@
     OUTPUT:
 	RETVAL
 
+
+#ifdef PadlistARRAY
+
+MODULE = B	PACKAGE = B::PADLIST	PREFIX = Padlist
+
+SSize_t
+PadlistMAX(padlist)
+	B::PADLIST	padlist
+
+void
+PadlistARRAY(padlist)
+	B::PADLIST	padlist
+    PPCODE:
+	if (PadlistMAX(padlist) >= 0) {
+	    PAD **padp = PadlistARRAY(padlist);
+	    PADOFFSET i;
+	    for (i = 0; i <= PadlistMAX(padlist); i++)
+		XPUSHs(make_sv_object(aTHX_ (SV *)padp[i]));
+	}
+
+void
+PadlistARRAYelt(padlist, idx)
+	B::PADLIST	padlist
+	PADOFFSET	idx
+    PPCODE:
+	if (PadlistMAX(padlist) >= 0
+	 && idx <= PadlistMAX(padlist))
+	    XPUSHs(make_sv_object(aTHX_
+				  (SV *)PadlistARRAY(padlist)[idx]));
+	else
+	    XPUSHs(make_sv_object(aTHX_ NULL));
+
+U32
+PadlistREFCNT(padlist)
+	B::PADLIST	padlist
+    CODE:
+	RETVAL = PadlistREFCNT(padlist);
+    OUTPUT:
+	RETVAL
+
 #endif


Property changes on: vendor/perl/dist/ext/B/B.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/B/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,38 +20,23 @@
     $headerpath = File::Spec->catdir($Config::Config{archlibexp}, "CORE");
 }
 
-my @names = qw(CVf_ANON CVf_CLONE CVf_CLONED CVf_CONST CVf_LVALUE CVf_METHOD
-	       CVf_NODEBUG CVf_UNIQUE CVf_WEAKOUTSIDE
-	       GVf_IMPORTED_AV GVf_IMPORTED_CV GVf_IMPORTED_HV GVf_IMPORTED_SV
-	       HEf_SVKEY
+my @names = qw(HEf_SVKEY
 	       SVTYPEMASK SVt_PVGV SVt_PVHV
-	       SVf_FAKE SVf_IOK SVf_IVisUV SVf_NOK SVf_POK SVf_READONLY
-	       SVf_ROK SVp_IOK SVp_NOK SVp_POK SVpad_OUR SVs_RMG SVs_SMG
 	       PAD_FAKELEX_ANON PAD_FAKELEX_MULTI);
 
-if ($] >= 5.009) {
-    push @names, 'CVf_ISXSUB';
-} else {
-    # Constant not present after 5.8.x
-    push @names, 'AVf_REAL';
-    # This is only present in 5.10, but it's useful to B::Deparse to be able
-    # to import a dummy value from B
-    push @names, {name=>"OPpPAD_STATE", default=>["IV", "0"]};
-}  
 
-if ($] < 5.011) {
-    # Constant not present after 5.10.x
-    push @names, 'CVf_LOCKED';
-}
-
 # First element in each tuple is the file; second is a regex snippet
 # giving the prefix to limit the names of symbols to define that come
 # from that file.  If none, all symbols will be defined whose values
 # match the pattern below.
-foreach my $tuple (['op_reg_common.h','(?:(?:RXf_)?PMf_)'],
-		   ['op.h'],
-		   ['cop.h'],
-		   ['regexp.h','RXf_']) {
+foreach my $tuple (['cop.h'],
+                   ['cv.h', 'CVf'],
+                   ['gv.h', 'GVf'],
+                   ['op.h'],
+                   ['op_reg_common.h','(?:(?:RXf_)?PMf_)'],
+                   ['regexp.h','RXf_'],
+                   ['sv.h', 'SV(?:[fps]|pad)_'],
+                  ) {
     my $file = $tuple->[0];
     my $pfx = $tuple->[1] || '';
     my $path = File::Spec->catfile($headerpath, $file);


Property changes on: vendor/perl/dist/ext/B/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/B/O.pm
===================================================================
--- vendor/perl/dist/ext/B/O.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/O.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/O.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/defsubs_h.PL
===================================================================
--- vendor/perl/dist/ext/B/defsubs_h.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/defsubs_h.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/defsubs_h.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/hints/darwin.pl
===================================================================
--- vendor/perl/dist/ext/B/hints/darwin.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/hints/darwin.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/hints/darwin.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/B/hints/openbsd.pl
===================================================================
--- vendor/perl/dist/ext/B/hints/openbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/hints/openbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/hints/openbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/OptreeCheck.pm
===================================================================
--- vendor/perl/dist/ext/B/t/OptreeCheck.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/OptreeCheck.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,11 +5,11 @@
 use vars qw($TODO $Level $using_open);
 require "test.pl";
 
-our $VERSION = '0.05';
+our $VERSION = '0.09';
 
 # now export checkOptree, and those test.pl functions used by tests
 our @EXPORT = qw( checkOptree plan skip skip_all pass is like unlike
-		  require_ok runperl);
+		  require_ok runperl tempfile);
 
 
 # The hints flags will differ if ${^OPEN} is set.
@@ -135,10 +135,10 @@
 
 =head2 getRendering
 
-getRendering() runs code or prog through B::Concise, and captures its
-rendering.  Errors emitted during rendering are checked against
-expected errors, and are reported as diagnostics by default, or as
-failures if 'report=fail' cmdline-option is given.
+getRendering() runs code or prog or progfile through B::Concise, and
+captures its rendering.  Errors emitted during rendering are checked
+against expected errors, and are reported as diagnostics by default,
+or as failures if 'report=fail' cmdline-option is given.
 
 prog is run in a sub-shell, with $bcopts passed through. This is the way
 to run code intended for main.  The code arg in contrast, is always a
@@ -180,9 +180,9 @@
 bcopts, note, prog, code.  This is more convenient than trying to do
 it manually.
 
-=head2 code or prog
+=head2 code or prog or progfile
 
-Either code or prog must be present.
+Either code or prog or progfile must be present.
 
 =head2 prog => $perl_source_string
 
@@ -191,6 +191,11 @@
 
     './perl -w -MO=Concise,$bcopts_massaged -e $src'
 
+=head2 progfile => $perl_script
+
+progfile => $file provides a file containing a snippet of code which is
+run as per the prog => $src example above.
+
 =head2 code => $perl_source_string || CODEREF
 
 The $code arg is passed to B::Concise::compile(), and run in-process.
@@ -207,6 +212,10 @@
 They're both required, and the correct one is selected for the platform
 being tested, and saved into the synthesized property B<wanted>.
 
+Individual sample lines may be suffixed with whitespace followed
+by (<|<=|==|>=|>)5.nnnn to select that line only for the listed perl
+version; the whitespace and conditional are stripped.
+
 =head2 bcopts => $bcopts || [ @bcopts ]
 
 When getRendering() runs, it passes bcopts into B::Concise::compile().
@@ -214,8 +223,8 @@
 
 =head2 errs => $err_str_regex || [ @err_str_regexs ] 
 
-getRendering() processes the code or prog arg under warnings, and both
-parsing and optree-traversal errors are collected.  These are
+getRendering() processes the code or prog or progfile arg under warnings,
+and both parsing and optree-traversal errors are collected.  These are
 validated against the one or more errors you specify.
 
 =head1 testcase modifier properties
@@ -404,7 +413,14 @@
 
     print "checkOptree args: ",mydumper($tc) if $tc->{dump};
     SKIP: {
-	skip("$tc->{skip} $tc->{name}", 1) if $tc->{skip};
+	if ($tc->{skip}) {
+	    skip("$tc->{skip} $tc->{name}",
+		    ($gOpts{selftest}
+			? 1
+			: 1 + @{$modes{$gOpts{testmode}}}
+			)
+	    );
+	}
 
 	return runSelftest($tc) if $gOpts{selftest};
 
@@ -463,8 +479,8 @@
 
 sub getRendering {
     my $tc = shift;
-    fail("getRendering: code or prog is required")
-	unless $tc->{code} or $tc->{prog};
+    fail("getRendering: code or prog or progfile is required")
+	unless $tc->{code} or $tc->{prog} or $tc->{progfile};
 
     my @opts = get_bcopts($tc);
     my $rendering = ''; # suppress "Use of uninitialized value in open"
@@ -475,6 +491,10 @@
 	$rendering = runperl( switches => ['-w',join(',',"-MO=Concise", at opts)],
 			      prog => $tc->{prog}, stderr => 1,
 			      ); # verbose => 1);
+    } elsif ($tc->{progfile}) {
+	$rendering = runperl( switches => ['-w',join(',',"-MO=Concise", at opts)],
+			      progfile => $tc->{progfile}, stderr => 1,
+			      ); # verbose => 1);
     } else {
 	my $code = $tc->{code};
 	unless (ref $code eq 'CODE') {
@@ -482,7 +502,7 @@
 	    #  in caller's package ( to test arg-fixup, comment next line)
 	    my $pkg = '{ package '.caller(1) .';';
 	    {
-		no strict;
+		BEGIN { $^H = 0 }
 		no warnings;
 		$code = eval "$pkg sub { $code } }";
 	    }
@@ -619,14 +639,24 @@
 
     $str =~ s/^\# //mg;	# ease cut-paste testcase authoring
 
-    if ($] < 5.009) {
-	# add 5.8 private flags, which bleadperl (5.9.1) doesn't have/use/render
-	# works because it adds no wildcards, which are butchered below..
-        $str =~ s|(mapstart l?K\*?)|$1/2|mg;
-        $str =~ s|(grepstart l?K\*?)|$1/2|msg;
-        $str =~ s|(mapwhile.*? l?K)|$1/1|msg;
-	$str =~ s|(grepwhile.*? l?K)|$1/1|msg;
-    }
+    # strip out conditional lines
+
+    $str =~ s{^(.*?)\s+(<|<=|==|>=|>)\s*(5\.\d+)\ *\n}
+     {
+	my ($line, $cmp, $version) = ($1,$2,$3);
+	my $repl = "";
+	if (  $cmp eq '<'  ? $] <  $version
+	    : $cmp eq '<=' ? $] <= $version
+	    : $cmp eq '==' ? $] == $version
+	    : $cmp eq '>=' ? $] >= $version
+	    : $cmp eq '>'  ? $] >  $version
+	    : die("bad comparision '$cmp' in string [$str]\n")
+	) {
+	    $repl = "$line\n";
+	}
+	$repl;
+     }gem;
+
     $tc->{wantstr} = $str;
 
     # make targ args wild
@@ -663,32 +693,12 @@
 		)
 		(?:(:>,<,%,\\{)		# hints when open.pm is in force
 		   |(:>,<,%))		# (two variations)
-		(\ ->[0-9a-z]+)?
+		(\ ->(?:-|[0-9a-z]+))?
 		$
 	       ]
 	[$1 . ($2 && ':{') . $4]xegm;	# change to the hints without open.pm
     }
 
-    if ($] < 5.009) {
-	# 5.8.x doesn't provide the hints in the OP, which means that
-	# B::Concise doesn't show the symbolic hints. So strip all the
-	# symbolic hints from the golden results.
-	$str =~ s[(			# capture
-		   \(\?:next\|db\)state	# the regexp matching next/db state
-		   .*			# all sorts of things follow it
-		  v			# The opening v
-		  )
-		  :(?:\\[{*]		# \{ or \*
-		      |[^,\\])		# or other symbols on their own
-		    (?:,
-		     (?:\\[{*]
-			|[^,\\])
-		      )*		# maybe some more joined with commas
-		(\ ->[0-9a-z]+)?
-		$
-	       ]
-	[$1$2]xgm;			# change to the hints without flags
-    }
 
     # don't care about:
     $str =~ s/:-?\d+,-?\d+/:-?\\d+,-?\\d+/msg;		# FAKE line numbers
@@ -975,7 +985,7 @@
 sub OptreeCheck::processExamples {
     my @files = @_;
 
-    # gets array of paragraphs, which should be code-samples.  Theyre
+    # gets array of paragraphs, which should be code-samples.  They're
     # turned into optreeCheck tests,
 
     foreach my $file (@files) {


Property changes on: vendor/perl/dist/ext/B/t/OptreeCheck.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/b.t
===================================================================
--- vendor/perl/dist/ext/B/t/b.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/b.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -218,8 +218,12 @@
     like($hash, qr/\A0x[0-9a-f]+\z/, "Testing B::hash(\"wibble\")");
     unlike($hash, qr/\A0x0+\z/, "Testing B::hash(\"wibble\")");
 
-    like(B::hash("\0" x $_), qr/\A0x0+\z/, "Testing B::hash(\"0\" x $_)")
-	 for 0..19;
+    SKIP: {
+        skip "Nulls don't hash to the same bucket regardless of length with this PERL_HASH implementation", 20
+            if B::hash("") ne B::hash("\0" x 19);
+        like(B::hash("\0" x $_), qr/\A0x0+\z/, "Testing B::hash(\"0\" x $_)")
+             for 0..19;
+    }
 
     $hash = eval {B::hash(chr 256)};
     is($hash, undef, "B::hash() refuses non-octets");
@@ -268,7 +272,8 @@
 
 is(B::class(bless {}, "Wibble::Bibble"), "Bibble", "Testing B::class()");
 is(B::cast_I32(3.14), 3, "Testing B::cast_I32()");
-is(B::opnumber("chop"), 38, "Testing opnumber with opname (chop)");
+is(B::opnumber("chop"), $] >= 5.015 ? 39 : 38,
+			    "Testing opnumber with opname (chop)");
 
 {
     no warnings 'once';
@@ -277,17 +282,8 @@
     ok( $sg < B::sub_generation, "sub_generation increments" );
 }
 
-{
-    my $ag = B::amagic_generation();
-    {
+like( B::amagic_generation, qr/^\d+\z/, "amagic_generation" );
 
-        package Whatever;
-        require overload;
-        overload->import( '""' => sub {"What? You want more?!"} );
-    }
-    ok( $ag < B::amagic_generation, "amagic_generation increments" );
-}
-
 is(B::svref_2object(sub {})->ROOT->ppaddr, 'PL_ppaddr[OP_LEAVESUB]',
    'OP->ppaddr');
 
@@ -295,4 +291,128 @@
 B::svref_2object(sub{y/\x{100}//})->ROOT->first->first->sibling->sv;
 ok 1, 'B knows that UTF trans is a padop in 5.8.9, not an svop';
 
+{
+    format FOO =
+foo
+.
+    my $f = B::svref_2object(*FOO{FORMAT});
+    isa_ok $f, 'B::FM';
+    can_ok $f, 'LINES';
+}
+
+my $sub1 = sub {die};
+{ no warnings 'once'; no strict; *Peel:: = *{"Pe\0e\x{142}::"} }
+my $sub2 = eval 'package Peel; sub {die}';
+my $cop = B::svref_2object($sub1)->ROOT->first->first;
+my $bobby = B::svref_2object($sub2)->ROOT->first->first;
+is $cop->stash->object_2svref, \%main::, 'COP->stash';
+is $cop->stashpv, 'main', 'COP->stashpv';
+
+SKIP: {
+    skip "no nulls in packages before 5.17", 1 if $] < 5.017;
+    is $bobby->stashpv, "Pe\0e\x{142}", 'COP->stashpv with utf8 and nulls';
+}
+
+SKIP: {
+    skip "no stashoff", 2 if $] < 5.017 || !$Config::Config{useithreads};
+    like $cop->stashoff, qr/^[1-9]\d*\z/a, 'COP->stashoff';
+    isnt $cop->stashoff, $bobby->stashoff,
+	'different COP->stashoff for different stashes';
+}
+
+
+# Test $B::overlay
+{
+    my $methods = {
+	BINOP =>  [ qw(last) ],
+	COP   =>  [ qw(arybase cop_seq file filegv hints hints_hash io
+		       label line stash stashpv
+		       stashoff warnings) ],
+	LISTOP => [ qw(children) ],
+	LOGOP =>  [ qw(other) ],
+	LOOP  =>  [ qw(lastop nextop redoop) ],
+	OP    =>  [ qw(desc flags name next opt ppaddr private sibling
+		       size spare targ type) ],
+	PADOP =>  [ qw(gv padix sv) ],
+	PMOP  =>  [ qw(code_list pmflags pmoffset pmreplroot pmreplstart pmstash pmstashpv precomp reflags) ],
+	PVOP  =>  [ qw(pv) ],
+	SVOP  =>  [ qw(gv sv) ],
+	UNOP  =>  [ qw(first) ],
+    };
+
+    my $overlay = {};
+    my $op = B::svref_2object(sub { my $x = 1 })->ROOT;
+
+    for my $class (sort keys %$methods) {
+	for my $meth (@{$methods->{$class}}) {
+	    my $full = "B::${class}::$meth";
+	    die "Duplicate method '$full'\n"
+		if grep $_ eq $full, @{$overlay->{$meth}};
+	    push @{$overlay->{$meth}}, "B::${class}::$meth";
+	}
+    }
+
+    {
+	local $B::overlay; # suppress 'used once' warning
+	local $B::overlay = { $$op => $overlay };
+
+	for my $class (sort keys %$methods) {
+	    bless $op, "B::$class"; # naughty
+	    for my $meth (@{$methods->{$class}}) {
+		if ($op->can($meth)) {
+		    my $list = $op->$meth;
+		    ok(defined $list
+			    && ref($list) eq "ARRAY"
+			    && grep($_ eq "B::${class}::$meth", @$list),
+			"overlay: B::$class $meth");
+		}
+		else {
+		    pass("overlay: B::$class $meth (skipped; no method)");
+		}
+	    }
+	}
+    }
+    # B::overlay should be disabled again here
+    is($op->name, "leavesub", "overlay: orig name");
+}
+
+{ # [perl #118525]
+    {
+        sub foo {}
+	my $cv = B::svref_2object(\&foo);
+	ok($cv, "make a B::CV from a non-anon sub reference");
+	isa_ok($cv, "B::CV");
+	my $gv = $cv->GV;
+	ok($gv, "we get a GV from a GV on a normal sub");
+	isa_ok($gv, "B::GV");
+	is($gv->NAME, "foo", "check the GV name");
+      SKIP:
+	{ # do we need these version checks?
+	    skip "no HEK before 5.18", 1 if $] < 5.018;
+	    is($cv->NAME_HEK, undef, "no hek for a global sub");
+	}
+    }
+
+SKIP:
+    {
+        skip "no HEK before 5.18", 4 if $] < 5.018;
+        eval <<'EOS'
+    {
+        use feature 'lexical_subs';
+        no warnings 'experimental::lexical_subs';
+        my sub bar {};
+        my $cv = B::svref_2object(\&bar);
+        ok($cv, "make a B::CV from a lexical sub reference");
+        isa_ok($cv, "B::CV");
+        my $gv = $cv->GV;
+        is($gv, undef, "GV on a lexical sub is NULL");
+        my $hek = $cv->NAME_HEK;
+        is($hek, "bar", "check the NAME_HEK");
+    }
+    1;
+EOS
+	  or die "lexical_subs test failed to compile: $@";
+    }
+}
+
 done_testing();


Property changes on: vendor/perl/dist/ext/B/t/b.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/concise-xs.t
===================================================================
--- vendor/perl/dist/ext/B/t/concise-xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/concise-xs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -127,7 +127,10 @@
     Digest::MD5 => { perl => [qw/ import /],
 		     dflt => 'XS' },
 
-    Data::Dumper => { XS => [qw/ bootstrap Dumpxs /],
+    Data::Dumper => { XS => [qw/ bootstrap Dumpxs /,
+			$] >= 5.015 ? qw/_vstring / : () ],
+		    $] >= 5.015
+			?  (constant => ['_bad_vsmg']) : (),
 		      dflt => 'perl' },
     B => { 
 	dflt => 'constant',		# all but 47/297
@@ -145,7 +148,7 @@
 		  formfeed end_av dowarn diehook defstash curstash
 		  cstring comppadlist check_av cchar cast_I32 bootstrap
 		  begin_av amagic_generation sub_generation address
-		  ), $] > 5.009 ? ('unitcheck_av') : ()],
+		  unitcheck_av) ],
     },
 
     B::Deparse => { dflt => 'perl',	# 236 functions
@@ -157,7 +160,7 @@
 		     CVf_METHOD LIST_CONTEXT OP_CONST OP_LIST OP_RV2SV
 		     OP_STRINGIFY OPf_KIDS OPf_MOD OPf_REF OPf_SPECIAL
 		     OPf_STACKED OPf_WANT OPf_WANT_LIST OPf_WANT_SCALAR
-		     OPf_WANT_VOID OPpCONST_ARYBASE OPpCONST_BARE OPpCONST_NOVER
+		     OPf_WANT_VOID OPpCONST_BARE OPpCONST_NOVER
 		     OPpENTERSUB_AMPER OPpEXISTS_SUB OPpITER_REVERSED
 		     OPpLVAL_INTRO OPpOUR_INTRO OPpSLICE OPpSORT_DESCEND
 		     OPpSORT_INPLACE OPpSORT_INTEGER OPpSORT_NUMERIC
@@ -168,7 +171,10 @@
 		     PMf_MULTILINE PMf_ONCE PMf_SINGLELINE
 		     POSTFIX SVf_FAKE SVf_IOK SVf_NOK SVf_POK SVf_ROK
 		     SVpad_OUR SVs_RMG SVs_SMG SWAP_CHILDREN OPpPAD_STATE
-		     /, $] > 5.009 ? ('RXf_SKIPWHITE') : ('PMf_SKIPWHITE'),
+		     OPpCONST_ARYBASE RXf_SKIPWHITE/,
+		     $] >= 5.015 ? qw(
+		     OP_GLOB PMf_SKIPWHITE RXf_PMf_CHARSET RXf_PMf_KEEPCOPY
+		     OPpEVAL_BYTES OPpSUBSTR_REPL_FIRST) : (),
 		    'CVf_LOCKED', # This ends up as a constant, pre or post 5.10
 		    ],
 		 },
@@ -184,7 +190,11 @@
 			    WSTOPSIG WTERMSIG/,
 		       'int_macro_int', # Removed in POSIX 1.16
 		       ],
-	       perl => [qw/ import croak AUTOLOAD /],
+	       perl => [qw/ import croak AUTOLOAD /,
+			$] >= 5.015
+			    ? qw/load_imports usage printf sprintf perror/
+			    : (),
+			],
 
 	       XS => [qw/ write wctomb wcstombs uname tzset tzname
 		      ttyname tmpnam times tcsetpgrp tcsendbreak
@@ -202,7 +212,7 @@
 		      ctermid cosh constant close clock ceil
 		      bootstrap atan asin asctime acos access abort
 		      _exit
-		      /],
+		      /, $] >= 5.015 ? ('sleep') : () ],
 	       },
 
     IO::Socket => { dflt => 'constant',		# 157/190
@@ -214,7 +224,7 @@
 			     new listen import getsockopt croak
 			     connected connect configure confess close
 			     carp bind atmark accept sockaddr_in6
-			     /, $] > 5.009 ? ('blocking') : () ],
+			     blocking/ ],
 
 		    XS => [qw/ unpack_sockaddr_un unpack_sockaddr_in
 			   sockatmark sockaddr_family pack_sockaddr_un
@@ -247,6 +257,7 @@
 if (%opts) {
     require Data::Dumper;
     Data::Dumper->import('Dumper');
+    { my $x = \*Data::Dumper::Sortkeys } # shut up 'used once' warning
     $Data::Dumper::Sortkeys = 1;
 }
 my @argpkgs = @ARGV;
@@ -349,6 +360,7 @@
 	warn "Module::CoreList not available on $]\n";
 	return;
     }
+    { my $x = \*Module::CoreList::version } # shut up 'used once' warning
     my $mods = $Module::CoreList::version{'5.009002'};
     $mods = [ sort keys %$mods ];
     print Dumper($mods);
@@ -360,6 +372,7 @@
 
 END {
     if ($opts{c}) {
+	{ my $x = \*Data::Dumper::Indent } # shut up 'used once' warning
 	$Data::Dumper::Indent = 1;
 	print "Corrections: ", Dumper(\%report);
 


Property changes on: vendor/perl/dist/ext/B/t/concise-xs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/concise.t
===================================================================
--- vendor/perl/dist/ext/B/t/concise.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/concise.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
     require 'test.pl';		# we use runperl from 'test.pl', so can't use Test::More
 }
 
-plan tests => 159;
+plan tests => 160;
 
 require_ok("B::Concise");
 
@@ -448,4 +448,11 @@
                            `-ex-rv2sv---<4>gvsv[*_]
 end
 
+# -nobanner
+$out =
+ runperl(
+  switches => ["-MO=Concise,-nobanner,foo"], prog=>'sub foo{}', stderr => 1
+ );
+unlike $out, 'main::foo', '-nobanner';
+
 __END__


Property changes on: vendor/perl/dist/ext/B/t/concise.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/debug.t
===================================================================
--- vendor/perl/dist/ext/B/t/debug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/debug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/debug.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/deparse.t
===================================================================
--- vendor/perl/dist/ext/B/t/deparse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/deparse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/deparse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/f_map
===================================================================
--- vendor/perl/dist/ext/B/t/f_map	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/f_map	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/f_map
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/f_map.t
===================================================================
--- vendor/perl/dist/ext/B/t/f_map.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/f_map.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,7 +25,7 @@
 private flags /1, /2 are gone in blead (for the cases covered)
 
 When the optree stuff was integrated into 5.8.6, these tests failed,
-and were todo'd.  Theyre now done, by version-specific tweaking in
+and were todo'd.  They're now done, by version-specific tweaking in
 mkCheckRex(), therefore the skip is removed too.
 
 =for gentest
@@ -95,7 +95,8 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*array] s
 # 5  <1> rv2av[t8] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*              < 5.017002
+# 6  <@> mapstart lK               >=5.017002
 # 7  <|> mapwhile(other->8)[t9] lK
 # 8      <0> enter l
 # 9      <;> nextstate(main 475 (eval 10):1) v:{
@@ -103,7 +104,7 @@
 # b      <0> pushmark s
 # c      <#> gvsv[*_] s
 # d      <#> gv[*getkey] s/EARLYCV
-# e      <1> entersub[t5] lKS/TARG,1
+# e      <1> entersub[t5] lKS/TARG
 # f      <#> gvsv[*_] s
 # g      <@> list lK
 # h      <@> leave lKP
@@ -119,7 +120,8 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*array) s
 # 5  <1> rv2av[t3] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*              < 5.017002
+# 6  <@> mapstart lK               >=5.017002
 # 7  <|> mapwhile(other->8)[t4] lK
 # 8      <0> enter l
 # 9      <;> nextstate(main 559 (eval 15):1) v:{
@@ -127,7 +129,7 @@
 # b      <0> pushmark s
 # c      <$> gvsv(*_) s
 # d      <$> gv(*getkey) s/EARLYCV
-# e      <1> entersub[t2] lKS/TARG,1
+# e      <1> entersub[t2] lKS/TARG
 # f      <$> gvsv(*_) s
 # g      <@> list lK
 # h      <@> leave lKP
@@ -179,7 +181,7 @@
 # k      <0> pushmark s
 # l      <#> gvsv[*_] s
 # m      <#> gv[*getkey] s/EARLYCV
-# n      <1> entersub[t10] sKS/TARG,1
+# n      <1> entersub[t10] sKS/TARG
 # o      <2> helem sKRM*/2
 # p      <2> sassign vKS/2
 # q      <0> unstack s
@@ -212,7 +214,7 @@
 # k      <0> pushmark s
 # l      <$> gvsv(*_) s
 # m      <$> gv(*getkey) s/EARLYCV
-# n      <1> entersub[t4] sKS/TARG,1
+# n      <1> entersub[t4] sKS/TARG
 # o      <2> helem sKRM*/2
 # p      <2> sassign vKS/2
 # q      <0> unstack s
@@ -239,7 +241,8 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*array] s
 # 5  <1> rv2av[t7] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*              < 5.017002
+# 6  <@> mapstart lK               >=5.017002
 # 7  <|> mapwhile(other->8)[t9] lK
 # 8      <0> pushmark s
 # 9      <#> gvsv[*_] s
@@ -247,7 +250,7 @@
 # b      <@> stringify[t5] sK/1
 # c      <$> const[IV 1] s
 # d      <@> list lK
-# -      <@> scope lK
+# -      <@> scope lK              < 5.017002
 #            goto 7
 # e  <0> pushmark s
 # f  <#> gv[*hash] s
@@ -260,7 +263,8 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*array) s
 # 5  <1> rv2av[t4] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*              < 5.017002
+# 6  <@> mapstart lK               >=5.017002
 # 7  <|> mapwhile(other->8)[t5] lK
 # 8      <0> pushmark s
 # 9      <$> gvsv(*_) s
@@ -268,7 +272,7 @@
 # b      <@> stringify[t3] sK/1
 # c      <$> const(IV 1) s
 # d      <@> list lK
-# -      <@> scope lK
+# -      <@> scope lK              < 5.017002
 #            goto 7
 # e  <0> pushmark s
 # f  <$> gv(*hash) s
@@ -293,7 +297,8 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*array] s
 # 5  <1> rv2av[t7] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*              < 5.017002
+# 6  <@> mapstart lK               >=5.017002
 # 7  <|> mapwhile(other->8)[t9] lK
 # 8      <0> pushmark s
 # 9      <#> gvsv[*_] s
@@ -301,7 +306,7 @@
 # b      <@> stringify[t5] sK/1
 # c      <$> const[IV 1] s
 # d      <@> list lKP
-# -      <@> scope lK
+# -      <@> scope lK              < 5.017002
 #            goto 7
 # e  <0> pushmark s
 # f  <#> gv[*hash] s
@@ -314,7 +319,8 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*array) s
 # 5  <1> rv2av[t4] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*              < 5.017002
+# 6  <@> mapstart lK               >=5.017002
 # 7  <|> mapwhile(other->8)[t5] lK
 # 8      <0> pushmark s
 # 9      <$> gvsv(*_) s
@@ -322,7 +328,7 @@
 # b      <@> stringify[t3] sK/1
 # c      <$> const(IV 1) s
 # d      <@> list lKP
-# -      <@> scope lK
+# -      <@> scope lK              < 5.017002
 #            goto 7
 # e  <0> pushmark s
 # f  <$> gv(*hash) s
@@ -347,7 +353,8 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*array] s
 # 5  <1> rv2av[t6] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*              < 5.017002
+# 6  <@> mapstart lK               >=5.017002
 # 7  <|> mapwhile(other->8)[t8] lK
 # 8      <0> pushmark s
 # 9      <#> gvsv[*_] s
@@ -354,7 +361,7 @@
 # a      <1> lc[t4] sK/1
 # b      <$> const[IV 1] s
 # c      <@> list lK
-# -      <@> scope lK
+# -      <@> scope lK              < 5.017002
 #            goto 7
 # d  <0> pushmark s
 # e  <#> gv[*hash] s
@@ -367,7 +374,8 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*array) s
 # 5  <1> rv2av[t3] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*              < 5.017002
+# 6  <@> mapstart lK               >=5.017002
 # 7  <|> mapwhile(other->8)[t4] lK
 # 8      <0> pushmark s
 # 9      <$> gvsv(*_) s
@@ -374,7 +382,7 @@
 # a      <1> lc[t2] sK/1
 # b      <$> const(IV 1) s
 # c      <@> list lK
-# -      <@> scope lK
+# -      <@> scope lK              < 5.017002
 #            goto 7
 # d  <0> pushmark s
 # e  <$> gv(*hash) s


Property changes on: vendor/perl/dist/ext/B/t/f_map.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/f_sort
===================================================================
--- vendor/perl/dist/ext/B/t/f_sort	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/f_sort	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/f_sort
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/f_sort.t
===================================================================
--- vendor/perl/dist/ext/B/t/f_sort.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/f_sort.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,7 +24,7 @@
 private flags /1, /2 are gone in blead (for the cases covered)
 
 When the optree stuff was integrated into 5.8.6, these tests failed,
-and were todo'd.  Theyre now done, by version-specific tweaking in
+and were todo'd.  They're now done, by version-specific tweaking in
 mkCheckRex(), therefore the skip is removed too.
 
 =head1 Test Notes
@@ -500,7 +500,8 @@
 # 5  <0> pushmark s
 # 6  <#> gv[*old] s
 # 7  <1> rv2av[t19] lKM/1
-# 8  <@> mapstart lK*
+# 8  <@> mapstart lK*              < 5.017002
+# 8  <@> mapstart lK               >=5.017002
 # 9  <|> mapwhile(other->a)[t20] lK
 # a      <0> enter l
 # b      <;> nextstate(main 608 (eval 34):2) v:{
@@ -513,14 +514,15 @@
 # i      <@> leave lKP
 #            goto 9
 # j  <@> sort lKMS*
-# k  <@> mapstart lK*
+# k  <@> mapstart lK*              < 5.017002
+# k  <@> mapstart lK               >=5.017002
 # l  <|> mapwhile(other->m)[t26] lK
 # m      <#> gv[*_] s
 # n      <1> rv2sv sKM/DREFAV,1
-# o      <1> rv2av[t4] sKR/DREFed,1
+# o      <1> rv2av[t4] sKR/1
 # p      <$> const[IV 0] s
 # q      <2> aelem sK/2
-# -      <@> scope lK
+# -      <@> scope lK              < 5.017002
 #            goto l
 # r  <0> pushmark s
 # s  <#> gv[*new] s
@@ -535,7 +537,8 @@
 # 5  <0> pushmark s
 # 6  <$> gv(*old) s
 # 7  <1> rv2av[t10] lKM/1
-# 8  <@> mapstart lK*
+# 8  <@> mapstart lK*              < 5.017002
+# 8  <@> mapstart lK               >=5.017002
 # 9  <|> mapwhile(other->a)[t11] lK
 # a      <0> enter l
 # b      <;> nextstate(main 608 (eval 34):2) v:{
@@ -548,14 +551,15 @@
 # i      <@> leave lKP
 #            goto 9
 # j  <@> sort lKMS*
-# k  <@> mapstart lK*
+# k  <@> mapstart lK*              < 5.017002
+# k  <@> mapstart lK               >=5.017002
 # l  <|> mapwhile(other->m)[t12] lK
 # m      <$> gv(*_) s
 # n      <1> rv2sv sKM/DREFAV,1
-# o      <1> rv2av[t2] sKR/DREFed,1
+# o      <1> rv2av[t2] sKR/1
 # p      <$> const(IV 0) s
 # q      <2> aelem sK/2
-# -      <@> scope lK
+# -      <@> scope lK              < 5.017002
 #            goto l
 # r  <0> pushmark s
 # s  <$> gv(*new) s
@@ -683,10 +687,6 @@
 # b  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
 
-if($] < 5.009) {
-    # 5.8.x doesn't show the /STABLE flag, so massage the golden results.
-    s!/STABLE!!s foreach ($expect, $expect_nt);
-}
 
 checkOptree(note   => q{},
 	    bcopts => q{-exec},
@@ -785,12 +785,13 @@
 # 4  <0> pushmark s
 # 5  <#> gv[*input] s
 # 6  <1> rv2av[t9] lKM/1
-# 7  <@> grepstart lK*
+# 7  <@> grepstart lK*              < 5.017002
+# 7  <@> grepstart lK               >=5.017002
 # 8  <|> grepwhile(other->9)[t10] lK
 # 9      <#> gvsv[*_] s
 # a      <#> gvsv[*_] s
 # b      <2> eq sK/2
-# -      <@> scope sK
+# -      <@> scope sK              < 5.017002
 #            goto 8
 # c  <@> sort lK/NUM
 # d  <0> pushmark s
@@ -805,12 +806,13 @@
 # 4  <0> pushmark s
 # 5  <$> gv(*input) s
 # 6  <1> rv2av[t3] lKM/1
-# 7  <@> grepstart lK*
+# 7  <@> grepstart lK*              < 5.017002
+# 7  <@> grepstart lK               >=5.017002
 # 8  <|> grepwhile(other->9)[t4] lK
 # 9      <$> gvsv(*_) s
 # a      <$> gvsv(*_) s
 # b      <2> eq sK/2
-# -      <@> scope sK
+# -      <@> scope sK              < 5.017002
 #            goto 8
 # c  <@> sort lK/NUM
 # d  <0> pushmark s
@@ -864,12 +866,13 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*input] s
 # 5  <1> rv2av[t7] lKM/1
-# 6  <@> grepstart lK*
+# 6  <@> grepstart lK*              < 5.017002
+# 6  <@> grepstart lK               >=5.017002
 # 7  <|> grepwhile(other->8)[t8] lK
 # 8      <#> gvsv[*_] s
 # 9      <#> gvsv[*_] s
 # a      <2> eq sK/2
-# -      <@> scope sK
+# -      <@> scope sK              < 5.017002
 #            goto 7
 # b  <@> sort K/NUM
 # c  <1> leavesub[1 ref] K/REFC,1
@@ -879,12 +882,13 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*input) s
 # 5  <1> rv2av[t2] lKM/1
-# 6  <@> grepstart lK*
+# 6  <@> grepstart lK*              < 5.017002
+# 6  <@> grepstart lK               >=5.017002
 # 7  <|> grepwhile(other->8)[t3] lK
 # 8      <$> gvsv(*_) s
 # 9      <$> gvsv(*_) s
 # a      <2> eq sK/2
-# -      <@> scope sK
+# -      <@> scope sK              < 5.017002
 #            goto 7
 # b  <@> sort K/NUM
 # c  <1> leavesub[1 ref] K/REFC,1
@@ -937,12 +941,13 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*input] s
 # 5  <1> rv2av[t8] lKM/1
-# 6  <@> grepstart lK*
+# 6  <@> grepstart lK*              < 5.017002
+# 6  <@> grepstart lK               >=5.017002
 # 7  <|> grepwhile(other->8)[t9] lK
 # 8      <#> gvsv[*_] s
 # 9      <#> gvsv[*_] s
 # a      <2> eq sK/2
-# -      <@> scope sK
+# -      <@> scope sK              < 5.017002
 #            goto 7
 # b  <@> sort sK/NUM
 # c  <#> gvsv[*s] s
@@ -954,12 +959,13 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*input) s
 # 5  <1> rv2av[t2] lKM/1
-# 6  <@> grepstart lK*
+# 6  <@> grepstart lK*              < 5.017002
+# 6  <@> grepstart lK               >=5.017002
 # 7  <|> grepwhile(other->8)[t3] lK
 # 8      <$> gvsv(*_) s
 # 9      <$> gvsv(*_) s
 # a      <2> eq sK/2
-# -      <@> scope sK
+# -      <@> scope sK              < 5.017002
 #            goto 7
 # b  <@> sort sK/NUM
 # c  <$> gvsv(*s) s


Property changes on: vendor/perl/dist/ext/B/t/f_sort.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/lint.t
===================================================================
--- vendor/perl/dist/ext/B/t/lint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/lint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/lint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/o.t
===================================================================
--- vendor/perl/dist/ext/B/t/o.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/o.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/o.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/optree_check.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_check.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/optree_check.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,7 +26,12 @@
 
 =cut
 
-plan tests => 5 + 15 + 12 + 16 * $gOpts{selftest};	# pass()s + $#tests
+plan tests =>     11 # REGEX TEST HARNESS SELFTEST
+		+  3 # TEST FATAL ERRS
+		+ 11 # TEST -e \$srcCode
+		+  5 # REFTEXT FIXUP TESTS
+		+  5 # CANONICAL B::Concise EXAMPLE
+		+ 16 * $gOpts{selftest}; # XXX I don't understand this - DAPM
 
 pass("REGEX TEST HARNESS SELFTEST");
 


Property changes on: vendor/perl/dist/ext/B/t/optree_check.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/optree_concise.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_concise.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/optree_concise.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/optree_concise.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/optree_constants.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/optree_constants.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 use OptreeCheck;	# ALSO DOES @ARGV HANDLING !!!!!!
 use Config;
 
-plan tests => 57;
+plan tests => 67;
 
 #################################
 
@@ -49,7 +49,6 @@
     # these are not inlined, at least not per BC::Concise
     #myyes	=> [ $RV_class, ],
     #myno	=> [ $RV_class, ],
-    $] > 5.009 ? (
     myaref	=> [ $RV_class, '\\\\' ],
     myfl	=> [ 'NV', myfl ],
     myint	=> [ 'IV', myint ],
@@ -59,13 +58,6 @@
     myrex	=> [ $RV_class, '\\\\' ],
     ),
     myundef	=> [ 'NULL', ],
-    ) : (
-    myaref	=> [ 'PVIV', '' ],
-    myfl	=> [ 'PVNV', myfl ],
-    myint	=> [ 'PVIV', myint ],
-    myrex	=> [ 'PVNV', '' ],
-    myundef	=> [ 'PVIV', ],
-    )
 };
 
 use constant WEEKDAYS
@@ -110,12 +102,14 @@
 3  <1> leavesub[2 refs] K/REFC,1 ->(end)
 -     <\@> lineseq KP ->3
 1        <;> dbstate(main 833 (eval 44):1) v ->2
-2        <\$> const[$want->{$func}[0] $want->{$func}[1]] s* ->3
+2        <\$> const[$want->{$func}[0] $want->{$func}[1]] s* ->3      < 5.017002
+2        <\$> const[$want->{$func}[0] $want->{$func}[1]] s*/FOLD ->3 >=5.017002
 EOT_EOT
 3  <1> leavesub[2 refs] K/REFC,1 ->(end)
 -     <\@> lineseq KP ->3
 1        <;> dbstate(main 833 (eval 44):1) v ->2
-2        <\$> const($want->{$func}[0] $want->{$func}[1]) s* ->3
+2        <\$> const($want->{$func}[0] $want->{$func}[1]) s* ->3      < 5.017002
+2        <\$> const($want->{$func}[0] $want->{$func}[1]) s*/FOLD ->3 >=5.017002
 EONT_EONT
 
 }
@@ -143,7 +137,8 @@
 # 2     <;> nextstate(main 2 -e:1) v:>,<,%,{ ->3
 # 5     <@> print vK ->6
 # 3        <0> pushmark s ->4
-# 4        <$> const[SPECIAL sv_yes] s* ->5
+# 4        <$> const[SPECIAL sv_yes] s* ->5         < 5.017002
+# 4        <$> const[SPECIAL sv_yes] s*/FOLD ->5    >=5.017002
 EOT_EOT
 # 6  <@> leave[1 ref] vKP/REFC ->(end)
 # 1     <0> enter ->2
@@ -150,7 +145,8 @@
 # 2     <;> nextstate(main 2 -e:1) v:>,<,%,{ ->3
 # 5     <@> print vK ->6
 # 3        <0> pushmark s ->4
-# 4        <$> const(SPECIAL sv_yes) s* ->5
+# 4        <$> const(SPECIAL sv_yes) s* ->5         < 5.017002
+# 4        <$> const(SPECIAL sv_yes) s*/FOLD ->5    >=5.017002
 EONT_EONT
 
 
@@ -167,7 +163,8 @@
 # 2     <;> nextstate(main 2 -e:1) v:>,<,%,{ ->3
 # 5     <@> print vK ->6
 # 3        <0> pushmark s ->4
-# 4        <$> const[SPECIAL sv_no] s* ->5
+# 4        <$> const[SPECIAL sv_no] s* ->5         < 5.017002
+# 4        <$> const[SPECIAL sv_no] s*/FOLD ->5    >=5.017002
 EOT_EOT
 # 6  <@> leave[1 ref] vKP/REFC ->(end)
 # 1     <0> enter ->2
@@ -174,7 +171,8 @@
 # 2     <;> nextstate(main 2 -e:1) v:>,<,%,{ ->3
 # 5     <@> print vK ->6
 # 3        <0> pushmark s ->4
-# 4        <$> const(SPECIAL sv_no) s* ->5
+# 4        <$> const(SPECIAL sv_no) s* ->5         < 5.017002
+# 4        <$> const(SPECIAL sv_no) s*/FOLD ->5    >=5.017002
 EONT_EONT
 
 
@@ -181,19 +179,15 @@
 my ($expect, $expect_nt) = (<<'EOT_EOT', <<'EONT_EONT');
 # 3  <1> leavesub[2 refs] K/REFC,1 ->(end)
 # -     <@> lineseq K ->3
-# 1        <;> nextstate(constant 61 constant.pm:118) v:*,& ->2
+# 1        <;> nextstate(constant 61 constant.pm:118) v:*,&,x*,x&,x$ ->2
 # 2        <0> padav[@list:FAKE:m:96] ->3
 EOT_EOT
 # 3  <1> leavesub[2 refs] K/REFC,1 ->(end)
 # -     <@> lineseq K ->3
-# 1        <;> nextstate(constant 61 constant.pm:118) v:*,& ->2
+# 1        <;> nextstate(constant 61 constant.pm:118) v:*,&,x*,x&,x$ ->2
 # 2        <0> padav[@list:FAKE:m:71] ->3
 EONT_EONT
 
-if($] < 5.009) {
-    # 5.8.x doesn't add the m flag to padav
-    s/FAKE:m:\d+/FAKE/ foreach ($expect, $expect_nt);
-}
 
 checkOptree ( name	=> 'constant sub returning list',
 	      code	=> \&WEEKDAYS,
@@ -211,31 +205,37 @@
 # -     <@> lineseq KP ->9
 # 1        <;> nextstate(main 635 optree_constants.t:163) v:>,<,% ->2
 # 8        <@> prtf sK ->9
-# 2           <0> pushmark s ->3
-# 3           <$> const[PV "myint %d mystr %s myfl %f pi %f\n"] s ->4
-# 4           <$> const[IV 42] s* ->5
-# 5           <$> const[PV "hithere"] s* ->6
-# 6           <$> const[NV 1.414213] s* ->7
-# 7           <$> const[NV 3.14159] s* ->8
+# 2           <0> pushmark sM ->3
+# 3           <$> const[PV "myint %d mystr %s myfl %f pi %f\n"] sM ->4 < 5.017002
+# 4           <$> const[IV 42] sM* ->5          < 5.017002
+# 5           <$> const[PV "hithere"] sM* ->6   < 5.017002
+# 6           <$> const[NV 1.414213] sM* ->7    < 5.017002
+# 7           <$> const[NV 3.14159] sM* ->8     < 5.017002
+# 3           <$> const[PV "myint %d mystr %s myfl %f pi %f\n"] sM/FOLD ->4 >= 5.017002
+# 4           <$> const[IV 42] sM*/FOLD ->5          >=5.017002 
+# 5           <$> const[PV "hithere"] sM*/FOLD ->6   >=5.017002
+# 6           <$> const[NV 1.414213] sM*/FOLD ->7    >=5.017002
+# 7           <$> const[NV 3.14159] sM*/FOLD ->8     >=5.017002
 EOT_EOT
 # 9  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->9
 # 1        <;> nextstate(main 635 optree_constants.t:163) v:>,<,% ->2
 # 8        <@> prtf sK ->9
-# 2           <0> pushmark s ->3
-# 3           <$> const(PV "myint %d mystr %s myfl %f pi %f\n") s ->4
-# 4           <$> const(IV 42) s* ->5
-# 5           <$> const(PV "hithere") s* ->6
-# 6           <$> const(NV 1.414213) s* ->7
-# 7           <$> const(NV 3.14159) s* ->8
+# 2           <0> pushmark sM ->3
+# 3           <$> const(PV "myint %d mystr %s myfl %f pi %f\n") sM ->4 < 5.017002
+# 4           <$> const(IV 42) sM* ->5          < 5.017002
+# 5           <$> const(PV "hithere") sM* ->6   < 5.017002
+# 6           <$> const(NV 1.414213) sM* ->7    < 5.017002
+# 7           <$> const(NV 3.14159) sM* ->8     < 5.017002
+# 3           <$> const(PV "myint %d mystr %s myfl %f pi %f\n") sM/FOLD ->4 >= 5.017002
+# 4           <$> const(IV 42) sM*/FOLD ->5          >=5.017002 
+# 5           <$> const(PV "hithere") sM*/FOLD ->6   >=5.017002
+# 6           <$> const(NV 1.414213) sM*/FOLD ->7    >=5.017002
+# 7           <$> const(NV 3.14159) sM*/FOLD ->8     >=5.017002
 EONT_EONT
 
-if($] < 5.009) {
-    # 5.8.x's use constant has larger types
-    foreach ($expect, $expect_nt) {
-	s/IV 42/PV$&/;
-	s/NV 1.41/PV$&/;
-    }
+if($] < 5.015) {
+    s/M(?=\*? ->)//g for $expect, $expect_nt;
 }
 
 checkOptree ( name	=> 'call many in a print statement',
@@ -243,6 +243,167 @@
 	      strip_open_hints => 1,
 	      expect => $expect, expect_nt => $expect_nt);
 
+# test constant expression folding
+
+checkOptree ( name	=> 'arithmetic constant folding in print',
+	      code	=> 'print 1+2+3',
+	      strip_open_hints => 1,
+	      expect => <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 937 (eval 53):1) v ->2
+# 4        <@> print sK ->5
+# 2           <0> pushmark s ->3
+# 3           <$> const[IV 6] s ->4      < 5.017002
+# 3           <$> const[IV 6] s/FOLD ->4 >=5.017002
+EOT_EOT
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 937 (eval 53):1) v ->2
+# 4        <@> print sK ->5
+# 2           <0> pushmark s ->3
+# 3           <$> const(IV 6) s ->4      < 5.017002
+# 3           <$> const(IV 6) s/FOLD ->4 >=5.017002
+EONT_EONT
+
+checkOptree ( name	=> 'string constant folding in print',
+	      code	=> 'print "foo"."bar"',
+	      strip_open_hints => 1,
+	      expect => <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 942 (eval 55):1) v ->2
+# 4        <@> print sK ->5
+# 2           <0> pushmark s ->3
+# 3           <$> const[PV "foobar"] s ->4      < 5.017002
+# 3           <$> const[PV "foobar"] s/FOLD ->4 >=5.017002
+EOT_EOT
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 942 (eval 55):1) v ->2
+# 4        <@> print sK ->5
+# 2           <0> pushmark s ->3
+# 3           <$> const(PV "foobar") s ->4      < 5.017002
+# 3           <$> const(PV "foobar") s/FOLD ->4 >=5.017002
+EONT_EONT
+
+checkOptree ( name	=> 'boolean or folding',
+	      code	=> 'print "foobar" if 1 or 0',
+	      strip_open_hints => 1,
+	      expect => <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 942 (eval 55):1) v ->2
+# 4        <@> print sK ->5
+# 2           <0> pushmark s ->3
+# 3           <$> const[PV "foobar"] s ->4
+EOT_EOT
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 942 (eval 55):1) v ->2
+# 4        <@> print sK ->5
+# 2           <0> pushmark s ->3
+# 3           <$> const(PV "foobar") s ->4
+EONT_EONT
+
+checkOptree ( name	=> 'lc*,uc*,gt,lt,ge,le,cmp',
+	      code	=> sub {
+		  $s = uc('foo.').ucfirst('bar.').lc('LOW.').lcfirst('LOW');
+		  print "a-lt-b" if "a" lt "b";
+		  print "b-gt-a" if "b" gt "a";
+		  print "a-le-b" if "a" le "b";
+		  print "b-ge-a" if "b" ge "a";
+		  print "b-cmp-a" if "b" cmp "a";
+		  print "a-gt-b" if "a" gt "b";	# should be suppressed
+	      },
+	      strip_open_hints => 1,
+	      expect => <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# r  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->r
+# 1        <;> nextstate(main 916 optree_constants.t:307) v:>,<,%,{ ->2
+# 4        <2> sassign vKS/2 ->5
+# 2           <$> const[PV "FOO.Bar.low.lOW"] s ->3      < 5.017002
+# 2           <$> const[PV "FOO.Bar.low.lOW"] s/FOLD ->3 >=5.017002
+# -           <1> ex-rv2sv sKRM*/1 ->4
+# 3              <#> gvsv[*s] s ->4
+# 5        <;> nextstate(main 916 optree_constants.t:308) v:>,<,%,{ ->6
+# 8        <@> print vK ->9
+# 6           <0> pushmark s ->7
+# 7           <$> const[PV "a-lt-b"] s ->8
+# 9        <;> nextstate(main 916 optree_constants.t:309) v:>,<,%,{ ->a
+# c        <@> print vK ->d
+# a           <0> pushmark s ->b
+# b           <$> const[PV "b-gt-a"] s ->c
+# d        <;> nextstate(main 916 optree_constants.t:310) v:>,<,%,{ ->e
+# g        <@> print vK ->h
+# e           <0> pushmark s ->f
+# f           <$> const[PV "a-le-b"] s ->g
+# h        <;> nextstate(main 916 optree_constants.t:311) v:>,<,%,{ ->i
+# k        <@> print vK ->l
+# i           <0> pushmark s ->j
+# j           <$> const[PV "b-ge-a"] s ->k
+# l        <;> nextstate(main 916 optree_constants.t:312) v:>,<,%,{ ->m
+# o        <@> print vK ->p
+# m           <0> pushmark s ->n
+# n           <$> const[PV "b-cmp-a"] s ->o
+# p        <;> nextstate(main 916 optree_constants.t:313) v:>,<,%,{ ->q
+# q        <$> const[PVNV 0] s/SHORT ->r      < 5.017002
+# q        <$> const[PVNV 0] s/FOLD,SHORT ->r >=5.017002
+EOT_EOT
+# r  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->r
+# 1        <;> nextstate(main 916 optree_constants.t:307) v:>,<,%,{ ->2
+# 4        <2> sassign vKS/2 ->5
+# 2           <$> const(PV "FOO.Bar.low.lOW") s ->3      < 5.017002
+# 2           <$> const(PV "FOO.Bar.low.lOW") s/FOLD ->3 >=5.017002
+# -           <1> ex-rv2sv sKRM*/1 ->4
+# 3              <$> gvsv(*s) s ->4
+# 5        <;> nextstate(main 916 optree_constants.t:308) v:>,<,%,{ ->6
+# 8        <@> print vK ->9
+# 6           <0> pushmark s ->7
+# 7           <$> const(PV "a-lt-b") s ->8
+# 9        <;> nextstate(main 916 optree_constants.t:309) v:>,<,%,{ ->a
+# c        <@> print vK ->d
+# a           <0> pushmark s ->b
+# b           <$> const(PV "b-gt-a") s ->c
+# d        <;> nextstate(main 916 optree_constants.t:310) v:>,<,%,{ ->e
+# g        <@> print vK ->h
+# e           <0> pushmark s ->f
+# f           <$> const(PV "a-le-b") s ->g
+# h        <;> nextstate(main 916 optree_constants.t:311) v:>,<,%,{ ->i
+# k        <@> print vK ->l
+# i           <0> pushmark s ->j
+# j           <$> const(PV "b-ge-a") s ->k
+# l        <;> nextstate(main 916 optree_constants.t:312) v:>,<,%,{ ->m
+# o        <@> print vK ->p
+# m           <0> pushmark s ->n
+# n           <$> const(PV "b-cmp-a") s ->o
+# p        <;> nextstate(main 916 optree_constants.t:313) v:>,<,%,{ ->q
+# q        <$> const(SPECIAL sv_no) s/SHORT ->r      < 5.017002
+# q        <$> const(SPECIAL sv_no) s/FOLD,SHORT ->r >=5.017002
+EONT_EONT
+
+checkOptree ( name	=> 'mixed constant folding, with explicit braces',
+	      code	=> 'print "foo"."bar".(2+3)',
+	      strip_open_hints => 1,
+	      expect => <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 977 (eval 28):1) v ->2
+# 4        <@> print sK ->5
+# 2           <0> pushmark s ->3
+# 3           <$> const[PV "foobar5"] s ->4      < 5.017002
+# 3           <$> const[PV "foobar5"] s/FOLD ->4 >=5.017002
+EOT_EOT
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 977 (eval 28):1) v ->2
+# 4        <@> print sK ->5
+# 2           <0> pushmark s ->3
+# 3           <$> const(PV "foobar5") s ->4      < 5.017002
+# 3           <$> const(PV "foobar5") s/FOLD ->4 >=5.017002
+EONT_EONT
+
 __END__
 
 =head NB


Property changes on: vendor/perl/dist/ext/B/t/optree_constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/optree_misc.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/optree_misc.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,17 +10,19 @@
 }
 use OptreeCheck;
 use Config;
-plan tests => 6;
+plan tests => 18;
 
 SKIP: {
 skip "no perlio in this build", 4 unless $Config::Config{useperlio};
 
-# The regression this is testing is that the first aelemfast, derived
+# The regression this was testing is that the first aelemfast, derived
 # from a lexical array, is supposed to be a BASEOP "<0>", while the
 # second, from a global, is an SVOP "<$>" or a PADOP "<#>" depending
 # on threading. In buggy versions, both showed up as SVOPs/PADOPs. See
 # B.xs:cc_opclass() for the relevant code.
 
+# All this is much simpler, now that aelemfast_lex has been broken out from
+# aelemfast
 checkOptree ( name	=> 'OP_AELEMFAST opclass',
 	      code	=> sub { my @x; our @y; $x[0] + $y[0]},
 	      strip_open_hints => 1,
@@ -35,7 +37,7 @@
 # 6        <;> nextstate(main 636 optree_misc.t:25) v:>,<,%,{ ->7
 # 9        <2> add[t6] sK/2 ->a
 # -           <1> ex-aelem sK/2 ->8
-# 7              <0> aelemfast[@x:634,636] sR* ->8
+# 7              <0> aelemfast_lex[@x:634,636] sR ->8
 # -              <0> ex-const s ->-
 # -           <1> ex-aelem sK/2 ->9
 # -              <1> ex-rv2av sKR/1 ->-
@@ -52,7 +54,7 @@
 # 6        <;> nextstate(main 636 optree_misc.t:27) v:>,<,%,{ ->7
 # 9        <2> add[t4] sK/2 ->a
 # -           <1> ex-aelem sK/2 ->8
-# 7              <0> aelemfast[@x:634,636] sR* ->8
+# 7              <0> aelemfast_lex[@x:634,636] sR ->8
 # -              <0> ex-const s ->-
 # -           <1> ex-aelem sK/2 ->9
 # -              <1> ex-rv2av sKR/1 ->-
@@ -63,7 +65,8 @@
 checkOptree ( name	=> 'PMOP children',
 	      code	=> sub { $foo =~ s/(a)/$1/ },
 	      strip_open_hints => 1,
-	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+	      ( $] < 5.017002
+		?  (expect => <<'EOT_EOT16', expect_nt => <<'EONT_EONT16')
 # 6  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->6
 # 1        <;> nextstate(main 1 -e:1) v:>,<,%,{ ->2
@@ -73,7 +76,7 @@
 # 5           <|> substcont(other->3) sK/1 ->(end)
 # -              <1> ex-rv2sv sK/1 ->5
 # 4                 <#> gvsv[*1] s ->5
-EOT_EOT
+EOT_EOT16
 # 6  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->6
 # 1        <;> nextstate(main 1 -e:1) v:>,<,%,{ ->2
@@ -83,6 +86,26 @@
 # 5           <|> substcont(other->3) sK/1 ->(end)
 # -              <1> ex-rv2sv sK/1 ->5
 # 4                 <$> gvsv(*1) s ->5
+EONT_EONT16
+
+		:  (expect => <<'EOT_EOT',   expect_nt => <<'EONT_EONT')));
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 1 -e:1) v:>,<,%,{ ->2
+# 4        </> subst(/"(a)"/) KS ->5
+# -           <1> ex-rv2sv sKRM/1 ->3
+# 2              <#> gvsv[*foo] s ->3
+# -           <1> ex-rv2sv sK/1 ->4
+# 3              <#> gvsv[*1] s ->4
+EOT_EOT
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 1 -e:1) v:>,<,%,{ ->2
+# 4        </> subst(/"(a)"/) KS ->5
+# -           <1> ex-rv2sv sKRM/1 ->3
+# 2              <$> gvsv(*foo) s ->3
+# -           <1> ex-rv2sv sK/1 ->4
+# 3              <$> gvsv(*1) s ->4
 EONT_EONT
 
 } #skip
@@ -95,7 +118,7 @@
 # 5        <@> index[t2] sK/2 ->6
 # -           <0> ex-pushmark s ->3
 # 3           <$> const[PV "foo"] s ->4
-# 4           <$> const[GV "foo"] s ->5
+# 4           <$> const[PVMG "foo"] s ->5
 # -        <1> ex-rv2sv sKRM*/1 ->7
 # 6           <#> gvsv[*_] s ->7
 EOT_EOT
@@ -107,17 +130,321 @@
 # 5        <@> index[t1] sK/2 ->6
 # -           <0> ex-pushmark s ->3
 # 3           <$> const(PV "foo") s ->4
-# 4           <$> const(GV "foo") s ->5
+# 4           <$> const(PVMG "foo") s ->5
 # -        <1> ex-rv2sv sKRM*/1 ->7
 # 6           <$> gvsv(*_) s ->7
 EONT_EONT
 
-if ($] < 5.009) {
-    $t =~ s/GV /BM /;
-    $nt =~ s/GV /BM /;
-} 
-
 checkOptree ( name      => 'index and PVBM',
 	      prog	=> '$_ = index q(foo), q(foo)',
 	      strip_open_hints => 1,
 	      expect	=> $t,  expect_nt => $nt);
+
+my $tmpfile = tempfile();
+open my $fh, '>', $tmpfile or die "Cannot open $tmpfile: $!";
+print $fh "no warnings;format =\n@<<<\n\$a\n@>>>\n\@b\n.";
+close $fh;
+
+checkOptree ( name      => 'formats',
+	      bcopts    => 'STDOUT',
+	      progfile	=> $tmpfile,
+	      strip_open_hints => 1,
+	      skip	=> ($] < 5.017003),
+	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# main::STDOUT (FORMAT):
+# c  <1> leavewrite[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->c
+# 1        <;> nextstate(main 1 -:4) v:>,<,% ->2
+# 5        <@> formline vK/2 ->6
+# 2           <0> pushmark s ->3
+# 3           <$> const[PV "@<<<\n"] s ->4
+# -           <@> lineseq lK ->5
+# -              <0> ex-nextstate v ->4
+# -              <1> ex-rv2sv sK/1 ->-
+# 4                 <#> gvsv[*a] s ->5
+# 6        <;> nextstate(main 1 -:6) v:>,<,% ->7
+# b        <@> formline sK/2 ->c
+# 7           <0> pushmark s ->8
+# 8           <$> const[PV "@>>>\n"] s ->9
+# -           <@> lineseq lK ->b
+# -              <0> ex-nextstate v ->9
+# a              <1> rv2av[t3] lK/1 ->b
+# 9                 <#> gv[*b] s ->a
+EOT_EOT
+# main::STDOUT (FORMAT):
+# c  <1> leavewrite[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->c
+# 1        <;> nextstate(main 1 -:4) v:>,<,% ->2
+# 5        <@> formline vK/2 ->6
+# 2           <0> pushmark s ->3
+# 3           <$> const(PV "@<<<\n") s ->4
+# -           <@> lineseq lK ->5
+# -              <0> ex-nextstate v ->4
+# -              <1> ex-rv2sv sK/1 ->-
+# 4                 <$> gvsv(*a) s ->5
+# 6        <;> nextstate(main 1 -:6) v:>,<,% ->7
+# b        <@> formline sK/2 ->c
+# 7           <0> pushmark s ->8
+# 8           <$> const(PV "@>>>\n") s ->9
+# -           <@> lineseq lK ->b
+# -              <0> ex-nextstate v ->9
+# a              <1> rv2av[t3] lK/1 ->b
+# 9                 <$> gv(*b) s ->a
+EONT_EONT
+
+checkOptree ( name      => 'padrange',
+	      code	=> sub { my ($x,$y); @a = ($x,$y); ($x,$y) = @a },
+	      strip_open_hints => 1,
+	      skip	=> ($] < 5.017006),
+	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# f  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->f
+# 1        <;> nextstate(main 1 -e:1) v:>,<,% ->2
+# -        <@> list vKP ->3
+# 2           <0> padrange[$x:1,2; $y:1,2] vM/LVINTRO,2 ->3
+# -           <0> padsv[$x:1,2] vM/LVINTRO ->-
+# -           <0> padsv[$y:1,2] vM/LVINTRO ->-
+# 3        <;> nextstate(main 2 -e:1) v:>,<,% ->4
+# 8        <2> aassign[t4] vKS ->9
+# -           <1> ex-list lKP ->5
+# 4              <0> padrange[$x:1,2; $y:1,2] l/2 ->5
+# -              <0> padsv[$x:1,2] l ->-
+# -              <0> padsv[$y:1,2] l ->-
+# -           <1> ex-list lK ->8
+# 5              <0> pushmark s ->6
+# 7              <1> rv2av[t3] lKRM*/1 ->8
+# 6                 <#> gv[*a] s ->7
+# 9        <;> nextstate(main 2 -e:1) v:>,<,%,{ ->a
+# e        <2> aassign[t6] KS ->f
+# -           <1> ex-list lK ->d
+# a              <0> pushmark s ->b
+# c              <1> rv2av[t5] lK/1 ->d
+# b                 <#> gv[*a] s ->c
+# -           <1> ex-list lKPRM* ->e
+# d              <0> padrange[$x:1,2; $y:1,2] lRM/2 ->e
+# -              <0> padsv[$x:1,2] lRM* ->-
+# -              <0> padsv[$y:1,2] lRM* ->-
+EOT_EOT
+# f  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->f
+# 1        <;> nextstate(main 1 -e:1) v:>,<,% ->2
+# -        <@> list vKP ->3
+# 2           <0> padrange[$x:1,2; $y:1,2] vM/LVINTRO,2 ->3
+# -           <0> padsv[$x:1,2] vM/LVINTRO ->-
+# -           <0> padsv[$y:1,2] vM/LVINTRO ->-
+# 3        <;> nextstate(main 2 -e:1) v:>,<,% ->4
+# 8        <2> aassign[t4] vKS ->9
+# -           <1> ex-list lKP ->5
+# 4              <0> padrange[$x:1,2; $y:1,2] l/2 ->5
+# -              <0> padsv[$x:1,2] l ->-
+# -              <0> padsv[$y:1,2] l ->-
+# -           <1> ex-list lK ->8
+# 5              <0> pushmark s ->6
+# 7              <1> rv2av[t3] lKRM*/1 ->8
+# 6                 <$> gv(*a) s ->7
+# 9        <;> nextstate(main 2 -e:1) v:>,<,%,{ ->a
+# e        <2> aassign[t6] KS ->f
+# -           <1> ex-list lK ->d
+# a              <0> pushmark s ->b
+# c              <1> rv2av[t5] lK/1 ->d
+# b                 <$> gv(*a) s ->c
+# -           <1> ex-list lKPRM* ->e
+# d              <0> padrange[$x:1,2; $y:1,2] lRM/2 ->e
+# -              <0> padsv[$x:1,2] lRM* ->-
+# -              <0> padsv[$y:1,2] lRM* ->-
+EONT_EONT
+
+checkOptree ( name      => 'padrange and @_',
+	      code	=> sub { my ($a,$b) = @_;
+				 my ($c,$d) = @X::_;
+				 package Y;
+				 my ($e,$f) = @_;
+			     },
+	      strip_open_hints => 1,
+	      skip	=> ($] < 5.017006),
+	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# d  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->d
+# 1        <;> nextstate(main 1 p3:1) v:>,<,% ->2
+# 3        <2> aassign[t5] vKS ->4
+# -           <1> ex-list lK ->-
+# 2              <0> padrange[$a:1,4; $b:1,4] l*/LVINTRO,2 ->3
+# -              <1> rv2av[t4] lK/1 ->-
+# -                 <#> gv[*_] s ->-
+# -           <1> ex-list lKPRM* ->3
+# -              <0> pushmark sRM*/LVINTRO ->-
+# -              <0> padsv[$a:1,4] lRM*/LVINTRO ->-
+# -              <0> padsv[$b:1,4] lRM*/LVINTRO ->-
+# 4        <;> nextstate(main 2 p3:2) v:>,<,% ->5
+# 9        <2> aassign[t10] vKS ->a
+# -           <1> ex-list lK ->8
+# 5              <0> pushmark s ->6
+# 7              <1> rv2av[t9] lK/1 ->8
+# 6                 <#> gv[*X::_] s ->7
+# -           <1> ex-list lKPRM* ->9
+# 8              <0> padrange[$c:2,4; $d:2,4] lRM/LVINTRO,2 ->9
+# -              <0> padsv[$c:2,4] lRM*/LVINTRO ->-
+# -              <0> padsv[$d:2,4] lRM*/LVINTRO ->-
+# a        <;> nextstate(Y 3 p3:4) v:>,<,%,{ ->b
+# c        <2> aassign[t15] KS ->d
+# -           <1> ex-list lK ->-
+# b              <0> padrange[$e:3,4; $f:3,4] l*/LVINTRO,2 ->c
+# -              <1> rv2av[t14] lK/1 ->-
+# -                 <#> gv[*_] s ->-
+# -           <1> ex-list lKPRM* ->c
+# -              <0> pushmark sRM*/LVINTRO ->-
+# -              <0> padsv[$e:3,4] lRM*/LVINTRO ->-
+# -              <0> padsv[$f:3,4] lRM*/LVINTRO ->-
+EOT_EOT
+# d  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->d
+# 1        <;> nextstate(main 1 p3:1) v:>,<,% ->2
+# 3        <2> aassign[t5] vKS ->4
+# -           <1> ex-list lK ->-
+# 2              <0> padrange[$a:1,4; $b:1,4] l*/LVINTRO,2 ->3
+# -              <1> rv2av[t4] lK/1 ->-
+# -                 <$> gv(*_) s ->-
+# -           <1> ex-list lKPRM* ->3
+# -              <0> pushmark sRM*/LVINTRO ->-
+# -              <0> padsv[$a:1,4] lRM*/LVINTRO ->-
+# -              <0> padsv[$b:1,4] lRM*/LVINTRO ->-
+# 4        <;> nextstate(main 2 p3:2) v:>,<,% ->5
+# 9        <2> aassign[t10] vKS ->a
+# -           <1> ex-list lK ->8
+# 5              <0> pushmark s ->6
+# 7              <1> rv2av[t9] lK/1 ->8
+# 6                 <$> gv(*X::_) s ->7
+# -           <1> ex-list lKPRM* ->9
+# 8              <0> padrange[$c:2,4; $d:2,4] lRM/LVINTRO,2 ->9
+# -              <0> padsv[$c:2,4] lRM*/LVINTRO ->-
+# -              <0> padsv[$d:2,4] lRM*/LVINTRO ->-
+# a        <;> nextstate(Y 3 p3:4) v:>,<,%,{ ->b
+# c        <2> aassign[t15] KS ->d
+# -           <1> ex-list lK ->-
+# b              <0> padrange[$e:3,4; $f:3,4] l*/LVINTRO,2 ->c
+# -              <1> rv2av[t14] lK/1 ->-
+# -                 <$> gv(*_) s ->-
+# -           <1> ex-list lKPRM* ->c
+# -              <0> pushmark sRM*/LVINTRO ->-
+# -              <0> padsv[$e:3,4] lRM*/LVINTRO ->-
+# -              <0> padsv[$f:3,4] lRM*/LVINTRO ->-
+EONT_EONT
+
+checkOptree ( name      => 'consolidate padranges',
+	      code	=> sub { my ($a,$b); my ($c,$d); 1 },
+	      strip_open_hints => 1,
+	      skip	=> ($] < 5.017006),
+	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 900 optree_misc.t:334) v:>,<,% ->2
+# -        <@> list vKP ->-
+# 2           <0> padrange[$a:900,902; $b:900,902; $c:901,902; $d:901,902] vM/LVINTRO,4 ->3
+# -           <0> padsv[$a:900,902] vM/LVINTRO ->-
+# -           <0> padsv[$b:900,902] vM/LVINTRO ->-
+# -        <;> nextstate(main 901 optree_misc.t:334) v:>,<,% ->-
+# -        <@> list vKP ->3
+# -           <0> pushmark vM/LVINTRO ->-
+# -           <0> padsv[$c:901,902] vM/LVINTRO ->-
+# -           <0> padsv[$d:901,902] vM/LVINTRO ->-
+# 3        <;> nextstate(main 902 optree_misc.t:334) v:>,<,%,{ ->4
+# 4        <$> const[IV 1] s ->5
+EOT_EOT
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 900 optree_misc.t:334) v:>,<,% ->2
+# -        <@> list vKP ->-
+# 2           <0> padrange[$a:900,902; $b:900,902; $c:901,902; $d:901,902] vM/LVINTRO,4 ->3
+# -           <0> padsv[$a:900,902] vM/LVINTRO ->-
+# -           <0> padsv[$b:900,902] vM/LVINTRO ->-
+# -        <;> nextstate(main 901 optree_misc.t:334) v:>,<,% ->-
+# -        <@> list vKP ->3
+# -           <0> pushmark vM/LVINTRO ->-
+# -           <0> padsv[$c:901,902] vM/LVINTRO ->-
+# -           <0> padsv[$d:901,902] vM/LVINTRO ->-
+# 3        <;> nextstate(main 902 optree_misc.t:334) v:>,<,%,{ ->4
+# 4        <$> const(IV 1) s ->5
+EONT_EONT
+
+
+checkOptree ( name      => 'consolidate padranges and singletons',
+	      code	=> sub { my ($a,$b); my $c; my ($d,$e);
+				 my @f; my $g; my ($h,$i); my %j; 1 },
+	      strip_open_hints => 1,
+	      skip	=> ($] < 5.017006),
+	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 903 optree_misc.t:371) v:>,<,% ->2
+# -        <@> list vKP ->-
+# 2           <0> padrange[$a:903,910; $b:903,910; $c:904,910; $d:905,910; $e:905,910; @f:906,910; $g:907,910; $h:908,910; $i:908,910; %j:909,910] vM/LVINTRO,10 ->3
+# -           <0> padsv[$a:903,910] vM/LVINTRO ->-
+# -           <0> padsv[$b:903,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 904 optree_misc.t:371) v:>,<,% ->-
+# -        <0> padsv[$c:904,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 905 optree_misc.t:371) v:>,<,%,{ ->-
+# -        <@> list vKP ->-
+# -           <0> pushmark vM/LVINTRO ->-
+# -           <0> padsv[$d:905,910] vM/LVINTRO ->-
+# -           <0> padsv[$e:905,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 906 optree_misc.t:372) v:>,<,%,{ ->-
+# -        <0> padav[@f:906,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 907 optree_misc.t:372) v:>,<,%,{ ->-
+# -        <0> padsv[$g:907,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 908 optree_misc.t:372) v:>,<,%,{ ->-
+# -        <@> list vKP ->-
+# -           <0> pushmark vM/LVINTRO ->-
+# -           <0> padsv[$h:908,910] vM/LVINTRO ->-
+# -           <0> padsv[$i:908,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 909 optree_misc.t:372) v:>,<,%,{ ->-
+# -        <0> padhv[%j:909,910] vM/LVINTRO ->3
+# 3        <;> nextstate(main 910 optree_misc.t:372) v:>,<,%,{ ->4
+# 4        <$> const[IV 1] s ->5
+EOT_EOT
+# 5  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->5
+# 1        <;> nextstate(main 903 optree_misc.t:371) v:>,<,% ->2
+# -        <@> list vKP ->-
+# 2           <0> padrange[$a:903,910; $b:903,910; $c:904,910; $d:905,910; $e:905,910; @f:906,910; $g:907,910; $h:908,910; $i:908,910; %j:909,910] vM/LVINTRO,10 ->3
+# -           <0> padsv[$a:903,910] vM/LVINTRO ->-
+# -           <0> padsv[$b:903,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 904 optree_misc.t:371) v:>,<,% ->-
+# -        <0> padsv[$c:904,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 905 optree_misc.t:371) v:>,<,%,{ ->-
+# -        <@> list vKP ->-
+# -           <0> pushmark vM/LVINTRO ->-
+# -           <0> padsv[$d:905,910] vM/LVINTRO ->-
+# -           <0> padsv[$e:905,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 906 optree_misc.t:372) v:>,<,%,{ ->-
+# -        <0> padav[@f:906,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 907 optree_misc.t:372) v:>,<,%,{ ->-
+# -        <0> padsv[$g:907,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 908 optree_misc.t:372) v:>,<,%,{ ->-
+# -        <@> list vKP ->-
+# -           <0> pushmark vM/LVINTRO ->-
+# -           <0> padsv[$h:908,910] vM/LVINTRO ->-
+# -           <0> padsv[$i:908,910] vM/LVINTRO ->-
+# -        <;> nextstate(main 909 optree_misc.t:372) v:>,<,%,{ ->-
+# -        <0> padhv[%j:909,910] vM/LVINTRO ->3
+# 3        <;> nextstate(main 910 optree_misc.t:372) v:>,<,%,{ ->4
+# 4        <$> const(IV 1) s ->5
+EONT_EONT
+
+
+checkOptree ( name      => 'm?x?',
+	      code	=> sub { m?x?; },
+	      strip_open_hints => 1,
+	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+# 3  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->3
+# 1        <;> nextstate(main 914 optree_misc.t:434) v:>,<,%,{ ->2
+# 2        </> match(/"x"/) /RTIME ->3
+EOT_EOT
+# 3  <1> leavesub[1 ref] K/REFC,1 ->(end)
+# -     <@> lineseq KP ->3
+# 1        <;> nextstate(main 914 optree_misc.t:434) v:>,<,%,{ ->2
+# 2        </> match(/"x"/) /RTIME ->3
+EONT_EONT
+
+
+unlink $tmpfile;


Property changes on: vendor/perl/dist/ext/B/t/optree_misc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/optree_samples.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_samples.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/optree_samples.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -469,7 +469,8 @@
 # 3  <0> pushmark s
 # 4  <#> gv[*a] s
 # 5  <1> rv2av[t8] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*                 < 5.017002
+# 6  <@> mapstart lK                  >=5.017002
 # 7  <|> mapwhile(other->8)[t9] lK
 # 8      <0> enter l
 # 9      <;> nextstate(main 500 (eval 22):1) v:{
@@ -477,7 +478,7 @@
 # b      <0> pushmark s
 # c      <#> gvsv[*_] s
 # d      <#> gv[*getkey] s/EARLYCV
-# e      <1> entersub[t5] lKS/TARG,1
+# e      <1> entersub[t5] lKS/TARG
 # f      <#> gvsv[*_] s
 # g      <@> list lK
 # h      <@> leave lKP
@@ -493,7 +494,8 @@
 # 3  <0> pushmark s
 # 4  <$> gv(*a) s
 # 5  <1> rv2av[t3] lKM/1
-# 6  <@> mapstart lK*
+# 6  <@> mapstart lK*                 < 5.017002
+# 6  <@> mapstart lK                  >=5.017002
 # 7  <|> mapwhile(other->8)[t4] lK
 # 8      <0> enter l
 # 9      <;> nextstate(main 500 (eval 22):1) v:{
@@ -501,7 +503,7 @@
 # b      <0> pushmark s
 # c      <$> gvsv(*_) s
 # d      <$> gv(*getkey) s/EARLYCV
-# e      <1> entersub[t2] lKS/TARG,1
+# e      <1> entersub[t2] lKS/TARG
 # f      <$> gvsv(*_) s
 # g      <@> list lK
 # h      <@> leave lKP
@@ -539,7 +541,7 @@
 # i      <0> pushmark s
 # j      <#> gvsv[*_] s
 # k      <#> gv[*getkey] s/EARLYCV
-# l      <1> entersub[t10] sKS/TARG,1
+# l      <1> entersub[t10] sKS/TARG
 # m      <2> helem sKRM*/2
 # n      <2> sassign vKS/2
 # o      <0> unstack s
@@ -569,7 +571,7 @@
 # i      <0> pushmark s
 # j      <$> gvsv(*_) s
 # k      <$> gv(*getkey) s/EARLYCV
-# l      <1> entersub[t4] sKS/TARG,1
+# l      <1> entersub[t4] sKS/TARG
 # m      <2> helem sKRM*/2
 # n      <2> sassign vKS/2
 # o      <0> unstack s
@@ -617,7 +619,8 @@
 # 1  <0> enter 
 # 2  <;> nextstate(main 71 -e:1) v:>,<,%,{
 # 3  <0> pushmark s
-# 4  <$> const[PV "junk"] s*
+# 4  <$> const[PV "junk"] s*      < 5.017002
+# 4  <$> const[PV "junk"] s*/FOLD >=5.017002
 # 5  <@> print vK
 # 6  <@> leave[1 ref] vKP/REFC
 EOT_EOT
@@ -624,7 +627,8 @@
 # 1  <0> enter 
 # 2  <;> nextstate(main 71 -e:1) v:>,<,%,{
 # 3  <0> pushmark s
-# 4  <$> const(PV "junk") s*
+# 4  <$> const(PV "junk") s*      < 5.017002
+# 4  <$> const(PV "junk") s*/FOLD >=5.017002
 # 5  <@> print vK
 # 6  <@> leave[1 ref] vKP/REFC
 EONT_EONT


Property changes on: vendor/perl/dist/ext/B/t/optree_samples.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/optree_sort.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_sort.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/optree_sort.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -196,10 +196,9 @@
 5  <0> pushmark s
 6  <0> padav[@a:-437,-436] l
 7  <@> sort lK
-8  <0> pushmark s
-9  <0> padav[@a:-437,-436] lRM*
-a  <2> aassign[t2] KS/COMMON
-b  <1> leavesub[1 ref] K/REFC,1
+8  <0> padrange[@a:-437,-436] l/1
+9  <2> aassign[t2] KS/COMMON
+a  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # 1  <;> nextstate(main 427 optree_sort.t:172) v:>,<,%
 # 2  <0> padav[@a:427,428] vM/LVINTRO
@@ -208,10 +207,9 @@
 # 5  <0> pushmark s
 # 6  <0> padav[@a:427,428] l
 # 7  <@> sort lK
-# 8  <0> pushmark s
-# 9  <0> padav[@a:427,428] lRM*
-# a  <2> aassign[t2] KS/COMMON
-# b  <1> leavesub[1 ref] K/REFC,1
+# 8  <0> padrange[@a:427,428] l/1
+# 9  <2> aassign[t2] KS/COMMON
+# a  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
 
 checkOptree ( name	=> 'my @a; @a = sort @a',
@@ -224,10 +222,9 @@
 3  <0> padav[@a:1,2] vM/LVINTRO
 4  <;> nextstate(main 2 -e:1) v:>,<,%,{
 5  <0> pushmark s
-6  <0> pushmark s
-7  <0> padav[@a:1,2] lRM*
-8  <@> sort lK/INPLACE
-9  <@> leave[1 ref] vKP/REFC
+6  <0> padrange[@a:1,2] l/1
+7  <@> sort lK/INPLACE
+8  <@> leave[1 ref] vKP/REFC
 EOT_EOT
 # 1  <0> enter 
 # 2  <;> nextstate(main 1 -e:1) v:>,<,%,{
@@ -234,10 +231,9 @@
 # 3  <0> padav[@a:1,2] vM/LVINTRO
 # 4  <;> nextstate(main 2 -e:1) v:>,<,%,{
 # 5  <0> pushmark s
-# 6  <0> pushmark s
-# 7  <0> padav[@a:1,2] lRM*
-# 8  <@> sort lK/INPLACE
-# 9  <@> leave[1 ref] vKP/REFC
+# 6  <0> padrange[@a:1,2] l/1
+# 7  <@> sort lK/INPLACE
+# 8  <@> leave[1 ref] vKP/REFC
 EONT_EONT
 
 checkOptree ( name	=> 'sub {my @a; @a = sort @a; push @a, 1}',
@@ -250,29 +246,25 @@
 2  <0> padav[@a:-437,-436] vM/LVINTRO
 3  <;> nextstate(main -436 optree.t:325) v:>,<,%
 4  <0> pushmark s
-5  <0> pushmark s
-6  <0> padav[@a:-437,-436] lRM*
-7  <@> sort lK/INPLACE
-8  <;> nextstate(main -436 optree.t:325) v:>,<,%,{
-9  <0> pushmark s
-a  <0> padav[@a:-437,-436] lRM
-b  <$> const[IV 1] s
-c  <@> push[t3] sK/2
-d  <1> leavesub[1 ref] K/REFC,1
+5  <0> padrange[@a:-437,-436] l/1
+6  <@> sort lK/INPLACE
+7  <;> nextstate(main -436 optree.t:325) v:>,<,%,{
+8  <0> padrange[@a:-437,-436] l/1
+9  <$> const[IV 1] s
+a  <@> push[t3] sK/2
+b  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # 1  <;> nextstate(main 429 optree_sort.t:219) v:>,<,%
 # 2  <0> padav[@a:429,430] vM/LVINTRO
 # 3  <;> nextstate(main 430 optree_sort.t:220) v:>,<,%
 # 4  <0> pushmark s
-# 5  <0> pushmark s
-# 6  <0> padav[@a:429,430] lRM*
-# 7  <@> sort lK/INPLACE
-# 8  <;> nextstate(main 430 optree_sort.t:220) v:>,<,%,{
-# 9  <0> pushmark s
-# a  <0> padav[@a:429,430] lRM
-# b  <$> const(IV 1) s
-# c  <@> push[t3] sK/2
-# d  <1> leavesub[1 ref] K/REFC,1
+# 5  <0> padrange[@a:429,430] l/1
+# 6  <@> sort lK/INPLACE
+# 7  <;> nextstate(main 430 optree_sort.t:220) v:>,<,%,{
+# 8  <0> padrange[@a:429,430] l/1
+# 9  <$> const(IV 1) s
+# a  <@> push[t3] sK/2
+# b  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT
 
 checkOptree ( name	=> 'sub {my @a; @a = sort @a; 1}',
@@ -285,21 +277,19 @@
 2  <0> padav[@a:-437,-436] vM/LVINTRO
 3  <;> nextstate(main -436 optree.t:325) v:>,<,%
 4  <0> pushmark s
-5  <0> pushmark s
-6  <0> padav[@a:-437,-436] lRM*
-7  <@> sort lK/INPLACE
-8  <;> nextstate(main -436 optree.t:346) v:>,<,%,{
-9  <$> const[IV 1] s
-a  <1> leavesub[1 ref] K/REFC,1
+5  <0> padrange[@a:-437,-436] l/1
+6  <@> sort lK/INPLACE
+7  <;> nextstate(main -436 optree.t:346) v:>,<,%,{
+8  <$> const[IV 1] s
+9  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # 1  <;> nextstate(main 431 optree_sort.t:250) v:>,<,%
 # 2  <0> padav[@a:431,432] vM/LVINTRO
 # 3  <;> nextstate(main 432 optree_sort.t:251) v:>,<,%
 # 4  <0> pushmark s
-# 5  <0> pushmark s
-# 6  <0> padav[@a:431,432] lRM*
-# 7  <@> sort lK/INPLACE
-# 8  <;> nextstate(main 432 optree_sort.t:251) v:>,<,%,{
-# 9  <$> const(IV 1) s
-# a  <1> leavesub[1 ref] K/REFC,1
+# 5  <0> padrange[@a:431,432] l/1
+# 6  <@> sort lK/INPLACE
+# 7  <;> nextstate(main 432 optree_sort.t:251) v:>,<,%,{
+# 8  <$> const(IV 1) s
+# 9  <1> leavesub[1 ref] K/REFC,1
 EONT_EONT


Property changes on: vendor/perl/dist/ext/B/t/optree_sort.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/optree_specials.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_specials.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/optree_specials.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,7 +20,7 @@
 use OptreeCheck;	# ALSO DOES @ARGV HANDLING !!!!!!
 use Config;
 
-plan tests => 13 + ($] > 5.009 ? 2 : 0);
+plan tests => 15;
 
 require_ok("B::Concise");
 
@@ -34,25 +34,18 @@
 my $src = q[our ($beg, $chk, $init, $end, $uc) = qq{'foo'}; BEGIN { $beg++ } CHECK { $chk++ } INIT { $init++ } END { $end++ } UNITCHECK {$uc++}];
 
 
-my @warnings_todo;
- at warnings_todo = (todo =>
-   "Change 23768 (Remove Carp from warnings.pm) alters expected output, not"
-   . "propagated to 5.8.x")
-    if $] < 5.009;
-
 checkOptree ( name	=> 'BEGIN',
 	      bcopts	=> 'BEGIN',
 	      prog	=> $src,
-	      @warnings_todo,
 	      strip_open_hints => 1,
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # BEGIN 1:
 # a  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->a
-# 1        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$ ->2
+# 1        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$ ->2
 # 3        <1> require sK/1 ->4
 # 2           <$> const[PV "strict.pm"] s/BARE ->3
-# 4        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$ ->5
+# 4        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$ ->5
 # -        <@> lineseq K ->-
 # -           <0> null ->5
 # 9           <1> entersub[t1] KS*/TARG,2 ->a
@@ -63,10 +56,10 @@
 # BEGIN 2:
 # k  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq K ->k
-# b        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$ ->c
+# b        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$ ->c
 # d        <1> require sK/1 ->e
 # c           <$> const[PV "strict.pm"] s/BARE ->d
-# e        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$ ->f
+# e        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$ ->f
 # -        <@> lineseq K ->-
 # -           <0> null ->f
 # j           <1> entersub[t1] KS*/TARG,2 ->k
@@ -77,10 +70,10 @@
 # BEGIN 3:
 # u  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->u
-# l        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$ ->m
+# l        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$ ->m
 # n        <1> require sK/1 ->o
 # m           <$> const[PV "warnings.pm"] s/BARE ->n
-# o        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$ ->p
+# o        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$ ->p
 # -        <@> lineseq K ->-
 # -           <0> null ->p
 # t           <1> entersub[t1] KS*/TARG,2 ->u
@@ -99,10 +92,10 @@
 # BEGIN 1:
 # a  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->a
-# 1        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$ ->2
+# 1        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$ ->2
 # 3        <1> require sK/1 ->4
 # 2           <$> const(PV "strict.pm") s/BARE ->3
-# 4        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$ ->5
+# 4        <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$ ->5
 # -        <@> lineseq K ->-
 # -           <0> null ->5
 # 9           <1> entersub[t1] KS*/TARG,2 ->a
@@ -113,10 +106,10 @@
 # BEGIN 2:
 # k  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq K ->k
-# b        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$ ->c
+# b        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$ ->c
 # d        <1> require sK/1 ->e
 # c           <$> const(PV "strict.pm") s/BARE ->d
-# e        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$ ->f
+# e        <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$ ->f
 # -        <@> lineseq K ->-
 # -           <0> null ->f
 # j           <1> entersub[t1] KS*/TARG,2 ->k
@@ -127,10 +120,10 @@
 # BEGIN 3:
 # u  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->u
-# l        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$ ->m
+# l        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$ ->m
 # n        <1> require sK/1 ->o
 # m           <$> const(PV "warnings.pm") s/BARE ->n
-# o        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$ ->p
+# o        <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$ ->p
 # -        <@> lineseq K ->-
 # -           <0> null ->p
 # t           <1> entersub[t1] KS*/TARG,2 ->u
@@ -193,12 +186,11 @@
 # 2              <$> gvsv(*chk) s ->3
 EONT_EONT
 
-if ($] >= 5.009) {
-    checkOptree ( name	=> 'UNITCHECK',
-		  bcopts=> 'UNITCHECK',
-		  prog	=> $src,
-		  strip_open_hints => 1,
-		  expect=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
+checkOptree ( name	=> 'UNITCHECK',
+	      bcopts=> 'UNITCHECK',
+	      prog	=> $src,
+	      strip_open_hints => 1,
+	      expect=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # UNITCHECK 1:
 # 4  <1> leavesub[1 ref] K/REFC,1 ->(end)
 # -     <@> lineseq KP ->4
@@ -215,7 +207,6 @@
 # -           <1> ex-rv2sv sKRM/1 ->3
 # 2              <$> gvsv(*uc) s ->3
 EONT_EONT
-}
 
 checkOptree ( name	=> 'INIT',
 	      bcopts	=> 'INIT',
@@ -244,14 +235,13 @@
 checkOptree ( name	=> 'all of BEGIN END INIT CHECK UNITCHECK -exec',
 	      bcopts	=> [qw/ BEGIN END INIT CHECK UNITCHECK -exec /],
 	      prog	=> $src,
-	      @warnings_todo,
 	      strip_open_hints => 1,
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # BEGIN 1:
-# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$
+# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
 # 2  <$> const[PV "strict.pm"] s/BARE
 # 3  <1> require sK/1
-# 4  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$
+# 4  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
 # 5  <0> pushmark s
 # 6  <$> const[PV "strict"] sM
 # 7  <$> const[PV "refs"] sM
@@ -259,10 +249,10 @@
 # 9  <1> entersub[t1] KS*/TARG,2
 # a  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 2:
-# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$
+# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
 # c  <$> const[PV "strict.pm"] s/BARE
 # d  <1> require sK/1
-# e  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$
+# e  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
 # f  <0> pushmark s
 # g  <$> const[PV "strict"] sM
 # h  <$> const[PV "refs"] sM
@@ -270,10 +260,10 @@
 # j  <1> entersub[t1] KS*/TARG,2
 # k  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 3:
-# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$
+# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
 # m  <$> const[PV "warnings.pm"] s/BARE
 # n  <1> require sK/1
-# o  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$
+# o  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
 # p  <0> pushmark s
 # q  <$> const[PV "warnings"] sM
 # r  <$> const[PV "qw"] sM
@@ -307,10 +297,10 @@
 # 1e <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # BEGIN 1:
-# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$
+# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
 # 2  <$> const(PV "strict.pm") s/BARE
 # 3  <1> require sK/1
-# 4  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$
+# 4  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
 # 5  <0> pushmark s
 # 6  <$> const(PV "strict") sM
 # 7  <$> const(PV "refs") sM
@@ -318,10 +308,10 @@
 # 9  <1> entersub[t1] KS*/TARG,2
 # a  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 2:
-# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$
+# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
 # c  <$> const(PV "strict.pm") s/BARE
 # d  <1> require sK/1
-# e  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$
+# e  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
 # f  <0> pushmark s
 # g  <$> const(PV "strict") sM
 # h  <$> const(PV "refs") sM
@@ -329,10 +319,10 @@
 # j  <1> entersub[t1] KS*/TARG,2
 # k  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 3:
-# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$
+# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
 # m  <$> const(PV "warnings.pm") s/BARE
 # n  <1> require sK/1
-# o  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$
+# o  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
 # p  <0> pushmark s
 # q  <$> const(PV "warnings") sM
 # r  <$> const(PV "qw") sM
@@ -374,13 +364,12 @@
 checkOptree ( name	=> 'regression test for patch 25352',
 	      bcopts	=> [qw/ BEGIN END INIT CHECK -exec /],
 	      prog	=> 'print q/foo/',
-	      @warnings_todo,
 	      expect	=> <<'EOT_EOT', expect_nt => <<'EONT_EONT');
 # BEGIN 1:
-# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$
+# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
 # 2  <$> const[PV "strict.pm"] s/BARE
 # 3  <1> require sK/1
-# 4  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$
+# 4  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
 # 5  <0> pushmark s
 # 6  <$> const[PV "strict"] sM
 # 7  <$> const[PV "refs"] sM
@@ -388,10 +377,10 @@
 # 9  <1> entersub[t1] KS*/TARG,2
 # a  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 2:
-# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$
+# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
 # c  <$> const[PV "strict.pm"] s/BARE
 # d  <1> require sK/1
-# e  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$
+# e  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
 # f  <0> pushmark s
 # g  <$> const[PV "strict"] sM
 # h  <$> const[PV "refs"] sM
@@ -399,10 +388,10 @@
 # j  <1> entersub[t1] KS*/TARG,2
 # k  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 3:
-# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$
+# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
 # m  <$> const[PV "warnings.pm"] s/BARE
 # n  <1> require sK/1
-# o  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$
+# o  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
 # p  <0> pushmark s
 # q  <$> const[PV "warnings"] sM
 # r  <$> const[PV "qw"] sM
@@ -411,10 +400,10 @@
 # u  <1> leavesub[1 ref] K/REFC,1
 EOT_EOT
 # BEGIN 1:
-# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$
+# 1  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
 # 2  <$> const(PV "strict.pm") s/BARE
 # 3  <1> require sK/1
-# 4  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,$
+# 4  <;> nextstate(B::Concise -275 Concise.pm:356) v:*,&,{,x*,x&,x$,$
 # 5  <0> pushmark s
 # 6  <$> const(PV "strict") sM
 # 7  <$> const(PV "refs") sM
@@ -422,10 +411,10 @@
 # 9  <1> entersub[t1] KS*/TARG,2
 # a  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 2:
-# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$
+# b  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
 # c  <$> const(PV "strict.pm") s/BARE
 # d  <1> require sK/1
-# e  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,$
+# e  <;> nextstate(B::Concise -265 Concise.pm:367) v:*,&,x*,x&,x$,$
 # f  <0> pushmark s
 # g  <$> const(PV "strict") sM
 # h  <$> const(PV "refs") sM
@@ -433,10 +422,10 @@
 # j  <1> entersub[t1] KS*/TARG,2
 # k  <1> leavesub[1 ref] K/REFC,1
 # BEGIN 3:
-# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$
+# l  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
 # m  <$> const(PV "warnings.pm") s/BARE
 # n  <1> require sK/1
-# o  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,$
+# o  <;> nextstate(B::Concise -254 Concise.pm:386) v:*,&,{,x*,x&,x$,$
 # p  <0> pushmark s
 # q  <$> const(PV "warnings") sM
 # r  <$> const(PV "qw") sM


Property changes on: vendor/perl/dist/ext/B/t/optree_specials.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/optree_varinit.t
===================================================================
--- vendor/perl/dist/ext/B/t/optree_varinit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/optree_varinit.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -390,18 +390,14 @@
 # 1  <0> enter 
 # 2  <;> nextstate(main 1 -e:1) v:>,<,%,{
 # 3  <0> pushmark s
-# 4  <0> pushmark sRM*/128
-# 5  <0> padsv[$a:1,2] lRM*/LVINTRO
-# 6  <0> padsv[$b:1,2] lRM*/LVINTRO
-# 7  <2> aassign[t3] vKS
-# 8  <@> leave[1 ref] vKP/REFC
+# 4  <0> padrange[$a:1,2; $b:1,2] lRM/LVINTRO,2
+# 5  <2> aassign[t3] vKS
+# 6  <@> leave[1 ref] vKP/REFC
 EOT_EOT
 # 1  <0> enter 
 # 2  <;> nextstate(main 1 -e:1) v:>,<,%,{
 # 3  <0> pushmark s
-# 4  <0> pushmark sRM*/128
-# 5  <0> padsv[$a:1,2] lRM*/LVINTRO
-# 6  <0> padsv[$b:1,2] lRM*/LVINTRO
-# 7  <2> aassign[t3] vKS
-# 8  <@> leave[1 ref] vKP/REFC
+# 4  <0> padrange[$a:1,2; $b:1,2] lRM/LVINTRO,2
+# 5  <2> aassign[t3] vKS
+# 6  <@> leave[1 ref] vKP/REFC
 EONT_EONT


Property changes on: vendor/perl/dist/ext/B/t/optree_varinit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/pluglib/B/Lint/Plugin/Test.pm
===================================================================
--- vendor/perl/dist/ext/B/t/pluglib/B/Lint/Plugin/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/pluglib/B/Lint/Plugin/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/pluglib/B/Lint/Plugin/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/pragma.t
===================================================================
--- vendor/perl/dist/ext/B/t/pragma.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/pragma.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,10 +11,6 @@
         print "1..0 # Skip -- Perl configured without B module\n";
         exit 0;
     }
-    if ( $] < 5.009 ) {
-        print "1..0 # Skip -- No user pragmata in 5.8.x\n";
-        exit 0;
-    }
 }
 
 use strict;


Property changes on: vendor/perl/dist/ext/B/t/pragma.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/showlex.t
===================================================================
--- vendor/perl/dist/ext/B/t/showlex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/showlex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/showlex.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/B/t/terse.t
===================================================================
--- vendor/perl/dist/ext/B/t/terse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/terse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/B/t/terse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/walkoptree.t
===================================================================
--- vendor/perl/dist/ext/B/t/walkoptree.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/walkoptree.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,7 +33,7 @@
 my $victim = sub {
     # This gives us a substcont, which gets to the second recursive call
     # point (in the if statement in the XS code)
-    $_[0] =~ s/(a)/$1/;
+    $_[0] =~ s/(a)/ $1/;
     # PMOP_pmreplroot(cPMOPo) is NULL for this
     $_[0] =~ s/(b)//;
     # This gives an OP_PUSHRE


Property changes on: vendor/perl/dist/ext/B/t/walkoptree.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/t/xref.t
===================================================================
--- vendor/perl/dist/ext/B/t/xref.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/t/xref.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,7 +23,7 @@
 close STDOUT;
 # line 100
 our $compilesub = B::Xref::compile("-o$file");
-ok( ref $compilesub eq 'CODE', "compile() returns a coderef ($compilesub)" );
+ok( ref $compilesub eq 'CODE', "compile() returns a coderef" );
 $compilesub->(); # Compile this test script
 close STDOUT;
 open STDOUT, ">&SAVEOUT" or diag $!;
@@ -34,6 +34,7 @@
 our %xreftable = ();
 open XREF, $file or die "# Can't open $file: $!\n";
 while (<XREF>) {
+    print STDERR $_ if $ENV{PERL_DEBUG};
     chomp;
     if (/^File (.*)/) {
 	$curfile = $1;


Property changes on: vendor/perl/dist/ext/B/t/xref.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/B/typemap
===================================================================
--- vendor/perl/dist/ext/B/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/B/typemap	2013-12-01 21:45:02 UTC (rev 6430)
@@ -36,6 +36,8 @@
 B::HE		T_HE_OBJ
 B::RHE		T_RHE_OBJ
 
+B::PADLIST	T_PL_OBJ
+
 INPUT
 T_OP_OBJ
 	if (SvROK($arg)) {
@@ -77,6 +79,14 @@
 	else
 	    croak(\"$var is not a reference\")
 
+T_PL_OBJ
+	if (SvROK($arg)) {
+	    IV tmp = SvIV((SV*)SvRV($arg));
+	    $var = INT2PTR($type,tmp);
+	}
+	else
+	    croak(\"$var is not a reference\")
+
 OUTPUT
 T_MG_OBJ
 	sv_setiv(newSVrv($arg, "B::MAGIC"), PTR2IV($var));
@@ -86,3 +96,7 @@
 
 T_RHE_OBJ
 	sv_setiv(newSVrv($arg, "B::RHE"), PTR2IV($var));
+
+T_PL_OBJ
+	sv_setiv(newSVrv($arg, $var ? "B::PADLIST" : "B::NULL"),
+		 PTR2IV($var));


Property changes on: vendor/perl/dist/ext/B/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/README
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/Zlib.xs
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/Zlib.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/Zlib.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/Zlib.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/config.in
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/config.in	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/config.in	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/config.in
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtdef
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtdef	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtdef	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtdef
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtinf
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtinf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtinf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/examples/filtinf
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.xs
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/fallback/constants.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/lib/Compress/Raw/Zlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/t/01version.t
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/t/01version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/t/01version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/t/01version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/t/02zlib.t
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/t/02zlib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/t/02zlib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/t/02zlib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/t/07bufsize.t
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/t/07bufsize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/t/07bufsize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/t/07bufsize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/t/18lvalue.t
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/t/18lvalue.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/t/18lvalue.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/t/18lvalue.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/typemap
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/adler32.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/adler32.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/adler32.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/adler32.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/compress.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/compress.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/compress.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/compress.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/crc32.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/deflate.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/infback.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/infback.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/infback.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/infback.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffast.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffixed.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffixed.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffixed.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inffixed.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inflate.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/inftrees.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/trees.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/uncompr.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/uncompr.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/uncompr.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/uncompr.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zconf.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zconf.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zconf.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zconf.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zlib.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zlib.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zlib.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zlib.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.c
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.h
===================================================================
--- vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Raw/Zlib/zlib-src/zutil.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/Makefile.PL
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/README
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/examples/filtdef
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/examples/filtdef	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/examples/filtdef	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/examples/filtdef
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/examples/filtinf
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/examples/filtinf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/examples/filtinf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/examples/filtinf
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/examples/gzcat
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/examples/gzcat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/examples/gzcat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/examples/gzcat
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/examples/gzgrep
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/examples/gzgrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/examples/gzgrep	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/examples/gzgrep
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/examples/gzstream
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/examples/gzstream	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/examples/gzstream	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/examples/gzstream
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/lib/Compress/Zlib.pm
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/lib/Compress/Zlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/lib/Compress/Zlib.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/lib/Compress/Zlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/t/01version.t
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/t/01version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/t/01version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/t/01version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/t/03zlib-v1.t
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/t/03zlib-v1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/t/03zlib-v1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/t/03zlib-v1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/t/05examples.t
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/t/05examples.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/t/05examples.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/t/05examples.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/t/06gzsetp.t
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/t/06gzsetp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/t/06gzsetp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/t/06gzsetp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/t/08encoding.t
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/t/08encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/t/08encoding.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/t/08encoding.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress/Zlib/t/14gzopen.t
===================================================================
--- vendor/perl/dist/ext/Compress/Zlib/t/14gzopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress/Zlib/t/14gzopen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress/Zlib/t/14gzopen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/Bzip2.xs
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/Bzip2.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/Bzip2.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/Bzip2.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/README
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/LICENSE
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/LICENSE	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/LICENSE	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/LICENSE
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/blocksort.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/blocksort.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/blocksort.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/blocksort.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2recover.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2recover.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2recover.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzip2recover.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/bzlib_private.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/compress.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/compress.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/compress.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/compress.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/crctable.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/crctable.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/crctable.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/crctable.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/decompress.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/decompress.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/decompress.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/decompress.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/dlltest.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/dlltest.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/dlltest.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/dlltest.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/huffman.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/huffman.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/huffman.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/huffman.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/mk251.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/mk251.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/mk251.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/mk251.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/randtable.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/randtable.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/randtable.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/randtable.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/spewG.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/spewG.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/spewG.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/spewG.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/unzcrash.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/unzcrash.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/unzcrash.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/bzip2-src/unzcrash.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.xs
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/fallback/constants.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/lib/Compress/Raw/Bzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/pod/FAQ.pod
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/pod/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/pod/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/pod/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/t/000prereq.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/t/000prereq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/t/000prereq.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/t/000prereq.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/t/01bzip2.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/t/01bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/t/01bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/t/01bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/t/09limitoutput.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/t/09limitoutput.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/t/09limitoutput.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/t/09limitoutput.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/t/99pod.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/t/99pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/t/99pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/t/99pod.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Bzip2/typemap
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Bzip2/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Bzip2/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Bzip2/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/README
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/Zlib.xs
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/Zlib.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/Zlib.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/Zlib.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/config.in
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/config.in	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/config.in	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/config.in
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtdef
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtdef	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtdef	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtdef
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtinf
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtinf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtinf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/examples/filtinf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.xs
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/fallback/constants.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/lib/Compress/Raw/Zlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/pod/FAQ.pod
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/pod/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/pod/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/pod/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/t/01version.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/t/01version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/t/01version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/t/01version.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/t/02zlib.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/t/02zlib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/t/02zlib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/t/02zlib.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/t/07bufsize.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/t/07bufsize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/t/07bufsize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/t/07bufsize.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/t/09limitoutput.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/t/09limitoutput.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/t/09limitoutput.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/t/09limitoutput.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/t/18lvalue.t
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/t/18lvalue.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/t/18lvalue.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/t/18lvalue.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/typemap
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/adler32.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/adler32.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/adler32.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/adler32.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/compress.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/compress.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/compress.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/compress.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/crc32.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/deflate.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/infback.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/infback.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/infback.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/infback.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffast.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffixed.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffixed.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffixed.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inffixed.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inflate.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/inftrees.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/trees.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/uncompr.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/uncompr.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/uncompr.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/uncompr.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zconf.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zconf.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zconf.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zconf.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zlib.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zlib.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zlib.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zlib.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.c
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.h
===================================================================
--- vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Compress-Raw-Zlib/zlib-src/zutil.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Cwd/Cwd.xs
===================================================================
--- vendor/perl/dist/ext/Cwd/Cwd.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Cwd/Cwd.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Cwd/Cwd.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Cwd/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Cwd/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Cwd/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Cwd/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Cwd/t/cwd.t
===================================================================
--- vendor/perl/dist/ext/Cwd/t/cwd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Cwd/t/cwd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Cwd/t/cwd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Cwd/t/taint.t
===================================================================
--- vendor/perl/dist/ext/Cwd/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Cwd/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Cwd/t/taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/DB_File.pm
===================================================================
--- vendor/perl/dist/ext/DB_File/DB_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/DB_File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/DB_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/DB_File.xs
===================================================================
--- vendor/perl/dist/ext/DB_File/DB_File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/DB_File.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/DB_File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/DB_File_BS
===================================================================
--- vendor/perl/dist/ext/DB_File/DB_File_BS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/DB_File_BS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/DB_File_BS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/DB_File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/config.in
===================================================================
--- vendor/perl/dist/ext/DB_File/config.in	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/config.in	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/config.in
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/dbinfo
===================================================================
--- vendor/perl/dist/ext/DB_File/dbinfo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/dbinfo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/dbinfo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/hints/dynixptx.pl
===================================================================
--- vendor/perl/dist/ext/DB_File/hints/dynixptx.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/hints/dynixptx.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/hints/dynixptx.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/hints/sco.pl
===================================================================
--- vendor/perl/dist/ext/DB_File/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/t/db-btree.t
===================================================================
--- vendor/perl/dist/ext/DB_File/t/db-btree.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/t/db-btree.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/t/db-btree.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/t/db-hash.t
===================================================================
--- vendor/perl/dist/ext/DB_File/t/db-hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/t/db-hash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/t/db-hash.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/t/db-recno.t
===================================================================
--- vendor/perl/dist/ext/DB_File/t/db-recno.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/t/db-recno.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/t/db-recno.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/typemap
===================================================================
--- vendor/perl/dist/ext/DB_File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DB_File/version.c
===================================================================
--- vendor/perl/dist/ext/DB_File/version.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DB_File/version.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DB_File/version.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/Dumper.pm
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/Dumper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/Dumper.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/Dumper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/Dumper.xs
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/Dumper.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/Dumper.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/Dumper.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/Todo
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/Todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/Todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/Todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/t/bless.t
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/t/bless.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/t/bless.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/t/bless.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/t/bugs.t
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/t/bugs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/t/bugs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/t/bugs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/t/dumper.t
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/t/dumper.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/t/dumper.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/t/dumper.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/t/freezer.t
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/t/freezer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/t/freezer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/t/freezer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/t/overload.t
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/t/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/t/overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/t/overload.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data/Dumper/t/pair.t
===================================================================
--- vendor/perl/dist/ext/Data/Dumper/t/pair.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data/Dumper/t/pair.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data/Dumper/t/pair.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/Dumper.pm
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/Dumper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/Dumper.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/Dumper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/Dumper.xs
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/Dumper.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/Dumper.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/Dumper.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/Todo
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/Todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/Todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/Todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/t/bless.t
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/t/bless.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/t/bless.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/t/bless.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/t/bugs.t
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/t/bugs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/t/bugs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/t/bugs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/t/dumper.t
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/t/dumper.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/t/dumper.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/t/dumper.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/t/freezer.t
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/t/freezer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/t/freezer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/t/freezer.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/t/overload.t
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/t/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/t/overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/t/overload.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Data-Dumper/t/pair.t
===================================================================
--- vendor/perl/dist/ext/Data-Dumper/t/pair.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Data-Dumper/t/pair.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Data-Dumper/t/pair.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/DProf/DProf.pm
===================================================================
--- vendor/perl/dist/ext/Devel/DProf/DProf.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/DProf/DProf.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/DProf/DProf.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/DProf/DProf.xs
===================================================================
--- vendor/perl/dist/ext/Devel/DProf/DProf.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/DProf/DProf.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/DProf/DProf.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/DProf/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Devel/DProf/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/DProf/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/DProf/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/DProf/Todo
===================================================================
--- vendor/perl/dist/ext/Devel/DProf/Todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/DProf/Todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/DProf/Todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/DProf/t/DProf.t
===================================================================
--- vendor/perl/dist/ext/Devel/DProf/t/DProf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/DProf/t/DProf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/DProf/t/DProf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/HACKERS
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/HACKERS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/HACKERS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/HACKERS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/MANIFEST.SKIP
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/MANIFEST.SKIP	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/MANIFEST.SKIP	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/MANIFEST.SKIP
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/PPPort.xs
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/PPPort.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/PPPort.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/PPPort.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/PPPort_pm.PL
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/PPPort_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/PPPort_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/PPPort_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/PPPort_xs.PL
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/PPPort_xs.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/PPPort_xs.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/PPPort_xs.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/README
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/TODO
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/apicheck_c.PL
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/apicheck_c.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/apicheck_c.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/apicheck_c.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/devel/buildperl.pl
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/devel/buildperl.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/devel/buildperl.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/devel/buildperl.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/devel/devtools.pl
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/devel/devtools.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/devel/devtools.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/devel/devtools.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/devel/mkapidoc.sh
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/devel/mkapidoc.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/devel/mkapidoc.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/devel/mkapidoc.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/devel/mktodo
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/devel/mktodo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/devel/mktodo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/devel/mktodo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/devel/mktodo.pl
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/devel/mktodo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/devel/mktodo.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/devel/mktodo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/devel/regenerate
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/devel/regenerate	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/devel/regenerate	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/devel/regenerate
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/devel/scanprov
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/devel/scanprov	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/devel/scanprov	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/devel/scanprov
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/mktests.PL
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/mktests.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/mktests.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/mktests.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/module2.c
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/module2.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/module2.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/module2.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/module3.c
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/module3.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/module3.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/module3.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/apicheck.pl
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/apicheck.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/apicheck.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/apicheck.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/apidoc.fnc
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/apidoc.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/apidoc.fnc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/apidoc.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5004000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5004000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004010
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5004010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5004010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004020
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5004020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5004020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004030
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5004030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5004030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004040
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5004040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5004040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004050
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5004050	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5004050	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5004050
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5005000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5005000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005010
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5005010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5005010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005020
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5005020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5005020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005030
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5005030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5005030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005040
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5005040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5005040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5005040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5006000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5006000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5006000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5006000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5006001
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5006001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5006001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5006001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5006002
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5006002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5006002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5006002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5007000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5007000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5007000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5007000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5007001
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5007001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5007001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5007001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5007002
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5007002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5007002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5007002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5007003
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5007003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5007003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5007003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008001
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008002
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008003
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008004
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008005
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008006
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008006	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008006	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008006
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008007
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008007	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008007	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008007
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008008
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5008008	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5008008	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5008008
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5009000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5009000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009001
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5009001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5009001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009002
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5009002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5009002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009003
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5009003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5009003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009004
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5009004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5009004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009005
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/base/5009005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/base/5009005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/base/5009005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/embed.fnc
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/embed.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/embed.fnc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/embed.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/MY_CXT
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/MY_CXT	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/MY_CXT	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/MY_CXT
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvPV
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvPV	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvPV	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvPV
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvREFCNT
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvREFCNT	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvREFCNT	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/SvREFCNT
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/Sv_set
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/Sv_set	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/Sv_set	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/Sv_set
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/call
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/call	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/call	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/call
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/cop
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/cop	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/cop	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/cop
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/exception
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/exception	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/exception	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/exception
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/format
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/format	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/format	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/format
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/grok
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/grok	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/grok	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/grok
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/limits
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/limits	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/limits	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/limits
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/mPUSH
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/mPUSH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/mPUSH	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/mPUSH
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/magic
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/magic	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/magic	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/magic
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/memory
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/memory	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/memory	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/memory
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/misc
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/misc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/misc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/misc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/newCONSTSUB
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/newCONSTSUB	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/newCONSTSUB	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/newCONSTSUB
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/newRV
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/newRV	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/newRV	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/newRV
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/podtest
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/podtest	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/podtest	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/podtest
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphbin
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphbin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphbin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphbin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphdoc
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphdoc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphdoc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphdoc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphtest
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphtest	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphtest	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/ppphtest
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/pvs
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/pvs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/pvs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/pvs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/shared_pv
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/shared_pv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/shared_pv	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/shared_pv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/snprintf
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/snprintf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/snprintf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/snprintf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/strlfuncs
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/strlfuncs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/strlfuncs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/strlfuncs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/sv_xpvf
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/sv_xpvf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/sv_xpvf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/sv_xpvf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/threads
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/threads	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/threads	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/threads
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/uv
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/uv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/uv	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/uv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/variables
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/variables	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/variables	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/variables
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/version
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/version	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/version	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/version
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/inc/warn
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/inc/warn	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/inc/warn	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/inc/warn
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/ppport.fnc
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/ppport.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/ppport.fnc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/ppport.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/ppptools.pl
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/ppptools.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/ppptools.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/ppptools.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004010
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004020
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004030
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004040
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004050
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004050	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004050	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5004050
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005010
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005020
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005030
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005040
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5005040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006001
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006002
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5006002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007001
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007002
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007003
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5007003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008001
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008002
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008003
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008004
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008005
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008006
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008006	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008006	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008006
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008007
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008007	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008007	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008007
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008008
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008008	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008008	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5008008
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009000
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009001
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009002
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009003
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009004
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009005
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/parts/todo/5009005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/ppport_h.PL
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/ppport_h.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/ppport_h.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/ppport_h.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/soak
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/soak	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/soak	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/soak
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/MY_CXT.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/MY_CXT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/MY_CXT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/MY_CXT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/SvPV.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/SvPV.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/SvPV.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/SvPV.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/SvREFCNT.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/SvREFCNT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/SvREFCNT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/SvREFCNT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/Sv_set.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/Sv_set.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/Sv_set.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/Sv_set.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/call.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/call.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/call.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/call.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/cop.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/cop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/cop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/cop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/exception.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/exception.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/exception.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/exception.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/grok.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/grok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/grok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/grok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/limits.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/limits.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/limits.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/limits.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/mPUSH.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/mPUSH.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/mPUSH.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/mPUSH.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/magic.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/magic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/magic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/memory.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/memory.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/memory.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/memory.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/misc.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/misc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/misc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/newCONSTSUB.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/newCONSTSUB.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/newCONSTSUB.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/newCONSTSUB.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/newRV.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/newRV.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/newRV.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/newRV.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/podtest.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/podtest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/podtest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/podtest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/ppphtest.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/ppphtest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/ppphtest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/ppphtest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/pvs.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/pvs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/pvs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/pvs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/shared_pv.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/shared_pv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/shared_pv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/shared_pv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/snprintf.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/snprintf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/snprintf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/snprintf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/strlfuncs.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/strlfuncs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/strlfuncs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/strlfuncs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/sv_xpvf.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/sv_xpvf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/sv_xpvf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/sv_xpvf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/testutil.pl
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/testutil.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/testutil.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/testutil.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/threads.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/uv.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/uv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/uv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/uv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/variables.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/variables.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/variables.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/variables.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/t/warn.t
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/t/warn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/t/warn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/t/warn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/PPPort/typemap
===================================================================
--- vendor/perl/dist/ext/Devel/PPPort/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/PPPort/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/PPPort/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/Peek/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Devel/Peek/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/Peek/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/Peek/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/Peek/Peek.pm
===================================================================
--- vendor/perl/dist/ext/Devel/Peek/Peek.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/Peek/Peek.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/Peek/Peek.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/Peek/Peek.xs
===================================================================
--- vendor/perl/dist/ext/Devel/Peek/Peek.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/Peek/Peek.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/Peek/Peek.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel/Peek/t/Peek.t
===================================================================
--- vendor/perl/dist/ext/Devel/Peek/t/Peek.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel/Peek/t/Peek.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel/Peek/t/Peek.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-DProf/DProf.pm
===================================================================
--- vendor/perl/dist/ext/Devel-DProf/DProf.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-DProf/DProf.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-DProf/DProf.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-DProf/DProf.xs
===================================================================
--- vendor/perl/dist/ext/Devel-DProf/DProf.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-DProf/DProf.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-DProf/DProf.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-DProf/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Devel-DProf/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-DProf/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-DProf/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-DProf/Todo
===================================================================
--- vendor/perl/dist/ext/Devel-DProf/Todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-DProf/Todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-DProf/Todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-DProf/t/DProf.t
===================================================================
--- vendor/perl/dist/ext/Devel-DProf/t/DProf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-DProf/t/DProf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-DProf/t/DProf.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/HACKERS
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/HACKERS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/HACKERS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/HACKERS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/MANIFEST.SKIP
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/MANIFEST.SKIP	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/MANIFEST.SKIP	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/MANIFEST.SKIP
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/PPPort.xs
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/PPPort.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/PPPort.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/PPPort.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/PPPort_pm.PL
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/PPPort_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/PPPort_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/PPPort_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/PPPort_xs.PL
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/PPPort_xs.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/PPPort_xs.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/PPPort_xs.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/README
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/TODO
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/apicheck_c.PL
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/apicheck_c.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/apicheck_c.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/apicheck_c.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/devel/buildperl.pl
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/devel/buildperl.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/devel/buildperl.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/devel/buildperl.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/devel/devtools.pl
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/devel/devtools.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/devel/devtools.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/devel/devtools.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/devel/mkapidoc.sh
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/devel/mkapidoc.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/devel/mkapidoc.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/devel/mkapidoc.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/devel/mktodo
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/devel/mktodo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/devel/mktodo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/devel/mktodo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/devel/mktodo.pl
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/devel/mktodo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/devel/mktodo.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/devel/mktodo.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/devel/regenerate
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/devel/regenerate	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/devel/regenerate	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/devel/regenerate
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/devel/scanprov
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/devel/scanprov	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/devel/scanprov	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/devel/scanprov
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/mktests.PL
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/mktests.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/mktests.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/mktests.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/module2.c
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/module2.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/module2.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/module2.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/module3.c
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/module3.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/module3.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/module3.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/apicheck.pl
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/apicheck.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/apicheck.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/apicheck.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/apidoc.fnc
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/apidoc.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/apidoc.fnc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/apidoc.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5004000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5004000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004010
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5004010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5004010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004020
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5004020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5004020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004030
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5004030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5004030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004040
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5004040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5004040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004050
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5004050	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5004050	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5004050
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5005000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5005000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005010
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5005010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5005010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005020
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5005020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5005020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005030
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5005030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5005030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005040
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5005040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5005040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5005040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5006000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5006000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5006000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5006000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5006001
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5006001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5006001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5006001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5006002
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5006002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5006002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5006002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5007000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5007000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5007000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5007000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5007001
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5007001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5007001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5007001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5007002
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5007002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5007002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5007002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5007003
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5007003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5007003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5007003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008001
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008002
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008003
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008004
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008005
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008006
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008006	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008006	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008006
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008007
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008007	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008007	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008007
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008008
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5008008	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5008008	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5008008
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5009000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5009000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009001
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5009001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5009001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009002
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5009002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5009002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009003
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5009003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5009003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009004
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5009004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5009004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009005
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5009005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5009005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5009005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5010000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5010000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5010000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5010000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/base/5011000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/base/5011000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/base/5011000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/base/5011000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/embed.fnc
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/embed.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/embed.fnc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/embed.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/HvNAME
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/HvNAME	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/HvNAME	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/HvNAME
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/MY_CXT
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/MY_CXT	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/MY_CXT	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/MY_CXT
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvPV
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvPV	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvPV	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvPV
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvREFCNT
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvREFCNT	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvREFCNT	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/SvREFCNT
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/Sv_set
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/Sv_set	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/Sv_set	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/Sv_set
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/call
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/call	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/call	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/call
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/cop
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/cop	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/cop	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/cop
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/exception
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/exception	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/exception	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/exception
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/format
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/format	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/format	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/format
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/grok
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/grok	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/grok	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/grok
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/gv
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/gv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/gv	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/gv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/limits
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/limits	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/limits	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/limits
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/mPUSH
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/mPUSH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/mPUSH	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/mPUSH
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/magic
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/magic	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/magic	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/magic
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/memory
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/memory	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/memory	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/memory
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/misc
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/misc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/misc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/misc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/newCONSTSUB
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/newCONSTSUB	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/newCONSTSUB	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/newCONSTSUB
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/newRV
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/newRV	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/newRV	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/newRV
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSV_type
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSV_type	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSV_type	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSV_type
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSVpv
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSVpv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSVpv	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/newSVpv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/podtest
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/podtest	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/podtest	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/podtest
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphbin
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphbin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphbin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphbin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphdoc
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphdoc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphdoc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphdoc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphtest
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphtest	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphtest	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/ppphtest
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/pv_tools
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/pv_tools	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/pv_tools	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/pv_tools
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/pvs
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/pvs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/pvs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/pvs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/shared_pv
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/shared_pv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/shared_pv	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/shared_pv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/snprintf
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/snprintf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/snprintf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/snprintf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/sprintf
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/sprintf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/sprintf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/sprintf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/strlfuncs
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/strlfuncs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/strlfuncs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/strlfuncs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/sv_xpvf
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/sv_xpvf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/sv_xpvf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/sv_xpvf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/threads
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/threads	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/threads	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/threads
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/uv
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/uv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/uv	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/uv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/variables
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/variables	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/variables	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/variables
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/version
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/version	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/version	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/version
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/inc/warn
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/inc/warn	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/inc/warn	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/inc/warn
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/ppport.fnc
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/ppport.fnc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/ppport.fnc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/ppport.fnc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/ppptools.pl
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/ppptools.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/ppptools.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/ppptools.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004010
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004020
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004030
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004040
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004050
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004050	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004050	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5004050
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005010
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005010	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005010	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005010
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005020
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005020	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005020	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005020
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005030
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005030	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005030	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005030
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005040
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005040	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005040	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5005040
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006001
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006002
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5006002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007001
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007002
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007003
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5007003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008001
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008002
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008003
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008004
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008005
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008006
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008006	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008006	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008006
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008007
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008007	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008007	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008007
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008008
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008008	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008008	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5008008
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009001
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009001	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009001	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009001
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009002
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009002	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009002	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009002
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009003
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009003	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009003	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009003
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009004
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009004	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009004	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009004
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009005
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009005	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009005	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5009005
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5010000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5010000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5010000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5010000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5011000
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/parts/todo/5011000	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/parts/todo/5011000	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/parts/todo/5011000
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/ppport_h.PL
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/ppport_h.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/ppport_h.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/ppport_h.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/soak
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/soak	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/soak	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/soak
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/HvNAME.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/HvNAME.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/HvNAME.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/HvNAME.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/MY_CXT.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/MY_CXT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/MY_CXT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/MY_CXT.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/SvPV.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/SvPV.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/SvPV.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/SvPV.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/SvREFCNT.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/SvREFCNT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/SvREFCNT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/SvREFCNT.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/Sv_set.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/Sv_set.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/Sv_set.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/Sv_set.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/call.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/call.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/call.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/call.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/cop.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/cop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/cop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/cop.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/exception.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/exception.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/exception.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/exception.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/format.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/format.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/format.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/format.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/grok.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/grok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/grok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/grok.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/gv.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/gv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/gv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/gv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/limits.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/limits.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/limits.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/limits.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/mPUSH.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/mPUSH.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/mPUSH.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/mPUSH.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/magic.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/magic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/magic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/memory.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/memory.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/memory.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/memory.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/misc.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/misc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/misc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/newCONSTSUB.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/newCONSTSUB.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/newCONSTSUB.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/newCONSTSUB.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/newRV.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/newRV.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/newRV.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/newRV.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/newSV_type.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/newSV_type.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/newSV_type.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/newSV_type.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/newSVpv.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/newSVpv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/newSVpv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/newSVpv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/podtest.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/podtest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/podtest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/podtest.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/ppphtest.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/ppphtest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/ppphtest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/ppphtest.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/pv_tools.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/pv_tools.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/pv_tools.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/pv_tools.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/pvs.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/pvs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/pvs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/pvs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/shared_pv.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/shared_pv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/shared_pv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/shared_pv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/snprintf.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/snprintf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/snprintf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/snprintf.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/sprintf.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/sprintf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/sprintf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/sprintf.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/strlfuncs.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/strlfuncs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/strlfuncs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/strlfuncs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/sv_xpvf.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/sv_xpvf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/sv_xpvf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/sv_xpvf.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/testutil.pl
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/testutil.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/testutil.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/testutil.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/threads.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/threads.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/uv.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/uv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/uv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/uv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/variables.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/variables.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/variables.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/variables.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/t/warn.t
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/t/warn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/t/warn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/t/warn.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-PPPort/typemap
===================================================================
--- vendor/perl/dist/ext/Devel-PPPort/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-PPPort/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-PPPort/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Devel-Peek/Changes
===================================================================
--- vendor/perl/dist/ext/Devel-Peek/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-Peek/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -66,3 +66,8 @@
 1.02:
 	2004-10-22: Document "hash quality" output and update examples.
 
+1.09:
+	2012-07-23: Modify tests for 5.18's slightly different flags.
+1.10:
+        2012-08-22: Update so compiles under C++ with new PADLIST changes in
+                    the Perl core


Property changes on: vendor/perl/dist/ext/Devel-Peek/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Devel-Peek/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Devel-Peek/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-Peek/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Devel-Peek/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Devel-Peek/Peek.pm
===================================================================
--- vendor/perl/dist/ext/Devel-Peek/Peek.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-Peek/Peek.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 
 package Devel::Peek;
 
-$VERSION = '1.07';
+$VERSION = '1.11';
 $XS_VERSION = $VERSION;
 $VERSION = eval $VERSION;
 
@@ -139,7 +139,7 @@
 
 Use mstat() function to emit a memory state statistic to the terminal.
 For more information on the format of output of mstat() see
-L<perldebguts/Using C<$ENV{PERL_DEBUG_MSTATS}>>.
+L<perldebguts/Using $ENV{PERL_DEBUG_MSTATS}>.
 
 Three additional functions allow access to this statistic from Perl.
 First, use C<mstats_fillhash(%hash)> to get the information contained
@@ -152,9 +152,10 @@
 provide per-bucket count of free and used chunks.  Two other fields
 C<mem_size>, C<available_size> contain array references which provide
 the information about the allocated size and usable size of chunks in
-each bucket.  Again, see L<perldebguts/Using C<$ENV{PERL_DEBUG_MSTATS}>>
+each bucket.  Again, see L<perldebguts/Using $ENV{PERL_DEBUG_MSTATS}>
 for details.
 
+
 Keep in mind that only the first several "odd-numbered" buckets are
 used, so the information on size of the "odd-numbered" buckets which are
 not used is probably meaningless.
@@ -410,7 +411,7 @@
 	      IV = 42
 
 This shows C<$a> is a reference pointing to an SV.  That SV is a PVHV, a
-hash. Fields RITER and EITER are used by C<L<each>>.
+hash. Fields RITER and EITER are used by C<L<perlfunc/each>>.
 
 The "quality" of a hash is defined as the total number of comparisons needed
 to access every element once, relative to the expected number needed for a


Property changes on: vendor/perl/dist/ext/Devel-Peek/Peek.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Devel-Peek/Peek.xs
===================================================================
--- vendor/perl/dist/ext/Devel-Peek/Peek.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-Peek/Peek.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,7 +23,7 @@
     SV* sva;
     SV* sv;
     SV* ret = newRV_noinc((SV*)newAV());
-    register SV* svend;
+    SV* svend;
     int tm = 0, tref = 0, ts = 0, ta = 0, tas = 0;
 
     for (sva = PL_sv_arenaroot; sva; sva = (SV*)SvANY(sva)) {
@@ -31,7 +31,8 @@
 	for (sv = sva + 1; sv < svend; ++sv) {
 	    if (SvTYPE(sv) == SVt_PVCV) {
 		CV *cv = (CV*)sv;
-		AV* padlist = CvPADLIST(cv), *argav;
+		PADLIST* padlist = CvPADLIST(cv);
+                AV *argav;
 		SV** svp;
 		SV** pad;
 		int i = 0, j, levelm, totm = 0, levelref, totref = 0;
@@ -53,10 +54,11 @@
 		    PerlIO_printf(Perl_debug_log, "  busy\n");
 		    continue;
 		}
-		svp = AvARRAY(padlist);
-		while (++i <= AvFILL(padlist)) { /* Depth. */
+		svp = (SV**) PadlistARRAY(padlist);
+		while (++i <= PadlistMAX(padlist)) { /* Depth. */
 		    SV **args;
 		    
+		    if (!svp[i]) continue;
 		    pad = AvARRAY((AV*)svp[i]);
 		    argav = (AV*)pad[0];
 		    if (!argav || (SV*)argav == &PL_sv_undef) {
@@ -108,7 +110,7 @@
 		    if (dumpit)
 			do_sv_dump(0, Perl_debug_log, (SV*)cv, 0, 2, 0, 0);
 		}
-		if (AvFILL(padlist) > 1) {
+		if (PadlistMAX(padlist) > 1) {
 		    PerlIO_printf(Perl_debug_log, "  total: refs: %i, strings: %i in %i,\targsarrays: %i, argsstrings: %i\n", 
 			    totref, totm, tots, tota, totas);
 		}
@@ -161,6 +163,7 @@
 {
     dTHX;
 
+    if (SvIsCOW(sv)) sv_force_normal(sv);
     if (SvREADONLY(sv))
 	croak("Cannot modify a readonly value");
     SvGROW(sv, sizeof(struct mstats_buffer)+1);


Property changes on: vendor/perl/dist/ext/Devel-Peek/Peek.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Devel-Peek/t/Peek.t
===================================================================
--- vendor/perl/dist/ext/Devel-Peek/t/Peek.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Devel-Peek/t/Peek.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,6 +25,8 @@
 $::mmmm
 .
 
+use constant thr => $Config{useithreads};
+
 sub do_test {
     my $todo = $_[3];
     my $repeat_todo = $_[4];
@@ -54,11 +56,10 @@
 	    # legitimate regexp, it still isn't true. Seems easier and clearer
 	    # things that look like comments.
 
-	    my $version_condition = qr/\$] [<>]=? 5\.\d\d\d/;
 	    # Could do this is in a s///mge but seems clearer like this:
 	    $pattern = join '', map {
 		# If we identify the version condition, take *it* out whatever
-		s/\s*# ($version_condition(?: && $version_condition)?)$//
+		s/\s*# (\$].*)$//
 		    ? (eval $1 ? $_ : '')
 		    : $_ # Didn't match, so this line is in
 	    } split /^/, $pattern;
@@ -240,7 +241,7 @@
   FLAGS = \\(ROK\\)
   RV = $ADDR
   SV = PVHV\\($ADDR\\) at $ADDR
-    REFCNT = 1
+    REFCNT = [12]
     FLAGS = \\(SHAREKEYS\\)
     IV = 1					# $] < 5.009
     NV = $FLOAT					# $] < 5.009
@@ -249,11 +250,10 @@
     KEYS = 1
     FILL = 1
     MAX = 7
-    RITER = -1
-    EITER = 0x0
     Elt "123" HASH = $ADDR' . $c_pattern,
 	'',
-	$] > 5.009 && 'The hash iterator used in dump.c sets the OOK flag');
+	$] > 5.009 && $] < 5.015
+	 && 'The hash iterator used in dump.c sets the OOK flag');
 
 do_test('reference to anon sub with empty prototype',
         sub(){@_},
@@ -263,7 +263,8 @@
   RV = $ADDR
   SV = PVCV\\($ADDR\\) at $ADDR
     REFCNT = 2
-    FLAGS = \\($PADMY,POK,pPOK,ANON,WEAKOUTSIDE,CVGV_RC\\)
+    FLAGS = \\($PADMY,POK,pPOK,ANON,WEAKOUTSIDE,CVGV_RC\\) # $] < 5.015 || !thr
+    FLAGS = \\($PADMY,POK,pPOK,ANON,WEAKOUTSIDE,CVGV_RC,DYNFILE\\) # $] >= 5.015 && thr
     IV = 0					# $] < 5.009
     NV = 0					# $] < 5.009
     PROTOTYPE = ""
@@ -278,7 +279,8 @@
     MUTEXP = $ADDR
     OWNER = $ADDR)?
     FLAGS = 0x404				# $] < 5.009
-    FLAGS = 0x490				# $] >= 5.009
+    FLAGS = 0x490		# $] >= 5.009 && ($] < 5.015 || !thr)
+    FLAGS = 0x1490				# $] >= 5.015 && thr
     OUTSIDE_SEQ = \\d+
     PADLIST = $ADDR
     PADNAME = $ADDR\\($ADDR\\) PAD = $ADDR\\($ADDR\\)
@@ -292,7 +294,8 @@
   RV = $ADDR
   SV = PVCV\\($ADDR\\) at $ADDR
     REFCNT = (3|4)
-    FLAGS = \\(\\)
+    FLAGS = \\((?:HASEVAL)?\\)			# $] < 5.015 || !thr
+    FLAGS = \\(DYNFILE(?:,HASEVAL)?\\)		# $] >= 5.015 && thr
     IV = 0					# $] < 5.009
     NV = 0					# $] < 5.009
     COMP_STASH = $ADDR\\t"main"
@@ -302,10 +305,11 @@
     XSUBANY = 0					# $] < 5.009
     GVGV::GV = $ADDR\\t"main" :: "do_test"
     FILE = ".*\\b(?i:peek\\.t)"
-    DEPTH = 1
-(?:    MUTEXP = $ADDR
-    OWNER = $ADDR
-)?    FLAGS = 0x0
+    DEPTH = 1(?:
+    MUTEXP = $ADDR
+    OWNER = $ADDR)?
+    FLAGS = 0x(?:400)?0				# $] < 5.015 || !thr
+    FLAGS = 0x[145]000				# $] >= 5.015 && thr
     OUTSIDE_SEQ = \\d+
     PADLIST = $ADDR
     PADNAME = $ADDR\\($ADDR\\) PAD = $ADDR\\($ADDR\\)
@@ -312,7 +316,6 @@
        \\d+\\. $ADDR<\\d+> \\(\\d+,\\d+\\) "\\$todo"
        \\d+\\. $ADDR<\\d+> \\(\\d+,\\d+\\) "\\$repeat_todo"
        \\d+\\. $ADDR<\\d+> \\(\\d+,\\d+\\) "\\$pattern"
-      \\d+\\. $ADDR<\\d+> \\(\\d+,\\d+\\) "\\$version_condition"
       \\d+\\. $ADDR<\\d+> FAKE "\\$DEBUG"			# $] < 5.009
       \\d+\\. $ADDR<\\d+> FAKE "\\$DEBUG" flags=0x0 index=0	# $] >= 5.009
       \\d+\\. $ADDR<\\d+> \\(\\d+,\\d+\\) "\\$dump"
@@ -328,13 +331,15 @@
   RV = $ADDR
   SV = REGEXP\\($ADDR\\) at $ADDR
     REFCNT = 1
-    FLAGS = \\(OBJECT,POK,FAKE,pPOK\\)
+    FLAGS = \\(OBJECT,POK,FAKE,pPOK\\)		# $] < 5.017006
+    FLAGS = \\(OBJECT,FAKE\\)			# $] >= 5.017006
     PV = $ADDR "\\(\\?\\^:tic\\)"
     CUR = 8
-    LEN = 0
+    LEN = 0					# $] < 5.017006
     STASH = $ADDR\\t"Regexp"'
 . ($] < 5.013 ? '' :
 '
+    COMPFLAGS = 0x0 \(\)
     EXTFLAGS = 0x680000 \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\)
     INTFLAGS = 0x0
     NPARENS = 0
@@ -344,8 +349,9 @@
     MINLENRET = 3
     GOFS = 0
     PRE_PREFIX = 4
-    SEEN_EVALS = 0
     SUBLEN = 0
+    SUBOFFSET = 0
+    SUBCOFFSET = 0
     SUBBEG = 0x0
     ENGINE = $ADDR
     MOTHER_RE = $ADDR
@@ -352,7 +358,9 @@
     PAREN_NAMES = 0x0
     SUBSTRS = $ADDR
     PPRIVATE = $ADDR
-    OFFS = $ADDR'
+    OFFS = $ADDR
+    QR_ANONCV = 0x0(?:
+    SAVED_COPY = 0x0)?'
 ));
 } else {
 do_test('reference to regexp',
@@ -383,7 +391,7 @@
   FLAGS = \\(ROK\\)
   RV = $ADDR
   SV = PVHV\\($ADDR\\) at $ADDR
-    REFCNT = 1
+    REFCNT = [12]
     FLAGS = \\(OBJECT,SHAREKEYS\\)
     IV = 0					# $] < 5.009
     NV = 0					# $] < 5.009
@@ -391,10 +399,11 @@
     ARRAY = 0x0
     KEYS = 0
     FILL = 0
-    MAX = 7
-    RITER = -1
-    EITER = 0x0', '',
-	$] > 5.009 ? 'The hash iterator used in dump.c sets the OOK flag'
+    MAX = 7', '',
+	$] > 5.009
+	? $] >= 5.015
+	     ? 0
+	     : 'The hash iterator used in dump.c sets the OOK flag'
 	: "Something causes the HV's array to become allocated");
 
 do_test('typeglob',
@@ -456,7 +465,7 @@
   FLAGS = \\(ROK\\)
   RV = $ADDR
   SV = PVHV\\($ADDR\\) at $ADDR
-    REFCNT = 1
+    REFCNT = [12]
     FLAGS = \\(SHAREKEYS,HASKFLAGS\\)
     UV = 1					# $] < 5.009
     NV = $FLOAT					# $] < 5.009
@@ -465,8 +474,6 @@
     KEYS = 1
     FILL = 1
     MAX = 7
-    RITER = -1
-    EITER = $ADDR
     Elt "\\\214\\\101" \[UTF8 "\\\x\{100\}"\] HASH = $ADDR
     SV = PV\\($ADDR\\) at $ADDR
       REFCNT = 1
@@ -474,7 +481,10 @@
       PV = $ADDR "\\\235\\\101"\\\0 \[UTF8 "\\\x\{200\}"\]
       CUR = 2
       LEN = \\d+',
-	$] > 5.009 ? 'The hash iterator used in dump.c sets the OOK flag'
+	$] > 5.009
+	? $] >= 5.015
+	    ?  0
+	    : 'The hash iterator used in dump.c sets the OOK flag'
 	: 'sv_length has been called on the element, and cached the result in MAGIC');
 } else {
 do_test('reference to hash containing Unicode',
@@ -484,7 +494,7 @@
   FLAGS = \\(ROK\\)
   RV = $ADDR
   SV = PVHV\\($ADDR\\) at $ADDR
-    REFCNT = 1
+    REFCNT = [12]
     FLAGS = \\(SHAREKEYS,HASKFLAGS\\)
     UV = 1					# $] < 5.009
     NV = 0					# $] < 5.009
@@ -493,8 +503,6 @@
     KEYS = 1
     FILL = 1
     MAX = 7
-    RITER = -1
-    EITER = $ADDR
     Elt "\\\304\\\200" \[UTF8 "\\\x\{100\}"\] HASH = $ADDR
     SV = PV\\($ADDR\\) at $ADDR
       REFCNT = 1
@@ -502,7 +510,10 @@
       PV = $ADDR "\\\310\\\200"\\\0 \[UTF8 "\\\x\{200\}"\]
       CUR = 2
       LEN = \\d+', '',
-	$] > 5.009 ? 'The hash iterator used in dump.c sets the OOK flag'
+	$] > 5.009
+	? $] >= 5.015
+	    ?  0
+	    : 'The hash iterator used in dump.c sets the OOK flag'
 	: 'sv_length has been called on the element, and cached the result in MAGIC');
 }
 
@@ -512,12 +523,13 @@
         $x,
 'SV = PVMG\\($ADDR\\) at $ADDR
   REFCNT = 1
-  FLAGS = \\($PADMY,SMG,POK,pPOK\\)
-  IV = 0
+  FLAGS = \\($PADMY,SMG,POK,(?:IsCOW,)?pPOK\\)
+  IV = \d+
   NV = 0
   PV = $ADDR ""\\\0
   CUR = 0
-  LEN = \d+
+  LEN = \d+(?:
+  COW_REFCNT = 1)?
   MAGIC = $ADDR
     MG_VIRTUAL = &PL_vtbl_mglob
     MG_TYPE = PERL_MAGIC_regex_global\\(g\\)
@@ -528,14 +540,17 @@
 # TAINTEDDIR is not set on: OS2, AMIGAOS, WIN32, MSDOS
 # environment variables may be invisibly case-forced, hence the (?i:PATH)
 # C<scalar(@ARGV)> is turned into an IV on VMS hence the (?:IV)?
+# Perl 5.18 ensures all env vars end up as strings only, hence the (?:,pIOK)?
+# Perl 5.18 ensures even magic vars have public OK, hence the (?:,POK)?
 # VMS is setting FAKE and READONLY flags.  What VMS uses for storing
 # ENV hashes is also not always null terminated.
 #
-do_test('tainted value in %ENV',
-        $ENV{PATH}=@ARGV,  # scalar(@ARGV) is a handy known tainted value
+if (${^TAINT}) {
+  do_test('tainted value in %ENV',
+          $ENV{PATH}=@ARGV,  # scalar(@ARGV) is a handy known tainted value
 'SV = PVMG\\($ADDR\\) at $ADDR
   REFCNT = 1
-  FLAGS = \\(GMG,SMG,RMG,pIOK,pPOK\\)
+  FLAGS = \\(GMG,SMG,RMG(?:,POK)?(?:,pIOK)?,pPOK\\)
   IV = 0
   NV = 0
   PV = $ADDR "0"\\\0
@@ -558,6 +573,7 @@
   MAGIC = $ADDR
     MG_VIRTUAL = &PL_vtbl_taint
     MG_TYPE = PERL_MAGIC_taint\\(t\\)');
+}
 
 do_test('blessed reference',
 	bless(\\undef, 'Foobar'),
@@ -591,7 +607,8 @@
   RV = $ADDR
   SV = PVCV\\($ADDR\\) at $ADDR
     REFCNT = (2)
-    FLAGS = \\(POK,pPOK,CONST,ISXSUB\\)
+    FLAGS = \\(POK,pPOK,CONST,ISXSUB\\)		# $] < 5.015
+    FLAGS = \\(POK,pPOK,CONST,DYNFILE,ISXSUB\\)	# $] >= 5.015
     IV = 0					# $] < 5.009
     NV = 0					# $] < 5.009
     PROTOTYPE = ""
@@ -612,7 +629,8 @@
     OWNER = $ADDR)?
     FLAGS = 0x200				# $] < 5.009
     FLAGS = 0xc00				# $] >= 5.009 && $] < 5.013
-    FLAGS = 0xc					# $] >= 5.013
+    FLAGS = 0xc					# $] >= 5.013 && $] < 5.015
+    FLAGS = 0x100c				# $] >= 5.015
     OUTSIDE_SEQ = 0
     PADLIST = 0x0
     OUTSIDE = 0x0 \\(null\\)');	
@@ -660,7 +678,8 @@
   RV = $ADDR
   SV = PVFM\\($ADDR\\) at $ADDR
     REFCNT = 2
-    FLAGS = \\(\\)
+    FLAGS = \\(\\)				# $] < 5.015 || !thr
+    FLAGS = \\(DYNFILE\\)			# $] >= 5.015 && thr
     IV = 0					# $] < 5.009
     NV = 0					# $] < 5.009
 (?:    PV = 0
@@ -670,13 +689,14 @@
     XSUB = 0x0					# $] < 5.009
     XSUBANY = 0					# $] < 5.009
     GVGV::GV = $ADDR\\t"main" :: "PIE"
-    FILE = ".*\\b(?i:peek\\.t)"
-(?:    DEPTH = 0
+    FILE = ".*\\b(?i:peek\\.t)"(?:
+    DEPTH = 0)?(?:
     MUTEXP = $ADDR
-    OWNER = $ADDR
-)?    FLAGS = 0x0
+    OWNER = $ADDR)?
+    FLAGS = 0x0					# $] < 5.015 || !thr
+    FLAGS = 0x1000				# $] >= 5.015 && thr
     OUTSIDE_SEQ = \\d+
-    LINES = 0
+    LINES = 0					# $] < 5.017_003
     PADLIST = $ADDR
     PADNAME = $ADDR\\($ADDR\\) PAD = $ADDR\\($ADDR\\)
     OUTSIDE = $ADDR \\(MAIN\\)');
@@ -688,7 +708,7 @@
   FLAGS = \\(ROK\\)
   RV = $ADDR
   SV = PVHV\\($ADDR\\) at $ADDR
-    REFCNT = 1
+    REFCNT = [12]
     FLAGS = \\(OBJECT,SHAREKEYS\\)
     IV = 0					# $] < 5.009
     NV = 0					# $] < 5.009
@@ -696,10 +716,11 @@
     ARRAY = $ADDR
     KEYS = 0
     FILL = 0
-    MAX = 7
-    RITER = -1
-    EITER = 0x0', '',
-	$] > 5.009 ? 'The hash iterator used in dump.c sets the OOK flag'
+    MAX = 7', '',
+	$] > 5.009
+	? $] >= 5.015
+	    ?  0
+	    : 'The hash iterator used in dump.c sets the OOK flag'
 	: "Something causes the HV's array to become allocated");
 
 do_test('ENAME on a stash',
@@ -719,6 +740,7 @@
     MAX = 7
     RITER = -1
     EITER = 0x0
+    RAND = $ADDR
     NAME = "RWOM"
     ENAME = "RWOM"				# $] > 5.012
 ');
@@ -742,6 +764,7 @@
     MAX = 7
     RITER = -1
     EITER = 0x0
+    RAND = $ADDR
     NAME = "RWOM"
     NAMECOUNT = 2				# $] > 5.012
     ENAME = "RWOM", "KLANK"			# $] > 5.012
@@ -757,7 +780,8 @@
   RV = $ADDR
   SV = PVHV\\($ADDR\\) at $ADDR
     REFCNT = 3
-    FLAGS = \\(OOK,SHAREKEYS\\)
+    FLAGS = \\(OOK,SHAREKEYS\\)			# $] < 5.017
+    FLAGS = \\(OOK,OVERLOAD,SHAREKEYS\\)	# $] >=5.017
     IV = 1					# $] < 5.009
     NV = $FLOAT					# $] < 5.009
     ARRAY = $ADDR
@@ -766,8 +790,182 @@
     MAX = 7
     RITER = -1
     EITER = 0x0
+    RAND = $ADDR
     NAMECOUNT = -3				# $] > 5.012
     ENAME = "RWOM", "KLANK"			# $] > 5.012
 ');
 
+SKIP: {
+    skip "Not built with usemymalloc", 1
+      unless $Config{usemymalloc} eq 'y';
+    my $x = __PACKAGE__;
+    ok eval { fill_mstats($x); 1 }, 'fill_mstats on COW scalar'
+     or diag $@;
+}
+
+# This is more a test of fbm_compile/pp_study (non) interaction than dumping
+# prowess, but short of duplicating all the gubbins of this file, I can't see
+# a way to make a better place for it:
+
+use constant {
+    perl => 'rules',
+    beer => 'foamy',
+};
+
+unless ($Config{useithreads}) {
+    # These end up as copies in pads under ithreads, which rather defeats the
+    # the point of what we're trying to test here.
+
+    do_test('regular string constant', perl,
+'SV = PV\\($ADDR\\) at $ADDR
+  REFCNT = 5
+  FLAGS = \\(PADMY,POK,READONLY,pPOK\\)
+  PV = $ADDR "rules"\\\0
+  CUR = 5
+  LEN = \d+
+');
+
+    eval 'index "", perl';
+
+    # FIXME - really this shouldn't say EVALED. It's a false posistive on
+    # 0x40000000 being used for several things, not a flag for "I'm in a string
+    # eval"
+
+    do_test('string constant now an FBM', perl,
+'SV = PVMG\\($ADDR\\) at $ADDR
+  REFCNT = 5
+  FLAGS = \\(PADMY,SMG,POK,READONLY,pPOK,VALID,EVALED\\)
+  PV = $ADDR "rules"\\\0
+  CUR = 5
+  LEN = \d+
+  MAGIC = $ADDR
+    MG_VIRTUAL = &PL_vtbl_regexp
+    MG_TYPE = PERL_MAGIC_bm\\(B\\)
+    MG_LEN = 256
+    MG_PTR = $ADDR "(?:\\\\\d){256}"
+  RARE = \d+
+  PREVIOUS = 1
+  USEFUL = 100
+');
+
+    is(study perl, '', "Not allowed to study an FBM");
+
+    do_test('string constant still an FBM', perl,
+'SV = PVMG\\($ADDR\\) at $ADDR
+  REFCNT = 5
+  FLAGS = \\(PADMY,SMG,POK,READONLY,pPOK,VALID,EVALED\\)
+  PV = $ADDR "rules"\\\0
+  CUR = 5
+  LEN = \d+
+  MAGIC = $ADDR
+    MG_VIRTUAL = &PL_vtbl_regexp
+    MG_TYPE = PERL_MAGIC_bm\\(B\\)
+    MG_LEN = 256
+    MG_PTR = $ADDR "(?:\\\\\d){256}"
+  RARE = \d+
+  PREVIOUS = 1
+  USEFUL = 100
+');
+
+    do_test('regular string constant', beer,
+'SV = PV\\($ADDR\\) at $ADDR
+  REFCNT = 6
+  FLAGS = \\(PADMY,POK,READONLY,pPOK\\)
+  PV = $ADDR "foamy"\\\0
+  CUR = 5
+  LEN = \d+
+');
+
+    is(study beer, 1, "Our studies were successful");
+
+    do_test('string constant quite unaffected', beer, 'SV = PV\\($ADDR\\) at $ADDR
+  REFCNT = 6
+  FLAGS = \\(PADMY,POK,READONLY,pPOK\\)
+  PV = $ADDR "foamy"\\\0
+  CUR = 5
+  LEN = \d+
+');
+
+    my $want = 'SV = PVMG\\($ADDR\\) at $ADDR
+  REFCNT = 6
+  FLAGS = \\(PADMY,SMG,POK,READONLY,pPOK,VALID,EVALED\\)
+  PV = $ADDR "foamy"\\\0
+  CUR = 5
+  LEN = \d+
+  MAGIC = $ADDR
+    MG_VIRTUAL = &PL_vtbl_regexp
+    MG_TYPE = PERL_MAGIC_bm\\(B\\)
+    MG_LEN = 256
+    MG_PTR = $ADDR "(?:\\\\\d){256}"
+  RARE = \d+
+  PREVIOUS = \d+
+  USEFUL = 100
+';
+
+    is (eval 'index "not too foamy", beer', 8, 'correct index');
+
+    do_test('string constant now FBMed', beer, $want);
+
+    my $pie = 'good';
+
+    is(study $pie, 1, "Our studies were successful");
+
+    do_test('string constant still FBMed', beer, $want);
+
+    do_test('second string also unaffected', $pie, 'SV = PV\\($ADDR\\) at $ADDR
+  REFCNT = 1
+  FLAGS = \\(PADMY,POK,pPOK\\)
+  PV = $ADDR "good"\\\0
+  CUR = 4
+  LEN = \d+
+');
+}
+
+# (One block of study tests removed when study was made a no-op.)
+
+{
+    open(OUT,">peek$$") or die "Failed to open peek $$: $!";
+    open(STDERR, ">&OUT") or die "Can't dup OUT: $!";
+    DeadCode();
+    open(STDERR, ">&SAVERR") or die "Can't restore STDERR: $!";
+    pass "no crash with DeadCode";
+    close OUT;
+}
+
+do_test('UTF-8 in a regular expression',
+        qr/\x{100}/,
+'SV = IV\($ADDR\) at $ADDR
+  REFCNT = 1
+  FLAGS = \(ROK\)
+  RV = $ADDR
+  SV = REGEXP\($ADDR\) at $ADDR
+    REFCNT = 1
+    FLAGS = \(OBJECT,FAKE,UTF8\)
+    PV = $ADDR "\(\?\^u:\\\\\\\\x\{100\}\)" \[UTF8 "\(\?\^u:\\\\\\\\x\{100\}\)"\]
+    CUR = 13
+    STASH = $ADDR	"Regexp"
+    COMPFLAGS = 0x0 \(\)
+    EXTFLAGS = 0x680040 \(CHECK_ALL,USE_INTUIT_NOML,USE_INTUIT_ML\)
+    INTFLAGS = 0x0
+    NPARENS = 0
+    LASTPAREN = 0
+    LASTCLOSEPAREN = 0
+    MINLEN = 1
+    MINLENRET = 1
+    GOFS = 0
+    PRE_PREFIX = 5
+    SUBLEN = 0
+    SUBOFFSET = 0
+    SUBCOFFSET = 0
+    SUBBEG = 0x0
+    ENGINE = $ADDR
+    MOTHER_RE = $ADDR
+    PAREN_NAMES = 0x0
+    SUBSTRS = $ADDR
+    PPRIVATE = $ADDR
+    OFFS = $ADDR
+    QR_ANONCV = 0x0(?:
+    SAVED_COPY = 0x0)?
+');
+
 done_testing();


Property changes on: vendor/perl/dist/ext/Devel-Peek/t/Peek.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/MD5.pm
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/MD5.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/MD5.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/MD5.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/MD5.xs
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/MD5.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/MD5.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/MD5.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/README
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/hints/MacOS.pl
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/hints/MacOS.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/hints/MacOS.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/hints/MacOS.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/hints/dec_osf.pl
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/hints/dec_osf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/hints/dec_osf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/hints/dec_osf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/hints/irix_6.pl
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/hints/irix_6.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/hints/irix_6.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/hints/irix_6.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/t/align.t
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/t/align.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/t/align.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/t/align.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/t/badfile.t
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/t/badfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/t/badfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/t/badfile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/t/bits.t
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/t/bits.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/t/bits.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/t/bits.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/t/clone.t
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/t/clone.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/t/clone.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/t/clone.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/t/files.t
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/t/files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/t/files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/t/files.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/t/md5-aaa.t
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/t/md5-aaa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/t/md5-aaa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/t/md5-aaa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/t/utf8.t
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/MD5/typemap
===================================================================
--- vendor/perl/dist/ext/Digest/MD5/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/MD5/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/MD5/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/README
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/SHA.pm
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/SHA.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/SHA.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/SHA.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/SHA.xs
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/SHA.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/SHA.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/SHA.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/bin/shasum
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/bin/shasum	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/bin/shasum	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/bin/shasum
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/src/hmac.c
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/src/hmac.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/src/hmac.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/src/hmac.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/src/hmac.h
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/src/hmac.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/src/hmac.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/src/hmac.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/src/hmacxtra.c
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/src/hmacxtra.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/src/hmacxtra.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/src/hmacxtra.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/src/sha.c
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/src/sha.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/src/sha.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/src/sha.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/src/sha.h
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/src/sha.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/src/sha.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/src/sha.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/src/sha64bit.c
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/src/sha64bit.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/src/sha64bit.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/src/sha64bit.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/src/sha64bit.h
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/src/sha64bit.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/src/sha64bit.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/src/sha64bit.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/src/shaxtra.c
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/src/shaxtra.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/src/shaxtra.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/src/shaxtra.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/allfcns.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/allfcns.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/allfcns.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/allfcns.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/base64.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/base64.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/base64.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/base64.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/bitbuf.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/bitbuf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/bitbuf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/bitbuf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/dumpload.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/dumpload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/dumpload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/dumpload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/fips198.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/fips198.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/fips198.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/fips198.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/gg.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/gg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/gg.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/gg.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/gglong.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/gglong.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/gglong.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/gglong.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/hmacsha.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/hmacsha.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/hmacsha.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/hmacsha.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/ireland.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/ireland.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/ireland.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/ireland.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/methods.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/methods.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/methods.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/methods.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/nistbit.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/nistbit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/nistbit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/nistbit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/nistbyte.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/nistbyte.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/nistbyte.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/nistbyte.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/rfc2202.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/rfc2202.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/rfc2202.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/rfc2202.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/sha1.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/sha1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/sha1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/sha1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/sha224.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/sha224.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/sha224.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/sha224.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/sha256.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/sha256.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/sha256.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/sha256.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/sha384.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/sha384.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/sha384.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/sha384.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/sha512.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/sha512.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/sha512.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/sha512.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/t/woodbury.t
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/t/woodbury.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/t/woodbury.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/t/woodbury.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest/SHA/typemap
===================================================================
--- vendor/perl/dist/ext/Digest/SHA/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest/SHA/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest/SHA/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/MD5.pm
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/MD5.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/MD5.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/MD5.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/MD5.xs
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/MD5.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/MD5.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/MD5.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/README
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/hints/MacOS.pl
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/hints/MacOS.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/hints/MacOS.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/hints/MacOS.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/hints/dec_osf.pl
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/hints/dec_osf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/hints/dec_osf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/hints/dec_osf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/hints/irix_6.pl
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/hints/irix_6.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/hints/irix_6.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/hints/irix_6.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/t/align.t
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/t/align.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/t/align.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/t/align.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/t/badfile.t
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/t/badfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/t/badfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/t/badfile.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/t/bits.t
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/t/bits.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/t/bits.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/t/bits.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/t/clone.t
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/t/clone.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/t/clone.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/t/clone.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/t/files.t
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/t/files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/t/files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/t/files.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/t/md5-aaa.t
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/t/md5-aaa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/t/md5-aaa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/t/md5-aaa.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/t/utf8.t
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/t/utf8.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-MD5/typemap
===================================================================
--- vendor/perl/dist/ext/Digest-MD5/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-MD5/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-MD5/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/README
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/SHA.xs
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/SHA.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/SHA.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/SHA.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/bin/shasum
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/bin/shasum	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/bin/shasum	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/bin/shasum
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/lib/Digest/SHA.pm
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/lib/Digest/SHA.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/lib/Digest/SHA.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/lib/Digest/SHA.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/src/hmac.c
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/src/hmac.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/src/hmac.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/src/hmac.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/src/hmac.h
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/src/hmac.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/src/hmac.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/src/hmac.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/src/hmacxtra.c
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/src/hmacxtra.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/src/hmacxtra.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/src/hmacxtra.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/src/sha.c
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/src/sha.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/src/sha.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/src/sha.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/src/sha.h
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/src/sha.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/src/sha.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/src/sha.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/src/sha64bit.c
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/src/sha64bit.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/src/sha64bit.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/src/sha64bit.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/src/sha64bit.h
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/src/sha64bit.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/src/sha64bit.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/src/sha64bit.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/src/shaxtra.c
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/src/shaxtra.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/src/shaxtra.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/src/shaxtra.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/allfcns.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/allfcns.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/allfcns.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/allfcns.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/base64.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/base64.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/base64.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/base64.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/bitbuf.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/bitbuf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/bitbuf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/bitbuf.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/dumpload.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/dumpload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/dumpload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/dumpload.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/fips198.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/fips198.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/fips198.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/fips198.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/gg.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/gg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/gg.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/gg.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/gglong.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/gglong.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/gglong.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/gglong.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/hmacsha.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/hmacsha.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/hmacsha.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/hmacsha.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/ireland.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/ireland.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/ireland.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/ireland.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/methods.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/methods.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/methods.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/methods.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/nistbit.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/nistbit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/nistbit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/nistbit.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/nistbyte.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/nistbyte.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/nistbyte.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/nistbyte.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/rfc2202.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/rfc2202.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/rfc2202.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/rfc2202.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/sha1.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/sha1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/sha1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/sha1.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/sha224.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/sha224.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/sha224.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/sha224.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/sha256.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/sha256.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/sha256.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/sha256.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/sha384.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/sha384.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/sha384.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/sha384.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/sha512.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/sha512.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/sha512.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/sha512.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/t/woodbury.t
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/t/woodbury.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/t/woodbury.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/t/woodbury.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Digest-SHA/typemap
===================================================================
--- vendor/perl/dist/ext/Digest-SHA/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Digest-SHA/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Digest-SHA/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL
===================================================================
--- vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -85,7 +85,7 @@
 # Tim.Bunce at ig.co.uk, August 1994
 
 BEGIN {
-    $VERSION = '1.13';
+    $VERSION = '1.18';
 }
 
 use Config;


Property changes on: vendor/perl/dist/ext/DynaLoader/DynaLoader_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/DynaLoader/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/README
===================================================================
--- vendor/perl/dist/ext/DynaLoader/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/XSLoader_pm.PL
===================================================================
--- vendor/perl/dist/ext/DynaLoader/XSLoader_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/XSLoader_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/XSLoader_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/dl_aix.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_aix.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_aix.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -210,7 +210,7 @@
 {
 	dTHX;
 	dMY_CXT;
-	register ModulePtr mp;
+	ModulePtr mp;
 
 	/*
 	 * Upon the first call register a terminate handler that will
@@ -316,7 +316,7 @@
 {
 	dTHX;
 	dMY_CXT;
-	register char *p = s;
+	char *p = s;
 
 	while (*p >= '0' && *p <= '9')
 		p++;
@@ -353,9 +353,9 @@
 {
 	dTHX;
 	dMY_CXT;
-	register ModulePtr mp = (ModulePtr)handle;
-	register ExportPtr ep;
-	register int i;
+	ModulePtr mp = (ModulePtr)handle;
+	ExportPtr ep;
+	int i;
 
 	/*
 	 * Could speed up search, but I assume that one assigns
@@ -385,9 +385,9 @@
 {
 	dTHX;
 	dMY_CXT;
-	register ModulePtr mp = (ModulePtr)handle;
+	ModulePtr mp = (ModulePtr)handle;
 	int result;
-	register ModulePtr mp1;
+	ModulePtr mp1;
 
 	if (--mp->refCnt > 0)
 		return 0;
@@ -397,8 +397,8 @@
 		strerrorcpy(dl_errbuf, errno);
 	}
 	if (mp->exports) {
-		register ExportPtr ep;
-		register int i;
+		ExportPtr ep;
+		int i;
 		for (ep = mp->exports, i = mp->nExports; i; i--, ep++)
 			if (ep->name)
 				safefree(ep->name);
@@ -688,21 +688,24 @@
     (void)dl_private_init(aTHX);
 
 
-void *
+void
 dl_load_file(filename, flags=0)
 	char *	filename
 	int	flags
-	CODE:
+        PREINIT:
+        void *retv;
+	PPCODE:
 	DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
 	if (flags & 0x01)
 	    Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename);
-	RETVAL = dlopen(filename, RTLD_GLOBAL|RTLD_LAZY) ;
-	DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", RETVAL));
+	retv = dlopen(filename, RTLD_GLOBAL|RTLD_LAZY) ;
+	DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", retv));
 	ST(0) = sv_newmortal() ;
-	if (RETVAL == NULL)
+	if (retv == NULL)
 	    SaveError(aTHX_ "%s",dlerror()) ;
 	else
-	    sv_setiv( ST(0), PTR2IV(RETVAL) );
+	    sv_setiv( ST(0), PTR2IV(retv) );
+        XSRETURN(1);
 
 int
 dl_unload_file(libref)
@@ -716,25 +719,27 @@
   OUTPUT:
     RETVAL
 
-void *
+void
 dl_find_symbol(libhandle, symbolname)
 	void *		libhandle
 	char *		symbolname
-	CODE:
+	PREINIT:
+        void *retv;
+        CODE:
 	DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_find_symbol(handle=%x, symbol=%s)\n",
 		libhandle, symbolname));
-	RETVAL = dlsym(libhandle, symbolname);
-	DLDEBUG(2,PerlIO_printf(Perl_debug_log, "  symbolref = %x\n", RETVAL));
+	retv = dlsym(libhandle, symbolname);
+	DLDEBUG(2,PerlIO_printf(Perl_debug_log, "  symbolref = %x\n", retv));
 	ST(0) = sv_newmortal() ;
-	if (RETVAL == NULL)
+	if (retv == NULL)
 	    SaveError(aTHX_ "%s",dlerror()) ;
 	else
-	    sv_setiv( ST(0), PTR2IV(RETVAL));
+	    sv_setiv( ST(0), PTR2IV(retv));
 
 
 void
 dl_undef_symbols()
-	PPCODE:
+	CODE:
 
 
 


Property changes on: vendor/perl/dist/ext/DynaLoader/dl_aix.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/dl_beos.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_beos.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_beos.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/dl_beos.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/dl_dld.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_dld.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_dld.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,12 +7,12 @@
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
- * $Date: 2011-02-17 12:49:41 $
- * $Source: /home/cvs/src/contrib/perl/ext/DynaLoader/dl_dld.xs,v $
- * $Revision: 1.1.1.2 $
+ * $Date: 1994/03/07 00:21:43 $
+ * $Source: /home/rsanders/src/perl5alpha6/RCS/dld_dl.c,v $
+ * $Revision: 1.4 $
  * $State: Exp $
  *
- * $Log: not supported by cvs2svn $
+ * $Log: dld_dl.c,v $
  * Removed implicit link against libc.  1994/09/14 William Setzer.
  *
  * Integrated other DynaLoader changes. 1994/06/08 Tim Bunce.


Property changes on: vendor/perl/dist/ext/DynaLoader/dl_dld.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/dl_dllload.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_dllload.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_dllload.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -105,24 +105,24 @@
     (void)dl_private_init(aTHX);
 
 
-void *
+void
 dl_load_file(filename, flags=0)
     char *	filename
     int		flags
   PREINIT:
     int mode = 0;
-  CODE:
-{
+    void *retv;
+  PPCODE:
     DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
     /* add a (void *) dllload(filename) ; cast if needed */
-    RETVAL = dllload(filename) ;
-    DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) RETVAL));
+    retv = dllload(filename) ;
+    DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%lx\n", (unsigned long) retv));
     ST(0) = sv_newmortal() ;
-    if (RETVAL == NULL)
+    if (retv == NULL)
 	SaveError(aTHX_ "%s",strerror(errno)) ;
     else
-	sv_setiv( ST(0), PTR2IV(RETVAL));
-}
+	sv_setiv( ST(0), PTR2IV(retv));
+    XSRETURN(1);
 
 
 int
@@ -139,28 +139,31 @@
     RETVAL
 
 
-void *
+void
 dl_find_symbol(libhandle, symbolname)
     void *	libhandle
     char *	symbolname
-    CODE:
+    PREINIT:
+    void *retv;
+    PPCODE:
     DLDEBUG(2, PerlIO_printf(Perl_debug_log,
 			     "dl_find_symbol(handle=%lx, symbol=%s)\n",
 			     (unsigned long) libhandle, symbolname));
-    if((RETVAL = (void*)dllqueryfn(libhandle, symbolname)) == NULL)
-    RETVAL = dllqueryvar(libhandle, symbolname);
+    if((retv = (void*)dllqueryfn(libhandle, symbolname)) == NULL)
+    retv  = dllqueryvar(libhandle, symbolname);
     DLDEBUG(2, PerlIO_printf(Perl_debug_log,
-			     "  symbolref = %lx\n", (unsigned long) RETVAL));
+			     "  symbolref = %lx\n", (unsigned long) retv));
     ST(0) = sv_newmortal() ;
-    if (RETVAL == NULL)
+    if (retv == NULL)
 	SaveError(aTHX_ "%s",strerror(errno)) ;
     else
-	sv_setiv( ST(0), PTR2IV(RETVAL));
+	sv_setiv( ST(0), PTR2IV(retv));
+    XSRETURN(1);
 
 
 void
 dl_undef_symbols()
-    PPCODE:
+    CODE:
 
 
 
@@ -171,7 +174,7 @@
     char *		perl_name
     void *		symref 
     const char *	filename
-    CODE:
+    PPCODE:
     DLDEBUG(2,PerlIO_printf(Perl_debug_log, "dl_install_xsub(name=%s, symref=%lx)\n",
 		perl_name, (unsigned long) symref));
     ST(0) = sv_2mortal(newRV((SV*)newXS_flags(perl_name,
@@ -178,6 +181,7 @@
 					      (void(*)(pTHX_ CV *))symref,
 					      filename, NULL,
 					      XS_DYNAMIC_FILENAME)));
+    XSRETURN(1);
 
 
 char *


Property changes on: vendor/perl/dist/ext/DynaLoader/dl_dllload.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/dl_dlopen.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_dlopen.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_dlopen.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/dl_dlopen.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/dl_dyld.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_dyld.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_dyld.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/dl_dyld.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/dl_hpux.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_hpux.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_hpux.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -51,7 +51,7 @@
     (void)dl_private_init(aTHX);
 
 
-void *
+void
 dl_load_file(filename, flags=0)
     char *	filename
     int		flags
@@ -115,7 +115,7 @@
     RETVAL
 
 
-void *
+void
 dl_find_symbol(libhandle, symbolname)
     void *	libhandle
     char *	symbolname
@@ -150,7 +150,7 @@
 
 void
 dl_undef_symbols()
-    PPCODE:
+    CODE:
 
 
 


Property changes on: vendor/perl/dist/ext/DynaLoader/dl_hpux.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/dl_mac.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_mac.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_mac.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/dl_mac.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/dl_mpeix.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_mpeix.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_mpeix.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/dl_mpeix.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/dl_next.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_next.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_next.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -251,29 +251,32 @@
 
 
 
-void *
+void
 dl_load_file(filename, flags=0)
     char *	filename
     int		flags
     PREINIT:
     int mode = 1;
+    void *retv;
     CODE:
     DLDEBUG(1,PerlIO_printf(Perl_debug_log, "dl_load_file(%s,%x):\n", filename,flags));
     if (flags & 0x01)
 	Perl_warn(aTHX_ "Can't make loaded symbols global on this platform while loading %s",filename);
-    RETVAL = dlopen(filename, mode) ;
-    DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", RETVAL));
+    retv = dlopen(filename, mode) ;
+    DLDEBUG(2,PerlIO_printf(Perl_debug_log, " libref=%x\n", retv));
     ST(0) = sv_newmortal() ;
-    if (RETVAL == NULL)
+    if (retv == NULL)
 	SaveError(aTHX_ "%s",dlerror()) ;
     else
-	sv_setiv( ST(0), PTR2IV(RETVAL) );
+	sv_setiv( ST(0), PTR2IV(retv) );
 
 
-void *
+void
 dl_find_symbol(libhandle, symbolname)
     void *		libhandle
     char *		symbolname
+    PREINIT:
+    void *retv;
     CODE:
 #if NS_TARGET_MAJOR >= 4
     symbolname = Perl_form_nocontext("_%s", symbolname);
@@ -281,19 +284,19 @@
     DLDEBUG(2, PerlIO_printf(Perl_debug_log,
 			     "dl_find_symbol(handle=%lx, symbol=%s)\n",
 			     (unsigned long) libhandle, symbolname));
-    RETVAL = dlsym(libhandle, symbolname);
+    retv = dlsym(libhandle, symbolname);
     DLDEBUG(2, PerlIO_printf(Perl_debug_log,
-			     "  symbolref = %lx\n", (unsigned long) RETVAL));
+			     "  symbolref = %lx\n", (unsigned long) retv));
     ST(0) = sv_newmortal() ;
-    if (RETVAL == NULL)
+    if (retv == NULL)
 	SaveError(aTHX_ "%s",dlerror()) ;
     else
-	sv_setiv( ST(0), PTR2IV(RETVAL) );
+	sv_setiv( ST(0), PTR2IV(retv) );
 
 
 void
 dl_undef_symbols()
-    PPCODE:
+    CODE:
 
 
 


Property changes on: vendor/perl/dist/ext/DynaLoader/dl_next.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/dl_none.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_none.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_none.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/dl_none.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/dl_symbian.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_symbian.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_symbian.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/dl_symbian.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/dl_vmesa.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_vmesa.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_vmesa.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/dl_vmesa.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/dl_vms.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_vms.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_vms.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -127,7 +127,7 @@
                      struct dsc$descriptor_s *defspec)
 {
   unsigned long int retsts;
-  VAXC$ESTABLISH(lib$sig_to_ret);
+  VAXC$ESTABLISH((__vms_handler)lib$sig_to_ret);
   retsts = lib$find_image_symbol(imgname,symname,entry,defspec,DL_CASE_SENSITIVE);
   return retsts;
 }


Property changes on: vendor/perl/dist/ext/DynaLoader/dl_vms.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/dl_win32.xs
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dl_win32.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dl_win32.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -67,9 +67,9 @@
 static int
 dl_static_linked(char *filename)
 {
-    char **p;
+    const char * const *p;
     char *ptr, *hptr;
-    static char subStr[] = "/auto/";
+    static const char subStr[] = "/auto/";
     char szBuffer[MAX_PATH];
 
     /* avoid buffer overflow when called with invalid filenames */
@@ -111,26 +111,27 @@
 BOOT:
     (void)dl_private_init(aTHX);
 
-void *
+void
 dl_load_file(filename,flags=0)
     char *		filename
     int			flags
     PREINIT:
+    void *retv;
     CODE:
   {
     DLDEBUG(1,PerlIO_printf(Perl_debug_log,"dl_load_file(%s):\n", filename));
     if (dl_static_linked(filename) == 0) {
-	RETVAL = PerlProc_DynaLoad(filename);
+	retv = PerlProc_DynaLoad(filename);
     }
     else
-	RETVAL = (void*) Win_GetModuleHandle(NULL);
-    DLDEBUG(2,PerlIO_printf(Perl_debug_log," libref=%x\n", RETVAL));
+	retv = (void*) Win_GetModuleHandle(NULL);
+    DLDEBUG(2,PerlIO_printf(Perl_debug_log," libref=%x\n", retv));
     ST(0) = sv_newmortal() ;
-    if (RETVAL == NULL)
+    if (retv == NULL)
 	SaveError(aTHX_ "load_file:%s",
 		  OS_Error_String(aTHX)) ;
     else
-	sv_setiv( ST(0), (IV)RETVAL);
+	sv_setiv( ST(0), (IV)retv);
   }
 
 int
@@ -145,26 +146,28 @@
   OUTPUT:
     RETVAL
 
-void *
+void
 dl_find_symbol(libhandle, symbolname)
     void *	libhandle
     char *	symbolname
+    PREINIT:
+    void *retv;
     CODE:
     DLDEBUG(2,PerlIO_printf(Perl_debug_log,"dl_find_symbol(handle=%x, symbol=%s)\n",
 		      libhandle, symbolname));
-    RETVAL = (void*) GetProcAddress((HINSTANCE) libhandle, symbolname);
-    DLDEBUG(2,PerlIO_printf(Perl_debug_log,"  symbolref = %x\n", RETVAL));
+    retv = (void*) GetProcAddress((HINSTANCE) libhandle, symbolname);
+    DLDEBUG(2,PerlIO_printf(Perl_debug_log,"  symbolref = %x\n", retv));
     ST(0) = sv_newmortal() ;
-    if (RETVAL == NULL)
+    if (retv == NULL)
 	SaveError(aTHX_ "find_symbol:%s",
 		  OS_Error_String(aTHX)) ;
     else
-	sv_setiv( ST(0), (IV)RETVAL);
+	sv_setiv( ST(0), (IV)retv);
 
 
 void
 dl_undef_symbols()
-    PPCODE:
+    CODE:
 
 
 


Property changes on: vendor/perl/dist/ext/DynaLoader/dl_win32.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/dlutils.c
===================================================================
--- vendor/perl/dist/ext/DynaLoader/dlutils.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/dlutils.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,7 @@
  *                      files when the interpreter exits
  */
 
+#define PERL_EUPXS_ALWAYS_EXPORT
 #ifndef START_MY_CXT /* Some IDEs try compiling this standalone. */
 #   include "EXTERN.h"
 #   include "perl.h"


Property changes on: vendor/perl/dist/ext/DynaLoader/dlutils.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/hints/aix.pl
===================================================================
--- vendor/perl/dist/ext/DynaLoader/hints/aix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/hints/aix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/hints/aix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/hints/gnukfreebsd.pl
===================================================================
--- vendor/perl/dist/ext/DynaLoader/hints/gnukfreebsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/hints/gnukfreebsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/hints/gnukfreebsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/hints/gnuknetbsd.pl
===================================================================
--- vendor/perl/dist/ext/DynaLoader/hints/gnuknetbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/hints/gnuknetbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/hints/gnuknetbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/DynaLoader/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/hints/netbsd.pl
===================================================================
--- vendor/perl/dist/ext/DynaLoader/hints/netbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/hints/netbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/hints/netbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/hints/openbsd.pl
===================================================================
--- vendor/perl/dist/ext/DynaLoader/hints/openbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/hints/openbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/hints/openbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/DynaLoader/t/DynaLoader.t
===================================================================
--- vendor/perl/dist/ext/DynaLoader/t/DynaLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/t/DynaLoader.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -32,6 +32,11 @@
 # Try to load the module
 use_ok( 'DynaLoader' );
 
+# Some tests need to be skipped on old Darwin versions.
+# Commit ce12ed1954 added the skip originally, without specifying which
+# darwin version needed it.  I know OS X 10.6 (Snow Leopard; darwin 10)
+# supports it, so skip anything before that.
+my $old_darwin = $^O eq 'darwin' && ($Config{osvers} =~ /^(\d+)/)[0] < 10;
 
 # Check functions
 can_ok( 'DynaLoader' => 'bootstrap'               ); # defined in Perl section
@@ -43,7 +48,7 @@
     can_ok( 'DynaLoader' => 'dl_load_file'        ); # defined in XS section
     can_ok( 'DynaLoader' => 'dl_undef_symbols'    ); # defined in XS section
     SKIP: {
-        skip "unloading unsupported on $^O", 1 if ($^O eq 'VMS' || $^O eq 'darwin');
+        skip "unloading unsupported on $^O", 1 if ($old_darwin || $^O eq 'VMS');
         can_ok( 'DynaLoader' => 'dl_unload_file'  ); # defined in XS section
     }
 } else {
@@ -137,8 +142,9 @@
 my @loaded_modules = @DynaLoader::dl_modules;
 for my $libref (reverse @DynaLoader::dl_librefs) {
   SKIP: {
-    skip "unloading unsupported on $^O", 2 if ($^O eq 'VMS' || $^O eq 'darwin');
+    skip "unloading unsupported on $^O", 2 if ($old_darwin || $^O eq 'VMS');
     my $module = pop @loaded_modules;
+    skip "File::Glob sets PL_opfreehook", 2 if $module eq 'File::Glob';
     my $r = eval { DynaLoader::dl_unload_file($libref) };
     is( $@, '', "calling dl_unload_file() for $module" );
     is( $r,  1, " - unload was successful" );


Property changes on: vendor/perl/dist/ext/DynaLoader/t/DynaLoader.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/DynaLoader/t/XSLoader.t
===================================================================
--- vendor/perl/dist/ext/DynaLoader/t/XSLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/DynaLoader/t/XSLoader.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/DynaLoader/t/XSLoader.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/AUTHORS
===================================================================
--- vendor/perl/dist/ext/Encode/AUTHORS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/AUTHORS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/AUTHORS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Byte/Byte.pm
===================================================================
--- vendor/perl/dist/ext/Encode/Byte/Byte.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Byte/Byte.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Byte/Byte.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Byte/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/Byte/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Byte/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Byte/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/CN/CN.pm
===================================================================
--- vendor/perl/dist/ext/Encode/CN/CN.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/CN/CN.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/CN/CN.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/CN/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/CN/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/CN/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/CN/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/EBCDIC/EBCDIC.pm
===================================================================
--- vendor/perl/dist/ext/Encode/EBCDIC/EBCDIC.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/EBCDIC/EBCDIC.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/EBCDIC/EBCDIC.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/EBCDIC/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/EBCDIC/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/EBCDIC/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/EBCDIC/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Encode/ConfigLocal_PM.e2x
===================================================================
--- vendor/perl/dist/ext/Encode/Encode/ConfigLocal_PM.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Encode/ConfigLocal_PM.e2x	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Encode/ConfigLocal_PM.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Encode/Makefile_PL.e2x
===================================================================
--- vendor/perl/dist/ext/Encode/Encode/Makefile_PL.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Encode/Makefile_PL.e2x	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Encode/Makefile_PL.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Encode/_PM.e2x
===================================================================
--- vendor/perl/dist/ext/Encode/Encode/_PM.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Encode/_PM.e2x	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Encode/_PM.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Encode/_T.e2x
===================================================================
--- vendor/perl/dist/ext/Encode/Encode/_T.e2x	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Encode/_T.e2x	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Encode/_T.e2x
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Encode/encode.h
===================================================================
--- vendor/perl/dist/ext/Encode/Encode/encode.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Encode/encode.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Encode/encode.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Encode.pm
===================================================================
--- vendor/perl/dist/ext/Encode/Encode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Encode.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Encode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Encode.xs
===================================================================
--- vendor/perl/dist/ext/Encode/Encode.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Encode.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Encode.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/JP/JP.pm
===================================================================
--- vendor/perl/dist/ext/Encode/JP/JP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/JP/JP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/JP/JP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/JP/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/JP/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/JP/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/JP/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/KR/KR.pm
===================================================================
--- vendor/perl/dist/ext/Encode/KR/KR.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/KR/KR.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/KR/KR.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/KR/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/KR/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/KR/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/KR/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/README
===================================================================
--- vendor/perl/dist/ext/Encode/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Symbol/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/Symbol/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Symbol/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Symbol/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Symbol/Symbol.pm
===================================================================
--- vendor/perl/dist/ext/Encode/Symbol/Symbol.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Symbol/Symbol.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Symbol/Symbol.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/TW/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/TW/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/TW/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/TW/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/TW/TW.pm
===================================================================
--- vendor/perl/dist/ext/Encode/TW/TW.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/TW/TW.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/TW/TW.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Unicode/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Encode/Unicode/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Unicode/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Unicode/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Unicode/Unicode.pm
===================================================================
--- vendor/perl/dist/ext/Encode/Unicode/Unicode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Unicode/Unicode.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Unicode/Unicode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/Unicode/Unicode.xs
===================================================================
--- vendor/perl/dist/ext/Encode/Unicode/Unicode.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/Unicode/Unicode.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/Unicode/Unicode.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/bin/enc2xs
===================================================================
--- vendor/perl/dist/ext/Encode/bin/enc2xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/bin/enc2xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/bin/enc2xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/bin/piconv
===================================================================
--- vendor/perl/dist/ext/Encode/bin/piconv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/bin/piconv	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/bin/piconv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/bin/ucm2table
===================================================================
--- vendor/perl/dist/ext/Encode/bin/ucm2table	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/bin/ucm2table	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/bin/ucm2table
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/bin/ucmlint
===================================================================
--- vendor/perl/dist/ext/Encode/bin/ucmlint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/bin/ucmlint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/bin/ucmlint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/bin/ucmsort
===================================================================
--- vendor/perl/dist/ext/Encode/bin/ucmsort	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/bin/ucmsort	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/bin/ucmsort
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/bin/unidump
===================================================================
--- vendor/perl/dist/ext/Encode/bin/unidump	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/bin/unidump	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/bin/unidump
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/encengine.c
===================================================================
--- vendor/perl/dist/ext/Encode/encengine.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/encengine.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/encengine.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/encoding.pm
===================================================================
--- vendor/perl/dist/ext/Encode/encoding.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/encoding.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/encoding.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/Alias.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/Alias.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/Alias.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/Alias.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/CJKConstants.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/CJKConstants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/CJKConstants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/CJKConstants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/CN/HZ.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/CN/HZ.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/CN/HZ.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/CN/HZ.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/Config.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/Encoder.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/Encoder.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/Encoder.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/Encoder.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/Encoding.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/Encoding.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/Encoding.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/Encoding.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/GSM0338.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/GSM0338.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/GSM0338.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/GSM0338.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/Guess.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/Guess.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/Guess.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/Guess.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/JP/H2Z.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/JP/H2Z.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/JP/H2Z.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/JP/H2Z.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/JP/JIS7.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/JP/JIS7.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/JP/JIS7.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/JP/JIS7.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/KR/2022_KR.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/KR/2022_KR.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/KR/2022_KR.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/KR/2022_KR.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header/ISO_2022_JP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/MIME/Header.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/MIME/Name.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/MIME/Name.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/MIME/Name.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/MIME/Name.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/PerlIO.pod
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/PerlIO.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/PerlIO.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/PerlIO.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/Supported.pod
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/Supported.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/Supported.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/Supported.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/lib/Encode/Unicode/UTF7.pm
===================================================================
--- vendor/perl/dist/ext/Encode/lib/Encode/Unicode/UTF7.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/lib/Encode/Unicode/UTF7.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/lib/Encode/Unicode/UTF7.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/Aliases.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/Aliases.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/Aliases.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/Aliases.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/CJKT.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/CJKT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/CJKT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/CJKT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/Encode.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/Encode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/Encode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/Encode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/Encoder.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/Encoder.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/Encoder.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/Encoder.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/Mod_EUCJP.pm
===================================================================
--- vendor/perl/dist/ext/Encode/t/Mod_EUCJP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/Mod_EUCJP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/Mod_EUCJP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/Unicode.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/Unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/Unicode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/Unicode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/at-cn.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/at-cn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/at-cn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/at-cn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/at-tw.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/at-tw.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/at-tw.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/at-tw.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/big5-eten.enc
===================================================================
--- vendor/perl/dist/ext/Encode/t/big5-eten.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/big5-eten.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/big5-eten.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/big5-eten.utf
===================================================================
--- vendor/perl/dist/ext/Encode/t/big5-eten.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/big5-eten.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/big5-eten.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/big5-hkscs.enc
===================================================================
--- vendor/perl/dist/ext/Encode/t/big5-hkscs.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/big5-hkscs.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/big5-hkscs.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/big5-hkscs.utf
===================================================================
--- vendor/perl/dist/ext/Encode/t/big5-hkscs.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/big5-hkscs.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/big5-hkscs.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/enc_data.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/enc_data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/enc_data.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/enc_data.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/enc_eucjp.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/enc_eucjp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/enc_eucjp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/enc_eucjp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/enc_module.enc
===================================================================
--- vendor/perl/dist/ext/Encode/t/enc_module.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/enc_module.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/enc_module.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/enc_module.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/enc_module.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/enc_module.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/enc_module.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/enc_utf8.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/enc_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/enc_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/enc_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/encoding.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/encoding.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/encoding.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/fallback.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/fallback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/fallback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/fallback.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/from_to.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/from_to.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/from_to.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/from_to.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/gb2312.enc
===================================================================
--- vendor/perl/dist/ext/Encode/t/gb2312.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/gb2312.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/gb2312.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/gb2312.utf
===================================================================
--- vendor/perl/dist/ext/Encode/t/gb2312.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/gb2312.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/gb2312.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/grow.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/grow.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/grow.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/grow.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/gsm0338.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/gsm0338.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/gsm0338.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/gsm0338.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/guess.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/guess.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/guess.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/guess.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/jis7-fallback.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/jis7-fallback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/jis7-fallback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/jis7-fallback.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/jisx0201.enc
===================================================================
--- vendor/perl/dist/ext/Encode/t/jisx0201.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/jisx0201.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/jisx0201.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/jisx0201.utf
===================================================================
--- vendor/perl/dist/ext/Encode/t/jisx0201.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/jisx0201.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/jisx0201.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/jisx0208.enc
===================================================================
--- vendor/perl/dist/ext/Encode/t/jisx0208.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/jisx0208.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/jisx0208.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/jisx0208.utf
===================================================================
--- vendor/perl/dist/ext/Encode/t/jisx0208.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/jisx0208.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/jisx0208.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/jisx0212.enc
===================================================================
--- vendor/perl/dist/ext/Encode/t/jisx0212.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/jisx0212.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/jisx0212.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/jisx0212.utf
===================================================================
--- vendor/perl/dist/ext/Encode/t/jisx0212.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/jisx0212.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/jisx0212.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/jperl.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/jperl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/jperl.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/jperl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/ksc5601.enc
===================================================================
--- vendor/perl/dist/ext/Encode/t/ksc5601.enc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/ksc5601.enc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/ksc5601.enc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/ksc5601.utf
===================================================================
--- vendor/perl/dist/ext/Encode/t/ksc5601.utf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/ksc5601.utf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/ksc5601.utf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/mime-header.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/mime-header.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/mime-header.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/mime-header.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/mime-name.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/mime-name.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/mime-name.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/mime-name.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/mime_header_iso2022jp.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/mime_header_iso2022jp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/mime_header_iso2022jp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/mime_header_iso2022jp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/perlio.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/perlio.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/perlio.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/perlio.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/piconv.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/piconv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/piconv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/piconv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/rt.pl
===================================================================
--- vendor/perl/dist/ext/Encode/t/rt.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/rt.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/rt.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/unibench.pl
===================================================================
--- vendor/perl/dist/ext/Encode/t/unibench.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/unibench.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/unibench.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/t/utf8strict.t
===================================================================
--- vendor/perl/dist/ext/Encode/t/utf8strict.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/t/utf8strict.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/t/utf8strict.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-1.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-1.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-1.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-1.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-10.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-10.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-10.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-10.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-11.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-11.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-11.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-11.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-13.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-13.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-13.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-13.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-14.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-14.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-14.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-14.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-15.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-15.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-15.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-15.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-16.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-16.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-16.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-16.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-2.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-2.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-2.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-2.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-3.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-3.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-3.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-3.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-4.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-4.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-4.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-4.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-5.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-5.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-5.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-5.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-6.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-6.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-6.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-6.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-7.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-7.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-7.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-7.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-8.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-8.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-8.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-8.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/8859-9.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/8859-9.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/8859-9.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/8859-9.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/adobeStdenc.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/adobeStdenc.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/adobeStdenc.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/adobeStdenc.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/adobeSymbol.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/adobeSymbol.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/adobeSymbol.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/adobeSymbol.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/adobeZdingbat.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/adobeZdingbat.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/adobeZdingbat.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/adobeZdingbat.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/ascii.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/ascii.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/ascii.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/ascii.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/big5-eten.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/big5-eten.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/big5-eten.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/big5-eten.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/big5-hkscs.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/big5-hkscs.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/big5-hkscs.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/big5-hkscs.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp037.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp037.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp037.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp037.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1006.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1006.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1006.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1006.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1026.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1026.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1026.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1026.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1047.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1047.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1047.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1047.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1250.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1250.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1250.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1250.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1251.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1251.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1251.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1251.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1252.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1252.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1252.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1252.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1253.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1253.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1253.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1253.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1254.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1254.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1254.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1254.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1255.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1255.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1255.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1255.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1256.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1256.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1256.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1256.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1257.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1257.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1257.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1257.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp1258.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp1258.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp1258.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp1258.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp424.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp424.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp424.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp424.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp437.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp437.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp437.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp437.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp500.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp500.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp500.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp500.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp737.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp737.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp737.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp737.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp775.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp775.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp775.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp775.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp850.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp850.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp850.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp850.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp852.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp852.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp852.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp852.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp855.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp855.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp855.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp855.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp856.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp856.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp856.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp856.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp857.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp857.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp857.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp857.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp858.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp858.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp858.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp858.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp860.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp860.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp860.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp860.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp861.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp861.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp861.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp861.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp862.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp862.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp862.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp862.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp863.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp863.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp863.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp863.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp864.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp864.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp864.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp864.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp865.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp865.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp865.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp865.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp866.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp866.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp866.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp866.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp869.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp869.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp869.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp869.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp874.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp874.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp874.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp874.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp875.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp875.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp875.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp875.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp932.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp932.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp932.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp932.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp936.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp936.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp936.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp936.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp949.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp949.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp949.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp949.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/cp950.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/cp950.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/cp950.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/cp950.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/ctrl.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/ctrl.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/ctrl.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/ctrl.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/dingbats.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/dingbats.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/dingbats.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/dingbats.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/euc-cn.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/euc-cn.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/euc-cn.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/euc-cn.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/euc-jp.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/euc-jp.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/euc-jp.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/euc-jp.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/euc-kr.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/euc-kr.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/euc-kr.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/euc-kr.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/gb12345.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/gb12345.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/gb12345.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/gb12345.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/gb2312.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/gb2312.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/gb2312.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/gb2312.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/gsm0338.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/gsm0338.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/gsm0338.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/gsm0338.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/hp-roman8.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/hp-roman8.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/hp-roman8.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/hp-roman8.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/ir-165.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/ir-165.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/ir-165.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/ir-165.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/jis0201.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/jis0201.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/jis0201.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/jis0201.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/jis0208.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/jis0208.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/jis0208.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/jis0208.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/jis0212.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/jis0212.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/jis0212.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/jis0212.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/johab.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/johab.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/johab.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/johab.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/koi8-f.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/koi8-f.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/koi8-f.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/koi8-f.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/koi8-r.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/koi8-r.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/koi8-r.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/koi8-r.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/koi8-u.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/koi8-u.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/koi8-u.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/koi8-u.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/ksc5601.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/ksc5601.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/ksc5601.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/ksc5601.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macArabic.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macArabic.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macArabic.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macArabic.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macCentEuro.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macCentEuro.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macCentEuro.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macCentEuro.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macChinsimp.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macChinsimp.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macChinsimp.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macChinsimp.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macChintrad.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macChintrad.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macChintrad.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macChintrad.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macCroatian.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macCroatian.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macCroatian.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macCroatian.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macCyrillic.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macCyrillic.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macCyrillic.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macCyrillic.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macDingbats.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macDingbats.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macDingbats.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macDingbats.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macFarsi.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macFarsi.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macFarsi.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macFarsi.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macGreek.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macGreek.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macGreek.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macGreek.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macHebrew.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macHebrew.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macHebrew.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macHebrew.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macIceland.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macIceland.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macIceland.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macIceland.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macJapanese.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macJapanese.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macJapanese.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macJapanese.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macKorean.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macKorean.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macKorean.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macKorean.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macROMnn.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macROMnn.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macROMnn.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macROMnn.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macRUMnn.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macRUMnn.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macRUMnn.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macRUMnn.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macRoman.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macRoman.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macRoman.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macRoman.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macSami.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macSami.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macSami.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macSami.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macSymbol.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macSymbol.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macSymbol.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macSymbol.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macThai.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macThai.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macThai.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macThai.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macTurkish.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macTurkish.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macTurkish.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macTurkish.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/macUkraine.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/macUkraine.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/macUkraine.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/macUkraine.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/nextstep.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/nextstep.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/nextstep.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/nextstep.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/null.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/null.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/null.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/null.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/posix-bc.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/posix-bc.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/posix-bc.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/posix-bc.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/shiftjis.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/shiftjis.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/shiftjis.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/shiftjis.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/symbol.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/symbol.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/symbol.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/symbol.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Encode/ucm/viscii.ucm
===================================================================
--- vendor/perl/dist/ext/Encode/ucm/viscii.ucm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Encode/ucm/viscii.ucm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Encode/ucm/viscii.ucm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Errno/ChangeLog
===================================================================
--- vendor/perl/dist/ext/Errno/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Errno/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Errno/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Errno/Errno_pm.PL
===================================================================
--- vendor/perl/dist/ext/Errno/Errno_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Errno/Errno_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 use Config;
 use strict;
 
-our $VERSION = "1.13";
+our $VERSION = "1.18";
 
 my %err = ();
 my %wsa = ();
@@ -125,12 +125,6 @@
     } elsif ($^O eq 'os390') {
 	# OS/390 C compiler doesn't generate #file or #line directives
 	$file{'/usr/include/errno.h'} = 1;
-    } elsif ($^O eq 'vmesa') {
-	# OS/390 C compiler doesn't generate #file or #line directives
-	$file{'../../vmesa/errno.h'} = 1;
-    } elsif ($Config{archname} eq 'epoc') {
-	# Watch out for cross compiling for EPOC (usually done on linux)
-	$file{'/usr/local/epocemx/epocsdk/include/libc/sys/errno.h'} = 1;
     } elsif ($Config{archname} eq 'arm-riscos') {
 	# Watch out for cross compiling for RISC OS
 	my $dep = `echo "#include <errno.h>" | gcc -E -M -`;
@@ -147,7 +141,7 @@
 	my $linux_errno_h = -e '/usr/include/errno.h' ?
 	    '/usr/include/errno.h' : '/usr/local/include/errno.h';
 	$file{$linux_errno_h} = 1;
-    } elsif ($^O eq 'beos' || $^O eq 'haiku') {
+    } elsif ($^O eq 'haiku') {
 	# hidden in a special place
 	$file{'/boot/develop/headers/posix/errno.h'} = 1;
 
@@ -184,13 +178,7 @@
 		die "Cannot exec $cpp";
 	}
 
-	my $pat;
-	if (($IsMSWin32 || $^O eq 'NetWare') and $Config{cc} =~ /^bcc/i) {
-	    $pat = '^/\*\s+(.+)\s+\d+\s*:\s+\*/';
-	}
-	else {
-	    $pat = '^#\s*(?:line)?\s*\d+\s+"([^"]+)"';
-	}
+	my $pat = '^#\s*(?:line)?\s*\d+\s+"([^"]+)"';
 	while(<CPPO>) {
 	    if ($^O eq 'os2' or $IsMSWin32 or $^O eq 'NetWare') {
 		if (/$pat/o) {
@@ -245,7 +233,7 @@
 
     close(CPPI);
 
-    unless ($^O eq 'beos') {	# trust what we have / get later
+    {	# BeOS (support now removed) did not enter this block
     # invoke CPP and read the output
 
 	if ($^O eq 'VMS') {
@@ -286,42 +274,10 @@
 	close(CPPO);
     }
 
-    # Many of the E constants (including ENOENT, which is being
-    # used in the Perl test suite a lot), are available only as
-    # enums in BeOS, so compiling and executing some code is about
-    # only way to find out what the numeric Evalues are. In fact above, we
-    # didn't even bother to get the values of the ones that have numeric
-    # values, since we can get all of them here, anyway.
+    # escape $Config{'archname'}
+    my $archname = $Config{'archname'};
+    $archname =~ s/([@%\$])/\\\1/g;
 
-    if ($^O eq 'beos') {
-	if (open(C, ">errno.c")) {
-	    my @allerrs = keys %err;
-	    print C <<EOF;
-#include <errno.h>
-#include <stdio.h>
-int main() {
-EOF
-            for (@allerrs) {
-		print C qq[printf("$_ %d\n", $_);]
-	    }
-            print C "}\n";
-            close C;
-            system("cc -o errno errno.c");
-            unlink("errno.c");
-            if (open(C, "./errno|")) {
-		while (<C>) {
-		    if (/^(\w+) (-?\d+)$/) { $err{$1} = $2 }
-		}
-		close(C);
-	    } else {
-		die "failed to execute ./errno: $!\n";
-	    }
-            unlink("errno");
-        } else {
-	    die "failed to create errno.c: $!\n";
-	}
-    }
-
     # Write Errno.pm
 
     print <<"EDQ";
@@ -336,8 +292,8 @@
 use strict;
 
 "\$Config{'archname'}-\$Config{'osvers'}" eq
-"$Config{'archname'}-$Config{'osvers'}" or
-	die "Errno architecture ($Config{'archname'}-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
+"$archname-$Config{'osvers'}" or
+	die "Errno architecture ($archname-$Config{'osvers'}) does not match executable architecture (\$Config{'archname'}-\$Config{'osvers'})";
 
 our \$VERSION = "$VERSION";
 \$VERSION = eval \$VERSION;


Property changes on: vendor/perl/dist/ext/Errno/Errno_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Errno/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Errno/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Errno/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Errno/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Errno/t/Errno.t
===================================================================
--- vendor/perl/dist/ext/Errno/t/Errno.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Errno/t/Errno.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Errno/t/Errno.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Fcntl/Fcntl.pm
===================================================================
--- vendor/perl/dist/ext/Fcntl/Fcntl.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Fcntl/Fcntl.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Fcntl/Fcntl.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Fcntl/Fcntl.xs
===================================================================
--- vendor/perl/dist/ext/Fcntl/Fcntl.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Fcntl/Fcntl.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Fcntl/Fcntl.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Fcntl/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Fcntl/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Fcntl/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Fcntl/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Fcntl/t/autoload.t
===================================================================
--- vendor/perl/dist/ext/Fcntl/t/autoload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Fcntl/t/autoload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Fcntl/t/autoload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Fcntl/t/fcntl.t
===================================================================
--- vendor/perl/dist/ext/Fcntl/t/fcntl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Fcntl/t/fcntl.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Fcntl/t/fcntl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Fcntl/t/mode.t
===================================================================
--- vendor/perl/dist/ext/Fcntl/t/mode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Fcntl/t/mode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Fcntl/t/mode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Fcntl/t/syslfs.t
===================================================================
--- vendor/perl/dist/ext/Fcntl/t/syslfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Fcntl/t/syslfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Fcntl/t/syslfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/Glob.pm
===================================================================
--- vendor/perl/dist/ext/File/Glob/Glob.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/Glob.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/Glob.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/Glob.xs
===================================================================
--- vendor/perl/dist/ext/File/Glob/Glob.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/Glob.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/Glob.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/File/Glob/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/TODO
===================================================================
--- vendor/perl/dist/ext/File/Glob/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/bsd_glob.c
===================================================================
--- vendor/perl/dist/ext/File/Glob/bsd_glob.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/bsd_glob.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/bsd_glob.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/bsd_glob.h
===================================================================
--- vendor/perl/dist/ext/File/Glob/bsd_glob.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/bsd_glob.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/bsd_glob.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/t/basic.t
===================================================================
--- vendor/perl/dist/ext/File/Glob/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/t/basic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/t/case.t
===================================================================
--- vendor/perl/dist/ext/File/Glob/t/case.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/t/case.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/t/case.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/t/global.t
===================================================================
--- vendor/perl/dist/ext/File/Glob/t/global.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/t/global.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/t/global.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File/Glob/t/taint.t
===================================================================
--- vendor/perl/dist/ext/File/Glob/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File/Glob/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File/Glob/t/taint.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/File-Glob/Changes
===================================================================
--- vendor/perl/dist/ext/File-Glob/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File-Glob/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/File-Glob/Glob.pm
===================================================================
--- vendor/perl/dist/ext/File-Glob/Glob.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/Glob.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,6 @@
 our($VERSION, @ISA, @EXPORT_OK, @EXPORT_FAIL, %EXPORT_TAGS, $DEFAULT_FLAGS);
 
 require XSLoader;
-use feature 'switch';
 
 @ISA = qw(Exporter);
 
@@ -29,30 +28,40 @@
         GLOB_NOSPACE
         GLOB_QUOTE
         GLOB_TILDE
+        bsd_glob
         glob
-        bsd_glob
     ) ],
 );
+$EXPORT_TAGS{bsd_glob} = [@{$EXPORT_TAGS{glob}}];
+pop @{$EXPORT_TAGS{bsd_glob}}; # no "glob"
 
 @EXPORT_OK   = (@{$EXPORT_TAGS{'glob'}}, 'csh_glob');
 
-$VERSION = '1.13';
+$VERSION = '1.20';
 
 sub import {
     require Exporter;
     local $Exporter::ExportLevel = $Exporter::ExportLevel + 1;
     Exporter::import(grep {
-	my $passthrough;
-	given ($_) {
-	    $DEFAULT_FLAGS &= ~GLOB_NOCASE() when ':case';
-	    $DEFAULT_FLAGS |= GLOB_NOCASE() when ':nocase';
-	    when (':globally') {
-		no warnings 'redefine';
-		*CORE::GLOBAL::glob = \&File::Glob::csh_glob;
-	    }
-	    $passthrough = 1;
+        my $passthrough;
+        if ($_ eq ':case') {
+            $DEFAULT_FLAGS &= ~GLOB_NOCASE()
+        }
+        elsif ($_ eq ':nocase') {
+            $DEFAULT_FLAGS |= GLOB_NOCASE();
+        }
+        elsif ($_ eq ':globally') {
+	    no warnings 'redefine';
+	    *CORE::GLOBAL::glob = \&File::Glob::csh_glob;
 	}
-	$passthrough;
+        elsif ($_ eq ':bsd_glob') {
+	    no strict; *{caller."::glob"} = \&bsd_glob_override;
+            $passthrough = 1;
+	}
+	else {
+            $passthrough = 1;
+        }
+        $passthrough;
     } @_);
 }
 
@@ -66,66 +75,10 @@
 # File::Glob::glob() is deprecated because its prototype is different from
 # CORE::glob() (use bsd_glob() instead)
 sub glob {
-    splice @_, 1; # don't pass PL_glob_index as flags!
+    splice @_, 1; # no flags
     goto &bsd_glob;
 }
 
-## borrowed heavily from gsar's File::DosGlob
-my %iter;
-my %entries;
-
-sub csh_glob {
-    my $pat = shift;
-    my $cxix = shift;
-    my @pat;
-
-    # glob without args defaults to $_
-    $pat = $_ unless defined $pat;
-
-    # extract patterns
-    $pat =~ s/^\s+//;	# Protect against empty elements in
-    $pat =~ s/\s+$//;	# things like < *.c> and <*.c >.
-			# These alone shouldn't trigger ParseWords.
-    if ($pat =~ /\s/) {
-        # XXX this is needed for compatibility with the csh
-	# implementation in Perl.  Need to support a flag
-	# to disable this behavior.
-	require Text::ParseWords;
-	@pat = Text::ParseWords::parse_line('\s+',0,$pat);
-    }
-
-    # assume global context if not provided one
-    $cxix = '_G_' unless defined $cxix;
-    $iter{$cxix} = 0 unless exists $iter{$cxix};
-
-    # if we're just beginning, do it all first
-    if ($iter{$cxix} == 0) {
-	if (@pat) {
-	    $entries{$cxix} = [ map { doglob($_, $DEFAULT_FLAGS) } @pat ];
-	}
-	else {
-	    $entries{$cxix} = [ doglob($pat, $DEFAULT_FLAGS) ];
-	}
-    }
-
-    # chuck it all out, quick or slow
-    if (wantarray) {
-        delete $iter{$cxix};
-        return @{delete $entries{$cxix}};
-    }
-    else {
-        if ($iter{$cxix} = scalar @{$entries{$cxix}}) {
-            return shift @{$entries{$cxix}};
-        }
-        else {
-            # return undef for EOL
-            delete $iter{$cxix};
-            delete $entries{$cxix};
-            return undef;
-        }
-    }
-}
-
 1;
 __END__
 
@@ -135,7 +88,7 @@
 
 =head1 SYNOPSIS
 
-  use File::Glob ':glob';
+  use File::Glob ':bsd_glob';
 
   @list = bsd_glob('*.[ch]');
   $homedir = bsd_glob('~gnat', GLOB_TILDE | GLOB_ERR);
@@ -178,7 +131,8 @@
 Note that they don't share the same prototype--CORE::glob() only accepts
 a single argument.  Due to historical reasons, CORE::glob() will also
 split its argument on whitespace, treating it as multiple patterns,
-whereas bsd_glob() considers them as one pattern.
+whereas bsd_glob() considers them as one pattern.  But see C<:bsd_glob>
+under L</EXPORTS>, below.
 
 =head2 META CHARACTERS
 
@@ -191,9 +145,55 @@
 
 The metanotation C<a{b,c,d}e> is a shorthand for C<abe ace ade>.  Left to
 right order is preserved, with results of matches being sorted separately
-at a low level to preserve this order. As a special case C<{>, C<}>, and
+at a low level to preserve this order.  As a special case C<{>, C<}>, and
 C<{}> are passed undisturbed.
 
+=head2 EXPORTS
+
+See also the L</POSIX FLAGS> below, which can be exported individually.
+
+=head3 C<:bsd_glob>
+
+The C<:bsd_glob> export tag exports bsd_glob() and the constants listed
+below.  It also overrides glob() in the calling package with one that
+behaves like bsd_glob() with regard to spaces (the space is treated as part
+of a file name), but supports iteration in scalar context; i.e., it
+preserves the core function's feature of returning the next item each time
+it is called.
+
+=head3 C<:glob>
+
+The C<:glob> tag, now discouraged, is the old version of C<:bsd_glob>.  It
+exports the same constants and functions, but its glob() override does not
+support iteration; it returns the last file name in scalar context.  That
+means this will loop forever:
+
+    use File::Glob ':glob';
+    while (my $file = <* copy.txt>) {
+	...
+    }
+
+=head3 C<bsd_glob>
+
+This function, which is included in the two export tags listed above,
+takes one or two arguments.  The first is the glob pattern.  The second is
+a set of flags ORed together.  The available flags are listed below under
+L</POSIX FLAGS>.  If the second argument is omitted, C<GLOB_CSH> (or
+C<GLOB_CSH|GLOB_NOCASE> on VMS and DOSish systems) is used by default.
+
+=head3 C<:nocase> and C<:case>
+
+These two export tags globally modify the default flags that bsd_glob()
+and, except on VMS, Perl's built-in C<glob> operator use.  C<GLOB_NOCASE>
+is turned on or off, respectively.
+
+=head3 C<csh_glob>
+
+The csh_glob() function can also be exported, but you should not use it
+directly unless you really know what you are doing.  It splits the pattern
+into words and feeds each one to bsd_glob().  Perl's own glob() function
+uses this internally.
+
 =head2 POSIX FLAGS
 
 The POSIX defined flags for bsd_glob() are:
@@ -334,10 +334,10 @@
 
 On DOSISH systems, backslash is a valid directory separator character.
 In this case, use of backslash as a quoting character (via GLOB_QUOTE)
-interferes with the use of backslash as a directory separator. The
+interferes with the use of backslash as a directory separator.  The
 best (simplest, most portable) solution is to use forward slashes for
-directory separators, and backslashes for quoting. However, this does
-not match "normal practice" on these systems. As a concession to user
+directory separators, and backslashes for quoting.  However, this does
+not match "normal practice" on these systems.  As a concession to user
 expectation, therefore, backslashes (under GLOB_QUOTE) only quote the
 glob metacharacters '[', ']', '{', '}', '-', '~', and backslash itself.
 All other backslashes are passed through unchanged.
@@ -348,46 +348,6 @@
 backslashes, consider using Sarathy's File::DosGlob, which comes with
 the standard Perl distribution.
 
-=item *
-
-Mac OS (Classic) users should note a few differences. Since
-Mac OS is not Unix, when the glob code encounters a tilde glob (e.g.
-~user) and the C<GLOB_TILDE> flag is used, it simply returns that
-pattern without doing any expansion.
-
-Glob on Mac OS is case-insensitive by default (if you don't use any
-flags). If you specify any flags at all and still want glob
-to be case-insensitive, you must include C<GLOB_NOCASE> in the flags.
-
-The path separator is ':' (aka colon), not '/' (aka slash). Mac OS users
-should be careful about specifying relative pathnames. While a full path
-always begins with a volume name, a relative pathname should always
-begin with a ':'.  If specifying a volume name only, a trailing ':' is
-required.
-
-The specification of pathnames in glob patterns adheres to the usual Mac
-OS conventions: The path separator is a colon ':', not a slash '/'. A
-full path always begins with a volume name. A relative pathname on Mac
-OS must always begin with a ':', except when specifying a file or
-directory name in the current working directory, where the leading colon
-is optional. If specifying a volume name only, a trailing ':' is
-required. Due to these rules, a glob like E<lt>*:E<gt> will find all
-mounted volumes, while a glob like E<lt>*E<gt> or E<lt>:*E<gt> will find
-all files and directories in the current directory.
-
-Note that updirs in the glob pattern are resolved before the matching begins,
-i.e. a pattern like "*HD:t?p::a*" will be matched as "*HD:a*". Note also,
-that a single trailing ':' in the pattern is ignored (unless it's a volume
-name pattern like "*HD:"), i.e. a glob like E<lt>:*:E<gt> will find both
-directories I<and> files (and not, as one might expect, only directories).
-You can, however, use the C<GLOB_MARK> flag to distinguish (without a file
-test) directory names from file names.
-
-If the C<GLOB_MARK> flag is set, all directory paths will have a ':' appended.
-Since a directory like 'lib:' is I<not> a valid I<relative> path on Mac OS,
-both a leading and a trailing colon will be added, when the directory name in
-question doesn't contain any colons (e.g. 'lib' becomes ':lib:').
-
 =back
 
 =head1 SEE ALSO
@@ -422,7 +382,7 @@
        may be used to endorse or promote products derived from this software
        without specific prior written permission.
 
-    THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+    THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
     ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE


Property changes on: vendor/perl/dist/ext/File-Glob/Glob.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/File-Glob/Glob.xs
===================================================================
--- vendor/perl/dist/ext/File-Glob/Glob.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/Glob.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,6 +10,8 @@
 
 typedef struct {
     int		x_GLOB_ERROR;
+    HV *	x_GLOB_ENTRIES;
+    Perl_ophook_t	x_GLOB_OLD_OPHOOK;
 } my_cxt_t;
 
 START_MY_CXT
@@ -28,6 +30,303 @@
 }
 #endif
 
+static void
+doglob(pTHX_ const char *pattern, int flags)
+{
+    dSP;
+    glob_t pglob;
+    int i;
+    int retval;
+    SV *tmp;
+    {
+	dMY_CXT;
+
+	/* call glob */
+	memset(&pglob, 0, sizeof(glob_t));
+	retval = bsd_glob(pattern, flags, errfunc, &pglob);
+	GLOB_ERROR = retval;
+
+	/* return any matches found */
+	EXTEND(sp, pglob.gl_pathc);
+	for (i = 0; i < pglob.gl_pathc; i++) {
+	    /* printf("# bsd_glob: %s\n", pglob.gl_pathv[i]); */
+	    tmp = newSVpvn_flags(pglob.gl_pathv[i], strlen(pglob.gl_pathv[i]),
+				 SVs_TEMP);
+	    TAINT;
+	    SvTAINT(tmp);
+	    PUSHs(tmp);
+	}
+	PUTBACK;
+
+	bsd_globfree(&pglob);
+    }
+}
+
+static void
+iterate(pTHX_ bool(*globber)(pTHX_ AV *entries, SV *patsv))
+{
+    dSP;
+    dMY_CXT;
+
+    const char * const cxixpv = (char *)&PL_op;
+    STRLEN const cxixlen = sizeof(OP *);
+    AV *entries;
+    U32 const gimme = GIMME_V;
+    SV *patsv = POPs;
+    bool on_stack = FALSE;
+
+    if (!MY_CXT.x_GLOB_ENTRIES) MY_CXT.x_GLOB_ENTRIES = newHV();
+    entries = (AV *)*(hv_fetch(MY_CXT.x_GLOB_ENTRIES, cxixpv, cxixlen, 1));
+
+    /* if we're just beginning, do it all first */
+    if (SvTYPE(entries) != SVt_PVAV) {
+	PUTBACK;
+	on_stack = globber(aTHX_ entries, patsv);
+	SPAGAIN;
+    }
+
+    /* chuck it all out, quick or slow */
+    if (gimme == G_ARRAY) {
+	if (!on_stack) {
+	    EXTEND(SP, AvFILLp(entries)+1);
+	    Copy(AvARRAY(entries), SP+1, AvFILLp(entries)+1, SV *);
+	    SP += AvFILLp(entries)+1;
+	}
+	/* No G_DISCARD here!  It will free the stack items. */
+	hv_delete(MY_CXT.x_GLOB_ENTRIES, cxixpv, cxixlen, 0);
+    }
+    else {
+	if (AvFILLp(entries) + 1) {
+	    mPUSHs(av_shift(entries));
+	}
+	else {
+	    /* return undef for EOL */
+	    hv_delete(MY_CXT.x_GLOB_ENTRIES, cxixpv, cxixlen, G_DISCARD);
+	    PUSHs(&PL_sv_undef);
+	}
+    }
+    PUTBACK;
+}
+
+/* returns true if the items are on the stack already, but only in
+   list context */
+static bool
+csh_glob(pTHX_ AV *entries, SV *patsv)
+{
+	dSP;
+	const char *pat;
+	AV *patav = NULL;
+	const char *patend;
+	const char *s = NULL;
+	const char *piece = NULL;
+	SV *word = NULL;
+	int const flags =
+	    (int)SvIV(get_sv("File::Glob::DEFAULT_FLAGS", GV_ADD));
+	bool is_utf8;
+	STRLEN len;
+	U32 const gimme = GIMME_V;
+
+	/* glob without args defaults to $_ */
+	SvGETMAGIC(patsv);
+	if (
+	    !SvOK(patsv)
+	 && (patsv = DEFSV, SvGETMAGIC(patsv), !SvOK(patsv))
+	)
+	     pat = "", len = 0, is_utf8 = 0;
+	else pat = SvPV_nomg(patsv,len), is_utf8 = !!SvUTF8(patsv);
+	patend = pat + len;
+
+	/* extract patterns */
+	s = pat-1;
+	while (++s < patend) {
+	    switch (*s) {
+	    case '\'':
+	    case '"' :
+	      {
+		bool found = FALSE;
+		const char quote = *s;
+		if (!word) {
+		    word = newSVpvs("");
+		    if (is_utf8) SvUTF8_on(word);
+		}
+		if (piece) sv_catpvn(word, piece, s-piece);
+		piece = s+1;
+		while (++s < patend)
+		    if (*s == '\\') {
+			s++;
+			/* If the backslash is here to escape a quote,
+			   obliterate it. */
+			if (s < patend && *s == quote)
+			    sv_catpvn(word, piece, s-piece-1), piece = s;
+		    }
+		    else if (*s == quote) {
+			sv_catpvn(word, piece, s-piece);
+			piece = NULL;
+			found = TRUE;
+			break;
+		    }
+		if (!found) { /* unmatched quote */
+		    /* Give up on tokenisation and treat the whole string
+		       as a single token, but with whitespace stripped. */
+		    piece = pat;
+		    while (isSPACE(*pat)) pat++;
+		    while (isSPACE(*(patend-1))) patend--;
+		    /* bsd_glob expects a trailing null, but we cannot mod-
+		       ify the original */
+		    if (patend < SvEND(patsv)) {
+			if (word) sv_setpvn(word, pat, patend-pat);
+			else
+			    word = newSVpvn_flags(
+				pat, patend-pat, SVf_UTF8*is_utf8
+			    );
+			piece = NULL;
+		    }
+		    else {
+			if (word) SvREFCNT_dec(word), word=NULL;
+			piece = pat;
+			s = patend;
+		    }
+		    goto end_of_parsing;
+		}
+		break;
+	      }
+	    case '\\':
+		if (!piece) piece = s;
+		s++;
+		/* If the backslash is here to escape a quote,
+		   obliterate it. */
+		if (s < patend && (*s == '"' || *s == '\'')) {
+		    if (!word) {
+			word = newSVpvn(piece,s-piece-1);
+			if (is_utf8) SvUTF8_on(word);
+		    }
+		    else sv_catpvn(word, piece, s-piece-1);
+		    piece = s;
+		}
+		break;
+	    default:
+		if (isSPACE(*s)) {
+		    if (piece) {
+			if (!word) {
+			    word = newSVpvn(piece,s-piece);
+			    if (is_utf8) SvUTF8_on(word);
+			}
+			else sv_catpvn(word, piece, s-piece);
+		    }
+		    if (!word) break;
+		    if (!patav) patav = (AV *)sv_2mortal((SV *)newAV());
+		    av_push(patav, word);
+		    word = NULL;
+		    piece = NULL;
+		}
+		else if (!piece) piece = s;
+		break;
+	    }
+	}
+      end_of_parsing:
+
+	assert(SvTYPE(entries) != SVt_PVAV);
+	sv_upgrade((SV *)entries, SVt_PVAV);
+	
+	if (patav) {
+	    I32 items = AvFILLp(patav) + 1;
+	    SV **svp = AvARRAY(patav);
+	    while (items--) {
+		PUSHMARK(SP);
+		PUTBACK;
+		doglob(aTHX_ SvPVXx(*svp++), flags);
+		SPAGAIN;
+		{
+		    dMARK;
+		    dORIGMARK;
+		    while (++MARK <= SP)
+			av_push(entries, SvREFCNT_inc_simple_NN(*MARK));
+		    SP = ORIGMARK;
+		}
+	    }
+	}
+	/* piece is set at this point if there is no trailing whitespace.
+	   It is the beginning of the last token or quote-delimited
+	   piece thereof.  word is set at this point if the last token has
+	   multiple quoted pieces. */
+	if (piece || word) {
+	    if (word) {
+		if (piece) sv_catpvn(word, piece, s-piece);
+		piece = SvPVX(word);
+	    }
+	    PUSHMARK(SP);
+	    PUTBACK;
+	    doglob(aTHX_ piece, flags);
+	    if (word) SvREFCNT_dec(word);
+	    SPAGAIN;
+	    {
+		dMARK;
+		dORIGMARK;
+		/* short-circuit here for a fairly common case */
+		if (!patav && gimme == G_ARRAY) { PUTBACK; return TRUE; }
+		while (++MARK <= SP)
+		    av_push(entries, SvREFCNT_inc_simple_NN(*MARK));
+
+		SP = ORIGMARK;
+	    }
+	}
+	PUTBACK;
+	return FALSE;
+}
+
+static void
+csh_glob_iter(pTHX)
+{
+    iterate(aTHX_ csh_glob);
+}
+
+/* wrapper around doglob that can be passed to the iterator */
+static bool
+doglob_iter_wrapper(pTHX_ AV *entries, SV *patsv)
+{
+    dSP;
+    const char *pattern;
+    int const flags =
+	    (int)SvIV(get_sv("File::Glob::DEFAULT_FLAGS", GV_ADD));
+
+    SvGETMAGIC(patsv);
+    if (
+	    !SvOK(patsv)
+	 && (patsv = DEFSV, SvGETMAGIC(patsv), !SvOK(patsv))
+    )
+	 pattern = "";
+    else pattern = SvPV_nomg_nolen(patsv);
+
+    PUSHMARK(SP);
+    PUTBACK;
+    doglob(aTHX_ pattern, flags);
+    SPAGAIN;
+    {
+	dMARK;
+	dORIGMARK;
+	if (GIMME_V == G_ARRAY) { PUTBACK; return TRUE; }
+	sv_upgrade((SV *)entries, SVt_PVAV);
+	while (++MARK <= SP)
+	    av_push(entries, SvREFCNT_inc_simple_NN(*MARK));
+	SP = ORIGMARK;
+    }
+    return FALSE;
+}
+
+static void
+glob_ophook(pTHX_ OP *o)
+{
+  if (PL_dirty) return;
+  {
+    dMY_CXT;
+    if (MY_CXT.x_GLOB_ENTRIES
+     && (o->op_type == OP_GLOB || o->op_type == OP_ENTERSUB))
+	hv_delete(MY_CXT.x_GLOB_ENTRIES, (char *)&o, sizeof(OP *),
+		  G_DISCARD);
+    if (MY_CXT.x_GLOB_OLD_OPHOOK) MY_CXT.x_GLOB_OLD_OPHOOK(aTHX_ o);
+  }
+}
+
 MODULE = File::Glob		PACKAGE = File::Glob
 
 int
@@ -40,57 +339,69 @@
 	RETVAL
 
 void
-doglob(pattern,...)
+bsd_glob(pattern,...)
     char *pattern
-PROTOTYPE: $;$
 PREINIT:
-    glob_t pglob;
-    int i;
-    int retval;
     int flags = 0;
-    SV *tmp;
 PPCODE:
     {
-	dMY_CXT;
-	dXSI32;
-
 	/* allow for optional flags argument */
 	if (items > 1) {
 	    flags = (int) SvIV(ST(1));
 	    /* remove unsupported flags */
 	    flags &= ~(GLOB_APPEND | GLOB_DOOFFS | GLOB_ALTDIRFUNC | GLOB_MAGCHAR);
-	} else if (ix) {
+	} else {
 	    flags = (int) SvIV(get_sv("File::Glob::DEFAULT_FLAGS", GV_ADD));
 	}
+	
+	PUTBACK;
+	doglob(aTHX_ pattern, flags);
+	SPAGAIN;
+    }
 
-	/* call glob */
-	memset(&pglob, 0, sizeof(glob_t));
-	retval = bsd_glob(pattern, flags, errfunc, &pglob);
-	GLOB_ERROR = retval;
+PROTOTYPES: DISABLE
+void
+csh_glob(...)
+PPCODE:
+    /* For backward-compatibility with the original Perl function, we sim-
+     * ply take the first argument, regardless of how many there are.
+     */
+    if (items) SP ++;
+    else {
+	XPUSHs(&PL_sv_undef);
+    }
+    PUTBACK;
+    csh_glob_iter(aTHX);
+    SPAGAIN;
 
-	/* return any matches found */
-	EXTEND(sp, pglob.gl_pathc);
-	for (i = 0; i < pglob.gl_pathc; i++) {
-	    /* printf("# bsd_glob: %s\n", pglob.gl_pathv[i]); */
-	    tmp = newSVpvn_flags(pglob.gl_pathv[i], strlen(pglob.gl_pathv[i]),
-				 SVs_TEMP);
-	    TAINT;
-	    SvTAINT(tmp);
-	    PUSHs(tmp);
-	}
-
-	bsd_globfree(&pglob);
+void
+bsd_glob_override(...)
+PPCODE:
+    if (items) SP ++;
+    else {
+	XPUSHs(&PL_sv_undef);
     }
+    PUTBACK;
+    iterate(aTHX_ doglob_iter_wrapper);
+    SPAGAIN;
 
 BOOT:
 {
-    CV *cv = newXS("File::Glob::bsd_glob", XS_File__Glob_doglob, __FILE__);
-    XSANY.any_i32 = 1;
+#ifndef PERL_EXTERNAL_GLOB
+    /* Don't do this at home! The globhook interface is highly volatile. */
+    PL_globhook = csh_glob_iter;
+#endif
 }
 
 BOOT:
 {
     MY_CXT_INIT;
+    {
+	dMY_CXT;
+	MY_CXT.x_GLOB_ENTRIES = NULL;
+	MY_CXT.x_GLOB_OLD_OPHOOK = PL_opfreehook;
+	PL_opfreehook = glob_ophook;
+    }  
 }
 
 INCLUDE: const-xs.inc


Property changes on: vendor/perl/dist/ext/File-Glob/Glob.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/File-Glob/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/File-Glob/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File-Glob/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/File-Glob/TODO
===================================================================
--- vendor/perl/dist/ext/File-Glob/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File-Glob/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/File-Glob/bsd_glob.c
===================================================================
--- vendor/perl/dist/ext/File-Glob/bsd_glob.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/bsd_glob.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,7 +17,7 @@
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
@@ -457,6 +457,7 @@
 		/*
 		 * handle a plain ~ or ~/ by expanding $HOME
 		 * first and then trying the password file
+		 * or $USERPROFILE on DOSISH systems
 		 */
 		if ((h = getenv("HOME")) == NULL) {
 #ifdef HAS_PASSWD
@@ -465,6 +466,14 @@
 				return pattern;
 			else
 				h = pwd->pw_dir;
+#elif DOSISH
+			/*
+			 * When no passwd file, fallback to the USERPROFILE
+			 * environment variable on DOSish systems.
+			 */
+			if ((h = getenv("USERPROFILE")) == NULL) {
+			    return pattern;
+			}
 #else
                         return pattern;
 #endif
@@ -723,7 +732,7 @@
       Char *pattern, Char *pattern_last,
       Char *restpattern, Char *restpattern_last, glob_t *pglob, size_t *limitp)
 {
-	register Direntry_t *dp;
+	Direntry_t *dp;
 	DIR *dirp;
 	int err;
 	int nocase;
@@ -780,8 +789,8 @@
 	else
 		readdirfunc = (Direntry_t *(*)(DIR *))my_readdir;
 	while ((dp = (*readdirfunc)(dirp))) {
-		register U8 *sc;
-		register Char *dc;
+		U8 *sc;
+		Char *dc;
 
 		/* Initial BG_DOT must be matched literally. */
 		if (dp->d_name[0] == BG_DOT && *pattern != BG_DOT)
@@ -831,8 +840,8 @@
 static int
 globextend(const Char *path, glob_t *pglob, size_t *limitp)
 {
-	register char **pathv;
-	register int i;
+	char **pathv;
+	int i;
 	STRLEN newsize, len;
 	char *copy;
 	const Char *p;
@@ -894,7 +903,7 @@
  * pattern causes a recursion level.
  */
 static int
-match(register Char *name, register Char *pat, register Char *patend, int nocase)
+match(Char *name, Char *pat, Char *patend, int nocase)
 {
 	int ok, negate_range;
 	Char c, k;
@@ -950,8 +959,8 @@
 void
 bsd_globfree(glob_t *pglob)
 {
-	register int i;
-	register char **pp;
+	int i;
+	char **pp;
 
 	if (pglob->gl_pathv != NULL) {
 		pp = pglob->gl_pathv + pglob->gl_offs;
@@ -964,7 +973,7 @@
 }
 
 static DIR *
-g_opendir(register Char *str, glob_t *pglob)
+g_opendir(Char *str, glob_t *pglob)
 {
 	char buf[MAXPATHLEN];
 
@@ -982,7 +991,7 @@
 }
 
 static int
-g_lstat(register Char *fn, Stat_t *sb, glob_t *pglob)
+g_lstat(Char *fn, Stat_t *sb, glob_t *pglob)
 {
 	char buf[MAXPATHLEN];
 
@@ -998,7 +1007,7 @@
 }
 
 static int
-g_stat(register Char *fn, Stat_t *sb, glob_t *pglob)
+g_stat(Char *fn, Stat_t *sb, glob_t *pglob)
 {
 	char buf[MAXPATHLEN];
 
@@ -1020,7 +1029,7 @@
 }
 
 static int
-g_Ctoc(register const Char *str, char *buf, STRLEN len)
+g_Ctoc(const Char *str, char *buf, STRLEN len)
 {
 	while (len--) {
 		if ((*buf++ = (char)*str++) == BG_EOS)
@@ -1031,9 +1040,9 @@
 
 #ifdef GLOB_DEBUG
 static void
-qprintf(const char *str, register Char *s)
+qprintf(const char *str, Char *s)
 {
-	register Char *p;
+	Char *p;
 
 	(void)printf("%s:\n", str);
 	for (p = s; *p; p++)


Property changes on: vendor/perl/dist/ext/File-Glob/bsd_glob.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/File-Glob/bsd_glob.h
===================================================================
--- vendor/perl/dist/ext/File-Glob/bsd_glob.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/bsd_glob.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,7 +17,7 @@
  *    may be used to endorse or promote products derived from this software
  *    without specific prior written permission.
  *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS" AND
  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE


Property changes on: vendor/perl/dist/ext/File-Glob/bsd_glob.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/File-Glob/t/basic.t
===================================================================
--- vendor/perl/dist/ext/File-Glob/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
     }
 }
 use strict;
-use Test::More tests => 15;
+use Test::More tests => 49;
 BEGIN {use_ok('File::Glob', ':glob')};
 use Cwd ();
 
@@ -52,7 +52,7 @@
 SKIP: {
     my ($name, $home);
     skip $^O, 1 if $^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'VMS'
-	|| $^O eq 'os2' || $^O eq 'beos';
+	|| $^O eq 'os2';
     skip "Can't find user for $>: $@", 1 unless eval {
 	($name, $home) = (getpwuid($>))[0,7];
 	1;
@@ -68,7 +68,47 @@
 	is_deeply (\@a, [$home]);
     }
 }
+# check plain tilde expansion
+{
+    my $tilde_check = sub {
+        my @a = bsd_glob('~');
 
+        if (GLOB_ERROR) {
+            fail(GLOB_ERROR);
+        } else {
+            is_deeply (\@a, [$_[0]], join ' - ', 'tilde expansion', @_ > 1 ? $_[1] : ());
+        }
+    };
+    my $passwd_home = eval { (getpwuid($>))[7] };
+
+    TODO: {
+        local $TODO = 'directory brackets look like pattern brackets to glob' if $^O eq 'VMS';
+        local $ENV{HOME};
+        delete $ENV{HOME};
+        local $ENV{USERPROFILE};
+        delete $ENV{USERPROFILE};
+        $tilde_check->(defined $passwd_home ? $passwd_home : q{~}, 'no environment');
+    }
+
+    SKIP: {
+        skip 'MSWin32 only', 1 if $^O ne 'MSWin32';
+        local $ENV{HOME};
+        delete $ENV{HOME};
+        local $ENV{USERPROFILE};
+        $ENV{USERPROFILE} = 'sweet win32 home';
+        $tilde_check->(defined $passwd_home ? $passwd_home : $ENV{USERPROFILE}, 'USERPROFILE');
+    }
+
+    TODO: {
+        local $TODO = 'directory brackets look like pattern brackets to glob' if $^O eq 'VMS';
+        my $home = exists $ENV{HOME} ? $ENV{HOME}
+        : eval { getpwuid($>); 1 } ? (getpwuid($>))[7]
+        : $^O eq 'MSWin32' && exists $ENV{USERPROFILE} ? $ENV{USERPROFILE}
+        : q{~};
+        $tilde_check->($home);
+    }
+}
+
 # check backslashing
 # should return a list with one item, and not set ERROR
 @a = bsd_glob('TEST', GLOB_QUOTE);
@@ -90,7 +130,7 @@
 # check bad protections
 # should return an empty list, and set ERROR
 SKIP: {
-    skip $^O, 2 if $^O eq 'mpeix' or $^O eq 'MSWin32' or $^O eq 'NetWare'
+    skip $^O, 2 if $^O eq 'MSWin32' or $^O eq 'NetWare'
 	or $^O eq 'os2' or $^O eq 'VMS' or $^O eq 'cygwin';
     skip "AFS", 2 if Cwd::cwd() =~ m#^$Config{'afsroot'}#s;
     skip "running as root", 2 if not $>;
@@ -119,14 +159,17 @@
 @a = grep !/(,v$|~$|\.(pm|ori?g|rej)$)/, @a;
 @a = (grep !/test.pl/, @a) if $^O eq 'VMS';
 
+map { $_  =~ s/test\.?/TEST/i } @a if $^O eq 'VMS';
 print "# @a\n";
 
-is_deeply(\@a, [($vms_mode ? 'test.' : 'TEST'), 'a', 'b']);
+is_deeply(\@a, ['TEST', 'a', 'b']);
 
 # "~" should expand to $ENV{HOME}
-$ENV{HOME} = "sweet home";
- at a = bsd_glob('~', GLOB_TILDE | GLOB_NOMAGIC);
-is_deeply(\@a, [$ENV{HOME}]);
+{
+    local $ENV{HOME} = "sweet home";
+    @a = bsd_glob('~', GLOB_TILDE | GLOB_NOMAGIC);
+    is_deeply(\@a, [$ENV{HOME}]);
+}
 
 # GLOB_ALPHASORT (default) should sort alphabetically regardless of case
 mkdir "pteerslo", 0777;
@@ -191,3 +234,52 @@
 # This used to segfault.
 my $i = bsd_glob('*', GLOB_ALTDIRFUNC);
 is(&File::Glob::GLOB_ERROR, 0, "Successfuly ignored unsupported flag");
+
+package frimpy; # get away from the glob override, so we can test csh_glob,
+use Test::More;  # which is perl's default
+
+# In case of PERL_EXTERNAL_GLOB:
+use subs 'glob';
+BEGIN { *glob = \&File::Glob::csh_glob }
+
+is +(glob "a'b'")[0], (<a'b' c>)[0], "a'b' with and without spaces";
+is <a"b">, 'ab', 'a"b" without spaces';
+is_deeply [<a"b" c>], [qw<ab c>], 'a"b" without spaces';
+is_deeply [<\\* .\\*>], [<\\*>,<.\\*>], 'backslashes with(out) spaces';
+like <\\ >, qr/^\\? \z/, 'final escaped space';
+is <a"b>, 'a"b', 'unmatched quote';
+is < a"b >, 'a"b', 'unmatched quote with surrounding spaces';
+is glob('a\"b'), 'a"b', '\ before quote *only* escapes quote';
+is glob(q"a\'b"), "a'b", '\ before single quote *only* escapes quote';
+is glob('"a\"b c\"d"'), 'a"b c"d', 'before \" within "..."';
+is glob(q"'a\'b c\'d'"), "a'b c'd", q"before \' within '...'";
+
+
+package bsdglob;  # for testing the :bsd_glob export tag
+
+use File::Glob ':bsd_glob';
+use Test::More;
+for (qw[
+        GLOB_ABEND
+	GLOB_ALPHASORT
+        GLOB_ALTDIRFUNC
+        GLOB_BRACE
+        GLOB_CSH
+        GLOB_ERR
+        GLOB_ERROR
+        GLOB_LIMIT
+        GLOB_MARK
+        GLOB_NOCASE
+        GLOB_NOCHECK
+        GLOB_NOMAGIC
+        GLOB_NOSORT
+        GLOB_NOSPACE
+        GLOB_QUOTE
+        GLOB_TILDE
+        bsd_glob
+    ]) {
+    ok (exists &$_, qq':bsd_glob exports $_');
+}
+is <a b>, 'a b', '<a b> under :bsd_glob';
+is <"a" "b">, '"a" "b"', '<"a" "b"> under :bsd_glob';
+is_deeply [<a b>], [q<a b>], '<> in list context under :bsd_glob';


Property changes on: vendor/perl/dist/ext/File-Glob/t/basic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/File-Glob/t/case.t
===================================================================
--- vendor/perl/dist/ext/File-Glob/t/case.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/t/case.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File-Glob/t/case.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/File-Glob/t/global.t
===================================================================
--- vendor/perl/dist/ext/File-Glob/t/global.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/t/global.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/File-Glob/t/global.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/File-Glob/t/taint.t
===================================================================
--- vendor/perl/dist/ext/File-Glob/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/File-Glob/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,14 @@
     }
 }
 
-use Test::More tests => 2;
+use Test::More;
+BEGIN {
+    plan(
+        ${^TAINT}
+        ? (tests => 2)
+        : (skip_all => "Appear to running a perl without taint support")
+    );
+}
 
 BEGIN {
     use_ok('File::Glob');


Property changes on: vendor/perl/dist/ext/File-Glob/t/taint.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/FileCache/lib/FileCache.pm
===================================================================
--- vendor/perl/dist/ext/FileCache/lib/FileCache.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/FileCache/lib/FileCache.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/FileCache/lib/FileCache.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/FileCache/t/01open.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/01open.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/FileCache/t/01open.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/FileCache/t/01open.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/FileCache/t/02maxopen.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/02maxopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/FileCache/t/02maxopen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/FileCache/t/02maxopen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/FileCache/t/03append.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/03append.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/FileCache/t/03append.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/FileCache/t/03append.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/FileCache/t/04twoarg.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/04twoarg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/FileCache/t/04twoarg.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/FileCache/t/04twoarg.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/FileCache/t/05override.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/05override.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/FileCache/t/05override.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/FileCache/t/05override.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/FileCache/t/06export.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/06export.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/FileCache/t/06export.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/FileCache/t/06export.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/FileCache/t/07noimport.t
===================================================================
--- vendor/perl/dist/ext/FileCache/t/07noimport.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/FileCache/t/07noimport.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/FileCache/t/07noimport.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Filter/Util/Call/Call.pm
===================================================================
--- vendor/perl/dist/ext/Filter/Util/Call/Call.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Filter/Util/Call/Call.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Filter/Util/Call/Call.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Filter/Util/Call/Call.xs
===================================================================
--- vendor/perl/dist/ext/Filter/Util/Call/Call.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Filter/Util/Call/Call.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Filter/Util/Call/Call.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Filter/Util/Call/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Filter/Util/Call/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Filter/Util/Call/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Filter/Util/Call/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Filter/t/call.t
===================================================================
--- vendor/perl/dist/ext/Filter/t/call.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Filter/t/call.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Filter/t/call.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Filter-Util-Call/Call.pm
===================================================================
--- vendor/perl/dist/ext/Filter-Util-Call/Call.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Filter-Util-Call/Call.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Filter-Util-Call/Call.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Filter-Util-Call/Call.xs
===================================================================
--- vendor/perl/dist/ext/Filter-Util-Call/Call.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Filter-Util-Call/Call.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Filter-Util-Call/Call.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Filter-Util-Call/t/call.t
===================================================================
--- vendor/perl/dist/ext/Filter-Util-Call/t/call.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Filter-Util-Call/t/call.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Filter-Util-Call/t/call.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/GDBM_File/GDBM_File.pm
===================================================================
--- vendor/perl/dist/ext/GDBM_File/GDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/GDBM_File/GDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -69,7 +69,7 @@
 );
 
 # This module isn't dual life, so no need for dev version numbers.
-$VERSION = '1.14';
+$VERSION = '1.15';
 
 XSLoader::load();
 


Property changes on: vendor/perl/dist/ext/GDBM_File/GDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/GDBM_File/GDBM_File.xs
===================================================================
--- vendor/perl/dist/ext/GDBM_File/GDBM_File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/GDBM_File/GDBM_File.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,7 +25,13 @@
 
 #define GDBM_BLOCKSIZE 0 /* gdbm defaults to stat blocksize */
 
+#if defined(GDBM_VERSION_MAJOR) && defined(GDBM_VERSION_MINOR) \
+    && GDBM_VERSION_MAJOR > 1 || \
+    (GDBM_VERSION_MAJOR == 1 && GDBM_VERSION_MINOR >= 9)
+typedef void (*FATALFUNC)(const char *);
+#else
 typedef void (*FATALFUNC)();
+#endif
 
 #ifndef GDBM_FAST
 static int
@@ -58,6 +64,11 @@
 #define gdbm_setopt(db,optflag,optval,optlen) not_here("gdbm_setopt")
 #endif
 
+static void
+croak_string(const char *message) {
+    Perl_croak_nocontext("%s", message);
+}
+
 #include "const-c.inc"
 
 MODULE = GDBM_File	PACKAGE = GDBM_File	PREFIX = gdbm_
@@ -65,18 +76,18 @@
 INCLUDE: const-xs.inc
 
 GDBM_File
-gdbm_TIEHASH(dbtype, name, read_write, mode, fatal_func = (FATALFUNC)croak)
+gdbm_TIEHASH(dbtype, name, read_write, mode)
 	char *		dbtype
 	char *		name
 	int		read_write
 	int		mode
-	FATALFUNC	fatal_func
 	CODE:
 	{
 	    GDBM_FILE  	dbp ;
 
 	    RETVAL = NULL ;
-	    if ((dbp =  gdbm_open(name, GDBM_BLOCKSIZE, read_write, mode, fatal_func))) {
+	    if ((dbp =  gdbm_open(name, GDBM_BLOCKSIZE, read_write, mode,
+	       	     	          (FATALFUNC) croak_string))) {
 	        RETVAL = (GDBM_File)safecalloc(1, sizeof(GDBM_File_type)) ;
 		RETVAL->dbp = dbp ;
 	    }


Property changes on: vendor/perl/dist/ext/GDBM_File/GDBM_File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/GDBM_File/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/GDBM_File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/GDBM_File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/GDBM_File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/GDBM_File/hints/sco.pl
===================================================================
--- vendor/perl/dist/ext/GDBM_File/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/GDBM_File/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/GDBM_File/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/GDBM_File/t/gdbm.t
===================================================================
--- vendor/perl/dist/ext/GDBM_File/t/gdbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/GDBM_File/t/gdbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/GDBM_File/t/gdbm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/GDBM_File/typemap
===================================================================
--- vendor/perl/dist/ext/GDBM_File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/GDBM_File/typemap	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,6 @@
 ODBM_File		T_PTROBJ
 DB_File			T_PTROBJ
 DBZ_File		T_PTROBJ
-FATALFUNC		T_OPAQUEPTR
 
 INPUT
 T_DATUM_K


Property changes on: vendor/perl/dist/ext/GDBM_File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/FieldHash.xs
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/FieldHash.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/FieldHash.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/FieldHash.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/lib/Hash/Util/FieldHash.pm
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/lib/Hash/Util/FieldHash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/lib/Hash/Util/FieldHash.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/lib/Hash/Util/FieldHash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/t/01_load.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/t/01_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/t/01_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/t/01_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/t/02_function.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/t/02_function.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/t/02_function.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/t/02_function.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/t/03_class.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/t/03_class.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/t/03_class.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/t/03_class.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/t/04_thread.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/t/04_thread.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/t/04_thread.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/t/04_thread.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/t/05_perlhook.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/t/05_perlhook.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/t/05_perlhook.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/t/05_perlhook.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/t/10_hash.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/t/10_hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/t/10_hash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/t/10_hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/t/11_hashassign.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/t/11_hashassign.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/t/11_hashassign.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/t/11_hashassign.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/FieldHash/t/12_hashwarn.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/FieldHash/t/12_hashwarn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/FieldHash/t/12_hashwarn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/FieldHash/t/12_hashwarn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Hash/Util/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/Util.xs
===================================================================
--- vendor/perl/dist/ext/Hash/Util/Util.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/Util.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/Util.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/lib/Hash/Util.pm
===================================================================
--- vendor/perl/dist/ext/Hash/Util/lib/Hash/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/lib/Hash/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/lib/Hash/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash/Util/t/Util.t
===================================================================
--- vendor/perl/dist/ext/Hash/Util/t/Util.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash/Util/t/Util.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash/Util/t/Util.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util/Changes
===================================================================
--- vendor/perl/dist/ext/Hash-Util/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Hash-Util/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Hash-Util/Util.xs
===================================================================
--- vendor/perl/dist/ext/Hash-Util/Util.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util/Util.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -60,3 +60,185 @@
 	    XSRETURN_YES;
 	}
     }
+
+void
+hash_seed()
+    PROTOTYPE:
+    PPCODE:
+    mXPUSHs(newSVpvn((char *)PERL_HASH_SEED,PERL_HASH_SEED_BYTES));
+    XSRETURN(1);
+
+
+void
+hash_value(string)
+        SV* string
+    PROTOTYPE: $
+    PPCODE:
+    STRLEN len;
+    char *pv;
+    UV uv;
+
+    pv= SvPV(string,len);
+    PERL_HASH(uv,pv,len);
+    XSRETURN_UV(uv);
+
+void
+hash_traversal_mask(rhv, ...)
+        SV* rhv
+    PPCODE:
+{
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+    if (SvROK(rhv) && SvTYPE(SvRV(rhv))==SVt_PVHV && !SvMAGICAL(SvRV(rhv))) {
+        HV *hv = (HV *)SvRV(rhv);
+        if (items>1) {
+            hv_rand_set(hv, SvUV(ST(1)));
+        }
+        if (SvOOK(hv)) {
+            XSRETURN_UV(HvRAND_get(hv));
+        } else {
+            XSRETURN_UNDEF;
+        }
+    }
+#else
+    Perl_croak(aTHX_ "Perl has not been compiled with support for randomized hash key traversal");
+#endif
+}
+
+void
+bucket_info(rhv)
+        SV* rhv
+    PPCODE:
+{
+    /*
+
+    Takes a non-magical hash ref as an argument and returns a list of
+    statistics about the hash. The number and keys and the size of the
+    array will always be reported as the first two values. If the array is
+    actually allocated (they are lazily allocated), then additionally
+    will return a list of counts of bucket lengths. In other words in
+
+        ($keys, $buckets, $used, @length_count)= hash::bucket_info(\%hash);
+
+    $length_count[0] is the number of empty buckets, and $length_count[1]
+    is the number of buckets with only one key in it, $buckets - $length_count[0]
+    gives the number of used buckets, and @length_count-1 is the maximum
+    bucket depth.
+
+    If the argument is not a hash ref, or if it is magical, then returns
+    nothing (the empty list).
+
+    */
+    if (SvROK(rhv) && SvTYPE(SvRV(rhv))==SVt_PVHV && !SvMAGICAL(SvRV(rhv))) {
+        const HV * const hv = (const HV *) SvRV(rhv);
+        U32 max_bucket_index= HvMAX(hv);
+        U32 total_keys= HvUSEDKEYS(hv);
+        HE **bucket_array= HvARRAY(hv);
+        mXPUSHi(total_keys);
+        mXPUSHi(max_bucket_index+1);
+        mXPUSHi(0); /* for the number of used buckets */
+#define BUCKET_INFO_ITEMS_ON_STACK 3
+        if (!bucket_array) {
+            XSRETURN(BUCKET_INFO_ITEMS_ON_STACK);
+        } else {
+            /* we use chain_length to index the stack - we eliminate an add
+             * by initializing things with the number of items already on the stack.
+             * If we have 2 items then ST(2+0) (the third stack item) will be the counter
+             * for empty chains, ST(2+1) will be for chains with one element,  etc.
+             */
+            I32 max_chain_length= BUCKET_INFO_ITEMS_ON_STACK - 1; /* so we do not have to do an extra push for the 0 index */
+            HE *he;
+            U32 bucket_index;
+            for ( bucket_index= 0; bucket_index <= max_bucket_index; bucket_index++ ) {
+                I32 chain_length= BUCKET_INFO_ITEMS_ON_STACK;
+                for (he= bucket_array[bucket_index]; he; he= HeNEXT(he) ) {
+                    chain_length++;
+                }
+                while ( max_chain_length < chain_length ) {
+                    mXPUSHi(0);
+                    max_chain_length++;
+                }
+                SvIVX( ST( chain_length ) )++;
+            }
+            /* now set the number of used buckets */
+            SvIVX( ST( BUCKET_INFO_ITEMS_ON_STACK - 1 ) ) = max_bucket_index - SvIVX( ST( BUCKET_INFO_ITEMS_ON_STACK ) ) + 1;
+            XSRETURN( max_chain_length + 1 ); /* max_chain_length is the index of the last item on the stack, so we add 1 */
+        }
+#undef BUCKET_INFO_ITEMS_ON_STACK
+    }
+    XSRETURN(0);
+}
+
+void
+bucket_array(rhv)
+        SV* rhv
+    PPCODE:
+{
+    /* Returns an array of arrays representing key/bucket mappings.
+     * Each element of the array contains either an integer or a reference
+     * to an array of keys. A plain integer represents K empty buckets. An
+     * array ref represents a single bucket, with each element being a key in
+     * the hash. (Note this treats a placeholder as a normal key.)
+     *
+     * This allows one to "see" the keyorder. Note the "insert first" nature
+     * of the hash store, combined with regular remappings means that relative
+     * order of keys changes each remap.
+     */
+    if (SvROK(rhv) && SvTYPE(SvRV(rhv))==SVt_PVHV && !SvMAGICAL(SvRV(rhv))) {
+        const HV * const hv = (const HV *) SvRV(rhv);
+        HE **he_ptr= HvARRAY(hv);
+        if (!he_ptr) {
+            XSRETURN(0);
+        } else {
+            U32 i, max;
+            AV *info_av;
+            HE *he;
+            I32 empty_count=0;
+            if (SvMAGICAL(hv)) {
+                Perl_croak(aTHX_ "hash::bucket_array only works on 'normal' hashes");
+            }
+            info_av= newAV();
+            max= HvMAX(hv);
+            mXPUSHs(newRV_noinc((SV*)info_av));
+            for ( i= 0; i <= max; i++ ) {
+                AV *key_av= NULL;
+                for (he= he_ptr[i]; he; he= HeNEXT(he) ) {
+                    SV *key_sv;
+                    char *str;
+                    STRLEN len;
+                    char mode;
+                    if (!key_av) {
+                        key_av= newAV();
+                        if (empty_count) {
+                            av_push(info_av, newSViv(empty_count));
+                            empty_count= 0;
+                        }
+                        av_push(info_av, (SV *)newRV_noinc((SV *)key_av));
+                    }
+                    if (HeKLEN(he) == HEf_SVKEY) {
+                        SV *sv= HeSVKEY(he);
+                        SvGETMAGIC(sv);
+                        str= SvPV(sv, len);
+                        mode= SvUTF8(sv) ? 1 : 0;
+                    } else {
+                        str= HeKEY(he);
+                        len= HeKLEN(he);
+                        mode= HeKUTF8(he) ? 1 : 0;
+                    }
+                    key_sv= newSVpvn(str,len);
+                    av_push(key_av,key_sv);
+                    if (mode) {
+                        SvUTF8_on(key_sv);
+                    }
+                }
+                if (!key_av)
+                    empty_count++;
+            }
+            if (empty_count) {
+                av_push(info_av, newSViv(empty_count));
+                empty_count++;
+            }
+        }
+        XSRETURN(1);
+    }
+    XSRETURN(0);
+}


Property changes on: vendor/perl/dist/ext/Hash-Util/Util.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Hash-Util/lib/Hash/Util.pm
===================================================================
--- vendor/perl/dist/ext/Hash-Util/lib/Hash/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util/lib/Hash/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,19 +17,24 @@
                      lock_keys unlock_keys
                      lock_value unlock_value
                      lock_hash unlock_hash
-                     lock_keys_plus hash_locked
+                     lock_keys_plus
+                     hash_locked hash_unlocked
+                     hashref_locked hashref_unlocked
                      hidden_keys legal_keys
 
                      lock_ref_keys unlock_ref_keys
                      lock_ref_value unlock_ref_value
                      lock_hashref unlock_hashref
-                     lock_ref_keys_plus hashref_locked
+                     lock_ref_keys_plus
                      hidden_ref_keys legal_ref_keys
 
-                     hash_seed hv_store
+                     hash_seed hash_value hv_store
+                     bucket_stats bucket_info bucket_array
+                     lock_hash_recurse unlock_hash_recurse
 
+                     hash_traversal_mask
                     );
-our $VERSION = '0.11';
+our $VERSION = '0.16';
 require XSLoader;
 XSLoader::load();
 
@@ -53,12 +58,28 @@
   # Restricted hashes
 
   use Hash::Util qw(
-                     hash_seed all_keys
+                     fieldhash fieldhashes
+
+                     all_keys
                      lock_keys unlock_keys
                      lock_value unlock_value
                      lock_hash unlock_hash
-                     lock_keys_plus hash_locked
+                     lock_keys_plus
+                     hash_locked hash_unlocked
+                     hashref_locked hashref_unlocked
                      hidden_keys legal_keys
+
+                     lock_ref_keys unlock_ref_keys
+                     lock_ref_value unlock_ref_value
+                     lock_hashref unlock_hashref
+                     lock_ref_keys_plus
+                     hidden_ref_keys legal_ref_keys
+
+                     hash_seed hash_value hv_store
+                     bucket_stats bucket_info bucket_array
+                     lock_hash_recurse unlock_hash_recurse
+
+                     hash_traversal_mask
                    );
 
   %hash = (foo => 42, bar => 23);
@@ -86,6 +107,12 @@
 
   my $hashes_are_randomised = hash_seed() != 0;
 
+  my $int_hash_value = hash_value( 'string' );
+
+  my $mask= hash_traversal_mask(%hash);
+
+  hash_traversal_mask(%hash,1234);
+
 =head1 DESCRIPTION
 
 C<Hash::Util> and C<Hash::Util::FieldHash> contain special functions
@@ -129,8 +156,8 @@
 
 Removes the restriction on the %hash's keyset.
 
-B<Note> that if any of the values of the hash have been locked they will not be unlocked
-after this sub executes.
+B<Note> that if any of the values of the hash have been locked they will not
+be unlocked after this sub executes.
 
 Both routines return a reference to the hash operated on.
 
@@ -190,7 +217,7 @@
 
 
 sub lock_ref_keys_plus {
-    my ($hash, at keys)=@_;
+    my ($hash, at keys) = @_;
     my @delete;
     Internals::hv_clear_placeholders(%$hash);
     foreach my $key (@keys) {
@@ -301,9 +328,9 @@
 making all keys and values read-only. No value can be changed, no keys can
 be added or deleted.
 
-B<Only> recurses into hashes that are referenced by another hash. Thus a
-Hash of Hashes (HoH) will all be restricted, but a Hash of Arrays of Hashes
-(HoAoH) will only have the top hash restricted.
+This method B<only> recurses into hashes that are referenced by another hash.
+Thus a Hash of Hashes (HoH) will all be restricted, but a Hash of Arrays of
+Hashes (HoAoH) will only have the top hash restricted.
 
     unlock_hash_recurse(%hash);
 
@@ -346,9 +373,29 @@
 sub   lock_hash_recurse (\%) {   lock_hashref_recurse(@_) }
 sub unlock_hash_recurse (\%) { unlock_hashref_recurse(@_) }
 
+=item B<hashref_locked>
 
+=item B<hash_locked>
+
+  hashref_locked(\%hash) and print "Hash is locked!\n";
+  hash_locked(%hash) and print "Hash is locked!\n";
+
+Returns true if the hash and its keys are locked.
+
+=cut
+
+sub hashref_locked {
+    my $hash=shift;
+    Internals::SvREADONLY(%$hash);
+}
+
+sub hash_locked(\%) { hashref_locked(@_) }
+
+=item B<hashref_unlocked>
+
 =item B<hash_unlocked>
 
+  hashref_unlocked(\%hash) and print "Hash is unlocked!\n";
   hash_unlocked(%hash) and print "Hash is unlocked!\n";
 
 Returns true if the hash and its keys are unlocked.
@@ -357,7 +404,7 @@
 
 sub hashref_unlocked {
     my $hash=shift;
-    return Internals::SvREADONLY($hash)
+    !Internals::SvREADONLY(%$hash);
 }
 
 sub hash_unlocked(\%) { hashref_unlocked(@_) }
@@ -424,9 +471,7 @@
 
     my $hash_seed = hash_seed();
 
-hash_seed() returns the seed number used to randomise hash ordering.
-Zero means the "traditional" random hash ordering, non-zero means the
-new even more random hash ordering introduced in Perl 5.8.1.
+hash_seed() returns the seed bytes used to randomise hash ordering.
 
 B<Note that the hash seed is sensitive information>: by knowing it one
 can craft a denial-of-service attack against Perl code, even remotely,
@@ -434,10 +479,121 @@
 B<Do not disclose the hash seed> to people who don't need to know it.
 See also L<perlrun/PERL_HASH_SEED_DEBUG>.
 
+Prior to Perl 5.17.6 this function returned a UV, it now returns a string,
+which may be of nearly any size as determined by the hash function your
+Perl has been built with. Possible sizes may be but are not limited to
+4 bytes (for most hash algorithms) and 16 bytes (for siphash).
+
+=item B<hash_value>
+
+    my $hash_value = hash_value($string);
+
+hash_value() returns the current perl's internal hash value for a given
+string.
+
+Returns a 32 bit integer representing the hash value of the string passed
+in. This value is only reliable for the lifetime of the process. It may
+be different depending on invocation, environment variables,  perl version,
+architectures, and build options.
+
+B<Note that the hash value of a given string is sensitive information>:
+by knowing it one can deduce the hash seed which in turn can allow one to
+craft a denial-of-service attack against Perl code, even remotely,
+see L<perlsec/"Algorithmic Complexity Attacks"> for more information.
+B<Do not disclose the hash value of a string> to people who don't need to
+know it. See also L<perlrun/PERL_HASH_SEED_DEBUG>.
+
+=item B<bucket_info>
+
+Return a set of basic information about a hash.
+
+    my ($keys, $buckets, $used, @length_counts)= bucket_info($hash);
+
+Fields are as follows:
+
+    0: Number of keys in the hash
+    1: Number of buckets in the hash
+    2: Number of used buckets in the hash
+    rest : list of counts, Kth element is the number of buckets
+           with K keys in it.
+
+See also bucket_stats() and bucket_array().
+
+=item B<bucket_stats>
+
+Returns a list of statistics about a hash.
+
+    my ($keys, buckets, $used, $utilization_ratio, $collision_pct,
+        $mean, $stddev, @length_counts) = bucket_info($hashref);
+
+
+Fields are as follows:
+
+
+    0: Number of keys in the hash
+    1: Number of buckets in the hash
+    2: Number of used buckets in the hash
+    3: Hash Quality Score
+    4: Percent of buckets used
+    5: Percent of keys which are in collision
+    6: Average bucket length
+    7: Standard Deviation of bucket lengths.
+    rest : list of counts, Kth element is the number of buckets
+           with K keys in it.
+
+See also bucket_info() and bucket_array().
+
+Note that Hash Quality Score would be 1 for an ideal hash, numbers
+close to and below 1 indicate good hashing, and number significantly
+above indicate a poor score. In practice it should be around 0.95 to 1.05.
+It is defined as:
+
+ $score= sum( $count[$length] * ($length * ($length + 1) / 2) )
+            /
+            ( ( $keys / 2 * $buckets ) *
+              ( $keys + ( 2 * $buckets ) - 1 ) )
+
+The formula is from the Red Dragon book (reformulated to use the data available)
+and is documented at L<http://www.strchr.com/hash_functions>
+
+=item B<bucket_array>
+
+    my $array= bucket_array(\%hash);
+
+Returns a packed representation of the bucket array associated with a hash. Each element
+of the array is either an integer K, in which case it represents K empty buckets, or
+a reference to another array which contains the keys that are in that bucket.
+
+B<Note that the information returned by bucket_array is sensitive information>:
+by knowing it one can directly attack perl's hash function which in turn may allow
+one to craft a denial-of-service attack against Perl code, even remotely,
+see L<perlsec/"Algorithmic Complexity Attacks"> for more information.
+B<Do not disclose the output of this function> to people who don't need to
+know it. See also L<perlrun/PERL_HASH_SEED_DEBUG>. This function is provided strictly
+for  debugging and diagnostics purposes only, it is hard to imagine a reason why it
+would be used in production code.
+
 =cut
 
-sub hash_seed () {
-    Internals::rehash_seed();
+
+sub bucket_stats {
+    my ($hash) = @_;
+    my ($keys, $buckets, $used, @length_counts) = bucket_info($hash);
+    my $sum;
+    my $score;
+    for (0 .. $#length_counts) {
+        $sum += ($length_counts[$_] * $_);
+        $score += $length_counts[$_] * ( $_ * ($_ + 1 ) / 2 );
+    }
+    $score = $score /
+             (( $keys / (2 * $buckets )) * ( $keys + ( 2 * $buckets ) - 1 ))
+                 if $keys;
+    my $mean= $sum/$buckets;
+    $sum= 0;
+    $sum += ($length_counts[$_] * (($_-$mean)**2)) for 0 .. $#length_counts;
+
+    my $stddev= sqrt($sum/$buckets);
+    return $keys, $buckets, $used, $keys ? ($score, $used/$buckets, ($keys-$used)/$keys, $mean, $stddev, @length_counts) : ();
 }
 
 =item B<hv_store>
@@ -449,6 +605,20 @@
 
 Stores an alias to a variable in a hash instead of copying the value.
 
+=item B<hash_traversal_mask>
+
+As of Perl 5.18 every hash has its own hash traversal order, and this order
+changes every time a new element is inserted into the hash. This functionality
+is provided by maintaining an unsigned integer mask (U32) which is xor'ed
+with the actual bucket id during a traversal of the hash buckets using keys(),
+values() or each().
+
+You can use this subroutine to get and set the traversal mask for a specific
+hash. Setting the mask ensures that a given hash will produce the same key
+order. B<Note> that this does B<not> guarantee that B<two> hashes will produce
+the same key order for the same hash seed and traversal mask, items that
+collide into one bucket may have different orders regardless of this setting.
+
 =back
 
 =head2 Operating on references to hashes.


Property changes on: vendor/perl/dist/ext/Hash-Util/lib/Hash/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Hash-Util/t/Util.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util/t/Util.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util/t/Util.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,22 +16,28 @@
 my @Exported_Funcs;
 BEGIN {
     @Exported_Funcs = qw(
-                     hash_seed all_keys
+                     fieldhash fieldhashes
+
+                     all_keys
                      lock_keys unlock_keys
                      lock_value unlock_value
                      lock_hash unlock_hash
-                     lock_keys_plus hash_locked
+                     lock_keys_plus
+                     hash_locked hash_unlocked
+                     hashref_locked hashref_unlocked
                      hidden_keys legal_keys
 
                      lock_ref_keys unlock_ref_keys
                      lock_ref_value unlock_ref_value
                      lock_hashref unlock_hashref
-                     lock_ref_keys_plus hashref_locked
+                     lock_ref_keys_plus
                      hidden_ref_keys legal_ref_keys
+
+                     hash_seed hash_value bucket_stats bucket_info bucket_array
                      hv_store
-
+                     lock_hash_recurse unlock_hash_recurse
                     );
-    plan tests => 204 + @Exported_Funcs;
+    plan tests => 234 + @Exported_Funcs;
     use_ok 'Hash::Util', @Exported_Funcs;
 }
 foreach my $func (@Exported_Funcs) {
@@ -43,7 +49,7 @@
 eval { $hash{baz} = 99; };
 like( $@, qr/^Attempt to access disallowed key 'baz' in a restricted hash/,
                                                        'lock_keys()');
-is( $hash{bar}, 23 );
+is( $hash{bar}, 23, '$hash{bar} == 23' );
 ok( !exists $hash{baz},'!exists $hash{baz}' );
 
 delete $hash{bar};
@@ -70,7 +76,7 @@
 eval { $hash{locked} = 42; };
 like( $@, qr/^Modification of a read-only value attempted/,
                                            'trying to change a locked key' );
-is( $hash{locked}, 'yep' );
+is( $hash{locked}, 'yep', '$hash{locked} is yep' );
 
 eval { delete $hash{I_dont_exist} };
 like( $@, qr/^Attempt to delete disallowed key 'I_dont_exist' from a restricted hash/,
@@ -108,7 +114,8 @@
     lock_value(%hash, 'RO');
 
     eval { %hash = (KEY => 1) };
-    like( $@, qr/^Attempt to delete readonly key 'RO' from a restricted hash/ );
+    like( $@, qr/^Attempt to delete readonly key 'RO' from a restricted hash/,
+        'attempt to delete readonly key from restricted hash' );
 }
 
 {
@@ -115,17 +122,15 @@
     my %hash = (KEY => 1, RO => 2);
     lock_keys(%hash);
     eval { %hash = (KEY => 1, RO => 2) };
-    is( $@, '');
+    is( $@, '', 'No error message, as expected');
 }
 
-
-
 {
     my %hash = ();
     lock_keys(%hash, qw(foo bar));
     is( keys %hash, 0,  'lock_keys() w/keyset shouldnt add new keys' );
     $hash{foo} = 42;
-    is( keys %hash, 1 );
+    is( keys %hash, 1, '1 element in hash' );
     eval { $hash{wibble} = 42 };
     like( $@, qr/^Attempt to access disallowed key 'wibble' in a restricted hash/,
                         'write threw error (locked)');
@@ -135,7 +140,6 @@
     is( $@, '', 'unlock_keys' );
 }
 
-
 {
     my %hash = (foo => 42, bar => undef, baz => 0);
     lock_keys(%hash, qw(foo bar baz up down));
@@ -150,19 +154,18 @@
           'locked "wibble"' );
 }
 
-
 {
     my %hash = (foo => 42, bar => undef);
     eval { lock_keys(%hash, qw(foo baz)); };
-    is( $@, sprintf("Hash has key 'bar' which is not in the new key ".
-                    "set at %s line %d\n", __FILE__, __LINE__ - 2),
+    like( $@, qr/^Hash has key 'bar' which is not in the new key set/,
                     'carp test' );
 }
 
-
 {
     my %hash = (foo => 42, bar => 23);
     lock_hash( %hash );
+    ok( hashref_locked( \%hash ), 'hashref_locked' );
+    ok( hash_locked( %hash ), 'hash_locked' );
 
     ok( Internals::SvREADONLY(%hash),'Was locked %hash' );
     ok( Internals::SvREADONLY($hash{foo}),'Was locked $hash{foo}' );
@@ -169,6 +172,8 @@
     ok( Internals::SvREADONLY($hash{bar}),'Was locked $hash{bar}' );
 
     unlock_hash ( %hash );
+    ok( hashref_unlocked( { %hash } ), 'hashref_unlocked' );
+    ok( hash_unlocked( %hash ), 'hash_unlocked' );
 
     ok( !Internals::SvREADONLY(%hash),'Was unlocked %hash' );
     ok( !Internals::SvREADONLY($hash{foo}),'Was unlocked $hash{foo}' );
@@ -175,10 +180,23 @@
     ok( !Internals::SvREADONLY($hash{bar}),'Was unlocked $hash{bar}' );
 }
 
+{
+    my %hash = (foo => 42, bar => 23);
+    ok( ! hashref_locked( { %hash } ), 'hashref_locked negated' );
+    ok( ! hash_locked( %hash ), 'hash_locked negated' );
 
+    lock_hash( %hash );
+    ok( ! hashref_unlocked( \%hash ), 'hashref_unlocked negated' );
+    ok( ! hash_unlocked( %hash ), 'hash_unlocked negated' );
+}
+
 lock_keys(%ENV);
 eval { () = $ENV{I_DONT_EXIST} };
-like( $@, qr/^Attempt to access disallowed key 'I_DONT_EXIST' in a restricted hash/,   'locked %ENV');
+like(
+    $@,
+    qr/^Attempt to access disallowed key 'I_DONT_EXIST' in a restricted hash/,
+    'locked %ENV'
+);
 
 {
     my %hash;
@@ -309,7 +327,7 @@
 }
 
 my $hash_seed = hash_seed();
-ok($hash_seed >= 0, "hash_seed $hash_seed");
+ok(defined($hash_seed) && $hash_seed ne '', "hash_seed $hash_seed");
 
 {
     package Minder;
@@ -440,6 +458,17 @@
     is("@keys","0 2 4 6 8",'lock_ref_keys_plus() @keys DDS/t');
 }
 {
+    my %hash=(0..9, 'a' => 'alpha');
+    lock_ref_keys_plus(\%hash,'a'..'f');
+    ok(Internals::SvREADONLY(%hash),'lock_ref_keys_plus args overlap');
+    my @hidden=sort(hidden_keys(%hash));
+    my @legal=sort(legal_keys(%hash));
+    my @keys=sort(keys(%hash));
+    is("@hidden","b c d e f",'lock_ref_keys_plus() @hidden overlap');
+    is("@legal","0 2 4 6 8 a b c d e f",'lock_ref_keys_plus() @legal overlap');
+    is("@keys","0 2 4 6 8 a",'lock_ref_keys_plus() @keys overlap');
+}
+{
     my %hash=(0..9);
     lock_keys_plus(%hash,'a'..'f');
     ok(Internals::SvREADONLY(%hash),'lock_keys_plus args DDS/t');
@@ -450,6 +479,17 @@
     is("@legal","0 2 4 6 8 a b c d e f",'lock_keys_plus() @legal DDS/t 3');
     is("@keys","0 2 4 6 8",'lock_keys_plus() @keys DDS/t 3');
 }
+{
+    my %hash=(0..9, 'a' => 'alpha');
+    lock_keys_plus(%hash,'a'..'f');
+    ok(Internals::SvREADONLY(%hash),'lock_keys_plus args overlap non-ref');
+    my @hidden=sort(hidden_keys(%hash));
+    my @legal=sort(legal_keys(%hash));
+    my @keys=sort(keys(%hash));
+    is("@hidden","b c d e f",'lock_keys_plus() @hidden overlap non-ref');
+    is("@legal","0 2 4 6 8 a b c d e f",'lock_keys_plus() @legal overlap non-ref');
+    is("@keys","0 2 4 6 8 a",'lock_keys_plus() @keys overlap non-ref');
+}
 
 {
     my %hash = ('a'..'f');
@@ -468,3 +508,49 @@
     is_deeply(\@ph, \@bam, "Placeholders in place");
 }
 
+{
+    my %hash = (
+        a   => 'alpha',
+        b   => [ qw( beta gamma delta ) ],
+        c   => [ 'epsilon', { zeta => 'eta' }, ],
+        d   => { theta => 'iota' },
+    );
+    lock_hash_recurse(%hash);
+    ok( hash_locked(%hash),
+        "lock_hash_recurse(): top-level hash locked" );
+    ok( hash_locked(%{$hash{d}}),
+        "lock_hash_recurse(): element which is hashref locked" );
+    ok( ! hash_locked(%{$hash{c}[1]}),
+        "lock_hash_recurse(): element which is hashref in array ref not locked" );
+
+    unlock_hash_recurse(%hash);
+    ok( hash_unlocked(%hash),
+        "unlock_hash_recurse(): top-level hash unlocked" );
+    ok( hash_unlocked(%{$hash{d}}),
+        "unlock_hash_recurse(): element which is hashref unlocked" );
+    ok( hash_unlocked(%{$hash{c}[1]}),
+        "unlock_hash_recurse(): element which is hashref in array ref not locked" );
+}
+
+{
+    my $h1= hash_value("foo");
+    my $h2= hash_value("bar");
+    is( $h1, hash_value("foo") );
+    is( $h2, hash_value("bar") );
+}
+{
+    my @info1= bucket_info({});
+    my @info2= bucket_info({1..10});
+    my @stats1= bucket_stats({});
+    my @stats2= bucket_stats({1..10});
+    my $array1= bucket_array({});
+    my $array2= bucket_array({1..10});
+    is("@info1","0 8 0");
+    is("@info2[0,1]","5 8");
+    is("@stats1","0 8 0");
+    is("@stats2[0,1]","5 8");
+    my @keys1= sort map { ref $_ ? @$_ : () } @$array1;
+    my @keys2= sort map { ref $_ ? @$_ : () } @$array2;
+    is("@keys1","");
+    is("@keys2","1 3 5 7 9");
+}


Property changes on: vendor/perl/dist/ext/Hash-Util/t/Util.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/Changes
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/FieldHash.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use warnings;
 use Scalar::Util qw( reftype);
 
-our $VERSION = '1.09';
+our $VERSION = '1.10';
 
 require Exporter;
 our @ISA = qw(Exporter);
@@ -103,7 +103,7 @@
 not a reference, returns $obj.
 
 This function is a stand-in replacement for
-L<Scalar::Util::refaddr|Scalar::Util/refaddr>, that is, it returns
+L<Scalar::Util::refaddr|Scalar::Util/refaddr EXPR>, that is, it returns
 the reference address of its argument as a numeric value.  The only
 difference is that C<refaddr()> returns C<undef> when given a
 non-reference while C<id()> returns its argument unchanged.
@@ -217,7 +217,7 @@
 on your @ISA list and use my methods".  If the other class has different
 ideas about how the object body is used, there is trouble.
 
-For reference L<Name_hash> in L<Example 1> shows the standard implementation of
+For reference C<Name_hash> in L</Example 1> shows the standard implementation of
 a simple class C<Name> in the well-known hash based way.  It also demonstrates
 the predictable failure to construct a common subclass C<NamedFile>
 of C<Name> and the class C<IO::File> (whose objects I<must> be globrefs).
@@ -231,8 +231,8 @@
 hash for each field it wants to use.  The reference address of an
 object is used as the hash key.  By definition, the reference address
 is unique to each object so this guarantees a place for each field that
-is private to the class and unique to each object.  See L<Name_id> in
-L<Example 1> for a simple example.
+is private to the class and unique to each object.  See C<Name_id>
+in L</Example 1> for a simple example.
 
 In comparison to the standard implementation where the object is a
 hash and the fields correspond to hash keys, here the fields correspond
@@ -494,7 +494,7 @@
 
 =item * C<Name_idhash>
 
-Idhash-based inside-out implementation.  Like L<Name_id> it needs
+Idhash-based inside-out implementation.  Like C<Name_id> it needs
 a C<DESTROY> method and would need C<CLONE> for thread support.
 
 =item * C<Name_id_reg>


Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/lib/Hash/Util/FieldHash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/t/01_load.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/01_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/01_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/t/01_load.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/t/02_function.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/02_function.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/02_function.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/t/02_function.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/t/03_class.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/03_class.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/03_class.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/t/03_class.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/t/04_thread.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/04_thread.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/04_thread.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/t/04_thread.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/t/05_perlhook.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/05_perlhook.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/05_perlhook.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/t/05_perlhook.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/t/10_hash.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/10_hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/10_hash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/t/10_hash.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Hash-Util-FieldHash/t/11_hashassign.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/11_hashassign.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/11_hashassign.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -282,9 +282,9 @@
     fieldhash %h;
     is( (join ':', %h = (1) x 8), '1:1',
 	'hash assignment in list context removes duplicates' );
-    is( scalar( %h = (1,2,1,3,1,4,1,5) ), 2,
+    is( scalar( %h = (1,2,1,3,1,4,1,5) ), 8,
 	'hash assignment in scalar context' );
-    is( scalar( ($x,%h) = (0,1,2,1,3,1,4,1,5) ), 3,
+    is( scalar( ($x,%h) = (0,1,2,1,3,1,4,1,5) ), 9,
 	'scalar + hash assignment in scalar context' );
     $ar = [ %h = (1,2,1,3,1,4,1,5) ];
     is( $#$ar, 1, 'hash assignment in list context' );


Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/t/11_hashassign.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t
===================================================================
--- vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Hash-Util-FieldHash/t/12_hashwarn.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N/Langinfo/Langinfo.pm
===================================================================
--- vendor/perl/dist/ext/I18N/Langinfo/Langinfo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N/Langinfo/Langinfo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N/Langinfo/Langinfo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N/Langinfo/Langinfo.xs
===================================================================
--- vendor/perl/dist/ext/I18N/Langinfo/Langinfo.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N/Langinfo/Langinfo.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N/Langinfo/Langinfo.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N/Langinfo/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/I18N/Langinfo/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N/Langinfo/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N/Langinfo/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N/Langinfo/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/ext/I18N/Langinfo/fallback/const-c.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N/Langinfo/fallback/const-c.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N/Langinfo/fallback/const-c.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N/Langinfo/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/ext/I18N/Langinfo/fallback/const-xs.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N/Langinfo/fallback/const-xs.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N/Langinfo/fallback/const-xs.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N/Langinfo/t/Langinfo.t
===================================================================
--- vendor/perl/dist/ext/I18N/Langinfo/t/Langinfo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N/Langinfo/t/Langinfo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N/Langinfo/t/Langinfo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -72,7 +72,7 @@
 	YESSTR
 );
 
-our $VERSION = '0.08';
+our $VERSION = '0.10';
 
 XSLoader::load();
 
@@ -103,7 +103,7 @@
 
     use I18N::Langinfo qw(langinfo ABDAY_1 YESSTR NOSTR);
 
-    my ($abday_1, $yesstr, $nostr) = map { langinfo } qw(ABDAY_1 YESSTR NOSTR);
+    my ($abday_1, $yesstr, $nostr) = map { langinfo($_) } (ABDAY_1, YESSTR, NOSTR);
 
     print "$abday_1? [$yesstr/$nostr] ";
 


Property changes on: vendor/perl/dist/ext/I18N-Langinfo/Langinfo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N-Langinfo/Langinfo.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N-Langinfo/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N-Langinfo/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N-Langinfo/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N-Langinfo/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/fallback/const-c.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N-Langinfo/fallback/const-c.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N-Langinfo/fallback/const-c.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N-Langinfo/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/fallback/const-xs.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N-Langinfo/fallback/const-xs.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N-Langinfo/fallback/const-xs.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t
===================================================================
--- vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/I18N-Langinfo/t/Langinfo.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/ChangeLog
===================================================================
--- vendor/perl/dist/ext/IO/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/IO.pm
===================================================================
--- vendor/perl/dist/ext/IO/IO.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/IO.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/IO.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/IO.xs
===================================================================
--- vendor/perl/dist/ext/IO/IO.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/IO.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/IO.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/IO/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/README
===================================================================
--- vendor/perl/dist/ext/IO/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/hints/sco.pl
===================================================================
--- vendor/perl/dist/ext/IO/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Dir.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Dir.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Dir.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Dir.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/File.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Handle.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Handle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Handle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Handle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Pipe.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Pipe.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Pipe.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Pipe.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Poll.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Poll.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Poll.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Poll.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Seekable.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Seekable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Seekable.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Seekable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Select.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Select.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Select.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Select.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Socket/INET.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Socket/INET.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Socket/INET.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Socket/INET.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Socket/UNIX.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Socket/UNIX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Socket/UNIX.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Socket/UNIX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/lib/IO/Socket.pm
===================================================================
--- vendor/perl/dist/ext/IO/lib/IO/Socket.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/lib/IO/Socket.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/lib/IO/Socket.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/poll.c
===================================================================
--- vendor/perl/dist/ext/IO/poll.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/poll.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/poll.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/poll.h
===================================================================
--- vendor/perl/dist/ext/IO/poll.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/poll.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/poll.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/IO.t
===================================================================
--- vendor/perl/dist/ext/IO/t/IO.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/IO.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/IO.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_const.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_const.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_const.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_const.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_dir.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_dir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_dir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_dir.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_dup.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_dup.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_dup.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_dup.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_file.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_file.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_linenum.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_linenum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_linenum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_linenum.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_multihomed.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_multihomed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_multihomed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_multihomed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_pipe.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_pipe.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_pipe.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_pipe.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_poll.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_poll.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_poll.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_poll.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_sel.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_sel.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_sel.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_sel.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_sock.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_sock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_sock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_sock.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_taint.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_taint.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_tell.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_tell.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_tell.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_tell.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_udp.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_udp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_udp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_udp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_unix.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_unix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_unix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_unix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_utf8.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO/t/io_xs.t
===================================================================
--- vendor/perl/dist/ext/IO/t/io_xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO/t/io_xs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO/t/io_xs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/IO-Compress/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/README
===================================================================
--- vendor/perl/dist/ext/IO-Compress/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtdef
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtdef	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtdef	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtdef
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtinf
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtinf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtinf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/filtinf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzcat
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzcat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzcat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzcat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzgrep
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzgrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzgrep	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzgrep
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzstream
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzstream	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzstream	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/compress-zlib/gzstream
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/io/anycat
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/io/anycat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/io/anycat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/io/anycat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzcat
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzcat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzcat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzcat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzgrep
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzgrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzgrep	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzgrep
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzstream
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzstream	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzstream	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/io/bzip2/bzstream
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzappend
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzappend	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzappend	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzappend
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzcat
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzcat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzcat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzcat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzgrep
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzgrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzgrep	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzgrep
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzstream
===================================================================
--- vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzstream	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzstream	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/examples/io/gzip/gzstream
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/Compress/Zlib.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/Compress/Zlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/Compress/Zlib.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/Compress/Zlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/File/GlobMapper.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/File/GlobMapper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/File/GlobMapper.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/File/GlobMapper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Bzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Deflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Adapter/Identity.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base/Common.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base/Common.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base/Common.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base/Common.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Bzip2.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Bzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Bzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Bzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Deflate.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Deflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Deflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Deflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Gzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/RawDeflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Compress/Zlib/Extra.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Bunzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Identity.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Adapter/Inflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyInflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/AnyUncompress.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Base.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Bunzip2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Gunzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Inflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/RawInflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/lib/IO/Uncompress/Unzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/pod/FAQ.pod
===================================================================
--- vendor/perl/dist/ext/IO-Compress/pod/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/pod/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/pod/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/ext/IO-Compress/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/000prereq.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/000prereq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/000prereq.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/000prereq.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/001bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/001bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/001bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/001bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/001zlib-generic-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/002any-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/002any-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/002any-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/002any-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/002any-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/002any-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/002any-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/002any-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/002any-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/002any-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/002any-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/002any-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/002any-transparent.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/002any-transparent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/002any-transparent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/002any-transparent.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/002any-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/002any-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/002any-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/002any-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/004gziphdr.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/004gziphdr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/004gziphdr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/004gziphdr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/005defhdr.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/005defhdr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/005defhdr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/005defhdr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/006zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/006zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/006zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/006zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/010examples-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/010examples-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/010examples-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/010examples-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/010examples-zlib.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/010examples-zlib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/010examples-zlib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/010examples-zlib.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/01misc.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/01misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/01misc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/01misc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/020isize.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/020isize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/020isize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/020isize.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/050interop-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/050interop-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/050interop-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/050interop-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/100generic-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/100generic-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/100generic-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/100generic-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/100generic-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/100generic-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/100generic-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/100generic-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/100generic-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/100generic-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/100generic-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/100generic-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/100generic-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/100generic-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/100generic-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/100generic-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/100generic-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/100generic-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/100generic-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/100generic-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/101truncate-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/101truncate-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/101truncate-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/101truncate-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/101truncate-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/101truncate-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/101truncate-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/101truncate-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/101truncate-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/101truncate-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/101truncate-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/101truncate-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/101truncate-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/101truncate-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/101truncate-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/101truncate-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/101truncate-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/101truncate-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/101truncate-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/101truncate-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/102tied-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/102tied-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/102tied-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/102tied-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/102tied-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/102tied-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/102tied-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/102tied-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/102tied-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/102tied-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/102tied-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/102tied-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/102tied-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/102tied-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/102tied-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/102tied-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/102tied-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/102tied-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/102tied-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/102tied-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/103newtied-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/103newtied-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/103newtied-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/103newtied-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/103newtied-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/103newtied-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/103newtied-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/103newtied-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/103newtied-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/103newtied-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/103newtied-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/103newtied-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/103newtied-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/103newtied-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/103newtied-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/103newtied-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/103newtied-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/103newtied-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/103newtied-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/103newtied-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/104destroy-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/104destroy-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/104destroy-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/104destroy-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/104destroy-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/104destroy-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/104destroy-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/104destroy-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/104destroy-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/104destroy-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/104destroy-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/104destroy-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/104destroy-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/104destroy-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/104destroy-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/104destroy-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/104destroy-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/104destroy-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/104destroy-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/104destroy-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/105oneshot-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/105oneshot-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/105oneshot-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/105oneshot-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/105oneshot-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/105oneshot-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/105oneshot-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/105oneshot-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip-only.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip-only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip-only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip-only.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/105oneshot-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/105oneshot-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/105oneshot-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/105oneshot-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/105oneshot-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-bzip2-only.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-bzip2-only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-bzip2-only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-bzip2-only.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-only.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip-only.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/105oneshot-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/106prime-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/106prime-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/106prime-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/106prime-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/106prime-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/106prime-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/106prime-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/106prime-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/106prime-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/106prime-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/106prime-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/106prime-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/106prime-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/106prime-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/106prime-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/106prime-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/106prime-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/106prime-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/106prime-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/106prime-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/107multi-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/107multi-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/107multi-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/107multi-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/107multi-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/107multi-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/107multi-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/107multi-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/107multi-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/107multi-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/107multi-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/107multi-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/107multi-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/107multi-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/107multi-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/107multi-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/107multi-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/107multi-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/107multi-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/107multi-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/108anyunc-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/108anyunc-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/108anyunc-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/108anyunc-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/108anyunc-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/108anyunc-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/108anyunc-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/108anyunc-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/108anyunc-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/108anyunc-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/108anyunc-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/108anyunc-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/108anyunc-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/108anyunc-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/108anyunc-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/108anyunc-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/108anyunc-transparent.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/108anyunc-transparent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/108anyunc-transparent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/108anyunc-transparent.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/108anyunc-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/108anyunc-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/108anyunc-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/108anyunc-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/109merge-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/109merge-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/109merge-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/109merge-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/109merge-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/109merge-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/109merge-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/109merge-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/109merge-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/109merge-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/109merge-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/109merge-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/109merge-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/109merge-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/109merge-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/109merge-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/110encode-bzip2.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/110encode-bzip2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/110encode-bzip2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/110encode-bzip2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/110encode-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/110encode-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/110encode-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/110encode-deflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/110encode-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/110encode-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/110encode-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/110encode-gzip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/110encode-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/110encode-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/110encode-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/110encode-rawdeflate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/110encode-zip.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/110encode-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/110encode-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/110encode-zip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/999pod.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/999pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/999pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/999pod.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/cz-01version.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/cz-01version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/cz-01version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/cz-01version.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/cz-05examples.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/cz-05examples.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/cz-05examples.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/cz-05examples.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/cz-06gzsetp.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/cz-06gzsetp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/cz-06gzsetp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/cz-06gzsetp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/cz-08encoding.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/cz-08encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/cz-08encoding.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/cz-08encoding.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/cz-14gzopen.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/cz-14gzopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/cz-14gzopen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/cz-14gzopen.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO-Compress/t/globmapper.t
===================================================================
--- vendor/perl/dist/ext/IO-Compress/t/globmapper.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO-Compress/t/globmapper.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO-Compress/t/globmapper.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/README
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/lib/File/GlobMapper.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/lib/File/GlobMapper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/lib/File/GlobMapper.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/lib/File/GlobMapper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base/Common.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Compress/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/AnyUncompress.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/lib/IO/Uncompress/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/t/01misc.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/t/01misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/t/01misc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/t/01misc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Base/t/globmapper.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Base/t/globmapper.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Base/t/globmapper.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Base/t/globmapper.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/README
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzappend
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzappend	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzappend	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzappend
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzcat
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzcat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzcat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzcat
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzgrep
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzgrep	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzgrep	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzgrep
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzstream
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzstream	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzstream	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/examples/gzstream
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/examples/unzip
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/examples/unzip	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/examples/unzip	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/examples/unzip
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Deflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Adapter/Identity.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Deflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Gzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/RawDeflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Compress/Zlib/Extra.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Identity.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Adapter/Inflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/AnyInflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Gunzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Inflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/RawInflate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/lib/IO/Uncompress/Unzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/private/MakeUtil.pm
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/private/MakeUtil.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/private/MakeUtil.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/private/MakeUtil.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/001zlib-generic-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-transparent.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-transparent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-transparent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-transparent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/002any-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/004gziphdr.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/004gziphdr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/004gziphdr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/004gziphdr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/005defhdr.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/005defhdr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/005defhdr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/005defhdr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/010examples.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/010examples.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/010examples.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/010examples.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/020isize.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/020isize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/020isize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/020isize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/050interop-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/050interop-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/050interop-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/050interop-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/100generic-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/101truncate-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/102tied-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/103newtied-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/104destroy-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip-only.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip-only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip-only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip-only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip-only.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip-only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip-only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip-only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/105oneshot-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/106prime-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/107multi-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-transparent.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-transparent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-transparent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-transparent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/108anyunc-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/109merge-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-deflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-deflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-deflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-deflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-gzip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-gzip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-gzip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-gzip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-rawdeflate.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-rawdeflate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-rawdeflate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-rawdeflate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-zip.t
===================================================================
--- vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-zip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-zip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IO_Compress_Zlib/t/110encode-zip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/ChangeLog
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/Msg.pm
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/Msg.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/Msg.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/Msg.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/README
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/Semaphore.pm
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/Semaphore.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/Semaphore.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/Semaphore.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/SysV.pm
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/SysV.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/SysV.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/SysV.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/SysV.xs
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/SysV.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/SysV.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/SysV.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/hints/next_3.pl
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/hints/next_3.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/hints/next_3.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/hints/next_3.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/t/ipcsysv.t
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/t/ipcsysv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/t/ipcsysv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/t/ipcsysv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/t/msg.t
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/t/msg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/t/msg.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/t/msg.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC/SysV/t/sem.t
===================================================================
--- vendor/perl/dist/ext/IPC/SysV/t/sem.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC/SysV/t/sem.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC/SysV/t/sem.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-Open2/lib/IPC/Open2.pm
===================================================================
--- vendor/perl/dist/ext/IPC-Open2/lib/IPC/Open2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-Open2/lib/IPC/Open2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-Open2/lib/IPC/Open2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-Open2/t/IPC-Open2.t
===================================================================
--- vendor/perl/dist/ext/IPC-Open2/t/IPC-Open2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-Open2/t/IPC-Open2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-Open2/t/IPC-Open2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/IPC-Open3/lib/IPC/Open3.pm
===================================================================
--- vendor/perl/dist/ext/IPC-Open3/lib/IPC/Open3.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-Open3/lib/IPC/Open3.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 use Carp;
 use Symbol qw(gensym qualify);
 
-$VERSION	= 1.09;
+$VERSION	= '1.13';
 @ISA		= qw(Exporter);
 @EXPORT		= qw(open3);
 
@@ -149,66 +149,44 @@
 
 # Fatal.pm needs to be fixed WRT prototypes.
 
-sub xfork {
-    my $pid = fork;
-    defined $pid or croak "$Me: fork failed: $!";
-    return $pid;
-}
-
 sub xpipe {
     pipe $_[0], $_[1] or croak "$Me: pipe($_[0], $_[1]) failed: $!";
 }
 
-sub xpipe_anon {
-    pipe $_[0], $_[1] or croak "$Me: pipe failed: $!";
-}
-
-sub xclose_on_exec {
-    require Fcntl;
-    my $flags = fcntl($_[0], &Fcntl::F_GETFD, 0)
-	or croak "$Me: fcntl failed: $!";
-    fcntl($_[0], &Fcntl::F_SETFD, $flags|&Fcntl::FD_CLOEXEC)
-	or croak "$Me: fcntl failed: $!";
-}
-
 # I tried using a * prototype character for the filehandle but it still
 # disallows a bareword while compiling under strict subs.
 
 sub xopen {
-    open $_[0], $_[1] or croak "$Me: open($_[0], $_[1]) failed: $!";
+    open $_[0], $_[1], @_[2..$#_] and return;
+    local $" = ', ';
+    carp "$Me: open(@_) failed: $!";
 }
 
 sub xclose {
-    $_[0] =~ /\A=?(\d+)\z/ ? eval { require POSIX; POSIX::close($1); } : close $_[0]
+    $_[0] =~ /\A=?(\d+)\z/
+	? do { my $fh; open($fh, $_[1] . '&=' . $1) and close($fh); }
+	: close $_[0]
+	or croak "$Me: close($_[0]) failed: $!";
 }
 
-sub fh_is_fd {
-    return $_[0] =~ /\A=?(\d+)\z/;
-}
-
 sub xfileno {
     return $1 if $_[0] =~ /\A=?(\d+)\z/;  # deal with fh just being an fd
     return fileno $_[0];
 }
 
-use constant DO_SPAWN => $^O eq 'os2' || $^O eq 'MSWin32';
+use constant FORCE_DEBUG_SPAWN => 0;
+use constant DO_SPAWN => $^O eq 'os2' || $^O eq 'MSWin32' || FORCE_DEBUG_SPAWN;
 
 sub _open3 {
     local $Me = shift;
-    my($package, $dad_wtr, $dad_rdr, $dad_err, @cmd) = @_;
-    my($dup_wtr, $dup_rdr, $dup_err, $kidpid);
 
-    if (@cmd > 1 and $cmd[0] eq '-') {
-	croak "Arguments don't make sense when the command is '-'"
-    }
-
     # simulate autovivification of filehandles because
     # it's too ugly to use @_ throughout to make perl do it for us
     # tchrist 5-Mar-00
 
     unless (eval  {
-	$dad_wtr = $_[1] = gensym unless defined $dad_wtr && length $dad_wtr;
-	$dad_rdr = $_[2] = gensym unless defined $dad_rdr && length $dad_rdr;
+	$_[0] = gensym unless defined $_[0] && length $_[0];
+	$_[1] = gensym unless defined $_[1] && length $_[1];
 	1; })
     {
 	# must strip crud for croak to add back, or looks ugly
@@ -216,30 +194,48 @@
 	croak "$Me: $@";
     }
 
-    $dad_err ||= $dad_rdr;
+    my @handles = ({ mode => '<', handle => \*STDIN },
+		   { mode => '>', handle => \*STDOUT },
+		   { mode => '>', handle => \*STDERR },
+		  );
 
-    $dup_wtr = ($dad_wtr =~ s/^[<>]&//);
-    $dup_rdr = ($dad_rdr =~ s/^[<>]&//);
-    $dup_err = ($dad_err =~ s/^[<>]&//);
+    foreach (@handles) {
+	$_->{parent} = shift;
+	$_->{open_as} = gensym;
+    }
 
-    # force unqualified filehandles into caller's package
-    $dad_wtr = qualify $dad_wtr, $package unless fh_is_fd($dad_wtr);
-    $dad_rdr = qualify $dad_rdr, $package unless fh_is_fd($dad_rdr);
-    $dad_err = qualify $dad_err, $package unless fh_is_fd($dad_err);
+    if (@_ > 1 and $_[0] eq '-') {
+	croak "Arguments don't make sense when the command is '-'"
+    }
 
-    my $kid_rdr = gensym;
-    my $kid_wtr = gensym;
-    my $kid_err = gensym;
+    $handles[2]{parent} ||= $handles[1]{parent};
+    $handles[2]{dup_of_out} = $handles[1]{parent} eq $handles[2]{parent};
 
-    xpipe $kid_rdr, $dad_wtr if !$dup_wtr;
-    xpipe $dad_rdr, $kid_wtr if !$dup_rdr;
-    xpipe $dad_err, $kid_err if !$dup_err && $dad_err ne $dad_rdr;
+    my $package;
+    foreach (@handles) {
+	$_->{dup} = ($_->{parent} =~ s/^[<>]&//);
 
+	if ($_->{parent} !~ /\A=?(\d+)\z/) {
+	    # force unqualified filehandles into caller's package
+	    $package //= caller 1;
+	    $_->{parent} = qualify $_->{parent}, $package;
+	}
+
+	next if $_->{dup} or $_->{dup_of_out};
+	if ($_->{mode} eq '<') {
+	    xpipe $_->{open_as}, $_->{parent};
+	} else {
+	    xpipe $_->{parent}, $_->{open_as};
+	}
+    }
+
+    my $kidpid;
     if (!DO_SPAWN) {
 	# Used to communicate exec failures.
 	xpipe my $stat_r, my $stat_w;
 
-	$kidpid = xfork;
+	$kidpid = fork;
+	croak "$Me: fork failed: $!" unless defined $kidpid;
 	if ($kidpid == 0) {  # Kid
 	    eval {
 		# A tie in the parent should not be allowed to cause problems.
@@ -247,49 +243,43 @@
 		untie *STDOUT;
 
 		close $stat_r;
-		xclose_on_exec $stat_w;
+		require Fcntl;
+		my $flags = fcntl $stat_w, &Fcntl::F_GETFD, 0;
+		croak "$Me: fcntl failed: $!" unless $flags;
+		fcntl $stat_w, &Fcntl::F_SETFD, $flags|&Fcntl::FD_CLOEXEC
+		    or croak "$Me: fcntl failed: $!";
 
 		# If she wants to dup the kid's stderr onto her stdout I need to
 		# save a copy of her stdout before I put something else there.
-		if ($dad_rdr ne $dad_err && $dup_err
-			&& xfileno($dad_err) == fileno(STDOUT)) {
+		if (!$handles[2]{dup_of_out} && $handles[2]{dup}
+			&& xfileno($handles[2]{parent}) == fileno \*STDOUT) {
 		    my $tmp = gensym;
-		    xopen($tmp, ">&$dad_err");
-		    $dad_err = $tmp;
+		    xopen($tmp, '>&', $handles[2]{parent});
+		    $handles[2]{parent} = $tmp;
 		}
 
-		if ($dup_wtr) {
-		    xopen \*STDIN,  "<&$dad_wtr" if fileno(STDIN) != xfileno($dad_wtr);
-		} else {
-		    xclose $dad_wtr;
-		    xopen \*STDIN,  "<&=" . fileno $kid_rdr;
-		}
-		if ($dup_rdr) {
-		    xopen \*STDOUT, ">&$dad_rdr" if fileno(STDOUT) != xfileno($dad_rdr);
-		} else {
-		    xclose $dad_rdr;
-		    xopen \*STDOUT, ">&=" . fileno $kid_wtr;
-		}
-		if ($dad_rdr ne $dad_err) {
-		    if ($dup_err) {
-			# I have to use a fileno here because in this one case
-			# I'm doing a dup but the filehandle might be a reference
-			# (from the special case above).
-			xopen \*STDERR, ">&" . xfileno($dad_err)
-			    if fileno(STDERR) != xfileno($dad_err);
+		foreach (@handles) {
+		    if ($_->{dup_of_out}) {
+			xopen \*STDERR, ">&STDOUT"
+			    if defined fileno STDERR && fileno STDERR != fileno STDOUT;
+		    } elsif ($_->{dup}) {
+			xopen $_->{handle}, $_->{mode} . '&', $_->{parent}
+			    if fileno $_->{handle} != xfileno($_->{parent});
 		    } else {
-			xclose $dad_err;
-			xopen \*STDERR, ">&=" . fileno $kid_err;
+			xclose $_->{parent}, $_->{mode};
+			xopen $_->{handle}, $_->{mode} . '&=',
+			    fileno $_->{open_as};
 		    }
-		} else {
-		    xopen \*STDERR, ">&STDOUT" if fileno(STDERR) != fileno(STDOUT);
 		}
-		return 0 if ($cmd[0] eq '-');
-		exec @cmd or do {
+		return 1 if ($_[0] eq '-');
+		exec @_ or do {
 		    local($")=(" ");
-		    croak "$Me: exec of @cmd failed";
+		    croak "$Me: exec of @_ failed";
 		};
-	    };
+	    } and do {
+                close $stat_w;
+                return 0;
+            };
 
 	    my $bang = 0+$!;
 	    my $err = $@;
@@ -322,52 +312,35 @@
 	# handled in spawn_with_handles.
 
 	my @close;
-	if ($dup_wtr) {
-	  $kid_rdr = \*{$dad_wtr};
-	  push @close, $kid_rdr;
-	} else {
-	  push @close, \*{$dad_wtr}, $kid_rdr;
-	}
-	if ($dup_rdr) {
-	  $kid_wtr = \*{$dad_rdr};
-	  push @close, $kid_wtr;
-	} else {
-	  push @close, \*{$dad_rdr}, $kid_wtr;
-	}
-	if ($dad_rdr ne $dad_err) {
-	    if ($dup_err) {
-	      $kid_err = \*{$dad_err};
-	      push @close, $kid_err;
+
+	foreach (@handles) {
+	    if ($_->{dup_of_out}) {
+		$_->{open_as} = $handles[1]{open_as};
+	    } elsif ($_->{dup}) {
+		$_->{open_as} = $_->{parent} =~ /\A[0-9]+\z/
+		    ? $_->{parent} : \*{$_->{parent}};
+		push @close, $_->{open_as};
 	    } else {
-	      push @close, \*{$dad_err}, $kid_err;
+		push @close, \*{$_->{parent}}, $_->{open_as};
 	    }
-	} else {
-	  $kid_err = $kid_wtr;
 	}
 	require IO::Pipe;
 	$kidpid = eval {
-	    spawn_with_handles( [ { mode => 'r',
-				    open_as => $kid_rdr,
-				    handle => \*STDIN },
-				  { mode => 'w',
-				    open_as => $kid_wtr,
-				    handle => \*STDOUT },
-				  { mode => 'w',
-				    open_as => $kid_err,
-				    handle => \*STDERR },
-				], \@close, @cmd);
+	    spawn_with_handles(\@handles, \@close, @_);
 	};
 	die "$Me: $@" if $@;
     }
 
-    xclose $kid_rdr if !$dup_wtr;
-    xclose $kid_wtr if !$dup_rdr;
-    xclose $kid_err if !$dup_err && $dad_rdr ne $dad_err;
+    foreach (@handles) {
+	next if $_->{dup} or $_->{dup_of_out};
+	xclose $_->{open_as}, $_->{mode};
+    }
+
     # If the write handle is a dup give it away entirely, close my copy
     # of it.
-    xclose $dad_wtr if $dup_wtr;
+    xclose $handles[0]{parent}, $handles[0]{mode} if $handles[0]{dup};
 
-    select((select($dad_wtr), $| = 1)[0]); # unbuffer pipe
+    select((select($handles[0]{parent}), $| = 1)[0]); # unbuffer pipe
     $kidpid;
 }
 
@@ -376,7 +349,7 @@
 	local $" = ', ';
 	croak "open3(@_): not enough arguments";
     }
-    return _open3 'open3', scalar caller, @_
+    return _open3 'open3', @_
 }
 
 sub spawn_with_handles {
@@ -383,11 +356,10 @@
     my $fds = shift;		# Fields: handle, mode, open_as
     my $close_in_child = shift;
     my ($fd, $pid, @saved_fh, $saved, %saved, @errs);
-    require Fcntl;
 
     foreach $fd (@$fds) {
 	$fd->{tmp_copy} = IO::Handle->new_from_fd($fd->{handle}, $fd->{mode});
-	$saved{fileno $fd->{handle}} = $fd->{tmp_copy};
+	$saved{fileno $fd->{handle}} = $fd->{tmp_copy} if $fd->{tmp_copy};
     }
     foreach $fd (@$fds) {
 	bless $fd->{handle}, 'IO::Handle'
@@ -394,12 +366,16 @@
 	    unless eval { $fd->{handle}->isa('IO::Handle') } ;
 	# If some of handles to redirect-to coincide with handles to
 	# redirect, we need to use saved variants:
-	$fd->{handle}->fdopen($saved{fileno $fd->{open_as}} || $fd->{open_as},
+	$fd->{handle}->fdopen(defined fileno $fd->{open_as}
+			      ? $saved{fileno $fd->{open_as}} || $fd->{open_as}
+			      : $fd->{open_as},
 			      $fd->{mode});
     }
     unless ($^O eq 'MSWin32') {
+	require Fcntl;
 	# Stderr may be redirected below, so we save the err text:
 	foreach $fd (@$close_in_child) {
+	    next unless fileno $fd;
 	    fcntl($fd, Fcntl::F_SETFD(), 1) or push @errs, "fcntl $fd: $!"
 		unless $saved{fileno $fd}; # Do not close what we redirect!
 	}
@@ -406,14 +382,36 @@
     }
 
     unless (@errs) {
-	$pid = eval { system 1, @_ }; # 1 == P_NOWAIT
+	if (FORCE_DEBUG_SPAWN) {
+	    pipe my $r, my $w or die "Pipe failed: $!";
+	    $pid = fork;
+	    die "Fork failed: $!" unless defined $pid;
+	    if (!$pid) {
+		{ no warnings; exec @_ }
+		print $w 0 + $!;
+		close $w;
+		require POSIX;
+		POSIX::_exit(255);
+	    }
+	    close $w;
+	    my $bad = <$r>;
+	    if (defined $bad) {
+		$! = $bad;
+		undef $pid;
+	    }
+	} else {
+	    $pid = eval { system 1, @_ }; # 1 == P_NOWAIT
+	}
 	push @errs, "IO::Pipe: Can't spawn-NOWAIT: $!" if !$pid || $pid < 0;
     }
 
-    foreach $fd (@$fds) {
+    # Do this in reverse, so that STDERR is restored first:
+    foreach $fd (reverse @$fds) {
 	$fd->{handle}->fdopen($fd->{tmp_copy}, $fd->{mode});
-	$fd->{tmp_copy}->close or croak "Can't close: $!";
     }
+    foreach (values %saved) {
+	$_->close or croak "Can't close: $!";
+    }
     croak join "\n", @errs if @errs;
     return $pid;
 }


Property changes on: vendor/perl/dist/ext/IPC-Open3/lib/IPC/Open3.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/IPC-Open3/t/IPC-Open3.t
===================================================================
--- vendor/perl/dist/ext/IPC-Open3/t/IPC-Open3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-Open3/t/IPC-Open3.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,8 +3,8 @@
 BEGIN {
     require Config; import Config;
     if (!$Config{'d_fork'}
-       # open2/3 supported on win32 (but not Borland due to CRT bugs)
-       && (($^O ne 'MSWin32' && $^O ne 'NetWare') || $Config{'cc'} =~ /^bcc/i))
+       # open2/3 supported on win32
+       && $^O ne 'MSWin32' && $^O ne 'NetWare')
     {
 	print "1..0\n";
 	exit 0;
@@ -14,7 +14,7 @@
 }
 
 use strict;
-use Test::More tests => 23;
+use Test::More tests => 37;
 
 use IO::Handle;
 use IPC::Open3;
@@ -96,6 +96,16 @@
 print WRITE "ok $test\n";
 waitpid $pid, 0;
 
+{
+    package YAAH;
+    $pid = IPC::Open3::open3('QWACK_WAAK_WAAK', '>&STDOUT', 'ERROR',
+			     $perl, '-e', main::cmd_line('print scalar <STDIN>'));
+    ++$test;
+    no warnings 'once';
+    print QWACK_WAAK_WAAK "ok $test # filenames qualified to their package\n";
+    waitpid $pid, 0;
+}
+
 # dup error:  This particular case, duping stderr onto the existing
 # stdout but putting stdout somewhere else, is a good case because it
 # used not to work.
@@ -105,35 +115,25 @@
 print WRITE "ok $test\n";
 waitpid $pid, 0;
 
-# dup reader and error together, both named
-$pid = open3 'WRITE', '>&STDOUT', '>&STDOUT', $perl, '-e', cmd_line(<<'EOF');
+foreach (['>&STDOUT', 'both named'],
+	 ['', 'error empty'],
+	) {
+    my ($err, $desc) = @$_;
+    $pid = open3 'WRITE', '>&STDOUT', $err, $perl, '-e', cmd_line(<<'EOF');
     $| = 1;
     print STDOUT scalar <STDIN>;
     print STDERR scalar <STDIN>;
 EOF
-++$test;
-print WRITE "ok $test\n";
-++$test;
-print WRITE "ok $test\n";
-waitpid $pid, 0;
+    printf WRITE "ok %d # dup reader and error together, $desc\n", ++$test
+	for 0, 1;
+    waitpid $pid, 0;
+}
 
-# dup reader and error together, error empty
-$pid = open3 'WRITE', '>&STDOUT', '', $perl, '-e', cmd_line(<<'EOF');
-    $| = 1;
-    print STDOUT scalar <STDIN>;
-    print STDERR scalar <STDIN>;
-EOF
-++$test;
-print WRITE "ok $test\n";
-++$test;
-print WRITE "ok $test\n";
-waitpid $pid, 0;
-
 # command line in single parameter variant of open3
 # for understanding of Config{'sh'} test see exec description in camel book
 my $cmd = 'print(scalar(<STDIN>))';
 $cmd = $Config{'sh'} =~ /sh/ ? "'$cmd'" : cmd_line($cmd);
-eval{$pid = open3 'WRITE', '>&STDOUT', 'ERROR', "$perl -e " . $cmd; };
+$pid = eval { open3 'WRITE', '>&STDOUT', 'ERROR', "$perl -e " . $cmd; };
 if ($@) {
 	print "error $@\n";
 	++$test;
@@ -147,13 +147,38 @@
 $TB->current_test($test);
 
 # RT 72016
-eval{$pid = open3 'WRITE', 'READ', 'ERROR', '/non/existent/program'; };
-if (IPC::Open3::DO_SPAWN) {
-    if ($@) {
-	cmp_ok(waitpid($pid, 0), '>', 0);
+{
+    local $::TODO = "$^O returns a pid and doesn't throw an exception"
+	if $^O eq 'MSWin32';
+    $pid = eval { open3 'WRITE', 'READ', 'ERROR', '/non/existent/program'; };
+    isnt($@, '',
+	 'open3 of a non existent program fails with an exception in the parent')
+	or do {waitpid $pid, 0};
+}
+
+$pid = eval { open3 'WRITE', '', 'ERROR', '/non/existent/program'; };
+like($@, qr/^open3: Modification of a read-only value attempted at /,
+     'open3 faults read-only parameters correctly') or do {waitpid $pid, 0};
+
+foreach my $handle (qw (DUMMY STDIN STDOUT STDERR)) {
+    local $::{$handle};
+    my $out = IO::Handle->new();
+    my $pid = eval {
+	local $SIG{__WARN__} = sub {
+	    open my $fh, '>/dev/tty';
+	    return if "@_" =~ m!^Use of uninitialized value \$fd.*IO/Handle\.pm!;
+	    print $fh "@_";
+	    die @_
+	};
+	open3 undef, $out, undef, $perl, '-le', "print q _# ${handle}_"
+    };
+    is($@, '', "No errors with localised $handle");
+    cmp_ok($pid, '>', 0, "Got a pid with localised $handle");
+    if ($handle eq 'STDOUT') {
+	is(<$out>, undef, "Expected no output with localised $handle");
     } else {
-	pass();
+	like(<$out>, qr/\A# $handle\r?\n\z/,
+	     "Expected output with localised $handle");
     }
-} else {
-    isnt($@, '') or do {waitpid $pid, 0};
+    waitpid $pid, 0;
 }


Property changes on: vendor/perl/dist/ext/IPC-Open3/t/IPC-Open3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/IPC-Open3/t/fd.t
===================================================================
--- vendor/perl/dist/ext/IPC-Open3/t/fd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-Open3/t/fd.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,6 @@
 #!./perl
 
 BEGIN {
-    if (!PerlIO::Layer->find('perlio') || $ENV{PERLIO} eq 'stdio') {
-	print "1..0 # Skip: not perlio\n";
-	exit 0;
-    }
     if ($^O eq 'VMS') {
         print "1..0 # Skip: needs porting, perhaps imitating Win32 mechanisms\n";
 	exit 0;
@@ -14,22 +10,36 @@
 use strict;
 use warnings;
 
-plan 2;
+plan 3;
 
 # [perl #76474]
 {
   my $stderr = runperl(
      switches => ['-MIPC::Open3', '-w'],
-     prog => 'open STDIN, q _Makefile_ or die $!; open3(q _<&1_, my $out, undef, $ENV{PERLEXE}, q _-e0_)',
+     prog => 'open STDIN, q _Makefile_ or die $!; open3(q _<&0_, my $out, undef, $ENV{PERLEXE}, q _-e0_)',
      stderr => 1,
   );
-  {
-      local $::TODO = "Bogus warning in IPC::Open3::spawn_with_handles"
-	  if $^O eq 'MSWin32';
-      $stderr =~ s/(Use of uninitialized value.*Open3\.pm line \d+\.)\n//;
-      is($1, undef, 'No bogus warning found');
-  }
 
   is $stderr, '',
    "dup STDOUT in a child process by using its file descriptor";
 }
+
+{
+  my $want = qr/\A# This Makefile is for the IPC::Open3 extension to perl\.\r?\z/;
+  open my $fh, '<', 'Makefile' or die "Can't open MAKEFILE: $!";
+  my $have = <$fh>;
+  chomp $have;
+  like($have, $want, 'No surprises from MakeMaker');
+  close $fh;
+
+  fresh_perl_like(<<'EOP',
+use IPC::Open3;
+open FOO, 'Makefile' or die $!;
+open3('<&' . fileno FOO, my $out, undef, $ENV{PERLEXE}, '-eprint scalar <STDIN>');
+print <$out>;
+EOP
+		  $want,
+		  undef,
+		  'Numeric file handles are duplicated correctly'
+      );
+}


Property changes on: vendor/perl/dist/ext/IPC-Open3/t/fd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/MANIFEST.SKIP
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/MANIFEST.SKIP	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/MANIFEST.SKIP	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/MANIFEST.SKIP
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/README
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/SysV.xs
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/SysV.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/SysV.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/SysV.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/TODO
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/hints/next_3.pl
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/hints/next_3.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/hints/next_3.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/hints/next_3.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/lib/IPC/Msg.pm
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/lib/IPC/Msg.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/lib/IPC/Msg.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/lib/IPC/Msg.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/lib/IPC/Semaphore.pm
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/lib/IPC/Semaphore.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/lib/IPC/Semaphore.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/lib/IPC/Semaphore.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/lib/IPC/SharedMem.pm
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/lib/IPC/SharedMem.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/lib/IPC/SharedMem.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/lib/IPC/SharedMem.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/lib/IPC/SysV.pm
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/lib/IPC/SysV.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/lib/IPC/SysV.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/lib/IPC/SysV.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/regen.pl
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/regen.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/regen.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/regen.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/t/ipcsysv.t
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/t/ipcsysv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/t/ipcsysv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/t/ipcsysv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/t/msg.t
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/t/msg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/t/msg.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/t/msg.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/t/pod.t
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/t/pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/t/pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/t/pod.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/t/podcov.t
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/t/podcov.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/t/podcov.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/t/podcov.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/t/sem.t
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/t/sem.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/t/sem.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/t/sem.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/t/shm.t
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/t/shm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/t/shm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/t/shm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/IPC-SysV/typemap
===================================================================
--- vendor/perl/dist/ext/IPC-SysV/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/IPC-SysV/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/IPC-SysV/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/List/Util/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/README
===================================================================
--- vendor/perl/dist/ext/List/Util/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/Util.xs
===================================================================
--- vendor/perl/dist/ext/List/Util/Util.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/Util.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/Util.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/lib/List/Util.pm
===================================================================
--- vendor/perl/dist/ext/List/Util/lib/List/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/lib/List/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/lib/List/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/lib/Scalar/Util.pm
===================================================================
--- vendor/perl/dist/ext/List/Util/lib/Scalar/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/lib/Scalar/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/lib/Scalar/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/multicall.h
===================================================================
--- vendor/perl/dist/ext/List/Util/multicall.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/multicall.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/multicall.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/00version.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/00version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/00version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/00version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/blessed.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/blessed.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/dualvar.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/dualvar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/dualvar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/dualvar.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/first.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/first.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/first.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/first.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/isvstring.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/isvstring.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/isvstring.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/isvstring.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/lln.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/lln.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/lln.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/lln.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/max.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/max.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/max.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/max.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/maxstr.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/maxstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/maxstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/maxstr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/min.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/min.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/min.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/min.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/minstr.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/minstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/minstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/minstr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/openhan.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/openhan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/openhan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/openhan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_blessed.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_blessed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_first.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_first.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_first.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_first.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_lln.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_lln.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_lln.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_lln.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_max.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_max.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_max.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_max.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_maxstr.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_maxstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_maxstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_maxstr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_min.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_min.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_min.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_min.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_minstr.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_minstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_minstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_minstr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_openhan.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_openhan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_openhan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_openhan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_readonly.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_readonly.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_readonly.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_readonly.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_reduce.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_reduce.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_reduce.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_reduce.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_refaddr.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_refaddr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_refaddr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_refaddr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_reftype.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_reftype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_reftype.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_reftype.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_shuffle.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_shuffle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_shuffle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_shuffle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_sum.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_sum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_sum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_sum.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/p_tainted.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/p_tainted.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/p_tainted.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/p_tainted.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/proto.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/proto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/proto.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/proto.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/readonly.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/readonly.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/readonly.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/readonly.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/reduce.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/reduce.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/reduce.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/reduce.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/refaddr.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/refaddr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/refaddr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/refaddr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/reftype.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/reftype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/reftype.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/reftype.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/shuffle.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/shuffle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/shuffle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/shuffle.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/sum.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/sum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/sum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/sum.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/tainted.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/tainted.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/tainted.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/tainted.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List/Util/t/weak.t
===================================================================
--- vendor/perl/dist/ext/List/Util/t/weak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List/Util/t/weak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List/Util/t/weak.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/ListUtil.xs
===================================================================
--- vendor/perl/dist/ext/List-Util/ListUtil.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/ListUtil.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/ListUtil.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/List-Util/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/README
===================================================================
--- vendor/perl/dist/ext/List-Util/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/XS.pp
===================================================================
--- vendor/perl/dist/ext/List-Util/XS.pp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/XS.pp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/XS.pp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/lib/List/Util/PP.pm
===================================================================
--- vendor/perl/dist/ext/List-Util/lib/List/Util/PP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/lib/List/Util/PP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/lib/List/Util/PP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/lib/List/Util/XS.pm
===================================================================
--- vendor/perl/dist/ext/List-Util/lib/List/Util/XS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/lib/List/Util/XS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/lib/List/Util/XS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/lib/List/Util.pm
===================================================================
--- vendor/perl/dist/ext/List-Util/lib/List/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/lib/List/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/lib/List/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/lib/Scalar/Util/PP.pm
===================================================================
--- vendor/perl/dist/ext/List-Util/lib/Scalar/Util/PP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/lib/Scalar/Util/PP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/lib/Scalar/Util/PP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/lib/Scalar/Util.pm
===================================================================
--- vendor/perl/dist/ext/List-Util/lib/Scalar/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/lib/Scalar/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/lib/Scalar/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/multicall.h
===================================================================
--- vendor/perl/dist/ext/List-Util/multicall.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/multicall.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/multicall.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/00version.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/00version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/00version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/00version.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/blessed.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/blessed.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/dualvar.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/dualvar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/dualvar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/dualvar.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/expfail.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/expfail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/expfail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/expfail.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/first.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/first.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/first.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/first.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/isvstring.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/isvstring.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/isvstring.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/isvstring.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/lln.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/lln.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/lln.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/lln.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/max.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/max.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/max.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/max.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/maxstr.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/maxstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/maxstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/maxstr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/min.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/min.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/min.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/min.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/minstr.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/minstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/minstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/minstr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/openhan.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/openhan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/openhan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/openhan.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_00version.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_00version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_00version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_00version.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_blessed.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_blessed.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_first.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_first.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_first.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_first.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_lln.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_lln.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_lln.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_lln.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_max.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_max.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_max.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_max.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_maxstr.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_maxstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_maxstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_maxstr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_min.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_min.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_min.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_min.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_minstr.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_minstr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_minstr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_minstr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_openhan.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_openhan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_openhan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_openhan.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_readonly.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_readonly.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_readonly.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_readonly.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_reduce.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_reduce.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_reduce.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_reduce.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_refaddr.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_refaddr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_refaddr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_refaddr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_reftype.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_reftype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_reftype.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_reftype.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_shuffle.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_shuffle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_shuffle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_shuffle.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_sum.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_sum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_sum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_sum.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/p_tainted.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/p_tainted.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/p_tainted.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/p_tainted.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/proto.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/proto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/proto.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/proto.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/readonly.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/readonly.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/readonly.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/readonly.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/reduce.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/reduce.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/reduce.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/reduce.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/refaddr.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/refaddr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/refaddr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/refaddr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/reftype.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/reftype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/reftype.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/reftype.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/shuffle.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/shuffle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/shuffle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/shuffle.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/stack-corruption.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/stack-corruption.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/stack-corruption.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/stack-corruption.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/sum.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/sum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/sum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/sum.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/tainted.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/tainted.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/tainted.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/tainted.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/List-Util/t/weak.t
===================================================================
--- vendor/perl/dist/ext/List-Util/t/weak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/List-Util/t/weak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/List-Util/t/weak.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/Base64.pm
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/Base64.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/Base64.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/Base64.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/Base64.xs
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/Base64.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/Base64.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/Base64.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/QuotedPrint.pm
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/QuotedPrint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/QuotedPrint.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/QuotedPrint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/README
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/t/base64.t
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/t/base64.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/t/base64.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/t/base64.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/t/quoted-print.t
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/t/quoted-print.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/t/quoted-print.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/t/quoted-print.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/t/unicode.t
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/t/unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/t/unicode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/t/unicode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME/Base64/t/warn.t
===================================================================
--- vendor/perl/dist/ext/MIME/Base64/t/warn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME/Base64/t/warn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME/Base64/t/warn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/Base64.pm
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/Base64.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/Base64.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/Base64.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/Base64.xs
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/Base64.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/Base64.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/Base64.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/QuotedPrint.pm
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/QuotedPrint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/QuotedPrint.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/QuotedPrint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/README
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/t/base64.t
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/t/base64.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/t/base64.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/t/base64.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/t/quoted-print.t
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/t/quoted-print.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/t/quoted-print.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/t/quoted-print.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/t/unicode.t
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/t/unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/t/unicode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/t/unicode.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/MIME-Base64/t/warn.t
===================================================================
--- vendor/perl/dist/ext/MIME-Base64/t/warn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/MIME-Base64/t/warn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/MIME-Base64/t/warn.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.pm
===================================================================
--- vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.xs
===================================================================
--- vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math/BigInt/FastCalc/FastCalc.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math/BigInt/FastCalc/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Math/BigInt/FastCalc/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math/BigInt/FastCalc/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math/BigInt/FastCalc/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bigintfc.t
===================================================================
--- vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bigintfc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bigintfc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bigintfc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bootstrap.t
===================================================================
--- vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bootstrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bootstrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math/BigInt/FastCalc/t/bootstrap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math/BigInt/FastCalc/t/leak.t
===================================================================
--- vendor/perl/dist/ext/Math/BigInt/FastCalc/t/leak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math/BigInt/FastCalc/t/leak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math/BigInt/FastCalc/t/leak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math/BigInt/FastCalc/t/mbi_rand.t
===================================================================
--- vendor/perl/dist/ext/Math/BigInt/FastCalc/t/mbi_rand.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math/BigInt/FastCalc/t/mbi_rand.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math/BigInt/FastCalc/t/mbi_rand.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.pm
===================================================================
--- vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.xs
===================================================================
--- vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math-BigInt-FastCalc/FastCalc.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bigintfc.t
===================================================================
--- vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bigintfc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bigintfc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bigintfc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bootstrap.t
===================================================================
--- vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bootstrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bootstrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math-BigInt-FastCalc/t/bootstrap.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math-BigInt-FastCalc/t/leak.t
===================================================================
--- vendor/perl/dist/ext/Math-BigInt-FastCalc/t/leak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math-BigInt-FastCalc/t/leak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math-BigInt-FastCalc/t/leak.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Math-BigInt-FastCalc/t/mbi_rand.t
===================================================================
--- vendor/perl/dist/ext/Math-BigInt-FastCalc/t/mbi_rand.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Math-BigInt-FastCalc/t/mbi_rand.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Math-BigInt-FastCalc/t/mbi_rand.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/lib/Devel/InnerPackage.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/lib/Devel/InnerPackage.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/lib/Devel/InnerPackage.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/lib/Devel/InnerPackage.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable/Object.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable/Object.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable/Object.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable/Object.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/lib/Module/Pluggable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/01use.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/01use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/01use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/01use.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/02alsoworks.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/02alsoworks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/02alsoworks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/02alsoworks.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/02works.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/02works.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/02works.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/02works.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/02works_taint.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/02works_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/02works_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/02works_taint.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/03diffname.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/03diffname.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/03diffname.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/03diffname.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/04acmedir.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/04acmedir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/04acmedir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/04acmedir.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/04acmedir_single.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/04acmedir_single.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/04acmedir_single.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/04acmedir_single.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/04acmepath.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/04acmepath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/04acmepath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/04acmepath.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/04acmepath_single.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/04acmepath_single.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/04acmepath_single.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/04acmepath_single.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/05postpath.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/05postpath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/05postpath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/05postpath.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/06multipath.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/06multipath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/06multipath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/06multipath.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/07instantiate.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/07instantiate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/07instantiate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/07instantiate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/08nothing.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/08nothing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/08nothing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/08nothing.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/09require.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/09require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/09require.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/09require.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/10innerpack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/10innerpack.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_inner.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_inner.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_inner.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_inner.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_noinner.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_noinner.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_noinner.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_noinner.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_onefile.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_onefile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_onefile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_onefile.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_override.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_override.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_override.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_override.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_super.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/10innerpack_super.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/11usetwice.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/11usetwice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/11usetwice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/11usetwice.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/12only.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/12only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/12only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/12only.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/12onlyarray.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/12onlyarray.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/12onlyarray.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/12onlyarray.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/12onlyregex.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/12onlyregex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/12onlyregex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/12onlyregex.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/12onlyrequire.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/12onlyrequire.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/12onlyrequire.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/12onlyrequire.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/13except.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/13except.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/13except.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/13except.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/13exceptarray.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/13exceptarray.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/13exceptarray.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/13exceptarray.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/13exceptregex.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/13exceptregex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/13exceptregex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/13exceptregex.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/14package.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/14package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/14package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/14package.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/15topicsafe.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/15topicsafe.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/15topicsafe.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/15topicsafe.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/16different_extension.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/16different_extension.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/16different_extension.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/16different_extension.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/17devel_inner_package.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/17devel_inner_package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/17devel_inner_package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/17devel_inner_package.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/18skipped_package.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/18skipped_package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/18skipped_package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/18skipped_package.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/19can_ok_clobber.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/19can_ok_clobber.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/19can_ok_clobber.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/19can_ok_clobber.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/20dodgy_files.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/20dodgy_files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/20dodgy_files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/20dodgy_files.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/21editor_junk.t
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/21editor_junk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/21editor_junk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/21editor_junk.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/acme/Acme/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/Foo-Bar.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/Foo-Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/Foo-Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/Foo-Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/Acme/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Bar.pm.swp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/EditorJunk/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Bar.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Foo.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/ExtTest/Plugin/Quux/Foo.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/InnerTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyOtherTest/Plugin/Quux.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Extend/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/MyTest/Plugin/Quux/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/No/Middle.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/No/Middle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/No/Middle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/No/Middle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/OddTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/TA/C/A/I.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/TA/C/A/I.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/TA/C/A/I.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/TA/C/A/I.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Module-Pluggable/t/lib/Zot/.Zork.pm
===================================================================
--- vendor/perl/dist/ext/Module-Pluggable/t/lib/Zot/.Zork.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Module-Pluggable/t/lib/Zot/.Zork.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Module-Pluggable/t/lib/Zot/.Zork.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/NDBM_File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/NDBM_File.pm
===================================================================
--- vendor/perl/dist/ext/NDBM_File/NDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/NDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/NDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/NDBM_File.xs
===================================================================
--- vendor/perl/dist/ext/NDBM_File/NDBM_File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/NDBM_File.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/NDBM_File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/cygwin.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/cygwin.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/cygwin.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/cygwin.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/dec_osf.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/dec_osf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/dec_osf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/dec_osf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/dynixptx.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/dynixptx.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/dynixptx.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/dynixptx.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/gnukfreebsd.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/gnukfreebsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/gnukfreebsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/gnukfreebsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/gnuknetbsd.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/gnuknetbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/gnuknetbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/gnuknetbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/sco.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/solaris.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/solaris.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/solaris.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/solaris.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/hints/svr4.pl
===================================================================
--- vendor/perl/dist/ext/NDBM_File/hints/svr4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/hints/svr4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/hints/svr4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/NDBM_File/t/ndbm.t
===================================================================
--- vendor/perl/dist/ext/NDBM_File/t/ndbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/t/ndbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/NDBM_File/t/ndbm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/NDBM_File/typemap
===================================================================
--- vendor/perl/dist/ext/NDBM_File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/NDBM_File/typemap	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,6 @@
 ODBM_File		T_PTROBJ
 DB_File			T_PTROBJ
 DBZ_File		T_PTROBJ
-FATALFUNC		T_OPAQUEPTR
 
 INPUT
 T_DATUM_K


Property changes on: vendor/perl/dist/ext/NDBM_File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/ODBM_File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/ODBM_File/ODBM_File.pm
===================================================================
--- vendor/perl/dist/ext/ODBM_File/ODBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/ODBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 require XSLoader;
 
 our @ISA = qw(Tie::Hash);
-our $VERSION = "1.10";
+our $VERSION = "1.12";
 
 XSLoader::load();
 


Property changes on: vendor/perl/dist/ext/ODBM_File/ODBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/ODBM_File/ODBM_File.xs
===================================================================
--- vendor/perl/dist/ext/ODBM_File/ODBM_File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/ODBM_File.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#define PERL_NO_GET_CONTEXT
+
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
@@ -111,9 +113,9 @@
 	    dbp = (void*)(dbminit(filename) >= 0 ? &dbmrefcnt : 0);
 	    RETVAL = (ODBM_File)safecalloc(1, sizeof(ODBM_File_type));
 	    RETVAL->dbp = dbp ;
-	    ST(0) = sv_mortalcopy(&PL_sv_undef);
-	    sv_setptrobj(ST(0), RETVAL, dbtype);
 	}
+	OUTPUT:
+	  RETVAL
 
 void
 DESTROY(db)


Property changes on: vendor/perl/dist/ext/ODBM_File/ODBM_File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/cygwin.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/cygwin.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/cygwin.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/cygwin.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/dec_osf.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/dec_osf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/dec_osf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/dec_osf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/gnukfreebsd.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/gnukfreebsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/gnukfreebsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/gnukfreebsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/gnuknetbsd.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/gnuknetbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/gnuknetbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/gnuknetbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/hpux.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/hpux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/hpux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/hpux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/sco.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/solaris.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/solaris.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/solaris.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/solaris.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/svr4.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/svr4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/svr4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/svr4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/hints/ultrix.pl
===================================================================
--- vendor/perl/dist/ext/ODBM_File/hints/ultrix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/hints/ultrix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/hints/ultrix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/ODBM_File/t/odbm.t
===================================================================
--- vendor/perl/dist/ext/ODBM_File/t/odbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/t/odbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/ODBM_File/t/odbm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/ODBM_File/typemap
===================================================================
--- vendor/perl/dist/ext/ODBM_File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/ODBM_File/typemap	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,6 @@
 ODBM_File		T_PTROBJ
 DB_File			T_PTROBJ
 DBZ_File		T_PTROBJ
-FATALFUNC		T_OPAQUEPTR
 
 INPUT
 T_DATUM_K
@@ -57,3 +56,5 @@
 	DBM_ckFilter($arg, filter[fetch_value],\"filter_fetch_value\");
 T_GDATUM
 	sv_usepvn($arg, $var.dptr, $var.dsize);
+T_PTROBJ
+        sv_setref_pv($arg, dbtype, (void*)$var);


Property changes on: vendor/perl/dist/ext/ODBM_File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Opcode/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Opcode/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Opcode/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Opcode/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Opcode/Opcode.pm
===================================================================
--- vendor/perl/dist/ext/Opcode/Opcode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Opcode/Opcode.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 
 our($VERSION, @ISA, @EXPORT_OK);
 
-$VERSION = "1.18";
+$VERSION = "1.25";
 
 use Carp;
 use Exporter ();
@@ -65,7 +65,7 @@
 
 	# Split into lines, keep only indented lines
 	my @lines = grep { m/^\s/    } split(/\n/);
-	foreach (@lines) { s/--.*//  } # delete comments
+	foreach (@lines) { s/(?:\t|--).*//  } # delete comments
 	my @ops   = map  { split ' ' } @lines; # get op words
 
 	foreach(@ops) {
@@ -288,8 +288,8 @@
 
 =head1 TO DO (maybe)
 
-    $bool = opset_eq($opset1, $opset2)	true if opsets are logically eqiv
-
+    $bool = opset_eq($opset1, $opset2)	true if opsets are logically
+					equivalent
     $yes = opset_can($opset, @ops)	true if $opset has all @ops set
 
     @diff = opset_diff($opset1, $opset2) => ('foo', '!bar', ...)
@@ -308,14 +308,14 @@
 
     rv2sv sassign
 
-    rv2av aassign aelem aelemfast aslice av2arylen
+    rv2av aassign aelem aelemfast aelemfast_lex aslice av2arylen
 
-    rv2hv helem hslice each values keys exists delete aeach akeys avalues
-    boolkeys reach rvalues rkeys
+    rv2hv helem hslice each values keys exists delete aeach akeys
+    avalues reach rvalues rkeys
 
-    preinc i_preinc predec i_predec postinc i_postinc postdec i_postdec
-    int hex oct abs pow multiply i_multiply divide i_divide
-    modulo i_modulo add i_add subtract i_subtract
+    preinc i_preinc predec i_predec postinc i_postinc
+    postdec i_postdec int hex oct abs pow multiply i_multiply
+    divide i_divide modulo i_modulo add i_add subtract i_subtract
 
     left_shift right_shift bit_and bit_xor bit_or negate i_negate
     not complement
@@ -325,7 +325,8 @@
 
     substr vec stringify study pos length index rindex ord chr
 
-    ucfirst lcfirst uc lc quotemeta trans transr chop schop chomp schomp
+    ucfirst lcfirst uc lc fc quotemeta trans transr chop schop
+    chomp schomp
 
     match split qr
 
@@ -335,11 +336,13 @@
 
     warn die lineseq nextstate scope enter leave
 
-    rv2cv anoncode prototype
+    rv2cv anoncode prototype coreargs
 
-    entersub leavesub leavesublv return method method_named -- XXX loops via recursion?
+    entersub leavesub leavesublv return method method_named
+     -- XXX loops via recursion?
 
-    leaveeval -- needed for Safe to operate, is safe without entereval
+    leaveeval -- needed for Safe to operate, is safe
+		 without entereval
 
 =item :base_mem
 
@@ -394,13 +397,14 @@
 
     gvsv gv gelem
 
-    padsv padav padhv padany
+    padsv padav padhv padcv padany padrange introcv clonecv
 
     once
 
     rv2gv refgen srefgen ref
 
-    bless -- could be used to change ownership of objects (reblessing)
+    bless -- could be used to change ownership of objects
+	     (reblessing)
 
     pushre regcmaybe regcreset regcomp subst substcont
 
@@ -414,7 +418,8 @@
     sselect select
     pipe_op sockpair
 
-    getppid getpgrp setpgrp getpriority setpriority localtime gmtime
+    getppid getpgrp setpgrp getpriority setpriority
+    localtime gmtime
 
     entertry leavetry -- can be used to 'hide' fatal errors
 
@@ -460,9 +465,10 @@
 
     stat lstat readlink
 
-    ftatime ftblk ftchr ftctime ftdir fteexec fteowned fteread
-    ftewrite ftfile ftis ftlink ftmtime ftpipe ftrexec ftrowned
-    ftrread ftsgid ftsize ftsock ftsuid fttty ftzero ftrwrite ftsvtx
+    ftatime ftblk ftchr ftctime ftdir fteexec fteowned
+    fteread ftewrite ftfile ftis ftlink ftmtime ftpipe
+    ftrexec ftrowned ftrread ftsgid ftsize ftsock ftsuid
+    fttty ftzero ftrwrite ftsvtx
 
     fttext ftbinary
 
@@ -506,7 +512,8 @@
 
     utime chmod chown
 
-    fcntl -- not strictly filesys related, but possibly as dangerous?
+    fcntl -- not strictly filesys related, but possibly as
+	     dangerous?
 
 =item :subprocess
 
@@ -543,7 +550,7 @@
 about calling environment and args.
 
     require dofile 
-    caller
+    caller runcv
 
 =item :still_to_be_decided
 


Property changes on: vendor/perl/dist/ext/Opcode/Opcode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Opcode/Opcode.xs
===================================================================
--- vendor/perl/dist/ext/Opcode/Opcode.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Opcode/Opcode.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -294,8 +294,8 @@
     /* the assignment to global defstash changes our sense of 'main'	*/
     PL_defstash = gv_stashsv(Package, GV_ADDWARN); /* should exist already	*/
 
-    save_hptr(&PL_curstash);
-    PL_curstash = PL_defstash;
+    SAVEGENERICSV(PL_curstash);
+    PL_curstash = (HV *)SvREFCNT_inc_simple(PL_defstash);
 
     /* defstash must itself contain a main:: so we'll add that now	*/
     /* take care with the ref counts (was cause of long standing bug)	*/


Property changes on: vendor/perl/dist/ext/Opcode/Opcode.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Opcode/Safe.pm
===================================================================
--- vendor/perl/dist/ext/Opcode/Safe.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Opcode/Safe.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Opcode/Safe.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Opcode/ops.pm
===================================================================
--- vendor/perl/dist/ext/Opcode/ops.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Opcode/ops.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Opcode/ops.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Opcode/t/Opcode.t
===================================================================
--- vendor/perl/dist/ext/Opcode/t/Opcode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Opcode/t/Opcode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Opcode/t/Opcode.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Opcode/t/ops.t
===================================================================
--- vendor/perl/dist/ext/Opcode/t/ops.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Opcode/t/ops.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Opcode/t/ops.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/POSIX/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/POSIX.pm
===================================================================
--- vendor/perl/dist/ext/POSIX/POSIX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/POSIX.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/POSIX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/POSIX.pod
===================================================================
--- vendor/perl/dist/ext/POSIX/POSIX.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/POSIX.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/POSIX.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/POSIX.xs
===================================================================
--- vendor/perl/dist/ext/POSIX/POSIX.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/POSIX.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -82,26 +82,6 @@
 #endif
 #endif
 
-#ifndef PERL_UNUSED_DECL
-#  ifdef HASATTRIBUTE
-#    if (defined(__GNUC__) && defined(__cplusplus)) || defined(__INTEL_COMPILER)
-#      define PERL_UNUSED_DECL
-#    else
-#      define PERL_UNUSED_DECL __attribute__((unused))
-#    endif
-#  else
-#    define PERL_UNUSED_DECL
-#  endif
-#endif
-
-#ifndef dNOOP
-#define dNOOP extern int Perl___notused PERL_UNUSED_DECL
-#endif
-
-#ifndef dVAR
-#define dVAR dNOOP
-#endif
-
 #if defined(__VMS) && !defined(__POSIX_SOURCE)
 #  include <libdef.h>       /* LIB$_INVARG constant */
 #  include <lib$routines.h> /* prototype for lib$ediv() */
@@ -160,9 +140,6 @@
 #  define ttyname(a) (char*)not_here("ttyname")
 #  define sigset_t long
 #  define pid_t long
-#  ifdef __BORLANDC__
-#    define tzname _tzname
-#  endif
 #  ifdef _MSC_VER
 #    define mode_t short
 #  endif
@@ -396,9 +373,11 @@
 
 /* Possibly needed prototypes */
 #ifndef WIN32
+START_EXTERN_C
 double strtod (const char *, char **);
 long strtol (const char *, char **, int);
 unsigned long strtoul (const char *, char **, int);
+END_EXTERN_C
 #endif
 
 #ifndef HAS_DIFFTIME
@@ -491,7 +470,45 @@
 #endif
 #endif
 
-#ifndef HAS_LOCALECONV
+#ifdef HAS_LOCALECONV
+struct lconv_offset {
+    const char *name;
+    size_t offset;
+};
+
+const struct lconv_offset lconv_strings[] = {
+    {"decimal_point",     offsetof(struct lconv, decimal_point)},
+    {"thousands_sep",     offsetof(struct lconv, thousands_sep)},
+#ifndef NO_LOCALECONV_GROUPING
+    {"grouping",          offsetof(struct lconv, grouping)},
+#endif
+    {"int_curr_symbol",   offsetof(struct lconv, int_curr_symbol)},
+    {"currency_symbol",   offsetof(struct lconv, currency_symbol)},
+    {"mon_decimal_point", offsetof(struct lconv, mon_decimal_point)},
+#ifndef NO_LOCALECONV_MON_THOUSANDS_SEP
+    {"mon_thousands_sep", offsetof(struct lconv, mon_thousands_sep)},
+#endif
+#ifndef NO_LOCALECONV_MON_GROUPING
+    {"mon_grouping",      offsetof(struct lconv, mon_grouping)},
+#endif
+    {"positive_sign",     offsetof(struct lconv, positive_sign)},
+    {"negative_sign",     offsetof(struct lconv, negative_sign)},
+    {NULL, 0}
+};
+
+const struct lconv_offset lconv_integers[] = {
+    {"int_frac_digits",   offsetof(struct lconv, int_frac_digits)},
+    {"frac_digits",       offsetof(struct lconv, frac_digits)},
+    {"p_cs_precedes",     offsetof(struct lconv, p_cs_precedes)},
+    {"p_sep_by_space",    offsetof(struct lconv, p_sep_by_space)},
+    {"n_cs_precedes",     offsetof(struct lconv, n_cs_precedes)},
+    {"n_sep_by_space",    offsetof(struct lconv, n_sep_by_space)},
+    {"p_sign_posn",       offsetof(struct lconv, p_sign_posn)},
+    {"n_sign_posn",       offsetof(struct lconv, n_sign_posn)},
+    {NULL, 0}
+};
+
+#else
 #define localeconv() not_here("localeconv")
 #endif
 
@@ -531,7 +548,7 @@
  * as expected. The better solution would be not to use the W*() macros
  * in the first place, though. -- Ingo Weinhold
  */
-#if defined(__BEOS__) || defined(__HAIKU__)
+#if defined(__HAIKU__)
 #    define WMUNGE(x) (((x) & 0xFF00) >> 8 | ((x) & 0x00FF) << 8)
 #else
 #    define WMUNGE(x) (x)
@@ -558,6 +575,16 @@
      (void)sigprocmask(SIG_SETMASK, ossetp, (sigset_t *)0);
 }
 
+static void *
+allocate_struct(pTHX_ SV *rv, const STRLEN size, const char *packname) {
+    SV *const t = newSVrv(rv, packname);
+    void *const p = sv_grow(t, size + 1);
+
+    SvCUR_set(t, size);
+    SvPOK_on(t);
+    return p;
+}
+
 #ifdef WIN32
 
 /*
@@ -668,46 +695,119 @@
     tzset();
 }
 
+typedef int (*isfunc_t)(int);
+typedef void (*any_dptr_t)(void *);
+
+/* This needs to be ALIASed in a custom way, hence can't easily be defined as
+   a regular XSUB.  */
+static XSPROTO(is_common); /* prototype to pass -Wmissing-prototypes */
+static XSPROTO(is_common)
+{
+    dXSARGS;
+    SV *charstring;
+    if (items != 1)
+       croak_xs_usage(cv,  "charstring");
+
+    {
+	dXSTARG;
+	STRLEN	len;
+	int	RETVAL;
+	unsigned char *s = (unsigned char *) SvPV(ST(0), len);
+	unsigned char *e = s + len;
+	isfunc_t isfunc = (isfunc_t) XSANY.any_dptr;
+
+	for (RETVAL = 1; RETVAL && s < e; s++)
+	    if (!isfunc(*s))
+		RETVAL = 0;
+	XSprePUSH;
+	PUSHi((IV)RETVAL);
+    }
+    XSRETURN(1);
+}
+
+MODULE = POSIX		PACKAGE = POSIX
+
+BOOT:
+{
+    CV *cv;
+    const char *file = __FILE__;
+
+    /* 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);
+    XSANY.any_dptr = (any_dptr_t) &isalnum;
+#undef isalpha
+    cv = newXS("POSIX::isalpha", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &isalpha;
+#undef iscntrl
+    cv = newXS("POSIX::iscntrl", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &iscntrl;
+#undef isdigit
+    cv = newXS("POSIX::isdigit", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &isdigit;
+#undef isgraph
+    cv = newXS("POSIX::isgraph", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &isgraph;
+#undef islower
+    cv = newXS("POSIX::islower", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &islower;
+#undef isprint
+    cv = newXS("POSIX::isprint", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &isprint;
+#undef ispunct
+    cv = newXS("POSIX::ispunct", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &ispunct;
+#undef isspace
+    cv = newXS("POSIX::isspace", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &isspace;
+#undef isupper
+    cv = newXS("POSIX::isupper", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &isupper;
+#undef isxdigit
+    cv = newXS("POSIX::isxdigit", is_common, file);
+    XSANY.any_dptr = (any_dptr_t) &isxdigit;
+}
+
 MODULE = SigSet		PACKAGE = POSIX::SigSet		PREFIX = sig
 
-POSIX::SigSet
+void
 new(packname = "POSIX::SigSet", ...)
     const char *	packname
     CODE:
 	{
 	    int i;
-	    Newx(RETVAL, 1, sigset_t);
-	    sigemptyset(RETVAL);
+	    sigset_t *const s
+		= (sigset_t *) allocate_struct(aTHX_ (ST(0) = sv_newmortal()),
+					       sizeof(sigset_t),
+					       packname);
+	    sigemptyset(s);
 	    for (i = 1; i < items; i++)
-		sigaddset(RETVAL, SvIV(ST(i)));
+		sigaddset(s, SvIV(ST(i)));
+	    XSRETURN(1);
 	}
-    OUTPUT:
-	RETVAL
 
-void
-DESTROY(sigset)
-	POSIX::SigSet	sigset
-    CODE:
-	Safefree(sigset);
-
 SysRet
-sigaddset(sigset, sig)
+addset(sigset, sig)
 	POSIX::SigSet	sigset
 	int		sig
+   ALIAS:
+	delset = 1
+   CODE:
+	RETVAL = ix ? sigdelset(sigset, sig) : sigaddset(sigset, sig);
+   OUTPUT:
+	RETVAL
 
 SysRet
-sigdelset(sigset, sig)
+emptyset(sigset)
 	POSIX::SigSet	sigset
-	int		sig
+   ALIAS:
+	fillset = 1
+   CODE:
+	RETVAL = ix ? sigfillset(sigset) : sigemptyset(sigset);
+   OUTPUT:
+	RETVAL
 
-SysRet
-sigemptyset(sigset)
-	POSIX::SigSet	sigset
-
-SysRet
-sigfillset(sigset)
-	POSIX::SigSet	sigset
-
 int
 sigismember(sigset, sig)
 	POSIX::SigSet	sigset
@@ -715,31 +815,25 @@
 
 MODULE = Termios	PACKAGE = POSIX::Termios	PREFIX = cf
 
-POSIX::Termios
+void
 new(packname = "POSIX::Termios", ...)
     const char *	packname
     CODE:
 	{
 #ifdef I_TERMIOS
-	    Newx(RETVAL, 1, struct termios);
+	    void *const p = allocate_struct(aTHX_ (ST(0) = sv_newmortal()),
+					    sizeof(struct termios), packname);
+	    /* The previous implementation stored a pointer to an uninitialised
+	       struct termios. Seems safer to initialise it, particularly as
+	       this implementation exposes the struct to prying from perl-space.
+	    */
+	    memset(p, 0, 1 + sizeof(struct termios));
+	    XSRETURN(1);
 #else
 	    not_here("termios");
-        RETVAL = 0;
 #endif
 	}
-    OUTPUT:
-	RETVAL
 
-void
-DESTROY(termios_ref)
-	POSIX::Termios	termios_ref
-    CODE:
-#ifdef I_TERMIOS
-	Safefree(termios_ref);
-#else
-	    not_here("termios");
-#endif
-
 SysRet
 getattr(termios_ref, fd = 0)
 	POSIX::Termios	termios_ref
@@ -749,76 +843,67 @@
     OUTPUT:
 	RETVAL
 
+# If we define TCSANOW here then both a found and not found constant sub
+# are created causing a Constant subroutine TCSANOW redefined warning
+#ifndef TCSANOW
+#  define DEF_SETATTR_ACTION 0
+#else
+#  define DEF_SETATTR_ACTION TCSANOW
+#endif
 SysRet
-setattr(termios_ref, fd = 0, optional_actions = 0)
+setattr(termios_ref, fd = 0, optional_actions = DEF_SETATTR_ACTION)
 	POSIX::Termios	termios_ref
 	int		fd
 	int		optional_actions
     CODE:
+	/* The second argument to the call is mandatory, but we'd like to give
+	   it a useful default. 0 isn't valid on all operating systems - on
+	   Solaris (at least) TCSANOW, TCSADRAIN and TCSAFLUSH have the same
+	   values as the equivalent ioctls, TCSETS, TCSETSW and TCSETSF.  */
 	RETVAL = tcsetattr(fd, optional_actions, termios_ref);
     OUTPUT:
 	RETVAL
 
 speed_t
-cfgetispeed(termios_ref)
+getispeed(termios_ref)
 	POSIX::Termios	termios_ref
-
-speed_t
-cfgetospeed(termios_ref)
-	POSIX::Termios	termios_ref
-
-tcflag_t
-getiflag(termios_ref)
-	POSIX::Termios	termios_ref
+    ALIAS:
+	getospeed = 1
     CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
-	RETVAL = termios_ref->c_iflag;
-#else
-     not_here("getiflag");
-     RETVAL = 0;
-#endif
+	RETVAL = ix ? cfgetospeed(termios_ref) : cfgetispeed(termios_ref);
     OUTPUT:
 	RETVAL
 
 tcflag_t
-getoflag(termios_ref)
+getiflag(termios_ref)
 	POSIX::Termios	termios_ref
+    ALIAS:
+	getoflag = 1
+	getcflag = 2
+	getlflag = 3
     CODE:
 #ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
-	RETVAL = termios_ref->c_oflag;
+	switch(ix) {
+	case 0:
+	    RETVAL = termios_ref->c_iflag;
+	    break;
+	case 1:
+	    RETVAL = termios_ref->c_oflag;
+	    break;
+	case 2:
+	    RETVAL = termios_ref->c_cflag;
+	    break;
+	case 3:
+	    RETVAL = termios_ref->c_lflag;
+	    break;
+	}
 #else
-     not_here("getoflag");
-     RETVAL = 0;
+	not_here(GvNAME(CvGV(cv)));
+	RETVAL = 0;
 #endif
     OUTPUT:
 	RETVAL
 
-tcflag_t
-getcflag(termios_ref)
-	POSIX::Termios	termios_ref
-    CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
-	RETVAL = termios_ref->c_cflag;
-#else
-     not_here("getcflag");
-     RETVAL = 0;
-#endif
-    OUTPUT:
-	RETVAL
-
-tcflag_t
-getlflag(termios_ref)
-	POSIX::Termios	termios_ref
-    CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
-	RETVAL = termios_ref->c_lflag;
-#else
-     not_here("getlflag");
-     RETVAL = 0;
-#endif
-    OUTPUT:
-	RETVAL
-
 cc_t
 getcc(termios_ref, ccix)
 	POSIX::Termios	termios_ref
@@ -836,60 +921,46 @@
 	RETVAL
 
 SysRet
-cfsetispeed(termios_ref, speed)
+setispeed(termios_ref, speed)
 	POSIX::Termios	termios_ref
 	speed_t		speed
-
-SysRet
-cfsetospeed(termios_ref, speed)
-	POSIX::Termios	termios_ref
-	speed_t		speed
-
-void
-setiflag(termios_ref, iflag)
-	POSIX::Termios	termios_ref
-	tcflag_t	iflag
+    ALIAS:
+	setospeed = 1
     CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
-	termios_ref->c_iflag = iflag;
-#else
-	    not_here("setiflag");
-#endif
+	RETVAL = ix
+	    ? cfsetospeed(termios_ref, speed) : cfsetispeed(termios_ref, speed);
+    OUTPUT:
+	RETVAL
 
 void
-setoflag(termios_ref, oflag)
+setiflag(termios_ref, flag)
 	POSIX::Termios	termios_ref
-	tcflag_t	oflag
+	tcflag_t	flag
+    ALIAS:
+	setoflag = 1
+	setcflag = 2
+	setlflag = 3
     CODE:
 #ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
-	termios_ref->c_oflag = oflag;
+	switch(ix) {
+	case 0:
+	    termios_ref->c_iflag = flag;
+	    break;
+	case 1:
+	    termios_ref->c_oflag = flag;
+	    break;
+	case 2:
+	    termios_ref->c_cflag = flag;
+	    break;
+	case 3:
+	    termios_ref->c_lflag = flag;
+	    break;
+	}
 #else
-	    not_here("setoflag");
+	not_here(GvNAME(CvGV(cv)));
 #endif
 
 void
-setcflag(termios_ref, cflag)
-	POSIX::Termios	termios_ref
-	tcflag_t	cflag
-    CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
-	termios_ref->c_cflag = cflag;
-#else
-	    not_here("setcflag");
-#endif
-
-void
-setlflag(termios_ref, lflag)
-	POSIX::Termios	termios_ref
-	tcflag_t	lflag
-    CODE:
-#ifdef I_TERMIOS /* References a termios structure member so ifdef it out. */
-	termios_ref->c_lflag = lflag;
-#else
-	    not_here("setlflag");
-#endif
-
-void
 setcc(termios_ref, ccix, cc)
 	POSIX::Termios	termios_ref
 	unsigned int	ccix
@@ -972,160 +1043,6 @@
     OUTPUT:
 	RETVAL
 
-int
-isalnum(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!isalnum(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-isalpha(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!isalpha(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-iscntrl(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!iscntrl(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-isdigit(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!isdigit(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-isgraph(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!isgraph(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-islower(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!islower(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-isprint(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!isprint(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-ispunct(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!ispunct(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-isspace(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!isspace(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-isupper(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!isupper(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
-int
-isxdigit(charstring)
-	SV *	charstring
-    PREINIT:
-	STRLEN	len;
-    CODE:
-	unsigned char *s = (unsigned char *) SvPV(charstring, len);
-	unsigned char *e = s + len;
-	for (RETVAL = 1; RETVAL && s < e; s++)
-	    if (!isxdigit(*s))
-		RETVAL = 0;
-    OUTPUT:
-	RETVAL
-
 SysRet
 open(filename, flags = O_RDONLY, mode = 0666)
 	char *		filename
@@ -1147,68 +1064,25 @@
 	RETVAL = newHV();
 	sv_2mortal((SV*)RETVAL);
 	if ((lcbuf = localeconv())) {
-	    /* the strings */
-	    if (lcbuf->decimal_point && *lcbuf->decimal_point)
-		(void) hv_store(RETVAL, "decimal_point", 13,
-		    newSVpv(lcbuf->decimal_point, 0), 0);
-	    if (lcbuf->thousands_sep && *lcbuf->thousands_sep)
-		(void) hv_store(RETVAL, "thousands_sep", 13,
-		    newSVpv(lcbuf->thousands_sep, 0), 0);
-#ifndef NO_LOCALECONV_GROUPING
-	    if (lcbuf->grouping && *lcbuf->grouping)
-		(void) hv_store(RETVAL, "grouping", 8,
-		    newSVpv(lcbuf->grouping, 0), 0);
-#endif
-	    if (lcbuf->int_curr_symbol && *lcbuf->int_curr_symbol)
-		(void) hv_store(RETVAL, "int_curr_symbol", 15,
-		    newSVpv(lcbuf->int_curr_symbol, 0), 0);
-	    if (lcbuf->currency_symbol && *lcbuf->currency_symbol)
-		(void) hv_store(RETVAL, "currency_symbol", 15,
-		    newSVpv(lcbuf->currency_symbol, 0), 0);
-	    if (lcbuf->mon_decimal_point && *lcbuf->mon_decimal_point)
-		(void) hv_store(RETVAL, "mon_decimal_point", 17,
-		    newSVpv(lcbuf->mon_decimal_point, 0), 0);
-#ifndef NO_LOCALECONV_MON_THOUSANDS_SEP
-	    if (lcbuf->mon_thousands_sep && *lcbuf->mon_thousands_sep)
-		(void) hv_store(RETVAL, "mon_thousands_sep", 17,
-		    newSVpv(lcbuf->mon_thousands_sep, 0), 0);
-#endif
-#ifndef NO_LOCALECONV_MON_GROUPING
-	    if (lcbuf->mon_grouping && *lcbuf->mon_grouping)
-		(void) hv_store(RETVAL, "mon_grouping", 12,
-		    newSVpv(lcbuf->mon_grouping, 0), 0);
-#endif
-	    if (lcbuf->positive_sign && *lcbuf->positive_sign)
-		(void) hv_store(RETVAL, "positive_sign", 13,
-		    newSVpv(lcbuf->positive_sign, 0), 0);
-	    if (lcbuf->negative_sign && *lcbuf->negative_sign)
-		(void) hv_store(RETVAL, "negative_sign", 13,
-		    newSVpv(lcbuf->negative_sign, 0), 0);
-	    /* the integers */
-	    if (lcbuf->int_frac_digits != CHAR_MAX)
-		(void) hv_store(RETVAL, "int_frac_digits", 15,
-		    newSViv(lcbuf->int_frac_digits), 0);
-	    if (lcbuf->frac_digits != CHAR_MAX)
-		(void) hv_store(RETVAL, "frac_digits", 11,
-		    newSViv(lcbuf->frac_digits), 0);
-	    if (lcbuf->p_cs_precedes != CHAR_MAX)
-		(void) hv_store(RETVAL, "p_cs_precedes", 13,
-		    newSViv(lcbuf->p_cs_precedes), 0);
-	    if (lcbuf->p_sep_by_space != CHAR_MAX)
-		(void) hv_store(RETVAL, "p_sep_by_space", 14,
-		    newSViv(lcbuf->p_sep_by_space), 0);
-	    if (lcbuf->n_cs_precedes != CHAR_MAX)
-		(void) hv_store(RETVAL, "n_cs_precedes", 13,
-		    newSViv(lcbuf->n_cs_precedes), 0);
-	    if (lcbuf->n_sep_by_space != CHAR_MAX)
-		(void) hv_store(RETVAL, "n_sep_by_space", 14,
-		    newSViv(lcbuf->n_sep_by_space), 0);
-	    if (lcbuf->p_sign_posn != CHAR_MAX)
-		(void) hv_store(RETVAL, "p_sign_posn", 11,
-		    newSViv(lcbuf->p_sign_posn), 0);
-	    if (lcbuf->n_sign_posn != CHAR_MAX)
-		(void) hv_store(RETVAL, "n_sign_posn", 11,
-		    newSViv(lcbuf->n_sign_posn), 0);
+	    const struct lconv_offset *strings = lconv_strings;
+	    const struct lconv_offset *integers = lconv_integers;
+	    const char *ptr = (const char *) lcbuf;
+
+	    do {
+		const char *value = *((const char **)(ptr + strings->offset));
+
+		if (value && *value)
+		    (void) hv_store(RETVAL, strings->name, strlen(strings->name),
+				    newSVpv(value, 0), 0);
+	    } while ((++strings)->name);
+
+	    do {
+		const char value = *((const char *)(ptr + integers->offset));
+
+		if (value != CHAR_MAX)
+		    (void) hv_store(RETVAL, integers->name,
+				    strlen(integers->name), newSViv(value), 0);
+	    } while ((++integers)->name);
 	}
 #else
 	localeconv(); /* A stub to call not_here(). */
@@ -1291,28 +1165,52 @@
 NV
 acos(x)
 	NV		x
+    ALIAS:
+	asin = 1
+	atan = 2
+	ceil = 3
+	cosh = 4
+	floor = 5
+	log10 = 6
+	sinh = 7
+	tan = 8
+	tanh = 9
+    CODE:
+	switch (ix) {
+	case 0:
+	    RETVAL = acos(x);
+	    break;
+	case 1:
+	    RETVAL = asin(x);
+	    break;
+	case 2:
+	    RETVAL = atan(x);
+	    break;
+	case 3:
+	    RETVAL = ceil(x);
+	    break;
+	case 4:
+	    RETVAL = cosh(x);
+	    break;
+	case 5:
+	    RETVAL = floor(x);
+	    break;
+	case 6:
+	    RETVAL = log10(x);
+	    break;
+	case 7:
+	    RETVAL = sinh(x);
+	    break;
+	case 8:
+	    RETVAL = tan(x);
+	    break;
+	default:
+	    RETVAL = tanh(x);
+	}
+    OUTPUT:
+	RETVAL
 
 NV
-asin(x)
-	NV		x
-
-NV
-atan(x)
-	NV		x
-
-NV
-ceil(x)
-	NV		x
-
-NV
-cosh(x)
-	NV		x
-
-NV
-floor(x)
-	NV		x
-
-NV
 fmod(x,y)
 	NV		x
 	NV		y
@@ -1331,10 +1229,6 @@
 	NV		x
 	int		exp
 
-NV
-log10(x)
-	NV		x
-
 void
 modf(x)
 	NV		x
@@ -1344,18 +1238,6 @@
 	PUSHs(sv_2mortal(newSVnv(Perl_modf(x,&intvar))));
 	PUSHs(sv_2mortal(newSVnv(intvar)));
 
-NV
-sinh(x)
-	NV		x
-
-NV
-tan(x)
-	NV		x
-
-NV
-tanh(x)
-	NV		x
-
 SysRet
 sigaction(sig, optaction, oldaction = 0)
 	int			sig
@@ -1459,12 +1341,12 @@
 		/* Get back the mask. */
 		svp = hv_fetchs(oldaction, "MASK", TRUE);
 		if (sv_isa(*svp, "POSIX::SigSet")) {
-		    IV tmp = SvIV((SV*)SvRV(*svp));
-		    sigset = INT2PTR(sigset_t*, tmp);
+		    sigset = (sigset_t *) SvPV_nolen(SvRV(*svp));
 		}
 		else {
-		    Newx(sigset, 1, sigset_t);
-		    sv_setptrobj(*svp, sigset, "POSIX::SigSet");
+		    sigset = (sigset_t *) allocate_struct(aTHX_ *svp,
+							  sizeof(sigset_t),
+							  "POSIX::SigSet");
 		}
 		*sigset = oact.sa_mask;
 
@@ -1518,8 +1400,7 @@
 		/* Set up any desired mask. */
 		svp = hv_fetchs(action, "MASK", FALSE);
 		if (svp && sv_isa(*svp, "POSIX::SigSet")) {
-		    IV tmp = SvIV((SV*)SvRV(*svp));
-		    sigset = INT2PTR(sigset_t*, tmp);
+		    sigset = (sigset_t *) SvPV_nolen(SvRV(*svp));
 		    act.sa_mask = *sigset;
 		}
 		else
@@ -1550,6 +1431,14 @@
 SysRet
 sigpending(sigset)
 	POSIX::SigSet		sigset
+    ALIAS:
+	sigsuspend = 1
+    CODE:
+	RETVAL = ix ? sigsuspend(sigset) : sigpending(sigset);
+    OUTPUT:
+	RETVAL
+    CLEANUP:
+    PERL_ASYNC_CHECK();
 
 SysRet
 sigprocmask(how, sigset, oldsigset = 0)
@@ -1560,8 +1449,7 @@
 	if (! SvOK(ST(1))) {
 	    sigset = NULL;
 	} else if (sv_isa(ST(1), "POSIX::SigSet")) {
-	    IV tmp = SvIV((SV*)SvRV(ST(1)));
-	    sigset = INT2PTR(POSIX__SigSet,tmp);
+	    sigset = (sigset_t *) SvPV_nolen(SvRV(ST(1)));
 	} else {
 	    croak("sigset is not of type POSIX::SigSet");
 	}
@@ -1569,32 +1457,30 @@
 	if (items < 3 || ! SvOK(ST(2))) {
 	    oldsigset = NULL;
 	} else if (sv_isa(ST(2), "POSIX::SigSet")) {
-	    IV tmp = SvIV((SV*)SvRV(ST(2)));
-	    oldsigset = INT2PTR(POSIX__SigSet,tmp);
+	    oldsigset = (sigset_t *) SvPV_nolen(SvRV(ST(2)));
 	} else {
 	    croak("oldsigset is not of type POSIX::SigSet");
 	}
 
-SysRet
-sigsuspend(signal_mask)
-	POSIX::SigSet		signal_mask
-
 void
 _exit(status)
 	int		status
 
 SysRet
-close(fd)
-	int		fd
-
-SysRet
-dup(fd)
-	int		fd
-
-SysRet
 dup2(fd1, fd2)
 	int		fd1
 	int		fd2
+    CODE:
+#ifdef WIN32
+	/* RT #98912 - More Microsoft muppetry - failing to actually implemented
+	   the well known documented POSIX behaviour for a POSIX API.
+	   http://msdn.microsoft.com/en-us/library/8syseb29.aspx   */
+	RETVAL = dup2(fd1, fd2) == -1 ? -1 : fd2;
+#else
+	RETVAL = dup2(fd1, fd2);
+#endif
+    OUTPUT:
+	RETVAL
 
 SV *
 lseek(fd, offset, whence)
@@ -1824,9 +1710,15 @@
 mkfifo(filename, mode)
 	char *		filename
 	Mode_t		mode
+    ALIAS:
+	access = 1
     CODE:
-	TAINT_PROPER("mkfifo");
-	RETVAL = mkfifo(filename, mode);
+	if(ix) {
+	    RETVAL = access(filename, mode);
+	} else {
+	    TAINT_PROPER("mkfifo");
+	    RETVAL = mkfifo(filename, mode);
+	}
     OUTPUT:
 	RETVAL
 
@@ -1833,6 +1725,14 @@
 SysRet
 tcdrain(fd)
 	int		fd
+    ALIAS:
+	close = 1
+	dup = 2
+    CODE:
+	RETVAL = ix == 1 ? close(fd)
+	    : (ix < 1 ? tcdrain(fd) : dup(fd));
+    OUTPUT:
+	RETVAL
 
 
 SysRet
@@ -1839,19 +1739,16 @@
 tcflow(fd, action)
 	int		fd
 	int		action
+    ALIAS:
+	tcflush = 1
+	tcsendbreak = 2
+    CODE:
+	RETVAL = ix == 1 ? tcflush(fd, action)
+	    : (ix < 1 ? tcflow(fd, action) : tcsendbreak(fd, action));
+    OUTPUT:
+	RETVAL
 
-
-SysRet
-tcflush(fd, queue_selector)
-	int		fd
-	int		queue_selector
-
-SysRet
-tcsendbreak(fd, duration)
-	int		fd
-	int		duration
-
-char *
+void
 asctime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = -1)
 	int		sec
 	int		min
@@ -1862,10 +1759,13 @@
 	int		wday
 	int		yday
 	int		isdst
-    CODE:
+    ALIAS:
+	mktime = 1
+    PPCODE:
 	{
+	    dXSTARG;
 	    struct tm mytm;
-	    init_tm(&mytm);	/* XXX workaround - see init_tm() above */
+	    init_tm(&mytm);	/* XXX workaround - see init_tm() in core util.c */
 	    mytm.tm_sec = sec;
 	    mytm.tm_min = min;
 	    mytm.tm_hour = hour;
@@ -1875,10 +1775,20 @@
 	    mytm.tm_wday = wday;
 	    mytm.tm_yday = yday;
 	    mytm.tm_isdst = isdst;
-	    RETVAL = asctime(&mytm);
+	    if (ix) {
+	        const time_t result = mktime(&mytm);
+		if (result == (time_t)-1)
+		    SvOK_off(TARG);
+		else if (result == 0)
+		    sv_setpvn(TARG, "0 but true", 10);
+		else
+		    sv_setiv(TARG, (IV)result);
+	    } else {
+		sv_setpv(TARG, asctime(&mytm));
+	    }
+	    ST(0) = TARG;
+	    XSRETURN(1);
 	}
-    OUTPUT:
-	RETVAL
 
 long
 clock()
@@ -1905,35 +1815,6 @@
 	Time_t		time1
 	Time_t		time2
 
-SysRetLong
-mktime(sec, min, hour, mday, mon, year, wday = 0, yday = 0, isdst = -1)
-	int		sec
-	int		min
-	int		hour
-	int		mday
-	int		mon
-	int		year
-	int		wday
-	int		yday
-	int		isdst
-    CODE:
-	{
-	    struct tm mytm;
-	    init_tm(&mytm);	/* XXX workaround - see 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;
-	    RETVAL = (SysRetLong) mktime(&mytm);
-	}
-    OUTPUT:
-	RETVAL
-
 #XXX: if $xsubpp::WantOptimize is always the default
 #     sv_setpv(TARG, ...) could be used rather than
 #     ST(0) = sv_2mortal(newSVpv(...))
@@ -1974,11 +1855,6 @@
 	PUSHs(newSVpvn_flags(tzname[0], strlen(tzname[0]), SVs_TEMP));
 	PUSHs(newSVpvn_flags(tzname[1], strlen(tzname[1]), SVs_TEMP));
 
-SysRet
-access(filename, mode)
-	char *		filename
-	Mode_t		mode
-
 char *
 ctermid(s = 0)
 	char *          s = 0;
@@ -2019,28 +1895,24 @@
 
 SysRet
 pause()
+    CLEANUP:
+    PERL_ASYNC_CHECK();
 
+unsigned int
+sleep(seconds)
+	unsigned int	seconds
+    CODE:
+	RETVAL = PerlProc_sleep(seconds);
+    OUTPUT:
+	RETVAL
+
 SysRet
 setgid(gid)
 	Gid_t		gid
-    CLEANUP:
-#ifndef WIN32
-	if (RETVAL >= 0) {
-	    PL_gid  = getgid();
-	    PL_egid = getegid();
-	}
-#endif
 
 SysRet
 setuid(uid)
 	Uid_t		uid
-    CLEANUP:
-#ifndef WIN32
-	if (RETVAL >= 0) {
-	    PL_uid  = getuid();
-	    PL_euid = geteuid();
-	}
-#endif
 
 SysRetLong
 sysconf(name)


Property changes on: vendor/perl/dist/ext/POSIX/POSIX.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/bsdos.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/bsdos.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/bsdos.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/bsdos.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/dynixptx.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/dynixptx.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/dynixptx.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/dynixptx.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/freebsd.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/freebsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/freebsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/freebsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/gnukfreebsd.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/gnukfreebsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/gnukfreebsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/gnukfreebsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/gnuknetbsd.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/gnuknetbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/gnuknetbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/gnuknetbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/mint.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/mint.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/mint.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/mint.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/netbsd.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/netbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/netbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/netbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/next_3.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/next_3.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/next_3.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/next_3.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/openbsd.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/openbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/openbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/openbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/sunos_4.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/sunos_4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/sunos_4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/sunos_4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/svr4.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/svr4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/svr4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/svr4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/POSIX/hints/uts.pl
===================================================================
--- vendor/perl/dist/ext/POSIX/hints/uts.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/hints/uts.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/POSIX/hints/uts.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/lib/POSIX.pm
===================================================================
--- vendor/perl/dist/ext/POSIX/lib/POSIX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/lib/POSIX.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,12 +2,10 @@
 use strict;
 use warnings;
 
-our(@ISA, %EXPORT_TAGS, @EXPORT_OK, @EXPORT, $AUTOLOAD, %SIGRT) = ();
+our ($AUTOLOAD, %SIGRT);
 
-our $VERSION = "1.24";
+our $VERSION = '1.32';
 
-use AutoLoader;
-
 require XSLoader;
 
 use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
@@ -18,323 +16,206 @@
 	     S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
 	     S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
 
-# Grandfather old foo_h form to new :foo_h form
 my $loaded;
 
 sub import {
+    my $pkg = shift;
+
     load_imports() unless $loaded++;
-    my $this = shift;
-    my @list = map { m/^\w+_h$/ ? ":$_" : $_ } @_;
+
+    # Grandfather old foo_h form to new :foo_h form
+    s/^(?=\w+_h$)/:/ for my @list = @_;
+
     local $Exporter::ExportLevel = 1;
-    Exporter::import($this, at list);
+    Exporter::import($pkg, at list);
 }
 
 sub croak { require Carp;  goto &Carp::croak }
-# declare usage to assist AutoLoad
-sub usage;
+sub usage { croak "Usage: POSIX::$_[0]" }
 
 XSLoader::load();
 
-sub AUTOLOAD {
-    no warnings 'uninitialized';
-    if ($AUTOLOAD =~ /::(_?[a-z])/) {
-	# require AutoLoader;
-	$AutoLoader::AUTOLOAD = $AUTOLOAD;
-	goto &AutoLoader::AUTOLOAD
-    }
-    my $constname = $AUTOLOAD;
-    $constname =~ s/.*:://;
-    constant($constname);
-}
+my %replacement = (
+    atexit      => 'END {}',
+    atof        => undef,
+    atoi        => undef,
+    atol        => undef,
+    bsearch     => \'not supplied',
+    calloc      => undef,
+    clearerr    => 'IO::Handle::clearerr',
+    div         => '/, % and int',
+    execl       => undef,
+    execle      => undef,
+    execlp      => undef,
+    execv       => undef,
+    execve      => undef,
+    execvp      => undef,
+    fclose      => 'IO::Handle::close',
+    fdopen      => 'IO::Handle::new_from_fd',
+    feof        => 'IO::Handle::eof',
+    ferror      => 'IO::Handle::error',
+    fflush      => 'IO::Handle::flush',
+    fgetc       => 'IO::Handle::getc',
+    fgetpos     => 'IO::Seekable::getpos',
+    fgets       => 'IO::Handle::gets',
+    fileno      => 'IO::Handle::fileno',
+    fopen       => 'IO::File::open',
+    fprintf     => 'printf',
+    fputc       => 'print',
+    fputs       => 'print',
+    fread       => 'read',
+    free        => undef,
+    freopen     => 'open',
+    fscanf      => '<> and regular expressions',
+    fseek       => 'IO::Seekable::seek',
+    fsetpos     => 'IO::Seekable::setpos',
+    fsync       => 'IO::Handle::sync',
+    ftell       => 'IO::Seekable::tell',
+    fwrite      => 'print',
+    labs        => 'abs',
+    ldiv        => '/, % and int',
+    longjmp     => 'die',
+    malloc      => undef,
+    memchr      => 'index()',
+    memcmp      => 'eq',
+    memcpy      => '=',
+    memmove     => '=',
+    memset      => 'x',
+    offsetof    => undef,
+    putc        => 'print',
+    putchar     => 'print',
+    puts        => 'print',
+    qsort       => 'sort',
+    rand        => \'non-portable, use Perl\'s rand instead',
+    realloc     => undef,
+    scanf       => '<> and regular expressions',
+    setbuf      => 'IO::Handle::setbuf',
+    setjmp      => 'eval {}',
+    setvbuf     => 'IO::Handle::setvbuf',
+    siglongjmp  => 'die',
+    sigsetjmp   => 'eval {}',
+    srand       => \'not supplied; refer to Perl\'s srand documentation',
+    sscanf      => 'regular expressions',
+    strcat      => '.=',
+    strchr      => 'index()',
+    strcmp      => 'eq',
+    strcpy      => '=',
+    strcspn     => 'regular expressions',
+    strlen      => 'length',
+    strncat     => '.=',
+    strncmp     => 'eq',
+    strncpy     => '=',
+    strpbrk     => undef,
+    strrchr     => 'rindex()',
+    strspn      => undef,
+    strtok      => undef,
+    tmpfile     => 'IO::File::new_tmpfile',
+    ungetc      => 'IO::Handle::ungetc',
+    vfprintf    => undef,
+    vprintf     => undef,
+    vsprintf    => undef,
+);
 
-package POSIX::SigAction;
+my %reimpl = (
+    assert    => 'expr => croak "Assertion failed" if !$_[0]',
+    tolower   => 'string => lc($_[0])',
+    toupper   => 'string => uc($_[0])',
+    closedir  => 'dirhandle => CORE::closedir($_[0])',
+    opendir   => 'directory => my $dh; CORE::opendir($dh, $_[0]) ? $dh : undef',
+    readdir   => 'dirhandle => CORE::readdir($_[0])',
+    rewinddir => 'dirhandle => CORE::rewinddir($_[0])',
+    errno     => '$! + 0',
+    creat     => 'filename, mode => &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1])',
+    fcntl     => 'filehandle, cmd, arg => CORE::fcntl($_[0], $_[1], $_[2])',
+    getgrgid  => 'gid => CORE::getgrgid($_[0])',
+    getgrnam  => 'name => CORE::getgrnam($_[0])',
+    atan2     => 'x, y => CORE::atan2($_[0], $_[1])',
+    cos       => 'x => CORE::cos($_[0])',
+    exp       => 'x => CORE::exp($_[0])',
+    fabs      => 'x => CORE::abs($_[0])',
+    log       => 'x => CORE::log($_[0])',
+    pow       => 'x, exponent => $_[0] ** $_[1]',
+    sin       => 'x => CORE::sin($_[0])',
+    sqrt      => 'x => CORE::sqrt($_[0])',
+    getpwnam  => 'name => CORE::getpwnam($_[0])',
+    getpwuid  => 'uid => CORE::getpwuid($_[0])',
+    kill      => 'pid, sig => CORE::kill $_[1], $_[0]',
+    raise     => 'sig => CORE::kill $_[0], $$;	# Is this good enough',
+    getc      => 'handle => CORE::getc($_[0])',
+    getchar   => 'CORE::getc(STDIN)',
+    gets      => 'scalar <STDIN>',
+    remove    => 'filename => (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0])',
+    rename    => 'oldfilename, newfilename => CORE::rename($_[0], $_[1])',
+    rewind    => 'filehandle => CORE::seek($_[0],0,0)',
+    abs       => 'x => CORE::abs($_[0])',
+    exit      => 'status => CORE::exit($_[0])',
+    getenv    => 'name => $ENV{$_[0]}',
+    system    => 'command => CORE::system($_[0])',
+    strerror  => 'errno => 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.
+    mkdir     => 'directoryname, mode => CORE::mkdir($_[0], $_[1])',
+    stat      => 'filename => CORE::stat($_[0])',
+    umask     => 'mask => CORE::umask($_[0])',
+    wait      => 'CORE::wait()',
+    waitpid   => 'pid, options => CORE::waitpid($_[0], $_[1])',
+    gmtime    => 'time => CORE::gmtime($_[0])',
+    localtime => 'time => CORE::localtime($_[0])',
+    time      => 'CORE::time',
+    alarm     => 'seconds => CORE::alarm($_[0])',
+    chdir     => 'directory => CORE::chdir($_[0])',
+    chown     => 'uid, gid, filename => CORE::chown($_[0], $_[1], $_[2])',
+    fork      => 'CORE::fork',
+    getegid   => '$) + 0',
+    geteuid   => '$> + 0',
+    getgid    => '$( + 0',
+    getgroups => 'my %seen; grep !$seen{$_}++, split " ", $)',
+    getlogin  => 'CORE::getlogin()',
+    getpgrp   => 'CORE::getpgrp',
+    getpid    => '$$',
+    getppid   => 'CORE::getppid',
+    getuid    => '$<',
+    isatty    => 'filehandle => -t $_[0]',
+    link      => 'oldfilename, newfilename => CORE::link($_[0], $_[1])',
+    rmdir     => 'directoryname => CORE::rmdir($_[0])',
+    unlink    => 'filename => CORE::unlink($_[0])',
+    utime     => 'filename, atime, mtime => CORE::utime($_[1], $_[2], $_[0])',
+);
 
-use AutoLoader 'AUTOLOAD';
+eval join ';', map "sub $_", keys %replacement, keys %reimpl;
 
-package POSIX::SigRt;
+sub AUTOLOAD {
+    my ($func) = ($AUTOLOAD =~ /.*::(.*)/);
 
-use AutoLoader 'AUTOLOAD';
-
-use Tie::Hash;
-
-use vars qw($SIGACTION_FLAGS $_SIGRTMIN $_SIGRTMAX $_sigrtn @ISA);
- at POSIX::SigRt::ISA = qw(Tie::StdHash);
-
-$SIGACTION_FLAGS = 0;
-
-tie %POSIX::SIGRT, 'POSIX::SigRt';
-
-sub DESTROY {};
-
-package POSIX;
-
-1;
-__END__
-
-sub usage {
-    my ($mess) = @_;
-    croak "Usage: POSIX::$mess";
-}
-
-sub redef {
-    my ($mess) = @_;
-    croak "Use method $mess instead";
-}
-
-sub unimpl {
-    my ($mess) = @_;
-    $mess =~ s/xxx//;
-    croak "Unimplemented: POSIX::$mess";
-}
-
-sub assert {
-    usage "assert(expr)" if @_ != 1;
-    if (!$_[0]) {
-	croak "Assertion failed";
+    if (my $code = $reimpl{$func}) {
+	my ($num, $arg) = (0, '');
+	if ($code =~ s/^(.*?) *=> *//) {
+	    $arg = $1;
+	    $num = 1 + $arg =~ tr/,//;
+	}
+	# no warnings to be consistent with the old implementation, where each
+	# function was in its own little AutoSplit world:
+	eval qq{ sub $func {
+		no warnings;
+		usage "$func($arg)" if \@_ != $num;
+		$code
+	    } };
+	no strict;
+	goto &$AUTOLOAD;
     }
-}
+    if (exists $replacement{$func}) {
+	my $how = $replacement{$func};
+	croak "Unimplemented: POSIX::$func() is C-specific, stopped"
+	    unless defined $how;
+	croak "Unimplemented: POSIX::$func() is $$how" if ref $how;
+	croak "Use method $how() instead of POSIX::$func()" if $how =~ /::/;
+	croak "Unimplemented: POSIX::$func() is C-specific: use $how instead";
+    }
 
-sub tolower {
-    usage "tolower(string)" if @_ != 1;
-    lc($_[0]);
+    constant($func);
 }
 
-sub toupper {
-    usage "toupper(string)" if @_ != 1;
-    uc($_[0]);
-}
-
-sub closedir {
-    usage "closedir(dirhandle)" if @_ != 1;
-    CORE::closedir($_[0]);
-}
-
-sub opendir {
-    usage "opendir(directory)" if @_ != 1;
-    my $dirhandle;
-    CORE::opendir($dirhandle, $_[0])
-	? $dirhandle
-	: undef;
-}
-
-sub readdir {
-    usage "readdir(dirhandle)" if @_ != 1;
-    CORE::readdir($_[0]);
-}
-
-sub rewinddir {
-    usage "rewinddir(dirhandle)" if @_ != 1;
-    CORE::rewinddir($_[0]);
-}
-
-sub errno {
-    usage "errno()" if @_ != 0;
-    $! + 0;
-}
-
-sub creat {
-    usage "creat(filename, mode)" if @_ != 2;
-    &open($_[0], &O_WRONLY | &O_CREAT | &O_TRUNC, $_[1]);
-}
-
-sub fcntl {
-    usage "fcntl(filehandle, cmd, arg)" if @_ != 3;
-    CORE::fcntl($_[0], $_[1], $_[2]);
-}
-
-sub getgrgid {
-    usage "getgrgid(gid)" if @_ != 1;
-    CORE::getgrgid($_[0]);
-}
-
-sub getgrnam {
-    usage "getgrnam(name)" if @_ != 1;
-    CORE::getgrnam($_[0]);
-}
-
-sub atan2 {
-    usage "atan2(x,y)" if @_ != 2;
-    CORE::atan2($_[0], $_[1]);
-}
-
-sub cos {
-    usage "cos(x)" if @_ != 1;
-    CORE::cos($_[0]);
-}
-
-sub exp {
-    usage "exp(x)" if @_ != 1;
-    CORE::exp($_[0]);
-}
-
-sub fabs {
-    usage "fabs(x)" if @_ != 1;
-    CORE::abs($_[0]);
-}
-
-sub log {
-    usage "log(x)" if @_ != 1;
-    CORE::log($_[0]);
-}
-
-sub pow {
-    usage "pow(x,exponent)" if @_ != 2;
-    $_[0] ** $_[1];
-}
-
-sub sin {
-    usage "sin(x)" if @_ != 1;
-    CORE::sin($_[0]);
-}
-
-sub sqrt {
-    usage "sqrt(x)" if @_ != 1;
-    CORE::sqrt($_[0]);
-}
-
-sub getpwnam {
-    usage "getpwnam(name)" if @_ != 1;
-    CORE::getpwnam($_[0]);
-}
-
-sub getpwuid {
-    usage "getpwuid(uid)" if @_ != 1;
-    CORE::getpwuid($_[0]);
-}
-
-sub longjmp {
-    unimpl "longjmp() is C-specific: use die instead";
-}
-
-sub setjmp {
-    unimpl "setjmp() is C-specific: use eval {} instead";
-}
-
-sub siglongjmp {
-    unimpl "siglongjmp() is C-specific: use die instead";
-}
-
-sub sigsetjmp {
-    unimpl "sigsetjmp() is C-specific: use eval {} instead";
-}
-
-sub kill {
-    usage "kill(pid, sig)" if @_ != 2;
-    CORE::kill $_[1], $_[0];
-}
-
-sub raise {
-    usage "raise(sig)" if @_ != 1;
-    CORE::kill $_[0], $$;	# Is this good enough?
-}
-
-sub offsetof {
-    unimpl "offsetof() is C-specific, stopped";
-}
-
-sub clearerr {
-    redef "IO::Handle::clearerr()";
-}
-
-sub fclose {
-    redef "IO::Handle::close()";
-}
-
-sub fdopen {
-    redef "IO::Handle::new_from_fd()";
-}
-
-sub feof {
-    redef "IO::Handle::eof()";
-}
-
-sub fgetc {
-    redef "IO::Handle::getc()";
-}
-
-sub fgets {
-    redef "IO::Handle::gets()";
-}
-
-sub fileno {
-    redef "IO::Handle::fileno()";
-}
-
-sub fopen {
-    redef "IO::File::open()";
-}
-
-sub fprintf {
-    unimpl "fprintf() is C-specific--use printf instead";
-}
-
-sub fputc {
-    unimpl "fputc() is C-specific--use print instead";
-}
-
-sub fputs {
-    unimpl "fputs() is C-specific--use print instead";
-}
-
-sub fread {
-    unimpl "fread() is C-specific--use read instead";
-}
-
-sub freopen {
-    unimpl "freopen() is C-specific--use open instead";
-}
-
-sub fscanf {
-    unimpl "fscanf() is C-specific--use <> and regular expressions instead";
-}
-
-sub fseek {
-    redef "IO::Seekable::seek()";
-}
-
-sub fsync {
-    redef "IO::Handle::sync()";
-}
-
-sub ferror {
-    redef "IO::Handle::error()";
-}
-
-sub fflush {
-    redef "IO::Handle::flush()";
-}
-
-sub fgetpos {
-    redef "IO::Seekable::getpos()";
-}
-
-sub fsetpos {
-    redef "IO::Seekable::setpos()";
-}
-
-sub ftell {
-    redef "IO::Seekable::tell()";
-}
-
-sub fwrite {
-    unimpl "fwrite() is C-specific--use print instead";
-}
-
-sub getc {
-    usage "getc(handle)" if @_ != 1;
-    CORE::getc($_[0]);
-}
-
-sub getchar {
-    usage "getchar()" if @_ != 0;
-    CORE::getc(STDIN);
-}
-
-sub gets {
-    usage "gets()" if @_ != 0;
-    scalar <STDIN>;
-}
-
 sub perror {
     print STDERR "@_: " if @_;
     print STDERR $!,"\n";
@@ -345,413 +226,13 @@
     CORE::printf STDOUT @_;
 }
 
-sub putc {
-    unimpl "putc() is C-specific--use print instead";
-}
-
-sub putchar {
-    unimpl "putchar() is C-specific--use print instead";
-}
-
-sub puts {
-    unimpl "puts() is C-specific--use print instead";
-}
-
-sub remove {
-    usage "remove(filename)" if @_ != 1;
-    (-d $_[0]) ? CORE::rmdir($_[0]) : CORE::unlink($_[0]);
-}
-
-sub rename {
-    usage "rename(oldfilename, newfilename)" if @_ != 2;
-    CORE::rename($_[0], $_[1]);
-}
-
-sub rewind {
-    usage "rewind(filehandle)" if @_ != 1;
-    CORE::seek($_[0],0,0);
-}
-
-sub scanf {
-    unimpl "scanf() is C-specific--use <> and regular expressions instead";
-}
-
 sub sprintf {
-    usage "sprintf(pattern,args)" if @_ == 0;
+    usage "sprintf(pattern, args...)" if @_ == 0;
     CORE::sprintf(shift, at _);
 }
 
-sub sscanf {
-    unimpl "sscanf() is C-specific--use regular expressions instead";
-}
-
-sub tmpfile {
-    redef "IO::File::new_tmpfile()";
-}
-
-sub ungetc {
-    redef "IO::Handle::ungetc()";
-}
-
-sub vfprintf {
-    unimpl "vfprintf() is C-specific";
-}
-
-sub vprintf {
-    unimpl "vprintf() is C-specific";
-}
-
-sub vsprintf {
-    unimpl "vsprintf() is C-specific";
-}
-
-sub abs {
-    usage "abs(x)" if @_ != 1;
-    CORE::abs($_[0]);
-}
-
-sub atexit {
-    unimpl "atexit() is C-specific: use END {} instead";
-}
-
-sub atof {
-    unimpl "atof() is C-specific, stopped";
-}
-
-sub atoi {
-    unimpl "atoi() is C-specific, stopped";
-}
-
-sub atol {
-    unimpl "atol() is C-specific, stopped";
-}
-
-sub bsearch {
-    unimpl "bsearch() not supplied";
-}
-
-sub calloc {
-    unimpl "calloc() is C-specific, stopped";
-}
-
-sub div {
-    unimpl "div() is C-specific, use /, % and int instead";
-}
-
-sub exit {
-    usage "exit(status)" if @_ != 1;
-    CORE::exit($_[0]);
-}
-
-sub free {
-    unimpl "free() is C-specific, stopped";
-}
-
-sub getenv {
-    usage "getenv(name)" if @_ != 1;
-    $ENV{$_[0]};
-}
-
-sub labs {
-    unimpl "labs() is C-specific, use abs instead";
-}
-
-sub ldiv {
-    unimpl "ldiv() is C-specific, use /, % and int instead";
-}
-
-sub malloc {
-    unimpl "malloc() is C-specific, stopped";
-}
-
-sub qsort {
-    unimpl "qsort() is C-specific, use sort instead";
-}
-
-sub rand {
-    unimpl "rand() is non-portable, use Perl's rand instead";
-}
-
-sub realloc {
-    unimpl "realloc() is C-specific, stopped";
-}
-
-sub srand {
-    unimpl "srand()";
-}
-
-sub system {
-    usage "system(command)" if @_ != 1;
-    CORE::system($_[0]);
-}
-
-sub memchr {
-    unimpl "memchr() is C-specific, use index() instead";
-}
-
-sub memcmp {
-    unimpl "memcmp() is C-specific, use eq instead";
-}
-
-sub memcpy {
-    unimpl "memcpy() is C-specific, use = instead";
-}
-
-sub memmove {
-    unimpl "memmove() is C-specific, use = instead";
-}
-
-sub memset {
-    unimpl "memset() is C-specific, use x instead";
-}
-
-sub strcat {
-    unimpl "strcat() is C-specific, use .= instead";
-}
-
-sub strchr {
-    unimpl "strchr() is C-specific, use index() instead";
-}
-
-sub strcmp {
-    unimpl "strcmp() is C-specific, use eq instead";
-}
-
-sub strcpy {
-    unimpl "strcpy() is C-specific, use = instead";
-}
-
-sub strcspn {
-    unimpl "strcspn() is C-specific, use regular expressions instead";
-}
-
-sub strerror {
-    usage "strerror(errno)" if @_ != 1;
-    local $! = $_[0];
-    $! . "";
-}
-
-sub strlen {
-    unimpl "strlen() is C-specific, use length instead";
-}
-
-sub strncat {
-    unimpl "strncat() is C-specific, use .= instead";
-}
-
-sub strncmp {
-    unimpl "strncmp() is C-specific, use eq instead";
-}
-
-sub strncpy {
-    unimpl "strncpy() is C-specific, use = instead";
-}
-
-sub strpbrk {
-    unimpl "strpbrk() is C-specific, stopped";
-}
-
-sub strrchr {
-    unimpl "strrchr() is C-specific, use rindex() instead";
-}
-
-sub strspn {
-    unimpl "strspn() is C-specific, stopped";
-}
-
-sub strstr {
-    usage "strstr(big, little)" if @_ != 2;
-    CORE::index($_[0], $_[1]);
-}
-
-sub strtok {
-    unimpl "strtok() is C-specific, stopped";
-}
-
-sub chmod {
-    usage "chmod(mode, filename)" if @_ != 2;
-    CORE::chmod($_[0], $_[1]);
-}
-
-sub fstat {
-    usage "fstat(fd)" if @_ != 1;
-    local *TMP;
-    CORE::open(TMP, "<&$_[0]");		# Gross.
-    my @l = CORE::stat(TMP);
-    CORE::close(TMP);
-    @l;
-}
-
-sub mkdir {
-    usage "mkdir(directoryname, mode)" if @_ != 2;
-    CORE::mkdir($_[0], $_[1]);
-}
-
-sub stat {
-    usage "stat(filename)" if @_ != 1;
-    CORE::stat($_[0]);
-}
-
-sub umask {
-    usage "umask(mask)" if @_ != 1;
-    CORE::umask($_[0]);
-}
-
-sub wait {
-    usage "wait()" if @_ != 0;
-    CORE::wait();
-}
-
-sub waitpid {
-    usage "waitpid(pid, options)" if @_ != 2;
-    CORE::waitpid($_[0], $_[1]);
-}
-
-sub gmtime {
-    usage "gmtime(time)" if @_ != 1;
-    CORE::gmtime($_[0]);
-}
-
-sub localtime {
-    usage "localtime(time)" if @_ != 1;
-    CORE::localtime($_[0]);
-}
-
-sub time {
-    usage "time()" if @_ != 0;
-    CORE::time;
-}
-
-sub alarm {
-    usage "alarm(seconds)" if @_ != 1;
-    CORE::alarm($_[0]);
-}
-
-sub chdir {
-    usage "chdir(directory)" if @_ != 1;
-    CORE::chdir($_[0]);
-}
-
-sub chown {
-    usage "chown(uid, gid, filename)" if @_ != 3;
-    CORE::chown($_[0], $_[1], $_[2]);
-}
-
-sub execl {
-    unimpl "execl() is C-specific, stopped";
-}
-
-sub execle {
-    unimpl "execle() is C-specific, stopped";
-}
-
-sub execlp {
-    unimpl "execlp() is C-specific, stopped";
-}
-
-sub execv {
-    unimpl "execv() is C-specific, stopped";
-}
-
-sub execve {
-    unimpl "execve() is C-specific, stopped";
-}
-
-sub execvp {
-    unimpl "execvp() is C-specific, stopped";
-}
-
-sub fork {
-    usage "fork()" if @_ != 0;
-    CORE::fork;
-}
-
-sub getegid {
-    usage "getegid()" if @_ != 0;
-    $) + 0;
-}
-
-sub geteuid {
-    usage "geteuid()" if @_ != 0;
-    $> + 0;
-}
-
-sub getgid {
-    usage "getgid()" if @_ != 0;
-    $( + 0;
-}
-
-sub getgroups {
-    usage "getgroups()" if @_ != 0;
-    my %seen;
-    grep(!$seen{$_}++, split(' ', $) ));
-}
-
-sub getlogin {
-    usage "getlogin()" if @_ != 0;
-    CORE::getlogin();
-}
-
-sub getpgrp {
-    usage "getpgrp()" if @_ != 0;
-    CORE::getpgrp;
-}
-
-sub getpid {
-    usage "getpid()" if @_ != 0;
-    $$;
-}
-
-sub getppid {
-    usage "getppid()" if @_ != 0;
-    CORE::getppid;
-}
-
-sub getuid {
-    usage "getuid()" if @_ != 0;
-    $<;
-}
-
-sub isatty {
-    usage "isatty(filehandle)" if @_ != 1;
-    -t $_[0];
-}
-
-sub link {
-    usage "link(oldfilename, newfilename)" if @_ != 2;
-    CORE::link($_[0], $_[1]);
-}
-
-sub rmdir {
-    usage "rmdir(directoryname)" if @_ != 1;
-    CORE::rmdir($_[0]);
-}
-
-sub setbuf {
-    redef "IO::Handle::setbuf()";
-}
-
-sub setvbuf {
-    redef "IO::Handle::setvbuf()";
-}
-
-sub sleep {
-    usage "sleep(seconds)" if @_ != 1;
-    $_[0] - CORE::sleep($_[0]);
-}
-
-sub unlink {
-    usage "unlink(filename)" if @_ != 1;
-    CORE::unlink($_[0]);
-}
-
-sub utime {
-    usage "utime(filename, atime, mtime)" if @_ != 3;
-    CORE::utime($_[1], $_[2], $_[0]);
-}
-
 sub load_imports {
-%EXPORT_TAGS = (
+our %EXPORT_TAGS = (
 
     assert_h =>	[qw(assert NDEBUG)],
 
@@ -898,7 +379,6 @@
 		setsid setuid sysconf tcgetpgrp tcsetpgrp ttyname)],
 
     utime_h =>	[],
-
 );
 
 # Exporter::export_tags();
@@ -908,68 +388,13 @@
   @export{map {@$_} values %EXPORT_TAGS} = ();
   # Doing the de-dup with a temporary hash has the advantage that the SVs in
   # @EXPORT are actually shared hash key scalars, which will save some memory.
-  push @EXPORT, keys %export;
+  our @EXPORT = keys %export;
+
+  our @EXPORT_OK = (qw(close lchown nice open pipe read sleep times write
+		       printf sprintf),
+		    grep {!exists $export{$_}} keys %reimpl, keys %replacement);
 }
 
- at EXPORT_OK = qw(
-		abs
-		alarm
-		atan2
-		chdir
-		chmod
-		chown
-		close
-		closedir
-		cos
-		exit
-		exp
-		fcntl
-		fileno
-		fork
-		getc
-		getgrgid
-		getgrnam
-		getlogin
-		getpgrp
-		getppid
-		getpwnam
-		getpwuid
-		gmtime
-		isatty
-		kill
-		lchown
-		link
-		localtime
-		log
-		mkdir
-		nice
-		open
-		opendir
-		pipe
-		printf
-		rand
-		read
-		readdir
-		rename
-		rewinddir
-		rmdir
-		sin
-		sleep
-		sprintf
-		sqrt
-		srand
-		stat
-		system
-		time
-		times
-		umask
-		unlink
-		utime
-		wait
-		waitpid
-		write
-);
-
 require Exporter;
 }
 
@@ -981,9 +406,24 @@
 sub flags   { $_[0]->{FLAGS}   = $_[1] if @_ > 1; $_[0]->{FLAGS} };
 sub safe    { $_[0]->{SAFE}    = $_[1] if @_ > 1; $_[0]->{SAFE} };
 
+{
+package POSIX::SigSet;
+# This package is here entirely to make sure that POSIX::SigSet is seen by the
+# PAUSE indexer, so that it will always be clearly indexed in core.  This is to
+# prevent the accidental case where a third-party distribution can accidentally
+# claim the POSIX::SigSet package, as occurred in 2011-12. -- rjbs, 2011-12-30
+}
+
 package POSIX::SigRt;
 
+require Tie::Hash;
 
+our @ISA = 'Tie::StdHash';
+
+our ($_SIGRTMIN, $_SIGRTMAX, $_sigrtn);
+
+our $SIGACTION_FLAGS = 0;
+
 sub _init {
     $_SIGRTMIN = &POSIX::SIGRTMIN;
     $_SIGRTMAX = &POSIX::SIGRTMAX;
@@ -1020,9 +460,7 @@
 sub new {
     my ($rtsig, $handler, $flags) = @_;
     my $sigset = POSIX::SigSet->new($rtsig);
-    my $sigact = POSIX::SigAction->new($handler,
-				       $sigset,
-				       $flags);
+    my $sigact = POSIX::SigAction->new($handler, $sigset, $flags);
     POSIX::sigaction($rtsig, $sigact);
 }
 
@@ -1035,3 +473,6 @@
 sub DELETE { delete $SIG{ &_check } }
 sub CLEAR  { &_exist; delete @SIG{ &POSIX::SIGRTMIN .. &POSIX::SIGRTMAX } }
 sub SCALAR { &_croak; $_sigrtn + 1 }
+
+tie %POSIX::SIGRT, 'POSIX::SigRt';
+# and the expression on the line above is true, so we return true.


Property changes on: vendor/perl/dist/ext/POSIX/lib/POSIX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/lib/POSIX.pod
===================================================================
--- vendor/perl/dist/ext/POSIX/lib/POSIX.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/lib/POSIX.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 =head1 SYNOPSIS
 
-    use POSIX;
+    use POSIX ();
     use POSIX qw(setsid);
     use POSIX qw(:errno_h :fcntl_h);
 
@@ -26,7 +26,9 @@
 C<abs>, C<alarm>, C<rmdir>, C<write>, etc.., which will be exported
 only if you ask for them explicitly.  This is an unfortunate backwards
 compatibility feature.  You can stop the exporting by saying C<use
-POSIX ()> and then use the fully qualified names (ie. C<POSIX::SEEK_END>).
+POSIX ()> and then use the fully qualified names (ie. C<POSIX::SEEK_END>),
+or by giving an explicit import list.  If you do neither, and opt for the
+default, C<use POSIX;> has to import I<553 symbols>.
 
 This document gives a condensed list of the features available in the POSIX
 module.  Consult your operating system's manpages for general information on
@@ -39,13 +41,6 @@
 constants and macros in an organization which roughly follows IEEE Std
 1003.1b-1993.
 
-=head1 NOTE
-
-The POSIX module is probably the most complex Perl module supplied with
-the standard distribution.  It incorporates autoloading, namespace games,
-and dynamic loading of code that's in Perl, C, or both.  It's a great
-source of wisdom.
-
 =head1 CAVEATS
 
 A few functions are not implemented because they are C specific.  If you
@@ -375,7 +370,7 @@
 
 =item fgetpos
 
-Use method C<IO::Seekable::getpos()> instead, or see L<L/seek>.
+Use method C<IO::Seekable::getpos()> instead, or see L<perlfunc/seek>.
 
 =item fgets
 
@@ -417,7 +412,7 @@
 uses file descriptors such as those obtained by calling C<POSIX::open>.
 
 The following will determine the maximum length of the longest allowable
-pathname on the filesystem which holds C</var/foo>.
+pathname on the filesystem which holds F</var/foo>.
 
 	$fd = POSIX::open( "/var/foo", &POSIX::O_RDONLY );
 	$path_max = POSIX::fpathconf( $fd, &POSIX::_PC_PATH_MAX );
@@ -735,27 +730,32 @@
 
 Here is how to query the database for the B<de> (Deutsch or German) locale.
 
-	$loc = POSIX::setlocale( &POSIX::LC_ALL, "de" );
-	print "Locale = $loc\n";
-	$lconv = POSIX::localeconv();
-	print "decimal_point	= ", $lconv->{decimal_point},	"\n";
-	print "thousands_sep	= ", $lconv->{thousands_sep},	"\n";
-	print "grouping	= ", $lconv->{grouping},	"\n";
-	print "int_curr_symbol	= ", $lconv->{int_curr_symbol},	"\n";
-	print "currency_symbol	= ", $lconv->{currency_symbol},	"\n";
-	print "mon_decimal_point = ", $lconv->{mon_decimal_point}, "\n";
-	print "mon_thousands_sep = ", $lconv->{mon_thousands_sep}, "\n";
-	print "mon_grouping	= ", $lconv->{mon_grouping},	"\n";
-	print "positive_sign	= ", $lconv->{positive_sign},	"\n";
-	print "negative_sign	= ", $lconv->{negative_sign},	"\n";
-	print "int_frac_digits	= ", $lconv->{int_frac_digits},	"\n";
-	print "frac_digits	= ", $lconv->{frac_digits},	"\n";
-	print "p_cs_precedes	= ", $lconv->{p_cs_precedes},	"\n";
-	print "p_sep_by_space	= ", $lconv->{p_sep_by_space},	"\n";
-	print "n_cs_precedes	= ", $lconv->{n_cs_precedes},	"\n";
-	print "n_sep_by_space	= ", $lconv->{n_sep_by_space},	"\n";
-	print "p_sign_posn	= ", $lconv->{p_sign_posn},	"\n";
-	print "n_sign_posn	= ", $lconv->{n_sign_posn},	"\n";
+	my $loc = POSIX::setlocale( &POSIX::LC_ALL, "de" );
+	print "Locale: \"$loc\"\n";
+	my $lconv = POSIX::localeconv();
+	foreach my $property (qw(
+		decimal_point
+		thousands_sep
+		grouping
+		int_curr_symbol
+		currency_symbol
+		mon_decimal_point
+		mon_thousands_sep
+		mon_grouping
+		positive_sign
+		negative_sign
+		int_frac_digits
+		frac_digits
+		p_cs_precedes
+		p_sep_by_space
+		n_cs_precedes
+		n_sep_by_space
+		p_sign_posn
+		n_sign_posn
+	))
+	{
+		printf qq(%s: "%s",\n), $property, $lconv->{$property};
+	}
 
 =item localtime
 


Property changes on: vendor/perl/dist/ext/POSIX/lib/POSIX.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/is.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/is.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/is.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,16 @@
 #!./perl -w
 
+use strict;
+use Test::More;
+use Config;
+
 BEGIN {
-    require Config; import Config;
-    if ($^O ne 'VMS' and $Config{'extensions'} !~ /\bPOSIX\b/) {
-	print "1..0\n";
-	exit 0;
-    }
+    plan(skip_all => "\$^O eq '$^O'") if $^O eq 'VMS';
+    plan(skip_all => "POSIX is unavailable")
+	unless $Config{extensions} =~ /\bPOSIX\b/;
 }
 
 use POSIX;
-use strict ;
 
 # E.g. \t might or might not be isprint() depending on the locale,
 # so let's reset to the default.
@@ -70,11 +71,8 @@
 
 # Expected number of tests is one each for every combination of a
 # known is<xxx> function and string listed above.
-use Test::More;
 plan(tests => keys(%classes) * keys(%functions));
 
-
-#
 # Main test loop: Run all POSIX::is<xxx> tests on each string defined above.
 # Only the character classes listed for that string should return 1.  We
 # always run all functions on every string, and expect to get 0 for the
@@ -85,6 +83,6 @@
 	my $expected = exists $classes{$s}->{$f};
 	my $actual   = eval "POSIX::$f( \$s )";
 
-	ok( $actual == $expected, "$f('$s') == $actual");
+	cmp_ok($actual, '==', $expected, "$f('$s')");
     }
 }


Property changes on: vendor/perl/dist/ext/POSIX/t/is.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/math.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/math.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/math.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,17 +3,37 @@
 use strict;
 
 use POSIX;
-use Test::More tests => 14;
+use Test::More;
 
 # These tests are mainly to make sure that these arithmetic functions
 # exist and are accessible.  They are not meant to be an exhaustive
 # test for the interface.
 
+sub between {
+    my ($low, $have, $high, $desc) = @_;
+    local $Test::Builder::Level = $Test::Builder::Level + 1;
+
+    cmp_ok($have, '>=', $low, $desc);
+    cmp_ok($have, '<=', $high, $desc);
+}
+
 is(acos(1), 0, "Basic acos(1) test");
+between(3.14, acos(-1), 3.15, 'acos(-1)');
+between(1.57, acos(0), 1.58, 'acos(0)');
 is(asin(0), 0, "Basic asin(0) test");
+cmp_ok(asin(1), '>', 1.57, "Basic asin(1) test");
+cmp_ok(asin(-1), '<', -1.57, "Basic asin(-1) test");
+cmp_ok(asin(1), '==', -asin(-1), 'asin(1) == -asin(-1)');
 is(atan(0), 0, "Basic atan(0) test");
+between(0.785, atan(1), 0.786, 'atan(1)');
+between(-0.786, atan(-1), -0.785, 'atan(-1)');
+cmp_ok(atan(1), '==', -atan(-1), 'atan(1) == -atan(-1)');
 is(cosh(0), 1, "Basic cosh(0) test");  
+between(1.54, cosh(1), 1.55, 'cosh(1)');
+between(1.54, cosh(-1), 1.55, 'cosh(-1)');
+is(cosh(1), cosh(-1), 'cosh(1) == cosh(-1)');
 is(floor(1.23441242), 1, "Basic floor(1.23441242) test");
+is(floor(-1.23441242), -2, "Basic floor(-1.23441242) test");
 is(fmod(3.5, 2.0), 1.5, "Basic fmod(3.5, 2.0) test");
 is(join(" ", frexp(1)), "0.5 1",  "Basic frexp(1) test");
 is(ldexp(0,1), 0, "Basic ldexp(0,1) test");
@@ -21,5 +41,15 @@
 is(log10(10), 1, "Basic log10(10) test");
 is(join(" ", modf(1.76)), "0.76 1", "Basic modf(1.76) test");
 is(sinh(0), 0, "Basic sinh(0) test"); 
+between(1.17, sinh(1), 1.18, 'sinh(1)');
+between(-1.18, sinh(-1), -1.17, 'sinh(-1)');
 is(tan(0), 0, "Basic tan(0) test");
+between(1.55, tan(1), 1.56, 'tan(1)');
+between(1.55, tan(1), 1.56, 'tan(-1)');
+cmp_ok(tan(1), '==', -tan(-1), 'tan(1) == -tan(-1)');
 is(tanh(0), 0, "Basic tanh(0) test"); 
+between(0.76, tanh(1), 0.77, 'tanh(1)');
+between(-0.77, tanh(-1), -0.76, 'tanh(-1)');
+cmp_ok(tanh(1), '==', -tanh(-1), 'tanh(1) == -tanh(-1)');
+
+done_testing();


Property changes on: vendor/perl/dist/ext/POSIX/t/math.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/posix.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/posix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/posix.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,10 +8,10 @@
     }
 }
 
-use Test::More tests => 66;
+use Test::More tests => 109;
 
 use POSIX qw(fcntl_h signal_h limits_h _exit getcwd open read strftime write
-	     errno);
+	     errno localeconv dup dup2 lseek access);
 use strict 'subs';
 
 sub next_test {
@@ -23,7 +23,6 @@
 
 $Is_W32     = $^O eq 'MSWin32';
 $Is_Dos     = $^O eq 'dos';
-$Is_MPE     = $^O eq 'mpeix';
 $Is_MacOS   = $^O eq 'MacOS';
 $Is_VMS     = $^O eq 'VMS';
 $Is_OS2     = $^O eq 'os2';
@@ -51,8 +50,8 @@
 
 }
 
-
-ok( $testfd = open("Makefile.PL", O_RDONLY, 0),        'O_RDONLY with open' );
+my $testfd = open("Makefile.PL", O_RDONLY, 0);
+like($testfd, qr/\A\d+\z/, 'O_RDONLY with open');
 read($testfd, $buffer, 4) if $testfd > 2;
 is( $buffer, "# Ex",                      '    with read' );
 
@@ -64,22 +63,22 @@
     is( $buffer[1], "perl\n",	               '    read to array element' );
 }
 
-write(1,"ok 4\nnot ok 4\n", 5);
-next_test();
+my $test = next_test();
+write(1,"ok $test\nnot ok $test\n", 5);
 
 SKIP: {
     skip("no pipe() support on DOS", 2) if $Is_Dos;
 
     @fds = POSIX::pipe();
-    ok( $fds[0] > $testfd,      'POSIX::pipe' );
+    cmp_ok($fds[0], '>', $testfd, 'POSIX::pipe');
 
     CORE::open($reader = \*READER, "<&=".$fds[0]);
     CORE::open($writer = \*WRITER, ">&=".$fds[1]);
-    print $writer "ok 6\n";
+    my $test = next_test();
+    print $writer "ok $test\n";
     close $writer;
     print <$reader>;
     close $reader;
-    next_test();
 }
 
 SKIP: {
@@ -105,6 +104,7 @@
 	# So the kill() must not be done with this config in order to
 	# finish the test.
 	# For others (darwin & freebsd), let the test fail without crashing.
+	# the test passes at least from freebsd 8.1
 	my $todo = $^O eq 'netbsd' && $Config{osvers}=~/^1\.6/;
 	my $why_todo = "# TODO $^O $Config{osvers} seems to lose blocked signals";
 	if (!$todo) { 
@@ -115,8 +115,8 @@
 	}
 	sleep 1;
 
-	$todo = 1 if ($^O eq 'freebsd')
-		  || ($^O eq 'darwin' && $Config{osvers} lt '6.6');
+	$todo = 1 if ($^O eq 'freebsd' && $Config{osvers} < 8)
+		  || ($^O eq 'darwin' && $Config{osvers} < '6.6');
 	printf "%s 11 - masked SIGINT received %s\n",
 	    $sigint_called ? "ok" : "not ok",
 	    $todo ? $why_todo : '';
@@ -141,10 +141,10 @@
 }
 
 SKIP: {
-    skip("_POSIX_OPEN_MAX is inaccurate on MPE", 1) if $Is_MPE;
     skip("_POSIX_OPEN_MAX undefined ($fds[1])",  1) unless &_POSIX_OPEN_MAX;
 
-    ok( &_POSIX_OPEN_MAX >= 16, "The minimum allowed values according to susv2" );
+    cmp_ok(&_POSIX_OPEN_MAX, '>=', 16,
+	   "The minimum allowed values according to susv2" );
 
 }
 
@@ -160,13 +160,14 @@
 # Check string conversion functions.
 
 SKIP: { 
-    skip("strtod() not present", 1) unless $Config{d_strtod};
+    skip("strtod() not present", 2) unless $Config{d_strtod};
 
     $lc = &POSIX::setlocale(&POSIX::LC_NUMERIC, 'C') if $Config{d_setlocale};
 
     # we're just checking that strtod works, not how accurate it is
     ($n, $x) = &POSIX::strtod('3.14159_OR_SO');
-    ok((abs("3.14159" - $n) < 1e-6) && ($x == 6), 'strtod works');
+    cmp_ok(abs("3.14159" - $n), '<', 1e-6, 'strtod works');
+    is($x, 6, 'strtod works');
 
     &POSIX::setlocale(&POSIX::LC_NUMERIC, $lc) if $Config{d_setlocale};
 }
@@ -188,14 +189,14 @@
 }
 
 # Pick up whether we're really able to dynamically load everything.
-ok( &POSIX::acos(1.0) == 0.0,   'dynamic loading' );
+cmp_ok(&POSIX::acos(1.0), '==', 0.0, 'dynamic loading');
 
 # This can coredump if struct tm has a timezone field and we
 # didn't detect it.  If this fails, try adding
 # -DSTRUCT_TM_HASZONE to your cflags when compiling ext/POSIX/POSIX.c.
 # See ext/POSIX/hints/sunos_4.pl and ext/POSIX/hints/linux.pl 
-print POSIX::strftime("ok 21 # %H:%M, on %m/%d/%y\n", localtime());
-next_test();
+$test = next_test();
+print POSIX::strftime("ok $test # %H:%M, on %m/%d/%y\n", localtime());
 
 # If that worked, validate the mini_mktime() routine's normalisation of
 # input fields to strftime().
@@ -222,6 +223,21 @@
 try_strftime("Tue Feb 29 00:00:00 2000 060", 0,0,0, 0,2,100);
 try_strftime("Wed Mar 01 00:00:00 2000 061", 0,0,0, 1,2,100);
 try_strftime("Fri Mar 31 00:00:00 2000 091", 0,0,0, 31,2,100);
+
+{ # rt 72232
+
+  # Std C/POSIX allows day/month to be negative and requires that
+  # wday/yday be adjusted as needed
+  # previously mini_mktime() would allow yday to dominate if mday and
+  # month were both non-positive
+  # check that yday doesn't dominate
+  try_strftime("Thu Dec 30 00:00:00 1999 364", 0,0,0, -1,0,100);
+  try_strftime("Thu Dec 30 00:00:00 1999 364", 0,0,0, -1,0,100,-1,10);
+  # it would also allow a positive wday to override the calculated value
+  # check that wday is recalculated too
+  try_strftime("Thu Dec 30 00:00:00 1999 364", 0,0,0, -1,0,100,0,10);
+}
+
 &POSIX::setlocale(&POSIX::LC_TIME, $lc) if $Config{d_setlocale};
 
 {
@@ -297,7 +313,81 @@
 
 eval { use strict; POSIX->import("S_ISBLK"); my $x = S_ISBLK };
 unlike( $@, qr/Can't use string .* as a symbol ref/, "Can import autoloaded constants" );
- 
+
+SKIP: {
+    skip("localeconv() not present", 20) unless $Config{d_locconv};
+    my $conv = localeconv;
+    is(ref $conv, 'HASH', 'localconv returns a hash reference');
+
+    foreach (qw(decimal_point thousands_sep grouping int_curr_symbol
+		currency_symbol mon_decimal_point mon_thousands_sep
+		mon_grouping positive_sign negative_sign)) {
+    SKIP: {
+	    skip("localeconv has no result for $_", 1)
+		unless exists $conv->{$_};
+	    unlike(delete $conv->{$_}, qr/\A\z/,
+		   "localeconv returned a non-empty string for $_");
+	}
+    }
+
+    foreach (qw(int_frac_digits frac_digits p_cs_precedes p_sep_by_space
+		n_cs_precedes n_sep_by_space p_sign_posn n_sign_posn)) {
+    SKIP: {
+	    skip("localeconv has no result for $_", 1)
+		unless exists $conv->{$_};
+	    like(delete $conv->{$_}, qr/\A-?\d+\z/,
+		 "localeconv returned an integer for $_");
+	}
+    }
+    is_deeply([%$conv], [], 'no unexpected keys returned by localeconv');
+}
+
+my $fd1 = open("Makefile.PL", O_RDONLY, 0);
+like($fd1, qr/\A\d+\z/, 'O_RDONLY with open');
+cmp_ok($fd1, '>', $testfd);
+my $fd2 = dup($fd1);
+like($fd2, qr/\A\d+\z/, 'dup');
+cmp_ok($fd2, '>', $fd1);
+is(POSIX::close($fd1), '0 but true', 'close');
+is(POSIX::close($testfd), '0 but true', 'close');
+$! = 0;
+undef $buffer;
+is(read($fd1, $buffer, 4), undef, 'read on closed file handle fails');
+cmp_ok($!, '==', POSIX::EBADF);
+undef $buffer;
+read($fd2, $buffer, 4) if $fd2 > 2;
+is($buffer, "# Ex", 'read');
+# The descriptor $testfd was using is now free, and is lower than that which
+# $fd1 was using. Hence if dup2() behaves as dup(), we'll know :-)
+{
+    $testfd = dup2($fd2, $fd1);
+    is($testfd, $fd1, 'dup2');
+    undef $buffer;
+    read($testfd, $buffer, 4) if $testfd > 2;
+    is($buffer, 'pect', 'read');
+    is(lseek($testfd, 0, 0), 0, 'lseek back');
+    # The two should share file position:
+    undef $buffer;
+    read($fd2, $buffer, 4) if $fd2 > 2;
+    is($buffer, "# Ex", 'read');
+}
+
+# The FreeBSD man page warns:
+# The access() system call is a potential security hole due to race
+# conditions and should never be used.
+is(access('Makefile.PL', POSIX::F_OK), '0 but true', 'access');
+is(access('Makefile.PL', POSIX::R_OK), '0 but true', 'access');
+$! = 0;
+is(access('no such file', POSIX::F_OK), undef, 'access on missing file');
+cmp_ok($!, '==', POSIX::ENOENT);
+is(access('Makefile.PL/nonsense', POSIX::F_OK), undef,
+   'access on not-a-directory');
+SKIP: {
+    skip("$^O is insufficiently POSIX", 1)
+	if $Is_W32 || $Is_VMS;
+    cmp_ok($!, '==', POSIX::ENOTDIR);
+}
+
 # Check that output is not flushed by _exit. This test should be last
 # in the file, and is not counted in the total number of tests.
 if ($^O eq 'vos') {


Property changes on: vendor/perl/dist/ext/POSIX/t/posix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/sigaction.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/sigaction.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/sigaction.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
 	}
 }
 
-use Test::More tests => 32;
+use Test::More tests => 33;
 
 use strict;
 use vars qw/$bad $bad7 $ok10 $bad18 $ok/;
@@ -19,15 +19,15 @@
 $^W=1;
 
 sub IGNORE {
-	$bad7=1;
+    ++$bad7;
 }
 
 sub DEFAULT {
-	$bad18=1;
+    ++$bad18;
 }
 
 sub foo {
-	$ok=1;
+    ++$ok;
 }
 
 my $newaction=POSIX::SigAction->new('::foo', new POSIX::SigSet(SIGUSR1), 0);
@@ -37,11 +37,10 @@
 	my $bad;
 	local($SIG{__WARN__})=sub { $bad=1; };
 	sigaction(SIGHUP, $newaction, $oldaction);
-	ok(!$bad, "no warnings");
+	is($bad, undef, "no warnings");
 }
 
-ok($oldaction->{HANDLER} eq 'DEFAULT' ||
-   $oldaction->{HANDLER} eq 'IGNORE', $oldaction->{HANDLER});
+like($oldaction->{HANDLER}, qr/\A(?:DEFAULT|IGNORE)\z/, '$oldaction->{HANDLER}');
 
 is($SIG{HUP}, '::foo');
 
@@ -59,19 +58,19 @@
 $newaction=POSIX::SigAction->new('IGNORE');
 sigaction(SIGHUP, $newaction);
 kill 'HUP', $$;
-ok(!$bad, "SIGHUP ignored");
+is($bad, undef, "SIGHUP ignored");
 
 is($SIG{HUP}, 'IGNORE');
 sigaction(SIGHUP, POSIX::SigAction->new('DEFAULT'));
 is($SIG{HUP}, 'DEFAULT');
 
-$newaction=POSIX::SigAction->new(sub { $ok10=1; });
+$newaction=POSIX::SigAction->new(sub { ++$ok10; });
 sigaction(SIGHUP, $newaction);
 {
 	local($^W)=0;
 	kill 'HUP', $$;
 }
-ok($ok10, "SIGHUP handler called");
+is($ok10, 1, "SIGHUP handler called");
 
 is(ref($SIG{HUP}), 'CODE');
 
@@ -83,13 +82,14 @@
 	sigaction(SIGINT, $act);
 };
 kill 'HUP', $$;
-ok($ok, "signal mask gets restored after croak");
+is($ok, 1, "signal mask gets restored after croak");
 
 undef $ok;
 # Make sure the signal mask gets restored after sigaction returns early.
 my $x=defined sigaction(SIGKILL, $newaction, $oldaction);
 kill 'HUP', $$;
-ok(!$x && $ok, "signal mask gets restored after early return");
+is($x, '', "signal mask gets restored after early return");
+is($ok, 1, "signal mask gets restored after early return");
 
 $SIG{HUP}=sub {};
 sigaction(SIGHUP, $newaction, $oldaction);
@@ -98,22 +98,23 @@
 eval {
 	sigaction(SIGHUP, undef, $oldaction);
 };
-ok(!$@, "undef for new action");
+is($@, '', "undef for new action");
 
 eval {
 	sigaction(SIGHUP, 0, $oldaction);
 };
-ok(!$@, "zero for new action");
+is($@, '', "zero for new action");
 
 eval {
 	sigaction(SIGHUP, bless({},'Class'), $oldaction);
 };
-ok($@, "any object not good as new action");
+like($@, qr/\Aaction is not of type POSIX::SigAction/,
+     'any object not good as new action');
 
 SKIP: {
     skip("SIGCONT not trappable in $^O", 1)
 	if ($^O eq 'VMS');
-    $newaction=POSIX::SigAction->new(sub { $ok10=1; });
+    $newaction=POSIX::SigAction->new(sub { ++$ok10; });
     if (eval { SIGCONT; 1 }) {
 	sigaction(SIGCONT, POSIX::SigAction->new('DEFAULT'));
 	{
@@ -121,7 +122,7 @@
 	    kill 'CONT', $$;
 	}
     }
-    ok(!$bad18, "SIGCONT trappable");
+    is($bad18, undef, "SIGCONT trappable");
 }
 
 {
@@ -134,7 +135,7 @@
     sub hup21 { $hup21++ }
 
     sigaction("FOOBAR", $newaction);
-    ok(1, "no coredump, still alive");
+    pass("no coredump, still alive");
 
     $newaction = POSIX::SigAction->new("hup20");
     sigaction("SIGHUP", $newaction);
@@ -171,7 +172,7 @@
 # And safe signal delivery must work
 $ok = 0;
 kill 'HUP', $$;
-ok($ok, "safe signal delivery must work");
+is($ok, 1, "safe signal delivery must work");
 
 SKIP: {
     eval 'use POSIX qw(%SIGRT SIGRTMIN SIGRTMAX); scalar %SIGRT + SIGRTMIN() + SIGRTMAX()';
@@ -179,7 +180,7 @@
     || SIGRTMIN() < 0 || SIGRTMAX() < 0	# HP-UX 10.20 exports both as -1
     || SIGRTMIN() > $Config{sig_count}	# AIX 4.3.3 exports bogus 888 and 999
 	and skip("no SIGRT signals", 4);
-    ok(SIGRTMAX() > SIGRTMIN(), "SIGRTMAX > SIGRTMIN");
+    cmp_ok(SIGRTMAX(), '>', SIGRTMIN(), "SIGRTMAX > SIGRTMIN");
     is(scalar %SIGRT, SIGRTMAX() - SIGRTMIN() + 1, "scalar SIGRT");
     my $sigrtmin;
     my $h = sub { $sigrtmin = 1 };


Property changes on: vendor/perl/dist/ext/POSIX/t/sigaction.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/sysconf.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/sysconf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/sysconf.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,6 @@
 use strict;
 use File::Spec;
 use POSIX;
-use Scalar::Util qw(looks_like_number);
 
 sub check(@) {
     grep { eval "&$_;1" or $@!~/vendor has not defined POSIX macro/ } @_
@@ -34,10 +33,10 @@
     _SC_STREAM_MAX _SC_VERSION _SC_TZNAME_MAX
 );
 
-my $tests = 2 * 3 * @path_consts +
-            2 * 3 * @path_consts_terminal +
-            2 * 3 * @path_consts_fifo +
-                3 * @sys_consts;
+my $tests = 2 * 2 * @path_consts +
+            2 * 2 * @path_consts_terminal +
+            2 * 2 * @path_consts_fifo +
+                1 * @sys_consts;
 plan $tests 
      ? (tests => $tests) 
      : (skip_all => "No tests to run on this OS")
@@ -54,23 +53,30 @@
 my $TTY = "/dev/tty";
 
 sub _check_and_report {
-    my ($eval_status, $return_val, $description) = @_;
-    my $success = defined($return_val) || $! == 0;
-    is( $eval_status, '', $description );
-    SKIP: {
-	skip "terminal constants set errno on QNX", 1
-	    if $^O eq 'nto' and $description =~ $TTY;
-        ok( $success, "\tchecking that the returned value is defined (" 
-                        . (defined($return_val) ? "yes, it's $return_val)" : "it isn't)"
-                        . " or that errno is clear ("
-                        . (!($!+0) ? "it is)" : "it isn't, it's $!)"))
-                        );
+    my ($sub, $constant, $description) = @_;
+    $! = 0;
+    my $return_val = eval {$sub->(eval "$constant()")};
+    my $errno = $!; # Grab this before anything else changes it.
+    is($@, '', $description);
+
+    # We can't test sysconf further without investigating the type of argument
+    # provided
+    return if $description =~ /sysconf/;
+
+    if (defined $return_val) {
+	like($return_val, qr/\A(?:-?[1-9][0-9]*|0 but true)\z/,
+	     'the returned value should be a signed integer');
+    } else {
+      SKIP:
+	{
+	    # POSIX specifies EINVAL is returned if the f?pathconf()
+	    # isn't implemented for the specific path
+	    skip "$description not implemented for this path", 1
+		if $errno == EINVAL && $description =~ /pathconf/;
+	    cmp_ok($errno, '==', 0, 'errno should be 0 as before the call')
+		or diag("\$!: $errno");
+	}
     }
-    SKIP: {
-        skip "constant not implemented on $^O or no limit in effect", 1 
-            if !defined($return_val);
-        ok( looks_like_number($return_val), "\tchecking that the returned value looks like a number" );
-    }
 }
 
 # testing fpathconf() on a non-terminal file
@@ -77,12 +83,11 @@
 SKIP: {
     my $fd = POSIX::open($testdir, O_RDONLY)
         or skip "could not open test directory '$testdir' ($!)",
-	  3 * @path_consts;
+	  2 * @path_consts;
 
     for my $constant (@path_consts) {
-	    $! = 0;
-            $r = eval { fpathconf( $fd, eval "$constant()" ) };
-            _check_and_report( $@, $r, "calling fpathconf($fd, $constant) " );
+	_check_and_report(sub { fpathconf($fd, shift) }, $constant,
+			  "calling fpathconf($fd, $constant)");
     }
     
     POSIX::close($fd);
@@ -90,13 +95,12 @@
 
 # testing pathconf() on a non-terminal file
 for my $constant (@path_consts) {
-	$! = 0;
-        $r = eval { pathconf( $testdir, eval "$constant()" ) };
-        _check_and_report( $@, $r, qq[calling pathconf("$testdir", $constant)] );
+    _check_and_report(sub { pathconf($testdir, shift) }, $constant,
+		      "calling pathconf('$testdir', $constant)");
 }
 
 SKIP: {
-    my $n = 2 * 3 * @path_consts_terminal;
+    my $n = 2 * 2 * @path_consts_terminal;
 
     -c $TTY
 	or skip("$TTY not a character file", $n);
@@ -109,17 +113,15 @@
 
     # testing fpathconf() on a terminal file
     for my $constant (@path_consts_terminal) {
-	$! = 0;
-	$r = eval { fpathconf( $fd, eval "$constant()" ) };
-	_check_and_report( $@, $r, qq[calling fpathconf($fd, $constant) ($TTY)] );
+	_check_and_report(sub { fpathconf($fd, shift) }, $constant,
+			  "calling fpathconf($fd, $constant) ($TTY)");
     }
     
     close($fd);
     # testing pathconf() on a terminal file
     for my $constant (@path_consts_terminal) {
-	$! = 0;
-	$r = eval { pathconf( $TTY, eval "$constant()" ) };
-	_check_and_report( $@, $r, qq[calling pathconf($TTY, $constant)] );
+	_check_and_report(sub { pathconf($TTY, shift) }, $constant,
+			  "calling pathconf($TTY, $constant)");
     }
 }
 
@@ -127,16 +129,15 @@
 
 SKIP: {
     eval { mkfifo($fifo, 0666) }
-	or skip("could not create fifo $fifo ($!)", 2 * 3 * @path_consts_fifo);
+	or skip("could not create fifo $fifo ($!)", 2 * 2 * @path_consts_fifo);
 
   SKIP: {
-      my $fd = POSIX::open($fifo, O_RDWR)
-	  or skip("could not open $fifo ($!)", 3 * @path_consts_fifo);
+      my $fd = POSIX::open($fifo, O_RDONLY | O_NONBLOCK)
+	  or skip("could not open $fifo ($!)", 2 * @path_consts_fifo);
 
       for my $constant (@path_consts_fifo) {
-	  $! = 0;
-	  $r = eval { fpathconf( $fd, eval "$constant()" ) };
-	  _check_and_report( $@, $r, "calling fpathconf($fd, $constant) ($fifo)" );
+	  _check_and_report(sub { fpathconf($fd, shift) }, $constant,
+			    "calling fpathconf($fd, $constant) ($fifo)");
       }
     
       POSIX::close($fd);
@@ -144,9 +145,8 @@
 
   # testing pathconf() on a fifo file
   for my $constant (@path_consts_fifo) {
-      $! = 0;
-      $r = eval { pathconf( $fifo, eval "$constant()" ) };
-      _check_and_report( $@, $r, qq[calling pathconf($fifo, $constant)] );
+      _check_and_report(sub { pathconf($fifo, shift) }, $constant,
+			"calling pathconf($fifo, $constant");
   }
 }
 
@@ -157,14 +157,12 @@
 SKIP: {
     if($^O eq 'cygwin') {
         pop @sys_consts;
-        skip("No _SC_TZNAME_MAX on Cygwin", 3);
+        skip("No _SC_TZNAME_MAX on Cygwin", 1);
     }
         
 }
 # testing sysconf()
 for my $constant (@sys_consts) {
-	$! = 0;
-	$r = eval { sysconf( eval "$constant()" ) };
-	_check_and_report( $@, $r, "calling sysconf($constant)" );
+    _check_and_report(sub {sysconf(shift)}, $constant,
+		      "calling sysconf($constant)");
 }
-


Property changes on: vendor/perl/dist/ext/POSIX/t/sysconf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/taint.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,10 +8,17 @@
     }
 }
 
-use Test::More tests => 7;
+use Test::More;
+BEGIN {
+    plan(
+        ${^TAINT}
+        ? (tests => 7)
+        : (skip_all => "A perl without taint support")
+    );
+}
+
 use Scalar::Util qw/tainted/;
 
-
 use POSIX qw(fcntl_h open read mkfifo);
 use strict ;
 


Property changes on: vendor/perl/dist/ext/POSIX/t/taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/termios.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/termios.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/termios.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,66 +1,179 @@
-#!perl -T
+#!perl -Tw
 
-BEGIN {
-    use Config;
-    use Test::More;
-    plan skip_all => "POSIX is unavailable" 
-        if $Config{'extensions'} !~ m!\bPOSIX\b!;
-}
 use strict;
-use POSIX;
+use Config;
+use Test::More;
+
 BEGIN {
-    plan skip_all => "POSIX::Termios not implemented" 
-        if  !eval "POSIX::Termios->new;1"
-        and $@=~/not implemented/;
+    plan skip_all => "POSIX is unavailable"
+	if $Config{extensions} !~ m!\bPOSIX\b!;
 }
 
+use POSIX ':termios_h';
 
-my @getters = qw(getcflag getiflag getispeed getlflag getoflag getospeed);
+plan skip_all => $@
+    if !eval "POSIX::Termios->new; 1" && $@ =~ /termios not implemented/;
 
-plan tests => 3 + 2 * (3 + NCCS() + @getters);
 
-my $r;
+# A termios struct that we've successfully read from a terminal device:
+my $termios;
 
-# create a new object
-my $termios = eval { POSIX::Termios->new };
-is( $@, '', "calling POSIX::Termios->new" );
-ok( defined $termios, "\tchecking if the object is defined" );
-isa_ok( $termios, "POSIX::Termios", "\tchecking the type of the object" );
+foreach (undef, qw(STDIN STDOUT STDERR)) {
+ SKIP:
+    {
+	my ($name, $handle);
+	if (defined $_) {
+	    $name = $_;
+	    $handle = $::{$name};
+	} else {
+	    $name = POSIX::ctermid();
+	    skip("Can't get name of controlling terminal", 4)
+		unless defined $name;
+	    open $handle, '<', $name or skip("can't open $name: $!", 4);
+	}
 
-# testing getattr()
+	skip("$name not a tty", 4) unless -t $handle;
 
-SKIP: {
-    -t STDIN or skip("STDIN not a tty", 2);
-    $r = eval { $termios->getattr(0) };
-    is( $@, '', "calling getattr(0)" );
-    ok( defined $r, "\tchecking if the returned value is defined: $r" );
-}
+	my $t = eval { POSIX::Termios->new };
+	is($@, '', "calling POSIX::Termios->new");
+	isa_ok($t, "POSIX::Termios", "checking the type of the object");
 
-SKIP: {
-    -t STDOUT or skip("STDOUT not a tty", 2);
-    $r = eval { $termios->getattr(1) };
-    is( $@, '', "calling getattr(1)" );
-    ok( defined $r, "\tchecking if the returned value is defined: $r" );
+	my $fileno = fileno $handle;
+	my $r = eval { $t->getattr($fileno) };
+	is($@, '', "calling getattr($fileno) for $name");
+	if(isnt($r, undef, "returned value ($r) is defined")) {
+	    $termios = $t;
+	}
+    }
 }
 
-SKIP: {
-    -t STDERR or skip("STDERR not a tty", 2);
-    $r = eval { $termios->getattr(2) };
-    is( $@, '', "calling getattr(2)" );
-    ok( defined $r, "\tchecking if the returned value is defined: $r" );
-}
+open my $not_a_tty, '<', $^X or die "Can't open $^X: $!";
 
-# testing getcc()
-for my $i (0..NCCS()-1) {
-    $r = eval { $termios->getcc($i) };
-    is( $@, '', "calling getcc($i)" );
-    ok( defined $r, "\tchecking if the returned value is defined: $r" );
+if (defined $termios) {
+    # testing getcc()
+    for my $i (0 .. NCCS-1) {
+	my $r = eval { $termios->getcc($i) };
+	is($@, '', "calling getcc($i)");
+	like($r, qr/\A-?[0-9]+\z/, 'returns an integer');
+    }
+    for my $i (NCCS, ~0) {
+	my $r = eval { $termios->getcc($i) };
+	like($@, qr/\ABad getcc subscript/, "calling getcc($i)");
+	is($r, undef, 'returns undef')
+    }
+
+    for my $method (qw(getcflag getiflag getispeed getlflag getoflag getospeed)) {
+	my $r = eval { $termios->$method() };
+	is($@, '', "calling $method()");
+	like($r, qr/\A-?[0-9]+\z/, 'returns an integer');
+    }
+
+    $! = 0;
+    is($termios->setattr(fileno $not_a_tty), undef,
+       'setattr on a non tty should fail');
+    cmp_ok($!, '==', POSIX::ENOTTY, 'and set errno to ENOTTY');
+
+    $! = 0;
+    is($termios->setattr(fileno $not_a_tty, TCSANOW), undef,
+       'setattr on a non tty should fail');
+    cmp_ok($!, '==', POSIX::ENOTTY, 'and set errno to ENOTTY');
 }
 
-# testing getcflag()
-for my $method (@getters) {
-    $r = eval { $termios->$method() };
-    is( $@, '', "calling $method()" );
-    ok( defined $r, "\tchecking if the returned value is defined: $r" );
+{
+    my $t = POSIX::Termios->new();
+    isa_ok($t, "POSIX::Termios", "checking the type of the object");
+
+    # B0 is special
+    my @baud = (B50, B75, B110, B134, B150, B200, B300, B600, B1200, B1800,
+		B2400, B4800, B9600, B19200, B38400);
+
+    # On some platforms (eg Linux-that-I-tested), ispeed and ospeed are both
+    # "stored" in the same bits of c_cflag (as the man page documents)
+    # *as well as in struct members* (which you would assume obviates the need
+    # for using c_cflag), and the get*() functions return the value encoded
+    # within c_cflag, hence it's not possible to set/get them independently.
+    foreach my $out (@baud) {
+	is($t->setispeed(0), '0 but true', "setispeed(0)");
+	is($t->setospeed($out), '0 but true', "setospeed($out)");
+	is($t->getospeed(), $out, "getospeed() for $out");
+    }
+    foreach my $in (@baud) {
+	is($t->setospeed(0), '0 but true', "setospeed(0)");
+	is($t->setispeed($in), '0 but true', "setispeed($in)");
+	is($t->getispeed(), $in, "getispeed() for $in");
+    }
+
+    my %state;
+    my @flags = qw(iflag oflag cflag lflag);
+    # I'd prefer to use real values per flag, but can only find OPOST in
+    # POSIX.pm for oflag
+    my @values = (0, 6, 9, 42);
+
+    # initialise everything
+    foreach (@flags) {
+	my $method = 'set' . $_;
+	$t->$method(0);
+	$state{$_} = 0;
+    }
+
+    sub testflags {
+	my ($flag, $values, @rest) = @_;
+	$! = 0;
+	my $method = 'set' . $flag;
+	foreach (@$values) {
+	    $t->$method($_);
+	    $state{$flag} = $_;
+
+	    my $state = join ', ', map {"$_=$state{$_}"} keys %state;
+	    while (my ($flag, $expect) = each %state) {
+		my $method = 'get' . $flag;
+		is($t->$method(), $expect, "$method() for $state");
+	    }
+
+	    testflags(@rest) if @rest;
+	}
+    }
+
+    testflags(map {($_, \@values)} @flags);
+
+    for my $i (0 .. NCCS-1) {
+	$t->setcc($i, 0);
+    }
+    for my $i (0 .. NCCS-1) {
+	is($t->getcc($i), 0, "getcc($i)");
+    }
+    my $c = 0;
+    for my $i (0 .. NCCS-1) {
+	$t->setcc($i, ++$c);
+    }
+    for my $i (reverse 0 .. NCCS-1) {
+	is($t->getcc($i), $c--, "getcc($i)");
+    }
+    for my $i (reverse 0 .. NCCS-1) {
+	$t->setcc($i, ++$c);
+    }
+    for my $i (0 .. NCCS-1) {
+	is($t->getcc($i), $c--, "getcc($i)");
+    }
+
 }
 
+$! = 0;
+is(tcdrain(fileno $not_a_tty), undef, 'tcdrain on a non tty should fail');
+cmp_ok($!, '==', POSIX::ENOTTY, 'and set errno to ENOTTY');
+
+$! = 0;
+is(tcflow(fileno $not_a_tty, TCOON), undef, 'tcflow on a non tty should fail');
+cmp_ok($!, '==', POSIX::ENOTTY, 'and set errno to ENOTTY');
+
+$! = 0;
+is(tcflush(fileno $not_a_tty, TCOFLUSH), undef,
+   'tcflush on a non tty should fail');
+cmp_ok($!, '==', POSIX::ENOTTY, 'and set errno to ENOTTY');
+
+$! = 0;
+is(tcsendbreak(fileno $not_a_tty, 0), undef,
+   'tcsendbreak on a non tty should fail');
+cmp_ok($!, '==', POSIX::ENOTTY, 'and set errno to ENOTTY');
+
+done_testing();


Property changes on: vendor/perl/dist/ext/POSIX/t/termios.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/time.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/time.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/time.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 use Config;
 use POSIX;
-use Test::More tests => 13;
+use Test::More tests => 19;
 
 # go to UTC to avoid DST issues around the world when testing.  SUS3 says that
 # null should get you UTC, but some environments want the explicit names.
@@ -39,21 +39,33 @@
 # asctime and ctime...Let's stay below INT_MAX for 32-bits and
 # positive for some picky systems.
 
-is(asctime(localtime(0)), ctime(0), "asctime() and ctime() at zero");
-is(asctime(localtime(12345678)), ctime(12345678), "asctime() and ctime() at 12345678");
+is(asctime(CORE::localtime(0)), ctime(0), "asctime() and ctime() at zero");
+is(asctime(POSIX::localtime(0)), ctime(0), "asctime() and ctime() at zero");
+is(asctime(CORE::localtime(12345678)), ctime(12345678),
+   "asctime() and ctime() at 12345678");
+is(asctime(POSIX::localtime(12345678)), ctime(12345678),
+   "asctime() and ctime() at 12345678");
 
 # Careful!  strftime() is locale sensitive.  Let's take care of that
 my $orig_loc = setlocale(LC_TIME, "C") || die "Cannot setlocale() to C:  $!";
 my $jan_16 = 15 * 86400;
-is(ctime($jan_16), strftime("%a %b %d %H:%M:%S %Y\n", localtime($jan_16)),
+is(ctime($jan_16), strftime("%a %b %d %H:%M:%S %Y\n", CORE::localtime($jan_16)),
         "get ctime() equal to strftime()");
-is(strftime("%Y\x{5e74}%m\x{6708}%d\x{65e5}", gmtime($jan_16)),
+is(ctime($jan_16), strftime("%a %b %d %H:%M:%S %Y\n", POSIX::localtime($jan_16)),
+        "get ctime() equal to strftime()");
+is(strftime("%Y\x{5e74}%m\x{6708}%d\x{65e5}", CORE::gmtime($jan_16)),
    "1970\x{5e74}01\x{6708}16\x{65e5}",
    "strftime() can handle unicode chars in the format string");
+is(strftime("%Y\x{5e74}%m\x{6708}%d\x{65e5}", POSIX::gmtime($jan_16)),
+   "1970\x{5e74}01\x{6708}16\x{65e5}",
+   "strftime() can handle unicode chars in the format string");
 
 my $ss = chr 223;
 unlike($ss, qr/\w/, 'Not internally UTF-8 encoded');
-is(ord strftime($ss, localtime), 223, 'Format string has correct character');
+is(ord strftime($ss, CORE::localtime), 223,
+   'Format string has correct character');
+is(ord strftime($ss, POSIX::localtime(time)),
+   223, 'Format string has correct character');
 unlike($ss, qr/\w/, 'Still not internally UTF-8 encoded');
 
 setlocale(LC_TIME, $orig_loc) || die "Cannot setlocale() back to orig: $!";
@@ -62,7 +74,7 @@
 # and BSD.  Cygwin, Win32, and Linux lean the BSD way.  So, the tests just
 # check the basics.
 like(clock(), qr/\d*/, "clock() returns a numeric value");
-ok(clock() >= 0, "...and it returns something >= 0");
+cmp_ok(clock(), '>=', 0, "...and it returns something >= 0");
 
 SKIP: {
     skip "No difftime()", 1 if $Config{d_difftime} ne 'define';
@@ -70,7 +82,8 @@
 }
 
 SKIP: {
-    skip "No mktime()", 1 if $Config{d_mktime} ne 'define';
+    skip "No mktime()", 2 if $Config{d_mktime} ne 'define';
     my $time = time();
-    is(mktime(localtime($time)), $time, "mktime()");
+    is(mktime(CORE::localtime($time)), $time, "mktime()");
+    is(mktime(POSIX::localtime($time)), $time, "mktime()");
 }


Property changes on: vendor/perl/dist/ext/POSIX/t/time.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/t/waitpid.t
===================================================================
--- vendor/perl/dist/ext/POSIX/t/waitpid.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/t/waitpid.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,7 +21,7 @@
 
 $| = 1;
 
-print "1..1\n";
+use Test::More tests => 3;
 
 sub NEG1_PROHIBITED () { 0x01 }
 sub NEG1_REQUIRED   () { 0x02 }
@@ -31,11 +31,12 @@
 my $state     = NEG1_PROHIBITED;
 
 my $child_pid = fork();
+fail("fork failed") unless defined $child_pid;
 
 # Parent receives a nonzero child PID.
 
 if ($child_pid) {
-    my $ok = 1;
+    my @problems;
 
     while ($count++ < $max_count) {   
 	my $begin_time = time();        
@@ -45,26 +46,28 @@
 	printf( "# waitpid(-1,WNOHANG) returned %d after %.2f seconds\n",
 		$ret, $elapsed_time );
 	if ($elapsed_time > 0.5) {
-	    printf( "# %.2f seconds in non-blocking waitpid is too long!\n",
-		    $elapsed_time );
-	    $ok = 0;
+	    push @problems,
+		sprintf "%.2f seconds in non-blocking waitpid is too long!\n",
+		    $elapsed_time;
 	    last;
 	}
 	
 	if ($state & NEG1_PROHIBITED) { 
 	    if ($ret == -1) {
-		print "# waitpid should not have returned -1 here!\n";
-		$ok = 0;
+		push @problems, "waitpid should not have returned -1 here!\n";
 		last;
 	    }
 	    elsif ($ret == $child_pid) {
 		$state = NEG1_REQUIRED;
+		is(WIFEXITED(${^CHILD_ERROR_NATIVE}), 1, 'child exited cleanly');
+		is(WEXITSTATUS(${^CHILD_ERROR_NATIVE}), 0,
+		   'child exited with 0 (the retun value of its sleep(3) call)');
+
 	    }
 	}
 	elsif ($state & NEG1_REQUIRED) {
 	    unless ($ret == -1) {
-		print "# waitpid should have returned -1 here\n";
-		$ok = 0;
+		push @problems, "waitpid should have returned -1 here!\n";
 	    }
 	    last;
 	}
@@ -71,13 +74,11 @@
 	
 	sleep(1);
     }
-    print $ok ? "ok 1\n" : "not ok 1\n";
-    exit(0); # parent 
+    is("@problems", "", 'no problems');
+    POSIX::exit(0); # parent
+    fail("Should have exited");
 } else {
     # Child receives a zero PID and can request parent's PID with
     # getppid().
-    sleep(3);
-    exit(0);
+    POSIX::_exit(POSIX::sleep(3));
 }
-
-


Property changes on: vendor/perl/dist/ext/POSIX/t/waitpid.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/POSIX/typemap
===================================================================
--- vendor/perl/dist/ext/POSIX/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/POSIX/typemap	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,6 +11,20 @@
 speed_t			T_IV
 tcflag_t		T_IV
 cc_t			T_IV
-POSIX::SigSet		T_PTROBJ
-POSIX::Termios		T_PTROBJ
+POSIX::SigSet		T_OPAQUEPTROBJ
+POSIX::Termios		T_OPAQUEPTROBJ
 POSIX::SigAction	T_HVREF
+
+INPUT
+T_OPAQUEPTROBJ
+	if (SvROK($arg) && sv_derived_from($arg, \"${ntype}\")) {
+	    $var = ($type)SvPV_nolen(SvRV($arg));
+	}
+	else
+	    Perl_croak(aTHX_ \"%s: %s is not of type %s\",
+			${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+			\"$var\", \"$ntype\")
+
+OUTPUT
+T_OPAQUEPTROBJ
+	sv_setref_pvn($arg, \"${ntype}\", (const char*)$var, sizeof(*$var));


Property changes on: vendor/perl/dist/ext/POSIX/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/encoding/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/PerlIO/encoding/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/encoding/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/encoding/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/encoding/encoding.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO/encoding/encoding.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/encoding/encoding.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/encoding/encoding.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/encoding/encoding.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO/encoding/encoding.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/encoding/encoding.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/encoding/encoding.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/encoding/t/nolooping.t
===================================================================
--- vendor/perl/dist/ext/PerlIO/encoding/t/nolooping.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/encoding/t/nolooping.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/encoding/t/nolooping.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/scalar/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/PerlIO/scalar/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/scalar/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/scalar/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/scalar/scalar.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO/scalar/scalar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/scalar/scalar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/scalar/scalar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/scalar/scalar.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO/scalar/scalar.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/scalar/scalar.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/scalar/scalar.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/t/PerlIO.t
===================================================================
--- vendor/perl/dist/ext/PerlIO/t/PerlIO.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/t/PerlIO.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/t/PerlIO.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/t/encoding.t
===================================================================
--- vendor/perl/dist/ext/PerlIO/t/encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/t/encoding.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/t/encoding.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/t/fail.t
===================================================================
--- vendor/perl/dist/ext/PerlIO/t/fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/t/fail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/t/fail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/t/fallback.t
===================================================================
--- vendor/perl/dist/ext/PerlIO/t/fallback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/t/fallback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/t/fallback.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/t/open.t
===================================================================
--- vendor/perl/dist/ext/PerlIO/t/open.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/t/open.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/t/open.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/t/scalar.t
===================================================================
--- vendor/perl/dist/ext/PerlIO/t/scalar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/t/scalar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/t/scalar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/t/via.t
===================================================================
--- vendor/perl/dist/ext/PerlIO/t/via.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/t/via.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/t/via.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/via/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/PerlIO/via/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/via/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/via/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/via/hints/aix.pl
===================================================================
--- vendor/perl/dist/ext/PerlIO/via/hints/aix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/via/hints/aix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/via/hints/aix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/via/via.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO/via/via.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/via/via.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/via/via.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO/via/via.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO/via/via.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO/via/via.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO/via/via.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO-encoding/MANIFEST
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-encoding/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO-encoding/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/PerlIO-encoding/encoding.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/encoding.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-encoding/encoding.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package PerlIO::encoding;
 
 use strict;
-our $VERSION = '0.14';
+our $VERSION = '0.16';
 our $DEBUG = 0;
 $DEBUG and warn __PACKAGE__, " called by ", join(", ", caller), "\n";
 


Property changes on: vendor/perl/dist/ext/PerlIO-encoding/encoding.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/PerlIO-encoding/encoding.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/encoding.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-encoding/encoding.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -341,6 +341,8 @@
 	SPAGAIN;
 	uni = POPs;
 	PUTBACK;
+	/* No cows allowed. */
+	if (SvTHINKFIRST(e->dataSV)) SvPV_force_nolen(e->dataSV);
 	/* Now get translated string (forced to UTF-8) and use as buffer */
 	if (SvPOK(uni)) {
 	    s = SvPVutf8(uni, len);
@@ -365,6 +367,7 @@
 	    /* Adjust ptr/cnt not taking anything which
 	       did not translate - not clear this is a win */
 	    /* compute amount we took */
+	    if (!SvPOKp(e->dataSV)) (void)SvPV_force_nolen(e->dataSV);
 	    use -= SvCUR(e->dataSV);
 	    PerlIO_set_ptrcnt(n, ptr+use, (avail-use));
 	    /* and as we did not take it it isn't pending */
@@ -440,6 +443,14 @@
 	    if (PerlIO_flush(PerlIONext(f)) != 0) {
 		code = -1;
 	    }
+	    if (!SvPOKp(e->bufsv) || SvTHINKFIRST(e->bufsv))
+		(void)SvPV_force_nolen(e->bufsv);
+	    if ((STDCHAR *)SvPVX(e->bufsv) != e->base.buf) {
+		e->base.ptr = SvEND(e->bufsv);
+		e->base.end = SvPVX(e->bufsv) + (e->base.end-e->base.buf);
+		e->base.buf = (STDCHAR *)SvPVX(e->bufsv);
+	    }
+	    (void)PerlIOEncode_get_base(aTHX_ f);
 	    if (SvCUR(e->bufsv)) {
 		/* Did not all translate */
 		e->base.ptr = e->base.buf+SvCUR(e->bufsv);
@@ -538,8 +549,8 @@
 PerlIOEncode_tell(pTHX_ PerlIO * f)
 {
     PerlIOBuf *b = PerlIOSelf(f, PerlIOBuf);
-    /* Unfortunately the only way to get a postion is to (re-)translate,
-       the UTF8 we have in bufefr and then ask layer below
+    /* Unfortunately the only way to get a position is to (re-)translate,
+       the UTF8 we have in buffer and then ask layer below
      */
     PerlIO_flush(f);
     if (b->buf && b->ptr > b->buf) {


Property changes on: vendor/perl/dist/ext/PerlIO-encoding/encoding.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
     }
 }
 
-use Test::More tests => 18;
+use Test::More tests => 24;
 
 my $grk = "grk$$";
 my $utf = "utf$$";
@@ -124,6 +124,112 @@
     is($dstr, "foo\\xF0\\x80\\x80\\x80bar\n:\\x80foo\n");
 }
 
+# Check that PerlIO::encoding can handle custom encodings that do funny
+# things with the buffer.
+use Encode::Encoding;
+package Extensive {
+ @ISA = Encode::Encoding;
+ __PACKAGE__->Define('extensive');
+ sub encode($$;$) {
+  my ($self,$buf,$chk) = @_;
+  my $leftovers = '';
+  if ($buf =~ /(.*\n)(?!\z)/) {
+    $buf = $1;
+    $leftovers = $';
+  }
+  if ($chk) {
+   undef $_[1];
+   my @x = (' ') x 8000; # reuse the just-freed buffer
+   $_[1] = $leftovers;   # SvPVX now points elsewhere and is shorter
+  }                      # than bufsiz
+  $buf;
+ }
+ no warnings 'once'; 
+ *decode = *encode;
+}
+open my $fh, ">:encoding(extensive)", \$buf;
+$fh->autoflush;
+print $fh "doughnut\n";
+print $fh "quaffee\n";
+# Print something longer than the buffer that encode() shrunk:
+print $fh "The beech leaves beech leaves on the beach by the beech.\n";
+close $fh;
+is $buf, "doughnut\nquaffee\nThe beech leaves beech leaves on the beach by"
+        ." the beech.\n", 'buffer realloc during encoding';
+$buf = "Sheila surely shod Sean\nin shoddy shoes.\n";
+open $fh, "<:encoding(extensive)", \$buf;
+is join("", <$fh>), "Sheila surely shod Sean\nin shoddy shoes.\n",
+   'buffer realloc during decoding';
+
+package Cower {
+ @ISA = Encode::Encoding;
+ __PACKAGE__->Define('cower');
+ sub encode($$;$) {
+  my ($self,$buf,$chk) = @_;
+  my $leftovers = '';
+  if ($buf =~ /(.*\n)(?!\z)/) {
+    $buf = $1;
+    $leftovers = $';
+  }
+  if ($chk) {
+   no warnings; # stupid @_[1] warning
+   @_[1] = keys %{{$leftovers=>1}}; # shared hash key (copy-on-write)
+  }
+  $buf;
+ }
+ no warnings 'once'; 
+ *decode = *encode;
+}
+open $fh, ">:encoding(cower)", \$buf;
+$fh->autoflush;
+print $fh $_ for qw "pumping plum pits";
+close $fh;
+is $buf, "pumpingplumpits", 'cowing buffer during encoding';
+$buf = "pumping\nplum\npits\n";
+open $fh, "<:encoding(cower)", \$buf;
+is join("", <$fh>), "pumping\nplum\npits\n",
+  'cowing buffer during decoding';
+
+package Globber {
+ no warnings 'once';
+ @ISA = Encode::Encoding;
+ __PACKAGE__->Define('globber');
+ sub encode($$;$) {
+  my ($self,$buf,$chk) = @_;
+  $_[1] = *foo if $chk;
+  $buf;
+ }
+ *decode = *encode;
+}
+
+# Here we just want to test there is no crash.  The actual output is not so
+# important.
+# We need a double eval, as scope unwinding will close the handle,
+# which croaks.
+# Under debugging builds with PERL_DESTRUCT_LEVEL set, we have to skip this
+# test, as it triggers bug #115692, resulting in string table warnings.
+require Config;
+SKIP: {
+skip "produces string table warnings", 2
+  if "@{[Config::non_bincompat_options()]}" =~ /\bDEBUGGING\b/
+   && $ENV{PERL_DESTRUCT_LEVEL};
+
+eval { eval {
+    open my $fh, ">:encoding(globber)", \$buf;
+    print $fh "Agathopous Goodfoot\n";
+    close $fh;
+}; $e = $@};
+like $@||$e, qr/Close with partial character/,
+     'no crash when assigning glob to buffer in encode';
+$buf = "To hymn him who heard her herd herd\n";
+open $fh, "<:encoding(globber)", \$buf;
+my $x = <$fh>;
+close $fh;
+is $x, "To hymn him who heard her herd herd\n",
+     'no crash when assigning glob to buffer in decode';
+
+} # SKIP
+
 END {
     1 while unlink($grk, $utf, $fail1, $fail2, $russki, $threebyte);
 }


Property changes on: vendor/perl/dist/ext/PerlIO-encoding/t/encoding.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO-encoding/t/fallback.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/t/fallback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-encoding/t/fallback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO-encoding/t/fallback.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO-encoding/t/nolooping.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-encoding/t/nolooping.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-encoding/t/nolooping.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO-encoding/t/nolooping.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/PerlIO-scalar/scalar.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO-scalar/scalar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-scalar/scalar.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 package PerlIO::scalar;
-our $VERSION = '0.11_01';
+our $VERSION = '0.16';
 require XSLoader;
 XSLoader::load();
 1;


Property changes on: vendor/perl/dist/ext/PerlIO-scalar/scalar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/PerlIO-scalar/scalar.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO-scalar/scalar.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-scalar/scalar.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,9 @@
 
 #include "perliol.h"
 
+static const char code_point_warning[] =
+ "Strings with code points over 0xFF may not be mapped into in-memory file handles\n";
+
 typedef struct {
     struct _PerlIO base;	/* Base "class" info */
     SV *var;
@@ -52,6 +55,14 @@
 	sv_force_normal(s->var);
 	SvCUR_set(s->var, 0);
     }
+    if (SvUTF8(s->var) && !sv_utf8_downgrade(s->var, TRUE)) {
+	if (ckWARN(WARN_UTF8))
+	    Perl_warner(aTHX_ packWARN(WARN_UTF8), code_point_warning);
+	SETERRNO(EINVAL, SS_IVCHAN);
+	SvREFCNT_dec(s->var);
+	s->var = Nullsv;
+	return -1;
+    }
     if ((PerlIOBase(f)->flags) & PERLIO_F_APPEND)
     {
 	sv_force_normal(s->var);
@@ -93,12 +104,7 @@
 PerlIOScalar_seek(pTHX_ PerlIO * f, Off_t offset, int whence)
 {
     PerlIOScalar *s = PerlIOSelf(f, PerlIOScalar);
-    STRLEN oldcur;
-    STRLEN newlen;
 
-    SvGETMAGIC(s->var);
-    oldcur = SvCUR(s->var);
-
     switch (whence) {
     case SEEK_SET:
 	s->posn = offset;
@@ -107,8 +113,12 @@
 	s->posn = offset + s->posn;
 	break;
     case SEEK_END:
-	s->posn = offset + SvCUR(s->var);
+      {
+	STRLEN oldcur;
+	(void)SvPV(s->var, oldcur);
+	s->posn = offset + oldcur;
 	break;
+      }
     }
     if (s->posn < 0) {
         if (ckWARN(WARN_LAYER))
@@ -116,17 +126,6 @@
 	SETERRNO(EINVAL, SS_IVCHAN);
 	return -1;
     }
-    newlen = (STRLEN) s->posn;
-    if (newlen > oldcur) {
-	(void) SvGROW(s->var, newlen);
-	Zero(SvPVX(s->var) + oldcur, newlen - oldcur, char);
-	/* No SvCUR_set(), though.  This is just a seek, not a write. */
-    }
-    else if (!SvPVX(s->var)) {
-	/* ensure there's always a character buffer */
-	(void)SvGROW(s->var,1);
-    }
-    SvPOK_on(s->var);
     return 0;
 }
 
@@ -155,6 +154,17 @@
 	STRLEN len;
 	I32 got;
 	p = SvPV(sv, len);
+	if (SvUTF8(sv)) {
+	    if (sv_utf8_downgrade(sv, TRUE)) {
+	        p = SvPV_nomg(sv, len);
+	    }
+	    else {
+	        if (ckWARN(WARN_UTF8))
+		    Perl_warner(aTHX_ packWARN(WARN_UTF8), code_point_warning);
+	        SETERRNO(EINVAL, SS_IVCHAN);
+	        return -1;
+	    }
+	}
 	got = len - (STRLEN)(s->posn);
 	if (got <= 0)
 	    return 0;
@@ -175,15 +185,27 @@
 	SV *sv = s->var;
 	char *dst;
 	SvGETMAGIC(sv);
-	sv_force_normal(sv);
+	if (!SvROK(sv)) sv_force_normal(sv);
+	if (SvOK(sv)) SvPV_force_nomg_nolen(sv);
+	if (SvUTF8(sv) && !sv_utf8_downgrade(sv, TRUE)) {
+	    if (ckWARN(WARN_UTF8))
+	        Perl_warner(aTHX_ packWARN(WARN_UTF8), code_point_warning);
+	    SETERRNO(EINVAL, SS_IVCHAN);
+	    return 0;
+	}
 	if ((PerlIOBase(f)->flags) & PERLIO_F_APPEND) {
-	    dst = SvGROW(sv, SvCUR(sv) + count);
+	    dst = SvGROW(sv, SvCUR(sv) + count + 1);
 	    offset = SvCUR(sv);
 	    s->posn = offset + count;
 	}
 	else {
-	    if ((s->posn + count) > SvCUR(sv))
-		dst = SvGROW(sv, (STRLEN)s->posn + count);
+	    STRLEN const cur = SvCUR(sv);
+	    if (s->posn > cur) {
+		dst = SvGROW(sv, (STRLEN)s->posn + count + 1);
+		Zero(SvPVX(sv) + cur, (STRLEN)s->posn - cur, char);
+	    }
+	    else if ((s->posn + count) >= cur)
+		dst = SvGROW(sv, (STRLEN)s->posn + count + 1);
 	    else
 		dst = SvPVX(sv);
 	    offset = s->posn;
@@ -190,8 +212,10 @@
 	    s->posn += count;
 	}
 	Move(vbuf, dst + offset, count, char);
-	if ((STRLEN) s->posn > SvCUR(sv))
+	if ((STRLEN) s->posn > SvCUR(sv)) {
 	    SvCUR_set(sv, (STRLEN)s->posn);
+	    dst[(STRLEN) s->posn] = 0;
+	}
 	SvPOK_on(sv);
 	SvSETMAGIC(sv);
 	return count;
@@ -240,9 +264,13 @@
 {
     if (PerlIOBase(f)->flags & PERLIO_F_CANREAD) {
 	PerlIOScalar *s = PerlIOSelf(f, PerlIOScalar);
+	STRLEN len;
 	SvGETMAGIC(s->var);
-	if (SvCUR(s->var) > (STRLEN) s->posn)
-	    return SvCUR(s->var) - (STRLEN)s->posn;
+	if (isGV_with_GP(s->var))
+	    (void)SvPV(s->var,len);
+	else len = SvCUR(s->var);
+	if (len > (STRLEN) s->posn)
+	    return len - (STRLEN)s->posn;
 	else
 	    return 0;
     }
@@ -264,9 +292,12 @@
 PerlIOScalar_set_ptrcnt(pTHX_ PerlIO * f, STDCHAR * ptr, SSize_t cnt)
 {
     PerlIOScalar *s = PerlIOSelf(f, PerlIOScalar);
+    STRLEN len;
     PERL_UNUSED_ARG(ptr);
     SvGETMAGIC(s->var);
-    s->posn = SvCUR(s->var) - cnt;
+    if (isGV_with_GP(s->var)) (void)SvPV(s->var,len);
+    else len = SvCUR(s->var);
+    s->posn = len - cnt;
 }
 
 PerlIO *
@@ -311,10 +342,24 @@
 PerlIOScalar_dup(pTHX_ PerlIO * f, PerlIO * o, CLONE_PARAMS * param,
 		 int flags)
 {
+    /* Duplication causes the scalar layer to be pushed on to clone, caus-
+       ing the cloned scalar to be set to the empty string by
+       PerlIOScalar_pushed.  So set aside our scalar temporarily. */
+    PerlIOScalar * const os = PerlIOSelf(o, PerlIOScalar);
+    PerlIOScalar *fs;
+    SV * const var = os->var;
+    os->var = newSVpvs("");
     if ((f = PerlIOBase_dup(aTHX_ f, o, param, flags))) {
-	PerlIOScalar *fs = PerlIOSelf(f, PerlIOScalar);
-	PerlIOScalar *os = PerlIOSelf(o, PerlIOScalar);
-	/* var has been set by implicit push */
+	fs = PerlIOSelf(f, PerlIOScalar);
+	/* var has been set by implicit push, so replace it */
+	SvREFCNT_dec(fs->var);
+    }
+    SvREFCNT_dec(os->var);
+    os->var = var;
+    if (f) {
+	SV * const rv = PerlIOScalar_arg(aTHX_ o, param, flags);
+	fs->var = SvREFCNT_inc(SvRV(rv));
+	SvREFCNT_dec(rv);
 	fs->posn = os->posn;
     }
     return f;


Property changes on: vendor/perl/dist/ext/PerlIO-scalar/scalar.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 
 $| = 1;
 
-use Test::More tests => 71;
+use Test::More tests => 108;
 
 my $fh;
 my $var = "aaa\n";
@@ -255,7 +255,7 @@
     print($fh 'DEF');
     $s .= ':P';
     ok(close($fh), 'close tied scalar - write');
-    is($s, ':F:S():O:F:S(ABC):P:F:SK:F:S(DEF):P', 'tied actions - write');
+    is($s, ':F:S():O:F:S(ABC):P:SK:F:S(DEF):P', 'tied actions - write');
     is($x, 'DEF', 'new value preserved');
 
     $x = 'GHI';
@@ -285,10 +285,180 @@
      'seek beyond end end of string followed by read';
 }
 
-# Writing to COW scalars
+# Writing to COW scalars and non-PVs
 {
     my $bovid = __PACKAGE__;
     open my $handel, ">", \$bovid;
     print $handel "the COW with the crumpled horn";
     is $bovid, "the COW with the crumpled horn", 'writing to COW scalars';
+
+    package lrcg { use overload fallback => 1, '""'=>sub { 'chin' } }
+    seek $handel, 3, 0;
+    $bovid = bless [], lrcg::;
+    print $handel 'mney';
+    is $bovid, 'chimney', 'writing to refs';
+
+    seek $handel, 1, 0;
+    $bovid = 42;  # still has a PV
+    print $handel 5;
+    is $bovid, 45, 'writing to numeric scalar';
+
+    seek $handel, 1, 0;
+    undef $bovid;
+    $bovid = 42;   # just IOK
+    print $handel 5;
+    is $bovid, 45, 'writing to numeric scalar';
 }
+
+# [perl #92706]
+{
+    open my $fh, "<", \(my $f=*f); seek $fh, 2,1;
+    pass 'seeking on a glob copy';
+    open my $fh, "<", \(my $f=*f); seek $fh, -2,2;
+    pass 'seeking on a glob copy from the end';
+}
+
+# [perl #108398]
+sub has_trailing_nul(\$) {
+    my ($ref) = @_;
+    my $sv = B::svref_2object($ref);
+    return undef if !$sv->isa('B::PV');
+
+    my $cur = $sv->CUR;
+    my $len = $sv->LEN;
+    return 0 if $cur >= $len;
+
+    my $ptrlen = length(pack('P', ''));
+    my $ptrfmt
+	= $ptrlen == length(pack('J', 0)) ? 'J'
+	: $ptrlen == length(pack('I', 0)) ? 'I'
+	: die "Can't determine pointer format";
+
+    my $pv_addr = unpack $ptrfmt, pack 'P', $$ref;
+    my $trailing = unpack 'P', pack $ptrfmt, $pv_addr+$cur;
+    return $trailing eq "\0";
+}
+SKIP: {
+    if ($Config::Config{'extensions'} !~ m!\bPerlIO/scalar\b!) {
+	skip "no B", 3;
+    }
+    require B;
+
+    open my $fh, ">", \my $memfile or die $!;
+
+    print $fh "abc";
+    ok has_trailing_nul $memfile,
+	 'write appends trailing null when growing string';
+
+    seek $fh, 0,SEEK_SET;
+    print $fh "abc";
+    ok has_trailing_nul $memfile,
+	 'write appends trailing null when not growing string';
+
+    seek $fh, 200, SEEK_SET;
+    print $fh "abc";
+    ok has_trailing_nul $memfile,
+	 'write appends null when growing string after seek past end';
+}
+
+# [perl #112780] Cloning of in-memory handles
+SKIP: {
+  skip "no threads", 2 if !$Config::Config{useithreads};
+  require threads;
+  my $str = '';
+  open my $fh, ">", \$str;
+  $str = 'a';
+  is scalar threads::async(sub { my $foo = $str; $foo })->join, "a",
+    'scalars behind in-memory handles are cloned properly';
+  print $fh "a";
+  is scalar threads::async(sub { print $fh "b"; $str })->join, "ab",
+    'printing to a cloned in-memory handle works';
+}
+
+# [perl #113764] Duping via >&= (broken by the fix for #112870)
+{
+  open FILE, '>', \my $content or die "Couldn't open scalar filehandle";
+  open my $fh, ">&=FILE" or die "Couldn't open: $!";
+  print $fh "Foo-Bar\n";
+  close $fh;
+  close FILE;
+  is $content, "Foo-Bar\n", 'duping via >&=';
+}
+
+# [perl #109828] PerlIO::scalar does not handle UTF-8
+my $byte_warning = "Strings with code points over 0xFF may not be mapped into in-memory file handles\n";
+{
+    use Errno qw(EINVAL);
+    my @warnings;
+    local $SIG{__WARN__} = sub { push @warnings, "@_" };
+    my $content = "12\x{101}";
+    $! = 0;
+    ok(!open(my $fh, "<", \$content), "non-byte open should fail");
+    is(0+$!, EINVAL, "check \$! is updated");
+    is_deeply(\@warnings, [], "should be no warnings (yet)");
+    use warnings "utf8";
+    $! = 0;
+    ok(!open(my $fh, "<", \$content), "non byte open should fail (and warn)");
+    is(0+$!, EINVAL, "check \$! is updated even when we warn");
+    is_deeply(\@warnings, [ $byte_warning ], "should have warned");
+
+    @warnings = ();
+    $content = "12\xA1";
+    utf8::upgrade($content);
+    ok(open(my $fh, "<", \$content), "open upgraded scalar");
+    binmode $fh;
+    my $tmp;
+    is(read($fh, $tmp, 4), 3, "read should get the downgraded bytes");
+    is($tmp, "12\xA1", "check we got the expected bytes");
+    close $fh;
+    is_deeply(\@warnings, [], "should be no more warnings");
+}
+{ # changes after open
+    my $content = "abc";
+    ok(open(my $fh, "+<", \$content), "open a scalar");
+    binmode $fh;
+    my $tmp;
+    is(read($fh, $tmp, 1), 1, "basic read");
+    seek($fh, 1, SEEK_SET);
+    $content = "\xA1\xA2\xA3";
+    utf8::upgrade($content);
+    is(read($fh, $tmp, 1), 1, "read from post-open upgraded scalar");
+    is($tmp, "\xA2", "check we read the correct value");
+    seek($fh, 1, SEEK_SET);
+    $content = "\x{101}\x{102}\x{103}";
+
+    my @warnings;
+    local $SIG{__WARN__} = sub { push @warnings, "@_" };
+
+    $! = 0;
+    is(read($fh, $tmp, 1), undef, "read from scalar with >0xff chars");
+    is(0+$!, EINVAL, "check errno set correctly");
+    is_deeply(\@warnings, [], "should be no warning (yet)");
+    use warnings "utf8";
+    seek($fh, 1, SEEK_SET);
+    is(read($fh, $tmp, 1), undef, "read from scalar with >0xff chars");
+    is_deeply(\@warnings, [ $byte_warning ], "check warning");
+
+    select $fh; # make sure print fails rather tha buffers
+    $| = 1;
+    select STDERR;
+    no warnings "utf8";
+    @warnings = ();
+    $content = "\xA1\xA2\xA3";
+    utf8::upgrade($content);
+    seek($fh, 1, SEEK_SET);
+    ok((print $fh "A"), "print to an upgraded byte string");
+    seek($fh, 1, SEEK_SET);
+    is($content, "\xA1A\xA3", "check result");
+
+    $content = "\x{101}\x{102}\x{103}";
+    $! = 0;
+    ok(!(print $fh "B"), "write to an non-downgradable SV");
+    is(0+$!, EINVAL, "check errno set");
+
+    is_deeply(\@warnings, [], "should be no warning");
+
+    use warnings "utf8";
+    ok(!(print $fh "B"), "write to an non-downgradable SV (and warn)");
+    is_deeply(\@warnings, [ $byte_warning ], "check warning");
+}


Property changes on: vendor/perl/dist/ext/PerlIO-scalar/t/scalar.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO-scalar/t/scalar_ungetc.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-scalar/t/scalar_ungetc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-scalar/t/scalar_ungetc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO-scalar/t/scalar_ungetc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO-via/hints/aix.pl
===================================================================
--- vendor/perl/dist/ext/PerlIO-via/hints/aix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-via/hints/aix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO-via/hints/aix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO-via/t/via.t
===================================================================
--- vendor/perl/dist/ext/PerlIO-via/t/via.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-via/t/via.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO-via/t/via.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/PerlIO-via/via.pm
===================================================================
--- vendor/perl/dist/ext/PerlIO-via/via.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-via/via.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 package PerlIO::via;
-our $VERSION = '0.11';
+our $VERSION = '0.12';
 require XSLoader;
 XSLoader::load();
 1;
@@ -74,7 +74,7 @@
 
 Optional - called when the layer is about to be removed.
 
-=item $obj->UTF8($bellowFlag,[$fh])
+=item $obj->UTF8($belowFlag,[$fh])
 
 Optional - if present it will be called immediately after PUSHED has
 returned. It should return a true value if the layer expects data to be
@@ -84,7 +84,7 @@
 
 If not present or if it returns false, then the stream is left with
 the UTF-8 flag clear.
-The I<$bellowFlag> argument will be true if there is a layer below
+The I<$belowFlag> argument will be true if there is a layer below
 and that layer was expecting UTF-8.
 
 =item $obj->OPEN($path,$mode,[$fh])


Property changes on: vendor/perl/dist/ext/PerlIO-via/via.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/PerlIO-via/via.xs
===================================================================
--- vendor/perl/dist/ext/PerlIO-via/via.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/PerlIO-via/via.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/PerlIO-via/via.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Pod-Html/Html.pm
===================================================================
--- vendor/perl/dist/ext/Pod-Html/Html.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/Html.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Pod-Html/Html.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Pod-Html/pod2html.PL
===================================================================
--- vendor/perl/dist/ext/Pod-Html/pod2html.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/pod2html.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Pod-Html/pod2html.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Pod-Html/t/htmlescp.pod
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmlescp.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/t/htmlescp.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Pod-Html/t/htmlescp.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Pod-Html/t/htmlescp.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmlescp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/t/htmlescp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title>NAME</title>
+<title></title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>
@@ -22,35 +22,27 @@
 <body style="background-color: white">
 
 
-<!-- INDEX BEGIN -->
-<div name="index">
-<p><a name="__index__"></a></p>
 
-<ul>
-
-	<li><a href="#name">NAME</a></li>
-	<li><a href="#description">DESCRIPTION</a></li>
+<ul id="index">
+  <li><a href="#NAME">NAME</a></li>
+  <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
 </ul>
 
-<hr name="index" />
-</div>
-<!-- INDEX END -->
+<h1 id="NAME">NAME</h1>
 
-<p>
-</p>
-<h1><a name="name">NAME</a></h1>
 <p>Escape Sequences Test</p>
-<p>
-</p>
-<hr />
-<h1><a name="description">DESCRIPTION</a></h1>
-<p>I am a stupid fool who puts naked < & > characters in my POD
-instead of escaping them as < and >.</p>
-<p>Here is some <strong>bold</strong> text, some <em>italic</em> plus <em class="file">/etc/fstab</em>
-file and something that looks like an <html> tag.
-This is some <code>$code($arg1)</code>.</p>
-<p>Some numeric escapes: P &#x65; &#x72; l</p>
 
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
+<p>I am a stupid fool who puts naked < & > characters in my POD instead of escaping them as < and >.</p>
+
+<p>Here is some <b>bold</b> text, some <i>italic</i> plus <i>/etc/fstab</i> file and something that looks like an <html> tag. This is some <code>$code($arg1)</code>.</p>
+
+<p>Some numeric escapes: P e r l</p>
+
+
 </body>
 
 </html>
+
+


Property changes on: vendor/perl/dist/ext/Pod-Html/t/htmlescp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Pod-Html/t/htmllink.pod
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmllink.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/t/htmllink.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Pod-Html/t/htmllink.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Pod-Html/t/htmllink.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmllink.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/t/htmllink.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title>htmllink - Test HTML links</title>
+<title></title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>
@@ -22,106 +22,136 @@
 <body style="background-color: white">
 
 
-<!-- INDEX BEGIN -->
-<div name="index">
-<p><a name="__index__"></a></p>
 
-<ul>
+<ul id="index">
+  <li><a href="#NAME">NAME</a></li>
+  <li><a href="#LINKS">LINKS</a></li>
+  <li><a href="#TARGETS">TARGETS</a>
+    <ul>
+      <li><a href="#section1">section1</a></li>
+      <li><a href="#section-2">section 2</a></li>
+      <li><a href="#section-three">section three</a></li>
+    </ul>
+  </li>
+</ul>
 
-	<li><a href="#name">NAME</a></li>
-	<li><a href="#links">LINKS</a></li>
-	<li><a href="#targets">TARGETS</a></li>
-	<ul>
+<h1 id="NAME">NAME</h1>
 
-		<li><a href="#section1">section1</a></li>
-		<li><a href="#section_2">section 2</a></li>
-		<li><a href="#section_three">section three</a></li>
-	</ul>
+<p>htmllink - Test HTML links</p>
 
-</ul>
+<h1 id="LINKS">LINKS</h1>
 
-<hr name="index" />
-</div>
-<!-- INDEX END -->
+<p><a href="#section1">"section1"</a></p>
 
-<p>
-</p>
-<h1><a name="name">NAME</a></h1>
-<p>htmllink - Test HTML links</p>
-<p>
-</p>
-<hr />
-<h1><a name="links">LINKS</a></h1>
-<p><a href="#section1">section1</a></p>
-<p><a href="#section_2">section 2</a></p>
-<p><a href="#section_three">section three</a></p>
-<p><a href="#item1">item1</a></p>
-<p><a href="#item_2">item 2</a></p>
-<p><a href="#item_three">item three</a></p>
-<p><a href="#section1">section1</a></p>
-<p><a href="#section_2">section 2</a></p>
-<p><a href="#section_three">section three</a></p>
-<p><a href="#item1">item1</a></p>
-<p><a href="#item_2">item 2</a></p>
-<p><a href="#item_three">item three</a></p>
-<p><a href="#section1">section1</a></p>
-<p><a href="#section_2">section 2</a></p>
-<p><a href="#section_three">section three</a></p>
-<p><a href="#item1">item1</a></p>
-<p><a href="#item_2">item 2</a></p>
-<p><a href="#item_three">item three</a></p>
+<p><a href="#section-2">"section 2"</a></p>
+
+<p><a href="#section-three">"section three"</a></p>
+
+<p><a href="#item1">"item1"</a></p>
+
+<p><a href="#item-2">"item 2"</a></p>
+
+<p><a href="#item-three">"item three"</a></p>
+
+<p><a href="#section1">"section1"</a></p>
+
+<p><a href="#section-2">"section 2"</a></p>
+
+<p><a href="#section-three">"section three"</a></p>
+
+<p><a href="#item1">"item1"</a></p>
+
+<p><a href="#item-2">"item 2"</a></p>
+
+<p><a href="#item-three">"item three"</a></p>
+
+<p><a href="#section1">"section1"</a></p>
+
+<p><a href="#section-2">"section 2"</a></p>
+
+<p><a href="#section-three">"section three"</a></p>
+
+<p><a href="#item1">"item1"</a></p>
+
+<p><a href="#item-2">"item 2"</a></p>
+
+<p><a href="#item-three">"item three"</a></p>
+
 <p><a href="#section1">text</a></p>
-<p><a href="#section_2">text</a></p>
-<p><a href="#section_three">text</a></p>
+
+<p><a href="#section-2">text</a></p>
+
+<p><a href="#section-three">text</a></p>
+
 <p><a href="#item1">text</a></p>
-<p><a href="#item_2">text</a></p>
-<p><a href="#item_three">text</a></p>
+
+<p><a href="#item-2">text</a></p>
+
+<p><a href="#item-three">text</a></p>
+
 <p><a href="#section1">text</a></p>
-<p><a href="#section_2">text</a></p>
-<p><a href="#section_three">text</a></p>
+
+<p><a href="#section-2">text</a></p>
+
+<p><a href="#section-three">text</a></p>
+
 <p><a href="#item1">text</a></p>
-<p><a href="#item_2">text</a></p>
-<p><a href="#item_three">text</a></p>
+
+<p><a href="#item-2">text</a></p>
+
+<p><a href="#item-three">text</a></p>
+
 <p><a href="#section1">text</a></p>
-<p><a href="#section_2">text</a></p>
-<p><a href="#section_three">text</a></p>
+
+<p><a href="#section-2">text</a></p>
+
+<p><a href="#section-three">text</a></p>
+
 <p><a href="#item1">text</a></p>
-<p><a href="#item_2">text</a></p>
-<p><a href="#item_three">text</a></p>
-<p>
-</p>
-<hr />
-<h1><a name="targets">TARGETS</a></h1>
-<p>
-</p>
-<h2><a name="section1">section1</a></h2>
+
+<p><a href="#item-2">text</a></p>
+
+<p><a href="#item-three">text</a></p>
+
+<h1 id="TARGETS">TARGETS</h1>
+
+<h2 id="section1">section1</h2>
+
 <p>This is section one.</p>
-<p>
-</p>
-<h2><a name="section_2">section 2</a></h2>
+
+<h2 id="section-2">section 2</h2>
+
 <p>This is section two.</p>
-<p>
-</p>
-<h2><a name="section_three">section three</a></h2>
+
+<h2 id="section-three">section three</h2>
+
 <p>This is section three.</p>
+
 <dl>
-<dt><strong><a name="item1" class="item">item1</a></strong></dt>
 
+<dt id="item1">item1  </dt>
 <dd>
+
 <p>This is item one.</p>
+
 </dd>
-<dt><strong><a name="item_2" class="item">item 2</a></strong></dt>
+<dt id="item-2">item 2  </dt>
+<dd>
 
-<dd>
 <p>This is item two.</p>
+
 </dd>
-<dt><strong><a name="item_three" class="item">item three</a></strong></dt>
+<dt id="item-three">item three  </dt>
+<dd>
 
-<dd>
 <p>This is item three.</p>
+
 </dd>
 </dl>
 
+
 </body>
 
 </html>
+
+


Property changes on: vendor/perl/dist/ext/Pod-Html/t/htmllink.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Pod-Html/t/htmlview.pod
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmlview.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/t/htmlview.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,10 +17,10 @@
 This is some more regular text.
 
 Here is some B<bold> text, some I<italic> and something that looks 
-like an E<lt>htmlE<gt> tag.  This is some C<$code($arg1)>.
+like an E<lt>htmlE<gt> tag. This is some C<$code($arg1)>.
 
-This C<text contains embedded B<bold> and I<italic> tags>.  These can 
-be nested, allowing B<bold and I<bold E<amp> italic> text>.  The module also
+This C<text contains embedded B<bold> and I<italic> tags>. These can 
+be nested, allowing B<bold and I<bold E<amp> italic> text>. The module also
 supports the extended B<< syntax >> and permits I<< nested tags E<amp>
 other B<<< cool >>> stuff >>
 
@@ -30,7 +30,7 @@
 
 =head2 new()
 
-Constructor method.  Accepts the following config options:
+Constructor method. Accepts the following config options:
 
 =over 4
 
@@ -60,8 +60,18 @@
 
 The baz item.
 
+=over 4
+
+=item * 
+
+A correct list within a list
+
+=item * Boomerang
+
 =back
 
+=back
+
 Title on the same line as the =item + * bullets
 
 =over
@@ -78,6 +88,24 @@
 
 =over
 
+=item 1
+
+Cat
+
+=item 2
+
+Sat
+
+=item 3
+
+Mat
+
+=back
+
+Numbered list with text on the same line
+
+=over
+
 =item 1 Cat
 
 =item 2 Sat


Property changes on: vendor/perl/dist/ext/Pod-Html/t/htmlview.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Pod-Html/t/htmlview.t
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/htmlview.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/t/htmlview.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 use strict;
 use Test::More tests => 1;
 
-convert_n_test("htmlview", "html rendering");
+convert_n_test("htmlview", "html rendering", "--quiet");
 
 __DATA__
 <?xml version="1.0" ?>
@@ -14,7 +14,7 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
-<title>NAME</title>
+<title></title>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <link rev="made" href="mailto:[PERLADMIN]" />
 </head>
@@ -22,162 +22,214 @@
 <body style="background-color: white">
 
 
-<!-- INDEX BEGIN -->
-<div name="index">
-<p><a name="__index__"></a></p>
 
-<ul>
+<ul id="index">
+  <li><a href="#NAME">NAME</a></li>
+  <li><a href="#SYNOPSIS">SYNOPSIS</a></li>
+  <li><a href="#DESCRIPTION">DESCRIPTION</a></li>
+  <li><a href="#METHODS-OTHER-STUFF">METHODS => OTHER STUFF</a>
+    <ul>
+      <li><a href="#new">new()</a></li>
+      <li><a href="#old">old()</a></li>
+    </ul>
+  </li>
+  <li><a href="#TESTING-FOR-AND-BEGIN">TESTING FOR AND BEGIN</a></li>
+  <li><a href="#TESTING-URLs-hyperlinking">TESTING URLs hyperlinking</a></li>
+  <li><a href="#SEE-ALSO">SEE ALSO</a></li>
+  <li><a href="#POD-ERRORS">POD ERRORS</a></li>
+</ul>
 
-	<li><a href="#name">NAME</a></li>
-	<li><a href="#synopsis">SYNOPSIS</a></li>
-	<li><a href="#description">DESCRIPTION</a></li>
-	<li><a href="#methods____other_stuff">METHODS => OTHER STUFF</a></li>
-	<ul>
+<h1 id="NAME">NAME</h1>
 
-		<li><a href="#new__"><code>new()</code></a></li>
-		<li><a href="#old__"><code>old()</code></a></li>
-	</ul>
+<p>Test HTML Rendering</p>
 
-	<li><a href="#testing_for_and_begin">TESTING FOR AND BEGIN</a></li>
-	<li><a href="#testing_urls_hyperlinking">TESTING URLs hyperlinking</a></li>
-	<li><a href="#see_also">SEE ALSO</a></li>
-</ul>
+<h1 id="SYNOPSIS">SYNOPSIS</h1>
 
-<hr name="index" />
-</div>
-<!-- INDEX END -->
+<pre><code>    use My::Module;
 
-<p>
-</p>
-<h1><a name="name">NAME</a></h1>
-<p>Test HTML Rendering</p>
-<p>
-</p>
-<hr />
-<h1><a name="synopsis">SYNOPSIS</a></h1>
-<pre>
-    use My::Module;</pre>
-<pre>
-    my $module = My::Module->new();</pre>
-<p>
-</p>
-<hr />
-<h1><a name="description">DESCRIPTION</a></h1>
+    my $module = My::Module->new();</code></pre>
+
+<h1 id="DESCRIPTION">DESCRIPTION</h1>
+
 <p>This is the description.</p>
-<pre>
-    Here is a verbatim section.</pre>
+
+<pre><code>    Here is a verbatim section.</code></pre>
+
 <p>This is some more regular text.</p>
-<p>Here is some <strong>bold</strong> text, some <em>italic</em> and something that looks 
-like an <html> tag.  This is some <code>$code($arg1)</code>.</p>
-<p>This <code>text contains embedded bold and italic tags</code>.  These can 
-be nested, allowing <strong>bold and <em>bold & italic</em> text</strong>.  The module also
-supports the extended <strong>syntax </strong>> and permits <em>nested tags &
-other <strong>cool </strong></em>> stuff >></p>
-<p>
-</p>
-<hr />
-<h1><a name="methods____other_stuff">METHODS => OTHER STUFF</a></h1>
+
+<p>Here is some <b>bold</b> text, some <i>italic</i> and something that looks like an <html> tag. This is some <code>$code($arg1)</code>.</p>
+
+<p>This <code>text contains embedded <b>bold</b> and <i>italic</i> tags</code>. These can be nested, allowing <b>bold and <i>bold & italic</i> text</b>. The module also supports the extended <b>syntax</b> and permits <i>nested tags & other <b>cool</b> stuff</i></p>
+
+<h1 id="METHODS-OTHER-STUFF">METHODS => OTHER STUFF</h1>
+
 <p>Here is a list of methods</p>
-<p>
-</p>
-<h2><a name="new__"><code>new()</code></a></h2>
-<p>Constructor method.  Accepts the following config options:</p>
+
+<h2 id="new">new()</h2>
+
+<p>Constructor method. Accepts the following config options:</p>
+
 <dl>
-<dt><strong><a name="foo" class="item">foo</a></strong></dt>
 
+<dt id="foo">foo</dt>
 <dd>
+
 <p>The foo item.</p>
+
 </dd>
-<dt><strong><a name="bar" class="item">bar</a></strong></dt>
+<dt id="bar">bar</dt>
+<dd>
 
-<dd>
 <p>The bar item.</p>
+
+<ul>
+
 <p>This is a list within a list</p>
-<ul>
-<li>
+
+<p>*</p>
+
 <p>The wiz item.</p>
-</li>
-<li>
+
+<p>*</p>
+
 <p>The waz item.</p>
-</li>
+
 </ul>
+
 </dd>
-<dt><strong><a name="baz" class="item">baz</a></strong></dt>
+<dt id="baz">baz</dt>
+<dd>
 
-<dd>
 <p>The baz item.</p>
+
+<ul>
+
+<li><p>A correct list within a list</p>
+
+</li>
+<li><p>Boomerang</p>
+
+</li>
+</ul>
+
 </dd>
 </dl>
+
 <p>Title on the same line as the =item + * bullets</p>
+
 <ul>
-<li><strong><a name="black_cat" class="item"><code>Black</code> Cat</a></strong>
 
+<li><p><code>Black</code> Cat</p>
+
 </li>
-<li><strong><a name="sat_on_the" class="item">Sat <em>on</em> the</a></strong>
+<li><p>Sat <span style="white-space: nowrap;"><i>on</i> the</span></p>
 
 </li>
-<li><strong><a name="mat" class="item">Mat<!></a></strong>
+<li><p>Mat<!></p>
 
 </li>
 </ul>
+
 <p>Title on the same line as the =item + numerical bullets</p>
+
 <ol>
-<li><strong><a name="cat" class="item">Cat</a></strong>
 
+<li><p>Cat</p>
+
 </li>
-<li><strong><a name="sat" class="item">Sat</a></strong>
+<li><p>Sat</p>
 
 </li>
-<li><strong><a name="mat2" class="item">Mat</a></strong>
+<li><p>Mat</p>
 
 </li>
 </ol>
-<p>No bullets, no title</p>
+
+<p>Numbered list with text on the same line</p>
+
 <dl>
-<dt>
+
+<dt id="Cat">1 Cat</dt>
 <dd>
-<p>Cat</p>
+
 </dd>
-<dt>
+<dt id="Sat">2 Sat</dt>
 <dd>
-<p>Sat</p>
+
 </dd>
-<dt>
+<dt id="Mat">3 Mat</dt>
 <dd>
-<p>Mat</p>
+
 </dd>
 </dl>
-<p>
-</p>
-<h2><a name="old__"><code>old()</code></a></h2>
+
+<p>No bullets, no title</p>
+
+<ul>
+
+<li><p>Cat</p>
+
+</li>
+<li><p>Sat</p>
+
+</li>
+<li><p>Mat</p>
+
+</li>
+</ul>
+
+<h2 id="old">old()</h2>
+
 <p>Destructor method</p>
-<p>
-</p>
-<hr />
-<h1><a name="testing_for_and_begin">TESTING FOR AND BEGIN</a></h1>
+
+<h1 id="TESTING-FOR-AND-BEGIN">TESTING FOR AND BEGIN</h1>
+
+
+
 <br />
 <p>
 blah blah
-</p><p>intermediate text</p>
+</p>
+
+<p>intermediate text</p>
+
+
+
 <more>
 HTML
-</more>some text<p>
-</p>
-<hr />
-<h1><a name="testing_urls_hyperlinking">TESTING URLs hyperlinking</a></h1>
-<p>This is an href link1: <a href="http://example.com">http://example.com</a></p>
-<p>This is an href link2: <a href="http://example.com/foo/bar.html">http://example.com/foo/bar.html</a></p>
-<p>This is an email link: <a href="mailto:mailto:foo at bar.com">mailto:foo at bar.com</a></p>
-<pre>
-    This is a link in a verbatim block <a href="<a href="http://perl.org">http://perl.org</a>"> Perl </a></pre>
-<p>
-</p>
-<hr />
-<h1><a name="see_also">SEE ALSO</a></h1>
-<p>See also <a href="/t/htmlescp.html">Test Page 2</a>, the <a href="/Your/Module.html">the Your::Module manpage</a> and <a href="/Their/Module.html">the Their::Module manpage</a>
-manpages and the other interesting file <em class="file">/usr/local/my/module/rocks</em>
-as well.</p>
+</more>some text
 
+<h1 id="TESTING-URLs-hyperlinking">TESTING URLs hyperlinking</h1>
+
+<p>This is an href link1: http://example.com</p>
+
+<p>This is an href link2: http://example.com/foo/bar.html</p>
+
+<p>This is an email link: mailto:foo at bar.com</p>
+
+<pre><code>    This is a link in a verbatim block <a href="http://perl.org"> Perl </a></code></pre>
+
+<h1 id="SEE-ALSO">SEE ALSO</h1>
+
+<p>See also <a href="/t/htmlescp.html">Test Page 2</a>, the <a>Your::Module</a> and <a>Their::Module</a> manpages and the other interesting file <i>/usr/local/my/module/rocks</i> as well.</p>
+
+<h1 id="POD-ERRORS">POD ERRORS</h1>
+
+<p>Hey! <b>The above document had some coding errors, which are explained below:</b></p>
+
+<dl>
+
+<dt id="Around-line-45">Around line 45:</dt>
+<dd>
+
+<p>You can't have =items (as at line 49) unless the first thing after the =over is an =item</p>
+
+</dd>
+</dl>
+
+
 </body>
 
 </html>
+
+


Property changes on: vendor/perl/dist/ext/Pod-Html/t/htmlview.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Pod-Html/t/pod2html-lib.pl
===================================================================
--- vendor/perl/dist/ext/Pod-Html/t/pod2html-lib.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Pod-Html/t/pod2html-lib.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,24 +1,57 @@
 require Cwd;
 require Pod::Html;
 require Config;
-use File::Spec::Functions;
+use File::Spec::Functions ':ALL';
+use File::Path 'remove_tree';
+use File::Copy;
 
+# make_test_dir and rem_test_dir dynamically create and remove testdir/test.lib.
+# it is created dynamically to pass t/filenames.t, which does not allow '.'s in
+# filenames as '.' is the directory separator on VMS. All tests that require
+# testdir/test.lib to be present are skipped if test.lib cannot be created.
+sub make_test_dir {
+    if (-d 'testdir/test.lib') {
+        warn "Directory 'test.lib' exists (it shouldn't yet) - removing it";
+        rem_test_dir();
+    }
+    mkdir('testdir/test.lib') or return "Could not make test.lib directory: $!\n";
+    copy('testdir/perlpodspec-copy.pod', 'testdir/test.lib/podspec-copy.pod')
+        or return "Could not copy perlpodspec-copy: $!";
+    copy('testdir/perlvar-copy.pod', 'testdir/test.lib/var-copy.pod')
+        or return "Could not copy perlvar-copy: $!";
+    return 0;
+}
+
+sub rem_test_dir {
+    return unless -d 'testdir/test.lib';
+    remove_tree('testdir/test.lib')
+        or warn "Error removing temporary directory 'testdir/test.lib'";
+}
+
 sub convert_n_test {
-    my($podfile, $testname) = @_;
+    my($podfile, $testname, @p2h_args) = @_;
 
-    my $cwd = Cwd::cwd();
-    my $new_dir  = catdir $cwd, "t";
-    my $infile   = catfile $new_dir, "$podfile.pod";
-    my $outfile  = catfile $new_dir, "$podfile.html";
+    my $cwd = Pod::Html::_unixify( Cwd::cwd() );
+    my ($vol, $dir) = splitpath($cwd, 1);
+    my @dirs = splitdir($dir);
+    shift @dirs if $dirs[0] eq '';
+    my $relcwd = join '/', @dirs;
 
+    my $new_dir  = catdir $dir, "t";
+    my $infile   = catpath $vol, $new_dir, "$podfile.pod";
+    my $outfile  = catpath $vol, $new_dir, "$podfile.html";
+
+    # To add/modify args to p2h, use @p2h_args
     Pod::Html::pod2html(
+        "--infile=$infile",
+        "--outfile=$outfile",
         "--podpath=t",
+        "--htmlroot=/",
         "--podroot=$cwd",
-        "--htmlroot=/",
-        "--infile=$infile",
-        "--outfile=$outfile"
+        @p2h_args,
     );
 
+    $cwd =~ s|\/$||;
 
     my ($expect, $result);
     {
@@ -26,6 +59,8 @@
 	# expected
 	$expect = <DATA>;
 	$expect =~ s/\[PERLADMIN\]/$Config::Config{perladmin}/;
+	$expect =~ s/\[RELCURRENTWORKINGDIRECTORY\]/$relcwd/g;
+	$expect =~ s/\[ABSCURRENTWORKINGDIRECTORY\]/$cwd/g;
 	if (ord("A") == 193) { # EBCDIC.
 	    $expect =~ s/item_mat_3c_21_3e/item_mat_4c_5a_6e/;
 	}
@@ -36,26 +71,33 @@
 	close $in;
     }
 
-    ok($expect eq $result, $testname) or do {
-	my $diff = '/bin/diff';
-	-x $diff or $diff = '/usr/bin/diff';
-	if (-x $diff) {
-	    my $expectfile = "pod2html-lib.tmp";
-	    open my $tmpfile, ">", $expectfile or die $!;
-	    print $tmpfile $expect;
-	    close $tmpfile;
-	    my $diffopt = $^O eq 'linux' ? 'u' : 'c';
-	    open my $diff, "diff -$diffopt $expectfile $outfile |" or die $!;
-	    print "# $_" while <$diff>;
-	    close $diff;
-	    unlink $expectfile;
-	}
-    };
+    my $diff = '/bin/diff';
+    -x $diff or $diff = '/usr/bin/diff';
+    -x $diff or $diff = undef;
+    my $diffopt = $diff ? $^O =~ m/(linux|darwin)/ ? '-u' : '-c'
+                        : '';
+    $diff = 'fc/n' if $^O =~ /^MSWin/;
+    $diff = 'differences' if $^O eq 'VMS';
+    if ($diff) {
+	ok($expect eq $result, $testname) or do {
+	  my $expectfile = "${podfile}_expected.tmp";
+	  open my $tmpfile, ">", $expectfile or die $!;
+	  print $tmpfile $expect;
+	  close $tmpfile;
+	  open my $diff_fh, "$diff $diffopt $expectfile $outfile |" or die $!;
+	  print STDERR "# $_" while <$diff_fh>;
+	  close $diff_fh;
+	  unlink $expectfile;
+	};
+    } else {
+	# This is fairly evil, but lets us get detailed failure modes
+	# anywhere that we've failed to identify a diff program.
+	is($expect, $result, $testname);
+    }
 
     # pod2html creates these
     1 while unlink $outfile;
     1 while unlink "pod2htmd.tmp";
-    1 while unlink "pod2htmi.tmp";
 }
 
 1;


Property changes on: vendor/perl/dist/ext/Pod-Html/t/pod2html-lib.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/SDBM_File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/SDBM_File.pm
===================================================================
--- vendor/perl/dist/ext/SDBM_File/SDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/SDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/SDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/SDBM_File.xs
===================================================================
--- vendor/perl/dist/ext/SDBM_File/SDBM_File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/SDBM_File.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/SDBM_File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/CHANGES
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/CHANGES	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/CHANGES	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/CHANGES
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/COMPARE
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/COMPARE	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/COMPARE	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/COMPARE
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/README
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/README	2013-12-01 21:45:02 UTC (rev 6430)
@@ -32,7 +32,7 @@
 software.
 
      The sdbm implementation is based on  a  1978  algorithm
-[Lar78] by P.-A. (Paul) Larson known as ``Dynamic Hashing''.
+[Lar78] by P.-A. (Paul) Larson known as "Dynamic Hashing".
 In the course of searching for a substitute for ndbm, I pro-
 totyped  three different external-hashing algorithms [Lar78,
 Fag79, Lit80] and ultimately chose Larson's algorithm  as  a
@@ -70,7 +70,7 @@
                            - 2 -
 
 
-store operation will not ``wander away'' trying to split its
+store operation will not "wander away" trying to split its
 data  pages  to insert a datum that cannot (due to elaborate
 worst-case situations) be inserted. (It will  fail  after  a
 pre-defined number of attempts.)
@@ -233,7 +233,7 @@
      */
     long
     dbm_hash(char *str, int len) {
-        register unsigned long n = 0;
+        unsigned long n = 0;
 
         while (len--)
             n = n * 65599 + *str++;
@@ -298,7 +298,7 @@
 
 
 [Lar78]
-    P.-A. Larson, ``Dynamic Hashing'', BIT, vol.   18,   pp.
+    P.-A. Larson, "Dynamic Hashing", BIT, vol.   18,   pp.
     184-201, 1978.
 
 [Tho90]
@@ -305,23 +305,23 @@
     Ken Thompson, private communication, Nov. 1990
 
 [Lit80]
-    W. Litwin, `` Linear Hashing: A new tool  for  file  and
-    table addressing'', Proceedings of the 6th Conference on
+    W. Litwin, "Linear Hashing: A new tool  for  file  and
+    table addressing", Proceedings of the 6th Conference on
     Very Large  Dabatases  (Montreal), pp.   212-223,   Very
     Large Database Foundation, Saratoga, Calif., 1980.
 
 [Fag79]
     R. Fagin, J.  Nievergelt,  N.  Pippinger,  and   H.   R.
-    Strong,  ``Extendible Hashing - A Fast Access Method for
-    Dynamic Files'', ACM  Trans.  Database  Syst.,  vol.  4,
+    Strong,  "Extendible Hashing - A Fast Access Method for
+    Dynamic Files", ACM  Trans.  Database  Syst.,  vol.  4,
     no.3, pp. 315-344, Sept. 1979.
 
 [Wal84]
-    Rich Wales, ``Discussion of "dbm"  data  base  system'',
+    Rich Wales, "Discussion of 'dbm'  data  base  system",
     USENET newsgroup unix.wizards, Jan. 1984.
 
 [Tor87]
-    Chris Torek,  ``Re:   dbm.a   and   ndbm.a   archives'',
+    Chris Torek,  "Re:   dbm.a   and   ndbm.a   archives",
 
 
 
@@ -337,13 +337,13 @@
     USENET newsgroup comp.unix, 1987.
 
 [Mar79]
-    G. N. Martin, ``Spiral Storage: Incrementally   Augment-
-    able   Hash  Addressed  Storage'', Technical Report #27,
+    G. N. Martin, "Spiral Storage: Incrementally   Augment-
+    able   Hash  Addressed  Storage", Technical Report #27,
     University of Varwick, Coventry, U.K., 1979.
 
 [Enb88]
-    R.  J.  Enbody  and  H.   C.   Du,   ``Dynamic   Hashing
-    Schemes'',ACM  Computing  Surveys,  vol.  20, no. 2, pp.
+    R.  J.  Enbody  and  H.   C.   Du,   "Dynamic   Hashing
+    Schemes",ACM  Computing  Surveys,  vol.  20, no. 2, pp.
     85-113, June 1988.
 
 


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/README.too
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/README.too	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/README.too	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/README.too
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/biblio
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/biblio	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/biblio	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/biblio
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/dba.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/dba.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/dba.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -42,11 +42,11 @@
 void
 sdump(int pagf)
 {
-	register b;
-	register n = 0;
-	register t = 0;
-	register o = 0;
-	register e;
+	int b;
+	int n = 0;
+	int t = 0;
+	int o = 0;
+	int e;
 	char pag[PBLKSIZ];
 
 	while ((b = read(pagf, pag, PBLKSIZ)) > 0) {
@@ -72,9 +72,9 @@
 int
 pagestat(char *pag)
 {
-	register n;
-	register free;
-	register short *ino = (short *) pag;
+	int n;
+	int free;
+	short *ino = (short *) pag;
 
 	if (!(n = ino[0]))
 		printf("no entries.\n");


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/dba.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/dbd.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/dbd.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/dbd.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -44,9 +44,9 @@
 void
 sdump(int pagf)
 {
-	register r;
-	register n = 0;
-	register o = 0;
+	int r;
+	int n = 0;
+	int o = 0;
 	char pag[PBLKSIZ];
 
 	while ((r = read(pagf, pag, PBLKSIZ)) > 0) {
@@ -70,9 +70,9 @@
 int
 dispage(char *pag)
 {
-	register i, n;
-	register off;
-	register short *ino = (short *) pag;
+	int i, n;
+	int off;
+	int short *ino = (short *) pag;
 
 	off = PBLKSIZ;
 	for (i = 1; i < ino[0]; i += 2) {
@@ -92,9 +92,9 @@
 void
 dispage(char *pag)
 {
-	register i, n;
-	register off;
-	register short *ino = (short *) pag;
+	int i, n;
+	int off;
+	short *ino = (short *) pag;
 
 	off = PBLKSIZ;
 	for (i = 1; i < ino[0]; i += 2) {


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/dbd.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/dbe.1
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/dbe.1	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/dbe.1	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/dbe.1
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/dbe.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/dbe.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/dbe.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -54,8 +54,8 @@
 char
 getopt(int argc, char **argv, char *optstring)
 {
-	register int c;
-	register char *place;
+	int c;
+	char *place;
 	extern char *index();
 	static int optind = 0;
 	static char *scan = NULL;


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/dbe.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/dbu.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/dbu.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/dbu.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -68,7 +68,7 @@
 main(int argc, char **argv)
 {
 	int c;
-	register cmd *act;
+	cmd *act;
 	extern int optind;
 	extern char *optarg;
 
@@ -96,13 +96,13 @@
 }
 
 static void
-doit(register cmd *act, char *file)
+doit(cmd *act, char *file)
 {
 	datum key;
 	datum val;
-	register DBM *db;
-	register char *op;
-	register int n;
+	DBM *db;
+	char *op;
+	int n;
 	char *line;
 #ifdef TIME
 	long start;
@@ -195,7 +195,7 @@
 static void
 badk(char *word)
 {
-	register int i;
+	int i;
 
 	if (progname)
 		fprintf(stderr, "%s: ", progname);
@@ -209,10 +209,10 @@
 }
 
 static cmd *
-parse(register char *str)
+parse(char *str)
 {
-	register int i = CTABSIZ;
-	register cmd *p;
+	int i = CTABSIZ;
+	cmd *p;
 	
 	for (p = cmds; i--; p++)
 		if (strcmp(p->sname, str) == 0)
@@ -223,9 +223,9 @@
 static void
 prdatum(FILE *stream, datum d)
 {
-	register int c;
-	register char *p = d.dptr;
-	register int n = d.dsize;
+	int c;
+	char *p = d.dptr;
+	int n = d.dsize;
 
 	while (n--) {
 		c = *p++ & 0377;


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/dbu.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/grind
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/grind	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/grind	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/grind
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/hash.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/hash.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/hash.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,9 +18,9 @@
  *      65587   even better. 
  */
 long
-sdbm_hash(register const char *str, register int len)
+sdbm_hash(const char *str, int len)
 {
-	register unsigned long n = 0;
+	unsigned long n = 0;
 
 #ifdef DUFF
 
@@ -27,7 +27,7 @@
 #define HASHC	n = *str++ + 65599 * n
 
 	if (len > 0) {
-		register int loop = (len + 8 - 1) >> 3;
+		int loop = (len + 8 - 1) >> 3;
 
 		switch(len & (8 - 1)) {
 		case 0:	do {


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/hash.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/linux.patches
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/linux.patches	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/linux.patches	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/linux.patches
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/makefile.sdbm
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/makefile.sdbm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/makefile.sdbm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/makefile.sdbm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/pair.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/pair.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/pair.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -47,10 +47,10 @@
 int
 fitpair(char *pag, int need)
 {
-	register int n;
-	register int off;
-	register int free;
-	register short *ino = (short *) pag;
+	int n;
+	int off;
+	int free;
+	short *ino = (short *) pag;
 
 	off = ((n = ino[0]) > 0) ? ino[n] : PBLKSIZ;
 	free = off - (n + 1) * sizeof(short);
@@ -64,9 +64,9 @@
 void
 putpair(char *pag, datum key, datum val)
 {
-	register int n;
-	register int off;
-	register short *ino = (short *) pag;
+	int n;
+	int off;
+	short *ino = (short *) pag;
 
 	off = ((n = ino[0]) > 0) ? ino[n] : PBLKSIZ;
 /*
@@ -90,10 +90,10 @@
 datum
 getpair(char *pag, datum key)
 {
-	register int i;
-	register int n;
+	int i;
+	int n;
 	datum val;
-	register short *ino = (short *) pag;
+	short *ino = (short *) pag;
 
 	if ((n = ino[0]) == 0)
 		return nullitem;
@@ -109,7 +109,7 @@
 int
 exipair(char *pag, datum key)
 {
-	register short *ino = (short *) pag;
+	short *ino = (short *) pag;
 
 	if (ino[0] == 0)
 		return 0;
@@ -121,7 +121,7 @@
 int
 duppair(char *pag, datum key)
 {
-	register short *ino = (short *) pag;
+	short *ino = (short *) pag;
 	return ino[0] > 0 && seepair(pag, ino[0], key.dptr, key.dsize) > 0;
 }
 #endif
@@ -130,8 +130,8 @@
 getnkey(char *pag, int num)
 {
 	datum key;
-	register int off;
-	register short *ino = (short *) pag;
+	int off;
+	short *ino = (short *) pag;
 
 	num = num * 2 - 1;
 	if (ino[0] == 0 || num > ino[0])
@@ -148,9 +148,9 @@
 int
 delpair(char *pag, datum key)
 {
-	register int n;
-	register int i;
-	register short *ino = (short *) pag;
+	int n;
+	int i;
+	short *ino = (short *) pag;
 
 	if ((n = ino[0]) == 0)
 		return 0;
@@ -165,10 +165,10 @@
  * [note: 0 < i < n]
  */
 	if (i < n - 1) {
-		register int m;
-		register char *dst = pag + (i == 1 ? PBLKSIZ : ino[i - 1]);
-		register char *src = pag + ino[i + 1];
-		register int   zoo = dst - src;
+		int m;
+		char *dst = pag + (i == 1 ? PBLKSIZ : ino[i - 1]);
+		char *src = pag + ino[i + 1];
+		int   zoo = dst - src;
 
 		debug(("free-up %d ", zoo));
 /*
@@ -179,7 +179,7 @@
 #define MOVB 	*--dst = *--src
 
 		if (m > 0) {
-			register int loop = (m + 8 - 1) >> 3;
+			int loop = (m + 8 - 1) >> 3;
 
 			switch (m & (8 - 1)) {
 			case 0:	do {
@@ -218,11 +218,11 @@
  * return 0 if not found.
  */
 static int
-seepair(char *pag, register int n, register const char *key, register int siz)
+seepair(char *pag, int n, const char *key, int siz)
 {
-	register int i;
-	register int off = PBLKSIZ;
-	register short *ino = (short *) pag;
+	int i;
+	int off = PBLKSIZ;
+	short *ino = (short *) pag;
 
 	for (i = 1; i < n; i += 2) {
 		if (siz == off - ino[i] &&
@@ -239,10 +239,10 @@
 	datum key;
 	datum val;
 
-	register int n;
-	register int off = PBLKSIZ;
+	int n;
+	int off = PBLKSIZ;
 	char cur[PBLKSIZ];
-	register short *ino = (short *) cur;
+	short *ino = (short *) cur;
 
 	(void) memcpy(cur, pag, PBLKSIZ);
 	(void) memset(pag, 0, PBLKSIZ);
@@ -277,9 +277,9 @@
 int
 chkpage(char *pag)
 {
-	register int n;
-	register int off;
-	register short *ino = (short *) pag;
+	int n;
+	int off;
+	short *ino = (short *) pag;
 
 	if ((n = ino[0]) < 0 || n > (int)(PBLKSIZ / sizeof(short)))
 		return 0;


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/pair.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/pair.h
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/pair.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/pair.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/pair.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/readme.ms
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/readme.ms	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/readme.ms	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 .\" tbl | readme.ms | [tn]roff -ms | ...
 .\" note the "C" (courier) and "CB" fonts: you will probably have to
 .\" change these.
-.\" $Id: readme.ms,v 1.1.1.1 2009-03-15 19:18:42 ctriv Exp $
+.\" $Id: readme.ms,v 1.1 90/12/13 13:09:15 oz Exp Locker: oz $
 
 .de P1
 .br
@@ -70,7 +70,7 @@
 copyrighted software.
 .PP
 The \fIsdbm\fP implementation is based on a 1978 algorithm
-[Lar78] by P.-A. (Paul) Larson known as ``Dynamic Hashing''.
+[Lar78] by P.-A. (Paul) Larson known as "Dynamic Hashing".
 In the course of searching for a substitute for \fIndbm\fP, I
 prototyped three different external-hashing algorithms [Lar78, Fag79, Lit80]
 and ultimately chose Larson's algorithm as a basis of the \fIsdbm\fP
@@ -94,7 +94,7 @@
 in database creation.
 Unlike the \fIndbm\fP, the \fIsdbm\fP
 .CW store
-operation will not ``wander away'' trying to split its
+operation will not "wander away" trying to split its
 data pages to insert a datum that \fIcannot\fP (due to elaborate worst-case
 situations) be inserted. (It will fail after a pre-defined number of attempts.)
 .SH
@@ -263,7 +263,7 @@
 	 */
 	long
 	dbm_hash(char *str, int len) {
-		register unsigned long n = 0;
+		unsigned long n = 0;
 	
 		while (len--)
 			n = n * 65599 + *str++;
@@ -323,31 +323,31 @@
 .LP
 .IP [Lar78] 4m
 P.-A. Larson,
-``Dynamic Hashing'', \fIBIT\fP, vol.  18,  pp. 184-201, 1978.
+"Dynamic Hashing", \fIBIT\fP, vol.  18,  pp. 184-201, 1978.
 .IP [Tho90] 4m
 Ken Thompson, \fIprivate communication\fP, Nov. 1990
 .IP [Lit80] 4m
 W. Litwin,
-`` Linear Hashing: A new tool  for  file  and table addressing'',
+"Linear Hashing: A new tool  for  file  and table addressing",
 \fIProceedings of the 6th Conference on Very Large  Dabatases  (Montreal)\fP,
 pp.  212-223,  Very Large Database Foundation, Saratoga, Calif., 1980.
 .IP [Fag79] 4m
 R. Fagin, J.  Nievergelt,  N.  Pippinger,  and  H.  R. Strong,
-``Extendible Hashing - A Fast Access Method for Dynamic Files'',
+"Extendible Hashing - A Fast Access Method for Dynamic Files",
 \fIACM Trans. Database Syst.\fP, vol. 4,  no.3, pp. 315-344, Sept. 1979.
 .IP [Wal84] 4m
 Rich Wales,
-``Discussion of "dbm" data base system'', \fIUSENET newsgroup unix.wizards\fP,
+"Discussion of 'dbm' data base system", \fIUSENET newsgroup unix.wizards\fP,
 Jan. 1984.
 .IP [Tor87] 4m
 Chris Torek,
-``Re:  dbm.a  and  ndbm.a  archives'', \fIUSENET newsgroup comp.unix\fP,
+"Re:  dbm.a  and  ndbm.a  archives", \fIUSENET newsgroup comp.unix\fP,
 1987.
 .IP [Mar79] 4m
 G. N. Martin,
-``Spiral Storage: Incrementally  Augmentable  Hash  Addressed  Storage'',
+"Spiral Storage: Incrementally  Augmentable  Hash  Addressed  Storage",
 \fITechnical Report #27\fP, University of Varwick, Coventry, U.K., 1979.
 .IP [Enb88] 4m
 R. J. Enbody and H. C. Du,
-``Dynamic Hashing  Schemes'',\fIACM Computing Surveys\fP,
+"Dynamic Hashing  Schemes",\fIACM Computing Surveys\fP,
 vol. 20, no. 2, pp. 85-113, June 1988.


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/readme.ms
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.3
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.3	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.3	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-.\" $Id: sdbm.3,v 1.1.1.2 2011-05-18 13:33:26 laffer1 Exp $
+.\" $Id: sdbm.3,v 1.2 90/12/13 13:00:57 oz Exp $
 .TH SDBM 3 "1 March 1990"
 .SH NAME
 sdbm, sdbm_open, sdbm_prep, sdbm_close, sdbm_fetch, sdbm_store, sdbm_delete, sdbm_exists, sdbm_firstkey, sdbm_nextkey, sdbm_hash, sdbm_rdonly, sdbm_error, sdbm_clearerr, sdbm_dirfno, sdbm_pagfno \- data base subroutines


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.3
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -37,10 +37,17 @@
 
 #include <errno.h> /* See notes in perl.h about avoiding
 			extern int errno; */
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 extern Malloc_t malloc proto((MEM_SIZE));
 extern Free_t free proto((Malloc_t));
 
+#ifdef __cplusplus
+}
+#endif
+
 /*
  * forward
  */
@@ -72,14 +79,14 @@
 };
 
 DBM *
-sdbm_open(register char *file, register int flags, register int mode)
+sdbm_open(char *file, int flags, int mode)
 {
-	register DBM *db;
-	register char *dirname;
-	register char *pagname;
+	DBM *db;
+	char *dirname;
+	char *pagname;
 	size_t filelen;
-	const size_t dirfext_len = sizeof(DIRFEXT "");
-	const size_t pagfext_len = sizeof(PAGFEXT "");
+	const size_t dirfext_size = sizeof(DIRFEXT "");
+	const size_t pagfext_size = sizeof(PAGFEXT "");
 
 	if (file == NULL || !*file)
 		return errno = EINVAL, (DBM *) NULL;
@@ -88,17 +95,17 @@
  */
 	filelen = strlen(file);
 
-	if ((dirname = (char *) malloc(filelen + dirfext_len + 1
-				       + filelen + pagfext_len + 1)) == NULL)
+	if ((dirname = (char *) malloc(filelen + dirfext_size
+				       + filelen + pagfext_size)) == NULL)
 		return errno = ENOMEM, (DBM *) NULL;
 /*
  * build the file names
  */
 	memcpy(dirname, file, filelen);
-	memcpy(dirname + filelen, DIRFEXT, dirfext_len + 1);
-	pagname = dirname + filelen + dirfext_len + 1;
+	memcpy(dirname + filelen, DIRFEXT, dirfext_size);
+	pagname = dirname + filelen + dirfext_size;
 	memcpy(pagname, file, filelen);
-	memcpy(pagname + filelen, PAGFEXT, pagfext_len + 1);
+	memcpy(pagname + filelen, PAGFEXT, pagfext_size);
 
 	db = sdbm_prep(dirname, pagname, flags, mode);
 	free((char *) dirname);
@@ -108,7 +115,7 @@
 DBM *
 sdbm_prep(char *dirname, char *pagname, int flags, int mode)
 {
-	register DBM *db;
+	DBM *db;
 	struct stat dstat;
 
 	if ((db = (DBM *) malloc(sizeof(DBM))) == NULL)
@@ -165,7 +172,7 @@
 }
 
 void
-sdbm_close(register DBM *db)
+sdbm_close(DBM *db)
 {
 	if (db == NULL)
 		errno = EINVAL;
@@ -177,7 +184,7 @@
 }
 
 datum
-sdbm_fetch(register DBM *db, datum key)
+sdbm_fetch(DBM *db, datum key)
 {
 	if (db == NULL || bad(key))
 		return errno = EINVAL, nullitem;
@@ -189,7 +196,7 @@
 }
 
 int
-sdbm_exists(register DBM *db, datum key)
+sdbm_exists(DBM *db, datum key)
 {
 	if (db == NULL || bad(key))
 		return errno = EINVAL, -1;
@@ -201,7 +208,7 @@
 }
 
 int
-sdbm_delete(register DBM *db, datum key)
+sdbm_delete(DBM *db, datum key)
 {
 	if (db == NULL || bad(key))
 		return errno = EINVAL, -1;
@@ -225,10 +232,10 @@
 }
 
 int
-sdbm_store(register DBM *db, datum key, datum val, int flags)
+sdbm_store(DBM *db, datum key, datum val, int flags)
 {
 	int need;
-	register long hash;
+	long hash;
 
 	if (db == NULL || bad(key))
 		return errno = EINVAL, -1;
@@ -283,7 +290,7 @@
  * giving up.
  */
 static int
-makroom(register DBM *db, long int hash, int need)
+makroom(DBM *db, long int hash, int need)
 {
 	long newp;
 	char twin[PBLKSIZ];
@@ -293,7 +300,7 @@
 #endif
 	char *pag = db->pagbuf;
 	char *New = twin;
-	register int smax = SPLTMAX;
+	int smax = SPLTMAX;
 
 	do {
 /*
@@ -379,7 +386,7 @@
  * deletions aren't taken into account. (ndbm bug)
  */
 datum
-sdbm_firstkey(register DBM *db)
+sdbm_firstkey(DBM *db)
 {
 	if (db == NULL)
 		return errno = EINVAL, nullitem;
@@ -397,7 +404,7 @@
 }
 
 datum
-sdbm_nextkey(register DBM *db)
+sdbm_nextkey(DBM *db)
 {
 	if (db == NULL)
 		return errno = EINVAL, nullitem;
@@ -408,11 +415,11 @@
  * all important binary trie traversal
  */
 static int
-getpage(register DBM *db, register long int hash)
+getpage(DBM *db, long int hash)
 {
-	register int hbit;
-	register long dbit;
-	register long pagb;
+	int hbit;
+	long dbit;
+	long pagb;
 
 	dbit = 0;
 	hbit = 0;
@@ -447,10 +454,10 @@
 }
 
 static int
-getdbit(register DBM *db, register long int dbit)
+getdbit(DBM *db, long int dbit)
 {
-	register long c;
-	register long dirb;
+	long c;
+	long dirb;
 
 	c = dbit / BYTESIZ;
 	dirb = c / DBLKSIZ;
@@ -471,10 +478,10 @@
 }
 
 static int
-setdbit(register DBM *db, register long int dbit)
+setdbit(DBM *db, long int dbit)
 {
-	register long c;
-	register long dirb;
+	long c;
+	long dirb;
 
 	c = dbit / BYTESIZ;
 	dirb = c / DBLKSIZ;
@@ -513,7 +520,7 @@
  * the page, try the next page in sequence
  */
 static datum
-getnext(register DBM *db)
+getnext(DBM *db)
 {
 	datum key;
 


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.h
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -179,10 +179,19 @@
 #  define realloc Perl_realloc
 #  define free    Perl_mfree
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 Malloc_t Perl_malloc proto((MEM_SIZE nbytes));
 Malloc_t Perl_calloc proto((MEM_SIZE elements, MEM_SIZE size));
 Malloc_t Perl_realloc proto((Malloc_t where, MEM_SIZE nbytes));
 Free_t   Perl_mfree proto((Malloc_t where));
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* MYMALLOC */
 
 #ifdef I_STRING
@@ -250,11 +259,7 @@
 #else
 #   ifndef memcmp
 	/* maybe we should have included the full embedding header... */
-#	ifdef NO_EMBED
-#	    define memcmp my_memcmp
-#	else
-#	    define memcmp Perl_my_memcmp
-#	endif
+#	define memcmp Perl_my_memcmp
 #ifndef __cplusplus
 	extern int memcmp proto((char*, char*, int));
 #endif


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/sdbm.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/sdbm/tune.h
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/tune.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/tune.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/tune.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/sdbm/util.c
===================================================================
--- vendor/perl/dist/ext/SDBM_File/sdbm/util.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/sdbm/util.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 #endif
 
 void
-oops(register char *s1, register char *s2)
+oops(char *s1, char *s2)
 {
 	extern int errno, sys_nerr;
 	extern char *sys_errlist[];
@@ -24,9 +24,9 @@
 int
 okpage(char *pag)
 {
-	register unsigned n;
-	register off;
-	register short *ino = (short *) pag;
+	unsigned n;
+	int off;
+	short *ino = (short *) pag;
 
 	if ((n = ino[0]) > PBLKSIZ / sizeof(short))
 		return 0;


Property changes on: vendor/perl/dist/ext/SDBM_File/sdbm/util.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/SDBM_File/t/sdbm.t
===================================================================
--- vendor/perl/dist/ext/SDBM_File/t/sdbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/t/sdbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/SDBM_File/t/sdbm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/SDBM_File/typemap
===================================================================
--- vendor/perl/dist/ext/SDBM_File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/SDBM_File/typemap	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,6 @@
 ODBM_File		T_PTROBJ
 DB_File			T_PTROBJ
 DBZ_File		T_PTROBJ
-FATALFUNC		T_OPAQUEPTR
 
 INPUT
 T_DATUM_K


Property changes on: vendor/perl/dist/ext/SDBM_File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Safe/Safe.pm
===================================================================
--- vendor/perl/dist/ext/Safe/Safe.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Safe/Safe.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Safe/Safe.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Safe/t/safe1.t
===================================================================
--- vendor/perl/dist/ext/Safe/t/safe1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Safe/t/safe1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Safe/t/safe1.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Safe/t/safe2.t
===================================================================
--- vendor/perl/dist/ext/Safe/t/safe2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Safe/t/safe2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Safe/t/safe2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Safe/t/safe3.t
===================================================================
--- vendor/perl/dist/ext/Safe/t/safe3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Safe/t/safe3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Safe/t/safe3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Safe/t/safeload.t
===================================================================
--- vendor/perl/dist/ext/Safe/t/safeload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Safe/t/safeload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Safe/t/safeload.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Safe/t/safeops.t
===================================================================
--- vendor/perl/dist/ext/Safe/t/safeops.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Safe/t/safeops.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Safe/t/safeops.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Safe/t/safeuniversal.t
===================================================================
--- vendor/perl/dist/ext/Safe/t/safeuniversal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Safe/t/safeuniversal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Safe/t/safeuniversal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Socket/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Socket/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Socket/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Socket/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Socket/Socket.pm
===================================================================
--- vendor/perl/dist/ext/Socket/Socket.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Socket/Socket.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Socket/Socket.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Socket/Socket.xs
===================================================================
--- vendor/perl/dist/ext/Socket/Socket.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Socket/Socket.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Socket/Socket.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/Socket/t/Socket.t
===================================================================
--- vendor/perl/dist/ext/Socket/t/Socket.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Socket/t/Socket.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Socket/t/Socket.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Socket/t/getaddrinfo.t
===================================================================
--- vendor/perl/dist/ext/Socket/t/getaddrinfo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Socket/t/getaddrinfo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Socket/t/getaddrinfo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Socket/t/getnameinfo.t
===================================================================
--- vendor/perl/dist/ext/Socket/t/getnameinfo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Socket/t/getnameinfo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Socket/t/getnameinfo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Socket/t/socketpair.t
===================================================================
--- vendor/perl/dist/ext/Socket/t/socketpair.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Socket/t/socketpair.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Socket/t/socketpair.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/ChangeLog
===================================================================
--- vendor/perl/dist/ext/Storable/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Storable/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/README
===================================================================
--- vendor/perl/dist/ext/Storable/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/Storable.pm
===================================================================
--- vendor/perl/dist/ext/Storable/Storable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/Storable.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/Storable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/Storable.xs
===================================================================
--- vendor/perl/dist/ext/Storable/Storable.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/Storable.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/Storable.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/hints/gnukfreebsd.pl
===================================================================
--- vendor/perl/dist/ext/Storable/hints/gnukfreebsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/hints/gnukfreebsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/hints/gnukfreebsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/hints/gnuknetbsd.pl
===================================================================
--- vendor/perl/dist/ext/Storable/hints/gnuknetbsd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/hints/gnuknetbsd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/hints/gnuknetbsd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/hints/hpux.pl
===================================================================
--- vendor/perl/dist/ext/Storable/hints/hpux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/hints/hpux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/hints/hpux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/Storable/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/HAS_ATTACH.pm
===================================================================
--- vendor/perl/dist/ext/Storable/t/HAS_ATTACH.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/HAS_ATTACH.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/HAS_ATTACH.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/HAS_HOOK.pm
===================================================================
--- vendor/perl/dist/ext/Storable/t/HAS_HOOK.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/HAS_HOOK.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/HAS_HOOK.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/HAS_OVERLOAD.pm
===================================================================
--- vendor/perl/dist/ext/Storable/t/HAS_OVERLOAD.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/HAS_OVERLOAD.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/HAS_OVERLOAD.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/attach_errors.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/attach_errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/attach_errors.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/attach_errors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/attach_singleton.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/attach_singleton.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/attach_singleton.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/attach_singleton.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/blessed.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/blessed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/canonical.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/canonical.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/canonical.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/canonical.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/circular_hook.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/circular_hook.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/circular_hook.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/circular_hook.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/code.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/code.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/code.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/code.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/compat01.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/compat01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/compat01.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/compat01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/compat06.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/compat06.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/compat06.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/compat06.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/croak.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/croak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/croak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/croak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/dclone.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/dclone.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/dclone.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/dclone.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/downgrade.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/downgrade.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/downgrade.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/downgrade.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/file_magic.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/file_magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/file_magic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/file_magic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/forgive.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/forgive.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/forgive.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/forgive.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/freeze.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/freeze.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/freeze.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/freeze.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/integer.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/integer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/integer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/integer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/interwork56.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/interwork56.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/interwork56.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/interwork56.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/just_plain_nasty.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/just_plain_nasty.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/just_plain_nasty.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/just_plain_nasty.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/lock.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/lock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/lock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/lock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/make_56_interwork.pl
===================================================================
--- vendor/perl/dist/ext/Storable/t/make_56_interwork.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/make_56_interwork.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/make_56_interwork.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/make_downgrade.pl
===================================================================
--- vendor/perl/dist/ext/Storable/t/make_downgrade.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/make_downgrade.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/make_downgrade.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/make_overload.pl
===================================================================
--- vendor/perl/dist/ext/Storable/t/make_overload.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/make_overload.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/make_overload.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/malice.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/malice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/malice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/malice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/overload.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/recurse.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/recurse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/recurse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/recurse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/restrict.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/restrict.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/restrict.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/restrict.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/retrieve.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/retrieve.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/retrieve.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/retrieve.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/sig_die.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/sig_die.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/sig_die.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/sig_die.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/st-dump.pl
===================================================================
--- vendor/perl/dist/ext/Storable/t/st-dump.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/st-dump.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/st-dump.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/store.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/store.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/store.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/store.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/testlib.pl
===================================================================
--- vendor/perl/dist/ext/Storable/t/testlib.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/testlib.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/testlib.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/threads.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/tied.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/tied.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/tied.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/tied.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/tied_hook.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/tied_hook.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/tied_hook.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/tied_hook.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/tied_items.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/tied_items.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/tied_items.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/tied_items.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/utf8.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/utf8hash.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/utf8hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/utf8hash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/utf8hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Storable/t/weak.t
===================================================================
--- vendor/perl/dist/ext/Storable/t/weak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Storable/t/weak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Storable/t/weak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Hostname/Hostname.pm
===================================================================
--- vendor/perl/dist/ext/Sys/Hostname/Hostname.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Hostname/Hostname.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Hostname/Hostname.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Hostname/Hostname.xs
===================================================================
--- vendor/perl/dist/ext/Sys/Hostname/Hostname.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Hostname/Hostname.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Hostname/Hostname.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Hostname/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Sys/Hostname/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Hostname/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Hostname/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Hostname/t/Hostname.t
===================================================================
--- vendor/perl/dist/ext/Sys/Hostname/t/Hostname.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Hostname/t/Hostname.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Hostname/t/Hostname.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/README
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/Syslog.pm
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/Syslog.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/Syslog.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/Syslog.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/Syslog.xs
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/Syslog.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/Syslog.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/Syslog.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/fallback/const-c.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/fallback/const-c.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/fallback/const-c.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/fallback/const-xs.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/fallback/const-xs.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/fallback/const-xs.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/t/00-load.t
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/t/00-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/t/00-load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/t/00-load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/t/constants.t
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/t/constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/t/constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/t/constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys/Syslog/t/syslog.t
===================================================================
--- vendor/perl/dist/ext/Sys/Syslog/t/syslog.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys/Syslog/t/syslog.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys/Syslog/t/syslog.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Sys-Hostname/Hostname.pm
===================================================================
--- vendor/perl/dist/ext/Sys-Hostname/Hostname.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Hostname/Hostname.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 our $host;
 
 BEGIN {
-    $VERSION = '1.16';
+    $VERSION = '1.17';
     {
 	local $SIG{__DIE__};
 	eval {
@@ -64,10 +64,6 @@
     chomp($host = `hostname 2> NUL`) unless defined $host;
     return $host;
   }
-  elsif ($^O eq 'epoc') {
-    $host = 'localhost';
-    return $host;
-  }
   else {  # Unix
     # is anyone going to make it here?
 


Property changes on: vendor/perl/dist/ext/Sys-Hostname/Hostname.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Hostname/Hostname.xs
===================================================================
--- vendor/perl/dist/ext/Sys-Hostname/Hostname.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Hostname/Hostname.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Hostname/Hostname.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t
===================================================================
--- vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,6 +18,6 @@
     print "1..0\n" if $@ =~ /Cannot get host name/;
 } else {
     print "1..1\n";
-    print "# \$host = `$host'\n";
+    print "# \$host = '$host'\n";
     print "ok 1\n";
 }


Property changes on: vendor/perl/dist/ext/Sys-Hostname/t/Hostname.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/README
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/Syslog.pm
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/Syslog.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/Syslog.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/Syslog.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/Syslog.xs
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/Syslog.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/Syslog.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/Syslog.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/fallback/const-c.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/fallback/const-c.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/fallback/const-c.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/fallback/const-xs.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/fallback/const-xs.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/fallback/const-xs.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/fallback/syslog.h
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/fallback/syslog.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/fallback/syslog.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/fallback/syslog.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/t/00-load.t
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/t/00-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/t/00-load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/t/00-load.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/t/constants.t
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/t/constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/t/constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/t/constants.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Sys-Syslog/t/syslog.t
===================================================================
--- vendor/perl/dist/ext/Sys-Syslog/t/syslog.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Sys-Syslog/t/syslog.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Sys-Syslog/t/syslog.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/bin/prove
===================================================================
--- vendor/perl/dist/ext/Test-Harness/bin/prove	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/bin/prove	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/bin/prove
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result/Test.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State/Result.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/App/Prove/State.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/App/Prove.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/App/Prove.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/App/Prove.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/App/Prove.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Base.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Base.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Color.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Color.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Color.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Color.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/ParallelSession.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/Session.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/Session.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/Session.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console/Session.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Console.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File/Session.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File/Session.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File/Session.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File/Session.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Session.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Session.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Session.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Formatter/Session.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Harness.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Harness.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Harness.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Harness.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Object.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Object.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Object.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Object.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Aggregator.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Aggregator.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Aggregator.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Aggregator.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Grammar.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Grammar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Grammar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Grammar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Array.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Array.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Array.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Process.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Process.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Process.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator/Stream.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Iterator.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/IteratorFactory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/IteratorFactory.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/IteratorFactory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Multiplexer.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Multiplexer.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Multiplexer.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Multiplexer.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Bailout.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Bailout.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Bailout.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Comment.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Comment.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Comment.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Comment.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Plan.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Plan.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Plan.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Plan.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Pragma.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Pragma.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Pragma.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Test.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Unknown.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Unknown.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Unknown.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Version.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Version.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Version.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/Version.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/YAML.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/YAML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/YAML.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result/YAML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Result.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/ResultFactory.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/ResultFactory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/ResultFactory.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/ResultFactory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Job.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler/Spinner.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Scheduler.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source/Perl.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source/Perl.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source/Perl.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source/Perl.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Source.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Utils.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Reader.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser/YAMLish/Writer.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/TAP/Parser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/lib/Test/Harness.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/lib/Test/Harness.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/lib/Test/Harness.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/lib/Test/Harness.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/000-load.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/000-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/000-load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/000-load.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/aggregator.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/aggregator.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/aggregator.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/aggregator.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/bailout.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/bailout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/bailout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/bailout.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/base.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/base.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/callbacks.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/callbacks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/callbacks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/callbacks.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/env.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/env.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/env.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/env.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/failure.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/failure.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/failure.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/failure.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/inc-propagation.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/inc-propagation.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/inc-propagation.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/inc-propagation.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/inc_taint.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/inc_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/inc_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/inc_taint.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/nonumbers.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/nonumbers.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/nonumbers.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/nonumbers.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/regression.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/regression.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/regression.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/regression.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/switches.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/switches.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/switches.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/switches.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/test-harness-compat.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/test-harness-compat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/test-harness-compat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/test-harness-compat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/compat/version.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/compat/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/compat/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/compat/version.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/console.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/console.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/console.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/console.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/data/catme.1
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/data/catme.1	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/data/catme.1	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/data/catme.1
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/data/proverc
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/data/proverc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/data/proverc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/data/proverc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/data/sample.yml
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/data/sample.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/data/sample.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/data/sample.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/errors.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/errors.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/errors.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/file.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/file.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/glob-to-regexp.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/glob-to-regexp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/glob-to-regexp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/glob-to-regexp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/grammar.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/grammar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/grammar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/grammar.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/harness-bailout.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/harness-bailout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/harness-bailout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/harness-bailout.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/harness-subclass.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/harness-subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/harness-subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/harness-subclass.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/harness.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/harness.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/harness.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/harness.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/iterators.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/iterators.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/iterators.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/iterators.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/App/Prove/Plugin/Dummy2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/Dev/Null.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/Dev/Null.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/Dev/Null.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/Dev/Null.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/EmptyParser.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/EmptyParser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/EmptyParser.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/EmptyParser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/IO/c55Capture.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/IO/c55Capture.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/IO/c55Capture.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/IO/c55Capture.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/MyCustom.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/MyCustom.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/MyCustom.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/MyCustom.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/MyGrammar.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/MyGrammar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/MyGrammar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/MyGrammar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/MyIterator.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/MyIterator.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/MyIterator.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/MyIterator.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/MyIteratorFactory.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/MyIteratorFactory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/MyIteratorFactory.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/MyIteratorFactory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/MyPerlSource.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/MyPerlSource.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/MyPerlSource.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/MyPerlSource.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/MyResult.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/MyResult.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/MyResult.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/MyResult.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/MyResultFactory.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/MyResultFactory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/MyResultFactory.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/MyResultFactory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/MySource.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/MySource.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/MySource.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/MySource.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/NOP.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/NOP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/NOP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/NOP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/NoFork.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/NoFork.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/NoFork.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/NoFork.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/lib/TAP/Parser/SubclassTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/multiplexer.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/multiplexer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/multiplexer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/multiplexer.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/nofork-mux.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/nofork-mux.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/nofork-mux.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/nofork-mux.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/nofork.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/nofork.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/nofork.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/nofork.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/object.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/object.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/object.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/object.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/parse.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/parse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/parse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/parse.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/parser-config.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/parser-config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/parser-config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/parser-config.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/parser-subclass.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/parser-subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/parser-subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/parser-subclass.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/perl5lib.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/perl5lib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/perl5lib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/perl5lib.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/premature-bailout.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/premature-bailout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/premature-bailout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/premature-bailout.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/process.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/process.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/process.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/process.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/prove.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/prove.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/prove.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/prove.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/proveenv.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/proveenv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/proveenv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/proveenv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/proverc/emptyexec
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/proverc/emptyexec	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/proverc/emptyexec	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/proverc/emptyexec
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/proverc.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/proverc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/proverc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/proverc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/proverun.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/proverun.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/proverun.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/proverun.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/regression.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/regression.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/regression.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/regression.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/results.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/results.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/results.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/results.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/bailout
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/bailout	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/bailout	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/bailout
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum_many
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum_many	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum_many	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/bignum_many
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined_compat
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined_compat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined_compat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/combined_compat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/delayed
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/delayed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/delayed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/delayed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive_trailing
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive_trailing	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive_trailing	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/descriptive_trailing
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/die
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/die	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/die	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/die
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_head_end
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_head_end	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_head_end	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_head_end
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_last_minute
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_last_minute	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_last_minute	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_last_minute
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_unfinished
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_unfinished	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_unfinished	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/die_unfinished
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/duplicates
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/duplicates	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/duplicates	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/duplicates
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/echo
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/echo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/echo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/echo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/empty
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/empty	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/empty	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/empty
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_eol
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_eol	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_eol	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_eol
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_hash
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_hash	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_hash	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/escape_hash
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_end
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_end	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_end	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_end
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_fail
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_fail	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_fail	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/head_fail
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/inc_taint
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/inc_taint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/inc_taint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/inc_taint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/junk_before_plan
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/junk_before_plan	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/junk_before_plan	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/junk_before_plan
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/lone_not_bug
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/lone_not_bug	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/lone_not_bug	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/lone_not_bug
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_nums
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_nums	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_nums	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_nums
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_output
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_output	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_output	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/no_output
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_err_mix
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_err_mix	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_err_mix	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_err_mix
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_of_order
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_of_order	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_of_order	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/out_of_order
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern-todo-quiet
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern-todo-quiet	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern-todo-quiet	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/schwern-todo-quiet
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/segfault
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/segfault	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/segfault	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/segfault
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/sequence_misparse
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/sequence_misparse	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/sequence_misparse	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/sequence_misparse
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/shbang_misparse
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/shbang_misparse	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/shbang_misparse	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/shbang_misparse
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_fail
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_fail	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_fail	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_fail
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_yaml
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_yaml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_yaml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/simple_yaml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip_nomsg
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip_nomsg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip_nomsg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skip_nomsg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_nomsg
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_nomsg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_nomsg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_nomsg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_v13
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_v13	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_v13	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/skipall_v13
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/space_after_plan
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/space_after_plan	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/space_after_plan	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/space_after_plan
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/stdout_stderr
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/stdout_stderr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/stdout_stderr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/stdout_stderr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/strict
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/strict	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/strict	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/strict
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/switches
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/switches	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/switches	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/switches
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint_warn
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint_warn	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint_warn	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/taint_warn
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_inline
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_inline	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_inline	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_inline
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_misparse
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_misparse	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_misparse	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/todo_misparse
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/too_many
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/too_many	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/too_many	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/too_many
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_good
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_good	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_good	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_good
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_late
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_late	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_late	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_late
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_old
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_old	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_old	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/version_old
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/with_comments
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/with_comments	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/with_comments	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/with_comments
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/sample-tests/zero_valid
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/sample-tests/zero_valid	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/sample-tests/zero_valid	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/sample-tests/zero_valid
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/scheduler.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/scheduler.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/scheduler.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/scheduler.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/source.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/source.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/source.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/source.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/source_tests/harness	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/source_tests/harness	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_badtap
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_badtap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_badtap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_badtap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_complain
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_complain	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_complain	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_complain
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_directives
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_directives	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_directives	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_directives
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_failure
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_failure	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_failure	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/source_tests/harness_failure
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/source_tests/source
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/source_tests/source	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/source_tests/source	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/source_tests/source
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/spool.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/spool.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/spool.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/spool.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/state.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/state.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/state.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/state.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/state_results.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/state_results.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/state_results.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/state_results.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/streams.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/streams.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/streams.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/streams.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/subclass_tests/non_perl_source
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/subclass_tests/non_perl_source	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/subclass_tests/non_perl_source	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/subclass_tests/non_perl_source
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/subclass_tests/perl_source
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/subclass_tests/perl_source	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/subclass_tests/perl_source	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/subclass_tests/perl_source
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/taint.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/taint.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/testargs.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/testargs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/testargs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/testargs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/unicode.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/unicode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/unicode.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/utils.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/utils.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/utils.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/utils.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/yamlish-output.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/yamlish-output.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/yamlish-output.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/yamlish-output.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/yamlish-writer.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/yamlish-writer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/yamlish-writer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/yamlish-writer.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Test-Harness/t/yamlish.t
===================================================================
--- vendor/perl/dist/ext/Test-Harness/t/yamlish.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Test-Harness/t/yamlish.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Test-Harness/t/yamlish.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text/Soundex/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Text/Soundex/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text/Soundex/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text/Soundex/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text/Soundex/README
===================================================================
--- vendor/perl/dist/ext/Text/Soundex/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text/Soundex/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text/Soundex/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text/Soundex/Soundex.pm
===================================================================
--- vendor/perl/dist/ext/Text/Soundex/Soundex.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text/Soundex/Soundex.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text/Soundex/Soundex.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text/Soundex/Soundex.xs
===================================================================
--- vendor/perl/dist/ext/Text/Soundex/Soundex.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text/Soundex/Soundex.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text/Soundex/Soundex.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text/Soundex/t/Soundex.t
===================================================================
--- vendor/perl/dist/ext/Text/Soundex/t/Soundex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text/Soundex/t/Soundex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text/Soundex/t/Soundex.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text-Soundex/README
===================================================================
--- vendor/perl/dist/ext/Text-Soundex/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text-Soundex/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text-Soundex/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text-Soundex/Soundex.pm
===================================================================
--- vendor/perl/dist/ext/Text-Soundex/Soundex.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text-Soundex/Soundex.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text-Soundex/Soundex.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text-Soundex/Soundex.xs
===================================================================
--- vendor/perl/dist/ext/Text-Soundex/Soundex.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text-Soundex/Soundex.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text-Soundex/Soundex.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Text-Soundex/t/Soundex.t
===================================================================
--- vendor/perl/dist/ext/Text-Soundex/t/Soundex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Text-Soundex/t/Soundex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Text-Soundex/t/Soundex.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.pm
===================================================================
--- vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 use strict;
 package Tie::Hash::NamedCapture;
 
-our $VERSION = "0.08";
+our $VERSION = "0.09";
 
 require XSLoader;
 XSLoader::load(); # This returns true, which makes require happy.


Property changes on: vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.xs
===================================================================
--- vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -84,7 +84,7 @@
 
 	if (!rx || !SvROK(ST(0))) {
 	    if (ix & UNDEF_FATAL)
-		Perl_croak_no_modify(aTHX);
+		Perl_croak_no_modify();
 	    else
 		XSRETURN_UNDEF;
 	}


Property changes on: vendor/perl/dist/ext/Tie-Hash-NamedCapture/NamedCapture.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Tie-Hash-NamedCapture/t/tiehash.t
===================================================================
--- vendor/perl/dist/ext/Tie-Hash-NamedCapture/t/tiehash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Tie-Hash-NamedCapture/t/tiehash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Tie-Hash-NamedCapture/t/tiehash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Tie-Memoize/lib/Tie/Memoize.pm
===================================================================
--- vendor/perl/dist/ext/Tie-Memoize/lib/Tie/Memoize.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Tie-Memoize/lib/Tie/Memoize.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Tie-Memoize/lib/Tie/Memoize.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Tie-Memoize/t/Tie-Memoize.t
===================================================================
--- vendor/perl/dist/ext/Tie-Memoize/t/Tie-Memoize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Tie-Memoize/t/Tie-Memoize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Tie-Memoize/t/Tie-Memoize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/HiRes.pm
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/HiRes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/HiRes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/HiRes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/HiRes.xs
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/HiRes.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/HiRes.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/HiRes.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/fallback/const-c.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/fallback/const-c.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/fallback/const-c.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/fallback/const-xs.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/fallback/const-xs.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/fallback/const-xs.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/hints/aix.pl
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/hints/aix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/hints/aix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/hints/aix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/hints/dec_osf.pl
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/hints/dec_osf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/hints/dec_osf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/hints/dec_osf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/hints/dynixptx.pl
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/hints/dynixptx.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/hints/dynixptx.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/hints/dynixptx.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/hints/irix.pl
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/hints/irix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/hints/irix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/hints/irix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/hints/sco.pl
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/hints/solaris.pl
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/hints/solaris.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/hints/solaris.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/hints/solaris.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/hints/svr4.pl
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/hints/svr4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/hints/svr4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/hints/svr4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/t/HiRes.t
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/t/HiRes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/t/HiRes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/t/HiRes.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/HiRes/typemap
===================================================================
--- vendor/perl/dist/ext/Time/HiRes/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/HiRes/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/HiRes/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Time/Piece/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/Piece.pm
===================================================================
--- vendor/perl/dist/ext/Time/Piece/Piece.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/Piece.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/Piece.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/Piece.xs
===================================================================
--- vendor/perl/dist/ext/Time/Piece/Piece.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/Piece.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/Piece.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/README
===================================================================
--- vendor/perl/dist/ext/Time/Piece/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/Seconds.pm
===================================================================
--- vendor/perl/dist/ext/Time/Piece/Seconds.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/Seconds.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/Seconds.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/t/01base.t
===================================================================
--- vendor/perl/dist/ext/Time/Piece/t/01base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/t/01base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/t/01base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/t/02core.t
===================================================================
--- vendor/perl/dist/ext/Time/Piece/t/02core.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/t/02core.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/t/02core.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/t/03compare.t
===================================================================
--- vendor/perl/dist/ext/Time/Piece/t/03compare.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/t/03compare.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/t/03compare.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/t/04mjd.t
===================================================================
--- vendor/perl/dist/ext/Time/Piece/t/04mjd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/t/04mjd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/t/04mjd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/t/05overload.t
===================================================================
--- vendor/perl/dist/ext/Time/Piece/t/05overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/t/05overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/t/05overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time/Piece/t/06subclass.t
===================================================================
--- vendor/perl/dist/ext/Time/Piece/t/06subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time/Piece/t/06subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time/Piece/t/06subclass.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/HiRes.pm
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/HiRes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/HiRes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/HiRes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/HiRes.xs
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/HiRes.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/HiRes.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/HiRes.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/fallback/const-c.inc
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/fallback/const-c.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/fallback/const-c.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/fallback/const-c.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/fallback/const-xs.inc
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/fallback/const-xs.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/fallback/const-xs.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/fallback/const-xs.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/hints/aix.pl
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/hints/aix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/hints/aix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/hints/aix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/hints/dec_osf.pl
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/hints/dec_osf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/hints/dec_osf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/hints/dec_osf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/hints/dynixptx.pl
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/hints/dynixptx.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/hints/dynixptx.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/hints/dynixptx.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/hints/irix.pl
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/hints/irix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/hints/irix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/hints/irix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/hints/sco.pl
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/hints/sco.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/hints/sco.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/hints/sco.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/hints/solaris.pl
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/hints/solaris.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/hints/solaris.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/hints/solaris.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/hints/svr4.pl
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/hints/svr4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/hints/svr4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/hints/svr4.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/t/HiRes.t
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/t/HiRes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/t/HiRes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/t/HiRes.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-HiRes/typemap
===================================================================
--- vendor/perl/dist/ext/Time-HiRes/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-HiRes/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-HiRes/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Time-Piece/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/Piece.pm
===================================================================
--- vendor/perl/dist/ext/Time-Piece/Piece.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/Piece.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/Piece.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/Piece.xs
===================================================================
--- vendor/perl/dist/ext/Time-Piece/Piece.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/Piece.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/Piece.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/README
===================================================================
--- vendor/perl/dist/ext/Time-Piece/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/Seconds.pm
===================================================================
--- vendor/perl/dist/ext/Time-Piece/Seconds.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/Seconds.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/Seconds.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/t/01base.t
===================================================================
--- vendor/perl/dist/ext/Time-Piece/t/01base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/t/01base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/t/01base.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/t/02core.t
===================================================================
--- vendor/perl/dist/ext/Time-Piece/t/02core.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/t/02core.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/t/02core.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/t/03compare.t
===================================================================
--- vendor/perl/dist/ext/Time-Piece/t/03compare.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/t/03compare.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/t/03compare.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/t/04mjd.t
===================================================================
--- vendor/perl/dist/ext/Time-Piece/t/04mjd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/t/04mjd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/t/04mjd.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/t/05overload.t
===================================================================
--- vendor/perl/dist/ext/Time-Piece/t/05overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/t/05overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/t/05overload.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/t/06subclass.t
===================================================================
--- vendor/perl/dist/ext/Time-Piece/t/06subclass.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/t/06subclass.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/t/06subclass.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Time-Piece/t/07arith.t
===================================================================
--- vendor/perl/dist/ext/Time-Piece/t/07arith.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Time-Piece/t/07arith.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Time-Piece/t/07arith.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/Normalize.pm
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/Normalize.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/Normalize.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/Normalize.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/Normalize.xs
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/Normalize.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/Normalize.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/Normalize.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/README
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/mkheader
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/mkheader	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/mkheader	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/mkheader
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/fcdc.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/fcdc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/fcdc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/fcdc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/form.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/form.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/form.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/form.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/func.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/func.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/func.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/func.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/illegal.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/illegal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/illegal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/illegal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/norm.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/norm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/norm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/norm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/null.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/null.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/null.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/null.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/proto.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/proto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/proto.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/proto.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/split.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/split.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/split.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/split.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/test.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/test.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/test.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode/Normalize/t/tie.t
===================================================================
--- vendor/perl/dist/ext/Unicode/Normalize/t/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode/Normalize/t/tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode/Normalize/t/tie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/Normalize.pm
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/Normalize.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/Normalize.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/Normalize.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/Normalize.xs
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/Normalize.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/Normalize.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/Normalize.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/README
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/mkheader
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/mkheader	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/mkheader	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/mkheader
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/fcdc.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/fcdc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/fcdc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/fcdc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/form.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/form.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/form.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/form.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/func.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/func.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/func.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/func.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/illegal.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/illegal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/illegal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/illegal.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/norm.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/norm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/norm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/norm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/null.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/null.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/null.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/null.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/proto.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/proto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/proto.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/proto.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/split.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/split.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/split.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/split.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/test.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/test.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/test.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Unicode-Normalize/t/tie.t
===================================================================
--- vendor/perl/dist/ext/Unicode-Normalize/t/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Unicode-Normalize/t/tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Unicode-Normalize/t/tie.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-DCLsym/0README.txt
===================================================================
--- vendor/perl/dist/ext/VMS-DCLsym/0README.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-DCLsym/0README.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-DCLsym/0README.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm
===================================================================
--- vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-DCLsym/DCLsym.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-DCLsym/DCLsym.xs
===================================================================
--- vendor/perl/dist/ext/VMS-DCLsym/DCLsym.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-DCLsym/DCLsym.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-DCLsym/DCLsym.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-DCLsym/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/VMS-DCLsym/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-DCLsym/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-DCLsym/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-DCLsym/t/vms_dclsym.t
===================================================================
--- vendor/perl/dist/ext/VMS-DCLsym/t/vms_dclsym.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-DCLsym/t/vms_dclsym.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-DCLsym/t/vms_dclsym.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-Stdio/0README.txt
===================================================================
--- vendor/perl/dist/ext/VMS-Stdio/0README.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-Stdio/0README.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-Stdio/0README.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-Stdio/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/VMS-Stdio/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-Stdio/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-Stdio/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-Stdio/Stdio.pm
===================================================================
--- vendor/perl/dist/ext/VMS-Stdio/Stdio.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-Stdio/Stdio.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-Stdio/Stdio.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/VMS-Stdio/Stdio.xs
===================================================================
--- vendor/perl/dist/ext/VMS-Stdio/Stdio.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-Stdio/Stdio.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,6 @@
 /* VMS::Stdio - VMS extensions to stdio routines 
  *
- * Version:  2.3
  * Author:   Charles Bailey  bailey at newman.upenn.edu
- * Revised:  14-Jun-2007
  *
  */
 
@@ -15,9 +13,7 @@
 #include <starlet.h>
 
 static bool
-constant(name, pval)
-char *name;
-IV *pval;
+constant(char *name, IV *pval)
 {
     if (strnNE(name, "O_", 2)) return FALSE;
 
@@ -295,7 +291,7 @@
 	PROTOTYPE: @
 	CODE:
 	    char *args[8],mode[3] = {'r','\0','\0'}, type = '<';
-	    register int i, myargc;
+	    int i, myargc;
 	    FILE *fp;
             SV *fh;
            PerlIO *pio_fp;


Property changes on: vendor/perl/dist/ext/VMS-Stdio/Stdio.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/VMS-Stdio/t/vms_stdio.t
===================================================================
--- vendor/perl/dist/ext/VMS-Stdio/t/vms_stdio.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/VMS-Stdio/t/vms_stdio.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/VMS-Stdio/t/vms_stdio.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Win32/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/Win32.pm
===================================================================
--- vendor/perl/dist/ext/Win32/Win32.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/Win32.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/Win32.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/Win32.xs
===================================================================
--- vendor/perl/dist/ext/Win32/Win32.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/Win32.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/Win32.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/longpath.inc
===================================================================
--- vendor/perl/dist/ext/Win32/longpath.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/longpath.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/longpath.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/CreateFile.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/CreateFile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/CreateFile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/CreateFile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/ExpandEnvironmentStrings.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/ExpandEnvironmentStrings.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/ExpandEnvironmentStrings.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/ExpandEnvironmentStrings.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GetCurrentThreadId.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GetCurrentThreadId.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GetCurrentThreadId.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GetCurrentThreadId.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GetFileVersion.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GetFileVersion.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GetFileVersion.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GetFileVersion.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GetFolderPath.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GetFolderPath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GetFolderPath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GetFolderPath.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GetFullPathName.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GetFullPathName.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GetFullPathName.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GetFullPathName.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GetLongPathName.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GetLongPathName.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GetLongPathName.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GetLongPathName.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GetOSName.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GetOSName.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GetOSName.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GetOSName.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GetOSVersion.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GetOSVersion.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GetOSVersion.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GetOSVersion.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GetShortPathName.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GetShortPathName.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GetShortPathName.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GetShortPathName.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/GuidGen.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/GuidGen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/GuidGen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/GuidGen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/Names.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/Names.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/Names.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/Names.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32/t/Unicode.t
===================================================================
--- vendor/perl/dist/ext/Win32/t/Unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32/t/Unicode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32/t/Unicode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/ExtUtils/Myconst2perl.pm
===================================================================
--- vendor/perl/dist/ext/Win32API/File/ExtUtils/Myconst2perl.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/ExtUtils/Myconst2perl.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/ExtUtils/Myconst2perl.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/File.pm
===================================================================
--- vendor/perl/dist/ext/Win32API/File/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/File.xs
===================================================================
--- vendor/perl/dist/ext/Win32API/File/File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/File.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Win32API/File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/README
===================================================================
--- vendor/perl/dist/ext/Win32API/File/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/buffers.h
===================================================================
--- vendor/perl/dist/ext/Win32API/File/buffers.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/buffers.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/buffers.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/cFile.h
===================================================================
--- vendor/perl/dist/ext/Win32API/File/cFile.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/cFile.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/cFile.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/cFile.pc
===================================================================
--- vendor/perl/dist/ext/Win32API/File/cFile.pc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/cFile.pc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/cFile.pc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/const2perl.h
===================================================================
--- vendor/perl/dist/ext/Win32API/File/const2perl.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/const2perl.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/const2perl.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/t/file.t
===================================================================
--- vendor/perl/dist/ext/Win32API/File/t/file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/t/file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/t/file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/t/tie.t
===================================================================
--- vendor/perl/dist/ext/Win32API/File/t/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/t/tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/t/tie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API/File/typemap
===================================================================
--- vendor/perl/dist/ext/Win32API/File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API/File/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API/File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/ExtUtils/Myconst2perl.pm
===================================================================
--- vendor/perl/dist/ext/Win32API-File/ExtUtils/Myconst2perl.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/ExtUtils/Myconst2perl.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/ExtUtils/Myconst2perl.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/File.pm
===================================================================
--- vendor/perl/dist/ext/Win32API-File/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/File.xs
===================================================================
--- vendor/perl/dist/ext/Win32API-File/File.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/File.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/File.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Win32API-File/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/README
===================================================================
--- vendor/perl/dist/ext/Win32API-File/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/buffers.h
===================================================================
--- vendor/perl/dist/ext/Win32API-File/buffers.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/buffers.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/buffers.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/cFile.h
===================================================================
--- vendor/perl/dist/ext/Win32API-File/cFile.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/cFile.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/cFile.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/cFile.pc
===================================================================
--- vendor/perl/dist/ext/Win32API-File/cFile.pc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/cFile.pc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/cFile.pc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/const2perl.h
===================================================================
--- vendor/perl/dist/ext/Win32API-File/const2perl.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/const2perl.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/const2perl.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/t/file.t
===================================================================
--- vendor/perl/dist/ext/Win32API-File/t/file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/t/file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/t/file.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/t/tie.t
===================================================================
--- vendor/perl/dist/ext/Win32API-File/t/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/t/tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/t/tie.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32API-File/typemap
===================================================================
--- vendor/perl/dist/ext/Win32API-File/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32API-File/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32API-File/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32CORE/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/Win32CORE/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32CORE/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32CORE/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Win32CORE/Win32CORE.c
===================================================================
--- vendor/perl/dist/ext/Win32CORE/Win32CORE.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32CORE/Win32CORE.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,6 +13,7 @@
 #if defined(__CYGWIN__) && !defined(USEIMPORTLIB)
   #undef WIN32
 #endif
+#define PERL_NO_GET_CONTEXT
 #include "EXTERN.h"
 #if defined(__CYGWIN__) && !defined(USEIMPORTLIB)
   #define EXTCONST extern const
@@ -20,11 +21,15 @@
 #include "perl.h"
 #include "XSUB.h"
 
-static void
-forward(pTHX_ const char *function)
-{
+
+XS(w32_CORE_all){
     dXSARGS;
     DWORD err = GetLastError();
+    /* capture the XSANY value before Perl_load_module, the CV's any member will
+     * be overwritten by Perl_load_module and subsequent newXSes or pure perl
+     * subs
+     */
+    const char *function  = (const char *) XSANY.any_ptr;
     Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT, newSVpvn("Win32",5), newSVnv(0.27));
     SetLastError(err);
     SPAGAIN;
@@ -32,36 +37,7 @@
     call_pv(function, GIMME_V);
 }
 
-#define FORWARD(function) XS(w32_##function){ forward(aTHX_ "Win32::"#function); }
-FORWARD(GetCwd)
-FORWARD(SetCwd)
-FORWARD(GetNextAvailDrive)
-FORWARD(GetLastError)
-FORWARD(SetLastError)
-FORWARD(LoginName)
-FORWARD(NodeName)
-FORWARD(DomainName)
-FORWARD(FsType)
-FORWARD(GetOSVersion)
-FORWARD(IsWinNT)
-FORWARD(IsWin95)
-FORWARD(FormatMessage)
-FORWARD(Spawn)
-FORWARD(GetTickCount)
-FORWARD(GetShortPathName)
-FORWARD(GetFullPathName)
-FORWARD(GetLongPathName)
-FORWARD(CopyFile)
-FORWARD(Sleep)
-
-/* Don't forward Win32::SetChildShowWindow().  It accesses the internal variable
- * w32_showwindow in thread_intern and is therefore not implemented in Win32.xs.
- */
-/* FORWARD(SetChildShowWindow) */
-
-#undef FORWARD
-
-XS(boot_Win32CORE)
+XS_EXTERNAL(boot_Win32CORE)
 {
     /* This function only exists because writemain.SH, lib/ExtUtils/Embed.pm
      * and win32/buildext.pl will all generate references to it.  The function
@@ -78,27 +54,84 @@
      * is not yet fully initialized, so don't do anything fancy in here.
      */
 
-    char *file = __FILE__;
+    static const struct {
+	char Win32__GetCwd [sizeof("Win32::GetCwd")];
+	char Win32__SetCwd [sizeof("Win32::SetCwd")];
+	char Win32__GetNextAvailDrive [sizeof("Win32::GetNextAvailDrive")];
+	char Win32__GetLastError [sizeof("Win32::GetLastError")];
+	char Win32__SetLastError [sizeof("Win32::SetLastError")];
+	char Win32__LoginName [sizeof("Win32::LoginName")];
+	char Win32__NodeName [sizeof("Win32::NodeName")];
+	char Win32__DomainName [sizeof("Win32::DomainName")];
+	char Win32__FsType [sizeof("Win32::FsType")];
+	char Win32__GetOSVersion [sizeof("Win32::GetOSVersion")];
+	char Win32__IsWinNT [sizeof("Win32::IsWinNT")];
+	char Win32__IsWin95 [sizeof("Win32::IsWin95")];
+	char Win32__FormatMessage [sizeof("Win32::FormatMessage")];
+	char Win32__Spawn [sizeof("Win32::Spawn")];
+	char Win32__GetTickCount [sizeof("Win32::GetTickCount")];
+	char Win32__GetShortPathName [sizeof("Win32::GetShortPathName")];
+	char Win32__GetFullPathName [sizeof("Win32::GetFullPathName")];
+	char Win32__GetLongPathName [sizeof("Win32::GetLongPathName")];
+	char Win32__CopyFile [sizeof("Win32::CopyFile")];
+	char Win32__Sleep [sizeof("Win32::Sleep")];
+    } fnname_table = {
+	"Win32::GetCwd",
+	"Win32::SetCwd",
+	"Win32::GetNextAvailDrive",
+	"Win32::GetLastError",
+	"Win32::SetLastError",
+	"Win32::LoginName",
+	"Win32::NodeName",
+	"Win32::DomainName",
+	"Win32::FsType",
+	"Win32::GetOSVersion",
+	"Win32::IsWinNT",
+	"Win32::IsWin95",
+	"Win32::FormatMessage",
+	"Win32::Spawn",
+	"Win32::GetTickCount",
+	"Win32::GetShortPathName",
+	"Win32::GetFullPathName",
+	"Win32::GetLongPathName",
+	"Win32::CopyFile",
+	"Win32::Sleep"
+    };
 
-    newXS("Win32::GetCwd", w32_GetCwd, file);
-    newXS("Win32::SetCwd", w32_SetCwd, file);
-    newXS("Win32::GetNextAvailDrive", w32_GetNextAvailDrive, file);
-    newXS("Win32::GetLastError", w32_GetLastError, file);
-    newXS("Win32::SetLastError", w32_SetLastError, file);
-    newXS("Win32::LoginName", w32_LoginName, file);
-    newXS("Win32::NodeName", w32_NodeName, file);
-    newXS("Win32::DomainName", w32_DomainName, file);
-    newXS("Win32::FsType", w32_FsType, file);
-    newXS("Win32::GetOSVersion", w32_GetOSVersion, file);
-    newXS("Win32::IsWinNT", w32_IsWinNT, file);
-    newXS("Win32::IsWin95", w32_IsWin95, file);
-    newXS("Win32::FormatMessage", w32_FormatMessage, file);
-    newXS("Win32::Spawn", w32_Spawn, file);
-    newXS("Win32::GetTickCount", w32_GetTickCount, file);
-    newXS("Win32::GetShortPathName", w32_GetShortPathName, file);
-    newXS("Win32::GetFullPathName", w32_GetFullPathName, file);
-    newXS("Win32::GetLongPathName", w32_GetLongPathName, file);
-    newXS("Win32::CopyFile", w32_CopyFile, file);
-    newXS("Win32::Sleep", w32_Sleep, file);
+    static const unsigned char fnname_lens [] = {
+	sizeof("Win32::GetCwd"),
+	sizeof("Win32::SetCwd"),
+	sizeof("Win32::GetNextAvailDrive"),
+	sizeof("Win32::GetLastError"),
+	sizeof("Win32::SetLastError"),
+	sizeof("Win32::LoginName"),
+	sizeof("Win32::NodeName"),
+	sizeof("Win32::DomainName"),
+	sizeof("Win32::FsType"),
+	sizeof("Win32::GetOSVersion"),
+	sizeof("Win32::IsWinNT"),
+	sizeof("Win32::IsWin95"),
+	sizeof("Win32::FormatMessage"),
+	sizeof("Win32::Spawn"),
+	sizeof("Win32::GetTickCount"),
+	sizeof("Win32::GetShortPathName"),
+	sizeof("Win32::GetFullPathName"),
+	sizeof("Win32::GetLongPathName"),
+	sizeof("Win32::CopyFile"),
+	sizeof("Win32::Sleep")
+    };
+    const unsigned char * len = (const unsigned char *)&fnname_lens;
+    const char * function = (char *)&fnname_table;
+    while (function < (char *)&fnname_table + sizeof(fnname_table)) {
+	const char * const file = __FILE__;
+	CV * const cv = newXS(function, w32_CORE_all, file);
+	XSANY.any_ptr = (void *)function;
+	function += *len++;
+    }
+
+
+    /* Don't forward Win32::SetChildShowWindow().  It accesses the internal variable
+     * w32_showwindow in thread_intern and is therefore not implemented in Win32.xs.
+     */
     /* newXS("Win32::SetChildShowWindow", w32_SetChildShowWindow, file); */
 }


Property changes on: vendor/perl/dist/ext/Win32CORE/Win32CORE.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/Win32CORE/Win32CORE.pm
===================================================================
--- vendor/perl/dist/ext/Win32CORE/Win32CORE.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32CORE/Win32CORE.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package Win32CORE;
 
-$VERSION = '0.02';
+$VERSION = '0.04';
 
 # There is no reason to load this module explicitly.  It will be
 # initialized using xs_init() when the interpreter is constructed.


Property changes on: vendor/perl/dist/ext/Win32CORE/Win32CORE.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/Win32CORE/t/win32core.t
===================================================================
--- vendor/perl/dist/ext/Win32CORE/t/win32core.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/Win32CORE/t/win32core.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/Win32CORE/t/win32core.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/APItest.pm
===================================================================
--- vendor/perl/dist/ext/XS/APItest/APItest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/APItest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/APItest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/APItest.xs
===================================================================
--- vendor/perl/dist/ext/XS/APItest/APItest.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/APItest.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/APItest.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/XS/APItest/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/README
===================================================================
--- vendor/perl/dist/ext/XS/APItest/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/core.c
===================================================================
--- vendor/perl/dist/ext/XS/APItest/core.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/core.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/core.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/core_or_not.inc
===================================================================
--- vendor/perl/dist/ext/XS/APItest/core_or_not.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/core_or_not.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/core_or_not.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/exception.c
===================================================================
--- vendor/perl/dist/ext/XS/APItest/exception.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/exception.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/exception.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/notcore.c
===================================================================
--- vendor/perl/dist/ext/XS/APItest/notcore.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/notcore.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/notcore.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/call.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/call.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/call.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/call.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/exception.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/exception.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/exception.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/exception.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/hash.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/hash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/my_cxt.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/my_cxt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/my_cxt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/my_cxt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/op.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/op.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/op.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/op.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/printf.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/printf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/printf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/printf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/push.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/push.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/push.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/push.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/svsetsv.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/svsetsv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/svsetsv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/svsetsv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/xs_special_subs.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/xs_special_subs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/xs_special_subs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/xs_special_subs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/APItest/t/xs_special_subs_require.t
===================================================================
--- vendor/perl/dist/ext/XS/APItest/t/xs_special_subs_require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/APItest/t/xs_special_subs_require.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/APItest/t/xs_special_subs_require.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/Typemap/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/XS/Typemap/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/Typemap/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/Typemap/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/Typemap/README
===================================================================
--- vendor/perl/dist/ext/XS/Typemap/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/Typemap/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/Typemap/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/Typemap/Typemap.pm
===================================================================
--- vendor/perl/dist/ext/XS/Typemap/Typemap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/Typemap/Typemap.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/Typemap/Typemap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/Typemap/Typemap.xs
===================================================================
--- vendor/perl/dist/ext/XS/Typemap/Typemap.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/Typemap/Typemap.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/Typemap/Typemap.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/Typemap/stdio.c
===================================================================
--- vendor/perl/dist/ext/XS/Typemap/stdio.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/Typemap/stdio.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/Typemap/stdio.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/Typemap/t/Typemap.t
===================================================================
--- vendor/perl/dist/ext/XS/Typemap/t/Typemap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/Typemap/t/Typemap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/Typemap/t/Typemap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS/Typemap/typemap
===================================================================
--- vendor/perl/dist/ext/XS/Typemap/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS/Typemap/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS/Typemap/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/APItest.pm
===================================================================
--- vendor/perl/dist/ext/XS-APItest/APItest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/APItest.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,6 +5,8 @@
 use warnings;
 use Carp;
 
+our $VERSION = '0.51';
+
 require XSLoader;
 
 # Export everything since these functions are only used by a test script
@@ -24,6 +26,8 @@
 	    if ($sym_name =~ /::$/) {
 		# Skip any subpackages that are clearly OO
 		next if *{$glob}{HASH}{'new'};
+		# and any that have AUTOLOAD
+		next if *{$glob}{HASH}{AUTOLOAD};
 		push @stashes, "$stash_name$sym_name", *{$glob}{HASH};
 	    } elsif (ref $glob eq 'SCALAR' || *{$glob}{CODE}) {
 		if ($exports) {
@@ -50,8 +54,6 @@
     }
 }
 
-our $VERSION = '0.28';
-
 use vars '$WARNINGS_ON_BOOTSTRAP';
 use vars map "\$${_}_called_PP", qw(BEGIN UNITCHECK CHECK INIT END);
 
@@ -94,6 +96,9 @@
     XSLoader::load();
 }
 
+# This XS function needs the lvalue attr applied.
+eval 'use attributes __PACKAGE__, \\&lv_temp_object, "lvalue"; 1' or die;
+
 1;
 __END__
 


Property changes on: vendor/perl/dist/ext/XS-APItest/APItest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/APItest.xs
===================================================================
--- vendor/perl/dist/ext/XS-APItest/APItest.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/APItest.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -78,7 +78,7 @@
 /* A routine to test hv_delayfree_ent
    (which itself is tested by testing on hv_free_ent  */
 
-typedef void (freeent_function)(pTHX_ HV *, register HE *);
+typedef void (freeent_function)(pTHX_ HV *, HE *);
 
 void
 test_freeent(freeent_function *f) {
@@ -148,7 +148,7 @@
 		const char *const end = p + len;
 		while (p < end) {
 		    STRLEN len;
-		    UV chr = utf8_to_uvuni((U8 *)p, &len);
+		    UV chr = utf8_to_uvuni_buf((U8 *)p, (U8 *) end, &len);
 		    new_p = (char *)uvuni_to_utf8((U8 *)new_p, chr ^ 32);
 		    p += len;
 		}
@@ -587,6 +587,58 @@
 	op_lvalue(op_contextualize(argop, G_SCALAR), OP_POSTINC));
 }
 
+STATIC OP *
+THX_ck_entersub_pad_scalar(pTHX_ OP *entersubop, GV *namegv, SV *ckobj)
+{
+    OP *pushop, *argop;
+    PADOFFSET padoff = NOT_IN_PAD;
+    SV *a0, *a1;
+    ck_entersub_args_proto(entersubop, namegv, ckobj);
+    pushop = cUNOPx(entersubop)->op_first;
+    if(!pushop->op_sibling) pushop = cUNOPx(pushop)->op_first;
+    argop = pushop->op_sibling;
+    if(argop->op_type != OP_CONST || argop->op_sibling->op_type != OP_CONST)
+	croak("bad argument expression type for pad_scalar()");
+    a0 = cSVOPx_sv(argop);
+    a1 = cSVOPx_sv(argop->op_sibling);
+    switch(SvIV(a0)) {
+	case 1: {
+	    SV *namesv = sv_2mortal(newSVpvs("$"));
+	    sv_catsv(namesv, a1);
+	    padoff = pad_findmy_sv(namesv, 0);
+	} break;
+	case 2: {
+	    char *namepv;
+	    STRLEN namelen;
+	    SV *namesv = sv_2mortal(newSVpvs("$"));
+	    sv_catsv(namesv, a1);
+	    namepv = SvPV(namesv, namelen);
+	    padoff = pad_findmy_pvn(namepv, namelen, SvUTF8(namesv));
+	} break;
+	case 3: {
+	    char *namepv;
+	    SV *namesv = sv_2mortal(newSVpvs("$"));
+	    sv_catsv(namesv, a1);
+	    namepv = SvPV_nolen(namesv);
+	    padoff = pad_findmy_pv(namepv, SvUTF8(namesv));
+	} break;
+	case 4: {
+	    padoff = pad_findmy_pvs("$foo", 0);
+	} break;
+	default: croak("bad type value for pad_scalar()");
+    }
+    op_free(entersubop);
+    if(padoff == NOT_IN_PAD) {
+	return newSVOP(OP_CONST, 0, newSVpvs("NOT_IN_PAD"));
+    } else if(PAD_COMPNAME_FLAGS_isOUR(padoff)) {
+	return newSVOP(OP_CONST, 0, newSVpvs("NOT_MY"));
+    } else {
+	OP *padop = newOP(OP_PADSV, 0);
+	padop->op_targ = padoff;
+	return padop;
+    }
+}
+
 /** RPN keyword parser **/
 
 #define sv_is_glob(sv) (SvTYPE(sv) == SVt_PVGV)
@@ -627,11 +679,7 @@
     }
     if(s-start < 2) croak("RPN syntax error");
     lex_read_to(s);
-    {
-	/* because pad_findmy() doesn't really use length yet */
-	SV *namesv = sv_2mortal(newSVpvn(start, s-start));
-	varpos = pad_findmy(SvPVX(namesv), s-start, 0);
-    }
+    varpos = pad_findmy_pvn(start, s-start, 0);
     if(varpos == NOT_IN_PAD || PAD_COMPNAME_FLAGS_isOUR(varpos))
 	croak("RPN only supports \"my\" variables");
     padop = newOP(OP_PADSV, 0);
@@ -843,7 +891,9 @@
     OP *sop = parse_barestmt(0);
     SV *label = parse_label(PARSE_OPTIONAL);
     if (label) sv_2mortal(label);
-    return newSTATEOP(0, label ? savepv(SvPVX(label)) : NULL, sop);
+    return newSTATEOP(label ? SvUTF8(label) : 0,
+                      label ? savepv(SvPVX(label)) : NULL,
+                      sop);
 }
 
 #define parse_keyword_labelconst() THX_parse_keyword_labelconst(aTHX)
@@ -1015,11 +1065,65 @@
     return SvCUR(buf_sv);
 }
 
+static AV *
+myget_linear_isa(pTHX_ HV *stash, U32 level) {
+    GV **gvp = (GV **)hv_fetchs(stash, "ISA", 0);
+    PERL_UNUSED_ARG(level);
+    return gvp && *gvp && GvAV(*gvp)
+	 ? GvAV(*gvp)
+	 : (AV *)sv_2mortal((SV *)newAV());
+}
 
-XS(XS_XS__APItest__XSUB_XS_VERSION_undef);
-XS(XS_XS__APItest__XSUB_XS_VERSION_empty);
-XS(XS_XS__APItest__XSUB_XS_APIVERSION_invalid);
 
+XS_EXTERNAL(XS_XS__APItest__XSUB_XS_VERSION_undef);
+XS_EXTERNAL(XS_XS__APItest__XSUB_XS_VERSION_empty);
+XS_EXTERNAL(XS_XS__APItest__XSUB_XS_APIVERSION_invalid);
+
+static struct mro_alg mymro;
+
+static Perl_check_t addissub_nxck_add;
+
+static OP *
+addissub_myck_add(pTHX_ OP *op)
+{
+    SV **flag_svp = hv_fetchs(GvHV(PL_hintgv), "XS::APItest/addissub", 0);
+    OP *aop, *bop;
+    U8 flags;
+    if (!(flag_svp && SvTRUE(*flag_svp) && (op->op_flags & OPf_KIDS) &&
+	    (aop = cBINOPx(op)->op_first) && (bop = aop->op_sibling) &&
+	    !bop->op_sibling))
+	return addissub_nxck_add(aTHX_ op);
+    aop->op_sibling = NULL;
+    cBINOPx(op)->op_first = NULL;
+    op->op_flags &= ~OPf_KIDS;
+    flags = op->op_flags;
+    op_free(op);
+    return newBINOP(OP_SUBTRACT, flags, aop, bop);
+}
+
+static Perl_check_t old_ck_rv2cv;
+
+static OP *
+my_ck_rv2cv(pTHX_ OP *o)
+{
+    SV *ref;
+    SV **flag_svp = hv_fetchs(GvHV(PL_hintgv), "XS::APItest/addunder", 0);
+    OP *aop;
+
+    if (flag_svp && SvTRUE(*flag_svp) && (o->op_flags & OPf_KIDS)
+     && (aop = cUNOPx(o)->op_first) && aop->op_type == OP_CONST
+     && aop->op_private & (OPpCONST_ENTERED|OPpCONST_BARE)
+     && (ref = cSVOPx(aop)->op_sv) && SvPOK(ref) && SvCUR(ref)
+     && *(SvEND(ref)-1) == 'o')
+    {
+	SvGROW(ref, SvCUR(ref)+2);
+	*SvEND(ref) = '_';
+	SvCUR(ref)++;
+	*SvEND(ref) = '\0';
+    }
+    return old_ck_rv2cv(aTHX_ o);
+}
+
 #include "const-c.inc"
 
 MODULE = XS::APItest		PACKAGE = XS::APItest
@@ -1046,6 +1150,41 @@
     OUTPUT:
 	RETVAL
 
+AV *
+test_utf8n_to_uvuni(s, len, flags)
+
+        SV *s
+        SV *len
+        SV *flags
+    PREINIT:
+        STRLEN retlen;
+        UV ret;
+        STRLEN slen;
+
+    CODE:
+        /* Call utf8n_to_uvuni() with the inputs.  It always asks for the
+         * actual length to be returned
+         *
+         * Length to assume <s> is; not checked, so could have buffer overflow
+         */
+        RETVAL = newAV();
+        sv_2mortal((SV*)RETVAL);
+
+        ret
+         = utf8n_to_uvuni((U8*) SvPV(s, slen), SvUV(len), &retlen, SvUV(flags));
+
+        /* Returns the return value in [0]; <retlen> in [1] */
+        av_push(RETVAL, newSVuv(ret));
+        if (retlen == (STRLEN) -1) {
+            av_push(RETVAL, newSViv(-1));
+        }
+        else {
+            av_push(RETVAL, newSVuv(retlen));
+        }
+
+    OUTPUT:
+        RETVAL
+
 MODULE = XS::APItest:Overload	PACKAGE = XS::APItest::Overload
 
 void
@@ -1469,10 +1608,36 @@
 ptr_table_clear(table)
 XS::APItest::PtrTable table
 
+MODULE = XS::APItest::AutoLoader	PACKAGE = XS::APItest::AutoLoader
+
+SV *
+AUTOLOAD()
+    CODE:
+	RETVAL = newSVpvn_flags(SvPVX(cv), SvCUR(cv), SvUTF8(cv));
+    OUTPUT:
+	RETVAL
+
+SV *
+AUTOLOADp(...)
+    PROTOTYPE: *$
+    CODE:
+	RETVAL = newSVpvn_flags(SvPVX(cv), SvCUR(cv), SvUTF8(cv));
+    OUTPUT:
+	RETVAL
+
+
 MODULE = XS::APItest		PACKAGE = XS::APItest
 
 PROTOTYPES: DISABLE
 
+BOOT:
+    mymro.resolve = myget_linear_isa;
+    mymro.name    = "justisa";
+    mymro.length  = 7;
+    mymro.kflags  = 0;
+    mymro.hash    = 0;
+    Perl_mro_register(aTHX_ &mymro);
+
 HV *
 xop_custom_ops ()
     CODE:
@@ -1792,6 +1957,200 @@
 	PUSHs(sv_2mortal(newSViv(i)));
 
 void
+newCONSTSUB(stash, name, flags, sv)
+    HV* stash
+    SV* name
+    I32 flags
+    SV* sv
+    ALIAS:
+	newCONSTSUB_flags = 1
+    PREINIT:
+	CV* mycv;
+	STRLEN len;
+	const char *pv = SvPV(name, len);
+    PPCODE:
+        switch (ix) {
+           case 0:
+               mycv = newCONSTSUB(stash, pv, SvOK(sv) ? SvREFCNT_inc(sv) : NULL);
+               break;
+           case 1:
+               mycv = newCONSTSUB_flags(
+                 stash, pv, len, flags | SvUTF8(name), SvOK(sv) ? SvREFCNT_inc(sv) : NULL
+               );
+               break;
+        }
+        EXTEND(SP, 2);
+        PUSHs( CvCONST(mycv) ? &PL_sv_yes : &PL_sv_no );
+        PUSHs((SV*)CvGV(mycv));
+
+void
+gv_init_type(namesv, multi, flags, type)
+    SV* namesv
+    int multi
+    I32 flags
+    int type
+    PREINIT:
+        STRLEN len;
+        const char * const name = SvPV_const(namesv, len);
+        GV *gv = *(GV**)hv_fetch(PL_defstash, name, len, TRUE);
+    PPCODE:
+        if (SvTYPE(gv) == SVt_PVGV)
+            Perl_croak(aTHX_ "GV is already a PVGV");
+        if (multi) flags |= GV_ADDMULTI;
+        switch (type) {
+           case 0:
+	       gv_init(gv, PL_defstash, name, len, multi);
+               break;
+           case 1:
+               gv_init_sv(gv, PL_defstash, namesv, flags);
+               break;
+           case 2:
+               gv_init_pv(gv, PL_defstash, name, flags | SvUTF8(namesv));
+               break;
+           case 3:
+               gv_init_pvn(gv, PL_defstash, name, len, flags | SvUTF8(namesv));
+               break;
+        }
+	XPUSHs( gv ? (SV*)gv : &PL_sv_undef);
+
+void
+gv_fetchmeth_type(stash, methname, type, level, flags)
+    HV* stash
+    SV* methname
+    int type
+    I32 level
+    I32 flags
+    PREINIT:
+        STRLEN len;
+        const char * const name = SvPV_const(methname, len);
+	GV* gv;
+    PPCODE:
+        switch (type) {
+           case 0:
+	       gv = gv_fetchmeth(stash, name, len, level);
+               break;
+           case 1:
+               gv = gv_fetchmeth_sv(stash, methname, level, flags);
+               break;
+           case 2:
+               gv = gv_fetchmeth_pv(stash, name, level, flags | SvUTF8(methname));
+               break;
+           case 3:
+               gv = gv_fetchmeth_pvn(stash, name, len, level, flags | SvUTF8(methname));
+               break;
+        }
+	XPUSHs( gv ? MUTABLE_SV(gv) : &PL_sv_undef );
+
+void
+gv_fetchmeth_autoload_type(stash, methname, type, level, flags)
+    HV* stash
+    SV* methname
+    int type
+    I32 level
+    I32 flags
+    PREINIT:
+        STRLEN len;
+        const char * const name = SvPV_const(methname, len);
+	GV* gv;
+    PPCODE:
+        switch (type) {
+           case 0:
+	       gv = gv_fetchmeth_autoload(stash, name, len, level);
+               break;
+           case 1:
+               gv = gv_fetchmeth_sv_autoload(stash, methname, level, flags);
+               break;
+           case 2:
+               gv = gv_fetchmeth_pv_autoload(stash, name, level, flags | SvUTF8(methname));
+               break;
+           case 3:
+               gv = gv_fetchmeth_pvn_autoload(stash, name, len, level, flags | SvUTF8(methname));
+               break;
+        }
+	XPUSHs( gv ? MUTABLE_SV(gv) : &PL_sv_undef );
+
+void
+gv_fetchmethod_flags_type(stash, methname, type, flags)
+    HV* stash
+    SV* methname
+    int type
+    I32 flags
+    PREINIT:
+	GV* gv;
+    PPCODE:
+        switch (type) {
+           case 0:
+	       gv = gv_fetchmethod_flags(stash, SvPVX_const(methname), flags);
+               break;
+           case 1:
+               gv = gv_fetchmethod_sv_flags(stash, methname, flags);
+               break;
+           case 2:
+               gv = gv_fetchmethod_pv_flags(stash, SvPV_nolen(methname), flags | SvUTF8(methname));
+               break;
+           case 3: {
+               STRLEN len;
+               const char * const name = SvPV_const(methname, len);
+               gv = gv_fetchmethod_pvn_flags(stash, name, len, flags | SvUTF8(methname));
+               break;
+            }
+        }
+	XPUSHs( gv ? (SV*)gv : &PL_sv_undef);
+
+void
+gv_autoload_type(stash, methname, type, method)
+    HV* stash
+    SV* methname
+    int type
+    I32 method
+    PREINIT:
+        STRLEN len;
+        const char * const name = SvPV_const(methname, len);
+	GV* gv;
+	I32 flags = method ? GV_AUTOLOAD_ISMETHOD : 0;
+    PPCODE:
+        switch (type) {
+           case 0:
+	       gv = gv_autoload4(stash, name, len, method);
+               break;
+           case 1:
+               gv = gv_autoload_sv(stash, methname, flags);
+               break;
+           case 2:
+               gv = gv_autoload_pv(stash, name, flags | SvUTF8(methname));
+               break;
+           case 3:
+               gv = gv_autoload_pvn(stash, name, len, flags | SvUTF8(methname));
+               break;
+        }
+	XPUSHs( gv ? (SV*)gv : &PL_sv_undef);
+
+void
+whichsig_type(namesv, type)
+    SV* namesv
+    int type
+    PREINIT:
+        STRLEN len;
+        const char * const name = SvPV_const(namesv, len);
+        I32 i;
+    PPCODE:
+        switch (type) {
+           case 0:
+              i = whichsig(name);
+               break;
+           case 1:
+               i = whichsig_sv(namesv);
+               break;
+           case 2:
+               i = whichsig_pv(name);
+               break;
+           case 3:
+               i = whichsig_pvn(name, len);
+               break;
+        }
+        XPUSHs(sv_2mortal(newSViv(i)));
+
+void
 eval_sv(sv, flags)
     SV* sv
     I32 flags
@@ -1883,6 +2242,21 @@
 sv_setsv_cow_hashkey_notcore()
 
 void
+sv_set_deref(SV *sv, SV *sv2, int which)
+    CODE:
+    {
+	STRLEN len;
+	const char *pv = SvPV(sv2,len);
+	if (!SvROK(sv)) croak("Not a ref");
+	sv = SvRV(sv);
+	switch (which) {
+	    case 0: sv_setsv(sv,sv2); break;
+	    case 1: sv_setpv(sv,pv); break;
+	    case 2: sv_setpvn(sv,pv,len); break;
+	}
+    }
+
+void
 rmagical_cast(sv, type)
     SV *sv;
     SV *type;
@@ -2348,6 +2722,28 @@
 #undef msvpvs
 #undef msviv
 
+void
+test_coplabel()
+    PREINIT:
+        COP *cop;
+        const char *label;
+        STRLEN len;
+        U32 utf8;
+    CODE:
+        cop = &PL_compiling;
+        Perl_cop_store_label(aTHX_ cop, "foo", 3, 0);
+        label = Perl_cop_fetch_label(aTHX_ cop, &len, &utf8);
+        if (strcmp(label,"foo")) croak("fail # cop_fetch_label label");
+        if (len != 3) croak("fail # cop_fetch_label len");
+        if (utf8) croak("fail # cop_fetch_label utf8");
+        /* SMALL GERMAN UMLAUT A */
+        Perl_cop_store_label(aTHX_ cop, "fo\xc3\xa4", 4, SVf_UTF8);
+        label = Perl_cop_fetch_label(aTHX_ cop, &len, &utf8);
+        if (strcmp(label,"fo\xc3\xa4")) croak("fail # cop_fetch_label label");
+        if (len != 4) croak("fail # cop_fetch_label len");
+        if (!utf8) croak("fail # cop_fetch_label utf8");
+
+
 HV *
 example_cophh_2hv()
     PREINIT:
@@ -2682,7 +3078,63 @@
     XSRETURN_UNDEF;
 }
 
+#ifdef USE_ITHREADS
 
+void
+clone_with_stack()
+CODE:
+{
+    PerlInterpreter *interp = aTHX; /* The original interpreter */
+    PerlInterpreter *interp_dup;    /* The duplicate interpreter */
+    int oldscope = 1; /* We are responsible for all scopes */
+
+    interp_dup = perl_clone(interp, CLONEf_COPY_STACKS | CLONEf_CLONE_HOST );
+
+    /* destroy old perl */
+    PERL_SET_CONTEXT(interp);
+
+    POPSTACK_TO(PL_mainstack);
+    dounwind(-1);
+    LEAVE_SCOPE(0);
+
+    while (interp->Iscopestack_ix > 1)
+        LEAVE;
+    FREETMPS;
+
+    perl_destruct(interp);
+    perl_free(interp);
+
+    /* switch to new perl */
+    PERL_SET_CONTEXT(interp_dup);
+
+    /* continue after 'clone_with_stack' */
+    if (interp_dup->Iop)
+	interp_dup->Iop = interp_dup->Iop->op_next;
+
+    /* run with new perl */
+    Perl_runops_standard(interp_dup);
+
+    /* We may have additional unclosed scopes if fork() was called
+     * from within a BEGIN block.  See perlfork.pod for more details.
+     * We cannot clean up these other scopes because they belong to a
+     * different interpreter, but we also cannot leave PL_scopestack_ix
+     * dangling because that can trigger an assertion in perl_destruct().
+     */
+    if (PL_scopestack_ix > oldscope) {
+        PL_scopestack[oldscope-1] = PL_scopestack[PL_scopestack_ix-1];
+        PL_scopestack_ix = oldscope;
+    }
+
+    perl_destruct(interp_dup);
+    perl_free(interp_dup);
+
+    /* call the real 'exit' not PerlProc_exit */
+#undef exit
+    exit(0);
+}
+
+#endif /* USE_ITHREDS */
+
 SV*
 take_svref(SVREF sv)
 CODE:
@@ -2781,6 +3233,255 @@
     cv_set_call_checker(asscv, THX_ck_entersub_postinc, (SV*)asscv);
 }
 
+SV *
+lv_temp_object()
+CODE:
+    RETVAL =
+	  sv_bless(
+	    newRV_noinc(newSV(0)),
+	    gv_stashpvs("XS::APItest::TempObj",GV_ADD)
+	  );             /* Package defined in test script */
+OUTPUT:
+    RETVAL
+
+void
+fill_hash_with_nulls(HV *hv)
+PREINIT:
+    UV i = 0;
+CODE:
+    for(; i < 1000; ++i) {
+	HE *entry = hv_fetch_ent(hv, sv_2mortal(newSVuv(i)), 1, 0);
+	SvREFCNT_dec(HeVAL(entry));
+	HeVAL(entry) = NULL;
+    }
+
+HV *
+newHVhv(HV *hv)
+CODE:
+    RETVAL = newHVhv(hv);
+OUTPUT:
+    RETVAL
+
+U32
+SvIsCOW(SV *sv)
+CODE:
+    RETVAL = SvIsCOW(sv);
+OUTPUT:
+    RETVAL
+
+void
+pad_scalar(...)
+PROTOTYPE: $$
+CODE:
+    PERL_UNUSED_VAR(items);
+    croak("pad_scalar called as a function");
+
+BOOT:
+{
+    CV *pscv = get_cv("XS::APItest::pad_scalar", 0);
+    cv_set_call_checker(pscv, THX_ck_entersub_pad_scalar, (SV*)pscv);
+}
+
+SV*
+fetch_pad_names( cv )
+CV* cv
+ PREINIT:
+  I32 i;
+  PADNAMELIST *pad_namelist;
+  AV *retav = newAV();
+ CODE:
+  pad_namelist = PadlistNAMES(CvPADLIST(cv));
+
+  for ( i = PadnamelistMAX(pad_namelist); i >= 0; i-- ) {
+    PADNAME* name = PadnamelistARRAY(pad_namelist)[i];
+
+    if (SvPOKp(name)) {
+        av_push(retav, newSVpadname(name));
+    }
+  }
+  RETVAL = newRV_noinc((SV*)retav);
+ OUTPUT:
+  RETVAL
+
+STRLEN
+underscore_length()
+PROTOTYPE:
+PREINIT:
+    SV *u;
+    U8 *pv;
+    STRLEN bytelen;
+CODE:
+    u = find_rundefsv();
+    pv = (U8*)SvPV(u, bytelen);
+    RETVAL = SvUTF8(u) ? utf8_length(pv, pv+bytelen) : bytelen;
+OUTPUT:
+    RETVAL
+
+void
+stringify(SV *sv)
+PREINIT:
+    const char *pv;
+CODE:
+    pv = SvPV_nolen(sv);
+
+SV *
+HvENAME(HV *hv)
+CODE:
+    RETVAL = hv && HvENAME(hv)
+	      ? newSVpvn_flags(
+		  HvENAME(hv),HvENAMELEN(hv),
+		  (HvENAMEUTF8(hv) ? SVf_UTF8 : 0)
+		)
+	      : NULL;
+OUTPUT:
+    RETVAL
+
+int
+xs_cmp(int a, int b)
+CODE:
+    /* Odd sorting (odd numbers first), to make sure we are actually
+       being called */
+    RETVAL = a % 2 != b % 2
+	       ? a % 2 ? -1 : 1
+	       : a < b ? -1 : a == b ? 0 : 1;
+OUTPUT:
+    RETVAL
+
+SV *
+xs_cmp_undef(SV *a, SV *b)
+CODE:
+    RETVAL = &PL_sv_undef;
+OUTPUT:
+    RETVAL
+
+char *
+SvPVbyte(SV *sv)
+CODE:
+    RETVAL = SvPVbyte_nolen(sv);
+OUTPUT:
+    RETVAL
+
+char *
+SvPVutf8(SV *sv)
+CODE:
+    RETVAL = SvPVutf8_nolen(sv);
+OUTPUT:
+    RETVAL
+
+void
+setup_addissub()
+CODE:
+    wrap_op_checker(OP_ADD, addissub_myck_add, &addissub_nxck_add);
+
+void
+setup_rv2cv_addunderbar()
+CODE:
+    wrap_op_checker(OP_RV2CV, my_ck_rv2cv, &old_ck_rv2cv);
+
+#ifdef USE_ITHREADS
+
+bool
+test_alloccopstash()
+CODE:
+    RETVAL = PL_stashpad[alloccopstash(PL_defstash)] == PL_defstash;
+OUTPUT:
+    RETVAL
+
+#endif
+
+bool
+test_newFOROP_without_slab()
+CODE:
+    {
+	const I32 floor = start_subparse(0,0);
+	CV * const cv = PL_compcv;
+	/* The slab allocator does not like CvROOT being set. */
+	CvROOT(PL_compcv) = (OP *)1;
+	op_free(newFOROP(0, 0, newOP(OP_PUSHMARK, 0), 0, 0));
+	CvROOT(PL_compcv) = NULL;
+	SvREFCNT_dec(PL_compcv);
+	LEAVE_SCOPE(floor);
+	/* If we have not crashed yet, then the test passes. */
+	RETVAL = TRUE;
+    }
+OUTPUT:
+    RETVAL
+
+ # provide access to CALLREGEXEC, except replace pointers within the
+ # string with offsets from the start of the string
+
+I32
+callregexec(SV *prog, STRLEN stringarg, STRLEN strend, I32 minend, SV *sv, U32 nosave)
+CODE:
+    {
+	STRLEN len;
+	char *strbeg;
+	if (SvROK(prog))
+	    prog = SvRV(prog);
+	strbeg = SvPV_force(sv, len);
+	RETVAL = CALLREGEXEC((REGEXP *)prog,
+			    strbeg + stringarg,
+			    strbeg + strend,
+			    strbeg,
+			    minend,
+			    sv,
+			    NULL, /* data */
+			    nosave);
+    }
+OUTPUT:
+    RETVAL
+
+void
+lexical_import(SV *name, CV *cv)
+    CODE:
+    {
+	PADLIST *pl;
+	PADOFFSET off;
+	if (!PL_compcv)
+	    Perl_croak(aTHX_
+		      "lexical_import can only be called at compile time");
+	pl = CvPADLIST(PL_compcv);
+	ENTER;
+	SAVESPTR(PL_comppad_name); PL_comppad_name = PadlistNAMES(pl);
+	SAVESPTR(PL_comppad);	   PL_comppad	   = PadlistARRAY(pl)[1];
+	SAVESPTR(PL_curpad);	   PL_curpad	   = PadARRAY(PL_comppad);
+	off = pad_add_name_sv(sv_2mortal(newSVpvf("&%"SVf,name)),
+			      padadd_STATE, 0, 0);
+	SvREFCNT_dec(PL_curpad[off]);
+	PL_curpad[off] = SvREFCNT_inc(cv);
+	LEAVE;
+    }
+
+SV *
+sv_mortalcopy(SV *sv)
+    CODE:
+	RETVAL = SvREFCNT_inc(sv_mortalcopy(sv));
+    OUTPUT:
+	RETVAL
+
+MODULE = XS::APItest PACKAGE = XS::APItest::AUTOLOADtest
+
+int
+AUTOLOAD(...)
+  INIT:
+    SV* comms;
+    SV* class_and_method;
+  CODE:
+    class_and_method = GvSV(CvGV(cv));
+    comms = get_sv("main::the_method", 1);
+    if (class_and_method == NULL) {
+      RETVAL = 1;
+    } else if (!SvOK(class_and_method)) {
+      RETVAL = 2;
+    } else if (!SvPOK(class_and_method)) {
+      RETVAL = 3;
+    } else {
+      sv_setsv(comms, class_and_method);
+      RETVAL = 0;
+    }
+  OUTPUT: RETVAL
+
+
 MODULE = XS::APItest		PACKAGE = XS::APItest::Magic
 
 PROTOTYPES: DISABLE
@@ -2808,3 +3509,937 @@
     sv_unmagic_bar = 1
 CODE:
     sv_unmagicext(SvRV(sv), PERL_MAGIC_ext, ix ? &vtbl_bar : &vtbl_foo);
+
+UV
+test_get_vtbl()
+    PREINIT:
+	MGVTBL *have;
+	MGVTBL *want;
+    CODE:
+#define test_get_this_vtable(name) \
+	want = CAT2(&PL_vtbl_, name); \
+	have = get_vtbl(CAT2(want_vtbl_, name)); \
+	if (have != want) \
+	    croak("fail %p!=%p for get_vtbl(want_vtbl_" STRINGIFY(name) ") at " __FILE__ " line %d", have, want, __LINE__)
+
+	test_get_this_vtable(sv);
+	test_get_this_vtable(env);
+	test_get_this_vtable(envelem);
+	test_get_this_vtable(sigelem);
+	test_get_this_vtable(pack);
+	test_get_this_vtable(packelem);
+	test_get_this_vtable(dbline);
+	test_get_this_vtable(isa);
+	test_get_this_vtable(isaelem);
+	test_get_this_vtable(arylen);
+	test_get_this_vtable(mglob);
+	test_get_this_vtable(nkeys);
+	test_get_this_vtable(taint);
+	test_get_this_vtable(substr);
+	test_get_this_vtable(vec);
+	test_get_this_vtable(pos);
+	test_get_this_vtable(bm);
+	test_get_this_vtable(fm);
+	test_get_this_vtable(uvar);
+	test_get_this_vtable(defelem);
+	test_get_this_vtable(regexp);
+	test_get_this_vtable(regdata);
+	test_get_this_vtable(regdatum);
+#ifdef USE_LOCALE_COLLATE
+	test_get_this_vtable(collxfrm);
+#endif
+	test_get_this_vtable(backref);
+	test_get_this_vtable(utf8);
+
+	RETVAL = PTR2UV(get_vtbl(-1));
+    OUTPUT:
+	RETVAL
+
+bool
+test_isBLANK_uni(UV ord)
+    CODE:
+        RETVAL = isBLANK_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isBLANK_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isBLANK_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isBLANK_A(UV ord)
+    CODE:
+        RETVAL = isBLANK_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isBLANK_L1(UV ord)
+    CODE:
+        RETVAL = isBLANK_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isBLANK_LC(UV ord)
+    CODE:
+        RETVAL = isBLANK_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isBLANK_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isBLANK_utf8(p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isBLANK_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isBLANK_LC_utf8(p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isVERTWS_uni(UV ord)
+    CODE:
+        RETVAL = isVERTWS_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isVERTWS_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isVERTWS_utf8(p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isUPPER_uni(UV ord)
+    CODE:
+        RETVAL = isUPPER_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isUPPER_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isUPPER_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isUPPER_A(UV ord)
+    CODE:
+        RETVAL = isUPPER_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isUPPER_L1(UV ord)
+    CODE:
+        RETVAL = isUPPER_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isUPPER_LC(UV ord)
+    CODE:
+        RETVAL = isUPPER_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isUPPER_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isUPPER_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isUPPER_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isUPPER_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isLOWER_uni(UV ord)
+    CODE:
+        RETVAL = isLOWER_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isLOWER_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isLOWER_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isLOWER_A(UV ord)
+    CODE:
+        RETVAL = isLOWER_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isLOWER_L1(UV ord)
+    CODE:
+        RETVAL = isLOWER_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isLOWER_LC(UV ord)
+    CODE:
+        RETVAL = isLOWER_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isLOWER_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isLOWER_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isLOWER_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isLOWER_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHA_uni(UV ord)
+    CODE:
+        RETVAL = isALPHA_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHA_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isALPHA_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHA_A(UV ord)
+    CODE:
+        RETVAL = isALPHA_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHA_L1(UV ord)
+    CODE:
+        RETVAL = isALPHA_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHA_LC(UV ord)
+    CODE:
+        RETVAL = isALPHA_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHA_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isALPHA_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHA_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isALPHA_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isWORDCHAR_uni(UV ord)
+    CODE:
+        RETVAL = isWORDCHAR_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isWORDCHAR_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isWORDCHAR_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isWORDCHAR_A(UV ord)
+    CODE:
+        RETVAL = isWORDCHAR_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isWORDCHAR_L1(UV ord)
+    CODE:
+        RETVAL = isWORDCHAR_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isWORDCHAR_LC(UV ord)
+    CODE:
+        RETVAL = isWORDCHAR_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isWORDCHAR_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isWORDCHAR_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isWORDCHAR_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isWORDCHAR_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHANUMERIC_uni(UV ord)
+    CODE:
+        RETVAL = isALPHANUMERIC_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHANUMERIC_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isALPHANUMERIC_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHANUMERIC_A(UV ord)
+    CODE:
+        RETVAL = isALPHANUMERIC_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHANUMERIC_L1(UV ord)
+    CODE:
+        RETVAL = isALPHANUMERIC_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHANUMERIC_LC(UV ord)
+    CODE:
+        RETVAL = isALPHANUMERIC_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHANUMERIC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isALPHANUMERIC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALPHANUMERIC_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isALPHANUMERIC_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALNUM_uni(UV ord)
+    CODE:
+        RETVAL = isALNUM_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALNUM_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isALNUM_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALNUM_LC(UV ord)
+    CODE:
+        RETVAL = isALNUM_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALNUM_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isALNUM_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isALNUM_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isALNUM_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isDIGIT_uni(UV ord)
+    CODE:
+        RETVAL = isDIGIT_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isDIGIT_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isDIGIT_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isDIGIT_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isDIGIT_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isDIGIT_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isDIGIT_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isDIGIT_A(UV ord)
+    CODE:
+        RETVAL = isDIGIT_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isDIGIT_L1(UV ord)
+    CODE:
+        RETVAL = isDIGIT_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isDIGIT_LC(UV ord)
+    CODE:
+        RETVAL = isDIGIT_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDFIRST_uni(UV ord)
+    CODE:
+        RETVAL = isIDFIRST_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDFIRST_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isIDFIRST_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDFIRST_A(UV ord)
+    CODE:
+        RETVAL = isIDFIRST_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDFIRST_L1(UV ord)
+    CODE:
+        RETVAL = isIDFIRST_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDFIRST_LC(UV ord)
+    CODE:
+        RETVAL = isIDFIRST_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDFIRST_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isIDFIRST_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDFIRST_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isIDFIRST_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDCONT_uni(UV ord)
+    CODE:
+        RETVAL = isIDCONT_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDCONT_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isIDCONT_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDCONT_A(UV ord)
+    CODE:
+        RETVAL = isIDCONT_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDCONT_L1(UV ord)
+    CODE:
+        RETVAL = isIDCONT_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDCONT_LC(UV ord)
+    CODE:
+        RETVAL = isIDCONT_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDCONT_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isIDCONT_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isIDCONT_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isIDCONT_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isSPACE_uni(UV ord)
+    CODE:
+        RETVAL = isSPACE_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isSPACE_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isSPACE_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isSPACE_A(UV ord)
+    CODE:
+        RETVAL = isSPACE_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isSPACE_L1(UV ord)
+    CODE:
+        RETVAL = isSPACE_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isSPACE_LC(UV ord)
+    CODE:
+        RETVAL = isSPACE_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isSPACE_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isSPACE_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isSPACE_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isSPACE_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isASCII_uni(UV ord)
+    CODE:
+        RETVAL = isASCII_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isASCII_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isASCII_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isASCII_A(UV ord)
+    CODE:
+        RETVAL = isASCII_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isASCII_L1(UV ord)
+    CODE:
+        RETVAL = isASCII_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isASCII_LC(UV ord)
+    CODE:
+        RETVAL = isASCII_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isASCII_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isASCII_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isASCII_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isASCII_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isCNTRL_uni(UV ord)
+    CODE:
+        RETVAL = isCNTRL_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isCNTRL_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isCNTRL_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isCNTRL_A(UV ord)
+    CODE:
+        RETVAL = isCNTRL_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isCNTRL_L1(UV ord)
+    CODE:
+        RETVAL = isCNTRL_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isCNTRL_LC(UV ord)
+    CODE:
+        RETVAL = isCNTRL_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isCNTRL_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isCNTRL_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isCNTRL_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isCNTRL_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPRINT_uni(UV ord)
+    CODE:
+        RETVAL = isPRINT_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPRINT_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isPRINT_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPRINT_A(UV ord)
+    CODE:
+        RETVAL = isPRINT_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPRINT_L1(UV ord)
+    CODE:
+        RETVAL = isPRINT_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPRINT_LC(UV ord)
+    CODE:
+        RETVAL = isPRINT_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPRINT_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isPRINT_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPRINT_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isPRINT_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isGRAPH_uni(UV ord)
+    CODE:
+        RETVAL = isGRAPH_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isGRAPH_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isGRAPH_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isGRAPH_A(UV ord)
+    CODE:
+        RETVAL = isGRAPH_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isGRAPH_L1(UV ord)
+    CODE:
+        RETVAL = isGRAPH_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isGRAPH_LC(UV ord)
+    CODE:
+        RETVAL = isGRAPH_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isGRAPH_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isGRAPH_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isGRAPH_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isGRAPH_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPUNCT_uni(UV ord)
+    CODE:
+        RETVAL = isPUNCT_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPUNCT_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isPUNCT_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPUNCT_A(UV ord)
+    CODE:
+        RETVAL = isPUNCT_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPUNCT_L1(UV ord)
+    CODE:
+        RETVAL = isPUNCT_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPUNCT_LC(UV ord)
+    CODE:
+        RETVAL = isPUNCT_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPUNCT_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isPUNCT_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPUNCT_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isPUNCT_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isXDIGIT_uni(UV ord)
+    CODE:
+        RETVAL = isXDIGIT_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isXDIGIT_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isXDIGIT_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isXDIGIT_A(UV ord)
+    CODE:
+        RETVAL = isXDIGIT_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isXDIGIT_L1(UV ord)
+    CODE:
+        RETVAL = isXDIGIT_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isXDIGIT_LC(UV ord)
+    CODE:
+        RETVAL = isXDIGIT_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isXDIGIT_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isXDIGIT_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isXDIGIT_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isXDIGIT_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPSXSPC_uni(UV ord)
+    CODE:
+        RETVAL = isPSXSPC_uni(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPSXSPC_LC_uvchr(UV ord)
+    CODE:
+        RETVAL = isPSXSPC_LC_uvchr(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPSXSPC_A(UV ord)
+    CODE:
+        RETVAL = isPSXSPC_A(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPSXSPC_L1(UV ord)
+    CODE:
+        RETVAL = isPSXSPC_L1(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPSXSPC_LC(UV ord)
+    CODE:
+        RETVAL = isPSXSPC_LC(ord);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPSXSPC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isPSXSPC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isPSXSPC_LC_utf8(unsigned char * p)
+    CODE:
+        RETVAL = isPSXSPC_LC_utf8( p);
+    OUTPUT:
+        RETVAL
+
+bool
+test_isQUOTEMETA(UV ord)
+    CODE:
+        RETVAL = _isQUOTEMETA(ord);
+    OUTPUT:
+        RETVAL


Property changes on: vendor/perl/dist/ext/XS-APItest/APItest.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/MANIFEST
===================================================================
--- vendor/perl/dist/ext/XS-APItest/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/XS-APItest/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,6 +14,8 @@
     realclean => {FILES	=> 'const-c.inc const-xs.inc'},
     ($Config{gccversion} && $Config{d_attribute_deprecated} ?
       (CCFLAGS => $Config{ccflags} . ' -Wno-deprecated-declarations') : ()),
+    depend => { 'core.o' => 'core_or_not.inc',
+		'notcore.o' => 'core_or_not.inc' },
 );
 
 my @names = (qw(HV_DELETE HV_DISABLE_UVAR_XKEY HV_FETCH_ISSTORE


Property changes on: vendor/perl/dist/ext/XS-APItest/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/README
===================================================================
--- vendor/perl/dist/ext/XS-APItest/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/XSUB-redefined-macros.xs
===================================================================
--- vendor/perl/dist/ext/XS-APItest/XSUB-redefined-macros.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/XSUB-redefined-macros.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,6 +14,8 @@
 
 PROTOTYPES: DISABLE
 
+EXPORT_XSUB_SYMBOLS: ENABLE
+
 void
 XS_VERSION_empty(...)
     PPCODE:


Property changes on: vendor/perl/dist/ext/XS-APItest/XSUB-redefined-macros.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/XSUB-undef-XS_VERSION.xs
===================================================================
--- vendor/perl/dist/ext/XS-APItest/XSUB-undef-XS_VERSION.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/XSUB-undef-XS_VERSION.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,6 +11,8 @@
 
 PROTOTYPES: DISABLE
 
+EXPORT_XSUB_SYMBOLS: ENABLE
+
 void
 XS_VERSION_undef(...)
     PPCODE:


Property changes on: vendor/perl/dist/ext/XS-APItest/XSUB-undef-XS_VERSION.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/core.c
===================================================================
--- vendor/perl/dist/ext/XS-APItest/core.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/core.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/core.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/core_or_not.inc
===================================================================
--- vendor/perl/dist/ext/XS-APItest/core_or_not.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/core_or_not.inc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
     SV *destination = newSV(0);
     bool result;
 
-    if(!SvREADONLY(source) && !SvFAKE(source)) {
+    if(!SvIsCOW(source)) {
 	SvREFCNT_dec(source);
 	Perl_croak(aTHX_ "Creating a shared hash key scalar failed when "
 	       STRINGIFY(SUFFIX) " got flags %"UVxf, (UV)SvFLAGS(source));
@@ -24,7 +24,7 @@
 
     sv_setsv(destination, source);
 
-    result = SvREADONLY(destination) && SvFAKE(destination);
+    result = !!SvIsCOW(destination);
 
     SvREFCNT_dec(source);
     SvREFCNT_dec(destination);
@@ -37,8 +37,8 @@
  * mode: c
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/ext/XS-APItest/core_or_not.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/exception.c
===================================================================
--- vendor/perl/dist/ext/XS-APItest/exception.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/exception.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/exception.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/notcore.c
===================================================================
--- vendor/perl/dist/ext/XS-APItest/notcore.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/notcore.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/notcore.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/numeric.xs
===================================================================
--- vendor/perl/dist/ext/XS-APItest/numeric.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/numeric.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/numeric.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/BHK.pm
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/BHK.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/BHK.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/BHK.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/Block.pm
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/Block.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/Block.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/Block.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/Markers.pm
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/Markers.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/Markers.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/Markers.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/Null.pm
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/Null.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/Null.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/Null.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/arrayexpr.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/arrayexpr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/arrayexpr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/arrayexpr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/blockasexpr.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/blockasexpr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/blockasexpr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/blockasexpr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/blockhooks-csc.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/blockhooks-csc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/blockhooks-csc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/blockhooks-csc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/blockhooks.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/blockhooks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/blockhooks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/blockhooks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/call.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/call.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/call.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -186,9 +186,10 @@
 }
 
 {
+    no warnings "misc";
     my $warn = "";
     local $SIG{__WARN__} = sub { $warn .= $_[0] };
-    call_sv(sub { no warnings "misc"; die "aa\n" }, G_VOID|G_EVAL|G_KEEPERR);
+    call_sv(sub { use warnings "misc"; die "aa\n" }, G_VOID|G_EVAL|G_KEEPERR);
     is $warn, "\t(in cleanup) aa\n";
 }
 


Property changes on: vendor/perl/dist/ext/XS-APItest/t/call.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/call_checker.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/call_checker.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/call_checker.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 use warnings;
 use strict;
-use Test::More tests => 64;
+use Test::More tests => 76;
 
 use XS::APItest;
 
@@ -158,4 +158,52 @@
 is_deeply $foo_got, undef;
 is $foo_ret, 9;
 
+sub MODIFY_CODE_ATTRIBUTES { cv_set_call_checker_lists($_[1]); () }
+BEGIN {
+  *foo2 = sub($$) :Attr { $foo_got = [ @_ ]; return "z"; };
+}
+
+$foo_got = undef;
+eval q{$foo_ret = foo2(@b, @c);};
+is $@, "";
+is_deeply $foo_got, [ qw(a b), qw(a b c) ];
+is $foo_ret, "z";
+
+cv_set_call_checker_lists(\&foo);
+undef &foo;
+$foo_got = undef;
+eval 'sub foo($@) { $foo_got = [ @_ ]; return "z"; }
+      $foo_ret = foo(@b, @c);';
+is $@, "";
+is_deeply $foo_got, [ 2, qw(a b c) ], 'undef clears call checkers';
+is $foo_ret, "z";
+
+my %got;
+
+sub g {
+    my $name = shift;
+    my $sub = sub ($\@) {
+	$got{$name} = [ @_ ];
+	return $name;
+    };
+    cv_set_call_checker_scalars($sub);
+    return $sub;
+}
+
+BEGIN {
+    *whack = g("whack");
+    *glurp = g("glurp");
+}
+
+%got = ();
+my $whack_ret = whack(@b, @c);
+is $@, "";
+is_deeply $got{whack}, [ 2, 3 ];
+is $whack_ret, "whack";
+
+my $glurp_ret = glurp(@b, @c);
+is $@, "";
+is_deeply $got{glurp}, [ 2, 3 ];
+is $glurp_ret, "glurp";
+
 1;


Property changes on: vendor/perl/dist/ext/XS-APItest/t/call_checker.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/caller.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/caller.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/caller.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/caller.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/cleanup.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/cleanup.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/cleanup.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/cleanup.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/cophh.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/cophh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/cophh.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/cophh.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/copyhints.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/copyhints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/copyhints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/copyhints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/customop.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/customop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/customop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/customop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/eval-filter.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/eval-filter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/eval-filter.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,27 @@
 #!perl -w
 use strict;
 
-use Test::More tests => 1;
+use Test::More tests => 5;
 use XS::APItest;
 
+{
+    use feature "unicode_eval";
+    my $unfiltered_foo = "foo";
+    BEGIN {
+      eval "BEGIN { filter() }";
+      like $@, qr/^Source filters apply only to byte streams at /,
+	'filters die under unicode_eval';
+    }
+    is "foo", $unfiltered_foo, 'filters leak not out of unicode evals';
+
+    use feature "evalbytes";
+    our $thingy;
+    BEGIN { evalbytes "BEGIN { filter() }\n\$thingy = 'foo'" }
+    is $thingy, "fee",
+	"source filters apply to evalbytten strings";
+    is "foo", $unfiltered_foo, 'filters leak not out of byte evals';
+}
+
 BEGIN { eval "BEGIN{ filter() }" }
 
 is "foo", "fee", "evals share filters with the currently compiling scope";


Property changes on: vendor/perl/dist/ext/XS-APItest/t/eval-filter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/exception.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/exception.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/exception.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/exception.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/grok.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/grok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/grok.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,6 +5,7 @@
 use Config;
 use XS::APItest;
 use feature 'switch';
+no warnings 'experimental::smartmatch';
 use constant TRUTH => '0 but true';
 
 # Tests for grok_number. Not yet comprehensive.


Property changes on: vendor/perl/dist/ext/XS-APItest/t/grok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/hash.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/hash.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -180,6 +180,100 @@
     }
 }
 
+{
+    use Scalar::Util 'weaken';
+    my %h;
+    fill_hash_with_nulls(\%h);
+    my @objs;
+    for("a".."z","A".."Z") {
+	weaken($objs[@objs] = $h{$_} = []);
+    }
+    undef %h;
+    no warnings 'uninitialized';
+    local $" = "";
+    is "@objs", "",
+      'explicitly undeffing a hash with nulls frees all entries';
+
+    my $h = {};
+    fill_hash_with_nulls($h);
+    @objs = ();
+    for("a".."z","A".."Z") {
+	weaken($objs[@objs] = $$h{$_} = []);
+    }
+    undef $h;
+    is "@objs", "", 'freeing a hash with nulls frees all entries';
+}
+
+# Tests for HvENAME and UTF8
+{
+    no strict;
+    no warnings 'void';
+    my $hvref;
+
+    *{"\xff::bar"}; # autovivify %ÿ:: without UTF8
+    *{"\xff::bαr::"} = $hvref = \%foo::;
+    undef *foo::;
+    is HvENAME($hvref), "\xff::bαr",
+	'stash alias (utf8 inside bytes) does not create malformed UTF8';
+
+    *{"é::foo"}; # autovivify %é:: with UTF8
+    *{"\xe9::\xe9::"} = $hvref = \%bar::;
+    undef *bar::;
+    is HvENAME($hvref), "\xe9::\xe9",
+	'stash alias (bytes inside utf8) does not create malformed UTF8';
+
+    *{"\xfe::bar"}; *{"\xfd::bar"};
+    *{"\xfe::bαr::"} = \%goo::;
+    *{"\xfd::bαr::"} = $hvref = \%goo::;
+    undef *goo::;
+    like HvENAME($hvref), qr/^[\xfe\xfd]::bαr\z/,
+	'multiple stash aliases (utf8 inside bytes) do not cause bad UTF8';
+
+    *{"è::foo"}; *{"ë::foo"};
+    *{"\xe8::\xe9::"} = $hvref = \%bear::;
+    *{"\xeb::\xe9::"} = \%bear::;
+    undef *bear::;
+    like HvENAME($hvref), qr"^[\xe8\xeb]::\xe9\z",
+	'multiple stash aliases (bytes inside utf8) do not cause bad UTF8';
+}
+
+{ # newHVhv
+    use Tie::Hash;
+    tie my %h, 'Tie::StdHash';
+    %h = 1..10;
+    is join(' ', sort %{newHVhv \%h}), '1 10 2 3 4 5 6 7 8 9',
+      'newHVhv on tied hash';
+}
+
+# helem and hslice on entry with null value
+# This is actually a test for a Perl operator, not an XS API test.  But it
+# requires a hash that can only be produced by XS (although recently it
+# could be encountered when tying hint hashes).
+{
+    my %h;
+    fill_hash_with_nulls(\%h);
+    eval{ $h{84} = 1 };
+    pass 'no crash when writing to hash elem with null value';
+    eval{ no # silly
+	  warnings; # thank you!
+	  @h{85} = 1 };
+    pass 'no crash when writing to hash elem with null value via slice';
+    eval { delete local $h{86} };
+    pass 'no crash during local deletion of hash elem with null value';
+    eval { delete local @h{87,88} };
+    pass 'no crash during local deletion of hash slice with null values';
+}
+
+# [perl #111000] Bug number eleventy-one thousand:
+#                hv_store should work on hint hashes
+eval q{
+    BEGIN {
+	XS::APItest::Hash::store \%^H, "XS::APItest/hash.t", undef;
+	delete $^H{"XS::APItest/hash.t"};
+    }
+};
+pass("hv_store works on the hint hash");
+
 done_testing;
 exit;
 


Property changes on: vendor/perl/dist/ext/XS-APItest/t/hash.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/keyword_multiline.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/keyword_multiline.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/keyword_multiline.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/keyword_multiline.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/keyword_plugin.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/keyword_plugin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/keyword_plugin.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/keyword_plugin.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/labelconst.aux
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/labelconst.aux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/labelconst.aux	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/labelconst.aux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/labelconst.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/labelconst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/labelconst.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 use warnings;
 use strict;
 
-use Test::More tests => 18;
+use Test::More tests => 32;
 
 BEGIN { $^H |= 0x20000; }
 
@@ -93,4 +93,79 @@
 is $@, "";
 is $t, "FOOBARBAZQUUX";
 
+{
+    use utf8;
+    use open qw( :utf8 :std );
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(labelconst);
+            $t .= "ㅏ";
+            $t .= labelconst ᛒ:;
+            $t .= "ḉ";
+    };
+    is $@, "";
+    is $t, "ㅏᛒḉ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(labelconst);
+            $t .= "ㅏ";
+            $t .= "ᛒ" . labelconst FǑǑ: . "ḉ";
+            $t .= "d";
+    };
+    is $@, "";
+    is $t, "ㅏᛒFǑǑḉd";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(labelconst);
+            $t .= "ㅏ";
+            $t .= labelconst FǑǑ :;
+            $t .= "ᛒ";
+    };
+    is $@, "";
+    is $t, "ㅏFǑǑᛒ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(labelconst);
+            $t .= "ㅏ";
+            $t .= labelconst F_1Ḅ:;
+            $t .= "ᛒ";
+    };
+    is $@, "";
+    is $t, "ㅏF_1Ḅᛒ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(labelconst);
+            $t .= "ㅏ";
+            $t .= labelconst _AḄ:;
+            $t .= "ᛒ";
+    };
+    is $@, "";
+    is $t, "ㅏ_AḄᛒ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(labelconst);
+            no warnings;
+            $t .= "ㅏ";
+            $t .= labelconst 1AḄ:;
+            $t .= "ᛒ";
+    };
+    isnt $@, "";
+    is $t, "";
+    
+}
+
+{
+    use utf8;
+    $t = "";
+    $t = do("t/labelconst_utf8.aux");
+    is $@, "";
+    is $t, "FǑǑBÀRᛒÀZQÙÙX";
+}
+
 1;


Property changes on: vendor/perl/dist/ext/XS-APItest/t/labelconst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/loopblock.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/loopblock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/loopblock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/loopblock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/looprest.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/looprest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/looprest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/looprest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/magic.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/magic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,4 +27,6 @@
 ok !mg_find_foo($sv), 'foo magic still removed';
 ok !mg_find_bar($sv), '... and bar magic is removed too';
 
+is(test_get_vtbl(), 0, 'get_vtbl(-1) returns NULL');
+
 done_testing;


Property changes on: vendor/perl/dist/ext/XS-APItest/t/magic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/magic_chain.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/magic_chain.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/magic_chain.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/magic_chain.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/multicall.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/multicall.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/multicall.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 use warnings;
 use strict;
 
-use Test::More tests => 6;
+use Test::More tests => 7;
 use XS::APItest;
 
 
@@ -48,3 +48,16 @@
     is($destroyed, 1, "f now destroyed");
 
 }
+
+# [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
+# similar to spot any errors.
+
+{
+    sub rec { my $c = shift; rec($c-1) if $c > 0 };
+    my @r = XS::APItest::multicall_each { rec(90) } 1,2,3;
+    pass("recursion");
+}


Property changes on: vendor/perl/dist/ext/XS-APItest/t/multicall.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/my_cxt.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/my_cxt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/my_cxt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/my_cxt.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/my_exit.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/my_exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/my_exit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/my_exit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/op.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/op.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/op.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,3 +10,6 @@
 *hint_fetch = *hint_fetch = \&XS::APItest::Hash::refcounted_he_fetch;
 
 require '../../t/op/caller.pl';
+
+ok test_newFOROP_without_slab(),
+     'no assertion failures when allocating FOROP without slab';


Property changes on: vendor/perl/dist/ext/XS-APItest/t/op.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/op_contextualize.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/op_contextualize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/op_contextualize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/op_contextualize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/op_list.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/op_list.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/op_list.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/op_list.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/overload.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/peep.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/peep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/peep.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-use Test::More tests => 9;
+use Test::More tests => 6;
 
 use XS::APItest;
 
@@ -20,14 +20,19 @@
 is($rrecord->[0], 'affe');
 
 
-# peep got called for each root op of the branch
-$::moo = $::moo = 0;
+# A deep-enough nesting of conditionals defeats the deferring mechanism
+# and triggers recursion. Note that this test is sensitive to the details
+# rpeep: the main thing it is testing is that rpeep is called more than
+# peep, and that all branches are covered; the order of branch calling is
+# less important.
+
+my $code =  q[my ($a,$b); $a =];
+$code .= qq{ \$b ? "foo$_" :} for (1..10);
+$code .= qq{ "foo11" };
 XS::APItest::peep_enable;
-eval q[my $foo = $::moo ? q/x/ : q/y/];
+eval $code;
 XS::APItest::peep_disable;
 
-is(scalar @{ $record }, 1);
-is(scalar @{ $rrecord }, 2);
-is($record->[0], 'y');
-is($rrecord->[0], 'x');
-is($rrecord->[1], 'y');
+is_deeply($record,  [ "foo11" ]);
+is_deeply($rrecord, [
+    qw(foo1 foo2 foo3 foo4 foo5 foo6 foo10 foo9 foo8 foo7 foo11) ]);


Property changes on: vendor/perl/dist/ext/XS-APItest/t/peep.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/pmflag.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/pmflag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/pmflag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/pmflag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/postinc.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/postinc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/postinc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/postinc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/printf.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/printf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/printf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/printf.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/ptr_table.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/ptr_table.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/ptr_table.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/ptr_table.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/push.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/push.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/push.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/push.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/refs.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/refs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/rmagical.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/rmagical.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/rmagical.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/rmagical.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/rv2cv_op_cv.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/rv2cv_op_cv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/rv2cv_op_cv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/rv2cv_op_cv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/savehints.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/savehints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/savehints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/savehints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/scopelessblock.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/scopelessblock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/scopelessblock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/scopelessblock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/stmtasexpr.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/stmtasexpr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/stmtasexpr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/stmtasexpr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/stmtsasexpr.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/stmtsasexpr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/stmtsasexpr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/stmtsasexpr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/stuff_modify_bug.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/stuff_modify_bug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/stuff_modify_bug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/stuff_modify_bug.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/stuff_svcur_bug.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/stuff_svcur_bug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/stuff_svcur_bug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/stuff_svcur_bug.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/svpeek.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/svpeek.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/svpeek.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/svpeek.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/svpv_magic.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/svpv_magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/svpv_magic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!perl -w
 
-use Test::More tests => 5;
+use Test::More tests => 10;
 
 BEGIN {
     use_ok('XS::APItest')
@@ -28,3 +28,23 @@
 
 is(eval { XS::APItest::first_byte($1) } || $@, 0303,
     "utf8 flag fetched correctly without stringification");
+
+sub TIESCALAR { bless [], shift }
+sub FETCH { ++$f; *{chr 255} }
+tie $t, "main";
+is SvPVutf8($t), "*main::\xc3\xbf",
+  'SvPVutf8 works with get-magic changing the SV type';
+is $f, 1, 'SvPVutf8 calls get-magic once';
+
+package t {
+  @ISA = 'main';
+  sub FETCH { ++$::f; chr 255 }
+  sub STORE { }
+}
+tie $t, "t";
+undef $f;
+is SvPVutf8($t), "\xc3\xbf",
+  'SvPVutf8 works with get-magic downgrading the SV';
+is $f, 1, 'SvPVutf8 calls get-magic once';
+()="$t";
+is $f, 2, 'SvPVutf8 does not stop stringification from calling FETCH';


Property changes on: vendor/perl/dist/ext/XS-APItest/t/svpv_magic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/svsetsv.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/svsetsv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/svsetsv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 3;
+use Test::More tests => 7;
 
 BEGIN { use_ok('XS::APItest') };
 
@@ -12,3 +12,16 @@
 
 ok(!sv_setsv_cow_hashkey_notcore,
    "Without PERL_CORE sv_setsv doesn't COW for shared hash key scalars");
+
+*AUTOLOAD = \&XS::APItest::AutoLoader::AUTOLOADp;
+foo(\1); sv_set_deref(\&AUTOLOAD, '$', 0);
+is prototype(\&AUTOLOAD), '$', 'sv_setsv(cv,...) sets prototype';
+foo(\1); sv_set_deref(\&AUTOLOAD, '$', 1);
+is prototype(\&AUTOLOAD), '$', 'sv_setpv(cv,...) sets prototype';
+foo(\1); sv_set_deref(\&AUTOLOAD, '$', 2);
+is prototype(\&AUTOLOAD), '$', 'sv_setpvn(cv,...) sets prototype';
+
+# Perhaps this does not belong here?  But it is at least testing that
+# sv_mortalcopy uses sv_setsv in an unsurprising way.
+ok !SvIsCOW(sv_mortalcopy(__PACKAGE__)),
+  'sv_mortalcopy does not COW for extensions [perl #79824]';


Property changes on: vendor/perl/dist/ext/XS-APItest/t/svsetsv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/swaplabel.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/swaplabel.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/swaplabel.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 use warnings;
 use strict;
 
-use Test::More tests => 28;
+use Test::More tests => 56;
 
 BEGIN { $^H |= 0x20000; }
 
@@ -179,4 +179,181 @@
 isnt $@, "";
 is $t, "";
 
+{
+    use utf8;
+    use open qw( :utf8 :std );
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            $t .= "ㅏ";
+            $t .= "Ḇ";
+            swaplabel $t .= "ᶜ";
+            swaplabel $t .= "ᛑ";
+            $t .= "ᶟ";
+    };
+    is $@, "";
+    is $t, "ㅏḆᶜᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            $t .= "ㅏ";
+            LḆ: $t .= "Ḇ";
+            swaplabel $t .= "ᶜ"; Lᶜ:
+            swaplabel $t .= "ᛑ"; Lᛑ:
+            Lᶟ: $t .= "ᶟ";
+    };
+    is $@, "";
+    is $t, "ㅏḆᶜᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            $t .= "ㅏ";
+            goto LḆ;
+            LḆ: $t .= "Ḇ";
+            swaplabel $t .= "ᶜ"; Lᶜ:
+            swaplabel $t .= "ᛑ"; Lᛑ:
+            Lᶟ: $t .= "ᶟ";
+    };
+    is $@, "";
+    is $t, "ㅏḆᶜᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            $t .= "ㅏ";
+            goto Lᶜ;
+            LḆ: $t .= "Ḇ";
+            swaplabel $t .= "ᶜ"; Lᶜ:
+            swaplabel $t .= "ᛑ"; Lᛑ:
+            Lᶟ: $t .= "ᶟ";
+    };
+    is $@, "";
+    is $t, "ㅏᶜᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            $t .= "ㅏ";
+            goto Lᛑ;
+            LḆ: $t .= "Ḇ";
+            swaplabel $t .= "ᶜ"; Lᶜ:
+            swaplabel $t .= "ᛑ"; Lᛑ:
+            Lᶟ: $t .= "ᶟ";
+    };
+    is $@, "";
+    is $t, "ㅏᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            $t .= "ㅏ";
+            goto Lᶟ;
+            LḆ: $t .= "Ḇ";
+            swaplabel $t .= "ᶜ"; Lᶜ:
+            swaplabel $t .= "ᛑ"; Lᛑ:
+            Lᶟ: $t .= "ᶟ";
+    };
+    is $@, "";
+    is $t, "ㅏᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            $t .= "ㅏ";
+            swaplabel $t .= "Ḇ"; y:
+            $t .= "ᶜ";
+    };
+    isnt $@, "";
+    is $t, "";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            if(1) { $t .= "ㅏ"; }
+            if(1) { $t .= "Ḇ"; }
+            swaplabel if(1) { $t .= "ᶜ"; }
+            swaplabel if(1) { $t .= "ᛑ"; }
+            if(1) { $t .= "ᶟ"; }
+    };
+    is $@, "";
+    is $t, "ㅏḆᶜᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            if(1) { $t .= "ㅏ"; }
+            LḆ: if(1) { $t .= "Ḇ"; }
+            swaplabel if(1) { $t .= "ᶜ"; } Lᶜ:
+            swaplabel if(1) { $t .= "ᛑ"; } Lᛑ:
+            Lᶟ: if(1) { $t .= "ᶟ"; }
+    };
+    is $@, "";
+    is $t, "ㅏḆᶜᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            if(1) { $t .= "ㅏ"; }
+            goto LḆ;
+            LḆ: if(1) { $t .= "Ḇ"; }
+            swaplabel if(1) { $t .= "ᶜ"; } Lᶜ:
+            swaplabel if(1) { $t .= "ᛑ"; } Lᛑ:
+            Lᶟ: if(1) { $t .= "ᶟ"; }
+    };
+    is $@, "";
+    is $t, "ㅏḆᶜᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            if(1) { $t .= "ㅏ"; }
+            goto Lᶜ;
+            LḆ: if(1) { $t .= "Ḇ"; }
+            swaplabel if(1) { $t .= "ᶜ"; } Lᶜ:
+            swaplabel if(1) { $t .= "ᛑ"; } Lᛑ:
+            Lᶟ: if(1) { $t .= "ᶟ"; }
+    };
+    is $@, "";
+    is $t, "ㅏᶜᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            if(1) { $t .= "ㅏ"; }
+            goto Lᛑ;
+            LḆ: if(1) { $t .= "Ḇ"; }
+            swaplabel if(1) { $t .= "ᶜ"; } Lᶜ:
+            swaplabel if(1) { $t .= "ᛑ"; } Lᛑ:
+            Lᶟ: if(1) { $t .= "ᶟ"; }
+    };
+    is $@, "";
+    is $t, "ㅏᛑᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            if(1) { $t .= "ㅏ"; }
+            goto Lᶟ;
+            LḆ: if(1) { $t .= "Ḇ"; }
+            swaplabel if(1) { $t .= "ᶜ"; } Lᶜ:
+            swaplabel if(1) { $t .= "ᛑ"; } Lᛑ:
+            Lᶟ: if(1) { $t .= "ᶟ"; }
+    };
+    is $@, "";
+    is $t, "ㅏᶟ";
+    
+    $t = "";
+    eval q{
+            use XS::APItest qw(swaplabel);
+            if(1) { $t .= "ㅏ"; }
+            swaplabel if(1) { $t .= "Ḇ"; } y:
+            if(1) { $t .= "ᶜ"; }
+    };
+    isnt $@, "";
+    is $t, "";
+}
+
 1;


Property changes on: vendor/perl/dist/ext/XS-APItest/t/swaplabel.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/swaptwostmts.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/swaptwostmts.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/swaptwostmts.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/swaptwostmts.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/temp_lv_sub.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/temp_lv_sub.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/temp_lv_sub.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/temp_lv_sub.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/utf16_to_utf8.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf16_to_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/utf16_to_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/utf16_to_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/utf8.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,4 +24,268 @@
     is(bytes_cmp_utf8($right, $left), -$expect, "$desc reversed");
 }
 
+# Test uft8n_to_uvuni().  These provide essentially complete code coverage.
+
+# Copied from utf8.h
+my $UTF8_ALLOW_EMPTY            = 0x0001;
+my $UTF8_ALLOW_CONTINUATION     = 0x0002;
+my $UTF8_ALLOW_NON_CONTINUATION = 0x0004;
+my $UTF8_ALLOW_SHORT            = 0x0008;
+my $UTF8_ALLOW_LONG             = 0x0010;
+my $UTF8_DISALLOW_SURROGATE     = 0x0020;
+my $UTF8_WARN_SURROGATE         = 0x0040;
+my $UTF8_DISALLOW_NONCHAR       = 0x0080;
+my $UTF8_WARN_NONCHAR           = 0x0100;
+my $UTF8_DISALLOW_SUPER         = 0x0200;
+my $UTF8_WARN_SUPER             = 0x0400;
+my $UTF8_DISALLOW_FE_FF         = 0x0800;
+my $UTF8_WARN_FE_FF             = 0x1000;
+my $UTF8_CHECK_ONLY             = 0x2000;
+
+my $REPLACEMENT = 0xFFFD;
+
+my @warnings;
+
+use warnings 'utf8';
+local $SIG{__WARN__} = sub { push @warnings, @_ };
+
+# First test the malformations.  All these raise category utf8 warnings.
+foreach my $test (
+    [ "zero length string malformation", "", 0,
+        $UTF8_ALLOW_EMPTY, 0, 0,
+        qr/empty string/
+    ],
+    [ "orphan continuation byte malformation", "\x80a", 2,
+        $UTF8_ALLOW_CONTINUATION, $REPLACEMENT, 1,
+        qr/unexpected continuation byte/
+    ],
+    [ "premature next character malformation (immediate)", "\xc2a", 2,
+        $UTF8_ALLOW_NON_CONTINUATION, $REPLACEMENT, 1,
+        qr/unexpected non-continuation byte.*immediately after start byte/
+    ],
+    [ "premature next character malformation (non-immediate)", "\xf0\x80a", 3,
+        $UTF8_ALLOW_NON_CONTINUATION, $REPLACEMENT, 2,
+        qr/unexpected non-continuation byte .* 2 bytes after start byte/
+    ],
+    [ "too short malformation", "\xf0\x80a", 2,
+        # Having the 'a' after this, but saying there are only 2 bytes also
+        # tests that we pay attention to the passed in length
+        $UTF8_ALLOW_SHORT, $REPLACEMENT, 2,
+        qr/2 bytes, need 4/
+    ],
+    [ "overlong malformation", "\xc1\xaf", 2,
+        $UTF8_ALLOW_LONG, ord('o'), 2,
+        qr/2 bytes, need 1/
+    ],
+    [ "overflow malformation", "\xff\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf", 13,
+        0,  # There is no way to allow this malformation
+        $REPLACEMENT, 13,
+        qr/overflow/
+    ],
+) {
+    my ($testname, $bytes, $length, $allow_flags, $allowed_uv, $expected_len, $message ) = @$test;
+
+    next if ! ok(length($bytes) >= $length, "$testname: Make sure won't read beyond buffer: " . length($bytes) . " >= $length");
+
+    # Test what happens when this malformation is not allowed
+    undef @warnings;
+    my $ret_ref = test_utf8n_to_uvuni($bytes, $length, 0);
+    is($ret_ref->[0], 0, "$testname: disallowed: Returns 0");
+    is($ret_ref->[1], $expected_len, "$testname: disallowed: Returns expected length");
+    if (is(scalar @warnings, 1, "$testname: disallowed: Got a single warning ")) {
+        like($warnings[0], $message, "$testname: disallowed: Got expected warning");
+    }
+    else {
+        if (scalar @warnings) {
+            note "The warnings were: " . join(", ", @warnings);
+        }
+    }
+
+    {   # Next test when disallowed, and warnings are off.
+        undef @warnings;
+        no warnings 'utf8';
+        my $ret_ref = test_utf8n_to_uvuni($bytes, $length, 0);
+        is($ret_ref->[0], 0, "$testname: disallowed: no warnings 'utf8': Returns 0");
+        is($ret_ref->[1], $expected_len, "$testname: disallowed: no warnings 'utf8': Returns expected length");
+        if (!is(scalar @warnings, 0, "$testname: disallowed: no warnings 'utf8': no warnings generated")) {
+            note "The warnings were: " . join(", ", @warnings);
+        }
+    }
+
+    # Test with CHECK_ONLY
+    undef @warnings;
+    $ret_ref = test_utf8n_to_uvuni($bytes, $length, $UTF8_CHECK_ONLY);
+    is($ret_ref->[0], 0, "$testname: CHECK_ONLY: Returns 0");
+    is($ret_ref->[1], -1, "$testname: CHECK_ONLY: returns expected length");
+    if (! is(scalar @warnings, 0, "$testname: CHECK_ONLY: no warnings generated")) {
+        note "The warnings were: " . join(", ", @warnings);
+    }
+
+    next if $allow_flags == 0;    # Skip if can't allow this malformation
+
+    # Test when the malformation is allowed
+    undef @warnings;
+    $ret_ref = test_utf8n_to_uvuni($bytes, $length, $allow_flags);
+    is($ret_ref->[0], $allowed_uv, "$testname: allowed: Returns expected uv");
+    is($ret_ref->[1], $expected_len, "$testname: allowed: Returns expected length");
+    if (!is(scalar @warnings, 0, "$testname: allowed: no warnings generated"))
+    {
+        note "The warnings were: " . join(", ", @warnings);
+    }
+}
+
+my $FF_ret;
+
+use Unicode::UCD;
+my $has_quad = ($Unicode::UCD::MAX_CP > 0xFFFF_FFFF);
+if ($has_quad) {
+    no warnings qw{portable overflow};
+    $FF_ret = 0x1000000000;
+}
+else {  # The above overflows unless a quad platform
+    $FF_ret = 0;
+}
+
+# Now test the cases where a legal code point is generated, but may or may not
+# be allowed/warned on.
+my @tests = (
+    [ "surrogate", "\xed\xa4\x8d",
+        $UTF8_WARN_SURROGATE, $UTF8_DISALLOW_SURROGATE, 'surrogate', 0xD90D, 3,
+        qr/surrogate/
+    ],
+    [ "non_unicode", "\xf4\x90\x80\x80",
+        $UTF8_WARN_SUPER, $UTF8_DISALLOW_SUPER, 'non_unicode', 0x110000, 4,
+        qr/not Unicode/
+    ],
+    [ "non-character code point", "\xEF\xB7\x90",
+        $UTF8_WARN_NONCHAR, $UTF8_DISALLOW_NONCHAR, 'nonchar', 0xFDD0, 3,
+        qr/Unicode non-character.*is illegal for open interchange/
+    ],
+    [ "begins with FE", "\xfe\x82\x80\x80\x80\x80\x80",
+
+        # This code point is chosen so that it is representable in a UV on
+        # 32-bit machines
+        $UTF8_WARN_FE_FF, $UTF8_DISALLOW_FE_FF, 'utf8', 0x80000000, 7,
+        qr/Code point beginning with byte .* is not Unicode, and not portable/
+    ],
+    [ "overflow with FE/FF",
+        # This tests the interaction of WARN_FE_FF/DISALLOW_FE_FF with
+        # overflow.  The overflow malformation is never allowed, so preventing
+        # it takes precedence if the FE_FF options would otherwise allow in an
+        # overflowing value.  These two code points (1 for 32-bits; 1 for 64)
+        # were chosen because the old overflow detection algorithm did not
+        # catch them; this means this test also checks for that fix.
+        ($has_quad)
+            ? "\xff\x80\x90\x90\x90\xbf\xbf\xbf\xbf\xbf\xbf\xbf\xbf"
+            : "\xfe\x86\x80\x80\x80\x80\x80",
+        $UTF8_WARN_FE_FF, $UTF8_DISALLOW_FE_FF, 'utf8', 0,
+        ($has_quad) ? 13 : 7,
+        qr/Code point beginning with byte .* is not Unicode, and not portable/
+    ],
+);
+
+if ($has_quad) {    # All FF's will overflow on 32 bit
+    push @tests,
+        [ "begins with FF", "\xff\x80\x80\x80\x80\x80\x81\x80\x80\x80\x80\x80\x80",
+            $UTF8_WARN_FE_FF, $UTF8_DISALLOW_FE_FF, 'utf8', $FF_ret, 13,
+            qr/Code point beginning with byte .* is not Unicode, and not portable/
+        ];
+}
+
+foreach my $test (@tests) {
+    my ($testname, $bytes, $warn_flags, $disallow_flags, $category, $allowed_uv, $expected_len, $message ) = @$test;
+
+    my $length = length $bytes;
+    my $will_overflow = $testname =~ /overflow/;
+
+    # This is more complicated than the malformations tested earlier, as there
+    # are several orthogonal variables involved.  We test all the subclasses
+    # of utf8 warnings to verify they work with and without the utf8 class,
+    # and don't have effects on other sublass warnings
+    foreach my $warning (0, 'utf8', 'surrogate', 'nonchar', 'non_unicode') {
+        foreach my $warn_flag (0, $warn_flags) {
+            foreach my $disallow_flag (0, $disallow_flags) {
+
+                no warnings 'utf8';
+                my $eval_warn = $warning eq 0 ? "no warnings" : "use warnings '$warning'";
+
+                # is effectively disallowed if will overflow, even if the flag
+                # indicates it is allowed, fix up test name to indicate this
+                # as well
+                my $disallowed = $disallow_flag || $will_overflow;
+
+                my $this_name = "$testname: " . (($disallow_flag)
+                                                  ? 'disallowed'
+                                                  : ($disallowed)
+                                                    ? 'FE_FF allowed'
+                                                    : 'allowed');
+                $this_name .= ", $eval_warn";
+                $this_name .= ", " . (($warn_flag) ? 'with warning flag' : 'no warning flag');
+
+                undef @warnings;
+                my $ret_ref;
+                #note __LINE__ . ": $eval_warn; \$ret_ref = test_utf8n_to_uvuni('$bytes', $length, $warn_flag|$disallow_flag)";
+                my $eval_text = "$eval_warn; \$ret_ref = test_utf8n_to_uvuni('$bytes', $length, $warn_flag|$disallow_flag)";
+                eval "$eval_text";
+                if (! ok ("$@ eq ''", "$this_name: eval succeeded")) {
+                    note "\$!='$!'; eval'd=\"$eval_text\"";
+                    next;
+                }
+                if ($disallowed) {
+                    is($ret_ref->[0], 0, "$this_name: Returns 0");
+                }
+                else {
+                    is($ret_ref->[0], $allowed_uv, "$this_name: Returns expected uv");
+                }
+                is($ret_ref->[1], $expected_len, "$this_name: Returns expected length");
+
+                if ($will_overflow && ! $disallow_flag && $warning eq 'utf8') {
+
+                    # Will get the overflow message instead of the expected
+                    # message under these circumstances, as they would
+                    # otherwise accept an overflowed value, which the code
+                    # should not allow, so falls back to overflow.
+                    if (is(scalar @warnings, 1, "$this_name: Got a single warning ")) {
+                        like($warnings[0], qr/overflow/, "$this_name: Got overflow warning");
+                    }
+                    else {
+                        if (scalar @warnings) {
+                            note "The warnings were: " . join(", ", @warnings);
+                        }
+                    }
+                }
+                elsif ($warn_flag && ($warning eq 'utf8' || $warning eq $category)) {
+                    if (is(scalar @warnings, 1, "$this_name: Got a single warning ")) {
+                        like($warnings[0], $message, "$this_name: Got expected warning");
+                    }
+                    else {
+                        if (scalar @warnings) {
+                            note "The warnings were: " . join(", ", @warnings);
+                        }
+                    }
+                }
+                else {
+                    if (!is(scalar @warnings, 0, "$this_name: No warnings generated"))
+                    {
+                        note "The warnings were: " . join(", ", @warnings);
+                    }
+                }
+
+                # Check CHECK_ONLY results when the input is disallowed.  Do
+                # this when actually disallowed, not just when the
+                # $disallow_flag is set
+                if ($disallowed) {
+                    undef @warnings;
+                    $ret_ref = test_utf8n_to_uvuni($bytes, $length, $disallow_flag|$UTF8_CHECK_ONLY);
+                    is($ret_ref->[0], 0, "$this_name, CHECK_ONLY: Returns 0");
+                    is($ret_ref->[1], -1, "$this_name: CHECK_ONLY: returns expected length");
+                    if (! is(scalar @warnings, 0, "$this_name, CHECK_ONLY: no warnings generated")) {
+                        note "The warnings were: " . join(", ", @warnings);
+                    }
+                }
+            }
+        }
+    }
+}
+
 done_testing;


Property changes on: vendor/perl/dist/ext/XS-APItest/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/t/xs_special_subs.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/xs_special_subs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/xs_special_subs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/t/xs_special_subs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/xs_special_subs_require.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/xs_special_subs_require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/xs_special_subs_require.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -86,8 +86,8 @@
 
     @trap = sort @trap;
     is(scalar @trap, 2, "There were 2 warnings");
-    is($trap[0], "Too late to run CHECK block.\n");
-    is($trap[1], "Too late to run INIT block.\n");
+    like($trap[0], qr "^Too late to run CHECK block");
+    like($trap[1], qr "^Too late to run INIT block");
 }
 
 print "# Second body\n";


Property changes on: vendor/perl/dist/ext/XS-APItest/t/xs_special_subs_require.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-APItest/t/xsub_h.t
===================================================================
--- vendor/perl/dist/ext/XS-APItest/t/xsub_h.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/t/xsub_h.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
 
 sub expect_good {
     my $package = $_[0];
-    my $version = exists $_[1] ? ", $_[1]" : '';
+    my $version = @_ >= 2 ? ", $_[1]" : '';
     local $Test::Builder::Level = $Test::Builder::Level + 1;
     is_deeply([XS_VERSION_defined(@_)], [],
 	      "Is good for $package$version");
@@ -37,7 +37,7 @@
     } else {
 	$what = 'bootstrap parameter';
     }
-    if (exists $_[1]) {
+    if (@_ >= 2) {
 	$desc = "$_[0], $_[1]";
     } else {
 	$desc = $_[0];


Property changes on: vendor/perl/dist/ext/XS-APItest/t/xsub_h.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-APItest/typemap
===================================================================
--- vendor/perl/dist/ext/XS-APItest/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-APItest/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-APItest/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-Typemap/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/XS-Typemap/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-Typemap/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-Typemap/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-Typemap/README
===================================================================
--- vendor/perl/dist/ext/XS-Typemap/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-Typemap/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-Typemap/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-Typemap/Typemap.pm
===================================================================
--- vendor/perl/dist/ext/XS-Typemap/Typemap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-Typemap/Typemap.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -36,14 +36,18 @@
 
 use vars qw/ $VERSION @EXPORT /;
 
-$VERSION = '0.05';
+$VERSION = '0.10';
 
 @EXPORT = (qw/
 	   T_SV
 	   T_SVREF
+	   T_SVREF_REFCOUNT_FIXED
 	   T_AVREF
+	   T_AVREF_REFCOUNT_FIXED
 	   T_HVREF
+	   T_HVREF_REFCOUNT_FIXED
 	   T_CVREF
+	   T_CVREF_REFCOUNT_FIXED
 	   T_SYSRET_fail T_SYSRET_pass
 	   T_UV
 	   T_IV
@@ -50,6 +54,8 @@
 	   T_INT
            T_ENUM
            T_BOOL
+           T_BOOL_2
+           T_BOOL_OUT
            T_U_INT
            T_SHORT
            T_U_SHORT
@@ -71,6 +77,9 @@
            T_OPAQUEPTR_IN_struct T_OPAQUEPTR_OUT_struct
 	   T_ARRAY
 	   T_STDIO_open T_STDIO_close T_STDIO_print
+           T_PACKED_in T_PACKED_out
+           T_PACKEDARRAY_in T_PACKEDARRAY_out
+           T_INOUT T_IN T_OUT
 	   /);
 
 XSLoader::load();


Property changes on: vendor/perl/dist/ext/XS-Typemap/Typemap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-Typemap/Typemap.xs
===================================================================
--- vendor/perl/dist/ext/XS-Typemap/Typemap.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-Typemap/Typemap.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,10 +25,15 @@
 typedef int intObj; /* T_PTROBJ */
 typedef int intRefIv; /* T_REF_IV_PTR */
 typedef int intArray; /* T_ARRAY */
+typedef int intTINT; /* T_INT */
+typedef int intTLONG; /* T_LONG */
 typedef short shortOPQ;   /* T_OPAQUE */
 typedef int intOpq;   /* T_OPAQUEPTR */
+typedef unsigned intUnsigned; /* T_U_INT */
+typedef PerlIO * inputfh; /* T_IN */
+typedef PerlIO * outputfh; /* T_OUT */
 
-/* A structure to test T_OPAQUEPTR */
+/* A structure to test T_OPAQUEPTR and T_PACKED */
 struct t_opaqueptr {
   int a;
   int b;
@@ -36,6 +41,7 @@
 };
 
 typedef struct t_opaqueptr astruct;
+typedef struct t_opaqueptr anotherstruct;
 
 /* Some static memory for the tests */
 static I32 xst_anint;
@@ -44,6 +50,13 @@
 static intRefIv xst_anintrefiv;
 static intOpq xst_anintopq;
 
+/* A different type to refer to for testing the different
+ * AV*, HV*, etc typemaps */
+typedef AV AV_FIXED;
+typedef HV HV_FIXED;
+typedef CV CV_FIXED;
+typedef SVREF SVREF_FIXED;
+
 /* Helper functions */
 
 /* T_ARRAY - allocate some memory */
@@ -53,26 +66,190 @@
     return array;
 }
 
+/* test T_PACKED */
+STATIC void
+XS_pack_anotherstructPtr(SV *out, anotherstruct *in)
+{
+    dTHX;
+    HV *hash = newHV();
+    if (NULL == hv_stores(hash, "a", newSViv(in->a)))
+      croak("Failed to store data in hash");
+    if (NULL == hv_stores(hash, "b", newSViv(in->b)))
+      croak("Failed to store data in hash");
+    if (NULL == hv_stores(hash, "c", newSVnv(in->c)))
+      croak("Failed to store data in hash");
+    sv_setsv(out, sv_2mortal(newRV_noinc((SV*)hash)));
+}
 
+STATIC anotherstruct *
+XS_unpack_anotherstructPtr(SV *in)
+{
+    dTHX; /* rats, this is expensive */
+    /* this is similar to T_HVREF since we chose to use a hash */
+    HV *inhash;
+    SV **elem;
+    anotherstruct *out;
+    SV *const tmp = in;
+    SvGETMAGIC(tmp);
+    if (SvROK(tmp) && SvTYPE(SvRV(tmp)) == SVt_PVHV)
+       inhash = (HV*)SvRV(tmp);
+    else
+        Perl_croak(aTHX_ "Argument is not a HASH reference");
+
+    /* FIXME dunno if supposed to use perl mallocs here */
+    Newxz(out, 1, anotherstruct);
+
+    elem = hv_fetchs(inhash, "a", 0);
+    if (elem == NULL)
+      Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
+    out->a = SvIV(*elem);
+
+    elem = hv_fetchs(inhash, "b", 0);
+    if (elem == NULL)
+      Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
+    out->b = SvIV(*elem);
+
+    elem = hv_fetchs(inhash, "c", 0);
+    if (elem == NULL)
+      Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
+    out->c = SvNV(*elem);
+
+    return out;
+}
+
+/* test T_PACKEDARRAY */
+STATIC void
+XS_pack_anotherstructPtrPtr(SV *out, anotherstruct **in, UV cnt)
+{
+    dTHX;
+    UV i;
+    AV *ary = newAV();
+    for (i = 0; i < cnt; ++i) {
+        HV *hash = newHV();
+        if (NULL == hv_stores(hash, "a", newSViv(in[i]->a)))
+          croak("Failed to store data in hash");
+        if (NULL == hv_stores(hash, "b", newSViv(in[i]->b)))
+          croak("Failed to store data in hash");
+        if (NULL == hv_stores(hash, "c", newSVnv(in[i]->c)))
+          croak("Failed to store data in hash");
+        av_push(ary, newRV_noinc((SV*)hash));
+    }
+    sv_setsv(out, sv_2mortal(newRV_noinc((SV*)ary)));
+}
+
+STATIC anotherstruct **
+XS_unpack_anotherstructPtrPtr(SV *in)
+{
+    dTHX; /* rats, this is expensive */
+    /* this is similar to T_HVREF since we chose to use a hash */
+    HV *inhash;
+    AV *inary;
+    SV **elem;
+    anotherstruct **out;
+    UV nitems, i;
+    SV *tmp;
+
+    /* safely deref the input array ref */
+    tmp = in;
+    SvGETMAGIC(tmp);
+    if (SvROK(tmp) && SvTYPE(SvRV(tmp)) == SVt_PVAV)
+        inary = (AV*)SvRV(tmp);
+    else
+        Perl_croak(aTHX_ "Argument is not an ARRAY reference");
+
+    nitems = av_len(inary) + 1;
+
+    /* FIXME dunno if supposed to use perl mallocs here */
+    /* N+1 elements so we know the last one is NULL */
+    Newxz(out, nitems+1, anotherstruct*);
+
+    /* WARNING: in real code, we'd have to Safefree() on exception, but
+     *          since we're testing perl, if we croak() here, stuff is
+     *          rotten anyway! */
+    for (i = 0; i < nitems; ++i) {
+        Newxz(out[i], 1, anotherstruct);
+        elem = av_fetch(inary, i, 0);
+        if (elem == NULL)
+            Perl_croak(aTHX_ "Shouldn't happen: av_fetch returns NULL");
+        tmp = *elem;
+        SvGETMAGIC(tmp);
+        if (SvROK(tmp) && SvTYPE(SvRV(tmp)) == SVt_PVHV)
+            inhash = (HV*)SvRV(tmp);
+        else
+            Perl_croak(aTHX_ "Array element %"UVuf" is not a HASH reference", i);
+
+        elem = hv_fetchs(inhash, "a", 0);
+        if (elem == NULL)
+            Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
+        out[i]->a = SvIV(*elem);
+
+        elem = hv_fetchs(inhash, "b", 0);
+        if (elem == NULL)
+            Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
+        out[i]->b = SvIV(*elem);
+
+        elem = hv_fetchs(inhash, "c", 0);
+        if (elem == NULL)
+            Perl_croak(aTHX_ "Shouldn't happen: hv_fetchs returns NULL");
+        out[i]->c = SvNV(*elem);
+    }
+
+    return out;
+}
+
+/* no special meaning as far as typemaps are concerned,
+ * just for convenience */
+void
+XS_release_anotherstructPtrPtr(anotherstruct **in)
+{
+    unsigned int i = 0;
+    while (in[i] != NULL)
+        Safefree(in[i++]);
+    Safefree(in);
+}
+
+
 MODULE = XS::Typemap   PACKAGE = XS::Typemap
 
 PROTOTYPES: DISABLE
 
-=head1 TYPEMAPS
+TYPEMAP: <<END_OF_TYPEMAP
 
-Each C type is represented by an entry in the typemap file that
-is responsible for converting perl variables (SV, AV, HV and CV) to
-and from that type.
+# Typemap file for typemap testing
+# includes bonus typemap entries
+# Mainly so that all the standard typemaps can be exercised even when
+# there is not a corresponding type explicitly identified in the standard
+# typemap
 
-=over 4
+svtype           T_ENUM
+intRef *         T_PTRREF
+intRef           T_IV
+intObj *         T_PTROBJ
+intObj           T_IV
+intRefIv *       T_REF_IV_PTR
+intRefIv         T_IV
+intArray *       T_ARRAY
+intOpq           T_IV
+intOpq   *       T_OPAQUEPTR
+intUnsigned      T_U_INT
+intTINT          T_INT
+intTLONG         T_LONG
+shortOPQ         T_OPAQUE
+shortOPQ *       T_OPAQUEPTR
+astruct *        T_OPAQUEPTR
+anotherstruct *  T_PACKED
+anotherstruct ** T_PACKEDARRAY
+AV_FIXED *	 T_AVREF_REFCOUNT_FIXED
+HV_FIXED *	 T_HVREF_REFCOUNT_FIXED
+CV_FIXED *	 T_CVREF_REFCOUNT_FIXED
+SVREF_FIXED	 T_SVREF_REFCOUNT_FIXED
+inputfh          T_IN
+outputfh         T_OUT
 
-=item T_SV
+END_OF_TYPEMAP
 
-This simply passes the C representation of the Perl variable (an SV*)
-in and out of the XS layer. This can be used if the C code wants
-to deal directly with the Perl variable.
 
-=cut
+## T_SV
 
 SV *
 T_SV( sv )
@@ -89,12 +266,9 @@
  OUTPUT:
   RETVAL
 
-=item T_SVREF
 
-Used to pass in and return a reference to an SV.
+## T_SVREF
 
-=cut
-
 SVREF
 T_SVREF( svref )
   SVREF svref
@@ -103,13 +277,21 @@
  OUTPUT:
   RETVAL
 
-=item T_AVREF
 
-From the perl level this is a reference to a perl array.
-From the C level this is a pointer to an AV.
+## T_SVREF_FIXED
 
-=cut
+SVREF_FIXED
+T_SVREF_REFCOUNT_FIXED( svref )
+  SVREF_FIXED svref
+ CODE:
+  SvREFCNT_inc(svref);
+  RETVAL = svref;
+ OUTPUT:
+  RETVAL
 
+
+## T_AVREF
+
 AV *
 T_AVREF( av )
   AV * av
@@ -118,13 +300,21 @@
  OUTPUT:
   RETVAL
 
-=item T_HVREF
 
-From the perl level this is a reference to a perl hash.
-From the C level this is a pointer to an HV.
+## T_AVREF_REFCOUNT_FIXED
 
-=cut
+AV_FIXED*
+T_AVREF_REFCOUNT_FIXED( av )
+  AV_FIXED * av
+ CODE:
+  SvREFCNT_inc(av);
+  RETVAL = av;
+ OUTPUT:
+  RETVAL
 
+
+## T_HVREF
+
 HV *
 T_HVREF( hv )
   HV * hv
@@ -133,14 +323,21 @@
  OUTPUT:
   RETVAL
 
-=item T_CVREF
 
-From the perl level this is a reference to a perl subroutine
-(e.g. $sub = sub { 1 };). From the C level this is a pointer
-to a CV.
+## T_HVREF_REFCOUNT_FIXED
 
-=cut
+HV_FIXED*
+T_HVREF_REFCOUNT_FIXED( hv )
+  HV_FIXED * hv
+ CODE:
+  SvREFCNT_inc(hv);
+  RETVAL = hv;
+ OUTPUT:
+  RETVAL
 
+
+## T_CVREF
+
 CV *
 T_CVREF( cv )
   CV * cv
@@ -150,23 +347,20 @@
   RETVAL
 
 
-=item T_SYSRET
+## T_CVREF_REFCOUNT_FIXED
 
-The T_SYSRET typemap is used to process return values from system calls.
-It is only meaningful when passing values from C to perl (there is
-no concept of passing a system return value from Perl to C).
+CV_FIXED *
+T_CVREF_REFCOUNT_FIXED( cv )
+  CV_FIXED * cv
+ CODE:
+  SvREFCNT_inc(cv);
+  RETVAL = cv;
+ OUTPUT:
+  RETVAL
 
-System calls return -1 on error (setting ERRNO with the reason)
-and (usually) 0 on success. If the return value is -1 this typemap
-returns C<undef>. If the return value is not -1, this typemap
-translates a 0 (perl false) to "0 but true" (which
-is perl true) or returns the value itself, to indicate that the
-command succeeded.
 
-The L<POSIX|POSIX> module makes extensive use of this type.
+## T_SYSRET
 
-=cut
-
 # Test a successful return
 
 SysRet
@@ -185,12 +379,8 @@
  OUTPUT:
   RETVAL
 
-=item T_UV
+## T_UV
 
-An unsigned integer.
-
-=cut
-
 unsigned int
 T_UV( uv )
   unsigned int uv
@@ -199,13 +389,9 @@
  OUTPUT:
   RETVAL
 
-=item T_IV
 
-A signed integer. This is cast to the required  integer type when
-passed to C and converted to an IV when passed back to Perl.
+## T_IV
 
-=cut
-
 long
 T_IV( iv )
   long iv
@@ -214,22 +400,20 @@
  OUTPUT:
   RETVAL
 
-=item T_INT
 
-A signed integer. This typemap converts the Perl value to a native
-integer type (the C<int> type on the current platform). When returning
-the value to perl it is processed in the same way as for T_IV.
+## T_INT
 
-Its behaviour is identical to using an C<int> type in XS with T_IV.
+intTINT
+T_INT( i )
+  intTINT i
+ CODE:
+  RETVAL = i;
+ OUTPUT:
+  RETVAL
 
-=item T_ENUM
 
-An enum value. Used to transfer an enum component
-from C. There is no reason to pass an enum value to C since
-it is stored as an IV inside perl.
+## T_ENUM
 
-=cut
-
 # The test should return the value for SVt_PVHV.
 # 11 at the present time but we can't not rely on this
 # for testing purposes.
@@ -241,13 +425,9 @@
  OUTPUT:
   RETVAL
 
-=item T_BOOL
 
-A boolean type. This can be used to pass true and false values to and
-from C.
+## T_BOOL
 
-=cut
-
 bool
 T_BOOL( in )
   bool in
@@ -256,28 +436,46 @@
  OUTPUT:
   RETVAL
 
-=item T_U_INT
+bool
+T_BOOL_2( in )
+  bool in
+ CODE:
+ OUTPUT:
+   in
 
-This is for unsigned integers. It is equivalent to using T_UV
-but explicitly casts the variable to type C<unsigned int>.
-The default type for C<unsigned int> is T_UV.
+void
+T_BOOL_OUT( out, in )
+  bool out
+  bool in
+ CODE:
+ out = in;
+ OUTPUT:
+   out
 
-=item T_SHORT
+## T_U_INT
 
-Short integers. This is equivalent to T_IV but explicitly casts
-the return to type C<short>. The default typemap for C<short>
-is T_IV.
+intUnsigned
+T_U_INT( uint )
+  intUnsigned uint
+ CODE:
+  RETVAL = uint;
+ OUTPUT:
+  RETVAL
 
-=item T_U_SHORT
 
-Unsigned short integers. This is equivalent to T_UV but explicitly
-casts the return to type C<unsigned short>. The default typemap for
-C<unsigned short> is T_UV.
+## T_SHORT
 
-T_U_SHORT is used for type C<U16> in the standard typemap.
+short
+T_SHORT( s )
+  short s
+ CODE:
+  RETVAL = s;
+ OUTPUT:
+  RETVAL
 
-=cut
 
+## T_U_SHORT
+
 U16
 T_U_SHORT( in )
   U16 in
@@ -287,22 +485,18 @@
   RETVAL
 
 
-=item T_LONG
+## T_LONG
 
-Long integers. This is equivalent to T_IV but explicitly casts
-the return to type C<long>. The default typemap for C<long>
-is T_IV.
+intTLONG
+T_LONG( in )
+  intTLONG in
+ CODE:
+  RETVAL = in;
+ OUTPUT:
+  RETVAL
 
-=item T_U_LONG
+## T_U_LONG
 
-Unsigned long integers. This is equivalent to T_UV but explicitly
-casts the return to type C<unsigned long>. The default typemap for
-C<unsigned long> is T_UV.
-
-T_U_LONG is used for type C<U32> in the standard typemap.
-
-=cut
-
 U32
 T_U_LONG( in )
   U32 in
@@ -311,12 +505,9 @@
  OUTPUT:
   RETVAL
 
-=item T_CHAR
 
-Single 8-bit characters.
+## T_CHAR
 
-=cut
-
 char
 T_CHAR( in );
   char in
@@ -326,12 +517,8 @@
   RETVAL
 
 
-=item T_U_CHAR
+## T_U_CHAR
 
-An unsigned byte.
-
-=cut
-
 unsigned char
 T_U_CHAR( in );
   unsigned char in
@@ -341,13 +528,8 @@
   RETVAL
 
 
-=item T_FLOAT
+## T_FLOAT
 
-A floating point number. This typemap guarantees to return a variable
-cast to a C<float>.
-
-=cut
-
 float
 T_FLOAT( in )
   float in
@@ -356,14 +538,9 @@
  OUTPUT:
   RETVAL
 
-=item T_NV
 
-A Perl floating point number. Similar to T_IV and T_UV in that the
-return type is cast to the requested numeric type rather than
-to a specific type.
+## T_NV
 
-=cut
-
 NV
 T_NV( in )
   NV in
@@ -372,13 +549,9 @@
  OUTPUT:
   RETVAL
 
-=item T_DOUBLE
 
-A double precision floating point number. This typemap guarantees to
-return a variable cast to a C<double>.
+## T_DOUBLE
 
-=cut
-
 double
 T_DOUBLE( in )
   double in
@@ -387,12 +560,9 @@
  OUTPUT:
   RETVAL
 
-=item T_PV
 
-A string (char *).
+## T_PV
 
-=cut
-
 char *
 T_PV( in )
   char * in
@@ -401,13 +571,9 @@
  OUTPUT:
   RETVAL
 
-=item T_PTR
 
-A memory address (pointer). Typically associated with a C<void *>
-type.
+## T_PTR
 
-=cut
-
 # Pass in a value. Store the value in some static memory and
 # then return the pointer
 
@@ -430,17 +596,9 @@
  OUTPUT:
   RETVAL
 
-=item T_PTRREF
 
-Similar to T_PTR except that the pointer is stored in a scalar and the
-reference to that scalar is returned to the caller. This can be used
-to hide the actual pointer value from the programmer since it is usually
-not required directly from within perl.
+## T_PTRREF
 
-The typemap checks that a scalar reference is passed from perl to XS.
-
-=cut
-
 # Similar test to T_PTR
 # Pass in a value. Store the value in some static memory and
 # then return the pointer
@@ -465,20 +623,8 @@
   RETVAL
 
 
+## T_PTROBJ
 
-=item T_PTROBJ
-
-Similar to T_PTRREF except that the reference is blessed into a class.
-This allows the pointer to be used as an object. Most commonly used to
-deal with C structs. The typemap checks that the perl object passed
-into the XS routine is of the correct class (or part of a subclass).
-
-The pointer is blessed into a class that is derived from the name
-of type of the pointer but with all '*' in the name replaced with
-'Ptr'.
-
-=cut
-
 # Similar test to T_PTRREF
 # Pass in a value. Store the value in some static memory and
 # then return the pointer
@@ -506,22 +652,13 @@
 
 MODULE = XS::Typemap PACKAGE = XS::Typemap
 
-=item T_REF_IV_REF
 
-NOT YET
+## T_REF_IV_REF
+## NOT YET
 
-=item T_REF_IV_PTR
 
-Similar to T_PTROBJ in that the pointer is blessed into a scalar object.
-The difference is that when the object is passed back into XS it must be
-of the correct type (inheritance is not supported).
+## T_REF_IV_PTR
 
-The pointer is blessed into a class that is derived from the name
-of type of the pointer but with all '*' in the name replaced with
-'Ptr'.
-
-=cut
-
 # Similar test to T_PTROBJ
 # Pass in a value. Store the value in some static memory and
 # then return the pointer
@@ -550,38 +687,20 @@
 
 MODULE = XS::Typemap PACKAGE = XS::Typemap
 
-=item T_PTRDESC
+## T_PTRDESC
+## NOT YET
 
-NOT YET
 
-=item T_REFREF
+## T_REFREF
+## NOT YET
 
-NOT YET
 
-=item T_REFOBJ
+## T_REFOBJ
+## NOT YET
 
-NOT YET
 
-=item T_OPAQUEPTR
+## T_OPAQUEPTR
 
-This can be used to store bytes in the string component of the
-SV. Here the representation of the data is irrelevant to perl and the
-bytes themselves are just stored in the SV. It is assumed that the C
-variable is a pointer (the bytes are copied from that memory
-location).  If the pointer is pointing to something that is
-represented by 8 bytes then those 8 bytes are stored in the SV (and
-length() will report a value of 8). This entry is similar to T_OPAQUE.
-
-In principal the unpack() command can be used to convert the bytes
-back to a number (if the underlying type is known to be a number).
-
-This entry can be used to store a C structure (the number
-of bytes to be copied is calculated using the C C<sizeof> function)
-and can be used as an alternative to T_PTRREF without having to worry
-about a memory leak (since Perl will clean up the SV).
-
-=cut
-
 intOpq *
 T_OPAQUEPTR_IN( val )
   intOpq val
@@ -632,25 +751,8 @@
   XPUSHs(sv_2mortal(newSVnv(test->c)));
 
 
-=item T_OPAQUE
+## T_OPAQUE
 
-This can be used to store data from non-pointer types in the string
-part of an SV. It is similar to T_OPAQUEPTR except that the
-typemap retrieves the pointer directly rather than assuming it
-is being supplied. For example if an integer is imported into
-Perl using T_OPAQUE rather than T_IV the underlying bytes representing
-the integer will be stored in the SV but the actual integer value will not
-be available. i.e. The data is opaque to perl.
-
-The data may be retrieved using the C<unpack> function if the
-underlying type of the byte stream is known.
-
-T_OPAQUE supports input and output of simple types.
-T_OPAQUEPTR can be used to pass these bytes back into C if a pointer
-is acceptable.
-
-=cut
-
 shortOPQ
 T_OPAQUE_IN( val )
   int val
@@ -667,25 +769,6 @@
  OUTPUT:
   RETVAL
 
-=item Implicit array
-
-xsubpp supports a special syntax for returning
-packed C arrays to perl. If the XS return type is given as
-
-  array(type, nelem)
-
-xsubpp will copy the contents of C<nelem * sizeof(type)> bytes from
-RETVAL to an SV and push it onto the stack. This is only really useful
-if the number of items to be returned is known at compile time and you
-don't mind having a string of bytes in your SV.  Use T_ARRAY to push a
-variable number of arguments onto the return stack (they won't be
-packed as a single string though).
-
-This is similar to using T_OPAQUEPTR but can be used to process more than
-one element.
-
-=cut
-
 array(int,3)
 T_OPAQUE_array( a,b,c)
   int a
@@ -702,58 +785,80 @@
   RETVAL
 
 
-=item T_PACKED
+## T_PACKED
 
-NOT YET
+void
+T_PACKED_in(in)
+  anotherstruct *in;
+ PPCODE:
+  mXPUSHi(in->a);
+  mXPUSHi(in->b);
+  mXPUSHn(in->c);
+  Safefree(in);
+  XSRETURN(3);
 
-=item T_PACKEDARRAY
+anotherstruct *
+T_PACKED_out(a, b ,c)
+  int a;
+  int b;
+  double c;
+ CODE:
+  Newxz(RETVAL, 1, anotherstruct);
+  RETVAL->a = a;
+  RETVAL->b = b;
+  RETVAL->c = c;
+ OUTPUT: RETVAL
+ CLEANUP:
+  Safefree(RETVAL);
 
-NOT YET
+## T_PACKEDARRAY
 
-=item T_DATAUNIT
+void
+T_PACKEDARRAY_in(in)
+  anotherstruct **in;
+ PREINIT:
+  unsigned int i = 0;
+ PPCODE:
+  while (in[i] != NULL) {
+    mXPUSHi(in[i]->a);
+    mXPUSHi(in[i]->b);
+    mXPUSHn(in[i]->c);
+    ++i;
+  }
+  XS_release_anotherstructPtrPtr(in);
+  XSRETURN(3*i);
 
-NOT YET
+anotherstruct **
+T_PACKEDARRAY_out(...)
+ PREINIT:
+  unsigned int i, nstructs, count_anotherstructPtrPtr;
+ CODE:
+  if ((items % 3) != 0)
+    croak("Need nitems divisible by 3");
+  nstructs = (unsigned int)(items / 3);
+  count_anotherstructPtrPtr = nstructs;
+  Newxz(RETVAL, nstructs+1, anotherstruct *);
+  for (i = 0; i < nstructs; ++i) {
+    Newxz(RETVAL[i], 1, anotherstruct);
+    RETVAL[i]->a = SvIV(ST(3*i));
+    RETVAL[i]->b = SvIV(ST(3*i+1));
+    RETVAL[i]->c = SvNV(ST(3*i+2));
+  }
+ OUTPUT: RETVAL
+ CLEANUP:
+  XS_release_anotherstructPtrPtr(RETVAL);
 
-=item T_CALLBACK
 
-NOT YET
+## T_DATAUNIT
+## NOT YET
 
-=item T_ARRAY
 
-This is used to convert the perl argument list to a C array
-and for pushing the contents of a C array onto the perl
-argument stack.
+## T_CALLBACK
+## NOT YET
 
-The usual calling signature is
 
-  @out = array_func( @in );
+## T_ARRAY
 
-Any number of arguments can occur in the list before the array but
-the input and output arrays must be the last elements in the list.
-
-When used to pass a perl list to C the XS writer must provide a
-function (named after the array type but with 'Ptr' substituted for
-'*') to allocate the memory required to hold the list. A pointer
-should be returned. It is up to the XS writer to free the memory on
-exit from the function. The variable C<ix_$var> is set to the number
-of elements in the new array.
-
-When returning a C array to Perl the XS writer must provide an integer
-variable called C<size_$var> containing the number of elements in the
-array. This is used to determine how many elements should be pushed
-onto the return argument stack. This is not required on input since
-Perl knows how many arguments are on the stack when the routine is
-called. Ordinarily this variable would be called C<size_RETVAL>.
-
-Additionally, the type of each element is determined from the type of
-the array. If the array uses type C<intArray *> xsubpp will
-automatically work out that it contains variables of type C<int> and
-use that typemap entry to perform the copy of each element. All
-pointer '*' and 'Array' tags are removed from the name to determine
-the subtype.
-
-=cut
-
 # Test passes in an integer array and returns it along with
 # the number of elements
 # Pass in a dummy value to test offsetting
@@ -762,6 +867,9 @@
 # using PPCODE. This means that only the first element
 # is returned. KLUGE this by using CLEANUP to return before the
 # end.
+# Note: I read this as: The "T_ARRAY" typemap is really rather broken,
+#       at least for OUTPUT. That is apart from the general design
+#       weaknesses. --Steffen
 
 intArray *
 T_ARRAY( dummy, array, ... )
@@ -780,13 +888,8 @@
   XSRETURN(size_RETVAL);
 
 
-=item T_STDIO
+## T_STDIO
 
-This is used for passing perl filehandles to and from C using
-C<FILE *> structures.
-
-=cut
-
 FILE *
 T_STDIO_open( file )
   const char * file
@@ -821,24 +924,32 @@
   RETVAL
 
 
-=item T_IN
+## T_INOUT
 
-NOT YET
+PerlIO *
+T_INOUT(in)
+  PerlIO *in;
+ CODE:
+  RETVAL = in; /* silly test but better than nothing */
+ OUTPUT: RETVAL
 
-=item T_INOUT
 
-This is used for passing perl filehandles to and from C using
-C<PerlIO *> structures. The file handle can used for reading and
-writing.
+## T_IN
 
-See L<perliol> for more information on the Perl IO abstraction
-layer. Perl must have been built with C<-Duseperlio>.
+inputfh
+T_IN(in)
+  inputfh in;
+ CODE:
+  RETVAL = in; /* silly test but better than nothing */
+ OUTPUT: RETVAL
 
-=item T_OUT
 
-NOT YET
+## T_OUT
 
-=back
+outputfh
+T_OUT(in)
+  outputfh in;
+ CODE:
+  RETVAL = in; /* silly test but better than nothing */
+ OUTPUT: RETVAL
 
-=cut
-


Property changes on: vendor/perl/dist/ext/XS-Typemap/Typemap.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-Typemap/stdio.c
===================================================================
--- vendor/perl/dist/ext/XS-Typemap/stdio.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-Typemap/stdio.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-Typemap/stdio.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/XS-Typemap/t/Typemap.t
===================================================================
--- vendor/perl/dist/ext/XS-Typemap/t/Typemap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-Typemap/t/Typemap.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     }
 }
 
-use Test::More tests => 84;
+use Test::More tests => 146;
 
 use strict;
 use warnings;
@@ -28,17 +28,16 @@
 }
 
 # T_SV - standard perl scalar value
-print "# T_SV\n";
-
+note("T_SV");
 my $sv = "Testing T_SV";
 is( T_SV($sv), $sv);
 
 # T_SVREF - reference to Scalar
-print "# T_SVREF\n";
-
+note("T_SVREF");
 $sv .= "REF";
 my $svref = \$sv;
 is( T_SVREF($svref), $svref );
+is( ${ T_SVREF($svref) }, $$svref );
 
 # Now test that a non reference is rejected
 # the typemaps croak
@@ -45,70 +44,106 @@
 eval { T_SVREF( "fail - not ref" ) };
 ok( $@ );
 
+note("T_SVREF_REFCOUNT_FIXED");
+is( T_SVREF_REFCOUNT_FIXED($svref), $svref );
+is( ${ T_SVREF_REFCOUNT_FIXED($svref) }, $$svref );
+eval { T_SVREF_REFCOUNT_FIXED( "fail - not ref" ) };
+ok( $@ );
+
+
 # T_AVREF - reference to a perl Array
-print "# T_AVREF\n";
-
+note("T_AVREF");
 my @array;
 is( T_AVREF(\@array), \@array);
-
 # Now test that a non array ref is rejected
 eval { T_AVREF( \$sv ) };
 ok( $@ );
 
+# T_AVREF_REFCOUNT_FIXED  - reference to a perl Array, refcount fixed
+note("T_AVREF_REFCOUNT_FIXED");
+is( T_AVREF_REFCOUNT_FIXED(\@array), \@array);
+# Now test that a non array ref is rejected
+eval { T_AVREF_REFCOUNT_FIXED( \$sv ) };
+ok( $@ );
+
+
 # T_HVREF - reference to a perl Hash
-print "# T_HVREF\n";
-
+note("T_HVREF");
 my %hash;
 is( T_HVREF(\%hash), \%hash);
-
 # Now test that a non hash ref is rejected
 eval { T_HVREF( \@array ) };
 ok( $@ );
 
 
+# T_HVREF_REFCOUNT_FIXED - reference to a perl Hash, refcount fixed
+note("T_HVREF_REFCOUNT_FIXED");
+is( T_HVREF_REFCOUNT_FIXED(\%hash), \%hash);
+# Now test that a non hash ref is rejected
+eval { T_HVREF_REFCOUNT_FIXED( \@array ) };
+ok( $@ );
+
+
 # T_CVREF - reference to perl subroutine
-print "# T_CVREF\n";
+note("T_CVREF");
 my $sub = sub { 1 };
 is( T_CVREF($sub), $sub );
-
 # Now test that a non code ref is rejected
 eval { T_CVREF( \@array ) };
 ok( $@ );
 
+is( T_CVREF_REFCOUNT_FIXED($sub), $sub );
+# Now test that a non code ref is rejected
+eval { T_CVREF_REFCOUNT_FIXED( \@array ) };
+ok( $@ );
+
+
 # T_SYSRET - system return values
-print "# T_SYSRET\n";
-
+note("T_SYSRET");
 # first check success
 ok( T_SYSRET_pass );
-
 # ... now failure
 is( T_SYSRET_fail, undef);
 
 # T_UV - unsigned integer
-print "# T_UV\n";
-
+note("T_UV");
 is( T_UV(5), 5 );    # pass
 isnt( T_UV(-4), -4); # fail
 
+# T_U_INT - unsigned integer with (unsigned int) cast
+note("T_U_INT");
+is( T_U_INT(5), 5 );    # pass
+isnt( T_U_INT(-4), -4); # fail
+
 # T_IV - signed integer
-print "# T_IV\n";
+# T_INT - signed integer with cast
+# T_LONG - signed integer with cast to IV
+# T_SHORT - signed short
+for my $t (['T_IV', \&T_IV],
+           ['T_INT', \&T_INT],
+           ['T_LONG', \&T_LONG],
+           ['T_SHORT', \&T_SHORT])
+{
+  note($t->[0]);
+  is( $t->[1]->(5), 5);
+  is( $t->[1]->(-4), -4);
+  is( $t->[1]->(4.1), int(4.1));
+  is( $t->[1]->("52"), "52");
+  isnt( $t->[1]->(4.5), 4.5); # failure
+}
 
-is( T_IV(5), 5);
-is( T_IV(-4), -4);
-is( T_IV(4.1), int(4.1));
-is( T_IV("52"), "52");
-isnt( T_IV(4.5), 4.5); # failure
+if ($Config{shortsize} == 2) {
+  isnt( T_SHORT(32801), 32801 );
+}
+else {
+  pass(); # e.g. Crays have shortsize 4 (T3X) or 8 (CXX and SVX)
+}
 
-
-# Skip T_INT
-
 # T_ENUM - enum list
-print "# T_ENUM\n";
+ok( T_ENUM(), 'T_ENUM' ); # just hope for a true value
 
-ok( T_ENUM() ); # just hope for a true value
-
 # T_BOOL - boolean
-print "# T_BOOL\n";
+note("T_BOOL");
 
 ok( T_BOOL(52) );
 ok( ! T_BOOL(0) );
@@ -115,14 +150,27 @@
 ok( ! T_BOOL('') );
 ok( ! T_BOOL(undef) );
 
-# Skip T_U_INT
+{
+  # these attempt to modify a read-only value
+  ok( !eval { T_BOOL_2(52); 1 } );
+  ok( !eval { T_BOOL_2(0); 1 } );
+  ok( !eval { T_BOOL_2(''); 1 } );
+  ok( !eval { T_BOOL_2(undef); 1 } );
+}
 
-# Skip T_SHORT
+{
+    my ($in, $out);
+    $in = 1;
+    T_BOOL_OUT($out, $in);
+    ok($out, "T_BOOL_OUT, true in");
+    $in = 0;
+    $out = 1;
+    T_BOOL_OUT($out, $in);
+    ok(!$out, "T_BOOL_OUT, false in");
+}
 
 # T_U_SHORT aka U16
-
-print "# T_U_SHORT\n";
-
+note("T_U_SHORT");
 is( T_U_SHORT(32000), 32000);
 if ($Config{shortsize} == 2) {
   isnt( T_U_SHORT(65536), 65536); # probably dont want to test edge cases
@@ -131,16 +179,12 @@
 }
 
 # T_U_LONG aka U32
-
-print "# T_U_LONG\n";
-
+note("T_U_LONG");
 is( T_U_LONG(65536), 65536);
 isnt( T_U_LONG(-1), -1);
 
 # T_CHAR
-
-print "# T_CHAR\n";
-
+note("T_CHAR");
 is( T_CHAR("a"), "a");
 is( T_CHAR("-"), "-");
 is( T_CHAR(chr(128)),chr(128));
@@ -147,9 +191,7 @@
 isnt( T_CHAR(chr(256)), chr(256));
 
 # T_U_CHAR
-
-print "# T_U_CHAR\n";
-
+note("T_U_CHAR");
 is( T_U_CHAR(127), 127);
 is( T_U_CHAR(128), 128);
 isnt( T_U_CHAR(-1), -1);
@@ -156,37 +198,27 @@
 isnt( T_U_CHAR(300), 300);
 
 # T_FLOAT
-print "# T_FLOAT\n";
-
 # limited precision
-is( sprintf("%6.3f",T_FLOAT(52.345)), sprintf("%6.3f",52.345));
+is( sprintf("%6.3f",T_FLOAT(52.345)), sprintf("%6.3f",52.345), "T_FLOAT");
 
 # T_NV
-print "# T_NV\n";
+is( T_NV(52.345), 52.345, "T_NV" );
 
-is( T_NV(52.345), 52.345);
-
 # T_DOUBLE
-print "# T_DOUBLE\n";
+is( sprintf("%6.3f",T_DOUBLE(52.345)), sprintf("%6.3f",52.345), "T_DOUBLE" );
 
-is( sprintf("%6.3f",T_DOUBLE(52.345)), sprintf("%6.3f",52.345));
-
 # T_PV
-print "# T_PV\n";
-
+note("T_PV");
 is( T_PV("a string"), "a string");
 is( T_PV(52), 52);
 
 # T_PTR
-print "# T_PTR\n";
-
 my $t = 5;
 my $ptr = T_PTR_OUT($t);
-is( T_PTR_IN( $ptr ), $t );
+is( T_PTR_IN( $ptr ), $t, "T_PTR" );
 
 # T_PTRREF
-print "# T_PTRREF\n";
-
+note("T_PTRREF");
 $t = -52;
 $ptr = T_PTRREF_OUT( $t );
 is( ref($ptr), "SCALAR");
@@ -197,8 +229,7 @@
 ok( $@ );
 
 # T_PTROBJ
-print "# T_PTROBJ\n";
-
+note("T_PTROBJ");
 $t = 256;
 $ptr = T_PTROBJ_OUT( $t );
 is( ref($ptr), "intObjPtr");
@@ -216,8 +247,7 @@
 # Skip T_REF_IV_REF
 
 # T_REF_IV_PTR
-print "# T_REF_IV_PTR\n";
-
+note("T_REF_IV_PTR");
 $t = -365;
 $ptr = T_REF_IV_PTR_OUT( $t );
 is( ref($ptr), "intRefIvPtr");
@@ -235,15 +265,13 @@
 # Skip T_REFOBJ
 
 # T_OPAQUEPTR
-print "# T_OPAQUEPTR\n";
-
+note("T_OPAQUEPTR");
 $t = 22;
 my $p = T_OPAQUEPTR_IN( $t );
 is( T_OPAQUEPTR_OUT($p), $t);
 
 # T_OPAQUEPTR with a struct
-print "# T_OPAQUEPTR with a struct\n";
-
+note("T_OPAQUEPTR with a struct");
 my @test = (5,6,7);
 $p = T_OPAQUEPTR_IN_struct(@test);
 my @result = T_OPAQUEPTR_OUT_struct($p);
@@ -253,8 +281,7 @@
 }
 
 # T_OPAQUE
-print "# T_OPAQUE\n";
-
+note("T_OPAQUE");
 $t = 48;
 $p = T_OPAQUE_IN( $t );
 is(T_OPAQUEPTR_OUT_short( $p ), $t); # Test using T_OPAQUEPTR
@@ -261,7 +288,7 @@
 is(T_OPAQUE_OUT( $p ), $t );         # Test using T_OPQAQUE
 
 # T_OPAQUE_array
-print "# A packed  array\n";
+note("T_OPAQUE: A packed array");
 
 my @opq = (2,4,8);
 my $packed = T_OPAQUE_array(@opq);
@@ -271,9 +298,45 @@
   is( $uopq[$_], $opq[$_]);
 }
 
-# Skip T_PACKED
+# T_PACKED
+note("T_PACKED");
+my $struct = T_PACKED_out(-4, 3, 2.1);
+ok(ref($struct) eq 'HASH');
+is_approx($struct->{a}, -4);
+is_approx($struct->{b}, 3);
+is_approx($struct->{c}, 2.1);
+my @rv = T_PACKED_in($struct);
+is(scalar(@rv), 3);
+is_approx($rv[0], -4);
+is_approx($rv[1], 3);
+is_approx($rv[2], 2.1);
 
-# Skip T_PACKEDARRAY
+# T_PACKEDARRAY
+SCOPE: {
+  note("T_PACKED_ARRAY");
+  my @d = (
+    -4, 3, 2.1,
+    2, 1, -15.3,
+    1,1,1
+  );
+  my @out;
+  push @out, {a => $d[$_*3], b => $d[$_*3+1], c => $d[$_*3+2]} for (0..2);
+  my $structs = T_PACKEDARRAY_out(@d);
+  ok(ref($structs) eq 'ARRAY');
+  is(scalar(@$structs), 3);
+  foreach my $i (0..2) {
+    my $s = $structs->[$i];
+    is(ref($s), 'HASH');
+    is_approx($s->{a}, $d[$i*3+0]);
+    is_approx($s->{b}, $d[$i*3+1]);
+    is_approx($s->{c}, $d[$i*3+2]);
+  }
+  my @rv = T_PACKEDARRAY_in($structs);
+  is(scalar(@rv), scalar(@d));
+  foreach my $i (0..$#d) {
+    is_approx($rv[$i], $d[$i]);
+  }
+}
 
 # Skip T_DATAUNIT
 
@@ -280,19 +343,12 @@
 # Skip T_CALLBACK
 
 # T_ARRAY
-print "# T_ARRAY\n";
 my @inarr = (1,2,3,4,5,6,7,8,9,10);
 my @outarr = T_ARRAY( 5, @inarr );
-is(scalar(@outarr), scalar(@inarr));
+is_deeply(\@outarr, \@inarr, "T_ARRAY");
 
-for (0..$#inarr) {
-  is($outarr[$_], $inarr[$_]);
-}
-
-
-
 # T_STDIO
-print "# T_STDIO\n";
+note("T_STDIO");
 
 # open a file in XS for write
 my $testfile= "stdio.tmp";
@@ -330,3 +386,53 @@
   }
 }
 
+# T_INOUT
+note("T_INOUT");
+SCOPE: {
+  my $buf = '';
+  local $| = 1;
+  open my $fh, "+<", \$buf or die $!;
+  my $str = "Fooo!\n";
+  print $fh $str;
+  my $fh2 = T_INOUT($fh);
+  seek($fh2, 0, 0);
+  is(readline($fh2), $str);
+  ok(print $fh2 "foo\n");
+}
+
+# T_IN
+note("T_IN");
+SCOPE: {
+  my $buf = "Hello!\n";
+  local $| = 1;
+  open my $fh, "<", \$buf or die $!;
+  my $fh2 = T_IN($fh);
+  is(readline($fh2), $buf);
+  local $SIG{__WARN__} = sub {die};
+  ok(not(eval {print $fh2 "foo\n"; 1}));
+}
+
+# T_OUT
+note("T_OUT");
+SCOPE: {
+  my $buf = '';
+  local $| = 1;
+  open my $fh, "+<", \$buf or die $!;
+  my $str = "Fooo!\n";
+  print $fh $str;
+  my $fh2 = T_OUT($fh);
+  seek($fh2, 0, 0);
+  is(readline($fh2), $str);
+  ok(eval {print $fh2 "foo\n"; 1});
+}
+
+sub is_approx {
+  my ($l, $r, $n) = @_;
+  if (not defined $l or not defined $r) {
+    fail(defined($n) ? $n : ());
+  }
+  else {
+    ok($l < $r+1e-6 && $r < $l+1e-6, defined($n) ? $n : ())
+      or note("$l and $r seem to be different given a fuzz of 1e-6");
+  }
+}


Property changes on: vendor/perl/dist/ext/XS-Typemap/t/Typemap.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/XS-Typemap/typemap
===================================================================
--- vendor/perl/dist/ext/XS-Typemap/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/XS-Typemap/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/XS-Typemap/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/attributes/attributes.pm
===================================================================
--- vendor/perl/dist/ext/attributes/attributes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/attributes/attributes.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package attributes;
 
-our $VERSION = 0.14;
+our $VERSION = 0.21;
 
 @EXPORT_OK = qw(get reftype);
 @EXPORT = ();
@@ -34,6 +34,15 @@
 	    require warnings;
 	    warnings::warnif('deprecated', "Attribute \"$1\" is deprecated");
 	    0;
+	} : $svtype eq 'CODE' && /^-?lvalue\z/ ? do {
+	    require warnings;
+	    warnings::warnif(
+		'misc',
+		"lvalue attribute "
+		   . (/^-/ ? "removed from" : "applied to")
+		   . " already-defined subroutine"
+	    );
+	    0;
 	} : 1
     } _modify_attrs(@_);
 }
@@ -190,8 +199,9 @@
 
 First of all C<import> gets the type of the third parameter ('CODE' in this case).
 C<attributes.pm> checks if there is a subroutine called C<< MODIFY_<reftype>_ATTRIBUTES >>
-in the caller's namespace (here: 'main'). In this case a subroutine C<MODIFY_CODE_ATTRIBUTES> is
-required. Then this method is called to check if you have used a "bad attribute".
+in the caller's namespace (here: 'main').  In this case a
+subroutine C<MODIFY_CODE_ATTRIBUTES> is required.  Then this
+method is called to check if you have used a "bad attribute".
 The subroutine call in this example would look like
 
   MODIFY_CODE_ATTRIBUTES( 'main', \&foo, 'method' );
@@ -210,21 +220,49 @@
 =item lvalue
 
 Indicates that the referenced subroutine is a valid lvalue and can
-be assigned to. The subroutine must return a modifiable value such
+be assigned to.  The subroutine must return a modifiable value such
 as a scalar variable, as described in L<perlsub>.
 
+This module allows one to set this attribute on a subroutine that is
+already defined.  For Perl subroutines (XSUBs are fine), it may or may not
+do what you want, depending on the code inside the subroutine, with details
+subject to change in future Perl versions.  You may run into problems with
+lvalue context not being propagated properly into the subroutine, or maybe
+even assertion failures.  For this reason, a warning is emitted if warnings
+are enabled.  In other words, you should only do this if you really know
+what you are doing.  You have been warned.
+
 =item method
 
-Indicates that the referenced subroutine is a method. A subroutine so marked
+Indicates that the referenced subroutine
+is a method.  A subroutine so marked
 will not trigger the "Ambiguous call resolved as CORE::%s" warning.
 
 =item locked
 
-The "locked" attribute has no effect in 5.10.0 and later. It was used as part
-of the now-removed "Perl 5.005 threads".
+The "locked" attribute is deprecated, and has no effect in 5.10.0 and later.
+It was used as part of the now-removed "Perl 5.005 threads".
 
 =back
 
+The following are the built-in attributes for variables:
+
+=over 4
+
+=item shared
+
+Indicates that the referenced variable can be shared across different threads
+when used in conjunction with the L<threads> and L<threads::shared> modules.
+
+=item unique
+
+The "unique" attribute is deprecated, and has no effect in 5.10.0 and later.
+It used to indicate that a single copy of an C<our> variable was to be used by
+all interpreters should the program happen to be running in a
+multi-interpreter environment.
+
+=back
+
 =head2 Available Subroutines
 
 The following subroutines are available for general use once this module
@@ -454,7 +492,8 @@
        print "foo\n";
     }
 
-This example runs. At compile time C<MODIFY_CODE_ATTRIBUTES> is called. In that
+This example runs.  At compile time
+C<MODIFY_CODE_ATTRIBUTES> is called.  In that
 subroutine, we check if any attribute is disallowed and we return a list of
 these "bad attributes".
 
@@ -476,7 +515,8 @@
   }
 
 This example is aborted at compile time as we use the attribute "Test" which
-isn't allowed. C<MODIFY_CODE_ATTRIBUTES> returns a list that contains a single
+isn't allowed.  C<MODIFY_CODE_ATTRIBUTES>
+returns a list that contains a single
 element ('Test').
 
 =back


Property changes on: vendor/perl/dist/ext/attributes/attributes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/attributes/attributes.xs
===================================================================
--- vendor/perl/dist/ext/attributes/attributes.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/attributes/attributes.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
  * 'Perilous to us all are the devices of an art deeper than we possess
  *  ourselves.'                                            --Gandalf
  *
- *     [p.597 of _The Lord of the Rings_, III/xi: "The Palant\xEDr"]
+ *     [p.597 of _The Lord of the Rings_, III/xi: "The Palantír"]
  */
 
 #define PERL_NO_GET_CONTEXT
@@ -48,10 +48,15 @@
 		switch (name[3]) {
 		case 'l':
 		    if (memEQ(name, "lvalue", 6)) {
+			bool warn =
+			    !CvISXSUB(MUTABLE_CV(sv))
+			 && CvROOT(MUTABLE_CV(sv))
+			 && !CvLVALUE(MUTABLE_CV(sv)) != negated;
 			if (negated)
 			    CvFLAGS(MUTABLE_CV(sv)) &= ~CVf_LVALUE;
 			else
 			    CvFLAGS(MUTABLE_CV(sv)) |= CVf_LVALUE;
+			if (warn) break;
 			continue;
 		    }
 		    break;
@@ -157,7 +162,7 @@
     sv = SvRV(rv);
 
     if (SvOBJECT(sv))
-	sv_setpvn(TARG, HvNAME_get(SvSTASH(sv)), HvNAMELEN_get(SvSTASH(sv)));
+	Perl_sv_sethek(aTHX_ TARG, HvNAME_HEK(SvSTASH(sv)));
 #if 0	/* this was probably a bad idea */
     else if (SvPADMY(sv))
 	sv_setsv(TARG, &PL_sv_no);	/* unblessed lexical */
@@ -179,7 +184,7 @@
 	    break;
 	}
 	if (stash)
-	    sv_setpvn(TARG, HvNAME_get(stash), HvNAMELEN_get(stash));
+	    Perl_sv_sethek(aTHX_ TARG, HvNAME_HEK(stash));
     }
 
     SvSETMAGIC(TARG);
@@ -211,8 +216,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/ext/attributes/attributes.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/attrs/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/attrs/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/attrs/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/attrs/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/attrs/attrs.pm
===================================================================
--- vendor/perl/dist/ext/attrs/attrs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/attrs/attrs.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/attrs/attrs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/attrs/attrs.xs
===================================================================
--- vendor/perl/dist/ext/attrs/attrs.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/attrs/attrs.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/attrs/attrs.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/attrs/t/attrs.t
===================================================================
--- vendor/perl/dist/ext/attrs/t/attrs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/attrs/t/attrs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/attrs/t/attrs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/mro/Changes
===================================================================
--- vendor/perl/dist/ext/mro/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/mro/Changes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,8 @@
 Revision history for Perl extension mro.
 
+1.08 Sun Jun 12 14:09:03 BST 2011
+	- remove two broken URLs from the documentation
+
 1.01  Fri Dec 26 19:23:01 2008
 	- original version; created by h2xs 1.23 with options
 		-b 5.10.0 -c -A -n mro --skip-ppport


Property changes on: vendor/perl/dist/ext/mro/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/mro/mro.pm
===================================================================
--- vendor/perl/dist/ext/mro/mro.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/mro/mro.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 
 # mro.pm versions < 1.00 reserved for MRO::Compat
 #  for partial back-compat to 5.[68].x
-our $VERSION = '1.07';
+our $VERSION = '1.11';
 
 sub import {
     mro::set_mro(scalar(caller), $_[1]) if $_[1];
@@ -308,7 +308,7 @@
 
 =over 4
 
-=item L<http://www.webcom.com/haahr/dylan/linearization-oopsla96.html>
+=item L<http://haahr.tempdomainname.com/dylan/linearization-oopsla96.html>
 
 =back
 
@@ -322,8 +322,6 @@
 
 =over 4
 
-=item L<http://aspn.activestate.com/ASPN/Mail/Message/perl6-internals/2746631>
-
 =item L<http://use.perl.org/~autrijus/journal/25768>
 
 =back
@@ -338,14 +336,6 @@
 
 =back
 
-=head2 C3 for TinyCLOS
-
-=over 4
-
-=item L<http://www.call-with-current-continuation.org/eggs/c3.html>
-
-=back 
-
 =head2 Class::C3
 
 =over 4


Property changes on: vendor/perl/dist/ext/mro/mro.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/mro/mro.xs
===================================================================
--- vendor/perl/dist/ext/mro/mro.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/mro/mro.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -45,8 +45,8 @@
       Perl_croak(aTHX_ "Can't linearize anonymous symbol table");
 
     if (level > 100)
-        Perl_croak(aTHX_ "Recursive inheritance detected in package '%s'",
-		   HEK_KEY(stashhek));
+        Perl_croak(aTHX_ "Recursive inheritance detected in package '%"SVf"'",
+		   SVfARG(sv_2mortal(newSVhek(stashhek))));
 
     meta = HvMROMETA(stash);
 
@@ -253,8 +253,10 @@
                 SV *errmsg;
                 I32 i;
 
-                errmsg = newSVpvf("Inconsistent hierarchy during C3 merge of class '%s':\n\t"
-                                  "current merge results [\n", HEK_KEY(stashhek));
+                errmsg = newSVpvf(
+                            "Inconsistent hierarchy during C3 merge of class '%"SVf"':\n\t"
+                            "current merge results [\n",
+                                            SVfARG(sv_2mortal(newSVhek(stashhek))));
                 for (i = 0; i <= av_len(retval); i++) {
                     SV **elem = av_fetch(retval, i, 0);
                     sv_catpvf(errmsg, "\t\t%"SVf",\n", SVfARG(*elem));
@@ -468,13 +470,14 @@
   PREINIT:
     SV* self = ST(0);
     const I32 throw_nomethod = SvIVX(ST(1));
-    register I32 cxix = cxstack_ix;
-    register const PERL_CONTEXT *ccstack = cxstack;
+    I32 cxix = cxstack_ix;
+    const PERL_CONTEXT *ccstack = cxstack;
     const PERL_SI *top_si = PL_curstackinfo;
     HV* selfstash;
     SV *stashname;
     const char *fq_subname;
     const char *subname;
+    bool subname_utf8 = 0;
     STRLEN stashname_len;
     STRLEN subname_len;
     SV* sv;
@@ -550,6 +553,7 @@
 		fq_subname = SvPVX(sv);
 		fq_subname_len = SvCUR(sv);
 
+                subname_utf8 = SvUTF8(sv) ? 1 : 0;
 		subname = strrchr(fq_subname, ':');
 	    } else {
 		subname = NULL;
@@ -583,7 +587,10 @@
 	    SV* const val = HeVAL(cache_entry);
 	    if(val == &PL_sv_undef) {
 		if(throw_nomethod)
-		    Perl_croak(aTHX_ "No next::method '%s' found for %s", subname, hvname);
+		    Perl_croak(aTHX_ "No next::method '%"SVf"' found for %"SVf,
+                        SVfARG(newSVpvn_flags(subname, subname_len,
+                                SVs_TEMP | ( subname_utf8 ? SVf_UTF8 : 0 ) )),
+                        SVfARG(sv_2mortal(newSVhek( HvNAME_HEK(selfstash) ))));
                 XSRETURN_EMPTY;
 	    }
 	    mXPUSHs(newRV_inc(val));
@@ -594,7 +601,8 @@
     /* beyond here is just for cache misses, so perf isn't as critical */
 
     stashname_len = subname - fq_subname - 2;
-    stashname = newSVpvn_flags(fq_subname, stashname_len, SVs_TEMP);
+    stashname = newSVpvn_flags(fq_subname, stashname_len,
+                                SVs_TEMP | (subname_utf8 ? SVf_UTF8 : 0));
 
     /* has ourselves at the top of the list */
     linear_av = S_mro_get_linear_isa_c3(aTHX_ selfstash, 0);
@@ -626,14 +634,16 @@
 
             if (!curstash) {
                 if (ckWARN(WARN_SYNTAX))
-                    Perl_warner(aTHX_ packWARN(WARN_SYNTAX), "Can't locate package %"SVf" for @%s::ISA",
-                        (void*)linear_sv, hvname);
+                    Perl_warner(aTHX_ packWARN(WARN_SYNTAX), "Can't locate package %"SVf" for @%"SVf"::ISA",
+                        (void*)linear_sv,
+                        SVfARG(sv_2mortal(newSVhek( HvNAME_HEK(selfstash) ))));
                 continue;
             }
 
             assert(curstash);
 
-            gvp = (GV**)hv_fetch(curstash, subname, subname_len, 0);
+            gvp = (GV**)hv_fetch(curstash, subname,
+                                    subname_utf8 ? -(I32)subname_len : (I32)subname_len, 0);
             if (!gvp) continue;
 
             candidate = *gvp;
@@ -640,7 +650,8 @@
             assert(candidate);
 
             if (SvTYPE(candidate) != SVt_PVGV)
-                gv_init(candidate, curstash, subname, subname_len, TRUE);
+                gv_init_pvn(candidate, curstash, subname, subname_len,
+                                GV_ADDMULTI|(subname_utf8 ? SVf_UTF8 : 0));
 
             /* Notably, we only look for real entries, not method cache
                entries, because in C3 the method cache of a parent is not
@@ -656,7 +667,10 @@
 
     (void)hv_store_ent(nmcache, sv, &PL_sv_undef, 0);
     if(throw_nomethod)
-        Perl_croak(aTHX_ "No next::method '%s' found for %s", subname, hvname);
+        Perl_croak(aTHX_ "No next::method '%"SVf"' found for %"SVf,
+                         SVfARG(newSVpvn_flags(subname, subname_len,
+                                SVs_TEMP | ( subname_utf8 ? SVf_UTF8 : 0 ) )),
+                        SVfARG(sv_2mortal(newSVhek( HvNAME_HEK(selfstash) ))));
     XSRETURN_EMPTY;
 
 BOOT:


Property changes on: vendor/perl/dist/ext/mro/mro.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/mro/t/pluggable.t
===================================================================
--- vendor/perl/dist/ext/mro/t/pluggable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/mro/t/pluggable.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/mro/t/pluggable.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/re/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/re/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,6 +25,7 @@
     my $regcomp_c = upupfile('regcomp.c');
     my $regexec_c = upupfile('regexec.c');
     my $dquote_static_c = upupfile('dquote_static.c');
+    my $inline_invlist_c = upupfile('inline_invlist.c');
 
     <<EOF;
 re_comp.c : $regcomp_c
@@ -31,18 +32,22 @@
 	- \$(RM_F) re_comp.c
 	\$(CP) $regcomp_c re_comp.c
 
-re_comp\$(OBJ_EXT) : re_comp.c dquote_static.c
+re_comp\$(OBJ_EXT) : re_comp.c dquote_static.c inline_invlist.c
 
 re_exec.c : $regexec_c
 	- \$(RM_F) re_exec.c
 	\$(CP) $regexec_c re_exec.c
 
-re_exec\$(OBJ_EXT) : re_exec.c
+re_exec\$(OBJ_EXT) : re_exec.c inline_invlist.c
 
 dquote_static.c : $dquote_static_c
 	- \$(RM_F) dquote_static.c
 	\$(CP) $dquote_static_c dquote_static.c
 
+inline_invlist.c : $inline_invlist_c
+	- \$(RM_F) inline_invlist.c
+	\$(CP) $inline_invlist_c inline_invlist.c
+
 EOF
 }
 


Property changes on: vendor/perl/dist/ext/re/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/re/hints/mpeix.pl
===================================================================
--- vendor/perl/dist/ext/re/hints/mpeix.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/hints/mpeix.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/re/hints/mpeix.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/re/re.pm
===================================================================
--- vendor/perl/dist/ext/re/re.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/re.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 use strict;
 use warnings;
 
-our $VERSION     = "0.18";
+our $VERSION     = "0.23";
 our @ISA         = qw(Exporter);
 our @EXPORT_OK   = ('regmust',
                     qw(is_regexp regexp_pattern
@@ -108,10 +108,6 @@
 sub bits {
     my $on = shift;
     my $bits = 0;
-    unless (@_) {
-	require Carp;
-	Carp::carp("Useless use of \"re\" pragma"); 
-    }
    ARG:
     foreach my $idx (0..$#_){
         my $s=$_[$idx];
@@ -146,7 +142,7 @@
 	    my $reflags = $^H{reflags} || 0;
 	    my $seen_charset;
 	    while ($s =~ m/( . )/gx) {
-                $_ = $1;
+                local $_ = $1;
 		if (/[adul]/) {
                     # The 'a' may be repeated; hide this from the rest of the
                     # code by counting and getting rid of all of them, then
@@ -239,7 +235,8 @@
 
     $pat = '(?{ $foo = 1 })';
     use re 'eval';
-    /foo${pat}bar/;		   # won't fail (when not under -T switch)
+    /foo${pat}bar/;		   # won't fail (when not under -T
+                                   # switch)
 
     {
 	no re 'taint';		   # the default
@@ -246,7 +243,8 @@
 	($x) = ($^X =~ /^(.*)$/s); # $x is not tainted here
 
 	no re 'eval';		   # the default
-	/foo${pat}bar/;		   # disallowed (with or without -T switch)
+	/foo${pat}bar/;		   # disallowed (with or without -T
+                                   # switch)
     }
 
     use re '/ix';
@@ -255,22 +253,27 @@
     "FOO" =~ /foo/; # just /i implied
 
     use re 'debug';		   # output debugging info during
-    /^(.*)$/s;			   #     compile and run time
+    /^(.*)$/s;			   # compile and run time
 
 
-    use re 'debugcolor';	   # same as 'debug', but with colored output
+    use re 'debugcolor';	   # same as 'debug', but with colored
+                                   # output
     ...
 
-    use re qw(Debug All);          # Finer tuned debugging options.
-    use re qw(Debug More);
-    no re qw(Debug ALL);           # Turn of all re debugging in this scope
+    use re qw(Debug All);          # Same as "use re 'debug'", but you
+                                   # can use "Debug" with things other
+                                   # than 'All'
+    use re qw(Debug More);         # 'All' plus output more details
+    no re qw(Debug ALL);           # Turn on (almost) all re debugging
+                                   # in this scope
 
     use re qw(is_regexp regexp_pattern); # import utility functions
     my ($pat,$mods)=regexp_pattern(qr/foo/i);
     if (is_regexp($obj)) { 
         print "Got regexp: ",
-            scalar regexp_pattern($obj); # just as perl would stringify it
-    }                                    # but no hassle with blessed re's.
+            scalar regexp_pattern($obj); # just as perl would stringify
+    }                                    # it but no hassle with blessed
+                                         # re's.
 
 (We use $^X in these examples because it's tainted by default.)
 
@@ -288,8 +291,9 @@
 
 When C<use re 'eval'> is in effect, a regexp is allowed to contain
 C<(?{ ... })> zero-width assertions and C<(??{ ... })> postponed
-subexpressions, even if the regular expression contains
-variable interpolation.  That is normally disallowed, since it is a
+subexpressions that are derived from variable interpolation, rather than
+appearing literally within the regexp.  That is normally disallowed, since
+it is a
 potential security risk.  Note that this pragma is ignored when the regular
 expression is obtained from tainted data, i.e.  evaluation is always
 disallowed with tainted regular expressions.  See L<perlre/(?{ code })> 
@@ -412,7 +416,7 @@
 
 =item INTUIT
 
-Enable debugging of start point optimisations.
+Enable debugging of start-point optimisations.
 
 =back
 
@@ -446,7 +450,7 @@
 
 =item OPTIMISEM
 
-Enable enhanced optimisation debugging and start point optimisations.
+Enable enhanced optimisation debugging and start-point optimisations.
 Probably not useful except when debugging the regexp engine itself.
 
 =item OFFSETS
@@ -479,7 +483,8 @@
 
 =item ALL
 
-Enable all options at once except OFFSETS, OFFSETSDBG and BUFFERS
+Enable all options at once except OFFSETS, OFFSETSDBG and BUFFERS.
+(To get every single option without exception, use both ALL and EXTRA.)
 
 =item All
 
@@ -491,7 +496,7 @@
 
 =item More
 
-Enable TRIEM and all execute compile and execute options.
+Enable the options enabled by "All", plus STATE, TRIEC, and TRIEM.
 
 =back
 
@@ -498,7 +503,7 @@
 =back
 
 As of 5.9.5 the directive C<use re 'debug'> and its equivalents are
-lexically scoped, as the other directives are.  However they have both
+lexically scoped, as are the other directives.  However they have both
 compile-time and run-time effects.
 
 =head2 Exportable Functions


Property changes on: vendor/perl/dist/ext/re/re.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/re/re.xs
===================================================================
--- vendor/perl/dist/ext/re/re.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/re.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,6 +12,10 @@
 START_EXTERN_C
 
 extern REGEXP*	my_re_compile (pTHX_ SV * const pattern, const U32 pm_flags);
+extern REGEXP*	my_re_op_compile (pTHX_ SV ** const patternp, int pat_count,
+		    OP *expr, const regexp_engine* eng, REGEXP *VOL old_re,
+		     bool *is_bare_re, U32 rx_flags, U32 pm_flags);
+
 extern I32	my_regexec (pTHX_ REGEXP * const prog, char* stringarg, char* strend,
 			    char* strbeg, I32 minend, SV* screamer,
 			    void* data, U32 flags);
@@ -57,8 +61,9 @@
         my_reg_named_buff_iter,
         my_reg_qr_package,
 #if defined(USE_ITHREADS)
-        my_regdupe 
+        my_regdupe,
 #endif
+        my_re_op_compile,
 };
 
 MODULE = re	PACKAGE = re
@@ -95,8 +100,9 @@
         } else if (RX_FLOAT_UTF8(re)) {
             fl = sv_2mortal(newSVsv(RX_FLOAT_UTF8(re)));
         }
-        XPUSHs(an);
-        XPUSHs(fl);
+        EXTEND(SP, 2);
+        PUSHs(an);
+        PUSHs(fl);
         XSRETURN(2);
     }
     XSRETURN_UNDEF;


Property changes on: vendor/perl/dist/ext/re/re.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/ext/re/re_comp.h
===================================================================
--- vendor/perl/dist/ext/re/re_comp.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/re_comp.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/re/re_comp.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/re/re_top.h
===================================================================
--- vendor/perl/dist/ext/re/re_top.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/re_top.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,6 +13,7 @@
 #define Perl_regprop            my_regprop
 #define Perl_re_intuit_start    my_re_intuit_start
 #define Perl_re_compile         my_re_compile
+#define Perl_re_op_compile      my_re_op_compile
 #define Perl_regfree_internal   my_regfree
 #define Perl_re_intuit_string   my_re_intuit_string
 #define Perl_regdupe_internal   my_regdupe
@@ -35,8 +36,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/ext/re/re_top.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/re/t/lexical_debug.pl
===================================================================
--- vendor/perl/dist/ext/re/t/lexical_debug.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/lexical_debug.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/re/t/lexical_debug.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/re/t/lexical_debug.t
===================================================================
--- vendor/perl/dist/ext/re/t/lexical_debug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/lexical_debug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/re/t/lexical_debug.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/re/t/qr.t
===================================================================
--- vendor/perl/dist/ext/re/t/qr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/qr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/re/t/qr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/re/t/re.t
===================================================================
--- vendor/perl/dist/ext/re/t/re.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/re.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 use strict;
 
-use Test::More tests => 13;
+use Test::More tests => 15;
 require_ok( 're' );
 
 # setcolor
@@ -63,6 +63,11 @@
 eval"no re Debug=>'ALL'";
 ok( $ok, 'No segv!' );
 
+my $message = "Don't tread on me";
+$_ = $message;
+re->import("/aa");
+is($_, $message, "re doesn't clobber \$_");
+
 package Term::Cap;
 
 sub Tgetent {
@@ -72,3 +77,12 @@
 sub Tputs {
 	return $_[1];
 }
+
+package main;
+
+{
+  my $w;
+  local $SIG{__WARN__} = sub { warn shift; ++$w };
+  re->import();
+  is $w, undef, 'no warning for "use re;" (which is not useless)';
+}


Property changes on: vendor/perl/dist/ext/re/t/re.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/re/t/re_funcs.t
===================================================================
--- vendor/perl/dist/ext/re/t/re_funcs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/re_funcs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/re/t/re_funcs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/ext/re/t/re_funcs_u.t
===================================================================
--- vendor/perl/dist/ext/re/t/re_funcs_u.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/re_funcs_u.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -41,7 +41,7 @@
     @names = sort +regnames(0);
     is("@names","A B","regnames");
     my $names = regnames();
-    is($names, "B", "regnames in scalar context");
+    ok(($names eq  "B" || $names eq "A"), "regnames in scalar context");
     @names = sort +regnames(1);
     is("@names","A B C","regnames");
     is(join("", @{regname("A",1)}),"13");
@@ -92,6 +92,7 @@
 
     SKIP: {
         skip_if_miniperl("no dynamic loading on miniperl, no POSIX", 3);
+        skip 'No locale testing without d_setlocale', 3 if(!$Config::Config{d_setlocale});
         require POSIX;
         my $current_locale = POSIX::setlocale( &POSIX::LC_CTYPE, 'de_DE.ISO-8859-1' );
         if ( !$current_locale || $current_locale ne 'de_DE.ISO-8859-1' ) {
@@ -108,6 +109,7 @@
 
     SKIP: {
         skip_if_miniperl("no dynamic loading on miniperl, no POSIX", 3);
+        skip 'No locale testing without d_setlocale', 3 if(!$Config::Config{d_setlocale});
         require POSIX;
         my $current_locale = POSIX::setlocale( &POSIX::LC_CTYPE, 'C' );
         if ( !$current_locale || $current_locale ne 'C' ) {


Property changes on: vendor/perl/dist/ext/re/t/re_funcs_u.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/ext/re/t/reflags.t
===================================================================
--- vendor/perl/dist/ext/re/t/reflags.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/reflags.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,26 +10,35 @@
 
 use strict;
 
-use Test::More tests => 53;
+use Test::More tests => 62;
 
 my @flags = qw( a d l u );
 
 use re '/i';
 ok "Foo" =~ /foo/, 'use re "/i"';
+ok "Foo" =~ /(??{'foo'})/, 'use re "/i" (??{})';
 no re '/i';
 ok "Foo" !~ /foo/, 'no re "/i"';
+ok "Foo" !~ /(??{'foo'})/, 'no re "/i" (??{})';
 use re '/x';
 ok "foo" =~ / foo /, 'use re "/x"';
+ok "foo" =~ / (??{' foo '}) /, 'use re "/x" (??{})';
 no re '/x';
 ok "foo" !~ / foo /, 'no re "/x"';
+ok "foo" !~ /(??{' foo '})/, 'no re "/x" (??{})';
+ok "foo" !~ / (??{'foo'}) /, 'no re "/x" (??{})';
 use re '/s';
 ok "\n" =~ /./, 'use re "/s"';
+ok "\n" =~ /(??{'.'})/, 'use re "/s" (??{})';
 no re '/s';
 ok "\n" !~ /./, 'no re "/s"';
+ok "\n" !~ /(??{'.'})/, 'no re "/s" (??{})';
 use re '/m';
 ok "\nfoo" =~ /^foo/, 'use re "/m"';
+ok "\nfoo" =~ /(??{'^'})foo/, 'use re "/m" (??{})';
 no re '/m';
 ok "\nfoo" !~ /^foo/, 'no re "/m"';
+ok "\nfoo" !~ /(??{'^'})foo/, 'no re "/m" (??{})';
 
 use re '/xism';
 ok qr// =~ /(?=.*x)(?=.*i)(?=.*s)(?=.*m)/, 'use re "/multiple"';
@@ -51,7 +60,11 @@
   ) {
     skip "no locale support", 7
   }
-  use locale;
+  BEGIN {
+      if($Config::Config{d_setlocale}) {
+          require locale; import locale;
+      }
+  }
   use re '/u';
   is qr//, '(?^u:)', 'use re "/u" with active locale';
   no re '/u';
@@ -107,14 +120,10 @@
 use re '/xi';
 ok "A\n\n" =~ / a.$/sm, 'use re "/xi" in combination with explicit /sm';
 {
-  local $::TODO = "test requires perl 5.16 syntax";
-  # (remove the evals, the quotes, and the ‘no warnings’ when removing the
-  # to-do notice)
-  no warnings;
   use re '/u';
-  is eval 'qr//d', '(?^:)', 'explicit /d in re "/u" scope';
+  is qr//d, '(?^ix:)', 'explicit /d in re "/u" scope';
   use re '/d';
-  is eval 'qr//u', '(?^u:)', 'explicit /u in re "/d" scope';
+  is qr//u, '(?^uix:)', 'explicit /u in re "/d" scope';
 }
 no re '/x';
 


Property changes on: vendor/perl/dist/ext/re/t/reflags.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/re/t/regop.pl
===================================================================
--- vendor/perl/dist/ext/re/t/regop.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/regop.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/re/t/regop.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/ext/re/t/regop.t
===================================================================
--- vendor/perl/dist/ext/re/t/regop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/re/t/regop.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 chomp(my @strs= grep { !/^\s*\#/ } <DATA>);
 my $out = runperl(progfile => "t/regop.pl", stderr => 1 );
 # VMS currently embeds linefeeds in the output.
-$out =~ s/\cJ//g if $^O = 'VMS';
+$out =~ s/\cJ//g if $^O == 'VMS';
 my @tests = grep { /\S/ } split /(?=Compiling REx)/, $out;
 # on debug builds we get an EXECUTING... message in there at the top
 shift @tests
@@ -241,13 +241,13 @@
 #Matching stclass EXACTF <.> against ".exe"
 ---
 #Compiling REx "[q]"
-#size 12 nodes Got 100 bytes for offset annotations.
+#size 3 nodes Got 28 bytes for offset annotations.
 #first at 1
 #Final program:
 #   1: EXACT <q>(3)
 #   3: END(0)
 #anchored "q" at 0 (checking anchored isall) minlen 1
-#Offsets: [12]
+#Offsets: [3]
 #        1:1[3] 3:4[0]
 #Guessing start of match, REx "[q]" against "q"...
 #Found anchored substr "q" at offset 0...
@@ -254,8 +254,8 @@
 #Guessed: match at offset 0
 #%MATCHED%
 #Freeing REx: "[q]"
-Got 100 bytes for offset annotations.
-Offsets: [12]
+Got 28 bytes for offset annotations.
+Offsets: [3]
 1:1[3] 3:4[0]
 %MATCHED%        
 Freeing REx: "[q]"


Property changes on: vendor/perl/dist/ext/re/t/regop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/threads/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/Makefile.PL
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/hints/hpux.pl
===================================================================
--- vendor/perl/dist/ext/threads/hints/hpux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/hints/hpux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/hints/hpux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/threads/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/threads/shared/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/Makefile.PL
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/threads/shared/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/shared.pm
===================================================================
--- vendor/perl/dist/ext/threads/shared/shared.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/shared.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/shared.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/shared.xs
===================================================================
--- vendor/perl/dist/ext/threads/shared/shared.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/shared.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/shared.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/0nothread.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/0nothread.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/0nothread.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/0nothread.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/av_refs.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/av_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/av_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/av_refs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/av_simple.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/av_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/av_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/av_simple.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/blessed.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/blessed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/cond.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/cond.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/cond.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/cond.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/disabled.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/disabled.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/disabled.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/disabled.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/hv_refs.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/hv_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/hv_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/hv_refs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/hv_simple.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/hv_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/hv_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/hv_simple.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/no_share.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/no_share.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/no_share.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/no_share.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/shared_attr.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/shared_attr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/shared_attr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/shared_attr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/stress.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/stress.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/stress.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/stress.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/sv_refs.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/sv_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/sv_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/sv_refs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/sv_simple.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/sv_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/sv_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/sv_simple.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/wait.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/wait.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/wait.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/wait.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/shared/t/waithires.t
===================================================================
--- vendor/perl/dist/ext/threads/shared/t/waithires.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/shared/t/waithires.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/shared/t/waithires.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/basic.t
===================================================================
--- vendor/perl/dist/ext/threads/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/basic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/blocks.t
===================================================================
--- vendor/perl/dist/ext/threads/t/blocks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/blocks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/blocks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/context.t
===================================================================
--- vendor/perl/dist/ext/threads/t/context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/context.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/end.t
===================================================================
--- vendor/perl/dist/ext/threads/t/end.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/end.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/end.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/err.t
===================================================================
--- vendor/perl/dist/ext/threads/t/err.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/err.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/err.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/exit.t
===================================================================
--- vendor/perl/dist/ext/threads/t/exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/exit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/exit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/free.t
===================================================================
--- vendor/perl/dist/ext/threads/t/free.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/free.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/free.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/free2.t
===================================================================
--- vendor/perl/dist/ext/threads/t/free2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/free2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/free2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/join.t
===================================================================
--- vendor/perl/dist/ext/threads/t/join.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/join.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/join.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/kill.t
===================================================================
--- vendor/perl/dist/ext/threads/t/kill.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/kill.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/kill.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/libc.t
===================================================================
--- vendor/perl/dist/ext/threads/t/libc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/libc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/libc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/list.t
===================================================================
--- vendor/perl/dist/ext/threads/t/list.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/list.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/list.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/problems.t
===================================================================
--- vendor/perl/dist/ext/threads/t/problems.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/problems.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/problems.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/stack.t
===================================================================
--- vendor/perl/dist/ext/threads/t/stack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/stack.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/stack.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/stack_env.t
===================================================================
--- vendor/perl/dist/ext/threads/t/stack_env.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/stack_env.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/stack_env.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/state.t
===================================================================
--- vendor/perl/dist/ext/threads/t/state.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/state.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/state.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/stress_cv.t
===================================================================
--- vendor/perl/dist/ext/threads/t/stress_cv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/stress_cv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/stress_cv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/stress_re.t
===================================================================
--- vendor/perl/dist/ext/threads/t/stress_re.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/stress_re.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/stress_re.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/stress_string.t
===================================================================
--- vendor/perl/dist/ext/threads/t/stress_string.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/stress_string.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/stress_string.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/t/thread.t
===================================================================
--- vendor/perl/dist/ext/threads/t/thread.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/t/thread.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/t/thread.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/threads.pm
===================================================================
--- vendor/perl/dist/ext/threads/threads.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/threads.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/threads.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads/threads.xs
===================================================================
--- vendor/perl/dist/ext/threads/threads.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads/threads.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads/threads.xs
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/Makefile.PL
===================================================================
--- vendor/perl/dist/ext/threads-shared/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/hints/linux.pl
===================================================================
--- vendor/perl/dist/ext/threads-shared/hints/linux.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/hints/linux.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/hints/linux.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/shared.pm
===================================================================
--- vendor/perl/dist/ext/threads-shared/shared.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/shared.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/shared.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/shared.xs
===================================================================
--- vendor/perl/dist/ext/threads-shared/shared.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/shared.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/shared.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/0nothread.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/0nothread.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/0nothread.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/0nothread.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/av_refs.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/av_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/av_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/av_refs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/av_simple.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/av_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/av_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/av_simple.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/blessed.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/blessed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/blessed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/blessed.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/clone.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/clone.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/clone.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/clone.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/cond.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/cond.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/cond.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/cond.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/disabled.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/disabled.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/disabled.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/disabled.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/hv_refs.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/hv_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/hv_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/hv_refs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/hv_simple.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/hv_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/hv_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/hv_simple.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/no_share.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/no_share.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/no_share.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/no_share.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/object.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/object.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/object.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/object.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/shared_attr.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/shared_attr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/shared_attr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/shared_attr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/stress.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/stress.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/stress.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/stress.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/sv_refs.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/sv_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/sv_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/sv_refs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/sv_simple.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/sv_simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/sv_simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/sv_simple.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/utf8.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/utf8.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/wait.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/wait.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/wait.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/wait.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/threads-shared/t/waithires.t
===================================================================
--- vendor/perl/dist/ext/threads-shared/t/waithires.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/threads-shared/t/waithires.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/threads-shared/t/waithires.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/util/make_ext
===================================================================
--- vendor/perl/dist/ext/util/make_ext	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/util/make_ext	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/util/make_ext
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/ext/util/make_ext_cross
===================================================================
--- vendor/perl/dist/ext/util/make_ext_cross	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/ext/util/make_ext_cross	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/ext/util/make_ext_cross
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/fakesdio.h
===================================================================
--- vendor/perl/dist/fakesdio.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/fakesdio.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -126,8 +126,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/fakesdio.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/fakethr.h
===================================================================
--- vendor/perl/dist/fakethr.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/fakethr.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -68,8 +68,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/fakethr.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Added: vendor/perl/dist/feature.h
===================================================================
--- vendor/perl/dist/feature.h	                        (rev 0)
+++ vendor/perl/dist/feature.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,133 @@
+/* -*- buffer-read-only: t -*-
+   !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+   This file is built by regen/feature.pl.
+   Any changes made here will be lost!
+ */
+
+
+#if defined(PERL_CORE) || defined (PERL_EXT)
+
+#define HINT_FEATURE_SHIFT	26
+
+#define FEATURE_BUNDLE_DEFAULT	0
+#define FEATURE_BUNDLE_510	1
+#define FEATURE_BUNDLE_511	2
+#define FEATURE_BUNDLE_515	3
+#define FEATURE_BUNDLE_CUSTOM	(HINT_FEATURE_MASK >> HINT_FEATURE_SHIFT)
+
+#define CURRENT_HINTS \
+    (PL_curcop == &PL_compiling ? PL_hints : PL_curcop->cop_hints)
+#define CURRENT_FEATURE_BUNDLE \
+    ((CURRENT_HINTS & HINT_FEATURE_MASK) >> HINT_FEATURE_SHIFT)
+
+/* Avoid using ... && Perl_feature_is_enabled(...) as that triggers a bug in
+   the HP-UX cc on PA-RISC */
+#define FEATURE_IS_ENABLED(name)				        \
+	((CURRENT_HINTS							 \
+	   & HINT_LOCALIZE_HH)						  \
+	    ? Perl_feature_is_enabled(aTHX_ STR_WITH_LEN(name)) : FALSE)
+/* The longest string we pass in.  */
+#define MAX_FEATURE_LEN (sizeof("evalbytes")-1)
+
+#define FEATURE_FC_IS_ENABLED \
+    ( \
+	CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("fc")) \
+    )
+
+#define FEATURE_SAY_IS_ENABLED \
+    ( \
+	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_515) \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("say")) \
+    )
+
+#define FEATURE_STATE_IS_ENABLED \
+    ( \
+	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_515) \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("state")) \
+    )
+
+#define FEATURE_SWITCH_IS_ENABLED \
+    ( \
+	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_510 && \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_515) \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("switch")) \
+    )
+
+#define FEATURE_EVALBYTES_IS_ENABLED \
+    ( \
+	CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("evalbytes")) \
+    )
+
+#define FEATURE_ARYBASE_IS_ENABLED \
+    ( \
+	CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_511 \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("arybase")) \
+    )
+
+#define FEATURE___SUB___IS_ENABLED \
+    ( \
+	CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("__SUB__")) \
+    )
+
+#define FEATURE_LEXSUBS_IS_ENABLED \
+    ( \
+	CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("lexsubs") \
+    )
+
+#define FEATURE_UNIEVAL_IS_ENABLED \
+    ( \
+	CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_515 \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("unieval")) \
+    )
+
+#define FEATURE_UNICODE_IS_ENABLED \
+    ( \
+	(CURRENT_FEATURE_BUNDLE >= FEATURE_BUNDLE_511 && \
+	 CURRENT_FEATURE_BUNDLE <= FEATURE_BUNDLE_515) \
+     || (CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM && \
+	 FEATURE_IS_ENABLED("unicode")) \
+    )
+
+
+#endif /* PERL_CORE or PERL_EXT */
+
+#ifdef PERL_IN_OP_C
+PERL_STATIC_INLINE void
+S_enable_feature_bundle(pTHX_ SV *ver)
+{
+    SV *comp_ver = sv_newmortal();
+    PL_hints = (PL_hints &~ HINT_FEATURE_MASK)
+	     | (
+		  (sv_setnv(comp_ver, 5.015),
+		   vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+			? FEATURE_BUNDLE_515 :
+		  (sv_setnv(comp_ver, 5.011),
+		   vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+			? FEATURE_BUNDLE_511 :
+		  (sv_setnv(comp_ver, 5.009005),
+		   vcmp(ver, upg_version(comp_ver, FALSE)) >= 0)
+			? FEATURE_BUNDLE_510 :
+			  FEATURE_BUNDLE_DEFAULT
+	       ) << HINT_FEATURE_SHIFT;
+    /* special case */
+    assert(PL_curcop == &PL_compiling);
+    if (FEATURE_UNICODE_IS_ENABLED) PL_hints |=  HINT_UNI_8_BIT;
+    else			    PL_hints &= ~HINT_UNI_8_BIT;
+}
+#endif /* PERL_IN_OP_C */
+
+/* ex: set ro: */

Modified: vendor/perl/dist/form.h
===================================================================
--- vendor/perl/dist/form.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/form.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 /*    form.h
  *
- *    Copyright (C) 1991, 1992, 1993, 2000, 2004 by Larry Wall and others
+ *    Copyright (C) 1991, 1992, 1993, 2000, 2004, 2011 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -7,21 +7,21 @@
  *
  */
 
-#define FF_END          0
-#define FF_LINEMARK     1
-#define FF_LITERAL      2
-#define FF_SKIP         3
-#define FF_FETCH        4
-#define FF_CHECKNL      5
-#define FF_CHECKCHOP    6
-#define FF_SPACE        7
-#define FF_HALFSPACE    8
-#define FF_ITEM         9
-#define FF_CHOP         10
-#define FF_LINEGLOB     11
-#define FF_DECIMAL      12
-#define FF_NEWLINE      13
-#define FF_BLANK        14
-#define FF_MORE         15
-#define FF_0DECIMAL     16
-#define FF_LINESNGL     17
+#define FF_END          0  /* tidy up, then return */
+#define FF_LINEMARK     1  /* start (or end) of a line */
+#define FF_LITERAL      2  /* append <arg> literal chars */
+#define FF_SKIP         3  /* skip <arg> chars in format */
+#define FF_FETCH        4  /* get next item and set field size to <arg> */
+#define FF_CHECKNL      5  /* find max len of item (up to \n) that fits field */
+#define FF_CHECKCHOP    6  /* like CHECKNL, but up to highest split point */
+#define FF_SPACE        7  /* append padding space (diff of field, item size) */
+#define FF_HALFSPACE    8  /* like FF_SPACE, but only append half as many */
+#define FF_ITEM         9  /* append a text item, while blanking ctrl chars */
+#define FF_CHOP         10 /* (for ^*) chop the current item */
+#define FF_LINEGLOB     11 /* process @*  */
+#define FF_DECIMAL      12 /* do @##, ^##, where <arg>=(precision|flags) */
+#define FF_NEWLINE      13 /* delete trailing spaces, then append \n */
+#define FF_BLANK        14 /* for arg==0: do '~'; for arg>0 : do '~~' */
+#define FF_MORE         15 /* replace long end of string with '...' */
+#define FF_0DECIMAL     16 /* like FF_DECIMAL but for 0### */
+#define FF_LINESNGL     17 /* process ^*  */


Property changes on: vendor/perl/dist/form.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/generate_uudmap.c
===================================================================
--- vendor/perl/dist/generate_uudmap.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/generate_uudmap.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,17 +12,51 @@
    "hello world" won't port easily to it.  */
 #include <errno.h>
 
-void output_block_to_file(const char *progname, const char *filename,
-			  const char *block, size_t count) {
-  FILE *const out = fopen(filename, "w");
+struct mg_data_raw_t {
+    unsigned char type;
+    const char *value;
+    const char *comment;
+};
 
-  if (!out) {
-    fprintf(stderr, "%s: Could not open '%s': %s\n", progname, filename,
-	    strerror(errno));
-    exit(1);
+static struct mg_data_raw_t mg_data_raw[] = {
+#ifdef WIN32
+#  include "..\mg_raw.h"
+#else
+#  include "mg_raw.h"
+#endif
+    {0, 0, 0}
+};
+
+struct mg_data_t {
+    const char *value;
+    const char *comment;
+};
+
+static struct mg_data_t mg_data[256];
+
+static void
+format_mg_data(FILE *out, const void *thing, size_t count) {
+  const struct mg_data_t *p = (const struct mg_data_t *)thing;
+
+  while (1) {
+      if (p->value) {
+	  fprintf(out, "    %s\n    %s", p->comment, p->value);
+      } else {
+	  fputs("    0", out);
+      }
+      ++p;
+      if (!--count)
+	  break;
+      fputs(",\n", out);
   }
+  fputc('\n', out);
+}
 
-  fputs("{\n    ", out);
+static void
+format_char_block(FILE *out, const void *thing, size_t count) {
+  const char *block = (const char *)thing;
+
+  fputs("    ", out);
   while (count--) {
     fprintf(out, "%d", *block);
     block++;
@@ -33,8 +67,25 @@
       }
     }
   }
-  fputs("\n}\n", out);
+  fputc('\n', out);
+}
 
+static void
+output_to_file(const char *progname, const char *filename,
+	       void (format_function)(FILE *out, const void *thing, size_t count),
+	       const void *thing, size_t count) {
+  FILE *const out = fopen(filename, "w");
+
+  if (!out) {
+    fprintf(stderr, "%s: Could not open '%s': %s\n", progname, filename,
+	    strerror(errno));
+    exit(1);
+  }
+
+  fputs("{\n", out);
+  format_function(out, thing, count);
+  fputs("}\n", out);
+
   if (fclose(out)) {
     fprintf(stderr, "%s: Could not close '%s': %s\n", progname, filename,
 	    strerror(errno));
@@ -55,9 +106,11 @@
 int main(int argc, char **argv) {
   size_t i;
   int bits;
+  struct mg_data_raw_t *p = mg_data_raw;
 
-  if (argc < 3 || argv[1][0] == '\0' || argv[2][0] == '\0') {
-    fprintf(stderr, "Usage: %s uudemap.h bitcount.h\n", argv[0]);
+  if (argc < 4 || argv[1][0] == '\0' || argv[2][0] == '\0'
+      || argv[3][0] == '\0') {
+    fprintf(stderr, "Usage: %s uudemap.h bitcount.h mg_data.h\n", argv[0]);
     return 1;
   }
 
@@ -69,7 +122,8 @@
    */
   PL_uudmap[(U8)' '] = 0;
 
-  output_block_to_file(argv[0], argv[1], PL_uudmap, sizeof(PL_uudmap));
+  output_to_file(argv[0], argv[1], &format_char_block,
+		 (const void *)PL_uudmap, sizeof(PL_uudmap));
 
   for (bits = 1; bits < 256; bits++) {
     if (bits & 1)	PL_bitcount[bits]++;
@@ -82,9 +136,17 @@
     if (bits & 128)	PL_bitcount[bits]++;
   }
 
-  output_block_to_file(argv[0], argv[2], PL_bitcount, sizeof(PL_bitcount));
+  output_to_file(argv[0], argv[2], &format_char_block,
+		 (const void *)PL_bitcount, sizeof(PL_bitcount));
 
+  while (p->value) {
+      mg_data[p->type].value = p->value;
+      mg_data[p->type].comment = p->comment;
+      ++p;
+  }
+      
+  output_to_file(argv[0], argv[3], &format_mg_data,
+		 (const void *)mg_data, sizeof(mg_data)/sizeof(mg_data[0]));
+
   return 0;
 }
-
-  


Property changes on: vendor/perl/dist/generate_uudmap.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/genpacksizetables.pl
===================================================================
--- vendor/perl/dist/genpacksizetables.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/genpacksizetables.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/genpacksizetables.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Deleted: vendor/perl/dist/global.sym
===================================================================
--- vendor/perl/dist/global.sym	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/global.sym	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,891 +0,0 @@
-# -*- buffer-read-only: t -*-
-#
-#    global.sym
-#
-#    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-#    2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
-#
-#    You may distribute under the terms of either the GNU General Public
-#    License or the Artistic License, as specified in the README file.
-#
-# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-# This file is built by regen/embed.pl from data in embed.fnc,
-# regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
-# Any changes made here will be lost!
-#
-# Edit those files and run 'make regen_headers' to effect changes.
-
-Perl_Gv_AMupdate
-Perl_PerlIO_context_layers
-Perl__append_range_to_invlist
-Perl__new_invlist
-Perl__swash_inversion_hash
-Perl__swash_to_invlist
-Perl__to_uni_fold_flags
-Perl__to_utf8_fold_flags
-Perl_amagic_call
-Perl_amagic_deref_call
-Perl_apply_attrs_string
-Perl_atfork_lock
-Perl_atfork_unlock
-Perl_av_arylen_p
-Perl_av_clear
-Perl_av_delete
-Perl_av_exists
-Perl_av_extend
-Perl_av_fetch
-Perl_av_fill
-Perl_av_iter_p
-Perl_av_len
-Perl_av_make
-Perl_av_pop
-Perl_av_push
-Perl_av_reify
-Perl_av_shift
-Perl_av_store
-Perl_av_undef
-Perl_av_unshift
-Perl_block_gimme
-Perl_blockhook_register
-Perl_bytes_cmp_utf8
-Perl_bytes_from_utf8
-Perl_bytes_to_utf8
-Perl_call_argv
-Perl_call_atexit
-Perl_call_list
-Perl_call_method
-Perl_call_pv
-Perl_call_sv
-Perl_caller_cx
-Perl_calloc
-Perl_cast_i32
-Perl_cast_iv
-Perl_cast_ulong
-Perl_cast_uv
-Perl_ck_entersub_args_list
-Perl_ck_entersub_args_proto
-Perl_ck_entersub_args_proto_or_list
-Perl_ck_warner
-Perl_ck_warner_d
-Perl_ckwarn
-Perl_ckwarn_d
-Perl_croak
-Perl_croak_no_modify
-Perl_croak_sv
-Perl_croak_xs_usage
-Perl_custom_op_desc
-Perl_custom_op_name
-Perl_custom_op_register
-Perl_custom_op_xop
-Perl_cv_const_sv
-Perl_cv_get_call_checker
-Perl_cv_set_call_checker
-Perl_cv_undef
-Perl_cvgv_set
-Perl_cvstash_set
-Perl_cx_dump
-Perl_cxinc
-Perl_deb
-Perl_debop
-Perl_debprofdump
-Perl_debstack
-Perl_debstackptrs
-Perl_delimcpy
-Perl_despatch_signals
-Perl_die
-Perl_die_sv
-Perl_do_aexec
-Perl_do_binmode
-Perl_do_close
-Perl_do_gv_dump
-Perl_do_gvgv_dump
-Perl_do_hv_dump
-Perl_do_join
-Perl_do_magic_dump
-Perl_do_op_dump
-Perl_do_open
-Perl_do_open9
-Perl_do_openn
-Perl_do_pmop_dump
-Perl_do_sprintf
-Perl_do_sv_dump
-Perl_doing_taint
-Perl_doref
-Perl_dounwind
-Perl_dowantarray
-Perl_dump_all
-Perl_dump_eval
-Perl_dump_form
-Perl_dump_indent
-Perl_dump_packsubs
-Perl_dump_sub
-Perl_dump_vindent
-Perl_emulate_cop_io
-Perl_eval_pv
-Perl_eval_sv
-Perl_fbm_compile
-Perl_fbm_instr
-Perl_fetch_cop_label
-Perl_filter_add
-Perl_filter_del
-Perl_filter_read
-Perl_find_runcv
-Perl_find_rundefsv
-Perl_find_rundefsvoffset
-Perl_foldEQ
-Perl_foldEQ_latin1
-Perl_foldEQ_locale
-Perl_foldEQ_utf8_flags
-Perl_form
-Perl_free_tmps
-Perl_get_av
-Perl_get_context
-Perl_get_cv
-Perl_get_cvn_flags
-Perl_get_hv
-Perl_get_op_descs
-Perl_get_op_names
-Perl_get_ppaddr
-Perl_get_re_arg
-Perl_get_sv
-Perl_get_vtbl
-Perl_getcwd_sv
-Perl_gp_free
-Perl_gp_ref
-Perl_grok_bin
-Perl_grok_hex
-Perl_grok_number
-Perl_grok_numeric_radix
-Perl_grok_oct
-Perl_gv_AVadd
-Perl_gv_HVadd
-Perl_gv_IOadd
-Perl_gv_add_by_type
-Perl_gv_autoload4
-Perl_gv_check
-Perl_gv_const_sv
-Perl_gv_dump
-Perl_gv_efullname
-Perl_gv_efullname3
-Perl_gv_efullname4
-Perl_gv_fetchfile
-Perl_gv_fetchfile_flags
-Perl_gv_fetchmeth
-Perl_gv_fetchmeth_autoload
-Perl_gv_fetchmethod
-Perl_gv_fetchmethod_autoload
-Perl_gv_fetchmethod_flags
-Perl_gv_fetchpv
-Perl_gv_fetchpvn_flags
-Perl_gv_fetchsv
-Perl_gv_fullname
-Perl_gv_fullname3
-Perl_gv_fullname4
-Perl_gv_handler
-Perl_gv_init
-Perl_gv_name_set
-Perl_gv_stashpv
-Perl_gv_stashpvn
-Perl_gv_stashsv
-Perl_gv_try_downgrade
-Perl_hv_clear
-Perl_hv_clear_placeholders
-Perl_hv_common
-Perl_hv_common_key_len
-Perl_hv_copy_hints_hv
-Perl_hv_delayfree_ent
-Perl_hv_delete
-Perl_hv_delete_ent
-Perl_hv_eiter_p
-Perl_hv_eiter_set
-Perl_hv_exists
-Perl_hv_exists_ent
-Perl_hv_fetch
-Perl_hv_fetch_ent
-Perl_hv_fill
-Perl_hv_free_ent
-Perl_hv_iterinit
-Perl_hv_iterkey
-Perl_hv_iterkeysv
-Perl_hv_iternext
-Perl_hv_iternext_flags
-Perl_hv_iternextsv
-Perl_hv_iterval
-Perl_hv_ksplit
-Perl_hv_magic
-Perl_hv_name_set
-Perl_hv_placeholders_get
-Perl_hv_placeholders_p
-Perl_hv_placeholders_set
-Perl_hv_riter_p
-Perl_hv_riter_set
-Perl_hv_scalar
-Perl_hv_store
-Perl_hv_store_ent
-Perl_hv_store_flags
-Perl_hv_undef_flags
-Perl_init_i18nl10n
-Perl_init_i18nl14n
-Perl_init_stacks
-Perl_init_tm
-Perl_instr
-Perl_is_ascii_string
-Perl_is_lvalue_sub
-Perl_is_uni_alnum
-Perl_is_uni_alnum_lc
-Perl_is_uni_alpha
-Perl_is_uni_alpha_lc
-Perl_is_uni_ascii
-Perl_is_uni_ascii_lc
-Perl_is_uni_cntrl
-Perl_is_uni_cntrl_lc
-Perl_is_uni_digit
-Perl_is_uni_digit_lc
-Perl_is_uni_graph
-Perl_is_uni_graph_lc
-Perl_is_uni_idfirst
-Perl_is_uni_idfirst_lc
-Perl_is_uni_lower
-Perl_is_uni_lower_lc
-Perl_is_uni_print
-Perl_is_uni_print_lc
-Perl_is_uni_punct
-Perl_is_uni_punct_lc
-Perl_is_uni_space
-Perl_is_uni_space_lc
-Perl_is_uni_upper
-Perl_is_uni_upper_lc
-Perl_is_uni_xdigit
-Perl_is_uni_xdigit_lc
-Perl_is_utf8_X_L
-Perl_is_utf8_X_LV
-Perl_is_utf8_X_LVT
-Perl_is_utf8_X_LV_LVT_V
-Perl_is_utf8_X_T
-Perl_is_utf8_X_V
-Perl_is_utf8_X_begin
-Perl_is_utf8_X_extend
-Perl_is_utf8_X_non_hangul
-Perl_is_utf8_X_prepend
-Perl_is_utf8_alnum
-Perl_is_utf8_alpha
-Perl_is_utf8_ascii
-Perl_is_utf8_char
-Perl_is_utf8_cntrl
-Perl_is_utf8_digit
-Perl_is_utf8_graph
-Perl_is_utf8_idcont
-Perl_is_utf8_idfirst
-Perl_is_utf8_lower
-Perl_is_utf8_mark
-Perl_is_utf8_perl_space
-Perl_is_utf8_perl_word
-Perl_is_utf8_posix_digit
-Perl_is_utf8_print
-Perl_is_utf8_punct
-Perl_is_utf8_space
-Perl_is_utf8_string
-Perl_is_utf8_string_loc
-Perl_is_utf8_string_loclen
-Perl_is_utf8_upper
-Perl_is_utf8_xdigit
-Perl_is_utf8_xidcont
-Perl_is_utf8_xidfirst
-Perl_leave_scope
-Perl_lex_bufutf8
-Perl_lex_discard_to
-Perl_lex_grow_linestr
-Perl_lex_next_chunk
-Perl_lex_peek_unichar
-Perl_lex_read_space
-Perl_lex_read_to
-Perl_lex_read_unichar
-Perl_lex_start
-Perl_lex_stuff_pv
-Perl_lex_stuff_pvn
-Perl_lex_stuff_sv
-Perl_lex_unstuff
-Perl_load_module
-Perl_looks_like_number
-Perl_magic_dump
-Perl_malloc
-Perl_markstack_grow
-Perl_mess
-Perl_mess_sv
-Perl_mfree
-Perl_mg_clear
-Perl_mg_copy
-Perl_mg_find
-Perl_mg_findext
-Perl_mg_free
-Perl_mg_free_type
-Perl_mg_get
-Perl_mg_length
-Perl_mg_magical
-Perl_mg_set
-Perl_mg_size
-Perl_mini_mktime
-Perl_mod
-Perl_moreswitches
-Perl_mro_get_from_name
-Perl_mro_get_linear_isa
-Perl_mro_get_private_data
-Perl_mro_meta_init
-Perl_mro_method_changed_in
-Perl_mro_register
-Perl_mro_set_mro
-Perl_mro_set_private_data
-Perl_my_atof
-Perl_my_atof2
-Perl_my_dirfd
-Perl_my_exit
-Perl_my_failure_exit
-Perl_my_fflush_all
-Perl_my_fork
-Perl_my_lstat
-Perl_my_lstat_flags
-Perl_my_pclose
-Perl_my_popen
-Perl_my_popen_list
-Perl_my_setenv
-Perl_my_snprintf
-Perl_my_socketpair
-Perl_my_stat
-Perl_my_stat_flags
-Perl_my_strftime
-Perl_my_vsnprintf
-Perl_newANONATTRSUB
-Perl_newANONHASH
-Perl_newANONLIST
-Perl_newANONSUB
-Perl_newASSIGNOP
-Perl_newATTRSUB
-Perl_newAV
-Perl_newAVREF
-Perl_newBINOP
-Perl_newCONDOP
-Perl_newCONSTSUB
-Perl_newCVREF
-Perl_newFOROP
-Perl_newGIVENOP
-Perl_newGVOP
-Perl_newGVREF
-Perl_newGVgen
-Perl_newHV
-Perl_newHVREF
-Perl_newHVhv
-Perl_newIO
-Perl_newLISTOP
-Perl_newLOGOP
-Perl_newLOOPEX
-Perl_newLOOPOP
-Perl_newNULLLIST
-Perl_newOP
-Perl_newPMOP
-Perl_newPROG
-Perl_newPVOP
-Perl_newRANGE
-Perl_newRV
-Perl_newRV_noinc
-Perl_newSLICEOP
-Perl_newSTATEOP
-Perl_newSUB
-Perl_newSV
-Perl_newSVOP
-Perl_newSVREF
-Perl_newSV_type
-Perl_newSVhek
-Perl_newSViv
-Perl_newSVnv
-Perl_newSVpv
-Perl_newSVpv_share
-Perl_newSVpvf
-Perl_newSVpvn
-Perl_newSVpvn_flags
-Perl_newSVpvn_share
-Perl_newSVrv
-Perl_newSVsv
-Perl_newSVuv
-Perl_newUNOP
-Perl_newWHENOP
-Perl_newWHILEOP
-Perl_newXS
-Perl_newXS_flags
-Perl_new_collate
-Perl_new_ctype
-Perl_new_numeric
-Perl_new_stackinfo
-Perl_new_version
-Perl_new_warnings_bitfield
-Perl_ninstr
-Perl_nothreadhook
-Perl_op_append_elem
-Perl_op_append_list
-Perl_op_clear
-Perl_op_contextualize
-Perl_op_dump
-Perl_op_free
-Perl_op_linklist
-Perl_op_lvalue
-Perl_op_null
-Perl_op_prepend_elem
-Perl_op_refcnt_lock
-Perl_op_refcnt_unlock
-Perl_op_scope
-Perl_pack_cat
-Perl_packlist
-Perl_pad_findmy
-Perl_pad_push
-Perl_parse_arithexpr
-Perl_parse_barestmt
-Perl_parse_block
-Perl_parse_fullexpr
-Perl_parse_fullstmt
-Perl_parse_label
-Perl_parse_listexpr
-Perl_parse_stmtseq
-Perl_parse_termexpr
-perl_alloc
-perl_construct
-perl_destruct
-perl_free
-perl_parse
-perl_run
-Perl_pmop_dump
-Perl_pop_scope
-Perl_pregcomp
-Perl_pregexec
-Perl_pregfree
-Perl_pregfree2
-Perl_prescan_version
-Perl_ptr_table_clear
-Perl_ptr_table_fetch
-Perl_ptr_table_free
-Perl_ptr_table_new
-Perl_ptr_table_split
-Perl_ptr_table_store
-Perl_push_scope
-Perl_pv_display
-Perl_pv_escape
-Perl_pv_pretty
-Perl_pv_uni_display
-Perl_qerror
-Perl_re_compile
-Perl_re_intuit_start
-Perl_re_intuit_string
-Perl_realloc
-Perl_ref
-Perl_refcounted_he_chain_2hv
-Perl_refcounted_he_fetch_pv
-Perl_refcounted_he_fetch_pvn
-Perl_refcounted_he_fetch_sv
-Perl_refcounted_he_free
-Perl_refcounted_he_inc
-Perl_refcounted_he_new_pv
-Perl_refcounted_he_new_pvn
-Perl_refcounted_he_new_sv
-Perl_reg_named_buff
-Perl_reg_named_buff_all
-Perl_reg_named_buff_exists
-Perl_reg_named_buff_fetch
-Perl_reg_named_buff_firstkey
-Perl_reg_named_buff_iter
-Perl_reg_named_buff_nextkey
-Perl_reg_named_buff_scalar
-Perl_reg_numbered_buff_fetch
-Perl_reg_numbered_buff_length
-Perl_reg_numbered_buff_store
-Perl_reg_qr_package
-Perl_reg_temp_copy
-Perl_regclass_swash
-Perl_regdump
-Perl_regexec_flags
-Perl_regfree_internal
-Perl_reginitcolors
-Perl_regnext
-Perl_repeatcpy
-Perl_report_uninit
-Perl_require_pv
-Perl_rninstr
-Perl_rsignal
-Perl_rsignal_state
-Perl_runops_debug
-Perl_runops_standard
-Perl_rv2cv_op_cv
-Perl_safesyscalloc
-Perl_safesysfree
-Perl_safesysmalloc
-Perl_safesysrealloc
-Perl_save_I16
-Perl_save_I32
-Perl_save_I8
-Perl_save_adelete
-Perl_save_aelem_flags
-Perl_save_alloc
-Perl_save_aptr
-Perl_save_ary
-Perl_save_bool
-Perl_save_clearsv
-Perl_save_delete
-Perl_save_destructor
-Perl_save_destructor_x
-Perl_save_freeop
-Perl_save_freepv
-Perl_save_freesv
-Perl_save_generic_pvref
-Perl_save_generic_svref
-Perl_save_gp
-Perl_save_hash
-Perl_save_hdelete
-Perl_save_helem_flags
-Perl_save_hints
-Perl_save_hptr
-Perl_save_int
-Perl_save_item
-Perl_save_iv
-Perl_save_list
-Perl_save_long
-Perl_save_mortalizesv
-Perl_save_nogv
-Perl_save_op
-Perl_save_padsv_and_mortalize
-Perl_save_pptr
-Perl_save_pushi32ptr
-Perl_save_pushptr
-Perl_save_pushptrptr
-Perl_save_re_context
-Perl_save_scalar
-Perl_save_set_svflags
-Perl_save_shared_pvref
-Perl_save_sptr
-Perl_save_svref
-Perl_save_vptr
-Perl_savepv
-Perl_savepvn
-Perl_savesharedpv
-Perl_savesharedpvn
-Perl_savesharedsvpv
-Perl_savestack_grow
-Perl_savestack_grow_cnt
-Perl_savesvpv
-Perl_scan_bin
-Perl_scan_hex
-Perl_scan_num
-Perl_scan_oct
-Perl_scan_version
-Perl_scan_vstring
-Perl_screaminstr
-Perl_seed
-Perl_set_context
-Perl_set_numeric_local
-Perl_set_numeric_radix
-Perl_set_numeric_standard
-Perl_setdefout
-Perl_share_hek
-Perl_sortsv
-Perl_sortsv_flags
-Perl_stack_grow
-Perl_start_subparse
-Perl_stashpv_hvname_match
-Perl_str_to_version
-Perl_sv_2bool_flags
-Perl_sv_2cv
-Perl_sv_2io
-Perl_sv_2iv
-Perl_sv_2iv_flags
-Perl_sv_2mortal
-Perl_sv_2nv_flags
-Perl_sv_2pv
-Perl_sv_2pv_flags
-Perl_sv_2pv_nolen
-Perl_sv_2pvbyte
-Perl_sv_2pvbyte_nolen
-Perl_sv_2pvutf8
-Perl_sv_2pvutf8_nolen
-Perl_sv_2uv
-Perl_sv_2uv_flags
-Perl_sv_backoff
-Perl_sv_bless
-Perl_sv_cat_decode
-Perl_sv_catpv
-Perl_sv_catpv_flags
-Perl_sv_catpv_mg
-Perl_sv_catpvf
-Perl_sv_catpvf_mg
-Perl_sv_catpvn
-Perl_sv_catpvn_flags
-Perl_sv_catpvn_mg
-Perl_sv_catsv
-Perl_sv_catsv_flags
-Perl_sv_catsv_mg
-Perl_sv_chop
-Perl_sv_clear
-Perl_sv_cmp
-Perl_sv_cmp_flags
-Perl_sv_cmp_locale
-Perl_sv_cmp_locale_flags
-Perl_sv_compile_2op
-Perl_sv_compile_2op_is_broken
-Perl_sv_copypv
-Perl_sv_dec
-Perl_sv_dec_nomg
-Perl_sv_del_backref
-Perl_sv_derived_from
-Perl_sv_destroyable
-Perl_sv_does
-Perl_sv_dump
-Perl_sv_eq_flags
-Perl_sv_force_normal
-Perl_sv_force_normal_flags
-Perl_sv_free
-Perl_sv_free2
-Perl_sv_gets
-Perl_sv_grow
-Perl_sv_inc
-Perl_sv_inc_nomg
-Perl_sv_insert
-Perl_sv_insert_flags
-Perl_sv_isa
-Perl_sv_isobject
-Perl_sv_iv
-Perl_sv_len
-Perl_sv_len_utf8
-Perl_sv_magic
-Perl_sv_magicext
-Perl_sv_mortalcopy
-Perl_sv_newmortal
-Perl_sv_newref
-Perl_sv_nolocking
-Perl_sv_nosharing
-Perl_sv_nv
-Perl_sv_peek
-Perl_sv_pos_b2u
-Perl_sv_pos_u2b
-Perl_sv_pos_u2b_flags
-Perl_sv_pv
-Perl_sv_pvbyte
-Perl_sv_pvbyten
-Perl_sv_pvbyten_force
-Perl_sv_pvn
-Perl_sv_pvn_force
-Perl_sv_pvn_force_flags
-Perl_sv_pvn_nomg
-Perl_sv_pvutf8
-Perl_sv_pvutf8n
-Perl_sv_pvutf8n_force
-Perl_sv_recode_to_utf8
-Perl_sv_reftype
-Perl_sv_replace
-Perl_sv_report_used
-Perl_sv_reset
-Perl_sv_rvweaken
-Perl_sv_setiv
-Perl_sv_setiv_mg
-Perl_sv_setnv
-Perl_sv_setnv_mg
-Perl_sv_setpv
-Perl_sv_setpv_mg
-Perl_sv_setpvf
-Perl_sv_setpvf_mg
-Perl_sv_setpviv
-Perl_sv_setpviv_mg
-Perl_sv_setpvn
-Perl_sv_setpvn_mg
-Perl_sv_setref_iv
-Perl_sv_setref_nv
-Perl_sv_setref_pv
-Perl_sv_setref_pvn
-Perl_sv_setref_uv
-Perl_sv_setsv
-Perl_sv_setsv_flags
-Perl_sv_setsv_mg
-Perl_sv_setuv
-Perl_sv_setuv_mg
-Perl_sv_taint
-Perl_sv_tainted
-Perl_sv_true
-Perl_sv_uni_display
-Perl_sv_unmagic
-Perl_sv_unmagicext
-Perl_sv_unref
-Perl_sv_unref_flags
-Perl_sv_untaint
-Perl_sv_upgrade
-Perl_sv_usepvn
-Perl_sv_usepvn_flags
-Perl_sv_usepvn_mg
-Perl_sv_utf8_decode
-Perl_sv_utf8_downgrade
-Perl_sv_utf8_encode
-Perl_sv_utf8_upgrade
-Perl_sv_utf8_upgrade_flags_grow
-Perl_sv_uv
-Perl_sv_vcatpvf
-Perl_sv_vcatpvf_mg
-Perl_sv_vcatpvfn
-Perl_sv_vsetpvf
-Perl_sv_vsetpvf_mg
-Perl_sv_vsetpvfn
-Perl_swash_fetch
-Perl_swash_init
-Perl_sys_init
-Perl_sys_init3
-Perl_sys_term
-Perl_taint_env
-Perl_taint_proper
-Perl_tmps_grow
-Perl_to_uni_lower
-Perl_to_uni_lower_lc
-Perl_to_uni_title
-Perl_to_uni_title_lc
-Perl_to_uni_upper
-Perl_to_uni_upper_lc
-Perl_to_utf8_case
-Perl_to_utf8_lower
-Perl_to_utf8_title
-Perl_to_utf8_upper
-Perl_try_amagic_bin
-Perl_try_amagic_un
-Perl_unpack_str
-Perl_unpackstring
-Perl_unsharepvn
-Perl_upg_version
-Perl_utf16_to_utf8
-Perl_utf16_to_utf8_reversed
-Perl_utf8_distance
-Perl_utf8_hop
-Perl_utf8_length
-Perl_utf8_to_bytes
-Perl_utf8_to_uvchr
-Perl_utf8_to_uvuni
-Perl_utf8n_to_uvuni
-Perl_uvchr_to_utf8_flags
-Perl_uvuni_to_utf8
-Perl_uvuni_to_utf8_flags
-Perl_vcmp
-Perl_vcroak
-Perl_vdeb
-Perl_vform
-Perl_vivify_defelem
-Perl_vload_module
-Perl_vmess
-Perl_vnewSVpvf
-Perl_vnormal
-Perl_vnumify
-Perl_vstringify
-Perl_vverify
-Perl_vwarn
-Perl_vwarner
-Perl_warn
-Perl_warn_sv
-Perl_warner
-Perl_whichsig
-Perl_xs_apiversion_bootcheck
-Perl_xs_version_bootcheck
-Perl_yylex
-Perl_utf8n_to_uvchr
-Perl_uvchr_to_utf8
-Perl_csighandler
-Perl_sv_nounlocking
-Perl_my_cxt_init
-Perl_newFORM
-Perl_newMYSUB
-Perl_my_bzero
-Perl_my_memcmp
-Perl_my_memset
-Perl_signbit
-Perl_my_strlcat
-Perl_my_strlcpy
-Perl_my_chsize
-Perl_my_sprintf
-Perl_my_bcopy
-Perl_hv_assert
-Perl_pad_sv
-Perl_dump_fds
-Perl_sys_intern_clear
-Perl_sys_intern_init
-Perl_sys_intern_dup
-Perl_dump_mstats
-Perl_get_mstats
-Perl_my_htonl
-Perl_my_ntohl
-Perl_my_swap
-Perl_do_exec
-Perl_gv_SVadd
-Perl_GetVars
-Perl_free_global_struct
-Perl_init_global_struct
-Perl_my_cxt_index
-Perl_croak_nocontext
-Perl_deb_nocontext
-Perl_die_nocontext
-Perl_form_nocontext
-Perl_fprintf_nocontext
-Perl_load_module_nocontext
-Perl_mess_nocontext
-Perl_newSVpvf_nocontext
-Perl_printf_nocontext
-Perl_sv_catpvf_mg_nocontext
-Perl_sv_catpvf_nocontext
-Perl_sv_setpvf_mg_nocontext
-Perl_sv_setpvf_nocontext
-Perl_warn_nocontext
-Perl_warner_nocontext
-perl_alloc_using
-perl_clone_using
-Perl_sv_setsv_cow
-Perl_Slab_Alloc
-Perl_Slab_Free
-Perl_unlnk
-Perl_any_dup
-Perl_clone_params_del
-Perl_clone_params_new
-Perl_cx_dup
-Perl_dirp_dup
-Perl_fp_dup
-Perl_gp_dup
-Perl_he_dup
-Perl_hek_dup
-Perl_mg_dup
-Perl_newPADOP
-Perl_parser_dup
-perl_clone
-Perl_re_dup_guts
-Perl_regdupe_internal
-Perl_rvpv_dup
-Perl_si_dup
-Perl_ss_dup
-Perl_sv_dup
-Perl_sv_dup_inc
-Perl_sv_collxfrm_flags
-Perl_PerlIO_clearerr
-Perl_PerlIO_close
-Perl_PerlIO_eof
-Perl_PerlIO_error
-Perl_PerlIO_fileno
-Perl_PerlIO_fill
-Perl_PerlIO_flush
-Perl_PerlIO_get_base
-Perl_PerlIO_get_bufsiz
-Perl_PerlIO_get_cnt
-Perl_PerlIO_get_ptr
-Perl_PerlIO_read
-Perl_PerlIO_seek
-Perl_PerlIO_set_cnt
-Perl_PerlIO_set_ptrcnt
-Perl_PerlIO_setlinebuf
-Perl_PerlIO_stderr
-Perl_PerlIO_stdin
-Perl_PerlIO_stdout
-Perl_PerlIO_tell
-Perl_PerlIO_unread
-Perl_PerlIO_write
-Perl_reentrant_free
-Perl_reentrant_init
-Perl_reentrant_retry
-Perl_reentrant_size
-Perl_do_aspawn
-Perl_do_spawn
-Perl_do_spawn_nowait
-
-# ex: set ro:

Modified: vendor/perl/dist/globals.c
===================================================================
--- vendor/perl/dist/globals.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/globals.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 /*    globals.c
  *
- *    Copyright (C) 1995, 1999, 2000, 2001, by Larry Wall and others
+ *    Copyright (C) 1995, 1999, 2000, 2001, 2008 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -37,8 +37,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/globals.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/globvar.sym
===================================================================
--- vendor/perl/dist/globvar.sym	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/globvar.sym	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,12 @@
 # Global variables that must be exported for embedded applications.
-# *** Do NOT add functions here, those go in global.sym.
 # *** Only structures/arrays with constant initializers should go here.
 # *** Usual globals initialized at runtime should be added in *var*.h.
 
+No
+Yes
 bincompat_options
 block_type
+charclass
 check
 core_reg_engine
 fold
@@ -11,7 +13,15 @@
 fold_latin1
 fold_locale
 freq
+global_struct_size
+hexdigit
+interp_size
+interp_size_5_18_0
 keyword_plugin
+latin1_lc
+magic_data
+magic_vtable_names
+magic_vtables
 memory_wrap
 no_aelem
 no_dir_func
@@ -31,47 +41,29 @@
 opargs
 phase_names
 ppaddr
+reg_extflags_name
+reg_name
 regkind
-reg_name
-reg_extflags_name
+revision
+runops_dbg
+runops_std
+sh_path
 sig_name
 sig_num
 simple
 simple_bitmask
+subversion
 utf8skip
 uuemap
+valid_types_IVX
+valid_types_IV_set
+valid_types_NVX
+valid_types_NV_set
+valid_types_PVX
+valid_types_RV
 varies
 varies_bitmask
-vtbl_amagic
-vtbl_amagicelem
-vtbl_arylen
-vtbl_backref
-vtbl_bm
-vtbl_collxfrm
-vtbl_dbline
-vtbl_defelem
-vtbl_env
-vtbl_envelem
-vtbl_fm
-vtbl_isa
-vtbl_isaelem
-vtbl_mglob
-vtbl_mutex
-vtbl_nkeys
-vtbl_pack
-vtbl_packelem
-vtbl_pos
-vtbl_regdata
-vtbl_regdatum
-vtbl_regexp
-vtbl_sig
-vtbl_sigelem
-vtbl_substr
-vtbl_sv
-vtbl_taint
-vtbl_utf8
-vtbl_uvar
-vtbl_vec
+version
 warn_nl
 warn_nosemi
 warn_reserved


Property changes on: vendor/perl/dist/globvar.sym
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/gv.c
===================================================================
--- vendor/perl/dist/gv.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/gv.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
  * history of Middle-earth and Over-heaven and of the Sundering Seas,'
  * laughed Pippin.
  *
- *     [p.599 of _The Lord of the Rings_, III/xi: "The Palant\xEDr"]
+ *     [p.599 of _The Lord of the Rings_, III/xi: "The Palantír"]
  */
 
 /*
@@ -36,6 +36,8 @@
 #define PERL_IN_GV_C
 #include "perl.h"
 #include "overload.c"
+#include "keywords.h"
+#include "feature.h"
 
 static const char S_autoload[] = "AUTOLOAD";
 static const STRLEN S_autolen = sizeof(S_autoload)-1;
@@ -58,18 +60,14 @@
 	     * if it walks like a dirhandle, then let's assume that
 	     * this is a dirhandle.
 	     */
-	    what = PL_op->op_type ==  OP_READDIR ||
-		PL_op->op_type ==  OP_TELLDIR ||
-		PL_op->op_type ==  OP_SEEKDIR ||
-		PL_op->op_type ==  OP_REWINDDIR ||
-		PL_op->op_type ==  OP_CLOSEDIR ?
+	    what = OP_IS_DIRHOP(PL_op->op_type) ?
 		"dirhandle" : "filehandle";
-	    /* diag_listed_as: Bad symbol for filehandle */
 	} else if (type == SVt_PVHV) {
 	    what = "hash";
 	} else {
 	    what = type == SVt_PVAV ? "array" : "scalar";
 	}
+	/* diag_listed_as: Bad symbol for filehandle */
 	Perl_croak(aTHX_ "Bad symbol for %s", what);
     }
 
@@ -85,6 +83,9 @@
 
     if (!*where)
 	*where = newSV_type(type);
+    if (type == SVt_PVAV && GvNAMELEN(gv) == 3
+     && strnEQ(GvNAME(gv), "ISA", 3))
+	sv_magic(*where, (SV *)gv, PERL_MAGIC_isa, NULL, 0);
     return gv;
 }
 
@@ -161,17 +162,38 @@
 {
     GP *gp;
     U32 hash;
-#ifdef USE_ITHREADS
-    const char *const file
-	= (PL_curcop && CopFILE(PL_curcop)) ? CopFILE(PL_curcop) : "";
-    const STRLEN len = strlen(file);
-#else
-    SV *const temp_sv = CopFILESV(PL_curcop);
     const char *file;
     STRLEN len;
+#ifndef USE_ITHREADS
+    SV * temp_sv;
+#endif
+    dVAR;
 
     PERL_ARGS_ASSERT_NEWGP;
+    Newxz(gp, 1, GP);
+    gp->gp_egv = gv; /* allow compiler to reuse gv after this */
+#ifndef PERL_DONT_CREATE_GVSV
+    gp->gp_sv = newSV(0);
+#endif
 
+#ifdef USE_ITHREADS
+    if (PL_curcop) {
+	gp->gp_line = CopLINE(PL_curcop); /* 0 otherwise Newxz */
+	if (CopFILE(PL_curcop)) {
+	    file = CopFILE(PL_curcop);
+	    len = strlen(file);
+	}
+	else goto no_file;
+    }
+    else {
+	no_file:
+	file = "";
+	len = 0;
+    }
+#else
+    if(PL_curcop)
+	gp->gp_line = CopLINE(PL_curcop); /* 0 otherwise Newxz */
+    temp_sv = CopFILESV(PL_curcop);
     if (temp_sv) {
 	file = SvPVX(temp_sv);
 	len = SvCUR(temp_sv);
@@ -182,18 +204,7 @@
 #endif
 
     PERL_HASH(hash, file, len);
-
-    Newxz(gp, 1, GP);
-
-#ifndef PERL_DONT_CREATE_GVSV
-    gp->gp_sv = newSV(0);
-#endif
-
-    gp->gp_line = PL_curcop ? CopLINE(PL_curcop) : 0;
-    /* XXX Ideally this cast would be replaced with a change to const char*
-       in the struct.  */
     gp->gp_file_hek = share_hek(file, len, hash);
-    gp->gp_egv = gv;
     gp->gp_refcnt = 1;
 
     return gp;
@@ -206,6 +217,7 @@
 Perl_cvgv_set(pTHX_ CV* cv, GV* gv)
 {
     GV * const oldgv = CvGV(cv);
+    HEK *hek;
     PERL_ARGS_ASSERT_CVGV_SET;
 
     if (oldgv == gv)
@@ -213,7 +225,7 @@
 
     if (oldgv) {
 	if (CvCVGV_RC(cv)) {
-	    SvREFCNT_dec(oldgv);
+	    SvREFCNT_dec_NN(oldgv);
 	    CvCVGV_RC_off(cv);
 	}
 	else {
@@ -220,8 +232,9 @@
 	    sv_del_backref(MUTABLE_SV(oldgv), MUTABLE_SV(cv));
 	}
     }
+    else if ((hek = CvNAME_HEK(cv))) unshare_hek(hek);
 
-    SvANY(cv)->xcv_gv = gv;
+    SvANY(cv)->xcv_gv_u.xcv_gv = gv;
     assert(!CvCVGV_RC(cv));
 
     if (!gv)
@@ -251,18 +264,83 @@
 	Perl_sv_add_backref(aTHX_ MUTABLE_SV(st), MUTABLE_SV(cv));
 }
 
+/*
+=for apidoc gv_init_pvn
+
+Converts a scalar into a typeglob.  This is an incoercible typeglob;
+assigning a reference to it will assign to one of its slots, instead of
+overwriting it as happens with typeglobs created by SvSetSV.  Converting
+any scalar that is SvOK() may produce unpredictable results and is reserved
+for perl's internal use.
+
+C<gv> is the scalar to be converted.
+
+C<stash> is the parent stash/package, if any.
+
+C<name> and C<len> give the name.  The name must be unqualified;
+that is, it must not include the package name.  If C<gv> is a
+stash element, it is the caller's responsibility to ensure that the name
+passed to this function matches the name of the element.  If it does not
+match, perl's internal bookkeeping will get out of sync.
+
+C<flags> can be set to SVf_UTF8 if C<name> is a UTF8 string, or
+the return value of SvUTF8(sv).  It can also take the
+GV_ADDMULTI flag, which means to pretend that the GV has been
+seen before (i.e., suppress "Used once" warnings).
+
+=for apidoc gv_init
+
+The old form of gv_init_pvn().  It does not work with UTF8 strings, as it
+has no flags parameter.  If the C<multi> parameter is set, the
+GV_ADDMULTI flag will be passed to gv_init_pvn().
+
+=for apidoc gv_init_pv
+
+Same as gv_init_pvn(), but takes a nul-terminated string for the name
+instead of separate char * and length parameters.
+
+=for apidoc gv_init_sv
+
+Same as gv_init_pvn(), but takes an SV * for the name instead of separate
+char * and length parameters.  C<flags> is currently unused.
+
+=cut
+*/
+
 void
-Perl_gv_init(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, int multi)
+Perl_gv_init_sv(pTHX_ GV *gv, HV *stash, SV* namesv, U32 flags)
 {
+   char *namepv;
+   STRLEN namelen;
+   PERL_ARGS_ASSERT_GV_INIT_SV;
+   namepv = SvPV(namesv, namelen);
+   if (SvUTF8(namesv))
+       flags |= SVf_UTF8;
+   gv_init_pvn(gv, stash, namepv, namelen, flags);
+}
+
+void
+Perl_gv_init_pv(pTHX_ GV *gv, HV *stash, const char *name, U32 flags)
+{
+   PERL_ARGS_ASSERT_GV_INIT_PV;
+   gv_init_pvn(gv, stash, name, strlen(name), flags);
+}
+
+void
+Perl_gv_init_pvn(pTHX_ GV *gv, HV *stash, const char *name, STRLEN len, U32 flags)
+{
     dVAR;
     const U32 old_type = SvTYPE(gv);
     const bool doproto = old_type > SVt_NULL;
-    char * const proto = (doproto && SvPOK(gv)) ? SvPVX(gv) : NULL;
+    char * const proto = (doproto && SvPOK(gv))
+	? ((void)(SvIsCOW(gv) && (sv_force_normal((SV *)gv), 0)), SvPVX(gv))
+	: NULL;
     const STRLEN protolen = proto ? SvCUR(gv) : 0;
+    const U32 proto_utf8  = proto ? SvUTF8(gv) : 0;
     SV *const has_constant = doproto && SvROK(gv) ? SvRV(gv) : NULL;
     const U32 exported_constant = has_constant ? SvPCS_IMPORTED(gv) : 0;
 
-    PERL_ARGS_ASSERT_GV_INIT;
+    PERL_ARGS_ASSERT_GV_INIT_PVN;
     assert (!(proto && has_constant));
 
     if (has_constant) {
@@ -302,54 +380,39 @@
     GvSTASH(gv) = stash;
     if (stash)
 	Perl_sv_add_backref(aTHX_ MUTABLE_SV(stash), MUTABLE_SV(gv));
-    gv_name_set(gv, name, len, GV_ADD);
-    if (multi || doproto)              /* doproto means it _was_ mentioned */
-	GvMULTI_on(gv);
-    if (doproto) {			/* Replicate part of newSUB here. */
+    gv_name_set(gv, name, len, GV_ADD | ( flags & SVf_UTF8 ? SVf_UTF8 : 0 ));
+    if (flags & GV_ADDMULTI || doproto)	/* doproto means it */
+	GvMULTI_on(gv);			/* _was_ mentioned */
+    if (doproto) {
 	CV *cv;
-	ENTER;
 	if (has_constant) {
-	    char *name0 = NULL;
-	    if (name[len])
-		/* newCONSTSUB doesn't take a len arg, so make sure we
-		 * give it a \0-terminated string */
-		name0 = savepvn(name,len);
-
 	    /* newCONSTSUB takes ownership of the reference from us.  */
-	    cv = newCONSTSUB(stash, (name0 ? name0 : name), has_constant);
+	    cv = newCONSTSUB_flags(stash, name, len, flags, has_constant);
 	    /* In case op.c:S_process_special_blocks stole it: */
 	    if (!GvCV(gv))
 		GvCV_set(gv, (CV *)SvREFCNT_inc_simple_NN(cv));
 	    assert(GvCV(gv) == cv); /* newCONSTSUB should have set this */
-	    if (name0)
-		Safefree(name0);
 	    /* If this reference was a copy of another, then the subroutine
 	       must have been "imported", by a Perl space assignment to a GV
 	       from a reference to CV.  */
 	    if (exported_constant)
 		GvIMPORTED_CV_on(gv);
+	    CvSTASH_set(cv, PL_curstash); /* XXX Why is this needed? */
 	} else {
-	    (void) start_subparse(0,0);	/* Create empty CV in compcv. */
-	    cv = PL_compcv;
-	    GvCV_set(gv,cv);
+	    cv = newSTUB(gv,1);
 	}
-	LEAVE;
-
-        mro_method_changed_in(GvSTASH(gv)); /* sub Foo::bar($) { (shift) } sub ASDF::baz($); *ASDF::baz = \&Foo::bar */
-	CvGV_set(cv, gv);
-	CvFILE_set_from_cop(cv, PL_curcop);
-	CvSTASH_set(cv, PL_curstash);
 	if (proto) {
 	    sv_usepvn_flags(MUTABLE_SV(cv), proto, protolen,
 			    SV_HAS_TRAILING_NUL);
+            if ( proto_utf8 ) SvUTF8_on(MUTABLE_SV(cv));
 	}
     }
 }
 
 STATIC void
-S_gv_init_sv(pTHX_ GV *gv, const svtype sv_type)
+S_gv_init_svtype(pTHX_ GV *gv, const svtype sv_type)
 {
-    PERL_ARGS_ASSERT_GV_INIT_SV;
+    PERL_ARGS_ASSERT_GV_INIT_SVTYPE;
 
     switch (sv_type) {
     case SVt_PVIO:
@@ -377,9 +440,183 @@
     }
 }
 
+static void core_xsub(pTHX_ CV* cv);
+
+static GV *
+S_maybe_add_coresub(pTHX_ HV * const stash, GV *gv,
+                          const char * const name, const STRLEN len)
+{
+    const int code = keyword(name, len, 1);
+    static const char file[] = __FILE__;
+    CV *cv, *oldcompcv = NULL;
+    int opnum = 0;
+    bool ampable = TRUE; /* &{}-able */
+    COP *oldcurcop = NULL;
+    yy_parser *oldparser = NULL;
+    I32 oldsavestack_ix = 0;
+
+    assert(gv || stash);
+    assert(name);
+
+    if (!code) return NULL; /* Not a keyword */
+    switch (code < 0 ? -code : code) {
+     /* no support for \&CORE::infix;
+        no support for funcs that do not parse like funcs */
+    case KEY___DATA__: case KEY___END__: case KEY_and: case KEY_AUTOLOAD:
+    case KEY_BEGIN   : case KEY_CHECK  : case KEY_cmp: case KEY_CORE    :
+    case KEY_default : case KEY_DESTROY:
+    case KEY_do      : case KEY_dump   : case KEY_else  : case KEY_elsif  :
+    case KEY_END     : case KEY_eq     : case KEY_eval  :
+    case KEY_for     : case KEY_foreach: case KEY_format: case KEY_ge     :
+    case KEY_given   : case KEY_goto   : case KEY_grep  :
+    case KEY_gt   : case KEY_if: case KEY_INIT: case KEY_last: case KEY_le:
+    case KEY_local: case KEY_lt: case KEY_m   : case KEY_map : case KEY_my:
+    case KEY_ne   : case KEY_next : case KEY_no: case KEY_or: case KEY_our:
+    case KEY_package: case KEY_print: case KEY_printf:
+    case KEY_q    : case KEY_qq   : case KEY_qr     : case KEY_qw    :
+    case KEY_qx   : case KEY_redo : case KEY_require: case KEY_return:
+    case KEY_s    : case KEY_say  : case KEY_sort   :
+    case KEY_state: case KEY_sub  :
+    case KEY_tr   : case KEY_UNITCHECK: case KEY_unless:
+    case KEY_until: case KEY_use  : case KEY_when     : case KEY_while :
+    case KEY_x    : case KEY_xor  : case KEY_y        :
+	return NULL;
+    case KEY_chdir:
+    case KEY_chomp: case KEY_chop: case KEY_defined: case KEY_delete:
+    case KEY_each : case KEY_eof : case KEY_exec   : case KEY_exists:
+    case KEY_keys:
+    case KEY_lstat:
+    case KEY_pop:
+    case KEY_push:
+    case KEY_shift:
+    case KEY_splice: case KEY_split:
+    case KEY_stat:
+    case KEY_system:
+    case KEY_truncate: case KEY_unlink:
+    case KEY_unshift:
+    case KEY_values:
+	ampable = FALSE;
+    }
+    if (!gv) {
+	gv = (GV *)newSV(0);
+	gv_init(gv, stash, name, len, TRUE);
+    }
+    GvMULTI_on(gv);
+    if (ampable) {
+	ENTER;
+	oldcurcop = PL_curcop;
+	oldparser = PL_parser;
+	lex_start(NULL, NULL, 0);
+	oldcompcv = PL_compcv;
+	PL_compcv = NULL; /* Prevent start_subparse from setting
+	                     CvOUTSIDE. */
+	oldsavestack_ix = start_subparse(FALSE,0);
+	cv = PL_compcv;
+    }
+    else {
+	/* Avoid calling newXS, as it calls us, and things start to
+	   get hairy. */
+	cv = MUTABLE_CV(newSV_type(SVt_PVCV));
+	GvCV_set(gv,cv);
+	GvCVGEN(gv) = 0;
+	mro_method_changed_in(GvSTASH(gv));
+	CvISXSUB_on(cv);
+	CvXSUB(cv) = core_xsub;
+    }
+    CvGV_set(cv, gv); /* This stops new ATTRSUB from setting CvFILE
+                         from PL_curcop. */
+    (void)gv_fetchfile(file);
+    CvFILE(cv) = (char *)file;
+    /* XXX This is inefficient, as doing things this order causes
+           a prototype check in newATTRSUB.  But we have to do
+           it this order as we need an op number before calling
+           new ATTRSUB. */
+    (void)core_prototype((SV *)cv, name, code, &opnum);
+    if (stash)
+	(void)hv_store(stash,name,len,(SV *)gv,0);
+    if (ampable) {
+#ifdef DEBUGGING
+        CV *orig_cv = cv;
+#endif
+	CvLVALUE_on(cv);
+        /* newATTRSUB will free the CV and return NULL if we're still
+           compiling after a syntax error */
+	if ((cv = newATTRSUB_flags(
+		   oldsavestack_ix, (OP *)gv,
+	           NULL,NULL,
+	           coresub_op(
+	             opnum
+	               ? newSVuv((UV)opnum)
+	               : newSVpvn(name,len),
+	             code, opnum
+	           ),
+	           1
+               )) != NULL) {
+            assert(GvCV(gv) == orig_cv);
+            if (opnum != OP_VEC && opnum != OP_SUBSTR && opnum != OP_POS
+                && opnum != OP_UNDEF)
+                CvLVALUE_off(cv); /* Now *that* was a neat trick. */
+        }
+	LEAVE;
+	PL_parser = oldparser;
+	PL_curcop = oldcurcop;
+	PL_compcv = oldcompcv;
+    }
+    if (cv) {
+        SV *opnumsv = opnum ? newSVuv((UV)opnum) : (SV *)NULL;
+        cv_set_call_checker(
+          cv, Perl_ck_entersub_args_core, opnumsv ? opnumsv : (SV *)cv
+        );
+        SvREFCNT_dec(opnumsv);
+    }
+
+    return gv;
+}
+
 /*
 =for apidoc gv_fetchmeth
 
+Like L</gv_fetchmeth_pvn>, but lacks a flags parameter.
+
+=for apidoc gv_fetchmeth_sv
+
+Exactly like L</gv_fetchmeth_pvn>, but takes the name string in the form
+of an SV instead of a string/length pair.
+
+=cut
+*/
+
+GV *
+Perl_gv_fetchmeth_sv(pTHX_ HV *stash, SV *namesv, I32 level, U32 flags)
+{
+   char *namepv;
+   STRLEN namelen;
+   PERL_ARGS_ASSERT_GV_FETCHMETH_SV;
+   namepv = SvPV(namesv, namelen);
+   if (SvUTF8(namesv))
+       flags |= SVf_UTF8;
+   return gv_fetchmeth_pvn(stash, namepv, namelen, level, flags);
+}
+
+/*
+=for apidoc gv_fetchmeth_pv
+
+Exactly like L</gv_fetchmeth_pvn>, but takes a nul-terminated string 
+instead of a string/length pair.
+
+=cut
+*/
+
+GV *
+Perl_gv_fetchmeth_pv(pTHX_ HV *stash, const char *name, I32 level, U32 flags)
+{
+    PERL_ARGS_ASSERT_GV_FETCHMETH_PV;
+    return gv_fetchmeth_pvn(stash, name, strlen(name), level, flags);
+}
+
+/*
+=for apidoc gv_fetchmeth_pvn
+
 Returns the glob with the given C<name> and a defined subroutine or
 C<NULL>.  The glob lives in the given C<stash>, or in the stashes
 accessible via @ISA and UNIVERSAL::.
@@ -389,7 +626,12 @@
 which in the case of success contains an alias for the subroutine, and sets
 up caching info for this glob.
 
-This function grants C<"SUPER"> token as a postfix of the stash name. The
+The only significant values for C<flags> are GV_SUPER and SVf_UTF8.
+
+GV_SUPER indicates that we want to look up the method in the superclasses
+of the C<stash>.
+
+The
 GV returned from C<gv_fetchmeth> may be a method cache entry, which is not
 visible to Perl code.  So when calling C<call_sv>, you should not use
 the GV directly; instead, you should use the method's CV, which can be
@@ -401,7 +643,7 @@
 /* NOTE: No support for tied ISA */
 
 GV *
-Perl_gv_fetchmeth(pTHX_ HV *stash, const char *name, STRLEN len, I32 level)
+Perl_gv_fetchmeth_pvn(pTHX_ HV *stash, const char *name, STRLEN len, I32 level, U32 flags)
 {
     dVAR;
     GV** gvp;
@@ -408,18 +650,17 @@
     AV* linear_av;
     SV** linear_svp;
     SV* linear_sv;
-    HV* cstash;
+    HV* cstash, *cachestash;
     GV* candidate = NULL;
     CV* cand_cv = NULL;
-    CV* old_cv;
     GV* topgv = NULL;
     const char *hvname;
     I32 create = (level >= 0) ? 1 : 0;
     I32 items;
-    STRLEN packlen;
     U32 topgen_cmp;
+    U32 is_utf8 = flags & SVf_UTF8;
 
-    PERL_ARGS_ASSERT_GV_FETCHMETH;
+    PERL_ARGS_ASSERT_GV_FETCHMETH_PVN;
 
     /* UNIVERSAL methods should be callable without a stash */
     if (!stash) {
@@ -437,17 +678,26 @@
     assert(hvname);
     assert(name);
 
-    DEBUG_o( Perl_deb(aTHX_ "Looking for method %s in package %s\n",name,hvname) );
+    DEBUG_o( Perl_deb(aTHX_ "Looking for %smethod %s in package %s\n",
+		      flags & GV_SUPER ? "SUPER " : "",name,hvname) );
 
     topgen_cmp = HvMROMETA(stash)->cache_gen + PL_sub_generation;
 
+    if (flags & GV_SUPER) {
+	if (!HvAUX(stash)->xhv_super) HvAUX(stash)->xhv_super = newHV();
+	cachestash = HvAUX(stash)->xhv_super;
+    }
+    else cachestash = stash;
+
     /* check locally for a real method or a cache entry */
-    gvp = (GV**)hv_fetch(stash, name, len, create);
+    gvp = (GV**)hv_fetch(cachestash, name, is_utf8 ? -(I32)len : (I32)len,
+			 create);
     if(gvp) {
         topgv = *gvp;
+      have_gv:
         assert(topgv);
         if (SvTYPE(topgv) != SVt_PVGV)
-            gv_init(topgv, stash, name, len, TRUE);
+            gv_init_pvn(topgv, stash, name, len, GV_ADDMULTI|is_utf8);
         if ((cand_cv = GvCV(topgv))) {
             /* If genuine method or valid cache entry, use it */
             if (!GvCVGEN(topgv) || GvCVGEN(topgv) == topgen_cmp) {
@@ -455,7 +705,7 @@
             }
             else {
                 /* stale cache entry, junk it and move on */
-	        SvREFCNT_dec(cand_cv);
+	        SvREFCNT_dec_NN(cand_cv);
 	        GvCV_set(topgv, NULL);
 		cand_cv = NULL;
 	        GvCVGEN(topgv) = 0;
@@ -465,19 +715,14 @@
             /* cache indicates no such method definitively */
             return 0;
         }
+	else if (stash == cachestash
+	      && len > 1 /* shortest is uc */ && HvNAMELEN_get(stash) == 4
+              && strnEQ(hvname, "CORE", 4)
+              && S_maybe_add_coresub(aTHX_ NULL,topgv,name,len))
+	    goto have_gv;
     }
 
-    packlen = HvNAMELEN_get(stash);
-    if (packlen >= 7 && strEQ(hvname + packlen - 7, "::SUPER")) {
-        HV* basestash;
-        packlen -= 7;
-        basestash = gv_stashpvn(hvname, packlen, GV_ADD);
-        linear_av = mro_get_linear_isa(basestash);
-    }
-    else {
-        linear_av = mro_get_linear_isa(stash); /* has ourselves at the top of the list */
-    }
-
+    linear_av = mro_get_linear_isa(stash); /* has ourselves at the top of the list */
     linear_svp = AvARRAY(linear_av) + 1; /* skip over self */
     items = AvFILLp(linear_av); /* no +1, to skip over self */
     while (items--) {
@@ -486,18 +731,32 @@
         cstash = gv_stashsv(linear_sv, 0);
 
         if (!cstash) {
-	    Perl_ck_warner(aTHX_ packWARN(WARN_SYNTAX), "Can't locate package %"SVf" for @%s::ISA",
-			   SVfARG(linear_sv), hvname);
+	    Perl_ck_warner(aTHX_ packWARN(WARN_SYNTAX),
+                           "Can't locate package %"SVf" for @%"HEKf"::ISA",
+			   SVfARG(linear_sv),
+                           HEKfARG(HvNAME_HEK(stash)));
             continue;
         }
 
         assert(cstash);
 
-        gvp = (GV**)hv_fetch(cstash, name, len, 0);
-        if (!gvp) continue;
-        candidate = *gvp;
+        gvp = (GV**)hv_fetch(cstash, name, is_utf8 ? -(I32)len : (I32)len, 0);
+        if (!gvp) {
+            if (len > 1 && HvNAMELEN_get(cstash) == 4) {
+                const char *hvname = HvNAME(cstash); assert(hvname);
+                if (strnEQ(hvname, "CORE", 4)
+                 && (candidate =
+                      S_maybe_add_coresub(aTHX_ cstash,NULL,name,len)
+                    ))
+                    goto have_candidate;
+            }
+            continue;
+        }
+        else candidate = *gvp;
+       have_candidate:
         assert(candidate);
-        if (SvTYPE(candidate) != SVt_PVGV) gv_init(candidate, cstash, name, len, TRUE);
+        if (SvTYPE(candidate) != SVt_PVGV)
+            gv_init_pvn(candidate, cstash, name, len, GV_ADDMULTI|is_utf8);
         if (SvTYPE(candidate) == SVt_PVGV && (cand_cv = GvCV(candidate)) && !GvCVGEN(candidate)) {
             /*
              * Found real method, cache method in topgv if:
@@ -505,7 +764,8 @@
              *  2. method isn't a stub (else AUTOLOAD fails spectacularly)
              */
             if (topgv && (GvREFCNT(topgv) == 1) && (CvROOT(cand_cv) || CvXSUB(cand_cv))) {
-                  if ((old_cv = GvCV(topgv))) SvREFCNT_dec(old_cv);
+                  CV *old_cv = GvCV(topgv);
+                  SvREFCNT_dec(old_cv);
                   SvREFCNT_inc_simple_void_NN(cand_cv);
                   GvCV_set(topgv, cand_cv);
                   GvCVGEN(topgv) = topgen_cmp;
@@ -516,11 +776,12 @@
 
     /* Check UNIVERSAL without caching */
     if(level == 0 || level == -1) {
-        candidate = gv_fetchmeth(NULL, name, len, 1);
+        candidate = gv_fetchmeth_pvn(NULL, name, len, 1, flags &~GV_SUPER);
         if(candidate) {
             cand_cv = GvCV(candidate);
             if (topgv && (GvREFCNT(topgv) == 1) && (CvROOT(cand_cv) || CvXSUB(cand_cv))) {
-                  if ((old_cv = GvCV(topgv))) SvREFCNT_dec(old_cv);
+                  CV *old_cv = GvCV(topgv);
+                  SvREFCNT_dec(old_cv);
                   SvREFCNT_inc_simple_void_NN(cand_cv);
                   GvCV_set(topgv, cand_cv);
                   GvCVGEN(topgv) = topgen_cmp;
@@ -540,7 +801,49 @@
 /*
 =for apidoc gv_fetchmeth_autoload
 
-Same as gv_fetchmeth(), but looks for autoloaded subroutines too.
+This is the old form of L</gv_fetchmeth_pvn_autoload>, which has no flags
+parameter.
+
+=for apidoc gv_fetchmeth_sv_autoload
+
+Exactly like L</gv_fetchmeth_pvn_autoload>, but takes the name string in the form
+of an SV instead of a string/length pair.
+
+=cut
+*/
+
+GV *
+Perl_gv_fetchmeth_sv_autoload(pTHX_ HV *stash, SV *namesv, I32 level, U32 flags)
+{
+   char *namepv;
+   STRLEN namelen;
+   PERL_ARGS_ASSERT_GV_FETCHMETH_SV_AUTOLOAD;
+   namepv = SvPV(namesv, namelen);
+   if (SvUTF8(namesv))
+       flags |= SVf_UTF8;
+   return gv_fetchmeth_pvn_autoload(stash, namepv, namelen, level, flags);
+}
+
+/*
+=for apidoc gv_fetchmeth_pv_autoload
+
+Exactly like L</gv_fetchmeth_pvn_autoload>, but takes a nul-terminated string
+instead of a string/length pair.
+
+=cut
+*/
+
+GV *
+Perl_gv_fetchmeth_pv_autoload(pTHX_ HV *stash, const char *name, I32 level, U32 flags)
+{
+    PERL_ARGS_ASSERT_GV_FETCHMETH_PV_AUTOLOAD;
+    return gv_fetchmeth_pvn_autoload(stash, name, strlen(name), level, flags);
+}
+
+/*
+=for apidoc gv_fetchmeth_pvn_autoload
+
+Same as gv_fetchmeth_pvn(), but looks for autoloaded subroutines too.
 Returns a glob for the subroutine.
 
 For an autoloaded subroutine without a GV, will create a GV even
@@ -547,15 +850,17 @@
 if C<level < 0>.  For an autoloaded subroutine without a stub, GvCV()
 of the result may be zero.
 
+Currently, the only significant value for C<flags> is SVf_UTF8.
+
 =cut
 */
 
 GV *
-Perl_gv_fetchmeth_autoload(pTHX_ HV *stash, const char *name, STRLEN len, I32 level)
+Perl_gv_fetchmeth_pvn_autoload(pTHX_ HV *stash, const char *name, STRLEN len, I32 level, U32 flags)
 {
-    GV *gv = gv_fetchmeth(stash, name, len, level);
+    GV *gv = gv_fetchmeth_pvn(stash, name, len, level, flags);
 
-    PERL_ARGS_ASSERT_GV_FETCHMETH_AUTOLOAD;
+    PERL_ARGS_ASSERT_GV_FETCHMETH_PVN_AUTOLOAD;
 
     if (!gv) {
 	CV *cv;
@@ -565,7 +870,7 @@
 	    return NULL;	/* UNIVERSAL::AUTOLOAD could cause trouble */
 	if (len == S_autolen && memEQ(name, S_autoload, S_autolen))
 	    return NULL;
-	if (!(gv = gv_fetchmeth(stash, S_autoload, S_autolen, FALSE)))
+	if (!(gv = gv_fetchmeth_pvn(stash, S_autoload, S_autolen, FALSE, flags)))
 	    return NULL;
 	cv = GvCV(gv);
 	if (!(CvROOT(cv) || CvXSUB(cv)))
@@ -572,8 +877,9 @@
 	    return NULL;
 	/* Have an autoload */
 	if (level < 0)	/* Cannot do without a stub */
-	    gv_fetchmeth(stash, name, len, 0);
-	gvp = (GV**)hv_fetch(stash, name, len, (level >= 0));
+	    gv_fetchmeth_pvn(stash, name, len, 0, flags);
+	gvp = (GV**)hv_fetch(stash, name,
+                        (flags & SVf_UTF8) ? -(I32)len : (I32)len, (level >= 0));
 	if (!gvp)
 	    return NULL;
 	return *gvp;
@@ -609,54 +915,40 @@
 =cut
 */
 
-STATIC HV*
-S_gv_get_super_pkg(pTHX_ const char* name, I32 namelen)
+GV *
+Perl_gv_fetchmethod_autoload(pTHX_ HV *stash, const char *name, I32 autoload)
 {
-    AV* superisa;
-    GV** gvp;
-    GV* gv;
-    HV* stash;
+    PERL_ARGS_ASSERT_GV_FETCHMETHOD_AUTOLOAD;
 
-    PERL_ARGS_ASSERT_GV_GET_SUPER_PKG;
+    return gv_fetchmethod_flags(stash, name, autoload ? GV_AUTOLOAD : 0);
+}
 
-    stash = gv_stashpvn(name, namelen, 0);
-    if(stash) return stash;
-
-    /* If we must create it, give it an @ISA array containing
-       the real package this SUPER is for, so that it's tied
-       into the cache invalidation code correctly */
-    stash = gv_stashpvn(name, namelen, GV_ADD);
-    gvp = (GV**)hv_fetchs(stash, "ISA", TRUE);
-    gv = *gvp;
-    gv_init(gv, stash, "ISA", 3, TRUE);
-    superisa = GvAVn(gv);
-    GvMULTI_on(gv);
-    sv_magic(MUTABLE_SV(superisa), MUTABLE_SV(gv), PERL_MAGIC_isa, NULL, 0);
-#ifdef USE_ITHREADS
-    av_push(superisa, newSVpv(CopSTASHPV(PL_curcop), 0));
-#else
-    av_push(superisa, newSVhek(CopSTASH(PL_curcop)
-			       ? HvNAME_HEK(CopSTASH(PL_curcop)) : NULL));
-#endif
-
-    return stash;
+GV *
+Perl_gv_fetchmethod_sv_flags(pTHX_ HV *stash, SV *namesv, U32 flags)
+{
+    char *namepv;
+    STRLEN namelen;
+    PERL_ARGS_ASSERT_GV_FETCHMETHOD_SV_FLAGS;
+    namepv = SvPV(namesv, namelen);
+    if (SvUTF8(namesv))
+       flags |= SVf_UTF8;
+    return gv_fetchmethod_pvn_flags(stash, namepv, namelen, flags);
 }
 
 GV *
-Perl_gv_fetchmethod_autoload(pTHX_ HV *stash, const char *name, I32 autoload)
+Perl_gv_fetchmethod_pv_flags(pTHX_ HV *stash, const char *name, U32 flags)
 {
-    PERL_ARGS_ASSERT_GV_FETCHMETHOD_AUTOLOAD;
-
-    return gv_fetchmethod_flags(stash, name, autoload ? GV_AUTOLOAD : 0);
+    PERL_ARGS_ASSERT_GV_FETCHMETHOD_PV_FLAGS;
+    return gv_fetchmethod_pvn_flags(stash, name, strlen(name), flags);
 }
 
 /* Don't merge this yet, as it's likely to get a len parameter, and possibly
    even a U32 hash */
 GV *
-Perl_gv_fetchmethod_flags(pTHX_ HV *stash, const char *name, U32 flags)
+Perl_gv_fetchmethod_pvn_flags(pTHX_ HV *stash, const char *name, const STRLEN len, U32 flags)
 {
     dVAR;
-    register const char *nend;
+    const char *nend;
     const char *nsplit = NULL;
     GV* gv;
     HV* ostash = stash;
@@ -664,8 +956,9 @@
     SV *const error_report = MUTABLE_SV(stash);
     const U32 autoload = flags & GV_AUTOLOAD;
     const U32 do_croak = flags & GV_CROAK;
+    const U32 is_utf8  = flags & SVf_UTF8;
 
-    PERL_ARGS_ASSERT_GV_FETCHMETHOD_FLAGS;
+    PERL_ARGS_ASSERT_GV_FETCHMETHOD_PVN_FLAGS;
 
     if (SvTYPE(stash) < SVt_PVHV)
 	stash = NULL;
@@ -675,7 +968,7 @@
 	   the error reporting code.  */
     }
 
-    for (nend = name; *nend; nend++) {
+    for (nend = name; *nend || nend != (origname + len); nend++) {
 	if (*nend == '\'') {
 	    nsplit = nend;
 	    name = nend + 1;
@@ -688,33 +981,32 @@
     if (nsplit) {
 	if ((nsplit - origname) == 5 && memEQ(origname, "SUPER", 5)) {
 	    /* ->SUPER::method should really be looked up in original stash */
-	    SV * const tmpstr = sv_2mortal(Perl_newSVpvf(aTHX_ "%s::SUPER",
-						  CopSTASHPV(PL_curcop)));
-	    /* __PACKAGE__::SUPER stash should be autovivified */
-	    stash = gv_get_super_pkg(SvPVX_const(tmpstr), SvCUR(tmpstr));
+	    stash = CopSTASH(PL_curcop);
+	    flags |= GV_SUPER;
 	    DEBUG_o( Perl_deb(aTHX_ "Treating %s as %s::%s\n",
-			 origname, HvNAME_get(stash), name) );
+			 origname, HvENAME_get(stash), name) );
 	}
+	else if ((nsplit - origname) >= 7 &&
+		 strnEQ(nsplit - 7, "::SUPER", 7)) {
+            /* don't autovifify if ->NoSuchStash::SUPER::method */
+	    stash = gv_stashpvn(origname, nsplit - origname - 7, is_utf8);
+	    if (stash) flags |= GV_SUPER;
+	}
 	else {
             /* don't autovifify if ->NoSuchStash::method */
-            stash = gv_stashpvn(origname, nsplit - origname, 0);
-
-	    /* however, explicit calls to Pkg::SUPER::method may
-	       happen, and may require autovivification to work */
-	    if (!stash && (nsplit - origname) >= 7 &&
-		strnEQ(nsplit - 7, "::SUPER", 7) &&
-		gv_stashpvn(origname, nsplit - origname - 7, 0))
-	      stash = gv_get_super_pkg(origname, nsplit - origname);
+            stash = gv_stashpvn(origname, nsplit - origname, is_utf8);
 	}
 	ostash = stash;
     }
 
-    gv = gv_fetchmeth(stash, name, nend - name, 0);
+    gv = gv_fetchmeth_pvn(stash, name, nend - name, 0, flags);
     if (!gv) {
 	if (strEQ(name,"import") || strEQ(name,"unimport"))
 	    gv = MUTABLE_GV(&PL_sv_yes);
 	else if (autoload)
-	    gv = gv_autoload4(ostash, name, nend - name, TRUE);
+	    gv = gv_autoload_pvn(
+		ostash, name, nend - name, GV_AUTOLOAD_ISMETHOD|flags
+	    );
 	if (!gv && do_croak) {
 	    /* Right now this is exclusively for the benefit of S_method_common
 	       in pp_hot.c  */
@@ -729,29 +1021,33 @@
 				       HV_FETCH_ISEXISTS, NULL, 0)
 		) {
 		    require_pv("IO/File.pm");
-		    gv = gv_fetchmeth(stash, name, nend - name, 0);
+		    gv = gv_fetchmeth_pvn(stash, name, nend - name, 0, flags);
 		    if (gv)
 			return gv;
 		}
 		Perl_croak(aTHX_
-			   "Can't locate object method \"%s\" via package \"%.*s\"",
-			   name, (int)HvNAMELEN_get(stash), HvNAME_get(stash));
+			   "Can't locate object method \"%"SVf
+			   "\" via package \"%"HEKf"\"",
+			            SVfARG(newSVpvn_flags(name, nend - name,
+                                           SVs_TEMP | is_utf8)),
+                                    HEKfARG(HvNAME_HEK(stash)));
 	    }
 	    else {
-		STRLEN packlen;
-		const char *packname;
+                SV* packnamesv;
 
 		if (nsplit) {
-		    packlen = nsplit - origname;
-		    packname = origname;
+		    packnamesv = newSVpvn_flags(origname, nsplit - origname,
+                                                    SVs_TEMP | is_utf8);
 		} else {
-		    packname = SvPV_const(error_report, packlen);
+		    packnamesv = sv_2mortal(newSVsv(error_report));
 		}
 
 		Perl_croak(aTHX_
-			   "Can't locate object method \"%s\" via package \"%.*s\""
-			   " (perhaps you forgot to load \"%.*s\"?)",
-			   name, (int)packlen, packname, (int)packlen, packname);
+			   "Can't locate object method \"%"SVf"\" via package \"%"SVf"\""
+			   " (perhaps you forgot to load \"%"SVf"\"?)",
+			   SVfARG(newSVpvn_flags(name, nend - name,
+                                SVs_TEMP | is_utf8)),
+                           SVfARG(packnamesv), SVfARG(packnamesv));
 	    }
 	}
     }
@@ -768,8 +1064,10 @@
 		if (GvCV(stubgv) != cv)		/* orphaned import */
 		    stubgv = gv;
 	    }
-	    autogv = gv_autoload4(GvSTASH(stubgv),
-				  GvNAME(stubgv), GvNAMELEN(stubgv), TRUE);
+            autogv = gv_autoload_pvn(GvSTASH(stubgv),
+                                  GvNAME(stubgv), GvNAMELEN(stubgv),
+                                  GV_AUTOLOAD_ISMETHOD
+                                   | (GvNAMEUTF8(stubgv) ? SVf_UTF8 : 0));
 	    if (autogv)
 		gv = autogv;
 	}
@@ -779,8 +1077,27 @@
 }
 
 GV*
-Perl_gv_autoload4(pTHX_ HV *stash, const char *name, STRLEN len, I32 method)
+Perl_gv_autoload_sv(pTHX_ HV *stash, SV* namesv, U32 flags)
 {
+   char *namepv;
+   STRLEN namelen;
+   PERL_ARGS_ASSERT_GV_AUTOLOAD_SV;
+   namepv = SvPV(namesv, namelen);
+   if (SvUTF8(namesv))
+       flags |= SVf_UTF8;
+   return gv_autoload_pvn(stash, namepv, namelen, flags);
+}
+
+GV*
+Perl_gv_autoload_pv(pTHX_ HV *stash, const char *namepv, U32 flags)
+{
+   PERL_ARGS_ASSERT_GV_AUTOLOAD_PV;
+   return gv_autoload_pvn(stash, namepv, strlen(namepv), flags);
+}
+
+GV*
+Perl_gv_autoload_pvn(pTHX_ HV *stash, const char *name, STRLEN len, U32 flags)
+{
     dVAR;
     GV* gv;
     CV* cv;
@@ -787,24 +1104,26 @@
     HV* varstash;
     GV* vargv;
     SV* varsv;
-    const char *packname = "";
-    STRLEN packname_len = 0;
+    SV *packname = NULL;
+    U32 is_utf8 = flags & SVf_UTF8 ? SVf_UTF8 : 0;
 
-    PERL_ARGS_ASSERT_GV_AUTOLOAD4;
+    PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN;
 
     if (len == S_autolen && memEQ(name, S_autoload, S_autolen))
 	return NULL;
     if (stash) {
 	if (SvTYPE(stash) < SVt_PVHV) {
-	    packname = SvPV_const(MUTABLE_SV(stash), packname_len);
+            STRLEN packname_len = 0;
+            const char * const packname_ptr = SvPV_const(MUTABLE_SV(stash), packname_len);
+            packname = newSVpvn_flags(packname_ptr, packname_len,
+                                      SVs_TEMP | SvUTF8(stash));
 	    stash = NULL;
 	}
-	else {
-	    packname = HvNAME_get(stash);
-	    packname_len = HvNAMELEN_get(stash);
-	}
+	else
+	    packname = sv_2mortal(newSVhek(HvNAME_HEK(stash)));
+	if (flags & GV_SUPER) sv_catpvs(packname, "::SUPER");
     }
-    if (!(gv = gv_fetchmeth(stash, S_autoload, S_autolen, FALSE)))
+    if (!(gv = gv_fetchmeth_pvn(stash, S_autoload, S_autolen, FALSE, is_utf8)))
 	return NULL;
     cv = GvCV(gv);
 
@@ -814,22 +1133,66 @@
     /*
      * Inheriting AUTOLOAD for non-methods works ... for now.
      */
-    if (!method && (GvCVGEN(gv) || GvSTASH(gv) != stash)
+    if (
+        !(flags & GV_AUTOLOAD_ISMETHOD)
+     && (GvCVGEN(gv) || GvSTASH(gv) != stash)
     )
 	Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),
-			 "Use of inherited AUTOLOAD for non-method %s::%.*s() is deprecated",
-			 packname, (int)len, name);
+			 "Use of inherited AUTOLOAD for non-method %"SVf"::%"SVf"() is deprecated",
+			 SVfARG(packname),
+                         SVfARG(newSVpvn_flags(name, len, SVs_TEMP | is_utf8)));
 
     if (CvISXSUB(cv)) {
-        /* rather than lookup/init $AUTOLOAD here
-         * only to have the XSUB do another lookup for $AUTOLOAD
-         * and split that value on the last '::',
-         * pass along the same data via some unused fields in the CV
+        /* Instead of forcing the XSUB do another lookup for $AUTOLOAD
+         * and split that value on the last '::', pass along the same data
+         * via the SvPVX field in the CV, and the stash in CvSTASH.
+         *
+         * Due to an unfortunate accident of history, the SvPVX field
+         * serves two purposes.  It is also used for the subroutine's pro-
+         * type.  Since SvPVX has been documented as returning the sub name
+         * for a long time, but not as returning the prototype, we have
+         * to preserve the SvPVX AUTOLOAD behaviour and put the prototype
+         * elsewhere.
+         *
+         * We put the prototype in the same allocated buffer, but after
+         * the sub name.  The SvPOK flag indicates the presence of a proto-
+         * type.  The CvAUTOLOAD flag indicates the presence of a sub name.
+         * If both flags are on, then SvLEN is used to indicate the end of
+         * the prototype (artificially lower than what is actually allo-
+         * cated), at the risk of having to reallocate a few bytes unneces-
+         * sarily--but that should happen very rarely, if ever.
+         *
+         * We use SvUTF8 for both prototypes and sub names, so if one is
+         * UTF8, the other must be upgraded.
          */
 	CvSTASH_set(cv, stash);
-        SvPV_set(cv, (char *)name); /* cast to lose constness warning */
-        SvCUR_set(cv, len);
-        return gv;
+	if (SvPOK(cv)) { /* Ouch! */
+	    SV * const tmpsv = newSVpvn_flags(name, len, is_utf8);
+	    STRLEN ulen;
+	    const char *proto = CvPROTO(cv);
+	    assert(proto);
+	    if (SvUTF8(cv))
+		sv_utf8_upgrade_flags_grow(tmpsv, 0, CvPROTOLEN(cv) + 2);
+	    ulen = SvCUR(tmpsv);
+	    SvCUR(tmpsv)++; /* include null in string */
+	    sv_catpvn_flags(
+		tmpsv, proto, CvPROTOLEN(cv), SV_CATBYTES*!SvUTF8(cv)
+	    );
+	    SvTEMP_on(tmpsv); /* Allow theft */
+	    sv_setsv_nomg((SV *)cv, tmpsv);
+	    SvTEMP_off(tmpsv);
+	    SvREFCNT_dec_NN(tmpsv);
+	    SvLEN(cv) = SvCUR(cv) + 1;
+	    SvCUR(cv) = ulen;
+	}
+	else {
+	  sv_setpvn((SV *)cv, name, len);
+	  SvPOK_off(cv);
+	  if (is_utf8)
+            SvUTF8_on(cv);
+	  else SvUTF8_off(cv);
+	}
+	CvAUTOLOAD_on(cv);
     }
 
     /*
@@ -843,7 +1206,7 @@
     ENTER;
 
     if (!isGV(vargv)) {
-	gv_init(vargv, varstash, S_autoload, S_autolen, FALSE);
+	gv_init_pvn(vargv, varstash, S_autoload, S_autolen, 0);
 #ifdef PERL_DONT_CREATE_GVSV
 	GvSV(vargv) = newSV(0);
 #endif
@@ -850,11 +1213,18 @@
     }
     LEAVE;
     varsv = GvSVn(vargv);
-    sv_setpvn(varsv, packname, packname_len);
+    SvTAINTED_off(varsv); /* previous $AUTOLOAD taint is obsolete */
+    /* XXX: this process is not careful to avoid extra magic gets and sets; tied $AUTOLOAD will get noise */
+    sv_setsv(varsv, packname);
     sv_catpvs(varsv, "::");
     /* Ensure SvSETMAGIC() is called if necessary. In particular, to clear
        tainting if $FOO::AUTOLOAD was previously tainted, but is not now.  */
-    sv_catpvn_mg(varsv, name, len);
+    sv_catpvn_flags(
+	varsv, name, len,
+	SV_SMAGIC|(is_utf8 ? SV_CATUTF8 : SV_CATBYTES)
+    );
+    if (is_utf8)
+        SvUTF8_on(varsv);
     return gv;
 }
 
@@ -879,29 +1249,30 @@
 
     PERL_ARGS_ASSERT_REQUIRE_TIE_MOD;
 
-    if (!stash || !(gv_fetchmethod(stash, methpv))) {
+    if (!stash || !(gv_fetchmethod_autoload(stash, methpv, FALSE))) {
 	SV *module = newSVsv(namesv);
 	char varname = *varpv; /* varpv might be clobbered by load_module,
 				  so save it. For the moment it's always
 				  a single char. */
+	const char type = varname == '[' ? '$' : '%';
 	dSP;
 	ENTER;
+	SAVEFREESV(namesv);
 	if ( flags & 1 )
 	    save_scalar(gv);
 	PUSHSTACKi(PERLSI_MAGIC);
 	Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT, module, NULL);
 	POPSTACK;
-	LEAVE;
-	SPAGAIN;
 	stash = gv_stashsv(namesv, 0);
 	if (!stash)
-	    Perl_croak(aTHX_ "panic: Can't use %%%c because %"SVf" is not available",
-		    varname, SVfARG(namesv));
+	    Perl_croak(aTHX_ "panic: Can't use %c%c because %"SVf" is not available",
+		    type, varname, SVfARG(namesv));
 	else if (!gv_fetchmethod(stash, methpv))
-	    Perl_croak(aTHX_ "panic: Can't use %%%c because %"SVf" does not support method %s",
-		    varname, SVfARG(namesv), methpv);
+	    Perl_croak(aTHX_ "panic: Can't use %c%c because %"SVf" does not support method %s",
+		    type, varname, SVfARG(namesv), methpv);
+	LEAVE;
     }
-    SvREFCNT_dec(namesv);
+    else SvREFCNT_dec_NN(namesv);
     return stash;
 }
 
@@ -931,7 +1302,17 @@
 C<flags> is 0 (or any other setting that does not create packages) then NULL
 is returned.
 
+Flags may be one of:
 
+    GV_ADD
+    SVf_UTF8
+    GV_NOADD_NOINIT
+    GV_NOINIT
+    GV_NOEXPAND
+    GV_ADDMG
+
+The most important of which are probably GV_ADD and SVf_UTF8.
+
 =cut
 */
 
@@ -960,8 +1341,9 @@
 	return NULL;
     stash = GvHV(tmpgv);
     if (!(flags & ~GV_NOADD_MASK) && !stash) return NULL;
+    assert(stash);
     if (!HvNAME_get(stash)) {
-	hv_name_set(stash, name, namelen, 0);
+	hv_name_set(stash, name, namelen, flags & SVf_UTF8 ? SVf_UTF8 : 0 );
 	
 	/* FIXME: This is a repeat of logic in gv_fetchpvn_flags */
 	/* If the containing stash has multiple effective
@@ -969,7 +1351,6 @@
 	if (HvAUX(GvSTASH(tmpgv))->xhv_name_count)
 	    mro_package_moved(stash, NULL, tmpgv, 1);
     }
-    assert(stash);
     return stash;
 }
 
@@ -989,7 +1370,7 @@
 
     PERL_ARGS_ASSERT_GV_STASHSV;
 
-    return gv_stashpvn(ptr, len, flags);
+    return gv_stashpvn(ptr, len, flags | SvUTF8(sv));
 }
 
 
@@ -1002,7 +1383,8 @@
 GV *
 Perl_gv_fetchsv(pTHX_ SV *name, I32 flags, const svtype sv_type) {
     STRLEN len;
-    const char * const nambeg = SvPV_const(name, len);
+    const char * const nambeg =
+       SvPV_flags_const(name, len, flags & GV_NO_SVGMAGIC ? 0 : SV_GMAGIC);
     PERL_ARGS_ASSERT_GV_FETCHSV;
     return gv_fetchpvn_flags(nambeg, len, flags | SvUTF8(name), sv_type);
 }
@@ -1020,32 +1402,22 @@
 	     NULL, 0);
 }
 
-STATIC void
-S_gv_magicalize_overload(pTHX_ GV *gv)
-{
-    HV* hv;
-
-    PERL_ARGS_ASSERT_GV_MAGICALIZE_OVERLOAD;
-
-    hv = GvHVn(gv);
-    GvMULTI_on(gv);
-    hv_magic(hv, NULL, PERL_MAGIC_overload);
-}
-
 GV *
 Perl_gv_fetchpvn_flags(pTHX_ const char *nambeg, STRLEN full_len, I32 flags,
 		       const svtype sv_type)
 {
     dVAR;
-    register const char *name = nambeg;
-    register GV *gv = NULL;
+    const char *name = nambeg;
+    GV *gv = NULL;
     GV**gvp;
     I32 len;
-    register const char *name_cursor;
+    const char *name_cursor;
     HV *stash = NULL;
     const I32 no_init = flags & (GV_NOADD_NOINIT | GV_NOINIT);
     const I32 no_expand = flags & GV_NOEXPAND;
     const I32 add = flags & ~GV_NOADD_MASK;
+    const U32 is_utf8 = flags & SVf_UTF8;
+    bool addmg = !!(flags & GV_ADDMG);
     const char *const name_end = nambeg + full_len;
     const char *const name_em1 = name_end - 1;
     U32 faking_it;
@@ -1058,15 +1430,16 @@
 	goto no_stash;
     }
 
-    if (full_len > 2 && *name == '*' && isALPHA(name[1])) {
+    if (full_len > 2 && *name == '*' && isIDFIRST_lazy_if(name + 1, is_utf8)) {
 	/* accidental stringify on a GV? */
 	name++;
     }
 
     for (name_cursor = name; name_cursor < name_end; name_cursor++) {
-	if ((*name_cursor == ':' && name_cursor < name_em1
+	if (name_cursor < name_em1 &&
+	    ((*name_cursor == ':'
 	     && name_cursor[1] == ':')
-	    || (*name_cursor == '\'' && name_cursor[1]))
+	    || *name_cursor == '\''))
 	{
 	    if (!stash)
 		stash = PL_defstash;
@@ -1087,11 +1460,11 @@
 		    tmpbuf[len++] = ':';
 		    key = tmpbuf;
 		}
-		gvp = (GV**)hv_fetch(stash, key, len, add);
+		gvp = (GV**)hv_fetch(stash, key, is_utf8 ? -len : len, add);
 		gv = gvp ? *gvp : NULL;
 		if (gv && gv != (const GV *)&PL_sv_undef) {
 		    if (SvTYPE(gv) != SVt_PVGV)
-			gv_init(gv, stash, key, len, (add & GV_ADDMULTI));
+			gv_init_pvn(gv, stash, key, len, (add & GV_ADDMULTI)|is_utf8);
 		    else
 			GvMULTI_on(gv);
 		}
@@ -1104,7 +1477,13 @@
 		{
 		    stash = GvHV(gv) = newHV();
 		    if (!HvNAME_get(stash)) {
-			hv_name_set(stash, nambeg, name_cursor-nambeg, 0);
+			if (GvSTASH(gv) == PL_defstash && len == 6
+			 && strnEQ(name, "CORE", 4))
+			    hv_name_set(stash, "CORE", 4, 0);
+			else
+			    hv_name_set(
+				stash, nambeg, name_cursor-nambeg, is_utf8
+			    );
 			/* If the containing stash has multiple effective
 			   names, see that this one gets them, too. */
 			if (HvAUX(GvSTASH(gv))->xhv_name_count)
@@ -1112,7 +1491,7 @@
 		    }
 		}
 		else if (!HvNAME_get(stash))
-		    hv_name_set(stash, nambeg, name_cursor - nambeg, 0);
+		    hv_name_set(stash, nambeg, name_cursor - nambeg, is_utf8);
 	    }
 
 	    if (*name_cursor == ':')
@@ -1129,7 +1508,7 @@
 
     if (!stash) {
     no_stash:
-	if (len && isIDFIRST_lazy(name)) {
+	if (len && isIDFIRST_lazy_if(name, is_utf8)) {
 	    bool global = FALSE;
 
 	    switch (len) {
@@ -1179,7 +1558,7 @@
 		    !(len == 1 && sv_type == SVt_PV &&
 		      (*name == 'a' || *name == 'b')) )
 		{
-		    gvp = (GV**)hv_fetch(stash,name,len,0);
+		    gvp = (GV**)hv_fetch(stash,name,is_utf8 ? -len : len,0);
 		    if (!gvp ||
 			*gvp == (const GV *)&PL_sv_undef ||
 			SvTYPE(*gvp) != SVt_PVGV)
@@ -1190,17 +1569,18 @@
 			     (sv_type == SVt_PVAV && !GvIMPORTED_AV(*gvp)) ||
 			     (sv_type == SVt_PVHV && !GvIMPORTED_HV(*gvp)) )
 		    {
+                        SV* namesv = newSVpvn_flags(name, len, SVs_TEMP | is_utf8);
 			/* diag_listed_as: Variable "%s" is not imported%s */
 			Perl_ck_warner_d(
 			    aTHX_ packWARN(WARN_MISC),
-			    "Variable \"%c%s\" is not imported",
+			    "Variable \"%c%"SVf"\" is not imported",
 			    sv_type == SVt_PVAV ? '@' :
 			    sv_type == SVt_PVHV ? '%' : '$',
-			    name);
+			    SVfARG(namesv));
 			if (GvCVu(*gvp))
 			    Perl_ck_warner_d(
 				aTHX_ packWARN(WARN_MISC),
-				"\t(Did you mean &%s instead?)\n", name
+				"\t(Did you mean &%"SVf" instead?)\n", SVfARG(namesv)
 			    );
 			stash = NULL;
 		    }
@@ -1216,15 +1596,17 @@
     /* By this point we should have a stash and a name */
 
     if (!stash) {
-	if (add) {
+	if (add && !PL_in_clean_all) {
+	    SV * const namesv = newSVpvn_flags(name, len, is_utf8);
 	    SV * const err = Perl_mess(aTHX_
-		 "Global symbol \"%s%s\" requires explicit package name",
+		 "Global symbol \"%s%"SVf"\" requires explicit package name",
 		 (sv_type == SVt_PV ? "$"
 		  : sv_type == SVt_PVAV ? "@"
 		  : sv_type == SVt_PVHV ? "%"
-		  : ""), name);
+		  : ""), SVfARG(namesv));
 	    GV *gv;
-	    if (USE_UTF8_IN_NAMES)
+	    SvREFCNT_dec_NN(namesv);
+	    if (is_utf8)
 		SvUTF8_on(err);
 	    qerror(err);
 	    gv = gv_fetchpvs("<none>::", GV_ADDMULTI, SVt_PVHV);
@@ -1241,20 +1623,58 @@
     if (!SvREFCNT(stash))	/* symbol table under destruction */
 	return NULL;
 
-    gvp = (GV**)hv_fetch(stash,name,len,add);
-    if (!gvp || *gvp == (const GV *)&PL_sv_undef)
-	return NULL;
-    gv = *gvp;
+    gvp = (GV**)hv_fetch(stash,name,is_utf8 ? -len : len,add);
+    if (!gvp || *gvp == (const GV *)&PL_sv_undef) {
+	if (addmg) gv = (GV *)newSV(0);
+	else return NULL;
+    }
+    else gv = *gvp, addmg = 0;
+    /* From this point on, addmg means gv has not been inserted in the
+       symtab yet. */
+
     if (SvTYPE(gv) == SVt_PVGV) {
 	if (add) {
 	    GvMULTI_on(gv);
-	    gv_init_sv(gv, sv_type);
-	    if (len == 1 && stash == PL_defstash
-		&& (sv_type == SVt_PVHV || sv_type == SVt_PVGV)) {
+	    gv_init_svtype(gv, sv_type);
+            /* You reach this path once the typeglob has already been created,
+               either by the same or a different sigil.  If this path didn't
+               exist, then (say) referencing $! first, and %! second would
+               mean that %! was not handled correctly.  */
+	    if (len == 1 && stash == PL_defstash) {
+	      if (sv_type == SVt_PVHV || sv_type == SVt_PVGV) {
 	        if (*name == '!')
 		    require_tie_mod(gv, "!", newSVpvs("Errno"), "TIEHASH", 1);
 		else if (*name == '-' || *name == '+')
 		    require_tie_mod(gv, name, newSVpvs("Tie::Hash::NamedCapture"), "TIEHASH", 0);
+              } else if (sv_type == SVt_PV) {
+                  if (*name == '*' || *name == '#') {
+                      /* diag_listed_as: $* is no longer supported */
+                      Perl_ck_warner_d(aTHX_ packWARN2(WARN_DEPRECATED,
+                                                       WARN_SYNTAX),
+                                       "$%c is no longer supported", *name);
+                  }
+              }
+	      if (sv_type==SVt_PV || sv_type==SVt_PVGV) {
+                switch (*name) {
+	        case '[':
+		    require_tie_mod(gv,name,newSVpvs("arybase"),"FETCH",0);
+                    break;
+#ifdef PERL_SAWAMPERSAND
+	        case '`':
+		    PL_sawampersand |= SAWAMPERSAND_LEFT;
+                    (void)GvSVn(gv);
+                    break;
+	        case '&':
+		    PL_sawampersand |= SAWAMPERSAND_MIDDLE;
+                    (void)GvSVn(gv);
+                    break;
+	        case '\'':
+		    PL_sawampersand |= SAWAMPERSAND_RIGHT;
+                    (void)GvSVn(gv);
+                    break;
+#endif
+                }
+	      }
 	    }
 	    else if (len == 3 && sv_type == SVt_PVAV
 	          && strnEQ(name, "ISA", 3)
@@ -1263,8 +1683,10 @@
 	}
 	return gv;
     } else if (no_init) {
+	assert(!addmg);
 	return gv;
     } else if (no_expand && SvROK(gv)) {
+	assert(!addmg);
 	return gv;
     }
 
@@ -1278,19 +1700,20 @@
     faking_it = SvOK(gv);
 
     if (add & GV_ADDWARN)
-	Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL), "Had to create %s unexpectedly", nambeg);
-    gv_init(gv, stash, name, len, add & GV_ADDMULTI);
-    gv_init_sv(gv, faking_it ? SVt_PVCV : sv_type);
+	Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL), "Had to create %"SVf" unexpectedly",
+                SVfARG(newSVpvn_flags(nambeg, name_end-nambeg, SVs_TEMP | is_utf8 )));
+    gv_init_pvn(gv, stash, name, len, (add & GV_ADDMULTI)|is_utf8);
 
-    if (isALPHA(name[0]) && ! (isLEXWARN_on ? ckWARN(WARN_ONCE)
-			                    : (PL_dowarn & G_WARN_ON ) ) )
+    if ( isIDFIRST_lazy_if(name, is_utf8)
+                && ! (isLEXWARN_on ? ckWARN(WARN_ONCE) : (PL_dowarn & G_WARN_ON ) ) )
         GvMULTI_on(gv) ;
 
     /* set up magic where warranted */
     if (stash != PL_defstash) { /* not the main stash */
-	/* We only have to check for four names here: EXPORT, ISA, OVERLOAD
-	   and VERSION. All the others apply only to the main stash. */
-	if (len > 1) {
+	/* We only have to check for three names here: EXPORT, ISA
+	   and VERSION. All the others apply only to the main stash or to
+	   CORE (which is checked right after this). */
+	if (len > 2) {
 	    const char * const name2 = name + 1;
 	    switch (*name) {
 	    case 'E':
@@ -1301,16 +1724,22 @@
 		if (strEQ(name2, "SA"))
 		    gv_magicalize_isa(gv);
 		break;
-	    case 'O':
-		if (strEQ(name2, "VERLOAD"))
-		    gv_magicalize_overload(gv);
-		break;
 	    case 'V':
 		if (strEQ(name2, "ERSION"))
 		    GvMULTI_on(gv);
 		break;
+	    default:
+		goto try_core;
 	    }
+	    goto add_magical_gv;
 	}
+      try_core:
+	if (len > 1 /* shortest is uc */ && HvNAMELEN_get(stash) == 4) {
+	  /* Avoid null warning: */
+	  const char * const stashname = HvNAME(stash); assert(stashname);
+	  if (strnEQ(stashname, "CORE", 4))
+	    S_maybe_add_coresub(aTHX_ 0, gv, name, len);
+	}
     }
     else if (len > 1) {
 #ifndef EBCDIC
@@ -1342,11 +1771,6 @@
 		    gv_magicalize_isa(gv);
 		}
 		break;
-	    case 'O':
-		if (strEQ(name2, "VERLOAD")) {
-		    gv_magicalize_overload(gv);
-		}
-		break;
 	    case 'S':
 		if (strEQ(name2, "IG")) {
 		    HV *hv;
@@ -1394,6 +1818,10 @@
 		if (strEQ(name2, "LOBAL_PHASE"))
 		    goto ro_magicalize;
 		break;
+	    case '\014':	/* $^LAST_FH */
+		if (strEQ(name2, "AST_FH"))
+		    goto ro_magicalize;
+		break;
             case '\015':        /* $^MATCH */
                 if (strEQ(name2, "ATCH"))
 		    goto magicalize;
@@ -1436,7 +1864,7 @@
 		/* This snippet is taken from is_gv_magical */
 		const char *end = name + len;
 		while (--end > name) {
-		    if (!isDIGIT(*end))	return gv;
+		    if (!isDIGIT(*end))	goto add_magical_gv;
 		}
 		goto magicalize;
 	    }
@@ -1449,14 +1877,21 @@
 	case '&':		/* $& */
 	case '`':		/* $` */
 	case '\'':		/* $' */
-	    if (
+#ifdef PERL_SAWAMPERSAND
+	    if (!(
 		sv_type == SVt_PVAV ||
 		sv_type == SVt_PVHV ||
 		sv_type == SVt_PVCV ||
 		sv_type == SVt_PVFM ||
 		sv_type == SVt_PVIO
-		) { break; }
-	    PL_sawampersand = TRUE;
+		)) { PL_sawampersand |=
+                        (*name == '`')
+                            ? SAWAMPERSAND_LEFT
+                            : (*name == '&')
+                                ? SAWAMPERSAND_MIDDLE
+                                : SAWAMPERSAND_RIGHT;
+                }
+#endif
 	    goto magicalize;
 
 	case ':':		/* $: */
@@ -1477,7 +1912,11 @@
 
             /* magicalization must be done before require_tie_mod is called */
 	    if (sv_type == SVt_PVHV || sv_type == SVt_PVGV)
+	    {
+		if (addmg) (void)hv_store(stash,name,len,(SV *)gv,0);
+		addmg = 0;
 		require_tie_mod(gv, "!", newSVpvs("Errno"), "TIEHASH", 1);
+	    }
 
 	    break;
 	case '-':		/* $- */
@@ -1494,7 +1933,11 @@
             SvREADONLY_on(av);
 
             if (sv_type == SVt_PVHV || sv_type == SVt_PVGV)
+	    {
+		if (addmg) (void)hv_store(stash,name,len,(SV *)gv,0);
+		addmg = 0;
                 require_tie_mod(gv, name, newSVpvs("Tie::Hash::NamedCapture"), "TIEHASH", 0);
+	    }
 
             break;
 	}
@@ -1501,13 +1944,10 @@
 	case '*':		/* $* */
 	case '#':		/* $# */
 	    if (sv_type == SVt_PV)
+		/* diag_listed_as: $* is no longer supported */
 		Perl_ck_warner_d(aTHX_ packWARN2(WARN_DEPRECATED, WARN_SYNTAX),
 				 "$%c is no longer supported", *name);
 	    break;
-	case '|':		/* $| */
-	    sv_setiv(GvSVn(gv), (IV)(IoFLAGS(GvIOp(PL_defoutgv)) & IOf_FLUSH) != 0);
-	    goto magicalize;
-
 	case '\010':	/* $^H */
 	    {
 		HV *const hv = GvHVn(gv);
@@ -1514,6 +1954,15 @@
 		hv_magic(hv, NULL, PERL_MAGIC_hints);
 	    }
 	    goto magicalize;
+	case '[':		/* $[ */
+	    if ((sv_type == SVt_PV || sv_type == SVt_PVGV)
+	     && FEATURE_ARYBASE_IS_ENABLED) {
+		if (addmg) (void)hv_store(stash,name,len,(SV *)gv,0);
+		require_tie_mod(gv,name,newSVpvs("arybase"),"FETCH",0);
+		addmg = 0;
+	    }
+	    else goto magicalize;
+            break;
 	case '\023':	/* $^S */
 	ro_magicalize:
 	    SvREADONLY_on(GvSVn(gv));
@@ -1528,7 +1977,6 @@
 	case '7':		/* $7 */
 	case '8':		/* $8 */
 	case '9':		/* $9 */
-	case '[':		/* $[ */
 	case '^':		/* $^ */
 	case '~':		/* $~ */
 	case '=':		/* $= */
@@ -1540,6 +1988,8 @@
 	case '>':		/* $> */
 	case '\\':		/* $\ */
 	case '/':		/* $/ */
+	case '|':		/* $| */
+	case '$':		/* $$ */
 	case '\001':	/* $^A */
 	case '\003':	/* $^C */
 	case '\004':	/* $^D */
@@ -1557,7 +2007,6 @@
 
 	case '\014':	/* $^L */
 	    sv_setpvs(GvSVn(gv),"\f");
-	    PL_formfeed = GvSVn(gv);
 	    break;
 	case ';':		/* $; */
 	    sv_setpvs(GvSVn(gv),"\034");
@@ -1564,7 +2013,7 @@
 	    break;
 	case ']':		/* $] */
 	{
-	    SV * const sv = GvSVn(gv);
+	    SV * const sv = GvSV(gv);
 	    if (!sv_derived_from(PL_patchlevel, "version"))
 		upg_version(PL_patchlevel, TRUE);
 	    GvSV(gv) = vnumify(PL_patchlevel);
@@ -1574,7 +2023,7 @@
 	break;
 	case '\026':	/* $^V */
 	{
-	    SV * const sv = GvSVn(gv);
+	    SV * const sv = GvSV(gv);
 	    GvSV(gv) = new_version(PL_patchlevel);
 	    SvREADONLY_on(GvSV(gv));
 	    SvREFCNT_dec(sv);
@@ -1582,6 +2031,15 @@
 	break;
 	}
     }
+  add_magical_gv:
+    if (addmg) {
+	if (GvAV(gv) || GvHV(gv) || GvIO(gv) || GvCV(gv) || (
+	     GvSV(gv) && (SvOK(GvSV(gv)) || SvMAGICAL(GvSV(gv)))
+	   ))
+	    (void)hv_store(stash,name,len,(SV *)gv,0);
+	else SvREFCNT_dec_NN(gv), gv = NULL;
+    }
+    if (gv) gv_init_svtype(gv, faking_it ? SVt_PVCV : sv_type);
     return gv;
 }
 
@@ -1589,30 +2047,21 @@
 Perl_gv_fullname4(pTHX_ SV *sv, const GV *gv, const char *prefix, bool keepmain)
 {
     const char *name;
-    STRLEN namelen;
     const HV * const hv = GvSTASH(gv);
 
     PERL_ARGS_ASSERT_GV_FULLNAME4;
 
-    if (!hv) {
-	SvOK_off(sv);
-	return;
-    }
     sv_setpv(sv, prefix ? prefix : "");
 
-    name = HvNAME_get(hv);
-    if (name) {
-	namelen = HvNAMELEN_get(hv);
-    } else {
-	name = "__ANON__";
-	namelen = 8;
-    }
-
-    if (keepmain || strNE(name, "main")) {
-	sv_catpvn(sv,name,namelen);
+    if (hv && (name = HvNAME(hv))) {
+      const STRLEN len = HvNAMELEN(hv);
+      if (keepmain || strnNE(name, "main", len)) {
+	sv_catpvn_flags(sv,name,len,HvNAMEUTF8(hv)?SV_CATUTF8:SV_CATBYTES);
 	sv_catpvs(sv,"::");
+      }
     }
-    sv_catpvn(sv,GvNAME(gv),GvNAMELEN(gv));
+    else sv_catpvs(sv,"__ANON__::");
+    sv_catsv(sv,sv_2mortal(newSVhek(GvNAME_HEK(gv))));
 }
 
 void
@@ -1629,7 +2078,7 @@
 Perl_gv_check(pTHX_ const HV *stash)
 {
     dVAR;
-    register I32 i;
+    I32 i;
 
     PERL_ARGS_ASSERT_GV_CHECK;
 
@@ -1638,7 +2087,7 @@
     for (i = 0; i <= (I32) HvMAX(stash); i++) {
         const HE *entry;
 	for (entry = HvARRAY(stash)[i]; entry; entry = HeNEXT(entry)) {
-            register GV *gv;
+            GV *gv;
             HV *hv;
 	    if (HeKEY(entry)[HeKLEN(entry)-1] == ':' &&
 		(gv = MUTABLE_GV(HeVAL(entry))) && isGV(gv) && (hv = GvHV(gv)))
@@ -1646,7 +2095,8 @@
 		if (hv != PL_defstash && hv != stash)
 		     gv_check(hv);              /* nested package */
 	    }
-	    else if (isALPHA(*HeKEY(entry))) {
+            else if ( *HeKEY(entry) != '_'
+                        && isIDFIRST_lazy_if(HeKEY(entry), HeUTF8(entry)) ) {
                 const char *file;
 		gv = MUTABLE_GV(HeVAL(entry));
 		if (SvTYPE(gv) != SVt_PVGV || GvMULTI(gv))
@@ -1660,8 +2110,10 @@
 		    = gv_fetchfile_flags(file, HEK_LEN(GvFILE_HEK(gv)), 0);
 #endif
 		Perl_warner(aTHX_ packWARN(WARN_ONCE),
-			"Name \"%s::%s\" used only once: possible typo",
-			HvNAME_get(stash), GvNAME(gv));
+			"Name \"%"HEKf"::%"HEKf
+			"\" used only once: possible typo",
+                            HEKfARG(HvNAME_HEK(stash)),
+                            HEKfARG(GvNAME_HEK(gv)));
 	    }
 	}
     }
@@ -1668,14 +2120,16 @@
 }
 
 GV *
-Perl_newGVgen(pTHX_ const char *pack)
+Perl_newGVgen_flags(pTHX_ const char *pack, U32 flags)
 {
     dVAR;
+    PERL_ARGS_ASSERT_NEWGVGEN_FLAGS;
 
-    PERL_ARGS_ASSERT_NEWGVGEN;
-
-    return gv_fetchpv(Perl_form(aTHX_ "%s::_GEN_%ld", pack, (long)PL_gensym++),
-		      GV_ADD, SVt_PVGV);
+    return gv_fetchpv(Perl_form(aTHX_ "%"SVf"::_GEN_%ld",
+                                    SVfARG(newSVpvn_flags(pack, strlen(pack),
+                                            SVs_TEMP | flags)),
+                                (long)PL_gensym++),
+                      GV_ADD, SVt_PVGV);
 }
 
 /* hopefully this is only called on local symbol table entries */
@@ -1692,7 +2146,7 @@
 	    /* If the GP they asked for a reference to contains
                a method cache entry, clear it first, so that we
                don't infect them with our cached entry */
-	    SvREFCNT_dec(gp->gp_cv);
+	    SvREFCNT_dec_NN(gp->gp_cv);
 	    gp->gp_cv = NULL;
 	    gp->gp_cvgen = 0;
 	}
@@ -1749,10 +2203,12 @@
       /* FIXME - another reference loop GV -> symtab -> GV ?
          Somehow gp->gp_hv can end up pointing at freed garbage.  */
       if (hv && SvTYPE(hv) == SVt_PVHV) {
-	const char *hvname = HvNAME_get(hv);
-	if (PL_stashcache && hvname)
-	    (void)hv_delete(PL_stashcache, hvname, HvNAMELEN_get(hv),
-		      G_DISCARD);
+        const HEK *hvname_hek = HvNAME_HEK(hv);
+        DEBUG_o(Perl_deb(aTHX_ "gp_free clearing PL_stashcache for '%"HEKf"'\n", hvname_hek));
+        if (PL_stashcache && hvname_hek)
+           (void)hv_delete(PL_stashcache, HEK_KEY(hvname_hek),
+                      (HEK_UTF8(hvname_hek) ? -HEK_LEN(hvname_hek) : HEK_LEN(hvname_hek)),
+                      G_DISCARD);
 	SvREFCNT_dec(hv);
       }
       SvREFCNT_dec(io);
@@ -1792,7 +2248,7 @@
 	for (i = 1; i < NofAMmeth; i++) {
 	    CV * const cv = amtp->table[i];
 	    if (cv) {
-		SvREFCNT_dec(MUTABLE_SV(cv));
+		SvREFCNT_dec_NN(MUTABLE_SV(cv));
 		amtp->table[i] = NULL;
 	    }
 	}
@@ -1821,9 +2277,8 @@
   newgen = PL_sub_generation + stash_meta->pkg_gen + stash_meta->cache_gen;
   if (mg) {
       const AMT * const amtp = (AMT*)mg->mg_ptr;
-      if (amtp->was_ok_am == PL_amagic_generation
-	  && amtp->was_ok_sub == newgen) {
-	  return AMT_OVERLOADED(amtp) ? 1 : 0;
+      if (amtp->was_ok_sub == newgen) {
+	  return AMT_AMAGIC(amtp) ? 1 : 0;
       }
       sv_unmagic(MUTABLE_SV(stash), PERL_MAGIC_overload_table);
   }
@@ -1831,24 +2286,26 @@
   DEBUG_o( Perl_deb(aTHX_ "Recalcing overload magic in package %s\n",HvNAME_get(stash)) );
 
   Zero(&amt,1,AMT);
-  amt.was_ok_am = PL_amagic_generation;
   amt.was_ok_sub = newgen;
   amt.fallback = AMGfallNO;
   amt.flags = 0;
 
   {
-    int filled = 0, have_ovl = 0;
-    int i, lim = 1;
+    int filled = 0;
+    int i;
 
     /* Work with "fallback" key, which we assume to be first in PL_AMG_names */
 
     /* Try to find via inheritance. */
-    GV *gv = gv_fetchmeth(stash, PL_AMG_names[0], 2, -1);
+    GV *gv = gv_fetchmeth_pvn(stash, PL_AMG_names[0], 2, -1, 0);
     SV * const sv = gv ? GvSV(gv) : NULL;
     CV* cv;
 
     if (!gv)
-	lim = DESTROY_amg;		/* Skip overloading entries. */
+    {
+      if (!gv_fetchmeth_pvn(stash, "((", 2, -1, 0))
+	goto no_table;
+    }
 #ifdef PERL_DONT_CREATE_GVSV
     else if (!sv) {
 	NOOP;   /* Equivalent to !SvTRUE and !SvOK  */
@@ -1855,16 +2312,21 @@
     }
 #endif
     else if (SvTRUE(sv))
+        /* don't need to set overloading here because fallback => 1
+         * is the default setting for classes without overloading */
 	amt.fallback=AMGfallYES;
-    else if (SvOK(sv))
+    else if (SvOK(sv)) {
 	amt.fallback=AMGfallNEVER;
+        filled = 1;
+    }
+    else {
+        filled = 1;
+    }
 
-    for (i = 1; i < lim; i++)
-	amt.table[i] = NULL;
-    for (; i < NofAMmeth; i++) {
+    for (i = 1; i < NofAMmeth; i++) {
 	const char * const cooky = PL_AMG_names[i];
 	/* Human-readable form, for debugging: */
-	const char * const cp = (i >= DESTROY_amg ? cooky : AMG_id2name(i));
+	const char * const cp = AMG_id2name(i);
 	const STRLEN l = PL_AMG_namelens[i];
 
 	DEBUG_o( Perl_deb(aTHX_ "Checking overloading of \"%s\" in package \"%.256s\"\n",
@@ -1876,15 +2338,13 @@
 	   then we could have created stubs for "(+0" in A and C too.
 	   But if B overloads "bool", we may want to use it for
 	   numifying instead of C's "+0". */
-	if (i >= DESTROY_amg)
-	    gv = Perl_gv_fetchmeth_autoload(aTHX_ stash, cooky, l, 0);
-	else				/* Autoload taken care of below */
-	    gv = Perl_gv_fetchmeth(aTHX_ stash, cooky, l, -1);
+	gv = Perl_gv_fetchmeth_pvn(aTHX_ stash, cooky, l, -1, 0);
         cv = 0;
         if (gv && (cv = GvCV(gv))) {
-	    const char *hvname;
-	    if (GvNAMELEN(CvGV(cv)) == 3 && strEQ(GvNAME(CvGV(cv)), "nil")
-		&& strEQ(hvname = HvNAME_get(GvSTASH(CvGV(cv))), "overload")) {
+	    if(GvNAMELEN(CvGV(cv)) == 3 && strEQ(GvNAME(CvGV(cv)), "nil")){
+	      const char * const hvname = HvNAME_get(GvSTASH(CvGV(cv)));
+	      if (hvname && HEK_LEN(HvNAME_HEK(GvSTASH(CvGV(cv)))) == 8
+	       && strEQ(hvname, "overload")) {
 		/* This is a hack to support autoloading..., while
 		   knowing *which* methods were declared as overloaded. */
 		/* GvSV contains the name of the method. */
@@ -1893,10 +2353,9 @@
 
 		DEBUG_o( Perl_deb(aTHX_ "Resolving method \"%"SVf256\
 			"\" for overloaded \"%s\" in package \"%.256s\"\n",
-			     (void*)GvSV(gv), cp, hvname) );
+			     (void*)GvSV(gv), cp, HvNAME(stash)) );
 		if (!gvsv || !SvPOK(gvsv)
-		    || !(ngv = gv_fetchmethod_autoload(stash, SvPVX_const(gvsv),
-						       FALSE)))
+		    || !(ngv = gv_fetchmethod_sv_flags(stash, gvsv, 0)))
 		{
 		    /* Can be an import stub (created by "can"). */
 		    if (destructing) {
@@ -1903,22 +2362,28 @@
 			return -1;
 		    }
 		    else {
-			const char * const name = (gvsv && SvPOK(gvsv)) ?  SvPVX_const(gvsv) : "???";
-			Perl_croak(aTHX_ "%s method \"%.256s\" overloading \"%s\" "\
-				    "in package \"%.256s\"",
+			const SV * const name = (gvsv && SvPOK(gvsv))
+                                                    ? gvsv
+                                                    : newSVpvs_flags("???", SVs_TEMP);
+			/* diag_listed_as: Can't resolve method "%s" overloading "%s" in package "%s" */
+			Perl_croak(aTHX_ "%s method \"%"SVf256
+				    "\" overloading \"%s\" "\
+				    "in package \"%"HEKf256"\"",
 				   (GvCVGEN(gv) ? "Stub found while resolving"
 				    : "Can't resolve"),
-				   name, cp, hvname);
+				   SVfARG(name), cp,
+                                   HEKfARG(
+					HvNAME_HEK(stash)
+				   ));
 		    }
 		}
 		cv = GvCV(gv = ngv);
+	      }
 	    }
 	    DEBUG_o( Perl_deb(aTHX_ "Overloading \"%s\" in package \"%.256s\" via \"%.256s::%.256s\"\n",
 			 cp, HvNAME_get(stash), HvNAME_get(GvSTASH(CvGV(cv))),
 			 GvNAME(CvGV(cv))) );
 	    filled = 1;
-	    if (i < DESTROY_amg)
-		have_ovl = 1;
 	} else if (gv) {		/* Autoloaded... */
 	    cv = MUTABLE_CV(gv);
 	    filled = 1;
@@ -1927,15 +2392,13 @@
     }
     if (filled) {
       AMT_AMAGIC_on(&amt);
-      if (have_ovl)
-	  AMT_OVERLOADED_on(&amt);
       sv_magic(MUTABLE_SV(stash), 0, PERL_MAGIC_overload_table,
 						(char*)&amt, sizeof(AMT));
-      return have_ovl;
+      return TRUE;
     }
   }
   /* Here we have no table: */
-  /* no_table: */
+ no_table:
   AMT_AMAGIC_off(&amt);
   sv_magic(MUTABLE_SV(stash), 0, PERL_MAGIC_overload_table,
 						(char*)&amt, sizeof(AMTS));
@@ -1961,25 +2424,13 @@
     mg = mg_find((const SV *)stash, PERL_MAGIC_overload_table);
     if (!mg) {
       do_update:
-	/* If we're looking up a destructor to invoke, we must avoid
-	 * that Gv_AMupdate croaks, because we might be dying already */
-	if (Gv_AMupdate(stash, cBOOL(id == DESTROY_amg)) == -1) {
-	    /* and if it didn't found a destructor, we fall back
-	     * to a simpler method that will only look for the
-	     * destructor instead of the whole magic */
-	    if (id == DESTROY_amg) {
-		GV * const gv = gv_fetchmethod(stash, "DESTROY");
-		if (gv)
-		    return GvCV(gv);
-	    }
+	if (Gv_AMupdate(stash, 0) == -1)
 	    return NULL;
-	}
 	mg = mg_find((const SV *)stash, PERL_MAGIC_overload_table);
     }
     assert(mg);
     amtp = (AMT*)mg->mg_ptr;
-    if ( amtp->was_ok_am != PL_amagic_generation
-	 || amtp->was_ok_sub != newgen )
+    if ( amtp->was_ok_sub != newgen )
 	goto do_update;
     if (AMT_AMAGIC(amtp)) {
 	CV * const ret = amtp->table[id];
@@ -2125,6 +2576,31 @@
     return tmpsv ? tmpsv : ref;
 }
 
+bool
+Perl_amagic_is_enabled(pTHX_ int method)
+{
+      SV *lex_mask = cop_hints_fetch_pvs(PL_curcop, "overloading", 0);
+
+      assert(PL_curcop->cop_hints & HINT_NO_AMAGIC);
+
+      if ( !lex_mask || !SvOK(lex_mask) )
+	  /* overloading lexically disabled */
+	  return FALSE;
+      else if ( lex_mask && SvPOK(lex_mask) ) {
+	  /* we have an entry in the hints hash, check if method has been
+	   * masked by overloading.pm */
+	  STRLEN len;
+	  const int offset = method / 8;
+	  const int bit    = method % 8;
+	  char *pv = SvPV(lex_mask, len);
+
+	  /* Bit set, so this overloading operator is disabled */
+	  if ( (STRLEN)offset < len && pv[offset] & ( 1 << bit ) )
+	      return FALSE;
+      }
+      return TRUE;
+}
+
 SV*
 Perl_amagic_call(pTHX_ SV *left, SV *right, int method, int flags)
 {
@@ -2138,6 +2614,7 @@
   int assign = AMGf_assign & flags;
   const int assignshift = assign ? 1 : 0;
   int use_default_op = 0;
+  int force_scalar = 0;
 #ifdef DEBUGGING
   int fl=0;
 #endif
@@ -2146,27 +2623,11 @@
   PERL_ARGS_ASSERT_AMAGIC_CALL;
 
   if ( PL_curcop->cop_hints & HINT_NO_AMAGIC ) {
-      SV *lex_mask = cop_hints_fetch_pvs(PL_curcop, "overloading", 0);
-
-      if ( !lex_mask || !SvOK(lex_mask) )
-	  /* overloading lexically disabled */
-	  return NULL;
-      else if ( lex_mask && SvPOK(lex_mask) ) {
-	  /* we have an entry in the hints hash, check if method has been
-	   * masked by overloading.pm */
-	  STRLEN len;
-	  const int offset = method / 8;
-	  const int bit    = method % 8;
-	  char *pv = SvPV(lex_mask, len);
-
-	  /* Bit set, so this overloading operator is disabled */
-	  if ( (STRLEN)offset < len && pv[offset] & ( 1 << bit ) )
-	      return NULL;
-      }
+      if (!amagic_is_enabled(method)) return NULL;
   }
 
   if (!(AMGf_noleft & flags) && SvAMAGIC(left)
-      && (stash = SvSTASH(SvRV(left)))
+      && (stash = SvSTASH(SvRV(left))) && Gv_AMG(stash)
       && (mg = mg_find((const SV *)stash, PERL_MAGIC_overload_table))
       && (ocvp = cvp = (AMT_AMAGIC((AMT*)mg->mg_ptr)
 			? (oamtp = amtp = (AMT*)mg->mg_ptr)->table
@@ -2231,12 +2692,8 @@
 		 */
 		SV* const newref = newSVsv(tmpRef);
 		SvOBJECT_on(newref);
-		/* As a bit of a source compatibility hack, SvAMAGIC() and
-		   friends dereference an RV, to behave the same was as when
-		   overloading was stored on the reference, not the referant.
-		   Hence we can't use SvAMAGIC_on()
-		*/
-		SvFLAGS(newref) |= SVf_AMAGIC;
+		/* No need to do SvAMAGIC_on here, as SvAMAGIC macros
+		   delegate to the stash. */
 		SvSTASH_set(newref, MUTABLE_HV(SvREFCNT_inc(SvSTASH(tmpRef))));
 		return newref;
 	     }
@@ -2293,7 +2750,7 @@
 	 }
 	 if (!cv) goto not_found;
     } else if (!(AMGf_noright & flags) && SvAMAGIC(right)
-	       && (stash = SvSTASH(SvRV(right)))
+	       && (stash = SvSTASH(SvRV(right))) && Gv_AMG(stash)
 	       && (mg = mg_find((const SV *)stash, PERL_MAGIC_overload_table))
 	       && (cvp = (AMT_AMAGIC((AMT*)mg->mg_ptr)
 			  ? (amtp = (AMT*)mg->mg_ptr)->table
@@ -2370,25 +2827,25 @@
 	SV *msg;
 	if (off==-1) off=method;
 	msg = sv_2mortal(Perl_newSVpvf(aTHX_
-		      "Operation \"%s\": no method found,%sargument %s%s%s%s",
-		      AMG_id2name(method + assignshift),
-		      (flags & AMGf_unary ? " " : "\n\tleft "),
-		      SvAMAGIC(left)?
-		        "in overloaded package ":
-		        "has no overloaded magic",
-		      SvAMAGIC(left)?
-		        HvNAME_get(SvSTASH(SvRV(left))):
-		        "",
-		      SvAMAGIC(right)?
-		        ",\n\tright argument in overloaded package ":
-		        (flags & AMGf_unary
-			 ? ""
-			 : ",\n\tright argument has no overloaded magic"),
-		      SvAMAGIC(right)?
-		        HvNAME_get(SvSTASH(SvRV(right))):
-		        ""));
+		      "Operation \"%s\": no method found,%sargument %s%"SVf"%s%"SVf,
+ 		      AMG_id2name(method + assignshift),
+ 		      (flags & AMGf_unary ? " " : "\n\tleft "),
+ 		      SvAMAGIC(left)?
+ 		        "in overloaded package ":
+ 		        "has no overloaded magic",
+ 		      SvAMAGIC(left)?
+		        SVfARG(sv_2mortal(newSVhek(HvNAME_HEK(SvSTASH(SvRV(left)))))):
+		        SVfARG(&PL_sv_no),
+ 		      SvAMAGIC(right)?
+ 		        ",\n\tright argument in overloaded package ":
+ 		        (flags & AMGf_unary
+ 			 ? ""
+ 			 : ",\n\tright argument has no overloaded magic"),
+ 		      SvAMAGIC(right)?
+		        SVfARG(sv_2mortal(newSVhek(HvNAME_HEK(SvSTASH(SvRV(right)))))):
+		        SVfARG(&PL_sv_no)));
         if (use_default_op) {
-	  DEBUG_o( Perl_deb(aTHX_ "%s", SvPVX_const(msg)) );
+	  DEBUG_o( Perl_deb(aTHX_ "%"SVf, SVfARG(msg)) );
 	} else {
 	  Perl_croak(aTHX_ "%"SVf, SVfARG(msg));
 	}
@@ -2397,10 +2854,68 @@
       force_cpy = force_cpy || assign;
     }
   }
+
+  switch (method) {
+    /* in these cases, we're calling '+' or '-' as a fallback for a ++ or --
+     * operation. we need this to return a value, so that it can be assigned
+     * later on, in the postpr block (case inc_amg/dec_amg), even if the
+     * increment or decrement was itself called in void context */
+    case inc_amg:
+      if (off == add_amg)
+        force_scalar = 1;
+      break;
+    case dec_amg:
+      if (off == subtr_amg)
+        force_scalar = 1;
+      break;
+    /* in these cases, we're calling an assignment variant of an operator
+     * (+= rather than +, for instance). regardless of whether it's a
+     * fallback or not, it always has to return a value, which will be
+     * assigned to the proper variable later */
+    case add_amg:
+    case subtr_amg:
+    case mult_amg:
+    case div_amg:
+    case modulo_amg:
+    case pow_amg:
+    case lshift_amg:
+    case rshift_amg:
+    case repeat_amg:
+    case concat_amg:
+    case band_amg:
+    case bor_amg:
+    case bxor_amg:
+      if (assign)
+        force_scalar = 1;
+      break;
+    /* the copy constructor always needs to return a value */
+    case copy_amg:
+      force_scalar = 1;
+      break;
+    /* because of the way these are implemented (they don't perform the
+     * dereferencing themselves, they return a reference that perl then
+     * dereferences later), they always have to be in scalar context */
+    case to_sv_amg:
+    case to_av_amg:
+    case to_hv_amg:
+    case to_gv_amg:
+    case to_cv_amg:
+      force_scalar = 1;
+      break;
+    /* these don't have an op of their own; they're triggered by their parent
+     * op, so the context there isn't meaningful ('$a and foo()' in void
+     * context still needs to pass scalar context on to $a's bool overload) */
+    case bool__amg:
+    case numer_amg:
+    case string_amg:
+      force_scalar = 1;
+      break;
+  }
+
 #ifdef DEBUGGING
   if (!notfound) {
     DEBUG_o(Perl_deb(aTHX_
-		     "Overloaded operator \"%s\"%s%s%s:\n\tmethod%s found%s in package %s%s\n",
+		     "Overloaded operator \"%s\"%s%s%s:\n\tmethod%s found%s in package %"SVf"%s\n",
 		     AMG_id2name(off),
 		     method+assignshift==off? "" :
 		     " (initially \"",
@@ -2410,7 +2925,7 @@
 		     flags & AMGf_unary? "" :
 		     lr==1 ? " for right argument": " for left argument",
 		     flags & AMGf_unary? " for argument" : "",
-		     stash ? HvNAME_get(stash) : "null",
+		     stash ? SVfARG(sv_2mortal(newSVhek(HvNAME_HEK(stash)))) : SVfARG(newSVpvs_flags("null", SVs_TEMP)),
 		     fl? ",\n\tassignment variant used": "") );
   }
 #endif
@@ -2436,9 +2951,9 @@
     /*	off is method, method+assignshift, or a result of opcode substitution.
      *	In the latter case assignshift==0, so only notfound case is important.
      */
-  if (( (method + assignshift == off)
+  if ( (lr == -1) && ( ( (method + assignshift == off)
 	&& (assign || (method == inc_amg) || (method == dec_amg)))
-      || force_cpy)
+      || force_cpy) )
   {
       /* newSVsv does not behave as advertised, so we copy missing
        * information by hand */
@@ -2447,7 +2962,7 @@
       if (SvREFCNT(tmpRef) > 1 && (rv_copy = AMG_CALLunary(left,copy_amg))) {
 	  SvRV_set(left, rv_copy);
 	  SvSETMAGIC(left);
-	  SvREFCNT_dec(tmpRef);  
+	  SvREFCNT_dec_NN(tmpRef);  
       }
   }
 
@@ -2456,13 +2971,30 @@
     BINOP myop;
     SV* res;
     const bool oldcatch = CATCH_GET;
+    I32 oldmark, nret;
+    int gimme = force_scalar ? G_SCALAR : GIMME_V;
 
     CATCH_SET(TRUE);
     Zero(&myop, 1, BINOP);
     myop.op_last = (OP *) &myop;
     myop.op_next = NULL;
-    myop.op_flags = OPf_WANT_SCALAR | OPf_STACKED;
+    myop.op_flags = OPf_STACKED;
 
+    switch (gimme) {
+        case G_VOID:
+            myop.op_flags |= OPf_WANT_VOID;
+            break;
+        case G_ARRAY:
+            if (flags & AMGf_want_list) {
+                myop.op_flags |= OPf_WANT_LIST;
+                break;
+            }
+            /* FALLTHROUGH */
+        default:
+            myop.op_flags |= OPf_WANT_SCALAR;
+            break;
+    }
+
     PUSHSTACKi(PERLSI_OVERLOAD);
     ENTER;
     SAVEOP();
@@ -2482,13 +3014,37 @@
     }
     PUSHs(MUTABLE_SV(cv));
     PUTBACK;
+    oldmark = TOPMARK;
 
     if ((PL_op = PL_ppaddr[OP_ENTERSUB](aTHX)))
       CALLRUNOPS(aTHX);
     LEAVE;
     SPAGAIN;
+    nret = SP - (PL_stack_base + oldmark);
 
-    res=POPs;
+    switch (gimme) {
+        case G_VOID:
+            /* returning NULL has another meaning, and we check the context
+             * at the call site too, so this can be differentiated from the
+             * scalar case */
+            res = &PL_sv_undef;
+            SP = PL_stack_base + oldmark;
+            break;
+        case G_ARRAY: {
+            if (flags & AMGf_want_list) {
+                res = sv_2mortal((SV *)newAV());
+                av_extend((AV *)res, nret);
+                while (nret--)
+                    av_store((AV *)res, nret, POPs);
+                break;
+            }
+            /* FALLTHROUGH */
+        }
+        default:
+            res = POPs;
+            break;
+    }
+
     PUTBACK;
     POPSTACK;
     CATCH_SET(oldcatch);
@@ -2534,148 +3090,6 @@
   }
 }
 
-/*
-=for apidoc is_gv_magical_sv
-
-Returns C<TRUE> if given the name of a magical GV.
-
-Currently only useful internally when determining if a GV should be
-created even in rvalue contexts.
-
-C<flags> is not used at present but available for future extension to
-allow selecting particular classes of magical variable.
-
-Currently assumes that C<name> is NUL terminated (as well as len being valid).
-This assumption is met by all callers within the perl core, which all pass
-pointers returned by SvPV.
-
-=cut
-*/
-
-bool
-Perl_is_gv_magical_sv(pTHX_ SV *const name_sv, U32 flags)
-{
-    STRLEN len;
-    const char *const name = SvPV_const(name_sv, len);
-
-    PERL_UNUSED_ARG(flags);
-    PERL_ARGS_ASSERT_IS_GV_MAGICAL_SV;
-
-    if (len > 1) {
-	const char * const name1 = name + 1;
-	switch (*name) {
-	case 'I':
-	    if (len == 3 && name[1] == 'S' && name[2] == 'A')
-		goto yes;
-	    break;
-	case 'O':
-	    if (len == 8 && strEQ(name1, "VERLOAD"))
-		goto yes;
-	    break;
-	case 'S':
-	    if (len == 3 && name[1] == 'I' && name[2] == 'G')
-		goto yes;
-	    break;
-	    /* Using ${^...} variables is likely to be sufficiently rare that
-	       it seems sensible to avoid the space hit of also checking the
-	       length.  */
-	case '\017':   /* ${^OPEN} */
-	    if (strEQ(name1, "PEN"))
-		goto yes;
-	    break;
-	case '\024':   /* ${^TAINT} */
-	    if (strEQ(name1, "AINT"))
-		goto yes;
-	    break;
-	case '\025':	/* ${^UNICODE} */
-	    if (strEQ(name1, "NICODE"))
-		goto yes;
-	    if (strEQ(name1, "TF8LOCALE"))
-		goto yes;
-	    break;
-	case '\027':   /* ${^WARNING_BITS} */
-	    if (strEQ(name1, "ARNING_BITS"))
-		goto yes;
-	    break;
-	case '1':
-	case '2':
-	case '3':
-	case '4':
-	case '5':
-	case '6':
-	case '7':
-	case '8':
-	case '9':
-	{
-	    const char *end = name + len;
-	    while (--end > name) {
-		if (!isDIGIT(*end))
-		    return FALSE;
-	    }
-	    goto yes;
-	}
-	}
-    } else {
-	/* Because we're already assuming that name is NUL terminated
-	   below, we can treat an empty name as "\0"  */
-	switch (*name) {
-	case '&':
-	case '`':
-	case '\'':
-	case ':':
-	case '?':
-	case '!':
-	case '-':
-	case '#':
-	case '[':
-	case '^':
-	case '~':
-	case '=':
-	case '%':
-	case '.':
-	case '(':
-	case ')':
-	case '<':
-	case '>':
-	case '\\':
-	case '/':
-	case '|':
-	case '+':
-	case ';':
-	case ']':
-	case '\001':   /* $^A */
-	case '\003':   /* $^C */
-	case '\004':   /* $^D */
-	case '\005':   /* $^E */
-	case '\006':   /* $^F */
-	case '\010':   /* $^H */
-	case '\011':   /* $^I, NOT \t in EBCDIC */
-	case '\014':   /* $^L */
-	case '\016':   /* $^N */
-	case '\017':   /* $^O */
-	case '\020':   /* $^P */
-	case '\023':   /* $^S */
-	case '\024':   /* $^T */
-	case '\026':   /* $^V */
-	case '\027':   /* $^W */
-	case '1':
-	case '2':
-	case '3':
-	case '4':
-	case '5':
-	case '6':
-	case '7':
-	case '8':
-	case '9':
-	yes:
-	    return TRUE;
-	default:
-	    break;
-	}
-    }
-    return FALSE;
-}
-
 void
 Perl_gv_name_set(pTHX_ GV *gv, const char *name, U32 len, U32 flags)
 {
@@ -2683,7 +3097,6 @@
     U32 hash;
 
     PERL_ARGS_ASSERT_GV_NAME_SET;
-    PERL_UNUSED_ARG(flags);
 
     if (len > I32_MAX)
 	Perl_croak(aTHX_ "panic: gv name too long (%"UVuf")", (UV) len);
@@ -2693,7 +3106,7 @@
     }
 
     PERL_HASH(hash, name, len);
-    GvNAME_HEK(gv) = share_hek(name, len, hash);
+    GvNAME_HEK(gv) = share_hek(name, (flags & SVf_UTF8 ? -(I32)len : (I32)len), hash);
 }
 
 /*
@@ -2771,12 +3184,22 @@
     }
 }
 
+#include "XSUB.h"
+
+static void
+core_xsub(pTHX_ CV* cv)
+{
+    Perl_croak(aTHX_
+       "&CORE::%s cannot be called directly", GvNAME(CvGV(cv))
+    );
+}
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/gv.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/gv.h
===================================================================
--- vendor/perl/dist/gv.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/gv.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -56,6 +56,7 @@
 	 }))
 #  define GvNAME_get(gv)	({ assert(GvNAME_HEK(gv)); (char *)HEK_KEY(GvNAME_HEK(gv)); })
 #  define GvNAMELEN_get(gv)	({ assert(GvNAME_HEK(gv)); HEK_LEN(GvNAME_HEK(gv)); })
+#  define GvNAMEUTF8(gv)	({ assert(GvNAME_HEK(gv)); HEK_UTF8(GvNAME_HEK(gv)); })
 #else
 #  define GvGP(gv)	(0+(gv)->sv_u.svu_gp)
 #  define GvGP_set(gv,gp)	((gv)->sv_u.svu_gp = (gp))
@@ -64,6 +65,7 @@
 #  define GvNAME_HEK(gv)	(GvXPVGV(gv)->xiv_u.xivu_namehek)
 #  define GvNAME_get(gv)	HEK_KEY(GvNAME_HEK(gv))
 #  define GvNAMELEN_get(gv)	HEK_LEN(GvNAME_HEK(gv))
+#  define GvNAMEUTF8(gv)	HEK_UTF8(GvNAME_HEK(gv))
 #endif
 
 #define GvNAME(gv)	GvNAME_get(gv)
@@ -81,6 +83,18 @@
 
 Return the SV from the GV.
 
+=for apidoc Am|AV*|GvAV|GV* gv
+
+Return the AV from the GV.
+
+=for apidoc Am|HV*|GvHV|GV* gv
+
+Return the HV from the GV.
+
+=for apidoc Am|CV*|GvCV|GV* gv
+
+Return the CV from the GV.
+
 =cut
 */
 
@@ -133,6 +147,9 @@
 #define GvEGV(gv)	(GvGP(gv)->gp_egv)
 #define GvEGVx(gv)	(isGV_with_GP(gv) ? GvEGV(gv) : NULL)
 #define GvENAME(gv)	GvNAME(GvEGV(gv) ? GvEGV(gv) : gv)
+#define GvENAMELEN(gv)  GvNAMELEN(GvEGV(gv) ? GvEGV(gv) : gv)
+#define GvENAMEUTF8(gv) GvNAMEUTF8(GvEGV(gv) ? GvEGV(gv) : gv)
+#define GvENAME_HEK(gv) GvNAME_HEK(GvEGV(gv) ? GvEGV(gv) : gv)
 #define GvESTASH(gv)	GvSTASH(GvEGV(gv) ? GvEGV(gv) : gv)
 
 #define GVf_INTRO	0x01
@@ -145,9 +162,6 @@
 #define GVf_IMPORTED_HV	  0x40
 #define GVf_IMPORTED_CV	  0x80
 
-/* Temporary flag for the tie $handle deprecation warnings. */
-#define GVf_TIEWARNED	0x100
-
 #define GvINTRO(gv)		(GvFLAGS(gv) & GVf_INTRO)
 #define GvINTRO_on(gv)		(GvFLAGS(gv) |= GVf_INTRO)
 #define GvINTRO_off(gv)		(GvFLAGS(gv) &= ~GVf_INTRO)
@@ -203,7 +217,8 @@
 #define GV_ADD		0x01	/* add, if symbol not already there
 				   For gv_name_set, adding a HEK for the first
 				   time, so don't try to free what's there.  */
-#define GV_ADDMULTI	0x02	/* add, pretending it has been added already */
+#define GV_ADDMULTI	0x02	/* add, pretending it has been added
+				   already; used also by gv_init_* */
 #define GV_ADDWARN	0x04	/* add, but warn if symbol wasn't already there */
 #define GV_ADDINEVAL	0x08	/* add, as though we're doing so within an eval */
 #define GV_NOINIT	0x10	/* add, but don't init symbol, if type != PVGV */
@@ -216,17 +231,46 @@
 				   package (so skip checks for :: and ')  */
 #define GV_AUTOLOAD	0x100	/* gv_fetchmethod_flags() should AUTOLOAD  */
 #define GV_CROAK	0x200	/* gv_fetchmethod_flags() should croak  */
+#define GV_ADDMG	0x400	/* add if magical */
+#define GV_NO_SVGMAGIC	0x800	/* Skip get-magic on an SV argument;
+				   used only by gv_fetchsv(_nomg) */
 
+/* Flags for gv_fetchmeth_pvn and gv_autoload_pvn*/
+#define GV_SUPER	0x1000	/* SUPER::method */
+
+/* Flags for gv_autoload_*/
+#define GV_AUTOLOAD_ISMETHOD 1	/* autoloading a method? */
+
 /*      SVf_UTF8 (more accurately the return value from SvUTF8) is also valid
-	as a flag to gv_fetch_pvn_flags, so ensure it lies outside this range.
+	as a flag to various gv_* functions, so ensure it lies
+	outside this range.
 */
 
-#define GV_NOADD_MASK	(SVf_UTF8|GV_NOADD_NOINIT|GV_NOEXPAND|GV_NOTQUAL)
-/* The bit flags that don't cause gv_fetchpv() to add a symbol if not found */
+#define GV_NOADD_MASK \
+  (SVf_UTF8|GV_NOADD_NOINIT|GV_NOEXPAND|GV_NOTQUAL|GV_ADDMG|GV_NO_SVGMAGIC)
+/* The bit flags that don't cause gv_fetchpv() to add a symbol if not
+   found (with the exception GV_ADDMG, which *might* cause the symbol
+   to be added) */
 
 #define gv_fullname3(sv,gv,prefix) gv_fullname4(sv,gv,prefix,TRUE)
 #define gv_efullname3(sv,gv,prefix) gv_efullname4(sv,gv,prefix,TRUE)
 #define gv_fetchmethod(stash, name) gv_fetchmethod_autoload(stash, name, TRUE)
+#define gv_fetchsv_nomg(n,f,t) gv_fetchsv(n,(f)|GV_NO_SVGMAGIC,t)
+#define gv_init(gv,stash,name,len,multi) \
+	gv_init_pvn(gv,stash,name,len,GV_ADDMULTI*!!(multi))
+#define gv_fetchmeth(stash,name,len,level) gv_fetchmeth_pvn(stash, name, len, level, 0)
+#define gv_fetchmeth_autoload(stash,name,len,level) gv_fetchmeth_pvn_autoload(stash, name, len, level, 0)
+#define gv_fetchmethod_flags(stash,name,flags) gv_fetchmethod_pv_flags(stash, name, flags)
+#define gv_autoload4(stash, name, len, method) \
+	gv_autoload_pvn(stash, name, len, !!(method))
+#define newGVgen(pack)  newGVgen_flags(pack, 0)
+#define gv_method_changed(gv)		    \
+    (					     \
+    	assert_(isGV_with_GP(gv))	      \
+	GvREFCNT(gv) > 1		       \
+	    ? (void)++PL_sub_generation		\
+	    : mro_method_changed_in(GvSTASH(gv)) \
+    )
 
 #define gv_AVadd(gv) gv_add_by_type((gv), SVt_PVAV)
 #define gv_HVadd(gv) gv_add_by_type((gv), SVt_PVHV)
@@ -237,8 +281,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/gv.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/h2pl/README
===================================================================
--- vendor/perl/dist/h2pl/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/cbreak.pl
===================================================================
--- vendor/perl/dist/h2pl/cbreak.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/cbreak.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/cbreak.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/cbreak2.pl
===================================================================
--- vendor/perl/dist/h2pl/cbreak2.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/cbreak2.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/cbreak2.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/eg/sizeof.ph
===================================================================
--- vendor/perl/dist/h2pl/eg/sizeof.ph	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/eg/sizeof.ph	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/eg/sizeof.ph
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/eg/sys/errno.pl
===================================================================
--- vendor/perl/dist/h2pl/eg/sys/errno.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/eg/sys/errno.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/eg/sys/errno.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/eg/sys/ioctl.pl
===================================================================
--- vendor/perl/dist/h2pl/eg/sys/ioctl.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/eg/sys/ioctl.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/eg/sys/ioctl.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/eg/sysexits.pl
===================================================================
--- vendor/perl/dist/h2pl/eg/sysexits.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/eg/sysexits.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/eg/sysexits.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/getioctlsizes
===================================================================
--- vendor/perl/dist/h2pl/getioctlsizes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/getioctlsizes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/getioctlsizes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/mksizes
===================================================================
--- vendor/perl/dist/h2pl/mksizes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/mksizes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/mksizes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/h2pl/mkvars
===================================================================
--- vendor/perl/dist/h2pl/mkvars	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/mkvars	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/h2pl/mkvars
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/h2pl/tcbreak
===================================================================
--- vendor/perl/dist/h2pl/tcbreak	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/tcbreak	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,6 +12,6 @@
 
 print "$c\n";
 
-printf "you gave me `%s', which is 0x%02x\n", $c, ord($c);
+printf "you gave me '%s', which is 0x%02x\n", $c, ord($c);
 
 &cooked;


Property changes on: vendor/perl/dist/h2pl/tcbreak
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/h2pl/tcbreak2
===================================================================
--- vendor/perl/dist/h2pl/tcbreak2	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/h2pl/tcbreak2	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,6 +12,6 @@
 
 print "$c\n";
 
-printf "you gave me `%s', which is 0x%02x\n", $c, ord($c);
+printf "you gave me '%s', which is 0x%02x\n", $c, ord($c);
 
 &cooked;


Property changes on: vendor/perl/dist/h2pl/tcbreak2
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/haiku/Haiku/Haiku.pm
===================================================================
--- vendor/perl/dist/haiku/Haiku/Haiku.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/haiku/Haiku/Haiku.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
     require DynaLoader;
 
     @ISA = qw|Exporter DynaLoader|;
-    $VERSION = '0.34';
+    $VERSION = '0.35';
     $XS_VERSION = $VERSION;
     $VERSION = eval $VERSION;
 


Property changes on: vendor/perl/dist/haiku/Haiku/Haiku.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/haiku/Haiku/Haiku.xs
===================================================================
--- vendor/perl/dist/haiku/Haiku/Haiku.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/haiku/Haiku/Haiku.xs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,7 +20,7 @@
 }
 
 static void
-haiku_do_debug_printf(pTHX_ register SV *sv,
+haiku_do_debug_printf(pTHX_ SV *sv,
     void (*printfFunc)(const char*,...))
 {
     dVAR;


Property changes on: vendor/perl/dist/haiku/Haiku/Haiku.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/haiku/Haiku/Makefile.PL
===================================================================
--- vendor/perl/dist/haiku/Haiku/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/haiku/Haiku/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/haiku/Haiku/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/haiku/haikuish.h
===================================================================
--- vendor/perl/dist/haiku/haikuish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/haiku/haikuish.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/haiku/haikuish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/handy.h
===================================================================
--- vendor/perl/dist/handy.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/handy.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 /*    handy.h
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1999, 2000,
- *    2001, 2002, 2004, 2005, 2006, 2007, 2008 by Larry Wall and others
+ *    2001, 2002, 2004, 2005, 2006, 2007, 2008, 2012 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.
@@ -8,16 +8,15 @@
  *
  */
 
+#ifndef HANDY_H /* Guard against nested #inclusion */
+#define HANDY_H
+
 #if !defined(__STDC__)
 #ifdef NULL
 #undef NULL
 #endif
-#ifndef I286
 #  define NULL 0
-#else
-#  define NULL 0L
 #endif
-#endif
 
 #ifndef PERL_CORE
 #  define Null(type) ((type)NULL)
@@ -70,10 +69,13 @@
 #define MUTABLE_IO(p)	((IO *)MUTABLE_PTR(p))
 #define MUTABLE_SV(p)	((SV *)MUTABLE_PTR(p))
 
-/* XXX Configure ought to have a test for a boolean type, if I can
-   just figure out all the headers such a test needs.
-   Andy Dougherty	August 1996
-*/
+#ifdef I_STDBOOL
+#  include <stdbool.h>
+#  ifndef HAS_BOOL
+#    define HAS_BOOL 1
+#  endif
+#endif
+
 /* bool is built-in for g++-2.6.3 and later, which might be used
    for extensions.  <_G_config.h> defines _G_HAVE_BOOL, but we can't
    be sure _G_config.h will be included before this file.  _G_config.h
@@ -102,7 +104,7 @@
 #endif /* NeXT || __NeXT__ */
 
 #ifndef HAS_BOOL
-# if defined(UTS) || defined(VMS)
+# if defined(VMS)
 #  define bool int
 # else
 #  define bool char
@@ -112,9 +114,10 @@
 
 /* a simple (bool) cast may not do the right thing: if bool is defined
  * as char for example, then the cast from int is implementation-defined
+ * (bool)!!(cbool) in a ternary triggers a bug in xlc on AIX
  */
 
-#define cBOOL(cbool) ((bool)!!(cbool))
+#define cBOOL(cbool) ((cbool) ? (bool)1 : (bool)0)
 
 /* Try to figure out __func__ or __FUNCTION__ equivalent, if any.
  * XXX Should really be a Configure probe, with HAS__FUNCTION__
@@ -123,7 +126,7 @@
 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined(__SUNPRO_C)) /* C99 or close enough. */
 #  define FUNCTION__ __func__
 #else
-#  if (defined(_MSC_VER) && _MSC_VER < 1300) || /* Pre-MSVC 7.0 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
+#  if (defined(_MSC_VER) && _MSC_VER < 1300) || /* MSVC6 has neither __func__ nor __FUNCTION and no good workarounds, either. */ \
       (defined(__DECC_VER)) /* Tru64 or VMS, and strict C89 being used, but not modern enough cc (in Tur64, -c99 not known, only -std1). */
 #    define FUNCTION__ ""
 #  else
@@ -187,25 +190,29 @@
 #endif /* PERL_CORE */
 
 #if defined(HAS_QUAD) && defined(USE_64_BIT_INT)
-#   ifndef UINT64_C /* usually from <inttypes.h> */
-#       if defined(HAS_LONG_LONG) && QUADKIND == QUAD_IS_LONG_LONG
-#           define INT64_C(c)	CAT2(c,LL)
-#           define UINT64_C(c)	CAT2(c,ULL)
+#   if defined(HAS_LONG_LONG) && QUADKIND == QUAD_IS_LONG_LONG
+#       define PeRl_INT64_C(c)	CAT2(c,LL)
+#       define PeRl_UINT64_C(c)	CAT2(c,ULL)
+#   else
+#       if QUADKIND == QUAD_IS___INT64
+#           define PeRl_INT64_C(c)	CAT2(c,I64)
+#           define PeRl_UINT64_C(c)	CAT2(c,UI64)
 #       else
 #           if LONGSIZE == 8 && QUADKIND == QUAD_IS_LONG
-#               define INT64_C(c)	CAT2(c,L)
-#               define UINT64_C(c)	CAT2(c,UL)
+#               define PeRl_INT64_C(c)	CAT2(c,L)
+#               define PeRl_UINT64_C(c)	CAT2(c,UL)
 #           else
-#               if defined(_WIN64) && defined(_MSC_VER)
-#                   define INT64_C(c)	CAT2(c,I64)
-#                   define UINT64_C(c)	CAT2(c,UI64)
-#               else
-#                   define INT64_C(c)	((I64TYPE)(c))
-#                   define UINT64_C(c)	((U64TYPE)(c))
-#               endif
+#               define PeRl_INT64_C(c)	((I64TYPE)(c))
+#               define PeRl_UINT64_C(c)	((U64TYPE)(c))
 #           endif
 #       endif
 #   endif
+#   ifndef UINT64_C
+#   define UINT64_C(c) PeRl_UINT64_C(c)
+#   endif
+#   ifndef INT64_C
+#   define INT64_C(c) PeRl_INT64_C(c)
+#   endif
 #endif
 
 #if defined(UINT8_MAX) && defined(INT16_MAX) && defined(INT32_MAX)
@@ -335,12 +342,13 @@
 =cut
 */
 
-/* concatenating with "" ensures that only literal strings are accepted as argument */
+/* concatenating with "" ensures that only literal strings are accepted as
+ * argument */
 #define STR_WITH_LEN(s)  ("" s ""), (sizeof(s)-1)
 
-/* note that STR_WITH_LEN() can't be used as argument to macros or functions that
- * under some configurations might be macros, which means that it requires the full
- * Perl_xxx(aTHX_ ...) form for any API calls where it's used.
+/* note that STR_WITH_LEN() can't be used as argument to macros or functions
+ * that under some configurations might be macros, which means that it requires
+ * the full Perl_xxx(aTHX_ ...) form for any API calls where it's used.
  */
 
 /* STR_WITH_LEN() shortcuts */
@@ -466,155 +474,396 @@
 /*
 
 =head1 Character classes
-There are three variants for all the functions in this section.  The base ones
-operate using the character set of the platform Perl is running on.  The ones
-with an C<_A> suffix operate on the ASCII character set, and the ones with an
-C<_L1> suffix operate on the full Latin1 character set.  All are unaffected by
-locale
+This section is about functions (really macros) that classify characters
+into types, such as punctuation versus alphabetic, etc.  Most of these are
+analogous to regular expression character classes.  (See
+L<perlrecharclass/POSIX Character Classes>.)  There are several variants for
+each class.  (Not all macros have all variants; each item below lists the
+ones valid for it.)  None are affected by C<use bytes>, and only the ones
+with C<LC> in the name are affected by the current locale.
 
-For ASCII platforms, the base function with no suffix and the one with the
-C<_A> suffix are identical.  The function with the C<_L1> suffix imposes the
-Latin-1 character set onto the platform.  That is, the code points that are
-ASCII are unaffected, since ASCII is a subset of Latin-1.  But the non-ASCII
-code points are treated as if they are Latin-1 characters.  For example,
-C<isSPACE_L1()> will return true when called with the code point 0xA0, which is
-the Latin-1 NO-BREAK SPACE.
+The base function, e.g., C<isALPHA()>, takes an octet (either a C<char> or a
+C<U8>) as input and returns a boolean as to whether or not the character
+represented by that octet is (or on non-ASCII platforms, corresponds to) an
+ASCII character in the named class based on platform, Unicode, and Perl rules.
+If the input is a number that doesn't fit in an octet, FALSE is returned.
 
-For EBCDIC platforms, the base function with no suffix and the one with the
-C<_L1> suffix should be identical, since, as of this writing, the EBCDIC code
-pages that Perl knows about all are equivalent to Latin-1.  The function that
-ends in an C<_A> suffix will not return true unless the specified character also
-has an ASCII equivalent.
+Variant C<isFOO_A> (e.g., C<isALPHA_A()>) is identical to the base function
+with no suffix C<"_A">.
 
+Variant C<isFOO_L1> imposes the Latin-1 (or EBCDIC equivlalent) character set
+onto the platform.  That is, the code points that are ASCII are unaffected,
+since ASCII is a subset of Latin-1.  But the non-ASCII code points are treated
+as if they are Latin-1 characters.  For example, C<isWORDCHAR_L1()> will return
+true when called with the code point 0xDF, which is a word character in both
+ASCII and EBCDIC (though it represent different characters in each).
+
+Variant C<isFOO_uni> is like the C<isFOO_L1> variant, but accepts any UV code
+point as input.  If the code point is larger than 255, Unicode rules are used
+to determine if it is in the character class.  For example,
+C<isWORDCHAR_uni(0x100)> returns TRUE, since 0x100 is LATIN CAPITAL LETTER A
+WITH MACRON in Unicode, and is a word character.
+
+Variant C<isFOO_utf8> is like C<isFOO_uni>, but the input is a pointer to a
+(known to be well-formed) UTF-8 encoded string (C<U8*> or C<char*>).  The
+classification of just the first (possibly multi-byte) character in the string
+is tested.
+
+Variant C<isFOO_LC> is like the C<isFOO_A> and C<isFOO_L1> variants, but uses
+the C library function that gives the named classification instead of
+hard-coded rules.  For example, C<isDIGIT_LC()> returns the result of calling
+C<isdigit()>.  This means that the result is based on the current locale, which
+is what C<LC> in the name stands for.  FALSE is always returned if the input
+won't fit into an octet.
+
+Variant C<isFOO_LC_uvchr> is like C<isFOO_LC>, but is defined on any UV.  It
+returns the same as C<isFOO_LC> for input code points less than 256, and
+returns the hard-coded, not-affected-by-locale, Unicode results for larger ones.
+
+Variant C<isFOO_LC_utf8> is like C<isFOO_LC_uvchr>, but the input is a pointer to a
+(known to be well-formed) UTF-8 encoded string (C<U8*> or C<char*>).  The
+classification of just the first (possibly multi-byte) character in the string
+is tested.
+
 =for apidoc Am|bool|isALPHA|char ch
 Returns a boolean indicating whether the specified character is an
-alphabetic character in the platform's native character set.
+alphabetic character, analogous to C<m/[[:alpha:]]/>.
 See the L<top of this section|/Character classes> for an explanation of variants
-C<isALPHA_A> and C<isALPHA_L1>.
+C<isALPHA_A>, C<isALPHA_L1>, C<isALPHA_uni>, C<isALPHA_utf8>, C<isALPHA_LC>,
+C<isALPHA_LC_uvchr>, and C<isALPHA_LC_utf8>.
 
+=for apidoc Am|bool|isALPHANUMERIC|char ch
+Returns a boolean indicating whether the specified character is a either an
+alphabetic character or decimal digit, analogous to C<m/[[:alnum:]]/>.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isALPHANUMERIC_A>, C<isALPHANUMERIC_L1>, C<isALPHANUMERIC_uni>,
+C<isALPHANUMERIC_utf8>, C<isALPHANUMERIC_LC>, C<isALPHANUMERIC_LC_uvchr>, and
+C<isALPHANUMERIC_LC_utf8>.
+
 =for apidoc Am|bool|isASCII|char ch
 Returns a boolean indicating whether the specified character is one of the 128
-characters in the ASCII character set.  On non-ASCII platforms, it is if this
+characters in the ASCII character set, analogous to C<m/[[:ascii:]]/>.
+On non-ASCII platforms, it returns TRUE iff this
 character corresponds to an ASCII character.  Variants C<isASCII_A()> and
 C<isASCII_L1()> are identical to C<isASCII()>.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isASCII_uni>, C<isASCII_utf8>, C<isASCII_LC>, C<isASCII_LC_uvchr>, and
+C<isASCII_LC_utf8>.  Note, however, that some platforms do not have the C
+library routine C<isascii()>.  In these cases, the variants whose names contain
+C<LC> are the same as the corresponding ones without.
 
+=for apidoc Am|bool|isBLANK|char ch
+Returns a boolean indicating whether the specified character is a
+character considered to be a blank, analogous to C<m/[[:blank:]]/>.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isBLANK_A>, C<isBLANK_L1>, C<isBLANK_uni>, C<isBLANK_utf8>, C<isBLANK_LC>,
+C<isBLANK_LC_uvchr>, and C<isBLANK_LC_utf8>.  Note, however, that some
+platforms do not have the C library routine C<isblank()>.  In these cases, the
+variants whose names contain C<LC> are the same as the corresponding ones
+without.
+
+=for apidoc Am|bool|isCNTRL|char ch
+Returns a boolean indicating whether the specified character is a
+control character, analogous to C<m/[[:cntrl:]]/>.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isCNTRL_A>, C<isCNTRL_L1>, C<isCNTRL_uni>, C<isCNTRL_utf8>, C<isCNTRL_LC>,
+C<isCNTRL_LC_uvchr>, and C<isCNTRL_LC_utf8>
+On EBCDIC platforms, you almost always want to use the C<isCNTRL_L1> variant.
+
 =for apidoc Am|bool|isDIGIT|char ch
 Returns a boolean indicating whether the specified character is a
-digit in the platform's native character set.
+digit, analogous to C<m/[[:digit:]]/>.
 Variants C<isDIGIT_A> and C<isDIGIT_L1> are identical to C<isDIGIT>.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isDIGIT_uni>, C<isDIGIT_utf8>, C<isDIGIT_LC>, C<isDIGIT_LC_uvchr>, and
+C<isDIGIT_LC_utf8>.
 
+=for apidoc Am|bool|isGRAPH|char ch
+Returns a boolean indicating whether the specified character is a
+graphic character, analogous to C<m/[[:graph:]]/>.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isGRAPH_A>, C<isGRAPH_L1>, C<isGRAPH_uni>, C<isGRAPH_utf8>, C<isGRAPH_LC>,
+C<isGRAPH_LC_uvchr>, and C<isGRAPH_LC_utf8>.
+
 =for apidoc Am|bool|isLOWER|char ch
 Returns a boolean indicating whether the specified character is a
-lowercase character in the platform's native character set.
+lowercase character, analogous to C<m/[[:lower:]]/>.
 See the L<top of this section|/Character classes> for an explanation of variants
-C<isLOWER_A> and C<isLOWER_L1>.
+C<isLOWER_A>, C<isLOWER_L1>, C<isLOWER_uni>, C<isLOWER_utf8>, C<isLOWER_LC>,
+C<isLOWER_LC_uvchr>, and C<isLOWER_LC_utf8>.
 
 =for apidoc Am|bool|isOCTAL|char ch
 Returns a boolean indicating whether the specified character is an
-octal digit, [0-7] in the platform's native character set.
-Variants C<isOCTAL_A> and C<isOCTAL_L1> are identical to C<isOCTAL>.
+octal digit, [0-7].
+The only two variants are C<isOCTAL_A> and C<isOCTAL_L1>; each is identical to
+C<isOCTAL>.
 
+=for apidoc Am|bool|isPUNCT|char ch
+Returns a boolean indicating whether the specified character is a
+punctuation character, analogous to C<m/[[:punct:]]/>.
+Note that the definition of what is punctuation isn't as
+straightforward as one might desire.  See L<perlrecharclass/POSIX Character
+Classes> for details.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isPUNCT_A>, C<isPUNCT_L1>, C<isPUNCT_uni>, C<isPUNCT_utf8>, C<isPUNCT_LC>,
+C<isPUNCT_LC_uvchr>, and C<isPUNCT_LC_utf8>.
+
 =for apidoc Am|bool|isSPACE|char ch
 Returns a boolean indicating whether the specified character is a
-whitespace character in the platform's native character set.  This is the same
-as what C<\s> matches in a regular expression.
+whitespace character.  This is analogous
+to what C<m/\s/> matches in a regular expression.  Starting in Perl 5.18
+(experimentally), this also matches what C<m/[[:space:]]/> does.
+("Experimentally" means that this change may be backed out in 5.20 or 5.22 if
+field experience indicates that it was unwise.)  Prior to 5.18, only the
+locale forms of this macro (the ones with C<LC> in their names) matched
+precisely what C<m/[[:space:]]/> does.  In those releases, the only difference,
+in the non-locale variants, was that C<isSPACE()> did not match a vertical tab.
+(See L</isPSXSPC> for a macro that matches a vertical tab in all releases.)
 See the L<top of this section|/Character classes> for an explanation of variants
-C<isSPACE_A> and C<isSPACE_L1>.
+C<isSPACE_A>, C<isSPACE_L1>, C<isSPACE_uni>, C<isSPACE_utf8>, C<isSPACE_LC>,
+C<isSPACE_LC_uvchr>, and C<isSPACE_LC_utf8>.
 
+=for apidoc Am|bool|isPSXSPC|char ch
+(short for Posix Space)
+Starting in 5.18, this is identical (experimentally) in all its forms to the
+corresponding C<isSPACE()> macros.  ("Experimentally" means that this change
+may be backed out in 5.20 or 5.22 if field experience indicates that it
+was unwise.)
+The locale forms of this macro are identical to their corresponding
+C<isSPACE()> forms in all Perl releases.  In releases prior to 5.18, the
+non-locale forms differ from their C<isSPACE()> forms only in that the
+C<isSPACE()> forms don't match a Vertical Tab, and the C<isPSXSPC()> forms do.
+Otherwise they are identical.  Thus this macro is analogous to what
+C<m/[[:space:]]/> matches in a regular expression.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isPSXSPC_A>, C<isPSXSPC_L1>, C<isPSXSPC_uni>, C<isPSXSPC_utf8>, C<isPSXSPC_LC>,
+C<isPSXSPC_LC_uvchr>, and C<isPSXSPC_LC_utf8>.
+
 =for apidoc Am|bool|isUPPER|char ch
 Returns a boolean indicating whether the specified character is an
-uppercase character in the platform's native character set.
+uppercase character, analogous to C<m/[[:upper:]]/>.
 See the L<top of this section|/Character classes> for an explanation of variants
-C<isUPPER_A> and C<isUPPER_L1>.
+C<isUPPER_A>, C<isUPPER_L1>, C<isUPPER_uni>, C<isUPPER_utf8>, C<isUPPER_LC>,
+C<isUPPER_LC_uvchr>, and C<isUPPER_LC_utf8>.
 
-=for apidoc Am|bool|isWORDCHAR|char ch
+=for apidoc Am|bool|isPRINT|char ch
 Returns a boolean indicating whether the specified character is a
-character that is any of: alphabetic, numeric, or an underscore.  This is the
-same as what C<\w> matches in a regular expression.
-C<isALNUM()> is a synonym provided for backward compatibility.  Note that it
-does not have the standard C language meaning of alphanumeric, since it matches
-an underscore and the standard meaning does not.
+printable character, analogous to C<m/[[:print:]]/>.
 See the L<top of this section|/Character classes> for an explanation of variants
-C<isWORDCHAR_A> and C<isWORDCHAR_L1>.
+C<isPRINT_A>, C<isPRINT_L1>, C<isPRINT_uni>, C<isPRINT_utf8>, C<isPRINT_LC>,
+C<isPRINT_LC_uvchr>, and C<isPRINT_LC_utf8>.
 
+=for apidoc Am|bool|isWORDCHAR|char ch
+Returns a boolean indicating whether the specified character is a character
+that is a word character, analogous to what C<m/\w/> and C<m/[[:word:]]/> match
+in a regular expression.  A word character is an alphabetic character, a
+decimal digit, a connecting punctuation character (such as an underscore), or
+a "mark" character that attaches to one of those (like some sort of accent).
+C<isALNUM()> is a synonym provided for backward compatibility, even though a
+word character includes more than the standard C language meaning of
+alphanumeric.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isWORDCHAR_A>, C<isWORDCHAR_L1>, C<isWORDCHAR_uni>, C<isWORDCHAR_utf8>,
+C<isWORDCHAR_LC>, C<isWORDCHAR_LC_uvchr>, and C<isWORDCHAR_LC_utf8>.
+
 =for apidoc Am|bool|isXDIGIT|char ch
 Returns a boolean indicating whether the specified character is a hexadecimal
-digit, [0-9A-Fa-f].  Variants C<isXDIGIT_A()> and C<isXDIGIT_L1()> are
-identical to C<isXDIGIT()>.
+digit.  In the ASCII range these are C<[0-9A-Fa-f]>.  Variants C<isXDIGIT_A()>
+and C<isXDIGIT_L1()> are identical to C<isXDIGIT()>.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isXDIGIT_uni>, C<isXDIGIT_utf8>, C<isXDIGIT_LC>, C<isXDIGIT_LC_uvchr>, and
+C<isXDIGIT_LC_utf8>.
 
+=for apidoc Am|bool|isIDFIRST|char ch
+Returns a boolean indicating whether the specified character can be the first
+character of an identifier.  This is very close to, but not quite the same as
+the official Unicode property C<XID_Start>.  The difference is that this
+returns true only if the input character also matches L</isWORDCHAR>.
+See the L<top of this section|/Character classes> for an explanation of variants
+C<isIDFIRST_A>, C<isIDFIRST_L1>, C<isIDFIRST_uni>, C<isIDFIRST_utf8>,
+C<isIDFIRST_LC>, C<isIDFIRST_LC_uvchr>, and C<isIDFIRST_LC_utf8>.
+
+=for apidoc Am|bool|isIDCONT|char ch
+Returns a boolean indicating whether the specified character can be the
+second or succeeding character of an identifier.  This is very close to, but
+not quite the same as the official Unicode property C<XID_Continue>.  The
+difference is that this returns true only if the input character also matches
+L</isWORDCHAR>.  See the L<top of this section|/Character classes> for an
+explanation of variants C<isIDCONT_A>, C<isIDCONT_L1>, C<isIDCONT_uni>,
+C<isIDCONT_utf8>, C<isIDCONT_LC>, C<isIDCONT_LC_uvchr>, and
+C<isIDCONT_LC_utf8>.
+
+=head1 Miscellaneous Functions
+
+=for apidoc Am|U8|READ_XDIGIT|char str*
+Returns the value of an ASCII-range hex digit and advances the string pointer.
+Behaviour is only well defined when isXDIGIT(*str) is true.
+
 =head1 Character case changing
 
 =for apidoc Am|char|toUPPER|char ch
-Converts the specified character to uppercase in the platform's native
-character set, if possible; otherwise returns the input character itself.
+Converts the specified character to uppercase, if possible; otherwise returns
+the input character itself.
 
 =for apidoc Am|char|toLOWER|char ch
-Converts the specified character to lowercase in the platform's native
-character set, if possible; otherwise returns the input character itself.
+Converts the specified character to lowercase, if possible; otherwise returns
+the input character itself.
 
 =cut
 
+XXX Still undocumented isVERTWS_uni and _utf8, and the other toUPPER etc functions
+
 Note that these macros are repeated in Devel::PPPort, so should also be
 patched there.  The file as of this writing is cpan/Devel-PPPort/parts/inc/misc
 
 */
 
-/* FITS_IN_8_BITS(c) returns true if c occupies no more than 8 bits.  It is
- * designed to be hopefully bomb-proof, making sure that no bits of
- * information are lost even on a 64-bit machine, but to get the compiler to
- * optimize it out if possible.  This is because Configure makes sure that the
- * machine has an 8-bit byte, so if c is stored in a byte, the sizeof()
- * guarantees that this evaluates to a constant true at compile time.  The use
- * of the mask instead of '< 256' keeps gcc from complaining that it is alway
- * true, when c's storage class is a byte.  Use U64TYPE because U64 is known
- * only in the perl core, and this macro can be called from outside that */
+/* Specify the widest unsigned type on the platform.  Use U64TYPE because U64
+ * is known only in the perl core, and this macro can be called from outside
+ * that */
 #ifdef HAS_QUAD
-#  define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || (((U64TYPE)(c) & 0xFF) == (U64TYPE)(c)))
+#   define WIDEST_UTYPE U64TYPE
 #else
-#  define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || (((U32)(c) & 0xFF) == (U32)(c)))
+#   define WIDEST_UTYPE U32
 #endif
 
-#define isASCII(c)    (FITS_IN_8_BITS(c) ? NATIVE_TO_UNI((U8) c) <= 127 : 0)
+/* FITS_IN_8_BITS(c) returns true if c doesn't have  a bit set other than in
+ * the lower 8.  It is designed to be hopefully bomb-proof, making sure that no
+ * bits of information are lost even on a 64-bit machine, but to get the
+ * compiler to optimize it out if possible.  This is because Configure makes
+ * sure that the machine has an 8-bit byte, so if c is stored in a byte, the
+ * sizeof() guarantees that this evaluates to a constant true at compile time.
+ */
+#define FITS_IN_8_BITS(c) ((sizeof(c) == 1) || !(((WIDEST_UTYPE)(c)) & ~0xFF))
+
+#ifdef EBCDIC
+#   define isASCII(c)    (FITS_IN_8_BITS(c) && (NATIVE_TO_UNI((U8) (c)) < 128))
+#else
+#   define isASCII(c)    ((WIDEST_UTYPE)(c) < 128)
+#endif
+
 #define isASCII_A(c)  isASCII(c)
+#define isASCII_L1(c)  isASCII(c)
 
+/* The lower 3 bits in both the ASCII and EBCDIC representations of '0' are 0,
+ * and the 8 possible permutations of those bits exactly comprise the 8 octal
+ * digits */
+#define isOCTAL_A(c)  cBOOL(FITS_IN_8_BITS(c) && (0xF8 & (c)) == '0')
+
 /* ASCII range only */
 #ifdef H_PERL       /* If have access to perl.h, lookup in its table */
-/* Bits for PL_charclass[] */
-#  define _CC_ALNUMC_A         (1<<0)
-#  define _CC_ALNUMC_L1        (1<<1)
-#  define _CC_ALPHA_A          (1<<2)
-#  define _CC_ALPHA_L1         (1<<3)
-#  define _CC_BLANK_A          (1<<4)
-#  define _CC_BLANK_L1         (1<<5)
-#  define _CC_CHARNAME_CONT    (1<<6)
-#  define _CC_CNTRL_A          (1<<7)
-#  define _CC_CNTRL_L1         (1<<8)
-#  define _CC_DIGIT_A          (1<<9)
-#  define _CC_GRAPH_A          (1<<10)
-#  define _CC_GRAPH_L1         (1<<11)
-#  define _CC_IDFIRST_A        (1<<12)
-#  define _CC_IDFIRST_L1       (1<<13)
-#  define _CC_LOWER_A          (1<<14)
-#  define _CC_LOWER_L1         (1<<15)
-#  define _CC_OCTAL_A          (1<<16)
-#  define _CC_PRINT_A          (1<<17)
-#  define _CC_PRINT_L1         (1<<18)
-#  define _CC_PSXSPC_A         (1<<19)
-#  define _CC_PSXSPC_L1        (1<<20)
-#  define _CC_PUNCT_A          (1<<21)
-#  define _CC_PUNCT_L1         (1<<22)
-#  define _CC_SPACE_A          (1<<23)
-#  define _CC_SPACE_L1         (1<<24)
-#  define _CC_UPPER_A          (1<<25)
-#  define _CC_UPPER_L1         (1<<26)
-#  define _CC_WORDCHAR_A       (1<<27)
-#  define _CC_WORDCHAR_L1      (1<<28)
-#  define _CC_XDIGIT_A         (1<<29)
-#  define _CC_NONLATIN1_FOLD   (1<<30)
-/* Unused
- *                             (1<<31)
- */
 
+/* Character class numbers.  For internal core Perl use only.  The ones less
+ * than 32 are used in PL_charclass[] and the ones up through the one that
+ * corresponds to <_HIGHEST_REGCOMP_DOT_H_SYNC> are used by regcomp.h and
+ * related files.  PL_charclass ones use names used in l1_char_class_tab.h but
+ * their actual definitions are here.  If that file has a name not used here,
+ * it won't compile.
+ *
+ * The first group of these is ordered in what I (khw) estimate to be the
+ * frequency of their use.  This gives a slight edge to exiting a loop earlier
+ * (in reginclass() in regexec.c) */
+#  define _CC_WORDCHAR           0      /* \w and [:word:] */
+#  define _CC_DIGIT              1      /* \d and [:digit:] */
+#  define _CC_ALPHA              2      /* [:alpha:] */
+#  define _CC_LOWER              3      /* [:lower:] */
+#  define _CC_UPPER              4      /* [:upper:] */
+#  define _CC_PUNCT              5      /* [:punct:] */
+#  define _CC_PRINT              6      /* [:print:] */
+#  define _CC_ALPHANUMERIC       7      /* [:alnum:] */
+#  define _CC_GRAPH              8      /* [:graph:] */
+#  define _CC_CASED              9      /* [:lower:] and [:upper:] under /i */
+
+#define _FIRST_NON_SWASH_CC     10
+/* The character classes above are implemented with swashes.  The second group
+ * (just below) contains the ones implemented without.  These are also sorted
+ * in rough order of the frequency of their use, except that \v should be last,
+ * as it isn't a real Posix character class, and some (small) inefficiencies in
+ * regular expression handling would be introduced by putting it in the middle
+ * of those that are.  Also, cntrl and ascii come after the others as it may be
+ * useful to group these which have no members that match above Latin1, (or
+ * above ASCII in the latter case) */
+
+#  define _CC_SPACE             10      /* \s */
+#  define _CC_BLANK             11      /* [:blank:] */
+#  define _CC_XDIGIT            12      /* [:xdigit:] */
+#  define _CC_PSXSPC            13      /* [:space:] */
+#  define _CC_CNTRL             14      /* [:cntrl:] */
+#  define _CC_ASCII             15      /* [:ascii:] */
+#  define _CC_VERTSPACE         16      /* \v */
+
+#  define _HIGHEST_REGCOMP_DOT_H_SYNC _CC_VERTSPACE
+
+/* The members of the third group below do not need to be coordinated with data
+ * structures in regcomp.[ch] and regexec.c */
+#  define _CC_IDFIRST           17
+#  define _CC_CHARNAME_CONT     18
+#  define _CC_NONLATIN1_FOLD    19
+#  define _CC_QUOTEMETA         20
+#  define _CC_NON_FINAL_FOLD    21
+#  define _CC_IS_IN_SOME_FOLD   22
+#  define _CC_BACKSLASH_FOO_LBRACE_IS_META 31 /* temp, see mk_PL_charclass.pl */
+/* Unused: 23-30
+ * If more bits are needed, one could add a second word for non-64bit
+ * QUAD_IS_INT systems, using some #ifdefs to distinguish between having a 2nd
+ * word or not.  The IS_IN_SOME_FOLD bit is the most easily expendable, as it
+ * is used only for optimization (as of this writing), and differs in the
+ * Latin1 range from the ALPHA bit only in two relatively unimportant
+ * characters: the masculine and feminine ordinal indicators, so removing it
+ * would just cause /i regexes which match them to run less efficiently */
+
+#if defined(PERL_CORE) || defined(PERL_EXT)
+/* An enum version of the character class numbers, to help compilers
+ * optimize */
+typedef enum {
+    _CC_ENUM_ALPHA          = _CC_ALPHA,
+    _CC_ENUM_ALPHANUMERIC   = _CC_ALPHANUMERIC,
+    _CC_ENUM_ASCII          = _CC_ASCII,
+    _CC_ENUM_BLANK          = _CC_BLANK,
+    _CC_ENUM_CASED          = _CC_CASED,
+    _CC_ENUM_CNTRL          = _CC_CNTRL,
+    _CC_ENUM_DIGIT          = _CC_DIGIT,
+    _CC_ENUM_GRAPH          = _CC_GRAPH,
+    _CC_ENUM_LOWER          = _CC_LOWER,
+    _CC_ENUM_PRINT          = _CC_PRINT,
+    _CC_ENUM_PSXSPC         = _CC_PSXSPC,
+    _CC_ENUM_PUNCT          = _CC_PUNCT,
+    _CC_ENUM_SPACE          = _CC_SPACE,
+    _CC_ENUM_UPPER          = _CC_UPPER,
+    _CC_ENUM_VERTSPACE      = _CC_VERTSPACE,
+    _CC_ENUM_WORDCHAR       = _CC_WORDCHAR,
+    _CC_ENUM_XDIGIT         = _CC_XDIGIT
+} _char_class_number;
+#endif
+
+#define POSIX_SWASH_COUNT _FIRST_NON_SWASH_CC
+#define POSIX_CC_COUNT    (_HIGHEST_REGCOMP_DOT_H_SYNC + 1)
+
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+#   if _CC_WORDCHAR != 0 || _CC_DIGIT != 1 || _CC_ALPHA != 2 || _CC_LOWER != 3 \
+       || _CC_UPPER != 4 || _CC_PUNCT != 5 || _CC_PRINT != 6                   \
+       || _CC_ALPHANUMERIC != 7 || _CC_GRAPH != 8 || _CC_CASED != 9
+      #error Need to adjust order of swash_property_names[]
+#   endif
+
+/* This is declared static in each of the few files that this is #defined for
+ * to keep them from being publicly accessible.  Hence there is a small amount
+ * of wasted space */
+
+static const char* const swash_property_names[] = {
+    "XPosixWord",
+    "XPosixDigit",
+    "XPosixAlpha",
+    "XPosixLower",
+    "XPosixUpper",
+    "XPosixPunct",
+    "XPosixPrint",
+    "XPosixAlnum",
+    "XPosixGraph",
+    "Cased"
+};
+#endif
+
 #  ifdef DOINIT
 EXTCONST  U32 PL_charclass[] = {
 #    include "l1_char_class_tab.h"
@@ -624,30 +873,50 @@
 EXTCONST U32 PL_charclass[];
 #  endif
 
-#   define isALNUMC_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_ALNUMC_A))
-#   define isALPHA_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_ALPHA_A))
-#   define isBLANK_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_BLANK_A))
-#   define isCNTRL_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_CNTRL_A))
-#   define isDIGIT_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_DIGIT_A))
-#   define isGRAPH_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_GRAPH_A))
-#   define isIDFIRST_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_IDFIRST_A))
-#   define isLOWER_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_LOWER_A))
-#   define isOCTAL_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_OCTAL_A))
-#   define isPRINT_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PRINT_A))
-#   define isPSXSPC_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PSXSPC_A))
-#   define isPUNCT_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PUNCT_A))
-#   define isSPACE_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_SPACE_A))
-#   define isUPPER_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_UPPER_A))
-#   define isWORDCHAR_A(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_WORDCHAR_A))
-#   define isXDIGIT_A(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_XDIGIT_A))
+    /* The 1U keeps Solaris from griping when shifting sets the uppermost bit */
+#   define _CC_mask(classnum) (1U << (classnum))
+#   define _generic_isCC(c, classnum) cBOOL(FITS_IN_8_BITS(c) \
+                && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_mask(classnum)))
+
+    /* The mask for the _A versions of the macros; it just adds in the bit for
+     * ASCII. */
+#   define _CC_mask_A(classnum) (_CC_mask(classnum) | _CC_mask(_CC_ASCII))
+
+    /* The _A version makes sure that both the desired bit and the ASCII bit
+     * are present */
+#   define _generic_isCC_A(c, classnum) (FITS_IN_8_BITS(c) \
+        && ((PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_mask_A(classnum)) \
+                                == _CC_mask_A(classnum)))
+
+#   define isALPHA_A(c)  _generic_isCC_A(c, _CC_ALPHA)
+#   define isALPHANUMERIC_A(c) _generic_isCC_A(c, _CC_ALPHANUMERIC)
+#   define isBLANK_A(c)  _generic_isCC_A(c, _CC_BLANK)
+#   define isCNTRL_A(c)  _generic_isCC_A(c, _CC_CNTRL)
+#   define isDIGIT_A(c)  _generic_isCC(c, _CC_DIGIT)
+#   define isGRAPH_A(c)  _generic_isCC_A(c, _CC_GRAPH)
+#   define isLOWER_A(c)  _generic_isCC_A(c, _CC_LOWER)
+#   define isPRINT_A(c)  _generic_isCC_A(c, _CC_PRINT)
+#   define isPSXSPC_A(c) _generic_isCC_A(c, _CC_PSXSPC)
+#   define isPUNCT_A(c)  _generic_isCC_A(c, _CC_PUNCT)
+#   define isSPACE_A(c)  _generic_isCC_A(c, _CC_SPACE)
+#   define isUPPER_A(c)  _generic_isCC_A(c, _CC_UPPER)
+#   define isWORDCHAR_A(c) _generic_isCC_A(c, _CC_WORDCHAR)
+#   define isXDIGIT_A(c)  _generic_isCC(c, _CC_XDIGIT)
+#   define isIDFIRST_A(c) _generic_isCC_A(c, ( _CC_IDFIRST))
+
     /* Either participates in a fold with a character above 255, or is a
      * multi-char fold */
-#   define _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) ((! cBOOL(FITS_IN_8_BITS(c))) || (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_NONLATIN1_FOLD))
+#   define _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(c) ((! cBOOL(FITS_IN_8_BITS(c))) || (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_mask(_CC_NONLATIN1_FOLD)))
+
+#   define _isQUOTEMETA(c) _generic_isCC(c, _CC_QUOTEMETA)
+#   define _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \
+                                            _generic_isCC(c, _CC_NON_FINAL_FOLD)
+#   define _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c) \
+                                            _generic_isCC(c, _CC_IS_IN_SOME_FOLD)
 #else   /* No perl.h. */
-#   define isOCTAL_A(c)  ((c) >= '0' && (c) <= '9')
 #   ifdef EBCDIC
-#       define isALNUMC_A(c)   (isASCII(c) && isALNUMC(c))
 #       define isALPHA_A(c)    (isASCII(c) && isALPHA(c))
+#       define isALPHANUMERIC_A(c) (isASCII(c) && isALPHANUMERIC(c))
 #       define isBLANK_A(c)    (isASCII(c) && isBLANK(c))
 #       define isCNTRL_A(c)    (isASCII(c) && isCNTRL(c))
 #       define isDIGIT_A(c)    (isASCII(c) && isDIGIT(c))
@@ -662,41 +931,52 @@
 #       define isWORDCHAR_A(c) (isASCII(c) && isWORDCHAR(c))
 #       define isXDIGIT_A(c)   (isASCII(c) && isXDIGIT(c))
 #   else   /* ASCII platform, no perl.h */
-#       define isALNUMC_A(c) (isALPHA_A(c) || isDIGIT_A(c))
 #       define isALPHA_A(c)  (isUPPER_A(c) || isLOWER_A(c))
+#       define isALPHANUMERIC_A(c) (isALPHA_A(c) || isDIGIT_A(c))
 #       define isBLANK_A(c)  ((c) == ' ' || (c) == '\t')
-#       define isCNTRL_A(c)  (FITS_IN_8_BITS(c) ? ((U8) (c) < ' ' || (c) == 127) : 0)
-#       define isDIGIT_A(c)  ((c) >= '0' && (c) <= '9')
+#       define isCNTRL_A(c) (FITS_IN_8_BITS(c) && ((U8) (c) < ' ' || (c) == 127))
+#       define isDIGIT_A(c)  ((c) <= '9' && (c) >= '0')
 #       define isGRAPH_A(c)  (isWORDCHAR_A(c) || isPUNCT_A(c))
 #       define isIDFIRST_A(c) (isALPHA_A(c) || (c) == '_')
 #       define isLOWER_A(c)  ((c) >= 'a' && (c) <= 'z')
 #       define isPRINT_A(c)  (((c) >= 32 && (c) < 127))
 #       define isPSXSPC_A(c) (isSPACE_A(c) || (c) == '\v')
-#       define isPUNCT_A(c)  (((c) >= 33 && (c) <= 47) || ((c) >= 58 && (c) <= 64)  || ((c) >= 91 && (c) <= 96) || ((c) >= 123 && (c) <= 126))
-#       define isSPACE_A(c)  ((c) == ' ' || (c) == '\t' || (c) == '\n' || (c) =='\r' || (c) == '\f')
-#       define isUPPER_A(c) ((c) >= 'A' && (c) <= 'Z')
+#       define isPUNCT_A(c)  (((c) >= 33 && (c) <= 47)              \
+                              || ((c) >= 58 && (c) <= 64)           \
+                              || ((c) >= 91 && (c) <= 96)           \
+                              || ((c) >= 123 && (c) <= 126))
+#       define isSPACE_A(c)  ((c) == ' '                            \
+                              || (c) == '\t'                        \
+                              || (c) == '\n'                        \
+                              || (c) =='\r'                         \
+                              || (c) == '\f')
+#       define isUPPER_A(c)  ((c) <= 'Z' && (c) >= 'A')
 #       define isWORDCHAR_A(c) (isALPHA_A(c) || isDIGIT_A(c) || (c) == '_')
-#       define isXDIGIT_A(c)   (isDIGIT_A(c) || ((c) >= 'a' && (c) <= 'f') || ((c) >= 'A' && (c) <= 'F'))
+#       define isXDIGIT_A(c)   (isDIGIT_A(c)                        \
+                                || ((c) >= 'a' && (c) <= 'f')       \
+                                || ((c) <= 'F' && (c) >= 'A'))
 #   endif
 #endif  /* ASCII range definitions */
 
 /* Latin1 definitions */
 #ifdef H_PERL
-#   define isALNUMC_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_ALNUMC_L1))
-#   define isALPHA_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_ALPHA_L1))
-#   define isBLANK_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_BLANK_L1))
+#   define isALPHA_L1(c)  _generic_isCC(c, _CC_ALPHA)
+#   define isALPHANUMERIC_L1(c) _generic_isCC(c, _CC_ALPHANUMERIC)
+#   define isBLANK_L1(c)  _generic_isCC(c, _CC_BLANK)
+
 /*  continuation character for legal NAME in \N{NAME} */
-#   define isCHARNAME_CONT(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_CHARNAME_CONT))
-#   define isCNTRL_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_CNTRL_L1))
-#   define isGRAPH_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_GRAPH_L1))
-#   define isIDFIRST_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_IDFIRST_L1))
-#   define isLOWER_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_LOWER_L1))
-#   define isPRINT_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PRINT_L1))
-#   define isPSXSPC_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PSXSPC_L1))
-#   define isPUNCT_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_PUNCT_L1))
-#   define isSPACE_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_SPACE_L1))
-#   define isUPPER_L1(c)  cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_UPPER_L1))
-#   define isWORDCHAR_L1(c) cBOOL(FITS_IN_8_BITS(c) && (PL_charclass[(U8) NATIVE_TO_UNI(c)] & _CC_WORDCHAR_L1))
+#   define isCHARNAME_CONT(c) _generic_isCC(c, _CC_CHARNAME_CONT)
+
+#   define isCNTRL_L1(c)  _generic_isCC(c, _CC_CNTRL)
+#   define isGRAPH_L1(c)  _generic_isCC(c, _CC_GRAPH)
+#   define isLOWER_L1(c)  _generic_isCC(c, _CC_LOWER)
+#   define isPRINT_L1(c)  _generic_isCC(c, _CC_PRINT)
+#   define isPSXSPC_L1(c) _generic_isCC(c, _CC_PSXSPC)
+#   define isPUNCT_L1(c)  _generic_isCC(c, _CC_PUNCT)
+#   define isSPACE_L1(c)  _generic_isCC(c, _CC_SPACE)
+#   define isUPPER_L1(c)  _generic_isCC(c, _CC_UPPER)
+#   define isWORDCHAR_L1(c) _generic_isCC(c, _CC_WORDCHAR)
+#   define isIDFIRST_L1(c) _generic_isCC(c, _CC_IDFIRST)
 #else /* No access to perl.h.  Only a few provided here, just in case needed
        * for backwards compatibility */
     /* ALPHAU includes Unicode semantics for latin1 characters.  It has an extra
@@ -703,23 +983,19 @@
      * >= AA test to speed up ASCII-only tests at the expense of the others */
 #   define isALPHA_L1(c) (isALPHA(c) || (NATIVE_TO_UNI((U8) c) >= 0xAA \
 	&& ((NATIVE_TO_UNI((U8) c) >= 0xC0 \
-		&& NATIVE_TO_UNI((U8) c) != 0xD7 && NATIVE_TO_UNI((U8) c) != 0xF7) \
+             && NATIVE_TO_UNI((U8) c) != 0xD7 && NATIVE_TO_UNI((U8) c) != 0xF7) \
 	    || NATIVE_TO_UNI((U8) c) == 0xAA \
 	    || NATIVE_TO_UNI((U8) c) == 0xB5 \
 	    || NATIVE_TO_UNI((U8) c) == 0xBA)))
-#   define isCHARNAME_CONT(c) (isALNUM_L1(c) || (c) == ' ' || (c) == '-' || (c) == '(' || (c) == ')' || (c) == ':' || NATIVE_TO_UNI((U8) c) == 0xA0)
+#   define isCHARNAME_CONT(c) (isWORDCHAR_L1(c)                         \
+                               || (c) == ' '                            \
+                               || (c) == '-'                            \
+                               || (c) == '('                            \
+                               || (c) == ')'                            \
+                               || (c) == ':'                            \
+                               || NATIVE_TO_UNI((U8) c) == 0xA0)
 #endif
 
-/* Macros for backwards compatibility and for completeness when the ASCII and
- * Latin1 values are identical */
-#define isALNUM(c)      isWORDCHAR(c)
-#define isALNUMU(c)     isWORDCHAR_L1(c)
-#define isALPHAU(c)     isALPHA_L1(c)
-#define isDIGIT_L1(c)   isDIGIT_A(c)
-#define isOCTAL(c)      isOCTAL_A(c)
-#define isOCTAL_L1(c)   isOCTAL_A(c)
-#define isXDIGIT_L1(c)  isXDIGIT_A(c)
-
 /* Macros that differ between EBCDIC and ASCII.  Where C89 defines a function,
  * that is used in the EBCDIC form, because in EBCDIC we do not do locales:
  * therefore can use native functions.  For those where C89 doesn't define a
@@ -727,8 +1003,8 @@
  * with Latin1, which the three currently recognized by Perl are.  Some libc's
  * have an isblank(), but it's not guaranteed. */
 #ifdef EBCDIC
-#   define isALNUMC(c)	isalnum(c)
 #   define isALPHA(c)	isalpha(c)
+#   define isALPHANUMERIC(c)	isalnum(c)
 #   define isBLANK(c)	((c) == ' ' || (c) == '\t' || NATIVE_TO_UNI(c) == 0xA0)
 #   define isCNTRL(c)	iscntrl(c)
 #   define isDIGIT(c)	isdigit(c)
@@ -738,7 +1014,8 @@
 #   define isPRINT(c)	isprint(c)
 #   define isPSXSPC(c)	isspace(c)
 #   define isPUNCT(c)	ispunct(c)
-#   define isSPACE(c)   (isPSXSPC(c) && (c) != '\v')
+#   define isSPACE(c)   (isPSXSPC(c) /* && (c) != '\v' (Experimentally making
+                                        these macros identical) */)
 #   define isUPPER(c)	isupper(c)
 #   define isXDIGIT(c)	isxdigit(c)
 #   define isWORDCHAR(c) (isalnum(c) || (c) == '_')
@@ -745,7 +1022,7 @@
 #   define toLOWER(c)	tolower(c)
 #   define toUPPER(c)	toupper(c)
 #else /* Not EBCDIC: ASCII-only matching */
-#   define isALNUMC(c)  isALNUMC_A(c)
+#   define isALPHANUMERIC(c)  isALPHANUMERIC_A(c)
 #   define isALPHA(c)   isALPHA_A(c)
 #   define isBLANK(c)   isBLANK_A(c)
 #   define isCNTRL(c)   isCNTRL_A(c)
@@ -787,150 +1064,318 @@
 
 #ifdef USE_NEXT_CTYPE
 
-#  define isALNUM_LC(c) \
-	(NXIsAlNum((unsigned int)(c)) || (char)(c) == '_')
-#  define isIDFIRST_LC(c) \
-	(NXIsAlpha((unsigned int)(c)) || (char)(c) == '_')
+#  define isALPHANUMERIC_LC(c)	NXIsAlNum((unsigned int)(c))
 #  define isALPHA_LC(c)		NXIsAlpha((unsigned int)(c))
-#  define isSPACE_LC(c)		NXIsSpace((unsigned int)(c))
+#  define isASCII_LC(c)		isASCII((unsigned int)(c))
+#  define isBLANK_LC(c)		isBLANK((unsigned int)(c))
+#  define isCNTRL_LC(c)		NXIsCntrl((unsigned int)(c))
 #  define isDIGIT_LC(c)		NXIsDigit((unsigned int)(c))
-#  define isUPPER_LC(c)		NXIsUpper((unsigned int)(c))
+#  define isGRAPH_LC(c)		NXIsGraph((unsigned int)(c))
+#  define isIDFIRST_LC(c) (NXIsAlpha((unsigned int)(c)) || (char)(c) == '_')
 #  define isLOWER_LC(c)		NXIsLower((unsigned int)(c))
-#  define isALNUMC_LC(c)	NXIsAlNum((unsigned int)(c))
-#  define isCNTRL_LC(c)		NXIsCntrl((unsigned int)(c))
-#  define isGRAPH_LC(c)		NXIsGraph((unsigned int)(c))
 #  define isPRINT_LC(c)		NXIsPrint((unsigned int)(c))
 #  define isPUNCT_LC(c)		NXIsPunct((unsigned int)(c))
+#  define isSPACE_LC(c)		NXIsSpace((unsigned int)(c))
+#  define isUPPER_LC(c)		NXIsUpper((unsigned int)(c))
+#  define isWORDCHAR_LC(c) (NXIsAlNum((unsigned int)(c)) || (char)(c) == '_')
+#  define isXDIGIT_LC(c)        NXIsXDigit((unsigned int)(c))
+#  define toLOWER_LC(c)		NXToLower((unsigned int)(c))
 #  define toUPPER_LC(c)		NXToUpper((unsigned int)(c))
-#  define toLOWER_LC(c)		NXToLower((unsigned int)(c))
 
 #else /* !USE_NEXT_CTYPE */
 
 #  if defined(CTYPE256) || (!defined(isascii) && !defined(HAS_ISASCII))
 
-#    define isALNUM_LC(c)   (isalnum((unsigned char)(c)) || (char)(c) == '_')
-#    define isIDFIRST_LC(c) (isalpha((unsigned char)(c)) || (char)(c) == '_')
-#    define isALPHA_LC(c)	isalpha((unsigned char)(c))
-#    define isSPACE_LC(c)	isspace((unsigned char)(c))
-#    define isDIGIT_LC(c)	isdigit((unsigned char)(c))
-#    define isUPPER_LC(c)	isupper((unsigned char)(c))
-#    define isLOWER_LC(c)	islower((unsigned char)(c))
-#    define isALNUMC_LC(c)	isalnum((unsigned char)(c))
-#    define isCNTRL_LC(c)	iscntrl((unsigned char)(c))
-#    define isGRAPH_LC(c)	isgraph((unsigned char)(c))
-#    define isPRINT_LC(c)	isprint((unsigned char)(c))
-#    define isPUNCT_LC(c)	ispunct((unsigned char)(c))
-#    define toUPPER_LC(c)	toupper((unsigned char)(c))
-#    define toLOWER_LC(c)	tolower((unsigned char)(c))
+/* Use foo_LC_uvchr() instead  of these for beyond the Latin1 range */
 
+#    define isALPHA_LC(c)   (FITS_IN_8_BITS(c) && isalpha((unsigned char)(c)))
+#    define isALPHANUMERIC_LC(c)   (FITS_IN_8_BITS(c)                          \
+                                               && isalnum((unsigned char)(c)))
+#    ifdef HAS_ISASCII
+#	define isASCII_LC(c) (FITS_IN_8_BITS(c) && isascii((unsigned char)(c)))
+#    else
+#	define isASCII_LC(c) (FITS_IN_8_BITS(c) && isASCII((unsigned char)(c)))
+#    endif
+#    ifdef HAS_ISBLANK
+#	define isBLANK_LC(c) (FITS_IN_8_BITS(c) && isblank((unsigned char)(c)))
+#    else
+#	define isBLANK_LC(c) (FITS_IN_8_BITS(c) && isBLANK((unsigned char)(c)))
+#    endif
+#    define isCNTRL_LC(c)    (FITS_IN_8_BITS(c) && iscntrl((unsigned char)(c)))
+#    define isDIGIT_LC(c)    (FITS_IN_8_BITS(c) && isdigit((unsigned char)(c)))
+#    define isGRAPH_LC(c)    (FITS_IN_8_BITS(c) && isgraph((unsigned char)(c)))
+#    define isIDFIRST_LC(c) (FITS_IN_8_BITS(c)                                 \
+                            && (isalpha((unsigned char)(c)) || (char)(c) == '_'))
+#    define isLOWER_LC(c)    (FITS_IN_8_BITS(c) && islower((unsigned char)(c)))
+#    define isPRINT_LC(c)    (FITS_IN_8_BITS(c) && isprint((unsigned char)(c)))
+#    define isPUNCT_LC(c)    (FITS_IN_8_BITS(c) && ispunct((unsigned char)(c)))
+#    define isSPACE_LC(c)    (FITS_IN_8_BITS(c) && isspace((unsigned char)(c)))
+#    define isUPPER_LC(c)    (FITS_IN_8_BITS(c) && isupper((unsigned char)(c)))
+#    define isWORDCHAR_LC(c) (FITS_IN_8_BITS(c)                                \
+                            && (isalnum((unsigned char)(c)) || (char)(c) == '_'))
+#    define isXDIGIT_LC(c)   (FITS_IN_8_BITS(c) && isxdigit((unsigned char)(c)))
+#    define toLOWER_LC(c) (FITS_IN_8_BITS(c) ? tolower((unsigned char)(c)) : (c))
+#    define toUPPER_LC(c) (FITS_IN_8_BITS(c) ? toupper((unsigned char)(c)) : (c))
+
 #  else
 
-#    define isALNUM_LC(c)	(isascii(c) && (isalnum(c) || (c) == '_'))
-#    define isIDFIRST_LC(c)	(isascii(c) && (isalpha(c) || (c) == '_'))
 #    define isALPHA_LC(c)	(isascii(c) && isalpha(c))
-#    define isSPACE_LC(c)	(isascii(c) && isspace(c))
+#    define isALPHANUMERIC_LC(c) (isascii(c) && isalnum(c))
+#    define isASCII_LC(c)	isascii(c)
+#    ifdef HAS_ISBLANK
+#	define isBLANK_LC(c)	(isascii(c) && isblank(c))
+#    else
+#	define isBLANK_LC(c)	isBLANK_A(c)
+#    endif
+#    define isCNTRL_LC(c)	(isascii(c) && iscntrl(c))
 #    define isDIGIT_LC(c)	(isascii(c) && isdigit(c))
-#    define isUPPER_LC(c)	(isascii(c) && isupper(c))
+#    define isGRAPH_LC(c)	(isascii(c) && isgraph(c))
+#    define isIDFIRST_LC(c)	(isascii(c) && (isalpha(c) || (c) == '_'))
 #    define isLOWER_LC(c)	(isascii(c) && islower(c))
-#    define isALNUMC_LC(c)	(isascii(c) && isalnum(c))
-#    define isCNTRL_LC(c)	(isascii(c) && iscntrl(c))
-#    define isGRAPH_LC(c)	(isascii(c) && isgraph(c))
 #    define isPRINT_LC(c)	(isascii(c) && isprint(c))
 #    define isPUNCT_LC(c)	(isascii(c) && ispunct(c))
-#    define toUPPER_LC(c)	toupper(c)
-#    define toLOWER_LC(c)	tolower(c)
+#    define isSPACE_LC(c)	(isascii(c) && isspace(c))
+#    define isUPPER_LC(c)	(isascii(c) && isupper(c))
+#    define isWORDCHAR_LC(c)	(isascii(c) && (isalnum(c) || (c) == '_'))
+#    define isXDIGIT_LC(c)      (isascii(c) && isxdigit(c))
+#    define toLOWER_LC(c)	(isascii(c) ? tolower(c) : (c))
+#    define toUPPER_LC(c)	(isascii(c) ? toupper(c) : (c))
 
 #  endif
 #endif /* USE_NEXT_CTYPE */
 
-#define isPSXSPC_LC(c)		(isSPACE_LC(c) || (c) == '\v')
-#define isBLANK_LC(c)		isBLANK(c) /* could be wrong */
+#define isIDCONT(c)             isWORDCHAR(c)
+#define isIDCONT_A(c)           isWORDCHAR_A(c)
+#define isIDCONT_L1(c)	        isWORDCHAR_L1(c)
+#define isIDCONT_LC(c)	        isWORDCHAR_LC(c)
+#define isPSXSPC_LC(c)		isSPACE_LC(c)
 
-#define isALNUM_uni(c)		is_uni_alnum(c)
-#define isIDFIRST_uni(c)	is_uni_idfirst(c)
-#define isALPHA_uni(c)		is_uni_alpha(c)
-#define isSPACE_uni(c)		is_uni_space(c)
-#define isDIGIT_uni(c)		is_uni_digit(c)
-#define isUPPER_uni(c)		is_uni_upper(c)
-#define isLOWER_uni(c)		is_uni_lower(c)
-#define isASCII_uni(c)		is_uni_ascii(c)
-#define isCNTRL_uni(c)		is_uni_cntrl(c)
-#define isGRAPH_uni(c)		is_uni_graph(c)
-#define isPRINT_uni(c)		is_uni_print(c)
-#define isPUNCT_uni(c)		is_uni_punct(c)
-#define isXDIGIT_uni(c)		is_uni_xdigit(c)
+/* For internal core Perl use only.  If the input is Latin1, use the Latin1
+ * macro; otherwise use the function 'above_latin1'.  Won't compile if 'c' isn't unsigned, as
+ * won't match above_latin1 prototype. The macros do bounds checking, so have
+ * duplicate checks here, so could create versions of the macros that don't,
+ * but experiments show that gcc optimizes them out anyway. */
+
+/* Note that all ignore 'use bytes' */
+#define _generic_uni(classnum, above_latin1, c) ((c) < 256                    \
+                                             ? _generic_isCC(c, classnum)     \
+                                             : above_latin1(c))
+#define _generic_swash_uni(classnum, c) ((c) < 256                            \
+                                             ? _generic_isCC(c, classnum)     \
+                                             : _is_uni_FOO(classnum, c))
+#define isALPHA_uni(c)      _generic_swash_uni(_CC_ALPHA, c)
+#define isALPHANUMERIC_uni(c) _generic_swash_uni(_CC_ALPHANUMERIC, c)
+#define isASCII_uni(c)      isASCII(c)
+#define isBLANK_uni(c)      _generic_uni(_CC_BLANK, is_HORIZWS_cp_high, c)
+#define isCNTRL_uni(c)      isCNTRL_L1(c) /* All controls are in Latin1 */
+#define isDIGIT_uni(c)      _generic_swash_uni(_CC_DIGIT, c)
+#define isGRAPH_uni(c)      _generic_swash_uni(_CC_GRAPH, c)
+#define isIDCONT_uni(c)     _generic_uni(_CC_WORDCHAR, _is_uni_perl_idcont, c)
+#define isIDFIRST_uni(c)    _generic_uni(_CC_IDFIRST, _is_uni_perl_idstart, c)
+#define isLOWER_uni(c)      _generic_swash_uni(_CC_LOWER, c)
+#define isPRINT_uni(c)      _generic_swash_uni(_CC_PRINT, c)
+
+/* Posix and regular space are identical above Latin1 */
+#define isPSXSPC_uni(c)     _generic_uni(_CC_PSXSPC, is_XPERLSPACE_cp_high, c)
+
+#define isPUNCT_uni(c)      _generic_swash_uni(_CC_PUNCT, c)
+#define isSPACE_uni(c)      _generic_uni(_CC_SPACE, is_XPERLSPACE_cp_high, c)
+#define isUPPER_uni(c)      _generic_swash_uni(_CC_UPPER, c)
+#define isVERTWS_uni(c)     _generic_uni(_CC_VERTSPACE, is_VERTWS_cp_high, c)
+#define isWORDCHAR_uni(c)   _generic_swash_uni(_CC_WORDCHAR, c)
+#define isXDIGIT_uni(c)     _generic_uni(_CC_XDIGIT, is_XDIGIT_cp_high, c)
+
+#define toFOLD_uni(c,s,l)	to_uni_fold(c,s,l)
+#define toLOWER_uni(c,s,l)	to_uni_lower(c,s,l)
+#define toTITLE_uni(c,s,l)	to_uni_title(c,s,l)
 #define toUPPER_uni(c,s,l)	to_uni_upper(c,s,l)
-#define toTITLE_uni(c,s,l)	to_uni_title(c,s,l)
-#define toLOWER_uni(c,s,l)	to_uni_lower(c,s,l)
-#define toFOLD_uni(c,s,l)	to_uni_fold(c,s,l)
 
-#define isPSXSPC_uni(c)		(isSPACE_uni(c) ||(c) == '\f')
-#define isBLANK_uni(c)		isBLANK(c) /* could be wrong */
+#define _generic_LC_uvchr(latin1, above_latin1, c)                            \
+                                    (c < 256 ? latin1(c) : above_latin1(c))
+#define _generic_LC_swash_uvchr(latin1, classnum, c)                          \
+                            (c < 256 ? latin1(c) : _is_uni_FOO(classnum, c))
 
-#define isALNUM_LC_uvchr(c)	(c < 256 ? isALNUM_LC(c) : is_uni_alnum_lc(c))
-#define isIDFIRST_LC_uvchr(c)	(c < 256 ? isIDFIRST_LC(c) : is_uni_idfirst_lc(c))
-#define isALPHA_LC_uvchr(c)	(c < 256 ? isALPHA_LC(c) : is_uni_alpha_lc(c))
-#define isSPACE_LC_uvchr(c)	(c < 256 ? isSPACE_LC(c) : is_uni_space_lc(c))
-#define isDIGIT_LC_uvchr(c)	(c < 256 ? isDIGIT_LC(c) : is_uni_digit_lc(c))
-#define isUPPER_LC_uvchr(c)	(c < 256 ? isUPPER_LC(c) : is_uni_upper_lc(c))
-#define isLOWER_LC_uvchr(c)	(c < 256 ? isLOWER_LC(c) : is_uni_lower_lc(c))
-#define isCNTRL_LC_uvchr(c)	(c < 256 ? isCNTRL_LC(c) : is_uni_cntrl_lc(c))
-#define isGRAPH_LC_uvchr(c)	(c < 256 ? isGRAPH_LC(c) : is_uni_graph_lc(c))
-#define isPRINT_LC_uvchr(c)	(c < 256 ? isPRINT_LC(c) : is_uni_print_lc(c))
-#define isPUNCT_LC_uvchr(c)	(c < 256 ? isPUNCT_LC(c) : is_uni_punct_lc(c))
+#define isALPHA_LC_uvchr(c)  _generic_LC_swash_uvchr(isALPHA_LC, _CC_ALPHA, c)
+#define isALPHANUMERIC_LC_uvchr(c)  _generic_LC_swash_uvchr(isALPHANUMERIC_LC, \
+                                                         _CC_ALPHANUMERIC, c)
+#define isASCII_LC_uvchr(c)  isASCII_LC(c)
+#define isBLANK_LC_uvchr(c)  _generic_LC_uvchr(isBLANK_LC, is_HORIZWS_cp_high, c)
+#define isCNTRL_LC_uvchr(c)  (c < 256 ? isCNTRL_LC(c) : 0)
+#define isDIGIT_LC_uvchr(c)  _generic_LC_swash_uvchr(isDIGIT_LC, _CC_DIGIT, c)
+#define isGRAPH_LC_uvchr(c)  _generic_LC_swash_uvchr(isGRAPH_LC, _CC_GRAPH, c)
+#define isIDCONT_LC_uvchr(c)  _generic_LC_uvchr(isIDCONT_LC,                  \
+                                                  _is_uni_perl_idcont, c)
+#define isIDFIRST_LC_uvchr(c)  _generic_LC_uvchr(isIDFIRST_LC,                 \
+                                                  _is_uni_perl_idstart, c)
+#define isLOWER_LC_uvchr(c)  _generic_LC_swash_uvchr(isLOWER_LC, _CC_LOWER, c)
+#define isPRINT_LC_uvchr(c)  _generic_LC_swash_uvchr(isPRINT_LC, _CC_PRINT, c)
+#define isPSXSPC_LC_uvchr(c) isSPACE_LC_uvchr(c) /* space is identical to posix
+                                                    space under locale */
+#define isPUNCT_LC_uvchr(c)  _generic_LC_swash_uvchr(isPUNCT_LC, _CC_PUNCT, c)
+#define isSPACE_LC_uvchr(c)  _generic_LC_uvchr(isSPACE_LC,                     \
+                                                    is_XPERLSPACE_cp_high, c)
+#define isUPPER_LC_uvchr(c)  _generic_LC_swash_uvchr(isUPPER_LC, _CC_UPPER, c)
+#define isWORDCHAR_LC_uvchr(c)  _generic_LC_swash_uvchr(isWORDCHAR_LC,              \
+                                                           _CC_WORDCHAR, c)
+#define isXDIGIT_LC_uvchr(c) _generic_LC_uvchr(isXDIGIT_LC, is_XDIGIT_cp_high, c)
 
-#define isPSXSPC_LC_uni(c)	(isSPACE_LC_uni(c) ||(c) == '\f')
-#define isBLANK_LC_uni(c)	isBLANK(c) /* could be wrong */
 
-#define isALNUM_utf8(p)		is_utf8_alnum(p)
+#define isBLANK_LC_uni(c)	isBLANK_LC_uvchr(UNI_TO_NATIVE(c))
+
+/* Everything whose name begins with an underscore is for internal core Perl
+ * use only. */
+
+/* If the input is in the Latin1 range, use
+ * the Latin1 macro 'classnum' on 'p' which is a pointer to a UTF-8 string.
+ * Otherwise use the value given by the 'utf8' parameter.  This relies on the
+ * fact that ASCII characters have the same representation whether utf8 or not.
+ * Note that it assumes that the utf8 has been validated, and ignores 'use
+ * bytes' */
+#define _generic_utf8(classnum, p, utf8) (UTF8_IS_INVARIANT(*(p))              \
+                                         ? _generic_isCC(*(p), classnum)       \
+                                         : (UTF8_IS_DOWNGRADEABLE_START(*(p))) \
+                                           ? _generic_isCC(                    \
+                                                   TWO_BYTE_UTF8_TO_UNI(*(p),  \
+                                                                   *((p)+1 )), \
+                                                   classnum)                   \
+                                           : utf8)
+/* Like the above, but calls 'above_latin1(p)' to get the utf8 value.  'above_latin1'
+ * can be a macro */
+#define _generic_func_utf8(classnum, above_latin1, p)  \
+                                    _generic_utf8(classnum, p, above_latin1(p))
+/* Like the above, but passes classnum to _isFOO_utf8(), instead of having a
+ * 'above_latin1' parameter */
+#define _generic_swash_utf8(classnum, p)  \
+                      _generic_utf8(classnum, p, _is_utf8_FOO(classnum, p))
+
+/* Like the above, but should be used only when it is known that there are no
+ * characters in the range 128-255 which the class is TRUE for.  Hence it can
+ * skip the tests for this range.  'above_latin1' should include its arguments */
+#define _generic_utf8_no_upper_latin1(classnum, p, above_latin1)                   \
+                                         (UTF8_IS_INVARIANT(*(p))              \
+                                         ? _generic_isCC(*(p), classnum)       \
+                                         : (UTF8_IS_ABOVE_LATIN1(*(p)))        \
+                                           ? above_latin1                          \
+                                           : 0)
+
+/* NOTE that some of these macros have very similar ones in regcharclass.h.
+ * For example, there is (at the time of this writing) an 'is_SPACE_utf8()'
+ * there, differing in name only by an underscore from the one here
+ * 'isSPACE_utf8().  The difference is that the ones here are probably more
+ * efficient and smaller, using an O(1) array lookup for Latin1-range code
+ * points; the regcharclass.h ones are implemented as a series of
+ * "if-else-if-else ..." */
+
+#define isALPHA_utf8(p)         _generic_swash_utf8(_CC_ALPHA, p)
+#define isALPHANUMERIC_utf8(p)  _generic_swash_utf8(_CC_ALPHANUMERIC, p)
+#define isASCII_utf8(p)         isASCII(*p) /* Because ASCII is invariant under
+                                               utf8, the non-utf8 macro works
+                                             */
+#define isBLANK_utf8(p)         _generic_func_utf8(_CC_BLANK, is_HORIZWS_high, p)
+#define isCNTRL_utf8(p)         _generic_utf8(_CC_CNTRL, p, 0)
+#define isDIGIT_utf8(p)         _generic_utf8_no_upper_latin1(_CC_DIGIT, p,   \
+                                                  _is_utf8_FOO(_CC_DIGIT, p))
+#define isGRAPH_utf8(p)         _generic_swash_utf8(_CC_GRAPH, p)
+#define isIDCONT_utf8(p)        _generic_func_utf8(_CC_WORDCHAR,              \
+                                                  _is_utf8_perl_idcont, p)
+
 /* To prevent S_scan_word in toke.c from hanging, we have to make sure that
  * IDFIRST is an alnum.  See
- * http://rt.perl.org/rt3/Ticket/Display.html?id=74022
- * for more detail than you ever wanted to know about.  This used to be not the
- * XID version, but we decided to go with the more modern Unicode definition */
-#define isIDFIRST_utf8(p)	(is_utf8_xidfirst(p) && is_utf8_alnum(p))
-#define isIDCONT_utf8(p)	is_utf8_xidcont(p)
-#define isALPHA_utf8(p)		is_utf8_alpha(p)
-#define isSPACE_utf8(p)		is_utf8_space(p)
-#define isDIGIT_utf8(p)		is_utf8_digit(p)
-#define isUPPER_utf8(p)		is_utf8_upper(p)
-#define isLOWER_utf8(p)		is_utf8_lower(p)
-#define isASCII_utf8(p)		is_utf8_ascii(p)
-#define isCNTRL_utf8(p)		is_utf8_cntrl(p)
-#define isGRAPH_utf8(p)		is_utf8_graph(p)
-#define isPRINT_utf8(p)		is_utf8_print(p)
-#define isPUNCT_utf8(p)		is_utf8_punct(p)
-#define isXDIGIT_utf8(p)	is_utf8_xdigit(p)
+ * http://rt.perl.org/rt3/Ticket/Display.html?id=74022 for more detail than you
+ * ever wanted to know about.  (In the ASCII range, there isn't a difference.)
+ * This used to be not the XID version, but we decided to go with the more
+ * modern Unicode definition */
+#define isIDFIRST_utf8(p)       _generic_func_utf8(_CC_IDFIRST,               \
+                                                _is_utf8_perl_idstart, p)
+
+#define isLOWER_utf8(p)         _generic_swash_utf8(_CC_LOWER, p)
+#define isPRINT_utf8(p)         _generic_swash_utf8(_CC_PRINT, p)
+
+/* Posix and regular space are identical above Latin1 */
+#define isPSXSPC_utf8(p)        _generic_func_utf8(_CC_PSXSPC, is_XPERLSPACE_high, p)
+
+#define isPUNCT_utf8(p)         _generic_swash_utf8(_CC_PUNCT, p)
+#define isSPACE_utf8(p)         _generic_func_utf8(_CC_SPACE, is_XPERLSPACE_high, p)
+#define isUPPER_utf8(p)         _generic_swash_utf8(_CC_UPPER, p)
+#define isVERTWS_utf8(p)        _generic_func_utf8(_CC_VERTSPACE, is_VERTWS_high, p)
+#define isWORDCHAR_utf8(p)      _generic_swash_utf8(_CC_WORDCHAR, p)
+#define isXDIGIT_utf8(p)        _generic_utf8_no_upper_latin1(_CC_XDIGIT, p,   \
+                                                          is_XDIGIT_high(p))
+
+#define toLOWER_utf8(p,s,l)	to_utf8_lower(p,s,l)
+#define toTITLE_utf8(p,s,l)	to_utf8_title(p,s,l)
 #define toUPPER_utf8(p,s,l)	to_utf8_upper(p,s,l)
-#define toTITLE_utf8(p,s,l)	to_utf8_title(p,s,l)
-#define toLOWER_utf8(p,s,l)	to_utf8_lower(p,s,l)
 
-#define isPSXSPC_utf8(c)	(isSPACE_utf8(c) ||(c) == '\f')
-#define isBLANK_utf8(c)		isBLANK(c) /* could be wrong */
+/* For internal core Perl use only.  If the input is in the Latin1 range, use
+ * the macro 'macro' on 'p' which is a pointer to a UTF-8 string.  Otherwise
+ * use the value given by the 'utf8' parameter.  This relies on the fact that
+ * ASCII characters have the same representation whether utf8 or not.  Note
+ * that it assumes that the utf8 has been validated, and ignores 'use bytes' */
+#define _generic_LC_utf8(macro, p, utf8)                                   \
+                         (UTF8_IS_INVARIANT(*(p))                          \
+                         ? macro(*(p))                                     \
+                         : (UTF8_IS_DOWNGRADEABLE_START(*(p)))             \
+                           ? macro(TWO_BYTE_UTF8_TO_UNI(*(p), *((p)+1)))   \
+                           : utf8)
 
-#define isALNUM_LC_utf8(p)	isALNUM_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isIDFIRST_LC_utf8(p)	isIDFIRST_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isALPHA_LC_utf8(p)	isALPHA_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isSPACE_LC_utf8(p)	isSPACE_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isDIGIT_LC_utf8(p)	isDIGIT_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isUPPER_LC_utf8(p)	isUPPER_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isLOWER_LC_utf8(p)	isLOWER_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isALNUMC_LC_utf8(p)	isALNUMC_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isCNTRL_LC_utf8(p)	isCNTRL_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isGRAPH_LC_utf8(p)	isGRAPH_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isPRINT_LC_utf8(p)	isPRINT_LC_uvchr(utf8_to_uvchr(p,  0))
-#define isPUNCT_LC_utf8(p)	isPUNCT_LC_uvchr(utf8_to_uvchr(p,  0))
+#define _generic_LC_swash_utf8(macro, classnum, p)                         \
+                    _generic_LC_utf8(macro, p, _is_utf8_FOO(classnum, p))
+#define _generic_LC_func_utf8(macro, above_latin1, p)                         \
+                    _generic_LC_utf8(macro, p, above_latin1(p))
 
-#define isPSXSPC_LC_utf8(c)	(isSPACE_LC_utf8(c) ||(c) == '\f')
-#define isBLANK_LC_utf8(c)	isBLANK(c) /* could be wrong */
+#define isALPHANUMERIC_LC_utf8(p)  _generic_LC_swash_utf8(isALPHANUMERIC_LC,  \
+                                                      _CC_ALPHANUMERIC, p)
+#define isALPHA_LC_utf8(p)   _generic_LC_swash_utf8(isALPHA_LC, _CC_ALPHA, p)
+#define isASCII_LC_utf8(p)   isASCII_LC(*p)
+#define isBLANK_LC_utf8(p)   _generic_LC_func_utf8(isBLANK_LC, is_HORIZWS_high, p)
+#define isCNTRL_LC_utf8(p)   _generic_LC_utf8(isCNTRL_LC, p, 0)
+#define isDIGIT_LC_utf8(p)   _generic_LC_swash_utf8(isDIGIT_LC, _CC_DIGIT, p)
+#define isGRAPH_LC_utf8(p)   _generic_LC_swash_utf8(isGRAPH_LC, _CC_GRAPH, p)
+#define isIDCONT_LC_utf8(p) _generic_LC_func_utf8(isIDCONT_LC, _is_utf8_perl_idcont, p)
+#define isIDFIRST_LC_utf8(p) _generic_LC_func_utf8(isIDFIRST_LC, _is_utf8_perl_idstart, p)
+#define isLOWER_LC_utf8(p)   _generic_LC_swash_utf8(isLOWER_LC, _CC_LOWER, p)
+#define isPRINT_LC_utf8(p)   _generic_LC_swash_utf8(isPRINT_LC, _CC_PRINT, p)
+#define isPSXSPC_LC_utf8(p)  isSPACE_LC_utf8(p) /* space is identical to posix
+                                                   space under locale */
+#define isPUNCT_LC_utf8(p)   _generic_LC_swash_utf8(isPUNCT_LC, _CC_PUNCT, p)
+#define isSPACE_LC_utf8(p)   _generic_LC_func_utf8(isSPACE_LC, is_XPERLSPACE_high, p)
+#define isUPPER_LC_utf8(p)   _generic_LC_swash_utf8(isUPPER_LC, _CC_UPPER, p)
+#define isWORDCHAR_LC_utf8(p) _generic_LC_swash_utf8(isWORDCHAR_LC,           \
+                                                            _CC_WORDCHAR, p)
+#define isXDIGIT_LC_utf8(p)  _generic_LC_func_utf8(isXDIGIT_LC, is_XDIGIT_high, p)
 
+/* Macros for backwards compatibility and for completeness when the ASCII and
+ * Latin1 values are identical */
+#define isALPHAU(c)     isALPHA_L1(c)
+#define isDIGIT_L1(c)   isDIGIT_A(c)
+#define isOCTAL(c)      isOCTAL_A(c)
+#define isOCTAL_L1(c)   isOCTAL_A(c)
+#define isXDIGIT_L1(c)  isXDIGIT_A(c)
+#define isALNUM(c)      isWORDCHAR(c)
+#define isALNUMU(c)     isWORDCHAR_L1(c)
+#define isALNUM_LC(c)   isWORDCHAR_LC(c)
+#define isALNUM_uni(c)  isWORDCHAR_uni(c)
+#define isALNUM_LC_uvchr(c) isWORDCHAR_LC_uvchr(c)
+#define isALNUM_utf8(p) isWORDCHAR_utf8(p)
+#define isALNUM_LC_utf8(p) isWORDCHAR_LC_utf8(p)
+#define isALNUMC_A(c)   isALPHANUMERIC_A(c)      /* Mnemonic: "C's alnum" */
+#define isALNUMC_L1(c)  isALPHANUMERIC_L1(c)
+#define isALNUMC(c)	isALPHANUMERIC(c)
+#define isALNUMC_LC(c)	isALPHANUMERIC_LC(c)
+#define isALNUMC_uni(c) isALPHANUMERIC_uni(c)
+#define isALNUMC_LC_uvchr(c) isALPHANUMERIC_LC_uvchr(c)
+#define isALNUMC_utf8(p) isALPHANUMERIC_utf8(p)
+#define isALNUMC_LC_utf8(p) isALPHANUMERIC_LC_utf8(p)
+
 /* This conversion works both ways, strangely enough. On EBCDIC platforms,
- * CTRL-@ is 0, CTRL-A is 1, etc, just like on ASCII */
+ * CTRL-@ is 0, CTRL-A is 1, etc, just like on ASCII, except that they don't
+ * necessarily mean the same characters, e.g. CTRL-D is 4 on both systems, but
+ * that is EOT on ASCII;  ST on EBCDIC */
 #  define toCTRL(c)    (toUPPER(NATIVE_TO_UNI(c)) ^ 64)
 
 /* Line numbers are unsigned, 32 bits. */
 typedef U32 line_t;
-#define NOLINE ((line_t) 4294967295UL)
+#define NOLINE ((line_t) 4294967295UL)  /* = FFFFFFFF */
 
 /* Helpful alias for version prescan */
 #define is_LAX_VERSION(a,b) \
@@ -945,6 +1390,8 @@
 	} \
 	return a;
 
+#define READ_XDIGIT(s) (isALPHA(*(s)) ? ((*(s)++ + 9) & 0xf) : (*(s)++ & 0xf))
+
 /*
 =head1 Memory Management
 
@@ -954,7 +1401,7 @@
 In 5.9.3, Newx() and friends replace the older New() API, and drops
 the first parameter, I<x>, a debug aid which allowed callers to identify
 themselves.  This aid has been superseded by a new build option,
-PERL_MEM_LOG (see L<perlhack/PERL_MEM_LOG>).  The older API is still
+PERL_MEM_LOG (see L<perlhacktips/PERL_MEM_LOG>).  The older API is still
 there for use in XS modules supporting older perls.
 
 =for apidoc Am|void|Newxc|void* ptr|int nitems|type|cast
@@ -977,8 +1424,8 @@
 
 =for apidoc Am|void|Move|void* src|void* dest|int nitems|type
 The XSUB-writer's interface to the C C<memmove> function.  The C<src> is the
-source, C<dest> is the destination, C<nitems> is the number of items, and C<type> is
-the type.  Can do overlapping moves.  See also C<Copy>.
+source, C<dest> is the destination, C<nitems> is the number of items, and
+C<type> is the type.  Can do overlapping moves.  See also C<Copy>.
 
 =for apidoc Am|void *|MoveD|void* src|void* dest|int nitems|type
 Like C<Move> but returns dest. Useful for encouraging compilers to tail-call
@@ -986,8 +1433,8 @@
 
 =for apidoc Am|void|Copy|void* src|void* dest|int nitems|type
 The XSUB-writer's interface to the C C<memcpy> function.  The C<src> is the
-source, C<dest> is the destination, C<nitems> is the number of items, and C<type> is
-the type.  May fail on overlapping copies.  See also C<Move>.
+source, C<dest> is the destination, C<nitems> is the number of items, and
+C<type> is the type.  May fail on overlapping copies.  See also C<Move>.
 
 =for apidoc Am|void *|CopyD|void* src|void* dest|int nitems|type
 
@@ -1004,7 +1451,7 @@
 Like C<Zero> but returns dest. Useful for encouraging compilers to tail-call
 optimise.
 
-=for apidoc Am|void|StructCopy|type src|type dest|type
+=for apidoc Am|void|StructCopy|type *src|type *dest|type
 This is an architecture-independent macro to copy one structure to another.
 
 =for apidoc Am|void|PoisonWith|void* dest|int nitems|type|U8 byte
@@ -1037,13 +1484,13 @@
  * overly eager compilers that will bleat about e.g.
  * (U16)n > (size_t)~0/sizeof(U16) always being false. */
 #ifdef PERL_MALLOC_WRAP
-#define MEM_WRAP_CHECK(n,t) MEM_WRAP_CHECK_1(n,t,PL_memory_wrap)
+#define MEM_WRAP_CHECK(n,t) \
+	(void)(sizeof(t) > 1 && ((MEM_SIZE)(n)+0.0) > MEM_SIZE_MAX/sizeof(t) && (Perl_croak_memory_wrap(),0))
 #define MEM_WRAP_CHECK_1(n,t,a) \
 	(void)(sizeof(t) > 1 && ((MEM_SIZE)(n)+0.0) > MEM_SIZE_MAX/sizeof(t) && (Perl_croak_nocontext("%s",(a)),0))
 #define MEM_WRAP_CHECK_(n,t) MEM_WRAP_CHECK(n,t),
 
-#define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > MEM_SIZE_MAX - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ? (Perl_croak_nocontext("%s",PL_memory_wrap),0):0),((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))
-
+#define PERL_STRLEN_ROUNDUP(n) ((void)(((n) > MEM_SIZE_MAX - 2 * PERL_STRLEN_ROUNDUP_QUANTUM) ?  (Perl_croak_memory_wrap(),0):0),((n-1+PERL_STRLEN_ROUNDUP_QUANTUM)&~((MEM_SIZE)PERL_STRLEN_ROUNDUP_QUANTUM-1)))
 #else
 
 #define MEM_WRAP_CHECK(n,t)
@@ -1214,12 +1661,14 @@
 #  define deprecate(s) Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED), "Use of " s " is deprecated")
 #endif
 
+#endif  /* HANDY_H */
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/handy.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/hints/3b1.sh
===================================================================
--- vendor/perl/dist/hints/3b1.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/3b1.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/3b1.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/3b1cc
===================================================================
--- vendor/perl/dist/hints/3b1cc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/3b1cc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/3b1cc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/README.hints
===================================================================
--- vendor/perl/dist/hints/README.hints	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/README.hints	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/README.hints
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/aix.sh
===================================================================
--- vendor/perl/dist/hints/aix.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/aix.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -96,7 +96,7 @@
 ccflags="$ccflags -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE"
 case "$cc" in
     *gcc*) ;;
-    *) ccflags="$ccflags -qmaxmem=-1 -qnoansialias" ;;
+    *) ccflags="$ccflags -qmaxmem=-1 -qnoansialias -qlanglvl=extc99" ;;
     esac
 nm_opt='-B'
 
@@ -245,13 +245,9 @@
 	    cc_r) 
 	      ;;
 	    xlc_r) 
-	      # for -qlonglong
-	      ccflags="$ccflags -qlanglvl=extended"
 	      ;;
 	    # we do not need the C++ compiler
 	    xlC_r) 
-	      # for -qlonglong
-	      ccflags="$ccflags -qlanglvl=extended"
 	      cc=xlc_r 
 	      ;;
 	    '') 
@@ -272,13 +268,9 @@
     *)
 	case "$cc" in
 	    xlc) 
-	      # for -qlonglong
-	      ccflags="$ccflags -qlanglvl=extended"
 	      ;;
 	    # we do not need the C++ compiler
 	    xlC) 
-	      # for -qlonglong
-	      ccflags="$ccflags -qlanglvl=extended"
 	      cc=xlc 
 	      ;;
 	    *)
@@ -348,6 +340,9 @@
 		    $define|true|[yY]*) cc="$cc -q64"	;;
 		    *)			cc="$cc -q32"	;;
 		    esac
+                # Some 32-bit getconfs will set ccflags to include -qlonglong
+                # but that's no longer needed with an explicit -qextc99.
+                ccflags="`echo $ccflags | sed -e 's@ -qlonglong@@'`"
 		;;
 	    *)  # Remove xlc-specific -qflags.
 		ccflags="`echo $ccflags | sed -e 's@ -q[^ ]*@ @g' -e 's@^-q[^ ]* @@g'`"


Property changes on: vendor/perl/dist/hints/aix.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/hints/aix_3.sh
===================================================================
--- vendor/perl/dist/hints/aix_3.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/aix_3.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/aix_3.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/aix_4.sh
===================================================================
--- vendor/perl/dist/hints/aix_4.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/aix_4.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/aix_4.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/hints/altos486.sh
===================================================================
--- vendor/perl/dist/hints/altos486.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/altos486.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/altos486.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/amigaos.sh
===================================================================
--- vendor/perl/dist/hints/amigaos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/amigaos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/amigaos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/atheos.sh
===================================================================
--- vendor/perl/dist/hints/atheos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/atheos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/atheos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/aux_3.sh
===================================================================
--- vendor/perl/dist/hints/aux_3.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/aux_3.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/aux_3.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/beos.sh
===================================================================
--- vendor/perl/dist/hints/beos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/beos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/beos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/broken-db.msg
===================================================================
--- vendor/perl/dist/hints/broken-db.msg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/broken-db.msg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/broken-db.msg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/bsdos.sh
===================================================================
--- vendor/perl/dist/hints/bsdos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/bsdos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/bsdos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/hints/catamount.sh
===================================================================
--- vendor/perl/dist/hints/catamount.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/catamount.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -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.14.2
+# mkdir -p /opt/perl-catamount/lib/perl5/5.18.1
 # 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.14.2
+# cp -pr lib/* /opt/perl-catamount/lib/perl5/5.18.1
 # 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


Property changes on: vendor/perl/dist/hints/catamount.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/hints/convexos.sh
===================================================================
--- vendor/perl/dist/hints/convexos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/convexos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/convexos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/cxux.sh
===================================================================
--- vendor/perl/dist/hints/cxux.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/cxux.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/cxux.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/cygwin.sh
===================================================================
--- vendor/perl/dist/hints/cygwin.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/cygwin.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,7 +30,7 @@
 test -z "$optimize" && optimize='-O3'
 man3ext='3pm'
 test -z "$use64bitint" && use64bitint='define'
-test -z "$usethreads" && usethreads='define'
+test -z "$useithreads" && useithreads='define'
 ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__"
 # - otherwise i686-cygwin
 archname='cygwin'


Property changes on: vendor/perl/dist/hints/cygwin.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/darwin.sh
===================================================================
--- vendor/perl/dist/hints/darwin.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/darwin.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/darwin.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/hints/dcosx.sh
===================================================================
--- vendor/perl/dist/hints/dcosx.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/dcosx.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/dcosx.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/hints/dec_osf.sh
===================================================================
--- vendor/perl/dist/hints/dec_osf.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/dec_osf.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -278,7 +278,7 @@
 esac
 
 # The patch 23787
-# http://public.activestate.com/cgi-bin/perlbrowse?patch=23787
+# http://perl5.git.perl.org/perl.git/commit/73cb726371990cd489597c4fee405a9815abf4da
 # broke things for gcc (at least gcc 3.3) so that many of the pack()
 # checksum tests for formats L, j, J, especially when combined
 # with the < and > specifiers, started to fail if compiled with plain -O3.


Property changes on: vendor/perl/dist/hints/dec_osf.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/hints/dgux.sh
===================================================================
--- vendor/perl/dist/hints/dgux.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/dgux.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -52,14 +52,14 @@
 #####################################
 
 prefix=/usr/local
-perlpath="$prefix/bin/perl514"
-startperl="#! $prefix/bin/perl514"
-privlib="$prefix/lib/perl514"
+perlpath="$prefix/bin/perl518"
+startperl="#! $prefix/bin/perl518"
+privlib="$prefix/lib/perl518"
 man1dir="$prefix/man/man1"
 man3dir="$prefix/man/man3"
 
-sitearch="$prefix/lib/perl514/$archname"
-sitelib="$prefix/lib/perl514"
+sitearch="$prefix/lib/perl518/$archname"
+sitelib="$prefix/lib/perl518"
 
 #Do not overwrite by default /usr/bin/perl of DG/UX
 installusrbinperl="$undef"
@@ -138,7 +138,7 @@
 # <takis at XFree86.Org>
 #####################################
 
-libperl="libperl514.so"
+libperl="libperl518.so"
 
 # Many functions (eg, gethostent(), killpg(), getpriority(), setruid()
 # dbm_*(), and plenty more) are defined in -ldgc.  Usually you don't
@@ -205,8 +205,8 @@
 	# DG/UX library!
 	libswanted="dbm posix resolv socket nsl dl m rte"
 	archname="ix86-dgux-thread"
-	sitearch="$prefix/lib/perl514/$archname"
-	sitelib="$prefix/lib/perl514"
+	sitearch="$prefix/lib/perl518/$archname"
+	sitelib="$prefix/lib/perl518"
   case "$cc" in
 	*gcc*)
 	   #### Use GCC -2.95.2/3 rev (DG/UX) and -pthread


Property changes on: vendor/perl/dist/hints/dgux.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/dos_djgpp.sh
===================================================================
--- vendor/perl/dist/hints/dos_djgpp.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/dos_djgpp.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/dos_djgpp.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/dragonfly.sh
===================================================================
--- vendor/perl/dist/hints/dragonfly.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/dragonfly.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/dragonfly.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/dynix.sh
===================================================================
--- vendor/perl/dist/hints/dynix.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/dynix.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/dynix.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/dynixptx.sh
===================================================================
--- vendor/perl/dist/hints/dynixptx.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/dynixptx.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/dynixptx.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/epix.sh
===================================================================
--- vendor/perl/dist/hints/epix.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/epix.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/epix.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/esix4.sh
===================================================================
--- vendor/perl/dist/hints/esix4.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/esix4.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/esix4.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/fps.sh
===================================================================
--- vendor/perl/dist/hints/fps.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/fps.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/fps.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/freebsd.sh
===================================================================
--- vendor/perl/dist/hints/freebsd.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/freebsd.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -110,7 +110,8 @@
 case "$osvers" in
 0.*|1.0*) ;;
 
-1*|2*)	cccdlflags='-DPIC -fpic'
+1.*|2.*)
+	cccdlflags='-DPIC -fpic'
 	lddlflags="-Bshareable $lddlflags"
 	;;
 
@@ -140,7 +141,7 @@
 esac
 
 case "$osvers" in
-0*|1*|2*|3*) ;;
+0.*|1.*|2.*|3.*) ;;
 
 *)
 	ccflags="${ccflags} -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H"
@@ -195,7 +196,7 @@
 $define|true|[yY]*)
         lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
         case "$osvers" in  
-	0*|1*|2.0*|2.1*)   cat <<EOM >&4
+	0.*|1.*|2.0*|2.1*)   cat <<EOM >&4
 I did not know that FreeBSD $osvers supports POSIX threads.
 
 Feel free to tell perlbug at perl.org otherwise.


Property changes on: vendor/perl/dist/hints/freebsd.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/hints/genix.sh
===================================================================
--- vendor/perl/dist/hints/genix.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/genix.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/genix.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/gnu.sh
===================================================================
--- vendor/perl/dist/hints/gnu.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/gnu.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,10 +8,22 @@
 shift
 libswanted="$*"
 
+# Debian 4.0 puts ndbm in the -lgdbm_compat library.
+libswanted="$libswanted gdbm_compat"
+
 case "$optimize" in
 '') optimize='-O2' ;;
 esac
 
+case "$plibpth" in
+'') plibpth=`gcc -print-search-dirs | grep libraries |
+        cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
+    set X $plibpth # Collapse all entries on one line
+    shift
+    plibpth="$*"
+    ;;
+esac
+
 # Flags needed to produce shared libraries.
 lddlflags='-shared'
 
@@ -19,8 +31,21 @@
 ccdlflags='-Wl,-E'
 
 # Debian bug #258618
-ccflags='-D_GNU_SOURCE'
+ccflags="-D_GNU_SOURCE $ccflags"
 
+cat > UU/uselargefiles.cbu <<'EOCBU'
+# This script UU/uselargefiles.cbu will get 'called-back' by Configure
+# after it has prompted the user for whether to use large files.
+case "$uselargefiles" in
+''|$define|true|[yY]*)
+# Keep this in the left margin.
+ccflags_uselargefiles="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
+	ccflags="$ccflags $ccflags_uselargefiles"
+	;;
+esac
+EOCBU
+
 # The following routines are only available as stubs in GNU libc.
 # XXX remove this once metaconf detects the GNU libc stubs.
 d_msgctl='undef'


Property changes on: vendor/perl/dist/hints/gnu.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/gnukfreebsd.sh
===================================================================
--- vendor/perl/dist/hints/gnukfreebsd.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/gnukfreebsd.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,6 +5,3 @@
 
 . ./hints/linux.sh
 
-# Configure sets these where $osname = linux
-ccdlflags='-Wl,-E'
-lddlflags='-shared'


Property changes on: vendor/perl/dist/hints/gnukfreebsd.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/gnuknetbsd.sh
===================================================================
--- vendor/perl/dist/hints/gnuknetbsd.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/gnuknetbsd.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,6 +5,3 @@
 
 . ./hints/linux.sh
 
-# Configure sets these where $osname = linux
-ccdlflags='-Wl,-E'
-lddlflags='-shared'


Property changes on: vendor/perl/dist/hints/gnuknetbsd.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/greenhills.sh
===================================================================
--- vendor/perl/dist/hints/greenhills.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/greenhills.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/greenhills.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/haiku.sh
===================================================================
--- vendor/perl/dist/hints/haiku.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/haiku.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,10 @@
 # Haiku hints file
-# $Id: haiku.sh,v 1.1.1.1 2011-02-17 12:49:38 laffer1 Exp $
+# $Id$
 
-prefix="/boot/common"
+case "$prefix" in
+'') prefix="/boot/common" ;;
+*) ;; # pass the user supplied value through
+esac
 
 libpth='/boot/home/config/lib /boot/common/lib /system/lib'
 usrinc='/boot/develop/headers/posix'
@@ -32,3 +35,10 @@
 case "$ldlibpthname" in
 '') ldlibpthname=LIBRARY_PATH ;;
 esac
+
+# as of alpha 4.1 (at the latest) some symbols are versioned,
+# confusing the nm lookup
+case "$usenm" in
+'') usenm='undef' ;;
+esac
+


Property changes on: vendor/perl/dist/hints/haiku.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/hpux.sh
===================================================================
--- vendor/perl/dist/hints/hpux.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/hpux.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -157,7 +157,7 @@
 		done
 	    [ -z "$cc_found" ] && cc_found=`which cc`
 	    what $cc_found >&4
-	    ccversion=`what $cc_found | awk '/Compiler/{print $2}/Itanium/{print $6,$7}/for Integrity/{print $6}'`
+	    ccversion=`what $cc_found | awk '/Compiler/{print $2}/Itanium/{print $6,$7}/for Integrity/{print $6,$7}'`
 	    case "$ccflags" in
                "-Ae "*) ;;
 		*)  ccflags="-Ae $cc_cppflags"
@@ -414,7 +414,7 @@
 	    fi
 	;;
 
-    *)	# HP's compiler cannot combine -g and -O
+    *)
 	case "$optimize" in
 	    "")           optimize="+O2 +Onolimit" ;;
 	    *O[3456789]*) optimize=`echo "$optimize" | sed -e 's/O[3-9]/O2/'` ;;
@@ -436,6 +436,19 @@
 			# maint (5.8.8+) and blead (5.9.3+)
 			# -O1/+O1 passed all tests (m)'05 [ 10 Jan 2005 ]
 			optimize="$opt"			;;
+			B3910B*A.06.15)
+			# > cc --version
+			# cc: HP C/aC++ B3910B A.06.15 [May 16 2007]
+			# Has optimizing problems with +O2 for blead (5.17.4),
+			# see https://rt.perl.org:443/rt3/Ticket/Display.html?id=103668.
+			#
+			# +O2 +Onolimit +Onoprocelim  +Ostore_ordering \
+			# +Onolibcalls=strcmp
+			# passes all tests (with/without -DDEBUGGING) [Nov 17 2011]
+			case "$optimize" in
+				*O2*) optimize="$optimize +Onoprocelim +Ostore_ordering +Onolibcalls=strcmp" ;;
+				esac
+			;;
 		    *)  doop_cflags="optimize=\"$opt\""
 			op_cflags="optimize=\"$opt\""	;;
 		    esac
@@ -520,6 +533,27 @@
     fi
 EOCBU
 
+cat >config.arch <<'EOCBU'
+# This script UU/config.arch will get 'called-back' by Configure after
+# all other configurations are done just before config.h is generated
+case "$archname:$optimize" in
+  PA*:*-g*[-+]O*|PA*:*[-+]O*-g*)
+    case "$ccflags" in
+      *DD64*) ;;
+      *) case "$ccversion" in
+	  # Only on PA-RISC. B3910B (aCC) is not faulty
+	  # B.11.* and A.10.* are
+	  [AB].1*)
+	      # cc: error 1414: Can't handle preprocessed file foo.i if -g and -O specified.
+	      echo "HP-UX C-ANSI-C on PA-RISC does not accept both -g and -O on preprocessed files" >&4
+	      echo "when compiling in 32bit mode. The optimizer will be disabled." >&4
+	      optimize=`echo "$optimize" | sed -e 's/[-+]O[0-9]*//' -e 's/+Onolimit//' -e 's/^ *//'`
+	      ;;
+	  esac
+      esac
+  esac
+EOCBU
+
 cat >UU/uselargefiles.cbu <<'EOCBU'
 # This script UU/uselargefiles.cbu will get 'called-back' by Configure
 # after it has prompted the user for whether to use large files.
@@ -644,7 +678,7 @@
 
 or
 
-    PTH package from e.g. http://hpux.tn.tudelft.nl/hppd/hpux/alpha.html
+    PTH package from e.g. http://hpux.connect.org.uk/hppd/hpux/Gnu/pth-2.0.7/
 
 Cannot continue, aborting.
 EOM


Property changes on: vendor/perl/dist/hints/hpux.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/hints/i386.sh
===================================================================
--- vendor/perl/dist/hints/i386.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/i386.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/i386.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/interix.sh
===================================================================
--- vendor/perl/dist/hints/interix.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/interix.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/interix.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/irix_4.sh
===================================================================
--- vendor/perl/dist/hints/irix_4.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/irix_4.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/irix_4.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/irix_5.sh
===================================================================
--- vendor/perl/dist/hints/irix_5.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/irix_5.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/irix_5.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/irix_6.sh
===================================================================
--- vendor/perl/dist/hints/irix_6.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/irix_6.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/irix_6.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/hints/irix_6_0.sh
===================================================================
--- vendor/perl/dist/hints/irix_6_0.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/irix_6_0.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/irix_6_0.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/irix_6_1.sh
===================================================================
--- vendor/perl/dist/hints/irix_6_1.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/irix_6_1.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/irix_6_1.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/isc.sh
===================================================================
--- vendor/perl/dist/hints/isc.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/isc.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/isc.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/isc_2.sh
===================================================================
--- vendor/perl/dist/hints/isc_2.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/isc_2.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/isc_2.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/linux.sh
===================================================================
--- vendor/perl/dist/hints/linux.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/linux.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,6 +18,9 @@
 # No version of Linux supports setuid scripts.
 d_suidsafe='undef'
 
+# No version of Linux needs libutil for perl.
+i_libutil='undef'
+
 # Debian and Red Hat, and perhaps other vendors, provide both runtime and
 # development packages for some libraries.  The runtime packages contain shared
 # libraries with version information in their names (e.g., libgdbm.so.1.7.3);
@@ -160,10 +163,18 @@
 # This unconditionally uses gcc because even if the user is using another
 # compiler, we still need to find the math library and friends, and I don't
 # know how other compilers will cope with that situation.
+# Morever, if the user has their own gcc earlier in $PATH than the system gcc,
+# we don't want its libraries. So we try to prefer the system gcc
 # Still, as an escape hatch, allow Configure command line overrides to
 # plibpth to bypass this check.
+if [ -x /usr/bin/gcc ] ; then
+    gcc=/usr/bin/gcc
+else
+    gcc=gcc
+fi
+
 case "$plibpth" in
-'') plibpth=`gcc -print-search-dirs | grep libraries |
+'') plibpth=`LANG=C LC_ALL=C $gcc -print-search-dirs | grep libraries |
 	cut -f2- -d= | tr ':' $trnl | grep -v 'gcc' | sed -e 's:/$::'`
     set X $plibpth # Collapse all entries on one line
     shift
@@ -354,15 +365,9 @@
 # This script UU/usethreads.cbu will get 'called-back' by Configure
 # after it has prompted the user for whether to use threads.
 cat > UU/usethreads.cbu <<'EOCBU'
-if getconf GNU_LIBPTHREAD_VERSION | grep NPTL >/dev/null 2>/dev/null
-then
-    threadshavepids=""
-else
-    threadshavepids="-DTHREADS_HAVE_PIDS"
-fi
 case "$usethreads" in
 $define|true|[yY]*)
-        ccflags="-D_REENTRANT -D_GNU_SOURCE $threadshavepids $ccflags"
+        ccflags="-D_REENTRANT -D_GNU_SOURCE $ccflags"
         if echo $libswanted | grep -v pthread >/dev/null
         then
             set `echo X "$libswanted "| sed -e 's/ c / pthread c /'`
@@ -409,16 +414,6 @@
     ;;
 esac
 
-# If we are using g++ we must use nm and force ourselves to use
-# the /usr/lib/libc.a (resetting the libc below to an empty string
-# makes Configure to look for the right one) because the symbol
-# scanning tricks of Configure will crash and burn horribly.
-case "$cc" in
-*g++*) usenm=true
-       libc=''
-       ;;
-esac
-
 # If using g++, the Configure scan for dlopen() and (especially)
 # dlerror() might fail, easier just to forcibly hint them in.
 case "$cc" in


Property changes on: vendor/perl/dist/hints/linux.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/hints/lynxos.sh
===================================================================
--- vendor/perl/dist/hints/lynxos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/lynxos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/lynxos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/machten.sh
===================================================================
--- vendor/perl/dist/hints/machten.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/machten.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/machten.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/machten_2.sh
===================================================================
--- vendor/perl/dist/hints/machten_2.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/machten_2.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/machten_2.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/midnightbsd.sh
===================================================================
--- vendor/perl/dist/hints/midnightbsd.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/midnightbsd.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,17 +6,17 @@
 libswanted=`echo $libswanted | sed 's/ malloc / /'`
 
 objformat=`/usr/bin/objformat`
-if [ x$objformat = xelf ]; then
-    libpth="/usr/lib /usr/local/lib"
-    glibpth="/usr/lib /usr/local/lib"
-    ldflags="-Wl,-E "
-    lddlflags="-shared "
-else
+if [ x$objformat = xaout ]; then
     if [ -e /usr/lib/aout ]; then
         libpth="/usr/lib/aout /usr/local/lib /usr/lib"
         glibpth="/usr/lib/aout /usr/local/lib /usr/lib"
     fi
     lddlflags='-Bshareable'
+else
+    libpth="/usr/lib /usr/local/lib"
+    glibpth="/usr/lib /usr/local/lib"
+    ldflags="-Wl,-E "
+    lddlflags="-shared "
 fi
 cccdlflags='-DPIC -fPIC'
 
@@ -33,12 +33,8 @@
 cat > UU/usethreads.cbu <<'EOCBU'
 case "$usethreads" in
 $define|true|[yY]*)
-        lc_r=`/sbin/ldconfig -r|grep ':-lc_r'|awk '{print $NF}'|sed -n '$p'`
-	    	ldflags="-pthread $ldflags"
-	      d_gethostbyaddr_r="undef"
-	      d_gethostbyaddr_r_proto="0"
-
-	set `echo X "$libswanted "| sed -e 's/ c / c_r /'`
+	ldflags="-pthread $ldflags"
+	set `echo X "$libswanted "| sed -e 's/ c //'`
 	shift
 	libswanted="$*"
 	# Configure will probably pick the wrong libc to use for nm scan.


Property changes on: vendor/perl/dist/hints/midnightbsd.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/mips.sh
===================================================================
--- vendor/perl/dist/hints/mips.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/mips.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/mips.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/mirbsd.sh
===================================================================
--- vendor/perl/dist/hints/mirbsd.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/mirbsd.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/mirbsd.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/mpc.sh
===================================================================
--- vendor/perl/dist/hints/mpc.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/mpc.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/mpc.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/mpeix.sh
===================================================================
--- vendor/perl/dist/hints/mpeix.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/mpeix.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/mpeix.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/ncr_tower.sh
===================================================================
--- vendor/perl/dist/hints/ncr_tower.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/ncr_tower.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/ncr_tower.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/netbsd.sh
===================================================================
--- vendor/perl/dist/hints/netbsd.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/netbsd.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -89,7 +89,7 @@
 	;;
 esac
 case "$osvers" in
-0.9*|1.*|2.*|3.*|4.*|5.*)
+0.9*|1.*|2.*|3.*|4.*|5.*|6.*)
 	d_getprotoent_r="$undef"
 	d_getprotobyname_r="$undef"
 	d_getprotobynumber_r="$undef"


Property changes on: vendor/perl/dist/hints/netbsd.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/hints/newsos4.sh
===================================================================
--- vendor/perl/dist/hints/newsos4.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/newsos4.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/newsos4.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/next_3.sh
===================================================================
--- vendor/perl/dist/hints/next_3.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/next_3.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/next_3.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/next_3_0.sh
===================================================================
--- vendor/perl/dist/hints/next_3_0.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/next_3_0.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/next_3_0.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/next_4.sh
===================================================================
--- vendor/perl/dist/hints/next_4.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/next_4.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/next_4.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/nonstopux.sh
===================================================================
--- vendor/perl/dist/hints/nonstopux.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/nonstopux.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/nonstopux.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/openbsd.sh
===================================================================
--- vendor/perl/dist/hints/openbsd.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/openbsd.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/openbsd.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/opus.sh
===================================================================
--- vendor/perl/dist/hints/opus.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/opus.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/opus.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/os2.sh
===================================================================
--- vendor/perl/dist/hints/os2.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/os2.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/os2.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/os390.sh
===================================================================
--- vendor/perl/dist/hints/os390.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/os390.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/os390.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/os400.sh
===================================================================
--- vendor/perl/dist/hints/os400.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/os400.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/os400.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/posix-bc.sh
===================================================================
--- vendor/perl/dist/hints/posix-bc.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/posix-bc.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/posix-bc.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/hints/powerux.sh
===================================================================
--- vendor/perl/dist/hints/powerux.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/powerux.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -176,7 +176,7 @@
 
 # There was a bug in memcmp (which was fixed a while ago) which sometimes
 # fails to provide the correct compare status (it is data dependant). I
-# don't wnat to figure out if you are building with the correct version or
+# don't want to figure out if you are building with the correct version or
 # not, so just pretend there is no memcmp (since perl has its own handy
 # substitute).
 #


Property changes on: vendor/perl/dist/hints/powerux.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/qnx.sh
===================================================================
--- vendor/perl/dist/hints/qnx.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/qnx.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/qnx.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/rhapsody.sh
===================================================================
--- vendor/perl/dist/hints/rhapsody.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/rhapsody.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/rhapsody.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/riscos.sh
===================================================================
--- vendor/perl/dist/hints/riscos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/riscos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/riscos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/sco.sh
===================================================================
--- vendor/perl/dist/hints/sco.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/sco.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/sco.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/sco_2_3_0.sh
===================================================================
--- vendor/perl/dist/hints/sco_2_3_0.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/sco_2_3_0.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/sco_2_3_0.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/sco_2_3_1.sh
===================================================================
--- vendor/perl/dist/hints/sco_2_3_1.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/sco_2_3_1.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/sco_2_3_1.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/sco_2_3_2.sh
===================================================================
--- vendor/perl/dist/hints/sco_2_3_2.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/sco_2_3_2.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/sco_2_3_2.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/sco_2_3_3.sh
===================================================================
--- vendor/perl/dist/hints/sco_2_3_3.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/sco_2_3_3.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/sco_2_3_3.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/sco_2_3_4.sh
===================================================================
--- vendor/perl/dist/hints/sco_2_3_4.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/sco_2_3_4.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/sco_2_3_4.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/solaris_2.sh
===================================================================
--- vendor/perl/dist/hints/solaris_2.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/solaris_2.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -300,7 +300,7 @@
 
 END
 		ccdlflags="$ccdlflags -Wl,-E"
-		lddlflags="$lddlflags -Wl,-E -G"
+		lddlflags="$lddlflags -Wl,-E -shared"
 	    fi
 	fi
 
@@ -311,11 +311,15 @@
 	cat > try.c << 'EOM'
 #include <stdio.h>
 int main() {
-#ifdef __SUNPRO_C
+#if defined(__SUNPRO_C)
 	printf("workshop\n");
 #else
+#if defined(__SUNPRO_CC)
+	printf("workshop CC\n");
+#else
 	printf("\n");
 #endif
+#endif
 return(0);
 }
 EOM
@@ -323,11 +327,27 @@
 	if $tryworkshopcc >/dev/null 2>&1; then
 		cc_name=`./try`
 		if test "$cc_name" = "workshop"; then
-			ccversion="`${cc:-cc} -V 2>&1|sed -n -e '1s/^cc: //p'`"
+			ccversion="`${cc:-cc} -V 2>&1|sed -n -e '1s/^[Cc][Cc]: //p'`"
+		fi
+		if test "$cc_name" = "workshop CC"; then
+			ccversion="`${cc:-CC} -V 2>&1|sed -n -e '1s/^[Cc][C]: //p'`"
+		fi
+		case "$cc_name" in
+		workshop*)
+			# Settings for either cc or CC
 			if test ! "$use64bitall_done"; then
 				loclibpth="/usr/lib /usr/ccs/lib `$getworkshoplibs` $loclibpth"
 			fi
-		fi
+			# Sun CC/cc don't support gcc attributes
+			d_attribute_format='undef'
+			d_attribute_malloc='undef'
+			d_attribute_nonnull='undef'
+			d_attribute_noreturn='undef'
+			d_attribute_pure='undef'
+			d_attribute_unused='undef'
+			d_attribute_warn_unused_result='undef'
+			;;
+		esac
 	fi
 
 	# See if as(1) is GNU as(1).  GNU might not work for this job.
@@ -568,7 +588,17 @@
 #		    ccflags="$ccflags -Wa,`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"
 #		fi
 		ldflags="$ldflags -m64"
-		lddlflags="$lddlflags -G -m64"
+
+		# See [perl #66604]:  On Solaris 11, gcc -m64 on amd64
+		# appears not to understand -G.  (gcc -G has not caused
+		# problems on other platforms in the past.)  gcc versions
+		# at least as old as 3.4.3 support -shared, so just
+		# use that with Solaris 11 and later, but keep
+		# the old behavior for older Solaris versions.
+		case "$osvers" in
+			2.?|2.10) lddlflags="$lddlflags -G -m64" ;;
+			*) lddlflags="$lddlflags -shared -m64" ;;
+		esac
 		;;
 	    *)
 		getconfccflags="`getconf XBS5_LP64_OFF64_CFLAGS 2>/dev/null`"


Property changes on: vendor/perl/dist/hints/solaris_2.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/hints/stellar.sh
===================================================================
--- vendor/perl/dist/hints/stellar.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/stellar.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/stellar.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/sunos_4_0.sh
===================================================================
--- vendor/perl/dist/hints/sunos_4_0.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/sunos_4_0.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/sunos_4_0.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/sunos_4_1.sh
===================================================================
--- vendor/perl/dist/hints/sunos_4_1.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/sunos_4_1.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/sunos_4_1.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/super-ux.sh
===================================================================
--- vendor/perl/dist/hints/super-ux.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/super-ux.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/super-ux.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/svr4.sh
===================================================================
--- vendor/perl/dist/hints/svr4.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/svr4.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/svr4.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/svr5.sh
===================================================================
--- vendor/perl/dist/hints/svr5.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/svr5.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/svr5.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/t001.c
===================================================================
--- vendor/perl/dist/hints/t001.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/t001.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/t001.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/ti1500.sh
===================================================================
--- vendor/perl/dist/hints/ti1500.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/ti1500.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/ti1500.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/titanos.sh
===================================================================
--- vendor/perl/dist/hints/titanos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/titanos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/titanos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/ultrix_4.sh
===================================================================
--- vendor/perl/dist/hints/ultrix_4.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/ultrix_4.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/ultrix_4.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/umips.sh
===================================================================
--- vendor/perl/dist/hints/umips.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/umips.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/umips.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/unicos.sh
===================================================================
--- vendor/perl/dist/hints/unicos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/unicos.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/unicos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/unicosmk.sh
===================================================================
--- vendor/perl/dist/hints/unicosmk.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/unicosmk.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/unicosmk.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/unisysdynix.sh
===================================================================
--- vendor/perl/dist/hints/unisysdynix.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/unisysdynix.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/unisysdynix.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/utekv.sh
===================================================================
--- vendor/perl/dist/hints/utekv.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/utekv.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/utekv.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/hints/uts.sh
===================================================================
--- vendor/perl/dist/hints/uts.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/uts.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/uts.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/uwin.sh
===================================================================
--- vendor/perl/dist/hints/uwin.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/uwin.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -46,8 +46,7 @@
 # __UWIN__ added so it could be used in ext/POSIX/POSIX.xs
 # to protect against either tzname definition.  According to Dave Korn
 
-#dgk gcc on uwin also predefined _UWIN as does the borland and digital
-#dgk mars compiler.
+#dgk gcc on uwin also predefined _UWIN as does the digital mars compiler.
 #dgk 
 #dgk Only ncc does not define _UWIN and this is intentional.  ncc is used
 #dgk to build binaries that do not require the uwin runtime.


Property changes on: vendor/perl/dist/hints/uwin.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/hints/vmesa.sh
===================================================================
--- vendor/perl/dist/hints/vmesa.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/vmesa.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/hints/vmesa.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hints/vos.sh
===================================================================
--- vendor/perl/dist/hints/vos.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hints/vos.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,29 +1,33 @@
-# $Id: vos.sh,v 1.1.1.1 2011-05-19 23:03:36 laffer1 Exp $
-
-# This is a hints file for Stratus VOS, using the POSIX environment
-# in VOS 14.4.0 and higher.
+# This is a hints file for Stratus OpenVOS, using the POSIX environment
+# found in VOS 17.1.0 and higher.
 #
-# VOS POSIX is based on POSIX.1-1996 and contains elements of
+# OpenVOS POSIX is based on POSIX.1-1996 and contains elements of
 # POSIX.1-2001.  It ships with gcc as the standard compiler.
 #
 # Paul Green (Paul.Green at stratus.com)
 
 # C compiler and default options.
-cc=gcc
-ccflags="-D_SVID_SOURCE -D_POSIX_C_SOURCE=200112L -D_VOS_EXTENDED_NAMES"
+cc=${CC-gcc}
+ccflags=${CFLAGS-"-D_XOPEN_SOURCE=700 -D_SYSV -D_VOS_EXTENDED_NAMES -D_FILE_OFFSET_BITS=64"}
 
 # Make command.
-make="/system/gnu_library/bin/gmake"
+make=${MAKE-"/system/gnu_library/bin/gmake"}
 # indented to not put it into config.sh
-  _make="/system/gnu_library/bin/gmake"
+  _make=${MAKE-"/system/gnu_library/bin/gmake"}
 
-# Architecture name
-if test `uname -m` = i786; then
-     archname="i786"
-else
-     archname="hppa1.1"
+# Check for the minimum acceptable release of OpenVOS (17.1.0).
+if test `uname -r | sed -e 's/OpenVOS Release //' -e 's/VOS Release //'` \< "17.1.0"; then
+cat >&4 <<EOF
+***
+*** This version of Perl 5 must be built on OpenVOS Release 17.1.0 or later.
+***
+EOF
+exit 1
 fi
 
+# Architecture name always X86
+archname=`uname -m`
+
 # Executable suffix.
 # No, this is not a typo.  The ".pm" really is the native
 # executable suffix in VOS.  Talk about cosmic resonance.
@@ -30,11 +34,6 @@
 _exe=".pm"
 
 # Object library paths.
-loclibpth="/system/stcp/object_library"
-loclibpth="$loclibpth /system/stcp/object_library/common"
-loclibpth="$loclibpth /system/stcp/object_library/net"
-loclibpth="$loclibpth /system/stcp/object_library/socket"
-loclibpth="$loclibpth /system/posix_object_library/sysv"
 loclibpth="$loclibpth /system/posix_object_library"
 loclibpth="$loclibpth /system/c_object_library"
 loclibpth="$loclibpth /system/object_library"
@@ -41,31 +40,18 @@
 glibpth="$loclibpth"
 
 # Include library paths
-# Pick up vos/syslog.h on Continuum Platform.
-if test "$archname" = "i786"; then
-     locincpth=""
-else
-     locincpth=`pwd`/vos
-fi
-locincpth="$locincpth /system/stcp/include_library"
-locincpth="$locincpth /system/include_library/sysv"
-usrinc="/system/include_library"
+locincpth=""
+usrinc=${USRINC-"/system/include_library"}
 
 # Where to install perl5.
-prefix=/system/ported/perl5
+prefix=/system/ported
 
 # Linker is gcc.
-ld="gcc"
+ld=${CC-"gcc"}
 
-# No shared libraries.
-so="none"
-
-# Don't use nm.
+# Don't use nm. The VOS copy of libc.a is empty.
 usenm="n"
 
-# Make the default be no large file support.
-uselargefiles="n"
-
 # Don't use malloc that comes with perl.
 usemymalloc="n"
 
@@ -72,8 +58,8 @@
 # Make bison the default compiler-compiler.
 yacc="/system/gnu_library/bin/bison"
 
-# VOS doesn't have (or need) a pager, but perl needs one.
-pager="/system/gnu_library/bin/cat.pm"
+# VOS doesn't need a pager, but perl does.
+pager="/system/gnu_library/bin/less.pm"
 
 # VOS has a bug that causes _exit() to flush all files.
 # This confuses the tests.  Make 'em happy here.
@@ -89,71 +75,29 @@
 # Help gmake find vos.c
 test -h vos.c || ln -s vos/vos.c vos.c
 
-# VOS returns a constant 1 for st_nlink when stat'ing a
-# directory. Therefore, we must set this variable to stop
-# File::Find using the link count to determine whether there are
-# subdirectories to be searched.
-dont_use_nlink=define
-
 # Tell Configure where to find the hosts file.
 hostcat="cat /system/stcp/hosts"
 
-# VOS does not have socketpair() but we supply one in vos.c
-d_sockpair="define"
+# VOS 17.1 has support for dynamic linking.
+usedl="define"
 
-# Once we have the compiler flags defined, Configure will
-# execute the following call-back script. See hints/README.hints
-# for details.
-cat > UU/cc.cbu <<'EOCBU'
-# This script UU/cc.cbu will get 'called-back' by Configure after it
-# has prompted the user for the C compiler to use.
+# Filename suffix for shared libraries.
+so="so"
 
-# Compile and run the a test case to see if bug gnu_g++-220 is
-# present. If so, lower the optimization level when compiling
-# pp_pack.c.  This works around a bug in unpack.
+# Flags used when compiling a module for a shared library.
+cccdlflags="-fPIC"
 
-echo " "
-echo "Testing whether bug gnu_g++-220 is fixed in your compiler..."
+# Flags passed to $ld to produce shared libraries.
+lddlflags="-shared"
 
-# Try compiling the test case.
-if $cc -o t001 -O $ccflags $ldflags ../hints/t001.c; then
-	gccbug=`$run ./t001`
-	if [ "X$gccversion" = "X" ]; then
-		# Done too late in Configure if hinted
-		gccversion=`$cc -dumpversion`
-	fi
-	case "$gccbug" in
-	*fails*)	cat >&4 <<EOF
-This C compiler ($gccversion) is known to have optimizer
-problems when compiling pp_pack.c.  The Stratus bug number
-for this problem is gnu_g++-220.
+# Flags passed to $cc when linking a program that uses shared libraries.
+ccdlflags="-Wl,-export-dynamic"
 
-Disabling optimization for pp_pack.c.
-EOF
-			case "$pp_pack_cflags" in
-			'')	pp_pack_cflags='optimize='
-				echo "pp_pack_cflags='optimize=\"\"'" >> config.sh ;;
-			*)  echo "You specified pp_pack_cflags yourself, so we'll go with your value." >&4 ;;
-			esac
-		;;
-	*)	echo "Your compiler is ok." >&4
-		;;
-	esac
-else
-	echo " "
-	echo "*** WHOA THERE!!! ***" >&4
-	echo "    Your C compiler \"$cc\" doesn't seem to be working!" >&4
-	case "$knowitall" in
-	'')
-		echo "    You'd better start hunting for one and let me know about it." >&4
-		exit 1
-		;;
-	esac
-fi
+# Filename suffix for dynamically-loaded perl modules.
+dlext="so"
 
-$rm -f t001$_o t001$_exe t001.kp
-EOCBU
+# Use dlopen() to open shared libraries.
+dlsrc="dl_dlopen.xs"
 
-
-# VOS 14.7 has minimal support for dynamic linking. Too minimal for perl.
-usedl="undef"
+# Build a shared libperl?  (Define on Configure cmd line.)
+# useshrplib="true"


Property changes on: vendor/perl/dist/hints/vos.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/hv.c
===================================================================
--- vendor/perl/dist/hv.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hv.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,10 +19,10 @@
 /* 
 =head1 Hash Manipulation Functions
 
-A HV structure represents a Perl hash. It consists mainly of an array
-of pointers, each of which points to a linked list of HE structures. The
+A HV structure represents a Perl hash.  It consists mainly of an array
+of pointers, each of which points to a linked list of HE structures.  The
 array is indexed by the hash function of the key, so each linked list
-represents all the hash entries with the same hash value. Each HE contains
+represents all the hash entries with the same hash value.  Each HE contains
 a pointer to the actual value, plus a pointer to a HEK structure which
 holds the key and hash value.
 
@@ -35,7 +35,7 @@
 #define PERL_HASH_INTERNAL_ACCESS
 #include "perl.h"
 
-#define HV_MAX_LENGTH_BEFORE_SPLIT 14
+#define DO_HSPLIT(xhv) ((xhv)->xhv_keys > (xhv)->xhv_max) /* HvTOTALKEYS(hv) > HvMAX(hv) */
 
 static const char S_strtab_error[]
     = "Cannot modify shared string table in hv_%s";
@@ -78,7 +78,7 @@
 {
     const int flags_masked = flags & HVhek_MASK;
     char *k;
-    register HEK *hek;
+    HEK *hek;
 
     PERL_ARGS_ASSERT_SAVE_HEK_FLAGS;
 
@@ -217,9 +217,13 @@
 /*
 =for apidoc hv_store
 
-Stores an SV in a hash.  The hash key is specified as C<key> and C<klen> is
-the length of the key.  The C<hash> parameter is the precomputed hash
-value; if it is zero then Perl will compute it.  The return value will be
+Stores an SV in a hash.  The hash key is specified as C<key> and the
+absolute value of C<klen> is the length of the key.  If C<klen> is
+negative the key is assumed to be in UTF-8-encoded Unicode.  The
+C<hash> parameter is the precomputed hash value; if it is zero then
+Perl will compute it.
+
+The return value will be
 NULL if the operation failed or if the value did not need to be actually
 stored within the hash (as in the case of tied hashes).  Otherwise it can
 be dereferenced to get the original C<SV*>.  Note that the caller is
@@ -265,14 +269,19 @@
 =for apidoc hv_exists
 
 Returns a boolean indicating whether the specified hash key exists.  The
-C<klen> is the length of the key.
+absolute value of C<klen> is the length of the key.  If C<klen> is
+negative the key is assumed to be in UTF-8-encoded Unicode.
 
 =for apidoc hv_fetch
 
-Returns the SV which corresponds to the specified key in the hash.  The
-C<klen> is the length of the key.  If C<lval> is set then the fetch will be
-part of a store.  Check that the return value is non-null before
-dereferencing it to an C<SV*>.
+Returns the SV which corresponds to the specified key in the hash.
+The absolute value of C<klen> is the length of the key.  If C<klen> is
+negative the key is assumed to be in UTF-8-encoded Unicode.  If
+C<lval> is set then the fetch will be part of a store.  This means that if
+there is no value in the hash associated with the given key, then one is
+created and a pointer to it is returned.  The C<SV*> it points to can be
+assigned to.  But always check that the
+return value is non-null before dereferencing it to an C<SV*>.
 
 See L<perlguts/"Understanding the Magic of Tied Hashes and Arrays"> for more
 information on how to use this function on tied hashes.
@@ -279,7 +288,8 @@
 
 =for apidoc hv_exists_ent
 
-Returns a boolean indicating whether the specified hash key exists. C<hash>
+Returns a boolean indicating whether
+the specified hash key exists.  C<hash>
 can be a valid precomputed hash value, or 0 to ask for it to be
 computed.
 
@@ -327,7 +337,7 @@
 
 void *
 Perl_hv_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen,
-	       int flags, int action, SV *val, register U32 hash)
+	       int flags, int action, SV *val, U32 hash)
 {
     dVAR;
     XPVHV* xhv;
@@ -340,7 +350,7 @@
 
     if (!hv)
 	return NULL;
-    if (SvTYPE(hv) == SVTYPEMASK)
+    if (SvTYPE(hv) == (svtype)SVTYPEMASK)
 	return NULL;
 
     assert(SvTYPE(hv) == SVt_PVHV);
@@ -378,7 +388,7 @@
 	if (SvIsCOW_shared_hash(keysv)) {
 	    flags = HVhek_KEYCANONICAL | (is_utf8 ? HVhek_UTF8 : 0);
 	} else {
-	    flags = 0;
+	    flags = is_utf8 ? HVhek_UTF8 : 0;
 	}
     } else {
 	is_utf8 = ((flags & HVhek_UTF8) ? TRUE : FALSE);
@@ -386,8 +396,7 @@
 
     if (action & HV_DELETE) {
 	return (void *) hv_delete_common(hv, keysv, key, klen,
-					 flags | (is_utf8 ? HVhek_UTF8 : 0),
-					 action, hash);
+					 flags, action, hash);
     }
 
     xhv = (XPVHV*)SvANY(hv);
@@ -517,13 +526,13 @@
 	    bool needs_store;
 	    hv_magic_check (hv, &needs_copy, &needs_store);
 	    if (needs_copy) {
-		const bool save_taint = PL_tainted;
+		const bool save_taint = TAINT_get;
 		if (keysv || is_utf8) {
 		    if (!keysv) {
 			keysv = newSVpvn_utf8(key, klen, TRUE);
 		    }
-		    if (PL_tainting)
-			PL_tainted = SvTAINTED(keysv);
+		    if (TAINTING_get)
+			TAINT_set(SvTAINTED(keysv));
 		    keysv = sv_2mortal(newSVsv(keysv));
 		    mg_copy(MUTABLE_SV(hv), val, (char*)keysv, HEf_SVKEY);
 		} else {
@@ -531,6 +540,9 @@
 		}
 
 		TAINT_IF(save_taint);
+#ifdef NO_TAINT_SUPPORT
+                PERL_UNUSED_VAR(save_taint);
+#endif
 		if (!needs_store) {
 		    if (flags & HVhek_FREEKEY)
 			Safefree(key);
@@ -585,7 +597,7 @@
 	}
     }
 
-    if (is_utf8 & !(flags & HVhek_KEYCANONICAL)) {
+    if (is_utf8 && !(flags & HVhek_KEYCANONICAL)) {
 	char * const keysave = (char *)key;
 	key = (char*)bytes_from_utf8((U8*)key, &klen, &is_utf8);
         if (is_utf8)
@@ -604,20 +616,11 @@
 	}
     }
 
-    if (HvREHASH(hv)) {
-	PERL_HASH_INTERNAL(hash, key, klen);
-	/* We don't have a pointer to the hv, so we have to replicate the
-	   flag into every HEK, so that hv_iterkeysv can see it.  */
-	/* And yes, you do need this even though you are not "storing" because
-	   you can flip the flags below if doing an lval lookup.  (And that
-	   was put in to give the semantics Andreas was expecting.)  */
-	flags |= HVhek_REHASH;
-    } else if (!hash) {
-        if (keysv && (SvIsCOW_shared_hash(keysv))) {
+    if (!hash) {
+        if (keysv && (SvIsCOW_shared_hash(keysv)))
             hash = SvSHARED_HASH(keysv);
-        } else {
+        else
             PERL_HASH(hash, key, klen);
-        }
     }
 
     masked_flags = (flags & HVhek_MASK);
@@ -786,37 +789,76 @@
     else                                       /* gotta do the real thing */
 	HeKEY_hek(entry) = save_hek_flags(key, klen, hash, flags);
     HeVAL(entry) = val;
-    HeNEXT(entry) = *oentry;
-    *oentry = entry;
 
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+    /* This logic semi-randomizes the insert order in a bucket.
+     * Either we insert into the top, or the slot below the top,
+     * making it harder to see if there is a collision. We also
+     * reset the iterator randomizer if there is one.
+     */
+    if ( *oentry && PL_HASH_RAND_BITS_ENABLED) {
+        PL_hash_rand_bits++;
+        PL_hash_rand_bits= ROTL_UV(PL_hash_rand_bits,1);
+        if ( PL_hash_rand_bits & 1 ) {
+            HeNEXT(entry) = HeNEXT(*oentry);
+            HeNEXT(*oentry) = entry;
+        } else {
+            HeNEXT(entry) = *oentry;
+            *oentry = entry;
+        }
+    } else
+#endif
+    {
+        HeNEXT(entry) = *oentry;
+        *oentry = entry;
+    }
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+    if (SvOOK(hv)) {
+        /* Currently this makes various tests warn in annoying ways.
+         * So Silenced for now. - Yves | bogus end of comment =>* /
+        if (HvAUX(hv)->xhv_riter != -1) {
+            Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL),
+                             "[TESTING] Inserting into a hash during each() traversal results in undefined behavior"
+                             pTHX__FORMAT
+                             pTHX__VALUE);
+        }
+        */
+        if (PL_HASH_RAND_BITS_ENABLED) {
+            if (PL_HASH_RAND_BITS_ENABLED == 1)
+                PL_hash_rand_bits += (PTRV)entry + 1;  /* we don't bother to use ptr_hash here */
+            PL_hash_rand_bits= ROTL_UV(PL_hash_rand_bits,1);
+        }
+        HvAUX(hv)->xhv_rand= (U32)PL_hash_rand_bits;
+    }
+#endif
+
     if (val == &PL_sv_placeholder)
 	HvPLACEHOLDERS(hv)++;
     if (masked_flags & HVhek_ENABLEHVKFLAGS)
 	HvHASKFLAGS_on(hv);
 
-    {
-	const HE *counter = HeNEXT(entry);
+    xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */
+    if ( DO_HSPLIT(xhv) ) {
+        const STRLEN oldsize = xhv->xhv_max + 1;
+        const U32 items = (U32)HvPLACEHOLDERS_get(hv);
 
-	xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */
-	if (!counter) {				/* initial entry? */
-	} else if (xhv->xhv_keys > xhv->xhv_max) {
-		/* Use only the old HvKEYS(hv) > HvMAX(hv) condition to limit
-		   bucket splits on a rehashed hash, as we're not going to
-		   split it again, and if someone is lucky (evil) enough to
-		   get all the keys in one list they could exhaust our memory
-		   as we repeatedly double the number of buckets on every
-		   entry. Linear search feels a less worse thing to do.  */
-	    hsplit(hv);
-	} else if(!HvREHASH(hv)) {
-	    U32 n_links = 1;
-
-	    while ((counter = HeNEXT(counter)))
-		n_links++;
-
-	    if (n_links > HV_MAX_LENGTH_BEFORE_SPLIT) {
-		hsplit(hv);
-	    }
-	}
+        if (items /* hash has placeholders  */
+            && !SvREADONLY(hv) /* but is not a restricted hash */) {
+            /* If this hash previously was a "restricted hash" and had
+               placeholders, but the "restricted" flag has been turned off,
+               then the placeholders no longer serve any useful purpose.
+               However, they have the downsides of taking up RAM, and adding
+               extra steps when finding used values. It's safe to clear them
+               at this point, even though Storable rebuilds restricted hashes by
+               putting in all the placeholders (first) before turning on the
+               readonly flag, because Storable always pre-splits the hash.
+               If we're lucky, then we may clear sufficient placeholders to
+               avoid needing to split the hash at all.  */
+            clear_placeholders(hv, items);
+            if (DO_HSPLIT(xhv))
+                hsplit(hv, oldsize, oldsize * 2);
+        } else
+            hsplit(hv, oldsize, oldsize * 2);
     }
 
     if (return_svp) {
@@ -880,10 +922,12 @@
 /*
 =for apidoc hv_delete
 
-Deletes a key/value pair in the hash.  The value's SV is removed from the
-hash, made mortal, and returned to the caller.  The C<klen> is the length of
-the key.  The C<flags> value will normally be zero; if set to G_DISCARD then
-NULL will be returned.  NULL will also be returned if the key is not found.
+Deletes a key/value pair in the hash.  The value's SV is removed from
+the hash, made mortal, and returned to the caller.  The absolute
+value of C<klen> is the length of the key.  If C<klen> is negative the
+key is assumed to be in UTF-8-encoded Unicode.  The C<flags> value
+will normally be zero; if set to G_DISCARD then NULL will be returned.
+NULL will also be returned if the key is not found.
 
 =for apidoc hv_delete_ent
 
@@ -901,10 +945,9 @@
 		   int k_flags, I32 d_flags, U32 hash)
 {
     dVAR;
-    register XPVHV* xhv;
-    register HE *entry;
-    register HE **oentry;
-    HE *const *first_entry;
+    XPVHV* xhv;
+    HE *entry;
+    HE **oentry;
     bool is_utf8 = (k_flags & HVhek_UTF8) ? TRUE : FALSE;
     int masked_flags;
 
@@ -952,7 +995,7 @@
     if (!HvARRAY(hv))
 	return NULL;
 
-    if (is_utf8) {
+    if (is_utf8 && !(k_flags & HVhek_KEYCANONICAL)) {
 	const char * const keysave = key;
 	key = (char*)bytes_from_utf8((U8*)key, &klen, &is_utf8);
 
@@ -971,19 +1014,16 @@
         HvHASKFLAGS_on(MUTABLE_SV(hv));
     }
 
-    if (HvREHASH(hv)) {
-	PERL_HASH_INTERNAL(hash, key, klen);
-    } else if (!hash) {
-        if (keysv && (SvIsCOW_shared_hash(keysv))) {
+    if (!hash) {
+        if (keysv && (SvIsCOW_shared_hash(keysv)))
             hash = SvSHARED_HASH(keysv);
-        } else {
+        else
             PERL_HASH(hash, key, klen);
-        }
     }
 
     masked_flags = (k_flags & HVhek_MASK);
 
-    first_entry = oentry = &(HvARRAY(hv))[hash & (I32) HvMAX(hv)];
+    oentry = &(HvARRAY(hv))[hash & (I32) HvMAX(hv)];
     entry = *oentry;
     for (; entry; oentry = &HeNEXT(entry), entry = *oentry) {
 	SV *sv;
@@ -1050,11 +1090,13 @@
 		    mro_changes = 1;
 	}
 
-	if (d_flags & G_DISCARD)
-	    sv = NULL;
-	else {
-	    sv = sv_2mortal(HeVAL(entry));
-	    HeVAL(entry) = &PL_sv_placeholder;
+	sv = d_flags & G_DISCARD ? HeVAL(entry) : sv_2mortal(HeVAL(entry));
+	HeVAL(entry) = &PL_sv_placeholder;
+	if (sv) {
+	    /* deletion of method from stash */
+	    if (isGV(sv) && isGV_with_GP(sv) && GvCVu(sv)
+	     && HvENAME_get(hv))
+		mro_method_changed_in(hv);
 	}
 
 	/*
@@ -1063,13 +1105,11 @@
 	 * we can still access via not-really-existing key without raising
 	 * an error.
 	 */
-	if (SvREADONLY(hv)) {
-	    SvREFCNT_dec(HeVAL(entry));
-	    HeVAL(entry) = &PL_sv_placeholder;
+	if (SvREADONLY(hv))
 	    /* We'll be saving this slot, so the number of allocated keys
 	     * doesn't go down, but the number placeholders goes up */
 	    HvPLACEHOLDERS(hv)++;
-	} else {
+	else {
 	    *oentry = HeNEXT(entry);
 	    if (SvOOK(hv) && entry == HvAUX(hv)->xhv_eiter /* HvEITER(hv) */)
 		HvLAZYDEL_on(hv);
@@ -1084,6 +1124,11 @@
 	        HvHASKFLAGS_off(hv);
 	}
 
+	if (d_flags & G_DISCARD) {
+	    SvREFCNT_dec(sv);
+	    sv = NULL;
+	}
+
 	if (mro_changes == 1) mro_isa_changed_in(hv);
 	else if (mro_changes == 2)
 	    mro_package_moved(NULL, stash, gv, 1);
@@ -1102,17 +1147,12 @@
 }
 
 STATIC void
-S_hsplit(pTHX_ HV *hv)
+S_hsplit(pTHX_ HV *hv, STRLEN const oldsize, STRLEN newsize)
 {
     dVAR;
-    register XPVHV* const xhv = (XPVHV*)SvANY(hv);
-    const I32 oldsize = (I32) xhv->xhv_max+1; /* HvMAX(hv)+1 (sick) */
-    register I32 newsize = oldsize * 2;
-    register I32 i;
+    STRLEN i = 0;
     char *a = (char*) HvARRAY(hv);
-    register HE **aep;
-    int longest_chain = 0;
-    int was_shared;
+    HE **aep;
 
     PERL_ARGS_ASSERT_HSPLIT;
 
@@ -1119,16 +1159,7 @@
     /*PerlIO_printf(PerlIO_stderr(), "hsplit called for %p which had %d\n",
       (void*)hv, (int) oldsize);*/
 
-    if (HvPLACEHOLDERS_get(hv) && !SvREADONLY(hv)) {
-      /* Can make this clear any placeholders first for non-restricted hashes,
-	 even though Storable rebuilds restricted hashes by putting in all the
-	 placeholders (first) before turning on the readonly flag, because
-	 Storable always pre-splits the hash.  */
-      hv_clear_placeholders(hv);
-    }
-	       
     PL_nomemok = TRUE;
-#if defined(STRANGE_MALLOC) || defined(MYMALLOC)
     Renew(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize)
 	  + (SvOOK(hv) ? sizeof(struct xpvhv_aux) : 0), char);
     if (!a) {
@@ -1135,129 +1166,80 @@
       PL_nomemok = FALSE;
       return;
     }
-    if (SvOOK(hv)) {
-	Move(&a[oldsize * sizeof(HE*)], &a[newsize * sizeof(HE*)], 1, struct xpvhv_aux);
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+    /* the idea of this is that we create a "random" value by hashing the address of
+     * the array, we then use the low bit to decide if we insert at the top, or insert
+     * second from top. After each such insert we rotate the hashed value. So we can
+     * use the same hashed value over and over, and in normal build environments use
+     * very few ops to do so. ROTL32() should produce a single machine operation. */
+    if (PL_HASH_RAND_BITS_ENABLED) {
+        if (PL_HASH_RAND_BITS_ENABLED == 1)
+            PL_hash_rand_bits += ptr_hash((PTRV)a);
+        PL_hash_rand_bits = ROTL_UV(PL_hash_rand_bits,1);
     }
-#else
-    Newx(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize)
-	+ (SvOOK(hv) ? sizeof(struct xpvhv_aux) : 0), char);
-    if (!a) {
-      PL_nomemok = FALSE;
-      return;
-    }
-    Copy(HvARRAY(hv), a, oldsize * sizeof(HE*), char);
+#endif
+
     if (SvOOK(hv)) {
-	Copy(HvAUX(hv), &a[newsize * sizeof(HE*)], 1, struct xpvhv_aux);
+        struct xpvhv_aux *const dest
+            = (struct xpvhv_aux*) &a[newsize * sizeof(HE*)];
+        Move(&a[oldsize * sizeof(HE*)], dest, 1, struct xpvhv_aux);
+        /* we reset the iterator's xhv_rand as well, so they get a totally new ordering */
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+        dest->xhv_rand = (U32)PL_hash_rand_bits;
+#endif
     }
-    Safefree(HvARRAY(hv));
-#endif
 
     PL_nomemok = FALSE;
     Zero(&a[oldsize * sizeof(HE*)], (newsize-oldsize) * sizeof(HE*), char);	/* zero 2nd half*/
-    xhv->xhv_max = --newsize;	/* HvMAX(hv) = --newsize */
+    HvMAX(hv) = --newsize;
     HvARRAY(hv) = (HE**) a;
+
+    if (!HvTOTALKEYS(hv))       /* skip rest if no entries */
+        return;
+
     aep = (HE**)a;
+    do {
+	HE **oentry = aep + i;
+	HE *entry = aep[i];
 
-    for (i=0; i<oldsize; i++,aep++) {
-	int left_length = 0;
-	int right_length = 0;
-	HE **oentry = aep;
-	HE *entry = *aep;
-	register HE **bep;
-
 	if (!entry)				/* non-existent */
 	    continue;
-	bep = aep+oldsize;
 	do {
-	    if ((HeHASH(entry) & newsize) != (U32)i) {
+            U32 j = (HeHASH(entry) & newsize);
+	    if (j != (U32)i) {
 		*oentry = HeNEXT(entry);
-		HeNEXT(entry) = *bep;
-		*bep = entry;
-		right_length++;
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+                /* if the target cell is empty or PL_HASH_RAND_BITS_ENABLED is false
+                 * insert to top, otherwise rotate the bucket rand 1 bit,
+                 * and use the new low bit to decide if we insert at top,
+                 * or next from top. IOW, we only rotate on a collision.*/
+                if (aep[j] && PL_HASH_RAND_BITS_ENABLED) {
+                    PL_hash_rand_bits+= ROTL_UV(HeHASH(entry), 17);
+                    PL_hash_rand_bits= ROTL_UV(PL_hash_rand_bits,1);
+                    if (PL_hash_rand_bits & 1) {
+                        HeNEXT(entry)= HeNEXT(aep[j]);
+                        HeNEXT(aep[j])= entry;
+                    } else {
+                        /* Note, this is structured in such a way as the optimizer
+                        * should eliminate the duplicated code here and below without
+                        * us needing to explicitly use a goto. */
+                        HeNEXT(entry) = aep[j];
+                        aep[j] = entry;
+                    }
+                } else
+#endif
+                {
+                    /* see comment above about duplicated code */
+                    HeNEXT(entry) = aep[j];
+                    aep[j] = entry;
+                }
 	    }
 	    else {
 		oentry = &HeNEXT(entry);
-		left_length++;
 	    }
 	    entry = *oentry;
 	} while (entry);
-	/* I think we don't actually need to keep track of the longest length,
-	   merely flag if anything is too long. But for the moment while
-	   developing this code I'll track it.  */
-	if (left_length > longest_chain)
-	    longest_chain = left_length;
-	if (right_length > longest_chain)
-	    longest_chain = right_length;
-    }
-
-
-    /* Pick your policy for "hashing isn't working" here:  */
-    if (longest_chain <= HV_MAX_LENGTH_BEFORE_SPLIT /* split worked?  */
-	|| HvREHASH(hv)) {
-	return;
-    }
-
-    if (hv == PL_strtab) {
-	/* Urg. Someone is doing something nasty to the string table.
-	   Can't win.  */
-	return;
-    }
-
-    /* Awooga. Awooga. Pathological data.  */
-    /*PerlIO_printf(PerlIO_stderr(), "%p %d of %d with %d/%d buckets\n", (void*)hv,
-      longest_chain, HvTOTALKEYS(hv), HvFILL(hv),  1+HvMAX(hv));*/
-
-    ++newsize;
-    Newxz(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize)
-	 + (SvOOK(hv) ? sizeof(struct xpvhv_aux) : 0), char);
-    if (SvOOK(hv)) {
-	Copy(HvAUX(hv), &a[newsize * sizeof(HE*)], 1, struct xpvhv_aux);
-    }
-
-    was_shared = HvSHAREKEYS(hv);
-
-    HvSHAREKEYS_off(hv);
-    HvREHASH_on(hv);
-
-    aep = HvARRAY(hv);
-
-    for (i=0; i<newsize; i++,aep++) {
-	register HE *entry = *aep;
-	while (entry) {
-	    /* We're going to trash this HE's next pointer when we chain it
-	       into the new hash below, so store where we go next.  */
-	    HE * const next = HeNEXT(entry);
-	    UV hash;
-	    HE **bep;
-
-	    /* Rehash it */
-	    PERL_HASH_INTERNAL(hash, HeKEY(entry), HeKLEN(entry));
-
-	    if (was_shared) {
-		/* Unshare it.  */
-		HEK * const new_hek
-		    = save_hek_flags(HeKEY(entry), HeKLEN(entry),
-				     hash, HeKFLAGS(entry));
-		unshare_hek (HeKEY_hek(entry));
-		HeKEY_hek(entry) = new_hek;
-	    } else {
-		/* Not shared, so simply write the new hash in. */
-		HeHASH(entry) = hash;
-	    }
-	    /*PerlIO_printf(PerlIO_stderr(), "%d ", HeKFLAGS(entry));*/
-	    HEK_REHASH_on(HeKEY_hek(entry));
-	    /*PerlIO_printf(PerlIO_stderr(), "%d\n", HeKFLAGS(entry));*/
-
-	    /* Copy oentry to the correct new chain.  */
-	    bep = ((HE**)a) + (hash & (I32) xhv->xhv_max);
-	    HeNEXT(entry) = *bep;
-	    *bep = entry;
-
-	    entry = next;
-	}
-    }
-    Safefree (HvARRAY(hv));
-    HvARRAY(hv) = (HE **)a;
+    } while (i++ < oldsize);
 }
 
 void
@@ -1264,12 +1246,10 @@
 Perl_hv_ksplit(pTHX_ HV *hv, IV newmax)
 {
     dVAR;
-    register XPVHV* xhv = (XPVHV*)SvANY(hv);
+    XPVHV* xhv = (XPVHV*)SvANY(hv);
     const I32 oldsize = (I32) xhv->xhv_max+1; /* HvMAX(hv)+1 (sick) */
-    register I32 newsize;
-    register I32 i;
-    register char *a;
-    register HE **aep;
+    I32 newsize;
+    char *a;
 
     PERL_ARGS_ASSERT_HV_KSPLIT;
 
@@ -1286,64 +1266,29 @@
 
     a = (char *) HvARRAY(hv);
     if (a) {
-	PL_nomemok = TRUE;
-#if defined(STRANGE_MALLOC) || defined(MYMALLOC)
-	Renew(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize)
-	      + (SvOOK(hv) ? sizeof(struct xpvhv_aux) : 0), char);
-	if (!a) {
-	  PL_nomemok = FALSE;
-	  return;
-	}
-	if (SvOOK(hv)) {
-	    Copy(&a[oldsize * sizeof(HE*)], &a[newsize * sizeof(HE*)], 1, struct xpvhv_aux);
-	}
-#else
-	Newx(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize)
-	    + (SvOOK(hv) ? sizeof(struct xpvhv_aux) : 0), char);
-	if (!a) {
-	  PL_nomemok = FALSE;
-	  return;
-	}
-	Copy(HvARRAY(hv), a, oldsize * sizeof(HE*), char);
-	if (SvOOK(hv)) {
-	    Copy(HvAUX(hv), &a[newsize * sizeof(HE*)], 1, struct xpvhv_aux);
-	}
-	Safefree(HvARRAY(hv));
-#endif
-	PL_nomemok = FALSE;
-	Zero(&a[oldsize * sizeof(HE*)], (newsize-oldsize) * sizeof(HE*), char); /* zero 2nd half*/
+        hsplit(hv, oldsize, newsize);
+    } else {
+        Newxz(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize), char);
+        xhv->xhv_max = --newsize;
+        HvARRAY(hv) = (HE **) a;
     }
-    else {
-	Newxz(a, PERL_HV_ARRAY_ALLOC_BYTES(newsize), char);
-    }
-    xhv->xhv_max = --newsize; 	/* HvMAX(hv) = --newsize */
-    HvARRAY(hv) = (HE **) a;
-    if (!xhv->xhv_keys /* !HvTOTALKEYS(hv) */)	/* skip rest if no entries */
-	return;
+}
 
-    aep = (HE**)a;
-    for (i=0; i<oldsize; i++,aep++) {
-	HE **oentry = aep;
-	HE *entry = *aep;
+/* IMO this should also handle cases where hv_max is smaller than hv_keys
+ * as tied hashes could play silly buggers and mess us around. We will
+ * do the right thing during hv_store() afterwards, but still - Yves */
+#define HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys) STMT_START {\
+    /* Can we use fewer buckets? (hv_max is always 2^n-1) */        \
+    if (hv_max < PERL_HASH_DEFAULT_HvMAX) {                         \
+        hv_max = PERL_HASH_DEFAULT_HvMAX;                           \
+    } else {                                                        \
+        while (hv_max > PERL_HASH_DEFAULT_HvMAX && hv_max + 1 >= hv_keys * 2) \
+            hv_max = hv_max / 2;                                    \
+    }                                                               \
+    HvMAX(hv) = hv_max;                                             \
+} STMT_END
 
-	if (!entry)				/* non-existent */
-	    continue;
-	do {
-	    register I32 j = (HeHASH(entry) & newsize);
 
-	    if (j != i) {
-		j -= i;
-		*oentry = HeNEXT(entry);
-		HeNEXT(entry) = aep[j];
-		aep[j] = entry;
-	    }
-	    else
-		oentry = &HeNEXT(entry);
-	    entry = *oentry;
-	} while (entry);
-    }
-}
-
 HV *
 Perl_newHVhv(pTHX_ HV *ohv)
 {
@@ -1351,7 +1296,7 @@
     HV * const hv = newHV();
     STRLEN hv_max;
 
-    if (!ohv || !HvTOTALKEYS(ohv))
+    if (!ohv || (!HvTOTALKEYS(ohv) && !SvMAGICAL((const SV *)ohv)))
 	return hv;
     hv_max = HvMAX(ohv);
 
@@ -1405,18 +1350,19 @@
 	HE *entry;
 	const I32 riter = HvRITER_get(ohv);
 	HE * const eiter = HvEITER_get(ohv);
-	STRLEN hv_fill = HvFILL(ohv);
+        STRLEN hv_keys = HvTOTALKEYS(ohv);
 
-	/* Can we use fewer buckets? (hv_max is always 2^n-1) */
-	while (hv_max && hv_max + 1 >= hv_fill * 2)
-	    hv_max = hv_max / 2;
-	HvMAX(hv) = hv_max;
+        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
 
 	hv_iterinit(ohv);
 	while ((entry = hv_iternext_flags(ohv, 0))) {
-	    SV *const val = HeVAL(entry);
-	    (void)hv_store_flags(hv, HeKEY(entry), HeKLEN(entry),
-			         SvIMMORTAL(val) ? val : newSVsv(val),
+	    SV *val = hv_iterval(ohv,entry);
+	    SV * const keysv = HeSVKEY(entry);
+	    val = SvIMMORTAL(val) ? val : newSVsv(val);
+	    if (keysv)
+		(void)hv_store_ent(hv, keysv, val, 0);
+	    else
+	        (void)hv_store_flags(hv, HeKEY(entry), HeKLEN(entry), val,
 				 HeHASH(entry), HeKFLAGS(entry));
 	}
 	HvRITER_set(ohv, riter);
@@ -1443,48 +1389,54 @@
 {
     HV * const hv = newHV();
 
-    if (ohv && HvTOTALKEYS(ohv)) {
+    if (ohv) {
 	STRLEN hv_max = HvMAX(ohv);
-	STRLEN hv_fill = HvFILL(ohv);
+        STRLEN hv_keys = HvTOTALKEYS(ohv);
 	HE *entry;
 	const I32 riter = HvRITER_get(ohv);
 	HE * const eiter = HvEITER_get(ohv);
 
-	while (hv_max && hv_max + 1 >= hv_fill * 2)
-	    hv_max = hv_max / 2;
-	HvMAX(hv) = hv_max;
+	ENTER;
+	SAVEFREESV(hv);
 
+        HV_SET_MAX_ADJUSTED_FOR_KEYS(hv,hv_max,hv_keys);
+
 	hv_iterinit(ohv);
 	while ((entry = hv_iternext_flags(ohv, 0))) {
-	    SV *const sv = newSVsv(HeVAL(entry));
-	    SV *heksv = newSVhek(HeKEY_hek(entry));
-	    sv_magic(sv, NULL, PERL_MAGIC_hintselem,
+	    SV *const sv = newSVsv(hv_iterval(ohv,entry));
+	    SV *heksv = HeSVKEY(entry);
+	    if (!heksv && sv) heksv = newSVhek(HeKEY_hek(entry));
+	    if (sv) sv_magic(sv, NULL, PERL_MAGIC_hintselem,
 		     (char *)heksv, HEf_SVKEY);
-	    SvREFCNT_dec(heksv);
-	    (void)hv_store_flags(hv, HeKEY(entry), HeKLEN(entry),
-				 sv, HeHASH(entry), HeKFLAGS(entry));
+	    if (heksv == HeSVKEY(entry))
+		(void)hv_store_ent(hv, heksv, sv, 0);
+	    else {
+		(void)hv_common(hv, heksv, HeKEY(entry), HeKLEN(entry),
+				 HeKFLAGS(entry), HV_FETCH_ISSTORE|HV_FETCH_JUST_SV, sv, HeHASH(entry));
+		SvREFCNT_dec_NN(heksv);
+	    }
 	}
 	HvRITER_set(ohv, riter);
 	HvEITER_set(ohv, eiter);
+
+	SvREFCNT_inc_simple_void_NN(hv);
+	LEAVE;
     }
     hv_magic(hv, NULL, PERL_MAGIC_hints);
     return hv;
 }
+#undef HV_SET_MAX_ADJUSTED_FOR_KEYS
 
-void
-Perl_hv_free_ent(pTHX_ HV *hv, register HE *entry)
+/* like hv_free_ent, but returns the SV rather than freeing it */
+STATIC SV*
+S_hv_free_ent_ret(pTHX_ HV *hv, HE *entry)
 {
     dVAR;
     SV *val;
 
-    PERL_ARGS_ASSERT_HV_FREE_ENT;
+    PERL_ARGS_ASSERT_HV_FREE_ENT_RET;
 
-    if (!entry)
-	return;
     val = HeVAL(entry);
-    if (val && isGV(val) && isGV_with_GP(val) && GvCVu(val) && HvENAME(hv))
-        mro_method_changed_in(hv);	/* deletion of method from stash */
-    SvREFCNT_dec(val);
     if (HeKLEN(entry) == HEf_SVKEY) {
 	SvREFCNT_dec(HeKEY_sv(entry));
 	Safefree(HeKEY_hek(entry));
@@ -1494,14 +1446,30 @@
     else
 	Safefree(HeKEY_hek(entry));
     del_HE(entry);
+    return val;
 }
 
 
 void
-Perl_hv_delayfree_ent(pTHX_ HV *hv, register HE *entry)
+Perl_hv_free_ent(pTHX_ HV *hv, HE *entry)
 {
     dVAR;
+    SV *val;
 
+    PERL_ARGS_ASSERT_HV_FREE_ENT;
+
+    if (!entry)
+	return;
+    val = hv_free_ent_ret(hv, entry);
+    SvREFCNT_dec(val);
+}
+
+
+void
+Perl_hv_delayfree_ent(pTHX_ HV *hv, HE *entry)
+{
+    dVAR;
+
     PERL_ARGS_ASSERT_HV_DELAYFREE_ENT;
 
     if (!entry)
@@ -1517,8 +1485,12 @@
 /*
 =for apidoc hv_clear
 
-Clears a hash, making it empty.
+Frees the all the elements of a hash, leaving it empty.
+The XS equivalent of C<%hash = ()>.  See also L</hv_undef>.
 
+If any destructors are triggered as a result, the hv itself may
+be freed.
+
 =cut
 */
 
@@ -1526,7 +1498,7 @@
 Perl_hv_clear(pTHX_ HV *hv)
 {
     dVAR;
-    register XPVHV* xhv;
+    XPVHV* xhv;
     if (!hv)
 	return;
 
@@ -1534,6 +1506,8 @@
 
     xhv = (XPVHV*)SvANY(hv);
 
+    ENTER;
+    SAVEFREESV(SvREFCNT_inc_simple_NN(hv));
     if (SvREADONLY(hv) && HvARRAY(hv) != NULL) {
 	/* restricted hash: convert all keys to placeholders */
 	STRLEN i;
@@ -1542,38 +1516,36 @@
 	    for (; entry; entry = HeNEXT(entry)) {
 		/* not already placeholder */
 		if (HeVAL(entry) != &PL_sv_placeholder) {
-		    if (HeVAL(entry) && SvREADONLY(HeVAL(entry))
-		     && !SvIsCOW(HeVAL(entry))) {
-			SV* const keysv = hv_iterkeysv(entry);
-			Perl_croak(aTHX_
-				   "Attempt to delete readonly key '%"SVf"' from a restricted hash",
-				   (void*)keysv);
+		    if (HeVAL(entry)) {
+			if (SvREADONLY(HeVAL(entry)) && !SvIsCOW(HeVAL(entry))) {
+			    SV* const keysv = hv_iterkeysv(entry);
+			    Perl_croak_nocontext(
+				"Attempt to delete readonly key '%"SVf"' from a restricted hash",
+				(void*)keysv);
+			}
+			SvREFCNT_dec_NN(HeVAL(entry));
 		    }
-		    SvREFCNT_dec(HeVAL(entry));
 		    HeVAL(entry) = &PL_sv_placeholder;
 		    HvPLACEHOLDERS(hv)++;
 		}
 	    }
 	}
-	goto reset;
     }
+    else {
+	hfreeentries(hv);
+	HvPLACEHOLDERS_set(hv, 0);
 
-    hfreeentries(hv);
-    HvPLACEHOLDERS_set(hv, 0);
-    if (HvARRAY(hv))
-	Zero(HvARRAY(hv), xhv->xhv_max+1 /* HvMAX(hv)+1 */, HE*);
+	if (SvRMAGICAL(hv))
+	    mg_clear(MUTABLE_SV(hv));
 
-    if (SvRMAGICAL(hv))
-	mg_clear(MUTABLE_SV(hv));
-
-    HvHASKFLAGS_off(hv);
-    HvREHASH_off(hv);
-    reset:
+	HvHASKFLAGS_off(hv);
+    }
     if (SvOOK(hv)) {
         if(HvENAME_get(hv))
             mro_isa_changed_in(hv);
 	HvEITER_set(hv, NULL);
     }
+    LEAVE;
 }
 
 /*
@@ -1616,7 +1588,6 @@
     i = HvMAX(hv);
     do {
 	/* Loop down the linked list heads  */
-	bool first = TRUE;
 	HE **oentry = &(HvARRAY(hv))[i];
 	HE *entry;
 
@@ -1635,7 +1606,7 @@
 		if (--items == 0) {
 		    /* Finished.  */
 		    HvTOTALKEYS(hv) -= (IV)HvPLACEHOLDERS_get(hv);
-		    if (HvKEYS(hv) == 0)
+		    if (HvUSEDKEYS(hv) == 0)
 			HvHASKFLAGS_off(hv);
 		    HvPLACEHOLDERS_set(hv, 0);
 		    return;
@@ -1642,7 +1613,6 @@
 		}
 	    } else {
 		oentry = &HeNEXT(entry);
-		first = FALSE;
 	    }
 	}
     } while (--i >= 0);
@@ -1654,213 +1624,101 @@
 STATIC void
 S_hfreeentries(pTHX_ HV *hv)
 {
-    /* This is the array that we're going to restore  */
-    HE **const orig_array = HvARRAY(hv);
-    HE **tmp_array = NULL;
-    const bool has_aux = (SvOOK(hv) == SVf_OOK);
-    struct xpvhv_aux * current_aux = NULL;
-    int attempts = 100;
-    
-    const bool mpm = PL_phase != PERL_PHASE_DESTRUCT && HvENAME(hv);
+    STRLEN index = 0;
+    XPVHV * const xhv = (XPVHV*)SvANY(hv);
+    SV *sv;
 
     PERL_ARGS_ASSERT_HFREEENTRIES;
 
-    if (!orig_array)
-	return;
+    while ((sv = Perl_hfree_next_entry(aTHX_ hv, &index))||xhv->xhv_keys) {
+	SvREFCNT_dec(sv);
+    }
+}
 
-    /* orig_array remains unchanged throughout the loop. If after freeing all
-       the entries it turns out that one of the little blighters has triggered
-       an action that has caused HvARRAY to be re-allocated, then we set
-       array to the new HvARRAY, and try again.  */
 
-    while (1) {
-	/* This is the one we're going to try to empty.  First time round
-	   it's the original array.  (Hopefully there will only be 1 time
-	   round) */
-	HE ** const array = HvARRAY(hv);
-	I32 i = HvMAX(hv);
+/* hfree_next_entry()
+ * For use only by S_hfreeentries() and sv_clear().
+ * Delete the next available HE from hv and return the associated SV.
+ * Returns null on empty hash. Nevertheless null is not a reliable
+ * indicator that the hash is empty, as the deleted entry may have a
+ * null value.
+ * indexp is a pointer to the current index into HvARRAY. The index should
+ * initially be set to 0. hfree_next_entry() may update it.  */
 
-	struct xpvhv_aux *iter = SvOOK(hv) ? HvAUX(hv) : NULL;
+SV*
+Perl_hfree_next_entry(pTHX_ HV *hv, STRLEN *indexp)
+{
+    struct xpvhv_aux *iter;
+    HE *entry;
+    HE ** array;
+#ifdef DEBUGGING
+    STRLEN orig_index = *indexp;
+#endif
 
-	/* If there are no keys, we only need to free items in the aux
-	   structure and then exit the loop. */
-	const bool empty = !((XPVHV*) SvANY(hv))->xhv_keys;
+    PERL_ARGS_ASSERT_HFREE_NEXT_ENTRY;
 
-	/* make everyone else think the array is empty, so that the destructors
-	 * called for freed entries can't recursively mess with us */
-	if (!empty) HvARRAY(hv) = NULL;
-
-	if (SvOOK(hv)) {
-	    HE *entry;
-
-	    if (!empty) {
-	      SvFLAGS(hv) &= ~SVf_OOK; /* Goodbye, aux structure.  */
-	      /* What aux structure?  */
-	      /* (But we still have a pointer to it in iter.) */
-
-	      /* Copy the name and MRO stuff to a new aux structure
-	         if present. */
-	      if (iter->xhv_name_u.xhvnameu_name || iter->xhv_mro_meta) {
-		struct xpvhv_aux * const newaux = hv_auxinit(hv);
-		newaux->xhv_name_count = iter->xhv_name_count;
-		if (newaux->xhv_name_count)
-		    newaux->xhv_name_u.xhvnameu_names
-			= iter->xhv_name_u.xhvnameu_names;
-		else
-		    newaux->xhv_name_u.xhvnameu_name
-			= iter->xhv_name_u.xhvnameu_name;
-
-		iter->xhv_name_u.xhvnameu_name = NULL;
-		newaux->xhv_mro_meta = iter->xhv_mro_meta;
-		iter->xhv_mro_meta = NULL;
-	      }
-
-	      /* Because we have taken xhv_name and xhv_mro_meta out, the
-	         only allocated pointers in the aux structure that might
-	         exist are the back-reference array and xhv_eiter.
-	       */
-	    }
-
-	    /* weak references: if called from sv_clear(), the backrefs
-	     * should already have been killed; if there are any left, its
-	     * because we're doing hv_clear() or hv_undef(), and the HV
-	     * will continue to live.
-	     * Because while freeing the entries we fake up a NULL HvARRAY
-	     * (and hence HvAUX), we need to store the backref array
-	     * somewhere else; but it still needs to be visible in case
-	     * any the things we free happen to call sv_del_backref().
-	     * We do this by storing it in magic instead.
-	     * If, during the entry freeing, a destructor happens to add
-	     * a new weak backref, then sv_add_backref will look in both
-	     * places (magic in HvAUX) for the AV, but will create a new
-	     * AV in HvAUX if it can't find one (if it finds it in magic,
-	     * it moves it back into HvAUX. So at the end of the iteration
-	     * we have to allow for this. */
-
-
-	    if (iter->xhv_backreferences) {
-		if (SvTYPE(iter->xhv_backreferences) == SVt_PVAV) {
-		    /* The sv_magic will increase the reference count of the AV,
-		       so we need to drop it first. */
-		    SvREFCNT_dec(iter->xhv_backreferences);
-		    if (AvFILLp(iter->xhv_backreferences) == -1) {
-			/* Turns out that the array is empty. Just free it.  */
-			SvREFCNT_dec(iter->xhv_backreferences);
-
-		    } else {
-			sv_magic(MUTABLE_SV(hv),
-				 MUTABLE_SV(iter->xhv_backreferences),
-				 PERL_MAGIC_backref, NULL, 0);
-		    }
-		}
-		else {
-		    MAGIC *mg;
-		    sv_magic(MUTABLE_SV(hv), NULL, PERL_MAGIC_backref, NULL, 0);
-		    mg = mg_find(MUTABLE_SV(hv), PERL_MAGIC_backref);
-		    mg->mg_obj = (SV*)iter->xhv_backreferences;
-		}
-		iter->xhv_backreferences = NULL;
-	    }
-
-	    entry = iter->xhv_eiter; /* HvEITER(hv) */
-	    if (entry && HvLAZYDEL(hv)) {	/* was deleted earlier? */
-		HvLAZYDEL_off(hv);
-		hv_free_ent(hv, entry);
-	    }
-	    iter->xhv_riter = -1; 	/* HvRITER(hv) = -1 */
-	    iter->xhv_eiter = NULL;	/* HvEITER(hv) = NULL */
-
-	    /* There are now no allocated pointers in the aux structure
-	       unless the hash is empty. */
+    if (SvOOK(hv) && ((iter = HvAUX(hv)))
+	&& ((entry = iter->xhv_eiter)) )
+    {
+	/* the iterator may get resurrected after each
+	 * destructor call, so check each time */
+	if (entry && HvLAZYDEL(hv)) {	/* was deleted earlier? */
+	    HvLAZYDEL_off(hv);
+	    hv_free_ent(hv, entry);
+	    /* warning: at this point HvARRAY may have been
+	     * re-allocated, HvMAX changed etc */
 	}
+	iter->xhv_riter = -1; 	/* HvRITER(hv) = -1 */
+	iter->xhv_eiter = NULL;	/* HvEITER(hv) = NULL */
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+        iter->xhv_last_rand = iter->xhv_rand;
+#endif
+    }
 
-	/* If there are no keys, there is nothing left to free. */
-	if (empty) break;
+    if (!((XPVHV*)SvANY(hv))->xhv_keys)
+	return NULL;
 
-	/* Since we have removed the HvARRAY (and possibly replaced it by
-	   calling hv_auxinit), set the number of keys accordingly. */
-	((XPVHV*) SvANY(hv))->xhv_keys = 0;
+    array = HvARRAY(hv);
+    assert(array);
+    while ( ! ((entry = array[*indexp])) ) {
+	if ((*indexp)++ >= HvMAX(hv))
+	    *indexp = 0;
+	assert(*indexp != orig_index);
+    }
+    array[*indexp] = HeNEXT(entry);
+    ((XPVHV*) SvANY(hv))->xhv_keys--;
 
-	do {
-	    /* Loop down the linked list heads  */
-	    HE *entry = array[i];
-
-	    while (entry) {
-		register HE * const oentry = entry;
-		entry = HeNEXT(entry);
-		if (
-		  mpm && HeVAL(oentry) && isGV(HeVAL(oentry)) &&
-		  GvHV(HeVAL(oentry)) && HvENAME(GvHV(HeVAL(oentry)))
-		) {
-		    STRLEN klen;
-		    const char * const key = HePV(oentry,klen);
-		    if ((klen > 1 && key[klen-1]==':' && key[klen-2]==':')
-		     || (klen == 1 && key[0] == ':')) {
-			mro_package_moved(
-			 NULL, GvHV(HeVAL(oentry)),
-			 (GV *)HeVAL(oentry), 0
- 			);
-		    }
-		}
-		hv_free_ent(hv, oentry);
-	    }
-	} while (--i >= 0);
-
-	/* As there are no allocated pointers in the aux structure, it's now
-	   safe to free the array we just cleaned up, if it's not the one we're
-	   going to put back.  */
-	if (array != orig_array) {
-	    Safefree(array);
+    if (   PL_phase != PERL_PHASE_DESTRUCT && HvENAME(hv)
+	&& HeVAL(entry) && isGV(HeVAL(entry))
+	&& GvHV(HeVAL(entry)) && HvENAME(GvHV(HeVAL(entry)))
+    ) {
+	STRLEN klen;
+	const char * const key = HePV(entry,klen);
+	if ((klen > 1 && key[klen-1]==':' && key[klen-2]==':')
+	 || (klen == 1 && key[0] == ':')) {
+	    mro_package_moved(
+	     NULL, GvHV(HeVAL(entry)),
+	     (GV *)HeVAL(entry), 0
+	    );
 	}
-
-	if (!HvARRAY(hv)) {
-	    /* Good. No-one added anything this time round.  */
-	    break;
-	}
-
-	if (--attempts == 0) {
-	    Perl_die(aTHX_ "panic: hfreeentries failed to free hash - something is repeatedly re-creating entries");
-	}
     }
+    return hv_free_ent_ret(hv, entry);
+}
 
-    /* If the array was not replaced, the rest does not apply. */
-    if (HvARRAY(hv) == orig_array) return;
-	
-    /* Set aside the current array for now, in case we still need it. */
-    if (SvOOK(hv)) current_aux = HvAUX(hv);
-    if (HvARRAY(hv))
-	tmp_array = HvARRAY(hv);
 
-    HvARRAY(hv) = orig_array;
+/*
+=for apidoc hv_undef
 
-    if (has_aux && current_aux)
-	SvFLAGS(hv) |= SVf_OOK;
-    else
-	SvFLAGS(hv) &=~SVf_OOK;
+Undefines the hash.  The XS equivalent of C<undef(%hash)>.
 
-    /* If the hash was actually a symbol table, put the name and MRO
-       caches back.  */
-    if (current_aux) {
-	struct xpvhv_aux * const aux
-	 = SvOOK(hv) ? HvAUX(hv) : hv_auxinit(hv);
-	aux->xhv_name_count = current_aux->xhv_name_count;
-	if(aux->xhv_name_count)
-	    aux->xhv_name_u.xhvnameu_names
-		= current_aux->xhv_name_u.xhvnameu_names;
-	else
-	    aux->xhv_name_u.xhvnameu_name
-		= current_aux->xhv_name_u.xhvnameu_name;
-	aux->xhv_mro_meta   = current_aux->xhv_mro_meta;
-    }
+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.
 
-    if (tmp_array) Safefree(tmp_array);
-}
+If any destructors are triggered as a result, the hv itself may
+be freed.
 
-/*
-=for apidoc hv_undef
+See also L</hv_clear>.
 
-Undefines the hash.
-
 =cut
 */
 
@@ -1868,8 +1726,9 @@
 Perl_hv_undef_flags(pTHX_ HV *hv, U32 flags)
 {
     dVAR;
-    register XPVHV* xhv;
+    XPVHV* xhv;
     const char *name;
+    const bool save = !!SvREFCNT(hv);
 
     if (!hv)
 	return;
@@ -1884,30 +1743,40 @@
        allocate an array for storing the effective name. We can skip that
        during global destruction, as it does not matter where the CVs point
        if they will be freed anyway. */
+    /* note that the code following prior to hfreeentries is duplicated
+     * in sv_clear(), and changes here should be done there too */
     if (PL_phase != PERL_PHASE_DESTRUCT && (name = HvNAME(hv))) {
-        if (PL_stashcache)
-	    (void)hv_delete(PL_stashcache, name, HvNAMELEN_get(hv), G_DISCARD);
+        if (PL_stashcache) {
+            DEBUG_o(Perl_deb(aTHX_ "hv_undef_flags clearing PL_stashcache for '%"
+                             HEKf"'\n", HvNAME_HEK(hv)));
+	    (void)hv_delete(PL_stashcache, name,
+                            HEK_UTF8(HvNAME_HEK(hv)) ? -HvNAMELEN_get(hv) : HvNAMELEN_get(hv),
+                            G_DISCARD
+                           );
+        }
 	hv_name_set(hv, NULL, 0, 0);
     }
+    if (save) {
+	ENTER;
+	SAVEFREESV(SvREFCNT_inc_simple_NN(hv));
+    }
     hfreeentries(hv);
     if (SvOOK(hv)) {
       struct xpvhv_aux * const aux = HvAUX(hv);
       struct mro_meta *meta;
-      bool zeroed = FALSE;
 
       if ((name = HvENAME_get(hv))) {
-	if (PL_phase != PERL_PHASE_DESTRUCT) {
-	    /* This must come at this point in case
-	       mro_isa_changed_in dies. */
-	    Zero(HvARRAY(hv), xhv->xhv_max+1 /* HvMAX(hv)+1 */, HE*);
-	    zeroed = TRUE;
-
+	if (PL_phase != PERL_PHASE_DESTRUCT)
 	    mro_isa_changed_in(hv);
-	}
-        if (PL_stashcache)
+        if (PL_stashcache) {
+            DEBUG_o(Perl_deb(aTHX_ "hv_undef_flags clearing PL_stashcache for effective name '%"
+                             HEKf"'\n", HvENAME_HEK(hv)));
 	    (void)hv_delete(
-	            PL_stashcache, name, HvENAMELEN_get(hv), G_DISCARD
+	            PL_stashcache, name,
+                    HEK_UTF8(HvENAME_HEK(hv)) ? -HvENAMELEN_get(hv) : HvENAMELEN_get(hv),
+                    G_DISCARD
 	          );
+        }
       }
 
       /* If this call originated from sv_clear, then we must check for
@@ -1914,41 +1783,45 @@
        * effective names that need freeing, as well as the usual name. */
       name = HvNAME(hv);
       if (flags & HV_NAME_SETALL ? !!aux->xhv_name_u.xhvnameu_name : !!name) {
-        if (name && PL_stashcache)
-	    (void)hv_delete(PL_stashcache, name, HvNAMELEN_get(hv), G_DISCARD);
+        if (name && PL_stashcache) {
+            DEBUG_o(Perl_deb(aTHX_ "hv_undef_flags clearing PL_stashcache for name '%"
+                             HEKf"'\n", HvNAME_HEK(hv)));
+	    (void)hv_delete(PL_stashcache, name, (HEK_UTF8(HvNAME_HEK(hv)) ? -HvNAMELEN_get(hv) : HvNAMELEN_get(hv)), G_DISCARD);
+        }
 	hv_name_set(hv, NULL, 0, flags);
       }
       if((meta = aux->xhv_mro_meta)) {
 	if (meta->mro_linear_all) {
-	    SvREFCNT_dec(MUTABLE_SV(meta->mro_linear_all));
-	    meta->mro_linear_all = NULL;
-	    /* This is just acting as a shortcut pointer.  */
-	    meta->mro_linear_current = NULL;
-	} else if (meta->mro_linear_current) {
+	    SvREFCNT_dec_NN(meta->mro_linear_all);
+	    /* mro_linear_current is just acting as a shortcut pointer,
+	       hence the else.  */
+	}
+	else
 	    /* Only the current MRO is stored, so this owns the data.
 	     */
 	    SvREFCNT_dec(meta->mro_linear_current);
-	    meta->mro_linear_current = NULL;
-	}
-	if(meta->mro_nextmethod) SvREFCNT_dec(meta->mro_nextmethod);
+	SvREFCNT_dec(meta->mro_nextmethod);
 	SvREFCNT_dec(meta->isa);
 	Safefree(meta);
 	aux->xhv_mro_meta = NULL;
       }
-      if (!aux->xhv_name_u.xhvnameu_name)
+      SvREFCNT_dec(aux->xhv_super);
+      if (!aux->xhv_name_u.xhvnameu_name && ! aux->xhv_backreferences)
 	SvFLAGS(hv) &= ~SVf_OOK;
-      else if (!zeroed)
-	Zero(HvARRAY(hv), xhv->xhv_max+1 /* HvMAX(hv)+1 */, HE*);
     }
     if (!SvOOK(hv)) {
 	Safefree(HvARRAY(hv));
-	xhv->xhv_max   = 7;	/* HvMAX(hv) = 7 (it's a normal hash) */
+        xhv->xhv_max = PERL_HASH_DEFAULT_HvMAX;        /* HvMAX(hv) = 7 (it's a normal hash) */
 	HvARRAY(hv) = 0;
     }
-    HvPLACEHOLDERS_set(hv, 0);
+    /* if we're freeing the HV, the SvMAGIC field has been reused for
+     * other purposes, and so there can't be any placeholder magic */
+    if (SvREFCNT(hv))
+	HvPLACEHOLDERS_set(hv, 0);
 
     if (SvRMAGICAL(hv))
 	mg_clear(MUTABLE_SV(hv));
+    if (save) LEAVE;
 }
 
 /*
@@ -1983,32 +1856,82 @@
     return count;
 }
 
+/* hash a pointer to a U32 - Used in the hash traversal randomization
+ * and bucket order randomization code
+ *
+ * this code was derived from Sereal, which was derived from autobox.
+ */
+
+PERL_STATIC_INLINE U32 S_ptr_hash(PTRV u) {
+#if PTRSIZE == 8
+    /*
+     * This is one of Thomas Wang's hash functions for 64-bit integers from:
+     * http://www.concentric.net/~Ttwang/tech/inthash.htm
+     */
+    u = (~u) + (u << 18);
+    u = u ^ (u >> 31);
+    u = u * 21;
+    u = u ^ (u >> 11);
+    u = u + (u << 6);
+    u = u ^ (u >> 22);
+#else
+    /*
+     * This is one of Bob Jenkins' hash functions for 32-bit integers
+     * from: http://burtleburtle.net/bob/hash/integer.html
+     */
+    u = (u + 0x7ed55d16) + (u << 12);
+    u = (u ^ 0xc761c23c) ^ (u >> 19);
+    u = (u + 0x165667b1) + (u << 5);
+    u = (u + 0xd3a2646c) ^ (u << 9);
+    u = (u + 0xfd7046c5) + (u << 3);
+    u = (u ^ 0xb55a4f09) ^ (u >> 16);
+#endif
+    return (U32)u;
+}
+
+
 static struct xpvhv_aux*
-S_hv_auxinit(HV *hv) {
+S_hv_auxinit(pTHX_ HV *hv) {
     struct xpvhv_aux *iter;
     char *array;
 
     PERL_ARGS_ASSERT_HV_AUXINIT;
 
-    if (!HvARRAY(hv)) {
-	Newxz(array, PERL_HV_ARRAY_ALLOC_BYTES(HvMAX(hv) + 1)
-	    + sizeof(struct xpvhv_aux), char);
+    if (!SvOOK(hv)) {
+        if (!HvARRAY(hv)) {
+            Newxz(array, PERL_HV_ARRAY_ALLOC_BYTES(HvMAX(hv) + 1)
+                + sizeof(struct xpvhv_aux), char);
+        } else {
+            array = (char *) HvARRAY(hv);
+            Renew(array, PERL_HV_ARRAY_ALLOC_BYTES(HvMAX(hv) + 1)
+                  + sizeof(struct xpvhv_aux), char);
+        }
+        HvARRAY(hv) = (HE**)array;
+        SvOOK_on(hv);
+        iter = HvAUX(hv);
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+        if (PL_HASH_RAND_BITS_ENABLED) {
+            /* mix in some new state to PL_hash_rand_bits to "randomize" the traversal order*/
+            if (PL_HASH_RAND_BITS_ENABLED == 1)
+                PL_hash_rand_bits += ptr_hash((PTRV)array);
+            PL_hash_rand_bits = ROTL_UV(PL_hash_rand_bits,1);
+        }
+        iter->xhv_rand = (U32)PL_hash_rand_bits;
+#endif
     } else {
-	array = (char *) HvARRAY(hv);
-	Renew(array, PERL_HV_ARRAY_ALLOC_BYTES(HvMAX(hv) + 1)
-	      + sizeof(struct xpvhv_aux), char);
+        iter = HvAUX(hv);
     }
-    HvARRAY(hv) = (HE**) array;
-    /* SvOOK_on(hv) attacks the IV flags.  */
-    SvFLAGS(hv) |= SVf_OOK;
-    iter = HvAUX(hv);
 
     iter->xhv_riter = -1; 	/* HvRITER(hv) = -1 */
     iter->xhv_eiter = NULL;	/* HvEITER(hv) = NULL */
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+    iter->xhv_last_rand = iter->xhv_rand;
+#endif
     iter->xhv_name_u.xhvnameu_name = 0;
     iter->xhv_name_count = 0;
     iter->xhv_backreferences = 0;
     iter->xhv_mro_meta = NULL;
+    iter->xhv_super = NULL;
     return iter;
 }
 
@@ -2016,7 +1939,7 @@
 =for apidoc hv_iterinit
 
 Prepares a starting point to traverse a hash table.  Returns the number of
-keys in the hash (i.e. the same as C<HvKEYS(hv)>).  The return value is
+keys in the hash (i.e. the same as C<HvUSEDKEYS(hv)>).  The return value is
 currently only meaningful for hashes without tie magic.
 
 NOTE: Before version 5.004_65, C<hv_iterinit> used to return the number of
@@ -2046,6 +1969,9 @@
 	}
 	iter->xhv_riter = -1; 	/* HvRITER(hv) = -1 */
 	iter->xhv_eiter = NULL; /* HvEITER(hv) = NULL */
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+        iter->xhv_last_rand = iter->xhv_rand;
+#endif
     } else {
 	hv_auxinit(hv);
     }
@@ -2101,6 +2027,27 @@
 }
 
 void
+Perl_hv_rand_set(pTHX_ HV *hv, U32 new_xhv_rand) {
+    struct xpvhv_aux *iter;
+
+    PERL_ARGS_ASSERT_HV_RAND_SET;
+
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+    if (!hv)
+        Perl_croak(aTHX_ "Bad hash");
+
+    if (SvOOK(hv)) {
+        iter = HvAUX(hv);
+    } else {
+        iter = hv_auxinit(hv);
+    }
+    iter->xhv_rand = new_xhv_rand;
+#else
+    Perl_croak(aTHX_ "This Perl has not been built with support for randomized hash key traversal but something called Perl_hv_rand_set().");
+#endif
+}
+
+void
 Perl_hv_eiter_set(pTHX_ HV *hv, HE *eiter) {
     struct xpvhv_aux *iter;
 
@@ -2131,7 +2078,6 @@
     HEK **spot;
 
     PERL_ARGS_ASSERT_HV_NAME_SET;
-    PERL_UNUSED_ARG(flags);
 
     if (len > I32_MAX)
 	Perl_croak(aTHX_ "panic: hv name too long (%"UVuf")", (UV) len);
@@ -2192,13 +2138,35 @@
 	spot = &iter->xhv_name_u.xhvnameu_name;
     }
     PERL_HASH(hash, name, len);
-    *spot = name ? share_hek(name, len, hash) : NULL;
+    *spot = name ? share_hek(name, flags & SVf_UTF8 ? -(I32)len : (I32)len, hash) : NULL;
 }
 
 /*
+This is basically sv_eq_flags() in sv.c, but we avoid the magic
+and bytes checking.
+*/
+
+STATIC I32
+hek_eq_pvn_flags(pTHX_ const HEK *hek, const char* pv, const I32 pvlen, const U32 flags) {
+    if ( (HEK_UTF8(hek) ? 1 : 0) != (flags & SVf_UTF8 ? 1 : 0) ) {
+        if (flags & SVf_UTF8)
+            return (bytes_cmp_utf8(
+                        (const U8*)HEK_KEY(hek), HEK_LEN(hek),
+		        (const U8*)pv, pvlen) == 0);
+        else
+            return (bytes_cmp_utf8(
+                        (const U8*)pv, pvlen,
+		        (const U8*)HEK_KEY(hek), HEK_LEN(hek)) == 0);
+    }
+    else
+        return HEK_LEN(hek) == pvlen && ((HEK_KEY(hek) == pv)
+                    || memEQ(HEK_KEY(hek), pv, pvlen));
+}
+
+/*
 =for apidoc hv_ename_add
 
-Adds a name to a stash's internal list of effective names. See
+Adds a name to a stash's internal list of effective names.  See
 C<hv_ename_delete>.
 
 This is called when a stash is assigned to a new location in the symbol
@@ -2215,7 +2183,6 @@
     U32 hash;
 
     PERL_ARGS_ASSERT_HV_ENAME_ADD;
-    PERL_UNUSED_ARG(flags);
 
     if (len > I32_MAX)
 	Perl_croak(aTHX_ "panic: hv name too long (%"UVuf")", (UV) len);
@@ -2228,8 +2195,10 @@
 	HEK **hekp = xhv_name + (count < 0 ? -count : count);
 	while (hekp-- > xhv_name)
 	    if (
-	     HEK_LEN(*hekp) == (I32)len && memEQ(HEK_KEY(*hekp), name, len)
-	    ) {
+                 (HEK_UTF8(*hekp) || (flags & SVf_UTF8)) 
+                    ? hek_eq_pvn_flags(aTHX_ *hekp, name, (I32)len, flags)
+	            : (HEK_LEN(*hekp) == (I32)len && memEQ(HEK_KEY(*hekp), name, len))
+               ) {
 		if (hekp == xhv_name && count < 0)
 		    aux->xhv_name_count = -count;
 		return;
@@ -2237,18 +2206,21 @@
 	if (count < 0) aux->xhv_name_count--, count = -count;
 	else aux->xhv_name_count++;
 	Renew(aux->xhv_name_u.xhvnameu_names, count + 1, HEK *);
-	(aux->xhv_name_u.xhvnameu_names)[count] = share_hek(name, len, hash);
+	(aux->xhv_name_u.xhvnameu_names)[count] = share_hek(name, (flags & SVf_UTF8 ? -(I32)len : (I32)len), hash);
     }
     else {
 	HEK *existing_name = aux->xhv_name_u.xhvnameu_name;
 	if (
-	    existing_name && HEK_LEN(existing_name) == (I32)len
-	 && memEQ(HEK_KEY(existing_name), name, len)
+	    existing_name && (
+             (HEK_UTF8(existing_name) || (flags & SVf_UTF8))
+                ? hek_eq_pvn_flags(aTHX_ existing_name, name, (I32)len, flags)
+	        : (HEK_LEN(existing_name) == (I32)len && memEQ(HEK_KEY(existing_name), name, len))
+	    )
 	) return;
 	Newx(aux->xhv_name_u.xhvnameu_names, 2, HEK *);
 	aux->xhv_name_count = existing_name ? 2 : -2;
 	*aux->xhv_name_u.xhvnameu_names = existing_name;
-	(aux->xhv_name_u.xhvnameu_names)[1] = share_hek(name, len, hash);
+	(aux->xhv_name_u.xhvnameu_names)[1] = share_hek(name, (flags & SVf_UTF8 ? -(I32)len : (I32)len), hash);
     }
 }
 
@@ -2255,7 +2227,7 @@
 /*
 =for apidoc hv_ename_delete
 
-Removes a name from a stash's internal list of effective names. If this is
+Removes a name from a stash's internal list of effective names.  If this is
 the name returned by C<HvENAME>, then another name in the list will take
 its place (C<HvENAME> will use it).
 
@@ -2271,7 +2243,6 @@
     struct xpvhv_aux *aux;
 
     PERL_ARGS_ASSERT_HV_ENAME_DELETE;
-    PERL_UNUSED_ARG(flags);
 
     if (len > I32_MAX)
 	Perl_croak(aTHX_ "panic: hv name too long (%"UVuf")", (UV) len);
@@ -2287,8 +2258,9 @@
 	HEK **victim = namep + (count < 0 ? -count : count);
 	while (victim-- > namep + 1)
 	    if (
-	        HEK_LEN(*victim) == (I32)len
-	     && memEQ(HEK_KEY(*victim), name, len)
+             (HEK_UTF8(*victim) || (flags & SVf_UTF8)) 
+                ? hek_eq_pvn_flags(aTHX_ *victim, name, (I32)len, flags)
+	        : (HEK_LEN(*victim) == (I32)len && memEQ(HEK_KEY(*victim), name, len))
 	    ) {
 		unshare_hek_or_pvn(*victim, 0, 0, 0);
 		if (count < 0) ++aux->xhv_name_count;
@@ -2309,15 +2281,18 @@
 		return;
 	    }
 	if (
-	    count > 0 && HEK_LEN(*namep) == (I32)len
-	 && memEQ(HEK_KEY(*namep),name,len)
+	    count > 0 && (HEK_UTF8(*namep) || (flags & SVf_UTF8)) 
+                ? hek_eq_pvn_flags(aTHX_ *namep, name, (I32)len, flags)
+	        : (HEK_LEN(*namep) == (I32)len && memEQ(HEK_KEY(*namep), name, len))
 	) {
 	    aux->xhv_name_count = -count;
 	}
     }
     else if(
-        HEK_LEN(aux->xhv_name_u.xhvnameu_name) == (I32)len
-     && memEQ(HEK_KEY(aux->xhv_name_u.xhvnameu_name), name, len)
+        (HEK_UTF8(aux->xhv_name_u.xhvnameu_name) || (flags & SVf_UTF8)) 
+                ? hek_eq_pvn_flags(aTHX_ aux->xhv_name_u.xhvnameu_name, name, (I32)len, flags)
+	        : (HEK_LEN(aux->xhv_name_u.xhvnameu_name) == (I32)len &&
+                            memEQ(HEK_KEY(aux->xhv_name_u.xhvnameu_name), name, len))
     ) {
 	HEK * const namehek = aux->xhv_name_u.xhvnameu_name;
 	Newx(aux->xhv_name_u.xhvnameu_names, 1, HEK *);
@@ -2351,7 +2326,7 @@
 	HvAUX(hv)->xhv_backreferences = 0;
 	Perl_sv_kill_backrefs(aTHX_ MUTABLE_SV(hv), av);
 	if (SvTYPE(av) == SVt_PVAV)
-	    SvREFCNT_dec(av);
+	    SvREFCNT_dec_NN(av);
     }
 }
 
@@ -2377,7 +2352,7 @@
 set the placeholders keys (for restricted hashes) will be returned in addition
 to normal keys. By default placeholders are automatically skipped over.
 Currently a placeholder is implemented with a value that is
-C<&Perl_sv_placeholder>. Note that the implementation of placeholders and
+C<&PL_sv_placeholder>.  Note that the implementation of placeholders and
 restricted hashes may change, and the implementation currently is
 insufficiently abstracted for any change to be tidy.
 
@@ -2388,8 +2363,8 @@
 Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags)
 {
     dVAR;
-    register XPVHV* xhv;
-    register HE *entry;
+    XPVHV* xhv;
+    HE *entry;
     HE *oldentry;
     MAGIC* mg;
     struct xpvhv_aux *iter;
@@ -2403,7 +2378,7 @@
 
     if (!SvOOK(hv)) {
 	/* Too many things (well, pp_each at least) merrily assume that you can
-	   call iv_iternext without calling hv_iterinit, so we'll have to deal
+	   call hv_iternext without calling hv_iterinit, so we'll have to deal
 	   with it.  */
 	hv_iterinit(hv);
     }
@@ -2416,6 +2391,7 @@
             if (entry) {
                 sv_setsv(key, HeSVKEY_force(entry));
                 SvREFCNT_dec(HeSVKEY(entry));       /* get rid of previous key */
+		HeSVKEY_set(entry, NULL);
             }
             else {
                 char *k;
@@ -2423,6 +2399,7 @@
 
                 /* one HE per MAGICAL hash */
                 iter->xhv_eiter = entry = new_HE(); /* HvEITER(hv) = new_HE() */
+		HvLAZYDEL_on(hv); /* make sure entry gets freed */
                 Zero(entry, 1, HE);
                 Newxz(k, HEK_BASESIZE + sizeof(const SV *), char);
                 hek = (HEK*)k;
@@ -2439,6 +2416,7 @@
             Safefree(HeKEY_hek(entry));
             del_HE(entry);
             iter->xhv_eiter = NULL; /* HvEITER(hv) = NULL */
+	    HvLAZYDEL_off(hv);
             return NULL;
         }
     }
@@ -2457,7 +2435,7 @@
     }
 #endif
 
-    /* hv_iterint now ensures this.  */
+    /* hv_iterinit now ensures this.  */
     assert (HvARRAY(hv));
 
     /* At start of hash, entry is NULL.  */
@@ -2475,6 +2453,18 @@
 	}
     }
 
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+    if (iter->xhv_last_rand != iter->xhv_rand) {
+        if (iter->xhv_riter != -1) {
+            Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL),
+                             "Use of each() on hash after insertion without resetting hash iterator results in undefined behavior"
+                             pTHX__FORMAT
+                             pTHX__VALUE);
+        }
+        iter->xhv_last_rand = iter->xhv_rand;
+    }
+#endif
+
     /* Skip the entire loop if the hash is empty.   */
     if ((flags & HV_ITERNEXT_WANTPLACEHOLDERS)
 	? HvTOTALKEYS(hv) : HvUSEDKEYS(hv)) {
@@ -2485,9 +2475,12 @@
 	    if (iter->xhv_riter > (I32)xhv->xhv_max /* HvRITER(hv) > HvMAX(hv) */) {
 		/* There is no next one.  End of the hash.  */
 		iter->xhv_riter = -1; /* HvRITER(hv) = -1 */
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+                iter->xhv_last_rand = iter->xhv_rand; /* reset xhv_last_rand so we can detect inserts during traversal */
+#endif
 		break;
 	    }
-	    entry = (HvARRAY(hv))[iter->xhv_riter];
+            entry = (HvARRAY(hv))[ PERL_HASH_ITER_BUCKET(iter) & xhv->xhv_max ];
 
 	    if (!(flags & HV_ITERNEXT_WANTPLACEHOLDERS)) {
 		/* If we have an entry, but it's a placeholder, don't count it.
@@ -2500,6 +2493,12 @@
 	       or if we run through it and find only placeholders.  */
 	}
     }
+    else {
+        iter->xhv_riter = -1;
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+        iter->xhv_last_rand = iter->xhv_rand;
+#endif
+    }
 
     if (oldentry && HvLAZYDEL(hv)) {		/* was deleted earlier? */
 	HvLAZYDEL_off(hv);
@@ -2506,9 +2505,6 @@
 	hv_free_ent(hv, oldentry);
     }
 
-    /*if (HvREHASH(hv) && entry && !HeKREHASH(entry))
-      PerlIO_printf(PerlIO_stderr(), "Awooga %p %p\n", (void*)hv, (void*)entry);*/
-
     iter->xhv_eiter = entry; /* HvEITER(hv) = entry */
     return entry;
 }
@@ -2523,7 +2519,7 @@
 */
 
 char *
-Perl_hv_iterkey(pTHX_ register HE *entry, I32 *retlen)
+Perl_hv_iterkey(pTHX_ HE *entry, I32 *retlen)
 {
     PERL_ARGS_ASSERT_HV_ITERKEY;
 
@@ -2551,7 +2547,7 @@
 */
 
 SV *
-Perl_hv_iterkeysv(pTHX_ register HE *entry)
+Perl_hv_iterkeysv(pTHX_ HE *entry)
 {
     PERL_ARGS_ASSERT_HV_ITERKEYSV;
 
@@ -2568,7 +2564,7 @@
 */
 
 SV *
-Perl_hv_iterval(pTHX_ HV *hv, register HE *entry)
+Perl_hv_iterval(pTHX_ HV *hv, HE *entry)
 {
     PERL_ARGS_ASSERT_HV_ITERVAL;
 
@@ -2643,10 +2639,9 @@
 S_unshare_hek_or_pvn(pTHX_ const HEK *hek, const char *str, I32 len, U32 hash)
 {
     dVAR;
-    register XPVHV* xhv;
+    XPVHV* xhv;
     HE *entry;
-    register HE **oentry;
-    HE **first;
+    HE **oentry;
     bool is_utf8 = FALSE;
     int k_flags = 0;
     const char * const save = str;
@@ -2687,7 +2682,7 @@
     } */
     xhv = (XPVHV*)SvANY(PL_strtab);
     /* assert(xhv_array != 0) */
-    first = oentry = &(HvARRAY(PL_strtab))[hash & (I32) HvMAX(PL_strtab)];
+    oentry = &(HvARRAY(PL_strtab))[hash & (I32) HvMAX(PL_strtab)];
     if (he) {
 	const HE *const he_he = &(he->shared_he_he);
         for (entry = *oentry; entry; oentry = &HeNEXT(entry), entry = *oentry) {
@@ -2719,7 +2714,7 @@
 
     if (!entry)
 	Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL),
-			 "Attempt to free non-existent shared string '%s'%s"
+			 "Attempt to free nonexistent shared string '%s'%s"
 			 pTHX__FORMAT,
 			 hek ? HEK_KEY(hek) : str,
 			 ((k_flags & HVhek_UTF8) ? " (utf8)" : "") pTHX__VALUE);
@@ -2732,7 +2727,7 @@
  * len and hash must both be valid for str.
  */
 HEK *
-Perl_share_hek(pTHX_ const char *str, I32 len, register U32 hash)
+Perl_share_hek(pTHX_ const char *str, I32 len, U32 hash)
 {
     bool is_utf8 = FALSE;
     int flags = 0;
@@ -2753,8 +2748,11 @@
       /* If we found we were able to downgrade the string to bytes, then
          we should flag that it needs upgrading on keys or each.  Also flag
          that we need share_hek_flags to free the string.  */
-      if (str != save)
+      if (str != save) {
+          dVAR;
+          PERL_HASH(hash, str, len);
           flags |= HVhek_WASUTF8 | HVhek_FREEKEY;
+      }
     }
 
     return share_hek_flags (str, len, hash, flags);
@@ -2761,13 +2759,13 @@
 }
 
 STATIC HEK *
-S_share_hek_flags(pTHX_ const char *str, I32 len, register U32 hash, int flags)
+S_share_hek_flags(pTHX_ const char *str, I32 len, U32 hash, int flags)
 {
     dVAR;
-    register HE *entry;
+    HE *entry;
     const int flags_masked = flags & HVhek_MASK;
     const U32 hindex = hash & (I32) HvMAX(PL_strtab);
-    register XPVHV * const xhv = (XPVHV*)SvANY(PL_strtab);
+    XPVHV * const xhv = (XPVHV*)SvANY(PL_strtab);
 
     PERL_ARGS_ASSERT_SHARE_HEK_FLAGS;
 
@@ -2807,7 +2805,7 @@
 	/* We don't actually store a HE from the arena and a regular HEK.
 	   Instead we allocate one chunk of memory big enough for both,
 	   and put the HEK straight after the HE. This way we can find the
-	   HEK directly from the HE.
+	   HE directly from the HEK.
 	*/
 
 	Newx(k, STRUCT_OFFSET(struct shared_he,
@@ -2831,8 +2829,9 @@
 
 	xhv->xhv_keys++; /* HvTOTALKEYS(hv)++ */
 	if (!next) {			/* initial entry? */
-	} else if (xhv->xhv_keys > xhv->xhv_max /* HvKEYS(hv) > HvMAX(hv) */) {
-		hsplit(PL_strtab);
+	} else if ( DO_HSPLIT(xhv) ) {
+            const STRLEN oldsize = xhv->xhv_max + 1;
+            hsplit(PL_strtab, oldsize, oldsize * 2);
 	}
     }
 
@@ -3063,7 +3062,7 @@
     U8 utf8_flag;
     PERL_ARGS_ASSERT_REFCOUNTED_HE_FETCH_PVN;
 
-    if (flags & ~REFCOUNTED_HE_KEY_UTF8)
+    if (flags & ~(REFCOUNTED_HE_KEY_UTF8|REFCOUNTED_HE_EXISTS))
 	Perl_croak(aTHX_ "panic: refcounted_he_fetch_pvn bad flags %"UVxf,
 	    (UV)flags);
     if (!chain)
@@ -3114,10 +3113,15 @@
 	    memEQ(HEK_KEY(chain->refcounted_he_hek), keypv, keylen) &&
 	    utf8_flag == (HEK_FLAGS(chain->refcounted_he_hek) & HVhek_UTF8)
 #endif
-	)
+	) {
+	    if (flags & REFCOUNTED_HE_EXISTS)
+		return (chain->refcounted_he_data[0] & HVrhek_typemask)
+		    == HVrhek_delete
+		    ? NULL : &PL_sv_yes;
 	    return sv_2mortal(refcounted_he_value(chain));
+	}
     }
-    return &PL_sv_placeholder;
+    return flags & REFCOUNTED_HE_EXISTS ? NULL : &PL_sv_placeholder;
 }
 
 /*
@@ -3398,6 +3402,7 @@
 struct refcounted_he *
 Perl_refcounted_he_inc(pTHX_ struct refcounted_he *he)
 {
+    dVAR;
     if (he) {
 	HINTS_REFCNT_LOCK;
 	he->refcounted_he_refcnt++;
@@ -3406,13 +3411,22 @@
     return he;
 }
 
+/*
+=for apidoc cop_fetch_label
+
+Returns the label attached to a cop.
+The flags pointer may be set to C<SVf_UTF8> or 0.
+
+=cut
+*/
+
 /* pp_entereval is aware that labels are stored with a key ':' at the top of
    the linked list.  */
 const char *
-Perl_fetch_cop_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags) {
+Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags) {
     struct refcounted_he *const chain = cop->cop_hints_hash;
 
-    PERL_ARGS_ASSERT_FETCH_COP_LABEL;
+    PERL_ARGS_ASSERT_COP_FETCH_LABEL;
 
     if (!chain)
 	return NULL;
@@ -3442,15 +3456,24 @@
     return chain->refcounted_he_data + 1;
 }
 
+/*
+=for apidoc cop_store_label
+
+Save a label into a C<cop_hints_hash>. You need to set flags to C<SVf_UTF8>
+for a utf-8 label.
+
+=cut
+*/
+
 void
-Perl_store_cop_label(pTHX_ COP *const cop, const char *label, STRLEN len,
+Perl_cop_store_label(pTHX_ COP *const cop, const char *label, STRLEN len,
 		     U32 flags)
 {
     SV *labelsv;
-    PERL_ARGS_ASSERT_STORE_COP_LABEL;
+    PERL_ARGS_ASSERT_COP_STORE_LABEL;
 
     if (flags & ~(SVf_UTF8))
-	Perl_croak(aTHX_ "panic: store_cop_label illegal flag bits 0x%" UVxf,
+	Perl_croak(aTHX_ "panic: cop_store_label illegal flag bits 0x%" UVxf,
 		   (UV)flags);
     labelsv = newSVpvn_flags(label, len, SVs_TEMP);
     if (flags & SVf_UTF8)
@@ -3538,8 +3561,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/hv.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/hv.h
===================================================================
--- vendor/perl/dist/hv.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/hv.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,26 @@
  *
  */
 
+/* These control hash traversal randomization and the environment variable PERL_PERTURB_KEYS.
+ * Currently disabling this functionality will break a few tests, but should otherwise work fine.
+ * See perlrun for more details. */
+
+#if defined(PERL_PERTURB_KEYS_DISABLED)
+#   define PL_HASH_RAND_BITS_ENABLED        0
+#   define PERL_HASH_ITER_BUCKET(iter)      ((iter)->xhv_riter)
+#else
+#   define PERL_HASH_RANDOMIZE_KEYS         1
+#   if defined(PERL_PERTURB_KEYS_RANDOM)
+#       define PL_HASH_RAND_BITS_ENABLED    1
+#   elif defined(PERL_PERTURB_KEYS_DETERMINISTIC)
+#       define PL_HASH_RAND_BITS_ENABLED    2
+#   else
+#       define USE_PERL_PERTURB_KEYS        1
+#       define PL_HASH_RAND_BITS_ENABLED    PL_hash_rand_bits_enabled
+#   endif
+#   define PERL_HASH_ITER_BUCKET(iter)      (((iter)->xhv_riter) ^ ((iter)->xhv_rand))
+#endif
+
 /* entry in hash value chain */
 struct he {
     /* Keep hent_next first in this structure, because sv_free_arenas take
@@ -82,6 +102,7 @@
     AV		*xhv_backreferences; /* back references for weak references */
     HE		*xhv_eiter;	/* current entry of iterator */
     I32		xhv_riter;	/* current root of iterator */
+
 /* Concerning xhv_name_count: When non-zero, xhv_name_u contains a pointer 
  * to an array of HEK pointers, this being the length. The first element is
  * the name of the stash, which may be NULL. If xhv_name_count is positive,
@@ -90,6 +111,12 @@
  */
     I32		xhv_name_count;
     struct mro_meta *xhv_mro_meta;
+    HV *	xhv_super;	/* SUPER method cache */
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+    U32         xhv_rand;       /* random value for hash traversal */
+    U32         xhv_last_rand;  /* last random value for hash traversal,
+                                   used to detect each() after insert for warnings */
+#endif
 };
 
 /* hash structure: */
@@ -101,67 +128,6 @@
     STRLEN      xhv_max;        /* subscript of last element of xhv_array */
 };
 
-/* hash a key */
-/* FYI: This is the "One-at-a-Time" algorithm by Bob Jenkins
- * from requirements by Colin Plumb.
- * (http://burtleburtle.net/bob/hash/doobs.html) */
-/* The use of a temporary pointer and the casting games
- * is needed to serve the dual purposes of
- * (a) the hashed data being interpreted as "unsigned char" (new since 5.8,
- *     a "char" can be either signed or unsigned, depending on the compiler)
- * (b) catering for old code that uses a "char"
- *
- * The "hash seed" feature was added in Perl 5.8.1 to perturb the results
- * to avoid "algorithmic complexity attacks".
- *
- * If USE_HASH_SEED is defined, hash randomisation is done by default
- * If USE_HASH_SEED_EXPLICIT is defined, hash randomisation is done
- * only if the environment variable PERL_HASH_SEED is set.
- * For maximal control, one can define PERL_HASH_SEED.
- * (see also perl.c:perl_parse()).
- */
-#ifndef PERL_HASH_SEED
-#   if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT)
-#       define PERL_HASH_SEED	PL_hash_seed
-#   else
-#       define PERL_HASH_SEED	0
-#   endif
-#endif
-#define PERL_HASH(hash,str,len) \
-     STMT_START	{ \
-	register const char * const s_PeRlHaSh_tmp = str; \
-	register const unsigned char *s_PeRlHaSh = (const unsigned char *)s_PeRlHaSh_tmp; \
-	register I32 i_PeRlHaSh = len; \
-	register U32 hash_PeRlHaSh = PERL_HASH_SEED; \
-	while (i_PeRlHaSh--) { \
-	    hash_PeRlHaSh += *s_PeRlHaSh++; \
-	    hash_PeRlHaSh += (hash_PeRlHaSh << 10); \
-	    hash_PeRlHaSh ^= (hash_PeRlHaSh >> 6); \
-	} \
-	hash_PeRlHaSh += (hash_PeRlHaSh << 3); \
-	hash_PeRlHaSh ^= (hash_PeRlHaSh >> 11); \
-	(hash) = (hash_PeRlHaSh + (hash_PeRlHaSh << 15)); \
-    } STMT_END
-
-/* Only hv.c and mod_perl should be doing this.  */
-#ifdef PERL_HASH_INTERNAL_ACCESS
-#define PERL_HASH_INTERNAL(hash,str,len) \
-     STMT_START	{ \
-	register const char * const s_PeRlHaSh_tmp = str; \
-	register const unsigned char *s_PeRlHaSh = (const unsigned char *)s_PeRlHaSh_tmp; \
-	register I32 i_PeRlHaSh = len; \
-	register U32 hash_PeRlHaSh = PL_rehash_seed; \
-	while (i_PeRlHaSh--) { \
-	    hash_PeRlHaSh += *s_PeRlHaSh++; \
-	    hash_PeRlHaSh += (hash_PeRlHaSh << 10); \
-	    hash_PeRlHaSh ^= (hash_PeRlHaSh >> 6); \
-	} \
-	hash_PeRlHaSh += (hash_PeRlHaSh << 3); \
-	hash_PeRlHaSh ^= (hash_PeRlHaSh >> 11); \
-	(hash) = (hash_PeRlHaSh + (hash_PeRlHaSh << 15)); \
-    } STMT_END
-#endif
-
 /*
 =head1 Hash Manipulation Functions
 
@@ -183,6 +149,12 @@
 Returns the package name of a stash, or NULL if C<stash> isn't a stash.
 See C<SvSTASH>, C<CvSTASH>.
 
+=for apidoc Am|STRLEN|HvNAMELEN|HV *stash
+Returns the length of the stash's name.
+
+=for apidoc Am|unsigned char|HvNAMEUTF8|HV *stash
+Returns true if the name is in UTF8 encoding.
+
 =for apidoc Am|char*|HvENAME|HV* stash
 Returns the effective name of a stash, or NULL if there is none. The
 effective name represents a location in the symbol table where this stash
@@ -191,6 +163,12 @@
 name is preferable to C<HvNAME> for use in MRO linearisations and isa
 caches.
 
+=for apidoc Am|STRLEN|HvENAMELEN|HV *stash
+Returns the length of the stash's effective name.
+
+=for apidoc Am|unsigned char|HvENAMEUTF8|HV *stash
+Returns true if the effective name is in UTF8 encoding.
+
 =for apidoc Am|void*|HeKEY|HE* he
 Returns the actual pointer stored in the key slot of the hash entry. The
 pointer may be either C<char*> or C<SV*>, depending on the value of
@@ -204,8 +182,13 @@
 lengths.
 
 =for apidoc Am|SV*|HeVAL|HE* he
-Returns the value slot (type C<SV*>) stored in the hash entry.
+Returns the value slot (type C<SV*>) stored in the hash entry. Can be assigned
+to.
 
+  SV *foo= HeVAL(hv);
+  HeVAL(hv)= sv;
+
+
 =for apidoc Am|U32|HeHASH|HE* he
 Returns the computed hash stored in the hash entry.
 
@@ -247,6 +230,8 @@
 =cut
 */
 
+#define PERL_HASH_DEFAULT_HvMAX 7
+
 /* these hash entry flags ride on hent_klen (for use only in magic/tied HVs) */
 #define HEf_SVKEY	-2	/* hent_key is an SV* */
 
@@ -265,8 +250,13 @@
 #define HvEITER_set(hv,e)	Perl_hv_eiter_set(aTHX_ MUTABLE_HV(hv), e)
 #define HvRITER_get(hv)	(SvOOK(hv) ? HvAUX(hv)->xhv_riter : -1)
 #define HvEITER_get(hv)	(SvOOK(hv) ? HvAUX(hv)->xhv_eiter : NULL)
+#define HvRAND_get(hv)	(SvOOK(hv) ? HvAUX(hv)->xhv_rand : 0)
+#define HvLASTRAND_get(hv)	(SvOOK(hv) ? HvAUX(hv)->xhv_last_rand : 0)
+
 #define HvNAME(hv)	HvNAME_get(hv)
+#define HvNAMELEN(hv)   HvNAMELEN_get(hv)
 #define HvENAME(hv)	HvENAME_get(hv)
+#define HvENAMELEN(hv)  HvENAMELEN_get(hv)
 
 /* Checking that hv is a valid package stash is the
    caller's responsibility */
@@ -274,8 +264,6 @@
                        ? HvAUX(hv)->xhv_mro_meta \
                        : Perl_mro_meta_init(aTHX_ hv))
 
-/* FIXME - all of these should use a UTF8 aware API, which should also involve
-   getting the length. */
 #define HvNAME_HEK_NN(hv)			  \
  (						  \
   HvAUX(hv)->xhv_name_count			  \
@@ -291,6 +279,9 @@
 #define HvNAMELEN_get(hv) \
 	((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \
 				 ? HEK_LEN(HvNAME_HEK_NN(hv)) : 0)
+#define HvNAMEUTF8(hv) \
+	((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvNAME_HEK_NN(hv)) \
+				 ? HEK_UTF8(HvNAME_HEK_NN(hv)) : 0)
 #define HvENAME_HEK_NN(hv)                                             \
  (                                                                      \
   HvAUX(hv)->xhv_name_count > 0   ? HvAUX(hv)->xhv_name_u.xhvnameu_names[0] : \
@@ -301,11 +292,14 @@
 #define HvENAME_HEK(hv) \
 	(SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name ? HvENAME_HEK_NN(hv) : NULL)
 #define HvENAME_get(hv) \
-	((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvENAME_HEK_NN(hv)) \
+   ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \
 			 ? HEK_KEY(HvENAME_HEK_NN(hv)) : NULL)
 #define HvENAMELEN_get(hv) \
-	((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvENAME_HEK_NN(hv)) \
+   ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \
 				 ? HEK_LEN(HvENAME_HEK_NN(hv)) : 0)
+#define HvENAMEUTF8(hv) \
+   ((SvOOK(hv) && HvAUX(hv)->xhv_name_u.xhvnameu_name && HvAUX(hv)->xhv_name_count != -1) \
+				 ? HEK_UTF8(HvENAME_HEK_NN(hv)) : 0)
 
 /* the number of keys (including any placeholders) */
 #define XHvTOTALKEYS(xhv)	((xhv)->xhv_keys)
@@ -342,10 +336,6 @@
 #define HvLAZYDEL_on(hv)	(SvFLAGS(hv) |= SVphv_LAZYDEL)
 #define HvLAZYDEL_off(hv)	(SvFLAGS(hv) &= ~SVphv_LAZYDEL)
 
-#define HvREHASH(hv)		(SvFLAGS(hv) & SVphv_REHASH)
-#define HvREHASH_on(hv)		(SvFLAGS(hv) |= SVphv_REHASH)
-#define HvREHASH_off(hv)	(SvFLAGS(hv) &= ~SVphv_REHASH)
-
 #ifndef PERL_CORE
 #  define Nullhe Null(HE*)
 #endif
@@ -356,7 +346,6 @@
 #define HeKLEN(he)		HEK_LEN(HeKEY_hek(he))
 #define HeKUTF8(he)  HEK_UTF8(HeKEY_hek(he))
 #define HeKWASUTF8(he)  HEK_WASUTF8(HeKEY_hek(he))
-#define HeKREHASH(he)  HEK_REHASH(HeKEY_hek(he))
 #define HeKLEN_UTF8(he)  (HeKUTF8(he) ? -HeKLEN(he) : HeKLEN(he))
 #define HeKFLAGS(he)  HEK_FLAGS(HeKEY_hek(he))
 #define HeVAL(he)		(he)->he_valu.hent_val
@@ -391,7 +380,6 @@
 
 #define HVhek_UTF8	0x01 /* Key is utf8 encoded. */
 #define HVhek_WASUTF8	0x02 /* Key is bytes here, but was supplied as utf8. */
-#define HVhek_REHASH	0x04 /* This key is in an hv using a custom HASH . */
 #define HVhek_UNSHARED	0x08 /* This key isn't a shared hash key. */
 #define HVhek_FREEKEY	0x100 /* Internal flag to say key is malloc()ed.  */
 #define HVhek_PLACEHOLD	0x200 /* Internal flag to create placeholder.
@@ -401,16 +389,7 @@
 				    converted to bytes. */
 #define HVhek_MASK	0xFF
 
-/* Which flags enable HvHASKFLAGS? Somewhat a hack on a hack, as
-   HVhek_REHASH is only needed because the rehash flag has to be duplicated
-   into all keys as hv_iternext has no access to the hash flags. At this
-   point Storable's tests get upset, because sometimes hashes are "keyed"
-   and sometimes not, depending on the order of data insertion, and whether
-   it triggered rehashing. So currently HVhek_REHASH is exempt.
-   Similarly UNSHARED
-*/
-   
-#define HVhek_ENABLEHVKFLAGS	(HVhek_MASK & ~(HVhek_REHASH|HVhek_UNSHARED))
+#define HVhek_ENABLEHVKFLAGS        (HVhek_MASK & ~(HVhek_UNSHARED))
 
 #define HEK_UTF8(hek)		(HEK_FLAGS(hek) & HVhek_UTF8)
 #define HEK_UTF8_on(hek)	(HEK_FLAGS(hek) |= HVhek_UTF8)
@@ -418,8 +397,6 @@
 #define HEK_WASUTF8(hek)	(HEK_FLAGS(hek) & HVhek_WASUTF8)
 #define HEK_WASUTF8_on(hek)	(HEK_FLAGS(hek) |= HVhek_WASUTF8)
 #define HEK_WASUTF8_off(hek)	(HEK_FLAGS(hek) &= ~HVhek_WASUTF8)
-#define HEK_REHASH(hek)		(HEK_FLAGS(hek) & HVhek_REHASH)
-#define HEK_REHASH_on(hek)	(HEK_FLAGS(hek) |= HVhek_REHASH)
 
 /* calculate HV array allocation */
 #ifndef PERL_USE_LARGE_HV_ALLOC
@@ -442,9 +419,8 @@
 #define hv_magic(hv, gv, how) sv_magic(MUTABLE_SV(hv), MUTABLE_SV(gv), how, NULL, 0)
 #define hv_undef(hv) Perl_hv_undef_flags(aTHX_ hv, 0)
 
-/* available as a function in hv.c */
-#define Perl_sharepvn(sv, len, hash) HEK_KEY(share_hek(sv, len, hash))
-#define sharepvn(sv, len, hash)	     Perl_sharepvn(sv, len, hash)
+#define Perl_sharepvn(pv, len, hash) HEK_KEY(share_hek(pv, len, hash))
+#define sharepvn(pv, len, hash)	     Perl_sharepvn(pv, len, hash)
 
 #define share_hek_hek(hek)						\
     (++(((struct shared_he *)(((char *)hek)				\
@@ -500,6 +476,9 @@
 
 /* flags for the refcounted_he API */
 #define REFCOUNTED_HE_KEY_UTF8		0x00000001
+#ifdef PERL_CORE
+# define REFCOUNTED_HE_EXISTS		0x00000002
+#endif
 
 #ifdef PERL_CORE
 
@@ -610,12 +589,14 @@
 
 #define newHV()	MUTABLE_HV(newSV_type(SVt_PVHV))
 
+#include "hv_func.h"
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/hv.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Added: vendor/perl/dist/hv_func.h
===================================================================
--- vendor/perl/dist/hv_func.h	                        (rev 0)
+++ vendor/perl/dist/hv_func.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,560 @@
+/* hash a key
+ *--------------------------------------------------------------------------------------
+ * The "hash seed" feature was added in Perl 5.8.1 to perturb the results
+ * to avoid "algorithmic complexity attacks".
+ *
+ * If USE_HASH_SEED is defined, hash randomisation is done by default
+ * If USE_HASH_SEED_EXPLICIT is defined, hash randomisation is done
+ * only if the environment variable PERL_HASH_SEED is set.
+ * (see also perl.c:perl_parse() and S_init_tls_and_interp() and util.c:get_hash_seed())
+ */
+
+#ifndef PERL_SEEN_HV_FUNC_H /* compile once */
+#define PERL_SEEN_HV_FUNC_H
+
+#if !( 0 \
+        || defined(PERL_HASH_FUNC_SIPHASH) \
+        || defined(PERL_HASH_FUNC_SDBM) \
+        || defined(PERL_HASH_FUNC_DJB2) \
+        || defined(PERL_HASH_FUNC_SUPERFAST) \
+        || defined(PERL_HASH_FUNC_MURMUR3) \
+        || defined(PERL_HASH_FUNC_ONE_AT_A_TIME) \
+        || defined(PERL_HASH_FUNC_ONE_AT_A_TIME_HARD) \
+        || defined(PERL_HASH_FUNC_ONE_AT_A_TIME_OLD) \
+    )
+#define PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
+#endif
+
+#if defined(PERL_HASH_FUNC_SIPHASH)
+#   define PERL_HASH_FUNC "SIPHASH_2_4"
+#   define PERL_HASH_SEED_BYTES 16
+#   define PERL_HASH(hash,str,len) (hash)= S_perl_hash_siphash_2_4(PERL_HASH_SEED,(U8*)(str),(len))
+#elif defined(PERL_HASH_FUNC_SUPERFAST)
+#   define PERL_HASH_FUNC "SUPERFAST"
+#   define PERL_HASH_SEED_BYTES 4
+#   define PERL_HASH(hash,str,len) (hash)= S_perl_hash_superfast(PERL_HASH_SEED,(U8*)(str),(len))
+#elif defined(PERL_HASH_FUNC_MURMUR3)
+#   define PERL_HASH_FUNC "MURMUR3"
+#   define PERL_HASH_SEED_BYTES 4
+#   define PERL_HASH(hash,str,len) (hash)= S_perl_hash_murmur3(PERL_HASH_SEED,(U8*)(str),(len))
+#elif defined(PERL_HASH_FUNC_DJB2)
+#   define PERL_HASH_FUNC "DJB2"
+#   define PERL_HASH_SEED_BYTES 4
+#   define PERL_HASH(hash,str,len) (hash)= S_perl_hash_djb2(PERL_HASH_SEED,(U8*)(str),(len))
+#elif defined(PERL_HASH_FUNC_SDBM)
+#   define PERL_HASH_FUNC "SDBM"
+#   define PERL_HASH_SEED_BYTES 4
+#   define PERL_HASH(hash,str,len) (hash)= S_perl_hash_sdbm(PERL_HASH_SEED,(U8*)(str),(len))
+#elif defined(PERL_HASH_FUNC_ONE_AT_A_TIME_HARD)
+#   define PERL_HASH_FUNC "ONE_AT_A_TIME_HARD"
+#   define PERL_HASH_SEED_BYTES 8
+#   define PERL_HASH(hash,str,len) (hash)= S_perl_hash_one_at_a_time_hard(PERL_HASH_SEED,(U8*)(str),(len))
+#elif defined(PERL_HASH_FUNC_ONE_AT_A_TIME)
+#   define PERL_HASH_FUNC "ONE_AT_A_TIME"
+#   define PERL_HASH_SEED_BYTES 4
+#   define PERL_HASH(hash,str,len) (hash)= S_perl_hash_one_at_a_time(PERL_HASH_SEED,(U8*)(str),(len))
+#elif defined(PERL_HASH_FUNC_ONE_AT_A_TIME_OLD)
+#   define PERL_HASH_FUNC "ONE_AT_A_TIME_OLD"
+#   define PERL_HASH_SEED_BYTES 4
+#   define PERL_HASH(hash,str,len) (hash)= S_perl_hash_old_one_at_a_time(PERL_HASH_SEED,(U8*)(str),(len))
+#endif
+
+#ifndef PERL_HASH
+#error "No hash function defined!"
+#endif
+#ifndef PERL_HASH_SEED_BYTES
+#error "PERL_HASH_SEED_BYTES not defined"
+#endif
+#ifndef PERL_HASH_FUNC
+#error "PERL_HASH_FUNC not defined"
+#endif
+
+#ifndef PERL_HASH_SEED
+#   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 "PeRl"
+#   elif PERL_HASH_SEED_BYTES == 16
+#       define PERL_HASH_SEED "PeRlHaShhAcKpErl"
+#   else
+#       error "No PERL_HASH_SEED definition for " PERL_HASH_FUNC
+#   endif
+#endif
+
+/*-----------------------------------------------------------------------------
+ * Endianess, misalignment capabilities and util macros
+ *
+ * The following 3 macros are defined in this section. The other macros defined
+ * are only needed to help derive these 3.
+ *
+ * U8TO32_LE(x)   Read a little endian unsigned 32-bit int
+ * UNALIGNED_SAFE   Defined if READ_UINT32 works on non-word boundaries
+ * ROTL32(x,r)      Rotate x left by r bits
+ */
+
+#if (defined(__GNUC__) && defined(__i386__)) || defined(__WATCOMC__) \
+  || defined(_MSC_VER) || defined (__BORLANDC__) || defined (__TURBOC__)
+#define U8TO16_LE(d) (*((const U16 *) (d)))
+#endif
+
+#if !defined (U8TO16_LE)
+#define U8TO16_LE(d) ((((const U8 *)(d))[1] << 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)))
+#elif BYTEORDER == 0x4321 || BYTEORDER == 0x87654321
+  /* TODO: Add additional cases below where a compiler provided bswap32 is available */
+  #if defined(__GNUC__) && (__GNUC__>4 || (__GNUC__==4 && __GNUC_MINOR__>=3))
+    #define U8TO32_LE(ptr)   (__builtin_bswap32(*((U32*)(ptr))))
+  #else
+    /* Without a known fast bswap32 we're just as well off doing this */
+    #define U8TO32_LE(ptr)   (ptr[0]|ptr[1]<<8|ptr[2]<<16|ptr[3]<<24)
+    #define UNALIGNED_SAFE
+  #endif
+#else
+  /* Unknown endianess so last resort is to read individual bytes */
+  #define U8TO32_LE(ptr)   (ptr[0]|ptr[1]<<8|ptr[2]<<16|ptr[3]<<24)
+  /* Since we're not doing word-reads we can skip the messing about with realignment */
+  #define UNALIGNED_SAFE
+#endif
+
+#ifdef HAS_QUAD
+#ifndef U64TYPE
+/* This probably isn't going to work, but failing with a compiler error due to
+   lack of uint64_t is no worse than failing right now with an #error.  */
+#define U64TYPE uint64_t
+#endif
+#endif
+
+/* Find best way to ROTL32/ROTL64 */
+#if defined(_MSC_VER)
+  #include <stdlib.h>  /* Microsoft put _rotl declaration in here */
+  #define ROTL32(x,r)  _rotl(x,r)
+  #ifdef HAS_QUAD
+    #define ROTL64(x,r)  _rotl64(x,r)
+  #endif
+#else
+  /* gcc recognises this code and generates a rotate instruction for CPUs with one */
+  #define ROTL32(x,r)  (((U32)x << r) | ((U32)x >> (32 - r)))
+  #ifdef HAS_QUAD
+    #define ROTL64(x,r)  (((U64TYPE)x << r) | ((U64TYPE)x >> (64 - r)))
+  #endif
+#endif
+
+
+#ifdef UV_IS_QUAD
+#define ROTL_UV(x,r) ROTL64(x,r)
+#else
+#define ROTL_UV(x,r) ROTL32(x,r)
+#endif
+
+/* This is SipHash by Jean-Philippe Aumasson and Daniel J. Bernstein.
+ * The authors claim it is relatively secure compared to the alternatives
+ * and that performance wise it is a suitable hash for languages like Perl.
+ * See:
+ *
+ * https://www.131002.net/siphash/
+ *
+ * This implementation seems to perform slightly slower than one-at-a-time for
+ * short keys, but degrades slower for longer keys. Murmur Hash outperforms it
+ * regardless of keys size.
+ *
+ * It is 64 bit only.
+ */
+
+#ifdef HAS_QUAD
+
+#define U8TO64_LE(p) \
+  (((U64TYPE)((p)[0])      ) | \
+   ((U64TYPE)((p)[1]) <<  8) | \
+   ((U64TYPE)((p)[2]) << 16) | \
+   ((U64TYPE)((p)[3]) << 24) | \
+   ((U64TYPE)((p)[4]) << 32) | \
+   ((U64TYPE)((p)[5]) << 40) | \
+   ((U64TYPE)((p)[6]) << 48) | \
+   ((U64TYPE)((p)[7]) << 56))
+
+#define SIPROUND            \
+  do {              \
+    v0 += v1; v1=ROTL64(v1,13); v1 ^= v0; v0=ROTL64(v0,32); \
+    v2 += v3; v3=ROTL64(v3,16); v3 ^= v2;     \
+    v0 += v3; v3=ROTL64(v3,21); v3 ^= v0;     \
+    v2 += v1; v1=ROTL64(v1,17); v1 ^= v2; v2=ROTL64(v2,32); \
+  } while(0)
+
+/* SipHash-2-4 */
+
+PERL_STATIC_INLINE U32
+S_perl_hash_siphash_2_4(const unsigned char * const seed, const unsigned char *in, const STRLEN inlen) {
+  /* "somepseudorandomlygeneratedbytes" */
+  U64TYPE v0 = 0x736f6d6570736575ULL;
+  U64TYPE v1 = 0x646f72616e646f6dULL;
+  U64TYPE v2 = 0x6c7967656e657261ULL;
+  U64TYPE v3 = 0x7465646279746573ULL;
+
+  U64TYPE b;
+  U64TYPE k0 = ((U64TYPE*)seed)[0];
+  U64TYPE k1 = ((U64TYPE*)seed)[1];
+  U64TYPE m;
+  const int left = inlen & 7;
+  const U8 *end = in + inlen - left;
+
+  b = ( ( U64TYPE )(inlen) ) << 56;
+  v3 ^= k1;
+  v2 ^= k0;
+  v1 ^= k1;
+  v0 ^= k0;
+
+  for ( ; in != end; in += 8 )
+  {
+    m = U8TO64_LE( in );
+    v3 ^= m;
+    SIPROUND;
+    SIPROUND;
+    v0 ^= m;
+  }
+
+  switch( left )
+  {
+  case 7: b |= ( ( U64TYPE )in[ 6] )  << 48;
+  case 6: b |= ( ( U64TYPE )in[ 5] )  << 40;
+  case 5: b |= ( ( U64TYPE )in[ 4] )  << 32;
+  case 4: b |= ( ( U64TYPE )in[ 3] )  << 24;
+  case 3: b |= ( ( U64TYPE )in[ 2] )  << 16;
+  case 2: b |= ( ( U64TYPE )in[ 1] )  <<  8;
+  case 1: b |= ( ( U64TYPE )in[ 0] ); break;
+  case 0: break;
+  }
+
+  v3 ^= b;
+  SIPROUND;
+  SIPROUND;
+  v0 ^= b;
+
+  v2 ^= 0xff;
+  SIPROUND;
+  SIPROUND;
+  SIPROUND;
+  SIPROUND;
+  b = v0 ^ v1 ^ v2  ^ v3;
+  return (U32)(b & U32_MAX);
+}
+#endif /* defined(HAS_QUAD) */
+
+/* FYI: This is the "Super-Fast" algorithm mentioned by Bob Jenkins in
+ * (http://burtleburtle.net/bob/hash/doobs.html)
+ * It is by Paul Hsieh (c) 2004 and is analysed here
+ * http://www.azillionmonkeys.com/qed/hash.html
+ * license terms are here:
+ * http://www.azillionmonkeys.com/qed/weblicense.html
+ */
+
+
+PERL_STATIC_INLINE U32
+S_perl_hash_superfast(const unsigned char * const seed, const unsigned char *str, STRLEN len) {
+    U32 hash = *((U32*)seed) + len;
+    U32 tmp;
+    int rem= len & 3;
+    len >>= 2;
+
+    for (;len > 0; len--) {
+        hash  += U8TO16_LE (str);
+        tmp    = (U8TO16_LE (str+2) << 11) ^ hash;
+        hash   = (hash << 16) ^ tmp;
+        str   += 2 * sizeof (U16);
+        hash  += hash >> 11;
+    }
+
+    /* Handle end cases */
+    switch (rem) { \
+        case 3: hash += U8TO16_LE (str);
+                hash ^= hash << 16;
+                hash ^= str[sizeof (U16)] << 18;
+                hash += hash >> 11;
+                break;
+        case 2: hash += U8TO16_LE (str);
+                hash ^= hash << 11;
+                hash += hash >> 17;
+                break;
+        case 1: hash += *str;
+                hash ^= hash << 10;
+                hash += hash >> 1;
+    }
+    /* Force "avalanching" of final 127 bits */
+    hash ^= hash << 3;
+    hash += hash >> 5;
+    hash ^= hash << 4;
+    hash += hash >> 17;
+    hash ^= hash << 25;
+    return (hash + (hash >> 6));
+}
+
+
+/*-----------------------------------------------------------------------------
+ * MurmurHash3 was written by Austin Appleby, and is placed in the public
+ * domain.
+ *
+ * This implementation was originally written by Shane Day, and is also public domain,
+ * and was modified to function as a macro similar to other perl hash functions by
+ * Yves Orton.
+ *
+ * This is a portable ANSI C implementation of MurmurHash3_x86_32 (Murmur3A)
+ * with support for progressive processing.
+ *
+ * If you want to understand the MurmurHash algorithm you would be much better
+ * off reading the original source. Just point your browser at:
+ * http://code.google.com/p/smhasher/source/browse/trunk/MurmurHash3.cpp
+ *
+ * How does it work?
+ *
+ * We can only process entire 32 bit chunks of input, except for the very end
+ * that may be shorter.
+ *
+ * To handle endianess I simply use a macro that reads a U32 and define
+ * that macro to be a direct read on little endian machines, a read and swap
+ * on big endian machines, or a byte-by-byte read if the endianess is unknown.
+ */
+
+
+/*-----------------------------------------------------------------------------
+ * Core murmurhash algorithm macros */
+
+#define MURMUR_C1  (0xcc9e2d51)
+#define MURMUR_C2  (0x1b873593)
+#define MURMUR_C3  (0xe6546b64)
+#define MURMUR_C4  (0x85ebca6b)
+#define MURMUR_C5  (0xc2b2ae35)
+
+/* This is the main processing body of the algorithm. It operates
+ * on each full 32-bits of input. */
+#define MURMUR_DOBLOCK(h1, k1) STMT_START { \
+    k1 *= MURMUR_C1; \
+    k1 = ROTL32(k1,15); \
+    k1 *= MURMUR_C2; \
+    \
+    h1 ^= k1; \
+    h1 = ROTL32(h1,13); \
+    h1 = h1 * 5 + MURMUR_C3; \
+} STMT_END
+
+
+/* Append unaligned bytes to carry, forcing hash churn if we have 4 bytes */
+/* cnt=bytes to process, h1=name of h1 var, c=carry, n=bytes in c, ptr/len=payload */
+#define MURMUR_DOBYTES(cnt, h1, c, n, ptr, len) STMT_START { \
+    int MURMUR_DOBYTES_i = cnt; \
+    while(MURMUR_DOBYTES_i--) { \
+        c = c>>8 | *ptr++<<24; \
+        n++; len--; \
+        if(n==4) { \
+            MURMUR_DOBLOCK(h1, c); \
+            n = 0; \
+        } \
+    } \
+} STMT_END
+
+
+/* now we create the hash function */
+PERL_STATIC_INLINE U32
+S_perl_hash_murmur3(const unsigned char * const seed, const unsigned char *ptr, STRLEN len) {
+    U32 h1 = *((U32*)seed);
+    U32 k1;
+    U32 carry = 0;
+
+    const unsigned char *end;
+    int bytes_in_carry = 0; /* bytes in carry */
+    I32 total_length= len;
+
+#if defined(UNALIGNED_SAFE)
+    /* Handle carry: commented out as its only used in incremental mode - it never fires for us
+    int i = (4-n) & 3;
+    if(i && i <= len) {
+      MURMUR_DOBYTES(i, h1, carry, bytes_in_carry, ptr, len);
+    }
+    */
+
+    /* This CPU handles unaligned word access */
+    /* Process 32-bit chunks */
+    end = ptr + len/4*4;
+    for( ; ptr < end ; ptr+=4) {
+        k1 = U8TO32_LE(ptr);
+        MURMUR_DOBLOCK(h1, k1);
+    }
+#else
+    /* This CPU does not handle unaligned word access */
+
+    /* Consume enough so that the next data byte is word aligned */
+    STRLEN i = -PTR2IV(ptr) & 3;
+    if(i && i <= len) {
+      MURMUR_DOBYTES(i, h1, carry, bytes_in_carry, ptr, len);
+    }
+
+    /* We're now aligned. Process in aligned blocks. Specialise for each possible carry count */
+    end = ptr + len/4*4;
+    switch(bytes_in_carry) { /* how many bytes in carry */
+        case 0: /* c=[----]  w=[3210]  b=[3210]=w            c'=[----] */
+        for( ; ptr < end ; ptr+=4) {
+            k1 = U8TO32_LE(ptr);
+            MURMUR_DOBLOCK(h1, k1);
+        }
+        break;
+        case 1: /* c=[0---]  w=[4321]  b=[3210]=c>>24|w<<8   c'=[4---] */
+        for( ; ptr < end ; ptr+=4) {
+            k1 = carry>>24;
+            carry = U8TO32_LE(ptr);
+            k1 |= carry<<8;
+            MURMUR_DOBLOCK(h1, k1);
+        }
+        break;
+        case 2: /* c=[10--]  w=[5432]  b=[3210]=c>>16|w<<16  c'=[54--] */
+        for( ; ptr < end ; ptr+=4) {
+            k1 = carry>>16;
+            carry = U8TO32_LE(ptr);
+            k1 |= carry<<16;
+            MURMUR_DOBLOCK(h1, k1);
+        }
+        break;
+        case 3: /* c=[210-]  w=[6543]  b=[3210]=c>>8|w<<24   c'=[654-] */
+        for( ; ptr < end ; ptr+=4) {
+            k1 = carry>>8;
+            carry = U8TO32_LE(ptr);
+            k1 |= carry<<24;
+            MURMUR_DOBLOCK(h1, k1);
+        }
+    }
+#endif
+    /* Advance over whole 32-bit chunks, possibly leaving 1..3 bytes */
+    len -= len/4*4;
+
+    /* Append any remaining bytes into carry */
+    MURMUR_DOBYTES(len, h1, carry, bytes_in_carry, ptr, len);
+
+    if (bytes_in_carry) {
+        k1 = carry >> ( 4 - bytes_in_carry ) * 8;
+        k1 *= MURMUR_C1;
+        k1 = ROTL32(k1,15);
+        k1 *= MURMUR_C2;
+        h1 ^= k1;
+    }
+    h1 ^= total_length;
+
+    /* fmix */
+    h1 ^= h1 >> 16;
+    h1 *= MURMUR_C4;
+    h1 ^= h1 >> 13;
+    h1 *= MURMUR_C5;
+    h1 ^= h1 >> 16;
+    return h1;
+}
+
+
+PERL_STATIC_INLINE U32
+S_perl_hash_djb2(const unsigned char * const seed, const unsigned char *str, const STRLEN len) {
+    const unsigned char * const end = (const unsigned char *)str + len;
+    U32 hash = *((U32*)seed + len);
+    while (str < end) {
+        hash = ((hash << 5) + hash) + *str++;
+    }
+    return hash;
+}
+
+PERL_STATIC_INLINE U32
+S_perl_hash_sdbm(const unsigned char * const seed, const unsigned char *str, const STRLEN len) {
+    const unsigned char * const end = (const unsigned char *)str + len;
+    U32 hash = *((U32*)seed + len);
+    while (str < end) {
+        hash = (hash << 6) + (hash << 16) - hash + *str++;
+    }
+    return hash;
+}
+
+
+/* This is the "One-at-a-Time" algorithm by Bob Jenkins
+ * from requirements by Colin Plumb.
+ * (http://burtleburtle.net/bob/hash/doobs.html)
+ * With seed/len tweak.
+ * */
+PERL_STATIC_INLINE U32
+S_perl_hash_one_at_a_time(const unsigned char * const seed, const unsigned char *str, const STRLEN len) {
+    const unsigned char * const end = (const unsigned char *)str + len;
+    U32 hash = *((U32*)seed) + len;
+    while (str < end) {
+        hash += *str++;
+        hash += (hash << 10);
+        hash ^= (hash >> 6);
+    }
+    hash += (hash << 3);
+    hash ^= (hash >> 11);
+    return (hash + (hash << 15));
+}
+
+/* Derived from "One-at-a-Time" algorithm by Bob Jenkins */
+PERL_STATIC_INLINE U32
+S_perl_hash_one_at_a_time_hard(const unsigned char * const seed, const unsigned char *str, const STRLEN len) {
+    const unsigned char * const end = (const unsigned char *)str + len;
+    U32 hash = *((U32*)seed) + len;
+    
+    while (str < end) {
+        hash += (hash << 10);
+        hash ^= (hash >> 6);
+        hash += *str++;
+    }
+    
+    hash += (hash << 10);
+    hash ^= (hash >> 6);
+    hash += seed[4];
+    
+    hash += (hash << 10);
+    hash ^= (hash >> 6);
+    hash += seed[5];
+    
+    hash += (hash << 10);
+    hash ^= (hash >> 6);
+    hash += seed[6];
+    
+    hash += (hash << 10);
+    hash ^= (hash >> 6);
+    hash += seed[7];
+    
+    hash += (hash << 10);
+    hash ^= (hash >> 6);
+
+    hash += (hash << 3);
+    hash ^= (hash >> 11);
+    return (hash + (hash << 15));
+}
+
+PERL_STATIC_INLINE U32
+S_perl_hash_old_one_at_a_time(const unsigned char * const seed, const unsigned char *str, const STRLEN len) {
+    const unsigned char * const end = (const unsigned char *)str + len;
+    U32 hash = *((U32*)seed);
+    while (str < end) {
+        hash += *str++;
+        hash += (hash << 10);
+        hash ^= (hash >> 6);
+    }
+    hash += (hash << 3);
+    hash ^= (hash >> 11);
+    return (hash + (hash << 15));
+}
+
+/* legacy - only mod_perl should be doing this.  */
+#ifdef PERL_HASH_INTERNAL_ACCESS
+#define PERL_HASH_INTERNAL(hash,str,len) PERL_HASH(hash,str,len)
+#endif
+
+#endif /*compile once*/
+
+/*
+ * Local variables:
+ * c-indentation-style: bsd
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ *
+ * ex: set ts=8 sts=4 sw=4 et:
+ */

Added: vendor/perl/dist/inline.h
===================================================================
--- vendor/perl/dist/inline.h	                        (rev 0)
+++ vendor/perl/dist/inline.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,156 @@
+/*    inline.h
+ *
+ *    Copyright (C) 2012 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.
+ *
+ * This file is a home for static inline functions that cannot go in other
+ * headers files, because they depend on proto.h (included after most other
+ * headers) or struct definitions.
+ *
+ * Each section names the header file that the functions "belong" to.
+ */
+
+/* ------------------------------- av.h ------------------------------- */
+
+PERL_STATIC_INLINE I32
+S_av_top_index(pTHX_ AV *av)
+{
+    PERL_ARGS_ASSERT_AV_TOP_INDEX;
+    assert(SvTYPE(av) == SVt_PVAV);
+
+    return AvFILL(av);
+}
+
+/* ------------------------------- cv.h ------------------------------- */
+
+PERL_STATIC_INLINE I32 *
+S_CvDEPTHp(const CV * const sv)
+{
+    assert(SvTYPE(sv) == SVt_PVCV || SvTYPE(sv) == SVt_PVFM);
+    return &((XPVCV*)SvANY(sv))->xcv_depth;
+}
+
+/* ----------------------------- regexp.h ----------------------------- */
+
+PERL_STATIC_INLINE struct regexp *
+S_ReANY(const REGEXP * const re)
+{
+    assert(isREGEXP(re));
+    return re->sv_u.svu_rx;
+}
+
+/* ------------------------------- sv.h ------------------------------- */
+
+PERL_STATIC_INLINE SV *
+S_SvREFCNT_inc(SV *sv)
+{
+    if (LIKELY(sv != NULL))
+	SvREFCNT(sv)++;
+    return sv;
+}
+PERL_STATIC_INLINE SV *
+S_SvREFCNT_inc_NN(SV *sv)
+{
+    SvREFCNT(sv)++;
+    return sv;
+}
+PERL_STATIC_INLINE void
+S_SvREFCNT_inc_void(SV *sv)
+{
+    if (LIKELY(sv != NULL))
+	SvREFCNT(sv)++;
+}
+PERL_STATIC_INLINE void
+S_SvREFCNT_dec(pTHX_ SV *sv)
+{
+    if (LIKELY(sv != NULL)) {
+	U32 rc = SvREFCNT(sv);
+	if (rc > 1)
+	    SvREFCNT(sv) = rc - 1;
+	else
+	    Perl_sv_free2(aTHX_ sv, rc);
+    }
+}
+
+PERL_STATIC_INLINE void
+S_SvREFCNT_dec_NN(pTHX_ SV *sv)
+{
+    U32 rc = SvREFCNT(sv);
+    if (rc > 1)
+	SvREFCNT(sv) = rc - 1;
+    else
+	Perl_sv_free2(aTHX_ sv, rc);
+}
+
+PERL_STATIC_INLINE void
+SvAMAGIC_on(SV *sv)
+{
+    assert(SvROK(sv));
+    if (SvOBJECT(SvRV(sv))) HvAMAGIC_on(SvSTASH(SvRV(sv)));
+}
+PERL_STATIC_INLINE void
+SvAMAGIC_off(SV *sv)
+{
+    if (SvROK(sv) && SvOBJECT(SvRV(sv)))
+	HvAMAGIC_off(SvSTASH(SvRV(sv)));
+}
+
+PERL_STATIC_INLINE U32
+S_SvPADTMP_on(SV *sv)
+{
+    assert(!(SvFLAGS(sv) & SVs_PADMY));
+    return SvFLAGS(sv) |= SVs_PADTMP;
+}
+PERL_STATIC_INLINE U32
+S_SvPADTMP_off(SV *sv)
+{
+    assert(!(SvFLAGS(sv) & SVs_PADMY));
+    return SvFLAGS(sv) &= ~SVs_PADTMP;
+}
+PERL_STATIC_INLINE U32
+S_SvPADSTALE_on(SV *sv)
+{
+    assert(SvFLAGS(sv) & SVs_PADMY);
+    return SvFLAGS(sv) |= SVs_PADSTALE;
+}
+PERL_STATIC_INLINE U32
+S_SvPADSTALE_off(SV *sv)
+{
+    assert(SvFLAGS(sv) & SVs_PADMY);
+    return SvFLAGS(sv) &= ~SVs_PADSTALE;
+}
+#ifdef PERL_CORE
+PERL_STATIC_INLINE STRLEN
+S_sv_or_pv_pos_u2b(pTHX_ SV *sv, const char *pv, STRLEN pos, STRLEN *lenp)
+{
+    if (SvGAMAGIC(sv)) {
+	U8 *hopped = utf8_hop((U8 *)pv, pos);
+	if (lenp) *lenp = (STRLEN)(utf8_hop(hopped, *lenp) - hopped);
+	return (STRLEN)(hopped - (U8 *)pv);
+    }
+    return sv_pos_u2b_flags(sv,pos,lenp,SV_CONST_RETURN);
+}
+#endif
+
+/* ------------------------------- utf8.h ------------------------------- */
+
+/* These exist only to replace the macros they formerly were so that their use
+ * can be deprecated */
+
+PERL_STATIC_INLINE bool
+S_isIDFIRST_lazy(pTHX_ const char* p)
+{
+    PERL_ARGS_ASSERT_ISIDFIRST_LAZY;
+
+    return isIDFIRST_lazy_if(p,1);
+}
+
+PERL_STATIC_INLINE bool
+S_isALNUM_lazy(pTHX_ const char* p)
+{
+    PERL_ARGS_ASSERT_ISALNUM_LAZY;
+
+    return isALNUM_lazy_if(p,1);
+}

Added: vendor/perl/dist/inline_invlist.c
===================================================================
--- vendor/perl/dist/inline_invlist.c	                        (rev 0)
+++ vendor/perl/dist/inline_invlist.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,77 @@
+/*    inline_invlist.c
+ *
+ *    Copyright (C) 2012 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.
+ */
+
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+
+#define INVLIST_LEN_OFFSET 0	/* Number of elements in the inversion list */
+#define INVLIST_ITER_OFFSET 1	/* Current iteration position */
+#define INVLIST_PREVIOUS_INDEX_OFFSET 2  /* Place to cache index of previous
+                                            result */
+
+/* This is a combination of a version and data structure type, so that one
+ * being passed in can be validated to be an inversion list of the correct
+ * vintage.  When the structure of the header is changed, a new random number
+ * in the range 2**31-1 should be generated and the new() method changed to
+ * insert that at this location.  Then, if an auxiliary program doesn't change
+ * correspondingly, it will be discovered immediately */
+#define INVLIST_VERSION_ID_OFFSET 3
+#define INVLIST_VERSION_ID 290655244
+
+/* For safety, when adding new elements, remember to #undef them at the end of
+ * the inversion list code section */
+
+#define INVLIST_ZERO_OFFSET 4	/* 0 or 1; must be last element in header */
+/* The UV at position ZERO contains either 0 or 1.  If 0, the inversion list
+ * contains the code point U+00000, and begins here.  If 1, the inversion list
+ * doesn't contain U+0000, and it begins at the next UV in the array.
+ * Inverting an inversion list consists of adding or removing the 0 at the
+ * beginning of it.  By reserving a space for that 0, inversion can be made
+ * very fast */
+
+#define HEADER_LENGTH (INVLIST_ZERO_OFFSET + 1)
+
+/* An element is in an inversion list iff its index is even numbered: 0, 2, 4,
+ * etc */
+#define ELEMENT_RANGE_MATCHES_INVLIST(i) (! ((i) & 1))
+#define PREV_RANGE_MATCHES_INVLIST(i) (! ELEMENT_RANGE_MATCHES_INVLIST(i))
+
+PERL_STATIC_INLINE UV*
+S__get_invlist_len_addr(pTHX_ SV* invlist)
+{
+    /* Return the address of the UV that contains the current number
+     * of used elements in the inversion list */
+
+    PERL_ARGS_ASSERT__GET_INVLIST_LEN_ADDR;
+
+    return (UV *) (SvPVX(invlist) + (INVLIST_LEN_OFFSET * sizeof (UV)));
+}
+
+PERL_STATIC_INLINE UV
+S__invlist_len(pTHX_ SV* const invlist)
+{
+    /* Returns the current number of elements stored in the inversion list's
+     * array */
+
+    PERL_ARGS_ASSERT__INVLIST_LEN;
+
+    return *_get_invlist_len_addr(invlist);
+}
+
+PERL_STATIC_INLINE bool
+S__invlist_contains_cp(pTHX_ SV* const invlist, const UV cp)
+{
+    /* Does <invlist> contain code point <cp> as part of the set? */
+
+    IV index = _invlist_search(invlist, cp);
+
+    PERL_ARGS_ASSERT__INVLIST_CONTAINS_CP;
+
+    return index >= 0 && ELEMENT_RANGE_MATCHES_INVLIST(index);
+}
+
+#endif

Modified: vendor/perl/dist/install_lib.pl
===================================================================
--- vendor/perl/dist/install_lib.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/install_lib.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -120,7 +120,7 @@
 	my($dev1, $ino1, $dev2, $ino2);
 	($dev1, $ino1) = stat($p1);
 	($dev2, $ino2) = stat($p2);
-	($dev1 ~~ $dev2 && $ino1 ~~ $ino2);
+	($dev1 == $dev2 && $ino1 == $ino2);
     }
     else {
 	1;


Property changes on: vendor/perl/dist/install_lib.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/installhtml
===================================================================
--- vendor/perl/dist/installhtml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/installhtml	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 use strict;
 use Config;		# for config options in the makefile
-use File::Spec;
+use File::Spec::Functions qw(rel2abs no_upwards);
 use Getopt::Long;	# for command-line parsing
 use Cwd;
 use Pod::Html 'anchorify';
@@ -18,8 +18,7 @@
     installhtml  [--help] [--podpath=<name>:...:<name>] [--podroot=<name>]
          [--htmldir=<name>] [--htmlroot=<name>]  [--norecurse] [--recurse]
          [--splithead=<name>,...,<name>]   [--splititem=<name>,...,<name>]
-         [--libpods=<name>,...,<name>]        [--ignore=<name>,...,<name>]
-         [--verbose]
+         [--ignore=<name>,...,<name>]  [--verbose]
 
 =head1 DESCRIPTION
 
@@ -77,11 +76,6 @@
 
 The directory containing the splitpod program. The default is 'podroot/pod'.
 
-=item B<--libpods> library PODs for LE<lt>E<gt> links
-
-Comma-separated list of "library" pod files.  This is the same list that
-will be passed to pod2html when any pod is converted.
-
 =item B<--ignore> files to be ignored
 
 Comma-separated of files that shouldn't be installed, given relative
@@ -104,7 +98,6 @@
 			--htmlroot=/perl/nmanual    \
 			--splithead=pod/perlipc     \
 			--splititem=pod/perlfunc    \
-			--libpods=perlfunc,perlguts,perlvar,perlrun,perlop \
 			--recurse \
 			--verbose
 
@@ -120,7 +113,7 @@
 Usage: $0 --help --podpath=<name>:...:<name> --podroot=<name>
          --htmldir=<name> --htmlroot=<name> --norecurse --recurse
          --splithead=<name>,...,<name> --splititem=<name>,...,<name>
-         --libpods=<name>,...,<name> --ignore=<name>,...,<name> --verbose
+         --ignore=<name>,...,<name> --verbose
 
     --help      - this message
     --podpath   - colon-separated list of directories containing .pod and
@@ -131,9 +124,6 @@
                   to the filesystem (\$podroot/html by default).
     --htmlroot  - http-server base directory from which all relative paths
                   in podpath stem (default is /).
-    --libpods   - comma-separated list of files to search for =item pod
-                  directives in as targets of C<> and implicit links (empty
-                  by default).
     --norecurse - don't recurse on those subdirectories listed in podpath.
                   (default behavior).
     --recurse   - recurse on those subdirectories listed in podpath
@@ -149,10 +139,9 @@
 
 END_OF_USAGE
 
-my (@libpods, @podpath, $podroot, $htmldir, $htmlroot, $recurse, @splithead,
+my (@podpath, $podroot, $htmldir, $htmlroot, $recurse, @splithead,
     @splititem, $splitpod, $verbose, $pod2html, @ignore);
 
- at libpods = ();
 @podpath = ( "." );	# colon-separated list of directories containing .pod
 			# and .pm files to be converted.
 $podroot = ".";		# assume the pods we want are here
@@ -182,7 +171,6 @@
 	podroot=s
 	htmldir=s
 	htmlroot=s
-	libpods=s
 	ignore=s
 	recurse!
 	splithead=s
@@ -287,7 +275,6 @@
     # lists of files
     @splithead = split(",", $Options{splithead}) if defined $Options{splithead};
     @splititem = split(",", $Options{splititem}) if defined $Options{splititem};
-    @libpods   = split(",", $Options{libpods}) if defined $Options{libpods};
 
     $htmldir  = $Options{htmldir}	    if defined $Options{htmldir};
     $htmlroot = $Options{htmlroot}	    if defined $Options{htmlroot};
@@ -304,14 +291,11 @@
 sub create_index {
     my($html, $dir) = @_;
     (my $pod = $dir) =~ s,^.*/,,;
-    my(@files, @filedata, @index, $file);
-    my($lcp1,$lcp2);
 
-
     # get the list of .html files in this directory
     opendir(DIR, $dir) ||
 	die "$0: error opening directory $dir for reading: $!\n";
-    @files = sort(grep(/\.html?$/, readdir(DIR)));
+    my @files = sort(grep(/\.html?$/, readdir(DIR)));
     closedir(DIR);
 
     open(HTML, ">$html") ||
@@ -320,40 +304,28 @@
     # for each .html file in the directory, extract the index
     #	embedded in the file and throw it into the big index.
     print HTML "<DL COMPACT>\n";
-    foreach $file (@files) {
-	$/ = "";
+    foreach my $file (@files) {
 
-	open(IN, "<$dir/$file") ||
-	    die "$0: error opening $dir/$file for input: $!\n";
-	@filedata = <IN>;
-	close(IN);
+	my $filedata = do {
+	    open(my $in, "<$dir/$file") ||
+		die "$0: error opening $dir/$file for input: $!\n";
+	    local $/ = undef;
+	    <$in>;
+	};
 
 	# pull out the NAME section
-	my $name;
-	($name) = grep(/name="name"/i, @filedata);
-	($lcp1,$lcp2) = ($name =~ m,/H1>\s(\S+)\s[\s-]*(.*?)\s*$,smi);
-	if (defined $lcp1 and $lcp1 =~ m,^<P>$,i) { # Uninteresting.  Try again.
-	    ($lcp1,$lcp2) = ($name =~ m,/H1>\s<P>\s*(\S+)\s[\s-]*(.*?)\s*$,smi);
-	}
+	my($lcp1, $lcp2) =
+	    ($filedata =~
+		m#<h1 id="NAME">NAME</h1>\s*<p>\s*(\S+)\s+-\s+(\S.*?\S)</p>#);
+	defined $lcp1 or die "$0: can't find NAME section in $dir/$file\n";
+
 	my $url= "$pod/$file" ;
 	if ( ! defined $Options{htmlroot} || $Options{htmlroot} eq '' ) {
 	    $url = Pod::Html::relativize_url( "$pod/$file", $html ) ;
 	}
 
-	if (defined $lcp1) {
-	    print HTML qq(<DT><A HREF="$url">);
-	    print HTML "$lcp1</A></DT><DD>$lcp2</DD>\n";
-	}
-
-	next;
-
-	@index = grep(/<!-- INDEX BEGIN -->.*<!-- INDEX END -->/s,
-		    @filedata);
-	for (@index) {
-	    s/<!-- INDEX BEGIN -->(\s*<!--)(.*)(-->\s*)<!-- INDEX END -->/$lcp2/s;
-	    s,#,$dir/$file#,g;
-	    print HTML "$_\n<P><HR><P>\n";
-	}
+	print HTML qq(<DT><A HREF="$url">);
+	print HTML "$lcp1</A></DT><DD>$lcp2</DD>\n";
     }
     print HTML "</DL>\n";
 
@@ -390,8 +362,8 @@
 
     print "splitting files by item.\n" if $verbose && $#splititem >= 0;
     $pwd = getcwd();
-    my $splitter = File::Spec->rel2abs("$splitpod/splitpod", $pwd);
-    my $perl = File::Spec->rel2abs($^X, $pwd);
+    my $splitter = rel2abs("$splitpod/splitpod", $pwd);
+    my $perl = rel2abs($^X, $pwd);
     foreach my $pod (@splititem) {
 	# figure out the directory to split into
 	$pod      =~ s,^([^/]*)$,/$1,;
@@ -513,34 +485,34 @@
 #
 sub installdir {
     my($dir, $recurse, $podroot, $splitdirs, $ignore) = @_;
-    my(@dirlist, @podlist, @pmlist, $doindex);
 
-    @dirlist = ();	# directories to recurse on
-    @podlist = ();	# .pod files to install
-    @pmlist  = ();	# .pm files to install
+    my @dirlist; # directories to recurse on
+    my @podlist; # .pod files to install
+    my @pmlist;  # .pm files to install
 
     # should files in this directory get an index?
-    $doindex = (grep($_ eq "$podroot/$dir", @$splitdirs) ? 0 : 1);
+    my $doindex = (grep($_ eq "$podroot/$dir", @$splitdirs) ? 0 : 1);
 
     opendir(DIR, "$podroot/$dir")
 	|| die "$0: error opening directory $podroot/$dir: $!\n";
 
-    # find the directories to recurse on
-    @dirlist = map { if ($^O eq 'VMS') {/^(.*)\.dir$/i; "$dir/$1";} else {"$dir/$_";}}
-	grep(-d "$podroot/$dir/$_" && !/^\.{1,2}/, readdir(DIR)) if $recurse;
-    rewinddir(DIR);
+    while(readdir DIR) {
+	no_upwards($_) or next;
+	my $is_dir = -d "$podroot/$dir/$_";
+	next if $is_dir and not $recurse;
+	my $target = (
+	    $is_dir    ? \@dirlist :
+	    s/\.pod$// ? \@podlist :
+	    s/\.pm$//  ? \@pmlist  :
+	    undef
+	);
+	push @$target, "$dir/$_" if $target;
+    }
 
-    # find all the .pod files within the directory
-    @podlist = map { /^(.*)\.pod$/; "$dir/$1" }
-	grep(! -d "$podroot/$dir/$_" && /\.pod$/, readdir(DIR));
-    rewinddir(DIR);
+    closedir(DIR);
 
-    # find all the .pm files within the directory
-    @pmlist = map { /^(.*)\.pm$/; "$dir/$1" }
-	grep(! -d "$podroot/$dir/$_" && /\.pm$/, readdir(DIR));
+    if ($^O eq 'VMS') { s/\.dir$//i for @dirlist }
 
-    closedir(DIR);
-
     # recurse on all subdirectories we kept track of
     foreach $dir (@dirlist) {
 	installdir($dir, $recurse, $podroot, $splitdirs, $ignore);
@@ -600,11 +572,10 @@
         "--htmldir=$htmldir",
 	"--htmlroot=$htmlroot",
 	"--podpath=".join(":", @podpath),
-	"--podroot=$podroot", "--netscape",
+	"--podroot=$podroot",
 	"--header",
 	($doindex ? "--index" : "--noindex"),
 	"--" . ($recurse ? "" : "no") . "recurse",
-	($#libpods >= 0) ? "--libpods=" . join(":", @libpods) : "",
 	"--infile=$podroot/$pod", "--outfile=$htmldir/$html");
     die "$0: error running $pod2html: $!\n" if $?;
 }


Property changes on: vendor/perl/dist/installhtml
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/installman
===================================================================
--- vendor/perl/dist/installman	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/installman	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,14 +8,14 @@
 use strict;
 
 use Getopt::Long;
-use File::Find;
-use File::Copy;
-use File::Path qw(mkpath);
+require File::Path;
 use ExtUtils::Packlist;
 use Pod::Man;
-use vars qw($Is_VMS $Is_W32 $Is_OS2 $Is_Cygwin $Is_Darwin $Is_NetWare
-	    %opts $packlist);
+use vars qw(%opts $packlist);
 
+require './Porting/pod_lib.pl';
+my %man1 = (map {($_->[0], $_->[1])} @{get_pod_metadata()->{master}});
+
 $ENV{SHELL} = 'sh' if $^O eq 'os2';
 
 my $patchlevel = substr($],3,2);
@@ -26,7 +26,6 @@
 my $usage =
 "Usage:  installman --man1dir=/usr/wherever --man1ext=1
                    --man3dir=/usr/wherever --man3ext=3
-		   --batchlimit=40
 	           --notify --verbose --silent --help
 	Defaults are:
 	man1dir = $Config{'installman1dir'};
@@ -38,7 +37,7 @@
         --silent  (or -S) be silent. Only report errors.\n";
 
 GetOptions( \%opts,
-            qw( man1dir=s man1ext=s man3dir=s man3ext=s batchlimit=i
+            qw( man1dir=s man1ext=s man3dir=s man3ext=s
                 destdir:s notify n help silent S verbose V))
 	|| die $usage;
 die $usage if $opts{help};
@@ -64,125 +63,92 @@
 
 $packlist = ExtUtils::Packlist->new("$opts{destdir}$Config{installarchlib}/.packlist");
 
-# manpages not to be installed
-my %do_not_install = map { ($_ => 1) } qw(
-    Pod/Functions.pm
-    XS/APItest.pm
-);
-
 # Install the main pod pages.
-pod2man('pod', $opts{man1dir}, $opts{man1ext});
+pod2man(\%man1, $opts{man1dir}, $opts{man1ext}, 'pod');
 
 # Install the pods for library modules.
-pod2man('lib', $opts{man3dir}, $opts{man3ext});
+{
+    my $found = pods_to_install();
+    pod2man($found->{$_}, $opts{man3dir}, $opts{man3ext}, 'lib')
+        foreach qw(MODULE PRAGMA);
+}
 
 # Install the pods embedded in the installed scripts
 my $has_man1dir = $opts{man1dir} ne '' && -d $opts{man1dir};
-open UTILS, "utils.lst" or die "Can't open 'utils.lst': $!";
-while (<UTILS>) {
+my $fh = open_or_die('utils.lst');
+while (<$fh>) {
     next if /^#/;
     chomp;
-    $_ = $1 if /#.*pod\s*=\s*(\S+)/;
-    my ($where, $what) = m|^(\S*)/(\S+)|;
-    pod2man($where, $opts{man1dir}, $opts{man1ext}, $what);
+    my ($path, $leaf) = m|^(\S*/(\S+))|;
+    # Have we already installed the manpage for this? (eg perldoc, a2p)
+    next if $man1{$leaf};
+    pod2man({$leaf, $path}, $opts{man1dir}, $opts{man1ext});
     if ($has_man1dir) {
-	if (my ($where2, $what2) = m|#.*link\s*=\s*(\S+)/(\S+)|) {
-	    my $old = "$opts{man1dir}/$what.$opts{man1ext}";
-	    my $new = "$opts{man1dir}/$what2.$opts{man1ext}";
+        if (my ($link) = m|#.*link\s*=\s*\S+/(\S+)|) {
+            my $old = "$opts{man1dir}/$leaf.$opts{man1ext}";
+            my $new = "$opts{man1dir}/$link.$opts{man1ext}";
 	    unlink($new);
 	    link($old, $new);
-	    my $xold = $old;
-	    $xold =~ s/^\Q$opts{'destdir'}\E// if $opts{'destdir'};
-	    my $xnew = $new;
-	    $xnew =~ s/^\Q$opts{'destdir'}\E// if $opts{'destdir'};
-	    $packlist->{$xnew} = { from => $xold, type => 'link' };
+            $old =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
+            $new =~ s/^\Q$opts{destdir}\E// if $opts{destdir};
+            $packlist->{$new} = { from => $old, type => 'link' };
 	}
     }
 }
+close $fh or my_die("close 'utils.lst': $!");
 
 sub pod2man {
-    # @script is scripts names if we are installing manpages embedded
-    # in scripts, () otherwise
-    my($poddir, $mandir, $manext, @script) = @_;
+    my($modpods, $mandir, $manext, $where) = @_;
     if ($mandir eq ' ' or $mandir eq '') {
-	if (@script) {
-	    warn "Skipping installation of $poddir/$_ man page.\n"
-		foreach @script;
-	} else {
-	    warn "Skipping installation of $poddir man pages.\n";
-	}
-	return;
+        if ($where) {
+            warn "Skipping installation of $where man pages.\n"
+        } else {
+            warn "Skipping installation of $_ man page.\n"
+                foreach values %$modpods;
+        }
+        return;
     }
 
-    print "installing from $poddir\n" if $opts{verbose};
-
-    mkpath($mandir, $opts{verbose}, 0777) unless $opts{notify};  # In File::Path
-    # Make a list of all the .pm and .pod files in the directory.  We avoid
-    # chdir because we are running with @INC = '../lib', and modules may wish
-    # to dynamically require Carp::Heavy or other diagnostics warnings.
-    # Hash the names of files we find, keys are names relative to perl build
-    # dir ('.'), values are names relative to $poddir.
-    my %modpods;
-    if (@script) {
-	%modpods = (map {+"$poddir/$_", $_} @script);
+    if ($opts{verbose}) {
+        if ($where) {
+            print "installing from $where\n";
+        } else {
+            print "installing $_\n"
+                foreach sort keys %$modpods;
+        }
     }
-    else {
-	File::Find::find({no_chdir=>1,
-                          wanted => sub {
-                              # $_ is $File::Find::name when using no_chdir
-                              if (-f $_ and /\.p(?:m|od)$/) {
-                                  my $fullname = $_;
-                                  s!^\Q$poddir\E/!!;
-                                  $modpods{$fullname} = $_;
-                              }
-                          }},
-                         $poddir);
-    }
-    my @to_process;
-    foreach my $mod (sort keys %modpods) {
-        my $manpage = $modpods{$mod};
-	my $tmp;
-	# Skip .pm files that have corresponding .pod files, and Functions.pm.
-	next if (($tmp = $mod) =~ s/\.pm$/.pod/ && -f $tmp);
-	next if $mod =~ m:/t/:; # no pods from test directories
-	next if $do_not_install{$manpage};
 
+    File::Path::mkpath($mandir, $opts{verbose}, 0777) unless $opts{notify};
+
+    foreach my $manpage (sort keys %$modpods) {
+        my $mod = $modpods->{$manpage};
+
 	# Skip files without pod docs
 	my $has_pod;
-	if (open T, $mod)
-	{
-	    local $_;
-	    while (<T>)
-	    {
-		++$has_pod and last if /^=(?:head\d+|item|pod)\b/;
-	    }
+        my $fh = open_or_die($mod);
+        while (my $line = <$fh>) {
+            if ($line =~ /^=head1\b/) {
+                ++$has_pod;
+                last;
+            }
+        }
+	close $fh or my_die("close '$mod': $!");
+        # Sadly it doesn't seem possible to re-use this handle for the call
+        # to parse_from_file() below, as Pod::Man relies on source_filename(),
+        # which Pod::Simple only sets accurately if it opens the file itself.
 
-	    close T;
-	}
-
 	unless ($has_pod)
 	{
-	    warn "no documentation in $mod\n";
+	    warn "no documentation in $mod\n" unless $opts{silent};
 	    next;
 	}
 
-	# Convert name from  File/Basename.pm to File::Basename.3 format,
-	# if necessary.
-	$manpage =~ s#\.p(m|od)$##;
 	if ($^O eq 'os2' || $^O eq 'amigaos' || $^O eq 'uwin' || $^O eq 'cygwin') {
-	  $manpage =~ s#/#.#g;
+            $manpage =~ s#::#.#g;
 	}
-	else {
-	  $manpage =~ s#/#::#g;
-	}
-	$tmp = "${mandir}/${manpage}.tmp";
+        my $tmp = "${mandir}/${manpage}.tmp";
 	$manpage = "${mandir}/${manpage}.${manext}";
-	push @to_process, [$mod, $tmp, $manpage];
-    }
 
-    foreach my $page (@to_process) {
-	my($pod, $tmp, $manpage) = @$page;
-
         my $parser = Pod::Man->new( section => $manext,
                                     official=> 1,
                                     center  => 'Perl Programmers Reference Guide'
@@ -189,8 +155,8 @@
                                   );
 	my $xmanpage = $manpage;
 	$xmanpage =~ s/^\Q$opts{'destdir'}\E// if $opts{'destdir'};
-        print "  $xmanpage\n";
-	if (!$opts{notify} && $parser->parse_from_file($pod, $tmp)) {
+        print "  $xmanpage\n" unless $opts{silent};
+        if (!$opts{notify} && $parser->parse_from_file($mod, $tmp)) {
             if (-s $tmp) {
                 if (rename($tmp, $manpage)) {
                     $packlist->{$xmanpage} = { type => 'file' };
@@ -205,8 +171,6 @@
 $packlist->write() unless $opts{notify};
 print "  Installation complete\n" if $opts{verbose};
 
-exit 0;
-
 sub rename {
     my($from,$to) = @_;
     if (-f $to and not unlink($to)) {
@@ -214,9 +178,16 @@
 	for ($i = 1; $i < 50; $i++) {
 	    last if CORE::rename($to, "$to.$i");
 	}
-	warn("Cannot rename to `$to.$i': $!"), return 0
+	warn("Cannot rename to '$to.$i': $!"), return 0
 	    if $i >= 50;	# Give up!
     }
     link($from,$to) || return 0;
     unlink($from);
 }
+
+# Local variables:
+# cperl-indent-level: 4
+# indent-tabs-mode: nil
+# End:
+#
+# ex: set ts=8 sts=4 sw=4 et:


Property changes on: vendor/perl/dist/installman
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/installperl
===================================================================
--- vendor/perl/dist/installperl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/installperl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,9 +15,6 @@
 	    %opts $packlist);
 my ($dostrip, $versiononly, $force,
     $otherperls, $archname, $nwinstall, $nopods);
-# Not sure how easy it would be to refactor to remove the need for local $depth
-# below
-use vars qw /$depth/;
 
 BEGIN {
     if ($Is_VMS) { eval 'use VMS::Filespec;' }
@@ -32,6 +29,8 @@
 use ExtUtils::Packlist;
 use Cwd;
 
+require './Porting/pod_lib.pl';
+
 if ($Is_NetWare) {
     $Is_W32 = 0;
     $scr_ext = '.pl';
@@ -116,7 +115,6 @@
 open SCRIPTS, "utils.lst" or die "Can't open utils.lst: $!";
 while (<SCRIPTS>) {
     next if /^#/;
-    s/\s*#\s*pod\s*=.*//; # install script regardless of pod location
     next if /a2p/; # a2p is binary, to be installed separately
     chomp;
     if (/(\S*)\s*#\s*link\s*=\s*(\S*)/) {
@@ -130,8 +128,6 @@
 
 if ($scr_ext) { @scripts = map { "$_$scr_ext" } @scripts; }
 
-my @pods = $nopods ? () : (<pod/*.pod>, 'x2p/a2p.pod');
-
 # Specify here any .pm files that are actually architecture-dependent.
 # (Those included with XS extensions under ext/ are automatically
 # added later.)
@@ -303,16 +299,6 @@
 	chmod(0755, "$installbin/${dbg}a2p$exe_ext");
     }
 }
-elsif ($^O eq 'mpeix') {
-    # MPE lacks hard links and requires that executables with special
-    # capabilities reside in the MPE namespace.
-    safe_unlink("$installbin/perl$ver$exe_ext", $Config{perlpath});
-    # Install the primary executable into the MPE namespace as perlpath.
-    copy("perl$exe_ext", $Config{perlpath});
-    chmod(0755, $Config{perlpath});
-    # Create a backup copy with the version number.
-    link($Config{perlpath}, "$installbin/perl$ver$exe_ext");
-}
 elsif ($^O ne 'dos') {
     if (!$Is_NetWare) {
 	safe_unlink("$installbin/$perl_verbase$ver$exe_ext");
@@ -324,13 +310,13 @@
 	# If installing onto a NetWare server
 	if ($nwinstall) {
 	    # Copy perl.nlm, echo.nlm, type.nlm, a2p.nlm & cgi2perl.nlm
-	    mkpath($Config{installnwsystem}, 1, 0777);
+            mkpath($Config{installnwsystem}, $opts{verbose}, 0777);
 	    copy("netware\\".$ENV{'MAKE_TYPE'}."\\perl.nlm", $Config{installnwsystem});
 	    copy("netware\\testnlm\\echo\\echo.nlm", $Config{installnwsystem});
 	    copy("netware\\testnlm\\type\\type.nlm", $Config{installnwsystem});
 	    copy("x2p\\a2p.nlm", $Config{installnwsystem});
 	    chmod(0755, "$Config{installnwsystem}\\perl.nlm");
-	    mkpath($Config{installnwlcgi}, 1, 0777);
+            mkpath($Config{installnwlcgi}, $opts{verbose}, 0777);
 	    copy("lib\\auto\\cgi2perl\\cgi2perl.nlm", $Config{installnwlcgi});
 	}
     } #if (!$Is_NetWare)
@@ -342,8 +328,10 @@
 
 # Install library files.
 
-my ($do_installarchlib, $do_installprivlib) = (0, 0);
+my $do_installarchlib = !samepath($installarchlib, 'lib');
+my $do_installprivlib = !samepath($installprivlib, 'lib');
 my $vershort = ($Is_Cygwin and !$Config{usedevel}) ? substr($ver,0,-2) : $ver;
+$do_installprivlib = 0 if $versiononly && !($installprivlib =~ m/\Q$vershort/);
 
 mkpath($installprivlib, $opts{verbose}, 0777);
 mkpath($installarchlib, $opts{verbose}, 0777);
@@ -350,18 +338,12 @@
 mkpath($installsitelib, $opts{verbose}, 0777) if ($installsitelib);
 mkpath($installsitearch, $opts{verbose}, 0777) if ($installsitearch);
 
-if (chdir "lib") {
-    $do_installarchlib = ! samepath($installarchlib, '.');
-    $do_installprivlib = ! samepath($installprivlib, '.');
-    $do_installprivlib = 0 if $versiononly && !($installprivlib =~ m/\Q$vershort/);
-
-    if ($do_installarchlib || $do_installprivlib) {
-	find(\&installlib, '.');
-    }
-    chdir ".." || die "Can't cd back to source directory: $!\n";
+if (-d 'lib') {
+    find({no_chdir => 1, wanted => \&installlib}, 'lib')
+        if $do_installarchlib || $do_installprivlib;
 }
 else {
-    warn "Can't cd to lib to install lib files: $!\n";
+    warn "Can't install lib files - 'lib/' does not exist";
 }
 
 # Install header files and libraries.
@@ -397,13 +379,6 @@
 
     # AIX needs perl.exp installed as well.
     push(@corefiles,'perl.exp') if $^O eq 'aix';
-    if ($^O eq 'mpeix') {
-	# MPE needs mpeixish.h installed as well.
-	mkpath("$installarchlib/CORE/mpeix", $opts{verbose}, 0777);
-	push(@corefiles,'mpeix/mpeixish.h');
-    }
-    # If they have built sperl.o...
-    push(@corefiles,'sperl.o') if -f 'sperl.o';
 }
 foreach my $file (@corefiles) {
     # HP-UX (at least) needs to maintain execute permissions
@@ -410,7 +385,7 @@
     # on dynamically-loadable libraries. So we do it for all.
     if (copy_if_diff($file,"$installarchlib/CORE/$file")) {
 	if ($file =~ /\.(\Q$so\E|\Q$dlext\E)$/) {
-	    strip("-S", "$installarchlib/CORE/$file") if $^O =~ /^(rhapsody|darwin)$/;
+	    strip("-S", "$installarchlib/CORE/$file") if $^O eq 'darwin';
 	    chmod(0555, "$installarchlib/CORE/$file");
 	} else {
 	    chmod(0444, "$installarchlib/CORE/$file");
@@ -423,11 +398,7 @@
 
 if (! $versiononly && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VMS && ! $Is_NetWare) {
     safe_unlink("$installbin/$perl$exe_ext", "$installbin/suid$perl$exe_ext");
-    if ($^O eq 'mpeix') {
-	# MPE doesn't support hard links, so use a symlink.
-	# We don't want another cloned copy.
-	symlink($Config{perlpath}, "$installbin/perl$exe_ext");
-    } elsif ($^O eq 'vos') {
+    if ($^O eq 'vos') {
 	# VOS doesn't support hard links, so use a symlink.
 	symlink("$installbin/$perl_verbase$ver$exe_ext",
 		"$installbin/$perl$exe_ext");
@@ -442,11 +413,7 @@
 if ($archname && ! samepath($installbin, '.') && ($^O ne 'dos') && ! $Is_VMS) {
     my $archperl = "$perl_verbase$ver-$Config{archname}$exe_ext";
     safe_unlink("$installbin/$archperl");
-    if ($^O eq 'mpeix') {
-	# MPE doesn't support hard links, so use a symlink.
-	# We don't want another cloned copy.
-	symlink($Config{perlpath}, "$installbin/$archperl");
-    } elsif ($^O eq 'vos') {
+    if ($^O eq 'vos') {
 	# VOS doesn't support hard links, so use a symlink.
 	symlink("$installbin/$perl_verbase$ver$exe_ext",
 		"$installbin/$archperl");
@@ -560,15 +527,15 @@
 
 # Install pod pages.  Where? I guess in $installprivlib/pod
 # ($installprivlib/pods for cygwin).
-
-my $pod = ($Is_Cygwin || $Is_Darwin || $Is_VMS || $Is_W32) ? 'pods' : 'pod';
-if ( !$versiononly || ($installprivlib =~ m/\Q$vershort/)) {
+if (!$nopods && (!$versiononly || ($installprivlib =~ m/\Q$vershort/))) {
+    my $pod = ($Is_Cygwin || $Is_Darwin || $Is_VMS || $Is_W32) ? 'pods' : 'pod';
     mkpath("${installprivlib}/$pod", $opts{verbose}, 0777);
 
-    for (@pods) {
+    for (map {$_->[1]} @{get_pod_metadata()->{master}}) {
 	# $_ is a name like  pod/perl.pod
 	(my $base = $_) =~ s#.*/##;
 	copy_if_diff($_, "${installprivlib}/$pod/${base}");
+	chmod(0644, "${installprivlib}/$pod/${base}");
     }
 
 }
@@ -661,7 +628,7 @@
 	for ($i = 1; $i < 50; $i++) {
 	    last if rename($to, "$to.$i");
 	}
-	warn("Cannot rename to `$to.$i': $!"), return 0
+	warn("Cannot rename to '$to.$i': $!"), return 0
 	   if $i >= 50;	# Give up!
     }
     link($from,$to) || return 0;
@@ -688,11 +655,26 @@
 
 sub installlib {
     my $dir = $File::Find::dir;
-    $dir =~ s#^\.(?![^/])/?##;
-    local($depth) = $dir ? "lib/$dir" : "lib";
+    $dir =~ s!\Alib/?!!;
 
-    my $name = $_;
+    m!([^/]+)\z!;
+    my $name = $1;
 
+    # This remains ugly, and in need of refactoring.
+
+    # $name always starts as the leafname
+    # $dir is the directory *within* lib
+    # $name later has $dir pre-pended, to give the relative path in lib/
+    # which is used to create the path in the target directory.
+
+    # $_ was always the filename to use on disk. Adding no_chdir doesn't change
+    # this, as $_ becomes a pathname, and so still works. However, it's not
+    # obvious that $_ is needed later, and hence $_ must not be modified.
+
+    # Also, many of the regex exlusion tests below are now superfluous, as the
+    # files in question are either no longer in blead, or now in ext/, dist/ or
+    # cpan/ and not copied into lib/
+
     # Ignore version control directories.
     if ($name =~ /^(?:CVS|RCS|SCCS|\.svn)\z/ and -d $name) {
 	$File::Find::prune = 1;
@@ -707,8 +689,9 @@
     # scripts in lib/ExtUtils, the prove script in lib/Test/Harness,
     # the corelist script from lib/Module/CoreList/bin and ptar* in
     # lib/Archive/Tar/bin, the config_data script in lib/Module/Build/scripts
+    # and zipdetails in cpan/IO-Compress/bin
     # (they're installed later with other utils)
-    return if $name =~ /^(?:cpan|instmodsh|prove|corelist|ptar|cpan2dist|cpanp|cpanp-run-perl|ptardiff|ptargrep|config_data)\z/;
+    return if $name =~ /^(?:cpan|instmodsh|prove|corelist|ptar|cpan2dist|cpanp|cpanp-run-perl|ptardiff|ptargrep|config_data|zipdetails)\z/;
     # ignore the Makefiles
     return if $name =~ /^makefile$/i;
     # ignore the test extensions
@@ -722,13 +705,13 @@
     if ( $dir =~ /^unicore/ ) {
       if ( $name =~ /\.txt\z/ ) {
         # We can ignore most, but not all .txt files
-        return unless $name =~ /\A(?:Blocks|CaseFolding|SpecialCasing|NamedSequences)\.txt\z/;
+        return unless $name =~ /\A(?:Blocks|SpecialCasing|NamedSequences)\.txt\z/;
       }
       else {
         # TestProp only needed during testing
         return if $name =~ /\ATestProp.pl\z/;
         # we need version and *.pl files and can skip the rest
-        return unless $name =~ /\A(?:version|\w+\.pl)\z/;
+        return unless $name =~ /\A(?:version|\w+\.p[lm])\z/;
       }
     }
 
@@ -750,6 +733,9 @@
 
     $name = "$dir/$name" if $dir ne '';
 
+    # ignore pods that are stand alone documentation from dual life modules.
+    return if /\.pod\z/ && is_duplicate_pod($_);
+
     return if $name eq 'ExtUtils/XSSymSet.pm' and !$Is_VMS;
 
     my $installlib = $installprivlib;
@@ -764,6 +750,14 @@
 	return unless $do_installprivlib;
     }
 
+    if ($Is_NetWare && !$nwinstall && /\.(?:nlp|nlm|bs)$/) {
+        # Don't copy .nlp,.nlm files, doesn't make sense on Windows and also
+        # if copied will give problems when building new extensions.
+        # Has to be copied if we are installing on a NetWare server and
+        # hence the check !$nwinstall
+        return;
+    }
+
     if (-f $_) {
 	if (/\.(?:al|ix)$/ && !($dir =~ m[^auto/(.*)$])) {
 	    $installlib = $installprivlib;
@@ -781,28 +775,11 @@
 	    mkpath("$installlib/$dir", $opts{verbose}, 0777);
 	    # HP-UX (at least) needs to maintain execute permissions
 	    # on dynamically-loaded libraries.
-	    if ($Is_NetWare && !$nwinstall) {
-		# Don't copy .nlp,.nlm files, doesn't make sense on Windows and also
-		# if copied will give problems when building new extensions.
-		# Has to be copied if we are installing on a NetWare server and hence
-		# the check !$nwinstall
-		if (!(/\.(?:nlp|nlm|bs)$/)) {
-		    copy_if_diff($_, "$installlib/$name")
-			and chmod($name =~ /\.(so|$dlext)$/o ? 0555 : 0444,
-				  "$installlib/$name");
-		}
-	   } else {
-		if (copy_if_diff($_, "$installlib/$name")) {
-		    if ($name =~ /\.(so|$dlext)$/o) {
-			strip("-S", "$installlib/$name") if $^O =~ /^(rhapsody|darwin)$/;
-			chmod(0555, "$installlib/$name");
-		    } else {
-			strip("-S", "$installlib/$name")
-			    if ($name =~ /\.a$/o and $^O =~ /^(rhapsody|darwin)$/);
-			chmod(0444, "$installlib/$name");
-		    }
-		}
-	    } #if ($Is_NetWare)
+            if (copy_if_diff($_, "$installlib/$name")) {
+                strip("-S", "$installlib/$name")
+                    if $^O eq 'darwin' and /\.(?:so|$dlext|a)$/;
+                chmod(/\.(so|$dlext)$/ ? 0555 : 0444, "$installlib/$name");
+            }
 	}
     }
 }
@@ -837,9 +814,6 @@
     $packlist->{$xto} = { type => 'file' };
     if ($force || compare($from, $to) || $opts{notify}) {
 	safe_unlink($to);   # In case we don't have write permissions.
-	if ($opts{notify}) {
-	    $from = $depth . "/" . $from if $depth;
-	}
 	if ($perlpodbadsymlink && $from =~ m!^pod/perl(.+)\.pod$!) {
 	    $from = "README.$1";
 	}
@@ -877,3 +851,10 @@
 	}
     }
 }
+
+# Local variables:
+# cperl-indent-level: 4
+# indent-tabs-mode: nil
+# End:
+#
+# ex: set ts=8 sts=4 sw=4 et:


Property changes on: vendor/perl/dist/installperl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/intrpvar.h
===================================================================
--- vendor/perl/dist/intrpvar.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/intrpvar.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,8 @@
  *
  */
 
+#include "handy.h"
+
 /*
 =head1 Per-Interpreter Variables
 */
@@ -17,11 +19,9 @@
 
  * Don't forget to re-run regen/embed.pl to propagate changes! */
 
-/* New variables must be added to the very end for binary compatibility.
- * XSUB.h provides wrapper functions via perlapi.h that make this
- * irrelevant, but not all code may be expected to #include XSUB.h. */
+/* New variables must be added to the very end for binary compatibility. */
 
-/* Don't forget to add your variable also to perl_clone()! */
+/* Don't forget to add your variable also to perl_clone()! (in sv.c) */
 
 /* The 'I' prefix is only needed for vars that need appropriate #defines
  * generated when built with or without MULTIPLICITY.  It is also used
@@ -32,45 +32,129 @@
  *
  * Important ones in the first cache line (if alignment is done right) */
 
-PERLVAR(Istack_sp,	SV **)		/* top of the stack */
+PERLVAR(I, stack_sp,	SV **)		/* top of the stack */
 #ifdef OP_IN_REGISTER
-PERLVAR(Iopsave,	OP *)
+PERLVAR(I, opsave,	OP *)
 #else
-PERLVAR(Iop,		OP *)		/* currently executing op */
+PERLVAR(I, op,		OP *)		/* currently executing op */
 #endif
-PERLVAR(Icurpad,	SV **)		/* active pad (lexicals+tmps) */
+PERLVAR(I, curpad,	SV **)		/* active pad (lexicals+tmps) */
 
-PERLVAR(Istack_base,	SV **)
-PERLVAR(Istack_max,	SV **)
+PERLVAR(I, stack_base,	SV **)
+PERLVAR(I, stack_max,	SV **)
 
-PERLVAR(Iscopestack,	I32 *)		/* scopes we've ENTERed */
-/* name of the scopes we've ENTERed. Only used with -DDEBUGGING, but needs to be
-   present always, as -DDEUBGGING must be binary compatible with non.  */
-PERLVARI(Iscopestack_name, const char * *, NULL)
-PERLVAR(Iscopestack_ix,	I32)
-PERLVAR(Iscopestack_max,I32)
-
-PERLVAR(Isavestack,	ANY *)		/* items that need to be restored when
+PERLVAR(I, savestack,	ANY *)		/* items that need to be restored when
 					   LEAVEing scopes we've ENTERed */
-PERLVAR(Isavestack_ix,	I32)
-PERLVAR(Isavestack_max,	I32)
+PERLVAR(I, savestack_ix, I32)
+PERLVAR(I, savestack_max, I32)
 
-PERLVAR(Itmps_stack,	SV **)		/* mortals we've made */
-PERLVARI(Itmps_ix,	I32,	-1)
-PERLVARI(Itmps_floor,	I32,	-1)
-PERLVAR(Itmps_max,	I32)
-PERLVAR(Imodcount,	I32)		/* how much op_lvalue()ification in
-					   assignment? */
+PERLVAR(I, scopestack,	I32 *)		/* scopes we've ENTERed */
+PERLVAR(I, scopestack_ix, I32)
+PERLVAR(I, scopestack_max, I32)
 
-PERLVAR(Imarkstack,	I32 *)		/* stack_sp locations we're
+PERLVAR(I, tmps_stack,	SV **)		/* mortals we've made */
+PERLVARI(I, tmps_ix,	I32,	-1)
+PERLVARI(I, tmps_floor,	I32,	-1)
+PERLVAR(I, tmps_max,	I32)
+
+PERLVARI(I, sub_generation, U32, 1)	/* incr to invalidate method cache */
+
+PERLVAR(I, markstack,	I32 *)		/* stack_sp locations we're
 					   remembering */
-PERLVAR(Imarkstack_ptr,	I32 *)
-PERLVAR(Imarkstack_max,	I32 *)
+PERLVAR(I, markstack_ptr, I32 *)
+PERLVAR(I, markstack_max, I32 *)
 
-PERLVAR(ISv,		SV *)		/* used to hold temporary values */
-PERLVAR(IXpv,		XPV *)		/* used to hold temporary values */
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+#ifdef USE_PERL_PERTURB_KEYS
+PERLVARI(I, hash_rand_bits_enabled, U8, 1) /* used to randomize hash stuff 0 == no-random, 1 == random, 2 == determinsitic */
+#endif
+PERLVARI(I, hash_rand_bits, UV, 0)      /* used to randomize hash stuff */
+#endif
+PERLVAR(I, strtab,	HV *)		/* shared string table */
 
+/* Fields used by magic variables such as $@, $/ and so on */
+PERLVAR(I, curpm,	PMOP *)		/* what to do \ interps in REs from */
+
+PERLVAR(I, tainting,	bool)		/* doing taint checks */
+PERLVAR(I, tainted,	bool)		/* using variables controlled by $< */
+PERLVAR(I, delaymagic,	U16)		/* ($<,$>) = ... */
+PERLVAR(I, localizing,	U8)		/* are we processing a local() list? */
+PERLVAR(I, in_eval,	U8)		/* trap "fatal" errors? */
 /*
+
+=for apidoc mn|bool|PL_dowarn
+
+The C variable which corresponds to Perl's $^W warning variable.
+
+=cut
+*/
+
+PERLVAR(I, dowarn,	U8)
+
+#if defined (PERL_UTF8_CACHE_ASSERT) || defined (DEBUGGING)
+#  define PERL___I -1
+#else
+#  define PERL___I 1
+#endif
+PERLVARI(I, utf8cache, I8, PERL___I)	/* Is the utf8 caching code enabled? */
+#undef PERL___I
+
+
+/* Stashes */
+PERLVAR(I, defstash,	HV *)		/* main symbol table */
+PERLVAR(I, curstash,	HV *)		/* symbol table for current package */
+
+PERLVAR(I, curcop,	COP *)
+PERLVAR(I, curstack,	AV *)		/* THE STACK */
+PERLVAR(I, curstackinfo, PERL_SI *)	/* current stack + context */
+PERLVAR(I, mainstack,	AV *)		/* the stack when nothing funny is
+					   happening */
+
+/* memory management */
+PERLVAR(I, sv_count,	IV)		/* how many SV* are currently allocated */
+PERLVAR(I, sv_objcount,	IV)		/* DEPRECATED AND UNMAINTAINED.
+                                         * Will be removed in Perl 5.20.
+                                         * Used to be: how many objects are currently allocated. */
+
+PERLVAR(I, sv_root,	SV *)		/* storage for SVs belonging to interp */
+PERLVAR(I, sv_arenaroot, SV *)		/* list of areas for garbage collection */
+
+PERLVAR(I, reg_state,	struct re_save_state)
+
+/* the currently active slab in a chain of slabs of regmatch states,
+ * and the currently active state within that slab */
+
+PERLVARI(I, regmatch_slab, regmatch_slab *,	NULL)
+PERLVAR(I, regmatch_state, regmatch_state *)
+
+PERLVAR(I, comppad,	PAD *)		/* storage for lexically scoped temporaries */
+
+/*
+=for apidoc Amn|SV|PL_sv_undef
+This is the C<undef> SV.  Always refer to this as C<&PL_sv_undef>.
+
+=for apidoc Amn|SV|PL_sv_no
+This is the C<false> SV.  See C<PL_sv_yes>.  Always refer to this as
+C<&PL_sv_no>.
+
+=for apidoc Amn|SV|PL_sv_yes
+This is the C<true> SV.  See C<PL_sv_no>.  Always refer to this as
+C<&PL_sv_yes>.
+
+=cut
+*/
+
+PERLVAR(I, sv_undef,	SV)
+PERLVAR(I, sv_no,	SV)
+PERLVAR(I, sv_yes,	SV)
+PERLVAR(I, Sv,		SV *)		/* used to hold temporary values */
+
+PERLVAR(I, parser,	yy_parser *)	/* current parser state */
+
+PERLVAR(I, stashcache,	HV *)		/* Cache to speed up S_method_common */
+
+
+/*
 =for apidoc Amn|STRLEN|PL_na
 
 A convenience variable which is typically used with C<SvPV> when one
@@ -81,22 +165,19 @@
 =cut
 */
 
-PERLVAR(Ina,		STRLEN)		/* for use in SvPV when length is
+PERLVAR(I, na,		STRLEN)		/* for use in SvPV when length is
 					   Not Applicable */
 
 /* stat stuff */
-PERLVAR(Istatbuf,	Stat_t)
-PERLVAR(Istatcache,	Stat_t)		/* _ */
-PERLVAR(Istatgv,	GV *)
-PERLVARI(Istatname,	SV *,	NULL)
+PERLVAR(I, statbuf,	Stat_t)
+PERLVAR(I, statcache,	Stat_t)		/* _ */
+PERLVAR(I, statgv,	GV *)
+PERLVARI(I, statname,	SV *,	NULL)
 
 #ifdef HAS_TIMES
-PERLVAR(Itimesbuf,	struct tms)
+PERLVAR(I, timesbuf,	struct tms)
 #endif
 
-/* Fields used by magic variables such as $@, $/ and so on */
-PERLVAR(Icurpm,		PMOP *)		/* what to do \ interps in REs from */
-
 /*
 =for apidoc mn|SV*|PL_rs
 
@@ -113,64 +194,48 @@
 =cut
 */
 
-PERLVAR(Irs,		SV *)		/* input record separator $/ */
-PERLVAR(Ilast_in_gv,	GV *)		/* GV used in last <FH> */
-PERLVAR(Iofsgv,		GV *)		/* GV of output field separator *, */
-PERLVAR(Idefoutgv,	GV *)		/* default FH for output */
-PERLVARI(Ichopset,	const char *, " \n-")	/* $: */
-PERLVAR(Iformtarget,	SV *)
-PERLVAR(Ibodytarget,	SV *)
-PERLVAR(Itoptarget,	SV *)
+PERLVAR(I, rs,		SV *)		/* input record separator $/ */
+PERLVAR(I, last_in_gv,	GV *)		/* GV used in last <FH> */
+PERLVAR(I, ofsgv,	GV *)		/* GV of output field separator *, */
+PERLVAR(I, defoutgv,	GV *)		/* default FH for output */
+PERLVARI(I, chopset,	const char *, " \n-")	/* $: */
+PERLVAR(I, formtarget,	SV *)
+PERLVAR(I, bodytarget,	SV *)
+PERLVAR(I, toptarget,	SV *)
 
-/* Stashes */
-PERLVAR(Idefstash,	HV *)		/* main symbol table */
-PERLVAR(Icurstash,	HV *)		/* symbol table for current package */
 
-PERLVAR(Irestartop,	OP *)		/* propagating an error from croak? */
-PERLVAR(Irestartjmpenv,	JMPENV *)	/* target frame for longjmp in die */
-PERLVAR(Icurcop,	COP *)
-PERLVAR(Icurstack,	AV *)		/* THE STACK */
-PERLVAR(Icurstackinfo,	PERL_SI *)	/* current stack + context */
-PERLVAR(Imainstack,	AV *)		/* the stack when nothing funny is
-					   happening */
+PERLVAR(I, restartop,	OP *)		/* propagating an error from croak? */
+PERLVAR(I, restartjmpenv, JMPENV *)	/* target frame for longjmp in die */
 
-PERLVAR(Itop_env,	JMPENV *)	/* ptr to current sigjmp environment */
-PERLVAR(Istart_env,	JMPENV)		/* empty startup sigjmp environment */
-PERLVARI(Ierrors,	SV *,	NULL)	/* outstanding queued errors */
+PERLVAR(I, top_env,	JMPENV *)	/* ptr to current sigjmp environment */
+PERLVAR(I, start_env,	JMPENV)		/* empty startup sigjmp environment */
+PERLVARI(I, errors,	SV *,	NULL)	/* outstanding queued errors */
 
 /* statics "owned" by various functions */
-PERLVAR(Ihv_fetch_ent_mh, HE*)		/* owned by hv_fetch_ent() */
+PERLVAR(I, hv_fetch_ent_mh, HE*)	/* owned by hv_fetch_ent() */
 
-PERLVAR(Ilastgotoprobe,	OP*)		/* from pp_ctl.c */
+PERLVAR(I, lastgotoprobe, OP*)		/* from pp_ctl.c */
 
 /* sort stuff */
-PERLVAR(Isortcop,	OP *)		/* user defined sort routine */
-PERLVAR(Isortstash,	HV *)		/* which is in some package or other */
-PERLVAR(Ifirstgv,	GV *)		/* $a */
-PERLVAR(Isecondgv,	GV *)		/* $b */
+PERLVAR(I, sortcop,	OP *)		/* user defined sort routine */
+PERLVAR(I, sortstash,	HV *)		/* which is in some package or other */
+PERLVAR(I, firstgv,	GV *)		/* $a */
+PERLVAR(I, secondgv,	GV *)		/* $b */
 
 /* float buffer */
-PERLVAR(Iefloatbuf,	char *)
-PERLVAR(Iefloatsize,	STRLEN)
+PERLVAR(I, efloatbuf,	char *)
+PERLVAR(I, efloatsize,	STRLEN)
 
-/* regex stuff */
+PERLVAR(I, regdummy,	regnode)	/* from regcomp.c */
 
-PERLVAR(Iscreamfirst,	I32 *)
-PERLVAR(Iscreamnext,	I32 *)
-PERLVAR(Ilastscream,	SV *)
-
-PERLVAR(Ireg_state,	struct re_save_state)
-
-PERLVAR(Iregdummy,	regnode)	/* from regcomp.c */
-
-PERLVARI(Idumpindent,	U16,	4)	/* number of blanks per dump
+PERLVARI(I, dumpindent,	U16,	4)	/* number of blanks per dump
 					   indentation level */
 
+PERLVAR(I, exit_flags,	U8)		/* was exit() unexpected, etc. */
 
-PERLVAR(Iutf8locale,	bool)		/* utf8 locale detected */
-PERLVARI(Irehash_seed_set, bool, FALSE)	/* 582 hash initialized? */
+PERLVAR(I, utf8locale,	bool)		/* utf8 locale detected */
 
-PERLVARA(Icolors,6,	char *)		/* from regcomp.c */
+PERLVARA(I, colors,6,	char *)		/* from regcomp.c */
 
 /*
 =for apidoc Amn|peep_t|PL_peepp
@@ -193,7 +258,7 @@
 =cut
 */
 
-PERLVARI(Ipeepp,	peep_t, Perl_peep)
+PERLVARI(I, peepp,	peep_t, Perl_peep)
 
 /*
 =for apidoc Amn|peep_t|PL_rpeepp
@@ -217,7 +282,7 @@
 =cut
 */
 
-PERLVARI(Irpeepp,	peep_t, Perl_rpeep)
+PERLVARI(I, rpeepp,	peep_t, Perl_rpeep)
 
 /*
 =for apidoc Amn|Perl_ophook_t|PL_opfreehook
@@ -231,117 +296,76 @@
 =cut
 */
 
-PERLVARI(Iopfreehook,	Perl_ophook_t, 0) /* op_free() hook */
+PERLVARI(I, opfreehook,	Perl_ophook_t, 0) /* op_free() hook */
 
-PERLVARI(Imaxscream,	I32,	-1)
-PERLVARI(Ireginterp_cnt,I32,	 0)	/* Whether "Regexp" was interpolated. */
-PERLVARI(Iwatchaddr,	char **, 0)
-PERLVAR(Iwatchok,	char *)
+PERLVARI(I, watchaddr,	char **, 0)
+PERLVAR(I, watchok,	char *)
 
-/* the currently active slab in a chain of slabs of regmatch states,
- * and the currently active state within that slab */
+PERLVAR(I, perldb,	U32)
 
-PERLVARI(Iregmatch_slab, regmatch_slab *,	NULL)
-PERLVAR(Iregmatch_state, regmatch_state *)
+PERLVAR(I, signals,	U32)	/* Using which pre-5.8 signals */
 
-/* Put anything new that is pointer aligned here. */
+PERLVAR(I, reentrant_retint, int)	/* Integer return value from reentrant functions */
 
-PERLVAR(Idelaymagic,	U16)		/* ($<,$>) = ... */
-PERLVAR(Ilocalizing,	U8)		/* are we processing a local() list? */
-PERLVAR(Icolorset,	bool)		/* from regcomp.c */
-PERLVAR(Iin_eval,	U8)		/* trap "fatal" errors? */
-PERLVAR(Itainted,	bool)		/* using variables controlled by $< */
-
-/* current phase the interpreter is in */
-PERLVARI(Iphase,	enum perl_phase, PERL_PHASE_CONSTRUCT)
-
-/* This value may be set when embedding for full cleanup  */
-/* 0=none, 1=full, 2=full with checks */
-/* mod_perl is special, and also assigns a meaning -1 */
-PERLVARI(Iperl_destruct_level,	signed char,	0)
-
-PERLVAR(Iperldb,	U32)
-
 /* pseudo environmental stuff */
-PERLVAR(Iorigargc,	int)
-PERLVAR(Iorigargv,	char **)
-PERLVAR(Ienvgv,		GV *)
-PERLVAR(Iincgv,		GV *)
-PERLVAR(Ihintgv,	GV *)
-PERLVAR(Iorigfilename,	char *)
-PERLVAR(Idiehook,	SV *)
-PERLVAR(Iwarnhook,	SV *)
+PERLVAR(I, origargc,	int)
+PERLVAR(I, origargv,	char **)
+PERLVAR(I, envgv,	GV *)
+PERLVAR(I, incgv,	GV *)
+PERLVAR(I, hintgv,	GV *)
+PERLVAR(I, origfilename, char *)
+PERLVAR(I, diehook,	SV *)
+PERLVAR(I, warnhook,	SV *)
 
 /* switches */
-PERLVAR(Ipatchlevel,	SV *)
-PERLVAR(Iapiversion,	SV *)
-PERLVAR(Ilocalpatches,	const char * const *)
-PERLVARI(Isplitstr,	const char *, " ")
+PERLVAR(I, patchlevel,	SV *)
+PERLVAR(I, apiversion,	SV *)
+PERLVAR(I, localpatches, const char * const *)
+PERLVARI(I, splitstr,	const char *, " ")
 
-PERLVAR(Iminus_c,	bool)
-PERLVAR(Iminus_n,	bool)
-PERLVAR(Iminus_p,	bool)
-PERLVAR(Iminus_l,	bool)
-PERLVAR(Iminus_a,	bool)
-PERLVAR(Iminus_F,	bool)
-PERLVAR(Idoswitches,	bool)
-PERLVAR(Iminus_E,	bool)
+PERLVAR(I, minus_c,	bool)
+PERLVAR(I, minus_n,	bool)
+PERLVAR(I, minus_p,	bool)
+PERLVAR(I, minus_l,	bool)
+PERLVAR(I, minus_a,	bool)
+PERLVAR(I, minus_F,	bool)
+PERLVAR(I, doswitches,	bool)
+PERLVAR(I, minus_E,	bool)
 
-/*
+PERLVAR(I, inplace,	char *)
+PERLVAR(I, e_script,	SV *)
 
-=for apidoc mn|bool|PL_dowarn
+PERLVAR(I, basetime,	Time_t)		/* $^T */
 
-The C variable which corresponds to Perl's $^W warning variable.
-
-=cut
-*/
-
-PERLVAR(Idowarn,	U8)
-     /* Space for a U8  */
-PERLVAR(Isawampersand,	bool)		/* must save all match strings */
-PERLVAR(Iunsafe,	bool)
-PERLVAR(Iexit_flags,	U8)		/* was exit() unexpected, etc. */
-PERLVAR(Isrand_called,	bool)
-/* Part of internal state, but makes the 16th 1 byte variable in a row.  */
-PERLVAR(Itainting,	bool)		/* doing taint checks */
-PERLVARI(Iin_load_module, bool, FALSE)	/* to prevent recursions in PerlIO_find_layer */
-PERLVAR(Iinplace,	char *)
-PERLVAR(Ie_script,	SV *)
-
-/* magical thingies */
-PERLVAR(Ibasetime,	Time_t)		/* $^T */
-PERLVAR(Iformfeed,	SV *)		/* $^L */
-
-
-PERLVARI(Imaxsysfd,	I32,	MAXSYSFD)
+PERLVARI(I, maxsysfd,	I32,	MAXSYSFD)
 					/* top fd to pass to subprocesses */
-PERLVAR(Istatusvalue,	I32)		/* $? */
+PERLVAR(I, statusvalue,	I32)		/* $? */
 #ifdef VMS
-PERLVAR(Istatusvalue_vms,U32)
+PERLVAR(I, statusvalue_vms, U32)
 #else
-PERLVAR(Istatusvalue_posix,I32)
+PERLVAR(I, statusvalue_posix, I32)
 #endif
 
-PERLVARI(Isig_pending, int,0)           /* Number if highest signal pending */
-PERLVAR(Ipsig_pend, int *)		/* per-signal "count" of pending */
+PERLVARI(I, sig_pending, int, 0)	/* Number if highest signal pending */
+PERLVAR(I, psig_pend, int *)		/* per-signal "count" of pending */
 
 /* shortcuts to various I/O objects */
-PERLVAR(Istdingv,	GV *)		/*  *STDIN      */
-PERLVAR(Istderrgv,	GV *)		/*  *STDERR     */
-PERLVAR(Idefgv,		GV *)
-PERLVAR(Iargvgv,	GV *)		/*  *ARGV       */
-PERLVAR(Iargvoutgv,	GV *)		/*  *ARGVOUT    */
-PERLVAR(Iargvout_stack,	AV *)
+PERLVAR(I, stdingv,	GV *)		/*  *STDIN      */
+PERLVAR(I, stderrgv,	GV *)		/*  *STDERR     */
+PERLVAR(I, defgv,	GV *)
+PERLVAR(I, argvgv,	GV *)		/*  *ARGV       */
+PERLVAR(I, argvoutgv,	GV *)		/*  *ARGVOUT    */
+PERLVAR(I, argvout_stack, AV *)
 
 /* shortcuts to regexp stuff */
-PERLVAR(Ireplgv,	GV *)		/*  *^R         */
+PERLVAR(I, replgv,	GV *)		/*  *^R         */
 
 /* shortcuts to misc objects */
-PERLVAR(Ierrgv,		GV *)		/*  *@          */
+PERLVAR(I, errgv,	GV *)		/*  *@          */
 
 /* shortcuts to debugging objects */
-PERLVAR(IDBgv,		GV *)		/*  *DB::DB     */
-PERLVAR(IDBline,	GV *)		/*  *DB::line   */
+PERLVAR(I, DBgv,	GV *)		/*  *DB::DB     */
+PERLVAR(I, DBline,	GV *)		/*  *DB::line   */
 
 /*
 =for apidoc mn|GV *|PL_DBsub
@@ -365,71 +389,68 @@
 =cut
 */
 
-PERLVAR(IDBsub,		GV *)		/*  *DB::sub    */
-PERLVAR(IDBsingle,	SV *)		/*  $DB::single */
-PERLVAR(IDBtrace,	SV *)		/*  $DB::trace  */
-PERLVAR(IDBsignal,	SV *)		/*  $DB::signal */
-PERLVAR(Idbargs,	AV *)		/* args to call listed by caller function */
+PERLVAR(I, DBsub,	GV *)		/*  *DB::sub    */
+PERLVAR(I, DBsingle,	SV *)		/*  $DB::single */
+PERLVAR(I, DBtrace,	SV *)		/*  $DB::trace  */
+PERLVAR(I, DBsignal,	SV *)		/*  $DB::signal */
+PERLVAR(I, dbargs,	AV *)		/* args to call listed by caller function */
 
 /* symbol tables */
-PERLVAR(Idebstash,	HV *)		/* symbol table for perldb package */
-PERLVAR(Iglobalstash,	HV *)		/* global keyword overrides imported here */
-PERLVAR(Icurstname,	SV *)		/* name of current package */
-PERLVAR(Ibeginav,	AV *)		/* names of BEGIN subroutines */
-PERLVAR(Iendav,		AV *)		/* names of END subroutines */
-PERLVAR(Iunitcheckav,	AV *)		/* names of UNITCHECK subroutines */
-PERLVAR(Icheckav,	AV *)		/* names of CHECK subroutines */
-PERLVAR(Iinitav,	AV *)		/* names of INIT subroutines */
-PERLVAR(Istrtab,	HV *)		/* shared string table */
-PERLVARI(Isub_generation,U32,1)		/* incr to invalidate method cache */
+PERLVAR(I, debstash,	HV *)		/* symbol table for perldb package */
+PERLVAR(I, globalstash,	HV *)		/* global keyword overrides imported here */
+PERLVAR(I, curstname,	SV *)		/* name of current package */
+PERLVAR(I, beginav,	AV *)		/* names of BEGIN subroutines */
+PERLVAR(I, endav,	AV *)		/* names of END subroutines */
+PERLVAR(I, unitcheckav,	AV *)		/* names of UNITCHECK subroutines */
+PERLVAR(I, checkav,	AV *)		/* names of CHECK subroutines */
+PERLVAR(I, initav,	AV *)		/* names of INIT subroutines */
 
-/* funky return mechanisms */
-PERLVAR(Iforkprocess,	int)		/* so do_open |- can return proc# */
-
-/* memory management */
-PERLVAR(Isv_count,	I32)		/* how many SV* are currently allocated */
-PERLVAR(Isv_objcount,	I32)		/* how many objects are currently allocated */
-PERLVAR(Isv_root,	SV*)		/* storage for SVs belonging to interp */
-PERLVAR(Isv_arenaroot,	SV*)		/* list of areas for garbage collection */
-
 /* subprocess state */
-PERLVAR(Ifdpid,		AV *)		/* keep fd-to-pid mappings for my_popen */
+PERLVAR(I, fdpid,	AV *)		/* keep fd-to-pid mappings for my_popen */
 
 /* internal state */
-PERLVARI(Iop_mask,	char *,	NULL)	/* masked operations for safe evals */
+PERLVARI(I, op_mask,	char *,	NULL)	/* masked operations for safe evals */
 
 /* current interpreter roots */
-PERLVAR(Imain_cv,	CV *)
-PERLVAR(Imain_root,	OP *)
-PERLVAR(Imain_start,	OP *)
-PERLVAR(Ieval_root,	OP *)
-PERLVAR(Ieval_start,	OP *)
+PERLVAR(I, main_cv,	CV *)
+PERLVAR(I, main_root,	OP *)
+PERLVAR(I, main_start,	OP *)
+PERLVAR(I, eval_root,	OP *)
+PERLVAR(I, eval_start,	OP *)
 
 /* runtime control stuff */
-PERLVARI(Icurcopdb,	COP *,	NULL)
+PERLVARI(I, curcopdb,	COP *,	NULL)
 
-PERLVAR(Ifilemode,	int)		/* so nextargv() can preserve mode */
-PERLVAR(Ilastfd,	int)		/* what to preserve mode on */
-PERLVAR(Ioldname,	char *)		/* what to preserve mode on */
-PERLVAR(IArgv,		const char **)	/* stuff to free from do_aexec, vfork safe */
-PERLVAR(ICmd,		char *)		/* stuff to free from do_aexec, vfork safe */
+PERLVAR(I, filemode,	int)		/* so nextargv() can preserve mode */
+PERLVAR(I, lastfd,	int)		/* what to preserve mode on */
+PERLVAR(I, oldname,	char *)		/* what to preserve mode on */
+PERLVAR(I, Argv,	const char **)	/* stuff to free from do_aexec, vfork safe */
+PERLVAR(I, Cmd,		char *)		/* stuff to free from do_aexec, vfork safe */
 /* Elements in this array have ';' appended and are injected as a single line
    into the tokeniser. You can't put any (literal) newlines into any program
    you stuff in into this array, as the point where it's injected is expecting
    a single physical line. */
-PERLVAR(Ipreambleav,	AV *)
-PERLVAR(Imess_sv,	SV *)
-PERLVAR(Iors_sv,	SV *)		/* output record separator $\ */
+PERLVAR(I, preambleav,	AV *)
+PERLVAR(I, mess_sv,	SV *)
+PERLVAR(I, ors_sv,	SV *)		/* output record separator $\ */
+
+/* funky return mechanisms */
+PERLVAR(I, forkprocess,	int)		/* so do_open |- can return proc# */
+
 /* statics moved here for shared library purposes */
-PERLVARI(Igensym,	I32,	0)	/* next symbol for getsym() to define */
-PERLVARI(Icv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */
-PERLVAR(Itaint_warn,	bool)      /* taint warns instead of dying */
-PERLVARI(Ilaststype,	U16,	OP_STAT)
-PERLVARI(Ilaststatval,	int,	-1)
+PERLVARI(I, gensym,	I32,	0)	/* next symbol for getsym() to define */
+PERLVARI(I, cv_has_eval, bool, FALSE)	/* PL_compcv includes an entereval or similar */
+PERLVAR(I, taint_warn,	bool)		/* taint warns instead of dying */
+PERLVARI(I, laststype,	U16,	OP_STAT)
 
+PERLVARI(I, laststatval, int,	-1)
+
+PERLVAR(I, modcount,	I32)		/* how much op_lvalue()ification in
+					   assignment? */
+
 /* interpreter atexit processing */
-PERLVARI(Iexitlistlen,	I32, 0)		/* length of same */
-PERLVARI(Iexitlist,	PerlExitListEntry *, NULL)
+PERLVARI(I, exitlistlen, I32, 0)	/* length of same */
+PERLVARI(I, exitlist,	PerlExitListEntry *, NULL)
 					/* list of exit functions */
 
 /*
@@ -444,39 +465,44 @@
 =cut
 */
 
-PERLVAR(Imodglobal,	HV *)		/* per-interp module data */
+PERLVAR(I, modglobal,	HV *)		/* per-interp module data */
 
 /* these used to be in global before 5.004_68 */
-PERLVARI(Iprofiledata,	U32 *,	NULL)	/* table of ops, counts */
+PERLVARI(I, profiledata, U32 *,	NULL)	/* table of ops, counts */
 
-PERLVAR(Icompiling,	COP)		/* compiling/done executing marker */
+PERLVAR(I, compiling,	COP)		/* compiling/done executing marker */
 
-PERLVAR(Icompcv,	CV *)		/* currently compiling subroutine */
-PERLVAR(Icomppad,	AV *)		/* storage for lexically scoped temporaries */
-PERLVAR(Icomppad_name,	AV *)		/* variable names for "my" variables */
-PERLVAR(Icomppad_name_fill,	I32)	/* last "introduced" variable offset */
-PERLVAR(Icomppad_name_floor,	I32)	/* start of vars in innermost block */
+PERLVAR(I, compcv,	CV *)		/* currently compiling subroutine */
+PERLVAR(I, comppad_name, PADNAMELIST *)	/* variable names for "my" variables */
+PERLVAR(I, comppad_name_fill,	I32)	/* last "introduced" variable offset */
+PERLVAR(I, comppad_name_floor,	I32)	/* start of vars in innermost block */
 
 #ifdef HAVE_INTERP_INTERN
-PERLVAR(Isys_intern,	struct interp_intern)
+PERLVAR(I, sys_intern,	struct interp_intern)
 					/* platform internals */
 #endif
 
 /* more statics moved here */
-PERLVAR(IDBcv,		CV *)		/* from perl.c */
-PERLVARI(Igeneration,	int,	100)	/* from op.c */
+PERLVAR(I, DBcv,	CV *)		/* from perl.c */
+PERLVARI(I, generation,	int,	100)	/* from op.c */
 
-PERLVARI(Iin_clean_objs,bool,    FALSE)	/* from sv.c */
-PERLVARI(Iin_clean_all,	bool,    FALSE)	/* ptrs to freed SVs now legal */
-PERLVAR(Inomemok,	bool)		/* let malloc context handle nomem */
-PERLVARI(Isavebegin,     bool,	FALSE)	/* save BEGINs for compiler	*/
+PERLVAR(I, unicode, U32)	/* Unicode features: $ENV{PERL_UNICODE} or -C */
 
-PERLVAR(Iuid,		Uid_t)		/* current real user id */
-PERLVAR(Ieuid,		Uid_t)		/* current effective user id */
-PERLVAR(Igid,		Gid_t)		/* current real group id */
-PERLVAR(Iegid,		Gid_t)		/* current effective group id */
-PERLVARI(Ian,		U32,	0)	/* malloc sequence number */
+PERLVARI(I, in_clean_objs,bool,    FALSE)	/* from sv.c */
+PERLVARI(I, in_clean_all, bool,    FALSE)	/* ptrs to freed SVs now legal */
+PERLVAR(I, nomemok,	bool)		/* let malloc context handle nomem */
+PERLVARI(I, savebegin,	bool,	FALSE)	/* save BEGINs for compiler	*/
 
+
+PERLVAR(I, delaymagic_uid,	Uid_t)	/* current real user id, only for delaymagic */
+PERLVAR(I, delaymagic_euid,	Uid_t)	/* current effective user id, only for delaymagic */
+PERLVAR(I, delaymagic_gid,	Gid_t)	/* current real group id, only for delaymagic */
+PERLVAR(I, delaymagic_egid,	Gid_t)	/* current effective group id, only for delaymagic */
+PERLVARI(I, an,		U32,	0)	/* malloc sequence number */
+
+/* Perl_Ibreakable_sub_generation_ptr was too long for VMS, hence "gen"  */
+PERLVARI(I, breakable_sub_gen, U32, 0)
+
 #ifdef DEBUGGING
     /* exercise wrap-around */
     #define PERL_COP_SEQMAX (U32_MAX-50)
@@ -483,221 +509,189 @@
 #else
     #define PERL_COP_SEQMAX 0
 #endif
-PERLVARI(Icop_seqmax,	U32,	PERL_COP_SEQMAX) /* statement sequence number */
+PERLVARI(I, cop_seqmax,	U32,	PERL_COP_SEQMAX) /* statement sequence number */
 #undef PERL_COP_SEQMAX
 
-PERLVARI(Ievalseq,	U32,	0)	/* eval sequence number */
-PERLVAR(Iorigalen,	U32)
-PERLVAR(Iorigenviron,	char **)
+PERLVARI(I, evalseq,	U32,	0)	/* eval sequence number */
+PERLVAR(I, origalen,	U32)
+PERLVAR(I, origenviron,	char **)
 #ifdef PERL_USES_PL_PIDSTATUS
-PERLVAR(Ipidstatus,	HV *)		/* pid-to-status mappings for waitpid */
+PERLVAR(I, pidstatus,	HV *)		/* pid-to-status mappings for waitpid */
 #endif
-PERLVAR(Iosname,	char *)		/* operating system */
+PERLVAR(I, osname,	char *)		/* operating system */
 
-PERLVAR(Isighandlerp,	Sighandler_t)
+PERLVAR(I, sighandlerp,	Sighandler_t)
 
-PERLVARA(Ibody_roots,	PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
+PERLVARA(I, body_roots,	PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
 
-PERLVAR(Iunicode, U32)	/* Unicode features: $ENV{PERL_UNICODE} or -C */
+PERLVAR(I, debug,	VOL U32)	/* flags given to -D switch */
 
-PERLVARI(Imaxo,	int,	MAXO)		/* maximum number of ops */
+PERLVARI(I, maxo,	int,	MAXO)	/* maximum number of ops */
 
-PERLVARI(Irunops,	runops_proc_t,	RUNOPS_DEFAULT)
+PERLVARI(I, runops,	runops_proc_t, RUNOPS_DEFAULT)
 
-/*
-=for apidoc Amn|SV|PL_sv_undef
-This is the C<undef> SV.  Always refer to this as C<&PL_sv_undef>.
+PERLVAR(I, subname,	SV *)		/* name of current subroutine */
 
-=for apidoc Amn|SV|PL_sv_no
-This is the C<false> SV.  See C<PL_sv_yes>.  Always refer to this as
-C<&PL_sv_no>.
+PERLVAR(I, subline,	I32)		/* line this subroutine began on */
+PERLVAR(I, min_intro_pending, I32)	/* start of vars to introduce */
 
-=for apidoc Amn|SV|PL_sv_yes
-This is the C<true> SV.  See C<PL_sv_no>.  Always refer to this as
-C<&PL_sv_yes>.
+PERLVAR(I, max_intro_pending, I32)	/* end of vars to introduce */
+PERLVAR(I, padix,	I32)		/* max used index in current "register" pad */
 
-=cut
-*/
+PERLVAR(I, padix_floor,	I32)		/* how low may inner block reset padix */
 
-PERLVAR(Isv_undef,	SV)
-PERLVAR(Isv_no,		SV)
-PERLVAR(Isv_yes,	SV)
+PERLVAR(I, hints,	U32)		/* pragma-tic compile-time flags */
 
-PERLVAR(Isubname,	SV *)		/* name of current subroutine */
-
-PERLVAR(Isubline,	I32)		/* line this subroutine began on */
-PERLVAR(Imin_intro_pending,	I32)	/* start of vars to introduce */
-
-PERLVAR(Imax_intro_pending,	I32)	/* end of vars to introduce */
-PERLVAR(Ipadix,		I32)		/* max used index in current "register" pad */
-
-PERLVAR(Ipadix_floor,	I32)		/* how low may inner block reset padix */
-
-PERLVAR(Ihints,		U32)		/* pragma-tic compile-time flags */
-
-PERLVAR(Idebug,		VOL U32)	/* flags given to -D switch */
-
-/* Perl_Ibreakable_sub_generation_ptr was too long for VMS, hence "gen"  */
-PERLVARI(Ibreakable_sub_gen, U32, 0)
-
-PERLVARI(Iamagic_generation,	long,	0)
-
 #ifdef USE_LOCALE_COLLATE
-PERLVAR(Icollation_name,char *)		/* Name of current collation */
-PERLVAR(Icollxfrm_base,	Size_t)		/* Basic overhead in *xfrm() */
-PERLVARI(Icollxfrm_mult,Size_t,	2)	/* Expansion factor in *xfrm() */
-PERLVARI(Icollation_ix,	U32,	0)	/* Collation generation index */
-PERLVARI(Icollation_standard, bool,	TRUE)
+PERLVAR(I, collation_name, char *)	/* Name of current collation */
+PERLVAR(I, collxfrm_base, Size_t)	/* Basic overhead in *xfrm() */
+PERLVARI(I, collxfrm_mult,Size_t, 2)	/* Expansion factor in *xfrm() */
+PERLVARI(I, collation_ix, U32,	0)	/* Collation generation index */
+PERLVARI(I, collation_standard, bool, TRUE)
 					/* Assume simple collation */
 #endif /* USE_LOCALE_COLLATE */
 
-
-#if defined (PERL_UTF8_CACHE_ASSERT) || defined (DEBUGGING)
-#  define PERL___I -1
-#else
-#  define PERL___I 1
+#ifdef PERL_SAWAMPERSAND
+PERLVAR(I, sawampersand, U8)		/* must save all match strings */
 #endif
-PERLVARI(Iutf8cache, I8, PERL___I)	/* Is the utf8 caching code enabled? */
-#undef PERL___I
 
+PERLVAR(I, unsafe,	bool)
+PERLVAR(I, colorset,	bool)		/* from regcomp.c */
 
+/* current phase the interpreter is in
+   for ordering this structure to remove holes, we're assuming that this is 4
+   bytes.  */
+PERLVARI(I, phase,	enum perl_phase, PERL_PHASE_CONSTRUCT)
+
+PERLVARI(I, in_load_module, bool, FALSE)	/* to prevent recursions in PerlIO_find_layer */
+
+/* This value may be set when embedding for full cleanup  */
+/* 0=none, 1=full, 2=full with checks */
+/* mod_perl is special, and also assigns a meaning -1 */
+PERLVARI(I, perl_destruct_level, signed char,	0)
+
 #ifdef USE_LOCALE_NUMERIC
 
-PERLVARI(Inumeric_standard,	bool,	TRUE)
+PERLVARI(I, numeric_standard, bool, TRUE)
 					/* Assume simple numerics */
-PERLVARI(Inumeric_local,	bool,	TRUE)
+PERLVARI(I, numeric_local, bool, TRUE)
 					/* Assume local numerics */
-PERLVAR(Inumeric_name,	char *)		/* Name of current numeric locale */
+PERLVAR(I, numeric_name, char *)	/* Name of current numeric locale */
+PERLVAR(I, numeric_radix_sv, SV *)	/* The radix separator if not '.' */
+
 #endif /* !USE_LOCALE_NUMERIC */
 
-/* utf8 character classes */
-PERLVAR(Iutf8_alnum,	SV *)
-PERLVAR(Iutf8_ascii,	SV *)
-PERLVAR(Iutf8_alpha,	SV *)
-PERLVAR(Iutf8_space,	SV *)
-PERLVAR(Iutf8_perl_space,	SV *)
-PERLVAR(Iutf8_perl_word,	SV *)
-PERLVAR(Iutf8_posix_digit,	SV *)
-PERLVAR(Iutf8_cntrl,	SV *)
-PERLVAR(Iutf8_graph,	SV *)
-PERLVAR(Iutf8_digit,	SV *)
-PERLVAR(Iutf8_upper,	SV *)
-PERLVAR(Iutf8_lower,	SV *)
-PERLVAR(Iutf8_print,	SV *)
-PERLVAR(Iutf8_punct,	SV *)
-PERLVAR(Iutf8_xdigit,	SV *)
-PERLVAR(Iutf8_mark,	SV *)
-PERLVAR(Iutf8_X_begin,	SV *)
-PERLVAR(Iutf8_X_extend,	SV *)
-PERLVAR(Iutf8_X_prepend,	SV *)
-PERLVAR(Iutf8_X_non_hangul,	SV *)
-PERLVAR(Iutf8_X_L,	SV *)
-PERLVAR(Iutf8_X_LV,	SV *)
-PERLVAR(Iutf8_X_LVT,	SV *)
-PERLVAR(Iutf8_X_T,	SV *)
-PERLVAR(Iutf8_X_V,	SV *)
-PERLVAR(Iutf8_X_LV_LVT_V,	SV *)
-PERLVAR(Iutf8_toupper,	SV *)
-PERLVAR(Iutf8_totitle,	SV *)
-PERLVAR(Iutf8_tolower,	SV *)
-PERLVAR(Iutf8_tofold,	SV *)
-PERLVAR(Ilast_swash_hv,	HV *)
-PERLVAR(Ilast_swash_tmps,	U8 *)
-PERLVAR(Ilast_swash_slen,	STRLEN)
-PERLVARA(Ilast_swash_key,10,	U8)
-PERLVAR(Ilast_swash_klen,	U8)	/* Only needs to store 0-10  */
+/* Unicode inversion lists */
+PERLVAR(I, ASCII,	SV *)
+PERLVAR(I, Latin1,	SV *)
+PERLVAR(I, AboveLatin1,	SV *)
 
-#ifdef FCRYPT
-PERLVARI(Icryptseen,	bool,	FALSE)	/* has fast crypt() been initialized? */
-#endif
+PERLVAR(I, NonL1NonFinalFold,   SV *)
+PERLVAR(I, HasMultiCharFold,   SV *)
 
-PERLVAR(Ipad_reset_pending,	bool)	/* reset pad on next attempted alloc */
+/* utf8 character class swashes */
+PERLVAR(I, utf8_mark,	SV *)
+PERLVAR(I, utf8_X_regular_begin, SV *)
+PERLVAR(I, utf8_X_extend, SV *)
+PERLVAR(I, utf8_toupper, SV *)
+PERLVAR(I, utf8_totitle, SV *)
+PERLVAR(I, utf8_tolower, SV *)
+PERLVAR(I, utf8_tofold,	SV *)
+PERLVAR(I, utf8_charname_begin, SV *)
+PERLVAR(I, utf8_charname_continue, SV *)
 
-PERLVARI(Iglob_index,	int,	0)
+PERLVARA(I, utf8_swash_ptrs, POSIX_SWASH_COUNT, SV *)
+PERLVARA(I, Posix_ptrs, POSIX_CC_COUNT, SV *)
+PERLVARA(I, L1Posix_ptrs, POSIX_CC_COUNT, SV *)
+PERLVARA(I, XPosix_ptrs, POSIX_CC_COUNT, SV *)
 
+PERLVAR(I, last_swash_hv, HV *)
+PERLVAR(I, last_swash_tmps, U8 *)
+PERLVAR(I, last_swash_slen, STRLEN)
+PERLVARA(I, last_swash_key,UTF8_MAXBYTES-1, U8)
+PERLVAR(I, last_swash_klen, U8)		/* Only needs to store 0-12  */
 
-PERLVAR(Iparser,	yy_parser *)	/* current parser state */
+#ifdef FCRYPT
+PERLVARI(I, cryptseen,	bool,	FALSE)	/* has fast crypt() been initialized? */
+#else
+/* One byte hole in the interpreter structure.  */
+#endif
 
+PERLVAR(I, pad_reset_pending, bool)	/* reset pad on next attempted alloc */
+PERLVAR(I, srand_called, bool)
+
 /* Array of signal handlers, indexed by signal number, through which the C
    signal handler dispatches.  */
-PERLVAR(Ipsig_ptr, SV**)
+PERLVAR(I, psig_ptr,	SV **)
 /* Array of names of signals, indexed by signal number, for (re)use as the first
    argument to a signal handler.   Only one block of memory is allocated for
    both psig_name and psig_ptr.  */
-PERLVAR(Ipsig_name, SV**)		
+PERLVAR(I, psig_name,	SV **)
 
 #if defined(PERL_IMPLICIT_SYS)
-PERLVAR(IMem,		struct IPerlMem*)
-PERLVAR(IMemShared,	struct IPerlMem*)
-PERLVAR(IMemParse,	struct IPerlMem*)
-PERLVAR(IEnv,		struct IPerlEnv*)
-PERLVAR(IStdIO,		struct IPerlStdIO*)
-PERLVAR(ILIO,		struct IPerlLIO*)
-PERLVAR(IDir,		struct IPerlDir*)
-PERLVAR(ISock,		struct IPerlSock*)
-PERLVAR(IProc,		struct IPerlProc*)
+PERLVAR(I, Mem,		struct IPerlMem *)
+PERLVAR(I, MemShared,	struct IPerlMem *)
+PERLVAR(I, MemParse,	struct IPerlMem *)
+PERLVAR(I, Env,		struct IPerlEnv *)
+PERLVAR(I, StdIO,	struct IPerlStdIO *)
+PERLVAR(I, LIO,		struct IPerlLIO *)
+PERLVAR(I, Dir,		struct IPerlDir *)
+PERLVAR(I, Sock,	struct IPerlSock *)
+PERLVAR(I, Proc,	struct IPerlProc *)
 #endif
 
-PERLVAR(Iptr_table,	PTR_TBL_t*)
-PERLVARI(Ibeginav_save, AV*, NULL)	/* save BEGIN{}s when compiling */
+PERLVAR(I, ptr_table,	PTR_TBL_t *)
+PERLVARI(I, beginav_save, AV *, NULL)	/* save BEGIN{}s when compiling */
 
-PERLVAR(Ibody_arenas, void*) /* pointer to list of body-arenas */
+PERLVAR(I, body_arenas, void *)		/* pointer to list of body-arenas */
 
 
-#ifdef USE_LOCALE_NUMERIC
-
-PERLVAR(Inumeric_radix_sv,	SV *)	/* The radix separator if not '.' */
-
-#endif
-
 #if defined(USE_ITHREADS)
-PERLVAR(Iregex_pad,     SV**)		/* Shortcut into the array of
+PERLVAR(I, regex_pad,     SV **)	/* Shortcut into the array of
 					   regex_padav */
-PERLVAR(Iregex_padav,   AV*)		/* All regex objects, indexed via the
+PERLVAR(I, regex_padav,   AV *)		/* All regex objects, indexed via the
 					   values in op_pmoffset of pmop.
 					   Entry 0 is an SV whose PV is a
 					   "packed" list of IVs listing
 					   the now-free slots in the array */
+PERLVAR(I, stashpad,    HV **)		/* for CopSTASH */
+PERLVARI(I, stashpadmax, PADOFFSET, 64)
+PERLVARI(I, stashpadix, PADOFFSET, 0)
 #endif
 
 #ifdef USE_REENTRANT_API
-PERLVAR(Ireentrant_buffer, REENTR*)	/* here we store the _r buffers */
+PERLVAR(I, reentrant_buffer, REENTR *)	/* here we store the _r buffers */
 #endif
 
-PERLVAR(Icustom_op_names, HV*)  /* Names of user defined ops */
-PERLVAR(Icustom_op_descs, HV*)  /* Descriptions of user defined ops */
+PERLVAR(I, custom_op_names, HV *)	/* Names of user defined ops */
+PERLVAR(I, custom_op_descs, HV *)	/* Descriptions of user defined ops */
 
 #ifdef PERLIO_LAYERS
-PERLVARI(Iperlio, PerlIOl *,NULL)
-PERLVARI(Iknown_layers, PerlIO_list_t *,NULL)
-PERLVARI(Idef_layerlist, PerlIO_list_t *,NULL)
+PERLVARI(I, perlio,	PerlIOl *, NULL)
+PERLVARI(I, known_layers, PerlIO_list_t *, NULL)
+PERLVARI(I, def_layerlist, PerlIO_list_t *, NULL)
 #endif
 
-PERLVARI(Iencoding,	SV*, NULL)		/* character encoding */
+PERLVARI(I, encoding,	SV *,	NULL)	/* character encoding */
 
-PERLVAR(Idebug_pad,	struct perl_debug_pad)	/* always needed because of the re extension */
+PERLVAR(I, utf8_idstart, SV *)
+PERLVAR(I, utf8_idcont,	SV *)
+PERLVAR(I, utf8_xidstart, SV *)
+PERLVAR(I, utf8_perl_idstart, SV *)
+PERLVAR(I, utf8_perl_idcont, SV *)
+PERLVAR(I, utf8_xidcont, SV *)
 
-PERLVAR(Iutf8_idstart,	SV *)
-PERLVAR(Iutf8_idcont,	SV *)
-PERLVAR(Iutf8_xidstart,	SV *)
-PERLVAR(Iutf8_xidcont,	SV *)
+PERLVAR(I, sort_RealCmp, SVCOMPARE_t)
 
-PERLVAR(Isort_RealCmp,  SVCOMPARE_t)
+PERLVARI(I, checkav_save, AV *, NULL)	/* save CHECK{}s when compiling */
+PERLVARI(I, unitcheckav_save, AV *, NULL)
+					/* save UNITCHECK{}s when compiling */
 
-PERLVARI(Icheckav_save, AV*, NULL)	/* save CHECK{}s when compiling */
-PERLVARI(Iunitcheckav_save, AV*, NULL)	/* save UNITCHECK{}s when compiling */
+PERLVARI(I, clocktick,	long,	0)	/* this many times() ticks in a second */
 
-PERLVARI(Iclocktick, long, 0)	/* this many times() ticks in a second */
-
-PERLVAR(Isignals, U32)	/* Using which pre-5.8 signals */
-
-PERLVAR(Ireentrant_retint, int)	/* Integer return value from reentrant functions */
-
-PERLVAR(Istashcache,	HV *)		/* Cache to speed up S_method_common */
-
 /* Hooks to shared SVs and locks. */
-PERLVARI(Isharehook,	share_proc_t,	Perl_sv_nosharing)
-PERLVARI(Ilockhook,	share_proc_t,	Perl_sv_nosharing)
+PERLVARI(I, sharehook,	share_proc_t, Perl_sv_nosharing)
+PERLVARI(I, lockhook,	share_proc_t, Perl_sv_nosharing)
 #ifdef NO_MATHOMS
 #  define PERL_UNLOCK_HOOK Perl_sv_nosharing
 #else
@@ -704,93 +698,83 @@
 /* This reference ensures that the mathoms are linked with perl */
 #  define PERL_UNLOCK_HOOK Perl_sv_nounlocking
 #endif
-PERLVARI(Iunlockhook,	share_proc_t,	PERL_UNLOCK_HOOK)
+PERLVARI(I, unlockhook,	share_proc_t, PERL_UNLOCK_HOOK)
 
-PERLVARI(Ithreadhook,	thrhook_proc_t,	Perl_nothreadhook)
+PERLVARI(I, threadhook,	thrhook_proc_t,	Perl_nothreadhook)
 
+/* Can shared object be destroyed */
+PERLVARI(I, destroyhook, destroyable_proc_t, Perl_sv_destroyable)
+
 #ifndef PERL_MICRO
-PERLVARI(Isignalhook,	despatch_signals_proc_t, Perl_despatch_signals)
+PERLVARI(I, signalhook,	despatch_signals_proc_t, Perl_despatch_signals)
 #endif
 
-PERLVARI(Ihash_seed, UV, 0)		/* Hash initializer */
+PERLVARI(I, isarev, HV *, NULL)		/* Reverse map of @ISA dependencies */
 
-PERLVARI(Irehash_seed, UV, 0)		/* 582 hash initializer */
+/* Register of known Method Resolution Orders.
+   What this actually points to is an implementation detail (it may change to
+   a structure incorporating a reference count - use mro_get_from_name to
+   retrieve a C<struct mro_alg *>  */
+PERLVAR(I, registered_mros, HV *)
 
-PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */
+/* Compile-time block start/end hooks */
+PERLVAR(I, blockhooks,	AV *)
 
-/* The last unconditional member of the interpreter structure when 5.10.0 was
+/* Everything that folds to a given character, for case insensitivity regex
+ * matching */
+PERLVARI(I, utf8_foldclosures, HV *, NULL)
+
+/* List of characters that participate in folds (except marks, etc in
+ * multi-char folds) */
+PERLVARI(I, utf8_foldable, SV *, NULL)
+
+PERLVAR(I, custom_ops,	HV *)		/* custom op registrations */
+
+PERLVAR(I, Xpv,		XPV *)		/* (unused) held temporary value */
+
+/* name of the scopes we've ENTERed. Only used with -DDEBUGGING, but needs to be
+   present always, as -DDEBUGGING must be binary compatible with non.  */
+PERLVARI(I, scopestack_name, const char * *, NULL)
+
+PERLVAR(I, debug_pad,	struct perl_debug_pad)	/* always needed because of the re extension */
+
+/* Hook for File::Glob */
+PERLVARI(I, globhook,	globhook_t, NULL)
+
+/* The last unconditional member of the interpreter structure when 5.18.1 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.  */
-#define PERL_LAST_5_10_0_INTERP_MEMBER	Iisarev
+#define PERL_LAST_5_18_0_INTERP_MEMBER	Iglobhook
 
 #ifdef PERL_IMPLICIT_CONTEXT
-PERLVARI(Imy_cxt_size, int, 0)		/* size of PL_my_cxt_list */
-PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
+PERLVARI(I, my_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
+PERLVARI(I, my_cxt_size, int,	0)	/* size of PL_my_cxt_list */
 #  ifdef PERL_GLOBAL_STRUCT_PRIVATE
-PERLVARI(Imy_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
+PERLVARI(I, my_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
 #  endif
 #endif
 
 #ifdef PERL_TRACK_MEMPOOL
 /* For use with the memory debugging code in util.c  */
-PERLVAR(Imemory_debug_header, struct perl_memory_debug_header)
+PERLVAR(I, memory_debug_header, struct perl_memory_debug_header)
 #endif
 
 #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
 /* File descriptor to talk to the child which dumps scalars.  */
-PERLVARI(Idumper_fd, int, -1)
+PERLVARI(I, dumper_fd,	int,	-1)
 #endif
 
-/* Stores the PPID */
-#ifdef THREADS_HAVE_PIDS
-PERLVARI(Ippid,		IV,		0)
-#endif
-
 #ifdef PERL_MAD
-PERLVARI(Imadskills,	bool, FALSE)	/* preserve all syntactic info */
+PERLVARI(I, madskills,	bool,	FALSE)	/* preserve all syntactic info */
 					/* (MAD = Misc Attribute Decoration) */
-PERLVARI(Ixmlfp, PerlIO *,NULL)
+PERLVARI(I, xmlfp,	PerlIO *, NULL)
 #endif
 
-#ifdef PL_OP_SLAB_ALLOC
-PERLVAR(IOpPtr,I32 **)
-PERLVARI(IOpSpace,I32,0)
-PERLVAR(IOpSlab,I32 *)
-#endif
-
-#ifdef PERL_DEBUG_READONLY_OPS
-PERLVARI(Islabs, I32**, NULL)	/* Array of slabs that have been allocated */
-PERLVARI(Islab_count, U32, 0)	/* Size of the array */
-#endif
-
-/* Can shared object be destroyed */
-PERLVARI(Idestroyhook, destroyable_proc_t, Perl_sv_destroyable)
-
 #ifdef DEBUG_LEAKING_SCALARS
-PERLVARI(Isv_serial, U32, 0) /* SV serial number, used in sv.c */
+PERLVARI(I, sv_serial,	U32,	0)	/* SV serial number, used in sv.c */
 #endif
 
-/* Register of known Method Resolution Orders.
-   What this actually points to is an implementation detail (it may change to
-   a structure incorporating a reference count - use mro_get_from_name to
-   retrieve a C<struct mro_alg *>  */
-PERLVAR(Iregistered_mros, HV *)
-
-/* Compile-time block start/end hooks */
-PERLVAR(Iblockhooks, AV *)
-
-
-/* Everything that folds to a given character, for case insensitivity regex
- * matching */
-PERLVARI(Iutf8_foldclosures,	HV *, NULL)
-
-/* List of characters that participate in folds (except marks, etc in
- * multi-char folds) */
-PERLVARI(Iutf8_foldable,	HV *, NULL)
-
-PERLVAR(Icustom_ops, HV *)      /* custom op registrations */
-
 /* If you are adding a U8 or U16, check to see if there are 'Space' comments
  * above on where there are gaps which currently will be structure padding.  */
 


Property changes on: vendor/perl/dist/intrpvar.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/iperlsys.h
===================================================================
--- vendor/perl/dist/iperlsys.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/iperlsys.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1416,8 +1416,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/iperlsys.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/keywords.c
===================================================================
--- vendor/perl/dist/keywords.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/keywords.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,7 @@
 #define PERL_IN_KEYWORDS_C
 #include "perl.h"
 #include "keywords.h"
+#include "feature.h"
 
 I32
 Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords)
@@ -50,7 +51,7 @@
           goto unknown;
       }
 
-    case 2: /* 18 tokens of length 2 */
+    case 2: /* 19 tokens of length 2 */
       switch (name[0])
       {
         case 'd':
@@ -69,6 +70,14 @@
 
           goto unknown;
 
+        case 'f':
+          if (name[1] == 'c')
+          {                                       /* fc               */
+            return (all_keywords || FEATURE_FC_IS_ENABLED ? -KEY_fc : 0);
+          }
+
+          goto unknown;
+
         case 'g':
           switch (name[1])
           {
@@ -416,7 +425,7 @@
             case 'a':
               if (name[2] == 'y')
               {                                   /* say              */
-                return (all_keywords || FEATURE_IS_ENABLED("say") ? KEY_say : 0);
+                return (all_keywords || FEATURE_SAY_IS_ENABLED ? KEY_say : 0);
               }
 
               goto unknown;
@@ -940,7 +949,7 @@
               if (name[2] == 'e' &&
                   name[3] == 'n')
               {                                   /* when             */
-                return (all_keywords || FEATURE_IS_ENABLED("switch") ? KEY_when : 0);
+                return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_when : 0);
               }
 
               goto unknown;
@@ -1023,7 +1032,7 @@
                   name[3] == 'a' &&
                   name[4] == 'k')
               {                                   /* break            */
-                return (all_keywords || FEATURE_IS_ENABLED("switch") ? -KEY_break : 0);
+                return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? -KEY_break : 0);
               }
 
               goto unknown;
@@ -1151,7 +1160,7 @@
               name[3] == 'e' &&
               name[4] == 'n')
           {                                       /* given            */
-            return (all_keywords || FEATURE_IS_ENABLED("switch") ? KEY_given : 0);
+            return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_given : 0);
           }
 
           goto unknown;
@@ -1319,7 +1328,7 @@
                   if (name[3] == 't' &&
                       name[4] == 'e')
                   {                               /* state            */
-                    return (all_keywords || FEATURE_IS_ENABLED("state") ? KEY_state : 0);
+                    return (all_keywords || FEATURE_STATE_IS_ENABLED ? KEY_state : 0);
                   }
 
                   goto unknown;
@@ -1906,7 +1915,7 @@
           goto unknown;
       }
 
-    case 7: /* 29 tokens of length 7 */
+    case 7: /* 30 tokens of length 7 */
       switch (name[0])
       {
         case 'D':
@@ -1923,14 +1932,35 @@
           goto unknown;
 
         case '_':
-          if (name[1] == '_' &&
-              name[2] == 'E' &&
-              name[3] == 'N' &&
-              name[4] == 'D' &&
-              name[5] == '_' &&
-              name[6] == '_')
-          {                                       /* __END__          */
-            return KEY___END__;
+          if (name[1] == '_')
+          {
+            switch (name[2])
+            {
+              case 'E':
+                if (name[3] == 'N' &&
+                    name[4] == 'D' &&
+                    name[5] == '_' &&
+                    name[6] == '_')
+                {                                 /* __END__          */
+                  return KEY___END__;
+                }
+
+                goto unknown;
+
+              case 'S':
+                if (name[3] == 'U' &&
+                    name[4] == 'B' &&
+                    name[5] == '_' &&
+                    name[6] == '_')
+                {                                 /* __SUB__          */
+                  return (all_keywords || FEATURE___SUB___IS_ENABLED ? -KEY___SUB__ : 0);
+                }
+
+                goto unknown;
+
+              default:
+                goto unknown;
+            }
           }
 
           goto unknown;
@@ -1986,7 +2016,7 @@
                         name[5] == 'l' &&
                         name[6] == 't')
                     {                             /* default          */
-                      return (all_keywords || FEATURE_IS_ENABLED("switch") ? KEY_default : 0);
+                      return (all_keywords || FEATURE_SWITCH_IS_ENABLED ? KEY_default : 0);
                     }
 
                     goto unknown;
@@ -2740,7 +2770,7 @@
           goto unknown;
       }
 
-    case 9: /* 9 tokens of length 9 */
+    case 9: /* 10 tokens of length 9 */
       switch (name[0])
       {
         case 'U':
@@ -2759,20 +2789,40 @@
           goto unknown;
 
         case 'e':
-          if (name[1] == 'n' &&
-              name[2] == 'd' &&
-              name[3] == 'n' &&
-              name[4] == 'e' &&
-              name[5] == 't' &&
-              name[6] == 'e' &&
-              name[7] == 'n' &&
-              name[8] == 't')
-          {                                       /* endnetent        */
-            return -KEY_endnetent;
+          switch (name[1])
+          {
+            case 'n':
+              if (name[2] == 'd' &&
+                  name[3] == 'n' &&
+                  name[4] == 'e' &&
+                  name[5] == 't' &&
+                  name[6] == 'e' &&
+                  name[7] == 'n' &&
+                  name[8] == 't')
+              {                                   /* endnetent        */
+                return -KEY_endnetent;
+              }
+
+              goto unknown;
+
+            case 'v':
+              if (name[2] == 'a' &&
+                  name[3] == 'l' &&
+                  name[4] == 'b' &&
+                  name[5] == 'y' &&
+                  name[6] == 't' &&
+                  name[7] == 'e' &&
+                  name[8] == 's')
+              {                                   /* evalbytes        */
+                return (all_keywords || FEATURE_EVALBYTES_IS_ENABLED ? -KEY_evalbytes : 0);
+              }
+
+              goto unknown;
+
+            default:
+              goto unknown;
           }
 
-          goto unknown;
-
         case 'g':
           if (name[1] == 'e' &&
               name[2] == 't' &&
@@ -3399,5 +3449,5 @@
 }
 
 /* Generated from:
- * 28d95638560707fb8bee100dab74c90107c3e000f635e3bd310d4e2501d3b073 regen/keywords.pl
+ * e5a540774760ea54c761ef17ee4a153cc264e9a700b817d561e390730c457406 regen/keywords.pl
  * ex: set ro: */


Property changes on: vendor/perl/dist/keywords.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/keywords.h
===================================================================
--- vendor/perl/dist/keywords.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/keywords.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,254 +19,257 @@
 #define KEY___PACKAGE__		3
 #define KEY___DATA__		4
 #define KEY___END__		5
-#define KEY_AUTOLOAD		6
-#define KEY_BEGIN		7
-#define KEY_UNITCHECK		8
-#define KEY_CORE		9
-#define KEY_DESTROY		10
-#define KEY_END			11
-#define KEY_INIT		12
-#define KEY_CHECK		13
-#define KEY_abs			14
-#define KEY_accept		15
-#define KEY_alarm		16
-#define KEY_and			17
-#define KEY_atan2		18
-#define KEY_bind		19
-#define KEY_binmode		20
-#define KEY_bless		21
-#define KEY_break		22
-#define KEY_caller		23
-#define KEY_chdir		24
-#define KEY_chmod		25
-#define KEY_chomp		26
-#define KEY_chop		27
-#define KEY_chown		28
-#define KEY_chr			29
-#define KEY_chroot		30
-#define KEY_close		31
-#define KEY_closedir		32
-#define KEY_cmp			33
-#define KEY_connect		34
-#define KEY_continue		35
-#define KEY_cos			36
-#define KEY_crypt		37
-#define KEY_dbmclose		38
-#define KEY_dbmopen		39
-#define KEY_default		40
-#define KEY_defined		41
-#define KEY_delete		42
-#define KEY_die			43
-#define KEY_do			44
-#define KEY_dump		45
-#define KEY_each		46
-#define KEY_else		47
-#define KEY_elsif		48
-#define KEY_endgrent		49
-#define KEY_endhostent		50
-#define KEY_endnetent		51
-#define KEY_endprotoent		52
-#define KEY_endpwent		53
-#define KEY_endservent		54
-#define KEY_eof			55
-#define KEY_eq			56
-#define KEY_eval		57
-#define KEY_exec		58
-#define KEY_exists		59
-#define KEY_exit		60
-#define KEY_exp			61
-#define KEY_fcntl		62
-#define KEY_fileno		63
-#define KEY_flock		64
-#define KEY_for			65
-#define KEY_foreach		66
-#define KEY_fork		67
-#define KEY_format		68
-#define KEY_formline		69
-#define KEY_ge			70
-#define KEY_getc		71
-#define KEY_getgrent		72
-#define KEY_getgrgid		73
-#define KEY_getgrnam		74
-#define KEY_gethostbyaddr	75
-#define KEY_gethostbyname	76
-#define KEY_gethostent		77
-#define KEY_getlogin		78
-#define KEY_getnetbyaddr	79
-#define KEY_getnetbyname	80
-#define KEY_getnetent		81
-#define KEY_getpeername		82
-#define KEY_getpgrp		83
-#define KEY_getppid		84
-#define KEY_getpriority		85
-#define KEY_getprotobyname	86
-#define KEY_getprotobynumber	87
-#define KEY_getprotoent		88
-#define KEY_getpwent		89
-#define KEY_getpwnam		90
-#define KEY_getpwuid		91
-#define KEY_getservbyname	92
-#define KEY_getservbyport	93
-#define KEY_getservent		94
-#define KEY_getsockname		95
-#define KEY_getsockopt		96
-#define KEY_given		97
-#define KEY_glob		98
-#define KEY_gmtime		99
-#define KEY_goto		100
-#define KEY_grep		101
-#define KEY_gt			102
-#define KEY_hex			103
-#define KEY_if			104
-#define KEY_index		105
-#define KEY_int			106
-#define KEY_ioctl		107
-#define KEY_join		108
-#define KEY_keys		109
-#define KEY_kill		110
-#define KEY_last		111
-#define KEY_lc			112
-#define KEY_lcfirst		113
-#define KEY_le			114
-#define KEY_length		115
-#define KEY_link		116
-#define KEY_listen		117
-#define KEY_local		118
-#define KEY_localtime		119
-#define KEY_lock		120
-#define KEY_log			121
-#define KEY_lstat		122
-#define KEY_lt			123
-#define KEY_m			124
-#define KEY_map			125
-#define KEY_mkdir		126
-#define KEY_msgctl		127
-#define KEY_msgget		128
-#define KEY_msgrcv		129
-#define KEY_msgsnd		130
-#define KEY_my			131
-#define KEY_ne			132
-#define KEY_next		133
-#define KEY_no			134
-#define KEY_not			135
-#define KEY_oct			136
-#define KEY_open		137
-#define KEY_opendir		138
-#define KEY_or			139
-#define KEY_ord			140
-#define KEY_our			141
-#define KEY_pack		142
-#define KEY_package		143
-#define KEY_pipe		144
-#define KEY_pop			145
-#define KEY_pos			146
-#define KEY_print		147
-#define KEY_printf		148
-#define KEY_prototype		149
-#define KEY_push		150
-#define KEY_q			151
-#define KEY_qq			152
-#define KEY_qr			153
-#define KEY_quotemeta		154
-#define KEY_qw			155
-#define KEY_qx			156
-#define KEY_rand		157
-#define KEY_read		158
-#define KEY_readdir		159
-#define KEY_readline		160
-#define KEY_readlink		161
-#define KEY_readpipe		162
-#define KEY_recv		163
-#define KEY_redo		164
-#define KEY_ref			165
-#define KEY_rename		166
-#define KEY_require		167
-#define KEY_reset		168
-#define KEY_return		169
-#define KEY_reverse		170
-#define KEY_rewinddir		171
-#define KEY_rindex		172
-#define KEY_rmdir		173
-#define KEY_s			174
-#define KEY_say			175
-#define KEY_scalar		176
-#define KEY_seek		177
-#define KEY_seekdir		178
-#define KEY_select		179
-#define KEY_semctl		180
-#define KEY_semget		181
-#define KEY_semop		182
-#define KEY_send		183
-#define KEY_setgrent		184
-#define KEY_sethostent		185
-#define KEY_setnetent		186
-#define KEY_setpgrp		187
-#define KEY_setpriority		188
-#define KEY_setprotoent		189
-#define KEY_setpwent		190
-#define KEY_setservent		191
-#define KEY_setsockopt		192
-#define KEY_shift		193
-#define KEY_shmctl		194
-#define KEY_shmget		195
-#define KEY_shmread		196
-#define KEY_shmwrite		197
-#define KEY_shutdown		198
-#define KEY_sin			199
-#define KEY_sleep		200
-#define KEY_socket		201
-#define KEY_socketpair		202
-#define KEY_sort		203
-#define KEY_splice		204
-#define KEY_split		205
-#define KEY_sprintf		206
-#define KEY_sqrt		207
-#define KEY_srand		208
-#define KEY_stat		209
-#define KEY_state		210
-#define KEY_study		211
-#define KEY_sub			212
-#define KEY_substr		213
-#define KEY_symlink		214
-#define KEY_syscall		215
-#define KEY_sysopen		216
-#define KEY_sysread		217
-#define KEY_sysseek		218
-#define KEY_system		219
-#define KEY_syswrite		220
-#define KEY_tell		221
-#define KEY_telldir		222
-#define KEY_tie			223
-#define KEY_tied		224
-#define KEY_time		225
-#define KEY_times		226
-#define KEY_tr			227
-#define KEY_truncate		228
-#define KEY_uc			229
-#define KEY_ucfirst		230
-#define KEY_umask		231
-#define KEY_undef		232
-#define KEY_unless		233
-#define KEY_unlink		234
-#define KEY_unpack		235
-#define KEY_unshift		236
-#define KEY_untie		237
-#define KEY_until		238
-#define KEY_use			239
-#define KEY_utime		240
-#define KEY_values		241
-#define KEY_vec			242
-#define KEY_wait		243
-#define KEY_waitpid		244
-#define KEY_wantarray		245
-#define KEY_warn		246
-#define KEY_when		247
-#define KEY_while		248
-#define KEY_write		249
-#define KEY_x			250
-#define KEY_xor			251
-#define KEY_y			252
+#define KEY___SUB__		6
+#define KEY_AUTOLOAD		7
+#define KEY_BEGIN		8
+#define KEY_UNITCHECK		9
+#define KEY_CORE		10
+#define KEY_DESTROY		11
+#define KEY_END			12
+#define KEY_INIT		13
+#define KEY_CHECK		14
+#define KEY_abs			15
+#define KEY_accept		16
+#define KEY_alarm		17
+#define KEY_and			18
+#define KEY_atan2		19
+#define KEY_bind		20
+#define KEY_binmode		21
+#define KEY_bless		22
+#define KEY_break		23
+#define KEY_caller		24
+#define KEY_chdir		25
+#define KEY_chmod		26
+#define KEY_chomp		27
+#define KEY_chop		28
+#define KEY_chown		29
+#define KEY_chr			30
+#define KEY_chroot		31
+#define KEY_close		32
+#define KEY_closedir		33
+#define KEY_cmp			34
+#define KEY_connect		35
+#define KEY_continue		36
+#define KEY_cos			37
+#define KEY_crypt		38
+#define KEY_dbmclose		39
+#define KEY_dbmopen		40
+#define KEY_default		41
+#define KEY_defined		42
+#define KEY_delete		43
+#define KEY_die			44
+#define KEY_do			45
+#define KEY_dump		46
+#define KEY_each		47
+#define KEY_else		48
+#define KEY_elsif		49
+#define KEY_endgrent		50
+#define KEY_endhostent		51
+#define KEY_endnetent		52
+#define KEY_endprotoent		53
+#define KEY_endpwent		54
+#define KEY_endservent		55
+#define KEY_eof			56
+#define KEY_eq			57
+#define KEY_eval		58
+#define KEY_evalbytes		59
+#define KEY_exec		60
+#define KEY_exists		61
+#define KEY_exit		62
+#define KEY_exp			63
+#define KEY_fc			64
+#define KEY_fcntl		65
+#define KEY_fileno		66
+#define KEY_flock		67
+#define KEY_for			68
+#define KEY_foreach		69
+#define KEY_fork		70
+#define KEY_format		71
+#define KEY_formline		72
+#define KEY_ge			73
+#define KEY_getc		74
+#define KEY_getgrent		75
+#define KEY_getgrgid		76
+#define KEY_getgrnam		77
+#define KEY_gethostbyaddr	78
+#define KEY_gethostbyname	79
+#define KEY_gethostent		80
+#define KEY_getlogin		81
+#define KEY_getnetbyaddr	82
+#define KEY_getnetbyname	83
+#define KEY_getnetent		84
+#define KEY_getpeername		85
+#define KEY_getpgrp		86
+#define KEY_getppid		87
+#define KEY_getpriority		88
+#define KEY_getprotobyname	89
+#define KEY_getprotobynumber	90
+#define KEY_getprotoent		91
+#define KEY_getpwent		92
+#define KEY_getpwnam		93
+#define KEY_getpwuid		94
+#define KEY_getservbyname	95
+#define KEY_getservbyport	96
+#define KEY_getservent		97
+#define KEY_getsockname		98
+#define KEY_getsockopt		99
+#define KEY_given		100
+#define KEY_glob		101
+#define KEY_gmtime		102
+#define KEY_goto		103
+#define KEY_grep		104
+#define KEY_gt			105
+#define KEY_hex			106
+#define KEY_if			107
+#define KEY_index		108
+#define KEY_int			109
+#define KEY_ioctl		110
+#define KEY_join		111
+#define KEY_keys		112
+#define KEY_kill		113
+#define KEY_last		114
+#define KEY_lc			115
+#define KEY_lcfirst		116
+#define KEY_le			117
+#define KEY_length		118
+#define KEY_link		119
+#define KEY_listen		120
+#define KEY_local		121
+#define KEY_localtime		122
+#define KEY_lock		123
+#define KEY_log			124
+#define KEY_lstat		125
+#define KEY_lt			126
+#define KEY_m			127
+#define KEY_map			128
+#define KEY_mkdir		129
+#define KEY_msgctl		130
+#define KEY_msgget		131
+#define KEY_msgrcv		132
+#define KEY_msgsnd		133
+#define KEY_my			134
+#define KEY_ne			135
+#define KEY_next		136
+#define KEY_no			137
+#define KEY_not			138
+#define KEY_oct			139
+#define KEY_open		140
+#define KEY_opendir		141
+#define KEY_or			142
+#define KEY_ord			143
+#define KEY_our			144
+#define KEY_pack		145
+#define KEY_package		146
+#define KEY_pipe		147
+#define KEY_pop			148
+#define KEY_pos			149
+#define KEY_print		150
+#define KEY_printf		151
+#define KEY_prototype		152
+#define KEY_push		153
+#define KEY_q			154
+#define KEY_qq			155
+#define KEY_qr			156
+#define KEY_quotemeta		157
+#define KEY_qw			158
+#define KEY_qx			159
+#define KEY_rand		160
+#define KEY_read		161
+#define KEY_readdir		162
+#define KEY_readline		163
+#define KEY_readlink		164
+#define KEY_readpipe		165
+#define KEY_recv		166
+#define KEY_redo		167
+#define KEY_ref			168
+#define KEY_rename		169
+#define KEY_require		170
+#define KEY_reset		171
+#define KEY_return		172
+#define KEY_reverse		173
+#define KEY_rewinddir		174
+#define KEY_rindex		175
+#define KEY_rmdir		176
+#define KEY_s			177
+#define KEY_say			178
+#define KEY_scalar		179
+#define KEY_seek		180
+#define KEY_seekdir		181
+#define KEY_select		182
+#define KEY_semctl		183
+#define KEY_semget		184
+#define KEY_semop		185
+#define KEY_send		186
+#define KEY_setgrent		187
+#define KEY_sethostent		188
+#define KEY_setnetent		189
+#define KEY_setpgrp		190
+#define KEY_setpriority		191
+#define KEY_setprotoent		192
+#define KEY_setpwent		193
+#define KEY_setservent		194
+#define KEY_setsockopt		195
+#define KEY_shift		196
+#define KEY_shmctl		197
+#define KEY_shmget		198
+#define KEY_shmread		199
+#define KEY_shmwrite		200
+#define KEY_shutdown		201
+#define KEY_sin			202
+#define KEY_sleep		203
+#define KEY_socket		204
+#define KEY_socketpair		205
+#define KEY_sort		206
+#define KEY_splice		207
+#define KEY_split		208
+#define KEY_sprintf		209
+#define KEY_sqrt		210
+#define KEY_srand		211
+#define KEY_stat		212
+#define KEY_state		213
+#define KEY_study		214
+#define KEY_sub			215
+#define KEY_substr		216
+#define KEY_symlink		217
+#define KEY_syscall		218
+#define KEY_sysopen		219
+#define KEY_sysread		220
+#define KEY_sysseek		221
+#define KEY_system		222
+#define KEY_syswrite		223
+#define KEY_tell		224
+#define KEY_telldir		225
+#define KEY_tie			226
+#define KEY_tied		227
+#define KEY_time		228
+#define KEY_times		229
+#define KEY_tr			230
+#define KEY_truncate		231
+#define KEY_uc			232
+#define KEY_ucfirst		233
+#define KEY_umask		234
+#define KEY_undef		235
+#define KEY_unless		236
+#define KEY_unlink		237
+#define KEY_unpack		238
+#define KEY_unshift		239
+#define KEY_untie		240
+#define KEY_until		241
+#define KEY_use			242
+#define KEY_utime		243
+#define KEY_values		244
+#define KEY_vec			245
+#define KEY_wait		246
+#define KEY_waitpid		247
+#define KEY_wantarray		248
+#define KEY_warn		249
+#define KEY_when		250
+#define KEY_while		251
+#define KEY_write		252
+#define KEY_x			253
+#define KEY_xor			254
+#define KEY_y			255
 
 /* Generated from:
- * 28d95638560707fb8bee100dab74c90107c3e000f635e3bd310d4e2501d3b073 regen/keywords.pl
+ * e5a540774760ea54c761ef17ee4a153cc264e9a700b817d561e390730c457406 regen/keywords.pl
  * ex: set ro: */


Property changes on: vendor/perl/dist/keywords.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Deleted: vendor/perl/dist/keywords.pl
===================================================================
--- vendor/perl/dist/keywords.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/keywords.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,315 +0,0 @@
-#!/usr/bin/perl -w
-# 
-# Regenerate (overwriting only if changed):
-#
-#    keywords.h
-#
-# from information stored in the DATA section of this file.
-#
-# Accepts the standard regen_lib -q and -v args.
-#
-# This script is normally invoked from regen.pl.
-
-use strict;
-
-require 'regen_lib.pl';
-
-my $kw = safer_open("keywords.h-new");
-select $kw;
-
-print <<EOM;
-/* -*- buffer-read-only: t -*-
- *
- *    keywords.h
- *
- *    Copyright (C) 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2005,
- *    2006, 2007, by Larry Wall and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
- *  This file is built by keywords.pl from its data.  Any changes made here
- *  will be lost!
- */
-EOM
-
-# Read & print data.
-
-my $keynum = 0;
-while (<DATA>) {
-    chop;
-    next unless $_;
-    next if /^#/;
-    my ($keyword) = split;
-    print &tab(5, "#define KEY_$keyword"), $keynum++, "\n";
-}
-
-print $kw "\n/* ex: set ro: */\n";
-
-safer_close($kw);
-
-rename_if_different("keywords.h-new", "keywords.h");
-
-###########################################################################
-sub tab {
-    my ($l, $t) = @_;
-    $t .= "\t" x ($l - (length($t) + 1) / 8);
-    $t;
-}
-###########################################################################
-__END__
-
-NULL
-__FILE__
-__LINE__
-__PACKAGE__
-__DATA__
-__END__
-AUTOLOAD
-BEGIN
-UNITCHECK
-CORE
-DESTROY
-END
-INIT
-CHECK
-abs
-accept
-alarm
-and
-atan2
-bind
-binmode
-bless
-break
-caller
-chdir
-chmod
-chomp
-chop
-chown
-chr
-chroot
-close
-closedir
-cmp
-connect
-continue
-cos
-crypt
-dbmclose
-dbmopen
-default
-defined
-delete
-die
-do
-dump
-each
-else
-elsif
-endgrent
-endhostent
-endnetent
-endprotoent
-endpwent
-endservent
-eof
-eq
-eval
-exec
-exists
-exit
-exp
-fcntl
-fileno
-flock
-for
-foreach
-fork
-format
-formline
-ge
-getc
-getgrent
-getgrgid
-getgrnam
-gethostbyaddr
-gethostbyname
-gethostent
-getlogin
-getnetbyaddr
-getnetbyname
-getnetent
-getpeername
-getpgrp
-getppid
-getpriority
-getprotobyname
-getprotobynumber
-getprotoent
-getpwent
-getpwnam
-getpwuid
-getservbyname
-getservbyport
-getservent
-getsockname
-getsockopt
-given
-glob
-gmtime
-goto
-grep
-gt
-hex
-if
-index
-int
-ioctl
-join
-keys
-kill
-last
-lc
-lcfirst
-le
-length
-link
-listen
-local
-localtime
-lock
-log
-lstat
-lt
-m
-map
-mkdir
-msgctl
-msgget
-msgrcv
-msgsnd
-my
-ne
-next
-no
-not
-oct
-open
-opendir
-or
-ord
-our
-pack
-package
-pipe
-pop
-pos
-print
-printf
-prototype
-push
-q
-qq
-qr
-quotemeta
-qw
-qx
-rand
-read
-readdir
-readline
-readlink
-readpipe
-recv
-redo
-ref
-rename
-require
-reset
-return
-reverse
-rewinddir
-rindex
-rmdir
-s
-say
-scalar
-seek
-seekdir
-select
-semctl
-semget
-semop
-send
-setgrent
-sethostent
-setnetent
-setpgrp
-setpriority
-setprotoent
-setpwent
-setservent
-setsockopt
-shift
-shmctl
-shmget
-shmread
-shmwrite
-shutdown
-sin
-sleep
-socket
-socketpair
-sort
-splice
-split
-sprintf
-sqrt
-srand
-stat
-state
-study
-sub
-substr
-symlink
-syscall
-sysopen
-sysread
-sysseek
-system
-syswrite
-tell
-telldir
-tie
-tied
-time
-times
-tr
-truncate
-uc
-ucfirst
-umask
-undef
-unless
-unlink
-unpack
-unshift
-untie
-until
-use
-utime
-values
-vec
-wait
-waitpid
-wantarray
-warn
-when
-while
-write
-x
-xor
-y

Modified: vendor/perl/dist/l1_char_class_tab.h
===================================================================
--- vendor/perl/dist/l1_char_class_tab.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/l1_char_class_tab.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,265 +1,264 @@
 /* -*- buffer-read-only: t -*-
  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
- * This file is built by regen/mk_PL_charclass.pl from
- * lib/unicore/CaseFolding.txt.
+ * This file is built by regen/mk_PL_charclass.pl from property definitions.
  * Any changes made here will be lost!
  */
 
-/* U+00 NUL */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+01 SOH */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+02 STX */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+03 ETX */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+04 EOT */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+05 ENQ */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+06 ACK */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+07 BEL */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+08 BS */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+09 HT */ _CC_BLANK_A|_CC_BLANK_L1|_CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+0A LF */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+0B VT */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1,
-/* U+0C FF */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+0D CR */ _CC_CNTRL_A|_CC_CNTRL_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+0E SO */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+0F SI */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+10 DLE */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+11 DC1 */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+12 DC2 */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+13 DC3 */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+14 DC4 */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+15 NAK */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+16 SYN */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+17 ETB */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+18 CAN */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+19 EOM */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1A SUB */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1B ESC */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1C FS */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1D GS */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1E RS */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+1F US */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+20 SPACE */ _CC_BLANK_A|_CC_BLANK_L1|_CC_CHARNAME_CONT|_CC_PRINT_A|_CC_PRINT_L1|_CC_PSXSPC_A|_CC_PSXSPC_L1|_CC_SPACE_A|_CC_SPACE_L1,
-/* U+21 '!' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+22 '"' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+23 '#' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+24 '$' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+25 '%' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+26 '&' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+27 ''' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+28 '(' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+29 ')' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2A '*' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2B '+' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2C ',' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2D '-' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2E '.' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+2F '/' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+30 '0' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+31 '1' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+32 '2' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+33 '3' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+34 '4' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+35 '5' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+36 '6' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+37 '7' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_OCTAL_A|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+38 '8' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+39 '9' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_CHARNAME_CONT|_CC_DIGIT_A|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+3A ':' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3B ';' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3C '<' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3D '=' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3E '>' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+3F '?' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+40 '@' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+41 'A' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+42 'B' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+43 'C' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+44 'D' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+45 'E' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+46 'F' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+47 'G' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+48 'H' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+49 'I' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+4A 'J' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+4B 'K' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+4C 'L' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+4D 'M' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+4E 'N' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+4F 'O' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+50 'P' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+51 'Q' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+52 'R' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+53 'S' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+54 'T' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+55 'U' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+56 'V' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+57 'W' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+58 'X' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+59 'Y' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+5A 'Z' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_UPPER_A|_CC_UPPER_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+5B '[' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+5C '\' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+5D ']' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+5E '^' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+5F '_' */ _CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+60 '`' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+61 'a' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+62 'b' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+63 'c' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+64 'd' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+65 'e' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+66 'f' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1|_CC_XDIGIT_A,
-/* U+67 'g' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+68 'h' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+69 'i' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+6A 'j' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+6B 'k' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+6C 'l' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+6D 'm' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+6E 'n' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+6F 'o' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+70 'p' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+71 'q' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+72 'r' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+73 's' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+74 't' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+75 'u' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+76 'v' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+77 'w' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+78 'x' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+79 'y' */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+7A 'z' */ _CC_ALNUMC_A|_CC_ALNUMC_L1|_CC_ALPHA_A|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_A|_CC_GRAPH_L1|_CC_IDFIRST_A|_CC_IDFIRST_L1|_CC_LOWER_A|_CC_LOWER_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_WORDCHAR_A|_CC_WORDCHAR_L1,
-/* U+7B '{' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+7C '|' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+7D '}' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+7E '~' */ _CC_GRAPH_A|_CC_GRAPH_L1|_CC_PRINT_A|_CC_PRINT_L1|_CC_PUNCT_A|_CC_PUNCT_L1,
-/* U+7F DEL */ _CC_CNTRL_A|_CC_CNTRL_L1,
-/* U+80 PAD */ _CC_CNTRL_L1,
-/* U+81 HOP */ _CC_CNTRL_L1,
-/* U+82 BPH */ _CC_CNTRL_L1,
-/* U+83 NBH */ _CC_CNTRL_L1,
-/* U+84 IND */ _CC_CNTRL_L1,
-/* U+85 NEL */ _CC_CNTRL_L1|_CC_PSXSPC_L1|_CC_SPACE_L1,
-/* U+86 SSA */ _CC_CNTRL_L1,
-/* U+87 ESA */ _CC_CNTRL_L1,
-/* U+88 HTS */ _CC_CNTRL_L1,
-/* U+89 HTJ */ _CC_CNTRL_L1,
-/* U+8A VTS */ _CC_CNTRL_L1,
-/* U+8B PLD */ _CC_CNTRL_L1,
-/* U+8C PLU */ _CC_CNTRL_L1,
-/* U+8D RI */ _CC_CNTRL_L1,
-/* U+8E SS2 */ _CC_CNTRL_L1,
-/* U+8F SS3 */ _CC_CNTRL_L1,
-/* U+90 DCS */ _CC_CNTRL_L1,
-/* U+91 PU1 */ _CC_CNTRL_L1,
-/* U+92 PU2 */ _CC_CNTRL_L1,
-/* U+93 STS */ _CC_CNTRL_L1,
-/* U+94 CCH */ _CC_CNTRL_L1,
-/* U+95 MW */ _CC_CNTRL_L1,
-/* U+96 SPA */ _CC_CNTRL_L1,
-/* U+97 EPA */ _CC_CNTRL_L1,
-/* U+98 SOS */ _CC_CNTRL_L1,
-/* U+99 SGC */ _CC_CNTRL_L1,
-/* U+9A SCI */ _CC_CNTRL_L1,
-/* U+9B CSI */ _CC_CNTRL_L1,
-/* U+9C ST */ _CC_CNTRL_L1,
-/* U+9D OSC */ _CC_CNTRL_L1,
-/* U+9E PM */ _CC_CNTRL_L1,
-/* U+9F APC */ _CC_CNTRL_L1,
-/* U+A0 NO-BREAK SPACE */ _CC_BLANK_L1|_CC_CHARNAME_CONT|_CC_PRINT_L1|_CC_PSXSPC_L1|_CC_SPACE_L1,
-/* U+A1 INVERTED EXCLAMATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
-/* U+A2 CENT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A3 POUND SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A4 CURRENCY SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A5 YEN SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A6 BROKEN BAR */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A7 SECTION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A8 DIAERESIS */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+A9 COPYRIGHT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+AA FEMININE ORDINAL INDICATOR */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
-/* U+AC NOT SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+AD SOFT HYPHEN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+AE REGISTERED SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+AF MACRON */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B0 DEGREE SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B1 PLUS-MINUS SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B2 SUPERSCRIPT TWO */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B3 SUPERSCRIPT THREE */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B4 ACUTE ACCENT */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B5 MICRO SIGN */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+B6 PILCROW SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B7 MIDDLE DOT */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
-/* U+B8 CEDILLA */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+B9 SUPERSCRIPT ONE */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+BA MASCULINE ORDINAL INDICATOR */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
-/* U+BC VULGAR FRACTION ONE QUARTER */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+BD VULGAR FRACTION ONE HALF */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+BE VULGAR FRACTION THREE QUARTERS */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+BF INVERTED QUESTION MARK */ _CC_GRAPH_L1|_CC_PRINT_L1|_CC_PUNCT_L1,
-/* U+C0 A WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C1 A WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C2 A WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C3 A WITH TILDE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C4 A WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C5 A WITH RING ABOVE */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C6 AE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C7 C WITH CEDILLA */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C8 E WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+C9 E WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+CA E WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+CB E WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+CC I WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+CD I WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+CE I WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+CF I WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D0 ETH */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D1 N WITH TILDE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D2 O WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D3 O WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D4 O WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D5 O WITH TILDE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D6 O WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D7 MULTIPLICATION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+D8 O WITH STROKE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+D9 U WITH GRAVE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+DA U WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+DB U WITH CIRCUMFLEX */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+DC U WITH DIAERESIS */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+DD Y WITH ACUTE */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+DE THORN */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_PRINT_L1|_CC_UPPER_L1|_CC_WORDCHAR_L1,
-/* U+DF sharp s */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E0 a with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E1 a with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E2 a with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E3 a with tilde */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E4 a with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E5 a with ring above */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E6 ae */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E7 c with cedilla */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E8 e with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+E9 e with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+EA e with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+EB e with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+EC i with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+ED i with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+EE i with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+EF i with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F0 eth */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F1 n with tilde */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F2 o with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F3 o with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F4 o with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F5 o with tilde */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F6 o with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F7 DIVISION SIGN */ _CC_GRAPH_L1|_CC_PRINT_L1,
-/* U+F8 o with stroke */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+F9 u with grave */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+FA u with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+FB u with circumflex */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+FC u with diaeresis */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+FD y with acute */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+FE thorn */ _CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
-/* U+FF y with diaeresis */ _CC_NONLATIN1_FOLD|_CC_ALNUMC_L1|_CC_ALPHA_L1|_CC_CHARNAME_CONT|_CC_GRAPH_L1|_CC_IDFIRST_L1|_CC_LOWER_L1|_CC_PRINT_L1|_CC_WORDCHAR_L1,
+/* U+00 NUL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+01 SOH */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+02 STX */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+03 ETX */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+04 EOT */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+05 ENQ */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+06 ACK */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+07 BEL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+08 BS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+09 HT */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CNTRL)|(1U<<_CC_PSXSPC)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
+/* U+0A LF */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_PSXSPC)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE),
+/* U+0B VT */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_PSXSPC)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE),
+/* U+0C FF */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_PSXSPC)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE),
+/* U+0D CR */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_PSXSPC)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE),
+/* U+0E SO */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+0F SI */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+10 DLE */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+11 DC1 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+12 DC2 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+13 DC3 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+14 DC4 */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+15 NAK */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+16 SYN */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+17 ETB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+18 CAN */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+19 EOM */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+1A SUB */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+1B ESC */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+1C FS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+1D GS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+1E RS */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+1F US */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+20 SPACE */ (1U<<_CC_ASCII)|(1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_PSXSPC)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
+/* U+21 '!' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+22 '"' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+23 '#' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+24 '$' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+25 '%' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+26 '&' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+27 ''' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+28 '(' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+29 ')' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+2A '*' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+2B '+' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+2C ',' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+2D '-' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+2E '.' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+2F '/' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+30 '0' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+31 '1' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+32 '2' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+33 '3' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+34 '4' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+35 '5' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+36 '6' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+37 '7' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+38 '8' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+39 '9' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_DIGIT)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT),
+/* U+3A ':' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+3B ';' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+3C '<' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+3D '=' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+3E '>' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+3F '?' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+40 '@' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+41 'A' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+42 'B' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+43 'C' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+44 'D' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+45 'E' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+46 'F' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+47 'G' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+48 'H' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+49 'I' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+4A 'J' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+4B 'K' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+4C 'L' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+4D 'M' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+4E 'N' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_BACKSLASH_FOO_LBRACE_IS_META),
+/* U+4F 'O' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+50 'P' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_BACKSLASH_FOO_LBRACE_IS_META),
+/* U+51 'Q' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+52 'R' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+53 'S' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+54 'T' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+55 'U' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+56 'V' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+57 'W' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+58 'X' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+59 'Y' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+5A 'Z' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+5B '[' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+5C '\' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+5D ']' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+5E '^' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+5F '_' */ (1U<<_CC_ASCII)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_WORDCHAR),
+/* U+60 '`' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+61 'a' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+62 'b' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+63 'c' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+64 'd' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+65 'e' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+66 'f' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_XDIGIT)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+67 'g' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_BACKSLASH_FOO_LBRACE_IS_META),
+/* U+68 'h' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+69 'i' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+6A 'j' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+6B 'k' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_BACKSLASH_FOO_LBRACE_IS_META),
+/* U+6C 'l' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+6D 'm' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+6E 'n' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+6F 'o' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_BACKSLASH_FOO_LBRACE_IS_META),
+/* U+70 'p' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_BACKSLASH_FOO_LBRACE_IS_META),
+/* U+71 'q' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+72 'r' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+73 's' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+74 't' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+75 'u' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+76 'v' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+77 'w' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+78 'x' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD)|(1U<<_CC_BACKSLASH_FOO_LBRACE_IS_META),
+/* U+79 'y' */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_NON_FINAL_FOLD)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+7A 'z' */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_ASCII)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+7B '{' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+7C '|' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+7D '}' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+7E '~' */ (1U<<_CC_ASCII)|(1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+7F DEL */ (1U<<_CC_ASCII)|(1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+80 PAD */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+81 HOP */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+82 BPH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+83 NBH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+84 IND */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+85 NEL */ (1U<<_CC_CNTRL)|(1U<<_CC_PSXSPC)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE)|(1U<<_CC_VERTSPACE),
+/* U+86 SSA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+87 ESA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+88 HTS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+89 HTJ */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+8A VTS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+8B PLD */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+8C PLU */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+8D RI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+8E SS2 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+8F SS3 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+90 DCS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+91 PU1 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+92 PU2 */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+93 STS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+94 CCH */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+95 MW */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+96 SPA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+97 EPA */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+98 SOS */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+99 SGC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+9A SCI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+9B CSI */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+9C ST */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+9D OSC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+9E PM */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+9F APC */ (1U<<_CC_CNTRL)|(1U<<_CC_QUOTEMETA),
+/* U+A0 NO-BREAK SPACE */ (1U<<_CC_BLANK)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_PRINT)|(1U<<_CC_PSXSPC)|(1U<<_CC_QUOTEMETA)|(1U<<_CC_SPACE),
+/* U+A1 INVERTED EXCLAMATION MARK */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+A2 CENT SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+A3 POUND SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+A4 CURRENCY SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+A5 YEN SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+A6 BROKEN BAR */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+A7 SECTION SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+A8 DIAERESIS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+A9 COPYRIGHT SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+AA FEMININE ORDINAL INDICATOR */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR),
+/* U+AB LEFT-POINTING DOUBLE ANGLE QUOTATION MARK */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+AC NOT SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+AD SOFT HYPHEN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+AE REGISTERED SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+AF MACRON */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+B0 DEGREE SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+B1 PLUS-MINUS SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+B2 SUPERSCRIPT TWO */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+B3 SUPERSCRIPT THREE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+B4 ACUTE ACCENT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+B5 MICRO SIGN */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+B6 PILCROW SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+B7 MIDDLE DOT */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT),
+/* U+B8 CEDILLA */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+B9 SUPERSCRIPT ONE */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+BA MASCULINE ORDINAL INDICATOR */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR),
+/* U+BB RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+BC VULGAR FRACTION ONE QUARTER */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+BD VULGAR FRACTION ONE HALF */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+BE VULGAR FRACTION THREE QUARTERS */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT),
+/* U+BF INVERTED QUESTION MARK */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_PUNCT)|(1U<<_CC_QUOTEMETA),
+/* U+C0 A WITH GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C1 A WITH ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C2 A WITH CIRCUMFLEX */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C3 A WITH TILDE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C4 A WITH DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C5 A WITH RING ABOVE */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C6 AE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C7 C WITH CEDILLA */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C8 E WITH GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+C9 E WITH ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+CA E WITH CIRCUMFLEX */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+CB E WITH DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+CC I WITH GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+CD I WITH ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+CE I WITH CIRCUMFLEX */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+CF I WITH DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D0 ETH */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D1 N WITH TILDE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D2 O WITH GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D3 O WITH ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D4 O WITH CIRCUMFLEX */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D5 O WITH TILDE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D6 O WITH DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D7 MULTIPLICATION SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+D8 O WITH STROKE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+D9 U WITH GRAVE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+DA U WITH ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+DB U WITH CIRCUMFLEX */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+DC U WITH DIAERESIS */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+DD Y WITH ACUTE */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+DE THORN */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_PRINT)|(1U<<_CC_UPPER)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+DF sharp s */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E0 a with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E1 a with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E2 a with circumflex */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E3 a with tilde */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E4 a with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E5 a with ring above */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E6 ae */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E7 c with cedilla */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E8 e with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+E9 e with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+EA e with circumflex */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+EB e with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+EC i with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+ED i with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+EE i with circumflex */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+EF i with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F0 eth */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F1 n with tilde */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F2 o with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F3 o with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F4 o with circumflex */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F5 o with tilde */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F6 o with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F7 DIVISION SIGN */ (1U<<_CC_GRAPH)|(1U<<_CC_PRINT)|(1U<<_CC_QUOTEMETA),
+/* U+F8 o with stroke */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+F9 u with grave */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+FA u with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+FB u with circumflex */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+FC u with diaeresis */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+FD y with acute */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+FE thorn */ (1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
+/* U+FF y with diaeresis */ (1U<<_CC_NONLATIN1_FOLD)|(1U<<_CC_ALPHANUMERIC)|(1U<<_CC_ALPHA)|(1U<<_CC_CASED)|(1U<<_CC_CHARNAME_CONT)|(1U<<_CC_GRAPH)|(1U<<_CC_IDFIRST)|(1U<<_CC_LOWER)|(1U<<_CC_PRINT)|(1U<<_CC_WORDCHAR)|(1U<<_CC_IS_IN_SOME_FOLD),
 
 /* ex: set ro: */


Property changes on: vendor/perl/dist/l1_char_class_tab.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/AnyDBM_File.pm
===================================================================
--- vendor/perl/dist/lib/AnyDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/AnyDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,9 @@
 package AnyDBM_File;
+use warnings;
+use strict;
 
 use 5.006_001;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 our @ISA = qw(NDBM_File DB_File GDBM_File SDBM_File ODBM_File) unless @ISA;
 
 my $mod;
@@ -13,8 +15,9 @@
 }
 
 die "No DBM package was successfully found or installed";
-#return 0;
 
+__END__
+
 =head1 NAME
 
 AnyDBM_File - provide framework for multiple DBMs
@@ -39,7 +42,7 @@
 
 Having multiple DBM implementations makes it trivial to copy database formats:
 
-    use POSIX; use NDBM_File; use DB_File;
+    use Fcntl; use NDBM_File; use DB_File;
     tie %newhash,  'DB_File', $new_filename, O_CREAT|O_RDWR;
     tie %oldhash,  'NDBM_File', $old_filename, 1, 0;
     %newhash = %oldhash;


Property changes on: vendor/perl/dist/lib/AnyDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/AnyDBM_File.t
===================================================================
--- vendor/perl/dist/lib/AnyDBM_File.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/AnyDBM_File.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 
 $Is_Dosish = ($^O eq 'amigaos' || $^O eq 'MSWin32' ||
 	      $^O eq 'NetWare' || $^O eq 'dos' ||
-	      $^O eq 'os2' || $^O eq 'mint' ||
+	      $^O eq 'os2' ||
 	      $^O eq 'cygwin');
 
 my $filename = "Any_dbmx$$";


Property changes on: vendor/perl/dist/lib/AnyDBM_File.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/01_Archive-Extract.t
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/01_Archive-Extract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/01_Archive-Extract.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/01_Archive-Extract.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/double_dir.zip.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/double_dir.zip.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/double_dir.zip.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/double_dir.zip.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.Z.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.Z.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.Z.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.Z.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.bz2.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.bz2.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.bz2.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.bz2.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.gz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.jar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.jar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.jar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.jar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.lzma.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.lzma.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.lzma.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.lzma.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.par.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.par.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.par.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.par.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.tar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.tgz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.tgz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.tgz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.tgz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/x.zip.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/x.zip.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/x.zip.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/x.zip.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/y.jar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/y.jar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/y.jar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/y.jar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/y.par.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/y.par.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/y.par.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/y.par.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.bz2.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.bz2.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.bz2.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.bz2.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/y.tar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/y.tbz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/y.tbz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/y.tbz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/y.tbz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/y.tgz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/y.tgz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/y.tgz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/y.tgz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract/t/src/y.zip.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Extract/t/src/y.zip.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract/t/src/y.zip.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract/t/src/y.zip.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Extract.pm
===================================================================
--- vendor/perl/dist/lib/Archive/Extract.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Extract.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Extract.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/Constant.pm
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/Constant.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/Constant.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/Constant.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/File.pm
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/bin/ptar
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/bin/ptar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/bin/ptar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/bin/ptar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/bin/ptardiff
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/bin/ptardiff	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/bin/ptardiff	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/bin/ptardiff
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/01_use.t
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/01_use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/01_use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/01_use.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/02_methods.t
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/02_methods.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/02_methods.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/02_methods.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/03_file.t
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/03_file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/03_file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/03_file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/04_resolved_issues.t
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/04_resolved_issues.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/04_resolved_issues.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/04_resolved_issues.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/05_iter.t
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/05_iter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/05_iter.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/05_iter.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/90_symlink.t
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/90_symlink.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/90_symlink.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/90_symlink.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/99_pod.t
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/99_pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/99_pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/99_pod.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/header/signed.tar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/header/signed.tar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/header/signed.tar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/header/signed.tar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_missing_dir.tar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_missing_dir.tar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_missing_dir.tar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_missing_dir.tar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_with_dir.tar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_with_dir.tar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_with_dir.tar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/linktest/linktest_with_dir.tar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/long/b
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/long/b	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/long/b	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/long/b
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/long/bar.tar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/long/bar.tar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/long/bar.tar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/long/bar.tar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tbz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tbz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tbz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tbz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tgz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tgz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tgz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/long/foo.tgz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/short/b
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/short/b	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/short/b	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/short/b
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/short/bar.tar.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/short/bar.tar.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/short/bar.tar.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/short/bar.tar.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tbz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tbz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tbz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tbz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tgz.packed
===================================================================
--- vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tgz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tgz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar/t/src/short/foo.tgz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Archive/Tar.pm
===================================================================
--- vendor/perl/dist/lib/Archive/Tar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Archive/Tar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Archive/Tar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/README
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/Demo.pm
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/Demo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/Demo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/Demo.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/Descriptions.pm
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/Descriptions.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/Descriptions.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/Descriptions.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/MyClass.pm
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/MyClass.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/MyClass.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/MyClass.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo2.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo2.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo2.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo2.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo3.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo3.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo3.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo3.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo4.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo4.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo4.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo4.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_call.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo_call.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo_call.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_call.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_chain.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo_chain.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo_chain.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_chain.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_cycle.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo_cycle.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo_cycle.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_cycle.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_hashdir.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo_hashdir.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo_hashdir.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_hashdir.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_phases.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo_phases.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo_phases.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_phases.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_range.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo_range.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo_range.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_range.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_rawdata.pl
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/demo/demo_rawdata.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/demo/demo_rawdata.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/demo/demo_rawdata.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/t/constants.t
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/t/constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/t/constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/t/constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/t/data_convert.t
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/t/data_convert.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/t/data_convert.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/t/data_convert.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/t/linerep.t
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/t/linerep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/t/linerep.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/t/linerep.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers/t/multi.t
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers/t/multi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers/t/multi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers/t/multi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Attribute/Handlers.pm
===================================================================
--- vendor/perl/dist/lib/Attribute/Handlers.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Attribute/Handlers.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Attribute/Handlers.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/AutoLoader/t/01AutoLoader.t
===================================================================
--- vendor/perl/dist/lib/AutoLoader/t/01AutoLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/AutoLoader/t/01AutoLoader.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/AutoLoader/t/01AutoLoader.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/AutoLoader/t/02AutoSplit.t
===================================================================
--- vendor/perl/dist/lib/AutoLoader/t/02AutoSplit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/AutoLoader/t/02AutoSplit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/AutoLoader/t/02AutoSplit.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/AutoLoader.pm
===================================================================
--- vendor/perl/dist/lib/AutoLoader.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/AutoLoader.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/AutoLoader.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/AutoLoader.t
===================================================================
--- vendor/perl/dist/lib/AutoLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/AutoLoader.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/AutoLoader.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/AutoSplit.pm
===================================================================
--- vendor/perl/dist/lib/AutoSplit.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/AutoSplit.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/AutoSplit.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/AutoSplit.t
===================================================================
--- vendor/perl/dist/lib/AutoSplit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/AutoSplit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/AutoSplit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/Benchmark.pm
===================================================================
--- vendor/perl/dist/lib/Benchmark.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Benchmark.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -385,7 +385,7 @@
 
 =head1 SEE ALSO
 
-L<Devel::DProf> - a Perl code profiler
+L<Devel::NYTProf> - a Perl code profiler
 
 =head1 AUTHORS
 
@@ -440,7 +440,7 @@
 	      clearcache clearallcache disablecache enablecache);
 %EXPORT_TAGS=( all => [ @EXPORT, @EXPORT_OK ] ) ;
 
-$VERSION = 1.12;
+$VERSION = 1.15;
 
 # --- ':hireswallclock' special handling
 


Property changes on: vendor/perl/dist/lib/Benchmark.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/Benchmark.t
===================================================================
--- vendor/perl/dist/lib/Benchmark.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Benchmark.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -63,12 +63,14 @@
 my $in_threesecs = $threesecs->iters;
 print "# in_threesecs=$in_threesecs iterations\n";
 ok ($in_threesecs > 0, "iters returned positive iterations");
-my $cpu = $threesecs->[1] + $threesecs->[2]; # user + sys 
-cmp_ok($cpu, '>=', 3.0, "3s cpu is at least 3s");
-$in_threesecs *= (3/$cpu); # adjust because may not have run for exactly 3s
-print "# in_threesecs=$in_threesecs adjusted iterations\n";
+my $cpu3 = $threesecs->[1]; # user
+my $sys3 = $threesecs->[2]; # sys
+cmp_ok($cpu3+$sys3, '>=', 3.0, "3s cpu3 is at least 3s");
+my $in_threesecs_adj = $in_threesecs;
+$in_threesecs_adj *= (3/$cpu3); # adjust because may not have run for exactly 3s
+print "# in_threesecs_adj=$in_threesecs_adj adjusted iterations\n";
 
-my $estimate = int (100 * $in_threesecs / 3) / 100;
+my $estimate = int (100 * $in_threesecs_adj / 3) / 100;
 print "# from the 3 second run estimate $estimate iterations in 1 second...\n";
 $baz = 0;
 my $onesec = countit(1, $coderef);
@@ -77,16 +79,28 @@
 my $in_onesec = $onesec->iters;
 print "# in_onesec=$in_onesec iterations\n";
 ok ($in_onesec > 0, "iters returned positive iterations");
-$cpu = $onesec->[1] + $onesec->[2]; # user + sys 
-cmp_ok($cpu, '>=', 1.0, "1s cpu is at least 1s");
-$in_onesec *= (1/$cpu); # adjust because may not have run for exactly 1s
-print "# in_onesec=$in_onesec adjusted iterations\n";
+my $cpu1 = $onesec->[1]; # user
+my $sys1 = $onesec->[2]; # sys
+cmp_ok($cpu1+$sys1, '>=', 1.0, "is cpu1 is at least 1s");
+my $in_onesec_adj = $in_onesec;
+$in_onesec_adj *= (1/$cpu1); # adjust because may not have run for exactly 1s
+print "# in_onesec_adj=$in_onesec_adj adjusted iterations\n";
 
 {
-  my $difference = $in_onesec - $estimate;
-  my $actual = abs ($difference / $in_onesec);
-  cmp_ok($actual, '<=', $delta, "is $in_onesec within $delta of estimate ($estimate)")
-    or diag("# $in_onesec is between " . ($delta / 2) . " and $delta of estimate. Not that safe.");
+  my $difference = $in_onesec_adj - $estimate;
+  my $actual = abs ($difference / $in_onesec_adj);
+  cmp_ok($actual, '<=', $delta, "is $in_onesec_adj within $delta of estimate ($estimate)")
+    or do {
+	diag("  in_threesecs     = $in_threesecs");
+	diag("  in_threesecs_adj = $in_threesecs_adj");
+	diag("  cpu3             = $cpu3");
+	diag("  sys3             = $sys3");
+	diag("  estimate         = $estimate");
+	diag("  in_onesec        = $in_onesec");
+	diag("  in_onesec_adj    = $in_onesec_adj");
+	diag("  cpu1             = $cpu1");
+	diag("  sys1             = $sys1");
+    };
 }
 
 # I found that the eval'ed version was 3 times faster than the coderef.
@@ -122,7 +136,7 @@
     is (timestr ($diff, 'none'), '', "none suppresses output");
 
     my $noc = timestr ($diff, 'noc');
-    like ($noc, qr/$wallclock +wallclock secs? +\( *$usr +usr +\+ +$sys +sys += +$cpu +CPU\)/, 'timestr ($diff, "noc")');
+    like ($noc, qr/$wallclock +wallclock secs? +\( *$usr +usr +\+ +$sys +sys += +\d+\.\d\d +CPU\)/, 'timestr ($diff, "noc")');
 
     my $nop = timestr ($diff, 'nop');
     like ($nop, qr/$wallclock +wallclock secs? +\( *$cusr +cusr +\+ +$csys +csys += +\d+\.\d\d +CPU\)/, 'timestr ($diff, "nop")');


Property changes on: vendor/perl/dist/lib/Benchmark.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/Apache.pm
===================================================================
--- vendor/perl/dist/lib/CGI/Apache.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/Apache.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/Apache.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/Carp.pm
===================================================================
--- vendor/perl/dist/lib/CGI/Carp.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/Carp.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/Carp.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/Cookie.pm
===================================================================
--- vendor/perl/dist/lib/CGI/Cookie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/Cookie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/Cookie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/Fast.pm
===================================================================
--- vendor/perl/dist/lib/CGI/Fast.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/Fast.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/Fast.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/Pretty.pm
===================================================================
--- vendor/perl/dist/lib/CGI/Pretty.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/Pretty.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/Pretty.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/Push.pm
===================================================================
--- vendor/perl/dist/lib/CGI/Push.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/Push.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/Push.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/Switch.pm
===================================================================
--- vendor/perl/dist/lib/CGI/Switch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/Switch.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/Switch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/Util.pm
===================================================================
--- vendor/perl/dist/lib/CGI/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/RunMeFirst
===================================================================
--- vendor/perl/dist/lib/CGI/eg/RunMeFirst	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/RunMeFirst	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/RunMeFirst
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/caution.xbm
===================================================================
--- vendor/perl/dist/lib/CGI/eg/caution.xbm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/caution.xbm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/caution.xbm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/clickable_image.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/clickable_image.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/clickable_image.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/clickable_image.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/cookie.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/cookie.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/cookie.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/cookie.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/crash.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/crash.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/crash.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/crash.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/customize.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/customize.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/customize.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/customize.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/diff_upload.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/diff_upload.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/diff_upload.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/diff_upload.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/dna_small_gif.uu
===================================================================
--- vendor/perl/dist/lib/CGI/eg/dna_small_gif.uu	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/dna_small_gif.uu	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/dna_small_gif.uu
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/file_upload.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/file_upload.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/file_upload.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/file_upload.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/frameset.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/frameset.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/frameset.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/frameset.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/index.html
===================================================================
--- vendor/perl/dist/lib/CGI/eg/index.html	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/index.html	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/index.html
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/internal_links.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/internal_links.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/internal_links.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/internal_links.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/javascript.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/javascript.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/javascript.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/javascript.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/make_links.pl
===================================================================
--- vendor/perl/dist/lib/CGI/eg/make_links.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/make_links.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/make_links.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/monty.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/monty.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/monty.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/monty.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/multiple_forms.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/multiple_forms.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/multiple_forms.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/multiple_forms.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/nph-clock.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/nph-clock.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/nph-clock.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/nph-clock.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/nph-multipart.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/nph-multipart.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/nph-multipart.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/nph-multipart.cgi
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/popup.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/popup.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/popup.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/popup.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/save_state.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/save_state.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/save_state.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/save_state.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/tryit.cgi
===================================================================
--- vendor/perl/dist/lib/CGI/eg/tryit.cgi	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/tryit.cgi	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/tryit.cgi
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/eg/wilogo_gif.uu
===================================================================
--- vendor/perl/dist/lib/CGI/eg/wilogo_gif.uu	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/eg/wilogo_gif.uu	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/eg/wilogo_gif.uu
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/apache.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/apache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/apache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/apache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/can.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/can.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/can.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/can.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/carp.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/carp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/carp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/carp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/cookie.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/cookie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/cookie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/cookie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/fast.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/fast.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/fast.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/fast.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/form.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/form.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/form.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/form.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/function.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/function.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/function.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/function.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/html.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/html.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/html.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/html.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/no_tabindex.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/no_tabindex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/no_tabindex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/no_tabindex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/pretty.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/pretty.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/pretty.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/pretty.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/push.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/push.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/push.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/push.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/request.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/request.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/request.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/request.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/start_end_asterisk.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/start_end_asterisk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/start_end_asterisk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/start_end_asterisk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/start_end_end.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/start_end_end.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/start_end_end.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/start_end_end.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/start_end_start.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/start_end_start.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/start_end_start.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/start_end_start.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/switch.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/switch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/switch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/switch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/upload.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/upload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/upload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/upload.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/uploadInfo.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/uploadInfo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/uploadInfo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/uploadInfo.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/upload_post_text.txt.packed
===================================================================
--- vendor/perl/dist/lib/CGI/t/upload_post_text.txt.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/upload_post_text.txt.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/upload_post_text.txt.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/util-58.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/util-58.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/util-58.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/util-58.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI/t/util.t
===================================================================
--- vendor/perl/dist/lib/CGI/t/util.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI/t/util.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI/t/util.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CGI.pm
===================================================================
--- vendor/perl/dist/lib/CGI.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CGI.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CGI.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/CORE.pod
===================================================================
--- vendor/perl/dist/lib/CORE.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CORE.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-CORE - Pseudo-namespace for Perl's core routines
+CORE - Namespace for Perl's core routines
 
 =head1 SYNOPSIS
 
@@ -10,21 +10,55 @@
 
     print hex("0x50"),"\n";			# prints 1
     print CORE::hex("0x50"),"\n";		# prints 80
+    CORE::say "yes";				# prints yes
 
+    BEGIN { *shove = \&CORE::push; }
+    shove @array, 1,2,3;			# pushes on to @array
+
 =head1 DESCRIPTION
 
 The C<CORE> namespace gives access to the original built-in functions of
-Perl. There is no C<CORE> package, and therefore you do not need to use or
-require an hypothetical "CORE" module prior to accessing routines in this
+Perl.  The C<CORE> package is built into
+Perl, and therefore you do not need to use or
+require a hypothetical "CORE" module prior to accessing routines in this
 namespace.
 
 A list of the built-in functions in Perl can be found in L<perlfunc>.
 
+For all Perl keywords, a C<CORE::> prefix will force the built-in function
+to be used, even if it has been overridden or would normally require the
+L<feature> pragma.  Despite appearances, this has nothing to do with the
+CORE package, but is part of Perl's syntax.
+
+For many Perl functions, the CORE package contains real subroutines.  This
+feature is new in Perl 5.16.  You can take references to these and make
+aliases.  However, some can only be called as barewords; i.e., you cannot
+use ampersand syntax (C<&foo>) or call them through references.  See the
+C<shove> example above.  These subroutines exist for all keywords except the following:
+
+C<__DATA__>, C<__END__>, C<and>, C<cmp>, C<default>, C<do>, C<dump>,
+C<else>, C<elsif>, C<eq>, C<eval>, C<for>, C<foreach>, C<format>, C<ge>,
+C<given>, C<goto>, C<grep>, C<gt>, C<if>, C<last>, C<le>, C<local>, C<lt>,
+C<m>, C<map>, C<my>, C<ne>, C<next>, C<no>, C<or>, C<our>, C<package>,
+C<print>, C<printf>, C<q>, C<qq>, C<qr>, C<qw>, C<qx>, C<redo>, C<require>,
+C<return>, C<s>, C<say>, C<sort>, C<state>, C<sub>, C<tr>, C<unless>,
+C<until>, C<use>, C<when>, C<while>, C<x>, C<xor>, C<y>
+
+Calling with
+ampersand syntax and through references does not work for the following
+functions, as they have special syntax that cannot always be translated
+into a simple list (e.g., C<eof> vs C<eof()>):
+
+C<chdir>, C<chomp>, C<chop>, C<defined>, C<delete>, C<each>,
+C<eof>, C<exec>, C<exists>, C<keys>, C<lstat>, C<pop>, C<push>,
+C<shift>, C<splice>, C<split>, C<stat>, C<system>, C<truncate>,
+C<unlink>, C<unshift>, C<values>
+
 =head1 OVERRIDING CORE FUNCTIONS
 
 To override a Perl built-in routine with your own version, you need to
-import it at compile-time. This can be conveniently achieved with the
-C<subs> pragma. This will affect only the package in which you've imported
+import it at compile-time.  This can be conveniently achieved with the
+C<subs> pragma.  This will affect only the package in which you've imported
 the said subroutine:
 
     use subs 'chdir';


Property changes on: vendor/perl/dist/lib/CORE.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/API/HOWTO.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/API/HOWTO.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/API/HOWTO.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/API/HOWTO.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/API/HOWTO.pod
===================================================================
--- vendor/perl/dist/lib/CPAN/API/HOWTO.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/API/HOWTO.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/API/HOWTO.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Author.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Author.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Author.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Author.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Bundle.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Bundle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Bundle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Bundle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/CacheMgr.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/CacheMgr.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/CacheMgr.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/CacheMgr.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Complete.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Complete.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Complete.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Complete.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Debug.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Debug.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Debug.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Debug.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/DeferedCode.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/DeferedCode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/DeferedCode.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/DeferedCode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/DeferredCode.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/DeferredCode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/DeferredCode.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/DeferredCode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Distribution.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Distribution.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Distribution.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Distribution.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Distroprefs.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Distroprefs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Distroprefs.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Distroprefs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Distrostatus.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Distrostatus.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Distrostatus.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Distrostatus.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Exception/RecursiveDependency.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Exception/RecursiveDependency.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Exception/RecursiveDependency.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Exception/RecursiveDependency.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Exception/blocked_urllist.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Exception/blocked_urllist.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Exception/blocked_urllist.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Exception/blocked_urllist.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Exception/yaml_not_installed.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Exception/yaml_not_installed.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Exception/yaml_not_installed.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Exception/yaml_not_installed.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/FTP/netrc.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/FTP/netrc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/FTP/netrc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/FTP/netrc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/FTP.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/FTP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/FTP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/FTP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/FirstTime.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/FirstTime.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/FirstTime.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/FirstTime.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/HandleConfig.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/HandleConfig.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/HandleConfig.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/HandleConfig.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Index.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Index.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Index.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Index.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/InfoObj.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/InfoObj.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/InfoObj.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/InfoObj.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.dd
===================================================================
--- vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.dd	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.dd	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.dd
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.yml
===================================================================
--- vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Kwalify/distroprefs.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Kwalify.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Kwalify.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Kwalify.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Kwalify.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/LWP/UserAgent.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/LWP/UserAgent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/LWP/UserAgent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/LWP/UserAgent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Module.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Nox.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Nox.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Nox.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Nox.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/PAUSE2003.pub
===================================================================
--- vendor/perl/dist/lib/CPAN/PAUSE2003.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/PAUSE2003.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/PAUSE2003.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/PAUSE2005.pub
===================================================================
--- vendor/perl/dist/lib/CPAN/PAUSE2005.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/PAUSE2005.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/PAUSE2005.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/PAUSE2007.pub
===================================================================
--- vendor/perl/dist/lib/CPAN/PAUSE2007.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/PAUSE2007.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/PAUSE2007.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/PAUSE2009.pub
===================================================================
--- vendor/perl/dist/lib/CPAN/PAUSE2009.pub	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/PAUSE2009.pub	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/PAUSE2009.pub
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Prompt.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Prompt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Prompt.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Prompt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Queue.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Queue.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Queue.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Queue.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/SIGNATURE
===================================================================
--- vendor/perl/dist/lib/CPAN/SIGNATURE	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/SIGNATURE	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/SIGNATURE
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Shell.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Shell.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Shell.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Shell.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Tarzip.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Tarzip.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Tarzip.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Tarzip.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/URL.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/URL.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/URL.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/URL.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/Version.pm
===================================================================
--- vendor/perl/dist/lib/CPAN/Version.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/Version.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/Version.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/bin/cpan
===================================================================
--- vendor/perl/dist/lib/CPAN/bin/cpan	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/bin/cpan	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/bin/cpan
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/t/01loadme.t
===================================================================
--- vendor/perl/dist/lib/CPAN/t/01loadme.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/t/01loadme.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/t/01loadme.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/t/02nox.t
===================================================================
--- vendor/perl/dist/lib/CPAN/t/02nox.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/t/02nox.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/t/02nox.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/t/03pkgs.t
===================================================================
--- vendor/perl/dist/lib/CPAN/t/03pkgs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/t/03pkgs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/t/03pkgs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/t/10version.t
===================================================================
--- vendor/perl/dist/lib/CPAN/t/10version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/t/10version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/t/10version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN/t/11mirroredby.t
===================================================================
--- vendor/perl/dist/lib/CPAN/t/11mirroredby.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN/t/11mirroredby.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN/t/11mirroredby.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPAN.pm
===================================================================
--- vendor/perl/dist/lib/CPAN.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPAN.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPAN.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Backend/RV.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Backend/RV.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Backend/RV.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Backend/RV.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Backend.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Backend.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Backend.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Backend.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Config.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Configure/Setup.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Configure/Setup.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Configure/Setup.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Configure/Setup.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Configure.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Configure.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Configure.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Configure.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Autobundle.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Autobundle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Autobundle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Autobundle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Base.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/Constants.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/01_CPANPLUS-Dist-Build-Constants.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/01_CPANPLUS-Dist-Build-Constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/01_CPANPLUS-Dist-Build-Constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/01_CPANPLUS-Dist-Build-Constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/02_CPANPLUS-Dist-Build.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-CPAN/modules/03modlist.data.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/dummy-perl/.hidden
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/inc/conf.pl
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/inc/conf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/inc/conf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/inc/conf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/noxs/Foo-Bar-0.01.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build/t/src/xs/Foo-Bar-0.01.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Build.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Build.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Build.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Build.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/MM.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/MM.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/MM.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/MM.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist/Sample.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist/Sample.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist/Sample.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist/Sample.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Dist.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Dist.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Dist.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Dist.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Error.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Error.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Error.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Error.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/FAQ.pod
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Hacking.pod
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Hacking.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Hacking.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Hacking.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Constants/Report.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Constants/Report.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Constants/Report.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Constants/Report.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Constants.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Extract.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Extract.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Extract.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Extract.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Fetch.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Fetch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Fetch.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Fetch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Report.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Report.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Report.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Report.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Search.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Search.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Search.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Search.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Source/Memory.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Source/Memory.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Source/Memory.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Source/Memory.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite/Tie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Source/SQLite.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Source.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Source.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Source.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Source.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Utils/Autoflush.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Utils/Autoflush.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Utils/Autoflush.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Utils/Autoflush.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals/Utils.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Internals.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Internals.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Internals.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Internals.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Module/Author/Fake.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Module/Author/Fake.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Module/Author/Fake.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Module/Author/Fake.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Module/Author.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Module/Author.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Module/Author.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Module/Author.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Module/Checksums.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Module/Checksums.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Module/Checksums.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Module/Checksums.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Module/Fake.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Module/Fake.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Module/Fake.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Module/Fake.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Module/Signature.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Module/Signature.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Module/Signature.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Module/Signature.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Module.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Selfupdate.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Selfupdate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Selfupdate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Selfupdate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Shell/Classic.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Shell/Classic.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Shell/Classic.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Shell/Classic.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/CustomSource.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/HOWTO.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Remote.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Source.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Source.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Shell/Default/Plugins/Source.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Shell/Default.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Shell/Default.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Shell/Default.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Shell/Default.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/Shell.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/Shell.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/Shell.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/Shell.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/bin/cpan2dist
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/bin/cpan2dist	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/bin/cpan2dist	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/bin/cpan2dist
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/bin/cpanp
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/bin/cpanp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/bin/cpanp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/bin/cpanp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/bin/cpanp-run-perl
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/bin/cpanp-run-perl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/bin/cpanp-run-perl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/bin/cpanp-run-perl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/inc.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/inc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/inc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/inc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Inc.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Inc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Inc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Inc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/00_CPANPLUS-Internals-Utils.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/01_CPANPLUS-Configure.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/01_CPANPLUS-Configure.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/01_CPANPLUS-Configure.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/01_CPANPLUS-Configure.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/02_CPANPLUS-Internals.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/02_CPANPLUS-Internals.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/02_CPANPLUS-Internals.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/02_CPANPLUS-Internals.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/03_CPANPLUS-Internals-Source.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/03_CPANPLUS-Internals-Source.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/03_CPANPLUS-Internals-Source.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/03_CPANPLUS-Internals-Source.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/04_CPANPLUS-Module.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/04_CPANPLUS-Module.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/04_CPANPLUS-Module.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/04_CPANPLUS-Module.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/05_CPANPLUS-Internals-Fetch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/06_CPANPLUS-Internals-Constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/07_CPANPLUS-Internals-Extract.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/08_CPANPLUS-Backend.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/08_CPANPLUS-Backend.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/08_CPANPLUS-Backend.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/08_CPANPLUS-Backend.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/09_CPANPLUS-Internals-Search.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/09_CPANPLUS-Internals-Search.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/09_CPANPLUS-Internals-Search.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/09_CPANPLUS-Internals-Search.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/10_CPANPLUS-Error.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/10_CPANPLUS-Error.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/10_CPANPLUS-Error.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/10_CPANPLUS-Error.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/15_CPANPLUS-Shell.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/15_CPANPLUS-Shell.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/15_CPANPLUS-Shell.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/15_CPANPLUS-Shell.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/19_CPANPLUS-Dist.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/19_CPANPLUS-Dist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/19_CPANPLUS-Dist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/19_CPANPLUS-Dist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/20_CPANPLUS-Dist-MM.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/20_CPANPLUS-Dist-MM.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/20_CPANPLUS-Dist-MM.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/20_CPANPLUS-Dist-MM.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/21_CPANPLUS-Dist-No-Build.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/25_CPANPLUS.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/25_CPANPLUS.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/25_CPANPLUS.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/25_CPANPLUS.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/30_CPANPLUS-Internals-Selfupdate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/40_CPANPLUS-Internals-Report.t
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/40_CPANPLUS-Internals-Report.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/40_CPANPLUS-Internals-Report.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/40_CPANPLUS-Internals-Report.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/01mailrc.txt.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Bundle-Foo-Bar-0.01.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/CHECKSUMS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.meta
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.readme
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/Foo-Bar-0.01.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUNOXS/perl5.005_03.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/CHECKSUMS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.readme
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/EUXS/Foo-Bar-0.01.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/CHECKSUMS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.readme
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBNOXS/Foo-Bar-0.01.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/CHECKSUMS
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.readme
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/authors/id/MBXS/Foo-Bar-0.01.tar.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/autobundle/Snapshot.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/02packages.details.txt.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/dummy-CPAN/modules/03modlist.data.gz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS/t/inc/conf.pl
===================================================================
--- vendor/perl/dist/lib/CPANPLUS/t/inc/conf.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS/t/inc/conf.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS/t/inc/conf.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/CPANPLUS.pm
===================================================================
--- vendor/perl/dist/lib/CPANPLUS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/CPANPLUS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/CPANPLUS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Carp/Heavy.pm
===================================================================
--- vendor/perl/dist/lib/Carp/Heavy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Carp/Heavy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Carp/Heavy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Carp.pm
===================================================================
--- vendor/perl/dist/lib/Carp.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Carp.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Carp.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Carp.t
===================================================================
--- vendor/perl/dist/lib/Carp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Carp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Carp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Class/ISA/ChangeLog
===================================================================
--- vendor/perl/dist/lib/Class/ISA/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Class/ISA/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Class/ISA/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Class/ISA/t/00_about_verbose.t
===================================================================
--- vendor/perl/dist/lib/Class/ISA/t/00_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Class/ISA/t/00_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Class/ISA/t/00_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Class/ISA/t/01_old_junk.t
===================================================================
--- vendor/perl/dist/lib/Class/ISA/t/01_old_junk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Class/ISA/t/01_old_junk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Class/ISA/t/01_old_junk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Class/ISA.pm
===================================================================
--- vendor/perl/dist/lib/Class/ISA.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Class/ISA.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Class/ISA.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/Class/Struct.pm
===================================================================
--- vendor/perl/dist/lib/Class/Struct.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Class/Struct.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,11 +14,8 @@
 @ISA = qw(Exporter);
 @EXPORT = qw(struct);
 
-$VERSION = '0.63';
+$VERSION = '0.64';
 
-## Tested on 5.002 and 5.003 without class membership tests:
-my $CHECK_CLASS_MEMBERSHIP = ($] >= 5.003_95);
-
 my $print = 0;
 sub printem {
     if (@_) { $print = shift }
@@ -130,6 +127,9 @@
     elsif( $base_type eq 'ARRAY' ){
         $out .= "    my(\$r) = [];\n";
     }
+
+    $out .= " bless \$r, \$class;\n\n";
+
     while( $idx < @decls ){
         $name = $decls[$idx];
         $type = $decls[$idx+1];
@@ -150,24 +150,24 @@
         if( $type eq '@' ){
             $out .= "    croak 'Initializer for $name must be array reference'\n"; 
             $out .= "        if defined(\$init{'$name'}) && ref(\$init{'$name'}) ne 'ARRAY';\n";
-            $out .= "    \$r->$elem = $init [];$cmt\n"; 
+            $out .= "    \$r->$name( $init [] );$cmt\n"; 
             $arrays{$name}++;
         }
         elsif( $type eq '%' ){
             $out .= "    croak 'Initializer for $name must be hash reference'\n";
             $out .= "        if defined(\$init{'$name'}) && ref(\$init{'$name'}) ne 'HASH';\n";
-            $out .= "    \$r->$elem = $init {};$cmt\n";
+            $out .= "    \$r->$name( $init {} );$cmt\n";
             $hashes{$name}++;
         }
         elsif ( $type eq '$') {
-            $out .= "    \$r->$elem = $init undef;$cmt\n";
+            $out .= "    \$r->$name( $init undef );$cmt\n";
         }
         elsif( $type =~ /^\w+(?:::\w+)*$/ ){
             $out .= "    if (defined(\$init{'$name'})) {\n";
            $out .= "       if (ref \$init{'$name'} eq 'HASH')\n";
-            $out .= "            { \$r->$elem = $type->new(\%{\$init{'$name'}}) } $cmt\n";
+            $out .= "            { \$r->$name( $type->new(\%{\$init{'$name'}}) ) } $cmt\n";
            $out .= "       elsif (UNIVERSAL::isa(\$init{'$name'}, '$type'))\n";
-            $out .= "            { \$r->$elem = \$init{'$name'} } $cmt\n";
+            $out .= "            { \$r->$name( \$init{'$name'} ) } $cmt\n";
             $out .= "       else { croak 'Initializer for $name must be hash or $type reference' }\n";
             $out .= "    }\n";
             $classes{$name} = $type;
@@ -178,8 +178,9 @@
         }
         $idx += 2;
     }
-    $out .= "    bless \$r, \$class;\n  }\n";
 
+    $out .= "\n \$r;\n}\n";
+
     # Create accessor methods.
 
     my( $pre, $pst, $sel );
@@ -216,9 +217,7 @@
                 $sel = "->{\$i}";
             }
             elsif( defined $classes{$name} ){
-                if ( $CHECK_CLASS_MEMBERSHIP ) {
-                    $out .= "    croak '$name argument is wrong class' if \@_ && ! UNIVERSAL::isa(\$_[0], '$classes{$name}');\n";
-                }
+                $out .= "    croak '$name argument is wrong class' if \@_ && ! UNIVERSAL::isa(\$_[0], '$classes{$name}');\n";
             }
             $out .= "    croak 'Too many args to $name' if \@_ > 1;\n";
             $out .= "    \@_ ? ($pre\$r->$elem$sel = shift$pst) : $pre\$r->$elem$sel$pst;\n";


Property changes on: vendor/perl/dist/lib/Class/Struct.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/Class/Struct.t
===================================================================
--- vendor/perl/dist/lib/Class/Struct.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Class/Struct.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,11 +33,32 @@
 use Class::Struct s => '$', a => '@', h => '%', c => 'aClass';
 
 #
+# test overriden accessors
+#
+package OverrideAccessor;
+use Class::Struct;
+
+{ 
+ no warnings qw(Class::Struct);
+ struct( 'OverrideAccessor', { count => '$' } );
+}
+
+sub count {
+  my ($self,$count) = @_;
+
+  if ( @_ >= 2 ) {
+    $self->{'OverrideAccessor::count'} = $count + 9;
+  }
+
+  return $self->{'OverrideAccessor::count'};
+}
+
+#
 # back to main...
 #
 package main;
 
-use Test::More tests => 24;
+use Test::More;
 
 my $obj = MyObj->new;
 isa_ok $obj, 'MyObj';
@@ -101,3 +122,133 @@
 my $recobj = RecClass->new();
 isa_ok $recobj, 'RecClass';
 
+my $override_obj = OverrideAccessor->new( count => 3 );
+is $override_obj->count, 12;
+
+$override_obj->count( 1 );
+is $override_obj->count, 10;
+
+
+use Class::Struct Kapow => { z_zwap => 'Regexp', sploosh => 'MyObj' };
+
+is eval { main->new(); }, undef,
+    'No new method injected into current package';
+
+my $obj3 = Kapow->new();
+
+isa_ok $obj3, 'Kapow';
+is $obj3->z_zwap, undef, 'No z_zwap member by default';
+is $obj3->sploosh, undef, 'No sploosh member by default';
+$obj3->z_zwap(qr//);
+isa_ok $obj3->z_zwap, 'Regexp', 'Can set z_zwap member';
+$obj3->sploosh(MyObj->new(s => 'pie'));
+isa_ok $obj3->sploosh, 'MyObj',
+    'Can set sploosh member to object of correct class';
+is $obj3->sploosh->s, 'pie', 'Can set sploosh member to correct object';
+
+my $obj4 = Kapow->new( z_zwap => qr//, sploosh => MyObj->new(a => ['Good']) );
+
+isa_ok $obj4, 'Kapow';
+isa_ok $obj4->z_zwap, 'Regexp', 'Initialised z_zwap member';
+isa_ok $obj4->sploosh, 'MyObj', 'Initialised sploosh member';
+is_deeply $obj4->sploosh->a, ['Good'], 'with correct object';
+
+my $obj5 = Kapow->new( sploosh => { h => {perl => 'rules'} } );
+
+isa_ok $obj5, 'Kapow';
+is $obj5->z_zwap, undef, 'No z_zwap member by default';
+isa_ok $obj5->sploosh, 'MyObj', 'Initialised sploosh member from hash';
+is_deeply $obj5->sploosh->h, { perl => 'rules'} , 'with correct object';
+
+is eval {
+    package MyObj;
+    struct( s => '$', a => '@', h => '%', c => 'aClass' );
+}, undef, 'Calling struct a second time fails';
+
+like $@, qr/^function 'new' already defined in package MyObj/,
+    'fails with the expected error';
+
+is eval { MyObj->new( a => {} ) }, undef,
+    'Using a hash where an array reference is expected';
+like $@, qr/^Initializer for a must be array reference/,
+    'fails with the expected error';
+
+is eval { MyObj->new( h => [] ) }, undef,
+    'Using an array where a hash reference is expected';
+like $@, qr/^Initializer for h must be hash reference/,
+    'fails with the expected error';
+
+is eval { Kapow->new( sploosh => { h => [perl => 'rules'] } ); }, undef,
+    'Using an array where a hash reference is expected in an initialiser list';
+like $@, qr/^Initializer for h must be hash reference/,
+    'fails with the expected error';
+
+is eval { Kapow->new( sploosh => [ h => {perl => 'rules'} ] ); }, undef,
+    "Using an array for a member object's initialiser list";
+like $@, qr/^Initializer for sploosh must be hash or MyObj reference/,
+    'fails with the expected error';
+
+is eval {
+    package Crraack;
+    use Class::Struct 'struct';
+    struct( 'pow' => '@$%!' );
+}, undef, 'Bad type fails';
+like $@, qr/^'\@\$\%\!' is not a valid struct element type/,
+    'with the expected error';
+
+is eval {
+    $obj3->sploosh(MyOther->new(s => 3.14));
+}, undef, 'Setting member to the wrong class of object fails';
+like $@, qr/^sploosh argument is wrong class/,
+    'with the expected error';
+is $obj3->sploosh->s, 'pie', 'Object is unchanged';
+
+is eval {
+    $obj3->sploosh(MyObj->new(s => 3.14), 'plop');
+}, undef, 'Too many arguments to setter fails';
+like $@, qr/^Too many args to sploosh/,
+    'with the expected error';
+is $obj3->sploosh->s, 'pie', 'Object is unchanged';
+
+is eval {
+    package Blurp;
+    use Class::Struct 'struct';
+    struct( Blurp => {}, 'Bonus!' );
+}, undef, 'hash based class with extra argument fails';
+like $@, qr/\Astruct usage error.*\n.*\n/,
+    'with the expected confession';
+
+is eval {
+    package Zamm;
+    use Class::Struct 'struct';
+    struct( Zamm => [], 'Bonus!' );
+}, undef, 'array based class with extra argument fails';
+like $@, qr/\Astruct usage error.*\n.*\n/,
+    'with the expected confession';
+
+is eval {
+    package Thwapp;
+    use Class::Struct 'struct';
+    struct( Thwapp => ['Bonus!'] );
+}, undef, 'array based class with extra constructor argument fails';
+like $@, qr/\Astruct usage error.*\n.*\n/,
+    'with the expected confession';
+
+is eval {
+    package Rakkk;
+    use Class::Struct 'struct';
+    struct( z_zwap => 'Regexp', sploosh => 'MyObj', 'Bonus' );
+}, undef, 'default array based class with extra constructor argument fails';
+like $@, qr/\Astruct usage error.*\n.*\n/,
+    'with the expected confession';
+
+is eval {
+    package Awk;
+    use parent -norequire, 'Urkkk';
+    use Class::Struct 'struct';
+    struct( beer => 'foamy' );
+}, undef, '@ISA is not allowed';
+like $@, qr/^struct class cannot be a subclass \(\@ISA not allowed\)/,
+    'with the expected error';
+
+done_testing;


Property changes on: vendor/perl/dist/lib/Class/Struct.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Config/Extensions.pm
===================================================================
--- vendor/perl/dist/lib/Config/Extensions.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Config/Extensions.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Config/Extensions.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Config/Extensions.t
===================================================================
--- vendor/perl/dist/lib/Config/Extensions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Config/Extensions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Config/Extensions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Config.t
===================================================================
--- vendor/perl/dist/lib/Config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Cwd.pm
===================================================================
--- vendor/perl/dist/lib/Cwd.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Cwd.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Cwd.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/DB.pm
===================================================================
--- vendor/perl/dist/lib/DB.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DB.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -41,7 +41,7 @@
   $DB::subname = '';    # currently executing sub (fullly qualified name)
   $DB::lineno = '';     # current line number
 
-  $DB::VERSION = $DB::VERSION = '1.03';
+  $DB::VERSION = $DB::VERSION = '1.04';
 
   # initialize private globals to avoid warnings
 
@@ -258,7 +258,7 @@
     } elsif ($s eq '(eval)') {
       $s = "eval {...}";
     }
-    $f = "file `$f'" unless $f eq '-e';
+    $f = "file '$f'" unless $f eq '-e';
     push @ret, "$w&$s$a from $f line $l";
     last if $DB::signal;
   }


Property changes on: vendor/perl/dist/lib/DB.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/DB.t
===================================================================
--- vendor/perl/dist/lib/DB.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DB.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -126,7 +126,7 @@
         my @ret = eval { DB->backtrace() };
         like( $ret[0], qr/file.+\Q$0\E/, 'DB::backtrace() should report current file');
         like( $ret[0], qr/line $line/, '... should report calling line number' );
-        like( $ret[0], qr/eval {...}/, '... should catch eval BLOCK' );
+        like( $ret[0], qr/eval\Q {...}/, '... should catch eval BLOCK' );
 
         @ret = eval "one(2)";
         is( scalar @ret, 1, '... should report from provided stack frame number' );


Property changes on: vendor/perl/dist/lib/DB.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/Changes
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/compress.pm
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/compress.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/compress.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/compress.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/encode.pm
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/encode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/encode.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/encode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/int32.pm
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/int32.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/int32.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/int32.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/null.pm
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/null.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/null.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/null.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/t/01error.t
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/t/01error.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/t/01error.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/t/01error.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/t/02core.t
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/t/02core.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/t/02core.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/t/02core.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/t/compress.t
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/t/compress.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/t/compress.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/t/compress.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/t/encode.t
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/t/encode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/t/encode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/t/encode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/DBM_Filter/t/int32.t
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/t/int32.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/t/int32.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -55,9 +55,8 @@
     no warnings 'uninitialized';
     StoreData(\%h1,
 	{	
-		undef()	=> undef(),
 		"400"	=> "500",
-		0	=> 1,
+                undef()        => 1,
 		1	=> 0,
 		-47	=> -6,
 	});


Property changes on: vendor/perl/dist/lib/DBM_Filter/t/int32.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/t/null.t
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/t/null.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/t/null.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/t/null.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/t/utf8.t
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/t/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/DBM_Filter/utf8.pm
===================================================================
--- vendor/perl/dist/lib/DBM_Filter/utf8.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter/utf8.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DBM_Filter/utf8.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/DBM_Filter.pm
===================================================================
--- vendor/perl/dist/lib/DBM_Filter.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DBM_Filter.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use strict;
 use warnings;
-our $VERSION = '0.04';
+our $VERSION = '0.05';
 
 package Tie::Hash ;
 
@@ -247,7 +247,7 @@
     $db->Filtered();
 
     package DBM_Filter::my_filter1;
-    
+
     sub Store { ... }
     sub Fetch { ... }
 


Property changes on: vendor/perl/dist/lib/DBM_Filter.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Devel/InnerPackage.pm
===================================================================
--- vendor/perl/dist/lib/Devel/InnerPackage.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Devel/InnerPackage.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Devel/InnerPackage.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Devel/SelfStubber.pm
===================================================================
--- vendor/perl/dist/lib/Devel/SelfStubber.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Devel/SelfStubber.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Devel/SelfStubber.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Devel/SelfStubber.t
===================================================================
--- vendor/perl/dist/lib/Devel/SelfStubber.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Devel/SelfStubber.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Devel/SelfStubber.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Digest/base.pm
===================================================================
--- vendor/perl/dist/lib/Digest/base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Digest/base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Digest/base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Digest/file.pm
===================================================================
--- vendor/perl/dist/lib/Digest/file.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Digest/file.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Digest/file.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Digest/t/base.t
===================================================================
--- vendor/perl/dist/lib/Digest/t/base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Digest/t/base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Digest/t/base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Digest/t/digest.t
===================================================================
--- vendor/perl/dist/lib/Digest/t/digest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Digest/t/digest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Digest/t/digest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Digest/t/file.t
===================================================================
--- vendor/perl/dist/lib/Digest/t/file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Digest/t/file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Digest/t/file.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Digest.pm
===================================================================
--- vendor/perl/dist/lib/Digest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Digest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Digest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/DirHandle.pm
===================================================================
--- vendor/perl/dist/lib/DirHandle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DirHandle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DirHandle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/DirHandle.t
===================================================================
--- vendor/perl/dist/lib/DirHandle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/DirHandle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/DirHandle.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Dumpvalue.pm
===================================================================
--- vendor/perl/dist/lib/Dumpvalue.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Dumpvalue.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Dumpvalue.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Dumpvalue.t
===================================================================
--- vendor/perl/dist/lib/Dumpvalue.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Dumpvalue.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Dumpvalue.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/English.pm
===================================================================
--- vendor/perl/dist/lib/English.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/English.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package English;
 
-our $VERSION = '1.04';
+our $VERSION = '1.06';
 
 require Exporter;
 @ISA = qw(Exporter);
@@ -11,8 +11,9 @@
 
 =head1 SYNOPSIS
 
+    use English;
     use English qw( -no_match_vars ) ;  # Avoids regex performance penalty
-    use English;
+                                        # in perl 5.16 and earlier
     ...
     if ($ERRNO =~ /denied/) { ... }
 
@@ -32,6 +33,10 @@
 
 =head1 PERFORMANCE
 
+NOTE: This was fixed in perl 5.18.  Mentioning these three variables no
+longer makes a speed difference.  This section still applies if your code
+is to run on perl 5.16 or earlier.
+
 This module can provoke sizeable inefficiencies for regular expressions,
 due to unfortunate implementation details.  If performance matters in
 your application and you don't need $PREMATCH, $MATCH, or $POSTMATCH,
@@ -139,7 +144,7 @@
 
 @COMPLETE_EXPORT = ( @MINIMAL_EXPORT, @MATCH_EXPORT ) ;
 
-# The ground of all being. @ARG is deprecated (5.005 makes @_ lexical)
+# The ground of all being.
 
 	*ARG					= *_	;
 


Property changes on: vendor/perl/dist/lib/English.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/English.t
===================================================================
--- vendor/perl/dist/lib/English.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/English.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/English.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Env/t/array.t
===================================================================
--- vendor/perl/dist/lib/Env/t/array.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Env/t/array.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Env/t/array.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Env/t/env.t
===================================================================
--- vendor/perl/dist/lib/Env/t/env.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Env/t/env.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Env/t/env.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Env.pm
===================================================================
--- vendor/perl/dist/lib/Env.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Env.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Env.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Exporter/Heavy.pm
===================================================================
--- vendor/perl/dist/lib/Exporter/Heavy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Exporter/Heavy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Exporter/Heavy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/Exporter.pm
===================================================================
--- vendor/perl/dist/lib/Exporter.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Exporter.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 our $Debug = 0;
 our $ExportLevel = 0;
 our $Verbose ||= 0;
-our $VERSION = '5.64_03';
+our $VERSION = '5.68';
 our (%Cache);
 
 sub as_heavy {
@@ -44,7 +44,6 @@
   my $export_cache = ($Cache{$pkg} ||= {});
   my $args = @_ or @_ = @$exports;
 
-  local $_;
   if ($args and not %$export_cache) {
     s/^&//, $export_cache->{$_} = 1
       foreach (@$exports, @{"$pkg\::EXPORT_OK"});
@@ -127,14 +126,14 @@
 =head1 DESCRIPTION
 
 The Exporter module implements an C<import> method which allows a module
-to export functions and variables to its users' namespaces. Many modules
+to export functions and variables to its users' namespaces.  Many modules
 use Exporter rather than implementing their own C<import> method because
 Exporter provides a highly flexible interface, with an implementation optimised
 for the common case.
 
 Perl automatically calls the C<import> method when processing a
-C<use> statement for a module. Modules and C<use> are documented
-in L<perlfunc> and L<perlmod>. Understanding the concept of
+C<use> statement for a module.  Modules and C<use> are documented
+in L<perlfunc> and L<perlmod>.  Understanding the concept of
 modules and how the C<use> statement operates is important to
 understanding the Exporter.
 
@@ -153,7 +152,7 @@
 If you are only exporting function names it is recommended to omit the
 ampersand, as the implementation is faster this way.
 
-=head2 Selecting What To Export
+=head2 Selecting What to Export
 
 Do B<not> export method names!
 
@@ -178,8 +177,8 @@
 how to make inheritance work.)
 
 As a general rule, if the module is trying to be object oriented
-then export nothing. If it's just a collection of functions then
-C<@EXPORT_OK> anything but use C<@EXPORT> with caution. For function and
+then export nothing.  If it's just a collection of functions then
+C<@EXPORT_OK> anything but use C<@EXPORT> with caution.  For function and
 method names use barewords in preference to names prefixed with
 ampersands for the export lists.
 
@@ -205,7 +204,7 @@
 
 This imports only the symbols listed by the caller into their namespace.
 All listed symbols must be in your C<@EXPORT> or C<@EXPORT_OK>, else an error
-occurs. The advanced export features of Exporter are accessed like this,
+occurs.  The advanced export features of Exporter are accessed like this,
 but with list entries that are syntactically distinct from symbol names.
 
 =back
@@ -213,13 +212,13 @@
 Unless you want to use its advanced features, this is probably all you
 need to know to use Exporter.
 
-=head1 Advanced features
+=head1 Advanced Features
 
 =head2 Specialised Import Lists
 
 If any of the entries in an import list begins with !, : or / then
 the list is treated as a series of specifications which either add to
-or delete from the list of names to import. They are processed left to
+or delete from the list of names to import.  They are processed left to
 right. Specifications are in the form:
 
     [!]name         This name only
@@ -229,7 +228,7 @@
 
 A leading ! indicates that matching names should be deleted from the
 list of names to import.  If the first specification is a deletion it
-is treated as though preceded by :DEFAULT. If you just want to import
+is treated as though preceded by :DEFAULT.  If you just want to import
 extra names in addition to the default set you will still need to
 include :DEFAULT explicitly.
 
@@ -239,9 +238,10 @@
     @EXPORT_OK   = qw(B1 B2 B3 B4 B5);
     %EXPORT_TAGS = (T1 => [qw(A1 A2 B1 B2)], T2 => [qw(A1 A2 B3 B4)]);
 
-    Note that you cannot use tags in @EXPORT or @EXPORT_OK.
-    Names in EXPORT_TAGS must also appear in @EXPORT or @EXPORT_OK.
+Note that you cannot use tags in @EXPORT or @EXPORT_OK.
 
+Names in EXPORT_TAGS must also appear in @EXPORT or @EXPORT_OK.
+
 An application using Module can say something like:
 
     use Module qw(:DEFAULT :T2 !B3 A3);
@@ -258,13 +258,16 @@
 specifications are being processed and what is actually being imported
 into modules.
 
-=head2 Exporting without using Exporter's import method
+=head2 Exporting Without Using Exporter's import Method
 
 Exporter has a special method, 'export_to_level' which is used in situations
-where you can't directly call Exporter's import method. The export_to_level
+where you can't directly call Exporter's
+import method.  The export_to_level
 method looks like:
 
-    MyPackage->export_to_level($where_to_export, $package, @what_to_export);
+    MyPackage->export_to_level(
+	$where_to_export, $package, @what_to_export
+    );
 
 where C<$where_to_export> is an integer telling how far up the calling stack
 to export your symbols, and C<@what_to_export> is an array telling what
@@ -285,7 +288,7 @@
     }
 
 and you want to Export symbol C<$A::b> back to the module that called 
-package A. Since Exporter relies on the import method to work, via 
+package A.  Since Exporter relies on the import method to work, via 
 inheritance, as it stands Exporter::import() will never get called. 
 Instead, say the following:
 
@@ -305,11 +308,11 @@
 Note: Be careful not to modify C<@_> at all before you call export_to_level
 - or people using your package will get very unexplained results!
 
-=head2 Exporting without inheriting from Exporter
+=head2 Exporting Without Inheriting from Exporter
 
 By including Exporter in your C<@ISA> you inherit an Exporter's import() method
 but you also inherit several other helper methods which you probably don't
-want. To avoid this you can do
+want.  To avoid this you can do
 
   package YourModule;
   use Exporter qw( import );
@@ -324,22 +327,23 @@
 =head2 Module Version Checking
 
 The Exporter module will convert an attempt to import a number from a
-module into a call to C<< $module_name->require_version($value) >>. This can
+module into a call to C<< $module_name->VERSION($value) >>.  This can
 be used to validate that the version of the module being used is
 greater than or equal to the required version.
 
-The Exporter module supplies a default C<require_version> method which
-checks the value of C<$VERSION> in the exporting module.
+For historical reasons, Exporter supplies a C<require_version> method that
+simply delegates to C<VERSION>.  Originally, before C<UNIVERSAL::VERSION>
+existed, Exporter would call C<require_version>.
 
-Since the default C<require_version> method treats the C<$VERSION> number as
+Since the C<UNIVERSAL::VERSION> method treats the C<$VERSION> number as
 a simple numeric value it will regard version 1.10 as lower than
-1.9. For this reason it is strongly recommended that you use numbers
+1.9.  For this reason it is strongly recommended that you use numbers
 with at least two decimal places, e.g., 1.09.
 
 =head2 Managing Unknown Symbols
 
 In some situations you may want to prevent certain symbols from being
-exported. Typically this applies to extensions which have functions
+exported.  Typically this applies to extensions which have functions
 or constants that may not exist on some systems.
 
 The names of any symbols that cannot be exported should be listed
@@ -347,15 +351,15 @@
 
 If a module attempts to import any of these symbols the Exporter
 will give the module an opportunity to handle the situation before
-generating an error. The Exporter will call an export_fail method
+generating an error.  The Exporter will call an export_fail method
 with a list of the failed symbols:
 
   @failed_symbols = $module_name->export_fail(@failed_symbols);
 
 If the C<export_fail> method returns an empty list then no error is
-recorded and all the requested symbols are exported. If the returned
+recorded and all the requested symbols are exported.  If the returned
 list is not empty then an error is generated for each symbol and the
-export fails. The Exporter provides a default C<export_fail> method which
+export fails.  The Exporter provides a default C<export_fail> method which
 simply returns the list unchanged.
 
 Uses for the C<export_fail> method include giving better error messages
@@ -377,10 +381,10 @@
 
 Any names which are not tags are added to C<@EXPORT> or C<@EXPORT_OK>
 unchanged but will trigger a warning (with C<-w>) to avoid misspelt tags
-names being silently added to C<@EXPORT> or C<@EXPORT_OK>. Future versions
+names being silently added to C<@EXPORT> or C<@EXPORT_OK>.  Future versions
 may make this a fatal error.
 
-=head2 Generating combined tags
+=head2 Generating Combined Tags
 
 If several symbol categories exist in C<%EXPORT_TAGS>, it's usually
 useful to create the utility ":all" to simplify "use" statements.
@@ -423,7 +427,7 @@
 they can't be checked at compile time for constancy.
 
 Even if a prototype is available at compile time, the body of the
-subroutine is not (it hasn't been C<AUTOLOAD>ed yet). perl needs to
+subroutine is not (it hasn't been C<AUTOLOAD>ed yet).  perl needs to
 examine both the C<()> prototype and the body of a subroutine at
 compile time to detect that it can safely replace calls to that
 subroutine with the constant value.
@@ -434,9 +438,9 @@
 
    use Socket ;
 
-   foo( SO_LINGER );     ## SO_LINGER NOT optimized away; called at runtime
+   foo( SO_LINGER );  ## SO_LINGER NOT optimized away; called at runtime
    BEGIN { SO_LINGER }
-   foo( SO_LINGER );     ## SO_LINGER optimized away at compile time.
+   foo( SO_LINGER );  ## SO_LINGER optimized away at compile time.
 
 This forces the C<AUTOLOAD> for C<SO_LINGER> to take place before
 SO_LINGER is encountered later in C<My> package.
@@ -473,7 +477,7 @@
 constructions are executed.
 
 The ideal (but a bit ugly) way to never have to think
-about that is to use C<BEGIN> blocks. So the first part
+about that is to use C<BEGIN> blocks.  So the first part
 of the L</SYNOPSIS> code could be rewritten as:
 
   package YourModule;
@@ -502,7 +506,7 @@
 
 Any of these statements are nice replacements for
 C<BEGIN { require Exporter; @ISA = qw(Exporter); }>
-with the same compile-time effect. The basic difference
+with the same compile-time effect.  The basic difference
 is that C<base> code interacts with declared C<fields>
 while C<parent> is a streamlined version of the older
 C<base> code to just establish the IS-A relationship.
@@ -510,8 +514,8 @@
 For more details, see the documentation and code of
 L<base> and L<parent>.
 
-Another thorough remedy to that runtime vs. 
-compile-time trap is to use L<Exporter::Easy>,
+Another thorough remedy to that runtime
+vs. compile-time trap is to use L<Exporter::Easy>,
 which is a wrapper of Exporter that allows all
 boilerplate code at a single gulp in the
 use statement.
@@ -522,9 +526,9 @@
    # @ISA setup is automatic
    # all assignments happen at compile time
 
-=head2 What not to Export
+=head2 What Not to Export
 
-You have been warned already in L</Selecting What To Export>
+You have been warned already in L</Selecting What to Export>
 to not export:
 
 =over 4
@@ -545,16 +549,16 @@
 
 =back
 
-There's one more item to add to this list. Do B<not>
-export variable names. Just because C<Exporter> lets you
+There's one more item to add to this list.  Do B<not>
+export variable names.  Just because C<Exporter> lets you
 do that, it does not mean you should.
 
   @EXPORT_OK = qw( $svar @avar %hvar ); # DON'T!
 
-Exporting variables is not a good idea. They can
+Exporting variables is not a good idea.  They can
 change under the hood, provoking horrible
 effects at-a-distance, that are too hard to track
-and to fix. Trust me: they are not worth it.
+and to fix.  Trust me: they are not worth it.
 
 To provide the capability to set/get class-wide
 settings, it is best instead to provide accessors
@@ -563,10 +567,10 @@
 =head1 SEE ALSO
 
 C<Exporter> is definitely not the only module with
-symbol exporter capabilities. At CPAN, you may find
-a bunch of them. Some are lighter. Some
-provide improved APIs and features. Peek the one
-that fits your needs. The following is
+symbol exporter capabilities.  At CPAN, you may find
+a bunch of them.  Some are lighter.  Some
+provide improved APIs and features.  Peek the one
+that fits your needs.  The following is
 a sample list of such modules.
 
     Exporter::Easy
@@ -578,7 +582,7 @@
 
 =head1 LICENSE
 
-This library is free software. You can redistribute it
+This library is free software.  You can redistribute it
 and/or modify it under the same terms as Perl itself.
 
 =cut


Property changes on: vendor/perl/dist/lib/Exporter.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/Exporter.t
===================================================================
--- vendor/perl/dist/lib/Exporter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Exporter.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -25,7 +25,7 @@
 
 BEGIN {
     $test = 1;
-    print "1..30\n";
+    print "1..31\n";
     require Exporter;
     ok( 1, 'Exporter compiled' );
 }
@@ -233,3 +233,20 @@
 ::ok($Carp::Internal{Exporter}, "Carp recognizes Exporter");
 ::ok($Carp::Internal{'Exporter::Heavy'}, "Carp recognizes Exporter::Heavy");
 
+package Exporter::for::Tied::_;
+
+ at ISA = 'Exporter';
+ at EXPORT = 'foo';
+
+package Tied::_;
+
+sub TIESCALAR{bless[]}
+# no tie methods!
+
+{
+ tie my $t, __PACKAGE__;
+ for($t) { # $_ is now tied
+  import Exporter::for::Tied::_;
+ }
+}
+::ok(1, 'import with tied $_');


Property changes on: vendor/perl/dist/lib/Exporter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/Base.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Unix.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Unix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Unix.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Unix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/VMS.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/VMS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/VMS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/VMS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Windows.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Windows.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Windows.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/Windows.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/aix.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/aix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/aix.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/aix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/darwin.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/darwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/darwin.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/darwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/dec_osf.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/dec_osf.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/Platform/dec_osf.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/t/00-have-compiler.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/t/00-have-compiler.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/t/00-have-compiler.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/t/00-have-compiler.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/t/01-basic.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/t/01-basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/t/01-basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/t/01-basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder/t/02-link.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder/t/02-link.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder/t/02-link.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder/t/02-link.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/CBuilder.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/CBuilder.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/CBuilder.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/CBuilder.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Command/MM.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Command/MM.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Command/MM.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Command/MM.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Command.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Command.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Command.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Command.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Constant/Base.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Constant/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Constant/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Constant/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Constant/ProxySubs.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Constant/ProxySubs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Constant/ProxySubs.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Constant/ProxySubs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Constant/Utils.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Constant/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Constant/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Constant/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Constant/XS.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Constant/XS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Constant/XS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Constant/XS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Constant.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Constant.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Constant.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Constant.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Embed.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Embed.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Embed.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Embed.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Install.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Install.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Install.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Install.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Installed.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Installed.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Installed.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Installed.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Liblist/Kid.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Liblist/Kid.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Liblist/Kid.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Liblist/Kid.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Liblist.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Liblist.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Liblist.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Liblist.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MANIFEST.SKIP
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MANIFEST.SKIP	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MANIFEST.SKIP	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MANIFEST.SKIP
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_AIX.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_AIX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_AIX.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_AIX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_Any.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_Any.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_Any.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_Any.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_BeOS.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_BeOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_BeOS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_BeOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_Cygwin.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_Cygwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_Cygwin.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_Cygwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_DOS.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_DOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_DOS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_DOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_Darwin.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_Darwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_Darwin.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_Darwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_MacOS.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_MacOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_MacOS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_MacOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_NW5.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_NW5.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_NW5.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_NW5.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_OS2.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_OS2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_OS2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_OS2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_QNX.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_QNX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_QNX.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_QNX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_UWIN.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_UWIN.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_UWIN.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_UWIN.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_Unix.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_Unix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_Unix.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_Unix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_VMS.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_VMS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_VMS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_VMS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_VOS.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_VOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_VOS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_VOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_Win32.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_Win32.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_Win32.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_Win32.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MM_Win95.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MM_Win95.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MM_Win95.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MM_Win95.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MY.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MY.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MY.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MY.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MakeMaker/Config.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MakeMaker/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MakeMaker/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MakeMaker/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MakeMaker/FAQ.pod
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MakeMaker/FAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MakeMaker/FAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MakeMaker/FAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MakeMaker/Tutorial.pod
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MakeMaker/Tutorial.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MakeMaker/Tutorial.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MakeMaker/Tutorial.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MakeMaker/bytes.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MakeMaker/bytes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MakeMaker/bytes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MakeMaker/bytes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/MakeMaker.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/MakeMaker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/MakeMaker.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/MakeMaker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Manifest.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Manifest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Manifest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Manifest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Mkbootstrap.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Mkbootstrap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Mkbootstrap.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Mkbootstrap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Mksymlists.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Mksymlists.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Mksymlists.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Mksymlists.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/NOTES
===================================================================
--- vendor/perl/dist/lib/ExtUtils/NOTES	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/NOTES	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/NOTES
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/PATCHING
===================================================================
--- vendor/perl/dist/lib/ExtUtils/PATCHING	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/PATCHING	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/PATCHING
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/Packlist.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/Packlist.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/Packlist.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/Packlist.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.xs
===================================================================
--- vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSTest.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.xs
===================================================================
--- vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/ParseXS/t/XSUsage.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/ParseXS/t/basic.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/ParseXS/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/ParseXS/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/ParseXS/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/ParseXS/t/usage.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/ParseXS/t/usage.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/ParseXS/t/usage.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/ParseXS/t/usage.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/ParseXS.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/ParseXS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/ParseXS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/ParseXS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/README
===================================================================
--- vendor/perl/dist/lib/ExtUtils/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/TODO
===================================================================
--- vendor/perl/dist/lib/ExtUtils/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/XSSymSet.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/XSSymSet.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/XSSymSet.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/XSSymSet.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/instmodsh
===================================================================
--- vendor/perl/dist/lib/ExtUtils/instmodsh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/instmodsh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/instmodsh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/00compile.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/00compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/00compile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/00compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/Constant.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Constant.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Constant.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/Constant.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/ExtUtils/t/Embed.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Embed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Embed.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,7 +20,6 @@
 print "1..9\n";
 my $cc = $Config{'cc'};
 my $cl  = ($^O eq 'MSWin32' && $cc eq 'cl');
-my $borl  = ($^O eq 'MSWin32' && $cc eq 'bcc32');
 my $skip_exe = $^O eq 'os2' && $Config{ldflags} =~ /(?<!\S)-Zexe\b/;
 my $exe = 'embed_test';
 $exe .= $Config{'exe_ext'} unless $skip_exe;	# Linker will auto-append it
@@ -57,9 +56,6 @@
    if ($cl) {
     push(@cmd,$cc,"-Fe$exe");
    }
-   elsif ($borl) {
-    push(@cmd,$cc,"-o$exe");
-   }
    else {
     push(@cmd,$cc,'-o' => $exe);
    }
@@ -94,9 +90,6 @@
 	if $^O eq 'os2' and $Config{ldflags} =~ /(?<!\S)-Zomf\b/;
     push(@cmd,ldopts());
    }
-   if ($borl) {
-     @cmd = ($cmd[0],(grep{/^-[LI]/}@cmd[1..$#cmd]),(grep{!/^-[LI]/}@cmd[1..$#cmd]));
-   }
 
    if ($^O eq 'aix') { # AIX needs an explicit symbol export list.
     my ($perl_exp) = grep { -f } qw(perl.exp ../perl.exp);
@@ -211,13 +204,13 @@
 
     perl_free(my_perl);
 
+    my_puts("ok 8");
+
+    PERL_SYS_TERM();
+
 #ifdef PERL_GLOBAL_STRUCT
     free_global_struct(plvarsp);
 #endif /* PERL_GLOBAL_STRUCT */
 
-    my_puts("ok 8");
-
-    PERL_SYS_TERM();
-
     return 0;
 }


Property changes on: vendor/perl/dist/lib/ExtUtils/t/Embed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/FIRST_MAKEFILE.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/FIRST_MAKEFILE.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/FIRST_MAKEFILE.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/FIRST_MAKEFILE.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/INST.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/INST.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/INST.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/INST.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/INSTALL_BASE.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/INSTALL_BASE.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/INSTALL_BASE.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/INSTALL_BASE.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/INST_PREFIX.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/INST_PREFIX.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/INST_PREFIX.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/INST_PREFIX.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/Install.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Install.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Install.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/Install.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/InstallWithMM.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/InstallWithMM.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/InstallWithMM.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/InstallWithMM.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/Installapi2.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Installapi2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Installapi2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/Installapi2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/Installed.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Installed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Installed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/Installed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/Liblist.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Liblist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Liblist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/Liblist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MM_Any.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MM_Any.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MM_Any.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MM_Any.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MM_BeOS.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MM_BeOS.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MM_BeOS.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MM_BeOS.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MM_Cygwin.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MM_Cygwin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MM_Cygwin.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MM_Cygwin.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MM_NW5.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MM_NW5.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MM_NW5.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MM_NW5.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MM_OS2.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MM_OS2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MM_OS2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MM_OS2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MM_Unix.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MM_Unix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MM_Unix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MM_Unix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MM_VMS.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MM_VMS.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MM_VMS.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MM_VMS.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MM_Win32.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MM_Win32.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MM_Win32.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MM_Win32.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/MakeMaker_Parameters.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/MakeMaker_Parameters.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/MakeMaker_Parameters.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/MakeMaker_Parameters.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/Manifest.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Manifest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Manifest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/Manifest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/Mkbootstrap.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Mkbootstrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Mkbootstrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/Mkbootstrap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/PL_FILES.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/PL_FILES.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/PL_FILES.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/PL_FILES.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/Packlist.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/Packlist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/Packlist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/Packlist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/VERSION_FROM.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/VERSION_FROM.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/VERSION_FROM.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/VERSION_FROM.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/WriteEmptyMakefile.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/WriteEmptyMakefile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/WriteEmptyMakefile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/WriteEmptyMakefile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/arch_check.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/arch_check.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/arch_check.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/arch_check.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/backwards.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/backwards.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/backwards.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/backwards.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/basic.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/build_man.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/build_man.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/build_man.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/build_man.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/bytes.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/bytes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/bytes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/bytes.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/can_write_dir.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/can_write_dir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/can_write_dir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/can_write_dir.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/cd.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/cd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/cd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/cd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/config.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/cp.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/cp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/cp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/cp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/dir_target.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/dir_target.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/dir_target.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/dir_target.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/eu_command.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/eu_command.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/eu_command.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/eu_command.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/fix_libs.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/fix_libs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/fix_libs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/fix_libs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/fixin.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/fixin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/fixin.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/fixin.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/hints.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/hints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/hints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/hints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/installed_file.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/installed_file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/installed_file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/installed_file.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/is_of_type.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/is_of_type.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/is_of_type.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/is_of_type.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/make.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/make.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/make.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/make.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/maketext_filter.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/maketext_filter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/maketext_filter.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/maketext_filter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/metafile_data.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/metafile_data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/metafile_data.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/metafile_data.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/metafile_file.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/metafile_file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/metafile_file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/metafile_file.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/min_perl_version.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/min_perl_version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/min_perl_version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/min_perl_version.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/miniperl.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/miniperl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/miniperl.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/miniperl.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/oneliner.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/oneliner.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/oneliner.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/oneliner.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/parse_version.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/parse_version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/parse_version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/parse_version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/pm.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/pm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/pm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/pm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/pm_to_blib.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/pm_to_blib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/pm_to_blib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/pm_to_blib.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/pod2man.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/pod2man.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/pod2man.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/pod2man.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/postamble.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/postamble.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/postamble.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/postamble.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/prefixify.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/prefixify.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/prefixify.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/prefixify.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/prereq.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/prereq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/prereq.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/prereq.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/prereq_print.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/prereq_print.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/prereq_print.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/prereq_print.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/problems.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/problems.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/problems.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/problems.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/prompt.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/prompt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/prompt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/prompt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/recurs.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/recurs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/recurs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/recurs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/revision.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/revision.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/revision.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/revision.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/split_command.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/split_command.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/split_command.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/split_command.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/test_boilerplate.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/test_boilerplate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/test_boilerplate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/test_boilerplate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch1/Config.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch1/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch1/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch1/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch2/Config.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch2/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch2/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/testdata/reallylongdirectoryname/arch2/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/testlib.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/testlib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/testlib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/testlib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/writemakefile_args.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/writemakefile_args.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/writemakefile_args.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/writemakefile_args.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/t/xs.t
===================================================================
--- vendor/perl/dist/lib/ExtUtils/t/xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/t/xs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/t/xs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/testlib.pm
===================================================================
--- vendor/perl/dist/lib/ExtUtils/testlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/testlib.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/testlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/ExtUtils/typemap
===================================================================
--- vendor/perl/dist/lib/ExtUtils/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/typemap	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,10 +24,16 @@
 void *			T_PTR
 Time_t *		T_PV
 SV *			T_SV
+
+# These are the backwards-compatibility AV*/HV* typemaps that
+# do not decrement refcounts. Locally override with
+# "AV*	T_AVREF_REFCOUNT_FIXED", "HV*	T_HVREF_REFCOUNT_FIXED",
+# "CV*	T_CVREF_REFCOUNT_FIXED", "SVREF	T_SVREF_REFCOUNT_FIXED",
+# to get the fixed versions.
 SVREF			T_SVREF
+CV *			T_CVREF
 AV *			T_AVREF
 HV *			T_HVREF
-CV *			T_CVREF
 
 IV			T_IV
 UV			T_UV
@@ -70,6 +76,19 @@
 				\"$var\");
 		}
 	} STMT_END
+T_SVREF_REFCOUNT_FIXED
+	STMT_START {
+		SV* const xsub_tmp_sv = $arg;
+		SvGETMAGIC(xsub_tmp_sv);
+		if (SvROK(xsub_tmp_sv)){
+		    $var = SvRV(xsub_tmp_sv);
+		}
+		else{
+		    Perl_croak(aTHX_ \"%s: %s is not a reference\",
+				${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+				\"$var\");
+		}
+	} STMT_END
 T_AVREF
 	STMT_START {
 		SV* const xsub_tmp_sv = $arg;
@@ -83,6 +102,19 @@
 				\"$var\");
 		}
 	} STMT_END
+T_AVREF_REFCOUNT_FIXED
+	STMT_START {
+		SV* const xsub_tmp_sv = $arg;
+		SvGETMAGIC(xsub_tmp_sv);
+		if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVAV){
+		    $var = (AV*)SvRV(xsub_tmp_sv);
+		}
+		else{
+		    Perl_croak(aTHX_ \"%s: %s is not an ARRAY reference\",
+				${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+				\"$var\");
+		}
+	} STMT_END
 T_HVREF
 	STMT_START {
 		SV* const xsub_tmp_sv = $arg;
@@ -96,19 +128,45 @@
 				\"$var\");
 		}
 	} STMT_END
-T_CVREF
+T_HVREF_REFCOUNT_FIXED
 	STMT_START {
 		SV* const xsub_tmp_sv = $arg;
 		SvGETMAGIC(xsub_tmp_sv);
-		if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVCV){
-		    $var = (CV*)SvRV(xsub_tmp_sv);
+		if (SvROK(xsub_tmp_sv) && SvTYPE(SvRV(xsub_tmp_sv)) == SVt_PVHV){
+		    $var = (HV*)SvRV(xsub_tmp_sv);
 		}
 		else{
+		    Perl_croak(aTHX_ \"%s: %s is not a HASH reference\",
+				${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+				\"$var\");
+		}
+	} STMT_END
+T_CVREF
+	STMT_START {
+                HV *st;
+                GV *gvp;
+		SV * const xsub_tmp_sv = $arg;
+		SvGETMAGIC(xsub_tmp_sv);
+                $var = sv_2cv(xsub_tmp_sv, &st, &gvp, 0);
+		if (!$var) {
 		    Perl_croak(aTHX_ \"%s: %s is not a CODE reference\",
 				${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
 				\"$var\");
 		}
 	} STMT_END
+T_CVREF_REFCOUNT_FIXED
+	STMT_START {
+                HV *st;
+                GV *gvp;
+		SV * const xsub_tmp_sv = $arg;
+		SvGETMAGIC(xsub_tmp_sv);
+                $var = sv_2cv(xsub_tmp_sv, &st, &gvp, 0);
+		if (!$var) {
+		    Perl_croak(aTHX_ \"%s: %s is not a CODE reference\",
+				${$ALIAS?\q[GvNAME(CvGV(cv))]:\qq[\"$pname\"]},
+				\"$var\");
+		}
+	} STMT_END
 T_SYSRET
 	$var NOT IMPLEMENTED
 T_UV
@@ -217,8 +275,6 @@
 	$var = XS_unpack_$ntype($arg)
 T_PACKEDARRAY
 	$var = XS_unpack_$ntype($arg)
-T_CALLBACK
-	$var = make_perl_cb_$type($arg)
 T_ARRAY
 	U32 ix_$var = $argoff;
 	$var = $ntype(items -= $argoff);
@@ -242,12 +298,20 @@
 	$arg = $var;
 T_SVREF
 	$arg = newRV((SV*)$var);
+T_SVREF_REFCOUNT_FIXED
+	$arg = newRV_noinc((SV*)$var);
 T_AVREF
 	$arg = newRV((SV*)$var);
+T_AVREF_REFCOUNT_FIXED
+	$arg = newRV_noinc((SV*)$var);
 T_HVREF
 	$arg = newRV((SV*)$var);
+T_HVREF_REFCOUNT_FIXED
+	$arg = newRV_noinc((SV*)$var);
 T_CVREF
 	$arg = newRV((SV*)$var);
+T_CVREF_REFCOUNT_FIXED
+	$arg = newRV_noinc((SV*)$var);
 T_IV
 	sv_setiv($arg, (IV)$var);
 T_UV
@@ -264,7 +328,7 @@
 T_ENUM
 	sv_setiv($arg, (IV)$var);
 T_BOOL
-	$arg = boolSV($var);
+	${"$var" eq "RETVAL" ? \"$arg = boolSV($var);" : \"sv_setsv($arg, boolSV($var));"}
 T_U_INT
 	sv_setuv($arg, (UV)$var);
 T_SHORT
@@ -311,11 +375,6 @@
 	XS_pack_$ntype($arg, $var);
 T_PACKEDARRAY
 	XS_pack_$ntype($arg, $var, count_$ntype);
-T_DATAUNIT	
-	sv_setpvn($arg, $var.chp(), $var.size());
-T_CALLBACK
-	sv_setpvn($arg, $var.context.value().chp(),
-		$var.context.value().size());
 T_ARRAY
         {
 	    U32 ix_$var;


Property changes on: vendor/perl/dist/lib/ExtUtils/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ExtUtils/xsubpp
===================================================================
--- vendor/perl/dist/lib/ExtUtils/xsubpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ExtUtils/xsubpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ExtUtils/xsubpp
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Fatal.pm
===================================================================
--- vendor/perl/dist/lib/Fatal.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Fatal.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Fatal.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Fatal.t
===================================================================
--- vendor/perl/dist/lib/Fatal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Fatal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Fatal.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/Basename.pm
===================================================================
--- vendor/perl/dist/lib/File/Basename.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Basename.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -54,7 +54,7 @@
 require Exporter;
 @ISA = qw(Exporter);
 @EXPORT = qw(fileparse fileparse_set_fstype basename dirname);
-$VERSION = "2.82";
+$VERSION = "2.84";
 
 fileparse_set_fstype($^O);
 
@@ -91,7 +91,7 @@
      # On Unix returns ("baz", "/foo/bar/", ".txt")
      fileparse("/foo/bar/baz.txt", qr/\.[^.]*/);
 
-If type is non-Unix (see C<fileparse_set_fstype()>) then the pattern
+If type is non-Unix (see L</fileparse_set_fstype>) then the pattern
 matching for suffix removal is performed case-insensitively, since
 those systems are not case-sensitive when opening existing files.
 
@@ -215,7 +215,7 @@
   my($path) = shift;
 
   # From BSD basename(1)
-  # The basename utility deletes any prefix ending with the last slash `/'
+  # The basename utility deletes any prefix ending with the last slash '/'
   # character present in string (after first stripping trailing slashes)
   _strip_trailing_sep($path);
 


Property changes on: vendor/perl/dist/lib/File/Basename.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/Basename.t
===================================================================
--- vendor/perl/dist/lib/File/Basename.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Basename.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -154,7 +154,9 @@
 
 
 ### Test tainting
-{
+SKIP: {
+    skip "A perl without taint support", 2
+        if not ${^TAINT};
     #   The empty tainted value, for tainting strings
     my $TAINT = substr($^X, 0, 0);
 


Property changes on: vendor/perl/dist/lib/File/Basename.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/CheckTree.pm
===================================================================
--- vendor/perl/dist/lib/File/CheckTree.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/CheckTree.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/CheckTree.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/CheckTree.t
===================================================================
--- vendor/perl/dist/lib/File/CheckTree.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/CheckTree.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/CheckTree.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Compare.pm
===================================================================
--- vendor/perl/dist/lib/File/Compare.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Compare.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Compare.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/Compare.t
===================================================================
--- vendor/perl/dist/lib/File/Compare.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Compare.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -112,6 +112,7 @@
   print "not " unless $donetests[2] == 0;
   print "ok 13 # ";
   print "TODO" if $^O eq "cygwin"; # spaces after filename silently trunc'd
+  print "TODO" if $^O eq "vos"; # spaces after filename silently trunc'd
   print " file/fileCR [$donetests[2]]\n";
 }
 else {


Property changes on: vendor/perl/dist/lib/File/Compare.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/Copy.pm
===================================================================
--- vendor/perl/dist/lib/File/Copy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Copy.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 
 use 5.006;
 use strict;
-use warnings;
+use warnings; no warnings 'newline';
 use File::Spec;
 use Config;
 # During perl build, we need File::Copy but Scalar::Util might not be built yet
@@ -22,7 +22,7 @@
 sub cp;
 sub mv;
 
-$VERSION = '2.21';
+$VERSION = '2.26';
 
 require Exporter;
 @ISA = qw(Exporter);
@@ -128,11 +128,13 @@
 
     if (_eq($from, $to)) { # works for references, too
 	carp("'$from' and '$to' are identical (not copied)");
-        # The "copy" was a success as the source and destination contain
-        # the same data.
-        return 1;
+        return 0;
     }
 
+    if (!$from_a_handle && !$to_a_handle && -d $to && ! -d $from) {
+	$to = _catname($from, $to);
+    }
+
     if ((($Config{d_symlink} && $Config{d_readlink}) || $Config{d_link}) &&
 	!($^O eq 'MSWin32' || $^O eq 'os2')) {
 	my @fs = stat($from);
@@ -144,15 +146,14 @@
 	    }
 	}
     }
-
-    if (!$from_a_handle && !$to_a_handle && -d $to && ! -d $from) {
-	$to = _catname($from, $to);
+    elsif (_eq($from, $to)) {
+	carp("'$from' and '$to' are identical (not copied)");
+	return 0;
     }
 
     if (defined &syscopy && !$Syscopy_is_copy
 	&& !$to_a_handle
 	&& !($from_a_handle && $^O eq 'os2' )	# OS/2 cannot handle handles
-	&& !($from_a_handle && $^O eq 'mpeix')	# and neither can MPE/iX.
 	&& !($from_a_handle && $^O eq 'MSWin32')
 	&& !($from_a_handle && $^O eq 'NetWare')
        )
@@ -410,13 +411,6 @@
 unless (defined &syscopy) {
     if ($^O eq 'VMS') {
 	*syscopy = \&rmscopy;
-    } elsif ($^O eq 'mpeix') {
-	*syscopy = sub {
-	    return 0 unless @_ == 2;
-	    # Use the MPE cp program in order to
-	    # preserve MPE file attributes.
-	    return system('/bin/cp', '-f', $_[0], $_[1]) == 0;
-	};
     } elsif ($^O eq 'MSWin32' && defined &DynaLoader::boot_DynaLoader) {
 	# Win32::CopyFile() fill only work if we can load Win32.xs
 	*syscopy = sub {
@@ -468,7 +462,7 @@
 sort, it will be read from, and if it is a file I<name> it will
 be opened for reading. Likewise, the second argument will be
 written to (and created if need be).  Trying to copy a file on top
-of itself is a fatal error.
+of itself is an error.
 
 If the destination (second argument) already exists and is a directory,
 and the source (first argument) is not a filehandle, then the source
@@ -492,7 +486,7 @@
 
 You may use the syntax C<use File::Copy "cp"> to get at the C<cp>
 alias for this function. The syntax is I<exactly> the same.  The
-behavior is nearly the same as well: as of version 2.15, <cp> will
+behavior is nearly the same as well: as of version 2.15, C<cp> will
 preserve the source file's permission bits like the shell utility
 C<cp(1)> would do, while C<copy> uses the default permissions for the
 target file (which may depend on the process' C<umask>, file
@@ -515,7 +509,7 @@
 copy of the file under the destination name.
 
 You may use the C<mv> alias for this function in the same way that
-you may use the <cp> alias for C<copy>.
+you may use the C<cp> alias for C<copy>.
 
 =item syscopy
 X<syscopy>


Property changes on: vendor/perl/dist/lib/File/Copy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/Copy.t
===================================================================
--- vendor/perl/dist/lib/File/Copy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Copy.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,7 +14,7 @@
 
 my $TB = Test::More->builder;
 
-plan tests => 463;
+plan tests => 465;
 
 # We're going to override rename() later on but Perl has to see an override
 # at compile time to honor it.
@@ -139,7 +139,7 @@
   { 
     my $warnings = '';
     local $SIG{__WARN__} = sub { $warnings .= join '', @_ };
-    ok copy("file-$$", "file-$$"), 'copy(fn, fn) succeeds';
+    ok !copy("file-$$", "file-$$"), 'copy to itself fails';
 
     like $warnings, qr/are identical/, 'but warns';
     ok -s "file-$$", 'contents preserved';
@@ -265,7 +265,12 @@
           if $^O eq 'VMS';
     skip "Copy doesn't set file permissions correctly on Win32.",  $skips
           if $^O eq "MSWin32";
+    skip "Copy maps POSIX permissions to VOS permissions.", $skips
+          if $^O eq "vos";
+    skip "There be dragons here with DragonflyBSD.", $skips
+         if $^O eq 'dragonfly';
 
+
     # Just a sub to get better failure messages.
     sub __ ($) {
         my $perm   = shift;
@@ -409,7 +414,7 @@
 	foreach my $right (qw(plain object1 object2)) {
 	    @warnings = ();
 	    $! = 0;
-	    is eval {copy $what{$left}, $what{$right}}, 1, "copy $left $right";
+	    is eval {copy $what{$left}, $what{$right}}, 0, "copy $left $right";
 	    is $@, '', 'No croaking';
 	    is $!, '', 'No system call errors';
 	    is @warnings, 1, 'Exactly 1 warning';
@@ -470,6 +475,31 @@
     close($IN);
 }
 
+use File::Temp qw(tempdir);
+use File::Spec;
+
+SKIP: {
+    # RT #111126: File::Copy copy() zeros file when copying a file
+    # into the same directory it is stored in
+
+    my $temp_dir = tempdir( CLEANUP => 1 );
+    my $temp_file = File::Spec->catfile($temp_dir, "somefile");
+
+    open my $fh, ">", $temp_file
+	or skip "Cannot create $temp_file: $!", 2;
+    print $fh "Just some data";
+    close $fh
+	or skip "Cannot close $temp_file: $!", 2;
+
+    my $warn_message = "";
+    local $SIG{__WARN__} = sub { $warn_message .= "@_" };
+    ok(!copy($temp_file, $temp_dir),
+       "Copy of foo/file to foo/ should fail");
+    like($warn_message, qr/^\Q'$temp_file' and '$temp_file'\E are identical.*Copy\.t/i,
+	 "error message should describe the problem");
+    1 while unlink $temp_file;
+}
+
 END {
     1 while unlink "file-$$";
     1 while unlink "lib/file-$$";


Property changes on: vendor/perl/dist/lib/File/Copy.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/File/DosGlob.pm
===================================================================
--- vendor/perl/dist/lib/File/DosGlob.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/DosGlob.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/DosGlob.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/File/DosGlob.t
===================================================================
--- vendor/perl/dist/lib/File/DosGlob.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/DosGlob.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/DosGlob.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Fetch/t/01_File-Fetch.t
===================================================================
--- vendor/perl/dist/lib/File/Fetch/t/01_File-Fetch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Fetch/t/01_File-Fetch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Fetch/t/01_File-Fetch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Fetch.pm
===================================================================
--- vendor/perl/dist/lib/File/Fetch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Fetch.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Fetch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/Find/t/find.t
===================================================================
--- vendor/perl/dist/lib/File/Find/t/find.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Find/t/find.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
     $SIG{'__WARN__'} = sub { $warn_msg = $_[0]; warn "# $_[0]"; }
 }
 
-my $test_count = 85;
+my $test_count = 98;
 $test_count += 119 if $symlink_exists;
 $test_count += 26 if $^O eq 'MSWin32';
 $test_count += 2 if $^O eq 'MSWin32' and $symlink_exists;
@@ -108,6 +108,21 @@
 	rmdir dir_path('fb', 'fbc');
 	rmdir dir_path('fb');
     }
+    if (-d dir_path('fc')) {
+        unlink (
+            file_path('fc', 'fca', 'match_alpha'),
+            file_path('fc', 'fca', 'match_beta'),
+            file_path('fc', 'fcb', 'match_gamma'),
+            file_path('fc', 'fcb', 'delta'),
+            file_path('fc', 'fcc', 'match_epsilon'),
+            file_path('fc', 'fcc', 'match_zeta'),
+            file_path('fc', 'fcc', 'eta'),
+        );
+        rmdir dir_path('fc', 'fca');
+        rmdir dir_path('fc', 'fcb');
+        rmdir dir_path('fc', 'fcc');
+        rmdir dir_path('fc');
+    }
     if ($need_updir) {
         my $updir = $^O eq 'VMS' ? File::Spec::VMS->updir() : File::Spec->updir;
         chdir($updir);
@@ -197,7 +212,7 @@
     print "# --preprocess--\n";
     print "#   \$File::Find::dir => '$File::Find::dir' \n";
     foreach $file (@files) {
-        $file =~ s/\.(dir)?$// if $^O eq 'VMS';
+        $file =~ s/\.(dir)?$//i if $^O eq 'VMS';
         print "#   $file \n";
         delete $Expect_Dir{ $File::Find::dir }->{$file};
     }
@@ -870,7 +885,42 @@
     Check (!$dangling_symlink);
 }
 
+print "# RT 59750\n";
+MkDir( dir_path('fc'), 0770 );
+MkDir( dir_path('fc', 'fca'), 0770 );
+MkDir( dir_path('fc', 'fcb'), 0770 );
+MkDir( dir_path('fc', 'fcc'), 0770 );
+touch( file_path('fc', 'fca', 'match_alpha') );
+touch( file_path('fc', 'fca', 'match_beta') );
+touch( file_path('fc', 'fcb', 'match_gamma') );
+touch( file_path('fc', 'fcb', 'delta') );
+touch( file_path('fc', 'fcc', 'match_epsilon') );
+touch( file_path('fc', 'fcc', 'match_zeta') );
+touch( file_path('fc', 'fcc', 'eta') );
 
+my @files_from_mixed = ();
+sub wantmatch {
+    if ( $File::Find::name =~ m/match/ ) {
+        push @files_from_mixed, $_;
+        print "# \$_ => '$_'\n";
+    }
+}
+find( \&wantmatch, (
+    dir_path('fc', 'fca'),
+    dir_path('fc', 'fcb'),
+    dir_path('fc', 'fcc'),
+) );
+Check( scalar(@files_from_mixed) == 5 );
+
+ at files_from_mixed = ();
+find( \&wantmatch, (
+    dir_path('fc', 'fca'),
+    dir_path('fc', 'fcb'),
+    file_path('fc', 'fcc', 'match_epsilon'),
+    file_path('fc', 'fcc', 'eta'),
+) );
+Check( scalar(@files_from_mixed) == 4 );
+
 if ($^O eq 'MSWin32') {
     # Check F:F:f correctly handles a root directory path.
     # Rather than processing the entire drive (!), simply test that the


Property changes on: vendor/perl/dist/lib/File/Find/t/find.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/Find/t/taint.t
===================================================================
--- vendor/perl/dist/lib/File/Find/t/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Find/t/taint.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,13 @@
 #!./perl -T
 use strict;
+use Test::More;
+BEGIN {
+    plan(
+        ${^TAINT}
+        ? (tests => 45)
+        : (skip_all => "A perl without taint support") 
+    );
+}
 
 my %Expect_File = (); # what we expect for $_
 my %Expect_Name = (); # what we expect for $File::Find::name/fullname
@@ -6,7 +14,6 @@
 my %Expect_Dir  = (); # what we expect for $File::Find::dir
 my ($cwd, $cwd_untainted);
 
-
 BEGIN {
     require File::Spec;
     chdir 't' if -d 't';
@@ -42,8 +49,6 @@
     $ENV{'PATH'} = join($sep, at path);
 }
 
-use Test::More tests => 45;
-
 my $symlink_exists = eval { symlink("",""); 1 };
 
 use File::Find;


Property changes on: vendor/perl/dist/lib/File/Find/t/taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/Find.pm
===================================================================
--- vendor/perl/dist/lib/File/Find.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Find.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 use warnings::register;
-our $VERSION = '1.19';
+our $VERSION = '1.23';
 require Exporter;
 require Cwd;
 
@@ -114,7 +114,7 @@
 links (followed) may contain files more than once and may even have
 cycles, a hash has to be built up with an entry for each file.
 This might be expensive both in space and time for a large
-directory tree. See I<follow_fast> and I<follow_skip> below.
+directory tree. See L</follow_fast> and L</follow_skip> below.
 If either I<follow> or I<follow_fast> is in effect:
 
 =over 6
@@ -280,6 +280,14 @@
          -l && !-e && print "bogus link: $File::Find::name\n";
     }
 
+Note that you may mix directories and (non-directory) files in the list of 
+directories to be searched by the C<wanted()> function.
+
+    find(\&wanted, "./foo", "./bar", "./baz/epsilon");
+
+In the example above, no file in F<./baz/> other than F<./baz/epsilon> will be
+evaluated by C<wanted()>.
+
 See also the script C<pfind> on CPAN for a nice application of this
 module.
 
@@ -515,6 +523,7 @@
     Proc_Top_Item:
     foreach my $TOP (@_) {
 	my $top_item = $TOP;
+	$top_item = VMS::Filespec::unixify($top_item) if $Is_VMS;
 
 	($topdev,$topino,$topmode,$topnlink) = $follow ? stat $top_item : lstat $top_item;
 
@@ -1095,8 +1104,7 @@
 
 $File::Find::dont_use_nlink = 1
     if $^O eq 'os2' || $^O eq 'dos' || $^O eq 'amigaos' || $Is_Win32 ||
-       $^O eq 'interix' || $^O eq 'cygwin' || $^O eq 'epoc' || $^O eq 'qnx' ||
-	   $^O eq 'nto';
+       $^O eq 'interix' || $^O eq 'cygwin' || $^O eq 'qnx' || $^O eq 'nto';
 
 # Set dont_use_nlink in your hint file if your system's stat doesn't
 # report the number of links in a directory as an indication


Property changes on: vendor/perl/dist/lib/File/Find.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Path.pm
===================================================================
--- vendor/perl/dist/lib/File/Path.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Path.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Path.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Path.t
===================================================================
--- vendor/perl/dist/lib/File/Path.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Path.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Path.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/Cygwin.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec/Cygwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/Cygwin.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/Cygwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/Epoc.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec/Epoc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/Epoc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/Epoc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/Functions.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec/Functions.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/Functions.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/Functions.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/Mac.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec/Mac.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/Mac.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/Mac.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/OS2.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec/OS2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/OS2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/OS2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/Unix.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec/Unix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/Unix.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/Unix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/VMS.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec/VMS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/VMS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/VMS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/Win32.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec/Win32.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/Win32.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/Win32.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/t/Functions.t
===================================================================
--- vendor/perl/dist/lib/File/Spec/t/Functions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/t/Functions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/t/Functions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/t/Spec.t
===================================================================
--- vendor/perl/dist/lib/File/Spec/t/Spec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/t/Spec.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/t/Spec.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/t/crossplatform.t
===================================================================
--- vendor/perl/dist/lib/File/Spec/t/crossplatform.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/t/crossplatform.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/t/crossplatform.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/t/rel2abs2rel.t
===================================================================
--- vendor/perl/dist/lib/File/Spec/t/rel2abs2rel.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/t/rel2abs2rel.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/t/rel2abs2rel.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec/t/tmpdir.t
===================================================================
--- vendor/perl/dist/lib/File/Spec/t/tmpdir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec/t/tmpdir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec/t/tmpdir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Spec.pm
===================================================================
--- vendor/perl/dist/lib/File/Spec.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Spec.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Spec.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/cmp.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/cmp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/cmp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/cmp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/fork.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/fork.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/fork.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/fork.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/lock.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/lock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/lock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/lock.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/mktemp.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/mktemp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/mktemp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/mktemp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/object.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/object.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/object.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/object.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/posix.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/posix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/posix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/posix.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/security.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/security.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/security.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/security.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/seekable.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/seekable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/seekable.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/seekable.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp/t/tempfile.t
===================================================================
--- vendor/perl/dist/lib/File/Temp/t/tempfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp/t/tempfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp/t/tempfile.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/File/Temp.pm
===================================================================
--- vendor/perl/dist/lib/File/Temp.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/Temp.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/File/Temp.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/stat.pm
===================================================================
--- vendor/perl/dist/lib/File/stat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/stat.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
-our $VERSION = '1.05';
+our $VERSION = '1.07';
 
 my @fields;
 BEGIN { 
@@ -37,10 +37,14 @@
         my $val = eval { &{"Fcntl::S_I\U$_"} };
         *{"_$_"} = defined $val ? sub { $_[0] & $val ? 1 : "" } : sub { "" };
     }
-    for (qw(SOCK CHR BLK REG DIR FIFO LNK)) {
+    for (qw(SOCK CHR BLK REG DIR LNK)) {
         *{"S_IS$_"} = defined eval { &{"Fcntl::S_IF$_"} }
             ? \&{"Fcntl::S_IS$_"} : sub { "" };
     }
+    # FIFO flag and macro don't quite follow the S_IF/S_IS pattern above
+    # RT #111638
+    *{"S_ISFIFO"} = defined &Fcntl::S_IFIFO
+      ? \&Fcntl::S_ISFIFO : sub { "" };
 }
 
 # from doio.c
@@ -83,15 +87,22 @@
     *cando = sub {
         my ($s, $mode, $eff) = @_;
         my $uid = $eff ? $> : $<;
-
-        # If we're root on unix and we are not testing for executable
-        # status, then all file tests are true.
-        $^O ne "VMS" and $uid == 0 and !($mode & 0111) and return 1;
-
         my ($stmode, $stuid, $stgid) = @$s[2,4,5];
 
         # This code basically assumes that the rwx bits of the mode are
         # the 0777 bits, but so does Perl_cando.
+
+        if ($uid == 0 && $^O ne "VMS") {
+            # If we're root on unix
+            # not testing for executable status => all file tests are true
+            return 1 if !($mode & 0111);
+            # testing for executable status =>
+            # for a file, any x bit will do
+            # for a directory, always true
+            return 1 if $stmode & 0111 || S_ISDIR($stmode);
+            return "";
+        }
+
         if ($stuid == $uid) {
             $stmode & $mode         and return 1;
         }
@@ -148,7 +159,7 @@
     -X => sub {
         my ($s, $op) = @_;
 
-        if (index "rwxRWX", $op) {
+        if (index("rwxRWX", $op) >= 0) {
             (caller 0)[8] & HINT_FILETEST_ACCESS
                 and warnif("File::stat ignores use filetest 'access'");
 


Property changes on: vendor/perl/dist/lib/File/stat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/File/stat.t
===================================================================
--- vendor/perl/dist/lib/File/stat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/File/stat.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,107 +5,136 @@
     @INC = '../lib';
 }
 
+use strict;
+use warnings;
 use Test::More;
 use Config qw( %Config );
+use File::Temp qw( tempfile tempdir );
 
-BEGIN {
-    # Check whether the build is configured with -Dmksymlinks
-    our $Dmksymlinks =
-        grep { /^config_arg\d+$/ && $Config{$_} eq '-Dmksymlinks' }
-        keys %Config;
+use File::stat;
 
-    # Resolve symlink to ./lib/File/stat.t if this build is configured
-    # with -Dmksymlinks
-    # Originally we worked with ./TEST, but other test scripts read from
-    # that file and modify its access time.
-    our $file = '../lib/File/stat.t';
-    if ( $Dmksymlinks ) {
-        $file = readlink $file;
-        die "Can't readlink(../lib/File/stat.t): $!" if ! defined $file;
+my (undef, $file) = tempfile();
+
+{
+    my @stat = CORE::stat $file;
+    my $stat = File::stat::stat($file);
+    isa_ok($stat, 'File::stat', 'should build a stat object');
+    is_deeply($stat, \@stat, '... and matches the builtin');
+
+    my $i = 0;
+    foreach ([dev => 'device number'],
+             [ino => 'inode number'],
+             [mode => 'file mode'],
+             [nlink => 'number of links'],
+             [uid => 'owner uid'],
+             [gid => 'group id'],
+             [rdev => 'device identifier'],
+             [size => 'file size'],
+             [atime => 'last access time'],
+             [mtime => 'last modify time'],
+             [ctime => 'change time'],
+             [blksize => 'IO block size'],
+             [blocks => 'number of blocks']) {
+        my ($meth, $desc) = @$_;
+        # On OS/2 (fake) ino is not constant, it is incremented each time
+    SKIP: {
+            skip('inode number is not constant on OS/2', 1)
+                if $i == 1 && $^O eq 'os2';
+            is($stat->$meth, $stat[$i], "$desc in position $i");
+        }
+        ++$i;
     }
 
-    our $hasst;
-    eval { my @n = stat $file };
-    $hasst = 1 unless $@ && $@ =~ /unimplemented/;
-    unless ($hasst) { plan skip_all => "no stat"; exit 0 }
-    use Config;
-    $hasst = 0 unless $Config{'i_sysstat'} eq 'define';
-    unless ($hasst) { plan skip_all => "no sys/stat.h"; exit 0 }
+    my $stat2 = stat $file;
+    isa_ok($stat2, 'File::stat',
+           'File::stat exports stat, overriding the builtin');
+    is_deeply($stat2, $stat, '... and matches the direct call');
 }
 
-# Originally this was done in the BEGIN block, but perl is still
-# compiling (and hence reading) the script at that point, which can
-# change the file's access time, causing a different in the comparison
-# tests if the clock ticked over the second between the stat() and the
-# final read.
-# At this point all of the reading is done.
-our @stat = stat $file; # This is the function stat.
-unless (@stat) { plan skip_all => "1..0 # Skip: no file $file"; exit 0 }
+sub test_X_ops {
+    my ($file, $desc_tail, $skip) = @_;
+    my @stat = CORE::stat $file;
+    my $stat = File::stat::stat($file);
+    my $lstat = File::stat::lstat($file);
+    isa_ok($stat, 'File::stat', 'should build a stat object');
 
-plan tests => 19 + 24*2 + 4 + 3;
+    for my $op (split //, "rwxoRWXOezsfdlpSbcugkMCA") {
+        if ($skip && $op =~ $skip) {
+            note("Not testing -A $desc_tail");
+            next;
+        }
+        my $stat = $op eq 'l' ? $lstat : $stat;
+        for my $access ('', 'use filetest "access";') {
+            my ($warnings, $awarn, $vwarn, $rv);
+            my $desc = $access
+                ? "for -$op under use filetest 'access' $desc_tail"
+                    : "for -$op $desc_tail";
+            {
+                local $SIG{__WARN__} = sub {
+                    my $w = shift;
+                    if ($w =~ /^File::stat ignores VMS ACLs/) {
+                        ++$vwarn;
+                    } elsif ($w =~ /^File::stat ignores use filetest 'access'/) {
+                        ++$awarn;
+                    } else {
+                        $warnings .= $w;
+                    }
+                };
+                $rv = eval "$access; -$op \$stat";
+            }
+            is($@, '', "Overload succeeds $desc");
 
-use_ok( 'File::stat' );
+            if ($^O eq "VMS" && $op =~ /[rwxRWX]/) {
+                is($vwarn, 1, "warning about VMS ACLs $desc");
+            } else {
+                is($rv, eval "-$op \$file", "correct overload $desc")
+                    unless $access;
+                is($vwarn, undef, "no warnings about VMS ACLs $desc");
+            }
 
-my $stat = File::stat::stat( $file ); # This is the OO stat.
-ok( ref($stat), 'should build a stat object' );
+            # 111640 - File::stat bogus index check in overload
+            if ($access && $op =~ /[rwxRXW]/) {
+                # these should all warn with filetest access
+                is($awarn, 1,
+                   "produced the right warning $desc");
+            } else {
+                # -d and others shouldn't warn
+                is($awarn, undef, "should be no warning $desc")
+            }
 
-is( $stat->dev, $stat[0], "device number in position 0" );
-
-# On OS/2 (fake) ino is not constant, it is incremented each time
-SKIP: {
-	skip('inode number is not constant on OS/2', 1) if $^O eq 'os2';
-	is( $stat->ino, $stat[1], "inode number in position 1" );
+            is($warnings, undef, "no other warnings seen $desc");
+        }
+    }
 }
 
-is( $stat->mode, $stat[2], "file mode in position 2" );
+foreach ([file => $file],
+         [dir => tempdir(CLEANUP => 1)]) {
+    my ($what, $pathname) = @$_;
+    test_X_ops($pathname, "for $what $pathname");
 
-is( $stat->nlink, $stat[3], "number of links in position 3" );
-
-is( $stat->uid, $stat[4], "owner uid in position 4" );
-
-is( $stat->gid, $stat[5], "group id in position 5" );
-
-is( $stat->rdev, $stat[6], "device identifier in position 6" );
-
-is( $stat->size, $stat[7], "file size in position 7" );
-
-is( $stat->atime, $stat[8], "last access time in position 8" );
-
-is( $stat->mtime, $stat[9], "last modify time in position 9" );
-
-is( $stat->ctime, $stat[10], "change time in position 10" );
-
-is( $stat->blksize, $stat[11], "IO block size in position 11" );
-
-is( $stat->blocks, $stat[12], "number of blocks in position 12" );
-
-for (split //, "rwxoRWXOezsfdlpSbcugkMCA") {
-    SKIP: {
-        $^O eq "VMS" and index("rwxRWX", $_) >= 0
-            and skip "File::stat ignores VMS ACLs", 2;
-
-        my $rv = eval "-$_ \$stat";
-        ok( !$@,                            "-$_ overload succeeds" )
-            or diag( $@ );
-        is( $rv, eval "-$_ \$file",         "correct -$_ overload" );
+    my $mode = 01000;
+    while ($mode) {
+        $mode >>= 1;
+        my $mode_oct = sprintf "0%03o", $mode;
+        chmod $mode, $pathname or die "Can't chmod $mode_oct $pathname: $!";
+        test_X_ops($pathname, "for $what with mode=$mode_oct");
     }
+    chmod 0600, $pathname
+        or die "Can't restore permissions on $pathname to 0600";
 }
 
 SKIP: {
-    my $file = '../perl';
-    -e $file && -x $file or skip "$file is not present and executable", 4;
+    -e $^X && -x $^X or skip "$^X is not present and executable", 4;
     $^O eq "VMS" and skip "File::stat ignores VMS ACLs", 4;
 
-    my $stat = File::stat::stat( $file ); # This is the OO stat.
-    foreach (qw/x X/) {
-    my $rv = eval "-$_ \$stat";
-    ok( !$@,                            "-$_ overload succeeds" )
-      or diag( $@ );
-    is( $rv, eval "-$_ \$file",         "correct -$_ overload" );
-  }
+    # Other tests running in parallel mean that $^X is read, updating its atime
+    test_X_ops($^X, "for $^X", qr/A/);
 }
 
 
+my $stat = File::stat::stat($file);
+isa_ok($stat, 'File::stat', 'should build a stat object');
+
 for (split //, "tTB") {
     eval "-$_ \$stat";
     like( $@, qr/\Q-$_ is not implemented/, "-$_ overload fails" );
@@ -114,12 +143,14 @@
 SKIP: {
 	local *STAT;
 	skip("Could not open file: $!", 2) unless open(STAT, $file);
-	ok( File::stat::stat('STAT'), '... should be able to find filehandle' );
+	isa_ok(File::stat::stat('STAT'), 'File::stat',
+	       '... should be able to find filehandle');
 
 	package foo;
 	local *STAT = *main::STAT;
-	main::ok( my $stat2 = File::stat::stat('STAT'), 
-		'... and filehandle in another package' );
+	my $stat2 = File::stat::stat('STAT');
+	main::isa_ok($stat2, 'File::stat',
+		     '... and filehandle in another package');
 	close STAT;
 
 #	VOS open() updates atime; ignore this error (posix-975).
@@ -133,12 +164,29 @@
 
 	main::skip("OS/2: inode number is not constant on os/2", 1) if $^O eq 'os2';
 
-	main::is( "@$stat", "@$stat3", '... and must match normal stat' );
+	main::is_deeply($stat, $stat3, '... and must match normal stat');
 }
 
+SKIP:
+{   # RT #111638
+    skip "We can't check for FIFOs", 2 unless defined &Fcntl::S_ISFIFO;
+    skip "No pipes", 2 unless defined $Config{d_pipe};
+    pipe my ($rh, $wh)
+      or skip "Couldn't create a pipe: $!", 2;
+    skip "Built-in -p doesn't detect a pipe", 2 unless -p $rh;
 
-local $!;
-$stat = stat '/notafile';
-isnt( $!, '', 'should populate $!, given invalid file' );
+    my $pstat = File::stat::stat($rh);
+    ok(!-p($stat), "-p should be false on a file");
+    ok(-p($pstat), "check -p detects a pipe");
+}
 
 # Testing pretty much anything else is unportable.
+
+done_testing;
+
+# Local variables:
+# cperl-indent-level: 4
+# indent-tabs-mode: nil
+# End:
+#
+# ex: set ts=8 sts=4 sw=4 et:


Property changes on: vendor/perl/dist/lib/File/stat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/FileCache/t/01open.t
===================================================================
--- vendor/perl/dist/lib/FileCache/t/01open.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileCache/t/01open.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileCache/t/01open.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/FileCache/t/02maxopen.t
===================================================================
--- vendor/perl/dist/lib/FileCache/t/02maxopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileCache/t/02maxopen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileCache/t/02maxopen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/FileCache/t/03append.t
===================================================================
--- vendor/perl/dist/lib/FileCache/t/03append.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileCache/t/03append.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileCache/t/03append.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/FileCache/t/04twoarg.t
===================================================================
--- vendor/perl/dist/lib/FileCache/t/04twoarg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileCache/t/04twoarg.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileCache/t/04twoarg.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/FileCache/t/05override.t
===================================================================
--- vendor/perl/dist/lib/FileCache/t/05override.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileCache/t/05override.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileCache/t/05override.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/FileCache/t/06export.t
===================================================================
--- vendor/perl/dist/lib/FileCache/t/06export.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileCache/t/06export.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileCache/t/06export.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/FileCache/t/07noimport.t
===================================================================
--- vendor/perl/dist/lib/FileCache/t/07noimport.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileCache/t/07noimport.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileCache/t/07noimport.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/FileCache.pm
===================================================================
--- vendor/perl/dist/lib/FileCache.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileCache.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileCache.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/FileHandle.pm
===================================================================
--- vendor/perl/dist/lib/FileHandle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileHandle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FileHandle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/FileHandle.t
===================================================================
--- vendor/perl/dist/lib/FileHandle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FileHandle.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,10 +8,6 @@
 	print "1..0\n";
 	exit 0;
     }
-    if ($^O eq 'mpeix') {
-	print "1..0 # Skip: broken on MPE/iX\n";
-	exit 0;
-    }
 }
 
 use FileHandle;


Property changes on: vendor/perl/dist/lib/FileHandle.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Filter/Simple/README
===================================================================
--- vendor/perl/dist/lib/Filter/Simple/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Filter/Simple/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Filter/Simple/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Filter/Simple/t/data.t
===================================================================
--- vendor/perl/dist/lib/Filter/Simple/t/data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Filter/Simple/t/data.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Filter/Simple/t/data.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Filter/Simple/t/export.t
===================================================================
--- vendor/perl/dist/lib/Filter/Simple/t/export.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Filter/Simple/t/export.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Filter/Simple/t/export.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Filter/Simple/t/filter.t
===================================================================
--- vendor/perl/dist/lib/Filter/Simple/t/filter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Filter/Simple/t/filter.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Filter/Simple/t/filter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Filter/Simple/t/filter_only.t
===================================================================
--- vendor/perl/dist/lib/Filter/Simple/t/filter_only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Filter/Simple/t/filter_only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Filter/Simple/t/filter_only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Filter/Simple/t/import.t
===================================================================
--- vendor/perl/dist/lib/Filter/Simple/t/import.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Filter/Simple/t/import.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Filter/Simple/t/import.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Filter/Simple.pm
===================================================================
--- vendor/perl/dist/lib/Filter/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Filter/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Filter/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/FindBin.pm
===================================================================
--- vendor/perl/dist/lib/FindBin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FindBin.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -59,21 +59,6 @@
   delete $INC{'FindBin.pm'};
   require FindBin;
 
-=head1 KNOWN BUGS
-
-If perl is invoked as
-
-   perl filename
-
-and I<filename> does not have executable rights and a program called
-I<filename> exists in the users C<$ENV{PATH}> which satisfies both B<-x>
-and B<-T> then FindBin assumes that it was invoked via the
-C<$ENV{PATH}>.
-
-Workaround is to invoke perl as
-
- perl ./filename
-
 =head1 AUTHORS
 
 FindBin is supported as part of the core perl distribution. Please send bug
@@ -103,7 +88,7 @@
 %EXPORT_TAGS = (ALL => [qw($Bin $Script $RealBin $RealScript $Dir $RealDir)]);
 @ISA = qw(Exporter);
 
-$VERSION = "1.50";
+$VERSION = "1.51";
 
 
 # needed for VMS-specific filename translation
@@ -145,30 +130,6 @@
     }
    else
     {
-     my $dosish = ($^O eq 'MSWin32' or $^O eq 'os2');
-     unless(($script =~ m#/# || ($dosish && $script =~ m#\\#))
-            && -f $script)
-      {
-       my $dir;
-       foreach $dir (File::Spec->path)
-        {
-        my $scr = File::Spec->catfile($dir, $script);
-
-        # $script can been found via PATH but perl could have
-        # been invoked as 'perl file'. Do a dumb check to see
-        # if $script is a perl program, if not then keep $script = $0
-        #
-        # well we actually only check that it is an ASCII file
-        # we know its executable so it is probably a script
-        # of some sort.
-        if(-f $scr && -r _ && ($dosish || -x _) && -s _ && -T _)
-         {
-          $script = $scr;
-          last;
-         }
-       }
-     }
-
      croak("Cannot find current script '$0'") unless(-f $script);
 
      # Ensure $script contains the complete path in case we C<chdir>


Property changes on: vendor/perl/dist/lib/FindBin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/FindBin.t
===================================================================
--- vendor/perl/dist/lib/FindBin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/FindBin.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/FindBin.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long/CHANGES
===================================================================
--- vendor/perl/dist/lib/Getopt/Long/CHANGES	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long/CHANGES	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long/CHANGES
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long/README
===================================================================
--- vendor/perl/dist/lib/Getopt/Long/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long/t/gol-basic.t
===================================================================
--- vendor/perl/dist/lib/Getopt/Long/t/gol-basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long/t/gol-basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long/t/gol-basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long/t/gol-compat.t
===================================================================
--- vendor/perl/dist/lib/Getopt/Long/t/gol-compat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long/t/gol-compat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long/t/gol-compat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long/t/gol-linkage.t
===================================================================
--- vendor/perl/dist/lib/Getopt/Long/t/gol-linkage.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long/t/gol-linkage.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long/t/gol-linkage.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long/t/gol-oo.t
===================================================================
--- vendor/perl/dist/lib/Getopt/Long/t/gol-oo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long/t/gol-oo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long/t/gol-oo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long/t/gol-xargv.t
===================================================================
--- vendor/perl/dist/lib/Getopt/Long/t/gol-xargv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long/t/gol-xargv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long/t/gol-xargv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long/t/gol-xstring.t
===================================================================
--- vendor/perl/dist/lib/Getopt/Long/t/gol-xstring.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long/t/gol-xstring.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long/t/gol-xstring.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Long.pm
===================================================================
--- vendor/perl/dist/lib/Getopt/Long.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Long.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Long.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/Getopt/Std.pm
===================================================================
--- vendor/perl/dist/lib/Getopt/Std.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Std.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -72,7 +72,7 @@
 
 @ISA = qw(Exporter);
 @EXPORT = qw(getopt getopts);
-$VERSION = '1.06';
+$VERSION = '1.07';
 # uncomment the next line to disable 1.03-backward compatibility paranoia
 # $STANDARD_HELP_VERSION = 1;
 
@@ -147,7 +147,7 @@
     my $p = __PACKAGE__;
     print {output_h()} <<EOM;
   [Now continuing due to backward compatibility and excessive paranoia.
-   See ``perldoc $p'' about \$$p\::STANDARD_HELP_VERSION.]
+   See 'perldoc $p' about \$$p\::STANDARD_HELP_VERSION.]
 EOM
 }
 


Property changes on: vendor/perl/dist/lib/Getopt/Std.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Getopt/Std.t
===================================================================
--- vendor/perl/dist/lib/Getopt/Std.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Getopt/Std.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Getopt/Std.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/Collate.pm
===================================================================
--- vendor/perl/dist/lib/I18N/Collate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/Collate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/Collate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/Collate.t
===================================================================
--- vendor/perl/dist/lib/I18N/Collate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/Collate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/Collate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/ChangeLog
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/Detect.pm
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/Detect.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/Detect.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/Detect.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/List.pm
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/List.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/List.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/List.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/README
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/t/01_about_verbose.t
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/t/01_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/t/01_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/t/01_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/t/05_main.t
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/t/05_main.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/t/05_main.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/t/05_main.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/t/07_listy.t
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/t/07_listy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/t/07_listy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/t/07_listy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/t/10_http.t
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/t/10_http.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/t/10_http.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/t/10_http.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/t/20_locales.t
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/t/20_locales.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/t/20_locales.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/t/20_locales.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/t/50_super.t
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/t/50_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/t/50_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/t/50_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/t/55_supers_strict.t
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/t/55_supers_strict.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/t/55_supers_strict.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/t/55_supers_strict.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags/t/80_all_env.t
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags/t/80_all_env.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags/t/80_all_env.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags/t/80_all_env.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/I18N/LangTags.pm
===================================================================
--- vendor/perl/dist/lib/I18N/LangTags.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/I18N/LangTags.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/I18N/LangTags.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/basic.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/external.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/external.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/external.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/external.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/getc.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/getc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/getc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/getc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/getline.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/getline.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/getline.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/getline.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/import.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/import.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/import.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/import.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/large.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/large.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/large.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/large.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/tied.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/tied.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/tied.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/tied.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/uncomp1.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/uncomp1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/uncomp1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/uncomp1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib/t/uncomp2.t
===================================================================
--- vendor/perl/dist/lib/IO/Zlib/t/uncomp2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib/t/uncomp2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib/t/uncomp2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/IO/Zlib.pm
===================================================================
--- vendor/perl/dist/lib/IO/Zlib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IO/Zlib.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IO/Zlib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Cmd/t/01_IPC-Cmd.t
===================================================================
--- vendor/perl/dist/lib/IPC/Cmd/t/01_IPC-Cmd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Cmd/t/01_IPC-Cmd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Cmd/t/01_IPC-Cmd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Cmd/t/02_Interactive.t
===================================================================
--- vendor/perl/dist/lib/IPC/Cmd/t/02_Interactive.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Cmd/t/02_Interactive.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Cmd/t/02_Interactive.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Cmd/t/src/child.pl
===================================================================
--- vendor/perl/dist/lib/IPC/Cmd/t/src/child.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Cmd/t/src/child.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Cmd/t/src/child.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Cmd/t/src/output.pl
===================================================================
--- vendor/perl/dist/lib/IPC/Cmd/t/src/output.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Cmd/t/src/output.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Cmd/t/src/output.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Cmd/t/src/x.tgz.packed
===================================================================
--- vendor/perl/dist/lib/IPC/Cmd/t/src/x.tgz.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Cmd/t/src/x.tgz.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Cmd/t/src/x.tgz.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Cmd.pm
===================================================================
--- vendor/perl/dist/lib/IPC/Cmd.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Cmd.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Cmd.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Open2.pm
===================================================================
--- vendor/perl/dist/lib/IPC/Open2.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Open2.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Open2.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Open2.t
===================================================================
--- vendor/perl/dist/lib/IPC/Open2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Open2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Open2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Open3.pm
===================================================================
--- vendor/perl/dist/lib/IPC/Open3.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Open3.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Open3.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/IPC/Open3.t
===================================================================
--- vendor/perl/dist/lib/IPC/Open3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/IPC/Open3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/IPC/Open3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/Internals.t
===================================================================
--- vendor/perl/dist/lib/Internals.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Internals.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
     }
 }
 
-use Test::More tests => 74;
+use Test::More tests => 82;
 
 my $ro_err = qr/^Modification of a read-only value attempted/;
 
@@ -163,3 +163,28 @@
 is(  Internals::SvREFCNT(%foo), 1 );
 is(  Internals::SvREFCNT($foo{foo}), 1 );
 
+is(  Internals::SvREFCNT($foo, 2), 2, "update ref count");
+is(  Internals::SvREFCNT($foo), 2, "check we got the stored value");
+
+# the reference count is a U16, but was returned as an IV resulting in
+# different values between 32 and 64-bit builds
+my $big_count = 0xFFFFFFF0; # -16 32-bit signed
+is( Internals::SvREFCNT($foo, $big_count), $big_count,
+    "set reference count unsigned");
+is( Internals::SvREFCNT($foo), $big_count, "reference count unsigned");
+
+{
+    my @arr = Internals::SvREFCNT($foo, 1 );
+    is(scalar(@arr), 1, "SvREFCNT always returns only 1 item");
+}
+
+{
+    my $usage =  'Usage: Internals::SvREFCNT(SCALAR[, REFCOUNT])';
+    eval { &Internals::SvREFCNT();};
+    like($@, qr/\Q$usage\E/);
+    $foo = \"perl";
+    eval { &Internals::SvREFCNT($foo, 0..1);};
+    like($@, qr/\Q$usage\E/);
+    eval { &Internals::SvREFCNT($foo, 0..3);};
+    like($@, qr/\Q$usage\E/);
+}


Property changes on: vendor/perl/dist/lib/Internals.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/ChangeLog
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/README
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/t/all.t
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/t/all.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/t/all.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/t/all.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/t/constants.t
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/t/constants.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/t/constants.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/t/constants.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/t/country.t
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/t/country.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/t/country.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/t/country.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/t/currency.t
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/t/currency.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/t/currency.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/t/currency.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/t/languages.t
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/t/languages.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/t/languages.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/t/languages.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/t/rename.t
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/t/rename.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/t/rename.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/t/rename.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/t/script.t
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/t/script.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/t/script.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/t/script.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Codes/t/uk.t
===================================================================
--- vendor/perl/dist/lib/Locale/Codes/t/uk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Codes/t/uk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Codes/t/uk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Constants.pm
===================================================================
--- vendor/perl/dist/lib/Locale/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Constants.pod
===================================================================
--- vendor/perl/dist/lib/Locale/Constants.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Constants.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Constants.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Country.pm
===================================================================
--- vendor/perl/dist/lib/Locale/Country.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Country.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Country.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Country.pod
===================================================================
--- vendor/perl/dist/lib/Locale/Country.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Country.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Country.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Currency.pm
===================================================================
--- vendor/perl/dist/lib/Locale/Currency.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Currency.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Currency.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Currency.pod
===================================================================
--- vendor/perl/dist/lib/Locale/Currency.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Currency.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Currency.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Language.pm
===================================================================
--- vendor/perl/dist/lib/Locale/Language.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Language.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Language.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Language.pod
===================================================================
--- vendor/perl/dist/lib/Locale/Language.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Language.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Language.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/ChangeLog
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/README
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/Simple/t/0-signature.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/Simple/t/0-signature.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/Simple/t/0-signature.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/Simple/t/0-signature.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/Simple/t/1-basic.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/Simple/t/1-basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/Simple/t/1-basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/Simple/t/1-basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/Simple.pm
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/TPJ13.pod
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/TPJ13.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/TPJ13.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/TPJ13.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/t/01_about_verbose.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/t/01_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/t/01_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/t/01_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/t/10_make.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/t/10_make.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/t/10_make.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/t/10_make.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/t/20_get.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/t/20_get.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/t/20_get.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/t/20_get.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/t/30_local.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/t/30_local.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/t/30_local.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/t/30_local.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/t/40_super.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/t/40_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/t/40_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/t/40_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/t/50_super.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/t/50_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/t/50_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/t/50_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/t/60_super.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/t/60_super.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/t/60_super.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/t/60_super.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext/t/90_utf8.t
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext/t/90_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext/t/90_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext/t/90_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext.pm
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Maketext.pod
===================================================================
--- vendor/perl/dist/lib/Locale/Maketext.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Maketext.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Maketext.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Script.pm
===================================================================
--- vendor/perl/dist/lib/Locale/Script.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Script.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Script.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Locale/Script.pod
===================================================================
--- vendor/perl/dist/lib/Locale/Script.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Locale/Script.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Locale/Script.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/Config.pm
===================================================================
--- vendor/perl/dist/lib/Log/Message/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/Handlers.pm
===================================================================
--- vendor/perl/dist/lib/Log/Message/Handlers.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/Handlers.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/Handlers.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/Item.pm
===================================================================
--- vendor/perl/dist/lib/Log/Message/Item.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/Item.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/Item.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/Simple/t/01_use.t
===================================================================
--- vendor/perl/dist/lib/Log/Message/Simple/t/01_use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/Simple/t/01_use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/Simple/t/01_use.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/Simple/t/02_imports.t
===================================================================
--- vendor/perl/dist/lib/Log/Message/Simple/t/02_imports.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/Simple/t/02_imports.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/Simple/t/02_imports.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/Simple/t/03_functions.t
===================================================================
--- vendor/perl/dist/lib/Log/Message/Simple/t/03_functions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/Simple/t/03_functions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/Simple/t/03_functions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/Simple.pm
===================================================================
--- vendor/perl/dist/lib/Log/Message/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/t/01_Log-Message-Config.t
===================================================================
--- vendor/perl/dist/lib/Log/Message/t/01_Log-Message-Config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/t/01_Log-Message-Config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/t/01_Log-Message-Config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/t/02_Log-Message.t
===================================================================
--- vendor/perl/dist/lib/Log/Message/t/02_Log-Message.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/t/02_Log-Message.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/t/02_Log-Message.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/t/conf/LoadMe.pl
===================================================================
--- vendor/perl/dist/lib/Log/Message/t/conf/LoadMe.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/t/conf/LoadMe.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/t/conf/LoadMe.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message/t/conf/config_file
===================================================================
--- vendor/perl/dist/lib/Log/Message/t/conf/config_file	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message/t/conf/config_file	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message/t/conf/config_file
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Log/Message.pm
===================================================================
--- vendor/perl/dist/lib/Log/Message.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Log/Message.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Log/Message.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigFloat/Trace.pm
===================================================================
--- vendor/perl/dist/lib/Math/BigFloat/Trace.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigFloat/Trace.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigFloat/Trace.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigFloat.pm
===================================================================
--- vendor/perl/dist/lib/Math/BigFloat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigFloat.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigFloat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/Calc.pm
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/Calc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/Calc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/Calc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/CalcEmu.pm
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/CalcEmu.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/CalcEmu.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/CalcEmu.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/Trace.pm
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/Trace.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/Trace.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/Trace.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/_e_math.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/_e_math.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/_e_math.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/_e_math.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/alias.inc
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/alias.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/alias.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/alias.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bare_mbf.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bare_mbf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bare_mbf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bare_mbf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bare_mbi.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bare_mbi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bare_mbi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bare_mbi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bare_mif.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bare_mif.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bare_mif.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bare_mif.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/big_pi_e.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/big_pi_e.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/big_pi_e.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/big_pi_e.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.inc
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bigfltpm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bigintc.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bigintc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bigintc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bigintc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bigintpm.inc
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bigintpm.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bigintpm.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bigintpm.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bigintpm.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bigintpm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bigintpm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bigintpm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bigints.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bigints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bigints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bigints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/biglog.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/biglog.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/biglog.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/biglog.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/bigroot.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/bigroot.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/bigroot.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/bigroot.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/calling.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/calling.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/calling.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/calling.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/config.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/const_mbf.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/const_mbf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/const_mbf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/const_mbf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/constant.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/constant.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/constant.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/constant.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/downgrade.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/downgrade.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/downgrade.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/downgrade.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/inf_nan.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/inf_nan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/inf_nan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/inf_nan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/isa.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/isa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/isa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/isa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/lib_load.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/lib_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/lib_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/lib_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/mbf_ali.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/mbf_ali.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/mbf_ali.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/mbf_ali.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/mbi_ali.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/mbi_ali.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/mbi_ali.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/mbi_ali.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/mbi_rand.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/mbi_rand.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/mbi_rand.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/mbi_rand.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/mbimbf.inc
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/mbimbf.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/mbimbf.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/mbimbf.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/mbimbf.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/mbimbf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/mbimbf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/mbimbf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/nan_cmp.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/nan_cmp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/nan_cmp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/nan_cmp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/new_ovld.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/new_ovld.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/new_ovld.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/new_ovld.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/req_mbf0.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/req_mbf0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/req_mbf0.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/req_mbf0.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/req_mbf1.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/req_mbf1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/req_mbf1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/req_mbf1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/req_mbfa.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/req_mbfa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/req_mbfa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/req_mbfa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/req_mbfi.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/req_mbfi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/req_mbfi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/req_mbfi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/req_mbfn.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/req_mbfn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/req_mbfn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/req_mbfn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/req_mbfw.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/req_mbfw.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/req_mbfw.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/req_mbfw.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/require.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/require.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/require.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/round.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/round.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/round.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/round.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/sub_ali.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/sub_ali.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/sub_ali.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/sub_ali.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/sub_mbf.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/sub_mbf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/sub_mbf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/sub_mbf.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/sub_mbi.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/sub_mbi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/sub_mbi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/sub_mbi.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/sub_mif.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/sub_mif.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/sub_mif.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/sub_mif.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/trap.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/trap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/trap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/trap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/upgrade.inc
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/upgrade.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/upgrade.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/upgrade.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/upgrade.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/upgrade.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/upgrade.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/upgrade.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/upgradef.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/upgradef.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/upgradef.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/upgradef.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/use.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/use.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/use_lib1.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/use_lib1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/use_lib1.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/use_lib1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/use_lib2.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/use_lib2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/use_lib2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/use_lib2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/use_lib3.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/use_lib3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/use_lib3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/use_lib3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/use_lib4.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/use_lib4.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/use_lib4.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/use_lib4.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/use_mbfw.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/use_mbfw.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/use_mbfw.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/use_mbfw.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt/t/with_sub.t
===================================================================
--- vendor/perl/dist/lib/Math/BigInt/t/with_sub.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt/t/with_sub.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt/t/with_sub.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigInt.pm
===================================================================
--- vendor/perl/dist/lib/Math/BigInt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigInt.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigInt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/big_ap.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/big_ap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/big_ap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/big_ap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/bigfltpm.inc
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/bigfltpm.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/bigfltpm.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/bigfltpm.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/bigfltrt.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/bigfltrt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/bigfltrt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/bigfltrt.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/biglog.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/biglog.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/biglog.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/biglog.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/bigrat.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/bigrat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/bigrat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/bigrat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/bigratpm.inc
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/bigratpm.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/bigratpm.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/bigratpm.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/bigratpm.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/bigratpm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/bigratpm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/bigratpm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/bigratup.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/bigratup.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/bigratup.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/bigratup.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/bigroot.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/bigroot.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/bigroot.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/bigroot.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/hang.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/hang.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/hang.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/hang.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/requirer.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/requirer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/requirer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/requirer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat/t/trap.t
===================================================================
--- vendor/perl/dist/lib/Math/BigRat/t/trap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat/t/trap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat/t/trap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/BigRat.pm
===================================================================
--- vendor/perl/dist/lib/Math/BigRat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/BigRat.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/BigRat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/Complex.pm
===================================================================
--- vendor/perl/dist/lib/Math/Complex.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/Complex.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/Complex.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/Complex.t
===================================================================
--- vendor/perl/dist/lib/Math/Complex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/Complex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/Complex.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/Trig.pm
===================================================================
--- vendor/perl/dist/lib/Math/Trig.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/Trig.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/Trig.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/Trig.t
===================================================================
--- vendor/perl/dist/lib/Math/Trig.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/Trig.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/Trig.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Math/underbar.t
===================================================================
--- vendor/perl/dist/lib/Math/underbar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Math/underbar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Math/underbar.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/AnyDBM_File.pm
===================================================================
--- vendor/perl/dist/lib/Memoize/AnyDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/AnyDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/AnyDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/Expire.pm
===================================================================
--- vendor/perl/dist/lib/Memoize/Expire.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/Expire.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/Expire.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/ExpireFile.pm
===================================================================
--- vendor/perl/dist/lib/Memoize/ExpireFile.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/ExpireFile.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/ExpireFile.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/ExpireTest.pm
===================================================================
--- vendor/perl/dist/lib/Memoize/ExpireTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/ExpireTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/ExpireTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/NDBM_File.pm
===================================================================
--- vendor/perl/dist/lib/Memoize/NDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/NDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/NDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/README
===================================================================
--- vendor/perl/dist/lib/Memoize/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/SDBM_File.pm
===================================================================
--- vendor/perl/dist/lib/Memoize/SDBM_File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/SDBM_File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/SDBM_File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/Storable.pm
===================================================================
--- vendor/perl/dist/lib/Memoize/Storable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/Storable.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/Storable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/TODO
===================================================================
--- vendor/perl/dist/lib/Memoize/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/array.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/array.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/array.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/array.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/array_confusion.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/array_confusion.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/array_confusion.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/array_confusion.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/correctness.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/correctness.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/correctness.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/correctness.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/errors.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/errors.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/errors.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/expfile.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/expfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/expfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/expfile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/expire.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/expire.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/expire.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/expire.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/expmod_n.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/expmod_n.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/expmod_n.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/expmod_n.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/expmod_t.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/expmod_t.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/expmod_t.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/expmod_t.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/flush.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/flush.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/flush.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/flush.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/normalize.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/normalize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/normalize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/normalize.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/prototype.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/prototype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/prototype.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/prototype.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/speed.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/speed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/speed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/speed.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/tie.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/tie.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/tie_gdbm.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/tie_gdbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/tie_gdbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/tie_gdbm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/tie_ndbm.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/tie_ndbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/tie_ndbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/tie_ndbm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/tie_sdbm.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/tie_sdbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/tie_sdbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/tie_sdbm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/tie_storable.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/tie_storable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/tie_storable.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/tie_storable.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/tiefeatures.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/tiefeatures.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/tiefeatures.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/tiefeatures.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize/t/unmemoize.t
===================================================================
--- vendor/perl/dist/lib/Memoize/t/unmemoize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize/t/unmemoize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize/t/unmemoize.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Memoize.pm
===================================================================
--- vendor/perl/dist/lib/Memoize.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Memoize.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Memoize.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/API.pod
===================================================================
--- vendor/perl/dist/lib/Module/Build/API.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/API.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/API.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Authoring.pod
===================================================================
--- vendor/perl/dist/lib/Module/Build/Authoring.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Authoring.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Authoring.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Base.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Compat.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Compat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Compat.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Compat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Config.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/ConfigData.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/ConfigData.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/ConfigData.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/ConfigData.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Cookbook.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Cookbook.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Cookbook.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Cookbook.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Dumper.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Dumper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Dumper.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Dumper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/ModuleInfo.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/ModuleInfo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/ModuleInfo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/ModuleInfo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Notes.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Notes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Notes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Notes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/PPMMaker.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/PPMMaker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/PPMMaker.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/PPMMaker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/Amiga.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/Amiga.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/Amiga.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/Amiga.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/Default.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/Default.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/Default.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/Default.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/EBCDIC.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/EBCDIC.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/EBCDIC.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/EBCDIC.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/MPEiX.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/MPEiX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/MPEiX.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/MPEiX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/MacOS.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/MacOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/MacOS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/MacOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/RiscOS.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/RiscOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/RiscOS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/RiscOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/Unix.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/Unix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/Unix.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/Unix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/VMS.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/VMS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/VMS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/VMS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/VOS.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/VOS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/VOS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/VOS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/Windows.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/Windows.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/Windows.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/Windows.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/aix.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/aix.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/aix.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/aix.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Platform/darwin.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Platform/darwin.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Platform/darwin.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Platform/darwin.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/PodParser.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/PodParser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/PodParser.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/PodParser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/Version.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/Version.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/Version.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/Version.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/YAML.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/YAML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/YAML.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/YAML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/scripts/config_data
===================================================================
--- vendor/perl/dist/lib/Module/Build/scripts/config_data	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/scripts/config_data	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/scripts/config_data
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/PL_files.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/PL_files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/PL_files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/PL_files.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/add_property.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/add_property.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/add_property.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/add_property.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/basic.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/bundled/Tie/CPHash.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/bundled/Tie/CPHash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/bundled/Tie/CPHash.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/bundled/Tie/CPHash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/compat/exit.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/compat/exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/compat/exit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/compat/exit.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/compat.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/compat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/compat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/compat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/debug.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/debug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/debug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/debug.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/destinations.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/destinations.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/destinations.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/destinations.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/ext.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/ext.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/ext.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/ext.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/extend.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/extend.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/extend.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/extend.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/files.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/files.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/help.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/help.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/help.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/help.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/install.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/install.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/install.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/install.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/lib/DistGen.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/lib/DistGen.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/lib/DistGen.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/lib/DistGen.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/lib/MBTest.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/lib/MBTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/lib/MBTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/lib/MBTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/manifypods.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/manifypods.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/manifypods.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/manifypods.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/mbyaml.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/mbyaml.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/mbyaml.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/mbyaml.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/metadata.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/metadata.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/metadata.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/metadata.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/metadata2.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/metadata2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/metadata2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/metadata2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/moduleinfo.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/moduleinfo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/moduleinfo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/moduleinfo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/new_from_context.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/new_from_context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/new_from_context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/new_from_context.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/notes.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/notes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/notes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/notes.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/parents.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/parents.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/parents.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/parents.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/pod_parser.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/pod_parser.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/pod_parser.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/pod_parser.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/ppm.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/ppm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/ppm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/ppm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/runthrough.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/runthrough.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/runthrough.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/runthrough.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/script_dist.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/script_dist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/script_dist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/script_dist.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/test_file_exts.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/test_file_exts.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/test_file_exts.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/test_file_exts.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/test_type.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/test_type.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/test_type.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/test_type.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/test_types.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/test_types.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/test_types.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/test_types.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/tilde.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/tilde.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/tilde.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/tilde.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/use_tap_harness.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/use_tap_harness.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/use_tap_harness.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/use_tap_harness.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/versions.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/versions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/versions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/versions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/write_default_maniskip.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/write_default_maniskip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/write_default_maniskip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/write_default_maniskip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build/t/xs.t
===================================================================
--- vendor/perl/dist/lib/Module/Build/t/xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build/t/xs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build/t/xs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Build.pm
===================================================================
--- vendor/perl/dist/lib/Module/Build.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Build.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Build.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/CoreList/bin/corelist
===================================================================
--- vendor/perl/dist/lib/Module/CoreList/bin/corelist	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/CoreList/bin/corelist	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/CoreList/bin/corelist
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/CoreList/t/corelist.t
===================================================================
--- vendor/perl/dist/lib/Module/CoreList/t/corelist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/CoreList/t/corelist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/CoreList/t/corelist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/CoreList/t/find_modules.t
===================================================================
--- vendor/perl/dist/lib/Module/CoreList/t/find_modules.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/CoreList/t/find_modules.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/CoreList/t/find_modules.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/CoreList.pm
===================================================================
--- vendor/perl/dist/lib/Module/CoreList.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/CoreList.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/CoreList.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional/t/01_Module_Load_Conditional.t
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional/t/01_Module_Load_Conditional.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional/t/01_Module_Load_Conditional.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional/t/01_Module_Load_Conditional.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional/t/02_Parse_Version.t
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional/t/02_Parse_Version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional/t/02_Parse_Version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional/t/02_Parse_Version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/Commented.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/Commented.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/Commented.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/Commented.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/InPod.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/InPod.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/InPod.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/InPod.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadIt.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadIt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadIt.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadIt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadMe.pl
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadMe.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadMe.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/LoadMe.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/MustBe/Loaded.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/MustBe/Loaded.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/MustBe/Loaded.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/MustBe/Loaded.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/ToBeLoaded
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/ToBeLoaded	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/ToBeLoaded	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional/t/to_load/ToBeLoaded
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/Conditional.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load/Conditional.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/Conditional.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/Conditional.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/t/01_Module-Load.t
===================================================================
--- vendor/perl/dist/lib/Module/Load/t/01_Module-Load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/t/01_Module-Load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/t/01_Module-Load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/t/to_load/LoadIt.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load/t/to_load/LoadIt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/t/to_load/LoadIt.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/t/to_load/LoadIt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/t/to_load/LoadMe.pl
===================================================================
--- vendor/perl/dist/lib/Module/Load/t/to_load/LoadMe.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/t/to_load/LoadMe.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/t/to_load/LoadMe.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/t/to_load/Must/Be/Loaded.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load/t/to_load/Must/Be/Loaded.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/t/to_load/Must/Be/Loaded.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/t/to_load/Must/Be/Loaded.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/t/to_load/TestModule.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load/t/to_load/TestModule.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/t/to_load/TestModule.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/t/to_load/TestModule.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/t/to_load/ToBeLoaded
===================================================================
--- vendor/perl/dist/lib/Module/Load/t/to_load/ToBeLoaded	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/t/to_load/ToBeLoaded	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/t/to_load/ToBeLoaded
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load/t/to_load/config_file
===================================================================
--- vendor/perl/dist/lib/Module/Load/t/to_load/config_file	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load/t/to_load/config_file	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load/t/to_load/config_file
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Load.pm
===================================================================
--- vendor/perl/dist/lib/Module/Load.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Load.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Load.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Loaded/t/01_Module-Loaded.t
===================================================================
--- vendor/perl/dist/lib/Module/Loaded/t/01_Module-Loaded.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Loaded/t/01_Module-Loaded.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Loaded/t/01_Module-Loaded.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Loaded.pm
===================================================================
--- vendor/perl/dist/lib/Module/Loaded.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Loaded.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Loaded.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Pluggable/Object.pm
===================================================================
--- vendor/perl/dist/lib/Module/Pluggable/Object.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Pluggable/Object.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Pluggable/Object.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Module/Pluggable.pm
===================================================================
--- vendor/perl/dist/lib/Module/Pluggable.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Module/Pluggable.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Module/Pluggable.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/NEXT/README
===================================================================
--- vendor/perl/dist/lib/NEXT/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/NEXT/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/NEXT/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/NEXT/t/actual.t
===================================================================
--- vendor/perl/dist/lib/NEXT/t/actual.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/NEXT/t/actual.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/NEXT/t/actual.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/NEXT/t/actuns.t
===================================================================
--- vendor/perl/dist/lib/NEXT/t/actuns.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/NEXT/t/actuns.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/NEXT/t/actuns.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/NEXT/t/dynamically_scoped_regex_vars.t
===================================================================
--- vendor/perl/dist/lib/NEXT/t/dynamically_scoped_regex_vars.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/NEXT/t/dynamically_scoped_regex_vars.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/NEXT/t/dynamically_scoped_regex_vars.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/NEXT/t/next.t
===================================================================
--- vendor/perl/dist/lib/NEXT/t/next.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/NEXT/t/next.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/NEXT/t/next.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/NEXT/t/stringify.t
===================================================================
--- vendor/perl/dist/lib/NEXT/t/stringify.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/NEXT/t/stringify.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/NEXT/t/stringify.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/NEXT/t/unseen.t
===================================================================
--- vendor/perl/dist/lib/NEXT/t/unseen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/NEXT/t/unseen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/NEXT/t/unseen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/NEXT.pm
===================================================================
--- vendor/perl/dist/lib/NEXT.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/NEXT.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/NEXT.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Cmd.pm
===================================================================
--- vendor/perl/dist/lib/Net/Cmd.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Cmd.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Cmd.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Config.eg
===================================================================
--- vendor/perl/dist/lib/Net/Config.eg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Config.eg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Config.eg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Config.pm
===================================================================
--- vendor/perl/dist/lib/Net/Config.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Config.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Config.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Domain.pm
===================================================================
--- vendor/perl/dist/lib/Net/Domain.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Domain.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Domain.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/FTP/A.pm
===================================================================
--- vendor/perl/dist/lib/Net/FTP/A.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/FTP/A.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/FTP/A.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/FTP/E.pm
===================================================================
--- vendor/perl/dist/lib/Net/FTP/E.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/FTP/E.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/FTP/E.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/FTP/I.pm
===================================================================
--- vendor/perl/dist/lib/Net/FTP/I.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/FTP/I.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/FTP/I.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/FTP/L.pm
===================================================================
--- vendor/perl/dist/lib/Net/FTP/L.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/FTP/L.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/FTP/L.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/FTP/dataconn.pm
===================================================================
--- vendor/perl/dist/lib/Net/FTP/dataconn.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/FTP/dataconn.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/FTP/dataconn.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/FTP.pm
===================================================================
--- vendor/perl/dist/lib/Net/FTP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/FTP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/FTP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Hostname.pm.eg
===================================================================
--- vendor/perl/dist/lib/Net/Hostname.pm.eg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Hostname.pm.eg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Hostname.pm.eg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/NNTP.pm
===================================================================
--- vendor/perl/dist/lib/Net/NNTP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/NNTP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/NNTP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Netrc.pm
===================================================================
--- vendor/perl/dist/lib/Net/Netrc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Netrc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Netrc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/POP3.pm
===================================================================
--- vendor/perl/dist/lib/Net/POP3.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/POP3.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/POP3.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/100_load.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/100_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/100_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/100_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/110_icmp_inst.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/110_icmp_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/110_icmp_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/110_icmp_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/120_udp_inst.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/120_udp_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/120_udp_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/120_udp_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/130_tcp_inst.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/130_tcp_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/130_tcp_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/130_tcp_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/140_stream_inst.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/140_stream_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/140_stream_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/140_stream_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/150_syn_inst.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/150_syn_inst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/150_syn_inst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/150_syn_inst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/190_alarm.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/190_alarm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/190_alarm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/190_alarm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/200_ping_tcp.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/200_ping_tcp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/200_ping_tcp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/200_ping_tcp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/250_ping_hires.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/250_ping_hires.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/250_ping_hires.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/250_ping_hires.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/300_ping_stream.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/300_ping_stream.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/300_ping_stream.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/300_ping_stream.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/400_ping_syn.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/400_ping_syn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/400_ping_syn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/400_ping_syn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/410_syn_host.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/410_syn_host.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/410_syn_host.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/410_syn_host.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/450_service.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/450_service.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/450_service.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/450_service.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/500_ping_icmp.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/500_ping_icmp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/500_ping_icmp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/500_ping_icmp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping/t/510_ping_udp.t
===================================================================
--- vendor/perl/dist/lib/Net/Ping/t/510_ping_udp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping/t/510_ping_udp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping/t/510_ping_udp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Ping.pm
===================================================================
--- vendor/perl/dist/lib/Net/Ping.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Ping.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Ping.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/README
===================================================================
--- vendor/perl/dist/lib/Net/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/SMTP.pm
===================================================================
--- vendor/perl/dist/lib/Net/SMTP.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/SMTP.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/SMTP.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/Time.pm
===================================================================
--- vendor/perl/dist/lib/Net/Time.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/Time.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/Time.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/demos/ftp
===================================================================
--- vendor/perl/dist/lib/Net/demos/ftp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/demos/ftp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/demos/ftp
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/demos/inetd
===================================================================
--- vendor/perl/dist/lib/Net/demos/inetd	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/demos/inetd	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/demos/inetd
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/demos/nntp
===================================================================
--- vendor/perl/dist/lib/Net/demos/nntp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/demos/nntp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/demos/nntp
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/demos/nntp.mirror
===================================================================
--- vendor/perl/dist/lib/Net/demos/nntp.mirror	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/demos/nntp.mirror	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/demos/nntp.mirror
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/demos/pop3
===================================================================
--- vendor/perl/dist/lib/Net/demos/pop3	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/demos/pop3	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/demos/pop3
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/demos/smtp.self
===================================================================
--- vendor/perl/dist/lib/Net/demos/smtp.self	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/demos/smtp.self	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/demos/smtp.self
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/demos/time
===================================================================
--- vendor/perl/dist/lib/Net/demos/time	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/demos/time	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/demos/time
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/hostent.pm
===================================================================
--- vendor/perl/dist/lib/Net/hostent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/hostent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/hostent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/hostent.t
===================================================================
--- vendor/perl/dist/lib/Net/hostent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/hostent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/hostent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/libnetFAQ.pod
===================================================================
--- vendor/perl/dist/lib/Net/libnetFAQ.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/libnetFAQ.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/libnetFAQ.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/netent.pm
===================================================================
--- vendor/perl/dist/lib/Net/netent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/netent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/netent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/netent.t
===================================================================
--- vendor/perl/dist/lib/Net/netent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/netent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/netent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/protoent.pm
===================================================================
--- vendor/perl/dist/lib/Net/protoent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/protoent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/protoent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/protoent.t
===================================================================
--- vendor/perl/dist/lib/Net/protoent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/protoent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/protoent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/servent.pm
===================================================================
--- vendor/perl/dist/lib/Net/servent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/servent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/servent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/servent.t
===================================================================
--- vendor/perl/dist/lib/Net/servent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/servent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/servent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/config.t
===================================================================
--- vendor/perl/dist/lib/Net/t/config.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/config.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/config.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/datasend.t
===================================================================
--- vendor/perl/dist/lib/Net/t/datasend.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/datasend.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/datasend.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/ftp.t
===================================================================
--- vendor/perl/dist/lib/Net/t/ftp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/ftp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/ftp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/hostname.t
===================================================================
--- vendor/perl/dist/lib/Net/t/hostname.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/hostname.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/hostname.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/libnet_t.pl
===================================================================
--- vendor/perl/dist/lib/Net/t/libnet_t.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/libnet_t.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/libnet_t.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/netrc.t
===================================================================
--- vendor/perl/dist/lib/Net/t/netrc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/netrc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/netrc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/nntp.t
===================================================================
--- vendor/perl/dist/lib/Net/t/nntp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/nntp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/nntp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/require.t
===================================================================
--- vendor/perl/dist/lib/Net/t/require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/require.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/require.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/smtp.t
===================================================================
--- vendor/perl/dist/lib/Net/t/smtp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/smtp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/smtp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Net/t/time.t
===================================================================
--- vendor/perl/dist/lib/Net/t/time.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Net/t/time.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Net/t/time.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Object/Accessor/t/00_Object-Accessor.t
===================================================================
--- vendor/perl/dist/lib/Object/Accessor/t/00_Object-Accessor.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Object/Accessor/t/00_Object-Accessor.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Object/Accessor/t/00_Object-Accessor.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Object/Accessor/t/01_Object-Accessor-Subclassed.t
===================================================================
--- vendor/perl/dist/lib/Object/Accessor/t/01_Object-Accessor-Subclassed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Object/Accessor/t/01_Object-Accessor-Subclassed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Object/Accessor/t/01_Object-Accessor-Subclassed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Object/Accessor/t/02_Object-Accessor-allow.t
===================================================================
--- vendor/perl/dist/lib/Object/Accessor/t/02_Object-Accessor-allow.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Object/Accessor/t/02_Object-Accessor-allow.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Object/Accessor/t/02_Object-Accessor-allow.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Object/Accessor/t/03_Object-Accessor-local.t
===================================================================
--- vendor/perl/dist/lib/Object/Accessor/t/03_Object-Accessor-local.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Object/Accessor/t/03_Object-Accessor-local.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Object/Accessor/t/03_Object-Accessor-local.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Object/Accessor/t/04_Object-Accessor-lvalue.t
===================================================================
--- vendor/perl/dist/lib/Object/Accessor/t/04_Object-Accessor-lvalue.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Object/Accessor/t/04_Object-Accessor-lvalue.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Object/Accessor/t/04_Object-Accessor-lvalue.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Object/Accessor/t/05_Object-Accessor-callback.t
===================================================================
--- vendor/perl/dist/lib/Object/Accessor/t/05_Object-Accessor-callback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Object/Accessor/t/05_Object-Accessor-callback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Object/Accessor/t/05_Object-Accessor-callback.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Object/Accessor/t/06_Object-Accessor-alias.t
===================================================================
--- vendor/perl/dist/lib/Object/Accessor/t/06_Object-Accessor-alias.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Object/Accessor/t/06_Object-Accessor-alias.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Object/Accessor/t/06_Object-Accessor-alias.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Object/Accessor.pm
===================================================================
--- vendor/perl/dist/lib/Object/Accessor.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Object/Accessor.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Object/Accessor.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Package/Constants/t/01_list.t
===================================================================
--- vendor/perl/dist/lib/Package/Constants/t/01_list.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Package/Constants/t/01_list.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Package/Constants/t/01_list.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Package/Constants.pm
===================================================================
--- vendor/perl/dist/lib/Package/Constants.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Package/Constants.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Package/Constants.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Params/Check/t/01_Params-Check.t
===================================================================
--- vendor/perl/dist/lib/Params/Check/t/01_Params-Check.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Params/Check/t/01_Params-Check.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Params/Check/t/01_Params-Check.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Params/Check.pm
===================================================================
--- vendor/perl/dist/lib/Params/Check.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Params/Check.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Params/Check.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/01_compile.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/01_compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/01_compile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/01_compile.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/02_basic.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/02_basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/02_basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/02_basic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/03_regression.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/03_regression.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/03_regression.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/03_regression.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/04_scalar.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/04_scalar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/04_scalar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/04_scalar.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/05_export.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/05_export.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/05_export.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/05_export.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/11_meta_yml.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/11_meta_yml.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/11_meta_yml.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/11_meta_yml.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/12_plagger.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/12_plagger.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/12_plagger.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/12_plagger.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/13_perl_smith.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/13_perl_smith.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/13_perl_smith.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/13_perl_smith.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/14_yaml_org.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/14_yaml_org.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/14_yaml_org.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/14_yaml_org.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/15_multibyte.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/15_multibyte.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/15_multibyte.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/15_multibyte.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/16_nullrefs.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/16_nullrefs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/16_nullrefs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/16_nullrefs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/17_toolbar.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/17_toolbar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/17_toolbar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/17_toolbar.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/18_tap.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/18_tap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/18_tap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/18_tap.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/19_errors.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/19_errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/19_errors.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/19_errors.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/21_bom.t
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/21_bom.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/21_bom.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/21_bom.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/HTML-WebDAO.yml
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/HTML-WebDAO.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/HTML-WebDAO.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/HTML-WebDAO.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Spreadsheet-Read.yml
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Spreadsheet-Read.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Spreadsheet-Read.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Spreadsheet-Read.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Template-Provider-Unicode-Japanese.yml
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Template-Provider-Unicode-Japanese.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Template-Provider-Unicode-Japanese.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/Template-Provider-Unicode-Japanese.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/multibyte.yml
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/multibyte.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/multibyte.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/multibyte.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/sample.yml
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/sample.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/sample.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/sample.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/toolbar.yml
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/toolbar.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/toolbar.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/toolbar.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/utf_16_le_bom.yml
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/utf_16_le_bom.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/utf_16_le_bom.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/utf_16_le_bom.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/vanilla.yml
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/vanilla.yml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/vanilla.yml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta/t/data/vanilla.yml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Parse/CPAN/Meta.pm
===================================================================
--- vendor/perl/dist/lib/Parse/CPAN/Meta.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Parse/CPAN/Meta.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Parse/CPAN/Meta.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/PerlIO/via/QuotedPrint.pm
===================================================================
--- vendor/perl/dist/lib/PerlIO/via/QuotedPrint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/PerlIO/via/QuotedPrint.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/PerlIO/via/QuotedPrint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/PerlIO/via/t/QuotedPrint.t
===================================================================
--- vendor/perl/dist/lib/PerlIO/via/t/QuotedPrint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/PerlIO/via/t/QuotedPrint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/PerlIO/via/t/QuotedPrint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/PerlIO.pm
===================================================================
--- vendor/perl/dist/lib/PerlIO.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/PerlIO.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -93,20 +93,6 @@
 
 Based on the C<:perlio> layer.
 
-=item :mmap
-
-A layer which implements "reading" of files by using C<mmap()> to
-make a (whole) file appear in the process's address space, and then
-using that as PerlIO's "buffer". This I<may> be faster in certain
-circumstances for large files, and may result in less physical memory
-use when multiple processes are reading the same file.
-
-Files which are not C<mmap()>-able revert to behaving like the C<:perlio>
-layer. Writes also behave like the C<:perlio> layer, as C<mmap()> for write
-needs extra house-keeping (to extend the file) which negates any advantage.
-
-The C<:mmap> layer will not exist if the platform does not support C<mmap()>.
-
 =item :utf8
 
 Declares that the stream accepts perl's I<internal> encoding of
@@ -208,6 +194,20 @@
 an C<:encoding> also enables C<:utf8>.  See L<PerlIO::encoding>
 for more information.
 
+=item :mmap
+
+A layer which implements "reading" of files by using C<mmap()> to
+make a (whole) file appear in the process's address space, and then
+using that as PerlIO's "buffer". This I<may> be faster in certain
+circumstances for large files, and may result in less physical memory
+use when multiple processes are reading the same file.
+
+Files which are not C<mmap()>-able revert to behaving like the C<:perlio>
+layer. Writes also behave like the C<:perlio> layer, as C<mmap()> for write
+needs extra house-keeping (to extend the file) which negates any advantage.
+
+The C<:mmap> layer will not exist if the platform does not support C<mmap()>.
+
 =item :via
 
 Use C<:via(MODULE)> either in open() or binmode() to install a layer
@@ -284,7 +284,6 @@
  unset / "" unix perlio / stdio [1]     unix crlf
  stdio      unix perlio / stdio [1]     stdio
  perlio     unix perlio                 unix perlio
- mmap       unix mmap                   unix mmap
 
  # [1] "stdio" if Configure found out how to do "fast stdio" (depends
  # on the stdio implementation) and in Perl 5.8, otherwise "unix perlio"


Property changes on: vendor/perl/dist/lib/PerlIO.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Checker.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Checker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Checker.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Checker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Escapes/ChangeLog
===================================================================
--- vendor/perl/dist/lib/Pod/Escapes/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Escapes/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Escapes/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Escapes/README
===================================================================
--- vendor/perl/dist/lib/Pod/Escapes/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Escapes/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Escapes/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Escapes/t/01_about_verbose.t
===================================================================
--- vendor/perl/dist/lib/Pod/Escapes/t/01_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Escapes/t/01_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Escapes/t/01_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Escapes/t/10_main.t
===================================================================
--- vendor/perl/dist/lib/Pod/Escapes/t/10_main.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Escapes/t/10_main.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Escapes/t/10_main.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Escapes/t/15_name2charnum.t
===================================================================
--- vendor/perl/dist/lib/Pod/Escapes/t/15_name2charnum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Escapes/t/15_name2charnum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Escapes/t/15_name2charnum.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Escapes.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Escapes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Escapes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Escapes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Find.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Find.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Find.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Find.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Functions.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Functions.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Functions.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Functions.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Html.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Html.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Html.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Html.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/InputObjects.pm
===================================================================
--- vendor/perl/dist/lib/Pod/InputObjects.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/InputObjects.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/InputObjects.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/LaTeX.pm
===================================================================
--- vendor/perl/dist/lib/Pod/LaTeX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/LaTeX.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/LaTeX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Man.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Man.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Man.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Man.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/ParseLink.pm
===================================================================
--- vendor/perl/dist/lib/Pod/ParseLink.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/ParseLink.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/ParseLink.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/ParseUtils.pm
===================================================================
--- vendor/perl/dist/lib/Pod/ParseUtils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/ParseUtils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/ParseUtils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Parser.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Parser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Parser.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Parser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/BaseTo.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/BaseTo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/BaseTo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/BaseTo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/GetOptsOO.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/GetOptsOO.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/GetOptsOO.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/GetOptsOO.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/ToChecker.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/ToChecker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/ToChecker.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/ToChecker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/ToMan.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/ToMan.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/ToMan.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/ToMan.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/ToNroff.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/ToNroff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/ToNroff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/ToNroff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/ToPod.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/ToPod.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/ToPod.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/ToPod.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/ToRtf.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/ToRtf.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/ToRtf.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/ToRtf.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/ToText.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/ToText.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/ToText.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/ToText.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/ToTk.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/ToTk.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/ToTk.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/ToTk.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/ToXml.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/ToXml.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/ToXml.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/ToXml.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/t/01_about_verbose.t
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/t/01_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/t/01_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/t/01_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/t/checkerbasic.t
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/t/checkerbasic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/t/checkerbasic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/t/checkerbasic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/t/perldocbasic.t
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/t/perldocbasic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/t/perldocbasic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/t/perldocbasic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc/t/textbasic.t
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc/t/textbasic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc/t/textbasic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc/t/textbasic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Perldoc.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Perldoc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Perldoc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Perldoc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/PlainText.pm
===================================================================
--- vendor/perl/dist/lib/Pod/PlainText.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/PlainText.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/PlainText.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Plainer.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Plainer.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Plainer.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Plainer.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Select.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Select.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Select.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Select.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/BlackBox.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/BlackBox.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/BlackBox.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/BlackBox.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/ChangeLog
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/Checker.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/Checker.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/Checker.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/Checker.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/Debug.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/Debug.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/Debug.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/Debug.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/DumpAsText.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/DumpAsText.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/DumpAsText.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/DumpAsText.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/DumpAsXML.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/DumpAsXML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/DumpAsXML.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/DumpAsXML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/HTML.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/HTML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/HTML.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/HTML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/HTMLBatch.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/HTMLBatch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/HTMLBatch.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/HTMLBatch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/HTMLLegacy.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/HTMLLegacy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/HTMLLegacy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/HTMLLegacy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/LinkSection.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/LinkSection.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/LinkSection.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/LinkSection.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/Methody.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/Methody.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/Methody.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/Methody.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/Progress.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/Progress.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/Progress.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/Progress.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/PullParser.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/PullParser.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/PullParser.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/PullParser.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/PullParserEndToken.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/PullParserEndToken.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/PullParserEndToken.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/PullParserEndToken.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/PullParserStartToken.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/PullParserStartToken.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/PullParserStartToken.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/PullParserStartToken.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/PullParserTextToken.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/PullParserTextToken.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/PullParserTextToken.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/PullParserTextToken.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/PullParserToken.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/PullParserToken.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/PullParserToken.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/PullParserToken.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/README
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/RTF.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/RTF.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/RTF.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/RTF.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/Search.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/Search.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/Search.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/Search.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/SimpleTree.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/SimpleTree.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/SimpleTree.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/SimpleTree.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/Subclassing.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/Subclassing.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/Subclassing.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/Subclassing.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/Text.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/Text.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/Text.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/Text.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/TextContent.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/TextContent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/TextContent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/TextContent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/TiedOutFH.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/TiedOutFH.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/TiedOutFH.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/TiedOutFH.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/Transcode.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/Transcode.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/Transcode.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/Transcode.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/TranscodeDumb.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/TranscodeDumb.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/TranscodeDumb.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/TranscodeDumb.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/TranscodeSmart.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/TranscodeSmart.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/TranscodeSmart.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/TranscodeSmart.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/XHTML.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/XHTML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/XHTML.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/XHTML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/XMLOutStream.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/XMLOutStream.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/XMLOutStream.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/XMLOutStream.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/00about.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/00about.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/00about.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/00about.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/20_skip.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/20_skip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/20_skip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/20_skip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/ac_d.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/ac_d.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/ac_d.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/ac_d.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/accept01.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/accept01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/accept01.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/accept01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/accept05.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/accept05.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/accept05.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/accept05.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/basic.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/begin.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/begin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/begin.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/begin.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/cbacks.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/cbacks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/cbacks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/cbacks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/chunking.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/chunking.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/chunking.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/chunking.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/closeys.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/closeys.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/closeys.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/closeys.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.txt.packed
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.txt.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.txt.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.txt.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jp.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.txt.packed
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.txt.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.txt.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.txt.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpx.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.txt.packed
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.txt.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.txt.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.txt.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpy.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/2202jpz.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/8859_7.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/cp1256.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_cont.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/fet_dup.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/iso6.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/koi8r.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38b.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/laozi38p.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1fr.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/lat1frim.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/nonesuch.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/pasternak_cp1251.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_explicit.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_latin1.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/plain_utf8.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/polish_utf8.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/s2763_sjis.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus/thai_iso11.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/fiqhakbar_iso6.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_implicit_utf8.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_implicit_utf8.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_implicit_utf8.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_implicit_utf8.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16be_bom.txt.packed
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16be_bom.txt.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16be_bom.txt.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16be_bom.txt.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16le_bom.txt.packed
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16le_bom.txt.packed	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16le_bom.txt.packed	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf16le_bom.txt.packed
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.xml
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.xml	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.xml	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/corpus2/polish_utf8_bom2.xml
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/encod01.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/encod01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/encod01.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/encod01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/encod02.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/encod02.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/encod02.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/encod02.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/encod03.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/encod03.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/encod03.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/encod03.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/end_over.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/end_over.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/end_over.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/end_over.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/fcodes.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/fcodes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/fcodes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/fcodes.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/fcodes_e.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/fcodes_e.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/fcodes_e.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/fcodes_e.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/fcodes_l.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/fcodes_l.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/fcodes_l.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/fcodes_l.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/fcodes_s.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/fcodes_s.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/fcodes_s.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/fcodes_s.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/for.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/for.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/for.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/for.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/fornot.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/fornot.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/fornot.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/fornot.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/fullstop.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/fullstop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/fullstop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/fullstop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/heads.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/heads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/heads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/heads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/html01.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/html01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/html01.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/html01.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/html02.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/html02.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/html02.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/html02.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/html03.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/html03.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/html03.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/html03.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/htmlbat.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/htmlbat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/htmlbat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/htmlbat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/items.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/items.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/items.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/items.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/items02.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/items02.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/items02.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/items02.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/itemstar.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/itemstar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/itemstar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/itemstar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/junk1.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/junk1.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/junk1.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/junk1.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/junk1o.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/junk1o.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/junk1o.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/junk1o.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/junk2.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/junk2.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/junk2.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/junk2.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/junk2o.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/junk2o.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/junk2o.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/junk2o.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/linkclas.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/linkclas.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/linkclas.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/linkclas.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/perlcyg.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/perlcyg.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/perlcyg.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/perlcyg.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/perlcygo.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/perlcygo.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/perlcygo.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/perlcygo.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/perlfaq.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/perlfaq.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/perlfaq.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/perlfaq.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/perlfaqo.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/perlfaqo.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/perlfaqo.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/perlfaqo.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/perlvar.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/perlvar.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/perlvar.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/perlvar.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/perlvaro.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/perlvaro.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/perlvaro.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/perlvaro.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/puller.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/puller.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/puller.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/puller.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/pulltitl.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/pulltitl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/pulltitl.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/pulltitl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/reinit.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/reinit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/reinit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/reinit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/render.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/render.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/render.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/render.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search05.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search05.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search05.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search05.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search10.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search10.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search10.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search10.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search12.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search12.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search12.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search12.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search20.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search20.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search20.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search20.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search22.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search22.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search22.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search22.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search25.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search25.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search25.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search25.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search26.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search26.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search26.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search26.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search27.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search27.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search27.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search27.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search28.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search28.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search28.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search28.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search29.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search29.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search29.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search29.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/search50.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/search50.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/search50.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/search50.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/stree.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/stree.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/stree.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/stree.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/Blorm.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/Blorm.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/Blorm.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/Blorm.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Fiddle.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Fiddle.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Fiddle.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Fiddle.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Pronk.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Pronk.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Pronk.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Pronk.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Veng.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Veng.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Veng.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/Zonk/Veng.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Glunk.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Glunk.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Glunk.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Glunk.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Vliff.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/readme.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/readme.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/readme.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/hinkhonk/readme.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlflif.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlflif.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlflif.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlflif.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlthng.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlthng.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlthng.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/pod/perlthng.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Glunk.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Glunk.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Glunk.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Glunk.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Vliff.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/squaa.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib1/zikzik.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib1/zikzik.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib1/zikzik.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib1/zikzik.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib2/Suzzle.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib2/Suzzle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib2/Suzzle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib2/Suzzle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Glunk.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Glunk.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Glunk.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Glunk.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Vliff.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/readme.txt
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/readme.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/readme.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib2/hinkhonk/readme.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlthng.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlthng.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlthng.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlthng.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlzuk.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlzuk.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlzuk.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib2/pod/perlzuk.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Vliff.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Wowo.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Wowo.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Wowo.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib2/squaa/Wowo.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/testlib3/squaa/Vliff.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/testlib3/squaa/Vliff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/testlib3/squaa/Vliff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/testlib3/squaa/Vliff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/tiedfh.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/tiedfh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/tiedfh.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/tiedfh.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/verb_fmt.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/verb_fmt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/verb_fmt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/verb_fmt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/verbatim.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/verbatim.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/verbatim.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/verbatim.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/x_nixer.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/x_nixer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/x_nixer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/x_nixer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/xhtml01.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/xhtml01.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/xhtml01.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/xhtml01.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple/t/xhtml05.t
===================================================================
--- vendor/perl/dist/lib/Pod/Simple/t/xhtml05.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple/t/xhtml05.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple/t/xhtml05.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Simple.pod
===================================================================
--- vendor/perl/dist/lib/Pod/Simple.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Simple.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Simple.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Text/Color.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Text/Color.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Text/Color.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Text/Color.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Text/Overstrike.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Text/Overstrike.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Text/Overstrike.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Text/Overstrike.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Text/Termcap.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Text/Termcap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Text/Termcap.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Text/Termcap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Text.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Text.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Text.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Text.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/Usage.pm
===================================================================
--- vendor/perl/dist/lib/Pod/Usage.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/Usage.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/Usage.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/Functions.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/Functions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/Functions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/Functions.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/InputObjects.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/InputObjects.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/InputObjects.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/InputObjects.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/Select.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/Select.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/Select.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/Select.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/Usage.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/Usage.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/Usage.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/Usage.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/basic.cap
===================================================================
--- vendor/perl/dist/lib/Pod/t/basic.cap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/basic.cap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/basic.cap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/basic.clr
===================================================================
--- vendor/perl/dist/lib/Pod/t/basic.clr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/basic.clr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/basic.clr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/basic.man
===================================================================
--- vendor/perl/dist/lib/Pod/t/basic.man	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/basic.man	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/basic.man
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/basic.ovr
===================================================================
--- vendor/perl/dist/lib/Pod/t/basic.ovr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/basic.ovr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/basic.ovr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/basic.pod
===================================================================
--- vendor/perl/dist/lib/Pod/t/basic.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/basic.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/basic.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/basic.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/basic.txt
===================================================================
--- vendor/perl/dist/lib/Pod/t/basic.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/basic.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/basic.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/color.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/color.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/color.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/color.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/contains_pod.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/contains_pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/contains_pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/contains_pod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/eol.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/eol.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/eol.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/eol.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/filehandle.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/filehandle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/filehandle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/filehandle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/htmlescp.pod
===================================================================
--- vendor/perl/dist/lib/Pod/t/htmlescp.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/htmlescp.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/htmlescp.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/htmlescp.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/htmlescp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/htmlescp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/htmlescp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/htmllink.pod
===================================================================
--- vendor/perl/dist/lib/Pod/t/htmllink.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/htmllink.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/htmllink.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/htmllink.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/htmllink.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/htmllink.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/htmllink.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/htmlview.pod
===================================================================
--- vendor/perl/dist/lib/Pod/t/htmlview.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/htmlview.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/htmlview.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/htmlview.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/htmlview.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/htmlview.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/htmlview.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/man-options.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/man-options.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/man-options.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/man-options.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/man-utf8.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/man-utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/man-utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/man-utf8.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/man.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/man.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/man.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/man.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/parselink.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/parselink.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/parselink.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/parselink.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/pod-parser.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/pod-parser.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/pod-parser.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/pod-parser.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/pod-spelling.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/pod-spelling.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/pod-spelling.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/pod-spelling.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/pod.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/pod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/pod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/pod.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/pod2html-lib.pl
===================================================================
--- vendor/perl/dist/lib/Pod/t/pod2html-lib.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/pod2html-lib.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/pod2html-lib.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/pod2latex.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/pod2latex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/pod2latex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/pod2latex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/termcap.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/termcap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/termcap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/termcap.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/text-encoding.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/text-encoding.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/text-encoding.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/text-encoding.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/text-options.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/text-options.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/text-options.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/text-options.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/text-utf8.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/text-utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/text-utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/text-utf8.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/text.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/text.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/text.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/text.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/user.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/user.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/user.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/user.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Pod/t/utils.t
===================================================================
--- vendor/perl/dist/lib/Pod/t/utils.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Pod/t/utils.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Pod/t/utils.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Search/Dict.pm
===================================================================
--- vendor/perl/dist/lib/Search/Dict.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Search/Dict.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Search/Dict.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Search/Dict.t
===================================================================
--- vendor/perl/dist/lib/Search/Dict.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Search/Dict.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Search/Dict.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/SelectSaver.pm
===================================================================
--- vendor/perl/dist/lib/SelectSaver.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/SelectSaver.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/SelectSaver.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/SelectSaver.t
===================================================================
--- vendor/perl/dist/lib/SelectSaver.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/SelectSaver.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/SelectSaver.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/SelfLoader/t/01SelfLoader.t
===================================================================
--- vendor/perl/dist/lib/SelfLoader/t/01SelfLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/SelfLoader/t/01SelfLoader.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/SelfLoader/t/01SelfLoader.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/SelfLoader/t/02SelfLoader-buggy.t
===================================================================
--- vendor/perl/dist/lib/SelfLoader/t/02SelfLoader-buggy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/SelfLoader/t/02SelfLoader-buggy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/SelfLoader/t/02SelfLoader-buggy.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/SelfLoader-buggy.t
===================================================================
--- vendor/perl/dist/lib/SelfLoader-buggy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/SelfLoader-buggy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/SelfLoader-buggy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/SelfLoader.pm
===================================================================
--- vendor/perl/dist/lib/SelfLoader.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/SelfLoader.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/SelfLoader.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/SelfLoader.t
===================================================================
--- vendor/perl/dist/lib/SelfLoader.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/SelfLoader.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/SelfLoader.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Shell.pm
===================================================================
--- vendor/perl/dist/lib/Shell.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Shell.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Shell.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Shell.t
===================================================================
--- vendor/perl/dist/lib/Shell.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Shell.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Shell.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Switch/t/given.t
===================================================================
--- vendor/perl/dist/lib/Switch/t/given.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Switch/t/given.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Switch/t/given.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Switch/t/nested.t
===================================================================
--- vendor/perl/dist/lib/Switch/t/nested.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Switch/t/nested.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Switch/t/nested.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Switch/t/switch.t
===================================================================
--- vendor/perl/dist/lib/Switch/t/switch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Switch/t/switch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Switch/t/switch.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Switch.pm
===================================================================
--- vendor/perl/dist/lib/Switch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Switch.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Switch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Symbol.pm
===================================================================
--- vendor/perl/dist/lib/Symbol.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Symbol.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Symbol.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Symbol.t
===================================================================
--- vendor/perl/dist/lib/Symbol.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Symbol.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Symbol.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/ANSIColor/ChangeLog
===================================================================
--- vendor/perl/dist/lib/Term/ANSIColor/ChangeLog	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/ANSIColor/ChangeLog	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/ANSIColor/ChangeLog
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/ANSIColor/README
===================================================================
--- vendor/perl/dist/lib/Term/ANSIColor/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/ANSIColor/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/ANSIColor/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/ANSIColor/t/basic.t
===================================================================
--- vendor/perl/dist/lib/Term/ANSIColor/t/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/ANSIColor/t/basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/ANSIColor/t/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/ANSIColor.pm
===================================================================
--- vendor/perl/dist/lib/Term/ANSIColor.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/ANSIColor.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/ANSIColor.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/Cap.pm
===================================================================
--- vendor/perl/dist/lib/Term/Cap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/Cap.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/Cap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/Cap.t
===================================================================
--- vendor/perl/dist/lib/Term/Cap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/Cap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/Cap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/Complete.pm
===================================================================
--- vendor/perl/dist/lib/Term/Complete.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/Complete.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/Complete.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/Complete.t
===================================================================
--- vendor/perl/dist/lib/Term/Complete.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/Complete.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/Complete.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/ReadLine.pm
===================================================================
--- vendor/perl/dist/lib/Term/ReadLine.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/ReadLine.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/ReadLine.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/ReadLine.t
===================================================================
--- vendor/perl/dist/lib/Term/ReadLine.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/ReadLine.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/ReadLine.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/UI/History.pm
===================================================================
--- vendor/perl/dist/lib/Term/UI/History.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/UI/History.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/UI/History.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/UI/t/00_load.t
===================================================================
--- vendor/perl/dist/lib/Term/UI/t/00_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/UI/t/00_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/UI/t/00_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/UI/t/01_history.t
===================================================================
--- vendor/perl/dist/lib/Term/UI/t/01_history.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/UI/t/01_history.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/UI/t/01_history.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/UI/t/02_ui.t
===================================================================
--- vendor/perl/dist/lib/Term/UI/t/02_ui.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/UI/t/02_ui.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/UI/t/02_ui.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Term/UI.pm
===================================================================
--- vendor/perl/dist/lib/Term/UI.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Term/UI.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Term/UI.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Builder/Module.pm
===================================================================
--- vendor/perl/dist/lib/Test/Builder/Module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Builder/Module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Builder/Module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Builder/Tester/Color.pm
===================================================================
--- vendor/perl/dist/lib/Test/Builder/Tester/Color.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Builder/Tester/Color.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Builder/Tester/Color.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Builder/Tester.pm
===================================================================
--- vendor/perl/dist/lib/Test/Builder/Tester.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Builder/Tester.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Builder/Tester.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Builder.pm
===================================================================
--- vendor/perl/dist/lib/Test/Builder.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Builder.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Builder.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/Assert.pm
===================================================================
--- vendor/perl/dist/lib/Test/Harness/Assert.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/Assert.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/Assert.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/Iterator.pm
===================================================================
--- vendor/perl/dist/lib/Test/Harness/Iterator.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/Iterator.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/Iterator.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/Point.pm
===================================================================
--- vendor/perl/dist/lib/Test/Harness/Point.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/Point.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/Point.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/Results.pm
===================================================================
--- vendor/perl/dist/lib/Test/Harness/Results.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/Results.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/Results.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/Straps.pm
===================================================================
--- vendor/perl/dist/lib/Test/Harness/Straps.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/Straps.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/Straps.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/TAP.pod
===================================================================
--- vendor/perl/dist/lib/Test/Harness/TAP.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/TAP.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/TAP.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/Util.pm
===================================================================
--- vendor/perl/dist/lib/Test/Harness/Util.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/Util.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/Util.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/bin/prove
===================================================================
--- vendor/perl/dist/lib/Test/Harness/bin/prove	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/bin/prove	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/bin/prove
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/00compile.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/00compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/00compile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/00compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/assert.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/assert.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/assert.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/assert.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/base.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/callback.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/callback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/callback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/callback.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/failure.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/failure.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/failure.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/failure.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/from_line.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/from_line.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/from_line.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/from_line.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/harness.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/harness.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/harness.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/harness.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/inc_taint.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/inc_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/inc_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/inc_taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/nonumbers.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/nonumbers.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/nonumbers.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/nonumbers.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/ok.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/point-parse.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/point-parse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/point-parse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/point-parse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/point.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/point.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/point.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/point.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/prove-globbing.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/prove-globbing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/prove-globbing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/prove-globbing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/prove-switches.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/prove-switches.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/prove-switches.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/prove-switches.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/strap-analyze.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/strap-analyze.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/strap-analyze.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/strap-analyze.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/strap.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/strap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/strap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/strap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/test-harness.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/test-harness.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/test-harness.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/test-harness.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness/t/version.t
===================================================================
--- vendor/perl/dist/lib/Test/Harness/t/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness/t/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness/t/version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Harness.pm
===================================================================
--- vendor/perl/dist/lib/Test/Harness.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Harness.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Harness.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/More.pm
===================================================================
--- vendor/perl/dist/lib/Test/More.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/More.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/More.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/README
===================================================================
--- vendor/perl/dist/lib/Test/Simple/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/TODO
===================================================================
--- vendor/perl/dist/lib/Test/Simple/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/00test_harness_check.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/00test_harness_check.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/00test_harness_check.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/00test_harness_check.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/BEGIN_require_ok.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/BEGIN_require_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/BEGIN_require_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/BEGIN_require_ok.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/BEGIN_use_ok.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/BEGIN_use_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/BEGIN_use_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/BEGIN_use_ok.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/Builder.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/Builder.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/Builder.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/Builder.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/carp.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/carp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/carp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/carp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/create.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/create.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/create.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/create.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/current_test.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/current_test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/current_test.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/current_test.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/current_test_without_plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/current_test_without_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/current_test_without_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/current_test_without_plan.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/details.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/details.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/details.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/details.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_double.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_double.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_double.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_double.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_plan_mismatch.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_plan_mismatch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_plan_mismatch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_plan_mismatch.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_no_plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_no_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_no_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_no_plan.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_number.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_number.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_number.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_number.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/done_testing_with_plan.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/fork_with_new_stdout.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/fork_with_new_stdout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/fork_with_new_stdout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/fork_with_new_stdout.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan2.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/has_plan2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/is_fh.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/is_fh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/is_fh.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/is_fh.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/maybe_regex.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/maybe_regex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/maybe_regex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/maybe_regex.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/no_diag.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/no_diag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/no_diag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/no_diag.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/no_ending.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/no_ending.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/no_ending.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/no_ending.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/no_header.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/no_header.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/no_header.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/no_header.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/no_plan_at_all.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/no_plan_at_all.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/no_plan_at_all.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/no_plan_at_all.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/ok_obj.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/ok_obj.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/ok_obj.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/ok_obj.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/output.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/output.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/output.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/output.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/reset.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/reset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/reset.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/reset.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder/try.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder/try.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder/try.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder/try.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Builder.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Builder.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Builder.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Builder.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/More.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/More.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/More.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/More.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_01basic.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_01basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_01basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_01basic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_02fhrestore.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_02fhrestore.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_02fhrestore.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_02fhrestore.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_03die.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_03die.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_03die.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_03die.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_04line_num.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_04line_num.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_04line_num.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_04line_num.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_05faildiag.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_05faildiag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_05faildiag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_05faildiag.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_06errormess.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_06errormess.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_06errormess.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_06errormess.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_07args.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_07args.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_07args.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/Tester/tbt_07args.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/bad_plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/bad_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/bad_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/bad_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/bail_out.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/bail_out.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/bail_out.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/bail_out.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/buffer.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/buffer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/buffer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/buffer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/c_flag.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/c_flag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/c_flag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/c_flag.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/carp.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/carp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/carp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/carp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/circular_data.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/circular_data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/circular_data.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/circular_data.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/cmp_ok.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/cmp_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/cmp_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/cmp_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/create.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/create.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/create.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/create.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/curr_test.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/curr_test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/curr_test.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/curr_test.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/details.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/details.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/details.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/details.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/diag.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/diag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/diag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/diag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/died.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/died.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/died.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/died.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/dont_overwrite_die_handler.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/dont_overwrite_die_handler.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/dont_overwrite_die_handler.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/dont_overwrite_die_handler.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/eq_set.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/eq_set.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/eq_set.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/eq_set.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/exit.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/exit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/exit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/explain.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/explain.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/explain.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/explain.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/extra.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/extra.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/extra.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/extra.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/extra_one.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/extra_one.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/extra_one.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/extra_one.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/fail-like.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/fail-like.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/fail-like.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/fail-like.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/fail-more.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/fail-more.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/fail-more.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/fail-more.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/fail.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/fail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/fail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/fail_one.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/fail_one.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/fail_one.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/fail_one.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/filehandles.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/filehandles.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/filehandles.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/filehandles.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/fork.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/fork.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/fork.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/fork.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/harness_active.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/harness_active.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/harness_active.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/harness_active.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/has_plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/has_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/has_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/has_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/has_plan2.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/has_plan2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/has_plan2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/has_plan2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/import.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/import.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/import.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/import.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/is_deeply_dne_bug.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/is_deeply_dne_bug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/is_deeply_dne_bug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/is_deeply_dne_bug.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/is_deeply_fail.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/is_deeply_fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/is_deeply_fail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/is_deeply_fail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/is_deeply_with_threads.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/is_deeply_with_threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/is_deeply_with_threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/is_deeply_with_threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/is_fh.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/is_fh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/is_fh.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/is_fh.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/lib/Dummy.pm
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/lib/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/lib/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/lib/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/lib/MyOverload.pm
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/lib/MyOverload.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/lib/MyOverload.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/lib/MyOverload.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/lib/NoExporter.pm
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/lib/NoExporter.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/lib/NoExporter.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/lib/NoExporter.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/lib/SigDie.pm
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/lib/SigDie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/lib/SigDie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/lib/SigDie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/maybe_regex.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/maybe_regex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/maybe_regex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/maybe_regex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/missing.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/missing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/missing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/missing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/new_ok.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/new_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/new_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/new_ok.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/no_diag.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/no_diag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/no_diag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/no_diag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/no_ending.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/no_ending.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/no_ending.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/no_ending.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/no_header.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/no_header.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/no_header.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/no_header.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/no_plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/no_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/no_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/no_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/no_tests.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/no_tests.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/no_tests.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/no_tests.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/note.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/note.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/note.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/note.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/ok_obj.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/ok_obj.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/ok_obj.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/ok_obj.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/output.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/output.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/output.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/output.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/overload.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/overload.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/overload_threads.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/overload_threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/overload_threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/overload_threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/plan_bad.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/plan_bad.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/plan_bad.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/plan_bad.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/plan_is_noplan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/plan_is_noplan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/plan_is_noplan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/plan_is_noplan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/plan_no_plan.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/plan_no_plan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/plan_no_plan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/plan_no_plan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/plan_shouldnt_import.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/plan_shouldnt_import.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/plan_shouldnt_import.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/plan_shouldnt_import.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/plan_skip_all.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/plan_skip_all.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/plan_skip_all.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/plan_skip_all.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/require_ok.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/require_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/require_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/require_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/reset.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/reset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/reset.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/reset.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/simple.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/simple.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/simple.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/simple.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/skip.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/skip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/skip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/skip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/skipall.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/skipall.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/skipall.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/skipall.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/tbm_doesnt_set_exported_to.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/tbm_doesnt_set_exported_to.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/tbm_doesnt_set_exported_to.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/tbm_doesnt_set_exported_to.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/tbt_01basic.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/tbt_01basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/tbt_01basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/tbt_01basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/tbt_02fhrestore.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/tbt_02fhrestore.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/tbt_02fhrestore.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/tbt_02fhrestore.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/tbt_03die.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/tbt_03die.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/tbt_03die.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/tbt_03die.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/tbt_04line_num.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/tbt_04line_num.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/tbt_04line_num.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/tbt_04line_num.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/tbt_05faildiag.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/tbt_05faildiag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/tbt_05faildiag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/tbt_05faildiag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/tbt_06errormess.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/tbt_06errormess.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/tbt_06errormess.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/tbt_06errormess.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/tbt_07args.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/tbt_07args.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/tbt_07args.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/tbt_07args.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/thread_taint.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/thread_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/thread_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/thread_taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/threads.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/threads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/todo.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/todo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/todo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/todo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/try.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/try.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/try.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/try.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/undef.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/undef.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/undef.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/undef.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/use_ok.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/use_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/use_ok.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/use_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/useing.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/useing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/useing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/useing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/utf8.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/utf8.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple/t/versions.t
===================================================================
--- vendor/perl/dist/lib/Test/Simple/t/versions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple/t/versions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple/t/versions.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Simple.pm
===================================================================
--- vendor/perl/dist/lib/Test/Simple.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Simple.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Simple.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/Tutorial.pod
===================================================================
--- vendor/perl/dist/lib/Test/Tutorial.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/Tutorial.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/Tutorial.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/05_about_verbose.t
===================================================================
--- vendor/perl/dist/lib/Test/t/05_about_verbose.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/05_about_verbose.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/05_about_verbose.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/fail.t
===================================================================
--- vendor/perl/dist/lib/Test/t/fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/fail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/fail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/mix.t
===================================================================
--- vendor/perl/dist/lib/Test/t/mix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/mix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/mix.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/multiline.t
===================================================================
--- vendor/perl/dist/lib/Test/t/multiline.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/multiline.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/multiline.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/onfail.t
===================================================================
--- vendor/perl/dist/lib/Test/t/onfail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/onfail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/onfail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/qr.t
===================================================================
--- vendor/perl/dist/lib/Test/t/qr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/qr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/qr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/skip.t
===================================================================
--- vendor/perl/dist/lib/Test/t/skip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/skip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/skip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/success.t
===================================================================
--- vendor/perl/dist/lib/Test/t/success.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/success.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/success.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test/t/todo.t
===================================================================
--- vendor/perl/dist/lib/Test/t/todo.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test/t/todo.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test/t/todo.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Test.pm
===================================================================
--- vendor/perl/dist/lib/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Abbrev.pm
===================================================================
--- vendor/perl/dist/lib/Text/Abbrev.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Abbrev.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Abbrev.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Abbrev.t
===================================================================
--- vendor/perl/dist/lib/Text/Abbrev.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Abbrev.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Abbrev.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/README
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/README
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/00-load.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/00-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/00-load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/00-load.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/extbrk.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/extbrk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/extbrk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/extbrk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/extcbk.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/extcbk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/extcbk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/extcbk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/extdel.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/extdel.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/extdel.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/extdel.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/extmul.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/extmul.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/extmul.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/extmul.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/extqlk.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/extqlk.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/extqlk.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/extqlk.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/exttag.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/exttag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/exttag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/exttag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/extvar.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/extvar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/extvar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/extvar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced/t/gentag.t
===================================================================
--- vendor/perl/dist/lib/Text/Balanced/t/gentag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced/t/gentag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced/t/gentag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Balanced.pm
===================================================================
--- vendor/perl/dist/lib/Text/Balanced.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Balanced.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Balanced.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/ParseWords/taint.t
===================================================================
--- vendor/perl/dist/lib/Text/ParseWords/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/ParseWords/taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/ParseWords/taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/ParseWords.pm
===================================================================
--- vendor/perl/dist/lib/Text/ParseWords.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/ParseWords.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/ParseWords.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/ParseWords.t
===================================================================
--- vendor/perl/dist/lib/Text/ParseWords.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/ParseWords.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/ParseWords.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Tabs.pm
===================================================================
--- vendor/perl/dist/lib/Text/Tabs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Tabs.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Tabs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/CHANGELOG
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/CHANGELOG	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/CHANGELOG	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/CHANGELOG
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/37000.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/37000.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/37000.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/37000.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/39548.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/39548.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/39548.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/39548.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson2.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/Jacobson2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/Jochen.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/Jochen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/Jochen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/Jochen.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/belg4mit.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/belg4mit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/belg4mit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/belg4mit.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/dandv.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/dandv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/dandv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/dandv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/fill.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/fill.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/fill.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/fill.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/sep.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/sep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/sep.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/sep.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/sep2.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/sep2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/sep2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/sep2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/tabs.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/tabs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/tabs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/tabs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/wrap.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/wrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/wrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/wrap.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/TabsWrap/t/wrap_separator2.t
===================================================================
--- vendor/perl/dist/lib/Text/TabsWrap/t/wrap_separator2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/TabsWrap/t/wrap_separator2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/TabsWrap/t/wrap_separator2.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Text/Wrap.pm
===================================================================
--- vendor/perl/dist/lib/Text/Wrap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Text/Wrap.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Text/Wrap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue/t/01_basic.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue/t/01_basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue/t/01_basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue/t/01_basic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue/t/02_refs.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue/t/02_refs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue/t/02_refs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue/t/02_refs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue/t/03_peek.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue/t/03_peek.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue/t/03_peek.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue/t/03_peek.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue/t/04_errs.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue/t/04_errs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue/t/04_errs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue/t/04_errs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue/t/05_extract.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue/t/05_extract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue/t/05_extract.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue/t/05_extract.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue/t/06_insert.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue/t/06_insert.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue/t/06_insert.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue/t/06_insert.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue/t/07_lock.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue/t/07_lock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue/t/07_lock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue/t/07_lock.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue/t/08_nothreads.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue/t/08_nothreads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue/t/08_nothreads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue/t/08_nothreads.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue.pm
===================================================================
--- vendor/perl/dist/lib/Thread/Queue.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Queue.t
===================================================================
--- vendor/perl/dist/lib/Thread/Queue.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Queue.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Queue.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Semaphore/t/01_basic.t
===================================================================
--- vendor/perl/dist/lib/Thread/Semaphore/t/01_basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Semaphore/t/01_basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Semaphore/t/01_basic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Semaphore/t/02_errs.t
===================================================================
--- vendor/perl/dist/lib/Thread/Semaphore/t/02_errs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Semaphore/t/02_errs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Semaphore/t/02_errs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Semaphore/t/03_nothreads.t
===================================================================
--- vendor/perl/dist/lib/Thread/Semaphore/t/03_nothreads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Semaphore/t/03_nothreads.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Semaphore/t/03_nothreads.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Semaphore.pm
===================================================================
--- vendor/perl/dist/lib/Thread/Semaphore.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Semaphore.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Semaphore.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread/Semaphore.t
===================================================================
--- vendor/perl/dist/lib/Thread/Semaphore.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread/Semaphore.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread/Semaphore.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread.pm
===================================================================
--- vendor/perl/dist/lib/Thread.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Thread.t
===================================================================
--- vendor/perl/dist/lib/Thread.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Thread.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Thread.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Array/push.t
===================================================================
--- vendor/perl/dist/lib/Tie/Array/push.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Array/push.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Array/push.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Array/splice.t
===================================================================
--- vendor/perl/dist/lib/Tie/Array/splice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Array/splice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Array/splice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Array/std.t
===================================================================
--- vendor/perl/dist/lib/Tie/Array/std.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Array/std.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Array/std.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Array/stdpush.t
===================================================================
--- vendor/perl/dist/lib/Tie/Array/stdpush.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Array/stdpush.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Array/stdpush.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/Tie/Array.pm
===================================================================
--- vendor/perl/dist/lib/Tie/Array.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Array.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use 5.006_001;
 use strict;
 use Carp;
-our $VERSION = '1.04';
+our $VERSION = '1.05';
 
 # Pod documentation after __END__ below.
 
@@ -277,9 +277,6 @@
 between magic entries needed to notice setting of @ISA, and those needed to
 implement 'tie'.
 
-Very little consideration has been given to the behaviour of tied arrays
-when C<$[> is not default value of zero.
-
 =head1 AUTHOR
 
 Nick Ing-Simmons E<lt>nik at tiuk.ti.comE<gt>


Property changes on: vendor/perl/dist/lib/Tie/Array.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/ExtraHash.t
===================================================================
--- vendor/perl/dist/lib/Tie/ExtraHash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/ExtraHash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/ExtraHash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/00_version.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/00_version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/00_version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/00_version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/01_gen.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/01_gen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/01_gen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/01_gen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/02_fetchsize.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/02_fetchsize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/02_fetchsize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/02_fetchsize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/03_longfetch.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/03_longfetch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/03_longfetch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/03_longfetch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/04_splice.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/04_splice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/04_splice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/04_splice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/05_size.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/05_size.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/05_size.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/05_size.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/06_fixrec.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/06_fixrec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/06_fixrec.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/06_fixrec.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/07_rv_splice.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/07_rv_splice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/07_rv_splice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/07_rv_splice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/08_ro.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/08_ro.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/08_ro.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/08_ro.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/09_gen_rs.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/09_gen_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/09_gen_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/09_gen_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/10_splice_rs.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/10_splice_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/10_splice_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/10_splice_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/11_rv_splice_rs.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/11_rv_splice_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/11_rv_splice_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/11_rv_splice_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/12_longfetch_rs.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/12_longfetch_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/12_longfetch_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/12_longfetch_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/13_size_rs.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/13_size_rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/13_size_rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/13_size_rs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/14_lock.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/14_lock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/14_lock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/14_lock.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/15_pushpop.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/15_pushpop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/15_pushpop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/15_pushpop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/16_handle.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/16_handle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/16_handle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/16_handle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/17_misc_meth.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/17_misc_meth.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/17_misc_meth.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/17_misc_meth.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/18_rs_fixrec.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/18_rs_fixrec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/18_rs_fixrec.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/18_rs_fixrec.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/19_cache.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/19_cache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/19_cache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/19_cache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/20_cache_full.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/20_cache_full.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/20_cache_full.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/20_cache_full.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/22_autochomp.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/22_autochomp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/22_autochomp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/22_autochomp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/23_rv_ac_splice.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/23_rv_ac_splice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/23_rv_ac_splice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/23_rv_ac_splice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/24_cache_loop.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/24_cache_loop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/24_cache_loop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/24_cache_loop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/25_gen_nocache.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/25_gen_nocache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/25_gen_nocache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/25_gen_nocache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/26_twrite.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/26_twrite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/26_twrite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/26_twrite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/27_iwrite.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/27_iwrite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/27_iwrite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/27_iwrite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/28_mtwrite.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/28_mtwrite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/28_mtwrite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/28_mtwrite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/29_downcopy.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/29_downcopy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/29_downcopy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/29_downcopy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/29a_upcopy.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/29a_upcopy.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/29a_upcopy.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/29a_upcopy.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/30_defer.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/30_defer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/30_defer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/30_defer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/31_autodefer.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/31_autodefer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/31_autodefer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/31_autodefer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/32_defer_misc.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/32_defer_misc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/32_defer_misc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/32_defer_misc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/33_defer_vs.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/33_defer_vs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/33_defer_vs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/33_defer_vs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/40_abs_cache.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/40_abs_cache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/40_abs_cache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/40_abs_cache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/41_heap.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/41_heap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/41_heap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/41_heap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File/t/42_offset.t
===================================================================
--- vendor/perl/dist/lib/Tie/File/t/42_offset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File/t/42_offset.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File/t/42_offset.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/File.pm
===================================================================
--- vendor/perl/dist/lib/Tie/File.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/File.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/File.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/Tie/Handle/stdhandle.t
===================================================================
--- vendor/perl/dist/lib/Tie/Handle/stdhandle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Handle/stdhandle.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 $f = 'tst';
 
-print "1..13\n";
+print "1..14\n";
 
 # my $file tests
 
@@ -42,6 +42,10 @@
 $b = <$f>;
 print "not " unless eof($f);
 print "ok 12\n";
+seek($f,0,0);
+read($f,($b='scrinches'),4,4); # with offset
+print "'$b' not " unless $b eq 'scriSome';
+print "ok 13\n";
 print "not " unless close($f);
-print "ok 13\n";
+print "ok 14\n";
 unlink("afile");


Property changes on: vendor/perl/dist/lib/Tie/Handle/stdhandle.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Handle/stdhandle_from_handle.t
===================================================================
--- vendor/perl/dist/lib/Tie/Handle/stdhandle_from_handle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Handle/stdhandle_from_handle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Handle/stdhandle_from_handle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Handle.pm
===================================================================
--- vendor/perl/dist/lib/Tie/Handle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Handle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Handle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Hash/NamedCapture.pm
===================================================================
--- vendor/perl/dist/lib/Tie/Hash/NamedCapture.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Hash/NamedCapture.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Hash/NamedCapture.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Hash.pm
===================================================================
--- vendor/perl/dist/lib/Tie/Hash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Hash.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Hash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Hash.t
===================================================================
--- vendor/perl/dist/lib/Tie/Hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Hash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Memoize.pm
===================================================================
--- vendor/perl/dist/lib/Tie/Memoize.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Memoize.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Memoize.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Memoize.t
===================================================================
--- vendor/perl/dist/lib/Tie/Memoize.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Memoize.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Memoize.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/RefHash/rebless.t
===================================================================
--- vendor/perl/dist/lib/Tie/RefHash/rebless.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/RefHash/rebless.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/RefHash/rebless.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/RefHash/refhash.t
===================================================================
--- vendor/perl/dist/lib/Tie/RefHash/refhash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/RefHash/refhash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/RefHash/refhash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/RefHash/storable.t
===================================================================
--- vendor/perl/dist/lib/Tie/RefHash/storable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/RefHash/storable.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/RefHash/storable.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/RefHash/threaded.t
===================================================================
--- vendor/perl/dist/lib/Tie/RefHash/threaded.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/RefHash/threaded.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/RefHash/threaded.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/RefHash.pm
===================================================================
--- vendor/perl/dist/lib/Tie/RefHash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/RefHash.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/RefHash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Scalar.pm
===================================================================
--- vendor/perl/dist/lib/Tie/Scalar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Scalar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Scalar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/Scalar.t
===================================================================
--- vendor/perl/dist/lib/Tie/Scalar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/Scalar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/Scalar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/Tie/StdHandle.pm
===================================================================
--- vendor/perl/dist/lib/Tie/StdHandle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/StdHandle.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 use Tie::Handle;
 use vars qw(@ISA $VERSION);
 @ISA = 'Tie::Handle';
-$VERSION = '4.2';
+$VERSION = '4.3';
 
 =head1 NAME
 
@@ -57,7 +57,7 @@
  @_ == 2 ? open($_[0], $_[1]) : open($_[0], $_[1], $_[2]);
 }
 
-sub READ     { read($_[0],$_[1],$_[2]) }
+sub READ     { &CORE::read(shift, \shift, @_) }
 sub READLINE { my $fh = $_[0]; <$fh> }
 sub GETC     { getc($_[0]) }
 


Property changes on: vendor/perl/dist/lib/Tie/StdHandle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/SubstrHash.pm
===================================================================
--- vendor/perl/dist/lib/Tie/SubstrHash.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/SubstrHash.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/SubstrHash.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Tie/SubstrHash.t
===================================================================
--- vendor/perl/dist/lib/Tie/SubstrHash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Tie/SubstrHash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Tie/SubstrHash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Time/Local.pm
===================================================================
--- vendor/perl/dist/lib/Time/Local.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Time/Local.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Time/Local.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Time/Local.t
===================================================================
--- vendor/perl/dist/lib/Time/Local.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Time/Local.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Time/Local.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Time/gmtime.pm
===================================================================
--- vendor/perl/dist/lib/Time/gmtime.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Time/gmtime.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Time/gmtime.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Time/gmtime.t
===================================================================
--- vendor/perl/dist/lib/Time/gmtime.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Time/gmtime.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Time/gmtime.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Time/localtime.pm
===================================================================
--- vendor/perl/dist/lib/Time/localtime.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Time/localtime.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Time/localtime.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Time/localtime.t
===================================================================
--- vendor/perl/dist/lib/Time/localtime.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Time/localtime.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Time/localtime.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/Time/tm.pm
===================================================================
--- vendor/perl/dist/lib/Time/tm.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Time/tm.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Time/tm.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/UNIVERSAL.pm
===================================================================
--- vendor/perl/dist/lib/UNIVERSAL.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/UNIVERSAL.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package UNIVERSAL;
 
-our $VERSION = '1.08';
+our $VERSION = '1.11';
 
 # UNIVERSAL should not contain any extra subs/methods beyond those
 # that it exists to define. The use of Exporter below is a historical
@@ -103,7 +103,7 @@
 
   use Scalar::Util 'blessed';
 
-  if ( blessed( $obj ) && $obj->isa("Some::Class") {
+  if ( blessed( $obj ) && $obj->isa("Some::Class") ) {
       ...
   }
 
@@ -165,10 +165,14 @@
 C<VERSION> will return the value of the variable C<$VERSION> in the
 package the object is blessed into. If C<REQUIRE> is given then
 it will do a comparison and die if the package version is not
-greater than or equal to C<REQUIRE>.  Both C<$VERSION> or C<REQUIRE>
-must be "lax" version numbers (as defined by the L<version> module)
-or C<VERSION> will die with an error.
+greater than or equal to C<REQUIRE>, or if either C<$VERSION> or C<REQUIRE>
+is not a "lax" version number (as defined by the L<version> module).
 
+The return from C<VERSION> will actually be the stringified version object
+using the package C<$VERSION> scalar, which is guaranteed to be equivalent
+but may not be precisely the contents of the C<$VERSION> scalar.  If you want
+the actual contents of C<$VERSION>, use C<$CLASS::VERSION> instead.
+
 C<VERSION> can be called as either a class (static) method or an object
 method.
 


Property changes on: vendor/perl/dist/lib/UNIVERSAL.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/README
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/allkeys.txt
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/allkeys.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/allkeys.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/allkeys.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/keys.txt
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/keys.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/keys.txt	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/keys.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/altern.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/altern.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/altern.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/altern.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/cjkrange.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/cjkrange.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/cjkrange.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/cjkrange.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/contract.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/contract.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/contract.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/contract.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/hangtype.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/hangtype.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/hangtype.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/hangtype.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/hangul.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/hangul.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/hangul.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/hangul.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/ignor.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/ignor.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/ignor.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/ignor.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/illegal.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/illegal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/illegal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/illegal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/illegalp.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/illegalp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/illegalp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/illegalp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/index.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/index.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/index.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/index.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/normal.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/normal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/normal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/normal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/override.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/override.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/override.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/override.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/rearrang.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/rearrang.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/rearrang.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/rearrang.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/test.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/test.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/test.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/test.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/trailwt.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/trailwt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/trailwt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/trailwt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/variable.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/variable.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/variable.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/variable.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/version.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate/t/view.t
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate/t/view.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate/t/view.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate/t/view.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/Collate.pm
===================================================================
--- vendor/perl/dist/lib/Unicode/Collate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/Collate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/Collate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/Unicode/README
===================================================================
--- vendor/perl/dist/lib/Unicode/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/Unicode/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/Unicode/UCD.pm
===================================================================
--- vendor/perl/dist/lib/Unicode/UCD.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/UCD.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,12 +4,9 @@
 use warnings;
 no warnings 'surrogate';    # surrogates can be inputs to this
 use charnames ();
-use Unicode::Normalize qw(getCombinClass NFKD);
 
-our $VERSION = '0.32';
+our $VERSION = '0.51';
 
-use Storable qw(dclone);
-
 require Exporter;
 
 our @ISA = qw(Exporter);
@@ -20,9 +17,14 @@
 		    charinrange
 		    general_categories bidi_types
 		    compexcl
-		    casefold casespec
+		    casefold all_casefolds casespec
 		    namedseq
                     num
+                    prop_aliases
+                    prop_value_aliases
+                    prop_invlist
+                    prop_invmap
+                    MAX_CP
                 );
 
 use Carp;
@@ -39,6 +41,9 @@
     use Unicode::UCD 'casefold';
     my $casefold = casefold(0xFB00);
 
+    use Unicode::UCD 'all_casefolds';
+    my $all_casefolds_ref = all_casefolds();
+
     use Unicode::UCD 'casespec';
     my $casespec = casespec(0xFB00);
 
@@ -62,6 +67,19 @@
     my $categories = general_categories();
     my $types = bidi_types();
 
+    use Unicode::UCD 'prop_aliases';
+    my @space_names = prop_aliases("space");
+
+    use Unicode::UCD 'prop_value_aliases';
+    my @gc_punct_names = prop_value_aliases("Gc", "Punct");
+
+    use Unicode::UCD 'prop_invlist';
+    my @puncts = prop_invlist("gc=punctuation");
+
+    use Unicode::UCD 'prop_invmap';
+    my ($list_ref, $map_ref, $format, $missing)
+                                      = prop_invmap("General Category");
+
     use Unicode::UCD 'compexcl';
     my $compexcl = compexcl($codepoint);
 
@@ -71,7 +89,7 @@
     my $unicode_version = Unicode::UCD::UnicodeVersion();
 
     my $convert_to_numeric =
-                Unicode::UCD::num("\N{RUMI DIGIT ONE}\N{RUMI DIGIT TWO}");
+              Unicode::UCD::num("\N{RUMI DIGIT ONE}\N{RUMI DIGIT TWO}");
 
 =head1 DESCRIPTION
 
@@ -86,8 +104,17 @@
 followed by hexadecimals designating a Unicode code point.  In other words, if
 you want a code point to be interpreted as a hexadecimal number, you must
 prefix it with either C<0x> or C<U+>, because a string like e.g. C<123> will be
-interpreted as a decimal code point.  Note that the largest code point in
-Unicode is U+10FFFF.
+interpreted as a decimal code point.
+
+Examples:
+
+    223     # Decimal 223
+    0223    # Hexadecimal 223 (= 547 decimal)
+    0xDF    # Hexadecimal DF (= 223 decimal
+    U+DF    # Hexadecimal DF
+
+Note that the largest code point in Unicode is U+10FFFF.
+
 =cut
 
 my $BLOCKSFH;
@@ -95,6 +122,7 @@
 my $CASEFOLDFH;
 my $CASESPECFH;
 my $NAMEDSEQFH;
+my $v_unicode_version;  # v-string.
 
 sub openunicode {
     my ($rfh, @path) = @_;
@@ -113,6 +141,35 @@
     return $f;
 }
 
+sub _dclone ($) {   # Use Storable::dclone if available; otherwise emulate it.
+
+    use if defined &DynaLoader::boot_DynaLoader, Storable => qw(dclone);
+
+    return dclone(shift) if defined &dclone;
+
+    my $arg = shift;
+    my $type = ref $arg;
+    return $arg unless $type;   # No deep cloning needed for scalars
+
+    if ($type eq 'ARRAY') {
+        my @return;
+        foreach my $element (@$arg) {
+            push @return, &_dclone($element);
+        }
+        return \@return;
+    }
+    elsif ($type eq 'HASH') {
+        my %return;
+        foreach my $key (keys %$arg) {
+            $return{$key} = &_dclone($arg->{$key});
+        }
+        return \%return;
+    }
+    else {
+        croak "_dclone can't handle " . $type;
+    }
+}
+
 =head2 B<charinfo()>
 
     use Unicode::UCD 'charinfo';
@@ -125,7 +182,7 @@
 (i.e., has the general category C<Cn> meaning C<Unassigned>)
 or is a non-character (meaning it is guaranteed to never be assigned in
 the standard),
-B<undef> is returned.
+C<undef> is returned.
 
 Fields that aren't applicable to the particular code point argument exist in the
 returned hash, and are empty. 
@@ -154,6 +211,9 @@
 The short name of the general category of I<code>.
 This will match one of the keys in the hash returned by L</general_categories()>.
 
+The L</prop_value_aliases()> function can be used to get all the synonyms
+of the category name.
+
 =item B<combining>
 
 the combining class number for I<code> used in the Canonical Ordering Algorithm.
@@ -161,15 +221,21 @@
 available at
 L<http://www.unicode.org/versions/Unicode5.1.0/>
 
+The L</prop_value_aliases()> function can be used to get all the synonyms
+of the combining class number.
+
 =item B<bidi>
 
 bidirectional type of I<code>.
 This will match one of the keys in the hash returned by L</bidi_types()>.
 
+The L</prop_value_aliases()> function can be used to get all the synonyms
+of the bidi type name.
+
 =item B<decomposition>
 
 is empty if I<code> has no decomposition; or is one or more codes
-(separated by spaces) that taken in order represent a decomposition for
+(separated by spaces) that, taken in order, represent a decomposition for
 I<code>.  Each has at least four hexdigits.
 The codes may be preceded by a word enclosed in angle brackets then a space,
 like C<E<lt>compatE<gt> >, giving the type of decomposition
@@ -233,13 +299,13 @@
 
 =item B<block>
 
-block I<code> belongs to (used in C<\p{Blk=...}>).
+the block I<code> belongs to (used in C<\p{Blk=...}>).
 See L</Blocks versus Scripts>.
 
 
 =item B<script>
 
-script I<code> belongs to.
+the script I<code> belongs to.
 See L</Blocks versus Scripts>.
 
 =back
@@ -271,35 +337,12 @@
 my @CATEGORIES;
 my @DECOMPOSITIONS;
 my @NUMERIC_TYPES;
-my @SIMPLE_LOWER;
-my @SIMPLE_TITLE;
-my @SIMPLE_UPPER;
-my @UNICODE_1_NAMES;
+my %SIMPLE_LOWER;
+my %SIMPLE_TITLE;
+my %SIMPLE_UPPER;
+my %UNICODE_1_NAMES;
+my %ISO_COMMENT;
 
-sub _charinfo_case {
-
-    # Returns the value to set into one of the case fields in the charinfo
-    # structure.
-    #   $char is the character,
-    #   $cased is the case-changed character
-    #   $file is the file in lib/unicore/To/$file that contains the data
-    #       needed for this, in the form that _search() understands.
-    #   $array_ref points to the array holding the contents of $file.  It will
-    #       be populated if empty.
-    # By using the 'uc', etc. functions, we avoid loading more files into
-    # memory except for those rare cases where the simple casing (which has
-    # been what charinfo() has always returned, is different than the full
-    # casing.
-    my ($char, $cased, $file, $array_ref) = @_;
-
-    return "" if $cased eq $char;
-
-    return sprintf("%04X", ord $cased) if length($cased) == 1;
-
-    @$array_ref =_read_table("unicore/To/$file") unless @$array_ref;
-    return _search($array_ref, 0, $#$array_ref, ord $char) // "";
-}
-
 sub charinfo {
 
     # This function has traditionally mimicked what is in UnicodeData.txt,
@@ -311,6 +354,9 @@
 
     use feature 'unicode_strings';
 
+    # Will fail if called under minitest
+    use if defined &DynaLoader::boot_DynaLoader, "Unicode::Normalize" => qw(getCombinClass NFD);
+
     my $arg  = shift;
     my $code = _getcode($arg);
     croak __PACKAGE__, "::charinfo: unknown code '$arg'" unless defined $code;
@@ -321,7 +367,7 @@
     my %prop;
     my $char = chr($code);
 
-    @CATEGORIES =_read_table("unicore/To/Gc.pl") unless @CATEGORIES;
+    @CATEGORIES =_read_table("To/Gc.pl") unless @CATEGORIES;
     $prop{'category'} = _search(\@CATEGORIES, 0, $#CATEGORIES, $code)
                         // $utf8::SwashInfo{'ToGc'}{'missing'};
 
@@ -333,7 +379,7 @@
 
     $prop{'combining'} = getCombinClass($code);
 
-    @BIDIS =_read_table("unicore/To/Bc.pl") unless @BIDIS;
+    @BIDIS =_read_table("To/Bc.pl") unless @BIDIS;
     $prop{'bidi'} = _search(\@BIDIS, 0, $#BIDIS, $code)
                     // $utf8::SwashInfo{'ToBc'}{'missing'};
 
@@ -340,22 +386,24 @@
     # For most code points, we can just read in "unicore/Decomposition.pl", as
     # its contents are exactly what should be output.  But that file doesn't
     # contain the data for the Hangul syllable decompositions, which can be
-    # algorithmically computed, and NFKD() does that, so we call NFKD() for
-    # those.  We can't use NFKD() for everything, as it does a complete
+    # algorithmically computed, and NFD() does that, so we call NFD() for
+    # those.  We can't use NFD() for everything, as it does a complete
     # recursive decomposition, and what this function has always done is to
-    # return what's in UnicodeData.txt which doesn't have the recursivenss
-    # specified.
-    # in the decomposition types.  No decomposition implies an empty field;
-    # otherwise, all but "Canonical" imply a compatible decomposition, and
-    # the type is prefixed to that, as it is in UnicodeData.txt
-    if ($char =~ /\p{Block=Hangul_Syllables}/) {
+    # return what's in UnicodeData.txt which doesn't show that recursiveness.
+    # Fortunately, the NFD() of the Hanguls doesn't have any recursion
+    # issues.
+    # Having no decomposition implies an empty field; otherwise, all but
+    # "Canonical" imply a compatible decomposition, and the type is prefixed
+    # to that, as it is in UnicodeData.txt
+    UnicodeVersion() unless defined $v_unicode_version;
+    if ($v_unicode_version ge v2.0.0 && $char =~ /\p{Block=Hangul_Syllables}/) {
         # The code points of the decomposition are output in standard Unicode
         # hex format, separated by blanks.
         $prop{'decomposition'} = join " ", map { sprintf("%04X", $_)}
-                                           unpack "U*", NFKD($char);
+                                           unpack "U*", NFD($char);
     }
     else {
-        @DECOMPOSITIONS = _read_table("unicore/Decomposition.pl")
+        @DECOMPOSITIONS = _read_table("Decomposition.pl")
                           unless @DECOMPOSITIONS;
         $prop{'decomposition'} = _search(\@DECOMPOSITIONS, 0, $#DECOMPOSITIONS,
                                                                 $code) // "";
@@ -377,8 +425,7 @@
             # e.g., TAMIL NUMBER TEN.
             $prop{'decimal'} = "";
 
-            @NUMERIC_TYPES =_read_table("unicore/To/Nt.pl")
-                                unless @NUMERIC_TYPES;
+            @NUMERIC_TYPES =_read_table("To/Nt.pl") unless @NUMERIC_TYPES;
             if ((_search(\@NUMERIC_TYPES, 0, $#NUMERIC_TYPES, $code) // "")
                 eq 'Digit')
             {
@@ -393,19 +440,35 @@
 
     $prop{'mirrored'} = ($char =~ /\p{Bidi_Mirrored}/) ? 'Y' : 'N';
 
-    @UNICODE_1_NAMES =_read_table("unicore/To/Na1.pl") unless @UNICODE_1_NAMES;
-    $prop{'unicode10'} = _search(\@UNICODE_1_NAMES, 0, $#UNICODE_1_NAMES, $code)
-                         // "";
+    %UNICODE_1_NAMES =_read_table("To/Na1.pl", "use_hash") unless %UNICODE_1_NAMES;
+    $prop{'unicode10'} = $UNICODE_1_NAMES{$code} // "";
 
-    # This is true starting in 6.0, but, num() also requires 6.0, so
-    # don't need to test for version again here.
-    $prop{'comment'} = "";
+    UnicodeVersion() unless defined $v_unicode_version;
+    if ($v_unicode_version ge v6.0.0) {
+        $prop{'comment'} = "";
+    }
+    else {
+        %ISO_COMMENT = _read_table("To/Isc.pl", "use_hash") unless %ISO_COMMENT;
+        $prop{'comment'} = (defined $ISO_COMMENT{$code})
+                           ? $ISO_COMMENT{$code}
+                           : "";
+    }
 
-    $prop{'upper'} = _charinfo_case($char, uc $char, '_suc.pl', \@SIMPLE_UPPER);
-    $prop{'lower'} = _charinfo_case($char, lc $char, '_slc.pl', \@SIMPLE_LOWER);
-    $prop{'title'} = _charinfo_case($char, ucfirst $char, '_stc.pl',
-                                                                \@SIMPLE_TITLE);
+    %SIMPLE_UPPER = _read_table("To/Uc.pl", "use_hash") unless %SIMPLE_UPPER;
+    $prop{'upper'} = (defined $SIMPLE_UPPER{$code})
+                     ? sprintf("%04X", $SIMPLE_UPPER{$code})
+                     : "";
 
+    %SIMPLE_LOWER = _read_table("To/Lc.pl", "use_hash") unless %SIMPLE_LOWER;
+    $prop{'lower'} = (defined $SIMPLE_LOWER{$code})
+                     ? sprintf("%04X", $SIMPLE_LOWER{$code})
+                     : "";
+
+    %SIMPLE_TITLE = _read_table("To/Tc.pl", "use_hash") unless %SIMPLE_TITLE;
+    $prop{'title'} = (defined $SIMPLE_TITLE{$code})
+                     ? sprintf("%04X", $SIMPLE_TITLE{$code})
+                     : "";
+
     $prop{block}  = charblock($code);
     $prop{script} = charscript($code);
     return \%prop;
@@ -431,14 +494,20 @@
     }
 }
 
-sub _read_table {
+sub _read_table ($;$) {
 
     # Returns the contents of the mktables generated table file located at $1
-    # in the form of an array of arrays.  Each outer array denotes a range
-    # with [0] the start point of that range; [1] the end point; and [2] the
-    # value that every code point in the range has.
+    # in the form of either an array of arrays or a hash, depending on if the
+    # optional second parameter is true (for hash return) or not.  In the case
+    # of a hash return, each key is a code point, and its corresponding value
+    # is what the table gives as the code point's corresponding value.  In the
+    # case of an array return, each outer array denotes a range with [0] the
+    # start point of that range; [1] the end point; and [2] the value that
+    # every code point in the range has.  The hash return is useful for fast
+    # lookup when the table contains only single code point ranges.  The array
+    # return takes much less memory when there are large ranges.
     #
-    # This has the side effect of setting
+    # This function has the side effect of setting
     # $utf8::SwashInfo{$property}{'format'} to be the mktables format of the
     #                                       table; and
     # $utf8::SwashInfo{$property}{'missing'} to be the value for all entries
@@ -451,17 +520,47 @@
     # 00AA		Latin
 
     my $table = shift;
+    my $return_hash = shift;
+    $return_hash = 0 unless defined $return_hash;
     my @return;
+    my %return;
     local $_;
+    my $list = do "unicore/$table";
 
-    for (split /^/m, do $table) {
+    # Look up if this property requires adjustments, which we do below if it
+    # does.
+    require "unicore/Heavy.pl";
+    my $property = $table =~ s/\.pl//r;
+    $property = $utf8::file_to_swash_name{$property};
+    my $to_adjust = defined $property
+                    && $utf8::SwashInfo{$property}{'format'} eq 'a';
+
+    for (split /^/m, $list) {
         my ($start, $end, $value) = / ^ (.+?) \t (.*?) \t (.+?)
                                         \s* ( \# .* )?  # Optional comment
                                         $ /x;
-        $end = $start if $end eq "";
-        push @return, [ hex $start, hex $end, $value ];
+        my $decimal_start = hex $start;
+        my $decimal_end = ($end eq "") ? $decimal_start : hex $end;
+        if ($return_hash) {
+            foreach my $i ($decimal_start .. $decimal_end) {
+                $return{$i} = ($to_adjust)
+                              ? $value + $i - $decimal_start
+                              : $value;
+            }
+        }
+        elsif (! $to_adjust
+               && @return
+               && $return[-1][1] == $decimal_start - 1
+               && $return[-1][2] eq $value)
+        {
+            # If this is merely extending the previous range, do just that.
+            $return[-1]->[1] = $decimal_end;
+        }
+        else {
+            push @return, [ $decimal_start, $decimal_end, $value ];
+        }
     }
-    return @return;
+    return ($return_hash) ? %return : @return;
 }
 
 sub charinrange {
@@ -484,18 +583,25 @@
     my $range     = charblock('Armenian');
 
 With a L</code point argument> charblock() returns the I<block> the code point
-belongs to, e.g.  C<Basic Latin>.
+belongs to, e.g.  C<Basic Latin>.  The old-style block name is returned (see
+L</Old-style versus new-style block names>).
 If the code point is unassigned, this returns the block it would belong to if
-it were assigned (which it may in future versions of the Unicode Standard).
+it were assigned.  (If the Unicode version being used is so early as to not
+have blocks, all code points are considered to be in C<No_Block>.)
 
 See also L</Blocks versus Scripts>.
 
-If supplied with an argument that can't be a code point, charblock() tries
-to do the opposite and interpret the argument as a code point block. The
-return value is a I<range>: an anonymous list of lists that contain
-I<start-of-range>, I<end-of-range> code point pairs. You can test whether
-a code point is in a range using the L</charinrange()> function. If the
-argument is not a known code point block, B<undef> is returned.
+If supplied with an argument that can't be a code point, charblock() tries to
+do the opposite and interpret the argument as an old-style block name. The
+return value
+is a I<range set> with one range: an anonymous list with a single element that
+consists of another anonymous list whose first element is the first code point
+in the block, and whose second (and final) element is the final code point in
+the block.  (The extra list consisting of just one element is so that the same
+program logic can be used to handle both this return, and the return from
+L</charscript()> which can have multiple ranges.) You can test whether a code
+point is in a range using the L</charinrange()> function.  If the argument is
+not a known block, C<undef> is returned.
 
 =cut
 
@@ -507,8 +613,15 @@
     # Can't read from the mktables table because it loses the hyphens in the
     # original.
     unless (@BLOCKS) {
-	if (openunicode(\$BLOCKSFH, "Blocks.txt")) {
+        UnicodeVersion() unless defined $v_unicode_version;
+        if ($v_unicode_version lt v2.0.0) {
+            my $subrange = [ 0, 0x10FFFF, 'No_Block' ];
+            push @BLOCKS, $subrange;
+            push @{$BLOCKS{'No_Block'}}, $subrange;
+        }
+        elsif (openunicode(\$BLOCKSFH, "Blocks.txt")) {
 	    local $_;
+	    local $/ = "\n";
 	    while (<$BLOCKSFH>) {
 		if (/^([0-9A-F]+)\.\.([0-9A-F]+);\s+(.+)/) {
 		    my ($lo, $hi) = (hex($1), hex($2));
@@ -535,7 +648,7 @@
         return 'No_Block';
     }
     elsif (exists $BLOCKS{$arg}) {
-        return dclone $BLOCKS{$arg};
+        return _dclone $BLOCKS{$arg};
     }
 }
 
@@ -551,14 +664,15 @@
 
 With a L</code point argument> charscript() returns the I<script> the
 code point belongs to, e.g.  C<Latin>, C<Greek>, C<Han>.
-If the code point is unassigned, it returns B<undef>
+If the code point is unassigned or the Unicode version being used is so early
+that it doesn't have scripts, this function returns C<"Unknown">.
 
 If supplied with an argument that can't be a code point, charscript() tries
-to do the opposite and interpret the argument as a code point script. The
-return value is a I<range>: an anonymous list of lists that contain
+to do the opposite and interpret the argument as a script name. The
+return value is a I<range set>: an anonymous list of lists that contain
 I<start-of-range>, I<end-of-range> code point pairs. You can test whether a
-code point is in a range using the L</charinrange()> function. If the
-argument is not a known code point script, B<undef> is returned.
+code point is in a range set using the L</charinrange()> function. If the
+argument is not a known script, C<undef> is returned.
 
 See also L</Blocks versus Scripts>.
 
@@ -568,7 +682,15 @@
 my %SCRIPTS;
 
 sub _charscripts {
-    @SCRIPTS =_read_table("unicore/To/Sc.pl") unless @SCRIPTS;
+    unless (@SCRIPTS) {
+        UnicodeVersion() unless defined $v_unicode_version;
+        if ($v_unicode_version lt v3.1.0) {
+            push @SCRIPTS, [ 0, 0x10FFFF, 'Unknown' ];
+        }
+        else {
+            @SCRIPTS =_read_table("To/Sc.pl");
+        }
+    }
     foreach my $entry (@SCRIPTS) {
         $entry->[2] =~ s/(_\w)/\L$1/g;  # Preserve old-style casing
         push @{$SCRIPTS{$entry->[2]}}, $entry;
@@ -587,7 +709,7 @@
         return $result if defined $result;
         return $utf8::SwashInfo{'ToSc'}{'missing'};
     } elsif (exists $SCRIPTS{$arg}) {
-        return dclone $SCRIPTS{$arg};
+        return _dclone $SCRIPTS{$arg};
     }
 
     return;
@@ -602,6 +724,12 @@
 charblocks() returns a reference to a hash with the known block names
 as the keys, and the code point ranges (see L</charblock()>) as the values.
 
+The names are in the old-style (see L</Old-style versus new-style block
+names>).
+
+L<prop_invmap("block")|/prop_invmap()> can be used to get this same data in a
+different type of data structure.
+
 See also L</Blocks versus Scripts>.
 
 =cut
@@ -608,7 +736,7 @@
 
 sub charblocks {
     _charblocks() unless %BLOCKS;
-    return dclone \%BLOCKS;
+    return _dclone \%BLOCKS;
 }
 
 =head2 B<charscripts()>
@@ -621,6 +749,9 @@
 names as the keys, and the code point ranges (see L</charscript()>) as
 the values.
 
+L<prop_invmap("script")|/prop_invmap()> can be used to get this same data in a
+different type of data structure.
+
 See also L</Blocks versus Scripts>.
 
 =cut
@@ -627,7 +758,7 @@
 
 sub charscripts {
     _charscripts() unless %SCRIPTS;
-    return dclone \%SCRIPTS;
+    return _dclone \%SCRIPTS;
 }
 
 =head2 B<charinrange()>
@@ -687,7 +818,7 @@
  );
 
 sub general_categories {
-    return dclone \%GENERAL_CATEGORIES;
+    return _dclone \%GENERAL_CATEGORIES;
 }
 
 =head2 B<general_categories()>
@@ -704,6 +835,9 @@
 one returned from
 L</charinfo()> under the C<category> key.
 
+The L</prop_value_aliases()> function can be used to get all the synonyms of
+the category name.
+
 =cut
 
 my %BIDI_TYPES =
@@ -746,10 +880,13 @@
 L<http://www.unicode.org/reports/tr9/>
 (as of Unicode 5.0.0)
 
+The L</prop_value_aliases()> function can be used to get all the synonyms of
+the bidi type name.
+
 =cut
 
 sub bidi_types {
-    return dclone \%BIDI_TYPES;
+    return _dclone \%BIDI_TYPES;
 }
 
 =head2 B<compexcl()>
@@ -758,7 +895,9 @@
 
     my $compexcl = compexcl(0x09dc);
 
-This routine is included for backwards compatibility, but as of Perl 5.12, for
+This routine returns C<undef> if the Unicode version being used is so early
+that it doesn't have this property.  It is included for backwards
+compatibility, but as of Perl 5.12 and more modern Unicode versions, for
 most purposes it is probably more convenient to use one of the following
 instead:
 
@@ -771,9 +910,9 @@
     my $compexcl = chr(0x09dc) =~ /\p{Composition_Exclusion};
 
 The first two forms return B<true> if the L</code point argument> should not
-be produced by composition normalization.  The final two forms
-additionally require that this fact not otherwise be determinable from
-the Unicode data base for them to return B<true>.
+be produced by composition normalization.  For the final two forms to return
+B<true>, it is additionally required that this fact not otherwise be
+determinable from the Unicode data base.
 
 This routine behaves identically to the final two forms.  That is,
 it does not return B<true> if the code point has a decomposition
@@ -793,6 +932,9 @@
     croak __PACKAGE__, "::compexcl: unknown code '$arg'"
 	unless defined $code;
 
+    UnicodeVersion() unless defined $v_unicode_version;
+    return if $v_unicode_version lt v3.0.0;
+
     no warnings "non_unicode";     # So works on non-Unicode code points
     return chr($code) =~ /\p{Composition_Exclusion}/;
 }
@@ -819,9 +961,11 @@
     }
 
 This returns the (almost) locale-independent case folding of the
-character specified by the L</code point argument>.
+character specified by the L</code point argument>.  (Starting in Perl v5.16,
+the core function C<fc()> returns the C<full> mapping (described below)
+faster than this does, and for entire strings.)
 
-If there is no case folding for that code point, B<undef> is returned.
+If there is no case folding for the input code point, C<undef> is returned.
 
 If there is a case folding for that code point, a reference to a hash
 with the following fields is returned:
@@ -835,7 +979,7 @@
 
 =item B<full>
 
-one or more codes (separated by spaces) that taken in order give the
+one or more codes (separated by spaces) that, taken in order, give the
 code points for the case folding for I<code>.
 Each has at least four hexdigits.
 
@@ -859,25 +1003,25 @@
 is C<C> (for C<common>) if the best possible fold is a single code point
 (I<simple> equals I<full> equals I<mapping>).  It is C<S> if there are distinct
 folds, I<simple> and I<full> (I<mapping> equals I<simple>).  And it is C<F> if
-there only a I<full> fold (I<mapping> equals I<full>; I<simple> is empty).  Note
-that this
+there is only a I<full> fold (I<mapping> equals I<full>; I<simple> is empty).
+Note that this
 describes the contents of I<mapping>.  It is defined primarily for backwards
 compatibility.
 
-On versions 3.1 and earlier of Unicode, I<status> can also be
+For Unicode versions between 3.1 and 3.1.1 inclusive, I<status> can also be
 C<I> which is the same as C<C> but is a special case for dotted uppercase I and
 dotless lowercase i:
 
 =over
 
-=item B<*>
+=item Z<>B<*> If you use this C<I> mapping
 
-If you use this C<I> mapping, the result is case-insensitive,
+the result is case-insensitive,
 but dotless and dotted I's are not distinguished
 
-=item B<*>
+=item Z<>B<*> If you exclude this C<I> mapping
 
-If you exclude this C<I> mapping, the result is not fully case-insensitive, but
+the result is not fully case-insensitive, but
 dotless and dotted I's are distinguished
 
 =back
@@ -887,13 +1031,14 @@
 contains any special folding for Turkic languages.  For versions of Unicode
 starting with 3.2, this field is empty unless I<code> has a different folding
 in Turkic languages, in which case it is one or more codes (separated by
-spaces) that taken in order give the code points for the case folding for
+spaces) that, taken in order, give the code points for the case folding for
 I<code> in those languages.
 Each code has at least four hexdigits.
 Note that this folding does not maintain canonical equivalence without
 additional processing.
 
-For versions of Unicode 3.1 and earlier, this field is empty unless there is a
+For Unicode versions between 3.1 and 3.1.1 inclusive, this field is empty unless
+there is a
 special folding for Turkic languages, in which case I<status> is C<I>, and
 I<mapping>, I<full>, I<simple>, and I<turkic> are all equal.  
 
@@ -923,53 +1068,88 @@
 my %CASEFOLD;
 
 sub _casefold {
-    unless (%CASEFOLD) {
-	if (openunicode(\$CASEFOLDFH, "CaseFolding.txt")) {
-	    local $_;
-	    while (<$CASEFOLDFH>) {
-		if (/^([0-9A-F]+); ([CFIST]); ([0-9A-F]+(?: [0-9A-F]+)*);/) {
-		    my $code = hex($1);
-		    $CASEFOLD{$code}{'code'} = $1;
-		    $CASEFOLD{$code}{'turkic'} = "" unless
-					    defined $CASEFOLD{$code}{'turkic'};
-		    if ($2 eq 'C' || $2 eq 'I') {	# 'I' is only on 3.1 and
-							# earlier Unicodes
-							# Both entries there (I
-							# only checked 3.1) are
-							# the same as C, and
-							# there are no other
-							# entries for those
-							# codepoints, so treat
-							# as if C, but override
-							# the turkic one for
-							# 'I'.
-			$CASEFOLD{$code}{'status'} = $2;
-			$CASEFOLD{$code}{'full'} = $CASEFOLD{$code}{'simple'} =
-			$CASEFOLD{$code}{'mapping'} = $3;
-			$CASEFOLD{$code}{'turkic'} = $3 if $2 eq 'I';
-		    } elsif ($2 eq 'F') {
-			$CASEFOLD{$code}{'full'} = $3;
-			unless (defined $CASEFOLD{$code}{'simple'}) {
-				$CASEFOLD{$code}{'simple'} = "";
-				$CASEFOLD{$code}{'mapping'} = $3;
-				$CASEFOLD{$code}{'status'} = $2;
-			}
-		    } elsif ($2 eq 'S') {
+    unless (%CASEFOLD) {   # Populate the hash
+        my ($full_invlist_ref, $full_invmap_ref, undef, $default)
+                                                = prop_invmap('Case_Folding');
 
+        # Use the recipe given in the prop_invmap() pod to convert the
+        # inversion map into the hash.
+        for my $i (0 .. @$full_invlist_ref - 1 - 1) {
+            next if $full_invmap_ref->[$i] == $default;
+            my $adjust = -1;
+            for my $j ($full_invlist_ref->[$i] .. $full_invlist_ref->[$i+1] -1) {
+                $adjust++;
+                if (! ref $full_invmap_ref->[$i]) {
 
-			# There can't be a simple without a full, and simple
-			# overrides all but full
+                    # This is a single character mapping
+                    $CASEFOLD{$j}{'status'} = 'C';
+                    $CASEFOLD{$j}{'simple'}
+                        = $CASEFOLD{$j}{'full'}
+                        = $CASEFOLD{$j}{'mapping'}
+                        = sprintf("%04X", $full_invmap_ref->[$i] + $adjust);
+                    $CASEFOLD{$j}{'code'} = sprintf("%04X", $j);
+                    $CASEFOLD{$j}{'turkic'} = "";
+                }
+                else {  # prop_invmap ensures that $adjust is 0 for a ref
+                    $CASEFOLD{$j}{'status'} = 'F';
+                    $CASEFOLD{$j}{'full'}
+                    = $CASEFOLD{$j}{'mapping'}
+                    = join " ", map { sprintf "%04X", $_ }
+                                                    @{$full_invmap_ref->[$i]};
+                    $CASEFOLD{$j}{'simple'} = "";
+                    $CASEFOLD{$j}{'code'} = sprintf("%04X", $j);
+                    $CASEFOLD{$j}{'turkic'} = "";
+                }
+            }
+        }
 
-			$CASEFOLD{$code}{'simple'} = $3;
-			$CASEFOLD{$code}{'mapping'} = $3;
-			$CASEFOLD{$code}{'status'} = $2;
-		    } elsif ($2 eq 'T') {
-			$CASEFOLD{$code}{'turkic'} = $3;
-		    } # else can't happen because only [CIFST] are possible
-		}
-	    }
-	    close($CASEFOLDFH);
-	}
+        # We have filled in the full mappings above, assuming there were no
+        # simple ones for the ones with multi-character maps.  Now, we find
+        # and fix the cases where that assumption was false.
+        (my ($simple_invlist_ref, $simple_invmap_ref, undef), $default)
+                                        = prop_invmap('Simple_Case_Folding');
+        for my $i (0 .. @$simple_invlist_ref - 1 - 1) {
+            next if $simple_invmap_ref->[$i] == $default;
+            my $adjust = -1;
+            for my $j ($simple_invlist_ref->[$i]
+                       .. $simple_invlist_ref->[$i+1] -1)
+            {
+                $adjust++;
+                next if $CASEFOLD{$j}{'status'} eq 'C';
+                $CASEFOLD{$j}{'status'} = 'S';
+                $CASEFOLD{$j}{'simple'}
+                    = $CASEFOLD{$j}{'mapping'}
+                    = sprintf("%04X", $simple_invmap_ref->[$i] + $adjust);
+                $CASEFOLD{$j}{'code'} = sprintf("%04X", $j);
+                $CASEFOLD{$j}{'turkic'} = "";
+            }
+        }
+
+        # We hard-code in the turkish rules
+        UnicodeVersion() unless defined $v_unicode_version;
+        if ($v_unicode_version ge v3.2.0) {
+
+            # These two code points should already have regular entries, so
+            # just fill in the turkish fields
+            $CASEFOLD{ord('I')}{'turkic'} = '0131';
+            $CASEFOLD{0x130}{'turkic'} = sprintf "%04X", ord('i');
+        }
+        elsif ($v_unicode_version ge v3.1.0) {
+
+            # These two code points don't have entries otherwise.
+            $CASEFOLD{0x130}{'code'} = '0130';
+            $CASEFOLD{0x131}{'code'} = '0131';
+            $CASEFOLD{0x130}{'status'} = $CASEFOLD{0x131}{'status'} = 'I';
+            $CASEFOLD{0x130}{'turkic'}
+                = $CASEFOLD{0x130}{'mapping'}
+                = $CASEFOLD{0x130}{'full'}
+                = $CASEFOLD{0x130}{'simple'}
+                = $CASEFOLD{0x131}{'turkic'}
+                = $CASEFOLD{0x131}{'mapping'}
+                = $CASEFOLD{0x131}{'full'}
+                = $CASEFOLD{0x131}{'simple'}
+                = sprintf "%04X", ord('i');
+        }
     }
 }
 
@@ -984,6 +1164,55 @@
     return $CASEFOLD{$code};
 }
 
+=head2 B<all_casefolds()>
+
+
+    use Unicode::UCD 'all_casefolds';
+
+    my $all_folds_ref = all_casefolds();
+    foreach my $char_with_casefold (sort { $a <=> $b }
+                                    keys %$all_folds_ref)
+    {
+        printf "%04X:", $char_with_casefold;
+        my $casefold = $all_folds_ref->{$char_with_casefold};
+
+        # Get folds for $char_with_casefold
+
+        my @full_fold_hex = split / /, $casefold->{'full'};
+        my $full_fold_string =
+                    join "", map {chr(hex($_))} @full_fold_hex;
+        print " full=", join " ", @full_fold_hex;
+        my @turkic_fold_hex =
+                        split / /, ($casefold->{'turkic'} ne "")
+                                        ? $casefold->{'turkic'}
+                                        : $casefold->{'full'};
+        my $turkic_fold_string =
+                        join "", map {chr(hex($_))} @turkic_fold_hex;
+        print "; turkic=", join " ", @turkic_fold_hex;
+        if (defined $casefold && $casefold->{'simple'} ne "") {
+            my $simple_fold_hex = $casefold->{'simple'};
+            my $simple_fold_string = chr(hex($simple_fold_hex));
+            print "; simple=$simple_fold_hex";
+        }
+        print "\n";
+    }
+
+This returns all the case foldings in the current version of Unicode in the
+form of a reference to a hash.  Each key to the hash is the decimal
+representation of a Unicode character that has a casefold to other than
+itself.  The casefold of a semi-colon is itself, so it isn't in the hash;
+likewise for a lowercase "a", but there is an entry for a capital "A".  The
+hash value for each key is another hash, identical to what is returned by
+L</casefold()> if called with that code point as its argument.  So the value
+C<< all_casefolds()->{ord("A")}' >> is equivalent to C<casefold(ord("A"))>;
+
+=cut
+
+sub all_casefolds () {
+    _casefold() unless %CASEFOLD;
+    return _dclone \%CASEFOLD;
+}
+
 =head2 B<casespec()>
 
     use Unicode::UCD 'casespec';
@@ -996,7 +1225,7 @@
 
 If there are no case mappings for the L</code point argument>, or if all three
 possible mappings (I<lower>, I<title> and I<upper>) result in single code
-points and are locale independent and unconditional, B<undef> is returned
+points and are locale independent and unconditional, C<undef> is returned
 (which means that the case mappings, if any, for the code point are those
 returned by L</charinfo()>).
 
@@ -1015,19 +1244,19 @@
 
 =item B<lower>
 
-one or more codes (separated by spaces) that taken in order give the
+one or more codes (separated by spaces) that, taken in order, give the
 code points for the lower case of I<code>.
 Each has at least four hexdigits.
 
 =item B<title>
 
-one or more codes (separated by spaces) that taken in order give the
+one or more codes (separated by spaces) that, taken in order, give the
 code points for the title case of I<code>.
 Each has at least four hexdigits.
 
 =item B<upper>
 
-one or more codes (separated by spaces) that taken in order give the
+one or more codes (separated by spaces) that, taken in order, give the
 code points for the upper case of I<code>.
 Each has at least four hexdigits.
 
@@ -1034,7 +1263,7 @@
 =item B<condition>
 
 the conditions for the mappings to be valid.
-If B<undef>, the mappings are always valid.
+If C<undef>, the mappings are always valid.
 When defined, this field is a list of conditions,
 all of which must be true for the mappings to be valid.
 The list consists of one or more
@@ -1054,7 +1283,7 @@
 =back
 
 The hash described above is returned for locale-independent casing, where
-at least one of the mappings has length longer than one.  If B<undef> is 
+at least one of the mappings has length longer than one.  If C<undef> is
 returned, the code point may have mappings, but if so, all are length one,
 and are returned by L</charinfo()>.
 Note that when this function does return a value, it will be for the complete
@@ -1086,14 +1315,25 @@
 
 sub _casespec {
     unless (%CASESPEC) {
-	if (openunicode(\$CASESPECFH, "SpecialCasing.txt")) {
+        UnicodeVersion() unless defined $v_unicode_version;
+        if ($v_unicode_version lt v2.1.8) {
+            %CASESPEC = {};
+        }
+	elsif (openunicode(\$CASESPECFH, "SpecialCasing.txt")) {
 	    local $_;
+	    local $/ = "\n";
 	    while (<$CASESPECFH>) {
 		if (/^([0-9A-F]+); ([0-9A-F]+(?: [0-9A-F]+)*)?; ([0-9A-F]+(?: [0-9A-F]+)*)?; ([0-9A-F]+(?: [0-9A-F]+)*)?; (\w+(?: \w+)*)?/) {
+
 		    my ($hexcode, $lower, $title, $upper, $condition) =
 			($1, $2, $3, $4, $5);
 		    my $code = hex($hexcode);
-		    if (exists $CASESPEC{$code}) {
+
+                    # In 2.1.8, there were duplicate entries; ignore all but
+                    # the first one -- there were no conditions in the file
+                    # anyway.
+		    if (exists $CASESPEC{$code} && $v_unicode_version ne v2.1.8)
+                    {
 			if (exists $CASESPEC{$code}->{code}) {
 			    my ($oldlower,
 				$oldtitle,
@@ -1146,7 +1386,7 @@
 
     _casespec() unless %CASESPEC;
 
-    return ref $CASESPEC{$code} ? dclone $CASESPEC{$code} : $CASESPEC{$code};
+    return ref $CASESPEC{$code} ? _dclone $CASESPEC{$code} : $CASESPEC{$code};
 }
 
 =head2 B<namedseq()>
@@ -1158,13 +1398,13 @@
     my %namedseq = namedseq();
 
 If used with a single argument in a scalar context, returns the string
-consisting of the code points of the named sequence, or B<undef> if no
+consisting of the code points of the named sequence, or C<undef> if no
 named sequence by that name exists.  If used with a single argument in
 a list context, it returns the list of the ordinals of the code points.  If used
 with no
 arguments in a list context, returns a hash with the names of the
 named sequences as the keys and the named sequences as strings as
-the values.  Otherwise, it returns B<undef> or an empty list depending
+the values.  Otherwise, it returns C<undef> or an empty list depending
 on the context.
 
 This function only operates on officially approved (not provisional) named
@@ -1184,6 +1424,7 @@
     unless (%NAMEDSEQ) {
 	if (openunicode(\$NAMEDSEQFH, "Name.pl")) {
 	    local $_;
+	    local $/ = "\n";
 	    while (<$NAMEDSEQFH>) {
 		if (/^ [0-9A-F]+ \  /x) {
                     chomp;
@@ -1230,17 +1471,7 @@
 my %NUMERIC;
 
 sub _numeric {
-
-    # Unicode 6.0 instituted the rule that only digits in a consecutive
-    # block of 10 would be considered decimal digits.  Before that, the only
-    # problematic code point that I'm (khw) aware of is U+019DA, NEW TAI LUE
-    # THAM DIGIT ONE, which is an alternate form of U+019D1, NEW TAI LUE DIGIT
-    # ONE.  The code could be modified to handle that, but not bothering, as
-    # in TUS 6.0, U+19DA was changed to Nt=Di.
-    if ((pack "C*", split /\./, UnicodeVersion()) lt 6.0.0) {
-	croak __PACKAGE__, "::num requires Unicode 6.0 or greater"
-    }
-    my @numbers = _read_table("unicore/To/Nv.pl");
+    my @numbers = _read_table("To/Nv.pl");
     foreach my $entry (@numbers) {
         my ($start, $end, $value) = @$entry;
 
@@ -1250,11 +1481,18 @@
             my $real = $rational[0] / $rational[1];
             $real_to_rational{$real} = $value;
             $value = $real;
-        }
 
-        for my $i ($start .. $end) {
-            $NUMERIC{$i} = $value;
+            # Should only be single element, but just in case...
+            for my $i ($start .. $end) {
+                $NUMERIC{$i} = $value;
+            }
         }
+        else {
+            # The values require adjusting, as is in 'a' format
+            for my $i ($start .. $end) {
+                $NUMERIC{$i} = $value + $i - $start;
+            }
+        }
     }
 
     # Decided unsafe to use these that aren't officially part of the Unicode
@@ -1274,8 +1512,13 @@
 
 =pod
 
-=head2 num
+=head2 B<num()>
 
+    use Unicode::UCD 'num';
+
+    my $val = num("123");
+    my $one_quarter = num("\N{VULGAR FRACTION 1/4}");
+
 C<num> returns the numeric value of the input Unicode string; or C<undef> if it
 doesn't think the entire string has a completely valid, safe numeric value.
 
@@ -1297,7 +1540,7 @@
 =pod
 
 If the string is more than one character, C<undef> is returned unless
-all its characters are decimal digits (that is they would match C<\d+>),
+all its characters are decimal digits (that is, they would match C<\d+>),
 from the same script.  For example if you have an ASCII '0' and a Bengali
 '3', mixed together, they aren't considered a valid number, and C<undef>
 is returned.  A further restriction is that the digits all have to be of
@@ -1338,19 +1581,1945 @@
     return if $string =~ /\D/;
     my $first_ord = ord(substr($string, 0, 1));
     my $value = $NUMERIC{$first_ord};
+
+    # To be a valid decimal number, it should be in a block of 10 consecutive
+    # characters, whose values are 0, 1, 2, ... 9.  Therefore this digit's
+    # value is its offset in that block from the character that means zero.
     my $zero_ord = $first_ord - $value;
 
+    # Unicode 6.0 instituted the rule that only digits in a consecutive
+    # block of 10 would be considered decimal digits.  If this is an earlier
+    # release, we verify that this first character is a member of such a
+    # block.  That is, that the block of characters surrounding this one
+    # consists of all \d characters whose numeric values are the expected
+    # ones.
+    UnicodeVersion() unless defined $v_unicode_version;
+    if ($v_unicode_version lt v6.0.0) {
+        for my $i (0 .. 9) {
+            my $ord = $zero_ord + $i;
+            return unless chr($ord) =~ /\d/;
+            my $numeric = $NUMERIC{$ord};
+            return unless defined $numeric;
+            return unless $numeric == $i;
+        }
+    }
+
     for my $i (1 .. $length -1) {
+
+        # Here we know either by verifying, or by fact of the first character
+        # being a \d in Unicode 6.0 or later, that any character between the
+        # character that means 0, and 9 positions above it must be \d, and
+        # must have its value correspond to its offset from the zero.  Any
+        # characters outside these 10 do not form a legal number for this
+        # function.
         my $ord = ord(substr($string, $i, 1));
         my $digit = $ord - $zero_ord;
         return unless $digit >= 0 && $digit <= 9;
         $value = $value * 10 + $digit;
     }
+
     return $value;
 }
 
+=pod
 
+=head2 B<prop_aliases()>
 
+    use Unicode::UCD 'prop_aliases';
+
+    my ($short_name, $full_name, @other_names) = prop_aliases("space");
+    my $same_full_name = prop_aliases("Space");     # Scalar context
+    my ($same_short_name) = prop_aliases("Space");  # gets 0th element
+    print "The full name is $full_name\n";
+    print "The short name is $short_name\n";
+    print "The other aliases are: ", join(", ", @other_names), "\n";
+
+    prints:
+    The full name is White_Space
+    The short name is WSpace
+    The other aliases are: Space
+
+Most Unicode properties have several synonymous names.  Typically, there is at
+least a short name, convenient to type, and a long name that more fully
+describes the property, and hence is more easily understood.
+
+If you know one name for a Unicode property, you can use C<prop_aliases> to find
+either the long name (when called in scalar context), or a list of all of the
+names, somewhat ordered so that the short name is in the 0th element, the long
+name in the next element, and any other synonyms are in the remaining
+elements, in no particular order.
+
+The long name is returned in a form nicely capitalized, suitable for printing.
+
+The input parameter name is loosely matched, which means that white space,
+hyphens, and underscores are ignored (except for the trailing underscore in
+the old_form grandfathered-in C<"L_">, which is better written as C<"LC">, and
+both of which mean C<General_Category=Cased Letter>).
+
+If the name is unknown, C<undef> is returned (or an empty list in list
+context).  Note that Perl typically recognizes property names in regular
+expressions with an optional C<"Is_>" (with or without the underscore)
+prefixed to them, such as C<\p{isgc=punct}>.  This function does not recognize
+those in the input, returning C<undef>.  Nor are they included in the output
+as possible synonyms.
+
+C<prop_aliases> does know about the Perl extensions to Unicode properties,
+such as C<Any> and C<XPosixAlpha>, and the single form equivalents to Unicode
+properties such as C<XDigit>, C<Greek>, C<In_Greek>, and C<Is_Greek>.  The
+final example demonstrates that the C<"Is_"> prefix is recognized for these
+extensions; it is needed to resolve ambiguities.  For example,
+C<prop_aliases('lc')> returns the list C<(lc, Lowercase_Mapping)>, but
+C<prop_aliases('islc')> returns C<(Is_LC, Cased_Letter)>.  This is
+because C<islc> is a Perl extension which is short for
+C<General_Category=Cased Letter>.  The lists returned for the Perl extensions
+will not include the C<"Is_"> prefix (whether or not the input had it) unless
+needed to resolve ambiguities, as shown in the C<"islc"> example, where the
+returned list had one element containing C<"Is_">, and the other without.
+
+It is also possible for the reverse to happen:  C<prop_aliases('isc')> returns
+the list C<(isc, ISO_Comment)>; whereas C<prop_aliases('c')> returns
+C<(C, Other)> (the latter being a Perl extension meaning
+C<General_Category=Other>.
+L<perluniprops/Properties accessible through Unicode::UCD> lists the available
+forms, including which ones are discouraged from use.
+
+Those discouraged forms are accepted as input to C<prop_aliases>, but are not
+returned in the lists.  C<prop_aliases('isL&')> and C<prop_aliases('isL_')>,
+which are old synonyms for C<"Is_LC"> and should not be used in new code, are
+examples of this.  These both return C<(Is_LC, Cased_Letter)>.  Thus this
+function allows you to take a discourarged form, and find its acceptable
+alternatives.  The same goes with single-form Block property equivalences.
+Only the forms that begin with C<"In_"> are not discouraged; if you pass
+C<prop_aliases> a discouraged form, you will get back the equivalent ones that
+begin with C<"In_">.  It will otherwise look like a new-style block name (see.
+L</Old-style versus new-style block names>).
+
+C<prop_aliases> does not know about any user-defined properties, and will
+return C<undef> if called with one of those.  Likewise for Perl internal
+properties, with the exception of "Perl_Decimal_Digit" which it does know
+about (and which is documented below in L</prop_invmap()>).
+
+=cut
+
+# It may be that there are use cases where the discouraged forms should be
+# returned.  If that comes up, an optional boolean second parameter to the
+# function could be created, for example.
+
+# These are created by mktables for this routine and stored in unicore/UCD.pl
+# where their structures are described.
+our %string_property_loose_to_name;
+our %ambiguous_names;
+our %loose_perlprop_to_name;
+our %prop_aliases;
+
+sub prop_aliases ($) {
+    my $prop = $_[0];
+    return unless defined $prop;
+
+    require "unicore/UCD.pl";
+    require "unicore/Heavy.pl";
+    require "utf8_heavy.pl";
+
+    # The property name may be loosely or strictly matched; we don't know yet.
+    # But both types use lower-case.
+    $prop = lc $prop;
+
+    # It is loosely matched if its lower case isn't known to be strict.
+    my $list_ref;
+    if (! exists $utf8::stricter_to_file_of{$prop}) {
+        my $loose = utf8::_loose_name($prop);
+
+        # There is a hash that converts from any loose name to its standard
+        # form, mapping all synonyms for a  name to one name that can be used
+        # as a key into another hash.  The whole concept is for memory
+        # savings, as the second hash doesn't have to have all the
+        # combinations.  Actually, there are two hashes that do the
+        # converstion.  One is used in utf8_heavy.pl (stored in Heavy.pl) for
+        # looking up properties matchable in regexes.  This function needs to
+        # access string properties, which aren't available in regexes, so a
+        # second conversion hash is made for them (stored in UCD.pl).  Look in
+        # the string one now, as the rest can have an optional 'is' prefix,
+        # which these don't.
+        if (exists $string_property_loose_to_name{$loose}) {
+
+            # Convert to its standard loose name.
+            $prop = $string_property_loose_to_name{$loose};
+        }
+        else {
+            my $retrying = 0;   # bool.  ? Has an initial 'is' been stripped
+        RETRY:
+            if (exists $utf8::loose_property_name_of{$loose}
+                && (! $retrying
+                    || ! exists $ambiguous_names{$loose}))
+            {
+                # Found an entry giving the standard form.  We don't get here
+                # (in the test above) when we've stripped off an
+                # 'is' and the result is an ambiguous name.  That is because
+                # these are official Unicode properties (though Perl can have
+                # an optional 'is' prefix meaning the official property), and
+                # all ambiguous cases involve a Perl single-form extension
+                # for the gc, script, or block properties, and the stripped
+                # 'is' means that they mean one of those, and not one of
+                # these
+                $prop = $utf8::loose_property_name_of{$loose};
+            }
+            elsif (exists $loose_perlprop_to_name{$loose}) {
+
+                # This hash is specifically for this function to list Perl
+                # extensions that aren't in the earlier hashes.  If there is
+                # only one element, the short and long names are identical.
+                # Otherwise the form is already in the same form as
+                # %prop_aliases, which is handled at the end of the function.
+                $list_ref = $loose_perlprop_to_name{$loose};
+                if (@$list_ref == 1) {
+                    my @list = ($list_ref->[0], $list_ref->[0]);
+                    $list_ref = \@list;
+                }
+            }
+            elsif (! exists $utf8::loose_to_file_of{$loose}) {
+
+                # loose_to_file_of is a complete list of loose names.  If not
+                # there, the input is unknown.
+                return;
+            }
+            else {
+
+                # Here we found the name but not its aliases, so it has to
+                # exist.  This means it must be one of the Perl single-form
+                # extensions.  First see if it is for a property-value
+                # combination in one of the following properties.
+                my @list;
+                foreach my $property ("gc", "script") {
+                    @list = prop_value_aliases($property, $loose);
+                    last if @list;
+                }
+                if (@list) {
+
+                    # Here, it is one of those property-value combination
+                    # single-form synonyms.  There are ambiguities with some
+                    # of these.  Check against the list for these, and adjust
+                    # if necessary.
+                    for my $i (0 .. @list -1) {
+                        if (exists $ambiguous_names
+                                   {utf8::_loose_name(lc $list[$i])})
+                        {
+                            # The ambiguity is resolved by toggling whether or
+                            # not it has an 'is' prefix
+                            $list[$i] =~ s/^Is_// or $list[$i] =~ s/^/Is_/;
+                        }
+                    }
+                    return @list;
+                }
+
+                # Here, it wasn't one of the gc or script single-form
+                # extensions.  It could be a block property single-form
+                # extension.  An 'in' prefix definitely means that, and should
+                # be looked up without the prefix.  However, starting in
+                # Unicode 6.1, we have to special case 'indic...', as there
+                # is a property that begins with that name.   We shouldn't
+                # strip the 'in' from that.   I'm (khw) generalizing this to
+                # 'indic' instead of the single property, because I suspect
+                # that others of this class may come along in the future.
+                # However, this could backfire and a block created whose name
+                # begins with 'dic...', and we would want to strip the 'in'.
+                # At which point this would have to be tweaked.
+                my $began_with_in = $loose =~ s/^in(?!dic)//;
+                @list = prop_value_aliases("block", $loose);
+                if (@list) {
+                    map { $_ =~ s/^/In_/ } @list;
+                    return @list;
+                }
+
+                # Here still haven't found it.  The last opportunity for it
+                # being valid is only if it began with 'is'.  We retry without
+                # the 'is', setting a flag to that effect so that we don't
+                # accept things that begin with 'isis...'
+                if (! $retrying && ! $began_with_in && $loose =~ s/^is//) {
+                    $retrying = 1;
+                    goto RETRY;
+                }
+
+                # Here, didn't find it.  Since it was in %loose_to_file_of, we
+                # should have been able to find it.
+                carp __PACKAGE__, "::prop_aliases: Unexpectedly could not find '$prop'.  Send bug report to perlbug\@perl.org";
+                return;
+            }
+        }
+    }
+
+    if (! $list_ref) {
+        # Here, we have set $prop to a standard form name of the input.  Look
+        # it up in the structure created by mktables for this purpose, which
+        # contains both strict and loosely matched properties.  Avoid
+        # autovivifying.
+        $list_ref = $prop_aliases{$prop} if exists $prop_aliases{$prop};
+        return unless $list_ref;
+    }
+
+    # The full name is in element 1.
+    return $list_ref->[1] unless wantarray;
+
+    return @{_dclone $list_ref};
+}
+
+=pod
+
+=head2 B<prop_value_aliases()>
+
+    use Unicode::UCD 'prop_value_aliases';
+
+    my ($short_name, $full_name, @other_names)
+                                   = prop_value_aliases("Gc", "Punct");
+    my $same_full_name = prop_value_aliases("Gc", "P");   # Scalar cntxt
+    my ($same_short_name) = prop_value_aliases("Gc", "P"); # gets 0th
+                                                           # element
+    print "The full name is $full_name\n";
+    print "The short name is $short_name\n";
+    print "The other aliases are: ", join(", ", @other_names), "\n";
+
+    prints:
+    The full name is Punctuation
+    The short name is P
+    The other aliases are: Punct
+
+Some Unicode properties have a restricted set of legal values.  For example,
+all binary properties are restricted to just C<true> or C<false>; and there
+are only a few dozen possible General Categories.
+
+For such properties, there are usually several synonyms for each possible
+value.  For example, in binary properties, I<truth> can be represented by any of
+the strings "Y", "Yes", "T", or "True"; and the General Category
+"Punctuation" by that string, or "Punct", or simply "P".
+
+Like property names, there is typically at least a short name for each such
+property-value, and a long name.  If you know any name of the property-value,
+you can use C<prop_value_aliases>() to get the long name (when called in
+scalar context), or a list of all the names, with the short name in the 0th
+element, the long name in the next element, and any other synonyms in the
+remaining elements, in no particular order, except that any all-numeric
+synonyms will be last.
+
+The long name is returned in a form nicely capitalized, suitable for printing.
+
+Case, white space, hyphens, and underscores are ignored in the input parameters
+(except for the trailing underscore in the old-form grandfathered-in general
+category property value C<"L_">, which is better written as C<"LC">).
+
+If either name is unknown, C<undef> is returned.  Note that Perl typically
+recognizes property names in regular expressions with an optional C<"Is_>"
+(with or without the underscore) prefixed to them, such as C<\p{isgc=punct}>.
+This function does not recognize those in the property parameter, returning
+C<undef>.
+
+If called with a property that doesn't have synonyms for its values, it
+returns the input value, possibly normalized with capitalization and
+underscores.
+
+For the block property, new-style block names are returned (see
+L</Old-style versus new-style block names>).
+
+To find the synonyms for single-forms, such as C<\p{Any}>, use
+L</prop_aliases()> instead.
+
+C<prop_value_aliases> does not know about any user-defined properties, and
+will return C<undef> if called with one of those.
+
+=cut
+
+# These are created by mktables for this routine and stored in unicore/UCD.pl
+# where their structures are described.
+our %loose_to_standard_value;
+our %prop_value_aliases;
+
+sub prop_value_aliases ($$) {
+    my ($prop, $value) = @_;
+    return unless defined $prop && defined $value;
+
+    require "unicore/UCD.pl";
+    require "utf8_heavy.pl";
+
+    # Find the property name synonym that's used as the key in other hashes,
+    # which is element 0 in the returned list.
+    ($prop) = prop_aliases($prop);
+    return if ! $prop;
+    $prop = utf8::_loose_name(lc $prop);
+
+    # Here is a legal property, but the hash below (created by mktables for
+    # this purpose) only knows about the properties that have a very finite
+    # number of potential values, that is not ones whose value could be
+    # anything, like most (if not all) string properties.  These don't have
+    # synonyms anyway.  Simply return the input.  For example, there is no
+    # synonym for ('Uppercase_Mapping', A').
+    return $value if ! exists $prop_value_aliases{$prop};
+
+    # The value name may be loosely or strictly matched; we don't know yet.
+    # But both types use lower-case.
+    $value = lc $value;
+
+    # If the name isn't found under loose matching, it certainly won't be
+    # found under strict
+    my $loose_value = utf8::_loose_name($value);
+    return unless exists $loose_to_standard_value{"$prop=$loose_value"};
+
+    # Similarly if the combination under loose matching doesn't exist, it
+    # won't exist under strict.
+    my $standard_value = $loose_to_standard_value{"$prop=$loose_value"};
+    return unless exists $prop_value_aliases{$prop}{$standard_value};
+
+    # Here we did find a combination under loose matching rules.  But it could
+    # be that is a strict property match that shouldn't have matched.
+    # %prop_value_aliases is set up so that the strict matches will appear as
+    # if they were in loose form.  Thus, if the non-loose version is legal,
+    # we're ok, can skip the further check.
+    if (! exists $utf8::stricter_to_file_of{"$prop=$value"}
+
+        # We're also ok and skip the further check if value loosely matches.
+        # mktables has verified that no strict name under loose rules maps to
+        # an existing loose name.  This code relies on the very limited
+        # circumstances that strict names can be here.  Strict name matching
+        # happens under two conditions:
+        # 1) when the name begins with an underscore.  But this function
+        #    doesn't accept those, and %prop_value_aliases doesn't have
+        #    them.
+        # 2) When the values are numeric, in which case we need to look
+        #    further, but their squeezed-out loose values will be in
+        #    %stricter_to_file_of
+        && exists $utf8::stricter_to_file_of{"$prop=$loose_value"})
+    {
+        # The only thing that's legal loosely under strict is that can have an
+        # underscore between digit pairs XXX
+        while ($value =~ s/(\d)_(\d)/$1$2/g) {}
+        return unless exists $utf8::stricter_to_file_of{"$prop=$value"};
+    }
+
+    # Here, we know that the combination exists.  Return it.
+    my $list_ref = $prop_value_aliases{$prop}{$standard_value};
+    if (@$list_ref > 1) {
+        # The full name is in element 1.
+        return $list_ref->[1] unless wantarray;
+
+        return @{_dclone $list_ref};
+    }
+
+    return $list_ref->[0] unless wantarray;
+
+    # Only 1 element means that it repeats
+    return ( $list_ref->[0], $list_ref->[0] );
+}
+
+# All 1 bits is the largest possible UV.
+$Unicode::UCD::MAX_CP = ~0;
+
+=pod
+
+=head2 B<prop_invlist()>
+
+C<prop_invlist> returns an inversion list (described below) that defines all the
+code points for the binary Unicode property (or "property=value" pair) given
+by the input parameter string:
+
+ use feature 'say';
+ use Unicode::UCD 'prop_invlist';
+ say join ", ", prop_invlist("Any");
+
+ prints:
+ 0, 1114112
+
+If the input is unknown C<undef> is returned in scalar context; an empty-list
+in list context.  If the input is known, the number of elements in
+the list is returned if called in scalar context.
+
+L<perluniprops|perluniprops/Properties accessible through \p{} and \P{}> gives
+the list of properties that this function accepts, as well as all the possible
+forms for them (including with the optional "Is_" prefixes).  (Except this
+function doesn't accept any Perl-internal properties, some of which are listed
+there.) This function uses the same loose or tighter matching rules for
+resolving the input property's name as is done for regular expressions.  These
+are also specified in L<perluniprops|perluniprops/Properties accessible
+through \p{} and \P{}>.  Examples of using the "property=value" form are:
+
+ say join ", ", prop_invlist("Script=Shavian");
+
+ prints:
+ 66640, 66688
+
+ say join ", ", prop_invlist("ASCII_Hex_Digit=No");
+
+ prints:
+ 0, 48, 58, 65, 71, 97, 103
+
+ say join ", ", prop_invlist("ASCII_Hex_Digit=Yes");
+
+ prints:
+ 48, 58, 65, 71, 97, 103
+
+Inversion lists are a compact way of specifying Unicode property-value
+definitions.  The 0th item in the list is the lowest code point that has the
+property-value.  The next item (item [1]) is the lowest code point beyond that
+one that does NOT have the property-value.  And the next item beyond that
+([2]) is the lowest code point beyond that one that does have the
+property-value, and so on.  Put another way, each element in the list gives
+the beginning of a range that has the property-value (for even numbered
+elements), or doesn't have the property-value (for odd numbered elements).
+The name for this data structure stems from the fact that each element in the
+list toggles (or inverts) whether the corresponding range is or isn't on the
+list.
+
+In the final example above, the first ASCII Hex digit is code point 48, the
+character "0", and all code points from it through 57 (a "9") are ASCII hex
+digits.  Code points 58 through 64 aren't, but 65 (an "A") through 70 (an "F")
+are, as are 97 ("a") through 102 ("f").  103 starts a range of code points
+that aren't ASCII hex digits.  That range extends to infinity, which on your
+computer can be found in the variable C<$Unicode::UCD::MAX_CP>.  (This
+variable is as close to infinity as Perl can get on your platform, and may be
+too high for some operations to work; you may wish to use a smaller number for
+your purposes.)
+
+Note that the inversion lists returned by this function can possibly include
+non-Unicode code points, that is anything above 0x10FFFF.  This is in
+contrast to Perl regular expression matches on those code points, in which a
+non-Unicode code point always fails to match.  For example, both of these have
+the same result:
+
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=True}      # Fails.
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=False}     # Fails!
+
+And both raise a warning that a Unicode property is being used on a
+non-Unicode code point.  It is arguable as to which is the correct thing to do
+here.  This function has chosen the way opposite to the Perl regular
+expression behavior.  This allows you to easily flip to to the Perl regular
+expression way (for you to go in the other direction would be far harder).
+Simply add 0x110000 at the end of the non-empty returned list if it isn't
+already that value; and pop that value if it is; like:
+
+ my @list = prop_invlist("foo");
+ if (@list) {
+     if ($list[-1] == 0x110000) {
+         pop @list;  # Defeat the turning on for above Unicode
+     }
+     else {
+         push @list, 0x110000; # Turn off for above Unicode
+     }
+ }
+
+It is a simple matter to expand out an inversion list to a full list of all
+code points that have the property-value:
+
+ my @invlist = prop_invlist($property_name);
+ die "empty" unless @invlist;
+ my @full_list;
+ for (my $i = 0; $i < @invlist; $i += 2) {
+    my $upper = ($i + 1) < @invlist
+                ? $invlist[$i+1] - 1      # In range
+                : $Unicode::UCD::MAX_CP;  # To infinity.  You may want
+                                          # to stop much much earlier;
+                                          # going this high may expose
+                                          # perl deficiencies with very
+                                          # large numbers.
+    for my $j ($invlist[$i] .. $upper) {
+        push @full_list, $j;
+    }
+ }
+
+C<prop_invlist> does not know about any user-defined nor Perl internal-only
+properties, and will return C<undef> if called with one of those.
+
+=cut
+
+# User-defined properties could be handled with some changes to utf8_heavy.pl;
+# and implementing here of dealing with EXTRAS.  If done, consideration should
+# be given to the fact that the user subroutine could return different results
+# with each call; security issues need to be thought about.
+
+# These are created by mktables for this routine and stored in unicore/UCD.pl
+# where their structures are described.
+our %loose_defaults;
+our $MAX_UNICODE_CODEPOINT;
+
+sub prop_invlist ($;$) {
+    my $prop = $_[0];
+
+    # Undocumented way to get at Perl internal properties
+    my $internal_ok = defined $_[1] && $_[1] eq '_perl_core_internal_ok';
+
+    return if ! defined $prop;
+
+    require "utf8_heavy.pl";
+
+    # Warnings for these are only for regexes, so not applicable to us
+    no warnings 'deprecated';
+
+    # Get the swash definition of the property-value.
+    my $swash = utf8::SWASHNEW(__PACKAGE__, $prop, undef, 1, 0);
+
+    # Fail if not found, or isn't a boolean property-value, or is a
+    # user-defined property, or is internal-only.
+    return if ! $swash
+              || ref $swash eq ""
+              || $swash->{'BITS'} != 1
+              || $swash->{'USER_DEFINED'}
+              || (! $internal_ok && $prop =~ /^\s*_/);
+
+    if ($swash->{'EXTRAS'}) {
+        carp __PACKAGE__, "::prop_invlist: swash returned for $prop unexpectedly has EXTRAS magic";
+        return;
+    }
+    if ($swash->{'SPECIALS'}) {
+        carp __PACKAGE__, "::prop_invlist: swash returned for $prop unexpectedly has SPECIALS magic";
+        return;
+    }
+
+    my @invlist;
+
+    # The input lines look like:
+    # 0041\t005A   # [26]
+    # 005F
+
+    # Split into lines, stripped of trailing comments
+    foreach my $range (split "\n",
+                            $swash->{'LIST'} =~ s/ \s* (?: \# .* )? $ //xmgr)
+    {
+        # And find the beginning and end of the range on the line
+        my ($hex_begin, $hex_end) = split "\t", $range;
+        my $begin = hex $hex_begin;
+
+        # If the new range merely extends the old, we remove the marker
+        # created the last time through the loop for the old's end, which
+        # causes the new one's end to be used instead.
+        if (@invlist && $begin == $invlist[-1]) {
+            pop @invlist;
+        }
+        else {
+            # Add the beginning of the range
+            push @invlist, $begin;
+        }
+
+        if (defined $hex_end) { # The next item starts with the code point 1
+                                # beyond the end of the range.
+            push @invlist, hex($hex_end) + 1;
+        }
+        else {  # No end of range, is a single code point.
+            push @invlist, $begin + 1;
+        }
+    }
+
+    require "unicore/UCD.pl";
+    my $FIRST_NON_UNICODE = $MAX_UNICODE_CODEPOINT + 1;
+
+    # Could need to be inverted: add or subtract a 0 at the beginning of the
+    # list.  And to keep it from matching non-Unicode, add or subtract the
+    # first non-unicode code point.
+    if ($swash->{'INVERT_IT'}) {
+        if (@invlist && $invlist[0] == 0) {
+            shift @invlist;
+        }
+        else {
+            unshift @invlist, 0;
+        }
+        if (@invlist && $invlist[-1] == $FIRST_NON_UNICODE) {
+            pop @invlist;
+        }
+        else {
+            push @invlist, $FIRST_NON_UNICODE;
+        }
+    }
+
+    # Here, the list is set up to include only Unicode code points.  But, if
+    # the table is the default one for the property, it should contain all
+    # non-Unicode code points.  First calculate the loose name for the
+    # property.  This is done even for strict-name properties, as the data
+    # structure that mktables generates for us is set up so that we don't have
+    # to worry about that.  The property-value needs to be split if compound,
+    # as the loose rules need to be independently calculated on each part.  We
+    # know that it is syntactically valid, or SWASHNEW would have failed.
+
+    $prop = lc $prop;
+    my ($prop_only, $table) = split /\s*[:=]\s*/, $prop;
+    if ($table) {
+
+        # May have optional prefixed 'is'
+        $prop = utf8::_loose_name($prop_only) =~ s/^is//r;
+        $prop = $utf8::loose_property_name_of{$prop};
+        $prop .= "=" . utf8::_loose_name($table);
+    }
+    else {
+        $prop = utf8::_loose_name($prop);
+    }
+    if (exists $loose_defaults{$prop}) {
+
+        # Here, is the default table.  If a range ended with 10ffff, instead
+        # continue that range to infinity, by popping the 110000; otherwise,
+        # add the range from 11000 to infinity
+        if (! @invlist || $invlist[-1] != $FIRST_NON_UNICODE) {
+            push @invlist, $FIRST_NON_UNICODE;
+        }
+        else {
+            pop @invlist;
+        }
+    }
+
+    return @invlist;
+}
+
+sub _search_invlist {
+    # Find the range in the inversion list which contains a code point; that
+    # is, find i such that l[i] <= code_point < l[i+1].  Returns undef if no
+    # such i.
+
+    # If this is ever made public, could use to speed up .t specials.  Would
+    # need to use code point argument, as in other functions in this pm
+
+    my $list_ref = shift;
+    my $code_point = shift;
+    # Verify non-neg numeric  XXX
+
+    my $max_element = @$list_ref - 1;
+
+    # Return undef if list is empty or requested item is before the first element.
+    return if $max_element < 0;
+    return if $code_point < $list_ref->[0];
+
+    # Short cut something at the far-end of the table.  This also allows us to
+    # refer to element [$i+1] without fear of being out-of-bounds in the loop
+    # below.
+    return $max_element if $code_point >= $list_ref->[$max_element];
+
+    use integer;        # want integer division
+
+    my $i = $max_element / 2;
+
+    my $lower = 0;
+    my $upper = $max_element;
+    while (1) {
+
+        if ($code_point >= $list_ref->[$i]) {
+
+            # Here we have met the lower constraint.  We can quit if we
+            # also meet the upper one.
+            last if $code_point < $list_ref->[$i+1];
+
+            $lower = $i;        # Still too low.
+
+        }
+        else {
+
+            # Here, $code_point < $list_ref[$i], so look lower down.
+            $upper = $i;
+        }
+
+        # Split search domain in half to try again.
+        my $temp = ($upper + $lower) / 2;
+
+        # No point in continuing unless $i changes for next time
+        # in the loop.
+        return $i if $temp == $i;
+        $i = $temp;
+    } # End of while loop
+
+    # Here we have found the offset
+    return $i;
+}
+
+=pod
+
+=head2 B<prop_invmap()>
+
+ use Unicode::UCD 'prop_invmap';
+ my ($list_ref, $map_ref, $format, $missing)
+                                      = prop_invmap("General Category");
+
+C<prop_invmap> is used to get the complete mapping definition for a property,
+in the form of an inversion map.  An inversion map consists of two parallel
+arrays.  One is an ordered list of code points that mark range beginnings, and
+the other gives the value (or mapping) that all code points in the
+corresponding range have.
+
+C<prop_invmap> is called with the name of the desired property.  The name is
+loosely matched, meaning that differences in case, white-space, hyphens, and
+underscores are not meaningful (except for the trailing underscore in the
+old-form grandfathered-in property C<"L_">, which is better written as C<"LC">,
+or even better, C<"Gc=LC">).
+
+Many Unicode properties have more than one name (or alias).  C<prop_invmap>
+understands all of these, including Perl extensions to them.  Ambiguities are
+resolved as described above for L</prop_aliases()>.  The Perl internal
+property "Perl_Decimal_Digit, described below, is also accepted.  C<undef> is
+returned if the property name is unknown.
+See L<perluniprops/Properties accessible through Unicode::UCD> for the
+properties acceptable as inputs to this function.
+
+It is a fatal error to call this function except in list context.
+
+In addition to the the two arrays that form the inversion map, C<prop_invmap>
+returns two other values; one is a scalar that gives some details as to the
+format of the entries of the map array; the other is used for specialized
+purposes, described at the end of this section.
+
+This means that C<prop_invmap> returns a 4 element list.  For example,
+
+ my ($blocks_ranges_ref, $blocks_maps_ref, $format, $default)
+                                                 = prop_invmap("Block");
+
+In this call, the two arrays will be populated as shown below (for Unicode
+6.0):
+
+ Index  @blocks_ranges  @blocks_maps
+   0        0x0000      Basic Latin
+   1        0x0080      Latin-1 Supplement
+   2        0x0100      Latin Extended-A
+   3        0x0180      Latin Extended-B
+   4        0x0250      IPA Extensions
+   5        0x02B0      Spacing Modifier Letters
+   6        0x0300      Combining Diacritical Marks
+   7        0x0370      Greek and Coptic
+   8        0x0400      Cyrillic
+  ...
+ 233        0x2B820     No_Block
+ 234        0x2F800     CJK Compatibility Ideographs Supplement
+ 235        0x2FA20     No_Block
+ 236        0xE0000     Tags
+ 237        0xE0080     No_Block
+ 238        0xE0100     Variation Selectors Supplement
+ 239        0xE01F0     No_Block
+ 240        0xF0000     Supplementary Private Use Area-A
+ 241        0x100000    Supplementary Private Use Area-B
+ 242        0x110000    No_Block
+
+The first line (with Index [0]) means that the value for code point 0 is "Basic
+Latin".  The entry "0x0080" in the @blocks_ranges column in the second line
+means that the value from the first line, "Basic Latin", extends to all code
+points in the range from 0 up to but not including 0x0080, that is, through
+127.  In other words, the code points from 0 to 127 are all in the "Basic
+Latin" block.  Similarly, all code points in the range from 0x0080 up to (but
+not including) 0x0100 are in the block named "Latin-1 Supplement", etc.
+(Notice that the return is the old-style block names; see L</Old-style versus
+new-style block names>).
+
+The final line (with Index [242]) means that the value for all code points above
+the legal Unicode maximum code point have the value "No_Block", which is the
+term Unicode uses for a non-existing block.
+
+The arrays completely specify the mappings for all possible code points.
+The final element in an inversion map returned by this function will always be
+for the range that consists of all the code points that aren't legal Unicode,
+but that are expressible on the platform.  (That is, it starts with code point
+0x110000, the first code point above the legal Unicode maximum, and extends to
+infinity.) The value for that range will be the same that any typical
+unassigned code point has for the specified property.  (Certain unassigned
+code points are not "typical"; for example the non-character code points, or
+those in blocks that are to be written right-to-left.  The above-Unicode
+range's value is not based on these atypical code points.)  It could be argued
+that, instead of treating these as unassigned Unicode code points, the value
+for this range should be C<undef>.  If you wish, you can change the returned
+arrays accordingly.
+
+The maps are almost always simple scalars that should be interpreted as-is.
+These values are those given in the Unicode-supplied data files, which may be
+inconsistent as to capitalization and as to which synonym for a property-value
+is given.  The results may be normalized by using the L</prop_value_aliases()>
+function.
+
+There are exceptions to the simple scalar maps.  Some properties have some
+elements in their map list that are themselves lists of scalars; and some
+special strings are returned that are not to be interpreted as-is.  Element
+[2] (placed into C<$format> in the example above) of the returned four element
+list tells you if the map has any of these special elements or not, as follows:
+
+=over
+
+=item B<C<s>>
+
+means all the elements of the map array are simple scalars, with no special
+elements.  Almost all properties are like this, like the C<block> example
+above.
+
+=item B<C<sl>>
+
+means that some of the map array elements have the form given by C<"s">, and
+the rest are lists of scalars.  For example, here is a portion of the output
+of calling C<prop_invmap>() with the "Script Extensions" property:
+
+ @scripts_ranges  @scripts_maps
+      ...
+      0x0953      Devanagari
+      0x0964      [ Bengali, Devanagari, Gurumukhi, Oriya ]
+      0x0966      Devanagari
+      0x0970      Common
+
+Here, the code points 0x964 and 0x965 are both used in Bengali,
+Devanagari, Gurmukhi, and Oriya, but no other scripts.
+
+The Name_Alias property is also of this form.  But each scalar consists of two
+components:  1) the name, and 2) the type of alias this is.  They are
+separated by a colon and a space.  In Unicode 6.1, there are several alias types:
+
+=over
+
+=item C<correction>
+
+indicates that the name is a corrected form for the
+original name (which remains valid) for the same code point.
+
+=item C<control>
+
+adds a new name for a control character.
+
+=item C<alternate>
+
+is an alternate name for a character
+
+=item C<figment>
+
+is a name for a character that has been documented but was never in any
+actual standard.
+
+=item C<abbreviation>
+
+is a common abbreviation for a character
+
+=back
+
+The lists are ordered (roughly) so the most preferred names come before less
+preferred ones.
+
+For example,
+
+ @aliases_ranges        @alias_maps
+    ...
+    0x009E        [ 'PRIVACY MESSAGE: control', 'PM: abbreviation' ]
+    0x009F        [ 'APPLICATION PROGRAM COMMAND: control',
+                    'APC: abbreviation'
+                  ]
+    0x00A0        'NBSP: abbreviation'
+    0x00A1        ""
+    0x00AD        'SHY: abbreviation'
+    0x00AE        ""
+    0x01A2        'LATIN CAPITAL LETTER GHA: correction'
+    0x01A3        'LATIN SMALL LETTER GHA: correction'
+    0x01A4        ""
+    ...
+
+A map to the empty string means that there is no alias defined for the code
+point.
+
+=item B<C<a>>
+
+is like C<"s"> in that all the map array elements are scalars, but here they are
+restricted to all being integers, and some have to be adjusted (hence the name
+C<"a">) to get the correct result.  For example, in:
+
+ my ($uppers_ranges_ref, $uppers_maps_ref, $format)
+                          = prop_invmap("Simple_Uppercase_Mapping");
+
+the returned arrays look like this:
+
+ @$uppers_ranges_ref    @$uppers_maps_ref   Note
+       0                      0
+      97                     65          'a' maps to 'A', b => B ...
+     123                      0
+     181                    924          MICRO SIGN => Greek Cap MU
+     182                      0
+     ...
+
+Let's start with the second line.  It says that the uppercase of code point 97
+is 65; or C<uc("a")> == "A".  But the line is for the entire range of code
+points 97 through 122.  To get the mapping for any code point in a range, you
+take the offset it has from the beginning code point of the range, and add
+that to the mapping for that first code point.  So, the mapping for 122 ("z")
+is derived by taking the offset of 122 from 97 (=25) and adding that to 65,
+yielding 90 ("z").  Likewise for everything in between.
+
+The first line works the same way.  The first map in a range is always the
+correct value for its code point (because the adjustment is 0).  Thus the
+C<uc(chr(0))> is just itself.  Also, C<uc(chr(1))> is also itself, as the
+adjustment is 0+1-0 .. C<uc(chr(96))> is 96.
+
+Requiring this simple adjustment allows the returned arrays to be
+significantly smaller than otherwise, up to a factor of 10, speeding up
+searching through them.
+
+=item B<C<al>>
+
+means that some of the map array elements have the form given by C<"a">, and
+the rest are ordered lists of code points.
+For example, in:
+
+ my ($uppers_ranges_ref, $uppers_maps_ref, $format)
+                                 = prop_invmap("Uppercase_Mapping");
+
+the returned arrays look like this:
+
+ @$uppers_ranges_ref    @$uppers_maps_ref
+       0                      0
+      97                     65
+     123                      0
+     181                    924
+     182                      0
+     ...
+    0x0149              [ 0x02BC 0x004E ]
+    0x014A                    0
+    0x014B                  330
+     ...
+
+This is the full Uppercase_Mapping property (as opposed to the
+Simple_Uppercase_Mapping given in the example for format C<"a">).  The only
+difference between the two in the ranges shown is that the code point at
+0x0149 (LATIN SMALL LETTER N PRECEDED BY APOSTROPHE) maps to a string of two
+characters, 0x02BC (MODIFIER LETTER APOSTROPHE) followed by 0x004E (LATIN
+CAPITAL LETTER N).
+
+No adjustments are needed to entries that are references to arrays; each such
+entry will have exactly one element in its range, so the offset is always 0.
+
+=item B<C<ae>>
+
+This is like C<"a">, but some elements are the empty string, and should not be
+adjusted.
+The one internal Perl property accessible by C<prop_invmap> is of this type:
+"Perl_Decimal_Digit" returns an inversion map which gives the numeric values
+that are represented by the Unicode decimal digit characters.  Characters that
+don't represent decimal digits map to the empty string, like so:
+
+ @digits    @values
+ 0x0000       ""
+ 0x0030        0
+ 0x003A:      ""
+ 0x0660:       0
+ 0x066A:      ""
+ 0x06F0:       0
+ 0x06FA:      ""
+ 0x07C0:       0
+ 0x07CA:      ""
+ 0x0966:       0
+ ...
+
+This means that the code points from 0 to 0x2F do not represent decimal digits;
+the code point 0x30 (DIGIT ZERO) represents 0;  code point 0x31, (DIGIT ONE),
+represents 0+1-0 = 1; ... code point 0x39, (DIGIT NINE), represents 0+9-0 = 9;
+... code points 0x3A through 0x65F do not represent decimal digits; 0x660
+(ARABIC-INDIC DIGIT ZERO), represents 0; ... 0x07C1 (NKO DIGIT ONE),
+represents 0+1-0 = 1 ...
+
+=item B<C<ale>>
+
+is a combination of the C<"al"> type and the C<"ae"> type.  Some of
+the map array elements have the forms given by C<"al">, and
+the rest are the empty string.  The property C<NFKC_Casefold> has this form.
+An example slice is:
+
+ @$ranges_ref  @$maps_ref         Note
+    ...
+   0x00AA       97                FEMININE ORDINAL INDICATOR => 'a'
+   0x00AB        0
+   0x00AD                         SOFT HYPHEN => ""
+   0x00AE        0
+   0x00AF     [ 0x0020, 0x0304 ]  MACRON => SPACE . COMBINING MACRON
+   0x00B0        0
+   ...
+
+=item B<C<ar>>
+
+means that all the elements of the map array are either rational numbers or
+the string C<"NaN">, meaning "Not a Number".  A rational number is either an
+integer, or two integers separated by a solidus (C<"/">).  The second integer
+represents the denominator of the division implied by the solidus, and is
+actually always positive, so it is guaranteed not to be 0 and to not be
+signed.  When the element is a plain integer (without the
+solidus), it may need to be adjusted to get the correct value by adding the
+offset, just as other C<"a"> properties.  No adjustment is needed for
+fractions, as the range is guaranteed to have just a single element, and so
+the offset is always 0.
+
+If you want to convert the returned map to entirely scalar numbers, you
+can use something like this:
+
+ my ($invlist_ref, $invmap_ref, $format) = prop_invmap($property);
+ if ($format && $format eq "ar") {
+     map { $_ = eval $_ if $_ ne 'NaN' } @$map_ref;
+ }
+
+Here's some entries from the output of the property "Nv", which has format
+C<"ar">.
+
+ @numerics_ranges  @numerics_maps       Note
+        0x00           "NaN"
+        0x30             0           DIGIT 0 .. DIGIT 9
+        0x3A           "NaN"
+        0xB2             2           SUPERSCRIPTs 2 and 3
+        0xB4           "NaN"
+        0xB9             1           SUPERSCRIPT 1
+        0xBA           "NaN"
+        0xBC            1/4          VULGAR FRACTION 1/4
+        0xBD            1/2          VULGAR FRACTION 1/2
+        0xBE            3/4          VULGAR FRACTION 3/4
+        0xBF           "NaN"
+        0x660            0           ARABIC-INDIC DIGIT ZERO .. NINE
+        0x66A          "NaN"
+
+=item B<C<n>>
+
+means the Name property.  All the elements of the map array are simple
+scalars, but some of them contain special strings that require more work to
+get the actual name.
+
+Entries such as:
+
+ CJK UNIFIED IDEOGRAPH-<code point>
+
+mean that the name for the code point is "CJK UNIFIED IDEOGRAPH-"
+with the code point (expressed in hexadecimal) appended to it, like "CJK
+UNIFIED IDEOGRAPH-3403" (similarly for S<C<CJK COMPATIBILITY IDEOGRAPH-E<lt>code
+pointE<gt>>>).
+
+Also, entries like
+
+ <hangul syllable>
+
+means that the name is algorithmically calculated.  This is easily done by
+the function L<charnames/charnames::viacode(code)>.
+
+Note that for control characters (C<Gc=cc>), Unicode's data files have the
+string "C<E<lt>controlE<gt>>", but the real name of each of these characters is the empty
+string.  This function returns that real name, the empty string.  (There are
+names for these characters, but they are considered aliases, not the Name
+property name, and are contained in the C<Name_Alias> property.)
+
+=item B<C<ad>>
+
+means the Decomposition_Mapping property.  This property is like C<"al">
+properties, except that one of the scalar elements is of the form:
+
+ <hangul syllable>
+
+This signifies that this entry should be replaced by the decompositions for
+all the code points whose decomposition is algorithmically calculated.  (All
+of them are currently in one range and no others outisde the range are likely
+to ever be added to Unicode; the C<"n"> format
+has this same entry.)  These can be generated via the function
+L<Unicode::Normalize::NFD()|Unicode::Normalize>.
+
+Note that the mapping is the one that is specified in the Unicode data files,
+and to get the final decomposition, it may need to be applied recursively.
+
+=back
+
+Note that a format begins with the letter "a" if and only the property it is
+for requires adjustments by adding the offsets in multi-element ranges.  For
+all these properties, an entry should be adjusted only if the map is a scalar
+which is an integer.  That is, it must match the regular expression:
+
+    / ^ -? \d+ $ /xa
+
+Further, the first element in a range never needs adjustment, as the
+adjustment would be just adding 0.
+
+A binary search can be used to quickly find a code point in the inversion
+list, and hence its corresponding mapping.
+
+The final element (index [3], assigned to C<$default> in the "block" example) in
+the four element list returned by this function may be useful for applications
+that wish to convert the returned inversion map data structure into some
+other, such as a hash.  It gives the mapping that most code points map to
+under the property.  If you establish the convention that any code point not
+explicitly listed in your data structure maps to this value, you can
+potentially make your data structure much smaller.  As you construct your data
+structure from the one returned by this function, simply ignore those ranges
+that map to this value, generally called the "default" value.  For example, to
+convert to the data structure searchable by L</charinrange()>, you can follow
+this recipe for properties that don't require adjustments:
+
+ my ($list_ref, $map_ref, $format, $missing) = prop_invmap($property);
+ my @range_list;
+
+ # Look at each element in the list, but the -2 is needed because we
+ # look at $i+1 in the loop, and the final element is guaranteed to map
+ # to $missing by prop_invmap(), so we would skip it anyway.
+ for my $i (0 .. @$list_ref - 2) {
+    next if $map_ref->[$i] eq $missing;
+    push @range_list, [ $list_ref->[$i],
+                        $list_ref->[$i+1],
+                        $map_ref->[$i]
+                      ];
+ }
+
+ print charinrange(\@range_list, $code_point), "\n";
+
+With this, C<charinrange()> will return C<undef> if its input code point maps
+to C<$missing>.  You can avoid this by omitting the C<next> statement, and adding
+a line after the loop to handle the final element of the inversion map.
+
+Similarly, this recipe can be used for properties that do require adjustments:
+
+ for my $i (0 .. @$list_ref - 2) {
+    next if $map_ref->[$i] eq $missing;
+
+    # prop_invmap() guarantees that if the mapping is to an array, the
+    # range has just one element, so no need to worry about adjustments.
+    if (ref $map_ref->[$i]) {
+        push @range_list,
+                   [ $list_ref->[$i], $list_ref->[$i], $map_ref->[$i] ];
+    }
+    else {  # Otherwise each element is actually mapped to a separate
+            # value, so the range has to be split into single code point
+            # ranges.
+
+        my $adjustment = 0;
+
+        # For each code point that gets mapped to something...
+        for my $j ($list_ref->[$i] .. $list_ref->[$i+1] -1 ) {
+
+            # ... add a range consisting of just it mapping to the
+            # original plus the adjustment, which is incremented for the
+            # next time through the loop, as the offset increases by 1
+            # for each element in the range
+            push @range_list,
+                             [ $j, $j, $map_ref->[$i] + $adjustment++ ];
+        }
+    }
+ }
+
+Note that the inversion maps returned for the C<Case_Folding> and
+C<Simple_Case_Folding> properties do not include the Turkic-locale mappings.
+Use L</casefold()> for these.
+
+C<prop_invmap> does not know about any user-defined properties, and will
+return C<undef> if called with one of those.
+
+=cut
+
+# User-defined properties could be handled with some changes to utf8_heavy.pl;
+# if done, consideration should be given to the fact that the user subroutine
+# could return different results with each call, which could lead to some
+# security issues.
+
+# One could store things in memory so they don't have to be recalculated, but
+# it is unlikely this will be called often, and some properties would take up
+# significant memory.
+
+# These are created by mktables for this routine and stored in unicore/UCD.pl
+# where their structures are described.
+our @algorithmic_named_code_points;
+our $HANGUL_BEGIN;
+our $HANGUL_COUNT;
+
+sub prop_invmap ($) {
+
+    croak __PACKAGE__, "::prop_invmap: must be called in list context" unless wantarray;
+
+    my $prop = $_[0];
+    return unless defined $prop;
+
+    # Fail internal properties
+    return if $prop =~ /^_/;
+
+    # The values returned by this function.
+    my (@invlist, @invmap, $format, $missing);
+
+    # The swash has two components we look at, the base list, and a hash,
+    # named 'SPECIALS', containing any additional members whose mappings don't
+    # fit into the the base list scheme of things.  These generally 'override'
+    # any value in the base list for the same code point.
+    my $overrides;
+
+    require "utf8_heavy.pl";
+    require "unicore/UCD.pl";
+
+RETRY:
+
+    # If there are multiple entries for a single code point
+    my $has_multiples = 0;
+
+    # Try to get the map swash for the property.  They have 'To' prepended to
+    # the property name, and 32 means we will accept 32 bit return values.
+    # The 0 means we aren't calling this from tr///.
+    my $swash = utf8::SWASHNEW(__PACKAGE__, "To$prop", undef, 32, 0);
+
+    # If didn't find it, could be because needs a proxy.  And if was the
+    # 'Block' or 'Name' property, use a proxy even if did find it.  Finding it
+    # in these cases would be the result of the installation changing mktables
+    # to output the Block or Name tables.  The Block table gives block names
+    # in the new-style, and this routine is supposed to return old-style block
+    # names.  The Name table is valid, but we need to execute the special code
+    # below to add in the algorithmic-defined name entries.
+    # And NFKCCF needs conversion, so handle that here too.
+    if (ref $swash eq ""
+        || $swash->{'TYPE'} =~ / ^ To (?: Blk | Na | NFKCCF ) $ /x)
+    {
+
+        # Get the short name of the input property, in standard form
+        my ($second_try) = prop_aliases($prop);
+        return unless $second_try;
+        $second_try = utf8::_loose_name(lc $second_try);
+
+        if ($second_try eq "in") {
+
+            # This property is identical to age for inversion map purposes
+            $prop = "age";
+            goto RETRY;
+        }
+        elsif ($second_try =~ / ^ s ( cf | fc | [ltu] c ) $ /x) {
+
+            # These properties use just the LIST part of the full mapping,
+            # which includes the simple maps that are otherwise overridden by
+            # the SPECIALS.  So all we need do is to not look at the SPECIALS;
+            # set $overrides to indicate that
+            $overrides = -1;
+
+            # The full name is the simple name stripped of its initial 's'
+            $prop = $1;
+
+            # .. except for this case
+            $prop = 'cf' if $prop eq 'fc';
+
+            goto RETRY;
+        }
+        elsif ($second_try eq "blk") {
+
+            # We use the old block names.  Just create a fake swash from its
+            # data.
+            _charblocks();
+            my %blocks;
+            $blocks{'LIST'} = "";
+            $blocks{'TYPE'} = "ToBlk";
+            $utf8::SwashInfo{ToBlk}{'missing'} = "No_Block";
+            $utf8::SwashInfo{ToBlk}{'format'} = "s";
+
+            foreach my $block (@BLOCKS) {
+                $blocks{'LIST'} .= sprintf "%x\t%x\t%s\n",
+                                           $block->[0],
+                                           $block->[1],
+                                           $block->[2];
+            }
+            $swash = \%blocks;
+        }
+        elsif ($second_try eq "na") {
+
+            # Use the combo file that has all the Name-type properties in it,
+            # extracting just the ones that are for the actual 'Name'
+            # property.  And create a fake swash from it.
+            my %names;
+            $names{'LIST'} = "";
+            my $original = do "unicore/Name.pl";
+            my $algorithm_names = \@algorithmic_named_code_points;
+
+            # We need to remove the names from it that are aliases.  For that
+            # we need to also read in that table.  Create a hash with the keys
+            # being the code points, and the values being a list of the
+            # aliases for the code point key.
+            my ($aliases_code_points, $aliases_maps, undef, undef) =
+                                                &prop_invmap('Name_Alias');
+            my %aliases;
+            for (my $i = 0; $i < @$aliases_code_points; $i++) {
+                my $code_point = $aliases_code_points->[$i];
+                $aliases{$code_point} = $aliases_maps->[$i];
+
+                # If not already a list, make it into one, so that later we
+                # can treat things uniformly
+                if (! ref $aliases{$code_point}) {
+                    $aliases{$code_point} = [ $aliases{$code_point} ];
+                }
+
+                # Remove the alias type from the entry, retaining just the
+                # name.
+                map { s/:.*// } @{$aliases{$code_point}};
+            }
+
+            my $i = 0;
+            foreach my $line (split "\n", $original) {
+                my ($hex_code_point, $name) = split "\t", $line;
+
+                # Weeds out all comments, blank lines, and named sequences
+                next if $hex_code_point =~ /[^[:xdigit:]]/a;
+
+                my $code_point = hex $hex_code_point;
+
+                # The name of all controls is the default: the empty string.
+                # The set of controls is immutable, so these hard-coded
+                # constants work.
+                next if $code_point <= 0x9F
+                        && ($code_point <= 0x1F || $code_point >= 0x7F);
+
+                # If this is a name_alias, it isn't a name
+                next if grep { $_ eq $name } @{$aliases{$code_point}};
+
+                # If we are beyond where one of the special lines needs to
+                # be inserted ...
+                while ($i < @$algorithm_names
+                    && $code_point > $algorithm_names->[$i]->{'low'})
+                {
+
+                    # ... then insert it, ahead of what we were about to
+                    # output
+                    $names{'LIST'} .= sprintf "%x\t%x\t%s\n",
+                                            $algorithm_names->[$i]->{'low'},
+                                            $algorithm_names->[$i]->{'high'},
+                                            $algorithm_names->[$i]->{'name'};
+
+                    # Done with this range.
+                    $i++;
+
+                    # We loop until all special lines that precede the next
+                    # regular one are output.
+                }
+
+                # Here, is a normal name.
+                $names{'LIST'} .= sprintf "%x\t\t%s\n", $code_point, $name;
+            } # End of loop through all the names
+
+            $names{'TYPE'} = "ToNa";
+            $utf8::SwashInfo{ToNa}{'missing'} = "";
+            $utf8::SwashInfo{ToNa}{'format'} = "n";
+            $swash = \%names;
+        }
+        elsif ($second_try =~ / ^ ( d [mt] ) $ /x) {
+
+            # The file is a combination of dt and dm properties.  Create a
+            # fake swash from the portion that we want.
+            my $original = do "unicore/Decomposition.pl";
+            my %decomps;
+
+            if ($second_try eq 'dt') {
+                $decomps{'TYPE'} = "ToDt";
+                $utf8::SwashInfo{'ToDt'}{'missing'} = "None";
+                $utf8::SwashInfo{'ToDt'}{'format'} = "s";
+            }   # 'dm' is handled below, with 'nfkccf'
+
+            $decomps{'LIST'} = "";
+
+            # This property has one special range not in the file: for the
+            # hangul syllables.  But not in Unicode version 1.
+            UnicodeVersion() unless defined $v_unicode_version;
+            my $done_hangul = ($v_unicode_version lt v2.0.0)
+                              ? 1
+                              : 0;    # Have we done the hangul range ?
+            foreach my $line (split "\n", $original) {
+                my ($hex_lower, $hex_upper, $type_and_map) = split "\t", $line;
+                my $code_point = hex $hex_lower;
+                my $value;
+                my $redo = 0;
+
+                # The type, enclosed in <...>, precedes the mapping separated
+                # by blanks
+                if ($type_and_map =~ / ^ < ( .* ) > \s+ (.*) $ /x) {
+                    $value = ($second_try eq 'dt') ? $1 : $2
+                }
+                else {  # If there is no type specified, it's canonical
+                    $value = ($second_try eq 'dt')
+                             ? "Canonical" :
+                             $type_and_map;
+                }
+
+                # Insert the hangul range at the appropriate spot.
+                if (! $done_hangul && $code_point > $HANGUL_BEGIN) {
+                    $done_hangul = 1;
+                    $decomps{'LIST'} .=
+                                sprintf "%x\t%x\t%s\n",
+                                        $HANGUL_BEGIN,
+                                        $HANGUL_BEGIN + $HANGUL_COUNT - 1,
+                                        ($second_try eq 'dt')
+                                        ? "Canonical"
+                                        : "<hangul syllable>";
+                }
+
+                if ($value =~ / / && $hex_upper ne "" && $hex_upper ne $hex_lower) {
+                    $line = sprintf("%04X\t%s\t%s", hex($hex_lower) + 1, $hex_upper, $value);
+                    $hex_upper = "";
+                    $redo = 1;
+                }
+
+                # And append this to our constructed LIST.
+                $decomps{'LIST'} .= "$hex_lower\t$hex_upper\t$value\n";
+
+                redo if $redo;
+            }
+            $swash = \%decomps;
+        }
+        elsif ($second_try ne 'nfkccf') { # Don't know this property. Fail.
+            return;
+        }
+
+        if ($second_try eq 'nfkccf' || $second_try eq 'dm') {
+
+            # The 'nfkccf' property is stored in the old format for backwards
+            # compatibility for any applications that has read its file
+            # directly before prop_invmap() existed.
+            # And the code above has extracted the 'dm' property from its file
+            # yielding the same format.  So here we convert them to adjusted
+            # format for compatibility with the other properties similar to
+            # them.
+            my %revised_swash;
+
+            # We construct a new converted list.
+            my $list = "";
+
+            my @ranges = split "\n", $swash->{'LIST'};
+            for (my $i = 0; $i < @ranges; $i++) {
+                my ($hex_begin, $hex_end, $map) = split "\t", $ranges[$i];
+
+                # The dm property has maps that are space separated sequences
+                # of code points, as well as the special entry "<hangul
+                # syllable>, which also contains a blank.
+                my @map = split " ", $map;
+                if (@map > 1) {
+
+                    # If it's just the special entry, append as-is.
+                    if ($map eq '<hangul syllable>') {
+                        $list .= "$ranges[$i]\n";
+                    }
+                    else {
+
+                        # These should all be single-element ranges.
+                        croak __PACKAGE__, "::prop_invmap: Not expecting a mapping with multiple code points in a multi-element range, $ranges[$i]" if $hex_end ne "" && $hex_end ne $hex_begin;
+
+                        # Convert them to decimal, as that's what's expected.
+                        $list .= "$hex_begin\t\t"
+                            . join(" ", map { hex } @map)
+                            . "\n";
+                    }
+                    next;
+                }
+
+                # Here, the mapping doesn't have a blank, is for a single code
+                # point.
+                my $begin = hex $hex_begin;
+                my $end = (defined $hex_end && $hex_end ne "")
+                        ? hex $hex_end
+                        : $begin;
+
+                # Again, the output is to be in decimal.
+                my $decimal_map = hex $map;
+
+                # We know that multi-element ranges with the same mapping
+                # should not be adjusted, as after the adjustment
+                # multi-element ranges are for consecutive increasing code
+                # points.  Further, the final element in the list won't be
+                # adjusted, as there is nothing after it to include in the
+                # adjustment
+                if ($begin != $end || $i == @ranges -1) {
+
+                    # So just convert these to single-element ranges
+                    foreach my $code_point ($begin .. $end) {
+                        $list .= sprintf("%04X\t\t%d\n",
+                                        $code_point, $decimal_map);
+                    }
+                }
+                else {
+
+                    # Here, we have a candidate for adjusting.  What we do is
+                    # look through the subsequent adjacent elements in the
+                    # input.  If the map to the next one differs by 1 from the
+                    # one before, then we combine into a larger range with the
+                    # initial map.  Loop doing this until we find one that
+                    # can't be combined.
+
+                    my $offset = 0;     # How far away are we from the initial
+                                        # map
+                    my $squished = 0;   # ? Did we squish at least two
+                                        # elements together into one range
+                    for ( ; $i < @ranges; $i++) {
+                        my ($next_hex_begin, $next_hex_end, $next_map)
+                                                = split "\t", $ranges[$i+1];
+
+                        # In the case of 'dm', the map may be a sequence of
+                        # multiple code points, which are never combined with
+                        # another range
+                        last if $next_map =~ / /;
+
+                        $offset++;
+                        my $next_decimal_map = hex $next_map;
+
+                        # If the next map is not next in sequence, it
+                        # shouldn't be combined.
+                        last if $next_decimal_map != $decimal_map + $offset;
+
+                        my $next_begin = hex $next_hex_begin;
+
+                        # Likewise, if the next element isn't adjacent to the
+                        # previous one, it shouldn't be combined.
+                        last if $next_begin != $begin + $offset;
+
+                        my $next_end = (defined $next_hex_end
+                                        && $next_hex_end ne "")
+                                            ? hex $next_hex_end
+                                            : $next_begin;
+
+                        # And finally, if the next element is a multi-element
+                        # range, it shouldn't be combined.
+                        last if $next_end != $next_begin;
+
+                        # Here, we will combine.  Loop to see if we should
+                        # combine the next element too.
+                        $squished = 1;
+                    }
+
+                    if ($squished) {
+
+                        # Here, 'i' is the element number of the last element to
+                        # be combined, and the range is single-element, or we
+                        # wouldn't be combining.  Get it's code point.
+                        my ($hex_end, undef, undef) = split "\t", $ranges[$i];
+                        $list .= "$hex_begin\t$hex_end\t$decimal_map\n";
+                    } else {
+
+                        # Here, no combining done.  Just appen the initial
+                        # (and current) values.
+                        $list .= "$hex_begin\t\t$decimal_map\n";
+                    }
+                }
+            } # End of loop constructing the converted list
+
+            # Finish up the data structure for our converted swash
+            my $type = ($second_try eq 'nfkccf') ? 'ToNFKCCF' : 'ToDm';
+            $revised_swash{'LIST'} = $list;
+            $revised_swash{'TYPE'} = $type;
+            $revised_swash{'SPECIALS'} = $swash->{'SPECIALS'};
+            $swash = \%revised_swash;
+
+            $utf8::SwashInfo{$type}{'missing'} = 0;
+            $utf8::SwashInfo{$type}{'format'} = 'a';
+        }
+    }
+
+    if ($swash->{'EXTRAS'}) {
+        carp __PACKAGE__, "::prop_invmap: swash returned for $prop unexpectedly has EXTRAS magic";
+        return;
+    }
+
+    # Here, have a valid swash return.  Examine it.
+    my $returned_prop = $swash->{'TYPE'};
+
+    # All properties but binary ones should have 'missing' and 'format'
+    # entries
+    $missing = $utf8::SwashInfo{$returned_prop}{'missing'};
+    $missing = 'N' unless defined $missing;
+
+    $format = $utf8::SwashInfo{$returned_prop}{'format'};
+    $format = 'b' unless defined $format;
+
+    my $requires_adjustment = $format =~ /^a/;
+
+    # The LIST input lines look like:
+    # ...
+    # 0374\t\tCommon
+    # 0375\t0377\tGreek   # [3]
+    # 037A\t037D\tGreek   # [4]
+    # 037E\t\tCommon
+    # 0384\t\tGreek
+    # ...
+    #
+    # Convert them to like
+    # 0374 => Common
+    # 0375 => Greek
+    # 0378 => $missing
+    # 037A => Greek
+    # 037E => Common
+    # 037F => $missing
+    # 0384 => Greek
+    #
+    # For binary properties, the final non-comment column is absent, and
+    # assumed to be 'Y'.
+
+    foreach my $range (split "\n", $swash->{'LIST'}) {
+        $range =~ s/ \s* (?: \# .* )? $ //xg; # rmv trailing space, comments
+
+        # Find the beginning and end of the range on the line
+        my ($hex_begin, $hex_end, $map) = split "\t", $range;
+        my $begin = hex $hex_begin;
+        my $end = (defined $hex_end && $hex_end ne "")
+                  ? hex $hex_end
+                  : $begin;
+
+        # Each time through the loop (after the first):
+        # $invlist[-2] contains the beginning of the previous range processed
+        # $invlist[-1] contains the end+1 of the previous range processed
+        # $invmap[-2] contains the value of the previous range processed
+        # $invmap[-1] contains the default value for missing ranges ($missing)
+        #
+        # Thus, things are set up for the typical case of a new non-adjacent
+        # range of non-missings to be added.  But, if the new range is
+        # adjacent, it needs to replace the [-1] element; and if the new
+        # range is a multiple value of the previous one, it needs to be added
+        # to the [-2] map element.
+
+        # The first time through, everything will be empty.  If the property
+        # doesn't have a range that begins at 0, add one that maps to $missing
+        if (! @invlist) {
+            if ($begin != 0) {
+                push @invlist, 0;
+                push @invmap, $missing;
+            }
+        }
+        elsif (@invlist > 1 && $invlist[-2] == $begin) {
+
+            # Here we handle the case where the input has multiple entries for
+            # each code point.  mktables should have made sure that each such
+            # range contains only one code point.  At this point, $invlist[-1]
+            # is the $missing that was added at the end of the last loop
+            # iteration, and [-2] is the last real input code point, and that
+            # code point is the same as the one we are adding now, making the
+            # new one a multiple entry.  Add it to the existing entry, either
+            # by pushing it to the existing list of multiple entries, or
+            # converting the single current entry into a list with both on it.
+            # This is all we need do for this iteration.
+
+            if ($end != $begin) {
+                croak __PACKAGE__, ":prop_invmap: Multiple maps per code point in '$prop' require single-element ranges: begin=$begin, end=$end, map=$map";
+            }
+            if (! ref $invmap[-2]) {
+                $invmap[-2] = [ $invmap[-2], $map ];
+            }
+            else {
+                push @{$invmap[-2]}, $map;
+            }
+            $has_multiples = 1;
+            next;
+        }
+        elsif ($invlist[-1] == $begin) {
+
+            # If the input isn't in the most compact form, so that there are
+            # two adjacent ranges that map to the same thing, they should be
+            # combined (EXCEPT where the arrays require adjustments, in which
+            # case everything is already set up correctly).  This happens in
+            # our constructed dt mapping, as Element [-2] is the map for the
+            # latest range so far processed.  Just set the beginning point of
+            # the map to $missing (in invlist[-1]) to 1 beyond where this
+            # range ends.  For example, in
+            # 12\t13\tXYZ
+            # 14\t17\tXYZ
+            # we have set it up so that it looks like
+            # 12 => XYZ
+            # 14 => $missing
+            #
+            # We now see that it should be
+            # 12 => XYZ
+            # 18 => $missing
+            if (! $requires_adjustment && @invlist > 1 && ( (defined $map)
+                                  ? $invmap[-2] eq $map
+                                  : $invmap[-2] eq 'Y'))
+            {
+                $invlist[-1] = $end + 1;
+                next;
+            }
+
+            # Here, the range started in the previous iteration that maps to
+            # $missing starts at the same code point as this range.  That
+            # means there is no gap to fill that that range was intended for,
+            # so we just pop it off the parallel arrays.
+            pop @invlist;
+            pop @invmap;
+        }
+
+        # Add the range beginning, and the range's map.
+        push @invlist, $begin;
+        if ($returned_prop eq 'ToDm') {
+
+            # The decomposition maps are either a line like <hangul syllable>
+            # which are to be taken as is; or a sequence of code points in hex
+            # and separated by blanks.  Convert them to decimal, and if there
+            # is more than one, use an anonymous array as the map.
+            if ($map =~ /^ < /x) {
+                push @invmap, $map;
+            }
+            else {
+                my @map = split " ", $map;
+                if (@map == 1) {
+                    push @invmap, $map[0];
+                }
+                else {
+                    push @invmap, \@map;
+                }
+            }
+        }
+        else {
+
+            # Otherwise, convert hex formatted list entries to decimal; add a
+            # 'Y' map for the missing value in binary properties, or
+            # otherwise, use the input map unchanged.
+            $map = ($format eq 'x')
+                ? hex $map
+                : $format eq 'b'
+                  ? 'Y'
+                  : $map;
+            push @invmap, $map;
+        }
+
+        # We just started a range.  It ends with $end.  The gap between it and
+        # the next element in the list must be filled with a range that maps
+        # to the default value.  If there is no gap, the next iteration will
+        # pop this, unless there is no next iteration, and we have filled all
+        # of the Unicode code space, so check for that and skip.
+        if ($end < $MAX_UNICODE_CODEPOINT) {
+            push @invlist, $end + 1;
+            push @invmap, $missing;
+        }
+    }
+
+    # If the property is empty, make all code points use the value for missing
+    # ones.
+    if (! @invlist) {
+        push @invlist, 0;
+        push @invmap, $missing;
+    }
+
+    # And add in standard element that all non-Unicode code points map to:
+    # $missing
+    push @invlist, $MAX_UNICODE_CODEPOINT + 1;
+    push @invmap, $missing;
+
+    # The second component of the map are those values that require
+    # non-standard specification, stored in SPECIALS.  These override any
+    # duplicate code points in LIST.  If we are using a proxy, we may have
+    # already set $overrides based on the proxy.
+    $overrides = $swash->{'SPECIALS'} unless defined $overrides;
+    if ($overrides) {
+
+        # A negative $overrides implies that the SPECIALS should be ignored,
+        # and a simple 'a' list is the value.
+        if ($overrides < 0) {
+            $format = 'a';
+        }
+        else {
+
+            # Currently, all overrides are for properties that normally map to
+            # single code points, but now some will map to lists of code
+            # points (but there is an exception case handled below).
+            $format = 'al';
+
+            # Look through the overrides.
+            foreach my $cp_maybe_utf8 (keys %$overrides) {
+                my $cp;
+                my @map;
+
+                # If the overrides came from SPECIALS, the code point keys are
+                # packed UTF-8.
+                if ($overrides == $swash->{'SPECIALS'}) {
+                    $cp = unpack("C0U", $cp_maybe_utf8);
+                    @map = unpack "U0U*", $swash->{'SPECIALS'}{$cp_maybe_utf8};
+
+                    # The empty string will show up unpacked as an empty
+                    # array.
+                    $format = 'ale' if @map == 0;
+                }
+                else {
+
+                    # But if we generated the overrides, we didn't bother to
+                    # pack them, and we, so far, do this only for properties
+                    # that are 'a' ones.
+                    $cp = $cp_maybe_utf8;
+                    @map = hex $overrides->{$cp};
+                    $format = 'a';
+                }
+
+                # Find the range that the override applies to.
+                my $i = _search_invlist(\@invlist, $cp);
+                if ($cp < $invlist[$i] || $cp >= $invlist[$i + 1]) {
+                    croak __PACKAGE__, "::prop_invmap: wrong_range, cp=$cp; i=$i, current=$invlist[$i]; next=$invlist[$i + 1]"
+                }
+
+                # And what that range currently maps to
+                my $cur_map = $invmap[$i];
+
+                # If there is a gap between the next range and the code point
+                # we are overriding, we have to add elements to both arrays to
+                # fill that gap, using the map that applies to it, which is
+                # $cur_map, since it is part of the current range.
+                if ($invlist[$i + 1] > $cp + 1) {
+                    #use feature 'say';
+                    #say "Before splice:";
+                    #say 'i-2=[', $i-2, ']', sprintf("%04X maps to %s", $invlist[$i-2], $invmap[$i-2]) if $i >= 2;
+                    #say 'i-1=[', $i-1, ']', sprintf("%04X maps to %s", $invlist[$i-1], $invmap[$i-1]) if $i >= 1;
+                    #say 'i  =[', $i, ']', sprintf("%04X maps to %s", $invlist[$i], $invmap[$i]);
+                    #say 'i+1=[', $i+1, ']', sprintf("%04X maps to %s", $invlist[$i+1], $invmap[$i+1]) if $i < @invlist + 1;
+                    #say 'i+2=[', $i+2, ']', sprintf("%04X maps to %s", $invlist[$i+2], $invmap[$i+2]) if $i < @invlist + 2;
+
+                    splice @invlist, $i + 1, 0, $cp + 1;
+                    splice @invmap, $i + 1, 0, $cur_map;
+
+                    #say "After splice:";
+                    #say 'i-2=[', $i-2, ']', sprintf("%04X maps to %s", $invlist[$i-2], $invmap[$i-2]) if $i >= 2;
+                    #say 'i-1=[', $i-1, ']', sprintf("%04X maps to %s", $invlist[$i-1], $invmap[$i-1]) if $i >= 1;
+                    #say 'i  =[', $i, ']', sprintf("%04X maps to %s", $invlist[$i], $invmap[$i]);
+                    #say 'i+1=[', $i+1, ']', sprintf("%04X maps to %s", $invlist[$i+1], $invmap[$i+1]) if $i < @invlist + 1;
+                    #say 'i+2=[', $i+2, ']', sprintf("%04X maps to %s", $invlist[$i+2], $invmap[$i+2]) if $i < @invlist + 2;
+                }
+
+                # If the remaining portion of the range is multiple code
+                # points (ending with the one we are replacing, guaranteed by
+                # the earlier splice).  We must split it into two
+                if ($invlist[$i] < $cp) {
+                    $i++;   # Compensate for the new element
+
+                    #use feature 'say';
+                    #say "Before splice:";
+                    #say 'i-2=[', $i-2, ']', sprintf("%04X maps to %s", $invlist[$i-2], $invmap[$i-2]) if $i >= 2;
+                    #say 'i-1=[', $i-1, ']', sprintf("%04X maps to %s", $invlist[$i-1], $invmap[$i-1]) if $i >= 1;
+                    #say 'i  =[', $i, ']', sprintf("%04X maps to %s", $invlist[$i], $invmap[$i]);
+                    #say 'i+1=[', $i+1, ']', sprintf("%04X maps to %s", $invlist[$i+1], $invmap[$i+1]) if $i < @invlist + 1;
+                    #say 'i+2=[', $i+2, ']', sprintf("%04X maps to %s", $invlist[$i+2], $invmap[$i+2]) if $i < @invlist + 2;
+
+                    splice @invlist, $i, 0, $cp;
+                    splice @invmap, $i, 0, 'dummy';
+
+                    #say "After splice:";
+                    #say 'i-2=[', $i-2, ']', sprintf("%04X maps to %s", $invlist[$i-2], $invmap[$i-2]) if $i >= 2;
+                    #say 'i-1=[', $i-1, ']', sprintf("%04X maps to %s", $invlist[$i-1], $invmap[$i-1]) if $i >= 1;
+                    #say 'i  =[', $i, ']', sprintf("%04X maps to %s", $invlist[$i], $invmap[$i]);
+                    #say 'i+1=[', $i+1, ']', sprintf("%04X maps to %s", $invlist[$i+1], $invmap[$i+1]) if $i < @invlist + 1;
+                    #say 'i+2=[', $i+2, ']', sprintf("%04X maps to %s", $invlist[$i+2], $invmap[$i+2]) if $i < @invlist + 2;
+                }
+
+                # Here, the range we are overriding contains a single code
+                # point.  The result could be the empty string, a single
+                # value, or a list.  If the last case, we use an anonymous
+                # array.
+                $invmap[$i] = (scalar @map == 0)
+                               ? ""
+                               : (scalar @map > 1)
+                                  ? \@map
+                                  : $map[0];
+            }
+        }
+    }
+    elsif ($format eq 'x') {
+
+        # All hex-valued properties are really to code points, and have been
+        # converted to decimal.
+        $format = 's';
+    }
+    elsif ($returned_prop eq 'ToDm') {
+        $format = 'ad';
+    }
+    elsif ($format eq 'sw') { # blank-separated elements to form a list.
+        map { $_ = [ split " ", $_  ] if $_ =~ / / } @invmap;
+        $format = 'sl';
+    }
+    elsif ($returned_prop eq 'ToNameAlias') {
+
+        # This property currently doesn't have any lists, but theoretically
+        # could
+        $format = 'sl';
+    }
+    elsif ($returned_prop eq 'ToPerlDecimalDigit') {
+        $format = 'ae';
+    }
+    elsif ($returned_prop eq 'ToNv') {
+
+        # The one property that has this format is stored as a delta, so needs
+        # to indicate that need to add code point to it.
+        $format = 'ar';
+    }
+    elsif ($format ne 'n' && $format ne 'a') {
+
+        # All others are simple scalars
+        $format = 's';
+    }
+    if ($has_multiples &&  $format !~ /l/) {
+	croak __PACKAGE__, "::prop_invmap: Wrong format '$format' for prop_invmap('$prop'); should indicate has lists";
+    }
+
+    return (\@invlist, \@invmap, $format, $missing);
+}
+
 =head2 Unicode::UCD::UnicodeVersion
 
 This returns the version of the Unicode Character Database, in other words, the
@@ -1364,11 +3533,13 @@
 sub UnicodeVersion {
     unless (defined $UNICODEVERSION) {
 	openunicode(\$VERSIONFH, "version");
+	local $/ = "\n";
 	chomp($UNICODEVERSION = <$VERSIONFH>);
 	close($VERSIONFH);
 	croak __PACKAGE__, "::VERSION: strange version '$UNICODEVERSION'"
 	    unless $UNICODEVERSION =~ /^\d+(?:\.\d+)+$/;
     }
+    $v_unicode_version = pack "C*", split /\./, $UNICODEVERSION;
     return $UNICODEVERSION;
 }
 
@@ -1377,7 +3548,8 @@
 The difference between a block and a script is that scripts are closer
 to the linguistic notion of a set of code points required to present
 languages, while block is more of an artifact of the Unicode code point
-numbering and separation into blocks of (mostly) 256 code points.
+numbering and separation into blocks of consecutive code points (so far the
+size of a block is some multiple of 16, like 128 or 256).
 
 For example the Latin B<script> is spread over several B<blocks>, such
 as C<Basic Latin>, C<Latin 1 Supplement>, C<Latin Extended-A>, and
@@ -1397,14 +3569,41 @@
 while C<\p{Blk=...}> is used for blocks (e.g. C<\p{Blk=Tibetan}> matches
 any of the 256 code points in the Tibetan block).
 
+=head2 Old-style versus new-style block names
 
-=head2 Implementation Note
+Unicode publishes the names of blocks in two different styles, though the two
+are equivalent under Unicode's loose matching rules.
 
-The first use of charinfo() opens a read-only filehandle to the Unicode
-Character Database (the database is included in the Perl distribution).
-The filehandle is then kept open for further queries.  In other words,
-if you are wondering where one of your filehandles went, that's where.
+The original style uses blanks and hyphens in the block names (except for
+C<No_Block>), like so:
 
+ Miscellaneous Mathematical Symbols-B
+
+The newer style replaces these with underscores, like this:
+
+ Miscellaneous_Mathematical_Symbols_B
+
+This newer style is consistent with the values of other Unicode properties.
+To preserve backward compatibility, all the functions in Unicode::UCD that
+return block names (except one) return the old-style ones.  That one function,
+L</prop_value_aliases()> can be used to convert from old-style to new-style:
+
+ my $new_style = prop_values_aliases("block", $old_style);
+
+Perl also has single-form extensions that refer to blocks, C<In_Cyrillic>,
+meaning C<Block=Cyrillic>.  These have always been written in the new style.
+
+To convert from new-style to old-style, follow this recipe:
+
+ $old_style = charblock((prop_invlist("block=$new_style"))[0]);
+
+(which finds the range of code points in the block using C<prop_invlist>,
+gets the lower end of the range (0th element) and then looks up the old name
+for its block using C<charblock>).
+
+Note that starting in Unicode 6.1, many of the block names have shorter
+synonyms.  These are always given in the new style.
+
 =head1 BUGS
 
 Does not yet support EBCDIC platforms.
@@ -1411,7 +3610,7 @@
 
 =head1 AUTHOR
 
-Jarkko Hietaniemi
+Jarkko Hietaniemi.  Now maintained by perl5 porters.
 
 =cut
 


Property changes on: vendor/perl/dist/lib/Unicode/UCD.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/Unicode/UCD.t
===================================================================
--- vendor/perl/dist/lib/Unicode/UCD.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/Unicode/UCD.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,10 +17,11 @@
 use Unicode::UCD;
 use Test::More;
 
-BEGIN { plan tests => 271 };
-
 use Unicode::UCD 'charinfo';
 
+my $input_record_separator = 7; # Make sure Unicode::UCD isn't affected by
+$/ = $input_record_separator;   # setting this.
+
 my $charinfo;
 
 is(charinfo(0x110000), undef, "Verify charinfo() of non-unicode is undef");
@@ -241,6 +242,50 @@
 is($charinfo->{block},          'Latin-1 Supplement');
 is($charinfo->{script},         'Common');
 
+# This is to test a case where both simple and full lowercases exist and
+# differ
+$charinfo = charinfo(0x130);
+
+is($charinfo->{code},           '0130', 'LATIN CAPITAL LETTER I WITH DOT ABOVE');
+is($charinfo->{name},           'LATIN CAPITAL LETTER I WITH DOT ABOVE');
+is($charinfo->{category},       'Lu');
+is($charinfo->{combining},      '0');
+is($charinfo->{bidi},           'L');
+is($charinfo->{decomposition},  '0049 0307');
+is($charinfo->{decimal},        '');
+is($charinfo->{digit},          '');
+is($charinfo->{numeric},        '');
+is($charinfo->{mirrored},       'N');
+is($charinfo->{unicode10},      'LATIN CAPITAL LETTER I DOT');
+is($charinfo->{comment},        '');
+is($charinfo->{upper},          '');
+is($charinfo->{lower},          '0069');
+is($charinfo->{title},          '');
+is($charinfo->{block},          'Latin Extended-A');
+is($charinfo->{script},         'Latin');
+
+# This is to test a case where both simple and full uppercases exist and
+# differ
+$charinfo = charinfo(0x1F80);
+
+is($charinfo->{code},           '1F80', 'GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI');
+is($charinfo->{name},           'GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI');
+is($charinfo->{category},       'Ll');
+is($charinfo->{combining},      '0');
+is($charinfo->{bidi},           'L');
+is($charinfo->{decomposition},  '1F00 0345');
+is($charinfo->{decimal},        '');
+is($charinfo->{digit},          '');
+is($charinfo->{numeric},        '');
+is($charinfo->{mirrored},       'N');
+is($charinfo->{unicode10},      '');
+is($charinfo->{comment},        '');
+is($charinfo->{upper},          '1F88');
+is($charinfo->{lower},          '');
+is($charinfo->{title},          '1F88');
+is($charinfo->{block},          'Greek Extended');
+is($charinfo->{script},         'Greek');
+
 use Unicode::UCD qw(charblocks charscripts);
 
 my $charblocks = charblocks();
@@ -298,7 +343,7 @@
 
 # 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, '6.0.0', 'UnicodeVersion');
+is(Unicode::UCD::UnicodeVersion, '6.2.0', 'UnicodeVersion');
 
 use Unicode::UCD qw(compexcl);
 
@@ -329,9 +374,9 @@
 is($casefold->{simple}, "", 'casefold 0xDF simple');
 is($casefold->{turkic}, "", 'casefold 0xDF turkic');
 
-# Do different tests depending on if version <= 3.1, or not.
-(my $version = Unicode::UCD::UnicodeVersion) =~ /^(\d+)\.(\d+)/;
-if (defined $1 && ($1 <= 2 || $1 == 3 && defined $2 && $2 <= 1)) {
+# Do different tests depending on if version < 3.2, or not.
+my $v_unicode_version = pack "C*", split /\./, Unicode::UCD::UnicodeVersion();
+if ($v_unicode_version lt v3.2.0) {
 	$casefold = casefold(0x130);
 
 	is($casefold->{code}, '0130', 'casefold 0x130 code');
@@ -425,11 +470,13 @@
 
 {
     my $r1 = charscript('Latin');
-    my $n1 = @$r1;
-    is($n1, 30, "number of ranges in Latin script (Unicode 6.0.0)");
-    shift @$r1 while @$r1;
-    my $r2 = charscript('Latin');
-    is(@$r2, $n1, "modifying results should not mess up internal caches");
+    if (ok(defined $r1, "Found Latin script")) {
+        my $n1 = @$r1;
+        is($n1, 30, "number of ranges in Latin script (Unicode 6.1.0)");
+        shift @$r1 while @$r1;
+        my $r2 = charscript('Latin');
+        is(@$r2, $n1, "modifying results should not mess up internal caches");
+    }
 }
 
 {
@@ -457,8 +504,8 @@
 is(num("0"), 0, 'Verify num("0") == 0');
 is(num("98765"), 98765, 'Verify num("98765") == 98765');
 ok(! defined num("98765\N{FULLWIDTH DIGIT FOUR}"), 'Verify num("98765\N{FULLWIDTH DIGIT FOUR}") isnt defined');
-is(num("\N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE DIGIT ONE}"), 21, 'Verify \N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE DIGIT ONE}" == 21');
-ok(! defined num("\N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE THAM DIGIT ONE}"), 'Verify \N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE THAM DIGIT ONE}" isnt defined');
+is(num("\N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE DIGIT ONE}"), 21, 'Verify num("\N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE DIGIT ONE}") == 21');
+ok(! defined num("\N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE THAM DIGIT ONE}"), 'Verify num("\N{NEW TAI LUE DIGIT TWO}\N{NEW TAI LUE THAM DIGIT ONE}") isnt defined');
 is(num("\N{CHAM DIGIT ZERO}\N{CHAM DIGIT THREE}"), 3, 'Verify num("\N{CHAM DIGIT ZERO}\N{CHAM DIGIT THREE}") == 3');
 ok(! defined num("\N{CHAM DIGIT ZERO}\N{JAVANESE DIGIT NINE}"), 'Verify num("\N{CHAM DIGIT ZERO}\N{JAVANESE DIGIT NINE}") isnt defined');
 is(num("\N{SUPERSCRIPT TWO}"), 2, 'Verify num("\N{SUPERSCRIPT TWO} == 2');
@@ -465,3 +512,1519 @@
 is(num("\N{ETHIOPIC NUMBER TEN THOUSAND}"), 10000, 'Verify num("\N{ETHIOPIC NUMBER TEN THOUSAND}") == 10000');
 is(num("\N{NORTH INDIC FRACTION ONE HALF}"), .5, 'Verify num("\N{NORTH INDIC FRACTION ONE HALF}") == .5');
 is(num("\N{U+12448}"), 9, 'Verify num("\N{U+12448}") == 9');
+is(num("\N{U+5146}"), 1000000000000, 'Verify num("\N{U+5146}") == 1000000000000');
+
+# Create a user-defined property
+sub InKana {<<'END'}
+3040    309F
+30A0    30FF
+END
+
+use Unicode::UCD qw(prop_aliases);
+
+is(prop_aliases(undef), undef, "prop_aliases(undef) returns <undef>");
+is(prop_aliases("unknown property"), undef,
+                "prop_aliases(<unknown property>) returns <undef>");
+is(prop_aliases("InKana"), undef,
+                "prop_aliases(<user-defined property>) returns <undef>");
+is(prop_aliases("Perl_Decomposition_Mapping"), undef, "prop_aliases('Perl_Decomposition_Mapping') returns <undef> since internal-Perl-only");
+is(prop_aliases("Perl_Charnames"), undef,
+    "prop_aliases('Perl_Charnames') returns <undef> since internal-Perl-only");
+is(prop_aliases("isgc"), undef,
+    "prop_aliases('isgc') returns <undef> since is not covered Perl extension");
+is(prop_aliases("Is_Is_Any"), undef,
+                "prop_aliases('Is_Is_Any') returns <undef> since two is's");
+
+require 'utf8_heavy.pl';
+require "unicore/Heavy.pl";
+
+# Keys are lists of properties. Values are defined if have been tested.
+my %props;
+
+# To test for loose matching, add in the characters that are ignored there.
+my $extra_chars = "-_ ";
+
+# The one internal property we accept
+$props{'Perl_Decimal_Digit'} = 1;
+my @list = prop_aliases("perldecimaldigit");
+is_deeply(\@list,
+          [ "Perl_Decimal_Digit",
+            "Perl_Decimal_Digit"
+          ], "prop_aliases('perldecimaldigit') returns Perl_Decimal_Digit as both short and full names");
+
+# Get the official Unicode property name synonyms and test them.
+
+SKIP: {
+skip "PropertyAliases.txt is not in this Unicode version", 1 if $v_unicode_version lt v3.2.0;
+open my $props, "<", "../lib/unicore/PropertyAliases.txt"
+                or die "Can't open Unicode PropertyAliases.txt";
+local $/ = "\n";
+while (<$props>) {
+    s/\s*#.*//;           # Remove comments
+    next if /^\s* $/x;    # Ignore empty and comment lines
+
+    chomp;
+    local $/ = $input_record_separator;
+    my $count = 0;  # 0th field in line is short name; 1th is long name
+    my $short_name;
+    my $full_name;
+    my @names_via_short;
+    foreach my $alias (split /\s*;\s*/) {    # Fields are separated by
+                                             # semi-colons
+        # Add in the characters that are supposed to be ignored, to test loose
+        # matching, which the tested function does on all inputs.
+        my $mod_name = "$extra_chars$alias";
+
+        my $loose = &utf8::_loose_name(lc $alias);
+
+        # Indicate we have tested this.
+        $props{$loose} = 1;
+
+        my @all_names = prop_aliases($mod_name);
+        if (grep { $_ eq $loose } @Unicode::UCD::suppressed_properties) {
+            is(@all_names, 0, "prop_aliases('$mod_name') returns undef since $alias is not installed");
+            next;
+        }
+        elsif (! @all_names) {
+            fail("prop_aliases('$mod_name')");
+            diag("'$alias' is unknown to prop_aliases()");
+            next;
+        }
+
+        if ($count == 0) {  # Is short name
+
+            @names_via_short = prop_aliases($mod_name);
+
+            # If the 0th test fails, no sense in continuing with the others
+            last unless is($names_via_short[0], $alias,
+                    "prop_aliases: '$alias' is the short name for '$mod_name'");
+            $short_name = $alias;
+        }
+        elsif ($count == 1) {   # Is full name
+
+            # Some properties have the same short and full name; no sense
+            # repeating the test if the same.
+            if ($alias ne $short_name) {
+                my @names_via_full = prop_aliases($mod_name);
+                is_deeply(\@names_via_full, \@names_via_short, "prop_aliases() returns the same list for both '$short_name' and '$mod_name'");
+            }
+
+            # Tests scalar context
+            is(prop_aliases($short_name), $alias,
+                "prop_aliases: '$alias' is the long name for '$short_name'");
+        }
+        else {  # Is another alias
+            is_deeply(\@all_names, \@names_via_short, "prop_aliases() returns the same list for both '$short_name' and '$mod_name'");
+            ok((grep { $_ =~ /^$alias$/i } @all_names),
+                "prop_aliases: '$alias' is listed as an alias for '$mod_name'");
+        }
+
+        $count++;
+    }
+}
+} # End of SKIP block
+
+# Now test anything we can find that wasn't covered by the tests of the
+# official properties.  We have no way of knowing if mktables omitted a Perl
+# extension or not, but we do the best we can from its generated lists
+
+foreach my $alias (keys %utf8::loose_to_file_of) {
+    next if $alias =~ /=/;
+    my $lc_name = lc $alias;
+    my $loose = &utf8::_loose_name($lc_name);
+    next if exists $props{$loose};  # Skip if already tested
+    $props{$loose} = 1;
+    my $mod_name = "$extra_chars$alias";    # Tests loose matching
+    my @aliases = prop_aliases($mod_name);
+    my $found_it = grep { &utf8::_loose_name(lc $_) eq $lc_name } @aliases;
+    if ($found_it) {
+        pass("prop_aliases: '$lc_name' is listed as an alias for '$mod_name'");
+    }
+    elsif ($lc_name =~ /l[_&]$/) {
+
+        # These two names are special in that they don't appear in the
+        # returned list because they are discouraged from use.  Verify
+        # that they return the same list as a non-discouraged version.
+        my @LC = prop_aliases('Is_LC');
+        is_deeply(\@aliases, \@LC, "prop_aliases: '$lc_name' returns the same list as 'Is_LC'");
+    }
+    else {
+        my $stripped = $lc_name =~ s/^is//;
+
+        # Could be that the input includes a prefix 'is', which is rarely
+        # returned as an alias, so having successfully stripped it off above,
+        # try again.
+        if ($stripped) {
+            $found_it = grep { &utf8::_loose_name(lc $_) eq $lc_name } @aliases;
+        }
+
+        # If that didn't work, it could be that it's a block, which is always
+        # returned with a leading 'In_' to avoid ambiguity.  Try comparing
+        # with that stripped off.
+        if (! $found_it) {
+            $found_it = grep { &utf8::_loose_name(s/^In_(.*)/\L$1/r) eq $lc_name }
+                              @aliases;
+            # Could check that is a real block, but tests for invmap will
+            # likely pickup any errors, since this will be tested there.
+            $lc_name = "in$lc_name" if $found_it;   # Change for message below
+        }
+        my $message = "prop_aliases: '$lc_name' is listed as an alias for '$mod_name'";
+        ($found_it) ? pass($message) : fail($message);
+    }
+}
+
+my $done_equals = 0;
+foreach my $alias (keys %utf8::stricter_to_file_of) {
+    if ($alias =~ /=/) {    # Only test one case where there is an equals
+        next if $done_equals;
+        $done_equals = 1;
+    }
+    my $lc_name = lc $alias;
+    my @list = prop_aliases($alias);
+    if ($alias =~ /^_/) {
+        is(@list, 0, "prop_aliases: '$lc_name' returns an empty list since it is internal_only");
+    }
+    elsif ($alias =~ /=/) {
+        is(@list, 0, "prop_aliases: '$lc_name' returns an empty list since is illegal property name");
+    }
+    else {
+        ok((grep { lc $_ eq $lc_name } @list),
+                "prop_aliases: '$lc_name' is listed as an alias for '$alias'");
+    }
+}
+
+use Unicode::UCD qw(prop_value_aliases);
+
+is(prop_value_aliases("unknown property", "unknown value"), undef,
+    "prop_value_aliases(<unknown property>, <unknown value>) returns <undef>");
+is(prop_value_aliases(undef, undef), undef,
+                           "prop_value_aliases(undef, undef) returns <undef>");
+is((prop_value_aliases("na", "A")), "A", "test that prop_value_aliases returns its input for properties that don't have synonyms");
+is(prop_value_aliases("isgc", "C"), undef, "prop_value_aliases('isgc', 'C') returns <undef> since is not covered Perl extension");
+is(prop_value_aliases("gc", "isC"), undef, "prop_value_aliases('gc', 'isC') returns <undef> since is not covered Perl extension");
+
+# We have no way of knowing if mktables omitted a Perl extension that it
+# shouldn't have, but we can check if it omitted an official Unicode property
+# name synonym.  And for those, we can check if the short and full names are
+# correct.
+
+my %pva_tested;   # List of things already tested.
+
+SKIP: {
+skip "PropValueAliases.txt is not in this Unicode version", 1 if $v_unicode_version lt v3.2.0;
+open my $propvalues, "<", "../lib/unicore/PropValueAliases.txt"
+     or die "Can't open Unicode PropValueAliases.txt";
+local $/ = "\n";
+while (<$propvalues>) {
+    s/\s*#.*//;           # Remove comments
+    next if /^\s* $/x;    # Ignore empty and comment lines
+    chomp;
+    local $/ = $input_record_separator;
+
+    # Fix typo in official input file
+    s/CCC133/CCC132/g if $v_unicode_version eq v6.1.0;
+
+    my @fields = split /\s*;\s*/; # Fields are separated by semi-colons
+    my $prop = shift @fields;   # 0th field is the property,
+    my $count = 0;  # 0th field in line (after shifting off the property) is
+                    # short name; 1th is long name
+    my $short_name;
+    my @names_via_short;    # Saves the values between iterations
+
+    # The property on the lhs of the = is always loosely matched.  Add in
+    # characters that are ignored under loose matching to test that
+    my $mod_prop = "$extra_chars$prop";
+
+    if ($fields[0] eq 'n/a') {  # See comments in input file, essentially
+                                # means full name and short name are identical
+        $fields[0] = $fields[1];
+    }
+    elsif ($fields[0] ne $fields[1]
+           && &utf8::_loose_name(lc $fields[0])
+               eq &utf8::_loose_name(lc $fields[1])
+           && $fields[1] !~ /[[:upper:]]/)
+    {
+        # Also, there is a bug in the file in which "n/a" is omitted, and
+        # the two fields are identical except for case, and the full name
+        # is all lower case.  Copy the "short" name unto the full one to
+        # give it some upper case.
+
+        $fields[1] = $fields[0];
+    }
+
+    # The ccc property in the file is special; has an extra numeric field
+    # (0th), which should go at the end, since we use the next two fields as
+    # the short and full names, respectively.  See comments in input file.
+    splice (@fields, 0, 0, splice(@fields, 1, 2)) if $prop eq 'ccc';
+
+    my $loose_prop = &utf8::_loose_name(lc $prop);
+    my $suppressed = grep { $_ eq $loose_prop }
+                          @Unicode::UCD::suppressed_properties;
+    foreach my $value (@fields) {
+        if ($suppressed) {
+            is(prop_value_aliases($prop, $value), undef, "prop_value_aliases('$prop', '$value') returns undef for suppressed property $prop");
+            next;
+        }
+        elsif (grep { $_ eq ("$loose_prop=" . &utf8::_loose_name(lc $value)) } @Unicode::UCD::suppressed_properties) {
+            is(prop_value_aliases($prop, $value), undef, "prop_value_aliases('$prop', '$value') returns undef for suppressed property $prop=$value");
+            next;
+        }
+
+        # Add in test for loose matching.
+        my $mod_value = "$extra_chars$value";
+
+        # If the value is a number, optionally negative, including a floating
+        # point or rational numer, it should be only strictly matched, so the
+        # loose matching should fail.
+        if ($value =~ / ^ -? \d+ (?: [\/.] \d+ )? $ /x) {
+            is(prop_value_aliases($mod_prop, $mod_value), undef, "prop_value_aliases('$mod_prop', '$mod_value') returns undef because '$mod_value' should be strictly matched");
+
+            # And reset so below tests just the strict matching.
+            $mod_value = $value;
+        }
+
+        if ($count == 0) {
+
+            @names_via_short = prop_value_aliases($mod_prop, $mod_value);
+
+            # If the 0th test fails, no sense in continuing with the others
+            last unless is($names_via_short[0], $value, "prop_value_aliases: In '$prop', '$value' is the short name for '$mod_value'");
+            $short_name = $value;
+        }
+        elsif ($count == 1) {
+
+            # Some properties have the same short and full name; no sense
+            # repeating the test if the same.
+            if ($value ne $short_name) {
+                my @names_via_full =
+                            prop_value_aliases($mod_prop, $mod_value);
+                is_deeply(\@names_via_full, \@names_via_short, "In '$prop', prop_value_aliases() returns the same list for both '$short_name' and '$mod_value'");
+            }
+
+            # Tests scalar context
+            is(prop_value_aliases($prop, $short_name), $value, "'$value' is the long name for prop_value_aliases('$prop', '$short_name')");
+        }
+        else {
+            my @all_names = prop_value_aliases($mod_prop, $mod_value);
+            is_deeply(\@all_names, \@names_via_short, "In '$prop', prop_value_aliases() returns the same list for both '$short_name' and '$mod_value'");
+            ok((grep { &utf8::_loose_name(lc $_) eq &utf8::_loose_name(lc $value) } prop_value_aliases($prop, $short_name)), "'$value' is listed as an alias for prop_value_aliases('$prop', '$short_name')");
+        }
+
+        $pva_tested{&utf8::_loose_name(lc $prop) . "=" . &utf8::_loose_name(lc $value)} = 1;
+        $count++;
+    }
+}
+}   # End of SKIP block
+
+# And test as best we can, the non-official pva's that mktables generates.
+foreach my $hash (\%utf8::loose_to_file_of, \%utf8::stricter_to_file_of) {
+    foreach my $test (keys %$hash) {
+        next if exists $pva_tested{$test};  # Skip if already tested
+
+        my ($prop, $value) = split "=", $test;
+        next unless defined $value; # prop_value_aliases() requires an input
+                                    # 'value'
+        my $mod_value;
+        if ($hash == \%utf8::loose_to_file_of) {
+
+            # Add extra characters to test loose-match rhs value
+            $mod_value = "$extra_chars$value";
+        }
+        else { # Here value is strictly matched.
+
+            # Extra elements are added by mktables to this hash so that
+            # something like "age=6.0" has a synonym of "age=6".  It's not
+            # clear to me (khw) if we should be encouraging those synonyms, so
+            # don't test for them.
+            next if $value !~ /\D/ && exists $hash->{"$prop=$value.0"};
+
+            # Verify that loose matching fails when only strict is called for.
+            next unless is(prop_value_aliases($prop, "$extra_chars$value"), undef,
+                        "prop_value_aliases('$prop', '$extra_chars$value') returns undef since '$value' should be strictly matched"),
+
+            # Strict matching does allow for underscores between digits.  Test
+            # for that.
+            $mod_value = $value;
+            while ($mod_value =~ s/(\d)(\d)/$1_$2/g) {}
+        }
+
+        # The lhs property is always loosely matched, so add in extra
+        # characters to test that.
+        my $mod_prop = "$extra_chars$prop";
+
+        if ($prop eq 'gc' && $value =~ /l[_&]$/) {
+            # These two names are special in that they don't appear in the
+            # returned list because they are discouraged from use.  Verify
+            # that they return the same list as a non-discouraged version.
+            my @LC = prop_value_aliases('gc', 'lc');
+            my @l_ = prop_value_aliases($mod_prop, $mod_value);
+            is_deeply(\@l_, \@LC, "prop_value_aliases('$mod_prop', '$mod_value) returns the same list as prop_value_aliases('gc', 'lc')");
+        }
+        else {
+            ok((grep { &utf8::_loose_name(lc $_) eq &utf8::_loose_name(lc $value) }
+                prop_value_aliases($mod_prop, $mod_value)),
+                "'$value' is listed as an alias for prop_value_aliases('$mod_prop', '$mod_value')");
+        }
+    }
+}
+
+undef %pva_tested;
+
+no warnings 'once'; # We use some values once from 'required' modules.
+
+use Unicode::UCD qw(prop_invlist prop_invmap MAX_CP);
+
+# There were some problems with caching interfering with prop_invlist() vs
+# prop_invmap() on binary properties, and also between the 3 properties where
+# Perl used the same 'To' name as another property (see utf8_heavy.pl).
+# So, before testing all of prop_invlist(),
+#   1)  call prop_invmap() to try both orders of these name issues.  This uses
+#       up two of the 3 properties;  the third will be left so that invlist()
+#       on it gets called before invmap()
+#   2)  call prop_invmap() on a generic binary property, ahead of invlist().
+# This should test that the caching works in both directions.
+
+# These properties are not stable between Unicode versions, but the first few
+# elements are; just look at the first element to see if are getting the
+# distinction right.  The general inversion map testing below will test the
+# whole thing.
+my $prop = "uc";
+my ($invlist_ref, $invmap_ref, $format, $missing) = prop_invmap($prop);
+is($format, 'al', "prop_invmap() format of '$prop' is 'al'");
+is($missing, '0', "prop_invmap() missing of '$prop' is '0'");
+is($invlist_ref->[1], 0x61, "prop_invmap('$prop') list[1] is 0x61");
+is($invmap_ref->[1], 0x41, "prop_invmap('$prop') map[1] is 0x41");
+
+$prop = "upper";
+($invlist_ref, $invmap_ref, $format, $missing) = prop_invmap($prop);
+is($format, 's', "prop_invmap() format of '$prop' is 's");
+is($missing, 'N', "prop_invmap() missing of '$prop' is 'N'");
+is($invlist_ref->[1], 0x41, "prop_invmap('$prop') list[1] is 0x41");
+is($invmap_ref->[1], 'Y', "prop_invmap('$prop') map[1] is 'Y'");
+
+$prop = "lower";
+($invlist_ref, $invmap_ref, $format, $missing) = prop_invmap($prop);
+is($format, 's', "prop_invmap() format of '$prop' is 's'");
+is($missing, 'N', "prop_invmap() missing of '$prop' is 'N'");
+is($invlist_ref->[1], 0x61, "prop_invmap('$prop') list[1] is 0x61");
+is($invmap_ref->[1], 'Y', "prop_invmap('$prop') map[1] is 'Y'");
+
+$prop = "lc";
+($invlist_ref, $invmap_ref, $format, $missing) = prop_invmap($prop);
+is($format, 'al', "prop_invmap() format of '$prop' is 'al'");
+is($missing, '0', "prop_invmap() missing of '$prop' is '0'");
+is($invlist_ref->[1], 0x41, "prop_invmap('$prop') list[1] is 0x41");
+is($invmap_ref->[1], 0x61, "prop_invmap('$prop') map[1] is 0x61");
+
+# This property is stable and small, so can test all of it
+$prop = "ASCII_Hex_Digit";
+($invlist_ref, $invmap_ref, $format, $missing) = prop_invmap($prop);
+is($format, 's', "prop_invmap() format of '$prop' is 's'");
+is($missing, 'N', "prop_invmap() missing of '$prop' is 'N'");
+is_deeply($invlist_ref, [ 0x0000, 0x0030, 0x003A, 0x0041,
+                          0x0047, 0x0061, 0x0067, 0x110000 ],
+          "prop_invmap('$prop') code point list is correct");
+is_deeply($invmap_ref, [ 'N', 'Y', 'N', 'Y', 'N', 'Y', 'N', 'N' ] ,
+          "prop_invmap('$prop') map list is correct");
+
+is(prop_invlist("Unknown property"), undef, "prop_invlist(<Unknown property>) returns undef");
+is(prop_invlist(undef), undef, "prop_invlist(undef) returns undef");
+is(prop_invlist("Any"), 2, "prop_invlist('Any') returns the number of elements in scalar context");
+my @invlist = prop_invlist("Is_Any");
+is_deeply(\@invlist, [ 0, 0x110000 ], "prop_invlist works on 'Is_' prefixes");
+is(prop_invlist("Is_Is_Any"), undef, "prop_invlist('Is_Is_Any') returns <undef> since two is's");
+
+use Storable qw(dclone);
+
+is(prop_invlist("InKana"), undef, "prop_invlist(<user-defined property returns undef>)");
+
+# The way both the tests for invlist and invmap work is that they take the
+# lists returned by the functions and construct from them what the original
+# file should look like, which are then compared with the file.  If they are
+# identical, the test passes.  What this tests isn't that the results are
+# correct, but that invlist and invmap haven't introduced errors beyond what
+# are there in the files.  As a small hedge against that, test some
+# prop_invlist() tables fully with the known correct result.  We choose
+# ASCII_Hex_Digit again, as it is stable.
+ at invlist = prop_invlist("AHex");
+is_deeply(\@invlist, [ 0x0030, 0x003A, 0x0041,
+                                 0x0047, 0x0061, 0x0067 ],
+          "prop_invlist('AHex') is exactly the expected set of points");
+ at invlist = prop_invlist("AHex=f");
+is_deeply(\@invlist, [ 0x0000, 0x0030, 0x003A, 0x0041,
+                                 0x0047, 0x0061, 0x0067 ],
+          "prop_invlist('AHex=f') is exactly the expected set of points");
+
+sub fail_with_diff ($$$$) {
+    # For use below to output better messages
+    my ($prop, $official, $constructed, $tested_function_name) = @_;
+
+    is($constructed, $official, "$tested_function_name('$prop')");
+    diag("Comment out lines " . (__LINE__ - 1) . " through " . (__LINE__ + 1) . " in '$0' on Un*x-like systems to see just the differences.  Uses the 'diff' first in your \$PATH");
+    return;
+
+    fail("$tested_function_name('$prop')");
+
+    require File::Temp;
+    my $off = File::Temp->new();
+    local $/ = "\n";
+    chomp $official;
+    print $off $official, "\n";
+    close $off || die "Can't close official";
+
+    chomp $constructed;
+    my $gend = File::Temp->new();
+    print $gend $constructed, "\n";
+    close $gend || die "Can't close gend";
+
+    my $diff = File::Temp->new();
+    system("diff $off $gend > $diff");
+
+    open my $fh, "<", $diff || die "Can't open $diff";
+    my @diffs = <$fh>;
+    diag("In the diff output below '<' marks lines from the filesystem tables;\n'>' are from $tested_function_name()");
+    diag(@diffs);
+}
+
+my %tested_invlist;
+
+# Look at everything we think that mktables tells us exists, both loose and
+# strict
+foreach my $set_of_tables (\%utf8::stricter_to_file_of, \%utf8::loose_to_file_of)
+{
+    foreach my $table (keys %$set_of_tables) {
+
+        my $mod_table;
+        my ($prop_only, $value) = split "=", $table;
+        if (defined $value) {
+
+            # If this is to be loose matched, add in characters to test that.
+            if ($set_of_tables == \%utf8::loose_to_file_of) {
+                $value = "$extra_chars$value";
+            }
+            else {  # Strict match
+
+                # Verify that loose matching fails when only strict is called
+                # for.
+                next unless is(prop_invlist("$prop_only=$extra_chars$value"), undef, "prop_invlist('$prop_only=$extra_chars$value') returns undef since should be strictly matched");
+
+                # Strict matching does allow for underscores between digits.
+                # Test for that.
+                while ($value =~ s/(\d)(\d)/$1_$2/g) {}
+            }
+
+            # The property portion in compound form specifications always
+            # matches loosely
+            $mod_table = "$extra_chars$prop_only = $value";
+        }
+        else {  # Single-form.
+
+            # Like above, use looose if required, and insert underscores
+            # between digits if strict.
+            if ($set_of_tables == \%utf8::loose_to_file_of) {
+                $mod_table = "$extra_chars$table";
+            }
+            else {
+                $mod_table = $table;
+                while ($mod_table =~ s/(\d)(\d)/$1_$2/g) {}
+            }
+        }
+
+        my @tested = prop_invlist($mod_table);
+        if ($table =~ /^_/) {
+            is(@tested, 0, "prop_invlist('$mod_table') returns an empty list since is internal-only");
+            next;
+        }
+
+        # If we have already tested a property that uses the same file, this
+        # list should be identical to the one that was tested, and can bypass
+        # everything else.
+        my $file = $set_of_tables->{$table};
+        if (exists $tested_invlist{$file}) {
+            is_deeply(\@tested, $tested_invlist{$file}, "prop_invlist('$mod_table') gave same results as its name synonym");
+            next;
+        }
+        $tested_invlist{$file} = dclone \@tested;
+
+        # A leading '!' in the file name means that it is to be inverted.
+        my $invert = $file =~ s/^!//;
+        my $official = do "unicore/lib/$file.pl";
+
+        # Get rid of any trailing space and comments in the file.
+        $official =~ s/\s*(#.*)?$//mg;
+        local $/ = "\n";
+        chomp $official;
+        $/ = $input_record_separator;
+
+        # If we are to test against an inverted file, it is easier to invert
+        # our array than the file.
+        # The file only is valid for Unicode code points, while the inversion
+        # list is valid for all possible code points.  Therefore, we must test
+        # just the Unicode part against the file.  Later we will test for
+        # the non-Unicode part.
+
+        my $before_invert;  # Saves the pre-inverted table.
+        if ($invert) {
+            $before_invert = dclone \@tested;
+            if (@tested && $tested[0] == 0) {
+                shift @tested;
+            } else {
+                unshift @tested, 0;
+            }
+            if (@tested && $tested[-1] == 0x110000) {
+                pop @tested;
+            }
+            else {
+                push @tested, 0x110000;
+            }
+        }
+
+        # Now construct a string from the list that should match the file.
+        # The file gives ranges of code points with starting and ending values
+        # in hex, like this:
+        # 0041\t005A
+        # 0061\t007A
+        # 00AA
+        # Our list has even numbered elements start ranges that are in the
+        # list, and odd ones that aren't in the list.  Therefore the odd
+        # numbered ones are one beyond the end of the previous range, but
+        # otherwise don't get reflected in the file.
+        my $tested = "";
+        my $i = 0;
+        for (; $i < @tested - 1; $i += 2) {
+            my $start = $tested[$i];
+            my $end = $tested[$i+1] - 1;
+            if ($start == $end) {
+                $tested .= sprintf("%04X\n", $start);
+            }
+            else {
+                $tested .= sprintf "%04X\t%04X\n", $start, $end;
+            }
+        }
+
+        # As mentioned earlier, the disk files only go up through Unicode,
+        # whereas the prop_invlist() ones go as high as necessary.  The
+        # comparison is only valid through max Unicode.
+        if ($i == @tested - 1 && $tested[$i] <= 0x10FFFF) {
+            $tested .= sprintf("%04X\t10FFFF\n", $tested[$i]);
+        }
+        local $/ = "\n";
+        chomp $tested;
+        $/ = $input_record_separator;
+        if ($tested ne $official) {
+            fail_with_diff($mod_table, $official, $tested, "prop_invlist");
+            next;
+        }
+
+        # Here, it matched the table.  Now need to check for if it is correct
+        # for beyond Unicode.  First, calculate if is the default table or
+        # not.  This is the same algorithm as used internally in
+        # prop_invlist(), so if it is wrong there, this test won't catch it.
+        my $prop = lc $table;
+        ($prop_only, $table) = split /\s*[:=]\s*/, $prop;
+        if (defined $table) {
+
+            # May have optional prefixed 'is'
+            $prop = &utf8::_loose_name($prop_only) =~ s/^is//r;
+            $prop = $utf8::loose_property_name_of{$prop};
+            $prop .= "=" . &utf8::_loose_name($table);
+        }
+        else {
+            $prop = &utf8::_loose_name($prop);
+        }
+        my $is_default = exists $Unicode::UCD::loose_defaults{$prop};
+
+        @tested = @$before_invert if $invert;    # Use the original
+        if (@tested % 2 == 0) {
+
+            # If there are an even number of elements, the final one starts a
+            # range (going to infinity) of code points that are not in the
+            # list.
+            if ($is_default) {
+                fail("prop_invlist('$mod_table')");
+                diag("default table doesn't goto infinity");
+                use Data::Dumper;
+                diag Dumper \@tested;
+                next;
+            }
+        }
+        else {
+            # An odd number of elements means the final one starts a range
+            # (going to infinity of code points that are in the list.
+            if (! $is_default) {
+                fail("prop_invlist('$mod_table')");
+                diag("non-default table needs to stop in the Unicode range");
+                use Data::Dumper;
+                diag Dumper \@tested;
+                next;
+            }
+        }
+
+        pass("prop_invlist('$mod_table')");
+    }
+}
+
+# Now test prop_invmap().
+
+ at list = prop_invmap("Unknown property");
+is (@list, 0, "prop_invmap(<Unknown property>) returns an empty list");
+ at list = prop_invmap(undef);
+is (@list, 0, "prop_invmap(undef) returns an empty list");
+ok (! eval "prop_invmap('gc')" && $@ ne "",
+                                "prop_invmap('gc') dies in scalar context");
+ at list = prop_invmap("_X_Begin");
+is (@list, 0, "prop_invmap(<internal property>) returns an empty list");
+ at list = prop_invmap("InKana");
+is(@list, 0, "prop_invmap(<user-defined property returns undef>)");
+ at list = prop_invmap("Perl_Decomposition_Mapping"), undef,
+is(@list, 0, "prop_invmap('Perl_Decomposition_Mapping') returns <undef> since internal-Perl-only");
+ at list = prop_invmap("Perl_Charnames"), undef,
+is(@list, 0, "prop_invmap('Perl_Charnames') returns <undef> since internal-Perl-only");
+ at list = prop_invmap("Is_Is_Any");
+is(@list, 0, "prop_invmap('Is_Is_Any') returns <undef> since two is's");
+
+# The set of properties to test on has already been compiled into %props by
+# the prop_aliases() tests.
+
+my %tested_invmaps;
+
+# Like prop_invlist(), prop_invmap() is tested by comparing the results
+# returned by the function with the tables that mktables generates.  Some of
+# these tables are directly stored as files on disk, in either the unicore or
+# unicore/To directories, and most should be listed in the mktables generated
+# hash %utf8::loose_property_to_file_of, with a few additional ones that this
+# handles specially.  For these, the files are read in directly, massaged, and
+# compared with what invmap() returns.  The SPECIALS hash in some of these
+# files overrides values in the main part of the file.
+#
+# The other properties are tested indirectly by generating all the possible
+# inversion lists for the property, and seeing if those match the inversion
+# lists returned by prop_invlist(), which has already been tested.
+
+PROPERTY:
+foreach my $prop (keys %props) {
+    my $loose_prop = &utf8::_loose_name(lc $prop);
+    my $suppressed = grep { $_ eq $loose_prop }
+                          @Unicode::UCD::suppressed_properties;
+
+    # Find the short and full names that this property goes by
+    my ($name, $full_name) = prop_aliases($prop);
+    if (! $name) {
+        if (! $suppressed) {
+            fail("prop_invmap('$prop')");
+            diag("is unknown to prop_aliases(), and we need it in order to test prop_invmap");
+        }
+        next PROPERTY;
+    }
+
+    # Normalize the short name, as it is stored in the hashes under the
+    # normalized version.
+    $name = &utf8::_loose_name(lc $name);
+
+    # Add in the characters that are supposed to be ignored to test loose
+    # matching, which the tested function applies to all properties
+    my $mod_prop = "$extra_chars$prop";
+
+    my ($invlist_ref, $invmap_ref, $format, $missing) = prop_invmap($mod_prop);
+    my $return_ref = [ $invlist_ref, $invmap_ref, $format, $missing ];
+
+    # If have already tested this property under a different name, merely
+    # compare the return from now with the saved one from before.
+    if (exists $tested_invmaps{$name}) {
+        is_deeply($return_ref, $tested_invmaps{$name}, "prop_invmap('$mod_prop') gave same results as its synonym, '$name'");
+        next PROPERTY;
+    }
+    $tested_invmaps{$name} = dclone $return_ref;
+
+    # If prop_invmap() returned nothing, is ok iff is a property whose file is
+    # not generated.
+    if ($suppressed) {
+        if (defined $format) {
+            fail("prop_invmap('$mod_prop')");
+            diag("did not return undef for suppressed property $prop");
+        }
+        next PROPERTY;
+    }
+    elsif (!defined $format) {
+        fail("prop_invmap('$mod_prop')");
+        diag("'$prop' is unknown to prop_invmap()");
+        next PROPERTY;
+    }
+
+    # The two parallel arrays must have the same number of elements.
+    if (@$invlist_ref != @$invmap_ref) {
+        fail("prop_invmap('$mod_prop')");
+        diag("invlist has "
+             . scalar @$invlist_ref
+             . " while invmap has "
+             . scalar @$invmap_ref
+             . " elements");
+        next PROPERTY;
+    }
+
+    # The last element must be for the above-Unicode code points, and must be
+    # for the default value.
+    if ($invlist_ref->[-1] != 0x110000) {
+        fail("prop_invmap('$mod_prop')");
+        diag("The last inversion list element is not 0x110000");
+        next PROPERTY;
+    }
+    if ($invmap_ref->[-1] ne $missing) {
+        fail("prop_invmap('$mod_prop')");
+        diag("The last inversion list element is '$invmap_ref->[-1]', and should be '$missing'");
+        next PROPERTY;
+    }
+
+    if ($name eq 'bmg') {   # This one has an atypical $missing
+        if ($missing ne "") {
+            fail("prop_invmap('$mod_prop')");
+            diag("The missings should be \"\"; got '$missing'");
+            next PROPERTY;
+        }
+    }
+    elsif ($format =~ /^ a (?!r) /x) {
+        if ($full_name eq 'Perl_Decimal_Digit') {
+            if ($missing ne "") {
+                fail("prop_invmap('$mod_prop')");
+                diag("The missings should be \"\"; got '$missing'");
+                next PROPERTY;
+            }
+        }
+        elsif ($missing ne "0") {
+            fail("prop_invmap('$mod_prop')");
+            diag("The missings should be '0'; got '$missing'");
+            next PROPERTY;
+        }
+    }
+    elsif ($missing =~ /[<>]/) {
+        fail("prop_invmap('$mod_prop')");
+        diag("The missings should NOT be something with <...>'");
+        next PROPERTY;
+
+        # I don't want to hard code in what all the missings should be, so
+        # those don't get fully tested.
+    }
+
+    # Certain properties don't have their own files, but must be constructed
+    # using proxies.
+    my $proxy_prop = $name;
+    if ($full_name eq 'Present_In') {
+        $proxy_prop = "age";    # The maps for these two props are identical
+    }
+    elsif ($full_name eq 'Simple_Case_Folding'
+           || $full_name =~ /Simple_ (.) .*? case_Mapping  /x)
+    {
+        if ($full_name eq 'Simple_Case_Folding') {
+            $proxy_prop = 'cf';
+        }
+        else {
+            # We captured the U, L, or T, leading to uc, lc, or tc.
+            $proxy_prop = lc $1 . "c";
+        }
+        if ($format ne "a") {
+            fail("prop_invmap('$mod_prop')");
+            diag("The format should be 'a'; got '$format'");
+            next PROPERTY;
+        }
+    }
+
+    if ($format !~ / ^ (?: a [der]? | ale? | n | sl? ) $ /x) {
+        fail("prop_invmap('$mod_prop')");
+        diag("Unknown format '$format'");
+        next PROPERTY;
+    }
+
+    my $base_file;
+    my $official;
+
+    # Handle the properties that have full disk files for them (except the
+    # Name property which is structurally enough different that it is handled
+    # separately below.)
+    if ($name ne 'na'
+        && ($name eq 'blk'
+            || defined
+                    ($base_file = $utf8::loose_property_to_file_of{$proxy_prop})
+            || exists $utf8::loose_to_file_of{$proxy_prop}
+            || $name eq "dm"))
+    {
+        # In the above, blk is done unconditionally, as we need to test that
+        # the old-style block names are returned, even if mktables has
+        # generated a file for the new-style; the test for dm comes afterward,
+        # so that if a file has been generated for it explicitly, we use that
+        # file (which is valid, unlike blk) instead of the combo
+        # Decomposition.pl files.
+        my $file;
+        my $is_binary = 0;
+        if ($name eq 'blk') {
+
+            # The blk property is special.  The original file with old block
+            # names is retained, and the default is to not write out a
+            # new-name file.  What we do is get the old names into a data
+            # structure, and from that create what the new file would look
+            # like.  $base_file is needed to be defined, just to avoid a
+            # message below.
+            $base_file = "This is a dummy name";
+            my $blocks_ref = charblocks();
+            $official = "";
+            for my $range (sort { $a->[0][0] <=> $b->[0][0] }
+                           values %$blocks_ref)
+            {
+                # Translate the charblocks() data structure to what the file
+                # would like.
+                $official .= sprintf"%04X\t%04X\t%s\n",
+                             $range->[0][0],
+                             $range->[0][1],
+                             $range->[0][2];
+            }
+        }
+        else {
+            $base_file = "Decomposition" if $format eq 'ad';
+
+            # Above leaves $base_file undefined only if it came from the hash
+            # below.  This should happen only when it is a binary property
+            # (and are accessing via a single-form name, like 'In_Latin1'),
+            # and so it is stored in a different directory than the To ones.
+            # XXX Currently, the only cases where it is complemented are the
+            # ones that have no code points.  And it works out for these that
+            # 1) complementing them, and then 2) adding or subtracting the
+            # initial 0 and final 110000 cancel each other out.  But further
+            # work would be needed in the unlikely event that an inverted
+            # property comes along without these characteristics
+            if (!defined $base_file) {
+                $base_file = $utf8::loose_to_file_of{$proxy_prop};
+                $is_binary = ($base_file =~ s/^!//) ? -1 : 1;
+                $base_file = "lib/$base_file";
+            }
+
+            # Read in the file
+            $file = "unicore/$base_file.pl";
+            $official = do $file;
+
+            # Get rid of any trailing space and comments in the file.
+            $official =~ s/\s*(#.*)?$//mg;
+
+            if ($format eq 'ad') {
+                my @official = split /\n/, $official;
+                $official = "";
+                foreach my $line (@official) {
+                    my ($start, $end, $value)
+                                    = $line =~ / ^ (.+?) \t (.*?) \t (.+?)
+                                                \s* ( \# .* )? $ /x;
+                    # Decomposition.pl also has the <compatible> types in it,
+                    # which should be removed.
+                    $value =~ s/<.*?> //;
+                    $official .= "$start\t\t$value\n";
+
+                    # If this is a multi-char range, we turn it into as many
+                    # single character ranges as necessary.  This makes things
+                    # easier below.
+                    if ($end ne "") {
+                        for my $i (hex($start) + 1 .. hex $end) {
+                            $official .= sprintf "%04X\t\t%s\n", $i, $value;
+                        }
+                    }
+                }
+            }
+        }
+        local $/ = "\n";
+        chomp $official;
+        $/ = $input_record_separator;
+
+        # Get the format for the file, and if there are any special elements,
+        # get a reference to them.
+        my $swash_name = $utf8::file_to_swash_name{$base_file};
+        my $specials_ref;
+        my $file_format;
+        if ($swash_name) {
+            $specials_ref = $utf8::SwashInfo{$swash_name}{'specials_name'};
+            if ($specials_ref) {
+
+                # Convert from the name to the actual reference.
+                no strict 'refs';
+                $specials_ref = \%{$specials_ref};
+            }
+
+            $file_format = $utf8::SwashInfo{$swash_name}{'format'};
+        }
+
+        # Certain of the proxy properties have to be adjusted to match the
+        # real ones.
+        if ($full_name =~ /^(Case_Folding|(Lower|Title|Upper)case_Mapping)/) {
+
+            # Here we have either
+            #   1) Case_Folding; or
+            #   2) a proxy that is a full mapping, which means that what the
+            #      real property is is the equivalent simple mapping.
+            # In both cases, the file will have a standard list containing
+            # simple mappings (to a single code point), and a specials hash
+            # which contains all the mappings that are to multiple code
+            # points.  First, extract a list containing all the file's simple
+            # mappings.
+            my @list;
+            for (split "\n", $official) {
+                my ($start, $end, $value) = / ^ (.+?) \t (.*?) \t (.+?)
+                                                \s* ( \# .* )? $ /x;
+                $end = $start if $end eq "";
+                push @list, [ hex $start, hex $end, $value ];
+            }
+
+            # For these mappings, the file contains all the simple mappings,
+            # including the ones that are overridden by the specials.  These
+            # need to be removed as the list is for just the full ones.
+
+            # Go through any special mappings one by one.  They are packed.
+            my $i = 0;
+            foreach my $utf8_cp (sort keys %$specials_ref) {
+                my $cp = unpack("C0U", $utf8_cp);
+
+                # Find the spot in the @list of simple mappings that this
+                # special applies to; uses a linear search.
+                while ($i < @list -1 ) {
+                    last if  $cp <= $list[$i][1];
+                    $i++;
+                }
+
+                # Here $i is such that it points to the first range which ends
+                # at or above cp, and hence is the only range that could
+                # possibly contain it.
+
+                # If not in this range, no range contains it: nothing to
+                # remove.
+                next if $cp < $list[$i][0];
+
+                # Otherwise, remove the existing entry.  If it is the first
+                # element of the range...
+                if ($cp == $list[$i][0]) {
+
+                    # ... and there are other elements in the range, just shorten
+                    # the range to exclude this code point.
+                    if ($list[$i][1] > $list[$i][0]) {
+                        $list[$i][0]++;
+                    }
+
+                    # ... but if it is the only element in the range, remove
+                    # it entirely.
+                    else {
+                        splice @list, $i, 1;
+                    }
+                }
+                else { # Is somewhere in the middle of the range
+                    # Split the range into two, excluding this one in the
+                    # middle
+                    splice @list, $i, 1,
+                           [ $list[$i][0], $cp - 1, $list[$i][2] ],
+                           [ $cp + 1, $list[$i][1], $list[$i][2] ];
+                }
+            }
+
+            # Here, have gone through all the specials, modifying @list as
+            # needed.  Turn it back into what the file should look like.
+            $official = "";
+            for my $element (@list) {
+                $official .= "\n" if $official;
+                if ($element->[1] == $element->[0]) {
+                    $official .= sprintf "%04X\t\t%s", $element->[0], $element->[2];
+                }
+                else {
+                    $official .= sprintf "%04X\t%04X\t%s", $element->[0], $element->[1], $element->[2];
+                }
+            }
+        }
+        elsif ($full_name =~ /Simple_(Case_Folding|(Lower|Title|Upper)case_Mapping)/)
+        {
+
+            # These properties have everything in the regular array, and the
+            # specials are superfluous.
+            undef $specials_ref;
+        }
+        elsif ($format !~ /^a/ && defined $file_format && $file_format eq 'x') {
+
+            # For these properties the file is output using hex notation for the
+            # map.  Convert from hex to decimal.
+            my @lines = split "\n", $official;
+            foreach my $line (@lines) {
+                my ($lower, $upper, $map) = split "\t", $line;
+                $line = "$lower\t$upper\t" . hex $map;
+            }
+            $official = join "\n", @lines;
+        }
+
+        # Here, in $official, we have what the file looks like, or should like
+        # if we've had to fix it up.  Now take the invmap() output and reverse
+        # engineer from that what the file should look like.  Each iteration
+        # appends the next line to the running string.
+        my $tested_map = "";
+
+        # Create a copy of the file's specials hash.  (It has been undef'd if
+        # we know it isn't relevant to this property, so if it exists, it's an
+        # error or is relevant).  As we go along, we delete from that copy.
+        # If a delete fails, or something is left over after we are done,
+        # it's an error
+        my %specials = %$specials_ref if $specials_ref;
+
+        # The extra -1 is because the final element has been tested above to
+        # be for anything above Unicode.  The file doesn't go that high.
+        for (my $i = 0; $i <  @$invlist_ref - 1; $i++) {
+
+            # If the map element is a reference, have to stringify it (but
+            # don't do so if the format doesn't allow references, so that an
+            # improper format will generate an error.
+            if (ref $invmap_ref->[$i]
+                && ($format eq 'ad' || $format =~ /^ . l /x))
+            {
+                # The stringification depends on the format.
+                if ($format eq 'sl') {
+
+                    # At the time of this writing, there are two types of 'sl'
+                    # format  One, in Name_Alias, has multiple separate entries
+                    # for each code point; the other, in Script_Extension, is space
+                    # separated.  Assume the latter for non-Name_Alias.
+                    if ($full_name ne 'Name_Alias') {
+                        $invmap_ref->[$i] = join " ", @{$invmap_ref->[$i]};
+                    }
+                    else {
+                        # For Name_Alias, we emulate the file.  Entries with
+                        # just one value don't need any changes, but we
+                        # convert the list entries into a series of lines for
+                        # the file, starting with the first name.  The
+                        # succeeding entries are on separate lines, with the
+                        # code point repeated for each one and then two tabs,
+                        # then the value.  Code at the end of the loop will
+                        # set up the first line with its code point and two
+                        # tabs before the value, just as it does for every
+                        # other property; thus the special handling of the
+                        # first line.
+                        if (ref $invmap_ref->[$i]) {
+                            my $hex_cp = sprintf("%04X", $invlist_ref->[$i]);
+                            my $concatenated = $invmap_ref->[$i][0];
+                            for (my $j = 1; $j < @{$invmap_ref->[$i]}; $j++) {
+                                $concatenated .= "\n$hex_cp\t\t" . $invmap_ref->[$i][$j];
+                            }
+                            $invmap_ref->[$i] = $concatenated;
+                        }
+                    }
+                }
+                elsif ($format =~ / ^ al e? $/x) {
+
+                    # For a al property, the stringified result should be in
+                    # the specials hash.  The key is the packed code point,
+                    # and the value is the packed map.
+                    my $value;
+                    if (! defined ($value = delete $specials{pack("C0U", $invlist_ref->[$i]) })) {
+                        fail("prop_invmap('$mod_prop')");
+                        diag(sprintf "There was no specials element for %04X", $invlist_ref->[$i]);
+                        next PROPERTY;
+                    }
+                    my $packed = pack "U*", @{$invmap_ref->[$i]};
+                    if ($value ne $packed) {
+                        fail("prop_invmap('$mod_prop')");
+                        diag(sprintf "For %04X, expected the mapping to be '$packed', but got '$value'");
+                        next PROPERTY;
+                    }
+
+                    # As this doesn't get tested when we later compare with
+                    # the actual file, it could be out of order and we
+                    # wouldn't know it.
+                    if (($i > 0 && $invlist_ref->[$i] <= $invlist_ref->[$i-1])
+                        || $invlist_ref->[$i] >= $invlist_ref->[$i+1])
+                    {
+                        fail("prop_invmap('$mod_prop')");
+                        diag(sprintf "Range beginning at %04X is out-of-order.", $invlist_ref->[$i]);
+                        next PROPERTY;
+                    }
+                    next;
+                }
+                elsif ($format eq 'ad') {
+
+                    # The decomposition mapping file has the code points as
+                    # a string of space-separated hex constants.
+                    $invmap_ref->[$i] = join " ", map { sprintf "%04X", $_ } @{$invmap_ref->[$i]};
+                }
+                else {
+                    fail("prop_invmap('$mod_prop')");
+                    diag("Can't handle format '$format'");
+                    next PROPERTY;
+                }
+            }
+            elsif ($format eq 'ad' || $format eq 'ale') {
+
+                # The numerics in the returned map are stored as adjusted
+                # decimal integers.  The defaults are 0, and don't appear in
+                # $official, and are excluded later, but the elements must be
+                # converted back to their hex values before comparing with
+                # $official, as these files, for backwards compatibility, are
+                # not stored as adjusted.  (There currently is only one ale
+                # property, nfkccf.  If that changed this would also have to.)
+                if ($invmap_ref->[$i] =~ / ^ -? \d+ $ /x
+                    && $invmap_ref->[$i] != 0)
+                {
+                    my $next = $invmap_ref->[$i] + 1;
+                    $invmap_ref->[$i] = sprintf("%04X", $invmap_ref->[$i]);
+
+                    # If there are other elements in this range they need to
+                    # be adjusted; they must individually be re-mapped.  Do
+                    # this by splicing in a new element into the list and the
+                    # map containing the remainder of the range.  Next time
+                    # through we will look at that (possibly splicing again
+                    # until the whole range is processed).
+                    if ($invlist_ref->[$i+1] > $invlist_ref->[$i] + 1) {
+                        splice @$invlist_ref, $i+1, 0,
+                                $invlist_ref->[$i] + 1;
+                        splice @$invmap_ref, $i+1, 0, $next;
+                    }
+                }
+                if ($format eq 'ale' && $invmap_ref->[$i] eq "") {
+
+                    # ale properties have maps to the empty string that also
+                    # should be in the specials hash, with the key the packed
+                    # code point, and the map just empty.
+                    my $value;
+                    if (! defined ($value = delete $specials{pack("C0U", $invlist_ref->[$i]) })) {
+                        fail("prop_invmap('$mod_prop')");
+                        diag(sprintf "There was no specials element for %04X", $invlist_ref->[$i]);
+                        next PROPERTY;
+                    }
+                    if ($value ne "") {
+                        fail("prop_invmap('$mod_prop')");
+                        diag(sprintf "For %04X, expected the mapping to be \"\", but got '$value'", $invlist_ref->[$i]);
+                        next PROPERTY;
+                    }
+
+                    # As this doesn't get tested when we later compare with
+                    # the actual file, it could be out of order and we
+                    # wouldn't know it.
+                    if (($i > 0 && $invlist_ref->[$i] <= $invlist_ref->[$i-1])
+                        || $invlist_ref->[$i] >= $invlist_ref->[$i+1])
+                    {
+                        fail("prop_invmap('$mod_prop')");
+                        diag(sprintf "Range beginning at %04X is out-of-order.", $invlist_ref->[$i]);
+                        next PROPERTY;
+                    }
+                    next;
+                }
+            }
+            elsif ($is_binary) { # These binary files don't have an explicit Y
+                $invmap_ref->[$i] =~ s/Y//;
+            }
+
+            # The file doesn't include entries that map to $missing, so don't
+            # include it in the built-up string.  But make sure that it is in
+            # the correct order in the input.
+            if ($invmap_ref->[$i] eq $missing) {
+                if (($i > 0 && $invlist_ref->[$i] <= $invlist_ref->[$i-1])
+                    || $invlist_ref->[$i] >= $invlist_ref->[$i+1])
+                {
+                    fail("prop_invmap('$mod_prop')");
+                    diag(sprintf "Range beginning at %04X is out-of-order.", $invlist_ref->[$i]);
+                    next PROPERTY;
+                }
+                next;
+            }
+
+            # The ad property has one entry which isn't in the file.
+            # Ignore it, but make sure it is in order.
+            if ($format eq 'ad'
+                && $invmap_ref->[$i] eq '<hangul syllable>'
+                && $invlist_ref->[$i] == 0xAC00)
+            {
+                if (($i > 0 && $invlist_ref->[$i] <= $invlist_ref->[$i-1])
+                    || $invlist_ref->[$i] >= $invlist_ref->[$i+1])
+                {
+                    fail("prop_invmap('$mod_prop')");
+                    diag(sprintf "Range beginning at %04X is out-of-order.", $invlist_ref->[$i]);
+                    next PROPERTY;
+                }
+                next;
+            }
+
+            # Finally have figured out what the map column in the file should
+            # be.  Append the line to the running string.
+            my $start = $invlist_ref->[$i];
+            my $end = $invlist_ref->[$i+1] - 1;
+            $end = ($start == $end) ? "" : sprintf("%04X", $end);
+            if ($invmap_ref->[$i] ne "") {
+                $tested_map .= sprintf "%04X\t%s\t%s\n", $start, $end, $invmap_ref->[$i];
+            }
+            elsif ($end ne "") {
+                $tested_map .= sprintf "%04X\t%s\n", $start, $end;
+            }
+            else {
+                $tested_map .= sprintf "%04X\n", $start;
+            }
+        } # End of looping over all elements.
+
+        # Here are done with generating what the file should look like
+
+        local $/ = "\n";
+        chomp $tested_map;
+        $/ = $input_record_separator;
+
+        # And compare.
+        if ($tested_map ne $official) {
+            fail_with_diff($mod_prop, $official, $tested_map, "prop_invmap");
+            next PROPERTY;
+        }
+
+        # There shouldn't be any specials unaccounted for.
+        if (keys %specials) {
+            fail("prop_invmap('$mod_prop')");
+            diag("Unexpected specials: " . join ", ", keys %specials);
+            next PROPERTY;
+        }
+    }
+    elsif ($format eq 'n') {
+
+        # Handle the Name property similar to the above.  But the file is
+        # sufficiently different that it is more convenient to make a special
+        # case for it.  It is a combination of the Name, Unicode1_Name, and
+        # Name_Alias properties, and named sequences.  We need to remove all
+        # but the Name in order to do the comparison.
+
+        if ($missing ne "") {
+            fail("prop_invmap('$mod_prop')");
+            diag("The missings should be \"\"; got \"missing\"");
+            next PROPERTY;
+        }
+
+        $official = do "unicore/Name.pl";
+
+        # Get rid of the named sequences portion of the file.  These don't
+        # have a tab before the first blank on a line.
+        $official =~ s/ ^ [^\t]+ \  .*? \n //xmg;
+
+        # And get rid of the controls.  These are named in the file, but
+        # shouldn't be in the property.  This gets rid of the two ranges in
+        # one fell swoop, and also all the Unicode1_Name values that may not
+        # be in Name_Alias.
+        $official =~ s/ 00000 \t .* 0001F .*? \n//xs;
+        $official =~ s/ 0007F \t .* 0009F .*? \n//xs;
+
+        # And remove the aliases.  We read in the Name_Alias property, and go
+        # through them one by one.
+        my ($aliases_code_points, $aliases_maps, undef, undef)
+                                                = &prop_invmap('Name_Alias');
+        for (my $i = 0; $i < @$aliases_code_points; $i++) {
+            my $code_point = $aliases_code_points->[$i];
+
+            # Already removed these above.
+            next if $code_point <= 0x1F
+                    || ($code_point >= 0x7F && $code_point <= 0x9F);
+
+            my $hex_code_point = sprintf "%05X", $code_point;
+
+            # Convert to a list if not already to make the following loop
+            # control uniform.
+            $aliases_maps->[$i] = [ $aliases_maps->[$i] ]
+                                                if ! ref $aliases_maps->[$i];
+
+            # Remove each alias for this code point from the file
+            foreach my $alias (@{$aliases_maps->[$i]}) {
+
+                # Remove the alias type from the entry, retaining just the name.
+                $alias =~ s/:.*//;
+
+                $alias = quotemeta($alias);
+                $official =~ s/$hex_code_point \t $alias \n //x;
+            }
+        }
+        local $/ = "\n";
+        chomp $official;
+        $/ = $input_record_separator;
+
+        # Here have adjusted the file.  We also have to adjust the returned
+        # inversion map by checking and deleting all the lines in it that
+        # won't be in the file.  These are the lines that have generated
+        # things, like <hangul syllable>.
+        my $tested_map = "";        # Current running string
+        my @code_point_in_names =
+                               @Unicode::UCD::code_points_ending_in_code_point;
+
+        for my $i (0 .. @$invlist_ref - 1 - 1) {
+            my $start = $invlist_ref->[$i];
+            my $end = $invlist_ref->[$i+1] - 1;
+            if ($invmap_ref->[$i] eq $missing) {
+                if (($i > 0 && $invlist_ref->[$i] <= $invlist_ref->[$i-1])
+                    || $invlist_ref->[$i] >= $invlist_ref->[$i+1])
+                {
+                    fail("prop_invmap('$mod_prop')");
+                    diag(sprintf "Range beginning at %04X is out-of-order.", $invlist_ref->[$i]);
+                    next PROPERTY;
+                }
+                next;
+            }
+            if ($invmap_ref->[$i] =~ / (.*) ( < .*? > )/x) {
+                my $name = $1;
+                my $type = $2;
+                if (($i > 0 && $invlist_ref->[$i] <= $invlist_ref->[$i-1])
+                    || $invlist_ref->[$i] >= $invlist_ref->[$i+1])
+                {
+                    fail("prop_invmap('$mod_prop')");
+                    diag(sprintf "Range beginning at %04X is out-of-order.", $invlist_ref->[$i]);
+                    next PROPERTY;
+                }
+                if ($type eq "<hangul syllable>") {
+                    if ($name ne "") {
+                        fail("prop_invmap('$mod_prop')");
+                        diag("Unexpected text in $invmap_ref->[$i]");
+                        next PROPERTY;
+                    }
+                    if ($start != 0xAC00) {
+                        fail("prop_invmap('$mod_prop')");
+                        diag(sprintf("<hangul syllables> should begin at 0xAC00, got %04X", $start));
+                        next PROPERTY;
+                    }
+                    if ($end != $start + 11172 - 1) {
+                        fail("prop_invmap('$mod_prop')");
+                        diag(sprintf("<hangul syllables> should end at %04X, got %04X", $start + 11172 -1, $end));
+                        next PROPERTY;
+                    }
+                }
+                elsif ($type ne "<code point>") {
+                    fail("prop_invmap('$mod_prop')");
+                    diag("Unexpected text '$type' in $invmap_ref->[$i]");
+                    next PROPERTY;
+                }
+                else {
+
+                    # Look through the array of names that end in code points,
+                    # and look for this start and end.  If not found is an
+                    # error.  If found, delete it, and at the end, make sure
+                    # have deleted everything.
+                    for my $i (0 .. @code_point_in_names - 1) {
+                        my $hash = $code_point_in_names[$i];
+                        if ($hash->{'low'} == $start
+                            && $hash->{'high'} == $end
+                            && "$hash->{'name'}-" eq $name)
+                        {
+                            splice @code_point_in_names, $i, 1;
+                            last;
+                        }
+                        else {
+                            fail("prop_invmap('$mod_prop')");
+                            diag("Unexpected code-point-in-name line '$invmap_ref->[$i]'");
+                            next PROPERTY;
+                        }
+                    }
+                }
+
+                next;
+            }
+
+            # Have adjusted the map, as needed.  Append to running string.
+            $end = ($start == $end) ? "" : sprintf("%05X", $end);
+            $tested_map .= sprintf "%05X\t%s\n", $start, $invmap_ref->[$i];
+        }
+
+        # Finished creating the string from the inversion map.  Can compare
+        # with what the file is.
+        local $/ = "\n";
+        chomp $tested_map;
+        $/ = $input_record_separator;
+        if ($tested_map ne $official) {
+            fail_with_diff($mod_prop, $official, $tested_map, "prop_invmap");
+            next PROPERTY;
+        }
+        if (@code_point_in_names) {
+            fail("prop_invmap('$mod_prop')");
+            use Data::Dumper;
+            diag("Missing code-point-in-name line(s)" . Dumper \@code_point_in_names);
+            next PROPERTY;
+        }
+    }
+    elsif ($format eq 's') {
+
+        # Here the map is not more or less directly from a file stored on
+        # disk.  We try a different tack.  These should all be properties that
+        # have just a few possible values (most of them are  binary).  We go
+        # through the map list, sorting each range into buckets, one for each
+        # map value.  Thus for binary properties there will be a bucket for Y
+        # and one for N.  The buckets are inversion lists.  We compare each
+        # constructed inversion list with what we would get for it using
+        # prop_invlist(), which has already been tested.  If they all match,
+        # the whole map must have matched.
+        my %maps;
+        my $previous_map;
+
+        # (The extra -1 is to not look at the final element in the loop, which
+        # we know is the one that starts just beyond Unicode and goes to
+        # infinity.)
+        for my $i (0 .. @$invlist_ref - 1 - 1) {
+            my $range_start = $invlist_ref->[$i];
+
+            # Because we are sorting into buckets, things could be
+            # out-of-order here, and still be in the correct order in the
+            # bucket, and hence wouldn't show up as an error; so have to
+            # check.
+            if (($i > 0 && $range_start <= $invlist_ref->[$i-1])
+                || $range_start >= $invlist_ref->[$i+1])
+            {
+                fail("prop_invmap('$mod_prop')");
+                diag(sprintf "Range beginning at %04X is out-of-order.", $invlist_ref->[$i]);
+                next PROPERTY;
+            }
+
+            # This new range closes out the range started in the previous
+            # iteration.
+            push @{$maps{$previous_map}}, $range_start if defined $previous_map;
+
+            # And starts a range which will be closed in the next iteration.
+            $previous_map = $invmap_ref->[$i];
+            push @{$maps{$previous_map}}, $range_start;
+        }
+
+        # The range we just started hasn't been closed, and we didn't look at
+        # the final element of the loop.  If that range is for the default
+        # value, it shouldn't be closed, as it is to extend to infinity.  But
+        # otherwise, it should end at the final Unicode code point, and the
+        # list that maps to the default value should have another element that
+        # does go to infinity for every above Unicode code point.
+
+        if (@$invlist_ref > 1) {
+            my $penultimate_map = $invmap_ref->[-2];
+            if ($penultimate_map ne $missing) {
+
+                # The -1th element contains the first non-Unicode code point.
+                push @{$maps{$penultimate_map}}, $invlist_ref->[-1];
+                push @{$maps{$missing}}, $invlist_ref->[-1];
+            }
+        }
+
+        # Here, we have the buckets (inversion lists) all constructed.  Go
+        # through each and verify that matches what prop_invlist() returns.
+        # We could use is_deeply() for the comparison, but would get multiple
+        # messages for each $prop.
+        foreach my $map (keys %maps) {
+            my @off_invlist = prop_invlist("$prop = $map");
+            my $min = (@off_invlist >= @{$maps{$map}})
+                       ? @off_invlist
+                       : @{$maps{$map}};
+            for my $i (0 .. $min- 1) {
+                if ($i > @off_invlist - 1) {
+                    fail("prop_invmap('$mod_prop')");
+                    diag("There is no element [$i] for $prop=$map from prop_invlist(), while [$i] in the implicit one constructed from prop_invmap() is '$maps{$map}[$i]'");
+                    next PROPERTY;
+                }
+                elsif ($i > @{$maps{$map}} - 1) {
+                    fail("prop_invmap('$mod_prop')");
+                    diag("There is no element [$i] from the implicit $prop=$map constructed from prop_invmap(), while [$i] in the one from prop_invlist() is '$off_invlist[$i]'");
+                    next PROPERTY;
+                }
+                elsif ($maps{$map}[$i] ne $off_invlist[$i]) {
+                    fail("prop_invmap('$mod_prop')");
+                    diag("Element [$i] of the implicit $prop=$map constructed from prop_invmap() is '$maps{$map}[$i]', and the one from prop_invlist() is '$off_invlist[$i]'");
+                    next PROPERTY;
+                }
+            }
+        }
+    }
+    else {  # Don't know this property nor format.
+
+        fail("prop_invmap('$mod_prop')");
+        diag("Unknown format '$format'");
+    }
+
+    pass("prop_invmap('$mod_prop')");
+}
+
+ok($/ eq $input_record_separator,  "The record separator didn't get overridden");
+done_testing();


Property changes on: vendor/perl/dist/lib/Unicode/UCD.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/User/grent.pm
===================================================================
--- vendor/perl/dist/lib/User/grent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/User/grent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/User/grent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/User/grent.t
===================================================================
--- vendor/perl/dist/lib/User/grent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/User/grent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/User/grent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/User/pwent.pm
===================================================================
--- vendor/perl/dist/lib/User/pwent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/User/pwent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/User/pwent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/User/pwent.t
===================================================================
--- vendor/perl/dist/lib/User/pwent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/User/pwent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/User/pwent.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/abbrev.pl
===================================================================
--- vendor/perl/dist/lib/abbrev.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/abbrev.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/abbrev.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/assert.pl
===================================================================
--- vendor/perl/dist/lib/assert.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/assert.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/assert.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/attributes.pm
===================================================================
--- vendor/perl/dist/lib/attributes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/attributes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/attributes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/exception/system.pm
===================================================================
--- vendor/perl/dist/lib/autodie/exception/system.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/exception/system.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/exception/system.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/exception.pm
===================================================================
--- vendor/perl/dist/lib/autodie/exception.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/exception.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/exception.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/hints.pm
===================================================================
--- vendor/perl/dist/lib/autodie/hints.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/hints.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/hints.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/00-load.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/00-load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/00-load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/00-load.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/Fatal.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/Fatal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/Fatal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/Fatal.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/autodie.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/autodie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/autodie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/autodie.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/autodie_test_module.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/autodie_test_module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/autodie_test_module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/autodie_test_module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/backcompat.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/backcompat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/backcompat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/backcompat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/basic_exceptions.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/basic_exceptions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/basic_exceptions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/basic_exceptions.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/binmode.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/binmode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/binmode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/binmode.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/blog_hints.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/blog_hints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/blog_hints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/blog_hints.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/caller.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/caller.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/caller.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/caller.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/context.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/context.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/context_lexical.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/context_lexical.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/context_lexical.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/context_lexical.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/crickey.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/crickey.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/crickey.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/crickey.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/dbmopen.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/dbmopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/dbmopen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/dbmopen.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/exception_class.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/exception_class.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/exception_class.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/exception_class.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/exceptions.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/exceptions.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/exceptions.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/exceptions.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/exec.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/exec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/exec.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/exec.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/filehandles.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/filehandles.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/filehandles.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/filehandles.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/fileno.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/fileno.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/fileno.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/fileno.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/flock.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/flock.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/flock.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/flock.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/format-clobber.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/format-clobber.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/format-clobber.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/format-clobber.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/hints.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/hints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/hints.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/hints.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/hints_insist.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/hints_insist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/hints_insist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/hints_insist.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/hints_pod_examples.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/hints_pod_examples.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/hints_pod_examples.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/hints_pod_examples.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/hints_provider_does.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/hints_provider_does.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/hints_provider_does.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/hints_provider_does.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/hints_provider_easy_does_it.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/hints_provider_easy_does_it.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/hints_provider_easy_does_it.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/hints_provider_easy_does_it.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/hints_provider_isa.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/hints_provider_isa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/hints_provider_isa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/hints_provider_isa.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/internal-backcompat.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/internal-backcompat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/internal-backcompat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/internal-backcompat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/internal.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/internal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/internal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/internal.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lethal.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/lethal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lethal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lethal.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/Caller_helper.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/Caller_helper.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/Caller_helper.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/Caller_helper.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/Hints_pod_examples.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/Hints_pod_examples.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/Hints_pod_examples.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/Hints_pod_examples.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/Hints_provider_does.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/Hints_provider_does.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/Hints_provider_does.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/Hints_provider_does.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/Hints_provider_easy_does_it.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/Hints_provider_easy_does_it.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/Hints_provider_easy_does_it.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/Hints_provider_easy_does_it.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/Hints_provider_isa.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/Hints_provider_isa.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/Hints_provider_isa.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/Hints_provider_isa.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/Hints_test.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/Hints_test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/Hints_test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/Hints_test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/OtherTypes.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/OtherTypes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/OtherTypes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/OtherTypes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/Some/Module.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/Some/Module.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/Some/Module.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/Some/Module.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/autodie/test/au/exception.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/autodie/test/au/exception.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/autodie/test/au/exception.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/autodie/test/au/exception.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/autodie/test/au.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/autodie/test/au.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/autodie/test/au.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/autodie/test/au.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/autodie/test/badname.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/autodie/test/badname.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/autodie/test/badname.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/autodie/test/badname.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/autodie/test/missing.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/autodie/test/missing.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/autodie/test/missing.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/autodie/test/missing.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/lethal.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/lethal.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/lethal.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/lethal.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/my/autodie.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/my/autodie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/my/autodie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/my/autodie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach/Dotlh.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach/Dotlh.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach/Dotlh.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach/Dotlh.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach.pm
===================================================================
--- vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/lib/pujHa/ghach.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/mkdir.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/mkdir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/mkdir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/mkdir.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/open.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/open.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/open.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/open.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/recv.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/recv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/recv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/recv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/repeat.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/repeat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/repeat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/repeat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/scope_leak.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/scope_leak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/scope_leak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/scope_leak.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/string-eval-basic.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/string-eval-basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/string-eval-basic.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/string-eval-basic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/string-eval-leak.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/string-eval-leak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/string-eval-leak.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/string-eval-leak.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/sysopen.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/sysopen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/sysopen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/sysopen.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/truncate.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/truncate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/truncate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/truncate.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/unlink.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/unlink.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/unlink.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/unlink.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/user-context.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/user-context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/user-context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/user-context.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/usersub.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/usersub.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/usersub.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/usersub.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/version.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/version.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie/t/version_tag.t
===================================================================
--- vendor/perl/dist/lib/autodie/t/version_tag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie/t/version_tag.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie/t/version_tag.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autodie.pm
===================================================================
--- vendor/perl/dist/lib/autodie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autodie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autodie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autouse.pm
===================================================================
--- vendor/perl/dist/lib/autouse.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autouse.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autouse.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/autouse.t
===================================================================
--- vendor/perl/dist/lib/autouse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/autouse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/autouse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/base.t
===================================================================
--- vendor/perl/dist/lib/base/t/base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/compile-time.t
===================================================================
--- vendor/perl/dist/lib/base/t/compile-time.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/compile-time.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/compile-time.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/fields-5.6.0.t
===================================================================
--- vendor/perl/dist/lib/base/t/fields-5.6.0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/fields-5.6.0.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/fields-5.6.0.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/fields-5.8.0.t
===================================================================
--- vendor/perl/dist/lib/base/t/fields-5.8.0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/fields-5.8.0.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/fields-5.8.0.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/fields-base.t
===================================================================
--- vendor/perl/dist/lib/base/t/fields-base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/fields-base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/fields-base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/fields.t
===================================================================
--- vendor/perl/dist/lib/base/t/fields.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/fields.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/fields.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/isa.t
===================================================================
--- vendor/perl/dist/lib/base/t/isa.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/isa.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/isa.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/lib/Dummy.pm
===================================================================
--- vendor/perl/dist/lib/base/t/lib/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/lib/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/lib/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/lib/HasSigDie.pm
===================================================================
--- vendor/perl/dist/lib/base/t/lib/HasSigDie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/lib/HasSigDie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/lib/HasSigDie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/sigdie.t
===================================================================
--- vendor/perl/dist/lib/base/t/sigdie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/sigdie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/sigdie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/version.t
===================================================================
--- vendor/perl/dist/lib/base/t/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/base/t/warnings.t
===================================================================
--- vendor/perl/dist/lib/base/t/warnings.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base/t/warnings.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base/t/warnings.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/base.pm
===================================================================
--- vendor/perl/dist/lib/base.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/base.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/base.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bigfloat.pl
===================================================================
--- vendor/perl/dist/lib/bigfloat.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bigfloat.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bigfloat.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bigfloatpl.t
===================================================================
--- vendor/perl/dist/lib/bigfloatpl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bigfloatpl.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bigfloatpl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bigint.pl
===================================================================
--- vendor/perl/dist/lib/bigint.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bigint.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bigint.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bigint.pm
===================================================================
--- vendor/perl/dist/lib/bigint.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bigint.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bigint.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bigintpl.t
===================================================================
--- vendor/perl/dist/lib/bigintpl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bigintpl.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bigintpl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/big_e_pi.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/big_e_pi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/big_e_pi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/big_e_pi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/bigexp.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/bigexp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/bigexp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/bigexp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/bigint.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/bigint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/bigint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/bigint.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/bignum.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/bignum.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/bignum.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/bignum.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/bigrat.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/bigrat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/bigrat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/bigrat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/bii_e_pi.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/bii_e_pi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/bii_e_pi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/bii_e_pi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/biinfnan.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/biinfnan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/biinfnan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/biinfnan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/bir_e_pi.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/bir_e_pi.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/bir_e_pi.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/bir_e_pi.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/bn_lite.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/bn_lite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/bn_lite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/bn_lite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/bninfnan.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/bninfnan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/bninfnan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/bninfnan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/br_lite.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/br_lite.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/br_lite.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/br_lite.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/brinfnan.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/brinfnan.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/brinfnan.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/brinfnan.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/in_effect.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/in_effect.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/in_effect.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/in_effect.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/infnan.inc
===================================================================
--- vendor/perl/dist/lib/bignum/t/infnan.inc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/infnan.inc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/infnan.inc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/option_a.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/option_a.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/option_a.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/option_a.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/option_l.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/option_l.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/option_l.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/option_l.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/option_p.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/option_p.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/option_p.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/option_p.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/ratopt_a.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/ratopt_a.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/ratopt_a.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/ratopt_a.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/scope_f.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/scope_f.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/scope_f.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/scope_f.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/scope_i.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/scope_i.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/scope_i.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/scope_i.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum/t/scope_r.t
===================================================================
--- vendor/perl/dist/lib/bignum/t/scope_r.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum/t/scope_r.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum/t/scope_r.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bignum.pm
===================================================================
--- vendor/perl/dist/lib/bignum.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bignum.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bignum.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bigrat.pl
===================================================================
--- vendor/perl/dist/lib/bigrat.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bigrat.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bigrat.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bigrat.pm
===================================================================
--- vendor/perl/dist/lib/bigrat.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bigrat.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bigrat.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/blib.pm
===================================================================
--- vendor/perl/dist/lib/blib.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/blib.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/blib.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/blib.t
===================================================================
--- vendor/perl/dist/lib/blib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/blib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/blib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/bytes.pm
===================================================================
--- vendor/perl/dist/lib/bytes.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bytes.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bytes.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/bytes.t
===================================================================
--- vendor/perl/dist/lib/bytes.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bytes.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bytes.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/bytes_heavy.pl
===================================================================
--- vendor/perl/dist/lib/bytes_heavy.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/bytes_heavy.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/bytes_heavy.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/cacheout.pl
===================================================================
--- vendor/perl/dist/lib/cacheout.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/cacheout.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/cacheout.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/charnames.pm
===================================================================
--- vendor/perl/dist/lib/charnames.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/charnames.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,833 +1,26 @@
 package charnames;
 use strict;
 use warnings;
-use File::Spec;
-our $VERSION = '1.18';
+our $VERSION = '1.36';
+use unicore::Name;    # mktables-generated algorithmically-defined names
+use _charnames ();    # The submodule for this where most of the work gets done
 
 use bytes ();          # for $bytes::hint_bits
+use re "/aa";          # Everything in here should be ASCII
 
-# The hashes are stored as utf8 strings.  This makes it easier to deal with
-# sequences.  I (khw) also tried making Name.pl utf8, but it slowed things
-# down by a factor of 7.  I then tried making Name.pl store the ut8
-# equivalents but not calling them utf8.  That led to similar speed as leaving
-# it alone, but since that is harder for a human to parse, I left it as-is.
+# Translate between Unicode character names and their code points.
+# This is a wrapper around the submodule C<_charnames>.  This design allows
+# C<_charnames> to be autoloaded to enable use of \N{...}, but requires this
+# module to be explicitly requested for the functions API.
 
-my %system_aliases = (
-    # Icky 3.2 names with parentheses.
-    'LINE FEED'             => pack("U", 0x0A), # LINE FEED (LF)
-    'FORM FEED'             => pack("U", 0x0C), # FORM FEED (FF)
-    'CARRIAGE RETURN'       => pack("U", 0x0D), # CARRIAGE RETURN (CR)
-    'NEXT LINE'             => pack("U", 0x85), # NEXT LINE (NEL)
+$Carp::Internal{ (__PACKAGE__) } = 1;
 
-    # Some variant names from Wikipedia
-    'SINGLE-SHIFT 2'                => pack("U", 0x8E),
-    'SINGLE-SHIFT 3'                => pack("U", 0x8F),
-    'PRIVATE USE 1'                 => pack("U", 0x91),
-    'PRIVATE USE 2'                 => pack("U", 0x92),
-    'START OF PROTECTED AREA'       => pack("U", 0x96),
-    'END OF PROTECTED AREA'         => pack("U", 0x97),
-
-    # Convenience.  Standard abbreviations for the controls
-    'NUL'           => pack("U", 0x00), # NULL
-    'SOH'           => pack("U", 0x01), # START OF HEADING
-    'STX'           => pack("U", 0x02), # START OF TEXT
-    'ETX'           => pack("U", 0x03), # END OF TEXT
-    'EOT'           => pack("U", 0x04), # END OF TRANSMISSION
-    'ENQ'           => pack("U", 0x05), # ENQUIRY
-    'ACK'           => pack("U", 0x06), # ACKNOWLEDGE
-    'BEL'           => pack("U", 0x07), # ALERT; formerly BELL
-    'BS'            => pack("U", 0x08), # BACKSPACE
-    'HT'            => pack("U", 0x09), # HORIZONTAL TABULATION
-    'LF'            => pack("U", 0x0A), # LINE FEED (LF)
-    'VT'            => pack("U", 0x0B), # VERTICAL TABULATION
-    'FF'            => pack("U", 0x0C), # FORM FEED (FF)
-    'CR'            => pack("U", 0x0D), # CARRIAGE RETURN (CR)
-    'SO'            => pack("U", 0x0E), # SHIFT OUT
-    'SI'            => pack("U", 0x0F), # SHIFT IN
-    'DLE'           => pack("U", 0x10), # DATA LINK ESCAPE
-    'DC1'           => pack("U", 0x11), # DEVICE CONTROL ONE
-    'DC2'           => pack("U", 0x12), # DEVICE CONTROL TWO
-    'DC3'           => pack("U", 0x13), # DEVICE CONTROL THREE
-    'DC4'           => pack("U", 0x14), # DEVICE CONTROL FOUR
-    'NAK'           => pack("U", 0x15), # NEGATIVE ACKNOWLEDGE
-    'SYN'           => pack("U", 0x16), # SYNCHRONOUS IDLE
-    'ETB'           => pack("U", 0x17), # END OF TRANSMISSION BLOCK
-    'CAN'           => pack("U", 0x18), # CANCEL
-    'EOM'           => pack("U", 0x19), # END OF MEDIUM
-    'SUB'           => pack("U", 0x1A), # SUBSTITUTE
-    'ESC'           => pack("U", 0x1B), # ESCAPE
-    'FS'            => pack("U", 0x1C), # FILE SEPARATOR
-    'GS'            => pack("U", 0x1D), # GROUP SEPARATOR
-    'RS'            => pack("U", 0x1E), # RECORD SEPARATOR
-    'US'            => pack("U", 0x1F), # UNIT SEPARATOR
-    'DEL'           => pack("U", 0x7F), # DELETE
-    'BPH'           => pack("U", 0x82), # BREAK PERMITTED HERE
-    'NBH'           => pack("U", 0x83), # NO BREAK HERE
-    'NEL'           => pack("U", 0x85), # NEXT LINE (NEL)
-    'SSA'           => pack("U", 0x86), # START OF SELECTED AREA
-    'ESA'           => pack("U", 0x87), # END OF SELECTED AREA
-    'HTS'           => pack("U", 0x88), # CHARACTER TABULATION SET
-    'HTJ'           => pack("U", 0x89), # CHARACTER TABULATION WITH JUSTIFICATION
-    'VTS'           => pack("U", 0x8A), # LINE TABULATION SET
-    'PLD'           => pack("U", 0x8B), # PARTIAL LINE FORWARD
-    'PLU'           => pack("U", 0x8C), # PARTIAL LINE BACKWARD
-    'RI '           => pack("U", 0x8D), # REVERSE LINE FEED
-    'SS2'           => pack("U", 0x8E), # SINGLE SHIFT TWO
-    'SS3'           => pack("U", 0x8F), # SINGLE SHIFT THREE
-    'DCS'           => pack("U", 0x90), # DEVICE CONTROL STRING
-    'PU1'           => pack("U", 0x91), # PRIVATE USE ONE
-    'PU2'           => pack("U", 0x92), # PRIVATE USE TWO
-    'STS'           => pack("U", 0x93), # SET TRANSMIT STATE
-    'CCH'           => pack("U", 0x94), # CANCEL CHARACTER
-    'MW '           => pack("U", 0x95), # MESSAGE WAITING
-    'SPA'           => pack("U", 0x96), # START OF GUARDED AREA
-    'EPA'           => pack("U", 0x97), # END OF GUARDED AREA
-    'SOS'           => pack("U", 0x98), # START OF STRING
-    'SCI'           => pack("U", 0x9A), # SINGLE CHARACTER INTRODUCER
-    'CSI'           => pack("U", 0x9B), # CONTROL SEQUENCE INTRODUCER
-    'ST '           => pack("U", 0x9C), # STRING TERMINATOR
-    'OSC'           => pack("U", 0x9D), # OPERATING SYSTEM COMMAND
-    'PM '           => pack("U", 0x9E), # PRIVACY MESSAGE
-    'APC'           => pack("U", 0x9F), # APPLICATION PROGRAM COMMAND
-
-    # There are no names for these in the Unicode standard; perhaps should be
-    # deprecated, but then again there are no alternative names, so am not
-    # deprecating.  And if did, the code would have to change to not recommend
-    # an alternative for these.
-    'PADDING CHARACTER'                     => pack("U", 0x80),
-    'PAD'                                   => pack("U", 0x80),
-    'HIGH OCTET PRESET'                     => pack("U", 0x81),
-    'HOP'                                   => pack("U", 0x81),
-    'INDEX'                                 => pack("U", 0x84),
-    'IND'                                   => pack("U", 0x84),
-    'SINGLE GRAPHIC CHARACTER INTRODUCER'   => pack("U", 0x99),
-    'SGC'                                   => pack("U", 0x99),
-
-    # More convenience.  For further convenience, it is suggested some way of
-    # using the NamesList aliases be implemented, but there are ambiguities in
-    # NamesList.txt
-    'BOM'   => pack("U", 0xFEFF), # BYTE ORDER MARK
-    'BYTE ORDER MARK'=> pack("U", 0xFEFF),
-    'CGJ'   => pack("U", 0x034F), # COMBINING GRAPHEME JOINER
-    'FVS1'  => pack("U", 0x180B), # MONGOLIAN FREE VARIATION SELECTOR ONE
-    'FVS2'  => pack("U", 0x180C), # MONGOLIAN FREE VARIATION SELECTOR TWO
-    'FVS3'  => pack("U", 0x180D), # MONGOLIAN FREE VARIATION SELECTOR THREE
-    'LRE'   => pack("U", 0x202A), # LEFT-TO-RIGHT EMBEDDING
-    'LRM'   => pack("U", 0x200E), # LEFT-TO-RIGHT MARK
-    'LRO'   => pack("U", 0x202D), # LEFT-TO-RIGHT OVERRIDE
-    'MMSP'  => pack("U", 0x205F), # MEDIUM MATHEMATICAL SPACE
-    'MVS'   => pack("U", 0x180E), # MONGOLIAN VOWEL SEPARATOR
-    'NBSP'  => pack("U", 0x00A0), # NO-BREAK SPACE
-    'NNBSP' => pack("U", 0x202F), # NARROW NO-BREAK SPACE
-    'PDF'   => pack("U", 0x202C), # POP DIRECTIONAL FORMATTING
-    'RLE'   => pack("U", 0x202B), # RIGHT-TO-LEFT EMBEDDING
-    'RLM'   => pack("U", 0x200F), # RIGHT-TO-LEFT MARK
-    'RLO'   => pack("U", 0x202E), # RIGHT-TO-LEFT OVERRIDE
-    'SHY'   => pack("U", 0x00AD), # SOFT HYPHEN
-    'VS1'   => pack("U", 0xFE00), # VARIATION SELECTOR-1
-    'VS2'   => pack("U", 0xFE01), # VARIATION SELECTOR-2
-    'VS3'   => pack("U", 0xFE02), # VARIATION SELECTOR-3
-    'VS4'   => pack("U", 0xFE03), # VARIATION SELECTOR-4
-    'VS5'   => pack("U", 0xFE04), # VARIATION SELECTOR-5
-    'VS6'   => pack("U", 0xFE05), # VARIATION SELECTOR-6
-    'VS7'   => pack("U", 0xFE06), # VARIATION SELECTOR-7
-    'VS8'   => pack("U", 0xFE07), # VARIATION SELECTOR-8
-    'VS9'   => pack("U", 0xFE08), # VARIATION SELECTOR-9
-    'VS10'  => pack("U", 0xFE09), # VARIATION SELECTOR-10
-    'VS11'  => pack("U", 0xFE0A), # VARIATION SELECTOR-11
-    'VS12'  => pack("U", 0xFE0B), # VARIATION SELECTOR-12
-    'VS13'  => pack("U", 0xFE0C), # VARIATION SELECTOR-13
-    'VS14'  => pack("U", 0xFE0D), # VARIATION SELECTOR-14
-    'VS15'  => pack("U", 0xFE0E), # VARIATION SELECTOR-15
-    'VS16'  => pack("U", 0xFE0F), # VARIATION SELECTOR-16
-    'VS17'  => pack("U", 0xE0100), # VARIATION SELECTOR-17
-    'VS18'  => pack("U", 0xE0101), # VARIATION SELECTOR-18
-    'VS19'  => pack("U", 0xE0102), # VARIATION SELECTOR-19
-    'VS20'  => pack("U", 0xE0103), # VARIATION SELECTOR-20
-    'VS21'  => pack("U", 0xE0104), # VARIATION SELECTOR-21
-    'VS22'  => pack("U", 0xE0105), # VARIATION SELECTOR-22
-    'VS23'  => pack("U", 0xE0106), # VARIATION SELECTOR-23
-    'VS24'  => pack("U", 0xE0107), # VARIATION SELECTOR-24
-    'VS25'  => pack("U", 0xE0108), # VARIATION SELECTOR-25
-    'VS26'  => pack("U", 0xE0109), # VARIATION SELECTOR-26
-    'VS27'  => pack("U", 0xE010A), # VARIATION SELECTOR-27
-    'VS28'  => pack("U", 0xE010B), # VARIATION SELECTOR-28
-    'VS29'  => pack("U", 0xE010C), # VARIATION SELECTOR-29
-    'VS30'  => pack("U", 0xE010D), # VARIATION SELECTOR-30
-    'VS31'  => pack("U", 0xE010E), # VARIATION SELECTOR-31
-    'VS32'  => pack("U", 0xE010F), # VARIATION SELECTOR-32
-    'VS33'  => pack("U", 0xE0110), # VARIATION SELECTOR-33
-    'VS34'  => pack("U", 0xE0111), # VARIATION SELECTOR-34
-    'VS35'  => pack("U", 0xE0112), # VARIATION SELECTOR-35
-    'VS36'  => pack("U", 0xE0113), # VARIATION SELECTOR-36
-    'VS37'  => pack("U", 0xE0114), # VARIATION SELECTOR-37
-    'VS38'  => pack("U", 0xE0115), # VARIATION SELECTOR-38
-    'VS39'  => pack("U", 0xE0116), # VARIATION SELECTOR-39
-    'VS40'  => pack("U", 0xE0117), # VARIATION SELECTOR-40
-    'VS41'  => pack("U", 0xE0118), # VARIATION SELECTOR-41
-    'VS42'  => pack("U", 0xE0119), # VARIATION SELECTOR-42
-    'VS43'  => pack("U", 0xE011A), # VARIATION SELECTOR-43
-    'VS44'  => pack("U", 0xE011B), # VARIATION SELECTOR-44
-    'VS45'  => pack("U", 0xE011C), # VARIATION SELECTOR-45
-    'VS46'  => pack("U", 0xE011D), # VARIATION SELECTOR-46
-    'VS47'  => pack("U", 0xE011E), # VARIATION SELECTOR-47
-    'VS48'  => pack("U", 0xE011F), # VARIATION SELECTOR-48
-    'VS49'  => pack("U", 0xE0120), # VARIATION SELECTOR-49
-    'VS50'  => pack("U", 0xE0121), # VARIATION SELECTOR-50
-    'VS51'  => pack("U", 0xE0122), # VARIATION SELECTOR-51
-    'VS52'  => pack("U", 0xE0123), # VARIATION SELECTOR-52
-    'VS53'  => pack("U", 0xE0124), # VARIATION SELECTOR-53
-    'VS54'  => pack("U", 0xE0125), # VARIATION SELECTOR-54
-    'VS55'  => pack("U", 0xE0126), # VARIATION SELECTOR-55
-    'VS56'  => pack("U", 0xE0127), # VARIATION SELECTOR-56
-    'VS57'  => pack("U", 0xE0128), # VARIATION SELECTOR-57
-    'VS58'  => pack("U", 0xE0129), # VARIATION SELECTOR-58
-    'VS59'  => pack("U", 0xE012A), # VARIATION SELECTOR-59
-    'VS60'  => pack("U", 0xE012B), # VARIATION SELECTOR-60
-    'VS61'  => pack("U", 0xE012C), # VARIATION SELECTOR-61
-    'VS62'  => pack("U", 0xE012D), # VARIATION SELECTOR-62
-    'VS63'  => pack("U", 0xE012E), # VARIATION SELECTOR-63
-    'VS64'  => pack("U", 0xE012F), # VARIATION SELECTOR-64
-    'VS65'  => pack("U", 0xE0130), # VARIATION SELECTOR-65
-    'VS66'  => pack("U", 0xE0131), # VARIATION SELECTOR-66
-    'VS67'  => pack("U", 0xE0132), # VARIATION SELECTOR-67
-    'VS68'  => pack("U", 0xE0133), # VARIATION SELECTOR-68
-    'VS69'  => pack("U", 0xE0134), # VARIATION SELECTOR-69
-    'VS70'  => pack("U", 0xE0135), # VARIATION SELECTOR-70
-    'VS71'  => pack("U", 0xE0136), # VARIATION SELECTOR-71
-    'VS72'  => pack("U", 0xE0137), # VARIATION SELECTOR-72
-    'VS73'  => pack("U", 0xE0138), # VARIATION SELECTOR-73
-    'VS74'  => pack("U", 0xE0139), # VARIATION SELECTOR-74
-    'VS75'  => pack("U", 0xE013A), # VARIATION SELECTOR-75
-    'VS76'  => pack("U", 0xE013B), # VARIATION SELECTOR-76
-    'VS77'  => pack("U", 0xE013C), # VARIATION SELECTOR-77
-    'VS78'  => pack("U", 0xE013D), # VARIATION SELECTOR-78
-    'VS79'  => pack("U", 0xE013E), # VARIATION SELECTOR-79
-    'VS80'  => pack("U", 0xE013F), # VARIATION SELECTOR-80
-    'VS81'  => pack("U", 0xE0140), # VARIATION SELECTOR-81
-    'VS82'  => pack("U", 0xE0141), # VARIATION SELECTOR-82
-    'VS83'  => pack("U", 0xE0142), # VARIATION SELECTOR-83
-    'VS84'  => pack("U", 0xE0143), # VARIATION SELECTOR-84
-    'VS85'  => pack("U", 0xE0144), # VARIATION SELECTOR-85
-    'VS86'  => pack("U", 0xE0145), # VARIATION SELECTOR-86
-    'VS87'  => pack("U", 0xE0146), # VARIATION SELECTOR-87
-    'VS88'  => pack("U", 0xE0147), # VARIATION SELECTOR-88
-    'VS89'  => pack("U", 0xE0148), # VARIATION SELECTOR-89
-    'VS90'  => pack("U", 0xE0149), # VARIATION SELECTOR-90
-    'VS91'  => pack("U", 0xE014A), # VARIATION SELECTOR-91
-    'VS92'  => pack("U", 0xE014B), # VARIATION SELECTOR-92
-    'VS93'  => pack("U", 0xE014C), # VARIATION SELECTOR-93
-    'VS94'  => pack("U", 0xE014D), # VARIATION SELECTOR-94
-    'VS95'  => pack("U", 0xE014E), # VARIATION SELECTOR-95
-    'VS96'  => pack("U", 0xE014F), # VARIATION SELECTOR-96
-    'VS97'  => pack("U", 0xE0150), # VARIATION SELECTOR-97
-    'VS98'  => pack("U", 0xE0151), # VARIATION SELECTOR-98
-    'VS99'  => pack("U", 0xE0152), # VARIATION SELECTOR-99
-    'VS100' => pack("U", 0xE0153), # VARIATION SELECTOR-100
-    'VS101' => pack("U", 0xE0154), # VARIATION SELECTOR-101
-    'VS102' => pack("U", 0xE0155), # VARIATION SELECTOR-102
-    'VS103' => pack("U", 0xE0156), # VARIATION SELECTOR-103
-    'VS104' => pack("U", 0xE0157), # VARIATION SELECTOR-104
-    'VS105' => pack("U", 0xE0158), # VARIATION SELECTOR-105
-    'VS106' => pack("U", 0xE0159), # VARIATION SELECTOR-106
-    'VS107' => pack("U", 0xE015A), # VARIATION SELECTOR-107
-    'VS108' => pack("U", 0xE015B), # VARIATION SELECTOR-108
-    'VS109' => pack("U", 0xE015C), # VARIATION SELECTOR-109
-    'VS110' => pack("U", 0xE015D), # VARIATION SELECTOR-110
-    'VS111' => pack("U", 0xE015E), # VARIATION SELECTOR-111
-    'VS112' => pack("U", 0xE015F), # VARIATION SELECTOR-112
-    'VS113' => pack("U", 0xE0160), # VARIATION SELECTOR-113
-    'VS114' => pack("U", 0xE0161), # VARIATION SELECTOR-114
-    'VS115' => pack("U", 0xE0162), # VARIATION SELECTOR-115
-    'VS116' => pack("U", 0xE0163), # VARIATION SELECTOR-116
-    'VS117' => pack("U", 0xE0164), # VARIATION SELECTOR-117
-    'VS118' => pack("U", 0xE0165), # VARIATION SELECTOR-118
-    'VS119' => pack("U", 0xE0166), # VARIATION SELECTOR-119
-    'VS120' => pack("U", 0xE0167), # VARIATION SELECTOR-120
-    'VS121' => pack("U", 0xE0168), # VARIATION SELECTOR-121
-    'VS122' => pack("U", 0xE0169), # VARIATION SELECTOR-122
-    'VS123' => pack("U", 0xE016A), # VARIATION SELECTOR-123
-    'VS124' => pack("U", 0xE016B), # VARIATION SELECTOR-124
-    'VS125' => pack("U", 0xE016C), # VARIATION SELECTOR-125
-    'VS126' => pack("U", 0xE016D), # VARIATION SELECTOR-126
-    'VS127' => pack("U", 0xE016E), # VARIATION SELECTOR-127
-    'VS128' => pack("U", 0xE016F), # VARIATION SELECTOR-128
-    'VS129' => pack("U", 0xE0170), # VARIATION SELECTOR-129
-    'VS130' => pack("U", 0xE0171), # VARIATION SELECTOR-130
-    'VS131' => pack("U", 0xE0172), # VARIATION SELECTOR-131
-    'VS132' => pack("U", 0xE0173), # VARIATION SELECTOR-132
-    'VS133' => pack("U", 0xE0174), # VARIATION SELECTOR-133
-    'VS134' => pack("U", 0xE0175), # VARIATION SELECTOR-134
-    'VS135' => pack("U", 0xE0176), # VARIATION SELECTOR-135
-    'VS136' => pack("U", 0xE0177), # VARIATION SELECTOR-136
-    'VS137' => pack("U", 0xE0178), # VARIATION SELECTOR-137
-    'VS138' => pack("U", 0xE0179), # VARIATION SELECTOR-138
-    'VS139' => pack("U", 0xE017A), # VARIATION SELECTOR-139
-    'VS140' => pack("U", 0xE017B), # VARIATION SELECTOR-140
-    'VS141' => pack("U", 0xE017C), # VARIATION SELECTOR-141
-    'VS142' => pack("U", 0xE017D), # VARIATION SELECTOR-142
-    'VS143' => pack("U", 0xE017E), # VARIATION SELECTOR-143
-    'VS144' => pack("U", 0xE017F), # VARIATION SELECTOR-144
-    'VS145' => pack("U", 0xE0180), # VARIATION SELECTOR-145
-    'VS146' => pack("U", 0xE0181), # VARIATION SELECTOR-146
-    'VS147' => pack("U", 0xE0182), # VARIATION SELECTOR-147
-    'VS148' => pack("U", 0xE0183), # VARIATION SELECTOR-148
-    'VS149' => pack("U", 0xE0184), # VARIATION SELECTOR-149
-    'VS150' => pack("U", 0xE0185), # VARIATION SELECTOR-150
-    'VS151' => pack("U", 0xE0186), # VARIATION SELECTOR-151
-    'VS152' => pack("U", 0xE0187), # VARIATION SELECTOR-152
-    'VS153' => pack("U", 0xE0188), # VARIATION SELECTOR-153
-    'VS154' => pack("U", 0xE0189), # VARIATION SELECTOR-154
-    'VS155' => pack("U", 0xE018A), # VARIATION SELECTOR-155
-    'VS156' => pack("U", 0xE018B), # VARIATION SELECTOR-156
-    'VS157' => pack("U", 0xE018C), # VARIATION SELECTOR-157
-    'VS158' => pack("U", 0xE018D), # VARIATION SELECTOR-158
-    'VS159' => pack("U", 0xE018E), # VARIATION SELECTOR-159
-    'VS160' => pack("U", 0xE018F), # VARIATION SELECTOR-160
-    'VS161' => pack("U", 0xE0190), # VARIATION SELECTOR-161
-    'VS162' => pack("U", 0xE0191), # VARIATION SELECTOR-162
-    'VS163' => pack("U", 0xE0192), # VARIATION SELECTOR-163
-    'VS164' => pack("U", 0xE0193), # VARIATION SELECTOR-164
-    'VS165' => pack("U", 0xE0194), # VARIATION SELECTOR-165
-    'VS166' => pack("U", 0xE0195), # VARIATION SELECTOR-166
-    'VS167' => pack("U", 0xE0196), # VARIATION SELECTOR-167
-    'VS168' => pack("U", 0xE0197), # VARIATION SELECTOR-168
-    'VS169' => pack("U", 0xE0198), # VARIATION SELECTOR-169
-    'VS170' => pack("U", 0xE0199), # VARIATION SELECTOR-170
-    'VS171' => pack("U", 0xE019A), # VARIATION SELECTOR-171
-    'VS172' => pack("U", 0xE019B), # VARIATION SELECTOR-172
-    'VS173' => pack("U", 0xE019C), # VARIATION SELECTOR-173
-    'VS174' => pack("U", 0xE019D), # VARIATION SELECTOR-174
-    'VS175' => pack("U", 0xE019E), # VARIATION SELECTOR-175
-    'VS176' => pack("U", 0xE019F), # VARIATION SELECTOR-176
-    'VS177' => pack("U", 0xE01A0), # VARIATION SELECTOR-177
-    'VS178' => pack("U", 0xE01A1), # VARIATION SELECTOR-178
-    'VS179' => pack("U", 0xE01A2), # VARIATION SELECTOR-179
-    'VS180' => pack("U", 0xE01A3), # VARIATION SELECTOR-180
-    'VS181' => pack("U", 0xE01A4), # VARIATION SELECTOR-181
-    'VS182' => pack("U", 0xE01A5), # VARIATION SELECTOR-182
-    'VS183' => pack("U", 0xE01A6), # VARIATION SELECTOR-183
-    'VS184' => pack("U", 0xE01A7), # VARIATION SELECTOR-184
-    'VS185' => pack("U", 0xE01A8), # VARIATION SELECTOR-185
-    'VS186' => pack("U", 0xE01A9), # VARIATION SELECTOR-186
-    'VS187' => pack("U", 0xE01AA), # VARIATION SELECTOR-187
-    'VS188' => pack("U", 0xE01AB), # VARIATION SELECTOR-188
-    'VS189' => pack("U", 0xE01AC), # VARIATION SELECTOR-189
-    'VS190' => pack("U", 0xE01AD), # VARIATION SELECTOR-190
-    'VS191' => pack("U", 0xE01AE), # VARIATION SELECTOR-191
-    'VS192' => pack("U", 0xE01AF), # VARIATION SELECTOR-192
-    'VS193' => pack("U", 0xE01B0), # VARIATION SELECTOR-193
-    'VS194' => pack("U", 0xE01B1), # VARIATION SELECTOR-194
-    'VS195' => pack("U", 0xE01B2), # VARIATION SELECTOR-195
-    'VS196' => pack("U", 0xE01B3), # VARIATION SELECTOR-196
-    'VS197' => pack("U", 0xE01B4), # VARIATION SELECTOR-197
-    'VS198' => pack("U", 0xE01B5), # VARIATION SELECTOR-198
-    'VS199' => pack("U", 0xE01B6), # VARIATION SELECTOR-199
-    'VS200' => pack("U", 0xE01B7), # VARIATION SELECTOR-200
-    'VS201' => pack("U", 0xE01B8), # VARIATION SELECTOR-201
-    'VS202' => pack("U", 0xE01B9), # VARIATION SELECTOR-202
-    'VS203' => pack("U", 0xE01BA), # VARIATION SELECTOR-203
-    'VS204' => pack("U", 0xE01BB), # VARIATION SELECTOR-204
-    'VS205' => pack("U", 0xE01BC), # VARIATION SELECTOR-205
-    'VS206' => pack("U", 0xE01BD), # VARIATION SELECTOR-206
-    'VS207' => pack("U", 0xE01BE), # VARIATION SELECTOR-207
-    'VS208' => pack("U", 0xE01BF), # VARIATION SELECTOR-208
-    'VS209' => pack("U", 0xE01C0), # VARIATION SELECTOR-209
-    'VS210' => pack("U", 0xE01C1), # VARIATION SELECTOR-210
-    'VS211' => pack("U", 0xE01C2), # VARIATION SELECTOR-211
-    'VS212' => pack("U", 0xE01C3), # VARIATION SELECTOR-212
-    'VS213' => pack("U", 0xE01C4), # VARIATION SELECTOR-213
-    'VS214' => pack("U", 0xE01C5), # VARIATION SELECTOR-214
-    'VS215' => pack("U", 0xE01C6), # VARIATION SELECTOR-215
-    'VS216' => pack("U", 0xE01C7), # VARIATION SELECTOR-216
-    'VS217' => pack("U", 0xE01C8), # VARIATION SELECTOR-217
-    'VS218' => pack("U", 0xE01C9), # VARIATION SELECTOR-218
-    'VS219' => pack("U", 0xE01CA), # VARIATION SELECTOR-219
-    'VS220' => pack("U", 0xE01CB), # VARIATION SELECTOR-220
-    'VS221' => pack("U", 0xE01CC), # VARIATION SELECTOR-221
-    'VS222' => pack("U", 0xE01CD), # VARIATION SELECTOR-222
-    'VS223' => pack("U", 0xE01CE), # VARIATION SELECTOR-223
-    'VS224' => pack("U", 0xE01CF), # VARIATION SELECTOR-224
-    'VS225' => pack("U", 0xE01D0), # VARIATION SELECTOR-225
-    'VS226' => pack("U", 0xE01D1), # VARIATION SELECTOR-226
-    'VS227' => pack("U", 0xE01D2), # VARIATION SELECTOR-227
-    'VS228' => pack("U", 0xE01D3), # VARIATION SELECTOR-228
-    'VS229' => pack("U", 0xE01D4), # VARIATION SELECTOR-229
-    'VS230' => pack("U", 0xE01D5), # VARIATION SELECTOR-230
-    'VS231' => pack("U", 0xE01D6), # VARIATION SELECTOR-231
-    'VS232' => pack("U", 0xE01D7), # VARIATION SELECTOR-232
-    'VS233' => pack("U", 0xE01D8), # VARIATION SELECTOR-233
-    'VS234' => pack("U", 0xE01D9), # VARIATION SELECTOR-234
-    'VS235' => pack("U", 0xE01DA), # VARIATION SELECTOR-235
-    'VS236' => pack("U", 0xE01DB), # VARIATION SELECTOR-236
-    'VS237' => pack("U", 0xE01DC), # VARIATION SELECTOR-237
-    'VS238' => pack("U", 0xE01DD), # VARIATION SELECTOR-238
-    'VS239' => pack("U", 0xE01DE), # VARIATION SELECTOR-239
-    'VS240' => pack("U", 0xE01DF), # VARIATION SELECTOR-240
-    'VS241' => pack("U", 0xE01E0), # VARIATION SELECTOR-241
-    'VS242' => pack("U", 0xE01E1), # VARIATION SELECTOR-242
-    'VS243' => pack("U", 0xE01E2), # VARIATION SELECTOR-243
-    'VS244' => pack("U", 0xE01E3), # VARIATION SELECTOR-244
-    'VS245' => pack("U", 0xE01E4), # VARIATION SELECTOR-245
-    'VS246' => pack("U", 0xE01E5), # VARIATION SELECTOR-246
-    'VS247' => pack("U", 0xE01E6), # VARIATION SELECTOR-247
-    'VS248' => pack("U", 0xE01E7), # VARIATION SELECTOR-248
-    'VS249' => pack("U", 0xE01E8), # VARIATION SELECTOR-249
-    'VS250' => pack("U", 0xE01E9), # VARIATION SELECTOR-250
-    'VS251' => pack("U", 0xE01EA), # VARIATION SELECTOR-251
-    'VS252' => pack("U", 0xE01EB), # VARIATION SELECTOR-252
-    'VS253' => pack("U", 0xE01EC), # VARIATION SELECTOR-253
-    'VS254' => pack("U", 0xE01ED), # VARIATION SELECTOR-254
-    'VS255' => pack("U", 0xE01EE), # VARIATION SELECTOR-255
-    'VS256' => pack("U", 0xE01EF), # VARIATION SELECTOR-256
-    'WJ'    => pack("U", 0x2060), # WORD JOINER
-    'ZWJ'   => pack("U", 0x200D), # ZERO WIDTH JOINER
-    'ZWNJ'  => pack("U", 0x200C), # ZERO WIDTH NON-JOINER
-    'ZWSP'  => pack("U", 0x200B), # ZERO WIDTH SPACE
-);
-
-my %deprecated_aliases = (
-    # Pre-3.2 compatibility (only for the first 256 characters).
-    # Use of these gives deprecated message.
-    'HORIZONTAL TABULATION' => pack("U", 0x09), # CHARACTER TABULATION
-    'VERTICAL TABULATION'   => pack("U", 0x0B), # LINE TABULATION
-    'FILE SEPARATOR'        => pack("U", 0x1C), # INFORMATION SEPARATOR FOUR
-    'GROUP SEPARATOR'       => pack("U", 0x1D), # INFORMATION SEPARATOR THREE
-    'RECORD SEPARATOR'      => pack("U", 0x1E), # INFORMATION SEPARATOR TWO
-    'UNIT SEPARATOR'        => pack("U", 0x1F), # INFORMATION SEPARATOR ONE
-    'HORIZONTAL TABULATION SET' => pack("U", 0x88), # CHARACTER TABULATION SET
-    'HORIZONTAL TABULATION WITH JUSTIFICATION' => pack("U", 0x89), # CHARACTER TABULATION WITH JUSTIFICATION
-    'PARTIAL LINE DOWN'       => pack("U", 0x8B), # PARTIAL LINE FORWARD
-    'PARTIAL LINE UP'         => pack("U", 0x8C), # PARTIAL LINE BACKWARD
-    'VERTICAL TABULATION SET' => pack("U", 0x8A), # LINE TABULATION SET
-    'REVERSE INDEX'           => pack("U", 0x8D), # REVERSE LINE FEED
-
-    # Unicode 6.0 co-opted this for U+1F514, so deprecate it for now.
-    'BELL'                    => pack("U", 0x07),
-);
-
-
-my $txt;  # The table of official character names
-
-my %full_names_cache; # Holds already-looked-up names, so don't have to
-# re-look them up again.  The previous versions of charnames had scoping
-# bugs.  For example if we use script A in one scope and find and cache
-# what Z resolves to, we can't use that cache in a different scope that
-# uses script B instead of A, as Z might be an entirely different letter
-# there; or there might be different aliases in effect in different
-# scopes, or :short may be in effect or not effect in different scopes,
-# or various combinations thereof.  This was solved in this version
-# mostly by moving things to %^H.  But some things couldn't be moved
-# there.  One of them was the cache of runtime looked-up names, in part
-# because %^H is read-only at runtime.  I (khw) don't know why the cache
-# was run-time only in the previous versions: perhaps oversight; perhaps
-# that compile time looking doesn't happen in a loop so didn't think it
-# was worthwhile; perhaps not wanting to make the cache too large.  But
-# I decided to make it compile time as well; this could easily be
-# changed.
-# Anyway, this hash is not scoped, and is added to at runtime.  It
-# doesn't have scoping problems because the data in it is restricted to
-# official names, which are always invariant, and we only set it and
-# look at it at during :full lookups, so is unaffected by any other
-# scoped options.  I put this in to maintain parity with the older
-# version.  If desired, a %short_names cache could also be made, as well
-# as one for each script, say in %script_names_cache, with each key
-# being a hash for a script named in a 'use charnames' statement.  I
-# decided not to do that for now, just because it's added complication,
-# and because I'm just trying to maintain parity, not extend it.
-
-# Designed so that test decimal first, and then hex.  Leading zeros
-# imply non-decimal, as do non-[0-9]
-my $decimal_qr = qr/^[1-9]\d*$/;
-
-# Returns the hex number in $1.
-my $hex_qr = qr/^(?:[Uu]\+|0[xX])?([[:xdigit:]]+)$/;
-
-sub croak
-{
-  require Carp; goto &Carp::croak;
-} # croak
-
-sub carp
-{
-  require Carp; goto &Carp::carp;
-} # carp
-
-sub alias (@) # Set up a single alias
-{
-  my $alias = ref $_[0] ? $_[0] : { @_ };
-  foreach my $name (keys %$alias) {
-    my $value = $alias->{$name};
-    next unless defined $value;          # Omit if screwed up.
-
-    # Is slightly slower to just after this statement see if it is
-    # decimal, since we already know it is after having converted from
-    # hex, but makes the code easier to maintain, and is called
-    # infrequently, only at compile-time
-    if ($value !~ $decimal_qr && $value =~ $hex_qr) {
-      $value = CORE::hex $1;
-    }
-    if ($value =~ $decimal_qr) {
-        no warnings 'utf8'; # Allow even illegal characters
-        $^H{charnames_ord_aliases}{$name} = pack("U", $value);
-
-        # Use a canonical form.
-        $^H{charnames_inverse_ords}{sprintf("%05X", $value)} = $name;
-    }
-    else {
-        # XXX validate syntax when deprecation cycle complete. ie. start
-        # with an alpha only, etc.
-        $^H{charnames_name_aliases}{$name} = $value;
-    }
-  }
-} # alias
-
-sub not_legal_use_bytes_msg {
-  my ($name, $utf8) = @_;
-  my $return;
-
-  if (length($utf8) == 1) {
-    $return = sprintf("Character 0x%04x with name '%s' is", ord $utf8, $name);
-  } else {
-    $return = sprintf("String with name '%s' (and ordinals %s) contains character(s)", $name, join(" ", map { sprintf "0x%04X", ord $_ } split(//, $utf8)));
-  }
-  return $return . " above 0xFF with 'use bytes' in effect";
-}
-
-sub alias_file ($)  # Reads a file containing alias definitions
-{
-  my ($arg, $file) = @_;
-  if (-f $arg && File::Spec->file_name_is_absolute ($arg)) {
-    $file = $arg;
-  }
-  elsif ($arg =~ m/^\w+$/) {
-    $file = "unicore/${arg}_alias.pl";
-  }
-  else {
-    croak "Charnames alias files can only have identifier characters";
-  }
-  if (my @alias = do $file) {
-    @alias == 1 && !defined $alias[0] and
-      croak "$file cannot be used as alias file for charnames";
-    @alias % 2 and
-      croak "$file did not return a (valid) list of alias pairs";
-    alias (@alias);
-    return (1);
-  }
-  0;
-} # alias_file
-
-# For use when don't import anything.  This structure must be kept in
-# sync with the one that import() fills up.
-my %dummy_H = (
-                charnames_stringified_names => "",
-                charnames_stringified_ords => "",
-                charnames_scripts => "",
-                charnames_full => 1,
-                charnames_short => 0,
-              );
-
-
-sub lookup_name ($$$) {
-  my ($name, $wants_ord, $runtime) = @_;
-
-  # Lookup the name or sequence $name in the tables.  If $wants_ord is false,
-  # returns the string equivalent of $name; if true, returns the ordinal value
-  # instead, but in this case $name must not be a sequence; otherwise undef is
-  # returned and a warning raised.  $runtime is 0 if compiletime, otherwise
-  # gives the number of stack frames to go back to get the application caller
-  # info.
-  # If $name is not found, returns undef in runtime with no warning; and in
-  # compiletime, the Unicode replacement character, with a warning.
-
-  # It looks first in the aliases, then in the large table of official Unicode
-  # names.
-
-  my $utf8;       # The string result
-  my $save_input;
-
-  if ($runtime) {
-
-    my $hints_ref = (caller($runtime))[10];
-
-    # If we didn't import anything (which happens with 'use charnames ()',
-    # substitute a dummy structure.
-    $hints_ref = \%dummy_H if ! defined $hints_ref
-                              || ! defined $hints_ref->{charnames_full};
-
-    # At runtime, but currently not at compile time, $^H gets
-    # stringified, so un-stringify back to the original data structures.
-    # These get thrown away by perl before the next invocation
-    # Also fill in the hash with the non-stringified data.
-    # N.B.  New fields must be also added to %dummy_H
-
-    %{$^H{charnames_name_aliases}} = split ',',
-                                      $hints_ref->{charnames_stringified_names};
-    %{$^H{charnames_ord_aliases}} = split ',',
-                                      $hints_ref->{charnames_stringified_ords};
-    $^H{charnames_scripts} = $hints_ref->{charnames_scripts};
-    $^H{charnames_full} = $hints_ref->{charnames_full};
-    $^H{charnames_short} = $hints_ref->{charnames_short};
-  }
-
-  # User alias should be checked first or else can't override ours, and if we
-  # were to add any, could conflict with theirs.
-  if (exists $^H{charnames_ord_aliases}{$name}) {
-    $utf8 = $^H{charnames_ord_aliases}{$name};
-  }
-  elsif (exists $^H{charnames_name_aliases}{$name}) {
-    $name = $^H{charnames_name_aliases}{$name};
-    $save_input = $name;  # Cache the result for any error message
-  }
-  elsif (exists $system_aliases{$name}) {
-    $utf8 = $system_aliases{$name};
-  }
-  elsif (exists $deprecated_aliases{$name}) {
-    require warnings;
-    warnings::warnif('deprecated', "Unicode character name \"$name\" is deprecated, use \"" . viacode(ord $deprecated_aliases{$name}) . "\" instead");
-    $utf8 = $deprecated_aliases{$name};
-  }
-
-  my @off;
-
-  if (! defined $utf8) {
-
-    # See if has looked this input up earlier.
-    if ($^H{charnames_full} && exists $full_names_cache{$name}) {
-      $utf8 = $full_names_cache{$name};
-    }
-    else {
-
-      ## Suck in the code/name list as a big string.
-      ## Lines look like:
-      ##     "00052\tLATIN CAPITAL LETTER R\n"
-      # or
-      #      "0052 0303\tLATIN CAPITAL LETTER R WITH TILDE\n"
-      $txt = do "unicore/Name.pl" unless $txt;
-
-      ## @off will hold the index into the code/name string of the start and
-      ## end of the name as we find it.
-
-      ## If :full, look for the name exactly; runtime implies full
-      my $found_full_in_table = 0;  # Tells us if can cache the result
-      if ($^H{charnames_full}) {
-
-        # See if the name is one which is algorithmically determinable.
-        # The subroutine is included in Name.pl.  The table contained in
-        # $txt doesn't contain these.  Experiments show that checking
-        # for these before checking for the regular names has no
-        # noticeable impact on performance for the regular names, but
-        # the other way around slows down finding these immensely.
-        # Algorithmically determinables are not placed in the cache (that
-        # $found_full_in_table indicates) because that uses up memory,
-        # and finding these again is fast.
-        if (defined (my $ord = name_to_code_point_special($name))) {
-          $utf8 = pack("U", $ord);
-        }
-        else {
-
-          # Not algorithmically determinable; look up in the table.
-          if ($txt =~ /\t\Q$name\E$/m) {
-            @off = ($-[0] + 1, $+[0]);    # The 1 is for the tab
-            $found_full_in_table = 1;
-          }
-        }
-      }
-
-      # If we didn't get it above, keep looking
-      if (! $found_full_in_table && ! defined $utf8) {
-
-        # If :short is allowed, see if input is like "greek:Sigma".
-        my $scripts_trie;
-        if (($^H{charnames_short})
-            && $name =~ /^ \s* (.+?) \s* : \s* (.+?) \s* $ /xs)
-        {
-            $scripts_trie = "\U\Q$1";
-            $name = $2;
-        }
-        else { # Otherwise look in allowed scripts
-            $scripts_trie = $^H{charnames_scripts};
-        }
-
-        my $case = $name =~ /[[:upper:]]/ ? "CAPITAL" : "SMALL";
-        if ($txt !~
-            /\t (?: $scripts_trie ) \ (?:$case\ )? LETTER \ \U\Q$name\E $/xm)
-        {
-          # Here we still don't have it, give up.
-          return if $runtime;
-
-          # May have zapped input name, get it again.
-          $name = (defined $save_input) ? $save_input : $_[0];
-          carp "Unknown charname '$name'";
-          return ($wants_ord) ? 0xFFFD : pack("U", 0xFFFD);
-        }
-
-        @off = ($-[0] + 1, $+[0]);  # The 1 is for the tab
-      }
-
-      if (! defined $utf8) {
-
-        # Here, we haven't set up the output, but we know where in the string
-        # the name starts.  The string is set up so that for single characters
-        # (and not named sequences), the name is preceded immediately by a
-        # tab and 5 hex digits for its code, with a \n before those.  Named
-        # sequences won't have the 7th preceding character be a \n.
-        # (Actually, for the very first entry in the table this isn't strictly
-        # true: subtracting 7 will yield -1, and the substr below will
-        # therefore yield the very last character in the table, which should
-        # also be a \n, so the statement works anyway.)
-        if (substr($txt, $off[0] - 7, 1) eq "\n") {
-          $utf8 = pack("U", CORE::hex substr($txt, $off[0] - 6, 5));
-        }
-        else {
-
-          # Here, is a named sequence.  Need to go looking for the beginning,
-          # which is just after the \n from the previous entry in the table.
-          # The +1 skips past that newline, or, if the rindex() fails, to put
-          # us to an offset of zero.
-          my $charstart = rindex($txt, "\n", $off[0] - 7) + 1;
-          $utf8 = pack("U*", map { CORE::hex }
-              split " ", substr($txt, $charstart, $off[0] - $charstart - 1));
-        }
-      }
-
-      # Cache the input so as to not have to search the large table
-      # again, but only if it came from the one search that we cache.
-      $full_names_cache{$name} = $utf8 if $found_full_in_table;
-    }
-  }
-
-
-  # Here, have the utf8.  If the return is to be an ord, must be any single
-  # character.
-  if ($wants_ord) {
-    return ord($utf8) if length $utf8 == 1;
-  }
-  else {
-
-    # Here, wants string output.  If utf8 is acceptable, just return what
-    # we've got; otherwise attempt to convert it to non-utf8 and return that.
-    my $in_bytes = ($runtime)
-                   ? (caller $runtime)[8] & $bytes::hint_bits
-                   : $^H & $bytes::hint_bits;
-    return $utf8 if (! $in_bytes || utf8::downgrade($utf8, 1)) # The 1 arg
-                                                  # means don't die on failure
-  }
-
-  # Here, there is an error:  either there are too many characters, or the
-  # result string needs to be non-utf8, and at least one character requires
-  # utf8.  Prefer any official name over the input one for the error message.
-  if (@off) {
-    $name = substr($txt, $off[0], $off[1] - $off[0]) if @off;
-  }
-  else {
-    $name = (defined $save_input) ? $save_input : $_[0];
-  }
-
-  if ($wants_ord) {
-    # Only way to get here in this case is if result too long.  Message
-    # assumes that our only caller that requires single char result is
-    # vianame.
-    carp "charnames::vianame() doesn't handle named sequences ($name).  Use charnames::string_vianame() instead";
-    return;
-  }
-
-  # Only other possible failure here is from use bytes.
-  if ($runtime) {
-    carp not_legal_use_bytes_msg($name, $utf8);
-    return;
-  } else {
-    croak not_legal_use_bytes_msg($name, $utf8);
-  }
-
-} # lookup_name
-
-sub charnames {
-
-  # For \N{...}.  Looks up the character name and returns the string
-  # representation of it.
-
-  # The first 0 arg means wants a string returned; the second that we are in
-  # compile time
-  return lookup_name($_[0], 0, 0);
-}
-
 sub import
 {
   shift; ## ignore class name
+  _charnames->import(@_);
+}
 
-  if (not @_) {
-    carp("`use charnames' needs explicit imports list");
-  }
-  $^H{charnames} = \&charnames ;
-  $^H{charnames_ord_aliases} = {};
-  $^H{charnames_name_aliases} = {};
-  $^H{charnames_inverse_ords} = {};
-  # New fields must be added to %dummy_H, and the code in lookup_name()
-  # that copies fields from the runtime structure
-
-  ##
-  ## fill %h keys with our @_ args.
-  ##
-  my ($promote, %h, @args) = (0);
-  while (my $arg = shift) {
-    if ($arg eq ":alias") {
-      @_ or
-        croak ":alias needs an argument in charnames";
-      my $alias = shift;
-      if (ref $alias) {
-        ref $alias eq "HASH" or
-          croak "Only HASH reference supported as argument to :alias";
-        alias ($alias);
-        next;
-      }
-      if ($alias =~ m{:(\w+)$}) {
-        $1 eq "full" || $1 eq "short" and
-          croak ":alias cannot use existing pragma :$1 (reversed order?)";
-        alias_file ($1) and $promote = 1;
-        next;
-      }
-      alias_file ($alias);
-      next;
-    }
-    if (substr($arg, 0, 1) eq ':' and ! ($arg eq ":full" || $arg eq ":short")) {
-      warn "unsupported special '$arg' in charnames";
-      next;
-    }
-    push @args, $arg;
-  }
-  @args == 0 && $promote and @args = (":full");
-  @h{@args} = (1) x @args;
-
-  $^H{charnames_full} = delete $h{':full'} || 0;  # Don't leave undefined,
-                                                  # as tested for in
-                                                  # lookup_names
-  $^H{charnames_short} = delete $h{':short'} || 0;
-  my @scripts = map uc, keys %h;
-
-  ##
-  ## If utf8? warnings are enabled, and some scripts were given,
-  ## see if at least we can find one letter from each script.
-  ##
-  if (warnings::enabled('utf8') && @scripts) {
-    $txt = do "unicore/Name.pl" unless $txt;
-
-    for my $script (@scripts) {
-      if (not $txt =~ m/\t$script (?:CAPITAL |SMALL )?LETTER /) {
-        warnings::warn('utf8',  "No such script: '$script'");
-        $script = quotemeta $script;  # Escape it, for use in the re.
-      }
-    }
-  }
-
-  # %^H gets stringified, so serialize it ourselves so can extract the
-  # real data back later.
-  $^H{charnames_stringified_ords} = join ",", %{$^H{charnames_ord_aliases}};
-  $^H{charnames_stringified_names} = join ",", %{$^H{charnames_name_aliases}};
-  $^H{charnames_stringified_inverse_ords} = join ",", %{$^H{charnames_inverse_ords}};
-  $^H{charnames_scripts} = join "|", @scripts;  # Stringifiy them as a trie
-} # import
-
 # Cache of already looked-up values.  This is set to only contain
 # official values, and user aliases can't override them, so scoping is
 # not an issue.
@@ -834,81 +27,13 @@
 my %viacode;
 
 sub viacode {
+  return _charnames::viacode(@_);
+}
 
-  # Returns the name of the code point argument
-
-  if (@_ != 1) {
-    carp "charnames::viacode() expects one argument";
-    return;
-  }
-
-  my $arg = shift;
-
-  # This is derived from Unicode::UCD, where it is nearly the same as the
-  # function _getcode(), but here it makes sure that even a hex argument
-  # has the proper number of leading zeros, which is critical in
-  # matching against $txt below
-  # Must check if decimal first; see comments at that definition
-  my $hex;
-  if ($arg =~ $decimal_qr) {
-    $hex = sprintf "%05X", $arg;
-  } elsif ($arg =~ $hex_qr) {
-    # Below is the line that differs from the _getcode() source
-    $hex = sprintf "%05X", hex $1;
-  } else {
-    carp("unexpected arg \"$arg\" to charnames::viacode()");
-    return;
-  }
-
-  return $viacode{$hex} if exists $viacode{$hex};
-
-  # If the code point is above the max in the table, there's no point
-  # looking through it.  Checking the length first is slightly faster
-  if (length($hex) <= 5 || CORE::hex($hex) <= 0x10FFFF) {
-    $txt = do "unicore/Name.pl" unless $txt;
-
-    # See if the name is algorithmically determinable.
-    my $algorithmic = code_point_to_name_special(CORE::hex $hex);
-    if (defined $algorithmic) {
-      $viacode{$hex} = $algorithmic;
-      return $algorithmic;
-    }
-
-    # Return the official name, if exists.  It's unclear to me (khw) at
-    # this juncture if it is better to return a user-defined override, so
-    # leaving it as is for now.
-    if ($txt =~ m/^$hex\t/m) {
-
-        # The name starts with the next character and goes up to the
-        # next new-line.  Using capturing parentheses above instead of
-        # @+ more than doubles the execution time in Perl 5.13
-        $viacode{$hex} = substr($txt, $+[0], index($txt, "\n", $+[0]) - $+[0]);
-        return $viacode{$hex};
-    }
-  }
-
-  # See if there is a user name for it, before giving up completely.
-  # First get the scoped aliases, give up if have none.
-  my $H_ref = (caller(0))[10];
-  return if ! defined $H_ref
-            || ! exists $H_ref->{charnames_stringified_inverse_ords};
-
-  my %code_point_aliases = split ',',
-                          $H_ref->{charnames_stringified_inverse_ords};
-  if (! exists $code_point_aliases{$hex}) {
-    if (CORE::hex($hex) > 0x10FFFF) {
-        carp "Unicode characters only allocated up to U+10FFFF (you asked for U+$hex)";
-    }
-    return;
-  }
-
-  return $code_point_aliases{$hex};
-} # viacode
-
 sub vianame
 {
   if (@_ != 1) {
-    carp "charnames::vianame() expects one name argument";
+    _charnames::carp "charnames::vianame() expects one name argument";
     return ()
   }
 
@@ -925,13 +50,13 @@
     # string_vianame() instead.
     my $ord = CORE::hex $1;
     return chr $ord if $ord <= 255 || ! ((caller 0)[8] & $bytes::hint_bits);
-    carp not_legal_use_bytes_msg($arg, chr $ord);
+    _charnames::carp _charnames::not_legal_use_bytes_msg($arg, chr $ord);
     return;
   }
 
   # The first 1 arg means wants an ord returned; the second that we are in
   # runtime, and this is the first level routine called from the user
-  return lookup_name($arg, 1, 1);
+  return _charnames::lookup_name($arg, 1, 1);
 } # vianame
 
 sub string_vianame {
@@ -940,7 +65,7 @@
   # found, undef otherwise.
 
   if (@_ != 1) {
-    carp "charnames::string_vianame() expects one name argument";
+    _charnames::carp "charnames::string_vianame() expects one name argument";
     return;
   }
 
@@ -951,20 +76,20 @@
     my $ord = CORE::hex $1;
     return chr $ord if $ord <= 255 || ! ((caller 0)[8] & $bytes::hint_bits);
 
-    carp not_legal_use_bytes_msg($arg, chr $ord);
+    _charnames::carp _charnames::not_legal_use_bytes_msg($arg, chr $ord);
     return;
   }
 
   # The 0 arg means wants a string returned; the 1 arg means that we are in
   # runtime, and this is the first level routine called from the user
-  return lookup_name($arg, 0, 1);
+  return _charnames::lookup_name($arg, 0, 1);
 } # string_vianame
 
-
-
 1;
 __END__
 
+=encoding utf8
+
 =head1 NAME
 
 charnames - access to Unicode character names and named character sequences; also define character names
@@ -976,6 +101,11 @@
  print "\N{LATIN CAPITAL LETTER E WITH VERTICAL LINE BELOW}",
        " is an officially named sequence of two Unicode characters\n";
 
+ use charnames ':loose';
+ print "\N{Greek small-letter  sigma}",
+        "can be used to ignore case, underscores, most blanks,"
+        "and when you aren't sure if the official name has hyphens\n";
+
  use charnames ':short';
  print "\N{greek:Sigma} is an upper-case sigma.\n";
 
@@ -982,12 +112,16 @@
  use charnames qw(cyrillic greek);
  print "\N{sigma} is Greek sigma, and \N{be} is Cyrillic b.\n";
 
+ use utf8;
  use charnames ":full", ":alias" => {
    e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE",
    mychar => 0xE8000,  # Private use area
+   "自転車に乗る人" => "BICYCLIST"
  };
  print "\N{e_ACUTE} is a small letter e with an acute.\n";
- print "\\N{mychar} allows me to name private use characters.\n";
+ print "\N{mychar} allows me to name private use characters.\n";
+ print "And I can create synonyms in other languages,",
+       " such as \N{自転車に乗る人} for "BICYCLIST (U+1F6B4)\n";
 
  use charnames ();
  print charnames::viacode(0x1234); # prints "ETHIOPIC SYLLABLE SEE"
@@ -1027,42 +161,55 @@
 
 =back
 
-All forms other than C<S<"use charnames ();">> also enable the use of
-C<\N{I<CHARNAME>}> sequences to compile a Unicode character into a
-string, based on its name.
+Starting in Perl v5.16, any occurrence of C<\N{I<CHARNAME>}> sequences
+in a double-quotish string automatically loads this module with arguments
+C<:full> and C<:short> (described below) if it hasn't already been loaded with
+different arguments, in order to compile the named Unicode character into
+position in the string.  Prior to v5.16, an explicit S<C<use charnames>> was
+required to enable this usage.  (However, prior to v5.16, the form C<S<"use
+charnames ();">> did not enable C<\N{I<CHARNAME>}>.)
 
 Note that C<\N{U+I<...>}>, where the I<...> is a hexadecimal number,
-also inserts a character into a string, but doesn't require the use of
-this pragma.  The character it inserts is the one whose code point
+also inserts a character into a string.
+The character it inserts is the one whose code point
 (ordinal value) is equal to the number.  For example, C<"\N{U+263a}"> is
-the Unicode (white background, black foreground) smiley face; it doesn't
-require this pragma, whereas the equivalent, C<"\N{WHITE SMILING FACE}">
-does.
-Also, C<\N{I<...>}> can mean a regex quantifier instead of a character
+the Unicode (white background, black foreground) smiley face
+equivalent to C<"\N{WHITE SMILING FACE}">.
+Also note, C<\N{I<...>}> can mean a regex quantifier instead of a character
 name, when the I<...> is a number (or comma separated pair of numbers
 (see L<perlreref/QUANTIFIERS>), and is not related to this pragma.
 
-The C<charnames> pragma supports arguments C<:full>, C<:short>, script
-names and customized aliases.  If C<:full> is present, for expansion of
+The C<charnames> pragma supports arguments C<:full>, C<:loose>, C<:short>,
+script names and L<customized aliases|/CUSTOM ALIASES>.
+
+If C<:full> is present, for expansion of
 C<\N{I<CHARNAME>}>, the string I<CHARNAME> is first looked up in the list of
-standard Unicode character names.  If C<:short> is present, and
+standard Unicode character names.
+
+C<:loose> is a variant of C<:full> which allows I<CHARNAME> to be less
+precisely specified.  Details are in L</LOOSE MATCHES>.
+
+If C<:short> is present, and
 I<CHARNAME> has the form C<I<SCRIPT>:I<CNAME>>, then I<CNAME> is looked up
-as a letter in script I<SCRIPT>.  If C<use charnames> is used
+as a letter in script I<SCRIPT>, as described in the next paragraph.
+Or, if C<use charnames> is used
 with script name arguments, then for C<\N{I<CHARNAME>}> the name
 I<CHARNAME> is looked up as a letter in the given scripts (in the
 specified order). Customized aliases can override these, and are explained in
 L</CUSTOM ALIASES>.
 
-For lookup of I<CHARNAME> inside a given script I<SCRIPTNAME>
-this pragma looks for the names
+For lookup of I<CHARNAME> inside a given script I<SCRIPTNAME>,
+this pragma looks in the table of standard Unicode names for the names
 
   SCRIPTNAME CAPITAL LETTER CHARNAME
   SCRIPTNAME SMALL LETTER CHARNAME
   SCRIPTNAME LETTER CHARNAME
 
-in the table of standard Unicode names.  If I<CHARNAME> is lowercase,
+If I<CHARNAME> is all lowercase,
 then the C<CAPITAL> variant is ignored, otherwise the C<SMALL> variant
-is ignored.
+is ignored, and both I<CHARNAME> and I<SCRIPTNAME> are converted to all
+uppercase for look-up.  Other than that, both of them follow L<loose|/LOOSE
+MATCHES> rules if C<:loose> is also specified; strict otherwise.
 
 Note that C<\N{...}> is compile-time; it's a special form of string
 constant used inside double-quotish strings; this means that you cannot
@@ -1070,14 +217,11 @@
 functionality, use
 L<charnames::string_vianame()|/charnames::string_vianame(I<name>)>.
 
-For the C0 and C1 control characters (U+0000..U+001F, U+0080..U+009F)
-there are no official Unicode names but you can use instead the ISO 6429
-names (LINE FEED, ESCAPE, and so forth, and their abbreviations, LF,
-ESC, ...).  In Unicode 3.2 (as of Perl 5.8) some naming changes took
-place, and ISO 6429 was updated, see L</ALIASES>.
+Note, starting in Perl 5.18, the name C<BELL> refers to the Unicode character
+U+1F514, instead of the traditional U+0007.  For the latter, use C<ALERT>
+or C<BEL>.
 
-If the input name is unknown, C<\N{NAME}> raises a warning and
-substitutes the Unicode REPLACEMENT CHARACTER (U+FFFD).
+It is a syntax error to use C<\N{NAME}> where C<NAME> is unknown.
 
 For C<\N{NAME}>, it is a fatal error if C<use bytes> is in effect and the
 input name is that of a character that won't fit into a byte (i.e., whose
@@ -1087,107 +231,44 @@
 C<S<\N{U+I<code point>}>> will automatically have Unicode semantics (see
 L<perlunicode/Byte and Character Semantics>).
 
-=head1 ALIASES
+=head1 LOOSE MATCHES
 
-A few aliases have been defined for convenience: instead of having
-to use the official names
+By specifying C<:loose>, Unicode's L<loose character name
+matching|http://www.unicode.org/reports/tr44#Matching_Rules> rules are
+selected instead of the strict exact match used otherwise.
+That means that I<CHARNAME> doesn't have to be so precisely specified.
+Upper/lower case doesn't matter (except with scripts as mentioned above), nor
+do any underscores, and the only hyphens that matter are those at the
+beginning or end of a word in the name (with one exception:  the hyphen in
+U+1180 C<HANGUL JUNGSEONG O-E> does matter).
+Also, blanks not adjacent to hyphens don't matter.
+The official Unicode names are quite variable as to where they use hyphens
+versus spaces to separate word-like units, and this option allows you to not
+have to care as much.
+The reason non-medial hyphens matter is because of cases like
+U+0F60 C<TIBETAN LETTER -A> versus U+0F68 C<TIBETAN LETTER A>.
+The hyphen here is significant, as is the space before it, and so both must be
+included.
 
-    LINE FEED (LF)
-    FORM FEED (FF)
-    CARRIAGE RETURN (CR)
-    NEXT LINE (NEL)
+C<:loose> slows down look-ups by a factor of 2 to 3 versus
+C<:full>, but the trade-off may be worth it to you.  Each individual look-up
+takes very little time, and the results are cached, so the speed difference
+would become a factor only in programs that do look-ups of many different
+spellings, and probably only when those look-ups are through C<vianame()> and
+C<string_vianame()>, since C<\N{...}> look-ups are done at compile time.
 
-(yes, with parentheses), one can use
+=head1 ALIASES
 
-    LINE FEED
-    FORM FEED
-    CARRIAGE RETURN
-    NEXT LINE
-    LF
-    FF
-    CR
-    NEL
+Starting in Unicode 6.1 and Perl v5.16, Unicode defines many abbreviations and
+names that were formerly Perl extensions, and some additional ones that Perl
+did not previously accept.  The list is getting too long to reproduce here,
+but you can get the complete list from the Unicode web site:
+L<http://www.unicode.org/Public/UNIDATA/NameAliases.txt>.
 
-All the other standard abbreviations for the controls, such as C<ACK> for
-C<ACKNOWLEDGE> also can be used.
+Earlier versions of Perl accepted almost all the 6.1 names.  These were most
+extensively documented in the v5.14 version of this pod:
+L<http://perldoc.perl.org/5.14.0/charnames.html#ALIASES>.
 
-One can also use
-
-    BYTE ORDER MARK
-    BOM
-
-and these abbreviations
-
-    Abbreviation        Full Name
-
-    CGJ                 COMBINING GRAPHEME JOINER
-    FVS1                MONGOLIAN FREE VARIATION SELECTOR ONE
-    FVS2                MONGOLIAN FREE VARIATION SELECTOR TWO
-    FVS3                MONGOLIAN FREE VARIATION SELECTOR THREE
-    LRE                 LEFT-TO-RIGHT EMBEDDING
-    LRM                 LEFT-TO-RIGHT MARK
-    LRO                 LEFT-TO-RIGHT OVERRIDE
-    MMSP                MEDIUM MATHEMATICAL SPACE
-    MVS                 MONGOLIAN VOWEL SEPARATOR
-    NBSP                NO-BREAK SPACE
-    NNBSP               NARROW NO-BREAK SPACE
-    PDF                 POP DIRECTIONAL FORMATTING
-    RLE                 RIGHT-TO-LEFT EMBEDDING
-    RLM                 RIGHT-TO-LEFT MARK
-    RLO                 RIGHT-TO-LEFT OVERRIDE
-    SHY                 SOFT HYPHEN
-    VS1                 VARIATION SELECTOR-1
-    .
-    .
-    .
-    VS256               VARIATION SELECTOR-256
-    WJ                  WORD JOINER
-    ZWJ                 ZERO WIDTH JOINER
-    ZWNJ                ZERO WIDTH NON-JOINER
-    ZWSP                ZERO WIDTH SPACE
-
-For backward compatibility one can use the old names for
-certain C0 and C1 controls
-
-    old                         new
-
-    FILE SEPARATOR              INFORMATION SEPARATOR FOUR
-    GROUP SEPARATOR             INFORMATION SEPARATOR THREE
-    HORIZONTAL TABULATION       CHARACTER TABULATION
-    HORIZONTAL TABULATION SET   CHARACTER TABULATION SET
-    HORIZONTAL TABULATION WITH JUSTIFICATION    CHARACTER TABULATION
-                                                WITH JUSTIFICATION
-    PARTIAL LINE DOWN           PARTIAL LINE FORWARD
-    PARTIAL LINE UP             PARTIAL LINE BACKWARD
-    RECORD SEPARATOR            INFORMATION SEPARATOR TWO
-    REVERSE INDEX               REVERSE LINE FEED
-    UNIT SEPARATOR              INFORMATION SEPARATOR ONE
-    VERTICAL TABULATION         LINE TABULATION
-    VERTICAL TABULATION SET     LINE TABULATION SET
-
-but the old names in addition to giving the character
-will also give a warning about being deprecated.
-
-And finally, certain published variants are usable, including some for
-controls that have no Unicode names:
-
-    name                                   character
-
-    END OF PROTECTED AREA                  END OF GUARDED AREA, U+0097
-    HIGH OCTET PRESET                      U+0081
-    HOP                                    U+0081
-    IND                                    U+0084
-    INDEX                                  U+0084
-    PAD                                    U+0080
-    PADDING CHARACTER                      U+0080
-    PRIVATE USE 1                          PRIVATE USE ONE, U+0091
-    PRIVATE USE 2                          PRIVATE USE TWO, U+0092
-    SGC                                    U+0099
-    SINGLE GRAPHIC CHARACTER INTRODUCER    U+0099
-    SINGLE-SHIFT 2                         SINGLE SHIFT TWO, U+008E
-    SINGLE-SHIFT 3                         SINGLE SHIFT THREE, U+008F
-    START OF PROTECTED AREA                START OF GUARDED AREA, U+0096
-
 =head1 CUSTOM ALIASES
 
 You can add customized aliases to standard (C<:full>) Unicode naming
@@ -1195,15 +276,22 @@
 you're twisted enough, you can change C<"\N{LATIN CAPITAL LETTER A}"> to
 mean C<"B">, etc.
 
-Note that an alias should not be something that is a legal curly
-brace-enclosed quantifier (see L<perlreref/QUANTIFIERS>).  For example
-C<\N{123}> means to match 123 non-newline characters, and is not treated as a
-charnames alias.  Aliases are discouraged from beginning with anything
-other than an alphabetic character and from containing anything other
-than alphanumerics, spaces, dashes, parentheses, and underscores.
-Currently they must be ASCII.
+Aliases must begin with a character that is alphabetic.  After that, each may
+contain any combination of word (C<\w>) characters, SPACE (U+0020),
+HYPHEN-MINUS (U+002D), LEFT PARENTHESIS (U+0028), RIGHT PARENTHESIS (U+0029),
+and NO-BREAK SPACE (U+00A0).  These last three should never have been allowed
+in names, and are retained for backwards compatibility only; they may be
+deprecated and removed in future releases of Perl, so don't use them for new
+names.  (More precisely, the first character of a name you specify must be
+something that matches all of C<\p{ID_Start}>, C<\p{Alphabetic}>, and
+C<\p{Gc=Letter}>.  This makes sure it is what any reasonable person would view
+as an alphabetic character.  And, the continuation characters that match C<\w>
+must also match C<\p{ID_Continue}>.)  Starting with Perl v5.18, any Unicode
+characters meeting the above criteria may be used; prior to that only
+Latin1-range characters were acceptable.
 
-An alias can map to either an official Unicode character name or to a
+An alias can map to either an official Unicode character name (not a loose
+matched name) or to a
 numeric code point (ordinal).  The latter is useful for assigning names
 to code points in Unicode private use areas such as U+E800 through
 U+F8FF.
@@ -1245,10 +333,46 @@
 
     use charnames ":full", ":alias" => "pro";
 
-Also, both these methods currently allow only a single character to be named.
+C<":loose"> has no effect with these.  Input names must match exactly, using
+C<":full"> rules.
+
+Also, both these methods currently allow only single characters to be named.
 To name a sequence of characters, use a
 L<custom translator|/CUSTOM TRANSLATORS> (described below).
 
+=head1 charnames::string_vianame(I<name>)
+
+This is a runtime equivalent to C<\N{...}>.  I<name> can be any expression
+that evaluates to a name accepted by C<\N{...}> under the L<C<:full>
+option|/DESCRIPTION> to C<charnames>.  In addition, any other options for the
+controlling C<"use charnames"> in the same scope apply, like C<:loose> or any
+L<script list, C<:short> option|/DESCRIPTION>, or L<custom aliases|/CUSTOM
+ALIASES> you may have defined.
+
+The only differences are due to the fact that C<string_vianame> is run-time
+and C<\N{}> is compile time.  You can't interpolate inside a C<\N{}>, (so
+C<\N{$variable}> doesn't work); and if the input name is unknown,
+C<string_vianame> returns C<undef> instead of it being a syntax error.
+
+=head1 charnames::vianame(I<name>)
+
+This is similar to C<string_vianame>.  The main difference is that under most
+circumstances, C<vianame> returns an ordinal code
+point, whereas C<string_vianame> returns a string.  For example,
+
+   printf "U+%04X", charnames::vianame("FOUR TEARDROP-SPOKED ASTERISK");
+
+prints "U+2722".
+
+This leads to the other two differences.  Since a single code point is
+returned, the function can't handle named character sequences, as these are
+composed of multiple characters (it returns C<undef> for these.  And, the code
+point can be that of any
+character, even ones that aren't legal under the C<S<use bytes>> pragma,
+
+See L</BUGS> for the circumstances in which the behavior differs
+from  that described above.
+
 =head1 charnames::viacode(I<code>)
 
 Returns the full name of the character indicated by the numeric code.
@@ -1258,57 +382,67 @@
 
 prints "FOUR TEARDROP-SPOKED ASTERISK".
 
-The name returned is the official name for the code point, if
-available; otherwise your custom alias for it.  This means that your
-alias will only be returned for code points that don't have an official
-Unicode name (nor Unicode version 1 name), such as private use code
-points, and the 4 control characters U+0080, U+0081, U+0084, and U+0099.
+The name returned is the "best" (defined below) official name or alias
+for the code point, if
+available; otherwise your custom alias for it, if defined; otherwise C<undef>.
+This means that your alias will only be returned for code points that don't
+have an official Unicode name (nor alias) such as private use code points.
+
 If you define more than one name for the code point, it is indeterminate
 which one will be returned.
 
-The function returns C<undef> if no name is known for the code point.
-In Unicode the proper name of these is the empty string, which
+As mentioned, the function returns C<undef> if no name is known for the code
+point.  In Unicode the proper name for these is the empty string, which
 C<undef> stringifies to.  (If you ask for a code point past the legal
 Unicode maximum of U+10FFFF that you haven't assigned an alias to, you
 get C<undef> plus a warning.)
 
-The input number must be a non-negative integer or a string beginning
+The input number must be a non-negative integer, or a string beginning
 with C<"U+"> or C<"0x"> with the remainder considered to be a
 hexadecimal integer.  A literal numeric constant must be unsigned; it
 will be interpreted as hex if it has a leading zero or contains
 non-decimal hex digits; otherwise it will be interpreted as decimal.
 
-Notice that the name returned for of U+FEFF is "ZERO WIDTH NO-BREAK
-SPACE", not "BYTE ORDER MARK".
+As mentioned above under L</ALIASES>, Unicode 6.1 defines extra names
+(synonyms or aliases) for some code points, most of which were already
+available as Perl extensions.  All these are accepted by C<\N{...}> and the
+other functions in this module, but C<viacode> has to choose which one
+name to return for a given input code point, so it returns the "best" name.
+To understand how this works, it is helpful to know more about the Unicode
+name properties.  All code points actually have only a single name, which
+(starting in Unicode 2.0) can never change once a character has been assigned
+to the code point.  But mistakes have been made in assigning names, for
+example sometimes a clerical error was made during the publishing of the
+Standard which caused words to be misspelled, and there was no way to correct
+those.  The Name_Alias property was eventually created to handle these
+situations.  If a name was wrong, a corrected synonym would be published for
+it, using Name_Alias.  C<viacode> will return that corrected synonym as the
+"best" name for a code point.  (It is even possible, though it hasn't happened
+yet, that the correction itself will need to be corrected, and so another
+Name_Alias can be created for that code point; C<viacode> will return the
+most recent correction.)
 
-=head1 charnames::string_vianame(I<name>)
+The Unicode name for each of the control characters (such as LINE FEED) is the
+empty string.  However almost all had names assigned by other standards, such
+as the ASCII Standard, or were in common use.  C<viacode> returns these names
+as the "best" ones available.  Unicode 6.1 has created Name_Aliases for each
+of them, including alternate names, like NEW LINE.  C<viacode> uses the
+original name, "LINE FEED" in preference to the alternate.  Similarly the
+name returned for U+FEFF is "ZERO WIDTH NO-BREAK SPACE", not "BYTE ORDER
+MARK".
 
-This is a runtime equivalent to C<\N{...}>.  I<name> can be any expression
-that evaluates to a name accepted by C<\N{...}> under the L<C<:full>
-option|/DESCRIPTION> to C<charnames>.  In addition, any other options for the
-controlling C<"use charnames"> in the same scope apply, like any L<script
-list, C<:short> option|/DESCRIPTION>, or L<custom aliases|/CUSTOM ALIASES> you
-may have defined.
+Until Unicode 6.1, the 4 control characters U+0080, U+0081, U+0084, and U+0099
+did not have names nor aliases.
+To preserve backwards compatibility, any alias you define for these code
+points will be returned by this function, in preference to the official name.
 
-The only difference is that if the input name is unknown, C<string_vianame>
-returns C<undef> instead of the REPLACEMENT CHARACTER and does not raise a
-warning message.
+Some code points also have abbreviated names, such as "LF" or "NL".
+C<viacode> never returns these.
 
-=head1 charnames::vianame(I<name>)
+Because a name correction may be added in future Unicode releases, the name
+that C<viacode> returns may change as a result.  This is a rare event, but it
+does happen.
 
-This is similar to C<string_vianame>.  The main difference is that under most
-circumstances (see L</BUGS> for the others), vianame returns an ordinal code
-point, whereas C<string_vianame> returns a string.  For example,
-
-   printf "U+%04X", charnames::vianame("FOUR TEARDROP-SPOKED ASTERISK");
-
-prints "U+2722".
-
-This leads to the other two differences.  Since a single code point is
-returned, the function can't handle named character sequences, as these are
-composed of multiple characters.  And, the code point can be that of any
-character, even ones that aren't legal under the C<S<use bytes>> pragma,
-
 =head1 CUSTOM TRANSLATORS
 
 The mechanism of translation of C<\N{...}> escapes is general and not
@@ -1323,7 +457,11 @@
 
 Here translator() is a subroutine which takes I<CHARNAME> as an
 argument, and returns text to insert into the string instead of the
-C<\N{I<CHARNAME>}> escape.  Since the text to insert should be different
+C<\N{I<CHARNAME>}> escape.
+
+This is the only way you can create a custom named sequence of code points.
+
+Since the text to insert should be different
 in C<bytes> mode and out of it, the function should check the current
 state of C<bytes>-flag as in:
 
@@ -1339,20 +477,16 @@
 
 See L</CUSTOM ALIASES> above for restrictions on I<CHARNAME>.
 
-Of course, C<vianame> and C<viacode> would need to be overridden as
-well.
+Of course, C<vianame>, C<viacode>, and C<string_vianame> would need to be
+overridden as well.
 
 =head1 BUGS
 
-vianame normally returns an ordinal code point, but when the input name is of
+vianame() normally returns an ordinal code point, but when the input name is of
 the form C<U+...>, it returns a chr instead.  In this case, if C<use bytes> is
 in effect and the character won't fit into a byte, it returns C<undef> and
 raises a warning.
 
-Names must be ASCII characters only, which means that you are out of luck if
-you want to create aliases in a language where some or all the characters of
-the desired aliases are non-ASCII.
-
 Since evaluation of the translation function (see L</CUSTOM
 TRANSLATORS>) happens in the middle of compilation (of a string
 literal), the translation function should not do any C<eval>s or


Property changes on: vendor/perl/dist/lib/charnames.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/charnames.t
===================================================================
--- vendor/perl/dist/lib/charnames.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/charnames.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 #!./perl
 use strict;
 
-# Test charnames.pm.  If $ENV{PERL_RUN_SLOW_TESTS} is unset or 0, a  random
+# Test charnames.pm.  If $ENV{PERL_RUN_SLOW_TESTS} is unset or 0, a random
 # selection of names is tested, a higher percentage of regular names is tested
 # than algorithmically-determined names.
 
@@ -29,10 +29,9 @@
 # ---- For the alias extensions
 require "../t/lib/common.pl";
 
-use charnames ':full';
+is("Here\N{EXCLAMATION MARK}?", "Here!?", "Basic sanity, autoload of :full upon \\N");
+is("\N{latin: Q}", "Q", "autoload of :short upon \\N");
 
-is("Here\N{EXCLAMATION MARK}?", "Here!?");
-
 {
     use bytes;			# TEST -utf8 can switch utf8 on
 
@@ -42,8 +41,8 @@
 1
 EOE
 
-    like($@, "above 0xFF");
-    ok(! defined $res);
+    like($@, "above 0xFF", "Verify get warning for \\N{above ff} under 'use bytes' with :full");
+    ok(! defined $res, "... and result is undefined");
 
     $res = eval <<'EOE';
 use charnames 'cyrillic';
@@ -50,24 +49,26 @@
 "Here: \N{Be}!";
 1
 EOE
-    like($@, "CYRILLIC CAPITAL LETTER BE.*above 0xFF");
+    like($@, "CYRILLIC CAPITAL LETTER BE.*above 0xFF", "Verify get warning under 'use bytes' with explicit script");
+    ok(! defined $res, "... and result is undefined");
 
     $res = eval <<'EOE';
 use charnames ':full', ":alias" => { BOM => "LATIN SMALL LETTER B" };
 "\N{BOM}";
 EOE
-    is ($@, "");
+    is ($@, "", "Verify that there is no warning for \\N{below 256} under 'use bytes'");
     is ($res, 'b', "Verify that can redefine a standard alias");
 }
 
 {
 
-    use charnames ':full', ":alias" => { mychar1 => "0xE8000",
-                                         mychar2 => 983040,  # U+F0000
-                                         mychar3 => "U+100000",
-                                         myctrl => 0x80,
-                                         mylarge => "U+111000",
-                                       };
+    use charnames ":alias" => { mychar1 => "0xE8000",
+                                mychar2 => 983040,  # U+F0000
+                                mychar3 => "U+100000",
+                                myctrl => 0x80,
+                                mylarge => "U+111000",
+                              };
+    is ("\N{PILE OF POO}", chr(0x1F4A9), "Verify :alias alone implies :full");
     is ("\N{mychar1}", chr(0xE8000), "Verify that can define hex alias");
     is (charnames::viacode(0xE8000), "mychar1", "And that can get the alias back");
     is ("\N{mychar2}", chr(0xF0000), "Verify that can define decimal alias");
@@ -104,37 +105,78 @@
     unpack"U0a*", shift;
 }
 
+sub get_loose_name ($) { # Modify name to stress the loose tests.
+
+    # First, all lower case,
+    my $loose_name = lc shift;
+
+    # Then squeeze out all the blanks not adjacent to hyphens, but make the
+    # spaces that are adjacent to hypens into two, to make sure the code isn't
+    # looking for just one when looking for non-medial hyphens.
+    $loose_name =~ s/ (?<! - ) \ + (?! - )//gx;
+    $loose_name =~ s/ /  /g;
+
+    # Similarly, double the hyphens
+    $loose_name =~ s/-/--/g;
+
+    # And convert ABC into "A B-C" to add medial hyphens and spaces.  Probably
+    # better to do this randomly, but  think this is sufficient.
+    $loose_name =~ s/ ([^-\s]) ([^-\s]) ([^-\s]) /$1 $2-$3/gx;
+
+    return $loose_name
+}
+
 sub test_vianame ($$$) {
 
-    # Run the vianame tests on a code point
+    # Run the vianame tests on a code point, both loose and full
 
+    my $all_pass = 1;
+
+    # $i is the code point in decimal; $hex in hexadecimal; $name is
+    # character name to test
     my ($i, $hex, $name) = @_;
 
-    # Half the time use vianame, and half string_vianame
-    return is(charnames::vianame($name), $i, "Verify vianame(\"$name\") is 0x$hex") if rand() < .5;
-    return is(charnames::string_vianame($name), chr($i), "Verify string_vianame(\"$name\") is chr(0x$hex)");
+    # Get a copy of the name modified to stress the loose tests.
+    my $loose_name = get_loose_name($name);
+
+    # Switch loose and full in vianame vs string_vianame half the time
+    if (rand() < .5) {
+        use charnames ":full";
+        $all_pass &= is(charnames::vianame($name), $i, "Verify vianame(\"$name\") is 0x$hex");
+        use charnames ":loose";
+        $all_pass &= is(charnames::string_vianame($loose_name), chr($i), "Verify string_vianame(\"$loose_name\") is chr(0x$hex)");
+    }
+    else {
+        use charnames ":loose";
+        $all_pass &= is(charnames::vianame($loose_name), $i, "Verify vianame(\"$loose_name\") is 0x$hex");
+        use charnames ":full";
+        $all_pass &= is(charnames::string_vianame($name), chr($i), "Verify string_vianame(\"$name\") is chr(0x$hex)");
+    }
+    return $all_pass;
 }
 
 {
   use charnames ':full';
 
-  is(to_bytes("\N{CYRILLIC SMALL LETTER BE}"), $encoded_be);
+  is(to_bytes("\N{CYRILLIC SMALL LETTER BE}"), $encoded_be,
+              'Verify \N{CYRILLIC SMALL LETTER BE} is the correct UTF8');
 
   use charnames qw(cyrillic greek :short);
 
   is(to_bytes("\N{be},\N{alpha},\N{hebrew:bet}"),
-                                    "$encoded_be,$encoded_alpha,$encoded_bet");
+                                    "$encoded_be,$encoded_alpha,$encoded_bet",
+              'Verify using scripts gives the correct UTF8');
 }
 
 {
     use charnames ':full';
-    is("\x{263a}", "\N{WHITE SMILING FACE}");
-    cmp_ok(length("\x{263a}"), '==', 1);
-    cmp_ok(length("\N{WHITE SMILING FACE}"), '==', 1);
-    is(sprintf("%vx", "\x{263a}"), "263a");
-    is(sprintf("%vx", "\N{WHITE SMILING FACE}"), "263a");
-    is(sprintf("%vx", "\xFF\N{WHITE SMILING FACE}"), "ff.263a");
-    is(sprintf("%vx", "\x{ff}\N{WHITE SMILING FACE}"), "ff.263a");
+    is("\x{263a}", "\N{WHITE SMILING FACE}", 'Verify "\x{263a}" eq "\N{WHITE SMILING FACE}"');
+    cmp_ok(length("\x{263a}"), '==', 1, 'Verify length of \x{263a} is 1');
+    cmp_ok(length("\N{WHITE SMILING FACE}"), '==', 1, '... as is the length of \N{WHITE SMILING FACE}');
+    is(sprintf("%vx", "\x{263a}"), "263a", 'Verify sprintf("%vx", "\x{263a}") eq "263a"');
+    is(sprintf("%vx", "\N{WHITE SMILING FACE}"), "263a", 'Verify sprintf("%vx", "\N{WHITE SMILING FACE}") eq "263a"');
+    is(sprintf("%vx", "\xFF\N{WHITE SMILING FACE}"), "ff.263a", 'Verify sprintf("%vx" eq "\xFF\N{WHITE SMILING FACE}"), "ff.263a"');
+    is(sprintf("%vx", "\x{ff}\N{WHITE SMILING FACE}"), "ff.263a", 'Verify sprintf("%vx", "\x{ff}\N{WHITE SMILING FACE}") eq "ff.263a"');
 }
 
 {
@@ -144,19 +186,20 @@
     my $x = "\x{221b}";
     my $named = "\N{CUBE ROOT}";
 
-    cmp_ok(ord($x), '==', ord($named));
+    cmp_ok(ord($x), '==', ord($named), 'Verify ord("\x{221b}") == ord("\N{CUBE ROOT}"');
 }
 
 {
     use charnames qw(:full);
     use utf8;
-    is("\x{100}\N{CENT SIGN}", "\x{100}"."\N{CENT SIGN}");
+    is("\x{100}\N{CENT SIGN}", "\x{100}"."\N{CENT SIGN}", 'Verify "\x{100}\N{CENT SIGN}" eq "\x{100}"."\N{CENT SIGN}"');
 }
 
 {
     use charnames ':full';
 
-    is(to_bytes("\N{DESERET SMALL LETTER ENG}"), $encoded_deseng);
+    is(to_bytes("\N{DESERET SMALL LETTER ENG}"), $encoded_deseng,
+                'Verify bytes of "\N{DESERET SMALL LETTER ENG}" are correct');
 }
 
 {
@@ -166,17 +209,18 @@
 
     use charnames ':full';
     my $text = "\N{LATIN CAPITAL LETTER A WITH DIAERESIS}";
-    is($text, latin1_to_native("\xc4"));
+    is($text, latin1_to_native("\xc4"), 'Verify \N{} returns correct string under "no utf8"');
 
     # I'm not sure that this tests anything different from the above.
-    cmp_ok(ord($text), '==', ord(latin1_to_native("\xc4")));
+    cmp_ok(ord($text), '==', ord(latin1_to_native("\xc4")), '... and ords are ok');
 }
 
 {
-    is(charnames::viacode(0x1234), "ETHIOPIC SYLLABLE SEE");
+    is(charnames::viacode(0x1234), "ETHIOPIC SYLLABLE SEE",
+                          'Verify viacode(0x1234) eq "ETHIOPIC SYLLABLE SEE"');
 
     # No name
-    ok(! defined charnames::viacode(0xFFFF));
+    ok(! defined charnames::viacode(0xFFFF), 'Verify \x{FFFF} has no name');
 }
 
 {
@@ -215,9 +259,11 @@
 {
     # check that caching at least hasn't broken anything
 
-    is(charnames::viacode(0x1234), "ETHIOPIC SYLLABLE SEE");
+    is(charnames::viacode(0x1234), "ETHIOPIC SYLLABLE SEE",
+        'Verify caching');
 
-    is(sprintf("%04X", charnames::vianame("GOTHIC LETTER AHSA")), "10330");
+    is(sprintf("%04X", charnames::vianame("GOTHIC LETTER AHSA")), "10330",
+        'More caching');
 
 }
 
@@ -225,439 +271,472 @@
 # NamedSequences.txt
 is("\N{TAMIL CONSONANT K}", charnames::string_vianame("TAMIL CONSONANT K"), "Verify \\N{TAMIL CONSONANT K} eq charnames::vianame(\"TAMIL CONSONANT K\")");
 
-is("\N{CHARACTER TABULATION}", "\t");
+is("\N{CHARACTER TABULATION}", "\t", 'Verify "\N{CHARACTER TABULATION}" eq "\t"');
 
-is("\N{ESCAPE}", "\e");
-is("\N{NULL}", "\c@");
-is("\N{LINE FEED (LF)}", "\n");
-is("\N{LINE FEED}", "\n");
-is("\N{LF}", "\n");
+is("\N{ESCAPE}", "\e", 'Verify "\N{ESCAPE}" eq "\e"');
+is("\N{NULL}", "\c@", 'Verify "\N{NULL}" eq "\c@"');
+is("\N{LINE FEED (LF)}", "\n", 'Verify "\N{LINE FEED (LF)}" eq "\n"');
+is("\N{LINE FEED}", "\n", 'Verify "\N{LINE FEED}" eq "\n"');
+is("\N{LF}", "\n", 'Verify "\N{LF}" eq "\n"');
 
 my $nel = latin1_to_native("\x85");
 $nel = qr/^$nel$/;
 
-like("\N{NEXT LINE (NEL)}", $nel);
-like("\N{NEXT LINE}", $nel);
-like("\N{NEL}", $nel);
-is("\N{BYTE ORDER MARK}", chr(0xFEFF));
-is("\N{BOM}", chr(0xFEFF));
+like("\N{NEXT LINE (NEL)}", $nel, 'Verify "\N{NEXT LINE (NEL)}" is correct');
+like("\N{NEXT LINE}", $nel, 'Verify "\N{NEXT LINE)" is correct');
+like("\N{NEL}", $nel, 'Verify "\N{NEL}" is correct');
+is("\N{BYTE ORDER MARK}", chr(0xFEFF), 'Verify "\N{BYTE ORDER MARK}" is correct');
+is("\N{BOM}", chr(0xFEFF), 'Verify "\N{BOM}" is correct');
 
 {
     use warnings 'deprecated';
 
-    is("\N{HORIZONTAL TABULATION}", "\t");
+    is("\N{HORIZONTAL TABULATION}", "\t", 'Verify "\N{HORIZONTAL TABULATION}" eq "\t"');
 
-    ok(grep { /"HORIZONTAL TABULATION" is deprecated.*CHARACTER TABULATION/ } @WARN);
+    my $ok = ! grep { /"HORIZONTAL TABULATION" is deprecated.*"CHARACTER TABULATION"/ } @WARN;
+    ok($ok, '... and doesnt give deprecated warning');
 
-    # XXX These tests should be changed for 5.16, when we convert BELL to the
-    # Unicode version.
-    is("\N{BELL}", "\a");
-    ok((grep{ /"BELL" is deprecated.*ALERT/ } @WARN), 'BELL is deprecated');
+    if ($^V lt v5.17.0) {
+        is("\N{BELL}", "\a", 'Verify "\N{BELL}" eq "\a"');
+        my $ok = grep { /"BELL" is deprecated.*"ALERT"/ } @WARN;
+        ok($ok, '... and that gives correct deprecated warning');
+    }
 
     no warnings 'deprecated';
 
-    is("\N{VERTICAL TABULATION}", "\013");
+    is("\N{VERTICAL TABULATION}", "\013", 'Verify "\N{VERTICAL TABULATION}" eq "\013"');
 
-    ok(! grep { /"VERTICAL TABULATION" is deprecated/ } @WARN);
+    my $nok = grep { /"VERTICAL TABULATION" is deprecated/ } @WARN;
+    ok(! $nok,
+    '... and doesnt give deprecated warning under no warnings "deprecated"');
 }
 
-is(charnames::viacode(0xFEFF), "ZERO WIDTH NO-BREAK SPACE");
+is(charnames::viacode(0xFEFF), "ZERO WIDTH NO-BREAK SPACE",
+   'Verify viacode(0xFEFF) is correct');
 
+# These test that the changes to these in 6.1 are recognized.  (The double
+# test of using viacode and vianame is less than optimal as two errors could
+# cancel each other out, but later each is tested individually, and this
+# sidesteps and EBCDIC issues.
+is(charnames::viacode(charnames::vianame("CR")), "CARRIAGE RETURN",
+            'Verify viacode(vianame("CR")) is "CARRIAGE RETURN"');
+is(charnames::viacode(charnames::vianame("LF")), "LINE FEED",
+            'Verify viacode(vianame("LF")) is "LINE FEED"');
+is(charnames::viacode(charnames::vianame("FF")), "FORM FEED",
+            'Verify viacode(vianame("FF")) is "FORM FEED"');
+is(charnames::viacode(charnames::vianame("NEL")), "NEXT LINE",
+            'Verify viacode(vianame("NEL")) is "NEXT LINE"');
+
 {
     use warnings;
-    cmp_ok(ord("\N{BOM}"), '==', 0xFEFF);
+    cmp_ok(ord("\N{BOM}"), '==', 0xFEFF, 'Verify \N{BOM} is correct');
 }
 
-cmp_ok(ord("\N{ZWNJ}"), '==', 0x200C);
+cmp_ok(ord("\N{ZWNJ}"), '==', 0x200C, 'Verify \N{ZWNJ} is correct');
 
-cmp_ok(ord("\N{ZWJ}"), '==', 0x200D);
+cmp_ok(ord("\N{ZWJ}"), '==', 0x200D, 'Verify \N{ZWJ} is correct');
 
-is("\N{U+263A}", "\N{WHITE SMILING FACE}");
+is("\N{U+263A}", "\N{WHITE SMILING FACE}", 'Verify "\N{U+263A}" eq "\N{WHITE SMILING FACE}"');
 
 {
-    cmp_ok( 0x3093, '==', charnames::vianame("HIRAGANA LETTER N"));
-    cmp_ok(0x0397, '==', charnames::vianame("GREEK CAPITAL LETTER ETA"));
+    cmp_ok( 0x3093, '==', charnames::vianame("HIRAGANA LETTER N"),
+            'Verify vianame("HIRAGANA LETTER N") is correct');
+    cmp_ok(0x0397, '==', charnames::vianame("GREEK CAPITAL LETTER ETA"),
+           'Verify vianame("GREEK CAPITAL LETTER ETA") is correct');
 }
 
-ok(! defined charnames::viacode(0x110000));
-ok(! grep { /you asked for U+110000/ } @WARN);
+ok(! defined charnames::viacode(0x110000),
+   'Verify viacode(above unicode) is undefined');
+ok((grep { /\Qyou asked for U+110000/ } @WARN), '... and gives warning');
 
-is(charnames::viacode(0), "NULL");
-is(charnames::viacode("BE"), "VULGAR FRACTION THREE QUARTERS");
-is(charnames::viacode("U+00000000000FEED"), "ARABIC LETTER WAW ISOLATED FORM");
+is(charnames::viacode(0), "NULL", 'Verify charnames::viacode(0) eq "NULL"');
+is(charnames::viacode("BE"), "VULGAR FRACTION THREE QUARTERS", 'Verify charnames::viacode("BE") eq "VULGAR FRACTION THREE QUARTERS"');
+is(charnames::viacode("U+00000000000FEED"), "ARABIC LETTER WAW ISOLATED FORM", 'Verify charnames::viacode("U+00000000000FEED") eq "ARABIC LETTER WAW ISOLATED FORM"');
 
 {
     no warnings 'deprecated';
-    is("\N{LINE FEED}", "\N{LINE FEED (LF)}");
-    is("\N{FORM FEED}", "\N{FORM FEED (FF)}");
-    is("\N{CARRIAGE RETURN}", "\N{CARRIAGE RETURN (CR)}");
-    is("\N{NEXT LINE}", "\N{NEXT LINE (NEL)}");
-    is("\N{NUL}", "\N{NULL}");
-    is("\N{SOH}", "\N{START OF HEADING}");
-    is("\N{STX}", "\N{START OF TEXT}");
-    is("\N{ETX}", "\N{END OF TEXT}");
-    is("\N{EOT}", "\N{END OF TRANSMISSION}");
-    is("\N{ENQ}", "\N{ENQUIRY}");
-    is("\N{ACK}", "\N{ACKNOWLEDGE}");
-    is("\N{BEL}", "\N{BELL}");
-    is("\N{BS}", "\N{BACKSPACE}");
-    is("\N{HT}", "\N{HORIZONTAL TABULATION}");
-    is("\N{LF}", "\N{LINE FEED (LF)}");
-    is("\N{VT}", "\N{VERTICAL TABULATION}");
-    is("\N{FF}", "\N{FORM FEED (FF)}");
-    is("\N{CR}", "\N{CARRIAGE RETURN (CR)}");
-    is("\N{SO}", "\N{SHIFT OUT}");
-    is("\N{SI}", "\N{SHIFT IN}");
-    is("\N{DLE}", "\N{DATA LINK ESCAPE}");
-    is("\N{DC1}", "\N{DEVICE CONTROL ONE}");
-    is("\N{DC2}", "\N{DEVICE CONTROL TWO}");
-    is("\N{DC3}", "\N{DEVICE CONTROL THREE}");
-    is("\N{DC4}", "\N{DEVICE CONTROL FOUR}");
-    is("\N{NAK}", "\N{NEGATIVE ACKNOWLEDGE}");
-    is("\N{SYN}", "\N{SYNCHRONOUS IDLE}");
-    is("\N{ETB}", "\N{END OF TRANSMISSION BLOCK}");
-    is("\N{CAN}", "\N{CANCEL}");
-    is("\N{EOM}", "\N{END OF MEDIUM}");
-    is("\N{SUB}", "\N{SUBSTITUTE}");
-    is("\N{ESC}", "\N{ESCAPE}");
-    is("\N{FS}", "\N{FILE SEPARATOR}");
-    is("\N{GS}", "\N{GROUP SEPARATOR}");
-    is("\N{RS}", "\N{RECORD SEPARATOR}");
-    is("\N{US}", "\N{UNIT SEPARATOR}");
-    is("\N{DEL}", "\N{DELETE}");
-    is("\N{BPH}", "\N{BREAK PERMITTED HERE}");
-    is("\N{NBH}", "\N{NO BREAK HERE}");
-    is("\N{NEL}", "\N{NEXT LINE (NEL)}");
-    is("\N{SSA}", "\N{START OF SELECTED AREA}");
-    is("\N{ESA}", "\N{END OF SELECTED AREA}");
-    is("\N{HTS}", "\N{CHARACTER TABULATION SET}");
-    is("\N{HTJ}", "\N{CHARACTER TABULATION WITH JUSTIFICATION}");
-    is("\N{VTS}", "\N{LINE TABULATION SET}");
-    is("\N{PLD}", "\N{PARTIAL LINE FORWARD}");
-    is("\N{PLU}", "\N{PARTIAL LINE BACKWARD}");
-    is("\N{RI }", "\N{REVERSE LINE FEED}");
-    is("\N{SS2}", "\N{SINGLE SHIFT TWO}");
-    is("\N{SS3}", "\N{SINGLE SHIFT THREE}");
-    is("\N{DCS}", "\N{DEVICE CONTROL STRING}");
-    is("\N{PU1}", "\N{PRIVATE USE ONE}");
-    is("\N{PU2}", "\N{PRIVATE USE TWO}");
-    is("\N{STS}", "\N{SET TRANSMIT STATE}");
-    is("\N{CCH}", "\N{CANCEL CHARACTER}");
-    is("\N{MW }", "\N{MESSAGE WAITING}");
-    is("\N{SPA}", "\N{START OF GUARDED AREA}");
-    is("\N{EPA}", "\N{END OF GUARDED AREA}");
-    is("\N{SOS}", "\N{START OF STRING}");
-    is("\N{SCI}", "\N{SINGLE CHARACTER INTRODUCER}");
-    is("\N{CSI}", "\N{CONTROL SEQUENCE INTRODUCER}");
-    is("\N{ST }", "\N{STRING TERMINATOR}");
-    is("\N{OSC}", "\N{OPERATING SYSTEM COMMAND}");
-    is("\N{PM }", "\N{PRIVACY MESSAGE}");
-    is("\N{APC}", "\N{APPLICATION PROGRAM COMMAND}");
-    is("\N{PADDING CHARACTER}", "\N{PAD}");
-    is("\N{HIGH OCTET PRESET}","\N{HOP}");
-    is("\N{INDEX}", "\N{IND}");
-    is("\N{SINGLE GRAPHIC CHARACTER INTRODUCER}", "\N{SGC}");
-    is("\N{BOM}", "\N{BYTE ORDER MARK}");
-    is("\N{CGJ}", "\N{COMBINING GRAPHEME JOINER}");
-    is("\N{FVS1}", "\N{MONGOLIAN FREE VARIATION SELECTOR ONE}");
-    is("\N{FVS2}", "\N{MONGOLIAN FREE VARIATION SELECTOR TWO}");
-    is("\N{FVS3}", "\N{MONGOLIAN FREE VARIATION SELECTOR THREE}");
-    is("\N{LRE}", "\N{LEFT-TO-RIGHT EMBEDDING}");
-    is("\N{LRM}", "\N{LEFT-TO-RIGHT MARK}");
-    is("\N{LRO}", "\N{LEFT-TO-RIGHT OVERRIDE}");
-    is("\N{MMSP}", "\N{MEDIUM MATHEMATICAL SPACE}");
-    is("\N{MVS}", "\N{MONGOLIAN VOWEL SEPARATOR}");
-    is("\N{NBSP}", "\N{NO-BREAK SPACE}");
-    is("\N{NNBSP}", "\N{NARROW NO-BREAK SPACE}");
-    is("\N{PDF}", "\N{POP DIRECTIONAL FORMATTING}");
-    is("\N{RLE}", "\N{RIGHT-TO-LEFT EMBEDDING}");
-    is("\N{RLM}", "\N{RIGHT-TO-LEFT MARK}");
-    is("\N{RLO}", "\N{RIGHT-TO-LEFT OVERRIDE}");
-    is("\N{SHY}", "\N{SOFT HYPHEN}");
-    is("\N{WJ}", "\N{WORD JOINER}");
-    is("\N{ZWJ}", "\N{ZERO WIDTH JOINER}");
-    is("\N{ZWNJ}", "\N{ZERO WIDTH NON-JOINER}");
-    is("\N{ZWSP}", "\N{ZERO WIDTH SPACE}");
-    is("\N{HORIZONTAL TABULATION}", "\N{CHARACTER TABULATION}");
-    is("\N{VERTICAL TABULATION}", "\N{LINE TABULATION}");
-    is("\N{FILE SEPARATOR}", "\N{INFORMATION SEPARATOR FOUR}");
-    is("\N{GROUP SEPARATOR}", "\N{INFORMATION SEPARATOR THREE}");
-    is("\N{RECORD SEPARATOR}", "\N{INFORMATION SEPARATOR TWO}");
-    is("\N{UNIT SEPARATOR}", "\N{INFORMATION SEPARATOR ONE}");
-    is("\N{HORIZONTAL TABULATION SET}", "\N{CHARACTER TABULATION SET}");
-    is("\N{HORIZONTAL TABULATION WITH JUSTIFICATION}", "\N{CHARACTER TABULATION WITH JUSTIFICATION}");
-    is("\N{PARTIAL LINE DOWN}", "\N{PARTIAL LINE FORWARD}");
-    is("\N{PARTIAL LINE UP}", "\N{PARTIAL LINE BACKWARD}");
-    is("\N{VERTICAL TABULATION SET}", "\N{LINE TABULATION SET}");
-    is("\N{REVERSE INDEX}", "\N{REVERSE LINE FEED}");
-    is("\N{SINGLE-SHIFT 2}", "\N{SINGLE SHIFT TWO}");
-    is("\N{SINGLE-SHIFT 3}", "\N{SINGLE SHIFT THREE}");
-    is("\N{PRIVATE USE 1}", "\N{PRIVATE USE ONE}");
-    is("\N{PRIVATE USE 2}", "\N{PRIVATE USE TWO}");
-    is("\N{START OF PROTECTED AREA}", "\N{START OF GUARDED AREA}");
-    is("\N{END OF PROTECTED AREA}", "\N{END OF GUARDED AREA}");
-    is("\N{VS1}", "\N{VARIATION SELECTOR-1}");
-    is("\N{VS2}", "\N{VARIATION SELECTOR-2}");
-    is("\N{VS3}", "\N{VARIATION SELECTOR-3}");
-    is("\N{VS4}", "\N{VARIATION SELECTOR-4}");
-    is("\N{VS5}", "\N{VARIATION SELECTOR-5}");
-    is("\N{VS6}", "\N{VARIATION SELECTOR-6}");
-    is("\N{VS7}", "\N{VARIATION SELECTOR-7}");
-    is("\N{VS8}", "\N{VARIATION SELECTOR-8}");
-    is("\N{VS9}", "\N{VARIATION SELECTOR-9}");
-    is("\N{VS10}", "\N{VARIATION SELECTOR-10}");
-    is("\N{VS11}", "\N{VARIATION SELECTOR-11}");
-    is("\N{VS12}", "\N{VARIATION SELECTOR-12}");
-    is("\N{VS13}", "\N{VARIATION SELECTOR-13}");
-    is("\N{VS14}", "\N{VARIATION SELECTOR-14}");
-    is("\N{VS15}", "\N{VARIATION SELECTOR-15}");
-    is("\N{VS16}", "\N{VARIATION SELECTOR-16}");
-    is("\N{VS17}", "\N{VARIATION SELECTOR-17}");
-    is("\N{VS18}", "\N{VARIATION SELECTOR-18}");
-    is("\N{VS19}", "\N{VARIATION SELECTOR-19}");
-    is("\N{VS20}", "\N{VARIATION SELECTOR-20}");
-    is("\N{VS21}", "\N{VARIATION SELECTOR-21}");
-    is("\N{VS22}", "\N{VARIATION SELECTOR-22}");
-    is("\N{VS23}", "\N{VARIATION SELECTOR-23}");
-    is("\N{VS24}", "\N{VARIATION SELECTOR-24}");
-    is("\N{VS25}", "\N{VARIATION SELECTOR-25}");
-    is("\N{VS26}", "\N{VARIATION SELECTOR-26}");
-    is("\N{VS27}", "\N{VARIATION SELECTOR-27}");
-    is("\N{VS28}", "\N{VARIATION SELECTOR-28}");
-    is("\N{VS29}", "\N{VARIATION SELECTOR-29}");
-    is("\N{VS30}", "\N{VARIATION SELECTOR-30}");
-    is("\N{VS31}", "\N{VARIATION SELECTOR-31}");
-    is("\N{VS32}", "\N{VARIATION SELECTOR-32}");
-    is("\N{VS33}", "\N{VARIATION SELECTOR-33}");
-    is("\N{VS34}", "\N{VARIATION SELECTOR-34}");
-    is("\N{VS35}", "\N{VARIATION SELECTOR-35}");
-    is("\N{VS36}", "\N{VARIATION SELECTOR-36}");
-    is("\N{VS37}", "\N{VARIATION SELECTOR-37}");
-    is("\N{VS38}", "\N{VARIATION SELECTOR-38}");
-    is("\N{VS39}", "\N{VARIATION SELECTOR-39}");
-    is("\N{VS40}", "\N{VARIATION SELECTOR-40}");
-    is("\N{VS41}", "\N{VARIATION SELECTOR-41}");
-    is("\N{VS42}", "\N{VARIATION SELECTOR-42}");
-    is("\N{VS43}", "\N{VARIATION SELECTOR-43}");
-    is("\N{VS44}", "\N{VARIATION SELECTOR-44}");
-    is("\N{VS45}", "\N{VARIATION SELECTOR-45}");
-    is("\N{VS46}", "\N{VARIATION SELECTOR-46}");
-    is("\N{VS47}", "\N{VARIATION SELECTOR-47}");
-    is("\N{VS48}", "\N{VARIATION SELECTOR-48}");
-    is("\N{VS49}", "\N{VARIATION SELECTOR-49}");
-    is("\N{VS50}", "\N{VARIATION SELECTOR-50}");
-    is("\N{VS51}", "\N{VARIATION SELECTOR-51}");
-    is("\N{VS52}", "\N{VARIATION SELECTOR-52}");
-    is("\N{VS53}", "\N{VARIATION SELECTOR-53}");
-    is("\N{VS54}", "\N{VARIATION SELECTOR-54}");
-    is("\N{VS55}", "\N{VARIATION SELECTOR-55}");
-    is("\N{VS56}", "\N{VARIATION SELECTOR-56}");
-    is("\N{VS57}", "\N{VARIATION SELECTOR-57}");
-    is("\N{VS58}", "\N{VARIATION SELECTOR-58}");
-    is("\N{VS59}", "\N{VARIATION SELECTOR-59}");
-    is("\N{VS60}", "\N{VARIATION SELECTOR-60}");
-    is("\N{VS61}", "\N{VARIATION SELECTOR-61}");
-    is("\N{VS62}", "\N{VARIATION SELECTOR-62}");
-    is("\N{VS63}", "\N{VARIATION SELECTOR-63}");
-    is("\N{VS64}", "\N{VARIATION SELECTOR-64}");
-    is("\N{VS65}", "\N{VARIATION SELECTOR-65}");
-    is("\N{VS66}", "\N{VARIATION SELECTOR-66}");
-    is("\N{VS67}", "\N{VARIATION SELECTOR-67}");
-    is("\N{VS68}", "\N{VARIATION SELECTOR-68}");
-    is("\N{VS69}", "\N{VARIATION SELECTOR-69}");
-    is("\N{VS70}", "\N{VARIATION SELECTOR-70}");
-    is("\N{VS71}", "\N{VARIATION SELECTOR-71}");
-    is("\N{VS72}", "\N{VARIATION SELECTOR-72}");
-    is("\N{VS73}", "\N{VARIATION SELECTOR-73}");
-    is("\N{VS74}", "\N{VARIATION SELECTOR-74}");
-    is("\N{VS75}", "\N{VARIATION SELECTOR-75}");
-    is("\N{VS76}", "\N{VARIATION SELECTOR-76}");
-    is("\N{VS77}", "\N{VARIATION SELECTOR-77}");
-    is("\N{VS78}", "\N{VARIATION SELECTOR-78}");
-    is("\N{VS79}", "\N{VARIATION SELECTOR-79}");
-    is("\N{VS80}", "\N{VARIATION SELECTOR-80}");
-    is("\N{VS81}", "\N{VARIATION SELECTOR-81}");
-    is("\N{VS82}", "\N{VARIATION SELECTOR-82}");
-    is("\N{VS83}", "\N{VARIATION SELECTOR-83}");
-    is("\N{VS84}", "\N{VARIATION SELECTOR-84}");
-    is("\N{VS85}", "\N{VARIATION SELECTOR-85}");
-    is("\N{VS86}", "\N{VARIATION SELECTOR-86}");
-    is("\N{VS87}", "\N{VARIATION SELECTOR-87}");
-    is("\N{VS88}", "\N{VARIATION SELECTOR-88}");
-    is("\N{VS89}", "\N{VARIATION SELECTOR-89}");
-    is("\N{VS90}", "\N{VARIATION SELECTOR-90}");
-    is("\N{VS91}", "\N{VARIATION SELECTOR-91}");
-    is("\N{VS92}", "\N{VARIATION SELECTOR-92}");
-    is("\N{VS93}", "\N{VARIATION SELECTOR-93}");
-    is("\N{VS94}", "\N{VARIATION SELECTOR-94}");
-    is("\N{VS95}", "\N{VARIATION SELECTOR-95}");
-    is("\N{VS96}", "\N{VARIATION SELECTOR-96}");
-    is("\N{VS97}", "\N{VARIATION SELECTOR-97}");
-    is("\N{VS98}", "\N{VARIATION SELECTOR-98}");
-    is("\N{VS99}", "\N{VARIATION SELECTOR-99}");
-    is("\N{VS100}", "\N{VARIATION SELECTOR-100}");
-    is("\N{VS101}", "\N{VARIATION SELECTOR-101}");
-    is("\N{VS102}", "\N{VARIATION SELECTOR-102}");
-    is("\N{VS103}", "\N{VARIATION SELECTOR-103}");
-    is("\N{VS104}", "\N{VARIATION SELECTOR-104}");
-    is("\N{VS105}", "\N{VARIATION SELECTOR-105}");
-    is("\N{VS106}", "\N{VARIATION SELECTOR-106}");
-    is("\N{VS107}", "\N{VARIATION SELECTOR-107}");
-    is("\N{VS108}", "\N{VARIATION SELECTOR-108}");
-    is("\N{VS109}", "\N{VARIATION SELECTOR-109}");
-    is("\N{VS110}", "\N{VARIATION SELECTOR-110}");
-    is("\N{VS111}", "\N{VARIATION SELECTOR-111}");
-    is("\N{VS112}", "\N{VARIATION SELECTOR-112}");
-    is("\N{VS113}", "\N{VARIATION SELECTOR-113}");
-    is("\N{VS114}", "\N{VARIATION SELECTOR-114}");
-    is("\N{VS115}", "\N{VARIATION SELECTOR-115}");
-    is("\N{VS116}", "\N{VARIATION SELECTOR-116}");
-    is("\N{VS117}", "\N{VARIATION SELECTOR-117}");
-    is("\N{VS118}", "\N{VARIATION SELECTOR-118}");
-    is("\N{VS119}", "\N{VARIATION SELECTOR-119}");
-    is("\N{VS120}", "\N{VARIATION SELECTOR-120}");
-    is("\N{VS121}", "\N{VARIATION SELECTOR-121}");
-    is("\N{VS122}", "\N{VARIATION SELECTOR-122}");
-    is("\N{VS123}", "\N{VARIATION SELECTOR-123}");
-    is("\N{VS124}", "\N{VARIATION SELECTOR-124}");
-    is("\N{VS125}", "\N{VARIATION SELECTOR-125}");
-    is("\N{VS126}", "\N{VARIATION SELECTOR-126}");
-    is("\N{VS127}", "\N{VARIATION SELECTOR-127}");
-    is("\N{VS128}", "\N{VARIATION SELECTOR-128}");
-    is("\N{VS129}", "\N{VARIATION SELECTOR-129}");
-    is("\N{VS130}", "\N{VARIATION SELECTOR-130}");
-    is("\N{VS131}", "\N{VARIATION SELECTOR-131}");
-    is("\N{VS132}", "\N{VARIATION SELECTOR-132}");
-    is("\N{VS133}", "\N{VARIATION SELECTOR-133}");
-    is("\N{VS134}", "\N{VARIATION SELECTOR-134}");
-    is("\N{VS135}", "\N{VARIATION SELECTOR-135}");
-    is("\N{VS136}", "\N{VARIATION SELECTOR-136}");
-    is("\N{VS137}", "\N{VARIATION SELECTOR-137}");
-    is("\N{VS138}", "\N{VARIATION SELECTOR-138}");
-    is("\N{VS139}", "\N{VARIATION SELECTOR-139}");
-    is("\N{VS140}", "\N{VARIATION SELECTOR-140}");
-    is("\N{VS141}", "\N{VARIATION SELECTOR-141}");
-    is("\N{VS142}", "\N{VARIATION SELECTOR-142}");
-    is("\N{VS143}", "\N{VARIATION SELECTOR-143}");
-    is("\N{VS144}", "\N{VARIATION SELECTOR-144}");
-    is("\N{VS145}", "\N{VARIATION SELECTOR-145}");
-    is("\N{VS146}", "\N{VARIATION SELECTOR-146}");
-    is("\N{VS147}", "\N{VARIATION SELECTOR-147}");
-    is("\N{VS148}", "\N{VARIATION SELECTOR-148}");
-    is("\N{VS149}", "\N{VARIATION SELECTOR-149}");
-    is("\N{VS150}", "\N{VARIATION SELECTOR-150}");
-    is("\N{VS151}", "\N{VARIATION SELECTOR-151}");
-    is("\N{VS152}", "\N{VARIATION SELECTOR-152}");
-    is("\N{VS153}", "\N{VARIATION SELECTOR-153}");
-    is("\N{VS154}", "\N{VARIATION SELECTOR-154}");
-    is("\N{VS155}", "\N{VARIATION SELECTOR-155}");
-    is("\N{VS156}", "\N{VARIATION SELECTOR-156}");
-    is("\N{VS157}", "\N{VARIATION SELECTOR-157}");
-    is("\N{VS158}", "\N{VARIATION SELECTOR-158}");
-    is("\N{VS159}", "\N{VARIATION SELECTOR-159}");
-    is("\N{VS160}", "\N{VARIATION SELECTOR-160}");
-    is("\N{VS161}", "\N{VARIATION SELECTOR-161}");
-    is("\N{VS162}", "\N{VARIATION SELECTOR-162}");
-    is("\N{VS163}", "\N{VARIATION SELECTOR-163}");
-    is("\N{VS164}", "\N{VARIATION SELECTOR-164}");
-    is("\N{VS165}", "\N{VARIATION SELECTOR-165}");
-    is("\N{VS166}", "\N{VARIATION SELECTOR-166}");
-    is("\N{VS167}", "\N{VARIATION SELECTOR-167}");
-    is("\N{VS168}", "\N{VARIATION SELECTOR-168}");
-    is("\N{VS169}", "\N{VARIATION SELECTOR-169}");
-    is("\N{VS170}", "\N{VARIATION SELECTOR-170}");
-    is("\N{VS171}", "\N{VARIATION SELECTOR-171}");
-    is("\N{VS172}", "\N{VARIATION SELECTOR-172}");
-    is("\N{VS173}", "\N{VARIATION SELECTOR-173}");
-    is("\N{VS174}", "\N{VARIATION SELECTOR-174}");
-    is("\N{VS175}", "\N{VARIATION SELECTOR-175}");
-    is("\N{VS176}", "\N{VARIATION SELECTOR-176}");
-    is("\N{VS177}", "\N{VARIATION SELECTOR-177}");
-    is("\N{VS178}", "\N{VARIATION SELECTOR-178}");
-    is("\N{VS179}", "\N{VARIATION SELECTOR-179}");
-    is("\N{VS180}", "\N{VARIATION SELECTOR-180}");
-    is("\N{VS181}", "\N{VARIATION SELECTOR-181}");
-    is("\N{VS182}", "\N{VARIATION SELECTOR-182}");
-    is("\N{VS183}", "\N{VARIATION SELECTOR-183}");
-    is("\N{VS184}", "\N{VARIATION SELECTOR-184}");
-    is("\N{VS185}", "\N{VARIATION SELECTOR-185}");
-    is("\N{VS186}", "\N{VARIATION SELECTOR-186}");
-    is("\N{VS187}", "\N{VARIATION SELECTOR-187}");
-    is("\N{VS188}", "\N{VARIATION SELECTOR-188}");
-    is("\N{VS189}", "\N{VARIATION SELECTOR-189}");
-    is("\N{VS190}", "\N{VARIATION SELECTOR-190}");
-    is("\N{VS191}", "\N{VARIATION SELECTOR-191}");
-    is("\N{VS192}", "\N{VARIATION SELECTOR-192}");
-    is("\N{VS193}", "\N{VARIATION SELECTOR-193}");
-    is("\N{VS194}", "\N{VARIATION SELECTOR-194}");
-    is("\N{VS195}", "\N{VARIATION SELECTOR-195}");
-    is("\N{VS196}", "\N{VARIATION SELECTOR-196}");
-    is("\N{VS197}", "\N{VARIATION SELECTOR-197}");
-    is("\N{VS198}", "\N{VARIATION SELECTOR-198}");
-    is("\N{VS199}", "\N{VARIATION SELECTOR-199}");
-    is("\N{VS200}", "\N{VARIATION SELECTOR-200}");
-    is("\N{VS201}", "\N{VARIATION SELECTOR-201}");
-    is("\N{VS202}", "\N{VARIATION SELECTOR-202}");
-    is("\N{VS203}", "\N{VARIATION SELECTOR-203}");
-    is("\N{VS204}", "\N{VARIATION SELECTOR-204}");
-    is("\N{VS205}", "\N{VARIATION SELECTOR-205}");
-    is("\N{VS206}", "\N{VARIATION SELECTOR-206}");
-    is("\N{VS207}", "\N{VARIATION SELECTOR-207}");
-    is("\N{VS208}", "\N{VARIATION SELECTOR-208}");
-    is("\N{VS209}", "\N{VARIATION SELECTOR-209}");
-    is("\N{VS210}", "\N{VARIATION SELECTOR-210}");
-    is("\N{VS211}", "\N{VARIATION SELECTOR-211}");
-    is("\N{VS212}", "\N{VARIATION SELECTOR-212}");
-    is("\N{VS213}", "\N{VARIATION SELECTOR-213}");
-    is("\N{VS214}", "\N{VARIATION SELECTOR-214}");
-    is("\N{VS215}", "\N{VARIATION SELECTOR-215}");
-    is("\N{VS216}", "\N{VARIATION SELECTOR-216}");
-    is("\N{VS217}", "\N{VARIATION SELECTOR-217}");
-    is("\N{VS218}", "\N{VARIATION SELECTOR-218}");
-    is("\N{VS219}", "\N{VARIATION SELECTOR-219}");
-    is("\N{VS220}", "\N{VARIATION SELECTOR-220}");
-    is("\N{VS221}", "\N{VARIATION SELECTOR-221}");
-    is("\N{VS222}", "\N{VARIATION SELECTOR-222}");
-    is("\N{VS223}", "\N{VARIATION SELECTOR-223}");
-    is("\N{VS224}", "\N{VARIATION SELECTOR-224}");
-    is("\N{VS225}", "\N{VARIATION SELECTOR-225}");
-    is("\N{VS226}", "\N{VARIATION SELECTOR-226}");
-    is("\N{VS227}", "\N{VARIATION SELECTOR-227}");
-    is("\N{VS228}", "\N{VARIATION SELECTOR-228}");
-    is("\N{VS229}", "\N{VARIATION SELECTOR-229}");
-    is("\N{VS230}", "\N{VARIATION SELECTOR-230}");
-    is("\N{VS231}", "\N{VARIATION SELECTOR-231}");
-    is("\N{VS232}", "\N{VARIATION SELECTOR-232}");
-    is("\N{VS233}", "\N{VARIATION SELECTOR-233}");
-    is("\N{VS234}", "\N{VARIATION SELECTOR-234}");
-    is("\N{VS235}", "\N{VARIATION SELECTOR-235}");
-    is("\N{VS236}", "\N{VARIATION SELECTOR-236}");
-    is("\N{VS237}", "\N{VARIATION SELECTOR-237}");
-    is("\N{VS238}", "\N{VARIATION SELECTOR-238}");
-    is("\N{VS239}", "\N{VARIATION SELECTOR-239}");
-    is("\N{VS240}", "\N{VARIATION SELECTOR-240}");
-    is("\N{VS241}", "\N{VARIATION SELECTOR-241}");
-    is("\N{VS242}", "\N{VARIATION SELECTOR-242}");
-    is("\N{VS243}", "\N{VARIATION SELECTOR-243}");
-    is("\N{VS244}", "\N{VARIATION SELECTOR-244}");
-    is("\N{VS245}", "\N{VARIATION SELECTOR-245}");
-    is("\N{VS246}", "\N{VARIATION SELECTOR-246}");
-    is("\N{VS247}", "\N{VARIATION SELECTOR-247}");
-    is("\N{VS248}", "\N{VARIATION SELECTOR-248}");
-    is("\N{VS249}", "\N{VARIATION SELECTOR-249}");
-    is("\N{VS250}", "\N{VARIATION SELECTOR-250}");
-    is("\N{VS251}", "\N{VARIATION SELECTOR-251}");
-    is("\N{VS252}", "\N{VARIATION SELECTOR-252}");
-    is("\N{VS253}", "\N{VARIATION SELECTOR-253}");
-    is("\N{VS254}", "\N{VARIATION SELECTOR-254}");
-    is("\N{VS255}", "\N{VARIATION SELECTOR-255}");
-    is("\N{VS256}", "\N{VARIATION SELECTOR-256}");
+    is("\N{LINE FEED}", "\N{LINE FEED (LF)}", 'Verify "\N{LINE FEED}" eq "\N{LINE FEED (LF)}"', 'Verify \N{LINE FEED} eq \N{LINE FEED (LF)}');
+    is("\N{FORM FEED}", "\N{FORM FEED (FF)}", 'Verify "\N{FORM FEED}" eq "\N{FORM FEED (FF)}"');
+    is("\N{CARRIAGE RETURN}", "\N{CARRIAGE RETURN (CR)}", 'Verify "\N{CARRIAGE RETURN}" eq "\N{CARRIAGE RETURN (CR)}"');
+    is("\N{NEXT LINE}", "\N{NEXT LINE (NEL)}", 'Verify "\N{NEXT LINE}" eq "\N{NEXT LINE (NEL)}"');
+    is("\N{NUL}", "\N{NULL}", 'Verify "\N{NUL}" eq "\N{NULL}"');
+    is("\N{SOH}", "\N{START OF HEADING}", 'Verify "\N{SOH}" eq "\N{START OF HEADING}"');
+    is("\N{STX}", "\N{START OF TEXT}", 'Verify "\N{STX}" eq "\N{START OF TEXT}"');
+    is("\N{ETX}", "\N{END OF TEXT}", 'Verify "\N{ETX}" eq "\N{END OF TEXT}"');
+    is("\N{EOT}", "\N{END OF TRANSMISSION}", 'Verify "\N{EOT}" eq "\N{END OF TRANSMISSION}"');
+    is("\N{ENQ}", "\N{ENQUIRY}", 'Verify "\N{ENQ}" eq "\N{ENQUIRY}"');
+    is("\N{ACK}", "\N{ACKNOWLEDGE}", 'Verify "\N{ACK}" eq "\N{ACKNOWLEDGE}"');
+    is("\N{BEL}", "\N{BELL}", 'Verify "\N{BEL}" eq "\N{BELL}"') if $^V lt v5.17.0;
+    is("\N{BS}", "\N{BACKSPACE}", 'Verify "\N{BS}" eq "\N{BACKSPACE}"');
+    is("\N{HT}", "\N{HORIZONTAL TABULATION}", 'Verify "\N{HT}" eq "\N{HORIZONTAL TABULATION}"');
+    is("\N{LF}", "\N{LINE FEED (LF)}", 'Verify "\N{LF}" eq "\N{LINE FEED (LF)}"');
+    is("\N{VT}", "\N{VERTICAL TABULATION}", 'Verify "\N{VT}" eq "\N{VERTICAL TABULATION}"');
+    is("\N{FF}", "\N{FORM FEED (FF)}", 'Verify "\N{FF}" eq "\N{FORM FEED (FF)}"');
+    is("\N{CR}", "\N{CARRIAGE RETURN (CR)}", 'Verify "\N{CR}" eq "\N{CARRIAGE RETURN (CR)}"');
+    is("\N{SO}", "\N{SHIFT OUT}", 'Verify "\N{SO}" eq "\N{SHIFT OUT}"');
+    is("\N{SI}", "\N{SHIFT IN}", 'Verify "\N{SI}" eq "\N{SHIFT IN}"');
+    is("\N{DLE}", "\N{DATA LINK ESCAPE}", 'Verify "\N{DLE}" eq "\N{DATA LINK ESCAPE}"');
+    is("\N{DC1}", "\N{DEVICE CONTROL ONE}", 'Verify "\N{DC1}" eq "\N{DEVICE CONTROL ONE}"');
+    is("\N{DC2}", "\N{DEVICE CONTROL TWO}", 'Verify "\N{DC2}" eq "\N{DEVICE CONTROL TWO}"');
+    is("\N{DC3}", "\N{DEVICE CONTROL THREE}", 'Verify "\N{DC3}" eq "\N{DEVICE CONTROL THREE}"');
+    is("\N{DC4}", "\N{DEVICE CONTROL FOUR}", 'Verify "\N{DC4}" eq "\N{DEVICE CONTROL FOUR}"');
+    is("\N{NAK}", "\N{NEGATIVE ACKNOWLEDGE}", 'Verify "\N{NAK}" eq "\N{NEGATIVE ACKNOWLEDGE}"');
+    is("\N{SYN}", "\N{SYNCHRONOUS IDLE}", 'Verify "\N{SYN}" eq "\N{SYNCHRONOUS IDLE}"');
+    is("\N{ETB}", "\N{END OF TRANSMISSION BLOCK}", 'Verify "\N{ETB}" eq "\N{END OF TRANSMISSION BLOCK}"');
+    is("\N{CAN}", "\N{CANCEL}", 'Verify "\N{CAN}" eq "\N{CANCEL}"');
+    is("\N{EOM}", "\N{END OF MEDIUM}", 'Verify "\N{EOM}" eq "\N{END OF MEDIUM}"');
+    is("\N{SUB}", "\N{SUBSTITUTE}", 'Verify "\N{SUB}" eq "\N{SUBSTITUTE}"');
+    is("\N{ESC}", "\N{ESCAPE}", 'Verify "\N{ESC}" eq "\N{ESCAPE}"');
+    is("\N{FS}", "\N{FILE SEPARATOR}", 'Verify "\N{FS}" eq "\N{FILE SEPARATOR}"');
+    is("\N{GS}", "\N{GROUP SEPARATOR}", 'Verify "\N{GS}" eq "\N{GROUP SEPARATOR}"');
+    is("\N{RS}", "\N{RECORD SEPARATOR}", 'Verify "\N{RS}" eq "\N{RECORD SEPARATOR}"');
+    is("\N{US}", "\N{UNIT SEPARATOR}", 'Verify "\N{US}" eq "\N{UNIT SEPARATOR}"');
+    is("\N{DEL}", "\N{DELETE}", 'Verify "\N{DEL}" eq "\N{DELETE}"');
+    is("\N{BPH}", "\N{BREAK PERMITTED HERE}", 'Verify "\N{BPH}" eq "\N{BREAK PERMITTED HERE}"');
+    is("\N{NBH}", "\N{NO BREAK HERE}", 'Verify "\N{NBH}" eq "\N{NO BREAK HERE}"');
+    is("\N{NEL}", "\N{NEXT LINE (NEL)}", 'Verify "\N{NEL}" eq "\N{NEXT LINE (NEL)}"');
+    is("\N{SSA}", "\N{START OF SELECTED AREA}", 'Verify "\N{SSA}" eq "\N{START OF SELECTED AREA}"');
+    is("\N{ESA}", "\N{END OF SELECTED AREA}", 'Verify "\N{ESA}" eq "\N{END OF SELECTED AREA}"');
+    is("\N{HTS}", "\N{CHARACTER TABULATION SET}", 'Verify "\N{HTS}" eq "\N{CHARACTER TABULATION SET}"');
+    is("\N{HTJ}", "\N{CHARACTER TABULATION WITH JUSTIFICATION}", 'Verify "\N{HTJ}" eq "\N{CHARACTER TABULATION WITH JUSTIFICATION}"');
+    is("\N{VTS}", "\N{LINE TABULATION SET}", 'Verify "\N{VTS}" eq "\N{LINE TABULATION SET}"');
+    is("\N{PLD}", "\N{PARTIAL LINE FORWARD}", 'Verify "\N{PLD}" eq "\N{PARTIAL LINE FORWARD}"');
+    is("\N{PLU}", "\N{PARTIAL LINE BACKWARD}", 'Verify "\N{PLU}" eq "\N{PARTIAL LINE BACKWARD}"');
+    is("\N{RI}", "\N{REVERSE LINE FEED}", 'Verify "\N{RI}" eq "\N{REVERSE LINE FEED}"');
+    is("\N{SS2}", "\N{SINGLE SHIFT TWO}", 'Verify "\N{SS2}" eq "\N{SINGLE SHIFT TWO}"');
+    is("\N{SS3}", "\N{SINGLE SHIFT THREE}", 'Verify "\N{SS3}" eq "\N{SINGLE SHIFT THREE}"');
+    is("\N{DCS}", "\N{DEVICE CONTROL STRING}", 'Verify "\N{DCS}" eq "\N{DEVICE CONTROL STRING}"');
+    is("\N{PU1}", "\N{PRIVATE USE ONE}", 'Verify "\N{PU1}" eq "\N{PRIVATE USE ONE}"');
+    is("\N{PU2}", "\N{PRIVATE USE TWO}", 'Verify "\N{PU2}" eq "\N{PRIVATE USE TWO}"');
+    is("\N{STS}", "\N{SET TRANSMIT STATE}", 'Verify "\N{STS}" eq "\N{SET TRANSMIT STATE}"');
+    is("\N{CCH}", "\N{CANCEL CHARACTER}", 'Verify "\N{CCH}" eq "\N{CANCEL CHARACTER}"');
+    is("\N{MW}", "\N{MESSAGE WAITING}", 'Verify "\N{MW}" eq "\N{MESSAGE WAITING}"');
+    is("\N{SPA}", "\N{START OF GUARDED AREA}", 'Verify "\N{SPA}" eq "\N{START OF GUARDED AREA}"');
+    is("\N{EPA}", "\N{END OF GUARDED AREA}", 'Verify "\N{EPA}" eq "\N{END OF GUARDED AREA}"');
+    is("\N{SOS}", "\N{START OF STRING}", 'Verify "\N{SOS}" eq "\N{START OF STRING}"');
+    is("\N{SCI}", "\N{SINGLE CHARACTER INTRODUCER}", 'Verify "\N{SCI}" eq "\N{SINGLE CHARACTER INTRODUCER}"');
+    is("\N{CSI}", "\N{CONTROL SEQUENCE INTRODUCER}", 'Verify "\N{CSI}" eq "\N{CONTROL SEQUENCE INTRODUCER}"');
+    is("\N{ST}", "\N{STRING TERMINATOR}", 'Verify "\N{ST}" eq "\N{STRING TERMINATOR}"');
+    is("\N{OSC}", "\N{OPERATING SYSTEM COMMAND}", 'Verify "\N{OSC}" eq "\N{OPERATING SYSTEM COMMAND}"');
+    is("\N{PM}", "\N{PRIVACY MESSAGE}", 'Verify "\N{PM}" eq "\N{PRIVACY MESSAGE}"');
+    is("\N{APC}", "\N{APPLICATION PROGRAM COMMAND}", 'Verify "\N{APC}" eq "\N{APPLICATION PROGRAM COMMAND}"');
+    is("\N{PADDING CHARACTER}", "\N{PAD}", 'Verify "\N{PADDING CHARACTER}" eq "\N{PAD}"');
+    is("\N{HIGH OCTET PRESET}","\N{HOP}", 'Verify "\N{HIGH OCTET PRESET}" eq "\N{HOP}"');
+    is("\N{INDEX}", "\N{IND}", 'Verify "\N{INDEX}" eq "\N{IND}"');
+    is("\N{SINGLE GRAPHIC CHARACTER INTRODUCER}", "\N{SGC}", 'Verify "\N{SINGLE GRAPHIC CHARACTER INTRODUCER}" eq "\N{SGC}"');
+    is("\N{BOM}", "\N{BYTE ORDER MARK}", 'Verify "\N{BOM}" eq "\N{BYTE ORDER MARK}"');
+    is("\N{CGJ}", "\N{COMBINING GRAPHEME JOINER}", 'Verify "\N{CGJ}" eq "\N{COMBINING GRAPHEME JOINER}"');
+    is("\N{FVS1}", "\N{MONGOLIAN FREE VARIATION SELECTOR ONE}", 'Verify "\N{FVS1}" eq "\N{MONGOLIAN FREE VARIATION SELECTOR ONE}"');
+    is("\N{FVS2}", "\N{MONGOLIAN FREE VARIATION SELECTOR TWO}", 'Verify "\N{FVS2}" eq "\N{MONGOLIAN FREE VARIATION SELECTOR TWO}"');
+    is("\N{FVS3}", "\N{MONGOLIAN FREE VARIATION SELECTOR THREE}", 'Verify "\N{FVS3}" eq "\N{MONGOLIAN FREE VARIATION SELECTOR THREE}"');
+    is("\N{LRE}", "\N{LEFT-TO-RIGHT EMBEDDING}", 'Verify "\N{LRE}" eq "\N{LEFT-TO-RIGHT EMBEDDING}"');
+    is("\N{LRM}", "\N{LEFT-TO-RIGHT MARK}", 'Verify "\N{LRM}" eq "\N{LEFT-TO-RIGHT MARK}"');
+    is("\N{LRO}", "\N{LEFT-TO-RIGHT OVERRIDE}", 'Verify "\N{LRO}" eq "\N{LEFT-TO-RIGHT OVERRIDE}"');
+    is("\N{MMSP}", "\N{MEDIUM MATHEMATICAL SPACE}", 'Verify "\N{MMSP}" eq "\N{MEDIUM MATHEMATICAL SPACE}"');
+    is("\N{MVS}", "\N{MONGOLIAN VOWEL SEPARATOR}", 'Verify "\N{MVS}" eq "\N{MONGOLIAN VOWEL SEPARATOR}"');
+    is("\N{NBSP}", "\N{NO-BREAK SPACE}", 'Verify "\N{NBSP}" eq "\N{NO-BREAK SPACE}"');
+    is("\N{NNBSP}", "\N{NARROW NO-BREAK SPACE}", 'Verify "\N{NNBSP}" eq "\N{NARROW NO-BREAK SPACE}"');
+    is("\N{PDF}", "\N{POP DIRECTIONAL FORMATTING}", 'Verify "\N{PDF}" eq "\N{POP DIRECTIONAL FORMATTING}"');
+    is("\N{RLE}", "\N{RIGHT-TO-LEFT EMBEDDING}", 'Verify "\N{RLE}" eq "\N{RIGHT-TO-LEFT EMBEDDING}"');
+    is("\N{RLM}", "\N{RIGHT-TO-LEFT MARK}", 'Verify "\N{RLM}" eq "\N{RIGHT-TO-LEFT MARK}"');
+    is("\N{RLO}", "\N{RIGHT-TO-LEFT OVERRIDE}", 'Verify "\N{RLO}" eq "\N{RIGHT-TO-LEFT OVERRIDE}"');
+    is("\N{SHY}", "\N{SOFT HYPHEN}", 'Verify "\N{SHY}" eq "\N{SOFT HYPHEN}"');
+    is("\N{WJ}", "\N{WORD JOINER}", 'Verify "\N{WJ}" eq "\N{WORD JOINER}"');
+    is("\N{ZWJ}", "\N{ZERO WIDTH JOINER}", 'Verify "\N{ZWJ}" eq "\N{ZERO WIDTH JOINER}"');
+    is("\N{ZWNJ}", "\N{ZERO WIDTH NON-JOINER}", 'Verify "\N{ZWNJ}" eq "\N{ZERO WIDTH NON-JOINER}"');
+    is("\N{ZWSP}", "\N{ZERO WIDTH SPACE}", 'Verify "\N{ZWSP}" eq "\N{ZERO WIDTH SPACE}"');
+    is("\N{HORIZONTAL TABULATION}", "\N{CHARACTER TABULATION}", 'Verify "\N{HORIZONTAL TABULATION}" eq "\N{CHARACTER TABULATION}"');
+    is("\N{VERTICAL TABULATION}", "\N{LINE TABULATION}", 'Verify "\N{VERTICAL TABULATION}" eq "\N{LINE TABULATION}"');
+    is("\N{FILE SEPARATOR}", "\N{INFORMATION SEPARATOR FOUR}", 'Verify "\N{FILE SEPARATOR}" eq "\N{INFORMATION SEPARATOR FOUR}"');
+    is("\N{GROUP SEPARATOR}", "\N{INFORMATION SEPARATOR THREE}", 'Verify "\N{GROUP SEPARATOR}" eq "\N{INFORMATION SEPARATOR THREE}"');
+    is("\N{RECORD SEPARATOR}", "\N{INFORMATION SEPARATOR TWO}", 'Verify "\N{RECORD SEPARATOR}" eq "\N{INFORMATION SEPARATOR TWO}"');
+    is("\N{UNIT SEPARATOR}", "\N{INFORMATION SEPARATOR ONE}", 'Verify "\N{UNIT SEPARATOR}" eq "\N{INFORMATION SEPARATOR ONE}"');
+    is("\N{HORIZONTAL TABULATION SET}", "\N{CHARACTER TABULATION SET}", 'Verify "\N{HORIZONTAL TABULATION SET}" eq "\N{CHARACTER TABULATION SET}"');
+    is("\N{HORIZONTAL TABULATION WITH JUSTIFICATION}", "\N{CHARACTER TABULATION WITH JUSTIFICATION}", 'Verify "\N{HORIZONTAL TABULATION WITH JUSTIFICATION}" eq "\N{CHARACTER TABULATION WITH JUSTIFICATION}"');
+    is("\N{PARTIAL LINE DOWN}", "\N{PARTIAL LINE FORWARD}", 'Verify "\N{PARTIAL LINE DOWN}" eq "\N{PARTIAL LINE FORWARD}"');
+    is("\N{PARTIAL LINE UP}", "\N{PARTIAL LINE BACKWARD}", 'Verify "\N{PARTIAL LINE UP}" eq "\N{PARTIAL LINE BACKWARD}"');
+    is("\N{VERTICAL TABULATION SET}", "\N{LINE TABULATION SET}", 'Verify "\N{VERTICAL TABULATION SET}" eq "\N{LINE TABULATION SET}"');
+    is("\N{REVERSE INDEX}", "\N{REVERSE LINE FEED}", 'Verify "\N{REVERSE INDEX}" eq "\N{REVERSE LINE FEED}"');
+    is("\N{SINGLE-SHIFT 2}", "\N{SINGLE SHIFT TWO}", 'Verify "\N{SINGLE-SHIFT 2}" eq "\N{SINGLE SHIFT TWO}"');
+    is("\N{SINGLE-SHIFT-2}", "\N{SINGLE-SHIFT 2}", 'Verify "\N{SINGLE-SHIFT-2}" eq "\N{SINGLE SHIFT 2}"');
+    is("\N{SINGLE-SHIFT 3}", "\N{SINGLE SHIFT THREE}", 'Verify "\N{SINGLE-SHIFT 3}" eq "\N{SINGLE SHIFT THREE}"');
+    is("\N{SINGLE-SHIFT-3}", "\N{SINGLE-SHIFT 3}", 'Verify "\N{SINGLE-SHIFT-3}" eq "\N{SINGLE SHIFT 3}"');
+    is("\N{PRIVATE USE 1}", "\N{PRIVATE USE ONE}", 'Verify "\N{PRIVATE USE 1}" eq "\N{PRIVATE USE ONE}"');
+    is("\N{PRIVATE USE-1}", "\N{PRIVATE USE 1}", 'Verify "\N{PRIVATE USE-1}" eq "\N{PRIVATE USE 1}"');
+    is("\N{PRIVATE USE 2}", "\N{PRIVATE USE TWO}", 'Verify "\N{PRIVATE USE 2}" eq "\N{PRIVATE USE TWO}"');
+    is("\N{PRIVATE USE-2}", "\N{PRIVATE USE 2}", 'Verify "\N{PRIVATE USE-2}" eq "\N{PRIVATE USE 2}"');
+    is("\N{START OF PROTECTED AREA}", "\N{START OF GUARDED AREA}", 'Verify "\N{START OF PROTECTED AREA}" eq "\N{START OF GUARDED AREA}"');
+    is("\N{END OF PROTECTED AREA}", "\N{END OF GUARDED AREA}", 'Verify "\N{END OF PROTECTED AREA}" eq "\N{END OF GUARDED AREA}"');
+    is("\N{VS1}", "\N{VARIATION SELECTOR-1}", 'Verify "\N{VS1}" eq "\N{VARIATION SELECTOR-1}"');
+    is("\N{VS2}", "\N{VARIATION SELECTOR-2}", 'Verify "\N{VS2}" eq "\N{VARIATION SELECTOR-2}"');
+    is("\N{VS3}", "\N{VARIATION SELECTOR-3}", 'Verify "\N{VS3}" eq "\N{VARIATION SELECTOR-3}"');
+    is("\N{VS4}", "\N{VARIATION SELECTOR-4}", 'Verify "\N{VS4}" eq "\N{VARIATION SELECTOR-4}"');
+    is("\N{VS5}", "\N{VARIATION SELECTOR-5}", 'Verify "\N{VS5}" eq "\N{VARIATION SELECTOR-5}"');
+    is("\N{VS6}", "\N{VARIATION SELECTOR-6}", 'Verify "\N{VS6}" eq "\N{VARIATION SELECTOR-6}"');
+    is("\N{VS7}", "\N{VARIATION SELECTOR-7}", 'Verify "\N{VS7}" eq "\N{VARIATION SELECTOR-7}"');
+    is("\N{VS8}", "\N{VARIATION SELECTOR-8}", 'Verify "\N{VS8}" eq "\N{VARIATION SELECTOR-8}"');
+    is("\N{VS9}", "\N{VARIATION SELECTOR-9}", 'Verify "\N{VS9}" eq "\N{VARIATION SELECTOR-9}"');
+    is("\N{VS10}", "\N{VARIATION SELECTOR-10}", 'Verify "\N{VS10}" eq "\N{VARIATION SELECTOR-10}"');
+    is("\N{VS11}", "\N{VARIATION SELECTOR-11}", 'Verify "\N{VS11}" eq "\N{VARIATION SELECTOR-11}"');
+    is("\N{VS12}", "\N{VARIATION SELECTOR-12}", 'Verify "\N{VS12}" eq "\N{VARIATION SELECTOR-12}"');
+    is("\N{VS13}", "\N{VARIATION SELECTOR-13}", 'Verify "\N{VS13}" eq "\N{VARIATION SELECTOR-13}"');
+    is("\N{VS14}", "\N{VARIATION SELECTOR-14}", 'Verify "\N{VS14}" eq "\N{VARIATION SELECTOR-14}"');
+    is("\N{VS15}", "\N{VARIATION SELECTOR-15}", 'Verify "\N{VS15}" eq "\N{VARIATION SELECTOR-15}"');
+    is("\N{VS16}", "\N{VARIATION SELECTOR-16}", 'Verify "\N{VS16}" eq "\N{VARIATION SELECTOR-16}"');
+    is("\N{VS17}", "\N{VARIATION SELECTOR-17}", 'Verify "\N{VS17}" eq "\N{VARIATION SELECTOR-17}"');
+    is("\N{VS18}", "\N{VARIATION SELECTOR-18}", 'Verify "\N{VS18}" eq "\N{VARIATION SELECTOR-18}"');
+    is("\N{VS19}", "\N{VARIATION SELECTOR-19}", 'Verify "\N{VS19}" eq "\N{VARIATION SELECTOR-19}"');
+    is("\N{VS20}", "\N{VARIATION SELECTOR-20}", 'Verify "\N{VS20}" eq "\N{VARIATION SELECTOR-20}"');
+    is("\N{VS21}", "\N{VARIATION SELECTOR-21}", 'Verify "\N{VS21}" eq "\N{VARIATION SELECTOR-21}"');
+    is("\N{VS22}", "\N{VARIATION SELECTOR-22}", 'Verify "\N{VS22}" eq "\N{VARIATION SELECTOR-22}"');
+    is("\N{VS23}", "\N{VARIATION SELECTOR-23}", 'Verify "\N{VS23}" eq "\N{VARIATION SELECTOR-23}"');
+    is("\N{VS24}", "\N{VARIATION SELECTOR-24}", 'Verify "\N{VS24}" eq "\N{VARIATION SELECTOR-24}"');
+    is("\N{VS25}", "\N{VARIATION SELECTOR-25}", 'Verify "\N{VS25}" eq "\N{VARIATION SELECTOR-25}"');
+    is("\N{VS26}", "\N{VARIATION SELECTOR-26}", 'Verify "\N{VS26}" eq "\N{VARIATION SELECTOR-26}"');
+    is("\N{VS27}", "\N{VARIATION SELECTOR-27}", 'Verify "\N{VS27}" eq "\N{VARIATION SELECTOR-27}"');
+    is("\N{VS28}", "\N{VARIATION SELECTOR-28}", 'Verify "\N{VS28}" eq "\N{VARIATION SELECTOR-28}"');
+    is("\N{VS29}", "\N{VARIATION SELECTOR-29}", 'Verify "\N{VS29}" eq "\N{VARIATION SELECTOR-29}"');
+    is("\N{VS30}", "\N{VARIATION SELECTOR-30}", 'Verify "\N{VS30}" eq "\N{VARIATION SELECTOR-30}"');
+    is("\N{VS31}", "\N{VARIATION SELECTOR-31}", 'Verify "\N{VS31}" eq "\N{VARIATION SELECTOR-31}"');
+    is("\N{VS32}", "\N{VARIATION SELECTOR-32}", 'Verify "\N{VS32}" eq "\N{VARIATION SELECTOR-32}"');
+    is("\N{VS33}", "\N{VARIATION SELECTOR-33}", 'Verify "\N{VS33}" eq "\N{VARIATION SELECTOR-33}"');
+    is("\N{VS34}", "\N{VARIATION SELECTOR-34}", 'Verify "\N{VS34}" eq "\N{VARIATION SELECTOR-34}"');
+    is("\N{VS35}", "\N{VARIATION SELECTOR-35}", 'Verify "\N{VS35}" eq "\N{VARIATION SELECTOR-35}"');
+    is("\N{VS36}", "\N{VARIATION SELECTOR-36}", 'Verify "\N{VS36}" eq "\N{VARIATION SELECTOR-36}"');
+    is("\N{VS37}", "\N{VARIATION SELECTOR-37}", 'Verify "\N{VS37}" eq "\N{VARIATION SELECTOR-37}"');
+    is("\N{VS38}", "\N{VARIATION SELECTOR-38}", 'Verify "\N{VS38}" eq "\N{VARIATION SELECTOR-38}"');
+    is("\N{VS39}", "\N{VARIATION SELECTOR-39}", 'Verify "\N{VS39}" eq "\N{VARIATION SELECTOR-39}"');
+    is("\N{VS40}", "\N{VARIATION SELECTOR-40}", 'Verify "\N{VS40}" eq "\N{VARIATION SELECTOR-40}"');
+    is("\N{VS41}", "\N{VARIATION SELECTOR-41}", 'Verify "\N{VS41}" eq "\N{VARIATION SELECTOR-41}"');
+    is("\N{VS42}", "\N{VARIATION SELECTOR-42}", 'Verify "\N{VS42}" eq "\N{VARIATION SELECTOR-42}"');
+    is("\N{VS43}", "\N{VARIATION SELECTOR-43}", 'Verify "\N{VS43}" eq "\N{VARIATION SELECTOR-43}"');
+    is("\N{VS44}", "\N{VARIATION SELECTOR-44}", 'Verify "\N{VS44}" eq "\N{VARIATION SELECTOR-44}"');
+    is("\N{VS45}", "\N{VARIATION SELECTOR-45}", 'Verify "\N{VS45}" eq "\N{VARIATION SELECTOR-45}"');
+    is("\N{VS46}", "\N{VARIATION SELECTOR-46}", 'Verify "\N{VS46}" eq "\N{VARIATION SELECTOR-46}"');
+    is("\N{VS47}", "\N{VARIATION SELECTOR-47}", 'Verify "\N{VS47}" eq "\N{VARIATION SELECTOR-47}"');
+    is("\N{VS48}", "\N{VARIATION SELECTOR-48}", 'Verify "\N{VS48}" eq "\N{VARIATION SELECTOR-48}"');
+    is("\N{VS49}", "\N{VARIATION SELECTOR-49}", 'Verify "\N{VS49}" eq "\N{VARIATION SELECTOR-49}"');
+    is("\N{VS50}", "\N{VARIATION SELECTOR-50}", 'Verify "\N{VS50}" eq "\N{VARIATION SELECTOR-50}"');
+    is("\N{VS51}", "\N{VARIATION SELECTOR-51}", 'Verify "\N{VS51}" eq "\N{VARIATION SELECTOR-51}"');
+    is("\N{VS52}", "\N{VARIATION SELECTOR-52}", 'Verify "\N{VS52}" eq "\N{VARIATION SELECTOR-52}"');
+    is("\N{VS53}", "\N{VARIATION SELECTOR-53}", 'Verify "\N{VS53}" eq "\N{VARIATION SELECTOR-53}"');
+    is("\N{VS54}", "\N{VARIATION SELECTOR-54}", 'Verify "\N{VS54}" eq "\N{VARIATION SELECTOR-54}"');
+    is("\N{VS55}", "\N{VARIATION SELECTOR-55}", 'Verify "\N{VS55}" eq "\N{VARIATION SELECTOR-55}"');
+    is("\N{VS56}", "\N{VARIATION SELECTOR-56}", 'Verify "\N{VS56}" eq "\N{VARIATION SELECTOR-56}"');
+    is("\N{VS57}", "\N{VARIATION SELECTOR-57}", 'Verify "\N{VS57}" eq "\N{VARIATION SELECTOR-57}"');
+    is("\N{VS58}", "\N{VARIATION SELECTOR-58}", 'Verify "\N{VS58}" eq "\N{VARIATION SELECTOR-58}"');
+    is("\N{VS59}", "\N{VARIATION SELECTOR-59}", 'Verify "\N{VS59}" eq "\N{VARIATION SELECTOR-59}"');
+    is("\N{VS60}", "\N{VARIATION SELECTOR-60}", 'Verify "\N{VS60}" eq "\N{VARIATION SELECTOR-60}"');
+    is("\N{VS61}", "\N{VARIATION SELECTOR-61}", 'Verify "\N{VS61}" eq "\N{VARIATION SELECTOR-61}"');
+    is("\N{VS62}", "\N{VARIATION SELECTOR-62}", 'Verify "\N{VS62}" eq "\N{VARIATION SELECTOR-62}"');
+    is("\N{VS63}", "\N{VARIATION SELECTOR-63}", 'Verify "\N{VS63}" eq "\N{VARIATION SELECTOR-63}"');
+    is("\N{VS64}", "\N{VARIATION SELECTOR-64}", 'Verify "\N{VS64}" eq "\N{VARIATION SELECTOR-64}"');
+    is("\N{VS65}", "\N{VARIATION SELECTOR-65}", 'Verify "\N{VS65}" eq "\N{VARIATION SELECTOR-65}"');
+    is("\N{VS66}", "\N{VARIATION SELECTOR-66}", 'Verify "\N{VS66}" eq "\N{VARIATION SELECTOR-66}"');
+    is("\N{VS67}", "\N{VARIATION SELECTOR-67}", 'Verify "\N{VS67}" eq "\N{VARIATION SELECTOR-67}"');
+    is("\N{VS68}", "\N{VARIATION SELECTOR-68}", 'Verify "\N{VS68}" eq "\N{VARIATION SELECTOR-68}"');
+    is("\N{VS69}", "\N{VARIATION SELECTOR-69}", 'Verify "\N{VS69}" eq "\N{VARIATION SELECTOR-69}"');
+    is("\N{VS70}", "\N{VARIATION SELECTOR-70}", 'Verify "\N{VS70}" eq "\N{VARIATION SELECTOR-70}"');
+    is("\N{VS71}", "\N{VARIATION SELECTOR-71}", 'Verify "\N{VS71}" eq "\N{VARIATION SELECTOR-71}"');
+    is("\N{VS72}", "\N{VARIATION SELECTOR-72}", 'Verify "\N{VS72}" eq "\N{VARIATION SELECTOR-72}"');
+    is("\N{VS73}", "\N{VARIATION SELECTOR-73}", 'Verify "\N{VS73}" eq "\N{VARIATION SELECTOR-73}"');
+    is("\N{VS74}", "\N{VARIATION SELECTOR-74}", 'Verify "\N{VS74}" eq "\N{VARIATION SELECTOR-74}"');
+    is("\N{VS75}", "\N{VARIATION SELECTOR-75}", 'Verify "\N{VS75}" eq "\N{VARIATION SELECTOR-75}"');
+    is("\N{VS76}", "\N{VARIATION SELECTOR-76}", 'Verify "\N{VS76}" eq "\N{VARIATION SELECTOR-76}"');
+    is("\N{VS77}", "\N{VARIATION SELECTOR-77}", 'Verify "\N{VS77}" eq "\N{VARIATION SELECTOR-77}"');
+    is("\N{VS78}", "\N{VARIATION SELECTOR-78}", 'Verify "\N{VS78}" eq "\N{VARIATION SELECTOR-78}"');
+    is("\N{VS79}", "\N{VARIATION SELECTOR-79}", 'Verify "\N{VS79}" eq "\N{VARIATION SELECTOR-79}"');
+    is("\N{VS80}", "\N{VARIATION SELECTOR-80}", 'Verify "\N{VS80}" eq "\N{VARIATION SELECTOR-80}"');
+    is("\N{VS81}", "\N{VARIATION SELECTOR-81}", 'Verify "\N{VS81}" eq "\N{VARIATION SELECTOR-81}"');
+    is("\N{VS82}", "\N{VARIATION SELECTOR-82}", 'Verify "\N{VS82}" eq "\N{VARIATION SELECTOR-82}"');
+    is("\N{VS83}", "\N{VARIATION SELECTOR-83}", 'Verify "\N{VS83}" eq "\N{VARIATION SELECTOR-83}"');
+    is("\N{VS84}", "\N{VARIATION SELECTOR-84}", 'Verify "\N{VS84}" eq "\N{VARIATION SELECTOR-84}"');
+    is("\N{VS85}", "\N{VARIATION SELECTOR-85}", 'Verify "\N{VS85}" eq "\N{VARIATION SELECTOR-85}"');
+    is("\N{VS86}", "\N{VARIATION SELECTOR-86}", 'Verify "\N{VS86}" eq "\N{VARIATION SELECTOR-86}"');
+    is("\N{VS87}", "\N{VARIATION SELECTOR-87}", 'Verify "\N{VS87}" eq "\N{VARIATION SELECTOR-87}"');
+    is("\N{VS88}", "\N{VARIATION SELECTOR-88}", 'Verify "\N{VS88}" eq "\N{VARIATION SELECTOR-88}"');
+    is("\N{VS89}", "\N{VARIATION SELECTOR-89}", 'Verify "\N{VS89}" eq "\N{VARIATION SELECTOR-89}"');
+    is("\N{VS90}", "\N{VARIATION SELECTOR-90}", 'Verify "\N{VS90}" eq "\N{VARIATION SELECTOR-90}"');
+    is("\N{VS91}", "\N{VARIATION SELECTOR-91}", 'Verify "\N{VS91}" eq "\N{VARIATION SELECTOR-91}"');
+    is("\N{VS92}", "\N{VARIATION SELECTOR-92}", 'Verify "\N{VS92}" eq "\N{VARIATION SELECTOR-92}"');
+    is("\N{VS93}", "\N{VARIATION SELECTOR-93}", 'Verify "\N{VS93}" eq "\N{VARIATION SELECTOR-93}"');
+    is("\N{VS94}", "\N{VARIATION SELECTOR-94}", 'Verify "\N{VS94}" eq "\N{VARIATION SELECTOR-94}"');
+    is("\N{VS95}", "\N{VARIATION SELECTOR-95}", 'Verify "\N{VS95}" eq "\N{VARIATION SELECTOR-95}"');
+    is("\N{VS96}", "\N{VARIATION SELECTOR-96}", 'Verify "\N{VS96}" eq "\N{VARIATION SELECTOR-96}"');
+    is("\N{VS97}", "\N{VARIATION SELECTOR-97}", 'Verify "\N{VS97}" eq "\N{VARIATION SELECTOR-97}"');
+    is("\N{VS98}", "\N{VARIATION SELECTOR-98}", 'Verify "\N{VS98}" eq "\N{VARIATION SELECTOR-98}"');
+    is("\N{VS99}", "\N{VARIATION SELECTOR-99}", 'Verify "\N{VS99}" eq "\N{VARIATION SELECTOR-99}"');
+    is("\N{VS100}", "\N{VARIATION SELECTOR-100}", 'Verify "\N{VS100}" eq "\N{VARIATION SELECTOR-100}"');
+    is("\N{VS101}", "\N{VARIATION SELECTOR-101}", 'Verify "\N{VS101}" eq "\N{VARIATION SELECTOR-101}"');
+    is("\N{VS102}", "\N{VARIATION SELECTOR-102}", 'Verify "\N{VS102}" eq "\N{VARIATION SELECTOR-102}"');
+    is("\N{VS103}", "\N{VARIATION SELECTOR-103}", 'Verify "\N{VS103}" eq "\N{VARIATION SELECTOR-103}"');
+    is("\N{VS104}", "\N{VARIATION SELECTOR-104}", 'Verify "\N{VS104}" eq "\N{VARIATION SELECTOR-104}"');
+    is("\N{VS105}", "\N{VARIATION SELECTOR-105}", 'Verify "\N{VS105}" eq "\N{VARIATION SELECTOR-105}"');
+    is("\N{VS106}", "\N{VARIATION SELECTOR-106}", 'Verify "\N{VS106}" eq "\N{VARIATION SELECTOR-106}"');
+    is("\N{VS107}", "\N{VARIATION SELECTOR-107}", 'Verify "\N{VS107}" eq "\N{VARIATION SELECTOR-107}"');
+    is("\N{VS108}", "\N{VARIATION SELECTOR-108}", 'Verify "\N{VS108}" eq "\N{VARIATION SELECTOR-108}"');
+    is("\N{VS109}", "\N{VARIATION SELECTOR-109}", 'Verify "\N{VS109}" eq "\N{VARIATION SELECTOR-109}"');
+    is("\N{VS110}", "\N{VARIATION SELECTOR-110}", 'Verify "\N{VS110}" eq "\N{VARIATION SELECTOR-110}"');
+    is("\N{VS111}", "\N{VARIATION SELECTOR-111}", 'Verify "\N{VS111}" eq "\N{VARIATION SELECTOR-111}"');
+    is("\N{VS112}", "\N{VARIATION SELECTOR-112}", 'Verify "\N{VS112}" eq "\N{VARIATION SELECTOR-112}"');
+    is("\N{VS113}", "\N{VARIATION SELECTOR-113}", 'Verify "\N{VS113}" eq "\N{VARIATION SELECTOR-113}"');
+    is("\N{VS114}", "\N{VARIATION SELECTOR-114}", 'Verify "\N{VS114}" eq "\N{VARIATION SELECTOR-114}"');
+    is("\N{VS115}", "\N{VARIATION SELECTOR-115}", 'Verify "\N{VS115}" eq "\N{VARIATION SELECTOR-115}"');
+    is("\N{VS116}", "\N{VARIATION SELECTOR-116}", 'Verify "\N{VS116}" eq "\N{VARIATION SELECTOR-116}"');
+    is("\N{VS117}", "\N{VARIATION SELECTOR-117}", 'Verify "\N{VS117}" eq "\N{VARIATION SELECTOR-117}"');
+    is("\N{VS118}", "\N{VARIATION SELECTOR-118}", 'Verify "\N{VS118}" eq "\N{VARIATION SELECTOR-118}"');
+    is("\N{VS119}", "\N{VARIATION SELECTOR-119}", 'Verify "\N{VS119}" eq "\N{VARIATION SELECTOR-119}"');
+    is("\N{VS120}", "\N{VARIATION SELECTOR-120}", 'Verify "\N{VS120}" eq "\N{VARIATION SELECTOR-120}"');
+    is("\N{VS121}", "\N{VARIATION SELECTOR-121}", 'Verify "\N{VS121}" eq "\N{VARIATION SELECTOR-121}"');
+    is("\N{VS122}", "\N{VARIATION SELECTOR-122}", 'Verify "\N{VS122}" eq "\N{VARIATION SELECTOR-122}"');
+    is("\N{VS123}", "\N{VARIATION SELECTOR-123}", 'Verify "\N{VS123}" eq "\N{VARIATION SELECTOR-123}"');
+    is("\N{VS124}", "\N{VARIATION SELECTOR-124}", 'Verify "\N{VS124}" eq "\N{VARIATION SELECTOR-124}"');
+    is("\N{VS125}", "\N{VARIATION SELECTOR-125}", 'Verify "\N{VS125}" eq "\N{VARIATION SELECTOR-125}"');
+    is("\N{VS126}", "\N{VARIATION SELECTOR-126}", 'Verify "\N{VS126}" eq "\N{VARIATION SELECTOR-126}"');
+    is("\N{VS127}", "\N{VARIATION SELECTOR-127}", 'Verify "\N{VS127}" eq "\N{VARIATION SELECTOR-127}"');
+    is("\N{VS128}", "\N{VARIATION SELECTOR-128}", 'Verify "\N{VS128}" eq "\N{VARIATION SELECTOR-128}"');
+    is("\N{VS129}", "\N{VARIATION SELECTOR-129}", 'Verify "\N{VS129}" eq "\N{VARIATION SELECTOR-129}"');
+    is("\N{VS130}", "\N{VARIATION SELECTOR-130}", 'Verify "\N{VS130}" eq "\N{VARIATION SELECTOR-130}"');
+    is("\N{VS131}", "\N{VARIATION SELECTOR-131}", 'Verify "\N{VS131}" eq "\N{VARIATION SELECTOR-131}"');
+    is("\N{VS132}", "\N{VARIATION SELECTOR-132}", 'Verify "\N{VS132}" eq "\N{VARIATION SELECTOR-132}"');
+    is("\N{VS133}", "\N{VARIATION SELECTOR-133}", 'Verify "\N{VS133}" eq "\N{VARIATION SELECTOR-133}"');
+    is("\N{VS134}", "\N{VARIATION SELECTOR-134}", 'Verify "\N{VS134}" eq "\N{VARIATION SELECTOR-134}"');
+    is("\N{VS135}", "\N{VARIATION SELECTOR-135}", 'Verify "\N{VS135}" eq "\N{VARIATION SELECTOR-135}"');
+    is("\N{VS136}", "\N{VARIATION SELECTOR-136}", 'Verify "\N{VS136}" eq "\N{VARIATION SELECTOR-136}"');
+    is("\N{VS137}", "\N{VARIATION SELECTOR-137}", 'Verify "\N{VS137}" eq "\N{VARIATION SELECTOR-137}"');
+    is("\N{VS138}", "\N{VARIATION SELECTOR-138}", 'Verify "\N{VS138}" eq "\N{VARIATION SELECTOR-138}"');
+    is("\N{VS139}", "\N{VARIATION SELECTOR-139}", 'Verify "\N{VS139}" eq "\N{VARIATION SELECTOR-139}"');
+    is("\N{VS140}", "\N{VARIATION SELECTOR-140}", 'Verify "\N{VS140}" eq "\N{VARIATION SELECTOR-140}"');
+    is("\N{VS141}", "\N{VARIATION SELECTOR-141}", 'Verify "\N{VS141}" eq "\N{VARIATION SELECTOR-141}"');
+    is("\N{VS142}", "\N{VARIATION SELECTOR-142}", 'Verify "\N{VS142}" eq "\N{VARIATION SELECTOR-142}"');
+    is("\N{VS143}", "\N{VARIATION SELECTOR-143}", 'Verify "\N{VS143}" eq "\N{VARIATION SELECTOR-143}"');
+    is("\N{VS144}", "\N{VARIATION SELECTOR-144}", 'Verify "\N{VS144}" eq "\N{VARIATION SELECTOR-144}"');
+    is("\N{VS145}", "\N{VARIATION SELECTOR-145}", 'Verify "\N{VS145}" eq "\N{VARIATION SELECTOR-145}"');
+    is("\N{VS146}", "\N{VARIATION SELECTOR-146}", 'Verify "\N{VS146}" eq "\N{VARIATION SELECTOR-146}"');
+    is("\N{VS147}", "\N{VARIATION SELECTOR-147}", 'Verify "\N{VS147}" eq "\N{VARIATION SELECTOR-147}"');
+    is("\N{VS148}", "\N{VARIATION SELECTOR-148}", 'Verify "\N{VS148}" eq "\N{VARIATION SELECTOR-148}"');
+    is("\N{VS149}", "\N{VARIATION SELECTOR-149}", 'Verify "\N{VS149}" eq "\N{VARIATION SELECTOR-149}"');
+    is("\N{VS150}", "\N{VARIATION SELECTOR-150}", 'Verify "\N{VS150}" eq "\N{VARIATION SELECTOR-150}"');
+    is("\N{VS151}", "\N{VARIATION SELECTOR-151}", 'Verify "\N{VS151}" eq "\N{VARIATION SELECTOR-151}"');
+    is("\N{VS152}", "\N{VARIATION SELECTOR-152}", 'Verify "\N{VS152}" eq "\N{VARIATION SELECTOR-152}"');
+    is("\N{VS153}", "\N{VARIATION SELECTOR-153}", 'Verify "\N{VS153}" eq "\N{VARIATION SELECTOR-153}"');
+    is("\N{VS154}", "\N{VARIATION SELECTOR-154}", 'Verify "\N{VS154}" eq "\N{VARIATION SELECTOR-154}"');
+    is("\N{VS155}", "\N{VARIATION SELECTOR-155}", 'Verify "\N{VS155}" eq "\N{VARIATION SELECTOR-155}"');
+    is("\N{VS156}", "\N{VARIATION SELECTOR-156}", 'Verify "\N{VS156}" eq "\N{VARIATION SELECTOR-156}"');
+    is("\N{VS157}", "\N{VARIATION SELECTOR-157}", 'Verify "\N{VS157}" eq "\N{VARIATION SELECTOR-157}"');
+    is("\N{VS158}", "\N{VARIATION SELECTOR-158}", 'Verify "\N{VS158}" eq "\N{VARIATION SELECTOR-158}"');
+    is("\N{VS159}", "\N{VARIATION SELECTOR-159}", 'Verify "\N{VS159}" eq "\N{VARIATION SELECTOR-159}"');
+    is("\N{VS160}", "\N{VARIATION SELECTOR-160}", 'Verify "\N{VS160}" eq "\N{VARIATION SELECTOR-160}"');
+    is("\N{VS161}", "\N{VARIATION SELECTOR-161}", 'Verify "\N{VS161}" eq "\N{VARIATION SELECTOR-161}"');
+    is("\N{VS162}", "\N{VARIATION SELECTOR-162}", 'Verify "\N{VS162}" eq "\N{VARIATION SELECTOR-162}"');
+    is("\N{VS163}", "\N{VARIATION SELECTOR-163}", 'Verify "\N{VS163}" eq "\N{VARIATION SELECTOR-163}"');
+    is("\N{VS164}", "\N{VARIATION SELECTOR-164}", 'Verify "\N{VS164}" eq "\N{VARIATION SELECTOR-164}"');
+    is("\N{VS165}", "\N{VARIATION SELECTOR-165}", 'Verify "\N{VS165}" eq "\N{VARIATION SELECTOR-165}"');
+    is("\N{VS166}", "\N{VARIATION SELECTOR-166}", 'Verify "\N{VS166}" eq "\N{VARIATION SELECTOR-166}"');
+    is("\N{VS167}", "\N{VARIATION SELECTOR-167}", 'Verify "\N{VS167}" eq "\N{VARIATION SELECTOR-167}"');
+    is("\N{VS168}", "\N{VARIATION SELECTOR-168}", 'Verify "\N{VS168}" eq "\N{VARIATION SELECTOR-168}"');
+    is("\N{VS169}", "\N{VARIATION SELECTOR-169}", 'Verify "\N{VS169}" eq "\N{VARIATION SELECTOR-169}"');
+    is("\N{VS170}", "\N{VARIATION SELECTOR-170}", 'Verify "\N{VS170}" eq "\N{VARIATION SELECTOR-170}"');
+    is("\N{VS171}", "\N{VARIATION SELECTOR-171}", 'Verify "\N{VS171}" eq "\N{VARIATION SELECTOR-171}"');
+    is("\N{VS172}", "\N{VARIATION SELECTOR-172}", 'Verify "\N{VS172}" eq "\N{VARIATION SELECTOR-172}"');
+    is("\N{VS173}", "\N{VARIATION SELECTOR-173}", 'Verify "\N{VS173}" eq "\N{VARIATION SELECTOR-173}"');
+    is("\N{VS174}", "\N{VARIATION SELECTOR-174}", 'Verify "\N{VS174}" eq "\N{VARIATION SELECTOR-174}"');
+    is("\N{VS175}", "\N{VARIATION SELECTOR-175}", 'Verify "\N{VS175}" eq "\N{VARIATION SELECTOR-175}"');
+    is("\N{VS176}", "\N{VARIATION SELECTOR-176}", 'Verify "\N{VS176}" eq "\N{VARIATION SELECTOR-176}"');
+    is("\N{VS177}", "\N{VARIATION SELECTOR-177}", 'Verify "\N{VS177}" eq "\N{VARIATION SELECTOR-177}"');
+    is("\N{VS178}", "\N{VARIATION SELECTOR-178}", 'Verify "\N{VS178}" eq "\N{VARIATION SELECTOR-178}"');
+    is("\N{VS179}", "\N{VARIATION SELECTOR-179}", 'Verify "\N{VS179}" eq "\N{VARIATION SELECTOR-179}"');
+    is("\N{VS180}", "\N{VARIATION SELECTOR-180}", 'Verify "\N{VS180}" eq "\N{VARIATION SELECTOR-180}"');
+    is("\N{VS181}", "\N{VARIATION SELECTOR-181}", 'Verify "\N{VS181}" eq "\N{VARIATION SELECTOR-181}"');
+    is("\N{VS182}", "\N{VARIATION SELECTOR-182}", 'Verify "\N{VS182}" eq "\N{VARIATION SELECTOR-182}"');
+    is("\N{VS183}", "\N{VARIATION SELECTOR-183}", 'Verify "\N{VS183}" eq "\N{VARIATION SELECTOR-183}"');
+    is("\N{VS184}", "\N{VARIATION SELECTOR-184}", 'Verify "\N{VS184}" eq "\N{VARIATION SELECTOR-184}"');
+    is("\N{VS185}", "\N{VARIATION SELECTOR-185}", 'Verify "\N{VS185}" eq "\N{VARIATION SELECTOR-185}"');
+    is("\N{VS186}", "\N{VARIATION SELECTOR-186}", 'Verify "\N{VS186}" eq "\N{VARIATION SELECTOR-186}"');
+    is("\N{VS187}", "\N{VARIATION SELECTOR-187}", 'Verify "\N{VS187}" eq "\N{VARIATION SELECTOR-187}"');
+    is("\N{VS188}", "\N{VARIATION SELECTOR-188}", 'Verify "\N{VS188}" eq "\N{VARIATION SELECTOR-188}"');
+    is("\N{VS189}", "\N{VARIATION SELECTOR-189}", 'Verify "\N{VS189}" eq "\N{VARIATION SELECTOR-189}"');
+    is("\N{VS190}", "\N{VARIATION SELECTOR-190}", 'Verify "\N{VS190}" eq "\N{VARIATION SELECTOR-190}"');
+    is("\N{VS191}", "\N{VARIATION SELECTOR-191}", 'Verify "\N{VS191}" eq "\N{VARIATION SELECTOR-191}"');
+    is("\N{VS192}", "\N{VARIATION SELECTOR-192}", 'Verify "\N{VS192}" eq "\N{VARIATION SELECTOR-192}"');
+    is("\N{VS193}", "\N{VARIATION SELECTOR-193}", 'Verify "\N{VS193}" eq "\N{VARIATION SELECTOR-193}"');
+    is("\N{VS194}", "\N{VARIATION SELECTOR-194}", 'Verify "\N{VS194}" eq "\N{VARIATION SELECTOR-194}"');
+    is("\N{VS195}", "\N{VARIATION SELECTOR-195}", 'Verify "\N{VS195}" eq "\N{VARIATION SELECTOR-195}"');
+    is("\N{VS196}", "\N{VARIATION SELECTOR-196}", 'Verify "\N{VS196}" eq "\N{VARIATION SELECTOR-196}"');
+    is("\N{VS197}", "\N{VARIATION SELECTOR-197}", 'Verify "\N{VS197}" eq "\N{VARIATION SELECTOR-197}"');
+    is("\N{VS198}", "\N{VARIATION SELECTOR-198}", 'Verify "\N{VS198}" eq "\N{VARIATION SELECTOR-198}"');
+    is("\N{VS199}", "\N{VARIATION SELECTOR-199}", 'Verify "\N{VS199}" eq "\N{VARIATION SELECTOR-199}"');
+    is("\N{VS200}", "\N{VARIATION SELECTOR-200}", 'Verify "\N{VS200}" eq "\N{VARIATION SELECTOR-200}"');
+    is("\N{VS201}", "\N{VARIATION SELECTOR-201}", 'Verify "\N{VS201}" eq "\N{VARIATION SELECTOR-201}"');
+    is("\N{VS202}", "\N{VARIATION SELECTOR-202}", 'Verify "\N{VS202}" eq "\N{VARIATION SELECTOR-202}"');
+    is("\N{VS203}", "\N{VARIATION SELECTOR-203}", 'Verify "\N{VS203}" eq "\N{VARIATION SELECTOR-203}"');
+    is("\N{VS204}", "\N{VARIATION SELECTOR-204}", 'Verify "\N{VS204}" eq "\N{VARIATION SELECTOR-204}"');
+    is("\N{VS205}", "\N{VARIATION SELECTOR-205}", 'Verify "\N{VS205}" eq "\N{VARIATION SELECTOR-205}"');
+    is("\N{VS206}", "\N{VARIATION SELECTOR-206}", 'Verify "\N{VS206}" eq "\N{VARIATION SELECTOR-206}"');
+    is("\N{VS207}", "\N{VARIATION SELECTOR-207}", 'Verify "\N{VS207}" eq "\N{VARIATION SELECTOR-207}"');
+    is("\N{VS208}", "\N{VARIATION SELECTOR-208}", 'Verify "\N{VS208}" eq "\N{VARIATION SELECTOR-208}"');
+    is("\N{VS209}", "\N{VARIATION SELECTOR-209}", 'Verify "\N{VS209}" eq "\N{VARIATION SELECTOR-209}"');
+    is("\N{VS210}", "\N{VARIATION SELECTOR-210}", 'Verify "\N{VS210}" eq "\N{VARIATION SELECTOR-210}"');
+    is("\N{VS211}", "\N{VARIATION SELECTOR-211}", 'Verify "\N{VS211}" eq "\N{VARIATION SELECTOR-211}"');
+    is("\N{VS212}", "\N{VARIATION SELECTOR-212}", 'Verify "\N{VS212}" eq "\N{VARIATION SELECTOR-212}"');
+    is("\N{VS213}", "\N{VARIATION SELECTOR-213}", 'Verify "\N{VS213}" eq "\N{VARIATION SELECTOR-213}"');
+    is("\N{VS214}", "\N{VARIATION SELECTOR-214}", 'Verify "\N{VS214}" eq "\N{VARIATION SELECTOR-214}"');
+    is("\N{VS215}", "\N{VARIATION SELECTOR-215}", 'Verify "\N{VS215}" eq "\N{VARIATION SELECTOR-215}"');
+    is("\N{VS216}", "\N{VARIATION SELECTOR-216}", 'Verify "\N{VS216}" eq "\N{VARIATION SELECTOR-216}"');
+    is("\N{VS217}", "\N{VARIATION SELECTOR-217}", 'Verify "\N{VS217}" eq "\N{VARIATION SELECTOR-217}"');
+    is("\N{VS218}", "\N{VARIATION SELECTOR-218}", 'Verify "\N{VS218}" eq "\N{VARIATION SELECTOR-218}"');
+    is("\N{VS219}", "\N{VARIATION SELECTOR-219}", 'Verify "\N{VS219}" eq "\N{VARIATION SELECTOR-219}"');
+    is("\N{VS220}", "\N{VARIATION SELECTOR-220}", 'Verify "\N{VS220}" eq "\N{VARIATION SELECTOR-220}"');
+    is("\N{VS221}", "\N{VARIATION SELECTOR-221}", 'Verify "\N{VS221}" eq "\N{VARIATION SELECTOR-221}"');
+    is("\N{VS222}", "\N{VARIATION SELECTOR-222}", 'Verify "\N{VS222}" eq "\N{VARIATION SELECTOR-222}"');
+    is("\N{VS223}", "\N{VARIATION SELECTOR-223}", 'Verify "\N{VS223}" eq "\N{VARIATION SELECTOR-223}"');
+    is("\N{VS224}", "\N{VARIATION SELECTOR-224}", 'Verify "\N{VS224}" eq "\N{VARIATION SELECTOR-224}"');
+    is("\N{VS225}", "\N{VARIATION SELECTOR-225}", 'Verify "\N{VS225}" eq "\N{VARIATION SELECTOR-225}"');
+    is("\N{VS226}", "\N{VARIATION SELECTOR-226}", 'Verify "\N{VS226}" eq "\N{VARIATION SELECTOR-226}"');
+    is("\N{VS227}", "\N{VARIATION SELECTOR-227}", 'Verify "\N{VS227}" eq "\N{VARIATION SELECTOR-227}"');
+    is("\N{VS228}", "\N{VARIATION SELECTOR-228}", 'Verify "\N{VS228}" eq "\N{VARIATION SELECTOR-228}"');
+    is("\N{VS229}", "\N{VARIATION SELECTOR-229}", 'Verify "\N{VS229}" eq "\N{VARIATION SELECTOR-229}"');
+    is("\N{VS230}", "\N{VARIATION SELECTOR-230}", 'Verify "\N{VS230}" eq "\N{VARIATION SELECTOR-230}"');
+    is("\N{VS231}", "\N{VARIATION SELECTOR-231}", 'Verify "\N{VS231}" eq "\N{VARIATION SELECTOR-231}"');
+    is("\N{VS232}", "\N{VARIATION SELECTOR-232}", 'Verify "\N{VS232}" eq "\N{VARIATION SELECTOR-232}"');
+    is("\N{VS233}", "\N{VARIATION SELECTOR-233}", 'Verify "\N{VS233}" eq "\N{VARIATION SELECTOR-233}"');
+    is("\N{VS234}", "\N{VARIATION SELECTOR-234}", 'Verify "\N{VS234}" eq "\N{VARIATION SELECTOR-234}"');
+    is("\N{VS235}", "\N{VARIATION SELECTOR-235}", 'Verify "\N{VS235}" eq "\N{VARIATION SELECTOR-235}"');
+    is("\N{VS236}", "\N{VARIATION SELECTOR-236}", 'Verify "\N{VS236}" eq "\N{VARIATION SELECTOR-236}"');
+    is("\N{VS237}", "\N{VARIATION SELECTOR-237}", 'Verify "\N{VS237}" eq "\N{VARIATION SELECTOR-237}"');
+    is("\N{VS238}", "\N{VARIATION SELECTOR-238}", 'Verify "\N{VS238}" eq "\N{VARIATION SELECTOR-238}"');
+    is("\N{VS239}", "\N{VARIATION SELECTOR-239}", 'Verify "\N{VS239}" eq "\N{VARIATION SELECTOR-239}"');
+    is("\N{VS240}", "\N{VARIATION SELECTOR-240}", 'Verify "\N{VS240}" eq "\N{VARIATION SELECTOR-240}"');
+    is("\N{VS241}", "\N{VARIATION SELECTOR-241}", 'Verify "\N{VS241}" eq "\N{VARIATION SELECTOR-241}"');
+    is("\N{VS242}", "\N{VARIATION SELECTOR-242}", 'Verify "\N{VS242}" eq "\N{VARIATION SELECTOR-242}"');
+    is("\N{VS243}", "\N{VARIATION SELECTOR-243}", 'Verify "\N{VS243}" eq "\N{VARIATION SELECTOR-243}"');
+    is("\N{VS244}", "\N{VARIATION SELECTOR-244}", 'Verify "\N{VS244}" eq "\N{VARIATION SELECTOR-244}"');
+    is("\N{VS245}", "\N{VARIATION SELECTOR-245}", 'Verify "\N{VS245}" eq "\N{VARIATION SELECTOR-245}"');
+    is("\N{VS246}", "\N{VARIATION SELECTOR-246}", 'Verify "\N{VS246}" eq "\N{VARIATION SELECTOR-246}"');
+    is("\N{VS247}", "\N{VARIATION SELECTOR-247}", 'Verify "\N{VS247}" eq "\N{VARIATION SELECTOR-247}"');
+    is("\N{VS248}", "\N{VARIATION SELECTOR-248}", 'Verify "\N{VS248}" eq "\N{VARIATION SELECTOR-248}"');
+    is("\N{VS249}", "\N{VARIATION SELECTOR-249}", 'Verify "\N{VS249}" eq "\N{VARIATION SELECTOR-249}"');
+    is("\N{VS250}", "\N{VARIATION SELECTOR-250}", 'Verify "\N{VS250}" eq "\N{VARIATION SELECTOR-250}"');
+    is("\N{VS251}", "\N{VARIATION SELECTOR-251}", 'Verify "\N{VS251}" eq "\N{VARIATION SELECTOR-251}"');
+    is("\N{VS252}", "\N{VARIATION SELECTOR-252}", 'Verify "\N{VS252}" eq "\N{VARIATION SELECTOR-252}"');
+    is("\N{VS253}", "\N{VARIATION SELECTOR-253}", 'Verify "\N{VS253}" eq "\N{VARIATION SELECTOR-253}"');
+    is("\N{VS254}", "\N{VARIATION SELECTOR-254}", 'Verify "\N{VS254}" eq "\N{VARIATION SELECTOR-254}"');
+    is("\N{VS255}", "\N{VARIATION SELECTOR-255}", 'Verify "\N{VS255}" eq "\N{VARIATION SELECTOR-255}"');
+    is("\N{VS256}", "\N{VARIATION SELECTOR-256}", 'Verify "\N{VS256}" eq "\N{VARIATION SELECTOR-256}"');
+
+    # Test a few of the above with :loose
+    use charnames ":loose";
+    is("\N{n-e xt l-i ne}", "\N{n-e xt l-i ne (-n-e l-)}", 'Verify "\N{n-e xt l-i ne}" eq "\N{n-e xt l-i ne (-n-e l-)}"');
+    is("\N{n e-l}", "\N{n e-xt l i-ne ( n e-l )}", 'Verify "\N{n e-l}" eq "\N{n e-xt l i-ne ( n e-l )}"');
+    is("\N{p-a dd-i ng c-h ar-a ct-e r}", "\N{p-a d}", 'Verify "\N{p-a dd-i ng c-h ar-a ct-e r}" eq "\N{p-a d}"');
+    is("\N{s i-ng l-e-s h-i f-t 3}", "\N{s i-ng l-e s h-i f-t t h-r e-e}", 'Verify "\N{s i-ng l-e-s h-i f-t 3}" eq "\N{s i-ng l-e s h-i f-t t h-r e-e}"');
+    is("\N{vs256}", "\N{v-a ri-a ti-o n s-e le-c t o-r-256}", 'Verify "\N{vs256}" eq "\N{v-a ri-a ti-o n s-e le-c t o-r-256}"');
 }
 
 # [perl #30409] charnames.pm clobbers default variable
 $_ = 'foobar';
 eval "use charnames ':full';";
-is($_, 'foobar');
+is($_, 'foobar', 'Verify charnames.pm doesnt clobbers $_');
 
 # Unicode slowdown noted by Phil Pennock, traced to a bug fix in index
 # SADAHIRO Tomoyuki's suggestion is to ensure that the UTF-8ness of both
@@ -667,7 +746,7 @@
 # may be a problem (khw).
 
 my $names = do "unicore/Name.pl";
-ok(defined $names);
+ok(defined $names, "Verify can read 'unicore/Name.pl'");
 my $non_ascii = native_to_latin1($names) =~ tr/\0-\177//c;
 ok(! $non_ascii, "Verify all official names are ASCII-only");
 
@@ -678,11 +757,12 @@
     fail('next test also fails to make the same number of tests');
 } else {
     pass('charnames propagated to eval("")');
-    is($evaltry, "Eval: \N{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}");
+    is($evaltry, "Eval: \N{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}",
+       "... and got correct answer");
 }
 
 # Verify that db includes the normative NameAliases.txt names
-is("\N{U+1D0C5}", "\N{BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS}");
+is("\N{U+1D0C5}", "\N{BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS}", 'Verify "\N{U+1D0C5}" eq "\N{BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS}"');
 
 # [perl #73174] use of \N{FOO} used to reset %^H
 
@@ -697,9 +777,13 @@
     $res .= '-' . ($^H{73174} // "");
     $res .= '-2' if ":" =~ /\N{COLON}/;
     $res .= '-3' if ":" =~ /\N{COLON}/i;
-    is($res, "foo-foo-1--2-3");
+    is($res, "foo-foo-1--2-3", "Verify %^H doesn't get reset by \\N{...}");
 }
 
+{   use charnames qw(.*);
+    ok (! defined charnames::vianame("a"), "Verify that metachars in script names get quoted");
+}
+
 {
     # Test scoping.  Outer block sets up some things; inner blocks
     # override them, and then see if get restored.
@@ -753,7 +837,8 @@
         is("\N{mychar1}", "f", "Inner block: verify that \\N{mychar1} is redefined");
         is(charnames::vianame("mychar1"), ord("f"), "Inner block: verify that vianame(mychar1) is redefined");
         is(charnames::string_vianame("mychar1"), "f", "Inner block: verify that string_vianame(mychar1) is redefined");
-        is("\N{mychar2}", "\x{FFFD}", "Inner block: verify that \\N{mychar2} outer definition didn't leak");
+        eval '"\N{mychar2}"';
+        like($@, qr/Unknown charname 'mychar2'/, "Inner block: verify that \\N{mychar2} outer definition didn't leak");
         ok( ! defined charnames::vianame("mychar2"), "Inner block: verify that vianame(mychar2) outer definition didn't leak");
         ok( ! defined charnames::string_vianame("mychar2"), "Inner block: verify that string_vianame(mychar2) outer definition didn't leak");
         is("\N{myprivate1}", "\x{E8001}", "Inner block: verify that \\N{myprivate1} is redefined ");
@@ -761,7 +846,8 @@
         is(charnames::string_vianame("myprivate1"), chr(0xE8001), "Inner block: verify that string_vianame(myprivate1) is redefined");
         is(charnames::viacode(0xE8001), "myprivate1", "Inner block: verify that myprivate1 viacode is redefined");
         ok(! defined charnames::viacode(0xE8000), "Inner block: verify that outer myprivate1 viacode didn't leak");
-        is("\N{myprivate2}", "\x{FFFD}", "Inner block: verify that \\N{myprivate2} outer definition didn't leak");
+        eval '"\N{myprivate2}"';
+        like($@, qr/Unknown charname 'myprivate2'/, "Inner block: verify that \\N{myprivate2} outer definition didn't leak");
         ok(! defined charnames::vianame("myprivate2"), "Inner block: verify that vianame(myprivate2) outer definition didn't leak");
         ok(! defined charnames::string_vianame("myprivate2"), "Inner block: verify that string_vianame(myprivate2) outer definition didn't leak");
         ok(! defined charnames::viacode(0x100000), "Inner block: verify that myprivate2 viacode outer definition didn't leak");
@@ -768,31 +854,38 @@
         is("\N{BE}", $hiragana_be, "Inner block: verify that \\N uses the correct script");
         cmp_ok(charnames::vianame("BE"), "==", ord($hiragana_be), "Inner block: verify that vianame uses the correct script");
         cmp_ok(charnames::string_vianame("BE"), "==", $hiragana_be, "Inner block: verify that string_vianame uses the correct script");
-        is("\N{Hiragana: BE}", "\x{FFFD}", "Inner block without :short: \\N with short doesn't work");
+        eval '"\N{Hiragana: BE}"';
+        like($@, qr/Unknown charname 'Hiragana: BE'/, "Inner block without :short: \\N with short doesn't work");
         ok(! defined charnames::vianame("Hiragana: BE"), "Inner block without :short: verify that vianame with short doesn't work");
         ok(! defined charnames::string_vianame("Hiragana: BE"), "Inner block without :short: verify that string_vianame with short doesn't work");
 
         {   # An inner block where only :short definitions are valid.
             use charnames ":short";
-            is("\N{mychar1}", "\x{FFFD}", "Inner inner block: verify that mychar1 outer definition didn't leak with \\N");
+            eval '"\N{mychar1}"';
+            like($@, qr/Unknown charname 'mychar1'/, "Inner inner block: verify that mychar1 outer definition didn't leak with \\N");
             ok( ! defined charnames::vianame("mychar1"), "Inner inner block: verify that mychar1 outer definition didn't leak with vianame");
             ok( ! defined charnames::string_vianame("mychar1"), "Inner inner block: verify that mychar1 outer definition didn't leak with string_vianame");
-            is("\N{mychar2}", "\x{FFFD}", "Inner inner block: verify that mychar2 outer definition didn't leak with \\N");
+            eval '"\N{mychar2}"';
+            like($@, qr/Unknown charname 'mychar2'/, "Inner inner block: verify that mychar2 outer definition didn't leak with \\N");
             ok( ! defined charnames::vianame("mychar2"), "Inner inner block: verify that mychar2 outer definition didn't leak with vianame");
             ok( ! defined charnames::string_vianame("mychar2"), "Inner inner block: verify that mychar2 outer definition didn't leak with string_vianame");
-            is("\N{myprivate1}", "\x{FFFD}", "Inner inner block: verify that myprivate1 outer definition didn't leak with \\N");
+            eval '"\N{myprivate1}"';
+            like($@, qr/Unknown charname 'myprivate1'/, "Inner inner block: verify that myprivate1 outer definition didn't leak with \\N");
             ok(! defined charnames::vianame("myprivate1"), "Inner inner block: verify that myprivate1 outer definition didn't leak with vianame");
             ok(! defined charnames::string_vianame("myprivate1"), "Inner inner block: verify that myprivate1 outer definition didn't leak with string_vianame");
-            is("\N{myprivate2}", "\x{FFFD}", "Inner inner block: verify that myprivate2 outer definition didn't leak with \\N");
+            eval '"\N{myprivate2}"';
+            like($@, qr/Unknown charname 'myprivate2'/, "Inner inner block: verify that myprivate2 outer definition didn't leak with \\N");
             ok(! defined charnames::vianame("myprivate2"), "Inner inner block: verify that myprivate2 outer definition didn't leak with vianame");
             ok(! defined charnames::string_vianame("myprivate2"), "Inner inner block: verify that myprivate2 outer definition didn't leak with string_vianame");
             ok(! defined charnames::viacode(0xE8000), "Inner inner block: verify that mychar1 outer outer definition didn't leak with viacode");
             ok(! defined charnames::viacode(0xE8001), "Inner inner block: verify that mychar1 outer definition didn't leak with viacode");
             ok(! defined charnames::viacode(0x100000), "Inner inner block: verify that mychar2 outer definition didn't leak with viacode");
-            is("\N{BE}", "\x{FFFD}", "Inner inner block without script: verify that outer :script didn't leak with \\N");
+            eval '"\N{BE}"';
+            like($@, qr/Unknown charname 'BE'/, "Inner inner block without script: verify that outer :script didn't leak with \\N");
             ok(! defined charnames::vianame("BE"), "Inner inner block without script: verify that outer :script didn't leak with vianames");
             ok(! defined charnames::string_vianame("BE"), "Inner inner block without script: verify that outer :script didn't leak with string_vianames");
-            is("\N{HIRAGANA LETTER BE}", "\x{FFFD}", "Inner inner block without :full: verify that outer :full didn't leak with \\N");
+            eval '"\N{HIRAGANA LETTER BE}"';
+            like($@, qr/Unknown charname 'HIRAGANA LETTER BE'/, "Inner inner block without :full: verify that outer :full didn't leak with \\N");
             is("\N{Hiragana: BE}", $hiragana_be, "Inner inner block with :short: verify that \\N works with :short");
             cmp_ok(charnames::vianame("Hiragana: BE"), "==", ord($hiragana_be), "Inner inner block with :short: verify that vianame works with :short");
             cmp_ok(charnames::string_vianame("Hiragana: BE"), "==", $hiragana_be, "Inner inner block with :short: verify that string_vianame works with :short");
@@ -802,7 +895,8 @@
         is("\N{mychar1}", "f", "Inner block: verify that \\N{mychar1} is redefined");
         is(charnames::vianame("mychar1"), ord("f"), "Inner block: verify that vianame(mychar1) is redefined");
         is(charnames::string_vianame("mychar1"), "f", "Inner block: verify that string_vianame(mychar1) is redefined");
-        is("\N{mychar2}", "\x{FFFD}", "Inner block: verify that \\N{mychar2} outer definition didn't leak");
+        eval '"\N{mychar2}"';
+        like($@, qr/Unknown charname 'mychar2'/, "Inner block: verify that \\N{mychar2} outer definition didn't leak");
         ok( ! defined charnames::vianame("mychar2"), "Inner block: verify that vianame(mychar2) outer definition didn't leak");
         ok( ! defined charnames::string_vianame("mychar2"), "Inner block: verify that string_vianame(mychar2) outer definition didn't leak");
         is("\N{myprivate1}", "\x{E8001}", "Inner block: verify that \\N{myprivate1} is redefined ");
@@ -810,7 +904,8 @@
         is(charnames::string_vianame("myprivate1"), chr(0xE8001), "Inner block: verify that string_vianame(myprivate1) is redefined");
         is(charnames::viacode(0xE8001), "myprivate1", "Inner block: verify that myprivate1 viacode is redefined");
         ok(! defined charnames::viacode(0xE8000), "Inner block: verify that outer myprivate1 viacode didn't leak");
-        is("\N{myprivate2}", "\x{FFFD}", "Inner block: verify that \\N{myprivate2} outer definition didn't leak");
+        eval '"\N{myprivate2}"';
+        like($@, qr/Unknown charname 'myprivate2'/, "Inner block: verify that \\N{myprivate2} outer definition didn't leak");
         ok(! defined charnames::vianame("myprivate2"), "Inner block: verify that vianame(myprivate2) outer definition didn't leak");
         ok(! defined charnames::string_vianame("myprivate2"), "Inner block: verify that string_vianame(myprivate2) outer definition didn't leak");
         ok(! defined charnames::viacode(0x100000), "Inner block: verify that myprivate2 viacode outer definition didn't leak");
@@ -817,7 +912,8 @@
         is("\N{BE}", $hiragana_be, "Inner block: verify that \\N uses the correct script");
         cmp_ok(charnames::vianame("BE"), "==", ord($hiragana_be), "Inner block: verify that vianame uses the correct script");
         cmp_ok(charnames::string_vianame("BE"), "==", $hiragana_be, "Inner block: verify that string_vianame uses the correct script");
-        is("\N{Hiragana: BE}", "\x{FFFD}", "Inner block without :short: \\N with short doesn't work");
+        eval '"\N{Hiragana: BE}"';
+        like($@, qr/Unknown charname 'Hiragana: BE'/, "Inner block without :short: \\N with short doesn't work");
         ok(! defined charnames::vianame("Hiragana: BE"), "Inner block without :short: verify that vianame with short doesn't work");
         ok(! defined charnames::string_vianame("Hiragana: BE"), "Inner block without :short: verify that string_vianame with short doesn't work");
     }
@@ -843,6 +939,21 @@
     is("\N{Hiragana: BE}", $hiragana_be, "Outer block: verify that :short works with \\N");
     cmp_ok(charnames::vianame("Hiragana: BE"), "==", ord($hiragana_be), "Outer block: verify that :short works with vianame");
     cmp_ok(charnames::string_vianame("Hiragana: BE"), "==", $hiragana_be, "Outer block: verify that :short works with string_vianame");
+    {
+        use charnames qw(:loose new_tai_lue des_eret);
+        is("\N{latincapitallettera}", "A", "Verify that loose matching works");
+        cmp_ok("\N{high-qa}", "==", chr(0x1980), "Verify that loose script list matching works");
+        is(charnames::string_vianame("O-i"), chr(0x10426), "Verify that loose script list matching works with string_vianame");
+        is(charnames::vianame("o i"), 0x1044E, "Verify that loose script list matching works with vianame");
+    }
+    eval '"\N{latincapitallettera}"';
+    like($@, qr/Unknown charname 'latincapitallettera'/, "Verify that loose matching caching doesn't leak outside of scope");
+    {
+        use charnames qw(:loose :short);
+        cmp_ok("\N{co pt-ic:she-i}", "==", chr(0x3E3), "Verify that loose :short matching works");
+        is(charnames::string_vianame("co pt_ic: She i"), chr(0x3E2), "Verify that loose :short matching works with string_vianame");
+        is(charnames::vianame("  Arm-en-ian: x e h_"), 0x56D, "Verify that loose :short matching works with vianame");
+    }
 }
 
 {
@@ -876,7 +987,7 @@
     # of the character.  The percentage of each type to test is
     # fuzzily independently settable.  This breaks down when the block size is
     # 1 or is large enough that both types of names occur in the same block
-    my $percentage_of_regular_names = ($run_slow_tests) ? 100 : 25;
+    my $percentage_of_regular_names = ($run_slow_tests) ? 100 : 13;
     my $percentage_of_algorithmic_names = (100 / $block_size); # 1 test/block
 
     # If wants everything tested, do so by changing the block size to 1 so
@@ -916,15 +1027,15 @@
         my $decimal = hex $code;
 
         # The Unicode version 1 name is used instead of any that are
-        # marked <control>
+        # marked <control>.
         $name = $u1name if $name eq "<control>";
 
+        # In earlier Perls, we reject this code point's name (BELL)
+        $name = "" if $^V lt v5.17.0 && $decimal == 0x1F514;
+
+        # ALERT overrides BELL
         $name = 'ALERT' if $decimal == 7;
 
-        # XXX This test should be changed for 5.16 when we convert to use
-        # Unicode's BELL
-        $name = "" if $decimal == 0x1F514;
-
         # Some don't have names, leave those array elements undefined
         next unless $name;
 
@@ -956,33 +1067,77 @@
     }
     close $fh;
 
-    # The Hangul syllable names aren't in the file above; their names
-    # are algorithmically determinable, but to avoid perpetuating any
-    # programming errors, this file contains the complete list, gathered
-    # from the web.
-    while (<DATA>) {
-        chomp;
-        next unless $_;     # Guard against empty lines getting inserted.
-        my ($code, $name) = split ";";
-        my $decimal = hex $code;
-        $names[$decimal] = $name;
-        my $block = $decimal >> $block_size_bits;
-        $algorithmic_names_count[$block] = 1;
+    use Unicode::UCD;
+    if (pack("C*", split /\./, Unicode::UCD::UnicodeVersion()) gt v1.1.5) {
+        # The Hangul syllable names aren't in the file above; their names
+        # are algorithmically determinable, but to avoid perpetuating any
+        # programming errors, this file contains the complete list, gathered
+        # from the web.
+        while (<DATA>) {
+            chomp;
+            next unless $_;     # Guard against empty lines getting inserted.
+            my ($code, $name) = split ";";
+            my $decimal = hex $code;
+            $names[$decimal] = $name;
+            my $block = $decimal >> $block_size_bits;
+            $algorithmic_names_count[$block] = 1;
+        }
     }
 
-    open $fh, "<", "../../lib/unicore/NameAliases.txt" or
-        die "Can't open ../../lib/unicore/NameAliases.txt: $!";
-    while (<$fh>) {
+    my @name_aliases;
+    use Unicode::UCD;
+    if (ord('A') != 65
+        || pack( "C*", split /\./, Unicode::UCD::UnicodeVersion()) ge v6.1.0)
+    {
+        open my $fh, "<", "../../lib/unicore/NameAliases.txt"
+            or die "Can't open ../../lib/unicore/NameAliases.txt: $!";
+        @name_aliases = <$fh>
+    }
+    else {
+
+        # If this Unicode version doesn't have the full .txt file, or are on
+        # an EBCDIC platform where they need to be translated, get the data
+        # from prop_invmap() (which should do the translation) and convert it
+        # to the file's format
+        use Unicode::UCD 'prop_invmap';
+        my ($invlist_ref, $invmap_ref, undef, $default)
+                                                = prop_invmap('Name_Alias');
+        for my $i (0 .. @$invlist_ref - 1) {
+
+            # Convert the aliases for code points that have just one alias to
+            # single element arrays for uniform handling below.
+            if (! ref $invmap_ref->[$i]) {
+
+                # But we test only the real aliases, not the ones which are
+                # just really placeholders.
+                next if $invmap_ref->[$i] eq $default;
+
+                $invmap_ref->[$i] = [ $invmap_ref->[$i] ];
+            }
+
+
+            # Change each alias for the code point to the form that the file
+            # has
+            foreach my $j ($invlist_ref->[$i] .. $invlist_ref->[$i+1] - 1) {
+                foreach my $value (@{$invmap_ref->[$i]}) {
+                    $value =~ s/: /;/;
+                    push @name_aliases, sprintf("%04X;%s\n", $j, $value);
+                }
+            }
+        }
+    }
+
+    for (@name_aliases) {
         chomp;
         s/^\s*#.*//;
         next unless $_;
-        my ($hex, $name) = split ";";
+        my ($hex, $name, $type) = split ";";
         my $i = CORE::hex $hex;
 
         # Make sure that both aliases (the one in UnicodeData, and the one we
         # just read) return the same code point.
         test_vianame($i, $hex, $name);
-        test_vianame($i, $hex, $names[$i]);
+        test_vianame($i, $hex, $names[$i]) if $names[$i] ne "";
 
         # Set up so that a test below of this code point will use the alias
         # instead of the less-correct original.  We can't test here that
@@ -990,7 +1145,7 @@
         # aliases for the same code point, and viacode should return only the
         # final one.  So don't do it here; instead rely on the loop below to
         # pick up the test.
-        $names[$i] = $name;
+        $names[$i] = $name if $type eq 'correction';
     }
     close $fh;
 
@@ -1051,6 +1206,11 @@
             my $hex = sprintf("%04X", $i);
             if (! $names[$i]) {
 
+                # These four code points now have names, from NameAlias, but
+                # aren't listed as having names in UnicodeData.txt, so viacode
+                # returns their alias names, not undef
+                next if $i == 0x80 || $i == 0x81 || $i == 0x84 || $i == 0x99;
+
                 # If there is no name for this code point, all we can
                 # test is that.
                 $all_pass &= ok(! defined charnames::viacode($i), "Verify viacode(0x$hex) is undefined");
@@ -1059,8 +1219,14 @@
                 # Otherwise, test that the name and code point map
                 # correctly.
                 $all_pass &= test_vianame($i, $hex, $names[$i]);
-                $all_pass &= is(charnames::viacode($i), $names[$i], "Verify viacode(0x$hex) is \"$names[$i]\"");
 
+                # These four code points have a different Unicode1 name than
+                # regular name, and viacode has already specifically tested
+                # for the regular name
+                if ($i != 0x0a && $i != 0x0c && $i != 0x0d && $i != 0x85) {
+                    $all_pass &= is(charnames::viacode($i), $names[$i], "Verify viacode(0x$hex) is \"$names[$i]\"");
+                }
+
                 # And make sure that a non-algorithmically named code
                 # point doesn't also map to one that is.
                 if ($names[$i] !~ /$hex$/) {
@@ -1077,19 +1243,26 @@
         $block = $end_block + 1;
     }
 
-    open $fh, "<", "../../lib/unicore/NamedSequences.txt" or
-        die "Can't open ../../lib/unicore/NamedSequences.txt: $!";
-    while (<$fh>) {
-        chomp;
-        s/^\s*#.*//;
-        next unless $_;
-        my ($name, $codes) = split ";";
-        my $utf8 = pack("U*", map { hex } split " ", $codes);
-        is(charnames::string_vianame($name), $utf8, "Verify string_vianame(\"$name\") is the proper utf8");
-        is(charnames::string_vianame($name), $utf8, "Verify string_vianame(\"$name\") is the proper utf8");
-        #diag("$name, $utf8");
+    if (open my $fh, "<", "../../lib/unicore/NamedSequences.txt") {
+        while (<$fh>) {
+            chomp;
+            s/^\s*#.*//;
+            next unless $_;
+            my ($name, $codes) = split ";";
+            my $utf8 = pack("U*", map { hex } split " ", $codes);
+            is(charnames::string_vianame($name), $utf8, "Verify string_vianame(\"$name\") is the proper utf8");
+            my $loose_name = get_loose_name($name);
+            use charnames ":loose";
+            is(charnames::string_vianame($loose_name), $utf8, "Verify string_vianame(\"$loose_name\") is the proper utf8");
+            #diag("$name, $utf8");
+        }
+        close $fh;
     }
-    close $fh;
+    else {
+        use Unicode::UCD;
+        die "Can't open ../../lib/unicore/NamedSequences.txt: $!"
+        if pack("C*", split /\./, Unicode::UCD::UnicodeVersion()) ge v4.1.0;
+    }
 
 
     unless ($all_pass) {


Property changes on: vendor/perl/dist/lib/charnames.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/complete.pl
===================================================================
--- vendor/perl/dist/lib/complete.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/complete.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/complete.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/constant.pm
===================================================================
--- vendor/perl/dist/lib/constant.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/constant.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/constant.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/constant.t
===================================================================
--- vendor/perl/dist/lib/constant.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/constant.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/constant.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/ctime.pl
===================================================================
--- vendor/perl/dist/lib/ctime.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/ctime.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/ctime.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/dbm_filter_util.pl
===================================================================
--- vendor/perl/dist/lib/dbm_filter_util.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/dbm_filter_util.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,9 @@
 use strict;
 use warnings;
+use Data::Dumper;
 
+*qquote= *Data::Dumper::qquote;
+
 sub StoreData
 {
     my $hashref = shift ;
@@ -36,11 +39,11 @@
     while (my ($k, $v) = each %$hashref) {
         no warnings 'uninitialized';
         if ($expected{$k} eq $v) {
-            #diag "Match [$k][$v]"; 
+            #diag "Match " . qquote($k) . " => " . qquote($v);
             delete $expected{$k} ;
         }
         else {
-            #diag "No Match [$k][$v]"; 
+            #diag "No Match " . qquote($k) . " => " . qquote($v) . " want " . qquote($expected{$k});
             $bad{$k} = $v;
         }
     }
@@ -50,7 +53,7 @@
         if (keys %expected ) {
             $bad .="  No Match from Expected:\n" ;
             while (my ($k, $v) = each %expected) {
-                $bad .= "\t'$k' =>\t'$v'\n";
+                $bad .= "\t" . qquote($k) . " => " . qquote($v) . "\n";
             }
         }
         if (keys %bad ) {
@@ -57,10 +60,10 @@
             $bad .= "\n  No Match from Actual:\n" ;
             while (my ($k, $v) = each %bad) {
                 no warnings 'uninitialized';
-                $bad .= "\t'$k' =>\t'$v'\n";
+                $bad .= "\t" . qquote($k) . " => " . qquote($v) . "\n";
             }
         }
-        diag "${bad}\n" ;
+        diag( "${bad}\n" );
     }
 }
 


Property changes on: vendor/perl/dist/lib/dbm_filter_util.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/deprecate.pm
===================================================================
--- vendor/perl/dist/lib/deprecate.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/deprecate.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/deprecate.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/diagnostics.pm
===================================================================
--- vendor/perl/dist/lib/diagnostics.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/diagnostics.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -59,13 +59,14 @@
 allowing duplicate user messages to be displayed.
 
 This module also adds a stack trace to the error message when perl dies.
-This is useful for pinpointing what caused the death. The B<-traceonly> (or
+This is useful for pinpointing what
+caused the death.  The B<-traceonly> (or
 just B<-t>) flag turns off the explanations of warning messages leaving just
-the stack traces. So if your script is dieing, run it again with
+the stack traces.  So if your script is dieing, run it again with
 
   perl -Mdiagnostics=-traceonly my_bad_script
 
-to see the call stack at the time of death. By supplying the B<-warntrace>
+to see the call stack at the time of death.  By supplying the B<-warntrace>
 (or just B<-w>) flag, any warnings emitted will also come with a stack
 trace.
 
@@ -185,7 +186,7 @@
 use Carp;
 $Carp::Internal{__PACKAGE__.""}++;
 
-our $VERSION = '1.22';
+our $VERSION = '1.31';
 our $DEBUG;
 our $VERBOSE;
 our $PRETTY;
@@ -193,18 +194,13 @@
 our $WARNTRACE = 0;
 
 use Config;
-my($privlib, $archlib) = @Config{qw(privlibexp archlibexp)};
+my $privlib = $Config{privlibexp};
 if ($^O eq 'VMS') {
     require VMS::Filespec;
     $privlib = VMS::Filespec::unixify($privlib);
-    $archlib = VMS::Filespec::unixify($archlib);
 }
 my @trypod = (
-	   "$archlib/pod/perldiag.pod",
-	   "$privlib/pod/perldiag-$Config{version}.pod",
 	   "$privlib/pod/perldiag.pod",
-	   "$archlib/pods/perldiag.pod",
-	   "$privlib/pods/perldiag-$Config{version}.pod",
 	   "$privlib/pods/perldiag.pod",
 	  );
 # handy for development testing of new warnings etc
@@ -215,7 +211,7 @@
 my $WHOAMI = ref bless [];  # nobody's business, prolly not even mine
 
 local $| = 1;
-my $_;
+local $_;
 local $.;
 
 my $standalone;
@@ -311,7 +307,6 @@
 my $transmo = <<EOFUNC;
 sub transmo {
     #local \$^W = 0;  # recursive warnings we do NOT need!
-    study;
 EOFUNC
 
 my %msg;
@@ -318,6 +313,7 @@
 {
     print STDERR "FINISHING COMPILATION for $_\n" if $DEBUG;
     local $/ = '';
+    local $_;
     my $header;
     my @headers;
     my $for_item;
@@ -344,6 +340,9 @@
 	           ? italic($sect) . ' in ' . italic($page)
 	           : italic($page)
 	     /ges;
+	     s/S<(.*?)>/
+               $1
+             /ges;
 	} else {
 	    s/C<<< (.*?) >>>|C<< (.*?) >>|[BC]<(.*?)>/$+/gs;
 	    s/[IF]<(.*?)>/$1/gs;
@@ -355,6 +354,9 @@
 	           ? qq '"$sect" in $page'
 	           : $page
 	     /ges;
+	    s/S<(.*?)>/
+               $1
+             /ges;
 	} 
 	unless (/^=/) {
 	    if (defined $header) { 
@@ -383,7 +385,7 @@
 	    push @headers, $header if defined $header;
 	}
 
-	unless ( s/=item (.*?)\s*\z//) {
+	unless ( s/=item (.*?)\s*\z//s) {
 
 	    if ( s/=head1\sDESCRIPTION//) {
 		$msg{$header = 'DESCRIPTION'} = '';
@@ -398,16 +400,17 @@
 	if( $for_item ) { $header = $for_item; undef $for_item } 
 	else {
 	    $header = $1;
-	    while( $header =~ /[;,]\z/ ) {
-		<POD_DIAG> =~ /^\s*(.*?)\s*\z/;
-		$header .= ' '.$1;
-	    }
+
+	    $header =~ s/\n/ /gs; # Allow multi-line headers
 	}
 
 	# strip formatting directives from =item line
 	$header =~ s/[A-Z]<(.*?)>/$1/g;
 
-        my @toks = split( /(%l?[dx]|%c|%(?:\.\d+)?[fs])/, $header );
+	# Since we strip "(\.\s*)\n" when we search a warning, strip it here as well
+	$header =~ s/(\.\s*)?$//;
+
+        my @toks = split( /(%l?[dxX]|%[ucp]|%(?:\.\d+)?[fs])/, $header );
 	if (@toks > 1) {
             my $conlen = 0;
             for my $i (0..$#toks){
@@ -414,15 +417,15 @@
                 if( $i % 2 ){
                     if(      $toks[$i] eq '%c' ){
                         $toks[$i] = '.';
-                    } elsif( $toks[$i] eq '%d' ){
+                    } elsif( $toks[$i] =~ /^%(?:d|u)$/ ){
                         $toks[$i] = '\d+';
                     } elsif( $toks[$i] =~ '^%(?:s|.*f)$' ){
                         $toks[$i] = $i == $#toks ? '.*' : '.*?';
                     } elsif( $toks[$i] =~ '%.(\d+)s' ){
                         $toks[$i] = ".{$1}";
-                     } elsif( $toks[$i] =~ '^%l*x$' ){
-                        $toks[$i] = '[\da-f]+';
-                   }
+                    } elsif( $toks[$i] =~ '^%l*([pxX])$' ){
+                        $toks[$i] = $1 eq 'X' ? '[\dA-F]+' : '[\da-f]+';
+                    }
                 } elsif( length( $toks[$i] ) ){
                     $toks[$i] = quotemeta $toks[$i];
                     $conlen += length( $toks[$i] );
@@ -429,12 +432,15 @@
                 }
             }  
             my $lhs = join( '', @toks );
+            $lhs =~ s/(\\\s)+/\\s+/g; # Replace lit space with multi-space match
 	    $transfmt{$header}{pat} =
-              "    s{^$lhs}\n     {\Q$header\E}s\n\t&& return 1;\n";
+              "    s^\\s*$lhs\\s*\Q$header\Es\n\t&& return 1;\n";
             $transfmt{$header}{len} = $conlen;
 	} else {
+            my $lhs = "\Q$header\E";
+            $lhs =~ s/(\\\s)+/\\s+/g; # Replace lit space with multi-space match
             $transfmt{$header}{pat} =
-	      "    m{^\Q$header\E} && return 1;\n";
+	      "    s^\\s*$lhs\\s*\Q$header\E\n\t && return 1;\n";
             $transfmt{$header}{len} = length( $header );
 	} 
 
@@ -563,10 +569,12 @@
     # traps.
     $SIG{__DIE__} = $SIG{__WARN__} = '';
 
-    # Have carp skip over death_trap() when showing the stack trace.
-    local($Carp::CarpLevel) = 1;
+    $exception =~ s/\n(?=.)/\n\t/gas;
 
-    confess "Uncaught exception from user code:\n\t$exception";
+    die Carp::longmess("__diagnostics__")
+	  =~ s/^__diagnostics__.*?line \d+\.?\n/
+		  "Uncaught exception from user code:\n\t$exception"
+	      /re;
 	# up we go; where we stop, nobody knows, but i think we die now
 	# but i'm deeply afraid of the &$olddie guy reraising and us getting
 	# into an indirect recursion loop
@@ -577,12 +585,12 @@
 my $count;
 my $wantspace;
 sub splainthis {
-    return 0 if $TRACEONLY;
-    $_ = shift;
+  return 0 if $TRACEONLY;
+  for (my $tmp = shift) {
     local $\;
     local $!;
     ### &finish_compilation unless %msg;
-    s/\.?\n+$//;
+    s/(\.\s*)?\n+$//;
     my $orig = $_;
     # return unless defined;
 
@@ -603,7 +611,7 @@
             $_ .= ' at ' . $secs[$i];
 	}
     }
-    
+
     # remove parenthesis occurring at the end of some messages 
     s/^\((.*)\)$/$1/;
 
@@ -613,17 +621,25 @@
 	return 0 unless &transmo;
     }
 
-    $orig = shorten($orig);
+    my $short = shorten($orig);
     if ($old_diag{$_}) {
 	autodescribe();
-	print THITHER "$orig (#$old_diag{$_})\n";
+	print THITHER "$short (#$old_diag{$_})\n";
 	$wantspace = 1;
+    } elsif (!$msg{$_} && $orig =~ /\n./s) {
+	# A multiline message, like "Attempt to reload /
+	# Compilation failed"
+	my $found;
+	for (split /^/, $orig) {
+	    splainthis($_) and $found = 1;
+	}
+	return $found;
     } else {
 	autodescribe();
 	$old_diag{$_} = ++$count;
 	print THITHER "\n" if $wantspace;
 	$wantspace = 0;
-	print THITHER "$orig (#$old_diag{$_})\n";
+	print THITHER "$short (#$old_diag{$_})\n";
 	if ($msg{$_}) {
 	    print THITHER $msg{$_};
 	} else {
@@ -636,6 +652,7 @@
 	} 
     }
     return 1;
+  }
 } 
 
 sub autodescribe {


Property changes on: vendor/perl/dist/lib/diagnostics.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/diagnostics.t
===================================================================
--- vendor/perl/dist/lib/diagnostics.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/diagnostics.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,19 @@
-#!./perl
+#!./perl -w
 
 BEGIN {
     chdir '..' if -d '../pod' && -d '../t';
     @INC = 'lib';
+    require './t/test.pl';
+    plan(24);
 }
 
-use Test::More tests => 6;
+BEGIN {
+    my $w;
+    $SIG{__WARN__} = sub { $w = shift };
+    use_ok('diagnostics');
+    is $w, undef, 'no warnings when loading diagnostics.pm';
+}
 
-BEGIN { use_ok('diagnostics') }
-
 require base;
 
 eval {
@@ -15,12 +20,15 @@
     'base'->import(qw(I::do::not::exist));
 };
 
-like( $@, qr/^Base class package "I::do::not::exist" is empty/);
+like( $@, qr/^Base class package "I::do::not::exist" is empty/,
+         'diagnostics not tripped up by "use base qw(Dont::Exist)"');
 
+open *whatever, ">", \my $warning
+    or die "Couldn't redirect STDERR to var: $!";
+my $old_stderr = *STDERR{IO};
+*STDERR = *whatever{IO};
+
 # Test for %.0f patterns in perldiag, added in 5.11.0
-close STDERR;
-open STDERR, ">", \my $warning
-    or die "Couldn't redirect STDERR to var: $!";
 warn('gmtime(nan) too large');
 like $warning, qr/\(W overflow\) You called/, '%0.f patterns';
 
@@ -40,7 +48,150 @@
 # Multiple messages with the same description
 seek STDERR, 0,0;
 $warning = '';
-warn 'Code point 0x%X is not Unicode, may not be portable';
-like $warning, qr/W utf8/,
+warn 'Code point 0xBEE5 is not Unicode, may not be portable';
+like $warning, qr/S utf8/,
    'Message sharing its description with the following message';
 
+# Periods at end of entries in perldiag.pod get matched correctly
+seek STDERR, 0,0;
+$warning = '';
+warn "Execution of -e aborted due to compilation errors.\n";
+like $warning, qr/The final summary message/, 'Periods at end of line';
+
+# Test for %d/%u
+seek STDERR, 0,0;
+$warning = '';
+warn "Bad arg length for us, is 4, should be 42";
+like $warning, qr/In C parlance/, '%u works';
+
+# Test for %X
+seek STDERR, 0,0;
+$warning = '';
+warn "Unicode surrogate U+C0FFEE is illegal in UTF-8";
+like $warning, qr/You had a UTF-16 surrogate/, '%X';
+
+# Test for %p
+seek STDERR, 0,0;
+$warning = '';
+warn "Slab leaked from cv fadedc0ffee";
+like $warning, qr/bookkeeping of op trees/, '%p';
+
+# Strip S<>
+seek STDERR, 0,0;
+$warning = '';
+warn "syntax error";
+like $warning, qr/cybernetic version of 20 questions/s, 'strip S<>';
+
+# Errors ending with dots
+seek STDERR, 0,0;
+$warning = '';
+warn "I had compilation errors.\n";
+like $warning, qr/final summary message/, 'dotty errors';
+
+# Multiline errors
+seek STDERR, 0,0;
+$warning = '';
+warn "Attempt to reload weapon aborted.\nCompilation failed in require";
+like $warning,
+     qr/You tried to load a file.*Perl could not compile/s,
+    'multiline errors';
+
+# Multiline entry in perldiag.pod
+seek STDERR, 0,0;
+$warning = '';
+warn "Using just the first character returned by \\N{} in character class in regex; marked by <-- HERE in m/%s/";
+like $warning,
+    qr/A charnames handler may return a sequence/s,
+    'multi-line entries in perldiag.pod match';
+
+# ; at end of entry in perldiag.pod
+seek STDERR, 0,0;
+$warning = '';
+warn "Perl folding rules are not up-to-date for 0xA; please use the perlbug utility to report; in regex; marked by <-- HERE in m/\ <-- HERE q/";
+like $warning,
+    qr/regular expression folding rules/s,
+    '; works at the end of entries in perldiag.pod';
+
+# Differences in spaces in warnings (Why not be nice and accept them?)
+seek STDERR, 0,0;
+$warning = '';
+warn "Assignment     to both a list and a scalar\n";
+like $warning,
+    qr/2nd and 3rd/s,
+    'spaces in warnings are matched lightly';
+
+# Differences in spaces in warnings with a period at the end
+seek STDERR, 0,0;
+$warning = '';
+warn "perl: warning: Setting locale failed.\n";
+like $warning,
+    qr/The whole warning/s,
+    'spaces in warnings with periods at the end are matched lightly';
+
+
+*STDERR = $old_stderr;
+
+# These tests use a panic under the hope that the description is not likely
+# to change.
+ at runperl_args = (
+        switches => [ '-Ilib', '-Mdiagnostics' ],
+        stderr => 1,
+        nolib => 1, # -I../lib would go outside the build dir
+);
+$subs =
+ "sub foo{bar()}sub bar{baz()}sub baz{die q _panic: gremlins_}foo()";
+is runperl(@runperl_args, prog => $subs),
+   << 'EOT', 'internal error with backtrace';
+panic: gremlins at -e line 1 (#1)
+    (P) An internal error.
+    
+Uncaught exception from user code:
+	panic: gremlins at -e line 1.
+	main::baz() called at -e line 1
+	main::bar() called at -e line 1
+	main::foo() called at -e line 1
+EOT
+is runperl(@runperl_args, prog => $subs =~ s/panic\K/k/r),
+   << 'EOU', 'user error with backtrace';
+Uncaught exception from user code:
+	panick: gremlins at -e line 1.
+	main::baz() called at -e line 1
+	main::bar() called at -e line 1
+	main::foo() called at -e line 1
+EOU
+is runperl(@runperl_args, prog => 'die q _panic: gremlins_'),
+   << 'EOV', 'no backtrace from top-level internal error';
+panic: gremlins at -e line 1 (#1)
+    (P) An internal error.
+    
+Uncaught exception from user code:
+	panic: gremlins at -e line 1.
+EOV
+is runperl(@runperl_args, prog => 'die q _panick: gremlins_'),
+   << 'EOW', 'no backtrace from top-level user error';
+Uncaught exception from user code:
+	panick: gremlins at -e line 1.
+EOW
+like runperl(
+      @runperl_args,
+      prog => $subs =~
+         s[q _panic: gremlins_]
+          [qq _Attempt to reload foo aborted.\\nCompilation failed in require_]r,
+     ),
+     qr/Uncaught exception from user code:
+	Attempt to reload foo aborted\.
+	Compilation failed in require at -e line \d+\.
+	main::baz\(\) called at -e line \d+
+	main::bar\(\) called at -e line \d+
+	main::foo\(\) called at -e line \d+
+/,  'backtrace from multiline error';
+is runperl(@runperl_args, prog => 'BEGIN { die q _panic: gremlins_ }'),
+   << 'EOX', 'BEGIN{die} does not suppress diagnostics';
+panic: gremlins at -e line 1.
+BEGIN failed--compilation aborted at -e line 1 (#1)
+    (P) An internal error.
+    
+Uncaught exception from user code:
+	panic: gremlins at -e line 1.
+	BEGIN failed--compilation aborted at -e line 1.
+EOX


Property changes on: vendor/perl/dist/lib/diagnostics.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/dotsh.pl
===================================================================
--- vendor/perl/dist/lib/dotsh.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/dotsh.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/dotsh.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/dumpvar.pl
===================================================================
--- vendor/perl/dist/lib/dumpvar.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/dumpvar.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-require 5.002;			# For (defined ref)
+require 5.014;			# For more reliable $@ after eval
 package dumpvar;
 
 # Needed for PrettyPrinter only:
@@ -37,7 +37,7 @@
 # This one is good for variable names:
 
 sub unctrl {
-	local($_) = @_;
+    for (my($dummy) = shift) {
 	local($v) ; 
 
 	return \$_ if ref \$_ eq "GLOB";
@@ -47,7 +47,8 @@
 	} else {
 	    s/([\001-\037\177])/'^'.pack('c',ord($1)^64)/eg;
 	}
-	$_;
+	return $_;
+    }
 }
 
 sub uniescape {
@@ -57,7 +58,17 @@
 }
 
 sub stringify {
-	local($_,$noticks) = @_;
+  my $string;
+  if (eval { $string = _stringify(@_); 1 }) {
+    return $string;
+  }
+
+  return "<< value could not be dumped: $@ >>";
+}
+
+sub _stringify {
+    (my $__, local $noticks) = @_;
+    for ($__) {
 	local($v) ; 
 	my $tick = $tick;
 
@@ -101,9 +112,10 @@
 	}
 	$_ = uniescape($_);
 	s/([\200-\377])/'\\'.sprintf('%3o',ord($1))/eg if $quoteHighBit;
-	($noticks || /^\d+(\.\d*)?\Z/) 
+	return ($noticks || /^\d+(\.\d*)?\Z/) 
 	  ? $_ 
 	  : $tick . $_ . $tick;
+    }
 }
 
 # Ensure a resulting \ is escaped to be \\
@@ -157,6 +169,7 @@
     $sp = " " x $s ;
     $s += 3 ; 
 
+    eval {
     # Check for reused addresses
     if (ref $v) { 
       my $val = $v;
@@ -165,8 +178,7 @@
       # Match type and address.                      
       # Unblessed references will look like TYPE(0x...)
       # Blessed references will look like Class=TYPE(0x...)
-      ($start_part, $val) = split /=/,$val;
-      $val = $start_part unless defined $val;
+      $val =~ s/^.*=//; # suppress the Class part, just keep TYPE(0x...)
       ($item_type, $address) = 
         $val =~ /([^\(]+)        # Keep stuff that's     
                                  # not an open paren
@@ -310,6 +322,12 @@
 	print( (' ' x $s) .  "FileHandle({$v}) => fileno($fileno)\n" );
       }
     }
+    };
+    if ($@) {
+      print( (' ' x $s) .  "<< value could not be dumped: $@ >>\n");
+    }
+
+    return;
 }
 
 sub matchlex {
@@ -343,7 +361,7 @@
     if ($in eq 'unctrl' or $in eq 'quote') {
       $unctrl = $in;
     } else {
-      print "Unknown value for `unctrl'.\n";
+      print "Unknown value for 'unctrl'.\n";
     }
   }
   $unctrl;


Property changes on: vendor/perl/dist/lib/dumpvar.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/dumpvar.t
===================================================================
--- vendor/perl/dist/lib/dumpvar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/dumpvar.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -49,6 +49,16 @@
 
 use overload '""' => sub { "Bar<@{$_[0]}>" };
 
+package Tyre;
+
+sub TIESCALAR{bless[]}
+# other methods intentionally omitted
+
+package Kerb;
+
+sub TIEHASH{bless{}}
+# other methods intentionally omitted
+
 package main;
 
 my $foo = Foo->new(1..5);
@@ -314,3 +324,19 @@
 my %x=(a=>1, b=>2); dumpvalue(\%x);
 EXPECT
 /0  HASH\(0x[0-9a-f]+\)\n   'a' => 1\n   'b' => 2\n/i
+########
+dumpvalue(bless[1,2,3,4],"a=b=c");
+EXPECT
+/0  a=b=c=ARRAY\(0x[0-9a-f]+\)\n   0  1\n   1  2\n   2  3\n   3  4\n/i
+########
+local *_; tie $_, 'Tyre'; stringify('');
+EXPECT
+''
+########
+local *_; tie $_, 'Tyre'; unctrl('abc');
+EXPECT
+abc
+########
+tie my %h, 'Kerb'; my $v = { a => 1, b => \%h, c => 2 }; dumpvalue($v);
+EXPECT
+/'a' => 1\n.+Can't locate object method.+'c' => 2/s


Property changes on: vendor/perl/dist/lib/dumpvar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/encoding/warnings/t/1-warning.t
===================================================================
--- vendor/perl/dist/lib/encoding/warnings/t/1-warning.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/encoding/warnings/t/1-warning.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/encoding/warnings/t/1-warning.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/encoding/warnings/t/2-fatal.t
===================================================================
--- vendor/perl/dist/lib/encoding/warnings/t/2-fatal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/encoding/warnings/t/2-fatal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/encoding/warnings/t/2-fatal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/encoding/warnings/t/3-normal.t
===================================================================
--- vendor/perl/dist/lib/encoding/warnings/t/3-normal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/encoding/warnings/t/3-normal.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/encoding/warnings/t/3-normal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/encoding/warnings/t/4-lexical.t
===================================================================
--- vendor/perl/dist/lib/encoding/warnings/t/4-lexical.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/encoding/warnings/t/4-lexical.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/encoding/warnings/t/4-lexical.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/encoding/warnings.pm
===================================================================
--- vendor/perl/dist/lib/encoding/warnings.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/encoding/warnings.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/encoding/warnings.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/exceptions.pl
===================================================================
--- vendor/perl/dist/lib/exceptions.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/exceptions.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/exceptions.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/fastcwd.pl
===================================================================
--- vendor/perl/dist/lib/fastcwd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/fastcwd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/fastcwd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/feature/unicode_strings.t
===================================================================
--- vendor/perl/dist/lib/feature/unicode_strings.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/feature/unicode_strings.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -172,6 +172,7 @@
 my @s = (0) x 256;
 $s[ord_latin1_to_native 0x09] = 1;   # Tab
 $s[ord_latin1_to_native 0x0A] = 1;   # LF
+$s[ord_latin1_to_native 0x0B] = 1;   # VT
 $s[ord_latin1_to_native 0x0C] = 1;   # FF
 $s[ord_latin1_to_native 0x0D] = 1;   # CR
 $s[ord_latin1_to_native 0x20] = 1;   # SPACE


Property changes on: vendor/perl/dist/lib/feature/unicode_strings.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/feature.pm
===================================================================
--- vendor/perl/dist/lib/feature.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/feature.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,33 +1,50 @@
+# -*- buffer-read-only: t -*-
+# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+# This file is built by regen/feature.pl.
+# Any changes made here will be lost!
+
 package feature;
 
-our $VERSION = '1.20';
+our $VERSION = '1.32';
 
-# (feature name) => (internal name, used in %^H)
-my %feature = (
+our %feature = (
+    fc              => 'feature_fc',
+    say             => 'feature_say',
+    state           => 'feature_state',
     switch          => 'feature_switch',
-    say             => "feature_say",
-    state           => "feature_state",
-    unicode_strings => "feature_unicode",
+    evalbytes       => 'feature_evalbytes',
+    array_base      => 'feature_arybase',
+    current_sub     => 'feature___SUB__',
+    lexical_subs    => 'feature_lexsubs',
+    unicode_eval    => 'feature_unieval',
+    unicode_strings => 'feature_unicode',
 );
 
+our %feature_bundle = (
+    "5.10"    => [qw(array_base say state switch)],
+    "5.11"    => [qw(array_base say state switch unicode_strings)],
+    "5.15"    => [qw(current_sub evalbytes fc say state switch unicode_eval unicode_strings)],
+    "all"     => [qw(array_base current_sub evalbytes fc lexical_subs say state switch unicode_eval unicode_strings)],
+    "default" => [qw(array_base)],
+);
+
+$feature_bundle{"5.12"} = $feature_bundle{"5.11"};
+$feature_bundle{"5.13"} = $feature_bundle{"5.11"};
+$feature_bundle{"5.14"} = $feature_bundle{"5.11"};
+$feature_bundle{"5.16"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.17"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.18"} = $feature_bundle{"5.15"};
+$feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
+
+our $hint_shift   = 26;
+our $hint_mask    = 0x1c000000;
+our @hint_bundles = qw( default 5.10 5.11 5.15 );
+
 # This gets set (for now) in $^H as well as in %^H,
 # for runtime speed of the uc/lc/ucfirst/lcfirst functions.
 # See HINT_UNI_8_BIT in perl.h.
 our $hint_uni8bit = 0x00000800;
 
-# NB. the latest bundle must be loaded by the -E switch (see toke.c)
-
-my %feature_bundle = (
-    "5.10" => [qw(switch say state)],
-    "5.11" => [qw(switch say state unicode_strings)],
-    "5.12" => [qw(switch say state unicode_strings)],
-    "5.13" => [qw(switch say state unicode_strings)],
-    "5.14" => [qw(switch say state unicode_strings)],
-);
-
-# special case
-$feature_bundle{"5.9.5"} = $feature_bundle{"5.10"};
-
 # TODO:
 # - think about versioned features (use feature switch => 2)
 
@@ -37,29 +54,33 @@
 
 =head1 SYNOPSIS
 
-    use feature qw(switch say);
+    use feature qw(say switch);
     given ($foo) {
-	when (1)	  { say "\$foo == 1" }
-	when ([2,3])	  { say "\$foo == 2 || \$foo == 3" }
-	when (/^a[bc]d$/) { say "\$foo eq 'abd' || \$foo eq 'acd'" }
-	when ($_ > 100)   { say "\$foo > 100" }
-	default		  { say "None of the above" }
+        when (1)          { say "\$foo == 1" }
+        when ([2,3])      { say "\$foo == 2 || \$foo == 3" }
+        when (/^a[bc]d$/) { say "\$foo eq 'abd' || \$foo eq 'acd'" }
+        when ($_ > 100)   { say "\$foo > 100" }
+        default           { say "None of the above" }
     }
 
     use feature ':5.10'; # loads all features available in perl 5.10
 
+    use v5.10;           # implicitly loads :5.10 feature bundle
+
 =head1 DESCRIPTION
 
 It is usually impossible to add new syntax to Perl without breaking
-some existing programs. This pragma provides a way to minimize that
+some existing programs.  This pragma provides a way to minimize that
 risk. New syntactic constructs, or new semantic meanings to older
 constructs, can be enabled by C<use feature 'foo'>, and will be parsed
-only when the appropriate feature pragma is in scope.
+only when the appropriate feature pragma is in scope.  (Nevertheless, the
+C<CORE::> prefix provides access to all Perl keywords, regardless of this
+pragma.)
 
 =head2 Lexical effect
 
 Like other pragmas (C<use strict>, for example), features have a lexical
-effect. C<use feature qw(foo)> will only make the feature "foo" available
+effect.  C<use feature qw(foo)> will only make the feature "foo" available
 from that point to the end of the enclosing block.
 
     {
@@ -70,7 +91,7 @@
 
 =head2 C<no feature>
 
-Features can also be turned off by using C<no feature "foo">. This too
+Features can also be turned off by using C<no feature "foo">.  This too
 has lexical effect.
 
     use feature 'say';
@@ -81,36 +102,46 @@
     }
     say "Yet it is here.";
 
-C<no feature> with no features specified will turn off all features.
+C<no feature> with no features specified will reset to the default group.  To
+disable I<all> features (an unusual request!) use C<no feature ':all'>.
 
-=head2 The 'switch' feature
+=head1 AVAILABLE FEATURES
 
-C<use feature 'switch'> tells the compiler to enable the Perl 6
-given/when construct.
-
-See L<perlsyn/"Switch statements"> for details.
-
 =head2 The 'say' feature
 
-C<use feature 'say'> tells the compiler to enable the Perl 6
+C<use feature 'say'> tells the compiler to enable the Perl 6 style
 C<say> function.
 
 See L<perlfunc/say> for details.
 
-=head2 the 'state' feature
+This feature is available starting with Perl 5.10.
 
+=head2 The 'state' feature
+
 C<use feature 'state'> tells the compiler to enable C<state>
 variables.
 
 See L<perlsub/"Persistent Private Variables"> for details.
 
-=head2 the 'unicode_strings' feature
+This feature is available starting with Perl 5.10.
 
+=head2 The 'switch' feature
+
+C<use feature 'switch'> tells the compiler to enable the Perl 6
+given/when construct.
+
+See L<perlsyn/"Switch Statements"> for details.
+
+This feature is available starting with Perl 5.10.
+
+=head2 The 'unicode_strings' feature
+
 C<use feature 'unicode_strings'> tells the compiler to use Unicode semantics
 in all string operations executed within its scope (unless they are also
 within the scope of either C<use locale> or C<use bytes>).  The same applies
 to all regular expressions compiled within the scope, even if executed outside
-it.
+it.  It does not change the internal representation of strings, but only how
+they are interpreted.
 
 C<no feature 'unicode_strings'> tells the compiler to use the traditional
 Perl semantics wherein the native character set semantics is used unless it is
@@ -120,44 +151,160 @@
 potentially using Unicode in your program, the
 C<use feature 'unicode_strings'> subpragma is B<strongly> recommended.
 
-This subpragma is available starting with Perl 5.11.3, but was not fully
-implemented until 5.13.8.
+This feature is available starting with Perl 5.12; was almost fully
+implemented in Perl 5.14; and extended in Perl 5.16 to cover C<quotemeta>.
 
+=head2 The 'unicode_eval' and 'evalbytes' features
+
+Under the C<unicode_eval> feature, Perl's C<eval> function, when passed a
+string, will evaluate it as a string of characters, ignoring any
+C<use utf8> declarations.  C<use utf8> exists to declare the encoding of
+the script, which only makes sense for a stream of bytes, not a string of
+characters.  Source filters are forbidden, as they also really only make
+sense on strings of bytes.  Any attempt to activate a source filter will
+result in an error.
+
+The C<evalbytes> feature enables the C<evalbytes> keyword, which evaluates
+the argument passed to it as a string of bytes.  It dies if the string
+contains any characters outside the 8-bit range.  Source filters work
+within C<evalbytes>: they apply to the contents of the string being
+evaluated.
+
+Together, these two features are intended to replace the historical C<eval>
+function, which has (at least) two bugs in it, that cannot easily be fixed
+without breaking existing programs:
+
+=over
+
+=item *
+
+C<eval> behaves differently depending on the internal encoding of the
+string, sometimes treating its argument as a string of bytes, and sometimes
+as a string of characters.
+
+=item *
+
+Source filters activated within C<eval> leak out into whichever I<file>
+scope is currently being compiled.  To give an example with the CPAN module
+L<Semi::Semicolons>:
+
+    BEGIN { eval "use Semi::Semicolons;  # not filtered here " }
+    # filtered here!
+
+C<evalbytes> fixes that to work the way one would expect:
+
+    use feature "evalbytes";
+    BEGIN { evalbytes "use Semi::Semicolons;  # filtered " }
+    # not filtered
+
+=back
+
+These two features are available starting with Perl 5.16.
+
+=head2 The 'current_sub' feature
+
+This provides the C<__SUB__> token that returns a reference to the current
+subroutine or C<undef> outside of a subroutine.
+
+This feature is available starting with Perl 5.16.
+
+=head2 The 'array_base' feature
+
+This feature supports the legacy C<$[> variable.  See L<perlvar/$[> and
+L<arybase>.  It is on by default but disabled under C<use v5.16> (see
+L</IMPLICIT LOADING>, below).
+
+This feature is available under this name starting with Perl 5.16.  In
+previous versions, it was simply on all the time, and this pragma knew
+nothing about it.
+
+=head2 The 'fc' feature
+
+C<use feature 'fc'> tells the compiler to enable the C<fc> function,
+which implements Unicode casefolding.
+
+See L<perlfunc/fc> for details.
+
+This feature is available from Perl 5.16 onwards.
+
+=head2 The 'lexical_subs' feature
+
+B<WARNING>: This feature is still experimental and the implementation may
+change in future versions of Perl.  For this reason, Perl will
+warn when you use the feature, unless you have explicitly disabled the
+warning:
+
+    no warnings "experimental::lexical_subs";
+
+This enables declaration of subroutines via C<my sub foo>, C<state sub foo>
+and C<our sub foo> syntax.  See L<perlsub/Lexical Subroutines> for details.
+
+This feature is available from Perl 5.18 onwards.
+
 =head1 FEATURE BUNDLES
 
-It's possible to load a whole slew of features in one go, using
-a I<feature bundle>. The name of a feature bundle is prefixed with
-a colon, to distinguish it from an actual feature. At present, the
-only feature bundle is C<use feature ":5.10"> which is equivalent
-to C<use feature qw(switch say state)>.
+It's possible to load multiple features together, using
+a I<feature bundle>.  The name of a feature bundle is prefixed with
+a colon, to distinguish it from an actual feature.
 
-Specifying sub-versions such as the C<0> in C<5.10.0> in feature bundles has
-no effect: feature bundles are guaranteed to be the same for all sub-versions.
+  use feature ":5.10";
 
+The following feature bundles are available:
+
+  bundle    features included
+  --------- -----------------
+  :default  array_base
+
+  :5.10     say state switch array_base
+
+  :5.12     say state switch unicode_strings array_base
+
+  :5.14     say state switch unicode_strings array_base
+
+  :5.16     say state switch unicode_strings
+            unicode_eval evalbytes current_sub fc
+
+  :5.18     say state switch unicode_strings
+            unicode_eval evalbytes current_sub fc
+
+The C<:default> bundle represents the feature set that is enabled before
+any C<use feature> or C<no feature> declaration.
+
+Specifying sub-versions such as the C<0> in C<5.14.0> in feature bundles has
+no effect.  Feature bundles are guaranteed to be the same for all sub-versions.
+
+  use feature ":5.14.0";    # same as ":5.14"
+  use feature ":5.14.1";    # same as ":5.14"
+
 =head1 IMPLICIT LOADING
 
-There are two ways to load the C<feature> pragma implicitly :
+Instead of loading feature bundles by name, it is easier to let Perl do
+implicit loading of a feature bundle for you.
 
+There are two ways to load the C<feature> pragma implicitly:
+
 =over 4
 
 =item *
 
-By using the C<-E> switch on the command-line instead of C<-e>. It enables
-all available features in the main compilation unit (that is, the one-liner.)
+By using the C<-E> switch on the Perl command-line instead of C<-e>.
+That will enable the feature bundle for that version of Perl in the
+main compilation unit (that is, the one-liner that follows C<-E>).
 
 =item *
 
-By requiring explicitly a minimal Perl version number for your program, with
-the C<use VERSION> construct, and when the version is higher than or equal to
-5.10.0. That is,
+By explicitly requiring a minimum Perl version number for your program, with
+the C<use VERSION> construct.  That is,
 
-    use 5.10.0;
+    use v5.10.0;
 
 will do an implicit
 
+    no feature ':all';
     use feature ':5.10';
 
-and so on. Note how the trailing sub-version is automatically stripped from the
+and so on.  Note how the trailing sub-version
+is automatically stripped from the
 version.
 
 But to avoid portability warnings (see L<perlfunc/use>), you may prefer:
@@ -166,6 +313,9 @@
 
 with the same effect.
 
+If the required version is older than Perl 5.10, the ":default" feature
+bundle is automatically loaded instead.
+
 =back
 
 =cut
@@ -172,60 +322,65 @@
 
 sub import {
     my $class = shift;
-    if (@_ == 0) {
-	croak("No features specified");
+
+    if (!@_) {
+        croak("No features specified");
     }
-    while (@_) {
-	my $name = shift(@_);
-	if (substr($name, 0, 1) eq ":") {
-	    my $v = substr($name, 1);
-	    if (!exists $feature_bundle{$v}) {
-		$v =~ s/^([0-9]+)\.([0-9]+).[0-9]+$/$1.$2/;
-		if (!exists $feature_bundle{$v}) {
-		    unknown_feature_bundle(substr($name, 1));
-		}
-	    }
-	    unshift @_, @{$feature_bundle{$v}};
-	    next;
-	}
-	if (!exists $feature{$name}) {
-	    unknown_feature($name);
-	}
-	$^H{$feature{$name}} = 1;
-        $^H |= $hint_uni8bit if $name eq 'unicode_strings';
-    }
+
+    __common(1, @_);
 }
 
 sub unimport {
     my $class = shift;
 
-    # A bare C<no feature> should disable *all* features
+    # A bare C<no feature> should reset to the default bundle
     if (!@_) {
-	delete @^H{ values(%feature) };
-        $^H &= ~ $hint_uni8bit;
+	$^H &= ~($hint_uni8bit|$hint_mask);
 	return;
     }
 
+    __common(0, @_);
+}
+
+
+sub __common {
+    my $import = shift;
+    my $bundle_number = $^H & $hint_mask;
+    my $features = $bundle_number != $hint_mask
+	&& $feature_bundle{$hint_bundles[$bundle_number >> $hint_shift]};
+    if ($features) {
+	# Features are enabled implicitly via bundle hints.
+	# Delete any keys that may be left over from last time.
+	delete @^H{ values(%feature) };
+	$^H |= $hint_mask;
+	for (@$features) {
+	    $^H{$feature{$_}} = 1;
+	    $^H |= $hint_uni8bit if $_ eq 'unicode_strings';
+	}
+    }
     while (@_) {
-	my $name = shift;
-	if (substr($name, 0, 1) eq ":") {
-	    my $v = substr($name, 1);
-	    if (!exists $feature_bundle{$v}) {
-		$v =~ s/^([0-9]+)\.([0-9]+).[0-9]+$/$1.$2/;
-		if (!exists $feature_bundle{$v}) {
-		    unknown_feature_bundle(substr($name, 1));
-		}
-	    }
-	    unshift @_, @{$feature_bundle{$v}};
-	    next;
-	}
-	if (!exists($feature{$name})) {
-	    unknown_feature($name);
-	}
-	else {
-	    delete $^H{$feature{$name}};
+        my $name = shift;
+        if (substr($name, 0, 1) eq ":") {
+            my $v = substr($name, 1);
+            if (!exists $feature_bundle{$v}) {
+                $v =~ s/^([0-9]+)\.([0-9]+).[0-9]+$/$1.$2/;
+                if (!exists $feature_bundle{$v}) {
+                    unknown_feature_bundle(substr($name, 1));
+                }
+            }
+            unshift @_, @{$feature_bundle{$v}};
+            next;
+        }
+        if (!exists $feature{$name}) {
+            unknown_feature($name);
+        }
+	if ($import) {
+	    $^H{$feature{$name}} = 1;
+	    $^H |= $hint_uni8bit if $name eq 'unicode_strings';
+	} else {
+            delete $^H{$feature{$name}};
             $^H &= ~ $hint_uni8bit if $name eq 'unicode_strings';
-	}
+        }
     }
 }
 
@@ -232,13 +387,13 @@
 sub unknown_feature {
     my $feature = shift;
     croak(sprintf('Feature "%s" is not supported by Perl %vd',
-	    $feature, $^V));
+            $feature, $^V));
 }
 
 sub unknown_feature_bundle {
     my $feature = shift;
     croak(sprintf('Feature bundle "%s" is not supported by Perl %vd',
-	    $feature, $^V));
+            $feature, $^V));
 }
 
 sub croak {
@@ -247,3 +402,5 @@
 }
 
 1;
+
+# ex: set ro:


Property changes on: vendor/perl/dist/lib/feature.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/feature.t
===================================================================
--- vendor/perl/dist/lib/feature.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/feature.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/feature.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/fields.pm
===================================================================
--- vendor/perl/dist/lib/fields.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/fields.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/fields.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/filetest.pm
===================================================================
--- vendor/perl/dist/lib/filetest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/filetest.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package filetest;
 
-our $VERSION = '1.02';
+our $VERSION = '1.03';
 
 =head1 NAME
 
@@ -71,7 +71,7 @@
 Because access() does not invoke stat() (at least not in a way visible
 to Perl), B<the stat result cache "_" is not set>.  This means that the
 outcome of the following two tests is different.  The first has the stat
-bits of C</etc/passwd> in C<_>, and in the second case this still
+bits of F</etc/passwd> in C<_>, and in the second case this still
 contains the bits of C</etc>.
 
  { -d '/etc';


Property changes on: vendor/perl/dist/lib/filetest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/filetest.t
===================================================================
--- vendor/perl/dist/lib/filetest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/filetest.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -57,6 +57,7 @@
     my $chflags = "/usr/bin/chflags";
     my $tstfile = "filetest.tst";
     skip("No $chflags available", 4) if !-x $chflags;
+    skip("Dragonfly filetests seem non-chflags aware", 4) if $^O eq 'dragonfly';
 
     my $skip_eff_user_tests = (!$Config{d_setreuid} && !$Config{d_setresuid})
 	                                            ||


Property changes on: vendor/perl/dist/lib/filetest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/find.pl
===================================================================
--- vendor/perl/dist/lib/find.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/find.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/find.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/finddepth.pl
===================================================================
--- vendor/perl/dist/lib/finddepth.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/finddepth.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/finddepth.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/flush.pl
===================================================================
--- vendor/perl/dist/lib/flush.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/flush.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/flush.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/getcwd.pl
===================================================================
--- vendor/perl/dist/lib/getcwd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/getcwd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/getcwd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/getopt.pl
===================================================================
--- vendor/perl/dist/lib/getopt.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/getopt.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/getopt.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/getopts.pl
===================================================================
--- vendor/perl/dist/lib/getopts.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/getopts.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/getopts.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/h2ph.t
===================================================================
--- vendor/perl/dist/lib/h2ph.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/h2ph.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/h2ph.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/h2xs.t
===================================================================
--- vendor/perl/dist/lib/h2xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/h2xs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -159,8 +159,10 @@
   # 1 test for running it, 1 test for the expected result, and 1 for each file
   # plus 1 to open and 1 to check for the use in lib/$name.pm and Makefile.PL
   # And 1 more for our check for "bonus" files, 2 more for ExtUtil::Manifest.
+  # And 1 more to examine const-c.inc contents in tests that use $header.
   # use the () to force list context and hence count the number of matches.
   $total_tests += 9 + (() = $tests[$i] =~ /(Writing)/sg);
+  $total_tests++ if $tests[$i-2] =~ / \Q$header\E$/;
 }
 
 plan tests => $total_tests;
@@ -169,6 +171,8 @@
 print HEADER <<HEADER or die $!;
 #define Camel 2
 #define Dromedary 1
+#define Bactrian /* empty */
+#define Bactrian2
 HEADER
 ok (close (HEADER), "close '$header'");
 
@@ -215,6 +219,23 @@
   pop @INC;
   chdir ($up) or die "chdir $up failed: $!";
  
+  if ($args =~ / \Q$header\E$/) {
+    my $const_c = File::Spec->catfile($name, 'fallback', 'const-c.inc');
+    my ($found, $diag);
+    if (!open FILE, '<', $const_c) {
+      $diag = "can't open $const_c: $!";
+    }
+    else {
+      while (<FILE>) {
+        next unless /\b Bactrian 2? \b/x;
+        $found = 1;
+        last;
+      }
+    }
+    ok (!$found, "generated $const_c has no Bactrian(2)");
+    diag ($diag) if defined $diag;
+  }
+
   foreach my $leaf (File::Spec->catfile('lib', "$name.pm"), 'Makefile.PL') {
     my $file = File::Spec->catfile($name, $leaf);
     if (ok (open (FILE, $file), "open $file")) {


Property changes on: vendor/perl/dist/lib/h2xs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/hostname.pl
===================================================================
--- vendor/perl/dist/lib/hostname.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/hostname.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/hostname.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/if.pm
===================================================================
--- vendor/perl/dist/lib/if.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/if.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/if.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/if.t
===================================================================
--- vendor/perl/dist/lib/if.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/if.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/if.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/importenv.pl
===================================================================
--- vendor/perl/dist/lib/importenv.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/importenv.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/importenv.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/integer.pm
===================================================================
--- vendor/perl/dist/lib/integer.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/integer.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/integer.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/integer.t
===================================================================
--- vendor/perl/dist/lib/integer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/integer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/integer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/less.pm
===================================================================
--- vendor/perl/dist/lib/less.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/less.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/less.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/less.t
===================================================================
--- vendor/perl/dist/lib/less.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/less.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/less.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/lib.t
===================================================================
--- vendor/perl/dist/lib/lib.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/lib.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/lib.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/lib_pm.PL
===================================================================
--- vendor/perl/dist/lib/lib_pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/lib_pm.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/lib_pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/locale.pm
===================================================================
--- vendor/perl/dist/lib/locale.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/locale.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,40 +1,101 @@
 package locale;
 
-our $VERSION = '1.00';
+our $VERSION = '1.02';
+use Config;
 
+$Carp::Internal{ (__PACKAGE__) } = 1;
+
 =head1 NAME
 
-locale - Perl pragma to use and avoid POSIX locales for built-in operations
+locale - Perl pragma to use or avoid POSIX locales for built-in operations
 
 =head1 SYNOPSIS
 
-    @x = sort @y;	# ASCII sorting order
+    @x = sort @y;	# Unicode sorting order
     {
         use locale;
         @x = sort @y;   # Locale-defined sorting order
     }
-    @x = sort @y;	# ASCII sorting order again
+    @x = sort @y;	# Unicode sorting order again
 
 =head1 DESCRIPTION
 
 This pragma tells the compiler to enable (or disable) the use of POSIX
-locales for built-in operations (LC_CTYPE for regular expressions, and
-LC_COLLATE for string comparison).  Each "use locale" or "no locale"
+locales for built-in operations (for example, LC_CTYPE for regular
+expressions, LC_COLLATE for string comparison, and LC_NUMERIC for number
+formatting).  Each "use locale" or "no locale"
 affects statements to the end of the enclosing BLOCK.
 
+Starting in Perl 5.16, a hybrid mode for this pragma is available,
+
+    use locale ':not_characters';
+
+which enables only the portions of locales that don't affect the character
+set (that is, all except LC_COLLATE and LC_CTYPE).  This is useful when mixing
+Unicode and locales, including UTF-8 locales.
+
+    use locale ':not_characters';
+    use open ":locale";           # Convert I/O to/from Unicode
+    use POSIX qw(locale_h);       # Import the LC_ALL constant
+    setlocale(LC_ALL, "");        # Required for the next statement
+                                  # to take effect
+    printf "%.2f\n", 12345.67'    # Locale-defined formatting
+    @x = sort @y;                 # Unicode-defined sorting order.
+                                  # (Note that you will get better
+                                  # results using Unicode::Collate.)
+
 See L<perllocale> for more detailed information on how Perl supports
 locales.
 
+=head1 NOTE
+
+If your system does not support locales, then loading this module will
+cause the program to die with a message:
+
+    "Your vendor does not support locales, you cannot use the locale
+    module."
+
 =cut
 
+# A separate bit is used for each of the two forms of the pragma, as they are
+# mostly independent, and interact with each other and the unicode_strings
+# feature.  This allows for fast determination of which one(s) of the three
+# are to be used at any given point, and no code has to be written to deal
+# with coming in and out of scopes--it falls automatically out from the hint
+# handling
+
 $locale::hint_bits = 0x4;
+$locale::not_chars_hint_bits = 0x10;
 
 sub import {
-    $^H |= $locale::hint_bits;
+    shift;  # should be 'locale'; not checked
+
+    if(!$Config{d_setlocale}) {
+        ## No locale support found on this Perl, giving up:
+        die('Your vendor does not support locales, you cannot use the locale module.');
+    }
+
+    my $found_not_chars = 0;
+    while (defined (my $arg = shift)) {
+        if ($arg eq ":not_characters") {
+            $^H |= $locale::not_chars_hint_bits;
+
+            # This form of the pragma overrides the other
+            $^H &= ~$locale::hint_bits;
+            $found_not_chars = 1;
+        }
+        else {
+            require Carp;
+            Carp::croak("Unknown parameter '$arg' to 'use locale'");
+        }
+    }
+
+    # Use the plain form if not doing the :not_characters one.
+    $^H |= $locale::hint_bits unless $found_not_chars;
 }
 
 sub unimport {
-    $^H &= ~$locale::hint_bits;
+    $^H &= ~($locale::hint_bits|$locale::not_chars_hint_bits);
 }
 
 1;


Property changes on: vendor/perl/dist/lib/locale.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/locale.t
===================================================================
--- vendor/perl/dist/lib/locale.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/locale.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,15 @@
 #!./perl -wT
 
+# This tests plain 'use locale' and adorned 'use locale ":not_characters"'
+# Because these pragmas are compile time, and I (khw) am trying to test
+# without using 'eval' as much as possible, which might cloud the issue,  the
+# crucial parts of the code are duplicated in a block for each pragma.
+
+# To make a TODO test, add the string 'TODO' to its %test_names value
+
+binmode STDOUT, ':utf8';
+binmode STDERR, ':utf8';
+
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
@@ -13,9 +23,14 @@
 }
 
 use strict;
+use feature 'fc';
 
-my $debug = 1;
+my $debug = 0;
 
+# Certain tests have been shown to be problematical for a few locales.  Don't
+# fail them unless at least this percentage of the tested locales fail.
+my $acceptable_fold_failure_percentage = 5;
+
 use Dumpvalue;
 
 my $dumper = Dumpvalue->new(
@@ -50,22 +65,23 @@
 $have_setlocale = 0 if ((($^O eq 'MSWin32' && !$winxp) || $^O eq 'NetWare') &&
 		$Config{cc} =~ /^(cl|gcc)/i);
 
-# UWIN seems to loop after test 98, just skip for now
+# UWIN seems to loop after taint tests, just skip for now
 $have_setlocale = 0 if ($^O =~ /^uwin/);
 
-my $last = $have_setlocale ? &last : &last_without_setlocale;
-
-print "1..$last\n";
-
 sub LC_ALL ();
 
 $a = 'abc %';
 
+my $test_num = 0;
+
 sub ok {
-    my ($n, $result) = @_;
+    my ($result, $message) = @_;
+    $message = "" unless defined $message;
 
     print 'not ' unless ($result);
-    print "ok $n\n";
+    print "ok " . ++$test_num;
+    print " $message";
+    print "\n";
 }
 
 # First we'll do a lot of taint checking for locales.
@@ -75,182 +91,363 @@
 sub is_tainted { # hello, camel two.
     no warnings 'uninitialized' ;
     my $dummy;
+    local $@;
     not eval { $dummy = join("", @_), kill 0; 1 }
 }
 
-sub check_taint ($$) {
-    ok $_[0], is_tainted($_[1]);
+sub check_taint ($;$) {
+    my $message_tail = $_[1] // "";
+    $message_tail = ": $message_tail" if $message_tail;
+    ok is_tainted($_[0]), "verify that is tainted$message_tail";
 }
 
-sub check_taint_not ($$) {
-    ok $_[0], not is_tainted($_[1]);
+sub check_taint_not ($;$) {
+    my $message_tail = $_[1] // "";
+    $message_tail = ": $message_tail" if $message_tail;
+    ok((not is_tainted($_[0])), "verify that isn't tainted$message_tail");
 }
 
+"\tb\t" =~ /^m?(\s)(.*)\1$/;
+check_taint_not   $&, "not tainted outside 'use locale'";
+;
+
 use locale;	# engage locale and therefore locale taint.
 
-check_taint_not   1, $a;
+check_taint_not   $a;
 
-check_taint       2, uc($a);
-check_taint       3, "\U$a";
-check_taint       4, ucfirst($a);
-check_taint       5, "\u$a";
-check_taint       6, lc($a);
-check_taint       7, "\L$a";
-check_taint       8, lcfirst($a);
-check_taint       9, "\l$a";
+check_taint       uc($a);
+check_taint       "\U$a";
+check_taint       ucfirst($a);
+check_taint       "\u$a";
+check_taint       lc($a);
+check_taint       fc($a);
+check_taint       "\L$a";
+check_taint       "\F$a";
+check_taint       lcfirst($a);
+check_taint       "\l$a";
 
-check_taint_not  10, sprintf('%e', 123.456);
-check_taint_not  11, sprintf('%f', 123.456);
-check_taint_not  12, sprintf('%g', 123.456);
-check_taint_not  13, sprintf('%d', 123.456);
-check_taint_not  14, sprintf('%x', 123.456);
+check_taint_not  sprintf('%e', 123.456);
+check_taint_not  sprintf('%f', 123.456);
+check_taint_not  sprintf('%g', 123.456);
+check_taint_not  sprintf('%d', 123.456);
+check_taint_not  sprintf('%x', 123.456);
 
 $_ = $a;	# untaint $_
 
 $_ = uc($a);	# taint $_
 
-check_taint      15, $_;
+check_taint      $_;
 
 /(\w)/;	# taint $&, $`, $', $+, $1.
-check_taint      16, $&;
-check_taint      17, $`;
-check_taint      18, $';
-check_taint      19, $+;
-check_taint      20, $1;
-check_taint_not  21, $2;
+check_taint      $&;
+check_taint      $`;
+check_taint      $';
+check_taint      $+;
+check_taint      $1;
+check_taint_not  $2;
 
 /(.)/;	# untaint $&, $`, $', $+, $1.
-check_taint_not  22, $&;
-check_taint_not  23, $`;
-check_taint_not  24, $';
-check_taint_not  25, $+;
-check_taint_not  26, $1;
-check_taint_not  27, $2;
+check_taint_not  $&;
+check_taint_not  $`;
+check_taint_not  $';
+check_taint_not  $+;
+check_taint_not  $1;
+check_taint_not  $2;
 
 /(\W)/;	# taint $&, $`, $', $+, $1.
-check_taint      28, $&;
-check_taint      29, $`;
-check_taint      30, $';
-check_taint      31, $+;
-check_taint      32, $1;
-check_taint_not  33, $2;
+check_taint      $&;
+check_taint      $`;
+check_taint      $';
+check_taint      $+;
+check_taint      $1;
+check_taint_not  $2;
 
 /(\s)/;	# taint $&, $`, $', $+, $1.
-check_taint      34, $&;
-check_taint      35, $`;
-check_taint      36, $';
-check_taint      37, $+;
-check_taint      38, $1;
-check_taint_not  39, $2;
+check_taint      $&;
+check_taint      $`;
+check_taint      $';
+check_taint      $+;
+check_taint      $1;
+check_taint_not  $2;
 
 /(\S)/;	# taint $&, $`, $', $+, $1.
-check_taint      40, $&;
-check_taint      41, $`;
-check_taint      42, $';
-check_taint      43, $+;
-check_taint      44, $1;
-check_taint_not  45, $2;
+check_taint      $&;
+check_taint      $`;
+check_taint      $';
+check_taint      $+;
+check_taint      $1;
+check_taint_not  $2;
 
 $_ = $a;	# untaint $_
 
-check_taint_not  46, $_;
+check_taint_not  $_;
 
 /(b)/;		# this must not taint
-check_taint_not  47, $&;
-check_taint_not  48, $`;
-check_taint_not  49, $';
-check_taint_not  50, $+;
-check_taint_not  51, $1;
-check_taint_not  52, $2;
+check_taint_not  $&;
+check_taint_not  $`;
+check_taint_not  $';
+check_taint_not  $+;
+check_taint_not  $1;
+check_taint_not  $2;
 
 $_ = $a;	# untaint $_
 
-check_taint_not  53, $_;
+check_taint_not  $_;
 
 $b = uc($a);	# taint $b
 s/(.+)/$b/;	# this must taint only the $_
 
-check_taint      54, $_;
-check_taint_not  55, $&;
-check_taint_not  56, $`;
-check_taint_not  57, $';
-check_taint_not  58, $+;
-check_taint_not  59, $1;
-check_taint_not  60, $2;
+check_taint      $_;
+check_taint_not  $&;
+check_taint_not  $`;
+check_taint_not  $';
+check_taint_not  $+;
+check_taint_not  $1;
+check_taint_not  $2;
 
 $_ = $a;	# untaint $_
 
 s/(.+)/b/;	# this must not taint
-check_taint_not  61, $_;
-check_taint_not  62, $&;
-check_taint_not  63, $`;
-check_taint_not  64, $';
-check_taint_not  65, $+;
-check_taint_not  66, $1;
-check_taint_not  67, $2;
+check_taint_not  $_;
+check_taint_not  $&;
+check_taint_not  $`;
+check_taint_not  $';
+check_taint_not  $+;
+check_taint_not  $1;
+check_taint_not  $2;
 
 $b = $a;	# untaint $b
 
 ($b = $a) =~ s/\w/$&/;
-check_taint      68, $b;	# $b should be tainted.
-check_taint_not  69, $a;	# $a should be not.
+check_taint      $b;	# $b should be tainted.
+check_taint_not  $a;	# $a should be not.
 
 $_ = $a;	# untaint $_
 
 s/(\w)/\l$1/;	# this must taint
-check_taint      70, $_;
-check_taint      71, $&;
-check_taint      72, $`;
-check_taint      73, $';
-check_taint      74, $+;
-check_taint      75, $1;
-check_taint_not  76, $2;
+check_taint      $_;
+check_taint      $&;
+check_taint      $`;
+check_taint      $';
+check_taint      $+;
+check_taint      $1;
+check_taint_not  $2;
 
 $_ = $a;	# untaint $_
 
 s/(\w)/\L$1/;	# this must taint
-check_taint      77, $_;
-check_taint      78, $&;
-check_taint      79, $`;
-check_taint      80, $';
-check_taint      81, $+;
-check_taint      82, $1;
-check_taint_not  83, $2;
+check_taint      $_;
+check_taint      $&;
+check_taint      $`;
+check_taint      $';
+check_taint      $+;
+check_taint      $1;
+check_taint_not  $2;
 
 $_ = $a;	# untaint $_
 
 s/(\w)/\u$1/;	# this must taint
-check_taint      84, $_;
-check_taint      85, $&;
-check_taint      86, $`;
-check_taint      87, $';
-check_taint      88, $+;
-check_taint      89, $1;
-check_taint_not  90, $2;
+check_taint      $_;
+check_taint      $&;
+check_taint      $`;
+check_taint      $';
+check_taint      $+;
+check_taint      $1;
+check_taint_not  $2;
 
 $_ = $a;	# untaint $_
 
 s/(\w)/\U$1/;	# this must taint
-check_taint      91, $_;
-check_taint      92, $&;
-check_taint      93, $`;
-check_taint      94, $';
-check_taint      95, $+;
-check_taint      96, $1;
-check_taint_not  97, $2;
+check_taint      $_;
+check_taint      $&;
+check_taint      $`;
+check_taint      $';
+check_taint      $+;
+check_taint      $1;
+check_taint_not  $2;
 
 # After all this tainting $a should be cool.
 
-check_taint_not  98, $a;
+check_taint_not  $a;
 
-sub last_without_setlocale { 98 }
+{   # This is just the previous tests copied here with a different
+    # compile-time pragma.
 
+    use locale ':not_characters'; # engage restricted locale with different
+                                  # tainting rules
+
+    check_taint_not   $a;
+
+    check_taint_not	uc($a);
+    check_taint_not	"\U$a";
+    check_taint_not	ucfirst($a);
+    check_taint_not	"\u$a";
+    check_taint_not	lc($a);
+    check_taint_not	fc($a);
+    check_taint_not	"\L$a";
+    check_taint_not	"\F$a";
+    check_taint_not	lcfirst($a);
+    check_taint_not	"\l$a";
+
+    check_taint_not  sprintf('%e', 123.456);
+    check_taint_not  sprintf('%f', 123.456);
+    check_taint_not  sprintf('%g', 123.456);
+    check_taint_not  sprintf('%d', 123.456);
+    check_taint_not  sprintf('%x', 123.456);
+
+    $_ = $a;	# untaint $_
+
+    $_ = uc($a);	# taint $_
+
+    check_taint_not	$_;
+
+    /(\w)/;	# taint $&, $`, $', $+, $1.
+    check_taint_not	$&;
+    check_taint_not	$`;
+    check_taint_not	$';
+    check_taint_not	$+;
+    check_taint_not	$1;
+    check_taint_not  $2;
+
+    /(.)/;	# untaint $&, $`, $', $+, $1.
+    check_taint_not  $&;
+    check_taint_not  $`;
+    check_taint_not  $';
+    check_taint_not  $+;
+    check_taint_not  $1;
+    check_taint_not  $2;
+
+    /(\W)/;	# taint $&, $`, $', $+, $1.
+    check_taint_not	$&;
+    check_taint_not	$`;
+    check_taint_not	$';
+    check_taint_not	$+;
+    check_taint_not	$1;
+    check_taint_not  $2;
+
+    /(\s)/;	# taint $&, $`, $', $+, $1.
+    check_taint_not	$&;
+    check_taint_not	$`;
+    check_taint_not	$';
+    check_taint_not	$+;
+    check_taint_not	$1;
+    check_taint_not  $2;
+
+    /(\S)/;	# taint $&, $`, $', $+, $1.
+    check_taint_not	$&;
+    check_taint_not	$`;
+    check_taint_not	$';
+    check_taint_not	$+;
+    check_taint_not	$1;
+    check_taint_not  $2;
+
+    $_ = $a;	# untaint $_
+
+    check_taint_not  $_;
+
+    /(b)/;		# this must not taint
+    check_taint_not  $&;
+    check_taint_not  $`;
+    check_taint_not  $';
+    check_taint_not  $+;
+    check_taint_not  $1;
+    check_taint_not  $2;
+
+    $_ = $a;	# untaint $_
+
+    check_taint_not  $_;
+
+    $b = uc($a);	# taint $b
+    s/(.+)/$b/;	# this must taint only the $_
+
+    check_taint_not	$_;
+    check_taint_not  $&;
+    check_taint_not  $`;
+    check_taint_not  $';
+    check_taint_not  $+;
+    check_taint_not  $1;
+    check_taint_not  $2;
+
+    $_ = $a;	# untaint $_
+
+    s/(.+)/b/;	# this must not taint
+    check_taint_not  $_;
+    check_taint_not  $&;
+    check_taint_not  $`;
+    check_taint_not  $';
+    check_taint_not  $+;
+    check_taint_not  $1;
+    check_taint_not  $2;
+
+    $b = $a;	# untaint $b
+
+    ($b = $a) =~ s/\w/$&/;
+    check_taint_not	$b;	# $b should be tainted.
+    check_taint_not  $a;	# $a should be not.
+
+    $_ = $a;	# untaint $_
+
+    s/(\w)/\l$1/;	# this must taint
+    check_taint_not	$_;
+    check_taint_not	$&;
+    check_taint_not	$`;
+    check_taint_not	$';
+    check_taint_not	$+;
+    check_taint_not	$1;
+    check_taint_not  $2;
+
+    $_ = $a;	# untaint $_
+
+    s/(\w)/\L$1/;	# this must taint
+    check_taint_not	$_;
+    check_taint_not	$&;
+    check_taint_not	$`;
+    check_taint_not	$';
+    check_taint_not	$+;
+    check_taint_not	$1;
+    check_taint_not  $2;
+
+    $_ = $a;	# untaint $_
+
+    s/(\w)/\u$1/;	# this must taint
+    check_taint_not	$_;
+    check_taint_not	$&;
+    check_taint_not	$`;
+    check_taint_not	$';
+    check_taint_not	$+;
+    check_taint_not	$1;
+    check_taint_not  $2;
+
+    $_ = $a;	# untaint $_
+
+    s/(\w)/\U$1/;	# this must taint
+    check_taint_not	$_;
+    check_taint_not	$&;
+    check_taint_not	$`;
+    check_taint_not	$';
+    check_taint_not	$+;
+    check_taint_not	$1;
+    check_taint_not  $2;
+
+    # After all this tainting $a should be cool.
+
+    check_taint_not  $a;
+}
+
+# Here are in scope of 'use locale'
+
 # I think we've seen quite enough of taint.
 # Let us do some *real* locale work now,
 # unless setlocale() is missing (i.e. minitest).
 
-exit unless $have_setlocale;
+unless ($have_setlocale) {
+    print "1..$test_num\n";
+    exit;
+}
 
+# The test number before our first setlocale()
+my $final_without_setlocale = $test_num;
+
 # Find locales.
 
 debug "# Scanning for locales...\n";
@@ -269,7 +466,7 @@
 Hrvatski Croatian:hr:hr:2
 Cymraeg Welsh:cy:cy:1 14 15
 Czech:cs:cz:2
-Dansk Danish:dk:da:1 15
+Dansk Danish:da:dk:1 15
 Nederlands Dutch:nl:be nl:1 15
 English American British:en:au ca gb ie nz us uk zw:1 15 cp850
 Esperanto:eo:eo:3
@@ -284,7 +481,7 @@
 Greenlandic:kl:gl:4 6
 Hebrew:iw:il:8 hebrew8
 Hungarian:hu:hu:2
-Indonesian:in:id:1 15
+Indonesian:id:id:1 15
 Gaeilge Irish:ga:IE:1 14 15
 Italiano Italian:it:ch it:1 15
 Nihongo Japanese:ja:jp:euc eucJP jp.EUC sjis
@@ -295,7 +492,7 @@
 Macedonian:mk:mk:1 15
 Maltese:mt:mt:3
 Moldovan:mo:mo:2
-Norsk Norwegian:no no\@nynorsk:no:1 15
+Norsk Norwegian:no no\@nynorsk nb nn:no:1 15
 Occitan:oc:es:1 15
 Polski Polish:pl:pl:2
 Rumanian:ro:ro:2
@@ -328,18 +525,23 @@
 my $Locale;
 my @Alnum_;
 
-my @utf8locale;
-my %utf8skip;
-
-sub getalnum_ {
-    sort grep /\w/, map { chr } 0..255
-}
-
 sub trylocale {
     my $locale = shift;
-    if (setlocale(LC_ALL, $locale)) {
-	push @Locale, $locale;
+    return if grep { $locale eq $_ } @Locale;
+    return unless setlocale(LC_ALL, $locale);
+    my $badutf8;
+    {
+        local $SIG{__WARN__} = sub {
+            $badutf8 = $_[0] =~ /Malformed UTF-8/;
+        };
+        $Locale =~ /UTF-?8/i;
     }
+
+    if ($badutf8) {
+        ok(0, "Locale name contains malformed utf8");
+        return;
+    }
+    push @Locale, $locale;
 }
 
 sub decode_encodings {
@@ -396,7 +598,7 @@
     }
     close(LOCALES);
 } elsif ($^O eq 'VMS' && defined($ENV{'SYS$I18N_LOCALE'}) && -d 'SYS$I18N_LOCALE') {
-# The SYS$I18N_LOCALE logical name search list was not present on 
+# The SYS$I18N_LOCALE logical name search list was not present on
 # VAX VMS V5.5-12, but was on AXP && VAX VMS V6.2 as well as later versions.
     opendir(LOCALES, "SYS\$I18N_LOCALE:");
     while ($_ = readdir(LOCALES)) {
@@ -476,46 +678,81 @@
 my %Problem;
 my %Okay;
 my %Testing;
-my @Neoalpha;
-my %Neoalpha;
+my @Neoalpha;   # Alnums that aren't in the C locale.
+my %test_names;
 
 sub tryneoalpha {
-    my ($Locale, $i, $test) = @_;
+    my ($Locale, $i, $test, $message) = @_;
+    $message //= "";
+    $message = "  ($message)" if $message;
     unless ($test) {
 	$Problem{$i}{$Locale} = 1;
-	debug "# failed $i with locale '$Locale'\n";
+	debug "# failed $i with locale '$Locale'$message\n";
     } else {
 	push @{$Okay{$i}}, $Locale;
     }
 }
 
+my $first_locales_test_number = $final_without_setlocale + 1;
+my $locales_test_number;
+my $not_necessarily_a_problem_test_number;
+my $first_casing_test_number;
+my $final_casing_test_number;
+my %setlocale_failed;   # List of locales that setlocale() didn't work on
+
 foreach $Locale (@Locale) {
+    $locales_test_number = $first_locales_test_number - 1;
     debug "# Locale = $Locale\n";
-    @Alnum_ = getalnum_();
-    debug "# w = ", join("", at Alnum_), "\n";
 
     unless (setlocale(LC_ALL, $Locale)) {
-	foreach (99..103) {
-	    $Problem{$_}{$Locale} = -1;
-	}
+        $setlocale_failed{$Locale} = $Locale;
 	next;
     }
 
-    # Sieve the uppercase and the lowercase.
-    
+    # We test UTF-8 locales only under ':not_characters'; otherwise they have
+    # documented deficiencies.  Non- UTF-8 locales are tested only under plain
+    # 'use locale', as otherwise we would have to convert everything in them
+    # to Unicode.
+    my $is_utf8_locale = $Locale =~ /UTF-?8/i;
+
     my %UPPER = ();
     my %lower = ();
     my %BoThCaSe = ();
-    for (@Alnum_) {
-	if (/[^\d_]/) { # skip digits and the _
-	    if (uc($_) eq $_) {
-		$UPPER{$_} = $_;
-	    }
-	    if (lc($_) eq $_) {
-		$lower{$_} = $_;
-	    }
-	}
+
+    if (! $is_utf8_locale) {
+        use locale;
+        @Alnum_ = sort grep /\w/, map { chr } 0..255;
+
+        debug "# w = ", join("", at Alnum_), "\n";
+
+        # Sieve the uppercase and the lowercase.
+
+        for (@Alnum_) {
+            if (/[^\d_]/) { # skip digits and the _
+                if (uc($_) eq $_) {
+                    $UPPER{$_} = $_;
+                }
+                if (lc($_) eq $_) {
+                    $lower{$_} = $_;
+                }
+            }
+        }
     }
+    else {
+        use locale ':not_characters';
+        @Alnum_ = sort grep /\w/, map { chr } 0..255;
+        debug "# w = ", join("", at Alnum_), "\n";
+        for (@Alnum_) {
+            if (/[^\d_]/) { # skip digits and the _
+                if (uc($_) eq $_) {
+                    $UPPER{$_} = $_;
+                }
+                if (lc($_) eq $_) {
+                    $lower{$_} = $_;
+                }
+            }
+        }
+    }
     foreach (keys %UPPER) {
 	$BoThCaSe{$_}++ if exists $lower{$_};
     }
@@ -531,15 +768,78 @@
     debug "# lower    = ", join("", sort keys %lower   ), "\n";
     debug "# BoThCaSe = ", join("", sort keys %BoThCaSe), "\n";
 
-    # Find the alphabets that are not alphabets in the default locale.
+    my @failures;
+    my @fold_failures;
+    foreach my $x (sort keys %UPPER) {
+        my $ok;
+        my $fold_ok;
+        if ($is_utf8_locale) {
+            use locale ':not_characters';
+            $ok = $x =~ /[[:upper:]]/;
+            $fold_ok = $x =~ /[[:lower:]]/i;
+        }
+        else {
+            use locale;
+            $ok = $x =~ /[[:upper:]]/;
+            $fold_ok = $x =~ /[[:lower:]]/i;
+        }
+        push @failures, $x unless $ok;
+        push @fold_failures, $x unless $fold_ok;
+    }
+    my $message = "";
+    $locales_test_number++;
+    $first_casing_test_number = $locales_test_number;
+    $test_names{$locales_test_number} = 'Verify that /[[:upper:]]/ matches sieved uppercase characters.';
+    $message = 'Failed for ' . join ", ", @failures if @failures;
+    tryneoalpha($Locale, $locales_test_number, scalar @failures == 0, $message);
 
-    {
+    $message = "";
+    $locales_test_number++;
+
+    $test_names{$locales_test_number} = 'Verify that /[[:lower:]]/i matches sieved uppercase characters.';
+    $message = 'Failed for ' . join ", ", @fold_failures if @fold_failures;
+    tryneoalpha($Locale, $locales_test_number, scalar @fold_failures == 0, $message);
+
+    $message = "";
+    undef @failures;
+    undef @fold_failures;
+
+    foreach my $x (sort keys %lower) {
+        my $ok;
+        my $fold_ok;
+        if ($is_utf8_locale) {
+            use locale ':not_characters';
+            $ok = $x =~ /[[:lower:]]/;
+            $fold_ok = $x =~ /[[:upper:]]/i;
+        }
+        else {
+            use locale;
+            $ok = $x =~ /[[:lower:]]/;
+            $fold_ok = $x =~ /[[:upper:]]/i;
+        }
+        push @failures, $x unless $ok;
+        push @fold_failures, $x unless $fold_ok;
+    }
+
+    $locales_test_number++;
+    $test_names{$locales_test_number} = 'Verify that /[[:lower:]]/ matches sieved lowercase characters.';
+    $message = 'Failed for ' . join ", ", @failures if @failures;
+    tryneoalpha($Locale, $locales_test_number, scalar @failures == 0, $message);
+    $message = "";
+    $locales_test_number++;
+    $final_casing_test_number = $locales_test_number;
+    $test_names{$locales_test_number} = 'Verify that /[[:upper:]]/i matches sieved lowercase characters.';
+    $message = 'Failed for ' . join ", ", @fold_failures if @fold_failures;
+    tryneoalpha($Locale, $locales_test_number, scalar @fold_failures == 0, $message);
+
+    {   # Find the alphabetic characters that are not considered alphabetics
+        # in the default (C) locale.
+
 	no locale;
-    
+
 	@Neoalpha = ();
 	for (keys %UPPER, keys %lower) {
 	    push(@Neoalpha, $_) if (/\W/);
-	    $Neoalpha{$_} = $_;
 	}
     }
 
@@ -547,46 +847,51 @@
 
     debug "# Neoalpha = ", join("", at Neoalpha), "\n";
 
+    my $first_Neoalpha_test_number =  $locales_test_number + 1;
+    my $final_Neoalpha_test_number =  $first_Neoalpha_test_number + 3;
     if (@Neoalpha == 0) {
 	# If we have no Neoalphas the remaining tests are no-ops.
-	debug "# no Neoalpha, skipping tests 99..102 for locale '$Locale'\n";
-	foreach (99..102) {
+	debug "# no Neoalpha, skipping tests $first_Neoalpha_test_number..$final_Neoalpha_test_number for locale '$Locale'\n";
+	foreach ($locales_test_number+1..$final_Neoalpha_test_number) {
 	    push @{$Okay{$_}}, $Locale;
+            $locales_test_number++;
 	}
     } else {
 
 	# Test \w.
-    
+
 	my $word = join('', @Neoalpha);
 
-	my $badutf8;
-	{
-	    local $SIG{__WARN__} = sub {
-		$badutf8 = $_[0] =~ /Malformed UTF-8/;
-	    };
-	    $Locale =~ /utf-?8/i;
-	}
+        ++$locales_test_number;
+        $test_names{$locales_test_number} = 'Verify that alnums outside the C locale match \w';
+        my $ok;
+        if ($is_utf8_locale) {
+            use locale ':not_characters';
+	    $ok = $word =~ /^(\w+)$/;
+        }
+        else {
+            # Already in 'use locale'; this tests that exiting scopes works
+	    $ok = $word =~ /^(\w+)$/;
+        }
+        tryneoalpha($Locale, $locales_test_number, $ok);
 
-	if ($badutf8) {
-	    debug "# Locale name contains bad UTF-8, skipping test 99 for locale '$Locale'\n";
-	} elsif ($Locale =~ /utf-?8/i) {
-	    debug "# unknown whether locale and Unicode have the same \\w, skipping test 99 for locale '$Locale'\n";
-	    push @{$Okay{99}}, $Locale;
-	} else {
-	    if ($word =~ /^(\w+)$/) {
-		tryneoalpha($Locale, 99, 1);
-	    } else {
-		tryneoalpha($Locale, 99, 0);
-	    }
-	}
-
 	# Cross-check the whole 8-bit character set.
 
+        ++$locales_test_number;
+        $test_names{$locales_test_number} = 'Verify that \w and \W are mutually exclusive, as are \d, \D; \s, \S';
 	for (map { chr } 0..255) {
-	    tryneoalpha($Locale, 100,
-			(/\w/ xor /\W/) ||
+            if ($is_utf8_locale) {
+                use locale ':not_characters';
+	        $ok =   (/\w/ xor /\W/) ||
 			(/\d/ xor /\D/) ||
-			(/\s/ xor /\S/));
+			(/\s/ xor /\S/);
+            }
+            else {
+	        $ok =   (/\w/ xor /\W/) ||
+			(/\d/ xor /\D/) ||
+			(/\s/ xor /\S/);
+            }
+	    tryneoalpha($Locale, $locales_test_number, $ok);
 	}
 
 	# Test for read-only scalars' locale vs non-locale comparisons.
@@ -594,10 +899,16 @@
 	{
 	    no locale;
 	    $a = "qwerty";
-	    {
-		use locale;
-		tryneoalpha($Locale, 101, ($a cmp "qwerty") == 0);
-	    }
+            if ($is_utf8_locale) {
+                use locale ':not_characters';
+                $ok = ($a cmp "qwerty") == 0;
+            }
+            else {
+                use locale;
+                $ok = ($a cmp "qwerty") == 0;
+            }
+            tryneoalpha($Locale, ++$locales_test_number, $ok);
+            $test_names{$locales_test_number} = 'Verify that cmp works with a read-only scalar; no- vs locale';
 	}
 
 	{
@@ -604,6 +915,9 @@
 	    my ($from, $to, $lesser, $greater,
 		@test, %test, $test, $yes, $no, $sign);
 
+            ++$locales_test_number;
+            $test_names{$locales_test_number} = 'Verify that "le", "ne", etc work';
+            $not_necessarily_a_problem_test_number = $locales_test_number;
 	    for (0..9) {
 		# Select a slice.
 		$from = int(($_*@Alnum_)/10);
@@ -614,13 +928,22 @@
 		$from++; $to++;
 		$to = $#Alnum_ if ($to > $#Alnum_);
 		$greater = join('', @Alnum_[$from..$to]);
-		($yes, $no, $sign) = ($lesser lt $greater
+                if ($is_utf8_locale) {
+                    use locale ':not_characters';
+                    ($yes, $no, $sign) = ($lesser lt $greater
 				      ? ("    ", "not ", 1)
 				      : ("not ", "    ", -1));
+                }
+                else {
+                    use locale;
+                    ($yes, $no, $sign) = ($lesser lt $greater
+				      ? ("    ", "not ", 1)
+				      : ("not ", "    ", -1));
+                }
 		# all these tests should FAIL (return 0).
 		# Exact lt or gt cannot be tested because
 		# in some locales, say, eacute and E may test equal.
-		@test = 
+		@test =
 		    (
 		     $no.'    ($lesser  le $greater)',  # 1
 		     'not      ($lesser  ne $greater)', # 2
@@ -636,10 +959,17 @@
 		@test{@test} = 0 x @test;
 		$test = 0;
 		for my $ti (@test) {
-		    $test{$ti} = eval $ti;
+                    if ($is_utf8_locale) {
+                        use locale ':not_characters';
+                        $test{$ti} = eval $ti;
+                    }
+                    else {
+                        # Already in 'use locale';
+                        $test{$ti} = eval $ti;
+                    }
 		    $test ||= $test{$ti}
 		}
-		tryneoalpha($Locale, 102, $test == 0);
+                tryneoalpha($Locale, $locales_test_number, $test == 0);
 		if ($test) {
 		    debug "# lesser  = '$lesser'\n";
 		    debug "# greater = '$greater'\n";
@@ -663,78 +993,194 @@
 	}
     }
 
-    use locale;
+    if ($locales_test_number != $final_Neoalpha_test_number) {
+        die("The delta for \$final_Neoalpha needs to be updated from "
+            . ($final_Neoalpha_test_number - $first_Neoalpha_test_number)
+            . " to "
+            . ($locales_test_number - $first_Neoalpha_test_number)
+            );
+    }
 
-    my ($x, $y) = (1.23, 1.23);
+    my $ok1;
+    my $ok2;
+    my $ok3;
+    my $ok4;
+    my $ok5;
+    my $ok6;
+    my $ok7;
+    my $ok8;
+    my $ok9;
+    my $ok10;
+    my $ok11;
+    my $ok12;
+    my $ok13;
 
-    $a = "$x";
-    printf ''; # printf used to reset locale to "C"
-    $b = "$y";
+    my $c;
+    my $d;
+    my $e;
+    my $f;
+    my $g;
 
-    debug "# 103..107: a = $a, b = $b, Locale = $Locale\n";
+    if (! $is_utf8_locale) {
+        use locale;
 
-    tryneoalpha($Locale, 103, $a eq $b);
+        my ($x, $y) = (1.23, 1.23);
 
-    my $c = "$x";
-    my $z = sprintf ''; # sprintf used to reset locale to "C"
-    my $d = "$y";
+        $a = "$x";
+        printf ''; # printf used to reset locale to "C"
+        $b = "$y";
+        $ok1 = $a eq $b;
 
-    debug "# 104..107: c = $c, d = $d, Locale = $Locale\n";
+        $c = "$x";
+        my $z = sprintf ''; # sprintf used to reset locale to "C"
+        $d = "$y";
+        $ok2 = $c eq $d;
+        {
 
-    tryneoalpha($Locale, 104, $c eq $d); 
+            use warnings;
+            my $w = 0;
+            local $SIG{__WARN__} =
+                sub {
+                    print "# @_\n";
+                    $w++;
+                };
 
-    {
-	use warnings;
-	my $w = 0;
-	local $SIG{__WARN__} =
-	    sub {
-		print "# @_\n";
-		$w++;
-	    };
+            # The == (among other ops) used to warn for locales
+            # that had something else than "." as the radix character.
 
-	# The == (among other ops) used to warn for locales
-	# that had something else than "." as the radix character.
+            $ok3 = $c == 1.23;
+            $ok4 = $c == $x;
+            $ok5 = $c == $d;
+            {
+                no locale;
 
-	tryneoalpha($Locale, 105, $c == 1.23);
+                # The earlier test was $e = "$x".  But this fails [perl
+                # #108378], and the "no locale" was commented out.  But doing
+                # that made all the tests in the block after this one
+                # meaningless, as originally it was testing the nesting of a
+                # "no locale" scope, and how it recovers after that scope is
+                # done.  So I (khw) filed a bug report and changed this so it
+                # wouldn't fail.  It seemed too much work to add TODOs
+                # instead.  Should this be fixed, the following test names
+                # would need to be revised; they mostly don't really test
+                # anything currently.
+                $e = $x;
 
-	tryneoalpha($Locale, 106, $c == $x);
+                $ok6 = $e == 1.23;
+                $ok7 = $e == $x;
+                $ok8 = $e == $c;
+            }
 
-	tryneoalpha($Locale, 107, $c == $d);
+            $f = "1.23";
+            $g = 2.34;
 
-	{
-#	    no locale; # XXX did this ever work correctly?
-	
-	    my $e = "$x";
+            $ok9 = $f == 1.23;
+            $ok10 = $f == $x;
+            $ok11 = $f == $c;
+            $ok12 = abs(($f + $g) - 3.57) < 0.01;
+            $ok13 = $w == 0;
+        }
+    }
+    else {
+        use locale ':not_characters';
 
-	    debug "# 108..110: e = $e, Locale = $Locale\n";
+        my ($x, $y) = (1.23, 1.23);
+        $a = "$x";
+        printf ''; # printf used to reset locale to "C"
+        $b = "$y";
+        $ok1 = $a eq $b;
 
-	    tryneoalpha($Locale, 108, $e == 1.23);
+        $c = "$x";
+        my $z = sprintf ''; # sprintf used to reset locale to "C"
+        $d = "$y";
+        $ok2 = $c eq $d;
+        {
+            use warnings;
+            my $w = 0;
+            local $SIG{__WARN__} =
+                sub {
+                    print "# @_\n";
+                    $w++;
+                };
+            $ok3 = $c == 1.23;
+            $ok4 = $c == $x;
+            $ok5 = $c == $d;
+            {
+                no locale;
+                $e = $x;
 
-	    tryneoalpha($Locale, 109, $e == $x);
-	    
-	    tryneoalpha($Locale, 110, $e == $c);
-	}
-	
-	my $f = "1.23";
-	my $g = 2.34;
+                $ok6 = $e == 1.23;
+                $ok7 = $e == $x;
+                $ok8 = $e == $c;
+            }
 
-	debug "# 111..115: f = $f, g = $g, locale = $Locale\n";
+            $f = "1.23";
+            $g = 2.34;
 
-	tryneoalpha($Locale, 111, $f == 1.23);
+            $ok9 = $f == 1.23;
+            $ok10 = $f == $x;
+            $ok11 = $f == $c;
+            $ok12 = abs(($f + $g) - 3.57) < 0.01;
+            $ok13 = $w == 0;
+        }
+    }
 
-	tryneoalpha($Locale, 112, $f == $x);
-	
-	tryneoalpha($Locale, 113, $f == $c);
+    tryneoalpha($Locale, ++$locales_test_number, $ok1);
+    $test_names{$locales_test_number} = 'Verify that an intervening printf doesn\'t change assignment results';
+    my $first_a_test = $locales_test_number;
 
-	tryneoalpha($Locale, 114, abs(($f + $g) - 3.57) < 0.01);
+    debug "# $first_a_test..$locales_test_number: \$a = $a, \$b = $b, Locale = $Locale\n";
 
-	tryneoalpha($Locale, 115, $w == 0);
-    }
+    tryneoalpha($Locale, ++$locales_test_number, $ok2);
+    $test_names{$locales_test_number} = 'Verify that an intervening sprintf doesn\'t change assignment results';
 
+    my $first_c_test = $locales_test_number;
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok3);
+    $test_names{$locales_test_number} = 'Verify that a different locale radix works when doing "==" with a constant';
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok4);
+    $test_names{$locales_test_number} = 'Verify that a different locale radix works when doing "==" with a scalar';
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok5);
+    $test_names{$locales_test_number} = 'Verify that a different locale radix works when doing "==" with a scalar and an intervening sprintf';
+
+    debug "# $first_c_test..$locales_test_number: \$c = $c, \$d = $d, Locale = $Locale\n";
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok6);
+    $test_names{$locales_test_number} = 'Verify that can assign numerically under inner no-locale block';
+    my $first_e_test = $locales_test_number;
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok7);
+    $test_names{$locales_test_number} = 'Verify that "==" with a scalar still works in inner no locale';
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok8);
+    $test_names{$locales_test_number} = 'Verify that "==" with a scalar and an intervening sprintf still works in inner no locale';
+
+    debug "# $first_e_test..$locales_test_number: \$e = $e, no locale\n";
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok9);
+    $test_names{$locales_test_number} = 'Verify that after a no-locale block, a different locale radix still works when doing "==" with a constant';
+    my $first_f_test = $locales_test_number;
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok10);
+    $test_names{$locales_test_number} = 'Verify that after a no-locale block, a different locale radix still works when doing "==" with a scalar';
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok11);
+    $test_names{$locales_test_number} = 'Verify that after a no-locale block, a different locale radix still works when doing "==" with a scalar and an intervening sprintf';
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok12);
+    $test_names{$locales_test_number} = 'Verify that after a no-locale block, a different locale radix can participate in an addition and function call as numeric';
+
+    tryneoalpha($Locale, ++$locales_test_number, $ok13);
+    $test_names{$locales_test_number} = 'Verify that don\'t get warning under "==" even if radix is not a dot';
+
+    debug "# $first_f_test..$locales_test_number: \$f = $f, \$g = $g, back to locale = $Locale\n";
+
     # Does taking lc separately differ from taking
     # the lc "in-line"?  (This was the bug 19990704.002, change #3568.)
     # The bug was in the caching of the 'o'-magic.
-    {
+    if (! $is_utf8_locale) {
 	use locale;
 
 	sub lcA {
@@ -751,11 +1197,33 @@
         my $y = "aa";
         my $z = "AB";
 
-        tryneoalpha($Locale, 116,
+        tryneoalpha($Locale, ++$locales_test_number,
 		    lcA($x, $y) == 1 && lcB($x, $y) == 1 ||
 		    lcA($x, $z) == 0 && lcB($x, $z) == 0);
     }
+    else {
+	use locale ':not_characters';
 
+	sub lcC {
+	    my $lc0 = lc $_[0];
+	    my $lc1 = lc $_[1];
+	    return $lc0 cmp $lc1;
+	}
+
+        sub lcD {
+	    return lc($_[0]) cmp lc($_[1]);
+	}
+
+        my $x = "ab";
+        my $y = "aa";
+        my $z = "AB";
+
+        tryneoalpha($Locale, ++$locales_test_number,
+		    lcC($x, $y) == 1 && lcD($x, $y) == 1 ||
+		    lcC($x, $z) == 0 && lcD($x, $z) == 0);
+    }
+    $test_names{$locales_test_number} = 'Verify "lc(foo) cmp lc(bar)" is the same as using intermediaries for the cmp';
+
     # Does lc of an UPPER (if different from the UPPER) match
     # case-insensitively the UPPER, and does the UPPER match
     # case-insensitively the lc of the UPPER.  And vice versa.
@@ -765,78 +1233,175 @@
         my $re = qr/[\[\(\{\*\+\?\|\^\$\\]/;
 
         my @f = ();
-        foreach my $x (keys %UPPER) {
-	    my $y = lc $x;
-	    next unless uc $y eq $x;
-	    print "# UPPER $x lc $y ",
-	    $x =~ /$y/i ? 1 : 0, " ",
-	    $y =~ /$x/i ? 1 : 0, "\n" if 0;
-	    #
-	    # If $x and $y contain regular expression characters
-	    # AND THEY lowercase (/i) to regular expression characters,
-	    # regcomp() will be mightily confused.  No, the \Q doesn't
-	    # help here (maybe regex engine internal lowercasing
-	    # is done after the \Q?)  An example of this happening is
-	    # the bg_BG (Bulgarian) locale under EBCDIC (OS/390 USS):
-	    # the chr(173) (the "[") is the lowercase of the chr(235).
-	    #
-	    # Similarly losing EBCDIC locales include cs_cz, cs_CZ,
-	    # el_gr, el_GR, en_us.IBM-037 (!), en_US.IBM-037 (!),
-	    # et_ee, et_EE, hr_hr, hr_HR, hu_hu, hu_HU, lt_LT,
-	    # mk_mk, mk_MK, nl_nl.IBM-037, nl_NL.IBM-037,
-	    # pl_pl, pl_PL, ro_ro, ro_RO, ru_ru, ru_RU,
-	    # sk_sk, sk_SK, sl_si, sl_SI, tr_tr, tr_TR.
-	    #
-	    # Similar things can happen even under (bastardised)
-	    # non-EBCDIC locales: in many European countries before the
-	    # advent of ISO 8859-x nationally customised versions of
-	    # ISO 646 were devised, reusing certain punctuation
-	    # characters for modified characters needed by the
-	    # country/language.  For example, the "|" might have
-	    # stood for U+00F6 or LATIN SMALL LETTER O WITH DIAERESIS.
-	    #
-	    if ($x =~ $re || $y =~ $re) {
-		print "# Regex characters in '$x' or '$y', skipping test 117 for locale '$Locale'\n";
-		next;
-	    }
-	    # With utf8 both will fail since the locale concept
-	    # of upper/lower does not work well in Unicode.
-	    push @f, $x unless $x =~ /$y/i == $y =~ /$x/i;
+        ++$locales_test_number;
+        $test_names{$locales_test_number} = 'Verify case insensitive matching works';
+        foreach my $x (sort keys %UPPER) {
+            if (! $is_utf8_locale) {
+                my $y = lc $x;
+                next unless uc $y eq $x;
+                print "# UPPER $x lc $y ",
+                        $x =~ /$y/i ? 1 : 0, " ",
+                        $y =~ /$x/i ? 1 : 0, "\n" if 0;
+                #
+                # If $x and $y contain regular expression characters
+                # AND THEY lowercase (/i) to regular expression characters,
+                # regcomp() will be mightily confused.  No, the \Q doesn't
+                # help here (maybe regex engine internal lowercasing
+                # is done after the \Q?)  An example of this happening is
+                # the bg_BG (Bulgarian) locale under EBCDIC (OS/390 USS):
+                # the chr(173) (the "[") is the lowercase of the chr(235).
+                #
+                # Similarly losing EBCDIC locales include cs_cz, cs_CZ,
+                # el_gr, el_GR, en_us.IBM-037 (!), en_US.IBM-037 (!),
+                # et_ee, et_EE, hr_hr, hr_HR, hu_hu, hu_HU, lt_LT,
+                # mk_mk, mk_MK, nl_nl.IBM-037, nl_NL.IBM-037,
+                # pl_pl, pl_PL, ro_ro, ro_RO, ru_ru, ru_RU,
+                # sk_sk, sk_SK, sl_si, sl_SI, tr_tr, tr_TR.
+                #
+                # Similar things can happen even under (bastardised)
+                # non-EBCDIC locales: in many European countries before the
+                # advent of ISO 8859-x nationally customised versions of
+                # ISO 646 were devised, reusing certain punctuation
+                # characters for modified characters needed by the
+                # country/language.  For example, the "|" might have
+                # stood for U+00F6 or LATIN SMALL LETTER O WITH DIAERESIS.
+                #
+                if ($x =~ $re || $y =~ $re) {
+                    print "# Regex characters in '$x' or '$y', skipping test $locales_test_number for locale '$Locale'\n";
+                    next;
+                }
+                # With utf8 both will fail since the locale concept
+                # of upper/lower does not work well in Unicode.
+                push @f, $x unless $x =~ /$y/i == $y =~ /$x/i;
+
+                # fc is not a locale concept, so Perl uses lc for it.
+                push @f, $x unless lc $x eq fc $x;
+            }
+            else {
+                use locale ':not_characters';
+                my $y = lc $x;
+                next unless uc $y eq $x;
+                print "# UPPER $x lc $y ",
+                        $x =~ /$y/i ? 1 : 0, " ",
+                        $y =~ /$x/i ? 1 : 0, "\n" if 0;
+
+                # Here, we can fully test things, unlike plain 'use locale',
+                # because this form does work well with Unicode
+                push @f, $x unless $x =~ /$y/i && $y =~ /$x/i;
+
+                # The places where Unicode's lc is different from fc are
+                # skipped here by virtue of the 'next unless uc...' line above
+                push @f, $x unless lc $x eq fc $x;
+            }
         }
 
-	foreach my $x (keys %lower) {
-	    my $y = uc $x;
-	    next unless lc $y eq $x;
-	    print "# lower $x uc $y ",
-	    $x =~ /$y/i ? 1 : 0, " ",
-	    $y =~ /$x/i ? 1 : 0, "\n" if 0;
-	    if ($x =~ $re || $y =~ $re) { # See above.
-		print "# Regex characters in '$x' or '$y', skipping test 117 for locale '$Locale'\n";
-		next;
-	    }
-	    # With utf8 both will fail since the locale concept
-	    # of upper/lower does not work well in Unicode.
-	    push @f, $x unless $x =~ /$y/i == $y =~ /$x/i;
+	foreach my $x (sort keys %lower) {
+            if (! $is_utf8_locale) {
+                my $y = uc $x;
+                next unless lc $y eq $x;
+                print "# lower $x uc $y ",
+                    $x =~ /$y/i ? 1 : 0, " ",
+                    $y =~ /$x/i ? 1 : 0, "\n" if 0;
+                if ($x =~ $re || $y =~ $re) { # See above.
+                    print "# Regex characters in '$x' or '$y', skipping test $locales_test_number for locale '$Locale'\n";
+                    next;
+                }
+                # With utf8 both will fail since the locale concept
+                # of upper/lower does not work well in Unicode.
+                push @f, $x unless $x =~ /$y/i == $y =~ /$x/i;
+
+                push @f, $x unless lc $x eq fc $x;
+            }
+            else {
+                use locale ':not_characters';
+                my $y = uc $x;
+                next unless lc $y eq $x;
+                print "# lower $x uc $y ",
+                        $x =~ /$y/i ? 1 : 0, " ",
+                        $y =~ /$x/i ? 1 : 0, "\n" if 0;
+                push @f, $x unless $x =~ /$y/i && $y =~ /$x/i;
+
+                push @f, $x unless lc $x eq fc $x;
+            }
 	}
-	tryneoalpha($Locale, 117, @f == 0);
+	tryneoalpha($Locale, $locales_test_number, @f == 0);
 	if (@f) {
-	    print "# failed 117 locale '$Locale' characters @f\n"
+	    print "# failed $locales_test_number locale '$Locale' characters @f\n"
 	}
     }
+
+    # [perl #109318]
+    {
+        my @f = ();
+        ++$locales_test_number;
+        $test_names{$locales_test_number} = 'Verify atof with locale radix and negative exponent';
+
+        my $radix = POSIX::localeconv()->{decimal_point};
+        my @nums = (
+             "3.14e+9",  "3${radix}14e+9",  "3.14e-9",  "3${radix}14e-9",
+            "-3.14e+9", "-3${radix}14e+9", "-3.14e-9", "-3${radix}14e-9",
+        );
+
+        if (! $is_utf8_locale) {
+            use locale;
+            for my $num (@nums) {
+                push @f, $num
+                    unless sprintf("%g", $num) =~ /3.+14/;
+            }
+        }
+        else {
+            use locale ':not_characters';
+            for my $num (@nums) {
+                push @f, $num
+                    unless sprintf("%g", $num) =~ /3.+14/;
+            }
+        }
+
+	tryneoalpha($Locale, $locales_test_number, @f == 0);
+	if (@f) {
+	    print "# failed $locales_test_number locale '$Locale' numbers @f\n"
+	}
+    }
 }
 
+my $final_locales_test_number = $locales_test_number;
+
 # Recount the errors.
 
-foreach (&last_without_setlocale()+1..$last) {
-    if ($Problem{$_} || !defined $Okay{$_} || !@{$Okay{$_}}) {
-	if ($_ == 102) {
-	    print "# The failure of test 102 is not necessarily fatal.\n";
+foreach ($first_locales_test_number..$final_locales_test_number) {
+    if (%setlocale_failed) {
+        print "not ";
+    }
+    elsif ($Problem{$_} || !defined $Okay{$_} || !@{$Okay{$_}}) {
+	if (defined $not_necessarily_a_problem_test_number
+            && $_ == $not_necessarily_a_problem_test_number)
+        {
+	    print "# The failure of test $not_necessarily_a_problem_test_number is not necessarily fatal.\n";
 	    print "# It usually indicates a problem in the environment,\n";
 	    print "# not in Perl itself.\n";
 	}
+        if ($Okay{$_} && ($_ >= $first_casing_test_number
+                          && $_ <= $final_casing_test_number))
+        {
+            my $percent_fail = int(.5 + (100 * scalar(keys $Problem{$_})
+                                             / scalar(@{$Okay{$_}})));
+            if ($percent_fail < $acceptable_fold_failure_percentage) {
+                $test_names{$_} .= 'TODO';
+                print "# ", 100 - $percent_fail, "% of locales pass the following test, so it is likely that the failures\n";
+                print "# are errors in the locale definitions.  The test is marked TODO, as the\n";
+                print "# problem is not likely to be Perl's\n";
+            }
+        }
 	print "not ";
     }
-    print "ok $_\n";
+    print "ok $_";
+    if (defined $test_names{$_}) {
+        # If TODO is in the test name, make it thus
+        my $todo = $test_names{$_} =~ s/TODO\s*//;
+        print " $test_names{$_}";
+        print " # TODO" if $todo;
+    }
+    print "\n";
 }
 
 # Give final advice.
@@ -843,7 +1408,7 @@
 
 my $didwarn = 0;
 
-foreach (99..$last) {
+foreach ($first_locales_test_number..$final_locales_test_number) {
     if ($Problem{$_}) {
 	my @f = sort keys %{ $Problem{$_} };
 	my $f = join(" ", @f);
@@ -872,16 +1437,23 @@
 
 if ($didwarn) {
     my (@s, @F);
-    
+
     foreach my $l (@Locale) {
 	my $p = 0;
-	foreach my $t (102..$last) {
-	    $p++ if $Problem{$t}{$l};
+        if ($setlocale_failed{$l}) {
+            $p++;
+        }
+        else {
+            foreach my $t
+                        ($first_locales_test_number..$final_locales_test_number)
+            {
+                $p++ if $Problem{$t}{$l};
+            }
 	}
 	push @s, $l if $p == 0;
-      push @F, $l unless $p == 0;
+        push @F, $l unless $p == 0;
     }
-    
+
     if (@s) {
         my $s = join(" ", @s);
         $s =~ s/(.{50,60}) /$1\n#\t/g;
@@ -905,19 +1477,127 @@
     } else {
         warn "# None of your locales were broken.\n";
     }
+}
 
-    if (@utf8locale) {
-        my $S = join(" ", @utf8locale);
-        $S =~ s/(.{50,60}) /$1\n#\t/g;
-    
-        warn "#\n# The following locales\n#\n",
-             "#\t", $S, "\n#\n",
-             "# were skipped for the tests ",
-             join(" ", sort {$a<=>$b} keys %utf8skip), "\n",
-            "# because UTF-8 and locales do not work together in Perl.\n#\n";
+$test_num = $final_locales_test_number;
+
+# Test that tainting and case changing works on utf8 strings.  These tests are
+# placed last to avoid disturbing the hard-coded test numbers that existed at
+# the time these were added above this in this file.
+# This also tests that locale overrides unicode_strings in the same scope for
+# non-utf8 strings.
+setlocale(LC_ALL, "C");
+{
+    use locale;
+    use feature 'unicode_strings';
+
+    foreach my $function ("uc", "ucfirst", "lc", "lcfirst", "fc") {
+        my @list;   # List of code points to test for $function
+
+        # Used to calculate the changed case for ASCII characters by using the
+        # ord, instead of using one of the functions under test.
+        my $ascii_case_change_delta;
+        my $above_latin1_case_change_delta; # Same for the specific ords > 255
+                                            # that we use
+
+        # We test an ASCII character, which should change case and be tainted;
+        # a Latin1 character, which shouldn't change case under this C locale,
+        #   and is tainted.
+        # an above-Latin1 character that when the case is changed would cross
+        #   the 255/256 boundary, so doesn't change case and isn't tainted
+        # (the \x{149} is one of these, but changes into 2 characters, the
+        #   first one of which doesn't cross the boundary.
+        # the final one in each list is an above-Latin1 character whose case
+        #   does change, and shouldn't be tainted.  The code below uses its
+        #   position in its list as a marker to indicate that it, unlike the
+        #   other code points above ASCII, has a successful case change
+        if ($function =~ /^u/) {
+            @list = ("", "a", "\xe0", "\xff", "\x{fb00}", "\x{149}", "\x{101}");
+            $ascii_case_change_delta = -32;
+            $above_latin1_case_change_delta = -1;
+        }
+        else {
+            @list = ("", "A", "\xC0", "\x{1E9E}", "\x{100}");
+            $ascii_case_change_delta = +32;
+            $above_latin1_case_change_delta = +1;
+        }
+        foreach my $is_utf8_locale (0 .. 1) {
+            foreach my $j (0 .. $#list) {
+                my $char = $list[$j];
+
+                for my $encoded_in_utf8 (0 .. 1) {
+                    my $should_be;
+                    my $changed;
+                    if (! $is_utf8_locale) {
+                        $should_be = ($j == $#list)
+                            ? chr(ord($char) + $above_latin1_case_change_delta)
+                            : (length $char == 0 || ord($char) > 127)
+                            ? $char
+                            : chr(ord($char) + $ascii_case_change_delta);
+
+                        # This monstrosity is in order to avoid using an eval,
+                        # which might perturb the results
+                        $changed = ($function eq "uc")
+                                    ? uc($char)
+                                    : ($function eq "ucfirst")
+                                      ? ucfirst($char)
+                                      : ($function eq "lc")
+                                        ? lc($char)
+                                        : ($function eq "lcfirst")
+                                          ? lcfirst($char)
+                                          : ($function eq "fc")
+                                            ? fc($char)
+                                            : die("Unexpected function \"$function\"");
+                    }
+                    else {
+                        {
+                            no locale;
+
+                            # For utf8-locales the case changing functions
+                            # should work just like they do outside of locale.
+                            # Can use eval here because not testing it when
+                            # not in locale.
+                            $should_be = eval "$function('$char')";
+                            die "Unexpected eval error $@ from 'eval \"$function('$char')\"'" if  $@;
+
+                        }
+                        use locale ':not_characters';
+                        $changed = ($function eq "uc")
+                                    ? uc($char)
+                                    : ($function eq "ucfirst")
+                                      ? ucfirst($char)
+                                      : ($function eq "lc")
+                                        ? lc($char)
+                                        : ($function eq "lcfirst")
+                                          ? lcfirst($char)
+                                          : ($function eq "fc")
+                                            ? fc($char)
+                                            : die("Unexpected function \"$function\"");
+                    }
+                    ok($changed eq $should_be,
+                        "$function(\"$char\") in C locale "
+                        . (($is_utf8_locale)
+                            ? "(use locale ':not_characters'"
+                            : "(use locale")
+                        . (($encoded_in_utf8)
+                            ? "; encoded in utf8)"
+                            : "; not encoded in utf8)")
+                        . " should be \"$should_be\", got \"$changed\"");
+
+                    # Tainting shouldn't happen for utf8 locales, empty
+                    # strings, or those characters above 255.
+                    (! $is_utf8_locale && length($char) > 0 && ord($char) < 256)
+                    ? check_taint($changed)
+                    : check_taint_not($changed);
+
+                    # Use UTF-8 next time through the loop
+                    utf8::upgrade($char);
+                }
+            }
+        }
     }
 }
 
-sub last { 117 }
+print "1..$test_num\n";
 
 # eof


Property changes on: vendor/perl/dist/lib/locale.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/look.pl
===================================================================
--- vendor/perl/dist/lib/look.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/look.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/look.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/mro.pm
===================================================================
--- vendor/perl/dist/lib/mro.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/mro.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/mro.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/newgetopt.pl
===================================================================
--- vendor/perl/dist/lib/newgetopt.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/newgetopt.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/newgetopt.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/open.pm
===================================================================
--- vendor/perl/dist/lib/open.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/open.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 package open;
 use warnings;
 
-our $VERSION = '1.08';
+our $VERSION = '1.10';
 
 require 5.008001; # for PerlIO::get_layers()
 
@@ -95,16 +95,22 @@
 	    }
 	}
 	if ($type eq 'IN') {
-	    _drop_oldenc(*STDIN, @val);
+	    _drop_oldenc(*STDIN, @val) if $std;
 	    $in  = join(' ', @val);
 	}
 	elsif ($type eq 'OUT') {
-	    _drop_oldenc(*STDOUT, @val);
+	    if ($std) {
+		_drop_oldenc(*STDOUT, @val);
+		_drop_oldenc(*STDERR, @val);
+	    }
 	    $out = join(' ', @val);
 	}
 	elsif ($type eq 'IO') {
-	    _drop_oldenc(*STDIN,  @val);
-	    _drop_oldenc(*STDOUT, @val);
+	    if ($std) {
+		_drop_oldenc(*STDIN, @val);
+		_drop_oldenc(*STDOUT, @val);
+		_drop_oldenc(*STDERR, @val);
+	    }
 	    $in = $out = join(' ', @val);
 	}
 	else {
@@ -207,7 +213,9 @@
 details and the list of supported locales.
 
 When open() is given an explicit list of layers (with the three-arg
-syntax), they override the list declared using this pragma.
+syntax), they override the list declared using this pragma.  open() can
+also be given a single colon (:) for a layer name, to override this pragma
+and use the default (C<:raw> on Unix, C<:crlf> on Windows).
 
 The C<:std> subpragma on its own has no effect, but if combined with
 the C<:utf8> or C<:encoding> subpragmas, it converts the standard


Property changes on: vendor/perl/dist/lib/open.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/open.t
===================================================================
--- vendor/perl/dist/lib/open.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/open.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,9 +4,10 @@
 	chdir 't' if -d 't';
 	@INC = '../lib';
 	require Config; import Config;
+	require './test.pl';
 }
 
-use Test::More tests => 23;
+plan 23;
 
 # open::import expects 'open' as its first argument, but it clashes with open()
 sub import {
@@ -185,13 +186,26 @@
 
     eval q[use Encode::Alias;use open ":std", ":locale"];
     is($@, '', 'can use :std and :locale');
+}
 
-    use open IN => ':non-existent';
-    eval {
-	require Symbol; # Anything that exists but we havn't loaded
-    };
-    like($@, qr/Can't locate Symbol|Recursive call/i,
-	 "test for an endless loop in PerlIO_find_layer");
+{
+    local $ENV{PERL_UNICODE};
+    delete $ENV{PERL_UNICODE};
+    is runperl(
+         progs => [
+            'use open q\:encoding(UTF-8)\, q-:std-;',
+            'use open q\:encoding(UTF-8)\;',
+            'if(($_ = <STDIN>) eq qq-\x{100}\n-) { print qq-stdin ok\n- }',
+            'else { print qq-got -, join(q q q, map ord, split//), "\n" }',
+            'print STDOUT qq-\x{ff}\n-;',
+            'print STDERR qq-\x{ff}\n-;',
+         ],
+         stdin => "\xc4\x80\n",
+         stderr => 1,
+       ),
+       "stdin ok\n\xc3\xbf\n\xc3\xbf\n",
+       "use open without :std does not affect standard handles",
+    ;
 }
 
 END {


Property changes on: vendor/perl/dist/lib/open.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/open2.pl
===================================================================
--- vendor/perl/dist/lib/open2.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/open2.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/open2.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/open3.pl
===================================================================
--- vendor/perl/dist/lib/open3.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/open3.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/open3.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/overload/numbers.pm
===================================================================
--- vendor/perl/dist/lib/overload/numbers.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/overload/numbers.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -82,7 +82,6 @@
     (~~
     (-X
     (qr
-    DESTROY
 #;
 
 our @enums = qw#
@@ -154,7 +153,6 @@
     smart
     ftest
     regexp
-    DESTROY
 #;
 
 { my $i = 0; our %names = map { $_ => $i++ } @names }


Property changes on: vendor/perl/dist/lib/overload/numbers.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/overload.pm
===================================================================
--- vendor/perl/dist/lib/overload.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/overload.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,30 @@
 package overload;
 
-our $VERSION = '1.13';
+our $VERSION = '1.22';
 
+%ops = (
+    with_assign         => "+ - * / % ** << >> x .",
+    assign              => "+= -= *= /= %= **= <<= >>= x= .=",
+    num_comparison      => "< <= >  >= == !=",
+    '3way_comparison'   => "<=> cmp",
+    str_comparison      => "lt le gt ge eq ne",
+    binary              => '& &= | |= ^ ^=',
+    unary               => "neg ! ~",
+    mutators            => '++ --',
+    func                => "atan2 cos sin exp abs log sqrt int",
+    conversion          => 'bool "" 0+ qr',
+    iterators           => '<>',
+    filetest            => "-X",
+    dereferencing       => '${} @{} %{} &{} *{}',
+    matching            => '~~',
+    special             => 'nomethod fallback =',
+);
+
+my %ops_seen;
+for $category (keys %ops) {
+    $ops_seen{$_}++ for (split /\s+/, $ops{$category});
+}
+
 sub nil {}
 
 sub OVERLOAD {
@@ -8,23 +31,25 @@
   $package = shift;
   my %arg = @_;
   my ($sub, $fb);
-  $ {$package . "::OVERLOAD"}{dummy}++; # Register with magic by touching.
-  $fb = ${$package . "::()"}; # preserve old fallback value RT#68196
-  *{$package . "::()"} = \&nil; # Make it findable via fetchmethod.
+  *{$package . "::(("} = \&nil; # Make it findable via fetchmethod.
   for (keys %arg) {
     if ($_ eq 'fallback') {
-      $fb = $arg{$_};
+      for my $sym (*{$package . "::()"}) {
+	*$sym = \&nil; # Make it findable via fetchmethod.
+	$$sym = $arg{$_};
+      }
     } else {
+      warnings::warnif("overload arg '$_' is invalid")
+        unless $ops_seen{$_};
       $sub = $arg{$_};
-      if (not ref $sub and $sub !~ /::/) {
+      if (not ref $sub) {
 	$ {$package . "::(" . $_} = $sub;
 	$sub = \&nil;
       }
-      #print STDERR "Setting `$ {'package'}::\cO$_' to \\&`$sub'.\n";
+      #print STDERR "Setting '$ {'package'}::\cO$_' to \\&'$sub'.\n";
       *{$package . "::(" . $_} = \&{ $sub };
     }
   }
-  ${$package . "::()"} = $fb; # Make it findable too (fallback only).
 }
 
 sub import {
@@ -36,14 +61,12 @@
 
 sub unimport {
   $package = (caller())[0];
-  ${$package . "::OVERLOAD"}{dummy}++; # Upgrade the table
   shift;
+  *{$package . "::(("} = \&nil;
   for (@_) {
-    if ($_ eq 'fallback') {
-      undef $ {$package . "::()"};
-    } else {
-      delete $ {$package . "::"}{"(" . $_};
-    }
+      warnings::warnif("overload arg '$_' is invalid")
+        unless $ops_seen{$_};
+      delete $ {$package . "::"}{$_ eq 'fallback' ? '()' : "(" .$_};
   }
 }
 
@@ -50,7 +73,7 @@
 sub Overloaded {
   my $package = shift;
   $package = ref $package if ref $package;
-  $package->can('()');
+  mycan ($package, '()') || mycan ($package, '((');
 }
 
 sub ov_method {
@@ -57,9 +80,8 @@
   my $globref = shift;
   return undef unless $globref;
   my $sub = \&{*$globref};
-  require Scalar::Util;
-  return $sub
-    if Scalar::Util::refaddr($sub) != Scalar::Util::refaddr(\&nil);
+  no overloading;
+  return $sub if !ref $sub or $sub != \&nil;
   return shift->can($ {*$globref});
 }
 
@@ -89,17 +111,8 @@
 }
 
 sub AddrRef {
-  my $package = ref $_[0];
-  return "$_[0]" unless $package;
-
-  local $@;
-  local $!;
-  require Scalar::Util;
-  my $class = Scalar::Util::blessed($_[0]);
-  my $class_prefix = defined($class) ? "$class=" : "";
-  my $type = Scalar::Util::reftype($_[0]);
-  my $addr = Scalar::Util::refaddr($_[0]);
-  return sprintf("%s%s(0x%x)", $class_prefix, $type, $addr);
+  no overloading;
+  "$_[0]";
 }
 
 *StrVal = *AddrRef;
@@ -128,22 +141,6 @@
 	      'qr'	  => 0x10000, # HINT_NEW_RE
 	     );
 
-%ops = ( with_assign	  => "+ - * / % ** << >> x .",
-	 assign		  => "+= -= *= /= %= **= <<= >>= x= .=",
-	 num_comparison	  => "< <= >  >= == !=",
-	 '3way_comparison'=> "<=> cmp",
-	 str_comparison	  => "lt le gt ge eq ne",
-	 binary		  => '& &= | |= ^ ^=',
-	 unary		  => "neg ! ~",
-	 mutators	  => '++ --',
-	 func		  => "atan2 cos sin exp abs log sqrt int",
-	 conversion	  => 'bool "" 0+ qr',
-	 iterators	  => '<>',
-         filetest         => "-X",
-	 dereferencing	  => '${} @{} %{} &{} *{}',
-	 matching	  => '~~',
-	 special	  => 'nomethod fallback =');
-
 use warnings::register;
 sub constant {
   # Arguments: what, sub
@@ -153,7 +150,7 @@
         last;
     }
     elsif (!exists $constants {$_ [0]}) {
-        warnings::warnif ("`$_[0]' is not an overloadable type");
+        warnings::warnif ("'$_[0]' is not an overloadable type");
     }
     elsif (!ref $_ [1] || "$_[1]" !~ /(^|=)CODE\(0x[0-9a-f]+\)$/) {
         # Can't use C<ref $_[1] eq "CODE"> above as code references can be
@@ -160,7 +157,7 @@
         # blessed, and C<ref> would return the package the ref is blessed into.
         if (warnings::enabled) {
             $_ [1] = "undef" unless defined $_ [1];
-            warnings::warn ("`$_[1]' is not a code reference");
+            warnings::warn ("'$_[1]' is not a code reference");
         }
     }
     else {
@@ -264,7 +261,7 @@
 case of a unary operator.
 
 The third argument is set to TRUE if (and only if) the two
-operands have been swapped. Perl may do this to ensure that the
+operands have been swapped.  Perl may do this to ensure that the
 first argument (C<$self>) is an object implementing the overloaded
 operation, in line with general object calling conventions.
 For example, if C<$x> and C<$y> are C<Number>s:
@@ -280,7 +277,7 @@
 according to the rules for L<Magic Autogeneration> described later.
 For example, the C<use overload> above declared no subroutine
 for any of the operators C<-->, C<neg> (the overload key for
-unary minus), or C<-=>. Thus
+unary minus), or C<-=>.  Thus
 
     operation   |   generates a call to
     ============|======================
@@ -379,6 +376,9 @@
 Exceptions, including additional overloadable operations not
 apparent from this hash, are included in the notes which follow.
 
+A warning is issued if an attempt is made to register an operator not found
+above.
+
 =over 5
 
 =item * C<not>
@@ -476,7 +476,7 @@
 the operation will be called again with this value.
 
 As a special case if the overload returns the object itself then it will
-be used directly. An overloaded conversion returning the object is
+be used directly.  An overloaded conversion returning the object is
 probably a bug, because you're likely to get something that looks like
 C<YourPackage=HASH(0x8172b34)>.
 
@@ -496,9 +496,6 @@
 for both the I<read-filehandle> syntax C<E<lt>$varE<gt>> and
 I<globbing> syntax C<E<lt>${var}E<gt>>.
 
-B<BUGS> Even in list context, the iterator is currently called only
-once and with scalar context.
-
 =item * I<File tests>
 
 The key C<'-X'> is used to specify a subroutine to handle all the
@@ -510,7 +507,7 @@
 is used to pass the second operand).
 
 Calling an overloaded filetest operator does not affect the stat value
-associated with the special filehandle C<_>. It still refers to the
+associated with the special filehandle C<_>.  It still refers to the
 result of the last C<stat>, C<lstat> or unoverloaded filetest.
 
 This overload was introduced in Perl 5.12.
@@ -519,7 +516,7 @@
 
 The key C<"~~"> allows you to override the smart matching logic used by
 the C<~~> operator and the switch construct (C<given>/C<when>).  See
-L<perlsyn/switch> and L<feature>.
+L<perlsyn/Switch Statements> and L<feature>.
 
 Unusually, the overloaded implementation of the smart match operator
 does not get full control of the smart match behaviour.
@@ -543,7 +540,7 @@
     $obj->match(2,0);
     $obj->match(3,0);
 
-Consult the match table in  L<perlsyn/"Smart matching in detail"> for
+Consult the match table in  L<perlop/"Smartmatch Operator"> for
 details of when overloading is invoked.
 
 =item * I<Dereferencing>
@@ -667,7 +664,7 @@
 a minimal set of operations that need to be overloaded in order to have
 the complete set of overloaded operations at one's disposal.
 Of course, the autogenerated operations may not do exactly what the user
-expects. The minimal set is:
+expects.  The minimal set is:
 
     + - * / % ** << >> x
     <=> cmp
@@ -767,7 +764,7 @@
 
 The subroutine for C<'='> does not overload the Perl assignment
 operator: it is used only to allow mutators to work as described
-here. (See L</Assignments> above.)
+here.  (See L</Assignments> above.)
 
 =item *
 
@@ -877,7 +874,8 @@
 There are exceptions to the above rules for dereference operations
 (which, if Step 1 fails, always fall back to the normal, built-in
 implementations - see Dereferencing), and for C<~~> (which has its
-own set of rules - see L<Matching>).
+own set of rules - see C<Matching> under L</Overloadable Operations>
+above).
 
 Note on Step 7: some operators have a different semantic depending
 on the type of their operands.
@@ -889,9 +887,9 @@
 =head2 Losing Overloading
 
 The restriction for the comparison operation is that even if, for example,
-`C<cmp>' should return a blessed reference, the autogenerated `C<lt>'
+C<cmp> should return a blessed reference, the autogenerated C<lt>
 function will produce only a standard logical value based on the
-numerical value of the result of `C<cmp>'.  In particular, a working
+numerical value of the result of C<cmp>.  In particular, a working
 numeric conversion is needed in this case (possibly expressed in terms of
 other conversions).
 
@@ -933,10 +931,10 @@
 
 =back
 
-Note that since the value of the C<fallback> key is not a subroutine,
-its inheritance is not governed by the above rules.  In the current
-implementation, the value of C<fallback> in the first overloaded
-ancestor is used, but this is accidental and subject to change.
+Note that in Perl version prior to 5.18 inheritance of the C<fallback> key
+was not governed by the above rules.  The value of C<fallback> in the first 
+overloaded ancestor was used.  This was fixed in 5.18 to follow the usual
+rules of inheritance.
 
 =head2 Run-time Overloading
 
@@ -959,7 +957,8 @@
 
 =item overload::StrVal(arg)
 
-Gives string value of C<arg> as in absence of stringify overloading. If you
+Gives the string value of C<arg> as in the
+absence of stringify overloading.  If you
 are using this to get the address of a reference (useful for checking if two
 references point to the same thing) then you may be better off using
 C<Scalar::Util::refaddr()>, which is faster.
@@ -1030,12 +1029,12 @@
 and overload::remove_constant() from anywhere but import() and unimport() methods.
 From these methods they may be called as
 
-	sub import {
-	  shift;
-	  return unless @_;
-	  die "unknown import: @_" unless @_ == 1 and $_[0] eq ':constant';
-	  overload::constant integer => sub {Math::BigInt->new(shift)};
-	}
+    sub import {
+       shift;
+       return unless @_;
+       die "unknown import: @_" unless @_ == 1 and $_[0] eq ':constant';
+       overload::constant integer => sub {Math::BigInt->new(shift)};
+    }
 
 =head1 IMPLEMENTATION
 
@@ -1044,38 +1043,23 @@
 The table of methods for all operations is cached in magic for the
 symbol table hash for the package.  The cache is invalidated during
 processing of C<use overload>, C<no overload>, new function
-definitions, and changes in @ISA. However, this invalidation remains
-unprocessed until the next C<bless>ing into the package. Hence if you
-want to change overloading structure dynamically, you'll need an
-additional (fake) C<bless>ing to update the table.
+definitions, and changes in @ISA.
 
 (Every SVish thing has a magic queue, and magic is an entry in that
 queue.  This is how a single variable may participate in multiple
 forms of magic simultaneously.  For instance, environment variables
 regularly have two forms at once: their %ENV magic and their taint
-magic. However, the magic which implements overloading is applied to
+magic.  However, the magic which implements overloading is applied to
 the stashes, which are rarely used directly, thus should not slow down
 Perl.)
 
-If an object belongs to a package using overload, it carries a special
-flag.  Thus the only speed penalty during arithmetic operations without
-overloading is the checking of this flag.
+If a package uses overload, it carries a special flag.  This flag is also
+set when new function are defined or @ISA is modified.  There will be a
+slight speed penalty on the very first operation thereafter that supports
+overloading, while the overload tables are updated.  If there is no
+overloading present, the flag is turned off.  Thus the only speed penalty
+thereafter is the checking of this flag.
 
-In fact, if C<use overload> is not present, there is almost no overhead
-for overloadable operations, so most programs should not suffer
-measurable performance penalties.  A considerable effort was made to
-minimize the overhead when overload is used in some package, but the
-arguments in question do not belong to packages using overload.  When
-in doubt, test your speed with C<use overload> and without it.  So far
-there have been no reports of substantial speed degradation if Perl is
-compiled with optimization turned on.
-
-There is no size penalty for data if overload is not used. The only
-size penalty if overload is used in some package is that I<all> the
-packages acquire a magic during the next C<bless>ing into the
-package. This magic is three-words-long for packages without
-overloading, and carries the cache table if the package is overloaded.
-
 It is expected that arguments to methods that are not explicitly supposed
 to be changed are constant (but this is not enforced).
 
@@ -1099,13 +1083,13 @@
   require two_face;
   my $seven = two_face->new("vii", 7);
   printf "seven=$seven, seven=%d, eight=%d\n", $seven, $seven+1;
-  print "seven contains `i'\n" if $seven =~ /i/;
+  print "seven contains 'i'\n" if $seven =~ /i/;
 
 (The second line creates a scalar which has both a string value, and a
 numeric value.)  This prints:
 
   seven=vii, seven=7, eight=8
-  seven contains `i'
+  seven contains 'i'
 
 =head2 Two-face References
 
@@ -1247,7 +1231,7 @@
 
 This module is very unusual as overloaded modules go: it does not
 provide any usual overloaded operators, instead it provides an
-implementation for L<C<nomethod>>.  In this example the C<nomethod>
+implementation for L</C<nomethod>>.  In this example the C<nomethod>
 subroutine returns an object which encapsulates operations done over
 the objects: C<< symbolic->new(3) >> contains C<['n', 3]>, C<< 2 +
 symbolic->new(3) >> contains C<['+', 2, ['n', 3]]>.
@@ -1386,7 +1370,7 @@
   my $cnt = $iter;
 
   while ($cnt) {
-    $cnt = $cnt - 1;		# Mutator `--' not implemented
+    $cnt = $cnt - 1;		# Mutator '--' not implemented
     $side = (sqrt(1 + $side**2) - 1)/$side;
   }
   printf "%s=%f\n", $side, $side;
@@ -1416,7 +1400,7 @@
     $subr{$op} = eval "sub {shift() $op shift()}";
   }
   foreach my $op (split " ", "@overload::ops{qw(unary func)}") {
-    print "defining `$op'\n";
+    print "defining '$op'\n";
     $subr{$op} = eval "sub {$op shift()}";
   }
 
@@ -1567,8 +1551,8 @@
 
 Using the C<m> command of Perl debugger (see L<perldebug>) one can
 deduce which operations are overloaded (and which ancestor triggers
-this overloading). Say, if C<eq> is overloaded, then the method C<(eq>
-is shown by debugger. The method C<()> corresponds to the C<fallback>
+this overloading).  Say, if C<eq> is overloaded, then the method C<(eq>
+is shown by debugger.  The method C<()> corresponds to the C<fallback>
 key (in fact a presence of this method shows that this package has
 overloading enabled, and it is what is used by the C<Overloaded>
 function of module C<overload>).
@@ -1582,16 +1566,21 @@
 (W) The call to overload::constant contained an odd number of arguments.
 The arguments should come in pairs.
 
-=item `%s' is not an overloadable type
+=item '%s' is not an overloadable type
 
 (W) You tried to overload a constant type the overload package is unaware of.
 
-=item `%s' is not a code reference
+=item '%s' is not a code reference
 
 (W) The second (fourth, sixth, ...) argument of overload::constant needs
-to be a code reference. Either an anonymous subroutine, or a reference
+to be a code reference.  Either an anonymous subroutine, or a reference
 to a subroutine.
 
+=item overload arg '%s' is invalid
+
+(W) C<use overload> was passed an argument it did not
+recognize.  Did you mistype an operator?
+
 =back
 
 =head1 BUGS AND PITFALLS
@@ -1600,16 +1589,6 @@
 
 =item *
 
-No warning is issued for invalid C<use overload> keys.
-Such errors are not always obvious:
-
-        use overload "+0" => sub { ...; },   # should be "0+"
-            "not" => sub { ...; };           # should be "!"
-
-(Bug #74098)
-
-=item *
-
 A pitfall when fallback is TRUE and Perl resorts to a built-in
 implementation of an operator is that some operators have more
 than one semantic, for example C<|>:
@@ -1666,14 +1645,15 @@
 
 =item *
 
-Because it is used for overloading, the per-package hash
-C<%OVERLOAD> now has a special meaning in Perl.
 The symbol table is filled with names looking like line-noise.
 
 =item *
 
+This bug was fixed in Perl 5.18, but may still trip you up if you are using
+older versions:
+
 For the purpose of inheritance every overloaded package behaves as if
-C<fallback> is present (possibly undefined). This may create
+C<fallback> is present (possibly undefined).  This may create
 interesting effects if some package is not overloaded, but inherits
 from two overloaded packages.
 
@@ -1680,7 +1660,7 @@
 =item *
 
 Before Perl 5.14, the relation between overloading and tie()ing was broken.
-Overloading is triggered or not basing on the I<previous> class of the
+Overloading was triggered or not based on the I<previous> class of the
 tie()d variable.
 
 This happened because the presence of overloading was checked
@@ -1695,6 +1675,10 @@
 
 Barewords are not covered by overloaded string constants.
 
+=item *
+
+The range operator C<..> cannot be overloaded.
+
 =back
 
 =cut


Property changes on: vendor/perl/dist/lib/overload.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/overload.t
===================================================================
--- vendor/perl/dist/lib/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/overload.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -48,7 +48,7 @@
 
 $| = 1;
 BEGIN { require './test.pl' }
-plan tests => 4980;
+plan tests => 5191;
 
 use Scalar::Util qw(tainted);
 
@@ -131,7 +131,7 @@
 
 is(ref $b, "Oscalar");
 is($a, "087");
-is($b, "88");
+is($b, "89");
 is(ref $a, "Oscalar");
 
 package Oscalar;
@@ -142,7 +142,7 @@
 
 is(ref $b, "Oscalar");
 is($a, "087");
-is($b, "90");
+is($b, "91");
 is(ref $a, "Oscalar");
 
 $b=$a;
@@ -267,11 +267,12 @@
 is($aI, "xx");
 is("b${aI}c", "_._.b.__.xx._.__.c._");
 
-# Here we test blessing to a package updates hash
+# Here we test that both "no overload" and
+# blessing to a package update hash
 
 eval "package Oscalar; no overload '.'";
 
-is("b${a}", "_.b.__.xx._");
+is("b${a}", "bxx");
 $x="1";
 bless \$x, Oscalar;
 is("b${a}c", "bxxc");
@@ -291,20 +292,20 @@
 
 eval "package Oscalar; sub comple; use overload '~' => 'comple'";
 
-$na = eval { ~$a };		# Hash was not updated
-like($@, qr/no method found/);
+$na = eval { ~$a };
+is($@, '');
 
 bless \$x, Oscalar;
 
 $na = eval { ~$a };		# Hash updated
-warn "`$na', $@" if $@;
+warn "'$na', $@" if $@;
 ok !$@;
 is($na, '_!_xx_!_');
 
 $na = 0;
 
-$na = eval { ~$aI };		# Hash was not updated
-like($@, qr/no method found/);
+$na = eval { ~$aI };
+like($@, '');
 
 bless \$x, OscalarI;
 
@@ -316,8 +317,8 @@
 
 eval "package Oscalar; sub rshft; use overload '>>' => 'rshft'";
 
-$na = eval { $aI >> 1 };	# Hash was not updated
-like($@, qr/no method found/);
+$na = eval { $aI >> 1 };
+is($@, '');
 
 bless \$x, OscalarI;
 
@@ -603,8 +604,7 @@
   }
   sub TIESCALAR { my $pack = shift; $pack->new(@_) }
   sub FETCH { shift }
-  sub nop {  }		# Around a bug
-  sub vars { my $p = shift; tie($_, $p), $_->nop foreach @_; }
+  sub vars { my $p = shift; tie($_, $p) foreach @_; }
   sub STORE { 
     my $obj = shift; 
     $#$obj = 1; 
@@ -936,7 +936,7 @@
 }
 
 {
-    # check the `$_[0]' is not an overloadable type warning
+    # check the '$_[0]' is not an overloadable type warning
     my $a = "" ;
     local $SIG{__WARN__} = sub {$a = $_[0]} ;
     $x = eval ' overload::constant "fred" => sub {} ; ' ;
@@ -943,11 +943,11 @@
     is($a, "");
     use warnings 'overload' ;
     $x = eval ' overload::constant "fred" => sub {} ; ' ;
-    like($a, qr/^`fred' is not an overloadable type at/);
+    like($a, qr/^'fred' is not an overloadable type at/);
 }
 
 {
-    # check the `$_[1]' is not a code reference warning
+    # check the '$_[1]' is not a code reference warning
     my $a = "" ;
     local $SIG{__WARN__} = sub {$a = $_[0]} ;
     $x = eval ' overload::constant "integer" => 1; ' ;
@@ -954,10 +954,27 @@
     is($a, "");
     use warnings 'overload' ;
     $x = eval ' overload::constant "integer" => 1; ' ;
-    like($a, qr/^`1' is not a code reference at/);
+    like($a, qr/^'1' is not a code reference at/);
 }
 
 {
+    # check the invalid argument warning [perl #74098]
+    my $a = "" ;
+    local $SIG{__WARN__} = sub {$a = $_[0]} ;
+    $x = eval ' use overload "~|_|~" => sub{} ' ;
+    eval ' no overload "~|_|~" ' ;
+    is($a, "");
+    use warnings 'overload' ;
+    $x = eval ' use overload "~|_|~" => sub{} ' ;
+    like($a, qr/^overload arg '~\|_\|~' is invalid at \(eval \d+\) line /,
+	'invalid arg warning');
+    undef $a;
+    eval ' no overload "~|_|~" ' ;
+    like($a, qr/^overload arg '~\|_\|~' is invalid at \(eval \d+\) line /,
+	'invalid arg warning');
+}
+
+{
   my $c = 0;
   package ov_int1;
   use overload '""'    => sub { 3+shift->[0] },
@@ -1102,18 +1119,6 @@
 }
 
 {
-    package Numify;
-    use overload (qw(0+ numify fallback 1));
-
-    sub new {
-	my $val = $_[1];
-	bless \$val, $_[0];
-    }
-
-    sub numify { ${$_[0]} }
-}
-
-{
     package perl31793;
     use overload cmp => sub { 0 };
     package perl31793_fb;
@@ -1134,8 +1139,20 @@
     like(overload::StrVal($no),       qr/^no_overload=ARRAY\(0x[0-9a-f]+\)$/);
 }
 
-# These are all check that overloaded values rather than reference addresses
-# are what is getting tested.
+{
+    package Numify;
+    use overload (qw(0+ numify fallback 1));
+
+    sub new {
+	my $val = $_[1];
+	bless \$val, $_[0];
+    }
+
+    sub numify { ${$_[0]} }
+}
+
+# These all check that overloaded values, rather than reference addresses,
+# are what are getting tested.
 my ($two, $one, $un, $deux) = map {new Numify $_} 2, 1, 1, 2;
 my ($ein, $zwei) = (1, 2);
 
@@ -1189,6 +1206,8 @@
         # doesn't look like a regex
         ok("x" =~ $x, "qr-only matches");
         ok("y" !~ $x, "qr-only doesn't match what it shouldn't");
+        ok("x" =~ /^(??{$x})$/, "qr-only with ?? matches");
+        ok("y" !~ /^(??{$x})$/, "qr-only with ?? doesn't match what it shouldn't");
         ok("xx" =~ /x$x/, "qr-only matches with concat");
         like("$x", qr/^QRonly=ARRAY/, "qr-only doesn't have string overload");
 
@@ -1195,11 +1214,15 @@
         my $qr = bless qr/y/, "QRonly";
         ok("x" =~ $qr, "qr with qr-overload uses overload");
         ok("y" !~ $qr, "qr with qr-overload uses overload");
+	ok("x" =~ /^(??{$qr})$/, "qr with qr-overload with ?? uses overload");
+	ok("y" !~ /^(??{$qr})$/, "qr with qr-overload with ?? uses overload");
         is("$qr", "".qr/y/, "qr with qr-overload stringify");
 
         my $rx = $$qr;
         ok("y" =~ $rx, "bare rx with qr-overload doesn't overload match");
         ok("x" !~ $rx, "bare rx with qr-overload doesn't overload match");
+        ok("y" =~ /^(??{$rx})$/, "bare rx with qr-overload with ?? doesn't overload match");
+        ok("x" !~ /^(??{$rx})$/, "bare rx with qr-overload with ?? doesn't overload match");
         is("$rx", "".qr/y/, "bare rx with qr-overload stringify");
     }
     {
@@ -1794,6 +1817,8 @@
 	# note: this is testing unary qr, not binary =~
 	$subs{qr} = '(qr/%s/)';
 	push @tests, [ "abc", '"abc" =~ (%s)', '(qr)', '("")', [ 1, 2, 0 ], 0 ];
+	push @tests, [ chr 256, 'chr(256) =~ (%s)', '(qr)', '("")',
+	                                                  [ 1, 2, 0 ], 0 ];
 
 	$e = '"abc" ~~ (%s)';
 	$subs{'~~'} = $e;
@@ -1821,7 +1846,7 @@
 
 	$subs{'%{}'} = '%s';
 	push @tests, [ {qw(a 1 b 2 c 3)}, 'join "", sort keys %%{%s}',
-			'(%{})', undef, [ 1, 2, 0 ], 0 ];
+			'(%{})', undef, [ 1, 1, 0 ], 0 ];
 
 	$subs{'&{}'} = '%s';
 	push @tests, [ sub {99}, 'do {&{%s} for 1,2}',
@@ -1838,6 +1863,9 @@
 	    or die "open of \$iter_text gave ($!)\n";
 	$subs{'<>'} = '<$iter_fh>';
 	push @tests, [ $iter_fh, '<%s>', '(<>)', undef, [ 1, 1, 0 ], 1 ];
+	push @tests, [ $iter_fh,
+		      'local *CORE::GLOBAL::glob = sub {}; eval q|<%s>|',
+		      '(<>)', undef, [ 1, 1, 0 ], 1 ];
 
 	# eval should do tie, overload on its arg before checking taint */
 	push @tests, [ '1;', 'eval q(eval %s); $@ =~ /Insecure/',
@@ -1845,6 +1873,7 @@
 
 
 	for my $sub (keys %subs) {
+	    no warnings 'experimental::smartmatch';
 	    my $term = $subs{$sub};
 	    my $t = sprintf $term, '$_[0][0]';
 	    my $e ="sub { \$funcs .= '($sub)'; my \$r; if (\$use_int) {"
@@ -1886,6 +1915,7 @@
 				    ? "-\$_[0][0]"
 				    : "$_[3](\$_[0][0])";
 			my $r;
+			no warnings 'experimental::smartmatch';
 			if ($use_int) {
 			    use integer; $r = eval $e;
 			}
@@ -1932,7 +1962,7 @@
 	    $use_int = ($int ne '');
 	    my $plain = $tainted_val;
 	    my $plain_term = $int . sprintf $sub_term, '$plain';
-	    my $exp = eval $plain_term;
+	    my $exp = do {no warnings 'experimental::smartmatch'; eval $plain_term };
 	    diag("eval of plain_term <$plain_term> gave <$@>") if $@;
 	    is(tainted($exp), $exp_taint,
 			"<$plain_term> taint of expected return");
@@ -1960,7 +1990,7 @@
 
 		    my $res_term  = $int . sprintf $sub_term, $var;
 		    my $desc =  "<$res_term> $ov_pkg" ;
-		    my $res = eval $res_term;
+		    my $res = do { no warnings 'experimental::smartmatch'; eval $res_term };
 		    diag("eval of res_term $desc gave <$@>") if $@;
 		    # uniquely, the inc/dec ops return the original
 		    # ref rather than a copy, so stringify it to
@@ -2168,5 +2198,505 @@
     is ($a[2],   12, 'Iter1: a[2] concat');
 }
 
+# Some tests for error messages
+{
+    package Justus;
+    use overload '+' => 'justice';
+    eval {"".bless[]};
+    ::like $@, qr/^Can't resolve method "justice" overloading "\+" in p(?x:
+                  )ackage "Justus" at /,
+      'Error message when explicitly named overload method does not exist';
 
+    package JustUs;
+    our @ISA = 'JustYou';
+    package JustYou { use overload '+' => 'injustice'; }
+    "JustUs"->${\"(+"};
+    eval {"".bless []};
+    ::like $@, qr/^Stub found while resolving method "\?{3}" overloadin(?x:
+                  )g "\+" in package "JustUs" at /,
+      'Error message when sub stub is encountered';
+}
+
+{
+    # check that the right number of stringifications
+    # and the correct un-utf8-ifying happen on regex compile
+    package utf8_match;
+    my $c;
+    use overload '""' => sub { $c++; $_[0][0] ? "^\x{100}\$" : "^A\$"; };
+    my $o = bless [0], 'utf8_match';
+
+    $o->[0] = 0;
+    $c = 0;
+    ::ok("A" =~  "^A\$",	"regex stringify utf8=0 ol=0 bytes=0");
+    ::ok("A" =~ $o,		"regex stringify utf8=0 ol=1 bytes=0");
+    ::is($c, 1,			"regex stringify utf8=0 ol=1 bytes=0 count");
+
+    $o->[0] = 1;
+    $c = 0;
+    ::ok("\x{100}" =~ "^\x{100}\$",
+				"regex stringify utf8=1 ol=0 bytes=0");
+    ::ok("\x{100}" =~ $o,	"regex stringify utf8=1 ol=1 bytes=0");
+    ::is($c, 1,			"regex stringify utf8=1 ol=1 bytes=0 count");
+
+    use bytes;
+
+    $o->[0] = 0;
+    $c = 0;
+    ::ok("A" =~  "^A\$",	"regex stringify utf8=0 ol=0 bytes=1");
+    ::ok("A" =~ $o,		"regex stringify utf8=0 ol=1 bytes=1");
+    ::is($c, 1,			"regex stringify utf8=0 ol=1 bytes=1 count");
+
+    $o->[0] = 1;
+    $c = 0;
+    ::ok("\xc4\x80" =~ "^\x{100}\$",
+				"regex stringify utf8=1 ol=0 bytes=1");
+    ::ok("\xc4\x80" =~ $o,	"regex stringify utf8=1 ol=1 bytes=1");
+    ::is($c, 1,			"regex stringify utf8=1 ol=1 bytes=1 count");
+
+
+}
+
+# [perl #40333]
+# overload::Overloaded should not use a ->can designed for autoloading.
+# This example attempts to be as realistic as possible.  The o class has a
+# default singleton object, but can have instances, too.  The proxy class
+# represents proxies for o objects, but class methods delegate to the
+# singleton.
+# overload::Overloaded used to return incorrect results for proxy objects.
+package proxy {
+    sub new { bless [$_[1]], $_[0] }
+    sub AUTOLOAD {
+       our $AUTOLOAD =~ s/.*:://;
+       &_self->$AUTOLOAD;
+    }
+    sub can      { SUPER::can{@_} || &_self->can($_[1]) }
+    sub _self { ref $_[0] ? $_[0][0] : $o::singleton }
+}
+package o     { use overload '""' => sub { 'keck' };
+                sub new { bless[], $_[0] }
+                our $singleton = o->new; }
+ok !overload::Overloaded(new proxy new o),
+ 'overload::Overloaded does not incorrectly return true for proxy classes';
+
+# Another test, based on the type of explosive test class for which
+# perl #40333 was filed.
+{
+    package broken_can;
+    sub can {}
+    use overload '""' => sub {"Ahoy!"};
+
+    package main;
+    my $obj = bless [], 'broken_can';
+    ok(overload::Overloaded($obj));
+}
+
+sub eleventative::cos { 'eleven' }
+sub twelvetative::abs { 'twelve' }
+sub thirteentative::abs { 'thirteen' }
+sub fourteentative::abs { 'fourteen' }
+ at eleventative::ISA = twelvetative::;
+{
+    my $o = bless [], 'eleventative';
+    eval 'package eleventative; use overload map +($_)x2, cos=>abs=>';
+    is cos $o, 'eleven', 'overloading applies to object blessed before';
+    bless [], 'eleventative';
+    is cos $o, 'eleven',
+      'ovrld applies to previously-blessed obj after other obj is blessed';
+    $o = bless [], 'eleventative';
+    *eleventative::cos = sub { 'ten' };
+    is cos $o, 'ten', 'method changes affect overloading';
+    @eleventative::ISA = thirteentative::;
+    is abs $o, 'thirteen', 'isa changes affect overloading';
+    bless $o, 'fourteentative';
+    @fourteentative::ISA = 'eleventative';
+    is abs $o, 'fourteen', 'isa changes can turn overloading on';
+}
+
+# no overload "fallback";
+{ package phake;
+  use overload fallback => 1, '""' => sub { 'arakas' };
+  no overload 'fallback';
+}
+$a = bless [], 'phake';
+is "$a", "arakas",
+    'no overload "fallback" does not stop overload from working';
+ok !eval { () = $a eq 'mpizeli'; 1 },
+    'no overload "fallback" resets fallback to undef on overloaded class';
+{ package ent; use overload fallback => 0, abs => sub{};
+  our at ISA = 'huorn';
+  package huorn;
+  use overload fallback => 1;
+  package ent;
+  no overload "fallback"; # disable previous declaration
+}
+$a = bless [], ent::;
+is eval {"$a"}, overload::StrVal($a),
+    'no overload undoes fallback declaration completetly'
+ or diag $@;
+
+# inherited fallback
+{
+ package pervyy;
+ our @ISA = 'vtoryy';
+ use overload "abs" =>=> sub {};
+ package vtoryy;
+ use overload fallback => 1, 'sin' =>=> sub{}
+}
+$a = bless [], pervyy::;
+is eval {"$a"}, overload::StrVal($a),
+ 'fallback is inherited by classes that have their own overloading'
+ or diag $@;
+
+# package separators in method names
+{
+ package mane;
+ use overload q\""\ => "bear::strength";
+ use overload bool  => "bear'bouillon";
+}
+ at bear::ISA = 'food';
+sub food::strength { 'twine' }
+sub food::bouillon { 0 }
+$a = bless[], mane::;
+is eval { "$a" }, 'twine', ':: in method name' or diag $@;
+is eval { !$a  },   1,      "' in method name" or diag $@;
+
+# [perl #113050] Half of CPAN assumes fallback is under "()"
+{
+  package dodo;
+  use overload '+' => sub {};
+  no strict;
+  *{"dodo::()"} = sub{};
+  ${"dodo::()"} = 1;
+}
+$a = bless [],'dodo';
+is eval {"$a"}, overload::StrVal($a), 'fallback is stored under "()"';
+
+# [perl #47119]
+{
+    my $context;
+
+    {
+        package Splitter;
+        use overload '<>' => \&chars;
+
+        sub new {
+            my $class = shift;
+            my ($string) = @_;
+            bless \$string, $class;
+        }
+
+        sub chars {
+            my $self = shift;
+            my @chars = split //, $$self;
+            $context = wantarray;
+            return @chars;
+        }
+    }
+
+    my $obj = Splitter->new('bar');
+
+    $context = 42; # not 1, '', or undef
+
+    my @foo = <$obj>;
+    is($context, 1, "list context (readline list)");
+    is(scalar(@foo), 3, "correct result (readline list)");
+    is($foo[0], 'b', "correct result (readline list)");
+    is($foo[1], 'a', "correct result (readline list)");
+    is($foo[2], 'r', "correct result (readline list)");
+
+    $context = 42;
+
+    my $foo = <$obj>;
+    ok(defined($context), "scalar context (readline scalar)");
+    is($context, '', "scalar context (readline scalar)");
+    is($foo, 3, "correct result (readline scalar)");
+
+    $context = 42;
+
+    <$obj>;
+    ok(!defined($context), "void context (readline void)");
+
+    $context = 42;
+
+    my @bar = <${obj}>;
+    is($context, 1, "list context (glob list)");
+    is(scalar(@bar), 3, "correct result (glob list)");
+    is($bar[0], 'b', "correct result (glob list)");
+    is($bar[1], 'a', "correct result (glob list)");
+    is($bar[2], 'r', "correct result (glob list)");
+
+    $context = 42;
+
+    my $bar = <${obj}>;
+    ok(defined($context), "scalar context (glob scalar)");
+    is($context, '', "scalar context (glob scalar)");
+    is($bar, 3, "correct result (glob scalar)");
+
+    $context = 42;
+
+    <${obj}>;
+    ok(!defined($context), "void context (glob void)");
+}
+{
+    my $context;
+
+    {
+        package StringWithContext;
+        use overload '""' => \&stringify;
+
+        sub new {
+            my $class = shift;
+            my ($string) = @_;
+            bless \$string, $class;
+        }
+
+        sub stringify {
+            my $self = shift;
+            $context = wantarray;
+            return $$self;
+        }
+    }
+
+    my $obj = StringWithContext->new('bar');
+
+    $context = 42;
+
+    my @foo = "".$obj;
+    ok(defined($context), "scalar context (stringify list)");
+    is($context, '', "scalar context (stringify list)");
+    is(scalar(@foo), 1, "correct result (stringify list)");
+    is($foo[0], 'bar', "correct result (stringify list)");
+
+    $context = 42;
+
+    my $foo = "".$obj;
+    ok(defined($context), "scalar context (stringify scalar)");
+    is($context, '', "scalar context (stringify scalar)");
+    is($foo, 'bar', "correct result (stringify scalar)");
+
+    $context = 42;
+
+    "".$obj;
+
+    is($context, '', "scalar context (stringify void)");
+}
+{
+    my ($context, $swap);
+
+    {
+        package AddWithContext;
+        use overload '+' => \&add;
+
+        sub new {
+            my $class = shift;
+            my ($num) = @_;
+            bless \$num, $class;
+        }
+
+        sub add {
+            my $self = shift;
+            my ($other, $swapped) = @_;
+            $context = wantarray;
+            $swap = $swapped;
+            return ref($self)->new($$self + $other);
+        }
+
+        sub val { ${ $_[0] } }
+    }
+
+    my $obj = AddWithContext->new(6);
+
+    $context = $swap = 42;
+
+    my @foo = $obj + 7;
+    ok(defined($context), "scalar context (add list)");
+    is($context, '', "scalar context (add list)");
+    ok(defined($swap), "not swapped (add list)");
+    is($swap, '', "not swapped (add list)");
+    is(scalar(@foo), 1, "correct result (add list)");
+    is($foo[0]->val, 13, "correct result (add list)");
+
+    $context = $swap = 42;
+
+    @foo = 7 + $obj;
+    ok(defined($context), "scalar context (add list swap)");
+    is($context, '', "scalar context (add list swap)");
+    ok(defined($swap), "swapped (add list swap)");
+    is($swap, 1, "swapped (add list swap)");
+    is(scalar(@foo), 1, "correct result (add list swap)");
+    is($foo[0]->val, 13, "correct result (add list swap)");
+
+    $context = $swap = 42;
+
+    my $foo = $obj + 7;
+    ok(defined($context), "scalar context (add scalar)");
+    is($context, '', "scalar context (add scalar)");
+    ok(defined($swap), "not swapped (add scalar)");
+    is($swap, '', "not swapped (add scalar)");
+    is($foo->val, 13, "correct result (add scalar)");
+
+    $context = $swap = 42;
+
+    my $foo = 7 + $obj;
+    ok(defined($context), "scalar context (add scalar swap)");
+    is($context, '', "scalar context (add scalar swap)");
+    ok(defined($swap), "swapped (add scalar swap)");
+    is($swap, 1, "swapped (add scalar swap)");
+    is($foo->val, 13, "correct result (add scalar swap)");
+
+    $context = $swap = 42;
+
+    $obj + 7;
+
+    ok(!defined($context), "void context (add void)");
+    ok(defined($swap), "not swapped (add void)");
+    is($swap, '', "not swapped (add void)");
+
+    $context = $swap = 42;
+
+    7 + $obj;
+
+    ok(!defined($context), "void context (add void swap)");
+    ok(defined($swap), "swapped (add void swap)");
+    is($swap, 1, "swapped (add void swap)");
+
+    $obj = AddWithContext->new(6);
+
+    $context = $swap = 42;
+
+    my @foo = $obj += 7;
+    ok(defined($context), "scalar context (add assign list)");
+    is($context, '', "scalar context (add assign list)");
+    ok(!defined($swap), "not swapped and autogenerated (add assign list)");
+    is(scalar(@foo), 1, "correct result (add assign list)");
+    is($foo[0]->val, 13, "correct result (add assign list)");
+    is($obj->val, 13, "correct result (add assign list)");
+
+    $obj = AddWithContext->new(6);
+
+    $context = $swap = 42;
+
+    my $foo = $obj += 7;
+    ok(defined($context), "scalar context (add assign scalar)");
+    is($context, '', "scalar context (add assign scalar)");
+    ok(!defined($swap), "not swapped and autogenerated (add assign scalar)");
+    is($foo->val, 13, "correct result (add assign scalar)");
+    is($obj->val, 13, "correct result (add assign scalar)");
+
+    $obj = AddWithContext->new(6);
+
+    $context = $swap = 42;
+
+    $obj += 7;
+
+    ok(defined($context), "scalar context (add assign void)");
+    is($context, '', "scalar context (add assign void)");
+    ok(!defined($swap), "not swapped and autogenerated (add assign void)");
+    is($obj->val, 13, "correct result (add assign void)");
+
+    $obj = AddWithContext->new(6);
+
+    $context = $swap = 42;
+
+    my @foo = ++$obj;
+    ok(defined($context), "scalar context (add incr list)");
+    is($context, '', "scalar context (add incr list)");
+    ok(!defined($swap), "not swapped and autogenerated (add incr list)");
+    is(scalar(@foo), 1, "correct result (add incr list)");
+    is($foo[0]->val, 7, "correct result (add incr list)");
+    is($obj->val, 7, "correct result (add incr list)");
+
+    $obj = AddWithContext->new(6);
+
+    $context = $swap = 42;
+
+    my $foo = ++$obj;
+    ok(defined($context), "scalar context (add incr scalar)");
+    is($context, '', "scalar context (add incr scalar)");
+    ok(!defined($swap), "not swapped and autogenerated (add incr scalar)");
+    is($foo->val, 7, "correct result (add incr scalar)");
+    is($obj->val, 7, "correct result (add incr scalar)");
+
+    $obj = AddWithContext->new(6);
+
+    $context = $swap = 42;
+
+    ++$obj;
+
+    ok(defined($context), "scalar context (add incr void)");
+    is($context, '', "scalar context (add incr void)");
+    ok(!defined($swap), "not swapped and autogenerated (add incr void)");
+    is($obj->val, 7, "correct result (add incr void)");
+}
+
+# [perl #113010]
+{
+    {
+        package OnlyFallback;
+        use overload fallback => 0;
+    }
+    {
+        my $obj = bless {}, 'OnlyFallback';
+        my $died = !eval { "".$obj; 1 };
+        my $err = $@;
+        ok($died, "fallback of 0 causes error");
+        like($err, qr/"\.": no method found/, "correct error");
+    }
+
+    {
+        package OnlyFallbackUndef;
+        use overload fallback => undef;
+    }
+    {
+        my $obj = bless {}, 'OnlyFallbackUndef';
+        my $died = !eval { "".$obj; 1 };
+        my $err = $@;
+        ok($died, "fallback of undef causes error");
+        # this one tries falling back to stringify before dying
+        like($err, qr/"""": no method found/, "correct error");
+    }
+
+    {
+        package OnlyFallbackTrue;
+        use overload fallback => 1;
+    }
+    {
+        my $obj = bless {}, 'OnlyFallbackTrue';
+        my $val;
+        my $died = !eval { $val = "".$obj; 1 };
+        my $err = $@;
+        ok(!$died, "fallback of 1 doesn't cause error")
+            || diag("got error of $err");
+        like($val, qr/^OnlyFallbackTrue=HASH\(/, "stringified correctly");
+    }
+}
+
+{
+    # Making Regexp class overloaded: avoid infinite recursion.
+    # Do this in a separate process since it, well, overloads Regexp!
+    fresh_perl_is(
+	<<'EOF',
+package Regexp;
+use overload q{""} => sub {$_[0] };
+package main;
+my $r1 = qr/1/;
+my $r2 = qr/ABC$r1/;
+print $r2,"\n";
+EOF
+	'(?^:ABC(?^:1))',
+	{ stderr => 1 },
+	'overloaded REGEXP'
+    );
+}
+
+{ # undefining the overload stash -- KEEP THIS TEST LAST
+    package ant;
+    use overload '+' => 'onion';
+    $_ = \&overload::nil;
+    undef %overload::;
+    ()=0+bless[];
+    ::ok(1, 'no crash when undefining %overload::');
+}
+
+
 # EOF


Property changes on: vendor/perl/dist/lib/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/overload64.t
===================================================================
--- vendor/perl/dist/lib/overload64.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/overload64.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/overload64.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/overloading.pm
===================================================================
--- vendor/perl/dist/lib/overloading.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/overloading.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,8 @@
 package overloading;
 use warnings;
 
-use Carp ();
+our $VERSION = '0.02';
 
-our $VERSION = '0.01';
-
 my $HINT_NO_AMAGIC = 0x01000000; # see perl.h
 
 require 5.010001;
@@ -14,7 +12,7 @@
 
     map { exists $overload::numbers::names{"($_"}
 	? $overload::numbers::names{"($_"}
-	: Carp::croak("'$_' is not a valid overload")
+	: do { require Carp; Carp::croak("'$_' is not a valid overload") }
     } @_;
 }
 


Property changes on: vendor/perl/dist/lib/overloading.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/overloading.t
===================================================================
--- vendor/perl/dist/lib/overloading.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/overloading.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #./perl
 
-use Test::More tests => 35;
+use Test::More tests => 50;
 
 use Scalar::Util qw(refaddr);
 
@@ -18,8 +18,11 @@
 }
 
 my $x = Stringifies->new;
+my $y = qr//;
+my $ystr = "$y";
 
 is( "$x", "foo", "stringifies" );
+is( "$y", $ystr, "stringifies qr//" );
 is( 0 + $x, 42, "numifies" );
 is( cos($x), "far side of overload table", "cosinusfies" );
 
@@ -26,6 +29,7 @@
 {
     no overloading;
     is( "$x", overload::StrVal($x), "no stringification" );
+    is( "$y", overload::StrVal($y), "no stringification of qr//" );
     is( 0 + $x, refaddr($x), "no numification" );
     is( cos($x), cos(refaddr($x)), "no cosinusfication" );
 
@@ -32,6 +36,7 @@
     {
 	no overloading '""';
 	is( "$x", overload::StrVal($x), "no stringification" );
+	is( "$y", overload::StrVal($y), "no stringification of qr//" );
 	is( 0 + $x, refaddr($x), "no numification" );
 	is( cos($x), cos(refaddr($x)), "no cosinusfication" );
     }
@@ -41,12 +46,24 @@
     no overloading '""';
 
     is( "$x", overload::StrVal($x), "no stringification" );
+    is( "$y", overload::StrVal($y), "no stringification of qr//" );
     is( 0 + $x, 42, "numifies" );
     is( cos($x), "far side of overload table", "cosinusfies" );
 
+    my $q = qr/abc/;
+    ok "abc" =~ $q, '=~ qr// with no "" overloading';
+    ok "abcd" =~ /${q}d/, '=~ /foo$qr/ with no "" overloading';
     {
+	no overloading 'qr';
+	my $q = qr/abc/;
+	ok "abc" =~ $q, '=~ qr// with no "" or qr overloading';
+	ok "abcd" =~ /${q}d/, '=~ /foo$qr/ with no "" or qr overloading';
+    }
+
+    {
 	no overloading;
 	is( "$x", overload::StrVal($x), "no stringification" );
+	is( "$y", overload::StrVal($y), "no stringification of qr//" );
 	is( 0 + $x, refaddr($x), "no numification" );
 	is( cos($x), cos(refaddr($x)), "no cosinusfication" );
     }
@@ -54,11 +71,13 @@
     use overloading '""';
 
     is( "$x", "foo", "stringifies" );
+    is( "$y", $ystr, "stringifies qr//" );
     is( 0 + $x, 42, "numifies" );
     is( cos($x), "far side of overload table", "cosinusfies" );
 
     no overloading '0+';
     is( "$x", "foo", "stringifies" );
+    is( "$y", $ystr, "stringifies qr//" );
     is( 0 + $x, refaddr($x), "no numification" );
     is( cos($x), "far side of overload table", "cosinusfies" );
 
@@ -65,6 +84,7 @@
     {
 	no overloading '""';
 	is( "$x", overload::StrVal($x), "no stringification" );
+	is( "$y", overload::StrVal($y), "no stringification of qr//" );
 	is( 0 + $x, refaddr($x), "no numification" );
 	is( cos($x), "far side of overload table", "cosinusfies" );
 
@@ -71,6 +91,7 @@
 	{
 	    use overloading;
 	    is( "$x", "foo", "stringifies" );
+	    is( "$y", $ystr, "stringifies qr//" );
 	    is( 0 + $x, 42, "numifies" );
 	    is( cos($x), "far side of overload table", "cosinusfies" );
 	}
@@ -77,11 +98,13 @@
     }
 
     is( "$x", "foo", "stringifies" );
+    is( "$y", $ystr, "stringifies qr//" );
     is( 0 + $x, refaddr($x), "no numification" );
     is( cos($x), "far side of overload table", "cosinusfies" );
 
     no overloading "cos";
     is( "$x", "foo", "stringifies" );
+    is( "$y", $ystr, "stringifies qr//" );
     is( 0 + $x, refaddr($x), "no numification" );
     is( cos($x), cos(refaddr($x)), "no cosinusfication" );
 


Property changes on: vendor/perl/dist/lib/overloading.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/compile-time-file.t
===================================================================
--- vendor/perl/dist/lib/parent/t/compile-time-file.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/compile-time-file.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/compile-time-file.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/compile-time.t
===================================================================
--- vendor/perl/dist/lib/parent/t/compile-time.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/compile-time.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/compile-time.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/lib/Dummy.pm
===================================================================
--- vendor/perl/dist/lib/parent/t/lib/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/lib/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/lib/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/lib/Dummy2.plugin
===================================================================
--- vendor/perl/dist/lib/parent/t/lib/Dummy2.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/lib/Dummy2.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/lib/Dummy2.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/lib/FileThatOnlyExistsAsPMC.pmc
===================================================================
--- vendor/perl/dist/lib/parent/t/lib/FileThatOnlyExistsAsPMC.pmc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/lib/FileThatOnlyExistsAsPMC.pmc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/lib/FileThatOnlyExistsAsPMC.pmc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/lib/ReturnsFalse.pm
===================================================================
--- vendor/perl/dist/lib/parent/t/lib/ReturnsFalse.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/lib/ReturnsFalse.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/lib/ReturnsFalse.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/parent-classfromclassfile.t
===================================================================
--- vendor/perl/dist/lib/parent/t/parent-classfromclassfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/parent-classfromclassfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/parent-classfromclassfile.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/parent-classfromfile.t
===================================================================
--- vendor/perl/dist/lib/parent/t/parent-classfromfile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/parent-classfromfile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/parent-classfromfile.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/parent-pmc.t
===================================================================
--- vendor/perl/dist/lib/parent/t/parent-pmc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/parent-pmc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/parent-pmc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/parent-returns-false.t
===================================================================
--- vendor/perl/dist/lib/parent/t/parent-returns-false.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/parent-returns-false.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/parent-returns-false.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent/t/parent.t
===================================================================
--- vendor/perl/dist/lib/parent/t/parent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent/t/parent.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent/t/parent.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/parent.pm
===================================================================
--- vendor/perl/dist/lib/parent.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/parent.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/parent.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/perl5db/t/eval-line-bug
===================================================================
--- vendor/perl/dist/lib/perl5db/t/eval-line-bug	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db/t/eval-line-bug	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/perl5db/t/eval-line-bug
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/perl5db/t/lvalue-bug
===================================================================
--- vendor/perl/dist/lib/perl5db/t/lvalue-bug	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db/t/lvalue-bug	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/perl5db/t/lvalue-bug
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/perl5db/t/proxy-constants
===================================================================
--- vendor/perl/dist/lib/perl5db/t/proxy-constants	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db/t/proxy-constants	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/perl5db/t/proxy-constants
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/perl5db/t/rt-61222
===================================================================
--- vendor/perl/dist/lib/perl5db/t/rt-61222	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db/t/rt-61222	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/perl5db/t/rt-61222
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/perl5db/t/rt-66110
===================================================================
--- vendor/perl/dist/lib/perl5db/t/rt-66110	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db/t/rt-66110	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/perl5db/t/rt-66110
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/perl5db/t/symbol-table-bug
===================================================================
--- vendor/perl/dist/lib/perl5db/t/symbol-table-bug	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db/t/symbol-table-bug	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/perl5db/t/symbol-table-bug
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/perl5db/t/taint
===================================================================
--- vendor/perl/dist/lib/perl5db/t/taint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db/t/taint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/perl5db/t/taint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/perl5db.pl
===================================================================
--- vendor/perl/dist/lib/perl5db.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 
-=head1 NAME 
+=head1 NAME
 
 perl5db.pl - the perl debugger
 
@@ -22,7 +22,7 @@
 When the debugger was first written, Perl didn't have a lot of its nicer
 features - no references, no lexical variables, no closures, no object-oriented
 programming. So a lot of the things one would normally have done using such
-features was done using global variables, globs and the C<local()> operator 
+features was done using global variables, globs and the C<local()> operator
 in creative ways.
 
 Some of these have survived into the current debugger; a few of the more
@@ -34,7 +34,7 @@
 Experienced Perl programmers will note that the debugger code tends to use
 mostly package globals rather than lexically-scoped variables. This is done
 to allow a significant amount of control of the debugger from outside the
-debugger itself.       
+debugger itself.
 
 Unfortunately, though the variables are accessible, they're not well
 documented, so it's generally been a decision that hasn't made a lot of
@@ -46,9 +46,9 @@
 
 =head2 Automated variable stacking via C<local()>
 
-As you may recall from reading C<perlfunc>, the C<local()> operator makes a 
+As you may recall from reading C<perlfunc>, the C<local()> operator makes a
 temporary copy of a variable in the current scope. When the scope ends, the
-old copy is restored. This is often used in the debugger to handle the 
+old copy is restored. This is often used in the debugger to handle the
 automatic stacking of variables during recursive calls:
 
      sub foo {
@@ -59,14 +59,14 @@
      }
 
 What happens is that on entry to the subroutine, C<$some_global> is localized,
-then altered. When the subroutine returns, Perl automatically undoes the 
+then altered. When the subroutine returns, Perl automatically undoes the
 localization, restoring the previous value. Voila, automatic stack management.
 
-The debugger uses this trick a I<lot>. Of particular note is C<DB::eval>, 
+The debugger uses this trick a I<lot>. Of particular note is C<DB::eval>,
 which lets the debugger get control inside of C<eval>'ed code. The debugger
 localizes a saved copy of C<$@> inside the subroutine, which allows it to
 keep C<$@> safe until it C<DB::eval> returns, at which point the previous
-value of C<$@> is restored. This makes it simple (well, I<simpler>) to keep 
+value of C<$@> is restored. This makes it simple (well, I<simpler>) to keep
 track of C<$@> inside C<eval>s which C<eval> other C<eval's>.
 
 In any case, watch for this pattern. It occurs fairly often.
@@ -73,31 +73,31 @@
 
 =head2 The C<^> trick
 
-This is used to cleverly reverse the sense of a logical test depending on 
+This is used to cleverly reverse the sense of a logical test depending on
 the value of an auxiliary variable. For instance, the debugger's C<S>
-(search for subroutines by pattern) allows you to negate the pattern 
+(search for subroutines by pattern) allows you to negate the pattern
 like this:
 
    # Find all non-'foo' subs:
-   S !/foo/      
+   S !/foo/
 
 Boolean algebra states that the truth table for XOR looks like this:
 
 =over 4
 
-=item * 0 ^ 0 = 0 
+=item * 0 ^ 0 = 0
 
 (! not present and no match) --> false, don't print
 
-=item * 0 ^ 1 = 1 
+=item * 0 ^ 1 = 1
 
 (! not present and matches) --> true, print
 
-=item * 1 ^ 0 = 1 
+=item * 1 ^ 0 = 1
 
 (! present and no match) --> true, print
 
-=item * 1 ^ 1 = 0 
+=item * 1 ^ 1 = 0
 
 (! present and matches) --> false, don't print
 
@@ -105,7 +105,7 @@
 
 As you can see, the first pair applies when C<!> isn't supplied, and
 the second pair applies when it is. The XOR simply allows us to
-compact a more complicated if-then-elseif-else into a more elegant 
+compact a more complicated if-then-elseif-else into a more elegant
 (but perhaps overly clever) single test. After all, it needed this
 explanation...
 
@@ -114,20 +114,20 @@
 There is a certain C programming legacy in the debugger. Some variables,
 such as C<$single>, C<$trace>, and C<$frame>, have I<magical> values composed
 of 1, 2, 4, etc. (powers of 2) OR'ed together. This allows several pieces
-of state to be stored independently in a single scalar. 
+of state to be stored independently in a single scalar.
 
 A test like
 
     if ($scalar & 4) ...
 
-is checking to see if the appropriate bit is on. Since each bit can be 
+is checking to see if the appropriate bit is on. Since each bit can be
 "addressed" independently in this way, C<$scalar> is acting sort of like
-an array of bits. Obviously, since the contents of C<$scalar> are just a 
+an array of bits. Obviously, since the contents of C<$scalar> are just a
 bit-pattern, we can save and restore it easily (it will just look like
 a number).
 
 The problem, is of course, that this tends to leave magic numbers scattered
-all over your program whenever a bit is set, cleared, or checked. So why do 
+all over your program whenever a bit is set, cleared, or checked. So why do
 it?
 
 =over 4
@@ -137,24 +137,24 @@
 First, doing an arithmetical or bitwise operation on a scalar is
 just about the fastest thing you can do in Perl: C<use constant> actually
 creates a subroutine call, and array and hash lookups are much slower. Is
-this over-optimization at the expense of readability? Possibly, but the 
+this over-optimization at the expense of readability? Possibly, but the
 debugger accesses these  variables a I<lot>. Any rewrite of the code will
 probably have to benchmark alternate implementations and see which is the
-best balance of readability and speed, and then document how it actually 
+best balance of readability and speed, and then document how it actually
 works.
 
 =item *
 
-Second, it's very easy to serialize a scalar number. This is done in 
+Second, it's very easy to serialize a scalar number. This is done in
 the restart code; the debugger state variables are saved in C<%ENV> and then
 restored when the debugger is restarted. Having them be just numbers makes
-this trivial. 
+this trivial.
 
 =item *
 
-Third, some of these variables are being shared with the Perl core 
-smack in the middle of the interpreter's execution loop. It's much faster for 
-a C program (like the interpreter) to check a bit in a scalar than to access 
+Third, some of these variables are being shared with the Perl core
+smack in the middle of the interpreter's execution loop. It's much faster for
+a C program (like the interpreter) to check a bit in a scalar than to access
 several different variables (or a Perl array).
 
 =back
@@ -162,13 +162,13 @@
 =head2 What are those C<XXX> comments for?
 
 Any comment containing C<XXX> means that the comment is either somewhat
-speculative - it's not exactly clear what a given variable or chunk of 
+speculative - it's not exactly clear what a given variable or chunk of
 code is doing, or that it is incomplete - the basics may be clear, but the
 subtleties are not completely documented.
 
 Send in a patch if you can clear up, fill out, or clarify an C<XXX>.
 
-=head1 DATA STRUCTURES MAINTAINED BY CORE         
+=head1 DATA STRUCTURES MAINTAINED BY CORE
 
 There are a number of special data structures provided to the debugger by
 the Perl interpreter.
@@ -179,17 +179,17 @@
 breakable lines will be dualvars with the numeric component being the
 memory address of a COP node. Non-breakable lines are dualvar to 0.
 
-The hash C<%{'_<'.$filename}> (aliased locally to C<%dbline> via glob 
-assignment) contains breakpoints and actions.  The keys are line numbers; 
-you can set individual values, but not the whole hash. The Perl interpreter 
+The hash C<%{'_<'.$filename}> (aliased locally to C<%dbline> via glob
+assignment) contains breakpoints and actions.  The keys are line numbers;
+you can set individual values, but not the whole hash. The Perl interpreter
 uses this hash to determine where breakpoints have been set. Any true value is
 considered to be a breakpoint; C<perl5db.pl> uses C<$break_condition\0$action>.
 Values are magical in numeric context: 1 if the line is breakable, 0 if not.
 
-The scalar C<${"_<$filename"}> simply contains the string C<_<$filename>.
+The scalar C<${"_<$filename"}> simply contains the string C<$filename>.
 This is also the case for evaluated strings that contain subroutines, or
 which are currently being executed.  The $filename for C<eval>ed strings looks
-like C<(eval 34)> or C<(re_eval 19)>.
+like C<(eval 34).
 
 =head1 DEBUGGER STARTUP
 
@@ -196,10 +196,10 @@
 When C<perl5db.pl> starts, it reads an rcfile (C<perl5db.ini> for
 non-interactive sessions, C<.perldb> for interactive ones) that can set a number
 of options. In addition, this file may define a subroutine C<&afterinit>
-that will be executed (in the debugger's context) after the debugger has 
+that will be executed (in the debugger's context) after the debugger has
 initialized itself.
 
-Next, it checks the C<PERLDB_OPTS> environment variable and treats its 
+Next, it checks the C<PERLDB_OPTS> environment variable and treats its
 contents as the argument of a C<o> command in the debugger.
 
 =head2 STARTUP-ONLY OPTIONS
@@ -210,11 +210,11 @@
 
 =over 4
 
-=item * TTY 
+=item * TTY
 
 the TTY to use for debugging i/o.
 
-=item * noTTY 
+=item * noTTY
 
 if set, goes in NonStop mode.  On interrupt, if TTY is not set,
 uses the value of noTTY or F<$HOME/.perldbtty$$> to find TTY using
@@ -221,21 +221,21 @@
 Term::Rendezvous.  Current variant is to have the name of TTY in this
 file.
 
-=item * ReadLine 
+=item * ReadLine
 
 if false, a dummy ReadLine is used, so you can debug
 ReadLine applications.
 
-=item * NonStop 
+=item * NonStop
 
 if true, no i/o is performed until interrupt.
 
-=item * LineInfo 
+=item * LineInfo
 
 file or pipe to print line number info to.  If it is a
 pipe, a short "emacs like" message is used.
 
-=item * RemotePort 
+=item * RemotePort
 
 host:port to connect to on remote host for remote debugging.
 
@@ -279,9 +279,9 @@
 =head4 C<$CreateTTY>
 
 Used to control when the debugger will attempt to acquire another TTY to be
-used for input. 
+used for input.
 
-=over   
+=over
 
 =item * 1 -  on C<fork()>
 
@@ -304,7 +304,7 @@
 =head4 C<$frame>
 
 Determines what messages (if any) will get printed when a subroutine (or eval)
-is entered or exited. 
+is entered or exited.
 
 =over 4
 
@@ -328,8 +328,8 @@
 
 =head4 C<$level>
 
-Tracks current debugger nesting level. Used to figure out how many 
-C<E<lt>E<gt>> pairs to surround the line number with when the debugger 
+Tracks current debugger nesting level. Used to figure out how many
+C<E<lt>E<gt>> pairs to surround the line number with when the debugger
 outputs a prompt. Also used to help determine if the program has finished
 during command parsing.
 
@@ -364,7 +364,7 @@
 Controls behavior during single-stepping. Stacked in C<@stack> on entry to
 each subroutine; popped again at the end of each subroutine.
 
-=over 4 
+=over 4
 
 =item * 0 - run continuously.
 
@@ -379,7 +379,7 @@
 
 =head4 C<$trace>
 
-Controls the output of trace information. 
+Controls the output of trace information.
 
 =over 4
 
@@ -402,7 +402,7 @@
 
 =head4 C<@dbline>
 
-Local alias to the magical line array, C<@{$main::{'_<'.$filename}}> , 
+Local alias to the magical line array, C<@{$main::{'_<'.$filename}}> ,
 supplied by the Perl interpreter to the debugger. Contains the source.
 
 =head4 C<@old_watch>
@@ -450,7 +450,7 @@
 
 Keys are file names; values are bitfields:
 
-=over 4 
+=over 4
 
 =item * 1 - file has a breakpoint in it.
 
@@ -487,10 +487,10 @@
 =head1 DEBUGGER INITIALIZATION
 
 The debugger's initialization actually jumps all over the place inside this
-package. This is because there are several BEGIN blocks (which of course 
-execute immediately) spread through the code. Why is that? 
+package. This is because there are several BEGIN blocks (which of course
+execute immediately) spread through the code. Why is that?
 
-The debugger needs to be able to change some things and set some things up 
+The debugger needs to be able to change some things and set some things up
 before the debugger code is compiled; most notably, the C<$deep> variable that
 C<DB::sub> uses to tell when a program has recursed deeply. In addition, the
 debugger has to turn off warnings while the debugger code is compiled, but then
@@ -500,7 +500,7 @@
 The first C<BEGIN> block simply turns off warnings by saving the current
 setting of C<$^W> and then setting it to zero. The second one initializes
 the debugger variables that are needed before the debugger begins executing.
-The third one puts C<$^X> back to its former value. 
+The third one puts C<$^X> back to its former value.
 
 We'll detail the second C<BEGIN> block later; just remember that if you need
 to initialize something before the debugger starts really executing, that's
@@ -510,11 +510,21 @@
 
 package DB;
 
-BEGIN {eval 'use IO::Handle'};	# Needed for flush only? breaks under miniperl
+use strict;
 
+BEGIN {eval 'use IO::Handle'}; # Needed for flush only? breaks under miniperl
+
+BEGIN {
+    require feature;
+    $^V =~ /^v(\d+\.\d+)/;
+    feature->import(":$1");
+}
+
 # Debugger for Perl 5.00x; perl5db.pl patch level:
-$VERSION = '1.33';
+use vars qw($VERSION $header);
 
+$VERSION = '1.39_10';
+
 $header = "perl5db.pl version $VERSION";
 
 =head1 DEBUGGER ROUTINES
@@ -524,7 +534,7 @@
 This function replaces straight C<eval()> inside the debugger; it simplifies
 the process of evaluating code in the user's context.
 
-The code to be evaluated is passed via the package global variable 
+The code to be evaluated is passed via the package global variable
 C<$DB::evalarg>; this is done to avoid fiddling with the contents of C<@_>.
 
 Before we do the C<eval()>, we preserve the current settings of C<$trace>,
@@ -535,19 +545,19 @@
 restore C<$trace>, C<$single>, and C<$^D>.
 
 Next we need to handle C<$@> without getting confused. We save C<$@> in a
-local lexical, localize C<$saved[0]> (which is where C<save()> will put 
-C<$@>), and then call C<save()> to capture C<$@>, C<$!>, C<$^E>, C<$,>, 
+local lexical, localize C<$saved[0]> (which is where C<save()> will put
+C<$@>), and then call C<save()> to capture C<$@>, C<$!>, C<$^E>, C<$,>,
 C<$/>, C<$\>, and C<$^W>) and set C<$,>, C<$/>, C<$\>, and C<$^W> to values
-considered sane by the debugger. If there was an C<eval()> error, we print 
-it on the debugger's output. If C<$onetimedump> is defined, we call 
-C<dumpit> if it's set to 'dump', or C<methods> if it's set to 
-'methods'. Setting it to something else causes the debugger to do the eval 
-but not print the result - handy if you want to do something else with it 
+considered sane by the debugger. If there was an C<eval()> error, we print
+it on the debugger's output. If C<$onetimedump> is defined, we call
+C<dumpit> if it's set to 'dump', or C<methods> if it's set to
+'methods'. Setting it to something else causes the debugger to do the eval
+but not print the result - handy if you want to do something else with it
 (the "watch expressions" code does this to get the value of the watch
 expression but not show it unless it matters).
 
-In any case, we then return the list of output from C<eval> to the caller, 
-and unwinding restores the former version of C<$@> in C<@saved> as well 
+In any case, we then return the list of output from C<eval> to the caller,
+and unwinding restores the former version of C<$@> in C<@saved> as well
 (the localization of C<$saved[0]> goes away at the end of this scope).
 
 =head3 Parameters and variables influencing execution of DB::eval()
@@ -554,7 +564,7 @@
 
 C<DB::eval> isn't parameterized in the standard way; this is to keep the
 debugger's calls to C<DB::eval()> from mucking with C<@_>, among other things.
-The variables listed below influence C<DB::eval()>'s execution directly. 
+The variables listed below influence C<DB::eval()>'s execution directly.
 
 =over 4
 
@@ -564,7 +574,7 @@
 
 =item C<$single> - Current state of single-stepping
 
-=item C<$onetimeDump> - what is to be displayed after the evaluation 
+=item C<$onetimeDump> - what is to be displayed after the evaluation
 
 =item C<$onetimeDumpDepth> - how deep C<dumpit()> should go when dumping results
 
@@ -571,7 +581,7 @@
 =back
 
 The following variables are altered by C<DB::eval()> during its execution. They
-are "stacked" via C<local()>, enabling recursive calls to C<DB::eval()>. 
+are "stacked" via C<local()>, enabling recursive calls to C<DB::eval()>.
 
 =over 4
 
@@ -579,13 +589,13 @@
 
 =item C<$otrace> - saved value of C<$trace>.
 
-=item C<$osingle> - saved value of C<$single>.      
+=item C<$osingle> - saved value of C<$single>.
 
 =item C<$od> - saved value of C<$^D>.
 
 =item C<$saved[0]> - saved value of C<$@>.
 
-=item $\ - for output of C<$@> if there is an evaluation error.      
+=item $\ - for output of C<$@> if there is an evaluation error.
 
 =back
 
@@ -594,7 +604,7 @@
 The context of C<DB::eval()> presents us with some problems. Obviously,
 we want to be 'sandboxed' away from the debugger's internals when we do
 the eval, but we need some way to control how punctuation variables and
-debugger globals are used. 
+debugger globals are used.
 
 We can't use local, because the code inside C<DB::eval> can see localized
 variables; and we can't use C<my> either for the same reason. The code
@@ -614,6 +624,88 @@
 # Fiddling with the debugger's context could be Bad. We insulate things as
 # much as we can.
 
+use vars qw(
+    @args
+    %break_on_load
+    $CommandSet
+    $CreateTTY
+    $DBGR
+    @dbline
+    $dbline
+    %dbline
+    $dieLevel
+    $filename
+    $histfile
+    $histsize
+    $IN
+    $inhibit_exit
+    @ini_INC
+    $ini_warn
+    $maxtrace
+    $od
+    @options
+    $osingle
+    $otrace
+    $pager
+    $post
+    %postponed
+    $prc
+    $pre
+    $pretype
+    $psh
+    @RememberOnROptions
+    $remoteport
+    @res
+    $rl
+    @saved
+    $signalLevel
+    $sub
+    $term
+    $usercontext
+    $warnLevel
+);
+
+our (
+    @cmdfhs,
+    $evalarg,
+    $frame,
+    $hist,
+    $ImmediateStop,
+    $line,
+    $onetimeDump,
+    $onetimedumpDepth,
+    %option,
+    $OUT,
+    $packname,
+    $signal,
+    $single,
+    $start,
+    %sub,
+    $subname,
+    $trace,
+    $window,
+);
+
+# Used to save @ARGV and extract any debugger-related flags.
+use vars qw(@ARGS);
+
+# Used to prevent multiple entries to diesignal()
+# (if for instance diesignal() itself dies)
+use vars qw($panic);
+
+# Used to prevent the debugger from running nonstop
+# after a restart
+our ($second_time);
+
+sub _calc_usercontext {
+    my ($package) = @_;
+
+    # Cancel strict completely for the evaluated code, so the code
+    # the user evaluates won't be affected by it. (Shlomi Fish)
+    return 'no strict; ($@, $!, $^E, $,, $/, $\, $^W) = @DB::saved;'
+    . "package $package;";    # this won't let them modify, alas
+}
+
 sub eval {
 
     # 'my' would make it visible from user code
@@ -706,267 +798,7 @@
 # Ray Lischner (uunet!mntgfx!lisch) as of 5 Nov 1990
 # Johan Vromans -- upgrade to 4.0 pl 10
 # Ilya Zakharevich -- patches after 5.001 (and some before ;-)
-
-# (We have made efforts to  clarify the comments in the change log
-# in other places; some of them may seem somewhat obscure as they
-# were originally written, and explaining them away from the code
-# in question seems conterproductive.. -JM)
-
 ########################################################################
-# Changes: 0.94
-#   + A lot of things changed after 0.94. First of all, core now informs
-#     debugger about entry into XSUBs, overloaded operators, tied operations,
-#     BEGIN and END. Handy with `O f=2'.
-#   + This can make debugger a little bit too verbose, please be patient
-#     and report your problems promptly.
-#   + Now the option frame has 3 values: 0,1,2. XXX Document!
-#   + Note that if DESTROY returns a reference to the object (or object),
-#     the deletion of data may be postponed until the next function call,
-#     due to the need to examine the return value.
-#
-# Changes: 0.95
-#   + `v' command shows versions.
-#
-# Changes: 0.96
-#   + `v' command shows version of readline.
-#     primitive completion works (dynamic variables, subs for `b' and `l',
-#     options). Can `p %var'
-#   + Better help (`h <' now works). New commands <<, >>, {, {{.
-#     {dump|print}_trace() coded (to be able to do it from <<cmd).
-#   + `c sub' documented.
-#   + At last enough magic combined to stop after the end of debuggee.
-#   + !! should work now (thanks to Emacs bracket matching an extra
-#     `]' in a regexp is caught).
-#   + `L', `D' and `A' span files now (as documented).
-#   + Breakpoints in `require'd code are possible (used in `R').
-#   +  Some additional words on internal work of debugger.
-#   + `b load filename' implemented.
-#   + `b postpone subr' implemented.
-#   + now only `q' exits debugger (overwritable on $inhibit_exit).
-#   + When restarting debugger breakpoints/actions persist.
-#   + Buglet: When restarting debugger only one breakpoint/action per
-#             autoloaded function persists.
-#
-# Changes: 0.97: NonStop will not stop in at_exit().
-#   + Option AutoTrace implemented.
-#   + Trace printed differently if frames are printed too.
-#   + new `inhibitExit' option.
-#   + printing of a very long statement interruptible.
-# Changes: 0.98: New command `m' for printing possible methods
-#   + 'l -' is a synonym for `-'.
-#   + Cosmetic bugs in printing stack trace.
-#   +  `frame' & 8 to print "expanded args" in stack trace.
-#   + Can list/break in imported subs.
-#   + new `maxTraceLen' option.
-#   + frame & 4 and frame & 8 granted.
-#   + new command `m'
-#   + nonstoppable lines do not have `:' near the line number.
-#   + `b compile subname' implemented.
-#   + Will not use $` any more.
-#   + `-' behaves sane now.
-# Changes: 0.99: Completion for `f', `m'.
-#   +  `m' will remove duplicate names instead of duplicate functions.
-#   + `b load' strips trailing whitespace.
-#     completion ignores leading `|'; takes into account current package
-#     when completing a subroutine name (same for `l').
-# Changes: 1.07: Many fixed by tchrist 13-March-2000
-#   BUG FIXES:
-#   + Added bare minimal security checks on perldb rc files, plus
-#     comments on what else is needed.
-#   + Fixed the ornaments that made "|h" completely unusable.
-#     They are not used in print_help if they will hurt.  Strip pod
-#     if we're paging to less.
-#   + Fixed mis-formatting of help messages caused by ornaments
-#     to restore Larry's original formatting.
-#   + Fixed many other formatting errors.  The code is still suboptimal,
-#     and needs a lot of work at restructuring.  It's also misindented
-#     in many places.
-#   + Fixed bug where trying to look at an option like your pager
-#     shows "1".
-#   + Fixed some $? processing.  Note: if you use csh or tcsh, you will
-#     lose.  You should consider shell escapes not using their shell,
-#     or else not caring about detailed status.  This should really be
-#     unified into one place, too.
-#   + Fixed bug where invisible trailing whitespace on commands hoses you,
-#     tricking Perl into thinking you weren't calling a debugger command!
-#   + Fixed bug where leading whitespace on commands hoses you.  (One
-#     suggests a leading semicolon or any other irrelevant non-whitespace
-#     to indicate literal Perl code.)
-#   + Fixed bugs that ate warnings due to wrong selected handle.
-#   + Fixed a precedence bug on signal stuff.
-#   + Fixed some unseemly wording.
-#   + Fixed bug in help command trying to call perl method code.
-#   + Fixed to call dumpvar from exception handler.  SIGPIPE killed us.
-#   ENHANCEMENTS:
-#   + Added some comments.  This code is still nasty spaghetti.
-#   + Added message if you clear your pre/post command stacks which was
-#     very easy to do if you just typed a bare >, <, or {.  (A command
-#     without an argument should *never* be a destructive action; this
-#     API is fundamentally screwed up; likewise option setting, which
-#     is equally buggered.)
-#   + Added command stack dump on argument of "?" for >, <, or {.
-#   + Added a semi-built-in doc viewer command that calls man with the
-#     proper %Config::Config path (and thus gets caching, man -k, etc),
-#     or else perldoc on obstreperous platforms.
-#   + Added to and rearranged the help information.
-#   + Detected apparent misuse of { ... } to declare a block; this used
-#     to work but now is a command, and mysteriously gave no complaint.
-#
-# Changes: 1.08: Apr 25, 2001  Jon Eveland <jweveland at yahoo.com>
-#   BUG FIX:
-#   + This patch to perl5db.pl cleans up formatting issues on the help
-#     summary (h h) screen in the debugger.  Mostly columnar alignment
-#     issues, plus converted the printed text to use all spaces, since
-#     tabs don't seem to help much here.
-#
-# Changes: 1.09: May 19, 2001  Ilya Zakharevich <ilya at math.ohio-state.edu>
-#   Minor bugs corrected;
-#   + Support for auto-creation of new TTY window on startup, either
-#     unconditionally, or if started as a kid of another debugger session;
-#   + New `O'ption CreateTTY
-#       I<CreateTTY>      bits control attempts to create a new TTY on events:
-#                         1: on fork()
-#                         2: debugger is started inside debugger
-#                         4: on startup
-#   + Code to auto-create a new TTY window on OS/2 (currently one
-#     extra window per session - need named pipes to have more...);
-#   + Simplified interface for custom createTTY functions (with a backward
-#     compatibility hack); now returns the TTY name to use; return of ''
-#     means that the function reset the I/O handles itself;
-#   + Better message on the semantic of custom createTTY function;
-#   + Convert the existing code to create a TTY into a custom createTTY
-#     function;
-#   + Consistent support for TTY names of the form "TTYin,TTYout";
-#   + Switch line-tracing output too to the created TTY window;
-#   + make `b fork' DWIM with CORE::GLOBAL::fork;
-#   + High-level debugger API cmd_*():
-#      cmd_b_load($filenamepart)            # b load filenamepart
-#      cmd_b_line($lineno [, $cond])        # b lineno [cond]
-#      cmd_b_sub($sub [, $cond])            # b sub [cond]
-#      cmd_stop()                           # Control-C
-#      cmd_d($lineno)                       # d lineno (B)
-#      The cmd_*() API returns FALSE on failure; in this case it outputs
-#      the error message to the debugging output.
-#   + Low-level debugger API
-#      break_on_load($filename)             # b load filename
-#      @files = report_break_on_load()      # List files with load-breakpoints
-#      breakable_line_in_filename($name, $from [, $to])
-#                                           # First breakable line in the
-#                                           # range $from .. $to.  $to defaults
-#                                           # to $from, and may be less than
-#                                           # $to
-#      breakable_line($from [, $to])        # Same for the current file
-#      break_on_filename_line($name, $lineno [, $cond])
-#                                           # Set breakpoint,$cond defaults to
-#                                           # 1
-#      break_on_filename_line_range($name, $from, $to [, $cond])
-#                                           # As above, on the first
-#                                           # breakable line in range
-#      break_on_line($lineno [, $cond])     # As above, in the current file
-#      break_subroutine($sub [, $cond])     # break on the first breakable line
-#      ($name, $from, $to) = subroutine_filename_lines($sub)
-#                                           # The range of lines of the text
-#      The low-level API returns TRUE on success, and die()s on failure.
-#
-# Changes: 1.10: May 23, 2001  Daniel Lewart <d-lewart at uiuc.edu>
-#   BUG FIXES:
-#   + Fixed warnings generated by "perl -dWe 42"
-#   + Corrected spelling errors
-#   + Squeezed Help (h) output into 80 columns
-#
-# Changes: 1.11: May 24, 2001  David Dyck <dcd at tc.fluke.com>
-#   + Made "x @INC" work like it used to
-#
-# Changes: 1.12: May 24, 2001  Daniel Lewart <d-lewart at uiuc.edu>
-#   + Fixed warnings generated by "O" (Show debugger options)
-#   + Fixed warnings generated by "p 42" (Print expression)
-# Changes: 1.13: Jun 19, 2001 Scott.L.Miller at compaq.com
-#   + Added windowSize option
-# Changes: 1.14: Oct  9, 2001 multiple
-#   + Clean up after itself on VMS (Charles Lane in 12385)
-#   + Adding "@ file" syntax (Peter Scott in 12014)
-#   + Debug reloading selfloaded stuff (Ilya Zakharevich in 11457)
-#   + $^S and other debugger fixes (Ilya Zakharevich in 11120)
-#   + Forgot a my() declaration (Ilya Zakharevich in 11085)
-# Changes: 1.15: Nov  6, 2001 Michael G Schwern <schwern at pobox.com>
-#   + Updated 1.14 change log
-#   + Added *dbline explanatory comments
-#   + Mentioning perldebguts man page
-# Changes: 1.16: Feb 15, 2002 Mark-Jason Dominus <mjd at plover.com>
-#   + $onetimeDump improvements
-# Changes: 1.17: Feb 20, 2002 Richard Foley <richard.foley at rfi.net>
-#   Moved some code to cmd_[.]()'s for clarity and ease of handling,
-#   rationalised the following commands and added cmd_wrapper() to
-#   enable switching between old and frighteningly consistent new
-#   behaviours for diehards: 'o CommandSet=pre580' (sigh...)
-#     a(add),       A(del)            # action expr   (added del by line)
-#   + b(add),       B(del)            # break  [line] (was b,D)
-#   + w(add),       W(del)            # watch  expr   (was W,W)
-#                                     # added del by expr
-#   + h(summary), h h(long)           # help (hh)     (was h h,h)
-#   + m(methods),   M(modules)        # ...           (was m,v)
-#   + o(option)                       # lc            (was O)
-#   + v(view code), V(view Variables) # ...           (was w,V)
-# Changes: 1.18: Mar 17, 2002 Richard Foley <richard.foley at rfi.net>
-#   + fixed missing cmd_O bug
-# Changes: 1.19: Mar 29, 2002 Spider Boardman
-#   + Added missing local()s -- DB::DB is called recursively.
-# Changes: 1.20: Feb 17, 2003 Richard Foley <richard.foley at rfi.net>
-#   + pre'n'post commands no longer trashed with no args
-#   + watch val joined out of eval()
-# Changes: 1.21: Jun 04, 2003 Joe McMahon <mcmahon at ibiblio.org>
-#   + Added comments and reformatted source. No bug fixes/enhancements.
-#   + Includes cleanup by Robin Barker and Jarkko Hietaniemi.
-# Changes: 1.22  Jun 09, 2003 Alex Vandiver <alexmv at MIT.EDU>
-#   + Flush stdout/stderr before the debugger prompt is printed.
-# Changes: 1.23: Dec 21, 2003 Dominique Quatravaux
-#   + Fix a side-effect of bug #24674 in the perl debugger ("odd taint bug")
-# Changes: 1.24: Mar 03, 2004 Richard Foley <richard.foley at rfi.net>
-#   + Added command to save all debugger commands for sourcing later.
-#   + Added command to display parent inheritance tree of given class.
-#   + Fixed minor newline in history bug.
-# Changes: 1.25: Apr 17, 2004 Richard Foley <richard.foley at rfi.net>
-#   + Fixed option bug (setting invalid options + not recognising valid short forms)
-# Changes: 1.26: Apr 22, 2004 Richard Foley <richard.foley at rfi.net>
-#   + unfork the 5.8.x and 5.9.x debuggers.
-#   + whitespace and assertions call cleanup across versions 
-#   + H * deletes (resets) history
-#   + i now handles Class + blessed objects
-# Changes: 1.27: May 09, 2004 Richard Foley <richard.foley at rfi.net>
-#   + updated pod page references - clunky.
-#   + removed windowid restriction for forking into an xterm.
-#   + more whitespace again.
-#   + wrapped restart and enabled rerun [-n] (go back n steps) command.
-# Changes: 1.28: Oct 12, 2004 Richard Foley <richard.foley at rfi.net>
-#   + Added threads support (inc. e and E commands)
-# Changes: 1.29: Nov 28, 2006 Bo Lindbergh <blgl at hagernas.com> 
-#   + Added macosx_get_fork_TTY support 
-# Changes: 1.30: Mar 06, 2007 Andreas Koenig <andk at cpan.org>
-#   + Added HistFile, HistSize
-# Changes: 1.31
-#   + Remove support for assertions and -A
-#   + stop NEXT::AUTOLOAD from emitting warnings under the debugger. RT #25053
-#   + "update for Mac OS X 10.5" [finding the tty device]
-#   + "What I needed to get the forked debugger to work" [on VMS]
-#   + [perl #57016] debugger: o warn=0 die=0 ignored
-#   + Note, but don't use, PERLDBf_SAVESRC
-#   + Fix #7013: lvalue subs not working inside debugger
-# Changes: 1.32: Jun 03, 2009 Jonathan Leto <jonathan at leto.net>
-#   + Fix bug where a key _< with undefined value was put into the symbol table
-#   +   when the $filename variable is not set
-# Changes: 1.33:
-#   + Debugger prints lines to the remote port when it forks and openes a new port (f633fd2)
-#   + The debugger now continues to use RemotePort when it's been configured to use it. (11653f7)
-#   + Stop using $ENV{LESS} for parameters not intended for less (d463cf2)
-#   + Configure has a path to less and perl5db.pl can use it (bf320d6)
-#   + Die with $@ instead of empty message (86755f4)
-#   + Remove extra/useless $@ check after eval { require PadWalker } (which is still checked) (dab8d6d)
-#   + Promote eval( "require ..." ) to eval { require ... } (4a49187)
-#   + Promote eval { require( ... )} || die to mere require( ... ) (999f23b)
-#   + Remove indirect object notation from debugger (bee4b46)
-#   + Document that @{$main::{'_<'.$filename}} lines are dualvar to (COP*). (7e17a74)
-#   + Remove MacOS classic support from the debugger. (2b894b7)
-########################################################################
 
 =head1 DEBUGGER INITIALIZATION
 
@@ -1004,7 +836,7 @@
 you of each new thread created.  It will also indicate the thread id in which
 we are currently running within the prompt like this:
 
-	[tid] DB<$i>
+    [tid] DB<$i>
 
 Where C<[tid]> is an integer thread id and C<$i> is the familiar debugger
 command prompt.  The prompt will show: C<[0]> when running under threads, but
@@ -1011,7 +843,7 @@
 not actually in a thread.  C<[tid]> is consistent with C<gdb> usage.
 
 While running under threads, when you set or delete a breakpoint (etc.), this
-will apply to all threads, not just the currently running one.  When you are 
+will apply to all threads, not just the currently running one.  When you are
 in a currently executing thread, you will stay there until it completes.  With
 the current implementation it is not currently possible to hop from one thread
 to another.
@@ -1024,56 +856,43 @@
 =cut
 
 BEGIN {
-  # ensure we can share our non-threaded variables or no-op
-  if ($ENV{PERL5DB_THREADED}) {
-	require threads;
-	require threads::shared;
-	import threads::shared qw(share);
-	$DBGR;
-	share(\$DBGR);
-	lock($DBGR);
-	print "Threads support enabled\n";
-  } else {
-	*lock  = sub(*) {};
-	*share = sub(*) {};
-  }
+    # ensure we can share our non-threaded variables or no-op
+    if ($ENV{PERL5DB_THREADED}) {
+        require threads;
+        require threads::shared;
+        import threads::shared qw(share);
+        $DBGR;
+        share(\$DBGR);
+        lock($DBGR);
+        print "Threads support enabled\n";
+    } else {
+        *share = sub(\[$@%]) {};
+    }
 }
 
-# This would probably be better done with "use vars", but that wasn't around
-# when this code was originally written. (Neither was "use strict".) And on
-# the principle of not fiddling with something that was working, this was
-# left alone.
-warn(               # Do not ;-)
-    # These variables control the execution of 'dumpvar.pl'.
-    $dumpvar::hashDepth,
-    $dumpvar::arrayDepth,
-    $dumpvar::dumpDBFiles,
-    $dumpvar::dumpPackages,
-    $dumpvar::quoteHighBit,
-    $dumpvar::printUndef,
-    $dumpvar::globPrint,
-    $dumpvar::usageOnly,
+# These variables control the execution of 'dumpvar.pl'.
+{
+    package dumpvar;
+    use vars qw(
+    $hashDepth
+    $arrayDepth
+    $dumpDBFiles
+    $dumpPackages
+    $quoteHighBit
+    $printUndef
+    $globPrint
+    $usageOnly
+    );
+}
 
-    # used to save @ARGV and extract any debugger-related flags.
-    @ARGS,
+# used to control die() reporting in diesignal()
+{
+    package Carp;
+    use vars qw($CarpLevel);
+}
 
-    # used to control die() reporting in diesignal()
-    $Carp::CarpLevel,
-
-    # used to prevent multiple entries to diesignal()
-    # (if for instance diesignal() itself dies)
-    $panic,
-
-    # used to prevent the debugger from running nonstop
-    # after a restart
-    $second_time,
-  )
-  if 0;
-
 # without threads, $filename is not defined until DB::DB is called
-foreach my $k (keys (%INC)) {
-	&share(\$main::{'_<'.$filename}) if defined $filename;
-};
+share($main::{'_<'.$filename}) if defined $filename;
 
 # Command-line + PERLLIB:
 # Save the contents of @INC before they are modified elsewhere.
@@ -1092,10 +911,15 @@
 # value when the 'r' command is used to return from a subroutine.
 $inhibit_exit = $option{PrintRet} = 1;
 
+use vars qw($trace_to_depth);
+
+# Default to 1E9 so it won't be limited to a certain recursion depth.
+$trace_to_depth = 1E9;
+
 =head1 OPTION PROCESSING
 
-The debugger's options are actually spread out over the debugger itself and 
-C<dumpvar.pl>; some of these are variables to be set, while others are 
+The debugger's options are actually spread out over the debugger itself and
+C<dumpvar.pl>; some of these are variables to be set, while others are
 subs to be called with a value. To try to make this a little easier to
 manage, the debugger uses a few data structures to define what options
 are legal and how they are to be processed.
@@ -1131,6 +955,8 @@
 
 =cut
 
+use vars qw(%optionVars);
+
 %optionVars = (
     hashDepth     => \$dumpvar::hashDepth,
     arrayDepth    => \$dumpvar::arrayDepth,
@@ -1160,8 +986,10 @@
 Third, C<%optionAction> defines the subroutine to be called to process each
 option.
 
-=cut 
+=cut
 
+use vars qw(%optionAction);
+
 %optionAction = (
     compactDump   => \&dumpvar::compactDump,
     veryCompact   => \&dumpvar::veryCompact,
@@ -1195,6 +1023,8 @@
 # not in the table. A subsequent patch will correct this problem; for
 # the moment, we're just recommenting, and we are NOT going to change
 # function.
+use vars qw(%optionRequire);
+
 %optionRequire = (
     compactDump => 'dumpvar.pl',
     veryCompact => 'dumpvar.pl',
@@ -1302,8 +1132,8 @@
 
 # Set up defaults for command recall and shell escape (note:
 # these currently don't work in linemode debugging).
-&recallCommand("!") unless defined $prc;
-&shellBang("!")     unless defined $psh;
+recallCommand("!") unless defined $prc;
+shellBang("!")     unless defined $psh;
 
 =pod
 
@@ -1341,8 +1171,11 @@
 
 # Save the current contents of the environment; we're about to
 # much with it. We'll need this if we have to restart.
+use vars qw($ini_pids);
 $ini_pids = $ENV{PERLDB_PIDS};
 
+use vars qw ($pids $term_pid);
+
 if ( defined $ENV{PERLDB_PIDS} ) {
 
     # We're a child. Make us a label out of the current PID structure
@@ -1374,29 +1207,29 @@
     $term_pid         = $$;
 }
 
+use vars qw($pidprompt);
 $pidprompt = '';
 
 # Sets up $emacs as a synonym for $slave_editor.
+our ($slave_editor);
 *emacs = $slave_editor if $slave_editor;    # May be used in afterinit()...
 
 =head2 READING THE RC FILE
 
-The debugger will read a file of initialization options if supplied. If    
+The debugger will read a file of initialization options if supplied. If
 running interactively, this is C<.perldb>; if not, it's C<perldb.ini>.
 
-=cut      
+=cut
 
 # As noted, this test really doesn't check accurately that the debugger
 # is running at a terminal or not.
 
-my $dev_tty = '/dev/tty';
-   $dev_tty = 'TT:' if ($^O eq 'VMS');
-if ( -e $dev_tty ) {                      # this is the wrong metric!
-    $rcfile = ".perldb";
+use vars qw($rcfile);
+{
+    my $dev_tty = (($^O eq 'VMS') ? 'TT:' : '/dev/tty');
+    # this is the wrong metric!
+    $rcfile = ((-e $dev_tty) ? ".perldb" : "perldb.ini");
 }
-else {
-    $rcfile = "perldb.ini";
-}
 
 =pod
 
@@ -1422,7 +1255,7 @@
     unless ( is_safe_file($file) ) {
         CORE::warn <<EO_GRIPE;
 perldb: Must not source insecure rcfile $file.
-        You or the superuser must be the owner, and it must not 
+        You or the superuser must be the owner, and it must not
         be writable by anyone but its owner.
 EO_GRIPE
         return;
@@ -1475,7 +1308,7 @@
 
 The last thing we do during initialization is determine which subroutine is
 to be used to obtain a new terminal when a new debugger is started. Right now,
-the debugger only handles TCP sockets, X Windows, OS/2, amd Mac OS X
+the debugger only handles TCP sockets, X11, OS/2, amd Mac OS X
 (darwin).
 
 =cut
@@ -1486,7 +1319,7 @@
 
 if (not defined &get_fork_TTY)       # only if no routine exists
 {
-    if ( defined $remoteport ) {                 
+    if ( defined $remoteport ) {
                                                  # Expect an inetd-like server
         *get_fork_TTY = \&socket_get_fork_TTY;   # to listen to us
     }
@@ -1526,7 +1359,7 @@
 if C<PERLDB_RESTART> is there; if so, we reload all the information that
 the R command stuffed into the environment variables.
 
-  PERLDB_RESTART   - flag only, contains no restart data itself.       
+  PERLDB_RESTART   - flag only, contains no restart data itself.
   PERLDB_HIST      - command history, if it's available
   PERLDB_ON_LOAD   - breakpoints set by the rc file
   PERLDB_POSTPONE  - subs that have been loaded/not executed, and have actions
@@ -1544,36 +1377,58 @@
 
 =cut
 
-if ( exists $ENV{PERLDB_RESTART} ) {
+use vars qw(%postponed_file @typeahead);
 
-    # We're restarting, so we don't need the flag that says to restart anymore.
-    delete $ENV{PERLDB_RESTART};
+our (@hist, @truehist);
 
-    # $restart = 1;
+sub _restore_shared_globals_after_restart
+{
     @hist          = get_list('PERLDB_HIST');
     %break_on_load = get_list("PERLDB_ON_LOAD");
     %postponed     = get_list("PERLDB_POSTPONE");
 
-	share(@hist);
-	share(@truehist);
-	share(%break_on_load);
-	share(%postponed);
+    share(@hist);
+    share(@truehist);
+    share(%break_on_load);
+    share(%postponed);
+}
 
-    # restore breakpoints/actions
+sub _restore_breakpoints_and_actions {
+
     my @had_breakpoints = get_list("PERLDB_VISITED");
-    for ( 0 .. $#had_breakpoints ) {
-        my %pf = get_list("PERLDB_FILE_$_");
-        $postponed_file{ $had_breakpoints[$_] } = \%pf if %pf;
+
+    for my $file_idx ( 0 .. $#had_breakpoints ) {
+        my $filename = $had_breakpoints[$file_idx];
+        my %pf = get_list("PERLDB_FILE_$file_idx");
+        $postponed_file{ $filename } = \%pf if %pf;
+        my @lines = sort {$a <=> $b} keys(%pf);
+        my @enabled_statuses = get_list("PERLDB_FILE_ENABLED_$file_idx");
+        for my $line_idx (0 .. $#lines) {
+            _set_breakpoint_enabled_status(
+                $filename,
+                $lines[$line_idx],
+                ($enabled_statuses[$line_idx] ? 1 : ''),
+            );
+        }
     }
 
-    # restore options
-    my %opt = get_list("PERLDB_OPT");
-    my ( $opt, $val );
-    while ( ( $opt, $val ) = each %opt ) {
+    return;
+}
+
+sub _restore_options_after_restart
+{
+    my %options_map = get_list("PERLDB_OPT");
+
+    while ( my ( $opt, $val ) = each %options_map ) {
         $val =~ s/[\\\']/\\$1/g;
         parse_options("$opt'$val'");
     }
 
+    return;
+}
+
+sub _restore_globals_after_restart
+{
     # restore original @INC
     @INC     = get_list("PERLDB_INC");
     @ini_INC = @INC;
@@ -1583,6 +1438,25 @@
     $pre       = [ get_list("PERLDB_PRE") ];
     $post      = [ get_list("PERLDB_POST") ];
     @typeahead = get_list( "PERLDB_TYPEAHEAD", @typeahead );
+
+    return;
+}
+
+
+if ( exists $ENV{PERLDB_RESTART} ) {
+
+    # We're restarting, so we don't need the flag that says to restart anymore.
+    delete $ENV{PERLDB_RESTART};
+
+    # $restart = 1;
+    _restore_shared_globals_after_restart();
+
+    _restore_breakpoints_and_actions();
+
+    # restore options
+    _restore_options_after_restart();
+
+    _restore_globals_after_restart();
 } ## end if (exists $ENV{PERLDB_RESTART...
 
 =head2 SETTING UP THE TERMINAL
@@ -1593,9 +1467,23 @@
 
 =cut
 
+use vars qw($notty $console $tty $LINEINFO);
+use vars qw($lineinfo $doccmd);
+
+our ($runnonstop);
+
+# Local autoflush to avoid rt#116769,
+# as calling IO::File methods causes an unresolvable loop
+# that results in debugger failure.
+sub _autoflush {
+    my $o = select($_[0]);
+    $|++;
+    select($o);
+}
+
 if ($notty) {
     $runnonstop = 1;
-	share($runnonstop);
+    share($runnonstop);
 }
 
 =pod
@@ -1611,9 +1499,10 @@
 
     # Is Perl being run from a slave editor or graphical debugger?
     # If so, don't use readline, and set $slave_editor = 1.
-    $slave_editor =
-      ( ( defined $main::ARGV[0] ) and ( $main::ARGV[0] eq '-emacs' ) );
-    $rl = 0, shift(@main::ARGV) if $slave_editor;
+    if ($slave_editor = ( @main::ARGV && ( $main::ARGV[0] eq '-emacs' ) )) {
+        $rl = 0;
+        shift(@main::ARGV);
+    }
 
     #require Term::ReadLine;
 
@@ -1633,7 +1522,7 @@
         undef $console;
     }
 
-=item * Unix - use C</dev/tty>.
+=item * Unix - use F</dev/tty>.
 
 =cut
 
@@ -1665,7 +1554,7 @@
 
 Several other systems don't use a specific console. We C<undef $console>
 for those (Windows using a slave editor/graphical debugger, NetWare, OS/2
-with a slave editor, Epoc).
+with a slave editor).
 
 =cut
 
@@ -1688,11 +1577,6 @@
         $console = undef;
     }
 
-    # EPOC also falls into the 'got to use STDIN' camp.
-    if ( $^O eq 'epoc' ) {
-        $console = undef;
-    }
-
 =pod
 
 If there is a TTY hanging around from a parent, we use that as the console.
@@ -1701,7 +1585,7 @@
 
     $console = $tty if defined $tty;
 
-=head2 SOCKET HANDLING   
+=head2 SOCKET HANDLING
 
 The debugger is capable of opening a socket and carrying out a debugging
 session over the socket.
@@ -1773,13 +1657,14 @@
 
         # Keep copies of the filehandles so that when the pager runs, it
         # can close standard input without clobbering ours.
-        $IN = \*IN, $OUT = \*OUT if $console or not defined $console;
+        if ($console or (not defined($console))) {
+            $IN = \*IN;
+            $OUT = \*OUT;
+        }
     } ## end elsif (from if(defined $remoteport))
 
     # Unbuffer DB::OUT. We need to see responses right away.
-    my $previous = select($OUT);
-    $| = 1;                                  # for DB::OUT
-    select($previous);
+    _autoflush($OUT);
 
     # Line info goes to debugger output unless pointed elsewhere.
     # Pointing elsewhere makes it possible for slave editors to
@@ -1787,8 +1672,8 @@
     # and a I/O description to keep track of.
     $LINEINFO = $OUT     unless defined $LINEINFO;
     $lineinfo = $console unless defined $lineinfo;
-	# share($LINEINFO); # <- unable to share globs
-	share($lineinfo);   # 
+    # share($LINEINFO); # <- unable to share globs
+    share($lineinfo);   #
 
 =pod
 
@@ -1812,7 +1697,7 @@
                 $slave_editor ? "enabled" : "available", ".\n"
             );
             print $OUT
-"\nEnter h or `h h' for help, or `$doccmd perldebug' for more help.\n\n";
+"\nEnter h or 'h h' for help, or '$doccmd perldebug' for more help.\n\n";
         } ## end else [ if ($term_pid eq '-1')
     } ## end unless ($runnonstop)
 } ## end else [ if ($notty)
@@ -1820,20 +1705,22 @@
 # XXX This looks like a bug to me.
 # Why copy to @ARGS and then futz with @args?
 @ARGS = @ARGV;
-for (@args) {
+# for (@args) {
     # Make sure backslashes before single quotes are stripped out, and
     # keep args unless they are numeric (XXX why?)
     # s/\'/\\\'/g;                      # removed while not justified understandably
     # s/(.*)/'$1'/ unless /^-?[\d.]+$/; # ditto
-}
+# }
 
 # If there was an afterinit() sub defined, call it. It will get
 # executed in our scope, so it can fiddle with debugger globals.
 if ( defined &afterinit ) {    # May be defined in $rcfile
-    &afterinit();
+    afterinit();
 }
 
 # Inform us about "Stack dump during die enabled ..." in dieLevel().
+use vars qw($I_m_init);
+
 $I_m_init = 1;
 
 ############################################################ Subroutines
@@ -1855,51 +1742,807 @@
 
 =cut
 
-sub DB {
+# $cmd cannot be an our() variable unfortunately (possible perl bug?).
 
-    # lock the debugger and get the thread id for the prompt
-	lock($DBGR);
-	my $tid;
-	if ($ENV{PERL5DB_THREADED}) {
-		$tid = eval { "[".threads->tid."]" };
-	}
+use vars qw(
+    $action
+    $cmd
+    $file
+    $filename_ini
+    $finished
+    %had_breakpoints
+    $level
+    $max
+    $package
+    $try
+);
 
-    # Check for whether we should be running continuously or not.
-    # _After_ the perl program is compiled, $single is set to 1:
-    if ( $single and not $second_time++ ) {
+our (
+    %alias,
+    $doret,
+    $end,
+    $fall_off_end,
+    $incr,
+    $laststep,
+    $rc,
+    $sh,
+    $stack_depth,
+    @stack,
+    @to_watch,
+    @old_watch,
+);
 
-        # Options say run non-stop. Run until we get an interrupt.
-        if ($runnonstop) {    # Disable until signal
-                # If there's any call stack in place, turn off single
-                # stepping into subs throughout the stack.
-            for ( $i = 0 ; $i <= $stack_depth ; ) {
-                $stack[ $i++ ] &= ~1;
+sub _DB__determine_if_we_should_break
+{
+    # if we have something here, see if we should break.
+    # $stop is lexical and local to this block - $action on the other hand
+    # is global.
+    my $stop;
+
+    if ( $dbline{$line}
+        && _is_breakpoint_enabled($filename, $line)
+        && (( $stop, $action ) = split( /\0/, $dbline{$line} ) ) )
+    {
+
+        # Stop if the stop criterion says to just stop.
+        if ( $stop eq '1' ) {
+            $signal |= 1;
+        }
+
+        # It's a conditional stop; eval it in the user's context and
+        # see if we should stop. If so, remove the one-time sigil.
+        elsif ($stop) {
+            $evalarg = "\$DB::signal |= 1 if do {$stop}";
+            # The &-call is here to ascertain the mutability of @_.
+            &DB::eval;
+            # If the breakpoint is temporary, then delete its enabled status.
+            if ($dbline{$line} =~ s/;9($|\0)/$1/) {
+                _cancel_breakpoint_temp_enabled_status($filename, $line);
             }
+        }
+    } ## end if ($dbline{$line} && ...
+}
 
-            # And we are now no longer in single-step mode.
-            $single = 0;
+sub _DB__is_finished {
+    if ($finished and $level <= 1) {
+        end_report();
+        return 1;
+    }
+    else {
+        return;
+    }
+}
 
-            # If we simply returned at this point, we wouldn't get
-            # the trace info. Fall on through.
-            # return;
-        } ## end if ($runnonstop)
+sub _DB__read_next_cmd
+{
+    my ($tid) = @_;
 
-        elsif ($ImmediateStop) {
+    # We have a terminal, or can get one ...
+    if (!$term) {
+        setterm();
+    }
 
-            # We are supposed to stop here; XXX probably a break.
-            $ImmediateStop = 0;    # We've processed it; turn it off
-            $signal        = 1;    # Simulate an interrupt to force
-                                   # us into the command loop
+    # ... and it belogs to this PID or we get one for this PID ...
+    if ($term_pid != $$) {
+        resetterm(1);
+    }
+
+    # ... and we got a line of command input ...
+    $cmd = DB::readline(
+        "$pidprompt $tid DB"
+        . ( '<' x $level )
+        . ( $#hist + 1 )
+        . ( '>' x $level ) . " "
+    );
+
+    return defined($cmd);
+}
+
+sub _DB__trim_command_and_return_first_component {
+    my ($obj) = @_;
+
+    $cmd =~ s/\A\s+//s;    # trim annoying leading whitespace
+    $cmd =~ s/\s+\z//s;    # trim annoying trailing whitespace
+
+    my ($verb, $args) = $cmd =~ m{\A(\S*)\s*(.*)}s;
+
+    $obj->cmd_verb($verb);
+    $obj->cmd_args($args);
+
+    return;
+}
+
+sub _DB__handle_f_command {
+    my ($obj) = @_;
+
+    if ($file = $obj->cmd_args) {
+        # help for no arguments (old-style was return from sub).
+        if ( !$file ) {
+            print $OUT
+            "The old f command is now the r command.\n";    # hint
+            print $OUT "The new f command switches filenames.\n";
+            next CMD;
+        } ## end if (!$file)
+
+        # if not in magic file list, try a close match.
+        if ( !defined $main::{ '_<' . $file } ) {
+            if ( ($try) = grep( m#^_<.*$file#, keys %main:: ) ) {
+                {
+                    $try = substr( $try, 2 );
+                    print $OUT "Choosing $try matching '$file':\n";
+                    $file = $try;
+                }
+            } ## end if (($try) = grep(m#^_<.*$file#...
+        } ## end if (!defined $main::{ ...
+
+        # If not successfully switched now, we failed.
+        if ( !defined $main::{ '_<' . $file } ) {
+            print $OUT "No file matching '$file' is loaded.\n";
+            next CMD;
         }
-    } ## end if ($single and not $second_time...
 
-    # If we're in single-step mode, or an interrupt (real or fake)
-    # has occurred, turn off non-stop mode.
-    $runnonstop = 0 if $single or $signal;
+        # We switched, so switch the debugger internals around.
+        elsif ( $file ne $filename ) {
+            *dbline   = $main::{ '_<' . $file };
+            $max      = $#dbline;
+            $filename = $file;
+            $start    = 1;
+            $cmd      = "l";
+        } ## end elsif ($file ne $filename)
 
+        # We didn't switch; say we didn't.
+        else {
+            print $OUT "Already in $file.\n";
+            next CMD;
+        }
+    }
+
+    return;
+}
+
+sub _DB__handle_dot_command {
+    my ($obj) = @_;
+
+    # . command.
+    if ($obj->_is_full('.')) {
+        $incr = -1;    # stay at current line
+
+        # Reset everything to the old location.
+        $start    = $line;
+        $filename = $filename_ini;
+        *dbline   = $main::{ '_<' . $filename };
+        $max      = $#dbline;
+
+        # Now where are we?
+        print_lineinfo($obj->position());
+        next CMD;
+    }
+
+    return;
+}
+
+sub _DB__handle_y_command {
+    my ($obj) = @_;
+
+    if (my ($match_level, $match_vars)
+        = $obj->cmd_args =~ /\A(?:(\d*)\s*(.*))?\z/) {
+
+        # See if we've got the necessary support.
+        if (!eval { require PadWalker; PadWalker->VERSION(0.08) }) {
+            my $Err = $@;
+            _db_warn(
+                $Err =~ /locate/
+                ? "PadWalker module not found - please install\n"
+                : $Err
+            );
+            next CMD;
+        }
+
+        # Load up dumpvar if we don't have it. If we can, that is.
+        do 'dumpvar.pl' || die $@ unless defined &main::dumpvar;
+        defined &main::dumpvar
+            or print $OUT "dumpvar.pl not available.\n"
+            and next CMD;
+
+        # Got all the modules we need. Find them and print them.
+        my @vars = split( ' ', $match_vars || '' );
+
+        # Find the pad.
+        my $h = eval { PadWalker::peek_my( ( $match_level || 0 ) + 1 ) };
+
+        # Oops. Can't find it.
+        if (my $Err = $@) {
+            $Err =~ s/ at .*//;
+            _db_warn($Err);
+            next CMD;
+        }
+
+        # Show the desired vars with dumplex().
+        my $savout = select($OUT);
+
+        # Have dumplex dump the lexicals.
+        foreach my $key (sort keys %$h) {
+            dumpvar::dumplex( $key, $h->{$key},
+                defined $option{dumpDepth} ? $option{dumpDepth} : -1,
+                @vars );
+        }
+        select($savout);
+        next CMD;
+    }
+}
+
+sub _DB__handle_c_command {
+    my ($obj) = @_;
+
+    my $i = $obj->cmd_args;
+
+    if ($i =~ m#\A[\w:]*\z#) {
+
+        # Hey, show's over. The debugged program finished
+        # executing already.
+        next CMD if _DB__is_finished();
+
+        # Capture the place to put a one-time break.
+        $subname = $i;
+
+        #  Probably not needed, since we finish an interactive
+        #  sub-session anyway...
+        # local $filename = $filename;
+        # local *dbline = *dbline; # XXX Would this work?!
+        #
+        # The above question wonders if localizing the alias
+        # to the magic array works or not. Since it's commented
+        # out, we'll just leave that to speculation for now.
+
+        # If the "subname" isn't all digits, we'll assume it
+        # is a subroutine name, and try to find it.
+        if ( $subname =~ /\D/ ) {    # subroutine name
+            # Qualify it to the current package unless it's
+            # already qualified.
+            $subname = $package . "::" . $subname
+            unless $subname =~ /::/;
+
+            # find_sub will return "file:line_number" corresponding
+            # to where the subroutine is defined; we call find_sub,
+            # break up the return value, and assign it in one
+            # operation.
+            ( $file, $i ) = ( find_sub($subname) =~ /^(.*):(.*)$/ );
+
+            # Force the line number to be numeric.
+            $i = $i + 0;
+
+            # If we got a line number, we found the sub.
+            if ($i) {
+
+                # Switch all the debugger's internals around so
+                # we're actually working with that file.
+                $filename = $file;
+                *dbline   = $main::{ '_<' . $filename };
+
+                # Mark that there's a breakpoint in this file.
+                $had_breakpoints{$filename} |= 1;
+
+                # Scan forward to the first executable line
+                # after the 'sub whatever' line.
+                $max = $#dbline;
+                my $_line_num = $i;
+                while ($dbline[$_line_num] == 0 && $_line_num< $max)
+                {
+                    $_line_num++;
+                }
+                $i = $_line_num;
+            } ## end if ($i)
+
+            # We didn't find a sub by that name.
+            else {
+                print $OUT "Subroutine $subname not found.\n";
+                next CMD;
+            }
+        } ## end if ($subname =~ /\D/)
+
+        # At this point, either the subname was all digits (an
+        # absolute line-break request) or we've scanned through
+        # the code following the definition of the sub, looking
+        # for an executable, which we may or may not have found.
+        #
+        # If $i (which we set $subname from) is non-zero, we
+        # got a request to break at some line somewhere. On
+        # one hand, if there wasn't any real subroutine name
+        # involved, this will be a request to break in the current
+        # file at the specified line, so we have to check to make
+        # sure that the line specified really is breakable.
+        #
+        # On the other hand, if there was a subname supplied, the
+        # preceding block has moved us to the proper file and
+        # location within that file, and then scanned forward
+        # looking for the next executable line. We have to make
+        # sure that one was found.
+        #
+        # On the gripping hand, we can't do anything unless the
+        # current value of $i points to a valid breakable line.
+        # Check that.
+        if ($i) {
+
+            # Breakable?
+            if ( $dbline[$i] == 0 ) {
+                print $OUT "Line $i not breakable.\n";
+                next CMD;
+            }
+
+            # Yes. Set up the one-time-break sigil.
+            $dbline{$i} =~ s/($|\0)/;9$1/;  # add one-time-only b.p.
+            _enable_breakpoint_temp_enabled_status($filename, $i);
+        } ## end if ($i)
+
+        # Turn off stack tracing from here up.
+        for my $j (0 .. $stack_depth) {
+            $stack[ $j ] &= ~1;
+        }
+        last CMD;
+    }
+
+    return;
+}
+
+sub _DB__handle_forward_slash_command {
+    my ($obj) = @_;
+
+    # The pattern as a string.
+    use vars qw($inpat);
+
+    if (($inpat) = $cmd =~ m#\A/(.*)\z#) {
+
+        # Remove the final slash.
+        $inpat =~ s:([^\\])/$:$1:;
+
+        # If the pattern isn't null ...
+        if ( $inpat ne "" ) {
+
+            # Turn of warn and die procesing for a bit.
+            local $SIG{__DIE__};
+            local $SIG{__WARN__};
+
+            # Create the pattern.
+            eval 'no strict q/vars/; $inpat =~ m' . "\a$inpat\a";
+            if ( $@ ne "" ) {
+
+                # Oops. Bad pattern. No biscuit.
+                # Print the eval error and go back for more
+                # commands.
+                print {$OUT} "$@";
+                next CMD;
+            }
+            $obj->pat($inpat);
+        } ## end if ($inpat ne "")
+
+        # Set up to stop on wrap-around.
+        $end = $start;
+
+        # Don't move off the current line.
+        $incr = -1;
+
+        my $pat = $obj->pat;
+
+        # Done in eval so nothing breaks if the pattern
+        # does something weird.
+        eval
+        {
+            no strict q/vars/;
+            for (;;) {
+                # Move ahead one line.
+                ++$start;
+
+                # Wrap if we pass the last line.
+                if ($start > $max) {
+                    $start = 1;
+                }
+
+                # Stop if we have gotten back to this line again,
+                last if ($start == $end);
+
+                # A hit! (Note, though, that we are doing
+                # case-insensitive matching. Maybe a qr//
+                # expression would be better, so the user could
+                # do case-sensitive matching if desired.
+                if ($dbline[$start] =~ m/$pat/i) {
+                    if ($slave_editor) {
+                        # Handle proper escaping in the slave.
+                        print {$OUT} "\032\032$filename:$start:0\n";
+                    }
+                    else {
+                        # Just print the line normally.
+                        print {$OUT} "$start:\t",$dbline[$start],"\n";
+                    }
+                    # And quit since we found something.
+                    last;
+                }
+            }
+        };
+
+        if ($@) {
+            warn $@;
+        }
+
+        # If we wrapped, there never was a match.
+        if ( $start == $end ) {
+            print {$OUT} "/$pat/: not found\n";
+        }
+        next CMD;
+    }
+
+    return;
+}
+
+sub _DB__handle_question_mark_command {
+    my ($obj) = @_;
+
+    # ? - backward pattern search.
+    if (my ($inpat) = $cmd =~ m#\A\?(.*)\z#) {
+
+        # Get the pattern, remove trailing question mark.
+        $inpat =~ s:([^\\])\?$:$1:;
+
+        # If we've got one ...
+        if ( $inpat ne "" ) {
+
+            # Turn off die & warn handlers.
+            local $SIG{__DIE__};
+            local $SIG{__WARN__};
+            eval '$inpat =~ m' . "\a$inpat\a";
+
+            if ( $@ ne "" ) {
+
+                # Ouch. Not good. Print the error.
+                print $OUT $@;
+                next CMD;
+            }
+            $obj->pat($inpat);
+        } ## end if ($inpat ne "")
+
+        # Where we are now is where to stop after wraparound.
+        $end = $start;
+
+        # Don't move away from this line.
+        $incr = -1;
+
+        my $pat = $obj->pat;
+        # Search inside the eval to prevent pattern badness
+        # from killing us.
+        eval {
+            no strict q/vars/;
+            for (;;) {
+                # Back up a line.
+                --$start;
+
+                # Wrap if we pass the first line.
+
+                $start = $max if ($start <= 0);
+
+                # Quit if we get back where we started,
+                last if ($start == $end);
+
+                # Match?
+                if ($dbline[$start] =~ m/$pat/i) {
+                    if ($slave_editor) {
+                        # Yep, follow slave editor requirements.
+                        print $OUT "\032\032$filename:$start:0\n";
+                    }
+                    else {
+                        # Yep, just print normally.
+                        print $OUT "$start:\t",$dbline[$start],"\n";
+                    }
+
+                    # Found, so done.
+                    last;
+                }
+            }
+        };
+
+        # Say we failed if the loop never found anything,
+        if ( $start == $end ) {
+            print {$OUT} "?$pat?: not found\n";
+        }
+        next CMD;
+    }
+
+    return;
+}
+
+sub _DB__handle_restart_and_rerun_commands {
+    my ($obj) = @_;
+
+    my $cmd_cmd = $obj->cmd_verb;
+    my $cmd_params = $obj->cmd_args;
+    # R - restart execution.
+    # rerun - controlled restart execution.
+    if ($cmd_cmd eq 'rerun' or $cmd_params eq '') {
+        my @args = ($cmd_cmd eq 'R' ? restart() : rerun($cmd_params));
+
+        # Close all non-system fds for a clean restart.  A more
+        # correct method would be to close all fds that were not
+        # open when the process started, but this seems to be
+        # hard.  See "debugger 'R'estart and open database
+        # connections" on p5p.
+
+        my $max_fd = 1024; # default if POSIX can't be loaded
+        if (eval { require POSIX }) {
+            eval { $max_fd = POSIX::sysconf(POSIX::_SC_OPEN_MAX()) };
+        }
+
+        if (defined $max_fd) {
+            foreach ($^F+1 .. $max_fd-1) {
+                next unless open FD_TO_CLOSE, "<&=$_";
+                close(FD_TO_CLOSE);
+            }
+        }
+
+        # And run Perl again.  We use exec() to keep the
+        # PID stable (and that way $ini_pids is still valid).
+        exec(@args) or print {$OUT} "exec failed: $!\n";
+
+        last CMD;
+    }
+
+    return;
+}
+
+sub _DB__handle_run_command_in_pager_command {
+    my ($obj) = @_;
+
+    if ($cmd =~ m#\A\|\|?\s*[^|]#) {
+        if ( $pager =~ /^\|/ ) {
+
+            # Default pager is into a pipe. Redirect I/O.
+            open( SAVEOUT, ">&STDOUT" )
+            || _db_warn("Can't save STDOUT");
+            open( STDOUT, ">&OUT" )
+            || _db_warn("Can't redirect STDOUT");
+        } ## end if ($pager =~ /^\|/)
+        else {
+
+            # Not into a pipe. STDOUT is safe.
+            open( SAVEOUT, ">&OUT" ) || _db_warn("Can't save DB::OUT");
+        }
+
+        # Fix up environment to record we have less if so.
+        fix_less();
+
+        unless ( $obj->piped(scalar ( open( OUT, $pager ) ) ) ) {
+
+            # Couldn't open pipe to pager.
+            _db_warn("Can't pipe output to '$pager'");
+            if ( $pager =~ /^\|/ ) {
+
+                # Redirect I/O back again.
+                open( OUT, ">&STDOUT" )    # XXX: lost message
+                || _db_warn("Can't restore DB::OUT");
+                open( STDOUT, ">&SAVEOUT" )
+                || _db_warn("Can't restore STDOUT");
+                close(SAVEOUT);
+            } ## end if ($pager =~ /^\|/)
+            else {
+
+                # Redirect I/O. STDOUT already safe.
+                open( OUT, ">&STDOUT" )    # XXX: lost message
+                || _db_warn("Can't restore DB::OUT");
+            }
+            next CMD;
+        } ## end unless ($piped = open(OUT,...
+
+        # Set up broken-pipe handler if necessary.
+        $SIG{PIPE} = \&DB::catch
+        if $pager =~ /^\|/
+        && ( "" eq $SIG{PIPE} || "DEFAULT" eq $SIG{PIPE} );
+
+        _autoflush(\*OUT);
+        # Save current filehandle, and put it back.
+        $obj->selected(scalar( select(OUT) ));
+        # Don't put it back if pager was a pipe.
+        if ($cmd !~ /\A\|\|/)
+        {
+            select($obj->selected());
+            $obj->selected("");
+        }
+
+        # Trim off the pipe symbols and run the command now.
+        $cmd =~ s#\A\|+\s*##;
+        redo PIPE;
+    }
+
+    return;
+}
+
+sub _DB__handle_m_command {
+    my ($obj) = @_;
+
+    if ($cmd =~ s#\Am\s+([\w:]+)\s*\z# #) {
+        methods($1);
+        next CMD;
+    }
+
+    # m expr - set up DB::eval to do the work
+    if ($cmd =~ s#\Am\b# #) {    # Rest gets done by DB::eval()
+        $onetimeDump = 'methods';   #  method output gets used there
+    }
+
+    return;
+}
+
+sub _DB__at_end_of_every_command {
+    my ($obj) = @_;
+
+    # At the end of every command:
+    if ($obj->piped) {
+
+        # Unhook the pipe mechanism now.
+        if ( $pager =~ /^\|/ ) {
+
+            # No error from the child.
+            $? = 0;
+
+            # we cannot warn here: the handle is missing --tchrist
+            close(OUT) || print SAVEOUT "\nCan't close DB::OUT\n";
+
+            # most of the $? crud was coping with broken cshisms
+            # $? is explicitly set to 0, so this never runs.
+            if ($?) {
+                print SAVEOUT "Pager '$pager' failed: ";
+                if ( $? == -1 ) {
+                    print SAVEOUT "shell returned -1\n";
+                }
+                elsif ( $? >> 8 ) {
+                    print SAVEOUT ( $? & 127 )
+                    ? " (SIG#" . ( $? & 127 ) . ")"
+                    : "", ( $? & 128 ) ? " -- core dumped" : "", "\n";
+                }
+                else {
+                    print SAVEOUT "status ", ( $? >> 8 ), "\n";
+                }
+            } ## end if ($?)
+
+            # Reopen filehandle for our output (if we can) and
+            # restore STDOUT (if we can).
+            open( OUT, ">&STDOUT" ) || _db_warn("Can't restore DB::OUT");
+            open( STDOUT, ">&SAVEOUT" )
+            || _db_warn("Can't restore STDOUT");
+
+            # Turn off pipe exception handler if necessary.
+            $SIG{PIPE} = "DEFAULT" if $SIG{PIPE} eq \&DB::catch;
+
+            # Will stop ignoring SIGPIPE if done like nohup(1)
+            # does SIGINT but Perl doesn't give us a choice.
+        } ## end if ($pager =~ /^\|/)
+        else {
+
+            # Non-piped "pager". Just restore STDOUT.
+            open( OUT, ">&SAVEOUT" ) || _db_warn("Can't restore DB::OUT");
+        }
+
+        # Close filehandle pager was using, restore the normal one
+        # if necessary,
+        close(SAVEOUT);
+
+        if ($obj->selected() ne "") {
+            select($obj->selected);
+            $obj->selected("");
+        }
+
+        # No pipes now.
+        $obj->piped("");
+    } ## end if ($piped)
+
+    return;
+}
+
+sub _DB__handle_watch_expressions
+{
+    my $self = shift;
+
+    if ( $DB::trace & 2 ) {
+        for my $n (0 .. $#DB::to_watch) {
+            $DB::evalarg = $DB::to_watch[$n];
+            local $DB::onetimeDump;    # Tell DB::eval() to not output results
+
+            # Fix context DB::eval() wants to return an array, but
+            # we need a scalar here.
+            my ($val) = join( "', '", DB::eval(@_) );
+            $val = ( ( defined $val ) ? "'$val'" : 'undef' );
+
+            # Did it change?
+            if ( $val ne $DB::old_watch[$n] ) {
+
+                # Yep! Show the difference, and fake an interrupt.
+                $DB::signal = 1;
+                print {$DB::OUT} <<EOP;
+Watchpoint $n:\t$DB::to_watch[$n] changed:
+    old value:\t$DB::old_watch[$n]
+    new value:\t$val
+EOP
+                $DB::old_watch[$n] = $val;
+            } ## end if ($val ne $old_watch...
+        } ## end for my $n (0 ..
+    } ## end if ($trace & 2)
+
+    return;
+}
+
+# 't' is type.
+# 'm' is method.
+# 'v' is the value (i.e: method name or subroutine ref).
+# 's' is subroutine.
+my %cmd_lookup =
+(
+    '-' => { t => 'm', v => '_handle_dash_command', },
+    '.' => { t => 's', v => \&_DB__handle_dot_command, },
+    '=' => { t => 'm', v => '_handle_equal_sign_command', },
+    'H' => { t => 'm', v => '_handle_H_command', },
+    'S' => { t => 'm', v => '_handle_S_command', },
+    'T' => { t => 'm', v => '_handle_T_command', },
+    'W' => { t => 'm', v => '_handle_W_command', },
+    'c' => { t => 's', v => \&_DB__handle_c_command, },
+    'f' => { t => 's', v => \&_DB__handle_f_command, },
+    'm' => { t => 's', v => \&_DB__handle_m_command, },
+    'n' => { t => 'm', v => '_handle_n_command', },
+    'p' => { t => 'm', v => '_handle_p_command', },
+    'q' => { t => 'm', v => '_handle_q_command', },
+    'r' => { t => 'm', v => '_handle_r_command', },
+    's' => { t => 'm', v => '_handle_s_command', },
+    'save' => { t => 'm', v => '_handle_save_command', },
+    'source' => { t => 'm', v => '_handle_source_command', },
+    't' => { t => 'm', v => '_handle_t_command', },
+    'w' => { t => 'm', v => '_handle_w_command', },
+    'x' => { t => 'm', v => '_handle_x_command', },
+    'y' => { t => 's', v => \&_DB__handle_y_command, },
+    (map { $_ => { t => 'm', v => '_handle_V_command_and_X_command', }, }
+        ('X', 'V')),
+    (map { $_ => { t => 'm', v => '_handle_enable_disable_commands', }, }
+        qw(enable disable)),
+    (map { $_ =>
+        { t => 's', v => \&_DB__handle_restart_and_rerun_commands, },
+        } qw(R rerun)),
+    (map { $_ => {t => 'm', v => '_handle_cmd_wrapper_commands' }, }
+    qw(a A b B e E h i l L M o O P v w W)),
+);
+
+sub DB {
+
+    # lock the debugger and get the thread id for the prompt
+    lock($DBGR);
+    my $tid;
+    my $position;
+    my ($prefix, $after, $infix);
+    my $pat;
+    my $explicit_stop;
+    my $piped;
+    my $selected;
+
+    if ($ENV{PERL5DB_THREADED}) {
+        $tid = eval { "[".threads->tid."]" };
+    }
+
+    my $cmd_verb;
+    my $cmd_args;
+
+    my $obj = DB::Obj->new(
+        {
+            position => \$position,
+            prefix => \$prefix,
+            after => \$after,
+            explicit_stop => \$explicit_stop,
+            infix => \$infix,
+            cmd_args => \$cmd_args,
+            cmd_verb => \$cmd_verb,
+            pat => \$pat,
+            piped => \$piped,
+            selected => \$selected,
+        },
+    );
+
+    $obj->_DB_on_init__initialize_globals(@_);
+
     # Preserve current values of $@, $!, $^E, $,, $/, $\, $^W.
     # The code being debugged may have altered them.
-    &save;
+    DB::save();
 
     # Since DB::DB gets called after every line, we can use caller() to
     # figure out where we last were executing. Sneaky, eh? This works because
@@ -1906,13 +2549,12 @@
     # caller is returning all the extra information when called from the
     # debugger.
     local ( $package, $filename, $line ) = caller;
-    local $filename_ini = $filename;
+    $filename_ini = $filename;
 
     # set up the context for DB::eval, so it can properly execute
     # code on behalf of the user. We add the package in so that the
     # code is eval'ed in the proper package (not in the debugger!).
-    local $usercontext =
-      '($@, $!, $^E, $,, $/, $\, $^W) = @saved;' . "package $package;";
+    local $usercontext = _calc_usercontext($package);
 
     # Create an alias to the active file magical array to simplify
     # the code here.
@@ -1919,64 +2561,25 @@
     local (*dbline) = $main::{ '_<' . $filename };
 
     # Last line in the program.
-    local $max = $#dbline;
+    $max = $#dbline;
 
-    # if we have something here, see if we should break.
-    if ( $dbline{$line}
-        && ( ( $stop, $action ) = split( /\0/, $dbline{$line} ) ) )
-    {
+    # The &-call is here to ascertain the mutability of @_.
+    &_DB__determine_if_we_should_break;
 
-        # Stop if the stop criterion says to just stop.
-        if ( $stop eq '1' ) {
-            $signal |= 1;
-        }
-
-        # It's a conditional stop; eval it in the user's context and
-        # see if we should stop. If so, remove the one-time sigil.
-        elsif ($stop) {
-            $evalarg = "\$DB::signal |= 1 if do {$stop}";
-            &eval;
-            $dbline{$line} =~ s/;9($|\0)/$1/;
-        }
-    } ## end if ($dbline{$line} && ...
-
     # Preserve the current stop-or-not, and see if any of the W
     # (watch expressions) has changed.
     my $was_signal = $signal;
 
     # If we have any watch expressions ...
-    if ( $trace & 2 ) {
-        for ( my $n = 0 ; $n <= $#to_watch ; $n++ ) {
-            $evalarg = $to_watch[$n];
-            local $onetimeDump;    # Tell DB::eval() to not output results
+    _DB__handle_watch_expressions($obj);
 
-            # Fix context DB::eval() wants to return an array, but
-            # we need a scalar here.
-            my ($val) = join( "', '", &eval );
-            $val = ( ( defined $val ) ? "'$val'" : 'undef' );
-
-            # Did it change?
-            if ( $val ne $old_watch[$n] ) {
-
-                # Yep! Show the difference, and fake an interrupt.
-                $signal = 1;
-                print $OUT <<EOP;
-Watchpoint $n:\t$to_watch[$n] changed:
-    old value:\t$old_watch[$n]
-    new value:\t$val
-EOP
-                $old_watch[$n] = $val;
-            } ## end if ($val ne $old_watch...
-        } ## end for (my $n = 0 ; $n <= ...
-    } ## end if ($trace & 2)
-
 =head2 C<watchfunction()>
 
 C<watchfunction()> is a function that can be defined by the user; it is a
-function which will be run on each entry to C<DB::DB>; it gets the 
+function which will be run on each entry to C<DB::DB>; it gets the
 current package, filename, and line as its parameters.
 
-The watchfunction can do anything it likes; it is executing in the 
+The watchfunction can do anything it likes; it is executing in the
 debugger's context, so it has access to all of the debugger's internal
 data structures and functions.
 
@@ -1984,7 +2587,7 @@
 will cause the debugger to return control to the user's program after
 C<watchfunction()> executes:
 
-=over 4 
+=over 4
 
 =item *
 
@@ -2034,123 +2637,29 @@
 
 =cut
 
+    # Make sure that we always print if asked for explicitly regardless
+    # of $trace_to_depth .
+    $explicit_stop = ($single || $was_signal);
+
     # Check to see if we should grab control ($single true,
     # trace set appropriately, or we got a signal).
-    if ( $single || ( $trace & 1 ) || $was_signal ) {
-
-        # Yes, grab control.
-        if ($slave_editor) {
-
-            # Tell the editor to update its position.
-            $position = "\032\032$filename:$line:0\n";
-            print_lineinfo($position);
-        }
-
-=pod
-
-Special check: if we're in package C<DB::fake>, we've gone through the 
-C<END> block at least once. We set up everything so that we can continue
-to enter commands and have a valid context to be in.
-
-=cut
-
-        elsif ( $package eq 'DB::fake' ) {
-
-            # Fallen off the end already.
-            $term || &setterm;
-            print_help(<<EOP);
-Debugged program terminated.  Use B<q> to quit or B<R> to restart,
-  use B<o> I<inhibit_exit> to avoid stopping after program termination,
-  B<h q>, B<h R> or B<h o> to get additional info.  
-EOP
-
-            # Set the DB::eval context appropriately.
-            $package     = 'main';
-            $usercontext =
-                '($@, $!, $^E, $,, $/, $\, $^W) = @saved;'
-              . "package $package;";    # this won't let them modify, alas
-        } ## end elsif ($package eq 'DB::fake')
-
-=pod
-
-If the program hasn't finished executing, we scan forward to the
-next executable line, print that out, build the prompt from the file and line
-number information, and print that.   
-
-=cut
-
-        else {
-
-            # Still somewhere in the midst of execution. Set up the
-            #  debugger prompt.
-            $sub =~ s/\'/::/;    # Swap Perl 4 package separators (') to
-                                 # Perl 5 ones (sorry, we don't print Klingon
-                                 #module names)
-
-            $prefix = $sub =~ /::/ ? "" : "${'package'}::";
-            $prefix .= "$sub($filename:";
-            $after = ( $dbline[$line] =~ /\n$/ ? '' : "\n" );
-
-            # Break up the prompt if it's really long.
-            if ( length($prefix) > 30 ) {
-                $position = "$prefix$line):\n$line:\t$dbline[$line]$after";
-                $prefix   = "";
-                $infix    = ":\t";
-            }
-            else {
-                $infix    = "):\t";
-                $position = "$prefix$line$infix$dbline[$line]$after";
-            }
-
-            # Print current line info, indenting if necessary.
-            if ($frame) {
-                print_lineinfo( ' ' x $stack_depth,
-                    "$line:\t$dbline[$line]$after" );
-            }
-            else {
-                print_lineinfo($position);
-            }
-
-            # Scan forward, stopping at either the end or the next
-            # unbreakable line.
-            for ( $i = $line + 1 ; $i <= $max && $dbline[$i] == 0 ; ++$i )
-            {    #{ vi
-
-                # Drop out on null statements, block closers, and comments.
-                last if $dbline[$i] =~ /^\s*[\;\}\#\n]/;
-
-                # Drop out if the user interrupted us.
-                last if $signal;
-
-                # Append a newline if the line doesn't have one. Can happen
-                # in eval'ed text, for instance.
-                $after = ( $dbline[$i] =~ /\n$/ ? '' : "\n" );
-
-                # Next executable line.
-                $incr_pos = "$prefix$i$infix$dbline[$i]$after";
-                $position .= $incr_pos;
-                if ($frame) {
-
-                    # Print it indented if tracing is on.
-                    print_lineinfo( ' ' x $stack_depth,
-                        "$i:\t$dbline[$i]$after" );
-                }
-                else {
-                    print_lineinfo($incr_pos);
-                }
-            } ## end for ($i = $line + 1 ; $i...
-        } ## end else [ if ($slave_editor)
+    if ( $explicit_stop || ( $trace & 1 ) ) {
+        $obj->_DB__grab_control(@_);
     } ## end if ($single || ($trace...
 
 =pod
 
 If there's an action to be executed for the line we stopped at, execute it.
-If there are any preprompt actions, execute those as well.      
+If there are any preprompt actions, execute those as well.
 
 =cut
 
     # If there's an action, do it now.
-    $evalarg = $action, &eval if $action;
+    if ($action) {
+        $evalarg = $action;
+        # The &-call is here to ascertain the mutability of @_.
+        &DB::eval;
+    }
 
     # Are we nested another level (e.g., did we evaluate a function
     # that had a breakpoint in it at the debugger prompt)?
@@ -2161,12 +2670,14 @@
 
         # Do any pre-prompt actions.
         foreach $evalarg (@$pre) {
-            &eval;
+            # The &-call is here to ascertain the mutability of @_.
+            &DB::eval;
         }
 
         # Complain about too much recursion if we passed the limit.
-        print $OUT $stack_depth . " levels deep in subroutine calls!\n"
-          if $single & 4;
+        if ($single & 4) {
+            print $OUT $stack_depth . " levels deep in subroutine calls!\n";
+        }
 
         # The line we're currently on. Set $incr to -1 to stay here
         # until we get a command that tells us to advance.
@@ -2225,28 +2736,12 @@
         #
         # If we have a terminal for input, and we get something back
         # from readline(), keep on processing.
+
       CMD:
-        while (
-
-            # We have a terminal, or can get one ...
-            ( $term || &setterm ),
-
-            # ... and it belogs to this PID or we get one for this PID ...
-            ( $term_pid == $$ or resetterm(1) ),
-
-            # ... and we got a line of command input ...
-            defined(
-                $cmd = &readline(
-                        "$pidprompt $tid DB"
-                      . ( '<' x $level )
-                      . ( $#hist + 1 )
-                      . ( '>' x $level ) . " "
-                )
-            )
-          )
+        while (_DB__read_next_cmd($tid))
         {
 
-			share($cmd);
+            share($cmd);
             # ... try to execute the input as debugger commands.
 
             # Don't stop running.
@@ -2256,10 +2751,10 @@
             $signal = 0;
 
             # Handle continued commands (ending with \):
-            $cmd =~ s/\\$/\n/ && do {
-                $cmd .= &readline("  cont: ");
+            if ($cmd =~ s/\\\z/\n/) {
+                $cmd .= DB::readline("  cont: ");
                 redo CMD;
-            };
+            }
 
 =head4 The null command
 
@@ -2273,20 +2768,22 @@
 =cut
 
             # Empty input means repeat the last command.
-            $cmd =~ /^$/ && ( $cmd = $laststep );
+            if ($cmd eq '') {
+                $cmd = $laststep;
+            }
             chomp($cmd);    # get rid of the annoying extra newline
-            push( @hist, $cmd ) if length($cmd) > 1;
+            if (length($cmd) >= 2) {
+                push( @hist, $cmd );
+            }
             push( @truehist, $cmd );
-			share(@hist);
-			share(@truehist);
+            share(@hist);
+            share(@truehist);
 
             # This is a restart point for commands that didn't arrive
             # via direct user input. It allows us to 'redo PIPE' to
             # re-execute command processing without reading a new command.
           PIPE: {
-                $cmd =~ s/^\s+//s;    # trim annoying leading whitespace
-                $cmd =~ s/\s+$//s;    # trim annoying trailing whitespace
-                ($i) = split( /\s+/, $cmd );
+                _DB__trim_command_and_return_first_component($obj);
 
 =head3 COMMAND ALIASES
 
@@ -2298,7 +2795,7 @@
 =cut
 
                 # See if there's an alias for the command, and set it up if so.
-                if ( $alias{$i} ) {
+                if ( $alias{$cmd_verb} ) {
 
                     # Squelch signal handling; we want to keep control here
                     # if something goes loco during the alias eval.
@@ -2309,1246 +2806,1179 @@
                     # scope! Otherwise, we can't see the special debugger
                     # variables, or get to the debugger's subs. (Well, we
                     # _could_, but why make it even more complicated?)
-                    eval "\$cmd =~ $alias{$i}";
+                    eval "\$cmd =~ $alias{$cmd_verb}";
                     if ($@) {
                         local $\ = '';
-                        print $OUT "Couldn't evaluate `$i' alias: $@";
+                        print $OUT "Couldn't evaluate '$cmd_verb' alias: $@";
                         next CMD;
                     }
-                } ## end if ($alias{$i})
+                    _DB__trim_command_and_return_first_component($obj);
+                } ## end if ($alias{$cmd_verb})
 
 =head3 MAIN-LINE COMMANDS
 
 All of these commands work up to and after the program being debugged has
-terminated. 
+terminated.
 
 =head4 C<q> - quit
 
-Quit the debugger. This entails setting the C<$fall_off_end> flag, so we don't 
+Quit the debugger. This entails setting the C<$fall_off_end> flag, so we don't
 try to execute further, cleaning any restart-related stuff out of the
 environment, and executing with the last value of C<$?>.
 
 =cut
 
-                $cmd =~ /^q$/ && do {
-                    $fall_off_end = 1;
-                    clean_ENV();
-                    exit $?;
-                };
+                # All of these commands were remapped in perl 5.8.0;
+                # we send them off to the secondary dispatcher (see below).
+                $obj->_handle_special_char_cmd_wrapper_commands;
+                _DB__trim_command_and_return_first_component($obj);
 
-=head4 C<t> - trace
+                if (my $cmd_rec = $cmd_lookup{$cmd_verb}) {
+                    my $type = $cmd_rec->{t};
+                    my $val = $cmd_rec->{v};
+                    if ($type eq 'm') {
+                        $obj->$val();
+                    }
+                    elsif ($type eq 's') {
+                        $val->($obj);
+                    }
+                }
 
+=head4 C<t> - trace [n]
+
 Turn tracing on or off. Inverts the appropriate bit in C<$trace> (q.v.).
+If level is specified, set C<$trace_to_depth>.
 
-=cut
-
-                $cmd =~ /^t$/ && do {
-                    $trace ^= 1;
-                    local $\ = '';
-                    print $OUT "Trace = "
-                      . ( ( $trace & 1 ) ? "on" : "off" ) . "\n";
-                    next CMD;
-                };
-
 =head4 C<S> - list subroutines matching/not matching a pattern
 
 Walks through C<%sub>, checking to see whether or not to print the name.
 
-=cut
+=head4 C<X> - list variables in current package
 
-                $cmd =~ /^S(\s+(!)?(.+))?$/ && do {
+Since the C<V> command actually processes this, just change this to the
+appropriate C<V> command and fall through.
 
-                    $Srev     = defined $2;     # Reverse scan?
-                    $Spatt    = $3;             # The pattern (if any) to use.
-                    $Snocheck = !defined $1;    # No args - print all subs.
+=head4 C<V> - list variables
 
-                    # Need to make these sane here.
-                    local $\ = '';
-                    local $, = '';
+Uses C<dumpvar.pl> to dump out the current values for selected variables.
 
-                    # Search through the debugger's magical hash of subs.
-                    # If $nocheck is true, just print the sub name.
-                    # Otherwise, check it against the pattern. We then use
-                    # the XOR trick to reverse the condition as required.
-                    foreach $subname ( sort( keys %sub ) ) {
-                        if ( $Snocheck or $Srev ^ ( $subname =~ /$Spatt/ ) ) {
-                            print $OUT $subname, "\n";
-                        }
-                    }
-                    next CMD;
-                };
+=head4 C<x> - evaluate and print an expression
 
-=head4 C<X> - list variables in current package
+Hands the expression off to C<DB::eval>, setting it up to print the value
+via C<dumpvar.pl> instead of just printing it directly.
 
-Since the C<V> command actually processes this, just change this to the 
-appropriate C<V> command and fall through.
+=head4 C<m> - print methods
 
-=cut
+Just uses C<DB::methods> to determine what methods are available.
 
-                $cmd =~ s/^X\b/V $package/;
+=head4 C<f> - switch files
 
-=head4 C<V> - list variables
+Switch to a different filename.
 
-Uses C<dumpvar.pl> to dump out the current values for selected variables. 
+=head4 C<.> - return to last-executed line.
 
-=cut
+We set C<$incr> to -1 to indicate that the debugger shouldn't move ahead,
+and then we look up the line in the magical C<%dbline> hash.
 
-                # Bare V commands get the currently-being-debugged package
-                # added.
-                $cmd =~ /^V$/ && do {
-                    $cmd = "V $package";
-                };
+=head4 C<-> - back one window
 
-                # V - show variables in package.
-                $cmd =~ /^V\b\s*(\S+)\s*(.*)/ && do {
+We change C<$start> to be one window back; if we go back past the first line,
+we set it to be the first line. We ser C<$incr> to put us back at the
+currently-executing line, and then put a C<l $start +> (list one window from
+C<$start>) in C<$cmd> to be executed later.
 
-                    # Save the currently selected filehandle and
-                    # force output to debugger's filehandle (dumpvar
-                    # just does "print" for output).
-                    local ($savout) = select($OUT);
+=head3 PRE-580 COMMANDS VS. NEW COMMANDS: C<a, A, b, B, h, l, L, M, o, O, P, v, w, W, E<lt>, E<lt>E<lt>, E<0x7B>, E<0x7B>E<0x7B>>
 
-                    # Grab package name and variables to dump.
-                    $packname = $1;
-                    @vars     = split( ' ', $2 );
+In Perl 5.8.0, a realignment of the commands was done to fix up a number of
+problems, most notably that the default case of several commands destroying
+the user's work in setting watchpoints, actions, etc. We wanted, however, to
+retain the old commands for those who were used to using them or who preferred
+them. At this point, we check for the new commands and call C<cmd_wrapper> to
+deal with them instead of processing them in-line.
 
-                    # If main::dumpvar isn't here, get it.
-                    do 'dumpvar.pl' || die $@ unless defined &main::dumpvar;
-                    if ( defined &main::dumpvar ) {
+=head4 C<y> - List lexicals in higher scope
 
-                        # We got it. Turn off subroutine entry/exit messages
-                        # for the moment, along with return values.
-                        local $frame = 0;
-                        local $doret = -2;
+Uses C<PadWalker> to find the lexicals supplied as arguments in a scope
+above the current one and then displays then using C<dumpvar.pl>.
 
-                        # must detect sigpipe failures  - not catching
-                        # then will cause the debugger to die.
-                        eval {
-                            &main::dumpvar(
-                                $packname,
-                                defined $option{dumpDepth}
-                                ? $option{dumpDepth}
-                                : -1,    # assume -1 unless specified
-                                @vars
-                            );
-                        };
+=head3 COMMANDS NOT WORKING AFTER PROGRAM ENDS
 
-                        # The die doesn't need to include the $@, because
-                        # it will automatically get propagated for us.
-                        if ($@) {
-                            die unless $@ =~ /dumpvar print failed/;
-                        }
-                    } ## end if (defined &main::dumpvar)
-                    else {
+All of the commands below this point don't work after the program being
+debugged has ended. All of them check to see if the program has ended; this
+allows the commands to be relocated without worrying about a 'line of
+demarcation' above which commands can be entered anytime, and below which
+they can't.
 
-                        # Couldn't load dumpvar.
-                        print $OUT "dumpvar.pl not available.\n";
-                    }
+=head4 C<n> - single step, but don't trace down into subs
 
-                    # Restore the output filehandle, and go round again.
-                    select($savout);
-                    next CMD;
-                };
+Done by setting C<$single> to 2, which forces subs to execute straight through
+when entered (see C<DB::sub>). We also save the C<n> command in C<$laststep>,
+so a null command knows what to re-execute.
 
-=head4 C<x> - evaluate and print an expression
+=head4 C<s> - single-step, entering subs
 
-Hands the expression off to C<DB::eval>, setting it up to print the value
-via C<dumpvar.pl> instead of just printing it directly.
+Sets C<$single> to 1, which causes C<DB::sub> to continue tracing inside
+subs. Also saves C<s> as C<$lastcmd>.
 
-=cut
+=head4 C<c> - run continuously, setting an optional breakpoint
 
-                $cmd =~ s/^x\b/ / && do {    # Remainder gets done by DB::eval()
-                    $onetimeDump = 'dump';    # main::dumpvar shows the output
+Most of the code for this command is taken up with locating the optional
+breakpoint, which is either a subroutine name or a line number. We set
+the appropriate one-time-break in C<@dbline> and then turn off single-stepping
+in this and all call levels above this one.
 
-                    # handle special  "x 3 blah" syntax XXX propagate
-                    # doc back to special variables.
-                    if ( $cmd =~ s/^\s*(\d+)(?=\s)/ / ) {
-                        $onetimedumpDepth = $1;
-                    }
-                };
+=head4 C<r> - return from a subroutine
 
-=head4 C<m> - print methods
+For C<r> to work properly, the debugger has to stop execution again
+immediately after the return is executed. This is done by forcing
+single-stepping to be on in the call level above the current one. If
+we are printing return values when a C<r> is executed, set C<$doret>
+appropriately, and force us out of the command loop.
 
-Just uses C<DB::methods> to determine what methods are available.
+=head4 C<T> - stack trace
 
-=cut
+Just calls C<DB::print_trace>.
 
-                $cmd =~ s/^m\s+([\w:]+)\s*$/ / && do {
-                    methods($1);
-                    next CMD;
-                };
+=head4 C<w> - List window around current line.
 
-                # m expr - set up DB::eval to do the work
-                $cmd =~ s/^m\b/ / && do {    # Rest gets done by DB::eval()
-                    $onetimeDump = 'methods';   #  method output gets used there
-                };
+Just calls C<DB::cmd_w>.
 
-=head4 C<f> - switch files
+=head4 C<W> - watch-expression processing.
 
-=cut
+Just calls C<DB::cmd_W>.
 
-                $cmd =~ /^f\b\s*(.*)/ && do {
-                    $file = $1;
-                    $file =~ s/\s+$//;
+=head4 C</> - search forward for a string in the source
 
-                    # help for no arguments (old-style was return from sub).
-                    if ( !$file ) {
-                        print $OUT
-                          "The old f command is now the r command.\n";    # hint
-                        print $OUT "The new f command switches filenames.\n";
-                        next CMD;
-                    } ## end if (!$file)
+We take the argument and treat it as a pattern. If it turns out to be a
+bad one, we return the error we got from trying to C<eval> it and exit.
+If not, we create some code to do the search and C<eval> it so it can't
+mess us up.
 
-                    # if not in magic file list, try a close match.
-                    if ( !defined $main::{ '_<' . $file } ) {
-                        if ( ($try) = grep( m#^_<.*$file#, keys %main:: ) ) {
-                            {
-                                $try = substr( $try, 2 );
-                                print $OUT "Choosing $try matching `$file':\n";
-                                $file = $try;
-                            }
-                        } ## end if (($try) = grep(m#^_<.*$file#...
-                    } ## end if (!defined $main::{ ...
+=cut
 
-                    # If not successfully switched now, we failed.
-                    if ( !defined $main::{ '_<' . $file } ) {
-                        print $OUT "No file matching `$file' is loaded.\n";
-                        next CMD;
-                    }
+                _DB__handle_forward_slash_command($obj);
 
-                    # We switched, so switch the debugger internals around.
-                    elsif ( $file ne $filename ) {
-                        *dbline   = $main::{ '_<' . $file };
-                        $max      = $#dbline;
-                        $filename = $file;
-                        $start    = 1;
-                        $cmd      = "l";
-                    } ## end elsif ($file ne $filename)
+=head4 C<?> - search backward for a string in the source
 
-                    # We didn't switch; say we didn't.
-                    else {
-                        print $OUT "Already in $file.\n";
-                        next CMD;
-                    }
-                };
+Same as for C</>, except the loop runs backwards.
 
-=head4 C<.> - return to last-executed line.
+=cut
 
-We set C<$incr> to -1 to indicate that the debugger shouldn't move ahead,
-and then we look up the line in the magical C<%dbline> hash.
+                _DB__handle_question_mark_command($obj);
 
-=cut
+=head4 C<$rc> - Recall command
 
-                # . command.
-                $cmd =~ /^\.$/ && do {
-                    $incr = -1;    # stay at current line
+Manages the commands in C<@hist> (which is created if C<Term::ReadLine> reports
+that the terminal supports history). It find the the command required, puts it
+into C<$cmd>, and redoes the loop to execute it.
 
-                    # Reset everything to the old location.
-                    $start    = $line;
-                    $filename = $filename_ini;
-                    *dbline   = $main::{ '_<' . $filename };
-                    $max      = $#dbline;
+=cut
 
-                    # Now where are we?
-                    print_lineinfo($position);
-                    next CMD;
-                };
+                # $rc - recall command.
+                $obj->_handle_rc_recall_command;
 
-=head4 C<-> - back one window
+=head4 C<$sh$sh> - C<system()> command
 
-We change C<$start> to be one window back; if we go back past the first line,
-we set it to be the first line. We ser C<$incr> to put us back at the
-currently-executing line, and then put a C<l $start +> (list one window from
-C<$start>) in C<$cmd> to be executed later.
+Calls the C<_db_system()> to handle the command. This keeps the C<STDIN> and
+C<STDOUT> from getting messed up.
 
 =cut
 
-                # - - back a window.
-                $cmd =~ /^-$/ && do {
+                $obj->_handle_sh_command;
 
-                    # back up by a window; go to 1 if back too far.
-                    $start -= $incr + $window + 1;
-                    $start = 1 if $start <= 0;
-                    $incr  = $window - 1;
+=head4 C<$rc I<pattern> $rc> - Search command history
 
-                    # Generate and execute a "l +" command (handled below).
-                    $cmd = 'l ' . ($start) . '+';
-                };
+Another command to manipulate C<@hist>: this one searches it with a pattern.
+If a command is found, it is placed in C<$cmd> and executed via C<redo>.
 
-=head3 PRE-580 COMMANDS VS. NEW COMMANDS: C<a, A, b, B, h, l, L, M, o, O, P, v, w, W, E<lt>, E<lt>E<lt>, {, {{>
-
-In Perl 5.8.0, a realignment of the commands was done to fix up a number of
-problems, most notably that the default case of several commands destroying
-the user's work in setting watchpoints, actions, etc. We wanted, however, to
-retain the old commands for those who were used to using them or who preferred
-them. At this point, we check for the new commands and call C<cmd_wrapper> to
-deal with them instead of processing them in-line.
-
 =cut
 
-                # All of these commands were remapped in perl 5.8.0;
-                # we send them off to the secondary dispatcher (see below).
-                $cmd =~ /^([aAbBeEhilLMoOPvwW]\b|[<>\{]{1,2})\s*(.*)/so && do {
-                    &cmd_wrapper( $1, $2, $line );
-                    next CMD;
-                };
+                $obj->_handle_rc_search_history_command;
 
-=head4 C<y> - List lexicals in higher scope
+=head4 C<$sh> - Invoke a shell
 
-Uses C<PadWalker> to find the lexicals supplied as arguments in a scope    
-above the current one and then displays then using C<dumpvar.pl>.
+Uses C<_db_system()> to invoke a shell.
 
 =cut
 
-                $cmd =~ /^y(?:\s+(\d*)\s*(.*))?$/ && do {
+=head4 C<$sh I<command>> - Force execution of a command in a shell
 
-                    # See if we've got the necessary support.
-                    eval { require PadWalker; PadWalker->VERSION(0.08) }
-                      or &warn(
-                        $@ =~ /locate/
-                        ? "PadWalker module not found - please install\n"
-                        : $@
-                      )
-                      and next CMD;
+Like the above, but the command is passed to the shell. Again, we use
+C<_db_system()> to avoid problems with C<STDIN> and C<STDOUT>.
 
-                    # Load up dumpvar if we don't have it. If we can, that is.
-                    do 'dumpvar.pl' || die $@ unless defined &main::dumpvar;
-                    defined &main::dumpvar
-                      or print $OUT "dumpvar.pl not available.\n"
-                      and next CMD;
+=head4 C<H> - display commands in history
 
-                    # Got all the modules we need. Find them and print them.
-                    my @vars = split( ' ', $2 || '' );
+Prints the contents of C<@hist> (if any).
 
-                    # Find the pad.
-                    my $h = eval { PadWalker::peek_my( ( $1 || 0 ) + 1 ) };
+=head4 C<man, doc, perldoc> - look up documentation
 
-                    # Oops. Can't find it.
-                    $@ and $@ =~ s/ at .*//, &warn($@), next CMD;
+Just calls C<runman()> to print the appropriate document.
 
-                    # Show the desired vars with dumplex().
-                    my $savout = select($OUT);
+=cut
 
-                    # Have dumplex dump the lexicals.
-                    dumpvar::dumplex( $_, $h->{$_},
-                        defined $option{dumpDepth} ? $option{dumpDepth} : -1,
-                        @vars )
-                      for sort keys %$h;
-                    select($savout);
-                    next CMD;
-                };
+                $obj->_handle_doc_command;
 
-=head3 COMMANDS NOT WORKING AFTER PROGRAM ENDS
+=head4 C<p> - print
 
-All of the commands below this point don't work after the program being
-debugged has ended. All of them check to see if the program has ended; this
-allows the commands to be relocated without worrying about a 'line of
-demarcation' above which commands can be entered anytime, and below which
-they can't.
+Builds a C<print EXPR> expression in the C<$cmd>; this will get executed at
+the bottom of the loop.
 
-=head4 C<n> - single step, but don't trace down into subs
+=head4 C<=> - define command alias
 
-Done by setting C<$single> to 2, which forces subs to execute straight through
-when entered (see C<DB::sub>). We also save the C<n> command in C<$laststep>,
-so a null command knows what to re-execute. 
+Manipulates C<%alias> to add or list command aliases.
 
-=cut
+=head4 C<source> - read commands from a file.
 
-                # n - next
-                $cmd =~ /^n$/ && do {
-                    end_report(), next CMD if $finished and $level <= 1;
+Opens a lexical filehandle and stacks it on C<@cmdfhs>; C<DB::readline> will
+pick it up.
 
-                    # Single step, but don't enter subs.
-                    $single = 2;
+=head4 C<enable> C<disable> - enable or disable breakpoints
 
-                    # Save for empty command (repeat last).
-                    $laststep = $cmd;
-                    last CMD;
-                };
+This enables or disables breakpoints.
 
-=head4 C<s> - single-step, entering subs
+=head4 C<save> - send current history to a file
 
-Sets C<$single> to 1, which causes C<DB::sub> to continue tracing inside     
-subs. Also saves C<s> as C<$lastcmd>.
+Takes the complete history, (not the shrunken version you see with C<H>),
+and saves it to the given filename, so it can be replayed using C<source>.
 
-=cut
+Note that all C<^(save|source)>'s are commented out with a view to minimise recursion.
 
-                # s - single step.
-                $cmd =~ /^s$/ && do {
+=head4 C<R> - restart
 
-                    # Get out and restart the command loop if program
-                    # has finished.
-                    end_report(), next CMD if $finished and $level <= 1;
+Restart the debugger session.
 
-                    # Single step should enter subs.
-                    $single = 1;
+=head4 C<rerun> - rerun the current session
 
-                    # Save for empty command (repeat last).
-                    $laststep = $cmd;
-                    last CMD;
-                };
+Return to any given position in the B<true>-history list
 
-=head4 C<c> - run continuously, setting an optional breakpoint
+=head4 C<|, ||> - pipe output through the pager.
 
-Most of the code for this command is taken up with locating the optional
-breakpoint, which is either a subroutine name or a line number. We set
-the appropriate one-time-break in C<@dbline> and then turn off single-stepping
-in this and all call levels above this one.
+For C<|>, we save C<OUT> (the debugger's output filehandle) and C<STDOUT>
+(the program's standard output). For C<||>, we only save C<OUT>. We open a
+pipe to the pager (restoring the output filehandles if this fails). If this
+is the C<|> command, we also set up a C<SIGPIPE> handler which will simply
+set C<$signal>, sending us back into the debugger.
 
+We then trim off the pipe symbols and C<redo> the command loop at the
+C<PIPE> label, causing us to evaluate the command in C<$cmd> without
+reading another.
+
 =cut
 
-                # c - start continuous execution.
-                $cmd =~ /^c\b\s*([\w:]*)\s*$/ && do {
+                # || - run command in the pager, with output to DB::OUT.
+                _DB__handle_run_command_in_pager_command($obj);
 
-                    # Hey, show's over. The debugged program finished
-                    # executing already.
-                    end_report(), next CMD if $finished and $level <= 1;
+=head3 END OF COMMAND PARSING
 
-                    # Capture the place to put a one-time break.
-                    $subname = $i = $1;
+Anything left in C<$cmd> at this point is a Perl expression that we want to
+evaluate. We'll always evaluate in the user's context, and fully qualify
+any variables we might want to address in the C<DB> package.
 
-                    #  Probably not needed, since we finish an interactive
-                    #  sub-session anyway...
-                    # local $filename = $filename;
-                    # local *dbline = *dbline; # XXX Would this work?!
-                    #
-                    # The above question wonders if localizing the alias
-                    # to the magic array works or not. Since it's commented
-                    # out, we'll just leave that to speculation for now.
+=cut
 
-                    # If the "subname" isn't all digits, we'll assume it
-                    # is a subroutine name, and try to find it.
-                    if ( $subname =~ /\D/ ) {    # subroutine name
-                            # Qualify it to the current package unless it's
-                            # already qualified.
-                        $subname = $package . "::" . $subname
-                          unless $subname =~ /::/;
+            }    # PIPE:
 
-                        # find_sub will return "file:line_number" corresponding
-                        # to where the subroutine is defined; we call find_sub,
-                        # break up the return value, and assign it in one
-                        # operation.
-                        ( $file, $i ) = ( find_sub($subname) =~ /^(.*):(.*)$/ );
+            # trace an expression
+            $cmd =~ s/^t\s/\$DB::trace |= 1;\n/;
 
-                        # Force the line number to be numeric.
-                        $i += 0;
+            # Make sure the flag that says "the debugger's running" is
+            # still on, to make sure we get control again.
+            $evalarg = "\$^D = \$^D | \$DB::db_stop;\n$cmd";
 
-                        # If we got a line number, we found the sub.
-                        if ($i) {
+            # Run *our* eval that executes in the caller's context.
+            # The &-call is here to ascertain the mutability of @_.
+            &DB::eval;
 
-                            # Switch all the debugger's internals around so
-                            # we're actually working with that file.
-                            $filename = $file;
-                            *dbline   = $main::{ '_<' . $filename };
+            # Turn off the one-time-dump stuff now.
+            if ($onetimeDump) {
+                $onetimeDump      = undef;
+                $onetimedumpDepth = undef;
+            }
+            elsif ( $term_pid == $$ ) {
+                eval { # May run under miniperl, when not available...
+                    STDOUT->flush();
+                    STDERR->flush();
+                };
 
-                            # Mark that there's a breakpoint in this file.
-                            $had_breakpoints{$filename} |= 1;
+                # XXX If this is the master pid, print a newline.
+                print {$OUT} "\n";
+            }
+        } ## end while (($term || &setterm...
 
-                            # Scan forward to the first executable line
-                            # after the 'sub whatever' line.
-                            $max = $#dbline;
-                            ++$i while $dbline[$i] == 0 && $i < $max;
-                        } ## end if ($i)
+=head3 POST-COMMAND PROCESSING
 
-                        # We didn't find a sub by that name.
-                        else {
-                            print $OUT "Subroutine $subname not found.\n";
-                            next CMD;
-                        }
-                    } ## end if ($subname =~ /\D/)
+After each command, we check to see if the command output was piped anywhere.
+If so, we go through the necessary code to unhook the pipe and go back to
+our standard filehandles for input and output.
 
-                    # At this point, either the subname was all digits (an
-                    # absolute line-break request) or we've scanned through
-                    # the code following the definition of the sub, looking
-                    # for an executable, which we may or may not have found.
-                    #
-                    # If $i (which we set $subname from) is non-zero, we
-                    # got a request to break at some line somewhere. On
-                    # one hand, if there wasn't any real subroutine name
-                    # involved, this will be a request to break in the current
-                    # file at the specified line, so we have to check to make
-                    # sure that the line specified really is breakable.
-                    #
-                    # On the other hand, if there was a subname supplied, the
-                    # preceding block has moved us to the proper file and
-                    # location within that file, and then scanned forward
-                    # looking for the next executable line. We have to make
-                    # sure that one was found.
-                    #
-                    # On the gripping hand, we can't do anything unless the
-                    # current value of $i points to a valid breakable line.
-                    # Check that.
-                    if ($i) {
+=cut
 
-                        # Breakable?
-                        if ( $dbline[$i] == 0 ) {
-                            print $OUT "Line $i not breakable.\n";
-                            next CMD;
-                        }
+        continue {    # CMD:
+            _DB__at_end_of_every_command($obj);
+        }    # CMD:
 
-                        # Yes. Set up the one-time-break sigil.
-                        $dbline{$i} =~ s/($|\0)/;9$1/;  # add one-time-only b.p.
-                    } ## end if ($i)
+=head3 COMMAND LOOP TERMINATION
 
-                    # Turn off stack tracing from here up.
-                    for ( $i = 0 ; $i <= $stack_depth ; ) {
-                        $stack[ $i++ ] &= ~1;
-                    }
-                    last CMD;
-                };
+When commands have finished executing, we come here. If the user closed the
+input filehandle, we turn on C<$fall_off_end> to emulate a C<q> command. We
+evaluate any post-prompt items. We restore C<$@>, C<$!>, C<$^E>, C<$,>, C<$/>,
+C<$\>, and C<$^W>, and return a null list as expected by the Perl interpreter.
+The interpreter will then execute the next line and then return control to us
+again.
 
-=head4 C<r> - return from a subroutine
+=cut
 
-For C<r> to work properly, the debugger has to stop execution again
-immediately after the return is executed. This is done by forcing
-single-stepping to be on in the call level above the current one. If
-we are printing return values when a C<r> is executed, set C<$doret>
-appropriately, and force us out of the command loop.
+        # No more commands? Quit.
+        $fall_off_end = 1 unless defined $cmd;    # Emulate 'q' on EOF
 
-=cut
+        # Evaluate post-prompt commands.
+        foreach $evalarg (@$post) {
+            # The &-call is here to ascertain the mutability of @_.
+            &DB::eval;
+        }
+    }    # if ($single || $signal)
 
-                # r - return from the current subroutine.
-                $cmd =~ /^r$/ && do {
+    # Put the user's globals back where you found them.
+    ( $@, $!, $^E, $,, $/, $\, $^W ) = @saved;
+    ();
+} ## end sub DB
 
-                    # Can't do anything if the program's over.
-                    end_report(), next CMD if $finished and $level <= 1;
+# Because DB::Obj is used above,
+#
+#   my $obj = DB::Obj->new(
+#
+# The following package declaraton must come before that,
+# or else runtime errors will occur with
+#
+#   PERLDB_OPTS="autotrace nonstop"
+#
+# ( rt#116771 )
+BEGIN {
 
-                    # Turn on stack trace.
-                    $stack[$stack_depth] |= 1;
+package DB::Obj;
 
-                    # Print return value unless the stack is empty.
-                    $doret = $option{PrintRet} ? $stack_depth - 1 : -2;
-                    last CMD;
-                };
+sub new {
+    my $class = shift;
 
-=head4 C<T> - stack trace
+    my $self = bless {}, $class;
 
-Just calls C<DB::print_trace>.
+    $self->_init(@_);
 
-=cut
+    return $self;
+}
 
-                $cmd =~ /^T$/ && do {
-                    print_trace( $OUT, 1 );    # skip DB
-                    next CMD;
-                };
+sub _init {
+    my ($self, $args) = @_;
 
-=head4 C<w> - List window around current line.
+    %{$self} = (%$self, %$args);
 
-Just calls C<DB::cmd_w>.
+    return;
+}
 
-=cut
+{
+    no strict 'refs';
+    foreach my $slot_name (qw(
+        after explicit_stop infix pat piped position prefix selected cmd_verb
+        cmd_args
+        )) {
+        my $slot = $slot_name;
+        *{$slot} = sub {
+            my $self = shift;
 
-                $cmd =~ /^w\b\s*(.*)/s && do { &cmd_w( 'w', $1 ); next CMD; };
+            if (@_) {
+                ${ $self->{$slot} } = shift;
+            }
 
-=head4 C<W> - watch-expression processing.
+            return ${ $self->{$slot} };
+        };
 
-Just calls C<DB::cmd_W>. 
+        *{"append_to_$slot"} = sub {
+            my $self = shift;
+            my $s = shift;
 
-=cut
+            return $self->$slot($self->$slot . $s);
+        };
+    }
+}
 
-                $cmd =~ /^W\b\s*(.*)/s && do { &cmd_W( 'W', $1 ); next CMD; };
+sub _DB_on_init__initialize_globals
+{
+    my $self = shift;
 
-=head4 C</> - search forward for a string in the source
+    # Check for whether we should be running continuously or not.
+    # _After_ the perl program is compiled, $single is set to 1:
+    if ( $single and not $second_time++ ) {
 
-We take the argument and treat it as a pattern. If it turns out to be a 
-bad one, we return the error we got from trying to C<eval> it and exit.
-If not, we create some code to do the search and C<eval> it so it can't 
-mess us up.
+        # Options say run non-stop. Run until we get an interrupt.
+        if ($runnonstop) {    # Disable until signal
+                # If there's any call stack in place, turn off single
+                # stepping into subs throughout the stack.
+            for my $i (0 .. $stack_depth) {
+                $stack[ $i ] &= ~1;
+            }
 
-=cut
+            # And we are now no longer in single-step mode.
+            $single = 0;
 
-                $cmd =~ /^\/(.*)$/ && do {
+            # If we simply returned at this point, we wouldn't get
+            # the trace info. Fall on through.
+            # return;
+        } ## end if ($runnonstop)
 
-                    # The pattern as a string.
-                    $inpat = $1;
+        elsif ($ImmediateStop) {
 
-                    # Remove the final slash.
-                    $inpat =~ s:([^\\])/$:$1:;
+            # We are supposed to stop here; XXX probably a break.
+            $ImmediateStop = 0;    # We've processed it; turn it off
+            $signal        = 1;    # Simulate an interrupt to force
+                                   # us into the command loop
+        }
+    } ## end if ($single and not $second_time...
 
-                    # If the pattern isn't null ...
-                    if ( $inpat ne "" ) {
+    # If we're in single-step mode, or an interrupt (real or fake)
+    # has occurred, turn off non-stop mode.
+    $runnonstop = 0 if $single or $signal;
 
-                        # Turn of warn and die procesing for a bit.
-                        local $SIG{__DIE__};
-                        local $SIG{__WARN__};
+    return;
+}
 
-                        # Create the pattern.
-                        eval '$inpat =~ m' . "\a$inpat\a";
-                        if ( $@ ne "" ) {
+sub _my_print_lineinfo
+{
+    my ($self, $i, $incr_pos) = @_;
 
-                            # Oops. Bad pattern. No biscuit.
-                            # Print the eval error and go back for more
-                            # commands.
-                            print $OUT "$@";
-                            next CMD;
-                        }
-                        $pat = $inpat;
-                    } ## end if ($inpat ne "")
+    if ($frame) {
+        # Print it indented if tracing is on.
+        DB::print_lineinfo( ' ' x $stack_depth,
+            "$i:\t$DB::dbline[$i]" . $self->after );
+    }
+    else {
+        DB::depth_print_lineinfo($self->explicit_stop, $incr_pos);
+    }
+}
 
-                    # Set up to stop on wrap-around.
-                    $end = $start;
+sub _curr_line {
+    return $DB::dbline[$line];
+}
 
-                    # Don't move off the current line.
-                    $incr = -1;
+sub _is_full {
+    my ($self, $letter) = @_;
 
-                    # Done in eval so nothing breaks if the pattern
-                    # does something weird.
-                    eval '
-                        for (;;) {
-                            # Move ahead one line.
-                            ++$start;
+    return ($DB::cmd eq $letter);
+}
 
-                            # Wrap if we pass the last line.
-                            $start = 1 if ($start > $max);
+sub _DB__grab_control
+{
+    my $self = shift;
 
-                            # Stop if we have gotten back to this line again,
-                            last if ($start == $end);
+    # Yes, grab control.
+    if ($slave_editor) {
 
-                            # A hit! (Note, though, that we are doing
-                            # case-insensitive matching. Maybe a qr//
-                            # expression would be better, so the user could
-                            # do case-sensitive matching if desired.
-                            if ($dbline[$start] =~ m' . "\a$pat\a" . 'i) {
-                                if ($slave_editor) {
-                                    # Handle proper escaping in the slave.
-                                    print $OUT "\032\032$filename:$start:0\n";
-                                } 
-                                else {
-                                    # Just print the line normally.
-                                    print $OUT "$start:\t",$dbline[$start],"\n";
-                                }
-                                # And quit since we found something.
-                                last;
-                            }
-                         } ';
+        # Tell the editor to update its position.
+        $self->position("\032\032${DB::filename}:$line:0\n");
+        DB::print_lineinfo($self->position());
+    }
 
-                    # If we wrapped, there never was a match.
-                    print $OUT "/$pat/: not found\n" if ( $start == $end );
-                    next CMD;
-                };
+=pod
 
-=head4 C<?> - search backward for a string in the source
+Special check: if we're in package C<DB::fake>, we've gone through the
+C<END> block at least once. We set up everything so that we can continue
+to enter commands and have a valid context to be in.
 
-Same as for C</>, except the loop runs backwards.
-
 =cut
 
-                # ? - backward pattern search.
-                $cmd =~ /^\?(.*)$/ && do {
+    elsif ( $DB::package eq 'DB::fake' ) {
 
-                    # Get the pattern, remove trailing question mark.
-                    $inpat = $1;
-                    $inpat =~ s:([^\\])\?$:$1:;
+        # Fallen off the end already.
+        if (!$DB::term) {
+            DB::setterm();
+        }
 
-                    # If we've got one ...
-                    if ( $inpat ne "" ) {
+        DB::print_help(<<EOP);
+Debugged program terminated.  Use B<q> to quit or B<R> to restart,
+use B<o> I<inhibit_exit> to avoid stopping after program termination,
+B<h q>, B<h R> or B<h o> to get additional info.
+EOP
 
-                        # Turn off die & warn handlers.
-                        local $SIG{__DIE__};
-                        local $SIG{__WARN__};
-                        eval '$inpat =~ m' . "\a$inpat\a";
+        # Set the DB::eval context appropriately.
+        $DB::package     = 'main';
+        $DB::usercontext = DB::_calc_usercontext($DB::package);
+    } ## end elsif ($package eq 'DB::fake')
 
-                        if ( $@ ne "" ) {
+=pod
 
-                            # Ouch. Not good. Print the error.
-                            print $OUT $@;
-                            next CMD;
-                        }
-                        $pat = $inpat;
-                    } ## end if ($inpat ne "")
+If the program hasn't finished executing, we scan forward to the
+next executable line, print that out, build the prompt from the file and line
+number information, and print that.
 
-                    # Where we are now is where to stop after wraparound.
-                    $end = $start;
+=cut
 
-                    # Don't move away from this line.
-                    $incr = -1;
+    else {
 
-                    # Search inside the eval to prevent pattern badness
-                    # from killing us.
-                    eval '
-                        for (;;) {
-                            # Back up a line.
-                            --$start;
 
-                            # Wrap if we pass the first line.
+        # Still somewhere in the midst of execution. Set up the
+        #  debugger prompt.
+        $DB::sub =~ s/\'/::/;    # Swap Perl 4 package separators (') to
+                             # Perl 5 ones (sorry, we don't print Klingon
+                             #module names)
 
-                            $start = $max if ($start <= 0);
+        $self->prefix($DB::sub =~ /::/ ? "" : ($DB::package . '::'));
+        $self->append_to_prefix( "$DB::sub(${DB::filename}:" );
+        $self->after( $self->_curr_line =~ /\n$/ ? '' : "\n" );
 
-                            # Quit if we get back where we started,
-                            last if ($start == $end);
+        # Break up the prompt if it's really long.
+        if ( length($self->prefix()) > 30 ) {
+            $self->position($self->prefix . "$line):\n$line:\t" . $self->_curr_line . $self->after);
+            $self->prefix("");
+            $self->infix(":\t");
+        }
+        else {
+            $self->infix("):\t");
+            $self->position(
+                $self->prefix . $line. $self->infix
+                . $self->_curr_line . $self->after
+            );
+        }
 
-                            # Match?
-                            if ($dbline[$start] =~ m' . "\a$pat\a" . 'i) {
-                                if ($slave_editor) {
-                                    # Yep, follow slave editor requirements.
-                                    print $OUT "\032\032$filename:$start:0\n";
-                                } 
-                                else {
-                                    # Yep, just print normally.
-                                    print $OUT "$start:\t",$dbline[$start],"\n";
-                                }
+        # Print current line info, indenting if necessary.
+        $self->_my_print_lineinfo($line, $self->position);
 
-                                # Found, so done.
-                                last;
-                            }
-                        } ';
+        my $i;
+        my $line_i = sub { return $DB::dbline[$i]; };
 
-                    # Say we failed if the loop never found anything,
-                    print $OUT "?$pat?: not found\n" if ( $start == $end );
-                    next CMD;
-                };
+        # Scan forward, stopping at either the end or the next
+        # unbreakable line.
+        for ( $i = $line + 1 ; $i <= $DB::max && $line_i->() == 0 ; ++$i )
+        {    #{ vi
 
-=head4 C<$rc> - Recall command
+            # Drop out on null statements, block closers, and comments.
+            last if $line_i->() =~ /^\s*[\;\}\#\n]/;
 
-Manages the commands in C<@hist> (which is created if C<Term::ReadLine> reports
-that the terminal supports history). It find the the command required, puts it
-into C<$cmd>, and redoes the loop to execute it.
+            # Drop out if the user interrupted us.
+            last if $signal;
 
-=cut
+            # Append a newline if the line doesn't have one. Can happen
+            # in eval'ed text, for instance.
+            $self->after( $line_i->() =~ /\n$/ ? '' : "\n" );
 
-                # $rc - recall command.
-                $cmd =~ /^$rc+\s*(-)?(\d+)?$/ && do {
+            # Next executable line.
+            my $incr_pos = $self->prefix . $i . $self->infix . $line_i->()
+                . $self->after;
+            $self->append_to_position($incr_pos);
+            $self->_my_print_lineinfo($i, $incr_pos);
+        } ## end for ($i = $line + 1 ; $i...
+    } ## end else [ if ($slave_editor)
 
-                    # No arguments, take one thing off history.
-                    pop(@hist) if length($cmd) > 1;
+    return;
+}
 
-                    # Relative (- found)?
-                    #  Y - index back from most recent (by 1 if bare minus)
-                    #  N - go to that particular command slot or the last
-                    #      thing if nothing following.
-                    $i = $1 ? ( $#hist - ( $2 || 1 ) ) : ( $2 || $#hist );
+sub _handle_t_command {
+    my $self = shift;
 
-                    # Pick out the command desired.
-                    $cmd = $hist[$i];
+    my $levels = $self->cmd_args();
 
-                    # Print the command to be executed and restart the loop
-                    # with that command in the buffer.
-                    print $OUT $cmd, "\n";
-                    redo CMD;
-                };
+    if ((!length($levels)) or ($levels !~ /\D/)) {
+        $trace ^= 1;
+        local $\ = '';
+        $DB::trace_to_depth = $levels ? $stack_depth + $levels : 1E9;
+        print {$OUT} "Trace = "
+        . ( ( $trace & 1 )
+            ? ( $levels ? "on (to level $DB::trace_to_depth)" : "on" )
+            : "off" ) . "\n";
+        next CMD;
+    }
 
-=head4 C<$sh$sh> - C<system()> command
+    return;
+}
 
-Calls the C<DB::system()> to handle the command. This keeps the C<STDIN> and
-C<STDOUT> from getting messed up.
 
-=cut
+sub _handle_S_command {
+    my $self = shift;
 
-                # $sh$sh - run a shell command (if it's all ASCII).
-                # Can't run shell commands with Unicode in the debugger, hmm.
-                $cmd =~ /^$sh$sh\s*([\x00-\xff]*)/ && do {
+    if (my ($print_all_subs, $should_reverse, $Spatt)
+        = $self->cmd_args =~ /\A((!)?(.+))?\z/) {
+        # $Spatt is the pattern (if any) to use.
+        # Reverse scan?
+        my $Srev     = defined $should_reverse;
+        # No args - print all subs.
+        my $Snocheck = !defined $print_all_subs;
 
-                    # System it.
-                    &system($1);
-                    next CMD;
-                };
+        # Need to make these sane here.
+        local $\ = '';
+        local $, = '';
 
-=head4 C<$rc I<pattern> $rc> - Search command history
+        # Search through the debugger's magical hash of subs.
+        # If $nocheck is true, just print the sub name.
+        # Otherwise, check it against the pattern. We then use
+        # the XOR trick to reverse the condition as required.
+        foreach $subname ( sort( keys %sub ) ) {
+            if ( $Snocheck or $Srev ^ ( $subname =~ /$Spatt/ ) ) {
+                print $OUT $subname, "\n";
+            }
+        }
+        next CMD;
+    }
 
-Another command to manipulate C<@hist>: this one searches it with a pattern.
-If a command is found, it is placed in C<$cmd> and executed via C<redo>.
+    return;
+}
 
-=cut
+sub _handle_V_command_and_X_command {
+    my $self = shift;
 
-                # $rc pattern $rc - find a command in the history.
-                $cmd =~ /^$rc([^$rc].*)$/ && do {
+    $DB::cmd =~ s/^X\b/V $DB::package/;
 
-                    # Create the pattern to use.
-                    $pat = "^$1";
+    # Bare V commands get the currently-being-debugged package
+    # added.
+    if ($self->_is_full('V')) {
+        $DB::cmd = "V $DB::package";
+    }
 
-                    # Toss off last entry if length is >1 (and it always is).
-                    pop(@hist) if length($cmd) > 1;
+    # V - show variables in package.
+    if (my ($new_packname, $new_vars_str) =
+        $DB::cmd =~ /\AV\b\s*(\S+)\s*(.*)/) {
 
-                    # Look backward through the history.
-                    for ( $i = $#hist ; $i ; --$i ) {
+        # Save the currently selected filehandle and
+        # force output to debugger's filehandle (dumpvar
+        # just does "print" for output).
+        my $savout = select($OUT);
 
-                        # Stop if we find it.
-                        last if $hist[$i] =~ /$pat/;
-                    }
+        # Grab package name and variables to dump.
+        $packname = $new_packname;
+        my @vars     = split( ' ', $new_vars_str );
 
-                    if ( !$i ) {
+        # If main::dumpvar isn't here, get it.
+        do 'dumpvar.pl' || die $@ unless defined &main::dumpvar;
+        if ( defined &main::dumpvar ) {
 
-                        # Never found it.
-                        print $OUT "No such command!\n\n";
-                        next CMD;
-                    }
+            # We got it. Turn off subroutine entry/exit messages
+            # for the moment, along with return values.
+            local $frame = 0;
+            local $doret = -2;
 
-                    # Found it. Put it in the buffer, print it, and process it.
-                    $cmd = $hist[$i];
-                    print $OUT $cmd, "\n";
-                    redo CMD;
-                };
+            # must detect sigpipe failures  - not catching
+            # then will cause the debugger to die.
+            eval {
+                main::dumpvar(
+                    $packname,
+                    defined $option{dumpDepth}
+                    ? $option{dumpDepth}
+                    : -1,    # assume -1 unless specified
+                    @vars
+                );
+            };
 
-=head4 C<$sh> - Invoke a shell     
+            # The die doesn't need to include the $@, because
+            # it will automatically get propagated for us.
+            if ($@) {
+                die unless $@ =~ /dumpvar print failed/;
+            }
+        } ## end if (defined &main::dumpvar)
+        else {
 
-Uses C<DB::system> to invoke a shell.
+            # Couldn't load dumpvar.
+            print $OUT "dumpvar.pl not available.\n";
+        }
 
-=cut
+        # Restore the output filehandle, and go round again.
+        select($savout);
+        next CMD;
+    }
 
-                # $sh - start a shell.
-                $cmd =~ /^$sh$/ && do {
+    return;
+}
 
-                    # Run the user's shell. If none defined, run Bourne.
-                    # We resume execution when the shell terminates.
-                    &system( $ENV{SHELL} || "/bin/sh" );
-                    next CMD;
-                };
+sub _handle_dash_command {
+    my $self = shift;
 
-=head4 C<$sh I<command>> - Force execution of a command in a shell
+    if ($self->_is_full('-')) {
 
-Like the above, but the command is passed to the shell. Again, we use
-C<DB::system> to avoid problems with C<STDIN> and C<STDOUT>.
+        # back up by a window; go to 1 if back too far.
+        $start -= $incr + $window + 1;
+        $start = 1 if $start <= 0;
+        $incr  = $window - 1;
 
-=cut
+        # Generate and execute a "l +" command (handled below).
+        $DB::cmd = 'l ' . ($start) . '+';
+        redo CMD;
+    }
+    return;
+}
 
-                # $sh command - start a shell and run a command in it.
-                $cmd =~ /^$sh\s*([\x00-\xff]*)/ && do {
+sub _n_or_s_commands_generic {
+    my ($self, $new_val) = @_;
+    # n - next
+    next CMD if DB::_DB__is_finished();
 
-                    # XXX: using csh or tcsh destroys sigint retvals!
-                    #&system($1);  # use this instead
+    # Single step, but don't enter subs.
+    $single = $new_val;
 
-                    # use the user's shell, or Bourne if none defined.
-                    &system( $ENV{SHELL} || "/bin/sh", "-c", $1 );
-                    next CMD;
-                };
+    # Save for empty command (repeat last).
+    $laststep = $DB::cmd;
+    last CMD;
+}
 
-=head4 C<H> - display commands in history
+sub _n_or_s {
+    my ($self, $letter, $new_val) = @_;
 
-Prints the contents of C<@hist> (if any).
+    if ($self->_is_full($letter)) {
+        $self->_n_or_s_commands_generic($new_val);
+    }
+    else {
+        $self->_n_or_s_and_arg_commands_generic($letter, $new_val);
+    }
 
-=cut
+    return;
+}
 
-                $cmd =~ /^H\b\s*\*/ && do {
-                    @hist = @truehist = ();
-                    print $OUT "History cleansed\n";
-                    next CMD;
-                };
+sub _handle_n_command {
+    my $self = shift;
 
-                $cmd =~ /^H\b\s*(-(\d+))?/ && do {
+    return $self->_n_or_s('n', 2);
+}
 
-                    # Anything other than negative numbers is ignored by
-                    # the (incorrect) pattern, so this test does nothing.
-                    $end = $2 ? ( $#hist - $2 ) : 0;
+sub _handle_s_command {
+    my $self = shift;
 
-                    # Set to the minimum if less than zero.
-                    $hist = 0 if $hist < 0;
+    return $self->_n_or_s('s', 1);
+}
 
-                    # Start at the end of the array.
-                    # Stay in while we're still above the ending value.
-                    # Tick back by one each time around the loop.
-                    for ( $i = $#hist ; $i > $end ; $i-- ) {
+sub _handle_r_command {
+    my $self = shift;
 
-                        # Print the command  unless it has no arguments.
-                        print $OUT "$i: ", $hist[$i], "\n"
-                          unless $hist[$i] =~ /^.?$/;
-                    }
-                    next CMD;
-                };
+    # r - return from the current subroutine.
+    if ($self->_is_full('r')) {
 
-=head4 C<man, doc, perldoc> - look up documentation
+        # Can't do anything if the program's over.
+        next CMD if DB::_DB__is_finished();
 
-Just calls C<runman()> to print the appropriate document.
+        # Turn on stack trace.
+        $stack[$stack_depth] |= 1;
 
-=cut
+        # Print return value unless the stack is empty.
+        $doret = $option{PrintRet} ? $stack_depth - 1 : -2;
+        last CMD;
+    }
 
-                # man, perldoc, doc - show manual pages.
-                $cmd =~ /^(?:man|(?:perl)?doc)\b(?:\s+([^(]*))?$/ && do {
-                    runman($1);
-                    next CMD;
-                };
+    return;
+}
 
-=head4 C<p> - print
+sub _handle_T_command {
+    my $self = shift;
 
-Builds a C<print EXPR> expression in the C<$cmd>; this will get executed at
-the bottom of the loop.
+    if ($self->_is_full('T')) {
+        DB::print_trace( $OUT, 1 );    # skip DB
+        next CMD;
+    }
 
-=cut
+    return;
+}
 
-                # p - print (no args): print $_.
-                $cmd =~ s/^p$/print {\$DB::OUT} \$_/;
+sub _handle_w_command {
+    my $self = shift;
 
-                # p - print the given expression.
-                $cmd =~ s/^p\b/print {\$DB::OUT} /;
+    DB::cmd_w( 'w', $self->cmd_args() );
+    next CMD;
 
-=head4 C<=> - define command alias
+    return;
+}
 
-Manipulates C<%alias> to add or list command aliases.
+sub _handle_W_command {
+    my $self = shift;
 
-=cut
+    if (my $arg = $self->cmd_args) {
+        DB::cmd_W( 'W', $arg );
+        next CMD;
+    }
 
-                # = - set up a command alias.
-                $cmd =~ s/^=\s*// && do {
-                    my @keys;
-                    if ( length $cmd == 0 ) {
+    return;
+}
 
-                        # No args, get current aliases.
-                        @keys = sort keys %alias;
-                    }
-                    elsif ( my ( $k, $v ) = ( $cmd =~ /^(\S+)\s+(\S.*)/ ) ) {
+sub _handle_rc_recall_command {
+    my $self = shift;
 
-                        # Creating a new alias. $k is alias name, $v is
-                        # alias value.
+    # $rc - recall command.
+    if (my ($minus, $arg) = $DB::cmd =~ m#\A$rc+\s*(-)?(\d+)?\z#) {
 
-                        # can't use $_ or kill //g state
-                        for my $x ( $k, $v ) {
+        # No arguments, take one thing off history.
+        pop(@hist) if length($DB::cmd) > 1;
 
-                            # Escape "alarm" characters.
-                            $x =~ s/\a/\\a/g;
-                        }
+        # Relative (- found)?
+        #  Y - index back from most recent (by 1 if bare minus)
+        #  N - go to that particular command slot or the last
+        #      thing if nothing following.
 
-                        # Substitute key for value, using alarm chars
-                        # as separators (which is why we escaped them in
-                        # the command).
-                        $alias{$k} = "s\a$k\a$v\a";
+        $self->cmd_verb(
+            scalar($minus ? ( $#hist - ( $arg || 1 ) ) : ( $arg || $#hist ))
+        );
 
-                        # Turn off standard warn and die behavior.
-                        local $SIG{__DIE__};
-                        local $SIG{__WARN__};
+        # Pick out the command desired.
+        $DB::cmd = $hist[$self->cmd_verb];
 
-                        # Is it valid Perl?
-                        unless ( eval "sub { s\a$k\a$v\a }; 1" ) {
+        # Print the command to be executed and restart the loop
+        # with that command in the buffer.
+        print {$OUT} $DB::cmd, "\n";
+        redo CMD;
+    }
 
-                            # Nope. Bad alias. Say so and get out.
-                            print $OUT "Can't alias $k to $v: $@\n";
-                            delete $alias{$k};
-                            next CMD;
-                        }
+    return;
+}
 
-                        # We'll only list the new one.
-                        @keys = ($k);
-                    } ## end elsif (my ($k, $v) = ($cmd...
+sub _handle_rc_search_history_command {
+    my $self = shift;
 
-                    # The argument is the alias to list.
-                    else {
-                        @keys = ($cmd);
-                    }
+    # $rc pattern $rc - find a command in the history.
+    if (my ($arg) = $DB::cmd =~ /\A$rc([^$rc].*)\z/) {
 
-                    # List aliases.
-                    for my $k (@keys) {
+        # Create the pattern to use.
+        my $pat = "^$arg";
+        $self->pat($pat);
 
-                        # Messy metaquoting: Trim the substitution code off.
-                        # We use control-G as the delimiter because it's not
-                        # likely to appear in the alias.
-                        if ( ( my $v = $alias{$k} ) =~ ss\a$k\a(.*)\a$1 ) {
+        # Toss off last entry if length is >1 (and it always is).
+        pop(@hist) if length($DB::cmd) > 1;
 
-                            # Print the alias.
-                            print $OUT "$k\t= $1\n";
-                        }
-                        elsif ( defined $alias{$k} ) {
+        my $i;
 
-                            # Couldn't trim it off; just print the alias code.
-                            print $OUT "$k\t$alias{$k}\n";
-                        }
-                        else {
+        # Look backward through the history.
+        SEARCH_HIST:
+        for ( $i = $#hist ; $i ; --$i ) {
+            # Stop if we find it.
+            last SEARCH_HIST if $hist[$i] =~ /$pat/;
+        }
 
-                            # No such, dude.
-                            print "No alias for $k\n";
-                        }
-                    } ## end for my $k (@keys)
-                    next CMD;
-                };
+        if ( !$i ) {
 
-=head4 C<source> - read commands from a file.
+            # Never found it.
+            print $OUT "No such command!\n\n";
+            next CMD;
+        }
 
-Opens a lexical filehandle and stacks it on C<@cmdfhs>; C<DB::readline> will
-pick it up.
+        # Found it. Put it in the buffer, print it, and process it.
+        $DB::cmd = $hist[$i];
+        print $OUT $DB::cmd, "\n";
+        redo CMD;
+    }
 
-=cut
+    return;
+}
 
-                # source - read commands from a file (or pipe!) and execute.
-                $cmd =~ /^source\s+(.*\S)/ && do {
-                    if ( open my $fh, $1 ) {
+sub _handle_H_command {
+    my $self = shift;
 
-                        # Opened OK; stick it in the list of file handles.
-                        push @cmdfhs, $fh;
-                    }
-                    else {
+    if ($self->cmd_args =~ m#\A\*#) {
+        @hist = @truehist = ();
+        print $OUT "History cleansed\n";
+        next CMD;
+    }
 
-                        # Couldn't open it.
-                        &warn("Can't execute `$1': $!\n");
-                    }
-                    next CMD;
-                };
+    if (my ($num) = $self->cmd_args =~ /\A(?:-(\d+))?/) {
 
-=head4 C<save> - send current history to a file
+        # Anything other than negative numbers is ignored by
+        # the (incorrect) pattern, so this test does nothing.
+        $end = $num ? ( $#hist - $num ) : 0;
 
-Takes the complete history, (not the shrunken version you see with C<H>),
-and saves it to the given filename, so it can be replayed using C<source>.
+        # Set to the minimum if less than zero.
+        $hist = 0 if $hist < 0;
 
-Note that all C<^(save|source)>'s are commented out with a view to minimise recursion.
+        # Start at the end of the array.
+        # Stay in while we're still above the ending value.
+        # Tick back by one each time around the loop.
+        my $i;
 
-=cut
+        for ( $i = $#hist ; $i > $end ; $i-- ) {
 
-                # save source - write commands to a file for later use
-                $cmd =~ /^save\s*(.*)$/ && do {
-                    my $file = $1 || '.perl5dbrc';    # default?
-                    if ( open my $fh, "> $file" ) {
+            # Print the command  unless it has no arguments.
+            print $OUT "$i: ", $hist[$i], "\n"
+            unless $hist[$i] =~ /^.?$/;
+        }
 
-                       # chomp to remove extraneous newlines from source'd files
-                        chomp( my @truelist =
-                              map { m/^\s*(save|source)/ ? "#$_" : $_ }
-                              @truehist );
-                        print $fh join( "\n", @truelist );
-                        print "commands saved in $file\n";
-                    }
-                    else {
-                        &warn("Can't save debugger commands in '$1': $!\n");
-                    }
-                    next CMD;
-                };
+        next CMD;
+    }
 
-=head4 C<R> - restart
+    return;
+}
 
-Restart the debugger session. 
+sub _handle_doc_command {
+    my $self = shift;
 
-=head4 C<rerun> - rerun the current session
+    # man, perldoc, doc - show manual pages.
+    if (my ($man_page)
+        = $DB::cmd =~ /\A(?:man|(?:perl)?doc)\b(?:\s+([^(]*))?\z/) {
+        DB::runman($man_page);
+        next CMD;
+    }
 
-Return to any given position in the B<true>-history list
+    return;
+}
 
-=cut
+sub _handle_p_command {
+    my $self = shift;
 
-                # R - restart execution.
-                # rerun - controlled restart execution.
-                $cmd =~ /^(R|rerun\s*(.*))$/ && do {
-                    my @args = ($1 eq 'R' ? restart() : rerun($2));
+    my $print_cmd = 'print {$DB::OUT} ';
+    # p - print (no args): print $_.
+    if ($self->_is_full('p')) {
+        $DB::cmd = $print_cmd . '$_';
+    }
+    else {
+        # p - print the given expression.
+        $DB::cmd =~ s/\Ap\b/$print_cmd /;
+    }
 
-                    # Close all non-system fds for a clean restart.  A more
-                    # correct method would be to close all fds that were not
-                    # open when the process started, but this seems to be
-                    # hard.  See "debugger 'R'estart and open database
-                    # connections" on p5p.
+    return;
+}
 
-                    my $max_fd = 1024; # default if POSIX can't be loaded
-                    if (eval { require POSIX }) {
-                        $max_fd = POSIX::sysconf(POSIX::_SC_OPEN_MAX());
-                    }
+sub _handle_equal_sign_command {
+    my $self = shift;
 
-                    if (defined $max_fd) {
-                        foreach ($^F+1 .. $max_fd-1) {
-                            next unless open FD_TO_CLOSE, "<&=$_";
-                            close(FD_TO_CLOSE);
-                        }
-                    }
+    if ($DB::cmd =~ s/\A=\s*//) {
+        my @keys;
+        if ( length $DB::cmd == 0 ) {
 
-                    # And run Perl again.  We use exec() to keep the
-                    # PID stable (and that way $ini_pids is still valid).
-                    exec(@args) || print $OUT "exec failed: $!\n";
+            # No args, get current aliases.
+            @keys = sort keys %alias;
+        }
+        elsif ( my ( $k, $v ) = ( $DB::cmd =~ /^(\S+)\s+(\S.*)/ ) ) {
 
-                    last CMD;
-                };
+            # Creating a new alias. $k is alias name, $v is
+            # alias value.
 
-=head4 C<|, ||> - pipe output through the pager.
+            # can't use $_ or kill //g state
+            for my $x ( $k, $v ) {
 
-For C<|>, we save C<OUT> (the debugger's output filehandle) and C<STDOUT>
-(the program's standard output). For C<||>, we only save C<OUT>. We open a
-pipe to the pager (restoring the output filehandles if this fails). If this
-is the C<|> command, we also set up a C<SIGPIPE> handler which will simply 
-set C<$signal>, sending us back into the debugger.
+                # Escape "alarm" characters.
+                $x =~ s/\a/\\a/g;
+            }
 
-We then trim off the pipe symbols and C<redo> the command loop at the
-C<PIPE> label, causing us to evaluate the command in C<$cmd> without
-reading another.
+            # Substitute key for value, using alarm chars
+            # as separators (which is why we escaped them in
+            # the command).
+            $alias{$k} = "s\a$k\a$v\a";
 
-=cut
+            # Turn off standard warn and die behavior.
+            local $SIG{__DIE__};
+            local $SIG{__WARN__};
 
-                # || - run command in the pager, with output to DB::OUT.
-                $cmd =~ /^\|\|?\s*[^|]/ && do {
-                    if ( $pager =~ /^\|/ ) {
+            # Is it valid Perl?
+            unless ( eval "sub { s\a$k\a$v\a }; 1" ) {
 
-                        # Default pager is into a pipe. Redirect I/O.
-                        open( SAVEOUT, ">&STDOUT" )
-                          || &warn("Can't save STDOUT");
-                        open( STDOUT, ">&OUT" )
-                          || &warn("Can't redirect STDOUT");
-                    } ## end if ($pager =~ /^\|/)
-                    else {
+                # Nope. Bad alias. Say so and get out.
+                print $OUT "Can't alias $k to $v: $@\n";
+                delete $alias{$k};
+                next CMD;
+            }
 
-                        # Not into a pipe. STDOUT is safe.
-                        open( SAVEOUT, ">&OUT" ) || &warn("Can't save DB::OUT");
-                    }
+            # We'll only list the new one.
+            @keys = ($k);
+        } ## end elsif (my ($k, $v) = ($DB::cmd...
 
-                    # Fix up environment to record we have less if so.
-                    fix_less();
+        # The argument is the alias to list.
+        else {
+            @keys = ($DB::cmd);
+        }
 
-                    unless ( $piped = open( OUT, $pager ) ) {
+        # List aliases.
+        for my $k (@keys) {
 
-                        # Couldn't open pipe to pager.
-                        &warn("Can't pipe output to `$pager'");
-                        if ( $pager =~ /^\|/ ) {
+            # Messy metaquoting: Trim the substitution code off.
+            # We use control-G as the delimiter because it's not
+            # likely to appear in the alias.
+            if ( ( my $v = $alias{$k} ) =~ ss\a$k\a(.*)\a$1 ) {
 
-                            # Redirect I/O back again.
-                            open( OUT, ">&STDOUT" )    # XXX: lost message
-                              || &warn("Can't restore DB::OUT");
-                            open( STDOUT, ">&SAVEOUT" )
-                              || &warn("Can't restore STDOUT");
-                            close(SAVEOUT);
-                        } ## end if ($pager =~ /^\|/)
-                        else {
+                # Print the alias.
+                print $OUT "$k\t= $1\n";
+            }
+            elsif ( defined $alias{$k} ) {
 
-                            # Redirect I/O. STDOUT already safe.
-                            open( OUT, ">&STDOUT" )    # XXX: lost message
-                              || &warn("Can't restore DB::OUT");
-                        }
-                        next CMD;
-                    } ## end unless ($piped = open(OUT,...
+                # Couldn't trim it off; just print the alias code.
+                print $OUT "$k\t$alias{$k}\n";
+            }
+            else {
 
-                    # Set up broken-pipe handler if necessary.
-                    $SIG{PIPE} = \&DB::catch
-                      if $pager =~ /^\|/
-                      && ( "" eq $SIG{PIPE} || "DEFAULT" eq $SIG{PIPE} );
+                # No such, dude.
+                print "No alias for $k\n";
+            }
+        } ## end for my $k (@keys)
+        next CMD;
+    }
 
-                    # Save current filehandle, unbuffer out, and put it back.
-                    $selected = select(OUT);
-                    $|        = 1;
+    return;
+}
 
-                    # Don't put it back if pager was a pipe.
-                    select($selected), $selected = "" unless $cmd =~ /^\|\|/;
+sub _handle_source_command {
+    my $self = shift;
 
-                    # Trim off the pipe symbols and run the command now.
-                    $cmd =~ s/^\|+\s*//;
-                    redo PIPE;
-                };
+    # source - read commands from a file (or pipe!) and execute.
+    if (my $sourced_fn = $self->cmd_args) {
+        if ( open my $fh, $sourced_fn ) {
 
-=head3 END OF COMMAND PARSING
+            # Opened OK; stick it in the list of file handles.
+            push @cmdfhs, $fh;
+        }
+        else {
 
-Anything left in C<$cmd> at this point is a Perl expression that we want to 
-evaluate. We'll always evaluate in the user's context, and fully qualify 
-any variables we might want to address in the C<DB> package.
+            # Couldn't open it.
+            DB::_db_warn("Can't execute '$sourced_fn': $!\n");
+        }
+        next CMD;
+    }
 
-=cut
+    return;
+}
 
-                # t - turn trace on.
-                $cmd =~ s/^t\s/\$DB::trace |= 1;\n/;
+sub _handle_enable_disable_commands {
+    my $self = shift;
 
-                # s - single-step. Remember the last command was 's'.
-                $cmd =~ s/^s\s/\$DB::single = 1;\n/ && do { $laststep = 's' };
+    my $which_cmd = $self->cmd_verb;
+    my $position = $self->cmd_args;
 
-                # n - single-step, but not into subs. Remember last command
-                # was 'n'.
-                $cmd =~ s/^n\s/\$DB::single = 2;\n/ && do { $laststep = 'n' };
+    if ($position !~ /\s/) {
+        my ($fn, $line_num);
+        if ($position =~ m{\A\d+\z})
+        {
+            $fn = $DB::filename;
+            $line_num = $position;
+        }
+        elsif (my ($new_fn, $new_line_num)
+            = $position =~ m{\A(.*):(\d+)\z}) {
+            ($fn, $line_num) = ($new_fn, $new_line_num);
+        }
+        else
+        {
+            DB::_db_warn("Wrong spec for enable/disable argument.\n");
+        }
 
-            }    # PIPE:
+        if (defined($fn)) {
+            if (DB::_has_breakpoint_data_ref($fn, $line_num)) {
+                DB::_set_breakpoint_enabled_status($fn, $line_num,
+                    ($which_cmd eq 'enable' ? 1 : '')
+                );
+            }
+            else {
+                DB::_db_warn("No breakpoint set at ${fn}:${line_num}\n");
+            }
+        }
 
-            # Make sure the flag that says "the debugger's running" is
-            # still on, to make sure we get control again.
-            $evalarg = "\$^D = \$^D | \$DB::db_stop;\n$cmd";
+        next CMD;
+    }
 
-            # Run *our* eval that executes in the caller's context.
-            &eval;
+    return;
+}
 
-            # Turn off the one-time-dump stuff now.
-            if ($onetimeDump) {
-                $onetimeDump      = undef;
-                $onetimedumpDepth = undef;
-            }
-            elsif ( $term_pid == $$ ) {
-		eval {		# May run under miniperl, when not available...
-                    STDOUT->flush();
-                    STDERR->flush();
-		};
+sub _handle_save_command {
+    my $self = shift;
 
-                # XXX If this is the master pid, print a newline.
-                print $OUT "\n";
-            }
-        } ## end while (($term || &setterm...
+    if (my $new_fn = $self->cmd_args) {
+        my $filename = $new_fn || '.perl5dbrc';    # default?
+        if ( open my $fh, '>', $filename ) {
 
-=head3 POST-COMMAND PROCESSING
+            # chomp to remove extraneous newlines from source'd files
+            chomp( my @truelist =
+                map { m/\A\s*(save|source)/ ? "#$_" : $_ }
+                @truehist );
+            print {$fh} join( "\n", @truelist );
+            print "commands saved in $filename\n";
+        }
+        else {
+            DB::_db_warn("Can't save debugger commands in '$new_fn': $!\n");
+        }
+        next CMD;
+    }
 
-After each command, we check to see if the command output was piped anywhere.
-If so, we go through the necessary code to unhook the pipe and go back to
-our standard filehandles for input and output.
+    return;
+}
 
-=cut
+sub _n_or_s_and_arg_commands_generic {
+    my ($self, $letter, $new_val) = @_;
 
-        continue {    # CMD:
+    # s - single-step. Remember the last command was 's'.
+    if ($DB::cmd =~ s#\A\Q$letter\E\s#\$DB::single = $new_val;\n#) {
+        $laststep = $letter;
+    }
 
-            # At the end of every command:
-            if ($piped) {
+    return;
+}
 
-                # Unhook the pipe mechanism now.
-                if ( $pager =~ /^\|/ ) {
+sub _handle_sh_command {
+    my $self = shift;
 
-                    # No error from the child.
-                    $? = 0;
+    # $sh$sh - run a shell command (if it's all ASCII).
+    # Can't run shell commands with Unicode in the debugger, hmm.
+    my $my_cmd = $DB::cmd;
+    if ($my_cmd =~ m#\A$sh#gms) {
 
-                    # we cannot warn here: the handle is missing --tchrist
-                    close(OUT) || print SAVEOUT "\nCan't close DB::OUT\n";
+        if ($my_cmd =~ m#\G\z#cgms) {
+            # Run the user's shell. If none defined, run Bourne.
+            # We resume execution when the shell terminates.
+            DB::_db_system( $ENV{SHELL} || "/bin/sh" );
+            next CMD;
+        }
+        elsif ($my_cmd =~ m#\G$sh\s*(.*)#cgms) {
+            # System it.
+            DB::_db_system($1);
+            next CMD;
+        }
+        elsif ($my_cmd =~ m#\G\s*(.*)#cgms) {
+            DB::_db_system( $ENV{SHELL} || "/bin/sh", "-c", $1 );
+            next CMD;
+        }
+    }
+}
 
-                    # most of the $? crud was coping with broken cshisms
-                    # $? is explicitly set to 0, so this never runs.
-                    if ($?) {
-                        print SAVEOUT "Pager `$pager' failed: ";
-                        if ( $? == -1 ) {
-                            print SAVEOUT "shell returned -1\n";
-                        }
-                        elsif ( $? >> 8 ) {
-                            print SAVEOUT ( $? & 127 )
-                              ? " (SIG#" . ( $? & 127 ) . ")"
-                              : "", ( $? & 128 ) ? " -- core dumped" : "", "\n";
-                        }
-                        else {
-                            print SAVEOUT "status ", ( $? >> 8 ), "\n";
-                        }
-                    } ## end if ($?)
+sub _handle_x_command {
+    my $self = shift;
 
-                    # Reopen filehandle for our output (if we can) and
-                    # restore STDOUT (if we can).
-                    open( OUT, ">&STDOUT" ) || &warn("Can't restore DB::OUT");
-                    open( STDOUT, ">&SAVEOUT" )
-                      || &warn("Can't restore STDOUT");
+    if ($DB::cmd =~ s#\Ax\b# #) {    # Remainder gets done by DB::eval()
+        $onetimeDump = 'dump';    # main::dumpvar shows the output
 
-                    # Turn off pipe exception handler if necessary.
-                    $SIG{PIPE} = "DEFAULT" if $SIG{PIPE} eq \&DB::catch;
+        # handle special  "x 3 blah" syntax XXX propagate
+        # doc back to special variables.
+        if ( $DB::cmd =~ s#\A\s*(\d+)(?=\s)# #) {
+            $onetimedumpDepth = $1;
+        }
+    }
 
-                    # Will stop ignoring SIGPIPE if done like nohup(1)
-                    # does SIGINT but Perl doesn't give us a choice.
-                } ## end if ($pager =~ /^\|/)
-                else {
+    return;
+}
 
-                    # Non-piped "pager". Just restore STDOUT.
-                    open( OUT, ">&SAVEOUT" ) || &warn("Can't restore DB::OUT");
-                }
+sub _handle_q_command {
+    my $self = shift;
 
-                # Close filehandle pager was using, restore the normal one
-                # if necessary,
-                close(SAVEOUT);
-                select($selected), $selected = "" unless $selected eq "";
+    if ($self->_is_full('q')) {
+        $fall_off_end = 1;
+        DB::clean_ENV();
+        exit $?;
+    }
 
-                # No pipes now.
-                $piped = "";
-            } ## end if ($piped)
-        }    # CMD:
+    return;
+}
 
-=head3 COMMAND LOOP TERMINATION
+sub _handle_cmd_wrapper_commands {
+    my $self = shift;
 
-When commands have finished executing, we come here. If the user closed the
-input filehandle, we turn on C<$fall_off_end> to emulate a C<q> command. We
-evaluate any post-prompt items. We restore C<$@>, C<$!>, C<$^E>, C<$,>, C<$/>,
-C<$\>, and C<$^W>, and return a null list as expected by the Perl interpreter.
-The interpreter will then execute the next line and then return control to us
-again.
+    DB::cmd_wrapper( $self->cmd_verb, $self->cmd_args, $line );
+    next CMD;
+}
 
-=cut
+sub _handle_special_char_cmd_wrapper_commands {
+    my $self = shift;
 
-        # No more commands? Quit.
-        $fall_off_end = 1 unless defined $cmd;    # Emulate `q' on EOF
+    # All of these commands were remapped in perl 5.8.0;
+    # we send them off to the secondary dispatcher (see below).
+    if (my ($cmd_letter, $my_arg) = $DB::cmd =~ /\A([<>\{]{1,2})\s*(.*)/so) {
+        DB::cmd_wrapper( $cmd_letter, $my_arg, $line );
+        next CMD;
+    }
 
-        # Evaluate post-prompt commands.
-        foreach $evalarg (@$post) {
-            &eval;
-        }
-    }    # if ($single || $signal)
+    return;
+}
 
-    # Put the user's globals back where you found them.
-    ( $@, $!, $^E, $,, $/, $\, $^W ) = @saved;
-    ();
-} ## end sub DB
+} ## end DB::Obj
 
+package DB;
+
 # The following code may be executed now:
 # BEGIN {warn 4}
 
 =head2 sub
 
-C<sub> is called whenever a subroutine call happens in the program being 
+C<sub> is called whenever a subroutine call happens in the program being
 debugged. The variable C<$DB::sub> contains the name of the subroutine
 being called.
 
@@ -3562,7 +3992,7 @@
 
 C<sub> does all the work of printing the subroutine entry and exit messages
 enabled by setting C<$frame>. It notes what sub the autoloader got called for,
-and also prints the return value if needed (for the C<r> command and if 
+and also prints the return value if needed (for the C<r> command and if
 the 16 bit is set in C<$frame>).
 
 It also tracks the subroutine call depth by saving the current setting of
@@ -3626,24 +4056,61 @@
 
 =cut
 
-sub sub {
-	# Do not use a regex in this subroutine -> results in corrupted memory
-	# See: [perl #66110]
+use vars qw($deep);
 
-	# lock ourselves under threads
-	lock($DBGR);
+# We need to fully qualify the name ("DB::sub") to make "use strict;"
+# happy. -- Shlomi Fish
 
+sub _indent_print_line_info {
+    my ($offset, $str) = @_;
+
+    print_lineinfo( ' ' x ($stack_depth - $offset), $str);
+
+    return;
+}
+
+sub _print_frame_message {
+    my ($al) = @_;
+
+    if ($frame) {
+        if ($frame & 4) {   # Extended frame entry message
+            _indent_print_line_info(-1, "in  ");
+
+            # Why -1? But it works! :-(
+            # Because print_trace will call add 1 to it and then call
+            # dump_trace; this results in our skipping -1+1 = 0 stack frames
+            # in dump_trace.
+            #
+            # Now it's 0 because we extracted a function.
+            print_trace( $LINEINFO, 0, 1, 1, "$sub$al" );
+        }
+        else {
+            _indent_print_line_info(-1, "entering $sub$al\n" );
+        }
+    }
+
+    return;
+}
+
+sub DB::sub {
+    # Do not use a regex in this subroutine -> results in corrupted memory
+    # See: [perl #66110]
+
+    # lock ourselves under threads
+    lock($DBGR);
+
     # Whether or not the autoloader was running, a scalar to put the
     # sub's return value in (if needed), and an array to put the sub's
     # return value in (if needed).
     my ( $al, $ret, @ret ) = "";
-	if ($sub eq 'threads::new' && $ENV{PERL5DB_THREADED}) {
-		print "creating new thread\n"; 
-	}
+    if ($sub eq 'threads::new' && $ENV{PERL5DB_THREADED}) {
+        print "creating new thread\n";
+    }
 
     # If the last ten characters are '::AUTOLOAD', note we've traced
     # into AUTOLOAD for $sub.
     if ( length($sub) > 10 && substr( $sub, -10, 10 ) eq '::AUTOLOAD' ) {
+        no strict 'refs';
         $al = " for $$sub" if defined $$sub;
     }
 
@@ -3667,22 +4134,26 @@
     $single |= 4 if $stack_depth == $deep;
 
     # If frame messages are on ...
-    (
-        $frame & 4    # Extended frame entry message
-        ? (
-            print_lineinfo( ' ' x ( $stack_depth - 1 ), "in  " ),
 
-            # Why -1? But it works! :-(
-            # Because print_trace will call add 1 to it and then call
-            # dump_trace; this results in our skipping -1+1 = 0 stack frames
-            # in dump_trace.
-            print_trace( $LINEINFO, -1, 1, 1, "$sub$al" )
-          )
-        : print_lineinfo( ' ' x ( $stack_depth - 1 ), "entering $sub$al\n" )
+    _print_frame_message($al);
+    # standard frame entry message
 
-          # standard frame entry message
-      )
-      if $frame;
+    my $print_exit_msg = sub {
+        # Check for exit trace messages...
+        if ($frame & 2)
+        {
+            if ($frame & 4)    # Extended exit message
+            {
+                _indent_print_line_info(0, "out ");
+                print_trace( $LINEINFO, 0, 1, 1, "$sub$al" );
+            }
+            else
+            {
+                _indent_print_line_info(0, "exited $sub$al\n" );
+            }
+        }
+        return;
+    };
 
     # Determine the sub's return type, and capture appropriately.
     if (wantarray) {
@@ -3690,24 +4161,16 @@
         # Called in array context. call sub and capture output.
         # DB::DB will recursively get control again if appropriate; we'll come
         # back here when the sub is finished.
-	@ret = &$sub;
+        {
+            no strict 'refs';
+            @ret = &$sub;
+        }
 
         # Pop the single-step value back off the stack.
         $single |= $stack[ $stack_depth-- ];
 
-        # Check for exit trace messages...
-        (
-            $frame & 4    # Extended exit message
-            ? (
-                print_lineinfo( ' ' x $stack_depth, "out " ),
-                print_trace( $LINEINFO, -1, 1, 1, "$sub$al" )
-              )
-            : print_lineinfo( ' ' x $stack_depth, "exited $sub$al\n" )
+        $print_exit_msg->();
 
-              # Standard exit message
-          )
-          if $frame & 2;
-
         # Print the return info if we need to.
         if ( $doret eq $stack_depth or $frame & 16 ) {
 
@@ -3716,10 +4179,13 @@
             my $fh = ( $doret eq $stack_depth ? $OUT : $LINEINFO );
 
             # Indent if we're printing because of $frame tracing.
-            print $fh ' ' x $stack_depth if $frame & 16;
+            if ($frame & 16)
+            {
+                print {$fh} ' ' x $stack_depth;
+            }
 
             # Print the return value.
-            print $fh "list context return from $sub:\n";
+            print {$fh} "list context return from $sub:\n";
             dumpit( $fh, \@ret );
 
             # And don't print it again.
@@ -3731,34 +4197,24 @@
 
     # Scalar context.
     else {
-	if ( defined wantarray ) {
+        if ( defined wantarray ) {
+            no strict 'refs';
+            # Save the value if it's wanted at all.
+            $ret = &$sub;
+        }
+        else {
+            no strict 'refs';
+            # Void return, explicitly.
+            &$sub;
+            undef $ret;
+        }
 
-	    # Save the value if it's wanted at all.
-	    $ret = &$sub;
-	}
-	else {
-
-	    # Void return, explicitly.
-	    &$sub;
-	    undef $ret;
-	}
-
         # Pop the single-step value off the stack.
         $single |= $stack[ $stack_depth-- ];
 
         # If we're doing exit messages...
-        (
-            $frame & 4    # Extended messages
-            ? (
-                print_lineinfo( ' ' x $stack_depth, "out " ),
-                print_trace( $LINEINFO, -1, 1, 1, "$sub$al" )
-              )
-            : print_lineinfo( ' ' x $stack_depth, "exited $sub$al\n" )
+        $print_exit_msg->();
 
-              # Standard messages
-          )
-          if $frame & 2;
-
         # If we are supposed to show the return value... same as before.
         if ( $doret eq $stack_depth or $frame & 16 and defined wantarray ) {
             local $\ = '';
@@ -3776,20 +4232,22 @@
         # Return the appropriate scalar value.
         $ret;
     } ## end else [ if (wantarray)
-} ## end sub sub
+} ## end sub _sub
 
 sub lsub : lvalue {
 
-	# lock ourselves under threads
-	lock($DBGR);
+    no strict 'refs';
 
+    # lock ourselves under threads
+    lock($DBGR);
+
     # Whether or not the autoloader was running, a scalar to put the
     # sub's return value in (if needed), and an array to put the sub's
     # return value in (if needed).
     my ( $al, $ret, @ret ) = "";
-	if ($sub =~ /^threads::new$/ && $ENV{PERL5DB_THREADED}) {
-		print "creating new thread\n";
-	}
+    if ($sub =~ /^threads::new$/ && $ENV{PERL5DB_THREADED}) {
+        print "creating new thread\n";
+    }
 
     # If the last ten characters are C'::AUTOLOAD', note we've traced
     # into AUTOLOAD for $sub.
@@ -3817,23 +4275,8 @@
     $single |= 4 if $stack_depth == $deep;
 
     # If frame messages are on ...
-    (
-        $frame & 4    # Extended frame entry message
-        ? (
-            print_lineinfo( ' ' x ( $stack_depth - 1 ), "in  " ),
+    _print_frame_message($al);
 
-            # Why -1? But it works! :-(
-            # Because print_trace will call add 1 to it and then call
-            # dump_trace; this results in our skipping -1+1 = 0 stack frames
-            # in dump_trace.
-            print_trace( $LINEINFO, -1, 1, 1, "$sub$al" )
-          )
-        : print_lineinfo( ' ' x ( $stack_depth - 1 ), "entering $sub$al\n" )
-
-          # standard frame entry message
-      )
-      if $frame;
-
     # Pop the single-step value back off the stack.
     $single |= $stack[ $stack_depth-- ];
 
@@ -3841,6 +4284,13 @@
     &$sub;
 }
 
+# Abstracting common code from multiple places elsewhere:
+sub depth_print_lineinfo {
+    my $always_print = shift;
+
+    print_lineinfo( @_ ) if ($always_print or $stack_depth < $trace_to_depth);
+}
+
 =head1 EXTENDED COMMAND HANDLING AND THE COMMAND API
 
 In Perl 5.8.0, there was a major realignment of the commands and what they did,
@@ -3847,14 +4297,14 @@
 Most of the changes were to systematize the command structure and to eliminate
 commands that threw away user input without checking.
 
-The following sections describe the code added to make it easy to support 
-multiple command sets with conflicting command names. This section is a start 
+The following sections describe the code added to make it easy to support
+multiple command sets with conflicting command names. This section is a start
 at unifying all command processing to make it simpler to develop commands.
 
-Note that all the cmd_[a-zA-Z] subroutines require the command name, a line 
+Note that all the cmd_[a-zA-Z] subroutines require the command name, a line
 number, and C<$dbline> (the current line) as arguments.
 
-Support functions in this section which have multiple modes of failure C<die> 
+Support functions in this section which have multiple modes of failure C<die>
 on error; the rest simply return a false value.
 
 The user-interface functions (all of the C<cmd_*> functions) just output
@@ -3863,13 +4313,13 @@
 =head2 C<%set>
 
 The C<%set> hash defines the mapping from command letter to subroutine
-name suffix. 
+name suffix.
 
 C<%set> is a two-level hash, indexed by set name and then by command name.
 Note that trying to set the CommandSet to C<foobar> simply results in the
 5.8.0 command set being used, since there's no top-level entry for C<foobar>.
 
-=cut 
+=cut
 
 ### The API section
 
@@ -3899,18 +4349,86 @@
     },
 );
 
+my %breakpoints_data;
+
+sub _has_breakpoint_data_ref {
+    my ($filename, $line) = @_;
+
+    return (
+        exists( $breakpoints_data{$filename} )
+            and
+        exists( $breakpoints_data{$filename}{$line} )
+    );
+}
+
+sub _get_breakpoint_data_ref {
+    my ($filename, $line) = @_;
+
+    return ($breakpoints_data{$filename}{$line} ||= +{});
+}
+
+sub _delete_breakpoint_data_ref {
+    my ($filename, $line) = @_;
+
+    delete($breakpoints_data{$filename}{$line});
+    if (! scalar(keys( %{$breakpoints_data{$filename}} )) ) {
+        delete($breakpoints_data{$filename});
+    }
+
+    return;
+}
+
+sub _set_breakpoint_enabled_status {
+    my ($filename, $line, $status) = @_;
+
+    _get_breakpoint_data_ref($filename, $line)->{'enabled'} =
+        ($status ? 1 : '')
+        ;
+
+    return;
+}
+
+sub _enable_breakpoint_temp_enabled_status {
+    my ($filename, $line) = @_;
+
+    _get_breakpoint_data_ref($filename, $line)->{'temp_enabled'} = 1;
+
+    return;
+}
+
+sub _cancel_breakpoint_temp_enabled_status {
+    my ($filename, $line) = @_;
+
+    my $ref = _get_breakpoint_data_ref($filename, $line);
+
+    delete ($ref->{'temp_enabled'});
+
+    if (! %$ref) {
+        _delete_breakpoint_data_ref($filename, $line);
+    }
+
+    return;
+}
+
+sub _is_breakpoint_enabled {
+    my ($filename, $line) = @_;
+
+    my $data_ref = _get_breakpoint_data_ref($filename, $line);
+    return ($data_ref->{'enabled'} || $data_ref->{'temp_enabled'});
+}
+
 =head2 C<cmd_wrapper()> (API)
 
-C<cmd_wrapper()> allows the debugger to switch command sets 
-depending on the value of the C<CommandSet> option. 
+C<cmd_wrapper()> allows the debugger to switch command sets
+depending on the value of the C<CommandSet> option.
 
 It tries to look up the command in the C<%set> package-level I<lexical>
-(which means external entities can't fiddle with it) and create the name of 
-the sub to call based on the value found in the hash (if it's there). I<All> 
-of the commands to be handled in a set have to be added to C<%set>; if they 
+(which means external entities can't fiddle with it) and create the name of
+the sub to call based on the value found in the hash (if it's there). I<All>
+of the commands to be handled in a set have to be added to C<%set>; if they
 aren't found, the 5.8.0 equivalent is called (if there is one).
 
-This code uses symbolic references. 
+This code uses symbolic references.
 
 =cut
 
@@ -3924,17 +4442,17 @@
     # default to the older version of the command.
     my $call = 'cmd_'
       . ( $set{$CommandSet}{$cmd}
-          || ( $cmd =~ /^[<>{]+/o ? 'prepost' : $cmd ) );
+          || ( $cmd =~ /\A[<>{]+/o ? 'prepost' : $cmd ) );
 
     # Call the command subroutine, call it by name.
-    return &$call( $cmd, $line, $dblineno );
+    return __PACKAGE__->can($call)->( $cmd, $line, $dblineno );
 } ## end sub cmd_wrapper
 
 =head3 C<cmd_a> (command)
 
 The C<a> command handles pre-execution actions. These are associated with a
-particular line, so they're stored in C<%dbline>. We default to the current 
-line if none is specified. 
+particular line, so they're stored in C<%dbline>. We default to the current
+line if none is specified.
 
 =cut
 
@@ -3944,12 +4462,15 @@
     my $dbline = shift;
 
     # If it's dot (here), or not all digits,  use the current line.
-    $line =~ s/^(\.|(?:[^\d]))/$dbline/;
+    $line =~ s/\A\./$dbline/;
 
     # Should be a line number followed by an expression.
-    if ( $line =~ /^\s*(\d*)\s*(\S.+)/ ) {
-        my ( $lineno, $expr ) = ( $1, $2 );
+    if ( my ($lineno, $expr) = $line =~ /^\s*(\d*)\s*(\S.+)/ ) {
 
+        if (! length($lineno)) {
+            $lineno = $dbline;
+        }
+
         # If we have an expression ...
         if ( length $expr ) {
 
@@ -3968,6 +4489,8 @@
 
                 # Add the action to the line.
                 $dbline{$lineno} .= "\0" . action($expr);
+
+                _set_breakpoint_enabled_status($filename, $lineno, 1);
             }
         } ## end if (length $expr)
     } ## end if ($line =~ /^\s*(\d*)\s*(\S.+)/)
@@ -4000,13 +4523,19 @@
     # if delete_action blows up for some reason, in which case
     # we print $@ and get out.
     if ( $line eq '*' ) {
-        eval { &delete_action(); 1 } or print $OUT $@ and return;
+        if (! eval { _delete_all_actions(); 1 }) {
+            print {$OUT} $@;
+            return;
+        }
     }
 
     # There's a real line  number. Pass it to delete_action.
     # Error trapping is as above.
     elsif ( $line =~ /^(\S.*)/ ) {
-        eval { &delete_action($1); 1 } or print $OUT $@ and return;
+        if (! eval { delete_action($1); 1 }) {
+            print {$OUT} $@;
+            return;
+        }
     }
 
     # Swing and a miss. Bad syntax.
@@ -4019,41 +4548,56 @@
 =head3 C<delete_action> (API)
 
 C<delete_action> accepts either a line number or C<undef>. If a line number
-is specified, we check for the line being executable (if it's not, it 
+is specified, we check for the line being executable (if it's not, it
 couldn't have had an  action). If it is, we just take the action off (this
 will get any kind of an action, including breakpoints).
 
 =cut
 
+sub _remove_action_from_dbline {
+    my $i = shift;
+
+    $dbline{$i} =~ s/\0[^\0]*//;    # \^a
+    delete $dbline{$i} if $dbline{$i} eq '';
+
+    return;
+}
+
+sub _delete_all_actions {
+    print {$OUT} "Deleting all actions...\n";
+
+    for my $file ( keys %had_breakpoints ) {
+        local *dbline = $main::{ '_<' . $file };
+        $max = $#dbline;
+        my $was;
+        for my $i (1 .. $max) {
+            if ( defined $dbline{$i} ) {
+                _remove_action_from_dbline($i);
+            }
+        }
+
+        unless ( $had_breakpoints{$file} &= ~2 ) {
+            delete $had_breakpoints{$file};
+        }
+    }
+
+    return;
+}
+
 sub delete_action {
     my $i = shift;
+
     if ( defined($i) ) {
-
         # Can there be one?
         die "Line $i has no action .\n" if $dbline[$i] == 0;
 
         # Nuke whatever's there.
-        $dbline{$i} =~ s/\0[^\0]*//;    # \^a
-        delete $dbline{$i} if $dbline{$i} eq '';
+        _remove_action_from_dbline($i);
     }
     else {
-        print $OUT "Deleting all actions...\n";
-        for my $file ( keys %had_breakpoints ) {
-            local *dbline = $main::{ '_<' . $file };
-            my $max = $#dbline;
-            my $was;
-            for ( $i = 1 ; $i <= $max ; $i++ ) {
-                if ( defined $dbline{$i} ) {
-                    $dbline{$i} =~ s/\0[^\0]*//;
-                    delete $dbline{$i} if $dbline{$i} eq '';
-                }
-                unless ( $had_breakpoints{$file} &= ~2 ) {
-                    delete $had_breakpoints{$file};
-                }
-            } ## end for ($i = 1 ; $i <= $max...
-        } ## end for my $file (keys %had_breakpoints)
-    } ## end else [ if (defined($i))
-} ## end sub delete_action
+        _delete_all_actions();
+    }
+}
 
 =head3 C<cmd_b> (command)
 
@@ -4070,66 +4614,71 @@
     my $line   = shift;    # [.|line] [cond]
     my $dbline = shift;
 
+    my $default_cond = sub {
+        my $cond = shift;
+        return length($cond) ? $cond : '1';
+    };
+
     # Make . the current line number if it's there..
-    $line =~ s/^\./$dbline/;
+    $line =~ s/^\.(\s|\z)/$dbline$1/;
 
     # No line number, no condition. Simple break on current line.
     if ( $line =~ /^\s*$/ ) {
-        &cmd_b_line( $dbline, 1 );
+        cmd_b_line( $dbline, 1 );
     }
 
     # Break on load for a file.
-    elsif ( $line =~ /^load\b\s*(.*)/ ) {
-        my $file = $1;
-        $file =~ s/\s+$//;
-        &cmd_b_load($file);
+    elsif ( my ($file) = $line =~ /^load\b\s*(.*)/ ) {
+        $file =~ s/\s+\z//;
+        cmd_b_load($file);
     }
 
     # b compile|postpone <some sub> [<condition>]
     # The interpreter actually traps this one for us; we just put the
     # necessary condition in the %postponed hash.
-    elsif ( $line =~ /^(postpone|compile)\b\s*([':A-Za-z_][':\w]*)\s*(.*)/ ) {
+    elsif ( my ($action, $subname, $cond)
+        = $line =~ /^(postpone|compile)\b\s*([':A-Za-z_][':\w]*)\s*(.*)/ ) {
 
-        # Capture the condition if there is one. Make it true if none.
-        my $cond = length $3 ? $3 : '1';
-
-        # Save the sub name and set $break to 1 if $1 was 'postpone', 0
-        # if it was 'compile'.
-        my ( $subname, $break ) = ( $2, $1 eq 'postpone' );
-
         # De-Perl4-ify the name - ' separators to ::.
-        $subname =~ s/\'/::/g;
+        $subname =~ s/'/::/g;
 
         # Qualify it into the current package unless it's already qualified.
-        $subname = "${'package'}::" . $subname unless $subname =~ /::/;
+        $subname = "${package}::" . $subname unless $subname =~ /::/;
 
         # Add main if it starts with ::.
         $subname = "main" . $subname if substr( $subname, 0, 2 ) eq "::";
 
         # Save the break type for this sub.
-        $postponed{$subname} = $break ? "break +0 if $cond" : "compile";
+        $postponed{$subname} = (($action eq 'postpone')
+            ? ( "break +0 if " . $default_cond->($cond) )
+            : "compile");
     } ## end elsif ($line =~ ...
-
+    # b <filename>:<line> [<condition>]
+    elsif (my ($filename, $line_num, $cond)
+        = $line =~ /\A(\S+[^:]):(\d+)\s*(.*)/ms) {
+        cmd_b_filename_line(
+            $filename,
+            $line_num,
+            (length($cond) ? $cond : '1'),
+        );
+    }
     # b <sub name> [<condition>]
-    elsif ( $line =~ /^([':A-Za-z_][':\w]*(?:\[.*\])?)\s*(.*)/ ) {
+    elsif ( my ($new_subname, $new_cond) =
+        $line =~ /^([':A-Za-z_][':\w]*(?:\[.*\])?)\s*(.*)/ ) {
 
         #
-        $subname = $1;
-        $cond = length $2 ? $2 : '1';
-        &cmd_b_sub( $subname, $cond );
+        $subname = $new_subname;
+        cmd_b_sub( $subname, $default_cond->($new_cond) );
     }
 
     # b <line> [<condition>].
-    elsif ( $line =~ /^(\d*)\s*(.*)/ ) {
+    elsif ( my ($line_n, $cond) = $line =~ /^(\d*)\s*(.*)/ ) {
 
         # Capture the line. If none, it's the current line.
-        $line = $1 || $dbline;
+        $line = $line_n || $dbline;
 
-        # If there's no condition, make it '1'.
-        $cond = length $2 ? $2 : '1';
-
         # Break on line.
-        &cmd_b_line( $line, $cond );
+        cmd_b_line( $line, $default_cond->($cond) );
     }
 
     # Line didn't make sense.
@@ -4136,12 +4685,14 @@
     else {
         print "confused by line($line)?\n";
     }
+
+    return;
 } ## end sub cmd_b
 
 =head3 C<break_on_load> (API)
 
 We want to break when this file is loaded. Mark this file in the
-C<%break_on_load> hash, and note that it has a breakpoint in 
+C<%break_on_load> hash, and note that it has a breakpoint in
 C<%had_breakpoints>.
 
 =cut
@@ -4154,7 +4705,7 @@
 
 =head3 C<report_break_on_load> (API)
 
-Gives us an array of filenames that are set to break on load. Note that 
+Gives us an array of filenames that are set to break on load. Note that
 only files with break-on-load are in here, so simply showing the keys
 suffices.
 
@@ -4167,7 +4718,7 @@
 =head3 C<cmd_b_load> (command)
 
 We take the file passed in and try to find it in C<%INC> (which maps modules
-to files they came from). We mark those files for break-on-load via 
+to files they came from). We mark those files for break-on-load via
 C<break_on_load> and then report that it was done.
 
 =cut
@@ -4198,7 +4749,7 @@
     # Normalize for the purposes of our printing this.
     local $\ = '';
     local $" = ' ';
-    print $OUT "Will stop on load of `@files'.\n";
+    print $OUT "Will stop on load of '@files'.\n";
 } ## end sub cmd_b_load
 
 =head3 C<$filename_error> (API package global)
@@ -4205,7 +4756,7 @@
 
 Several of the functions we need to implement in the API need to work both
 on the current file and on other files. We don't want to duplicate code, so
-C<$filename_error> is used to contain the name of the file that's being 
+C<$filename_error> is used to contain the name of the file that's being
 worked on (if it's not the current one).
 
 We can now build functions in pairs: the basic function works on the current
@@ -4215,7 +4766,7 @@
 
 The second function is a wrapper which does the following:
 
-=over 4 
+=over 4
 
 =item *
 
@@ -4223,11 +4774,11 @@
 
 =item *
 
-Localizes the C<*dbline> glob and reassigns it to point to the file we want to process. 
+Localizes the C<*dbline> glob and reassigns it to point to the file we want to process.
 
 =item *
 
-Calls the first function. 
+Calls the first function.
 
 The first function works on the I<current> file (i.e., the one we changed to),
 and prints C<$filename_error> in the error message (the name of the other file)
@@ -4243,6 +4794,7 @@
 
 =cut
 
+use vars qw($filename_error);
 $filename_error = '';
 
 =head3 breakable_line(from, to) (API)
@@ -4251,7 +4803,7 @@
 It walks through C<@dbline> within the range of lines specified, looking for
 the first line that is breakable.
 
-If C<$to> is greater than C<$from>, the search moves forwards, finding the 
+If C<$to> is greater than C<$from>, the search moves forwards, finding the
 first line I<after> C<$to> that's breakable, if there is one.
 
 If C<$from> is greater than C<$to>, the search goes I<backwards>, finding the
@@ -4343,7 +4895,7 @@
     local *dbline = $main::{ '_<' . $f };
 
     # If there's an error, it's in this other file.
-    local $filename_error = " of `$f'";
+    local $filename_error = " of '$f'";
 
     # Find the breakable line.
     breakable_line(@_);
@@ -4354,17 +4906,15 @@
 
 =head3 break_on_line(lineno, [condition]) (API)
 
-Adds a breakpoint with the specified condition (or 1 if no condition was 
+Adds a breakpoint with the specified condition (or 1 if no condition was
 specified) to the specified line. Dies if it can't.
 
 =cut
 
 sub break_on_line {
-    my ( $i, $cond ) = @_;
+    my $i = shift;
+    my $cond = @_ ? shift(@_) : 1;
 
-    # Always true if no condition supplied.
-    $cond = 1 unless @_ >= 2;
-
     my $inii  = $i;
     my $after = '';
     my $pl    = '';
@@ -4386,65 +4936,90 @@
 
         # Nothing here - just add the condition.
         $dbline{$i} = $cond;
+
+        _set_breakpoint_enabled_status($filename, $i, 1);
     }
+
+    return;
 } ## end sub break_on_line
 
 =head3 cmd_b_line(line, [condition]) (command)
 
-Wrapper for C<break_on_line>. Prints the failure message if it 
+Wrapper for C<break_on_line>. Prints the failure message if it
 doesn't work.
 
-=cut 
+=cut
 
 sub cmd_b_line {
-    eval { break_on_line(@_); 1 } or do {
+    if (not eval { break_on_line(@_); 1 }) {
         local $\ = '';
         print $OUT $@ and return;
-    };
+    }
+
+    return;
 } ## end sub cmd_b_line
 
+=head3 cmd_b_filename_line(line, [condition]) (command)
+
+Wrapper for C<break_on_filename_line>. Prints the failure message if it
+doesn't work.
+
+=cut
+
+sub cmd_b_filename_line {
+    if (not eval { break_on_filename_line(@_); 1 }) {
+        local $\ = '';
+        print $OUT $@ and return;
+    }
+
+    return;
+}
+
 =head3 break_on_filename_line(file, line, [condition]) (API)
 
-Switches to the file specified and then calls C<break_on_line> to set 
+Switches to the file specified and then calls C<break_on_line> to set
 the breakpoint.
 
 =cut
 
 sub break_on_filename_line {
-    my ( $f, $i, $cond ) = @_;
+    my $f = shift;
+    my $i = shift;
+    my $cond = @_ ? shift(@_) : 1;
 
-    # Always true if condition left off.
-    $cond = 1 unless @_ >= 3;
-
     # Switch the magical hash temporarily.
     local *dbline = $main::{ '_<' . $f };
 
     # Localize the variables that break_on_line uses to make its message.
-    local $filename_error = " of `$f'";
+    local $filename_error = " of '$f'";
     local $filename       = $f;
 
     # Add the breakpoint.
     break_on_line( $i, $cond );
+
+    return;
 } ## end sub break_on_filename_line
 
 =head3 break_on_filename_line_range(file, from, to, [condition]) (API)
 
-Switch to another file, search the range of lines specified for an 
+Switch to another file, search the range of lines specified for an
 executable one, and put a breakpoint on the first one you find.
 
 =cut
 
 sub break_on_filename_line_range {
-    my ( $f, $from, $to, $cond ) = @_;
+    my $f = shift;
+    my $from = shift;
+    my $to = shift;
+    my $cond = @_ ? shift(@_) : 1;
 
     # Find a breakable line if there is one.
     my $i = breakable_line_in_filename( $f, $from, $to );
 
-    # Always true if missing.
-    $cond = 1 unless @_ >= 3;
-
     # Add the breakpoint.
     break_on_filename_line( $f, $i, $cond );
+
+    return;
 } ## end sub break_on_filename_line_range
 
 =head3 subroutine_filename_lines(subname, [condition]) (API)
@@ -4455,18 +5030,17 @@
 =cut
 
 sub subroutine_filename_lines {
-    my ( $subname, $cond ) = @_;
+    my ( $subname ) = @_;
 
     # Returned value from find_sub() is fullpathname:startline-endline.
-    # The match creates the list (fullpathname, start, end). Falling off
-    # the end of the subroutine returns this implicitly.
-    find_sub($subname) =~ /^(.*):(\d+)-(\d+)$/;
+    # The match creates the list (fullpathname, start, end).
+    return (find_sub($subname) =~ /^(.*):(\d+)-(\d+)$/);
 } ## end sub subroutine_filename_lines
 
 =head3 break_subroutine(subname) (API)
 
 Places a break on the first line possible in the specified subroutine. Uses
-C<subroutine_filename_lines> to find the subroutine, and 
+C<subroutine_filename_lines> to find the subroutine, and
 C<break_on_filename_line_range> to place the break.
 
 =cut
@@ -4478,12 +5052,15 @@
     my ( $file, $s, $e ) = subroutine_filename_lines($subname)
       or die "Subroutine $subname not found.\n";
 
+
     # Null condition changes to '1' (always true).
-    $cond = 1 unless @_ >= 2;
+    my $cond = @_ ? shift(@_) : 1;
 
     # Put a break the first place possible in the range of lines
     # that make up this subroutine.
-    break_on_filename_line_range( $file, $s, $e, @_ );
+    break_on_filename_line_range( $file, $s, $e, $cond );
+
+    return;
 } ## end sub break_subroutine
 
 =head3 cmd_b_sub(subname, [condition]) (command)
@@ -4492,7 +5069,7 @@
 
 =over 4
 
-=item 1. If it's already fully-qualified, leave it alone. 
+=item 1. If it's already fully-qualified, leave it alone.
 
 =item 2. Try putting it in the current package.
 
@@ -4502,47 +5079,55 @@
 
 =back
 
-After all this cleanup, we call C<break_subroutine> to try to set the 
+After all this cleanup, we call C<break_subroutine> to try to set the
 breakpoint.
 
 =cut
 
 sub cmd_b_sub {
-    my ( $subname, $cond ) = @_;
+    my $subname = shift;
+    my $cond = @_ ? shift : 1;
 
-    # Add always-true condition if we have none.
-    $cond = 1 unless @_ >= 2;
-
     # If the subname isn't a code reference, qualify it so that
     # break_subroutine() will work right.
-    unless ( ref $subname eq 'CODE' ) {
+    if ( ref($subname) ne 'CODE' ) {
 
-        # Not Perl4.
-        $subname =~ s/\'/::/g;
+        # Not Perl 4.
+        $subname =~ s/'/::/g;
         my $s = $subname;
 
         # Put it in this package unless it's already qualified.
-        $subname = "${'package'}::" . $subname
-          unless $subname =~ /::/;
+        if ($subname !~ /::/)
+        {
+            $subname = $package . '::' . $subname;
+        };
 
         # Requalify it into CORE::GLOBAL if qualifying it into this
         # package resulted in its not being defined, but only do so
         # if it really is in CORE::GLOBAL.
-        $subname = "CORE::GLOBAL::$s"
-          if not defined &$subname
-          and $s !~ /::/
-          and defined &{"CORE::GLOBAL::$s"};
+        my $core_name = "CORE::GLOBAL::$s";
+        if ((!defined(&$subname))
+                and ($s !~ /::/)
+                and (defined &{$core_name}))
+        {
+            $subname = $core_name;
+        }
 
         # Put it in package 'main' if it has a leading ::.
-        $subname = "main" . $subname if substr( $subname, 0, 2 ) eq "::";
+        if ($subname =~ /\A::/)
+        {
+            $subname = "main" . $subname;
+        }
+    } ## end if ( ref($subname) ne 'CODE' ) {
 
-    } ## end unless (ref $subname eq 'CODE')
-
     # Try to set the breakpoint.
-    eval { break_subroutine( $subname, $cond ); 1 } or do {
+    if (not eval { break_subroutine( $subname, $cond ); 1 }) {
         local $\ = '';
-        print $OUT $@ and return;
-      }
+        print {$OUT} $@;
+        return;
+    }
+
+    return;
 } ## end sub cmd_b_sub
 
 =head3 C<cmd_B> - delete breakpoint(s) (command)
@@ -4561,7 +5146,7 @@
 
     # No line spec? Use dbline.
     # If there is one, use it if it's non-zero, or wipe it out if it is.
-    my $line   = ( $_[0] =~ /^\./ ) ? $dbline : shift || '';
+    my $line   = ( $_[0] =~ /\A\./ ) ? $dbline : (shift || '');
     my $dbline = shift;
 
     # If the line was dot, make the line the current one.
@@ -4569,23 +5154,27 @@
 
     # If it's * we're deleting all the breakpoints.
     if ( $line eq '*' ) {
-        eval { &delete_breakpoint(); 1 } or print $OUT $@ and return;
+        if (not eval { delete_breakpoint(); 1 }) {
+            print {$OUT} $@;
+        }
     }
 
     # If there is a line spec, delete the breakpoint on that line.
-    elsif ( $line =~ /^(\S.*)/ ) {
-        eval { &delete_breakpoint( $line || $dbline ); 1 } or do {
+    elsif ( $line =~ /\A(\S.*)/ ) {
+        if (not eval { delete_breakpoint( $line || $dbline ); 1 }) {
             local $\ = '';
-            print $OUT $@ and return;
-        };
+            print {$OUT} $@;
+        }
     } ## end elsif ($line =~ /^(\S.*)/)
 
     # No line spec.
     else {
-        print $OUT
+        print {$OUT}
           "Deleting a breakpoint requires a line number, or '*' for all\n"
           ;    # hint
     }
+
+    return;
 } ## end sub cmd_B
 
 =head3 delete_breakpoint([line]) (API)
@@ -4599,7 +5188,7 @@
 after we've done that, there's nothing left, we delete the corresponding
 line in C<%dbline> to signal that no action needs to be taken for this line.
 
-For all breakpoints, we iterate through the keys of C<%had_breakpoints>, 
+For all breakpoints, we iterate through the keys of C<%had_breakpoints>,
 which lists all currently-loaded files which have breakpoints. We then look
 at each line in each of these files, temporarily switching the C<%dbline>
 and C<@dbline> structures to point to the files in question, and do what
@@ -4606,7 +5195,7 @@
 we did in the single line case: delete the condition in C<@dbline>, and
 delete the key in C<%dbline> if nothing's left.
 
-We then wholesale delete C<%postponed>, C<%postponed_file>, and 
+We then wholesale delete C<%postponed>, C<%postponed_file>, and
 C<%break_on_load>, because these structures contain breakpoints for files
 and code that haven't been loaded yet. We can just kill these off because there
 are no magical debugger structures associated with them.
@@ -4613,68 +5202,91 @@
 
 =cut
 
-sub delete_breakpoint {
-    my $i = shift;
+sub _remove_breakpoint_entry {
+    my ($fn, $i) = @_;
 
-    # If we got a line, delete just that one.
-    if ( defined($i) ) {
+    delete $dbline{$i};
+    _delete_breakpoint_data_ref($fn, $i);
 
-        # Woops. This line wasn't breakable at all.
-        die "Line $i not breakable.\n" if $dbline[$i] == 0;
+    return;
+}
 
-        # Kill the condition, but leave any action.
-        $dbline{$i} =~ s/^[^\0]*//;
+sub _delete_all_breakpoints {
+    print {$OUT} "Deleting all breakpoints...\n";
 
-        # Remove the entry entirely if there's no action left.
-        delete $dbline{$i} if $dbline{$i} eq '';
-    }
+    # %had_breakpoints lists every file that had at least one
+    # breakpoint in it.
+    for my $fn ( keys %had_breakpoints ) {
 
-    # No line; delete them all.
-    else {
-        print $OUT "Deleting all breakpoints...\n";
+        # Switch to the desired file temporarily.
+        local *dbline = $main::{ '_<' . $fn };
 
-        # %had_breakpoints lists every file that had at least one
-        # breakpoint in it.
-        for my $file ( keys %had_breakpoints ) {
+        $max = $#dbline;
 
-            # Switch to the desired file temporarily.
-            local *dbline = $main::{ '_<' . $file };
+        # For all lines in this file ...
+        for my $i (1 .. $max) {
 
-            my $max = $#dbline;
-            my $was;
+            # If there's a breakpoint or action on this line ...
+            if ( defined $dbline{$i} ) {
 
-            # For all lines in this file ...
-            for ( $i = 1 ; $i <= $max ; $i++ ) {
+                # ... remove the breakpoint.
+                $dbline{$i} =~ s/\A[^\0]+//;
+                if ( $dbline{$i} =~ s/\A\0?\z// ) {
+                    # Remove the entry altogether if no action is there.
+                    _remove_breakpoint_entry($fn, $i);
+                }
+            } ## end if (defined $dbline{$i...
+        } ## end for $i (1 .. $max)
 
-                # If there's a breakpoint or action on this line ...
-                if ( defined $dbline{$i} ) {
+        # If, after we turn off the "there were breakpoints in this file"
+        # bit, the entry in %had_breakpoints for this file is zero,
+        # we should remove this file from the hash.
+        if ( not $had_breakpoints{$fn} &= (~1) ) {
+            delete $had_breakpoints{$fn};
+        }
+    } ## end for my $fn (keys %had_breakpoints)
 
-                    # ... remove the breakpoint.
-                    $dbline{$i} =~ s/^[^\0]+//;
-                    if ( $dbline{$i} =~ s/^\0?$// ) {
+    # Kill off all the other breakpoints that are waiting for files that
+    # haven't been loaded yet.
+    undef %postponed;
+    undef %postponed_file;
+    undef %break_on_load;
 
-                        # Remove the entry altogether if no action is there.
-                        delete $dbline{$i};
-                    }
-                } ## end if (defined $dbline{$i...
-            } ## end for ($i = 1 ; $i <= $max...
+    return;
+}
 
-            # If, after we turn off the "there were breakpoints in this file"
-            # bit, the entry in %had_breakpoints for this file is zero,
-            # we should remove this file from the hash.
-            if ( not $had_breakpoints{$file} &= ~1 ) {
-                delete $had_breakpoints{$file};
-            }
-        } ## end for my $file (keys %had_breakpoints)
+sub _delete_breakpoint_from_line {
+    my ($i) = @_;
 
-        # Kill off all the other breakpoints that are waiting for files that
-        # haven't been loaded yet.
-        undef %postponed;
-        undef %postponed_file;
-        undef %break_on_load;
-    } ## end else [ if (defined($i))
-} ## end sub delete_breakpoint
+    # Woops. This line wasn't breakable at all.
+    die "Line $i not breakable.\n" if $dbline[$i] == 0;
 
+    # Kill the condition, but leave any action.
+    $dbline{$i} =~ s/\A[^\0]*//;
+
+    # Remove the entry entirely if there's no action left.
+    if ($dbline{$i} eq '') {
+        _remove_breakpoint_entry($filename, $i);
+    }
+
+    return;
+}
+
+sub delete_breakpoint {
+    my $i = shift;
+
+    # If we got a line, delete just that one.
+    if ( defined($i) ) {
+        _delete_breakpoint_from_line($i);
+    }
+    # No line; delete them all.
+    else {
+        _delete_all_breakpoints();
+    }
+
+    return;
+}
+
 =head3 cmd_stop (command)
 
 This is meant to be part of the new command API, but it isn't called or used
@@ -4691,7 +5303,7 @@
 
 Display the current thread id:
 
-	e
+    e
 
 This could be how (when implemented) to send commands to this thread id (e cmd)
 or that thread id (e tid cmd).
@@ -4701,13 +5313,13 @@
 sub cmd_e {
     my $cmd  = shift;
     my $line = shift;
-	unless (exists($INC{'threads.pm'})) {
-		print "threads not loaded($ENV{PERL5DB_THREADED})
-		please run the debugger with PERL5DB_THREADED=1 set in the environment\n";
-	} else {
-		my $tid = threads->tid;
-		print "thread id: $tid\n";
-	}
+    unless (exists($INC{'threads.pm'})) {
+        print "threads not loaded($ENV{PERL5DB_THREADED})
+        please run the debugger with PERL5DB_THREADED=1 set in the environment\n";
+    } else {
+        my $tid = threads->tid;
+        print "thread id: $tid\n";
+    }
 } ## end sub cmd_e
 
 =head3 C<cmd_E> - list of thread ids
@@ -4714,7 +5326,7 @@
 
 Display the list of available thread ids:
 
-	E
+    E
 
 This could be used (when implemented) to send commands to all threads (E cmd).
 
@@ -4723,15 +5335,15 @@
 sub cmd_E {
     my $cmd  = shift;
     my $line = shift;
-	unless (exists($INC{'threads.pm'})) { 
-		print "threads not loaded($ENV{PERL5DB_THREADED})
-		please run the debugger with PERL5DB_THREADED=1 set in the environment\n";
-	} else {
-		my $tid = threads->tid;
-		print "thread ids: ".join(', ', 
-			map { ($tid == $_->tid ? '<'.$_->tid.'>' : $_->tid) } threads->list
-		)."\n"; 
-	}
+    unless (exists($INC{'threads.pm'})) {
+        print "threads not loaded($ENV{PERL5DB_THREADED})
+        please run the debugger with PERL5DB_THREADED=1 set in the environment\n";
+    } else {
+        my $tid = threads->tid;
+        print "thread ids: ".join(', ',
+            map { ($tid == $_->tid ? '<'.$_->tid.'>' : $_->tid) } threads->list
+        )."\n";
+    }
 } ## end sub cmd_E
 
 =head3 C<cmd_h> - help command (command)
@@ -4752,6 +5364,9 @@
 
 =cut
 
+use vars qw($help);
+use vars qw($summary);
+
 sub cmd_h {
     my $cmd = shift;
 
@@ -4759,18 +5374,15 @@
     my $line = shift || '';
 
     # 'h h'. Print the long-format help.
-    if ( $line =~ /^h\s*/ ) {
+    if ( $line =~ /\Ah\s*\z/ ) {
         print_help($help);
     }
 
     # 'h <something>'. Search for the command and print only its help.
-    elsif ( $line =~ /^(\S.*)$/ ) {
+    elsif ( my ($asked) = $line =~ /\A(\S.*)\z/ ) {
 
         # support long commands; otherwise bogus errors
         # happen when you ask for h on <CR> for example
-        my $asked = $1;    # the command requested
-                           # (for proper error message)
-
         my $qasked = quotemeta($asked);    # for searching; we don't
                                            # want to use it as a pattern.
                                            # XXX: finds CR but not <CR>
@@ -4793,7 +5405,7 @@
                                  $qasked     # The command
                                  ([\s\S]*?)  # Description line(s)
                               \n)            # End of last description line
-                              (?!\s)         # Next line not starting with 
+                              (?!\s)         # Next line not starting with
                                              # whitespace
                              /mgx
               )
@@ -4825,7 +5437,8 @@
     my $line = shift;
     foreach my $isa ( split( /\s+/, $line ) ) {
         $evalarg = $isa;
-        ($isa) = &eval;
+        # The &-call is here to ascertain the mutability of @_.
+        ($isa) = &DB::eval;
         no strict 'refs';
         print join(
             ', ',
@@ -4845,10 +5458,10 @@
 
 Most of the command is taken up with transforming all the different line
 specification syntaxes into 'start-stop'. After that is done, the command
-runs a loop over C<@dbline> for the specified range of lines. It handles 
+runs a loop over C<@dbline> for the specified range of lines. It handles
 the printing of each line and any markers (C<==E<gt>> for current line,
 C<b> for break on this line, C<a> for action on this line, C<:> for this
-line breakable). 
+line breakable).
 
 We save the last line listed in the C<$start> global for further listing
 later.
@@ -4855,196 +5468,273 @@
 
 =cut
 
-sub cmd_l {
-    my $current_line = $line;
-    my $cmd  = shift;
-    my $line = shift;
+sub _min {
+    my $min = shift;
+    foreach my $v (@_) {
+        if ($min > $v) {
+            $min = $v;
+        }
+    }
+    return $min;
+}
 
-    # If this is '-something', delete any spaces after the dash.
-    $line =~ s/^-\s*$/-/;
+sub _max {
+    my $max = shift;
+    foreach my $v (@_) {
+        if ($max < $v) {
+            $max = $v;
+        }
+    }
+    return $max;
+}
 
-    # If the line is '$something', assume this is a scalar containing a
-    # line number.
-    if ( $line =~ /^(\$.*)/s ) {
+sub _minify_to_max {
+    my $ref = shift;
 
-        # Set up for DB::eval() - evaluate in *user* context.
-        $evalarg = $1;
-        # $evalarg = $2;
-        my ($s) = &eval;
+    $$ref = _min($$ref, $max);
 
-        # Ooops. Bad scalar.
-        print( $OUT "Error: $@\n" ), next CMD if $@;
+    return;
+}
 
-        # Good scalar. If it's a reference, find what it points to.
-        $s = CvGV_name($s);
-        print( $OUT "Interpreted as: $1 $s\n" );
-        $line = "$1 $s";
+sub _cmd_l_handle_var_name {
+    my $var_name = shift;
 
-        # Call self recursively to really do the command.
-        &cmd_l( 'l', $s );
-    } ## end if ($line =~ /^(\$.*)/s)
+    $evalarg = $var_name;
 
-    # l name. Try to find a sub by that name.
-    elsif ( $line =~ /^([\':A-Za-z_][\':\w]*(\[.*\])?)/s ) {
-        my $s = $subname = $1;
+    my ($s) = DB::eval();
 
-        # De-Perl4.
-        $subname =~ s/\'/::/;
+    # Ooops. Bad scalar.
+    if ($@) {
+        print {$OUT} "Error: $@\n";
+        next CMD;
+    }
 
-        # Put it in this package unless it starts with ::.
-        $subname = $package . "::" . $subname unless $subname =~ /::/;
+    # Good scalar. If it's a reference, find what it points to.
+    $s = CvGV_name($s);
+    print {$OUT} "Interpreted as: $1 $s\n";
+    $line = "$1 $s";
 
-        # Put it in CORE::GLOBAL if t doesn't start with :: and
-        # it doesn't live in this package and it lives in CORE::GLOBAL.
-        $subname = "CORE::GLOBAL::$s"
-          if not defined &$subname
-          and $s !~ /::/
-          and defined &{"CORE::GLOBAL::$s"};
+    # Call self recursively to really do the command.
+    return _cmd_l_main( $s );
+}
 
-        # Put leading '::' names into 'main::'.
-        $subname = "main" . $subname if substr( $subname, 0, 2 ) eq "::";
+sub _cmd_l_handle_subname {
 
-        # Get name:start-stop from find_sub, and break this up at
-        # colons.
-        @pieces = split( /:/, find_sub($subname) || $sub{$subname} );
+    my $s = $subname;
 
-        # Pull off start-stop.
-        $subrange = pop @pieces;
+    # De-Perl4.
+    $subname =~ s/\'/::/;
 
-        # If the name contained colons, the split broke it up.
-        # Put it back together.
-        $file = join( ':', @pieces );
+    # Put it in this package unless it starts with ::.
+    $subname = $package . "::" . $subname unless $subname =~ /::/;
 
-        # If we're not in that file, switch over to it.
-        if ( $file ne $filename ) {
-            print $OUT "Switching to file '$file'.\n"
-              unless $slave_editor;
+    # Put it in CORE::GLOBAL if t doesn't start with :: and
+    # it doesn't live in this package and it lives in CORE::GLOBAL.
+    $subname = "CORE::GLOBAL::$s"
+    if not defined &$subname
+        and $s !~ /::/
+        and defined &{"CORE::GLOBAL::$s"};
 
-            # Switch debugger's magic structures.
-            *dbline   = $main::{ '_<' . $file };
-            $max      = $#dbline;
-            $filename = $file;
-        } ## end if ($file ne $filename)
+    # Put leading '::' names into 'main::'.
+    $subname = "main" . $subname if substr( $subname, 0, 2 ) eq "::";
 
-        # Subrange is 'start-stop'. If this is less than a window full,
-        # swap it to 'start+', which will list a window from the start point.
-        if ($subrange) {
-            if ( eval($subrange) < -$window ) {
-                $subrange =~ s/-.*/+/;
-            }
+    # Get name:start-stop from find_sub, and break this up at
+    # colons.
+    my @pieces = split( /:/, find_sub($subname) || $sub{$subname} );
 
-            # Call self recursively to list the range.
-            $line = $subrange;
-            &cmd_l( 'l', $subrange );
-        } ## end if ($subrange)
+    # Pull off start-stop.
+    my $subrange = pop @pieces;
 
-        # Couldn't find it.
-        else {
-            print $OUT "Subroutine $subname not found.\n";
+    # If the name contained colons, the split broke it up.
+    # Put it back together.
+    $file = join( ':', @pieces );
+
+    # If we're not in that file, switch over to it.
+    if ( $file ne $filename ) {
+        if (! $slave_editor) {
+            print {$OUT} "Switching to file '$file'.\n";
         }
-    } ## end elsif ($line =~ /^([\':A-Za-z_][\':\w]*(\[.*\])?)/s)
 
-    # Bare 'l' command.
-    elsif ( $line =~ /^\s*$/ ) {
+        # Switch debugger's magic structures.
+        *dbline   = $main::{ '_<' . $file };
+        $max      = $#dbline;
+        $filename = $file;
+    } ## end if ($file ne $filename)
 
-        # Compute new range to list.
-        $incr = $window - 1;
-        $line = $start . '-' . ( $start + $incr );
+    # Subrange is 'start-stop'. If this is less than a window full,
+    # swap it to 'start+', which will list a window from the start point.
+    if ($subrange) {
+        if ( eval($subrange) < -$window ) {
+            $subrange =~ s/-.*/+/;
+        }
 
-        # Recurse to do it.
-        &cmd_l( 'l', $line );
+        # Call self recursively to list the range.
+        return _cmd_l_main( $subrange );
+    } ## end if ($subrange)
+
+    # Couldn't find it.
+    else {
+        print {$OUT} "Subroutine $subname not found.\n";
+        return;
     }
+}
 
-    # l [start]+number_of_lines
-    elsif ( $line =~ /^(\d*)\+(\d*)$/ ) {
+sub _cmd_l_empty {
+    # Compute new range to list.
+    $incr = $window - 1;
 
-        # Don't reset start for 'l +nnn'.
-        $start = $1 if $1;
+    # Recurse to do it.
+    return _cmd_l_main( $start . '-' . ( $start + $incr ) );
+}
 
-        # Increment for list. Use window size if not specified.
-        # (Allows 'l +' to work.)
-        $incr = $2;
-        $incr = $window - 1 unless $incr;
+sub _cmd_l_plus {
+    my ($new_start, $new_incr) = @_;
 
-        # Create a line range we'll understand, and recurse to do it.
-        $line = $start . '-' . ( $start + $incr );
-        &cmd_l( 'l', $line );
-    } ## end elsif ($line =~ /^(\d*)\+(\d*)$/)
+    # Don't reset start for 'l +nnn'.
+    $start = $new_start if $new_start;
 
-    # l start-stop or l start,stop
-    elsif ( $line =~ /^((-?[\d\$\.]+)([-,]([\d\$\.]+))?)?/ ) {
+    # Increment for list. Use window size if not specified.
+    # (Allows 'l +' to work.)
+    $incr = $new_incr || ($window - 1);
 
-        # Determine end point; use end of file if not specified.
-        $end = ( !defined $2 ) ? $max : ( $4 ? $4 : $2 );
+    # Create a line range we'll understand, and recurse to do it.
+    return _cmd_l_main( $start . '-' . ( $start + $incr ) );
+}
 
-        # Go on to the end, and then stop.
-        $end = $max if $end > $max;
+sub _cmd_l_calc_initial_end_and_i {
+    my ($spec, $start_match, $end_match) = @_;
 
-        # Determine start line.
-        $i    = $2;
-        $i    = $line if $i eq '.';
-        $i    = 1 if $i < 1;
-        $incr = $end - $i;
+    # Determine end point; use end of file if not specified.
+    my $end = ( !defined $start_match ) ? $max :
+    ( $end_match ? $end_match : $start_match );
 
-        # If we're running under a slave editor, force it to show the lines.
-        if ($slave_editor) {
-            print $OUT "\032\032$filename:$i:0\n";
-            $i = $end;
-        }
+    # Go on to the end, and then stop.
+    _minify_to_max(\$end);
 
-        # We're doing it ourselves. We want to show the line and special
-        # markers for:
-        # - the current line in execution
-        # - whether a line is breakable or not
-        # - whether a line has a break or not
-        # - whether a line has an action or not
-        else {
-            for ( ; $i <= $end ; $i++ ) {
+    # Determine start line.
+    my $i = $start_match;
 
-                # Check for breakpoints and actions.
-                my ( $stop, $action );
-                ( $stop, $action ) = split( /\0/, $dbline{$i} )
-                  if $dbline{$i};
+    if ($i eq '.') {
+        $i = $spec;
+    }
 
-                # ==> if this is the current line in execution,
-                # : if it's breakable.
-                $arrow =
-                  ( $i == $current_line and $filename eq $filename_ini )
-                  ? '==>'
-                  : ( $dbline[$i] + 0 ? ':' : ' ' );
+    $i = _max($i, 1);
 
-                # Add break and action indicators.
-                $arrow .= 'b' if $stop;
-                $arrow .= 'a' if $action;
+    $incr = $end - $i;
 
-                # Print the line.
-                print $OUT "$i$arrow\t", $dbline[$i];
+    return ($end, $i);
+}
 
-                # Move on to the next line. Drop out on an interrupt.
-                $i++, last if $signal;
-            } ## end for (; $i <= $end ; $i++)
+sub _cmd_l_range {
+    my ($spec, $current_line, $start_match, $end_match) = @_;
 
-            # Line the prompt up; print a newline if the last line listed
-            # didn't have a newline.
-            print $OUT "\n" unless $dbline[ $i - 1 ] =~ /\n$/;
-        } ## end else [ if ($slave_editor)
+    my ($end, $i) =
+        _cmd_l_calc_initial_end_and_i($spec, $start_match, $end_match);
 
-        # Save the point we last listed to in case another relative 'l'
-        # command is desired. Don't let it run off the end.
-        $start = $i;
-        $start = $max if $start > $max;
-    } ## end elsif ($line =~ /^((-?[\d\$\.]+)([-,]([\d\$\.]+))?)?/)
+    # If we're running under a slave editor, force it to show the lines.
+    if ($slave_editor) {
+        print {$OUT} "\032\032$filename:$i:0\n";
+        $i = $end;
+    }
+    # We're doing it ourselves. We want to show the line and special
+    # markers for:
+    # - the current line in execution
+    # - whether a line is breakable or not
+    # - whether a line has a break or not
+    # - whether a line has an action or not
+    else {
+        I_TO_END:
+        for ( ; $i <= $end ; $i++ ) {
+
+            # Check for breakpoints and actions.
+            my ( $stop, $action );
+            if ($dbline{$i}) {
+                ( $stop, $action ) = split( /\0/, $dbline{$i} );
+            }
+
+            # ==> if this is the current line in execution,
+            # : if it's breakable.
+            my $arrow =
+            ( $i == $current_line and $filename eq $filename_ini )
+            ? '==>'
+            : ( $dbline[$i] + 0 ? ':' : ' ' );
+
+            # Add break and action indicators.
+            $arrow .= 'b' if $stop;
+            $arrow .= 'a' if $action;
+
+            # Print the line.
+            print {$OUT} "$i$arrow\t", $dbline[$i];
+
+            # Move on to the next line. Drop out on an interrupt.
+            if ($signal) {
+                $i++;
+                last I_TO_END;
+            }
+        } ## end for (; $i <= $end ; $i++)
+
+        # Line the prompt up; print a newline if the last line listed
+        # didn't have a newline.
+        if ($dbline[ $i - 1 ] !~ /\n\z/) {
+            print {$OUT} "\n";
+        }
+    } ## end else [ if ($slave_editor)
+
+    # Save the point we last listed to in case another relative 'l'
+    # command is desired. Don't let it run off the end.
+    $start = $i;
+    _minify_to_max(\$start);
+
+    return;
+}
+
+sub _cmd_l_main {
+    my $spec = shift;
+
+    # If this is '-something', delete any spaces after the dash.
+    $spec =~ s/\A-\s*\z/-/;
+
+    # If the line is '$something', assume this is a scalar containing a
+    # line number.
+    # Set up for DB::eval() - evaluate in *user* context.
+    if ( my ($var_name) = $spec =~ /\A(\$.*)/s ) {
+        return _cmd_l_handle_var_name($var_name);
+    }
+    # l name. Try to find a sub by that name.
+    elsif ( ($subname) = $spec =~ /\A([\':A-Za-z_][\':\w]*(?:\[.*\])?)/s ) {
+        return _cmd_l_handle_subname();
+    }
+    # Bare 'l' command.
+    elsif ( $spec !~ /\S/ ) {
+        return _cmd_l_empty();
+    }
+    # l [start]+number_of_lines
+    elsif ( my ($new_start, $new_incr) = $spec =~ /\A(\d*)\+(\d*)\z/ ) {
+        return _cmd_l_plus($new_start, $new_incr);
+    }
+    # l start-stop or l start,stop
+    elsif (my ($s, $e) = $spec =~ /^(?:(-?[\d\$\.]+)(?:[-,]([\d\$\.]+))?)?/ ) {
+        return _cmd_l_range($spec, $line, $s, $e);
+    }
+
+    return;
 } ## end sub cmd_l
 
+sub cmd_l {
+    my (undef, $line) = @_;
+
+    return _cmd_l_main($line);
+}
+
 =head3 C<cmd_L> - list breakpoints, actions, and watch expressions (command)
 
 To list breakpoints, the command has to look determine where all of them are
 first. It starts a C<%had_breakpoints>, which tells us what all files have
-breakpoints and/or actions. For each file, we switch the C<*dbline> glob (the 
-magic source and breakpoint data structures) to the file, and then look 
-through C<%dbline> for lines with breakpoints and/or actions, listing them 
-out. We look through C<%postponed> not-yet-compiled subroutines that have 
-breakpoints, and through C<%postponed_file> for not-yet-C<require>'d files 
+breakpoints and/or actions. For each file, we switch the C<*dbline> glob (the
+magic source and breakpoint data structures) to the file, and then look
+through C<%dbline> for lines with breakpoints and/or actions, listing them
+out. We look through C<%postponed> not-yet-compiled subroutines that have
+breakpoints, and through C<%postponed_file> for not-yet-C<require>'d files
 that have breakpoints.
 
 Watchpoints are simpler: we just list the entries in C<@to_watch>.
@@ -5051,73 +5741,132 @@
 
 =cut
 
-sub cmd_L {
-    my $cmd = shift;
-
+sub _cmd_L_calc_arg {
     # If no argument, list everything. Pre-5.8.0 version always lists
     # everything
     my $arg = shift || 'abw';
-    $arg = 'abw' unless $CommandSet eq '580';    # sigh...
+    if ($CommandSet ne '580')
+    {
+        $arg = 'abw';
+    }
 
-    # See what is wanted.
-    my $action_wanted = ( $arg =~ /a/ ) ? 1 : 0;
-    my $break_wanted  = ( $arg =~ /b/ ) ? 1 : 0;
-    my $watch_wanted  = ( $arg =~ /w/ ) ? 1 : 0;
+    return $arg;
+}
 
-    # Breaks and actions are found together, so we look in the same place
-    # for both.
-    if ( $break_wanted or $action_wanted ) {
+sub _cmd_L_calc_wanted_flags {
+    my $arg = _cmd_L_calc_arg(shift);
 
-        # Look in all the files with breakpoints...
-        for my $file ( keys %had_breakpoints ) {
+    return (map { index($arg, $_) >= 0 ? 1 : 0 } qw(a b w));
+}
 
-            # Temporary switch to this file.
-            local *dbline = $main::{ '_<' . $file };
 
-            # Set up to look through the whole file.
-            my $max = $#dbline;
-            my $was;    # Flag: did we print something
-                        # in this file?
+sub _cmd_L_handle_breakpoints {
+    my ($handle_db_line) = @_;
 
-            # For each line in the file ...
-            for ( $i = 1 ; $i <= $max ; $i++ ) {
+    BREAKPOINTS_SCAN:
+    # Look in all the files with breakpoints...
+    for my $file ( keys %had_breakpoints ) {
 
-                # We've got something on this line.
-                if ( defined $dbline{$i} ) {
+        # Temporary switch to this file.
+        local *dbline = $main::{ '_<' . $file };
 
-                    # Print the header if we haven't.
-                    print $OUT "$file:\n" unless $was++;
+        # Set up to look through the whole file.
+        $max = $#dbline;
+        my $was;    # Flag: did we print something
+        # in this file?
 
-                    # Print the line.
-                    print $OUT " $i:\t", $dbline[$i];
+        # For each line in the file ...
+        for my $i (1 .. $max) {
 
-                    # Pull out the condition and the action.
-                    ( $stop, $action ) = split( /\0/, $dbline{$i} );
+            # We've got something on this line.
+            if ( defined $dbline{$i} ) {
 
-                    # Print the break if there is one and it's wanted.
-                    print $OUT "   break if (", $stop, ")\n"
-                      if $stop
-                      and $break_wanted;
+                # Print the header if we haven't.
+                if (not $was++) {
+                    print {$OUT} "$file:\n";
+                }
 
-                    # Print the action if there is one and it's wanted.
-                    print $OUT "   action:  ", $action, "\n"
-                      if $action
-                      and $action_wanted;
+                # Print the line.
+                print {$OUT} " $i:\t", $dbline[$i];
 
-                    # Quit if the user hit interrupt.
-                    last if $signal;
-                } ## end if (defined $dbline{$i...
-            } ## end for ($i = 1 ; $i <= $max...
-        } ## end for my $file (keys %had_breakpoints)
-    } ## end if ($break_wanted or $action_wanted)
+                $handle_db_line->($dbline{$i});
 
+                # Quit if the user hit interrupt.
+                if ($signal) {
+                    last BREAKPOINTS_SCAN;
+                }
+            } ## end if (defined $dbline{$i...
+        } ## end for my $i (1 .. $max)
+    } ## end for my $file (keys %had_breakpoints)
+
+    return;
+}
+
+sub _cmd_L_handle_postponed_breakpoints {
+    my ($handle_db_line) = @_;
+
+    print {$OUT} "Postponed breakpoints in files:\n";
+
+    POSTPONED_SCANS:
+    for my $file ( keys %postponed_file ) {
+        my $db = $postponed_file{$file};
+        print {$OUT} " $file:\n";
+        for my $line ( sort { $a <=> $b } keys %$db ) {
+            print {$OUT} "  $line:\n";
+
+            $handle_db_line->($db->{$line});
+
+            if ($signal) {
+                last POSTPONED_SCANS;
+            }
+        }
+        if ($signal) {
+            last POSTPONED_SCANS;
+        }
+    }
+
+    return;
+}
+
+
+sub cmd_L {
+    my $cmd = shift;
+
+    my ($action_wanted, $break_wanted, $watch_wanted) =
+        _cmd_L_calc_wanted_flags(shift);
+
+    my $handle_db_line = sub {
+        my ($l) = @_;
+
+        my ( $stop, $action ) = split( /\0/, $l );
+
+        if ($stop and $break_wanted) {
+            print {$OUT} "    break if (", $stop, ")\n"
+        }
+
+        if ($action && $action_wanted) {
+            print {$OUT} "    action:  ", $action, "\n"
+        }
+
+        return;
+    };
+
+    # Breaks and actions are found together, so we look in the same place
+    # for both.
+    if ( $break_wanted or $action_wanted ) {
+        _cmd_L_handle_breakpoints($handle_db_line);
+    }
+
     # Look for breaks in not-yet-compiled subs:
     if ( %postponed and $break_wanted ) {
-        print $OUT "Postponed breakpoints in subroutines:\n";
+        print {$OUT} "Postponed breakpoints in subroutines:\n";
         my $subname;
+        SUBS_SCAN:
         for $subname ( keys %postponed ) {
-            print $OUT " $subname\t$postponed{$subname}\n";
-            last if $signal;
+            print {$OUT} " $subname\t$postponed{$subname}\n";
+            if ($signal) {
+                last SUBS_SCAN;
+            }
         }
     } ## end if (%postponed and $break_wanted)
 
@@ -5128,43 +5877,26 @@
 
     # If there are any, list them.
     if ( @have and ( $break_wanted or $action_wanted ) ) {
-        print $OUT "Postponed breakpoints in files:\n";
-        my ( $file, $line );
+        _cmd_L_handle_postponed_breakpoints($handle_db_line);
+    } ## end if (@have and ($break_wanted...
 
-        for $file ( keys %postponed_file ) {
-            my $db = $postponed_file{$file};
-            print $OUT " $file:\n";
-            for $line ( sort { $a <=> $b } keys %$db ) {
-                print $OUT "  $line:\n";
-                my ( $stop, $action ) = split( /\0/, $$db{$line} );
-                print $OUT "    break if (", $stop, ")\n"
-                  if $stop
-                  and $break_wanted;
-                print $OUT "    action:  ", $action, "\n"
-                  if $action
-                  and $action_wanted;
-                last if $signal;
-            } ## end for $line (sort { $a <=>...
-            last if $signal;
-        } ## end for $file (keys %postponed_file)
-    } ## end if (@have and ($break_wanted...
     if ( %break_on_load and $break_wanted ) {
-        print $OUT "Breakpoints on load:\n";
-        my $file;
-        for $file ( keys %break_on_load ) {
-            print $OUT " $file\n";
-            last if $signal;
+        print {$OUT} "Breakpoints on load:\n";
+        BREAK_ON_LOAD: for my $filename ( keys %break_on_load ) {
+            print {$OUT} " $filename\n";
+            last BREAK_ON_LOAD if $signal;
         }
     } ## end if (%break_on_load and...
-    if ($watch_wanted) {
-        if ( $trace & 2 ) {
-            print $OUT "Watch-expressions:\n" if @to_watch;
-            for my $expr (@to_watch) {
-                print $OUT " $expr\n";
-                last if $signal;
-            }
-        } ## end if ($trace & 2)
-    } ## end if ($watch_wanted)
+
+    if ($watch_wanted and ( $trace & 2 )) {
+        print {$OUT} "Watch-expressions:\n" if @to_watch;
+        TO_WATCH: for my $expr (@to_watch) {
+            print {$OUT} " $expr\n";
+            last TO_WATCH if $signal;
+        }
+    }
+
+    return;
 } ## end sub cmd_L
 
 =head3 C<cmd_M> - list modules (command)
@@ -5174,12 +5906,14 @@
 =cut
 
 sub cmd_M {
-    &list_modules();
+    list_modules();
+
+    return;
 }
 
 =head3 C<cmd_o> - options (command)
 
-If this is just C<o> by itself, we list the current settings via 
+If this is just C<o> by itself, we list the current settings via
 C<dump_option>. If there's a nonblank value following it, we pass that on to
 C<parse_options> for processing.
 
@@ -5191,13 +5925,13 @@
 
     # Nonblank. Try to parse and process.
     if ( $opt =~ /^(\S.*)/ ) {
-        &parse_options($1);
+        parse_options($1);
     }
 
     # Blank. List the current option settings.
     else {
         for (@options) {
-            &dump_option($_);
+            dump_option($_);
         }
     }
 } ## end sub cmd_o
@@ -5220,8 +5954,10 @@
 move back a few lines to list the selected line in context. Uses C<cmd_l>
 to do the actual listing after figuring out the range of line to request.
 
-=cut 
+=cut
 
+use vars qw($preview);
+
 sub cmd_v {
     my $cmd  = shift;
     my $line = shift;
@@ -5245,7 +5981,7 @@
         $line = $start . '-' . ( $start + $incr );
 
         # List the lines.
-        &cmd_l( 'l', $line );
+        cmd_l( 'l', $line );
     } ## end if ($line =~ /^(\d*)$/)
 } ## end sub cmd_v
 
@@ -5261,6 +5997,29 @@
 
 =cut
 
+sub _add_watch_expr {
+    my $expr = shift;
+
+    # ... save it.
+    push @to_watch, $expr;
+
+    # Parameterize DB::eval and call it to get the expression's value
+    # in the user's context. This version can handle expressions which
+    # return a list value.
+    $evalarg = $expr;
+    # The &-call is here to ascertain the mutability of @_.
+    my ($val) = join( ' ', &DB::eval);
+    $val = ( defined $val ) ? "'$val'" : 'undef';
+
+    # Save the current value of the expression.
+    push @old_watch, $val;
+
+    # We are now watching expressions.
+    $trace |= 2;
+
+    return;
+}
+
 sub cmd_w {
     my $cmd = shift;
 
@@ -5268,23 +6027,8 @@
     my $expr = shift || '';
 
     # If expression is not null ...
-    if ( $expr =~ /^(\S.*)/ ) {
-
-        # ... save it.
-        push @to_watch, $expr;
-
-        # Parameterize DB::eval and call it to get the expression's value
-        # in the user's context. This version can handle expressions which
-        # return a list value.
-        $evalarg = $expr;
-        my ($val) = join( ' ', &eval );
-        $val = ( defined $val ) ? "'$val'" : 'undef';
-
-        # Save the current value of the expression.
-        push @old_watch, $val;
-
-        # We are now watching expressions.
-        $trace |= 2;
+    if ( $expr =~ /\A\S/ ) {
+        _add_watch_expr($expr);
     } ## end if ($expr =~ /^(\S.*)/)
 
     # You have to give one to get one.
@@ -5291,20 +6035,22 @@
     else {
         print $OUT "Adding a watch-expression requires an expression\n";  # hint
     }
-} ## end sub cmd_w
 
+    return;
+}
+
 =head3 C<cmd_W> - delete watch expressions (command)
 
 This command accepts either a watch expression to be removed from the list
 of watch expressions, or C<*> to delete them all.
 
-If C<*> is specified, we simply empty the watch expression list and the 
-watch expression value list. We also turn off the bit that says we've got 
+If C<*> is specified, we simply empty the watch expression list and the
+watch expression value list. We also turn off the bit that says we've got
 watch expressions.
 
 If an expression (or partial expression) is specified, we pattern-match
 through the expressions and remove the ones that match. We also discard
-the corresponding values. If no watch expressions are left, we turn off 
+the corresponding values. If no watch expressions are left, we turn off
 the I<watching expressions> bit.
 
 =cut
@@ -5368,7 +6114,7 @@
 =head2 save
 
 save() saves the user's versions of globals that would mess us up in C<@saved>,
-and installs the versions we like better. 
+and installs the versions we like better.
 
 =cut
 
@@ -5389,7 +6135,7 @@
 
 print_lineinfo prints whatever it is that it is handed; it prints it to the
 C<$LINEINFO> filehandle instead of just printing it to STDOUT. This allows
-us to feed line information to a slave editor without messing up the 
+us to feed line information to a slave editor without messing up the
 debugger output.
 
 =cut
@@ -5408,11 +6154,11 @@
 Handles setting postponed breakpoints in subroutines once they're compiled.
 For breakpoints, we use C<DB::find_sub> to locate the source file and line
 range for the subroutine, then mark the file as having a breakpoint,
-temporarily switch the C<*dbline> glob over to the source file, and then 
+temporarily switch the C<*dbline> glob over to the source file, and then
 search the given range of lines to find a breakable line. If we find one,
 we set the breakpoint on it, deleting the breakpoint from C<%postponed>.
 
-=cut 
+=cut
 
 # The following takes its argument via $evalarg to preserve current @_
 
@@ -5446,7 +6192,7 @@
             $had_breakpoints{$file} |= 1;
 
             # Last line in file.
-            my $max = $#dbline;
+            $max = $#dbline;
 
             # Search forward until we hit a breakable line or get to
             # the end of the file.
@@ -5465,17 +6211,17 @@
     } ## end if ($postponed{$subname...
     elsif ( $postponed{$subname} eq 'compile' ) { $signal = 1 }
 
-    #print $OUT "In postponed_sub for `$subname'.\n";
+    #print $OUT "In postponed_sub for '$subname'.\n";
 } ## end sub postponed_sub
 
 =head2 C<postponed>
 
 Called after each required file is compiled, but before it is executed;
-also called if the name of a just-compiled subroutine is a key of 
+also called if the name of a just-compiled subroutine is a key of
 C<%postponed>. Propagates saved breakpoints (from C<b compile>, C<b load>,
 etc.) into the just-compiled code.
 
-If this is a C<require>'d file, the incoming parameter is the glob 
+If this is a C<require>'d file, the incoming parameter is the glob
 C<*{"_<$filename"}>, with C<$filename> the name of the C<require>'d file.
 
 If it's a subroutine, the incoming parameter is the subroutine name.
@@ -5495,7 +6241,9 @@
     }
 
     # If this is a subroutine, let postponed_sub() deal with it.
-    return &postponed_sub unless ref \$_[0] eq 'GLOB';
+    if (ref(\$_[0]) ne 'GLOB') {
+        return postponed_sub(@_);
+    }
 
     # Not a subroutine. Deal with the file.
     local *dbline = shift;
@@ -5534,36 +6282,36 @@
 
 =head2 C<dumpit>
 
-C<dumpit> is the debugger's wrapper around dumpvar.pl. 
+C<dumpit> is the debugger's wrapper around dumpvar.pl.
 
 It gets a filehandle (to which C<dumpvar.pl>'s output will be directed) and
-a reference to a variable (the thing to be dumped) as its input. 
+a reference to a variable (the thing to be dumped) as its input.
 
 The incoming filehandle is selected for output (C<dumpvar.pl> is printing to
 the currently-selected filehandle, thank you very much). The current
-values of the package globals C<$single> and C<$trace> are backed up in 
+values of the package globals C<$single> and C<$trace> are backed up in
 lexicals, and they are turned off (this keeps the debugger from trying
 to single-step through C<dumpvar.pl> (I think.)). C<$frame> is localized to
 preserve its current value and it is set to zero to prevent entry/exit
-messages from printing, and C<$doret> is localized as well and set to -2 to 
+messages from printing, and C<$doret> is localized as well and set to -2 to
 prevent return values from being shown.
 
-C<dumpit()> then checks to see if it needs to load C<dumpvar.pl> and 
-tries to load it (note: if you have a C<dumpvar.pl>  ahead of the 
-installed version in C<@INC>, yours will be used instead. Possible security 
+C<dumpit()> then checks to see if it needs to load C<dumpvar.pl> and
+tries to load it (note: if you have a C<dumpvar.pl>  ahead of the
+installed version in C<@INC>, yours will be used instead. Possible security
 problem?).
 
 It then checks to see if the subroutine C<main::dumpValue> is now defined
-(it should have been defined by C<dumpvar.pl>). If it has, C<dumpit()> 
+it should have been defined by C<dumpvar.pl>). If it has, C<dumpit()>
 localizes the globals necessary for things to be sane when C<main::dumpValue()>
-is called, and picks up the variable to be dumped from the parameter list. 
+is called, and picks up the variable to be dumped from the parameter list.
 
-It checks the package global C<%options> to see if there's a C<dumpDepth> 
-specified. If not, -1 is assumed; if so, the supplied value gets passed on to 
-C<dumpvar.pl>. This tells C<dumpvar.pl> where to leave off when dumping a 
+It checks the package global C<%options> to see if there's a C<dumpDepth>
+specified. If not, -1 is assumed; if so, the supplied value gets passed on to
+C<dumpvar.pl>. This tells C<dumpvar.pl> where to leave off when dumping a
 structure: -1 means dump everything.
 
-C<dumpValue()> is then called if possible; if not, C<dumpit()>just prints a 
+C<dumpValue()> is then called if possible; if not, C<dumpit()>just prints a
 warning.
 
 In either case, C<$single>, C<$trace>, C<$frame>, and C<$doret> are restored
@@ -5575,7 +6323,7 @@
 
     # Save the current output filehandle and switch to the one
     # passed in as the first parameter.
-    local ($savout) = select(shift);
+    my $savout = select(shift);
 
     # Save current settings of $single and $trace, and then turn them off.
     my $osingle = $single;
@@ -5600,7 +6348,7 @@
         my $v = shift;
         my $maxdepth = shift || $option{dumpDepth};
         $maxdepth = -1 unless defined $maxdepth;    # -1 means infinite depth
-        &main::dumpValue( $v, $maxdepth );
+        main::dumpValue( $v, $maxdepth );
     } ## end if (defined &main::dumpValue)
 
     # Oops, couldn't load dumpvar.pl.
@@ -5619,7 +6367,7 @@
 
 =head2 C<print_trace>
 
-C<print_trace>'s job is to print a stack trace. It does this via the 
+C<print_trace>'s job is to print a stack trace. It does this via the
 C<dump_trace> routine, which actually does all the ferreting-out of the
 stack trace data. C<print_trace> takes care of formatting it nicely and
 printing it to the proper filehandle.
@@ -5673,7 +6421,7 @@
 
     # Run through the traceback info, format it, and print it.
     my $s;
-    for ( $i = 0 ; $i <= $#sub ; $i++ ) {
+    for my $i (0 .. $#sub) {
 
         # Drop out if the user has lost interest and hit control-C.
         last if $signal;
@@ -5695,10 +6443,10 @@
         my $file = $sub[$i]{file};
 
         # Put in a filename header if short is off.
-        $file = $file eq '-e' ? $file : "file `$file'" unless $short;
+        $file = $file eq '-e' ? $file : "file '$file'" unless $short;
 
         # Get the actual sub's name, and shorten to $maxtrace's requirement.
-        $s = $sub[$i]{sub};
+        $s = $sub[$i]{'sub'};
         $s = ( substr $s, 0, $maxtrace - 3 ) . '...' if length $s > $maxtrace;
 
         # Short report uses trimmed file and sub names.
@@ -5713,7 +6461,7 @@
               . " called from $file"
               . " line $sub[$i]{line}\n";
         }
-    } ## end for ($i = 0 ; $i <= $#sub...
+    } ## end for my $i (0 .. $#sub)
 } ## end sub print_trace
 
 =head2 dump_trace(skip[,count])
@@ -5723,7 +6471,7 @@
 make C<print_trace()>'s job easier.
 
 C<skip> defines the number of stack frames to be skipped, working backwards
-from the most current. C<count> determines the total number of frames to 
+from the most current. C<count> determines the total number of frames to
 be returned; all of them (well, the first 10^9) are returned if C<count>
 is omitted.
 
@@ -5746,6 +6494,51 @@
 
 =cut
 
+sub _dump_trace_calc_saved_single_arg
+{
+    my ($nothard, $arg) = @_;
+
+    my $type;
+    if ( not defined $arg ) {    # undefined parameter
+        return "undef";
+    }
+
+    elsif ( $nothard and tied $arg ) {    # tied parameter
+        return "tied";
+    }
+    elsif ( $nothard and $type = ref $arg ) {    # reference
+        return "ref($type)";
+    }
+    else {                                       # can be stringified
+        local $_ =
+        "$arg";    # Safe to stringify now - should not call f().
+
+        # Backslash any single-quotes or backslashes.
+        s/([\'\\])/\\$1/g;
+
+        # Single-quote it unless it's a number or a colon-separated
+        # name.
+        s/(.*)/'$1'/s
+        unless /^(?: -?[\d.]+ | \*[\w:]* )$/x;
+
+        # Turn high-bit characters into meta-whatever.
+        s/([\200-\377])/sprintf("M-%c",ord($1)&0177)/eg;
+
+        # Turn control characters into ^-whatever.
+        s/([\0-\37\177])/sprintf("^%c",ord($1)^64)/eg;
+
+        return $_;
+    }
+}
+
+sub _dump_trace_calc_save_args {
+    my ($nothard) = @_;
+
+    return [
+        map { _dump_trace_calc_saved_single_arg($nothard, $_) } @args
+    ];
+}
+
 sub dump_trace {
 
     # How many levels to skip.
@@ -5765,7 +6558,7 @@
     # These variables are used to capture output from caller();
     my ( $p, $file, $line, $sub, $h, $context );
 
-    my ( $e, $r, @a, @sub, $args );
+    my ( $e, $r, @sub, $args );
 
     # XXX Okay... why'd we do that?
     my $nothard = not $frame & 8;
@@ -5782,49 +6575,16 @@
     # quit.
     # Up the stack frame index to go back one more level each time.
     for (
-        $i = $skip ;
+        my $i = $skip ;
         $i < $count
         and ( $p, $file, $line, $sub, $h, $context, $e, $r ) = caller($i) ;
         $i++
-      )
+    )
     {
 
         # Go through the arguments and save them for later.
-        @a = ();
-        for $arg (@args) {
-            my $type;
-            if ( not defined $arg ) {    # undefined parameter
-                push @a, "undef";
-            }
+        my $save_args = _dump_trace_calc_save_args($nothard);
 
-            elsif ( $nothard and tied $arg ) {    # tied parameter
-                push @a, "tied";
-            }
-            elsif ( $nothard and $type = ref $arg ) {    # reference
-                push @a, "ref($type)";
-            }
-            else {                                       # can be stringified
-                local $_ =
-                  "$arg";    # Safe to stringify now - should not call f().
-
-                # Backslash any single-quotes or backslashes.
-                s/([\'\\])/\\$1/g;
-
-                # Single-quote it unless it's a number or a colon-separated
-                # name.
-                s/(.*)/'$1'/s
-                  unless /^(?: -?[\d.]+ | \*[\w:]* )$/x;
-
-                # Turn high-bit characters into meta-whatever.
-                s/([\200-\377])/sprintf("M-%c",ord($1)&0177)/eg;
-
-                # Turn control characters into ^-whatever.
-                s/([\0-\37\177])/sprintf("^%c",ord($1)^64)/eg;
-
-                push( @a, $_ );
-            } ## end else [ if (not defined $arg)
-        } ## end for $arg (@args)
-
         # If context is true, this is array (@)context.
         # If context is false, this is scalar ($) context.
         # If neither, context isn't defined. (This is apparently a 'can't
@@ -5833,7 +6593,7 @@
 
         # if the sub has args ($h true), make an anonymous array of the
         # dumped args.
-        $args = $h ? [@a] : undef;
+        $args = $h ? $save_args : undef;
 
         # remove trailing newline-whitespace-semicolon-end of line sequence
         # from the eval text, if any.
@@ -5894,7 +6654,7 @@
     while ( $action =~ s/\\$// ) {
 
         # We have a backslash on the end. Read more.
-        $action .= &gets;
+        $action .= gets();
     } ## end while ($action =~ s/\\$//)
 
     # Return the assembled action.
@@ -5908,15 +6668,17 @@
 curly braces.
 
 Of note is the definition of the C<$balanced_brace_re> global via C<||=>, which
-speeds things up by only creating the qr//'ed expression once; if it's 
+speeds things up by only creating the qr//'ed expression once; if it's
 already defined, we don't try to define it again. A speed hack.
 
 =cut
 
+use vars qw($balanced_brace_re);
+
 sub unbalanced {
 
     # I hate using globals!
-    $balanced_brace_re ||= qr{ 
+    $balanced_brace_re ||= qr{
         ^ \{
              (?:
                  (?> [^{}] + )              # Non-parens without backtracking
@@ -5937,43 +6699,43 @@
 =cut
 
 sub gets {
-    &readline("cont: ");
+    return DB::readline("cont: ");
 }
 
-=head2 C<DB::system()> - handle calls to<system()> without messing up the debugger
+=head2 C<_db_system()> - handle calls to<system()> without messing up the debugger
 
 The C<system()> function assumes that it can just go ahead and use STDIN and
-STDOUT, but under the debugger, we want it to use the debugger's input and 
-outout filehandles. 
+STDOUT, but under the debugger, we want it to use the debugger's input and
+outout filehandles.
 
-C<DB::system()> socks away the program's STDIN and STDOUT, and then substitutes
+C<_db_system()> socks away the program's STDIN and STDOUT, and then substitutes
 the debugger's IN and OUT filehandles for them. It does the C<system()> call,
 and then puts everything back again.
 
 =cut
 
-sub system {
+sub _db_system {
 
     # We save, change, then restore STDIN and STDOUT to avoid fork() since
     # some non-Unix systems can do system() but have problems with fork().
-    open( SAVEIN,  "<&STDIN" )  || &warn("Can't save STDIN");
-    open( SAVEOUT, ">&STDOUT" ) || &warn("Can't save STDOUT");
-    open( STDIN,   "<&IN" )     || &warn("Can't redirect STDIN");
-    open( STDOUT,  ">&OUT" )    || &warn("Can't redirect STDOUT");
+    open( SAVEIN,  "<&STDIN" )  || db_warn("Can't save STDIN");
+    open( SAVEOUT, ">&STDOUT" ) || db_warn("Can't save STDOUT");
+    open( STDIN,   "<&IN" )     || db_warn("Can't redirect STDIN");
+    open( STDOUT,  ">&OUT" )    || db_warn("Can't redirect STDOUT");
 
     # XXX: using csh or tcsh destroys sigint retvals!
     system(@_);
-    open( STDIN,  "<&SAVEIN" )  || &warn("Can't restore STDIN");
-    open( STDOUT, ">&SAVEOUT" ) || &warn("Can't restore STDOUT");
+    open( STDIN,  "<&SAVEIN" )  || db_warn("Can't restore STDIN");
+    open( STDOUT, ">&SAVEOUT" ) || db_warn("Can't restore STDOUT");
     close(SAVEIN);
     close(SAVEOUT);
 
     # most of the $? crud was coping with broken cshisms
     if ( $? >> 8 ) {
-        &warn( "(Command exited ", ( $? >> 8 ), ")\n" );
+        db_warn( "(Command exited ", ( $? >> 8 ), ")\n" );
     }
     elsif ($?) {
-        &warn(
+        db_warn(
             "(Command died of SIG#",
             ( $? & 127 ),
             ( ( $? & 128 ) ? " -- core dumped" : "" ),
@@ -5985,6 +6747,8 @@
 
 } ## end sub system
 
+*system = \&_db_system;
+
 =head1 TTY MANAGEMENT
 
 The subs here do some of the terminal management for multiple debuggers.
@@ -5996,15 +6760,18 @@
 
 If the C<noTTY> debugger option was set, we'll either use the terminal
 supplied (the value of the C<noTTY> option), or we'll use C<Term::Rendezvous>
-to find one. If we're a forked debugger, we call C<resetterm> to try to 
-get a whole new terminal if we can. 
+to find one. If we're a forked debugger, we call C<resetterm> to try to
+get a whole new terminal if we can.
 
 In either case, we set up the terminal next. If the C<ReadLine> option was
 true, we'll get a C<Term::ReadLine> object for the current terminal and save
-the appropriate attributes. We then 
+the appropriate attributes. We then
 
 =cut
 
+use vars qw($ornaments);
+use vars qw($rl_attribs);
+
 sub setterm {
 
     # Load Term::Readline, but quietly; don't debug it and don't trace it.
@@ -6017,13 +6784,11 @@
         if ($tty) {
             my ( $i, $o ) = split $tty, /,/;
             $o = $i unless defined $o;
-            open( IN,  "<$i" ) or die "Cannot open TTY `$i' for read: $!";
-            open( OUT, ">$o" ) or die "Cannot open TTY `$o' for write: $!";
+            open( IN,  "<$i" ) or die "Cannot open TTY '$i' for read: $!";
+            open( OUT, ">$o" ) or die "Cannot open TTY '$o' for write: $!";
             $IN  = \*IN;
             $OUT = \*OUT;
-            my $sel = select($OUT);
-            $| = 1;
-            select($sel);
+            _autoflush($OUT);
         } ## end if ($tty)
 
         # We don't have a TTY - try to find one via Term::Rendezvous.
@@ -6070,7 +6835,7 @@
 
     $term->MinLine(2);
 
-    &load_hist();
+    load_hist();
 
     if ( $term->Features->{setHistory} and "@hist" ne "?" ) {
         $term->SetHistory(@hist);
@@ -6118,19 +6883,19 @@
 fight over the terminal, and you can never quite be sure who's going to get the
 input you're typing.
 
-C<get_fork_TTY> is a glob-aliased function which calls the real function that 
-is tasked with doing all the necessary operating system mojo to get a new 
+C<get_fork_TTY> is a glob-aliased function which calls the real function that
+is tasked with doing all the necessary operating system mojo to get a new
 TTY (and probably another window) and to direct the new debugger to read and
 write there.
 
 The debugger provides C<get_fork_TTY> functions which work for TCP
-socket servers, X Windows, OS/2, and Mac OS X. Other systems are not
+socket servers, X11, OS/2, and Mac OS X. Other systems are not
 supported. You are encouraged to write C<get_fork_TTY> functions which
 work for I<your> platform and contribute them.
 
 =head3 C<socket_get_fork_TTY>
 
-=cut 
+=cut
 
 sub connect_remoteport {
     require IO::Socket;
@@ -6157,18 +6922,18 @@
 
 =head3 C<xterm_get_fork_TTY>
 
-This function provides the C<get_fork_TTY> function for X windows. If a 
+This function provides the C<get_fork_TTY> function for X11. If a
 program running under the debugger forks, a new <xterm> window is opened and
 the subsidiary debugger is directed there.
 
 The C<open()> call is of particular note here. We have the new C<xterm>
-we're spawning route file number 3 to STDOUT, and then execute the C<tty> 
-command (which prints the device name of the TTY we'll want to use for input 
+we're spawning route file number 3 to STDOUT, and then execute the C<tty>
+command (which prints the device name of the TTY we'll want to use for input
 and output to STDOUT, then C<sleep> for a very long time, routing this output
 to file number 3. This way we can simply read from the <XT> filehandle (which
-is STDOUT from the I<commands> we ran) to get the TTY we want to use. 
+is STDOUT from the I<commands> we ran) to get the TTY we want to use.
 
-Only works if C<xterm> is in your path and C<$ENV{DISPLAY}>, etc. are 
+Only works if C<xterm> is in your path and C<$ENV{DISPLAY}>, etc. are
 properly set up.
 
 =cut
@@ -6210,8 +6975,8 @@
 sub os2_get_fork_TTY { # A simplification of the following (and works without):
     local $\  = '';
     ( my $name = $0 ) =~ s,^.*[/\\],,s;
-    my %opt = (	title => "Daughter Perl debugger $pids $name",
-		($rl ? (read_by_key => 1) : ()) );
+    my %opt = ( title => "Daughter Perl debugger $pids $name",
+        ($rl ? (read_by_key => 1) : ()) );
     require OS2::Process;
     my ($in, $out, $pid) = eval { OS2::Process::io_term(related => 0, %opt) }
       or return;
@@ -6294,10 +7059,10 @@
 
     return unless $version=$ENV{TERM_PROGRAM_VERSION};
     foreach my $entry (@script_versions) {
-	if ($version>=$entry->[0]) {
-	    $script=$entry->[1];
-	    last;
-	}
+        if ($version>=$entry->[0]) {
+            $script=$entry->[1];
+            last;
+        }
     }
     return unless defined($script);
     return unless open($pipe,'-|','/usr/bin/osascript','-e',$script);
@@ -6327,11 +7092,13 @@
 
 =cut
 
+use vars qw($fork_TTY);
+
 sub create_IN_OUT {    # Create a window with IN/OUT handles redirected there
 
     # If we know how to get a new TTY, do it! $in will have
     # the TTY name if get_fork_TTY works.
-    my $in = &get_fork_TTY if defined &get_fork_TTY;
+    my $in = get_fork_TTY(@_) if defined &get_fork_TTY;
 
     # It used to be that
     $in = $fork_TTY if defined $fork_TTY;    # Backward compatibility
@@ -6379,13 +7146,13 @@
 
 Handles rejiggering the prompt when we've forked off a new debugger.
 
-If the new debugger happened because of a C<system()> that invoked a 
+If the new debugger happened because of a C<system()> that invoked a
 program under the debugger, the arrow between the old pid and the new
 in the prompt has I<two> dashes instead of one.
 
 We take the current list of pids and add this one to the end. If there
-isn't any list yet, we make one up out of the initial pid associated with 
-the terminal and our new pid, sticking an arrow (either one-dashed or 
+isn't any list yet, we make one up out of the initial pid associated with
+the terminal and our new pid, sticking an arrow (either one-dashed or
 two dashed) in between them.
 
 If C<CreateTTY> is off, or C<resetterm> was called with no arguments,
@@ -6437,8 +7204,8 @@
 if we got one. If not, we pop the filehandle off and close it, and try the
 next one up the stack.
 
-If we've emptied the filehandle stack, we check to see if we've got a socket 
-open, and we read that and return it if we do. If we don't, we just call the 
+If we've emptied the filehandle stack, we check to see if we've got a socket
+open, and we read that and return it if we do. If we don't, we just call the
 core C<readline()> and return its value.
 
 =cut
@@ -6448,6 +7215,20 @@
     # Localize to prevent it from being smashed in the program being debugged.
     local $.;
 
+    # If there are stacked filehandles to read from ...
+    # (Handle it before the typeahead, because we may call source/etc. from
+    # the typeahead.)
+    while (@cmdfhs) {
+
+        # Read from the last one in the stack.
+        my $line = CORE::readline( $cmdfhs[-1] );
+
+        # If we got a line ...
+        defined $line
+          ? ( print $OUT ">> $line" and return $line )    # Echo and return
+          : close pop @cmdfhs;                            # Pop and close
+    } ## end while (@cmdfhs)
+
     # Pull a line out of the typeahead if there's stuff there.
     if (@typeahead) {
 
@@ -6473,18 +7254,6 @@
     local $frame = 0;
     local $doret = -2;
 
-    # If there are stacked filehandles to read from ...
-    while (@cmdfhs) {
-
-        # Read from the last one in the stack.
-        my $line = CORE::readline( $cmdfhs[-1] );
-
-        # If we got a line ...
-        defined $line
-          ? ( print $OUT ">> $line" and return $line )    # Echo and return
-          : close pop @cmdfhs;                            # Pop and close
-    } ## end while (@cmdfhs)
-
     # Nothing on the filehandle stack. Socket?
     if ( ref $OUT and UNIVERSAL::isa( $OUT, 'IO::Socket::INET' ) ) {
 
@@ -6492,21 +7261,24 @@
         $OUT->write( join( '', @_ ) );
 
         # Receive anything there is to receive.
-        $stuff;
         my $stuff = '';
         my $buf;
-        do {
+        my $first_time = 1;
+
+        while ($first_time or (length($buf) && ($stuff .= $buf) !~ /\n/))
+        {
+            $first_time = 0;
             $IN->recv( $buf = '', 2048 );   # XXX "what's wrong with sysread?"
                                             # XXX Don't know. You tell me.
-        } while length $buf and ($stuff .= $buf) !~ /\n/;
+        }
 
         # What we got.
-        $stuff;
+        return $stuff;
     } ## end if (ref $OUT and UNIVERSAL::isa...
 
     # No socket. Just read from the terminal.
     else {
-        $term->readline(@_);
+        return $term->readline(@_);
     }
 } ## end sub readline
 
@@ -6598,7 +7370,7 @@
 value (if it is quoted). If it's not, we just use the whole value as-is.
 
 We load any modules required to service this option, and then we set it: if
-it just gets stuck in a variable, we do that; if there's a subroutine to 
+it just gets stuck in a variable, we do that; if there's a subroutine to
 handle setting the option, we call that.
 
 Finally, if we're running in interactive mode, we display the effect of the
@@ -6608,9 +7380,11 @@
 =cut
 
 sub parse_options {
-    local ($_) = @_;
+    my ($s) = @_;
     local $\ = '';
 
+    my $option;
+
     # These options need a value. Don't allow them to be clobbered by accident.
     my %opt_needs_val = map { ( $_ => 1 ) } qw{
       dumpDepth arrayDepth hashDepth LineInfo maxTraceLen ornaments windowSize
@@ -6617,31 +7391,42 @@
       pager quote ReadLine recallCommand RemotePort ShellBang TTY CommandSet
     };
 
-    while (length) {
+    while (length($s)) {
         my $val_defaulted;
 
         # Clean off excess leading whitespace.
-        s/^\s+// && next;
+        $s =~ s/^\s+// && next;
 
         # Options are always all word characters, followed by a non-word
         # separator.
-        s/^(\w+)(\W?)// or print( $OUT "Invalid option `$_'\n" ), last;
+        if ($s !~ s/^(\w+)(\W?)//) {
+            print {$OUT} "Invalid option '$s'\n";
+            last;
+        }
         my ( $opt, $sep ) = ( $1, $2 );
 
         # Make sure that such an option exists.
-        my $matches = grep( /^\Q$opt/ && ( $option = $_ ), @options )
-          || grep( /^\Q$opt/i && ( $option = $_ ), @options );
+        my $matches = ( grep { /^\Q$opt/ && ( $option = $_ ) } @options )
+          || ( grep { /^\Q$opt/i && ( $option = $_ ) } @options );
 
-        print( $OUT "Unknown option `$opt'\n" ), next unless $matches;
-        print( $OUT "Ambiguous option `$opt'\n" ), next if $matches > 1;
+        unless ($matches) {
+            print {$OUT} "Unknown option '$opt'\n";
+            next;
+        }
+        if ($matches > 1) {
+            print {$OUT} "Ambiguous option '$opt'\n";
+            next;
+        }
         my $val;
 
         # '?' as separator means query, but must have whitespace after it.
         if ( "?" eq $sep ) {
-            print( $OUT "Option query `$opt?' followed by non-space `$_'\n" ),
-              last
-              if /^\S/;
+            if ($s =~ /\A\S/) {
+                print {$OUT} "Option query '$opt?' followed by non-space '$s'\n" ;
 
+                last;
+            }
+
             #&dump_option($opt);
         } ## end if ("?" eq $sep)
 
@@ -6656,7 +7441,7 @@
         elsif ( $sep eq "=" ) {
 
             # If quoted, extract a quoted string.
-            if (s/ (["']) ( (?: \\. | (?! \1 ) [^\\] )* ) \1 //x) {
+            if ($s =~ s/ (["']) ( (?: \\. | (?! \1 ) [^\\] )* ) \1 //x) {
                 my $quote = $1;
                 ( $val = $2 ) =~ s/\\([$quote\\])/$1/g;
             }
@@ -6663,7 +7448,7 @@
 
             # Not quoted. Use the whole thing. Warn about 'option='.
             else {
-                s/^(\S*)//;
+                $s =~ s/^(\S*)//;
                 $val = $1;
                 print OUT qq(Option better cleared using $opt=""\n)
                   unless length $val;
@@ -6675,8 +7460,8 @@
         else {    #{ to "let some poor schmuck bounce on the % key in B<vi>."
             my ($end) =
               "\\" . substr( ")]>}$sep", index( "([<{", $sep ), 1 );    #}
-            s/^(([^\\$end]|\\[\\$end])*)$end($|\s+)//
-              or print( $OUT "Unclosed option value `$opt$sep$_'\n" ), last;
+            $s =~ s/^(([^\\$end]|\\[\\$end])*)$end($|\s+)//
+              or print( $OUT "Unclosed option value '$opt$sep$_'\n" ), last;
             ( $val = $1 ) =~ s/\\([\\$end])/$1/g;
         } ## end else [ if ("?" eq $sep)
 
@@ -6683,8 +7468,8 @@
         # Exclude non-booleans from getting set to 1 by default.
         if ( $opt_needs_val{$option} && $val_defaulted ) {
             my $cmd = ( $CommandSet eq '580' ) ? 'o' : 'O';
-            print $OUT
-"Option `$opt' is non-boolean.  Use `$cmd $option=VAL' to set, `$cmd $option?' to query\n";
+            print {$OUT}
+"Option '$opt' is non-boolean.  Use '$cmd $option=VAL' to set, '$cmd $option?' to query\n";
             next;
         } ## end if ($opt_needs_val{$option...
 
@@ -6692,35 +7477,37 @@
         $option{$option} = $val if defined $val;
 
         # Load any module that this option requires.
-        eval qq{
-                local \$frame = 0; 
-                local \$doret = -2; 
-                require '$optionRequire{$option}';
-                1;
-               } || die $@   # XXX: shouldn't happen
-          if defined $optionRequire{$option}
-          && defined $val;
+        if ( defined($optionRequire{$option}) && defined($val) ) {
+            eval qq{
+            local \$frame = 0;
+            local \$doret = -2;
+            require '$optionRequire{$option}';
+            1;
+            } || die $@   # XXX: shouldn't happen
+        }
 
         # Set it.
         # Stick it in the proper variable if it goes in a variable.
-        ${ $optionVars{$option} } = $val
-          if defined $optionVars{$option}
-          && defined $val;
+        if (defined($optionVars{$option}) && defined($val)) {
+            ${ $optionVars{$option} } = $val;
+        }
 
         # Call the appropriate sub if it gets set via sub.
-        &{ $optionAction{$option} }($val)
-          if defined $optionAction{$option}
-          && defined &{ $optionAction{$option} }
-          && defined $val;
+        if (defined($optionAction{$option})
+          && defined (&{ $optionAction{$option} })
+          && defined ($val))
+        {
+          &{ $optionAction{$option} }($val);
+        }
 
         # Not initialization - echo the value we set it to.
-        dump_option($option) unless $OUT eq \*STDERR;
+        dump_option($option) if ($OUT ne \*STDERR);
     } ## end while (length)
 } ## end sub parse_options
 
 =head1 RESTART SUPPORT
 
-These routines are used to store (and restore) lists of items in environment 
+These routines are used to store (and restore) lists of items in environment
 variables during a restart.
 
 =head2 set_list
@@ -6741,7 +7528,7 @@
 
     # Grab each item in the list, escape the backslashes, encode the non-ASCII
     # as hex, and then save in the appropriate VAR_0, VAR_1, etc.
-    for $i ( 0 .. $#list ) {
+    for my $i ( 0 .. $#list ) {
         $val = $list[$i];
         $val =~ s/\\/\\\\/g;
         $val =~ s/([\0-\37\177\200-\377])/"\\0x" . unpack('H2',$1)/eg;
@@ -6754,7 +7541,7 @@
 Reverse the set_list operation: grab VAR_n to see how many we should be getting
 back, and then pull VAR_0, VAR_1. etc. back out.
 
-=cut 
+=cut
 
 sub get_list {
     my $stem = shift;
@@ -6761,7 +7548,7 @@
     my @list;
     my $n = delete $ENV{"${stem}_n"};
     my $val;
-    for $i ( 0 .. $n - 1 ) {
+    for my $i ( 0 .. $n - 1 ) {
         $val = delete $ENV{"${stem}_$i"};
         $val =~ s/\\((\\)|0x(..))/ $2 ? $2 : pack('H2', $3) /ge;
         push @list, $val;
@@ -6774,7 +7561,7 @@
 =head2 catch()
 
 The C<catch()> subroutine is the essence of fast and low-impact. We simply
-set an already-existing global scalar variable to a constant value. This 
+set an already-existing global scalar variable to a constant value. This
 avoids allocating any memory possibly in the middle of something that will
 get all confused if we do, particularly under I<unsafe signals>.
 
@@ -6790,14 +7577,14 @@
 C<warn> emits a warning, by joining together its arguments and printing
 them, with couple of fillips.
 
-If the composited message I<doesn't> end with a newline, we automatically 
-add C<$!> and a newline to the end of the message. The subroutine expects $OUT 
-to be set to the filehandle to be used to output warnings; it makes no 
+If the composited message I<doesn't> end with a newline, we automatically
+add C<$!> and a newline to the end of the message. The subroutine expects $OUT
+to be set to the filehandle to be used to output warnings; it makes no
 assumptions about what filehandles are available.
 
 =cut
 
-sub warn {
+sub _db_warn {
     my ($msg) = join( "", @_ );
     $msg .= ": $!\n" unless $msg =~ /\n$/;
     local $\ = '';
@@ -6804,12 +7591,14 @@
     print $OUT $msg;
 } ## end sub warn
 
+*warn = \&_db_warn;
+
 =head1 INITIALIZATION TTY SUPPORT
 
 =head2 C<reset_IN_OUT>
 
 This routine handles restoring the debugger's input and output filehandles
-after we've tried and failed to move them elsewhere.  In addition, it assigns 
+after we've tried and failed to move them elsewhere.  In addition, it assigns
 the debugger's output filehandle to $LINEINFO if it was already open there.
 
 =cut
@@ -6825,7 +7614,7 @@
 
     # This term can't get a new tty now. Better luck later.
     elsif ($term) {
-        &warn("Too late to set IN/OUT filehandles, enabled on next `R'!\n");
+        _db_warn("Too late to set IN/OUT filehandles, enabled on next 'R'!\n");
     }
 
     # Set the filehndles up as they were.
@@ -6834,9 +7623,7 @@
     }
 
     # Unbuffer the output filehandle.
-    my $o = select $OUT;
-    $| = 1;
-    select $o;
+    _autoflush($OUT);
 
     # Point LINEINFO to the same output filehandle if it was there before.
     $LINEINFO = $OUT if $switch_li;
@@ -6844,7 +7631,7 @@
 
 =head1 OPTION SUPPORT ROUTINES
 
-The following routines are used to process some of the more complicated 
+The following routines are used to process some of the more complicated
 debugger options.
 
 =head2 C<TTY>
@@ -6880,8 +7667,8 @@
         }
 
         # Open file onto the debugger's filehandles, if you can.
-        open IN,  $in     or die "cannot open `$in' for read: $!";
-        open OUT, ">$out" or die "cannot open `$out' for write: $!";
+        open IN,  $in     or die "cannot open '$in' for read: $!";
+        open OUT, ">$out" or die "cannot open '$out' for write: $!";
 
         # Swap to the new filehandles.
         reset_IN_OUT( \*IN, \*OUT );
@@ -6892,7 +7679,9 @@
 
     # Terminal doesn't support new TTY, or doesn't support readline.
     # Can't do it now, try restarting.
-    &warn("Too late to set TTY, enabled on next `R'!\n") if $term and @_;
+    if ($term and @_) {
+        _db_warn("Too late to set TTY, enabled on next 'R'!\n");
+    }
 
     # Useful if done through PERLDB_OPTS:
     $console = $tty = shift if @_;
@@ -6911,7 +7700,7 @@
 
 sub noTTY {
     if ($term) {
-        &warn("Too late to set noTTY, enabled on next `R'!\n") if @_;
+        _db_warn("Too late to set noTTY, enabled on next 'R'!\n") if @_;
     }
     $notty = shift if @_;
     $notty;
@@ -6919,7 +7708,7 @@
 
 =head2 C<ReadLine>
 
-Sets the C<$rl> option variable. If 0, we use C<Term::ReadLine::Stub> 
+Sets the C<$rl> option variable. If 0, we use C<Term::ReadLine::Stub>
 (essentially, no C<readline> processing on this I<terminal>). Otherwise, we
 use C<Term::ReadLine>. Can't be changed after a terminal's in place; we save
 the value in case a restart is done so we can change it then.
@@ -6928,7 +7717,7 @@
 
 sub ReadLine {
     if ($term) {
-        &warn("Too late to set ReadLine, enabled on next `R'!\n") if @_;
+        _db_warn("Too late to set ReadLine, enabled on next 'R'!\n") if @_;
     }
     $rl = shift if @_;
     $rl;
@@ -6944,7 +7733,7 @@
 
 sub RemotePort {
     if ($term) {
-        &warn("Too late to set RemotePort, enabled on next 'R'!\n") if @_;
+        _db_warn("Too late to set RemotePort, enabled on next 'R'!\n") if @_;
     }
     $remoteport = shift if @_;
     $remoteport;
@@ -6977,7 +7766,7 @@
 
 sub NonStop {
     if ($term) {
-        &warn("Too late to set up NonStop mode, enabled on next `R'!\n")
+        _db_warn("Too late to set up NonStop mode, enabled on next 'R'!\n")
           if @_;
     }
     $runnonstop = shift if @_;
@@ -6986,7 +7775,7 @@
 
 sub DollarCaretP {
     if ($term) {
-        &warn("Some flag changes could not take effect until next 'R'!\n")
+        _db_warn("Some flag changes could not take effect until next 'R'!\n")
           if @_;
     }
     $^P = parse_DollarCaretP_flags(shift) if @_;
@@ -7010,7 +7799,7 @@
 
 =head2 C<shellBang>
 
-Sets the shell escape command, and generates a printable copy to be used 
+Sets the shell escape command, and generates a printable copy to be used
 in the help.
 
 =cut
@@ -7037,23 +7826,30 @@
 was passed as the argument. (This means you can't override the terminal's
 ornaments.)
 
-=cut 
+=cut
 
 sub ornaments {
     if ( defined $term ) {
 
         # We don't want to show warning backtraces, but we do want die() ones.
-        local ( $warnLevel, $dieLevel ) = ( 0, 1 );
+        local $warnLevel = 0;
+        local $dieLevel = 1;
 
         # No ornaments if the terminal doesn't support them.
-        return '' unless $term->Features->{ornaments};
-        eval { $term->ornaments(@_) } || '';
+        if (not $term->Features->{ornaments}) {
+            return '';
+        }
+
+        return (eval { $term->ornaments(@_) } || '');
     }
 
     # Use what was passed in if we can't determine it ourselves.
     else {
         $ornaments = shift;
+
+        return $ornaments;
     }
+
 } ## end sub ornaments
 
 =head2 C<recallCommand>
@@ -7073,10 +7869,10 @@
     }
 
     # Build it into a printable version.
-    $prc = $rc;    # Copy it
+    $prc = $rc;              # Copy it
     $prc =~ s/\\b$//;        # Remove trailing \b
     $prc =~ s/\\(.)/$1/g;    # Remove escapes
-    $prc;                    # Return the printable version
+    return $prc;             # Return the printable version
 } ## end sub recallCommand
 
 =head2 C<LineInfo> - where the line number information goes
@@ -7083,32 +7879,32 @@
 
 Called with no arguments, returns the file or pipe that line info should go to.
 
-Called with an argument (a file or a pipe), it opens that onto the 
-C<LINEINFO> filehandle, unbuffers the filehandle, and then returns the 
+Called with an argument (a file or a pipe), it opens that onto the
+C<LINEINFO> filehandle, unbuffers the filehandle, and then returns the
 file or pipe again to the caller.
 
 =cut
 
 sub LineInfo {
-    return $lineinfo unless @_;
-    $lineinfo = shift;
+    if (@_) {
+        $lineinfo = shift;
 
-    #  If this is a valid "thing to be opened for output", tack a
-    # '>' onto the front.
-    my $stream = ( $lineinfo =~ /^(\+?\>|\|)/ ) ? $lineinfo : ">$lineinfo";
+        #  If this is a valid "thing to be opened for output", tack a
+        # '>' onto the front.
+        my $stream = ( $lineinfo =~ /^(\+?\>|\|)/ ) ? $lineinfo : ">$lineinfo";
 
-    # If this is a pipe, the stream points to a slave editor.
-    $slave_editor = ( $stream =~ /^\|/ );
+        # If this is a pipe, the stream points to a slave editor.
+        $slave_editor = ( $stream =~ /^\|/ );
 
-    # Open it up and unbuffer it.
-    open( LINEINFO, "$stream" ) || &warn("Cannot open `$stream' for write");
-    $LINEINFO = \*LINEINFO;
-    my $save = select($LINEINFO);
-    $| = 1;
-    select($save);
+        my $new_lineinfo_fh;
+        # Open it up and unbuffer it.
+        open ($new_lineinfo_fh , $stream )
+            or _db_warn("Cannot open '$stream' for write");
+        $LINEINFO = $new_lineinfo_fh;
+        _autoflush($LINEINFO);
+    }
 
-    # Hand the file or pipe back again.
-    $lineinfo;
+    return $lineinfo;
 } ## end sub LineInfo
 
 =head1 COMMAND SUPPORT ROUTINES
@@ -7140,8 +7936,9 @@
 
         # If the package has a $VERSION package global (as all good packages
         # should!) decode it and save as partial message.
-        if ( defined ${ $_ . '::VERSION' } ) {
-            $version{$file} = "${ $_ . '::VERSION' } from ";
+        my $pkg_version = do { no strict 'refs'; ${ $_ . '::VERSION' } };
+        if ( defined $pkg_version ) {
+            $version{$file} = "$pkg_version from ";
         }
 
         # Finish up the message with the file the package came from.
@@ -7169,12 +7966,15 @@
 need to continue the descriptive text to another line, start that line with
 just tabs and then enter the marked-up text.
 
-If you are modifying the help text, I<be careful>. The help-string parser is 
-not very sophisticated, and if you don't follow these rules it will mangle the 
+If you are modifying the help text, I<be careful>. The help-string parser is
+not very sophisticated, and if you don't follow these rules it will mangle the
 help beyond hope until you fix the string.
 
 =cut
 
+use vars qw($pre580_help);
+use vars qw($pre580_summary);
+
 sub sethelp {
 
     # XXX: make sure there are tabs between the command and explanation,
@@ -7182,8 +7982,8 @@
     #      eeevil ornaments enabled.  This is an insane mess.
 
     $help = "
-Help is currently only available for the new 5.8 command set. 
-No help is available for the old command set. 
+Help is currently only available for the new 5.8 command set.
+No help is available for the old command set.
 We assume you know what you're doing if you switch to it.
 
 B<T>        Stack trace.
@@ -7213,8 +8013,8 @@
 B<?>I<pattern>B<?>    Search backwards for I<pattern>; final B<?> is optional.
 B<L> [I<a|b|w>]        List actions and or breakpoints and or watch-expressions.
 B<S> [[B<!>]I<pattern>]    List subroutine names [not] matching I<pattern>.
-B<t>        Toggle trace mode.
-B<t> I<expr>        Trace through execution of I<expr>.
+B<t> [I<n>]       Toggle trace mode (to max I<n> levels below current stack depth).
+B<t> [I<n>] I<expr>        Trace through execution of I<expr>.
 B<b>        Sets breakpoint on current line)
 B<b> [I<line>] [I<condition>]
         Set breakpoint; I<line> defaults to the current execution line;
@@ -7224,7 +8024,7 @@
 B<b> I<\$var>        Set breakpoint at first line of subroutine referenced by I<\$var>.
 B<b> B<load> I<filename> Set breakpoint on 'require'ing the given file.
 B<b> B<postpone> I<subname> [I<condition>]
-        Set breakpoint at first line of subroutine after 
+        Set breakpoint at first line of subroutine after
         it is compiled.
 B<b> B<compile> I<subname>
         Stop after the subroutine is compiled.
@@ -7295,12 +8095,12 @@
 B<R>        Pure-man-restart of debugger, some of debugger state
         and command-line options may be lost.
         Currently the following settings are preserved:
-        history, breakpoints and actions, debugger B<O>ptions 
+        history, breakpoints and actions, debugger B<O>ptions
         and the following command-line options: I<-w>, I<-I>, I<-e>.
 
 B<o> [I<opt>] ...    Set boolean option to true
 B<o> [I<opt>B<?>]    Query options
-B<o> [I<opt>B<=>I<val>] [I<opt>=B<\">I<val>B<\">] ... 
+B<o> [I<opt>B<=>I<val>] [I<opt>=B<\">I<val>B<\">] ...
         Set options.  Use quotes if spaces in value.
     I<recallCommand>, I<ShellBang>    chars used to recall command or spawn shell;
     I<pager>            program for output of \"|cmd\";
@@ -7330,17 +8130,17 @@
     During startup options are initialized from \$ENV{PERLDB_OPTS}.
     You can put additional initialization options I<TTY>, I<noTTY>,
     I<ReadLine>, I<NonStop>, and I<RemotePort> there (or use
-    `B<R>' after you set them).
+    B<R> after you set them).
 
 B<q> or B<^D>        Quit. Set B<\$DB::finished = 0> to debug global destruction.
 B<h>        Summary of debugger commands.
 B<h> [I<db_command>]    Get help [on a specific debugger command], enter B<|h> to page.
 B<h h>        Long help for debugger commands
-B<$doccmd> I<manpage>    Runs the external doc viewer B<$doccmd> command on the 
+B<$doccmd> I<manpage>    Runs the external doc viewer B<$doccmd> command on the
         named Perl I<manpage>, or on B<$doccmd> itself if omitted.
         Set B<\$DB::doccmd> to change viewer.
 
-Type `|h h' for a paged display if this was too hard to read.
+Type '|h h' for a paged display if this was too hard to read.
 
 ";    # Fix balance of vi % matching: }}}}
 
@@ -7354,7 +8154,7 @@
   B</>I<pattern>B</> B<?>I<patt>B<?>   Search forw/backw    B<r>           Return from subroutine
   B<M>           Show module versions        B<c> [I<ln>|I<sub>]  Continue until position
 I<Debugger controls:>                        B<L>           List break/watch/actions
-  B<o> [...]     Set debugger options        B<t> [I<expr>]    Toggle trace [trace expr]
+  B<o> [...]     Set debugger options        B<t> [I<n>] [I<expr>] Toggle trace [max depth] ][trace expr]
   B<<>[B<<>]|B<{>[B<{>]|B<>>[B<>>] [I<cmd>] Do pre/post-prompt B<b> [I<ln>|I<event>|I<sub>] [I<cnd>] Set breakpoint
   B<$prc> [I<N>|I<pat>]   Redo a previous command     B<B> I<ln|*>      Delete a/all breakpoints
   B<H> [I<-num>]    Display last num commands   B<a> [I<ln>] I<cmd>  Do cmd before line
@@ -7405,8 +8205,8 @@
 B<?>I<pattern>B<?>    Search backwards for I<pattern>; final B<?> is optional.
 B<L>        List all breakpoints and actions.
 B<S> [[B<!>]I<pattern>]    List subroutine names [not] matching I<pattern>.
-B<t>        Toggle trace mode.
-B<t> I<expr>        Trace through execution of I<expr>.
+B<t> [I<n>]       Toggle trace mode (to max I<n> levels below current stack depth) .
+B<t> [I<n>] I<expr>        Trace through execution of I<expr>.
 B<b> [I<line>] [I<condition>]
         Set breakpoint; I<line> defaults to the current execution line;
         I<condition> breaks if it evaluates to true, defaults to '1'.
@@ -7413,9 +8213,9 @@
 B<b> I<subname> [I<condition>]
         Set breakpoint at first line of subroutine.
 B<b> I<\$var>        Set breakpoint at first line of subroutine referenced by I<\$var>.
-B<b> B<load> I<filename> Set breakpoint on `require'ing the given file.
+B<b> B<load> I<filename> Set breakpoint on 'require'ing the given file.
 B<b> B<postpone> I<subname> [I<condition>]
-        Set breakpoint at first line of subroutine after 
+        Set breakpoint at first line of subroutine after
         it is compiled.
 B<b> B<compile> I<subname>
         Stop after the subroutine is compiled.
@@ -7471,12 +8271,12 @@
 B<R>        Pure-man-restart of debugger, some of debugger state
         and command-line options may be lost.
         Currently the following settings are preserved:
-        history, breakpoints and actions, debugger B<O>ptions 
+        history, breakpoints and actions, debugger B<O>ptions
         and the following command-line options: I<-w>, I<-I>, I<-e>.
 
 B<O> [I<opt>] ...    Set boolean option to true
 B<O> [I<opt>B<?>]    Query options
-B<O> [I<opt>B<=>I<val>] [I<opt>=B<\">I<val>B<\">] ... 
+B<O> [I<opt>B<=>I<val>] [I<opt>=B<\">I<val>B<\">] ...
         Set options.  Use quotes if spaces in value.
     I<recallCommand>, I<ShellBang>    chars used to recall command or spawn shell;
     I<pager>            program for output of \"|cmd\";
@@ -7506,16 +8306,16 @@
     During startup options are initialized from \$ENV{PERLDB_OPTS}.
     You can put additional initialization options I<TTY>, I<noTTY>,
     I<ReadLine>, I<NonStop>, and I<RemotePort> there (or use
-    `B<R>' after you set them).
+    B<R> after you set them).
 
 B<q> or B<^D>        Quit. Set B<\$DB::finished = 0> to debug global destruction.
 B<h> [I<db_command>]    Get help [on a specific debugger command], enter B<|h> to page.
 B<h h>        Summary of debugger commands.
-B<$doccmd> I<manpage>    Runs the external doc viewer B<$doccmd> command on the 
+B<$doccmd> I<manpage>    Runs the external doc viewer B<$doccmd> command on the
         named Perl I<manpage>, or on B<$doccmd> itself if omitted.
         Set B<\$DB::doccmd> to change viewer.
 
-Type `|h' for a paged display if this was too hard to read.
+Type '|h' for a paged display if this was too hard to read.
 
 ";    # Fix balance of vi % matching: }}}}
 
@@ -7555,13 +8355,13 @@
 
 Most of what C<print_help> does is just text formatting. It finds the
 C<B> and C<I> ornaments, cleans them off, and substitutes the proper
-terminal control characters to simulate them (courtesy of 
+terminal control characters to simulate them (courtesy of
 C<Term::ReadLine::TermCap>).
 
 =cut
 
 sub print_help {
-    local $_ = shift;
+    my $help_str = shift;
 
     # Restore proper alignment destroyed by eeevil I<> and B<>
     # ornaments: A pox on both their houses!
@@ -7569,18 +8369,18 @@
     # A help command will have everything up to and including
     # the first tab sequence padded into a field 16 (or if indented 20)
     # wide.  If it's wider than that, an extra space will be added.
-    s{
+    $help_str =~ s{
         ^                       # only matters at start of line
           ( \040{4} | \t )*     # some subcommands are indented
           ( < ?                 # so <CR> works
             [BI] < [^\t\n] + )  # find an eeevil ornament
           ( \t+ )               # original separation, discarded
-          ( .* )                # this will now start (no earlier) than 
+          ( .* )                # this will now start (no earlier) than
                                 # column 16
     } {
         my($leadwhite, $command, $midwhite, $text) = ($1, $2, $3, $4);
         my $clean = $command;
-        $clean =~ s/[BI]<([^>]*)>/$1/g;  
+        $clean =~ s/[BI]<([^>]*)>/$1/g;
 
         # replace with this whole string:
         ($leadwhite ? " " x 4 : "")
@@ -7590,27 +8390,29 @@
 
     }mgex;
 
-    s{                          # handle bold ornaments
+    $help_str =~ s{                          # handle bold ornaments
        B < ( [^>] + | > ) >
     } {
-          $Term::ReadLine::TermCap::rl_term_set[2] 
+          $Term::ReadLine::TermCap::rl_term_set[2]
         . $1
         . $Term::ReadLine::TermCap::rl_term_set[3]
     }gex;
 
-    s{                         # handle italic ornaments
+    $help_str =~ s{                         # handle italic ornaments
        I < ( [^>] + | > ) >
     } {
-          $Term::ReadLine::TermCap::rl_term_set[0] 
+          $Term::ReadLine::TermCap::rl_term_set[0]
         . $1
         . $Term::ReadLine::TermCap::rl_term_set[1]
     }gex;
 
     local $\ = '';
-    print $OUT $_;
+    print {$OUT} $help_str;
+
+    return;
 } ## end sub print_help
 
-=head2 C<fix_less> 
+=head2 C<fix_less>
 
 This routine does a lot of gyrations to be sure that the pager is C<less>.
 It checks for C<less> masquerading as C<more> and records the result in
@@ -7618,29 +8420,42 @@
 
 =cut
 
-sub fix_less {
+use vars qw($fixed_less);
 
-    # We already know if this is set.
-    return if $fixed_less;
-
-    # Pager is less for sure.
-    my $is_less = $pager =~ /\bless\b/;
-    if ( $pager =~ /\bmore\b/ ) {
-
+sub _calc_is_less {
+    if ($pager =~ /\bless\b/)
+    {
+        return 1;
+    }
+    elsif ($pager =~ /\bmore\b/)
+    {
         # Nope, set to more. See what's out there.
         my @st_more = stat('/usr/bin/more');
         my @st_less = stat('/usr/bin/less');
 
         # is it really less, pretending to be more?
-             $is_less = @st_more
-          && @st_less
-          && $st_more[0] == $st_less[0]
-          && $st_more[1] == $st_less[1];
-    } ## end if ($pager =~ /\bmore\b/)
+        return (
+            @st_more
+            && @st_less
+            && $st_more[0] == $st_less[0]
+            && $st_more[1] == $st_less[1]
+        );
+    }
+    else {
+        return;
+    }
+}
 
+sub fix_less {
+
+    # We already know if this is set.
+    return if $fixed_less;
+
     # changes environment!
     # 'r' added so we don't do (slow) stats again.
-    $fixed_less = 1 if $is_less;
+    $fixed_less = 1 if _calc_is_less();
+
+    return;
 } ## end sub fix_less
 
 =head1 DIE AND WARN MANAGEMENT
@@ -7681,7 +8496,7 @@
         local $Carp::CarpLevel = 2;    # mydie + confess
 
         # Tell us all about it.
-        &warn( Carp::longmess("Signal @_") );
+        _db_warn( Carp::longmess("Signal @_") );
     }
 
     # No Carp. Tell us about the signal as best we can.
@@ -7740,20 +8555,20 @@
 
     # Use the debugger's own special way of printing warnings to print
     # the stack trace message.
-    &warn($mess);
+    _db_warn($mess);
 } ## end sub dbwarn
 
 =head2 C<dbdie>
 
 The debugger's own C<$SIG{__DIE__}> handler. Handles providing a stack trace
-by loading C<Carp> and calling C<Carp::longmess()> to get it. We turn off 
-single stepping and tracing during the call to C<Carp::longmess> to avoid 
+by loading C<Carp> and calling C<Carp::longmess()> to get it. We turn off
+single stepping and tracing during the call to C<Carp::longmess> to avoid
 debugging it - we just want to use it.
 
 If C<dieLevel> is zero, we let the program being debugged handle the
 exceptions. If it's 1, you get backtraces for any exception. If it's 2,
 the debugger takes over all exception handling, printing a backtrace and
-displaying the exception via its C<dbwarn()> routine. 
+displaying the exception via its C<dbwarn()> routine.
 
 =cut
 
@@ -7762,12 +8577,9 @@
     local $doret         = -2;
     local $SIG{__DIE__}  = '';
     local $SIG{__WARN__} = '';
-    my $i      = 0;
-    my $ineval = 0;
-    my $sub;
     if ( $dieLevel > 2 ) {
         local $SIG{__WARN__} = \&dbwarn;
-        &warn(@_);    # Yell no matter what
+        _db_warn(@_);    # Yell no matter what
         return;
     }
     if ( $dieLevel < 2 ) {
@@ -7811,7 +8623,7 @@
 
 sub warnLevel {
     if (@_) {
-        $prevwarn = $SIG{__WARN__} unless $warnLevel;
+        my $prevwarn = $SIG{__WARN__} unless $warnLevel;
         $warnLevel = shift;
         if ($warnLevel) {
             $SIG{__WARN__} = \&DB::dbwarn;
@@ -7827,7 +8639,7 @@
 
 =head2 C<dielevel>
 
-Similar to C<warnLevel>. Non-zero values for C<dieLevel> result in the 
+Similar to C<warnLevel>. Non-zero values for C<dieLevel> result in the
 C<DB::dbdie()> function overriding any other C<die()> handler. Setting it to
 zero lets you use your own C<die()> handler.
 
@@ -7836,7 +8648,7 @@
 sub dieLevel {
     local $\ = '';
     if (@_) {
-        $prevdie = $SIG{__DIE__} unless $dieLevel;
+        my $prevdie = $SIG{__DIE__} unless $dieLevel;
         $dieLevel = shift;
         if ($dieLevel) {
 
@@ -7872,7 +8684,7 @@
 =head2 C<signalLevel>
 
 Number three in a series: set C<signalLevel> to zero to keep your own
-signal handler for C<SIGSEGV> and/or C<SIGBUS>. Otherwise, the debugger 
+signal handler for C<SIGSEGV> and/or C<SIGBUS>. Otherwise, the debugger
 takes over and handles them with C<DB::diesignal()>.
 
 =cut
@@ -7879,8 +8691,8 @@
 
 sub signalLevel {
     if (@_) {
-        $prevsegv = $SIG{SEGV} unless $signalLevel;
-        $prevbus  = $SIG{BUS}  unless $signalLevel;
+        my $prevsegv = $SIG{SEGV} unless $signalLevel;
+        my $prevbus  = $SIG{BUS}  unless $signalLevel;
         $signalLevel = shift;
         if ($signalLevel) {
             $SIG{SEGV} = \&DB::diesignal;
@@ -7926,6 +8738,8 @@
 
 =cut
 
+use vars qw($skipCvGV);
+
 sub CvGV_name_or_bust {
     my $in = shift;
     return if $skipCvGV;    # Backdoor to avoid problems if XS broken...
@@ -7938,7 +8752,7 @@
 
 =head2 C<find_sub>
 
-A utility routine used in various places; finds the file where a subroutine 
+A utility routine used in various places; finds the file where a subroutine
 was defined, and returns that filename and a line-number range.
 
 Tries to use C<@sub> first; if it can't find it there, it tries building a
@@ -7948,33 +8762,47 @@
 
 =cut
 
+sub _find_sub_helper {
+    my $subr = shift;
+
+    return unless defined &$subr;
+    my $name = CvGV_name_or_bust($subr);
+    my $data;
+    $data = $sub{$name} if defined $name;
+    return $data if defined $data;
+
+    # Old stupid way...
+    $subr = \&$subr;    # Hard reference
+    my $s;
+    for ( keys %sub ) {
+        $s = $_, last if $subr eq \&$_;
+    }
+    if ($s)
+    {
+        return $sub{$s};
+    }
+    else
+    {
+        return;
+    }
+
+}
+
 sub find_sub {
     my $subr = shift;
-    $sub{$subr} or do {
-        return unless defined &$subr;
-        my $name = CvGV_name_or_bust($subr);
-        my $data;
-        $data = $sub{$name} if defined $name;
-        return $data if defined $data;
-
-        # Old stupid way...
-        $subr = \&$subr;    # Hard reference
-        my $s;
-        for ( keys %sub ) {
-            $s = $_, last if $subr eq \&$_;
-        }
-        $sub{$s} if $s;
-      } ## end do
+    return ( $sub{$subr} || _find_sub_helper($subr) );
 } ## end sub find_sub
 
 =head2 C<methods>
 
 A subroutine that uses the utility function C<methods_via> to find all the
-methods in the class corresponding to the current reference and in 
+methods in the class corresponding to the current reference and in
 C<UNIVERSAL>.
 
 =cut
 
+use vars qw(%seen);
+
 sub methods {
 
     # Figure out the class - either this is the class or it's a reference
@@ -8013,24 +8841,25 @@
     my @to_print;
 
     # Extract from all the symbols in this class.
-    while (my ($name, $glob) = each %{"${class}::"}) {
-	# references directly in the symbol table are Proxy Constant
-	# Subroutines, and are by their very nature defined
-	# Otherwise, check if the thing is a typeglob, and if it is, it decays
-	# to a subroutine reference, which can be tested by defined.
-	# $glob might also be the value -1  (from sub foo;)
-	# or (say) '$$' (from sub foo ($$);)
-	# \$glob will be SCALAR in both cases.
-	if ((ref $glob || ($glob && ref \$glob eq 'GLOB' && defined &$glob))
-	    && !$seen{$name}++) {
-	    push @to_print, "$prepend$name\n";
-	}
+    my $class_ref = do { no strict "refs"; \%{$class . '::'} };
+    while (my ($name, $glob) = each %$class_ref) {
+        # references directly in the symbol table are Proxy Constant
+        # Subroutines, and are by their very nature defined
+        # Otherwise, check if the thing is a typeglob, and if it is, it decays
+        # to a subroutine reference, which can be tested by defined.
+        # $glob might also be the value -1  (from sub foo;)
+        # or (say) '$$' (from sub foo ($$);)
+        # \$glob will be SCALAR in both cases.
+        if ((ref $glob || ($glob && ref \$glob eq 'GLOB' && defined &$glob))
+            && !$seen{$name}++) {
+            push @to_print, "$prepend$name\n";
+        }
     }
 
     {
-	local $\ = '';
-	local $, = '';
-	print $DB::OUT $_ foreach sort @to_print;
+        local $\ = '';
+        local $, = '';
+        print $DB::OUT $_ foreach sort @to_print;
     }
 
     # If the $crawl_upward argument is false, just quit here.
@@ -8038,7 +8867,8 @@
 
     # $crawl_upward true: keep going up the tree.
     # Find all the classes this one is a subclass of.
-    for $name ( @{"${class}::ISA"} ) {
+    my $class_ISA_ref = do { no strict "refs"; \@{"${class}::ISA"} };
+    for my $name ( @$class_ISA_ref ) {
 
         # Set up the new prefix.
         $prepend = $prefix ? $prefix . " -> $name" : $name;
@@ -8063,53 +8893,13 @@
 =head2 C<runman> - run the appropriate command to show documentation
 
 Accepts a man page name; runs the appropriate command to display it (set up
-during debugger initialization). Uses C<DB::system> to avoid mucking up the
+during debugger initialization). Uses C<_db_system()> to avoid mucking up the
 program's STDIN and STDOUT.
 
 =cut
 
-sub runman {
-    my $page = shift;
-    unless ($page) {
-        &system("$doccmd $doccmd");
-        return;
-    }
-
-    # this way user can override, like with $doccmd="man -Mwhatever"
-    # or even just "man " to disable the path check.
-    unless ( $doccmd eq 'man' ) {
-        &system("$doccmd $page");
-        return;
-    }
-
-    $page = 'perl' if lc($page) eq 'help';
-
-    require Config;
-    my $man1dir = $Config::Config{'man1dir'};
-    my $man3dir = $Config::Config{'man3dir'};
-    for ( $man1dir, $man3dir ) { s#/[^/]*\z## if /\S/ }
-    my $manpath = '';
-    $manpath .= "$man1dir:" if $man1dir =~ /\S/;
-    $manpath .= "$man3dir:" if $man3dir =~ /\S/ && $man1dir ne $man3dir;
-    chop $manpath if $manpath;
-
-    # harmless if missing, I figure
-    my $oldpath = $ENV{MANPATH};
-    $ENV{MANPATH} = $manpath if $manpath;
-    my $nopathopt = $^O =~ /dunno what goes here/;
-    if (
-        CORE::system(
-            $doccmd,
-
-            # I just *know* there are men without -M
-            ( ( $manpath && !$nopathopt ) ? ( "-M", $manpath ) : () ),
-            split ' ', $page
-        )
-      )
-    {
-        unless ( $page =~ /^perl\w/ ) {
-# do it this way because its easier to slurp in to keep up to date - clunky though.
-my @pods = qw(
+my %_is_in_pods = (map { $_ => 1 }
+    qw(
     5004delta
     5005delta
     561delta
@@ -8131,7 +8921,6 @@
     apio
     api
     artistic
-    beos
     book
     boot
     bot
@@ -8156,7 +8945,6 @@
     dsc
     ebcdic
     embed
-    epoc
     faq1
     faq2
     faq3
@@ -8194,7 +8982,6 @@
     modlib
     mod
     modstyle
-    mpeix
     netware
     newmod
     number
@@ -8236,20 +9023,61 @@
     util
     uts
     var
-    vmesa
     vms
     vos
     win32
     xs
     xstut
+    )
 );
-            if (grep { $page eq $_ } @pods) {
-                $page =~ s/^/perl/;
+
+sub runman {
+    my $page = shift;
+    unless ($page) {
+        _db_system("$doccmd $doccmd");
+        return;
+    }
+
+    # this way user can override, like with $doccmd="man -Mwhatever"
+    # or even just "man " to disable the path check.
+    if ( $doccmd ne 'man' ) {
+        _db_system("$doccmd $page");
+        return;
+    }
+
+    $page = 'perl' if lc($page) eq 'help';
+
+    require Config;
+    my $man1dir = $Config::Config{'man1dir'};
+    my $man3dir = $Config::Config{'man3dir'};
+    for ( $man1dir, $man3dir ) { s#/[^/]*\z## if /\S/ }
+    my $manpath = '';
+    $manpath .= "$man1dir:" if $man1dir =~ /\S/;
+    $manpath .= "$man3dir:" if $man3dir =~ /\S/ && $man1dir ne $man3dir;
+    chop $manpath if $manpath;
+
+    # harmless if missing, I figure
+    my $oldpath = $ENV{MANPATH};
+    $ENV{MANPATH} = $manpath if $manpath;
+    my $nopathopt = $^O =~ /dunno what goes here/;
+    if (
+        CORE::system(
+            $doccmd,
+
+            # I just *know* there are men without -M
+            ( ( $manpath && !$nopathopt ) ? ( "-M", $manpath ) : () ),
+            split ' ', $page
+        )
+      )
+    {
+        unless ( $page =~ /^perl\w/ ) {
+# do it this way because its easier to slurp in to keep up to date - clunky though.
+            if (exists($_is_in_pods{$page})) {
                 CORE::system( $doccmd,
                     ( ( $manpath && !$nopathopt ) ? ( "-M", $manpath ) : () ),
-                    $page );
-            } ## end if (grep { $page eq $_...
-        } ## end unless ($page =~ /^perl\w/)
+                    "perl$page" );
+            }
+        }
     } ## end if (CORE::system($doccmd...
     if ( defined $oldpath ) {
         $ENV{MANPATH} = $manpath;
@@ -8271,7 +9099,7 @@
 before the debugger starts executing. We set up various variables that the
 debugger has to have set up before the Perl core starts running:
 
-=over 4 
+=over 4
 
 =item *
 
@@ -8323,6 +9151,8 @@
 
 # The following BEGIN is very handy if debugger goes havoc, debugging debugger?
 
+use vars qw($db_stop);
+
 BEGIN {    # This does not compile, alas. (XXX eh?)
     $IN  = \*STDIN;     # For bugs before DB::OUT has been opened
     $OUT = \*STDERR;    # For errors before DB::OUT has been opened
@@ -8374,7 +9204,7 @@
     # "Triggers bug (?) in perl if we postpone this until runtime."
     # XXX No details on this yet, or whether we should fix the bug instead
     # of work around it. Stay tuned.
-    @postponed = @stack = (0);
+    @stack = (0);
 
     # Used to track the current stack depth using the auto-stacked-variable
     # trick.
@@ -8394,14 +9224,14 @@
 
 =head2 db_complete
 
-C<readline> support - adds command completion to basic C<readline>. 
+C<readline> support - adds command completion to basic C<readline>.
 
 Returns a list of possible completions to C<readline> when invoked. C<readline>
-will print the longest common substring following the text already entered. 
+will print the longest common substring following the text already entered.
 
 If there is only a single possible completion, C<readline> will use it in full.
 
-This code uses C<map> and C<grep> heavily to create lists of possible 
+This code uses C<map> and C<grep> heavily to create lists of possible
 completion. Think LISP in this section.
 
 =cut
@@ -8418,9 +9248,9 @@
     # The search pattern is current package, ::, extract the next qualifier
     # Prefix and pack are set to undef.
     my ( $itext, $search, $prefix, $pack ) =
-      ( $text, "^\Q${'package'}::\E([^:]+)\$" );
+      ( $text, "^\Q${package}::\E([^:]+)\$" );
 
-=head3 C<b postpone|compile> 
+=head3 C<b postpone|compile>
 
 =over 4
 
@@ -8446,7 +9276,7 @@
 
 =back
 
-=cut 
+=cut
 
     return sort grep /^\Q$text/, ( keys %sub ),
       qw(postpone load compile),    # subroutines
@@ -8483,7 +9313,7 @@
 
 Take a partially-qualified package and find all subpackages for it
 by getting all the subpackages for the package so far, matching all
-the subpackages against the text, and discarding all of them which 
+the subpackages against the text, and discarding all of them which
 start with 'main::'. Return this list.
 
 =cut
@@ -8490,7 +9320,8 @@
 
     return sort map { ( $_, db_complete( $_ . "::", "V ", 2 ) ) }
       grep !/^main::/, grep /^\Q$text/,
-      map { /^(.*)::$/ ? ( $prefix . "::$1" ) : () } keys %{ $prefix . '::' }
+      map { /^(.*)::$/ ? ( $prefix . "::$1" ) : () }
+      do { no strict 'refs'; keys %{ $prefix . '::' } }
       if ( substr $line, 0, $start ) =~ /^\|*[Vm]\s+$/
       and $text =~ /^(.*[^:])::?(\w*)$/
       and $prefix = $1;
@@ -8521,9 +9352,9 @@
 
 =pod
 
-Under the debugger, source files are represented as C<_E<lt>/fullpath/to/file> 
-(C<eval>s are C<_E<lt>(eval NNN)>) keys in C<%main::>. We pull all of these 
-out of C<%main::>, add the initial source file, and extract the ones that 
+Under the debugger, source files are represented as C<_E<lt>/fullpath/to/file>
+(C<eval>s are C<_E<lt>(eval NNN)>) keys in C<%main::>. We pull all of these
+out of C<%main::>, add the initial source file, and extract the ones that
 match the completion text so far.
 
 =cut
@@ -8561,7 +9392,7 @@
 
 =pod
 
-=over 4 
+=over 4
 
 =item *
 
@@ -8590,8 +9421,11 @@
 
 =cut
 
-        my @out = map "$prefix$_", grep /^\Q$text/, grep /^_?[a-zA-Z]/,
-          keys %$pack;
+        my @out = do {
+            no strict 'refs';
+            map "$prefix$_", grep /^\Q$text/, grep /^_?[a-zA-Z]/,
+            keys %$pack;
+        };
 
 =pod
 
@@ -8696,10 +9530,10 @@
         return sort @out;
     } ## end if ($text =~ /^[\$@%]/)
 
-=head3 Options 
+=head3 Options
 
 We use C<option_val()> to look up the current value of the option. If there's
-only a single value, we complete the command in such a way that it is a 
+only a single value, we complete the command in such a way that it is a
 complete command for setting the option in question. If there are multiple
 possible values, we generate a command consisting of the option plus a trailing
 question mark, which, if executed, will list the current value of the option.
@@ -8729,7 +9563,7 @@
             # We'll want to quote the string (because of the embedded
             # whtespace), but we want to make sure we don't end up with
             # mismatched quote characters. We try several possibilities.
-            foreach $l ( split //, qq/\"\'\#\|/ ) {
+            foreach my $l ( split //, qq/\"\'\#\|/ ) {
 
                 # If we didn't find this quote character in the value,
                 # quote it using this quote character.
@@ -8775,7 +9609,7 @@
 
 sub end_report {
     local $\ = '';
-    print $OUT "Use `q' to quit or `R' to restart.  `h q' for details.\n";
+    print $OUT "Use 'q' to quit or 'R' to restart.  'h q' for details.\n";
 }
 
 =head2 clean_ENV
@@ -8886,7 +9720,7 @@
 =cut
 
 sub rerun {
-    my $i = shift; 
+    my $i = shift;
     my @args;
     pop(@truehist);                      # strim
     unless (defined $truehist[$i]) {
@@ -8896,9 +9730,9 @@
         my @temp = @truehist;            # store
         push(@DB::typeahead, @truehist); # saved
         @truehist = @hist = ();          # flush
-        @args = &restart();              # setup
-        &get_list("PERLDB_HIST");        # clean
-        &set_list("PERLDB_HIST", @temp); # reset
+        @args = restart();              # setup
+        get_list("PERLDB_HIST");        # clean
+        set_list("PERLDB_HIST", @temp); # reset
     }
     return @args;
 }
@@ -8940,8 +9774,9 @@
     # the 'require perl5db.pl;' line), and add them back on
     # to the command line to be executed.
     if ( $0 eq '-e' ) {
-        for ( 1 .. $#{'::_<-e'} ) {  # The first line is PERL5DB
-            chomp( $cl = ${'::_<-e'}[$_] );
+        my $lines = *{$main::{'_<-e'}}{ARRAY};
+        for ( 1 .. $#$lines ) {  # The first line is PERL5DB
+            chomp( $cl = $lines->[$_] );
             push @script, '-e', $cl;
         }
     } ## end if ($0 eq '-e')
@@ -8981,7 +9816,7 @@
     # Save the break-on-loads.
     set_list( "PERLDB_ON_LOAD", %break_on_load );
 
-=pod 
+=pod
 
 The most complex part of this is the saving of all of the breakpoints. They
 can live in an awful lot of places, and we have to go through all of them,
@@ -9018,50 +9853,61 @@
 
         # Save the list of all the breakpoints for this file.
         set_list( "PERLDB_FILE_$_", %dbline, @add );
+
+        # Serialize the extra data %breakpoints_data hash.
+        # That's a bug fix.
+        set_list( "PERLDB_FILE_ENABLED_$_",
+            map { _is_breakpoint_enabled($file, $_) ? 1 : 0 }
+            sort { $a <=> $b } keys(%dbline)
+        )
     } ## end for (0 .. $#had_breakpoints)
 
     # The breakpoint was inside an eval. This is a little
     # more difficult. XXX and I don't understand it.
-    for (@hard) {
+    foreach my $hard_file (@hard) {
         # Get over to the eval in question.
-        *dbline = $main::{ '_<' . $_ };
-        my ( $quoted, $sub, %subs, $line ) = quotemeta $_;
-        for $sub ( keys %sub ) {
-            next unless $sub{$sub} =~ /^$quoted:(\d+)-(\d+)$/;
-            $subs{$sub} = [ $1, $2 ];
+        *dbline = $main::{ '_<' . $hard_file };
+        my $quoted = quotemeta $hard_file;
+        my %subs;
+        for my $sub ( keys %sub ) {
+            if (my ($n1, $n2) = $sub{$sub} =~ /\A$quoted:(\d+)-(\d+)\z/) {
+                $subs{$sub} = [ $n1, $n2 ];
+            }
         }
         unless (%subs) {
-            print $OUT
-              "No subroutines in $_, ignoring breakpoints.\n";
+            print {$OUT}
+            "No subroutines in $hard_file, ignoring breakpoints.\n";
             next;
         }
-      LINES: for $line ( keys %dbline ) {
+        LINES: foreach my $line ( keys %dbline ) {
 
             # One breakpoint per sub only:
-            my ( $offset, $sub, $found );
-          SUBS: for $sub ( keys %subs ) {
+            my ( $offset, $found );
+            SUBS: foreach my $sub ( keys %subs ) {
                 if (
-                    $subs{$sub}->[1] >=
-                    $line    # Not after the subroutine
+                    $subs{$sub}->[1] >= $line    # Not after the subroutine
                     and (
                         not defined $offset    # Not caught
-                        or $offset < 0
+                            or $offset < 0
                     )
-                  )
+                )
                 {                              # or badly caught
                     $found  = $sub;
                     $offset = $line - $subs{$sub}->[0];
-                    $offset = "+$offset", last SUBS
-                      if $offset >= 0;
+                    if ($offset >= 0) {
+                        $offset = "+$offset";
+                        last SUBS;
+                    }
                 } ## end if ($subs{$sub}->[1] >=...
             } ## end for $sub (keys %subs)
             if ( defined $offset ) {
                 $postponed{$found} =
-                  "break $offset if $dbline{$line}";
+                "break $offset if $dbline{$line}";
             }
             else {
-                print $OUT
-"Breakpoint in $_:$line ignored: after all the subroutines.\n";
+                print {$OUT}
+                ("Breakpoint in ${hard_file}:$line ignored:"
+                . " after all the subroutines.\n");
             }
         } ## end for $line (keys %dbline)
     } ## end for (@hard)
@@ -9083,7 +9929,7 @@
     # Set this back to the initial pid.
     $ENV{PERLDB_PIDS} = $ini_pids if defined $ini_pids;
 
-=pod 
+=pod
 
 After all the debugger status has been saved, we take the command we built up
 and then return it, so we can C<exec()> it. The debugger will spot the
@@ -9095,7 +9941,7 @@
     # And run Perl again. Add the "-d" flag, all the
     # flags we built up, the script (whether a one-liner
     # or a file), add on the -emacs flag for a slave editor,
-    # and then the old arguments. 
+    # and then the old arguments.
 
     return ($^X, '-d', @flags, @script, ($slave_editor ? '-emacs' : ()), @ARGS);
 
@@ -9105,9 +9951,9 @@
 
 =head1 END PROCESSING - THE C<END> BLOCK
 
-Come here at the very end of processing. We want to go into a 
-loop where we allow the user to enter commands and interact with the 
-debugger, but we don't want anything else to execute. 
+Come here at the very end of processing. We want to go into a
+loop where we allow the user to enter commands and interact with the
+debugger, but we don't want anything else to execute.
 
 First we set the C<$finished> variable, so that some commands that
 shouldn't be run after the end of program quit working.
@@ -9120,7 +9966,7 @@
 message and returns control to the debugger. Repeat.
 
 When the user finally enters a C<q> command, C<$fall_off_end> is set to
-1 and the C<END> block simply exits with C<$single> set to 0 (don't 
+1 and the C<END> block simply exits with C<$single> set to 0 (don't
 break, run to completion.).
 
 =cut
@@ -9131,7 +9977,7 @@
 
     # Do not stop in at_exit() and destructors on exit:
     if ($fall_off_end or $runnonstop) {
-        &save_hist();
+        save_hist();
     } else {
         $DB::single = 1;
         DB::fake::at_exit();
@@ -9140,12 +9986,12 @@
 
 =head1 PRE-5.8 COMMANDS
 
-Some of the commands changed function quite a bit in the 5.8 command 
+Some of the commands changed function quite a bit in the 5.8 command
 realignment, so much so that the old code had to be replaced completely.
 Because we wanted to retain the option of being able to go back to the
 former command set, we moved the old code off to this section.
 
-There's an awful lot of duplicated code here. We've duplicated the 
+There's an awful lot of duplicated code here. We've duplicated the
 comments to keep things clear.
 
 =head2 Null command
@@ -9174,8 +10020,8 @@
     if ( $cmd =~ /^(\d*)\s*(.*)/ ) {
 
         # If the line isn't there, use the current line.
-        $i = $1 || $line;
-        $j = $2;
+        my $i = $1 || $line;
+        my $j = $2;
 
         # If there is an action ...
         if ( length $j ) {
@@ -9210,7 +10056,7 @@
     } ## end if ($cmd =~ /^(\d*)\s*(.*)/)
 } ## end sub cmd_pre580_a
 
-=head2 Old C<b> command 
+=head2 Old C<b> command
 
 Add breakpoints.
 
@@ -9225,7 +10071,7 @@
     if ( $cmd =~ /^load\b\s*(.*)/ ) {
         my $file = $1;
         $file =~ s/\s+$//;
-        &cmd_b_load($file);
+        cmd_b_load($file);
     }
 
     # b compile|postpone <some sub> [<condition>]
@@ -9244,7 +10090,7 @@
         $subname =~ s/\'/::/g;
 
         # Qualify it into the current package unless it's already qualified.
-        $subname = "${'package'}::" . $subname
+        $subname = "${package}::" . $subname
           unless $subname =~ /::/;
 
         # Add main if it starts with ::.
@@ -9258,14 +10104,13 @@
     elsif ( $cmd =~ /^([':A-Za-z_][':\w]*(?:\[.*\])?)\s*(.*)/ ) {
         my $subname = $1;
         my $cond = length $2 ? $2 : '1';
-        &cmd_b_sub( $subname, $cond );
+        cmd_b_sub( $subname, $cond );
     }
-
     # b <line> [<condition>].
     elsif ( $cmd =~ /^(\d*)\s*(.*)/ ) {
         my $i = $1 || $dbline;
         my $cond = length $2 ? $2 : '1';
-        &cmd_b_line( $i, $cond );
+        cmd_b_line( $i, $cond );
     }
 } ## end sub cmd_pre580_b
 
@@ -9289,11 +10134,11 @@
             # Switch to the desired file temporarily.
             local *dbline = $main::{ '_<' . $file };
 
-            my $max = $#dbline;
+            $max = $#dbline;
             my $was;
 
             # For all lines in this file ...
-            for ( $i = 1 ; $i <= $max ; $i++ ) {
+            for my $i (1 .. $max) {
 
                 # If there's a breakpoint or action on this line ...
                 if ( defined $dbline{$i} ) {
@@ -9306,7 +10151,7 @@
                         delete $dbline{$i};
                     }
                 } ## end if (defined $dbline{$i...
-            } ## end for ($i = 1 ; $i <= $max...
+            } ## end for my $i (1 .. $max)
 
             # If, after we turn off the "there were breakpoints in this file"
             # bit, the entry in %had_breakpoints for this file is zero,
@@ -9326,7 +10171,7 @@
 
 =head2 Old C<h> command
 
-Print help. Defaults to printing the long-form help; the 5.8 version 
+Print help. Defaults to printing the long-form help; the 5.8 version
 prints the summary by default.
 
 =cut
@@ -9412,7 +10257,8 @@
         # Get the current value of the expression.
         # Doesn't handle expressions returning list values!
         $evalarg = $1;
-        my ($val) = &eval;
+        # The &-call is here to ascertain the mutability of @_.
+        my ($val) = &DB::eval;
         $val = ( defined $val ) ? "'$val'" : 'undef';
 
         # Save it.
@@ -9426,9 +10272,9 @@
 
 =head1 PRE-AND-POST-PROMPT COMMANDS AND ACTIONS
 
-The debugger used to have a bunch of nearly-identical code to handle 
+The debugger used to have a bunch of nearly-identical code to handle
 the pre-and-post-prompt action commands. C<cmd_pre590_prepost> and
-C<cmd_prepost> unify all this into one set of code to handle the 
+C<cmd_prepost> unify all this into one set of code to handle the
 appropriate actions.
 
 =head2 C<cmd_pre590_prepost>
@@ -9444,7 +10290,7 @@
     my $line   = shift || '*';
     my $dbline = shift;
 
-    return &cmd_prepost( $cmd, $line, $dbline );
+    return cmd_prepost( $cmd, $line, $dbline );
 } ## end sub cmd_pre590_prepost
 
 =head2 C<cmd_prepost>
@@ -9486,7 +10332,7 @@
     elsif ( $cmd =~ /^\{/o ) {
         if ( $cmd =~ /^\{.*\}$/o && unbalanced( substr( $cmd, 1 ) ) ) {
             print $OUT
-"$cmd is now a debugger command\nuse `;$cmd' if you mean Perl code\n";
+"$cmd is now a debugger command\nuse ';$cmd' if you mean Perl code\n";
         }
 
         # Properly balanced. Pre-prompt debugger actions.
@@ -9563,7 +10409,7 @@
 package DB::fake;
 
 sub at_exit {
-    "Debugged program terminated.  Use `q' to quit or `R' to restart.";
+    "Debugged program terminated.  Use 'q' to quit or 'R' to restart.";
 }
 
 package DB;    # Do not trace this 1; below!


Property changes on: vendor/perl/dist/lib/perl5db.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/perl5db.t
===================================================================
--- vendor/perl/dist/lib/perl5db.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/perl5db.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,175 +11,2702 @@
 use Config;
 
 BEGIN {
-    if (!-c "/dev/null") {
-	print "1..0 # Skip: no /dev/null\n";
-	exit 0;
+    if (! -c "/dev/null") {
+        print "1..0 # Skip: no /dev/null\n";
+        exit 0;
     }
-my $dev_tty = '/dev/tty';
-   $dev_tty = 'TT:' if ($^O eq 'VMS');
-    if (!-c $dev_tty) {
-	print "1..0 # Skip: no $dev_tty\n";
-	exit 0;
+
+    my $dev_tty = '/dev/tty';
+    $dev_tty = 'TT:' if ($^O eq 'VMS');
+    if (! -c $dev_tty) {
+        print "1..0 # Skip: no $dev_tty\n";
+        exit 0;
     }
     if ($ENV{PERL5DB}) {
-	print "1..0 # Skip: \$ENV{PERL5DB} is already set to '$ENV{PERL5DB}'\n";
-	exit 0;
+        print "1..0 # Skip: \$ENV{PERL5DB} is already set to '$ENV{PERL5DB}'\n";
+        exit 0;
     }
 }
 
-plan(9);
+plan(116);
 
+my $rc_filename = '.perldb';
+
 sub rc {
-    open RC, ">", ".perldb" or die $!;
-    print RC @_;
-    close(RC);
+    open my $rc_fh, '>', $rc_filename
+        or die $!;
+    print {$rc_fh} @_;
+    close ($rc_fh);
+
     # overly permissive perms gives "Must not source insecure rcfile"
     # and hangs at the DB(1> prompt
-    chmod 0644, ".perldb";
+    chmod 0644, $rc_filename;
 }
 
-my $target = '../lib/perl5db/t/eval-line-bug';
+sub _slurp
+{
+    my $filename = shift;
 
-rc(
-    qq|
-    &parse_options("NonStop=0 TTY=db.out LineInfo=db.out");
-    \n|,
+    open my $in, '<', $filename
+        or die "Cannot open '$filename' for slurping - $!";
 
-    qq|
-    sub afterinit {
-	push(\@DB::typeahead,
-	    'b 23',
-	    'n',
-	    'n',
-	    'n',
-	    'c', # line 23
-	    'n',
-	    "p \\\@{'main::_<$target'}",
-	    'q',
-	);
-    }\n|,
-);
+    local $/;
+    my $contents = <$in>;
 
+    close($in);
+
+    return $contents;
+}
+
+my $out_fn = 'db.out';
+
+sub _out_contents
 {
-    local $ENV{PERLDB_OPTS} = "ReadLine=0";
-    runperl(switches => [ '-d' ], progfile => $target);
+    return _slurp($out_fn);
 }
 
-my $contents;
+
+# Test for Proxy constants
 {
-    local $/;
-    open I, "<", 'db.out' or die $!;
-    $contents = <I>;
-    close(I);
+    rc(
+        <<'EOF',
+
+&parse_options("NonStop=0 ReadLine=0 TTY=db.out LineInfo=db.out");
+
+sub afterinit {
+    push(@DB::typeahead,
+        'm main->s1',
+        'q',
+    );
 }
 
-like($contents, qr/sub factorial/,
-    'The ${main::_<filename} variable in the debugger was not destroyed'
-);
+EOF
+    );
 
+    my $output = runperl(switches => [ '-d' ], stderr => 1, progfile => '../lib/perl5db/t/proxy-constants');
+    is($output, "", "proxy constant subroutines");
+}
+
+# [perl #66110] Call a subroutine inside a regex
 {
+    local $ENV{PERLDB_OPTS} = "ReadLine=0 NonStop=1";
+    my $output = runperl(switches => [ '-d' ], stderr => 1, progfile => '../lib/perl5db/t/rt-66110');
+    like($output, "All tests successful.", "[perl #66110]");
+}
+# [ perl #116769] Frame=2
+{
+    local $ENV{PERLDB_OPTS} = "frame=2 nonstop";
+    my $output = runperl( switches => [ '-d' ], prog => 'print q{success}' );
+    is( $?, 0, '[perl #116769] frame=2 does not crash debugger, exit == 0' );
+    like( $output, 'success' , '[perl #116769] code is run' );
+}
+# [ perl #116771] autotrace
+{
+    local $ENV{PERLDB_OPTS} = "autotrace nonstop";
+    my $output = runperl( switches => [ '-d' ], prog => 'print q{success}' );
+    is( $?, 0, '[perl #116771] autotrace does not crash debugger, exit == 0' );
+    like( $output, 'success' , '[perl #116771] code is run' );
+}
+
+{
+    rc(<<'EOF');
+&parse_options("NonStop=0 TTY=db.out LineInfo=db.out");
+
+sub afterinit {
+    push (@DB::typeahead,
+    't 2',
+    'c',
+    'q',
+    );
+
+}
+EOF
+}
+
+package DebugWrap;
+
+sub new {
+    my $class = shift;
+
+    my $self = bless {}, $class;
+
+    $self->_init(@_);
+
+    return $self;
+}
+
+sub _cmds {
+    my $self = shift;
+
+    if (@_) {
+        $self->{_cmds} = shift;
+    }
+
+    return $self->{_cmds};
+}
+
+sub _prog {
+    my $self = shift;
+
+    if (@_) {
+        $self->{_prog} = shift;
+    }
+
+    return $self->{_prog};
+}
+
+sub _output {
+    my $self = shift;
+
+    if (@_) {
+        $self->{_output} = shift;
+    }
+
+    return $self->{_output};
+}
+
+sub _include_t
+{
+    my $self = shift;
+
+    if (@_)
+    {
+        $self->{_include_t} = shift;
+    }
+
+    return $self->{_include_t};
+}
+
+sub _stderr_val
+{
+    my $self = shift;
+
+    if (@_)
+    {
+        $self->{_stderr_val} = shift;
+    }
+
+    return $self->{_stderr_val};
+}
+
+sub field
+{
+    my $self = shift;
+
+    if (@_)
+    {
+        $self->{field} = shift;
+    }
+
+    return $self->{field};
+}
+
+sub _switches
+{
+    my $self = shift;
+
+    if (@_)
+    {
+        $self->{_switches} = shift;
+    }
+
+    return $self->{_switches};
+}
+
+sub _contents
+{
+    my $self = shift;
+
+    if (@_)
+    {
+        $self->{_contents} = shift;
+    }
+
+    return $self->{_contents};
+}
+
+sub _init
+{
+    my ($self, $args) = @_;
+
+    my $cmds = $args->{cmds};
+
+    if (ref($cmds) ne 'ARRAY') {
+        die "cmds must be an array of commands.";
+    }
+
+    $self->_cmds($cmds);
+
+    my $prog = $args->{prog};
+
+    if (ref($prog) ne '' or !defined($prog)) {
+        die "prog should be a path to a program file.";
+    }
+
+    $self->_prog($prog);
+
+    $self->_include_t($args->{include_t} ? 1 : 0);
+
+    $self->_stderr_val(exists($args->{stderr}) ? $args->{stderr} : 1);
+
+    if (exists($args->{switches}))
+    {
+        $self->_switches($args->{switches});
+    }
+
+    $self->_run();
+
+    return;
+}
+
+sub _quote
+{
+    my ($self, $str) = @_;
+
+    $str =~ s/(["\@\$\\])/\\$1/g;
+    $str =~ s/\n/\\n/g;
+    $str =~ s/\r/\\r/g;
+
+    return qq{"$str"};
+}
+
+sub _run {
+    my $self = shift;
+
+    my $rc = qq{&parse_options("NonStop=0 TTY=db.out LineInfo=db.out");\n};
+
+    $rc .= join('',
+        map { "$_\n"}
+        (q#sub afterinit {#,
+         q#push (@DB::typeahead,#,
+         (map { $self->_quote($_) . "," } @{$self->_cmds()}),
+         q#);#,
+         q#}#,
+        )
+    );
+
+    # I guess two objects like that cannot be used at the same time.
+    # Oh well.
+    ::rc($rc);
+
+    my $output =
+        ::runperl(
+            switches =>
+            [
+                ($self->_switches ? (@{$self->_switches()}) : ('-d')),
+                ($self->_include_t ? ('-I', '../lib/perl5db/t') : ())
+            ],
+            (defined($self->_stderr_val())
+                ? (stderr => $self->_stderr_val())
+                : ()
+            ),
+            progfile => $self->_prog()
+        );
+
+    $self->_output($output);
+
+    $self->_contents(::_out_contents());
+
+    return;
+}
+
+sub get_output
+{
+    return shift->_output();
+}
+
+sub output_like {
+    my ($self, $re, $msg) = @_;
+
+    local $::Level = $::Level + 1;
+    ::like($self->_output(), $re, $msg);
+}
+
+sub output_unlike {
+    my ($self, $re, $msg) = @_;
+
+    local $::Level = $::Level + 1;
+    ::unlike($self->_output(), $re, $msg);
+}
+
+sub contents_like {
+    my ($self, $re, $msg) = @_;
+
+    local $::Level = $::Level + 1;
+    ::like($self->_contents(), $re, $msg);
+}
+
+sub contents_unlike {
+    my ($self, $re, $msg) = @_;
+
+    local $::Level = $::Level + 1;
+    ::unlike($self->_contents(), $re, $msg);
+}
+
+package main;
+
+{
     local $ENV{PERLDB_OPTS} = "ReadLine=0";
-    my $output = runperl(switches => [ '-d' ], progfile => '../lib/perl5db/t/lvalue-bug');
-    like($output, qr/foo is defined/, 'lvalue subs work in the debugger');
+    my $target = '../lib/perl5db/t/eval-line-bug';
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 23',
+                'n',
+                'n',
+                'n',
+                'c', # line 23
+                'n',
+                "p \@{'main::_<$target'}",
+                'q',
+            ],
+            prog => $target,
+        }
+    );
+    $wrapper->contents_like(
+        qr/sub factorial/,
+        'The ${main::_<filename} variable in the debugger was not destroyed',
+    );
 }
 
+sub _calc_generic_wrapper
 {
-    local $ENV{PERLDB_OPTS} = "ReadLine=0 NonStop=1";
-    my $output = runperl(switches => [ '-d' ], progfile => '../lib/perl5db/t/symbol-table-bug');
-    like($output, qr/Undefined symbols 0/, 'there are no undefined values in the symbol table');
+    my $args = shift;
+
+    my $extra_opts = delete($args->{extra_opts});
+    $extra_opts ||= '';
+    local $ENV{PERLDB_OPTS} = "ReadLine=0" . $extra_opts;
+    return DebugWrap->new(
+        {
+            cmds => delete($args->{cmds}),
+            prog => delete($args->{prog}),
+            %$args,
+        }
+    );
 }
 
-SKIP: {
+sub _calc_new_var_wrapper
+{
+    my ($args) = @_;
+    return _calc_generic_wrapper(
+        {
+            cmds =>
+            [
+                'b 23',
+                'c',
+                '$new_var = "Foo"',
+                'x "new_var = <$new_var>\\n"',
+                'q',
+            ],
+            %$args,
+        }
+    );
+}
+
+sub _calc_threads_wrapper
+{
+    my $args = shift;
+
+    return _calc_new_var_wrapper(
+        {
+            switches => [ '-dt', ],
+            stderr => 1,
+            %$args
+        }
+    );
+}
+
+{
+    _calc_new_var_wrapper({ prog => '../lib/perl5db/t/eval-line-bug'})
+        ->contents_like(
+            qr/new_var = <Foo>/,
+            "no strict 'vars' in evaluated lines.",
+        );
+}
+
+{
+    _calc_new_var_wrapper(
+        {
+            prog => '../lib/perl5db/t/lvalue-bug',
+            stderr => undef(),
+        },
+    )->output_like(
+            qr/foo is defined/,
+             'lvalue subs work in the debugger',
+         );
+}
+
+{
+    _calc_new_var_wrapper(
+        {
+            prog =>  '../lib/perl5db/t/symbol-table-bug',
+            extra_opts => "NonStop=1",
+            stderr => undef(),
+        }
+    )->output_like(
+        qr/Undefined symbols 0/,
+        'there are no undefined values in the symbol table',
+    );
+}
+
+SKIP:
+{
     if ( $Config{usethreads} ) {
         skip('This perl has threads, skipping non-threaded debugger tests');
-    } else {
+    }
+    else {
         my $error = 'This Perl not built to support threads';
-        my $output = runperl( switches => [ '-dt' ], stderr => 1 );
-        like($output, qr/$error/, 'Perl debugger correctly complains that it was not built with threads');
+        _calc_threads_wrapper(
+            {
+                prog => '../lib/perl5db/t/eval-line-bug',
+            }
+        )->output_like(
+            qr/\Q$error\E/,
+            'Perl debugger correctly complains that it was not built with threads',
+        );
     }
+}
 
-}
-SKIP: {
+SKIP:
+{
     if ( $Config{usethreads} ) {
-        local $ENV{PERLDB_OPTS} = "ReadLine=0 NonStop=1";
-        my $output = runperl(switches => [ '-dt' ], progfile => '../lib/perl5db/t/symbol-table-bug');
-        like($output, qr/Undefined symbols 0/, 'there are no undefined values in the symbol table when running with thread support');
-    } else {
+        _calc_threads_wrapper(
+            {
+                prog =>  '../lib/perl5db/t/symbol-table-bug',
+            }
+        )->output_like(
+            qr/Undefined symbols 0/,
+            'there are no undefined values in the symbol table when running with thread support',
+        );
+    }
+    else {
         skip("This perl is not threaded, skipping threaded debugger tests");
     }
 }
 
-
 # Test [perl #61222]
 {
-    rc(
-        qq|
-        &parse_options("NonStop=0 TTY=db.out LineInfo=db.out");
-        \n|,
-
-        qq|
-        sub afterinit {
-            push(\@DB::typeahead,
+    local $ENV{PERLDB_OPTS};
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
                 'm Pie',
                 'q',
-            );
-        }\n|,
+            ],
+            prog => '../lib/perl5db/t/rt-61222',
+        }
     );
 
-    my $output = runperl(switches => [ '-d' ], stderr => 1, progfile => '../lib/perl5db/t/rt-61222');
-    my $contents;
-    {
-        local $/;
-        open I, "<", 'db.out' or die $!;
-        $contents = <I>;
-        close(I);
-    }
-    unlike($contents, qr/INCORRECT/, "[perl #61222]");
+    $wrapper->contents_unlike(qr/INCORRECT/, "[perl #61222]");
 }
 
+sub _calc_trace_wrapper
+{
+    my ($args) = @_;
 
+    return _calc_generic_wrapper(
+        {
+            cmds =>
+            [
+                't 2',
+                'c',
+                'q',
+            ],
+            %$args,
+        }
+    );
+}
 
-# Test for Proxy constants
+# [perl 104168] level option for tracing
 {
-    rc(
-        qq|
-        &parse_options("NonStop=0 ReadLine=0 TTY=db.out LineInfo=db.out");
-        \n|,
+    my $wrapper = _calc_trace_wrapper({ prog =>  '../lib/perl5db/t/rt-104168' });
+    $wrapper->contents_like(qr/level 2/, "[perl #104168] - level 2 appears");
+    $wrapper->contents_unlike(qr/baz/, "[perl #104168] - no 'baz'");
+}
 
-        qq|
-        sub afterinit {
-            push(\@DB::typeahead,
-                'm main->s1',
+# taint tests
+{
+    my $wrapper = _calc_trace_wrapper(
+        {
+            prog => '../lib/perl5db/t/taint',
+            extra_opts => ' NonStop=1',
+            switches => [ '-d', '-T', ],
+        }
+    );
+
+    my $output = $wrapper->get_output();
+    chomp $output if $^O eq 'VMS'; # newline guaranteed at EOF
+    is($output, '[$^X][done]', "taint");
+}
+
+# Testing that we can set a line in the middle of the file.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b ../lib/perl5db/t/MyModule.pm:12',
+                'c',
+                q/do { use IO::Handle; STDOUT->autoflush(1); print "Var=$var\n"; }/,
+                'c',
                 'q',
-            );
-        }\n|,
+            ],
+            include_t => 1,
+            prog => '../lib/perl5db/t/filename-line-breakpoint'
+        }
     );
 
-    my $output = runperl(switches => [ '-d' ], stderr => 1, progfile => '../lib/perl5db/t/proxy-constants');
-    is($output, "", "proxy constant subroutines");
+    $wrapper->output_like(qr/
+        ^Var=Bar$
+            .*
+        ^In\ MyModule\.$
+            .*
+        ^In\ Main\ File\.$
+            .*
+        /msx,
+        "Can set breakpoint in a line in the middle of the file.");
 }
 
+# Testing that we can set a breakpoint
+{
+    my $wrapper = DebugWrap->new(
+        {
+            prog => '../lib/perl5db/t/breakpoint-bug',
+            cmds =>
+            [
+                'b 6',
+                'c',
+                q/do { use IO::Handle; STDOUT->autoflush(1); print "X={$x}\n"; }/,
+                'c',
+                'q',
+            ],
+        },
+    );
 
-# [perl #66110] Call a subroutine inside a regex
+    $wrapper->output_like(
+        qr/X=\{Two\}/msx,
+        "Can set breakpoint in a line."
+    );
+}
+
+# Testing that we can disable a breakpoint at a numeric line.
 {
-    local $ENV{PERLDB_OPTS} = "ReadLine=0 NonStop=1";
-    my $output = runperl(switches => [ '-d' ], stderr => 1, progfile => '../lib/perl5db/t/rt-66110');
-    like($output, "All tests successful.", "[perl #66110]");
+    my $wrapper = DebugWrap->new(
+        {
+            prog =>  '../lib/perl5db/t/disable-breakpoints-1',
+            cmds =>
+            [
+                'b 7',
+                'b 11',
+                'disable 7',
+                'c',
+                q/print "X={$x}\n";/,
+                'c',
+                'q',
+            ],
+        }
+    );
+
+    $wrapper->output_like(qr/X=\{SecondVal\}/ms,
+        "Can set breakpoint in a line.");
 }
 
-# taint tests
+# Testing that we can re-enable a breakpoint at a numeric line.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            prog =>  '../lib/perl5db/t/disable-breakpoints-2',
+            cmds =>
+            [
+                'b 8',
+                'b 24',
+                'disable 24',
+                'c',
+                'enable 24',
+                'c',
+                q/print "X={$x}\n";/,
+                'c',
+                'q',
+            ],
+        },
+    );
 
+    $wrapper->output_like(
+        qr/
+        X=\{SecondValOneHundred\}
+        /msx,
+        "Can set breakpoint in a line."
+    );
+}
+# clean up.
+
+# Disable and enable for breakpoints on outer files.
 {
-    local $ENV{PERLDB_OPTS} = "ReadLine=0 NonStop=1";
-    my $output = runperl(switches => [ '-d', '-T' ], stderr => 1,
-			progfile => '../lib/perl5db/t/taint');
-    chomp $output if $^O eq 'VMS'; # newline guaranteed at EOF
-    is($output, '[$^X][done]', "taint");
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 10',
+                'b ../lib/perl5db/t/EnableModule.pm:14',
+                'disable ../lib/perl5db/t/EnableModule.pm:14',
+                'c',
+                'enable ../lib/perl5db/t/EnableModule.pm:14',
+                'c',
+                q/print "X={$x}\n";/,
+                'c',
+                'q',
+            ],
+            prog =>  '../lib/perl5db/t/disable-breakpoints-3',
+            include_t => 1,
+        }
+    );
+
+    $wrapper->output_like(qr/
+        X=\{SecondValTwoHundred\}
+        /msx,
+        "Can set breakpoint in a line.");
 }
 
+# Testing that the prompt with the information appears.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds => ['q'],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
 
-# clean up.
+    $wrapper->contents_like(qr/
+        ^main::\([^\)]*\bdisable-breakpoints-1:2\):\n
+        2:\s+my\ \$x\ =\ "One";\n
+        /msx,
+        "Prompt should display the first line of code.");
+}
 
+# Testing that R (restart) and "B *" work.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 13',
+                'c',
+                'B *',
+                'b 9',
+                'R',
+                'c',
+                q/print "X={$x};dummy={$dummy}\n";/,
+                'q',
+            ],
+            prog =>  '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->output_like(qr/
+        X=\{FirstVal\};dummy=\{1\}
+        /msx,
+        "Restart and delete all breakpoints work properly.");
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'c 15',
+                q/print "X={$x}\n";/,
+                'c',
+                'q',
+            ],
+            prog =>  '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->output_like(qr/
+        X=\{ThirdVal\}
+        /msx,
+        "'c line_num' is working properly.");
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'n',
+                'n',
+                'b . $exp > 200',
+                'c',
+                q/print "Exp={$exp}\n";/,
+                'q',
+            ],
+            prog => '../lib/perl5db/t/break-on-dot',
+        }
+    );
+
+    $wrapper->output_like(qr/
+        Exp=\{256\}
+        /msx,
+        "'b .' is working correctly.");
+}
+
+# Testing that the prompt with the information appears inside a subroutine call.
+# See https://rt.perl.org/rt3/Ticket/Display.html?id=104820
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'c back',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/with-subroutine',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/
+        ^main::back\([^\)\n]*\bwith-subroutine:15\):[\ \t]*\n
+        ^15:\s*print\ "hello\ back\\n";
+        /msx,
+        "Prompt should display the line of code inside a subroutine.");
+}
+
+# Checking that the p command works.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'p "<<<" . (4*6) . ">>>"',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/with-subroutine',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/<<<24>>>/,
+        "p command works.");
+}
+
+# Tests for x.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q/x {500 => 600}/,
+                'q',
+            ],
+            prog => '../lib/perl5db/t/with-subroutine',
+        }
+    );
+
+    $wrapper->contents_like(
+        # qr/^0\s+HASH\([^\)]+\)\n\s+500 => 600\n/,
+        qr/^0\s+HASH\([^\)]+\)\n\s+500 => 600\n/ms,
+        "x command test."
+    );
+}
+
+# Tests for x with @_
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 10',
+                'c',
+                'x @_',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-passing-at-underscore-to-x-etc',
+        }
+    );
+
+    $wrapper->contents_like(
+        # qr/^0\s+HASH\([^\)]+\)\n\s+500 => 600\n/,
+        qr/Arg1.*?Capsula.*GreekHumor.*Socrates/ms,
+        q/x command test with '@_'./,
+    );
+}
+
+# Tests for mutating @_
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 10',
+                'c',
+                'shift(@_)',
+                'print "\n\n\n(((" . join(",", @_) . ")))\n\n\n"',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-passing-at-underscore-to-x-etc',
+        }
+    );
+
+    $wrapper->output_like(
+        qr/^\(\(\(Capsula,GreekHumor,Socrates\)\)\)$/ms,
+        q/Mutating '@_'./,
+    );
+}
+
+# Tests for x with AutoTrace=1.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'n',
+                'o AutoTrace=1',
+                # So it may fail.
+                q/x "failure"/,
+                q/x \$x/,
+                'q',
+            ],
+            prog => '../lib/perl5db/t/with-subroutine',
+        }
+    );
+
+    $wrapper->contents_like(
+        # qr/^0\s+HASH\([^\)]+\)\n\s+500 => 600\n/,
+        qr/^0\s+SCALAR\([^\)]+\)\n\s+-> 'hello world'\n/ms,
+        "x after AutoTrace=1 command is working."
+    );
+}
+
+# Tests for "T" (stack trace).
+{
+    my $prog_fn = '../lib/perl5db/t/rt-104168';
+    my $wrapper = DebugWrap->new(
+        {
+            prog => $prog_fn,
+            cmds =>
+            [
+                'c baz',
+                'T',
+                'q',
+            ],
+        }
+    );
+    my $re_text = join('',
+        map {
+        sprintf(
+            "%s = %s\\(\\) called from file " .
+            "'" . quotemeta($prog_fn) . "' line %s\\n",
+            (map { quotemeta($_) } @$_)
+            )
+        }
+        (
+            ['.', 'main::baz', 14,],
+            ['.', 'main::bar', 9,],
+            ['.', 'main::foo', 6],
+        )
+    );
+    $wrapper->contents_like(
+        # qr/^0\s+HASH\([^\)]+\)\n\s+500 => 600\n/,
+        qr/^$re_text/ms,
+        "T command test."
+    );
+}
+
+# Test for s.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 9',
+                'c',
+                's',
+                q/print "X={$x};dummy={$dummy}\n";/,
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1'
+        }
+    );
+
+    $wrapper->output_like(qr/
+        X=\{SecondVal\};dummy=\{1\}
+        /msx,
+        'test for s - single step',
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'n',
+                'n',
+                'b . $exp > 200',
+                'c',
+                q/print "Exp={$exp}\n";/,
+                'q',
+            ],
+            prog => '../lib/perl5db/t/break-on-dot'
+        }
+    );
+
+    $wrapper->output_like(qr/
+        Exp=\{256\}
+        /msx,
+        "'b .' is working correctly.");
+}
+
+{
+    my $prog_fn = '../lib/perl5db/t/rt-104168';
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                's',
+                'q',
+            ],
+            prog => $prog_fn,
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/
+        ^main::foo\([^\)\n]*\brt-104168:9\):[\ \t]*\n
+        ^9:\s*bar\(\);
+        /msx,
+        'Test for the s command.',
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                's uncalled_subroutine()',
+                'c',
+                'q',
+            ],
+
+            prog => '../lib/perl5db/t/uncalled-subroutine'}
+    );
+
+    $wrapper->output_like(
+        qr/<1,2,3,4,5>\n/,
+        'uncalled_subroutine was called after s EXPR()',
+        );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'n uncalled_subroutine()',
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/uncalled-subroutine',
+        }
+    );
+
+    $wrapper->output_like(
+        qr/<1,2,3,4,5>\n/,
+        'uncalled_subroutine was called after n EXPR()',
+        );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b fact',
+                'c',
+                'c',
+                'c',
+                'n',
+                'print "<$n>"',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/fact',
+        }
+    );
+
+    $wrapper->output_like(
+        qr/<3>/,
+        'b subroutine works fine',
+    );
+}
+
+# Test for 'M' (module list).
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'M',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/load-modules'
+        }
+    );
+
+    $wrapper->contents_like(
+        qr[Scalar/Util\.pm],
+        'M (module list) works fine',
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 14',
+                'c',
+                '$flag = 1;',
+                'r',
+                'print "Var=$var\n";',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-r-statement',
+        }
+    );
+
+    $wrapper->output_like(
+        qr/
+            ^Foo$
+                .*?
+            ^Bar$
+                .*?
+            ^Var=Test$
+        /msx,
+        'r statement is working properly.',
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'l',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-l-statement-1',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/
+            ^1==>\s+\$x\ =\ 1;\n
+            2:\s+print\ "1\\n";\n
+            3\s*\n
+            4:\s+\$x\ =\ 2;\n
+            5:\s+print\ "2\\n";\n
+        /msx,
+        'l statement is working properly (test No. 1).',
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'l',
+                q/# After l 1/,
+                'l',
+                q/# After l 2/,
+                '-',
+                q/# After -/,
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-l-statement-1',
+        }
+    );
+
+    my $first_l_out = qr/
+        1==>\s+\$x\ =\ 1;\n
+        2:\s+print\ "1\\n";\n
+        3\s*\n
+        4:\s+\$x\ =\ 2;\n
+        5:\s+print\ "2\\n";\n
+        6\s*\n
+        7:\s+\$x\ =\ 3;\n
+        8:\s+print\ "3\\n";\n
+        9\s*\n
+        10:\s+\$x\ =\ 4;\n
+    /msx;
+
+    my $second_l_out = qr/
+        11:\s+print\ "4\\n";\n
+        12\s*\n
+        13:\s+\$x\ =\ 5;\n
+        14:\s+print\ "5\\n";\n
+        15\s*\n
+        16:\s+\$x\ =\ 6;\n
+        17:\s+print\ "6\\n";\n
+        18\s*\n
+        19:\s+\$x\ =\ 7;\n
+        20:\s+print\ "7\\n";\n
+    /msx;
+    $wrapper->contents_like(
+        qr/
+            ^$first_l_out
+            [^\n]*?DB<\d+>\ \#\ After\ l\ 1\n
+            [\ \t]*\n
+            [^\n]*?DB<\d+>\ l\s*\n
+            $second_l_out
+            [^\n]*?DB<\d+>\ \#\ After\ l\ 2\n
+            [\ \t]*\n
+            [^\n]*?DB<\d+>\ -\s*\n
+            $first_l_out
+            [^\n]*?DB<\d+>\ \#\ After\ -\n
+        /msx,
+        'l followed by l and then followed by -',
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'l fact',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-l-statement-2',
+        }
+    );
+
+    my $first_l_out = qr/
+        6\s+sub\ fact\ \{\n
+        7:\s+my\ \$n\ =\ shift;\n
+        8:\s+if\ \(\$n\ >\ 1\)\ \{\n
+        9:\s+return\ \$n\ \*\ fact\(\$n\ -\ 1\);
+    /msx;
+
+    $wrapper->contents_like(
+        qr/
+            DB<1>\s+l\ fact\n
+            $first_l_out
+        /msx,
+        'l subroutine_name',
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b fact',
+                'c',
+                # Repeat several times to avoid @typeahead problems.
+                '.',
+                '.',
+                '.',
+                '.',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-l-statement-2',
+        }
+    );
+
+    my $line_out = qr /
+        ^main::fact\([^\n]*?:7\):\n
+        ^7:\s+my\ \$n\ =\ shift;\n
+    /msx;
+
+    $wrapper->contents_like(
+        qr/
+            $line_out
+            $line_out
+        /msx,
+        'Test the "." command',
+    );
+}
+
+# Testing that the f command works.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'f ../lib/perl5db/t/MyModule.pm',
+                'b 12',
+                'c',
+                q/do { use IO::Handle; STDOUT->autoflush(1); print "Var=$var\n"; }/,
+                'c',
+                'q',
+            ],
+            include_t => 1,
+            prog => '../lib/perl5db/t/filename-line-breakpoint'
+        }
+    );
+
+    $wrapper->output_like(qr/
+        ^Var=Bar$
+            .*
+        ^In\ MyModule\.$
+            .*
+        ^In\ Main\ File\.$
+            .*
+        /msx,
+        "f command is working.",
+    );
+}
+
+# We broke the /pattern/ command because apparently the CORE::eval-s inside
+# lib/perl5db.pl cannot handle lexical variable properly. So we now fix this
+# bug.
+#
+# TODO :
+#
+# 1. Go over the rest of the "eval"s in lib/perl5db.t and see if they cause
+# problems.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                '/for/',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/12: \s* for\ my\ \$q\ \(1\ \.\.\ 10\)\ \{/msx,
+        "/pat/ command is working and found a match.",
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 22',
+                'c',
+                '?for?',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/12: \s* for\ my\ \$q\ \(1\ \.\.\ 10\)\ \{/msx,
+        "?pat? command is working and found a match.",
+    );
+}
+
+# Test the L command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 6',
+                'b 13 ($q == 5)',
+                'L',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr#
+        ^\S*?eval-line-bug:\n
+        \s*6:\s*my\ \$i\ =\ 5;\n
+        \s*break\ if\ \(1\)\n
+        \s*13:\s*\$i\ \+=\ \$q;\n
+        \s*break\ if\ \(\(\$q\ ==\ 5\)\)\n
+        #msx,
+        "L command is listing breakpoints",
+    );
+}
+
+# Test the L command for watch expressions.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'w (5+6)',
+                'L',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr#
+        ^Watch-expressions:\n
+        \s*\(5\+6\)\n
+        #msx,
+        "L command is listing watch expressions",
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'w (5+6)',
+                'w (11*23)',
+                'W (5+6)',
+                'L',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr#
+        ^Watch-expressions:\n
+        \s*\(11\*23\)\n
+        ^auto\(
+        #msx,
+        "L command is not listing deleted watch expressions",
+    );
+}
+
+# Test the L command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 6',
+                'a 13 print $i',
+                'L',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr#
+        ^\S*?eval-line-bug:\n
+        \s*6:\s*my\ \$i\ =\ 5;\n
+        \s*break\ if\ \(1\)\n
+        \s*13:\s*\$i\ \+=\ \$q;\n
+        \s*action:\s+print\ \$i\n
+        #msx,
+        "L command is listing actions and breakpoints",
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'S',
+                'q',
+            ],
+            prog =>  '../lib/perl5db/t/rt-104168',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr#
+        ^main::bar\n
+        main::baz\n
+        main::foo\n
+        #msx,
+        "S command - 1",
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'S ^main::ba',
+                'q',
+            ],
+            prog =>  '../lib/perl5db/t/rt-104168',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr#
+        ^main::bar\n
+        main::baz\n
+        auto\(
+        #msx,
+        "S command with regex",
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'S !^main::ba',
+                'q',
+            ],
+            prog =>  '../lib/perl5db/t/rt-104168',
+        }
+    );
+
+    $wrapper->contents_unlike(
+        qr#
+        ^main::ba
+        #msx,
+        "S command with negative regex",
+    );
+
+    $wrapper->contents_like(
+        qr#
+        ^main::foo\n
+        #msx,
+        "S command with negative regex - what it still matches",
+    );
+}
+
+# Test the 'a' command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'a 13 print "\nVar<Q>=$q\n"',
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->output_like(qr#
+        \nVar<Q>=1\n
+        \nVar<Q>=2\n
+        \nVar<Q>=3\n
+        #msx,
+        "a command is working",
+    );
+}
+
+# Test the 'a' command with no line number.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'n',
+                q/a print "Hello " . (3 * 4) . "\n";/,
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-a-statement-1',
+        }
+    );
+
+    $wrapper->output_like(qr#
+        (?:^Hello\ 12\n.*?){4}
+        #msx,
+        "a command with no line number is working",
+    );
+}
+
+# Test the 'A' command
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'a 13 print "\nVar<Q>=$q\n"',
+                'A 13',
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->output_like(
+        qr#\A\z#msx, # The empty string.
+        "A command (for removing actions) is working",
+    );
+}
+
+# Test the 'A *' command
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'a 6 print "\nFail!\n"',
+                'a 13 print "\nVar<Q>=$q\n"',
+                'A *',
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/eval-line-bug',
+        }
+    );
+
+    $wrapper->output_like(
+        qr#\A\z#msx, # The empty string.
+        "'A *' command (for removing all actions) is working",
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'n',
+                'w $foo',
+                'c',
+                'print "\nIDX=<$idx>\n"',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-w-statement-1',
+        }
+    );
+
+
+    $wrapper->contents_like(qr#
+        \$foo\ changed:\n
+        \s+old\ value:\s+'1'\n
+        \s+new\ value:\s+'2'\n
+        #msx,
+        'w command - watchpoint changed',
+    );
+    $wrapper->output_like(qr#
+        \nIDX=<20>\n
+        #msx,
+        "w command - correct output from IDX",
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'n',
+                'w $foo',
+                'W $foo',
+                'c',
+                'print "\nIDX=<$idx>\n"',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-w-statement-1',
+        }
+    );
+
+    $wrapper->contents_unlike(qr#
+        \$foo\ changed:
+        #msx,
+        'W command - watchpoint was deleted',
+    );
+
+    $wrapper->output_like(qr#
+        \nIDX=<>\n
+        #msx,
+        "W command - stopped at end.",
+    );
+}
+
+# Test the W * command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'n',
+                'w $foo',
+                'w ($foo*$foo)',
+                'W *',
+                'c',
+                'print "\nIDX=<$idx>\n"',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-w-statement-1',
+        }
+    );
+
+    $wrapper->contents_unlike(qr#
+        \$foo\ changed:
+        #msx,
+        '"W *" command - watchpoint was deleted',
+    );
+
+    $wrapper->output_like(qr#
+        \nIDX=<>\n
+        #msx,
+        '"W *" command - stopped at end.',
+    );
+}
+
+# Test the 'o' command (without further arguments).
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-w-statement-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^\s*warnLevel\ =\ '1'\n
+        #msx,
+        q#"o" command (without arguments) displays warnLevel#,
+    );
+
+    $wrapper->contents_like(qr#
+        ^\s*signalLevel\ =\ '1'\n
+        #msx,
+        q#"o" command (without arguments) displays signalLevel#,
+    );
+
+    $wrapper->contents_like(qr#
+        ^\s*dieLevel\ =\ '1'\n
+        #msx,
+        q#"o" command (without arguments) displays dieLevel#,
+    );
+
+    $wrapper->contents_like(qr#
+        ^\s*hashDepth\ =\ 'N/A'\n
+        #msx,
+        q#"o" command (without arguments) displays hashDepth#,
+    );
+}
+
+# Test the 'o' query command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o hashDepth? signalLevel?',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-w-statement-1',
+        }
+    );
+
+    $wrapper->contents_unlike(qr#warnLevel#,
+        q#"o" query command does not display warnLevel#,
+    );
+
+    $wrapper->contents_like(qr#
+        ^\s*signalLevel\ =\ '1'\n
+        #msx,
+        q#"o" query command displays signalLevel#,
+    );
+
+    $wrapper->contents_unlike(qr#dieLevel#,
+        q#"o" query command does not display dieLevel#,
+    );
+
+    $wrapper->contents_like(qr#
+        ^\s*hashDepth\ =\ 'N/A'\n
+        #msx,
+        q#"o" query command displays hashDepth#,
+    );
+}
+
+# Test the 'o' set command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o signalLevel=0',
+                'o',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-w-statement-1',
+        }
+    );
+
+    $wrapper->contents_like(qr/
+        ^\s*(signalLevel\ =\ '0'\n)
+        .*?
+        ^\s*\1
+        /msx,
+        q#o set command works#,
+    );
+
+    $wrapper->contents_like(qr#
+        ^\s*hashDepth\ =\ 'N/A'\n
+        #msx,
+        q#o set command - hashDepth#,
+    );
+}
+
+# Test the '<' and "< ?" commands.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q/< print "\nX=<$x>\n"/,
+                q/b 7/,
+                q/< ?/,
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr/
+        ^pre-perl\ commands:\n
+        \s*<\ --\ print\ "\\nX=<\$x>\\n"\n
+        /msx,
+        q#Test < and < ? commands - contents.#,
+    );
+
+    $wrapper->output_like(qr#
+        ^X=<FirstVal>\n
+        #msx,
+        q#Test < and < ? commands - output.#,
+    );
+}
+
+# Test the '< *' command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q/< print "\nX=<$x>\n"/,
+                q/b 7/,
+                q/< */,
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->output_unlike(qr/FirstVal/,
+        q#Test the '< *' command.#,
+    );
+}
+
+# Test the '>' and "> ?" commands.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q/$::foo = 500;/,
+                q/> print "\nFOO=<$::foo>\n"/,
+                q/b 7/,
+                q/> ?/,
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr/
+        ^post-perl\ commands:\n
+        \s*>\ --\ print\ "\\nFOO=<\$::foo>\\n"\n
+        /msx,
+        q#Test > and > ? commands - contents.#,
+    );
+
+    $wrapper->output_like(qr#
+        ^FOO=<500>\n
+        #msx,
+        q#Test > and > ? commands - output.#,
+    );
+}
+
+# Test the '> *' command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q/> print "\nFOO=<$::foo>\n"/,
+                q/b 7/,
+                q/> */,
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->output_unlike(qr/FOO=/,
+        q#Test the '> *' command.#,
+    );
+}
+
+# Test the < and > commands together
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q/$::lorem = 0;/,
+                q/< $::lorem += 10;/,
+                q/> print "\nLOREM=<$::lorem>\n"/,
+                q/b 7/,
+                q/b 5/,
+                'c',
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->output_like(qr#
+        ^LOREM=<10>\n
+        #msx,
+        q#Test < and > commands. #,
+    );
+}
+
+# Test the { ? and { [command] commands.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                '{ ?',
+                '{ l',
+                '{ ?',
+                q/b 5/,
+                q/c/,
+                q/q/,
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^No\ pre-debugger\ actions\.\n
+        .*?
+        ^pre-debugger\ commands:\n
+        \s+\{\ --\ l\n
+        .*?
+        ^5==>b\s+\$x\ =\ "FirstVal";\n
+        6\s*\n
+        7:\s+\$dummy\+\+;\n
+        8\s*\n
+        9:\s+\$x\ =\ "SecondVal";\n
+
+        #msx,
+        'Test the pre-prompt debugger commands',
+    );
+}
+
+# Test the { * command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                '{ q',
+                '{ *',
+                q/b 5/,
+                q/c/,
+                q/print (("One" x 5), "\n");/,
+                q/q/,
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^All\ \{\ actions\ cleared\.\n
+        #msx,
+        'Test the { * command',
+    );
+
+    $wrapper->output_like(qr/OneOneOneOneOne/,
+        '{ * test - output is OK.',
+    );
+}
+
+# Test the ! command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'l 3-5',
+                '!',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        (^3:\s+my\ \$dummy\ =\ 0;\n
+        4\s*\n
+        5:\s+\$x\ =\ "FirstVal";)\n
+        .*?
+        ^l\ 3-5\n
+        \1
+        #msx,
+        'Test the ! command (along with l 3-5)',
+    );
+}
+
+# Test the ! -number command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'l 3-5',
+                'l 2',
+                '! -1',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        (^3:\s+my\ \$dummy\ =\ 0;\n
+        4\s*\n
+        5:\s+\$x\ =\ "FirstVal";)\n
+        .*?
+        ^2==\>\s+my\ \$x\ =\ "One";\n
+        .*?
+        ^l\ 3-5\n
+        \1
+        #msx,
+        'Test the ! -n command (along with l)',
+    );
+}
+
+# Test the 'source' command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'source ../lib/perl5db/t/source-cmd-test.perldb',
+                # If we have a 'q' here, then the typeahead will override the
+                # input, and so it won't be reached - solution:
+                # put a q inside the .perldb commands.
+                # ( This may be a bug or a misfeature. )
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^3:\s+my\ \$dummy\ =\ 0;\n
+        4\s*\n
+        5:\s+\$x\ =\ "FirstVal";\n
+        6\s*\n
+        7:\s+\$dummy\+\+;\n
+        8\s*\n
+        9:\s+\$x\ =\ "SecondVal";\n
+        10\s*\n
+        #msx,
+        'Test the source command (along with l)',
+    );
+}
+
+# Test the 'source' command being traversed from withing typeahead.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'source ../lib/perl5db/t/source-cmd-test-no-q.perldb',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^3:\s+my\ \$dummy\ =\ 0;\n
+        4\s*\n
+        5:\s+\$x\ =\ "FirstVal";\n
+        6\s*\n
+        7:\s+\$dummy\+\+;\n
+        8\s*\n
+        9:\s+\$x\ =\ "SecondVal";\n
+        10\s*\n
+        #msx,
+        'Test the source command inside a typeahead',
+    );
+}
+
+# Test the 'H -number' command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'l 1-10',
+                'l 5-10',
+                'x "Hello World"',
+                'l 1-5',
+                'b 3',
+                'x (20+4)',
+                'H -7',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^\d+:\s+H\ -7\n
+        \d+:\s+x\ \(20\+4\)\n
+        \d+:\s+b\ 3\n
+        \d+:\s+l\ 1-5\n
+        \d+:\s+x\ "Hello\ World"\n
+        \d+:\s+l\ 5-10\n
+        \d+:\s+l\ 1-10\n
+        #msx,
+        'Test the H -num command',
+    );
+}
+
+# Add a test for H (without arguments)
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'l 1-10',
+                'l 5-10',
+                'x "Hello World"',
+                'l 1-5',
+                'b 3',
+                'x (20+4)',
+                'H',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^\d+:\s+x\ \(20\+4\)\n
+        \d+:\s+b\ 3\n
+        \d+:\s+l\ 1-5\n
+        \d+:\s+x\ "Hello\ World"\n
+        \d+:\s+l\ 5-10\n
+        \d+:\s+l\ 1-10\n
+        #msx,
+        'Test the H command (without a number.)',
+    );
+}
+
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                '= quit q',
+                '= foobar l',
+                'foobar',
+                'quit',
+            ],
+            prog => '../lib/perl5db/t/test-l-statement-1',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/
+            ^1==>\s+\$x\ =\ 1;\n
+            2:\s+print\ "1\\n";\n
+            3\s*\n
+            4:\s+\$x\ =\ 2;\n
+            5:\s+print\ "2\\n";\n
+        /msx,
+        'Test the = (command alias) command.',
+    );
+}
+
+# Test the m statement.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'm main',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^via\ UNIVERSAL:\ DOES$
+        #msx,
+        "Test m for main - 1",
+    );
+
+    $wrapper->contents_like(qr#
+        ^via\ UNIVERSAL:\ can$
+        #msx,
+        "Test m for main - 2",
+    );
+}
+
+# Test the m statement.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'b 41',
+                'c',
+                'm $obj',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-m-statement-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#^greet$#ms,
+        "Test m for obj - 1",
+    );
+
+    $wrapper->contents_like(qr#^via UNIVERSAL: can$#ms,
+        "Test m for obj - 1",
+    );
+}
+
+# Test the M command.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'M',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-m-statement-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^'strict\.pm'\ =>\ '\d+\.\d+\ from
+        #msx,
+        "Test M",
+    );
+
+}
+
+# Test the recallCommand option.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o recallCommand=%',
+                'l 3-5',
+                'l 2',
+                '% -1',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        (^3:\s+my\ \$dummy\ =\ 0;\n
+        4\s*\n
+        5:\s+\$x\ =\ "FirstVal";)\n
+        .*?
+        ^2==\>\s+my\ \$x\ =\ "One";\n
+        .*?
+        ^l\ 3-5\n
+        \1
+        #msx,
+        'Test the o recallCommand option',
+    );
+}
+
+# Test the dieLevel option
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q/o dieLevel='1'/,
+                q/c/,
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-dieLevel-option-1',
+        }
+    );
+
+    $wrapper->output_like(qr#
+        ^This\ program\ dies\.\ at\ \S+\ line\ 18\.\n
+        .*?
+        ^\s+main::baz\(\)\ called\ at\ \S+\ line\ 13\n
+        \s+main::bar\(\)\ called\ at\ \S+\ line\ 7\n
+        \s+main::foo\(\)\ called\ at\ \S+\ line\ 21\n
+        #msx,
+        'Test the o dieLevel option',
+    );
+}
+
+# Test the warnLevel option
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                q/o warnLevel='1'/,
+                q/c/,
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-warnLevel-option-1',
+        }
+    );
+
+    $wrapper->contents_like(qr#
+        ^This\ is\ not\ a\ warning\.\ at\ \S+\ line\ 18\.\n
+        .*?
+        ^\s+main::baz\(\)\ called\ at\ \S+\ line\ 13\n
+        \s+main::bar\(\)\ called\ at\ \S+\ line\ 25\n
+        \s+main::myfunc\(\)\ called\ at\ \S+\ line\ 28\n
+        #msx,
+        'Test the o warnLevel option',
+    );
+}
+
+# Test the t command
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                't',
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr/
+        ^main::\([^:]+:15\):\n
+        15:\s+\$dummy\+\+;\n
+        main::\([^:]+:17\):\n
+        17:\s+\$x\ =\ "FourthVal";\n
+        /msx,
+        'Test the t command (without a number.)',
+    );
+}
+
+# Test the o AutoTrace command
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o AutoTrace',
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/disable-breakpoints-1',
+        }
+    );
+
+    $wrapper->contents_like(qr/
+        ^main::\([^:]+:15\):\n
+        15:\s+\$dummy\+\+;\n
+        main::\([^:]+:17\):\n
+        17:\s+\$x\ =\ "FourthVal";\n
+        /msx,
+        'Test the o AutoTrace command',
+    );
+}
+
+# Test the t command with function calls
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                't',
+                'b 18',
+                'c',
+                'x ["foo"]',
+                'x ["bar"]',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-warnLevel-option-1',
+        }
+    );
+
+    $wrapper->contents_like(qr/
+        ^main::\([^:]+:28\):\n
+        28:\s+myfunc\(\);\n
+        main::myfunc\([^:]+:25\):\n
+        25:\s+bar\(\);\n
+        /msx,
+        'Test the t command with function calls.',
+    );
+}
+
+# Test the o AutoTrace command with function calls
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o AutoTrace',
+                'b 18',
+                'c',
+                'x ["foo"]',
+                'x ["bar"]',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-warnLevel-option-1',
+        }
+    );
+
+    $wrapper->contents_like(qr/
+        ^main::\([^:]+:28\):\n
+        28:\s+myfunc\(\);\n
+        main::myfunc\([^:]+:25\):\n
+        25:\s+bar\(\);\n
+        /msx,
+        'Test the t command with function calls.',
+    );
+}
+
+# Test the final message.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-warnLevel-option-1',
+        }
+    );
+
+    $wrapper->contents_like(qr/
+        ^Debugged\ program\ terminated\.
+        /msx,
+        'Test the final "Debugged program terminated" message.',
+    );
+}
+
+# Test the o inhibit_exit=0 command
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o inhibit_exit=0',
+                'n',
+                'n',
+                'n',
+                'n',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-warnLevel-option-1',
+        }
+    );
+
+    $wrapper->contents_unlike(qr/
+        ^Debugged\ program\ terminated\.
+        /msx,
+        'Test the o inhibit_exit=0 command.',
+    );
+}
+
+# Test the o PrintRet=1 option
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o PrintRet=1',
+                'b 29',
+                'c',
+                q/$x = 's';/,
+                'b 10',
+                'c',
+                'r',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-PrintRet-option-1',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/scalar context return from main::return_scalar: 20024/,
+        "Test o PrintRet=1",
+    );
+}
+
+# Test the o PrintRet=0 option
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o PrintRet=0',
+                'b 29',
+                'c',
+                q/$x = 's';/,
+                'b 10',
+                'c',
+                'r',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-PrintRet-option-1',
+        }
+    );
+
+    $wrapper->contents_unlike(
+        qr/scalar context/,
+        "Test o PrintRet=0",
+    );
+}
+
+# Test the o PrintRet=1 option in list context
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o PrintRet=1',
+                'b 29',
+                'c',
+                q/$x = 'l';/,
+                'b 17',
+                'c',
+                'r',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-PrintRet-option-1',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/list context return from main::return_list:\n0\s*'Foo'\n1\s*'Bar'\n2\s*'Baz'\n/,
+        "Test o PrintRet=1 in list context",
+    );
+}
+
+# Test the o PrintRet=0 option in list context
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o PrintRet=0',
+                'b 29',
+                'c',
+                q/$x = 'l';/,
+                'b 17',
+                'c',
+                'r',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-PrintRet-option-1',
+        }
+    );
+
+    $wrapper->contents_unlike(
+        qr/list context/,
+        "Test o PrintRet=0 in list context",
+    );
+}
+
+# Test the o PrintRet=1 option in void context
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o PrintRet=1',
+                'b 29',
+                'c',
+                q/$x = 'v';/,
+                'b 24',
+                'c',
+                'r',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-PrintRet-option-1',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/void context return from main::return_void/,
+        "Test o PrintRet=1 in void context",
+    );
+}
+
+# Test the o PrintRet=1 option in void context
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'o PrintRet=0',
+                'b 29',
+                'c',
+                q/$x = 'v';/,
+                'b 24',
+                'c',
+                'r',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-PrintRet-option-1',
+        }
+    );
+
+    $wrapper->contents_unlike(
+        qr/void context/,
+        "Test o PrintRet=0 in void context",
+    );
+}
+
+# Test the o frame option.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                # This is to avoid getting the "Debugger program terminated"
+                # junk that interferes with the normal output.
+                'o inhibit_exit=0',
+                'b 10',
+                'c',
+                'o frame=255',
+                'c',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/test-frame-option-1',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/
+            in\s*\.=main::my_other_func\(3,\ 1200\)\ from.*?
+            out\s*\.=main::my_other_func\(3,\ 1200\)\ from
+        /msx,
+        "Test o PrintRet=0 in void context",
+    );
+}
+
+{ # test t expr
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                # This is to avoid getting the "Debugger program terminated"
+                # junk that interferes with the normal output.
+                'o inhibit_exit=0',
+                't fact(3)',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/fact',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/
+	    (?:^main::fact.*return\ \$n\ \*\ fact\(\$n\ -\ 1\);.*)
+        /msx,
+        "Test t expr",
+    );
+}
+
+# Test the w for lexical variables expression.
+{
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                # This is to avoid getting the "Debugger program terminated"
+                # junk that interferes with the normal output.
+                'w $exp',
+                'n',
+                'n',
+                'n',
+                'n',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/break-on-dot',
+        }
+    );
+
+    $wrapper->contents_like(
+        qr/
+\s+old\ value:\s+'1'\n
+\s+new\ value:\s+'2'\n
+        /msx,
+        "Test w for lexical values.",
+    );
+}
+
+# Test the perldoc command
+# We don't actually run the program, but we need to provide one to the wrapper.
+SKIP:
+{
+    $^O eq "linux"
+        or skip "man errors aren't especially portable", 1;
+    -x '/usr/bin/man'
+        or skip "man command seems to be missing", 1;
+    local $ENV{LANG} = "C";
+    local $ENV{LC_MESSAGES} = "C";
+    local $ENV{LC_ALL} = "C";
+    my $wrapper = DebugWrap->new(
+        {
+            cmds =>
+            [
+                'perldoc perlrules',
+                'q',
+            ],
+            prog => '../lib/perl5db/t/fact',
+        }
+    );
+
+    $wrapper->output_like(
+        qr/No manual entry for perlrules/,
+        'perldoc command works fine',
+    );
+}
+
 END {
-    1 while unlink qw(.perldb db.out);
+    1 while unlink ($rc_filename, $out_fn);
 }


Property changes on: vendor/perl/dist/lib/perl5db.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/pwd.pl
===================================================================
--- vendor/perl/dist/lib/pwd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/pwd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/pwd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/shellwords.pl
===================================================================
--- vendor/perl/dist/lib/shellwords.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/shellwords.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/shellwords.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/sigtrap.pm
===================================================================
--- vendor/perl/dist/lib/sigtrap.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/sigtrap.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 use Carp;
 
-$VERSION = 1.05;
+$VERSION = 1.07;
 $Verbose ||= 0;
 
 sub import {
@@ -95,8 +95,7 @@
     # Now go for broke.
     for ($i = 1; ($p,$f,$l,$s,$h,$w,$e,$r) = caller($i); $i++) {
         @a = ();
-	for my $fr (@args) {
-            my $_ = $fr;
+	for (@{[@args]}) {
 	    s/([\'\\])/\\$1/g;
 	    s/([^\0]*)/'$1'/
 	      unless /^(?: -?[\d.]+ | \*[\w:]* )$/x;
@@ -115,7 +114,7 @@
 	} elsif ($s eq '(eval)') {
 	    $s = "eval {...}";
 	}
-	$f = "file `$f'" unless $f eq '-e';
+	$f = "file '$f'" unless $f eq '-e';
 	$mess = "$w$s$a called from $f line $l\n";
 	syswrite(STDERR, $mess, length($mess));
     }


Property changes on: vendor/perl/dist/lib/sigtrap.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/sigtrap.t
===================================================================
--- vendor/perl/dist/lib/sigtrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/sigtrap.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/sigtrap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/sort.pm
===================================================================
--- vendor/perl/dist/lib/sort.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/sort.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package sort;
 
-our $VERSION = '2.01';
+our $VERSION = '2.02';
 
 # The hints for pp_sort are now stored in $^H{sort}; older versions
 # of perl used the global variable $sort::hints. -- rjh 2005-12-19
@@ -180,7 +180,7 @@
   { use sort qw(defaults _quicksort); # force quicksort
     no sort "stable";      # stability not wanted
     my $current;
-    BEGIN { $current = print sort::current; }
+    BEGIN { $current = sort::current; }
     print "$current\n";
     @a = sort @b;
     # Pragmas go out of scope at the end of the block
@@ -187,7 +187,7 @@
   }
   { use sort qw(defaults stable);     # force stability
     my $current;
-    BEGIN { $current = print sort::current; }
+    BEGIN { $current = sort::current; }
     print "$current\n";
     @c = sort @d;
   }


Property changes on: vendor/perl/dist/lib/sort.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/sort.t
===================================================================
--- vendor/perl/dist/lib/sort.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/sort.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/sort.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/stat.pl
===================================================================
--- vendor/perl/dist/lib/stat.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/stat.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/stat.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/strict.pm
===================================================================
--- vendor/perl/dist/lib/strict.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/strict.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package strict;
 
-$strict::VERSION = "1.04";
+$strict::VERSION = "1.07";
 
 # Verify that we're called correctly so that strictures will work.
 unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
@@ -14,12 +14,20 @@
 subs => 0x00000200,
 vars => 0x00000400
 );
+my %explicit_bitmask = (
+refs => 0x00000020,
+subs => 0x00000040,
+vars => 0x00000080
+);
 
 sub bits {
     my $bits = 0;
     my @wrong;
     foreach my $s (@_) {
-	push @wrong, $s unless exists $bitmask{$s};
+	if (exists $bitmask{$s}) {
+	    $^H |= $explicit_bitmask{$s};
+	}
+	else { push @wrong, $s };
         $bits |= $bitmask{$s} || 0;
     }
     if (@wrong) {
@@ -29,16 +37,16 @@
     $bits;
 }
 
-my $default_bits = bits(qw(refs subs vars));
+my @default_bits = qw(refs subs vars);
 
 sub import {
     shift;
-    $^H |= @_ ? bits(@_) : $default_bits;
+    $^H |= bits(@_ ? @_ : @default_bits);
 }
 
 sub unimport {
     shift;
-    $^H &= ~ (@_ ? bits(@_) : $default_bits);
+    $^H &= ~ bits(@_ ? @_ : @default_bits);
 }
 
 1;
@@ -91,17 +99,17 @@
 
 =item C<strict vars>
 
-This generates a compile-time error if you access a variable that wasn't
-declared via C<our> or C<use vars>,
-localized via C<my()>, or wasn't fully qualified.  Because this is to avoid
-variable suicide problems and subtle dynamic scoping issues, a merely
-local() variable isn't good enough.  See L<perlfunc/my> and
-L<perlfunc/local>.
+This generates a compile-time error if you access a variable that was
+neither explicitly declared (using any of C<my>, C<our>, C<state>, or C<use
+vars>) nor fully qualified.  (Because this is to avoid variable suicide
+problems and subtle dynamic scoping issues, a merely C<local> variable isn't
+good enough.)  See L<perlfunc/my>, L<perlfunc/our>, L<perlfunc/state>,
+L<perlfunc/local>, and L<vars>.
 
     use strict 'vars';
     $X::foo = 1;	 # ok, fully qualified
     my $foo = 10;	 # ok, my() var
-    local $foo = 9;	 # blows up
+    local $baz = 9;	 # blows up, $baz not declared before
 
     package Cinna;
     our $bar;			# Declares $bar in current package


Property changes on: vendor/perl/dist/lib/strict.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/strict.t
===================================================================
--- vendor/perl/dist/lib/strict.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/strict.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/strict.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/subs.pm
===================================================================
--- vendor/perl/dist/lib/subs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/subs.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package subs;
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 NAME
 
@@ -19,7 +19,7 @@
 
 Unlike pragmas that affect the C<$^H> hints variable, the C<use vars> and
 C<use subs> declarations are not BLOCK-scoped.  They are thus effective
-for the entire file in which they appear.  You may not rescind such
+for the entire package in which they appear.  You may not rescind such
 declarations with C<no vars> or C<no subs>.
 
 See L<perlmodlib/Pragmatic Modules> and L<strict/strict subs>.


Property changes on: vendor/perl/dist/lib/subs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/subs.t
===================================================================
--- vendor/perl/dist/lib/subs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/subs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/subs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/syslog.pl
===================================================================
--- vendor/perl/dist/lib/syslog.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/syslog.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/syslog.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/tainted.pl
===================================================================
--- vendor/perl/dist/lib/tainted.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/tainted.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/tainted.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/termcap.pl
===================================================================
--- vendor/perl/dist/lib/termcap.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/termcap.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/termcap.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/timelocal.pl
===================================================================
--- vendor/perl/dist/lib/timelocal.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/timelocal.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/timelocal.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/ArabicShaping.txt
===================================================================
--- vendor/perl/dist/lib/unicore/ArabicShaping.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/ArabicShaping.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,27 +1,30 @@
-# ArabicShaping-6.0.0.txt
-# Date: 2010-04-30, 13:47:00 PDT [KW]
+# ArabicShaping-6.2.0.txt
+# Date: 2012-05-15, 21:05:00 GMT [KW]
 #
 # This file is a normative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
-# This file defines the shaping classes for Arabic, Syriac, and N'Ko
+# This file defines the Joining_Type and Joining_Group
+# property values for Arabic, Syriac, N'Ko, and Mandaic
 # positional shaping, repeating in machine readable form the
-# information exemplified in Tables 8-3, 8-7, 8-8, 8-11, 8-12,
-# 8-13, and 13-5 of The Unicode Standard, Version 6.0.
+# information exemplified in Tables 8-3, 8-8, 8-9, 8-10, 8-13, 8-14,
+# 8-15, 13-5, 14-5, and 14-6 of The Unicode Standard, Version 6.2.
 #
-# See sections 8.2, 8.3, and 13.5 of The Unicode Standard, Version 6.0
-# for more information.
+# See sections 8.2, 8.3, 13.5, and 14.12 of The Unicode Standard, 
+# Version 6.2 for more information.
 #
 # Each line contains four fields, separated by a semicolon.
 #
 # Field 0: the code point, in 4-digit hexadecimal
-#   form, of an Arabic, Syriac, or N'Ko character.
+#   form, of an Arabic, Syriac, N'Ko, or Mandaic character.
 #
-# Field 1: gives a short schematic name for that character,
-#   abbreviated from the normative Unicode character name.
+# Field 1: gives a short schematic name for that character.
+#   The schematic name is descriptive of the shape, based as
+#   consistently as possible on a name for the skeleton and
+#   then the diacritic marks applied to the skeleton, if any.
 #   Note that this schematic name is considered a comment,
 #   and does not constitute a formal property value.
 #
@@ -65,7 +68,7 @@
 # to jg=No_Joining_Group in this data file. Other, more specific
 # joining group values will be defined only if an explicit proposal
 # to define those values exactly has been approved by the UTC. This
-# is the convention exemplified by the N'Ko script. Only the Arabic
+# is the convention exemplified by the N'Ko and Mandaic scripts. Only the Arabic
 # and Syriac scripts currently have explicit joining group values defined.
 #
 # Note: Code points that are not explicitly listed in this file are
@@ -84,44 +87,45 @@
  
 # Unicode; Schematic Name; Joining Type; Joining Group
 
-# Arabic characters
+# Arabic Characters
 
 0600; ARABIC NUMBER SIGN; U; No_Joining_Group
 0601; ARABIC SIGN SANAH; U; No_Joining_Group
 0602; ARABIC FOOTNOTE MARKER; U; No_Joining_Group
 0603; ARABIC SIGN SAFHA; U; No_Joining_Group
+0604; ARABIC SIGN SAMVAT; U; No_Joining_Group
 0608; ARABIC RAY; U; No_Joining_Group
 060B; AFGHANI SIGN; U; No_Joining_Group
-0620; YEH WITH RING; D; YEH
+0620; DOTLESS YEH WITH SEPARATE RING BELOW; D; YEH
 0621; HAMZA; U; No_Joining_Group
-0622; MADDA ON ALEF; R; ALEF
-0623; HAMZA ON ALEF; R; ALEF
-0624; HAMZA ON WAW; R; WAW
-0625; HAMZA UNDER ALEF; R; ALEF
-0626; HAMZA ON YEH; D; YEH
+0622; ALEF WITH MADDA ABOVE; R; ALEF
+0623; ALEF WITH HAMZA ABOVE; R; ALEF
+0624; WAW WITH HAMZA ABOVE; R; WAW
+0625; ALEF WITH HAMZA BELOW; R; ALEF
+0626; DOTLESS YEH WITH HAMZA ABOVE; D; YEH
 0627; ALEF; R; ALEF
 0628; BEH; D; BEH
 0629; TEH MARBUTA; R; TEH MARBUTA
-062A; TEH; D; BEH
-062B; THEH; D; BEH
-062C; JEEM; D; HAH
+062A; DOTLESS BEH WITH 2 DOTS ABOVE; D; BEH
+062B; DOTLESS BEH WITH 3 DOTS ABOVE; D; BEH
+062C; HAH WITH DOT BELOW; D; HAH
 062D; HAH; D; HAH
-062E; KHAH; D; HAH
+062E; HAH WITH DOT ABOVE; D; HAH
 062F; DAL; R; DAL
-0630; THAL; R; DAL
+0630; DAL WITH DOT ABOVE; R; DAL
 0631; REH; R; REH
-0632; ZAIN; R; REH
+0632; REH WITH DOT ABOVE; R; REH
 0633; SEEN; D; SEEN
-0634; SHEEN; D; SEEN
+0634; SEEN WITH 3 DOTS ABOVE; D; SEEN
 0635; SAD; D; SAD
-0636; DAD; D; SAD
+0636; SAD WITH DOT ABOVE; D; SAD
 0637; TAH; D; TAH
-0638; ZAH; D; TAH
+0638; TAH WITH DOT ABOVE; D; TAH
 0639; AIN; D; AIN
-063A; GHAIN; D; AIN
+063A; AIN WITH DOT ABOVE; D; AIN
 063B; KEHEH WITH 2 DOTS ABOVE; D; GAF
-063C; KEHEH WITH 3 DOTS BELOW; D; GAF 
-063D; FARSI YEH WITH INVERTED V; D; FARSI YEH
+063C; KEHEH WITH 3 DOTS BELOW; D; GAF
+063D; FARSI YEH WITH INVERTED V ABOVE; D; FARSI YEH
 063E; FARSI YEH WITH 2 DOTS ABOVE; D; FARSI YEH
 063F; FARSI YEH WITH 3 DOTS ABOVE; D; FARSI YEH
 0640; TATWEEL; C; No_Joining_Group
@@ -133,48 +137,48 @@
 0646; NOON; D; NOON
 0647; HEH; D; HEH
 0648; WAW; R; WAW
-0649; ALEF MAKSURA; D; YEH
+0649; DOTLESS YEH; D; YEH
 064A; YEH; D; YEH
 066E; DOTLESS BEH; D; BEH
 066F; DOTLESS QAF; D; QAF
-0671; HAMZAT WASL ON ALEF; R; ALEF
-0672; WAVY HAMZA ON ALEF; R; ALEF
-0673; WAVY HAMZA UNDER ALEF; R; ALEF
+0671; ALEF WITH WASLA ABOVE; R; ALEF
+0672; ALEF WITH WAVY HAMZA ABOVE; R; ALEF
+0673; ALEF WITH WAVY HAMZA BELOW; R; ALEF
 0674; HIGH HAMZA; U; No_Joining_Group
 0675; HIGH HAMZA ALEF; R; ALEF
 0676; HIGH HAMZA WAW; R; WAW
-0677; HIGH HAMZA WAW WITH DAMMA; R; WAW
-0678; HIGH HAMZA YEH; D; YEH
-0679; TEH WITH SMALL TAH; D; BEH
-067A; TEH WITH 2 DOTS VERTICAL ABOVE; D; BEH
-067B; BEH WITH 2 DOTS VERTICAL BELOW; D; BEH
-067C; TEH WITH RING; D; BEH
-067D; TEH WITH 3 DOTS ABOVE DOWNWARD; D; BEH
-067E; TEH WITH 3 DOTS BELOW; D; BEH
-067F; TEH WITH 4 DOTS ABOVE; D; BEH
-0680; BEH WITH 4 DOTS BELOW; D; BEH
-0681; HAMZA ON HAH; D; HAH
-0682; HAH WITH 2 DOTS VERTICAL ABOVE; D; HAH
-0683; HAH WITH MIDDLE 2 DOTS; D; HAH
-0684; HAH WITH MIDDLE 2 DOTS VERTICAL; D; HAH
+0677; HIGH HAMZA WAW WITH DAMMA ABOVE; R; WAW
+0678; HIGH HAMZA DOTLESS YEH; D; YEH
+0679; DOTLESS BEH WITH TAH ABOVE; D; BEH
+067A; DOTLESS BEH WITH VERTICAL 2 DOTS ABOVE; D; BEH
+067B; DOTLESS BEH WITH VERTICAL 2 DOTS BELOW; D; BEH
+067C; DOTLESS BEH WITH ATTACHED RING BELOW AND 2 DOTS ABOVE; D; BEH
+067D; DOTLESS BEH WITH INVERTED 3 DOTS ABOVE; D; BEH
+067E; DOTLESS BEH WITH 3 DOTS BELOW; D; BEH
+067F; DOTLESS BEH WITH 4 DOTS ABOVE; D; BEH
+0680; DOTLESS BEH WITH 4 DOTS BELOW; D; BEH
+0681; HAH WITH HAMZA ABOVE; D; HAH
+0682; HAH WITH VERTICAL 2 DOTS ABOVE; D; HAH
+0683; HAH WITH 2 DOTS BELOW; D; HAH
+0684; HAH WITH VERTICAL 2 DOTS BELOW; D; HAH
 0685; HAH WITH 3 DOTS ABOVE; D; HAH
-0686; HAH WITH MIDDLE 3 DOTS DOWNWARD; D; HAH
-0687; HAH WITH MIDDLE 4 DOTS; D; HAH
-0688; DAL WITH SMALL TAH; R; DAL
-0689; DAL WITH RING; R; DAL
+0686; HAH WITH 3 DOTS BELOW; D; HAH
+0687; HAH WITH 4 DOTS BELOW; D; HAH
+0688; DAL WITH TAH ABOVE; R; DAL
+0689; DAL WITH ATTACHED RING BELOW; R; DAL
 068A; DAL WITH DOT BELOW; R; DAL
-068B; DAL WITH DOT BELOW AND SMALL TAH; R; DAL
+068B; DAL WITH DOT BELOW AND TAH ABOVE; R; DAL
 068C; DAL WITH 2 DOTS ABOVE; R; DAL
 068D; DAL WITH 2 DOTS BELOW; R; DAL
 068E; DAL WITH 3 DOTS ABOVE; R; DAL
-068F; DAL WITH 3 DOTS ABOVE DOWNWARD; R; DAL
+068F; DAL WITH INVERTED 3 DOTS ABOVE; R; DAL
 0690; DAL WITH 4 DOTS ABOVE; R; DAL
-0691; REH WITH SMALL TAH; R; REH
-0692; REH WITH SMALL V; R; REH
-0693; REH WITH RING; R; REH
+0691; REH WITH TAH ABOVE; R; REH
+0692; REH WITH V ABOVE; R; REH
+0693; REH WITH ATTACHED RING BELOW; R; REH
 0694; REH WITH DOT BELOW; R; REH
-0695; REH WITH SMALL V BELOW; R; REH
-0696; REH WITH DOT BELOW AND DOT ABOVE; R; REH
+0695; REH WITH V BELOW; R; REH
+0696; REH WITH DOT BELOW AND DOT WITHIN; R; REH
 0697; REH WITH 2 DOTS ABOVE; R; REH
 0698; REH WITH 3 DOTS ABOVE; R; REH
 0699; REH WITH 4 DOTS ABOVE; R; REH
@@ -186,66 +190,66 @@
 069F; TAH WITH 3 DOTS ABOVE; D; TAH
 06A0; AIN WITH 3 DOTS ABOVE; D; AIN
 06A1; DOTLESS FEH; D; FEH
-06A2; FEH WITH DOT MOVED BELOW; D; FEH
+06A2; DOTLESS FEH WITH DOT BELOW; D; FEH
 06A3; FEH WITH DOT BELOW; D; FEH
-06A4; FEH WITH 3 DOTS ABOVE; D; FEH
-06A5; FEH WITH 3 DOTS BELOW; D; FEH
-06A6; FEH WITH 4 DOTS ABOVE; D; FEH
-06A7; QAF WITH DOT ABOVE; D; QAF
-06A8; QAF WITH 3 DOTS ABOVE; D; QAF
+06A4; DOTLESS FEH WITH 3 DOTS ABOVE; D; FEH
+06A5; DOTLESS FEH WITH 3 DOTS BELOW; D; FEH
+06A6; DOTLESS FEH WITH 4 DOTS ABOVE; D; FEH
+06A7; DOTLESS QAF WITH DOT ABOVE; D; QAF
+06A8; DOTLESS QAF WITH 3 DOTS ABOVE; D; QAF
 06A9; KEHEH; D; GAF
 06AA; SWASH KAF; D; SWASH KAF
-06AB; KAF WITH RING; D; GAF
+06AB; KEHEH WITH ATTACHED RING BELOW; D; GAF
 06AC; KAF WITH DOT ABOVE; D; KAF
 06AD; KAF WITH 3 DOTS ABOVE; D; KAF
 06AE; KAF WITH 3 DOTS BELOW; D; KAF
 06AF; GAF; D; GAF
-06B0; GAF WITH RING; D; GAF
+06B0; GAF WITH ATTACHED RING BELOW; D; GAF
 06B1; GAF WITH 2 DOTS ABOVE; D; GAF
 06B2; GAF WITH 2 DOTS BELOW; D; GAF
-06B3; GAF WITH 2 DOTS VERTICAL BELOW; D; GAF
+06B3; GAF WITH VERTICAL 2 DOTS BELOW; D; GAF
 06B4; GAF WITH 3 DOTS ABOVE; D; GAF
-06B5; LAM WITH SMALL V; D; LAM
+06B5; LAM WITH V ABOVE; D; LAM
 06B6; LAM WITH DOT ABOVE; D; LAM
 06B7; LAM WITH 3 DOTS ABOVE; D; LAM
 06B8; LAM WITH 3 DOTS BELOW; D; LAM
 06B9; NOON WITH DOT BELOW; D; NOON
 06BA; DOTLESS NOON; D; NOON
-06BB; DOTLESS NOON WITH SMALL TAH; D; NOON
-06BC; NOON WITH RING; D; NOON
+06BB; DOTLESS NOON WITH TAH ABOVE; D; NOON
+06BC; NOON WITH ATTACHED RING BELOW; D; NOON
 06BD; NYA; D; NYA
 06BE; KNOTTED HEH; D; KNOTTED HEH
-06BF; HAH WITH MIDDLE 3 DOTS DOWNWARD AND DOT ABOVE; D; HAH
-06C0; HAMZA ON HEH; R; TEH MARBUTA
+06BF; HAH WITH 3 DOTS BELOW AND DOT ABOVE; D; HAH
+06C0; DOTLESS TEH MARBUTA WITH HAMZA ABOVE; R; TEH MARBUTA
 06C1; HEH GOAL; D; HEH GOAL
-06C2; HAMZA ON HEH GOAL; D; HEH GOAL
+06C2; HEH GOAL WITH HAMZA ABOVE; D; HEH GOAL
 06C3; TEH MARBUTA GOAL; R; TEH MARBUTA GOAL
-06C4; WAW WITH RING; R; WAW
+06C4; WAW WITH ATTACHED RING WITHIN; R; WAW
 06C5; WAW WITH BAR; R; WAW
-06C6; WAW WITH SMALL V; R; WAW
-06C7; WAW WITH DAMMA; R; WAW
+06C6; WAW WITH V ABOVE; R; WAW
+06C7; WAW WITH DAMMA ABOVE; R; WAW
 06C8; WAW WITH ALEF ABOVE; R; WAW
-06C9; WAW WITH INVERTED SMALL V; R; WAW
+06C9; WAW WITH INVERTED V ABOVE; R; WAW
 06CA; WAW WITH 2 DOTS ABOVE; R; WAW
 06CB; WAW WITH 3 DOTS ABOVE; R; WAW
 06CC; FARSI YEH; D; FARSI YEH
 06CD; YEH WITH TAIL; R; YEH WITH TAIL
-06CE; FARSI YEH WITH SMALL V; D; FARSI YEH
+06CE; FARSI YEH WITH V ABOVE; D; FARSI YEH
 06CF; WAW WITH DOT ABOVE; R; WAW
-06D0; YEH WITH 2 DOTS VERTICAL BELOW; D; YEH
-06D1; YEH WITH 3 DOTS BELOW; D; YEH
+06D0; DOTLESS YEH WITH VERTICAL 2 DOTS BELOW; D; YEH
+06D1; DOTLESS YEH WITH 3 DOTS BELOW; D; YEH
 06D2; YEH BARREE; R; YEH BARREE
-06D3; HAMZA ON YEH BARREE; R; YEH BARREE
-06D5; AE; R; TEH MARBUTA
+06D3; YEH BARREE WITH HAMZA ABOVE; R; YEH BARREE
+06D5; DOTLESS TEH MARBUTA; R; TEH MARBUTA
 06DD; ARABIC END OF AYAH; U; No_Joining_Group
-06EE; DAL WITH INVERTED V; R; DAL
-06EF; REH WITH INVERTED V; R; REH
+06EE; DAL WITH INVERTED V ABOVE; R; DAL
+06EF; REH WITH INVERTED V ABOVE; R; REH
 06FA; SEEN WITH DOT BELOW AND 3 DOTS ABOVE; D; SEEN
-06FB; DAD WITH DOT BELOW; D; SAD
-06FC; GHAIN WITH DOT BELOW; D; AIN
-06FF; HEH WITH INVERTED V; D; KNOTTED HEH
+06FB; SAD WITH DOT BELOW AND DOT ABOVE; D; SAD
+06FC; AIN WITH DOT BELOW AND DOT ABOVE; D; AIN
+06FF; KNOTTED HEH WITH INVERTED V ABOVE; D; KNOTTED HEH
 
-# Syriac characters
+# Syriac Characters
 
 0710; ALAPH; R; ALAPH
 0712; BETH; D; BETH
@@ -282,55 +286,55 @@
 074E; SOGDIAN KHAPH; D; KHAPH
 074F; SOGDIAN FE; D; FE
 
-# Arabic supplement characters
+# Arabic Supplement Characters
 
-0750; BEH WITH 3 DOTS HORIZONTALLY BELOW; D; BEH
-0751; BEH WITH DOT BELOW AND 3 DOTS ABOVE; D; BEH
-0752; BEH WITH 3 DOTS POINTING UPWARDS BELOW; D; BEH
-0753; BEH WITH 3 DOTS POINTING UPWARDS BELOW AND 2 DOTS ABOVE; D; BEH
-0754; BEH WITH 2 DOTS BELOW AND DOT ABOVE; D; BEH
-0755; BEH WITH INVERTED SMALL V BELOW; D; BEH
-0756; BEH WITH SMALL V; D; BEH
+0750; DOTLESS BEH WITH HORIZONTAL 3 DOTS BELOW; D; BEH
+0751; BEH WITH 3 DOTS ABOVE; D; BEH
+0752; DOTLESS BEH WITH INVERTED 3 DOTS BELOW; D; BEH
+0753; DOTLESS BEH WITH INVERTED 3 DOTS BELOW AND 2 DOTS ABOVE; D; BEH
+0754; DOTLESS BEH WITH 2 DOTS BELOW AND DOT ABOVE; D; BEH
+0755; DOTLESS BEH WITH INVERTED V BELOW; D; BEH
+0756; DOTLESS BEH WITH V ABOVE; D; BEH
 0757; HAH WITH 2 DOTS ABOVE; D; HAH
-0758; HAH WITH 3 DOTS POINTING UPWARDS BELOW; D; HAH
-0759; DAL WITH 2 DOTS VERTICALLY BELOW AND SMALL TAH; R; DAL
-075A; DAL WITH INVERTED SMALL V BELOW; R; DAL
-075B; REH WITH STROKE; R; REH
+0758; HAH WITH INVERTED 3 DOTS BELOW; D; HAH
+0759; DAL WITH VERTICAL 2 DOTS BELOW AND TAH ABOVE; R; DAL
+075A; DAL WITH INVERTED V BELOW; R; DAL
+075B; REH WITH BAR; R; REH
 075C; SEEN WITH 4 DOTS ABOVE; D; SEEN
 075D; AIN WITH 2 DOTS ABOVE; D; AIN
-075E; AIN WITH 3 DOTS POINTING DOWNWARDS ABOVE; D; AIN
-075F; AIN WITH 2 DOTS VERTICALLY ABOVE; D; AIN
-0760; FEH WITH 2 DOTS BELOW; D; FEH
-0761; FEH WITH 3 DOTS POINTING UPWARDS BELOW; D; FEH
+075E; AIN WITH INVERTED 3 DOTS ABOVE; D; AIN
+075F; AIN WITH VERTICAL 2 DOTS ABOVE; D; AIN
+0760; DOTLESS FEH WITH 2 DOTS BELOW; D; FEH
+0761; DOTLESS FEH WITH INVERTED 3 DOTS BELOW; D; FEH
 0762; KEHEH WITH DOT ABOVE; D; GAF
 0763; KEHEH WITH 3 DOTS ABOVE; D; GAF
-0764; KEHEH WITH 3 DOTS POINTING UPWARDS BELOW; D; GAF
+0764; KEHEH WITH INVERTED 3 DOTS BELOW; D; GAF
 0765; MEEM WITH DOT ABOVE; D; MEEM
 0766; MEEM WITH DOT BELOW; D; MEEM
 0767; NOON WITH 2 DOTS BELOW; D; NOON
-0768; NOON WITH SMALL TAH; D; NOON
-0769; NOON WITH SMALL V; D; NOON
+0768; NOON WITH TAH ABOVE; D; NOON
+0769; NOON WITH V ABOVE; D; NOON
 076A; LAM WITH BAR; D; LAM
-076B; REH WITH 2 DOTS VERTICALLY ABOVE; R; REH
+076B; REH WITH VERTICAL 2 DOTS ABOVE; R; REH
 076C; REH WITH HAMZA ABOVE; R; REH
-076D; SEEN WITH 2 DOTS VERTICALLY ABOVE; D; SEEN
-076E; HAH WITH SMALL TAH BELOW; D; HAH
-076F; HAH WITH SMALL TAH AND 2 DOTS; D; HAH
-0770; SEEN WITH SMALL TAH AND 2 DOTS; D; SEEN
-0771; REH WITH SMALL TAH AND 2 DOTS; R; REH
-0772; HAH WITH SMALL TAH ABOVE; D; HAH
+076D; SEEN WITH VERTICAL 2 DOTS ABOVE; D; SEEN
+076E; HAH WITH TAH BELOW; D; HAH
+076F; HAH WITH TAH AND 2 DOTS BELOW; D; HAH
+0770; SEEN WITH 2 DOTS AND TAH ABOVE; D; SEEN
+0771; REH WITH 2 DOTS AND TAH ABOVE; R; REH
+0772; HAH WITH TAH ABOVE; D; HAH
 0773; ALEF WITH DIGIT TWO ABOVE; R; ALEF
 0774; ALEF WITH DIGIT THREE ABOVE; R; ALEF
 0775; FARSI YEH WITH DIGIT TWO ABOVE; D; FARSI YEH
 0776; FARSI YEH WITH DIGIT THREE ABOVE; D; FARSI YEH
-0777; YEH WITH DIGIT FOUR BELOW; D; YEH
+0777; DOTLESS YEH WITH DIGIT FOUR BELOW; D; YEH
 0778; WAW WITH DIGIT TWO ABOVE; R; WAW
 0779; WAW WITH DIGIT THREE ABOVE; R; WAW
-077A; YEH BARREE WITH DIGIT TWO ABOVE; D; BURUSHASKI YEH BARREE
-077B; YEH BARREE WITH DIGIT THREE ABOVE; D; BURUSHASKI YEH BARREE
+077A; BURUSHASKI YEH BARREE WITH DIGIT TWO ABOVE; D; BURUSHASKI YEH BARREE
+077B; BURUSHASKI YEH BARREE WITH DIGIT THREE ABOVE; D; BURUSHASKI YEH BARREE
 077C; HAH WITH DIGIT FOUR BELOW; D; HAH
 077D; SEEN WITH DIGIT FOUR ABOVE; D; SEEN
-077E; SEEN WITH INVERTED V; D; SEEN
+077E; SEEN WITH INVERTED V ABOVE; D; SEEN
 077F; KAF WITH 2 DOTS ABOVE; D; KAF
 
 # N'Ko Characters
@@ -370,6 +374,49 @@
 07EA; NKO JONA RA; D; No_Joining_Group
 07FA; NKO LAJANYALAN; C; No_Joining_Group
 
+# Mandaic Characters
+
+0840; MANDAIC HALQA; R; No_Joining_Group
+0841; MANDAIC AB; D; No_Joining_Group
+0842; MANDAIC AG; D; No_Joining_Group
+0843; MANDAIC AD; D; No_Joining_Group
+0844; MANDAIC AH; D; No_Joining_Group
+0845; MANDAIC USHENNA; D; No_Joining_Group
+0846; MANDAIC AZ; R; No_Joining_Group
+0847; MANDAIC IT; D; No_Joining_Group
+0848; MANDAIC ATT; D; No_Joining_Group
+0849; MANDAIC AKSA; R; No_Joining_Group
+084A; MANDAIC AK; D; No_Joining_Group
+084B; MANDAIC AL; D; No_Joining_Group
+084C; MANDAIC AM; D; No_Joining_Group
+084D; MANDAIC AN; D; No_Joining_Group
+084E; MANDAIC AS; D; No_Joining_Group
+084F; MANDAIC IN; R; No_Joining_Group
+0850; MANDAIC AP; D; No_Joining_Group
+0851; MANDAIC ASZ; D; No_Joining_Group
+0852; MANDAIC AQ; D; No_Joining_Group
+0853; MANDAIC AR; D; No_Joining_Group
+0854; MANDAIC ASH; R; No_Joining_Group
+0855; MANDAIC AT; D; No_Joining_Group
+0856; MANDAIC DUSHENNA; U; No_Joining_Group
+0857; MANDAIC KAD; U; No_Joining_Group
+0858; MANDAIC AIN; U; No_Joining_Group
+
+# Arabic Extended-A Characters
+
+08A0; DOTLESS BEH WITH V BELOW; D; BEH
+08A2; HAH WITH DOT BELOW AND 2 DOTS ABOVE; D; HAH
+08A3; TAH WITH 2 DOTS ABOVE; D; TAH
+08A4; DOTLESS FEH WITH DOT BELOW AND 3 DOTS ABOVE; D; FEH
+08A5; QAF WITH DOT BELOW; D; QAF
+08A6; LAM WITH DOUBLE BAR; D; LAM
+08A7; MEEM WITH 3 DOTS ABOVE; D; MEEM
+08A8; YEH WITH HAMZA ABOVE; D; YEH
+08A9; YEH WITH DOT ABOVE; D; YEH
+08AA; REH WITH LOOP; R; REH
+08AB; WAW WITH DOT WITHIN; R; WAW
+08AC; ROHINGYA YEH; R; ROHINGYA YEH
+
 # Other
 
 200C; ZERO WIDTH NON-JOINER; U; No_Joining_Group


Property changes on: vendor/perl/dist/lib/unicore/ArabicShaping.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/BidiMirroring.txt
===================================================================
--- vendor/perl/dist/lib/unicore/BidiMirroring.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/BidiMirroring.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
-# BidiMirroring-6.0.0.txt
-# Date: 2010-06-21, 12:09:00 PDT [KW]
+# BidiMirroring-6.2.0.txt
+# Date: 2012-05-15, 24:19:00 GMT [KW, LI]
 #
 # Bidi_Mirroring_Glyph Property
 # 
@@ -6,14 +6,14 @@
 # This file is an informative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 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=True property
+# 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 6.0.0.
+# The repertoire covered by the file is Unicode 6.2.0.
 # 
 # The file contains a list of lines with mappings from one code point
 # to another one for character-based mirroring.
@@ -26,12 +26,12 @@
 # variable-length hexadecimal value with 4 to 6 digits.
 # A comment indicates where the characters are "BEST FIT" mirroring.
 # 
-# Code points for which Bidi_Mirrored=True, but for which no appropriate 
+# Code points for which Bidi_Mirrored=Yes, but for which no appropriate 
 # characters exist with mirrored glyphs, are
 # listed as comments at the end of the file.
 #
 # Formally, the default value of the Bidi_Mirroring_Glyph property
-# for each code point is the code point itself, unless a mapping to
+# for each code point is <none>, unless a mapping to
 # some other character is specified in this data file. When a code
 # point has the default value for the Bidi_Mirroring_Glyph property,
 # that means that no other character exists whose glyph is suitable
@@ -41,9 +41,14 @@
 # at http://www.unicode.org/unicode/reports/tr9/
 # 
 # This file was originally created by Markus Scherer.
-# Extended for Unicode 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, and 6.0 by Ken Whistler.
+# 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 and 6.2 by Ken Whistler and Laurentiu Iancu.
 # 
 # ############################################################
+#
+# Property:	Bidi_Mirroring_Glyph
+#
+# @missing: 0000..10FFFF; <none>
 
 0028; 0029 # LEFT PARENTHESIS
 0029; 0028 # RIGHT PARENTHESIS
@@ -209,6 +214,8 @@
 27C6; 27C5 # RIGHT S-SHAPED BAG DELIMITER
 27C8; 27C9 # REVERSE SOLIDUS PRECEDING SUBSET
 27C9; 27C8 # SUPERSET PRECEDING SOLIDUS
+27CB; 27CD # MATHEMATICAL RISING DIAGONAL
+27CD; 27CB # MATHEMATICAL FALLING DIAGONAL
 27D5; 27D6 # LEFT OUTER JOIN
 27D6; 27D5 # RIGHT OUTER JOIN
 27DD; 27DE # LONG RIGHT TACK


Property changes on: vendor/perl/dist/lib/unicore/BidiMirroring.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/Blocks.txt
===================================================================
--- vendor/perl/dist/lib/unicore/Blocks.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/Blocks.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# Blocks-6.0.0.txt
-# Date: 2010-06-04, 11:12:00 PDT [KW]
+# Blocks-6.2.0.txt
+# Date: 2012-05-14, 22:42:00 GMT [KW, LI]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -46,6 +46,7 @@
 07C0..07FF; NKo
 0800..083F; Samaritan
 0840..085F; Mandaic
+08A0..08FF; Arabic Extended-A
 0900..097F; Devanagari
 0980..09FF; Bengali
 0A00..0A7F; Gurmukhi
@@ -86,6 +87,7 @@
 1BC0..1BFF; Batak
 1C00..1C4F; Lepcha
 1C50..1C7F; Ol Chiki
+1CC0..1CCF; Sundanese Supplement
 1CD0..1CFF; Vedic Extensions
 1D00..1D7F; Phonetic Extensions
 1D80..1DBF; Phonetic Extensions Supplement
@@ -161,6 +163,7 @@
 AA00..AA5F; Cham
 AA60..AA7F; Myanmar Extended-A
 AA80..AADF; Tai Viet
+AAE0..AAFF; Meetei Mayek Extensions
 AB00..AB2F; Ethiopic Extended-A
 ABC0..ABFF; Meetei Mayek
 AC00..D7AF; Hangul Syllables
@@ -199,6 +202,8 @@
 10840..1085F; Imperial Aramaic
 10900..1091F; Phoenician
 10920..1093F; Lydian
+10980..1099F; Meroitic Hieroglyphs
+109A0..109FF; Meroitic Cursive
 10A00..10A5F; Kharoshthi
 10A60..10A7F; Old South Arabian
 10B00..10B3F; Avestan
@@ -208,10 +213,15 @@
 10E60..10E7F; Rumi Numeral Symbols
 11000..1107F; Brahmi
 11080..110CF; Kaithi
+110D0..110FF; Sora Sompeng
+11100..1114F; Chakma
+11180..111DF; Sharada
+11680..116CF; Takri
 12000..123FF; Cuneiform
 12400..1247F; Cuneiform Numbers and Punctuation
 13000..1342F; Egyptian Hieroglyphs
 16800..16A3F; Bamum Supplement
+16F00..16F9F; Miao
 1B000..1B0FF; Kana Supplement
 1D000..1D0FF; Byzantine Musical Symbols
 1D100..1D1FF; Musical Symbols
@@ -219,6 +229,7 @@
 1D300..1D35F; Tai Xuan Jing Symbols
 1D360..1D37F; Counting Rod Numerals
 1D400..1D7FF; Mathematical Alphanumeric Symbols
+1EE00..1EEFF; Arabic Mathematical Alphabetic Symbols
 1F000..1F02F; Mahjong Tiles
 1F030..1F09F; Domino Tiles
 1F0A0..1F0FF; Playing Cards
@@ -237,4 +248,4 @@
 F0000..FFFFF; Supplementary Private Use Area-A
 100000..10FFFF; Supplementary Private Use Area-B
 
-# EOF
\ No newline at end of file
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/Blocks.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/CJKRadicals.txt
===================================================================
--- vendor/perl/dist/lib/unicore/CJKRadicals.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/CJKRadicals.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# CJKRadicals-6.0.0.txt
-# Date: 2010-01-22, 10:53:25 PDT [RC]
+# CJKRadicals-6.2.0.txt
+# Date: 2012-05-15, 21:08:00 GMT [RC, KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr38/
 #
@@ -24,6 +24,7 @@
 #
 # 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.
 #
 # ####################################################
 


Property changes on: vendor/perl/dist/lib/unicore/CJKRadicals.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/CaseFolding.txt
===================================================================
--- vendor/perl/dist/lib/unicore/CaseFolding.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/CaseFolding.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# CaseFolding-6.0.0.txt
-# Date: 2010-05-18, 00:48:57 GMT [MD]
+# CaseFolding-6.2.0.txt
+# Date: 2012-08-14, 17:54:49 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -52,7 +52,15 @@
 #    behavior. (The default option is to exclude them.)
 #
 # =================================================================
-# @missing 0000..10FFFF; <codepoint>
+
+# Property: Case_Folding
+
+#  All code points not explicitly listed for Case_Folding
+#  have the value C for the status field, and the code point itself for the mapping field.
+
+# @missing: 0000..10FFFF; C; <code point>
+
+# =================================================================
 0041; C; 0061; # LATIN CAPITAL LETTER A
 0042; C; 0062; # LATIN CAPITAL LETTER B
 0043; C; 0063; # LATIN CAPITAL LETTER C
@@ -574,6 +582,8 @@
 10C3; C; 2D23; # GEORGIAN CAPITAL LETTER WE
 10C4; C; 2D24; # GEORGIAN CAPITAL LETTER HAR
 10C5; C; 2D25; # GEORGIAN CAPITAL LETTER HOE
+10C7; C; 2D27; # GEORGIAN CAPITAL LETTER YN
+10CD; C; 2D2D; # GEORGIAN CAPITAL LETTER AEN
 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
@@ -1042,6 +1052,7 @@
 2CE2; C; 2CE3; # COPTIC CAPITAL LETTER OLD NUBIAN WAU
 2CEB; C; 2CEC; # COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
 2CED; C; 2CEE; # COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2; C; 2CF3; # COPTIC CAPITAL LETTER BOHAIRIC KHEI
 A640; C; A641; # CYRILLIC CAPITAL LETTER ZEMLYA
 A642; C; A643; # CYRILLIC CAPITAL LETTER DZELO
 A644; C; A645; # CYRILLIC CAPITAL LETTER REVERSED DZE
@@ -1126,11 +1137,13 @@
 A78B; C; A78C; # LATIN CAPITAL LETTER SALTILLO
 A78D; C; 0265; # LATIN CAPITAL LETTER TURNED H
 A790; C; A791; # LATIN CAPITAL LETTER N WITH DESCENDER
+A792; C; A793; # LATIN CAPITAL LETTER C WITH BAR
 A7A0; C; A7A1; # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A2; C; A7A3; # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 A7A4; C; A7A5; # LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 A7A6; C; A7A7; # LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8; C; A7A9; # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+A7AA; C; 0266; # LATIN CAPITAL LETTER H WITH HOOK
 FB00; F; 0066 0066; # LATIN SMALL LIGATURE FF
 FB01; F; 0066 0069; # LATIN SMALL LIGATURE FI
 FB02; F; 0066 006C; # LATIN SMALL LIGATURE FL
@@ -1209,3 +1222,5 @@
 10425; C; 1044D; # DESERET CAPITAL LETTER ENG
 10426; C; 1044E; # DESERET CAPITAL LETTER OI
 10427; C; 1044F; # DESERET CAPITAL LETTER EW
+#
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/CaseFolding.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/CompositionExclusions.txt
===================================================================
--- vendor/perl/dist/lib/unicore/CompositionExclusions.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/CompositionExclusions.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
-# CompositionExclusions-6.0.0.txt
-# Date: 2010-06-25, 14:34:00 PDT [KW]
+# CompositionExclusions-6.2.0.txt
+# Date: 2012-05-15, 22:21: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-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # For more information, see
@@ -169,17 +169,16 @@
 # FA20                 CJK COMPATIBILITY IDEOGRAPH-FA20
 # FA22                 CJK COMPATIBILITY IDEOGRAPH-FA22
 # FA25..FA26       [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-# FA2A..FA2D       [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-# FA30..FA6D      [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+# FA2A..FA6D      [68] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA6D
 # FA70..FAD9     [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 # 2F800..2FA1D   [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 1033
+# Total code points: 1035
 
 # ================================================
 # (4) Non-Starter Decompositions
 #
-# These characters can be derived from the UnicodeData file
+# These characters can be derived from the UnicodeData.txt file
 # by including each expanding canonical decomposition
 # (i.e., those which canonically decompose to a sequence
 # of characters instead of a single character), such that:
@@ -204,3 +203,4 @@
 
 # Total code points: 4
 
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/CompositionExclusions.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/DAge.txt
===================================================================
--- vendor/perl/dist/lib/unicore/DAge.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/DAge.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedAge-6.0.0.txt
-# Date: 2010-10-05, 00:47:58 GMT [MD, KW]
+# DerivedAge-6.2.0.txt
+# Date: 2012-09-20, 21:30:39 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -42,12 +42,14 @@
 # For more information, see [http://www.unicode.org/reports/tr18/].
 
 #  All code points not explicitly listed for Age
-#  have the value unassigned.
+#  have the value Unassigned (NA).
 
-# @missing: 0000..10FFFF; unassigned
+# @missing: 0000..10FFFF; Unassigned
 
 # ================================================
 
+# Age=V1_1
+
 # Assigned as of Unicode 1.1.0 (June, 1993)
 # [excluding removed Hangul Syllables]
 
@@ -357,6 +359,8 @@
 
 # ================================================
 
+# Age=V2_0
+
 # Newly assigned in Unicode 2.0.0 (July, 1996)
 
 0591..05A1    ; 2.0 #  [17] HEBREW ACCENT ETNAHTA..HEBREW ACCENT PAZER
@@ -397,6 +401,8 @@
 
 # ================================================
 
+# Age=V2_1
+
 # Newly assigned in Unicode 2.1.2 (May, 1998)
 
 20AC          ; 2.1 #       EURO SIGN
@@ -406,6 +412,8 @@
 
 # ================================================
 
+# Age=V3_0
+
 # Newly assigned in Unicode 3.0.0 (September, 1999)
 
 01F6..01F9    ; 3.0 #   [4] LATIN CAPITAL LETTER HWAIR..LATIN SMALL LETTER N WITH GRAVE
@@ -493,9 +501,7 @@
 1401..1676    ; 3.0 # [630] CANADIAN SYLLABICS E..CANADIAN SYLLABICS NNGAA
 1680..169C    ; 3.0 #  [29] OGHAM SPACE MARK..OGHAM REVERSED FEATHER MARK
 16A0..16F0    ; 3.0 #  [81] RUNIC LETTER FEHU FEOH FE F..RUNIC BELGTHOR SYMBOL
-1780..17B3    ; 3.0 #  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5    ; 3.0 #   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
-17B6..17DC    ; 3.0 #  [39] KHMER VOWEL SIGN AA..KHMER SIGN AVAKRAHASANYA
+1780..17DC    ; 3.0 #  [93] KHMER LETTER KA..KHMER SIGN AVAKRAHASANYA
 17E0..17E9    ; 3.0 #  [10] KHMER DIGIT ZERO..KHMER DIGIT NINE
 1800..180E    ; 3.0 #  [15] MONGOLIAN BIRGA..MONGOLIAN VOWEL SEPARATOR
 1810..1819    ; 3.0 #  [10] MONGOLIAN DIGIT ZERO..MONGOLIAN DIGIT NINE
@@ -537,6 +543,8 @@
 
 # ================================================
 
+# Age=V3_1
+
 # Newly assigned in Unicode 3.1.0 (March, 2001)
 
 03F4..03F5    ; 3.1 #   [2] GREEK CAPITAL THETA SYMBOL..GREEK LUNATE EPSILON SYMBOL
@@ -582,6 +590,8 @@
 
 # ================================================
 
+# Age=V3_2
+
 # Newly assigned in Unicode 3.2.0 (March, 2002)
 
 0220          ; 3.2 #       LATIN CAPITAL LETTER N WITH LONG RIGHT LEG
@@ -649,6 +659,8 @@
 
 # ================================================
 
+# Age=V4_0
+
 # Newly assigned in Unicode 4.0.0 (April, 2003)
 
 0221          ; 4.0 #       LATIN SMALL LETTER D WITH CURL
@@ -733,6 +745,8 @@
 
 # ================================================
 
+# Age=V4_1
+
 # Newly assigned in Unicode 4.1.0 (March, 2005)
 
 0237..0241    ; 4.1 #  [11] LATIN SMALL LETTER DOTLESS J..LATIN CAPITAL LETTER GLOTTAL STOP
@@ -826,6 +840,8 @@
 
 # ================================================
 
+# Age=V5_0
+
 # Newly assigned in Unicode 5.0.0 (July, 2006)
 
 0242..024F    ; 5.0 #  [14] LATIN SMALL LETTER GLOTTAL STOP..LATIN SMALL LETTER Y WITH STROKE
@@ -868,6 +884,8 @@
 
 # ================================================
 
+# Age=V5_1
+
 # Newly assigned in Unicode 5.1.0 (March, 2008)
 
 0370..0373    ; 5.1 #   [4] GREEK CAPITAL LETTER HETA..GREEK SMALL LETTER ARCHAIC SAMPI
@@ -964,6 +982,8 @@
 
 # ================================================
 
+# Age=V5_2
+
 # Newly assigned in Unicode 5.2.0 (October, 2009)
 
 0524..0525    ; 5.2 #   [2] CYRILLIC CAPITAL LETTER PE WITH DESCENDER..CYRILLIC SMALL LETTER PE WITH DESCENDER
@@ -1063,6 +1083,8 @@
 
 # ================================================
 
+# Age=V6_0
+
 # Newly assigned in Unicode 6.0.0 (October, 2010)
 
 0526..0527    ; 6.0 #   [2] CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER..CYRILLIC SMALL LETTER SHHA WITH DESCENDER
@@ -1174,4 +1196,112 @@
 
 # Total code points: 2088
 
+# ================================================
+
+# Age=V6_1
+
+# Newly assigned in Unicode 6.1.0 (January, 2012)
+
+058F          ; 6.1 #       ARMENIAN DRAM SIGN
+0604          ; 6.1 #       ARABIC SIGN SAMVAT
+08A0          ; 6.1 #       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; 6.1 #  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
+08E4..08FE    ; 6.1 #  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
+0AF0          ; 6.1 #       GUJARATI ABBREVIATION SIGN
+0EDE..0EDF    ; 6.1 #   [2] LAO LETTER KHMU GO..LAO LETTER KHMU NYO
+10C7          ; 6.1 #       GEORGIAN CAPITAL LETTER YN
+10CD          ; 6.1 #       GEORGIAN CAPITAL LETTER AEN
+10FD..10FF    ; 6.1 #   [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN
+1BAB..1BAD    ; 6.1 #   [3] SUNDANESE SIGN VIRAMA..SUNDANESE CONSONANT SIGN PASANGAN WA
+1BBA..1BBF    ; 6.1 #   [6] SUNDANESE AVAGRAHA..SUNDANESE LETTER FINAL M
+1CC0..1CC7    ; 6.1 #   [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
+1CF3..1CF6    ; 6.1 #   [4] VEDIC SIGN ROTATED ARDHAVISARGA..VEDIC SIGN UPADHMANIYA
+27CB          ; 6.1 #       MATHEMATICAL RISING DIAGONAL
+27CD          ; 6.1 #       MATHEMATICAL FALLING DIAGONAL
+2CF2..2CF3    ; 6.1 #   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
+2D27          ; 6.1 #       GEORGIAN SMALL LETTER YN
+2D2D          ; 6.1 #       GEORGIAN SMALL LETTER AEN
+2D66..2D67    ; 6.1 #   [2] TIFINAGH LETTER YE..TIFINAGH LETTER YO
+2E32..2E3B    ; 6.1 #  [10] TURNED COMMA..THREE-EM DASH
+9FCC          ; 6.1 #       CJK UNIFIED IDEOGRAPH-9FCC
+A674..A67B    ; 6.1 #   [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC LETTER OMEGA
+A69F          ; 6.1 #       COMBINING CYRILLIC LETTER IOTIFIED E
+A792..A793    ; 6.1 #   [2] LATIN CAPITAL LETTER C WITH BAR..LATIN SMALL LETTER C WITH BAR
+A7AA          ; 6.1 #       LATIN CAPITAL LETTER H WITH HOOK
+A7F8..A7F9    ; 6.1 #   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
+AAE0..AAF6    ; 6.1 #  [23] MEETEI MAYEK LETTER E..MEETEI MAYEK VIRAMA
+FA2E..FA2F    ; 6.1 #   [2] CJK COMPATIBILITY IDEOGRAPH-FA2E..CJK COMPATIBILITY IDEOGRAPH-FA2F
+10980..109B7  ; 6.1 #  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; 6.1 #   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+110D0..110E8  ; 6.1 #  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9  ; 6.1 #  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11100..11134  ; 6.1 #  [53] CHAKMA SIGN CANDRABINDU..CHAKMA MAAYYAA
+11136..11143  ; 6.1 #  [14] CHAKMA DIGIT ZERO..CHAKMA QUESTION MARK
+11180..111C8  ; 6.1 #  [73] SHARADA SIGN CANDRABINDU..SHARADA SEPARATOR
+111D0..111D9  ; 6.1 #  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+11680..116B7  ; 6.1 #  [56] TAKRI LETTER A..TAKRI SIGN NUKTA
+116C0..116C9  ; 6.1 #  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+16F00..16F44  ; 6.1 #  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50..16F7E  ; 6.1 #  [47] MIAO LETTER NASALIZATION..MIAO VOWEL SIGN NG
+16F8F..16F9F  ; 6.1 #  [17] MIAO TONE RIGHT..MIAO LETTER REFORMED TONE-8
+1EE00..1EE03  ; 6.1 #   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; 6.1 #  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; 6.1 #   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; 6.1 #       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; 6.1 #       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; 6.1 #  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; 6.1 #   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; 6.1 #       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; 6.1 #       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; 6.1 #       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; 6.1 #       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; 6.1 #       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; 6.1 #       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; 6.1 #   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; 6.1 #   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; 6.1 #       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; 6.1 #       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; 6.1 #       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; 6.1 #       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; 6.1 #       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; 6.1 #       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; 6.1 #   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; 6.1 #       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; 6.1 #   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; 6.1 #   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; 6.1 #   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; 6.1 #   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; 6.1 #       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; 6.1 #  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; 6.1 #  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; 6.1 #   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; 6.1 #   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; 6.1 #  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0..1EEF1  ; 6.1 #   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+1F16A..1F16B  ; 6.1 #   [2] RAISED MC SIGN..RAISED MD SIGN
+1F540..1F543  ; 6.1 #   [4] CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
+1F600         ; 6.1 #       GRINNING FACE
+1F611         ; 6.1 #       EXPRESSIONLESS FACE
+1F615         ; 6.1 #       CONFUSED FACE
+1F617         ; 6.1 #       KISSING FACE
+1F619         ; 6.1 #       KISSING FACE WITH SMILING EYES
+1F61B         ; 6.1 #       FACE WITH STUCK-OUT TONGUE
+1F61F         ; 6.1 #       WORRIED FACE
+1F626..1F627  ; 6.1 #   [2] FROWNING FACE WITH OPEN MOUTH..ANGUISHED FACE
+1F62C         ; 6.1 #       GRIMACING FACE
+1F62E..1F62F  ; 6.1 #   [2] FACE WITH OPEN MOUTH..HUSHED FACE
+1F634         ; 6.1 #       SLEEPING FACE
+
+# Total code points: 732
+
+# ================================================
+
+# Age=V6_2
+
+# Newly assigned in Unicode 6.2.0 (September, 2012)
+
+20BA          ; 6.2 #       TURKISH LIRA SIGN
+
+# Total code points: 1
+
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/DAge.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/DCoreProperties.txt
===================================================================
--- vendor/perl/dist/lib/unicore/DCoreProperties.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/DCoreProperties.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedCoreProperties-6.0.0.txt
-# Date: 2010-08-19, 00:48:05 GMT [MD]
+# DerivedCoreProperties-6.2.0.txt
+# Date: 2012-05-20, 00:42:31 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -113,9 +113,7 @@
 27C0..27C4    ; Math # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
 27C5          ; Math # Ps       LEFT S-SHAPED BAG DELIMITER
 27C6          ; Math # Pe       RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA    ; Math # Sm   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC          ; Math # Sm       LONG DIVISION
-27CE..27E5    ; Math # Sm  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; Math # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27E6          ; Math # Ps       MATHEMATICAL LEFT WHITE SQUARE BRACKET
 27E7          ; Math # Pe       MATHEMATICAL RIGHT WHITE SQUARE BRACKET
 27E8          ; Math # Ps       MATHEMATICAL LEFT ANGLE BRACKET
@@ -216,8 +214,42 @@
 1D7C3         ; Math # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; Math # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; Math # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00..1EE03  ; Math # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Math # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Math # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Math # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Math # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Math # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Math # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Math # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Math # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Math # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Math # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Math # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Math # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Math # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Math # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Math # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Math # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Math # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Math # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Math # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Math # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Math # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Math # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Math # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Math # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Math # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Math # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Math # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Math # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Math # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0..1EEF1  ; Math # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 
-# Total code points: 2165
+# Total code points: 2310
 
 # ================================================
 
@@ -226,9 +258,9 @@
 
 0041..005A    ; Alphabetic # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 0061..007A    ; Alphabetic # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; Alphabetic # L&       FEMININE ORDINAL INDICATOR
+00AA          ; Alphabetic # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; Alphabetic # L&       MICRO SIGN
-00BA          ; Alphabetic # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; Alphabetic # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; Alphabetic # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; Alphabetic # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; Alphabetic # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -303,6 +335,10 @@
 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          ; Alphabetic # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; Alphabetic # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
+08E4..08E9    ; Alphabetic # Mn   [6] ARABIC CURLY FATHA..ARABIC CURLY KASRATAN
+08F0..08FE    ; Alphabetic # Mn  [15] ARABIC OPEN FATHATAN..ARABIC DAMMA WITH DOT
 0900..0902    ; Alphabetic # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903          ; Alphabetic # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; Alphabetic # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -500,7 +536,7 @@
 0EC0..0EC4    ; Alphabetic # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
 0EC6          ; Alphabetic # Lm       LAO KO LA
 0ECD          ; Alphabetic # Mn       LAO NIGGAHITA
-0EDC..0EDD    ; Alphabetic # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; Alphabetic # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; Alphabetic # Lo       TIBETAN SYLLABLE OM
 0F40..0F47    ; Alphabetic # Lo   [8] TIBETAN LETTER KA..TIBETAN LETTER JA
 0F49..0F6C    ; Alphabetic # Lo  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
@@ -538,9 +574,11 @@
 109C          ; Alphabetic # Mc       MYANMAR VOWEL SIGN AITON A
 109D          ; Alphabetic # Mn       MYANMAR VOWEL SIGN AITON AI
 10A0..10C5    ; Alphabetic # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Alphabetic # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Alphabetic # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; Alphabetic # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FC          ; Alphabetic # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; Alphabetic # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; Alphabetic # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; Alphabetic # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; Alphabetic # Lo       ETHIOPIC SYLLABLE QHWA
@@ -636,8 +674,9 @@
 1BA2..1BA5    ; Alphabetic # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA6..1BA7    ; Alphabetic # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; Alphabetic # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAC..1BAD    ; Alphabetic # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE..1BAF    ; Alphabetic # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BC0..1BE5    ; Alphabetic # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; Alphabetic # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1BE7          ; Alphabetic # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; Alphabetic # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BEA..1BEC    ; Alphabetic # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
@@ -653,10 +692,11 @@
 1C78..1C7D    ; Alphabetic # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1CE9..1CEC    ; Alphabetic # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; Alphabetic # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2          ; Alphabetic # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; Alphabetic # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF5..1CF6    ; Alphabetic # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; Alphabetic # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; Alphabetic # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; Alphabetic # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; Alphabetic # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; Alphabetic # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; Alphabetic # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; Alphabetic # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; Alphabetic # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -703,12 +743,15 @@
 24B6..24E9    ; Alphabetic # So  [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
 2C00..2C2E    ; Alphabetic # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; Alphabetic # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; Alphabetic # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; Alphabetic # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; Alphabetic # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Alphabetic # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; Alphabetic # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CEB..2CEE    ; Alphabetic # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; Alphabetic # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; Alphabetic # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; Alphabetic # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; Alphabetic # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Alphabetic # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; Alphabetic # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; Alphabetic # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D80..2D96    ; Alphabetic # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
 2DA0..2DA6    ; Alphabetic # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
@@ -740,7 +783,7 @@
 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..9FCB    ; Alphabetic # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; Alphabetic # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -752,8 +795,10 @@
 A62A..A62B    ; Alphabetic # Lo   [2] VAI SYLLABLE NDOLE MA..VAI SYLLABLE NDOLE DO
 A640..A66D    ; Alphabetic # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
 A66E          ; Alphabetic # Lo       CYRILLIC LETTER MULTIOCULAR O
+A674..A67B    ; Alphabetic # Mn   [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC LETTER OMEGA
 A67F          ; Alphabetic # Lm       CYRILLIC PAYEROK
 A680..A697    ; Alphabetic # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
+A69F          ; Alphabetic # Mn       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
@@ -762,8 +807,9 @@
 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
-A790..A791    ; Alphabetic # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; Alphabetic # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; Alphabetic # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; Alphabetic # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; Alphabetic # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; Alphabetic # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -820,6 +866,13 @@
 AAC2          ; Alphabetic # Lo       TAI VIET TONE MAI SONG
 AADB..AADC    ; Alphabetic # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; Alphabetic # Lm       TAI VIET SYMBOL SAM
+AAE0..AAEA    ; Alphabetic # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; Alphabetic # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; Alphabetic # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF2          ; Alphabetic # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; Alphabetic # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; Alphabetic # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 AB01..AB06    ; Alphabetic # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; Alphabetic # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; Alphabetic # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -834,8 +887,7 @@
 AC00..D7A3    ; Alphabetic # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; Alphabetic # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; Alphabetic # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; Alphabetic # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; Alphabetic # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; Alphabetic # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; Alphabetic # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; Alphabetic # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Alphabetic # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -894,6 +946,8 @@
 1083F..10855  ; Alphabetic # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10900..10915  ; Alphabetic # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; Alphabetic # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; Alphabetic # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; Alphabetic # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; Alphabetic # Lo       KHAROSHTHI LETTER A
 10A01..10A03  ; Alphabetic # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
 10A05..10A06  ; Alphabetic # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
@@ -916,10 +970,33 @@
 110B0..110B2  ; Alphabetic # Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
 110B3..110B6  ; Alphabetic # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B7..110B8  ; Alphabetic # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
+110D0..110E8  ; Alphabetic # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+11100..11102  ; Alphabetic # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11103..11126  ; Alphabetic # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11127..1112B  ; Alphabetic # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; Alphabetic # Mc       CHAKMA VOWEL SIGN E
+1112D..11132  ; Alphabetic # Mn   [6] CHAKMA VOWEL SIGN AI..CHAKMA AU MARK
+11180..11181  ; Alphabetic # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; Alphabetic # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; Alphabetic # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5  ; Alphabetic # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+111B6..111BE  ; Alphabetic # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111BF         ; Alphabetic # Mc       SHARADA VOWEL SIGN AU
+111C1..111C4  ; Alphabetic # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+11680..116AA  ; Alphabetic # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AB         ; Alphabetic # Mn       TAKRI SIGN ANUSVARA
+116AC         ; Alphabetic # Mc       TAKRI SIGN VISARGA
+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
 12000..1236E  ; Alphabetic # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; Alphabetic # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 13000..1342E  ; Alphabetic # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; Alphabetic # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; Alphabetic # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; Alphabetic # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; Alphabetic # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F93..16F9F  ; Alphabetic # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; Alphabetic # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
 1D400..1D454  ; Alphabetic # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D49C  ; Alphabetic # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
@@ -951,12 +1028,45 @@
 1D78A..1D7A8  ; Alphabetic # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
 1D7AA..1D7C2  ; Alphabetic # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; Alphabetic # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1EE00..1EE03  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Alphabetic # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Alphabetic # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Alphabetic # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Alphabetic # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Alphabetic # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Alphabetic # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Alphabetic # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Alphabetic # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Alphabetic # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Alphabetic # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Alphabetic # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Alphabetic # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Alphabetic # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Alphabetic # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Alphabetic # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Alphabetic # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Alphabetic # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Alphabetic # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Alphabetic # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Alphabetic # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 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
 2F800..2FA1D  ; Alphabetic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 101539
+# Total code points: 102159
 
 # ================================================
 
@@ -964,9 +1074,9 @@
 #  Generated from: Ll + Other_Lowercase
 
 0061..007A    ; Lowercase # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; Lowercase # L&       FEMININE ORDINAL INDICATOR
+00AA          ; Lowercase # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; Lowercase # L&       MICRO SIGN
-00BA          ; Lowercase # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; Lowercase # Lo       MASCULINE ORDINAL INDICATOR
 00DF..00F6    ; Lowercase # L&  [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..00FF    ; Lowercase # L&   [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
 0101          ; Lowercase # L&       LATIN SMALL LETTER A WITH MACRON
@@ -1237,8 +1347,8 @@
 0527          ; Lowercase # L&       CYRILLIC SMALL LETTER SHHA WITH DESCENDER
 0561..0587    ; Lowercase # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 1D00..1D2B    ; Lowercase # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; Lowercase # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; Lowercase # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+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
 1D78          ; Lowercase # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; Lowercase # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; Lowercase # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -1386,7 +1496,9 @@
 1FE0..1FE7    ; Lowercase # L&   [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
 1FF2..1FF4    ; Lowercase # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
 1FF6..1FF7    ; Lowercase # L&   [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-2090..2094    ; Lowercase # Lm   [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
+2071          ; Lowercase # Lm       SUPERSCRIPT LATIN SMALL LETTER I
+207F          ; Lowercase # Lm       SUPERSCRIPT LATIN SMALL LETTER N
+2090..209C    ; Lowercase # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
 210A          ; Lowercase # L&       SCRIPT SMALL G
 210E..210F    ; Lowercase # L&   [2] PLANCK CONSTANT..PLANCK CONSTANT OVER TWO PI
 2113          ; Lowercase # L&       SCRIPT SMALL L
@@ -1407,8 +1519,8 @@
 2C6C          ; Lowercase # L&       LATIN SMALL LETTER Z WITH DESCENDER
 2C71          ; Lowercase # L&       LATIN SMALL LETTER V WITH RIGHT HOOK
 2C73..2C74    ; Lowercase # L&   [2] LATIN SMALL LETTER W WITH HOOK..LATIN SMALL LETTER V WITH CURL
-2C76..2C7C    ; Lowercase # L&   [7] LATIN SMALL LETTER HALF H..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; Lowercase # Lm       MODIFIER LETTER CAPITAL V
+2C76..2C7B    ; Lowercase # L&   [6] LATIN SMALL LETTER HALF H..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Lowercase # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C81          ; Lowercase # L&       COPTIC SMALL LETTER ALFA
 2C83          ; Lowercase # L&       COPTIC SMALL LETTER VIDA
 2C85          ; Lowercase # L&       COPTIC SMALL LETTER GAMMA
@@ -1461,7 +1573,10 @@
 2CE3..2CE4    ; Lowercase # L&   [2] COPTIC SMALL LETTER OLD NUBIAN WAU..COPTIC SYMBOL KAI
 2CEC          ; Lowercase # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
 2CEE          ; Lowercase # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF3          ; Lowercase # L&       COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; Lowercase # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Lowercase # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Lowercase # L&       GEORGIAN SMALL LETTER AEN
 A641          ; Lowercase # L&       CYRILLIC SMALL LETTER ZEMLYA
 A643          ; Lowercase # L&       CYRILLIC SMALL LETTER DZELO
 A645          ; Lowercase # L&       CYRILLIC SMALL LETTER REVERSED DZE
@@ -1547,11 +1662,13 @@
 A78C          ; Lowercase # L&       LATIN SMALL LETTER SALTILLO
 A78E          ; Lowercase # L&       LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A791          ; Lowercase # L&       LATIN SMALL LETTER N WITH DESCENDER
+A793          ; Lowercase # L&       LATIN SMALL LETTER C WITH BAR
 A7A1          ; Lowercase # L&       LATIN SMALL LETTER G WITH OBLIQUE STROKE
 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
+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
 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
@@ -1586,7 +1703,7 @@
 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: 1918
+# Total code points: 1934
 
 # ================================================
 
@@ -1861,6 +1978,8 @@
 0526          ; Uppercase # L&       CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
 0531..0556    ; Uppercase # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
 10A0..10C5    ; Uppercase # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Uppercase # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Uppercase # L&       GEORGIAN CAPITAL LETTER AEN
 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
@@ -2077,6 +2196,7 @@
 2CE2          ; Uppercase # L&       COPTIC CAPITAL LETTER OLD NUBIAN WAU
 2CEB          ; Uppercase # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
 2CED          ; Uppercase # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; Uppercase # L&       COPTIC CAPITAL LETTER BOHAIRIC KHEI
 A640          ; Uppercase # L&       CYRILLIC CAPITAL LETTER ZEMLYA
 A642          ; Uppercase # L&       CYRILLIC CAPITAL LETTER DZELO
 A644          ; Uppercase # L&       CYRILLIC CAPITAL LETTER REVERSED DZE
@@ -2160,11 +2280,13 @@
 A78B          ; Uppercase # L&       LATIN CAPITAL LETTER SALTILLO
 A78D          ; Uppercase # L&       LATIN CAPITAL LETTER TURNED H
 A790          ; Uppercase # L&       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; Uppercase # L&       LATIN CAPITAL LETTER C WITH BAR
 A7A0          ; Uppercase # L&       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A2          ; Uppercase # L&       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 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          ; Uppercase # L&       LATIN CAPITAL LETTER H WITH HOOK
 FF21..FF3A    ; Uppercase # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Uppercase # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
 1D400..1D419  ; Uppercase # L&  [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
@@ -2199,7 +2321,7 @@
 1D790..1D7A8  ; Uppercase # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
 1D7CA         ; Uppercase # L&       MATHEMATICAL BOLD CAPITAL DIGAMMA
 
-# Total code points: 1478
+# Total code points: 1483
 
 # ================================================
 
@@ -2209,9 +2331,9 @@
 
 0041..005A    ; Cased # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 0061..007A    ; Cased # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; Cased # L&       FEMININE ORDINAL INDICATOR
+00AA          ; Cased # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; Cased # L&       MICRO SIGN
-00BA          ; Cased # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; Cased # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; Cased # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; Cased # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; Cased # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -2236,9 +2358,11 @@
 0531..0556    ; Cased # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
 0561..0587    ; Cased # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 10A0..10C5    ; Cased # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Cased # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Cased # L&       GEORGIAN CAPITAL LETTER AEN
 1D00..1D2B    ; Cased # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; Cased # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; Cased # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+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
 1D78          ; Cased # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; Cased # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; Cased # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -2261,7 +2385,9 @@
 1FE0..1FEC    ; Cased # L&  [13] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK CAPITAL LETTER RHO WITH DASIA
 1FF2..1FF4    ; Cased # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
 1FF6..1FFC    ; Cased # L&   [7] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI
-2090..2094    ; Cased # Lm   [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
+2071          ; Cased # Lm       SUPERSCRIPT LATIN SMALL LETTER I
+207F          ; Cased # Lm       SUPERSCRIPT LATIN SMALL LETTER N
+2090..209C    ; Cased # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
 2102          ; Cased # L&       DOUBLE-STRUCK CAPITAL C
 2107          ; Cased # L&       EULER CONSTANT
 210A..2113    ; Cased # L&  [10] SCRIPT SMALL G..SCRIPT SMALL L
@@ -2281,11 +2407,14 @@
 24B6..24E9    ; Cased # So  [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
 2C00..2C2E    ; Cased # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; Cased # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; Cased # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; Cased # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; Cased # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Cased # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; Cased # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CEB..2CEE    ; Cased # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; Cased # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; Cased # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Cased # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Cased # L&       GEORGIAN SMALL LETTER AEN
 A640..A66D    ; Cased # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
 A680..A697    ; Cased # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
 A722..A76F    ; Cased # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
@@ -2292,8 +2421,9 @@
 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..A791    ; Cased # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; Cased # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; Cased # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; Cased # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 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
@@ -2331,7 +2461,7 @@
 1D7AA..1D7C2  ; Cased # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; Cased # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 
-# Total code points: 3427
+# Total code points: 3448
 
 # ================================================
 
@@ -2377,7 +2507,7 @@
 05C4..05C5    ; Case_Ignorable # Mn   [2] HEBREW MARK UPPER DOT..HEBREW MARK LOWER DOT
 05C7          ; Case_Ignorable # Mn       HEBREW POINT QAMATS QATAN
 05F4          ; Case_Ignorable # Po       HEBREW PUNCTUATION GERSHAYIM
-0600..0603    ; Case_Ignorable # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; Case_Ignorable # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 0610..061A    ; Case_Ignorable # Mn  [11] ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM..ARABIC SMALL KASRA
 0640          ; Case_Ignorable # Lm       ARABIC TATWEEL
 064B..065F    ; Case_Ignorable # Mn  [21] ARABIC FATHATAN..ARABIC WAVY HAMZA BELOW
@@ -2403,6 +2533,7 @@
 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..08FE    ; Case_Ignorable # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; Case_Ignorable # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 093A          ; Case_Ignorable # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; Case_Ignorable # Mn       DEVANAGARI SIGN NUKTA
@@ -2492,7 +2623,7 @@
 1732..1734    ; Case_Ignorable # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
 1752..1753    ; Case_Ignorable # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
 1772..1773    ; Case_Ignorable # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B4..17B5    ; Case_Ignorable # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; Case_Ignorable # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B7..17BD    ; Case_Ignorable # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17C6          ; Case_Ignorable # Mn       KHMER SIGN NIKAHIT
 17C9..17D3    ; Case_Ignorable # Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
@@ -2523,6 +2654,7 @@
 1B80..1B81    ; Case_Ignorable # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
 1BA2..1BA5    ; Case_Ignorable # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA8..1BA9    ; Case_Ignorable # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAB          ; Case_Ignorable # Mn       SUNDANESE SIGN VIRAMA
 1BE6          ; Case_Ignorable # Mn       BATAK SIGN TOMPI
 1BE8..1BE9    ; Case_Ignorable # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BED          ; Case_Ignorable # Mn       BATAK VOWEL SIGN KARO O
@@ -2534,7 +2666,8 @@
 1CD4..1CE0    ; Case_Ignorable # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
 1CE2..1CE8    ; Case_Ignorable # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Case_Ignorable # Mn       VEDIC SIGN TIRYAK
-1D2C..1D61    ; Case_Ignorable # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
+1CF4          ; Case_Ignorable # Mn       VEDIC TONE CANDRA ABOVE
+1D2C..1D6A    ; Case_Ignorable # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D78          ; Case_Ignorable # Lm       MODIFIER LETTER CYRILLIC EN
 1D9B..1DBF    ; Case_Ignorable # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
 1DC0..1DE6    ; Case_Ignorable # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
@@ -2561,7 +2694,7 @@
 20E1          ; Case_Ignorable # Mn       COMBINING LEFT RIGHT ARROW ABOVE
 20E2..20E4    ; Case_Ignorable # Me   [3] COMBINING ENCLOSING SCREEN..COMBINING ENCLOSING UPWARD POINTING TRIANGLE
 20E5..20F0    ; Case_Ignorable # Mn  [12] COMBINING REVERSE SOLIDUS OVERLAY..COMBINING ASTERISK ABOVE
-2C7D          ; Case_Ignorable # Lm       MODIFIER LETTER CAPITAL V
+2C7C..2C7D    ; Case_Ignorable # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2CEF..2CF1    ; Case_Ignorable # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D6F          ; Case_Ignorable # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D7F          ; Case_Ignorable # Mn       TIFINAGH CONSONANT JOINER
@@ -2568,7 +2701,7 @@
 2DE0..2DFF    ; Case_Ignorable # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
 2E2F          ; Case_Ignorable # Lm       VERTICAL TILDE
 3005          ; Case_Ignorable # Lm       IDEOGRAPHIC ITERATION MARK
-302A..302F    ; Case_Ignorable # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; Case_Ignorable # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
 3031..3035    ; Case_Ignorable # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
 303B          ; Case_Ignorable # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
 3099..309A    ; Case_Ignorable # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
@@ -2580,8 +2713,9 @@
 A60C          ; Case_Ignorable # Lm       VAI SYLLABLE LENGTHENER
 A66F          ; Case_Ignorable # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Case_Ignorable # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D    ; Case_Ignorable # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; Case_Ignorable # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
 A67F          ; Case_Ignorable # Lm       CYRILLIC PAYEROK
+A69F          ; Case_Ignorable # Mn       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
@@ -2589,6 +2723,7 @@
 A770          ; Case_Ignorable # Lm       MODIFIER LETTER US
 A788          ; Case_Ignorable # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A    ; Case_Ignorable # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
+A7F8..A7F9    ; Case_Ignorable # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A802          ; Case_Ignorable # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; Case_Ignorable # Mn       SYLOTI NAGRI SIGN HASANTA
 A80B          ; Case_Ignorable # Mn       SYLOTI NAGRI SIGN ANUSVARA
@@ -2614,6 +2749,9 @@
 AABE..AABF    ; Case_Ignorable # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; Case_Ignorable # Mn       TAI VIET TONE MAI THO
 AADD          ; Case_Ignorable # Lm       TAI VIET SYMBOL SAM
+AAEC..AAED    ; Case_Ignorable # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAF3..AAF4    ; Case_Ignorable # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF6          ; Case_Ignorable # Mn       MEETEI MAYEK VIRAMA
 ABE5          ; Case_Ignorable # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE8          ; Case_Ignorable # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; Case_Ignorable # Mn       MEETEI MAYEK APUN IYEK
@@ -2646,6 +2784,17 @@
 110B3..110B6  ; Case_Ignorable # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B9..110BA  ; Case_Ignorable # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
 110BD         ; Case_Ignorable # Cf       KAITHI NUMBER SIGN
+11100..11102  ; Case_Ignorable # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; Case_Ignorable # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112D..11134  ; Case_Ignorable # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+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
+116AB         ; Case_Ignorable # Mn       TAKRI SIGN ANUSVARA
+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
+16F8F..16F92  ; Case_Ignorable # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
+16F93..16F9F  ; Case_Ignorable # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1D167..1D169  ; Case_Ignorable # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D173..1D17A  ; Case_Ignorable # Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
 1D17B..1D182  ; Case_Ignorable # Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
@@ -2656,7 +2805,7 @@
 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: 1692
+# Total code points: 1799
 
 # ================================================
 
@@ -2932,6 +3081,8 @@
 0526          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
 0531..0556    ; Changes_When_Lowercased # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
 10A0..10C5    ; Changes_When_Lowercased # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Changes_When_Lowercased # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Changes_When_Lowercased # L&       GEORGIAN CAPITAL LETTER AEN
 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
@@ -3141,6 +3292,7 @@
 2CE2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER OLD NUBIAN WAU
 2CEB          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
 2CED          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; Changes_When_Lowercased # L&       COPTIC CAPITAL LETTER BOHAIRIC KHEI
 A640          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER ZEMLYA
 A642          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER DZELO
 A644          ; Changes_When_Lowercased # L&       CYRILLIC CAPITAL LETTER REVERSED DZE
@@ -3224,15 +3376,17 @@
 A78B          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER SALTILLO
 A78D          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER TURNED H
 A790          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER C WITH BAR
 A7A0          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A2          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 A7A4          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 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          ; Changes_When_Lowercased # L&       LATIN CAPITAL LETTER H WITH HOOK
 FF21..FF3A    ; Changes_When_Lowercased # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Changes_When_Lowercased # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
 
-# Total code points: 1038
+# Total code points: 1043
 
 # ================================================
 
@@ -3390,7 +3544,7 @@
 025B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER OPEN E
 0260          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH HOOK
 0263          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER GAMMA
-0265          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TURNED H
+0265..0266    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER TURNED H..LATIN SMALL LETTER H WITH HOOK
 0268..0269    ; Changes_When_Uppercased # L&   [2] LATIN SMALL LETTER I WITH STROKE..LATIN SMALL LETTER IOTA
 026B          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER L WITH MIDDLE TILDE
 026F          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER TURNED M
@@ -3731,7 +3885,10 @@
 2CE3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER OLD NUBIAN WAU
 2CEC          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
 2CEE          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF3          ; Changes_When_Uppercased # L&       COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; Changes_When_Uppercased # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Changes_When_Uppercased # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Changes_When_Uppercased # L&       GEORGIAN SMALL LETTER AEN
 A641          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER ZEMLYA
 A643          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER DZELO
 A645          ; Changes_When_Uppercased # L&       CYRILLIC SMALL LETTER REVERSED DZE
@@ -3814,6 +3971,7 @@
 A787          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER INSULAR T
 A78C          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER SALTILLO
 A791          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH DESCENDER
+A793          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER C WITH BAR
 A7A1          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER G WITH OBLIQUE STROKE
 A7A3          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER K WITH OBLIQUE STROKE
 A7A5          ; Changes_When_Uppercased # L&       LATIN SMALL LETTER N WITH OBLIQUE STROKE
@@ -3824,7 +3982,7 @@
 FF41..FF5A    ; Changes_When_Uppercased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10428..1044F  ; Changes_When_Uppercased # L&  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
 
-# Total code points: 1121
+# Total code points: 1126
 
 # ================================================
 
@@ -3983,7 +4141,7 @@
 025B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER OPEN E
 0260          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH HOOK
 0263          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER GAMMA
-0265          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER TURNED H
+0265..0266    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER TURNED H..LATIN SMALL LETTER H WITH HOOK
 0268..0269    ; Changes_When_Titlecased # L&   [2] LATIN SMALL LETTER I WITH STROKE..LATIN SMALL LETTER IOTA
 026B          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER L WITH MIDDLE TILDE
 026F          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER TURNED M
@@ -4324,7 +4482,10 @@
 2CE3          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER OLD NUBIAN WAU
 2CEC          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
 2CEE          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF3          ; Changes_When_Titlecased # L&       COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; Changes_When_Titlecased # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Changes_When_Titlecased # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Changes_When_Titlecased # L&       GEORGIAN SMALL LETTER AEN
 A641          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER ZEMLYA
 A643          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER DZELO
 A645          ; Changes_When_Titlecased # L&       CYRILLIC SMALL LETTER REVERSED DZE
@@ -4407,6 +4568,7 @@
 A787          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER INSULAR T
 A78C          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER SALTILLO
 A791          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH DESCENDER
+A793          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER C WITH BAR
 A7A1          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER G WITH OBLIQUE STROKE
 A7A3          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER K WITH OBLIQUE STROKE
 A7A5          ; Changes_When_Titlecased # L&       LATIN SMALL LETTER N WITH OBLIQUE STROKE
@@ -4417,7 +4579,7 @@
 FF41..FF5A    ; Changes_When_Titlecased # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10428..1044F  ; Changes_When_Titlecased # L&  [40] DESERET SMALL LETTER LONG I..DESERET SMALL LETTER EW
 
-# Total code points: 1094
+# Total code points: 1099
 
 # ================================================
 
@@ -4700,6 +4862,8 @@
 0531..0556    ; Changes_When_Casefolded # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
 0587          ; Changes_When_Casefolded # L&       ARMENIAN SMALL LIGATURE ECH YIWN
 10A0..10C5    ; Changes_When_Casefolded # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Changes_When_Casefolded # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Changes_When_Casefolded # L&       GEORGIAN CAPITAL LETTER AEN
 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
@@ -4911,6 +5075,7 @@
 2CE2          ; Changes_When_Casefolded # L&       COPTIC CAPITAL LETTER OLD NUBIAN WAU
 2CEB          ; Changes_When_Casefolded # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
 2CED          ; Changes_When_Casefolded # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; Changes_When_Casefolded # L&       COPTIC CAPITAL LETTER BOHAIRIC KHEI
 A640          ; Changes_When_Casefolded # L&       CYRILLIC CAPITAL LETTER ZEMLYA
 A642          ; Changes_When_Casefolded # L&       CYRILLIC CAPITAL LETTER DZELO
 A644          ; Changes_When_Casefolded # L&       CYRILLIC CAPITAL LETTER REVERSED DZE
@@ -4994,17 +5159,19 @@
 A78B          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER SALTILLO
 A78D          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER TURNED H
 A790          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER C WITH BAR
 A7A0          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A2          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 A7A4          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 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          ; Changes_When_Casefolded # L&       LATIN CAPITAL LETTER H WITH HOOK
 FB00..FB06    ; Changes_When_Casefolded # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Changes_When_Casefolded # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FF21..FF3A    ; Changes_When_Casefolded # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Changes_When_Casefolded # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
 
-# Total code points: 1102
+# Total code points: 1107
 
 # ================================================
 
@@ -5033,7 +5200,7 @@
 025B          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER OPEN E
 0260          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER G WITH HOOK
 0263          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER GAMMA
-0265          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER TURNED H
+0265..0266    ; Changes_When_Casemapped # L&   [2] LATIN SMALL LETTER TURNED H..LATIN SMALL LETTER H WITH HOOK
 0268..0269    ; Changes_When_Casemapped # L&   [2] LATIN SMALL LETTER I WITH STROKE..LATIN SMALL LETTER IOTA
 026B          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER L WITH MIDDLE TILDE
 026F          ; Changes_When_Casemapped # L&       LATIN SMALL LETTER TURNED M
@@ -5061,6 +5228,8 @@
 0531..0556    ; Changes_When_Casemapped # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
 0561..0587    ; Changes_When_Casemapped # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 10A0..10C5    ; Changes_When_Casemapped # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Changes_When_Casemapped # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Changes_When_Casemapped # L&       GEORGIAN CAPITAL LETTER AEN
 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
@@ -5098,7 +5267,10 @@
 2C75..2C76    ; Changes_When_Casemapped # L&   [2] LATIN CAPITAL LETTER HALF H..LATIN SMALL LETTER HALF H
 2C7E..2CE3    ; Changes_When_Casemapped # L& [102] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SMALL LETTER OLD NUBIAN WAU
 2CEB..2CEE    ; Changes_When_Casemapped # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; Changes_When_Casemapped # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; Changes_When_Casemapped # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Changes_When_Casemapped # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Changes_When_Casemapped # L&       GEORGIAN SMALL LETTER AEN
 A640..A66D    ; Changes_When_Casemapped # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
 A680..A697    ; Changes_When_Casemapped # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
 A722..A72F    ; Changes_When_Casemapped # L&  [14] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CUATRILLO WITH COMMA
@@ -5105,8 +5277,8 @@
 A732..A76F    ; Changes_When_Casemapped # L&  [62] LATIN CAPITAL LETTER AA..LATIN SMALL LETTER CON
 A779..A787    ; Changes_When_Casemapped # L&  [15] LATIN CAPITAL LETTER INSULAR D..LATIN SMALL LETTER INSULAR T
 A78B..A78D    ; Changes_When_Casemapped # L&   [3] LATIN CAPITAL LETTER SALTILLO..LATIN CAPITAL LETTER TURNED H
-A790..A791    ; Changes_When_Casemapped # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; Changes_When_Casemapped # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; Changes_When_Casemapped # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; Changes_When_Casemapped # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
 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
@@ -5113,7 +5285,7 @@
 FF41..FF5A    ; Changes_When_Casemapped # L&  [26] FULLWIDTH LATIN SMALL LETTER A..FULLWIDTH LATIN SMALL LETTER Z
 10400..1044F  ; Changes_When_Casemapped # L&  [80] DESERET CAPITAL LETTER LONG I..DESERET SMALL LETTER EW
 
-# Total code points: 2128
+# Total code points: 2138
 
 # ================================================
 
@@ -5128,9 +5300,9 @@
 
 0041..005A    ; ID_Start # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 0061..007A    ; ID_Start # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; ID_Start # L&       FEMININE ORDINAL INDICATOR
+00AA          ; ID_Start # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; ID_Start # L&       MICRO SIGN
-00BA          ; ID_Start # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; ID_Start # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; ID_Start # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; ID_Start # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; ID_Start # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -5184,6 +5356,8 @@
 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          ; ID_Start # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; ID_Start # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
 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
@@ -5291,7 +5465,7 @@
 0EBD          ; ID_Start # Lo       LAO SEMIVOWEL SIGN NYO
 0EC0..0EC4    ; ID_Start # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
 0EC6          ; ID_Start # Lm       LAO KO LA
-0EDC..0EDD    ; ID_Start # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; ID_Start # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; ID_Start # Lo       TIBETAN SYLLABLE OM
 0F40..0F47    ; ID_Start # Lo   [8] TIBETAN LETTER KA..TIBETAN LETTER JA
 0F49..0F6C    ; ID_Start # Lo  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
@@ -5306,9 +5480,11 @@
 1075..1081    ; ID_Start # Lo  [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
 108E          ; ID_Start # Lo       MYANMAR LETTER RUMAI PALAUNG FA
 10A0..10C5    ; ID_Start # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; ID_Start # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; ID_Start # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; ID_Start # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FC          ; ID_Start # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; ID_Start # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; ID_Start # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; ID_Start # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; ID_Start # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; ID_Start # Lo       ETHIOPIC SYLLABLE QHWA
@@ -5358,7 +5534,7 @@
 1B45..1B4B    ; ID_Start # Lo   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
 1B83..1BA0    ; ID_Start # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
 1BAE..1BAF    ; ID_Start # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BC0..1BE5    ; ID_Start # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; ID_Start # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1C00..1C23    ; ID_Start # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
 1C4D..1C4F    ; ID_Start # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
 1C5A..1C77    ; ID_Start # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
@@ -5365,9 +5541,10 @@
 1C78..1C7D    ; ID_Start # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1CE9..1CEC    ; ID_Start # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; ID_Start # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5..1CF6    ; ID_Start # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; ID_Start # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; ID_Start # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; ID_Start # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; ID_Start # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; ID_Start # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; ID_Start # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; ID_Start # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; ID_Start # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -5415,12 +5592,15 @@
 2185..2188    ; ID_Start # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
 2C00..2C2E    ; ID_Start # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; ID_Start # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; ID_Start # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; ID_Start # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; ID_Start # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; ID_Start # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; ID_Start # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CEB..2CEE    ; ID_Start # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; ID_Start # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; ID_Start # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; ID_Start # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; ID_Start # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; ID_Start # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; ID_Start # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; ID_Start # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D80..2D96    ; ID_Start # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
 2DA0..2DA6    ; ID_Start # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
@@ -5451,7 +5631,7 @@
 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..9FCB    ; ID_Start # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; ID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -5473,8 +5653,9 @@
 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
-A790..A791    ; ID_Start # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; ID_Start # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; ID_Start # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; ID_Start # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; ID_Start # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; ID_Start # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -5504,6 +5685,9 @@
 AAC2          ; ID_Start # Lo       TAI VIET TONE MAI SONG
 AADB..AADC    ; ID_Start # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; ID_Start # Lm       TAI VIET SYMBOL SAM
+AAE0..AAEA    ; ID_Start # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAF2          ; ID_Start # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; ID_Start # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
 AB01..AB06    ; ID_Start # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; ID_Start # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; ID_Start # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -5513,8 +5697,7 @@
 AC00..D7A3    ; ID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; ID_Start # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; ID_Start # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; ID_Start # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; ID_Start # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; ID_Start # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; ID_Start # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; ID_Start # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; ID_Start # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -5572,6 +5755,8 @@
 1083F..10855  ; ID_Start # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10900..10915  ; ID_Start # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; ID_Start # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; ID_Start # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; ID_Start # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; ID_Start # Lo       KHAROSHTHI LETTER A
 10A10..10A13  ; ID_Start # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; ID_Start # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -5583,10 +5768,18 @@
 10C00..10C48  ; ID_Start # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
 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
+11103..11126  ; ID_Start # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11183..111B2  ; ID_Start # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111C1..111C4  ; ID_Start # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+11680..116AA  ; ID_Start # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
 12000..1236E  ; ID_Start # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; ID_Start # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 13000..1342E  ; ID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; ID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; ID_Start # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; ID_Start # Lo       MIAO LETTER NASALIZATION
+16F93..16F9F  ; ID_Start # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; ID_Start # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
 1D400..1D454  ; ID_Start # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D49C  ; ID_Start # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
@@ -5618,12 +5811,45 @@
 1D78A..1D7A8  ; ID_Start # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
 1D7AA..1D7C2  ; ID_Start # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; ID_Start # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1EE00..1EE03  ; ID_Start # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; ID_Start # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; ID_Start # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; ID_Start # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; ID_Start # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; ID_Start # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; ID_Start # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; ID_Start # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; ID_Start # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; ID_Start # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; ID_Start # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; ID_Start # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; ID_Start # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; ID_Start # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; ID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; ID_Start # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; ID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; ID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; ID_Start # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; ID_Start # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; ID_Start # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; ID_Start # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; ID_Start # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; ID_Start # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 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
 2F800..2FA1D  ; ID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 100747
+# Total code points: 101240
 
 # ================================================
 
@@ -5641,10 +5867,10 @@
 0041..005A    ; ID_Continue # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 005F          ; ID_Continue # Pc       LOW LINE
 0061..007A    ; ID_Continue # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; ID_Continue # L&       FEMININE ORDINAL INDICATOR
+00AA          ; ID_Continue # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; ID_Continue # L&       MICRO SIGN
 00B7          ; ID_Continue # Po       MIDDLE DOT
-00BA          ; ID_Continue # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; ID_Continue # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; ID_Continue # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; ID_Continue # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; ID_Continue # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -5725,6 +5951,9 @@
 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          ; ID_Continue # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; ID_Continue # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
+08E4..08FE    ; ID_Continue # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; ID_Continue # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903          ; ID_Continue # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; ID_Continue # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -5946,7 +6175,7 @@
 0EC6          ; ID_Continue # Lm       LAO KO LA
 0EC8..0ECD    ; ID_Continue # Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
 0ED0..0ED9    ; ID_Continue # Nd  [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD    ; ID_Continue # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; ID_Continue # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; ID_Continue # Lo       TIBETAN SYLLABLE OM
 0F18..0F19    ; ID_Continue # Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
 0F20..0F29    ; ID_Continue # Nd  [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
@@ -5998,9 +6227,11 @@
 109A..109C    ; ID_Continue # Mc   [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
 109D          ; ID_Continue # Mn       MYANMAR VOWEL SIGN AITON AI
 10A0..10C5    ; ID_Continue # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; ID_Continue # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; ID_Continue # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; ID_Continue # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FC          ; ID_Continue # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; ID_Continue # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; ID_Continue # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; ID_Continue # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; ID_Continue # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; ID_Continue # Lo       ETHIOPIC SYLLABLE QHWA
@@ -6036,6 +6267,7 @@
 176E..1770    ; ID_Continue # Lo   [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
 1772..1773    ; ID_Continue # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
 1780..17B3    ; ID_Continue # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
+17B4..17B5    ; ID_Continue # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; ID_Continue # Mc       KHMER VOWEL SIGN AA
 17B7..17BD    ; ID_Continue # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17BE..17C5    ; ID_Continue # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
@@ -6114,9 +6346,11 @@
 1BA6..1BA7    ; ID_Continue # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; ID_Continue # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA          ; ID_Continue # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; ID_Continue # Mn       SUNDANESE SIGN VIRAMA
+1BAC..1BAD    ; ID_Continue # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE..1BAF    ; ID_Continue # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
 1BB0..1BB9    ; ID_Continue # Nd  [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1BC0..1BE5    ; ID_Continue # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; ID_Continue # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1BE6          ; ID_Continue # Mn       BATAK SIGN TOMPI
 1BE7          ; ID_Continue # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; ID_Continue # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
@@ -6142,10 +6376,12 @@
 1CE9..1CEC    ; ID_Continue # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CED          ; ID_Continue # Mn       VEDIC SIGN TIRYAK
 1CEE..1CF1    ; ID_Continue # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2          ; ID_Continue # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; ID_Continue # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4          ; ID_Continue # Mn       VEDIC TONE CANDRA ABOVE
+1CF5..1CF6    ; ID_Continue # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; ID_Continue # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; ID_Continue # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; ID_Continue # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; ID_Continue # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; ID_Continue # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; ID_Continue # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; ID_Continue # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; ID_Continue # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -6200,13 +6436,16 @@
 2185..2188    ; ID_Continue # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
 2C00..2C2E    ; ID_Continue # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; ID_Continue # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; ID_Continue # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; ID_Continue # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; ID_Continue # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; ID_Continue # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; ID_Continue # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CEB..2CEE    ; ID_Continue # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
 2CEF..2CF1    ; ID_Continue # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
+2CF2..2CF3    ; ID_Continue # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; ID_Continue # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; ID_Continue # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; ID_Continue # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; ID_Continue # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; ID_Continue # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; ID_Continue # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D7F          ; ID_Continue # Mn       TIFINAGH CONSONANT JOINER
 2D80..2D96    ; ID_Continue # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
@@ -6223,7 +6462,8 @@
 3006          ; ID_Continue # Lo       IDEOGRAPHIC CLOSING MARK
 3007          ; ID_Continue # Nl       IDEOGRAPHIC NUMBER ZERO
 3021..3029    ; ID_Continue # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-302A..302F    ; ID_Continue # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; ID_Continue # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; ID_Continue # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3031..3035    ; ID_Continue # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
 3038..303A    ; ID_Continue # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
 303B          ; ID_Continue # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
@@ -6241,7 +6481,7 @@
 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..9FCB    ; ID_Continue # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; ID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -6255,9 +6495,10 @@
 A640..A66D    ; ID_Continue # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
 A66E          ; ID_Continue # Lo       CYRILLIC LETTER MULTIOCULAR O
 A66F          ; ID_Continue # Mn       COMBINING CYRILLIC VZMET
-A67C..A67D    ; ID_Continue # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; ID_Continue # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
 A67F          ; ID_Continue # Lm       CYRILLIC PAYEROK
 A680..A697    ; ID_Continue # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
+A69F          ; ID_Continue # Mn       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
@@ -6267,8 +6508,9 @@
 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
-A790..A791    ; ID_Continue # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; ID_Continue # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; ID_Continue # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; ID_Continue # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; ID_Continue # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A802          ; ID_Continue # Mn       SYLOTI NAGRI SIGN DVISVARA
@@ -6337,6 +6579,14 @@
 AAC2          ; ID_Continue # Lo       TAI VIET TONE MAI SONG
 AADB..AADC    ; ID_Continue # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; ID_Continue # Lm       TAI VIET SYMBOL SAM
+AAE0..AAEA    ; ID_Continue # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; ID_Continue # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; ID_Continue # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; ID_Continue # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF2          ; ID_Continue # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; ID_Continue # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; ID_Continue # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6          ; ID_Continue # Mn       MEETEI MAYEK VIRAMA
 AB01..AB06    ; ID_Continue # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; ID_Continue # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; ID_Continue # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -6354,8 +6604,7 @@
 AC00..D7A3    ; ID_Continue # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; ID_Continue # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; ID_Continue # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; ID_Continue # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; ID_Continue # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; ID_Continue # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; ID_Continue # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; ID_Continue # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; ID_Continue # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -6422,6 +6671,8 @@
 1083F..10855  ; ID_Continue # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10900..10915  ; ID_Continue # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; ID_Continue # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; ID_Continue # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; ID_Continue # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; ID_Continue # Lo       KHAROSHTHI LETTER A
 10A01..10A03  ; ID_Continue # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
 10A05..10A06  ; ID_Continue # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
@@ -6449,10 +6700,40 @@
 110B3..110B6  ; ID_Continue # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B7..110B8  ; ID_Continue # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
 110B9..110BA  ; ID_Continue # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+110D0..110E8  ; ID_Continue # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9  ; ID_Continue # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11100..11102  ; ID_Continue # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11103..11126  ; ID_Continue # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11127..1112B  ; ID_Continue # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; ID_Continue # Mc       CHAKMA VOWEL SIGN E
+1112D..11134  ; ID_Continue # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11136..1113F  ; ID_Continue # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+11180..11181  ; ID_Continue # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; ID_Continue # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; ID_Continue # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5  ; ID_Continue # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+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
+111D0..111D9  ; ID_Continue # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+11680..116AA  ; ID_Continue # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AB         ; ID_Continue # Mn       TAKRI SIGN ANUSVARA
+116AC         ; ID_Continue # Mc       TAKRI SIGN VISARGA
+116AD         ; ID_Continue # Mn       TAKRI VOWEL SIGN AA
+116AE..116AF  ; ID_Continue # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B0..116B5  ; ID_Continue # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+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
 12000..1236E  ; ID_Continue # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; ID_Continue # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 13000..1342E  ; ID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; ID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; ID_Continue # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; ID_Continue # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; ID_Continue # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92  ; ID_Continue # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
+16F93..16F9F  ; ID_Continue # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; ID_Continue # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
 1D165..1D166  ; ID_Continue # Mc   [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D167..1D169  ; ID_Continue # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
@@ -6492,6 +6773,39 @@
 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
+1EE00..1EE03  ; ID_Continue # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; ID_Continue # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; ID_Continue # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; ID_Continue # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; ID_Continue # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; ID_Continue # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; ID_Continue # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; ID_Continue # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; ID_Continue # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; ID_Continue # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; ID_Continue # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; ID_Continue # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; ID_Continue # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; ID_Continue # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; ID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; ID_Continue # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; ID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; ID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; ID_Continue # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; ID_Continue # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; ID_Continue # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; ID_Continue # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; ID_Continue # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; ID_Continue # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 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
@@ -6498,7 +6812,7 @@
 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: 102675
+# Total code points: 103355
 
 # ================================================
 
@@ -6511,9 +6825,9 @@
 
 0041..005A    ; XID_Start # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 0061..007A    ; XID_Start # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; XID_Start # L&       FEMININE ORDINAL INDICATOR
+00AA          ; XID_Start # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; XID_Start # L&       MICRO SIGN
-00BA          ; XID_Start # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; XID_Start # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; XID_Start # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; XID_Start # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; XID_Start # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -6566,6 +6880,8 @@
 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          ; XID_Start # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; XID_Start # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
 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
@@ -6673,7 +6989,7 @@
 0EBD          ; XID_Start # Lo       LAO SEMIVOWEL SIGN NYO
 0EC0..0EC4    ; XID_Start # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
 0EC6          ; XID_Start # Lm       LAO KO LA
-0EDC..0EDD    ; XID_Start # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; XID_Start # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; XID_Start # Lo       TIBETAN SYLLABLE OM
 0F40..0F47    ; XID_Start # Lo   [8] TIBETAN LETTER KA..TIBETAN LETTER JA
 0F49..0F6C    ; XID_Start # Lo  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
@@ -6688,9 +7004,11 @@
 1075..1081    ; XID_Start # Lo  [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
 108E          ; XID_Start # Lo       MYANMAR LETTER RUMAI PALAUNG FA
 10A0..10C5    ; XID_Start # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; XID_Start # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; XID_Start # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; XID_Start # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FC          ; XID_Start # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; XID_Start # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; XID_Start # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; XID_Start # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; XID_Start # Lo       ETHIOPIC SYLLABLE QHWA
@@ -6740,7 +7058,7 @@
 1B45..1B4B    ; XID_Start # Lo   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
 1B83..1BA0    ; XID_Start # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
 1BAE..1BAF    ; XID_Start # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BC0..1BE5    ; XID_Start # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; XID_Start # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1C00..1C23    ; XID_Start # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
 1C4D..1C4F    ; XID_Start # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
 1C5A..1C77    ; XID_Start # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
@@ -6747,9 +7065,10 @@
 1C78..1C7D    ; XID_Start # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1CE9..1CEC    ; XID_Start # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; XID_Start # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5..1CF6    ; XID_Start # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; XID_Start # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; XID_Start # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; XID_Start # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; XID_Start # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; XID_Start # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; XID_Start # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; XID_Start # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; XID_Start # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -6797,12 +7116,15 @@
 2185..2188    ; XID_Start # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
 2C00..2C2E    ; XID_Start # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; XID_Start # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; XID_Start # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; XID_Start # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; XID_Start # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; XID_Start # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; XID_Start # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CEB..2CEE    ; XID_Start # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; XID_Start # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; XID_Start # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; XID_Start # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; XID_Start # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; XID_Start # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; XID_Start # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; XID_Start # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D80..2D96    ; XID_Start # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
 2DA0..2DA6    ; XID_Start # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
@@ -6832,7 +7154,7 @@
 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..9FCB    ; XID_Start # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; XID_Start # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -6854,8 +7176,9 @@
 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
-A790..A791    ; XID_Start # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; XID_Start # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; XID_Start # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; XID_Start # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; XID_Start # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; XID_Start # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -6885,6 +7208,9 @@
 AAC2          ; XID_Start # Lo       TAI VIET TONE MAI SONG
 AADB..AADC    ; XID_Start # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; XID_Start # Lm       TAI VIET SYMBOL SAM
+AAE0..AAEA    ; XID_Start # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAF2          ; XID_Start # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; XID_Start # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
 AB01..AB06    ; XID_Start # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; XID_Start # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; XID_Start # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -6894,8 +7220,7 @@
 AC00..D7A3    ; XID_Start # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; XID_Start # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; XID_Start # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; XID_Start # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; XID_Start # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; XID_Start # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; XID_Start # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; XID_Start # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; XID_Start # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -6958,6 +7283,8 @@
 1083F..10855  ; XID_Start # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10900..10915  ; XID_Start # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; XID_Start # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; XID_Start # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; XID_Start # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; XID_Start # Lo       KHAROSHTHI LETTER A
 10A10..10A13  ; XID_Start # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; XID_Start # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -6969,10 +7296,18 @@
 10C00..10C48  ; XID_Start # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
 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
+11103..11126  ; XID_Start # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11183..111B2  ; XID_Start # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111C1..111C4  ; XID_Start # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+11680..116AA  ; XID_Start # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
 12000..1236E  ; XID_Start # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; XID_Start # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 13000..1342E  ; XID_Start # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; XID_Start # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; XID_Start # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; XID_Start # Lo       MIAO LETTER NASALIZATION
+16F93..16F9F  ; XID_Start # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; XID_Start # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
 1D400..1D454  ; XID_Start # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D49C  ; XID_Start # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
@@ -7004,12 +7339,45 @@
 1D78A..1D7A8  ; XID_Start # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
 1D7AA..1D7C2  ; XID_Start # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; XID_Start # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1EE00..1EE03  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; XID_Start # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; XID_Start # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; XID_Start # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; XID_Start # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; XID_Start # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; XID_Start # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; XID_Start # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; XID_Start # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; XID_Start # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; XID_Start # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; XID_Start # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; XID_Start # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; XID_Start # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; XID_Start # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; XID_Start # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; XID_Start # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; XID_Start # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; XID_Start # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; XID_Start # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; XID_Start # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 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
 2F800..2FA1D  ; XID_Start # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 100724
+# Total code points: 101217
 
 # ================================================
 
@@ -7016,7 +7384,6 @@
 # Derived Property: XID_Continue
 #  Mod_ID_Continue modified for closure under NFKx
 #  Modified as described in UAX #15
-#  NOTE: Cf characters should be filtered out.
 #  NOTE: Does NOT remove the non-NFKx characters.
 #        Merely ensures that if isIdentifer(string) then isIdentifier(NFKx(string))
 #  NOTE: See UAX #31 for more information
@@ -7025,10 +7392,10 @@
 0041..005A    ; XID_Continue # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 005F          ; XID_Continue # Pc       LOW LINE
 0061..007A    ; XID_Continue # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; XID_Continue # L&       FEMININE ORDINAL INDICATOR
+00AA          ; XID_Continue # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; XID_Continue # L&       MICRO SIGN
 00B7          ; XID_Continue # Po       MIDDLE DOT
-00BA          ; XID_Continue # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; XID_Continue # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; XID_Continue # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; XID_Continue # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; XID_Continue # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -7108,6 +7475,9 @@
 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          ; XID_Continue # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; XID_Continue # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
+08E4..08FE    ; XID_Continue # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; XID_Continue # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903          ; XID_Continue # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; XID_Continue # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
@@ -7329,7 +7699,7 @@
 0EC6          ; XID_Continue # Lm       LAO KO LA
 0EC8..0ECD    ; XID_Continue # Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
 0ED0..0ED9    ; XID_Continue # Nd  [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD    ; XID_Continue # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; XID_Continue # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; XID_Continue # Lo       TIBETAN SYLLABLE OM
 0F18..0F19    ; XID_Continue # Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
 0F20..0F29    ; XID_Continue # Nd  [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
@@ -7381,9 +7751,11 @@
 109A..109C    ; XID_Continue # Mc   [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
 109D          ; XID_Continue # Mn       MYANMAR VOWEL SIGN AITON AI
 10A0..10C5    ; XID_Continue # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; XID_Continue # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; XID_Continue # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; XID_Continue # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FC          ; XID_Continue # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; XID_Continue # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; XID_Continue # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; XID_Continue # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; XID_Continue # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; XID_Continue # Lo       ETHIOPIC SYLLABLE QHWA
@@ -7419,6 +7791,7 @@
 176E..1770    ; XID_Continue # Lo   [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
 1772..1773    ; XID_Continue # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
 1780..17B3    ; XID_Continue # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
+17B4..17B5    ; XID_Continue # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; XID_Continue # Mc       KHMER VOWEL SIGN AA
 17B7..17BD    ; XID_Continue # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17BE..17C5    ; XID_Continue # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
@@ -7497,9 +7870,11 @@
 1BA6..1BA7    ; XID_Continue # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; XID_Continue # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA          ; XID_Continue # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; XID_Continue # Mn       SUNDANESE SIGN VIRAMA
+1BAC..1BAD    ; XID_Continue # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE..1BAF    ; XID_Continue # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
 1BB0..1BB9    ; XID_Continue # Nd  [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1BC0..1BE5    ; XID_Continue # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; XID_Continue # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1BE6          ; XID_Continue # Mn       BATAK SIGN TOMPI
 1BE7          ; XID_Continue # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; XID_Continue # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
@@ -7525,10 +7900,12 @@
 1CE9..1CEC    ; XID_Continue # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CED          ; XID_Continue # Mn       VEDIC SIGN TIRYAK
 1CEE..1CF1    ; XID_Continue # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2          ; XID_Continue # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; XID_Continue # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4          ; XID_Continue # Mn       VEDIC TONE CANDRA ABOVE
+1CF5..1CF6    ; XID_Continue # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; XID_Continue # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; XID_Continue # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; XID_Continue # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; XID_Continue # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; XID_Continue # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; XID_Continue # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; XID_Continue # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; XID_Continue # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -7583,13 +7960,16 @@
 2185..2188    ; XID_Continue # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
 2C00..2C2E    ; XID_Continue # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; XID_Continue # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; XID_Continue # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; XID_Continue # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; XID_Continue # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; XID_Continue # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; XID_Continue # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CEB..2CEE    ; XID_Continue # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
 2CEF..2CF1    ; XID_Continue # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
+2CF2..2CF3    ; XID_Continue # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; XID_Continue # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; XID_Continue # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; XID_Continue # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; XID_Continue # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; XID_Continue # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; XID_Continue # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D7F          ; XID_Continue # Mn       TIFINAGH CONSONANT JOINER
 2D80..2D96    ; XID_Continue # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
@@ -7606,7 +7986,8 @@
 3006          ; XID_Continue # Lo       IDEOGRAPHIC CLOSING MARK
 3007          ; XID_Continue # Nl       IDEOGRAPHIC NUMBER ZERO
 3021..3029    ; XID_Continue # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-302A..302F    ; XID_Continue # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; XID_Continue # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; XID_Continue # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3031..3035    ; XID_Continue # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
 3038..303A    ; XID_Continue # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
 303B          ; XID_Continue # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
@@ -7623,7 +8004,7 @@
 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..9FCB    ; XID_Continue # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; XID_Continue # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -7637,9 +8018,10 @@
 A640..A66D    ; XID_Continue # L&  [46] CYRILLIC CAPITAL LETTER ZEMLYA..CYRILLIC SMALL LETTER DOUBLE MONOCULAR O
 A66E          ; XID_Continue # Lo       CYRILLIC LETTER MULTIOCULAR O
 A66F          ; XID_Continue # Mn       COMBINING CYRILLIC VZMET
-A67C..A67D    ; XID_Continue # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; XID_Continue # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
 A67F          ; XID_Continue # Lm       CYRILLIC PAYEROK
 A680..A697    ; XID_Continue # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
+A69F          ; XID_Continue # Mn       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
@@ -7649,8 +8031,9 @@
 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
-A790..A791    ; XID_Continue # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; XID_Continue # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; XID_Continue # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; XID_Continue # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; XID_Continue # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A802          ; XID_Continue # Mn       SYLOTI NAGRI SIGN DVISVARA
@@ -7719,6 +8102,14 @@
 AAC2          ; XID_Continue # Lo       TAI VIET TONE MAI SONG
 AADB..AADC    ; XID_Continue # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; XID_Continue # Lm       TAI VIET SYMBOL SAM
+AAE0..AAEA    ; XID_Continue # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; XID_Continue # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; XID_Continue # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; XID_Continue # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF2          ; XID_Continue # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; XID_Continue # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; XID_Continue # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6          ; XID_Continue # Mn       MEETEI MAYEK VIRAMA
 AB01..AB06    ; XID_Continue # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; XID_Continue # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; XID_Continue # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -7736,8 +8127,7 @@
 AC00..D7A3    ; XID_Continue # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; XID_Continue # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; XID_Continue # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; XID_Continue # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; XID_Continue # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; XID_Continue # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; XID_Continue # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; XID_Continue # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; XID_Continue # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -7810,6 +8200,8 @@
 1083F..10855  ; XID_Continue # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10900..10915  ; XID_Continue # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; XID_Continue # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; XID_Continue # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; XID_Continue # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; XID_Continue # Lo       KHAROSHTHI LETTER A
 10A01..10A03  ; XID_Continue # Mn   [3] KHAROSHTHI VOWEL SIGN I..KHAROSHTHI VOWEL SIGN VOCALIC R
 10A05..10A06  ; XID_Continue # Mn   [2] KHAROSHTHI VOWEL SIGN E..KHAROSHTHI VOWEL SIGN O
@@ -7837,10 +8229,40 @@
 110B3..110B6  ; XID_Continue # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B7..110B8  ; XID_Continue # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
 110B9..110BA  ; XID_Continue # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+110D0..110E8  ; XID_Continue # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9  ; XID_Continue # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11100..11102  ; XID_Continue # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11103..11126  ; XID_Continue # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11127..1112B  ; XID_Continue # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; XID_Continue # Mc       CHAKMA VOWEL SIGN E
+1112D..11134  ; XID_Continue # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11136..1113F  ; XID_Continue # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+11180..11181  ; XID_Continue # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; XID_Continue # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; XID_Continue # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5  ; XID_Continue # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+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
+111D0..111D9  ; XID_Continue # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+11680..116AA  ; XID_Continue # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AB         ; XID_Continue # Mn       TAKRI SIGN ANUSVARA
+116AC         ; XID_Continue # Mc       TAKRI SIGN VISARGA
+116AD         ; XID_Continue # Mn       TAKRI VOWEL SIGN AA
+116AE..116AF  ; XID_Continue # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B0..116B5  ; XID_Continue # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+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
 12000..1236E  ; XID_Continue # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; XID_Continue # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 13000..1342E  ; XID_Continue # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; XID_Continue # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; XID_Continue # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; XID_Continue # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; XID_Continue # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92  ; XID_Continue # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
+16F93..16F9F  ; XID_Continue # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; XID_Continue # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
 1D165..1D166  ; XID_Continue # Mc   [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D167..1D169  ; XID_Continue # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
@@ -7880,6 +8302,39 @@
 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
+1EE00..1EE03  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; XID_Continue # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; XID_Continue # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; XID_Continue # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; XID_Continue # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; XID_Continue # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; XID_Continue # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; XID_Continue # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; XID_Continue # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; XID_Continue # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; XID_Continue # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; XID_Continue # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; XID_Continue # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; XID_Continue # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; XID_Continue # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; XID_Continue # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; XID_Continue # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; XID_Continue # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; XID_Continue # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; XID_Continue # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; XID_Continue # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 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
@@ -7886,7 +8341,7 @@
 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: 102656
+# Total code points: 103336
 
 # ================================================
 
@@ -7897,12 +8352,12 @@
 #  + Variation_Selector
 #  - White_Space
 #  - FFF9..FFFB (Annotation Characters)
-#  - 0600..0603, 06DD, 070F, 110BD (exceptional Cf characters that should be visible)
+#  - 0600..0604, 06DD, 070F, 110BD (exceptional Cf characters that should be visible)
 
 00AD          ; Default_Ignorable_Code_Point # Cf       SOFT HYPHEN
 034F          ; Default_Ignorable_Code_Point # Mn       COMBINING GRAPHEME JOINER
 115F..1160    ; Default_Ignorable_Code_Point # Lo   [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
-17B4..17B5    ; Default_Ignorable_Code_Point # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; Default_Ignorable_Code_Point # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 180B..180D    ; Default_Ignorable_Code_Point # Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
 200B..200F    ; Default_Ignorable_Code_Point # Cf   [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
 202A..202E    ; Default_Ignorable_Code_Point # Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
@@ -7956,6 +8411,7 @@
 0825..0827    ; Grapheme_Extend # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; Grapheme_Extend # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
 0859..085B    ; Grapheme_Extend # Mn   [3] MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
+08E4..08FE    ; Grapheme_Extend # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; Grapheme_Extend # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 093A          ; Grapheme_Extend # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; Grapheme_Extend # Mn       DEVANAGARI SIGN NUKTA
@@ -8053,6 +8509,7 @@
 1732..1734    ; Grapheme_Extend # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
 1752..1753    ; Grapheme_Extend # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
 1772..1773    ; Grapheme_Extend # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+17B4..17B5    ; Grapheme_Extend # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B7..17BD    ; Grapheme_Extend # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17C6          ; Grapheme_Extend # Mn       KHMER SIGN NIKAHIT
 17C9..17D3    ; Grapheme_Extend # Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
@@ -8080,6 +8537,7 @@
 1B80..1B81    ; Grapheme_Extend # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
 1BA2..1BA5    ; Grapheme_Extend # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA8..1BA9    ; Grapheme_Extend # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAB          ; Grapheme_Extend # Mn       SUNDANESE SIGN VIRAMA
 1BE6          ; Grapheme_Extend # Mn       BATAK SIGN TOMPI
 1BE8..1BE9    ; Grapheme_Extend # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BED          ; Grapheme_Extend # Mn       BATAK VOWEL SIGN KARO O
@@ -8090,6 +8548,7 @@
 1CD4..1CE0    ; Grapheme_Extend # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
 1CE2..1CE8    ; Grapheme_Extend # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Grapheme_Extend # Mn       VEDIC SIGN TIRYAK
+1CF4          ; Grapheme_Extend # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; Grapheme_Extend # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; Grapheme_Extend # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C..200D    ; Grapheme_Extend # Cf   [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
@@ -8101,11 +8560,13 @@
 2CEF..2CF1    ; Grapheme_Extend # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D7F          ; Grapheme_Extend # Mn       TIFINAGH CONSONANT JOINER
 2DE0..2DFF    ; Grapheme_Extend # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F    ; Grapheme_Extend # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; Grapheme_Extend # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; Grapheme_Extend # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3099..309A    ; Grapheme_Extend # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; Grapheme_Extend # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Grapheme_Extend # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D    ; Grapheme_Extend # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; Grapheme_Extend # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; Grapheme_Extend # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
 A6F0..A6F1    ; Grapheme_Extend # Mn   [2] BAMUM COMBINING MARK KOQNDON..BAMUM COMBINING MARK TUKWENTIS
 A802          ; Grapheme_Extend # Mn       SYLOTI NAGRI SIGN DVISVARA
 A806          ; Grapheme_Extend # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -8129,6 +8590,8 @@
 AAB7..AAB8    ; Grapheme_Extend # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; Grapheme_Extend # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; Grapheme_Extend # Mn       TAI VIET TONE MAI THO
+AAEC..AAED    ; Grapheme_Extend # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAF6          ; Grapheme_Extend # Mn       MEETEI MAYEK VIRAMA
 ABE5          ; Grapheme_Extend # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE8          ; Grapheme_Extend # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; Grapheme_Extend # Mn       MEETEI MAYEK APUN IYEK
@@ -8147,6 +8610,16 @@
 11080..11081  ; Grapheme_Extend # Mn   [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
 110B3..110B6  ; Grapheme_Extend # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B9..110BA  ; Grapheme_Extend # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+11100..11102  ; Grapheme_Extend # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; Grapheme_Extend # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112D..11134  ; Grapheme_Extend # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; Grapheme_Extend # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+111B6..111BE  ; Grapheme_Extend # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+116AB         ; Grapheme_Extend # Mn       TAKRI SIGN ANUSVARA
+116AD         ; Grapheme_Extend # Mn       TAKRI VOWEL SIGN AA
+116B0..116B5  ; Grapheme_Extend # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+116B7         ; Grapheme_Extend # Mn       TAKRI SIGN NUKTA
+16F8F..16F92  ; Grapheme_Extend # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 1D165         ; Grapheme_Extend # Mc       MUSICAL SYMBOL COMBINING STEM
 1D167..1D169  ; Grapheme_Extend # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D16E..1D172  ; Grapheme_Extend # Mc   [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
@@ -8156,7 +8629,7 @@
 1D242..1D244  ; Grapheme_Extend # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 E0100..E01EF  ; Grapheme_Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1234
+# Total code points: 1317
 
 # ================================================
 
@@ -8195,10 +8668,11 @@
 00A0          ; Grapheme_Base # Zs       NO-BREAK SPACE
 00A1          ; Grapheme_Base # Po       INVERTED EXCLAMATION MARK
 00A2..00A5    ; Grapheme_Base # Sc   [4] CENT SIGN..YEN SIGN
-00A6..00A7    ; Grapheme_Base # So   [2] BROKEN BAR..SECTION SIGN
+00A6          ; Grapheme_Base # So       BROKEN BAR
+00A7          ; Grapheme_Base # Po       SECTION SIGN
 00A8          ; Grapheme_Base # Sk       DIAERESIS
 00A9          ; Grapheme_Base # So       COPYRIGHT SIGN
-00AA          ; Grapheme_Base # L&       FEMININE ORDINAL INDICATOR
+00AA          ; Grapheme_Base # Lo       FEMININE ORDINAL INDICATOR
 00AB          ; Grapheme_Base # Pi       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
 00AC          ; Grapheme_Base # Sm       NOT SIGN
 00AE          ; Grapheme_Base # So       REGISTERED SIGN
@@ -8208,11 +8682,10 @@
 00B2..00B3    ; Grapheme_Base # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
 00B4          ; Grapheme_Base # Sk       ACUTE ACCENT
 00B5          ; Grapheme_Base # L&       MICRO SIGN
-00B6          ; Grapheme_Base # So       PILCROW SIGN
-00B7          ; Grapheme_Base # Po       MIDDLE DOT
+00B6..00B7    ; Grapheme_Base # Po   [2] PILCROW SIGN..MIDDLE DOT
 00B8          ; Grapheme_Base # Sk       CEDILLA
 00B9          ; Grapheme_Base # No       SUPERSCRIPT ONE
-00BA          ; Grapheme_Base # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; Grapheme_Base # Lo       MASCULINE ORDINAL INDICATOR
 00BB          ; Grapheme_Base # Pf       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
 00BC..00BE    ; Grapheme_Base # No   [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
 00BF          ; Grapheme_Base # Po       INVERTED QUESTION MARK
@@ -8261,6 +8734,7 @@
 0561..0587    ; Grapheme_Base # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 0589          ; Grapheme_Base # Po       ARMENIAN FULL STOP
 058A          ; Grapheme_Base # Pd       ARMENIAN HYPHEN
+058F          ; Grapheme_Base # Sc       ARMENIAN DRAM SIGN
 05BE          ; Grapheme_Base # Pd       HEBREW PUNCTUATION MAQAF
 05C0          ; Grapheme_Base # Po       HEBREW PUNCTUATION PASEQ
 05C3          ; Grapheme_Base # Po       HEBREW PUNCTUATION SOF PASUQ
@@ -8310,6 +8784,8 @@
 0830..083E    ; Grapheme_Base # Po  [15] SAMARITAN PUNCTUATION NEQUDAA..SAMARITAN PUNCTUATION ANNAAU
 0840..0858    ; Grapheme_Base # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 085E          ; Grapheme_Base # Po       MANDAIC PUNCTUATION
+08A0          ; Grapheme_Base # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; Grapheme_Base # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
 0903          ; Grapheme_Base # Mc       DEVANAGARI SIGN VISARGA
 0904..0939    ; Grapheme_Base # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093B          ; Grapheme_Base # Mc       DEVANAGARI VOWEL SIGN OOE
@@ -8372,6 +8848,7 @@
 0AD0          ; Grapheme_Base # Lo       GUJARATI OM
 0AE0..0AE1    ; Grapheme_Base # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 0AE6..0AEF    ; Grapheme_Base # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
+0AF0          ; Grapheme_Base # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; Grapheme_Base # Sc       GUJARATI RUPEE SIGN
 0B02..0B03    ; Grapheme_Base # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
 0B05..0B0C    ; Grapheme_Base # Lo   [8] ORIYA LETTER A..ORIYA LETTER VOCALIC L
@@ -8488,11 +8965,13 @@
 0EC0..0EC4    ; Grapheme_Base # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
 0EC6          ; Grapheme_Base # Lm       LAO KO LA
 0ED0..0ED9    ; Grapheme_Base # Nd  [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD    ; Grapheme_Base # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; Grapheme_Base # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; Grapheme_Base # Lo       TIBETAN SYLLABLE OM
 0F01..0F03    ; Grapheme_Base # So   [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
 0F04..0F12    ; Grapheme_Base # Po  [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17    ; Grapheme_Base # So   [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0F13          ; Grapheme_Base # So       TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14          ; Grapheme_Base # Po       TIBETAN MARK GTER TSHEG
+0F15..0F17    ; Grapheme_Base # So   [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
 0F1A..0F1F    ; Grapheme_Base # So   [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
 0F20..0F29    ; Grapheme_Base # Nd  [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
 0F2A..0F33    ; Grapheme_Base # No  [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
@@ -8540,10 +9019,12 @@
 109A..109C    ; Grapheme_Base # Mc   [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
 109E..109F    ; Grapheme_Base # So   [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
 10A0..10C5    ; Grapheme_Base # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Grapheme_Base # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Grapheme_Base # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; Grapheme_Base # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FB          ; Grapheme_Base # Po       GEORGIAN PARAGRAPH SEPARATOR
 10FC          ; Grapheme_Base # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; Grapheme_Base # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; Grapheme_Base # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; Grapheme_Base # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; Grapheme_Base # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; Grapheme_Base # Lo       ETHIOPIC SYLLABLE QHWA
@@ -8559,8 +9040,7 @@
 12D8..1310    ; Grapheme_Base # Lo  [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
 1312..1315    ; Grapheme_Base # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; Grapheme_Base # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1360          ; Grapheme_Base # So       ETHIOPIC SECTION MARK
-1361..1368    ; Grapheme_Base # Po   [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
+1360..1368    ; Grapheme_Base # Po   [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
 1369..137C    ; Grapheme_Base # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; Grapheme_Base # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399    ; Grapheme_Base # So  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
@@ -8652,9 +9132,10 @@
 1BA1          ; Grapheme_Base # Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
 1BA6..1BA7    ; Grapheme_Base # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BAA          ; Grapheme_Base # Mc       SUNDANESE SIGN PAMAAEH
+1BAC..1BAD    ; Grapheme_Base # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE..1BAF    ; Grapheme_Base # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
 1BB0..1BB9    ; Grapheme_Base # Nd  [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1BC0..1BE5    ; Grapheme_Base # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; Grapheme_Base # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1BE7          ; Grapheme_Base # Mc       BATAK VOWEL SIGN E
 1BEA..1BEC    ; Grapheme_Base # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
 1BEE          ; Grapheme_Base # Mc       BATAK VOWEL SIGN U
@@ -8670,14 +9151,16 @@
 1C5A..1C77    ; Grapheme_Base # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
 1C78..1C7D    ; Grapheme_Base # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1C7E..1C7F    ; Grapheme_Base # Po   [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0..1CC7    ; Grapheme_Base # Po   [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD3          ; Grapheme_Base # Po       VEDIC SIGN NIHSHVASA
 1CE1          ; Grapheme_Base # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE9..1CEC    ; Grapheme_Base # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; Grapheme_Base # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2          ; Grapheme_Base # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; Grapheme_Base # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF5..1CF6    ; Grapheme_Base # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; Grapheme_Base # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; Grapheme_Base # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; Grapheme_Base # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; Grapheme_Base # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; Grapheme_Base # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; Grapheme_Base # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; Grapheme_Base # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; Grapheme_Base # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -8745,7 +9228,7 @@
 208D          ; Grapheme_Base # Ps       SUBSCRIPT LEFT PARENTHESIS
 208E          ; Grapheme_Base # Pe       SUBSCRIPT RIGHT PARENTHESIS
 2090..209C    ; Grapheme_Base # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
-20A0..20B9    ; Grapheme_Base # Sc  [26] EURO-CURRENCY SIGN..INDIAN RUPEE SIGN
+20A0..20BA    ; Grapheme_Base # Sc  [27] EURO-CURRENCY SIGN..TURKISH LIRA SIGN
 2100..2101    ; Grapheme_Base # So   [2] ACCOUNT OF..ADDRESSED TO THE SUBJECT
 2102          ; Grapheme_Base # L&       DOUBLE-STRUCK CAPITAL C
 2103..2106    ; Grapheme_Base # So   [4] DEGREE CELSIUS..CADA UNA
@@ -8850,9 +9333,7 @@
 27C0..27C4    ; Grapheme_Base # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
 27C5          ; Grapheme_Base # Ps       LEFT S-SHAPED BAG DELIMITER
 27C6          ; Grapheme_Base # Pe       RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA    ; Grapheme_Base # Sm   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC          ; Grapheme_Base # Sm       LONG DIVISION
-27CE..27E5    ; Grapheme_Base # Sm  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; Grapheme_Base # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27E6          ; Grapheme_Base # Ps       MATHEMATICAL LEFT WHITE SQUARE BRACKET
 27E7          ; Grapheme_Base # Pe       MATHEMATICAL RIGHT WHITE SQUARE BRACKET
 27E8          ; Grapheme_Base # Ps       MATHEMATICAL LEFT ANGLE BRACKET
@@ -8904,16 +9385,19 @@
 2B50..2B59    ; Grapheme_Base # So  [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
 2C00..2C2E    ; Grapheme_Base # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; Grapheme_Base # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; Grapheme_Base # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; Grapheme_Base # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; Grapheme_Base # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Grapheme_Base # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; Grapheme_Base # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CE5..2CEA    ; Grapheme_Base # So   [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
 2CEB..2CEE    ; Grapheme_Base # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; Grapheme_Base # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2CF9..2CFC    ; Grapheme_Base # Po   [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
 2CFD          ; Grapheme_Base # No       COPTIC FRACTION ONE HALF
 2CFE..2CFF    ; Grapheme_Base # Po   [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
 2D00..2D25    ; Grapheme_Base # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; Grapheme_Base # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; Grapheme_Base # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Grapheme_Base # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; Grapheme_Base # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; Grapheme_Base # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D70          ; Grapheme_Base # Po       TIFINAGH SEPARATOR MARK
 2D80..2D96    ; Grapheme_Base # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
@@ -8956,7 +9440,8 @@
 2E29          ; Grapheme_Base # Pe       RIGHT DOUBLE PARENTHESIS
 2E2A..2E2E    ; Grapheme_Base # Po   [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
 2E2F          ; Grapheme_Base # Lm       VERTICAL TILDE
-2E30..2E31    ; Grapheme_Base # Po   [2] RING POINT..WORD SEPARATOR MIDDLE DOT
+2E30..2E39    ; Grapheme_Base # Po  [10] RING POINT..TOP HALF SECTION SIGN
+2E3A..2E3B    ; Grapheme_Base # Pd   [2] TWO-EM DASH..THREE-EM DASH
 2E80..2E99    ; Grapheme_Base # So  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3    ; Grapheme_Base # So  [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5    ; Grapheme_Base # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -9018,7 +9503,9 @@
 31F0..31FF    ; Grapheme_Base # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3200..321E    ; Grapheme_Base # So  [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
 3220..3229    ; Grapheme_Base # No  [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3250    ; Grapheme_Base # So  [39] PARENTHESIZED IDEOGRAPH MOON..PARTNERSHIP SIGN
+322A..3247    ; Grapheme_Base # So  [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
+3248..324F    ; Grapheme_Base # No   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+3250          ; Grapheme_Base # So       PARTNERSHIP SIGN
 3251..325F    ; Grapheme_Base # No  [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
 3260..327F    ; Grapheme_Base # So  [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
 3280..3289    ; Grapheme_Base # No  [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
@@ -9028,7 +9515,7 @@
 3300..33FF    ; Grapheme_Base # So [256] SQUARE APAATO..SQUARE GAL
 3400..4DB5    ; Grapheme_Base # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DC0..4DFF    ; Grapheme_Base # So  [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FCB    ; Grapheme_Base # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; Grapheme_Base # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 A000..A014    ; Grapheme_Base # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; Grapheme_Base # Lm       YI SYLLABLE WU
 A016..A48C    ; Grapheme_Base # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -9060,8 +9547,9 @@
 A788          ; Grapheme_Base # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
 A789..A78A    ; Grapheme_Base # Sk   [2] MODIFIER LETTER COLON..MODIFIER LETTER SHORT EQUALS SIGN
 A78B..A78E    ; Grapheme_Base # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
-A790..A791    ; Grapheme_Base # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; Grapheme_Base # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; Grapheme_Base # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; Grapheme_Base # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+A7F8..A7F9    ; Grapheme_Base # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A7FA          ; Grapheme_Base # L&       LATIN LETTER SMALL CAPITAL TURNED M
 A7FB..A801    ; Grapheme_Base # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; Grapheme_Base # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -9123,6 +9611,13 @@
 AADB..AADC    ; Grapheme_Base # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; Grapheme_Base # Lm       TAI VIET SYMBOL SAM
 AADE..AADF    ; Grapheme_Base # Po   [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
+AAE0..AAEA    ; Grapheme_Base # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; Grapheme_Base # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEE..AAEF    ; Grapheme_Base # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF0..AAF1    ; Grapheme_Base # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
+AAF2          ; Grapheme_Base # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; Grapheme_Base # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; Grapheme_Base # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 AB01..AB06    ; Grapheme_Base # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; Grapheme_Base # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; Grapheme_Base # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -9138,8 +9633,7 @@
 AC00..D7A3    ; Grapheme_Base # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; Grapheme_Base # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; Grapheme_Base # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; Grapheme_Base # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; Grapheme_Base # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; Grapheme_Base # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; Grapheme_Base # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; Grapheme_Base # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Grapheme_Base # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -9263,8 +9757,7 @@
 1003F..1004D  ; Grapheme_Base # Lo  [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
 10050..1005D  ; Grapheme_Base # Lo  [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
 10080..100FA  ; Grapheme_Base # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10100..10101  ; Grapheme_Base # Po   [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102         ; Grapheme_Base # So       AEGEAN CHECK MARK
+10100..10102  ; Grapheme_Base # Po   [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
 10107..10133  ; Grapheme_Base # No  [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
 10137..1013F  ; Grapheme_Base # So   [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
 10140..10174  ; Grapheme_Base # Nl  [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
@@ -9303,6 +9796,8 @@
 1091F         ; Grapheme_Base # Po       PHOENICIAN WORD SEPARATOR
 10920..10939  ; Grapheme_Base # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 1093F         ; Grapheme_Base # Po       LYDIAN TRIANGULAR MARK
+10980..109B7  ; Grapheme_Base # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; Grapheme_Base # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; Grapheme_Base # Lo       KHAROSHTHI LETTER A
 10A10..10A13  ; Grapheme_Base # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; Grapheme_Base # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -9332,11 +9827,33 @@
 110B7..110B8  ; Grapheme_Base # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
 110BB..110BC  ; Grapheme_Base # Po   [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
 110BE..110C1  ; Grapheme_Base # Po   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+110D0..110E8  ; Grapheme_Base # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9  ; Grapheme_Base # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11103..11126  ; Grapheme_Base # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+1112C         ; Grapheme_Base # Mc       CHAKMA VOWEL SIGN E
+11136..1113F  ; Grapheme_Base # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+11140..11143  ; Grapheme_Base # Po   [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
+11182         ; Grapheme_Base # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; Grapheme_Base # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5  ; Grapheme_Base # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+111BF..111C0  ; Grapheme_Base # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
+111C1..111C4  ; Grapheme_Base # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+111C5..111C8  ; Grapheme_Base # Po   [4] SHARADA DANDA..SHARADA SEPARATOR
+111D0..111D9  ; Grapheme_Base # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+11680..116AA  ; Grapheme_Base # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AC         ; Grapheme_Base # Mc       TAKRI SIGN VISARGA
+116AE..116AF  ; Grapheme_Base # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B6         ; Grapheme_Base # Mc       TAKRI SIGN VIRAMA
+116C0..116C9  ; Grapheme_Base # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
 12000..1236E  ; Grapheme_Base # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; Grapheme_Base # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 12470..12473  ; Grapheme_Base # Po   [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
 13000..1342E  ; Grapheme_Base # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; Grapheme_Base # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; Grapheme_Base # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; Grapheme_Base # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; Grapheme_Base # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F93..16F9F  ; Grapheme_Base # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; Grapheme_Base # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
 1D000..1D0F5  ; Grapheme_Base # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
 1D100..1D126  ; Grapheme_Base # So  [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
@@ -9392,6 +9909,40 @@
 1D7C3         ; Grapheme_Base # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; Grapheme_Base # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; Grapheme_Base # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00..1EE03  ; Grapheme_Base # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Grapheme_Base # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Grapheme_Base # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Grapheme_Base # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Grapheme_Base # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Grapheme_Base # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Grapheme_Base # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Grapheme_Base # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Grapheme_Base # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Grapheme_Base # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Grapheme_Base # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Grapheme_Base # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Grapheme_Base # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Grapheme_Base # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Grapheme_Base # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Grapheme_Base # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Grapheme_Base # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Grapheme_Base # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0..1EEF1  ; Grapheme_Base # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 1F000..1F02B  ; Grapheme_Base # So  [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
 1F030..1F093  ; Grapheme_Base # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
 1F0A0..1F0AE  ; Grapheme_Base # So  [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES
@@ -9400,7 +9951,7 @@
 1F0D1..1F0DF  ; Grapheme_Base # So  [15] PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER
 1F100..1F10A  ; Grapheme_Base # No  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
 1F110..1F12E  ; Grapheme_Base # So  [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F130..1F169  ; Grapheme_Base # So  [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1F130..1F16B  ; Grapheme_Base # So  [60] SQUARED LATIN CAPITAL LETTER A..RAISED MD SIGN
 1F170..1F19A  ; Grapheme_Base # So  [43] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VS
 1F1E6..1F202  ; Grapheme_Base # So  [29] REGIONAL INDICATOR SYMBOL LETTER A..SQUARED KATAKANA SA
 1F210..1F23A  ; Grapheme_Base # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
@@ -9418,19 +9969,9 @@
 1F442..1F4F7  ; Grapheme_Base # So [182] EAR..CAMERA
 1F4F9..1F4FC  ; Grapheme_Base # So   [4] VIDEO CAMERA..VIDEOCASSETTE
 1F500..1F53D  ; Grapheme_Base # So  [62] TWISTED RIGHTWARDS ARROWS..DOWN-POINTING SMALL RED TRIANGLE
+1F540..1F543  ; Grapheme_Base # So   [4] CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
 1F550..1F567  ; Grapheme_Base # So  [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY
-1F5FB..1F5FF  ; Grapheme_Base # So   [5] MOUNT FUJI..MOYAI
-1F601..1F610  ; Grapheme_Base # So  [16] GRINNING FACE WITH SMILING EYES..NEUTRAL FACE
-1F612..1F614  ; Grapheme_Base # So   [3] UNAMUSED FACE..PENSIVE FACE
-1F616         ; Grapheme_Base # So       CONFOUNDED FACE
-1F618         ; Grapheme_Base # So       FACE THROWING A KISS
-1F61A         ; Grapheme_Base # So       KISSING FACE WITH CLOSED EYES
-1F61C..1F61E  ; Grapheme_Base # So   [3] FACE WITH STUCK-OUT TONGUE AND WINKING EYE..DISAPPOINTED FACE
-1F620..1F625  ; Grapheme_Base # So   [6] ANGRY FACE..DISAPPOINTED BUT RELIEVED FACE
-1F628..1F62B  ; Grapheme_Base # So   [4] FEARFUL FACE..TIRED FACE
-1F62D         ; Grapheme_Base # So       LOUDLY CRYING FACE
-1F630..1F633  ; Grapheme_Base # So   [4] FACE WITH OPEN MOUTH AND COLD SWEAT..FLUSHED FACE
-1F635..1F640  ; Grapheme_Base # So  [12] DIZZY FACE..WEARY CAT FACE
+1F5FB..1F640  ; Grapheme_Base # So  [70] MOUNT FUJI..WEARY CAT FACE
 1F645..1F64F  ; Grapheme_Base # So  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
 1F680..1F6C5  ; Grapheme_Base # So  [70] ROCKET..LEFT LUGGAGE
 1F700..1F773  ; Grapheme_Base # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -9439,7 +9980,7 @@
 2B740..2B81D  ; Grapheme_Base # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2F800..2FA1D  ; Grapheme_Base # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 108010
+# Total code points: 108661
 
 # ================================================
 
@@ -9466,6 +10007,7 @@
 1A60          ; Grapheme_Link # Mn       TAI THAM SIGN SAKOT
 1B44          ; Grapheme_Link # Mc       BALINESE ADEG ADEG
 1BAA          ; Grapheme_Link # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; Grapheme_Link # Mn       SUNDANESE SIGN VIRAMA
 1BF2..1BF3    ; Grapheme_Link # Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
 2D7F          ; Grapheme_Link # Mn       TIFINAGH CONSONANT JOINER
 A806          ; Grapheme_Link # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -9472,11 +10014,15 @@
 A8C4          ; Grapheme_Link # Mn       SAURASHTRA SIGN VIRAMA
 A953          ; Grapheme_Link # Mc       REJANG VIRAMA
 A9C0          ; Grapheme_Link # Mc       JAVANESE PANGKON
+AAF6          ; Grapheme_Link # Mn       MEETEI MAYEK VIRAMA
 ABED          ; Grapheme_Link # Mn       MEETEI MAYEK APUN IYEK
 10A3F         ; Grapheme_Link # Mn       KHAROSHTHI VIRAMA
 11046         ; Grapheme_Link # Mn       BRAHMI VIRAMA
 110B9         ; Grapheme_Link # Mn       KAITHI SIGN VIRAMA
+11133..11134  ; Grapheme_Link # Mn   [2] CHAKMA VIRAMA..CHAKMA MAAYYAA
+111C0         ; Grapheme_Link # Mc       SHARADA SIGN VIRAMA
+116B6         ; Grapheme_Link # Mc       TAKRI SIGN VIRAMA
 
-# Total code points: 31
+# Total code points: 37
 
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/DCoreProperties.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/DNormalizationProps.txt
===================================================================
--- vendor/perl/dist/lib/unicore/DNormalizationProps.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/DNormalizationProps.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedNormalizationProps-6.0.0.txt
-# Date: 2010-05-20, 15:14:12 GMT [MD]
+# DerivedNormalizationProps-6.2.0.txt
+# Date: 2012-05-23, 20:34:48 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -131,6 +131,7 @@
 33DD  ; FC_NFKC; 0077 0062      # So  SQUARE WB
 33DE  ; FC_NFKC; 0076 2215 006D # So  SQUARE V OVER M
 33DF  ; FC_NFKC; 0061 2215 006D # So  SQUARE A OVER M
+A7F8  ; FC_NFKC; 0127           # Lm  MODIFIER LETTER CAPITAL H WITH STROKE
 1D400 ; FC_NFKC; 0061           # L&  MATHEMATICAL BOLD CAPITAL A
 1D401 ; FC_NFKC; 0062           # L&  MATHEMATICAL BOLD CAPITAL B
 1D402 ; FC_NFKC; 0063           # L&  MATHEMATICAL BOLD CAPITAL C
@@ -643,9 +644,11 @@
 1F14D ; FC_NFKC; 0073 0073      # So  SQUARED SS
 1F14E ; FC_NFKC; 0070 0070 0076 # So  SQUARED PPV
 1F14F ; FC_NFKC; 0077 0063      # So  SQUARED WC
+1F16A ; FC_NFKC; 006D 0063      # So  RAISED MC SIGN
+1F16B ; FC_NFKC; 006D 0064      # So  RAISED MD SIGN
 1F190 ; FC_NFKC; 0064 006A      # So  SQUARE DJ
 
-# Total code points: 630
+# Total code points: 633
 
 # ================================================
 
@@ -713,8 +716,7 @@
 FA20          ; Full_Composition_Exclusion # Lo       CJK COMPATIBILITY IDEOGRAPH-FA20
 FA22          ; Full_Composition_Exclusion # Lo       CJK COMPATIBILITY IDEOGRAPH-FA22
 FA25..FA26    ; Full_Composition_Exclusion # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D    ; Full_Composition_Exclusion # Lo   [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; Full_Composition_Exclusion # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA2A..FA6D    ; Full_Composition_Exclusion # Lo  [68] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; Full_Composition_Exclusion # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB1D          ; Full_Composition_Exclusion # Lo       HEBREW LETTER YOD WITH HIRIQ
 FB1F          ; Full_Composition_Exclusion # Lo       HEBREW LIGATURE YIDDISH YOD YOD PATAH
@@ -728,7 +730,7 @@
 1D1BB..1D1C0  ; Full_Composition_Exclusion # So   [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
 2F800..2FA1D  ; Full_Composition_Exclusion # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 1118
+# Total code points: 1120
 
 # ================================================
 
@@ -964,8 +966,7 @@
 FA20          ; NFD_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA20
 FA22          ; NFD_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA22
 FA25..FA26    ; NFD_QC; N # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D    ; NFD_QC; N # Lo   [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; NFD_QC; N # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA2A..FA6D    ; NFD_QC; N # Lo  [68] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; NFD_QC; N # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB1D          ; NFD_QC; N # Lo       HEBREW LETTER YOD WITH HIRIQ
 FB1F          ; NFD_QC; N # Lo       HEBREW LIGATURE YIDDISH YOD YOD PATAH
@@ -978,11 +979,12 @@
 1109A         ; NFD_QC; N # Lo       KAITHI LETTER DDDHA
 1109C         ; NFD_QC; N # Lo       KAITHI LETTER RHA
 110AB         ; NFD_QC; N # Lo       KAITHI LETTER VA
+1112E..1112F  ; NFD_QC; N # Mn   [2] CHAKMA VOWEL SIGN O..CHAKMA VOWEL SIGN AU
 1D15E..1D164  ; NFD_QC; N # So   [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
 1D1BB..1D1C0  ; NFD_QC; N # So   [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
 2F800..2FA1D  ; NFD_QC; N # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 13221
+# Total code points: 13225
 
 # ================================================
 
@@ -1058,8 +1060,7 @@
 FA20          ; NFC_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA20
 FA22          ; NFC_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA22
 FA25..FA26    ; NFC_QC; N # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D    ; NFC_QC; N # Lo   [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; NFC_QC; N # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA2A..FA6D    ; NFC_QC; N # Lo  [68] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; NFC_QC; N # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB1D          ; NFC_QC; N # Lo       HEBREW LETTER YOD WITH HIRIQ
 FB1F          ; NFC_QC; N # Lo       HEBREW LIGATURE YIDDISH YOD YOD PATAH
@@ -1073,7 +1074,7 @@
 1D1BB..1D1C0  ; NFC_QC; N # So   [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
 2F800..2FA1D  ; NFC_QC; N # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 1118
+# Total code points: 1120
 
 # ================================================
 
@@ -1114,8 +1115,9 @@
 1B35          ; NFC_QC; M # Mc       BALINESE VOWEL SIGN TEDUNG
 3099..309A    ; NFC_QC; M # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 110BA         ; NFC_QC; M # Mn       KAITHI SIGN NUKTA
+11127         ; NFC_QC; M # Mn       CHAKMA VOWEL SIGN A
 
-# Total code points: 103
+# Total code points: 104
 
 # ================================================
 
@@ -1132,7 +1134,7 @@
 
 00A0          ; NFKD_QC; N # Zs       NO-BREAK SPACE
 00A8          ; NFKD_QC; N # Sk       DIAERESIS
-00AA          ; NFKD_QC; N # L&       FEMININE ORDINAL INDICATOR
+00AA          ; NFKD_QC; N # Lo       FEMININE ORDINAL INDICATOR
 00AF          ; NFKD_QC; N # Sk       MACRON
 00B2..00B3    ; NFKD_QC; N # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
 00B4          ; NFKD_QC; N # Sk       ACUTE ACCENT
@@ -1139,7 +1141,7 @@
 00B5          ; NFKD_QC; N # L&       MICRO SIGN
 00B8          ; NFKD_QC; N # Sk       CEDILLA
 00B9          ; NFKD_QC; N # No       SUPERSCRIPT ONE
-00BA          ; NFKD_QC; N # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; NFKD_QC; N # Lo       MASCULINE ORDINAL INDICATOR
 00BC..00BE    ; NFKD_QC; N # No   [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
 00C0..00C5    ; NFKD_QC; N # L&   [6] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER A WITH RING ABOVE
 00C7..00CF    ; NFKD_QC; N # L&   [9] LATIN CAPITAL LETTER C WITH CEDILLA..LATIN CAPITAL LETTER I WITH DIAERESIS
@@ -1267,8 +1269,7 @@
 1D2C..1D2E    ; NFKD_QC; N # Lm   [3] MODIFIER LETTER CAPITAL A..MODIFIER LETTER CAPITAL B
 1D30..1D3A    ; NFKD_QC; N # Lm  [11] MODIFIER LETTER CAPITAL D..MODIFIER LETTER CAPITAL N
 1D3C..1D4D    ; NFKD_QC; N # Lm  [18] MODIFIER LETTER CAPITAL O..MODIFIER LETTER SMALL G
-1D4F..1D61    ; NFKD_QC; N # Lm  [19] MODIFIER LETTER SMALL K..MODIFIER LETTER SMALL CHI
-1D62..1D6A    ; NFKD_QC; N # L&   [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
+1D4F..1D6A    ; NFKD_QC; N # Lm  [28] MODIFIER LETTER SMALL K..GREEK SUBSCRIPT SMALL LETTER CHI
 1D78          ; NFKD_QC; N # Lm       MODIFIER LETTER CYRILLIC EN
 1D9B..1DBF    ; NFKD_QC; N # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
 1E00..1E9B    ; NFKD_QC; N # L& [156] LATIN CAPITAL LETTER A WITH RING BELOW..LATIN SMALL LETTER LONG S WITH DOT ABOVE
@@ -1383,8 +1384,7 @@
 2A0C          ; NFKD_QC; N # Sm       QUADRUPLE INTEGRAL OPERATOR
 2A74..2A76    ; NFKD_QC; N # Sm   [3] DOUBLE COLON EQUAL..THREE CONSECUTIVE EQUALS SIGNS
 2ADC          ; NFKD_QC; N # Sm       FORKING
-2C7C          ; NFKD_QC; N # L&       LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; NFKD_QC; N # Lm       MODIFIER LETTER CAPITAL V
+2C7C..2C7D    ; NFKD_QC; N # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2D6F          ; NFKD_QC; N # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2E9F          ; NFKD_QC; N # So       CJK RADICAL MOTHER
 2EF3          ; NFKD_QC; N # So       CJK RADICAL C-SIMPLIFIED TURTLE
@@ -1455,6 +1455,7 @@
 32C0..32FE    ; NFKD_QC; N # So  [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
 3300..33FF    ; NFKD_QC; N # So [256] SQUARE APAATO..SQUARE GAL
 A770          ; NFKD_QC; N # Lm       MODIFIER LETTER US
+A7F8..A7F9    ; NFKD_QC; N # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 AC00..D7A3    ; NFKD_QC; N # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 F900..FA0D    ; NFKD_QC; N # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
 FA10          ; NFKD_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA10
@@ -1463,8 +1464,7 @@
 FA20          ; NFKD_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA20
 FA22          ; NFKD_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA22
 FA25..FA26    ; NFKD_QC; N # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D    ; NFKD_QC; N # Lo   [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; NFKD_QC; N # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA2A..FA6D    ; NFKD_QC; N # Lo  [68] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; NFKD_QC; N # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; NFKD_QC; N # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; NFKD_QC; N # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -1580,6 +1580,7 @@
 1109A         ; NFKD_QC; N # Lo       KAITHI LETTER DDDHA
 1109C         ; NFKD_QC; N # Lo       KAITHI LETTER RHA
 110AB         ; NFKD_QC; N # Lo       KAITHI LETTER VA
+1112E..1112F  ; NFKD_QC; N # Mn   [2] CHAKMA VOWEL SIGN O..CHAKMA VOWEL SIGN AU
 1D15E..1D164  ; NFKD_QC; N # So   [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
 1D1BB..1D1C0  ; NFKD_QC; N # So   [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
 1D400..1D454  ; NFKD_QC; N # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
@@ -1623,9 +1624,43 @@
 1D7C3         ; NFKD_QC; N # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; NFKD_QC; N # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; NFKD_QC; N # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00..1EE03  ; NFKD_QC; N # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; NFKD_QC; N # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; NFKD_QC; N # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; NFKD_QC; N # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; NFKD_QC; N # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; NFKD_QC; N # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; NFKD_QC; N # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; NFKD_QC; N # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; NFKD_QC; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; NFKD_QC; N # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; NFKD_QC; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; NFKD_QC; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; NFKD_QC; N # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; NFKD_QC; N # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; NFKD_QC; N # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; NFKD_QC; N # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; NFKD_QC; N # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; NFKD_QC; N # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 1F100..1F10A  ; NFKD_QC; N # No  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
 1F110..1F12E  ; NFKD_QC; N # So  [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
 1F130..1F14F  ; NFKD_QC; N # So  [32] SQUARED LATIN CAPITAL LETTER A..SQUARED WC
+1F16A..1F16B  ; NFKD_QC; N # So   [2] RAISED MC SIGN..RAISED MD SIGN
 1F190         ; NFKD_QC; N # So       SQUARE DJ
 1F200..1F202  ; NFKD_QC; N # So   [3] SQUARE HIRAGANA HOKA..SQUARED KATAKANA SA
 1F210..1F23A  ; NFKD_QC; N # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
@@ -1633,7 +1668,7 @@
 1F250..1F251  ; NFKD_QC; N # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
 2F800..2FA1D  ; NFKD_QC; N # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 16731
+# Total code points: 16880
 
 # ================================================
 
@@ -1650,7 +1685,7 @@
 
 00A0          ; NFKC_QC; N # Zs       NO-BREAK SPACE
 00A8          ; NFKC_QC; N # Sk       DIAERESIS
-00AA          ; NFKC_QC; N # L&       FEMININE ORDINAL INDICATOR
+00AA          ; NFKC_QC; N # Lo       FEMININE ORDINAL INDICATOR
 00AF          ; NFKC_QC; N # Sk       MACRON
 00B2..00B3    ; NFKC_QC; N # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
 00B4          ; NFKC_QC; N # Sk       ACUTE ACCENT
@@ -1657,7 +1692,7 @@
 00B5          ; NFKC_QC; N # L&       MICRO SIGN
 00B8          ; NFKC_QC; N # Sk       CEDILLA
 00B9          ; NFKC_QC; N # No       SUPERSCRIPT ONE
-00BA          ; NFKC_QC; N # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; NFKC_QC; N # Lo       MASCULINE ORDINAL INDICATOR
 00BC..00BE    ; NFKC_QC; N # No   [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
 0132..0133    ; NFKC_QC; N # L&   [2] LATIN CAPITAL LIGATURE IJ..LATIN SMALL LIGATURE IJ
 013F..0140    ; NFKC_QC; N # L&   [2] LATIN CAPITAL LETTER L WITH MIDDLE DOT..LATIN SMALL LETTER L WITH MIDDLE DOT
@@ -1712,8 +1747,7 @@
 1D2C..1D2E    ; NFKC_QC; N # Lm   [3] MODIFIER LETTER CAPITAL A..MODIFIER LETTER CAPITAL B
 1D30..1D3A    ; NFKC_QC; N # Lm  [11] MODIFIER LETTER CAPITAL D..MODIFIER LETTER CAPITAL N
 1D3C..1D4D    ; NFKC_QC; N # Lm  [18] MODIFIER LETTER CAPITAL O..MODIFIER LETTER SMALL G
-1D4F..1D61    ; NFKC_QC; N # Lm  [19] MODIFIER LETTER SMALL K..MODIFIER LETTER SMALL CHI
-1D62..1D6A    ; NFKC_QC; N # L&   [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
+1D4F..1D6A    ; NFKC_QC; N # Lm  [28] MODIFIER LETTER SMALL K..GREEK SUBSCRIPT SMALL LETTER CHI
 1D78          ; NFKC_QC; N # Lm       MODIFIER LETTER CYRILLIC EN
 1D9B..1DBF    ; NFKC_QC; N # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
 1E9A..1E9B    ; NFKC_QC; N # L&   [2] LATIN SMALL LETTER A WITH RIGHT HALF RING..LATIN SMALL LETTER LONG S WITH DOT ABOVE
@@ -1801,8 +1835,7 @@
 2A0C          ; NFKC_QC; N # Sm       QUADRUPLE INTEGRAL OPERATOR
 2A74..2A76    ; NFKC_QC; N # Sm   [3] DOUBLE COLON EQUAL..THREE CONSECUTIVE EQUALS SIGNS
 2ADC          ; NFKC_QC; N # Sm       FORKING
-2C7C          ; NFKC_QC; N # L&       LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; NFKC_QC; N # Lm       MODIFIER LETTER CAPITAL V
+2C7C..2C7D    ; NFKC_QC; N # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2D6F          ; NFKC_QC; N # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2E9F          ; NFKC_QC; N # So       CJK RADICAL MOTHER
 2EF3          ; NFKC_QC; N # So       CJK RADICAL C-SIMPLIFIED TURTLE
@@ -1828,6 +1861,7 @@
 32C0..32FE    ; NFKC_QC; N # So  [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
 3300..33FF    ; NFKC_QC; N # So [256] SQUARE APAATO..SQUARE GAL
 A770          ; NFKC_QC; N # Lm       MODIFIER LETTER US
+A7F8..A7F9    ; NFKC_QC; N # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 F900..FA0D    ; NFKC_QC; N # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
 FA10          ; NFKC_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA10
 FA12          ; NFKC_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA12
@@ -1835,8 +1869,7 @@
 FA20          ; NFKC_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA20
 FA22          ; NFKC_QC; N # Lo       CJK COMPATIBILITY IDEOGRAPH-FA22
 FA25..FA26    ; NFKC_QC; N # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D    ; NFKC_QC; N # Lo   [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; NFKC_QC; N # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA2A..FA6D    ; NFKC_QC; N # Lo  [68] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; NFKC_QC; N # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; NFKC_QC; N # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; NFKC_QC; N # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -1992,9 +2025,43 @@
 1D7C3         ; NFKC_QC; N # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; NFKC_QC; N # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; NFKC_QC; N # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00..1EE03  ; NFKC_QC; N # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; NFKC_QC; N # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; NFKC_QC; N # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; NFKC_QC; N # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; NFKC_QC; N # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; NFKC_QC; N # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; NFKC_QC; N # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; NFKC_QC; N # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; NFKC_QC; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; NFKC_QC; N # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; NFKC_QC; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; NFKC_QC; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; NFKC_QC; N # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; NFKC_QC; N # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; NFKC_QC; N # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; NFKC_QC; N # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; NFKC_QC; N # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; NFKC_QC; N # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 1F100..1F10A  ; NFKC_QC; N # No  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
 1F110..1F12E  ; NFKC_QC; N # So  [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
 1F130..1F14F  ; NFKC_QC; N # So  [32] SQUARED LATIN CAPITAL LETTER A..SQUARED WC
+1F16A..1F16B  ; NFKC_QC; N # So   [2] RAISED MC SIGN..RAISED MD SIGN
 1F190         ; NFKC_QC; N # So       SQUARE DJ
 1F200..1F202  ; NFKC_QC; N # So   [3] SQUARE HIRAGANA HOKA..SQUARED KATAKANA SA
 1F210..1F23A  ; NFKC_QC; N # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
@@ -2002,7 +2069,7 @@
 1F250..1F251  ; NFKC_QC; N # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
 2F800..2FA1D  ; NFKC_QC; N # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 4640
+# Total code points: 4787
 
 # ================================================
 
@@ -2043,8 +2110,9 @@
 1B35          ; NFKC_QC; M # Mc       BALINESE VOWEL SIGN TEDUNG
 3099..309A    ; NFKC_QC; M # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 110BA         ; NFKC_QC; M # Mn       KAITHI SIGN NUKTA
+11127         ; NFKC_QC; M # Mn       CHAKMA VOWEL SIGN A
 
-# Total code points: 103
+# Total code points: 104
 
 # ================================================
 
@@ -2269,10 +2337,11 @@
 1109A         ; Expands_On_NFD # Lo       KAITHI LETTER DDDHA
 1109C         ; Expands_On_NFD # Lo       KAITHI LETTER RHA
 110AB         ; Expands_On_NFD # Lo       KAITHI LETTER VA
+1112E..1112F  ; Expands_On_NFD # Mn   [2] CHAKMA VOWEL SIGN O..CHAKMA VOWEL SIGN AU
 1D15E..1D164  ; Expands_On_NFD # So   [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
 1D1BB..1D1C0  ; Expands_On_NFD # So   [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
 
-# Total code points: 12206
+# Total code points: 12208
 
 # ================================================
 
@@ -2617,6 +2686,7 @@
 1109A         ; Expands_On_NFKD # Lo       KAITHI LETTER DDDHA
 1109C         ; Expands_On_NFKD # Lo       KAITHI LETTER RHA
 110AB         ; Expands_On_NFKD # Lo       KAITHI LETTER VA
+1112E..1112F  ; Expands_On_NFKD # Mn   [2] CHAKMA VOWEL SIGN O..CHAKMA VOWEL SIGN AU
 1D15E..1D164  ; Expands_On_NFKD # So   [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
 1D1BB..1D1C0  ; Expands_On_NFKD # So   [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
 1F100..1F10A  ; Expands_On_NFKD # No  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
@@ -2623,12 +2693,13 @@
 1F110..1F12A  ; Expands_On_NFKD # So  [27] PARENTHESIZED LATIN CAPITAL LETTER A..TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
 1F12D..1F12E  ; Expands_On_NFKD # So   [2] CIRCLED CD..CIRCLED WZ
 1F14A..1F14F  ; Expands_On_NFKD # So   [6] SQUARED HV..SQUARED WC
+1F16A..1F16B  ; Expands_On_NFKD # So   [2] RAISED MC SIGN..RAISED MD SIGN
 1F190         ; Expands_On_NFKD # So       SQUARE DJ
 1F200..1F201  ; Expands_On_NFKD # So   [2] SQUARE HIRAGANA HOKA..SQUARED KATAKANA KOKO
 1F213         ; Expands_On_NFKD # So       SQUARED KATAKANA DE
 1F240..1F248  ; Expands_On_NFKD # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 
-# Total code points: 13376
+# Total code points: 13380
 
 # ================================================
 
@@ -2761,11 +2832,12 @@
 1F110..1F12A  ; Expands_On_NFKC # So  [27] PARENTHESIZED LATIN CAPITAL LETTER A..TORTOISE SHELL BRACKETED LATIN CAPITAL LETTER S
 1F12D..1F12E  ; Expands_On_NFKC # So   [2] CIRCLED CD..CIRCLED WZ
 1F14A..1F14F  ; Expands_On_NFKC # So   [6] SQUARED HV..SQUARED WC
+1F16A..1F16B  ; Expands_On_NFKC # So   [2] RAISED MC SIGN..RAISED MD SIGN
 1F190         ; Expands_On_NFKC # So       SQUARE DJ
 1F200..1F201  ; Expands_On_NFKC # So   [2] SQUARE HIRAGANA HOKA..SQUARED KATAKANA KOKO
 1F240..1F248  ; Expands_On_NFKC # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 
-# Total code points: 1233
+# Total code points: 1235
 
 # ================================================
 
@@ -2810,7 +2882,7 @@
 005A          ; NFKC_CF; 007A           # L&       LATIN CAPITAL LETTER Z
 00A0          ; NFKC_CF; 0020           # Zs       NO-BREAK SPACE
 00A8          ; NFKC_CF; 0020 0308      # Sk       DIAERESIS
-00AA          ; NFKC_CF; 0061           # L&       FEMININE ORDINAL INDICATOR
+00AA          ; NFKC_CF; 0061           # Lo       FEMININE ORDINAL INDICATOR
 00AD          ; NFKC_CF;                # Cf       SOFT HYPHEN
 00AF          ; NFKC_CF; 0020 0304      # Sk       MACRON
 00B2          ; NFKC_CF; 0032           # No       SUPERSCRIPT TWO
@@ -2819,7 +2891,7 @@
 00B5          ; NFKC_CF; 03BC           # L&       MICRO SIGN
 00B8          ; NFKC_CF; 0020 0327      # Sk       CEDILLA
 00B9          ; NFKC_CF; 0031           # No       SUPERSCRIPT ONE
-00BA          ; NFKC_CF; 006F           # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; NFKC_CF; 006F           # Lo       MASCULINE ORDINAL INDICATOR
 00BC          ; NFKC_CF; 0031 2044 0034 # No       VULGAR FRACTION ONE QUARTER
 00BD          ; NFKC_CF; 0031 2044 0032 # No       VULGAR FRACTION ONE HALF
 00BE          ; NFKC_CF; 0033 2044 0034 # No       VULGAR FRACTION THREE QUARTERS
@@ -3390,9 +3462,11 @@
 10C3          ; NFKC_CF; 2D23           # L&       GEORGIAN CAPITAL LETTER WE
 10C4          ; NFKC_CF; 2D24           # L&       GEORGIAN CAPITAL LETTER HAR
 10C5          ; NFKC_CF; 2D25           # L&       GEORGIAN CAPITAL LETTER HOE
+10C7          ; NFKC_CF; 2D27           # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; NFKC_CF; 2D2D           # L&       GEORGIAN CAPITAL LETTER AEN
 10FC          ; NFKC_CF; 10DC           # Lm       MODIFIER LETTER GEORGIAN NAR
 115F..1160    ; NFKC_CF;                # Lo   [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
-17B4..17B5    ; NFKC_CF;                # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; NFKC_CF;                # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 180B..180D    ; NFKC_CF;                # Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
 1D2C          ; NFKC_CF; 0061           # Lm       MODIFIER LETTER CAPITAL A
 1D2D          ; NFKC_CF; 00E6           # Lm       MODIFIER LETTER CAPITAL AE
@@ -3445,15 +3519,15 @@
 1D5F          ; NFKC_CF; 03B4           # Lm       MODIFIER LETTER SMALL DELTA
 1D60          ; NFKC_CF; 03C6           # Lm       MODIFIER LETTER SMALL GREEK PHI
 1D61          ; NFKC_CF; 03C7           # Lm       MODIFIER LETTER SMALL CHI
-1D62          ; NFKC_CF; 0069           # L&       LATIN SUBSCRIPT SMALL LETTER I
-1D63          ; NFKC_CF; 0072           # L&       LATIN SUBSCRIPT SMALL LETTER R
-1D64          ; NFKC_CF; 0075           # L&       LATIN SUBSCRIPT SMALL LETTER U
-1D65          ; NFKC_CF; 0076           # L&       LATIN SUBSCRIPT SMALL LETTER V
-1D66          ; NFKC_CF; 03B2           # L&       GREEK SUBSCRIPT SMALL LETTER BETA
-1D67          ; NFKC_CF; 03B3           # L&       GREEK SUBSCRIPT SMALL LETTER GAMMA
-1D68          ; NFKC_CF; 03C1           # L&       GREEK SUBSCRIPT SMALL LETTER RHO
-1D69          ; NFKC_CF; 03C6           # L&       GREEK SUBSCRIPT SMALL LETTER PHI
-1D6A          ; NFKC_CF; 03C7           # L&       GREEK SUBSCRIPT SMALL LETTER CHI
+1D62          ; NFKC_CF; 0069           # Lm       LATIN SUBSCRIPT SMALL LETTER I
+1D63          ; NFKC_CF; 0072           # Lm       LATIN SUBSCRIPT SMALL LETTER R
+1D64          ; NFKC_CF; 0075           # Lm       LATIN SUBSCRIPT SMALL LETTER U
+1D65          ; NFKC_CF; 0076           # Lm       LATIN SUBSCRIPT SMALL LETTER V
+1D66          ; NFKC_CF; 03B2           # Lm       GREEK SUBSCRIPT SMALL LETTER BETA
+1D67          ; NFKC_CF; 03B3           # Lm       GREEK SUBSCRIPT SMALL LETTER GAMMA
+1D68          ; NFKC_CF; 03C1           # Lm       GREEK SUBSCRIPT SMALL LETTER RHO
+1D69          ; NFKC_CF; 03C6           # Lm       GREEK SUBSCRIPT SMALL LETTER PHI
+1D6A          ; NFKC_CF; 03C7           # Lm       GREEK SUBSCRIPT SMALL LETTER CHI
 1D78          ; NFKC_CF; 043D           # Lm       MODIFIER LETTER CYRILLIC EN
 1D9B          ; NFKC_CF; 0252           # Lm       MODIFIER LETTER SMALL TURNED ALPHA
 1D9C          ; NFKC_CF; 0063           # Lm       MODIFIER LETTER SMALL C
@@ -4148,7 +4222,7 @@
 2C70          ; NFKC_CF; 0252           # L&       LATIN CAPITAL LETTER TURNED ALPHA
 2C72          ; NFKC_CF; 2C73           # L&       LATIN CAPITAL LETTER W WITH HOOK
 2C75          ; NFKC_CF; 2C76           # L&       LATIN CAPITAL LETTER HALF H
-2C7C          ; NFKC_CF; 006A           # L&       LATIN SUBSCRIPT SMALL LETTER J
+2C7C          ; NFKC_CF; 006A           # Lm       LATIN SUBSCRIPT SMALL LETTER J
 2C7D          ; NFKC_CF; 0076           # Lm       MODIFIER LETTER CAPITAL V
 2C7E          ; NFKC_CF; 023F           # L&       LATIN CAPITAL LETTER S WITH SWASH TAIL
 2C7F          ; NFKC_CF; 0240           # L&       LATIN CAPITAL LETTER Z WITH SWASH TAIL
@@ -4204,6 +4278,7 @@
 2CE2          ; NFKC_CF; 2CE3           # L&       COPTIC CAPITAL LETTER OLD NUBIAN WAU
 2CEB          ; NFKC_CF; 2CEC           # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
 2CED          ; NFKC_CF; 2CEE           # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; NFKC_CF; 2CF3           # L&       COPTIC CAPITAL LETTER BOHAIRIC KHEI
 2D6F          ; NFKC_CF; 2D61           # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2E9F          ; NFKC_CF; 6BCD           # So       CJK RADICAL MOTHER
 2EF3          ; NFKC_CF; 9F9F           # So       CJK RADICAL C-SIMPLIFIED TURTLE
@@ -5124,11 +5199,15 @@
 A78B          ; NFKC_CF; A78C           # L&       LATIN CAPITAL LETTER SALTILLO
 A78D          ; NFKC_CF; 0265           # L&       LATIN CAPITAL LETTER TURNED H
 A790          ; NFKC_CF; A791           # L&       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; NFKC_CF; A793           # L&       LATIN CAPITAL LETTER C WITH BAR
 A7A0          ; NFKC_CF; A7A1           # L&       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A2          ; NFKC_CF; A7A3           # L&       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 A7A4          ; NFKC_CF; A7A5           # L&       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 A7A6          ; NFKC_CF; A7A7           # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8          ; NFKC_CF; A7A9           # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+A7AA          ; NFKC_CF; 0266           # L&       LATIN CAPITAL LETTER H WITH HOOK
+A7F8          ; NFKC_CF; 0127           # Lm       MODIFIER LETTER CAPITAL H WITH STROKE
+A7F9          ; NFKC_CF; 0153           # Lm       MODIFIER LETTER SMALL LIGATURE OE
 F900          ; NFKC_CF; 8C48           # Lo       CJK COMPATIBILITY IDEOGRAPH-F900
 F901          ; NFKC_CF; 66F4           # Lo       CJK COMPATIBILITY IDEOGRAPH-F901
 F902          ; NFKC_CF; 8ECA           # Lo       CJK COMPATIBILITY IDEOGRAPH-F902
@@ -5418,6 +5497,8 @@
 FA2B          ; NFKC_CF; 98FC           # Lo       CJK COMPATIBILITY IDEOGRAPH-FA2B
 FA2C          ; NFKC_CF; 9928           # Lo       CJK COMPATIBILITY IDEOGRAPH-FA2C
 FA2D          ; NFKC_CF; 9DB4           # Lo       CJK COMPATIBILITY IDEOGRAPH-FA2D
+FA2E          ; NFKC_CF; 90DE           # Lo       CJK COMPATIBILITY IDEOGRAPH-FA2E
+FA2F          ; NFKC_CF; 96B7           # Lo       CJK COMPATIBILITY IDEOGRAPH-FA2F
 FA30          ; NFKC_CF; 4FAE           # Lo       CJK COMPATIBILITY IDEOGRAPH-FA30
 FA31          ; NFKC_CF; 50E7           # Lo       CJK COMPATIBILITY IDEOGRAPH-FA31
 FA32          ; NFKC_CF; 514D           # Lo       CJK COMPATIBILITY IDEOGRAPH-FA32
@@ -7507,6 +7588,147 @@
 1D7FD         ; NFKC_CF; 0037           # Nd       MATHEMATICAL MONOSPACE DIGIT SEVEN
 1D7FE         ; NFKC_CF; 0038           # Nd       MATHEMATICAL MONOSPACE DIGIT EIGHT
 1D7FF         ; NFKC_CF; 0039           # Nd       MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00         ; NFKC_CF; 0627           # Lo       ARABIC MATHEMATICAL ALEF
+1EE01         ; NFKC_CF; 0628           # Lo       ARABIC MATHEMATICAL BEH
+1EE02         ; NFKC_CF; 062C           # Lo       ARABIC MATHEMATICAL JEEM
+1EE03         ; NFKC_CF; 062F           # Lo       ARABIC MATHEMATICAL DAL
+1EE05         ; NFKC_CF; 0648           # Lo       ARABIC MATHEMATICAL WAW
+1EE06         ; NFKC_CF; 0632           # Lo       ARABIC MATHEMATICAL ZAIN
+1EE07         ; NFKC_CF; 062D           # Lo       ARABIC MATHEMATICAL HAH
+1EE08         ; NFKC_CF; 0637           # Lo       ARABIC MATHEMATICAL TAH
+1EE09         ; NFKC_CF; 064A           # Lo       ARABIC MATHEMATICAL YEH
+1EE0A         ; NFKC_CF; 0643           # Lo       ARABIC MATHEMATICAL KAF
+1EE0B         ; NFKC_CF; 0644           # Lo       ARABIC MATHEMATICAL LAM
+1EE0C         ; NFKC_CF; 0645           # Lo       ARABIC MATHEMATICAL MEEM
+1EE0D         ; NFKC_CF; 0646           # Lo       ARABIC MATHEMATICAL NOON
+1EE0E         ; NFKC_CF; 0633           # Lo       ARABIC MATHEMATICAL SEEN
+1EE0F         ; NFKC_CF; 0639           # Lo       ARABIC MATHEMATICAL AIN
+1EE10         ; NFKC_CF; 0641           # Lo       ARABIC MATHEMATICAL FEH
+1EE11         ; NFKC_CF; 0635           # Lo       ARABIC MATHEMATICAL SAD
+1EE12         ; NFKC_CF; 0642           # Lo       ARABIC MATHEMATICAL QAF
+1EE13         ; NFKC_CF; 0631           # Lo       ARABIC MATHEMATICAL REH
+1EE14         ; NFKC_CF; 0634           # Lo       ARABIC MATHEMATICAL SHEEN
+1EE15         ; NFKC_CF; 062A           # Lo       ARABIC MATHEMATICAL TEH
+1EE16         ; NFKC_CF; 062B           # Lo       ARABIC MATHEMATICAL THEH
+1EE17         ; NFKC_CF; 062E           # Lo       ARABIC MATHEMATICAL KHAH
+1EE18         ; NFKC_CF; 0630           # Lo       ARABIC MATHEMATICAL THAL
+1EE19         ; NFKC_CF; 0636           # Lo       ARABIC MATHEMATICAL DAD
+1EE1A         ; NFKC_CF; 0638           # Lo       ARABIC MATHEMATICAL ZAH
+1EE1B         ; NFKC_CF; 063A           # Lo       ARABIC MATHEMATICAL GHAIN
+1EE1C         ; NFKC_CF; 066E           # Lo       ARABIC MATHEMATICAL DOTLESS BEH
+1EE1D         ; NFKC_CF; 06BA           # Lo       ARABIC MATHEMATICAL DOTLESS NOON
+1EE1E         ; NFKC_CF; 06A1           # Lo       ARABIC MATHEMATICAL DOTLESS FEH
+1EE1F         ; NFKC_CF; 066F           # Lo       ARABIC MATHEMATICAL DOTLESS QAF
+1EE21         ; NFKC_CF; 0628           # Lo       ARABIC MATHEMATICAL INITIAL BEH
+1EE22         ; NFKC_CF; 062C           # Lo       ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; NFKC_CF; 0647           # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; NFKC_CF; 062D           # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29         ; NFKC_CF; 064A           # Lo       ARABIC MATHEMATICAL INITIAL YEH
+1EE2A         ; NFKC_CF; 0643           # Lo       ARABIC MATHEMATICAL INITIAL KAF
+1EE2B         ; NFKC_CF; 0644           # Lo       ARABIC MATHEMATICAL INITIAL LAM
+1EE2C         ; NFKC_CF; 0645           # Lo       ARABIC MATHEMATICAL INITIAL MEEM
+1EE2D         ; NFKC_CF; 0646           # Lo       ARABIC MATHEMATICAL INITIAL NOON
+1EE2E         ; NFKC_CF; 0633           # Lo       ARABIC MATHEMATICAL INITIAL SEEN
+1EE2F         ; NFKC_CF; 0639           # Lo       ARABIC MATHEMATICAL INITIAL AIN
+1EE30         ; NFKC_CF; 0641           # Lo       ARABIC MATHEMATICAL INITIAL FEH
+1EE31         ; NFKC_CF; 0635           # Lo       ARABIC MATHEMATICAL INITIAL SAD
+1EE32         ; NFKC_CF; 0642           # Lo       ARABIC MATHEMATICAL INITIAL QAF
+1EE34         ; NFKC_CF; 0634           # Lo       ARABIC MATHEMATICAL INITIAL SHEEN
+1EE35         ; NFKC_CF; 062A           # Lo       ARABIC MATHEMATICAL INITIAL TEH
+1EE36         ; NFKC_CF; 062B           # Lo       ARABIC MATHEMATICAL INITIAL THEH
+1EE37         ; NFKC_CF; 062E           # Lo       ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; NFKC_CF; 0636           # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; NFKC_CF; 063A           # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; NFKC_CF; 062C           # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; NFKC_CF; 062D           # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; NFKC_CF; 064A           # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; NFKC_CF; 0644           # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D         ; NFKC_CF; 0646           # Lo       ARABIC MATHEMATICAL TAILED NOON
+1EE4E         ; NFKC_CF; 0633           # Lo       ARABIC MATHEMATICAL TAILED SEEN
+1EE4F         ; NFKC_CF; 0639           # Lo       ARABIC MATHEMATICAL TAILED AIN
+1EE51         ; NFKC_CF; 0635           # Lo       ARABIC MATHEMATICAL TAILED SAD
+1EE52         ; NFKC_CF; 0642           # Lo       ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; NFKC_CF; 0634           # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; NFKC_CF; 062E           # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; NFKC_CF; 0636           # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; NFKC_CF; 063A           # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; NFKC_CF; 06BA           # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; NFKC_CF; 066F           # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61         ; NFKC_CF; 0628           # Lo       ARABIC MATHEMATICAL STRETCHED BEH
+1EE62         ; NFKC_CF; 062C           # Lo       ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; NFKC_CF; 0647           # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67         ; NFKC_CF; 062D           # Lo       ARABIC MATHEMATICAL STRETCHED HAH
+1EE68         ; NFKC_CF; 0637           # Lo       ARABIC MATHEMATICAL STRETCHED TAH
+1EE69         ; NFKC_CF; 064A           # Lo       ARABIC MATHEMATICAL STRETCHED YEH
+1EE6A         ; NFKC_CF; 0643           # Lo       ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C         ; NFKC_CF; 0645           # Lo       ARABIC MATHEMATICAL STRETCHED MEEM
+1EE6D         ; NFKC_CF; 0646           # Lo       ARABIC MATHEMATICAL STRETCHED NOON
+1EE6E         ; NFKC_CF; 0633           # Lo       ARABIC MATHEMATICAL STRETCHED SEEN
+1EE6F         ; NFKC_CF; 0639           # Lo       ARABIC MATHEMATICAL STRETCHED AIN
+1EE70         ; NFKC_CF; 0641           # Lo       ARABIC MATHEMATICAL STRETCHED FEH
+1EE71         ; NFKC_CF; 0635           # Lo       ARABIC MATHEMATICAL STRETCHED SAD
+1EE72         ; NFKC_CF; 0642           # Lo       ARABIC MATHEMATICAL STRETCHED QAF
+1EE74         ; NFKC_CF; 0634           # Lo       ARABIC MATHEMATICAL STRETCHED SHEEN
+1EE75         ; NFKC_CF; 062A           # Lo       ARABIC MATHEMATICAL STRETCHED TEH
+1EE76         ; NFKC_CF; 062B           # Lo       ARABIC MATHEMATICAL STRETCHED THEH
+1EE77         ; NFKC_CF; 062E           # Lo       ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79         ; NFKC_CF; 0636           # Lo       ARABIC MATHEMATICAL STRETCHED DAD
+1EE7A         ; NFKC_CF; 0638           # Lo       ARABIC MATHEMATICAL STRETCHED ZAH
+1EE7B         ; NFKC_CF; 063A           # Lo       ARABIC MATHEMATICAL STRETCHED GHAIN
+1EE7C         ; NFKC_CF; 066E           # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; NFKC_CF; 06A1           # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80         ; NFKC_CF; 0627           # Lo       ARABIC MATHEMATICAL LOOPED ALEF
+1EE81         ; NFKC_CF; 0628           # Lo       ARABIC MATHEMATICAL LOOPED BEH
+1EE82         ; NFKC_CF; 062C           # Lo       ARABIC MATHEMATICAL LOOPED JEEM
+1EE83         ; NFKC_CF; 062F           # Lo       ARABIC MATHEMATICAL LOOPED DAL
+1EE84         ; NFKC_CF; 0647           # Lo       ARABIC MATHEMATICAL LOOPED HEH
+1EE85         ; NFKC_CF; 0648           # Lo       ARABIC MATHEMATICAL LOOPED WAW
+1EE86         ; NFKC_CF; 0632           # Lo       ARABIC MATHEMATICAL LOOPED ZAIN
+1EE87         ; NFKC_CF; 062D           # Lo       ARABIC MATHEMATICAL LOOPED HAH
+1EE88         ; NFKC_CF; 0637           # Lo       ARABIC MATHEMATICAL LOOPED TAH
+1EE89         ; NFKC_CF; 064A           # Lo       ARABIC MATHEMATICAL LOOPED YEH
+1EE8B         ; NFKC_CF; 0644           # Lo       ARABIC MATHEMATICAL LOOPED LAM
+1EE8C         ; NFKC_CF; 0645           # Lo       ARABIC MATHEMATICAL LOOPED MEEM
+1EE8D         ; NFKC_CF; 0646           # Lo       ARABIC MATHEMATICAL LOOPED NOON
+1EE8E         ; NFKC_CF; 0633           # Lo       ARABIC MATHEMATICAL LOOPED SEEN
+1EE8F         ; NFKC_CF; 0639           # Lo       ARABIC MATHEMATICAL LOOPED AIN
+1EE90         ; NFKC_CF; 0641           # Lo       ARABIC MATHEMATICAL LOOPED FEH
+1EE91         ; NFKC_CF; 0635           # Lo       ARABIC MATHEMATICAL LOOPED SAD
+1EE92         ; NFKC_CF; 0642           # Lo       ARABIC MATHEMATICAL LOOPED QAF
+1EE93         ; NFKC_CF; 0631           # Lo       ARABIC MATHEMATICAL LOOPED REH
+1EE94         ; NFKC_CF; 0634           # Lo       ARABIC MATHEMATICAL LOOPED SHEEN
+1EE95         ; NFKC_CF; 062A           # Lo       ARABIC MATHEMATICAL LOOPED TEH
+1EE96         ; NFKC_CF; 062B           # Lo       ARABIC MATHEMATICAL LOOPED THEH
+1EE97         ; NFKC_CF; 062E           # Lo       ARABIC MATHEMATICAL LOOPED KHAH
+1EE98         ; NFKC_CF; 0630           # Lo       ARABIC MATHEMATICAL LOOPED THAL
+1EE99         ; NFKC_CF; 0636           # Lo       ARABIC MATHEMATICAL LOOPED DAD
+1EE9A         ; NFKC_CF; 0638           # Lo       ARABIC MATHEMATICAL LOOPED ZAH
+1EE9B         ; NFKC_CF; 063A           # Lo       ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1         ; NFKC_CF; 0628           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+1EEA2         ; NFKC_CF; 062C           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+1EEA3         ; NFKC_CF; 062F           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5         ; NFKC_CF; 0648           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+1EEA6         ; NFKC_CF; 0632           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+1EEA7         ; NFKC_CF; 062D           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+1EEA8         ; NFKC_CF; 0637           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+1EEA9         ; NFKC_CF; 064A           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB         ; NFKC_CF; 0644           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+1EEAC         ; NFKC_CF; 0645           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+1EEAD         ; NFKC_CF; 0646           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+1EEAE         ; NFKC_CF; 0633           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+1EEAF         ; NFKC_CF; 0639           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+1EEB0         ; NFKC_CF; 0641           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+1EEB1         ; NFKC_CF; 0635           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+1EEB2         ; NFKC_CF; 0642           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+1EEB3         ; NFKC_CF; 0631           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+1EEB4         ; NFKC_CF; 0634           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+1EEB5         ; NFKC_CF; 062A           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+1EEB6         ; NFKC_CF; 062B           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+1EEB7         ; NFKC_CF; 062E           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+1EEB8         ; NFKC_CF; 0630           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+1EEB9         ; NFKC_CF; 0636           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+1EEBA         ; NFKC_CF; 0638           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+1EEBB         ; NFKC_CF; 063A           # Lo       ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 1F100         ; NFKC_CF; 0030 002E      # No       DIGIT ZERO FULL STOP
 1F101         ; NFKC_CF; 0030 002C      # No       DIGIT ZERO COMMA
 1F102         ; NFKC_CF; 0031 002C      # No       DIGIT ONE COMMA
@@ -7581,6 +7803,8 @@
 1F14D         ; NFKC_CF; 0073 0073      # So       SQUARED SS
 1F14E         ; NFKC_CF; 0070 0070 0076 # So       SQUARED PPV
 1F14F         ; NFKC_CF; 0077 0063      # So       SQUARED WC
+1F16A         ; NFKC_CF; 006D 0063      # So       RAISED MC SIGN
+1F16B         ; NFKC_CF; 006D 0064      # So       RAISED MD SIGN
 1F190         ; NFKC_CF; 0064 006A      # So       SQUARE DJ
 1F200         ; NFKC_CF; 307B 304B      # So       SQUARE HIRAGANA HOKA
 1F201         ; NFKC_CF; 30B3 30B3      # So       SQUARED KATAKANA KOKO
@@ -8179,7 +8403,7 @@
 E0100..E01EF  ; NFKC_CF;                # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 E01F0..E0FFF  ; NFKC_CF;                # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
 
-# Total code points: 9792
+# Total code points: 9944
 
 # ================================================
 
@@ -8190,7 +8414,7 @@
 0041..005A    ; Changes_When_NFKC_Casefolded # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 00A0          ; Changes_When_NFKC_Casefolded # Zs       NO-BREAK SPACE
 00A8          ; Changes_When_NFKC_Casefolded # Sk       DIAERESIS
-00AA          ; Changes_When_NFKC_Casefolded # L&       FEMININE ORDINAL INDICATOR
+00AA          ; Changes_When_NFKC_Casefolded # Lo       FEMININE ORDINAL INDICATOR
 00AD          ; Changes_When_NFKC_Casefolded # Cf       SOFT HYPHEN
 00AF          ; Changes_When_NFKC_Casefolded # Sk       MACRON
 00B2..00B3    ; Changes_When_NFKC_Casefolded # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
@@ -8198,7 +8422,7 @@
 00B5          ; Changes_When_NFKC_Casefolded # L&       MICRO SIGN
 00B8          ; Changes_When_NFKC_Casefolded # Sk       CEDILLA
 00B9          ; Changes_When_NFKC_Casefolded # No       SUPERSCRIPT ONE
-00BA          ; Changes_When_NFKC_Casefolded # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; Changes_When_NFKC_Casefolded # Lo       MASCULINE ORDINAL INDICATOR
 00BC..00BE    ; Changes_When_NFKC_Casefolded # No   [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
 00C0..00D6    ; Changes_When_NFKC_Casefolded # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00DF    ; Changes_When_NFKC_Casefolded # L&   [8] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER SHARP S
@@ -8503,15 +8727,16 @@
 0FAC          ; Changes_When_NFKC_Casefolded # Mn       TIBETAN SUBJOINED LETTER DZHA
 0FB9          ; Changes_When_NFKC_Casefolded # Mn       TIBETAN SUBJOINED LETTER KSSA
 10A0..10C5    ; Changes_When_NFKC_Casefolded # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Changes_When_NFKC_Casefolded # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Changes_When_NFKC_Casefolded # L&       GEORGIAN CAPITAL LETTER AEN
 10FC          ; Changes_When_NFKC_Casefolded # Lm       MODIFIER LETTER GEORGIAN NAR
 115F..1160    ; Changes_When_NFKC_Casefolded # Lo   [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
-17B4..17B5    ; Changes_When_NFKC_Casefolded # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; Changes_When_NFKC_Casefolded # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 180B..180D    ; Changes_When_NFKC_Casefolded # Mn   [3] MONGOLIAN FREE VARIATION SELECTOR ONE..MONGOLIAN FREE VARIATION SELECTOR THREE
 1D2C..1D2E    ; Changes_When_NFKC_Casefolded # Lm   [3] MODIFIER LETTER CAPITAL A..MODIFIER LETTER CAPITAL B
 1D30..1D3A    ; Changes_When_NFKC_Casefolded # Lm  [11] MODIFIER LETTER CAPITAL D..MODIFIER LETTER CAPITAL N
 1D3C..1D4D    ; Changes_When_NFKC_Casefolded # Lm  [18] MODIFIER LETTER CAPITAL O..MODIFIER LETTER SMALL G
-1D4F..1D61    ; Changes_When_NFKC_Casefolded # Lm  [19] MODIFIER LETTER SMALL K..MODIFIER LETTER SMALL CHI
-1D62..1D6A    ; Changes_When_NFKC_Casefolded # L&   [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
+1D4F..1D6A    ; Changes_When_NFKC_Casefolded # Lm  [28] MODIFIER LETTER SMALL K..GREEK SUBSCRIPT SMALL LETTER CHI
 1D78          ; Changes_When_NFKC_Casefolded # Lm       MODIFIER LETTER CYRILLIC EN
 1D9B..1DBF    ; Changes_When_NFKC_Casefolded # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
 1E00          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER A WITH RING BELOW
@@ -8749,8 +8974,7 @@
 2C6D..2C70    ; Changes_When_NFKC_Casefolded # L&   [4] LATIN CAPITAL LETTER ALPHA..LATIN CAPITAL LETTER TURNED ALPHA
 2C72          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER W WITH HOOK
 2C75          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER HALF H
-2C7C          ; Changes_When_NFKC_Casefolded # L&       LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; Changes_When_NFKC_Casefolded # Lm       MODIFIER LETTER CAPITAL V
+2C7C..2C7D    ; Changes_When_NFKC_Casefolded # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2C80    ; Changes_When_NFKC_Casefolded # L&   [3] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC CAPITAL LETTER ALFA
 2C82          ; Changes_When_NFKC_Casefolded # L&       COPTIC CAPITAL LETTER VIDA
 2C84          ; Changes_When_NFKC_Casefolded # L&       COPTIC CAPITAL LETTER GAMMA
@@ -8803,6 +9027,7 @@
 2CE2          ; Changes_When_NFKC_Casefolded # L&       COPTIC CAPITAL LETTER OLD NUBIAN WAU
 2CEB          ; Changes_When_NFKC_Casefolded # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
 2CED          ; Changes_When_NFKC_Casefolded # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; Changes_When_NFKC_Casefolded # L&       COPTIC CAPITAL LETTER BOHAIRIC KHEI
 2D6F          ; Changes_When_NFKC_Casefolded # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2E9F          ; Changes_When_NFKC_Casefolded # So       CJK RADICAL MOTHER
 2EF3          ; Changes_When_NFKC_Casefolded # So       CJK RADICAL C-SIMPLIFIED TURTLE
@@ -8911,11 +9136,14 @@
 A78B          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER SALTILLO
 A78D          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER TURNED H
 A790          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER C WITH BAR
 A7A0          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A2          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 A7A4          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER N WITH OBLIQUE STROKE
 A7A6          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER R WITH OBLIQUE STROKE
 A7A8          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
+A7AA          ; Changes_When_NFKC_Casefolded # L&       LATIN CAPITAL LETTER H WITH HOOK
+A7F8..A7F9    ; Changes_When_NFKC_Casefolded # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 F900..FA0D    ; Changes_When_NFKC_Casefolded # Lo [270] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA0D
 FA10          ; Changes_When_NFKC_Casefolded # Lo       CJK COMPATIBILITY IDEOGRAPH-FA10
 FA12          ; Changes_When_NFKC_Casefolded # Lo       CJK COMPATIBILITY IDEOGRAPH-FA12
@@ -8923,8 +9151,7 @@
 FA20          ; Changes_When_NFKC_Casefolded # Lo       CJK COMPATIBILITY IDEOGRAPH-FA20
 FA22          ; Changes_When_NFKC_Casefolded # Lo       CJK COMPATIBILITY IDEOGRAPH-FA22
 FA25..FA26    ; Changes_When_NFKC_Casefolded # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D    ; Changes_When_NFKC_Casefolded # Lo   [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; Changes_When_NFKC_Casefolded # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA2A..FA6D    ; Changes_When_NFKC_Casefolded # Lo  [68] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; Changes_When_NFKC_Casefolded # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; Changes_When_NFKC_Casefolded # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; Changes_When_NFKC_Casefolded # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -9085,9 +9312,43 @@
 1D7C3         ; Changes_When_NFKC_Casefolded # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; Changes_When_NFKC_Casefolded # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; Changes_When_NFKC_Casefolded # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00..1EE03  ; Changes_When_NFKC_Casefolded # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Changes_When_NFKC_Casefolded # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Changes_When_NFKC_Casefolded # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Changes_When_NFKC_Casefolded # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Changes_When_NFKC_Casefolded # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Changes_When_NFKC_Casefolded # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Changes_When_NFKC_Casefolded # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Changes_When_NFKC_Casefolded # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Changes_When_NFKC_Casefolded # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Changes_When_NFKC_Casefolded # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Changes_When_NFKC_Casefolded # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Changes_When_NFKC_Casefolded # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Changes_When_NFKC_Casefolded # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Changes_When_NFKC_Casefolded # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Changes_When_NFKC_Casefolded # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Changes_When_NFKC_Casefolded # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Changes_When_NFKC_Casefolded # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Changes_When_NFKC_Casefolded # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 1F100..1F10A  ; Changes_When_NFKC_Casefolded # No  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
 1F110..1F12E  ; Changes_When_NFKC_Casefolded # So  [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
 1F130..1F14F  ; Changes_When_NFKC_Casefolded # So  [32] SQUARED LATIN CAPITAL LETTER A..SQUARED WC
+1F16A..1F16B  ; Changes_When_NFKC_Casefolded # So   [2] RAISED MC SIGN..RAISED MD SIGN
 1F190         ; Changes_When_NFKC_Casefolded # So       SQUARE DJ
 1F200..1F202  ; Changes_When_NFKC_Casefolded # So   [3] SQUARE HIRAGANA HOKA..SQUARED KATAKANA SA
 1F210..1F23A  ; Changes_When_NFKC_Casefolded # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
@@ -9102,6 +9363,6 @@
 E0100..E01EF  ; Changes_When_NFKC_Casefolded # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 E01F0..E0FFF  ; Changes_When_NFKC_Casefolded # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
 
-# Total code points: 9792
+# Total code points: 9944
 
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/DNormalizationProps.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/EastAsianWidth.txt
===================================================================
--- vendor/perl/dist/lib/unicore/EastAsianWidth.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/EastAsianWidth.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
-# EastAsianWidth-6.0.0.txt
-# Date: 2010-08-17, 12:17:00 PDT [KW]
+# EastAsianWidth-6.2.0.txt
+# Date: 2012-05-15, 18:30:00 GMT [KW]
 #
 # East Asian Width Properties
 #
@@ -6,7 +6,7 @@
 # This file is an informative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # The format is two fields separated by a semicolon.
@@ -1432,6 +1432,7 @@
 0587;N # ARMENIAN SMALL LIGATURE ECH YIWN
 0589;N # ARMENIAN FULL STOP
 058A;N # ARMENIAN HYPHEN
+058F;N # ARMENIAN DRAM SIGN
 0591;N # HEBREW ACCENT ETNAHTA
 0592;N # HEBREW ACCENT SEGOL
 0593;N # HEBREW ACCENT SHALSHELET
@@ -1523,6 +1524,7 @@
 0601;N # ARABIC SIGN SANAH
 0602;N # ARABIC FOOTNOTE MARKER
 0603;N # ARABIC SIGN SAFHA
+0604;N # ARABIC SIGN SAMVAT
 0606;N # ARABIC-INDIC CUBE ROOT
 0607;N # ARABIC-INDIC FOURTH ROOT
 0608;N # ARABIC RAY
@@ -2095,6 +2097,45 @@
 085A;N # MANDAIC VOCALIZATION MARK
 085B;N # MANDAIC GEMINATION MARK
 085E;N # MANDAIC PUNCTUATION
+08A0;N # ARABIC LETTER BEH WITH SMALL V BELOW
+08A2;N # ARABIC LETTER JEEM WITH TWO DOTS ABOVE
+08A3;N # ARABIC LETTER TAH WITH TWO DOTS ABOVE
+08A4;N # ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
+08A5;N # ARABIC LETTER QAF WITH DOT BELOW
+08A6;N # ARABIC LETTER LAM WITH DOUBLE BAR
+08A7;N # ARABIC LETTER MEEM WITH THREE DOTS ABOVE
+08A8;N # ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
+08A9;N # ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+08AA;N # ARABIC LETTER REH WITH LOOP
+08AB;N # ARABIC LETTER WAW WITH DOT WITHIN
+08AC;N # ARABIC LETTER ROHINGYA YEH
+08E4;N # ARABIC CURLY FATHA
+08E5;N # ARABIC CURLY DAMMA
+08E6;N # ARABIC CURLY KASRA
+08E7;N # ARABIC CURLY FATHATAN
+08E8;N # ARABIC CURLY DAMMATAN
+08E9;N # ARABIC CURLY KASRATAN
+08EA;N # ARABIC TONE ONE DOT ABOVE
+08EB;N # ARABIC TONE TWO DOTS ABOVE
+08EC;N # ARABIC TONE LOOP ABOVE
+08ED;N # ARABIC TONE ONE DOT BELOW
+08EE;N # ARABIC TONE TWO DOTS BELOW
+08EF;N # ARABIC TONE LOOP BELOW
+08F0;N # ARABIC OPEN FATHATAN
+08F1;N # ARABIC OPEN DAMMATAN
+08F2;N # ARABIC OPEN KASRATAN
+08F3;N # ARABIC SMALL HIGH WAW
+08F4;N # ARABIC FATHA WITH RING
+08F5;N # ARABIC FATHA WITH DOT ABOVE
+08F6;N # ARABIC KASRA WITH DOT BELOW
+08F7;N # ARABIC LEFT ARROWHEAD ABOVE
+08F8;N # ARABIC RIGHT ARROWHEAD ABOVE
+08F9;N # ARABIC LEFT ARROWHEAD BELOW
+08FA;N # ARABIC RIGHT ARROWHEAD BELOW
+08FB;N # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE
+08FC;N # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT
+08FD;N # ARABIC RIGHT ARROWHEAD ABOVE WITH DOT
+08FE;N # ARABIC DAMMA WITH DOT
 0900;N # DEVANAGARI SIGN INVERTED CANDRABINDU
 0901;N # DEVANAGARI SIGN CANDRABINDU
 0902;N # DEVANAGARI SIGN ANUSVARA
@@ -2475,6 +2516,7 @@
 0AED;N # GUJARATI DIGIT SEVEN
 0AEE;N # GUJARATI DIGIT EIGHT
 0AEF;N # GUJARATI DIGIT NINE
+0AF0;N # GUJARATI ABBREVIATION SIGN
 0AF1;N # GUJARATI RUPEE SIGN
 0B01;N # ORIYA SIGN CANDRABINDU
 0B02;N # ORIYA SIGN ANUSVARA
@@ -3147,6 +3189,8 @@
 0ED9;N # LAO DIGIT NINE
 0EDC;N # LAO HO NO
 0EDD;N # LAO HO MO
+0EDE;N # LAO LETTER KHMU GO
+0EDF;N # LAO LETTER KHMU NYO
 0F00;N # TIBETAN SYLLABLE OM
 0F01;N # TIBETAN MARK GTER YIG MGO TRUNCATED A
 0F02;N # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
@@ -3556,6 +3600,8 @@
 10C3;N # GEORGIAN CAPITAL LETTER WE
 10C4;N # GEORGIAN CAPITAL LETTER HAR
 10C5;N # GEORGIAN CAPITAL LETTER HOE
+10C7;N # GEORGIAN CAPITAL LETTER YN
+10CD;N # GEORGIAN CAPITAL LETTER AEN
 10D0;N # GEORGIAN LETTER AN
 10D1;N # GEORGIAN LETTER BAN
 10D2;N # GEORGIAN LETTER GAN
@@ -3601,6 +3647,9 @@
 10FA;N # GEORGIAN LETTER AIN
 10FB;N # GEORGIAN PARAGRAPH SEPARATOR
 10FC;N # MODIFIER LETTER GEORGIAN NAR
+10FD;N # GEORGIAN LETTER AEN
+10FE;N # GEORGIAN LETTER HARD SIGN
+10FF;N # GEORGIAN LETTER LABIAL SIGN
 1100;W # HANGUL CHOSEONG KIYEOK
 1101;W # HANGUL CHOSEONG SSANGKIYEOK
 1102;W # HANGUL CHOSEONG NIEUN
@@ -3764,11 +3813,11 @@
 11A0;N # HANGUL JUNGSEONG ARAEA-U
 11A1;N # HANGUL JUNGSEONG ARAEA-I
 11A2;N # HANGUL JUNGSEONG SSANGARAEA
-11A3;W # HANGUL JUNGSEONG A-EU
-11A4;W # HANGUL JUNGSEONG YA-U
-11A5;W # HANGUL JUNGSEONG YEO-YA
-11A6;W # HANGUL JUNGSEONG O-YA
-11A7;W # HANGUL JUNGSEONG O-YAE
+11A3;N # HANGUL JUNGSEONG A-EU
+11A4;N # HANGUL JUNGSEONG YA-U
+11A5;N # HANGUL JUNGSEONG YEO-YA
+11A6;N # HANGUL JUNGSEONG O-YA
+11A7;N # HANGUL JUNGSEONG O-YAE
 11A8;N # HANGUL JONGSEONG KIYEOK
 11A9;N # HANGUL JONGSEONG SSANGKIYEOK
 11AA;N # HANGUL JONGSEONG KIYEOK-SIOS
@@ -3851,12 +3900,12 @@
 11F7;N # HANGUL JONGSEONG HIEUH-MIEUM
 11F8;N # HANGUL JONGSEONG HIEUH-PIEUP
 11F9;N # HANGUL JONGSEONG YEORINHIEUH
-11FA;W # HANGUL JONGSEONG KIYEOK-NIEUN
-11FB;W # HANGUL JONGSEONG KIYEOK-PIEUP
-11FC;W # HANGUL JONGSEONG KIYEOK-CHIEUCH
-11FD;W # HANGUL JONGSEONG KIYEOK-KHIEUKH
-11FE;W # HANGUL JONGSEONG KIYEOK-HIEUH
-11FF;W # HANGUL JONGSEONG SSANGNIEUN
+11FA;N # HANGUL JONGSEONG KIYEOK-NIEUN
+11FB;N # HANGUL JONGSEONG KIYEOK-PIEUP
+11FC;N # HANGUL JONGSEONG KIYEOK-CHIEUCH
+11FD;N # HANGUL JONGSEONG KIYEOK-KHIEUKH
+11FE;N # HANGUL JONGSEONG KIYEOK-HIEUH
+11FF;N # HANGUL JONGSEONG SSANGNIEUN
 1200;N # ETHIOPIC SYLLABLE HA
 1201;N # ETHIOPIC SYLLABLE HU
 1202;N # ETHIOPIC SYLLABLE HI
@@ -6034,6 +6083,9 @@
 1BA8;N # SUNDANESE VOWEL SIGN PAMEPET
 1BA9;N # SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA;N # SUNDANESE SIGN PAMAAEH
+1BAB;N # SUNDANESE SIGN VIRAMA
+1BAC;N # SUNDANESE CONSONANT SIGN PASANGAN MA
+1BAD;N # SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE;N # SUNDANESE LETTER KHA
 1BAF;N # SUNDANESE LETTER SYA
 1BB0;N # SUNDANESE DIGIT ZERO
@@ -6046,6 +6098,12 @@
 1BB7;N # SUNDANESE DIGIT SEVEN
 1BB8;N # SUNDANESE DIGIT EIGHT
 1BB9;N # SUNDANESE DIGIT NINE
+1BBA;N # SUNDANESE AVAGRAHA
+1BBB;N # SUNDANESE LETTER REU
+1BBC;N # SUNDANESE LETTER LEU
+1BBD;N # SUNDANESE LETTER BHA
+1BBE;N # SUNDANESE LETTER FINAL K
+1BBF;N # SUNDANESE LETTER FINAL M
 1BC0;N # BATAK LETTER A
 1BC1;N # BATAK LETTER SIMALUNGUN A
 1BC2;N # BATAK LETTER HA
@@ -6224,6 +6282,14 @@
 1C7D;N # OL CHIKI AHAD
 1C7E;N # OL CHIKI PUNCTUATION MUCAAD
 1C7F;N # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0;N # SUNDANESE PUNCTUATION BINDU SURYA
+1CC1;N # SUNDANESE PUNCTUATION BINDU PANGLONG
+1CC2;N # SUNDANESE PUNCTUATION BINDU PURNAMA
+1CC3;N # SUNDANESE PUNCTUATION BINDU CAKRA
+1CC4;N # SUNDANESE PUNCTUATION BINDU LEU SATANGA
+1CC5;N # SUNDANESE PUNCTUATION BINDU KA SATANGA
+1CC6;N # SUNDANESE PUNCTUATION BINDU DA SATANGA
+1CC7;N # SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD0;N # VEDIC TONE KARSHANA
 1CD1;N # VEDIC TONE SHARA
 1CD2;N # VEDIC TONE PRENKHA
@@ -6259,6 +6325,10 @@
 1CF0;N # VEDIC SIGN RTHANG LONG ANUSVARA
 1CF1;N # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
 1CF2;N # VEDIC SIGN ARDHAVISARGA
+1CF3;N # VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4;N # VEDIC TONE CANDRA ABOVE
+1CF5;N # VEDIC SIGN JIHVAMULIYA
+1CF6;N # VEDIC SIGN UPADHMANIYA
 1D00;N # LATIN LETTER SMALL CAPITAL A
 1D01;N # LATIN LETTER SMALL CAPITAL AE
 1D02;N # LATIN SMALL LETTER TURNED AE
@@ -7158,6 +7228,7 @@
 20B7;N # SPESMILO SIGN
 20B8;N # TENGE SIGN
 20B9;N # INDIAN RUPEE SIGN
+20BA;N # TURKISH LIRA SIGN
 20D0;N # COMBINING LEFT HARPOON ABOVE
 20D1;N # COMBINING RIGHT HARPOON ABOVE
 20D2;N # COMBINING LONG VERTICAL LINE OVERLAY
@@ -8865,7 +8936,9 @@
 27C8;N # REVERSE SOLIDUS PRECEDING SUBSET
 27C9;N # SUPERSET PRECEDING SOLIDUS
 27CA;N # VERTICAL BAR WITH HORIZONTAL STROKE
+27CB;N # MATHEMATICAL RISING DIAGONAL
 27CC;N # LONG DIVISION
+27CD;N # MATHEMATICAL FALLING DIAGONAL
 27CE;N # SQUARED LOGICAL AND
 27CF;N # SQUARED LOGICAL OR
 27D0;N # WHITE DIAMOND WITH CENTRED DOT
@@ -10011,6 +10084,8 @@
 2CEF;N # COPTIC COMBINING NI ABOVE
 2CF0;N # COPTIC COMBINING SPIRITUS ASPER
 2CF1;N # COPTIC COMBINING SPIRITUS LENIS
+2CF2;N # COPTIC CAPITAL LETTER BOHAIRIC KHEI
+2CF3;N # COPTIC SMALL LETTER BOHAIRIC KHEI
 2CF9;N # COPTIC OLD NUBIAN FULL STOP
 2CFA;N # COPTIC OLD NUBIAN DIRECT QUESTION MARK
 2CFB;N # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
@@ -10056,6 +10131,8 @@
 2D23;N # GEORGIAN SMALL LETTER WE
 2D24;N # GEORGIAN SMALL LETTER HAR
 2D25;N # GEORGIAN SMALL LETTER HOE
+2D27;N # GEORGIAN SMALL LETTER YN
+2D2D;N # GEORGIAN SMALL LETTER AEN
 2D30;N # TIFINAGH LETTER YA
 2D31;N # TIFINAGH LETTER YAB
 2D32;N # TIFINAGH LETTER YABH
@@ -10110,6 +10187,8 @@
 2D63;N # TIFINAGH LETTER YAZ
 2D64;N # TIFINAGH LETTER TAWELLEMET YAZ
 2D65;N # TIFINAGH LETTER YAZZ
+2D66;N # TIFINAGH LETTER YE
+2D67;N # TIFINAGH LETTER YO
 2D6F;N # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D70;N # TIFINAGH SEPARATOR MARK
 2D7F;N # TIFINAGH CONSONANT JOINER
@@ -10274,6 +10353,16 @@
 2E2F;N # VERTICAL TILDE
 2E30;N # RING POINT
 2E31;N # WORD SEPARATOR MIDDLE DOT
+2E32;N # TURNED COMMA
+2E33;N # RAISED DOT
+2E34;N # RAISED COMMA
+2E35;N # TURNED SEMICOLON
+2E36;N # DAGGER WITH LEFT GUARD
+2E37;N # DAGGER WITH RIGHT GUARD
+2E38;N # TURNED DAGGER
+2E39;N # TOP HALF SECTION SIGN
+2E3A;N # TWO-EM DASH
+2E3B;N # THREE-EM DASH
 2E80;W # CJK RADICAL REPEAT
 2E81;W # CJK RADICAL CLIFF
 2E82;W # CJK RADICAL SECOND ONE
@@ -11674,8 +11763,8 @@
 4DFD;N # HEXAGRAM FOR SMALL PREPONDERANCE
 4DFE;N # HEXAGRAM FOR AFTER COMPLETION
 4DFF;N # HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FCB;W # <CJK Ideograph, First>..<CJK Ideograph, Last>
-9FCC..9FFF;W # <reserved-9FCC>..<reserved-9FFF>
+4E00..9FCC;W # <CJK Ideograph, First>..<CJK Ideograph, Last>
+9FCD..9FFF;W # <reserved-9FCD>..<reserved-9FFF>
 A000;W # YI SYLLABLE IT
 A001;W # YI SYLLABLE IX
 A002;W # YI SYLLABLE I
@@ -13296,6 +13385,14 @@
 A671;N # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
 A672;N # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A673;N # SLAVONIC ASTERISK
+A674;N # COMBINING CYRILLIC LETTER UKRAINIAN IE
+A675;N # COMBINING CYRILLIC LETTER I
+A676;N # COMBINING CYRILLIC LETTER YI
+A677;N # COMBINING CYRILLIC LETTER U
+A678;N # COMBINING CYRILLIC LETTER HARD SIGN
+A679;N # COMBINING CYRILLIC LETTER YERU
+A67A;N # COMBINING CYRILLIC LETTER SOFT SIGN
+A67B;N # COMBINING CYRILLIC LETTER OMEGA
 A67C;N # COMBINING CYRILLIC KAVYKA
 A67D;N # COMBINING CYRILLIC PAYEROK
 A67E;N # CYRILLIC KAVYKA
@@ -13324,6 +13421,7 @@
 A695;N # CYRILLIC SMALL LETTER HWE
 A696;N # CYRILLIC CAPITAL LETTER SHWE
 A697;N # CYRILLIC SMALL LETTER SHWE
+A69F;N # COMBINING CYRILLIC LETTER IOTIFIED E
 A6A0;N # BAMUM LETTER A
 A6A1;N # BAMUM LETTER KA
 A6A2;N # BAMUM LETTER U
@@ -13557,6 +13655,8 @@
 A78E;N # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A790;N # LATIN CAPITAL LETTER N WITH DESCENDER
 A791;N # LATIN SMALL LETTER N WITH DESCENDER
+A792;N # LATIN CAPITAL LETTER C WITH BAR
+A793;N # LATIN SMALL LETTER C WITH BAR
 A7A0;N # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A1;N # LATIN SMALL LETTER G WITH OBLIQUE STROKE
 A7A2;N # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
@@ -13567,6 +13667,9 @@
 A7A7;N # LATIN SMALL LETTER R WITH OBLIQUE STROKE
 A7A8;N # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7A9;N # LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7AA;N # LATIN CAPITAL LETTER H WITH HOOK
+A7F8;N # MODIFIER LETTER CAPITAL H WITH STROKE
+A7F9;N # MODIFIER LETTER SMALL LIGATURE OE
 A7FA;N # LATIN LETTER SMALL CAPITAL TURNED M
 A7FB;N # LATIN EPIGRAPHIC LETTER REVERSED F
 A7FC;N # LATIN EPIGRAPHIC LETTER REVERSED P
@@ -14180,6 +14283,29 @@
 AADD;N # TAI VIET SYMBOL SAM
 AADE;N # TAI VIET SYMBOL HO HOI
 AADF;N # TAI VIET SYMBOL KOI KOI
+AAE0;N # MEETEI MAYEK LETTER E
+AAE1;N # MEETEI MAYEK LETTER O
+AAE2;N # MEETEI MAYEK LETTER CHA
+AAE3;N # MEETEI MAYEK LETTER NYA
+AAE4;N # MEETEI MAYEK LETTER TTA
+AAE5;N # MEETEI MAYEK LETTER TTHA
+AAE6;N # MEETEI MAYEK LETTER DDA
+AAE7;N # MEETEI MAYEK LETTER DDHA
+AAE8;N # MEETEI MAYEK LETTER NNA
+AAE9;N # MEETEI MAYEK LETTER SHA
+AAEA;N # MEETEI MAYEK LETTER SSA
+AAEB;N # MEETEI MAYEK VOWEL SIGN II
+AAEC;N # MEETEI MAYEK VOWEL SIGN UU
+AAED;N # MEETEI MAYEK VOWEL SIGN AAI
+AAEE;N # MEETEI MAYEK VOWEL SIGN AU
+AAEF;N # MEETEI MAYEK VOWEL SIGN AAU
+AAF0;N # MEETEI MAYEK CHEIKHAN
+AAF1;N # MEETEI MAYEK AHANG KHUDAM
+AAF2;N # MEETEI MAYEK ANJI
+AAF3;N # MEETEI MAYEK SYLLABLE REPETITION MARK
+AAF4;N # MEETEI MAYEK WORD REPETITION MARK
+AAF5;N # MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6;N # MEETEI MAYEK VIRAMA
 AB01;N # ETHIOPIC SYLLABLE TTHU
 AB02;N # ETHIOPIC SYLLABLE TTHI
 AB03;N # ETHIOPIC SYLLABLE TTHAA
@@ -14269,78 +14395,78 @@
 ABF8;N # MEETEI MAYEK DIGIT EIGHT
 ABF9;N # MEETEI MAYEK DIGIT NINE
 AC00..D7A3;W # <Hangul Syllable, First>..<Hangul Syllable, Last>
-D7B0;W # HANGUL JUNGSEONG O-YEO
-D7B1;W # HANGUL JUNGSEONG O-O-I
-D7B2;W # HANGUL JUNGSEONG YO-A
-D7B3;W # HANGUL JUNGSEONG YO-AE
-D7B4;W # HANGUL JUNGSEONG YO-EO
-D7B5;W # HANGUL JUNGSEONG U-YEO
-D7B6;W # HANGUL JUNGSEONG U-I-I
-D7B7;W # HANGUL JUNGSEONG YU-AE
-D7B8;W # HANGUL JUNGSEONG YU-O
-D7B9;W # HANGUL JUNGSEONG EU-A
-D7BA;W # HANGUL JUNGSEONG EU-EO
-D7BB;W # HANGUL JUNGSEONG EU-E
-D7BC;W # HANGUL JUNGSEONG EU-O
-D7BD;W # HANGUL JUNGSEONG I-YA-O
-D7BE;W # HANGUL JUNGSEONG I-YAE
-D7BF;W # HANGUL JUNGSEONG I-YEO
-D7C0;W # HANGUL JUNGSEONG I-YE
-D7C1;W # HANGUL JUNGSEONG I-O-I
-D7C2;W # HANGUL JUNGSEONG I-YO
-D7C3;W # HANGUL JUNGSEONG I-YU
-D7C4;W # HANGUL JUNGSEONG I-I
-D7C5;W # HANGUL JUNGSEONG ARAEA-A
-D7C6;W # HANGUL JUNGSEONG ARAEA-E
-D7CB;W # HANGUL JONGSEONG NIEUN-RIEUL
-D7CC;W # HANGUL JONGSEONG NIEUN-CHIEUCH
-D7CD;W # HANGUL JONGSEONG SSANGTIKEUT
-D7CE;W # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
-D7CF;W # HANGUL JONGSEONG TIKEUT-PIEUP
-D7D0;W # HANGUL JONGSEONG TIKEUT-SIOS
-D7D1;W # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
-D7D2;W # HANGUL JONGSEONG TIKEUT-CIEUC
-D7D3;W # HANGUL JONGSEONG TIKEUT-CHIEUCH
-D7D4;W # HANGUL JONGSEONG TIKEUT-THIEUTH
-D7D5;W # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
-D7D6;W # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
-D7D7;W # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
-D7D8;W # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
-D7D9;W # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
-D7DA;W # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
-D7DB;W # HANGUL JONGSEONG RIEUL-YESIEUNG
-D7DC;W # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
-D7DD;W # HANGUL JONGSEONG KAPYEOUNRIEUL
-D7DE;W # HANGUL JONGSEONG MIEUM-NIEUN
-D7DF;W # HANGUL JONGSEONG MIEUM-SSANGNIEUN
-D7E0;W # HANGUL JONGSEONG SSANGMIEUM
-D7E1;W # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
-D7E2;W # HANGUL JONGSEONG MIEUM-CIEUC
-D7E3;W # HANGUL JONGSEONG PIEUP-TIKEUT
-D7E4;W # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
-D7E5;W # HANGUL JONGSEONG PIEUP-MIEUM
-D7E6;W # HANGUL JONGSEONG SSANGPIEUP
-D7E7;W # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
-D7E8;W # HANGUL JONGSEONG PIEUP-CIEUC
-D7E9;W # HANGUL JONGSEONG PIEUP-CHIEUCH
-D7EA;W # HANGUL JONGSEONG SIOS-MIEUM
-D7EB;W # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
-D7EC;W # HANGUL JONGSEONG SSANGSIOS-KIYEOK
-D7ED;W # HANGUL JONGSEONG SSANGSIOS-TIKEUT
-D7EE;W # HANGUL JONGSEONG SIOS-PANSIOS
-D7EF;W # HANGUL JONGSEONG SIOS-CIEUC
-D7F0;W # HANGUL JONGSEONG SIOS-CHIEUCH
-D7F1;W # HANGUL JONGSEONG SIOS-THIEUTH
-D7F2;W # HANGUL JONGSEONG SIOS-HIEUH
-D7F3;W # HANGUL JONGSEONG PANSIOS-PIEUP
-D7F4;W # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
-D7F5;W # HANGUL JONGSEONG YESIEUNG-MIEUM
-D7F6;W # HANGUL JONGSEONG YESIEUNG-HIEUH
-D7F7;W # HANGUL JONGSEONG CIEUC-PIEUP
-D7F8;W # HANGUL JONGSEONG CIEUC-SSANGPIEUP
-D7F9;W # HANGUL JONGSEONG SSANGCIEUC
-D7FA;W # HANGUL JONGSEONG PHIEUPH-SIOS
-D7FB;W # HANGUL JONGSEONG PHIEUPH-THIEUTH
+D7B0;N # HANGUL JUNGSEONG O-YEO
+D7B1;N # HANGUL JUNGSEONG O-O-I
+D7B2;N # HANGUL JUNGSEONG YO-A
+D7B3;N # HANGUL JUNGSEONG YO-AE
+D7B4;N # HANGUL JUNGSEONG YO-EO
+D7B5;N # HANGUL JUNGSEONG U-YEO
+D7B6;N # HANGUL JUNGSEONG U-I-I
+D7B7;N # HANGUL JUNGSEONG YU-AE
+D7B8;N # HANGUL JUNGSEONG YU-O
+D7B9;N # HANGUL JUNGSEONG EU-A
+D7BA;N # HANGUL JUNGSEONG EU-EO
+D7BB;N # HANGUL JUNGSEONG EU-E
+D7BC;N # HANGUL JUNGSEONG EU-O
+D7BD;N # HANGUL JUNGSEONG I-YA-O
+D7BE;N # HANGUL JUNGSEONG I-YAE
+D7BF;N # HANGUL JUNGSEONG I-YEO
+D7C0;N # HANGUL JUNGSEONG I-YE
+D7C1;N # HANGUL JUNGSEONG I-O-I
+D7C2;N # HANGUL JUNGSEONG I-YO
+D7C3;N # HANGUL JUNGSEONG I-YU
+D7C4;N # HANGUL JUNGSEONG I-I
+D7C5;N # HANGUL JUNGSEONG ARAEA-A
+D7C6;N # HANGUL JUNGSEONG ARAEA-E
+D7CB;N # HANGUL JONGSEONG NIEUN-RIEUL
+D7CC;N # HANGUL JONGSEONG NIEUN-CHIEUCH
+D7CD;N # HANGUL JONGSEONG SSANGTIKEUT
+D7CE;N # HANGUL JONGSEONG SSANGTIKEUT-PIEUP
+D7CF;N # HANGUL JONGSEONG TIKEUT-PIEUP
+D7D0;N # HANGUL JONGSEONG TIKEUT-SIOS
+D7D1;N # HANGUL JONGSEONG TIKEUT-SIOS-KIYEOK
+D7D2;N # HANGUL JONGSEONG TIKEUT-CIEUC
+D7D3;N # HANGUL JONGSEONG TIKEUT-CHIEUCH
+D7D4;N # HANGUL JONGSEONG TIKEUT-THIEUTH
+D7D5;N # HANGUL JONGSEONG RIEUL-SSANGKIYEOK
+D7D6;N # HANGUL JONGSEONG RIEUL-KIYEOK-HIEUH
+D7D7;N # HANGUL JONGSEONG SSANGRIEUL-KHIEUKH
+D7D8;N # HANGUL JONGSEONG RIEUL-MIEUM-HIEUH
+D7D9;N # HANGUL JONGSEONG RIEUL-PIEUP-TIKEUT
+D7DA;N # HANGUL JONGSEONG RIEUL-PIEUP-PHIEUPH
+D7DB;N # HANGUL JONGSEONG RIEUL-YESIEUNG
+D7DC;N # HANGUL JONGSEONG RIEUL-YEORINHIEUH-HIEUH
+D7DD;N # HANGUL JONGSEONG KAPYEOUNRIEUL
+D7DE;N # HANGUL JONGSEONG MIEUM-NIEUN
+D7DF;N # HANGUL JONGSEONG MIEUM-SSANGNIEUN
+D7E0;N # HANGUL JONGSEONG SSANGMIEUM
+D7E1;N # HANGUL JONGSEONG MIEUM-PIEUP-SIOS
+D7E2;N # HANGUL JONGSEONG MIEUM-CIEUC
+D7E3;N # HANGUL JONGSEONG PIEUP-TIKEUT
+D7E4;N # HANGUL JONGSEONG PIEUP-RIEUL-PHIEUPH
+D7E5;N # HANGUL JONGSEONG PIEUP-MIEUM
+D7E6;N # HANGUL JONGSEONG SSANGPIEUP
+D7E7;N # HANGUL JONGSEONG PIEUP-SIOS-TIKEUT
+D7E8;N # HANGUL JONGSEONG PIEUP-CIEUC
+D7E9;N # HANGUL JONGSEONG PIEUP-CHIEUCH
+D7EA;N # HANGUL JONGSEONG SIOS-MIEUM
+D7EB;N # HANGUL JONGSEONG SIOS-KAPYEOUNPIEUP
+D7EC;N # HANGUL JONGSEONG SSANGSIOS-KIYEOK
+D7ED;N # HANGUL JONGSEONG SSANGSIOS-TIKEUT
+D7EE;N # HANGUL JONGSEONG SIOS-PANSIOS
+D7EF;N # HANGUL JONGSEONG SIOS-CIEUC
+D7F0;N # HANGUL JONGSEONG SIOS-CHIEUCH
+D7F1;N # HANGUL JONGSEONG SIOS-THIEUTH
+D7F2;N # HANGUL JONGSEONG SIOS-HIEUH
+D7F3;N # HANGUL JONGSEONG PANSIOS-PIEUP
+D7F4;N # HANGUL JONGSEONG PANSIOS-KAPYEOUNPIEUP
+D7F5;N # HANGUL JONGSEONG YESIEUNG-MIEUM
+D7F6;N # HANGUL JONGSEONG YESIEUNG-HIEUH
+D7F7;N # HANGUL JONGSEONG CIEUC-PIEUP
+D7F8;N # HANGUL JONGSEONG CIEUC-SSANGPIEUP
+D7F9;N # HANGUL JONGSEONG SSANGCIEUC
+D7FA;N # HANGUL JONGSEONG PHIEUPH-SIOS
+D7FB;N # HANGUL JONGSEONG PHIEUPH-THIEUTH
 D800..DB7F;N # <Non Private Use High Surrogate, First>..<Non Private Use High Surrogate, Last>
 DB80..DBFF;N # <Private Use High Surrogate, First>..<Private Use High Surrogate, Last>
 DC00..DFFF;N # <Low Surrogate, First>..<Low Surrogate, Last>
@@ -14647,7 +14773,8 @@
 FA2B;W # CJK COMPATIBILITY IDEOGRAPH-FA2B
 FA2C;W # CJK COMPATIBILITY IDEOGRAPH-FA2C
 FA2D;W # CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA2E..FA2F;W # <reserved-FA2E>..<reserved-FA2F>
+FA2E;W # CJK COMPATIBILITY IDEOGRAPH-FA2E
+FA2F;W # CJK COMPATIBILITY IDEOGRAPH-FA2F
 FA30;W # CJK COMPATIBILITY IDEOGRAPH-FA30
 FA31;W # CJK COMPATIBILITY IDEOGRAPH-FA31
 FA32;W # CJK COMPATIBILITY IDEOGRAPH-FA32
@@ -16881,6 +17008,64 @@
 10938;N # LYDIAN LETTER NN
 10939;N # LYDIAN LETTER C
 1093F;N # LYDIAN TRIANGULAR MARK
+10980;N # MEROITIC HIEROGLYPHIC LETTER A
+10981;N # MEROITIC HIEROGLYPHIC LETTER E
+10982;N # MEROITIC HIEROGLYPHIC LETTER I
+10983;N # MEROITIC HIEROGLYPHIC LETTER O
+10984;N # MEROITIC HIEROGLYPHIC LETTER YA
+10985;N # MEROITIC HIEROGLYPHIC LETTER WA
+10986;N # MEROITIC HIEROGLYPHIC LETTER BA
+10987;N # MEROITIC HIEROGLYPHIC LETTER BA-2
+10988;N # MEROITIC HIEROGLYPHIC LETTER PA
+10989;N # MEROITIC HIEROGLYPHIC LETTER MA
+1098A;N # MEROITIC HIEROGLYPHIC LETTER NA
+1098B;N # MEROITIC HIEROGLYPHIC LETTER NA-2
+1098C;N # MEROITIC HIEROGLYPHIC LETTER NE
+1098D;N # MEROITIC HIEROGLYPHIC LETTER NE-2
+1098E;N # MEROITIC HIEROGLYPHIC LETTER RA
+1098F;N # MEROITIC HIEROGLYPHIC LETTER RA-2
+10990;N # MEROITIC HIEROGLYPHIC LETTER LA
+10991;N # MEROITIC HIEROGLYPHIC LETTER KHA
+10992;N # MEROITIC HIEROGLYPHIC LETTER HHA
+10993;N # MEROITIC HIEROGLYPHIC LETTER SA
+10994;N # MEROITIC HIEROGLYPHIC LETTER SA-2
+10995;N # MEROITIC HIEROGLYPHIC LETTER SE
+10996;N # MEROITIC HIEROGLYPHIC LETTER KA
+10997;N # MEROITIC HIEROGLYPHIC LETTER QA
+10998;N # MEROITIC HIEROGLYPHIC LETTER TA
+10999;N # MEROITIC HIEROGLYPHIC LETTER TA-2
+1099A;N # MEROITIC HIEROGLYPHIC LETTER TE
+1099B;N # MEROITIC HIEROGLYPHIC LETTER TE-2
+1099C;N # MEROITIC HIEROGLYPHIC LETTER TO
+1099D;N # MEROITIC HIEROGLYPHIC LETTER DA
+1099E;N # MEROITIC HIEROGLYPHIC SYMBOL VIDJ
+1099F;N # MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+109A0;N # MEROITIC CURSIVE LETTER A
+109A1;N # MEROITIC CURSIVE LETTER E
+109A2;N # MEROITIC CURSIVE LETTER I
+109A3;N # MEROITIC CURSIVE LETTER O
+109A4;N # MEROITIC CURSIVE LETTER YA
+109A5;N # MEROITIC CURSIVE LETTER WA
+109A6;N # MEROITIC CURSIVE LETTER BA
+109A7;N # MEROITIC CURSIVE LETTER PA
+109A8;N # MEROITIC CURSIVE LETTER MA
+109A9;N # MEROITIC CURSIVE LETTER NA
+109AA;N # MEROITIC CURSIVE LETTER NE
+109AB;N # MEROITIC CURSIVE LETTER RA
+109AC;N # MEROITIC CURSIVE LETTER LA
+109AD;N # MEROITIC CURSIVE LETTER KHA
+109AE;N # MEROITIC CURSIVE LETTER HHA
+109AF;N # MEROITIC CURSIVE LETTER SA
+109B0;N # MEROITIC CURSIVE LETTER ARCHAIC SA
+109B1;N # MEROITIC CURSIVE LETTER SE
+109B2;N # MEROITIC CURSIVE LETTER KA
+109B3;N # MEROITIC CURSIVE LETTER QA
+109B4;N # MEROITIC CURSIVE LETTER TA
+109B5;N # MEROITIC CURSIVE LETTER TE
+109B6;N # MEROITIC CURSIVE LETTER TO
+109B7;N # MEROITIC CURSIVE LETTER DA
+109BE;N # MEROITIC CURSIVE LOGOGRAM RMT
+109BF;N # MEROITIC CURSIVE LOGOGRAM IMN
 10A00;N # KHAROSHTHI LETTER A
 10A01;N # KHAROSHTHI VOWEL SIGN I
 10A02;N # KHAROSHTHI VOWEL SIGN U
@@ -17374,6 +17559,257 @@
 110BF;N # KAITHI DOUBLE SECTION MARK
 110C0;N # KAITHI DANDA
 110C1;N # KAITHI DOUBLE DANDA
+110D0;N # SORA SOMPENG LETTER SAH
+110D1;N # SORA SOMPENG LETTER TAH
+110D2;N # SORA SOMPENG LETTER BAH
+110D3;N # SORA SOMPENG LETTER CAH
+110D4;N # SORA SOMPENG LETTER DAH
+110D5;N # SORA SOMPENG LETTER GAH
+110D6;N # SORA SOMPENG LETTER MAH
+110D7;N # SORA SOMPENG LETTER NGAH
+110D8;N # SORA SOMPENG LETTER LAH
+110D9;N # SORA SOMPENG LETTER NAH
+110DA;N # SORA SOMPENG LETTER VAH
+110DB;N # SORA SOMPENG LETTER PAH
+110DC;N # SORA SOMPENG LETTER YAH
+110DD;N # SORA SOMPENG LETTER RAH
+110DE;N # SORA SOMPENG LETTER HAH
+110DF;N # SORA SOMPENG LETTER KAH
+110E0;N # SORA SOMPENG LETTER JAH
+110E1;N # SORA SOMPENG LETTER NYAH
+110E2;N # SORA SOMPENG LETTER AH
+110E3;N # SORA SOMPENG LETTER EEH
+110E4;N # SORA SOMPENG LETTER IH
+110E5;N # SORA SOMPENG LETTER UH
+110E6;N # SORA SOMPENG LETTER OH
+110E7;N # SORA SOMPENG LETTER EH
+110E8;N # SORA SOMPENG LETTER MAE
+110F0;N # SORA SOMPENG DIGIT ZERO
+110F1;N # SORA SOMPENG DIGIT ONE
+110F2;N # SORA SOMPENG DIGIT TWO
+110F3;N # SORA SOMPENG DIGIT THREE
+110F4;N # SORA SOMPENG DIGIT FOUR
+110F5;N # SORA SOMPENG DIGIT FIVE
+110F6;N # SORA SOMPENG DIGIT SIX
+110F7;N # SORA SOMPENG DIGIT SEVEN
+110F8;N # SORA SOMPENG DIGIT EIGHT
+110F9;N # SORA SOMPENG DIGIT NINE
+11100;N # CHAKMA SIGN CANDRABINDU
+11101;N # CHAKMA SIGN ANUSVARA
+11102;N # CHAKMA SIGN VISARGA
+11103;N # CHAKMA LETTER AA
+11104;N # CHAKMA LETTER I
+11105;N # CHAKMA LETTER U
+11106;N # CHAKMA LETTER E
+11107;N # CHAKMA LETTER KAA
+11108;N # CHAKMA LETTER KHAA
+11109;N # CHAKMA LETTER GAA
+1110A;N # CHAKMA LETTER GHAA
+1110B;N # CHAKMA LETTER NGAA
+1110C;N # CHAKMA LETTER CAA
+1110D;N # CHAKMA LETTER CHAA
+1110E;N # CHAKMA LETTER JAA
+1110F;N # CHAKMA LETTER JHAA
+11110;N # CHAKMA LETTER NYAA
+11111;N # CHAKMA LETTER TTAA
+11112;N # CHAKMA LETTER TTHAA
+11113;N # CHAKMA LETTER DDAA
+11114;N # CHAKMA LETTER DDHAA
+11115;N # CHAKMA LETTER NNAA
+11116;N # CHAKMA LETTER TAA
+11117;N # CHAKMA LETTER THAA
+11118;N # CHAKMA LETTER DAA
+11119;N # CHAKMA LETTER DHAA
+1111A;N # CHAKMA LETTER NAA
+1111B;N # CHAKMA LETTER PAA
+1111C;N # CHAKMA LETTER PHAA
+1111D;N # CHAKMA LETTER BAA
+1111E;N # CHAKMA LETTER BHAA
+1111F;N # CHAKMA LETTER MAA
+11120;N # CHAKMA LETTER YYAA
+11121;N # CHAKMA LETTER YAA
+11122;N # CHAKMA LETTER RAA
+11123;N # CHAKMA LETTER LAA
+11124;N # CHAKMA LETTER WAA
+11125;N # CHAKMA LETTER SAA
+11126;N # CHAKMA LETTER HAA
+11127;N # CHAKMA VOWEL SIGN A
+11128;N # CHAKMA VOWEL SIGN I
+11129;N # CHAKMA VOWEL SIGN II
+1112A;N # CHAKMA VOWEL SIGN U
+1112B;N # CHAKMA VOWEL SIGN UU
+1112C;N # CHAKMA VOWEL SIGN E
+1112D;N # CHAKMA VOWEL SIGN AI
+1112E;N # CHAKMA VOWEL SIGN O
+1112F;N # CHAKMA VOWEL SIGN AU
+11130;N # CHAKMA VOWEL SIGN OI
+11131;N # CHAKMA O MARK
+11132;N # CHAKMA AU MARK
+11133;N # CHAKMA VIRAMA
+11134;N # CHAKMA MAAYYAA
+11136;N # CHAKMA DIGIT ZERO
+11137;N # CHAKMA DIGIT ONE
+11138;N # CHAKMA DIGIT TWO
+11139;N # CHAKMA DIGIT THREE
+1113A;N # CHAKMA DIGIT FOUR
+1113B;N # CHAKMA DIGIT FIVE
+1113C;N # CHAKMA DIGIT SIX
+1113D;N # CHAKMA DIGIT SEVEN
+1113E;N # CHAKMA DIGIT EIGHT
+1113F;N # CHAKMA DIGIT NINE
+11140;N # CHAKMA SECTION MARK
+11141;N # CHAKMA DANDA
+11142;N # CHAKMA DOUBLE DANDA
+11143;N # CHAKMA QUESTION MARK
+11180;N # SHARADA SIGN CANDRABINDU
+11181;N # SHARADA SIGN ANUSVARA
+11182;N # SHARADA SIGN VISARGA
+11183;N # SHARADA LETTER A
+11184;N # SHARADA LETTER AA
+11185;N # SHARADA LETTER I
+11186;N # SHARADA LETTER II
+11187;N # SHARADA LETTER U
+11188;N # SHARADA LETTER UU
+11189;N # SHARADA LETTER VOCALIC R
+1118A;N # SHARADA LETTER VOCALIC RR
+1118B;N # SHARADA LETTER VOCALIC L
+1118C;N # SHARADA LETTER VOCALIC LL
+1118D;N # SHARADA LETTER E
+1118E;N # SHARADA LETTER AI
+1118F;N # SHARADA LETTER O
+11190;N # SHARADA LETTER AU
+11191;N # SHARADA LETTER KA
+11192;N # SHARADA LETTER KHA
+11193;N # SHARADA LETTER GA
+11194;N # SHARADA LETTER GHA
+11195;N # SHARADA LETTER NGA
+11196;N # SHARADA LETTER CA
+11197;N # SHARADA LETTER CHA
+11198;N # SHARADA LETTER JA
+11199;N # SHARADA LETTER JHA
+1119A;N # SHARADA LETTER NYA
+1119B;N # SHARADA LETTER TTA
+1119C;N # SHARADA LETTER TTHA
+1119D;N # SHARADA LETTER DDA
+1119E;N # SHARADA LETTER DDHA
+1119F;N # SHARADA LETTER NNA
+111A0;N # SHARADA LETTER TA
+111A1;N # SHARADA LETTER THA
+111A2;N # SHARADA LETTER DA
+111A3;N # SHARADA LETTER DHA
+111A4;N # SHARADA LETTER NA
+111A5;N # SHARADA LETTER PA
+111A6;N # SHARADA LETTER PHA
+111A7;N # SHARADA LETTER BA
+111A8;N # SHARADA LETTER BHA
+111A9;N # SHARADA LETTER MA
+111AA;N # SHARADA LETTER YA
+111AB;N # SHARADA LETTER RA
+111AC;N # SHARADA LETTER LA
+111AD;N # SHARADA LETTER LLA
+111AE;N # SHARADA LETTER VA
+111AF;N # SHARADA LETTER SHA
+111B0;N # SHARADA LETTER SSA
+111B1;N # SHARADA LETTER SA
+111B2;N # SHARADA LETTER HA
+111B3;N # SHARADA VOWEL SIGN AA
+111B4;N # SHARADA VOWEL SIGN I
+111B5;N # SHARADA VOWEL SIGN II
+111B6;N # SHARADA VOWEL SIGN U
+111B7;N # SHARADA VOWEL SIGN UU
+111B8;N # SHARADA VOWEL SIGN VOCALIC R
+111B9;N # SHARADA VOWEL SIGN VOCALIC RR
+111BA;N # SHARADA VOWEL SIGN VOCALIC L
+111BB;N # SHARADA VOWEL SIGN VOCALIC LL
+111BC;N # SHARADA VOWEL SIGN E
+111BD;N # SHARADA VOWEL SIGN AI
+111BE;N # SHARADA VOWEL SIGN O
+111BF;N # SHARADA VOWEL SIGN AU
+111C0;N # SHARADA SIGN VIRAMA
+111C1;N # SHARADA SIGN AVAGRAHA
+111C2;N # SHARADA SIGN JIHVAMULIYA
+111C3;N # SHARADA SIGN UPADHMANIYA
+111C4;N # SHARADA OM
+111C5;N # SHARADA DANDA
+111C6;N # SHARADA DOUBLE DANDA
+111C7;N # SHARADA ABBREVIATION SIGN
+111C8;N # SHARADA SEPARATOR
+111D0;N # SHARADA DIGIT ZERO
+111D1;N # SHARADA DIGIT ONE
+111D2;N # SHARADA DIGIT TWO
+111D3;N # SHARADA DIGIT THREE
+111D4;N # SHARADA DIGIT FOUR
+111D5;N # SHARADA DIGIT FIVE
+111D6;N # SHARADA DIGIT SIX
+111D7;N # SHARADA DIGIT SEVEN
+111D8;N # SHARADA DIGIT EIGHT
+111D9;N # SHARADA DIGIT NINE
+11680;N # TAKRI LETTER A
+11681;N # TAKRI LETTER AA
+11682;N # TAKRI LETTER I
+11683;N # TAKRI LETTER II
+11684;N # TAKRI LETTER U
+11685;N # TAKRI LETTER UU
+11686;N # TAKRI LETTER E
+11687;N # TAKRI LETTER AI
+11688;N # TAKRI LETTER O
+11689;N # TAKRI LETTER AU
+1168A;N # TAKRI LETTER KA
+1168B;N # TAKRI LETTER KHA
+1168C;N # TAKRI LETTER GA
+1168D;N # TAKRI LETTER GHA
+1168E;N # TAKRI LETTER NGA
+1168F;N # TAKRI LETTER CA
+11690;N # TAKRI LETTER CHA
+11691;N # TAKRI LETTER JA
+11692;N # TAKRI LETTER JHA
+11693;N # TAKRI LETTER NYA
+11694;N # TAKRI LETTER TTA
+11695;N # TAKRI LETTER TTHA
+11696;N # TAKRI LETTER DDA
+11697;N # TAKRI LETTER DDHA
+11698;N # TAKRI LETTER NNA
+11699;N # TAKRI LETTER TA
+1169A;N # TAKRI LETTER THA
+1169B;N # TAKRI LETTER DA
+1169C;N # TAKRI LETTER DHA
+1169D;N # TAKRI LETTER NA
+1169E;N # TAKRI LETTER PA
+1169F;N # TAKRI LETTER PHA
+116A0;N # TAKRI LETTER BA
+116A1;N # TAKRI LETTER BHA
+116A2;N # TAKRI LETTER MA
+116A3;N # TAKRI LETTER YA
+116A4;N # TAKRI LETTER RA
+116A5;N # TAKRI LETTER LA
+116A6;N # TAKRI LETTER VA
+116A7;N # TAKRI LETTER SHA
+116A8;N # TAKRI LETTER SA
+116A9;N # TAKRI LETTER HA
+116AA;N # TAKRI LETTER RRA
+116AB;N # TAKRI SIGN ANUSVARA
+116AC;N # TAKRI SIGN VISARGA
+116AD;N # TAKRI VOWEL SIGN AA
+116AE;N # TAKRI VOWEL SIGN I
+116AF;N # TAKRI VOWEL SIGN II
+116B0;N # TAKRI VOWEL SIGN U
+116B1;N # TAKRI VOWEL SIGN UU
+116B2;N # TAKRI VOWEL SIGN E
+116B3;N # TAKRI VOWEL SIGN AI
+116B4;N # TAKRI VOWEL SIGN O
+116B5;N # TAKRI VOWEL SIGN AU
+116B6;N # TAKRI SIGN VIRAMA
+116B7;N # TAKRI SIGN NUKTA
+116C0;N # TAKRI DIGIT ZERO
+116C1;N # TAKRI DIGIT ONE
+116C2;N # TAKRI DIGIT TWO
+116C3;N # TAKRI DIGIT THREE
+116C4;N # TAKRI DIGIT FOUR
+116C5;N # TAKRI DIGIT FIVE
+116C6;N # TAKRI DIGIT SIX
+116C7;N # TAKRI DIGIT SEVEN
+116C8;N # TAKRI DIGIT EIGHT
+116C9;N # TAKRI DIGIT NINE
 12000;N # CUNEIFORM SIGN A
 12001;N # CUNEIFORM SIGN A TIMES A
 12002;N # CUNEIFORM SIGN A TIMES BAD
@@ -19996,6 +20432,139 @@
 16A36;N # BAMUM LETTER PHASE-F KPA
 16A37;N # BAMUM LETTER PHASE-F SAMBA
 16A38;N # BAMUM LETTER PHASE-F VUEQ
+16F00;N # MIAO LETTER PA
+16F01;N # MIAO LETTER BA
+16F02;N # MIAO LETTER YI PA
+16F03;N # MIAO LETTER PLA
+16F04;N # MIAO LETTER MA
+16F05;N # MIAO LETTER MHA
+16F06;N # MIAO LETTER ARCHAIC MA
+16F07;N # MIAO LETTER FA
+16F08;N # MIAO LETTER VA
+16F09;N # MIAO LETTER VFA
+16F0A;N # MIAO LETTER TA
+16F0B;N # MIAO LETTER DA
+16F0C;N # MIAO LETTER YI TTA
+16F0D;N # MIAO LETTER YI TA
+16F0E;N # MIAO LETTER TTA
+16F0F;N # MIAO LETTER DDA
+16F10;N # MIAO LETTER NA
+16F11;N # MIAO LETTER NHA
+16F12;N # MIAO LETTER YI NNA
+16F13;N # MIAO LETTER ARCHAIC NA
+16F14;N # MIAO LETTER NNA
+16F15;N # MIAO LETTER NNHA
+16F16;N # MIAO LETTER LA
+16F17;N # MIAO LETTER LYA
+16F18;N # MIAO LETTER LHA
+16F19;N # MIAO LETTER LHYA
+16F1A;N # MIAO LETTER TLHA
+16F1B;N # MIAO LETTER DLHA
+16F1C;N # MIAO LETTER TLHYA
+16F1D;N # MIAO LETTER DLHYA
+16F1E;N # MIAO LETTER KA
+16F1F;N # MIAO LETTER GA
+16F20;N # MIAO LETTER YI KA
+16F21;N # MIAO LETTER QA
+16F22;N # MIAO LETTER QGA
+16F23;N # MIAO LETTER NGA
+16F24;N # MIAO LETTER NGHA
+16F25;N # MIAO LETTER ARCHAIC NGA
+16F26;N # MIAO LETTER HA
+16F27;N # MIAO LETTER XA
+16F28;N # MIAO LETTER GHA
+16F29;N # MIAO LETTER GHHA
+16F2A;N # MIAO LETTER TSSA
+16F2B;N # MIAO LETTER DZZA
+16F2C;N # MIAO LETTER NYA
+16F2D;N # MIAO LETTER NYHA
+16F2E;N # MIAO LETTER TSHA
+16F2F;N # MIAO LETTER DZHA
+16F30;N # MIAO LETTER YI TSHA
+16F31;N # MIAO LETTER YI DZHA
+16F32;N # MIAO LETTER REFORMED TSHA
+16F33;N # MIAO LETTER SHA
+16F34;N # MIAO LETTER SSA
+16F35;N # MIAO LETTER ZHA
+16F36;N # MIAO LETTER ZSHA
+16F37;N # MIAO LETTER TSA
+16F38;N # MIAO LETTER DZA
+16F39;N # MIAO LETTER YI TSA
+16F3A;N # MIAO LETTER SA
+16F3B;N # MIAO LETTER ZA
+16F3C;N # MIAO LETTER ZSA
+16F3D;N # MIAO LETTER ZZA
+16F3E;N # MIAO LETTER ZZSA
+16F3F;N # MIAO LETTER ARCHAIC ZZA
+16F40;N # MIAO LETTER ZZYA
+16F41;N # MIAO LETTER ZZSYA
+16F42;N # MIAO LETTER WA
+16F43;N # MIAO LETTER AH
+16F44;N # MIAO LETTER HHA
+16F50;N # MIAO LETTER NASALIZATION
+16F51;N # MIAO SIGN ASPIRATION
+16F52;N # MIAO SIGN REFORMED VOICING
+16F53;N # MIAO SIGN REFORMED ASPIRATION
+16F54;N # MIAO VOWEL SIGN A
+16F55;N # MIAO VOWEL SIGN AA
+16F56;N # MIAO VOWEL SIGN AHH
+16F57;N # MIAO VOWEL SIGN AN
+16F58;N # MIAO VOWEL SIGN ANG
+16F59;N # MIAO VOWEL SIGN O
+16F5A;N # MIAO VOWEL SIGN OO
+16F5B;N # MIAO VOWEL SIGN WO
+16F5C;N # MIAO VOWEL SIGN W
+16F5D;N # MIAO VOWEL SIGN E
+16F5E;N # MIAO VOWEL SIGN EN
+16F5F;N # MIAO VOWEL SIGN ENG
+16F60;N # MIAO VOWEL SIGN OEY
+16F61;N # MIAO VOWEL SIGN I
+16F62;N # MIAO VOWEL SIGN IA
+16F63;N # MIAO VOWEL SIGN IAN
+16F64;N # MIAO VOWEL SIGN IANG
+16F65;N # MIAO VOWEL SIGN IO
+16F66;N # MIAO VOWEL SIGN IE
+16F67;N # MIAO VOWEL SIGN II
+16F68;N # MIAO VOWEL SIGN IU
+16F69;N # MIAO VOWEL SIGN ING
+16F6A;N # MIAO VOWEL SIGN U
+16F6B;N # MIAO VOWEL SIGN UA
+16F6C;N # MIAO VOWEL SIGN UAN
+16F6D;N # MIAO VOWEL SIGN UANG
+16F6E;N # MIAO VOWEL SIGN UU
+16F6F;N # MIAO VOWEL SIGN UEI
+16F70;N # MIAO VOWEL SIGN UNG
+16F71;N # MIAO VOWEL SIGN Y
+16F72;N # MIAO VOWEL SIGN YI
+16F73;N # MIAO VOWEL SIGN AE
+16F74;N # MIAO VOWEL SIGN AEE
+16F75;N # MIAO VOWEL SIGN ERR
+16F76;N # MIAO VOWEL SIGN ROUNDED ERR
+16F77;N # MIAO VOWEL SIGN ER
+16F78;N # MIAO VOWEL SIGN ROUNDED ER
+16F79;N # MIAO VOWEL SIGN AI
+16F7A;N # MIAO VOWEL SIGN EI
+16F7B;N # MIAO VOWEL SIGN AU
+16F7C;N # MIAO VOWEL SIGN OU
+16F7D;N # MIAO VOWEL SIGN N
+16F7E;N # MIAO VOWEL SIGN NG
+16F8F;N # MIAO TONE RIGHT
+16F90;N # MIAO TONE TOP RIGHT
+16F91;N # MIAO TONE ABOVE
+16F92;N # MIAO TONE BELOW
+16F93;N # MIAO LETTER TONE-2
+16F94;N # MIAO LETTER TONE-3
+16F95;N # MIAO LETTER TONE-4
+16F96;N # MIAO LETTER TONE-5
+16F97;N # MIAO LETTER TONE-6
+16F98;N # MIAO LETTER TONE-7
+16F99;N # MIAO LETTER TONE-8
+16F9A;N # MIAO LETTER REFORMED TONE-1
+16F9B;N # MIAO LETTER REFORMED TONE-2
+16F9C;N # MIAO LETTER REFORMED TONE-4
+16F9D;N # MIAO LETTER REFORMED TONE-5
+16F9E;N # MIAO LETTER REFORMED TONE-6
+16F9F;N # MIAO LETTER REFORMED TONE-8
 1B000;W # KATAKANA LETTER ARCHAIC E
 1B001;W # HIRAGANA LETTER ARCHAIC YE
 1D000;N # BYZANTINE MUSICAL SYMBOL PSILI
@@ -21635,6 +22204,149 @@
 1D7FD;N # MATHEMATICAL MONOSPACE DIGIT SEVEN
 1D7FE;N # MATHEMATICAL MONOSPACE DIGIT EIGHT
 1D7FF;N # MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00;N # ARABIC MATHEMATICAL ALEF
+1EE01;N # ARABIC MATHEMATICAL BEH
+1EE02;N # ARABIC MATHEMATICAL JEEM
+1EE03;N # ARABIC MATHEMATICAL DAL
+1EE05;N # ARABIC MATHEMATICAL WAW
+1EE06;N # ARABIC MATHEMATICAL ZAIN
+1EE07;N # ARABIC MATHEMATICAL HAH
+1EE08;N # ARABIC MATHEMATICAL TAH
+1EE09;N # ARABIC MATHEMATICAL YEH
+1EE0A;N # ARABIC MATHEMATICAL KAF
+1EE0B;N # ARABIC MATHEMATICAL LAM
+1EE0C;N # ARABIC MATHEMATICAL MEEM
+1EE0D;N # ARABIC MATHEMATICAL NOON
+1EE0E;N # ARABIC MATHEMATICAL SEEN
+1EE0F;N # ARABIC MATHEMATICAL AIN
+1EE10;N # ARABIC MATHEMATICAL FEH
+1EE11;N # ARABIC MATHEMATICAL SAD
+1EE12;N # ARABIC MATHEMATICAL QAF
+1EE13;N # ARABIC MATHEMATICAL REH
+1EE14;N # ARABIC MATHEMATICAL SHEEN
+1EE15;N # ARABIC MATHEMATICAL TEH
+1EE16;N # ARABIC MATHEMATICAL THEH
+1EE17;N # ARABIC MATHEMATICAL KHAH
+1EE18;N # ARABIC MATHEMATICAL THAL
+1EE19;N # ARABIC MATHEMATICAL DAD
+1EE1A;N # ARABIC MATHEMATICAL ZAH
+1EE1B;N # ARABIC MATHEMATICAL GHAIN
+1EE1C;N # ARABIC MATHEMATICAL DOTLESS BEH
+1EE1D;N # ARABIC MATHEMATICAL DOTLESS NOON
+1EE1E;N # ARABIC MATHEMATICAL DOTLESS FEH
+1EE1F;N # ARABIC MATHEMATICAL DOTLESS QAF
+1EE21;N # ARABIC MATHEMATICAL INITIAL BEH
+1EE22;N # ARABIC MATHEMATICAL INITIAL JEEM
+1EE24;N # ARABIC MATHEMATICAL INITIAL HEH
+1EE27;N # ARABIC MATHEMATICAL INITIAL HAH
+1EE29;N # ARABIC MATHEMATICAL INITIAL YEH
+1EE2A;N # ARABIC MATHEMATICAL INITIAL KAF
+1EE2B;N # ARABIC MATHEMATICAL INITIAL LAM
+1EE2C;N # ARABIC MATHEMATICAL INITIAL MEEM
+1EE2D;N # ARABIC MATHEMATICAL INITIAL NOON
+1EE2E;N # ARABIC MATHEMATICAL INITIAL SEEN
+1EE2F;N # ARABIC MATHEMATICAL INITIAL AIN
+1EE30;N # ARABIC MATHEMATICAL INITIAL FEH
+1EE31;N # ARABIC MATHEMATICAL INITIAL SAD
+1EE32;N # ARABIC MATHEMATICAL INITIAL QAF
+1EE34;N # ARABIC MATHEMATICAL INITIAL SHEEN
+1EE35;N # ARABIC MATHEMATICAL INITIAL TEH
+1EE36;N # ARABIC MATHEMATICAL INITIAL THEH
+1EE37;N # ARABIC MATHEMATICAL INITIAL KHAH
+1EE39;N # ARABIC MATHEMATICAL INITIAL DAD
+1EE3B;N # ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42;N # ARABIC MATHEMATICAL TAILED JEEM
+1EE47;N # ARABIC MATHEMATICAL TAILED HAH
+1EE49;N # ARABIC MATHEMATICAL TAILED YEH
+1EE4B;N # ARABIC MATHEMATICAL TAILED LAM
+1EE4D;N # ARABIC MATHEMATICAL TAILED NOON
+1EE4E;N # ARABIC MATHEMATICAL TAILED SEEN
+1EE4F;N # ARABIC MATHEMATICAL TAILED AIN
+1EE51;N # ARABIC MATHEMATICAL TAILED SAD
+1EE52;N # ARABIC MATHEMATICAL TAILED QAF
+1EE54;N # ARABIC MATHEMATICAL TAILED SHEEN
+1EE57;N # ARABIC MATHEMATICAL TAILED KHAH
+1EE59;N # ARABIC MATHEMATICAL TAILED DAD
+1EE5B;N # ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D;N # ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F;N # ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61;N # ARABIC MATHEMATICAL STRETCHED BEH
+1EE62;N # ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64;N # ARABIC MATHEMATICAL STRETCHED HEH
+1EE67;N # ARABIC MATHEMATICAL STRETCHED HAH
+1EE68;N # ARABIC MATHEMATICAL STRETCHED TAH
+1EE69;N # ARABIC MATHEMATICAL STRETCHED YEH
+1EE6A;N # ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C;N # ARABIC MATHEMATICAL STRETCHED MEEM
+1EE6D;N # ARABIC MATHEMATICAL STRETCHED NOON
+1EE6E;N # ARABIC MATHEMATICAL STRETCHED SEEN
+1EE6F;N # ARABIC MATHEMATICAL STRETCHED AIN
+1EE70;N # ARABIC MATHEMATICAL STRETCHED FEH
+1EE71;N # ARABIC MATHEMATICAL STRETCHED SAD
+1EE72;N # ARABIC MATHEMATICAL STRETCHED QAF
+1EE74;N # ARABIC MATHEMATICAL STRETCHED SHEEN
+1EE75;N # ARABIC MATHEMATICAL STRETCHED TEH
+1EE76;N # ARABIC MATHEMATICAL STRETCHED THEH
+1EE77;N # ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79;N # ARABIC MATHEMATICAL STRETCHED DAD
+1EE7A;N # ARABIC MATHEMATICAL STRETCHED ZAH
+1EE7B;N # ARABIC MATHEMATICAL STRETCHED GHAIN
+1EE7C;N # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E;N # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80;N # ARABIC MATHEMATICAL LOOPED ALEF
+1EE81;N # ARABIC MATHEMATICAL LOOPED BEH
+1EE82;N # ARABIC MATHEMATICAL LOOPED JEEM
+1EE83;N # ARABIC MATHEMATICAL LOOPED DAL
+1EE84;N # ARABIC MATHEMATICAL LOOPED HEH
+1EE85;N # ARABIC MATHEMATICAL LOOPED WAW
+1EE86;N # ARABIC MATHEMATICAL LOOPED ZAIN
+1EE87;N # ARABIC MATHEMATICAL LOOPED HAH
+1EE88;N # ARABIC MATHEMATICAL LOOPED TAH
+1EE89;N # ARABIC MATHEMATICAL LOOPED YEH
+1EE8B;N # ARABIC MATHEMATICAL LOOPED LAM
+1EE8C;N # ARABIC MATHEMATICAL LOOPED MEEM
+1EE8D;N # ARABIC MATHEMATICAL LOOPED NOON
+1EE8E;N # ARABIC MATHEMATICAL LOOPED SEEN
+1EE8F;N # ARABIC MATHEMATICAL LOOPED AIN
+1EE90;N # ARABIC MATHEMATICAL LOOPED FEH
+1EE91;N # ARABIC MATHEMATICAL LOOPED SAD
+1EE92;N # ARABIC MATHEMATICAL LOOPED QAF
+1EE93;N # ARABIC MATHEMATICAL LOOPED REH
+1EE94;N # ARABIC MATHEMATICAL LOOPED SHEEN
+1EE95;N # ARABIC MATHEMATICAL LOOPED TEH
+1EE96;N # ARABIC MATHEMATICAL LOOPED THEH
+1EE97;N # ARABIC MATHEMATICAL LOOPED KHAH
+1EE98;N # ARABIC MATHEMATICAL LOOPED THAL
+1EE99;N # ARABIC MATHEMATICAL LOOPED DAD
+1EE9A;N # ARABIC MATHEMATICAL LOOPED ZAH
+1EE9B;N # ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1;N # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+1EEA2;N # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+1EEA3;N # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5;N # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+1EEA6;N # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+1EEA7;N # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+1EEA8;N # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+1EEA9;N # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB;N # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+1EEAC;N # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+1EEAD;N # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+1EEAE;N # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+1EEAF;N # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+1EEB0;N # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+1EEB1;N # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+1EEB2;N # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+1EEB3;N # ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+1EEB4;N # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+1EEB5;N # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+1EEB6;N # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+1EEB7;N # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+1EEB8;N # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+1EEB9;N # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+1EEBA;N # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+1EEBB;N # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0;N # ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+1EEF1;N # ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 1F000;N # MAHJONG TILE EAST WIND
 1F001;N # MAHJONG TILE SOUTH WIND
 1F002;N # MAHJONG TILE WEST WIND
@@ -21938,6 +22650,8 @@
 1F167;A # NEGATIVE CIRCLED LATIN CAPITAL LETTER X
 1F168;A # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
 1F169;A # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1F16A;N # RAISED MC SIGN
+1F16B;N # RAISED MD SIGN
 1F170;A # NEGATIVE SQUARED LATIN CAPITAL LETTER A
 1F171;A # NEGATIVE SQUARED LATIN CAPITAL LETTER B
 1F172;A # NEGATIVE SQUARED LATIN CAPITAL LETTER C
@@ -22564,6 +23278,10 @@
 1F53B;N # DOWN-POINTING RED TRIANGLE
 1F53C;N # UP-POINTING SMALL RED TRIANGLE
 1F53D;N # DOWN-POINTING SMALL RED TRIANGLE
+1F540;N # CIRCLED CROSS POMMEE
+1F541;N # CROSS POMMEE WITH HALF-CIRCLE BELOW
+1F542;N # CROSS POMMEE
+1F543;N # NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
 1F550;N # CLOCK FACE ONE OCLOCK
 1F551;N # CLOCK FACE TWO OCLOCK
 1F552;N # CLOCK FACE THREE OCLOCK
@@ -22593,6 +23311,7 @@
 1F5FD;N # STATUE OF LIBERTY
 1F5FE;N # SILHOUETTE OF JAPAN
 1F5FF;N # MOYAI
+1F600;N # GRINNING FACE
 1F601;N # GRINNING FACE WITH SMILING EYES
 1F602;N # FACE WITH TEARS OF JOY
 1F603;N # SMILING FACE WITH OPEN MOUTH
@@ -22609,15 +23328,21 @@
 1F60E;N # SMILING FACE WITH SUNGLASSES
 1F60F;N # SMIRKING FACE
 1F610;N # NEUTRAL FACE
+1F611;N # EXPRESSIONLESS FACE
 1F612;N # UNAMUSED FACE
 1F613;N # FACE WITH COLD SWEAT
 1F614;N # PENSIVE FACE
+1F615;N # CONFUSED FACE
 1F616;N # CONFOUNDED FACE
+1F617;N # KISSING FACE
 1F618;N # FACE THROWING A KISS
+1F619;N # KISSING FACE WITH SMILING EYES
 1F61A;N # KISSING FACE WITH CLOSED EYES
+1F61B;N # FACE WITH STUCK-OUT TONGUE
 1F61C;N # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
 1F61D;N # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
 1F61E;N # DISAPPOINTED FACE
+1F61F;N # WORRIED FACE
 1F620;N # ANGRY FACE
 1F621;N # POUTING FACE
 1F622;N # CRYING FACE
@@ -22624,15 +23349,21 @@
 1F623;N # PERSEVERING FACE
 1F624;N # FACE WITH LOOK OF TRIUMPH
 1F625;N # DISAPPOINTED BUT RELIEVED FACE
+1F626;N # FROWNING FACE WITH OPEN MOUTH
+1F627;N # ANGUISHED FACE
 1F628;N # FEARFUL FACE
 1F629;N # WEARY FACE
 1F62A;N # SLEEPY FACE
 1F62B;N # TIRED FACE
+1F62C;N # GRIMACING FACE
 1F62D;N # LOUDLY CRYING FACE
+1F62E;N # FACE WITH OPEN MOUTH
+1F62F;N # HUSHED FACE
 1F630;N # FACE WITH OPEN MOUTH AND COLD SWEAT
 1F631;N # FACE SCREAMING IN FEAR
 1F632;N # ASTONISHED FACE
 1F633;N # FLUSHED FACE
+1F634;N # SLEEPING FACE
 1F635;N # DIZZY FACE
 1F636;N # FACE WITHOUT MOUTH
 1F637;N # FACE WITH MEDICAL MASK
@@ -22845,7 +23576,7 @@
 20000..2A6D6;W # <CJK Ideograph Extension B, First>..<CJK Ideograph Extension B, Last>
 2A6D7..2A6FF;W # <reserved-2A6D7>..<reserved-2A6FF>
 2A700..2B734;W # <CJK Ideograph Extension C, First>..<CJK Ideograph Extension C, Last>
-2B735..2F73F;W # <reserved-2B735>..<reserved-2F73F>
+2B735..2B73F;W # <reserved-2B735>..<reserved-2B73F>
 2B740..2B81D;W # <CJK Ideograph Extension D, First>..<CJK Ideograph Extension D, Last>
 2B81E..2F7FF;W # <reserved-2B735>..<reserved-2F7FF>
 2F800;W # CJK COMPATIBILITY IDEOGRAPH-2F800


Property changes on: vendor/perl/dist/lib/unicore/EastAsianWidth.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/EmojiSources.txt
===================================================================
--- vendor/perl/dist/lib/unicore/EmojiSources.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/EmojiSources.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# EmojiSources-6.0.0.txt
-# Date: 2010-04-24, 00:00:00 GMT [MS]
+# EmojiSources-6.2.0.txt
+# Date: 2012-03-08, 21:21:00 GMT [MS, KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -15,6 +15,10 @@
 # Note: It is possible that future versions of this file will include
 # additional data columns providing mappings for additional vendors.
 #
+# Created for Unicode 6.0 by Markus Scherer.
+# Updated for Unicode 6.1 by Ken Whistler (no changes to mappings).
+# Updated for Unicode 6.2 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.
 #


Property changes on: vendor/perl/dist/lib/unicore/EmojiSources.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/HangulSyllableType.txt
===================================================================
--- vendor/perl/dist/lib/unicore/HangulSyllableType.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/HangulSyllableType.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# HangulSyllableType-6.0.0.txt
-# Date: 2010-05-18, 00:49:27 GMT [MD]
+# HangulSyllableType-6.2.0.txt
+# Date: 2012-05-23, 20:34:56 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 


Property changes on: vendor/perl/dist/lib/unicore/HangulSyllableType.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/Index.txt
===================================================================
--- vendor/perl/dist/lib/unicore/Index.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/Index.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -249,6 +249,7 @@
 Arabic Contextual Form Glyphs	FE80
 ARABIC DATE SEPARATOR	060D
 ARABIC DECIMAL SEPARATOR	066B
+Arabic Extended-A	08A0
 Arabic Extensions	0671
 ARABIC FULL STOP	06D4
 Arabic Harakat	064B
@@ -261,6 +262,7 @@
 Arabic Letters, Extended	0750
 ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM	FDFD
 Arabic Ligatures	FBEA
+Arabic Mathematical Alphabetic Symbols	1EE00
 arabic phrase separator	066C
 Arabic Points, Glyphs for Spacing Forms of	FE70
 Arabic Presentation Forms-A	FB50
@@ -769,7 +771,7 @@
 CASTLE	26EB
 CAT	1F408
 CAT FACE	1F431
-Cat faces	1F638
+Cat Faces	1F638
 CAUTION SIGN	2621
 cd	1F4BF
 CEDI SIGN	20B5
@@ -792,6 +794,7 @@
 CENTRELINE OVERLINE	FE4A
 cgj	034F
 CHAINS	26D3
+Chakma	11100
 Cham	AA00
 chandrakkala, malayalam	0D4D
 CHARACTER INTRODUCER, SINGLE	009A
@@ -1224,6 +1227,7 @@
 CROSS MARK	274C
 CROSS OF JERUSALEM	2629
 CROSS OF LORRAINE	2628
+CROSS POMMEE	1F542
 cross ratio	211E
 cross, constantine's	2627
 CROSS, DOTTED	205C
@@ -1339,8 +1343,10 @@
 DASH, EM	2014
 DASH, EN	2013
 DASH, FIGURE	2012
+dash, omission	2E3A
 dash, quotation	2015
 DASH, SWUNG	2053
+DASH, TWO-EM	2E3A
 DASH, WAVE	301C
 DASH, WAVY	3030
 DASHED LOW LINE	FE4D
@@ -2227,6 +2233,7 @@
 Greek, Precomposed Polytonic	1F00
 GROUND, EARTH	23DA
 group lock	21F0
+group select (ISO 9995-7)	21E8
 group separator	001D
 GROUP SEPARATOR, SYMBOL FOR	241D
 GUARANI SIGN	20B2
@@ -2987,6 +2994,7 @@
 Letterlike Mathematical Symbols, Hebrew	2135
 Letterlike Symbols	2100
 level 2 lock	21EB
+level 2 select (ISO 9995-7)	21E7
 level 3 lock	21EF
 level 3 select	21EE
 LEZH, LATIN SMALL LETTER	026E
@@ -3053,8 +3061,8 @@
 Lines, Horizontal Scan	23BA
 Lines, Vertical	2223
 LIRA SIGN	20A4
+LIRA SIGN, TURKISH	20BA
 lira, italian	00A3
-lira, turkish	00A3
 Lisu	A4D0
 liter	2113
 LIVRE TOURNOIS SIGN	20B6
@@ -3141,6 +3149,7 @@
 MACRON, MODIFIER LETTER	02C9
 MACRON, MODIFIER LETTER LOW	02CD
 macron, spacing	00AF
+Magnetic Ink Character Recognition, MICR	2446
 MAGNIFYING GLASS, LEFT-POINTING	1F50D
 MAGNIFYING GLASS, RIGHT-POINTING	1F50E
 Mahjong Tiles	1F000
@@ -3181,6 +3190,8 @@
 Markers, Go	2686
 Marks, Combining Diacritical	0300
 Marks, Combining Half	FE20
+marque de commerce	1F16A
+marque deposee	1F16B
 MARRIAGE SYMBOL	26AD
 mars	2642
 MASCULINE ORDINAL INDICATOR	00BA
@@ -3222,6 +3233,8 @@
 Mathematical Symbols-A, Miscellaneous	27C0
 Mathematical Symbols-B, Miscellaneous	2980
 MATRIX, HERMITIAN CONJUGATE	22B9
+MC SIGN, RAISED	1F16A
+MD SIGN, RAISED	1F16B
 MEASURED ANGLE	2221
 Measured Angles, Angles and	299B
 MEASURED BY	225E
@@ -3238,6 +3251,7 @@
 MEDIUM, END OF	0019
 MEDIUM, SYMBOL FOR END OF	2419
 Meetei Mayek	ABC0
+Meetei Mayek Extensions	AAE0
 MEMBER, CONTAINS AS	220B
 MEMBER, DOES NOT CONTAIN AS	220C
 MEMBER, SMALL CONTAINS AS	220D
@@ -3246,11 +3260,15 @@
 MEN HOLDING HANDS, TWO	1F46C
 MERCURY	263F
 merge	2A07
+Meroitic Cursive	109A0
+Meroitic Hieroglyphs	10980
 merpadi, tamil	0BF8
 MESSAGE WAITING	0095
 MESSAGE, PRIVACY	009E
 Metrical Symbols	23D1
 mho	2127
+Miao	16F00
+MICR, Magnetic Ink Character Recognition	2446
 MICRO SIGN	00B5
 mid space	2005
 MIDDLE DOT	00B7
@@ -3599,6 +3617,7 @@
 OM, TIBETAN SYLLABLE	0F00
 omega pi	03D6
 OMEGA, LATIN SMALL LETTER CLOSED	0277
+omission dash	2E3A
 ONE DOT LEADER	2024
 ONE HALF, VULGAR FRACTION	00BD
 ONE QUARTER, VULGAR FRACTION	00BC
@@ -3622,6 +3641,7 @@
 opening parenthesis	0028
 opening square bracket	005B
 OPERATING SYSTEM COMMAND	009D
+operating system key (ISO 9995-7)	2318
 Operators Supplement, Mathematical	2A00
 Operators, Database Theory	27D5
 Operators, Dotted Mathematical	2234
@@ -3728,6 +3748,7 @@
 PAGE, NEXT	2398
 PAGE, PREVIOUS	2397
 Pahlavi	10B60
+Palaeotype Transliteration Symbols	2E32
 PALATAL HOOK, LATIN SMALL LETTER T WITH	01AB
 PALATALIZED HOOK BELOW, COMBINING	0321
 PALM BRANCH	2E19
@@ -4498,6 +4519,7 @@
 SHAMROCK	2618
 shamrock	2663
 Shapes, Geometric	25A0
+Sharada	11180
 SHARP S, LATIN SMALL LETTER	00DF
 SHARP SIGN, MUSIC	266F
 Shavian	10450
@@ -4640,6 +4662,7 @@
 SOLIDUS, BIG	29F8
 SOLIDUS, BIG REVERSE	29F9
 SOLIDUS, REVERSE	005C
+Sora Sompeng	110D0
 sound	1F50A
 SOUND RECORDING COPYRIGHT	2117
 SOURCE, INFORMATION	2139
@@ -4805,6 +4828,7 @@
 SUN WITH RAYS, BLACK	2600
 SUN WITH RAYS, WHITE	263C
 Sundanese	1B80
+Sundanese Supplement	1CC0
 sunna, telugu	0C02
 Superscript Digits	2070
 Superscript Letter Diacritics, Latin Medieval	1DD3
@@ -4995,6 +5019,7 @@
 Tails, Fish	297C
 tainome japanese bullet	25C9
 TAKE, PRESCRIPTION	211E
+Takri	11680
 Tamil	0B80
 TAMIL AS ABOVE SIGN	0BF8
 tamil aytham	0B83
@@ -5224,8 +5249,7 @@
 TURBAN, MAN WITH	1F473
 turbofan	274B
 Turkic, Old	10C00
-turkish currency	20A4
-turkish lira	00A3
+TURKISH LIRA SIGN	20BA
 TURNED A, LATIN SMALL LETTER	0250
 TURNED AE, LATIN SMALL LETTER	1D02
 TURNED ALPHA, LATIN SMALL LETTER	0252
@@ -5275,6 +5299,7 @@
 TWO DOT LEADER	2025
 TWO DOT PUNCTUATION	205A
 TWO, SUPERSCRIPT	00B2
+TWO-EM DASH	2E3A
 U BAR, LATIN CAPITAL LETTER	0244
 U BAR, LATIN SMALL LETTER	0289
 U WITH ACUTE, LATIN CAPITAL LETTER	00DA
@@ -5369,9 +5394,9 @@
 uranus	26E2
 urdu paragraph separator	203B
 URN, FUNERAL	26B1
-User interface Input Status Symbols	1F520
+User Interface Input Status Symbols	1F520
 User Interface Symbols	1F500
-User interface Symbols	1F53A
+User Interface Symbols	1F53A
 v above	030C
 V WITH DOT BELOW, LATIN SMALL LETTER	1E7F
 V WITH HOOK, LATIN CAPITAL LETTER	01B2


Property changes on: vendor/perl/dist/lib/unicore/Index.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/IndicMatraCategory.txt
===================================================================
--- vendor/perl/dist/lib/unicore/IndicMatraCategory.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/IndicMatraCategory.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# IndicMatraCategory-6.0.0.txt
-# Date: 2010-07-14, 15:03:00 PDT [KW]
+# IndicMatraCategory-6.2.0.txt
+# Date: 2012-05-15, 21:10:00 GMT [KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see UAX #44.
 #
@@ -63,7 +63,7 @@
 # Tagalog, Hanunoo, Buhid, Tagbanwa, Khmer, Limbu, New Tai Lue,
 # Buginese, Tai Tham, Balinese, Sundanese, Batak, Lepcha,
 # Syloti Nagri, Saurashtra, Rejang, Javanese, Cham, Tai Viet,
-# Meetei Mayek, Karoshthi, Brahmi, Kaithi
+# Meetei Mayek, Kharoshthi, Brahmi, Kaithi, Chakma, Sharada, Takri
 #
 # All characters for all other scripts not in that list
 # take the default value for this property.
@@ -157,6 +157,7 @@
 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
 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
@@ -163,6 +164,10 @@
 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
+111B3         ; Right # Mc       SHARADA VOWEL SIGN AA
+111B5         ; Right # Mc       SHARADA VOWEL SIGN II
+111C0         ; Right # Mc       SHARADA SIGN VIRAMA
+116AF         ; Right # Mc       TAKRI VOWEL SIGN II
 
 # Indic_Matra_Category=Left
 
@@ -190,7 +195,12 @@
 1C27..1C28    ; Left # Mc   [2] LEPCHA VOWEL SIGN I..LEPCHA VOWEL SIGN O
 A9BA..A9BB    ; Left # Mc   [2] JAVANESE VOWEL SIGN TALING..JAVANESE VOWEL SIGN DIRGA MURE
 AA2F..AA30    ; Left # Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
+AAEB          ; Left # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEE          ; Left # Mc       MEETEI MAYEK VOWEL SIGN AU
 110B1         ; Left # Mc       KAITHI VOWEL SIGN I
+1112C         ; Left # Mc       CHAKMA VOWEL SIGN E
+111B4         ; Left # Mc       SHARADA VOWEL SIGN I
+116AE         ; Left # Mc       TAKRI VOWEL SIGN I
 
 # Indic_Matra_Category=Visual_Order_Left
 
@@ -289,6 +299,7 @@
 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
+AAED          ; Top # Mn       MEETEI MAYEK VOWEL SIGN AAI
 ABE5          ; Top # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 10A05         ; Top # Mn       KHAROSHTHI VOWEL SIGN E
 11038..1103B  ; Top # Mn   [4] BRAHMI VOWEL SIGN AA..BRAHMI VOWEL SIGN II
@@ -295,6 +306,14 @@
 11042..11045  ; Top # Mn   [4] BRAHMI VOWEL SIGN E..BRAHMI VOWEL SIGN AU
 11046         ; Top # Mn       BRAHMI VIRAMA
 110B5..110B6  ; Top # Mn   [2] KAITHI VOWEL SIGN E..KAITHI VOWEL SIGN AI
+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
+111BC..111BE  ; Top # Mn   [3] SHARADA VOWEL SIGN E..SHARADA VOWEL SIGN O
+116AD         ; Top # Mn       TAKRI VOWEL SIGN AA
+116B2..116B5  ; Top # Mn   [4] TAKRI VOWEL SIGN E..TAKRI VOWEL SIGN AU
+116B6         ; Top # Mn       TAKRI SIGN VIRAMA
 
 # Indic_Matra_Category=Bottom
 
@@ -352,6 +371,7 @@
 AA2D          ; Bottom # Mn       CHAM VOWEL SIGN U
 AA32          ; Bottom # Mn       CHAM VOWEL SIGN UE
 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
@@ -359,6 +379,10 @@
 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
+1112A..1112B  ; Bottom # Mn   [2] CHAKMA VOWEL SIGN U..CHAKMA VOWEL SIGN UU
+11131..11132  ; Bottom # Mn   [2] CHAKMA O MARK..CHAKMA AU MARK
+111B6..111BB  ; Bottom # Mn   [6] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN VOCALIC LL
+116B0..116B1  ; Bottom # Mn   [2] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN UU
 
 # Indic_Matra_Category=Top_And_Bottom
 
@@ -367,6 +391,7 @@
 0F76..0F79    ; Top_And_Bottom # Mn   [4] TIBETAN VOWEL SIGN VOCALIC R..TIBETAN VOWEL SIGN VOCALIC LL
 0F81          ; Top_And_Bottom # Mn       TIBETAN VOWEL SIGN REVERSED II
 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
 
@@ -377,6 +402,7 @@
 0CCA..0CCB    ; Top_And_Right # Mc   [2] KANNADA VOWEL SIGN O..KANNADA VOWEL SIGN OO
 1925..1926    ; Top_And_Right # Mc   [2] LIMBU VOWEL SIGN OO..LIMBU VOWEL SIGN AU
 1B43          ; Top_And_Right # Mc       BALINESE VOWEL SIGN PEPET TEDUNG
+111BF         ; Top_And_Right # Mc       SHARADA VOWEL SIGN AU
 
 # Indic_Matra_Category=Top_And_Left
 
@@ -413,6 +439,8 @@
 1039          ; Invisible # Mn       MYANMAR SIGN VIRAMA
 17D2          ; Invisible # Mn       KHMER SIGN COENG
 1A60          ; Invisible # Mn       TAI THAM SIGN SAKOT
+AAF6          ; Invisible # Mn       MEETEI MAYEK VIRAMA
 10A3F         ; Invisible # Mn       KHAROSHTHI VIRAMA
+11133         ; Invisible # Mn       CHAKMA VIRAMA
 
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/IndicMatraCategory.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt
===================================================================
--- vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# IndicSyllabicCategory-6.0.0.txt
-# Date: 2010-05-25, 11:45:00 PDT [KW]
+# IndicSyllabicCategory-6.2.0.txt
+# Date: 2012-05-15, 21:12:00 GMT [KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see UAX #44.
 #
@@ -43,7 +43,7 @@
 # Tagalog, Hanunoo, Buhid, Tagbanwa, Khmer, Limbu, Tai Le, New Tai Lue,
 # Buginese, Tai Tham, Balinese, Sundanese, Batak, Lepcha,
 # Syloti Nagri, Phags-Pa, Saurashtra, Kayah Li, Rejang, Javanese, Cham, Tai Viet,
-# Meetei Mayek, Karoshthi, Brahmi, Kaithi
+# Meetei Mayek, Kharoshthi, Brahmi, Kaithi, Chakma, Sharada, Takri
 #
 # All characters for all other scripts not in that list
 # take the default value for this property, unless they
@@ -99,6 +99,9 @@
 11000         ; Bindu # Mc       BRAHMI SIGN CANDRABINDU
 11001         ; Bindu # Mn       BRAHMI SIGN ANUSVARA
 11080..11081  ; Bindu # Mn   [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA      
+11100..11101  ; Bindu # Mn       CHAKMA SIGN CANDRABINDU..CHAKMA SIGN ANUSVARA
+11180..11181  ; Bindu # Mn       SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+116AB         ; Bindu # Mn       TAKRI SIGN ANUSVARA
 
 # ================================================
 
@@ -105,6 +108,9 @@
 # Indic_Syllabic_Category=Visarga
 
 # Visarga (-h)
+# Includes specialized case for Sanskrit: ardhavisarga
+# Excludes letters for jihvamuliya and upadhmaniya, which are
+#   related, but structured somewhat differently. 
 
 # [Not derivable]
 
@@ -122,11 +128,17 @@
 17C7          ; Visarga # Mc       KHMER SIGN REAHMUK
 1B04          ; Visarga # Mc       BALINESE SIGN BISAH
 1B82          ; Visarga # Mc       SUNDANESE SIGN PANGWISAD
+1CF2          ; Visarga # Mc       VEDIC SIGN ARDHAVISARGA
+1CF3          ; Visarga # Mc       VEDIC SIGN ROTATED ARDHAVISARGA
 A881          ; Visarga # Mc       SAURASHTRA SIGN VISARGA
 A983          ; Visarga # Mc       JAVANESE SIGN WIGNYAN
+AAF5          ; Visarga # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 10A0F         ; Visarga # Mn       KHAROSHTHI SIGN VISARGA
 11002         ; Visarga # Mc       BRAHMI SIGN VISARGA
 11082         ; Visarga # Mc       KAITHI SIGN VISARGA
+11102         ; Visarga # Mn       CHAKMA SIGN VISARGA
+11182         ; Visarga # Mn       SHARADA SIGN VISARGA
+116AC         ; Visarga # Mc       TAKRI SIGN VISARGA
 
 # ================================================
 
@@ -145,6 +157,8 @@
 0D3D          ; Avagraha # Lo       MALAYALAM SIGN AVAGRAHA
 0F85          ; Avagraha # Po       TIBETAN MARK PALUTA
 17DC          ; Avagraha # Lo       KHMER SIGN AVAKRAHASANYA
+1BBA          ; Avagraha # Lo       SUNDANESE AVAGRAHA
+111C1         ; Avagraha # Lo       SHARADA SIGN AVAGRAHA
 
 # ================================================
 
@@ -165,6 +179,7 @@
 1C37          ; Nukta # Mn       LEPCHA SIGN NUKTA
 A9B3          ; Nukta # Mn       JAVANESE SIGN CECAK TELU
 110BA         ; Nukta # Mn       KAITHI SIGN NUKTA
+116B7         ; Nukta # Mn       TAKRI SIGN NUKTA
 
 # ================================================
 
@@ -196,15 +211,20 @@
 1A60          ; Virama # Mn       TAI THAM SIGN SAKOT
 1B44          ; Virama # Mc       BALINESE ADEG ADEG
 1BAA          ; Virama # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; Virama # Mc       SUNDANESE SIGN VIRAMA
 1BF2..1BF3    ; Virama # Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
 A806          ; Virama # Mn       SYLOTI NAGRI SIGN HASANTA
 A8C4          ; Virama # Mn       SAURASHTRA SIGN VIRAMA
 A953          ; Virama # Mc       REJANG VIRAMA
 A9C0          ; Virama # Mc       JAVANESE PANGKON
+AAF6          ; Virama # Mn       MEETEI MAYEK VIRAMA
 ABED          ; Virama # Mn       MEETEI MAYEK APUN IYEK
 10A3F         ; Virama # Mn       KHAROSHTHI VIRAMA
 11046         ; Virama # Mn       BRAHMI VIRAMA
 110B9         ; Virama # Mn       KAITHI SIGN VIRAMA
+11133..11134  ; Virama # Mn       CHAKMA VIRAMA..CHAKMA MAAYYAA
+111C0         ; Virama # Mc       SHARADA SIGN VIRAMA
+116B6         ; Virama # Mn       TAKRI SIGN VIRAMA
 
 # ================================================
 
@@ -265,8 +285,14 @@
 A984..A988    ; Vowel_Independent # Lo   [5] JAVANESE LETTER A..JAVANESE LETTER U
 A98C..A98E    ; Vowel_Independent # Lo   [3] JAVANESE LETTER E..JAVANESE LETTER O
 AA00..AA05    ; Vowel_Independent # Lo   [6] CHAM LETTER A..CHAM LETTER O
+AAE0..AAE1    ; Vowel_Independent # Lo   [2] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER O
+ABCE..ABCF    ; Vowel_Independent # Lo   [2] MEETEI MAYEK LETTER UN..MEETEI MAYEK LETTER I
+ABD1          ; Vowel_Independent # Lo       MEETEI MAYEK LETTER ATIYA
 11005..11012  ; Vowel_Independent # Lo  [14] BRAHMI LETTER A..BRAHMI LETTER AU
 11083..1108C  ; Vowel_Independent # Lo  [10] KAITHI LETTER A..KAITHI LETTER AU
+11103..11106  ; Vowel_Independent # Lo   [4] CHAKMA LETTER AA..CHAKMA LETTER E
+11183..11190  ; Vowel_Independent # Lo  [14] SHARADA LETTER A..SHARADA LETTER AU
+11680..11689  ; Vowel_Independent # Lo  [10] TAKRI LETTER A..TAKRI LETTER AU
 
 # ================================================
 
@@ -426,6 +452,7 @@
 AAB7..AAB8    ; Vowel_Dependent # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AAB9..AABD    ; Vowel_Dependent # Lo   [5] TAI VIET VOWEL UEA..TAI VIET VOWEL AN
 AABE          ; Vowel_Dependent # Mn       TAI VIET VOWEL AM
+AAEB..AAEF    ; Vowel_Dependent # Mc   [5] MEETEI MAYEK VOWEL SIGN II..MEETEI MAYEK VOWEL SIGN AAU
 ABE3..ABE4    ; Vowel_Dependent # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; Vowel_Dependent # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE6..ABE7    ; Vowel_Dependent # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
@@ -438,6 +465,9 @@
 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
 110B7..110B8  ; Vowel_Dependent # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
+11127..11132  ; Vowel_Dependent # Mn  [12] CHAKMA VOWEL SIGN A..CHAKMA AU MARK
+111B3..111BF  ; Vowel_Dependent # Mn  [13] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN AU
+116AD..116B5  ; Vowel_Dependent # Mn   [9] TAKRI VOWEL SIGN AA..TAKRI VOWEL SIGN AU
 
 # ================================================
 
@@ -568,6 +598,7 @@
 1B45..1B4B    ; Consonant # Lo   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
 1B8A..1BA0    ; Consonant # Lo  [23] SUNDANESE LETTER KA..SUNDANESE LETTER HA
 1BAE..1BAF    ; Consonant # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
+1BBB..1BBD    ; Consonant # Lo   [3] SUNDANESE LETTER REU..SUNDANESE LETTER BHA
 1BC0..1BE3    ; Consonant # Lo  [36] BATAK LETTER A..BATAK LETTER MBA
 1C00..1C23    ; Consonant # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
 1C4D..1C4F    ; Consonant # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
@@ -587,7 +618,10 @@
 AA71..AA73    ; Consonant # Lo   [3] MYANMAR LETTER KHAMTI XA..MYAMNAR LETTER KHAMTI RA
 AA7A          ; Consonant # Lo       MYANMAR LETTER AITON RA
 AA80..AAAF    ; Consonant # Lo  [48] TAI VIET LETTER LOW KO..TAI VIET LETTER HIGH O
-ABC0..ABDA    ; Consonant # Lo  [27] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER BHAM
+AAE2..AAEA    ; Consonant # Lo   [9] MEETEI MAYEK LETTER CHA..MEETEI MAYEK LETTER SSA
+ABC0..ABCD    ; Consonant # Lo  [14] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER HUK
+ABD0          ; Consonant # Lo       MEETEI MAYEK LETTER PHAM
+ABD2..ABDA    ; Consonant # Lo   [9] MEETEI MAYEK LETTER GOK..MEETEI MAYEK LETTER BHAM
 10A00         ; Consonant # Lo       KHAROSHTHI LETTER A
 10A10..10A13  ; Consonant # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; Consonant # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -594,6 +628,9 @@
 10A19..10A33  ; Consonant # Lo  [27] KHAROSHTHI LETTER NYA..KHAROSHTHI LETTER TTTHA
 11013..11037  ; Consonant # Lo  [37] BRAHMI LETTER KA..BRAHMI LETTER OLD TAMIL NNNA
 1108D..110AF  ; Consonant # Lo  [35] KAITHI LETTER KA..KAITHI LETTER HA
+11107..11126  ; Consonant # Lo  [32] CHAKMA LETTER KAA..CHAKMA LETTER HAA
+11191..111B2  ; Consonant # Lo  [34] SHARADA LETTER KA..SHARADA LETTER HA
+1168A..116AA  ; Consonant # Lo  [34] TAKRI LETTER KA..TAKRI LETTER RRA
 
 # ================================================
 
@@ -633,6 +670,7 @@
 1929..192B    ; Consonant_Subjoined # Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
 1BA1          ; Consonant_Subjoined # Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
 1BA2..1BA3    ; Consonant_Subjoined # Mn   [2] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE CONSONANT SIGN PANYIKU
+1BAC..1BAD    ; Consonant_Subjoined # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1C24..1C25    ; Consonant_Subjoined # Mc   [2] LEPCHA SUBJOINED LETTER YA..LEPCHA SUBJOINED LETTER RA
 A867..A868    ; Consonant_Subjoined # Lo   [2] PHAGS-PA SUBJOINED LETTER WA..PHAGS-PA SUBJOINED LETTER YA
 A871          ; Consonant_Subjoined # Lo       PHAGS-PA SUBJOINED LETTER RA
@@ -672,6 +710,7 @@
 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
+1BBE..1BBF    ; Consonant_Final # Lo   [2] SUNDANESE LETTER FINAL K..SUNDANESE LETTER FINAL M
 1BF0..1BF1    ; Consonant_Final # Mn   [2] BATAK CONSONANT SIGN NG..BATAK CONSONANT SIGN H
 1C2D..1C33    ; Consonant_Final # Mn   [7] LEPCHA CONSONANT SIGN K..LEPCHA CONSONANT SIGN T
 A8B4          ; Consonant_Final # Mc       SAURASHTRA CONSONANT SIGN HAARU


Property changes on: vendor/perl/dist/lib/unicore/IndicSyllabicCategory.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/Jamo.txt
===================================================================
--- vendor/perl/dist/lib/unicore/Jamo.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/Jamo.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,22 +1,22 @@
-# Jamo-6.0.0.txt
-# Date: 2010-05-19, 11:19:00 PDT [KW]
+# Jamo-6.2.0.txt
+# Date: 2012-05-15, 22:23:00 GMT [KW, LI]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 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.
+# This file defines the Jamo_Short_Name property.
 #
-# See Section 3.12 of The Unicode Standard, Version 6.0
+# See Section 3.12 of The Unicode Standard, Version 6.2
 # for more information.
 #
 # Each line contains two fields, separated by a semicolon.
 #
 # The first field gives the code point, in 4-digit hexadecimal
-# form, of a combining jamo character that participates in
-# the algorithmic determination Hangul syllable character names.
-# The second field gives the Jamo Short Name as a one-, two-,
+# form, of a conjoining jamo character that participates in the
+# algorithmic determination of Hangul syllable character names.
+# The second field gives the Jamo_Short_Name as a one-, two-,
 # or three-character ASCII string (or in one case, for U+110B,
 # the null string).
 #
@@ -90,3 +90,4 @@
 11C1; P   # HANGUL JONGSEONG PHIEUPH
 11C2; H   # HANGUL JONGSEONG HIEUH
 
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/Jamo.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/LineBreak.txt
===================================================================
--- vendor/perl/dist/lib/unicore/LineBreak.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/LineBreak.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
-# LineBreak-6.0.0.txt
-# Date: 2010-08-18, 17:25:00 PDT [KW]
+# LineBreak-6.2.0.txt
+# Date: 2012-08-08, 19:26:00 GMT [KW]
 #
 # Line Break Properties
 #
@@ -7,7 +7,7 @@
 # Unicode Character Database.
 # It contains both normative and informative data.
 #
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # The format is two fields separated by a semicolon.
@@ -19,7 +19,7 @@
 #   Informative:
 #         "XX", "OP", "CL", "CP", "QU", "NS", "EX", "SY",
 #         "IS", "PR", "PO", "NU", "AL", "ID", "IN", "HY",
-#         "BB", "BA", "SA", "AI", "B2"
+#         "BB", "BA", "SA", "AI", "B2", "HL", "CJ", "RI"
 #  - All code points, assigned and unassigned, that are not listed 
 #         explicitly are given the value "XX".
 # The unassigned code points that default to "ID" include ranges in the
@@ -1439,6 +1439,7 @@
 0587;AL # ARMENIAN SMALL LIGATURE ECH YIWN
 0589;IS # ARMENIAN FULL STOP
 058A;BA # ARMENIAN HYPHEN
+058F;PR # ARMENIAN DRAM SIGN
 0591;CM # HEBREW ACCENT ETNAHTA
 0592;CM # HEBREW ACCENT SEGOL
 0593;CM # HEBREW ACCENT SHALSHELET
@@ -1494,36 +1495,36 @@
 05C5;CM # HEBREW MARK LOWER DOT
 05C6;EX # HEBREW PUNCTUATION NUN HAFUKHA
 05C7;CM # HEBREW POINT QAMATS QATAN
-05D0;AL # HEBREW LETTER ALEF
-05D1;AL # HEBREW LETTER BET
-05D2;AL # HEBREW LETTER GIMEL
-05D3;AL # HEBREW LETTER DALET
-05D4;AL # HEBREW LETTER HE
-05D5;AL # HEBREW LETTER VAV
-05D6;AL # HEBREW LETTER ZAYIN
-05D7;AL # HEBREW LETTER HET
-05D8;AL # HEBREW LETTER TET
-05D9;AL # HEBREW LETTER YOD
-05DA;AL # HEBREW LETTER FINAL KAF
-05DB;AL # HEBREW LETTER KAF
-05DC;AL # HEBREW LETTER LAMED
-05DD;AL # HEBREW LETTER FINAL MEM
-05DE;AL # HEBREW LETTER MEM
-05DF;AL # HEBREW LETTER FINAL NUN
-05E0;AL # HEBREW LETTER NUN
-05E1;AL # HEBREW LETTER SAMEKH
-05E2;AL # HEBREW LETTER AYIN
-05E3;AL # HEBREW LETTER FINAL PE
-05E4;AL # HEBREW LETTER PE
-05E5;AL # HEBREW LETTER FINAL TSADI
-05E6;AL # HEBREW LETTER TSADI
-05E7;AL # HEBREW LETTER QOF
-05E8;AL # HEBREW LETTER RESH
-05E9;AL # HEBREW LETTER SHIN
-05EA;AL # HEBREW LETTER TAV
-05F0;AL # HEBREW LIGATURE YIDDISH DOUBLE VAV
-05F1;AL # HEBREW LIGATURE YIDDISH VAV YOD
-05F2;AL # HEBREW LIGATURE YIDDISH DOUBLE YOD
+05D0;HL # HEBREW LETTER ALEF
+05D1;HL # HEBREW LETTER BET
+05D2;HL # HEBREW LETTER GIMEL
+05D3;HL # HEBREW LETTER DALET
+05D4;HL # HEBREW LETTER HE
+05D5;HL # HEBREW LETTER VAV
+05D6;HL # HEBREW LETTER ZAYIN
+05D7;HL # HEBREW LETTER HET
+05D8;HL # HEBREW LETTER TET
+05D9;HL # HEBREW LETTER YOD
+05DA;HL # HEBREW LETTER FINAL KAF
+05DB;HL # HEBREW LETTER KAF
+05DC;HL # HEBREW LETTER LAMED
+05DD;HL # HEBREW LETTER FINAL MEM
+05DE;HL # HEBREW LETTER MEM
+05DF;HL # HEBREW LETTER FINAL NUN
+05E0;HL # HEBREW LETTER NUN
+05E1;HL # HEBREW LETTER SAMEKH
+05E2;HL # HEBREW LETTER AYIN
+05E3;HL # HEBREW LETTER FINAL PE
+05E4;HL # HEBREW LETTER PE
+05E5;HL # HEBREW LETTER FINAL TSADI
+05E6;HL # HEBREW LETTER TSADI
+05E7;HL # HEBREW LETTER QOF
+05E8;HL # HEBREW LETTER RESH
+05E9;HL # HEBREW LETTER SHIN
+05EA;HL # HEBREW LETTER TAV
+05F0;HL # HEBREW LIGATURE YIDDISH DOUBLE VAV
+05F1;HL # HEBREW LIGATURE YIDDISH VAV YOD
+05F2;HL # HEBREW LIGATURE YIDDISH DOUBLE YOD
 05F3;AL # HEBREW PUNCTUATION GERESH
 05F4;AL # HEBREW PUNCTUATION GERSHAYIM
 0600;AL # ARABIC NUMBER SIGN
@@ -1530,6 +1531,7 @@
 0601;AL # ARABIC SIGN SANAH
 0602;AL # ARABIC FOOTNOTE MARKER
 0603;AL # ARABIC SIGN SAFHA
+0604;AL # ARABIC SIGN SAMVAT
 0606;AL # ARABIC-INDIC CUBE ROOT
 0607;AL # ARABIC-INDIC FOURTH ROOT
 0608;AL # ARABIC RAY
@@ -2102,6 +2104,45 @@
 085A;CM # MANDAIC VOCALIZATION MARK
 085B;CM # MANDAIC GEMINATION MARK
 085E;AL # MANDAIC PUNCTUATION
+08A0;AL # ARABIC LETTER BEH WITH SMALL V BELOW
+08A2;AL # ARABIC LETTER JEEM WITH TWO DOTS ABOVE
+08A3;AL # ARABIC LETTER TAH WITH TWO DOTS ABOVE
+08A4;AL # ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
+08A5;AL # ARABIC LETTER QAF WITH DOT BELOW
+08A6;AL # ARABIC LETTER LAM WITH DOUBLE BAR
+08A7;AL # ARABIC LETTER MEEM WITH THREE DOTS ABOVE
+08A8;AL # ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE
+08A9;AL # ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+08AA;AL # ARABIC LETTER REH WITH LOOP
+08AB;AL # ARABIC LETTER WAW WITH DOT WITHIN
+08AC;AL # ARABIC LETTER ROHINGYA YEH
+08E4;CM # ARABIC CURLY FATHA
+08E5;CM # ARABIC CURLY DAMMA
+08E6;CM # ARABIC CURLY KASRA
+08E7;CM # ARABIC CURLY FATHATAN
+08E8;CM # ARABIC CURLY DAMMATAN
+08E9;CM # ARABIC CURLY KASRATAN
+08EA;CM # ARABIC TONE ONE DOT ABOVE
+08EB;CM # ARABIC TONE TWO DOTS ABOVE
+08EC;CM # ARABIC TONE LOOP ABOVE
+08ED;CM # ARABIC TONE ONE DOT BELOW
+08EE;CM # ARABIC TONE TWO DOTS BELOW
+08EF;CM # ARABIC TONE LOOP BELOW
+08F0;CM # ARABIC OPEN FATHATAN
+08F1;CM # ARABIC OPEN DAMMATAN
+08F2;CM # ARABIC OPEN KASRATAN
+08F3;CM # ARABIC SMALL HIGH WAW
+08F4;CM # ARABIC FATHA WITH RING
+08F5;CM # ARABIC FATHA WITH DOT ABOVE
+08F6;CM # ARABIC KASRA WITH DOT BELOW
+08F7;CM # ARABIC LEFT ARROWHEAD ABOVE
+08F8;CM # ARABIC RIGHT ARROWHEAD ABOVE
+08F9;CM # ARABIC LEFT ARROWHEAD BELOW
+08FA;CM # ARABIC RIGHT ARROWHEAD BELOW
+08FB;CM # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE
+08FC;CM # ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT
+08FD;CM # ARABIC RIGHT ARROWHEAD ABOVE WITH DOT
+08FE;CM # ARABIC DAMMA WITH DOT
 0900;CM # DEVANAGARI SIGN INVERTED CANDRABINDU
 0901;CM # DEVANAGARI SIGN CANDRABINDU
 0902;CM # DEVANAGARI SIGN ANUSVARA
@@ -2482,6 +2523,7 @@
 0AED;NU # GUJARATI DIGIT SEVEN
 0AEE;NU # GUJARATI DIGIT EIGHT
 0AEF;NU # GUJARATI DIGIT NINE
+0AF0;AL # GUJARATI ABBREVIATION SIGN
 0AF1;PR # GUJARATI RUPEE SIGN
 0B01;CM # ORIYA SIGN CANDRABINDU
 0B02;CM # ORIYA SIGN ANUSVARA
@@ -3154,6 +3196,8 @@
 0ED9;NU # LAO DIGIT NINE
 0EDC;SA # LAO HO NO
 0EDD;SA # LAO HO MO
+0EDE;SA # LAO LETTER KHMU GO
+0EDF;SA # LAO LETTER KHMU NYO
 0F00;AL # TIBETAN SYLLABLE OM
 0F01;BB # TIBETAN MARK GTER YIG MGO TRUNCATED A
 0F02;BB # TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA
@@ -3563,6 +3607,8 @@
 10C3;AL # GEORGIAN CAPITAL LETTER WE
 10C4;AL # GEORGIAN CAPITAL LETTER HAR
 10C5;AL # GEORGIAN CAPITAL LETTER HOE
+10C7;AL # GEORGIAN CAPITAL LETTER YN
+10CD;AL # GEORGIAN CAPITAL LETTER AEN
 10D0;AL # GEORGIAN LETTER AN
 10D1;AL # GEORGIAN LETTER BAN
 10D2;AL # GEORGIAN LETTER GAN
@@ -3608,6 +3654,9 @@
 10FA;AL # GEORGIAN LETTER AIN
 10FB;AL # GEORGIAN PARAGRAPH SEPARATOR
 10FC;AL # MODIFIER LETTER GEORGIAN NAR
+10FD;AL # GEORGIAN LETTER AEN
+10FE;AL # GEORGIAN LETTER HARD SIGN
+10FF;AL # GEORGIAN LETTER LABIAL SIGN
 1100;JL # HANGUL CHOSEONG KIYEOK
 1101;JL # HANGUL CHOSEONG SSANGKIYEOK
 1102;JL # HANGUL CHOSEONG NIEUN
@@ -6041,6 +6090,9 @@
 1BA8;CM # SUNDANESE VOWEL SIGN PAMEPET
 1BA9;CM # SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA;CM # SUNDANESE SIGN PAMAAEH
+1BAB;CM # SUNDANESE SIGN VIRAMA
+1BAC;CM # SUNDANESE CONSONANT SIGN PASANGAN MA
+1BAD;CM # SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE;AL # SUNDANESE LETTER KHA
 1BAF;AL # SUNDANESE LETTER SYA
 1BB0;NU # SUNDANESE DIGIT ZERO
@@ -6053,6 +6105,12 @@
 1BB7;NU # SUNDANESE DIGIT SEVEN
 1BB8;NU # SUNDANESE DIGIT EIGHT
 1BB9;NU # SUNDANESE DIGIT NINE
+1BBA;AL # SUNDANESE AVAGRAHA
+1BBB;AL # SUNDANESE LETTER REU
+1BBC;AL # SUNDANESE LETTER LEU
+1BBD;AL # SUNDANESE LETTER BHA
+1BBE;AL # SUNDANESE LETTER FINAL K
+1BBF;AL # SUNDANESE LETTER FINAL M
 1BC0;AL # BATAK LETTER A
 1BC1;AL # BATAK LETTER SIMALUNGUN A
 1BC2;AL # BATAK LETTER HA
@@ -6231,6 +6289,14 @@
 1C7D;AL # OL CHIKI AHAD
 1C7E;BA # OL CHIKI PUNCTUATION MUCAAD
 1C7F;BA # OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0;AL # SUNDANESE PUNCTUATION BINDU SURYA
+1CC1;AL # SUNDANESE PUNCTUATION BINDU PANGLONG
+1CC2;AL # SUNDANESE PUNCTUATION BINDU PURNAMA
+1CC3;AL # SUNDANESE PUNCTUATION BINDU CAKRA
+1CC4;AL # SUNDANESE PUNCTUATION BINDU LEU SATANGA
+1CC5;AL # SUNDANESE PUNCTUATION BINDU KA SATANGA
+1CC6;AL # SUNDANESE PUNCTUATION BINDU DA SATANGA
+1CC7;AL # SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD0;CM # VEDIC TONE KARSHANA
 1CD1;CM # VEDIC TONE SHARA
 1CD2;CM # VEDIC TONE PRENKHA
@@ -6266,6 +6332,10 @@
 1CF0;AL # VEDIC SIGN RTHANG LONG ANUSVARA
 1CF1;AL # VEDIC SIGN ANUSVARA UBHAYATO MUKHA
 1CF2;CM # VEDIC SIGN ARDHAVISARGA
+1CF3;CM # VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4;CM # VEDIC TONE CANDRA ABOVE
+1CF5;AL # VEDIC SIGN JIHVAMULIYA
+1CF6;AL # VEDIC SIGN UPADHMANIYA
 1D00;AL # LATIN LETTER SMALL CAPITAL A
 1D01;AL # LATIN LETTER SMALL CAPITAL AE
 1D02;AL # LATIN SMALL LETTER TURNED AE
@@ -7165,6 +7235,7 @@
 20B7;PR # SPESMILO SIGN
 20B8;PR # TENGE SIGN
 20B9;PR # INDIAN RUPEE SIGN
+20BA;PR # TURKISH LIRA SIGN
 20D0;CM # COMBINING LEFT HARPOON ABOVE
 20D1;CM # COMBINING RIGHT HARPOON ABOVE
 20D2;CM # COMBINING LONG VERTICAL LINE OVERLAY
@@ -7730,8 +7801,8 @@
 2317;AL # VIEWDATA SQUARE
 2318;AL # PLACE OF INTEREST SIGN
 2319;AL # TURNED NOT SIGN
-231A;AL # WATCH
-231B;AL # HOURGLASS
+231A;ID # WATCH
+231B;ID # HOURGLASS
 231C;AL # TOP LEFT CORNER
 231D;AL # TOP RIGHT CORNER
 231E;AL # BOTTOM LEFT CORNER
@@ -7944,10 +8015,10 @@
 23ED;AL # BLACK RIGHT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
 23EE;AL # BLACK LEFT-POINTING DOUBLE TRIANGLE WITH VERTICAL BAR
 23EF;AL # BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
-23F0;AL # ALARM CLOCK
-23F1;AL # STOPWATCH
-23F2;AL # TIMER CLOCK
-23F3;AL # HOURGLASS WITH FLOWING SAND
+23F0;ID # ALARM CLOCK
+23F1;ID # STOPWATCH
+23F2;ID # TIMER CLOCK
+23F3;ID # HOURGLASS WITH FLOWING SAND
 2400;AL # SYMBOL FOR NULL
 2401;AL # SYMBOL FOR START OF HEADING
 2402;AL # SYMBOL FOR START OF TEXT
@@ -8414,10 +8485,10 @@
 25FD;AL # WHITE MEDIUM SMALL SQUARE
 25FE;AL # BLACK MEDIUM SMALL SQUARE
 25FF;AL # LOWER RIGHT TRIANGLE
-2600;AL # BLACK SUN WITH RAYS
-2601;AL # CLOUD
-2602;AL # UMBRELLA
-2603;AL # SNOWMAN
+2600;ID # BLACK SUN WITH RAYS
+2601;ID # CLOUD
+2602;ID # UMBRELLA
+2603;ID # SNOWMAN
 2604;AL # COMET
 2605;AI # BLACK STAR
 2606;AI # WHITE STAR
@@ -8434,18 +8505,18 @@
 2611;AL # BALLOT BOX WITH CHECK
 2612;AL # BALLOT BOX WITH X
 2613;AL # SALTIRE
-2614;AI # UMBRELLA WITH RAIN DROPS
-2615;AI # HOT BEVERAGE
+2614;ID # UMBRELLA WITH RAIN DROPS
+2615;ID # HOT BEVERAGE
 2616;AI # WHITE SHOGI PIECE
 2617;AI # BLACK SHOGI PIECE
-2618;AL # SHAMROCK
+2618;ID # SHAMROCK
 2619;AL # REVERSED ROTATED FLORAL HEART BULLET
-261A;AL # BLACK LEFT POINTING INDEX
-261B;AL # BLACK RIGHT POINTING INDEX
-261C;AI # WHITE LEFT POINTING INDEX
-261D;AL # WHITE UP POINTING INDEX
-261E;AI # WHITE RIGHT POINTING INDEX
-261F;AL # WHITE DOWN POINTING INDEX
+261A;ID # BLACK LEFT POINTING INDEX
+261B;ID # BLACK RIGHT POINTING INDEX
+261C;ID # WHITE LEFT POINTING INDEX
+261D;ID # WHITE UP POINTING INDEX
+261E;ID # WHITE RIGHT POINTING INDEX
+261F;ID # WHITE DOWN POINTING INDEX
 2620;AL # SKULL AND CROSSBONES
 2621;AL # CAUTION SIGN
 2622;AL # RADIOACTIVE SIGN
@@ -8471,9 +8542,9 @@
 2636;AL # TRIGRAM FOR MOUNTAIN
 2637;AL # TRIGRAM FOR EARTH
 2638;AL # WHEEL OF DHARMA
-2639;AL # WHITE FROWNING FACE
-263A;AL # WHITE SMILING FACE
-263B;AL # BLACK SMILING FACE
+2639;ID # WHITE FROWNING FACE
+263A;ID # WHITE SMILING FACE
+263B;ID # BLACK SMILING FACE
 263C;AL # WHITE SUN WITH RAYS
 263D;AL # FIRST QUARTER MOON
 263E;AL # LAST QUARTER MOON
@@ -8518,7 +8589,7 @@
 2665;AI # BLACK HEART SUIT
 2666;AL # BLACK DIAMOND SUIT
 2667;AI # WHITE CLUB SUIT
-2668;AI # HOT SPRINGS
+2668;ID # HOT SPRINGS
 2669;AI # QUARTER NOTE
 266A;AI # EIGHTH NOTE
 266B;AL # BEAMED EIGHTH NOTES
@@ -8541,7 +8612,7 @@
 267C;AL # RECYCLED PAPER SYMBOL
 267D;AL # PARTIALLY-RECYCLED PAPER SYMBOL
 267E;AL # PERMANENT PAPER SIGN
-267F;AL # WHEELCHAIR SYMBOL
+267F;ID # WHEELCHAIR SYMBOL
 2680;AL # DIE FACE-1
 2681;AL # DIE FACE-2
 2682;AL # DIE FACE-3
@@ -8603,43 +8674,43 @@
 26BA;AL # SEMISEXTILE
 26BB;AL # QUINCUNX
 26BC;AL # SESQUIQUADRATE
-26BD;AL # SOCCER BALL
-26BE;AI # BASEBALL
-26BF;AI # SQUARED KEY
-26C0;AL # WHITE DRAUGHTS MAN
-26C1;AL # WHITE DRAUGHTS KING
-26C2;AL # BLACK DRAUGHTS MAN
-26C3;AL # BLACK DRAUGHTS KING
-26C4;AI # SNOWMAN WITHOUT SNOW
-26C5;AI # SUN BEHIND CLOUD
-26C6;AI # RAIN
-26C7;AI # BLACK SNOWMAN
-26C8;AI # THUNDER CLOUD AND RAIN
+26BD;ID # SOCCER BALL
+26BE;ID # BASEBALL
+26BF;ID # SQUARED KEY
+26C0;ID # WHITE DRAUGHTS MAN
+26C1;ID # WHITE DRAUGHTS KING
+26C2;ID # BLACK DRAUGHTS MAN
+26C3;ID # BLACK DRAUGHTS KING
+26C4;ID # SNOWMAN WITHOUT SNOW
+26C5;ID # SUN BEHIND CLOUD
+26C6;ID # RAIN
+26C7;ID # BLACK SNOWMAN
+26C8;ID # THUNDER CLOUD AND RAIN
 26C9;AI # TURNED WHITE SHOGI PIECE
 26CA;AI # TURNED BLACK SHOGI PIECE
 26CB;AI # WHITE DIAMOND IN SQUARE
 26CC;AI # CROSSING LANES
-26CD;AI # DISABLED CAR
+26CD;ID # DISABLED CAR
 26CE;AL # OPHIUCHUS
-26CF;AI # PICK
-26D0;AI # CAR SLIDING
-26D1;AI # HELMET WITH WHITE CROSS
+26CF;ID # PICK
+26D0;ID # CAR SLIDING
+26D1;ID # HELMET WITH WHITE CROSS
 26D2;AI # CIRCLED CROSSING LANES
-26D3;AI # CHAINS
-26D4;AI # NO ENTRY
+26D3;ID # CHAINS
+26D4;ID # NO ENTRY
 26D5;AI # ALTERNATE ONE-WAY LEFT WAY TRAFFIC
 26D6;AI # BLACK TWO-WAY LEFT WAY TRAFFIC
 26D7;AI # WHITE TWO-WAY LEFT WAY TRAFFIC
-26D8;AI # BLACK LEFT LANE MERGE
-26D9;AI # WHITE LEFT LANE MERGE
+26D8;ID # BLACK LEFT LANE MERGE
+26D9;ID # WHITE LEFT LANE MERGE
 26DA;AI # DRIVE SLOW SIGN
 26DB;AI # HEAVY WHITE DOWN-POINTING TRIANGLE
-26DC;AI # LEFT CLOSED ENTRY
+26DC;ID # LEFT CLOSED ENTRY
 26DD;AI # SQUARED SALTIRE
 26DE;AI # FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
-26DF;AI # BLACK TRUCK
-26E0;AI # RESTRICTED LEFT ENTRY-1
-26E1;AI # RESTRICTED LEFT ENTRY-2
+26DF;ID # BLACK TRUCK
+26E0;ID # RESTRICTED LEFT ENTRY-1
+26E1;ID # RESTRICTED LEFT ENTRY-2
 26E2;AL # ASTRONOMICAL SYMBOL FOR URANUS
 26E3;AI # HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
 26E4;AL # PENTAGRAM
@@ -8648,7 +8719,7 @@
 26E7;AL # INVERTED PENTAGRAM
 26E8;AI # BLACK CROSS ON SHIELD
 26E9;AI # SHINTO SHRINE
-26EA;AI # CHURCH
+26EA;ID # CHURCH
 26EB;AI # CASTLE
 26EC;AI # HISTORIC SITE
 26ED;AI # GEAR WITHOUT HUB
@@ -8655,34 +8726,34 @@
 26EE;AI # GEAR WITH HANDLES
 26EF;AI # MAP SYMBOL FOR LIGHTHOUSE
 26F0;AI # MOUNTAIN
-26F1;AI # UMBRELLA ON GROUND
-26F2;AI # FOUNTAIN
-26F3;AI # FLAG IN HOLE
-26F4;AI # FERRY
-26F5;AI # SAILBOAT
+26F1;ID # UMBRELLA ON GROUND
+26F2;ID # FOUNTAIN
+26F3;ID # FLAG IN HOLE
+26F4;ID # FERRY
+26F5;ID # SAILBOAT
 26F6;AI # SQUARE FOUR CORNERS
-26F7;AI # SKIER
-26F8;AI # ICE SKATE
-26F9;AI # PERSON WITH BALL
-26FA;AI # TENT
+26F7;ID # SKIER
+26F8;ID # ICE SKATE
+26F9;ID # PERSON WITH BALL
+26FA;ID # TENT
 26FB;AI # JAPANESE BANK SYMBOL
 26FC;AI # HEADSTONE GRAVEYARD SYMBOL
-26FD;AI # FUEL PUMP
-26FE;AI # CUP ON BLACK SQUARE
-26FF;AI # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
-2701;AL # UPPER BLADE SCISSORS
-2702;AL # BLACK SCISSORS
-2703;AL # LOWER BLADE SCISSORS
-2704;AL # WHITE SCISSORS
+26FD;ID # FUEL PUMP
+26FE;ID # CUP ON BLACK SQUARE
+26FF;ID # WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+2701;ID # UPPER BLADE SCISSORS
+2702;ID # BLACK SCISSORS
+2703;ID # LOWER BLADE SCISSORS
+2704;ID # WHITE SCISSORS
 2705;AL # WHITE HEAVY CHECK MARK
 2706;AL # TELEPHONE LOCATION SIGN
 2707;AL # TAPE DRIVE
-2708;AL # AIRPLANE
-2709;AL # ENVELOPE
-270A;AL # RAISED FIST
-270B;AL # RAISED HAND
-270C;AL # VICTORY HAND
-270D;AL # WRITING HAND
+2708;ID # AIRPLANE
+2709;ID # ENVELOPE
+270A;ID # RAISED FIST
+270B;ID # RAISED HAND
+270C;ID # VICTORY HAND
+270D;ID # WRITING HAND
 270E;AL # LOWER RIGHT PENCIL
 270F;AL # PENCIL
 2710;AL # UPPER RIGHT PENCIL
@@ -8872,7 +8943,9 @@
 27C8;AL # REVERSE SOLIDUS PRECEDING SUBSET
 27C9;AL # SUPERSET PRECEDING SOLIDUS
 27CA;AL # VERTICAL BAR WITH HORIZONTAL STROKE
+27CB;AL # MATHEMATICAL RISING DIAGONAL
 27CC;AL # LONG DIVISION
+27CD;AL # MATHEMATICAL FALLING DIAGONAL
 27CE;AL # SQUARED LOGICAL AND
 27CF;AL # SQUARED LOGICAL OR
 27D0;AL # WHITE DIAMOND WITH CENTRED DOT
@@ -10018,6 +10091,8 @@
 2CEF;CM # COPTIC COMBINING NI ABOVE
 2CF0;CM # COPTIC COMBINING SPIRITUS ASPER
 2CF1;CM # COPTIC COMBINING SPIRITUS LENIS
+2CF2;AL # COPTIC CAPITAL LETTER BOHAIRIC KHEI
+2CF3;AL # COPTIC SMALL LETTER BOHAIRIC KHEI
 2CF9;EX # COPTIC OLD NUBIAN FULL STOP
 2CFA;BA # COPTIC OLD NUBIAN DIRECT QUESTION MARK
 2CFB;BA # COPTIC OLD NUBIAN INDIRECT QUESTION MARK
@@ -10063,6 +10138,8 @@
 2D23;AL # GEORGIAN SMALL LETTER WE
 2D24;AL # GEORGIAN SMALL LETTER HAR
 2D25;AL # GEORGIAN SMALL LETTER HOE
+2D27;AL # GEORGIAN SMALL LETTER YN
+2D2D;AL # GEORGIAN SMALL LETTER AEN
 2D30;AL # TIFINAGH LETTER YA
 2D31;AL # TIFINAGH LETTER YAB
 2D32;AL # TIFINAGH LETTER YABH
@@ -10117,6 +10194,8 @@
 2D63;AL # TIFINAGH LETTER YAZ
 2D64;AL # TIFINAGH LETTER TAWELLEMET YAZ
 2D65;AL # TIFINAGH LETTER YAZZ
+2D66;AL # TIFINAGH LETTER YE
+2D67;AL # TIFINAGH LETTER YO
 2D6F;AL # TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D70;BA # TIFINAGH SEPARATOR MARK
 2D7F;CM # TIFINAGH CONSONANT JOINER
@@ -10281,6 +10360,16 @@
 2E2F;AL # VERTICAL TILDE
 2E30;BA # RING POINT
 2E31;BA # WORD SEPARATOR MIDDLE DOT
+2E32;AL # TURNED COMMA
+2E33;BA # RAISED DOT
+2E34;BA # RAISED COMMA
+2E35;AL # TURNED SEMICOLON
+2E36;AL # DAGGER WITH LEFT GUARD
+2E37;AL # DAGGER WITH RIGHT GUARD
+2E38;AL # TURNED DAGGER
+2E39;AL # TOP HALF SECTION SIGN
+2E3A;B2 # TWO-EM DASH
+2E3B;B2 # THREE-EM DASH
 2E80;ID # CJK RADICAL REPEAT
 2E81;ID # CJK RADICAL CLIFF
 2E82;ID # CJK RADICAL SECOND ONE
@@ -10686,15 +10775,15 @@
 303D;ID # PART ALTERNATION MARK
 303E;ID # IDEOGRAPHIC VARIATION INDICATOR
 303F;ID # IDEOGRAPHIC HALF FILL SPACE
-3041;NS # HIRAGANA LETTER SMALL A
+3041;CJ # HIRAGANA LETTER SMALL A
 3042;ID # HIRAGANA LETTER A
-3043;NS # HIRAGANA LETTER SMALL I
+3043;CJ # HIRAGANA LETTER SMALL I
 3044;ID # HIRAGANA LETTER I
-3045;NS # HIRAGANA LETTER SMALL U
+3045;CJ # HIRAGANA LETTER SMALL U
 3046;ID # HIRAGANA LETTER U
-3047;NS # HIRAGANA LETTER SMALL E
+3047;CJ # HIRAGANA LETTER SMALL E
 3048;ID # HIRAGANA LETTER E
-3049;NS # HIRAGANA LETTER SMALL O
+3049;CJ # HIRAGANA LETTER SMALL O
 304A;ID # HIRAGANA LETTER O
 304B;ID # HIRAGANA LETTER KA
 304C;ID # HIRAGANA LETTER GA
@@ -10720,7 +10809,7 @@
 3060;ID # HIRAGANA LETTER DA
 3061;ID # HIRAGANA LETTER TI
 3062;ID # HIRAGANA LETTER DI
-3063;NS # HIRAGANA LETTER SMALL TU
+3063;CJ # HIRAGANA LETTER SMALL TU
 3064;ID # HIRAGANA LETTER TU
 3065;ID # HIRAGANA LETTER DU
 3066;ID # HIRAGANA LETTER TE
@@ -10752,11 +10841,11 @@
 3080;ID # HIRAGANA LETTER MU
 3081;ID # HIRAGANA LETTER ME
 3082;ID # HIRAGANA LETTER MO
-3083;NS # HIRAGANA LETTER SMALL YA
+3083;CJ # HIRAGANA LETTER SMALL YA
 3084;ID # HIRAGANA LETTER YA
-3085;NS # HIRAGANA LETTER SMALL YU
+3085;CJ # HIRAGANA LETTER SMALL YU
 3086;ID # HIRAGANA LETTER YU
-3087;NS # HIRAGANA LETTER SMALL YO
+3087;CJ # HIRAGANA LETTER SMALL YO
 3088;ID # HIRAGANA LETTER YO
 3089;ID # HIRAGANA LETTER RA
 308A;ID # HIRAGANA LETTER RI
@@ -10763,7 +10852,7 @@
 308B;ID # HIRAGANA LETTER RU
 308C;ID # HIRAGANA LETTER RE
 308D;ID # HIRAGANA LETTER RO
-308E;NS # HIRAGANA LETTER SMALL WA
+308E;CJ # HIRAGANA LETTER SMALL WA
 308F;ID # HIRAGANA LETTER WA
 3090;ID # HIRAGANA LETTER WI
 3091;ID # HIRAGANA LETTER WE
@@ -10770,8 +10859,8 @@
 3092;ID # HIRAGANA LETTER WO
 3093;ID # HIRAGANA LETTER N
 3094;ID # HIRAGANA LETTER VU
-3095;NS # HIRAGANA LETTER SMALL KA
-3096;NS # HIRAGANA LETTER SMALL KE
+3095;CJ # HIRAGANA LETTER SMALL KA
+3096;CJ # HIRAGANA LETTER SMALL KE
 3099;CM # COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
 309A;CM # COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 309B;NS # KATAKANA-HIRAGANA VOICED SOUND MARK
@@ -10780,15 +10869,15 @@
 309E;NS # HIRAGANA VOICED ITERATION MARK
 309F;ID # HIRAGANA DIGRAPH YORI
 30A0;NS # KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1;NS # KATAKANA LETTER SMALL A
+30A1;CJ # KATAKANA LETTER SMALL A
 30A2;ID # KATAKANA LETTER A
-30A3;NS # KATAKANA LETTER SMALL I
+30A3;CJ # KATAKANA LETTER SMALL I
 30A4;ID # KATAKANA LETTER I
-30A5;NS # KATAKANA LETTER SMALL U
+30A5;CJ # KATAKANA LETTER SMALL U
 30A6;ID # KATAKANA LETTER U
-30A7;NS # KATAKANA LETTER SMALL E
+30A7;CJ # KATAKANA LETTER SMALL E
 30A8;ID # KATAKANA LETTER E
-30A9;NS # KATAKANA LETTER SMALL O
+30A9;CJ # KATAKANA LETTER SMALL O
 30AA;ID # KATAKANA LETTER O
 30AB;ID # KATAKANA LETTER KA
 30AC;ID # KATAKANA LETTER GA
@@ -10814,7 +10903,7 @@
 30C0;ID # KATAKANA LETTER DA
 30C1;ID # KATAKANA LETTER TI
 30C2;ID # KATAKANA LETTER DI
-30C3;NS # KATAKANA LETTER SMALL TU
+30C3;CJ # KATAKANA LETTER SMALL TU
 30C4;ID # KATAKANA LETTER TU
 30C5;ID # KATAKANA LETTER DU
 30C6;ID # KATAKANA LETTER TE
@@ -10846,11 +10935,11 @@
 30E0;ID # KATAKANA LETTER MU
 30E1;ID # KATAKANA LETTER ME
 30E2;ID # KATAKANA LETTER MO
-30E3;NS # KATAKANA LETTER SMALL YA
+30E3;CJ # KATAKANA LETTER SMALL YA
 30E4;ID # KATAKANA LETTER YA
-30E5;NS # KATAKANA LETTER SMALL YU
+30E5;CJ # KATAKANA LETTER SMALL YU
 30E6;ID # KATAKANA LETTER YU
-30E7;NS # KATAKANA LETTER SMALL YO
+30E7;CJ # KATAKANA LETTER SMALL YO
 30E8;ID # KATAKANA LETTER YO
 30E9;ID # KATAKANA LETTER RA
 30EA;ID # KATAKANA LETTER RI
@@ -10857,7 +10946,7 @@
 30EB;ID # KATAKANA LETTER RU
 30EC;ID # KATAKANA LETTER RE
 30ED;ID # KATAKANA LETTER RO
-30EE;NS # KATAKANA LETTER SMALL WA
+30EE;CJ # KATAKANA LETTER SMALL WA
 30EF;ID # KATAKANA LETTER WA
 30F0;ID # KATAKANA LETTER WI
 30F1;ID # KATAKANA LETTER WE
@@ -10864,14 +10953,14 @@
 30F2;ID # KATAKANA LETTER WO
 30F3;ID # KATAKANA LETTER N
 30F4;ID # KATAKANA LETTER VU
-30F5;NS # KATAKANA LETTER SMALL KA
-30F6;NS # KATAKANA LETTER SMALL KE
+30F5;CJ # KATAKANA LETTER SMALL KA
+30F6;CJ # KATAKANA LETTER SMALL KE
 30F7;ID # KATAKANA LETTER VA
 30F8;ID # KATAKANA LETTER VI
 30F9;ID # KATAKANA LETTER VE
 30FA;ID # KATAKANA LETTER VO
 30FB;NS # KATAKANA MIDDLE DOT
-30FC;NS # KATAKANA-HIRAGANA PROLONGED SOUND MARK
+30FC;CJ # KATAKANA-HIRAGANA PROLONGED SOUND MARK
 30FD;NS # KATAKANA ITERATION MARK
 30FE;NS # KATAKANA VOICED ITERATION MARK
 30FF;ID # KATAKANA DIGRAPH KOTO
@@ -11089,22 +11178,22 @@
 31E1;ID # CJK STROKE HZZZG
 31E2;ID # CJK STROKE PG
 31E3;ID # CJK STROKE Q
-31F0;NS # KATAKANA LETTER SMALL KU
-31F1;NS # KATAKANA LETTER SMALL SI
-31F2;NS # KATAKANA LETTER SMALL SU
-31F3;NS # KATAKANA LETTER SMALL TO
-31F4;NS # KATAKANA LETTER SMALL NU
-31F5;NS # KATAKANA LETTER SMALL HA
-31F6;NS # KATAKANA LETTER SMALL HI
-31F7;NS # KATAKANA LETTER SMALL HU
-31F8;NS # KATAKANA LETTER SMALL HE
-31F9;NS # KATAKANA LETTER SMALL HO
-31FA;NS # KATAKANA LETTER SMALL MU
-31FB;NS # KATAKANA LETTER SMALL RA
-31FC;NS # KATAKANA LETTER SMALL RI
-31FD;NS # KATAKANA LETTER SMALL RU
-31FE;NS # KATAKANA LETTER SMALL RE
-31FF;NS # KATAKANA LETTER SMALL RO
+31F0;CJ # KATAKANA LETTER SMALL KU
+31F1;CJ # KATAKANA LETTER SMALL SI
+31F2;CJ # KATAKANA LETTER SMALL SU
+31F3;CJ # KATAKANA LETTER SMALL TO
+31F4;CJ # KATAKANA LETTER SMALL NU
+31F5;CJ # KATAKANA LETTER SMALL HA
+31F6;CJ # KATAKANA LETTER SMALL HI
+31F7;CJ # KATAKANA LETTER SMALL HU
+31F8;CJ # KATAKANA LETTER SMALL HE
+31F9;CJ # KATAKANA LETTER SMALL HO
+31FA;CJ # KATAKANA LETTER SMALL MU
+31FB;CJ # KATAKANA LETTER SMALL RA
+31FC;CJ # KATAKANA LETTER SMALL RI
+31FD;CJ # KATAKANA LETTER SMALL RU
+31FE;CJ # KATAKANA LETTER SMALL RE
+31FF;CJ # KATAKANA LETTER SMALL RO
 3200;ID # PARENTHESIZED HANGUL KIYEOK
 3201;ID # PARENTHESIZED HANGUL NIEUN
 3202;ID # PARENTHESIZED HANGUL TIKEUT
@@ -11681,8 +11770,8 @@
 4DFD;AL # HEXAGRAM FOR SMALL PREPONDERANCE
 4DFE;AL # HEXAGRAM FOR AFTER COMPLETION
 4DFF;AL # HEXAGRAM FOR BEFORE COMPLETION
-4E00..9FCB;ID # <CJK Ideograph, First>..<CJK Ideograph, Last>
-9FCC..9FFF;ID # <reserved-9FCC>..<reserved-9FFF>
+4E00..9FCC;ID # <CJK Ideograph, First>..<CJK Ideograph, Last>
+9FCD..9FFF;ID # <reserved-9FCD>..<reserved-9FFF>
 A000;ID # YI SYLLABLE IT
 A001;ID # YI SYLLABLE IX
 A002;ID # YI SYLLABLE I
@@ -13303,6 +13392,14 @@
 A671;CM # COMBINING CYRILLIC HUNDRED MILLIONS SIGN
 A672;CM # COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A673;AL # SLAVONIC ASTERISK
+A674;CM # COMBINING CYRILLIC LETTER UKRAINIAN IE
+A675;CM # COMBINING CYRILLIC LETTER I
+A676;CM # COMBINING CYRILLIC LETTER YI
+A677;CM # COMBINING CYRILLIC LETTER U
+A678;CM # COMBINING CYRILLIC LETTER HARD SIGN
+A679;CM # COMBINING CYRILLIC LETTER YERU
+A67A;CM # COMBINING CYRILLIC LETTER SOFT SIGN
+A67B;CM # COMBINING CYRILLIC LETTER OMEGA
 A67C;CM # COMBINING CYRILLIC KAVYKA
 A67D;CM # COMBINING CYRILLIC PAYEROK
 A67E;AL # CYRILLIC KAVYKA
@@ -13331,6 +13428,7 @@
 A695;AL # CYRILLIC SMALL LETTER HWE
 A696;AL # CYRILLIC CAPITAL LETTER SHWE
 A697;AL # CYRILLIC SMALL LETTER SHWE
+A69F;CM # COMBINING CYRILLIC LETTER IOTIFIED E
 A6A0;AL # BAMUM LETTER A
 A6A1;AL # BAMUM LETTER KA
 A6A2;AL # BAMUM LETTER U
@@ -13564,6 +13662,8 @@
 A78E;AL # LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A790;AL # LATIN CAPITAL LETTER N WITH DESCENDER
 A791;AL # LATIN SMALL LETTER N WITH DESCENDER
+A792;AL # LATIN CAPITAL LETTER C WITH BAR
+A793;AL # LATIN SMALL LETTER C WITH BAR
 A7A0;AL # LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A1;AL # LATIN SMALL LETTER G WITH OBLIQUE STROKE
 A7A2;AL # LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
@@ -13574,6 +13674,9 @@
 A7A7;AL # LATIN SMALL LETTER R WITH OBLIQUE STROKE
 A7A8;AL # LATIN CAPITAL LETTER S WITH OBLIQUE STROKE
 A7A9;AL # LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A7AA;AL # LATIN CAPITAL LETTER H WITH HOOK
+A7F8;AL # MODIFIER LETTER CAPITAL H WITH STROKE
+A7F9;AL # MODIFIER LETTER SMALL LIGATURE OE
 A7FA;AL # LATIN LETTER SMALL CAPITAL TURNED M
 A7FB;AL # LATIN EPIGRAPHIC LETTER REVERSED F
 A7FC;AL # LATIN EPIGRAPHIC LETTER REVERSED P
@@ -14187,6 +14290,29 @@
 AADD;SA # TAI VIET SYMBOL SAM
 AADE;SA # TAI VIET SYMBOL HO HOI
 AADF;SA # TAI VIET SYMBOL KOI KOI
+AAE0;AL # MEETEI MAYEK LETTER E
+AAE1;AL # MEETEI MAYEK LETTER O
+AAE2;AL # MEETEI MAYEK LETTER CHA
+AAE3;AL # MEETEI MAYEK LETTER NYA
+AAE4;AL # MEETEI MAYEK LETTER TTA
+AAE5;AL # MEETEI MAYEK LETTER TTHA
+AAE6;AL # MEETEI MAYEK LETTER DDA
+AAE7;AL # MEETEI MAYEK LETTER DDHA
+AAE8;AL # MEETEI MAYEK LETTER NNA
+AAE9;AL # MEETEI MAYEK LETTER SHA
+AAEA;AL # MEETEI MAYEK LETTER SSA
+AAEB;CM # MEETEI MAYEK VOWEL SIGN II
+AAEC;CM # MEETEI MAYEK VOWEL SIGN UU
+AAED;CM # MEETEI MAYEK VOWEL SIGN AAI
+AAEE;CM # MEETEI MAYEK VOWEL SIGN AU
+AAEF;CM # MEETEI MAYEK VOWEL SIGN AAU
+AAF0;BA # MEETEI MAYEK CHEIKHAN
+AAF1;BA # MEETEI MAYEK AHANG KHUDAM
+AAF2;AL # MEETEI MAYEK ANJI
+AAF3;AL # MEETEI MAYEK SYLLABLE REPETITION MARK
+AAF4;AL # MEETEI MAYEK WORD REPETITION MARK
+AAF5;CM # MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6;CM # MEETEI MAYEK VIRAMA
 AB01;AL # ETHIOPIC SYLLABLE TTHU
 AB02;AL # ETHIOPIC SYLLABLE TTHI
 AB03;AL # ETHIOPIC SYLLABLE TTHAA
@@ -15451,7 +15577,8 @@
 FA2B;ID # CJK COMPATIBILITY IDEOGRAPH-FA2B
 FA2C;ID # CJK COMPATIBILITY IDEOGRAPH-FA2C
 FA2D;ID # CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA2E..FA2F;ID # <reserved-FA2E>..<reserved-FA2F>
+FA2E;ID # CJK COMPATIBILITY IDEOGRAPH-FA2E
+FA2F;ID # CJK COMPATIBILITY IDEOGRAPH-FA2F
 FA30;ID # CJK COMPATIBILITY IDEOGRAPH-FA30
 FA31;ID # CJK COMPATIBILITY IDEOGRAPH-FA31
 FA32;ID # CJK COMPATIBILITY IDEOGRAPH-FA32
@@ -15634,52 +15761,52 @@
 FB15;AL # ARMENIAN SMALL LIGATURE MEN INI
 FB16;AL # ARMENIAN SMALL LIGATURE VEW NOW
 FB17;AL # ARMENIAN SMALL LIGATURE MEN XEH
-FB1D;AL # HEBREW LETTER YOD WITH HIRIQ
+FB1D;HL # HEBREW LETTER YOD WITH HIRIQ
 FB1E;CM # HEBREW POINT JUDEO-SPANISH VARIKA
-FB1F;AL # HEBREW LIGATURE YIDDISH YOD YOD PATAH
-FB20;AL # HEBREW LETTER ALTERNATIVE AYIN
-FB21;AL # HEBREW LETTER WIDE ALEF
-FB22;AL # HEBREW LETTER WIDE DALET
-FB23;AL # HEBREW LETTER WIDE HE
-FB24;AL # HEBREW LETTER WIDE KAF
-FB25;AL # HEBREW LETTER WIDE LAMED
-FB26;AL # HEBREW LETTER WIDE FINAL MEM
-FB27;AL # HEBREW LETTER WIDE RESH
-FB28;AL # HEBREW LETTER WIDE TAV
+FB1F;HL # HEBREW LIGATURE YIDDISH YOD YOD PATAH
+FB20;HL # HEBREW LETTER ALTERNATIVE AYIN
+FB21;HL # HEBREW LETTER WIDE ALEF
+FB22;HL # HEBREW LETTER WIDE DALET
+FB23;HL # HEBREW LETTER WIDE HE
+FB24;HL # HEBREW LETTER WIDE KAF
+FB25;HL # HEBREW LETTER WIDE LAMED
+FB26;HL # HEBREW LETTER WIDE FINAL MEM
+FB27;HL # HEBREW LETTER WIDE RESH
+FB28;HL # HEBREW LETTER WIDE TAV
 FB29;AL # HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A;AL # HEBREW LETTER SHIN WITH SHIN DOT
-FB2B;AL # HEBREW LETTER SHIN WITH SIN DOT
-FB2C;AL # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
-FB2D;AL # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
-FB2E;AL # HEBREW LETTER ALEF WITH PATAH
-FB2F;AL # HEBREW LETTER ALEF WITH QAMATS
-FB30;AL # HEBREW LETTER ALEF WITH MAPIQ
-FB31;AL # HEBREW LETTER BET WITH DAGESH
-FB32;AL # HEBREW LETTER GIMEL WITH DAGESH
-FB33;AL # HEBREW LETTER DALET WITH DAGESH
-FB34;AL # HEBREW LETTER HE WITH MAPIQ
-FB35;AL # HEBREW LETTER VAV WITH DAGESH
-FB36;AL # HEBREW LETTER ZAYIN WITH DAGESH
-FB38;AL # HEBREW LETTER TET WITH DAGESH
-FB39;AL # HEBREW LETTER YOD WITH DAGESH
-FB3A;AL # HEBREW LETTER FINAL KAF WITH DAGESH
-FB3B;AL # HEBREW LETTER KAF WITH DAGESH
-FB3C;AL # HEBREW LETTER LAMED WITH DAGESH
-FB3E;AL # HEBREW LETTER MEM WITH DAGESH
-FB40;AL # HEBREW LETTER NUN WITH DAGESH
-FB41;AL # HEBREW LETTER SAMEKH WITH DAGESH
-FB43;AL # HEBREW LETTER FINAL PE WITH DAGESH
-FB44;AL # HEBREW LETTER PE WITH DAGESH
-FB46;AL # HEBREW LETTER TSADI WITH DAGESH
-FB47;AL # HEBREW LETTER QOF WITH DAGESH
-FB48;AL # HEBREW LETTER RESH WITH DAGESH
-FB49;AL # HEBREW LETTER SHIN WITH DAGESH
-FB4A;AL # HEBREW LETTER TAV WITH DAGESH
-FB4B;AL # HEBREW LETTER VAV WITH HOLAM
-FB4C;AL # HEBREW LETTER BET WITH RAFE
-FB4D;AL # HEBREW LETTER KAF WITH RAFE
-FB4E;AL # HEBREW LETTER PE WITH RAFE
-FB4F;AL # HEBREW LIGATURE ALEF LAMED
+FB2A;HL # HEBREW LETTER SHIN WITH SHIN DOT
+FB2B;HL # HEBREW LETTER SHIN WITH SIN DOT
+FB2C;HL # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT
+FB2D;HL # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT
+FB2E;HL # HEBREW LETTER ALEF WITH PATAH
+FB2F;HL # HEBREW LETTER ALEF WITH QAMATS
+FB30;HL # HEBREW LETTER ALEF WITH MAPIQ
+FB31;HL # HEBREW LETTER BET WITH DAGESH
+FB32;HL # HEBREW LETTER GIMEL WITH DAGESH
+FB33;HL # HEBREW LETTER DALET WITH DAGESH
+FB34;HL # HEBREW LETTER HE WITH MAPIQ
+FB35;HL # HEBREW LETTER VAV WITH DAGESH
+FB36;HL # HEBREW LETTER ZAYIN WITH DAGESH
+FB38;HL # HEBREW LETTER TET WITH DAGESH
+FB39;HL # HEBREW LETTER YOD WITH DAGESH
+FB3A;HL # HEBREW LETTER FINAL KAF WITH DAGESH
+FB3B;HL # HEBREW LETTER KAF WITH DAGESH
+FB3C;HL # HEBREW LETTER LAMED WITH DAGESH
+FB3E;HL # HEBREW LETTER MEM WITH DAGESH
+FB40;HL # HEBREW LETTER NUN WITH DAGESH
+FB41;HL # HEBREW LETTER SAMEKH WITH DAGESH
+FB43;HL # HEBREW LETTER FINAL PE WITH DAGESH
+FB44;HL # HEBREW LETTER PE WITH DAGESH
+FB46;HL # HEBREW LETTER TSADI WITH DAGESH
+FB47;HL # HEBREW LETTER QOF WITH DAGESH
+FB48;HL # HEBREW LETTER RESH WITH DAGESH
+FB49;HL # HEBREW LETTER SHIN WITH DAGESH
+FB4A;HL # HEBREW LETTER TAV WITH DAGESH
+FB4B;HL # HEBREW LETTER VAV WITH HOLAM
+FB4C;HL # HEBREW LETTER BET WITH RAFE
+FB4D;HL # HEBREW LETTER KAF WITH RAFE
+FB4E;HL # HEBREW LETTER PE WITH RAFE
+FB4F;HL # HEBREW LIGATURE ALEF LAMED
 FB50;AL # ARABIC LETTER ALEF WASLA ISOLATED FORM
 FB51;AL # ARABIC LETTER ALEF WASLA FINAL FORM
 FB52;AL # ARABIC LETTER BEEH ISOLATED FORM
@@ -16625,16 +16752,16 @@
 FF64;CL # HALFWIDTH IDEOGRAPHIC COMMA
 FF65;NS # HALFWIDTH KATAKANA MIDDLE DOT
 FF66;AL # HALFWIDTH KATAKANA LETTER WO
-FF67;NS # HALFWIDTH KATAKANA LETTER SMALL A
-FF68;NS # HALFWIDTH KATAKANA LETTER SMALL I
-FF69;NS # HALFWIDTH KATAKANA LETTER SMALL U
-FF6A;NS # HALFWIDTH KATAKANA LETTER SMALL E
-FF6B;NS # HALFWIDTH KATAKANA LETTER SMALL O
-FF6C;NS # HALFWIDTH KATAKANA LETTER SMALL YA
-FF6D;NS # HALFWIDTH KATAKANA LETTER SMALL YU
-FF6E;NS # HALFWIDTH KATAKANA LETTER SMALL YO
-FF6F;NS # HALFWIDTH KATAKANA LETTER SMALL TU
-FF70;NS # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+FF67;CJ # HALFWIDTH KATAKANA LETTER SMALL A
+FF68;CJ # HALFWIDTH KATAKANA LETTER SMALL I
+FF69;CJ # HALFWIDTH KATAKANA LETTER SMALL U
+FF6A;CJ # HALFWIDTH KATAKANA LETTER SMALL E
+FF6B;CJ # HALFWIDTH KATAKANA LETTER SMALL O
+FF6C;CJ # HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D;CJ # HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E;CJ # HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F;CJ # HALFWIDTH KATAKANA LETTER SMALL TU
+FF70;CJ # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
 FF71;AL # HALFWIDTH KATAKANA LETTER A
 FF72;AL # HALFWIDTH KATAKANA LETTER I
 FF73;AL # HALFWIDTH KATAKANA LETTER U
@@ -17685,6 +17812,64 @@
 10938;AL # LYDIAN LETTER NN
 10939;AL # LYDIAN LETTER C
 1093F;AL # LYDIAN TRIANGULAR MARK
+10980;AL # MEROITIC HIEROGLYPHIC LETTER A
+10981;AL # MEROITIC HIEROGLYPHIC LETTER E
+10982;AL # MEROITIC HIEROGLYPHIC LETTER I
+10983;AL # MEROITIC HIEROGLYPHIC LETTER O
+10984;AL # MEROITIC HIEROGLYPHIC LETTER YA
+10985;AL # MEROITIC HIEROGLYPHIC LETTER WA
+10986;AL # MEROITIC HIEROGLYPHIC LETTER BA
+10987;AL # MEROITIC HIEROGLYPHIC LETTER BA-2
+10988;AL # MEROITIC HIEROGLYPHIC LETTER PA
+10989;AL # MEROITIC HIEROGLYPHIC LETTER MA
+1098A;AL # MEROITIC HIEROGLYPHIC LETTER NA
+1098B;AL # MEROITIC HIEROGLYPHIC LETTER NA-2
+1098C;AL # MEROITIC HIEROGLYPHIC LETTER NE
+1098D;AL # MEROITIC HIEROGLYPHIC LETTER NE-2
+1098E;AL # MEROITIC HIEROGLYPHIC LETTER RA
+1098F;AL # MEROITIC HIEROGLYPHIC LETTER RA-2
+10990;AL # MEROITIC HIEROGLYPHIC LETTER LA
+10991;AL # MEROITIC HIEROGLYPHIC LETTER KHA
+10992;AL # MEROITIC HIEROGLYPHIC LETTER HHA
+10993;AL # MEROITIC HIEROGLYPHIC LETTER SA
+10994;AL # MEROITIC HIEROGLYPHIC LETTER SA-2
+10995;AL # MEROITIC HIEROGLYPHIC LETTER SE
+10996;AL # MEROITIC HIEROGLYPHIC LETTER KA
+10997;AL # MEROITIC HIEROGLYPHIC LETTER QA
+10998;AL # MEROITIC HIEROGLYPHIC LETTER TA
+10999;AL # MEROITIC HIEROGLYPHIC LETTER TA-2
+1099A;AL # MEROITIC HIEROGLYPHIC LETTER TE
+1099B;AL # MEROITIC HIEROGLYPHIC LETTER TE-2
+1099C;AL # MEROITIC HIEROGLYPHIC LETTER TO
+1099D;AL # MEROITIC HIEROGLYPHIC LETTER DA
+1099E;AL # MEROITIC HIEROGLYPHIC SYMBOL VIDJ
+1099F;AL # MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+109A0;AL # MEROITIC CURSIVE LETTER A
+109A1;AL # MEROITIC CURSIVE LETTER E
+109A2;AL # MEROITIC CURSIVE LETTER I
+109A3;AL # MEROITIC CURSIVE LETTER O
+109A4;AL # MEROITIC CURSIVE LETTER YA
+109A5;AL # MEROITIC CURSIVE LETTER WA
+109A6;AL # MEROITIC CURSIVE LETTER BA
+109A7;AL # MEROITIC CURSIVE LETTER PA
+109A8;AL # MEROITIC CURSIVE LETTER MA
+109A9;AL # MEROITIC CURSIVE LETTER NA
+109AA;AL # MEROITIC CURSIVE LETTER NE
+109AB;AL # MEROITIC CURSIVE LETTER RA
+109AC;AL # MEROITIC CURSIVE LETTER LA
+109AD;AL # MEROITIC CURSIVE LETTER KHA
+109AE;AL # MEROITIC CURSIVE LETTER HHA
+109AF;AL # MEROITIC CURSIVE LETTER SA
+109B0;AL # MEROITIC CURSIVE LETTER ARCHAIC SA
+109B1;AL # MEROITIC CURSIVE LETTER SE
+109B2;AL # MEROITIC CURSIVE LETTER KA
+109B3;AL # MEROITIC CURSIVE LETTER QA
+109B4;AL # MEROITIC CURSIVE LETTER TA
+109B5;AL # MEROITIC CURSIVE LETTER TE
+109B6;AL # MEROITIC CURSIVE LETTER TO
+109B7;AL # MEROITIC CURSIVE LETTER DA
+109BE;AL # MEROITIC CURSIVE LOGOGRAM RMT
+109BF;AL # MEROITIC CURSIVE LOGOGRAM IMN
 10A00;AL # KHAROSHTHI LETTER A
 10A01;CM # KHAROSHTHI VOWEL SIGN I
 10A02;CM # KHAROSHTHI VOWEL SIGN U
@@ -18178,6 +18363,257 @@
 110BF;BA # KAITHI DOUBLE SECTION MARK
 110C0;BA # KAITHI DANDA
 110C1;BA # KAITHI DOUBLE DANDA
+110D0;AL # SORA SOMPENG LETTER SAH
+110D1;AL # SORA SOMPENG LETTER TAH
+110D2;AL # SORA SOMPENG LETTER BAH
+110D3;AL # SORA SOMPENG LETTER CAH
+110D4;AL # SORA SOMPENG LETTER DAH
+110D5;AL # SORA SOMPENG LETTER GAH
+110D6;AL # SORA SOMPENG LETTER MAH
+110D7;AL # SORA SOMPENG LETTER NGAH
+110D8;AL # SORA SOMPENG LETTER LAH
+110D9;AL # SORA SOMPENG LETTER NAH
+110DA;AL # SORA SOMPENG LETTER VAH
+110DB;AL # SORA SOMPENG LETTER PAH
+110DC;AL # SORA SOMPENG LETTER YAH
+110DD;AL # SORA SOMPENG LETTER RAH
+110DE;AL # SORA SOMPENG LETTER HAH
+110DF;AL # SORA SOMPENG LETTER KAH
+110E0;AL # SORA SOMPENG LETTER JAH
+110E1;AL # SORA SOMPENG LETTER NYAH
+110E2;AL # SORA SOMPENG LETTER AH
+110E3;AL # SORA SOMPENG LETTER EEH
+110E4;AL # SORA SOMPENG LETTER IH
+110E5;AL # SORA SOMPENG LETTER UH
+110E6;AL # SORA SOMPENG LETTER OH
+110E7;AL # SORA SOMPENG LETTER EH
+110E8;AL # SORA SOMPENG LETTER MAE
+110F0;NU # SORA SOMPENG DIGIT ZERO
+110F1;NU # SORA SOMPENG DIGIT ONE
+110F2;NU # SORA SOMPENG DIGIT TWO
+110F3;NU # SORA SOMPENG DIGIT THREE
+110F4;NU # SORA SOMPENG DIGIT FOUR
+110F5;NU # SORA SOMPENG DIGIT FIVE
+110F6;NU # SORA SOMPENG DIGIT SIX
+110F7;NU # SORA SOMPENG DIGIT SEVEN
+110F8;NU # SORA SOMPENG DIGIT EIGHT
+110F9;NU # SORA SOMPENG DIGIT NINE
+11100;CM # CHAKMA SIGN CANDRABINDU
+11101;CM # CHAKMA SIGN ANUSVARA
+11102;CM # CHAKMA SIGN VISARGA
+11103;AL # CHAKMA LETTER AA
+11104;AL # CHAKMA LETTER I
+11105;AL # CHAKMA LETTER U
+11106;AL # CHAKMA LETTER E
+11107;AL # CHAKMA LETTER KAA
+11108;AL # CHAKMA LETTER KHAA
+11109;AL # CHAKMA LETTER GAA
+1110A;AL # CHAKMA LETTER GHAA
+1110B;AL # CHAKMA LETTER NGAA
+1110C;AL # CHAKMA LETTER CAA
+1110D;AL # CHAKMA LETTER CHAA
+1110E;AL # CHAKMA LETTER JAA
+1110F;AL # CHAKMA LETTER JHAA
+11110;AL # CHAKMA LETTER NYAA
+11111;AL # CHAKMA LETTER TTAA
+11112;AL # CHAKMA LETTER TTHAA
+11113;AL # CHAKMA LETTER DDAA
+11114;AL # CHAKMA LETTER DDHAA
+11115;AL # CHAKMA LETTER NNAA
+11116;AL # CHAKMA LETTER TAA
+11117;AL # CHAKMA LETTER THAA
+11118;AL # CHAKMA LETTER DAA
+11119;AL # CHAKMA LETTER DHAA
+1111A;AL # CHAKMA LETTER NAA
+1111B;AL # CHAKMA LETTER PAA
+1111C;AL # CHAKMA LETTER PHAA
+1111D;AL # CHAKMA LETTER BAA
+1111E;AL # CHAKMA LETTER BHAA
+1111F;AL # CHAKMA LETTER MAA
+11120;AL # CHAKMA LETTER YYAA
+11121;AL # CHAKMA LETTER YAA
+11122;AL # CHAKMA LETTER RAA
+11123;AL # CHAKMA LETTER LAA
+11124;AL # CHAKMA LETTER WAA
+11125;AL # CHAKMA LETTER SAA
+11126;AL # CHAKMA LETTER HAA
+11127;CM # CHAKMA VOWEL SIGN A
+11128;CM # CHAKMA VOWEL SIGN I
+11129;CM # CHAKMA VOWEL SIGN II
+1112A;CM # CHAKMA VOWEL SIGN U
+1112B;CM # CHAKMA VOWEL SIGN UU
+1112C;CM # CHAKMA VOWEL SIGN E
+1112D;CM # CHAKMA VOWEL SIGN AI
+1112E;CM # CHAKMA VOWEL SIGN O
+1112F;CM # CHAKMA VOWEL SIGN AU
+11130;CM # CHAKMA VOWEL SIGN OI
+11131;CM # CHAKMA O MARK
+11132;CM # CHAKMA AU MARK
+11133;CM # CHAKMA VIRAMA
+11134;CM # CHAKMA MAAYYAA
+11136;NU # CHAKMA DIGIT ZERO
+11137;NU # CHAKMA DIGIT ONE
+11138;NU # CHAKMA DIGIT TWO
+11139;NU # CHAKMA DIGIT THREE
+1113A;NU # CHAKMA DIGIT FOUR
+1113B;NU # CHAKMA DIGIT FIVE
+1113C;NU # CHAKMA DIGIT SIX
+1113D;NU # CHAKMA DIGIT SEVEN
+1113E;NU # CHAKMA DIGIT EIGHT
+1113F;NU # CHAKMA DIGIT NINE
+11140;BA # CHAKMA SECTION MARK
+11141;BA # CHAKMA DANDA
+11142;BA # CHAKMA DOUBLE DANDA
+11143;BA # CHAKMA QUESTION MARK
+11180;CM # SHARADA SIGN CANDRABINDU
+11181;CM # SHARADA SIGN ANUSVARA
+11182;CM # SHARADA SIGN VISARGA
+11183;AL # SHARADA LETTER A
+11184;AL # SHARADA LETTER AA
+11185;AL # SHARADA LETTER I
+11186;AL # SHARADA LETTER II
+11187;AL # SHARADA LETTER U
+11188;AL # SHARADA LETTER UU
+11189;AL # SHARADA LETTER VOCALIC R
+1118A;AL # SHARADA LETTER VOCALIC RR
+1118B;AL # SHARADA LETTER VOCALIC L
+1118C;AL # SHARADA LETTER VOCALIC LL
+1118D;AL # SHARADA LETTER E
+1118E;AL # SHARADA LETTER AI
+1118F;AL # SHARADA LETTER O
+11190;AL # SHARADA LETTER AU
+11191;AL # SHARADA LETTER KA
+11192;AL # SHARADA LETTER KHA
+11193;AL # SHARADA LETTER GA
+11194;AL # SHARADA LETTER GHA
+11195;AL # SHARADA LETTER NGA
+11196;AL # SHARADA LETTER CA
+11197;AL # SHARADA LETTER CHA
+11198;AL # SHARADA LETTER JA
+11199;AL # SHARADA LETTER JHA
+1119A;AL # SHARADA LETTER NYA
+1119B;AL # SHARADA LETTER TTA
+1119C;AL # SHARADA LETTER TTHA
+1119D;AL # SHARADA LETTER DDA
+1119E;AL # SHARADA LETTER DDHA
+1119F;AL # SHARADA LETTER NNA
+111A0;AL # SHARADA LETTER TA
+111A1;AL # SHARADA LETTER THA
+111A2;AL # SHARADA LETTER DA
+111A3;AL # SHARADA LETTER DHA
+111A4;AL # SHARADA LETTER NA
+111A5;AL # SHARADA LETTER PA
+111A6;AL # SHARADA LETTER PHA
+111A7;AL # SHARADA LETTER BA
+111A8;AL # SHARADA LETTER BHA
+111A9;AL # SHARADA LETTER MA
+111AA;AL # SHARADA LETTER YA
+111AB;AL # SHARADA LETTER RA
+111AC;AL # SHARADA LETTER LA
+111AD;AL # SHARADA LETTER LLA
+111AE;AL # SHARADA LETTER VA
+111AF;AL # SHARADA LETTER SHA
+111B0;AL # SHARADA LETTER SSA
+111B1;AL # SHARADA LETTER SA
+111B2;AL # SHARADA LETTER HA
+111B3;CM # SHARADA VOWEL SIGN AA
+111B4;CM # SHARADA VOWEL SIGN I
+111B5;CM # SHARADA VOWEL SIGN II
+111B6;CM # SHARADA VOWEL SIGN U
+111B7;CM # SHARADA VOWEL SIGN UU
+111B8;CM # SHARADA VOWEL SIGN VOCALIC R
+111B9;CM # SHARADA VOWEL SIGN VOCALIC RR
+111BA;CM # SHARADA VOWEL SIGN VOCALIC L
+111BB;CM # SHARADA VOWEL SIGN VOCALIC LL
+111BC;CM # SHARADA VOWEL SIGN E
+111BD;CM # SHARADA VOWEL SIGN AI
+111BE;CM # SHARADA VOWEL SIGN O
+111BF;CM # SHARADA VOWEL SIGN AU
+111C0;CM # SHARADA SIGN VIRAMA
+111C1;AL # SHARADA SIGN AVAGRAHA
+111C2;AL # SHARADA SIGN JIHVAMULIYA
+111C3;AL # SHARADA SIGN UPADHMANIYA
+111C4;AL # SHARADA OM
+111C5;BA # SHARADA DANDA
+111C6;BA # SHARADA DOUBLE DANDA
+111C7;AL # SHARADA ABBREVIATION SIGN
+111C8;BA # SHARADA SEPARATOR
+111D0;NU # SHARADA DIGIT ZERO
+111D1;NU # SHARADA DIGIT ONE
+111D2;NU # SHARADA DIGIT TWO
+111D3;NU # SHARADA DIGIT THREE
+111D4;NU # SHARADA DIGIT FOUR
+111D5;NU # SHARADA DIGIT FIVE
+111D6;NU # SHARADA DIGIT SIX
+111D7;NU # SHARADA DIGIT SEVEN
+111D8;NU # SHARADA DIGIT EIGHT
+111D9;NU # SHARADA DIGIT NINE
+11680;AL # TAKRI LETTER A
+11681;AL # TAKRI LETTER AA
+11682;AL # TAKRI LETTER I
+11683;AL # TAKRI LETTER II
+11684;AL # TAKRI LETTER U
+11685;AL # TAKRI LETTER UU
+11686;AL # TAKRI LETTER E
+11687;AL # TAKRI LETTER AI
+11688;AL # TAKRI LETTER O
+11689;AL # TAKRI LETTER AU
+1168A;AL # TAKRI LETTER KA
+1168B;AL # TAKRI LETTER KHA
+1168C;AL # TAKRI LETTER GA
+1168D;AL # TAKRI LETTER GHA
+1168E;AL # TAKRI LETTER NGA
+1168F;AL # TAKRI LETTER CA
+11690;AL # TAKRI LETTER CHA
+11691;AL # TAKRI LETTER JA
+11692;AL # TAKRI LETTER JHA
+11693;AL # TAKRI LETTER NYA
+11694;AL # TAKRI LETTER TTA
+11695;AL # TAKRI LETTER TTHA
+11696;AL # TAKRI LETTER DDA
+11697;AL # TAKRI LETTER DDHA
+11698;AL # TAKRI LETTER NNA
+11699;AL # TAKRI LETTER TA
+1169A;AL # TAKRI LETTER THA
+1169B;AL # TAKRI LETTER DA
+1169C;AL # TAKRI LETTER DHA
+1169D;AL # TAKRI LETTER NA
+1169E;AL # TAKRI LETTER PA
+1169F;AL # TAKRI LETTER PHA
+116A0;AL # TAKRI LETTER BA
+116A1;AL # TAKRI LETTER BHA
+116A2;AL # TAKRI LETTER MA
+116A3;AL # TAKRI LETTER YA
+116A4;AL # TAKRI LETTER RA
+116A5;AL # TAKRI LETTER LA
+116A6;AL # TAKRI LETTER VA
+116A7;AL # TAKRI LETTER SHA
+116A8;AL # TAKRI LETTER SA
+116A9;AL # TAKRI LETTER HA
+116AA;AL # TAKRI LETTER RRA
+116AB;CM # TAKRI SIGN ANUSVARA
+116AC;CM # TAKRI SIGN VISARGA
+116AD;CM # TAKRI VOWEL SIGN AA
+116AE;CM # TAKRI VOWEL SIGN I
+116AF;CM # TAKRI VOWEL SIGN II
+116B0;CM # TAKRI VOWEL SIGN U
+116B1;CM # TAKRI VOWEL SIGN UU
+116B2;CM # TAKRI VOWEL SIGN E
+116B3;CM # TAKRI VOWEL SIGN AI
+116B4;CM # TAKRI VOWEL SIGN O
+116B5;CM # TAKRI VOWEL SIGN AU
+116B6;CM # TAKRI SIGN VIRAMA
+116B7;CM # TAKRI SIGN NUKTA
+116C0;NU # TAKRI DIGIT ZERO
+116C1;NU # TAKRI DIGIT ONE
+116C2;NU # TAKRI DIGIT TWO
+116C3;NU # TAKRI DIGIT THREE
+116C4;NU # TAKRI DIGIT FOUR
+116C5;NU # TAKRI DIGIT FIVE
+116C6;NU # TAKRI DIGIT SIX
+116C7;NU # TAKRI DIGIT SEVEN
+116C8;NU # TAKRI DIGIT EIGHT
+116C9;NU # TAKRI DIGIT NINE
 12000;AL # CUNEIFORM SIGN A
 12001;AL # CUNEIFORM SIGN A TIMES A
 12002;AL # CUNEIFORM SIGN A TIMES BAD
@@ -20800,6 +21236,139 @@
 16A36;AL # BAMUM LETTER PHASE-F KPA
 16A37;AL # BAMUM LETTER PHASE-F SAMBA
 16A38;AL # BAMUM LETTER PHASE-F VUEQ
+16F00;AL # MIAO LETTER PA
+16F01;AL # MIAO LETTER BA
+16F02;AL # MIAO LETTER YI PA
+16F03;AL # MIAO LETTER PLA
+16F04;AL # MIAO LETTER MA
+16F05;AL # MIAO LETTER MHA
+16F06;AL # MIAO LETTER ARCHAIC MA
+16F07;AL # MIAO LETTER FA
+16F08;AL # MIAO LETTER VA
+16F09;AL # MIAO LETTER VFA
+16F0A;AL # MIAO LETTER TA
+16F0B;AL # MIAO LETTER DA
+16F0C;AL # MIAO LETTER YI TTA
+16F0D;AL # MIAO LETTER YI TA
+16F0E;AL # MIAO LETTER TTA
+16F0F;AL # MIAO LETTER DDA
+16F10;AL # MIAO LETTER NA
+16F11;AL # MIAO LETTER NHA
+16F12;AL # MIAO LETTER YI NNA
+16F13;AL # MIAO LETTER ARCHAIC NA
+16F14;AL # MIAO LETTER NNA
+16F15;AL # MIAO LETTER NNHA
+16F16;AL # MIAO LETTER LA
+16F17;AL # MIAO LETTER LYA
+16F18;AL # MIAO LETTER LHA
+16F19;AL # MIAO LETTER LHYA
+16F1A;AL # MIAO LETTER TLHA
+16F1B;AL # MIAO LETTER DLHA
+16F1C;AL # MIAO LETTER TLHYA
+16F1D;AL # MIAO LETTER DLHYA
+16F1E;AL # MIAO LETTER KA
+16F1F;AL # MIAO LETTER GA
+16F20;AL # MIAO LETTER YI KA
+16F21;AL # MIAO LETTER QA
+16F22;AL # MIAO LETTER QGA
+16F23;AL # MIAO LETTER NGA
+16F24;AL # MIAO LETTER NGHA
+16F25;AL # MIAO LETTER ARCHAIC NGA
+16F26;AL # MIAO LETTER HA
+16F27;AL # MIAO LETTER XA
+16F28;AL # MIAO LETTER GHA
+16F29;AL # MIAO LETTER GHHA
+16F2A;AL # MIAO LETTER TSSA
+16F2B;AL # MIAO LETTER DZZA
+16F2C;AL # MIAO LETTER NYA
+16F2D;AL # MIAO LETTER NYHA
+16F2E;AL # MIAO LETTER TSHA
+16F2F;AL # MIAO LETTER DZHA
+16F30;AL # MIAO LETTER YI TSHA
+16F31;AL # MIAO LETTER YI DZHA
+16F32;AL # MIAO LETTER REFORMED TSHA
+16F33;AL # MIAO LETTER SHA
+16F34;AL # MIAO LETTER SSA
+16F35;AL # MIAO LETTER ZHA
+16F36;AL # MIAO LETTER ZSHA
+16F37;AL # MIAO LETTER TSA
+16F38;AL # MIAO LETTER DZA
+16F39;AL # MIAO LETTER YI TSA
+16F3A;AL # MIAO LETTER SA
+16F3B;AL # MIAO LETTER ZA
+16F3C;AL # MIAO LETTER ZSA
+16F3D;AL # MIAO LETTER ZZA
+16F3E;AL # MIAO LETTER ZZSA
+16F3F;AL # MIAO LETTER ARCHAIC ZZA
+16F40;AL # MIAO LETTER ZZYA
+16F41;AL # MIAO LETTER ZZSYA
+16F42;AL # MIAO LETTER WA
+16F43;AL # MIAO LETTER AH
+16F44;AL # MIAO LETTER HHA
+16F50;AL # MIAO LETTER NASALIZATION
+16F51;CM # MIAO SIGN ASPIRATION
+16F52;CM # MIAO SIGN REFORMED VOICING
+16F53;CM # MIAO SIGN REFORMED ASPIRATION
+16F54;CM # MIAO VOWEL SIGN A
+16F55;CM # MIAO VOWEL SIGN AA
+16F56;CM # MIAO VOWEL SIGN AHH
+16F57;CM # MIAO VOWEL SIGN AN
+16F58;CM # MIAO VOWEL SIGN ANG
+16F59;CM # MIAO VOWEL SIGN O
+16F5A;CM # MIAO VOWEL SIGN OO
+16F5B;CM # MIAO VOWEL SIGN WO
+16F5C;CM # MIAO VOWEL SIGN W
+16F5D;CM # MIAO VOWEL SIGN E
+16F5E;CM # MIAO VOWEL SIGN EN
+16F5F;CM # MIAO VOWEL SIGN ENG
+16F60;CM # MIAO VOWEL SIGN OEY
+16F61;CM # MIAO VOWEL SIGN I
+16F62;CM # MIAO VOWEL SIGN IA
+16F63;CM # MIAO VOWEL SIGN IAN
+16F64;CM # MIAO VOWEL SIGN IANG
+16F65;CM # MIAO VOWEL SIGN IO
+16F66;CM # MIAO VOWEL SIGN IE
+16F67;CM # MIAO VOWEL SIGN II
+16F68;CM # MIAO VOWEL SIGN IU
+16F69;CM # MIAO VOWEL SIGN ING
+16F6A;CM # MIAO VOWEL SIGN U
+16F6B;CM # MIAO VOWEL SIGN UA
+16F6C;CM # MIAO VOWEL SIGN UAN
+16F6D;CM # MIAO VOWEL SIGN UANG
+16F6E;CM # MIAO VOWEL SIGN UU
+16F6F;CM # MIAO VOWEL SIGN UEI
+16F70;CM # MIAO VOWEL SIGN UNG
+16F71;CM # MIAO VOWEL SIGN Y
+16F72;CM # MIAO VOWEL SIGN YI
+16F73;CM # MIAO VOWEL SIGN AE
+16F74;CM # MIAO VOWEL SIGN AEE
+16F75;CM # MIAO VOWEL SIGN ERR
+16F76;CM # MIAO VOWEL SIGN ROUNDED ERR
+16F77;CM # MIAO VOWEL SIGN ER
+16F78;CM # MIAO VOWEL SIGN ROUNDED ER
+16F79;CM # MIAO VOWEL SIGN AI
+16F7A;CM # MIAO VOWEL SIGN EI
+16F7B;CM # MIAO VOWEL SIGN AU
+16F7C;CM # MIAO VOWEL SIGN OU
+16F7D;CM # MIAO VOWEL SIGN N
+16F7E;CM # MIAO VOWEL SIGN NG
+16F8F;CM # MIAO TONE RIGHT
+16F90;CM # MIAO TONE TOP RIGHT
+16F91;CM # MIAO TONE ABOVE
+16F92;CM # MIAO TONE BELOW
+16F93;AL # MIAO LETTER TONE-2
+16F94;AL # MIAO LETTER TONE-3
+16F95;AL # MIAO LETTER TONE-4
+16F96;AL # MIAO LETTER TONE-5
+16F97;AL # MIAO LETTER TONE-6
+16F98;AL # MIAO LETTER TONE-7
+16F99;AL # MIAO LETTER TONE-8
+16F9A;AL # MIAO LETTER REFORMED TONE-1
+16F9B;AL # MIAO LETTER REFORMED TONE-2
+16F9C;AL # MIAO LETTER REFORMED TONE-4
+16F9D;AL # MIAO LETTER REFORMED TONE-5
+16F9E;AL # MIAO LETTER REFORMED TONE-6
+16F9F;AL # MIAO LETTER REFORMED TONE-8
 1B000;ID # KATAKANA LETTER ARCHAIC E
 1B001;ID # HIRAGANA LETTER ARCHAIC YE
 1D000;AL # BYZANTINE MUSICAL SYMBOL PSILI
@@ -22439,209 +23008,352 @@
 1D7FD;NU # MATHEMATICAL MONOSPACE DIGIT SEVEN
 1D7FE;NU # MATHEMATICAL MONOSPACE DIGIT EIGHT
 1D7FF;NU # MATHEMATICAL MONOSPACE DIGIT NINE
-1F000;AL # MAHJONG TILE EAST WIND
-1F001;AL # MAHJONG TILE SOUTH WIND
-1F002;AL # MAHJONG TILE WEST WIND
-1F003;AL # MAHJONG TILE NORTH WIND
-1F004;AL # MAHJONG TILE RED DRAGON
-1F005;AL # MAHJONG TILE GREEN DRAGON
-1F006;AL # MAHJONG TILE WHITE DRAGON
-1F007;AL # MAHJONG TILE ONE OF CHARACTERS
-1F008;AL # MAHJONG TILE TWO OF CHARACTERS
-1F009;AL # MAHJONG TILE THREE OF CHARACTERS
-1F00A;AL # MAHJONG TILE FOUR OF CHARACTERS
-1F00B;AL # MAHJONG TILE FIVE OF CHARACTERS
-1F00C;AL # MAHJONG TILE SIX OF CHARACTERS
-1F00D;AL # MAHJONG TILE SEVEN OF CHARACTERS
-1F00E;AL # MAHJONG TILE EIGHT OF CHARACTERS
-1F00F;AL # MAHJONG TILE NINE OF CHARACTERS
-1F010;AL # MAHJONG TILE ONE OF BAMBOOS
-1F011;AL # MAHJONG TILE TWO OF BAMBOOS
-1F012;AL # MAHJONG TILE THREE OF BAMBOOS
-1F013;AL # MAHJONG TILE FOUR OF BAMBOOS
-1F014;AL # MAHJONG TILE FIVE OF BAMBOOS
-1F015;AL # MAHJONG TILE SIX OF BAMBOOS
-1F016;AL # MAHJONG TILE SEVEN OF BAMBOOS
-1F017;AL # MAHJONG TILE EIGHT OF BAMBOOS
-1F018;AL # MAHJONG TILE NINE OF BAMBOOS
-1F019;AL # MAHJONG TILE ONE OF CIRCLES
-1F01A;AL # MAHJONG TILE TWO OF CIRCLES
-1F01B;AL # MAHJONG TILE THREE OF CIRCLES
-1F01C;AL # MAHJONG TILE FOUR OF CIRCLES
-1F01D;AL # MAHJONG TILE FIVE OF CIRCLES
-1F01E;AL # MAHJONG TILE SIX OF CIRCLES
-1F01F;AL # MAHJONG TILE SEVEN OF CIRCLES
-1F020;AL # MAHJONG TILE EIGHT OF CIRCLES
-1F021;AL # MAHJONG TILE NINE OF CIRCLES
-1F022;AL # MAHJONG TILE PLUM
-1F023;AL # MAHJONG TILE ORCHID
-1F024;AL # MAHJONG TILE BAMBOO
-1F025;AL # MAHJONG TILE CHRYSANTHEMUM
-1F026;AL # MAHJONG TILE SPRING
-1F027;AL # MAHJONG TILE SUMMER
-1F028;AL # MAHJONG TILE AUTUMN
-1F029;AL # MAHJONG TILE WINTER
-1F02A;AL # MAHJONG TILE JOKER
-1F02B;AL # MAHJONG TILE BACK
-1F030;AL # DOMINO TILE HORIZONTAL BACK
-1F031;AL # DOMINO TILE HORIZONTAL-00-00
-1F032;AL # DOMINO TILE HORIZONTAL-00-01
-1F033;AL # DOMINO TILE HORIZONTAL-00-02
-1F034;AL # DOMINO TILE HORIZONTAL-00-03
-1F035;AL # DOMINO TILE HORIZONTAL-00-04
-1F036;AL # DOMINO TILE HORIZONTAL-00-05
-1F037;AL # DOMINO TILE HORIZONTAL-00-06
-1F038;AL # DOMINO TILE HORIZONTAL-01-00
-1F039;AL # DOMINO TILE HORIZONTAL-01-01
-1F03A;AL # DOMINO TILE HORIZONTAL-01-02
-1F03B;AL # DOMINO TILE HORIZONTAL-01-03
-1F03C;AL # DOMINO TILE HORIZONTAL-01-04
-1F03D;AL # DOMINO TILE HORIZONTAL-01-05
-1F03E;AL # DOMINO TILE HORIZONTAL-01-06
-1F03F;AL # DOMINO TILE HORIZONTAL-02-00
-1F040;AL # DOMINO TILE HORIZONTAL-02-01
-1F041;AL # DOMINO TILE HORIZONTAL-02-02
-1F042;AL # DOMINO TILE HORIZONTAL-02-03
-1F043;AL # DOMINO TILE HORIZONTAL-02-04
-1F044;AL # DOMINO TILE HORIZONTAL-02-05
-1F045;AL # DOMINO TILE HORIZONTAL-02-06
-1F046;AL # DOMINO TILE HORIZONTAL-03-00
-1F047;AL # DOMINO TILE HORIZONTAL-03-01
-1F048;AL # DOMINO TILE HORIZONTAL-03-02
-1F049;AL # DOMINO TILE HORIZONTAL-03-03
-1F04A;AL # DOMINO TILE HORIZONTAL-03-04
-1F04B;AL # DOMINO TILE HORIZONTAL-03-05
-1F04C;AL # DOMINO TILE HORIZONTAL-03-06
-1F04D;AL # DOMINO TILE HORIZONTAL-04-00
-1F04E;AL # DOMINO TILE HORIZONTAL-04-01
-1F04F;AL # DOMINO TILE HORIZONTAL-04-02
-1F050;AL # DOMINO TILE HORIZONTAL-04-03
-1F051;AL # DOMINO TILE HORIZONTAL-04-04
-1F052;AL # DOMINO TILE HORIZONTAL-04-05
-1F053;AL # DOMINO TILE HORIZONTAL-04-06
-1F054;AL # DOMINO TILE HORIZONTAL-05-00
-1F055;AL # DOMINO TILE HORIZONTAL-05-01
-1F056;AL # DOMINO TILE HORIZONTAL-05-02
-1F057;AL # DOMINO TILE HORIZONTAL-05-03
-1F058;AL # DOMINO TILE HORIZONTAL-05-04
-1F059;AL # DOMINO TILE HORIZONTAL-05-05
-1F05A;AL # DOMINO TILE HORIZONTAL-05-06
-1F05B;AL # DOMINO TILE HORIZONTAL-06-00
-1F05C;AL # DOMINO TILE HORIZONTAL-06-01
-1F05D;AL # DOMINO TILE HORIZONTAL-06-02
-1F05E;AL # DOMINO TILE HORIZONTAL-06-03
-1F05F;AL # DOMINO TILE HORIZONTAL-06-04
-1F060;AL # DOMINO TILE HORIZONTAL-06-05
-1F061;AL # DOMINO TILE HORIZONTAL-06-06
-1F062;AL # DOMINO TILE VERTICAL BACK
-1F063;AL # DOMINO TILE VERTICAL-00-00
-1F064;AL # DOMINO TILE VERTICAL-00-01
-1F065;AL # DOMINO TILE VERTICAL-00-02
-1F066;AL # DOMINO TILE VERTICAL-00-03
-1F067;AL # DOMINO TILE VERTICAL-00-04
-1F068;AL # DOMINO TILE VERTICAL-00-05
-1F069;AL # DOMINO TILE VERTICAL-00-06
-1F06A;AL # DOMINO TILE VERTICAL-01-00
-1F06B;AL # DOMINO TILE VERTICAL-01-01
-1F06C;AL # DOMINO TILE VERTICAL-01-02
-1F06D;AL # DOMINO TILE VERTICAL-01-03
-1F06E;AL # DOMINO TILE VERTICAL-01-04
-1F06F;AL # DOMINO TILE VERTICAL-01-05
-1F070;AL # DOMINO TILE VERTICAL-01-06
-1F071;AL # DOMINO TILE VERTICAL-02-00
-1F072;AL # DOMINO TILE VERTICAL-02-01
-1F073;AL # DOMINO TILE VERTICAL-02-02
-1F074;AL # DOMINO TILE VERTICAL-02-03
-1F075;AL # DOMINO TILE VERTICAL-02-04
-1F076;AL # DOMINO TILE VERTICAL-02-05
-1F077;AL # DOMINO TILE VERTICAL-02-06
-1F078;AL # DOMINO TILE VERTICAL-03-00
-1F079;AL # DOMINO TILE VERTICAL-03-01
-1F07A;AL # DOMINO TILE VERTICAL-03-02
-1F07B;AL # DOMINO TILE VERTICAL-03-03
-1F07C;AL # DOMINO TILE VERTICAL-03-04
-1F07D;AL # DOMINO TILE VERTICAL-03-05
-1F07E;AL # DOMINO TILE VERTICAL-03-06
-1F07F;AL # DOMINO TILE VERTICAL-04-00
-1F080;AL # DOMINO TILE VERTICAL-04-01
-1F081;AL # DOMINO TILE VERTICAL-04-02
-1F082;AL # DOMINO TILE VERTICAL-04-03
-1F083;AL # DOMINO TILE VERTICAL-04-04
-1F084;AL # DOMINO TILE VERTICAL-04-05
-1F085;AL # DOMINO TILE VERTICAL-04-06
-1F086;AL # DOMINO TILE VERTICAL-05-00
-1F087;AL # DOMINO TILE VERTICAL-05-01
-1F088;AL # DOMINO TILE VERTICAL-05-02
-1F089;AL # DOMINO TILE VERTICAL-05-03
-1F08A;AL # DOMINO TILE VERTICAL-05-04
-1F08B;AL # DOMINO TILE VERTICAL-05-05
-1F08C;AL # DOMINO TILE VERTICAL-05-06
-1F08D;AL # DOMINO TILE VERTICAL-06-00
-1F08E;AL # DOMINO TILE VERTICAL-06-01
-1F08F;AL # DOMINO TILE VERTICAL-06-02
-1F090;AL # DOMINO TILE VERTICAL-06-03
-1F091;AL # DOMINO TILE VERTICAL-06-04
-1F092;AL # DOMINO TILE VERTICAL-06-05
-1F093;AL # DOMINO TILE VERTICAL-06-06
-1F0A0;AL # PLAYING CARD BACK
-1F0A1;AL # PLAYING CARD ACE OF SPADES
-1F0A2;AL # PLAYING CARD TWO OF SPADES
-1F0A3;AL # PLAYING CARD THREE OF SPADES
-1F0A4;AL # PLAYING CARD FOUR OF SPADES
-1F0A5;AL # PLAYING CARD FIVE OF SPADES
-1F0A6;AL # PLAYING CARD SIX OF SPADES
-1F0A7;AL # PLAYING CARD SEVEN OF SPADES
-1F0A8;AL # PLAYING CARD EIGHT OF SPADES
-1F0A9;AL # PLAYING CARD NINE OF SPADES
-1F0AA;AL # PLAYING CARD TEN OF SPADES
-1F0AB;AL # PLAYING CARD JACK OF SPADES
-1F0AC;AL # PLAYING CARD KNIGHT OF SPADES
-1F0AD;AL # PLAYING CARD QUEEN OF SPADES
-1F0AE;AL # PLAYING CARD KING OF SPADES
-1F0B1;AL # PLAYING CARD ACE OF HEARTS
-1F0B2;AL # PLAYING CARD TWO OF HEARTS
-1F0B3;AL # PLAYING CARD THREE OF HEARTS
-1F0B4;AL # PLAYING CARD FOUR OF HEARTS
-1F0B5;AL # PLAYING CARD FIVE OF HEARTS
-1F0B6;AL # PLAYING CARD SIX OF HEARTS
-1F0B7;AL # PLAYING CARD SEVEN OF HEARTS
-1F0B8;AL # PLAYING CARD EIGHT OF HEARTS
-1F0B9;AL # PLAYING CARD NINE OF HEARTS
-1F0BA;AL # PLAYING CARD TEN OF HEARTS
-1F0BB;AL # PLAYING CARD JACK OF HEARTS
-1F0BC;AL # PLAYING CARD KNIGHT OF HEARTS
-1F0BD;AL # PLAYING CARD QUEEN OF HEARTS
-1F0BE;AL # PLAYING CARD KING OF HEARTS
-1F0C1;AL # PLAYING CARD ACE OF DIAMONDS
-1F0C2;AL # PLAYING CARD TWO OF DIAMONDS
-1F0C3;AL # PLAYING CARD THREE OF DIAMONDS
-1F0C4;AL # PLAYING CARD FOUR OF DIAMONDS
-1F0C5;AL # PLAYING CARD FIVE OF DIAMONDS
-1F0C6;AL # PLAYING CARD SIX OF DIAMONDS
-1F0C7;AL # PLAYING CARD SEVEN OF DIAMONDS
-1F0C8;AL # PLAYING CARD EIGHT OF DIAMONDS
-1F0C9;AL # PLAYING CARD NINE OF DIAMONDS
-1F0CA;AL # PLAYING CARD TEN OF DIAMONDS
-1F0CB;AL # PLAYING CARD JACK OF DIAMONDS
-1F0CC;AL # PLAYING CARD KNIGHT OF DIAMONDS
-1F0CD;AL # PLAYING CARD QUEEN OF DIAMONDS
-1F0CE;AL # PLAYING CARD KING OF DIAMONDS
-1F0CF;AL # PLAYING CARD BLACK JOKER
-1F0D1;AL # PLAYING CARD ACE OF CLUBS
-1F0D2;AL # PLAYING CARD TWO OF CLUBS
-1F0D3;AL # PLAYING CARD THREE OF CLUBS
-1F0D4;AL # PLAYING CARD FOUR OF CLUBS
-1F0D5;AL # PLAYING CARD FIVE OF CLUBS
-1F0D6;AL # PLAYING CARD SIX OF CLUBS
-1F0D7;AL # PLAYING CARD SEVEN OF CLUBS
-1F0D8;AL # PLAYING CARD EIGHT OF CLUBS
-1F0D9;AL # PLAYING CARD NINE OF CLUBS
-1F0DA;AL # PLAYING CARD TEN OF CLUBS
-1F0DB;AL # PLAYING CARD JACK OF CLUBS
-1F0DC;AL # PLAYING CARD KNIGHT OF CLUBS
-1F0DD;AL # PLAYING CARD QUEEN OF CLUBS
-1F0DE;AL # PLAYING CARD KING OF CLUBS
-1F0DF;AL # PLAYING CARD WHITE JOKER
+1EE00;AL # ARABIC MATHEMATICAL ALEF
+1EE01;AL # ARABIC MATHEMATICAL BEH
+1EE02;AL # ARABIC MATHEMATICAL JEEM
+1EE03;AL # ARABIC MATHEMATICAL DAL
+1EE05;AL # ARABIC MATHEMATICAL WAW
+1EE06;AL # ARABIC MATHEMATICAL ZAIN
+1EE07;AL # ARABIC MATHEMATICAL HAH
+1EE08;AL # ARABIC MATHEMATICAL TAH
+1EE09;AL # ARABIC MATHEMATICAL YEH
+1EE0A;AL # ARABIC MATHEMATICAL KAF
+1EE0B;AL # ARABIC MATHEMATICAL LAM
+1EE0C;AL # ARABIC MATHEMATICAL MEEM
+1EE0D;AL # ARABIC MATHEMATICAL NOON
+1EE0E;AL # ARABIC MATHEMATICAL SEEN
+1EE0F;AL # ARABIC MATHEMATICAL AIN
+1EE10;AL # ARABIC MATHEMATICAL FEH
+1EE11;AL # ARABIC MATHEMATICAL SAD
+1EE12;AL # ARABIC MATHEMATICAL QAF
+1EE13;AL # ARABIC MATHEMATICAL REH
+1EE14;AL # ARABIC MATHEMATICAL SHEEN
+1EE15;AL # ARABIC MATHEMATICAL TEH
+1EE16;AL # ARABIC MATHEMATICAL THEH
+1EE17;AL # ARABIC MATHEMATICAL KHAH
+1EE18;AL # ARABIC MATHEMATICAL THAL
+1EE19;AL # ARABIC MATHEMATICAL DAD
+1EE1A;AL # ARABIC MATHEMATICAL ZAH
+1EE1B;AL # ARABIC MATHEMATICAL GHAIN
+1EE1C;AL # ARABIC MATHEMATICAL DOTLESS BEH
+1EE1D;AL # ARABIC MATHEMATICAL DOTLESS NOON
+1EE1E;AL # ARABIC MATHEMATICAL DOTLESS FEH
+1EE1F;AL # ARABIC MATHEMATICAL DOTLESS QAF
+1EE21;AL # ARABIC MATHEMATICAL INITIAL BEH
+1EE22;AL # ARABIC MATHEMATICAL INITIAL JEEM
+1EE24;AL # ARABIC MATHEMATICAL INITIAL HEH
+1EE27;AL # ARABIC MATHEMATICAL INITIAL HAH
+1EE29;AL # ARABIC MATHEMATICAL INITIAL YEH
+1EE2A;AL # ARABIC MATHEMATICAL INITIAL KAF
+1EE2B;AL # ARABIC MATHEMATICAL INITIAL LAM
+1EE2C;AL # ARABIC MATHEMATICAL INITIAL MEEM
+1EE2D;AL # ARABIC MATHEMATICAL INITIAL NOON
+1EE2E;AL # ARABIC MATHEMATICAL INITIAL SEEN
+1EE2F;AL # ARABIC MATHEMATICAL INITIAL AIN
+1EE30;AL # ARABIC MATHEMATICAL INITIAL FEH
+1EE31;AL # ARABIC MATHEMATICAL INITIAL SAD
+1EE32;AL # ARABIC MATHEMATICAL INITIAL QAF
+1EE34;AL # ARABIC MATHEMATICAL INITIAL SHEEN
+1EE35;AL # ARABIC MATHEMATICAL INITIAL TEH
+1EE36;AL # ARABIC MATHEMATICAL INITIAL THEH
+1EE37;AL # ARABIC MATHEMATICAL INITIAL KHAH
+1EE39;AL # ARABIC MATHEMATICAL INITIAL DAD
+1EE3B;AL # ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42;AL # ARABIC MATHEMATICAL TAILED JEEM
+1EE47;AL # ARABIC MATHEMATICAL TAILED HAH
+1EE49;AL # ARABIC MATHEMATICAL TAILED YEH
+1EE4B;AL # ARABIC MATHEMATICAL TAILED LAM
+1EE4D;AL # ARABIC MATHEMATICAL TAILED NOON
+1EE4E;AL # ARABIC MATHEMATICAL TAILED SEEN
+1EE4F;AL # ARABIC MATHEMATICAL TAILED AIN
+1EE51;AL # ARABIC MATHEMATICAL TAILED SAD
+1EE52;AL # ARABIC MATHEMATICAL TAILED QAF
+1EE54;AL # ARABIC MATHEMATICAL TAILED SHEEN
+1EE57;AL # ARABIC MATHEMATICAL TAILED KHAH
+1EE59;AL # ARABIC MATHEMATICAL TAILED DAD
+1EE5B;AL # ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D;AL # ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F;AL # ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61;AL # ARABIC MATHEMATICAL STRETCHED BEH
+1EE62;AL # ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64;AL # ARABIC MATHEMATICAL STRETCHED HEH
+1EE67;AL # ARABIC MATHEMATICAL STRETCHED HAH
+1EE68;AL # ARABIC MATHEMATICAL STRETCHED TAH
+1EE69;AL # ARABIC MATHEMATICAL STRETCHED YEH
+1EE6A;AL # ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C;AL # ARABIC MATHEMATICAL STRETCHED MEEM
+1EE6D;AL # ARABIC MATHEMATICAL STRETCHED NOON
+1EE6E;AL # ARABIC MATHEMATICAL STRETCHED SEEN
+1EE6F;AL # ARABIC MATHEMATICAL STRETCHED AIN
+1EE70;AL # ARABIC MATHEMATICAL STRETCHED FEH
+1EE71;AL # ARABIC MATHEMATICAL STRETCHED SAD
+1EE72;AL # ARABIC MATHEMATICAL STRETCHED QAF
+1EE74;AL # ARABIC MATHEMATICAL STRETCHED SHEEN
+1EE75;AL # ARABIC MATHEMATICAL STRETCHED TEH
+1EE76;AL # ARABIC MATHEMATICAL STRETCHED THEH
+1EE77;AL # ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79;AL # ARABIC MATHEMATICAL STRETCHED DAD
+1EE7A;AL # ARABIC MATHEMATICAL STRETCHED ZAH
+1EE7B;AL # ARABIC MATHEMATICAL STRETCHED GHAIN
+1EE7C;AL # ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E;AL # ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80;AL # ARABIC MATHEMATICAL LOOPED ALEF
+1EE81;AL # ARABIC MATHEMATICAL LOOPED BEH
+1EE82;AL # ARABIC MATHEMATICAL LOOPED JEEM
+1EE83;AL # ARABIC MATHEMATICAL LOOPED DAL
+1EE84;AL # ARABIC MATHEMATICAL LOOPED HEH
+1EE85;AL # ARABIC MATHEMATICAL LOOPED WAW
+1EE86;AL # ARABIC MATHEMATICAL LOOPED ZAIN
+1EE87;AL # ARABIC MATHEMATICAL LOOPED HAH
+1EE88;AL # ARABIC MATHEMATICAL LOOPED TAH
+1EE89;AL # ARABIC MATHEMATICAL LOOPED YEH
+1EE8B;AL # ARABIC MATHEMATICAL LOOPED LAM
+1EE8C;AL # ARABIC MATHEMATICAL LOOPED MEEM
+1EE8D;AL # ARABIC MATHEMATICAL LOOPED NOON
+1EE8E;AL # ARABIC MATHEMATICAL LOOPED SEEN
+1EE8F;AL # ARABIC MATHEMATICAL LOOPED AIN
+1EE90;AL # ARABIC MATHEMATICAL LOOPED FEH
+1EE91;AL # ARABIC MATHEMATICAL LOOPED SAD
+1EE92;AL # ARABIC MATHEMATICAL LOOPED QAF
+1EE93;AL # ARABIC MATHEMATICAL LOOPED REH
+1EE94;AL # ARABIC MATHEMATICAL LOOPED SHEEN
+1EE95;AL # ARABIC MATHEMATICAL LOOPED TEH
+1EE96;AL # ARABIC MATHEMATICAL LOOPED THEH
+1EE97;AL # ARABIC MATHEMATICAL LOOPED KHAH
+1EE98;AL # ARABIC MATHEMATICAL LOOPED THAL
+1EE99;AL # ARABIC MATHEMATICAL LOOPED DAD
+1EE9A;AL # ARABIC MATHEMATICAL LOOPED ZAH
+1EE9B;AL # ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+1EEA2;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+1EEA3;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+1EEA6;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+1EEA7;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+1EEA8;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+1EEA9;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+1EEAC;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+1EEAD;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+1EEAE;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+1EEAF;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+1EEB0;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+1EEB1;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+1EEB2;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+1EEB3;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+1EEB4;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+1EEB5;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+1EEB6;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+1EEB7;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+1EEB8;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+1EEB9;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+1EEBA;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+1EEBB;AL # ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0;AL # ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+1EEF1;AL # ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+1F000;ID # MAHJONG TILE EAST WIND
+1F001;ID # MAHJONG TILE SOUTH WIND
+1F002;ID # MAHJONG TILE WEST WIND
+1F003;ID # MAHJONG TILE NORTH WIND
+1F004;ID # MAHJONG TILE RED DRAGON
+1F005;ID # MAHJONG TILE GREEN DRAGON
+1F006;ID # MAHJONG TILE WHITE DRAGON
+1F007;ID # MAHJONG TILE ONE OF CHARACTERS
+1F008;ID # MAHJONG TILE TWO OF CHARACTERS
+1F009;ID # MAHJONG TILE THREE OF CHARACTERS
+1F00A;ID # MAHJONG TILE FOUR OF CHARACTERS
+1F00B;ID # MAHJONG TILE FIVE OF CHARACTERS
+1F00C;ID # MAHJONG TILE SIX OF CHARACTERS
+1F00D;ID # MAHJONG TILE SEVEN OF CHARACTERS
+1F00E;ID # MAHJONG TILE EIGHT OF CHARACTERS
+1F00F;ID # MAHJONG TILE NINE OF CHARACTERS
+1F010;ID # MAHJONG TILE ONE OF BAMBOOS
+1F011;ID # MAHJONG TILE TWO OF BAMBOOS
+1F012;ID # MAHJONG TILE THREE OF BAMBOOS
+1F013;ID # MAHJONG TILE FOUR OF BAMBOOS
+1F014;ID # MAHJONG TILE FIVE OF BAMBOOS
+1F015;ID # MAHJONG TILE SIX OF BAMBOOS
+1F016;ID # MAHJONG TILE SEVEN OF BAMBOOS
+1F017;ID # MAHJONG TILE EIGHT OF BAMBOOS
+1F018;ID # MAHJONG TILE NINE OF BAMBOOS
+1F019;ID # MAHJONG TILE ONE OF CIRCLES
+1F01A;ID # MAHJONG TILE TWO OF CIRCLES
+1F01B;ID # MAHJONG TILE THREE OF CIRCLES
+1F01C;ID # MAHJONG TILE FOUR OF CIRCLES
+1F01D;ID # MAHJONG TILE FIVE OF CIRCLES
+1F01E;ID # MAHJONG TILE SIX OF CIRCLES
+1F01F;ID # MAHJONG TILE SEVEN OF CIRCLES
+1F020;ID # MAHJONG TILE EIGHT OF CIRCLES
+1F021;ID # MAHJONG TILE NINE OF CIRCLES
+1F022;ID # MAHJONG TILE PLUM
+1F023;ID # MAHJONG TILE ORCHID
+1F024;ID # MAHJONG TILE BAMBOO
+1F025;ID # MAHJONG TILE CHRYSANTHEMUM
+1F026;ID # MAHJONG TILE SPRING
+1F027;ID # MAHJONG TILE SUMMER
+1F028;ID # MAHJONG TILE AUTUMN
+1F029;ID # MAHJONG TILE WINTER
+1F02A;ID # MAHJONG TILE JOKER
+1F02B;ID # MAHJONG TILE BACK
+1F030;ID # DOMINO TILE HORIZONTAL BACK
+1F031;ID # DOMINO TILE HORIZONTAL-00-00
+1F032;ID # DOMINO TILE HORIZONTAL-00-01
+1F033;ID # DOMINO TILE HORIZONTAL-00-02
+1F034;ID # DOMINO TILE HORIZONTAL-00-03
+1F035;ID # DOMINO TILE HORIZONTAL-00-04
+1F036;ID # DOMINO TILE HORIZONTAL-00-05
+1F037;ID # DOMINO TILE HORIZONTAL-00-06
+1F038;ID # DOMINO TILE HORIZONTAL-01-00
+1F039;ID # DOMINO TILE HORIZONTAL-01-01
+1F03A;ID # DOMINO TILE HORIZONTAL-01-02
+1F03B;ID # DOMINO TILE HORIZONTAL-01-03
+1F03C;ID # DOMINO TILE HORIZONTAL-01-04
+1F03D;ID # DOMINO TILE HORIZONTAL-01-05
+1F03E;ID # DOMINO TILE HORIZONTAL-01-06
+1F03F;ID # DOMINO TILE HORIZONTAL-02-00
+1F040;ID # DOMINO TILE HORIZONTAL-02-01
+1F041;ID # DOMINO TILE HORIZONTAL-02-02
+1F042;ID # DOMINO TILE HORIZONTAL-02-03
+1F043;ID # DOMINO TILE HORIZONTAL-02-04
+1F044;ID # DOMINO TILE HORIZONTAL-02-05
+1F045;ID # DOMINO TILE HORIZONTAL-02-06
+1F046;ID # DOMINO TILE HORIZONTAL-03-00
+1F047;ID # DOMINO TILE HORIZONTAL-03-01
+1F048;ID # DOMINO TILE HORIZONTAL-03-02
+1F049;ID # DOMINO TILE HORIZONTAL-03-03
+1F04A;ID # DOMINO TILE HORIZONTAL-03-04
+1F04B;ID # DOMINO TILE HORIZONTAL-03-05
+1F04C;ID # DOMINO TILE HORIZONTAL-03-06
+1F04D;ID # DOMINO TILE HORIZONTAL-04-00
+1F04E;ID # DOMINO TILE HORIZONTAL-04-01
+1F04F;ID # DOMINO TILE HORIZONTAL-04-02
+1F050;ID # DOMINO TILE HORIZONTAL-04-03
+1F051;ID # DOMINO TILE HORIZONTAL-04-04
+1F052;ID # DOMINO TILE HORIZONTAL-04-05
+1F053;ID # DOMINO TILE HORIZONTAL-04-06
+1F054;ID # DOMINO TILE HORIZONTAL-05-00
+1F055;ID # DOMINO TILE HORIZONTAL-05-01
+1F056;ID # DOMINO TILE HORIZONTAL-05-02
+1F057;ID # DOMINO TILE HORIZONTAL-05-03
+1F058;ID # DOMINO TILE HORIZONTAL-05-04
+1F059;ID # DOMINO TILE HORIZONTAL-05-05
+1F05A;ID # DOMINO TILE HORIZONTAL-05-06
+1F05B;ID # DOMINO TILE HORIZONTAL-06-00
+1F05C;ID # DOMINO TILE HORIZONTAL-06-01
+1F05D;ID # DOMINO TILE HORIZONTAL-06-02
+1F05E;ID # DOMINO TILE HORIZONTAL-06-03
+1F05F;ID # DOMINO TILE HORIZONTAL-06-04
+1F060;ID # DOMINO TILE HORIZONTAL-06-05
+1F061;ID # DOMINO TILE HORIZONTAL-06-06
+1F062;ID # DOMINO TILE VERTICAL BACK
+1F063;ID # DOMINO TILE VERTICAL-00-00
+1F064;ID # DOMINO TILE VERTICAL-00-01
+1F065;ID # DOMINO TILE VERTICAL-00-02
+1F066;ID # DOMINO TILE VERTICAL-00-03
+1F067;ID # DOMINO TILE VERTICAL-00-04
+1F068;ID # DOMINO TILE VERTICAL-00-05
+1F069;ID # DOMINO TILE VERTICAL-00-06
+1F06A;ID # DOMINO TILE VERTICAL-01-00
+1F06B;ID # DOMINO TILE VERTICAL-01-01
+1F06C;ID # DOMINO TILE VERTICAL-01-02
+1F06D;ID # DOMINO TILE VERTICAL-01-03
+1F06E;ID # DOMINO TILE VERTICAL-01-04
+1F06F;ID # DOMINO TILE VERTICAL-01-05
+1F070;ID # DOMINO TILE VERTICAL-01-06
+1F071;ID # DOMINO TILE VERTICAL-02-00
+1F072;ID # DOMINO TILE VERTICAL-02-01
+1F073;ID # DOMINO TILE VERTICAL-02-02
+1F074;ID # DOMINO TILE VERTICAL-02-03
+1F075;ID # DOMINO TILE VERTICAL-02-04
+1F076;ID # DOMINO TILE VERTICAL-02-05
+1F077;ID # DOMINO TILE VERTICAL-02-06
+1F078;ID # DOMINO TILE VERTICAL-03-00
+1F079;ID # DOMINO TILE VERTICAL-03-01
+1F07A;ID # DOMINO TILE VERTICAL-03-02
+1F07B;ID # DOMINO TILE VERTICAL-03-03
+1F07C;ID # DOMINO TILE VERTICAL-03-04
+1F07D;ID # DOMINO TILE VERTICAL-03-05
+1F07E;ID # DOMINO TILE VERTICAL-03-06
+1F07F;ID # DOMINO TILE VERTICAL-04-00
+1F080;ID # DOMINO TILE VERTICAL-04-01
+1F081;ID # DOMINO TILE VERTICAL-04-02
+1F082;ID # DOMINO TILE VERTICAL-04-03
+1F083;ID # DOMINO TILE VERTICAL-04-04
+1F084;ID # DOMINO TILE VERTICAL-04-05
+1F085;ID # DOMINO TILE VERTICAL-04-06
+1F086;ID # DOMINO TILE VERTICAL-05-00
+1F087;ID # DOMINO TILE VERTICAL-05-01
+1F088;ID # DOMINO TILE VERTICAL-05-02
+1F089;ID # DOMINO TILE VERTICAL-05-03
+1F08A;ID # DOMINO TILE VERTICAL-05-04
+1F08B;ID # DOMINO TILE VERTICAL-05-05
+1F08C;ID # DOMINO TILE VERTICAL-05-06
+1F08D;ID # DOMINO TILE VERTICAL-06-00
+1F08E;ID # DOMINO TILE VERTICAL-06-01
+1F08F;ID # DOMINO TILE VERTICAL-06-02
+1F090;ID # DOMINO TILE VERTICAL-06-03
+1F091;ID # DOMINO TILE VERTICAL-06-04
+1F092;ID # DOMINO TILE VERTICAL-06-05
+1F093;ID # DOMINO TILE VERTICAL-06-06
+1F0A0;ID # PLAYING CARD BACK
+1F0A1;ID # PLAYING CARD ACE OF SPADES
+1F0A2;ID # PLAYING CARD TWO OF SPADES
+1F0A3;ID # PLAYING CARD THREE OF SPADES
+1F0A4;ID # PLAYING CARD FOUR OF SPADES
+1F0A5;ID # PLAYING CARD FIVE OF SPADES
+1F0A6;ID # PLAYING CARD SIX OF SPADES
+1F0A7;ID # PLAYING CARD SEVEN OF SPADES
+1F0A8;ID # PLAYING CARD EIGHT OF SPADES
+1F0A9;ID # PLAYING CARD NINE OF SPADES
+1F0AA;ID # PLAYING CARD TEN OF SPADES
+1F0AB;ID # PLAYING CARD JACK OF SPADES
+1F0AC;ID # PLAYING CARD KNIGHT OF SPADES
+1F0AD;ID # PLAYING CARD QUEEN OF SPADES
+1F0AE;ID # PLAYING CARD KING OF SPADES
+1F0B1;ID # PLAYING CARD ACE OF HEARTS
+1F0B2;ID # PLAYING CARD TWO OF HEARTS
+1F0B3;ID # PLAYING CARD THREE OF HEARTS
+1F0B4;ID # PLAYING CARD FOUR OF HEARTS
+1F0B5;ID # PLAYING CARD FIVE OF HEARTS
+1F0B6;ID # PLAYING CARD SIX OF HEARTS
+1F0B7;ID # PLAYING CARD SEVEN OF HEARTS
+1F0B8;ID # PLAYING CARD EIGHT OF HEARTS
+1F0B9;ID # PLAYING CARD NINE OF HEARTS
+1F0BA;ID # PLAYING CARD TEN OF HEARTS
+1F0BB;ID # PLAYING CARD JACK OF HEARTS
+1F0BC;ID # PLAYING CARD KNIGHT OF HEARTS
+1F0BD;ID # PLAYING CARD QUEEN OF HEARTS
+1F0BE;ID # PLAYING CARD KING OF HEARTS
+1F0C1;ID # PLAYING CARD ACE OF DIAMONDS
+1F0C2;ID # PLAYING CARD TWO OF DIAMONDS
+1F0C3;ID # PLAYING CARD THREE OF DIAMONDS
+1F0C4;ID # PLAYING CARD FOUR OF DIAMONDS
+1F0C5;ID # PLAYING CARD FIVE OF DIAMONDS
+1F0C6;ID # PLAYING CARD SIX OF DIAMONDS
+1F0C7;ID # PLAYING CARD SEVEN OF DIAMONDS
+1F0C8;ID # PLAYING CARD EIGHT OF DIAMONDS
+1F0C9;ID # PLAYING CARD NINE OF DIAMONDS
+1F0CA;ID # PLAYING CARD TEN OF DIAMONDS
+1F0CB;ID # PLAYING CARD JACK OF DIAMONDS
+1F0CC;ID # PLAYING CARD KNIGHT OF DIAMONDS
+1F0CD;ID # PLAYING CARD QUEEN OF DIAMONDS
+1F0CE;ID # PLAYING CARD KING OF DIAMONDS
+1F0CF;ID # PLAYING CARD BLACK JOKER
+1F0D1;ID # PLAYING CARD ACE OF CLUBS
+1F0D2;ID # PLAYING CARD TWO OF CLUBS
+1F0D3;ID # PLAYING CARD THREE OF CLUBS
+1F0D4;ID # PLAYING CARD FOUR OF CLUBS
+1F0D5;ID # PLAYING CARD FIVE OF CLUBS
+1F0D6;ID # PLAYING CARD SIX OF CLUBS
+1F0D7;ID # PLAYING CARD SEVEN OF CLUBS
+1F0D8;ID # PLAYING CARD EIGHT OF CLUBS
+1F0D9;ID # PLAYING CARD NINE OF CLUBS
+1F0DA;ID # PLAYING CARD TEN OF CLUBS
+1F0DB;ID # PLAYING CARD JACK OF CLUBS
+1F0DC;ID # PLAYING CARD KNIGHT OF CLUBS
+1F0DD;ID # PLAYING CARD QUEEN OF CLUBS
+1F0DE;ID # PLAYING CARD KING OF CLUBS
+1F0DF;ID # PLAYING CARD WHITE JOKER
 1F100;AI # DIGIT ZERO FULL STOP
 1F101;AI # DIGIT ZERO COMMA
 1F102;AI # DIGIT ONE COMMA
@@ -22742,6 +23454,8 @@
 1F167;AI # NEGATIVE CIRCLED LATIN CAPITAL LETTER X
 1F168;AI # NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
 1F169;AI # NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1F16A;AL # RAISED MC SIGN
+1F16B;AL # RAISED MD SIGN
 1F170;AI # NEGATIVE SQUARED LATIN CAPITAL LETTER A
 1F171;AI # NEGATIVE SQUARED LATIN CAPITAL LETTER B
 1F172;AI # NEGATIVE SQUARED LATIN CAPITAL LETTER C
@@ -22785,32 +23499,32 @@
 1F198;AI # SQUARED SOS
 1F199;AI # SQUARED UP WITH EXCLAMATION MARK
 1F19A;AI # SQUARED VS
-1F1E6;AL # REGIONAL INDICATOR SYMBOL LETTER A
-1F1E7;AL # REGIONAL INDICATOR SYMBOL LETTER B
-1F1E8;AL # REGIONAL INDICATOR SYMBOL LETTER C
-1F1E9;AL # REGIONAL INDICATOR SYMBOL LETTER D
-1F1EA;AL # REGIONAL INDICATOR SYMBOL LETTER E
-1F1EB;AL # REGIONAL INDICATOR SYMBOL LETTER F
-1F1EC;AL # REGIONAL INDICATOR SYMBOL LETTER G
-1F1ED;AL # REGIONAL INDICATOR SYMBOL LETTER H
-1F1EE;AL # REGIONAL INDICATOR SYMBOL LETTER I
-1F1EF;AL # REGIONAL INDICATOR SYMBOL LETTER J
-1F1F0;AL # REGIONAL INDICATOR SYMBOL LETTER K
-1F1F1;AL # REGIONAL INDICATOR SYMBOL LETTER L
-1F1F2;AL # REGIONAL INDICATOR SYMBOL LETTER M
-1F1F3;AL # REGIONAL INDICATOR SYMBOL LETTER N
-1F1F4;AL # REGIONAL INDICATOR SYMBOL LETTER O
-1F1F5;AL # REGIONAL INDICATOR SYMBOL LETTER P
-1F1F6;AL # REGIONAL INDICATOR SYMBOL LETTER Q
-1F1F7;AL # REGIONAL INDICATOR SYMBOL LETTER R
-1F1F8;AL # REGIONAL INDICATOR SYMBOL LETTER S
-1F1F9;AL # REGIONAL INDICATOR SYMBOL LETTER T
-1F1FA;AL # REGIONAL INDICATOR SYMBOL LETTER U
-1F1FB;AL # REGIONAL INDICATOR SYMBOL LETTER V
-1F1FC;AL # REGIONAL INDICATOR SYMBOL LETTER W
-1F1FD;AL # REGIONAL INDICATOR SYMBOL LETTER X
-1F1FE;AL # REGIONAL INDICATOR SYMBOL LETTER Y
-1F1FF;AL # REGIONAL INDICATOR SYMBOL LETTER Z
+1F1E6;RI # REGIONAL INDICATOR SYMBOL LETTER A
+1F1E7;RI # REGIONAL INDICATOR SYMBOL LETTER B
+1F1E8;RI # REGIONAL INDICATOR SYMBOL LETTER C
+1F1E9;RI # REGIONAL INDICATOR SYMBOL LETTER D
+1F1EA;RI # REGIONAL INDICATOR SYMBOL LETTER E
+1F1EB;RI # REGIONAL INDICATOR SYMBOL LETTER F
+1F1EC;RI # REGIONAL INDICATOR SYMBOL LETTER G
+1F1ED;RI # REGIONAL INDICATOR SYMBOL LETTER H
+1F1EE;RI # REGIONAL INDICATOR SYMBOL LETTER I
+1F1EF;RI # REGIONAL INDICATOR SYMBOL LETTER J
+1F1F0;RI # REGIONAL INDICATOR SYMBOL LETTER K
+1F1F1;RI # REGIONAL INDICATOR SYMBOL LETTER L
+1F1F2;RI # REGIONAL INDICATOR SYMBOL LETTER M
+1F1F3;RI # REGIONAL INDICATOR SYMBOL LETTER N
+1F1F4;RI # REGIONAL INDICATOR SYMBOL LETTER O
+1F1F5;RI # REGIONAL INDICATOR SYMBOL LETTER P
+1F1F6;RI # REGIONAL INDICATOR SYMBOL LETTER Q
+1F1F7;RI # REGIONAL INDICATOR SYMBOL LETTER R
+1F1F8;RI # REGIONAL INDICATOR SYMBOL LETTER S
+1F1F9;RI # REGIONAL INDICATOR SYMBOL LETTER T
+1F1FA;RI # REGIONAL INDICATOR SYMBOL LETTER U
+1F1FB;RI # REGIONAL INDICATOR SYMBOL LETTER V
+1F1FC;RI # REGIONAL INDICATOR SYMBOL LETTER W
+1F1FD;RI # REGIONAL INDICATOR SYMBOL LETTER X
+1F1FE;RI # REGIONAL INDICATOR SYMBOL LETTER Y
+1F1FF;RI # REGIONAL INDICATOR SYMBOL LETTER Z
 1F200;ID # SQUARE HIRAGANA HOKA
 1F201;ID # SQUARED KATAKANA KOKO
 1F202;ID # SQUARED KATAKANA SA
@@ -22868,444 +23582,444 @@
 1F248;ID # TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250;ID # CIRCLED IDEOGRAPH ADVANTAGE
 1F251;ID # CIRCLED IDEOGRAPH ACCEPT
-1F300;AL # CYCLONE
-1F301;AL # FOGGY
-1F302;AL # CLOSED UMBRELLA
-1F303;AL # NIGHT WITH STARS
-1F304;AL # SUNRISE OVER MOUNTAINS
-1F305;AL # SUNRISE
-1F306;AL # CITYSCAPE AT DUSK
-1F307;AL # SUNSET OVER BUILDINGS
-1F308;AL # RAINBOW
-1F309;AL # BRIDGE AT NIGHT
-1F30A;AL # WATER WAVE
-1F30B;AL # VOLCANO
-1F30C;AL # MILKY WAY
-1F30D;AL # EARTH GLOBE EUROPE-AFRICA
-1F30E;AL # EARTH GLOBE AMERICAS
-1F30F;AL # EARTH GLOBE ASIA-AUSTRALIA
-1F310;AL # GLOBE WITH MERIDIANS
-1F311;AL # NEW MOON SYMBOL
-1F312;AL # WAXING CRESCENT MOON SYMBOL
-1F313;AL # FIRST QUARTER MOON SYMBOL
-1F314;AL # WAXING GIBBOUS MOON SYMBOL
-1F315;AL # FULL MOON SYMBOL
-1F316;AL # WANING GIBBOUS MOON SYMBOL
-1F317;AL # LAST QUARTER MOON SYMBOL
-1F318;AL # WANING CRESCENT MOON SYMBOL
-1F319;AL # CRESCENT MOON
-1F31A;AL # NEW MOON WITH FACE
-1F31B;AL # FIRST QUARTER MOON WITH FACE
-1F31C;AL # LAST QUARTER MOON WITH FACE
-1F31D;AL # FULL MOON WITH FACE
-1F31E;AL # SUN WITH FACE
-1F31F;AL # GLOWING STAR
-1F320;AL # SHOOTING STAR
-1F330;AL # CHESTNUT
-1F331;AL # SEEDLING
-1F332;AL # EVERGREEN TREE
-1F333;AL # DECIDUOUS TREE
-1F334;AL # PALM TREE
-1F335;AL # CACTUS
-1F337;AL # TULIP
-1F338;AL # CHERRY BLOSSOM
-1F339;AL # ROSE
-1F33A;AL # HIBISCUS
-1F33B;AL # SUNFLOWER
-1F33C;AL # BLOSSOM
-1F33D;AL # EAR OF MAIZE
-1F33E;AL # EAR OF RICE
-1F33F;AL # HERB
-1F340;AL # FOUR LEAF CLOVER
-1F341;AL # MAPLE LEAF
-1F342;AL # FALLEN LEAF
-1F343;AL # LEAF FLUTTERING IN WIND
-1F344;AL # MUSHROOM
-1F345;AL # TOMATO
-1F346;AL # AUBERGINE
-1F347;AL # GRAPES
-1F348;AL # MELON
-1F349;AL # WATERMELON
-1F34A;AL # TANGERINE
-1F34B;AL # LEMON
-1F34C;AL # BANANA
-1F34D;AL # PINEAPPLE
-1F34E;AL # RED APPLE
-1F34F;AL # GREEN APPLE
-1F350;AL # PEAR
-1F351;AL # PEACH
-1F352;AL # CHERRIES
-1F353;AL # STRAWBERRY
-1F354;AL # HAMBURGER
-1F355;AL # SLICE OF PIZZA
-1F356;AL # MEAT ON BONE
-1F357;AL # POULTRY LEG
-1F358;AL # RICE CRACKER
-1F359;AL # RICE BALL
-1F35A;AL # COOKED RICE
-1F35B;AL # CURRY AND RICE
-1F35C;AL # STEAMING BOWL
-1F35D;AL # SPAGHETTI
-1F35E;AL # BREAD
-1F35F;AL # FRENCH FRIES
-1F360;AL # ROASTED SWEET POTATO
-1F361;AL # DANGO
-1F362;AL # ODEN
-1F363;AL # SUSHI
-1F364;AL # FRIED SHRIMP
-1F365;AL # FISH CAKE WITH SWIRL DESIGN
-1F366;AL # SOFT ICE CREAM
-1F367;AL # SHAVED ICE
-1F368;AL # ICE CREAM
-1F369;AL # DOUGHNUT
-1F36A;AL # COOKIE
-1F36B;AL # CHOCOLATE BAR
-1F36C;AL # CANDY
-1F36D;AL # LOLLIPOP
-1F36E;AL # CUSTARD
-1F36F;AL # HONEY POT
-1F370;AL # SHORTCAKE
-1F371;AL # BENTO BOX
-1F372;AL # POT OF FOOD
-1F373;AL # COOKING
-1F374;AL # FORK AND KNIFE
-1F375;AL # TEACUP WITHOUT HANDLE
-1F376;AL # SAKE BOTTLE AND CUP
-1F377;AL # WINE GLASS
-1F378;AL # COCKTAIL GLASS
-1F379;AL # TROPICAL DRINK
-1F37A;AL # BEER MUG
-1F37B;AL # CLINKING BEER MUGS
-1F37C;AL # BABY BOTTLE
-1F380;AL # RIBBON
-1F381;AL # WRAPPED PRESENT
-1F382;AL # BIRTHDAY CAKE
-1F383;AL # JACK-O-LANTERN
-1F384;AL # CHRISTMAS TREE
-1F385;AL # FATHER CHRISTMAS
-1F386;AL # FIREWORKS
-1F387;AL # FIREWORK SPARKLER
-1F388;AL # BALLOON
-1F389;AL # PARTY POPPER
-1F38A;AL # CONFETTI BALL
-1F38B;AL # TANABATA TREE
-1F38C;AL # CROSSED FLAGS
-1F38D;AL # PINE DECORATION
-1F38E;AL # JAPANESE DOLLS
-1F38F;AL # CARP STREAMER
-1F390;AL # WIND CHIME
-1F391;AL # MOON VIEWING CEREMONY
-1F392;AL # SCHOOL SATCHEL
-1F393;AL # GRADUATION CAP
-1F3A0;AL # CAROUSEL HORSE
-1F3A1;AL # FERRIS WHEEL
-1F3A2;AL # ROLLER COASTER
-1F3A3;AL # FISHING POLE AND FISH
-1F3A4;AL # MICROPHONE
-1F3A5;AL # MOVIE CAMERA
-1F3A6;AL # CINEMA
-1F3A7;AL # HEADPHONE
-1F3A8;AL # ARTIST PALETTE
-1F3A9;AL # TOP HAT
-1F3AA;AL # CIRCUS TENT
-1F3AB;AL # TICKET
-1F3AC;AL # CLAPPER BOARD
-1F3AD;AL # PERFORMING ARTS
-1F3AE;AL # VIDEO GAME
-1F3AF;AL # DIRECT HIT
-1F3B0;AL # SLOT MACHINE
-1F3B1;AL # BILLIARDS
-1F3B2;AL # GAME DIE
-1F3B3;AL # BOWLING
-1F3B4;AL # FLOWER PLAYING CARDS
+1F300;ID # CYCLONE
+1F301;ID # FOGGY
+1F302;ID # CLOSED UMBRELLA
+1F303;ID # NIGHT WITH STARS
+1F304;ID # SUNRISE OVER MOUNTAINS
+1F305;ID # SUNRISE
+1F306;ID # CITYSCAPE AT DUSK
+1F307;ID # SUNSET OVER BUILDINGS
+1F308;ID # RAINBOW
+1F309;ID # BRIDGE AT NIGHT
+1F30A;ID # WATER WAVE
+1F30B;ID # VOLCANO
+1F30C;ID # MILKY WAY
+1F30D;ID # EARTH GLOBE EUROPE-AFRICA
+1F30E;ID # EARTH GLOBE AMERICAS
+1F30F;ID # EARTH GLOBE ASIA-AUSTRALIA
+1F310;ID # GLOBE WITH MERIDIANS
+1F311;ID # NEW MOON SYMBOL
+1F312;ID # WAXING CRESCENT MOON SYMBOL
+1F313;ID # FIRST QUARTER MOON SYMBOL
+1F314;ID # WAXING GIBBOUS MOON SYMBOL
+1F315;ID # FULL MOON SYMBOL
+1F316;ID # WANING GIBBOUS MOON SYMBOL
+1F317;ID # LAST QUARTER MOON SYMBOL
+1F318;ID # WANING CRESCENT MOON SYMBOL
+1F319;ID # CRESCENT MOON
+1F31A;ID # NEW MOON WITH FACE
+1F31B;ID # FIRST QUARTER MOON WITH FACE
+1F31C;ID # LAST QUARTER MOON WITH FACE
+1F31D;ID # FULL MOON WITH FACE
+1F31E;ID # SUN WITH FACE
+1F31F;ID # GLOWING STAR
+1F320;ID # SHOOTING STAR
+1F330;ID # CHESTNUT
+1F331;ID # SEEDLING
+1F332;ID # EVERGREEN TREE
+1F333;ID # DECIDUOUS TREE
+1F334;ID # PALM TREE
+1F335;ID # CACTUS
+1F337;ID # TULIP
+1F338;ID # CHERRY BLOSSOM
+1F339;ID # ROSE
+1F33A;ID # HIBISCUS
+1F33B;ID # SUNFLOWER
+1F33C;ID # BLOSSOM
+1F33D;ID # EAR OF MAIZE
+1F33E;ID # EAR OF RICE
+1F33F;ID # HERB
+1F340;ID # FOUR LEAF CLOVER
+1F341;ID # MAPLE LEAF
+1F342;ID # FALLEN LEAF
+1F343;ID # LEAF FLUTTERING IN WIND
+1F344;ID # MUSHROOM
+1F345;ID # TOMATO
+1F346;ID # AUBERGINE
+1F347;ID # GRAPES
+1F348;ID # MELON
+1F349;ID # WATERMELON
+1F34A;ID # TANGERINE
+1F34B;ID # LEMON
+1F34C;ID # BANANA
+1F34D;ID # PINEAPPLE
+1F34E;ID # RED APPLE
+1F34F;ID # GREEN APPLE
+1F350;ID # PEAR
+1F351;ID # PEACH
+1F352;ID # CHERRIES
+1F353;ID # STRAWBERRY
+1F354;ID # HAMBURGER
+1F355;ID # SLICE OF PIZZA
+1F356;ID # MEAT ON BONE
+1F357;ID # POULTRY LEG
+1F358;ID # RICE CRACKER
+1F359;ID # RICE BALL
+1F35A;ID # COOKED RICE
+1F35B;ID # CURRY AND RICE
+1F35C;ID # STEAMING BOWL
+1F35D;ID # SPAGHETTI
+1F35E;ID # BREAD
+1F35F;ID # FRENCH FRIES
+1F360;ID # ROASTED SWEET POTATO
+1F361;ID # DANGO
+1F362;ID # ODEN
+1F363;ID # SUSHI
+1F364;ID # FRIED SHRIMP
+1F365;ID # FISH CAKE WITH SWIRL DESIGN
+1F366;ID # SOFT ICE CREAM
+1F367;ID # SHAVED ICE
+1F368;ID # ICE CREAM
+1F369;ID # DOUGHNUT
+1F36A;ID # COOKIE
+1F36B;ID # CHOCOLATE BAR
+1F36C;ID # CANDY
+1F36D;ID # LOLLIPOP
+1F36E;ID # CUSTARD
+1F36F;ID # HONEY POT
+1F370;ID # SHORTCAKE
+1F371;ID # BENTO BOX
+1F372;ID # POT OF FOOD
+1F373;ID # COOKING
+1F374;ID # FORK AND KNIFE
+1F375;ID # TEACUP WITHOUT HANDLE
+1F376;ID # SAKE BOTTLE AND CUP
+1F377;ID # WINE GLASS
+1F378;ID # COCKTAIL GLASS
+1F379;ID # TROPICAL DRINK
+1F37A;ID # BEER MUG
+1F37B;ID # CLINKING BEER MUGS
+1F37C;ID # BABY BOTTLE
+1F380;ID # RIBBON
+1F381;ID # WRAPPED PRESENT
+1F382;ID # BIRTHDAY CAKE
+1F383;ID # JACK-O-LANTERN
+1F384;ID # CHRISTMAS TREE
+1F385;ID # FATHER CHRISTMAS
+1F386;ID # FIREWORKS
+1F387;ID # FIREWORK SPARKLER
+1F388;ID # BALLOON
+1F389;ID # PARTY POPPER
+1F38A;ID # CONFETTI BALL
+1F38B;ID # TANABATA TREE
+1F38C;ID # CROSSED FLAGS
+1F38D;ID # PINE DECORATION
+1F38E;ID # JAPANESE DOLLS
+1F38F;ID # CARP STREAMER
+1F390;ID # WIND CHIME
+1F391;ID # MOON VIEWING CEREMONY
+1F392;ID # SCHOOL SATCHEL
+1F393;ID # GRADUATION CAP
+1F3A0;ID # CAROUSEL HORSE
+1F3A1;ID # FERRIS WHEEL
+1F3A2;ID # ROLLER COASTER
+1F3A3;ID # FISHING POLE AND FISH
+1F3A4;ID # MICROPHONE
+1F3A5;ID # MOVIE CAMERA
+1F3A6;ID # CINEMA
+1F3A7;ID # HEADPHONE
+1F3A8;ID # ARTIST PALETTE
+1F3A9;ID # TOP HAT
+1F3AA;ID # CIRCUS TENT
+1F3AB;ID # TICKET
+1F3AC;ID # CLAPPER BOARD
+1F3AD;ID # PERFORMING ARTS
+1F3AE;ID # VIDEO GAME
+1F3AF;ID # DIRECT HIT
+1F3B0;ID # SLOT MACHINE
+1F3B1;ID # BILLIARDS
+1F3B2;ID # GAME DIE
+1F3B3;ID # BOWLING
+1F3B4;ID # FLOWER PLAYING CARDS
 1F3B5;AL # MUSICAL NOTE
 1F3B6;AL # MULTIPLE MUSICAL NOTES
-1F3B7;AL # SAXOPHONE
-1F3B8;AL # GUITAR
-1F3B9;AL # MUSICAL KEYBOARD
-1F3BA;AL # TRUMPET
-1F3BB;AL # VIOLIN
+1F3B7;ID # SAXOPHONE
+1F3B8;ID # GUITAR
+1F3B9;ID # MUSICAL KEYBOARD
+1F3BA;ID # TRUMPET
+1F3BB;ID # VIOLIN
 1F3BC;AL # MUSICAL SCORE
-1F3BD;AL # RUNNING SHIRT WITH SASH
-1F3BE;AL # TENNIS RACQUET AND BALL
-1F3BF;AL # SKI AND SKI BOOT
-1F3C0;AL # BASKETBALL AND HOOP
-1F3C1;AL # CHEQUERED FLAG
-1F3C2;AL # SNOWBOARDER
-1F3C3;AL # RUNNER
-1F3C4;AL # SURFER
-1F3C6;AL # TROPHY
-1F3C7;AL # HORSE RACING
-1F3C8;AL # AMERICAN FOOTBALL
-1F3C9;AL # RUGBY FOOTBALL
-1F3CA;AL # SWIMMER
-1F3E0;AL # HOUSE BUILDING
-1F3E1;AL # HOUSE WITH GARDEN
-1F3E2;AL # OFFICE BUILDING
-1F3E3;AL # JAPANESE POST OFFICE
-1F3E4;AL # EUROPEAN POST OFFICE
-1F3E5;AL # HOSPITAL
-1F3E6;AL # BANK
-1F3E7;AL # AUTOMATED TELLER MACHINE
-1F3E8;AL # HOTEL
-1F3E9;AL # LOVE HOTEL
-1F3EA;AL # CONVENIENCE STORE
-1F3EB;AL # SCHOOL
-1F3EC;AL # DEPARTMENT STORE
-1F3ED;AL # FACTORY
-1F3EE;AL # IZAKAYA LANTERN
-1F3EF;AL # JAPANESE CASTLE
-1F3F0;AL # EUROPEAN CASTLE
-1F400;AL # RAT
-1F401;AL # MOUSE
-1F402;AL # OX
-1F403;AL # WATER BUFFALO
-1F404;AL # COW
-1F405;AL # TIGER
-1F406;AL # LEOPARD
-1F407;AL # RABBIT
-1F408;AL # CAT
-1F409;AL # DRAGON
-1F40A;AL # CROCODILE
-1F40B;AL # WHALE
-1F40C;AL # SNAIL
-1F40D;AL # SNAKE
-1F40E;AL # HORSE
-1F40F;AL # RAM
-1F410;AL # GOAT
-1F411;AL # SHEEP
-1F412;AL # MONKEY
-1F413;AL # ROOSTER
-1F414;AL # CHICKEN
-1F415;AL # DOG
-1F416;AL # PIG
-1F417;AL # BOAR
-1F418;AL # ELEPHANT
-1F419;AL # OCTOPUS
-1F41A;AL # SPIRAL SHELL
-1F41B;AL # BUG
-1F41C;AL # ANT
-1F41D;AL # HONEYBEE
-1F41E;AL # LADY BEETLE
-1F41F;AL # FISH
-1F420;AL # TROPICAL FISH
-1F421;AL # BLOWFISH
-1F422;AL # TURTLE
-1F423;AL # HATCHING CHICK
-1F424;AL # BABY CHICK
-1F425;AL # FRONT-FACING BABY CHICK
-1F426;AL # BIRD
-1F427;AL # PENGUIN
-1F428;AL # KOALA
-1F429;AL # POODLE
-1F42A;AL # DROMEDARY CAMEL
-1F42B;AL # BACTRIAN CAMEL
-1F42C;AL # DOLPHIN
-1F42D;AL # MOUSE FACE
-1F42E;AL # COW FACE
-1F42F;AL # TIGER FACE
-1F430;AL # RABBIT FACE
-1F431;AL # CAT FACE
-1F432;AL # DRAGON FACE
-1F433;AL # SPOUTING WHALE
-1F434;AL # HORSE FACE
-1F435;AL # MONKEY FACE
-1F436;AL # DOG FACE
-1F437;AL # PIG FACE
-1F438;AL # FROG FACE
-1F439;AL # HAMSTER FACE
-1F43A;AL # WOLF FACE
-1F43B;AL # BEAR FACE
-1F43C;AL # PANDA FACE
-1F43D;AL # PIG NOSE
-1F43E;AL # PAW PRINTS
-1F440;AL # EYES
-1F442;AL # EAR
-1F443;AL # NOSE
-1F444;AL # MOUTH
-1F445;AL # TONGUE
-1F446;AL # WHITE UP POINTING BACKHAND INDEX
-1F447;AL # WHITE DOWN POINTING BACKHAND INDEX
-1F448;AL # WHITE LEFT POINTING BACKHAND INDEX
-1F449;AL # WHITE RIGHT POINTING BACKHAND INDEX
-1F44A;AL # FISTED HAND SIGN
-1F44B;AL # WAVING HAND SIGN
-1F44C;AL # OK HAND SIGN
-1F44D;AL # THUMBS UP SIGN
-1F44E;AL # THUMBS DOWN SIGN
-1F44F;AL # CLAPPING HANDS SIGN
-1F450;AL # OPEN HANDS SIGN
-1F451;AL # CROWN
-1F452;AL # WOMANS HAT
-1F453;AL # EYEGLASSES
-1F454;AL # NECKTIE
-1F455;AL # T-SHIRT
-1F456;AL # JEANS
-1F457;AL # DRESS
-1F458;AL # KIMONO
-1F459;AL # BIKINI
-1F45A;AL # WOMANS CLOTHES
-1F45B;AL # PURSE
-1F45C;AL # HANDBAG
-1F45D;AL # POUCH
-1F45E;AL # MANS SHOE
-1F45F;AL # ATHLETIC SHOE
-1F460;AL # HIGH-HEELED SHOE
-1F461;AL # WOMANS SANDAL
-1F462;AL # WOMANS BOOTS
-1F463;AL # FOOTPRINTS
-1F464;AL # BUST IN SILHOUETTE
-1F465;AL # BUSTS IN SILHOUETTE
-1F466;AL # BOY
-1F467;AL # GIRL
-1F468;AL # MAN
-1F469;AL # WOMAN
-1F46A;AL # FAMILY
-1F46B;AL # MAN AND WOMAN HOLDING HANDS
-1F46C;AL # TWO MEN HOLDING HANDS
-1F46D;AL # TWO WOMEN HOLDING HANDS
-1F46E;AL # POLICE OFFICER
-1F46F;AL # WOMAN WITH BUNNY EARS
-1F470;AL # BRIDE WITH VEIL
-1F471;AL # PERSON WITH BLOND HAIR
-1F472;AL # MAN WITH GUA PI MAO
-1F473;AL # MAN WITH TURBAN
-1F474;AL # OLDER MAN
-1F475;AL # OLDER WOMAN
-1F476;AL # BABY
-1F477;AL # CONSTRUCTION WORKER
-1F478;AL # PRINCESS
-1F479;AL # JAPANESE OGRE
-1F47A;AL # JAPANESE GOBLIN
-1F47B;AL # GHOST
-1F47C;AL # BABY ANGEL
-1F47D;AL # EXTRATERRESTRIAL ALIEN
-1F47E;AL # ALIEN MONSTER
-1F47F;AL # IMP
-1F480;AL # SKULL
-1F481;AL # INFORMATION DESK PERSON
-1F482;AL # GUARDSMAN
-1F483;AL # DANCER
-1F484;AL # LIPSTICK
-1F485;AL # NAIL POLISH
-1F486;AL # FACE MASSAGE
-1F487;AL # HAIRCUT
-1F488;AL # BARBER POLE
-1F489;AL # SYRINGE
-1F48A;AL # PILL
-1F48B;AL # KISS MARK
-1F48C;AL # LOVE LETTER
-1F48D;AL # RING
-1F48E;AL # GEM STONE
-1F48F;AL # KISS
-1F490;AL # BOUQUET
-1F491;AL # COUPLE WITH HEART
-1F492;AL # WEDDING
-1F493;AL # BEATING HEART
-1F494;AL # BROKEN HEART
-1F495;AL # TWO HEARTS
-1F496;AL # SPARKLING HEART
-1F497;AL # GROWING HEART
-1F498;AL # HEART WITH ARROW
-1F499;AL # BLUE HEART
-1F49A;AL # GREEN HEART
-1F49B;AL # YELLOW HEART
-1F49C;AL # PURPLE HEART
-1F49D;AL # HEART WITH RIBBON
-1F49E;AL # REVOLVING HEARTS
-1F49F;AL # HEART DECORATION
+1F3BD;ID # RUNNING SHIRT WITH SASH
+1F3BE;ID # TENNIS RACQUET AND BALL
+1F3BF;ID # SKI AND SKI BOOT
+1F3C0;ID # BASKETBALL AND HOOP
+1F3C1;ID # CHEQUERED FLAG
+1F3C2;ID # SNOWBOARDER
+1F3C3;ID # RUNNER
+1F3C4;ID # SURFER
+1F3C6;ID # TROPHY
+1F3C7;ID # HORSE RACING
+1F3C8;ID # AMERICAN FOOTBALL
+1F3C9;ID # RUGBY FOOTBALL
+1F3CA;ID # SWIMMER
+1F3E0;ID # HOUSE BUILDING
+1F3E1;ID # HOUSE WITH GARDEN
+1F3E2;ID # OFFICE BUILDING
+1F3E3;ID # JAPANESE POST OFFICE
+1F3E4;ID # EUROPEAN POST OFFICE
+1F3E5;ID # HOSPITAL
+1F3E6;ID # BANK
+1F3E7;ID # AUTOMATED TELLER MACHINE
+1F3E8;ID # HOTEL
+1F3E9;ID # LOVE HOTEL
+1F3EA;ID # CONVENIENCE STORE
+1F3EB;ID # SCHOOL
+1F3EC;ID # DEPARTMENT STORE
+1F3ED;ID # FACTORY
+1F3EE;ID # IZAKAYA LANTERN
+1F3EF;ID # JAPANESE CASTLE
+1F3F0;ID # EUROPEAN CASTLE
+1F400;ID # RAT
+1F401;ID # MOUSE
+1F402;ID # OX
+1F403;ID # WATER BUFFALO
+1F404;ID # COW
+1F405;ID # TIGER
+1F406;ID # LEOPARD
+1F407;ID # RABBIT
+1F408;ID # CAT
+1F409;ID # DRAGON
+1F40A;ID # CROCODILE
+1F40B;ID # WHALE
+1F40C;ID # SNAIL
+1F40D;ID # SNAKE
+1F40E;ID # HORSE
+1F40F;ID # RAM
+1F410;ID # GOAT
+1F411;ID # SHEEP
+1F412;ID # MONKEY
+1F413;ID # ROOSTER
+1F414;ID # CHICKEN
+1F415;ID # DOG
+1F416;ID # PIG
+1F417;ID # BOAR
+1F418;ID # ELEPHANT
+1F419;ID # OCTOPUS
+1F41A;ID # SPIRAL SHELL
+1F41B;ID # BUG
+1F41C;ID # ANT
+1F41D;ID # HONEYBEE
+1F41E;ID # LADY BEETLE
+1F41F;ID # FISH
+1F420;ID # TROPICAL FISH
+1F421;ID # BLOWFISH
+1F422;ID # TURTLE
+1F423;ID # HATCHING CHICK
+1F424;ID # BABY CHICK
+1F425;ID # FRONT-FACING BABY CHICK
+1F426;ID # BIRD
+1F427;ID # PENGUIN
+1F428;ID # KOALA
+1F429;ID # POODLE
+1F42A;ID # DROMEDARY CAMEL
+1F42B;ID # BACTRIAN CAMEL
+1F42C;ID # DOLPHIN
+1F42D;ID # MOUSE FACE
+1F42E;ID # COW FACE
+1F42F;ID # TIGER FACE
+1F430;ID # RABBIT FACE
+1F431;ID # CAT FACE
+1F432;ID # DRAGON FACE
+1F433;ID # SPOUTING WHALE
+1F434;ID # HORSE FACE
+1F435;ID # MONKEY FACE
+1F436;ID # DOG FACE
+1F437;ID # PIG FACE
+1F438;ID # FROG FACE
+1F439;ID # HAMSTER FACE
+1F43A;ID # WOLF FACE
+1F43B;ID # BEAR FACE
+1F43C;ID # PANDA FACE
+1F43D;ID # PIG NOSE
+1F43E;ID # PAW PRINTS
+1F440;ID # EYES
+1F442;ID # EAR
+1F443;ID # NOSE
+1F444;ID # MOUTH
+1F445;ID # TONGUE
+1F446;ID # WHITE UP POINTING BACKHAND INDEX
+1F447;ID # WHITE DOWN POINTING BACKHAND INDEX
+1F448;ID # WHITE LEFT POINTING BACKHAND INDEX
+1F449;ID # WHITE RIGHT POINTING BACKHAND INDEX
+1F44A;ID # FISTED HAND SIGN
+1F44B;ID # WAVING HAND SIGN
+1F44C;ID # OK HAND SIGN
+1F44D;ID # THUMBS UP SIGN
+1F44E;ID # THUMBS DOWN SIGN
+1F44F;ID # CLAPPING HANDS SIGN
+1F450;ID # OPEN HANDS SIGN
+1F451;ID # CROWN
+1F452;ID # WOMANS HAT
+1F453;ID # EYEGLASSES
+1F454;ID # NECKTIE
+1F455;ID # T-SHIRT
+1F456;ID # JEANS
+1F457;ID # DRESS
+1F458;ID # KIMONO
+1F459;ID # BIKINI
+1F45A;ID # WOMANS CLOTHES
+1F45B;ID # PURSE
+1F45C;ID # HANDBAG
+1F45D;ID # POUCH
+1F45E;ID # MANS SHOE
+1F45F;ID # ATHLETIC SHOE
+1F460;ID # HIGH-HEELED SHOE
+1F461;ID # WOMANS SANDAL
+1F462;ID # WOMANS BOOTS
+1F463;ID # FOOTPRINTS
+1F464;ID # BUST IN SILHOUETTE
+1F465;ID # BUSTS IN SILHOUETTE
+1F466;ID # BOY
+1F467;ID # GIRL
+1F468;ID # MAN
+1F469;ID # WOMAN
+1F46A;ID # FAMILY
+1F46B;ID # MAN AND WOMAN HOLDING HANDS
+1F46C;ID # TWO MEN HOLDING HANDS
+1F46D;ID # TWO WOMEN HOLDING HANDS
+1F46E;ID # POLICE OFFICER
+1F46F;ID # WOMAN WITH BUNNY EARS
+1F470;ID # BRIDE WITH VEIL
+1F471;ID # PERSON WITH BLOND HAIR
+1F472;ID # MAN WITH GUA PI MAO
+1F473;ID # MAN WITH TURBAN
+1F474;ID # OLDER MAN
+1F475;ID # OLDER WOMAN
+1F476;ID # BABY
+1F477;ID # CONSTRUCTION WORKER
+1F478;ID # PRINCESS
+1F479;ID # JAPANESE OGRE
+1F47A;ID # JAPANESE GOBLIN
+1F47B;ID # GHOST
+1F47C;ID # BABY ANGEL
+1F47D;ID # EXTRATERRESTRIAL ALIEN
+1F47E;ID # ALIEN MONSTER
+1F47F;ID # IMP
+1F480;ID # SKULL
+1F481;ID # INFORMATION DESK PERSON
+1F482;ID # GUARDSMAN
+1F483;ID # DANCER
+1F484;ID # LIPSTICK
+1F485;ID # NAIL POLISH
+1F486;ID # FACE MASSAGE
+1F487;ID # HAIRCUT
+1F488;ID # BARBER POLE
+1F489;ID # SYRINGE
+1F48A;ID # PILL
+1F48B;ID # KISS MARK
+1F48C;ID # LOVE LETTER
+1F48D;ID # RING
+1F48E;ID # GEM STONE
+1F48F;ID # KISS
+1F490;ID # BOUQUET
+1F491;ID # COUPLE WITH HEART
+1F492;ID # WEDDING
+1F493;ID # BEATING HEART
+1F494;ID # BROKEN HEART
+1F495;ID # TWO HEARTS
+1F496;ID # SPARKLING HEART
+1F497;ID # GROWING HEART
+1F498;ID # HEART WITH ARROW
+1F499;ID # BLUE HEART
+1F49A;ID # GREEN HEART
+1F49B;ID # YELLOW HEART
+1F49C;ID # PURPLE HEART
+1F49D;ID # HEART WITH RIBBON
+1F49E;ID # REVOLVING HEARTS
+1F49F;ID # HEART DECORATION
 1F4A0;AL # DIAMOND SHAPE WITH A DOT INSIDE
-1F4A1;AL # ELECTRIC LIGHT BULB
+1F4A1;ID # ELECTRIC LIGHT BULB
 1F4A2;AL # ANGER SYMBOL
-1F4A3;AL # BOMB
+1F4A3;ID # BOMB
 1F4A4;AL # SLEEPING SYMBOL
-1F4A5;AL # COLLISION SYMBOL
-1F4A6;AL # SPLASHING SWEAT SYMBOL
-1F4A7;AL # DROPLET
-1F4A8;AL # DASH SYMBOL
-1F4A9;AL # PILE OF POO
-1F4AA;AL # FLEXED BICEPS
-1F4AB;AL # DIZZY SYMBOL
-1F4AC;AL # SPEECH BALLOON
-1F4AD;AL # THOUGHT BALLOON
-1F4AE;AL # WHITE FLOWER
+1F4A5;ID # COLLISION SYMBOL
+1F4A6;ID # SPLASHING SWEAT SYMBOL
+1F4A7;ID # DROPLET
+1F4A8;ID # DASH SYMBOL
+1F4A9;ID # PILE OF POO
+1F4AA;ID # FLEXED BICEPS
+1F4AB;ID # DIZZY SYMBOL
+1F4AC;ID # SPEECH BALLOON
+1F4AD;ID # THOUGHT BALLOON
+1F4AE;ID # WHITE FLOWER
 1F4AF;AL # HUNDRED POINTS SYMBOL
-1F4B0;AL # MONEY BAG
+1F4B0;ID # MONEY BAG
 1F4B1;AL # CURRENCY EXCHANGE
 1F4B2;AL # HEAVY DOLLAR SIGN
-1F4B3;AL # CREDIT CARD
-1F4B4;AL # BANKNOTE WITH YEN SIGN
-1F4B5;AL # BANKNOTE WITH DOLLAR SIGN
-1F4B6;AL # BANKNOTE WITH EURO SIGN
-1F4B7;AL # BANKNOTE WITH POUND SIGN
-1F4B8;AL # MONEY WITH WINGS
-1F4B9;AL # CHART WITH UPWARDS TREND AND YEN SIGN
-1F4BA;AL # SEAT
-1F4BB;AL # PERSONAL COMPUTER
-1F4BC;AL # BRIEFCASE
-1F4BD;AL # MINIDISC
-1F4BE;AL # FLOPPY DISK
-1F4BF;AL # OPTICAL DISC
-1F4C0;AL # DVD
-1F4C1;AL # FILE FOLDER
-1F4C2;AL # OPEN FILE FOLDER
-1F4C3;AL # PAGE WITH CURL
-1F4C4;AL # PAGE FACING UP
-1F4C5;AL # CALENDAR
-1F4C6;AL # TEAR-OFF CALENDAR
-1F4C7;AL # CARD INDEX
-1F4C8;AL # CHART WITH UPWARDS TREND
-1F4C9;AL # CHART WITH DOWNWARDS TREND
-1F4CA;AL # BAR CHART
-1F4CB;AL # CLIPBOARD
-1F4CC;AL # PUSHPIN
-1F4CD;AL # ROUND PUSHPIN
-1F4CE;AL # PAPERCLIP
-1F4CF;AL # STRAIGHT RULER
-1F4D0;AL # TRIANGULAR RULER
-1F4D1;AL # BOOKMARK TABS
-1F4D2;AL # LEDGER
-1F4D3;AL # NOTEBOOK
-1F4D4;AL # NOTEBOOK WITH DECORATIVE COVER
-1F4D5;AL # CLOSED BOOK
-1F4D6;AL # OPEN BOOK
-1F4D7;AL # GREEN BOOK
-1F4D8;AL # BLUE BOOK
-1F4D9;AL # ORANGE BOOK
-1F4DA;AL # BOOKS
-1F4DB;AL # NAME BADGE
-1F4DC;AL # SCROLL
-1F4DD;AL # MEMO
-1F4DE;AL # TELEPHONE RECEIVER
-1F4DF;AL # PAGER
-1F4E0;AL # FAX MACHINE
-1F4E1;AL # SATELLITE ANTENNA
-1F4E2;AL # PUBLIC ADDRESS LOUDSPEAKER
-1F4E3;AL # CHEERING MEGAPHONE
-1F4E4;AL # OUTBOX TRAY
-1F4E5;AL # INBOX TRAY
-1F4E6;AL # PACKAGE
-1F4E7;AL # E-MAIL SYMBOL
-1F4E8;AL # INCOMING ENVELOPE
-1F4E9;AL # ENVELOPE WITH DOWNWARDS ARROW ABOVE
-1F4EA;AL # CLOSED MAILBOX WITH LOWERED FLAG
-1F4EB;AL # CLOSED MAILBOX WITH RAISED FLAG
-1F4EC;AL # OPEN MAILBOX WITH RAISED FLAG
-1F4ED;AL # OPEN MAILBOX WITH LOWERED FLAG
-1F4EE;AL # POSTBOX
-1F4EF;AL # POSTAL HORN
-1F4F0;AL # NEWSPAPER
-1F4F1;AL # MOBILE PHONE
-1F4F2;AL # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
-1F4F3;AL # VIBRATION MODE
-1F4F4;AL # MOBILE PHONE OFF
-1F4F5;AL # NO MOBILE PHONES
-1F4F6;AL # ANTENNA WITH BARS
-1F4F7;AL # CAMERA
-1F4F9;AL # VIDEO CAMERA
-1F4FA;AL # TELEVISION
-1F4FB;AL # RADIO
-1F4FC;AL # VIDEOCASSETTE
+1F4B3;ID # CREDIT CARD
+1F4B4;ID # BANKNOTE WITH YEN SIGN
+1F4B5;ID # BANKNOTE WITH DOLLAR SIGN
+1F4B6;ID # BANKNOTE WITH EURO SIGN
+1F4B7;ID # BANKNOTE WITH POUND SIGN
+1F4B8;ID # MONEY WITH WINGS
+1F4B9;ID # CHART WITH UPWARDS TREND AND YEN SIGN
+1F4BA;ID # SEAT
+1F4BB;ID # PERSONAL COMPUTER
+1F4BC;ID # BRIEFCASE
+1F4BD;ID # MINIDISC
+1F4BE;ID # FLOPPY DISK
+1F4BF;ID # OPTICAL DISC
+1F4C0;ID # DVD
+1F4C1;ID # FILE FOLDER
+1F4C2;ID # OPEN FILE FOLDER
+1F4C3;ID # PAGE WITH CURL
+1F4C4;ID # PAGE FACING UP
+1F4C5;ID # CALENDAR
+1F4C6;ID # TEAR-OFF CALENDAR
+1F4C7;ID # CARD INDEX
+1F4C8;ID # CHART WITH UPWARDS TREND
+1F4C9;ID # CHART WITH DOWNWARDS TREND
+1F4CA;ID # BAR CHART
+1F4CB;ID # CLIPBOARD
+1F4CC;ID # PUSHPIN
+1F4CD;ID # ROUND PUSHPIN
+1F4CE;ID # PAPERCLIP
+1F4CF;ID # STRAIGHT RULER
+1F4D0;ID # TRIANGULAR RULER
+1F4D1;ID # BOOKMARK TABS
+1F4D2;ID # LEDGER
+1F4D3;ID # NOTEBOOK
+1F4D4;ID # NOTEBOOK WITH DECORATIVE COVER
+1F4D5;ID # CLOSED BOOK
+1F4D6;ID # OPEN BOOK
+1F4D7;ID # GREEN BOOK
+1F4D8;ID # BLUE BOOK
+1F4D9;ID # ORANGE BOOK
+1F4DA;ID # BOOKS
+1F4DB;ID # NAME BADGE
+1F4DC;ID # SCROLL
+1F4DD;ID # MEMO
+1F4DE;ID # TELEPHONE RECEIVER
+1F4DF;ID # PAGER
+1F4E0;ID # FAX MACHINE
+1F4E1;ID # SATELLITE ANTENNA
+1F4E2;ID # PUBLIC ADDRESS LOUDSPEAKER
+1F4E3;ID # CHEERING MEGAPHONE
+1F4E4;ID # OUTBOX TRAY
+1F4E5;ID # INBOX TRAY
+1F4E6;ID # PACKAGE
+1F4E7;ID # E-MAIL SYMBOL
+1F4E8;ID # INCOMING ENVELOPE
+1F4E9;ID # ENVELOPE WITH DOWNWARDS ARROW ABOVE
+1F4EA;ID # CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB;ID # CLOSED MAILBOX WITH RAISED FLAG
+1F4EC;ID # OPEN MAILBOX WITH RAISED FLAG
+1F4ED;ID # OPEN MAILBOX WITH LOWERED FLAG
+1F4EE;ID # POSTBOX
+1F4EF;ID # POSTAL HORN
+1F4F0;ID # NEWSPAPER
+1F4F1;ID # MOBILE PHONE
+1F4F2;ID # MOBILE PHONE WITH RIGHTWARDS ARROW AT LEFT
+1F4F3;ID # VIBRATION MODE
+1F4F4;ID # MOBILE PHONE OFF
+1F4F5;ID # NO MOBILE PHONES
+1F4F6;ID # ANTENNA WITH BARS
+1F4F7;ID # CAMERA
+1F4F9;ID # VIDEO CAMERA
+1F4FA;ID # TELEVISION
+1F4FB;ID # RADIO
+1F4FC;ID # VIDEOCASSETTE
 1F500;AL # TWISTED RIGHTWARDS ARROWS
 1F501;AL # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS
 1F502;AL # CLOCKWISE RIGHTWARDS AND LEFTWARDS OPEN CIRCLE ARROWS WITH CIRCLED ONE OVERLAY
@@ -23313,22 +24027,22 @@
 1F504;AL # ANTICLOCKWISE DOWNWARDS AND UPWARDS OPEN CIRCLE ARROWS
 1F505;AL # LOW BRIGHTNESS SYMBOL
 1F506;AL # HIGH BRIGHTNESS SYMBOL
-1F507;AL # SPEAKER WITH CANCELLATION STROKE
-1F508;AL # SPEAKER
-1F509;AL # SPEAKER WITH ONE SOUND WAVE
-1F50A;AL # SPEAKER WITH THREE SOUND WAVES
-1F50B;AL # BATTERY
-1F50C;AL # ELECTRIC PLUG
-1F50D;AL # LEFT-POINTING MAGNIFYING GLASS
-1F50E;AL # RIGHT-POINTING MAGNIFYING GLASS
-1F50F;AL # LOCK WITH INK PEN
-1F510;AL # CLOSED LOCK WITH KEY
-1F511;AL # KEY
-1F512;AL # LOCK
-1F513;AL # OPEN LOCK
-1F514;AL # BELL
-1F515;AL # BELL WITH CANCELLATION STROKE
-1F516;AL # BOOKMARK
+1F507;ID # SPEAKER WITH CANCELLATION STROKE
+1F508;ID # SPEAKER
+1F509;ID # SPEAKER WITH ONE SOUND WAVE
+1F50A;ID # SPEAKER WITH THREE SOUND WAVES
+1F50B;ID # BATTERY
+1F50C;ID # ELECTRIC PLUG
+1F50D;ID # LEFT-POINTING MAGNIFYING GLASS
+1F50E;ID # RIGHT-POINTING MAGNIFYING GLASS
+1F50F;ID # LOCK WITH INK PEN
+1F510;ID # CLOSED LOCK WITH KEY
+1F511;ID # KEY
+1F512;ID # LOCK
+1F513;ID # OPEN LOCK
+1F514;ID # BELL
+1F515;ID # BELL WITH CANCELLATION STROKE
+1F516;ID # BOOKMARK
 1F517;AL # LINK SYMBOL
 1F518;AL # RADIO BUTTON
 1F519;AL # BACK WITH LEFTWARDS ARROW ABOVE
@@ -23343,19 +24057,19 @@
 1F522;AL # INPUT SYMBOL FOR NUMBERS
 1F523;AL # INPUT SYMBOL FOR SYMBOLS
 1F524;AL # INPUT SYMBOL FOR LATIN LETTERS
-1F525;AL # FIRE
-1F526;AL # ELECTRIC TORCH
-1F527;AL # WRENCH
-1F528;AL # HAMMER
-1F529;AL # NUT AND BOLT
-1F52A;AL # HOCHO
-1F52B;AL # PISTOL
-1F52C;AL # MICROSCOPE
-1F52D;AL # TELESCOPE
-1F52E;AL # CRYSTAL BALL
-1F52F;AL # SIX POINTED STAR WITH MIDDLE DOT
-1F530;AL # JAPANESE SYMBOL FOR BEGINNER
-1F531;AL # TRIDENT EMBLEM
+1F525;ID # FIRE
+1F526;ID # ELECTRIC TORCH
+1F527;ID # WRENCH
+1F528;ID # HAMMER
+1F529;ID # NUT AND BOLT
+1F52A;ID # HOCHO
+1F52B;ID # PISTOL
+1F52C;ID # MICROSCOPE
+1F52D;ID # TELESCOPE
+1F52E;ID # CRYSTAL BALL
+1F52F;ID # SIX POINTED STAR WITH MIDDLE DOT
+1F530;ID # JAPANESE SYMBOL FOR BEGINNER
+1F531;ID # TRIDENT EMBLEM
 1F532;AL # BLACK SQUARE BUTTON
 1F533;AL # WHITE SQUARE BUTTON
 1F534;AL # LARGE RED CIRCLE
@@ -23368,168 +24082,185 @@
 1F53B;AL # DOWN-POINTING RED TRIANGLE
 1F53C;AL # UP-POINTING SMALL RED TRIANGLE
 1F53D;AL # DOWN-POINTING SMALL RED TRIANGLE
-1F550;AL # CLOCK FACE ONE OCLOCK
-1F551;AL # CLOCK FACE TWO OCLOCK
-1F552;AL # CLOCK FACE THREE OCLOCK
-1F553;AL # CLOCK FACE FOUR OCLOCK
-1F554;AL # CLOCK FACE FIVE OCLOCK
-1F555;AL # CLOCK FACE SIX OCLOCK
-1F556;AL # CLOCK FACE SEVEN OCLOCK
-1F557;AL # CLOCK FACE EIGHT OCLOCK
-1F558;AL # CLOCK FACE NINE OCLOCK
-1F559;AL # CLOCK FACE TEN OCLOCK
-1F55A;AL # CLOCK FACE ELEVEN OCLOCK
-1F55B;AL # CLOCK FACE TWELVE OCLOCK
-1F55C;AL # CLOCK FACE ONE-THIRTY
-1F55D;AL # CLOCK FACE TWO-THIRTY
-1F55E;AL # CLOCK FACE THREE-THIRTY
-1F55F;AL # CLOCK FACE FOUR-THIRTY
-1F560;AL # CLOCK FACE FIVE-THIRTY
-1F561;AL # CLOCK FACE SIX-THIRTY
-1F562;AL # CLOCK FACE SEVEN-THIRTY
-1F563;AL # CLOCK FACE EIGHT-THIRTY
-1F564;AL # CLOCK FACE NINE-THIRTY
-1F565;AL # CLOCK FACE TEN-THIRTY
-1F566;AL # CLOCK FACE ELEVEN-THIRTY
-1F567;AL # CLOCK FACE TWELVE-THIRTY
-1F5FB;AL # MOUNT FUJI
-1F5FC;AL # TOKYO TOWER
-1F5FD;AL # STATUE OF LIBERTY
-1F5FE;AL # SILHOUETTE OF JAPAN
-1F5FF;AL # MOYAI
-1F601;AL # GRINNING FACE WITH SMILING EYES
-1F602;AL # FACE WITH TEARS OF JOY
-1F603;AL # SMILING FACE WITH OPEN MOUTH
-1F604;AL # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
-1F605;AL # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
-1F606;AL # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
-1F607;AL # SMILING FACE WITH HALO
-1F608;AL # SMILING FACE WITH HORNS
-1F609;AL # WINKING FACE
-1F60A;AL # SMILING FACE WITH SMILING EYES
-1F60B;AL # FACE SAVOURING DELICIOUS FOOD
-1F60C;AL # RELIEVED FACE
-1F60D;AL # SMILING FACE WITH HEART-SHAPED EYES
-1F60E;AL # SMILING FACE WITH SUNGLASSES
-1F60F;AL # SMIRKING FACE
-1F610;AL # NEUTRAL FACE
-1F612;AL # UNAMUSED FACE
-1F613;AL # FACE WITH COLD SWEAT
-1F614;AL # PENSIVE FACE
-1F616;AL # CONFOUNDED FACE
-1F618;AL # FACE THROWING A KISS
-1F61A;AL # KISSING FACE WITH CLOSED EYES
-1F61C;AL # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
-1F61D;AL # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
-1F61E;AL # DISAPPOINTED FACE
-1F620;AL # ANGRY FACE
-1F621;AL # POUTING FACE
-1F622;AL # CRYING FACE
-1F623;AL # PERSEVERING FACE
-1F624;AL # FACE WITH LOOK OF TRIUMPH
-1F625;AL # DISAPPOINTED BUT RELIEVED FACE
-1F628;AL # FEARFUL FACE
-1F629;AL # WEARY FACE
-1F62A;AL # SLEEPY FACE
-1F62B;AL # TIRED FACE
-1F62D;AL # LOUDLY CRYING FACE
-1F630;AL # FACE WITH OPEN MOUTH AND COLD SWEAT
-1F631;AL # FACE SCREAMING IN FEAR
-1F632;AL # ASTONISHED FACE
-1F633;AL # FLUSHED FACE
-1F635;AL # DIZZY FACE
-1F636;AL # FACE WITHOUT MOUTH
-1F637;AL # FACE WITH MEDICAL MASK
-1F638;AL # GRINNING CAT FACE WITH SMILING EYES
-1F639;AL # CAT FACE WITH TEARS OF JOY
-1F63A;AL # SMILING CAT FACE WITH OPEN MOUTH
-1F63B;AL # SMILING CAT FACE WITH HEART-SHAPED EYES
-1F63C;AL # CAT FACE WITH WRY SMILE
-1F63D;AL # KISSING CAT FACE WITH CLOSED EYES
-1F63E;AL # POUTING CAT FACE
-1F63F;AL # CRYING CAT FACE
-1F640;AL # WEARY CAT FACE
-1F645;AL # FACE WITH NO GOOD GESTURE
-1F646;AL # FACE WITH OK GESTURE
-1F647;AL # PERSON BOWING DEEPLY
-1F648;AL # SEE-NO-EVIL MONKEY
-1F649;AL # HEAR-NO-EVIL MONKEY
-1F64A;AL # SPEAK-NO-EVIL MONKEY
-1F64B;AL # HAPPY PERSON RAISING ONE HAND
-1F64C;AL # PERSON RAISING BOTH HANDS IN CELEBRATION
-1F64D;AL # PERSON FROWNING
-1F64E;AL # PERSON WITH POUTING FACE
-1F64F;AL # PERSON WITH FOLDED HANDS
-1F680;AL # ROCKET
-1F681;AL # HELICOPTER
-1F682;AL # STEAM LOCOMOTIVE
-1F683;AL # RAILWAY CAR
-1F684;AL # HIGH-SPEED TRAIN
-1F685;AL # HIGH-SPEED TRAIN WITH BULLET NOSE
-1F686;AL # TRAIN
-1F687;AL # METRO
-1F688;AL # LIGHT RAIL
-1F689;AL # STATION
-1F68A;AL # TRAM
-1F68B;AL # TRAM CAR
-1F68C;AL # BUS
-1F68D;AL # ONCOMING BUS
-1F68E;AL # TROLLEYBUS
-1F68F;AL # BUS STOP
-1F690;AL # MINIBUS
-1F691;AL # AMBULANCE
-1F692;AL # FIRE ENGINE
-1F693;AL # POLICE CAR
-1F694;AL # ONCOMING POLICE CAR
-1F695;AL # TAXI
-1F696;AL # ONCOMING TAXI
-1F697;AL # AUTOMOBILE
-1F698;AL # ONCOMING AUTOMOBILE
-1F699;AL # RECREATIONAL VEHICLE
-1F69A;AL # DELIVERY TRUCK
-1F69B;AL # ARTICULATED LORRY
-1F69C;AL # TRACTOR
-1F69D;AL # MONORAIL
-1F69E;AL # MOUNTAIN RAILWAY
-1F69F;AL # SUSPENSION RAILWAY
-1F6A0;AL # MOUNTAIN CABLEWAY
-1F6A1;AL # AERIAL TRAMWAY
-1F6A2;AL # SHIP
-1F6A3;AL # ROWBOAT
-1F6A4;AL # SPEEDBOAT
-1F6A5;AL # HORIZONTAL TRAFFIC LIGHT
-1F6A6;AL # VERTICAL TRAFFIC LIGHT
-1F6A7;AL # CONSTRUCTION SIGN
-1F6A8;AL # POLICE CARS REVOLVING LIGHT
-1F6A9;AL # TRIANGULAR FLAG ON POST
-1F6AA;AL # DOOR
-1F6AB;AL # NO ENTRY SIGN
-1F6AC;AL # SMOKING SYMBOL
-1F6AD;AL # NO SMOKING SYMBOL
-1F6AE;AL # PUT LITTER IN ITS PLACE SYMBOL
-1F6AF;AL # DO NOT LITTER SYMBOL
-1F6B0;AL # POTABLE WATER SYMBOL
-1F6B1;AL # NON-POTABLE WATER SYMBOL
-1F6B2;AL # BICYCLE
-1F6B3;AL # NO BICYCLES
-1F6B4;AL # BICYCLIST
-1F6B5;AL # MOUNTAIN BICYCLIST
-1F6B6;AL # PEDESTRIAN
-1F6B7;AL # NO PEDESTRIANS
-1F6B8;AL # CHILDREN CROSSING
-1F6B9;AL # MENS SYMBOL
-1F6BA;AL # WOMENS SYMBOL
-1F6BB;AL # RESTROOM
-1F6BC;AL # BABY SYMBOL
-1F6BD;AL # TOILET
-1F6BE;AL # WATER CLOSET
-1F6BF;AL # SHOWER
-1F6C0;AL # BATH
-1F6C1;AL # BATHTUB
-1F6C2;AL # PASSPORT CONTROL
-1F6C3;AL # CUSTOMS
-1F6C4;AL # BAGGAGE CLAIM
-1F6C5;AL # LEFT LUGGAGE
+1F540;AL # CIRCLED CROSS POMMEE
+1F541;AL # CROSS POMMEE WITH HALF-CIRCLE BELOW
+1F542;AL # CROSS POMMEE
+1F543;AL # NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
+1F550;ID # CLOCK FACE ONE OCLOCK
+1F551;ID # CLOCK FACE TWO OCLOCK
+1F552;ID # CLOCK FACE THREE OCLOCK
+1F553;ID # CLOCK FACE FOUR OCLOCK
+1F554;ID # CLOCK FACE FIVE OCLOCK
+1F555;ID # CLOCK FACE SIX OCLOCK
+1F556;ID # CLOCK FACE SEVEN OCLOCK
+1F557;ID # CLOCK FACE EIGHT OCLOCK
+1F558;ID # CLOCK FACE NINE OCLOCK
+1F559;ID # CLOCK FACE TEN OCLOCK
+1F55A;ID # CLOCK FACE ELEVEN OCLOCK
+1F55B;ID # CLOCK FACE TWELVE OCLOCK
+1F55C;ID # CLOCK FACE ONE-THIRTY
+1F55D;ID # CLOCK FACE TWO-THIRTY
+1F55E;ID # CLOCK FACE THREE-THIRTY
+1F55F;ID # CLOCK FACE FOUR-THIRTY
+1F560;ID # CLOCK FACE FIVE-THIRTY
+1F561;ID # CLOCK FACE SIX-THIRTY
+1F562;ID # CLOCK FACE SEVEN-THIRTY
+1F563;ID # CLOCK FACE EIGHT-THIRTY
+1F564;ID # CLOCK FACE NINE-THIRTY
+1F565;ID # CLOCK FACE TEN-THIRTY
+1F566;ID # CLOCK FACE ELEVEN-THIRTY
+1F567;ID # CLOCK FACE TWELVE-THIRTY
+1F5FB;ID # MOUNT FUJI
+1F5FC;ID # TOKYO TOWER
+1F5FD;ID # STATUE OF LIBERTY
+1F5FE;ID # SILHOUETTE OF JAPAN
+1F5FF;ID # MOYAI
+1F600;ID # GRINNING FACE
+1F601;ID # GRINNING FACE WITH SMILING EYES
+1F602;ID # FACE WITH TEARS OF JOY
+1F603;ID # SMILING FACE WITH OPEN MOUTH
+1F604;ID # SMILING FACE WITH OPEN MOUTH AND SMILING EYES
+1F605;ID # SMILING FACE WITH OPEN MOUTH AND COLD SWEAT
+1F606;ID # SMILING FACE WITH OPEN MOUTH AND TIGHTLY-CLOSED EYES
+1F607;ID # SMILING FACE WITH HALO
+1F608;ID # SMILING FACE WITH HORNS
+1F609;ID # WINKING FACE
+1F60A;ID # SMILING FACE WITH SMILING EYES
+1F60B;ID # FACE SAVOURING DELICIOUS FOOD
+1F60C;ID # RELIEVED FACE
+1F60D;ID # SMILING FACE WITH HEART-SHAPED EYES
+1F60E;ID # SMILING FACE WITH SUNGLASSES
+1F60F;ID # SMIRKING FACE
+1F610;ID # NEUTRAL FACE
+1F611;ID # EXPRESSIONLESS FACE
+1F612;ID # UNAMUSED FACE
+1F613;ID # FACE WITH COLD SWEAT
+1F614;ID # PENSIVE FACE
+1F615;ID # CONFUSED FACE
+1F616;ID # CONFOUNDED FACE
+1F617;ID # KISSING FACE
+1F618;ID # FACE THROWING A KISS
+1F619;ID # KISSING FACE WITH SMILING EYES
+1F61A;ID # KISSING FACE WITH CLOSED EYES
+1F61B;ID # FACE WITH STUCK-OUT TONGUE
+1F61C;ID # FACE WITH STUCK-OUT TONGUE AND WINKING EYE
+1F61D;ID # FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
+1F61E;ID # DISAPPOINTED FACE
+1F61F;ID # WORRIED FACE
+1F620;ID # ANGRY FACE
+1F621;ID # POUTING FACE
+1F622;ID # CRYING FACE
+1F623;ID # PERSEVERING FACE
+1F624;ID # FACE WITH LOOK OF TRIUMPH
+1F625;ID # DISAPPOINTED BUT RELIEVED FACE
+1F626;ID # FROWNING FACE WITH OPEN MOUTH
+1F627;ID # ANGUISHED FACE
+1F628;ID # FEARFUL FACE
+1F629;ID # WEARY FACE
+1F62A;ID # SLEEPY FACE
+1F62B;ID # TIRED FACE
+1F62C;ID # GRIMACING FACE
+1F62D;ID # LOUDLY CRYING FACE
+1F62E;ID # FACE WITH OPEN MOUTH
+1F62F;ID # HUSHED FACE
+1F630;ID # FACE WITH OPEN MOUTH AND COLD SWEAT
+1F631;ID # FACE SCREAMING IN FEAR
+1F632;ID # ASTONISHED FACE
+1F633;ID # FLUSHED FACE
+1F634;ID # SLEEPING FACE
+1F635;ID # DIZZY FACE
+1F636;ID # FACE WITHOUT MOUTH
+1F637;ID # FACE WITH MEDICAL MASK
+1F638;ID # GRINNING CAT FACE WITH SMILING EYES
+1F639;ID # CAT FACE WITH TEARS OF JOY
+1F63A;ID # SMILING CAT FACE WITH OPEN MOUTH
+1F63B;ID # SMILING CAT FACE WITH HEART-SHAPED EYES
+1F63C;ID # CAT FACE WITH WRY SMILE
+1F63D;ID # KISSING CAT FACE WITH CLOSED EYES
+1F63E;ID # POUTING CAT FACE
+1F63F;ID # CRYING CAT FACE
+1F640;ID # WEARY CAT FACE
+1F645;ID # FACE WITH NO GOOD GESTURE
+1F646;ID # FACE WITH OK GESTURE
+1F647;ID # PERSON BOWING DEEPLY
+1F648;ID # SEE-NO-EVIL MONKEY
+1F649;ID # HEAR-NO-EVIL MONKEY
+1F64A;ID # SPEAK-NO-EVIL MONKEY
+1F64B;ID # HAPPY PERSON RAISING ONE HAND
+1F64C;ID # PERSON RAISING BOTH HANDS IN CELEBRATION
+1F64D;ID # PERSON FROWNING
+1F64E;ID # PERSON WITH POUTING FACE
+1F64F;ID # PERSON WITH FOLDED HANDS
+1F680;ID # ROCKET
+1F681;ID # HELICOPTER
+1F682;ID # STEAM LOCOMOTIVE
+1F683;ID # RAILWAY CAR
+1F684;ID # HIGH-SPEED TRAIN
+1F685;ID # HIGH-SPEED TRAIN WITH BULLET NOSE
+1F686;ID # TRAIN
+1F687;ID # METRO
+1F688;ID # LIGHT RAIL
+1F689;ID # STATION
+1F68A;ID # TRAM
+1F68B;ID # TRAM CAR
+1F68C;ID # BUS
+1F68D;ID # ONCOMING BUS
+1F68E;ID # TROLLEYBUS
+1F68F;ID # BUS STOP
+1F690;ID # MINIBUS
+1F691;ID # AMBULANCE
+1F692;ID # FIRE ENGINE
+1F693;ID # POLICE CAR
+1F694;ID # ONCOMING POLICE CAR
+1F695;ID # TAXI
+1F696;ID # ONCOMING TAXI
+1F697;ID # AUTOMOBILE
+1F698;ID # ONCOMING AUTOMOBILE
+1F699;ID # RECREATIONAL VEHICLE
+1F69A;ID # DELIVERY TRUCK
+1F69B;ID # ARTICULATED LORRY
+1F69C;ID # TRACTOR
+1F69D;ID # MONORAIL
+1F69E;ID # MOUNTAIN RAILWAY
+1F69F;ID # SUSPENSION RAILWAY
+1F6A0;ID # MOUNTAIN CABLEWAY
+1F6A1;ID # AERIAL TRAMWAY
+1F6A2;ID # SHIP
+1F6A3;ID # ROWBOAT
+1F6A4;ID # SPEEDBOAT
+1F6A5;ID # HORIZONTAL TRAFFIC LIGHT
+1F6A6;ID # VERTICAL TRAFFIC LIGHT
+1F6A7;ID # CONSTRUCTION SIGN
+1F6A8;ID # POLICE CARS REVOLVING LIGHT
+1F6A9;ID # TRIANGULAR FLAG ON POST
+1F6AA;ID # DOOR
+1F6AB;ID # NO ENTRY SIGN
+1F6AC;ID # SMOKING SYMBOL
+1F6AD;ID # NO SMOKING SYMBOL
+1F6AE;ID # PUT LITTER IN ITS PLACE SYMBOL
+1F6AF;ID # DO NOT LITTER SYMBOL
+1F6B0;ID # POTABLE WATER SYMBOL
+1F6B1;ID # NON-POTABLE WATER SYMBOL
+1F6B2;ID # BICYCLE
+1F6B3;ID # NO BICYCLES
+1F6B4;ID # BICYCLIST
+1F6B5;ID # MOUNTAIN BICYCLIST
+1F6B6;ID # PEDESTRIAN
+1F6B7;ID # NO PEDESTRIANS
+1F6B8;ID # CHILDREN CROSSING
+1F6B9;ID # MENS SYMBOL
+1F6BA;ID # WOMENS SYMBOL
+1F6BB;ID # RESTROOM
+1F6BC;ID # BABY SYMBOL
+1F6BD;ID # TOILET
+1F6BE;ID # WATER CLOSET
+1F6BF;ID # SHOWER
+1F6C0;ID # BATH
+1F6C1;ID # BATHTUB
+1F6C2;ID # PASSPORT CONTROL
+1F6C3;ID # CUSTOMS
+1F6C4;ID # BAGGAGE CLAIM
+1F6C5;ID # LEFT LUGGAGE
 1F700;AL # ALCHEMICAL SYMBOL FOR QUINTESSENCE
 1F701;AL # ALCHEMICAL SYMBOL FOR AIR
 1F702;AL # ALCHEMICAL SYMBOL FOR FIRE


Property changes on: vendor/perl/dist/lib/unicore/LineBreak.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/Makefile
===================================================================
--- vendor/perl/dist/lib/unicore/Makefile	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/Makefile	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,5 +2,5 @@
 	../../miniperl -I../../lib ./mktables -P ../../pod -maketest -makelist -p
 
 clean:
-	rm -fr *.pl To lib
+	rm -fr *.pl *.pm To lib
 	rm -f ../../pod/perluniprops.pod mktables.lst


Property changes on: vendor/perl/dist/lib/unicore/Makefile
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/NameAliases.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NameAliases.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/NameAliases.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
-# NameAliases-6.0.0.txt
-# Date: 2010-05-10, 11:58:00 PDT [KW]
+# NameAliases-6.2.0.txt
+# Date: 2012-05-15, 18:44:00 GMT [KW]
 #
 # This file is a normative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 2005-2010 Unicode, Inc.
+# Copyright (c) 2005-2012 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.
@@ -11,30 +11,499 @@
 #
 # For informative aliases see NamesList.txt
 #
+# The formal name aliases are divided into five types.
+#
+# 1. Corrections for serious problems in the character names
+# 2. ISO 6429 names for C0 and C1 control functions, and other
+#    commonly occurring names for control codes
+# 3. A few widely used alternate names for format characters
+# 4. Several documented labels for C1 control code points which
+#    were never actually approved in any standard
+# 5. Commonly occurring abbreviations (or acronyms) for control codes,
+#    format characters, spaces, and variation selectors
+#
+# The formal name aliases are part of the Unicode character namespace, which
+# 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 
+# labels which commonly appear in text and/or in implementations such as regex, for
+# control codes (which have no Unicode character name) or for format characters.
+#
 # For documentation, see NamesList.html and http://www.unicode.org/reports/tr44/
 #
 # FORMAT
 #
-# Each line has two fields
-# First field: Code point
+# Each line has three fields, as described here:
+#
+# First field:  Code point
 # Second field: Alias
+# Third field:  Type
 #
+# The Type labels used are: correction, control, alternate, figment, abbreviation
+#
+# Those Type labels can be mapped to other strings for display, if desired.
+#
 # In case multiple aliases are assigned, additional aliases
-# would be provided on separate lines
+# are provided on separate lines. Parsers of this data file should
+# take note that the same code point can (and does) occur more than once.
 #
 #-----------------------------------------------------------------
-01A2;LATIN CAPITAL LETTER GHA
-01A3;LATIN SMALL LETTER GHA
-0CDE;KANNADA LETTER LLLA
-0E9D;LAO LETTER FO FON
-0E9F;LAO LETTER FO FAY
-0EA3;LAO LETTER RO
-0EA5;LAO LETTER LO
-0FD0;TIBETAN MARK BKA- SHOG GI MGO RGYAN
-A015;YI SYLLABLE ITERATION MARK
-FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET
-1D0C5;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS
 
-# Total code points: 11
+0000;NULL;control
+0000;NUL;abbreviation
+0001;START OF HEADING;control
+0001;SOH;abbreviation
+0002;START OF TEXT;control
+0002;STX;abbreviation
+0003;END OF TEXT;control
+0003;ETX;abbreviation
+0004;END OF TRANSMISSION;control
+0004;EOT;abbreviation
+0005;ENQUIRY;control
+0005;ENQ;abbreviation
+0006;ACKNOWLEDGE;control
+0006;ACK;abbreviation
 
+# Note that no formal name alias for the ISO 6429 "BELL" is
+# provided for U+0007, because of the existing name collision
+# with U+1F514 BELL.
+
+0007;ALERT;control
+0007;BEL;abbreviation
+0008;BACKSPACE;control
+0008;BS;abbreviation
+0009;CHARACTER TABULATION;control
+0009;HORIZONTAL TABULATION;control
+0009;HT;abbreviation
+0009;TAB;abbreviation
+000A;LINE FEED;control
+000A;NEW LINE;control
+000A;END OF LINE;control
+000A;LF;abbreviation
+000A;NL;abbreviation
+000A;EOL;abbreviation
+000B;LINE TABULATION;control
+000B;VERTICAL TABULATION;control
+000B;VT;abbreviation
+000C;FORM FEED;control
+000C;FF;abbreviation
+000D;CARRIAGE RETURN;control
+000D;CR;abbreviation
+000E;SHIFT OUT;control
+000E;LOCKING-SHIFT ONE;control
+000E;SO;abbreviation
+000F;SHIFT IN;control
+000F;LOCKING-SHIFT ZERO;control
+000F;SI;abbreviation
+0010;DATA LINK ESCAPE;control
+0010;DLE;abbreviation
+0011;DEVICE CONTROL ONE;control
+0011;DC1;abbreviation
+0012;DEVICE CONTROL TWO;control
+0012;DC2;abbreviation
+0013;DEVICE CONTROL THREE;control
+0013;DC3;abbreviation
+0014;DEVICE CONTROL FOUR;control
+0014;DC4;abbreviation
+0015;NEGATIVE ACKNOWLEDGE;control
+0015;NAK;abbreviation
+0016;SYNCHRONOUS IDLE;control
+0016;SYN;abbreviation
+0017;END OF TRANSMISSION BLOCK;control
+0017;ETB;abbreviation
+0018;CANCEL;control
+0018;CAN;abbreviation
+0019;END OF MEDIUM;control
+0019;EOM;abbreviation
+001A;SUBSTITUTE;control
+001A;SUB;abbreviation
+001B;ESCAPE;control
+001B;ESC;abbreviation
+001C;INFORMATION SEPARATOR FOUR;control
+001C;FILE SEPARATOR;control
+001C;FS;abbreviation
+001D;INFORMATION SEPARATOR THREE;control
+001D;GROUP SEPARATOR;control
+001D;GS;abbreviation
+001E;INFORMATION SEPARATOR TWO;control
+001E;RECORD SEPARATOR;control
+001E;RS;abbreviation
+001F;INFORMATION SEPARATOR ONE;control
+001F;UNIT SEPARATOR;control
+001F;US;abbreviation
+0020;SP;abbreviation
+007F;DELETE;control
+007F;DEL;abbreviation
+0080;PADDING CHARACTER;figment
+0080;PAD;abbreviation
+0081;HIGH OCTET PRESET;figment
+0081;HOP;abbreviation
+0082;BREAK PERMITTED HERE;control
+0082;BPH;abbreviation
+0083;NO BREAK HERE;control
+0083;NBH;abbreviation
+0084;INDEX;control
+0084;IND;abbreviation
+0085;NEXT LINE;control
+0085;NEL;abbreviation
+0086;START OF SELECTED AREA;control
+0086;SSA;abbreviation
+0087;END OF SELECTED AREA;control
+0087;ESA;abbreviation
+0088;CHARACTER TABULATION SET;control
+0088;HORIZONTAL TABULATION SET;control
+0088;HTS;abbreviation
+0089;CHARACTER TABULATION WITH JUSTIFICATION;control
+0089;HORIZONTAL TABULATION WITH JUSTIFICATION;control
+0089;HTJ;abbreviation
+008A;LINE TABULATION SET;control
+008A;VERTICAL TABULATION SET;control
+008A;VTS;abbreviation
+008B;PARTIAL LINE FORWARD;control
+008B;PARTIAL LINE DOWN;control
+008B;PLD;abbreviation
+008C;PARTIAL LINE BACKWARD;control
+008C;PARTIAL LINE UP;control
+008C;PLU;abbreviation
+008D;REVERSE LINE FEED;control
+008D;REVERSE INDEX;control
+008D;RI;abbreviation
+008E;SINGLE SHIFT TWO;control
+008E;SINGLE-SHIFT-2;control
+008E;SS2;abbreviation
+008F;SINGLE SHIFT THREE;control
+008F;SINGLE-SHIFT-3;control
+008F;SS3;abbreviation
+0090;DEVICE CONTROL STRING;control
+0090;DCS;abbreviation
+0091;PRIVATE USE ONE;control
+0091;PRIVATE USE-1;control
+0091;PU1;abbreviation
+0092;PRIVATE USE TWO;control
+0092;PRIVATE USE-2;control
+0092;PU2;abbreviation
+0093;SET TRANSMIT STATE;control
+0093;STS;abbreviation
+0094;CANCEL CHARACTER;control
+0094;CCH;abbreviation
+0095;MESSAGE WAITING;control
+0095;MW;abbreviation
+0096;START OF GUARDED AREA;control
+0096;START OF PROTECTED AREA;control
+0096;SPA;abbreviation
+0097;END OF GUARDED AREA;control
+0097;END OF PROTECTED AREA;control
+0097;EPA;abbreviation
+0098;START OF STRING;control
+0098;SOS;abbreviation
+0099;SINGLE GRAPHIC CHARACTER INTRODUCER;figment
+0099;SGC;abbreviation
+009A;SINGLE CHARACTER INTRODUCER;control
+009A;SCI;abbreviation
+009B;CONTROL SEQUENCE INTRODUCER;control
+009B;CSI;abbreviation
+009C;STRING TERMINATOR;control
+009C;ST;abbreviation
+009D;OPERATING SYSTEM COMMAND;control
+009D;OSC;abbreviation
+009E;PRIVACY MESSAGE;control
+009E;PM;abbreviation
+009F;APPLICATION PROGRAM COMMAND;control
+009F;APC;abbreviation
+00A0;NBSP;abbreviation
+00AD;SHY;abbreviation
+01A2;LATIN CAPITAL LETTER GHA;correction
+01A3;LATIN SMALL LETTER GHA;correction
+034F;CGJ;abbreviation
+0709;SYRIAC SUBLINEAR COLON SKEWED LEFT;correction
+0CDE;KANNADA LETTER LLLA;correction
+0E9D;LAO LETTER FO FON;correction
+0E9F;LAO LETTER FO FAY;correction
+0EA3;LAO LETTER RO;correction
+0EA5;LAO LETTER LO;correction
+0FD0;TIBETAN MARK BKA- SHOG GI MGO RGYAN;correction
+180B;FVS1;abbreviation
+180C;FVS2;abbreviation
+180D;FVS3;abbreviation
+180E;MVS;abbreviation
+200B;ZWSP;abbreviation
+200C;ZWNJ;abbreviation
+200D;ZWJ;abbreviation
+200E;LRM;abbreviation
+200F;RLM;abbreviation
+202A;LRE;abbreviation
+202B;RLE;abbreviation
+202C;PDF;abbreviation
+202D;LRO;abbreviation
+202E;RLO;abbreviation
+202F;NNBSP;abbreviation
+205F;MMSP;abbreviation
+2060;WJ;abbreviation
+2118;WEIERSTRASS ELLIPTIC FUNCTION;correction
+2448;MICR ON US SYMBOL;correction
+2449;MICR DASH SYMBOL;correction
+A015;YI SYLLABLE ITERATION MARK;correction
+FE18;PRESENTATION FORM FOR VERTICAL RIGHT WHITE LENTICULAR BRACKET;correction
+FE00;VS1;abbreviation
+FE01;VS2;abbreviation
+FE02;VS3;abbreviation
+FE03;VS4;abbreviation
+FE04;VS5;abbreviation
+FE05;VS6;abbreviation
+FE06;VS7;abbreviation
+FE07;VS8;abbreviation
+FE08;VS9;abbreviation
+FE09;VS10;abbreviation
+FE0A;VS11;abbreviation
+FE0B;VS12;abbreviation
+FE0C;VS13;abbreviation
+FE0D;VS14;abbreviation
+FE0E;VS15;abbreviation
+FE0F;VS16;abbreviation
+FEFF;BYTE ORDER MARK;alternate
+FEFF;BOM;abbreviation
+FEFF;ZWNBSP;abbreviation
+1D0C5;BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA VASIS;correction
+E0100;VS17;abbreviation
+E0101;VS18;abbreviation
+E0102;VS19;abbreviation
+E0103;VS20;abbreviation
+E0104;VS21;abbreviation
+E0105;VS22;abbreviation
+E0106;VS23;abbreviation
+E0107;VS24;abbreviation
+E0108;VS25;abbreviation
+E0109;VS26;abbreviation
+E010A;VS27;abbreviation
+E010B;VS28;abbreviation
+E010C;VS29;abbreviation
+E010D;VS30;abbreviation
+E010E;VS31;abbreviation
+E010F;VS32;abbreviation
+E0110;VS33;abbreviation
+E0111;VS34;abbreviation
+E0112;VS35;abbreviation
+E0113;VS36;abbreviation
+E0114;VS37;abbreviation
+E0115;VS38;abbreviation
+E0116;VS39;abbreviation
+E0117;VS40;abbreviation
+E0118;VS41;abbreviation
+E0119;VS42;abbreviation
+E011A;VS43;abbreviation
+E011B;VS44;abbreviation
+E011C;VS45;abbreviation
+E011D;VS46;abbreviation
+E011E;VS47;abbreviation
+E011F;VS48;abbreviation
+E0120;VS49;abbreviation
+E0121;VS50;abbreviation
+E0122;VS51;abbreviation
+E0123;VS52;abbreviation
+E0124;VS53;abbreviation
+E0125;VS54;abbreviation
+E0126;VS55;abbreviation
+E0127;VS56;abbreviation
+E0128;VS57;abbreviation
+E0129;VS58;abbreviation
+E012A;VS59;abbreviation
+E012B;VS60;abbreviation
+E012C;VS61;abbreviation
+E012D;VS62;abbreviation
+E012E;VS63;abbreviation
+E012F;VS64;abbreviation
+E0130;VS65;abbreviation
+E0131;VS66;abbreviation
+E0132;VS67;abbreviation
+E0133;VS68;abbreviation
+E0134;VS69;abbreviation
+E0135;VS70;abbreviation
+E0136;VS71;abbreviation
+E0137;VS72;abbreviation
+E0138;VS73;abbreviation
+E0139;VS74;abbreviation
+E013A;VS75;abbreviation
+E013B;VS76;abbreviation
+E013C;VS77;abbreviation
+E013D;VS78;abbreviation
+E013E;VS79;abbreviation
+E013F;VS80;abbreviation
+E0140;VS81;abbreviation
+E0141;VS82;abbreviation
+E0142;VS83;abbreviation
+E0143;VS84;abbreviation
+E0144;VS85;abbreviation
+E0145;VS86;abbreviation
+E0146;VS87;abbreviation
+E0147;VS88;abbreviation
+E0148;VS89;abbreviation
+E0149;VS90;abbreviation
+E014A;VS91;abbreviation
+E014B;VS92;abbreviation
+E014C;VS93;abbreviation
+E014D;VS94;abbreviation
+E014E;VS95;abbreviation
+E014F;VS96;abbreviation
+E0150;VS97;abbreviation
+E0151;VS98;abbreviation
+E0152;VS99;abbreviation
+E0153;VS100;abbreviation
+E0154;VS101;abbreviation
+E0155;VS102;abbreviation
+E0156;VS103;abbreviation
+E0157;VS104;abbreviation
+E0158;VS105;abbreviation
+E0159;VS106;abbreviation
+E015A;VS107;abbreviation
+E015B;VS108;abbreviation
+E015C;VS109;abbreviation
+E015D;VS110;abbreviation
+E015E;VS111;abbreviation
+E015F;VS112;abbreviation
+E0160;VS113;abbreviation
+E0161;VS114;abbreviation
+E0162;VS115;abbreviation
+E0163;VS116;abbreviation
+E0164;VS117;abbreviation
+E0165;VS118;abbreviation
+E0166;VS119;abbreviation
+E0167;VS120;abbreviation
+E0168;VS121;abbreviation
+E0169;VS122;abbreviation
+E016A;VS123;abbreviation
+E016B;VS124;abbreviation
+E016C;VS125;abbreviation
+E016D;VS126;abbreviation
+E016E;VS127;abbreviation
+E016F;VS128;abbreviation
+E0170;VS129;abbreviation
+E0171;VS130;abbreviation
+E0172;VS131;abbreviation
+E0173;VS132;abbreviation
+E0174;VS133;abbreviation
+E0175;VS134;abbreviation
+E0176;VS135;abbreviation
+E0177;VS136;abbreviation
+E0178;VS137;abbreviation
+E0179;VS138;abbreviation
+E017A;VS139;abbreviation
+E017B;VS140;abbreviation
+E017C;VS141;abbreviation
+E017D;VS142;abbreviation
+E017E;VS143;abbreviation
+E017F;VS144;abbreviation
+E0180;VS145;abbreviation
+E0181;VS146;abbreviation
+E0182;VS147;abbreviation
+E0183;VS148;abbreviation
+E0184;VS149;abbreviation
+E0185;VS150;abbreviation
+E0186;VS151;abbreviation
+E0187;VS152;abbreviation
+E0188;VS153;abbreviation
+E0189;VS154;abbreviation
+E018A;VS155;abbreviation
+E018B;VS156;abbreviation
+E018C;VS157;abbreviation
+E018D;VS158;abbreviation
+E018E;VS159;abbreviation
+E018F;VS160;abbreviation
+E0190;VS161;abbreviation
+E0191;VS162;abbreviation
+E0192;VS163;abbreviation
+E0193;VS164;abbreviation
+E0194;VS165;abbreviation
+E0195;VS166;abbreviation
+E0196;VS167;abbreviation
+E0197;VS168;abbreviation
+E0198;VS169;abbreviation
+E0199;VS170;abbreviation
+E019A;VS171;abbreviation
+E019B;VS172;abbreviation
+E019C;VS173;abbreviation
+E019D;VS174;abbreviation
+E019E;VS175;abbreviation
+E019F;VS176;abbreviation
+E01A0;VS177;abbreviation
+E01A1;VS178;abbreviation
+E01A2;VS179;abbreviation
+E01A3;VS180;abbreviation
+E01A4;VS181;abbreviation
+E01A5;VS182;abbreviation
+E01A6;VS183;abbreviation
+E01A7;VS184;abbreviation
+E01A8;VS185;abbreviation
+E01A9;VS186;abbreviation
+E01AA;VS187;abbreviation
+E01AB;VS188;abbreviation
+E01AC;VS189;abbreviation
+E01AD;VS190;abbreviation
+E01AE;VS191;abbreviation
+E01AF;VS192;abbreviation
+E01B0;VS193;abbreviation
+E01B1;VS194;abbreviation
+E01B2;VS195;abbreviation
+E01B3;VS196;abbreviation
+E01B4;VS197;abbreviation
+E01B5;VS198;abbreviation
+E01B6;VS199;abbreviation
+E01B7;VS200;abbreviation
+E01B8;VS201;abbreviation
+E01B9;VS202;abbreviation
+E01BA;VS203;abbreviation
+E01BB;VS204;abbreviation
+E01BC;VS205;abbreviation
+E01BD;VS206;abbreviation
+E01BE;VS207;abbreviation
+E01BF;VS208;abbreviation
+E01C0;VS209;abbreviation
+E01C1;VS210;abbreviation
+E01C2;VS211;abbreviation
+E01C3;VS212;abbreviation
+E01C4;VS213;abbreviation
+E01C5;VS214;abbreviation
+E01C6;VS215;abbreviation
+E01C7;VS216;abbreviation
+E01C8;VS217;abbreviation
+E01C9;VS218;abbreviation
+E01CA;VS219;abbreviation
+E01CB;VS220;abbreviation
+E01CC;VS221;abbreviation
+E01CD;VS222;abbreviation
+E01CE;VS223;abbreviation
+E01CF;VS224;abbreviation
+E01D0;VS225;abbreviation
+E01D1;VS226;abbreviation
+E01D2;VS227;abbreviation
+E01D3;VS228;abbreviation
+E01D4;VS229;abbreviation
+E01D5;VS230;abbreviation
+E01D6;VS231;abbreviation
+E01D7;VS232;abbreviation
+E01D8;VS233;abbreviation
+E01D9;VS234;abbreviation
+E01DA;VS235;abbreviation
+E01DB;VS236;abbreviation
+E01DC;VS237;abbreviation
+E01DD;VS238;abbreviation
+E01DE;VS239;abbreviation
+E01DF;VS240;abbreviation
+E01E0;VS241;abbreviation
+E01E1;VS242;abbreviation
+E01E2;VS243;abbreviation
+E01E3;VS244;abbreviation
+E01E4;VS245;abbreviation
+E01E5;VS246;abbreviation
+E01E6;VS247;abbreviation
+E01E7;VS248;abbreviation
+E01E8;VS249;abbreviation
+E01E9;VS250;abbreviation
+E01EA;VS251;abbreviation
+E01EB;VS252;abbreviation
+E01EC;VS253;abbreviation
+E01ED;VS254;abbreviation
+E01EE;VS255;abbreviation
+E01EF;VS256;abbreviation
+
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/NameAliases.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/NamedSequences.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NamedSequences.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/NamedSequences.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# NamedSequences-6.0.0.txt
-# Date: 2010-05-18, 10:48:00 PDT [KW]
+# NamedSequences-6.2.0.txt
+# Date: 2012-05-15, 21:23:00 GMT [KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -112,8 +112,8 @@
 # Additions for Tamil. Provisional 2008-02-08, Approved 2009-08-14
 #
 # A visual display of the Tamil named sequences is available
-# in the documentation for Unicode 5.2. See:
-# http://www.unicode.org/versions/Unicode5.2.0/
+# in the documentation for the Unicode Standard. See Section 9.6, Tamil in
+# http://www.unicode.org/versions/latest/
 
 TAMIL CONSONANT K;  0B95 0BCD
 TAMIL CONSONANT NG; 0B99 0BCD
@@ -431,6 +431,13 @@
 
 TAMIL SYLLABLE SHRII; 0BB6 0BCD 0BB0 0BC0
 
+# Sinhala medial consonants and "reph" form
+# Provisional 2010-05-13, Approved 2011-08-05
+
+SINHALA CONSONANT SIGN YANSAYA;0DCA 200D 0DBA
+SINHALA CONSONANT SIGN RAKAARAANSAYA;0DCA 200D 0DBB
+SINHALA CONSONANT SIGN REPAYA;0DBB 0DCA 200D
+
 GEORGIAN LETTER U-BRJGU;10E3 0302
 KHMER CONSONANT SIGN COENG KA;17D2 1780
 KHMER CONSONANT SIGN COENG KHA;17D2 1781
@@ -493,3 +500,5 @@
 KATAKANA LETTER AINU P;31F7 309A
 MODIFIER LETTER EXTRA-HIGH EXTRA-LOW CONTOUR TONE BAR;02E5 02E9
 MODIFIER LETTER EXTRA-LOW EXTRA-HIGH CONTOUR TONE BAR;02E9 02E5
+
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/NamedSequences.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/NamedSqProv.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NamedSqProv.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/NamedSqProv.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# NamedSequencesProv-6.0.0.txt
-# Date: 2010-05-18, 10:49:00 PDT [KW]
+# NamedSequencesProv-6.2.0.txt
+# Date: 2012-05-15, 21:29:00 GMT [KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -34,13 +34,8 @@
 
 # Provisional entries for NamedSequences.txt.
 
-# Sinhala medial consonants and "reph" form
-# Added to provisional named sequences, 2010-05-13
+# There are currently no provisional named sequences.
 
-SINHALA CONSONANT SIGN YANSAYA;0DCA 200D 0DBA
-SINHALA CONSONANT SIGN RAKAARAANSAYA;0DCA 200D 0DBB
-SINHALA CONSONANT SIGN REPAYA;0DBB 0DCA 200D
-
 # ================================================
 
 # Entries from Unicode 4.1.0 version of NamedSequences.txt,
@@ -59,3 +54,4 @@
 # the sequence, based on the Lithuanian additions accepted
 # for Unicode 5.0.
 
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/NamedSqProv.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/NamesList.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NamesList.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/NamesList.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,10 @@
-@@@	The Unicode Standard 6.0
-@@@+	U60M100817.lst
-	Final Unicode 6.0 names list.
+; charset=UTF-8
+@@@	The Unicode Standard 6.2
+@@@+	U62M120808.lst
+	Unicode 6.2 names list, third delta (converted to UTF-8).
+	Updated more annotations in the Bengali block.
+	Added clarifying annotations for 0342.
+	Updated alias for 1110E.
 	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
@@ -7,7 +11,7 @@
 	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.
- at +		Copyright (c) 1991-2010 Unicode, Inc.
+ at +		Copyright (c) 1991-2012 Unicode, Inc.
 	For terms of use, see http://www.unicode.org/terms_of_use.html
 @@	0000	C0 Controls and Basic Latin (Basic Latin)	007F
 @@+
@@ -117,11 +121,15 @@
 	= pound sign, hash, crosshatch, octothorpe
 	x (l b bar symbol - 2114)
 	x (music sharp sign - 266F)
+	~ 0023 FE0E text style
+	~ 0023 FE0F emoji style
 0024	DOLLAR SIGN
-	= milreis, escudo
+	= milréis, escudo
+	* used for many peso currencies in Latin America and elsewhere
 	* glyph may have one or two vertical bars
-	* other currency symbol characters: 20A0-20B8
+	* other currency symbol characters: 20A0-20BA
 	x (currency sign - 00A4)
+	x (peso sign - 20B1)
 	x (heavy dollar sign - 1F4B2)
 0025	PERCENT SIGN
 	x (arabic percent sign - 066A)
@@ -184,15 +192,35 @@
 	x (division slash - 2215)
 @		ASCII digits
 0030	DIGIT ZERO
+	~ 0030 FE0E text style
+	~ 0030 FE0F emoji style
 0031	DIGIT ONE
+	~ 0031 FE0E text style
+	~ 0031 FE0F emoji style
 0032	DIGIT TWO
+	~ 0032 FE0E text style
+	~ 0032 FE0F emoji style
 0033	DIGIT THREE
+	~ 0033 FE0E text style
+	~ 0033 FE0F emoji style
 0034	DIGIT FOUR
+	~ 0034 FE0E text style
+	~ 0034 FE0F emoji style
 0035	DIGIT FIVE
+	~ 0035 FE0E text style
+	~ 0035 FE0F emoji style
 0036	DIGIT SIX
+	~ 0036 FE0E text style
+	~ 0036 FE0F emoji style
 0037	DIGIT SEVEN
+	~ 0037 FE0E text style
+	~ 0037 FE0F emoji style
 0038	DIGIT EIGHT
+	~ 0038 FE0E text style
+	~ 0038 FE0F emoji style
 0039	DIGIT NINE
+	~ 0039 FE0E text style
+	~ 0039 FE0F emoji style
 @		ASCII punctuation and symbols
 003A	COLON
 	x (armenian full stop - 0589)
@@ -381,6 +409,7 @@
 @		Control character
 007F	<control>
 	= DELETE
+@~	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.
@@ -464,9 +493,10 @@
 00A3	POUND SIGN
 	= pound sterling, Irish punt, Italian lira, Turkish lira, etc.
 	x (lira sign - 20A4)
+	x (turkish lira sign - 20BA)
 	x (roman semuncia sign - 10192)
 00A4	CURRENCY SIGN
-	* other currency symbol characters: 20A0-20B5
+	* other currency symbol characters: 20A0-20BA
 	x (dollar sign - 0024)
 00A5	YEN SIGN
 	= yuan sign
@@ -551,6 +581,7 @@
 	x (bullet operator - 2219)
 	x (dot operator - 22C5)
 	x (word separator middle dot - 2E31)
+	x (raised dot - 2E33)
 	x (katakana middle dot - 30FB)
 00B8	CEDILLA
 	* this is a spacing character
@@ -657,7 +688,7 @@
 	= Eszett
 	* German
 	* uppercase is "SS"
-	* in origin a ligature of 017F and 0073
+	* typographically the glyph for this character can be based on a ligature of 017F with either 0073 or with an old-style glyph for 007A (the latter similar in appearance to 0292). Both forms exist interchangeably today.
 	x (greek small letter beta - 03B2)
 	x (latin capital letter sharp s - 1E9E)
 00E0	LATIN SMALL LETTER A WITH GRAVE
@@ -676,7 +707,7 @@
 	: 0061 030A
 00E6	LATIN SMALL LETTER AE
 	= latin small ligature ae (1.0)
-	= ash (from Old English \xE6sc)
+	= ash (from Old English æsc)
 	* Danish, Norwegian, Icelandic, Faroese, Old English, French, IPA
 	x (latin small ligature oe - 0153)
 	x (cyrillic small ligature a ie - 04D5)
@@ -848,6 +879,7 @@
 	* there are three major glyph variants
 	: 0067 0327
 0124	LATIN CAPITAL LETTER H WITH CIRCUMFLEX
+	* lowercase in Nawdm is 0266
 	: 0048 0302
 0125	LATIN SMALL LETTER H WITH CIRCUMFLEX
 	* Esperanto
@@ -979,7 +1011,7 @@
 	: 006F 030B
 0152	LATIN CAPITAL LIGATURE OE
 0153	LATIN SMALL LIGATURE OE
-	= ethel (from Old English e\xF0el)
+	= ethel (from Old English eðel)
 	* French, IPA, Old Icelandic, Old English, ...
 	x (latin small letter ae - 00E6)
 	x (latin letter small capital oe - 0276)
@@ -1747,10 +1779,12 @@
 	* uppercase is A78D
 0266	LATIN SMALL LETTER H WITH HOOK
 	* breathy-voiced glottal fricative
+	* uppercase is A7AA
+	* uppercase in Nawdm is 0124
 	x (modifier letter small h with hook - 02B1)
 0267	LATIN SMALL LETTER HENG WITH HOOK
 	* voiceless coarticulated velar and palatoalveolar fricative
-	* "tj" or "kj" or "sj" in some Swedish dialects
+	* "sj" in some Swedish dialects
 0268	LATIN SMALL LETTER I WITH STROKE
 	= barred i, i bar
 	* high central unrounded vowel
@@ -2017,11 +2051,13 @@
 02B9	MODIFIER LETTER PRIME
 	* primary stress, emphasis
 	* transliteration of mjagkij znak (Cyrillic soft sign: palatalization)
+	* transliteration of Hebrew geresh
 	x (apostrophe - 0027)
 	x (acute accent - 00B4)
 	x (modifier letter acute accent - 02CA)
 	x (combining acute accent - 0301)
 	x (greek numeral sign - 0374)
+	x (hebrew punctuation geresh - 05F3)
 	x (prime - 2032)
 02BA	MODIFIER LETTER DOUBLE PRIME
 	* exaggerated stress, contrastive stress
@@ -2056,11 +2092,15 @@
 	x (single high-reversed-9 quotation mark - 201B)
 02BE	MODIFIER LETTER RIGHT HALF RING
 	* transliteration of Arabic hamza (glottal stop)
+	* transliteration of Hebrew alef
 	x (armenian apostrophe - 055A)
+	x (hebrew letter alef - 05D0)
 	x (arabic letter hamza - 0621)
 02BF	MODIFIER LETTER LEFT HALF RING
 	* transliteration of Arabic ain (voiced pharyngeal fricative)
+	* transliteration of Hebrew ayin
 	x (armenian modifier letter left half ring - 0559)
+	x (hebrew letter ayin - 05E2)
 	x (arabic letter ain - 0639)
 02C0	MODIFIER LETTER GLOTTAL STOP
 	* ejective or glottalized
@@ -2438,6 +2478,10 @@
 	: 0301 combining acute accent
 @		Additions for Greek
 0342	COMBINING GREEK PERISPOMENI
+	* Greek-specific form of circumflex for rising-falling accent
+	* alternative glyph is similar to an inverted breve
+	x (combining tilde - 0303)
+	x (combining inverted breve - 0311)
 0343	COMBINING GREEK KORONIS
 	: 0313 combining comma above
 0344	COMBINING GREEK DIALYTIKA TONOS
@@ -3405,6 +3449,8 @@
 	x (colon - 003A)
 058A	ARMENIAN HYPHEN
 	= yentamna
+@		Currency symbol
+058F	ARMENIAN DRAM SIGN
 @@	0590	Hebrew	05FF
 @		Cantillation marks
 0591	HEBREW ACCENT ETNAHTA
@@ -3550,6 +3596,8 @@
 0601	ARABIC SIGN SANAH
 0602	ARABIC FOOTNOTE MARKER
 0603	ARABIC SIGN SAFHA
+0604	ARABIC SIGN SAMVAT
+	* used for writing Samvat era dates in Urdu
 @		Radix symbols
 0606	ARABIC-INDIC CUBE ROOT
 	x (cube root - 221B)
@@ -3568,6 +3616,7 @@
 060C	ARABIC COMMA
 	* also used with Thaana and Syriac in modern text
 	x (comma - 002C)
+	x (turned comma - 2E32)
 060D	ARABIC DATE SEPARATOR
 @		Poetic marks
 060E	ARABIC POETIC VERSE SIGN
@@ -3602,6 +3651,7 @@
 061B	ARABIC SEMICOLON
 	* also used with Thaana and Syriac in modern text
 	x (semicolon - 003B)
+	x (turned semicolon - 2E35)
 061E	ARABIC TRIPLE DOT PUNCTUATION MARK
 061F	ARABIC QUESTION MARK
 	* also used with Thaana and Syriac in modern text
@@ -3610,6 +3660,7 @@
 @		Addition for Kashmiri
 0620	ARABIC LETTER KASHMIRI YEH
 @		Based on ISO 8859-6
+ at +		Arabic letter names follow romanization conventions derived from ISO 8859-6. These differ from the Literary Arabic pronunciation of the letter names. For example, U+0628 ARABIC LETTER BEH has a Literary Arabic pronunciation of ba'.
 0621	ARABIC LETTER HAMZA
 	x (modifier letter right half ring - 02BE)
 0622	ARABIC LETTER ALEF WITH MADDA ABOVE
@@ -3666,7 +3717,11 @@
 0648	ARABIC LETTER WAW
 0649	ARABIC LETTER ALEF MAKSURA
 	* represents YEH-shaped letter with no dots in any positional form
+	* not intended for use in combination with 0654
+	x (arabic letter yeh with hamza above - 0626)
 064A	ARABIC LETTER YEH
+	* loses its dots when used in combination with 0654
+	* retains its dots when used in combination with other combining marks
 @		Points from ISO 8859-6
 064B	ARABIC FATHATAN
 064C	ARABIC DAMMATAN
@@ -3683,6 +3738,8 @@
 @		Combining maddah and hamza
 0653	ARABIC MADDAH ABOVE
 0654	ARABIC HAMZA ABOVE
+	* not restricted to hamza semantics
+	* may also occur as a diacritic forming new letters
 0655	ARABIC HAMZA BELOW
 @		Other combining marks
 0656	ARABIC SUBSCRIPT ALEF
@@ -3739,8 +3796,12 @@
 	* Koranic Arabic
 0672	ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE
 	* Baluchi, Kashmiri
+@		Deprecated letter
 0673	ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
 	* Kashmiri
+	* this character is deprecated and its use is strongly discouraged
+	* use the sequence 0627 065F instead
+@		Extended Arabic letters
 0674	ARABIC LETTER HIGH HAMZA
 	* Kazakh
 	* forms digraphs
@@ -4037,6 +4098,7 @@
 0708	SYRIAC SUPRALINEAR COLON SKEWED LEFT
 	* marks a minor phrase division
 0709	SYRIAC SUBLINEAR COLON SKEWED RIGHT
+	% SYRIAC SUBLINEAR COLON SKEWED LEFT
 	* marks the end of a real or rhetorical question
 070A	SYRIAC CONTRACTION
 	* a contraction mark, mostly used in East Syriac
@@ -4461,6 +4523,60 @@
 085B	MANDAIC GEMINATION MARK
 @		Punctuation
 085E	MANDAIC PUNCTUATION
+@@	08A0	Arabic Extended-A	08FF
+@		Extended Arabic letters for African languages
+08A0	ARABIC LETTER BEH WITH SMALL V BELOW
+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
+08A5	ARABIC LETTER QAF WITH DOT BELOW
+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
+08A9	ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
+@		Dependent consonants for Rohingya
+08AA	ARABIC LETTER REH WITH LOOP
+	= bottya-reh
+08AB	ARABIC LETTER WAW WITH DOT WITHIN
+	= nota-wa
+08AC	ARABIC LETTER ROHINGYA YEH
+	= bottya-yeh
+@		Extended vowel signs for Rohingya
+08E4	ARABIC CURLY FATHA
+08E5	ARABIC CURLY DAMMA
+08E6	ARABIC CURLY KASRA
+08E7	ARABIC CURLY FATHATAN
+08E8	ARABIC CURLY DAMMATAN
+08E9	ARABIC CURLY KASRATAN
+@		Tone marks for Rohingya
+08EA	ARABIC TONE ONE DOT ABOVE
+08EB	ARABIC TONE TWO DOTS ABOVE
+08EC	ARABIC TONE LOOP ABOVE
+08ED	ARABIC TONE ONE DOT BELOW
+08EE	ARABIC TONE TWO DOTS BELOW
+08EF	ARABIC TONE LOOP BELOW
+@		Koranic annotation signs
+08F0	ARABIC OPEN FATHATAN
+	= successive fathatan
+08F1	ARABIC OPEN DAMMATAN
+	= successive dammatan
+08F2	ARABIC OPEN KASRATAN
+	= successive kasratan
+08F3	ARABIC SMALL HIGH WAW
+@		Extended vowel signs for African languages
+08F4	ARABIC FATHA WITH RING
+08F5	ARABIC FATHA WITH DOT ABOVE
+08F6	ARABIC KASRA WITH DOT BELOW
+	* also used in Philippine languages
+08F7	ARABIC LEFT ARROWHEAD ABOVE
+08F8	ARABIC RIGHT ARROWHEAD ABOVE
+08F9	ARABIC LEFT ARROWHEAD BELOW
+08FA	ARABIC RIGHT ARROWHEAD BELOW
+08FB	ARABIC DOUBLE RIGHT ARROWHEAD ABOVE
+08FC	ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT
+08FD	ARABIC RIGHT ARROWHEAD ABOVE WITH DOT
+@		Extended vowel sign for Philippine languages
+08FE	ARABIC DAMMA WITH DOT
 @@	0900	Devanagari	097F
 @@+
 @		Various signs
@@ -4591,6 +4707,7 @@
 	x (combining grave accent - 0300)
 0954	DEVANAGARI ACUTE ACCENT
 	x (combining acute accent - 0301)
+@		Dependent vowel sign
 0955	DEVANAGARI VOWEL SIGN CANDRA LONG E
 	* used in transliteration of Avestan
 @		Dependent vowel signs for Kashmiri
@@ -4775,14 +4892,18 @@
 09ED	BENGALI DIGIT SEVEN
 09EE	BENGALI DIGIT EIGHT
 09EF	BENGALI DIGIT NINE
-@		Bengali-specific additions
+@		Additions for Assamese
 09F0	BENGALI LETTER RA WITH MIDDLE DIAGONAL
-	* Assamese
 09F1	BENGALI LETTER RA WITH LOWER DIAGONAL
 	= bengali letter va with lower diagonal (1.0)
-	* Assamese
+@		Currency signs
 09F2	BENGALI RUPEE MARK
+	= taka
+	* historic currency sign
 09F3	BENGALI RUPEE SIGN
+	= Bangladeshi taka
+@		Historic symbols for fractional values
+ at +		The use of these signs is not limited to currency, despite the character names.
 09F4	BENGALI CURRENCY NUMERATOR ONE
 	* not in current usage
 09F5	BENGALI CURRENCY NUMERATOR TWO
@@ -4792,7 +4913,13 @@
 09F7	BENGALI CURRENCY NUMERATOR FOUR
 09F8	BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR
 09F9	BENGALI CURRENCY DENOMINATOR SIXTEEN
+@		Sign
 09FA	BENGALI ISSHAR
+	= ishvar
+	* represents the name of a deity
+	= svargiya
+	* written before the name of a deceased person
+@		Historic currency sign
 09FB	BENGALI GANDA MARK
 @@	0A00	Gurmukhi	0A7F
 @		Various signs
@@ -5015,8 +5142,11 @@
 0AED	GUJARATI DIGIT SEVEN
 0AEE	GUJARATI DIGIT EIGHT
 0AEF	GUJARATI DIGIT NINE
+@		Abbreviation sign
+0AF0	GUJARATI ABBREVIATION SIGN
 @		Currency sign
 0AF1	GUJARATI RUPEE SIGN
+	* preferred spelling is 0AB0 0AC2 0AF0
 @@	0B00	Oriya	0B7F
 @		Various signs
 0B01	ORIYA SIGN CANDRABINDU
@@ -5133,8 +5263,9 @@
 0B6D	ORIYA DIGIT SEVEN
 0B6E	ORIYA DIGIT EIGHT
 0B6F	ORIYA DIGIT NINE
-@		Oriya-specific additions
+@		Sign
 0B70	ORIYA ISSHAR
+@		Additional consonant
 0B71	ORIYA LETTER WA
 	x (oriya letter o - 0B13)
 	x (oriya letter va - 0B35)
@@ -5147,10 +5278,12 @@
 0B77	ORIYA FRACTION THREE SIXTEENTHS
 @@	0B80	Tamil	0BFF
 @		Various signs
+ at +		The anusvara should not be confused with the use of a circular glyph for the pulli.
 0B82	TAMIL SIGN ANUSVARA
 	* not used in Tamil
 0B83	TAMIL SIGN VISARGA
 	= aytham
+	* in fonts which display the Tamil pulli as a ring shape, the glyph for aytham also uses rings
 @		Independent vowels
 0B85	TAMIL LETTER A
 0B86	TAMIL LETTER AA
@@ -5210,7 +5343,9 @@
 0BCC	TAMIL VOWEL SIGN AU
 	: 0BC6 0BD7
 @		Virama
+ at +		The Tamil pulli usually displays as a dot above, but in some fonts displays as a ring above. Do not use 0B82 to represent a ring-shaped pulli.
 0BCD	TAMIL SIGN VIRAMA
+	= pulli
 @		Various signs
 0BD0	TAMIL OM
 0BD7	TAMIL AU LENGTH MARK
@@ -5483,12 +5618,9 @@
 0CEF	KANNADA DIGIT NINE
 @		Signs used in Sanskrit
 0CF1	KANNADA SIGN JIHVAMULIYA
-	* marks a velar fricative occurring only before unvoiced velar stops
-	x (tibetan sign lce tsa can - 0F88)
+	x (vedic sign jihvamuliya - 1CF5)
 0CF2	KANNADA SIGN UPADHMANIYA
-	* marks a bilabial fricative occurring only before unvoiced labial stops
-	x (tibetan sign mchu can - 0F89)
-	x (vedic sign ardhavisarga - 1CF2)
+	x (vedic sign upadhmaniya - 1CF6)
 @@	0D00	Malayalam	0D7F
 @		Various signs
 0D02	MALAYALAM SIGN ANUSVARA
@@ -6075,6 +6207,9 @@
 	# 0EAB 0E99
 0EDD	LAO HO MO
 	# 0EAB 0EA1
+@		Consonants for Khmu
+0EDE	LAO LETTER KHMU GO
+0EDF	LAO LETTER KHMU NYO
 @@	0F00	Tibetan	0FFF
 @+		The Tibetan script is called the Bodhi script in Bhutan.
 @		Syllable
@@ -6290,10 +6425,10 @@
 0F87	TIBETAN SIGN YANG RTAGS
 @		Transliteration head letters
 0F88	TIBETAN SIGN LCE TSA CAN
-	x (kannada sign jihvamuliya - 0CF1)
+	x (vedic sign jihvamuliya - 1CF5)
 	x (mongolian letter ali gali damaru - 1882)
 0F89	TIBETAN SIGN MCHU CAN
-	x (kannada sign upadhmaniya - 0CF2)
+	x (vedic sign upadhmaniya - 1CF6)
 	x (mongolian letter ali gali inverted ubadama - 1884)
 0F8A	TIBETAN SIGN GRU CAN RGYINGS
 	* always followed by 0F82
@@ -6663,6 +6798,10 @@
 10C3	GEORGIAN CAPITAL LETTER WE
 10C4	GEORGIAN CAPITAL LETTER HAR
 10C5	GEORGIAN CAPITAL LETTER HOE
+@		Additional letter
+10C7	GEORGIAN CAPITAL LETTER YN
+@		Additional letter for Ossetian
+10CD	GEORGIAN CAPITAL LETTER AEN
 @		Mkhedruli
 @+		This is the modern secular alphabet, which is caseless.
 10D0	GEORGIAN LETTER AN
@@ -6716,6 +6855,10 @@
 @		Modifier letter
 10FC	MODIFIER LETTER GEORGIAN NAR
 	# <super> 10DC
+@		Additional letters for Ossetian and Abkhaz
+10FD	GEORGIAN LETTER AEN
+10FE	GEORGIAN LETTER HARD SIGN
+10FF	GEORGIAN LETTER LABIAL SIGN
 @@	1100	Hangul Jamo	11FF
 @+		The aliases in this block represent the Jamo short names.
 @		Initial consonants
@@ -6739,15 +6882,21 @@
 	= BB
 1109	HANGUL CHOSEONG SIOS
 	= S
+	* voiceless lenis alveolar fricative
 110A	HANGUL CHOSEONG SSANGSIOS
 	= SS
+	* voiceless fortis alveolar fricative
 110B	HANGUL CHOSEONG IEUNG
+	* zero sound
 110C	HANGUL CHOSEONG CIEUC
 	= J
+	* voiceless or voiced lenis alveolar affricate
 110D	HANGUL CHOSEONG SSANGCIEUC
 	= JJ
+	* voiceless unaspirated fortis alveolar affricate
 110E	HANGUL CHOSEONG CHIEUCH
 	= C
+	* voiceless aspirated alveolar affricate
 110F	HANGUL CHOSEONG KHIEUKH
 	= K
 1110	HANGUL CHOSEONG THIEUTH
@@ -6756,6 +6905,7 @@
 	= P
 1112	HANGUL CHOSEONG HIEUH
 	= H
+	* voiceless glottal fricative
 1113	HANGUL CHOSEONG NIEUN-KIYEOK
 1114	HANGUL CHOSEONG SSANGNIEUN
 1115	HANGUL CHOSEONG NIEUN-TIKEUT
@@ -6798,10 +6948,15 @@
 113A	HANGUL CHOSEONG SIOS-PHIEUPH
 113B	HANGUL CHOSEONG SIOS-HIEUH
 113C	HANGUL CHOSEONG CHITUEUMSIOS
+	* voiceless lenis dental fricative
 113D	HANGUL CHOSEONG CHITUEUMSSANGSIOS
+	* voicless fortis dental fricative
 113E	HANGUL CHOSEONG CEONGCHIEUMSIOS
+	* voiceless lenis retroflex fricative
 113F	HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS
+	* voiceless fortis retroflex fricative
 1140	HANGUL CHOSEONG PANSIOS
+	* voiced alveolar fricative
 1141	HANGUL CHOSEONG IEUNG-KIYEOK
 1142	HANGUL CHOSEONG IEUNG-TIKEUT
 1143	HANGUL CHOSEONG IEUNG-MIEUM
@@ -6814,19 +6969,27 @@
 114A	HANGUL CHOSEONG IEUNG-THIEUTH
 114B	HANGUL CHOSEONG IEUNG-PHIEUPH
 114C	HANGUL CHOSEONG YESIEUNG
+	* velar nasal consonant
 114D	HANGUL CHOSEONG CIEUC-IEUNG
 114E	HANGUL CHOSEONG CHITUEUMCIEUC
+	* voiceless or voiced lenis dental affricate
 114F	HANGUL CHOSEONG CHITUEUMSSANGCIEUC
+	* voiceless unaspirated fortis dental affricate
 1150	HANGUL CHOSEONG CEONGCHIEUMCIEUC
+	* voiceless or voiced lenis retroflex affricate
 1151	HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC
+	* voiceless unaspirated fortis retroflex affricate
 1152	HANGUL CHOSEONG CHIEUCH-KHIEUKH
 1153	HANGUL CHOSEONG CHIEUCH-HIEUH
 1154	HANGUL CHOSEONG CHITUEUMCHIEUCH
+	* voiceless aspirated dental affricate
 1155	HANGUL CHOSEONG CEONGCHIEUMCHIEUCH
+	* voiceless aspirated retroflex affricate
 1156	HANGUL CHOSEONG PHIEUPH-PIEUP
 1157	HANGUL CHOSEONG KAPYEOUNPHIEUPH
 1158	HANGUL CHOSEONG SSANGHIEUH
 1159	HANGUL CHOSEONG YEORINHIEUH
+	* glottal stop
 115A	HANGUL CHOSEONG KIYEOK-TIKEUT
 115B	HANGUL CHOSEONG NIEUN-SIOS
 115C	HANGUL CHOSEONG NIEUN-CIEUC
@@ -6918,6 +7081,7 @@
 119C	HANGUL JUNGSEONG I-EU
 119D	HANGUL JUNGSEONG I-ARAEA
 119E	HANGUL JUNGSEONG ARAEA
+	* rounded open-mid back vowel
 119F	HANGUL JUNGSEONG ARAEA-EO
 11A0	HANGUL JUNGSEONG ARAEA-U
 11A1	HANGUL JUNGSEONG ARAEA-I
@@ -6970,6 +7134,7 @@
 	= SS
 11BC	HANGUL JONGSEONG IEUNG
 	= NG
+	* velar nasal consonant
 11BD	HANGUL JONGSEONG CIEUC
 	= J
 11BE	HANGUL JONGSEONG CHIEUCH
@@ -8599,7 +8764,7 @@
 	* 17B1 is the normal variant of this vowel
 17B3	KHMER INDEPENDENT VOWEL QAU
 @		Inherent vowels
- at +		These are for phonetic transcription to distinguish Indic language inherent vowels from Khmer inherent vowels. These characters are included solely for compatibility with particular applications; their use in other contexts is discouraged.
+ at +		These are invisible combining marks for phonetic transcription to distinguish Indic language inherent vowels from Khmer inherent vowels. These characters are included solely for compatibility with particular applications; their use in other contexts is discouraged.
 17B4	KHMER VOWEL INHERENT AQ
 17B5	KHMER VOWEL INHERENT AA
 @		Dependent vowel signs
@@ -8777,30 +8942,62 @@
 @		Basic letters
 1820	MONGOLIAN LETTER A
 	x (cyrillic small letter a - 0430)
+	~ 1820 180B second form (isolate)
+	~ 1820 180B second form (medial)
+	~ 1820 180B second form (final)
+	~ 1820 180C third form (medial)
 1821	MONGOLIAN LETTER E
 	x (cyrillic small letter e - 044D)
+	~ 1821 180B second form (initial)
+	~ 1821 180B second form (final)
 1822	MONGOLIAN LETTER I
 	x (cyrillic small letter i - 0438)
+	~ 1822 180B second form (medial)
 1823	MONGOLIAN LETTER O
 	x (cyrillic small letter o - 043E)
+	~ 1823 180B second form (medial)
+	~ 1823 180B second form (final)
 1824	MONGOLIAN LETTER U
 	x (cyrillic small letter u - 0443)
+	~ 1824 180B second form (medial)
 1825	MONGOLIAN LETTER OE
 	x (cyrillic small letter barred o - 04E9)
+	~ 1825 180B second form (medial)
+	~ 1825 180B second form (final)
+	~ 1825 180C third form (medial)
 1826	MONGOLIAN LETTER UE
 	x (cyrillic small letter straight u - 04AF)
+	~ 1826 180B second form (isolate)
+	~ 1826 180B second form (medial)
+	~ 1826 180B second form (final)
+	~ 1826 180C third form (medial)
 1827	MONGOLIAN LETTER EE
 1828	MONGOLIAN LETTER NA
 	x (cyrillic small letter en - 043D)
+	~ 1828 180B second form (initial)
+	~ 1828 180B second form (medial)
+	~ 1828 180C third form (medial)
+	~ 1828 180D separate form (medial)
 1829	MONGOLIAN LETTER ANG
 182A	MONGOLIAN LETTER BA
 	x (cyrillic small letter be - 0431)
+	~ 182A 180B alternative form (final)
 182B	MONGOLIAN LETTER PA
 	x (cyrillic small letter pe - 043F)
 182C	MONGOLIAN LETTER QA
 	x (cyrillic small letter ha - 0445)
+	~ 182C 180B second form (initial)
+	~ 182C 180B second form (medial)
+	~ 182C 180B feminine second form (isolate)
+	~ 182C 180C third form (medial)
+	~ 182C 180D fourth form (medial)
 182D	MONGOLIAN LETTER GA
 	x (cyrillic small letter ghe - 0433)
+	~ 182D 180B second form (initial)
+	~ 182D 180B second form (medial)
+	~ 182D 180B feminine form (final)
+	~ 182D 180C third form (medial)
+	~ 182D 180D feminine form (medial)
 182E	MONGOLIAN LETTER MA
 	x (cyrillic small letter em - 043C)
 182F	MONGOLIAN LETTER LA
@@ -8807,22 +9004,33 @@
 	x (cyrillic small letter el - 043B)
 1830	MONGOLIAN LETTER SA
 	x (cyrillic small letter es - 0441)
+	~ 1830 180B second form (final)
+	~ 1830 180C third form (final)
 1831	MONGOLIAN LETTER SHA
 	x (cyrillic small letter sha - 0448)
 1832	MONGOLIAN LETTER TA
 	x (cyrillic small letter te - 0442)
+	~ 1832 180B second form (medial)
 1833	MONGOLIAN LETTER DA
 	x (cyrillic small letter de - 0434)
+	~ 1833 180B second form (initial)
+	~ 1833 180B second form (medial)
+	~ 1833 180B second form (final)
 1834	MONGOLIAN LETTER CHA
 	x (cyrillic small letter che - 0447)
 1835	MONGOLIAN LETTER JA
 	x (cyrillic small letter zhe - 0436)
+	~ 1835 180B second form (medial)
 1836	MONGOLIAN LETTER YA
 	x (cyrillic small letter short i - 0439)
+	~ 1836 180B second form (initial)
+	~ 1836 180B second form (medial)
+	~ 1836 180C third form (medial)
 1837	MONGOLIAN LETTER RA
 	x (cyrillic small letter er - 0440)
 1838	MONGOLIAN LETTER WA
 	x (cyrillic small letter ve - 0432)
+	~ 1838 180B second form (final)
 1839	MONGOLIAN LETTER FA
 	x (cyrillic small letter ef - 0444)
 183A	MONGOLIAN LETTER KA
@@ -8843,16 +9051,29 @@
 @		Todo letters
 1843	MONGOLIAN LETTER TODO LONG VOWEL SIGN
 1844	MONGOLIAN LETTER TODO E
+	~ 1844 180B second form (medial)
 1845	MONGOLIAN LETTER TODO I
+	~ 1845 180B second form (medial)
 1846	MONGOLIAN LETTER TODO O
+	~ 1846 180B second form (medial)
 1847	MONGOLIAN LETTER TODO U
+	~ 1847 180B second form (isolate)
+	~ 1847 180B second form (medial)
+	~ 1847 180B second form (final)
+	~ 1847 180C third form (medial)
 1848	MONGOLIAN LETTER TODO OE
+	~ 1848 180B second form (medial)
 1849	MONGOLIAN LETTER TODO UE
+	~ 1849 180B second form (isolate)
+	~ 1849 180B second form (medial)
 184A	MONGOLIAN LETTER TODO ANG
 184B	MONGOLIAN LETTER TODO BA
 184C	MONGOLIAN LETTER TODO PA
 184D	MONGOLIAN LETTER TODO QA
+	~ 184D 180B feminine form (initial)
+	~ 184D 180B feminine form (medial)
 184E	MONGOLIAN LETTER TODO GA
+	~ 184E 180B second form (medial)
 184F	MONGOLIAN LETTER TODO MA
 1850	MONGOLIAN LETTER TODO TA
 1851	MONGOLIAN LETTER TODO DA
@@ -8869,18 +9090,32 @@
 185C	MONGOLIAN LETTER TODO DZA
 @		Sibe letters
 185D	MONGOLIAN LETTER SIBE E
+	~ 185D 180B second form (medial)
+	~ 185D 180B second form (final)
 185E	MONGOLIAN LETTER SIBE I
+	~ 185E 180B second form (medial)
+	~ 185E 180B second form (final)
+	~ 185E 180C third form (medial)
+	~ 185E 180C third form (final)
 185F	MONGOLIAN LETTER SIBE IY
 1860	MONGOLIAN LETTER SIBE UE
+	~ 1860 180B second form (medial)
+	~ 1860 180B second form (final)
 1861	MONGOLIAN LETTER SIBE U
 1862	MONGOLIAN LETTER SIBE ANG
 1863	MONGOLIAN LETTER SIBE KA
+	~ 1863 180B second form (medial)
 1864	MONGOLIAN LETTER SIBE GA
 1865	MONGOLIAN LETTER SIBE HA
 1866	MONGOLIAN LETTER SIBE PA
 1867	MONGOLIAN LETTER SIBE SHA
 1868	MONGOLIAN LETTER SIBE TA
+	~ 1868 180B second form (initial)
+	~ 1868 180B second form (medial)
+	~ 1868 180C third form (medial)
 1869	MONGOLIAN LETTER SIBE DA
+	~ 1869 180B second form (initial)
+	~ 1869 180B second form (medial)
 186A	MONGOLIAN LETTER SIBE JA
 186B	MONGOLIAN LETTER SIBE FA
 186C	MONGOLIAN LETTER SIBE GAA
@@ -8887,20 +9122,36 @@
 186D	MONGOLIAN LETTER SIBE HAA
 186E	MONGOLIAN LETTER SIBE TSA
 186F	MONGOLIAN LETTER SIBE ZA
+	~ 186F 180B second form (initial)
+	~ 186F 180B second form (medial)
 1870	MONGOLIAN LETTER SIBE RAA
 1871	MONGOLIAN LETTER SIBE CHA
 1872	MONGOLIAN LETTER SIBE ZHA
 @		Manchu letters
 1873	MONGOLIAN LETTER MANCHU I
+	~ 1873 180B second form (medial)
+	~ 1873 180B second form (final)
+	~ 1873 180C third form (medial)
+	~ 1873 180C third form (final)
+	~ 1873 180D fourth form (medial)
 1874	MONGOLIAN LETTER MANCHU KA
+	~ 1874 180B second form (medial)
+	~ 1874 180B feminine first final form (final)
+	~ 1874 180C feminine first medial form (medial)
+	~ 1874 180C feminine second final form (final)
+	~ 1874 180D feminine second medial form (medial)
 1875	MONGOLIAN LETTER MANCHU RA
 1876	MONGOLIAN LETTER MANCHU FA
+	~ 1876 180B second form (initial)
+	~ 1876 180B second form (medial)
 1877	MONGOLIAN LETTER MANCHU ZHA
 @		Extensions for Sanskrit and Tibetan
 1880	MONGOLIAN LETTER ALI GALI ANUSVARA ONE
 	x (tibetan sign sna ldan - 0F83)
+	~ 1880 180B second form
 1881	MONGOLIAN LETTER ALI GALI VISARGA ONE
 	x (tibetan sign rnam bcad - 0F7F)
+	~ 1881 180B second form
 1882	MONGOLIAN LETTER ALI GALI DAMARU
 	x (tibetan sign lce tsa can - 0F88)
 1883	MONGOLIAN LETTER ALI GALI UBADAMA
@@ -8910,9 +9161,16 @@
 	x (tibetan mark paluta - 0F85)
 1886	MONGOLIAN LETTER ALI GALI THREE BALUDA
 1887	MONGOLIAN LETTER ALI GALI A
+	~ 1887 180B second form (isolate)
+	~ 1887 180B second form (final)
+	~ 1887 180C third form (final)
+	~ 1887 180D fourth form (final)
 1888	MONGOLIAN LETTER ALI GALI I
+	~ 1888 180B second form (final)
 1889	MONGOLIAN LETTER ALI GALI KA
 188A	MONGOLIAN LETTER ALI GALI NGA
+	~ 188A 180B second form (initial)
+	~ 188A 180B second form (medial)
 188B	MONGOLIAN LETTER ALI GALI CA
 188C	MONGOLIAN LETTER ALI GALI TTA
 188D	MONGOLIAN LETTER ALI GALI TTHA
@@ -8945,6 +9203,8 @@
 18A8	MONGOLIAN LETTER MANCHU ALI GALI BHA
 18A9	MONGOLIAN LETTER ALI GALI DAGALGA
 18AA	MONGOLIAN LETTER MANCHU ALI GALI LHA
+@~	Standarized Variation Sequences
+ at +	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
@@ -9250,7 +9510,7 @@
 @@	19E0	Khmer Symbols	19FF
 @		Lunar date symbols
 19E0	KHMER SYMBOL PATHAMASAT
-	* represents the first August in a leap year
+	* represents the first Ashadha (eighth month of the lunar calendar)
 @+		The following fifteen characters represent the first through the fifteenth waxing days, respectively.
 19E1	KHMER SYMBOL MUOY KOET
 19E2	KHMER SYMBOL PII KOET
@@ -9268,7 +9528,7 @@
 19EE	KHMER SYMBOL DAP-BUON KOET
 19EF	KHMER SYMBOL DAP-PRAM KOET
 19F0	KHMER SYMBOL TUTEYASAT
-	* represents the second August in a leap year
+	* represents the second Ashadha in the lunar calendar during the Adhikameas leap year
 @+		The following fifteen characters represent the first through the fifteenth waning days, respectively.
 19F1	KHMER SYMBOL MUOY ROC
 19F2	KHMER SYMBOL PII ROC
@@ -9338,6 +9598,8 @@
 1A2C	TAI THAM LETTER NYA
 1A2D	TAI THAM LETTER RATA
 1A2E	TAI THAM LETTER HIGH RATHA
+	* an alternative glyph with the upper part shaped like 1A33 is used in Thailand and Laos
+	* contrast the sequence 1A2D 1A5B
 1A2F	TAI THAM LETTER DA
 1A30	TAI THAM LETTER LOW RATHA
 1A31	TAI THAM LETTER RANA
@@ -9744,10 +10006,17 @@
 	= e
 1BA9	SUNDANESE VOWEL SIGN PANEULEUNG
 	= eu
-@		Virama
+@		Viramas
 1BAA	SUNDANESE SIGN PAMAAEH
 	= virama
 	* does not form conjuncts
+1BAB	SUNDANESE SIGN VIRAMA
+	* forms conjuncts in older orthography
+@		Consonant signs
+1BAC	SUNDANESE CONSONANT SIGN PASANGAN MA
+	= subjoined ma
+1BAD	SUNDANESE CONSONANT SIGN PASANGAN WA
+	= subjoined wa
 @		Additional consonants
 1BAE	SUNDANESE LETTER KHA
 1BAF	SUNDANESE LETTER SYA
@@ -9762,11 +10031,21 @@
 1BB7	SUNDANESE DIGIT SEVEN
 1BB8	SUNDANESE DIGIT EIGHT
 1BB9	SUNDANESE DIGIT NINE
+@		Sign
+1BBA	SUNDANESE AVAGRAHA
+@		Historic letters
+1BBB	SUNDANESE LETTER REU
+	* vocalic r
+1BBC	SUNDANESE LETTER LEU
+	* vocalic l
+1BBD	SUNDANESE LETTER BHA
+1BBE	SUNDANESE LETTER FINAL K
+1BBF	SUNDANESE LETTER FINAL M
 @@	1BC0	Batak	1BFF
 @		Letters
 @+		Annotations for letters indicate different usage among the various alphabets sharing the Batak script.
 1BC0	BATAK LETTER A
-	 * letter a or ha for Karo and Pakpak
+	* letter a or ha for Karo and Pakpak
 1BC1	BATAK LETTER SIMALUNGUN A
 1BC2	BATAK LETTER HA
 	* Toba letter ha or ka
@@ -9989,6 +10268,20 @@
 @		Punctuation
 1C7E	OL CHIKI PUNCTUATION MUCAAD
 1C7F	OL CHIKI PUNCTUATION DOUBLE MUCAAD
+@@	1CC0	Sundanese Supplement	1CCF
+@		Punctuation
+1CC0	SUNDANESE PUNCTUATION BINDU SURYA
+	* sun
+1CC1	SUNDANESE PUNCTUATION BINDU PANGLONG
+	* half moon
+1CC2	SUNDANESE PUNCTUATION BINDU PURNAMA
+	* full moon
+1CC3	SUNDANESE PUNCTUATION BINDU CAKRA
+	* wheel
+1CC4	SUNDANESE PUNCTUATION BINDU LEU SATANGA
+1CC5	SUNDANESE PUNCTUATION BINDU KA SATANGA
+1CC6	SUNDANESE PUNCTUATION BINDU DA SATANGA
+1CC7	SUNDANESE PUNCTUATION BINDU BA SATANGA
 @@	1CD0	Vedic Extensions	1CFF
 @		Tone marks for the Samaveda
 1CD0	VEDIC TONE KARSHANA
@@ -10074,8 +10367,18 @@
 @+		Ardhavisarga denotes the sounds jihvamuliya and upadhmaniya (velar and bilabial voicelss fricatives) in Sanskrit. Its use is not limited to Vedic.
 1CF2	VEDIC SIGN ARDHAVISARGA
 	= vaidika jihvaamuuliiya upadhmaaniiya
+1CF3	VEDIC SIGN ROTATED ARDHAVISARGA
+@		Sign for Yajurvedic
+1CF4	VEDIC TONE CANDRA ABOVE
+@		Signs
+1CF5	VEDIC SIGN JIHVAMULIYA
+	* marks a velar fricative occurring only before unvoiced velar stops
 	x (kannada sign jihvamuliya - 0CF1)
+	x (tibetan sign lce tsa can - 0F88)
+1CF6	VEDIC SIGN UPADHMANIYA
+	* marks a bilabial fricative occurring only before unvoiced labial stops
 	x (kannada sign upadhmaniya - 0CF2)
+	x (tibetan sign mchu can - 0F89)
 @@	1D00	Phonetic Extensions	1D7F
 @+		These are non-IPA phonetic extensions, mostly for the Uralic Phonetic Alphabet (UPA).
 @+		The small capitals, superscript, and subscript forms are for phonetic representations where style variations are semantically important.
@@ -11594,6 +11897,7 @@
 2013	EN DASH
 2014	EM DASH
 	* may be used in pairs to offset parenthetical text
+	x (two-em dash - 2E3A)
 	x (katakana-hiragana prolonged sound mark - 30FC)
 2015	HORIZONTAL BAR
 	= quotation dash
@@ -11608,6 +11912,8 @@
 	x (low line - 005F)
 	x (combining double low line - 0333)
 	# 0020 0333
+@		Quotation marks and apostrophe
+ at +		Use of quotation marks differs by language. The character names cannot reflect actual usage for all languages.
 2018	LEFT SINGLE QUOTATION MARK
 	= single turned comma quotation mark
 	* this is the preferred character (as opposed to 201B)
@@ -11646,8 +11952,10 @@
 201F	DOUBLE HIGH-REVERSED-9 QUOTATION MARK
 	= double reversed comma quotation mark
 	* has same semantic as 201C, but differs in appearance
+@		General punctuation
 2020	DAGGER
 	= obelisk, obelus, long cross
+	x (turned dagger - 2E38)
 2021	DOUBLE DAGGER
 	= diesis, double obelisk
 2022	BULLET
@@ -11674,6 +11982,7 @@
 	x (presentation form for vertical horizontal ellipsis - FE19)
 	# 002E 002E 002E
 2027	HYPHENATION POINT
+	* visible symbol used to indicate correct positions for word breaking, as in dic·tion·ar·ies
 @		Format characters
 2028	LINE SEPARATOR
 	* may be used to represent this semantic unambiguously
@@ -11733,6 +12042,7 @@
 2038	CARET
 	x (up arrowhead - 2303)
 	x (modifier letter low circumflex accent - A788)
+@		Quotation marks
 2039	SINGLE LEFT-POINTING ANGLE QUOTATION MARK
 	= left pointing single guillemet
 	* usually opening, sometimes closing
@@ -11745,6 +12055,7 @@
 	x (greater-than sign - 003E)
 	x (right-pointing angle bracket - 232A)
 	x (right angle bracket - 3009)
+@		General punctuation
 203B	REFERENCE MARK
 	= Japanese kome
 	= Urdu paragraph separator
@@ -11753,6 +12064,8 @@
 @		Double punctuation for vertical text
 203C	DOUBLE EXCLAMATION MARK
 	x (exclamation mark - 0021)
+	~ 203C FE0E text style
+	~ 203C FE0F emoji style
 	# 0021 0021
 @		General punctuation
 203D	INTERROBANG
@@ -11786,6 +12099,8 @@
 2048	QUESTION EXCLAMATION MARK
 	# 003F 0021
 2049	EXCLAMATION QUESTION MARK
+	~ 2049 FE0E text style
+	~ 2049 FE0F emoji style
 	# 0021 003F
 @		General punctuation
 204A	TIRONIAN SIGN ET
@@ -11804,7 +12119,7 @@
 	* editing mark
 2051	TWO ASTERISKS ALIGNED VERTICALLY
 2052	COMMERCIAL MINUS SIGN
-	= abz\xFCglich (German), med avdrag av (Swedish), piska (Swedish, "whip")
+	= abzüglich (German), med avdrag av (Swedish), piska (Swedish, "whip")
 	* a common glyph variant and fallback representation looks like ./.
 	* may also be used as a dingbat to indicate correctness
 	* used in Finno-Ugric Phonetic Alphabet to indicate a related borrowed form with different sound
@@ -11875,6 +12190,7 @@
 206D	ACTIVATE ARABIC FORM SHAPING
 206E	NATIONAL DIGIT SHAPES
 206F	NOMINAL DIGIT SHAPES
+@~	Standardized Variation Sequences
 @@	2070	Superscripts and Subscripts	209F
 @		Superscripts
 @+		See also superscript Latin letters in the Spacing Modifier Letters block starting at 02B0.
@@ -12006,6 +12322,7 @@
 	* intended for lira, but not widely used
 	* preferred character for lira is 00A3
 	x (pound sign - 00A3)
+	x (turkish lira sign - 20BA)
 20A5	MILL SIGN
 	* USA (1/10 cent)
 20A6	NAIRA SIGN
@@ -12031,13 +12348,15 @@
 	* Laos
 20AE	TUGRIK SIGN
 	* Mongolia
-	* also transliterated as tugrug, tugric, tugrog, togrog, t\xF6gr\xF6g
+	* also transliterated as tugrug, tugric, tugrog, togrog, tögrög
 20AF	DRACHMA SIGN
 	* Greece
 20B0	GERMAN PENNY SIGN
 20B1	PESO SIGN
+	= Filipino peso sign
 	* Philippines
-	* the Mexican peso is indicated with the dollar sign
+	* extant and discontinued Latin-American peso currencies (Mexican, Chilean, Colombian, etc.) use the dollar sign
+	x (dollar sign - 0024)
 	x (peseta sign - 20A7)
 20B2	GUARANI SIGN
 	* Paraguay
@@ -12061,9 +12380,11 @@
 	x (box drawings down single and horizontal double - 2564)
 	x (postal mark - 3012)
 20B9	INDIAN RUPEE SIGN
-	* official Rupee currency sign for India
-	* contrasts with script-specific Rupee signs and abbreviations
+	* official rupee currency sign for India
+	* contrasts with script-specific rupee signs and abbreviations
 	x (devanagari letter ra - 0930)
+20BA	TURKISH LIRA SIGN
+	* official lira currency sign for Turkey
 @@	20D0	Combining Diacritical Marks for Symbols	20FF
 @		Combining diacritical marks for symbols
 20D0	COMBINING LEFT HARPOON ABOVE
@@ -12205,7 +12526,7 @@
 	x (copyright sign - 00A9)
 	x (circled latin capital letter p - 24C5)
 2118	SCRIPT CAPITAL P
-	= Weierstrass elliptic function
+	% WEIERSTRASS ELLIPTIC FUNCTION
 	* actually this has the form of a lowercase calligraphic p, despite its name
 2119	DOUBLE-STRUCK CAPITAL P
 	# <font> 0050 latin capital letter p
@@ -12263,7 +12584,7 @@
 212A	KELVIN SIGN
 	: 004B latin capital letter k
 212B	ANGSTROM SIGN
-	* non SI length unit (=0.1 nm) named after A. J. \xC5ngstr\xF6m, Swedish physicist
+	* non SI length unit (=0.1 nm) named after A. J. Ångström, Swedish physicist
 	* preferred representation is 00C5
 	: 00C5 latin capital letter a with ring above
 212C	SCRIPT CAPITAL B
@@ -12314,6 +12635,8 @@
 @		Additional letterlike symbols
 2139	INFORMATION SOURCE
 	* intended for use with 20DD
+	~ 2139 FE0E text style
+	~ 2139 FE0F emoji style
 	# <font> 0069 latin small letter i
 213A	ROTATED CAPITAL Q
 	* a binding signature mark
@@ -12372,6 +12695,7 @@
 	x (greek small letter digamma - 03DD)
 @		Biblical editorial symbol
 214F	SYMBOL FOR SAMARITAN SOURCE
+@~	Standardized Variation Sequences
 @@	2150	Number Forms	218F
 @		Fractions
 @+		Other fraction number forms are found in the Latin-1 Supplement block.
@@ -12513,11 +12837,23 @@
 	* IPA: ingressive airflow
 2194	LEFT RIGHT ARROW
 	= z notation relation
+	~ 2194 FE0E text style
+	~ 2194 FE0F emoji style
 2195	UP DOWN ARROW
+	~ 2195 FE0E text style
+	~ 2195 FE0F emoji style
 2196	NORTH WEST ARROW
+	~ 2196 FE0E text style
+	~ 2196 FE0F emoji style
 2197	NORTH EAST ARROW
+	~ 2197 FE0E text style
+	~ 2197 FE0F emoji style
 2198	SOUTH EAST ARROW
+	~ 2198 FE0E text style
+	~ 2198 FE0F emoji style
 2199	SOUTH WEST ARROW
+	~ 2199 FE0E text style
+	~ 2199 FE0F emoji style
 @		Arrows with modifications
 219A	LEFTWARDS ARROW WITH STROKE
 	* negation of 2190
@@ -12549,7 +12885,11 @@
 	= depth symbol
 21A8	UP DOWN ARROW WITH BASE
 21A9	LEFTWARDS ARROW WITH HOOK
+	~ 21A9 FE0E text style
+	~ 21A9 FE0F emoji style
 21AA	RIGHTWARDS ARROW WITH HOOK
+	~ 21AA FE0E text style
+	~ 21AA FE0F emoji style
 21AB	LEFTWARDS ARROW WITH LOOP
 21AC	RIGHTWARDS ARROW WITH LOOP
 21AD	LEFT RIGHT WAVE ARROW
@@ -12640,7 +12980,9 @@
 	x (north east white arrow - 2B00)
 21E7	UPWARDS WHITE ARROW
 	= shift
+	= level 2 select (ISO 9995-7)
 21E8	RIGHTWARDS WHITE ARROW
+	= group select (ISO 9995-7)
 21E9	DOWNWARDS WHITE ARROW
 21EA	UPWARDS WHITE ARROW FROM BAR
 	= caps lock
@@ -12647,9 +12989,9 @@
 21EB	UPWARDS WHITE ARROW ON PEDESTAL
 	= level 2 lock
 21EC	UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
-	= caps lock
+	= capitals (caps) lock
 21ED	UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
-	= numerics lock
+	= numeric lock
 21EE	UPWARDS WHITE DOUBLE ARROW
 	= level 3 select
 21EF	UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
@@ -12682,6 +13024,7 @@
 21FD	LEFTWARDS OPEN-HEADED ARROW
 21FE	RIGHTWARDS OPEN-HEADED ARROW
 21FF	LEFT RIGHT OPEN-HEADED ARROW
+@~	Standardized Variation Sequences
 @@	2200	Mathematical Operators	22FF
 @@+
 @		Miscellaneous mathematical symbols
@@ -12750,8 +13093,11 @@
 	* generic division operator
 	x (solidus - 002F)
 	x (fraction slash - 2044)
+	x (mathematical rising diagonal - 27CB)
 2216	SET MINUS
 	x (reverse solidus - 005C)
+	x (mathematical falling diagonal - 27CD)
+	x (reverse solidus operator - 29F5)
 2217	ASTERISK OPERATOR
 	x (asterisk - 002A)
 2218	RING OPERATOR
@@ -12781,7 +13127,7 @@
 2221	MEASURED ANGLE
 2222	SPHERICAL ANGLE
 	= angle arc
-@		Operators
+@		Relations
 2223	DIVIDES
 	= such that
 	= APL stile
@@ -12806,13 +13152,19 @@
 2229	INTERSECTION
 	= cap, hat
 	x (n-ary intersection - 22C2)
+	~ 2229 FE00 with serifs
 222A	UNION
 	= cup
 	x (n-ary union - 22C3)
+	~ 222A FE00 with serifs
 @		Integrals
 222B	INTEGRAL
 	x (latin small letter esh - 0283)
+;experimenting with variant syntax
+	~ 222B ALT1 slanted style
 222C	DOUBLE INTEGRAL
+;experimenting with variant syntax
+	~ 222C ALT1 slanted style
 	# 222B 222B
 222D	TRIPLE INTEGRAL
 	x (quadruple integral operator - 2A0C)
@@ -12922,7 +13274,9 @@
 2266	LESS-THAN OVER EQUAL TO
 2267	GREATER-THAN OVER EQUAL TO
 2268	LESS-THAN BUT NOT EQUAL TO
+	~ 2268 FE00 with vertical stroke
 2269	GREATER-THAN BUT NOT EQUAL TO
+	~ 2269 FE00 with vertical stroke
 226A	MUCH LESS-THAN
 	x (left-pointing double angle quotation mark - 00AB)
 226B	MUCH GREATER-THAN
@@ -12940,7 +13294,9 @@
 2271	NEITHER GREATER-THAN NOR EQUAL TO
 	: 2265 0338
 2272	LESS-THAN OR EQUIVALENT TO
+	~ 2272 FE00 following the slant of the lower leg
 2273	GREATER-THAN OR EQUIVALENT TO
+	~ 2273 FE00 following the slant of the lower leg
 2274	NEITHER LESS-THAN NOR EQUIVALENT TO
 	: 2272 0338
 2275	NEITHER GREATER-THAN NOR EQUIVALENT TO
@@ -12982,7 +13338,9 @@
 2289	NEITHER A SUPERSET OF NOR EQUAL TO
 	: 2287 0338
 228A	SUBSET OF WITH NOT EQUAL TO
+	~ 228A FE00 with stroke through bottom members
 228B	SUPERSET OF WITH NOT EQUAL TO
+	~ 228B FE00 with stroke through bottom members
 @		Operators
 228C	MULTISET
 228D	MULTISET MULTIPLICATION
@@ -12999,12 +13357,15 @@
 @		Operators
 2293	SQUARE CAP
 	x (n-ary square intersection operator - 2A05)
+	~ 2293 FE00 with serifs
 2294	SQUARE CUP
+	~ 2294 FE00 with serifs
 2295	CIRCLED PLUS
 	= direct sum
 	= vector pointing into page
 	x (n-ary circled plus operator - 2A01)
 	x (alchemical symbol for verdigris - 1F728)
+	~ 2295 FE00 with white rim
 2296	CIRCLED MINUS
 	= symmetric difference
 	x (circle with horizontal bar - 29B5)
@@ -13014,6 +13375,7 @@
 	= vector pointing into page
 	x (circled crossing lanes - 26D2)
 	x (n-ary circled times operator - 2A02)
+	~ 2297 FE00 with white rim
 2298	CIRCLED DIVISION SLASH
 2299	CIRCLED DOT OPERATOR
 	= direct product
@@ -13027,6 +13389,7 @@
 229B	CIRCLED ASTERISK OPERATOR
 	x (apl functional symbol circle star - 235F)
 229C	CIRCLED EQUALS
+	~ 229C FE00 with equal sign touching the circle
 229D	CIRCLED DASH
 229E	SQUARED PLUS
 229F	SQUARED MINUS
@@ -13151,7 +13514,9 @@
 22D8	VERY MUCH LESS-THAN
 22D9	VERY MUCH GREATER-THAN
 22DA	LESS-THAN EQUAL TO OR GREATER-THAN
+	~ 22DA FE00 with slanted equal
 22DB	GREATER-THAN EQUAL TO OR LESS-THAN
+	~ 22DB FE00 with slanted equal
 22DC	EQUAL TO OR LESS-THAN
 22DD	EQUAL TO OR GREATER-THAN
 22DE	EQUAL TO OR PRECEDES
@@ -13200,6 +13565,10 @@
 22FD	CONTAINS WITH OVERBAR
 22FE	SMALL CONTAINS WITH OVERBAR
 22FF	Z NOTATION BAG MEMBERSHIP
+@@~	Alternative Glyph Listing
+ at +	Experimental listing
+@~	Standarized Variation Sequences
+ at +	Experimental listing
 @@	2300	Miscellaneous Technical	23FF
 @		Miscellaneous technical
 2300	DIAMETER SIGN
@@ -13263,6 +13632,7 @@
 	x (equal and parallel to - 22D5)
 2318	PLACE OF INTEREST SIGN
 	= command key (1.0)
+	= operating system key (ISO 9995-7)
 2319	TURNED NOT SIGN
 	= line marker
 @		User interface symbols
@@ -13269,8 +13639,12 @@
 231A	WATCH
 	x (alarm clock - 23F0)
 	x (clock face one oclock - 1F550)
+	~ 231A FE0E text style
+	~ 231A FE0F emoji style
 231B	HOURGLASS
 	= alchemical symbol for hour
+	~ 231B FE0E text style
+	~ 231B FE0F emoji style
 @		Quine corners
 @+		These form a set of four quine corners, for quincuncial arrangement. They are also used in upper and lower pairs in mathematic, or more rarely in editorial usage as alternatives to half brackets.
 231C	TOP LEFT CORNER
@@ -13631,6 +14005,7 @@
 23F2	TIMER CLOCK
 23F3	HOURGLASS WITH FLOWING SAND
 	x (hourglass - 231B)
+@~	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
@@ -13686,7 +14061,7 @@
 @+		* from ISO 2047
 	x (arabic question mark - 061F)
 @@	2440	Optical Character Recognition	245F
-@		OCR
+@		OCR-A
 2440	OCR HOOK
 2441	OCR CHAIR
 2442	OCR FORK
@@ -13693,14 +14068,21 @@
 2443	OCR INVERTED FORK
 2444	OCR BELT BUCKLE
 2445	OCR BOW TIE
+	= unique asterisk
 	x (bowtie - 22C8)
+@		MICR
+ at +		These magnetic ink character recognition symbols are used on checks. The are derived from the E-13B font and are standardized in ISO 1004:1995. The Unicode character names include several misnomers.
 2446	OCR BRANCH BANK IDENTIFICATION
 	= transit
 2447	OCR AMOUNT OF CHECK
+	= amount
 2448	OCR DASH
+	% MICR ON US SYMBOL
 	= on us
 2449	OCR CUSTOMER ACCOUNT NUMBER
+	% MICR DASH SYMBOL
 	= dash
+@		OCR
 244A	OCR DOUBLE BACKSLASH
 @@	2460	Enclosed Alphanumerics	24FF
 @		Circled numbers
@@ -13908,6 +14290,8 @@
 24C1	CIRCLED LATIN CAPITAL LETTER L
 	# <circle> 004C
 24C2	CIRCLED LATIN CAPITAL LETTER M
+	~ 24C2 FE0E text style
+	~ 24C2 FE0F emoji style
 	# <circle> 004D
 24C3	CIRCLED LATIN CAPITAL LETTER N
 	# <circle> 004E
@@ -14017,6 +14401,7 @@
 @		Additional white on black circled number
 24FF	NEGATIVE CIRCLED DIGIT ZERO
 	x (dingbat negative circled digit one - 2776)
+@~	Standardized Variation Sequences
 @@	2500	Box Drawing	257F
 @+	All of these characters are intended for compatibility with old sets oriented toward character cell graphics.
 @		Light and heavy solid lines
@@ -14249,9 +14634,14 @@
 25A8	SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
 25A9	SQUARE WITH DIAGONAL CROSSHATCH FILL
 25AA	BLACK SMALL SQUARE
+	= square bullet
 	x (black very small square - 2B1D)
+	~ 25AA FE0E text style
+	~ 25AA FE0F emoji style
 25AB	WHITE SMALL SQUARE
 	x (white very small square - 2B1E)
+	~ 25AB FE0E text style
+	~ 25AB FE0F emoji style
 25AC	BLACK RECTANGLE
 25AD	WHITE RECTANGLE
 25AE	BLACK VERTICAL RECTANGLE
@@ -14274,6 +14664,8 @@
 	x (up-pointing small red triangle - 1F53C)
 25B5	WHITE UP-POINTING SMALL TRIANGLE
 25B6	BLACK RIGHT-POINTING TRIANGLE
+	~ 25B6 FE0E text style
+	~ 25B6 FE0F emoji style
 25B7	WHITE RIGHT-POINTING TRIANGLE
 	= z notation range restriction
 25B8	BLACK RIGHT-POINTING SMALL TRIANGLE
@@ -14294,6 +14686,8 @@
 	x (down-pointing small red triangle - 1F53D)
 25BF	WHITE DOWN-POINTING SMALL TRIANGLE
 25C0	BLACK LEFT-POINTING TRIANGLE
+	~ 25C0 FE0E text style
+	~ 25C0 FE0F emoji style
 25C1	WHITE LEFT-POINTING TRIANGLE
 	= z notation domain restriction
 25C2	BLACK LEFT-POINTING SMALL TRIANGLE
@@ -14397,14 +14791,24 @@
 25FB	WHITE MEDIUM SQUARE
 	= always (modal operator)
 	x (white square - 25A1)
+	~ 25FB FE0E text style
+	~ 25FB FE0F emoji style
 25FC	BLACK MEDIUM SQUARE
 	x (black square - 25A0)
+	~ 25FC FE0E text style
+	~ 25FC FE0F emoji style
 25FD	WHITE MEDIUM SMALL SQUARE
 	x (white small square - 25AB)
+	~ 25FD FE0E text style
+	~ 25FD FE0F emoji style
 25FE	BLACK MEDIUM SMALL SQUARE
 	x (black small square - 25AA)
+	~ 25FE FE0E text style
+	~ 25FE FE0F emoji style
 25FF	LOWER RIGHT TRIANGLE
 	x (right triangle - 22BF)
+@~	Standarized Variation Sequences
+ at +	Emoji style variants include rendering of characters in ways not achievable with traditional or even digital typography. The sample glyphs shown here cannot faithfully represent the range of intended appearances.
 @@	2600	Miscellaneous Symbols	26FF
 @@+
 @		Weather and astrological symbols
@@ -14412,8 +14816,12 @@
 	= clear weather
 	x (sun - 2609)
 	x (high brightness symbol - 1F506)
+	~ 2600 FE0E text style
+	~ 2600 FE0F emoji style
 2601	CLOUD
 	= cloudy weather
+	~ 2601 FE0E text style
+	~ 2601 FE0F emoji style
 2602	UMBRELLA
 	= rainy weather
 	x (closed umbrella - 1F302)
@@ -14446,10 +14854,14 @@
 	x (telephone sign - 2121)
 	x (telephone location sign - 2706)
 	x (telephone receiver - 1F4DE)
+	~ 260E FE0E text style
+	~ 260E FE0F emoji style
 260F	WHITE TELEPHONE
 2610	BALLOT BOX
 	x (white square - 25A1)
 2611	BALLOT BOX WITH CHECK
+	~ 2611 FE0E text style
+	~ 2611 FE0F emoji style
 2612	BALLOT BOX WITH X
 	x (squared times - 22A0)
 2613	SALTIRE
@@ -14458,6 +14870,8 @@
 @		Weather symbol
 2614	UMBRELLA WITH RAIN DROPS
 	= showery weather
+	~ 2614 FE0E text style
+	~ 2614 FE0F emoji style
 @		Miscellaneous symbol
 2615	HOT BEVERAGE
 	= tea or coffee, depending on locale
@@ -14465,6 +14879,8 @@
 	x (watch - 231A)
 	x (hourglass - 231B)
 	x (teacup without handle - 1F375)
+	~ 2615 FE0E text style
+	~ 2615 FE0F emoji style
 @		Japanese chess symbols
 2616	WHITE SHOGI PIECE
 2617	BLACK SHOGI PIECE
@@ -14480,6 +14896,8 @@
 261C	WHITE LEFT POINTING INDEX
 	x (white left pointing backhand index - 1F448)
 261D	WHITE UP POINTING INDEX
+	~ 261D FE0E text style
+	~ 261D FE0F emoji style
 261E	WHITE RIGHT POINTING INDEX
 	= fist (typographic term)
 261F	WHITE DOWN POINTING INDEX
@@ -14536,6 +14954,8 @@
 2639	WHITE FROWNING FACE
 263A	WHITE SMILING FACE
 	= have a nice day!
+	~ 263A FE0E text style
+	~ 263A FE0F emoji style
 263B	BLACK SMILING FACE
 @		Miscellaneous symbol
 263C	WHITE SUN WITH RAYS
@@ -14574,21 +14994,45 @@
 2647	PLUTO
 @		Zodiacal symbols
 2648	ARIES
+	~ 2648 FE0E text style
+	~ 2648 FE0F emoji style
 2649	TAURUS
+	~ 2649 FE0E text style
+	~ 2649 FE0F emoji style
 264A	GEMINI
+	~ 264A FE0E text style
+	~ 264A FE0F emoji style
 264B	CANCER
+	~ 264B FE0E text style
+	~ 264B FE0F emoji style
 264C	LEO
+	~ 264C FE0E text style
+	~ 264C FE0F emoji style
 264D	VIRGO
 	= minim (alternate glyph)
+	~ 264D FE0E text style
+	~ 264D FE0F emoji style
 264E	LIBRA
 	x (alchemical symbol for sublimation - 1F75E)
+	~ 264E FE0E text style
+	~ 264E FE0F emoji style
 264F	SCORPIUS
 	= scorpio
 	= minim, drop
+	~ 264F FE0E text style
+	~ 264F FE0F emoji style
 2650	SAGITTARIUS
+	~ 2650 FE0E text style
+	~ 2650 FE0F emoji style
 2651	CAPRICORN
+	~ 2651 FE0E text style
+	~ 2651 FE0F emoji style
 2652	AQUARIUS
+	~ 2652 FE0E text style
+	~ 2652 FE0F emoji style
 2653	PISCES
+	~ 2653 FE0E text style
+	~ 2653 FE0F emoji style
 @		Chess symbols
 2654	WHITE CHESS KING
 2655	WHITE CHESS QUEEN
@@ -14604,6 +15048,8 @@
 265F	BLACK CHESS PAWN
 @		Playing card symbols
 2660	BLACK SPADE SUIT
+	~ 2660 FE0E text style
+	~ 2660 FE0F emoji style
 2661	WHITE HEART SUIT
 2662	WHITE DIAMOND SUIT
 	x (white diamond - 25C7)
@@ -14610,16 +15056,24 @@
 	x (lozenge - 25CA)
 2663	BLACK CLUB SUIT
 	x (shamrock - 2618)
+	~ 2663 FE0E text style
+	~ 2663 FE0F emoji style
 2664	WHITE SPADE SUIT
 2665	BLACK HEART SUIT
 	= valentine
 	x (heavy black heart - 2764)
 	x (blue heart - 1F499)
+	~ 2665 FE0E text style
+	~ 2665 FE0F emoji style
 2666	BLACK DIAMOND SUIT
 	x (black diamond - 25C6)
+	~ 2666 FE0E text style
+	~ 2666 FE0F emoji style
 2667	WHITE CLUB SUIT
 @		Miscellaneous symbol
 2668	HOT SPRINGS
+	~ 2668 FE0E text style
+	~ 2668 FE0F emoji style
 @		Musical symbols
 2669	QUARTER NOTE
 	= crotchet
@@ -14663,6 +15117,8 @@
 	* used together with other text and labels to indicate the type of material to be recycled
 267B	BLACK UNIVERSAL RECYCLING SYMBOL
 	x (clockwise rightwards and leftwards open circle arrows - 1F501)
+	~ 267B FE0E text style
+	~ 267B FE0F emoji style
 267C	RECYCLED PAPER SYMBOL
 	* used to indicate 100% recycled paper content
 267D	PARTIALLY-RECYCLED PAPER SYMBOL
@@ -14670,6 +15126,8 @@
 @		Miscellaneous symbols
 267E	PERMANENT PAPER SIGN
 267F	WHEELCHAIR SYMBOL
+	~ 267F FE0E text style
+	~ 267F FE0F emoji style
 @		Dice
 2680	DIE FACE-1
 	x (game die - 1F3B2)
@@ -14700,6 +15158,8 @@
 	x (pick - 26CF)
 2693	ANCHOR
 	= nautical term, harbor (on maps)
+	~ 2693 FE0E text style
+	~ 2693 FE0F emoji style
 2694	CROSSED SWORDS
 	= military term, battleground (on maps), killed in action
 2695	STAFF OF AESCULAPIUS
@@ -14710,6 +15170,7 @@
 	= legal term, jurisprudence
 2697	ALEMBIC
 	= chemical term, chemistry
+	x (alchemical symbol for retort - 1F76D)
 2698	FLOWER
 	= botanical term
 	x (flower punctuation mark - 2055)
@@ -14734,9 +15195,13 @@
 	= background speaking
 @		Miscellaneous symbols
 26A0	WARNING SIGN
+	~ 26A0 FE0E text style
+	~ 26A0 FE0F emoji style
 26A1	HIGH VOLTAGE SIGN
 	= thunder
 	= lightning symbol
+	~ 26A1 FE0E text style
+	~ 26A1 FE0F emoji style
 @		Gender symbols
 26A2	DOUBLED FEMALE SIGN
 	= lesbianism
@@ -14765,8 +15230,12 @@
 	= asexuality, sexless, genderless
 	= engaged, betrothed
 	* base for male or female sign
+	~ 26AA FE0E text style
+	~ 26AA FE0F emoji style
 26AB	MEDIUM BLACK CIRCLE
 	* UI symbol for record function
+	~ 26AB FE0E text style
+	~ 26AB FE0F emoji style
 26AC	MEDIUM SMALL WHITE CIRCLE
 	= engaged, betrothed (genealogy)
 	* can represent wedding ring
@@ -14803,7 +15272,11 @@
 @		Sport symbols
 @+		See other sport symbols in the Miscellaneous Symbols and Pictographs block.
 26BD	SOCCER BALL
+	~ 26BD FE0E text style
+	~ 26BD FE0F emoji style
 26BE	BASEBALL
+	~ 26BE FE0E text style
+	~ 26BE FE0F emoji style
 @		Miscellaneous symbol from ARIB STD B24
 26BF	SQUARED KEY
 	= parental lock
@@ -14816,8 +15289,12 @@
 @		Weather symbols from ARIB STD B24
 26C4	SNOWMAN WITHOUT SNOW
 	= light snow
+	~ 26C4 FE0E text style
+	~ 26C4 FE0F emoji style
 26C5	SUN BEHIND CLOUD
 	= partly cloudy
+	~ 26C5 FE0E text style
+	~ 26C5 FE0F emoji style
 26C6	RAIN
 	= rainy weather
 26C7	BLACK SNOWMAN
@@ -14852,6 +15329,8 @@
 	= tyre chains required
 26D4	NO ENTRY
 	x (no entry sign - 1F6AB)
+	~ 26D4 FE0E text style
+	~ 26D4 FE0F emoji style
 26D5	ALTERNATE ONE-WAY LEFT WAY TRAFFIC
 	* left side traffic
 26D6	BLACK TWO-WAY LEFT WAY TRAFFIC
@@ -14903,6 +15382,8 @@
 26E9	SHINTO SHRINE
 	= torii
 26EA	CHURCH
+	~ 26EA FE0E text style
+	~ 26EA FE0F emoji style
 26EB	CASTLE
 	x (european castle - 1F3F0)
 26EC	HISTORIC SITE
@@ -14921,9 +15402,13 @@
 	x (umbrella - 2602)
 26F2	FOUNTAIN
 	= park
+	~ 26F2 FE0E text style
+	~ 26F2 FE0F emoji style
 26F3	FLAG IN HOLE
 	= golf course
 	x (triangular flag on post - 1F6A9)
+	~ 26F3 FE0E text style
+	~ 26F3 FE0F emoji style
 26F4	FERRY
 	= ferry boat terminal
 	x (ship - 1F6A2)
@@ -14930,6 +15415,8 @@
 26F5	SAILBOAT
 	= marina or yacht harbour
 	x (rowboat - 1F6A3)
+	~ 26F5 FE0E text style
+	~ 26F5 FE0F emoji style
 26F6	SQUARE FOUR CORNERS
 	= intersection
 26F7	SKIER
@@ -14941,6 +15428,8 @@
 	= track and field, gymnasium
 26FA	TENT
 	= camping site
+	~ 26FA FE0E text style
+	~ 26FA FE0F emoji style
 26FB	JAPANESE BANK SYMBOL
 	x (bank - 1F3E6)
 26FC	HEADSTONE GRAVEYARD SYMBOL
@@ -14947,6 +15436,8 @@
 	= graveyard, memorial park, cemetery
 26FD	FUEL PUMP
 	= petrol station, gas station
+	~ 26FD FE0E text style
+	~ 26FD FE0F emoji style
 26FE	CUP ON BLACK SQUARE
 	= drive-in restaurant
 	x (hot beverage - 2615)
@@ -14953,6 +15444,7 @@
 	x (teacup without handle - 1F375)
 26FF	WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
 	= Japanese self-defence force site
+@~	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)
@@ -14970,6 +15462,8 @@
 @		Miscellaneous
 2701	UPPER BLADE SCISSORS
 2702	BLACK SCISSORS
+	~ 2702 FE0E text style
+	~ 2702 FE0F emoji style
 2703	LOWER BLADE SCISSORS
 2704	WHITE SCISSORS
 2705	WHITE HEAVY CHECK MARK
@@ -14979,8 +15473,12 @@
 	x (telephone receiver - 1F4DE)
 2707	TAPE DRIVE
 2708	AIRPLANE
+	~ 2708 FE0E text style
+	~ 2708 FE0F emoji style
 2709	ENVELOPE
 	x (incoming envelope - 1F4E8)
+	~ 2709 FE0E text style
+	~ 2709 FE0F emoji style
 270A	RAISED FIST
 	= rock in Rock, Paper, Scissors game
 	x (fisted hand sign - 1F44A)
@@ -14989,19 +15487,29 @@
 	x (waving hand sign - 1F44B)
 270C	VICTORY HAND
 	= scissors in Rock, Paper, Scissors game
+	~ 270C FE0E text style
+	~ 270C FE0F emoji style
 270D	WRITING HAND
 270E	LOWER RIGHT PENCIL
 270F	PENCIL
+	~ 270F FE0E text style
+	~ 270F FE0F emoji style
 2710	UPPER RIGHT PENCIL
 2711	WHITE NIB
 2712	BLACK NIB
+	~ 2712 FE0E text style
+	~ 2712 FE0F emoji style
 2713	CHECK MARK
 	x (square root - 221A)
 2714	HEAVY CHECK MARK
+	~ 2714 FE0E text style
+	~ 2714 FE0F emoji style
 2715	MULTIPLICATION X
 	x (multiplication sign - 00D7)
 	x (box drawings light diagonal cross - 2573)
 2716	HEAVY MULTIPLICATION X
+	~ 2716 FE0E text style
+	~ 2716 FE0F emoji style
 2717	BALLOT X
 	x (saltire - 2613)
 2718	HEAVY BALLOT X
@@ -15014,7 +15522,7 @@
 271E	SHADOWED WHITE LATIN CROSS
 271F	OUTLINED LATIN CROSS
 2720	MALTESE CROSS
-	* Historically, the Maltese cross took many forms; the shape shown in the Zapf Dingbats is similar to one known as the Cross Form\xE9e.
+	* Historically, the Maltese cross took many forms; the shape shown in the Zapf Dingbats is similar to one known as the Cross Formée.
 @		Stars, asterisks and snowflakes
 2721	STAR OF DAVID
 	x (six pointed star with middle dot - 1F52F)
@@ -15038,7 +15546,11 @@
 	x (asterisk - 002A)
 2732	OPEN CENTRE ASTERISK
 2733	EIGHT SPOKED ASTERISK
+	~ 2733 FE0E text style
+	~ 2733 FE0F emoji style
 2734	EIGHT POINTED BLACK STAR
+	~ 2734 FE0E text style
+	~ 2734 FE0F emoji style
 2735	EIGHT POINTED PINWHEEL STAR
 2736	SIX POINTED BLACK STAR
 	= sextile
@@ -15058,9 +15570,13 @@
 2742	CIRCLED OPEN CENTRE EIGHT POINTED STAR
 2743	HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK
 2744	SNOWFLAKE
+	~ 2744 FE0E text style
+	~ 2744 FE0F emoji style
 2745	TIGHT TRIFOLIATE SNOWFLAKE
 2746	HEAVY CHEVRON SNOWFLAKE
 2747	SPARKLE
+	~ 2747 FE0E text style
+	~ 2747 FE0F emoji style
 2748	HEAVY SPARKLE
 2749	BALLOON-SPOKED ASTERISK
 	= jack
@@ -15083,6 +15599,8 @@
 2756	BLACK DIAMOND MINUS WHITE X
 2757	HEAVY EXCLAMATION MARK SYMBOL
 	= obstacles on the road, ARIB STD B24
+	~ 2757 FE0E text style
+	~ 2757 FE0F emoji style
 2758	LIGHT VERTICAL BAR
 	x (vertical line - 007C)
 2759	MEDIUM VERTICAL BAR
@@ -15107,6 +15625,8 @@
 2763	HEAVY HEART EXCLAMATION MARK ORNAMENT
 2764	HEAVY BLACK HEART
 	x (black heart suit - 2665)
+	~ 2764 FE0E text style
+	~ 2764 FE0F emoji style
 2765	ROTATED HEAVY BLACK HEART BULLET
 2766	FLORAL HEART
 	= Aldus leaf
@@ -15191,6 +15711,8 @@
 27A1	BLACK RIGHTWARDS ARROW
 	* fonts may harmonize this glyph with the style for other black arrows
 	x (leftwards black arrow - 2B05)
+	~ 27A1 FE0E text style
+	~ 27A1 FE0F emoji style
 27A2	THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD
 27A3	THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD
 27A4	BLACK RIGHTWARDS ARROWHEAD
@@ -15225,6 +15747,7 @@
 27BE	OPEN-OUTLINED RIGHTWARDS ARROW
 @		Miscellaneous
 27BF	DOUBLE CURLY LOOP
+@~	Standardized Variation Sequences
 @@	27C0	Miscellaneous Mathematical Symbols-A	27EF
 @		Miscellaneous symbols
 27C0	THREE DIMENSIONAL ANGLE
@@ -15246,6 +15769,10 @@
 27CA	VERTICAL BAR WITH HORIZONTAL STROKE
 	x (parallel with horizontal stroke - 2AF2)
 	x (triple vertical bar with horizontal stroke - 2AF5)
+@		Miscellaneous symbol
+27CB	MATHEMATICAL RISING DIAGONAL
+	= \diagup
+	x (division slash - 2215)
 @		Division operator
 27CC	LONG DIVISION
 	* graphically extends over the dividend
@@ -15252,6 +15779,11 @@
 	x (division sign - 00F7)
 	x (division slash - 2215)
 	x (square root - 221A)
+@		Miscellaneous symbol
+27CD	MATHEMATICAL FALLING DIAGONAL
+	= \diagdown
+	x (set minus - 2216)
+	x (reverse solidus operator - 29F5)
 @		Operators
 27CE	SQUARED LOGICAL AND
 	= box min
@@ -15318,6 +15850,7 @@
 27E5	WHITE SQUARE WITH RIGHTWARDS TICK
 	= will always be (modal operator)
 @		Mathematical brackets
+ at +		These bracket characters are also used as punctuation outside of a mathematical context.
 27E6	MATHEMATICAL LEFT WHITE SQUARE BRACKET
 	= z notation left bag bracket
 	x (left white square bracket - 301A)
@@ -15741,7 +16274,11 @@
 	x (rightwards wave arrow - 219D)
 	x (wave arrow pointing directly left - 2B3F)
 2934	ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+	~ 2934 FE0E text style
+	~ 2934 FE0F emoji style
 2935	ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+	~ 2935 FE0E text style
+	~ 2935 FE0F emoji style
 2936	ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
 2937	ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
 2938	RIGHT-SIDE ARC CLOCKWISE ARROW
@@ -15834,6 +16371,7 @@
 297D	RIGHT FISH TAIL
 297E	UP FISH TAIL
 297F	DOWN FISH TAIL
+@~	Standardized Variation Sequences
 @@	2980	Miscellaneous Mathematical Symbols-B	29FF
 @		Miscellaneous mathematical symbols
 2980	TRIPLE VERTICAL BAR DELIMITER
@@ -16032,6 +16570,7 @@
 29F5	REVERSE SOLIDUS OPERATOR
 	x (reverse solidus - 005C)
 	x (set minus - 2216)
+	x (mathematical falling diagonal - 27CD)
 29F6	SOLIDUS WITH OVERBAR
 29F7	REVERSE SOLIDUS WITH HORIZONTAL STROKE
 	x (apl functional symbol backslash bar - 2340)
@@ -16158,9 +16697,11 @@
 2A3B	MULTIPLICATION SIGN IN TRIANGLE
 2A3C	INTERIOR PRODUCT
 	x (right floor - 230B)
+	~ 2A3C FE00 tall variant with narrow foot
 2A3D	RIGHTHAND INTERIOR PRODUCT
 	x (left floor - 230A)
 	x (turned not sign - 2319)
+	~ 2A3D FE00 tall variant with narrow foot
 2A3E	Z NOTATION RELATIONAL COMPOSITION
 	x (z notation schema composition - 2A1F)
 2A3F	AMALGAMATION OR COPRODUCT
@@ -16298,7 +16839,9 @@
 2A9B	DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
 2A9C	DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
 2A9D	SIMILAR OR LESS-THAN
+	~ 2A9D FE00 with similar following the slant of the upper leg
 2A9E	SIMILAR OR GREATER-THAN
+	~ 2A9E FE00 with similar following the slant of the upper leg
 2A9F	SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
 2AA0	SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
 2AA1	DOUBLE NESTED LESS-THAN
@@ -16316,7 +16859,9 @@
 2AAA	SMALLER THAN
 2AAB	LARGER THAN
 2AAC	SMALLER THAN OR EQUAL TO
+	~ 2AAC FE00 with slanted equal
 2AAD	LARGER THAN OR EQUAL TO
+	~ 2AAD FE00 with slanted equal
 2AAE	EQUALS SIGN WITH BUMPY ABOVE
 	x (difference between - 224F)
 2AAF	PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
@@ -16351,7 +16896,9 @@
 2AC9	SUBSET OF ABOVE ALMOST EQUAL TO
 2ACA	SUPERSET OF ABOVE ALMOST EQUAL TO
 2ACB	SUBSET OF ABOVE NOT EQUAL TO
+	~ 2ACB FE00 with stroke through bottom members
 2ACC	SUPERSET OF ABOVE NOT EQUAL TO
+	~ 2ACC FE00 with stroke through bottom members
 2ACD	SQUARE LEFT OPEN BOX OPERATOR
 2ACE	SQUARE RIGHT OPEN BOX OPERATOR
 2ACF	CLOSED SUBSET
@@ -16459,6 +17006,7 @@
 	= Dijkstra choice
 2AFF	N-ARY WHITE VERTICAL BAR
 	= n-ary Dijkstra choice
+@~	Standardized Variation Sequences
 @@	2B00	Miscellaneous Symbols and Arrows	2BFF
 @		White and black arrows
 @+		Other white and black arrows to complete this set can be found in the Arrows and Dingbats blocks.
@@ -16471,8 +17019,14 @@
 	x (up down white arrow - 21F3)
 2B05	LEFTWARDS BLACK ARROW
 	x (black rightwards arrow - 27A1)
+	~ 2B05 FE0E text style
+	~ 2B05 FE0F emoji style
 2B06	UPWARDS BLACK ARROW
+	~ 2B06 FE0E text style
+	~ 2B06 FE0F emoji style
 2B07	DOWNWARDS BLACK ARROW
+	~ 2B07 FE0E text style
+	~ 2B07 FE0F emoji style
 2B08	NORTH EAST BLACK ARROW
 2B09	NORTH WEST BLACK ARROW
 2B0A	SOUTH EAST BLACK ARROW
@@ -16500,8 +17054,12 @@
 2B1A	DOTTED SQUARE
 2B1B	BLACK LARGE SQUARE
 	x (black square - 25A0)
+	~ 2B1B FE0E text style
+	~ 2B1B FE0F emoji style
 2B1C	WHITE LARGE SQUARE
 	x (white square - 25A1)
+	~ 2B1C FE0E text style
+	~ 2B1C FE0F emoji style
 2B1D	BLACK VERY SMALL SQUARE
 	x (black small square - 25AA)
 2B1E	WHITE VERY SMALL SQUARE
@@ -16603,6 +17161,8 @@
 @		Stars
 2B50	WHITE MEDIUM STAR
 	x (star operator - 22C6)
+	~ 2B50 FE0E text style
+	~ 2B50 FE0F emoji style
 2B51	BLACK SMALL STAR
 	x (arabic five pointed star - 066D)
 2B52	WHITE SMALL STAR
@@ -16614,6 +17174,8 @@
 	= basic symbol for speed limit
 	* forms a game tally pair with 274C
 	x (large circle - 25EF)
+	~ 2B55 FE0E text style
+	~ 2B55 FE0F emoji style
 @		Dictionary and map symbols from ARIB STD B24
 2B56	HEAVY OVAL WITH OVAL INSIDE
 	= prefectural office
@@ -16626,6 +17188,7 @@
 2B59	HEAVY CIRCLED SALTIRE
 	= police station
 	x (n-ary circled times operator - 2A02)
+@~	Standardized Variation Sequences
 @@	2C00	Glagolitic	2C5F
 @		Capital letters
 2C00	GLAGOLITIC CAPITAL LETTER AZU
@@ -16911,6 +17474,11 @@
 2CF1	COPTIC COMBINING SPIRITUS LENIS
 	x (combining comma above - 0313)
 	x (combining cyrillic psili pneumata - 0486)
+@		Bohairic Coptic letters
+2CF2	COPTIC CAPITAL LETTER BOHAIRIC KHEI
+	x (coptic capital letter khei - 03E6)
+2CF3	COPTIC SMALL LETTER BOHAIRIC KHEI
+	x (coptic small letter khei - 03E7)
 @		Old Nubian punctuation
 2CF9	COPTIC OLD NUBIAN FULL STOP
 2CFA	COPTIC OLD NUBIAN DIRECT QUESTION MARK
@@ -16962,6 +17530,10 @@
 2D23	GEORGIAN SMALL LETTER WE
 2D24	GEORGIAN SMALL LETTER HAR
 2D25	GEORGIAN SMALL LETTER HOE
+@		Additional letter
+2D27	GEORGIAN SMALL LETTER YN
+@		Additional letter for Ossetian
+2D2D	GEORGIAN SMALL LETTER AEN
 @@	2D30	Tifinagh	2D7F
 @		Letters
 2D30	TIFINAGH LETTER YA
@@ -17022,6 +17594,8 @@
 2D64	TIFINAGH LETTER TAWELLEMET YAZ
 	= harpoon yaz
 2D65	TIFINAGH LETTER YAZZ
+2D66	TIFINAGH LETTER YE
+2D67	TIFINAGH LETTER YO
 @		Modifier letter
 2D6F	TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 	= tamatart
@@ -17265,6 +17839,36 @@
 2E31	WORD SEPARATOR MIDDLE DOT
 	* used in Avestan, Samaritan, ...
 	x (middle dot - 00B7)
+@		Palaeotype transliteration symbol
+2E32	TURNED COMMA
+	* indicates nasalization
+	x (arabic comma - 060C)
+@		Historic punctuation
+2E33	RAISED DOT
+	* glyph position intermediate between 002E and 00B7
+	x (full stop - 002E)
+	x (middle dot - 00B7)
+2E34	RAISED COMMA
+	x (comma - 002C)
+@		Palaeotype transliteration symbols
+2E35	TURNED SEMICOLON
+	* indicates sudden glottal closure
+	x (arabic semicolon - 061B)
+2E36	DAGGER WITH LEFT GUARD
+	* indicates retracted pronunciation
+2E37	DAGGER WITH RIGHT GUARD
+	* indicates advanced pronunciation
+2E38	TURNED DAGGER
+	* indicates retroflex pronunciation
+	x (dagger - 2020)
+2E39	TOP HALF SECTION SIGN
+	* indicates pronunciation on one side of the mouth only
+	x (section sign - 00A7)
+@		Dashes
+2E3A	TWO-EM DASH
+	= omission dash
+	x (em dash - 2014)
+2E3B	THREE-EM DASH
 @@	2E80	CJK Radicals Supplement	2EFF
 @		CJK radicals supplement
 2E80	CJK RADICAL REPEAT
@@ -18114,6 +18718,8 @@
 	x (squared rising diagonal slash - 29C4)
 303D	PART ALTERNATION MARK
 	* marks the start of a song part in Japanese
+	~ 303D FE0E text style
+	~ 303D FE0F emoji style
 @		Special CJK indicators
 @+		These are visibly displayed graphic characters, not invisible format control characters.
 303E	IDEOGRAPHIC VARIATION INDICATOR
@@ -18120,6 +18726,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
+@~	Standardized Variation Sequences
 @@	3040	Hiragana	309F
 @		Hiragana letters
 3041	HIRAGANA LETTER SMALL A
@@ -18499,6 +19106,7 @@
 3146	HANGUL LETTER SSANGSIOS
 	# 110A hangul choseong ssangsios
 3147	HANGUL LETTER IEUNG
+	* zero sound as initial or velar nasal consonant as final
 	# 110B hangul choseong ieung
 3148	HANGUL LETTER CIEUC
 	# 110C hangul choseong cieuc
@@ -18513,6 +19121,7 @@
 314D	HANGUL LETTER PHIEUPH
 	# 1111 hangul choseong phieuph
 314E	HANGUL LETTER HIEUH
+	* voiceless glottal fricative
 	# 1112 hangul choseong hieuh
 314F	HANGUL LETTER A
 	# 1161 hangul jungseong a
@@ -18614,12 +19223,13 @@
 317E	HANGUL LETTER SIOS-CIEUC
 	# 1136 hangul choseong sios-cieuc
 317F	HANGUL LETTER PANSIOS
+	* voiced alveolar fricative
 	# 1140 hangul choseong pansios
 3180	HANGUL LETTER SSANGIEUNG
 	= ssangyesieung
 	# 1147 hangul choseong ssangieung
 3181	HANGUL LETTER YESIEUNG
-	* old velar nasal
+	* velar nasal consonant
 	# 114C hangul choseong yesieung
 3182	HANGUL LETTER YESIEUNG-SIOS
 	# 11F1 hangul jongseong yesieung-sios
@@ -18630,7 +19240,7 @@
 3185	HANGUL LETTER SSANGHIEUH
 	# 1158 hangul choseong ssanghieuh
 3186	HANGUL LETTER YEORINHIEUH
-	* old glottal stop
+	* glottal stop
 	# 1159 hangul choseong yeorinhieuh
 3187	HANGUL LETTER YO-YA
 	# 1184 hangul jungseong yo-ya
@@ -18645,6 +19255,7 @@
 318C	HANGUL LETTER YU-I
 	# 1194 hangul jungseong yu-i
 318D	HANGUL LETTER ARAEA
+	* rounded open-mid back vowel
 	# 119E hangul jungseong araea
 318E	HANGUL LETTER ARAEAE
 	# 11A1 hangul jungseong araea-i
@@ -19162,10 +19773,14 @@
 3296	CIRCLED IDEOGRAPH FINANCIAL
 	# <circle> 8CA1
 3297	CIRCLED IDEOGRAPH CONGRATULATION
+	~ 3297 FE0E text style
+	~ 3297 FE0F emoji style
 	# <circle> 795D
 3298	CIRCLED IDEOGRAPH LABOR
 	# <circle> 52B4
 3299	CIRCLED IDEOGRAPH SECRET
+	~ 3299 FE0E text style
+	~ 3299 FE0F emoji style
 	# <circle> 79D8
 329A	CIRCLED IDEOGRAPH MALE
 	# <circle> 7537
@@ -19375,6 +19990,7 @@
 	# <circle> 30F1
 32FE	CIRCLED KATAKANA WO
 	# <circle> 30F2
+@~	Standardized Variation Sequences
 @@	3300	CJK Compatibility	33FF
 @		Squared Katakana words
 3300	SQUARE APAATO
@@ -19770,6 +20386,8 @@
 	# <square> 0047 0048 007A
 3394	SQUARE THZ
 	# <square> 0054 0048 007A
+@		Abbreviations involving liter symbols
+ at +		The glyphs for these squared abbreviations may use the SI symbol for liter, "l" or "L", instead of a script l.
 3395	SQUARE MU L
 	# <square> 03BC 2113
 3396	SQUARE ML
@@ -19778,6 +20396,7 @@
 	# <square> 0064 2113
 3398	SQUARE KL
 	# <square> 006B 2113
+@		Squared Latin abbreviations
 3399	SQUARE FM
 	# <square> 0066 006D
 339A	SQUARE NM
@@ -20054,7 +20673,7 @@
 4DFD	HEXAGRAM FOR SMALL PREPONDERANCE
 4DFE	HEXAGRAM FOR AFTER COMPLETION
 4DFF	HEXAGRAM FOR BEFORE COMPLETION
-@@	4E00	CJK Unified Ideographs	9FCB
+@@	4E00	CJK Unified Ideographs	9FCC
 @@	A000	Yi Syllables	A48F
 @@+
 @		Syllables
@@ -21767,6 +22386,14 @@
 @		Punctuation mark
 A673	SLAVONIC ASTERISK
 @		Combining marks for Old Cyrillic
+A674	COMBINING CYRILLIC LETTER UKRAINIAN IE
+A675	COMBINING CYRILLIC LETTER I
+A676	COMBINING CYRILLIC LETTER YI
+A677	COMBINING CYRILLIC LETTER U
+A678	COMBINING CYRILLIC LETTER HARD SIGN
+A679	COMBINING CYRILLIC LETTER YERU
+A67A	COMBINING CYRILLIC LETTER SOFT SIGN
+A67B	COMBINING CYRILLIC LETTER OMEGA
 A67C	COMBINING CYRILLIC KAVYKA
 	* indicates an alternative reading to part of a word
 	x (combining breve - 0306)
@@ -21805,6 +22432,8 @@
 A695	CYRILLIC SMALL LETTER HWE
 A696	CYRILLIC CAPITAL LETTER SHWE
 A697	CYRILLIC SMALL LETTER SHWE
+@		Combining mark for Old Cyrillic
+A69F	COMBINING CYRILLIC LETTER IOTIFIED E
 @@	A6A0	Bamum	A6FF
 @		Syllables
 A6A0	BAMUM LETTER A
@@ -21882,12 +22511,12 @@
 A6E7	BAMUM LETTER MBAA
 	* also used for digit two
 A6E8	BAMUM LETTER TET
-	* t\xE8t
+	* tèt
 	* also used for digit three
 A6E9	BAMUM LETTER KPA
 	* also used for digit four
 A6EA	BAMUM LETTER TEN
-	* t\xE8n
+	* tèn
 	* also used for digit five
 A6EB	BAMUM LETTER NTUU
 	* also used for digit six
@@ -22086,7 +22715,7 @@
 	x (latin letter glottal stop - 0294)
 	x (modifier letter apostrophe - 02BC)
 	x (modifier letter glottal stop - 02C0)
-@		African letter
+@		Additional letter
 A78D	LATIN CAPITAL LETTER TURNED H
 	* used in the Dan/Gio orthography in Liberia
 	* lowercase is 0265
@@ -22094,9 +22723,14 @@
 A78E	LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 	* voiceless lateral retroflex fricative
 	* used to transcribe Toda
-@		Janalif letters
+@		Additional letters
 A790	LATIN CAPITAL LETTER N WITH DESCENDER
 A791	LATIN SMALL LETTER N WITH DESCENDER
+	* Janalif
+A792	LATIN CAPITAL LETTER C WITH BAR
+	= Cambrian symbol
+A793	LATIN SMALL LETTER C WITH BAR
+	* Nanai
 @		Latvian letters for pre-1921 orthography
 A7A0	LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A1	LATIN SMALL LETTER G WITH OBLIQUE STROKE
@@ -22110,6 +22744,17 @@
 A7A9	LATIN SMALL LETTER S WITH OBLIQUE STROKE
 	* also used in pre-1950 Lower Sorbian orthography
 	x (latin small letter long s with diagonal stroke - 1E9C)
+@		Additional letter
+A7AA	LATIN CAPITAL LETTER H WITH HOOK
+	* lowercase is 0266
+	* used in Chad
+@		Additions for Extended IPA
+A7F8	MODIFIER LETTER CAPITAL H WITH STROKE
+	* faucalized
+	# <super> 0126
+A7F9	MODIFIER LETTER SMALL LIGATURE OE
+	* labialized: open-rounded
+	# <super> 0153
 @		Addition for UPA
 A7FA	LATIN LETTER SMALL CAPITAL TURNED M
 @		Ancient Roman epigraphic letters
@@ -22250,6 +22895,7 @@
 	x (tibetan letter za - 0F5F)
 A856	PHAGS-PA LETTER SMALL A
 	x (tibetan letter -a - 0F60)
+	~ A856 FE00 phags-pa letter reversed shaping small a
 A857	PHAGS-PA LETTER YA
 	x (tibetan letter ya - 0F61)
 A858	PHAGS-PA LETTER RA
@@ -22263,6 +22909,7 @@
 	x (tibetan letter sa - 0F66)
 A85C	PHAGS-PA LETTER HA
 	x (tibetan letter ha - 0F67)
+	~ A85C FE00 phags-pa letter reversed shaping ha
 @		Letter A
 A85D	PHAGS-PA LETTER A
 	x (tibetan letter a - 0F68)
@@ -22269,10 +22916,13 @@
 @		Vowels
 A85E	PHAGS-PA LETTER I
 	x (tibetan vowel sign i - 0F72)
+	~ A85E FE00 phags-pa letter reversed shaping i
 A85F	PHAGS-PA LETTER U
 	x (tibetan vowel sign u - 0F74)
+	~ A85F FE00 phags-pa letter reversed shaping u
 A860	PHAGS-PA LETTER E
 	x (tibetan vowel sign e - 0F7A)
+	~ A860 FE00 phags-pa letter reversed shaping e
 A861	PHAGS-PA LETTER O
 	x (tibetan vowel sign o - 0F7C)
 @		Consonants
@@ -22296,6 +22946,7 @@
 A868	PHAGS-PA SUBJOINED LETTER YA
 	* Chinese, Tibetan, Sanskrit
 	x (tibetan subjoined letter ya - 0FB1)
+	~ A868 FE00 phags-pa letter reversed shaping subjoined ya
 @		Consonant additions for Sanskrit
 A869	PHAGS-PA LETTER TTA
 	* Sanskrit
@@ -22352,6 +23003,7 @@
 A877	PHAGS-PA MARK DOUBLE SHAD
 	* Tibetan
 	x (tibetan mark nyis shad - 0F0E)
+@~	Standardized Variation Sequences
 @@	A880	Saurashtra	A8DF
 @		Various signs
 A880	SAURASHTRA SIGN ANUSVARA
@@ -23002,6 +23654,46 @@
 	* marks start of text in songs and poems
 AADF	TAI VIET SYMBOL KOI KOI
 	* marks end of text in songs and poems
+@@	AAE0	Meetei Mayek Extensions	AAFF
+ at +		The characters in this block are extensions for historical orthographies of Meetei and are not specified in the Manipuri Government order No. 1/2/78-SS/E.
+@		Independent vowel signs
+AAE0	MEETEI MAYEK LETTER E
+AAE1	MEETEI MAYEK LETTER O
+@		Consonants
+AAE2	MEETEI MAYEK LETTER CHA
+AAE3	MEETEI MAYEK LETTER NYA
+AAE4	MEETEI MAYEK LETTER TTA
+AAE5	MEETEI MAYEK LETTER TTHA
+AAE6	MEETEI MAYEK LETTER DDA
+AAE7	MEETEI MAYEK LETTER DDHA
+AAE8	MEETEI MAYEK LETTER NNA
+AAE9	MEETEI MAYEK LETTER SHA
+AAEA	MEETEI MAYEK LETTER SSA
+@		Dependent vowel signs
+AAEB	MEETEI MAYEK VOWEL SIGN II
+AAEC	MEETEI MAYEK VOWEL SIGN UU
+AAED	MEETEI MAYEK VOWEL SIGN AAI
+AAEE	MEETEI MAYEK VOWEL SIGN AU
+AAEF	MEETEI MAYEK VOWEL SIGN AAU
+@		Punctuation
+AAF0	MEETEI MAYEK CHEIKHAN
+	= danda
+AAF1	MEETEI MAYEK AHANG KHUDAM
+	= question mark
+@		Sign
+AAF2	MEETEI MAYEK ANJI
+	* a philosophical sign
+	x (devanagari om - 0950)
+@		Repetition marks
+ at +		These marks have fallen into disuse.
+AAF3	MEETEI MAYEK SYLLABLE REPETITION MARK
+AAF4	MEETEI MAYEK WORD REPETITION MARK
+@		Sign
+AAF5	MEETEI MAYEK VOWEL SIGN VISARGA
+@		Virama
+AAF6	MEETEI MAYEK VIRAMA
+	* used to form conjuncts in historical orthographies
+	x (myanmar sign virama - 1039)
 @@	AB00	Ethiopic Extended-A	AB2F
 @		Gamo-Gofa-Dawro and Basketo
 AB01	ETHIOPIC SYLLABLE TTHU
@@ -23238,7 +23930,8 @@
 @@	F900	CJK Compatibility Ideographs	FAFF
 @@+
 @+		This block, despite its name, contains a number of unified CJK ideographs. Those characters are individually identified by annotations.
-@		Pronunciation variants from KS\xA0X\xA01001:1998
+ at +		Subheaders identifying sources for subranges do not indicate required usage or preclude mappings to other sources. For example, many pronunciation variants from KS X 1001:1998 are also mapped to a J source.
+@		Pronunciation variants from KS X 1001:1998
 F900	CJK COMPATIBILITY IDEOGRAPH-F900
 	: 8C48
 F901	CJK COMPATIBILITY IDEOGRAPH-F901
@@ -23847,6 +24540,11 @@
 	: 9928
 FA2D	CJK COMPATIBILITY IDEOGRAPH-FA2D
 	: 9DB4
+@		Korean compatibility ideographs
+FA2E	CJK COMPATIBILITY IDEOGRAPH-FA2E
+	: 90DE
+FA2F	CJK COMPATIBILITY IDEOGRAPH-FA2F
+	: 96B7
 @		JIS X 0213 compatibility ideographs
 FA30	CJK COMPATIBILITY IDEOGRAPH-FA30
 	: 4FAE
@@ -25589,7 +26287,7 @@
 FE0D	VARIATION SELECTOR-14
 FE0E	VARIATION SELECTOR-15
 FE0F	VARIATION SELECTOR-16
-@@	FE10	Vertical forms	FE1F
+@@	FE10	Vertical Forms	FE1F
 @+		These characters are compatibility characters needed to map to GB 18030.
 @		Glyphs for vertical variants
 FE10	PRESENTATION FORM FOR VERTICAL COMMA
@@ -27624,6 +28322,102 @@
 10939	LYDIAN LETTER C
 @		Punctuation
 1093F	LYDIAN TRIANGULAR MARK
+@@	10980	Meroitic Hieroglyphs	1099F
+@		Vowel letters
+10980	MEROITIC HIEROGLYPHIC LETTER A
+	x (egyptian hieroglyph a001 - 13000)
+10981	MEROITIC HIEROGLYPHIC LETTER E
+	x (egyptian hieroglyph h006 - 13184)
+10982	MEROITIC HIEROGLYPHIC LETTER I
+	x (egyptian hieroglyph a026 - 1301E)
+10983	MEROITIC HIEROGLYPHIC LETTER O
+	x (egyptian hieroglyph f001 - 130FE)
+@		Consonant letters
+10984	MEROITIC HIEROGLYPHIC LETTER YA
+	x (egyptian hieroglyph m017a - 131CC)
+10985	MEROITIC HIEROGLYPHIC LETTER WA
+	x (egyptian hieroglyph v004 - 1336F)
+10986	MEROITIC HIEROGLYPHIC LETTER BA
+	x (egyptian hieroglyph e011 - 130DE)
+10987	MEROITIC HIEROGLYPHIC LETTER BA-2
+	x (egyptian hieroglyph d058 - 130C0)
+10988	MEROITIC HIEROGLYPHIC LETTER PA
+	x (egyptian hieroglyph q003 - 132AA)
+10989	MEROITIC HIEROGLYPHIC LETTER MA
+	x (egyptian hieroglyph g017 - 13153)
+1098A	MEROITIC HIEROGLYPHIC LETTER NA
+	x (egyptian hieroglyph n035 - 13216)
+1098B	MEROITIC HIEROGLYPHIC LETTER NA-2
+1098C	MEROITIC HIEROGLYPHIC LETTER NE
+	x (egyptian hieroglyph m022a - 131D2)
+1098D	MEROITIC HIEROGLYPHIC LETTER NE-2
+1098E	MEROITIC HIEROGLYPHIC LETTER RA
+	x (egyptian hieroglyph d021 - 1308B)
+1098F	MEROITIC HIEROGLYPHIC LETTER RA-2
+10990	MEROITIC HIEROGLYPHIC LETTER LA
+	x (egyptian hieroglyph e023 - 130ED)
+10991	MEROITIC HIEROGLYPHIC LETTER KHA
+	x (egyptian hieroglyph aa001 - 1340D)
+10992	MEROITIC HIEROGLYPHIC LETTER HHA
+	x (egyptian hieroglyph w011 - 133BC)
+10993	MEROITIC HIEROGLYPHIC LETTER SA
+	x (egyptian hieroglyph m008 - 131B7)
+10994	MEROITIC HIEROGLYPHIC LETTER SA-2
+	x (egyptian hieroglyph o034 - 13283)
+10995	MEROITIC HIEROGLYPHIC LETTER SE
+	x (egyptian hieroglyph o034 - 13283)
+10996	MEROITIC HIEROGLYPHIC LETTER KA
+	x (egyptian hieroglyph g038 - 1316C)
+10997	MEROITIC HIEROGLYPHIC LETTER QA
+	x (egyptian hieroglyph n029 - 1320E)
+10998	MEROITIC HIEROGLYPHIC LETTER TA
+	x (egyptian hieroglyph v013 - 1337F)
+10999	MEROITIC HIEROGLYPHIC LETTER TA-2
+	x (egyptian hieroglyph n016 - 131FE)
+1099A	MEROITIC HIEROGLYPHIC LETTER TE
+	x (egyptian hieroglyph n016 - 131FE)
+	x (egyptian hieroglyph o004 - 13254)
+1099B	MEROITIC HIEROGLYPHIC LETTER TE-2
+	x (egyptian hieroglyph o004 - 13254)
+1099C	MEROITIC HIEROGLYPHIC LETTER TO
+	x (egyptian hieroglyph n021 - 13205)
+1099D	MEROITIC HIEROGLYPHIC LETTER DA
+	x (egyptian hieroglyph d006 - 1307B)
+@		Symbols
+1099E	MEROITIC HIEROGLYPHIC SYMBOL VIDJ
+	x (ankh - 2625)
+	x (egyptian hieroglyph s034 - 132F9)
+1099F	MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+@@	109A0	Meroitic Cursive	109FF
+@		Vowel letters
+109A0	MEROITIC CURSIVE LETTER A
+109A1	MEROITIC CURSIVE LETTER E
+109A2	MEROITIC CURSIVE LETTER I
+109A3	MEROITIC CURSIVE LETTER O
+@		Consonant letters
+109A4	MEROITIC CURSIVE LETTER YA
+109A5	MEROITIC CURSIVE LETTER WA
+109A6	MEROITIC CURSIVE LETTER BA
+109A7	MEROITIC CURSIVE LETTER PA
+109A8	MEROITIC CURSIVE LETTER MA
+109A9	MEROITIC CURSIVE LETTER NA
+109AA	MEROITIC CURSIVE LETTER NE
+109AB	MEROITIC CURSIVE LETTER RA
+109AC	MEROITIC CURSIVE LETTER LA
+109AD	MEROITIC CURSIVE LETTER KHA
+109AE	MEROITIC CURSIVE LETTER HHA
+109AF	MEROITIC CURSIVE LETTER SA
+109B0	MEROITIC CURSIVE LETTER ARCHAIC SA
+109B1	MEROITIC CURSIVE LETTER SE
+109B2	MEROITIC CURSIVE LETTER KA
+109B3	MEROITIC CURSIVE LETTER QA
+109B4	MEROITIC CURSIVE LETTER TA
+109B5	MEROITIC CURSIVE LETTER TE
+109B6	MEROITIC CURSIVE LETTER TO
+109B7	MEROITIC CURSIVE LETTER DA
+@		Logograms
+109BE	MEROITIC CURSIVE LOGOGRAM RMT
+109BF	MEROITIC CURSIVE LOGOGRAM IMN
 @@	10A00	Kharoshthi	10A5F
 @		Vowels
 10A00	KHAROSHTHI LETTER A
@@ -28255,6 +29049,346 @@
 	* paragraph delimiter
 110C0	KAITHI DANDA
 110C1	KAITHI DOUBLE DANDA
+@@	110D0	Sora Sompeng	110FF
+@		Consonants
+110D0	SORA SOMPENG LETTER SAH
+110D1	SORA SOMPENG LETTER TAH
+110D2	SORA SOMPENG LETTER BAH
+110D3	SORA SOMPENG LETTER CAH
+110D4	SORA SOMPENG LETTER DAH
+110D5	SORA SOMPENG LETTER GAH
+110D6	SORA SOMPENG LETTER MAH
+110D7	SORA SOMPENG LETTER NGAH
+110D8	SORA SOMPENG LETTER LAH
+110D9	SORA SOMPENG LETTER NAH
+110DA	SORA SOMPENG LETTER VAH
+110DB	SORA SOMPENG LETTER PAH
+110DC	SORA SOMPENG LETTER YAH
+110DD	SORA SOMPENG LETTER RAH
+110DE	SORA SOMPENG LETTER HAH
+110DF	SORA SOMPENG LETTER KAH
+110E0	SORA SOMPENG LETTER JAH
+110E1	SORA SOMPENG LETTER NYAH
+@		Vowels
+110E2	SORA SOMPENG LETTER AH
+110E3	SORA SOMPENG LETTER EEH
+110E4	SORA SOMPENG LETTER IH
+110E5	SORA SOMPENG LETTER UH
+110E6	SORA SOMPENG LETTER OH
+110E7	SORA SOMPENG LETTER EH
+@		Other letter
+110E8	SORA SOMPENG LETTER MAE
+@		Digits
+110F0	SORA SOMPENG DIGIT ZERO
+110F1	SORA SOMPENG DIGIT ONE
+110F2	SORA SOMPENG DIGIT TWO
+110F3	SORA SOMPENG DIGIT THREE
+110F4	SORA SOMPENG DIGIT FOUR
+110F5	SORA SOMPENG DIGIT FIVE
+110F6	SORA SOMPENG DIGIT SIX
+110F7	SORA SOMPENG DIGIT SEVEN
+110F8	SORA SOMPENG DIGIT EIGHT
+110F9	SORA SOMPENG DIGIT NINE
+@@	11100	Chakma	1114F
+@		Various signs
+11100	CHAKMA SIGN CANDRABINDU
+	= caanaphupudaa
+11101	CHAKMA SIGN ANUSVARA
+	= ekaphudaa
+11102	CHAKMA SIGN VISARGA
+	= dviphudaa
+@		Independent vowels
+11103	CHAKMA LETTER AA
+	= pichapujhaa aa
+11104	CHAKMA LETTER I
+	= delabhaangagaa i
+11105	CHAKMA LETTER U
+	= bacacu u
+11106	CHAKMA LETTER E
+	= lejaubaa e
+@		Consonants
+11107	CHAKMA LETTER KAA
+	= cucyaangyaa kaa
+11108	CHAKMA LETTER KHAA
+	= grajaangyaa khaa
+11109	CHAKMA LETTER GAA
+	= caandyaa gaa
+1110A	CHAKMA LETTER GHAA
+	= tinaddaalyaa ghaa
+1110B	CHAKMA LETTER NGAA
+	= cilaama ngaa
+1110C	CHAKMA LETTER CAA
+	= dvibhalyaa caa
+1110D	CHAKMA LETTER CHAA
+	= majaraa chaa
+1110E	CHAKMA LETTER JAA
+	= dvipadalaa jaa
+1110F	CHAKMA LETTER JHAA
+	= uraauraa jhaa
+11110	CHAKMA LETTER NYAA
+	= silaacyaa nyaa
+11111	CHAKMA LETTER TTAA
+	= dviyaadaat ttaa
+11112	CHAKMA LETTER TTHAA
+	= phudaadviyaat tthaa
+11113	CHAKMA LETTER DDAA
+	= aadudaangaat ddaa
+11114	CHAKMA LETTER DDHAA
+	= lejabharaat ddhaa
+11115	CHAKMA LETTER NNAA
+	= pettttuyaa nnaa
+11116	CHAKMA LETTER TAA
+	= ghangadaat taa
+11117	CHAKMA LETTER THAA
+	= jagadaat thaa
+11118	CHAKMA LETTER DAA
+	= dolaniit daa
+11119	CHAKMA LETTER DHAA
+	= talamuyaat dhaa
+1111A	CHAKMA LETTER NAA
+	= phaarabaanyaa naa
+1111B	CHAKMA LETTER PAA
+	= paalyaa paa
+1111C	CHAKMA LETTER PHAA
+	= ubaraphudaa phaa
+1111D	CHAKMA LETTER BAA
+	= ubaramuyaa baa
+1111E	CHAKMA LETTER BHAA
+	= ciraddaalyaa bhaa
+1111F	CHAKMA LETTER MAA
+	= bugatpadalaa maa
+11120	CHAKMA LETTER YYAA
+	= cimayyaa yyaa
+11121	CHAKMA LETTER YAA
+	= jilyaa yaa
+11122	CHAKMA LETTER RAA
+	= dvidaayyaa raa
+11123	CHAKMA LETTER LAA
+	= talamuyaa laa
+11124	CHAKMA LETTER WAA
+	= bajhonyaa waa
+11125	CHAKMA LETTER SAA
+	= bhudibukyaa saa
+11126	CHAKMA LETTER HAA
+	= ubaramuyaa haa
+@		Dependent vowel signs
+11127	CHAKMA VOWEL SIGN A
+	= ubaratulyaa a
+11128	CHAKMA VOWEL SIGN I
+	= bahryaa i
+11129	CHAKMA VOWEL SIGN II
+	= baaniiphadaa ii
+1112A	CHAKMA VOWEL SIGN U
+	= ekattaana u
+1112B	CHAKMA VOWEL SIGN UU
+	= dvittaana uu
+1112C	CHAKMA VOWEL SIGN E
+	= ekaara e
+1112D	CHAKMA VOWEL SIGN AI
+	= delabhaanga ai
+1112E	CHAKMA VOWEL SIGN O
+	= okaara o
+	: 11131 11127
+1112F	CHAKMA VOWEL SIGN AU
+	= aukaara au
+	: 11132 11127
+11130	CHAKMA VOWEL SIGN OI
+	= oikaara oi
+11131	CHAKMA O MARK
+11132	CHAKMA AU MARK
+@		Various signs
+11133	CHAKMA VIRAMA
+	* used to form conjuncts
+	x (myanmar sign virama - 1039)
+11134	CHAKMA MAAYYAA
+	* killer
+	x (myanmar sign asat - 103A)
+@		Digits
+11136	CHAKMA DIGIT ZERO
+11137	CHAKMA DIGIT ONE
+11138	CHAKMA DIGIT TWO
+11139	CHAKMA DIGIT THREE
+1113A	CHAKMA DIGIT FOUR
+1113B	CHAKMA DIGIT FIVE
+1113C	CHAKMA DIGIT SIX
+1113D	CHAKMA DIGIT SEVEN
+1113E	CHAKMA DIGIT EIGHT
+1113F	CHAKMA DIGIT NINE
+@		Punctuation
+11140	CHAKMA SECTION MARK
+	= phulacihna
+11141	CHAKMA DANDA
+	= ekacilyaa
+11142	CHAKMA DOUBLE DANDA
+	= dvicilyaa
+11143	CHAKMA QUESTION MARK
+	= pujhaar
+@@	11180	Sharada	111DF
+@		Various signs
+11180	SHARADA SIGN CANDRABINDU
+11181	SHARADA SIGN ANUSVARA
+11182	SHARADA SIGN VISARGA
+@		Independent vowels
+11183	SHARADA LETTER A
+11184	SHARADA LETTER AA
+11185	SHARADA LETTER I
+11186	SHARADA LETTER II
+11187	SHARADA LETTER U
+11188	SHARADA LETTER UU
+11189	SHARADA LETTER VOCALIC R
+1118A	SHARADA LETTER VOCALIC RR
+1118B	SHARADA LETTER VOCALIC L
+1118C	SHARADA LETTER VOCALIC LL
+1118D	SHARADA LETTER E
+1118E	SHARADA LETTER AI
+1118F	SHARADA LETTER O
+11190	SHARADA LETTER AU
+@		Consonants
+11191	SHARADA LETTER KA
+11192	SHARADA LETTER KHA
+11193	SHARADA LETTER GA
+11194	SHARADA LETTER GHA
+11195	SHARADA LETTER NGA
+11196	SHARADA LETTER CA
+11197	SHARADA LETTER CHA
+11198	SHARADA LETTER JA
+11199	SHARADA LETTER JHA
+1119A	SHARADA LETTER NYA
+1119B	SHARADA LETTER TTA
+1119C	SHARADA LETTER TTHA
+1119D	SHARADA LETTER DDA
+1119E	SHARADA LETTER DDHA
+1119F	SHARADA LETTER NNA
+111A0	SHARADA LETTER TA
+111A1	SHARADA LETTER THA
+111A2	SHARADA LETTER DA
+111A3	SHARADA LETTER DHA
+111A4	SHARADA LETTER NA
+111A5	SHARADA LETTER PA
+111A6	SHARADA LETTER PHA
+111A7	SHARADA LETTER BA
+111A8	SHARADA LETTER BHA
+111A9	SHARADA LETTER MA
+111AA	SHARADA LETTER YA
+111AB	SHARADA LETTER RA
+111AC	SHARADA LETTER LA
+111AD	SHARADA LETTER LLA
+111AE	SHARADA LETTER VA
+111AF	SHARADA LETTER SHA
+111B0	SHARADA LETTER SSA
+111B1	SHARADA LETTER SA
+111B2	SHARADA LETTER HA
+@		Dependent vowel signs
+111B3	SHARADA VOWEL SIGN AA
+111B4	SHARADA VOWEL SIGN I
+111B5	SHARADA VOWEL SIGN II
+111B6	SHARADA VOWEL SIGN U
+111B7	SHARADA VOWEL SIGN UU
+111B8	SHARADA VOWEL SIGN VOCALIC R
+111B9	SHARADA VOWEL SIGN VOCALIC RR
+111BA	SHARADA VOWEL SIGN VOCALIC L
+111BB	SHARADA VOWEL SIGN VOCALIC LL
+111BC	SHARADA VOWEL SIGN E
+111BD	SHARADA VOWEL SIGN AI
+111BE	SHARADA VOWEL SIGN O
+111BF	SHARADA VOWEL SIGN AU
+@		Virama
+111C0	SHARADA SIGN VIRAMA
+@		Various signs
+111C1	SHARADA SIGN AVAGRAHA
+111C2	SHARADA SIGN JIHVAMULIYA
+111C3	SHARADA SIGN UPADHMANIYA
+111C4	SHARADA OM
+@		Punctuation
+111C5	SHARADA DANDA
+111C6	SHARADA DOUBLE DANDA
+111C7	SHARADA ABBREVIATION SIGN
+111C8	SHARADA SEPARATOR
+@		Digits
+111D0	SHARADA DIGIT ZERO
+111D1	SHARADA DIGIT ONE
+111D2	SHARADA DIGIT TWO
+111D3	SHARADA DIGIT THREE
+111D4	SHARADA DIGIT FOUR
+111D5	SHARADA DIGIT FIVE
+111D6	SHARADA DIGIT SIX
+111D7	SHARADA DIGIT SEVEN
+111D8	SHARADA DIGIT EIGHT
+111D9	SHARADA DIGIT NINE
+@@	11680	Takri	116CF
+@		Independent vowels
+11680	TAKRI LETTER A
+11681	TAKRI LETTER AA
+11682	TAKRI LETTER I
+11683	TAKRI LETTER II
+11684	TAKRI LETTER U
+11685	TAKRI LETTER UU
+11686	TAKRI LETTER E
+11687	TAKRI LETTER AI
+11688	TAKRI LETTER O
+11689	TAKRI LETTER AU
+@		Consonants
+1168A	TAKRI LETTER KA
+1168B	TAKRI LETTER KHA
+1168C	TAKRI LETTER GA
+1168D	TAKRI LETTER GHA
+1168E	TAKRI LETTER NGA
+1168F	TAKRI LETTER CA
+11690	TAKRI LETTER CHA
+11691	TAKRI LETTER JA
+11692	TAKRI LETTER JHA
+11693	TAKRI LETTER NYA
+11694	TAKRI LETTER TTA
+11695	TAKRI LETTER TTHA
+11696	TAKRI LETTER DDA
+11697	TAKRI LETTER DDHA
+11698	TAKRI LETTER NNA
+11699	TAKRI LETTER TA
+1169A	TAKRI LETTER THA
+1169B	TAKRI LETTER DA
+1169C	TAKRI LETTER DHA
+1169D	TAKRI LETTER NA
+1169E	TAKRI LETTER PA
+1169F	TAKRI LETTER PHA
+116A0	TAKRI LETTER BA
+116A1	TAKRI LETTER BHA
+116A2	TAKRI LETTER MA
+116A3	TAKRI LETTER YA
+116A4	TAKRI LETTER RA
+116A5	TAKRI LETTER LA
+116A6	TAKRI LETTER VA
+116A7	TAKRI LETTER SHA
+116A8	TAKRI LETTER SA
+116A9	TAKRI LETTER HA
+116AA	TAKRI LETTER RRA
+@		Various signs
+116AB	TAKRI SIGN ANUSVARA
+116AC	TAKRI SIGN VISARGA
+@		Dependent vowel signs
+116AD	TAKRI VOWEL SIGN AA
+116AE	TAKRI VOWEL SIGN I
+116AF	TAKRI VOWEL SIGN II
+116B0	TAKRI VOWEL SIGN U
+116B1	TAKRI VOWEL SIGN UU
+116B2	TAKRI VOWEL SIGN E
+116B3	TAKRI VOWEL SIGN AI
+116B4	TAKRI VOWEL SIGN O
+116B5	TAKRI VOWEL SIGN AU
+@		Virama
+116B6	TAKRI SIGN VIRAMA
+@		Nukta
+116B7	TAKRI SIGN NUKTA
+@		Digits
+116C0	TAKRI DIGIT ZERO
+116C1	TAKRI DIGIT ONE
+116C2	TAKRI DIGIT TWO
+116C3	TAKRI DIGIT THREE
+116C4	TAKRI DIGIT FOUR
+116C5	TAKRI DIGIT FIVE
+116C6	TAKRI DIGIT SIX
+116C7	TAKRI DIGIT SEVEN
+116C8	TAKRI DIGIT EIGHT
+116C9	TAKRI DIGIT NINE
 @@	12000	Cuneiform	123FF
 @		Signs
 12000	CUNEIFORM SIGN A
@@ -30499,7 +31633,7 @@
 1342D	EGYPTIAN HIEROGLYPH AA031
 1342E	EGYPTIAN HIEROGLYPH AA032
 @@	16800	Bamum Supplement	16A3F
-@	Characters found through Phase A
+@		Characters found through Phase A
 16800	BAMUM LETTER PHASE-A NGKUE MFON
 16801	BAMUM LETTER PHASE-A GBIEE FON
 16802	BAMUM LETTER PHASE-A PON MFON PIPAEMGBIEE
@@ -30587,7 +31721,7 @@
 16854	BAMUM LETTER PHASE-A NEN
 16855	BAMUM LETTER PHASE-A NAQ
 16856	BAMUM LETTER PHASE-A MBAQ
-@	Characters found through Phase B
+@		Characters found through Phase B
 16857	BAMUM LETTER PHASE-B NSHUET
 16858	BAMUM LETTER PHASE-B TU MAEMGBIEE
 16859	BAMUM LETTER PHASE-B SIEE
@@ -30645,7 +31779,7 @@
 1688C	BAMUM LETTER PHASE-B MA
 1688D	BAMUM LETTER PHASE-B KIQ
 1688E	BAMUM LETTER PHASE-B NGOM
-@	Characters found through Phase C
+@		Characters found through Phase C
 1688F	BAMUM LETTER PHASE-C NGKUE MAEMBA
 16890	BAMUM LETTER PHASE-C NZA
 16891	BAMUM LETTER PHASE-C YUM
@@ -30745,7 +31879,7 @@
 168EE	BAMUM LETTER PHASE-C PIN
 168EF	BAMUM LETTER PHASE-C PEN
 168F0	BAMUM LETTER PHASE-C TET
-@	Characters found through Phase D
+@		Characters found through Phase D
 168F1	BAMUM LETTER PHASE-D MBUO
 168F2	BAMUM LETTER PHASE-D WAP
 168F3	BAMUM LETTER PHASE-D NJI
@@ -30870,7 +32004,7 @@
 16964	BAMUM LETTER PHASE-D SAQ
 16965	BAMUM LETTER PHASE-D FAA
 	* used before 169B8 for faamae '8' in Phases A-D
-@	Characters found through Phase E
+@		Characters found through Phase E
 16966	BAMUM LETTER PHASE-E NDAP
 	* i in Phase F
 16967	BAMUM LETTER PHASE-E TOON
@@ -31045,7 +32179,7 @@
 16A01	BAMUM LETTER PHASE-E FAQ
 16A02	BAMUM LETTER PHASE-E GHOM
 	* used after 169F9 for koghom '10' in Phases A-D
-@	Characters found through Phase F
+@		Characters found through Phase F
 16A03	BAMUM LETTER PHASE-F KA
 16A04	BAMUM LETTER PHASE-F U
 16A05	BAMUM LETTER PHASE-F KU
@@ -31101,6 +32235,194 @@
 16A37	BAMUM LETTER PHASE-F SAMBA
 16A38	BAMUM LETTER PHASE-F VUEQ
 	* used after 169F9 for kovue '9' in Phases A-D
+@@	16F00	Miao	16F9F
+@		Consonant onsets
+16F00	MIAO LETTER PA
+	* used for ba in Dry Yi
+16F01	MIAO LETTER BA
+16F02	MIAO LETTER YI PA
+	* used for pa in Dry Yi
+16F03	MIAO LETTER PLA
+	* used in Sichuan Hmong
+16F04	MIAO LETTER MA
+16F05	MIAO LETTER MHA
+16F06	MIAO LETTER ARCHAIC MA
+	* used in Pollard's early orthography 
+16F07	MIAO LETTER FA
+16F08	MIAO LETTER VA
+16F09	MIAO LETTER VFA
+	* used in Black Yi 
+16F0A	MIAO LETTER TA
+	* used for da in Dry Yi
+16F0B	MIAO LETTER DA
+16F0C	MIAO LETTER YI TTA
+	* used in Hei Yi
+16F0D	MIAO LETTER YI TA
+	* used for ta in Dry Yi
+16F0E	MIAO LETTER TTA
+16F0F	MIAO LETTER DDA
+16F10	MIAO LETTER NA
+16F11	MIAO LETTER NHA
+16F12	MIAO LETTER YI NNA
+	* used in Hei Yi
+16F13	MIAO LETTER ARCHAIC NA
+	* used in Pollard's early orthography 
+16F14	MIAO LETTER NNA
+16F15	MIAO LETTER NNHA
+16F16	MIAO LETTER LA
+16F17	MIAO LETTER LYA
+	* used in Black Yi 
+16F18	MIAO LETTER LHA
+16F19	MIAO LETTER LHYA
+	* used in Black Yi 
+16F1A	MIAO LETTER TLHA
+16F1B	MIAO LETTER DLHA
+16F1C	MIAO LETTER TLHYA
+16F1D	MIAO LETTER DLHYA
+16F1E	MIAO LETTER KA
+	* used for ga in Dry Yi
+16F1F	MIAO LETTER GA
+16F20	MIAO LETTER YI KA
+	* used for ka in Dry Yi
+16F21	MIAO LETTER QA
+16F22	MIAO LETTER QGA
+16F23	MIAO LETTER NGA
+16F24	MIAO LETTER NGHA
+16F25	MIAO LETTER ARCHAIC NGA
+	* used in Pollard's early orthography 
+16F26	MIAO LETTER HA
+16F27	MIAO LETTER XA
+ at +	* archaic character used in a post-1949 reformed orthography
+16F28	MIAO LETTER GHA
+16F29	MIAO LETTER GHHA
+16F2A	MIAO LETTER TSSA
+16F2B	MIAO LETTER DZZA
+16F2C	MIAO LETTER NYA
+16F2D	MIAO LETTER NYHA
+16F2E	MIAO LETTER TSHA
+	* used for dzha in Dry Yi
+16F2F	MIAO LETTER DZHA
+16F30	MIAO LETTER YI TSHA
+	* used for tsha in Dry Yi
+16F31	MIAO LETTER YI DZHA
+	* used in Hei Yi
+16F32	MIAO LETTER REFORMED TSHA
+ at +	* archaic character used in a post-1949 reformed orthography
+16F33	MIAO LETTER SHA
+16F34	MIAO LETTER SSA
+16F35	MIAO LETTER ZHA
+	* used in Black Yi 
+16F36	MIAO LETTER ZSHA
+	* used in Black Yi 
+16F37	MIAO LETTER TSA
+	* used for dza in Dry Yi
+16F38	MIAO LETTER DZA
+16F39	MIAO LETTER YI TSA
+	* used for tsa in Dry Yi
+16F3A	MIAO LETTER SA
+16F3B	MIAO LETTER ZA
+16F3C	MIAO LETTER ZSA
+	* used in Black Yi 
+16F3D	MIAO LETTER ZZA
+16F3E	MIAO LETTER ZZSA
+	* used in Black Yi 
+16F3F	MIAO LETTER ARCHAIC ZZA
+	* used in Pollard's early orthography 
+16F40	MIAO LETTER ZZYA
+	* used in Black Yi 
+16F41	MIAO LETTER ZZSYA
+	* used in Black Yi 
+16F42	MIAO LETTER WA
+16F43	MIAO LETTER AH
+	* glottal stop
+16F44	MIAO LETTER HHA
+	* used in Black Yi 
+@		Modifiers
+16F50	MIAO LETTER NASALIZATION
+16F51	MIAO SIGN ASPIRATION
+16F52	MIAO SIGN REFORMED VOICING
+ at +	* archaic character used in a post-1949 reformed orthography
+16F53	MIAO SIGN REFORMED ASPIRATION
+ at +	* archaic character used in a post-1949 reformed orthography
+@		Vowels and finals
+16F54	MIAO VOWEL SIGN A
+16F55	MIAO VOWEL SIGN AA
+	* used in Eastern Lisu 
+16F56	MIAO VOWEL SIGN AHH
+	* used in Gan Yi
+16F57	MIAO VOWEL SIGN AN
+16F58	MIAO VOWEL SIGN ANG
+	* also used for aw
+16F59	MIAO VOWEL SIGN O
+16F5A	MIAO VOWEL SIGN OO
+16F5B	MIAO VOWEL SIGN WO
+	* used in Hei Yi
+16F5C	MIAO VOWEL SIGN W
+16F5D	MIAO VOWEL SIGN E
+16F5E	MIAO VOWEL SIGN EN
+16F5F	MIAO VOWEL SIGN ENG
+16F60	MIAO VOWEL SIGN OEY
+16F61	MIAO VOWEL SIGN I
+16F62	MIAO VOWEL SIGN IA
+16F63	MIAO VOWEL SIGN IAN
+16F64	MIAO VOWEL SIGN IANG
+	* also used for iaw
+16F65	MIAO VOWEL SIGN IO
+16F66	MIAO VOWEL SIGN IE
+16F67	MIAO VOWEL SIGN II
+	* used in Eastern Lisu 
+16F68	MIAO VOWEL SIGN IU
+16F69	MIAO VOWEL SIGN ING
+	* also used for in
+16F6A	MIAO VOWEL SIGN U
+16F6B	MIAO VOWEL SIGN UA
+16F6C	MIAO VOWEL SIGN UAN
+16F6D	MIAO VOWEL SIGN UANG
+	* also used for uaw
+16F6E	MIAO VOWEL SIGN UU
+	* used in Eastern Lisu 
+16F6F	MIAO VOWEL SIGN UEI
+16F70	MIAO VOWEL SIGN UNG
+16F71	MIAO VOWEL SIGN Y
+16F72	MIAO VOWEL SIGN YI
+16F73	MIAO VOWEL SIGN AE
+16F74	MIAO VOWEL SIGN AEE
+	* used in Eastern Lisu 
+16F75	MIAO VOWEL SIGN ERR
+16F76	MIAO VOWEL SIGN ROUNDED ERR
+	* used in Eastern Lisu 
+16F77	MIAO VOWEL SIGN ER
+16F78	MIAO VOWEL SIGN ROUNDED ER
+	* used in Eastern Lisu 
+16F79	MIAO VOWEL SIGN AI
+16F7A	MIAO VOWEL SIGN EI
+16F7B	MIAO VOWEL SIGN AU
+16F7C	MIAO VOWEL SIGN OU
+16F7D	MIAO VOWEL SIGN N
+16F7E	MIAO VOWEL SIGN NG
+@		Positioning tone marks
+ at +		These are used to position the vowel off of the baseline position to indicate a changed tone.
+16F8F	MIAO TONE RIGHT
+16F90	MIAO TONE TOP RIGHT
+16F91	MIAO TONE ABOVE
+16F92	MIAO TONE BELOW
+@		Baseline tone marks
+ at +		These are used in Chuxiong Ahmao instead of the positioning tone marks.
+16F93	MIAO LETTER TONE-2
+16F94	MIAO LETTER TONE-3
+16F95	MIAO LETTER TONE-4
+16F96	MIAO LETTER TONE-5
+16F97	MIAO LETTER TONE-6
+16F98	MIAO LETTER TONE-7
+16F99	MIAO LETTER TONE-8
+@		Archaic baseline tone marks
+ at +		These are archaic characters used in a post-1949 reformed orthography. 
+16F9A	MIAO LETTER REFORMED TONE-1
+16F9B	MIAO LETTER REFORMED TONE-2
+16F9C	MIAO LETTER REFORMED TONE-4
+16F9D	MIAO LETTER REFORMED TONE-5
+16F9E	MIAO LETTER REFORMED TONE-6
+16F9F	MIAO LETTER REFORMED TONE-8
 @@	1B000	Kana Supplement	1B0FF
 @		Historic Katakana
 1B000	KATAKANA LETTER ARCHAIC E
@@ -31704,7 +33026,7 @@
 1D208	GREEK VOCAL NOTATION SYMBOL-9
 	= Greek instrumental notation symbol-44
 	* vocal second sharp of G
-	* instrumental first sharp of e\xB4
+	* instrumental first sharp of e´
 1D209	GREEK VOCAL NOTATION SYMBOL-10
 	* vocal A
 	* this is a modification of 039F and is therefore not the same as 03D8
@@ -31717,7 +33039,7 @@
 1D20D	GREEK VOCAL NOTATION SYMBOL-14
 	= Greek instrumental notation symbol-41
 	* vocal first sharp of B
-	* instrumental first sharp of d\xB4
+	* instrumental first sharp of d´
 	x (latin capital letter v - 0056)
 1D20E	GREEK VOCAL NOTATION SYMBOL-15
 	= Greek instrumental notation symbol-35
@@ -31749,16 +33071,16 @@
 1D217	GREEK VOCAL NOTATION SYMBOL-24
 	* vocal second sharp of e
 1D218	GREEK VOCAL NOTATION SYMBOL-50
-	* vocal first sharp of g\xB4
+	* vocal first sharp of g´
 1D219	GREEK VOCAL NOTATION SYMBOL-51
-	* vocal second sharp of g\xB4
+	* vocal second sharp of g´
 1D21A	GREEK VOCAL NOTATION SYMBOL-52
-	* vocal a\xB4
+	* vocal a´
 1D21B	GREEK VOCAL NOTATION SYMBOL-53
-	* vocal first sharp of a\xB4
+	* vocal first sharp of a´
 1D21C	GREEK VOCAL NOTATION SYMBOL-54
 	= Greek instrumental notation symbol-20
-	* vocal second sharp of a\xB4
+	* vocal second sharp of a´
 	* instrumental first sharp of d
 @		Ancient Greek instrumental notation
 1D21D	GREEK INSTRUMENTAL NOTATION SYMBOL-1
@@ -31806,37 +33128,37 @@
 1D232	GREEK INSTRUMENTAL NOTATION SYMBOL-36
 	* instrumental second sharp of b
 1D233	GREEK INSTRUMENTAL NOTATION SYMBOL-37
-	* instrumental c\xB4
+	* instrumental c´
 1D234	GREEK INSTRUMENTAL NOTATION SYMBOL-38
-	* instrumental first sharp of c\xB4
+	* instrumental first sharp of c´
 1D235	GREEK INSTRUMENTAL NOTATION SYMBOL-39
-	* instrumental second sharp of c\xB4
+	* instrumental second sharp of c´
 1D236	GREEK INSTRUMENTAL NOTATION SYMBOL-40
-	* instrumental d\xB4
+	* instrumental d´
 1D237	GREEK INSTRUMENTAL NOTATION SYMBOL-42
-	* instrumental second sharp of d\xB4
+	* instrumental second sharp of d´
 1D238	GREEK INSTRUMENTAL NOTATION SYMBOL-43
-	* instrumental e\xB4
+	* instrumental e´
 1D239	GREEK INSTRUMENTAL NOTATION SYMBOL-45
-	* instrumental second sharp of e\xB4
+	* instrumental second sharp of e´
 1D23A	GREEK INSTRUMENTAL NOTATION SYMBOL-47
-	* instrumental first sharp of f\xB4
+	* instrumental first sharp of f´
 	* similar but not identical to 002F
 1D23B	GREEK INSTRUMENTAL NOTATION SYMBOL-48
-	* instrumental second sharp of f\xB4
+	* instrumental second sharp of f´
 	* similar but not identical to 005C
 1D23C	GREEK INSTRUMENTAL NOTATION SYMBOL-49
-	* instrumental g\xB4
+	* instrumental g´
 1D23D	GREEK INSTRUMENTAL NOTATION SYMBOL-50
-	* instrumental first sharp of g\xB4
+	* instrumental first sharp of g´
 1D23E	GREEK INSTRUMENTAL NOTATION SYMBOL-51
-	* instrumental second sharp of g\xB4
+	* instrumental second sharp of g´
 1D23F	GREEK INSTRUMENTAL NOTATION SYMBOL-52
-	* instrumental a\xB4
+	* instrumental a´
 1D240	GREEK INSTRUMENTAL NOTATION SYMBOL-53
-	* instrumental first sharp of a\xB4
+	* instrumental first sharp of a´
 1D241	GREEK INSTRUMENTAL NOTATION SYMBOL-54
-	* instrumental second sharp of a\xB4
+	* instrumental second sharp of a´
 @		Further Greek musical notation symbols
 1D242	COMBINING GREEK MUSICAL TRISEME
 	x (metrical triseme - 23D7)
@@ -34056,6 +35378,355 @@
 	# <font> 0038 digit eight
 1D7FF	MATHEMATICAL MONOSPACE DIGIT NINE
 	# <font> 0039 digit nine
+@@	1EE00	Arabic Mathematical Alphabetic Symbols	1EEFF
+@		Isolated symbols
+1EE00	ARABIC MATHEMATICAL ALEF
+	x (arabic letter alef isolated form - FE8D)
+	# <font> 0627 arabic letter alef
+1EE01	ARABIC MATHEMATICAL BEH
+	x (arabic letter beh isolated form - FE8F)
+	# <font> 0628 arabic letter beh
+1EE02	ARABIC MATHEMATICAL JEEM
+	x (arabic letter jeem isolated form - FE9D)
+	# <font> 062C arabic letter jeem
+1EE03	ARABIC MATHEMATICAL DAL
+	x (arabic letter dal isolated form - FEA9)
+	# <font> 062F arabic letter dal
+1EE05	ARABIC MATHEMATICAL WAW
+	x (arabic letter waw isolated form - FEED)
+	# <font> 0648 arabic letter waw
+1EE06	ARABIC MATHEMATICAL ZAIN
+	x (arabic letter zain isolated form - FEAF)
+	# <font> 0632 arabic letter zain
+1EE07	ARABIC MATHEMATICAL HAH
+	x (arabic letter hah isolated form - FEA1)
+	# <font> 062D arabic letter hah
+1EE08	ARABIC MATHEMATICAL TAH
+	x (arabic letter tah isolated form - FEC1)
+	# <font> 0637 arabic letter tah
+1EE09	ARABIC MATHEMATICAL YEH
+	x (arabic letter yeh isolated form - FEF1)
+	# <font> 064A arabic letter yeh
+1EE0A	ARABIC MATHEMATICAL KAF
+	x (arabic letter kaf isolated form - FED9)
+	# <font> 0643 arabic letter kaf
+1EE0B	ARABIC MATHEMATICAL LAM
+	x (arabic letter lam isolated form - FEDD)
+	# <font> 0644 arabic letter lam
+1EE0C	ARABIC MATHEMATICAL MEEM
+	x (arabic letter meem isolated form - FEE1)
+	# <font> 0645 arabic letter meem
+1EE0D	ARABIC MATHEMATICAL NOON
+	x (arabic letter noon isolated form - FEE5)
+	# <font> 0646 arabic letter noon
+1EE0E	ARABIC MATHEMATICAL SEEN
+	x (arabic letter seen isolated form - FEB1)
+	# <font> 0633 arabic letter seen
+1EE0F	ARABIC MATHEMATICAL AIN
+	x (arabic letter ain isolated form - FEC9)
+	# <font> 0639 arabic letter ain
+1EE10	ARABIC MATHEMATICAL FEH
+	x (arabic letter feh isolated form - FED1)
+	# <font> 0641 arabic letter feh
+1EE11	ARABIC MATHEMATICAL SAD
+	x (arabic letter sad isolated form - FEB9)
+	# <font> 0635 arabic letter sad
+1EE12	ARABIC MATHEMATICAL QAF
+	x (arabic letter qaf isolated form - FED5)
+	# <font> 0642 arabic letter qaf
+1EE13	ARABIC MATHEMATICAL REH
+	x (arabic letter reh isolated form - FEAD)
+	# <font> 0631 arabic letter reh
+1EE14	ARABIC MATHEMATICAL SHEEN
+	x (arabic letter sheen isolated form - FEB5)
+	# <font> 0634 arabic letter sheen
+1EE15	ARABIC MATHEMATICAL TEH
+	x (arabic letter teh isolated form - FE95)
+	# <font> 062A arabic letter teh
+1EE16	ARABIC MATHEMATICAL THEH
+	x (arabic letter theh isolated form - FE99)
+	# <font> 062B arabic letter theh
+1EE17	ARABIC MATHEMATICAL KHAH
+	x (arabic letter khah isolated form - FEA5)
+	# <font> 062E arabic letter khah
+1EE18	ARABIC MATHEMATICAL THAL
+	x (arabic letter thal isolated form - FEAB)
+	# <font> 0630 arabic letter thal
+1EE19	ARABIC MATHEMATICAL DAD
+	x (arabic letter dad isolated form - FEBD)
+	# <font> 0636 arabic letter dad
+1EE1A	ARABIC MATHEMATICAL ZAH
+	x (arabic letter zah isolated form - FEC5)
+	# <font> 0638 arabic letter zah
+1EE1B	ARABIC MATHEMATICAL GHAIN
+	x (arabic letter ghain isolated form - FECD)
+	# <font> 063A arabic letter ghain
+1EE1C	ARABIC MATHEMATICAL DOTLESS BEH
+	x (arabic letter dotless beh - 066E)
+	# <font> 066E arabic letter dotless beh
+1EE1D	ARABIC MATHEMATICAL DOTLESS NOON
+	x (arabic letter noon ghunna isolated form - FB9E)
+	# <font> 06BA arabic letter noon ghunna
+1EE1E	ARABIC MATHEMATICAL DOTLESS FEH
+	x (arabic letter dotless feh - 06A1)
+	# <font> 06A1 arabic letter dotless feh
+1EE1F	ARABIC MATHEMATICAL DOTLESS QAF
+	x (arabic letter dotless qaf - 066F)
+	# <font> 066F arabic letter dotless qaf
+@		Initial symbols
+1EE21	ARABIC MATHEMATICAL INITIAL BEH
+	x (arabic letter beh initial form - FE91)
+	# <font> 0628 arabic letter beh
+1EE22	ARABIC MATHEMATICAL INITIAL JEEM
+	x (arabic letter jeem initial form - FE9F)
+	# <font> 062C arabic letter jeem
+1EE24	ARABIC MATHEMATICAL INITIAL HEH
+	x (arabic letter heh initial form - FEEB)
+	# <font> 0647 arabic letter heh
+1EE27	ARABIC MATHEMATICAL INITIAL HAH
+	x (arabic letter hah initial form - FEA3)
+	# <font> 062D arabic letter hah
+1EE29	ARABIC MATHEMATICAL INITIAL YEH
+	x (arabic letter yeh initial form - FEF3)
+	# <font> 064A arabic letter yeh
+1EE2A	ARABIC MATHEMATICAL INITIAL KAF
+	x (arabic letter kaf initial form - FEDB)
+	# <font> 0643 arabic letter kaf
+1EE2B	ARABIC MATHEMATICAL INITIAL LAM
+	x (arabic letter lam initial form - FEDF)
+	# <font> 0644 arabic letter lam
+1EE2C	ARABIC MATHEMATICAL INITIAL MEEM
+	x (arabic letter meem initial form - FEE3)
+	# <font> 0645 arabic letter meem
+1EE2D	ARABIC MATHEMATICAL INITIAL NOON
+	x (arabic letter noon initial form - FEE7)
+	# <font> 0646 arabic letter noon
+1EE2E	ARABIC MATHEMATICAL INITIAL SEEN
+	x (arabic letter seen initial form - FEB3)
+	# <font> 0633 arabic letter seen
+1EE2F	ARABIC MATHEMATICAL INITIAL AIN
+	x (arabic letter ain initial form - FECB)
+	# <font> 0639 arabic letter ain
+1EE30	ARABIC MATHEMATICAL INITIAL FEH
+	x (arabic letter feh initial form - FED3)
+	# <font> 0641 arabic letter feh
+1EE31	ARABIC MATHEMATICAL INITIAL SAD
+	x (arabic letter sad initial form - FEBB)
+	# <font> 0635 arabic letter sad
+1EE32	ARABIC MATHEMATICAL INITIAL QAF
+	x (arabic letter qaf initial form - FED7)
+	# <font> 0642 arabic letter qaf
+1EE34	ARABIC MATHEMATICAL INITIAL SHEEN
+	x (arabic letter sheen initial form - FEB7)
+	# <font> 0634 arabic letter sheen
+1EE35	ARABIC MATHEMATICAL INITIAL TEH
+	x (arabic letter teh initial form - FE97)
+	# <font> 062A arabic letter teh
+1EE36	ARABIC MATHEMATICAL INITIAL THEH
+	x (arabic letter theh initial form - FE9B)
+	# <font> 062B arabic letter theh
+1EE37	ARABIC MATHEMATICAL INITIAL KHAH
+	x (arabic letter khah initial form - FEA7)
+	# <font> 062E arabic letter khah
+1EE39	ARABIC MATHEMATICAL INITIAL DAD
+	x (arabic letter dad initial form - FEBF)
+	# <font> 0636 arabic letter dad
+1EE3B	ARABIC MATHEMATICAL INITIAL GHAIN
+	x (arabic letter ghain initial form - FECF)
+	# <font> 063A arabic letter ghain
+@		Tailed symbols
+1EE42	ARABIC MATHEMATICAL TAILED JEEM
+	# <font> 062C arabic letter jeem
+1EE47	ARABIC MATHEMATICAL TAILED HAH
+	# <font> 062D arabic letter hah
+1EE49	ARABIC MATHEMATICAL TAILED YEH
+	# <font> 064A arabic letter yeh
+1EE4B	ARABIC MATHEMATICAL TAILED LAM
+	# <font> 0644 arabic letter lam
+1EE4D	ARABIC MATHEMATICAL TAILED NOON
+	# <font> 0646 arabic letter noon
+1EE4E	ARABIC MATHEMATICAL TAILED SEEN
+	# <font> 0633 arabic letter seen
+1EE4F	ARABIC MATHEMATICAL TAILED AIN
+	# <font> 0639 arabic letter ain
+1EE51	ARABIC MATHEMATICAL TAILED SAD
+	# <font> 0635 arabic letter sad
+1EE52	ARABIC MATHEMATICAL TAILED QAF
+	# <font> 0642 arabic letter qaf
+1EE54	ARABIC MATHEMATICAL TAILED SHEEN
+	# <font> 0634 arabic letter sheen
+1EE57	ARABIC MATHEMATICAL TAILED KHAH
+	# <font> 062E arabic letter khah
+1EE59	ARABIC MATHEMATICAL TAILED DAD
+	# <font> 0636 arabic letter dad
+1EE5B	ARABIC MATHEMATICAL TAILED GHAIN
+	# <font> 063A arabic letter ghain
+1EE5D	ARABIC MATHEMATICAL TAILED DOTLESS NOON
+	# <font> 06BA arabic letter noon ghunna
+1EE5F	ARABIC MATHEMATICAL TAILED DOTLESS QAF
+	# <font> 066F arabic letter dotless qaf
+@		Stretched symbols
+1EE61	ARABIC MATHEMATICAL STRETCHED BEH
+	# <font> 0628 arabic letter beh
+1EE62	ARABIC MATHEMATICAL STRETCHED JEEM
+	# <font> 062C arabic letter jeem
+1EE64	ARABIC MATHEMATICAL STRETCHED HEH
+	# <font> 0647 arabic letter heh
+1EE67	ARABIC MATHEMATICAL STRETCHED HAH
+	# <font> 062D arabic letter hah
+1EE68	ARABIC MATHEMATICAL STRETCHED TAH
+	# <font> 0637 arabic letter tah
+1EE69	ARABIC MATHEMATICAL STRETCHED YEH
+	# <font> 064A arabic letter yeh
+1EE6A	ARABIC MATHEMATICAL STRETCHED KAF
+	# <font> 0643 arabic letter kaf
+1EE6C	ARABIC MATHEMATICAL STRETCHED MEEM
+	# <font> 0645 arabic letter meem
+1EE6D	ARABIC MATHEMATICAL STRETCHED NOON
+	# <font> 0646 arabic letter noon
+1EE6E	ARABIC MATHEMATICAL STRETCHED SEEN
+	# <font> 0633 arabic letter seen
+1EE6F	ARABIC MATHEMATICAL STRETCHED AIN
+	# <font> 0639 arabic letter ain
+1EE70	ARABIC MATHEMATICAL STRETCHED FEH
+	# <font> 0641 arabic letter feh
+1EE71	ARABIC MATHEMATICAL STRETCHED SAD
+	# <font> 0635 arabic letter sad
+1EE72	ARABIC MATHEMATICAL STRETCHED QAF
+	# <font> 0642 arabic letter qaf
+1EE74	ARABIC MATHEMATICAL STRETCHED SHEEN
+	# <font> 0634 arabic letter sheen
+1EE75	ARABIC MATHEMATICAL STRETCHED TEH
+	# <font> 062A arabic letter teh
+1EE76	ARABIC MATHEMATICAL STRETCHED THEH
+	# <font> 062B arabic letter theh
+1EE77	ARABIC MATHEMATICAL STRETCHED KHAH
+	# <font> 062E arabic letter khah
+1EE79	ARABIC MATHEMATICAL STRETCHED DAD
+	# <font> 0636 arabic letter dad
+1EE7A	ARABIC MATHEMATICAL STRETCHED ZAH
+	# <font> 0638 arabic letter zah
+1EE7B	ARABIC MATHEMATICAL STRETCHED GHAIN
+	# <font> 063A arabic letter ghain
+1EE7C	ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+	# <font> 066E arabic letter dotless beh
+1EE7E	ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+	# <font> 06A1 arabic letter dotless feh
+@		Looped symbols
+1EE80	ARABIC MATHEMATICAL LOOPED ALEF
+	# <font> 0627 arabic letter alef
+1EE81	ARABIC MATHEMATICAL LOOPED BEH
+	# <font> 0628 arabic letter beh
+1EE82	ARABIC MATHEMATICAL LOOPED JEEM
+	# <font> 062C arabic letter jeem
+1EE83	ARABIC MATHEMATICAL LOOPED DAL
+	# <font> 062F arabic letter dal
+1EE84	ARABIC MATHEMATICAL LOOPED HEH
+	# <font> 0647 arabic letter heh
+1EE85	ARABIC MATHEMATICAL LOOPED WAW
+	# <font> 0648 arabic letter waw
+1EE86	ARABIC MATHEMATICAL LOOPED ZAIN
+	# <font> 0632 arabic letter zain
+1EE87	ARABIC MATHEMATICAL LOOPED HAH
+	# <font> 062D arabic letter hah
+1EE88	ARABIC MATHEMATICAL LOOPED TAH
+	# <font> 0637 arabic letter tah
+1EE89	ARABIC MATHEMATICAL LOOPED YEH
+	# <font> 064A arabic letter yeh
+1EE8B	ARABIC MATHEMATICAL LOOPED LAM
+	# <font> 0644 arabic letter lam
+1EE8C	ARABIC MATHEMATICAL LOOPED MEEM
+	# <font> 0645 arabic letter meem
+1EE8D	ARABIC MATHEMATICAL LOOPED NOON
+	# <font> 0646 arabic letter noon
+1EE8E	ARABIC MATHEMATICAL LOOPED SEEN
+	# <font> 0633 arabic letter seen
+1EE8F	ARABIC MATHEMATICAL LOOPED AIN
+	# <font> 0639 arabic letter ain
+1EE90	ARABIC MATHEMATICAL LOOPED FEH
+	# <font> 0641 arabic letter feh
+1EE91	ARABIC MATHEMATICAL LOOPED SAD
+	# <font> 0635 arabic letter sad
+1EE92	ARABIC MATHEMATICAL LOOPED QAF
+	# <font> 0642 arabic letter qaf
+1EE93	ARABIC MATHEMATICAL LOOPED REH
+	# <font> 0631 arabic letter reh
+1EE94	ARABIC MATHEMATICAL LOOPED SHEEN
+	# <font> 0634 arabic letter sheen
+1EE95	ARABIC MATHEMATICAL LOOPED TEH
+	# <font> 062A arabic letter teh
+1EE96	ARABIC MATHEMATICAL LOOPED THEH
+	# <font> 062B arabic letter theh
+1EE97	ARABIC MATHEMATICAL LOOPED KHAH
+	# <font> 062E arabic letter khah
+1EE98	ARABIC MATHEMATICAL LOOPED THAL
+	# <font> 0630 arabic letter thal
+1EE99	ARABIC MATHEMATICAL LOOPED DAD
+	# <font> 0636 arabic letter dad
+1EE9A	ARABIC MATHEMATICAL LOOPED ZAH
+	# <font> 0638 arabic letter zah
+1EE9B	ARABIC MATHEMATICAL LOOPED GHAIN
+	# <font> 063A arabic letter ghain
+@		Double-struck symbols
+1EEA1	ARABIC MATHEMATICAL DOUBLE-STRUCK BEH
+	# <font> 0628 arabic letter beh
+1EEA2	ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM
+	# <font> 062C arabic letter jeem
+1EEA3	ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+	# <font> 062F arabic letter dal
+1EEA5	ARABIC MATHEMATICAL DOUBLE-STRUCK WAW
+	# <font> 0648 arabic letter waw
+1EEA6	ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN
+	# <font> 0632 arabic letter zain
+1EEA7	ARABIC MATHEMATICAL DOUBLE-STRUCK HAH
+	# <font> 062D arabic letter hah
+1EEA8	ARABIC MATHEMATICAL DOUBLE-STRUCK TAH
+	# <font> 0637 arabic letter tah
+1EEA9	ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+	# <font> 064A arabic letter yeh
+1EEAB	ARABIC MATHEMATICAL DOUBLE-STRUCK LAM
+	# <font> 0644 arabic letter lam
+1EEAC	ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM
+	# <font> 0645 arabic letter meem
+1EEAD	ARABIC MATHEMATICAL DOUBLE-STRUCK NOON
+	# <font> 0646 arabic letter noon
+1EEAE	ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN
+	# <font> 0633 arabic letter seen
+1EEAF	ARABIC MATHEMATICAL DOUBLE-STRUCK AIN
+	# <font> 0639 arabic letter ain
+1EEB0	ARABIC MATHEMATICAL DOUBLE-STRUCK FEH
+	# <font> 0641 arabic letter feh
+1EEB1	ARABIC MATHEMATICAL DOUBLE-STRUCK SAD
+	# <font> 0635 arabic letter sad
+1EEB2	ARABIC MATHEMATICAL DOUBLE-STRUCK QAF
+	# <font> 0642 arabic letter qaf
+1EEB3	ARABIC MATHEMATICAL DOUBLE-STRUCK REH
+	# <font> 0631 arabic letter reh
+1EEB4	ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN
+	# <font> 0634 arabic letter sheen
+1EEB5	ARABIC MATHEMATICAL DOUBLE-STRUCK TEH
+	# <font> 062A arabic letter teh
+1EEB6	ARABIC MATHEMATICAL DOUBLE-STRUCK THEH
+	# <font> 062B arabic letter theh
+1EEB7	ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH
+	# <font> 062E arabic letter khah
+1EEB8	ARABIC MATHEMATICAL DOUBLE-STRUCK THAL
+	# <font> 0630 arabic letter thal
+1EEB9	ARABIC MATHEMATICAL DOUBLE-STRUCK DAD
+	# <font> 0636 arabic letter dad
+1EEBA	ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH
+	# <font> 0638 arabic letter zah
+1EEBB	ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+	# <font> 063A arabic letter ghain
+@		Stretching operators
+ at +		The following operators stretch based on the width of the text that is displayed below or above them.
+1EEF0	ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL
+	* used in Arabic mathematics to denote summation
+	* stretched at the tatweel
+	x (n-ary summation - 2211)
+1EEF1	ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
+	* used in Persian mathematics to denote limits
+	* stretched between the hah and the dal
 @@	1F000	Mahjong Tiles	1F02F
 @		Prevailing wind tiles
 1F000	MAHJONG TILE EAST WIND
@@ -34065,6 +35736,8 @@
 @		Dragon tiles
 1F004	MAHJONG TILE RED DRAGON
 	= hongzhong
+	~ 1F004 FE0E text style
+	~ 1F004 FE0F emoji style
 1F005	MAHJONG TILE GREEN DRAGON
 	= qingfa
 1F006	MAHJONG TILE WHITE DRAGON
@@ -34120,6 +35793,7 @@
 1F02A	MAHJONG TILE JOKER
 	= baida
 1F02B	MAHJONG TILE BACK
+@~	Standardized Variation Sequences
 @@	1F030	Domino Tiles	1F09F
 @		Horizontal tiles
 1F030	DOMINO TILE HORIZONTAL BACK
@@ -34238,7 +35912,8 @@
 1F092	DOMINO TILE VERTICAL-06-05
 1F093	DOMINO TILE VERTICAL-06-06
 @@	1F0A0	Playing Cards	1F0FF
- at +		These characters are used to represent the 52-card and 56-card variants of modern playing cards, as well as the 56-card Minor Arcana of the Western Tarot.
+ at +		These characters are used to represent the 52-card and 56-card variants of modern playing cards, as well as the 56-card Minor Arcana of the Western Tarot. The glyphs shown in the charts have only a symbolic and schematic equivalence to particular varieties of actual playing cards.
+@		Back of card
 1F0A0	PLAYING CARD BACK
 @		Spades or swords
 1F0A1	PLAYING CARD ACE OF SPADES
@@ -34258,10 +35933,10 @@
 	= chevalier, Ober, Ritter, cavall, cavaliere
 	= knight of swords
 1F0AD	PLAYING CARD QUEEN OF SPADES
-	= dame, Dame, K\xF6nigin, regina
+	= dame, Dame, Königin, regina
 	= queen of swords
 1F0AE	PLAYING CARD KING OF SPADES
-	= roi, K\xF6nig, re
+	= roi, König, re
 	= king of swords
 @		Hearts or cups
 1F0B1	PLAYING CARD ACE OF HEARTS
@@ -34293,6 +35968,7 @@
 1F0CC	PLAYING CARD KNIGHT OF DIAMONDS
 1F0CD	PLAYING CARD QUEEN OF DIAMONDS
 1F0CE	PLAYING CARD KING OF DIAMONDS
+@		Joker
 1F0CF	PLAYING CARD BLACK JOKER
 @		Clubs or wands
 1F0D1	PLAYING CARD ACE OF CLUBS
@@ -34309,6 +35985,7 @@
 1F0DC	PLAYING CARD KNIGHT OF CLUBS
 1F0DD	PLAYING CARD QUEEN OF CLUBS
 1F0DE	PLAYING CARD KING OF CLUBS
+@		Joker
 1F0DF	PLAYING CARD WHITE JOKER
 	* may also be red
 @@	1F100	Enclosed Alphanumeric Supplement	1F1FF
@@ -34519,7 +36196,7 @@
 	= parking space (ARIB STD B24)
 1F160	NEGATIVE CIRCLED LATIN CAPITAL LETTER Q
 1F161	NEGATIVE CIRCLED LATIN CAPITAL LETTER R
-	= Rastst\xE4tte (rest stop)
+	= Raststätte (rest stop)
 1F162	NEGATIVE CIRCLED LATIN CAPITAL LETTER S
 	= Stadtbahn (metropolitan railway)
 1F163	NEGATIVE CIRCLED LATIN CAPITAL LETTER T
@@ -34533,6 +36210,17 @@
 1F167	NEGATIVE CIRCLED LATIN CAPITAL LETTER X
 1F168	NEGATIVE CIRCLED LATIN CAPITAL LETTER Y
 1F169	NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+@		Raised squared Latin sequences
+1F16A	RAISED MC SIGN
+	= marque de commerce
+	* used in Canada
+	x (trade mark sign - 2122)
+	# <super> 004D 0043
+1F16B	RAISED MD SIGN
+	= marque déposée
+	* used in Canada
+	x (registered sign - 00AE)
+	# <super> 004D 0044
 @		White on black squared Latin letters
 @+		The square edges may be slightly rounded.
 1F170	NEGATIVE SQUARED LATIN CAPITAL LETTER A
@@ -34562,6 +36250,8 @@
 	= blood type O
 1F17F	NEGATIVE SQUARED LATIN CAPITAL LETTER P
 	= parking space empty-full (ARIB STD B24)
+	~ 1F17F FE0E text style
+	~ 1F17F FE0F emoji style
 1F180	NEGATIVE SQUARED LATIN CAPITAL LETTER Q
 1F181	NEGATIVE SQUARED LATIN CAPITAL LETTER R
 1F182	NEGATIVE SQUARED LATIN CAPITAL LETTER S
@@ -34633,6 +36323,7 @@
 1F1FD	REGIONAL INDICATOR SYMBOL LETTER X
 1F1FE	REGIONAL INDICATOR SYMBOL LETTER Y
 1F1FF	REGIONAL INDICATOR SYMBOL LETTER Z
+@~	Standardized Variation Sequences
 @@	1F200	Enclosed Ideographic Supplement	1F2FF
 @		Squared hiragana from ARIB STD B24
 1F200	SQUARE HIRAGANA HOKA
@@ -34681,6 +36372,8 @@
 1F21A	SQUARED CJK UNIFIED IDEOGRAPH-7121
 	= free broadcasting service
 	= non-existence sign
+	~ 1F21A FE0E text style
+	~ 1F21A FE0F emoji style
 	# <square> 7121
 1F21B	SQUARED CJK UNIFIED IDEOGRAPH-6599
 	= pay broadcasting service
@@ -34745,6 +36438,8 @@
 1F22F	SQUARED CJK UNIFIED IDEOGRAPH-6307
 	= designated hitter
 	= reserved sign
+	~ 1F22F FE0E text style
+	~ 1F22F FE0F emoji style
 	# <square> 6307
 1F230	SQUARED CJK UNIFIED IDEOGRAPH-8D70
 	= runner
@@ -34817,6 +36512,7 @@
 1F251	CIRCLED IDEOGRAPH ACCEPT
 	= accept sign
 	# <circle> 53EF
+@~	Standardized Variation Sequences
 @@	1F300	Miscellaneous Symbols and Pictographs	1F5FF
 @		Weather, landscape, and sky symbols
 1F300	CYCLONE
@@ -35330,6 +37026,7 @@
 @		Comic style symbols
 1F4A0	DIAMOND SHAPE WITH A DOT INSIDE
 	= kawaii, cute
+	* meaning of cuteness is based on association of glyph with shape of a flower
 	x (white diamond with centred dot - 27D0)
 1F4A1	ELECTRIC LIGHT BULB
 	= idea
@@ -35565,6 +37262,16 @@
 1F53D	DOWN-POINTING SMALL RED TRIANGLE
 	= play arrow down
 	x (black down-pointing small triangle - 25BE)
+@		Religious symbols
+1F540	CIRCLED CROSS POMMEE
+	* Orthodox typikon symbol for great feast service
+1F541	CROSS POMMEE WITH HALF-CIRCLE BELOW
+	* Orthodox typikon symbol for vigil service
+1F542	CROSS POMMEE
+	* Orthodox typikon symbol for Polyeleos
+	x (four teardrop-spoked asterisk - 2722)
+1F543	NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
+	* Orthodox typikon symbol for lower rank feast
 @		Clock face symbols
 1F550	CLOCK FACE ONE OCLOCK
 	x (watch - 231A)
@@ -35602,6 +37309,7 @@
 @@	1F600	Emoticons	1F64F
 @+	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
 1F602	FACE WITH TEARS OF JOY
 1F603	SMILING FACE WITH OPEN MOUTH
@@ -35620,12 +37328,17 @@
 1F60F	SMIRKING FACE
 1F610	NEUTRAL FACE
 	* used for the West Wind in some Mahjong annotation
+1F611	EXPRESSIONLESS FACE
 1F612	UNAMUSED FACE
 1F613	FACE WITH COLD SWEAT
 1F614	PENSIVE FACE
+1F615	CONFUSED FACE
 1F616	CONFOUNDED FACE
+1F617	KISSING FACE
 1F618	FACE THROWING A KISS
+1F619	KISSING FACE WITH SMILING EYES
 1F61A	KISSING FACE WITH CLOSED EYES
+1F61B	FACE WITH STUCK-OUT TONGUE
 1F61C	FACE WITH STUCK-OUT TONGUE AND WINKING EYE
 	* kidding, not serious
 1F61D	FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES
@@ -35632,6 +37345,7 @@
 	* kidding, not serious
 1F61E	DISAPPOINTED FACE
 	x (white frowning face - 2639)
+1F61F	WORRIED FACE
 1F620	ANGRY FACE
 1F621	POUTING FACE
 1F622	CRYING FACE
@@ -35638,15 +37352,21 @@
 1F623	PERSEVERING FACE
 1F624	FACE WITH LOOK OF TRIUMPH
 1F625	DISAPPOINTED BUT RELIEVED FACE
+1F626	FROWNING FACE WITH OPEN MOUTH
+1F627	ANGUISHED FACE
 1F628	FEARFUL FACE
 1F629	WEARY FACE
 1F62A	SLEEPY FACE
 1F62B	TIRED FACE
+1F62C	GRIMACING FACE
 1F62D	LOUDLY CRYING FACE
+1F62E	FACE WITH OPEN MOUTH
+1F62F	HUSHED FACE
 1F630	FACE WITH OPEN MOUTH AND COLD SWEAT
 1F631	FACE SCREAMING IN FEAR
 1F632	ASTONISHED FACE
 1F633	FLUSHED FACE
+1F634	SLEEPING FACE
 1F635	DIZZY FACE
 1F636	FACE WITHOUT MOUTH
 	* used for the South Wind in some Mahjong annotation
@@ -35981,6 +37701,7 @@
 1F76C	ALCHEMICAL SYMBOL FOR BATH OF VAPOURS
 	= balneum vaporis
 1F76D	ALCHEMICAL SYMBOL FOR RETORT
+	x (alembic - 2697)
 @		Time
 1F76E	ALCHEMICAL SYMBOL FOR HOUR
 	x (hourglass - 231B)
@@ -36007,7 +37728,7 @@
 @@	2A700	CJK Unified Ideographs Extension C	2B734
 @@	2B740	CJK Unified Ideographs Extension D	2B81D
 @@	2F800	CJK Compatibility Ideographs Supplement	2FA1F
-@		Duplicate characters from CNS\xA011643-1992
+@		Duplicate characters from CNS 11643-1992
 2F800	CJK COMPATIBILITY IDEOGRAPH-2F800
 	: 4E3D
 2F801	CJK COMPATIBILITY IDEOGRAPH-2F801


Property changes on: vendor/perl/dist/lib/unicore/NamesList.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/NormalizationCorrections.txt
===================================================================
--- vendor/perl/dist/lib/unicore/NormalizationCorrections.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/NormalizationCorrections.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,14 @@
-# NormalizationCorrections-6.0.0.txt
-# Date: 2010-05-19, 11:21:00 PDT [KW]
+# NormalizationCorrections-6.2.0.txt
+# Date: 2012-05-15, 22:25:00 GMT [KW, LI]
 #
 # This file is a normative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
-# The normalization stabilization policy of the Unicode
-# Consortium ordinarily precludes any change to the decomposition
+# The normalization stability policy of the Unicode Consortium
+# ordinarily precludes any change to the decomposition
 # for any character, once established in a relevant version
 # of the UnicodeData.txt data file. However, under certain
 # exceptional (and rare) conditions, an error in a decomposition
@@ -46,3 +46,5 @@
 2F91F;43AB;243AB;4.0.0 # Corrigendum 4
 2F95F;7AAE;7AEE;4.0.0 # Corrigendum 4
 2F9BF;4D57;45D7;4.0.0 # Corrigendum 4
+
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/NormalizationCorrections.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/PropList.txt
===================================================================
--- vendor/perl/dist/lib/unicore/PropList.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/PropList.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# PropList-6.0.0.txt
-# Date: 2010-08-19, 00:48:28 GMT [MD]
+# PropList-6.2.0.txt
+# Date: 2012-05-23, 20:34:59 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -50,6 +50,7 @@
 2212          ; Dash # Sm       MINUS SIGN
 2E17          ; Dash # Pd       DOUBLE OBLIQUE HYPHEN
 2E1A          ; Dash # Pd       HYPHEN WITH DIAERESIS
+2E3A..2E3B    ; Dash # Pd   [2] TWO-EM DASH..THREE-EM DASH
 301C          ; Dash # Pd       WAVE DASH
 3030          ; Dash # Pd       WAVY DASH
 30A0          ; Dash # Pd       KATAKANA-HIRAGANA DOUBLE HYPHEN
@@ -58,7 +59,7 @@
 FE63          ; Dash # Pd       SMALL HYPHEN-MINUS
 FF0D          ; Dash # Pd       FULLWIDTH HYPHEN-MINUS
 
-# Total code points: 25
+# Total code points: 27
 
 # ================================================
 
@@ -158,6 +159,7 @@
 A9C7..A9C9    ; Terminal_Punctuation # Po   [3] JAVANESE PADA PANGKAT..JAVANESE PADA LUNGSI
 AA5D..AA5F    ; Terminal_Punctuation # Po   [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA
 AADF          ; Terminal_Punctuation # Po       TAI VIET SYMBOL KOI KOI
+AAF0..AAF1    ; Terminal_Punctuation # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
 ABEB          ; Terminal_Punctuation # Po       MEETEI MAYEK CHEIKHEI
 FE50..FE52    ; Terminal_Punctuation # Po   [3] SMALL COMMA..SMALL FULL STOP
 FE54..FE57    ; Terminal_Punctuation # Po   [4] SMALL SEMICOLON..SMALL EXCLAMATION MARK
@@ -175,9 +177,11 @@
 10B3A..10B3F  ; Terminal_Punctuation # Po   [6] TINY TWO DOTS OVER ONE DOT PUNCTUATION..LARGE ONE RING OVER TWO RINGS PUNCTUATION
 11047..1104D  ; Terminal_Punctuation # Po   [7] BRAHMI DANDA..BRAHMI PUNCTUATION LOTUS
 110BE..110C1  ; Terminal_Punctuation # Po   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+11141..11143  ; Terminal_Punctuation # Po   [3] CHAKMA DANDA..CHAKMA QUESTION MARK
+111C5..111C6  ; Terminal_Punctuation # Po   [2] SHARADA DANDA..SHARADA DOUBLE DANDA
 12470..12473  ; Terminal_Punctuation # Po   [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
 
-# Total code points: 169
+# Total code points: 176
 
 # ================================================
 
@@ -320,8 +324,41 @@
 1D7AA..1D7C2  ; Other_Math # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; Other_Math # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; Other_Math # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00..1EE03  ; Other_Math # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Other_Math # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Other_Math # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Other_Math # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Other_Math # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Other_Math # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Other_Math # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Other_Math # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Other_Math # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Other_Math # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Other_Math # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Other_Math # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Other_Math # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Other_Math # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Other_Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Other_Math # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Other_Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Other_Math # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Other_Math # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Other_Math # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Other_Math # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Other_Math # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Other_Math # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Other_Math # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 
-# Total code points: 1217
+# Total code points: 1358
 
 # ================================================
 
@@ -365,6 +402,8 @@
 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
+08F0..08FE    ; Other_Alphabetic # Mn  [15] ARABIC OPEN FATHATAN..ARABIC DAMMA WITH DOT
 0900..0902    ; Other_Alphabetic # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903          ; Other_Alphabetic # Mc       DEVANAGARI SIGN VISARGA
 093A          ; Other_Alphabetic # Mn       DEVANAGARI VOWEL SIGN OE
@@ -525,6 +564,7 @@
 1BA2..1BA5    ; Other_Alphabetic # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA6..1BA7    ; Other_Alphabetic # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; Other_Alphabetic # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAC..1BAD    ; Other_Alphabetic # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BE7          ; Other_Alphabetic # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; Other_Alphabetic # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BEA..1BEC    ; Other_Alphabetic # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
@@ -534,9 +574,11 @@
 1C24..1C2B    ; Other_Alphabetic # Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
 1C2C..1C33    ; Other_Alphabetic # Mn   [8] LEPCHA VOWEL SIGN E..LEPCHA CONSONANT SIGN T
 1C34..1C35    ; Other_Alphabetic # Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
-1CF2          ; Other_Alphabetic # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; Other_Alphabetic # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 24B6..24E9    ; Other_Alphabetic # So  [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
 2DE0..2DFF    ; Other_Alphabetic # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
+A674..A67B    ; Other_Alphabetic # Mn   [8] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC LETTER OMEGA
+A69F          ; Other_Alphabetic # Mn       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
@@ -564,6 +606,10 @@
 AAB2..AAB4    ; Other_Alphabetic # Mn   [3] TAI VIET VOWEL I..TAI VIET VOWEL U
 AAB7..AAB8    ; Other_Alphabetic # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE          ; Other_Alphabetic # Mn       TAI VIET VOWEL AM
+AAEB          ; Other_Alphabetic # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; Other_Alphabetic # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; Other_Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF5          ; Other_Alphabetic # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 ABE3..ABE4    ; Other_Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; Other_Alphabetic # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE6..ABE7    ; Other_Alphabetic # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
@@ -581,8 +627,23 @@
 110B0..110B2  ; Other_Alphabetic # Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
 110B3..110B6  ; Other_Alphabetic # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B7..110B8  ; Other_Alphabetic # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
+11100..11102  ; Other_Alphabetic # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; Other_Alphabetic # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; Other_Alphabetic # Mc       CHAKMA VOWEL SIGN E
+1112D..11132  ; Other_Alphabetic # Mn   [6] CHAKMA VOWEL SIGN AI..CHAKMA AU MARK
+11180..11181  ; Other_Alphabetic # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; Other_Alphabetic # Mc       SHARADA SIGN VISARGA
+111B3..111B5  ; Other_Alphabetic # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+111B6..111BE  ; Other_Alphabetic # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+111BF         ; Other_Alphabetic # Mc       SHARADA VOWEL SIGN AU
+116AB         ; Other_Alphabetic # Mn       TAKRI SIGN ANUSVARA
+116AC         ; Other_Alphabetic # Mc       TAKRI SIGN VISARGA
+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
+16F51..16F7E  ; Other_Alphabetic # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
 
-# Total code points: 795
+# Total code points: 922
 
 # ================================================
 
@@ -591,9 +652,8 @@
 3021..3029    ; Ideographic # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
 3038..303A    ; Ideographic # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
 3400..4DB5    ; Ideographic # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB    ; Ideographic # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-F900..FA2D    ; Ideographic # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; Ideographic # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+4E00..9FCC    ; Ideographic # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+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
@@ -600,7 +660,7 @@
 2B740..2B81D  ; Ideographic # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2F800..2FA1D  ; Ideographic # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 75630
+# Total code points: 75633
 
 # ================================================
 
@@ -645,6 +705,7 @@
 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
 093C          ; Diacritic # Mn       DEVANAGARI SIGN NUKTA
 094D          ; Diacritic # Mn       DEVANAGARI SIGN VIRAMA
 0951..0954    ; Diacritic # Mn   [4] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI ACUTE ACCENT
@@ -689,6 +750,7 @@
 1B44          ; Diacritic # Mc       BALINESE ADEG ADEG
 1B6B..1B73    ; Diacritic # Mn   [9] BALINESE MUSICAL SYMBOL COMBINING TEGEH..BALINESE MUSICAL SYMBOL COMBINING GONG
 1BAA          ; Diacritic # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; Diacritic # Mn       SUNDANESE SIGN VIRAMA
 1C36..1C37    ; Diacritic # Mn   [2] LEPCHA SIGN RAN..LEPCHA SIGN NUKTA
 1C78..1C7D    ; Diacritic # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1CD0..1CD2    ; Diacritic # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
@@ -697,8 +759,8 @@
 1CE1          ; Diacritic # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE2..1CE8    ; Diacritic # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Diacritic # Mn       VEDIC SIGN TIRYAK
-1D2C..1D61    ; Diacritic # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D6A    ; Diacritic # L&   [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
+1CF4          ; Diacritic # Mn       VEDIC TONE CANDRA ABOVE
+1D2C..1D6A    ; Diacritic # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1DC4..1DCF    ; Diacritic # Mn  [12] COMBINING MACRON-ACUTE..COMBINING ZIGZAG BELOW
 1DFD..1DFF    ; Diacritic # Mn   [3] COMBINING ALMOST EQUAL TO BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 1FBD          ; Diacritic # Sk       GREEK KORONIS
@@ -709,7 +771,8 @@
 1FFD..1FFE    ; Diacritic # Sk   [2] GREEK OXIA..GREEK DASIA
 2CEF..2CF1    ; Diacritic # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2E2F          ; Diacritic # Lm       VERTICAL TILDE
-302A..302F    ; Diacritic # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; Diacritic # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; Diacritic # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3099..309A    ; Diacritic # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 309B..309C    ; Diacritic # Sk   [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 30FC          ; Diacritic # Lm       KATAKANA-HIRAGANA PROLONGED SOUND MARK
@@ -720,6 +783,7 @@
 A717..A71F    ; Diacritic # Lm   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
 A720..A721    ; Diacritic # Sk   [2] MODIFIER LETTER STRESS AND HIGH TONE..MODIFIER LETTER STRESS AND LOW TONE
 A788          ; Diacritic # Lm       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A7F8..A7F9    ; Diacritic # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A8C4          ; Diacritic # Mn       SAURASHTRA SIGN VIRAMA
 A8E0..A8F1    ; Diacritic # Mn  [18] COMBINING DEVANAGARI DIGIT ZERO..COMBINING DEVANAGARI SIGN AVAGRAHA
 A92B..A92D    ; Diacritic # Mn   [3] KAYAH LI TONE PLOPHU..KAYAH LI TONE CALYA PLOPHU
@@ -732,6 +796,7 @@
 AAC0          ; Diacritic # Lo       TAI VIET TONE MAI NUENG
 AAC1          ; Diacritic # Mn       TAI VIET TONE MAI THO
 AAC2          ; Diacritic # Lo       TAI VIET TONE MAI SONG
+AAF6          ; Diacritic # Mn       MEETEI MAYEK VIRAMA
 ABEC          ; Diacritic # Mc       MEETEI MAYEK LUM IYEK
 ABED          ; Diacritic # Mn       MEETEI MAYEK APUN IYEK
 FB1E          ; Diacritic # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
@@ -742,6 +807,12 @@
 FF9E..FF9F    ; Diacritic # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
 FFE3          ; Diacritic # Sk       FULLWIDTH MACRON
 110B9..110BA  ; Diacritic # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+11133..11134  ; Diacritic # Mn   [2] CHAKMA VIRAMA..CHAKMA MAAYYAA
+111C0         ; Diacritic # Mc       SHARADA SIGN VIRAMA
+116B6         ; Diacritic # Mc       TAKRI SIGN VIRAMA
+116B7         ; Diacritic # Mn       TAKRI SIGN NUKTA
+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
 1D167..1D169  ; Diacritic # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D16D..1D172  ; Diacritic # Mc   [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
 1D17B..1D182  ; Diacritic # Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
@@ -748,7 +819,7 @@
 1D185..1D18B  ; Diacritic # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 1D1AA..1D1AD  ; Diacritic # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 
-# Total code points: 639
+# Total code points: 693
 
 # ================================================
 
@@ -758,6 +829,7 @@
 07FA          ; Extender # Lm       NKO LAJANYALAN
 0E46          ; Extender # Lm       THAI CHARACTER MAIYAMOK
 0EC6          ; Extender # Lm       LAO KO LA
+180A          ; Extender # Po       MONGOLIAN NIRUGU
 1843          ; Extender # Lm       MONGOLIAN LETTER TODO LONG VOWEL SIGN
 1AA7          ; Extender # Lm       TAI THAM SIGN MAI YAMOK
 1C36          ; Extender # Mn       LEPCHA SIGN RAN
@@ -771,27 +843,33 @@
 A9CF          ; Extender # Lm       JAVANESE PANGRANGKEP
 AA70          ; Extender # Lm       MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
 AADD          ; Extender # Lm       TAI VIET SYMBOL SAM
+AAF3..AAF4    ; Extender # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
 FF70          ; Extender # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
 
-# Total code points: 28
+# Total code points: 31
 
 # ================================================
 
+00AA          ; Other_Lowercase # Lo       FEMININE ORDINAL INDICATOR
+00BA          ; Other_Lowercase # Lo       MASCULINE ORDINAL INDICATOR
 02B0..02B8    ; Other_Lowercase # Lm   [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
 02C0..02C1    ; Other_Lowercase # Lm   [2] MODIFIER LETTER GLOTTAL STOP..MODIFIER LETTER REVERSED GLOTTAL STOP
 02E0..02E4    ; Other_Lowercase # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
 0345          ; Other_Lowercase # Mn       COMBINING GREEK YPOGEGRAMMENI
 037A          ; Other_Lowercase # Lm       GREEK YPOGEGRAMMENI
-1D2C..1D61    ; Other_Lowercase # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
+1D2C..1D6A    ; Other_Lowercase # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D78          ; Other_Lowercase # Lm       MODIFIER LETTER CYRILLIC EN
 1D9B..1DBF    ; Other_Lowercase # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
-2090..2094    ; Other_Lowercase # Lm   [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
+2071          ; Other_Lowercase # Lm       SUPERSCRIPT LATIN SMALL LETTER I
+207F          ; Other_Lowercase # Lm       SUPERSCRIPT LATIN SMALL LETTER N
+2090..209C    ; Other_Lowercase # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
 2170..217F    ; Other_Lowercase # Nl  [16] SMALL ROMAN NUMERAL ONE..SMALL ROMAN NUMERAL ONE THOUSAND
 24D0..24E9    ; Other_Lowercase # So  [26] CIRCLED LATIN SMALL LETTER A..CIRCLED LATIN SMALL LETTER Z
-2C7D          ; Other_Lowercase # Lm       MODIFIER LETTER CAPITAL V
+2C7C..2C7D    ; Other_Lowercase # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 A770          ; Other_Lowercase # Lm       MODIFIER LETTER US
+A7F8..A7F9    ; Other_Lowercase # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 
-# Total code points: 159
+# Total code points: 183
 
 # ================================================
 
@@ -838,11 +916,12 @@
 0DCF          ; Other_Grapheme_Extend # Mc       SINHALA VOWEL SIGN AELA-PILLA
 0DDF          ; Other_Grapheme_Extend # Mc       SINHALA VOWEL SIGN GAYANUKITTA
 200C..200D    ; Other_Grapheme_Extend # Cf   [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
+302E..302F    ; Other_Grapheme_Extend # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 FF9E..FF9F    ; Other_Grapheme_Extend # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
 1D165         ; Other_Grapheme_Extend # Mc       MUSICAL SYMBOL COMBINING STEM
 1D16E..1D172  ; Other_Grapheme_Extend # Mc   [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
 
-# Total code points: 23
+# Total code points: 25
 
 # ================================================
 
@@ -868,7 +947,7 @@
 # ================================================
 
 3400..4DB5    ; Unified_Ideograph # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB    ; Unified_Ideograph # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; Unified_Ideograph # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -880,12 +959,13 @@
 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
 
-# Total code points: 74616
+# Total code points: 74617
 
 # ================================================
 
 034F          ; Other_Default_Ignorable_Code_Point # Mn       COMBINING GRAPHEME JOINER
 115F..1160    ; Other_Default_Ignorable_Code_Point # Lo   [2] HANGUL CHOSEONG FILLER..HANGUL JUNGSEONG FILLER
+17B4..17B5    ; Other_Default_Ignorable_Code_Point # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 2065..2069    ; Other_Default_Ignorable_Code_Point # Cn   [5] <reserved-2065>..<reserved-2069>
 3164          ; Other_Default_Ignorable_Code_Point # Lo       HANGUL FILLER
 FFA0          ; Other_Default_Ignorable_Code_Point # Lo       HALFWIDTH HANGUL FILLER
@@ -895,7 +975,7 @@
 E0080..E00FF  ; Other_Default_Ignorable_Code_Point # Cn [128] <reserved-E0080>..<reserved-E00FF>
 E01F0..E0FFF  ; Other_Default_Ignorable_Code_Point # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
 
-# Total code points: 3778
+# Total code points: 3780
 
 # ================================================
 
@@ -923,7 +1003,7 @@
 03F3          ; Soft_Dotted # L&       GREEK LETTER YOT
 0456          ; Soft_Dotted # L&       CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
 0458          ; Soft_Dotted # L&       CYRILLIC SMALL LETTER JE
-1D62          ; Soft_Dotted # L&       LATIN SUBSCRIPT SMALL LETTER I
+1D62          ; Soft_Dotted # Lm       LATIN SUBSCRIPT SMALL LETTER I
 1D96          ; Soft_Dotted # L&       LATIN SMALL LETTER I WITH RETROFLEX HOOK
 1DA4          ; Soft_Dotted # Lm       MODIFIER LETTER SMALL I WITH STROKE
 1DA8          ; Soft_Dotted # Lm       MODIFIER LETTER SMALL J WITH CROSSED-TAIL
@@ -931,7 +1011,7 @@
 1ECB          ; Soft_Dotted # L&       LATIN SMALL LETTER I WITH DOT BELOW
 2071          ; Soft_Dotted # Lm       SUPERSCRIPT LATIN SMALL LETTER I
 2148..2149    ; Soft_Dotted # L&   [2] DOUBLE-STRUCK ITALIC SMALL I..DOUBLE-STRUCK ITALIC SMALL J
-2C7C          ; Soft_Dotted # L&       LATIN SUBSCRIPT SMALL LETTER J
+2C7C          ; Soft_Dotted # Lm       LATIN SUBSCRIPT SMALL LETTER J
 1D422..1D423  ; Soft_Dotted # L&   [2] MATHEMATICAL BOLD SMALL I..MATHEMATICAL BOLD SMALL J
 1D456..1D457  ; Soft_Dotted # L&   [2] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL ITALIC SMALL J
 1D48A..1D48B  ; Soft_Dotted # L&   [2] MATHEMATICAL BOLD ITALIC SMALL I..MATHEMATICAL BOLD ITALIC SMALL J
@@ -1014,6 +1094,7 @@
 A92F          ; STerm # Po       KAYAH LI SIGN SHYA
 A9C8..A9C9    ; STerm # Po   [2] JAVANESE PADA LINGSA..JAVANESE PADA LUNGSI
 AA5D..AA5F    ; STerm # Po   [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA
+AAF0..AAF1    ; STerm # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
 ABEB          ; STerm # Po       MEETEI MAYEK CHEIKHEI
 FE52          ; STerm # Po       SMALL FULL STOP
 FE56..FE57    ; STerm # Po   [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK
@@ -1024,8 +1105,10 @@
 10A56..10A57  ; STerm # Po   [2] KHAROSHTHI PUNCTUATION DANDA..KHAROSHTHI PUNCTUATION DOUBLE DANDA
 11047..11048  ; STerm # Po   [2] BRAHMI DANDA..BRAHMI DOUBLE DANDA
 110BE..110C1  ; STerm # Po   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+11141..11143  ; STerm # Po   [3] CHAKMA DANDA..CHAKMA QUESTION MARK
+111C5..111C6  ; STerm # Po   [2] SHARADA DANDA..SHARADA DOUBLE DANDA
 
-# Total code points: 76
+# Total code points: 83
 
 # ================================================
 
@@ -1072,7 +1155,8 @@
 007E          ; Pattern_Syntax # Sm       TILDE
 00A1          ; Pattern_Syntax # Po       INVERTED EXCLAMATION MARK
 00A2..00A5    ; Pattern_Syntax # Sc   [4] CENT SIGN..YEN SIGN
-00A6..00A7    ; Pattern_Syntax # So   [2] BROKEN BAR..SECTION SIGN
+00A6          ; Pattern_Syntax # So       BROKEN BAR
+00A7          ; Pattern_Syntax # Po       SECTION SIGN
 00A9          ; Pattern_Syntax # So       COPYRIGHT SIGN
 00AB          ; Pattern_Syntax # Pi       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
 00AC          ; Pattern_Syntax # Sm       NOT SIGN
@@ -1079,7 +1163,7 @@
 00AE          ; Pattern_Syntax # So       REGISTERED SIGN
 00B0          ; Pattern_Syntax # So       DEGREE SIGN
 00B1          ; Pattern_Syntax # Sm       PLUS-MINUS SIGN
-00B6          ; Pattern_Syntax # So       PILCROW SIGN
+00B6          ; Pattern_Syntax # Po       PILCROW SIGN
 00BB          ; Pattern_Syntax # Pf       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
 00BF          ; Pattern_Syntax # Po       INVERTED QUESTION MARK
 00D7          ; Pattern_Syntax # Sm       MULTIPLICATION SIGN
@@ -1173,11 +1257,7 @@
 27C0..27C4    ; Pattern_Syntax # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
 27C5          ; Pattern_Syntax # Ps       LEFT S-SHAPED BAG DELIMITER
 27C6          ; Pattern_Syntax # Pe       RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA    ; Pattern_Syntax # Sm   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CB          ; Pattern_Syntax # Cn       <reserved-27CB>
-27CC          ; Pattern_Syntax # Sm       LONG DIVISION
-27CD          ; Pattern_Syntax # Cn       <reserved-27CD>
-27CE..27E5    ; Pattern_Syntax # Sm  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; Pattern_Syntax # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27E6          ; Pattern_Syntax # Ps       MATHEMATICAL LEFT WHITE SQUARE BRACKET
 27E7          ; Pattern_Syntax # Pe       MATHEMATICAL RIGHT WHITE SQUARE BRACKET
 27E8          ; Pattern_Syntax # Ps       MATHEMATICAL LEFT ANGLE BRACKET
@@ -1260,8 +1340,9 @@
 2E29          ; Pattern_Syntax # Pe       RIGHT DOUBLE PARENTHESIS
 2E2A..2E2E    ; Pattern_Syntax # Po   [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
 2E2F          ; Pattern_Syntax # Lm       VERTICAL TILDE
-2E30..2E31    ; Pattern_Syntax # Po   [2] RING POINT..WORD SEPARATOR MIDDLE DOT
-2E32..2E7F    ; Pattern_Syntax # Cn  [78] <reserved-2E32>..<reserved-2E7F>
+2E30..2E39    ; Pattern_Syntax # Po  [10] RING POINT..TOP HALF SECTION SIGN
+2E3A..2E3B    ; Pattern_Syntax # Pd   [2] TWO-EM DASH..THREE-EM DASH
+2E3C..2E7F    ; Pattern_Syntax # Cn  [68] <reserved-2E3C>..<reserved-2E7F>
 3001..3003    ; Pattern_Syntax # Po   [3] IDEOGRAPHIC COMMA..DITTO MARK
 3008          ; Pattern_Syntax # Ps       LEFT ANGLE BRACKET
 3009          ; Pattern_Syntax # Pe       RIGHT ANGLE BRACKET


Property changes on: vendor/perl/dist/lib/unicore/PropList.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/PropValueAliases.txt
===================================================================
--- vendor/perl/dist/lib/unicore/PropValueAliases.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/PropValueAliases.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# PropertyValueAliases-6.0.0.txt
-# Date: 2010-07-17, 22:44:06 GMT [MD]
+# PropertyValueAliases-6.2.0.txt
+# Date: 2012-08-14, 16:05:11 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -9,7 +9,6 @@
 # This file contains aliases for property values used in the UCD.
 # These names can be used for XML formats of UCD data, for regular-expression
 # property tests, and other programmatic textual descriptions of Unicode data.
-# For information on which properties are normative, see UCD.html.
 #
 # The names may be translated in appropriate environments, and additional
 # aliases may be useful.
@@ -23,7 +22,6 @@
 # property value name is used.
 #
 # Second Field: The second field is an abbreviated name.
-# If there is no abbreviated name available, the field is marked with "n/a".
 #
 # Third Field: The third field is a long name.
 #
@@ -35,7 +33,7 @@
 # Loose matching should be applied to all property names and property values, with
 # the exception of String Property values. With loose matching of property names and
 # values, the case distinctions, whitespace, and '_' are ignored. For Numeric Property
-# values, numeric equivalences are applied: thus "01.00" is equivalent to "1".
+# values, numeric equivalencies are applied: thus "01.00" is equivalent to "1".
 #
 # NOTE: Property value names are NOT unique across properties. For example:
 #
@@ -57,61 +55,63 @@
 
 # ASCII_Hex_Digit (AHex)
 
-AHex; N        ; No                               ; F                                ; False
-AHex; Y        ; Yes                              ; T                                ; True
+AHex; N                               ; No                               ; F                                ; False
+AHex; Y                               ; Yes                              ; T                                ; True
 
 # Age (age)
 
-age; n/a       ; 1.1
-age; n/a       ; 2.0
-age; n/a       ; 2.1
-age; n/a       ; 3.0
-age; n/a       ; 3.1
-age; n/a       ; 3.2
-age; n/a       ; 4.0
-age; n/a       ; 4.1
-age; n/a       ; 5.0
-age; n/a       ; 5.1
-age; n/a       ; 5.2
-age; n/a       ; 6.0
-age; n/a       ; unassigned
+age; 1.1                              ; V1_1
+age; 2.0                              ; V2_0
+age; 2.1                              ; V2_1
+age; 3.0                              ; V3_0
+age; 3.1                              ; V3_1
+age; 3.2                              ; V3_2
+age; 4.0                              ; V4_0
+age; 4.1                              ; V4_1
+age; 5.0                              ; V5_0
+age; 5.1                              ; V5_1
+age; 5.2                              ; V5_2
+age; 6.0                              ; V6_0
+age; 6.1                              ; V6_1
+age; 6.2                              ; V6_2
+age; NA                               ; Unassigned
 
 # Alphabetic (Alpha)
 
-Alpha; N       ; No                               ; F                                ; False
-Alpha; Y       ; Yes                              ; T                                ; True
+Alpha; N                              ; No                               ; F                                ; False
+Alpha; Y                              ; Yes                              ; T                                ; True
 
 # Bidi_Class (bc)
 
-bc ; AL        ; Arabic_Letter
-bc ; AN        ; Arabic_Number
-bc ; B         ; Paragraph_Separator
-bc ; BN        ; Boundary_Neutral
-bc ; CS        ; Common_Separator
-bc ; EN        ; European_Number
-bc ; ES        ; European_Separator
-bc ; ET        ; European_Terminator
-bc ; L         ; Left_To_Right
-bc ; LRE       ; Left_To_Right_Embedding
-bc ; LRO       ; Left_To_Right_Override
-bc ; NSM       ; Nonspacing_Mark
-bc ; ON        ; Other_Neutral
-bc ; PDF       ; Pop_Directional_Format
-bc ; R         ; Right_To_Left
-bc ; RLE       ; Right_To_Left_Embedding
-bc ; RLO       ; Right_To_Left_Override
-bc ; S         ; Segment_Separator
-bc ; WS        ; White_Space
+bc ; AL                               ; Arabic_Letter
+bc ; AN                               ; Arabic_Number
+bc ; B                                ; Paragraph_Separator
+bc ; BN                               ; Boundary_Neutral
+bc ; CS                               ; Common_Separator
+bc ; EN                               ; European_Number
+bc ; ES                               ; European_Separator
+bc ; ET                               ; European_Terminator
+bc ; L                                ; Left_To_Right
+bc ; LRE                              ; Left_To_Right_Embedding
+bc ; LRO                              ; Left_To_Right_Override
+bc ; NSM                              ; Nonspacing_Mark
+bc ; ON                               ; Other_Neutral
+bc ; PDF                              ; Pop_Directional_Format
+bc ; R                                ; Right_To_Left
+bc ; RLE                              ; Right_To_Left_Embedding
+bc ; RLO                              ; Right_To_Left_Override
+bc ; S                                ; Segment_Separator
+bc ; WS                               ; White_Space
 
 # Bidi_Control (Bidi_C)
 
-Bidi_C; N      ; No                               ; F                                ; False
-Bidi_C; Y      ; Yes                              ; T                                ; True
+Bidi_C; N                             ; No                               ; F                                ; False
+Bidi_C; Y                             ; Yes                              ; T                                ; True
 
 # Bidi_Mirrored (Bidi_M)
 
-Bidi_M; N      ; No                               ; F                                ; False
-Bidi_M; Y      ; Yes                              ; T                                ; True
+Bidi_M; N                             ; No                               ; F                                ; False
+Bidi_M; Y                             ; Yes                              ; T                                ; True
 
 # Bidi_Mirroring_Glyph (bmg)
 
@@ -119,239 +119,287 @@
 
 # Block (blk)
 
-blk; n/a       ; Aegean_Numbers
-blk; n/a       ; Alchemical_Symbols
-blk; n/a       ; Alphabetic_Presentation_Forms
-blk; n/a       ; Ancient_Greek_Musical_Notation
-blk; n/a       ; Ancient_Greek_Numbers
-blk; n/a       ; Ancient_Symbols
-blk; n/a       ; Arabic
-blk; n/a       ; Arabic_Presentation_Forms_A      ; Arabic_Presentation_Forms-A
-blk; n/a       ; Arabic_Presentation_Forms_B
-blk; n/a       ; Arabic_Supplement
-blk; n/a       ; Armenian
-blk; n/a       ; Arrows
-blk; n/a       ; Avestan
-blk; n/a       ; Balinese
-blk; n/a       ; Bamum
-blk; n/a       ; Bamum_Supplement
-blk; n/a       ; Basic_Latin                      ; ASCII
-blk; n/a       ; Batak
-blk; n/a       ; Bengali
-blk; n/a       ; Block_Elements
-blk; n/a       ; Bopomofo
-blk; n/a       ; Bopomofo_Extended
-blk; n/a       ; Box_Drawing
-blk; n/a       ; Brahmi
-blk; n/a       ; Braille_Patterns
-blk; n/a       ; Buginese
-blk; n/a       ; Buhid
-blk; n/a       ; Byzantine_Musical_Symbols
-blk; n/a       ; Carian
-blk; n/a       ; Cham
-blk; n/a       ; Cherokee
-blk; n/a       ; CJK_Compatibility
-blk; n/a       ; CJK_Compatibility_Forms
-blk; n/a       ; CJK_Compatibility_Ideographs
-blk; n/a       ; CJK_Compatibility_Ideographs_Supplement
-blk; n/a       ; CJK_Radicals_Supplement
-blk; n/a       ; CJK_Strokes
-blk; n/a       ; CJK_Symbols_And_Punctuation
-blk; n/a       ; CJK_Unified_Ideographs
-blk; n/a       ; CJK_Unified_Ideographs_Extension_A
-blk; n/a       ; CJK_Unified_Ideographs_Extension_B
-blk; n/a       ; CJK_Unified_Ideographs_Extension_C
-blk; n/a       ; CJK_Unified_Ideographs_Extension_D
-blk; n/a       ; Combining_Diacritical_Marks
-blk; n/a       ; Combining_Diacritical_Marks_For_Symbols; Combining_Marks_For_Symbols
-blk; n/a       ; Combining_Diacritical_Marks_Supplement
-blk; n/a       ; Combining_Half_Marks
-blk; n/a       ; Common_Indic_Number_Forms
-blk; n/a       ; Control_Pictures
-blk; n/a       ; Coptic
-blk; n/a       ; Counting_Rod_Numerals
-blk; n/a       ; Cuneiform
-blk; n/a       ; Cuneiform_Numbers_And_Punctuation
-blk; n/a       ; Currency_Symbols
-blk; n/a       ; Cypriot_Syllabary
-blk; n/a       ; Cyrillic
-blk; n/a       ; Cyrillic_Extended_A
-blk; n/a       ; Cyrillic_Extended_B
-blk; n/a       ; Cyrillic_Supplement              ; Cyrillic_Supplementary
-blk; n/a       ; Deseret
-blk; n/a       ; Devanagari
-blk; n/a       ; Devanagari_Extended
-blk; n/a       ; Dingbats
-blk; n/a       ; Domino_Tiles
-blk; n/a       ; Egyptian_Hieroglyphs
-blk; n/a       ; Emoticons
-blk; n/a       ; Enclosed_Alphanumeric_Supplement
-blk; n/a       ; Enclosed_Alphanumerics
-blk; n/a       ; Enclosed_CJK_Letters_And_Months
-blk; n/a       ; Enclosed_Ideographic_Supplement
-blk; n/a       ; Ethiopic
-blk; n/a       ; Ethiopic_Extended
-blk; n/a       ; Ethiopic_Extended_A
-blk; n/a       ; Ethiopic_Supplement
-blk; n/a       ; General_Punctuation
-blk; n/a       ; Geometric_Shapes
-blk; n/a       ; Georgian
-blk; n/a       ; Georgian_Supplement
-blk; n/a       ; Glagolitic
-blk; n/a       ; Gothic
-blk; n/a       ; Greek_And_Coptic                 ; Greek
-blk; n/a       ; Greek_Extended
-blk; n/a       ; Gujarati
-blk; n/a       ; Gurmukhi
-blk; n/a       ; Halfwidth_And_Fullwidth_Forms
-blk; n/a       ; Hangul_Compatibility_Jamo
-blk; n/a       ; Hangul_Jamo
-blk; n/a       ; Hangul_Jamo_Extended_A
-blk; n/a       ; Hangul_Jamo_Extended_B
-blk; n/a       ; Hangul_Syllables
-blk; n/a       ; Hanunoo
-blk; n/a       ; Hebrew
-blk; n/a       ; High_Private_Use_Surrogates
-blk; n/a       ; High_Surrogates
-blk; n/a       ; Hiragana
-blk; n/a       ; Ideographic_Description_Characters
-blk; n/a       ; Imperial_Aramaic
-blk; n/a       ; Inscriptional_Pahlavi
-blk; n/a       ; Inscriptional_Parthian
-blk; n/a       ; IPA_Extensions
-blk; n/a       ; Javanese
-blk; n/a       ; Kaithi
-blk; n/a       ; Kana_Supplement
-blk; n/a       ; Kanbun
-blk; n/a       ; Kangxi_Radicals
-blk; n/a       ; Kannada
-blk; n/a       ; Katakana
-blk; n/a       ; Katakana_Phonetic_Extensions
-blk; n/a       ; Kayah_Li
-blk; n/a       ; Kharoshthi
-blk; n/a       ; Khmer
-blk; n/a       ; Khmer_Symbols
-blk; n/a       ; Lao
-blk; n/a       ; Latin_1_Supplement               ; Latin_1
-blk; n/a       ; Latin_Extended_A
-blk; n/a       ; Latin_Extended_Additional
-blk; n/a       ; Latin_Extended_B
-blk; n/a       ; Latin_Extended_C
-blk; n/a       ; Latin_Extended_D
-blk; n/a       ; Lepcha
-blk; n/a       ; Letterlike_Symbols
-blk; n/a       ; Limbu
-blk; n/a       ; Linear_B_Ideograms
-blk; n/a       ; Linear_B_Syllabary
-blk; n/a       ; Lisu
-blk; n/a       ; Low_Surrogates
-blk; n/a       ; Lycian
-blk; n/a       ; Lydian
-blk; n/a       ; Mahjong_Tiles
-blk; n/a       ; Malayalam
-blk; n/a       ; Mandaic
-blk; n/a       ; Mathematical_Alphanumeric_Symbols
-blk; n/a       ; Mathematical_Operators
-blk; n/a       ; Meetei_Mayek
-blk; n/a       ; Miscellaneous_Mathematical_Symbols_A
-blk; n/a       ; Miscellaneous_Mathematical_Symbols_B
-blk; n/a       ; Miscellaneous_Symbols
-blk; n/a       ; Miscellaneous_Symbols_And_Arrows
-blk; n/a       ; Miscellaneous_Symbols_And_Pictographs
-blk; n/a       ; Miscellaneous_Technical
-blk; n/a       ; Modifier_Tone_Letters
-blk; n/a       ; Mongolian
-blk; n/a       ; Musical_Symbols
-blk; n/a       ; Myanmar
-blk; n/a       ; Myanmar_Extended_A
-blk; n/a       ; New_Tai_Lue
-blk; n/a       ; NKo
-blk; n/a       ; No_Block
-blk; n/a       ; Number_Forms
-blk; n/a       ; Ogham
-blk; n/a       ; Ol_Chiki
-blk; n/a       ; Old_Italic
-blk; n/a       ; Old_Persian
-blk; n/a       ; Old_South_Arabian
-blk; n/a       ; Old_Turkic
-blk; n/a       ; Optical_Character_Recognition
-blk; n/a       ; Oriya
-blk; n/a       ; Osmanya
-blk; n/a       ; Phags_Pa
-blk; n/a       ; Phaistos_Disc
-blk; n/a       ; Phoenician
-blk; n/a       ; Phonetic_Extensions
-blk; n/a       ; Phonetic_Extensions_Supplement
-blk; n/a       ; Playing_Cards
-blk; n/a       ; Private_Use_Area                 ; Private_Use
-blk; n/a       ; Rejang
-blk; n/a       ; Rumi_Numeral_Symbols
-blk; n/a       ; Runic
-blk; n/a       ; Samaritan
-blk; n/a       ; Saurashtra
-blk; n/a       ; Shavian
-blk; n/a       ; Sinhala
-blk; n/a       ; Small_Form_Variants
-blk; n/a       ; Spacing_Modifier_Letters
-blk; n/a       ; Specials
-blk; n/a       ; Sundanese
-blk; n/a       ; Superscripts_And_Subscripts
-blk; n/a       ; Supplemental_Arrows_A
-blk; n/a       ; Supplemental_Arrows_B
-blk; n/a       ; Supplemental_Mathematical_Operators
-blk; n/a       ; Supplemental_Punctuation
-blk; n/a       ; Supplementary_Private_Use_Area_A
-blk; n/a       ; Supplementary_Private_Use_Area_B
-blk; n/a       ; Syloti_Nagri
-blk; n/a       ; Syriac
-blk; n/a       ; Tagalog
-blk; n/a       ; Tagbanwa
-blk; n/a       ; Tags
-blk; n/a       ; Tai_Le
-blk; n/a       ; Tai_Tham
-blk; n/a       ; Tai_Viet
-blk; n/a       ; Tai_Xuan_Jing_Symbols
-blk; n/a       ; Tamil
-blk; n/a       ; Telugu
-blk; n/a       ; Thaana
-blk; n/a       ; Thai
-blk; n/a       ; Tibetan
-blk; n/a       ; Tifinagh
-blk; n/a       ; Transport_And_Map_Symbols
-blk; n/a       ; Ugaritic
-blk; n/a       ; Unified_Canadian_Aboriginal_Syllabics; Canadian_Syllabics
-blk; n/a       ; Unified_Canadian_Aboriginal_Syllabics_Extended
-blk; n/a       ; Vai
-blk; n/a       ; Variation_Selectors
-blk; n/a       ; Variation_Selectors_Supplement
-blk; n/a       ; Vedic_Extensions
-blk; n/a       ; Vertical_Forms
-blk; n/a       ; Yi_Radicals
-blk; n/a       ; Yi_Syllables
-blk; n/a       ; Yijing_Hexagram_Symbols
+blk; Aegean_Numbers                   ; Aegean_Numbers
+blk; Alchemical                       ; Alchemical_Symbols
+blk; Alphabetic_PF                    ; Alphabetic_Presentation_Forms
+blk; Ancient_Greek_Music              ; Ancient_Greek_Musical_Notation
+blk; Ancient_Greek_Numbers            ; Ancient_Greek_Numbers
+blk; Ancient_Symbols                  ; Ancient_Symbols
+blk; Arabic                           ; Arabic
+blk; Arabic_Ext_A                     ; Arabic_Extended_A
+blk; Arabic_Math                      ; Arabic_Mathematical_Alphabetic_Symbols
+blk; Arabic_PF_A                      ; Arabic_Presentation_Forms_A      ; Arabic_Presentation_Forms-A
+blk; Arabic_PF_B                      ; Arabic_Presentation_Forms_B
+blk; Arabic_Sup                       ; Arabic_Supplement
+blk; Armenian                         ; Armenian
+blk; Arrows                           ; Arrows
+blk; ASCII                            ; Basic_Latin
+blk; Avestan                          ; Avestan
+blk; Balinese                         ; Balinese
+blk; Bamum                            ; Bamum
+blk; Bamum_Sup                        ; Bamum_Supplement
+blk; Batak                            ; Batak
+blk; Bengali                          ; Bengali
+blk; Block_Elements                   ; Block_Elements
+blk; Bopomofo                         ; Bopomofo
+blk; Bopomofo_Ext                     ; Bopomofo_Extended
+blk; Box_Drawing                      ; Box_Drawing
+blk; Brahmi                           ; Brahmi
+blk; Braille                          ; Braille_Patterns
+blk; Buginese                         ; Buginese
+blk; Buhid                            ; Buhid
+blk; Byzantine_Music                  ; Byzantine_Musical_Symbols
+blk; Carian                           ; Carian
+blk; Chakma                           ; Chakma
+blk; Cham                             ; Cham
+blk; Cherokee                         ; Cherokee
+blk; CJK                              ; CJK_Unified_Ideographs
+blk; CJK_Compat                       ; CJK_Compatibility
+blk; CJK_Compat_Forms                 ; CJK_Compatibility_Forms
+blk; CJK_Compat_Ideographs            ; CJK_Compatibility_Ideographs
+blk; CJK_Compat_Ideographs_Sup        ; CJK_Compatibility_Ideographs_Supplement
+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_Radicals_Sup                 ; CJK_Radicals_Supplement
+blk; CJK_Strokes                      ; CJK_Strokes
+blk; CJK_Symbols                      ; CJK_Symbols_And_Punctuation
+blk; Compat_Jamo                      ; Hangul_Compatibility_Jamo
+blk; Control_Pictures                 ; Control_Pictures
+blk; Coptic                           ; Coptic
+blk; Counting_Rod                     ; Counting_Rod_Numerals
+blk; Cuneiform                        ; Cuneiform
+blk; Cuneiform_Numbers                ; Cuneiform_Numbers_And_Punctuation
+blk; Currency_Symbols                 ; Currency_Symbols
+blk; Cypriot_Syllabary                ; Cypriot_Syllabary
+blk; Cyrillic                         ; Cyrillic
+blk; Cyrillic_Ext_A                   ; Cyrillic_Extended_A
+blk; Cyrillic_Ext_B                   ; Cyrillic_Extended_B
+blk; Cyrillic_Sup                     ; Cyrillic_Supplement              ; Cyrillic_Supplementary
+blk; Deseret                          ; Deseret
+blk; Devanagari                       ; Devanagari
+blk; Devanagari_Ext                   ; Devanagari_Extended
+blk; Diacriticals                     ; Combining_Diacritical_Marks
+blk; Diacriticals_For_Symbols         ; Combining_Diacritical_Marks_For_Symbols; Combining_Marks_For_Symbols
+blk; Diacriticals_Sup                 ; Combining_Diacritical_Marks_Supplement
+blk; Dingbats                         ; Dingbats
+blk; Domino                           ; Domino_Tiles
+blk; Egyptian_Hieroglyphs             ; Egyptian_Hieroglyphs
+blk; Emoticons                        ; Emoticons
+blk; Enclosed_Alphanum                ; Enclosed_Alphanumerics
+blk; Enclosed_Alphanum_Sup            ; Enclosed_Alphanumeric_Supplement
+blk; Enclosed_CJK                     ; Enclosed_CJK_Letters_And_Months
+blk; Enclosed_Ideographic_Sup         ; Enclosed_Ideographic_Supplement
+blk; Ethiopic                         ; Ethiopic
+blk; Ethiopic_Ext                     ; Ethiopic_Extended
+blk; Ethiopic_Ext_A                   ; Ethiopic_Extended_A
+blk; Ethiopic_Sup                     ; Ethiopic_Supplement
+blk; Geometric_Shapes                 ; Geometric_Shapes
+blk; Georgian                         ; Georgian
+blk; Georgian_Sup                     ; Georgian_Supplement
+blk; Glagolitic                       ; Glagolitic
+blk; Gothic                           ; Gothic
+blk; Greek                            ; Greek_And_Coptic
+blk; Greek_Ext                        ; Greek_Extended
+blk; Gujarati                         ; Gujarati
+blk; Gurmukhi                         ; Gurmukhi
+blk; Half_And_Full_Forms              ; Halfwidth_And_Fullwidth_Forms
+blk; Half_Marks                       ; Combining_Half_Marks
+blk; Hangul                           ; Hangul_Syllables
+blk; Hanunoo                          ; Hanunoo
+blk; Hebrew                           ; Hebrew
+blk; High_PU_Surrogates               ; High_Private_Use_Surrogates
+blk; High_Surrogates                  ; High_Surrogates
+blk; Hiragana                         ; Hiragana
+blk; IDC                              ; Ideographic_Description_Characters
+blk; Imperial_Aramaic                 ; Imperial_Aramaic
+blk; Indic_Number_Forms               ; Common_Indic_Number_Forms
+blk; Inscriptional_Pahlavi            ; Inscriptional_Pahlavi
+blk; Inscriptional_Parthian           ; Inscriptional_Parthian
+blk; IPA_Ext                          ; IPA_Extensions
+blk; Jamo                             ; Hangul_Jamo
+blk; Jamo_Ext_A                       ; Hangul_Jamo_Extended_A
+blk; Jamo_Ext_B                       ; Hangul_Jamo_Extended_B
+blk; Javanese                         ; Javanese
+blk; Kaithi                           ; Kaithi
+blk; Kana_Sup                         ; Kana_Supplement
+blk; Kanbun                           ; Kanbun
+blk; Kangxi                           ; Kangxi_Radicals
+blk; Kannada                          ; Kannada
+blk; Katakana                         ; Katakana
+blk; Katakana_Ext                     ; Katakana_Phonetic_Extensions
+blk; Kayah_Li                         ; Kayah_Li
+blk; Kharoshthi                       ; Kharoshthi
+blk; Khmer                            ; Khmer
+blk; Khmer_Symbols                    ; Khmer_Symbols
+blk; Lao                              ; Lao
+blk; Latin_1_Sup                      ; Latin_1_Supplement               ; Latin_1
+blk; Latin_Ext_A                      ; Latin_Extended_A
+blk; Latin_Ext_Additional             ; Latin_Extended_Additional
+blk; Latin_Ext_B                      ; Latin_Extended_B
+blk; Latin_Ext_C                      ; Latin_Extended_C
+blk; Latin_Ext_D                      ; Latin_Extended_D
+blk; Lepcha                           ; Lepcha
+blk; Letterlike_Symbols               ; Letterlike_Symbols
+blk; Limbu                            ; Limbu
+blk; Linear_B_Ideograms               ; Linear_B_Ideograms
+blk; Linear_B_Syllabary               ; Linear_B_Syllabary
+blk; Lisu                             ; Lisu
+blk; Low_Surrogates                   ; Low_Surrogates
+blk; Lycian                           ; Lycian
+blk; Lydian                           ; Lydian
+blk; Mahjong                          ; Mahjong_Tiles
+blk; Malayalam                        ; Malayalam
+blk; Mandaic                          ; Mandaic
+blk; Math_Alphanum                    ; Mathematical_Alphanumeric_Symbols
+blk; Math_Operators                   ; Mathematical_Operators
+blk; Meetei_Mayek                     ; Meetei_Mayek
+blk; Meetei_Mayek_Ext                 ; Meetei_Mayek_Extensions
+blk; Meroitic_Cursive                 ; Meroitic_Cursive
+blk; Meroitic_Hieroglyphs             ; Meroitic_Hieroglyphs
+blk; Miao                             ; Miao
+blk; Misc_Arrows                      ; Miscellaneous_Symbols_And_Arrows
+blk; Misc_Math_Symbols_A              ; Miscellaneous_Mathematical_Symbols_A
+blk; Misc_Math_Symbols_B              ; Miscellaneous_Mathematical_Symbols_B
+blk; Misc_Pictographs                 ; Miscellaneous_Symbols_And_Pictographs
+blk; Misc_Symbols                     ; Miscellaneous_Symbols
+blk; Misc_Technical                   ; Miscellaneous_Technical
+blk; Modifier_Letters                 ; Spacing_Modifier_Letters
+blk; Modifier_Tone_Letters            ; Modifier_Tone_Letters
+blk; Mongolian                        ; Mongolian
+blk; Music                            ; Musical_Symbols
+blk; Myanmar                          ; Myanmar
+blk; Myanmar_Ext_A                    ; Myanmar_Extended_A
+blk; NB                               ; No_Block
+blk; New_Tai_Lue                      ; New_Tai_Lue
+blk; NKo                              ; NKo
+blk; Number_Forms                     ; Number_Forms
+blk; OCR                              ; Optical_Character_Recognition
+blk; Ogham                            ; Ogham
+blk; Ol_Chiki                         ; Ol_Chiki
+blk; Old_Italic                       ; Old_Italic
+blk; Old_Persian                      ; Old_Persian
+blk; Old_South_Arabian                ; Old_South_Arabian
+blk; Old_Turkic                       ; Old_Turkic
+blk; Oriya                            ; Oriya
+blk; Osmanya                          ; Osmanya
+blk; Phags_Pa                         ; Phags_Pa
+blk; Phaistos                         ; Phaistos_Disc
+blk; Phoenician                       ; Phoenician
+blk; Phonetic_Ext                     ; Phonetic_Extensions
+blk; Phonetic_Ext_Sup                 ; Phonetic_Extensions_Supplement
+blk; Playing_Cards                    ; Playing_Cards
+blk; PUA                              ; Private_Use_Area                 ; Private_Use
+blk; Punctuation                      ; General_Punctuation
+blk; Rejang                           ; Rejang
+blk; Rumi                             ; Rumi_Numeral_Symbols
+blk; Runic                            ; Runic
+blk; Samaritan                        ; Samaritan
+blk; Saurashtra                       ; Saurashtra
+blk; Sharada                          ; Sharada
+blk; Shavian                          ; Shavian
+blk; Sinhala                          ; Sinhala
+blk; Small_Forms                      ; Small_Form_Variants
+blk; Sora_Sompeng                     ; Sora_Sompeng
+blk; Specials                         ; Specials
+blk; Sundanese                        ; Sundanese
+blk; Sundanese_Sup                    ; Sundanese_Supplement
+blk; Sup_Arrows_A                     ; Supplemental_Arrows_A
+blk; Sup_Arrows_B                     ; Supplemental_Arrows_B
+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; Super_And_Sub                    ; Superscripts_And_Subscripts
+blk; Syloti_Nagri                     ; Syloti_Nagri
+blk; Syriac                           ; Syriac
+blk; Tagalog                          ; Tagalog
+blk; Tagbanwa                         ; Tagbanwa
+blk; Tags                             ; Tags
+blk; Tai_Le                           ; Tai_Le
+blk; Tai_Tham                         ; Tai_Tham
+blk; Tai_Viet                         ; Tai_Viet
+blk; Tai_Xuan_Jing                    ; Tai_Xuan_Jing_Symbols
+blk; Takri                            ; Takri
+blk; Tamil                            ; Tamil
+blk; Telugu                           ; Telugu
+blk; Thaana                           ; Thaana
+blk; Thai                             ; Thai
+blk; Tibetan                          ; Tibetan
+blk; Tifinagh                         ; Tifinagh
+blk; Transport_And_Map                ; Transport_And_Map_Symbols
+blk; UCAS                             ; Unified_Canadian_Aboriginal_Syllabics; Canadian_Syllabics
+blk; UCAS_Ext                         ; Unified_Canadian_Aboriginal_Syllabics_Extended
+blk; Ugaritic                         ; Ugaritic
+blk; Vai                              ; Vai
+blk; Vedic_Ext                        ; Vedic_Extensions
+blk; Vertical_Forms                   ; Vertical_Forms
+blk; VS                               ; Variation_Selectors
+blk; VS_Sup                           ; Variation_Selectors_Supplement
+blk; Yi_Radicals                      ; Yi_Radicals
+blk; Yi_Syllables                     ; Yi_Syllables
+blk; Yijing                           ; Yijing_Hexagram_Symbols
 
 # Canonical_Combining_Class (ccc)
 
-ccc;   0; NR   ; Not_Reordered
-ccc;   1; OV   ; Overlay
-ccc;   7; NK   ; Nukta
-ccc;   8; KV   ; Kana_Voicing
-ccc;   9; VR   ; Virama
-ccc; 200; ATBL ; Attached_Below_Left
-ccc; 202; ATB  ; Attached_Below
-ccc; 214; ATA  ; Attached_Above
-ccc; 216; ATAR ; Attached_Above_Right
-ccc; 218; BL   ; Below_Left
-ccc; 220; B    ; Below
-ccc; 222; BR   ; Below_Right
-ccc; 224; L    ; Left
-ccc; 226; R    ; Right
-ccc; 228; AL   ; Above_Left
-ccc; 230; A    ; Above
-ccc; 232; AR   ; Above_Right
-ccc; 233; DB   ; Double_Below
-ccc; 234; DA   ; Double_Above
-ccc; 240; IS   ; Iota_Subscript
+ccc;   0; NR                         ; Not_Reordered
+ccc;   1; OV                         ; Overlay
+ccc;   7; NK                         ; Nukta
+ccc;   8; KV                         ; Kana_Voicing
+ccc;   9; VR                         ; Virama
+ccc;  10; CCC10                      ; CCC10
+ccc;  11; CCC11                      ; CCC11
+ccc;  12; CCC12                      ; CCC12
+ccc;  13; CCC13                      ; CCC13
+ccc;  14; CCC14                      ; CCC14
+ccc;  15; CCC15                      ; CCC15
+ccc;  16; CCC16                      ; CCC16
+ccc;  17; CCC17                      ; CCC17
+ccc;  18; CCC18                      ; CCC18
+ccc;  19; CCC19                      ; CCC19
+ccc;  20; CCC20                      ; CCC20
+ccc;  21; CCC21                      ; CCC21
+ccc;  22; CCC22                      ; CCC22
+ccc;  23; CCC23                      ; CCC23
+ccc;  24; CCC24                      ; CCC24
+ccc;  25; CCC25                      ; CCC25
+ccc;  26; CCC26                      ; CCC26
+ccc;  27; CCC27                      ; CCC27
+ccc;  28; CCC28                      ; CCC28
+ccc;  29; CCC29                      ; CCC29
+ccc;  30; CCC30                      ; CCC30
+ccc;  31; CCC31                      ; CCC31
+ccc;  32; CCC32                      ; CCC32
+ccc;  33; CCC33                      ; CCC33
+ccc;  34; CCC34                      ; CCC34
+ccc;  35; CCC35                      ; CCC35
+ccc;  36; CCC36                      ; CCC36
+ccc;  84; CCC84                      ; CCC84
+ccc;  91; CCC91                      ; CCC91
+ccc; 103; CCC103                     ; CCC103
+ccc; 107; CCC107                     ; CCC107
+ccc; 118; CCC118                     ; CCC118
+ccc; 122; CCC122                     ; CCC122
+ccc; 129; CCC129                     ; CCC129
+ccc; 130; CCC130                     ; CCC130
+ccc; 132; CCC132                     ; CCC132
+ccc; 133; CCC133                     ; CCC133 # RESERVED
+ccc; 200; ATBL                       ; Attached_Below_Left
+ccc; 202; ATB                        ; Attached_Below
+ccc; 214; ATA                        ; Attached_Above
+ccc; 216; ATAR                       ; Attached_Above_Right
+ccc; 218; BL                         ; Below_Left
+ccc; 220; B                          ; Below
+ccc; 222; BR                         ; Below_Right
+ccc; 224; L                          ; Left
+ccc; 226; R                          ; Right
+ccc; 228; AL                         ; Above_Left
+ccc; 230; A                          ; Above
+ccc; 232; AR                         ; Above_Right
+ccc; 233; DB                         ; Double_Below
+ccc; 234; DA                         ; Double_Above
+ccc; 240; IS                         ; Iota_Subscript
 
 # Case_Folding (cf)
 
@@ -359,53 +407,53 @@
 
 # Case_Ignorable (CI)
 
-CI ; N         ; No                               ; F                                ; False
-CI ; Y         ; Yes                              ; T                                ; True
+CI ; N                                ; No                               ; F                                ; False
+CI ; Y                                ; Yes                              ; T                                ; True
 
 # Cased (Cased)
 
-Cased; N       ; No                               ; F                                ; False
-Cased; Y       ; Yes                              ; T                                ; True
+Cased; N                              ; No                               ; F                                ; False
+Cased; Y                              ; Yes                              ; T                                ; True
 
 # Changes_When_Casefolded (CWCF)
 
-CWCF; N        ; No                               ; F                                ; False
-CWCF; Y        ; Yes                              ; T                                ; True
+CWCF; N                               ; No                               ; F                                ; False
+CWCF; Y                               ; Yes                              ; T                                ; True
 
 # Changes_When_Casemapped (CWCM)
 
-CWCM; N        ; No                               ; F                                ; False
-CWCM; Y        ; Yes                              ; T                                ; True
+CWCM; N                               ; No                               ; F                                ; False
+CWCM; Y                               ; Yes                              ; T                                ; True
 
 # Changes_When_Lowercased (CWL)
 
-CWL; N         ; No                               ; F                                ; False
-CWL; Y         ; Yes                              ; T                                ; True
+CWL; N                                ; No                               ; F                                ; False
+CWL; Y                                ; Yes                              ; T                                ; True
 
 # Changes_When_NFKC_Casefolded (CWKCF)
 
-CWKCF; N       ; No                               ; F                                ; False
-CWKCF; Y       ; Yes                              ; T                                ; True
+CWKCF; N                              ; No                               ; F                                ; False
+CWKCF; Y                              ; Yes                              ; T                                ; True
 
 # Changes_When_Titlecased (CWT)
 
-CWT; N         ; No                               ; F                                ; False
-CWT; Y         ; Yes                              ; T                                ; True
+CWT; N                                ; No                               ; F                                ; False
+CWT; Y                                ; Yes                              ; T                                ; True
 
 # Changes_When_Uppercased (CWU)
 
-CWU; N         ; No                               ; F                                ; False
-CWU; Y         ; Yes                              ; T                                ; True
+CWU; N                                ; No                               ; F                                ; False
+CWU; Y                                ; Yes                              ; T                                ; True
 
 # Composition_Exclusion (CE)
 
-CE ; N         ; No                               ; F                                ; False
-CE ; Y         ; Yes                              ; T                                ; True
+CE ; N                                ; No                               ; F                                ; False
+CE ; Y                                ; Yes                              ; T                                ; True
 
 # Dash (Dash)
 
-Dash; N        ; No                               ; F                                ; False
-Dash; Y        ; Yes                              ; T                                ; True
+Dash; N                               ; No                               ; F                                ; False
+Dash; Y                               ; Yes                              ; T                                ; True
 
 # Decomposition_Mapping (dm)
 
@@ -413,73 +461,73 @@
 
 # Decomposition_Type (dt)
 
-dt ; Can       ; Canonical                        ; can
-dt ; Com       ; Compat                           ; com
-dt ; Enc       ; Circle                           ; enc
-dt ; Fin       ; Final                            ; fin
-dt ; Font      ; font
-dt ; Fra       ; Fraction                         ; fra
-dt ; Init      ; Initial                          ; init
-dt ; Iso       ; Isolated                         ; iso
-dt ; Med       ; Medial                           ; med
-dt ; Nar       ; Narrow                           ; nar
-dt ; Nb        ; Nobreak                          ; nb
-dt ; None      ; none
-dt ; Sml       ; Small                            ; sml
-dt ; Sqr       ; Square                           ; sqr
-dt ; Sub       ; sub
-dt ; Sup       ; Super                            ; sup
-dt ; Vert      ; Vertical                         ; vert
-dt ; Wide      ; wide
+dt ; Can                              ; Canonical                        ; can
+dt ; Com                              ; Compat                           ; com
+dt ; Enc                              ; Circle                           ; enc
+dt ; Fin                              ; Final                            ; fin
+dt ; Font                             ; Font                             ; font
+dt ; Fra                              ; Fraction                         ; fra
+dt ; Init                             ; Initial                          ; init
+dt ; Iso                              ; Isolated                         ; iso
+dt ; Med                              ; Medial                           ; med
+dt ; Nar                              ; Narrow                           ; nar
+dt ; Nb                               ; Nobreak                          ; nb
+dt ; None                             ; None                             ; none
+dt ; Sml                              ; Small                            ; sml
+dt ; Sqr                              ; Square                           ; sqr
+dt ; Sub                              ; Sub                              ; sub
+dt ; Sup                              ; Super                            ; sup
+dt ; Vert                             ; Vertical                         ; vert
+dt ; Wide                             ; Wide                             ; wide
 
 # Default_Ignorable_Code_Point (DI)
 
-DI ; N         ; No                               ; F                                ; False
-DI ; Y         ; Yes                              ; T                                ; True
+DI ; N                                ; No                               ; F                                ; False
+DI ; Y                                ; Yes                              ; T                                ; True
 
 # Deprecated (Dep)
 
-Dep; N         ; No                               ; F                                ; False
-Dep; Y         ; Yes                              ; T                                ; True
+Dep; N                                ; No                               ; F                                ; False
+Dep; Y                                ; Yes                              ; T                                ; True
 
 # Diacritic (Dia)
 
-Dia; N         ; No                               ; F                                ; False
-Dia; Y         ; Yes                              ; T                                ; True
+Dia; N                                ; No                               ; F                                ; False
+Dia; Y                                ; Yes                              ; T                                ; True
 
 # East_Asian_Width (ea)
 
-ea ; A         ; Ambiguous
-ea ; F         ; Fullwidth
-ea ; H         ; Halfwidth
-ea ; N         ; Neutral
-ea ; Na        ; Narrow
-ea ; W         ; Wide
+ea ; A                                ; Ambiguous
+ea ; F                                ; Fullwidth
+ea ; H                                ; Halfwidth
+ea ; N                                ; Neutral
+ea ; Na                               ; Narrow
+ea ; W                                ; Wide
 
 # Expands_On_NFC (XO_NFC)
 
-XO_NFC; N      ; No                               ; F                                ; False
-XO_NFC; Y      ; Yes                              ; T                                ; True
+XO_NFC; N                             ; No                               ; F                                ; False
+XO_NFC; Y                             ; Yes                              ; T                                ; True
 
 # Expands_On_NFD (XO_NFD)
 
-XO_NFD; N      ; No                               ; F                                ; False
-XO_NFD; Y      ; Yes                              ; T                                ; True
+XO_NFD; N                             ; No                               ; F                                ; False
+XO_NFD; Y                             ; Yes                              ; T                                ; True
 
 # Expands_On_NFKC (XO_NFKC)
 
-XO_NFKC; N     ; No                               ; F                                ; False
-XO_NFKC; Y     ; Yes                              ; T                                ; True
+XO_NFKC; N                            ; No                               ; F                                ; False
+XO_NFKC; Y                            ; Yes                              ; T                                ; True
 
 # Expands_On_NFKD (XO_NFKD)
 
-XO_NFKD; N     ; No                               ; F                                ; False
-XO_NFKD; Y     ; Yes                              ; T                                ; True
+XO_NFKD; N                            ; No                               ; F                                ; False
+XO_NFKD; Y                            ; Yes                              ; T                                ; True
 
 # Extender (Ext)
 
-Ext; N         ; No                               ; F                                ; False
-Ext; Y         ; Yes                              ; T                                ; True
+Ext; N                                ; No                               ; F                                ; False
+Ext; Y                                ; Yes                              ; T                                ; True
 
 # FC_NFKC_Closure (FC_NFKC)
 
@@ -487,118 +535,119 @@
 
 # Full_Composition_Exclusion (Comp_Ex)
 
-Comp_Ex; N     ; No                               ; F                                ; False
-Comp_Ex; Y     ; Yes                              ; T                                ; True
+Comp_Ex; N                            ; No                               ; F                                ; False
+Comp_Ex; Y                            ; Yes                              ; T                                ; True
 
 # General_Category (gc)
 
-gc ; C         ; Other                            # Cc | Cf | Cn | Co | Cs
-gc ; Cc        ; Control                          ; cntrl
-gc ; Cf        ; Format
-gc ; Cn        ; Unassigned
-gc ; Co        ; Private_Use
-gc ; Cs        ; Surrogate
-gc ; L         ; Letter                           # Ll | Lm | Lo | Lt | Lu
-gc ; LC        ; Cased_Letter                     # Ll | Lt | Lu
-gc ; Ll        ; Lowercase_Letter
-gc ; Lm        ; Modifier_Letter
-gc ; Lo        ; Other_Letter
-gc ; Lt        ; Titlecase_Letter
-gc ; Lu        ; Uppercase_Letter
-gc ; M         ; Mark                             # Mc | Me | Mn
-gc ; Mc        ; Spacing_Mark
-gc ; Me        ; Enclosing_Mark
-gc ; Mn        ; Nonspacing_Mark
-gc ; N         ; Number                           # Nd | Nl | No
-gc ; Nd        ; Decimal_Number                   ; digit
-gc ; Nl        ; Letter_Number
-gc ; No        ; Other_Number
-gc ; P         ; Punctuation                      ; punct                            # Pc | Pd | Pe | Pf | Pi | Po | Ps
-gc ; Pc        ; Connector_Punctuation
-gc ; Pd        ; Dash_Punctuation
-gc ; Pe        ; Close_Punctuation
-gc ; Pf        ; Final_Punctuation
-gc ; Pi        ; Initial_Punctuation
-gc ; Po        ; Other_Punctuation
-gc ; Ps        ; Open_Punctuation
-gc ; S         ; Symbol                           # Sc | Sk | Sm | So
-gc ; Sc        ; Currency_Symbol
-gc ; Sk        ; Modifier_Symbol
-gc ; Sm        ; Math_Symbol
-gc ; So        ; Other_Symbol
-gc ; Z         ; Separator                        # Zl | Zp | Zs
-gc ; Zl        ; Line_Separator
-gc ; Zp        ; Paragraph_Separator
-gc ; Zs        ; Space_Separator
+gc ; C                                ; Other                            # Cc | Cf | Cn | Co | Cs
+gc ; Cc                               ; Control                          ; cntrl
+gc ; Cf                               ; Format
+gc ; Cn                               ; Unassigned
+gc ; Co                               ; Private_Use
+gc ; Cs                               ; Surrogate
+gc ; L                                ; Letter                           # Ll | Lm | Lo | Lt | Lu
+gc ; LC                               ; Cased_Letter                     # Ll | Lt | Lu
+gc ; Ll                               ; Lowercase_Letter
+gc ; Lm                               ; Modifier_Letter
+gc ; Lo                               ; Other_Letter
+gc ; Lt                               ; Titlecase_Letter
+gc ; Lu                               ; Uppercase_Letter
+gc ; M                                ; Mark                             ; Combining_Mark                   # Mc | Me | Mn
+gc ; Mc                               ; Spacing_Mark
+gc ; Me                               ; Enclosing_Mark
+gc ; Mn                               ; Nonspacing_Mark
+gc ; N                                ; Number                           # Nd | Nl | No
+gc ; Nd                               ; Decimal_Number                   ; digit
+gc ; Nl                               ; Letter_Number
+gc ; No                               ; Other_Number
+gc ; P                                ; Punctuation                      ; punct                            # Pc | Pd | Pe | Pf | Pi | Po | Ps
+gc ; Pc                               ; Connector_Punctuation
+gc ; Pd                               ; Dash_Punctuation
+gc ; Pe                               ; Close_Punctuation
+gc ; Pf                               ; Final_Punctuation
+gc ; Pi                               ; Initial_Punctuation
+gc ; Po                               ; Other_Punctuation
+gc ; Ps                               ; Open_Punctuation
+gc ; S                                ; Symbol                           # Sc | Sk | Sm | So
+gc ; Sc                               ; Currency_Symbol
+gc ; Sk                               ; Modifier_Symbol
+gc ; Sm                               ; Math_Symbol
+gc ; So                               ; Other_Symbol
+gc ; Z                                ; Separator                        # Zl | Zp | Zs
+gc ; Zl                               ; Line_Separator
+gc ; Zp                               ; Paragraph_Separator
+gc ; Zs                               ; Space_Separator
 
 # Grapheme_Base (Gr_Base)
 
-Gr_Base; N     ; No                               ; F                                ; False
-Gr_Base; Y     ; Yes                              ; T                                ; True
+Gr_Base; N                            ; No                               ; F                                ; False
+Gr_Base; Y                            ; Yes                              ; T                                ; True
 
 # Grapheme_Cluster_Break (GCB)
 
-GCB; CN        ; Control
-GCB; CR        ; CR
-GCB; EX        ; Extend
-GCB; L         ; L
-GCB; LF        ; LF
-GCB; LV        ; LV
-GCB; LVT       ; LVT
-GCB; PP        ; Prepend
-GCB; SM        ; SpacingMark
-GCB; T         ; T
-GCB; V         ; V
-GCB; XX        ; Other
+GCB; CN                               ; Control
+GCB; CR                               ; CR
+GCB; EX                               ; Extend
+GCB; L                                ; L
+GCB; LF                               ; LF
+GCB; LV                               ; LV
+GCB; LVT                              ; LVT
+GCB; PP                               ; Prepend
+GCB; RI                               ; Regional_Indicator
+GCB; SM                               ; SpacingMark
+GCB; T                                ; T
+GCB; V                                ; V
+GCB; XX                               ; Other
 
 # Grapheme_Extend (Gr_Ext)
 
-Gr_Ext; N      ; No                               ; F                                ; False
-Gr_Ext; Y      ; Yes                              ; T                                ; True
+Gr_Ext; N                             ; No                               ; F                                ; False
+Gr_Ext; Y                             ; Yes                              ; T                                ; True
 
 # Grapheme_Link (Gr_Link)
 
-Gr_Link; N     ; No                               ; F                                ; False
-Gr_Link; Y     ; Yes                              ; T                                ; True
+Gr_Link; N                            ; No                               ; F                                ; False
+Gr_Link; Y                            ; Yes                              ; T                                ; True
 
 # Hangul_Syllable_Type (hst)
 
-hst; L         ; Leading_Jamo
-hst; LV        ; LV_Syllable
-hst; LVT       ; LVT_Syllable
-hst; NA        ; Not_Applicable
-hst; T         ; Trailing_Jamo
-hst; V         ; Vowel_Jamo
+hst; L                                ; Leading_Jamo
+hst; LV                               ; LV_Syllable
+hst; LVT                              ; LVT_Syllable
+hst; NA                               ; Not_Applicable
+hst; T                                ; Trailing_Jamo
+hst; V                                ; Vowel_Jamo
 
 # Hex_Digit (Hex)
 
-Hex; N         ; No                               ; F                                ; False
-Hex; Y         ; Yes                              ; T                                ; True
+Hex; N                                ; No                               ; F                                ; False
+Hex; Y                                ; Yes                              ; T                                ; True
 
 # Hyphen (Hyphen)
 
-Hyphen; N      ; No                               ; F                                ; False
-Hyphen; Y      ; Yes                              ; T                                ; True
+Hyphen; N                             ; No                               ; F                                ; False
+Hyphen; Y                             ; Yes                              ; T                                ; True
 
 # IDS_Binary_Operator (IDSB)
 
-IDSB; N        ; No                               ; F                                ; False
-IDSB; Y        ; Yes                              ; T                                ; True
+IDSB; N                               ; No                               ; F                                ; False
+IDSB; Y                               ; Yes                              ; T                                ; True
 
 # IDS_Trinary_Operator (IDST)
 
-IDST; N        ; No                               ; F                                ; False
-IDST; Y        ; Yes                              ; T                                ; True
+IDST; N                               ; No                               ; F                                ; False
+IDST; Y                               ; Yes                              ; T                                ; True
 
 # ID_Continue (IDC)
 
-IDC; N         ; No                               ; F                                ; False
-IDC; Y         ; Yes                              ; T                                ; True
+IDC; N                                ; No                               ; F                                ; False
+IDC; Y                                ; Yes                              ; T                                ; True
 
 # ID_Start (IDS)
 
-IDS; N         ; No                               ; F                                ; False
-IDS; Y         ; Yes                              ; T                                ; True
+IDS; N                                ; No                               ; F                                ; False
+IDS; Y                                ; Yes                              ; T                                ; True
 
 # ISO_Comment (isc)
 
@@ -606,208 +655,250 @@
 
 # Ideographic (Ideo)
 
-Ideo; N        ; No                               ; F                                ; False
-Ideo; Y        ; Yes                              ; T                                ; True
+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; Invisible                       ; Invisible
+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_Syllabic_Category (InSC)
+
+InSC; Avagraha                        ; Avagraha
+InSC; Bindu                           ; Bindu
+InSC; Consonant                       ; Consonant
+InSC; Consonant_Dead                  ; Consonant_Dead
+InSC; Consonant_Final                 ; Consonant_Final
+InSC; Consonant_Head_Letter           ; Consonant_Head_Letter
+InSC; Consonant_Medial                ; Consonant_Medial
+InSC; Consonant_Placeholder           ; Consonant_Placeholder
+InSC; Consonant_Repha                 ; Consonant_Repha
+InSC; Consonant_Subjoined             ; Consonant_Subjoined
+InSC; Modifying_Letter                ; Modifying_Letter
+InSC; Nukta                           ; Nukta
+InSC; Other                           ; Other
+InSC; Register_Shifter                ; Register_Shifter
+InSC; Tone_Letter                     ; Tone_Letter
+InSC; Tone_Mark                       ; Tone_Mark
+InSC; Virama                          ; Virama
+InSC; Visarga                         ; Visarga
+InSC; Vowel                           ; Vowel
+InSC; Vowel_Dependent                 ; Vowel_Dependent
+InSC; Vowel_Independent               ; Vowel_Independent
+
 # Jamo_Short_Name (JSN)
 
 # @missing: 0000..10FFFF; Jamo_Short_Name; <none>
-JSN; A         ; A
-JSN; AE        ; AE
-JSN; B         ; B
-JSN; BB        ; BB
-JSN; BS        ; BS
-JSN; C         ; C
-JSN; D         ; D
-JSN; DD        ; DD
-JSN; E         ; E
-JSN; EO        ; EO
-JSN; EU        ; EU
-JSN; G         ; G
-JSN; GG        ; GG
-JSN; GS        ; GS
-JSN; H         ; H
-JSN; I         ; I
-JSN; J         ; J
-JSN; JJ        ; JJ
-JSN; K         ; K
-JSN; L         ; L
-JSN; LB        ; LB
-JSN; LG        ; LG
-JSN; LH        ; LH
-JSN; LM        ; LM
-JSN; LP        ; LP
-JSN; LS        ; LS
-JSN; LT        ; LT
-JSN; M         ; M
-JSN; N         ; N
-JSN; NG        ; NG
-JSN; NH        ; NH
-JSN; NJ        ; NJ
-JSN; O         ; O
-JSN; OE        ; OE
-JSN; P         ; P
-JSN; R         ; R
-JSN; S         ; S
-JSN; SS        ; SS
-JSN; T         ; T
-JSN; U         ; U
-JSN; WA        ; WA
-JSN; WAE       ; WAE
-JSN; WE        ; WE
-JSN; WEO       ; WEO
-JSN; WI        ; WI
-JSN; YA        ; YA
-JSN; YAE       ; YAE
-JSN; YE        ; YE
-JSN; YEO       ; YEO
-JSN; YI        ; YI
-JSN; YO        ; YO
-JSN; YU        ; YU
+JSN; A                                ; A
+JSN; AE                               ; AE
+JSN; B                                ; B
+JSN; BB                               ; BB
+JSN; BS                               ; BS
+JSN; C                                ; C
+JSN; D                                ; D
+JSN; DD                               ; DD
+JSN; E                                ; E
+JSN; EO                               ; EO
+JSN; EU                               ; EU
+JSN; G                                ; G
+JSN; GG                               ; GG
+JSN; GS                               ; GS
+JSN; H                                ; H
+JSN; I                                ; I
+JSN; J                                ; J
+JSN; JJ                               ; JJ
+JSN; K                                ; K
+JSN; L                                ; L
+JSN; LB                               ; LB
+JSN; LG                               ; LG
+JSN; LH                               ; LH
+JSN; LM                               ; LM
+JSN; LP                               ; LP
+JSN; LS                               ; LS
+JSN; LT                               ; LT
+JSN; M                                ; M
+JSN; N                                ; N
+JSN; NG                               ; NG
+JSN; NH                               ; NH
+JSN; NJ                               ; NJ
+JSN; O                                ; O
+JSN; OE                               ; OE
+JSN; P                                ; P
+JSN; R                                ; R
+JSN; S                                ; S
+JSN; SS                               ; SS
+JSN; T                                ; T
+JSN; U                                ; U
+JSN; WA                               ; WA
+JSN; WAE                              ; WAE
+JSN; WE                               ; WE
+JSN; WEO                              ; WEO
+JSN; WI                               ; WI
+JSN; YA                               ; YA
+JSN; YAE                              ; YAE
+JSN; YE                               ; YE
+JSN; YEO                              ; YEO
+JSN; YI                               ; YI
+JSN; YO                               ; YO
+JSN; YU                               ; YU
 
 # Join_Control (Join_C)
 
-Join_C; N      ; No                               ; F                                ; False
-Join_C; Y      ; Yes                              ; T                                ; True
+Join_C; N                             ; No                               ; F                                ; False
+Join_C; Y                             ; Yes                              ; T                                ; True
 
 # Joining_Group (jg)
 
-jg ; n/a       ; Ain
-jg ; n/a       ; Alaph
-jg ; n/a       ; Alef
-jg ; n/a       ; Beh
-jg ; n/a       ; Beth
-jg ; n/a       ; Burushaski_Yeh_Barree
-jg ; n/a       ; Dal
-jg ; n/a       ; Dalath_Rish
-jg ; n/a       ; E
-jg ; n/a       ; Farsi_Yeh
-jg ; n/a       ; Fe
-jg ; n/a       ; Feh
-jg ; n/a       ; Final_Semkath
-jg ; n/a       ; Gaf
-jg ; n/a       ; Gamal
-jg ; n/a       ; Hah
-jg ; n/a       ; He
-jg ; n/a       ; Heh
-jg ; n/a       ; Heh_Goal
-jg ; n/a       ; Heth
-jg ; n/a       ; Kaf
-jg ; n/a       ; Kaph
-jg ; n/a       ; Khaph
-jg ; n/a       ; Knotted_Heh
-jg ; n/a       ; Lam
-jg ; n/a       ; Lamadh
-jg ; n/a       ; Meem
-jg ; n/a       ; Mim
-jg ; n/a       ; No_Joining_Group
-jg ; n/a       ; Noon
-jg ; n/a       ; Nun
-jg ; n/a       ; Nya
-jg ; n/a       ; Pe
-jg ; n/a       ; Qaf
-jg ; n/a       ; Qaph
-jg ; n/a       ; Reh
-jg ; n/a       ; Reversed_Pe
-jg ; n/a       ; Sad
-jg ; n/a       ; Sadhe
-jg ; n/a       ; Seen
-jg ; n/a       ; Semkath
-jg ; n/a       ; Shin
-jg ; n/a       ; Swash_Kaf
-jg ; n/a       ; Syriac_Waw
-jg ; n/a       ; Tah
-jg ; n/a       ; Taw
-jg ; n/a       ; Teh_Marbuta
-jg ; n/a       ; Teh_Marbuta_Goal                 ; Hamza_On_Heh_Goal
-jg ; n/a       ; Teth
-jg ; n/a       ; Waw
-jg ; n/a       ; Yeh
-jg ; n/a       ; Yeh_Barree
-jg ; n/a       ; Yeh_With_Tail
-jg ; n/a       ; Yudh
-jg ; n/a       ; Yudh_He
-jg ; n/a       ; Zain
-jg ; n/a       ; Zhain
+jg ; Ain                              ; Ain
+jg ; Alaph                            ; Alaph
+jg ; Alef                             ; Alef
+jg ; Beh                              ; Beh
+jg ; Beth                             ; Beth
+jg ; Burushaski_Yeh_Barree            ; Burushaski_Yeh_Barree
+jg ; Dal                              ; Dal
+jg ; Dalath_Rish                      ; Dalath_Rish
+jg ; E                                ; E
+jg ; Farsi_Yeh                        ; Farsi_Yeh
+jg ; Fe                               ; Fe
+jg ; Feh                              ; Feh
+jg ; Final_Semkath                    ; Final_Semkath
+jg ; Gaf                              ; Gaf
+jg ; Gamal                            ; Gamal
+jg ; Hah                              ; Hah
+jg ; He                               ; He
+jg ; Heh                              ; Heh
+jg ; Heh_Goal                         ; Heh_Goal
+jg ; Heth                             ; Heth
+jg ; Kaf                              ; Kaf
+jg ; Kaph                             ; Kaph
+jg ; Khaph                            ; Khaph
+jg ; Knotted_Heh                      ; Knotted_Heh
+jg ; Lam                              ; Lam
+jg ; Lamadh                           ; Lamadh
+jg ; Meem                             ; Meem
+jg ; Mim                              ; Mim
+jg ; No_Joining_Group                 ; No_Joining_Group
+jg ; Noon                             ; Noon
+jg ; Nun                              ; Nun
+jg ; Nya                              ; Nya
+jg ; Pe                               ; Pe
+jg ; Qaf                              ; Qaf
+jg ; Qaph                             ; Qaph
+jg ; Reh                              ; Reh
+jg ; Reversed_Pe                      ; Reversed_Pe
+jg ; Rohingya_Yeh                     ; Rohingya_Yeh
+jg ; Sad                              ; Sad
+jg ; Sadhe                            ; Sadhe
+jg ; Seen                             ; Seen
+jg ; Semkath                          ; Semkath
+jg ; Shin                             ; Shin
+jg ; Swash_Kaf                        ; Swash_Kaf
+jg ; Syriac_Waw                       ; Syriac_Waw
+jg ; Tah                              ; Tah
+jg ; Taw                              ; Taw
+jg ; Teh_Marbuta                      ; Teh_Marbuta
+jg ; Teh_Marbuta_Goal                 ; Hamza_On_Heh_Goal
+jg ; Teth                             ; Teth
+jg ; Waw                              ; Waw
+jg ; Yeh                              ; Yeh
+jg ; Yeh_Barree                       ; Yeh_Barree
+jg ; Yeh_With_Tail                    ; Yeh_With_Tail
+jg ; Yudh                             ; Yudh
+jg ; Yudh_He                          ; Yudh_He
+jg ; Zain                             ; Zain
+jg ; Zhain                            ; Zhain
 
 # Joining_Type (jt)
 
-jt ; C         ; Join_Causing
-jt ; D         ; Dual_Joining
-jt ; L         ; Left_Joining
-jt ; R         ; Right_Joining
-jt ; T         ; Transparent
-jt ; U         ; Non_Joining
+jt ; C                                ; Join_Causing
+jt ; D                                ; Dual_Joining
+jt ; L                                ; Left_Joining
+jt ; R                                ; Right_Joining
+jt ; T                                ; Transparent
+jt ; U                                ; Non_Joining
 
 # Line_Break (lb)
 
-lb ; AI        ; Ambiguous
-lb ; AL        ; Alphabetic
-lb ; B2        ; Break_Both
-lb ; BA        ; Break_After
-lb ; BB        ; Break_Before
-lb ; BK        ; Mandatory_Break
-lb ; CB        ; Contingent_Break
-lb ; CL        ; Close_Punctuation
-lb ; CM        ; Combining_Mark
-lb ; CP        ; Close_Parenthesis
-lb ; CR        ; Carriage_Return
-lb ; EX        ; Exclamation
-lb ; GL        ; Glue
-lb ; H2        ; H2
-lb ; H3        ; H3
-lb ; HY        ; Hyphen
-lb ; ID        ; Ideographic
-lb ; IN        ; Inseparable                      ; Inseperable
-lb ; IS        ; Infix_Numeric
-lb ; JL        ; JL
-lb ; JT        ; JT
-lb ; JV        ; JV
-lb ; LF        ; Line_Feed
-lb ; NL        ; Next_Line
-lb ; NS        ; Nonstarter
-lb ; NU        ; Numeric
-lb ; OP        ; Open_Punctuation
-lb ; PO        ; Postfix_Numeric
-lb ; PR        ; Prefix_Numeric
-lb ; QU        ; Quotation
-lb ; SA        ; Complex_Context
-lb ; SG        ; Surrogate
-lb ; SP        ; Space
-lb ; SY        ; Break_Symbols
-lb ; WJ        ; Word_Joiner
-lb ; XX        ; Unknown
-lb ; ZW        ; ZWSpace
+lb ; AI                               ; Ambiguous
+lb ; AL                               ; Alphabetic
+lb ; B2                               ; Break_Both
+lb ; BA                               ; Break_After
+lb ; BB                               ; Break_Before
+lb ; BK                               ; Mandatory_Break
+lb ; CB                               ; Contingent_Break
+lb ; CJ                               ; Conditional_Japanese_Starter
+lb ; CL                               ; Close_Punctuation
+lb ; CM                               ; Combining_Mark
+lb ; CP                               ; Close_Parenthesis
+lb ; CR                               ; Carriage_Return
+lb ; EX                               ; Exclamation
+lb ; GL                               ; Glue
+lb ; H2                               ; H2
+lb ; H3                               ; H3
+lb ; HL                               ; Hebrew_Letter
+lb ; HY                               ; Hyphen
+lb ; ID                               ; Ideographic
+lb ; IN                               ; Inseparable                      ; Inseperable
+lb ; IS                               ; Infix_Numeric
+lb ; JL                               ; JL
+lb ; JT                               ; JT
+lb ; JV                               ; JV
+lb ; LF                               ; Line_Feed
+lb ; NL                               ; Next_Line
+lb ; NS                               ; Nonstarter
+lb ; NU                               ; Numeric
+lb ; OP                               ; Open_Punctuation
+lb ; PO                               ; Postfix_Numeric
+lb ; PR                               ; Prefix_Numeric
+lb ; QU                               ; Quotation
+lb ; RI                               ; Regional_Indicator
+lb ; SA                               ; Complex_Context
+lb ; SG                               ; Surrogate
+lb ; SP                               ; Space
+lb ; SY                               ; Break_Symbols
+lb ; WJ                               ; Word_Joiner
+lb ; XX                               ; Unknown
+lb ; ZW                               ; ZWSpace
 
 # Logical_Order_Exception (LOE)
 
-LOE; N         ; No                               ; F                                ; False
-LOE; Y         ; Yes                              ; T                                ; True
+LOE; N                                ; No                               ; F                                ; False
+LOE; Y                                ; Yes                              ; T                                ; True
 
 # Lowercase (Lower)
 
-Lower; N       ; No                               ; F                                ; False
-Lower; Y       ; Yes                              ; T                                ; True
+Lower; N                              ; No                               ; F                                ; False
+Lower; Y                              ; Yes                              ; T                                ; True
 
-# Lowercase_Mapping (lc)
-
-# @missing: 0000..10FFFF; Lowercase_Mapping; <code point>
-
 # Math (Math)
 
-Math; N        ; No                               ; F                                ; False
-Math; Y        ; Yes                              ; T                                ; True
+Math; N                               ; No                               ; F                                ; False
+Math; Y                               ; Yes                              ; T                                ; True
 
 # NFC_Quick_Check (NFC_QC)
 
-NFC_QC; M      ; Maybe
-NFC_QC; N      ; No
-NFC_QC; Y      ; Yes
+NFC_QC; M                             ; Maybe
+NFC_QC; N                             ; No
+NFC_QC; Y                             ; Yes
 
 # NFD_Quick_Check (NFD_QC)
 
-NFD_QC; N      ; No
-NFD_QC; Y      ; Yes
+NFD_QC; N                             ; No
+NFD_QC; Y                             ; Yes
 
 # NFKC_Casefold (NFKC_CF)
 
@@ -815,14 +906,14 @@
 
 # NFKC_Quick_Check (NFKC_QC)
 
-NFKC_QC; M     ; Maybe
-NFKC_QC; N     ; No
-NFKC_QC; Y     ; Yes
+NFKC_QC; M                            ; Maybe
+NFKC_QC; N                            ; No
+NFKC_QC; Y                            ; Yes
 
 # NFKD_Quick_Check (NFKD_QC)
 
-NFKD_QC; N     ; No
-NFKD_QC; Y     ; Yes
+NFKD_QC; N                            ; No
+NFKD_QC; Y                            ; Yes
 
 # Name (na)
 
@@ -834,15 +925,15 @@
 
 # Noncharacter_Code_Point (NChar)
 
-NChar; N       ; No                               ; F                                ; False
-NChar; Y       ; Yes                              ; T                                ; True
+NChar; N                              ; No                               ; F                                ; False
+NChar; Y                              ; Yes                              ; T                                ; True
 
 # Numeric_Type (nt)
 
-nt ; De        ; Decimal
-nt ; Di        ; Digit
-nt ; None      ; None
-nt ; Nu        ; Numeric
+nt ; De                               ; Decimal
+nt ; Di                               ; Digit
+nt ; None                             ; None
+nt ; Nu                               ; Numeric
 
 # Numeric_Value (nv)
 
@@ -850,186 +941,197 @@
 
 # Other_Alphabetic (OAlpha)
 
-OAlpha; N      ; No                               ; F                                ; False
-OAlpha; Y      ; Yes                              ; T                                ; True
+OAlpha; N                             ; No                               ; F                                ; False
+OAlpha; Y                             ; Yes                              ; T                                ; True
 
 # Other_Default_Ignorable_Code_Point (ODI)
 
-ODI; N         ; No                               ; F                                ; False
-ODI; Y         ; Yes                              ; T                                ; True
+ODI; N                                ; No                               ; F                                ; False
+ODI; Y                                ; Yes                              ; T                                ; True
 
 # Other_Grapheme_Extend (OGr_Ext)
 
-OGr_Ext; N     ; No                               ; F                                ; False
-OGr_Ext; Y     ; Yes                              ; T                                ; True
+OGr_Ext; N                            ; No                               ; F                                ; False
+OGr_Ext; Y                            ; Yes                              ; T                                ; True
 
 # Other_ID_Continue (OIDC)
 
-OIDC; N        ; No                               ; F                                ; False
-OIDC; Y        ; Yes                              ; T                                ; True
+OIDC; N                               ; No                               ; F                                ; False
+OIDC; Y                               ; Yes                              ; T                                ; True
 
 # Other_ID_Start (OIDS)
 
-OIDS; N        ; No                               ; F                                ; False
-OIDS; Y        ; Yes                              ; T                                ; True
+OIDS; N                               ; No                               ; F                                ; False
+OIDS; Y                               ; Yes                              ; T                                ; True
 
 # Other_Lowercase (OLower)
 
-OLower; N      ; No                               ; F                                ; False
-OLower; Y      ; Yes                              ; T                                ; True
+OLower; N                             ; No                               ; F                                ; False
+OLower; Y                             ; Yes                              ; T                                ; True
 
 # Other_Math (OMath)
 
-OMath; N       ; No                               ; F                                ; False
-OMath; Y       ; Yes                              ; T                                ; True
+OMath; N                              ; No                               ; F                                ; False
+OMath; Y                              ; Yes                              ; T                                ; True
 
 # Other_Uppercase (OUpper)
 
-OUpper; N      ; No                               ; F                                ; False
-OUpper; Y      ; Yes                              ; T                                ; True
+OUpper; N                             ; No                               ; F                                ; False
+OUpper; Y                             ; Yes                              ; T                                ; True
 
 # Pattern_Syntax (Pat_Syn)
 
-Pat_Syn; N     ; No                               ; F                                ; False
-Pat_Syn; Y     ; Yes                              ; T                                ; True
+Pat_Syn; N                            ; No                               ; F                                ; False
+Pat_Syn; Y                            ; Yes                              ; T                                ; True
 
 # Pattern_White_Space (Pat_WS)
 
-Pat_WS; N      ; No                               ; F                                ; False
-Pat_WS; Y      ; Yes                              ; T                                ; True
+Pat_WS; N                             ; No                               ; F                                ; False
+Pat_WS; Y                             ; Yes                              ; T                                ; True
 
 # Quotation_Mark (QMark)
 
-QMark; N       ; No                               ; F                                ; False
-QMark; Y       ; Yes                              ; T                                ; True
+QMark; N                              ; No                               ; F                                ; False
+QMark; Y                              ; Yes                              ; T                                ; True
 
 # Radical (Radical)
 
-Radical; N     ; No                               ; F                                ; False
-Radical; Y     ; Yes                              ; T                                ; True
+Radical; N                            ; No                               ; F                                ; False
+Radical; Y                            ; Yes                              ; T                                ; True
 
 # STerm (STerm)
 
-STerm; N       ; No                               ; F                                ; False
-STerm; Y       ; Yes                              ; T                                ; True
+STerm; N                              ; No                               ; F                                ; False
+STerm; Y                              ; Yes                              ; T                                ; True
 
 # Script (sc)
 
-sc ; Arab      ; Arabic
-sc ; Armi      ; Imperial_Aramaic
-sc ; Armn      ; Armenian
-sc ; Avst      ; Avestan
-sc ; Bali      ; Balinese
-sc ; Bamu      ; Bamum
-sc ; Batk      ; Batak
-sc ; Beng      ; Bengali
-sc ; Bopo      ; Bopomofo
-sc ; Brah      ; Brahmi
-sc ; Brai      ; Braille
-sc ; Bugi      ; Buginese
-sc ; Buhd      ; Buhid
-sc ; Cans      ; Canadian_Aboriginal
-sc ; Cari      ; Carian
-sc ; Cham      ; Cham
-sc ; Cher      ; Cherokee
-sc ; Copt      ; Coptic                           ; Qaac
-sc ; Cprt      ; Cypriot
-sc ; Cyrl      ; Cyrillic
-sc ; Deva      ; Devanagari
-sc ; Dsrt      ; Deseret
-sc ; Egyp      ; Egyptian_Hieroglyphs
-sc ; Ethi      ; Ethiopic
-sc ; Geor      ; Georgian
-sc ; Glag      ; Glagolitic
-sc ; Goth      ; Gothic
-sc ; Grek      ; Greek
-sc ; Gujr      ; Gujarati
-sc ; Guru      ; Gurmukhi
-sc ; Hang      ; Hangul
-sc ; Hani      ; Han
-sc ; Hano      ; Hanunoo
-sc ; Hebr      ; Hebrew
-sc ; Hira      ; Hiragana
-sc ; Hrkt      ; Katakana_Or_Hiragana
-sc ; Ital      ; Old_Italic
-sc ; Java      ; Javanese
-sc ; Kali      ; Kayah_Li
-sc ; Kana      ; Katakana
-sc ; Khar      ; Kharoshthi
-sc ; Khmr      ; Khmer
-sc ; Knda      ; Kannada
-sc ; Kthi      ; Kaithi
-sc ; Lana      ; Tai_Tham
-sc ; Laoo      ; Lao
-sc ; Latn      ; Latin
-sc ; Lepc      ; Lepcha
-sc ; Limb      ; Limbu
-sc ; Linb      ; Linear_B
-sc ; Lisu      ; Lisu
-sc ; Lyci      ; Lycian
-sc ; Lydi      ; Lydian
-sc ; Mand      ; Mandaic
-sc ; Mlym      ; Malayalam
-sc ; Mong      ; Mongolian
-sc ; Mtei      ; Meetei_Mayek
-sc ; Mymr      ; Myanmar
-sc ; Nkoo      ; Nko
-sc ; Ogam      ; Ogham
-sc ; Olck      ; Ol_Chiki
-sc ; Orkh      ; Old_Turkic
-sc ; Orya      ; Oriya
-sc ; Osma      ; Osmanya
-sc ; Phag      ; Phags_Pa
-sc ; Phli      ; Inscriptional_Pahlavi
-sc ; Phnx      ; Phoenician
-sc ; Prti      ; Inscriptional_Parthian
-sc ; Rjng      ; Rejang
-sc ; Runr      ; Runic
-sc ; Samr      ; Samaritan
-sc ; Sarb      ; Old_South_Arabian
-sc ; Saur      ; Saurashtra
-sc ; Shaw      ; Shavian
-sc ; Sinh      ; Sinhala
-sc ; Sund      ; Sundanese
-sc ; Sylo      ; Syloti_Nagri
-sc ; Syrc      ; Syriac
-sc ; Tagb      ; Tagbanwa
-sc ; Tale      ; Tai_Le
-sc ; Talu      ; New_Tai_Lue
-sc ; Taml      ; Tamil
-sc ; Tavt      ; Tai_Viet
-sc ; Telu      ; Telugu
-sc ; Tfng      ; Tifinagh
-sc ; Tglg      ; Tagalog
-sc ; Thaa      ; Thaana
-sc ; Thai      ; Thai
-sc ; Tibt      ; Tibetan
-sc ; Ugar      ; Ugaritic
-sc ; Vaii      ; Vai
-sc ; Xpeo      ; Old_Persian
-sc ; Xsux      ; Cuneiform
-sc ; Yiii      ; Yi
-sc ; Zinh      ; Inherited                        ; Qaai
-sc ; Zyyy      ; Common
-sc ; Zzzz      ; Unknown
+sc ; Arab                             ; Arabic
+sc ; Armi                             ; Imperial_Aramaic
+sc ; Armn                             ; Armenian
+sc ; Avst                             ; Avestan
+sc ; Bali                             ; Balinese
+sc ; Bamu                             ; Bamum
+sc ; Batk                             ; Batak
+sc ; Beng                             ; Bengali
+sc ; Bopo                             ; Bopomofo
+sc ; Brah                             ; Brahmi
+sc ; Brai                             ; Braille
+sc ; Bugi                             ; Buginese
+sc ; Buhd                             ; Buhid
+sc ; Cakm                             ; Chakma
+sc ; Cans                             ; Canadian_Aboriginal
+sc ; Cari                             ; Carian
+sc ; Cham                             ; Cham
+sc ; Cher                             ; Cherokee
+sc ; Copt                             ; Coptic                           ; Qaac
+sc ; Cprt                             ; Cypriot
+sc ; Cyrl                             ; Cyrillic
+sc ; Deva                             ; Devanagari
+sc ; Dsrt                             ; Deseret
+sc ; Egyp                             ; Egyptian_Hieroglyphs
+sc ; Ethi                             ; Ethiopic
+sc ; Geor                             ; Georgian
+sc ; Glag                             ; Glagolitic
+sc ; Goth                             ; Gothic
+sc ; Grek                             ; Greek
+sc ; Gujr                             ; Gujarati
+sc ; Guru                             ; Gurmukhi
+sc ; Hang                             ; Hangul
+sc ; Hani                             ; Han
+sc ; Hano                             ; Hanunoo
+sc ; Hebr                             ; Hebrew
+sc ; Hira                             ; Hiragana
+sc ; Hrkt                             ; Katakana_Or_Hiragana
+sc ; Ital                             ; Old_Italic
+sc ; Java                             ; Javanese
+sc ; Kali                             ; Kayah_Li
+sc ; Kana                             ; Katakana
+sc ; Khar                             ; Kharoshthi
+sc ; Khmr                             ; Khmer
+sc ; Knda                             ; Kannada
+sc ; Kthi                             ; Kaithi
+sc ; Lana                             ; Tai_Tham
+sc ; Laoo                             ; Lao
+sc ; Latn                             ; Latin
+sc ; Lepc                             ; Lepcha
+sc ; Limb                             ; Limbu
+sc ; Linb                             ; Linear_B
+sc ; Lisu                             ; Lisu
+sc ; Lyci                             ; Lycian
+sc ; Lydi                             ; Lydian
+sc ; Mand                             ; Mandaic
+sc ; Merc                             ; Meroitic_Cursive
+sc ; Mero                             ; Meroitic_Hieroglyphs
+sc ; Mlym                             ; Malayalam
+sc ; Mong                             ; Mongolian
+sc ; Mtei                             ; Meetei_Mayek
+sc ; Mymr                             ; Myanmar
+sc ; Nkoo                             ; Nko
+sc ; Ogam                             ; Ogham
+sc ; Olck                             ; Ol_Chiki
+sc ; Orkh                             ; Old_Turkic
+sc ; Orya                             ; Oriya
+sc ; Osma                             ; Osmanya
+sc ; Phag                             ; Phags_Pa
+sc ; Phli                             ; Inscriptional_Pahlavi
+sc ; Phnx                             ; Phoenician
+sc ; Plrd                             ; Miao
+sc ; Prti                             ; Inscriptional_Parthian
+sc ; Rjng                             ; Rejang
+sc ; Runr                             ; Runic
+sc ; Samr                             ; Samaritan
+sc ; Sarb                             ; Old_South_Arabian
+sc ; Saur                             ; Saurashtra
+sc ; Shaw                             ; Shavian
+sc ; Shrd                             ; Sharada
+sc ; Sinh                             ; Sinhala
+sc ; Sora                             ; Sora_Sompeng
+sc ; Sund                             ; Sundanese
+sc ; Sylo                             ; Syloti_Nagri
+sc ; Syrc                             ; Syriac
+sc ; Tagb                             ; Tagbanwa
+sc ; Takr                             ; Takri
+sc ; Tale                             ; Tai_Le
+sc ; Talu                             ; New_Tai_Lue
+sc ; Taml                             ; Tamil
+sc ; Tavt                             ; Tai_Viet
+sc ; Telu                             ; Telugu
+sc ; Tfng                             ; Tifinagh
+sc ; Tglg                             ; Tagalog
+sc ; Thaa                             ; Thaana
+sc ; Thai                             ; Thai
+sc ; Tibt                             ; Tibetan
+sc ; Ugar                             ; Ugaritic
+sc ; Vaii                             ; Vai
+sc ; Xpeo                             ; Old_Persian
+sc ; Xsux                             ; Cuneiform
+sc ; Yiii                             ; Yi
+sc ; Zinh                             ; Inherited                        ; Qaai
+sc ; Zyyy                             ; Common
+sc ; Zzzz                             ; Unknown
 
+# Script_Extensions (scx)
+
+# @missing: 0000..10FFFF; Script_Extensions; <script>
+
 # Sentence_Break (SB)
 
-SB ; AT        ; ATerm
-SB ; CL        ; Close
-SB ; CR        ; CR
-SB ; EX        ; Extend
-SB ; FO        ; Format
-SB ; LE        ; OLetter
-SB ; LF        ; LF
-SB ; LO        ; Lower
-SB ; NU        ; Numeric
-SB ; SC        ; SContinue
-SB ; SE        ; Sep
-SB ; SP        ; Sp
-SB ; ST        ; STerm
-SB ; UP        ; Upper
-SB ; XX        ; Other
+SB ; AT                               ; ATerm
+SB ; CL                               ; Close
+SB ; CR                               ; CR
+SB ; EX                               ; Extend
+SB ; FO                               ; Format
+SB ; LE                               ; OLetter
+SB ; LF                               ; LF
+SB ; LO                               ; Lower
+SB ; NU                               ; Numeric
+SB ; SC                               ; SContinue
+SB ; SE                               ; Sep
+SB ; SP                               ; Sp
+SB ; ST                               ; STerm
+SB ; UP                               ; Upper
+SB ; XX                               ; Other
 
 # Simple_Case_Folding (scf)
 
@@ -1049,18 +1151,14 @@
 
 # Soft_Dotted (SD)
 
-SD ; N         ; No                               ; F                                ; False
-SD ; Y         ; Yes                              ; T                                ; True
+SD ; N                                ; No                               ; F                                ; False
+SD ; Y                                ; Yes                              ; T                                ; True
 
 # Terminal_Punctuation (Term)
 
-Term; N        ; No                               ; F                                ; False
-Term; Y        ; Yes                              ; T                                ; True
+Term; N                               ; No                               ; F                                ; False
+Term; Y                               ; Yes                              ; T                                ; True
 
-# Titlecase_Mapping (tc)
-
-# @missing: 0000..10FFFF; Titlecase_Mapping; <code point>
-
 # Unicode_1_Name (na1)
 
 # @missing: 0000..10FFFF; Unicode_1_Name; <none>
@@ -1067,53 +1165,50 @@
 
 # Unified_Ideograph (UIdeo)
 
-UIdeo; N       ; No                               ; F                                ; False
-UIdeo; Y       ; Yes                              ; T                                ; True
+UIdeo; N                              ; No                               ; F                                ; False
+UIdeo; Y                              ; Yes                              ; T                                ; True
 
 # Uppercase (Upper)
 
-Upper; N       ; No                               ; F                                ; False
-Upper; Y       ; Yes                              ; T                                ; True
+Upper; N                              ; No                               ; F                                ; False
+Upper; Y                              ; Yes                              ; T                                ; True
 
-# Uppercase_Mapping (uc)
-
-# @missing: 0000..10FFFF; Uppercase_Mapping; <code point>
-
 # Variation_Selector (VS)
 
-VS ; N         ; No                               ; F                                ; False
-VS ; Y         ; Yes                              ; T                                ; True
+VS ; N                                ; No                               ; F                                ; False
+VS ; Y                                ; Yes                              ; T                                ; True
 
 # White_Space (WSpace)
 
-WSpace; N      ; No                               ; F                                ; False
-WSpace; Y      ; Yes                              ; T                                ; True
+WSpace; N                             ; No                               ; F                                ; False
+WSpace; Y                             ; Yes                              ; T                                ; True
 
 # Word_Break (WB)
 
-WB ; CR        ; CR
-WB ; EX        ; ExtendNumLet
-WB ; Extend    ; Extend
-WB ; FO        ; Format
-WB ; KA        ; Katakana
-WB ; LE        ; ALetter
-WB ; LF        ; LF
-WB ; MB        ; MidNumLet
-WB ; ML        ; MidLetter
-WB ; MN        ; MidNum
-WB ; NL        ; Newline
-WB ; NU        ; Numeric
-WB ; XX        ; Other
+WB ; CR                               ; CR
+WB ; EX                               ; ExtendNumLet
+WB ; Extend                           ; Extend
+WB ; FO                               ; Format
+WB ; KA                               ; Katakana
+WB ; LE                               ; ALetter
+WB ; LF                               ; LF
+WB ; MB                               ; MidNumLet
+WB ; ML                               ; MidLetter
+WB ; MN                               ; MidNum
+WB ; NL                               ; Newline
+WB ; NU                               ; Numeric
+WB ; RI                               ; Regional_Indicator
+WB ; XX                               ; Other
 
 # XID_Continue (XIDC)
 
-XIDC; N        ; No                               ; F                                ; False
-XIDC; Y        ; Yes                              ; T                                ; True
+XIDC; N                               ; No                               ; F                                ; False
+XIDC; Y                               ; Yes                              ; T                                ; True
 
 # XID_Start (XIDS)
 
-XIDS; N        ; No                               ; F                                ; False
-XIDS; Y        ; Yes                              ; T                                ; True
+XIDS; N                               ; No                               ; F                                ; False
+XIDS; Y                               ; Yes                              ; T                                ; True
 
 # cjkAccountingNumeric (cjkAccountingNumeric)
 


Property changes on: vendor/perl/dist/lib/unicore/PropValueAliases.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/PropertyAliases.txt
===================================================================
--- vendor/perl/dist/lib/unicore/PropertyAliases.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/PropertyAliases.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# PropertyAliases-6.0.0.txt
-# Date: 2010-05-18, 00:49:38 GMT [MD]
+# PropertyAliases-6.2.0.txt
+# Date: 2012-05-20, 17:41:20 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -9,7 +9,6 @@
 # This file contains aliases for properties used in the UCD.
 # These names can be used for XML formats of UCD data, for regular-expression
 # property tests, and other programmatic textual descriptions of Unicode data.
-# For information on which properties are normative, see UCD.html.
 #
 # The names may be translated in appropriate environments, and additional
 # aliases may be useful.
@@ -27,7 +26,7 @@
 # Loose matching should be applied to all property names and property values, with
 # the exception of String Property values. With loose matching of property names and
 # values, the case distinctions, whitespace, and '_' are ignored. For Numeric Property
-# values, numeric equivalences are applied: thus "01.00" is equivalent to "1".
+# values, numeric equivalencies are applied: thus "01.00" is equivalent to "1".
 #
 # NOTE: Property value names are NOT unique across properties. For example:
 #
@@ -50,140 +49,143 @@
 # ================================================
 # Numeric Properties
 # ================================================
-cjkAccountingNumeric; kAccountingNumeric
-cjkOtherNumeric; kOtherNumeric
-cjkPrimaryNumeric; kPrimaryNumeric
-nv        ; Numeric_Value
+cjkAccountingNumeric     ; kAccountingNumeric
+cjkOtherNumeric          ; kOtherNumeric
+cjkPrimaryNumeric        ; kPrimaryNumeric
+nv                       ; Numeric_Value
 
 # ================================================
 # String Properties
 # ================================================
-bmg       ; Bidi_Mirroring_Glyph
-cf        ; Case_Folding
-cjkCompatibilityVariant; kCompatibilityVariant
-dm        ; Decomposition_Mapping
-FC_NFKC   ; FC_NFKC_Closure
-lc        ; Lowercase_Mapping
-NFKC_CF   ; NFKC_Casefold
-scf       ; Simple_Case_Folding         ; sfc
-slc       ; Simple_Lowercase_Mapping
-stc       ; Simple_Titlecase_Mapping
-suc       ; Simple_Uppercase_Mapping
-tc        ; Titlecase_Mapping
-uc        ; Uppercase_Mapping
+cf                       ; Case_Folding
+cjkCompatibilityVariant  ; kCompatibilityVariant
+dm                       ; Decomposition_Mapping
+FC_NFKC                  ; FC_NFKC_Closure
+lc                       ; Lowercase_Mapping
+NFKC_CF                  ; NFKC_Casefold
+scf                      ; Simple_Case_Folding         ; sfc
+slc                      ; Simple_Lowercase_Mapping
+stc                      ; Simple_Titlecase_Mapping
+suc                      ; Simple_Uppercase_Mapping
+tc                       ; Titlecase_Mapping
+uc                       ; Uppercase_Mapping
 
 # ================================================
 # Miscellaneous Properties
 # ================================================
-cjkIICore ; kIICore
-cjkIRG_GSource; kIRG_GSource
-cjkIRG_HSource; kIRG_HSource
-cjkIRG_JSource; kIRG_JSource
-cjkIRG_KPSource; kIRG_KPSource
-cjkIRG_KSource; kIRG_KSource
-cjkIRG_MSource; kIRG_MSource
-cjkIRG_TSource; kIRG_TSource
-cjkIRG_USource; kIRG_USource
-cjkIRG_VSource; kIRG_VSource
-cjkRSUnicode; kRSUnicode                ; Unicode_Radical_Stroke; URS
-isc       ; ISO_Comment
-JSN       ; Jamo_Short_Name
-na        ; Name
-na1       ; Unicode_1_Name
-Name_Alias; Name_Alias
+bmg                      ; Bidi_Mirroring_Glyph
+cjkIICore                ; kIICore
+cjkIRG_GSource           ; kIRG_GSource
+cjkIRG_HSource           ; kIRG_HSource
+cjkIRG_JSource           ; kIRG_JSource
+cjkIRG_KPSource          ; kIRG_KPSource
+cjkIRG_KSource           ; kIRG_KSource
+cjkIRG_MSource           ; kIRG_MSource
+cjkIRG_TSource           ; kIRG_TSource
+cjkIRG_USource           ; kIRG_USource
+cjkIRG_VSource           ; kIRG_VSource
+cjkRSUnicode             ; kRSUnicode                  ; Unicode_Radical_Stroke; URS
+isc                      ; ISO_Comment
+JSN                      ; Jamo_Short_Name
+na                       ; Name
+na1                      ; Unicode_1_Name
+Name_Alias               ; Name_Alias
+scx                      ; Script_Extensions
 
 # ================================================
 # Catalog Properties
 # ================================================
-age       ; Age
-blk       ; Block
-sc        ; Script
+age                      ; Age
+blk                      ; Block
+sc                       ; Script
 
 # ================================================
 # Enumerated Properties
 # ================================================
-bc        ; Bidi_Class
-ccc       ; Canonical_Combining_Class
-dt        ; Decomposition_Type
-ea        ; East_Asian_Width
-gc        ; General_Category
-GCB       ; Grapheme_Cluster_Break
-hst       ; Hangul_Syllable_Type
-jg        ; Joining_Group
-jt        ; Joining_Type
-lb        ; Line_Break
-NFC_QC    ; NFC_Quick_Check
-NFD_QC    ; NFD_Quick_Check
-NFKC_QC   ; NFKC_Quick_Check
-NFKD_QC   ; NFKD_Quick_Check
-nt        ; Numeric_Type
-SB        ; Sentence_Break
-WB        ; Word_Break
+bc                       ; Bidi_Class
+ccc                      ; Canonical_Combining_Class
+dt                       ; Decomposition_Type
+ea                       ; East_Asian_Width
+gc                       ; General_Category
+GCB                      ; Grapheme_Cluster_Break
+hst                      ; Hangul_Syllable_Type
+InMC                     ; Indic_Matra_Category
+InSC                     ; Indic_Syllabic_Category
+jg                       ; Joining_Group
+jt                       ; Joining_Type
+lb                       ; Line_Break
+NFC_QC                   ; NFC_Quick_Check
+NFD_QC                   ; NFD_Quick_Check
+NFKC_QC                  ; NFKC_Quick_Check
+NFKD_QC                  ; NFKD_Quick_Check
+nt                       ; Numeric_Type
+SB                       ; Sentence_Break
+WB                       ; Word_Break
 
 # ================================================
 # Binary Properties
 # ================================================
-AHex      ; ASCII_Hex_Digit
-Alpha     ; Alphabetic
-Bidi_C    ; Bidi_Control
-Bidi_M    ; Bidi_Mirrored
-Cased     ; Cased
-CE        ; Composition_Exclusion
-CI        ; Case_Ignorable
-Comp_Ex   ; Full_Composition_Exclusion
-CWCF      ; Changes_When_Casefolded
-CWCM      ; Changes_When_Casemapped
-CWKCF     ; Changes_When_NFKC_Casefolded
-CWL       ; Changes_When_Lowercased
-CWT       ; Changes_When_Titlecased
-CWU       ; Changes_When_Uppercased
-Dash      ; Dash
-Dep       ; Deprecated
-DI        ; Default_Ignorable_Code_Point
-Dia       ; Diacritic
-Ext       ; Extender
-Gr_Base   ; Grapheme_Base
-Gr_Ext    ; Grapheme_Extend
-Gr_Link   ; Grapheme_Link
-Hex       ; Hex_Digit
-Hyphen    ; Hyphen
-IDC       ; ID_Continue
-Ideo      ; Ideographic
-IDS       ; ID_Start
-IDSB      ; IDS_Binary_Operator
-IDST      ; IDS_Trinary_Operator
-Join_C    ; Join_Control
-LOE       ; Logical_Order_Exception
-Lower     ; Lowercase
-Math      ; Math
-NChar     ; Noncharacter_Code_Point
-OAlpha    ; Other_Alphabetic
-ODI       ; Other_Default_Ignorable_Code_Point
-OGr_Ext   ; Other_Grapheme_Extend
-OIDC      ; Other_ID_Continue
-OIDS      ; Other_ID_Start
-OLower    ; Other_Lowercase
-OMath     ; Other_Math
-OUpper    ; Other_Uppercase
-Pat_Syn   ; Pattern_Syntax
-Pat_WS    ; Pattern_White_Space
-QMark     ; Quotation_Mark
-Radical   ; Radical
-SD        ; Soft_Dotted
-STerm     ; STerm
-Term      ; Terminal_Punctuation
-UIdeo     ; Unified_Ideograph
-Upper     ; Uppercase
-VS        ; Variation_Selector
-WSpace    ; White_Space                 ; space
-XIDC      ; XID_Continue
-XIDS      ; XID_Start
-XO_NFC    ; Expands_On_NFC
-XO_NFD    ; Expands_On_NFD
-XO_NFKC   ; Expands_On_NFKC
-XO_NFKD   ; Expands_On_NFKD
+AHex                     ; ASCII_Hex_Digit
+Alpha                    ; Alphabetic
+Bidi_C                   ; Bidi_Control
+Bidi_M                   ; Bidi_Mirrored
+Cased                    ; Cased
+CE                       ; Composition_Exclusion
+CI                       ; Case_Ignorable
+Comp_Ex                  ; Full_Composition_Exclusion
+CWCF                     ; Changes_When_Casefolded
+CWCM                     ; Changes_When_Casemapped
+CWKCF                    ; Changes_When_NFKC_Casefolded
+CWL                      ; Changes_When_Lowercased
+CWT                      ; Changes_When_Titlecased
+CWU                      ; Changes_When_Uppercased
+Dash                     ; Dash
+Dep                      ; Deprecated
+DI                       ; Default_Ignorable_Code_Point
+Dia                      ; Diacritic
+Ext                      ; Extender
+Gr_Base                  ; Grapheme_Base
+Gr_Ext                   ; Grapheme_Extend
+Gr_Link                  ; Grapheme_Link
+Hex                      ; Hex_Digit
+Hyphen                   ; Hyphen
+IDC                      ; ID_Continue
+Ideo                     ; Ideographic
+IDS                      ; ID_Start
+IDSB                     ; IDS_Binary_Operator
+IDST                     ; IDS_Trinary_Operator
+Join_C                   ; Join_Control
+LOE                      ; Logical_Order_Exception
+Lower                    ; Lowercase
+Math                     ; Math
+NChar                    ; Noncharacter_Code_Point
+OAlpha                   ; Other_Alphabetic
+ODI                      ; Other_Default_Ignorable_Code_Point
+OGr_Ext                  ; Other_Grapheme_Extend
+OIDC                     ; Other_ID_Continue
+OIDS                     ; Other_ID_Start
+OLower                   ; Other_Lowercase
+OMath                    ; Other_Math
+OUpper                   ; Other_Uppercase
+Pat_Syn                  ; Pattern_Syntax
+Pat_WS                   ; Pattern_White_Space
+QMark                    ; Quotation_Mark
+Radical                  ; Radical
+SD                       ; Soft_Dotted
+STerm                    ; STerm
+Term                     ; Terminal_Punctuation
+UIdeo                    ; Unified_Ideograph
+Upper                    ; Uppercase
+VS                       ; Variation_Selector
+WSpace                   ; White_Space                 ; space
+XIDC                     ; XID_Continue
+XIDS                     ; XID_Start
+XO_NFC                   ; Expands_On_NFC
+XO_NFD                   ; Expands_On_NFD
+XO_NFKC                  ; Expands_On_NFKC
+XO_NFKD                  ; Expands_On_NFKD
 
 # ================================================
-# Total:    112
+# Total:    115
 
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/PropertyAliases.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/README.perl
===================================================================
--- vendor/perl/dist/lib/unicore/README.perl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/README.perl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,27 +1,49 @@
-The *.txt files were copied from
+# Perl should compile and reasonably run any version of Unicode.  That doesn't
+# mean that the test suite will run without showing errors.  A few of the
+# very-Unicode specific test files have been modified to account for different
+# versions, but most have not.  For example, some tests use characters that
+# aren't encoded in all Unicode versions; others have hard-coded the General
+# Categories that were correct at the time the test was written.  Perl itself
+# will not compile under Unicode releases prior to 3.0 without a simple change to
+# Unicode::Normalize.  mktables contains instructions for this, as well as other
+# hints for using older Unicode versions.
 
-	ftp://www.unicode.org/Public/UNIDATA
+# The *.txt files were copied from
 
-with subdirectories 'extracted' and 'auxiliary'
+# 	ftp://www.unicode.org/Public/UNIDATA
 
-The Unihan files were not included due to space considerations.  Also NOT
-included were any *.html files.  It is possible to add the Unihan files, and
-edit mktables (see instructions near its beginning) to look at them.
+# (which always points to the latest version) with subdirectories 'extracted' and
+# 'auxiliary'.  Older versions are located under Public with an appropriate name.
 
-The file 'version' should exist and be a single line with the Unicode version,
-like:
-5.2.0
+# The Unihan files were not included due to space considerations.  Also NOT
+# included were any *.html files.  It is possible to add the Unihan files, and
+# edit mktables (see instructions near its beginning) to look at them.
 
-To be 8.3 filesystem friendly, the names of some of the input files have been
-changed from the values that are in the Unicode DB.  Not all of the Test files
-are currently used, so may not be present, so some of the mv's can fail.  The
-.html Test files are not touched.
+# The file named 'version' should exist and be a single line with the Unicode
+# version, like:
+# 5.2.0
 
+# To be 8.3 filesystem friendly, the names of some of the input files have been
+# changed from the values that are in the Unicode DB.  Not all of the Test
+# files are currently used, so may not be present, so some of the mv's can
+# fail.  The .html Test files are not touched.
+
 mv PropertyValueAliases.txt PropValueAliases.txt
 mv NamedSequencesProv.txt NamedSqProv.txt
+mv NormalizationTest.txt NormTest.txt
 mv DerivedAge.txt DAge.txt
 mv DerivedCoreProperties.txt DCoreProperties.txt
 mv DerivedNormalizationProps.txt DNormalizationProps.txt
+
+# Some early releases don't have the extracted directory, and hence these files
+# should be moved to it.
+mkdir extracted 2>/dev/null
+mv DerivedBidiClass.txt DerivedBinaryProperties.txt extracted 2>/dev/null
+mv DerivedCombiningClass.txt DerivedDecompositionType.txt extracted 2>/dev/null
+mv DerivedEastAsianWidth.txt DerivedGeneralCategory.txt extracted 2>/dev/null
+mv DerivedJoiningGroup.txt DerivedJoiningType.txt extracted 2>/dev/null
+mv DerivedLineBreak.txt DerivedNumericType.txt DerivedNumericValues.txt extracted 2>/dev/null
+
 mv extracted/DerivedBidiClass.txt extracted/DBidiClass.txt
 mv extracted/DerivedBinaryProperties.txt extracted/DBinaryProperties.txt
 mv extracted/DerivedCombiningClass.txt extracted/DCombiningClass.txt
@@ -39,8 +61,8 @@
 mv auxiliary/SentenceBreakTest.txt auxiliary/SBTest.txt
 mv auxiliary/WordBreakTest.txt auxiliary/WBTest.txt
 
-If you have the Unihan database (5.2 and above), you should also do the
-following:
+# If you have the Unihan database (5.2 and above), you should also do the
+# following:
 
 mv Unihan_DictionaryIndices.txt UnihanIndicesDictionary.txt
 mv Unihan_DictionaryLikeData.txt UnihanDataDictionaryLike.txt
@@ -51,68 +73,74 @@
 mv Unihan_Readings.txt UnihanReadings.txt
 mv Unihan_Variants.txt UnihanVariants.txt
 
-If you download everything, the names of files that are not used by mktables
-are not changed by the above, and will not work correctly as-is on 8.3
-filesystems.
+# If you download everything, the names of files that are not used by mktables
+# are not changed by the above, and hence may not work correctly as-is on 8.3
+# filesystems.
 
-mktables is used to generate the tables used by the rest of Perl.  It will warn
-you about any *.txt files in the directory substructure that it doesn't know
-about.  You should remove any so-identified, or edit mktables to add them to
-its lists to process.  You can run
-
-    mktables -globlist
-
-to have it try to process these tables generically.
-
-FOR PUMPKINS
-
-The files are inter-related.  If you take the latest UnicodeData.txt, for
-example, but leave the older versions of other files, there can be subtle
-problems.  So get everything available from Unicode, and delete those which
-aren't needed.
-
-When moving to a new version of Unicode, you need to update 'version' by hand
-
-	p4 edit version
-	...
-
-You should look in the Unicode release notes (which are probably towards the
-bottom of http://www.unicode.org/reports/tr44/) to see if any properties have
-newly been moved to be Obsolete, Deprecated, or Stabilized.  The full names for
-these should be added to the respective lists near the beginning of mktables,
-using an 'if' to add them for just this Unicode version going forward, so that
-mktables can continue to be used for earlier Unicode versions. 
-
-When putting out a new Perl release, think about if any of the Deprecated
-properties should be moved to Suppressed.
-
-perlrecharclass.pod has a list of all the characters that are white space,
-which needs to be updated if there are changes.  A quick way to check if there
-have been changes would be to see if the number of such characters listed in
-perluniprops.pod (generated by running mktables) for the property
-\p{White_Space} is no longer 26.  Further investigation would then be necessary
-to classify the new characters as horizontal and vertical.
-
-The code in regexec.c for the \X match construct is intimately tied to the
-regular expression in UAX #29 (http://www.unicode.org/reports/tr29/).  You
-should see if it has changed, and if so regexec.c should be modified.  The
-current one is
-( CRLF
-| Prepend* ( Hangul-syllable | !Control )
-  ( Grapheme_Extend | Spacing_Mark)*
-| . )
-
-mktables has many checks to warn you if there are unexpected or novel things
-that it doesn't know how to handle.
-
-pod.lst should be changed so that it gives the new name (which includes the
-Unicode release number) for perluniprops.pod
-
-Module::CoreList should be changed to include the new release
-
-Finally:
-
-	p4 submit
-
--- 
-jhi at iki.fi; updated by nick at ccl4.org, public at khwilliamson.com
+# mktables is used to generate the tables used by the rest of Perl.  It will
+# warn you about any *.txt files in the directory substructure that it doesn't
+# know about.  You should remove any so-identified, or edit mktables to add
+# them to its lists to process.  You can run
+#
+#    mktables -globlist
+#
+#to have it try to process these tables generically.
+#
+# FOR PUMPKINS
+#
+# The files are inter-related.  If you take the latest UnicodeData.txt, for
+# example, but leave the older versions of other files, there can be subtle
+# problems.  So get everything available from Unicode, and delete those which
+# aren't needed.
+#
+# When moving to a new version of Unicode, you need to update 'version' by hand
+#
+#	p4 edit version
+# 	...
+#
+# You should look in the Unicode release notes (which are probably towards the
+# bottom of http://www.unicode.org/reports/tr44/) to see if any properties have
+# newly been moved to be Obsolete, Deprecated, or Stabilized.  The full names
+# for these should be added to the respective lists near the beginning of
+# mktables, using an 'if' to add them for just this Unicode version going
+# forward, so that mktables can continue to be used for earlier Unicode
+# versions.
+#
+# When putting out a new Perl release, think about if any of the Deprecated
+# properties should be moved to Suppressed.
+#
+# perlrecharclass.pod has a list of all the characters that are white space,
+# which needs to be updated if there are changes.  A quick way to check if
+# there have been changes would be to see if the number of such characters
+# listed in perluniprops.pod (generated by running mktables) for the property
+# \p{White_Space} is no longer 26.  Further investigation would then be
+# necessary to classify the new characters as horizontal and vertical.
+#
+# The code in regexec.c for the \X match construct is intimately tied to the
+# regular expression in UAX #29 (http://www.unicode.org/reports/tr29/).  You
+# should see if it has changed, and if so regexec.c should be modified.  The
+# current one is
+# ( CRLF
+# | Prepend* ( Hangul-syllable | !Control )
+#   ( Grapheme_Extend | Spacing_Mark)*
+# | . )
+#
+# mktables has many checks to warn you if there are unexpected or novel things
+# that it doesn't know how to handle.
+#
+# Module::CoreList should be changed to include the new release
+#
+# Also, you should regen l1_char_class_tab.h, by
+#
+# perl regen/mk_L_charclass.pl
+#
+# and, regen charclass_invlists.h by
+#
+# perl regen/mk_invlists.pl
+#
+# Finally:
+#
+# 	p4 submit
+#
+# --
+# jhi at iki.fi; updated by nick at ccl4.org, public at khwilliamson.com


Property changes on: vendor/perl/dist/lib/unicore/README.perl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/ReadMe.txt
===================================================================
--- vendor/perl/dist/lib/unicore/ReadMe.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/ReadMe.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
-# Date: 2010-10-05, 16:26:38 PDT [KW]
+# Date: 2012-09-24, 22:40:00 GMT [KW]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # For documentation, see NamesList.html,
@@ -10,4 +10,6 @@
 #
 
 This directory contains final data files
-for the Unicode Character Database (UCD) for Unicode 6.0.0.
+for the Unicode Character Database (UCD) for Unicode 6.2.0.
+
+


Property changes on: vendor/perl/dist/lib/unicore/ReadMe.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/ScriptExtensions.txt
===================================================================
--- vendor/perl/dist/lib/unicore/ScriptExtensions.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/ScriptExtensions.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,21 @@
-# ScriptExtensions-6.0.0.txt
-# Date: 2010-08-30, 01:48:36 GMT [MD]
+# ScriptExtensions-6.2.0.txt
+# Date: 2012-08-13, 20:52:17 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 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/
 #
-# The Script Extensions contain data about characters that belong to multiple scripts.
-# This data is provisional, and expected to change over time, as more information becomes available.
-# The script values are space-delimited short values, such as Hang for Hangul.
-# For more information, see UAX #24: http://www.unicode.org/reports/tr24/.
+#  All code points not explicitly listed for Script_Extensions
+#  have as their value the corresponding Script property value
+#
+# @missing: 0000..10FFFF; <script>
 
 # ================================================
 
@@ -17,13 +23,44 @@
 
 # ================================================
 
+# 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
+1CE1          ; Deva # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
+1CE2..1CE8    ; Deva # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA 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
+
+# Total code points: 28
+
+# ================================================
+
+# Script_Extensions=Grek
+
+0342          ; Grek # Mn       COMBINING GREEK PERISPOMENI
+0345          ; Grek # Mn       COMBINING GREEK YPOGEGRAMMENI
+1DC0..1DC1    ; Grek # Mn   [2] COMBINING DOTTED GRAVE ACCENT..COMBINING DOTTED ACUTE ACCENT
+
+# Total code points: 4
+
+# ================================================
+
+# Script_Extensions=Latn
+
+0363..036F    ; Latn # Mn  [13] COMBINING LATIN SMALL LETTER A..COMBINING LATIN SMALL LETTER X
+
+# Total code points: 13
+
+# ================================================
+
 # Script_Extensions=Arab Syrc
 
-0640          ; Arab Syrc # Lm       ARABIC TATWEEL
 064B..0655    ; Arab Syrc # Mn  [11] ARABIC FATHATAN..ARABIC HAMZA BELOW
 0670          ; Arab Syrc # Mn       ARABIC LETTER SUPERSCRIPT ALEF
 
-# Total code points: 13
+# Total code points: 12
 
 # ================================================
 
@@ -53,6 +90,32 @@
 
 # ================================================
 
+# Script_Extensions=Cprt Linb
+
+10100..10102  ; Cprt Linb # Po   [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
+10107..10133  ; Cprt Linb # No  [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
+10137..1013F  ; Cprt Linb # So   [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
+
+# Total code points: 57
+
+# ================================================
+
+# Script_Extensions=Cyrl Latn
+
+0485..0486    ; Cyrl Latn # Mn   [2] COMBINING CYRILLIC DASIA PNEUMATA..COMBINING CYRILLIC PSILI PNEUMATA
+
+# Total code points: 2
+
+# ================================================
+
+# Script_Extensions=Deva Latn
+
+0951..0952    ; Deva Latn # Mn   [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA
+
+# Total code points: 2
+
+# ================================================
+
 # Script_Extensions=Hira Kana
 
 3031..3035    ; Hira Kana # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
@@ -76,6 +139,14 @@
 
 # ================================================
 
+# Script_Extensions=Arab Mand Syrc
+
+0640          ; Arab Mand Syrc # Lm       ARABIC TATWEEL
+
+# Total code points: 1
+
+# ================================================
+
 # Script_Extensions=Arab Syrc Thaa
 
 060C          ; Arab Syrc Thaa # Po       ARABIC COMMA
@@ -99,17 +170,17 @@
 
 # ================================================
 
-# Script_Extensions=Beng Deva Guru Orya
+# Script_Extensions=Buhd Hano Tagb Tglg
 
-0964..0965    ; Beng Deva Guru Orya # Po   [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
+1735..1736    ; Buhd Hano Tagb Tglg # Po   [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
 
 # Total code points: 2
 
 # ================================================
 
-# Script_Extensions=Buhd Hano Tagb Tglg
+# Script_Extensions=Beng Deva Guru Orya Takr
 
-1735..1736    ; Buhd Hano Tagb Tglg # Po   [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
+0964..0965    ; Beng Deva Guru Orya Takr # Po   [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
 
 # Total code points: 2
 
@@ -140,6 +211,17 @@
 
 # ================================================
 
+# Script_Extensions=Deva Gujr Guru Kthi Takr
+
+A830..A835    ; Deva Gujr Guru Kthi Takr # No   [6] NORTH INDIC FRACTION ONE QUARTER..NORTH INDIC FRACTION THREE SIXTEENTHS
+A836..A837    ; Deva Gujr Guru Kthi Takr # So   [2] NORTH INDIC QUARTER MARK..NORTH INDIC PLACEHOLDER MARK
+A838          ; Deva Gujr Guru Kthi Takr # Sc       NORTH INDIC RUPEE MARK
+A839          ; Deva Gujr Guru Kthi Takr # So       NORTH INDIC QUANTITY MARK
+
+# Total code points: 10
+
+# ================================================
+
 # Script_Extensions=Bopo Hang Hani Hira Kana Yiii
 
 3001..3002    ; Bopo Hang Hani Hira Kana Yiii # Po   [2] IDEOGRAPHIC COMMA..IDEOGRAPHIC FULL STOP


Property changes on: vendor/perl/dist/lib/unicore/ScriptExtensions.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/Scripts.txt
===================================================================
--- vendor/perl/dist/lib/unicore/Scripts.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/Scripts.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# Scripts-6.0.0.txt
-# Date: 2010-08-19, 00:48:47 GMT [MD]
+# Scripts-6.2.0.txt
+# Date: 2012-06-04, 17:21:29 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -47,7 +47,8 @@
 00A0          ; Common # Zs       NO-BREAK SPACE
 00A1          ; Common # Po       INVERTED EXCLAMATION MARK
 00A2..00A5    ; Common # Sc   [4] CENT SIGN..YEN SIGN
-00A6..00A7    ; Common # So   [2] BROKEN BAR..SECTION SIGN
+00A6          ; Common # So       BROKEN BAR
+00A7          ; Common # Po       SECTION SIGN
 00A8          ; Common # Sk       DIAERESIS
 00A9          ; Common # So       COPYRIGHT SIGN
 00AB          ; Common # Pi       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
@@ -60,8 +61,7 @@
 00B2..00B3    ; Common # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
 00B4          ; Common # Sk       ACUTE ACCENT
 00B5          ; Common # L&       MICRO SIGN
-00B6          ; Common # So       PILCROW SIGN
-00B7          ; Common # Po       MIDDLE DOT
+00B6..00B7    ; Common # Po   [2] PILCROW SIGN..MIDDLE DOT
 00B8          ; Common # Sk       CEDILLA
 00B9          ; Common # No       SUPERSCRIPT ONE
 00BB          ; Common # Pf       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
@@ -90,7 +90,6 @@
 0660..0669    ; Common # Nd  [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
 06DD          ; Common # Cf       ARABIC END OF AYAH
 0964..0965    ; Common # Po   [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
-0970          ; Common # Po       DEVANAGARI ABBREVIATION SIGN
 0E3F          ; Common # Sc       THAI CURRENCY SYMBOL BAHT
 0FD5..0FD8    ; Common # So   [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
 10FB          ; Common # Po       GEORGIAN PARAGRAPH SEPARATOR
@@ -102,7 +101,8 @@
 1CE1          ; Common # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE9..1CEC    ; Common # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; Common # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2          ; Common # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; Common # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF5..1CF6    ; Common # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 2000..200A    ; Common # Zs  [11] EN QUAD..HAIR SPACE
 200B          ; Common # Cf       ZERO WIDTH SPACE
 200E..200F    ; Common # Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
@@ -146,7 +146,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..20B9    ; Common # Sc  [26] EURO-CURRENCY SIGN..INDIAN RUPEE SIGN
+20A0..20BA    ; Common # Sc  [27] EURO-CURRENCY SIGN..TURKISH LIRA 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
@@ -247,9 +247,7 @@
 27C0..27C4    ; Common # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
 27C5          ; Common # Ps       LEFT S-SHAPED BAG DELIMITER
 27C6          ; Common # Pe       RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA    ; Common # Sm   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC          ; Common # Sm       LONG DIVISION
-27CE..27E5    ; Common # Sm  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; Common # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27E6          ; Common # Ps       MATHEMATICAL LEFT WHITE SQUARE BRACKET
 27E7          ; Common # Pe       MATHEMATICAL RIGHT WHITE SQUARE BRACKET
 27E8          ; Common # Ps       MATHEMATICAL LEFT ANGLE BRACKET
@@ -329,7 +327,8 @@
 2E29          ; Common # Pe       RIGHT DOUBLE PARENTHESIS
 2E2A..2E2E    ; Common # Po   [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
 2E2F          ; Common # Lm       VERTICAL TILDE
-2E30..2E31    ; Common # Po   [2] RING POINT..WORD SEPARATOR MIDDLE DOT
+2E30..2E39    ; Common # Po  [10] RING POINT..TOP HALF SECTION SIGN
+2E3A..2E3B    ; Common # Pd   [2] TWO-EM DASH..THREE-EM DASH
 2FF0..2FFB    ; Common # So  [12] IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT..IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID
 3000          ; Common # Zs       IDEOGRAPHIC SPACE
 3001..3003    ; Common # Po   [3] IDEOGRAPHIC COMMA..DITTO MARK
@@ -373,7 +372,9 @@
 3196..319F    ; Common # So  [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
 31C0..31E3    ; Common # So  [36] CJK STROKE T..CJK STROKE Q
 3220..3229    ; Common # No  [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3250    ; Common # So  [39] PARENTHESIZED IDEOGRAPH MOON..PARTNERSHIP SIGN
+322A..3247    ; Common # So  [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
+3248..324F    ; Common # No   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+3250          ; Common # So       PARTNERSHIP SIGN
 3251..325F    ; Common # No  [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
 327F          ; Common # So       KOREAN STANDARD SYMBOL
 3280..3289    ; Common # No  [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
@@ -481,8 +482,7 @@
 FFED..FFEE    ; Common # So   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 FFF9..FFFB    ; Common # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
 FFFC..FFFD    ; Common # So   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
-10100..10101  ; Common # Po   [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102         ; Common # So       AEGEAN CHECK MARK
+10100..10102  ; Common # Po   [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
 10107..10133  ; Common # No  [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
 10137..1013F  ; Common # So   [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
 10190..1019B  ; Common # So  [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
@@ -548,7 +548,7 @@
 1F0D1..1F0DF  ; Common # So  [15] PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER
 1F100..1F10A  ; Common # No  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
 1F110..1F12E  ; Common # So  [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F130..1F169  ; Common # So  [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1F130..1F16B  ; Common # So  [60] SQUARED LATIN CAPITAL LETTER A..RAISED MD SIGN
 1F170..1F19A  ; Common # So  [43] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VS
 1F1E6..1F1FF  ; Common # So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
 1F201..1F202  ; Common # So   [2] SQUARED KATAKANA KOKO..SQUARED KATAKANA SA
@@ -567,19 +567,9 @@
 1F442..1F4F7  ; Common # So [182] EAR..CAMERA
 1F4F9..1F4FC  ; Common # So   [4] VIDEO CAMERA..VIDEOCASSETTE
 1F500..1F53D  ; Common # So  [62] TWISTED RIGHTWARDS ARROWS..DOWN-POINTING SMALL RED TRIANGLE
+1F540..1F543  ; Common # So   [4] CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
 1F550..1F567  ; Common # So  [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY
-1F5FB..1F5FF  ; Common # So   [5] MOUNT FUJI..MOYAI
-1F601..1F610  ; Common # So  [16] GRINNING FACE WITH SMILING EYES..NEUTRAL FACE
-1F612..1F614  ; Common # So   [3] UNAMUSED FACE..PENSIVE FACE
-1F616         ; Common # So       CONFOUNDED FACE
-1F618         ; Common # So       FACE THROWING A KISS
-1F61A         ; Common # So       KISSING FACE WITH CLOSED EYES
-1F61C..1F61E  ; Common # So   [3] FACE WITH STUCK-OUT TONGUE AND WINKING EYE..DISAPPOINTED FACE
-1F620..1F625  ; Common # So   [6] ANGRY FACE..DISAPPOINTED BUT RELIEVED FACE
-1F628..1F62B  ; Common # So   [4] FEARFUL FACE..TIRED FACE
-1F62D         ; Common # So       LOUDLY CRYING FACE
-1F630..1F633  ; Common # So   [4] FACE WITH OPEN MOUTH AND COLD SWEAT..FLUSHED FACE
-1F635..1F640  ; Common # So  [12] DIZZY FACE..WEARY CAT FACE
+1F5FB..1F640  ; Common # So  [70] MOUNT FUJI..WEARY CAT FACE
 1F645..1F64F  ; Common # So  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
 1F680..1F6C5  ; Common # So  [70] ROCKET..LEFT LUGGAGE
 1F700..1F773  ; Common # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -586,14 +576,14 @@
 E0001         ; Common # Cf       LANGUAGE TAG
 E0020..E007F  ; Common # Cf  [96] TAG SPACE..CANCEL TAG
 
-# Total code points: 6379
+# Total code points: 6413
 
 # ================================================
 
 0041..005A    ; Latin # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 0061..007A    ; Latin # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; Latin # L&       FEMININE ORDINAL INDICATOR
-00BA          ; Latin # L&       MASCULINE ORDINAL INDICATOR
+00AA          ; Latin # Lo       FEMININE ORDINAL INDICATOR
+00BA          ; Latin # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; Latin # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; Latin # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; Latin # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -607,7 +597,7 @@
 02E0..02E4    ; Latin # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
 1D00..1D25    ; Latin # L&  [38] LATIN LETTER SMALL CAPITAL A..LATIN LETTER AIN
 1D2C..1D5C    ; Latin # Lm  [49] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL AIN
-1D62..1D65    ; Latin # L&   [4] LATIN SUBSCRIPT SMALL LETTER I..LATIN SUBSCRIPT SMALL LETTER V
+1D62..1D65    ; Latin # Lm   [4] LATIN SUBSCRIPT SMALL LETTER I..LATIN SUBSCRIPT SMALL LETTER V
 1D6B..1D77    ; Latin # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D79..1D9A    ; Latin # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBE    ; Latin # Lm  [36] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL EZH
@@ -621,15 +611,16 @@
 2160..2182    ; Latin # Nl  [35] ROMAN NUMERAL ONE..ROMAN NUMERAL TEN THOUSAND
 2183..2184    ; Latin # L&   [2] ROMAN NUMERAL REVERSED ONE HUNDRED..LATIN SMALL LETTER REVERSED C
 2185..2188    ; Latin # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2C60..2C7C    ; Latin # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; Latin # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; Latin # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Latin # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2C7F    ; Latin # L&   [2] LATIN CAPITAL LETTER S WITH SWASH TAIL..LATIN CAPITAL LETTER Z WITH SWASH TAIL
 A722..A76F    ; Latin # L&  [78] LATIN CAPITAL LETTER EGYPTOLOGICAL ALEF..LATIN SMALL LETTER CON
 A770          ; Latin # Lm       MODIFIER LETTER US
 A771..A787    ; Latin # L&  [23] LATIN SMALL LETTER DUM..LATIN SMALL LETTER INSULAR T
 A78B..A78E    ; Latin # L&   [4] LATIN CAPITAL LETTER SALTILLO..LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
-A790..A791    ; Latin # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; Latin # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; Latin # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; Latin # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 FB00..FB06    ; Latin # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
@@ -636,7 +627,7 @@
 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: 1267
+# Total code points: 1272
 
 # ================================================
 
@@ -656,7 +647,7 @@
 03F7..03FF    ; Greek # L&   [9] GREEK CAPITAL LETTER SHO..GREEK CAPITAL REVERSED DOTTED LUNATE SIGMA SYMBOL
 1D26..1D2A    ; Greek # L&   [5] GREEK LETTER SMALL CAPITAL GAMMA..GREEK LETTER SMALL CAPITAL PSI
 1D5D..1D61    ; Greek # Lm   [5] MODIFIER LETTER SMALL BETA..MODIFIER LETTER SMALL CHI
-1D66..1D6A    ; Greek # L&   [5] GREEK SUBSCRIPT SMALL LETTER BETA..GREEK SUBSCRIPT SMALL LETTER CHI
+1D66..1D6A    ; Greek # Lm   [5] GREEK SUBSCRIPT SMALL LETTER BETA..GREEK SUBSCRIPT SMALL LETTER CHI
 1DBF          ; Greek # Lm       MODIFIER LETTER SMALL THETA
 1F00..1F15    ; Greek # L&  [22] GREEK SMALL LETTER ALPHA WITH PSILI..GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA
 1F18..1F1D    ; Greek # L&   [6] GREEK CAPITAL LETTER EPSILON WITH PSILI..GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA
@@ -710,12 +701,13 @@
 A66F          ; Cyrillic # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Cyrillic # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A673          ; Cyrillic # Po       SLAVONIC ASTERISK
-A67C..A67D    ; Cyrillic # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; Cyrillic # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
 A67E          ; Cyrillic # Po       CYRILLIC KAVYKA
 A67F          ; Cyrillic # Lm       CYRILLIC PAYEROK
 A680..A697    ; Cyrillic # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
+A69F          ; Cyrillic # Mn       COMBINING CYRILLIC LETTER IOTIFIED E
 
-# Total code points: 408
+# Total code points: 417
 
 # ================================================
 
@@ -724,9 +716,10 @@
 055A..055F    ; Armenian # Po   [6] ARMENIAN APOSTROPHE..ARMENIAN ABBREVIATION MARK
 0561..0587    ; Armenian # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 058A          ; Armenian # Pd       ARMENIAN HYPHEN
+058F          ; Armenian # Sc       ARMENIAN DRAM SIGN
 FB13..FB17    ; Armenian # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 
-# Total code points: 90
+# Total code points: 91
 
 # ================================================
 
@@ -757,7 +750,7 @@
 
 # ================================================
 
-0600..0603    ; Arabic # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; Arabic # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 0606..0608    ; Arabic # Sm   [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
 0609..060A    ; Arabic # Po   [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
 060B          ; Arabic # Sc       AFGHANI SIGN
@@ -767,7 +760,7 @@
 061E          ; Arabic # Po       ARABIC TRIPLE DOT PUNCTUATION MARK
 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..065E    ; Arabic # Mn   [9] ARABIC SUBSCRIPT ALEF..ARABIC FATHA WITH TWO DOTS
+0656..065F    ; Arabic # Mn  [10] ARABIC SUBSCRIPT ALEF..ARABIC WAVY HAMZA BELOW
 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
@@ -786,6 +779,9 @@
 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          ; Arabic # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; Arabic # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
+08E4..08FE    ; Arabic # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 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
@@ -796,8 +792,42 @@
 FE70..FE74    ; Arabic # Lo   [5] ARABIC FATHATAN ISOLATED FORM..ARABIC KASRATAN ISOLATED FORM
 FE76..FEFC    ; Arabic # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
 10E60..10E7E  ; Arabic # No  [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
+1EE00..1EE03  ; Arabic # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Arabic # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Arabic # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Arabic # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Arabic # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Arabic # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Arabic # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Arabic # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Arabic # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Arabic # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Arabic # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Arabic # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Arabic # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Arabic # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Arabic # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Arabic # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Arabic # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Arabic # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Arabic # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Arabic # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Arabic # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Arabic # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Arabic # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+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: 1051
+# Total code points: 1235
 
 # ================================================
 
@@ -838,6 +868,7 @@
 0958..0961    ; Devanagari # Lo  [10] DEVANAGARI LETTER QA..DEVANAGARI LETTER VOCALIC LL
 0962..0963    ; Devanagari # Mn   [2] DEVANAGARI VOWEL SIGN VOCALIC L..DEVANAGARI VOWEL SIGN VOCALIC LL
 0966..096F    ; Devanagari # Nd  [10] DEVANAGARI DIGIT ZERO..DEVANAGARI DIGIT NINE
+0970          ; Devanagari # Po       DEVANAGARI ABBREVIATION SIGN
 0971          ; Devanagari # Lm       DEVANAGARI SIGN HIGH SPACING DOT
 0972..0977    ; Devanagari # Lo   [6] DEVANAGARI LETTER CANDRA A..DEVANAGARI LETTER UUE
 0979..097F    ; Devanagari # Lo   [7] DEVANAGARI LETTER ZHA..DEVANAGARI LETTER BBA
@@ -846,7 +877,7 @@
 A8F8..A8FA    ; Devanagari # Po   [3] DEVANAGARI SIGN PUSHPIKA..DEVANAGARI CARET
 A8FB          ; Devanagari # Lo       DEVANAGARI HEADSTROKE
 
-# Total code points: 150
+# Total code points: 151
 
 # ================================================
 
@@ -927,9 +958,10 @@
 0AE0..0AE1    ; Gujarati # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 0AE2..0AE3    ; Gujarati # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
 0AE6..0AEF    ; Gujarati # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
+0AF0          ; Gujarati # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; Gujarati # Sc       GUJARATI RUPEE SIGN
 
-# Total code points: 83
+# Total code points: 84
 
 # ================================================
 
@@ -1119,9 +1151,9 @@
 0EC6          ; Lao # Lm       LAO KO LA
 0EC8..0ECD    ; Lao # Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
 0ED0..0ED9    ; Lao # Nd  [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD    ; Lao # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; Lao # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 
-# Total code points: 65
+# Total code points: 67
 
 # ================================================
 
@@ -1128,7 +1160,9 @@
 0F00          ; Tibetan # Lo       TIBETAN SYLLABLE OM
 0F01..0F03    ; Tibetan # So   [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
 0F04..0F12    ; Tibetan # Po  [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17    ; Tibetan # So   [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0F13          ; Tibetan # So       TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14          ; Tibetan # Po       TIBETAN MARK GTER TSHEG
+0F15..0F17    ; Tibetan # So   [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
 0F18..0F19    ; Tibetan # Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
 0F1A..0F1F    ; Tibetan # So   [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
 0F20..0F29    ; Tibetan # Nd  [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
@@ -1212,16 +1246,21 @@
 # ================================================
 
 10A0..10C5    ; Georgian # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Georgian # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Georgian # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; Georgian # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FC          ; Georgian # Lm       MODIFIER LETTER GEORGIAN NAR
+10FD..10FF    ; Georgian # Lo   [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN
 2D00..2D25    ; Georgian # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Georgian # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Georgian # L&       GEORGIAN SMALL LETTER AEN
 
-# Total code points: 120
+# Total code points: 127
 
 # ================================================
 
 1100..11FF    ; Hangul # Lo [256] HANGUL CHOSEONG KIYEOK..HANGUL JONGSEONG SSANGNIEUN
-302E..302F    ; Hangul # Mn   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302E..302F    ; Hangul # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3131..318E    ; Hangul # Lo  [94] HANGUL LETTER KIYEOK..HANGUL LETTER ARAEAE
 3200..321E    ; Hangul # So  [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
 3260..327E    ; Hangul # So  [31] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL IEUNG U
@@ -1256,8 +1295,7 @@
 1312..1315    ; Ethiopic # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; Ethiopic # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
 135D..135F    ; Ethiopic # Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
-1360          ; Ethiopic # So       ETHIOPIC SECTION MARK
-1361..1368    ; Ethiopic # Po   [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
+1360..1368    ; Ethiopic # Po   [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
 1369..137C    ; Ethiopic # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; Ethiopic # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399    ; Ethiopic # So  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
@@ -1313,7 +1351,7 @@
 # ================================================
 
 1780..17B3    ; Khmer # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5    ; Khmer # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; Khmer # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; Khmer # Mc       KHMER VOWEL SIGN AA
 17B7..17BD    ; Khmer # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17BE..17C5    ; Khmer # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
@@ -1393,9 +1431,8 @@
 3038..303A    ; Han # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
 303B          ; Han # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
 3400..4DB5    ; Han # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
-4E00..9FCB    ; Han # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-F900..FA2D    ; Han # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; Han # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+4E00..9FCC    ; Han # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+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
@@ -1402,7 +1439,7 @@
 2B740..2B81D  ; Han # Lo [222] CJK UNIFIED IDEOGRAPH-2B740..CJK UNIFIED IDEOGRAPH-2B81D
 2F800..2FA1D  ; Han # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 75960
+# Total code points: 75963
 
 # ================================================
 
@@ -1440,7 +1477,6 @@
 0300..036F    ; Inherited # Mn [112] COMBINING GRAVE ACCENT..COMBINING LATIN SMALL LETTER X
 0485..0486    ; Inherited # Mn   [2] COMBINING CYRILLIC DASIA PNEUMATA..COMBINING CYRILLIC PSILI PNEUMATA
 064B..0655    ; Inherited # Mn  [11] ARABIC FATHATAN..ARABIC HAMZA BELOW
-065F          ; Inherited # Mn       ARABIC WAVY HAMZA BELOW
 0670          ; Inherited # Mn       ARABIC LETTER SUPERSCRIPT ALEF
 0951..0952    ; Inherited # Mn   [2] DEVANAGARI STRESS SIGN UDATTA..DEVANAGARI STRESS SIGN ANUDATTA
 1CD0..1CD2    ; Inherited # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
@@ -1447,6 +1483,7 @@
 1CD4..1CE0    ; Inherited # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
 1CE2..1CE8    ; Inherited # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Inherited # Mn       VEDIC SIGN TIRYAK
+1CF4          ; Inherited # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; Inherited # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; Inherited # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C..200D    ; Inherited # Cf   [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
@@ -1587,11 +1624,12 @@
 2CE5..2CEA    ; Coptic # So   [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
 2CEB..2CEE    ; Coptic # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
 2CEF..2CF1    ; Coptic # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
+2CF2..2CF3    ; Coptic # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2CF9..2CFC    ; Coptic # Po   [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
 2CFD          ; Coptic # No       COPTIC FRACTION ONE HALF
 2CFE..2CFF    ; Coptic # Po   [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
 
-# Total code points: 135
+# Total code points: 137
 
 # ================================================
 
@@ -1614,12 +1652,12 @@
 
 # ================================================
 
-2D30..2D65    ; Tifinagh # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D30..2D67    ; Tifinagh # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; Tifinagh # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D70          ; Tifinagh # Po       TIFINAGH SEPARATOR MARK
 2D7F          ; Tifinagh # Mn       TIFINAGH CONSONANT JOINER
 
-# Total code points: 57
+# Total code points: 59
 
 # ================================================
 
@@ -1729,10 +1767,14 @@
 1BA6..1BA7    ; Sundanese # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; Sundanese # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA          ; Sundanese # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; Sundanese # Mn       SUNDANESE SIGN VIRAMA
+1BAC..1BAD    ; Sundanese # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE..1BAF    ; Sundanese # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
 1BB0..1BB9    ; Sundanese # Nd  [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
+1BBA..1BBF    ; Sundanese # Lo   [6] SUNDANESE AVAGRAHA..SUNDANESE LETTER FINAL M
+1CC0..1CC7    ; Sundanese # Po   [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
 
-# Total code points: 55
+# Total code points: 72
 
 # ================================================
 
@@ -1940,6 +1982,15 @@
 
 # ================================================
 
+AAE0..AAEA    ; Meetei_Mayek # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; Meetei_Mayek # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; Meetei_Mayek # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; Meetei_Mayek # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF0..AAF1    ; Meetei_Mayek # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
+AAF2          ; Meetei_Mayek # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; Meetei_Mayek # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; Meetei_Mayek # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6          ; Meetei_Mayek # Mn       MEETEI MAYEK VIRAMA
 ABC0..ABE2    ; Meetei_Mayek # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 ABE3..ABE4    ; Meetei_Mayek # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; Meetei_Mayek # Mn       MEETEI MAYEK VOWEL SIGN ANAP
@@ -1951,7 +2002,7 @@
 ABED          ; Meetei_Mayek # Mn       MEETEI MAYEK APUN IYEK
 ABF0..ABF9    ; Meetei_Mayek # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 
-# Total code points: 56
+# Total code points: 79
 
 # ================================================
 
@@ -2040,4 +2091,74 @@
 
 # Total code points: 29
 
+# ================================================
+
+11100..11102  ; Chakma # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11103..11126  ; Chakma # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11127..1112B  ; Chakma # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; Chakma # Mc       CHAKMA VOWEL SIGN E
+1112D..11134  ; Chakma # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11136..1113F  ; Chakma # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+11140..11143  ; Chakma # Po   [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
+
+# Total code points: 67
+
+# ================================================
+
+109A0..109B7  ; Meroitic_Cursive # Lo  [24] MEROITIC CURSIVE LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; Meroitic_Cursive # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+
+# Total code points: 26
+
+# ================================================
+
+10980..1099F  ; Meroitic_Hieroglyphs # Lo  [32] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2
+
+# Total code points: 32
+
+# ================================================
+
+16F00..16F44  ; Miao # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; Miao # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; Miao # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92  ; Miao # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
+16F93..16F9F  ; Miao # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
+
+# Total code points: 133
+
+# ================================================
+
+11180..11181  ; Sharada # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; Sharada # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; Sharada # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5  ; Sharada # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+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
+111D0..111D9  ; Sharada # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+
+# Total code points: 83
+
+# ================================================
+
+110D0..110E8  ; Sora_Sompeng # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9  ; Sora_Sompeng # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+
+# Total code points: 35
+
+# ================================================
+
+11680..116AA  ; Takri # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AB         ; Takri # Mn       TAKRI SIGN ANUSVARA
+116AC         ; Takri # Mc       TAKRI SIGN VISARGA
+116AD         ; Takri # Mn       TAKRI VOWEL SIGN AA
+116AE..116AF  ; Takri # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B0..116B5  ; Takri # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+116B6         ; Takri # Mc       TAKRI SIGN VIRAMA
+116B7         ; Takri # Mn       TAKRI SIGN NUKTA
+116C0..116C9  ; Takri # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
+
+# Total code points: 66
+
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/Scripts.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/SpecialCasing.txt
===================================================================
--- vendor/perl/dist/lib/unicore/SpecialCasing.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/SpecialCasing.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# SpecialCasing-6.0.0.txt
-# Date: 2010-05-18, 00:49:39 GMT [MD]
+# SpecialCasing-6.2.0.txt
+# Date: 2012-05-23, 20:35:15 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -47,7 +47,9 @@
 #  * Additional contexts
 #  * Additional fields
 # ================================================================================
-# @missing 0000..10FFFF; <slc>; <stc>; <suc>
+
+# @missing: 0000..10FFFF; <slc>; <stc>; <suc>;
+
 # ================================================================================
 # Unconditional mappings
 # ================================================================================


Property changes on: vendor/perl/dist/lib/unicore/SpecialCasing.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/StandardizedVariants.txt
===================================================================
--- vendor/perl/dist/lib/unicore/StandardizedVariants.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/StandardizedVariants.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,13 +1,13 @@
-# StandardizedVariants-6.0.0.txt
-# Date: 2010-05-19, 11:22:00 PDT [KW]
+# StandardizedVariants-6.2.0.txt
+# Date: 2012-05-15, 21:53:00 GMT [KW, LI]
 #
-# Specification of the variant sequences that are defined in the
+# Specification of the variation sequences that are defined in the
 # Unicode Standard.
 #
 # This file is a normative contributory data file in the
 # Unicode Character Database.
 #
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 #
 # Standardized variation sequences are defined in this file.
@@ -21,9 +21,9 @@
 #
 # For more information on standardized variation sequences, 
 # see Section 16.4, Variation Selectors, 
-# in The Unicode Standard, Version 6.0.
+# in The Unicode Standard, Version 6.2.
 #
-# For more information on the Ideographic Variation Database
+# For more information on the Ideographic Variation Database,
 # see http://www.unicode.org/ivd/
 #
 # Format:
@@ -44,7 +44,7 @@
 2273 FE00; following the slant of the lower leg; # GREATER-THAN OR EQUIVALENT TO
 # The following two entries were originally defined for Unicode 3.2
 # but were determined to be in error and were removed from the list
-# of standardized variation sequences. The entries are left commented
+# of standardized variation sequences. The entries are left commented out
 # in the file for the historical record of changes made to the data.
 #2278 FE00; with vertical stroke; # NEITHER LESS-THAN NOR GREATER-THAN
 #2279 FE00; with vertical stroke; # NEITHER GREATER-THAN NOR LESS-THAN
@@ -141,3 +141,225 @@
 1887 180D; fourth form; final # MONGOLIAN LETTER ALI GALI A
 1888 180B; second form; final # MONGOLIAN LETTER ALI GALI I 
 188A 180B; second form; initial medial # MONGOLIAN LETTER ALI GALI NGA
+
+# Emoji variation sequences for use as part of keycap symbols
+
+0023 FE0E; text style;  # NUMBER SIGN
+0023 FE0F; emoji style; # NUMBER SIGN
+0030 FE0E; text style;  # DIGIT ZERO
+0030 FE0F; emoji style; # DIGIT ZERO
+0031 FE0E; text style;  # DIGIT ONE
+0031 FE0F; emoji style; # DIGIT ONE
+0032 FE0E; text style;  # DIGIT TWO
+0032 FE0F; emoji style; # DIGIT TWO
+0033 FE0E; text style;  # DIGIT THREE
+0033 FE0F; emoji style; # DIGIT THREE
+0034 FE0E; text style;  # DIGIT FOUR
+0034 FE0F; emoji style; # DIGIT FOUR
+0035 FE0E; text style;  # DIGIT FIVE
+0035 FE0F; emoji style; # DIGIT FIVE
+0036 FE0E; text style;  # DIGIT SIX
+0036 FE0F; emoji style; # DIGIT SIX
+0037 FE0E; text style;  # DIGIT SEVEN
+0037 FE0F; emoji style; # DIGIT SEVEN
+0038 FE0E; text style;  # DIGIT EIGHT
+0038 FE0F; emoji style; # DIGIT EIGHT
+0039 FE0E; text style;  # DIGIT NINE
+0039 FE0F; emoji style; # DIGIT NINE
+
+# Emoji variation sequences
+
+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
+2139 FE0E; text style;  # INFORMATION SOURCE
+2139 FE0F; emoji style; # INFORMATION SOURCE
+2194 FE0E; text style;  # LEFT RIGHT ARROW
+2194 FE0F; emoji style; # LEFT RIGHT ARROW
+2195 FE0E; text style;  # UP DOWN ARROW
+2195 FE0F; emoji style; # UP DOWN ARROW
+2196 FE0E; text style;  # NORTH WEST ARROW
+2196 FE0F; emoji style; # NORTH WEST ARROW
+2197 FE0E; text style;  # NORTH EAST ARROW
+2197 FE0F; emoji style; # NORTH EAST ARROW
+2198 FE0E; text style;  # SOUTH EAST ARROW
+2198 FE0F; emoji style; # SOUTH EAST ARROW
+2199 FE0E; text style;  # SOUTH WEST ARROW
+2199 FE0F; emoji style; # SOUTH WEST ARROW
+21A9 FE0E; text style;  # LEFTWARDS ARROW WITH HOOK
+21A9 FE0F; emoji style; # LEFTWARDS ARROW WITH HOOK
+21AA FE0E; text style;  # RIGHTWARDS ARROW WITH HOOK
+21AA FE0F; emoji style; # RIGHTWARDS ARROW WITH HOOK
+231A FE0E; text style;  # WATCH
+231A FE0F; emoji style; # WATCH
+231B FE0E; text style;  # HOURGLASS
+231B FE0F; emoji style; # HOURGLASS
+24C2 FE0E; text style;  # CIRCLED LATIN CAPITAL LETTER M
+24C2 FE0F; emoji style; # CIRCLED LATIN CAPITAL LETTER M
+25AA FE0E; text style;  # BLACK SMALL SQUARE
+25AA FE0F; emoji style; # BLACK SMALL SQUARE
+25AB FE0E; text style;  # WHITE SMALL SQUARE
+25AB FE0F; emoji style; # WHITE SMALL SQUARE
+25B6 FE0E; text style;  # BLACK RIGHT-POINTING TRIANGLE
+25B6 FE0F; emoji style; # BLACK RIGHT-POINTING TRIANGLE
+25C0 FE0E; text style;  # BLACK LEFT-POINTING TRIANGLE
+25C0 FE0F; emoji style; # BLACK LEFT-POINTING TRIANGLE
+25FB FE0E; text style;  # WHITE MEDIUM SQUARE
+25FB FE0F; emoji style; # WHITE MEDIUM SQUARE
+25FC FE0E; text style;  # BLACK MEDIUM SQUARE
+25FC FE0F; emoji style; # BLACK MEDIUM SQUARE
+25FD FE0E; text style;  # WHITE MEDIUM SMALL SQUARE
+25FD FE0F; emoji style; # WHITE MEDIUM SMALL SQUARE
+25FE FE0E; text style;  # BLACK MEDIUM SMALL SQUARE
+25FE FE0F; emoji style; # BLACK MEDIUM SMALL SQUARE
+2600 FE0E; text style;  # BLACK SUN WITH RAYS
+2600 FE0F; emoji style; # BLACK SUN WITH RAYS
+2601 FE0E; text style;  # CLOUD
+2601 FE0F; emoji style; # CLOUD
+260E FE0E; text style;  # BLACK TELEPHONE
+260E FE0F; emoji style; # BLACK TELEPHONE
+2611 FE0E; text style;  # BALLOT BOX WITH CHECK
+2611 FE0F; emoji style; # BALLOT BOX WITH CHECK
+2614 FE0E; text style;  # UMBRELLA WITH RAIN DROPS
+2614 FE0F; emoji style; # UMBRELLA WITH RAIN DROPS
+2615 FE0E; text style;  # HOT BEVERAGE
+2615 FE0F; emoji style; # HOT BEVERAGE
+261D FE0E; text style;  # WHITE UP POINTING INDEX
+261D FE0F; emoji style; # WHITE UP POINTING INDEX
+263A FE0E; text style;  # WHITE SMILING FACE
+263A FE0F; emoji style; # WHITE SMILING FACE
+2648 FE0E; text style;  # ARIES
+2648 FE0F; emoji style; # ARIES
+2649 FE0E; text style;  # TAURUS
+2649 FE0F; emoji style; # TAURUS
+264A FE0E; text style;  # GEMINI
+264A FE0F; emoji style; # GEMINI
+264B FE0E; text style;  # CANCER
+264B FE0F; emoji style; # CANCER
+264C FE0E; text style;  # LEO
+264C FE0F; emoji style; # LEO
+264D FE0E; text style;  # VIRGO
+264D FE0F; emoji style; # VIRGO
+264E FE0E; text style;  # LIBRA
+264E FE0F; emoji style; # LIBRA
+264F FE0E; text style;  # SCORPIUS
+264F FE0F; emoji style; # SCORPIUS
+2650 FE0E; text style;  # SAGITTARIUS
+2650 FE0F; emoji style; # SAGITTARIUS
+2651 FE0E; text style;  # CAPRICORN
+2651 FE0F; emoji style; # CAPRICORN
+2652 FE0E; text style;  # AQUARIUS
+2652 FE0F; emoji style; # AQUARIUS
+2653 FE0E; text style;  # PISCES
+2653 FE0F; emoji style; # PISCES
+2660 FE0E; text style;  # BLACK SPADE SUIT
+2660 FE0F; emoji style; # BLACK SPADE SUIT
+2663 FE0E; text style;  # BLACK CLUB SUIT
+2663 FE0F; emoji style; # BLACK CLUB SUIT
+2665 FE0E; text style;  # BLACK HEART SUIT
+2665 FE0F; emoji style; # BLACK HEART SUIT
+2666 FE0E; text style;  # BLACK DIAMOND SUIT
+2666 FE0F; emoji style; # BLACK DIAMOND SUIT
+2668 FE0E; text style;  # HOT SPRINGS
+2668 FE0F; emoji style; # HOT SPRINGS
+267B FE0E; text style;  # BLACK UNIVERSAL RECYCLING SYMBOL
+267B FE0F; emoji style; # BLACK UNIVERSAL RECYCLING SYMBOL
+267F FE0E; text style;  # WHEELCHAIR SYMBOL
+267F FE0F; emoji style; # WHEELCHAIR SYMBOL
+2693 FE0E; text style;  # ANCHOR
+2693 FE0F; emoji style; # ANCHOR
+26A0 FE0E; text style;  # WARNING SIGN
+26A0 FE0F; emoji style; # WARNING SIGN
+26A1 FE0E; text style;  # HIGH VOLTAGE SIGN
+26A1 FE0F; emoji style; # HIGH VOLTAGE SIGN
+26AA FE0E; text style;  # MEDIUM WHITE CIRCLE
+26AA FE0F; emoji style; # MEDIUM WHITE CIRCLE
+26AB FE0E; text style;  # MEDIUM BLACK CIRCLE
+26AB FE0F; emoji style; # MEDIUM BLACK CIRCLE
+26BD FE0E; text style;  # SOCCER BALL
+26BD FE0F; emoji style; # SOCCER BALL
+26BE FE0E; text style;  # BASEBALL
+26BE FE0F; emoji style; # BASEBALL
+26C4 FE0E; text style;  # SNOWMAN WITHOUT SNOW
+26C4 FE0F; emoji style; # SNOWMAN WITHOUT SNOW
+26C5 FE0E; text style;  # SUN BEHIND CLOUD
+26C5 FE0F; emoji style; # SUN BEHIND CLOUD
+26D4 FE0E; text style;  # NO ENTRY
+26D4 FE0F; emoji style; # NO ENTRY
+26EA FE0E; text style;  # CHURCH
+26EA FE0F; emoji style; # CHURCH
+26F2 FE0E; text style;  # FOUNTAIN
+26F2 FE0F; emoji style; # FOUNTAIN
+26F3 FE0E; text style;  # FLAG IN HOLE
+26F3 FE0F; emoji style; # FLAG IN HOLE
+26F5 FE0E; text style;  # SAILBOAT
+26F5 FE0F; emoji style; # SAILBOAT
+26FA FE0E; text style;  # TENT
+26FA FE0F; emoji style; # TENT
+26FD FE0E; text style;  # FUEL PUMP
+26FD FE0F; emoji style; # FUEL PUMP
+2702 FE0E; text style;  # BLACK SCISSORS
+2702 FE0F; emoji style; # BLACK SCISSORS
+2708 FE0E; text style;  # AIRPLANE
+2708 FE0F; emoji style; # AIRPLANE
+2709 FE0E; text style;  # ENVELOPE
+2709 FE0F; emoji style; # ENVELOPE
+270C FE0E; text style;  # VICTORY HAND
+270C FE0F; emoji style; # VICTORY HAND
+270F FE0E; text style;  # PENCIL
+270F FE0F; emoji style; # PENCIL
+2712 FE0E; text style;  # BLACK NIB
+2712 FE0F; emoji style; # BLACK NIB
+2714 FE0E; text style;  # HEAVY CHECK MARK
+2714 FE0F; emoji style; # HEAVY CHECK MARK
+2716 FE0E; text style;  # HEAVY MULTIPLICATION X
+2716 FE0F; emoji style; # HEAVY MULTIPLICATION X
+2733 FE0E; text style;  # EIGHT SPOKED ASTERISK
+2733 FE0F; emoji style; # EIGHT SPOKED ASTERISK
+2734 FE0E; text style;  # EIGHT POINTED BLACK STAR
+2734 FE0F; emoji style; # EIGHT POINTED BLACK STAR
+2744 FE0E; text style;  # SNOWFLAKE
+2744 FE0F; emoji style; # SNOWFLAKE
+2747 FE0E; text style;  # SPARKLE
+2747 FE0F; emoji style; # SPARKLE
+2757 FE0E; text style;  # HEAVY EXCLAMATION MARK SYMBOL
+2757 FE0F; emoji style; # HEAVY EXCLAMATION MARK SYMBOL
+2764 FE0E; text style;  # HEAVY BLACK HEART
+2764 FE0F; emoji style; # HEAVY BLACK HEART
+27A1 FE0E; text style;  # BLACK RIGHTWARDS ARROW
+27A1 FE0F; emoji style; # BLACK RIGHTWARDS ARROW
+2934 FE0E; text style;  # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2934 FE0F; emoji style; # ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS
+2935 FE0E; text style;  # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2935 FE0F; emoji style; # ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
+2B05 FE0E; text style;  # LEFTWARDS BLACK ARROW
+2B05 FE0F; emoji style; # LEFTWARDS BLACK ARROW
+2B06 FE0E; text style;  # UPWARDS BLACK ARROW
+2B06 FE0F; emoji style; # UPWARDS BLACK ARROW
+2B07 FE0E; text style;  # DOWNWARDS BLACK ARROW
+2B07 FE0F; emoji style; # DOWNWARDS BLACK ARROW
+2B1B FE0E; text style;  # BLACK LARGE SQUARE
+2B1B FE0F; emoji style; # BLACK LARGE SQUARE
+2B1C FE0E; text style;  # WHITE LARGE SQUARE
+2B1C FE0F; emoji style; # WHITE LARGE SQUARE
+2B50 FE0E; text style;  # WHITE MEDIUM STAR
+2B50 FE0F; emoji style; # WHITE MEDIUM STAR
+2B55 FE0E; text style;  # HEAVY LARGE CIRCLE
+2B55 FE0F; emoji style; # HEAVY LARGE CIRCLE
+303D FE0E; text style;  # PART ALTERNATION MARK
+303D FE0F; emoji style; # PART ALTERNATION MARK
+3297 FE0E; text style;  # CIRCLED IDEOGRAPH CONGRATULATION
+3297 FE0F; emoji style; # CIRCLED IDEOGRAPH CONGRATULATION
+3299 FE0E; text style;  # CIRCLED IDEOGRAPH SECRET
+3299 FE0F; emoji style; # CIRCLED IDEOGRAPH SECRET
+1F004 FE0E; text style;  # MAHJONG TILE RED DRAGON
+1F004 FE0F; emoji style; # MAHJONG TILE RED DRAGON
+1F17F FE0E; text style;  # NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F17F FE0F; emoji style; # NEGATIVE SQUARED LATIN CAPITAL LETTER P
+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
+
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/StandardizedVariants.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/UnicodeData.txt
===================================================================
--- vendor/perl/dist/lib/unicore/UnicodeData.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/UnicodeData.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -165,10 +165,10 @@
 00A4;CURRENCY SIGN;Sc;0;ET;;;;;N;;;;;
 00A5;YEN SIGN;Sc;0;ET;;;;;N;;;;;
 00A6;BROKEN BAR;So;0;ON;;;;;N;BROKEN VERTICAL BAR;;;;
-00A7;SECTION SIGN;So;0;ON;;;;;N;;;;;
+00A7;SECTION SIGN;Po;0;ON;;;;;N;;;;;
 00A8;DIAERESIS;Sk;0;ON;<compat> 0020 0308;;;;N;SPACING DIAERESIS;;;;
 00A9;COPYRIGHT SIGN;So;0;ON;;;;;N;;;;;
-00AA;FEMININE ORDINAL INDICATOR;Ll;0;L;<super> 0061;;;;N;;;;;
+00AA;FEMININE ORDINAL INDICATOR;Lo;0;L;<super> 0061;;;;N;;;;;
 00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;;;;
 00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;;
 00AD;SOFT HYPHEN;Cf;0;BN;;;;;N;;;;;
@@ -180,11 +180,11 @@
 00B3;SUPERSCRIPT THREE;No;0;EN;<super> 0033;;3;3;N;SUPERSCRIPT DIGIT THREE;;;;
 00B4;ACUTE ACCENT;Sk;0;ON;<compat> 0020 0301;;;;N;SPACING ACUTE;;;;
 00B5;MICRO SIGN;Ll;0;L;<compat> 03BC;;;;N;;;039C;;039C
-00B6;PILCROW SIGN;So;0;ON;;;;;N;PARAGRAPH SIGN;;;;
+00B6;PILCROW SIGN;Po;0;ON;;;;;N;PARAGRAPH SIGN;;;;
 00B7;MIDDLE DOT;Po;0;ON;;;;;N;;;;;
 00B8;CEDILLA;Sk;0;ON;<compat> 0020 0327;;;;N;SPACING CEDILLA;;;;
 00B9;SUPERSCRIPT ONE;No;0;EN;<super> 0031;;1;1;N;SUPERSCRIPT DIGIT ONE;;;;
-00BA;MASCULINE ORDINAL INDICATOR;Ll;0;L;<super> 006F;;;;N;;;;;
+00BA;MASCULINE ORDINAL INDICATOR;Lo;0;L;<super> 006F;;;;N;;;;;
 00BB;RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK;Pf;0;ON;;;;;Y;RIGHT POINTING GUILLEMET;;;;
 00BC;VULGAR FRACTION ONE QUARTER;No;0;ON;<fraction> 0031 2044 0034;;;1/4;N;FRACTION ONE QUARTER;;;;
 00BD;VULGAR FRACTION ONE HALF;No;0;ON;<fraction> 0031 2044 0032;;;1/2;N;FRACTION ONE HALF;;;;
@@ -612,7 +612,7 @@
 0263;LATIN SMALL LETTER GAMMA;Ll;0;L;;;;;N;;;0194;;0194
 0264;LATIN SMALL LETTER RAMS HORN;Ll;0;L;;;;;N;LATIN SMALL LETTER BABY GAMMA;;;;
 0265;LATIN SMALL LETTER TURNED H;Ll;0;L;;;;;N;;;A78D;;A78D
-0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;;;
+0266;LATIN SMALL LETTER H WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER H HOOK;;A7AA;;A7AA
 0267;LATIN SMALL LETTER HENG WITH HOOK;Ll;0;L;;;;;N;LATIN SMALL LETTER HENG HOOK;;;;
 0268;LATIN SMALL LETTER I WITH STROKE;Ll;0;L;;;;;N;LATIN SMALL LETTER BARRED I;;0197;;0197
 0269;LATIN SMALL LETTER IOTA;Ll;0;L;;;;;N;;;0196;;0196
@@ -1394,6 +1394,7 @@
 0587;ARMENIAN SMALL LIGATURE ECH YIWN;Ll;0;L;<compat> 0565 0582;;;;N;;;;;
 0589;ARMENIAN FULL STOP;Po;0;L;;;;;N;ARMENIAN PERIOD;;;;
 058A;ARMENIAN HYPHEN;Pd;0;ON;;;;;N;;;;;
+058F;ARMENIAN DRAM SIGN;Sc;0;ET;;;;;N;;;;;
 0591;HEBREW ACCENT ETNAHTA;Mn;220;NSM;;;;;N;;;;;
 0592;HEBREW ACCENT SEGOL;Mn;230;NSM;;;;;N;;;;;
 0593;HEBREW ACCENT SHALSHELET;Mn;230;NSM;;;;;N;;;;;
@@ -1485,6 +1486,7 @@
 0601;ARABIC SIGN SANAH;Cf;0;AN;;;;;N;;;;;
 0602;ARABIC FOOTNOTE MARKER;Cf;0;AN;;;;;N;;;;;
 0603;ARABIC SIGN SAFHA;Cf;0;AN;;;;;N;;;;;
+0604;ARABIC SIGN SAMVAT;Cf;0;AN;;;;;N;;;;;
 0606;ARABIC-INDIC CUBE ROOT;Sm;0;ON;;;;;N;;;;;
 0607;ARABIC-INDIC FOURTH ROOT;Sm;0;ON;;;;;N;;;;;
 0608;ARABIC RAY;Sm;0;AL;;;;;N;;;;;
@@ -1747,7 +1749,7 @@
 070B;SYRIAC HARKLEAN OBELUS;Po;0;AL;;;;;N;;;;;
 070C;SYRIAC HARKLEAN METOBELUS;Po;0;AL;;;;;N;;;;;
 070D;SYRIAC HARKLEAN ASTERISCUS;Po;0;AL;;;;;N;;;;;
-070F;SYRIAC ABBREVIATION MARK;Cf;0;AN;;;;;N;;;;;
+070F;SYRIAC ABBREVIATION MARK;Cf;0;AL;;;;;N;;;;;
 0710;SYRIAC LETTER ALAPH;Lo;0;AL;;;;;N;;;;;
 0711;SYRIAC LETTER SUPERSCRIPT ALAPH;Mn;36;NSM;;;;;N;;;;;
 0712;SYRIAC LETTER BETH;Lo;0;AL;;;;;N;;;;;
@@ -2057,6 +2059,45 @@
 085A;MANDAIC VOCALIZATION MARK;Mn;220;NSM;;;;;N;;;;;
 085B;MANDAIC GEMINATION MARK;Mn;220;NSM;;;;;N;;;;;
 085E;MANDAIC PUNCTUATION;Po;0;R;;;;;N;;;;;
+08A0;ARABIC LETTER BEH WITH SMALL V BELOW;Lo;0;AL;;;;;N;;;;;
+08A2;ARABIC LETTER JEEM WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+08A3;ARABIC LETTER TAH WITH TWO DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+08A4;ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+08A5;ARABIC LETTER QAF WITH DOT BELOW;Lo;0;AL;;;;;N;;;;;
+08A6;ARABIC LETTER LAM WITH DOUBLE BAR;Lo;0;AL;;;;;N;;;;;
+08A7;ARABIC LETTER MEEM WITH THREE DOTS ABOVE;Lo;0;AL;;;;;N;;;;;
+08A8;ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE;Lo;0;AL;;;;;N;;;;;
+08A9;ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE;Lo;0;AL;;;;;N;;;;;
+08AA;ARABIC LETTER REH WITH LOOP;Lo;0;AL;;;;;N;;;;;
+08AB;ARABIC LETTER WAW WITH DOT WITHIN;Lo;0;AL;;;;;N;;;;;
+08AC;ARABIC LETTER ROHINGYA YEH;Lo;0;AL;;;;;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;;;;;
+08E7;ARABIC CURLY FATHATAN;Mn;230;NSM;;;;;N;;;;;
+08E8;ARABIC CURLY DAMMATAN;Mn;230;NSM;;;;;N;;;;;
+08E9;ARABIC CURLY KASRATAN;Mn;220;NSM;;;;;N;;;;;
+08EA;ARABIC TONE ONE DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
+08EB;ARABIC TONE TWO DOTS ABOVE;Mn;230;NSM;;;;;N;;;;;
+08EC;ARABIC TONE LOOP ABOVE;Mn;230;NSM;;;;;N;;;;;
+08ED;ARABIC TONE ONE DOT BELOW;Mn;220;NSM;;;;;N;;;;;
+08EE;ARABIC TONE TWO DOTS BELOW;Mn;220;NSM;;;;;N;;;;;
+08EF;ARABIC TONE LOOP BELOW;Mn;220;NSM;;;;;N;;;;;
+08F0;ARABIC OPEN FATHATAN;Mn;27;NSM;;;;;N;;;;;
+08F1;ARABIC OPEN DAMMATAN;Mn;28;NSM;;;;;N;;;;;
+08F2;ARABIC OPEN KASRATAN;Mn;29;NSM;;;;;N;;;;;
+08F3;ARABIC SMALL HIGH WAW;Mn;230;NSM;;;;;N;;;;;
+08F4;ARABIC FATHA WITH RING;Mn;230;NSM;;;;;N;;;;;
+08F5;ARABIC FATHA WITH DOT ABOVE;Mn;230;NSM;;;;;N;;;;;
+08F6;ARABIC KASRA WITH DOT BELOW;Mn;220;NSM;;;;;N;;;;;
+08F7;ARABIC LEFT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
+08F8;ARABIC RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
+08F9;ARABIC LEFT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
+08FA;ARABIC RIGHT ARROWHEAD BELOW;Mn;220;NSM;;;;;N;;;;;
+08FB;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE;Mn;230;NSM;;;;;N;;;;;
+08FC;ARABIC DOUBLE RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;;
+08FD;ARABIC RIGHT ARROWHEAD ABOVE WITH DOT;Mn;230;NSM;;;;;N;;;;;
+08FE;ARABIC DAMMA WITH DOT;Mn;230;NSM;;;;;N;;;;;
 0900;DEVANAGARI SIGN INVERTED CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0901;DEVANAGARI SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0902;DEVANAGARI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
@@ -2437,6 +2478,7 @@
 0AED;GUJARATI DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 0AEE;GUJARATI DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 0AEF;GUJARATI DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+0AF0;GUJARATI ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
 0AF1;GUJARATI RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
 0B01;ORIYA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
 0B02;ORIYA SIGN ANUSVARA;Mc;0;L;;;;;N;;;;;
@@ -3109,6 +3151,8 @@
 0ED9;LAO DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
 0EDC;LAO HO NO;Lo;0;L;<compat> 0EAB 0E99;;;;N;;;;;
 0EDD;LAO HO MO;Lo;0;L;<compat> 0EAB 0EA1;;;;N;;;;;
+0EDE;LAO LETTER KHMU GO;Lo;0;L;;;;;N;;;;;
+0EDF;LAO LETTER KHMU NYO;Lo;0;L;;;;;N;;;;;
 0F00;TIBETAN SYLLABLE OM;Lo;0;L;;;;;N;;;;;
 0F01;TIBETAN MARK GTER YIG MGO TRUNCATED A;So;0;L;;;;;N;;;;;
 0F02;TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA;So;0;L;;;;;N;;;;;
@@ -3129,7 +3173,7 @@
 0F11;TIBETAN MARK RIN CHEN SPUNGS SHAD;Po;0;L;;;;;N;TIBETAN RINCHANPHUNGSHAD;;;;
 0F12;TIBETAN MARK RGYA GRAM SHAD;Po;0;L;;;;;N;;;;;
 0F13;TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN;So;0;L;;;;;N;;;;;
-0F14;TIBETAN MARK GTER TSHEG;So;0;L;;;;;N;TIBETAN COMMA;;;;
+0F14;TIBETAN MARK GTER TSHEG;Po;0;L;;;;;N;TIBETAN COMMA;;;;
 0F15;TIBETAN LOGOTYPE SIGN CHAD RTAGS;So;0;L;;;;;N;;;;;
 0F16;TIBETAN LOGOTYPE SIGN LHAG RTAGS;So;0;L;;;;;N;;;;;
 0F17;TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS;So;0;L;;;;;N;;;;;
@@ -3518,6 +3562,8 @@
 10C3;GEORGIAN CAPITAL LETTER WE;Lu;0;L;;;;;N;;;;2D23;
 10C4;GEORGIAN CAPITAL LETTER HAR;Lu;0;L;;;;;N;;;;2D24;
 10C5;GEORGIAN CAPITAL LETTER HOE;Lu;0;L;;;;;N;;;;2D25;
+10C7;GEORGIAN CAPITAL LETTER YN;Lu;0;L;;;;;N;;;;2D27;
+10CD;GEORGIAN CAPITAL LETTER AEN;Lu;0;L;;;;;N;;;;2D2D;
 10D0;GEORGIAN LETTER AN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER AN;;;;
 10D1;GEORGIAN LETTER BAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER BAN;;;;
 10D2;GEORGIAN LETTER GAN;Lo;0;L;;;;;N;GEORGIAN SMALL LETTER GAN;;;;
@@ -3563,6 +3609,9 @@
 10FA;GEORGIAN LETTER AIN;Lo;0;L;;;;;N;;;;;
 10FB;GEORGIAN PARAGRAPH SEPARATOR;Po;0;L;;;;;N;;;;;
 10FC;MODIFIER LETTER GEORGIAN NAR;Lm;0;L;<super> 10DC;;;;N;;;;;
+10FD;GEORGIAN LETTER AEN;Lo;0;L;;;;;N;;;;;
+10FE;GEORGIAN LETTER HARD SIGN;Lo;0;L;;;;;N;;;;;
+10FF;GEORGIAN LETTER LABIAL SIGN;Lo;0;L;;;;;N;;;;;
 1100;HANGUL CHOSEONG KIYEOK;Lo;0;L;;;;;N;;;;;
 1101;HANGUL CHOSEONG SSANGKIYEOK;Lo;0;L;;;;;N;;;;;
 1102;HANGUL CHOSEONG NIEUN;Lo;0;L;;;;;N;;;;;
@@ -4148,7 +4197,7 @@
 135D;ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;;
 135E;ETHIOPIC COMBINING VOWEL LENGTH MARK;Mn;230;NSM;;;;;N;;;;;
 135F;ETHIOPIC COMBINING GEMINATION MARK;Mn;230;NSM;;;;;N;;;;;
-1360;ETHIOPIC SECTION MARK;So;0;L;;;;;N;;;;;
+1360;ETHIOPIC SECTION MARK;Po;0;L;;;;;N;;;;;
 1361;ETHIOPIC WORDSPACE;Po;0;L;;;;;N;;;;;
 1362;ETHIOPIC FULL STOP;Po;0;L;;;;;N;;;;;
 1363;ETHIOPIC COMMA;Po;0;L;;;;;N;;;;;
@@ -5171,8 +5220,8 @@
 17B1;KHMER INDEPENDENT VOWEL QOO TYPE ONE;Lo;0;L;;;;;N;;;;;
 17B2;KHMER INDEPENDENT VOWEL QOO TYPE TWO;Lo;0;L;;;;;N;;;;;
 17B3;KHMER INDEPENDENT VOWEL QAU;Lo;0;L;;;;;N;;;;;
-17B4;KHMER VOWEL INHERENT AQ;Cf;0;L;;;;;N;;;;;
-17B5;KHMER VOWEL INHERENT AA;Cf;0;L;;;;;N;;;;;
+17B4;KHMER VOWEL INHERENT AQ;Mn;0;NSM;;;;;N;;;;;
+17B5;KHMER VOWEL INHERENT AA;Mn;0;NSM;;;;;N;;;;;
 17B6;KHMER VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
 17B7;KHMER VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
 17B8;KHMER VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
@@ -5996,6 +6045,9 @@
 1BA8;SUNDANESE VOWEL SIGN PAMEPET;Mn;0;NSM;;;;;N;;;;;
 1BA9;SUNDANESE VOWEL SIGN PANEULEUNG;Mn;0;NSM;;;;;N;;;;;
 1BAA;SUNDANESE SIGN PAMAAEH;Mc;9;L;;;;;N;;;;;
+1BAB;SUNDANESE SIGN VIRAMA;Mn;9;NSM;;;;;N;;;;;
+1BAC;SUNDANESE CONSONANT SIGN PASANGAN MA;Mc;0;L;;;;;N;;;;;
+1BAD;SUNDANESE CONSONANT SIGN PASANGAN WA;Mc;0;L;;;;;N;;;;;
 1BAE;SUNDANESE LETTER KHA;Lo;0;L;;;;;N;;;;;
 1BAF;SUNDANESE LETTER SYA;Lo;0;L;;;;;N;;;;;
 1BB0;SUNDANESE DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
@@ -6008,6 +6060,12 @@
 1BB7;SUNDANESE DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
 1BB8;SUNDANESE DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
 1BB9;SUNDANESE DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+1BBA;SUNDANESE AVAGRAHA;Lo;0;L;;;;;N;;;;;
+1BBB;SUNDANESE LETTER REU;Lo;0;L;;;;;N;;;;;
+1BBC;SUNDANESE LETTER LEU;Lo;0;L;;;;;N;;;;;
+1BBD;SUNDANESE LETTER BHA;Lo;0;L;;;;;N;;;;;
+1BBE;SUNDANESE LETTER FINAL K;Lo;0;L;;;;;N;;;;;
+1BBF;SUNDANESE LETTER FINAL M;Lo;0;L;;;;;N;;;;;
 1BC0;BATAK LETTER A;Lo;0;L;;;;;N;;;;;
 1BC1;BATAK LETTER SIMALUNGUN A;Lo;0;L;;;;;N;;;;;
 1BC2;BATAK LETTER HA;Lo;0;L;;;;;N;;;;;
@@ -6186,6 +6244,14 @@
 1C7D;OL CHIKI AHAD;Lm;0;L;;;;;N;;;;;
 1C7E;OL CHIKI PUNCTUATION MUCAAD;Po;0;L;;;;;N;;;;;
 1C7F;OL CHIKI PUNCTUATION DOUBLE MUCAAD;Po;0;L;;;;;N;;;;;
+1CC0;SUNDANESE PUNCTUATION BINDU SURYA;Po;0;L;;;;;N;;;;;
+1CC1;SUNDANESE PUNCTUATION BINDU PANGLONG;Po;0;L;;;;;N;;;;;
+1CC2;SUNDANESE PUNCTUATION BINDU PURNAMA;Po;0;L;;;;;N;;;;;
+1CC3;SUNDANESE PUNCTUATION BINDU CAKRA;Po;0;L;;;;;N;;;;;
+1CC4;SUNDANESE PUNCTUATION BINDU LEU SATANGA;Po;0;L;;;;;N;;;;;
+1CC5;SUNDANESE PUNCTUATION BINDU KA SATANGA;Po;0;L;;;;;N;;;;;
+1CC6;SUNDANESE PUNCTUATION BINDU DA SATANGA;Po;0;L;;;;;N;;;;;
+1CC7;SUNDANESE PUNCTUATION BINDU BA SATANGA;Po;0;L;;;;;N;;;;;
 1CD0;VEDIC TONE KARSHANA;Mn;230;NSM;;;;;N;;;;;
 1CD1;VEDIC TONE SHARA;Mn;230;NSM;;;;;N;;;;;
 1CD2;VEDIC TONE PRENKHA;Mn;230;NSM;;;;;N;;;;;
@@ -6221,6 +6287,10 @@
 1CF0;VEDIC SIGN RTHANG LONG ANUSVARA;Lo;0;L;;;;;N;;;;;
 1CF1;VEDIC SIGN ANUSVARA UBHAYATO MUKHA;Lo;0;L;;;;;N;;;;;
 1CF2;VEDIC SIGN ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
+1CF3;VEDIC SIGN ROTATED ARDHAVISARGA;Mc;0;L;;;;;N;;;;;
+1CF4;VEDIC TONE CANDRA ABOVE;Mn;230;NSM;;;;;N;;;;;
+1CF5;VEDIC SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
+1CF6;VEDIC SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
 1D00;LATIN LETTER SMALL CAPITAL A;Ll;0;L;;;;;N;;;;;
 1D01;LATIN LETTER SMALL CAPITAL AE;Ll;0;L;;;;;N;;;;;
 1D02;LATIN SMALL LETTER TURNED AE;Ll;0;L;;;;;N;;;;;
@@ -6319,15 +6389,15 @@
 1D5F;MODIFIER LETTER SMALL DELTA;Lm;0;L;<super> 03B4;;;;N;;;;;
 1D60;MODIFIER LETTER SMALL GREEK PHI;Lm;0;L;<super> 03C6;;;;N;;;;;
 1D61;MODIFIER LETTER SMALL CHI;Lm;0;L;<super> 03C7;;;;N;;;;;
-1D62;LATIN SUBSCRIPT SMALL LETTER I;Ll;0;L;<sub> 0069;;;;N;;;;;
-1D63;LATIN SUBSCRIPT SMALL LETTER R;Ll;0;L;<sub> 0072;;;;N;;;;;
-1D64;LATIN SUBSCRIPT SMALL LETTER U;Ll;0;L;<sub> 0075;;;;N;;;;;
-1D65;LATIN SUBSCRIPT SMALL LETTER V;Ll;0;L;<sub> 0076;;;;N;;;;;
-1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Ll;0;L;<sub> 03B2;;;;N;;;;;
-1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Ll;0;L;<sub> 03B3;;;;N;;;;;
-1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Ll;0;L;<sub> 03C1;;;;N;;;;;
-1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Ll;0;L;<sub> 03C6;;;;N;;;;;
-1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Ll;0;L;<sub> 03C7;;;;N;;;;;
+1D62;LATIN SUBSCRIPT SMALL LETTER I;Lm;0;L;<sub> 0069;;;;N;;;;;
+1D63;LATIN SUBSCRIPT SMALL LETTER R;Lm;0;L;<sub> 0072;;;;N;;;;;
+1D64;LATIN SUBSCRIPT SMALL LETTER U;Lm;0;L;<sub> 0075;;;;N;;;;;
+1D65;LATIN SUBSCRIPT SMALL LETTER V;Lm;0;L;<sub> 0076;;;;N;;;;;
+1D66;GREEK SUBSCRIPT SMALL LETTER BETA;Lm;0;L;<sub> 03B2;;;;N;;;;;
+1D67;GREEK SUBSCRIPT SMALL LETTER GAMMA;Lm;0;L;<sub> 03B3;;;;N;;;;;
+1D68;GREEK SUBSCRIPT SMALL LETTER RHO;Lm;0;L;<sub> 03C1;;;;N;;;;;
+1D69;GREEK SUBSCRIPT SMALL LETTER PHI;Lm;0;L;<sub> 03C6;;;;N;;;;;
+1D6A;GREEK SUBSCRIPT SMALL LETTER CHI;Lm;0;L;<sub> 03C7;;;;N;;;;;
 1D6B;LATIN SMALL LETTER UE;Ll;0;L;;;;;N;;;;;
 1D6C;LATIN SMALL LETTER B WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
 1D6D;LATIN SMALL LETTER D WITH MIDDLE TILDE;Ll;0;L;;;;;N;;;;;
@@ -7120,6 +7190,7 @@
 20B7;SPESMILO SIGN;Sc;0;ET;;;;;N;;;;;
 20B8;TENGE SIGN;Sc;0;ET;;;;;N;;;;;
 20B9;INDIAN RUPEE SIGN;Sc;0;ET;;;;;N;;;;;
+20BA;TURKISH LIRA 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;;;;
@@ -8827,7 +8898,9 @@
 27C8;REVERSE SOLIDUS PRECEDING SUBSET;Sm;0;ON;;;;;Y;;;;;
 27C9;SUPERSET PRECEDING SOLIDUS;Sm;0;ON;;;;;Y;;;;;
 27CA;VERTICAL BAR WITH HORIZONTAL STROKE;Sm;0;ON;;;;;N;;;;;
+27CB;MATHEMATICAL RISING DIAGONAL;Sm;0;ON;;;;;Y;;;;;
 27CC;LONG DIVISION;Sm;0;ON;;;;;Y;;;;;
+27CD;MATHEMATICAL FALLING DIAGONAL;Sm;0;ON;;;;;Y;;;;;
 27CE;SQUARED LOGICAL AND;Sm;0;ON;;;;;N;;;;;
 27CF;SQUARED LOGICAL OR;Sm;0;ON;;;;;N;;;;;
 27D0;WHITE DIAMOND WITH CENTRED DOT;Sm;0;ON;;;;;N;;;;;
@@ -9855,7 +9928,7 @@
 2C79;LATIN SMALL LETTER TURNED R WITH TAIL;Ll;0;L;;;;;N;;;;;
 2C7A;LATIN SMALL LETTER O WITH LOW RING INSIDE;Ll;0;L;;;;;N;;;;;
 2C7B;LATIN LETTER SMALL CAPITAL TURNED E;Ll;0;L;;;;;N;;;;;
-2C7C;LATIN SUBSCRIPT SMALL LETTER J;Ll;0;L;<sub> 006A;;;;N;;;;;
+2C7C;LATIN SUBSCRIPT SMALL LETTER J;Lm;0;L;<sub> 006A;;;;N;;;;;
 2C7D;MODIFIER LETTER CAPITAL V;Lm;0;L;<super> 0056;;;;N;;;;;
 2C7E;LATIN CAPITAL LETTER S WITH SWASH TAIL;Lu;0;L;;;;;N;;;;023F;
 2C7F;LATIN CAPITAL LETTER Z WITH SWASH TAIL;Lu;0;L;;;;;N;;;;0240;
@@ -9973,6 +10046,8 @@
 2CEF;COPTIC COMBINING NI ABOVE;Mn;230;NSM;;;;;N;;;;;
 2CF0;COPTIC COMBINING SPIRITUS ASPER;Mn;230;NSM;;;;;N;;;;;
 2CF1;COPTIC COMBINING SPIRITUS LENIS;Mn;230;NSM;;;;;N;;;;;
+2CF2;COPTIC CAPITAL LETTER BOHAIRIC KHEI;Lu;0;L;;;;;N;;;;2CF3;
+2CF3;COPTIC SMALL LETTER BOHAIRIC KHEI;Ll;0;L;;;;;N;;;2CF2;;2CF2
 2CF9;COPTIC OLD NUBIAN FULL STOP;Po;0;ON;;;;;N;;;;;
 2CFA;COPTIC OLD NUBIAN DIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
 2CFB;COPTIC OLD NUBIAN INDIRECT QUESTION MARK;Po;0;ON;;;;;N;;;;;
@@ -10018,6 +10093,8 @@
 2D23;GEORGIAN SMALL LETTER WE;Ll;0;L;;;;;N;;;10C3;;10C3
 2D24;GEORGIAN SMALL LETTER HAR;Ll;0;L;;;;;N;;;10C4;;10C4
 2D25;GEORGIAN SMALL LETTER HOE;Ll;0;L;;;;;N;;;10C5;;10C5
+2D27;GEORGIAN SMALL LETTER YN;Ll;0;L;;;;;N;;;10C7;;10C7
+2D2D;GEORGIAN SMALL LETTER AEN;Ll;0;L;;;;;N;;;10CD;;10CD
 2D30;TIFINAGH LETTER YA;Lo;0;L;;;;;N;;;;;
 2D31;TIFINAGH LETTER YAB;Lo;0;L;;;;;N;;;;;
 2D32;TIFINAGH LETTER YABH;Lo;0;L;;;;;N;;;;;
@@ -10072,6 +10149,8 @@
 2D63;TIFINAGH LETTER YAZ;Lo;0;L;;;;;N;;;;;
 2D64;TIFINAGH LETTER TAWELLEMET YAZ;Lo;0;L;;;;;N;;;;;
 2D65;TIFINAGH LETTER YAZZ;Lo;0;L;;;;;N;;;;;
+2D66;TIFINAGH LETTER YE;Lo;0;L;;;;;N;;;;;
+2D67;TIFINAGH LETTER YO;Lo;0;L;;;;;N;;;;;
 2D6F;TIFINAGH MODIFIER LETTER LABIALIZATION MARK;Lm;0;L;<super> 2D61;;;;N;;;;;
 2D70;TIFINAGH SEPARATOR MARK;Po;0;L;;;;;N;;;;;
 2D7F;TIFINAGH CONSONANT JOINER;Mn;9;NSM;;;;;N;;;;;
@@ -10236,6 +10315,16 @@
 2E2F;VERTICAL TILDE;Lm;0;ON;;;;;N;;;;;
 2E30;RING POINT;Po;0;ON;;;;;N;;;;;
 2E31;WORD SEPARATOR MIDDLE DOT;Po;0;ON;;;;;N;;;;;
+2E32;TURNED COMMA;Po;0;ON;;;;;N;;;;;
+2E33;RAISED DOT;Po;0;ON;;;;;N;;;;;
+2E34;RAISED COMMA;Po;0;ON;;;;;N;;;;;
+2E35;TURNED SEMICOLON;Po;0;ON;;;;;N;;;;;
+2E36;DAGGER WITH LEFT GUARD;Po;0;ON;;;;;N;;;;;
+2E37;DAGGER WITH RIGHT GUARD;Po;0;ON;;;;;N;;;;;
+2E38;TURNED DAGGER;Po;0;ON;;;;;N;;;;;
+2E39;TOP HALF SECTION SIGN;Po;0;ON;;;;;N;;;;;
+2E3A;TWO-EM DASH;Pd;0;ON;;;;;N;;;;;
+2E3B;THREE-EM DASH;Pd;0;ON;;;;;N;;;;;
 2E80;CJK RADICAL REPEAT;So;0;ON;;;;;N;;;;;
 2E81;CJK RADICAL CLIFF;So;0;ON;;;;;N;;;;;
 2E82;CJK RADICAL SECOND ONE;So;0;ON;;;;;N;;;;;
@@ -10623,8 +10712,8 @@
 302B;IDEOGRAPHIC RISING TONE MARK;Mn;228;NSM;;;;;N;;;;;
 302C;IDEOGRAPHIC DEPARTING TONE MARK;Mn;232;NSM;;;;;N;;;;;
 302D;IDEOGRAPHIC ENTERING TONE MARK;Mn;222;NSM;;;;;N;;;;;
-302E;HANGUL SINGLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
-302F;HANGUL DOUBLE DOT TONE MARK;Mn;224;NSM;;;;;N;;;;;
+302E;HANGUL SINGLE DOT TONE MARK;Mc;224;L;;;;;N;;;;;
+302F;HANGUL DOUBLE DOT TONE MARK;Mc;224;L;;;;;N;;;;;
 3030;WAVY DASH;Pd;0;ON;;;;;N;;;;;
 3031;VERTICAL KANA REPEAT MARK;Lm;0;L;;;;;N;;;;;
 3032;VERTICAL KANA REPEAT WITH VOICED SOUND MARK;Lm;0;L;;;;;N;;;;;
@@ -11131,14 +11220,14 @@
 3245;CIRCLED IDEOGRAPH KINDERGARTEN;So;0;L;<circle> 5E7C;;;;N;;;;;
 3246;CIRCLED IDEOGRAPH SCHOOL;So;0;L;<circle> 6587;;;;N;;;;;
 3247;CIRCLED IDEOGRAPH KOTO;So;0;L;<circle> 7B8F;;;;N;;;;;
-3248;CIRCLED NUMBER TEN ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-3249;CIRCLED NUMBER TWENTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324A;CIRCLED NUMBER THIRTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324B;CIRCLED NUMBER FORTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324C;CIRCLED NUMBER FIFTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324D;CIRCLED NUMBER SIXTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324E;CIRCLED NUMBER SEVENTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
-324F;CIRCLED NUMBER EIGHTY ON BLACK SQUARE;So;0;L;;;;;N;;;;;
+3248;CIRCLED NUMBER TEN ON BLACK SQUARE;No;0;L;;;;10;N;;;;;
+3249;CIRCLED NUMBER TWENTY ON BLACK SQUARE;No;0;L;;;;20;N;;;;;
+324A;CIRCLED NUMBER THIRTY ON BLACK SQUARE;No;0;L;;;;30;N;;;;;
+324B;CIRCLED NUMBER FORTY ON BLACK SQUARE;No;0;L;;;;40;N;;;;;
+324C;CIRCLED NUMBER FIFTY ON BLACK SQUARE;No;0;L;;;;50;N;;;;;
+324D;CIRCLED NUMBER SIXTY ON BLACK SQUARE;No;0;L;;;;60;N;;;;;
+324E;CIRCLED NUMBER SEVENTY ON BLACK SQUARE;No;0;L;;;;70;N;;;;;
+324F;CIRCLED NUMBER EIGHTY ON BLACK SQUARE;No;0;L;;;;80;N;;;;;
 3250;PARTNERSHIP SIGN;So;0;ON;<square> 0050 0054 0045;;;;N;;;;;
 3251;CIRCLED NUMBER TWENTY ONE;No;0;ON;<circle> 0032 0031;;;21;N;;;;;
 3252;CIRCLED NUMBER TWENTY TWO;No;0;ON;<circle> 0032 0032;;;22;N;;;;;
@@ -11637,7 +11726,7 @@
 4DFE;HEXAGRAM FOR AFTER COMPLETION;So;0;ON;;;;;N;;;;;
 4DFF;HEXAGRAM FOR BEFORE COMPLETION;So;0;ON;;;;;N;;;;;
 4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
-9FCB;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
+9FCC;<CJK Ideograph, Last>;Lo;0;L;;;;;N;;;;;
 A000;YI SYLLABLE IT;Lo;0;L;;;;;N;;;;;
 A001;YI SYLLABLE IX;Lo;0;L;;;;;N;;;;;
 A002;YI SYLLABLE I;Lo;0;L;;;;;N;;;;;
@@ -13258,6 +13347,14 @@
 A671;COMBINING CYRILLIC HUNDRED MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
 A672;COMBINING CYRILLIC THOUSAND MILLIONS SIGN;Me;0;NSM;;;;;N;;;;;
 A673;SLAVONIC ASTERISK;Po;0;ON;;;;;N;;;;;
+A674;COMBINING CYRILLIC LETTER UKRAINIAN IE;Mn;230;NSM;;;;;N;;;;;
+A675;COMBINING CYRILLIC LETTER I;Mn;230;NSM;;;;;N;;;;;
+A676;COMBINING CYRILLIC LETTER YI;Mn;230;NSM;;;;;N;;;;;
+A677;COMBINING CYRILLIC LETTER U;Mn;230;NSM;;;;;N;;;;;
+A678;COMBINING CYRILLIC LETTER HARD SIGN;Mn;230;NSM;;;;;N;;;;;
+A679;COMBINING CYRILLIC LETTER YERU;Mn;230;NSM;;;;;N;;;;;
+A67A;COMBINING CYRILLIC LETTER SOFT SIGN;Mn;230;NSM;;;;;N;;;;;
+A67B;COMBINING CYRILLIC LETTER OMEGA;Mn;230;NSM;;;;;N;;;;;
 A67C;COMBINING CYRILLIC KAVYKA;Mn;230;NSM;;;;;N;;;;;
 A67D;COMBINING CYRILLIC PAYEROK;Mn;230;NSM;;;;;N;;;;;
 A67E;CYRILLIC KAVYKA;Po;0;ON;;;;;N;;;;;
@@ -13286,6 +13383,7 @@
 A695;CYRILLIC SMALL LETTER HWE;Ll;0;L;;;;;N;;;A694;;A694
 A696;CYRILLIC CAPITAL LETTER SHWE;Lu;0;L;;;;;N;;;;A697;
 A697;CYRILLIC SMALL LETTER SHWE;Ll;0;L;;;;;N;;;A696;;A696
+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;;;;;
 A6A2;BAMUM LETTER U;Lo;0;L;;;;;N;;;;;
@@ -13519,6 +13617,8 @@
 A78E;LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT;Ll;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;
+A793;LATIN SMALL LETTER C WITH BAR;Ll;0;L;;;;;N;;;A792;;A792
 A7A0;LATIN CAPITAL LETTER G WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A1;
 A7A1;LATIN SMALL LETTER G WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A0;;A7A0
 A7A2;LATIN CAPITAL LETTER K WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A3;
@@ -13529,6 +13629,9 @@
 A7A7;LATIN SMALL LETTER R WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A6;;A7A6
 A7A8;LATIN CAPITAL LETTER S WITH OBLIQUE STROKE;Lu;0;L;;;;;N;;;;A7A9;
 A7A9;LATIN SMALL LETTER S WITH OBLIQUE STROKE;Ll;0;L;;;;;N;;;A7A8;;A7A8
+A7AA;LATIN CAPITAL LETTER H WITH HOOK;Lu;0;L;;;;;N;;;;0266;
+A7F8;MODIFIER LETTER CAPITAL H WITH STROKE;Lm;0;L;<super> 0126;;;;N;;;;;
+A7F9;MODIFIER LETTER SMALL LIGATURE OE;Lm;0;L;<super> 0153;;;;N;;;;;
 A7FA;LATIN LETTER SMALL CAPITAL TURNED M;Ll;0;L;;;;;N;;;;;
 A7FB;LATIN EPIGRAPHIC LETTER REVERSED F;Lo;0;L;;;;;N;;;;;
 A7FC;LATIN EPIGRAPHIC LETTER REVERSED P;Lo;0;L;;;;;N;;;;;
@@ -14142,6 +14245,29 @@
 AADD;TAI VIET SYMBOL SAM;Lm;0;L;;;;;N;;;;;
 AADE;TAI VIET SYMBOL HO HOI;Po;0;L;;;;;N;;;;;
 AADF;TAI VIET SYMBOL KOI KOI;Po;0;L;;;;;N;;;;;
+AAE0;MEETEI MAYEK LETTER E;Lo;0;L;;;;;N;;;;;
+AAE1;MEETEI MAYEK LETTER O;Lo;0;L;;;;;N;;;;;
+AAE2;MEETEI MAYEK LETTER CHA;Lo;0;L;;;;;N;;;;;
+AAE3;MEETEI MAYEK LETTER NYA;Lo;0;L;;;;;N;;;;;
+AAE4;MEETEI MAYEK LETTER TTA;Lo;0;L;;;;;N;;;;;
+AAE5;MEETEI MAYEK LETTER TTHA;Lo;0;L;;;;;N;;;;;
+AAE6;MEETEI MAYEK LETTER DDA;Lo;0;L;;;;;N;;;;;
+AAE7;MEETEI MAYEK LETTER DDHA;Lo;0;L;;;;;N;;;;;
+AAE8;MEETEI MAYEK LETTER NNA;Lo;0;L;;;;;N;;;;;
+AAE9;MEETEI MAYEK LETTER SHA;Lo;0;L;;;;;N;;;;;
+AAEA;MEETEI MAYEK LETTER SSA;Lo;0;L;;;;;N;;;;;
+AAEB;MEETEI MAYEK VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+AAEC;MEETEI MAYEK VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+AAED;MEETEI MAYEK VOWEL SIGN AAI;Mn;0;NSM;;;;;N;;;;;
+AAEE;MEETEI MAYEK VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+AAEF;MEETEI MAYEK VOWEL SIGN AAU;Mc;0;L;;;;;N;;;;;
+AAF0;MEETEI MAYEK CHEIKHAN;Po;0;L;;;;;N;;;;;
+AAF1;MEETEI MAYEK AHANG KHUDAM;Po;0;L;;;;;N;;;;;
+AAF2;MEETEI MAYEK ANJI;Lo;0;L;;;;;N;;;;;
+AAF3;MEETEI MAYEK SYLLABLE REPETITION MARK;Lm;0;L;;;;;N;;;;;
+AAF4;MEETEI MAYEK WORD REPETITION MARK;Lm;0;L;;;;;N;;;;;
+AAF5;MEETEI MAYEK VOWEL SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+AAF6;MEETEI MAYEK VIRAMA;Mn;9;NSM;;;;;N;;;;;
 AB01;ETHIOPIC SYLLABLE TTHU;Lo;0;L;;;;;N;;;;;
 AB02;ETHIOPIC SYLLABLE TTHI;Lo;0;L;;;;;N;;;;;
 AB03;ETHIOPIC SYLLABLE TTHAA;Lo;0;L;;;;;N;;;;;
@@ -14614,6 +14740,8 @@
 FA2B;CJK COMPATIBILITY IDEOGRAPH-FA2B;Lo;0;L;98FC;;;;N;;;;;
 FA2C;CJK COMPATIBILITY IDEOGRAPH-FA2C;Lo;0;L;9928;;;;N;;;;;
 FA2D;CJK COMPATIBILITY IDEOGRAPH-FA2D;Lo;0;L;9DB4;;;;N;;;;;
+FA2E;CJK COMPATIBILITY IDEOGRAPH-FA2E;Lo;0;L;90DE;;;;N;;;;;
+FA2F;CJK COMPATIBILITY IDEOGRAPH-FA2F;Lo;0;L;96B7;;;;N;;;;;
 FA30;CJK COMPATIBILITY IDEOGRAPH-FA30;Lo;0;L;4FAE;;;;N;;;;;
 FA31;CJK COMPATIBILITY IDEOGRAPH-FA31;Lo;0;L;50E7;;;;N;;;;;
 FA32;CJK COMPATIBILITY IDEOGRAPH-FA32;Lo;0;L;514D;;;;N;;;;;
@@ -16126,7 +16254,7 @@
 100FA;LINEAR B IDEOGRAM VESSEL B305;Lo;0;L;;;;;N;;;;;
 10100;AEGEAN WORD SEPARATOR LINE;Po;0;L;;;;;N;;;;;
 10101;AEGEAN WORD SEPARATOR DOT;Po;0;ON;;;;;N;;;;;
-10102;AEGEAN CHECK MARK;So;0;L;;;;;N;;;;;
+10102;AEGEAN CHECK MARK;Po;0;L;;;;;N;;;;;
 10107;AEGEAN NUMBER ONE;No;0;L;;;;1;N;;;;;
 10108;AEGEAN NUMBER TWO;No;0;L;;;;2;N;;;;;
 10109;AEGEAN NUMBER THREE;No;0;L;;;;3;N;;;;;
@@ -16845,6 +16973,64 @@
 10938;LYDIAN LETTER NN;Lo;0;R;;;;;N;;;;;
 10939;LYDIAN LETTER C;Lo;0;R;;;;;N;;;;;
 1093F;LYDIAN TRIANGULAR MARK;Po;0;R;;;;;N;;;;;
+10980;MEROITIC HIEROGLYPHIC LETTER A;Lo;0;R;;;;;N;;;;;
+10981;MEROITIC HIEROGLYPHIC LETTER E;Lo;0;R;;;;;N;;;;;
+10982;MEROITIC HIEROGLYPHIC LETTER I;Lo;0;R;;;;;N;;;;;
+10983;MEROITIC HIEROGLYPHIC LETTER O;Lo;0;R;;;;;N;;;;;
+10984;MEROITIC HIEROGLYPHIC LETTER YA;Lo;0;R;;;;;N;;;;;
+10985;MEROITIC HIEROGLYPHIC LETTER WA;Lo;0;R;;;;;N;;;;;
+10986;MEROITIC HIEROGLYPHIC LETTER BA;Lo;0;R;;;;;N;;;;;
+10987;MEROITIC HIEROGLYPHIC LETTER BA-2;Lo;0;R;;;;;N;;;;;
+10988;MEROITIC HIEROGLYPHIC LETTER PA;Lo;0;R;;;;;N;;;;;
+10989;MEROITIC HIEROGLYPHIC LETTER MA;Lo;0;R;;;;;N;;;;;
+1098A;MEROITIC HIEROGLYPHIC LETTER NA;Lo;0;R;;;;;N;;;;;
+1098B;MEROITIC HIEROGLYPHIC LETTER NA-2;Lo;0;R;;;;;N;;;;;
+1098C;MEROITIC HIEROGLYPHIC LETTER NE;Lo;0;R;;;;;N;;;;;
+1098D;MEROITIC HIEROGLYPHIC LETTER NE-2;Lo;0;R;;;;;N;;;;;
+1098E;MEROITIC HIEROGLYPHIC LETTER RA;Lo;0;R;;;;;N;;;;;
+1098F;MEROITIC HIEROGLYPHIC LETTER RA-2;Lo;0;R;;;;;N;;;;;
+10990;MEROITIC HIEROGLYPHIC LETTER LA;Lo;0;R;;;;;N;;;;;
+10991;MEROITIC HIEROGLYPHIC LETTER KHA;Lo;0;R;;;;;N;;;;;
+10992;MEROITIC HIEROGLYPHIC LETTER HHA;Lo;0;R;;;;;N;;;;;
+10993;MEROITIC HIEROGLYPHIC LETTER SA;Lo;0;R;;;;;N;;;;;
+10994;MEROITIC HIEROGLYPHIC LETTER SA-2;Lo;0;R;;;;;N;;;;;
+10995;MEROITIC HIEROGLYPHIC LETTER SE;Lo;0;R;;;;;N;;;;;
+10996;MEROITIC HIEROGLYPHIC LETTER KA;Lo;0;R;;;;;N;;;;;
+10997;MEROITIC HIEROGLYPHIC LETTER QA;Lo;0;R;;;;;N;;;;;
+10998;MEROITIC HIEROGLYPHIC LETTER TA;Lo;0;R;;;;;N;;;;;
+10999;MEROITIC HIEROGLYPHIC LETTER TA-2;Lo;0;R;;;;;N;;;;;
+1099A;MEROITIC HIEROGLYPHIC LETTER TE;Lo;0;R;;;;;N;;;;;
+1099B;MEROITIC HIEROGLYPHIC LETTER TE-2;Lo;0;R;;;;;N;;;;;
+1099C;MEROITIC HIEROGLYPHIC LETTER TO;Lo;0;R;;;;;N;;;;;
+1099D;MEROITIC HIEROGLYPHIC LETTER DA;Lo;0;R;;;;;N;;;;;
+1099E;MEROITIC HIEROGLYPHIC SYMBOL VIDJ;Lo;0;R;;;;;N;;;;;
+1099F;MEROITIC HIEROGLYPHIC SYMBOL VIDJ-2;Lo;0;R;;;;;N;;;;;
+109A0;MEROITIC CURSIVE LETTER A;Lo;0;R;;;;;N;;;;;
+109A1;MEROITIC CURSIVE LETTER E;Lo;0;R;;;;;N;;;;;
+109A2;MEROITIC CURSIVE LETTER I;Lo;0;R;;;;;N;;;;;
+109A3;MEROITIC CURSIVE LETTER O;Lo;0;R;;;;;N;;;;;
+109A4;MEROITIC CURSIVE LETTER YA;Lo;0;R;;;;;N;;;;;
+109A5;MEROITIC CURSIVE LETTER WA;Lo;0;R;;;;;N;;;;;
+109A6;MEROITIC CURSIVE LETTER BA;Lo;0;R;;;;;N;;;;;
+109A7;MEROITIC CURSIVE LETTER PA;Lo;0;R;;;;;N;;;;;
+109A8;MEROITIC CURSIVE LETTER MA;Lo;0;R;;;;;N;;;;;
+109A9;MEROITIC CURSIVE LETTER NA;Lo;0;R;;;;;N;;;;;
+109AA;MEROITIC CURSIVE LETTER NE;Lo;0;R;;;;;N;;;;;
+109AB;MEROITIC CURSIVE LETTER RA;Lo;0;R;;;;;N;;;;;
+109AC;MEROITIC CURSIVE LETTER LA;Lo;0;R;;;;;N;;;;;
+109AD;MEROITIC CURSIVE LETTER KHA;Lo;0;R;;;;;N;;;;;
+109AE;MEROITIC CURSIVE LETTER HHA;Lo;0;R;;;;;N;;;;;
+109AF;MEROITIC CURSIVE LETTER SA;Lo;0;R;;;;;N;;;;;
+109B0;MEROITIC CURSIVE LETTER ARCHAIC SA;Lo;0;R;;;;;N;;;;;
+109B1;MEROITIC CURSIVE LETTER SE;Lo;0;R;;;;;N;;;;;
+109B2;MEROITIC CURSIVE LETTER KA;Lo;0;R;;;;;N;;;;;
+109B3;MEROITIC CURSIVE LETTER QA;Lo;0;R;;;;;N;;;;;
+109B4;MEROITIC CURSIVE LETTER TA;Lo;0;R;;;;;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;;;;;
+109BE;MEROITIC CURSIVE LOGOGRAM RMT;Lo;0;R;;;;;N;;;;;
+109BF;MEROITIC CURSIVE LOGOGRAM IMN;Lo;0;R;;;;;N;;;;;
 10A00;KHAROSHTHI LETTER A;Lo;0;R;;;;;N;;;;;
 10A01;KHAROSHTHI VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
 10A02;KHAROSHTHI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
@@ -17338,6 +17524,257 @@
 110BF;KAITHI DOUBLE SECTION MARK;Po;0;L;;;;;N;;;;;
 110C0;KAITHI DANDA;Po;0;L;;;;;N;;;;;
 110C1;KAITHI DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+110D0;SORA SOMPENG LETTER SAH;Lo;0;L;;;;;N;;;;;
+110D1;SORA SOMPENG LETTER TAH;Lo;0;L;;;;;N;;;;;
+110D2;SORA SOMPENG LETTER BAH;Lo;0;L;;;;;N;;;;;
+110D3;SORA SOMPENG LETTER CAH;Lo;0;L;;;;;N;;;;;
+110D4;SORA SOMPENG LETTER DAH;Lo;0;L;;;;;N;;;;;
+110D5;SORA SOMPENG LETTER GAH;Lo;0;L;;;;;N;;;;;
+110D6;SORA SOMPENG LETTER MAH;Lo;0;L;;;;;N;;;;;
+110D7;SORA SOMPENG LETTER NGAH;Lo;0;L;;;;;N;;;;;
+110D8;SORA SOMPENG LETTER LAH;Lo;0;L;;;;;N;;;;;
+110D9;SORA SOMPENG LETTER NAH;Lo;0;L;;;;;N;;;;;
+110DA;SORA SOMPENG LETTER VAH;Lo;0;L;;;;;N;;;;;
+110DB;SORA SOMPENG LETTER PAH;Lo;0;L;;;;;N;;;;;
+110DC;SORA SOMPENG LETTER YAH;Lo;0;L;;;;;N;;;;;
+110DD;SORA SOMPENG LETTER RAH;Lo;0;L;;;;;N;;;;;
+110DE;SORA SOMPENG LETTER HAH;Lo;0;L;;;;;N;;;;;
+110DF;SORA SOMPENG LETTER KAH;Lo;0;L;;;;;N;;;;;
+110E0;SORA SOMPENG LETTER JAH;Lo;0;L;;;;;N;;;;;
+110E1;SORA SOMPENG LETTER NYAH;Lo;0;L;;;;;N;;;;;
+110E2;SORA SOMPENG LETTER AH;Lo;0;L;;;;;N;;;;;
+110E3;SORA SOMPENG LETTER EEH;Lo;0;L;;;;;N;;;;;
+110E4;SORA SOMPENG LETTER IH;Lo;0;L;;;;;N;;;;;
+110E5;SORA SOMPENG LETTER UH;Lo;0;L;;;;;N;;;;;
+110E6;SORA SOMPENG LETTER OH;Lo;0;L;;;;;N;;;;;
+110E7;SORA SOMPENG LETTER EH;Lo;0;L;;;;;N;;;;;
+110E8;SORA SOMPENG LETTER MAE;Lo;0;L;;;;;N;;;;;
+110F0;SORA SOMPENG DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+110F1;SORA SOMPENG DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+110F2;SORA SOMPENG DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+110F3;SORA SOMPENG DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+110F4;SORA SOMPENG DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+110F5;SORA SOMPENG DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+110F6;SORA SOMPENG DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+110F7;SORA SOMPENG DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+110F8;SORA SOMPENG DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+110F9;SORA SOMPENG DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11100;CHAKMA SIGN CANDRABINDU;Mn;230;NSM;;;;;N;;;;;
+11101;CHAKMA SIGN ANUSVARA;Mn;230;NSM;;;;;N;;;;;
+11102;CHAKMA SIGN VISARGA;Mn;230;NSM;;;;;N;;;;;
+11103;CHAKMA LETTER AA;Lo;0;L;;;;;N;;;;;
+11104;CHAKMA LETTER I;Lo;0;L;;;;;N;;;;;
+11105;CHAKMA LETTER U;Lo;0;L;;;;;N;;;;;
+11106;CHAKMA LETTER E;Lo;0;L;;;;;N;;;;;
+11107;CHAKMA LETTER KAA;Lo;0;L;;;;;N;;;;;
+11108;CHAKMA LETTER KHAA;Lo;0;L;;;;;N;;;;;
+11109;CHAKMA LETTER GAA;Lo;0;L;;;;;N;;;;;
+1110A;CHAKMA LETTER GHAA;Lo;0;L;;;;;N;;;;;
+1110B;CHAKMA LETTER NGAA;Lo;0;L;;;;;N;;;;;
+1110C;CHAKMA LETTER CAA;Lo;0;L;;;;;N;;;;;
+1110D;CHAKMA LETTER CHAA;Lo;0;L;;;;;N;;;;;
+1110E;CHAKMA LETTER JAA;Lo;0;L;;;;;N;;;;;
+1110F;CHAKMA LETTER JHAA;Lo;0;L;;;;;N;;;;;
+11110;CHAKMA LETTER NYAA;Lo;0;L;;;;;N;;;;;
+11111;CHAKMA LETTER TTAA;Lo;0;L;;;;;N;;;;;
+11112;CHAKMA LETTER TTHAA;Lo;0;L;;;;;N;;;;;
+11113;CHAKMA LETTER DDAA;Lo;0;L;;;;;N;;;;;
+11114;CHAKMA LETTER DDHAA;Lo;0;L;;;;;N;;;;;
+11115;CHAKMA LETTER NNAA;Lo;0;L;;;;;N;;;;;
+11116;CHAKMA LETTER TAA;Lo;0;L;;;;;N;;;;;
+11117;CHAKMA LETTER THAA;Lo;0;L;;;;;N;;;;;
+11118;CHAKMA LETTER DAA;Lo;0;L;;;;;N;;;;;
+11119;CHAKMA LETTER DHAA;Lo;0;L;;;;;N;;;;;
+1111A;CHAKMA LETTER NAA;Lo;0;L;;;;;N;;;;;
+1111B;CHAKMA LETTER PAA;Lo;0;L;;;;;N;;;;;
+1111C;CHAKMA LETTER PHAA;Lo;0;L;;;;;N;;;;;
+1111D;CHAKMA LETTER BAA;Lo;0;L;;;;;N;;;;;
+1111E;CHAKMA LETTER BHAA;Lo;0;L;;;;;N;;;;;
+1111F;CHAKMA LETTER MAA;Lo;0;L;;;;;N;;;;;
+11120;CHAKMA LETTER YYAA;Lo;0;L;;;;;N;;;;;
+11121;CHAKMA LETTER YAA;Lo;0;L;;;;;N;;;;;
+11122;CHAKMA LETTER RAA;Lo;0;L;;;;;N;;;;;
+11123;CHAKMA LETTER LAA;Lo;0;L;;;;;N;;;;;
+11124;CHAKMA LETTER WAA;Lo;0;L;;;;;N;;;;;
+11125;CHAKMA LETTER SAA;Lo;0;L;;;;;N;;;;;
+11126;CHAKMA LETTER HAA;Lo;0;L;;;;;N;;;;;
+11127;CHAKMA VOWEL SIGN A;Mn;0;NSM;;;;;N;;;;;
+11128;CHAKMA VOWEL SIGN I;Mn;0;NSM;;;;;N;;;;;
+11129;CHAKMA VOWEL SIGN II;Mn;0;NSM;;;;;N;;;;;
+1112A;CHAKMA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+1112B;CHAKMA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+1112C;CHAKMA VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+1112D;CHAKMA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+1112E;CHAKMA VOWEL SIGN O;Mn;0;NSM;11131 11127;;;;N;;;;;
+1112F;CHAKMA VOWEL SIGN AU;Mn;0;NSM;11132 11127;;;;N;;;;;
+11130;CHAKMA VOWEL SIGN OI;Mn;0;NSM;;;;;N;;;;;
+11131;CHAKMA O MARK;Mn;0;NSM;;;;;N;;;;;
+11132;CHAKMA AU MARK;Mn;0;NSM;;;;;N;;;;;
+11133;CHAKMA VIRAMA;Mn;9;NSM;;;;;N;;;;;
+11134;CHAKMA MAAYYAA;Mn;9;NSM;;;;;N;;;;;
+11136;CHAKMA DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+11137;CHAKMA DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+11138;CHAKMA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+11139;CHAKMA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+1113A;CHAKMA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+1113B;CHAKMA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+1113C;CHAKMA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+1113D;CHAKMA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+1113E;CHAKMA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+1113F;CHAKMA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11140;CHAKMA SECTION MARK;Po;0;L;;;;;N;;;;;
+11141;CHAKMA DANDA;Po;0;L;;;;;N;;;;;
+11142;CHAKMA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+11143;CHAKMA QUESTION MARK;Po;0;L;;;;;N;;;;;
+11180;SHARADA SIGN CANDRABINDU;Mn;0;NSM;;;;;N;;;;;
+11181;SHARADA SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+11182;SHARADA SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+11183;SHARADA LETTER A;Lo;0;L;;;;;N;;;;;
+11184;SHARADA LETTER AA;Lo;0;L;;;;;N;;;;;
+11185;SHARADA LETTER I;Lo;0;L;;;;;N;;;;;
+11186;SHARADA LETTER II;Lo;0;L;;;;;N;;;;;
+11187;SHARADA LETTER U;Lo;0;L;;;;;N;;;;;
+11188;SHARADA LETTER UU;Lo;0;L;;;;;N;;;;;
+11189;SHARADA LETTER VOCALIC R;Lo;0;L;;;;;N;;;;;
+1118A;SHARADA LETTER VOCALIC RR;Lo;0;L;;;;;N;;;;;
+1118B;SHARADA LETTER VOCALIC L;Lo;0;L;;;;;N;;;;;
+1118C;SHARADA LETTER VOCALIC LL;Lo;0;L;;;;;N;;;;;
+1118D;SHARADA LETTER E;Lo;0;L;;;;;N;;;;;
+1118E;SHARADA LETTER AI;Lo;0;L;;;;;N;;;;;
+1118F;SHARADA LETTER O;Lo;0;L;;;;;N;;;;;
+11190;SHARADA LETTER AU;Lo;0;L;;;;;N;;;;;
+11191;SHARADA LETTER KA;Lo;0;L;;;;;N;;;;;
+11192;SHARADA LETTER KHA;Lo;0;L;;;;;N;;;;;
+11193;SHARADA LETTER GA;Lo;0;L;;;;;N;;;;;
+11194;SHARADA LETTER GHA;Lo;0;L;;;;;N;;;;;
+11195;SHARADA LETTER NGA;Lo;0;L;;;;;N;;;;;
+11196;SHARADA LETTER CA;Lo;0;L;;;;;N;;;;;
+11197;SHARADA LETTER CHA;Lo;0;L;;;;;N;;;;;
+11198;SHARADA LETTER JA;Lo;0;L;;;;;N;;;;;
+11199;SHARADA LETTER JHA;Lo;0;L;;;;;N;;;;;
+1119A;SHARADA LETTER NYA;Lo;0;L;;;;;N;;;;;
+1119B;SHARADA LETTER TTA;Lo;0;L;;;;;N;;;;;
+1119C;SHARADA LETTER TTHA;Lo;0;L;;;;;N;;;;;
+1119D;SHARADA LETTER DDA;Lo;0;L;;;;;N;;;;;
+1119E;SHARADA LETTER DDHA;Lo;0;L;;;;;N;;;;;
+1119F;SHARADA LETTER NNA;Lo;0;L;;;;;N;;;;;
+111A0;SHARADA LETTER TA;Lo;0;L;;;;;N;;;;;
+111A1;SHARADA LETTER THA;Lo;0;L;;;;;N;;;;;
+111A2;SHARADA LETTER DA;Lo;0;L;;;;;N;;;;;
+111A3;SHARADA LETTER DHA;Lo;0;L;;;;;N;;;;;
+111A4;SHARADA LETTER NA;Lo;0;L;;;;;N;;;;;
+111A5;SHARADA LETTER PA;Lo;0;L;;;;;N;;;;;
+111A6;SHARADA LETTER PHA;Lo;0;L;;;;;N;;;;;
+111A7;SHARADA LETTER BA;Lo;0;L;;;;;N;;;;;
+111A8;SHARADA LETTER BHA;Lo;0;L;;;;;N;;;;;
+111A9;SHARADA LETTER MA;Lo;0;L;;;;;N;;;;;
+111AA;SHARADA LETTER YA;Lo;0;L;;;;;N;;;;;
+111AB;SHARADA LETTER RA;Lo;0;L;;;;;N;;;;;
+111AC;SHARADA LETTER LA;Lo;0;L;;;;;N;;;;;
+111AD;SHARADA LETTER LLA;Lo;0;L;;;;;N;;;;;
+111AE;SHARADA LETTER VA;Lo;0;L;;;;;N;;;;;
+111AF;SHARADA LETTER SHA;Lo;0;L;;;;;N;;;;;
+111B0;SHARADA LETTER SSA;Lo;0;L;;;;;N;;;;;
+111B1;SHARADA LETTER SA;Lo;0;L;;;;;N;;;;;
+111B2;SHARADA LETTER HA;Lo;0;L;;;;;N;;;;;
+111B3;SHARADA VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+111B4;SHARADA VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+111B5;SHARADA VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+111B6;SHARADA VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+111B7;SHARADA VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+111B8;SHARADA VOWEL SIGN VOCALIC R;Mn;0;NSM;;;;;N;;;;;
+111B9;SHARADA VOWEL SIGN VOCALIC RR;Mn;0;NSM;;;;;N;;;;;
+111BA;SHARADA VOWEL SIGN VOCALIC L;Mn;0;NSM;;;;;N;;;;;
+111BB;SHARADA VOWEL SIGN VOCALIC LL;Mn;0;NSM;;;;;N;;;;;
+111BC;SHARADA VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+111BD;SHARADA VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+111BE;SHARADA VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+111BF;SHARADA VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+111C0;SHARADA SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+111C1;SHARADA SIGN AVAGRAHA;Lo;0;L;;;;;N;;;;;
+111C2;SHARADA SIGN JIHVAMULIYA;Lo;0;L;;;;;N;;;;;
+111C3;SHARADA SIGN UPADHMANIYA;Lo;0;L;;;;;N;;;;;
+111C4;SHARADA OM;Lo;0;L;;;;;N;;;;;
+111C5;SHARADA DANDA;Po;0;L;;;;;N;;;;;
+111C6;SHARADA DOUBLE DANDA;Po;0;L;;;;;N;;;;;
+111C7;SHARADA ABBREVIATION SIGN;Po;0;L;;;;;N;;;;;
+111C8;SHARADA SEPARATOR;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;;;;;
+111D2;SHARADA DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+111D3;SHARADA DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+111D4;SHARADA DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+111D5;SHARADA DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+111D6;SHARADA DIGIT SIX;Nd;0;L;;6;6;6;N;;;;;
+111D7;SHARADA DIGIT SEVEN;Nd;0;L;;7;7;7;N;;;;;
+111D8;SHARADA DIGIT EIGHT;Nd;0;L;;8;8;8;N;;;;;
+111D9;SHARADA DIGIT NINE;Nd;0;L;;9;9;9;N;;;;;
+11680;TAKRI LETTER A;Lo;0;L;;;;;N;;;;;
+11681;TAKRI LETTER AA;Lo;0;L;;;;;N;;;;;
+11682;TAKRI LETTER I;Lo;0;L;;;;;N;;;;;
+11683;TAKRI LETTER II;Lo;0;L;;;;;N;;;;;
+11684;TAKRI LETTER U;Lo;0;L;;;;;N;;;;;
+11685;TAKRI LETTER UU;Lo;0;L;;;;;N;;;;;
+11686;TAKRI LETTER E;Lo;0;L;;;;;N;;;;;
+11687;TAKRI LETTER AI;Lo;0;L;;;;;N;;;;;
+11688;TAKRI LETTER O;Lo;0;L;;;;;N;;;;;
+11689;TAKRI LETTER AU;Lo;0;L;;;;;N;;;;;
+1168A;TAKRI LETTER KA;Lo;0;L;;;;;N;;;;;
+1168B;TAKRI LETTER KHA;Lo;0;L;;;;;N;;;;;
+1168C;TAKRI LETTER GA;Lo;0;L;;;;;N;;;;;
+1168D;TAKRI LETTER GHA;Lo;0;L;;;;;N;;;;;
+1168E;TAKRI LETTER NGA;Lo;0;L;;;;;N;;;;;
+1168F;TAKRI LETTER CA;Lo;0;L;;;;;N;;;;;
+11690;TAKRI LETTER CHA;Lo;0;L;;;;;N;;;;;
+11691;TAKRI LETTER JA;Lo;0;L;;;;;N;;;;;
+11692;TAKRI LETTER JHA;Lo;0;L;;;;;N;;;;;
+11693;TAKRI LETTER NYA;Lo;0;L;;;;;N;;;;;
+11694;TAKRI LETTER TTA;Lo;0;L;;;;;N;;;;;
+11695;TAKRI LETTER TTHA;Lo;0;L;;;;;N;;;;;
+11696;TAKRI LETTER DDA;Lo;0;L;;;;;N;;;;;
+11697;TAKRI LETTER DDHA;Lo;0;L;;;;;N;;;;;
+11698;TAKRI LETTER NNA;Lo;0;L;;;;;N;;;;;
+11699;TAKRI LETTER TA;Lo;0;L;;;;;N;;;;;
+1169A;TAKRI LETTER THA;Lo;0;L;;;;;N;;;;;
+1169B;TAKRI LETTER DA;Lo;0;L;;;;;N;;;;;
+1169C;TAKRI LETTER DHA;Lo;0;L;;;;;N;;;;;
+1169D;TAKRI LETTER NA;Lo;0;L;;;;;N;;;;;
+1169E;TAKRI LETTER PA;Lo;0;L;;;;;N;;;;;
+1169F;TAKRI LETTER PHA;Lo;0;L;;;;;N;;;;;
+116A0;TAKRI LETTER BA;Lo;0;L;;;;;N;;;;;
+116A1;TAKRI LETTER BHA;Lo;0;L;;;;;N;;;;;
+116A2;TAKRI LETTER MA;Lo;0;L;;;;;N;;;;;
+116A3;TAKRI LETTER YA;Lo;0;L;;;;;N;;;;;
+116A4;TAKRI LETTER RA;Lo;0;L;;;;;N;;;;;
+116A5;TAKRI LETTER LA;Lo;0;L;;;;;N;;;;;
+116A6;TAKRI LETTER VA;Lo;0;L;;;;;N;;;;;
+116A7;TAKRI LETTER SHA;Lo;0;L;;;;;N;;;;;
+116A8;TAKRI LETTER SA;Lo;0;L;;;;;N;;;;;
+116A9;TAKRI LETTER HA;Lo;0;L;;;;;N;;;;;
+116AA;TAKRI LETTER RRA;Lo;0;L;;;;;N;;;;;
+116AB;TAKRI SIGN ANUSVARA;Mn;0;NSM;;;;;N;;;;;
+116AC;TAKRI SIGN VISARGA;Mc;0;L;;;;;N;;;;;
+116AD;TAKRI VOWEL SIGN AA;Mn;0;NSM;;;;;N;;;;;
+116AE;TAKRI VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+116AF;TAKRI VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+116B0;TAKRI VOWEL SIGN U;Mn;0;NSM;;;;;N;;;;;
+116B1;TAKRI VOWEL SIGN UU;Mn;0;NSM;;;;;N;;;;;
+116B2;TAKRI VOWEL SIGN E;Mn;0;NSM;;;;;N;;;;;
+116B3;TAKRI VOWEL SIGN AI;Mn;0;NSM;;;;;N;;;;;
+116B4;TAKRI VOWEL SIGN O;Mn;0;NSM;;;;;N;;;;;
+116B5;TAKRI VOWEL SIGN AU;Mn;0;NSM;;;;;N;;;;;
+116B6;TAKRI SIGN VIRAMA;Mc;9;L;;;;;N;;;;;
+116B7;TAKRI SIGN NUKTA;Mn;7;NSM;;;;;N;;;;;
+116C0;TAKRI DIGIT ZERO;Nd;0;L;;0;0;0;N;;;;;
+116C1;TAKRI DIGIT ONE;Nd;0;L;;1;1;1;N;;;;;
+116C2;TAKRI DIGIT TWO;Nd;0;L;;2;2;2;N;;;;;
+116C3;TAKRI DIGIT THREE;Nd;0;L;;3;3;3;N;;;;;
+116C4;TAKRI DIGIT FOUR;Nd;0;L;;4;4;4;N;;;;;
+116C5;TAKRI DIGIT FIVE;Nd;0;L;;5;5;5;N;;;;;
+116C6;TAKRI DIGIT SIX;Nd;0;L;;6;6;6;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;;;;;
 12000;CUNEIFORM SIGN A;Lo;0;L;;;;;N;;;;;
 12001;CUNEIFORM SIGN A TIMES A;Lo;0;L;;;;;N;;;;;
 12002;CUNEIFORM SIGN A TIMES BAD;Lo;0;L;;;;;N;;;;;
@@ -18267,8 +18704,8 @@
 1242F;CUNEIFORM NUMERIC SIGN THREE SHARU VARIANT FORM;Nl;0;L;;;;3;N;;;;;
 12430;CUNEIFORM NUMERIC SIGN FOUR SHARU;Nl;0;L;;;;4;N;;;;;
 12431;CUNEIFORM NUMERIC SIGN FIVE SHARU;Nl;0;L;;;;5;N;;;;;
-12432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;;N;;;;;
-12433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;;N;;;;;
+12432;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH;Nl;0;L;;;;216000;N;;;;;
+12433;CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN;Nl;0;L;;;;432000;N;;;;;
 12434;CUNEIFORM NUMERIC SIGN ONE BURU;Nl;0;L;;;;1;N;;;;;
 12435;CUNEIFORM NUMERIC SIGN TWO BURU;Nl;0;L;;;;2;N;;;;;
 12436;CUNEIFORM NUMERIC SIGN THREE BURU;Nl;0;L;;;;3;N;;;;;
@@ -18303,8 +18740,8 @@
 12453;CUNEIFORM NUMERIC SIGN FOUR BAN2 VARIANT FORM;Nl;0;L;;;;4;N;;;;;
 12454;CUNEIFORM NUMERIC SIGN FIVE BAN2;Nl;0;L;;;;5;N;;;;;
 12455;CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM;Nl;0;L;;;;5;N;;;;;
-12456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;;N;;;;;
-12457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;;N;;;;;
+12456;CUNEIFORM NUMERIC SIGN NIGIDAMIN;Nl;0;L;;;;-1;N;;;;;
+12457;CUNEIFORM NUMERIC SIGN NIGIDAESH;Nl;0;L;;;;-1;N;;;;;
 12458;CUNEIFORM NUMERIC SIGN ONE ESHE3;Nl;0;L;;;;1;N;;;;;
 12459;CUNEIFORM NUMERIC SIGN TWO ESHE3;Nl;0;L;;;;2;N;;;;;
 1245A;CUNEIFORM NUMERIC SIGN ONE THIRD DISH;Nl;0;L;;;;1/3;N;;;;;
@@ -19960,6 +20397,139 @@
 16A36;BAMUM LETTER PHASE-F KPA;Lo;0;L;;;;;N;;;;;
 16A37;BAMUM LETTER PHASE-F SAMBA;Lo;0;L;;;;;N;;;;;
 16A38;BAMUM LETTER PHASE-F VUEQ;Lo;0;L;;;;;N;;;;;
+16F00;MIAO LETTER PA;Lo;0;L;;;;;N;;;;;
+16F01;MIAO LETTER BA;Lo;0;L;;;;;N;;;;;
+16F02;MIAO LETTER YI PA;Lo;0;L;;;;;N;;;;;
+16F03;MIAO LETTER PLA;Lo;0;L;;;;;N;;;;;
+16F04;MIAO LETTER MA;Lo;0;L;;;;;N;;;;;
+16F05;MIAO LETTER MHA;Lo;0;L;;;;;N;;;;;
+16F06;MIAO LETTER ARCHAIC MA;Lo;0;L;;;;;N;;;;;
+16F07;MIAO LETTER FA;Lo;0;L;;;;;N;;;;;
+16F08;MIAO LETTER VA;Lo;0;L;;;;;N;;;;;
+16F09;MIAO LETTER VFA;Lo;0;L;;;;;N;;;;;
+16F0A;MIAO LETTER TA;Lo;0;L;;;;;N;;;;;
+16F0B;MIAO LETTER DA;Lo;0;L;;;;;N;;;;;
+16F0C;MIAO LETTER YI TTA;Lo;0;L;;;;;N;;;;;
+16F0D;MIAO LETTER YI TA;Lo;0;L;;;;;N;;;;;
+16F0E;MIAO LETTER TTA;Lo;0;L;;;;;N;;;;;
+16F0F;MIAO LETTER DDA;Lo;0;L;;;;;N;;;;;
+16F10;MIAO LETTER NA;Lo;0;L;;;;;N;;;;;
+16F11;MIAO LETTER NHA;Lo;0;L;;;;;N;;;;;
+16F12;MIAO LETTER YI NNA;Lo;0;L;;;;;N;;;;;
+16F13;MIAO LETTER ARCHAIC NA;Lo;0;L;;;;;N;;;;;
+16F14;MIAO LETTER NNA;Lo;0;L;;;;;N;;;;;
+16F15;MIAO LETTER NNHA;Lo;0;L;;;;;N;;;;;
+16F16;MIAO LETTER LA;Lo;0;L;;;;;N;;;;;
+16F17;MIAO LETTER LYA;Lo;0;L;;;;;N;;;;;
+16F18;MIAO LETTER LHA;Lo;0;L;;;;;N;;;;;
+16F19;MIAO LETTER LHYA;Lo;0;L;;;;;N;;;;;
+16F1A;MIAO LETTER TLHA;Lo;0;L;;;;;N;;;;;
+16F1B;MIAO LETTER DLHA;Lo;0;L;;;;;N;;;;;
+16F1C;MIAO LETTER TLHYA;Lo;0;L;;;;;N;;;;;
+16F1D;MIAO LETTER DLHYA;Lo;0;L;;;;;N;;;;;
+16F1E;MIAO LETTER KA;Lo;0;L;;;;;N;;;;;
+16F1F;MIAO LETTER GA;Lo;0;L;;;;;N;;;;;
+16F20;MIAO LETTER YI KA;Lo;0;L;;;;;N;;;;;
+16F21;MIAO LETTER QA;Lo;0;L;;;;;N;;;;;
+16F22;MIAO LETTER QGA;Lo;0;L;;;;;N;;;;;
+16F23;MIAO LETTER NGA;Lo;0;L;;;;;N;;;;;
+16F24;MIAO LETTER NGHA;Lo;0;L;;;;;N;;;;;
+16F25;MIAO LETTER ARCHAIC NGA;Lo;0;L;;;;;N;;;;;
+16F26;MIAO LETTER HA;Lo;0;L;;;;;N;;;;;
+16F27;MIAO LETTER XA;Lo;0;L;;;;;N;;;;;
+16F28;MIAO LETTER GHA;Lo;0;L;;;;;N;;;;;
+16F29;MIAO LETTER GHHA;Lo;0;L;;;;;N;;;;;
+16F2A;MIAO LETTER TSSA;Lo;0;L;;;;;N;;;;;
+16F2B;MIAO LETTER DZZA;Lo;0;L;;;;;N;;;;;
+16F2C;MIAO LETTER NYA;Lo;0;L;;;;;N;;;;;
+16F2D;MIAO LETTER NYHA;Lo;0;L;;;;;N;;;;;
+16F2E;MIAO LETTER TSHA;Lo;0;L;;;;;N;;;;;
+16F2F;MIAO LETTER DZHA;Lo;0;L;;;;;N;;;;;
+16F30;MIAO LETTER YI TSHA;Lo;0;L;;;;;N;;;;;
+16F31;MIAO LETTER YI DZHA;Lo;0;L;;;;;N;;;;;
+16F32;MIAO LETTER REFORMED TSHA;Lo;0;L;;;;;N;;;;;
+16F33;MIAO LETTER SHA;Lo;0;L;;;;;N;;;;;
+16F34;MIAO LETTER SSA;Lo;0;L;;;;;N;;;;;
+16F35;MIAO LETTER ZHA;Lo;0;L;;;;;N;;;;;
+16F36;MIAO LETTER ZSHA;Lo;0;L;;;;;N;;;;;
+16F37;MIAO LETTER TSA;Lo;0;L;;;;;N;;;;;
+16F38;MIAO LETTER DZA;Lo;0;L;;;;;N;;;;;
+16F39;MIAO LETTER YI TSA;Lo;0;L;;;;;N;;;;;
+16F3A;MIAO LETTER SA;Lo;0;L;;;;;N;;;;;
+16F3B;MIAO LETTER ZA;Lo;0;L;;;;;N;;;;;
+16F3C;MIAO LETTER ZSA;Lo;0;L;;;;;N;;;;;
+16F3D;MIAO LETTER ZZA;Lo;0;L;;;;;N;;;;;
+16F3E;MIAO LETTER ZZSA;Lo;0;L;;;;;N;;;;;
+16F3F;MIAO LETTER ARCHAIC ZZA;Lo;0;L;;;;;N;;;;;
+16F40;MIAO LETTER ZZYA;Lo;0;L;;;;;N;;;;;
+16F41;MIAO LETTER ZZSYA;Lo;0;L;;;;;N;;;;;
+16F42;MIAO LETTER WA;Lo;0;L;;;;;N;;;;;
+16F43;MIAO LETTER AH;Lo;0;L;;;;;N;;;;;
+16F44;MIAO LETTER HHA;Lo;0;L;;;;;N;;;;;
+16F50;MIAO LETTER NASALIZATION;Lo;0;L;;;;;N;;;;;
+16F51;MIAO SIGN ASPIRATION;Mc;0;L;;;;;N;;;;;
+16F52;MIAO SIGN REFORMED VOICING;Mc;0;L;;;;;N;;;;;
+16F53;MIAO SIGN REFORMED ASPIRATION;Mc;0;L;;;;;N;;;;;
+16F54;MIAO VOWEL SIGN A;Mc;0;L;;;;;N;;;;;
+16F55;MIAO VOWEL SIGN AA;Mc;0;L;;;;;N;;;;;
+16F56;MIAO VOWEL SIGN AHH;Mc;0;L;;;;;N;;;;;
+16F57;MIAO VOWEL SIGN AN;Mc;0;L;;;;;N;;;;;
+16F58;MIAO VOWEL SIGN ANG;Mc;0;L;;;;;N;;;;;
+16F59;MIAO VOWEL SIGN O;Mc;0;L;;;;;N;;;;;
+16F5A;MIAO VOWEL SIGN OO;Mc;0;L;;;;;N;;;;;
+16F5B;MIAO VOWEL SIGN WO;Mc;0;L;;;;;N;;;;;
+16F5C;MIAO VOWEL SIGN W;Mc;0;L;;;;;N;;;;;
+16F5D;MIAO VOWEL SIGN E;Mc;0;L;;;;;N;;;;;
+16F5E;MIAO VOWEL SIGN EN;Mc;0;L;;;;;N;;;;;
+16F5F;MIAO VOWEL SIGN ENG;Mc;0;L;;;;;N;;;;;
+16F60;MIAO VOWEL SIGN OEY;Mc;0;L;;;;;N;;;;;
+16F61;MIAO VOWEL SIGN I;Mc;0;L;;;;;N;;;;;
+16F62;MIAO VOWEL SIGN IA;Mc;0;L;;;;;N;;;;;
+16F63;MIAO VOWEL SIGN IAN;Mc;0;L;;;;;N;;;;;
+16F64;MIAO VOWEL SIGN IANG;Mc;0;L;;;;;N;;;;;
+16F65;MIAO VOWEL SIGN IO;Mc;0;L;;;;;N;;;;;
+16F66;MIAO VOWEL SIGN IE;Mc;0;L;;;;;N;;;;;
+16F67;MIAO VOWEL SIGN II;Mc;0;L;;;;;N;;;;;
+16F68;MIAO VOWEL SIGN IU;Mc;0;L;;;;;N;;;;;
+16F69;MIAO VOWEL SIGN ING;Mc;0;L;;;;;N;;;;;
+16F6A;MIAO VOWEL SIGN U;Mc;0;L;;;;;N;;;;;
+16F6B;MIAO VOWEL SIGN UA;Mc;0;L;;;;;N;;;;;
+16F6C;MIAO VOWEL SIGN UAN;Mc;0;L;;;;;N;;;;;
+16F6D;MIAO VOWEL SIGN UANG;Mc;0;L;;;;;N;;;;;
+16F6E;MIAO VOWEL SIGN UU;Mc;0;L;;;;;N;;;;;
+16F6F;MIAO VOWEL SIGN UEI;Mc;0;L;;;;;N;;;;;
+16F70;MIAO VOWEL SIGN UNG;Mc;0;L;;;;;N;;;;;
+16F71;MIAO VOWEL SIGN Y;Mc;0;L;;;;;N;;;;;
+16F72;MIAO VOWEL SIGN YI;Mc;0;L;;;;;N;;;;;
+16F73;MIAO VOWEL SIGN AE;Mc;0;L;;;;;N;;;;;
+16F74;MIAO VOWEL SIGN AEE;Mc;0;L;;;;;N;;;;;
+16F75;MIAO VOWEL SIGN ERR;Mc;0;L;;;;;N;;;;;
+16F76;MIAO VOWEL SIGN ROUNDED ERR;Mc;0;L;;;;;N;;;;;
+16F77;MIAO VOWEL SIGN ER;Mc;0;L;;;;;N;;;;;
+16F78;MIAO VOWEL SIGN ROUNDED ER;Mc;0;L;;;;;N;;;;;
+16F79;MIAO VOWEL SIGN AI;Mc;0;L;;;;;N;;;;;
+16F7A;MIAO VOWEL SIGN EI;Mc;0;L;;;;;N;;;;;
+16F7B;MIAO VOWEL SIGN AU;Mc;0;L;;;;;N;;;;;
+16F7C;MIAO VOWEL SIGN OU;Mc;0;L;;;;;N;;;;;
+16F7D;MIAO VOWEL SIGN N;Mc;0;L;;;;;N;;;;;
+16F7E;MIAO VOWEL SIGN NG;Mc;0;L;;;;;N;;;;;
+16F8F;MIAO TONE RIGHT;Mn;0;NSM;;;;;N;;;;;
+16F90;MIAO TONE TOP RIGHT;Mn;0;NSM;;;;;N;;;;;
+16F91;MIAO TONE ABOVE;Mn;0;NSM;;;;;N;;;;;
+16F92;MIAO TONE BELOW;Mn;0;NSM;;;;;N;;;;;
+16F93;MIAO LETTER TONE-2;Lm;0;L;;;;;N;;;;;
+16F94;MIAO LETTER TONE-3;Lm;0;L;;;;;N;;;;;
+16F95;MIAO LETTER TONE-4;Lm;0;L;;;;;N;;;;;
+16F96;MIAO LETTER TONE-5;Lm;0;L;;;;;N;;;;;
+16F97;MIAO LETTER TONE-6;Lm;0;L;;;;;N;;;;;
+16F98;MIAO LETTER TONE-7;Lm;0;L;;;;;N;;;;;
+16F99;MIAO LETTER TONE-8;Lm;0;L;;;;;N;;;;;
+16F9A;MIAO LETTER REFORMED TONE-1;Lm;0;L;;;;;N;;;;;
+16F9B;MIAO LETTER REFORMED TONE-2;Lm;0;L;;;;;N;;;;;
+16F9C;MIAO LETTER REFORMED TONE-4;Lm;0;L;;;;;N;;;;;
+16F9D;MIAO LETTER REFORMED TONE-5;Lm;0;L;;;;;N;;;;;
+16F9E;MIAO LETTER REFORMED TONE-6;Lm;0;L;;;;;N;;;;;
+16F9F;MIAO LETTER REFORMED TONE-8;Lm;0;L;;;;;N;;;;;
 1B000;KATAKANA LETTER ARCHAIC E;Lo;0;L;;;;;N;;;;;
 1B001;HIRAGANA LETTER ARCHAIC YE;Lo;0;L;;;;;N;;;;;
 1D000;BYZANTINE MUSICAL SYMBOL PSILI;So;0;L;;;;;N;;;;;
@@ -21599,6 +22169,149 @@
 1D7FD;MATHEMATICAL MONOSPACE DIGIT SEVEN;Nd;0;EN;<font> 0037;7;7;7;N;;;;;
 1D7FE;MATHEMATICAL MONOSPACE DIGIT EIGHT;Nd;0;EN;<font> 0038;8;8;8;N;;;;;
 1D7FF;MATHEMATICAL MONOSPACE DIGIT NINE;Nd;0;EN;<font> 0039;9;9;9;N;;;;;
+1EE00;ARABIC MATHEMATICAL ALEF;Lo;0;AL;<font> 0627;;;;N;;;;;
+1EE01;ARABIC MATHEMATICAL BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EE02;ARABIC MATHEMATICAL JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE03;ARABIC MATHEMATICAL DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
+1EE05;ARABIC MATHEMATICAL WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
+1EE06;ARABIC MATHEMATICAL ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
+1EE07;ARABIC MATHEMATICAL HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE08;ARABIC MATHEMATICAL TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
+1EE09;ARABIC MATHEMATICAL YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE0A;ARABIC MATHEMATICAL KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
+1EE0B;ARABIC MATHEMATICAL LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EE0C;ARABIC MATHEMATICAL MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EE0D;ARABIC MATHEMATICAL NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE0E;ARABIC MATHEMATICAL SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE0F;ARABIC MATHEMATICAL AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE10;ARABIC MATHEMATICAL FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EE11;ARABIC MATHEMATICAL SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE12;ARABIC MATHEMATICAL QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE13;ARABIC MATHEMATICAL REH;Lo;0;AL;<font> 0631;;;;N;;;;;
+1EE14;ARABIC MATHEMATICAL SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE15;ARABIC MATHEMATICAL TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EE16;ARABIC MATHEMATICAL THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EE17;ARABIC MATHEMATICAL KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE18;ARABIC MATHEMATICAL THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
+1EE19;ARABIC MATHEMATICAL DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE1A;ARABIC MATHEMATICAL ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
+1EE1B;ARABIC MATHEMATICAL GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EE1C;ARABIC MATHEMATICAL DOTLESS BEH;Lo;0;AL;<font> 066E;;;;N;;;;;
+1EE1D;ARABIC MATHEMATICAL DOTLESS NOON;Lo;0;AL;<font> 06BA;;;;N;;;;;
+1EE1E;ARABIC MATHEMATICAL DOTLESS FEH;Lo;0;AL;<font> 06A1;;;;N;;;;;
+1EE1F;ARABIC MATHEMATICAL DOTLESS QAF;Lo;0;AL;<font> 066F;;;;N;;;;;
+1EE21;ARABIC MATHEMATICAL INITIAL BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EE22;ARABIC MATHEMATICAL INITIAL JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE24;ARABIC MATHEMATICAL INITIAL HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
+1EE27;ARABIC MATHEMATICAL INITIAL HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE29;ARABIC MATHEMATICAL INITIAL YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE2A;ARABIC MATHEMATICAL INITIAL KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
+1EE2B;ARABIC MATHEMATICAL INITIAL LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EE2C;ARABIC MATHEMATICAL INITIAL MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EE2D;ARABIC MATHEMATICAL INITIAL NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE2E;ARABIC MATHEMATICAL INITIAL SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE2F;ARABIC MATHEMATICAL INITIAL AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE30;ARABIC MATHEMATICAL INITIAL FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EE31;ARABIC MATHEMATICAL INITIAL SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE32;ARABIC MATHEMATICAL INITIAL QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE34;ARABIC MATHEMATICAL INITIAL SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE35;ARABIC MATHEMATICAL INITIAL TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EE36;ARABIC MATHEMATICAL INITIAL THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EE37;ARABIC MATHEMATICAL INITIAL KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE39;ARABIC MATHEMATICAL INITIAL DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE3B;ARABIC MATHEMATICAL INITIAL GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EE42;ARABIC MATHEMATICAL TAILED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE47;ARABIC MATHEMATICAL TAILED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE49;ARABIC MATHEMATICAL TAILED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE4B;ARABIC MATHEMATICAL TAILED LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EE4D;ARABIC MATHEMATICAL TAILED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE4E;ARABIC MATHEMATICAL TAILED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE4F;ARABIC MATHEMATICAL TAILED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE51;ARABIC MATHEMATICAL TAILED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE52;ARABIC MATHEMATICAL TAILED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE54;ARABIC MATHEMATICAL TAILED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE57;ARABIC MATHEMATICAL TAILED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE59;ARABIC MATHEMATICAL TAILED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE5B;ARABIC MATHEMATICAL TAILED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EE5D;ARABIC MATHEMATICAL TAILED DOTLESS NOON;Lo;0;AL;<font> 06BA;;;;N;;;;;
+1EE5F;ARABIC MATHEMATICAL TAILED DOTLESS QAF;Lo;0;AL;<font> 066F;;;;N;;;;;
+1EE61;ARABIC MATHEMATICAL STRETCHED BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EE62;ARABIC MATHEMATICAL STRETCHED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE64;ARABIC MATHEMATICAL STRETCHED HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
+1EE67;ARABIC MATHEMATICAL STRETCHED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE68;ARABIC MATHEMATICAL STRETCHED TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
+1EE69;ARABIC MATHEMATICAL STRETCHED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE6A;ARABIC MATHEMATICAL STRETCHED KAF;Lo;0;AL;<font> 0643;;;;N;;;;;
+1EE6C;ARABIC MATHEMATICAL STRETCHED MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EE6D;ARABIC MATHEMATICAL STRETCHED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE6E;ARABIC MATHEMATICAL STRETCHED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE6F;ARABIC MATHEMATICAL STRETCHED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE70;ARABIC MATHEMATICAL STRETCHED FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EE71;ARABIC MATHEMATICAL STRETCHED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE72;ARABIC MATHEMATICAL STRETCHED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE74;ARABIC MATHEMATICAL STRETCHED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE75;ARABIC MATHEMATICAL STRETCHED TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EE76;ARABIC MATHEMATICAL STRETCHED THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EE77;ARABIC MATHEMATICAL STRETCHED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE79;ARABIC MATHEMATICAL STRETCHED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE7A;ARABIC MATHEMATICAL STRETCHED ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
+1EE7B;ARABIC MATHEMATICAL STRETCHED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EE7C;ARABIC MATHEMATICAL STRETCHED DOTLESS BEH;Lo;0;AL;<font> 066E;;;;N;;;;;
+1EE7E;ARABIC MATHEMATICAL STRETCHED DOTLESS FEH;Lo;0;AL;<font> 06A1;;;;N;;;;;
+1EE80;ARABIC MATHEMATICAL LOOPED ALEF;Lo;0;AL;<font> 0627;;;;N;;;;;
+1EE81;ARABIC MATHEMATICAL LOOPED BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EE82;ARABIC MATHEMATICAL LOOPED JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EE83;ARABIC MATHEMATICAL LOOPED DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
+1EE84;ARABIC MATHEMATICAL LOOPED HEH;Lo;0;AL;<font> 0647;;;;N;;;;;
+1EE85;ARABIC MATHEMATICAL LOOPED WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
+1EE86;ARABIC MATHEMATICAL LOOPED ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
+1EE87;ARABIC MATHEMATICAL LOOPED HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EE88;ARABIC MATHEMATICAL LOOPED TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
+1EE89;ARABIC MATHEMATICAL LOOPED YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EE8B;ARABIC MATHEMATICAL LOOPED LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EE8C;ARABIC MATHEMATICAL LOOPED MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EE8D;ARABIC MATHEMATICAL LOOPED NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EE8E;ARABIC MATHEMATICAL LOOPED SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EE8F;ARABIC MATHEMATICAL LOOPED AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EE90;ARABIC MATHEMATICAL LOOPED FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EE91;ARABIC MATHEMATICAL LOOPED SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EE92;ARABIC MATHEMATICAL LOOPED QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EE93;ARABIC MATHEMATICAL LOOPED REH;Lo;0;AL;<font> 0631;;;;N;;;;;
+1EE94;ARABIC MATHEMATICAL LOOPED SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EE95;ARABIC MATHEMATICAL LOOPED TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EE96;ARABIC MATHEMATICAL LOOPED THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EE97;ARABIC MATHEMATICAL LOOPED KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EE98;ARABIC MATHEMATICAL LOOPED THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
+1EE99;ARABIC MATHEMATICAL LOOPED DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EE9A;ARABIC MATHEMATICAL LOOPED ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
+1EE9B;ARABIC MATHEMATICAL LOOPED GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EEA1;ARABIC MATHEMATICAL DOUBLE-STRUCK BEH;Lo;0;AL;<font> 0628;;;;N;;;;;
+1EEA2;ARABIC MATHEMATICAL DOUBLE-STRUCK JEEM;Lo;0;AL;<font> 062C;;;;N;;;;;
+1EEA3;ARABIC MATHEMATICAL DOUBLE-STRUCK DAL;Lo;0;AL;<font> 062F;;;;N;;;;;
+1EEA5;ARABIC MATHEMATICAL DOUBLE-STRUCK WAW;Lo;0;AL;<font> 0648;;;;N;;;;;
+1EEA6;ARABIC MATHEMATICAL DOUBLE-STRUCK ZAIN;Lo;0;AL;<font> 0632;;;;N;;;;;
+1EEA7;ARABIC MATHEMATICAL DOUBLE-STRUCK HAH;Lo;0;AL;<font> 062D;;;;N;;;;;
+1EEA8;ARABIC MATHEMATICAL DOUBLE-STRUCK TAH;Lo;0;AL;<font> 0637;;;;N;;;;;
+1EEA9;ARABIC MATHEMATICAL DOUBLE-STRUCK YEH;Lo;0;AL;<font> 064A;;;;N;;;;;
+1EEAB;ARABIC MATHEMATICAL DOUBLE-STRUCK LAM;Lo;0;AL;<font> 0644;;;;N;;;;;
+1EEAC;ARABIC MATHEMATICAL DOUBLE-STRUCK MEEM;Lo;0;AL;<font> 0645;;;;N;;;;;
+1EEAD;ARABIC MATHEMATICAL DOUBLE-STRUCK NOON;Lo;0;AL;<font> 0646;;;;N;;;;;
+1EEAE;ARABIC MATHEMATICAL DOUBLE-STRUCK SEEN;Lo;0;AL;<font> 0633;;;;N;;;;;
+1EEAF;ARABIC MATHEMATICAL DOUBLE-STRUCK AIN;Lo;0;AL;<font> 0639;;;;N;;;;;
+1EEB0;ARABIC MATHEMATICAL DOUBLE-STRUCK FEH;Lo;0;AL;<font> 0641;;;;N;;;;;
+1EEB1;ARABIC MATHEMATICAL DOUBLE-STRUCK SAD;Lo;0;AL;<font> 0635;;;;N;;;;;
+1EEB2;ARABIC MATHEMATICAL DOUBLE-STRUCK QAF;Lo;0;AL;<font> 0642;;;;N;;;;;
+1EEB3;ARABIC MATHEMATICAL DOUBLE-STRUCK REH;Lo;0;AL;<font> 0631;;;;N;;;;;
+1EEB4;ARABIC MATHEMATICAL DOUBLE-STRUCK SHEEN;Lo;0;AL;<font> 0634;;;;N;;;;;
+1EEB5;ARABIC MATHEMATICAL DOUBLE-STRUCK TEH;Lo;0;AL;<font> 062A;;;;N;;;;;
+1EEB6;ARABIC MATHEMATICAL DOUBLE-STRUCK THEH;Lo;0;AL;<font> 062B;;;;N;;;;;
+1EEB7;ARABIC MATHEMATICAL DOUBLE-STRUCK KHAH;Lo;0;AL;<font> 062E;;;;N;;;;;
+1EEB8;ARABIC MATHEMATICAL DOUBLE-STRUCK THAL;Lo;0;AL;<font> 0630;;;;N;;;;;
+1EEB9;ARABIC MATHEMATICAL DOUBLE-STRUCK DAD;Lo;0;AL;<font> 0636;;;;N;;;;;
+1EEBA;ARABIC MATHEMATICAL DOUBLE-STRUCK ZAH;Lo;0;AL;<font> 0638;;;;N;;;;;
+1EEBB;ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN;Lo;0;AL;<font> 063A;;;;N;;;;;
+1EEF0;ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL;Sm;0;ON;;;;;N;;;;;
+1EEF1;ARABIC MATHEMATICAL OPERATOR HAH WITH DAL;Sm;0;ON;;;;;N;;;;;
 1F000;MAHJONG TILE EAST WIND;So;0;ON;;;;;N;;;;;
 1F001;MAHJONG TILE SOUTH WIND;So;0;ON;;;;;N;;;;;
 1F002;MAHJONG TILE WEST WIND;So;0;ON;;;;;N;;;;;
@@ -21902,6 +22615,8 @@
 1F167;NEGATIVE CIRCLED LATIN CAPITAL LETTER X;So;0;L;;;;;N;;;;;
 1F168;NEGATIVE CIRCLED LATIN CAPITAL LETTER Y;So;0;L;;;;;N;;;;;
 1F169;NEGATIVE CIRCLED LATIN CAPITAL LETTER Z;So;0;L;;;;;N;;;;;
+1F16A;RAISED MC SIGN;So;0;ON;<super> 004D 0043;;;;N;;;;;
+1F16B;RAISED MD SIGN;So;0;ON;<super> 004D 0044;;;;N;;;;;
 1F170;NEGATIVE SQUARED LATIN CAPITAL LETTER A;So;0;L;;;;;N;;;;;
 1F171;NEGATIVE SQUARED LATIN CAPITAL LETTER B;So;0;L;;;;;N;;;;;
 1F172;NEGATIVE SQUARED LATIN CAPITAL LETTER C;So;0;L;;;;;N;;;;;
@@ -22354,7 +23069,7 @@
 1F489;SYRINGE;So;0;ON;;;;;N;;;;;
 1F48A;PILL;So;0;ON;;;;;N;;;;;
 1F48B;KISS MARK;So;0;ON;;;;;N;;;;;
-1F48C;LOVE LETTER;So;0;L;;;;;N;;;;;
+1F48C;LOVE LETTER;So;0;ON;;;;;N;;;;;
 1F48D;RING;So;0;ON;;;;;N;;;;;
 1F48E;GEM STONE;So;0;ON;;;;;N;;;;;
 1F48F;KISS;So;0;ON;;;;;N;;;;;
@@ -22502,7 +23217,7 @@
 1F521;INPUT SYMBOL FOR LATIN SMALL LETTERS;So;0;ON;;;;;N;;;;;
 1F522;INPUT SYMBOL FOR NUMBERS;So;0;ON;;;;;N;;;;;
 1F523;INPUT SYMBOL FOR SYMBOLS;So;0;ON;;;;;N;;;;;
-1F524;INPUT SYMBOL FOR LATIN LETTERS;So;0;L;;;;;N;;;;;
+1F524;INPUT SYMBOL FOR LATIN LETTERS;So;0;ON;;;;;N;;;;;
 1F525;FIRE;So;0;ON;;;;;N;;;;;
 1F526;ELECTRIC TORCH;So;0;ON;;;;;N;;;;;
 1F527;WRENCH;So;0;ON;;;;;N;;;;;
@@ -22528,6 +23243,10 @@
 1F53B;DOWN-POINTING RED TRIANGLE;So;0;ON;;;;;N;;;;;
 1F53C;UP-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;;
 1F53D;DOWN-POINTING SMALL RED TRIANGLE;So;0;ON;;;;;N;;;;;
+1F540;CIRCLED CROSS POMMEE;So;0;ON;;;;;N;;;;;
+1F541;CROSS POMMEE WITH HALF-CIRCLE BELOW;So;0;ON;;;;;N;;;;;
+1F542;CROSS POMMEE;So;0;ON;;;;;N;;;;;
+1F543;NOTCHED LEFT SEMICIRCLE WITH THREE DOTS;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;;;;;
@@ -22557,6 +23276,7 @@
 1F5FD;STATUE OF LIBERTY;So;0;ON;;;;;N;;;;;
 1F5FE;SILHOUETTE OF JAPAN;So;0;ON;;;;;N;;;;;
 1F5FF;MOYAI;So;0;ON;;;;;N;;;;;
+1F600;GRINNING FACE;So;0;ON;;;;;N;;;;;
 1F601;GRINNING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;;
 1F602;FACE WITH TEARS OF JOY;So;0;ON;;;;;N;;;;;
 1F603;SMILING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
@@ -22573,15 +23293,21 @@
 1F60E;SMILING FACE WITH SUNGLASSES;So;0;ON;;;;;N;;;;;
 1F60F;SMIRKING FACE;So;0;ON;;;;;N;;;;;
 1F610;NEUTRAL FACE;So;0;ON;;;;;N;;;;;
+1F611;EXPRESSIONLESS FACE;So;0;ON;;;;;N;;;;;
 1F612;UNAMUSED FACE;So;0;ON;;;;;N;;;;;
 1F613;FACE WITH COLD SWEAT;So;0;ON;;;;;N;;;;;
 1F614;PENSIVE FACE;So;0;ON;;;;;N;;;;;
+1F615;CONFUSED FACE;So;0;ON;;;;;N;;;;;
 1F616;CONFOUNDED FACE;So;0;ON;;;;;N;;;;;
+1F617;KISSING FACE;So;0;ON;;;;;N;;;;;
 1F618;FACE THROWING A KISS;So;0;ON;;;;;N;;;;;
+1F619;KISSING FACE WITH SMILING EYES;So;0;ON;;;;;N;;;;;
 1F61A;KISSING FACE WITH CLOSED EYES;So;0;ON;;;;;N;;;;;
+1F61B;FACE WITH STUCK-OUT TONGUE;So;0;ON;;;;;N;;;;;
 1F61C;FACE WITH STUCK-OUT TONGUE AND WINKING EYE;So;0;ON;;;;;N;;;;;
 1F61D;FACE WITH STUCK-OUT TONGUE AND TIGHTLY-CLOSED EYES;So;0;ON;;;;;N;;;;;
 1F61E;DISAPPOINTED FACE;So;0;ON;;;;;N;;;;;
+1F61F;WORRIED FACE;So;0;ON;;;;;N;;;;;
 1F620;ANGRY FACE;So;0;ON;;;;;N;;;;;
 1F621;POUTING FACE;So;0;ON;;;;;N;;;;;
 1F622;CRYING FACE;So;0;ON;;;;;N;;;;;
@@ -22588,15 +23314,21 @@
 1F623;PERSEVERING FACE;So;0;ON;;;;;N;;;;;
 1F624;FACE WITH LOOK OF TRIUMPH;So;0;ON;;;;;N;;;;;
 1F625;DISAPPOINTED BUT RELIEVED FACE;So;0;ON;;;;;N;;;;;
+1F626;FROWNING FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1F627;ANGUISHED FACE;So;0;ON;;;;;N;;;;;
 1F628;FEARFUL FACE;So;0;ON;;;;;N;;;;;
 1F629;WEARY FACE;So;0;ON;;;;;N;;;;;
 1F62A;SLEEPY FACE;So;0;ON;;;;;N;;;;;
 1F62B;TIRED FACE;So;0;ON;;;;;N;;;;;
+1F62C;GRIMACING FACE;So;0;ON;;;;;N;;;;;
 1F62D;LOUDLY CRYING FACE;So;0;ON;;;;;N;;;;;
+1F62E;FACE WITH OPEN MOUTH;So;0;ON;;;;;N;;;;;
+1F62F;HUSHED FACE;So;0;ON;;;;;N;;;;;
 1F630;FACE WITH OPEN MOUTH AND COLD SWEAT;So;0;ON;;;;;N;;;;;
 1F631;FACE SCREAMING IN FEAR;So;0;ON;;;;;N;;;;;
 1F632;ASTONISHED FACE;So;0;ON;;;;;N;;;;;
 1F633;FLUSHED FACE;So;0;ON;;;;;N;;;;;
+1F634;SLEEPING FACE;So;0;ON;;;;;N;;;;;
 1F635;DIZZY FACE;So;0;ON;;;;;N;;;;;
 1F636;FACE WITHOUT MOUTH;So;0;ON;;;;;N;;;;;
 1F637;FACE WITH MEDICAL MASK;So;0;ON;;;;;N;;;;;


Property changes on: vendor/perl/dist/lib/unicore/UnicodeData.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# GraphemeBreakTest-6.0.0.txt
-# Date: 2010-05-18, 00:49:27 GMT [MD]
+# GraphemeBreakTest-6.2.0.txt
+# Date: 2012-08-22, 12:41:15 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 #
@@ -15,7 +15,7 @@
 #	× wherever there is not.
 #  <comment> the format can change, but currently it shows:
 #	- the sample character name
-#	- (x) the Grapheme_Break property* for the sample character
+#	- (x) the Grapheme_Cluster_Break property value for the sample character
 #	- [x] the rule that determines whether there is a break or not
 #
 # These samples may be extended or changed in the future.
@@ -30,8 +30,6 @@
 ÷ 0020 × 0308 ÷ 0001 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 0020 × 0300 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 0020 × 0308 × 0300 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0020 ÷ 0E40 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0020 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 0020 × 0903 ÷	#  ÷ [0.2] SPACE (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 0020 × 0308 × 0903 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 0020 ÷ 1100 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -44,6 +42,12 @@
 ÷ 0020 × 0308 ÷ AC00 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 0020 ÷ AC01 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 0020 × 0308 ÷ AC01 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0020 ÷ 1F1E6 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0020 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0020 ÷ 0378 ÷	#  ÷ [0.2] SPACE (Other) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0020 × 0308 ÷ 0378 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0020 ÷ D800 ÷	#  ÷ [0.2] SPACE (Other) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 0020 × 0308 ÷ D800 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 000D ÷ 0020 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] SPACE (Other) ÷ [0.3]
 ÷ 000D ÷ 0308 ÷ 0020 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 000D ÷ 000D ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -54,8 +58,6 @@
 ÷ 000D ÷ 0308 ÷ 0001 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 000D ÷ 0300 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 000D ÷ 0308 × 0300 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 000D ÷ 0E40 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 000D ÷ 0308 ÷ 0E40 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 000D ÷ 0903 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 000D ÷ 0308 × 0903 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 000D ÷ 1100 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -68,6 +70,12 @@
 ÷ 000D ÷ 0308 ÷ AC00 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 000D ÷ AC01 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 000D ÷ 0308 ÷ AC01 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 000D ÷ 1F1E6 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 000D ÷ 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 000D ÷ 0378 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 000D ÷ 0308 ÷ 0378 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 000D ÷ D800 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 000D ÷ 0308 ÷ D800 ÷	#  ÷ [0.2] <CARRIAGE RETURN (CR)> (CR) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 000A ÷ 0020 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] SPACE (Other) ÷ [0.3]
 ÷ 000A ÷ 0308 ÷ 0020 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 000A ÷ 000D ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -78,8 +86,6 @@
 ÷ 000A ÷ 0308 ÷ 0001 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 000A ÷ 0300 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 000A ÷ 0308 × 0300 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 000A ÷ 0E40 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 000A ÷ 0308 ÷ 0E40 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 000A ÷ 0903 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 000A ÷ 0308 × 0903 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 000A ÷ 1100 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -92,6 +98,12 @@
 ÷ 000A ÷ 0308 ÷ AC00 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 000A ÷ AC01 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 000A ÷ 0308 ÷ AC01 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 000A ÷ 1F1E6 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 000A ÷ 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 000A ÷ 0378 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 000A ÷ 0308 ÷ 0378 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 000A ÷ D800 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 000A ÷ 0308 ÷ D800 ÷	#  ÷ [0.2] <LINE FEED (LF)> (LF) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 0001 ÷ 0020 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] SPACE (Other) ÷ [0.3]
 ÷ 0001 ÷ 0308 ÷ 0020 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 0001 ÷ 000D ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -102,8 +114,6 @@
 ÷ 0001 ÷ 0308 ÷ 0001 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 0001 ÷ 0300 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 0001 ÷ 0308 × 0300 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0001 ÷ 0E40 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0001 ÷ 0308 ÷ 0E40 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 0001 ÷ 0903 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 0001 ÷ 0308 × 0903 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 0001 ÷ 1100 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -116,6 +126,12 @@
 ÷ 0001 ÷ 0308 ÷ AC00 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 0001 ÷ AC01 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 0001 ÷ 0308 ÷ AC01 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0001 ÷ 1F1E6 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0001 ÷ 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0001 ÷ 0378 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0001 ÷ 0308 ÷ 0378 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0001 ÷ D800 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 0001 ÷ 0308 ÷ D800 ÷	#  ÷ [0.2] <START OF HEADING> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 0300 ÷ 0020 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 0300 × 0308 ÷ 0020 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 0300 ÷ 000D ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -126,8 +142,6 @@
 ÷ 0300 × 0308 ÷ 0001 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 0300 × 0300 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 0300 × 0308 × 0300 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0300 ÷ 0E40 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0300 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 0300 × 0903 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 0300 × 0308 × 0903 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 0300 ÷ 1100 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -140,30 +154,12 @@
 ÷ 0300 × 0308 ÷ AC00 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 0300 ÷ AC01 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 0300 × 0308 ÷ AC01 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0E40 × 0020 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] SPACE (Other) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 0020 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
-÷ 0E40 ÷ 000D ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 000D ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
-÷ 0E40 ÷ 000A ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 000A ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
-÷ 0E40 ÷ 0001 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 0001 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
-÷ 0E40 × 0300 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0E40 × 0308 × 0300 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0E40 × 0E40 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0E40 × 0903 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0E40 × 0308 × 0903 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
-÷ 0E40 × 1100 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 1100 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
-÷ 0E40 × 1160 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 1160 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
-÷ 0E40 × 11A8 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0E40 × 0308 ÷ 11A8 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
-÷ 0E40 × AC00 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0E40 × 0308 ÷ AC00 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
-÷ 0E40 × AC01 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.2] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-÷ 0E40 × 0308 ÷ AC01 ÷	#  ÷ [0.2] THAI CHARACTER SARA E (Prepend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0300 ÷ 1F1E6 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0300 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0300 ÷ 0378 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0300 × 0308 ÷ 0378 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0300 ÷ D800 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 0300 × 0308 ÷ D800 ÷	#  ÷ [0.2] COMBINING GRAVE ACCENT (Extend) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 0903 ÷ 0020 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 0903 × 0308 ÷ 0020 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 0903 ÷ 000D ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -174,8 +170,6 @@
 ÷ 0903 × 0308 ÷ 0001 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 0903 × 0300 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 0903 × 0308 × 0300 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 0903 ÷ 0E40 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 0903 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 0903 × 0903 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 0903 × 0308 × 0903 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 0903 ÷ 1100 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -188,6 +182,12 @@
 ÷ 0903 × 0308 ÷ AC00 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 0903 ÷ AC01 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 0903 × 0308 ÷ AC01 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0903 ÷ 1F1E6 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0903 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0903 ÷ 0378 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0903 × 0308 ÷ 0378 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0903 ÷ D800 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 0903 × 0308 ÷ D800 ÷	#  ÷ [0.2] DEVANAGARI SIGN VISARGA (SpacingMark) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 1100 ÷ 0020 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 1100 × 0308 ÷ 0020 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 1100 ÷ 000D ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -198,8 +198,6 @@
 ÷ 1100 × 0308 ÷ 0001 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 1100 × 0300 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 1100 × 0308 × 0300 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 1100 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 1100 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 1100 × 0903 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 1100 × 0308 × 0903 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 1100 × 1100 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -212,6 +210,12 @@
 ÷ 1100 × 0308 ÷ AC00 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 1100 × AC01 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [6.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 1100 × 0308 ÷ AC01 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 1100 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 1100 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 1100 ÷ 0378 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 1100 × 0308 ÷ 0378 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 1100 ÷ D800 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 1100 × 0308 ÷ D800 ÷	#  ÷ [0.2] HANGUL CHOSEONG KIYEOK (L) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 1160 ÷ 0020 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 1160 × 0308 ÷ 0020 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 1160 ÷ 000D ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -222,8 +226,6 @@
 ÷ 1160 × 0308 ÷ 0001 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 1160 × 0300 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 1160 × 0308 × 0300 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 1160 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 1160 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 1160 × 0903 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 1160 × 0308 × 0903 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 1160 ÷ 1100 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -236,6 +238,12 @@
 ÷ 1160 × 0308 ÷ AC00 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 1160 ÷ AC01 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 1160 × 0308 ÷ AC01 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 1160 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 1160 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 1160 ÷ 0378 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 1160 × 0308 ÷ 0378 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 1160 ÷ D800 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 1160 × 0308 ÷ D800 ÷	#  ÷ [0.2] HANGUL JUNGSEONG FILLER (V) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ 11A8 ÷ 0020 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 11A8 × 0308 ÷ 0020 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ 11A8 ÷ 000D ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -246,8 +254,6 @@
 ÷ 11A8 × 0308 ÷ 0001 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ 11A8 × 0300 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ 11A8 × 0308 × 0300 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ 11A8 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ 11A8 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ 11A8 × 0903 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 11A8 × 0308 × 0903 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ 11A8 ÷ 1100 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -260,6 +266,12 @@
 ÷ 11A8 × 0308 ÷ AC00 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ 11A8 ÷ AC01 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ 11A8 × 0308 ÷ AC01 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 11A8 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 11A8 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 11A8 ÷ 0378 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 11A8 × 0308 ÷ 0378 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 11A8 ÷ D800 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 11A8 × 0308 ÷ D800 ÷	#  ÷ [0.2] HANGUL JONGSEONG KIYEOK (T) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ AC00 ÷ 0020 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ AC00 × 0308 ÷ 0020 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ AC00 ÷ 000D ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -270,8 +282,6 @@
 ÷ AC00 × 0308 ÷ 0001 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ AC00 × 0300 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ AC00 × 0308 × 0300 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ AC00 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ AC00 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ AC00 × 0903 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ AC00 × 0308 × 0903 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ AC00 ÷ 1100 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -284,6 +294,12 @@
 ÷ AC00 × 0308 ÷ AC00 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ AC00 ÷ AC01 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ AC00 × 0308 ÷ AC01 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ AC00 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ AC00 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ AC00 ÷ 0378 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ AC00 × 0308 ÷ 0378 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ AC00 ÷ D800 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ AC00 × 0308 ÷ D800 ÷	#  ÷ [0.2] HANGUL SYLLABLE GA (LV) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
 ÷ AC01 ÷ 0020 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ AC01 × 0308 ÷ 0020 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
 ÷ AC01 ÷ 000D ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
@@ -294,8 +310,6 @@
 ÷ AC01 × 0308 ÷ 0001 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
 ÷ AC01 × 0300 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
 ÷ AC01 × 0308 × 0300 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
-÷ AC01 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
-÷ AC01 × 0308 ÷ 0E40 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] THAI CHARACTER SARA E (Prepend) ÷ [0.3]
 ÷ AC01 × 0903 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ AC01 × 0308 × 0903 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
 ÷ AC01 ÷ 1100 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
@@ -308,4 +322,107 @@
 ÷ AC01 × 0308 ÷ AC00 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
 ÷ AC01 ÷ AC01 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
 ÷ AC01 × 0308 ÷ AC01 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
-# Lines: 288
+÷ AC01 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ AC01 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ AC01 ÷ 0378 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ AC01 × 0308 ÷ 0378 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ AC01 ÷ D800 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ AC01 × 0308 ÷ D800 ÷	#  ÷ [0.2] HANGUL SYLLABLE GAG (LVT) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 1F1E6 ÷ 0020 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 0020 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 1F1E6 ÷ 000D ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 000D ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 1F1E6 ÷ 000A ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 000A ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 1F1E6 ÷ 0001 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 0001 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 1F1E6 × 0300 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
+÷ 1F1E6 × 0308 × 0300 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
+÷ 1F1E6 × 0903 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 1F1E6 × 0308 × 0903 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 1F1E6 ÷ 1100 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 1100 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 1F1E6 ÷ 1160 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 1160 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 1F1E6 ÷ 11A8 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 11A8 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 1F1E6 ÷ AC00 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ AC00 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 1F1E6 ÷ AC01 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ AC01 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 1F1E6 × 1F1E6 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 1F1E6 ÷ 0378 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ 0378 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 1F1E6 ÷ D800 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 1F1E6 × 0308 ÷ D800 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 0378 ÷ 0020 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0378 × 0308 ÷ 0020 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ 0378 ÷ 000D ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0378 × 0308 ÷ 000D ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ 0378 ÷ 000A ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0378 × 0308 ÷ 000A ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ 0378 ÷ 0001 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0378 × 0308 ÷ 0001 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ 0378 × 0300 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
+÷ 0378 × 0308 × 0300 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
+÷ 0378 × 0903 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0378 × 0308 × 0903 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ 0378 ÷ 1100 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0378 × 0308 ÷ 1100 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ 0378 ÷ 1160 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0378 × 0308 ÷ 1160 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ 0378 ÷ 11A8 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0378 × 0308 ÷ 11A8 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ 0378 ÷ AC00 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0378 × 0308 ÷ AC00 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ 0378 ÷ AC01 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0378 × 0308 ÷ AC01 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ 0378 ÷ 1F1E6 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0378 × 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ 0378 ÷ 0378 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0378 × 0308 ÷ 0378 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ 0378 ÷ D800 ÷	#  ÷ [0.2] <reserved-0378> (Other) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 0378 × 0308 ÷ D800 ÷	#  ÷ [0.2] <reserved-0378> (Other) × [9.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ D800 ÷ 0020 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] SPACE (Other) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 0020 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
+÷ D800 ÷ 000D ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 000D ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <CARRIAGE RETURN (CR)> (CR) ÷ [0.3]
+÷ D800 ÷ 000A ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 000A ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <LINE FEED (LF)> (LF) ÷ [0.3]
+÷ D800 ÷ 0001 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 0001 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <START OF HEADING> (Control) ÷ [0.3]
+÷ D800 ÷ 0300 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
+÷ D800 ÷ 0308 × 0300 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.0] COMBINING GRAVE ACCENT (Extend) ÷ [0.3]
+÷ D800 ÷ 0903 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ D800 ÷ 0308 × 0903 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) × [9.1] DEVANAGARI SIGN VISARGA (SpacingMark) ÷ [0.3]
+÷ D800 ÷ 1100 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 1100 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL CHOSEONG KIYEOK (L) ÷ [0.3]
+÷ D800 ÷ 1160 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 1160 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JUNGSEONG FILLER (V) ÷ [0.3]
+÷ D800 ÷ 11A8 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 11A8 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL JONGSEONG KIYEOK (T) ÷ [0.3]
+÷ D800 ÷ AC00 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ AC00 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GA (LV) ÷ [0.3]
+÷ D800 ÷ AC01 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ AC01 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] HANGUL SYLLABLE GAG (LVT) ÷ [0.3]
+÷ D800 ÷ 1F1E6 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 1F1E6 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [0.3]
+÷ D800 ÷ 0378 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] <reserved-0378> (Other) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ 0378 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [999.0] <reserved-0378> (Other) ÷ [0.3]
+÷ D800 ÷ D800 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ D800 ÷ 0308 ÷ D800 ÷	#  ÷ [0.2] <surrogate-D800> (Control) ÷ [4.0] COMBINING DIAERESIS (Extend) ÷ [5.0] <surrogate-D800> (Control) ÷ [0.3]
+÷ 0061 ÷ 1F1E6 ÷ 0062 ÷	#  ÷ [0.2] LATIN SMALL LETTER A (Other) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) ÷ [999.0] LATIN SMALL LETTER B (Other) ÷ [0.3]
+÷ 1F1F7 × 1F1FA ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) ÷ [0.3]
+÷ 1F1F7 × 1F1FA × 1F1F8 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) ÷ [0.3]
+÷ 1F1F7 × 1F1FA × 1F1F8 × 1F1EA ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER E (Regional_Indicator) ÷ [0.3]
+÷ 1F1F7 × 1F1FA ÷ 200B ÷ 1F1F8 × 1F1EA ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER R (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER U (Regional_Indicator) ÷ [5.0] ZERO WIDTH SPACE (Control) ÷ [4.0] REGIONAL INDICATOR SYMBOL LETTER S (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER E (Regional_Indicator) ÷ [0.3]
+÷ 1F1E6 × 1F1E7 × 1F1E8 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3]
+÷ 1F1E6 × 200D ÷ 1F1E7 × 1F1E8 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [9.0] ZERO WIDTH JOINER (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3]
+÷ 1F1E6 × 1F1E7 × 200D ÷ 1F1E8 ÷	#  ÷ [0.2] REGIONAL INDICATOR SYMBOL LETTER A (Regional_Indicator) × [8.1] REGIONAL INDICATOR SYMBOL LETTER B (Regional_Indicator) × [9.0] ZERO WIDTH JOINER (Extend) ÷ [999.0] REGIONAL INDICATOR SYMBOL LETTER C (Regional_Indicator) ÷ [0.3]
+÷ 0020 × 200D ÷ 0646 ÷	#  ÷ [0.2] SPACE (Other) × [9.0] ZERO WIDTH JOINER (Extend) ÷ [999.0] ARABIC LETTER NOON (Other) ÷ [0.3]
+÷ 0646 × 200D ÷ 0020 ÷	#  ÷ [0.2] ARABIC LETTER NOON (Other) × [9.0] ZERO WIDTH JOINER (Extend) ÷ [999.0] SPACE (Other) ÷ [0.3]
+#
+# Lines: 402
+#
+# EOF


Property changes on: vendor/perl/dist/lib/unicore/auxiliary/GCBTest.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# GraphemeBreakProperty-6.0.0.txt
-# Date: 2010-09-01, 18:48:17 GMT [MD]
+# GraphemeBreakProperty-6.2.0.txt
+# Date: 2012-08-13, 19:12:02 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -34,10 +34,9 @@
 000E..001F    ; Control # Cc  [18] <control-000E>..<control-001F>
 007F..009F    ; Control # Cc  [33] <control-007F>..<control-009F>
 00AD          ; Control # Cf       SOFT HYPHEN
-0600..0603    ; Control # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; Control # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 06DD          ; Control # Cf       ARABIC END OF AYAH
 070F          ; Control # Cf       SYRIAC ABBREVIATION MARK
-17B4..17B5    ; Control # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 200B          ; Control # Cf       ZERO WIDTH SPACE
 200E..200F    ; Control # Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
 2028          ; Control # Zl       LINE SEPARATOR
@@ -44,15 +43,22 @@
 2029          ; Control # Zp       PARAGRAPH SEPARATOR
 202A..202E    ; Control # Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
 2060..2064    ; Control # Cf   [5] WORD JOINER..INVISIBLE PLUS
+2065..2069    ; Control # Cn   [5] <reserved-2065>..<reserved-2069>
 206A..206F    ; Control # Cf   [6] INHIBIT SYMMETRIC SWAPPING..NOMINAL DIGIT SHAPES
+D800..DFFF    ; Control # Cs [2048] <surrogate-D800>..<surrogate-DFFF>
 FEFF          ; Control # Cf       ZERO WIDTH NO-BREAK SPACE
+FFF0..FFF8    ; Control # Cn   [9] <reserved-FFF0>..<reserved-FFF8>
 FFF9..FFFB    ; Control # Cf   [3] INTERLINEAR ANNOTATION ANCHOR..INTERLINEAR ANNOTATION TERMINATOR
 110BD         ; Control # Cf       KAITHI NUMBER SIGN
 1D173..1D17A  ; Control # Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
+E0000         ; Control # Cn       <reserved-E0000>
 E0001         ; Control # Cf       LANGUAGE TAG
+E0002..E001F  ; Control # Cn  [30] <reserved-E0002>..<reserved-E001F>
 E0020..E007F  ; Control # Cf  [96] TAG SPACE..CANCEL TAG
+E0080..E00FF  ; Control # Cn [128] <reserved-E0080>..<reserved-E00FF>
+E01F0..E0FFF  ; Control # Cn [3600] <reserved-E01F0>..<reserved-E0FFF>
 
-# Total code points: 203
+# Total code points: 6023
 
 # ================================================
 
@@ -80,6 +86,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..08FE    ; Extend # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; Extend # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 093A          ; Extend # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; Extend # Mn       DEVANAGARI SIGN NUKTA
@@ -177,6 +184,7 @@
 1732..1734    ; Extend # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
 1752..1753    ; Extend # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
 1772..1773    ; Extend # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+17B4..17B5    ; Extend # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B7..17BD    ; Extend # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17C6          ; Extend # Mn       KHMER SIGN NIKAHIT
 17C9..17D3    ; Extend # Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
@@ -204,6 +212,7 @@
 1B80..1B81    ; Extend # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
 1BA2..1BA5    ; Extend # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA8..1BA9    ; Extend # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAB          ; Extend # Mn       SUNDANESE SIGN VIRAMA
 1BE6          ; Extend # Mn       BATAK SIGN TOMPI
 1BE8..1BE9    ; Extend # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BED          ; Extend # Mn       BATAK VOWEL SIGN KARO O
@@ -214,6 +223,7 @@
 1CD4..1CE0    ; Extend # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
 1CE2..1CE8    ; Extend # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Extend # Mn       VEDIC SIGN TIRYAK
+1CF4          ; Extend # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; Extend # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; Extend # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C..200D    ; Extend # Cf   [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
@@ -225,11 +235,13 @@
 2CEF..2CF1    ; Extend # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D7F          ; Extend # Mn       TIFINAGH CONSONANT JOINER
 2DE0..2DFF    ; Extend # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F    ; Extend # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; Extend # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; Extend # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3099..309A    ; Extend # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; Extend # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Extend # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D    ; Extend # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; Extend # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; Extend # Mn       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
@@ -253,6 +265,8 @@
 AAB7..AAB8    ; Extend # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; Extend # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; Extend # Mn       TAI VIET TONE MAI THO
+AAEC..AAED    ; Extend # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAF6          ; Extend # Mn       MEETEI MAYEK VIRAMA
 ABE5          ; Extend # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE8          ; Extend # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; Extend # Mn       MEETEI MAYEK APUN IYEK
@@ -271,6 +285,16 @@
 11080..11081  ; Extend # Mn   [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
 110B3..110B6  ; Extend # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B9..110BA  ; Extend # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+11100..11102  ; Extend # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; Extend # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112D..11134  ; Extend # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; Extend # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+111B6..111BE  ; Extend # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+116AB         ; Extend # Mn       TAKRI SIGN ANUSVARA
+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
+16F8F..16F92  ; Extend # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 1D165         ; Extend # Mc       MUSICAL SYMBOL COMBINING STEM
 1D167..1D169  ; Extend # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D16E..1D172  ; Extend # Mc   [5] MUSICAL SYMBOL COMBINING FLAG-1..MUSICAL SYMBOL COMBINING FLAG-5
@@ -280,17 +304,13 @@
 1D242..1D244  ; Extend # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1234
+# Total code points: 1317
 
 # ================================================
 
-0E40..0E44    ; Prepend # Lo   [5] THAI CHARACTER SARA E..THAI CHARACTER SARA AI MAIMALAI
-0EC0..0EC4    ; Prepend # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-AAB5..AAB6    ; Prepend # Lo   [2] TAI VIET VOWEL E..TAI VIET VOWEL O
-AAB9          ; Prepend # Lo       TAI VIET VOWEL UEA
-AABB..AABC    ; Prepend # Lo   [2] TAI VIET VOWEL AUE..TAI VIET VOWEL AY
+1F1E6..1F1FF  ; Regional_Indicator # So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
 
-# Total code points: 15
+# Total code points: 26
 
 # ================================================
 
@@ -333,24 +353,14 @@
 0DD0..0DD1    ; SpacingMark # Mc   [2] SINHALA VOWEL SIGN KETTI AEDA-PILLA..SINHALA VOWEL SIGN DIGA AEDA-PILLA
 0DD8..0DDE    ; SpacingMark # Mc   [7] SINHALA VOWEL SIGN GAETTA-PILLA..SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA
 0DF2..0DF3    ; SpacingMark # Mc   [2] SINHALA VOWEL SIGN DIGA GAETTA-PILLA..SINHALA VOWEL SIGN DIGA GAYANUKITTA
-0E30          ; SpacingMark # Lo       THAI CHARACTER SARA A
-0E32..0E33    ; SpacingMark # Lo   [2] THAI CHARACTER SARA AA..THAI CHARACTER SARA AM
-0E45          ; SpacingMark # Lo       THAI CHARACTER LAKKHANGYAO
-0EB0          ; SpacingMark # Lo       LAO VOWEL SIGN A
-0EB2..0EB3    ; SpacingMark # Lo   [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
+0E33          ; SpacingMark # Lo       THAI CHARACTER SARA AM
+0EB3          ; SpacingMark # Lo       LAO VOWEL SIGN AM
 0F3E..0F3F    ; SpacingMark # Mc   [2] TIBETAN SIGN YAR TSHES..TIBETAN SIGN MAR TSHES
 0F7F          ; SpacingMark # Mc       TIBETAN SIGN RNAM BCAD
-102B..102C    ; SpacingMark # Mc   [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
 1031          ; SpacingMark # Mc       MYANMAR VOWEL SIGN E
-1038          ; SpacingMark # Mc       MYANMAR SIGN VISARGA
 103B..103C    ; SpacingMark # Mc   [2] MYANMAR CONSONANT SIGN MEDIAL YA..MYANMAR CONSONANT SIGN MEDIAL RA
 1056..1057    ; SpacingMark # Mc   [2] MYANMAR VOWEL SIGN VOCALIC R..MYANMAR VOWEL SIGN VOCALIC RR
-1062..1064    ; SpacingMark # Mc   [3] MYANMAR VOWEL SIGN SGAW KAREN EU..MYANMAR TONE MARK SGAW KAREN KE PHO
-1067..106D    ; SpacingMark # Mc   [7] MYANMAR VOWEL SIGN WESTERN PWO KAREN EU..MYANMAR SIGN WESTERN PWO KAREN TONE-5
-1083..1084    ; SpacingMark # Mc   [2] MYANMAR VOWEL SIGN SHAN AA..MYANMAR VOWEL SIGN SHAN E
-1087..108C    ; SpacingMark # Mc   [6] MYANMAR SIGN SHAN TONE-2..MYANMAR SIGN SHAN COUNCIL TONE-3
-108F          ; SpacingMark # Mc       MYANMAR SIGN RUMAI PALAUNG TONE-5
-109A..109C    ; SpacingMark # Mc   [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
+1084          ; SpacingMark # Mc       MYANMAR VOWEL SIGN SHAN E
 17B6          ; SpacingMark # Mc       KHMER VOWEL SIGN AA
 17BE..17C5    ; SpacingMark # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
 17C7..17C8    ; SpacingMark # Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
@@ -358,13 +368,11 @@
 1929..192B    ; SpacingMark # Mc   [3] LIMBU SUBJOINED LETTER YA..LIMBU SUBJOINED LETTER WA
 1930..1931    ; SpacingMark # Mc   [2] LIMBU SMALL LETTER KA..LIMBU SMALL LETTER NGA
 1933..1938    ; SpacingMark # Mc   [6] LIMBU SMALL LETTER TA..LIMBU SMALL LETTER LA
-19B0..19C0    ; SpacingMark # Mc  [17] NEW TAI LUE VOWEL SIGN VOWEL SHORTENER..NEW TAI LUE VOWEL SIGN IY
-19C8..19C9    ; SpacingMark # Mc   [2] NEW TAI LUE TONE MARK-1..NEW TAI LUE TONE MARK-2
+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..1A1B    ; SpacingMark # Mc   [3] BUGINESE VOWEL SIGN E..BUGINESE VOWEL SIGN AE
 1A55          ; SpacingMark # Mc       TAI THAM CONSONANT SIGN MEDIAL RA
 1A57          ; SpacingMark # Mc       TAI THAM CONSONANT SIGN LA TANG LAI
-1A61          ; SpacingMark # Mc       TAI THAM VOWEL SIGN A
-1A63..1A64    ; SpacingMark # Mc   [2] TAI THAM VOWEL SIGN AA..TAI THAM VOWEL SIGN TALL AA
 1A6D..1A72    ; SpacingMark # Mc   [6] TAI THAM VOWEL SIGN OY..TAI THAM VOWEL SIGN THAM AI
 1B04          ; SpacingMark # Mc       BALINESE SIGN BISAH
 1B35          ; SpacingMark # Mc       BALINESE VOWEL SIGN TEDUNG
@@ -375,6 +383,7 @@
 1BA1          ; SpacingMark # Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
 1BA6..1BA7    ; SpacingMark # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BAA          ; SpacingMark # Mc       SUNDANESE SIGN PAMAAEH
+1BAC..1BAD    ; SpacingMark # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BE7          ; SpacingMark # Mc       BATAK VOWEL SIGN E
 1BEA..1BEC    ; SpacingMark # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
 1BEE          ; SpacingMark # Mc       BATAK VOWEL SIGN U
@@ -382,7 +391,7 @@
 1C24..1C2B    ; SpacingMark # Mc   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
 1C34..1C35    ; SpacingMark # Mc   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
 1CE1          ; SpacingMark # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CF2          ; SpacingMark # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; SpacingMark # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
 A823..A824    ; SpacingMark # Mc   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
 A827          ; SpacingMark # Mc       SYLOTI NAGRI VOWEL SIGN OO
 A880..A881    ; SpacingMark # Mc   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
@@ -395,7 +404,9 @@
 AA2F..AA30    ; SpacingMark # Mc   [2] CHAM VOWEL SIGN O..CHAM VOWEL SIGN AI
 AA33..AA34    ; SpacingMark # Mc   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
 AA4D          ; SpacingMark # Mc       CHAM CONSONANT SIGN FINAL H
-AA7B          ; SpacingMark # Mc       MYANMAR SIGN PAO KAREN TONE
+AAEB          ; SpacingMark # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEE..AAEF    ; SpacingMark # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF5          ; SpacingMark # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 ABE3..ABE4    ; SpacingMark # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE6..ABE7    ; SpacingMark # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
 ABE9..ABEA    ; SpacingMark # Mc   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
@@ -405,10 +416,18 @@
 11082         ; SpacingMark # Mc       KAITHI SIGN VISARGA
 110B0..110B2  ; SpacingMark # Mc   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
 110B7..110B8  ; SpacingMark # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
+1112C         ; SpacingMark # Mc       CHAKMA VOWEL SIGN E
+11182         ; SpacingMark # Mc       SHARADA SIGN VISARGA
+111B3..111B5  ; SpacingMark # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+111BF..111C0  ; SpacingMark # Mc   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
+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
+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: 275
+# Total code points: 291
 
 # ================================================
 


Property changes on: vendor/perl/dist/lib/unicore/auxiliary/GraphemeBreakProperty.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# SentenceBreakProperty-6.0.0.txt
-# Date: 2010-08-19, 00:48:47 GMT [MD]
+# SentenceBreakProperty-6.2.0.txt
+# Date: 2012-05-23, 20:35:14 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 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,6 +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..08FE    ; Extend # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; Extend # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903          ; Extend # Mc       DEVANAGARI SIGN VISARGA
 093A          ; Extend # Mn       DEVANAGARI VOWEL SIGN OE
@@ -195,6 +196,7 @@
 1732..1734    ; Extend # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
 1752..1753    ; Extend # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
 1772..1773    ; Extend # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+17B4..17B5    ; Extend # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; Extend # Mc       KHMER VOWEL SIGN AA
 17B7..17BD    ; Extend # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17BE..17C5    ; Extend # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
@@ -246,6 +248,8 @@
 1BA6..1BA7    ; Extend # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; Extend # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA          ; Extend # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; Extend # Mn       SUNDANESE SIGN VIRAMA
+1BAC..1BAD    ; Extend # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BE6          ; Extend # Mn       BATAK SIGN TOMPI
 1BE7          ; Extend # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; Extend # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
@@ -263,7 +267,8 @@
 1CE1          ; Extend # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE2..1CE8    ; Extend # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Extend # Mn       VEDIC SIGN TIRYAK
-1CF2          ; Extend # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; Extend # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4          ; Extend # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; Extend # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; Extend # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C..200D    ; Extend # Cf   [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
@@ -275,11 +280,13 @@
 2CEF..2CF1    ; Extend # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D7F          ; Extend # Mn       TIFINAGH CONSONANT JOINER
 2DE0..2DFF    ; Extend # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F    ; Extend # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; Extend # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; Extend # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3099..309A    ; Extend # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; Extend # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Extend # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D    ; Extend # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; Extend # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; Extend # Mn       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
@@ -316,6 +323,11 @@
 AAB7..AAB8    ; Extend # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; Extend # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; Extend # Mn       TAI VIET TONE MAI THO
+AAEB          ; Extend # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; Extend # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; Extend # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF5          ; Extend # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6          ; Extend # Mn       MEETEI MAYEK VIRAMA
 ABE3..ABE4    ; Extend # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; Extend # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE6..ABE7    ; Extend # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
@@ -343,6 +355,24 @@
 110B3..110B6  ; Extend # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B7..110B8  ; Extend # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
 110B9..110BA  ; Extend # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+11100..11102  ; Extend # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; Extend # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; Extend # Mc       CHAKMA VOWEL SIGN E
+1112D..11134  ; Extend # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; Extend # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; Extend # Mc       SHARADA SIGN VISARGA
+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
+116AB         ; Extend # Mn       TAKRI SIGN ANUSVARA
+116AC         ; Extend # Mc       TAKRI SIGN VISARGA
+116AD         ; Extend # Mn       TAKRI VOWEL SIGN AA
+116AE..116AF  ; Extend # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+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
+16F51..16F7E  ; Extend # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92  ; Extend # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 1D165..1D166  ; Extend # Mc   [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D167..1D169  ; Extend # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D16D..1D172  ; Extend # Mc   [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
@@ -352,7 +382,7 @@
 1D242..1D244  ; Extend # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1502
+# Total code points: 1649
 
 # ================================================
 
@@ -365,10 +395,9 @@
 # ================================================
 
 00AD          ; Format # Cf       SOFT HYPHEN
-0600..0603    ; Format # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; Format # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 06DD          ; Format # Cf       ARABIC END OF AYAH
 070F          ; Format # Cf       SYRIAC ABBREVIATION MARK
-17B4..17B5    ; Format # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 200B          ; Format # Cf       ZERO WIDTH SPACE
 200E..200F    ; Format # Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
 202A..202E    ; Format # Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
@@ -381,7 +410,7 @@
 E0001         ; Format # Cf       LANGUAGE TAG
 E0020..E007F  ; Format # Cf  [96] TAG SPACE..CANCEL TAG
 
-# Total code points: 138
+# Total code points: 137
 
 # ================================================
 
@@ -401,9 +430,9 @@
 # ================================================
 
 0061..007A    ; Lower # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; Lower # L&       FEMININE ORDINAL INDICATOR
+00AA          ; Lower # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; Lower # L&       MICRO SIGN
-00BA          ; Lower # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; Lower # Lo       MASCULINE ORDINAL INDICATOR
 00DF..00F6    ; Lower # L&  [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..00FF    ; Lower # L&   [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
 0101          ; Lower # L&       LATIN SMALL LETTER A WITH MACRON
@@ -673,8 +702,8 @@
 0527          ; Lower # L&       CYRILLIC SMALL LETTER SHHA WITH DESCENDER
 0561..0587    ; Lower # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 1D00..1D2B    ; Lower # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; Lower # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; Lower # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+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
 1D78          ; Lower # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; Lower # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; Lower # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -822,7 +851,9 @@
 1FE0..1FE7    ; Lower # L&   [8] GREEK SMALL LETTER UPSILON WITH VRACHY..GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI
 1FF2..1FF4    ; Lower # L&   [3] GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI..GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI
 1FF6..1FF7    ; Lower # L&   [2] GREEK SMALL LETTER OMEGA WITH PERISPOMENI..GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI
-2090..2094    ; Lower # Lm   [5] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER SCHWA
+2071          ; Lower # Lm       SUPERSCRIPT LATIN SMALL LETTER I
+207F          ; Lower # Lm       SUPERSCRIPT LATIN SMALL LETTER N
+2090..209C    ; Lower # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
 210A          ; Lower # L&       SCRIPT SMALL G
 210E..210F    ; Lower # L&   [2] PLANCK CONSTANT..PLANCK CONSTANT OVER TWO PI
 2113          ; Lower # L&       SCRIPT SMALL L
@@ -843,8 +874,8 @@
 2C6C          ; Lower # L&       LATIN SMALL LETTER Z WITH DESCENDER
 2C71          ; Lower # L&       LATIN SMALL LETTER V WITH RIGHT HOOK
 2C73..2C74    ; Lower # L&   [2] LATIN SMALL LETTER W WITH HOOK..LATIN SMALL LETTER V WITH CURL
-2C76..2C7C    ; Lower # L&   [7] LATIN SMALL LETTER HALF H..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; Lower # Lm       MODIFIER LETTER CAPITAL V
+2C76..2C7B    ; Lower # L&   [6] LATIN SMALL LETTER HALF H..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; Lower # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C81          ; Lower # L&       COPTIC SMALL LETTER ALFA
 2C83          ; Lower # L&       COPTIC SMALL LETTER VIDA
 2C85          ; Lower # L&       COPTIC SMALL LETTER GAMMA
@@ -897,7 +928,10 @@
 2CE3..2CE4    ; Lower # L&   [2] COPTIC SMALL LETTER OLD NUBIAN WAU..COPTIC SYMBOL KAI
 2CEC          ; Lower # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
 2CEE          ; Lower # L&       COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF3          ; Lower # L&       COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; Lower # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Lower # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; Lower # L&       GEORGIAN SMALL LETTER AEN
 A641          ; Lower # L&       CYRILLIC SMALL LETTER ZEMLYA
 A643          ; Lower # L&       CYRILLIC SMALL LETTER DZELO
 A645          ; Lower # L&       CYRILLIC SMALL LETTER REVERSED DZE
@@ -983,11 +1017,13 @@
 A78C          ; Lower # L&       LATIN SMALL LETTER SALTILLO
 A78E          ; Lower # L&       LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A791          ; Lower # L&       LATIN SMALL LETTER N WITH DESCENDER
+A793          ; Lower # L&       LATIN SMALL LETTER C WITH BAR
 A7A1          ; Lower # L&       LATIN SMALL LETTER G WITH OBLIQUE STROKE
 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
+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
 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
@@ -1022,7 +1058,7 @@
 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: 1917
+# Total code points: 1933
 
 # ================================================
 
@@ -1294,6 +1330,8 @@
 0526          ; Upper # L&       CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
 0531..0556    ; Upper # L&  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
 10A0..10C5    ; Upper # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Upper # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; Upper # L&       GEORGIAN CAPITAL LETTER AEN
 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
@@ -1513,6 +1551,7 @@
 2CE2          ; Upper # L&       COPTIC CAPITAL LETTER OLD NUBIAN WAU
 2CEB          ; Upper # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
 2CED          ; Upper # L&       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; Upper # L&       COPTIC CAPITAL LETTER BOHAIRIC KHEI
 A640          ; Upper # L&       CYRILLIC CAPITAL LETTER ZEMLYA
 A642          ; Upper # L&       CYRILLIC CAPITAL LETTER DZELO
 A644          ; Upper # L&       CYRILLIC CAPITAL LETTER REVERSED DZE
@@ -1596,11 +1635,13 @@
 A78B          ; Upper # L&       LATIN CAPITAL LETTER SALTILLO
 A78D          ; Upper # L&       LATIN CAPITAL LETTER TURNED H
 A790          ; Upper # L&       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; Upper # L&       LATIN CAPITAL LETTER C WITH BAR
 A7A0          ; Upper # L&       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A2          ; Upper # L&       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 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          ; Upper # L&       LATIN CAPITAL LETTER H WITH HOOK
 FF21..FF3A    ; Upper # L&  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Upper # L&  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
 1D400..1D419  ; Upper # L&  [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
@@ -1635,7 +1676,7 @@
 1D790..1D7A8  ; Upper # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
 1D7CA         ; Upper # L&       MATHEMATICAL BOLD CAPITAL DIGAMMA
 
-# Total code points: 1509
+# Total code points: 1514
 
 # ================================================
 
@@ -1673,6 +1714,8 @@
 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          ; OLetter # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; OLetter # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
 0904..0939    ; OLetter # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; OLetter # Lo       DEVANAGARI SIGN AVAGRAHA
 0950          ; OLetter # Lo       DEVANAGARI OM
@@ -1780,7 +1823,7 @@
 0EBD          ; OLetter # Lo       LAO SEMIVOWEL SIGN NYO
 0EC0..0EC4    ; OLetter # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
 0EC6          ; OLetter # Lm       LAO KO LA
-0EDC..0EDD    ; OLetter # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; OLetter # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; OLetter # Lo       TIBETAN SYLLABLE OM
 0F40..0F47    ; OLetter # Lo   [8] TIBETAN LETTER KA..TIBETAN LETTER JA
 0F49..0F6C    ; OLetter # Lo  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
@@ -1796,7 +1839,7 @@
 108E          ; OLetter # Lo       MYANMAR LETTER RUMAI PALAUNG FA
 10D0..10FA    ; OLetter # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FC          ; OLetter # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; OLetter # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; OLetter # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; OLetter # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; OLetter # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; OLetter # Lo       ETHIOPIC SYLLABLE QHWA
@@ -1846,7 +1889,7 @@
 1B45..1B4B    ; OLetter # Lo   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
 1B83..1BA0    ; OLetter # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
 1BAE..1BAF    ; OLetter # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BC0..1BE5    ; OLetter # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; OLetter # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1C00..1C23    ; OLetter # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
 1C4D..1C4F    ; OLetter # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
 1C5A..1C77    ; OLetter # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
@@ -1853,13 +1896,11 @@
 1C78..1C7D    ; OLetter # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1CE9..1CEC    ; OLetter # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; OLetter # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-2071          ; OLetter # Lm       SUPERSCRIPT LATIN SMALL LETTER I
-207F          ; OLetter # Lm       SUPERSCRIPT LATIN SMALL LETTER N
-2095..209C    ; OLetter # Lm   [8] LATIN SUBSCRIPT SMALL LETTER H..LATIN SUBSCRIPT SMALL LETTER T
+1CF5..1CF6    ; OLetter # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 2135..2138    ; OLetter # Lo   [4] ALEF SYMBOL..DALET SYMBOL
 2180..2182    ; OLetter # Nl   [3] ROMAN NUMERAL ONE THOUSAND C D..ROMAN NUMERAL TEN THOUSAND
 2185..2188    ; OLetter # Nl   [4] ROMAN NUMERAL SIX LATE FORM..ROMAN NUMERAL ONE HUNDRED THOUSAND
-2D30..2D65    ; OLetter # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D30..2D67    ; OLetter # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; OLetter # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D80..2D96    ; OLetter # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
 2DA0..2DA6    ; OLetter # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
@@ -1890,7 +1931,7 @@
 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..9FCB    ; OLetter # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; OLetter # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -1934,6 +1975,9 @@
 AAC2          ; OLetter # Lo       TAI VIET TONE MAI SONG
 AADB..AADC    ; OLetter # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; OLetter # Lm       TAI VIET SYMBOL SAM
+AAE0..AAEA    ; OLetter # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAF2          ; OLetter # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; OLetter # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
 AB01..AB06    ; OLetter # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; OLetter # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; OLetter # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -1943,8 +1987,7 @@
 AC00..D7A3    ; OLetter # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; OLetter # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; OLetter # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; OLetter # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; OLetter # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; OLetter # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; OLetter # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB1D          ; OLetter # Lo       HEBREW LETTER YOD WITH HIRIQ
 FB1F..FB28    ; OLetter # Lo  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
@@ -1996,6 +2039,8 @@
 1083F..10855  ; OLetter # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10900..10915  ; OLetter # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; OLetter # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; OLetter # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; OLetter # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; OLetter # Lo       KHAROSHTHI LETTER A
 10A10..10A13  ; OLetter # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; OLetter # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -2007,17 +2052,58 @@
 10C00..10C48  ; OLetter # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
 11003..11037  ; OLetter # Lo  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
 11083..110AF  ; OLetter # Lo  [45] KAITHI LETTER A..KAITHI LETTER HA
+110D0..110E8  ; OLetter # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+11103..11126  ; OLetter # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11183..111B2  ; OLetter # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111C1..111C4  ; OLetter # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+11680..116AA  ; OLetter # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
 12000..1236E  ; OLetter # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; OLetter # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 13000..1342E  ; OLetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; OLetter # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; OLetter # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; OLetter # Lo       MIAO LETTER NASALIZATION
+16F93..16F9F  ; OLetter # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; OLetter # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1EE00..1EE03  ; OLetter # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; OLetter # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; OLetter # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; OLetter # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; OLetter # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; OLetter # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; OLetter # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; OLetter # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; OLetter # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; OLetter # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; OLetter # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; OLetter # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; OLetter # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; OLetter # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; OLetter # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; OLetter # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; OLetter # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; OLetter # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; OLetter # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; OLetter # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; OLetter # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; OLetter # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; OLetter # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; OLetter # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 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
 2F800..2FA1D  ; OLetter # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 97369
+# Total code points: 97841
 
 # ================================================
 
@@ -2058,9 +2144,13 @@
 ABF0..ABF9    ; Numeric # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 104A0..104A9  ; Numeric # Nd  [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
 11066..1106F  ; Numeric # Nd  [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE
+110F0..110F9  ; Numeric # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11136..1113F  ; Numeric # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+111D0..111D9  ; Numeric # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+116C0..116C9  ; Numeric # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
 1D7CE..1D7FF  ; Numeric # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 
-# Total code points: 412
+# Total code points: 452
 
 # ================================================
 
@@ -2109,6 +2199,7 @@
 A92F          ; STerm # Po       KAYAH LI SIGN SHYA
 A9C8..A9C9    ; STerm # Po   [2] JAVANESE PADA LINGSA..JAVANESE PADA LUNGSI
 AA5D..AA5F    ; STerm # Po   [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA
+AAF0..AAF1    ; STerm # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
 ABEB          ; STerm # Po       MEETEI MAYEK CHEIKHEI
 FE56..FE57    ; STerm # Po   [2] SMALL QUESTION MARK..SMALL EXCLAMATION MARK
 FF01          ; STerm # Po       FULLWIDTH EXCLAMATION MARK
@@ -2117,8 +2208,10 @@
 10A56..10A57  ; STerm # Po   [2] KHAROSHTHI PUNCTUATION DANDA..KHAROSHTHI PUNCTUATION DOUBLE DANDA
 11047..11048  ; STerm # Po   [2] BRAHMI DANDA..BRAHMI DOUBLE DANDA
 110BE..110C1  ; STerm # Po   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+11141..11143  ; STerm # Po   [3] CHAKMA DANDA..CHAKMA QUESTION MARK
+111C5..111C6  ; STerm # Po   [2] SHARADA DANDA..SHARADA DOUBLE DANDA
 
-# Total code points: 73
+# Total code points: 80
 
 # ================================================
 


Property changes on: vendor/perl/dist/lib/unicore/auxiliary/SentenceBreakProperty.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt
===================================================================
--- vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# WordBreakProperty-6.0.0.txt
-# Date: 2010-08-19, 00:48:48 GMT [MD]
+# WordBreakProperty-6.2.0.txt
+# Date: 2012-08-13, 19:12:09 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -62,6 +62,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..08FE    ; Extend # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; Extend # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903          ; Extend # Mc       DEVANAGARI SIGN VISARGA
 093A          ; Extend # Mn       DEVANAGARI VOWEL SIGN OE
@@ -204,6 +205,7 @@
 1732..1734    ; Extend # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
 1752..1753    ; Extend # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
 1772..1773    ; Extend # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+17B4..17B5    ; Extend # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; Extend # Mc       KHMER VOWEL SIGN AA
 17B7..17BD    ; Extend # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17BE..17C5    ; Extend # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
@@ -255,6 +257,8 @@
 1BA6..1BA7    ; Extend # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; Extend # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA          ; Extend # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; Extend # Mn       SUNDANESE SIGN VIRAMA
+1BAC..1BAD    ; Extend # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BE6          ; Extend # Mn       BATAK SIGN TOMPI
 1BE7          ; Extend # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; Extend # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
@@ -272,7 +276,8 @@
 1CE1          ; Extend # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE2..1CE8    ; Extend # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Extend # Mn       VEDIC SIGN TIRYAK
-1CF2          ; Extend # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; Extend # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4          ; Extend # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; Extend # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; Extend # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C..200D    ; Extend # Cf   [2] ZERO WIDTH NON-JOINER..ZERO WIDTH JOINER
@@ -284,11 +289,13 @@
 2CEF..2CF1    ; Extend # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D7F          ; Extend # Mn       TIFINAGH CONSONANT JOINER
 2DE0..2DFF    ; Extend # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F    ; Extend # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; Extend # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; Extend # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3099..309A    ; Extend # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; Extend # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; Extend # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D    ; Extend # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; Extend # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; Extend # Mn       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
@@ -325,6 +332,11 @@
 AAB7..AAB8    ; Extend # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; Extend # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; Extend # Mn       TAI VIET TONE MAI THO
+AAEB          ; Extend # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; Extend # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; Extend # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF5          ; Extend # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6          ; Extend # Mn       MEETEI MAYEK VIRAMA
 ABE3..ABE4    ; Extend # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; Extend # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE6..ABE7    ; Extend # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
@@ -352,6 +364,24 @@
 110B3..110B6  ; Extend # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B7..110B8  ; Extend # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
 110B9..110BA  ; Extend # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+11100..11102  ; Extend # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; Extend # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; Extend # Mc       CHAKMA VOWEL SIGN E
+1112D..11134  ; Extend # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; Extend # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; Extend # Mc       SHARADA SIGN VISARGA
+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
+116AB         ; Extend # Mn       TAKRI SIGN ANUSVARA
+116AC         ; Extend # Mc       TAKRI SIGN VISARGA
+116AD         ; Extend # Mn       TAKRI VOWEL SIGN AA
+116AE..116AF  ; Extend # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+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
+16F51..16F7E  ; Extend # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92  ; Extend # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 1D165..1D166  ; Extend # Mc   [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D167..1D169  ; Extend # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D16D..1D172  ; Extend # Mc   [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
@@ -361,15 +391,20 @@
 1D242..1D244  ; Extend # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 E0100..E01EF  ; Extend # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1502
+# Total code points: 1649
 
 # ================================================
 
+1F1E6..1F1FF  ; Regional_Indicator # So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
+
+# Total code points: 26
+
+# ================================================
+
 00AD          ; Format # Cf       SOFT HYPHEN
-0600..0603    ; Format # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; Format # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 06DD          ; Format # Cf       ARABIC END OF AYAH
 070F          ; Format # Cf       SYRIAC ABBREVIATION MARK
-17B4..17B5    ; Format # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 200E..200F    ; Format # Cf   [2] LEFT-TO-RIGHT MARK..RIGHT-TO-LEFT MARK
 202A..202E    ; Format # Cf   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
 2060..2064    ; Format # Cf   [5] WORD JOINER..INVISIBLE PLUS
@@ -381,7 +416,7 @@
 E0001         ; Format # Cf       LANGUAGE TAG
 E0020..E007F  ; Format # Cf  [96] TAG SPACE..CANCEL TAG
 
-# Total code points: 137
+# Total code points: 136
 
 # ================================================
 
@@ -405,9 +440,9 @@
 
 0041..005A    ; ALetter # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 0061..007A    ; ALetter # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; ALetter # L&       FEMININE ORDINAL INDICATOR
+00AA          ; ALetter # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; ALetter # L&       MICRO SIGN
-00BA          ; ALetter # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; ALetter # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; ALetter # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; ALetter # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; ALetter # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -462,6 +497,8 @@
 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          ; ALetter # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; ALetter # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
 0904..0939    ; ALetter # Lo  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; ALetter # Lo       DEVANAGARI SIGN AVAGRAHA
 0950          ; ALetter # Lo       DEVANAGARI OM
@@ -554,9 +591,11 @@
 0F49..0F6C    ; ALetter # Lo  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
 0F88..0F8C    ; ALetter # Lo   [5] TIBETAN SIGN LCE TSA CAN..TIBETAN SIGN INVERTED MCHU CAN
 10A0..10C5    ; ALetter # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; ALetter # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; ALetter # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; ALetter # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FC          ; ALetter # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; ALetter # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; ALetter # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; ALetter # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; ALetter # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; ALetter # Lo       ETHIOPIC SYLLABLE QHWA
@@ -597,7 +636,7 @@
 1B45..1B4B    ; ALetter # Lo   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
 1B83..1BA0    ; ALetter # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
 1BAE..1BAF    ; ALetter # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BC0..1BE5    ; ALetter # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; ALetter # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1C00..1C23    ; ALetter # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
 1C4D..1C4F    ; ALetter # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
 1C5A..1C77    ; ALetter # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
@@ -604,9 +643,10 @@
 1C78..1C7D    ; ALetter # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1CE9..1CEC    ; ALetter # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; ALetter # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5..1CF6    ; ALetter # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; ALetter # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; ALetter # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; ALetter # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; ALetter # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; ALetter # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; ALetter # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; ALetter # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; ALetter # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -653,12 +693,15 @@
 24B6..24E9    ; ALetter # So  [52] CIRCLED LATIN CAPITAL LETTER A..CIRCLED LATIN SMALL LETTER Z
 2C00..2C2E    ; ALetter # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; ALetter # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; ALetter # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; ALetter # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; ALetter # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; ALetter # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; ALetter # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CEB..2CEE    ; ALetter # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; ALetter # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; ALetter # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; ALetter # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; ALetter # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; ALetter # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; ALetter # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; ALetter # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D80..2D96    ; ALetter # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
 2DA0..2DA6    ; ALetter # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
@@ -697,8 +740,9 @@
 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
-A790..A791    ; ALetter # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; ALetter # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; ALetter # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; ALetter # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; ALetter # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; ALetter # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -716,6 +760,9 @@
 AA00..AA28    ; ALetter # Lo  [41] CHAM LETTER A..CHAM LETTER HA
 AA40..AA42    ; ALetter # Lo   [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
 AA44..AA4B    ; ALetter # Lo   [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
+AAE0..AAEA    ; ALetter # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAF2          ; ALetter # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; ALetter # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
 AB01..AB06    ; ALetter # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; ALetter # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; ALetter # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -777,6 +824,8 @@
 1083F..10855  ; ALetter # Lo  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10900..10915  ; ALetter # Lo  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; ALetter # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; ALetter # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; ALetter # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; ALetter # Lo       KHAROSHTHI LETTER A
 10A10..10A13  ; ALetter # Lo   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; ALetter # Lo   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -788,10 +837,18 @@
 10C00..10C48  ; ALetter # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
 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
+11103..11126  ; ALetter # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11183..111B2  ; ALetter # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111C1..111C4  ; ALetter # Lo   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+11680..116AA  ; ALetter # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
 12000..1236E  ; ALetter # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; ALetter # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 13000..1342E  ; ALetter # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; ALetter # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; ALetter # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; ALetter # Lo       MIAO LETTER NASALIZATION
+16F93..16F9F  ; ALetter # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1D400..1D454  ; ALetter # L&  [85] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL ITALIC SMALL G
 1D456..1D49C  ; ALetter # L&  [71] MATHEMATICAL ITALIC SMALL I..MATHEMATICAL SCRIPT CAPITAL A
 1D49E..1D49F  ; ALetter # L&   [2] MATHEMATICAL SCRIPT CAPITAL C..MATHEMATICAL SCRIPT CAPITAL D
@@ -822,8 +879,41 @@
 1D78A..1D7A8  ; ALetter # L&  [31] MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL..MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA
 1D7AA..1D7C2  ; ALetter # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C4..1D7CB  ; ALetter # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
+1EE00..1EE03  ; ALetter # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; ALetter # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; ALetter # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; ALetter # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; ALetter # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; ALetter # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; ALetter # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; ALetter # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; ALetter # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; ALetter # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; ALetter # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; ALetter # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; ALetter # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; ALetter # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; ALetter # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; ALetter # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; ALetter # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; ALetter # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; ALetter # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; ALetter # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; ALetter # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; ALetter # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; ALetter # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; ALetter # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 
-# Total code points: 24453
+# Total code points: 24941
 
 # ================================================
 
@@ -909,9 +999,13 @@
 ABF0..ABF9    ; Numeric # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 104A0..104A9  ; Numeric # Nd  [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
 11066..1106F  ; Numeric # Nd  [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE
+110F0..110F9  ; Numeric # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11136..1113F  ; Numeric # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+111D0..111D9  ; Numeric # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+116C0..116C9  ; Numeric # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
 1D7CE..1D7FF  ; Numeric # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 
-# Total code points: 411
+# Total code points: 451
 
 # ================================================
 


Property changes on: vendor/perl/dist/lib/unicore/auxiliary/WordBreakProperty.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedBidiClass-6.0.0.txt
-# Date: 2010-08-19, 00:48:03 GMT [MD]
+# DerivedBidiClass-6.2.0.txt
+# Date: 2012-05-20, 00:42:30 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -13,20 +13,23 @@
 # reserved for right-to-left scripts are given either types R or AL.
 #
 # The unassigned code points that default to AL are in the ranges:
-#     [\u0600-\u07BF \uFB50-\uFDFF \uFE70-\uFEFF]
+#     [\u0600-\u07BF \u08A0-\u08FF \uFB50-\uFDCF \uFDF0-\uFDFF \uFE70-\uFEFF \U0001EE00-\U0001EEFF]
 #
 #     Arabic:            U+0600  -  U+06FF
 #     Syriac:            U+0700  -  U+074F
 #     Arabic_Supplement: U+0750  -  U+077F
 #     Thaana:            U+0780  -  U+07BF
+#     Arabic Extended-A: U+08A0  -  U+08FF
 #     Arabic_Presentation_Forms_A:
-#                        U+FB50  -  U+FDFF
+#                        U+FB50  -  U+FDCF
+#                        U+FDF0  -  U+FDFF
 #     Arabic_Presentation_Forms_B:
 #                        U+FE70  -  U+FEFF
-#           minus noncharacter code points.
+#     Arabic Mathematical Alphabetic Symbols:
+#                       U+1EE00  - U+1EEFF
 #
 # The unassigned code points that default to R are in the ranges:
-#     [\u0590-\u05FF \u07C0-\u08FF \uFB1D-\uFB4F \U00010800-\U00010FFF \U0001E800-\U0001EFFF]
+#     [\u0590-\u05FF \u07C0-\u089F \uFB1D-\uFB4F \U00010800-\U00010FFF \U0001E800-\U0001EDFF \U0001EF00-\U0001EFFF]
 #
 #     Hebrew:            U+0590  -  U+05FF
 #     NKo:               U+07C0  -  U+07FF
@@ -33,12 +36,16 @@
 #     Cypriot_Syllabary: U+10800 - U+1083F
 #     Phoenician:        U+10900 - U+1091F
 #     Lydian:            U+10920 - U+1093F
+#     Meroitic Hieroglyphs:
+#                        U+10980 - U+1099F
+#     Meroitic Cursive:  U+109A0 - U+109FF
 #     Kharoshthi:        U+10A00 - U+10A5F
 #     and any others in the ranges:
-#                        U+0800  -  U+08FF,
+#                        U+0800  -  U+089F,
 #                        U+FB1D  -  U+FB4F,
 #                        U+10840 - U+10FFF,
-#                        U+1E800 - U+1EFFF
+#                        U+1E800 - U+1EDFF,
+#                        U+1EF00 - U+1EFFF
 #
 # For all other cases:
 
@@ -53,9 +60,9 @@
 
 0041..005A    ; L # L&  [26] LATIN CAPITAL LETTER A..LATIN CAPITAL LETTER Z
 0061..007A    ; L # L&  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; L # L&       FEMININE ORDINAL INDICATOR
+00AA          ; L # Lo       FEMININE ORDINAL INDICATOR
 00B5          ; L # L&       MICRO SIGN
-00BA          ; L # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; L # Lo       MASCULINE ORDINAL INDICATOR
 00C0..00D6    ; L # L&  [23] LATIN CAPITAL LETTER A WITH GRAVE..LATIN CAPITAL LETTER O WITH DIAERESIS
 00D8..00F6    ; L # L&  [31] LATIN CAPITAL LETTER O WITH STROKE..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..01BA    ; L # L& [195] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER EZH WITH TAIL
@@ -148,6 +155,7 @@
 0AD0          ; L # Lo       GUJARATI OM
 0AE0..0AE1    ; L # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 0AE6..0AEF    ; L # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
+0AF0          ; L # Po       GUJARATI ABBREVIATION SIGN
 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
@@ -264,11 +272,13 @@
 0EC0..0EC4    ; L # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
 0EC6          ; L # Lm       LAO KO LA
 0ED0..0ED9    ; L # Nd  [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD    ; L # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; L # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; L # Lo       TIBETAN SYLLABLE OM
 0F01..0F03    ; L # So   [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
 0F04..0F12    ; L # Po  [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17    ; L # So   [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0F13          ; L # So       TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14          ; L # Po       TIBETAN MARK GTER TSHEG
+0F15..0F17    ; L # So   [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
 0F1A..0F1F    ; L # So   [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
 0F20..0F29    ; L # Nd  [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
 0F2A..0F33    ; L # No  [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
@@ -312,10 +322,12 @@
 109A..109C    ; L # Mc   [3] MYANMAR SIGN KHAMTI TONE-1..MYANMAR VOWEL SIGN AITON A
 109E..109F    ; L # So   [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
 10A0..10C5    ; L # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; L # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; L # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; L # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FB          ; L # Po       GEORGIAN PARAGRAPH SEPARATOR
 10FC          ; L # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; L # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; L # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; L # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; L # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; L # Lo       ETHIOPIC SYLLABLE QHWA
@@ -331,8 +343,7 @@
 12D8..1310    ; L # Lo  [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
 1312..1315    ; L # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; L # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1360          ; L # So       ETHIOPIC SECTION MARK
-1361..1368    ; L # Po   [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
+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
@@ -351,7 +362,6 @@
 1760..176C    ; L # Lo  [13] TAGBANWA LETTER A..TAGBANWA LETTER YA
 176E..1770    ; L # Lo   [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
 1780..17B3    ; L # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5    ; L # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; L # Mc       KHMER VOWEL SIGN AA
 17BE..17C5    ; L # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
 17C7..17C8    ; L # Mc   [2] KHMER SIGN REAHMUK..KHMER SIGN YUUKALEAPINTU
@@ -411,9 +421,10 @@
 1BA1          ; L # Mc       SUNDANESE CONSONANT SIGN PAMINGKAL
 1BA6..1BA7    ; L # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BAA          ; L # Mc       SUNDANESE SIGN PAMAAEH
+1BAC..1BAD    ; L # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE..1BAF    ; L # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
 1BB0..1BB9    ; L # Nd  [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1BC0..1BE5    ; L # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; L # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1BE7          ; L # Mc       BATAK VOWEL SIGN E
 1BEA..1BEC    ; L # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
 1BEE          ; L # Mc       BATAK VOWEL SIGN U
@@ -429,14 +440,16 @@
 1C5A..1C77    ; L # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
 1C78..1C7D    ; L # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1C7E..1C7F    ; L # Po   [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0..1CC7    ; L # Po   [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD3          ; L # Po       VEDIC SIGN NIHSHVASA
 1CE1          ; L # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE9..1CEC    ; L # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; L # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2          ; L # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; L # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF5..1CF6    ; L # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; L # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; L # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; L # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; L # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; L # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; L # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; L # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; L # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -489,12 +502,15 @@
 2800..28FF    ; L # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
 2C00..2C2E    ; L # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; L # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; L # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; L # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; L # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; L # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; L # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CEB..2CEE    ; L # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; L # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; L # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; L # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; L # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; L # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; L # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; L # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D70          ; L # Po       TIFINAGH SEPARATOR MARK
 2D80..2D96    ; L # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
@@ -510,6 +526,7 @@
 3006          ; L # Lo       IDEOGRAPHIC CLOSING MARK
 3007          ; L # Nl       IDEOGRAPHIC NUMBER ZERO
 3021..3029    ; L # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
+302E..302F    ; L # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3031..3035    ; L # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
 3038..303A    ; L # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
 303B          ; L # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
@@ -529,7 +546,8 @@
 31F0..31FF    ; L # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3200..321C    ; L # So  [29] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED HANGUL CIEUC U
 3220..3229    ; L # No  [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..324F    ; L # So  [38] PARENTHESIZED IDEOGRAPH MOON..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+322A..3247    ; L # So  [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
+3248..324F    ; L # No   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
 3260..327B    ; L # So  [28] CIRCLED HANGUL KIYEOK..CIRCLED HANGUL HIEUH A
 327F          ; L # So       KOREAN STANDARD SYMBOL
 3280..3289    ; L # No  [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
@@ -540,7 +558,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..9FCB    ; L # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; L # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -563,8 +581,9 @@
 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
-A790..A791    ; L # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; L # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; L # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; L # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; L # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; L # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -622,6 +641,13 @@
 AADB..AADC    ; L # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; L # Lm       TAI VIET SYMBOL SAM
 AADE..AADF    ; L # Po   [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
+AAE0..AAEA    ; L # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; L # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEE..AAEF    ; L # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF0..AAF1    ; L # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
+AAF2          ; L # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; L # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; L # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 AB01..AB06    ; L # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; L # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; L # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -638,8 +664,7 @@
 D7B0..D7C6    ; L # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; L # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
 E000..F8FF    ; L # Co [6400] <private-use-E000>..<private-use-F8FF>
-F900..FA2D    ; L # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; L # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; L # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; L # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; L # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; L # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -662,7 +687,7 @@
 10050..1005D  ; L # Lo  [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
 10080..100FA  ; L # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
 10100         ; L # Po       AEGEAN WORD SEPARATOR LINE
-10102         ; L # So       AEGEAN CHECK MARK
+10102         ; L # Po       AEGEAN CHECK MARK
 10107..10133  ; L # No  [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
 10137..1013F  ; L # So   [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
 101D0..101FC  ; L # So  [45] PHAISTOS DISC SIGN PEDESTRIAN..PHAISTOS DISC SIGN WAVY BAND
@@ -695,11 +720,33 @@
 110BB..110BC  ; L # Po   [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
 110BD         ; L # Cf       KAITHI NUMBER SIGN
 110BE..110C1  ; L # Po   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+110D0..110E8  ; L # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9  ; L # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11103..11126  ; L # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+1112C         ; L # Mc       CHAKMA VOWEL SIGN E
+11136..1113F  ; L # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+11140..11143  ; L # Po   [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
+11182         ; L # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; L # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+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
+111D0..111D9  ; L # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+11680..116AA  ; L # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AC         ; L # Mc       TAKRI SIGN VISARGA
+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
 12000..1236E  ; L # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; L # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 12470..12473  ; L # Po   [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
 13000..1342E  ; L # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; L # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; L # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; L # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; L # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F93..16F9F  ; L # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; L # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
 1D000..1D0F5  ; L # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
 1D100..1D126  ; L # So  [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
@@ -753,8 +800,6 @@
 1F210..1F23A  ; L # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
 1F240..1F248  ; L # So   [9] TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-672C..TORTOISE SHELL BRACKETED CJK UNIFIED IDEOGRAPH-6557
 1F250..1F251  ; L # So   [2] CIRCLED IDEOGRAPH ADVANTAGE..CIRCLED IDEOGRAPH ACCEPT
-1F48C         ; L # So       LOVE LETTER
-1F524         ; L # So       INPUT SYMBOL FOR LATIN LETTERS
 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
@@ -762,8 +807,8 @@
 F0000..FFFFD  ; L # Co [65534] <private-use-F0000>..<private-use-FFFFD>
 100000..10FFFD; L # Co [65534] <private-use-100000>..<private-use-10FFFD>
 
-# The above property value applies to 859451 code points not listed here.
-# Total code points: 1098619
+# The above property value applies to 858959 code points not listed here.
+# Total code points: 1098530
 
 # ================================================
 
@@ -795,7 +840,7 @@
 0840..0858    ; R # Lo  [25] MANDAIC LETTER HALQA..MANDAIC LETTER AIN
 085C..085D    ; R # Cn   [2] <reserved-085C>..<reserved-085D>
 085E          ; R # Po       MANDAIC PUNCTUATION
-085F..08FF    ; R # Cn [161] <reserved-085F>..<reserved-08FF>
+085F..089F    ; R # Cn  [65] <reserved-085F>..<reserved-089F>
 200F          ; R # Cf       RIGHT-TO-LEFT MARK
 FB1D          ; R # Lo       HEBREW LETTER YOD WITH HIRIQ
 FB1F..FB28    ; R # Lo  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
@@ -831,7 +876,11 @@
 10920..10939  ; R # Lo  [26] LYDIAN LETTER A..LYDIAN LETTER C
 1093A..1093E  ; R # Cn   [5] <reserved-1093A>..<reserved-1093E>
 1093F         ; R # Po       LYDIAN TRIANGULAR MARK
-10940..109FF  ; R # Cn [192] <reserved-10940>..<reserved-109FF>
+10940..1097F  ; R # Cn  [64] <reserved-10940>..<reserved-1097F>
+10980..109B7  ; R # Lo  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109B8..109BD  ; R # Cn   [6] <reserved-109B8>..<reserved-109BD>
+109BE..109BF  ; R # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
+109C0..109FF  ; R # Cn  [64] <reserved-109C0>..<reserved-109FF>
 10A00         ; R # Lo       KHAROSHTHI LETTER A
 10A04         ; R # Cn       <reserved-10A04>
 10A07..10A0B  ; R # Cn   [5] <reserved-10A07>..<reserved-10A0B>
@@ -862,9 +911,10 @@
 10C00..10C48  ; R # Lo  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
 10C49..10E5F  ; R # Cn [535] <reserved-10C49>..<reserved-10E5F>
 10E7F..10FFF  ; R # Cn [385] <reserved-10E7F>..<reserved-10FFF>
-1E800..1EFFF  ; R # Cn [2048] <reserved-1E800>..<reserved-1EFFF>
+1E800..1EDFF  ; R # Cn [1536] <reserved-1E800>..<reserved-1EDFF>
+1EF00..1EFFF  ; R # Cn [256] <reserved-1EF00>..<reserved-1EFFF>
 
-# Total code points: 4438
+# Total code points: 4086
 
 # ================================================
 
@@ -911,6 +961,7 @@
 00A2..00A5    ; ET # Sc   [4] CENT SIGN..YEN SIGN
 00B0          ; ET # So       DEGREE SIGN
 00B1          ; ET # Sm       PLUS-MINUS SIGN
+058F          ; ET # Sc       ARMENIAN DRAM SIGN
 0609..060A    ; ET # Po   [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
 066A          ; ET # Po       ARABIC PERCENT SIGN
 09F2..09F3    ; ET # Sc   [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
@@ -920,7 +971,7 @@
 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..20B9    ; ET # Sc  [26] EURO-CURRENCY SIGN..INDIAN RUPEE SIGN
+20A0..20BA    ; ET # Sc  [27] EURO-CURRENCY SIGN..TURKISH LIRA SIGN
 212E          ; ET # So       ESTIMATED SYMBOL
 2213          ; ET # Sm       MINUS-OR-PLUS SIGN
 A838          ; ET # Sc       NORTH INDIC RUPEE MARK
@@ -934,17 +985,16 @@
 FFE0..FFE1    ; ET # Sc   [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
 FFE5..FFE6    ; ET # Sc   [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
 
-# Total code points: 64
+# Total code points: 66
 
 # ================================================
 
 # Bidi_Class=Arabic_Number
 
-0600..0603    ; AN # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; AN # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 0660..0669    ; AN # Nd  [10] ARABIC-INDIC DIGIT ZERO..ARABIC-INDIC DIGIT NINE
 066B..066C    ; AN # Po   [2] ARABIC DECIMAL SEPARATOR..ARABIC THOUSANDS SEPARATOR
 06DD          ; AN # Cf       ARABIC END OF AYAH
-070F          ; AN # Cf       SYRIAC ABBREVIATION MARK
 10E60..10E7E  ; AN # No  [31] RUMI DIGIT ONE..RUMI FRACTION TWO THIRDS
 
 # Total code points: 49
@@ -1029,7 +1079,8 @@
 007D          ; ON # Pe       RIGHT CURLY BRACKET
 007E          ; ON # Sm       TILDE
 00A1          ; ON # Po       INVERTED EXCLAMATION MARK
-00A6..00A7    ; ON # So   [2] BROKEN BAR..SECTION SIGN
+00A6          ; ON # So       BROKEN BAR
+00A7          ; ON # Po       SECTION SIGN
 00A8          ; ON # Sk       DIAERESIS
 00A9          ; ON # So       COPYRIGHT SIGN
 00AB          ; ON # Pi       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
@@ -1037,8 +1088,7 @@
 00AE          ; ON # So       REGISTERED SIGN
 00AF          ; ON # Sk       MACRON
 00B4          ; ON # Sk       ACUTE ACCENT
-00B6          ; ON # So       PILCROW SIGN
-00B7          ; ON # Po       MIDDLE DOT
+00B6..00B7    ; ON # Po   [2] PILCROW SIGN..MIDDLE DOT
 00B8          ; ON # Sk       CEDILLA
 00BB          ; ON # Pf       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
 00BC..00BE    ; ON # No   [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
@@ -1206,9 +1256,7 @@
 27C0..27C4    ; ON # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
 27C5          ; ON # Ps       LEFT S-SHAPED BAG DELIMITER
 27C6          ; ON # Pe       RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA    ; ON # Sm   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC          ; ON # Sm       LONG DIVISION
-27CE..27E5    ; ON # Sm  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; ON # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27E6          ; ON # Ps       MATHEMATICAL LEFT WHITE SQUARE BRACKET
 27E7          ; ON # Pe       MATHEMATICAL RIGHT WHITE SQUARE BRACKET
 27E8          ; ON # Ps       MATHEMATICAL LEFT ANGLE BRACKET
@@ -1292,7 +1340,8 @@
 2E29          ; ON # Pe       RIGHT DOUBLE PARENTHESIS
 2E2A..2E2E    ; ON # Po   [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
 2E2F          ; ON # Lm       VERTICAL TILDE
-2E30..2E31    ; ON # Po   [2] RING POINT..WORD SEPARATOR MIDDLE DOT
+2E30..2E39    ; ON # Po  [10] RING POINT..TOP HALF SECTION SIGN
+2E3A..2E3B    ; ON # Pd   [2] TWO-EM DASH..THREE-EM DASH
 2E80..2E99    ; ON # So  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3    ; ON # So  [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5    ; ON # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -1445,6 +1494,7 @@
 1D74F         ; ON # Sm       MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
 1D789         ; ON # Sm       MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
 1D7C3         ; ON # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1EEF0..1EEF1  ; ON # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 1F000..1F02B  ; ON # So  [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
 1F030..1F093  ; ON # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
 1F0A0..1F0AE  ; ON # So  [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES
@@ -1451,6 +1501,7 @@
 1F0B1..1F0BE  ; ON # So  [14] PLAYING CARD ACE OF HEARTS..PLAYING CARD KING OF HEARTS
 1F0C1..1F0CF  ; ON # So  [15] PLAYING CARD ACE OF DIAMONDS..PLAYING CARD BLACK JOKER
 1F0D1..1F0DF  ; ON # So  [15] PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER
+1F16A..1F16B  ; ON # So   [2] RAISED MC SIGN..RAISED MD SIGN
 1F300..1F320  ; ON # So  [33] CYCLONE..SHOOTING STAR
 1F330..1F335  ; ON # So   [6] CHESTNUT..CACTUS
 1F337..1F37C  ; ON # So  [70] TULIP..BABY BOTTLE
@@ -1460,29 +1511,17 @@
 1F3E0..1F3F0  ; ON # So  [17] HOUSE BUILDING..EUROPEAN CASTLE
 1F400..1F43E  ; ON # So  [63] RAT..PAW PRINTS
 1F440         ; ON # So       EYES
-1F442..1F48B  ; ON # So  [74] EAR..KISS MARK
-1F48D..1F4F7  ; ON # So [107] RING..CAMERA
+1F442..1F4F7  ; ON # So [182] EAR..CAMERA
 1F4F9..1F4FC  ; ON # So   [4] VIDEO CAMERA..VIDEOCASSETTE
-1F500..1F523  ; ON # So  [36] TWISTED RIGHTWARDS ARROWS..INPUT SYMBOL FOR SYMBOLS
-1F525..1F53D  ; ON # So  [25] FIRE..DOWN-POINTING SMALL RED TRIANGLE
+1F500..1F53D  ; ON # So  [62] TWISTED RIGHTWARDS ARROWS..DOWN-POINTING SMALL RED TRIANGLE
+1F540..1F543  ; ON # So   [4] CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
 1F550..1F567  ; ON # So  [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY
-1F5FB..1F5FF  ; ON # So   [5] MOUNT FUJI..MOYAI
-1F601..1F610  ; ON # So  [16] GRINNING FACE WITH SMILING EYES..NEUTRAL FACE
-1F612..1F614  ; ON # So   [3] UNAMUSED FACE..PENSIVE FACE
-1F616         ; ON # So       CONFOUNDED FACE
-1F618         ; ON # So       FACE THROWING A KISS
-1F61A         ; ON # So       KISSING FACE WITH CLOSED EYES
-1F61C..1F61E  ; ON # So   [3] FACE WITH STUCK-OUT TONGUE AND WINKING EYE..DISAPPOINTED FACE
-1F620..1F625  ; ON # So   [6] ANGRY FACE..DISAPPOINTED BUT RELIEVED FACE
-1F628..1F62B  ; ON # So   [4] FEARFUL FACE..TIRED FACE
-1F62D         ; ON # So       LOUDLY CRYING FACE
-1F630..1F633  ; ON # So   [4] FACE WITH OPEN MOUTH AND COLD SWEAT..FLUSHED FACE
-1F635..1F640  ; ON # So  [12] DIZZY FACE..WEARY CAT FACE
+1F5FB..1F640  ; ON # So  [70] MOUNT FUJI..WEARY CAT FACE
 1F645..1F64F  ; ON # So  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
 1F680..1F6C5  ; ON # So  [70] ROCKET..LEFT LUGGAGE
 1F700..1F773  ; ON # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 
-# Total code points: 4412
+# Total code points: 4447
 
 # ================================================
 
@@ -1554,6 +1593,7 @@
 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..08FE    ; NSM # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; NSM # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 093A          ; NSM # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; NSM # Mn       DEVANAGARI SIGN NUKTA
@@ -1637,6 +1677,7 @@
 1732..1734    ; NSM # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
 1752..1753    ; NSM # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
 1772..1773    ; NSM # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+17B4..17B5    ; NSM # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B7..17BD    ; NSM # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17C6          ; NSM # Mn       KHMER SIGN NIKAHIT
 17C9..17D3    ; NSM # Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
@@ -1664,6 +1705,7 @@
 1B80..1B81    ; NSM # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
 1BA2..1BA5    ; NSM # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA8..1BA9    ; NSM # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAB          ; NSM # Mn       SUNDANESE SIGN VIRAMA
 1BE6          ; NSM # Mn       BATAK SIGN TOMPI
 1BE8..1BE9    ; NSM # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BED          ; NSM # Mn       BATAK VOWEL SIGN KARO O
@@ -1674,6 +1716,7 @@
 1CD4..1CE0    ; NSM # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
 1CE2..1CE8    ; NSM # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; NSM # Mn       VEDIC SIGN TIRYAK
+1CF4          ; NSM # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; NSM # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; NSM # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 20D0..20DC    ; NSM # Mn  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
@@ -1684,11 +1727,12 @@
 2CEF..2CF1    ; NSM # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D7F          ; NSM # Mn       TIFINAGH CONSONANT JOINER
 2DE0..2DFF    ; NSM # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F    ; NSM # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; NSM # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
 3099..309A    ; NSM # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; NSM # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; NSM # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D    ; NSM # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; NSM # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; NSM # Mn       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
@@ -1712,6 +1756,8 @@
 AAB7..AAB8    ; NSM # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; NSM # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; NSM # Mn       TAI VIET TONE MAI THO
+AAEC..AAED    ; NSM # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAF6          ; NSM # Mn       MEETEI MAYEK VIRAMA
 ABE5          ; NSM # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE8          ; NSM # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; NSM # Mn       MEETEI MAYEK APUN IYEK
@@ -1729,6 +1775,16 @@
 11080..11081  ; NSM # Mn   [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
 110B3..110B6  ; NSM # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B9..110BA  ; NSM # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+11100..11102  ; NSM # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; NSM # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112D..11134  ; NSM # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; NSM # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+111B6..111BE  ; NSM # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+116AB         ; NSM # Mn       TAKRI SIGN ANUSVARA
+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
+16F8F..16F92  ; NSM # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 1D167..1D169  ; NSM # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D17B..1D182  ; NSM # Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
 1D185..1D18B  ; NSM # Mn   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
@@ -1736,13 +1792,13 @@
 1D242..1D244  ; NSM # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 E0100..E01EF  ; NSM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1209
+# Total code points: 1290
 
 # ================================================
 
 # Bidi_Class=Arabic_Letter
 
-0604..0605    ; AL # Cn   [2] <reserved-0604>..<reserved-0605>
+0605          ; AL # Cn       <reserved-0605>
 0608          ; AL # Sm       ARABIC RAY
 060B          ; AL # Sc       AFGHANI SIGN
 060D          ; AL # Po       ARABIC DATE SEPARATOR
@@ -1764,6 +1820,7 @@
 06FF          ; AL # Lo       ARABIC LETTER HEH WITH INVERTED V
 0700..070D    ; AL # Po  [14] SYRIAC END OF PARAGRAPH..SYRIAC HARKLEAN ASTERISCUS
 070E          ; AL # Cn       <reserved-070E>
+070F          ; AL # Cf       SYRIAC ABBREVIATION MARK
 0710          ; AL # Lo       SYRIAC LETTER ALAPH
 0712..072F    ; AL # Lo  [30] SYRIAC LETTER BETH..SYRIAC LETTER PERSIAN DHALATH
 074B..074C    ; AL # Cn   [2] <reserved-074B>..<reserved-074C>
@@ -1770,6 +1827,11 @@
 074D..07A5    ; AL # Lo  [89] SYRIAC LETTER SOGDIAN ZHAIN..THAANA LETTER WAAVU
 07B1          ; AL # Lo       THAANA LETTER NAA
 07B2..07BF    ; AL # Cn  [14] <reserved-07B2>..<reserved-07BF>
+08A0          ; AL # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A1          ; AL # Cn       <reserved-08A1>
+08A2..08AC    ; AL # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
+08AD..08E3    ; AL # Cn  [55] <reserved-08AD>..<reserved-08E3>
+08FF          ; AL # Cn       <reserved-08FF>
 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] <reserved-FBC2>..<reserved-FBD2>
@@ -1786,8 +1848,75 @@
 FE75          ; AL # Cn       <reserved-FE75>
 FE76..FEFC    ; AL # Lo [135] ARABIC FATHA ISOLATED FORM..ARABIC LIGATURE LAM WITH ALEF FINAL FORM
 FEFD..FEFE    ; AL # Cn   [2] <reserved-FEFD>..<reserved-FEFE>
+1EE00..1EE03  ; AL # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE04         ; AL # Cn       <reserved-1EE04>
+1EE05..1EE1F  ; AL # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE20         ; AL # Cn       <reserved-1EE20>
+1EE21..1EE22  ; AL # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE23         ; AL # Cn       <reserved-1EE23>
+1EE24         ; AL # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE25..1EE26  ; AL # Cn   [2] <reserved-1EE25>..<reserved-1EE26>
+1EE27         ; AL # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE28         ; AL # Cn       <reserved-1EE28>
+1EE29..1EE32  ; AL # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE33         ; AL # Cn       <reserved-1EE33>
+1EE34..1EE37  ; AL # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE38         ; AL # Cn       <reserved-1EE38>
+1EE39         ; AL # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3A         ; AL # Cn       <reserved-1EE3A>
+1EE3B         ; AL # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE3C..1EE41  ; AL # Cn   [6] <reserved-1EE3C>..<reserved-1EE41>
+1EE42         ; AL # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE43..1EE46  ; AL # Cn   [4] <reserved-1EE43>..<reserved-1EE46>
+1EE47         ; AL # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE48         ; AL # Cn       <reserved-1EE48>
+1EE49         ; AL # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4A         ; AL # Cn       <reserved-1EE4A>
+1EE4B         ; AL # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4C         ; AL # Cn       <reserved-1EE4C>
+1EE4D..1EE4F  ; AL # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE50         ; AL # Cn       <reserved-1EE50>
+1EE51..1EE52  ; AL # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE53         ; AL # Cn       <reserved-1EE53>
+1EE54         ; AL # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE55..1EE56  ; AL # Cn   [2] <reserved-1EE55>..<reserved-1EE56>
+1EE57         ; AL # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE58         ; AL # Cn       <reserved-1EE58>
+1EE59         ; AL # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5A         ; AL # Cn       <reserved-1EE5A>
+1EE5B         ; AL # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5C         ; AL # Cn       <reserved-1EE5C>
+1EE5D         ; AL # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5E         ; AL # Cn       <reserved-1EE5E>
+1EE5F         ; AL # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE60         ; AL # Cn       <reserved-1EE60>
+1EE61..1EE62  ; AL # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE63         ; AL # Cn       <reserved-1EE63>
+1EE64         ; AL # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE65..1EE66  ; AL # Cn   [2] <reserved-1EE65>..<reserved-1EE66>
+1EE67..1EE6A  ; AL # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6B         ; AL # Cn       <reserved-1EE6B>
+1EE6C..1EE72  ; AL # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE73         ; AL # Cn       <reserved-1EE73>
+1EE74..1EE77  ; AL # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE78         ; AL # Cn       <reserved-1EE78>
+1EE79..1EE7C  ; AL # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7D         ; AL # Cn       <reserved-1EE7D>
+1EE7E         ; AL # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE7F         ; AL # Cn       <reserved-1EE7F>
+1EE80..1EE89  ; AL # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8A         ; AL # Cn       <reserved-1EE8A>
+1EE8B..1EE9B  ; AL # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EE9C..1EEA0  ; AL # Cn   [5] <reserved-1EE9C>..<reserved-1EEA0>
+1EEA1..1EEA3  ; AL # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA4         ; AL # Cn       <reserved-1EEA4>
+1EEA5..1EEA9  ; AL # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAA         ; AL # Cn       <reserved-1EEAA>
+1EEAB..1EEBB  ; AL # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEBC..1EEEF  ; AL # Cn  [52] <reserved-1EEBC>..<reserved-1EEEF>
+1EEF2..1EEFF  ; AL # Cn  [14] <reserved-1EEF2>..<reserved-1EEFF>
 
-# Total code points: 1115
+# Total code points: 1438
 
 # ================================================
 


Property changes on: vendor/perl/dist/lib/unicore/extracted/DBidiClass.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedBinaryProperties-6.0.0.txt
-# Date: 2010-05-18, 00:49:04 GMT [MD]
+# DerivedBinaryProperties-6.2.0.txt
+# Date: 2012-05-23, 20:34:43 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -83,7 +83,7 @@
 27C5          ; Bidi_Mirrored # Ps       LEFT S-SHAPED BAG DELIMITER
 27C6          ; Bidi_Mirrored # Pe       RIGHT S-SHAPED BAG DELIMITER
 27C8..27C9    ; Bidi_Mirrored # Sm   [2] REVERSE SOLIDUS PRECEDING SUBSET..SUPERSET PRECEDING SOLIDUS
-27CC          ; Bidi_Mirrored # Sm       LONG DIVISION
+27CB..27CD    ; Bidi_Mirrored # Sm   [3] MATHEMATICAL RISING DIAGONAL..MATHEMATICAL FALLING DIAGONAL
 27D3..27D6    ; Bidi_Mirrored # Sm   [4] LOWER RIGHT CORNER WITH DOT..RIGHT OUTER JOIN
 27DC..27DE    ; Bidi_Mirrored # Sm   [3] LEFT MULTIMAP..LONG LEFT TACK
 27E2..27E5    ; Bidi_Mirrored # Sm   [4] WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK..WHITE SQUARE WITH RIGHTWARDS TICK
@@ -222,6 +222,6 @@
 1D789         ; Bidi_Mirrored # Sm       MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
 1D7C3         ; Bidi_Mirrored # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 
-# Total code points: 543
+# Total code points: 545
 
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/extracted/DBinaryProperties.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedCombiningClass-6.0.0.txt
-# Date: 2010-08-19, 00:48:04 GMT [MD]
+# DerivedCombiningClass-6.2.0.txt
+# Date: 2012-08-13, 19:56:56 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -51,10 +51,11 @@
 00A0          ; 0 # Zs       NO-BREAK SPACE
 00A1          ; 0 # Po       INVERTED EXCLAMATION MARK
 00A2..00A5    ; 0 # Sc   [4] CENT SIGN..YEN SIGN
-00A6..00A7    ; 0 # So   [2] BROKEN BAR..SECTION SIGN
+00A6          ; 0 # So       BROKEN BAR
+00A7          ; 0 # Po       SECTION SIGN
 00A8          ; 0 # Sk       DIAERESIS
 00A9          ; 0 # So       COPYRIGHT SIGN
-00AA          ; 0 # L&       FEMININE ORDINAL INDICATOR
+00AA          ; 0 # Lo       FEMININE ORDINAL INDICATOR
 00AB          ; 0 # Pi       LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
 00AC          ; 0 # Sm       NOT SIGN
 00AD          ; 0 # Cf       SOFT HYPHEN
@@ -65,11 +66,10 @@
 00B2..00B3    ; 0 # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
 00B4          ; 0 # Sk       ACUTE ACCENT
 00B5          ; 0 # L&       MICRO SIGN
-00B6          ; 0 # So       PILCROW SIGN
-00B7          ; 0 # Po       MIDDLE DOT
+00B6..00B7    ; 0 # Po   [2] PILCROW SIGN..MIDDLE DOT
 00B8          ; 0 # Sk       CEDILLA
 00B9          ; 0 # No       SUPERSCRIPT ONE
-00BA          ; 0 # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; 0 # Lo       MASCULINE ORDINAL INDICATOR
 00BB          ; 0 # Pf       RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
 00BC..00BE    ; 0 # No   [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
 00BF          ; 0 # Po       INVERTED QUESTION MARK
@@ -120,6 +120,7 @@
 0561..0587    ; 0 # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 0589          ; 0 # Po       ARMENIAN FULL STOP
 058A          ; 0 # Pd       ARMENIAN HYPHEN
+058F          ; 0 # Sc       ARMENIAN DRAM SIGN
 05BE          ; 0 # Pd       HEBREW PUNCTUATION MAQAF
 05C0          ; 0 # Po       HEBREW PUNCTUATION PASEQ
 05C3          ; 0 # Po       HEBREW PUNCTUATION SOF PASUQ
@@ -127,7 +128,7 @@
 05D0..05EA    ; 0 # Lo  [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
 05F0..05F2    ; 0 # Lo   [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
 05F3..05F4    ; 0 # Po   [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-0600..0603    ; 0 # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; 0 # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 0606..0608    ; 0 # Sm   [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
 0609..060A    ; 0 # Po   [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
 060B          ; 0 # Sc       AFGHANI SIGN
@@ -173,6 +174,8 @@
 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          ; 0 # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; 0 # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
 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
@@ -255,6 +258,7 @@
 0AE0..0AE1    ; 0 # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 0AE2..0AE3    ; 0 # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
 0AE6..0AEF    ; 0 # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
+0AF0          ; 0 # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; 0 # Sc       GUJARATI RUPEE SIGN
 0B01          ; 0 # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; 0 # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
@@ -402,11 +406,13 @@
 0EC6          ; 0 # Lm       LAO KO LA
 0ECC..0ECD    ; 0 # Mn   [2] LAO CANCELLATION MARK..LAO NIGGAHITA
 0ED0..0ED9    ; 0 # Nd  [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD    ; 0 # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; 0 # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; 0 # Lo       TIBETAN SYLLABLE OM
 0F01..0F03    ; 0 # So   [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
 0F04..0F12    ; 0 # Po  [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17    ; 0 # So   [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0F13          ; 0 # So       TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14          ; 0 # Po       TIBETAN MARK GTER TSHEG
+0F15..0F17    ; 0 # So   [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
 0F1A..0F1F    ; 0 # So   [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
 0F20..0F29    ; 0 # Nd  [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
 0F2A..0F33    ; 0 # No  [10] TIBETAN DIGIT HALF ONE..TIBETAN DIGIT HALF ZERO
@@ -469,10 +475,12 @@
 109D          ; 0 # Mn       MYANMAR VOWEL SIGN AITON AI
 109E..109F    ; 0 # So   [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
 10A0..10C5    ; 0 # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; 0 # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; 0 # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; 0 # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FB          ; 0 # Po       GEORGIAN PARAGRAPH SEPARATOR
 10FC          ; 0 # Lm       MODIFIER LETTER GEORGIAN NAR
-1100..1248    ; 0 # Lo [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; 0 # Lo [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; 0 # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; 0 # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; 0 # Lo       ETHIOPIC SYLLABLE QHWA
@@ -488,8 +496,7 @@
 12D8..1310    ; 0 # Lo  [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
 1312..1315    ; 0 # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; 0 # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1360          ; 0 # So       ETHIOPIC SECTION MARK
-1361..1368    ; 0 # Po   [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
+1360..1368    ; 0 # Po   [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
 1369..137C    ; 0 # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; 0 # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399    ; 0 # So  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
@@ -517,7 +524,7 @@
 176E..1770    ; 0 # Lo   [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
 1772..1773    ; 0 # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
 1780..17B3    ; 0 # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5    ; 0 # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; 0 # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; 0 # Mc       KHMER VOWEL SIGN AA
 17B7..17BD    ; 0 # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17BE..17C5    ; 0 # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
@@ -605,9 +612,10 @@
 1BA2..1BA5    ; 0 # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA6..1BA7    ; 0 # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; 0 # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAC..1BAD    ; 0 # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE..1BAF    ; 0 # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
 1BB0..1BB9    ; 0 # Nd  [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1BC0..1BE5    ; 0 # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; 0 # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1BE7          ; 0 # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; 0 # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BEA..1BEC    ; 0 # Mc   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
@@ -627,14 +635,16 @@
 1C5A..1C77    ; 0 # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
 1C78..1C7D    ; 0 # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1C7E..1C7F    ; 0 # Po   [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0..1CC7    ; 0 # Po   [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD3          ; 0 # Po       VEDIC SIGN NIHSHVASA
 1CE1          ; 0 # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE9..1CEC    ; 0 # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; 0 # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2          ; 0 # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; 0 # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF5..1CF6    ; 0 # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; 0 # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; 0 # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; 0 # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; 0 # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; 0 # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; 0 # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; 0 # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; 0 # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -708,7 +718,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..20B9    ; 0 # Sc  [26] EURO-CURRENCY SIGN..INDIAN RUPEE SIGN
+20A0..20BA    ; 0 # Sc  [27] EURO-CURRENCY SIGN..TURKISH LIRA 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
@@ -815,9 +825,7 @@
 27C0..27C4    ; 0 # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
 27C5          ; 0 # Ps       LEFT S-SHAPED BAG DELIMITER
 27C6          ; 0 # Pe       RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA    ; 0 # Sm   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC          ; 0 # Sm       LONG DIVISION
-27CE..27E5    ; 0 # Sm  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; 0 # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27E6          ; 0 # Ps       MATHEMATICAL LEFT WHITE SQUARE BRACKET
 27E7          ; 0 # Pe       MATHEMATICAL RIGHT WHITE SQUARE BRACKET
 27E8          ; 0 # Ps       MATHEMATICAL LEFT ANGLE BRACKET
@@ -869,16 +877,19 @@
 2B50..2B59    ; 0 # So  [10] WHITE MEDIUM STAR..HEAVY CIRCLED SALTIRE
 2C00..2C2E    ; 0 # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; 0 # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; 0 # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; 0 # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; 0 # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; 0 # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; 0 # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CE5..2CEA    ; 0 # So   [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
 2CEB..2CEE    ; 0 # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; 0 # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2CF9..2CFC    ; 0 # Po   [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
 2CFD          ; 0 # No       COPTIC FRACTION ONE HALF
 2CFE..2CFF    ; 0 # Po   [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
 2D00..2D25    ; 0 # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; 0 # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; 0 # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; 0 # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; 0 # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; 0 # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D70          ; 0 # Po       TIFINAGH SEPARATOR MARK
 2D80..2D96    ; 0 # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
@@ -921,7 +932,8 @@
 2E29          ; 0 # Pe       RIGHT DOUBLE PARENTHESIS
 2E2A..2E2E    ; 0 # Po   [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
 2E2F          ; 0 # Lm       VERTICAL TILDE
-2E30..2E31    ; 0 # Po   [2] RING POINT..WORD SEPARATOR MIDDLE DOT
+2E30..2E39    ; 0 # Po  [10] RING POINT..TOP HALF SECTION SIGN
+2E3A..2E3B    ; 0 # Pd   [2] TWO-EM DASH..THREE-EM DASH
 2E80..2E99    ; 0 # So  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3    ; 0 # So  [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5    ; 0 # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -983,7 +995,9 @@
 31F0..31FF    ; 0 # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
 3200..321E    ; 0 # So  [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
 3220..3229    ; 0 # No  [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
-322A..3250    ; 0 # So  [39] PARENTHESIZED IDEOGRAPH MOON..PARTNERSHIP SIGN
+322A..3247    ; 0 # So  [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
+3248..324F    ; 0 # No   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+3250          ; 0 # So       PARTNERSHIP SIGN
 3251..325F    ; 0 # No  [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
 3260..327F    ; 0 # So  [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
 3280..3289    ; 0 # No  [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
@@ -993,7 +1007,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..9FCB    ; 0 # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; 0 # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -1026,8 +1040,9 @@
 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
-A790..A791    ; 0 # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; 0 # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; 0 # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; 0 # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; 0 # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A802          ; 0 # Mn       SYLOTI NAGRI SIGN DVISVARA
@@ -1102,6 +1117,14 @@
 AADB..AADC    ; 0 # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; 0 # Lm       TAI VIET SYMBOL SAM
 AADE..AADF    ; 0 # Po   [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
+AAE0..AAEA    ; 0 # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; 0 # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; 0 # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; 0 # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF0..AAF1    ; 0 # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
+AAF2          ; 0 # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; 0 # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; 0 # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
 AB01..AB06    ; 0 # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; 0 # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; 0 # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -1120,8 +1143,7 @@
 D7B0..D7C6    ; 0 # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; 0 # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
 E000..F8FF    ; 0 # Co [6400] <private-use-E000>..<private-use-F8FF>
-F900..FA2D    ; 0 # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; 0 # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; 0 # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; 0 # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB00..FB06    ; 0 # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; 0 # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
@@ -1249,8 +1271,7 @@
 1003F..1004D  ; 0 # Lo  [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
 10050..1005D  ; 0 # Lo  [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
 10080..100FA  ; 0 # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10100..10101  ; 0 # Po   [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102         ; 0 # So       AEGEAN CHECK MARK
+10100..10102  ; 0 # Po   [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
 10107..10133  ; 0 # No  [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
 10137..1013F  ; 0 # So   [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
 10140..10174  ; 0 # Nl  [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
@@ -1289,6 +1310,8 @@
 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
+109BE..109BF  ; 0 # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 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
@@ -1327,11 +1350,40 @@
 110BB..110BC  ; 0 # Po   [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
 110BD         ; 0 # Cf       KAITHI NUMBER SIGN
 110BE..110C1  ; 0 # Po   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+110D0..110E8  ; 0 # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9  ; 0 # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11103..11126  ; 0 # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11127..1112B  ; 0 # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; 0 # Mc       CHAKMA VOWEL SIGN E
+1112D..11132  ; 0 # Mn   [6] CHAKMA VOWEL SIGN AI..CHAKMA AU MARK
+11136..1113F  ; 0 # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+11140..11143  ; 0 # Po   [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
+11180..11181  ; 0 # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; 0 # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; 0 # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5  ; 0 # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+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
+111D0..111D9  ; 0 # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+11680..116AA  ; 0 # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AB         ; 0 # Mn       TAKRI SIGN ANUSVARA
+116AC         ; 0 # Mc       TAKRI SIGN VISARGA
+116AD         ; 0 # Mn       TAKRI VOWEL SIGN AA
+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
 12000..1236E  ; 0 # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; 0 # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 12470..12473  ; 0 # Po   [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
 13000..1342E  ; 0 # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; 0 # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; 0 # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; 0 # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; 0 # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92  ; 0 # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
+16F93..16F9F  ; 0 # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1B000..1B001  ; 0 # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
 1D000..1D0F5  ; 0 # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
 1D100..1D126  ; 0 # So  [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
@@ -1386,6 +1438,40 @@
 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
+1EE00..1EE03  ; 0 # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; 0 # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; 0 # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; 0 # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; 0 # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; 0 # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; 0 # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; 0 # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; 0 # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; 0 # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; 0 # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; 0 # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; 0 # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; 0 # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; 0 # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; 0 # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; 0 # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; 0 # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; 0 # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; 0 # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; 0 # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; 0 # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; 0 # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; 0 # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; 0 # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; 0 # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; 0 # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; 0 # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; 0 # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; 0 # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; 0 # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; 0 # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; 0 # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0..1EEF1  ; 0 # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 1F000..1F02B  ; 0 # So  [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
 1F030..1F093  ; 0 # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
 1F0A0..1F0AE  ; 0 # So  [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES
@@ -1394,7 +1480,7 @@
 1F0D1..1F0DF  ; 0 # So  [15] PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER
 1F100..1F10A  ; 0 # No  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
 1F110..1F12E  ; 0 # So  [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F130..1F169  ; 0 # So  [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1F130..1F16B  ; 0 # So  [60] SQUARED LATIN CAPITAL LETTER A..RAISED MD SIGN
 1F170..1F19A  ; 0 # So  [43] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VS
 1F1E6..1F202  ; 0 # So  [29] REGIONAL INDICATOR SYMBOL LETTER A..SQUARED KATAKANA SA
 1F210..1F23A  ; 0 # So  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
@@ -1412,19 +1498,9 @@
 1F442..1F4F7  ; 0 # So [182] EAR..CAMERA
 1F4F9..1F4FC  ; 0 # So   [4] VIDEO CAMERA..VIDEOCASSETTE
 1F500..1F53D  ; 0 # So  [62] TWISTED RIGHTWARDS ARROWS..DOWN-POINTING SMALL RED TRIANGLE
+1F540..1F543  ; 0 # So   [4] CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
 1F550..1F567  ; 0 # So  [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY
-1F5FB..1F5FF  ; 0 # So   [5] MOUNT FUJI..MOYAI
-1F601..1F610  ; 0 # So  [16] GRINNING FACE WITH SMILING EYES..NEUTRAL FACE
-1F612..1F614  ; 0 # So   [3] UNAMUSED FACE..PENSIVE FACE
-1F616         ; 0 # So       CONFOUNDED FACE
-1F618         ; 0 # So       FACE THROWING A KISS
-1F61A         ; 0 # So       KISSING FACE WITH CLOSED EYES
-1F61C..1F61E  ; 0 # So   [3] FACE WITH STUCK-OUT TONGUE AND WINKING EYE..DISAPPOINTED FACE
-1F620..1F625  ; 0 # So   [6] ANGRY FACE..DISAPPOINTED BUT RELIEVED FACE
-1F628..1F62B  ; 0 # So   [4] FEARFUL FACE..TIRED FACE
-1F62D         ; 0 # So       LOUDLY CRYING FACE
-1F630..1F633  ; 0 # So   [4] FACE WITH OPEN MOUTH AND COLD SWEAT..FLUSHED FACE
-1F635..1F640  ; 0 # So  [12] DIZZY FACE..WEARY CAT FACE
+1F5FB..1F640  ; 0 # So  [70] MOUNT FUJI..WEARY CAT FACE
 1F645..1F64F  ; 0 # So  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
 1F680..1F6C5  ; 0 # So  [70] ROCKET..LEFT LUGGAGE
 1F700..1F773  ; 0 # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -1438,8 +1514,8 @@
 F0000..FFFFD  ; 0 # Co [65534] <private-use-F0000>..<private-use-FFFFD>
 100000..10FFFD; 0 # Co [65534] <private-use-100000>..<private-use-10FFFD>
 
-# The above property value applies to 867195 code points not listed here.
-# Total code points: 1113506
+# The above property value applies to 866462 code points not listed here.
+# Total code points: 1113459
 
 # ================================================
 
@@ -1473,8 +1549,9 @@
 1C37          ; 7 # Mn       LEPCHA SIGN NUKTA
 A9B3          ; 7 # Mn       JAVANESE SIGN CECAK TELU
 110BA         ; 7 # Mn       KAITHI SIGN NUKTA
+116B7         ; 7 # Mn       TAKRI SIGN NUKTA
 
-# Total code points: 12
+# Total code points: 13
 
 # ================================================
 
@@ -1507,6 +1584,7 @@
 1A60          ; 9 # Mn       TAI THAM SIGN SAKOT
 1B44          ; 9 # Mc       BALINESE ADEG ADEG
 1BAA          ; 9 # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; 9 # Mn       SUNDANESE SIGN VIRAMA
 1BF2..1BF3    ; 9 # Mc   [2] BATAK PANGOLAT..BATAK PANONGONAN
 2D7F          ; 9 # Mn       TIFINAGH CONSONANT JOINER
 A806          ; 9 # Mn       SYLOTI NAGRI SIGN HASANTA
@@ -1513,16 +1591,20 @@
 A8C4          ; 9 # Mn       SAURASHTRA SIGN VIRAMA
 A953          ; 9 # Mc       REJANG VIRAMA
 A9C0          ; 9 # Mc       JAVANESE PANGKON
+AAF6          ; 9 # Mn       MEETEI MAYEK VIRAMA
 ABED          ; 9 # Mn       MEETEI MAYEK APUN IYEK
 10A3F         ; 9 # Mn       KHAROSHTHI VIRAMA
 11046         ; 9 # Mn       BRAHMI VIRAMA
 110B9         ; 9 # Mn       KAITHI SIGN VIRAMA
+11133..11134  ; 9 # Mn   [2] CHAKMA VIRAMA..CHAKMA MAAYYAA
+111C0         ; 9 # Mc       SHARADA SIGN VIRAMA
+116B6         ; 9 # Mc       TAKRI SIGN VIRAMA
 
-# Total code points: 31
+# Total code points: 37
 
 # ================================================
 
-# Canonical_Combining_Class=10
+# Canonical_Combining_Class=CCC10
 
 05B0          ; 10 # Mn       HEBREW POINT SHEVA
 
@@ -1530,7 +1612,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=11
+# Canonical_Combining_Class=CCC11
 
 05B1          ; 11 # Mn       HEBREW POINT HATAF SEGOL
 
@@ -1538,7 +1620,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=12
+# Canonical_Combining_Class=CCC12
 
 05B2          ; 12 # Mn       HEBREW POINT HATAF PATAH
 
@@ -1546,7 +1628,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=13
+# Canonical_Combining_Class=CCC13
 
 05B3          ; 13 # Mn       HEBREW POINT HATAF QAMATS
 
@@ -1554,7 +1636,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=14
+# Canonical_Combining_Class=CCC14
 
 05B4          ; 14 # Mn       HEBREW POINT HIRIQ
 
@@ -1562,7 +1644,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=15
+# Canonical_Combining_Class=CCC15
 
 05B5          ; 15 # Mn       HEBREW POINT TSERE
 
@@ -1570,7 +1652,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=16
+# Canonical_Combining_Class=CCC16
 
 05B6          ; 16 # Mn       HEBREW POINT SEGOL
 
@@ -1578,7 +1660,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=17
+# Canonical_Combining_Class=CCC17
 
 05B7          ; 17 # Mn       HEBREW POINT PATAH
 
@@ -1586,7 +1668,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=18
+# Canonical_Combining_Class=CCC18
 
 05B8          ; 18 # Mn       HEBREW POINT QAMATS
 05C7          ; 18 # Mn       HEBREW POINT QAMATS QATAN
@@ -1595,7 +1677,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=19
+# Canonical_Combining_Class=CCC19
 
 05B9..05BA    ; 19 # Mn   [2] HEBREW POINT HOLAM..HEBREW POINT HOLAM HASER FOR VAV
 
@@ -1603,7 +1685,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=20
+# Canonical_Combining_Class=CCC20
 
 05BB          ; 20 # Mn       HEBREW POINT QUBUTS
 
@@ -1611,7 +1693,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=21
+# Canonical_Combining_Class=CCC21
 
 05BC          ; 21 # Mn       HEBREW POINT DAGESH OR MAPIQ
 
@@ -1619,7 +1701,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=22
+# Canonical_Combining_Class=CCC22
 
 05BD          ; 22 # Mn       HEBREW POINT METEG
 
@@ -1627,7 +1709,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=23
+# Canonical_Combining_Class=CCC23
 
 05BF          ; 23 # Mn       HEBREW POINT RAFE
 
@@ -1635,7 +1717,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=24
+# Canonical_Combining_Class=CCC24
 
 05C1          ; 24 # Mn       HEBREW POINT SHIN DOT
 
@@ -1643,7 +1725,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=25
+# Canonical_Combining_Class=CCC25
 
 05C2          ; 25 # Mn       HEBREW POINT SIN DOT
 
@@ -1651,7 +1733,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=26
+# Canonical_Combining_Class=CCC26
 
 FB1E          ; 26 # Mn       HEBREW POINT JUDEO-SPANISH VARIKA
 
@@ -1659,31 +1741,34 @@
 
 # ================================================
 
-# Canonical_Combining_Class=27
+# Canonical_Combining_Class=CCC27
 
 064B          ; 27 # Mn       ARABIC FATHATAN
+08F0          ; 27 # Mn       ARABIC OPEN FATHATAN
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
-# Canonical_Combining_Class=28
+# Canonical_Combining_Class=CCC28
 
 064C          ; 28 # Mn       ARABIC DAMMATAN
+08F1          ; 28 # Mn       ARABIC OPEN DAMMATAN
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
-# Canonical_Combining_Class=29
+# Canonical_Combining_Class=CCC29
 
 064D          ; 29 # Mn       ARABIC KASRATAN
+08F2          ; 29 # Mn       ARABIC OPEN KASRATAN
 
-# Total code points: 1
+# Total code points: 2
 
 # ================================================
 
-# Canonical_Combining_Class=30
+# Canonical_Combining_Class=CCC30
 
 0618          ; 30 # Mn       ARABIC SMALL FATHA
 064E          ; 30 # Mn       ARABIC FATHA
@@ -1692,7 +1777,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=31
+# Canonical_Combining_Class=CCC31
 
 0619          ; 31 # Mn       ARABIC SMALL DAMMA
 064F          ; 31 # Mn       ARABIC DAMMA
@@ -1701,7 +1786,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=32
+# Canonical_Combining_Class=CCC32
 
 061A          ; 32 # Mn       ARABIC SMALL KASRA
 0650          ; 32 # Mn       ARABIC KASRA
@@ -1710,7 +1795,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=33
+# Canonical_Combining_Class=CCC33
 
 0651          ; 33 # Mn       ARABIC SHADDA
 
@@ -1718,7 +1803,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=34
+# Canonical_Combining_Class=CCC34
 
 0652          ; 34 # Mn       ARABIC SUKUN
 
@@ -1726,7 +1811,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=35
+# Canonical_Combining_Class=CCC35
 
 0670          ; 35 # Mn       ARABIC LETTER SUPERSCRIPT ALEF
 
@@ -1734,7 +1819,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=36
+# Canonical_Combining_Class=CCC36
 
 0711          ; 36 # Mn       SYRIAC LETTER SUPERSCRIPT ALAPH
 
@@ -1742,7 +1827,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=84
+# Canonical_Combining_Class=CCC84
 
 0C55          ; 84 # Mn       TELUGU LENGTH MARK
 
@@ -1750,7 +1835,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=91
+# Canonical_Combining_Class=CCC91
 
 0C56          ; 91 # Mn       TELUGU AI LENGTH MARK
 
@@ -1758,7 +1843,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=103
+# Canonical_Combining_Class=CCC103
 
 0E38..0E39    ; 103 # Mn   [2] THAI CHARACTER SARA U..THAI CHARACTER SARA UU
 
@@ -1766,7 +1851,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=107
+# Canonical_Combining_Class=CCC107
 
 0E48..0E4B    ; 107 # Mn   [4] THAI CHARACTER MAI EK..THAI CHARACTER MAI CHATTAWA
 
@@ -1774,7 +1859,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=118
+# Canonical_Combining_Class=CCC118
 
 0EB8..0EB9    ; 118 # Mn   [2] LAO VOWEL SIGN U..LAO VOWEL SIGN UU
 
@@ -1782,7 +1867,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=122
+# Canonical_Combining_Class=CCC122
 
 0EC8..0ECB    ; 122 # Mn   [4] LAO TONE MAI EK..LAO TONE MAI CATAWA
 
@@ -1790,7 +1875,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=129
+# Canonical_Combining_Class=CCC129
 
 0F71          ; 129 # Mn       TIBETAN VOWEL SIGN AA
 
@@ -1798,7 +1883,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=130
+# Canonical_Combining_Class=CCC130
 
 0F72          ; 130 # Mn       TIBETAN VOWEL SIGN I
 0F7A..0F7D    ; 130 # Mn   [4] TIBETAN VOWEL SIGN E..TIBETAN VOWEL SIGN OO
@@ -1808,7 +1893,7 @@
 
 # ================================================
 
-# Canonical_Combining_Class=132
+# Canonical_Combining_Class=CCC132
 
 0F74          ; 132 # Mn       TIBETAN VOWEL SIGN U
 
@@ -1887,6 +1972,11 @@
 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
+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
+08F6          ; 220 # Mn       ARABIC KASRA WITH DOT BELOW
+08F9..08FA    ; 220 # Mn   [2] ARABIC LEFT ARROWHEAD BELOW..ARABIC RIGHT ARROWHEAD BELOW
 0952          ; 220 # Mn       DEVANAGARI STRESS SIGN ANUDATTA
 0F18..0F19    ; 220 # Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
 0F35          ; 220 # Mn       TIBETAN MARK NGAS BZUNG NYI ZLA
@@ -1915,7 +2005,7 @@
 1D17B..1D182  ; 220 # Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
 1D18A..1D18B  ; 220 # Mn   [2] MUSICAL SYMBOL COMBINING DOUBLE TONGUE..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
 
-# Total code points: 121
+# Total code points: 129
 
 # ================================================
 
@@ -1932,7 +2022,7 @@
 
 # Canonical_Combining_Class=Left
 
-302E..302F    ; 224 # Mn   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302E..302F    ; 224 # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 
 # Total code points: 2
 
@@ -1999,6 +2089,12 @@
 081B..0823    ; 230 # Mn   [9] SAMARITAN MARK EPENTHETIC YUT..SAMARITAN VOWEL SIGN A
 0825..0827    ; 230 # Mn   [3] SAMARITAN VOWEL SIGN SHORT A..SAMARITAN VOWEL SIGN U
 0829..082D    ; 230 # Mn   [5] SAMARITAN VOWEL SIGN LONG I..SAMARITAN MARK NEQUDAA
+08E4..08E5    ; 230 # Mn   [2] ARABIC CURLY FATHA..ARABIC CURLY DAMMA
+08E7..08E8    ; 230 # Mn   [2] ARABIC CURLY FATHATAN..ARABIC CURLY DAMMATAN
+08EA..08EC    ; 230 # Mn   [3] ARABIC TONE ONE DOT ABOVE..ARABIC TONE LOOP ABOVE
+08F3..08F5    ; 230 # Mn   [3] ARABIC SMALL HIGH WAW..ARABIC FATHA WITH DOT ABOVE
+08F7..08F8    ; 230 # Mn   [2] ARABIC LEFT ARROWHEAD ABOVE..ARABIC RIGHT ARROWHEAD ABOVE
+08FB..08FE    ; 230 # Mn   [4] ARABIC DOUBLE RIGHT ARROWHEAD ABOVE..ARABIC DAMMA WITH DOT
 0951          ; 230 # Mn       DEVANAGARI STRESS SIGN UDATTA
 0953..0954    ; 230 # Mn   [2] DEVANAGARI GRAVE ACCENT..DEVANAGARI ACUTE ACCENT
 0F82..0F83    ; 230 # Mn   [2] TIBETAN SIGN NYI ZLA NAA DA..TIBETAN SIGN SNA LDAN
@@ -2013,6 +2109,7 @@
 1CD0..1CD2    ; 230 # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
 1CDA..1CDB    ; 230 # Mn   [2] VEDIC TONE DOUBLE SVARITA..VEDIC TONE TRIPLE SVARITA
 1CE0          ; 230 # Mn       VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
+1CF4          ; 230 # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DC1    ; 230 # Mn   [2] COMBINING DOTTED GRAVE ACCENT..COMBINING DOTTED ACUTE ACCENT
 1DC3..1DC9    ; 230 # Mn   [7] COMBINING SUSPENSION MARK..COMBINING ACUTE-GRAVE-ACUTE
 1DCB..1DCC    ; 230 # Mn   [2] COMBINING BREVE-MACRON..COMBINING MACRON-BREVE
@@ -2028,7 +2125,8 @@
 2CEF..2CF1    ; 230 # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2DE0..2DFF    ; 230 # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
 A66F          ; 230 # Mn       COMBINING CYRILLIC VZMET
-A67C..A67D    ; 230 # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; 230 # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; 230 # Mn       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
@@ -2039,11 +2137,12 @@
 FE20..FE26    ; 230 # Mn   [7] COMBINING LIGATURE LEFT HALF..COMBINING CONJOINING MACRON
 10A0F         ; 230 # Mn       KHAROSHTHI SIGN VISARGA
 10A38         ; 230 # Mn       KHAROSHTHI SIGN BAR ABOVE
+11100..11102  ; 230 # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
 1D185..1D189  ; 230 # Mn   [5] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING BEND
 1D1AA..1D1AD  ; 230 # Mn   [4] MUSICAL SYMBOL COMBINING DOWN BOW..MUSICAL SYMBOL COMBINING SNAP PIZZICATO
 1D242..1D244  ; 230 # Mn   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 
-# Total code points: 320
+# Total code points: 349
 
 # ================================================
 


Property changes on: vendor/perl/dist/lib/unicore/extracted/DCombiningClass.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedDecompositionType-6.0.0.txt
-# Date: 2010-05-18, 00:49:11 GMT [MD]
+# DerivedDecompositionType-6.2.0.txt
+# Date: 2012-05-23, 20:34:46 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -238,8 +238,7 @@
 FA20          ; Canonical # Lo       CJK COMPATIBILITY IDEOGRAPH-FA20
 FA22          ; Canonical # Lo       CJK COMPATIBILITY IDEOGRAPH-FA22
 FA25..FA26    ; Canonical # Lo   [2] CJK COMPATIBILITY IDEOGRAPH-FA25..CJK COMPATIBILITY IDEOGRAPH-FA26
-FA2A..FA2D    ; Canonical # Lo   [4] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; Canonical # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+FA2A..FA6D    ; Canonical # Lo  [68] CJK COMPATIBILITY IDEOGRAPH-FA2A..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; Canonical # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB1D          ; Canonical # Lo       HEBREW LETTER YOD WITH HIRIQ
 FB1F          ; Canonical # Lo       HEBREW LIGATURE YIDDISH YOD YOD PATAH
@@ -252,11 +251,12 @@
 1109A         ; Canonical # Lo       KAITHI LETTER DDDHA
 1109C         ; Canonical # Lo       KAITHI LETTER RHA
 110AB         ; Canonical # Lo       KAITHI LETTER VA
+1112E..1112F  ; Canonical # Mn   [2] CHAKMA VOWEL SIGN O..CHAKMA VOWEL SIGN AU
 1D15E..1D164  ; Canonical # So   [7] MUSICAL SYMBOL HALF NOTE..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
 1D1BB..1D1C0  ; Canonical # So   [6] MUSICAL SYMBOL MINIMA..MUSICAL SYMBOL FUSA BLACK
 2F800..2FA1D  ; Canonical # Lo [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 13221
+# Total code points: 13225
 
 # ================================================
 
@@ -400,8 +400,41 @@
 1D7C3         ; Font # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; Font # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
 1D7CE..1D7FF  ; Font # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
+1EE00..1EE03  ; Font # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Font # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Font # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Font # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Font # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Font # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Font # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Font # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Font # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Font # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Font # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Font # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Font # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Font # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Font # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Font # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Font # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Font # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Font # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Font # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Font # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Font # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Font # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Font # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Font # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Font # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Font # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Font # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Font # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Font # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Font # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Font # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Font # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 
-# Total code points: 1043
+# Total code points: 1184
 
 # ================================================
 
@@ -793,10 +826,10 @@
 
 # ================================================
 
-00AA          ; Super # L&       FEMININE ORDINAL INDICATOR
+00AA          ; Super # Lo       FEMININE ORDINAL INDICATOR
 00B2..00B3    ; Super # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
 00B9          ; Super # No       SUPERSCRIPT ONE
-00BA          ; Super # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; Super # Lo       MASCULINE ORDINAL INDICATOR
 02B0..02B8    ; Super # Lm   [9] MODIFIER LETTER SMALL H..MODIFIER LETTER SMALL Y
 02E0..02E4    ; Super # Lm   [5] MODIFIER LETTER SMALL GAMMA..MODIFIER LETTER SMALL REVERSED GLOTTAL STOP
 10FC          ; Super # Lm       MODIFIER LETTER GEORGIAN NAR
@@ -820,18 +853,20 @@
 3192..3195    ; Super # No   [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
 3196..319F    ; Super # So  [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
 A770          ; Super # Lm       MODIFIER LETTER US
+A7F8..A7F9    ; Super # Lm   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
+1F16A..1F16B  ; Super # So   [2] RAISED MC SIGN..RAISED MD SIGN
 
-# Total code points: 142
+# Total code points: 146
 
 # ================================================
 
-1D62..1D6A    ; Sub # L&   [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
+1D62..1D6A    ; Sub # Lm   [9] LATIN SUBSCRIPT SMALL LETTER I..GREEK SUBSCRIPT SMALL LETTER CHI
 2080..2089    ; Sub # No  [10] SUBSCRIPT ZERO..SUBSCRIPT NINE
 208A..208C    ; Sub # Sm   [3] SUBSCRIPT PLUS SIGN..SUBSCRIPT EQUALS SIGN
 208D          ; Sub # Ps       SUBSCRIPT LEFT PARENTHESIS
 208E          ; Sub # Pe       SUBSCRIPT RIGHT PARENTHESIS
 2090..209C    ; Sub # Lm  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
-2C7C          ; Sub # L&       LATIN SUBSCRIPT SMALL LETTER J
+2C7C          ; Sub # Lm       LATIN SUBSCRIPT SMALL LETTER J
 
 # Total code points: 38
 


Property changes on: vendor/perl/dist/lib/unicore/extracted/DDecompositionType.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedEastAsianWidth-6.0.0.txt
-# Date: 2010-08-19, 00:48:08 GMT [MD]
+# DerivedEastAsianWidth-6.2.0.txt
+# Date: 2012-05-20, 00:42:33 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -118,6 +118,7 @@
 0561..0587    ; N # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 0589          ; N # Po       ARMENIAN FULL STOP
 058A          ; N # Pd       ARMENIAN HYPHEN
+058F          ; N # Sc       ARMENIAN DRAM SIGN
 0591..05BD    ; N # Mn  [45] HEBREW ACCENT ETNAHTA..HEBREW POINT METEG
 05BE          ; N # Pd       HEBREW PUNCTUATION MAQAF
 05BF          ; N # Mn       HEBREW POINT RAFE
@@ -130,7 +131,7 @@
 05D0..05EA    ; N # Lo  [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
 05F0..05F2    ; N # Lo   [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
 05F3..05F4    ; N # Po   [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-0600..0603    ; N # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; N # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 0606..0608    ; N # Sm   [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
 0609..060A    ; N # Po   [2] ARABIC-INDIC PER MILLE SIGN..ARABIC-INDIC PER TEN THOUSAND SIGN
 060B          ; N # Sc       AFGHANI SIGN
@@ -191,6 +192,9 @@
 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          ; N # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; N # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
+08E4..08FE    ; N # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 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
@@ -280,6 +284,7 @@
 0AE0..0AE1    ; N # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
 0AE2..0AE3    ; N # Mn   [2] GUJARATI VOWEL SIGN VOCALIC L..GUJARATI VOWEL SIGN VOCALIC LL
 0AE6..0AEF    ; N # Nd  [10] GUJARATI DIGIT ZERO..GUJARATI DIGIT NINE
+0AF0          ; N # Po       GUJARATI ABBREVIATION SIGN
 0AF1          ; N # Sc       GUJARATI RUPEE SIGN
 0B01          ; N # Mn       ORIYA SIGN CANDRABINDU
 0B02..0B03    ; N # Mc   [2] ORIYA SIGN ANUSVARA..ORIYA SIGN VISARGA
@@ -433,11 +438,13 @@
 0EC6          ; N # Lm       LAO KO LA
 0EC8..0ECD    ; N # Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
 0ED0..0ED9    ; N # Nd  [10] LAO DIGIT ZERO..LAO DIGIT NINE
-0EDC..0EDD    ; N # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; N # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; N # Lo       TIBETAN SYLLABLE OM
 0F01..0F03    ; N # So   [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
 0F04..0F12    ; N # Po  [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
-0F13..0F17    ; N # So   [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0F13          ; N # So       TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F14          ; N # Po       TIBETAN MARK GTER TSHEG
+0F15..0F17    ; N # So   [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
 0F18..0F19    ; N # Mn   [2] TIBETAN ASTROLOGICAL SIGN -KHYUD PA..TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS
 0F1A..0F1F    ; N # So   [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
 0F20..0F29    ; N # Nd  [10] TIBETAN DIGIT ZERO..TIBETAN DIGIT NINE
@@ -506,12 +513,13 @@
 109D          ; N # Mn       MYANMAR VOWEL SIGN AITON AI
 109E..109F    ; N # So   [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
 10A0..10C5    ; N # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; N # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; N # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; N # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FB          ; N # Po       GEORGIAN PARAGRAPH SEPARATOR
 10FC          ; N # Lm       MODIFIER LETTER GEORGIAN NAR
-1160..11A2    ; N # Lo  [67] HANGUL JUNGSEONG FILLER..HANGUL JUNGSEONG SSANGARAEA
-11A8..11F9    ; N # Lo  [82] HANGUL JONGSEONG KIYEOK..HANGUL JONGSEONG YEORINHIEUH
-1200..1248    ; N # Lo  [73] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE QWA
+10FD..10FF    ; N # Lo   [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN
+1160..1248    ; N # Lo [233] HANGUL JUNGSEONG FILLER..ETHIOPIC SYLLABLE QWA
 124A..124D    ; N # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; N # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; N # Lo       ETHIOPIC SYLLABLE QHWA
@@ -528,8 +536,7 @@
 1312..1315    ; N # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; N # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
 135D..135F    ; N # Mn   [3] ETHIOPIC COMBINING GEMINATION AND VOWEL LENGTH MARK..ETHIOPIC COMBINING GEMINATION MARK
-1360          ; N # So       ETHIOPIC SECTION MARK
-1361..1368    ; N # Po   [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
+1360..1368    ; N # Po   [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
 1369..137C    ; N # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; N # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
 1390..1399    ; N # So  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
@@ -557,7 +564,7 @@
 176E..1770    ; N # Lo   [3] TAGBANWA LETTER LA..TAGBANWA LETTER SA
 1772..1773    ; N # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
 1780..17B3    ; N # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5    ; N # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; N # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; N # Mc       KHMER VOWEL SIGN AA
 17B7..17BD    ; N # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17BE..17C5    ; N # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
@@ -653,9 +660,11 @@
 1BA6..1BA7    ; N # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; N # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA          ; N # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; N # Mn       SUNDANESE SIGN VIRAMA
+1BAC..1BAD    ; N # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BAE..1BAF    ; N # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
 1BB0..1BB9    ; N # Nd  [10] SUNDANESE DIGIT ZERO..SUNDANESE DIGIT NINE
-1BC0..1BE5    ; N # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; N # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1BE6          ; N # Mn       BATAK SIGN TOMPI
 1BE7          ; N # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; N # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
@@ -677,6 +686,7 @@
 1C5A..1C77    ; N # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
 1C78..1C7D    ; N # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
 1C7E..1C7F    ; N # Po   [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0..1CC7    ; N # Po   [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD0..1CD2    ; N # Mn   [3] VEDIC TONE KARSHANA..VEDIC TONE PRENKHA
 1CD3          ; N # Po       VEDIC SIGN NIHSHVASA
 1CD4..1CE0    ; N # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
@@ -685,10 +695,12 @@
 1CE9..1CEC    ; N # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CED          ; N # Mn       VEDIC SIGN TIRYAK
 1CEE..1CF1    ; N # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
-1CF2          ; N # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; N # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4          ; N # Mn       VEDIC TONE CANDRA ABOVE
+1CF5..1CF6    ; N # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; N # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; N # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; N # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; N # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; N # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; N # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; N # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; N # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -765,7 +777,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..20B9    ; N # Sc  [13] KIP SIGN..INDIAN RUPEE SIGN
+20AD..20BA    ; N # Sc  [14] KIP SIGN..TURKISH LIRA 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
@@ -930,9 +942,7 @@
 27C0..27C4    ; N # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
 27C5          ; N # Ps       LEFT S-SHAPED BAG DELIMITER
 27C6          ; N # Pe       RIGHT S-SHAPED BAG DELIMITER
-27C7..27CA    ; N # Sm   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC          ; N # Sm       LONG DIVISION
-27CE..27E5    ; N # Sm  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; N # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27EE          ; N # Ps       MATHEMATICAL LEFT FLATTENED PARENTHESIS
 27EF          ; N # Pe       MATHEMATICAL RIGHT FLATTENED PARENTHESIS
 27F0..27FF    ; N # Sm  [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
@@ -974,17 +984,20 @@
 2B50..2B54    ; N # So   [5] WHITE MEDIUM STAR..WHITE RIGHT-POINTING PENTAGON
 2C00..2C2E    ; N # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; N # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; N # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; N # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; N # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; N # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; N # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CE5..2CEA    ; N # So   [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
 2CEB..2CEE    ; N # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
 2CEF..2CF1    ; N # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
+2CF2..2CF3    ; N # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2CF9..2CFC    ; N # Po   [4] COPTIC OLD NUBIAN FULL STOP..COPTIC OLD NUBIAN VERSE DIVIDER
 2CFD          ; N # No       COPTIC FRACTION ONE HALF
 2CFE..2CFF    ; N # Po   [2] COPTIC FULL STOP..COPTIC MORPHOLOGICAL DIVIDER
 2D00..2D25    ; N # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; N # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; N # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; N # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; N # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; N # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D70          ; N # Po       TIFINAGH SEPARATOR MARK
 2D7F          ; N # Mn       TIFINAGH CONSONANT JOINER
@@ -1029,7 +1042,8 @@
 2E29          ; N # Pe       RIGHT DOUBLE PARENTHESIS
 2E2A..2E2E    ; N # Po   [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
 2E2F          ; N # Lm       VERTICAL TILDE
-2E30..2E31    ; N # Po   [2] RING POINT..WORD SEPARATOR MIDDLE DOT
+2E30..2E39    ; N # Po  [10] RING POINT..TOP HALF SECTION SIGN
+2E3A..2E3B    ; N # Pd   [2] TWO-EM DASH..THREE-EM DASH
 303F          ; N # So       IDEOGRAPHIC HALF FILL SPACE
 4DC0..4DFF    ; N # So  [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
 A4D0..A4F7    ; N # Lo  [40] LISU LETTER BA..LISU LETTER OE
@@ -1046,10 +1060,11 @@
 A66F          ; N # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; N # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
 A673          ; N # Po       SLAVONIC ASTERISK
-A67C..A67D    ; N # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; N # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
 A67E          ; N # Po       CYRILLIC KAVYKA
 A67F          ; N # Lm       CYRILLIC PAYEROK
 A680..A697    ; N # L&  [24] CYRILLIC CAPITAL LETTER DWE..CYRILLIC SMALL LETTER SHWE
+A69F          ; N # Mn       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
@@ -1063,8 +1078,9 @@
 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
-A790..A791    ; N # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; N # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; N # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; N # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; N # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A802          ; N # Mn       SYLOTI NAGRI SIGN DVISVARA
@@ -1147,6 +1163,15 @@
 AADB..AADC    ; N # Lo   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
 AADD          ; N # Lm       TAI VIET SYMBOL SAM
 AADE..AADF    ; N # Po   [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
+AAE0..AAEA    ; N # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAEB          ; N # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; N # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; N # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF0..AAF1    ; N # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
+AAF2          ; N # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; N # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
+AAF5          ; N # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6          ; N # Mn       MEETEI MAYEK VIRAMA
 AB01..AB06    ; N # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; N # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; N # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -1162,6 +1187,8 @@
 ABEC          ; N # Mc       MEETEI MAYEK LUM IYEK
 ABED          ; N # Mn       MEETEI MAYEK APUN IYEK
 ABF0..ABF9    ; N # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
+D7B0..D7C6    ; N # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
+D7CB..D7FB    ; N # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
 FB00..FB06    ; N # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; N # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
 FB1D          ; N # Lo       HEBREW LETTER YOD WITH HIRIQ
@@ -1196,8 +1223,7 @@
 1003F..1004D  ; N # Lo  [15] LINEAR B SYLLABLE B020 ZO..LINEAR B SYLLABLE B091 TWO
 10050..1005D  ; N # Lo  [14] LINEAR B SYMBOL B018..LINEAR B SYMBOL B089
 10080..100FA  ; N # Lo [123] LINEAR B IDEOGRAM B100 MAN..LINEAR B IDEOGRAM VESSEL B305
-10100..10101  ; N # Po   [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102         ; N # So       AEGEAN CHECK MARK
+10100..10102  ; N # Po   [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
 10107..10133  ; N # No  [45] AEGEAN NUMBER ONE..AEGEAN NUMBER NINETY THOUSAND
 10137..1013F  ; N # So   [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
 10140..10174  ; N # Nl  [53] GREEK ACROPHONIC ATTIC ONE QUARTER..GREEK ACROPHONIC STRATIAN FIFTY MNAS
@@ -1237,6 +1263,8 @@
 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
+109BE..109BF  ; N # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 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
@@ -1277,11 +1305,43 @@
 110BB..110BC  ; N # Po   [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
 110BD         ; N # Cf       KAITHI NUMBER SIGN
 110BE..110C1  ; N # Po   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+110D0..110E8  ; N # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+110F0..110F9  ; N # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11100..11102  ; N # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11103..11126  ; N # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11127..1112B  ; N # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; N # Mc       CHAKMA VOWEL SIGN E
+1112D..11134  ; N # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11136..1113F  ; N # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+11140..11143  ; N # Po   [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
+11180..11181  ; N # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; N # Mc       SHARADA SIGN VISARGA
+11183..111B2  ; N # Lo  [48] SHARADA LETTER A..SHARADA LETTER HA
+111B3..111B5  ; N # Mc   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+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
+111D0..111D9  ; N # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+11680..116AA  ; N # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
+116AB         ; N # Mn       TAKRI SIGN ANUSVARA
+116AC         ; N # Mc       TAKRI SIGN VISARGA
+116AD         ; N # Mn       TAKRI VOWEL SIGN AA
+116AE..116AF  ; N # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B0..116B5  ; N # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+116B6         ; N # Mc       TAKRI SIGN VIRAMA
+116B7         ; N # Mn       TAKRI SIGN NUKTA
+116C0..116C9  ; N # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
 12000..1236E  ; N # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; N # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 12470..12473  ; N # Po   [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
 13000..1342E  ; N # Lo [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; N # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; N # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; N # Lo       MIAO LETTER NASALIZATION
+16F51..16F7E  ; N # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92  ; N # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
+16F93..16F9F  ; N # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1D000..1D0F5  ; N # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
 1D100..1D126  ; N # So  [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
 1D129..1D164  ; N # So  [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
@@ -1342,6 +1402,40 @@
 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
+1EE00..1EE03  ; N # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; N # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; N # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; N # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; N # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; N # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; N # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; N # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; N # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; N # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; N # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; N # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; N # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; N # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; N # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; N # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; N # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; N # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; N # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; N # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; N # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; N # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; N # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; N # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; N # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; N # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; N # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; N # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; N # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; N # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; N # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0..1EEF1  ; N # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 1F000..1F02B  ; N # So  [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
 1F030..1F093  ; N # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
 1F0A0..1F0AE  ; N # So  [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES
@@ -1349,6 +1443,7 @@
 1F0C1..1F0CF  ; N # So  [15] PLAYING CARD ACE OF DIAMONDS..PLAYING CARD BLACK JOKER
 1F0D1..1F0DF  ; N # So  [15] PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER
 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..1F320  ; N # So  [33] CYCLONE..SHOOTING STAR
 1F330..1F335  ; N # So   [6] CHESTNUT..CACTUS
@@ -1362,19 +1457,9 @@
 1F442..1F4F7  ; N # So [182] EAR..CAMERA
 1F4F9..1F4FC  ; N # So   [4] VIDEO CAMERA..VIDEOCASSETTE
 1F500..1F53D  ; N # So  [62] TWISTED RIGHTWARDS ARROWS..DOWN-POINTING SMALL RED TRIANGLE
+1F540..1F543  ; N # So   [4] CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
 1F550..1F567  ; N # So  [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY
-1F5FB..1F5FF  ; N # So   [5] MOUNT FUJI..MOYAI
-1F601..1F610  ; N # So  [16] GRINNING FACE WITH SMILING EYES..NEUTRAL FACE
-1F612..1F614  ; N # So   [3] UNAMUSED FACE..PENSIVE FACE
-1F616         ; N # So       CONFOUNDED FACE
-1F618         ; N # So       FACE THROWING A KISS
-1F61A         ; N # So       KISSING FACE WITH CLOSED EYES
-1F61C..1F61E  ; N # So   [3] FACE WITH STUCK-OUT TONGUE AND WINKING EYE..DISAPPOINTED FACE
-1F620..1F625  ; N # So   [6] ANGRY FACE..DISAPPOINTED BUT RELIEVED FACE
-1F628..1F62B  ; N # So   [4] FEARFUL FACE..TIRED FACE
-1F62D         ; N # So       LOUDLY CRYING FACE
-1F630..1F633  ; N # So   [4] FACE WITH OPEN MOUTH AND COLD SWEAT..FLUSHED FACE
-1F635..1F640  ; N # So  [12] DIZZY FACE..WEARY CAT FACE
+1F5FB..1F640  ; N # So  [70] MOUNT FUJI..WEARY CAT FACE
 1F645..1F64F  ; N # So  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
 1F680..1F6C5  ; N # So  [70] ROCKET..LEFT LUGGAGE
 1F700..1F773  ; N # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
@@ -1381,8 +1466,8 @@
 E0001         ; N # Cf       LANGUAGE TAG
 E0020..E007F  ; N # Cf  [96] TAG SPACE..CANCEL TAG
 
-# The above property value applies to 783647 code points not listed here.
-# Total code points: 801811
+# The above property value applies to 782917 code points not listed here.
+# Total code points: 801894
 
 # ================================================
 
@@ -1390,9 +1475,9 @@
 
 00A1          ; A # Po       INVERTED EXCLAMATION MARK
 00A4          ; A # Sc       CURRENCY SIGN
-00A7          ; A # So       SECTION SIGN
+00A7          ; A # Po       SECTION SIGN
 00A8          ; A # Sk       DIAERESIS
-00AA          ; A # L&       FEMININE ORDINAL INDICATOR
+00AA          ; A # Lo       FEMININE ORDINAL INDICATOR
 00AD          ; A # Cf       SOFT HYPHEN
 00AE          ; A # So       REGISTERED SIGN
 00B0          ; A # So       DEGREE SIGN
@@ -1399,11 +1484,10 @@
 00B1          ; A # Sm       PLUS-MINUS SIGN
 00B2..00B3    ; A # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
 00B4          ; A # Sk       ACUTE ACCENT
-00B6          ; A # So       PILCROW SIGN
-00B7          ; A # Po       MIDDLE DOT
+00B6..00B7    ; A # Po   [2] PILCROW SIGN..MIDDLE DOT
 00B8          ; A # Sk       CEDILLA
 00B9          ; A # No       SUPERSCRIPT ONE
-00BA          ; A # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; A # Lo       MASCULINE ORDINAL INDICATOR
 00BC..00BE    ; A # No   [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
 00BF          ; A # Po       INVERTED QUESTION MARK
 00C6          ; A # L&       LATIN CAPITAL LETTER AE
@@ -1570,7 +1654,7 @@
 2757          ; A # So       HEAVY EXCLAMATION MARK SYMBOL
 2776..277F    ; A # No  [10] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED NUMBER TEN
 2B55..2B59    ; A # So   [5] HEAVY LARGE CIRCLE..HEAVY CIRCLED SALTIRE
-3248..324F    ; A # So   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+3248..324F    ; A # No   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
 E000..F8FF    ; A # Co [6400] <private-use-E000>..<private-use-F8FF>
 FE00..FE0F    ; A # Mn  [16] VARIATION SELECTOR-1..VARIATION SELECTOR-16
 FFFD          ; A # So       REPLACEMENT CHARACTER
@@ -1613,8 +1697,6 @@
 # East_Asian_Width=Wide
 
 1100..115F    ; W # Lo  [96] HANGUL CHOSEONG KIYEOK..HANGUL CHOSEONG FILLER
-11A3..11A7    ; W # Lo   [5] HANGUL JUNGSEONG A-EU..HANGUL JUNGSEONG O-YAE
-11FA..11FF    ; W # Lo   [6] HANGUL JONGSEONG KIYEOK-NIEUN..HANGUL JONGSEONG SSANGNIEUN
 2329          ; W # Ps       LEFT-POINTING ANGLE BRACKET
 232A          ; W # Pe       RIGHT-POINTING ANGLE BRACKET
 2E80..2E99    ; W # So  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
@@ -1650,7 +1732,8 @@
 301E..301F    ; W # Pe   [2] DOUBLE PRIME QUOTATION MARK..LOW DOUBLE PRIME QUOTATION MARK
 3020          ; W # So       POSTAL MARK FACE
 3021..3029    ; W # Nl   [9] HANGZHOU NUMERAL ONE..HANGZHOU NUMERAL NINE
-302A..302F    ; W # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; W # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; W # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3030          ; W # Pd       WAVY DASH
 3031..3035    ; W # Lm   [5] VERTICAL KANA REPEAT MARK..VERTICAL KANA REPEAT MARK LOWER HALF
 3036..3037    ; W # So   [2] CIRCLED POSTAL MARK..IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
@@ -1690,8 +1773,8 @@
 3300..33FF    ; W # So [256] SQUARE APAATO..SQUARE GAL
 3400..4DB5    ; W # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DB6..4DBF    ; W # Cn  [10] <reserved-4DB6>..<reserved-4DBF>
-4E00..9FCB    ; W # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-9FCC..9FFF    ; W # Cn  [52] <reserved-9FCC>..<reserved-9FFF>
+4E00..9FCC    ; W # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+9FCD..9FFF    ; W # Cn  [51] <reserved-9FCD>..<reserved-9FFF>
 A000..A014    ; W # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A015          ; W # Lm       YI SYLLABLE WU
 A016..A48C    ; W # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
@@ -1698,11 +1781,7 @@
 A490..A4C6    ; W # So  [55] YI RADICAL QOT..YI RADICAL KE
 A960..A97C    ; W # Lo  [29] HANGUL CHOSEONG TIKEUT-MIEUM..HANGUL CHOSEONG SSANGYEORINHIEUH
 AC00..D7A3    ; W # Lo [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
-D7B0..D7C6    ; W # Lo  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
-D7CB..D7FB    ; W # Lo  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; W # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA2E..FA2F    ; W # Cn   [2] <reserved-FA2E>..<reserved-FA2F>
-FA30..FA6D    ; W # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; W # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA6E..FA6F    ; W # Cn   [2] <reserved-FA6E>..<reserved-FA6F>
 FA70..FAD9    ; W # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FADA..FAFF    ; W # Cn  [38] <reserved-FADA>..<reserved-FAFF>
@@ -1765,7 +1844,7 @@
 2FA1E..2FFFD  ; W # Cn [1504] <reserved-2FA1E>..<reserved-2FFFD>
 30000..3FFFD  ; W # Cn [65534] <reserved-30000>..<reserved-3FFFD>
 
-# Total code points: 173217
+# Total code points: 173134
 
 # ================================================
 


Property changes on: vendor/perl/dist/lib/unicore/extracted/DEastAsianWidth.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedGeneralCategory-6.0.0.txt
-# Date: 2010-08-19, 00:48:09 GMT [MD]
+# DerivedGeneralCategory-6.2.0.txt
+# Date: 2012-05-20, 00:42:34 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 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,11 +23,12 @@
 0557..0558    ; Cn #   [2] <reserved-0557>..<reserved-0558>
 0560          ; Cn #       <reserved-0560>
 0588          ; Cn #       <reserved-0588>
-058B..0590    ; Cn #   [6] <reserved-058B>..<reserved-0590>
+058B..058E    ; Cn #   [4] <reserved-058B>..<reserved-058E>
+0590          ; Cn #       <reserved-0590>
 05C8..05CF    ; Cn #   [8] <reserved-05C8>..<reserved-05CF>
 05EB..05EF    ; Cn #   [5] <reserved-05EB>..<reserved-05EF>
 05F5..05FF    ; Cn #  [11] <reserved-05F5>..<reserved-05FF>
-0604..0605    ; Cn #   [2] <reserved-0604>..<reserved-0605>
+0605          ; Cn #       <reserved-0605>
 061C..061D    ; Cn #   [2] <reserved-061C>..<reserved-061D>
 070E          ; Cn #       <reserved-070E>
 074B..074C    ; Cn #   [2] <reserved-074B>..<reserved-074C>
@@ -36,7 +37,10 @@
 082E..082F    ; Cn #   [2] <reserved-082E>..<reserved-082F>
 083F          ; Cn #       <reserved-083F>
 085C..085D    ; Cn #   [2] <reserved-085C>..<reserved-085D>
-085F..08FF    ; Cn # [161] <reserved-085F>..<reserved-08FF>
+085F..089F    ; Cn #  [65] <reserved-085F>..<reserved-089F>
+08A1          ; Cn #       <reserved-08A1>
+08AD..08E3    ; Cn #  [55] <reserved-08AD>..<reserved-08E3>
+08FF          ; Cn #       <reserved-08FF>
 0978          ; Cn #       <reserved-0978>
 0980          ; Cn #       <reserved-0980>
 0984          ; Cn #       <reserved-0984>
@@ -81,7 +85,6 @@
 0ACE..0ACF    ; Cn #   [2] <reserved-0ACE>..<reserved-0ACF>
 0AD1..0ADF    ; Cn #  [15] <reserved-0AD1>..<reserved-0ADF>
 0AE4..0AE5    ; Cn #   [2] <reserved-0AE4>..<reserved-0AE5>
-0AF0          ; Cn #       <reserved-0AF0>
 0AF2..0B00    ; Cn #  [15] <reserved-0AF2>..<reserved-0B00>
 0B04          ; Cn #       <reserved-0B04>
 0B0D..0B0E    ; Cn #   [2] <reserved-0B0D>..<reserved-0B0E>
@@ -182,7 +185,7 @@
 0EC7          ; Cn #       <reserved-0EC7>
 0ECE..0ECF    ; Cn #   [2] <reserved-0ECE>..<reserved-0ECF>
 0EDA..0EDB    ; Cn #   [2] <reserved-0EDA>..<reserved-0EDB>
-0EDE..0EFF    ; Cn #  [34] <reserved-0EDE>..<reserved-0EFF>
+0EE0..0EFF    ; Cn #  [32] <reserved-0EE0>..<reserved-0EFF>
 0F48          ; Cn #       <reserved-0F48>
 0F6D..0F70    ; Cn #   [4] <reserved-0F6D>..<reserved-0F70>
 0F98          ; Cn #       <reserved-0F98>
@@ -189,8 +192,9 @@
 0FBD          ; Cn #       <reserved-0FBD>
 0FCD          ; Cn #       <reserved-0FCD>
 0FDB..0FFF    ; Cn #  [37] <reserved-0FDB>..<reserved-0FFF>
-10C6..10CF    ; Cn #  [10] <reserved-10C6>..<reserved-10CF>
-10FD..10FF    ; Cn #   [3] <reserved-10FD>..<reserved-10FF>
+10C6          ; Cn #       <reserved-10C6>
+10C8..10CC    ; Cn #   [5] <reserved-10C8>..<reserved-10CC>
+10CE..10CF    ; Cn #   [2] <reserved-10CE>..<reserved-10CF>
 1249          ; Cn #       <reserved-1249>
 124E..124F    ; Cn #   [2] <reserved-124E>..<reserved-124F>
 1257          ; Cn #       <reserved-1257>
@@ -244,13 +248,12 @@
 1AAE..1AFF    ; Cn #  [82] <reserved-1AAE>..<reserved-1AFF>
 1B4C..1B4F    ; Cn #   [4] <reserved-1B4C>..<reserved-1B4F>
 1B7D..1B7F    ; Cn #   [3] <reserved-1B7D>..<reserved-1B7F>
-1BAB..1BAD    ; Cn #   [3] <reserved-1BAB>..<reserved-1BAD>
-1BBA..1BBF    ; Cn #   [6] <reserved-1BBA>..<reserved-1BBF>
 1BF4..1BFB    ; Cn #   [8] <reserved-1BF4>..<reserved-1BFB>
 1C38..1C3A    ; Cn #   [3] <reserved-1C38>..<reserved-1C3A>
 1C4A..1C4C    ; Cn #   [3] <reserved-1C4A>..<reserved-1C4C>
-1C80..1CCF    ; Cn #  [80] <reserved-1C80>..<reserved-1CCF>
-1CF3..1CFF    ; Cn #  [13] <reserved-1CF3>..<reserved-1CFF>
+1C80..1CBF    ; Cn #  [64] <reserved-1C80>..<reserved-1CBF>
+1CC8..1CCF    ; Cn #   [8] <reserved-1CC8>..<reserved-1CCF>
+1CF7..1CFF    ; Cn #   [9] <reserved-1CF7>..<reserved-1CFF>
 1DE7..1DFB    ; Cn #  [21] <reserved-1DE7>..<reserved-1DFB>
 1F16..1F17    ; Cn #   [2] <reserved-1F16>..<reserved-1F17>
 1F1E..1F1F    ; Cn #   [2] <reserved-1F1E>..<reserved-1F1F>
@@ -272,7 +275,7 @@
 2072..2073    ; Cn #   [2] <reserved-2072>..<reserved-2073>
 208F          ; Cn #       <reserved-208F>
 209D..209F    ; Cn #   [3] <reserved-209D>..<reserved-209F>
-20BA..20CF    ; Cn #  [22] <reserved-20BA>..<reserved-20CF>
+20BB..20CF    ; Cn #  [21] <reserved-20BB>..<reserved-20CF>
 20F1..20FF    ; Cn #  [15] <reserved-20F1>..<reserved-20FF>
 218A..218F    ; Cn #   [6] <reserved-218A>..<reserved-218F>
 23F4..23FF    ; Cn #  [12] <reserved-23F4>..<reserved-23FF>
@@ -279,15 +282,15 @@
 2427..243F    ; Cn #  [25] <reserved-2427>..<reserved-243F>
 244B..245F    ; Cn #  [21] <reserved-244B>..<reserved-245F>
 2700          ; Cn #       <reserved-2700>
-27CB          ; Cn #       <reserved-27CB>
-27CD          ; Cn #       <reserved-27CD>
 2B4D..2B4F    ; Cn #   [3] <reserved-2B4D>..<reserved-2B4F>
 2B5A..2BFF    ; Cn # [166] <reserved-2B5A>..<reserved-2BFF>
 2C2F          ; Cn #       <reserved-2C2F>
 2C5F          ; Cn #       <reserved-2C5F>
-2CF2..2CF8    ; Cn #   [7] <reserved-2CF2>..<reserved-2CF8>
-2D26..2D2F    ; Cn #  [10] <reserved-2D26>..<reserved-2D2F>
-2D66..2D6E    ; Cn #   [9] <reserved-2D66>..<reserved-2D6E>
+2CF4..2CF8    ; Cn #   [5] <reserved-2CF4>..<reserved-2CF8>
+2D26          ; Cn #       <reserved-2D26>
+2D28..2D2C    ; Cn #   [5] <reserved-2D28>..<reserved-2D2C>
+2D2E..2D2F    ; Cn #   [2] <reserved-2D2E>..<reserved-2D2F>
+2D68..2D6E    ; Cn #   [7] <reserved-2D68>..<reserved-2D6E>
 2D71..2D7E    ; Cn #  [14] <reserved-2D71>..<reserved-2D7E>
 2D97..2D9F    ; Cn #   [9] <reserved-2D97>..<reserved-2D9F>
 2DA7          ; Cn #       <reserved-2DA7>
@@ -298,7 +301,7 @@
 2DCF          ; Cn #       <reserved-2DCF>
 2DD7          ; Cn #       <reserved-2DD7>
 2DDF          ; Cn #       <reserved-2DDF>
-2E32..2E7F    ; Cn #  [78] <reserved-2E32>..<reserved-2E7F>
+2E3C..2E7F    ; Cn #  [68] <reserved-2E3C>..<reserved-2E7F>
 2E9A          ; Cn #       <reserved-2E9A>
 2EF4..2EFF    ; Cn #  [12] <reserved-2EF4>..<reserved-2EFF>
 2FD6..2FEF    ; Cn #  [26] <reserved-2FD6>..<reserved-2FEF>
@@ -313,16 +316,15 @@
 321F          ; Cn #       <reserved-321F>
 32FF          ; Cn #       <reserved-32FF>
 4DB6..4DBF    ; Cn #  [10] <reserved-4DB6>..<reserved-4DBF>
-9FCC..9FFF    ; Cn #  [52] <reserved-9FCC>..<reserved-9FFF>
+9FCD..9FFF    ; Cn #  [51] <reserved-9FCD>..<reserved-9FFF>
 A48D..A48F    ; Cn #   [3] <reserved-A48D>..<reserved-A48F>
 A4C7..A4CF    ; Cn #   [9] <reserved-A4C7>..<reserved-A4CF>
 A62C..A63F    ; Cn #  [20] <reserved-A62C>..<reserved-A63F>
-A674..A67B    ; Cn #   [8] <reserved-A674>..<reserved-A67B>
-A698..A69F    ; Cn #   [8] <reserved-A698>..<reserved-A69F>
+A698..A69E    ; Cn #   [7] <reserved-A698>..<reserved-A69E>
 A6F8..A6FF    ; Cn #   [8] <reserved-A6F8>..<reserved-A6FF>
 A78F          ; Cn #       <reserved-A78F>
-A792..A79F    ; Cn #  [14] <reserved-A792>..<reserved-A79F>
-A7AA..A7F9    ; Cn #  [80] <reserved-A7AA>..<reserved-A7F9>
+A794..A79F    ; Cn #  [12] <reserved-A794>..<reserved-A79F>
+A7AB..A7F7    ; Cn #  [77] <reserved-A7AB>..<reserved-A7F7>
 A82C..A82F    ; Cn #   [4] <reserved-A82C>..<reserved-A82F>
 A83A..A83F    ; Cn #   [6] <reserved-A83A>..<reserved-A83F>
 A878..A87F    ; Cn #   [8] <reserved-A878>..<reserved-A87F>
@@ -339,7 +341,7 @@
 AA5A..AA5B    ; Cn #   [2] <reserved-AA5A>..<reserved-AA5B>
 AA7C..AA7F    ; Cn #   [4] <reserved-AA7C>..<reserved-AA7F>
 AAC3..AADA    ; Cn #  [24] <reserved-AAC3>..<reserved-AADA>
-AAE0..AB00    ; Cn #  [33] <reserved-AAE0>..<reserved-AB00>
+AAF7..AB00    ; Cn #  [10] <reserved-AAF7>..<reserved-AB00>
 AB07..AB08    ; Cn #   [2] <reserved-AB07>..<reserved-AB08>
 AB0F..AB10    ; Cn #   [2] <reserved-AB0F>..<reserved-AB10>
 AB17..AB1F    ; Cn #   [9] <reserved-AB17>..<reserved-AB1F>
@@ -350,7 +352,6 @@
 D7A4..D7AF    ; Cn #  [12] <reserved-D7A4>..<reserved-D7AF>
 D7C7..D7CA    ; Cn #   [4] <reserved-D7C7>..<reserved-D7CA>
 D7FC..D7FF    ; Cn #   [4] <reserved-D7FC>..<reserved-D7FF>
-FA2E..FA2F    ; Cn #   [2] <reserved-FA2E>..<reserved-FA2F>
 FA6E..FA6F    ; Cn #   [2] <reserved-FA6E>..<reserved-FA6F>
 FADA..FAFF    ; Cn #  [38] <reserved-FADA>..<reserved-FAFF>
 FB07..FB12    ; Cn #  [12] <reserved-FB07>..<reserved-FB12>
@@ -412,7 +413,9 @@
 10860..108FF  ; Cn # [160] <reserved-10860>..<reserved-108FF>
 1091C..1091E  ; Cn #   [3] <reserved-1091C>..<reserved-1091E>
 1093A..1093E  ; Cn #   [5] <reserved-1093A>..<reserved-1093E>
-10940..109FF  ; Cn # [192] <reserved-10940>..<reserved-109FF>
+10940..1097F  ; Cn #  [64] <reserved-10940>..<reserved-1097F>
+109B8..109BD  ; Cn #   [6] <reserved-109B8>..<reserved-109BD>
+109C0..109FF  ; Cn #  [64] <reserved-109C0>..<reserved-109FF>
 10A04         ; Cn #       <reserved-10A04>
 10A07..10A0B  ; Cn #   [5] <reserved-10A07>..<reserved-10A0B>
 10A14         ; Cn #       <reserved-10A14>
@@ -430,12 +433,23 @@
 10E7F..10FFF  ; Cn # [385] <reserved-10E7F>..<reserved-10FFF>
 1104E..11051  ; Cn #   [4] <reserved-1104E>..<reserved-11051>
 11070..1107F  ; Cn #  [16] <reserved-11070>..<reserved-1107F>
-110C2..11FFF  ; Cn # [3902] <reserved-110C2>..<reserved-11FFF>
+110C2..110CF  ; Cn #  [14] <reserved-110C2>..<reserved-110CF>
+110E9..110EF  ; Cn #   [7] <reserved-110E9>..<reserved-110EF>
+110FA..110FF  ; Cn #   [6] <reserved-110FA>..<reserved-110FF>
+11135         ; Cn #       <reserved-11135>
+11144..1117F  ; Cn #  [60] <reserved-11144>..<reserved-1117F>
+111C9..111CF  ; Cn #   [7] <reserved-111C9>..<reserved-111CF>
+111DA..1167F  ; Cn # [1190] <reserved-111DA>..<reserved-1167F>
+116B8..116BF  ; Cn #   [8] <reserved-116B8>..<reserved-116BF>
+116CA..11FFF  ; Cn # [2358] <reserved-116CA>..<reserved-11FFF>
 1236F..123FF  ; Cn # [145] <reserved-1236F>..<reserved-123FF>
 12463..1246F  ; Cn #  [13] <reserved-12463>..<reserved-1246F>
 12474..12FFF  ; Cn # [2956] <reserved-12474>..<reserved-12FFF>
 1342F..167FF  ; Cn # [13265] <reserved-1342F>..<reserved-167FF>
-16A39..1AFFF  ; Cn # [17863] <reserved-16A39>..<reserved-1AFFF>
+16A39..16EFF  ; Cn # [1223] <reserved-16A39>..<reserved-16EFF>
+16F45..16F4F  ; Cn #  [11] <reserved-16F45>..<reserved-16F4F>
+16F7F..16F8E  ; Cn #  [16] <reserved-16F7F>..<reserved-16F8E>
+16FA0..1AFFF  ; Cn # [16480] <reserved-16FA0>..<reserved-1AFFF>
 1B002..1CFFF  ; Cn # [8190] <reserved-1B002>..<reserved-1CFFF>
 1D0F6..1D0FF  ; Cn #  [10] <reserved-1D0F6>..<reserved-1D0FF>
 1D127..1D128  ; Cn #   [2] <reserved-1D127>..<reserved-1D128>
@@ -463,7 +477,41 @@
 1D551         ; Cn #       <reserved-1D551>
 1D6A6..1D6A7  ; Cn #   [2] <reserved-1D6A6>..<reserved-1D6A7>
 1D7CC..1D7CD  ; Cn #   [2] <reserved-1D7CC>..<reserved-1D7CD>
-1D800..1EFFF  ; Cn # [6144] <reserved-1D800>..<reserved-1EFFF>
+1D800..1EDFF  ; Cn # [5632] <reserved-1D800>..<reserved-1EDFF>
+1EE04         ; Cn #       <reserved-1EE04>
+1EE20         ; Cn #       <reserved-1EE20>
+1EE23         ; Cn #       <reserved-1EE23>
+1EE25..1EE26  ; Cn #   [2] <reserved-1EE25>..<reserved-1EE26>
+1EE28         ; Cn #       <reserved-1EE28>
+1EE33         ; Cn #       <reserved-1EE33>
+1EE38         ; Cn #       <reserved-1EE38>
+1EE3A         ; Cn #       <reserved-1EE3A>
+1EE3C..1EE41  ; Cn #   [6] <reserved-1EE3C>..<reserved-1EE41>
+1EE43..1EE46  ; Cn #   [4] <reserved-1EE43>..<reserved-1EE46>
+1EE48         ; Cn #       <reserved-1EE48>
+1EE4A         ; Cn #       <reserved-1EE4A>
+1EE4C         ; Cn #       <reserved-1EE4C>
+1EE50         ; Cn #       <reserved-1EE50>
+1EE53         ; Cn #       <reserved-1EE53>
+1EE55..1EE56  ; Cn #   [2] <reserved-1EE55>..<reserved-1EE56>
+1EE58         ; Cn #       <reserved-1EE58>
+1EE5A         ; Cn #       <reserved-1EE5A>
+1EE5C         ; Cn #       <reserved-1EE5C>
+1EE5E         ; Cn #       <reserved-1EE5E>
+1EE60         ; Cn #       <reserved-1EE60>
+1EE63         ; Cn #       <reserved-1EE63>
+1EE65..1EE66  ; Cn #   [2] <reserved-1EE65>..<reserved-1EE66>
+1EE6B         ; Cn #       <reserved-1EE6B>
+1EE73         ; Cn #       <reserved-1EE73>
+1EE78         ; Cn #       <reserved-1EE78>
+1EE7D         ; Cn #       <reserved-1EE7D>
+1EE7F         ; Cn #       <reserved-1EE7F>
+1EE8A         ; Cn #       <reserved-1EE8A>
+1EE9C..1EEA0  ; Cn #   [5] <reserved-1EE9C>..<reserved-1EEA0>
+1EEA4         ; Cn #       <reserved-1EEA4>
+1EEAA         ; Cn #       <reserved-1EEAA>
+1EEBC..1EEEF  ; Cn #  [52] <reserved-1EEBC>..<reserved-1EEEF>
+1EEF2..1EFFF  ; Cn # [270] <reserved-1EEF2>..<reserved-1EFFF>
 1F02C..1F02F  ; Cn #   [4] <reserved-1F02C>..<reserved-1F02F>
 1F094..1F09F  ; Cn #  [12] <reserved-1F094>..<reserved-1F09F>
 1F0AF..1F0B0  ; Cn #   [2] <reserved-1F0AF>..<reserved-1F0B0>
@@ -472,7 +520,7 @@
 1F0E0..1F0FF  ; Cn #  [32] <reserved-1F0E0>..<reserved-1F0FF>
 1F10B..1F10F  ; Cn #   [5] <reserved-1F10B>..<reserved-1F10F>
 1F12F         ; Cn #       <reserved-1F12F>
-1F16A..1F16F  ; Cn #   [6] <reserved-1F16A>..<reserved-1F16F>
+1F16C..1F16F  ; Cn #   [4] <reserved-1F16C>..<reserved-1F16F>
 1F19B..1F1E5  ; Cn #  [75] <reserved-1F19B>..<reserved-1F1E5>
 1F203..1F20F  ; Cn #  [13] <reserved-1F203>..<reserved-1F20F>
 1F23B..1F23F  ; Cn #   [5] <reserved-1F23B>..<reserved-1F23F>
@@ -489,19 +537,9 @@
 1F441         ; Cn #       <reserved-1F441>
 1F4F8         ; Cn #       <reserved-1F4F8>
 1F4FD..1F4FF  ; Cn #   [3] <reserved-1F4FD>..<reserved-1F4FF>
-1F53E..1F54F  ; Cn #  [18] <reserved-1F53E>..<reserved-1F54F>
+1F53E..1F53F  ; Cn #   [2] <reserved-1F53E>..<reserved-1F53F>
+1F544..1F54F  ; Cn #  [12] <reserved-1F544>..<reserved-1F54F>
 1F568..1F5FA  ; Cn # [147] <reserved-1F568>..<reserved-1F5FA>
-1F600         ; Cn #       <reserved-1F600>
-1F611         ; Cn #       <reserved-1F611>
-1F615         ; Cn #       <reserved-1F615>
-1F617         ; Cn #       <reserved-1F617>
-1F619         ; Cn #       <reserved-1F619>
-1F61B         ; Cn #       <reserved-1F61B>
-1F61F         ; Cn #       <reserved-1F61F>
-1F626..1F627  ; Cn #   [2] <reserved-1F626>..<reserved-1F627>
-1F62C         ; Cn #       <reserved-1F62C>
-1F62E..1F62F  ; Cn #   [2] <reserved-1F62E>..<reserved-1F62F>
-1F634         ; Cn #       <reserved-1F634>
 1F641..1F644  ; Cn #   [4] <reserved-1F641>..<reserved-1F644>
 1F650..1F67F  ; Cn #  [48] <reserved-1F650>..<reserved-1F67F>
 1F6C6..1F6FF  ; Cn #  [58] <reserved-1F6C6>..<reserved-1F6FF>
@@ -516,7 +554,7 @@
 FFFFE..FFFFF  ; Cn #   [2] <noncharacter-FFFFE>..<noncharacter-FFFFF>
 10FFFE..10FFFF; Cn #   [2] <noncharacter-10FFFE>..<noncharacter-10FFFF>
 
-# Total code points: 865147
+# Total code points: 864414
 
 # ================================================
 
@@ -790,6 +828,8 @@
 0526          ; Lu #       CYRILLIC CAPITAL LETTER SHHA WITH DESCENDER
 0531..0556    ; Lu #  [38] ARMENIAN CAPITAL LETTER AYB..ARMENIAN CAPITAL LETTER FEH
 10A0..10C5    ; Lu #  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; Lu #       GEORGIAN CAPITAL LETTER YN
+10CD          ; Lu #       GEORGIAN CAPITAL LETTER AEN
 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
@@ -1004,6 +1044,7 @@
 2CE2          ; Lu #       COPTIC CAPITAL LETTER OLD NUBIAN WAU
 2CEB          ; Lu #       COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI
 2CED          ; Lu #       COPTIC CAPITAL LETTER CRYPTOGRAMMIC GANGIA
+2CF2          ; Lu #       COPTIC CAPITAL LETTER BOHAIRIC KHEI
 A640          ; Lu #       CYRILLIC CAPITAL LETTER ZEMLYA
 A642          ; Lu #       CYRILLIC CAPITAL LETTER DZELO
 A644          ; Lu #       CYRILLIC CAPITAL LETTER REVERSED DZE
@@ -1087,11 +1128,13 @@
 A78B          ; Lu #       LATIN CAPITAL LETTER SALTILLO
 A78D          ; Lu #       LATIN CAPITAL LETTER TURNED H
 A790          ; Lu #       LATIN CAPITAL LETTER N WITH DESCENDER
+A792          ; Lu #       LATIN CAPITAL LETTER C WITH BAR
 A7A0          ; Lu #       LATIN CAPITAL LETTER G WITH OBLIQUE STROKE
 A7A2          ; Lu #       LATIN CAPITAL LETTER K WITH OBLIQUE STROKE
 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          ; Lu #       LATIN CAPITAL LETTER H WITH HOOK
 FF21..FF3A    ; Lu #  [26] FULLWIDTH LATIN CAPITAL LETTER A..FULLWIDTH LATIN CAPITAL LETTER Z
 10400..10427  ; Lu #  [40] DESERET CAPITAL LETTER LONG I..DESERET CAPITAL LETTER EW
 1D400..1D419  ; Lu #  [26] MATHEMATICAL BOLD CAPITAL A..MATHEMATICAL BOLD CAPITAL Z
@@ -1126,7 +1169,7 @@
 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: 1436
+# Total code points: 1441
 
 # ================================================
 
@@ -1133,9 +1176,7 @@
 # General_Category=Lowercase_Letter
 
 0061..007A    ; Ll #  [26] LATIN SMALL LETTER A..LATIN SMALL LETTER Z
-00AA          ; Ll #       FEMININE ORDINAL INDICATOR
 00B5          ; Ll #       MICRO SIGN
-00BA          ; Ll #       MASCULINE ORDINAL INDICATOR
 00DF..00F6    ; Ll #  [24] LATIN SMALL LETTER SHARP S..LATIN SMALL LETTER O WITH DIAERESIS
 00F8..00FF    ; Ll #   [8] LATIN SMALL LETTER O WITH STROKE..LATIN SMALL LETTER Y WITH DIAERESIS
 0101          ; Ll #       LATIN SMALL LETTER A WITH MACRON
@@ -1401,7 +1442,7 @@
 0527          ; Ll #       CYRILLIC SMALL LETTER SHHA WITH DESCENDER
 0561..0587    ; Ll #  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 1D00..1D2B    ; Ll #  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D62..1D77    ; Ll #  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+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
 1E01          ; Ll #       LATIN SMALL LETTER A WITH RING BELOW
 1E03          ; Ll #       LATIN SMALL LETTER B WITH DOT ABOVE
@@ -1565,7 +1606,7 @@
 2C6C          ; Ll #       LATIN SMALL LETTER Z WITH DESCENDER
 2C71          ; Ll #       LATIN SMALL LETTER V WITH RIGHT HOOK
 2C73..2C74    ; Ll #   [2] LATIN SMALL LETTER W WITH HOOK..LATIN SMALL LETTER V WITH CURL
-2C76..2C7C    ; Ll #   [7] LATIN SMALL LETTER HALF H..LATIN SUBSCRIPT SMALL LETTER J
+2C76..2C7B    ; Ll #   [6] LATIN SMALL LETTER HALF H..LATIN LETTER SMALL CAPITAL TURNED E
 2C81          ; Ll #       COPTIC SMALL LETTER ALFA
 2C83          ; Ll #       COPTIC SMALL LETTER VIDA
 2C85          ; Ll #       COPTIC SMALL LETTER GAMMA
@@ -1618,7 +1659,10 @@
 2CE3..2CE4    ; Ll #   [2] COPTIC SMALL LETTER OLD NUBIAN WAU..COPTIC SYMBOL KAI
 2CEC          ; Ll #       COPTIC SMALL LETTER CRYPTOGRAMMIC SHEI
 2CEE          ; Ll #       COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF3          ; Ll #       COPTIC SMALL LETTER BOHAIRIC KHEI
 2D00..2D25    ; Ll #  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
+2D27          ; Ll #       GEORGIAN SMALL LETTER YN
+2D2D          ; Ll #       GEORGIAN SMALL LETTER AEN
 A641          ; Ll #       CYRILLIC SMALL LETTER ZEMLYA
 A643          ; Ll #       CYRILLIC SMALL LETTER DZELO
 A645          ; Ll #       CYRILLIC SMALL LETTER REVERSED DZE
@@ -1703,6 +1747,7 @@
 A78C          ; Ll #       LATIN SMALL LETTER SALTILLO
 A78E          ; Ll #       LATIN SMALL LETTER L WITH RETROFLEX HOOK AND BELT
 A791          ; Ll #       LATIN SMALL LETTER N WITH DESCENDER
+A793          ; Ll #       LATIN SMALL LETTER C WITH BAR
 A7A1          ; Ll #       LATIN SMALL LETTER G WITH OBLIQUE STROKE
 A7A3          ; Ll #       LATIN SMALL LETTER K WITH OBLIQUE STROKE
 A7A5          ; Ll #       LATIN SMALL LETTER N WITH OBLIQUE STROKE
@@ -1742,7 +1787,7 @@
 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: 1759
+# Total code points: 1751
 
 # ================================================
 
@@ -1788,13 +1833,13 @@
 1843          ; Lm #       MONGOLIAN LETTER TODO LONG VOWEL SIGN
 1AA7          ; Lm #       TAI THAM SIGN MAI YAMOK
 1C78..1C7D    ; Lm #   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
-1D2C..1D61    ; Lm #  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
+1D2C..1D6A    ; Lm #  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
 1D78          ; Lm #       MODIFIER LETTER CYRILLIC EN
 1D9B..1DBF    ; Lm #  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
 2071          ; Lm #       SUPERSCRIPT LATIN SMALL LETTER I
 207F          ; Lm #       SUPERSCRIPT LATIN SMALL LETTER N
 2090..209C    ; Lm #  [13] LATIN SUBSCRIPT SMALL LETTER A..LATIN SUBSCRIPT SMALL LETTER T
-2C7D          ; Lm #       MODIFIER LETTER CAPITAL V
+2C7C..2C7D    ; Lm #   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2D6F          ; Lm #       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2E2F          ; Lm #       VERTICAL TILDE
 3005          ; Lm #       IDEOGRAPHIC ITERATION MARK
@@ -1809,18 +1854,23 @@
 A717..A71F    ; Lm #   [9] MODIFIER LETTER DOT VERTICAL BAR..MODIFIER LETTER LOW INVERTED EXCLAMATION MARK
 A770          ; Lm #       MODIFIER LETTER US
 A788          ; Lm #       MODIFIER LETTER LOW CIRCUMFLEX ACCENT
+A7F8..A7F9    ; Lm #   [2] MODIFIER LETTER CAPITAL H WITH STROKE..MODIFIER LETTER SMALL LIGATURE OE
 A9CF          ; Lm #       JAVANESE PANGRANGKEP
 AA70          ; Lm #       MYANMAR MODIFIER LETTER KHAMTI REDUPLICATION
 AADD          ; Lm #       TAI VIET SYMBOL SAM
+AAF3..AAF4    ; Lm #   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
 FF70          ; Lm #       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
 FF9E..FF9F    ; Lm #   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+16F93..16F9F  ; Lm #  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 
-# Total code points: 210
+# Total code points: 237
 
 # ================================================
 
 # General_Category=Other_Letter
 
+00AA          ; Lo #       FEMININE ORDINAL INDICATOR
+00BA          ; Lo #       MASCULINE ORDINAL INDICATOR
 01BB          ; Lo #       LATIN LETTER TWO WITH STROKE
 01C0..01C3    ; Lo #   [4] LATIN LETTER DENTAL CLICK..LATIN LETTER RETROFLEX CLICK
 0294          ; Lo #       LATIN LETTER GLOTTAL STOP
@@ -1841,6 +1891,8 @@
 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          ; Lo #       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; Lo #  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
 0904..0939    ; Lo #  [54] DEVANAGARI LETTER SHORT A..DEVANAGARI LETTER HA
 093D          ; Lo #       DEVANAGARI SIGN AVAGRAHA
 0950          ; Lo #       DEVANAGARI OM
@@ -1945,7 +1997,7 @@
 0EB2..0EB3    ; Lo #   [2] LAO VOWEL SIGN AA..LAO VOWEL SIGN AM
 0EBD          ; Lo #       LAO SEMIVOWEL SIGN NYO
 0EC0..0EC4    ; Lo #   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
-0EDC..0EDD    ; Lo #   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; Lo #   [4] LAO HO NO..LAO LETTER KHMU NYO
 0F00          ; Lo #       TIBETAN SYLLABLE OM
 0F40..0F47    ; Lo #   [8] TIBETAN LETTER KA..TIBETAN LETTER JA
 0F49..0F6C    ; Lo #  [36] TIBETAN LETTER NYA..TIBETAN LETTER RRA
@@ -1960,7 +2012,7 @@
 1075..1081    ; Lo #  [13] MYANMAR LETTER SHAN KA..MYANMAR LETTER SHAN HA
 108E          ; Lo #       MYANMAR LETTER RUMAI PALAUNG FA
 10D0..10FA    ; Lo #  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
-1100..1248    ; Lo # [329] HANGUL CHOSEONG KIYEOK..ETHIOPIC SYLLABLE QWA
+10FD..1248    ; Lo # [332] GEORGIAN LETTER AEN..ETHIOPIC SYLLABLE QWA
 124A..124D    ; Lo #   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; Lo #   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
 1258          ; Lo #       ETHIOPIC SYLLABLE QHWA
@@ -2006,14 +2058,15 @@
 1B45..1B4B    ; Lo #   [7] BALINESE LETTER KAF SASAK..BALINESE LETTER ASYURA SASAK
 1B83..1BA0    ; Lo #  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
 1BAE..1BAF    ; Lo #   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BC0..1BE5    ; Lo #  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; Lo #  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1C00..1C23    ; Lo #  [36] LEPCHA LETTER KA..LEPCHA LETTER A
 1C4D..1C4F    ; Lo #   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
 1C5A..1C77    ; Lo #  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
 1CE9..1CEC    ; Lo #   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; Lo #   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5..1CF6    ; Lo #   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 2135..2138    ; Lo #   [4] ALEF SYMBOL..DALET SYMBOL
-2D30..2D65    ; Lo #  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D30..2D67    ; Lo #  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D80..2D96    ; Lo #  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
 2DA0..2DA6    ; Lo #   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
 2DA8..2DAE    ; Lo #   [7] ETHIOPIC SYLLABLE CCA..ETHIOPIC SYLLABLE CCO
@@ -2034,7 +2087,7 @@
 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..9FCB    ; Lo # [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
+4E00..9FCC    ; Lo # [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
 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
@@ -2068,6 +2121,8 @@
 AAC0          ; Lo #       TAI VIET TONE MAI NUENG
 AAC2          ; Lo #       TAI VIET TONE MAI SONG
 AADB..AADC    ; Lo #   [2] TAI VIET SYMBOL KON..TAI VIET SYMBOL NUENG
+AAE0..AAEA    ; Lo #  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAF2          ; Lo #       MEETEI MAYEK ANJI
 AB01..AB06    ; Lo #   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; Lo #   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; Lo #   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -2077,8 +2132,7 @@
 AC00..D7A3    ; Lo # [11172] HANGUL SYLLABLE GA..HANGUL SYLLABLE HIH
 D7B0..D7C6    ; Lo #  [23] HANGUL JUNGSEONG O-YEO..HANGUL JUNGSEONG ARAEA-E
 D7CB..D7FB    ; Lo #  [49] HANGUL JONGSEONG NIEUN-RIEUL..HANGUL JONGSEONG PHIEUPH-THIEUTH
-F900..FA2D    ; Lo # [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA30..FA6D    ; Lo #  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; Lo # [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA70..FAD9    ; Lo # [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FB1D          ; Lo #       HEBREW LETTER YOD WITH HIRIQ
 FB1F..FB28    ; Lo #  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
@@ -2125,6 +2179,8 @@
 1083F..10855  ; Lo #  [23] CYPRIOT SYLLABLE ZO..IMPERIAL ARAMAIC LETTER TAW
 10900..10915  ; Lo #  [22] PHOENICIAN LETTER ALF..PHOENICIAN LETTER TAU
 10920..10939  ; Lo #  [26] LYDIAN LETTER A..LYDIAN LETTER C
+10980..109B7  ; Lo #  [56] MEROITIC HIEROGLYPHIC LETTER A..MEROITIC CURSIVE LETTER DA
+109BE..109BF  ; Lo #   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 10A00         ; Lo #       KHAROSHTHI LETTER A
 10A10..10A13  ; Lo #   [4] KHAROSHTHI LETTER KA..KHAROSHTHI LETTER GHA
 10A15..10A17  ; Lo #   [3] KHAROSHTHI LETTER CA..KHAROSHTHI LETTER JA
@@ -2136,16 +2192,56 @@
 10C00..10C48  ; Lo #  [73] OLD TURKIC LETTER ORKHON A..OLD TURKIC LETTER ORKHON BASH
 11003..11037  ; Lo #  [53] BRAHMI SIGN JIHVAMULIYA..BRAHMI LETTER OLD TAMIL NNNA
 11083..110AF  ; Lo #  [45] KAITHI LETTER A..KAITHI LETTER HA
+110D0..110E8  ; Lo #  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+11103..11126  ; Lo #  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+11183..111B2  ; Lo #  [48] SHARADA LETTER A..SHARADA LETTER HA
+111C1..111C4  ; Lo #   [4] SHARADA SIGN AVAGRAHA..SHARADA OM
+11680..116AA  ; Lo #  [43] TAKRI LETTER A..TAKRI LETTER RRA
 12000..1236E  ; Lo # [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 13000..1342E  ; Lo # [1071] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; Lo # [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; Lo #  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; Lo #       MIAO LETTER NASALIZATION
 1B000..1B001  ; Lo #   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1EE00..1EE03  ; Lo #   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; Lo #  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; Lo #   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; Lo #       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; Lo #       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; Lo #  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; Lo #   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; Lo #       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; Lo #       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; Lo #       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; Lo #       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; Lo #       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; Lo #       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; Lo #   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; Lo #   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; Lo #       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; Lo #       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; Lo #       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; Lo #       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; Lo #       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; Lo #       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; Lo #   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; Lo #       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; Lo #   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; Lo #   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; Lo #   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; Lo #   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; Lo #       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; Lo #  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; Lo #  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; Lo #   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; Lo #   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; Lo #  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
 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
 2F800..2FA1D  ; Lo # [542] CJK COMPATIBILITY IDEOGRAPH-2F800..CJK COMPATIBILITY IDEOGRAPH-2FA1D
 
-# Total code points: 97084
+# Total code points: 97553
 
 # ================================================
 
@@ -2174,6 +2270,7 @@
 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..08FE    ; Mn #  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; Mn #   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 093A          ; Mn #       DEVANAGARI VOWEL SIGN OE
 093C          ; Mn #       DEVANAGARI SIGN NUKTA
@@ -2259,6 +2356,7 @@
 1732..1734    ; Mn #   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
 1752..1753    ; Mn #   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
 1772..1773    ; Mn #   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
+17B4..17B5    ; Mn #   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B7..17BD    ; Mn #   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17C6          ; Mn #       KHMER SIGN NIKAHIT
 17C9..17D3    ; Mn #  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
@@ -2286,6 +2384,7 @@
 1B80..1B81    ; Mn #   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
 1BA2..1BA5    ; Mn #   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA8..1BA9    ; Mn #   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAB          ; Mn #       SUNDANESE SIGN VIRAMA
 1BE6          ; Mn #       BATAK SIGN TOMPI
 1BE8..1BE9    ; Mn #   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BED          ; Mn #       BATAK VOWEL SIGN KARO O
@@ -2296,6 +2395,7 @@
 1CD4..1CE0    ; Mn #  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
 1CE2..1CE8    ; Mn #   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; Mn #       VEDIC SIGN TIRYAK
+1CF4          ; Mn #       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; Mn #  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; Mn #   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 20D0..20DC    ; Mn #  [13] COMBINING LEFT HARPOON ABOVE..COMBINING FOUR DOTS ABOVE
@@ -2304,10 +2404,11 @@
 2CEF..2CF1    ; Mn #   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D7F          ; Mn #       TIFINAGH CONSONANT JOINER
 2DE0..2DFF    ; Mn #  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F    ; Mn #   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; Mn #   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
 3099..309A    ; Mn #   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; Mn #       COMBINING CYRILLIC VZMET
-A67C..A67D    ; Mn #   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; Mn #  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; Mn #       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
@@ -2331,6 +2432,8 @@
 AAB7..AAB8    ; Mn #   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; Mn #   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; Mn #       TAI VIET TONE MAI THO
+AAEC..AAED    ; Mn #   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAF6          ; Mn #       MEETEI MAYEK VIRAMA
 ABE5          ; Mn #       MEETEI MAYEK VOWEL SIGN ANAP
 ABE8          ; Mn #       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; Mn #       MEETEI MAYEK APUN IYEK
@@ -2348,6 +2451,16 @@
 11080..11081  ; Mn #   [2] KAITHI SIGN CANDRABINDU..KAITHI SIGN ANUSVARA
 110B3..110B6  ; Mn #   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B9..110BA  ; Mn #   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+11100..11102  ; Mn #   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; Mn #   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112D..11134  ; Mn #   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; Mn #   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+111B6..111BE  ; Mn #   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+116AB         ; Mn #       TAKRI SIGN ANUSVARA
+116AD         ; Mn #       TAKRI VOWEL SIGN AA
+116B0..116B5  ; Mn #   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+116B7         ; Mn #       TAKRI SIGN NUKTA
+16F8F..16F92  ; Mn #   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 1D167..1D169  ; Mn #   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D17B..1D182  ; Mn #   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
 1D185..1D18B  ; Mn #   [7] MUSICAL SYMBOL COMBINING DOIT..MUSICAL SYMBOL COMBINING TRIPLE TONGUE
@@ -2355,7 +2468,7 @@
 1D242..1D244  ; Mn #   [3] COMBINING GREEK MUSICAL TRISEME..COMBINING GREEK MUSICAL PENTASEME
 E0100..E01EF  ; Mn # [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1199
+# Total code points: 1280
 
 # ================================================
 
@@ -2453,6 +2566,7 @@
 1BA1          ; Mc #       SUNDANESE CONSONANT SIGN PAMINGKAL
 1BA6..1BA7    ; Mc #   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BAA          ; Mc #       SUNDANESE SIGN PAMAAEH
+1BAC..1BAD    ; Mc #   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BE7          ; Mc #       BATAK VOWEL SIGN E
 1BEA..1BEC    ; Mc #   [3] BATAK VOWEL SIGN I..BATAK VOWEL SIGN O
 1BEE          ; Mc #       BATAK VOWEL SIGN U
@@ -2460,7 +2574,8 @@
 1C24..1C2B    ; Mc #   [8] LEPCHA SUBJOINED LETTER YA..LEPCHA VOWEL SIGN UU
 1C34..1C35    ; Mc #   [2] LEPCHA CONSONANT SIGN NYIN-DO..LEPCHA CONSONANT SIGN KANG
 1CE1          ; Mc #       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
-1CF2          ; Mc #       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; Mc #   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+302E..302F    ; Mc #   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 A823..A824    ; Mc #   [2] SYLOTI NAGRI VOWEL SIGN A..SYLOTI NAGRI VOWEL SIGN I
 A827          ; Mc #       SYLOTI NAGRI VOWEL SIGN OO
 A880..A881    ; Mc #   [2] SAURASHTRA SIGN ANUSVARA..SAURASHTRA SIGN VISARGA
@@ -2474,6 +2589,9 @@
 AA33..AA34    ; Mc #   [2] CHAM CONSONANT SIGN YA..CHAM CONSONANT SIGN RA
 AA4D          ; Mc #       CHAM CONSONANT SIGN FINAL H
 AA7B          ; Mc #       MYANMAR SIGN PAO KAREN TONE
+AAEB          ; Mc #       MEETEI MAYEK VOWEL SIGN II
+AAEE..AAEF    ; Mc #   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF5          ; Mc #       MEETEI MAYEK VOWEL SIGN VISARGA
 ABE3..ABE4    ; Mc #   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE6..ABE7    ; Mc #   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
 ABE9..ABEA    ; Mc #   [2] MEETEI MAYEK VOWEL SIGN CHEINAP..MEETEI MAYEK VOWEL SIGN NUNG
@@ -2483,10 +2601,18 @@
 11082         ; Mc #       KAITHI SIGN VISARGA
 110B0..110B2  ; Mc #   [3] KAITHI VOWEL SIGN AA..KAITHI VOWEL SIGN II
 110B7..110B8  ; Mc #   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
+1112C         ; Mc #       CHAKMA VOWEL SIGN E
+11182         ; Mc #       SHARADA SIGN VISARGA
+111B3..111B5  ; Mc #   [3] SHARADA VOWEL SIGN AA..SHARADA VOWEL SIGN II
+111BF..111C0  ; Mc #   [2] SHARADA VOWEL SIGN AU..SHARADA SIGN VIRAMA
+116AC         ; Mc #       TAKRI SIGN VISARGA
+116AE..116AF  ; Mc #   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B6         ; Mc #       TAKRI SIGN VIRAMA
+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: 287
+# Total code points: 353
 
 # ================================================
 
@@ -2529,9 +2655,13 @@
 FF10..FF19    ; Nd #  [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
 104A0..104A9  ; Nd #  [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
 11066..1106F  ; Nd #  [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE
+110F0..110F9  ; Nd #  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11136..1113F  ; Nd #  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+111D0..111D9  ; Nd #  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+116C0..116C9  ; Nd #  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
 1D7CE..1D7FF  ; Nd #  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 
-# Total code points: 420
+# Total code points: 460
 
 # ================================================
 
@@ -2579,6 +2709,7 @@
 2CFD          ; No #       COPTIC FRACTION ONE HALF
 3192..3195    ; No #   [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
 3220..3229    ; No #  [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
+3248..324F    ; No #   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
 3251..325F    ; No #  [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
 3280..3289    ; No #  [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
 32B1..32BF    ; No #  [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
@@ -2598,7 +2729,7 @@
 1D360..1D371  ; No #  [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
 1F100..1F10A  ; No #  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
 
-# Total code points: 456
+# Total code points: 464
 
 # ================================================
 
@@ -2645,10 +2776,9 @@
 # General_Category=Format
 
 00AD          ; Cf #       SOFT HYPHEN
-0600..0603    ; Cf #   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; Cf #   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 06DD          ; Cf #       ARABIC END OF AYAH
 070F          ; Cf #       SYRIAC ABBREVIATION MARK
-17B4..17B5    ; Cf #   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 200B..200F    ; Cf #   [5] ZERO WIDTH SPACE..RIGHT-TO-LEFT MARK
 202A..202E    ; Cf #   [5] LEFT-TO-RIGHT EMBEDDING..RIGHT-TO-LEFT OVERRIDE
 2060..2064    ; Cf #   [5] WORD JOINER..INVISIBLE PLUS
@@ -2660,7 +2790,7 @@
 E0001         ; Cf #       LANGUAGE TAG
 E0020..E007F  ; Cf #  [96] TAG SPACE..CANCEL TAG
 
-# Total code points: 140
+# Total code points: 139
 
 # ================================================
 
@@ -2692,6 +2822,7 @@
 2010..2015    ; Pd #   [6] HYPHEN..HORIZONTAL BAR
 2E17          ; Pd #       DOUBLE OBLIQUE HYPHEN
 2E1A          ; Pd #       HYPHEN WITH DIAERESIS
+2E3A..2E3B    ; Pd #   [2] TWO-EM DASH..THREE-EM DASH
 301C          ; Pd #       WAVE DASH
 3030          ; Pd #       WAVY DASH
 30A0          ; Pd #       KATAKANA-HIRAGANA DOUBLE HYPHEN
@@ -2700,7 +2831,7 @@
 FE63          ; Pd #       SMALL HYPHEN-MINUS
 FF0D          ; Pd #       FULLWIDTH HYPHEN-MINUS
 
-# Total code points: 21
+# Total code points: 23
 
 # ================================================
 
@@ -2884,7 +3015,8 @@
 003F..0040    ; Po #   [2] QUESTION MARK..COMMERCIAL AT
 005C          ; Po #       REVERSE SOLIDUS
 00A1          ; Po #       INVERTED EXCLAMATION MARK
-00B7          ; Po #       MIDDLE DOT
+00A7          ; Po #       SECTION SIGN
+00B6..00B7    ; Po #   [2] PILCROW SIGN..MIDDLE DOT
 00BF          ; Po #       INVERTED QUESTION MARK
 037E          ; Po #       GREEK QUESTION MARK
 0387          ; Po #       GREEK ANO TELEIA
@@ -2906,16 +3038,18 @@
 085E          ; Po #       MANDAIC PUNCTUATION
 0964..0965    ; Po #   [2] DEVANAGARI DANDA..DEVANAGARI DOUBLE DANDA
 0970          ; Po #       DEVANAGARI ABBREVIATION SIGN
+0AF0          ; Po #       GUJARATI ABBREVIATION SIGN
 0DF4          ; Po #       SINHALA PUNCTUATION KUNDDALIYA
 0E4F          ; Po #       THAI CHARACTER FONGMAN
 0E5A..0E5B    ; Po #   [2] THAI CHARACTER ANGKHANKHU..THAI CHARACTER KHOMUT
 0F04..0F12    ; Po #  [15] TIBETAN MARK INITIAL YIG MGO MDUN MA..TIBETAN MARK RGYA GRAM SHAD
+0F14          ; Po #       TIBETAN MARK GTER TSHEG
 0F85          ; Po #       TIBETAN MARK PALUTA
 0FD0..0FD4    ; Po #   [5] TIBETAN MARK BSKA- SHOG GI MGO RGYAN..TIBETAN MARK CLOSING BRDA RNYING YIG MGO SGAB MA
 0FD9..0FDA    ; Po #   [2] TIBETAN MARK LEADING MCHAN RTAGS..TIBETAN MARK TRAILING MCHAN RTAGS
 104A..104F    ; Po #   [6] MYANMAR SIGN LITTLE SECTION..MYANMAR SYMBOL GENITIVE
 10FB          ; Po #       GEORGIAN PARAGRAPH SEPARATOR
-1361..1368    ; Po #   [8] ETHIOPIC WORDSPACE..ETHIOPIC PARAGRAPH SEPARATOR
+1360..1368    ; Po #   [9] ETHIOPIC SECTION MARK..ETHIOPIC PARAGRAPH SEPARATOR
 166D..166E    ; Po #   [2] CANADIAN SYLLABICS CHI SIGN..CANADIAN SYLLABICS FULL STOP
 16EB..16ED    ; Po #   [3] RUNIC SINGLE PUNCTUATION..RUNIC CROSS PUNCTUATION
 1735..1736    ; Po #   [2] PHILIPPINE SINGLE PUNCTUATION..PHILIPPINE DOUBLE PUNCTUATION
@@ -2931,6 +3065,7 @@
 1BFC..1BFF    ; Po #   [4] BATAK SYMBOL BINDU NA METEK..BATAK SYMBOL BINDU PANGOLAT
 1C3B..1C3F    ; Po #   [5] LEPCHA PUNCTUATION TA-ROL..LEPCHA PUNCTUATION TSHOOK
 1C7E..1C7F    ; Po #   [2] OL CHIKI PUNCTUATION MUCAAD..OL CHIKI PUNCTUATION DOUBLE MUCAAD
+1CC0..1CC7    ; Po #   [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD3          ; Po #       VEDIC SIGN NIHSHVASA
 2016..2017    ; Po #   [2] DOUBLE VERTICAL LINE..DOUBLE LOW LINE
 2020..2027    ; Po #   [8] DAGGER..HYPHENATION POINT
@@ -2951,7 +3086,7 @@
 2E1B          ; Po #       TILDE WITH RING ABOVE
 2E1E..2E1F    ; Po #   [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
 2E2A..2E2E    ; Po #   [5] TWO DOTS OVER ONE DOT PUNCTUATION..REVERSED QUESTION MARK
-2E30..2E31    ; Po #   [2] RING POINT..WORD SEPARATOR MIDDLE DOT
+2E30..2E39    ; Po #  [10] RING POINT..TOP HALF SECTION SIGN
 3001..3003    ; Po #   [3] IDEOGRAPHIC COMMA..DITTO MARK
 303D          ; Po #       PART ALTERNATION MARK
 30FB          ; Po #       KATAKANA MIDDLE DOT
@@ -2969,6 +3104,7 @@
 A9DE..A9DF    ; Po #   [2] JAVANESE PADA TIRTA TUMETES..JAVANESE PADA ISEN-ISEN
 AA5C..AA5F    ; Po #   [4] CHAM PUNCTUATION SPIRAL..CHAM PUNCTUATION TRIPLE DANDA
 AADE..AADF    ; Po #   [2] TAI VIET SYMBOL HO HOI..TAI VIET SYMBOL KOI KOI
+AAF0..AAF1    ; Po #   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
 ABEB          ; Po #       MEETEI MAYEK CHEIKHEI
 FE10..FE16    ; Po #   [7] PRESENTATION FORM FOR VERTICAL COMMA..PRESENTATION FORM FOR VERTICAL QUESTION MARK
 FE19          ; Po #       PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS
@@ -2990,7 +3126,7 @@
 FF3C          ; Po #       FULLWIDTH REVERSE SOLIDUS
 FF61          ; Po #       HALFWIDTH IDEOGRAPHIC FULL STOP
 FF64..FF65    ; Po #   [2] HALFWIDTH IDEOGRAPHIC COMMA..HALFWIDTH KATAKANA MIDDLE DOT
-10100..10101  ; Po #   [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
+10100..10102  ; Po #   [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
 1039F         ; Po #       UGARITIC WORD DIVIDER
 103D0         ; Po #       OLD PERSIAN WORD DIVIDER
 10857         ; Po #       IMPERIAL ARAMAIC SECTION SIGN
@@ -3002,9 +3138,11 @@
 11047..1104D  ; Po #   [7] BRAHMI DANDA..BRAHMI PUNCTUATION LOTUS
 110BB..110BC  ; Po #   [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
 110BE..110C1  ; Po #   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+11140..11143  ; Po #   [4] CHAKMA SECTION MARK..CHAKMA QUESTION MARK
+111C5..111C8  ; Po #   [4] SHARADA DANDA..SHARADA SEPARATOR
 12470..12473  ; Po #   [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
 
-# Total code points: 402
+# Total code points: 434
 
 # ================================================
 
@@ -3047,9 +3185,7 @@
 25F8..25FF    ; Sm #   [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
 266F          ; Sm #       MUSIC SHARP SIGN
 27C0..27C4    ; Sm #   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C7..27CA    ; Sm #   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC          ; Sm #       LONG DIVISION
-27CE..27E5    ; Sm #  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; Sm #  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27F0..27FF    ; Sm #  [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
 2900..2982    ; Sm # [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
 2999..29D7    ; Sm #  [63] DOTTED FENCE..BLACK HOURGLASS
@@ -3076,8 +3212,9 @@
 1D789         ; Sm #       MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
 1D7A9         ; Sm #       MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA
 1D7C3         ; Sm #       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
+1EEF0..1EEF1  ; Sm #   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 
-# Total code points: 948
+# Total code points: 952
 
 # ================================================
 
@@ -3085,6 +3222,7 @@
 
 0024          ; Sc #       DOLLAR SIGN
 00A2..00A5    ; Sc #   [4] CENT SIGN..YEN SIGN
+058F          ; Sc #       ARMENIAN DRAM SIGN
 060B          ; Sc #       AFGHANI SIGN
 09F2..09F3    ; Sc #   [2] BENGALI RUPEE MARK..BENGALI RUPEE SIGN
 09FB          ; Sc #       BENGALI GANDA MARK
@@ -3092,7 +3230,7 @@
 0BF9          ; Sc #       TAMIL RUPEE SIGN
 0E3F          ; Sc #       THAI CURRENCY SYMBOL BAHT
 17DB          ; Sc #       KHMER CURRENCY SYMBOL RIEL
-20A0..20B9    ; Sc #  [26] EURO-CURRENCY SIGN..INDIAN RUPEE SIGN
+20A0..20BA    ; Sc #  [27] EURO-CURRENCY SIGN..TURKISH LIRA SIGN
 A838          ; Sc #       NORTH INDIC RUPEE MARK
 FDFC          ; Sc #       RIAL SIGN
 FE69          ; Sc #       SMALL DOLLAR SIGN
@@ -3100,7 +3238,7 @@
 FFE0..FFE1    ; Sc #   [2] FULLWIDTH CENT SIGN..FULLWIDTH POUND SIGN
 FFE5..FFE6    ; Sc #   [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
 
-# Total code points: 47
+# Total code points: 49
 
 # ================================================
 
@@ -3140,11 +3278,10 @@
 
 # General_Category=Other_Symbol
 
-00A6..00A7    ; So #   [2] BROKEN BAR..SECTION SIGN
+00A6          ; So #       BROKEN BAR
 00A9          ; So #       COPYRIGHT SIGN
 00AE          ; So #       REGISTERED SIGN
 00B0          ; So #       DEGREE SIGN
-00B6          ; So #       PILCROW SIGN
 0482          ; So #       CYRILLIC THOUSANDS SIGN
 060E..060F    ; So #   [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
 06DE          ; So #       ARABIC START OF RUB EL HIZB
@@ -3158,7 +3295,8 @@
 0C7F          ; So #       TELUGU SIGN TUUMU
 0D79          ; So #       MALAYALAM DATE MARK
 0F01..0F03    ; So #   [3] TIBETAN MARK GTER YIG MGO TRUNCATED A..TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA
-0F13..0F17    ; So #   [5] TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
+0F13          ; So #       TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN
+0F15..0F17    ; So #   [3] TIBETAN LOGOTYPE SIGN CHAD RTAGS..TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS
 0F1A..0F1F    ; So #   [6] TIBETAN SIGN RDEL DKAR GCIG..TIBETAN SIGN RDEL DKAR RDEL NAG
 0F34          ; So #       TIBETAN MARK BSDUS RTAGS
 0F36          ; So #       TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN
@@ -3168,7 +3306,6 @@
 0FCE..0FCF    ; So #   [2] TIBETAN SIGN RDEL NAG RDEL DKAR..TIBETAN SIGN RDEL NAG GSUM
 0FD5..0FD8    ; So #   [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
 109E..109F    ; So #   [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
-1360          ; So #       ETHIOPIC SECTION MARK
 1390..1399    ; So #  [10] ETHIOPIC TONAL MARK YIZET..ETHIOPIC TONAL MARK KURT
 1940          ; So #       LIMBU SIGN LOO
 19DE..19FF    ; So #  [34] NEW TAI LUE SIGN LAE..KHMER SYMBOL DAP-PRAM ROC
@@ -3232,7 +3369,8 @@
 3196..319F    ; So #  [10] IDEOGRAPHIC ANNOTATION TOP MARK..IDEOGRAPHIC ANNOTATION MAN MARK
 31C0..31E3    ; So #  [36] CJK STROKE T..CJK STROKE Q
 3200..321E    ; So #  [31] PARENTHESIZED HANGUL KIYEOK..PARENTHESIZED KOREAN CHARACTER O HU
-322A..3250    ; So #  [39] PARENTHESIZED IDEOGRAPH MOON..PARTNERSHIP SIGN
+322A..3247    ; So #  [30] PARENTHESIZED IDEOGRAPH MOON..CIRCLED IDEOGRAPH KOTO
+3250          ; So #       PARTNERSHIP SIGN
 3260..327F    ; So #  [32] CIRCLED HANGUL KIYEOK..KOREAN STANDARD SYMBOL
 328A..32B0    ; So #  [39] CIRCLED IDEOGRAPH MOON..CIRCLED IDEOGRAPH NIGHT
 32C0..32FE    ; So #  [63] IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY..CIRCLED KATAKANA WO
@@ -3248,7 +3386,6 @@
 FFE8          ; So #       HALFWIDTH FORMS LIGHT VERTICAL
 FFED..FFEE    ; So #   [2] HALFWIDTH BLACK SQUARE..HALFWIDTH WHITE CIRCLE
 FFFC..FFFD    ; So #   [2] OBJECT REPLACEMENT CHARACTER..REPLACEMENT CHARACTER
-10102         ; So #       AEGEAN CHECK MARK
 10137..1013F  ; So #   [9] AEGEAN WEIGHT BASE UNIT..AEGEAN MEASURE THIRD SUBUNIT
 10179..10189  ; So #  [17] GREEK YEAR SIGN..GREEK TRYBLION BASE SIGN
 10190..1019B  ; So #  [12] ROMAN SEXTANS SIGN..ROMAN CENTURIAL SIGN
@@ -3270,7 +3407,7 @@
 1F0C1..1F0CF  ; So #  [15] PLAYING CARD ACE OF DIAMONDS..PLAYING CARD BLACK JOKER
 1F0D1..1F0DF  ; So #  [15] PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER
 1F110..1F12E  ; So #  [31] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED WZ
-1F130..1F169  ; So #  [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
+1F130..1F16B  ; So #  [60] SQUARED LATIN CAPITAL LETTER A..RAISED MD SIGN
 1F170..1F19A  ; So #  [43] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VS
 1F1E6..1F202  ; So #  [29] REGIONAL INDICATOR SYMBOL LETTER A..SQUARED KATAKANA SA
 1F210..1F23A  ; So #  [43] SQUARED CJK UNIFIED IDEOGRAPH-624B..SQUARED CJK UNIFIED IDEOGRAPH-55B6
@@ -3288,24 +3425,14 @@
 1F442..1F4F7  ; So # [182] EAR..CAMERA
 1F4F9..1F4FC  ; So #   [4] VIDEO CAMERA..VIDEOCASSETTE
 1F500..1F53D  ; So #  [62] TWISTED RIGHTWARDS ARROWS..DOWN-POINTING SMALL RED TRIANGLE
+1F540..1F543  ; So #   [4] CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
 1F550..1F567  ; So #  [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY
-1F5FB..1F5FF  ; So #   [5] MOUNT FUJI..MOYAI
-1F601..1F610  ; So #  [16] GRINNING FACE WITH SMILING EYES..NEUTRAL FACE
-1F612..1F614  ; So #   [3] UNAMUSED FACE..PENSIVE FACE
-1F616         ; So #       CONFOUNDED FACE
-1F618         ; So #       FACE THROWING A KISS
-1F61A         ; So #       KISSING FACE WITH CLOSED EYES
-1F61C..1F61E  ; So #   [3] FACE WITH STUCK-OUT TONGUE AND WINKING EYE..DISAPPOINTED FACE
-1F620..1F625  ; So #   [6] ANGRY FACE..DISAPPOINTED BUT RELIEVED FACE
-1F628..1F62B  ; So #   [4] FEARFUL FACE..TIRED FACE
-1F62D         ; So #       LOUDLY CRYING FACE
-1F630..1F633  ; So #   [4] FACE WITH OPEN MOUTH AND COLD SWEAT..FLUSHED FACE
-1F635..1F640  ; So #  [12] DIZZY FACE..WEARY CAT FACE
+1F5FB..1F640  ; So #  [70] MOUNT FUJI..WEARY CAT FACE
 1F645..1F64F  ; So #  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
 1F680..1F6C5  ; So #  [70] ROCKET..LEFT LUGGAGE
 1F700..1F773  ; So # [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 
-# Total code points: 4398
+# Total code points: 4404
 
 # ================================================
 


Property changes on: vendor/perl/dist/lib/unicore/extracted/DGeneralCategory.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedJoiningGroup-6.0.0.txt
-# Date: 2010-07-17, 22:46:14 GMT [MD]
+# DerivedJoiningGroup-6.2.0.txt
+# Date: 2012-05-23, 20:34:47 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -48,8 +48,9 @@
 066E          ; Beh # Lo       ARABIC LETTER DOTLESS BEH
 0679..0680    ; Beh # Lo   [8] ARABIC LETTER TTEH..ARABIC LETTER BEHEH
 0750..0756    ; Beh # Lo   [7] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER BEH WITH SMALL V
+08A0          ; Beh # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
 
-# Total code points: 19
+# Total code points: 20
 
 # ================================================
 
@@ -86,8 +87,9 @@
 0641          ; Feh # Lo       ARABIC LETTER FEH
 06A1..06A6    ; Feh # Lo   [6] ARABIC LETTER DOTLESS FEH..ARABIC LETTER PEHEH
 0760..0761    ; Feh # Lo   [2] ARABIC LETTER FEH WITH TWO DOTS BELOW..ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW
+08A4          ; Feh # Lo       ARABIC LETTER FEH WITH DOT BELOW AND THREE DOTS ABOVE
 
-# Total code points: 9
+# Total code points: 10
 
 # ================================================
 
@@ -121,8 +123,9 @@
 076E..076F    ; Hah # Lo   [2] ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW..ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
 0772          ; Hah # Lo       ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
 077C          ; Hah # Lo       ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+08A2          ; Hah # Lo       ARABIC LETTER JEEM WITH TWO DOTS ABOVE
 
-# Total code points: 17
+# Total code points: 18
 
 # ================================================
 
@@ -180,8 +183,9 @@
 0644          ; Lam # Lo       ARABIC LETTER LAM
 06B5..06B8    ; Lam # Lo   [4] ARABIC LETTER LAM WITH SMALL V..ARABIC LETTER LAM WITH THREE DOTS BELOW
 076A          ; Lam # Lo       ARABIC LETTER LAM WITH BAR
+08A6          ; Lam # Lo       ARABIC LETTER LAM WITH DOUBLE BAR
 
-# Total code points: 6
+# Total code points: 7
 
 # ================================================
 
@@ -193,8 +197,9 @@
 
 0645          ; Meem # Lo       ARABIC LETTER MEEM
 0765..0766    ; Meem # Lo   [2] ARABIC LETTER MEEM WITH DOT ABOVE..ARABIC LETTER MEEM WITH DOT BELOW
+08A7          ; Meem # Lo       ARABIC LETTER MEEM WITH THREE DOTS ABOVE
 
-# Total code points: 3
+# Total code points: 4
 
 # ================================================
 
@@ -227,8 +232,9 @@
 0642          ; Qaf # Lo       ARABIC LETTER QAF
 066F          ; Qaf # Lo       ARABIC LETTER DOTLESS QAF
 06A7..06A8    ; Qaf # Lo   [2] ARABIC LETTER QAF WITH DOT ABOVE..ARABIC LETTER QAF WITH THREE DOTS ABOVE
+08A5          ; Qaf # Lo       ARABIC LETTER QAF WITH DOT BELOW
 
-# Total code points: 4
+# Total code points: 5
 
 # ================================================
 
@@ -244,8 +250,9 @@
 075B          ; Reh # Lo       ARABIC LETTER REH WITH STROKE
 076B..076C    ; Reh # Lo   [2] ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE..ARABIC LETTER REH WITH HAMZA ABOVE
 0771          ; Reh # Lo       ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
+08AA          ; Reh # Lo       ARABIC LETTER REH WITH LOOP
 
-# Total code points: 16
+# Total code points: 17
 
 # ================================================
 
@@ -301,8 +308,9 @@
 
 0637..0638    ; Tah # Lo   [2] ARABIC LETTER TAH..ARABIC LETTER ZAH
 069F          ; Tah # Lo       ARABIC LETTER TAH WITH THREE DOTS ABOVE
+08A3          ; Tah # Lo       ARABIC LETTER TAH WITH TWO DOTS ABOVE
 
-# Total code points: 3
+# Total code points: 4
 
 # ================================================
 
@@ -332,8 +340,9 @@
 06C4..06CB    ; Waw # Lo   [8] ARABIC LETTER WAW WITH RING..ARABIC LETTER VE
 06CF          ; Waw # Lo       ARABIC LETTER WAW WITH DOT ABOVE
 0778..0779    ; Waw # Lo   [2] ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+08AB          ; Waw # Lo       ARABIC LETTER WAW WITH DOT WITHIN
 
-# Total code points: 15
+# Total code points: 16
 
 # ================================================
 
@@ -349,8 +358,9 @@
 0678          ; Yeh # Lo       ARABIC LETTER HIGH HAMZA YEH
 06D0..06D1    ; Yeh # Lo   [2] ARABIC LETTER E..ARABIC LETTER YEH WITH THREE DOTS BELOW
 0777          ; Yeh # Lo       ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
+08A8..08A9    ; Yeh # Lo   [2] ARABIC LETTER YEH WITH TWO DOTS BELOW AND HAMZA ABOVE..ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
 
-# Total code points: 8
+# Total code points: 10
 
 # ================================================
 
@@ -421,4 +431,10 @@
 
 # Total code points: 1
 
+# ================================================
+
+08AC          ; Rohingya_Yeh # Lo       ARABIC LETTER ROHINGYA YEH
+
+# Total code points: 1
+
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/extracted/DJoinGroup.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DJoinType.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DJoinType.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DJoinType.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedJoiningType-6.0.0.txt
-# Date: 2010-08-19, 00:48:10 GMT [MD]
+# DerivedJoiningType-6.2.0.txt
+# Date: 2012-05-23, 20:34:48 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
@@ -58,8 +58,15 @@
 0775..0777    ; D # Lo   [3] ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW
 077A..077F    ; D # Lo   [6] ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER KAF WITH TWO DOTS ABOVE
 07CA..07EA    ; D # Lo  [33] NKO LETTER A..NKO LETTER JONA RA
+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
+0855          ; D # Lo       MANDAIC LETTER AT
+08A0          ; D # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08A9    ; D # Lo   [8] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER YEH WITH TWO DOTS BELOW AND DOT ABOVE
 
-# Total code points: 189
+# Total code points: 215
 
 # ================================================
 
@@ -93,8 +100,14 @@
 0771          ; R # Lo       ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
 0773..0774    ; R # Lo   [2] ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
 0778..0779    ; R # Lo   [2] ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE
+0840          ; R # Lo       MANDAIC LETTER HALQA
+0846          ; R # Lo       MANDAIC LETTER AZ
+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
 
-# Total code points: 74
+# Total code points: 82
 
 # ================================================
 
@@ -126,6 +139,7 @@
 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..08FE    ; T # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; T # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 093A          ; T # Mn       DEVANAGARI VOWEL SIGN OE
 093C          ; T # Mn       DEVANAGARI SIGN NUKTA
@@ -211,7 +225,7 @@
 1732..1734    ; T # Mn   [3] HANUNOO VOWEL SIGN I..HANUNOO SIGN PAMUDPOD
 1752..1753    ; T # Mn   [2] BUHID VOWEL SIGN I..BUHID VOWEL SIGN U
 1772..1773    ; T # Mn   [2] TAGBANWA VOWEL SIGN I..TAGBANWA VOWEL SIGN U
-17B4..17B5    ; T # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; T # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B7..17BD    ; T # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17C6          ; T # Mn       KHMER SIGN NIKAHIT
 17C9..17D3    ; T # Mn  [11] KHMER SIGN MUUSIKATOAN..KHMER SIGN BATHAMASAT
@@ -239,6 +253,7 @@
 1B80..1B81    ; T # Mn   [2] SUNDANESE SIGN PANYECEK..SUNDANESE SIGN PANGLAYAR
 1BA2..1BA5    ; T # Mn   [4] SUNDANESE CONSONANT SIGN PANYAKRA..SUNDANESE VOWEL SIGN PANYUKU
 1BA8..1BA9    ; T # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
+1BAB          ; T # Mn       SUNDANESE SIGN VIRAMA
 1BE6          ; T # Mn       BATAK SIGN TOMPI
 1BE8..1BE9    ; T # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
 1BED          ; T # Mn       BATAK VOWEL SIGN KARO O
@@ -249,6 +264,7 @@
 1CD4..1CE0    ; T # Mn  [13] VEDIC SIGN YAJURVEDIC MIDLINE SVARITA..VEDIC TONE RIGVEDIC KASHMIRI INDEPENDENT SVARITA
 1CE2..1CE8    ; T # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; T # Mn       VEDIC SIGN TIRYAK
+1CF4          ; T # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; T # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; T # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200B          ; T # Cf       ZERO WIDTH SPACE
@@ -264,11 +280,12 @@
 2CEF..2CF1    ; T # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D7F          ; T # Mn       TIFINAGH CONSONANT JOINER
 2DE0..2DFF    ; T # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F    ; T # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; T # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
 3099..309A    ; T # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; T # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; T # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D    ; T # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; T # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; T # Mn       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
@@ -292,6 +309,8 @@
 AAB7..AAB8    ; T # Mn   [2] TAI VIET MAI KHIT..TAI VIET VOWEL IA
 AABE..AABF    ; T # Mn   [2] TAI VIET VOWEL AM..TAI VIET TONE MAI EK
 AAC1          ; T # Mn       TAI VIET TONE MAI THO
+AAEC..AAED    ; T # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAF6          ; T # Mn       MEETEI MAYEK VIRAMA
 ABE5          ; T # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE8          ; T # Mn       MEETEI MAYEK VOWEL SIGN UNAP
 ABED          ; T # Mn       MEETEI MAYEK APUN IYEK
@@ -312,6 +331,16 @@
 110B3..110B6  ; T # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B9..110BA  ; T # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
 110BD         ; T # Cf       KAITHI NUMBER SIGN
+11100..11102  ; T # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; T # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112D..11134  ; T # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; T # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+111B6..111BE  ; T # Mn   [9] SHARADA VOWEL SIGN U..SHARADA VOWEL SIGN O
+116AB         ; T # Mn       TAKRI SIGN ANUSVARA
+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
+16F8F..16F92  ; T # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 1D167..1D169  ; T # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D173..1D17A  ; T # Cf   [8] MUSICAL SYMBOL BEGIN BEAM..MUSICAL SYMBOL END PHRASE
 1D17B..1D182  ; T # Mn   [8] MUSICAL SYMBOL COMBINING ACCENT..MUSICAL SYMBOL COMBINING LOURE
@@ -322,6 +351,6 @@
 E0020..E007F  ; T # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; T # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1344
+# Total code points: 1423
 
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/extracted/DJoinType.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,8 @@
-# DerivedLineBreak-6.0.0.txt
-# Date: 2010-08-19, 00:48:10 GMT [MD]
+# DerivedLineBreak-6.2.0.txt
+# Date: 2012-08-13, 19:20:17 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 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 @@
 F0000..FFFFD  ; XX # Co [65534] <private-use-F0000>..<private-use-FFFFD>
 100000..10FFFD; XX # Co [65534] <private-use-100000>..<private-use-10FFFD>
 
-# The above property value applies to 781599 code points not listed here.
-# Total code points: 919067
+# The above property value applies to 780869 code points not listed here.
+# Total code points: 918337
 
 # ================================================
 
@@ -263,43 +263,18 @@
 301C          ; NS # Pd       WAVE DASH
 303B          ; NS # Lm       VERTICAL IDEOGRAPHIC ITERATION MARK
 303C          ; NS # Lo       MASU MARK
-3041          ; NS # Lo       HIRAGANA LETTER SMALL A
-3043          ; NS # Lo       HIRAGANA LETTER SMALL I
-3045          ; NS # Lo       HIRAGANA LETTER SMALL U
-3047          ; NS # Lo       HIRAGANA LETTER SMALL E
-3049          ; NS # Lo       HIRAGANA LETTER SMALL O
-3063          ; NS # Lo       HIRAGANA LETTER SMALL TU
-3083          ; NS # Lo       HIRAGANA LETTER SMALL YA
-3085          ; NS # Lo       HIRAGANA LETTER SMALL YU
-3087          ; NS # Lo       HIRAGANA LETTER SMALL YO
-308E          ; NS # Lo       HIRAGANA LETTER SMALL WA
-3095..3096    ; NS # Lo   [2] HIRAGANA LETTER SMALL KA..HIRAGANA LETTER SMALL KE
 309B..309C    ; NS # Sk   [2] KATAKANA-HIRAGANA VOICED SOUND MARK..KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 309D..309E    ; NS # Lm   [2] HIRAGANA ITERATION MARK..HIRAGANA VOICED ITERATION MARK
 30A0          ; NS # Pd       KATAKANA-HIRAGANA DOUBLE HYPHEN
-30A1          ; NS # Lo       KATAKANA LETTER SMALL A
-30A3          ; NS # Lo       KATAKANA LETTER SMALL I
-30A5          ; NS # Lo       KATAKANA LETTER SMALL U
-30A7          ; NS # Lo       KATAKANA LETTER SMALL E
-30A9          ; NS # Lo       KATAKANA LETTER SMALL O
-30C3          ; NS # Lo       KATAKANA LETTER SMALL TU
-30E3          ; NS # Lo       KATAKANA LETTER SMALL YA
-30E5          ; NS # Lo       KATAKANA LETTER SMALL YU
-30E7          ; NS # Lo       KATAKANA LETTER SMALL YO
-30EE          ; NS # Lo       KATAKANA LETTER SMALL WA
-30F5..30F6    ; NS # Lo   [2] KATAKANA LETTER SMALL KA..KATAKANA LETTER SMALL KE
 30FB          ; NS # Po       KATAKANA MIDDLE DOT
-30FC..30FE    ; NS # Lm   [3] KATAKANA-HIRAGANA PROLONGED SOUND MARK..KATAKANA VOICED ITERATION MARK
-31F0..31FF    ; NS # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
+30FD..30FE    ; NS # Lm   [2] KATAKANA ITERATION MARK..KATAKANA VOICED ITERATION MARK
 A015          ; NS # Lm       YI SYLLABLE WU
 FE54..FE55    ; NS # Po   [2] SMALL SEMICOLON..SMALL COLON
 FF1A..FF1B    ; NS # Po   [2] FULLWIDTH COLON..FULLWIDTH SEMICOLON
 FF65          ; NS # Po       HALFWIDTH KATAKANA MIDDLE DOT
-FF67..FF6F    ; NS # Lo   [9] HALFWIDTH KATAKANA LETTER SMALL A..HALFWIDTH KATAKANA LETTER SMALL TU
-FF70          ; NS # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
 FF9E..FF9F    ; NS # Lm   [2] HALFWIDTH KATAKANA VOICED SOUND MARK..HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
 
-# Total code points: 77
+# Total code points: 26
 
 # ================================================
 
@@ -313,7 +288,7 @@
 06D4          ; EX # Po       ARABIC FULL STOP
 07F9          ; EX # Po       NKO EXCLAMATION MARK
 0F0D..0F11    ; EX # Po   [5] TIBETAN MARK SHAD..TIBETAN MARK RIN CHEN SPUNGS SHAD
-0F14          ; EX # So       TIBETAN MARK GTER TSHEG
+0F14          ; EX # Po       TIBETAN MARK GTER TSHEG
 1802..1803    ; EX # Po   [2] MONGOLIAN COMMA..MONGOLIAN FULL STOP
 1808..1809    ; EX # Po   [2] MONGOLIAN MANCHU COMMA..MONGOLIAN MANCHU FULL STOP
 1944..1945    ; EX # Po   [2] LIMBU EXCLAMATION MARK..LIMBU QUESTION MARK
@@ -364,6 +339,7 @@
 005C          ; PR # Po       REVERSE SOLIDUS
 00A3..00A5    ; PR # Sc   [3] POUND SIGN..YEN SIGN
 00B1          ; PR # Sm       PLUS-MINUS SIGN
+058F          ; PR # Sc       ARMENIAN DRAM SIGN
 09FB          ; PR # Sc       BENGALI GANDA MARK
 0AF1          ; PR # Sc       GUJARATI RUPEE SIGN
 0BF9          ; PR # Sc       TAMIL RUPEE SIGN
@@ -371,7 +347,7 @@
 17DB          ; PR # Sc       KHMER CURRENCY SYMBOL RIEL
 20A0..20A6    ; PR # Sc   [7] EURO-CURRENCY SIGN..NAIRA SIGN
 20A8..20B5    ; PR # Sc  [14] RUPEE SIGN..CEDI SIGN
-20B7..20B9    ; PR # Sc   [3] SPESMILO SIGN..INDIAN RUPEE SIGN
+20B7..20BA    ; PR # Sc   [4] SPESMILO SIGN..TURKISH LIRA SIGN
 2116          ; PR # So       NUMERO SIGN
 2212..2213    ; PR # Sm   [2] MINUS SIGN..MINUS-OR-PLUS SIGN
 FE69          ; PR # Sc       SMALL DOLLAR SIGN
@@ -379,7 +355,7 @@
 FFE1          ; PR # Sc       FULLWIDTH POUND SIGN
 FFE5..FFE6    ; PR # Sc   [2] FULLWIDTH YEN SIGN..FULLWIDTH WON SIGN
 
-# Total code points: 44
+# Total code points: 46
 
 # ================================================
 
@@ -448,9 +424,13 @@
 ABF0..ABF9    ; NU # Nd  [10] MEETEI MAYEK DIGIT ZERO..MEETEI MAYEK DIGIT NINE
 104A0..104A9  ; NU # Nd  [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
 11066..1106F  ; NU # Nd  [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE
+110F0..110F9  ; NU # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11136..1113F  ; NU # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+111D0..111D9  ; NU # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+116C0..116C9  ; NU # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
 1D7CE..1D7FF  ; NU # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 
-# Total code points: 412
+# Total code points: 452
 
 # ================================================
 
@@ -519,10 +499,8 @@
 0561..0587    ; AL # L&  [39] ARMENIAN SMALL LETTER AYB..ARMENIAN SMALL LIGATURE ECH YIWN
 05C0          ; AL # Po       HEBREW PUNCTUATION PASEQ
 05C3          ; AL # Po       HEBREW PUNCTUATION SOF PASUQ
-05D0..05EA    ; AL # Lo  [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
-05F0..05F2    ; AL # Lo   [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
 05F3..05F4    ; AL # Po   [2] HEBREW PUNCTUATION GERESH..HEBREW PUNCTUATION GERSHAYIM
-0600..0603    ; AL # Cf   [4] ARABIC NUMBER SIGN..ARABIC SIGN SAFHA
+0600..0604    ; AL # Cf   [5] ARABIC NUMBER SIGN..ARABIC SIGN SAMVAT
 0606..0608    ; AL # Sm   [3] ARABIC-INDIC CUBE ROOT..ARABIC RAY
 060E..060F    ; AL # So   [2] ARABIC POETIC VERSE SIGN..ARABIC SIGN MISRA
 0620..063F    ; AL # Lo  [32] ARABIC LETTER KASHMIRI YEH..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
@@ -558,6 +536,8 @@
 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          ; AL # Lo       ARABIC LETTER BEH WITH SMALL V BELOW
+08A2..08AC    ; AL # Lo  [11] ARABIC LETTER JEEM WITH TWO DOTS ABOVE..ARABIC LETTER ROHINGYA YEH
 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 +578,7 @@
 0ABD          ; AL # Lo       GUJARATI SIGN AVAGRAHA
 0AD0          ; AL # Lo       GUJARATI OM
 0AE0..0AE1    ; AL # Lo   [2] GUJARATI LETTER VOCALIC RR..GUJARATI LETTER VOCALIC LL
+0AF0          ; AL # Po       GUJARATI ABBREVIATION SIGN
 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
@@ -676,9 +657,12 @@
 0FD5..0FD8    ; AL # So   [4] RIGHT-FACING SVASTI SIGN..LEFT-FACING SVASTI SIGN WITH DOTS
 104C..104F    ; AL # Po   [4] MYANMAR SYMBOL LOCATIVE..MYANMAR SYMBOL GENITIVE
 10A0..10C5    ; AL # L&  [38] GEORGIAN CAPITAL LETTER AN..GEORGIAN CAPITAL LETTER HOE
+10C7          ; AL # L&       GEORGIAN CAPITAL LETTER YN
+10CD          ; AL # L&       GEORGIAN CAPITAL LETTER AEN
 10D0..10FA    ; AL # Lo  [43] GEORGIAN LETTER AN..GEORGIAN LETTER AIN
 10FB          ; AL # Po       GEORGIAN PARAGRAPH SEPARATOR
 10FC          ; AL # Lm       MODIFIER LETTER GEORGIAN NAR
+10FD..10FF    ; AL # Lo   [3] GEORGIAN LETTER AEN..GEORGIAN LETTER LABIAL SIGN
 1200..1248    ; AL # Lo  [73] ETHIOPIC SYLLABLE HA..ETHIOPIC SYLLABLE QWA
 124A..124D    ; AL # Lo   [4] ETHIOPIC SYLLABLE QWI..ETHIOPIC SYLLABLE QWE
 1250..1256    ; AL # Lo   [7] ETHIOPIC SYLLABLE QHA..ETHIOPIC SYLLABLE QHO
@@ -695,7 +679,7 @@
 12D8..1310    ; AL # Lo  [57] ETHIOPIC SYLLABLE ZA..ETHIOPIC SYLLABLE GWA
 1312..1315    ; AL # Lo   [4] ETHIOPIC SYLLABLE GWI..ETHIOPIC SYLLABLE GWE
 1318..135A    ; AL # Lo  [67] ETHIOPIC SYLLABLE GGA..ETHIOPIC SYLLABLE FYA
-1360          ; AL # So       ETHIOPIC SECTION MARK
+1360          ; AL # Po       ETHIOPIC SECTION MARK
 1362..1368    ; AL # Po   [7] ETHIOPIC FULL STOP..ETHIOPIC PARAGRAPH SEPARATOR
 1369..137C    ; AL # No  [20] ETHIOPIC DIGIT ONE..ETHIOPIC NUMBER TEN THOUSAND
 1380..138F    ; AL # Lo  [16] ETHIOPIC SYLLABLE SEBATBEIT MWA..ETHIOPIC SYLLABLE PWE
@@ -736,18 +720,20 @@
 1B74..1B7C    ; AL # So   [9] BALINESE MUSICAL SYMBOL RIGHT-HAND OPEN DUG..BALINESE MUSICAL SYMBOL LEFT-HAND OPEN PING
 1B83..1BA0    ; AL # Lo  [30] SUNDANESE LETTER A..SUNDANESE LETTER HA
 1BAE..1BAF    ; AL # Lo   [2] SUNDANESE LETTER KHA..SUNDANESE LETTER SYA
-1BC0..1BE5    ; AL # Lo  [38] BATAK LETTER A..BATAK LETTER U
+1BBA..1BE5    ; AL # Lo  [44] SUNDANESE AVAGRAHA..BATAK LETTER U
 1BFC..1BFF    ; AL # Po   [4] BATAK SYMBOL BINDU NA METEK..BATAK SYMBOL BINDU PANGOLAT
 1C00..1C23    ; AL # Lo  [36] LEPCHA LETTER KA..LEPCHA LETTER A
 1C4D..1C4F    ; AL # Lo   [3] LEPCHA LETTER TTA..LEPCHA LETTER DDA
 1C5A..1C77    ; AL # Lo  [30] OL CHIKI LETTER LA..OL CHIKI LETTER OH
 1C78..1C7D    ; AL # Lm   [6] OL CHIKI MU TTUDDAG..OL CHIKI AHAD
+1CC0..1CC7    ; AL # Po   [8] SUNDANESE PUNCTUATION BINDU SURYA..SUNDANESE PUNCTUATION BINDU BA SATANGA
 1CD3          ; AL # Po       VEDIC SIGN NIHSHVASA
 1CE9..1CEC    ; AL # Lo   [4] VEDIC SIGN ANUSVARA ANTARGOMUKHA..VEDIC SIGN ANUSVARA VAMAGOMUKHA WITH TAIL
 1CEE..1CF1    ; AL # Lo   [4] VEDIC SIGN HEXIFORM LONG ANUSVARA..VEDIC SIGN ANUSVARA UBHAYATO MUKHA
+1CF5..1CF6    ; AL # Lo   [2] VEDIC SIGN JIHVAMULIYA..VEDIC SIGN UPADHMANIYA
 1D00..1D2B    ; AL # L&  [44] LATIN LETTER SMALL CAPITAL A..CYRILLIC LETTER SMALL CAPITAL EL
-1D2C..1D61    ; AL # Lm  [54] MODIFIER LETTER CAPITAL A..MODIFIER LETTER SMALL CHI
-1D62..1D77    ; AL # L&  [22] LATIN SUBSCRIPT SMALL LETTER I..LATIN SMALL LETTER TURNED G
+1D2C..1D6A    ; AL # Lm  [63] MODIFIER LETTER CAPITAL A..GREEK SUBSCRIPT SMALL LETTER CHI
+1D6B..1D77    ; AL # L&  [13] LATIN SMALL LETTER UE..LATIN SMALL LETTER TURNED G
 1D78          ; AL # Lm       MODIFIER LETTER CYRILLIC EN
 1D79..1D9A    ; AL # L&  [34] LATIN SMALL LETTER INSULAR G..LATIN SMALL LETTER EZH WITH RETROFLEX HOOK
 1D9B..1DBF    ; AL # Lm  [37] MODIFIER LETTER SMALL TURNED ALPHA..MODIFIER LETTER SMALL THETA
@@ -887,7 +873,8 @@
 2300..2307    ; AL # So   [8] DIAMETER SIGN..WAVY LINE
 2308..230B    ; AL # Sm   [4] LEFT CEILING..RIGHT FLOOR
 230C..2311    ; AL # So   [6] BOTTOM RIGHT CROP..SQUARE LOZENGE
-2313..231F    ; AL # So  [13] SEGMENT..BOTTOM RIGHT CORNER
+2313..2319    ; AL # So   [7] SEGMENT..TURNED NOT SIGN
+231C..231F    ; AL # So   [4] TOP LEFT CORNER..BOTTOM RIGHT CORNER
 2320..2321    ; AL # Sm   [2] TOP HALF INTEGRAL..BOTTOM HALF INTEGRAL
 2322..2328    ; AL # So   [7] FROWN..KEYBOARD
 232B..237B    ; AL # So  [81] ERASE TO THE LEFT..NOT CHECK MARK
@@ -896,7 +883,7 @@
 239B..23B3    ; AL # Sm  [25] LEFT PARENTHESIS UPPER HOOK..SUMMATION BOTTOM
 23B4..23DB    ; AL # So  [40] TOP SQUARE BRACKET..FUSE
 23DC..23E1    ; AL # Sm   [6] TOP PARENTHESIS..BOTTOM TORTOISE SHELL BRACKET
-23E2..23F3    ; AL # So  [18] WHITE TRAPEZIUM..HOURGLASS WITH FLOWING SAND
+23E2..23EF    ; AL # So  [14] WHITE TRAPEZIUM..BLACK RIGHT-POINTING TRIANGLE WITH DOUBLE VERTICAL BAR
 2400..2426    ; AL # So  [39] SYMBOL FOR NULL..SYMBOL FOR SUBSTITUTE FORM TWO
 2440..244A    ; AL # So  [11] OCR HOOK..OCR DOUBLE BACKSLASH
 24FF          ; AL # No       NEGATIVE CIRCLED DIGIT ZERO
@@ -916,13 +903,13 @@
 25E6..25EE    ; AL # So   [9] WHITE BULLET..UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
 25F0..25F7    ; AL # So   [8] WHITE SQUARE WITH UPPER LEFT QUADRANT..WHITE CIRCLE WITH UPPER RIGHT QUADRANT
 25F8..25FF    ; AL # Sm   [8] UPPER LEFT TRIANGLE..LOWER RIGHT TRIANGLE
-2600..2604    ; AL # So   [5] BLACK SUN WITH RAYS..COMET
+2604          ; AL # So       COMET
 2607..2608    ; AL # So   [2] LIGHTNING..THUNDERSTORM
 260A..260D    ; AL # So   [4] ASCENDING NODE..OPPOSITION
 2610..2613    ; AL # So   [4] BALLOT BOX..SALTIRE
-2618..261B    ; AL # So   [4] SHAMROCK..BLACK RIGHT POINTING INDEX
-261D          ; AL # So       WHITE UP POINTING INDEX
-261F..263F    ; AL # So  [33] WHITE DOWN POINTING INDEX..MERCURY
+2619          ; AL # So       REVERSED ROTATED FLORAL HEART BULLET
+2620..2638    ; AL # So  [25] SKULL AND CROSSBONES..WHEEL OF DHARMA
+263C..263F    ; AL # So   [4] WHITE SUN WITH RAYS..MERCURY
 2641          ; AL # So       EARTH
 2643..265F    ; AL # So  [29] JUPITER..BLACK CHESS PAWN
 2662          ; AL # So       WHITE DIAMOND SUIT
@@ -929,21 +916,20 @@
 2666          ; AL # So       BLACK DIAMOND SUIT
 266B          ; AL # So       BEAMED EIGHTH NOTES
 266E          ; AL # So       MUSIC NATURAL SIGN
-2670..269D    ; AL # So  [46] WEST SYRIAC CROSS..OUTLINED WHITE STAR
-26A0..26BD    ; AL # So  [30] WARNING SIGN..SOCCER BALL
-26C0..26C3    ; AL # So   [4] WHITE DRAUGHTS MAN..BLACK DRAUGHTS KING
+2670..267E    ; AL # So  [15] WEST SYRIAC CROSS..PERMANENT PAPER SIGN
+2680..269D    ; AL # So  [30] DIE FACE-1..OUTLINED WHITE STAR
+26A0..26BC    ; AL # So  [29] WARNING SIGN..SESQUIQUADRATE
 26CE          ; AL # So       OPHIUCHUS
 26E2          ; AL # So       ASTRONOMICAL SYMBOL FOR URANUS
 26E4..26E7    ; AL # So   [4] PENTAGRAM..INVERTED PENTAGRAM
-2701..2756    ; AL # So  [86] UPPER BLADE SCISSORS..BLACK DIAMOND MINUS WHITE X
+2705..2707    ; AL # So   [3] WHITE HEAVY CHECK MARK..TAPE DRIVE
+270E..2756    ; AL # So  [73] LOWER RIGHT PENCIL..BLACK DIAMOND MINUS WHITE X
 2758..275A    ; AL # So   [3] LIGHT VERTICAL BAR..HEAVY VERTICAL BAR
 275F..2761    ; AL # So   [3] HEAVY LOW SINGLE COMMA QUOTATION MARK ORNAMENT..CURVED STEM PARAGRAPH SIGN ORNAMENT
 2764..2767    ; AL # So   [4] HEAVY BLACK HEART..ROTATED FLORAL HEART BULLET
 2794..27BF    ; AL # So  [44] HEAVY WIDE-HEADED RIGHTWARDS ARROW..DOUBLE CURLY LOOP
 27C0..27C4    ; AL # Sm   [5] THREE DIMENSIONAL ANGLE..OPEN SUPERSET
-27C7..27CA    ; AL # Sm   [4] OR WITH DOT INSIDE..VERTICAL BAR WITH HORIZONTAL STROKE
-27CC          ; AL # Sm       LONG DIVISION
-27CE..27E5    ; AL # Sm  [24] SQUARED LOGICAL AND..WHITE SQUARE WITH RIGHTWARDS TICK
+27C7..27E5    ; AL # Sm  [31] OR WITH DOT INSIDE..WHITE SQUARE WITH RIGHTWARDS TICK
 27F0..27FF    ; AL # Sm  [16] UPWARDS QUADRUPLE ARROW..LONG RIGHTWARDS SQUIGGLE ARROW
 2800..28FF    ; AL # So [256] BRAILLE PATTERN BLANK..BRAILLE PATTERN DOTS-12345678
 2900..2982    ; AL # Sm [131] RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE..Z NOTATION TYPE COLON
@@ -957,14 +943,17 @@
 2B50..2B54    ; AL # So   [5] WHITE MEDIUM STAR..WHITE RIGHT-POINTING PENTAGON
 2C00..2C2E    ; AL # L&  [47] GLAGOLITIC CAPITAL LETTER AZU..GLAGOLITIC CAPITAL LETTER LATINATE MYSLITE
 2C30..2C5E    ; AL # L&  [47] GLAGOLITIC SMALL LETTER AZU..GLAGOLITIC SMALL LETTER LATINATE MYSLITE
-2C60..2C7C    ; AL # L&  [29] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN SUBSCRIPT SMALL LETTER J
-2C7D          ; AL # Lm       MODIFIER LETTER CAPITAL V
+2C60..2C7B    ; AL # L&  [28] LATIN CAPITAL LETTER L WITH DOUBLE BAR..LATIN LETTER SMALL CAPITAL TURNED E
+2C7C..2C7D    ; AL # Lm   [2] LATIN SUBSCRIPT SMALL LETTER J..MODIFIER LETTER CAPITAL V
 2C7E..2CE4    ; AL # L& [103] LATIN CAPITAL LETTER S WITH SWASH TAIL..COPTIC SYMBOL KAI
 2CE5..2CEA    ; AL # So   [6] COPTIC SYMBOL MI RO..COPTIC SYMBOL SHIMA SIMA
 2CEB..2CEE    ; AL # L&   [4] COPTIC CAPITAL LETTER CRYPTOGRAMMIC SHEI..COPTIC SMALL LETTER CRYPTOGRAMMIC GANGIA
+2CF2..2CF3    ; AL # L&   [2] COPTIC CAPITAL LETTER BOHAIRIC KHEI..COPTIC SMALL LETTER BOHAIRIC KHEI
 2CFD          ; AL # No       COPTIC FRACTION ONE HALF
 2D00..2D25    ; AL # L&  [38] GEORGIAN SMALL LETTER AN..GEORGIAN SMALL LETTER HOE
-2D30..2D65    ; AL # Lo  [54] TIFINAGH LETTER YA..TIFINAGH LETTER YAZZ
+2D27          ; AL # L&       GEORGIAN SMALL LETTER YN
+2D2D          ; AL # L&       GEORGIAN SMALL LETTER AEN
+2D30..2D67    ; AL # Lo  [56] TIFINAGH LETTER YA..TIFINAGH LETTER YO
 2D6F          ; AL # Lm       TIFINAGH MODIFIER LETTER LABIALIZATION MARK
 2D80..2D96    ; AL # Lo  [23] ETHIOPIC SYLLABLE LOA..ETHIOPIC SYLLABLE GGWE
 2DA0..2DA6    ; AL # Lo   [7] ETHIOPIC SYLLABLE SSA..ETHIOPIC SYLLABLE SSO
@@ -980,6 +969,8 @@
 2E1B          ; AL # Po       TILDE WITH RING ABOVE
 2E1E..2E1F    ; AL # Po   [2] TILDE WITH DOT ABOVE..TILDE WITH DOT BELOW
 2E2F          ; AL # Lm       VERTICAL TILDE
+2E32          ; AL # Po       TURNED COMMA
+2E35..2E39    ; AL # Po   [5] TURNED SEMICOLON..TOP HALF SECTION SIGN
 4DC0..4DFF    ; AL # So  [64] HEXAGRAM FOR THE CREATIVE HEAVEN..HEXAGRAM FOR BEFORE COMPLETION
 A4D0..A4F7    ; AL # Lo  [40] LISU LETTER BA..LISU LETTER OE
 A4F8..A4FD    ; AL # Lm   [6] LISU LETTER TONE MYA TI..LISU LETTER TONE MYA JEU
@@ -1005,8 +996,9 @@
 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
-A790..A791    ; AL # L&   [2] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER N WITH DESCENDER
-A7A0..A7A9    ; AL # L&  [10] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN SMALL LETTER S WITH OBLIQUE STROKE
+A790..A793    ; AL # L&   [4] LATIN CAPITAL LETTER N WITH DESCENDER..LATIN SMALL LETTER C WITH BAR
+A7A0..A7AA    ; AL # L&  [11] LATIN CAPITAL LETTER G WITH OBLIQUE STROKE..LATIN CAPITAL LETTER H WITH HOOK
+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
 A7FB..A801    ; AL # Lo   [7] LATIN EPIGRAPHIC LETTER REVERSED F..SYLOTI NAGRI LETTER I
 A803..A805    ; AL # Lo   [3] SYLOTI NAGRI LETTER U..SYLOTI NAGRI LETTER O
@@ -1033,6 +1025,9 @@
 AA40..AA42    ; AL # Lo   [3] CHAM LETTER FINAL K..CHAM LETTER FINAL NG
 AA44..AA4B    ; AL # Lo   [8] CHAM LETTER FINAL CH..CHAM LETTER FINAL SS
 AA5C          ; AL # Po       CHAM PUNCTUATION SPIRAL
+AAE0..AAEA    ; AL # Lo  [11] MEETEI MAYEK LETTER E..MEETEI MAYEK LETTER SSA
+AAF2          ; AL # Lo       MEETEI MAYEK ANJI
+AAF3..AAF4    ; AL # Lm   [2] MEETEI MAYEK SYLLABLE REPETITION MARK..MEETEI MAYEK WORD REPETITION MARK
 AB01..AB06    ; AL # Lo   [6] ETHIOPIC SYLLABLE TTHU..ETHIOPIC SYLLABLE TTHO
 AB09..AB0E    ; AL # Lo   [6] ETHIOPIC SYLLABLE DDHU..ETHIOPIC SYLLABLE DDHO
 AB11..AB16    ; AL # Lo   [6] ETHIOPIC SYLLABLE DZU..ETHIOPIC SYLLABLE DZO
@@ -1041,15 +1036,8 @@
 ABC0..ABE2    ; AL # Lo  [35] MEETEI MAYEK LETTER KOK..MEETEI MAYEK LETTER I LONSUM
 FB00..FB06    ; AL # L&   [7] LATIN SMALL LIGATURE FF..LATIN SMALL LIGATURE ST
 FB13..FB17    ; AL # L&   [5] ARMENIAN SMALL LIGATURE MEN NOW..ARMENIAN SMALL LIGATURE MEN XEH
-FB1D          ; AL # Lo       HEBREW LETTER YOD WITH HIRIQ
-FB1F..FB28    ; AL # Lo  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
 FB29          ; AL # Sm       HEBREW LETTER ALTERNATIVE PLUS SIGN
-FB2A..FB36    ; AL # Lo  [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
-FB38..FB3C    ; AL # Lo   [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
-FB3E          ; AL # Lo       HEBREW LETTER MEM WITH DAGESH
-FB40..FB41    ; AL # Lo   [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
-FB43..FB44    ; AL # Lo   [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
-FB46..FBB1    ; AL # Lo [108] HEBREW LETTER TSADI WITH DAGESH..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+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
 FBD3..FD3D    ; AL # Lo [363] ARABIC LETTER NG ISOLATED FORM..ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM
 FD50..FD8F    ; AL # Lo  [64] ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM..ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM
@@ -1108,6 +1096,8 @@
 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
+109BE..109BF  ; AL # Lo   [2] MEROITIC CURSIVE LOGOGRAM RMT..MEROITIC CURSIVE LOGOGRAM IMN
 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
@@ -1130,6 +1120,12 @@
 11083..110AF  ; AL # Lo  [45] KAITHI LETTER A..KAITHI LETTER HA
 110BB..110BC  ; AL # Po   [2] KAITHI ABBREVIATION SIGN..KAITHI ENUMERATION SIGN
 110BD         ; AL # Cf       KAITHI NUMBER SIGN
+110D0..110E8  ; AL # Lo  [25] SORA SOMPENG LETTER SAH..SORA SOMPENG LETTER MAE
+11103..11126  ; AL # Lo  [36] CHAKMA LETTER AA..CHAKMA LETTER HAA
+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
+11680..116AA  ; AL # Lo  [43] TAKRI LETTER A..TAKRI LETTER RRA
 12000..1236E  ; AL # Lo [879] CUNEIFORM SIGN A..CUNEIFORM SIGN ZUM
 12400..12462  ; AL # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 13000..13257  ; AL # Lo [600] EGYPTIAN HIEROGLYPH A001..EGYPTIAN HIEROGLYPH O006
@@ -1138,6 +1134,9 @@
 1328A..13378  ; AL # Lo [239] EGYPTIAN HIEROGLYPH O037..EGYPTIAN HIEROGLYPH V011
 1337C..1342E  ; AL # Lo [179] EGYPTIAN HIEROGLYPH V012..EGYPTIAN HIEROGLYPH AA032
 16800..16A38  ; AL # Lo [569] BAMUM LETTER PHASE-A NGKUE MFON..BAMUM LETTER PHASE-F VUEQ
+16F00..16F44  ; AL # Lo  [69] MIAO LETTER PA..MIAO LETTER HHA
+16F50         ; AL # Lo       MIAO LETTER NASALIZATION
+16F93..16F9F  ; AL # Lm  [13] MIAO LETTER TONE-2..MIAO LETTER REFORMED TONE-8
 1D000..1D0F5  ; AL # So [246] BYZANTINE MUSICAL SYMBOL PSILI..BYZANTINE MUSICAL SYMBOL GORGON NEO KATO
 1D100..1D126  ; AL # So  [39] MUSICAL SYMBOL SINGLE BARLINE..MUSICAL SYMBOL DRUM CLEF-2
 1D129..1D164  ; AL # So  [60] MUSICAL SYMBOL MULTIPLE MEASURE REST..MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE
@@ -1189,49 +1188,83 @@
 1D7AA..1D7C2  ; AL # L&  [25] MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA..MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA
 1D7C3         ; AL # Sm       MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
 1D7C4..1D7CB  ; AL # L&   [8] MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL..MATHEMATICAL BOLD SMALL DIGAMMA
-1F000..1F02B  ; AL # So  [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
-1F030..1F093  ; AL # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
-1F0A0..1F0AE  ; AL # So  [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES
-1F0B1..1F0BE  ; AL # So  [14] PLAYING CARD ACE OF HEARTS..PLAYING CARD KING OF HEARTS
-1F0C1..1F0CF  ; AL # So  [15] PLAYING CARD ACE OF DIAMONDS..PLAYING CARD BLACK JOKER
-1F0D1..1F0DF  ; AL # So  [15] PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER
+1EE00..1EE03  ; AL # Lo   [4] ARABIC MATHEMATICAL ALEF..ARABIC MATHEMATICAL DAL
+1EE05..1EE1F  ; AL # Lo  [27] ARABIC MATHEMATICAL WAW..ARABIC MATHEMATICAL DOTLESS QAF
+1EE21..1EE22  ; AL # Lo   [2] ARABIC MATHEMATICAL INITIAL BEH..ARABIC MATHEMATICAL INITIAL JEEM
+1EE24         ; AL # Lo       ARABIC MATHEMATICAL INITIAL HEH
+1EE27         ; AL # Lo       ARABIC MATHEMATICAL INITIAL HAH
+1EE29..1EE32  ; AL # Lo  [10] ARABIC MATHEMATICAL INITIAL YEH..ARABIC MATHEMATICAL INITIAL QAF
+1EE34..1EE37  ; AL # Lo   [4] ARABIC MATHEMATICAL INITIAL SHEEN..ARABIC MATHEMATICAL INITIAL KHAH
+1EE39         ; AL # Lo       ARABIC MATHEMATICAL INITIAL DAD
+1EE3B         ; AL # Lo       ARABIC MATHEMATICAL INITIAL GHAIN
+1EE42         ; AL # Lo       ARABIC MATHEMATICAL TAILED JEEM
+1EE47         ; AL # Lo       ARABIC MATHEMATICAL TAILED HAH
+1EE49         ; AL # Lo       ARABIC MATHEMATICAL TAILED YEH
+1EE4B         ; AL # Lo       ARABIC MATHEMATICAL TAILED LAM
+1EE4D..1EE4F  ; AL # Lo   [3] ARABIC MATHEMATICAL TAILED NOON..ARABIC MATHEMATICAL TAILED AIN
+1EE51..1EE52  ; AL # Lo   [2] ARABIC MATHEMATICAL TAILED SAD..ARABIC MATHEMATICAL TAILED QAF
+1EE54         ; AL # Lo       ARABIC MATHEMATICAL TAILED SHEEN
+1EE57         ; AL # Lo       ARABIC MATHEMATICAL TAILED KHAH
+1EE59         ; AL # Lo       ARABIC MATHEMATICAL TAILED DAD
+1EE5B         ; AL # Lo       ARABIC MATHEMATICAL TAILED GHAIN
+1EE5D         ; AL # Lo       ARABIC MATHEMATICAL TAILED DOTLESS NOON
+1EE5F         ; AL # Lo       ARABIC MATHEMATICAL TAILED DOTLESS QAF
+1EE61..1EE62  ; AL # Lo   [2] ARABIC MATHEMATICAL STRETCHED BEH..ARABIC MATHEMATICAL STRETCHED JEEM
+1EE64         ; AL # Lo       ARABIC MATHEMATICAL STRETCHED HEH
+1EE67..1EE6A  ; AL # Lo   [4] ARABIC MATHEMATICAL STRETCHED HAH..ARABIC MATHEMATICAL STRETCHED KAF
+1EE6C..1EE72  ; AL # Lo   [7] ARABIC MATHEMATICAL STRETCHED MEEM..ARABIC MATHEMATICAL STRETCHED QAF
+1EE74..1EE77  ; AL # Lo   [4] ARABIC MATHEMATICAL STRETCHED SHEEN..ARABIC MATHEMATICAL STRETCHED KHAH
+1EE79..1EE7C  ; AL # Lo   [4] ARABIC MATHEMATICAL STRETCHED DAD..ARABIC MATHEMATICAL STRETCHED DOTLESS BEH
+1EE7E         ; AL # Lo       ARABIC MATHEMATICAL STRETCHED DOTLESS FEH
+1EE80..1EE89  ; AL # Lo  [10] ARABIC MATHEMATICAL LOOPED ALEF..ARABIC MATHEMATICAL LOOPED YEH
+1EE8B..1EE9B  ; AL # Lo  [17] ARABIC MATHEMATICAL LOOPED LAM..ARABIC MATHEMATICAL LOOPED GHAIN
+1EEA1..1EEA3  ; AL # Lo   [3] ARABIC MATHEMATICAL DOUBLE-STRUCK BEH..ARABIC MATHEMATICAL DOUBLE-STRUCK DAL
+1EEA5..1EEA9  ; AL # Lo   [5] ARABIC MATHEMATICAL DOUBLE-STRUCK WAW..ARABIC MATHEMATICAL DOUBLE-STRUCK YEH
+1EEAB..1EEBB  ; AL # Lo  [17] ARABIC MATHEMATICAL DOUBLE-STRUCK LAM..ARABIC MATHEMATICAL DOUBLE-STRUCK GHAIN
+1EEF0..1EEF1  ; AL # Sm   [2] ARABIC MATHEMATICAL OPERATOR MEEM WITH HAH WITH TATWEEL..ARABIC MATHEMATICAL OPERATOR HAH WITH DAL
 1F12E         ; AL # So       CIRCLED WZ
-1F1E6..1F1FF  ; AL # So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
-1F300..1F320  ; AL # So  [33] CYCLONE..SHOOTING STAR
-1F330..1F335  ; AL # So   [6] CHESTNUT..CACTUS
-1F337..1F37C  ; AL # So  [70] TULIP..BABY BOTTLE
-1F380..1F393  ; AL # So  [20] RIBBON..GRADUATION CAP
-1F3A0..1F3C4  ; AL # So  [37] CAROUSEL HORSE..SURFER
-1F3C6..1F3CA  ; AL # So   [5] TROPHY..SWIMMER
-1F3E0..1F3F0  ; AL # So  [17] HOUSE BUILDING..EUROPEAN CASTLE
-1F400..1F43E  ; AL # So  [63] RAT..PAW PRINTS
-1F440         ; AL # So       EYES
-1F442..1F4F7  ; AL # So [182] EAR..CAMERA
-1F4F9..1F4FC  ; AL # So   [4] VIDEO CAMERA..VIDEOCASSETTE
-1F500..1F53D  ; AL # So  [62] TWISTED RIGHTWARDS ARROWS..DOWN-POINTING SMALL RED TRIANGLE
-1F550..1F567  ; AL # So  [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY
-1F5FB..1F5FF  ; AL # So   [5] MOUNT FUJI..MOYAI
-1F601..1F610  ; AL # So  [16] GRINNING FACE WITH SMILING EYES..NEUTRAL FACE
-1F612..1F614  ; AL # So   [3] UNAMUSED FACE..PENSIVE FACE
-1F616         ; AL # So       CONFOUNDED FACE
-1F618         ; AL # So       FACE THROWING A KISS
-1F61A         ; AL # So       KISSING FACE WITH CLOSED EYES
-1F61C..1F61E  ; AL # So   [3] FACE WITH STUCK-OUT TONGUE AND WINKING EYE..DISAPPOINTED FACE
-1F620..1F625  ; AL # So   [6] ANGRY FACE..DISAPPOINTED BUT RELIEVED FACE
-1F628..1F62B  ; AL # So   [4] FEARFUL FACE..TIRED FACE
-1F62D         ; AL # So       LOUDLY CRYING FACE
-1F630..1F633  ; AL # So   [4] FACE WITH OPEN MOUTH AND COLD SWEAT..FLUSHED FACE
-1F635..1F640  ; AL # So  [12] DIZZY FACE..WEARY CAT FACE
-1F645..1F64F  ; AL # So  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
-1F680..1F6C5  ; AL # So  [70] ROCKET..LEFT LUGGAGE
+1F16A..1F16B  ; AL # So   [2] RAISED MC SIGN..RAISED MD SIGN
+1F3B5..1F3B6  ; AL # So   [2] MUSICAL NOTE..MULTIPLE MUSICAL NOTES
+1F3BC         ; AL # So       MUSICAL SCORE
+1F4A0         ; AL # So       DIAMOND SHAPE WITH A DOT INSIDE
+1F4A2         ; AL # So       ANGER SYMBOL
+1F4A4         ; AL # So       SLEEPING SYMBOL
+1F4AF         ; AL # So       HUNDRED POINTS SYMBOL
+1F4B1..1F4B2  ; AL # So   [2] CURRENCY EXCHANGE..HEAVY DOLLAR SIGN
+1F500..1F506  ; AL # So   [7] TWISTED RIGHTWARDS ARROWS..HIGH BRIGHTNESS SYMBOL
+1F517..1F524  ; AL # So  [14] LINK SYMBOL..INPUT SYMBOL FOR LATIN LETTERS
+1F532..1F53D  ; AL # So  [12] BLACK SQUARE BUTTON..DOWN-POINTING SMALL RED TRIANGLE
+1F540..1F543  ; AL # So   [4] CIRCLED CROSS POMMEE..NOTCHED LEFT SEMICIRCLE WITH THREE DOTS
 1F700..1F773  ; AL # So [116] ALCHEMICAL SYMBOL FOR QUINTESSENCE..ALCHEMICAL SYMBOL FOR HALF OUNCE
 
-# Total code points: 15797
+# Total code points: 15355
 
 # ================================================
 
 # Line_Break=Ideographic
 
+231A..231B    ; ID # So   [2] WATCH..HOURGLASS
+23F0..23F3    ; ID # So   [4] ALARM CLOCK..HOURGLASS WITH FLOWING SAND
+2600..2603    ; ID # So   [4] BLACK SUN WITH RAYS..SNOWMAN
+2614..2615    ; ID # So   [2] UMBRELLA WITH RAIN DROPS..HOT BEVERAGE
+2618          ; ID # So       SHAMROCK
+261A..261F    ; ID # So   [6] BLACK LEFT POINTING INDEX..WHITE DOWN POINTING INDEX
+2639..263B    ; ID # So   [3] WHITE FROWNING FACE..BLACK SMILING FACE
+2668          ; ID # So       HOT SPRINGS
+267F          ; ID # So       WHEELCHAIR SYMBOL
+26BD..26C8    ; ID # So  [12] SOCCER BALL..THUNDER CLOUD AND RAIN
+26CD          ; ID # So       DISABLED CAR
+26CF..26D1    ; ID # So   [3] PICK..HELMET WITH WHITE CROSS
+26D3..26D4    ; ID # So   [2] CHAINS..NO ENTRY
+26D8..26D9    ; ID # So   [2] BLACK LEFT LANE MERGE..WHITE LEFT LANE MERGE
+26DC          ; ID # So       LEFT CLOSED ENTRY
+26DF..26E1    ; ID # So   [3] BLACK TRUCK..RESTRICTED LEFT ENTRY-2
+26EA          ; ID # So       CHURCH
+26F1..26F5    ; ID # So   [5] UMBRELLA ON GROUND..SAILBOAT
+26F7..26FA    ; ID # So   [4] SKIER..TENT
+26FD..26FF    ; ID # So   [3] FUEL PUMP..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+2701..2704    ; ID # So   [4] UPPER BLADE SCISSORS..WHITE SCISSORS
+2708..270D    ; ID # So   [6] AIRPLANE..WRITING HAND
 2E80..2E99    ; ID # So  [26] CJK RADICAL REPEAT..CJK RADICAL RAP
 2E9B..2EF3    ; ID # So  [89] CJK RADICAL CHOKE..CJK RADICAL C-SIMPLIFIED TURTLE
 2F00..2FD5    ; ID # So [214] KANGXI RADICAL ONE..KANGXI RADICAL FLUTE
@@ -1293,14 +1326,12 @@
 3300..33FF    ; ID # So [256] SQUARE APAATO..SQUARE GAL
 3400..4DB5    ; ID # Lo [6582] CJK UNIFIED IDEOGRAPH-3400..CJK UNIFIED IDEOGRAPH-4DB5
 4DB6..4DBF    ; ID # Cn  [10] <reserved-4DB6>..<reserved-4DBF>
-4E00..9FCB    ; ID # Lo [20940] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCB
-9FCC..9FFF    ; ID # Cn  [52] <reserved-9FCC>..<reserved-9FFF>
+4E00..9FCC    ; ID # Lo [20941] CJK UNIFIED IDEOGRAPH-4E00..CJK UNIFIED IDEOGRAPH-9FCC
+9FCD..9FFF    ; ID # Cn  [51] <reserved-9FCD>..<reserved-9FFF>
 A000..A014    ; ID # Lo  [21] YI SYLLABLE IT..YI SYLLABLE E
 A016..A48C    ; ID # Lo [1143] YI SYLLABLE BIT..YI SYLLABLE YYR
 A490..A4C6    ; ID # So  [55] YI RADICAL QOT..YI RADICAL KE
-F900..FA2D    ; ID # Lo [302] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA2D
-FA2E..FA2F    ; ID # Cn   [2] <reserved-FA2E>..<reserved-FA2F>
-FA30..FA6D    ; ID # Lo  [62] CJK COMPATIBILITY IDEOGRAPH-FA30..CJK COMPATIBILITY IDEOGRAPH-FA6D
+F900..FA6D    ; ID # Lo [366] CJK COMPATIBILITY IDEOGRAPH-F900..CJK COMPATIBILITY IDEOGRAPH-FA6D
 FA6E..FA6F    ; ID # Cn   [2] <reserved-FA6E>..<reserved-FA6F>
 FA70..FAD9    ; ID # Lo [106] CJK COMPATIBILITY IDEOGRAPH-FA70..CJK COMPATIBILITY IDEOGRAPH-FAD9
 FADA..FAFF    ; ID # Cn  [38] <reserved-FADA>..<reserved-FAFF>
@@ -1339,10 +1370,40 @@
 FFE3          ; ID # Sk       FULLWIDTH MACRON
 FFE4          ; ID # So       FULLWIDTH BROKEN BAR
 1B000..1B001  ; ID # Lo   [2] KATAKANA LETTER ARCHAIC E..HIRAGANA LETTER ARCHAIC YE
+1F000..1F02B  ; ID # So  [44] MAHJONG TILE EAST WIND..MAHJONG TILE BACK
+1F030..1F093  ; ID # So [100] DOMINO TILE HORIZONTAL BACK..DOMINO TILE VERTICAL-06-06
+1F0A0..1F0AE  ; ID # So  [15] PLAYING CARD BACK..PLAYING CARD KING OF SPADES
+1F0B1..1F0BE  ; ID # So  [14] PLAYING CARD ACE OF HEARTS..PLAYING CARD KING OF HEARTS
+1F0C1..1F0CF  ; ID # So  [15] PLAYING CARD ACE OF DIAMONDS..PLAYING CARD BLACK JOKER
+1F0D1..1F0DF  ; ID # So  [15] PLAYING CARD ACE OF CLUBS..PLAYING CARD WHITE JOKER
 1F200..1F202  ; ID # So   [3] SQUARE HIRAGANA HOKA..SQUARED KATAKANA SA
 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..1F320  ; ID # So  [33] CYCLONE..SHOOTING STAR
+1F330..1F335  ; ID # So   [6] CHESTNUT..CACTUS
+1F337..1F37C  ; ID # So  [70] TULIP..BABY BOTTLE
+1F380..1F393  ; ID # So  [20] RIBBON..GRADUATION CAP
+1F3A0..1F3B4  ; ID # So  [21] CAROUSEL HORSE..FLOWER PLAYING CARDS
+1F3B7..1F3BB  ; ID # So   [5] SAXOPHONE..VIOLIN
+1F3BD..1F3C4  ; ID # So   [8] RUNNING SHIRT WITH SASH..SURFER
+1F3C6..1F3CA  ; ID # So   [5] TROPHY..SWIMMER
+1F3E0..1F3F0  ; ID # So  [17] HOUSE BUILDING..EUROPEAN CASTLE
+1F400..1F43E  ; ID # So  [63] RAT..PAW PRINTS
+1F440         ; ID # So       EYES
+1F442..1F49F  ; ID # So  [94] EAR..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..1F4F7  ; ID # So  [69] CREDIT CARD..CAMERA
+1F4F9..1F4FC  ; ID # So   [4] VIDEO CAMERA..VIDEOCASSETTE
+1F507..1F516  ; ID # So  [16] SPEAKER WITH CANCELLATION STROKE..BOOKMARK
+1F525..1F531  ; ID # So  [13] FIRE..TRIDENT EMBLEM
+1F550..1F567  ; ID # So  [24] CLOCK FACE ONE OCLOCK..CLOCK FACE TWELVE-THIRTY
+1F5FB..1F640  ; ID # So  [70] MOUNT FUJI..WEARY CAT FACE
+1F645..1F64F  ; ID # So  [11] FACE WITH NO GOOD GESTURE..PERSON WITH FOLDED HANDS
+1F680..1F6C5  ; ID # So  [70] ROCKET..LEFT LUGGAGE
 20000..2A6D6  ; ID # Lo [42711] CJK UNIFIED IDEOGRAPH-20000..CJK UNIFIED IDEOGRAPH-2A6D6
 2A6D7..2A6FF  ; ID # Cn  [41] <reserved-2A6D7>..<reserved-2A6FF>
 2A700..2B734  ; ID # Lo [4149] CJK UNIFIED IDEOGRAPH-2A700..CJK UNIFIED IDEOGRAPH-2B734
@@ -1353,7 +1414,7 @@
 2FA1E..2FFFD  ; ID # Cn [1504] <reserved-2FA1E>..<reserved-2FFFD>
 30000..3FFFD  ; ID # Cn [65534] <reserved-30000>..<reserved-3FFFD>
 
-# Total code points: 161793
+# Total code points: 162700
 
 # ================================================
 
@@ -1406,6 +1467,7 @@
 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..08FE    ; CM # Mn  [27] ARABIC CURLY FATHA..ARABIC DAMMA WITH DOT
 0900..0902    ; CM # Mn   [3] DEVANAGARI SIGN INVERTED CANDRABINDU..DEVANAGARI SIGN ANUSVARA
 0903          ; CM # Mc       DEVANAGARI SIGN VISARGA
 093A          ; CM # Mn       DEVANAGARI VOWEL SIGN OE
@@ -1549,6 +1611,8 @@
 1BA6..1BA7    ; CM # Mc   [2] SUNDANESE VOWEL SIGN PANAELAENG..SUNDANESE VOWEL SIGN PANOLONG
 1BA8..1BA9    ; CM # Mn   [2] SUNDANESE VOWEL SIGN PAMEPET..SUNDANESE VOWEL SIGN PANEULEUNG
 1BAA          ; CM # Mc       SUNDANESE SIGN PAMAAEH
+1BAB          ; CM # Mn       SUNDANESE SIGN VIRAMA
+1BAC..1BAD    ; CM # Mc   [2] SUNDANESE CONSONANT SIGN PASANGAN MA..SUNDANESE CONSONANT SIGN PASANGAN WA
 1BE6          ; CM # Mn       BATAK SIGN TOMPI
 1BE7          ; CM # Mc       BATAK VOWEL SIGN E
 1BE8..1BE9    ; CM # Mn   [2] BATAK VOWEL SIGN PAKPAK E..BATAK VOWEL SIGN EE
@@ -1566,7 +1630,8 @@
 1CE1          ; CM # Mc       VEDIC TONE ATHARVAVEDIC INDEPENDENT SVARITA
 1CE2..1CE8    ; CM # Mn   [7] VEDIC SIGN VISARGA SVARITA..VEDIC SIGN VISARGA ANUDATTA WITH TAIL
 1CED          ; CM # Mn       VEDIC SIGN TIRYAK
-1CF2          ; CM # Mc       VEDIC SIGN ARDHAVISARGA
+1CF2..1CF3    ; CM # Mc   [2] VEDIC SIGN ARDHAVISARGA..VEDIC SIGN ROTATED ARDHAVISARGA
+1CF4          ; CM # Mn       VEDIC TONE CANDRA ABOVE
 1DC0..1DE6    ; CM # Mn  [39] COMBINING DOTTED GRAVE ACCENT..COMBINING LATIN SMALL LETTER Z
 1DFC..1DFF    ; CM # Mn   [4] COMBINING DOUBLE INVERTED BREVE BELOW..COMBINING RIGHT ARROWHEAD AND DOWN ARROWHEAD BELOW
 200C..200F    ; CM # Cf   [4] ZERO WIDTH NON-JOINER..RIGHT-TO-LEFT MARK
@@ -1580,11 +1645,13 @@
 2CEF..2CF1    ; CM # Mn   [3] COPTIC COMBINING NI ABOVE..COPTIC COMBINING SPIRITUS LENIS
 2D7F          ; CM # Mn       TIFINAGH CONSONANT JOINER
 2DE0..2DFF    ; CM # Mn  [32] COMBINING CYRILLIC LETTER BE..COMBINING CYRILLIC LETTER IOTIFIED BIG YUS
-302A..302F    ; CM # Mn   [6] IDEOGRAPHIC LEVEL TONE MARK..HANGUL DOUBLE DOT TONE MARK
+302A..302D    ; CM # Mn   [4] IDEOGRAPHIC LEVEL TONE MARK..IDEOGRAPHIC ENTERING TONE MARK
+302E..302F    ; CM # Mc   [2] HANGUL SINGLE DOT TONE MARK..HANGUL DOUBLE DOT TONE MARK
 3099..309A    ; CM # Mn   [2] COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK..COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
 A66F          ; CM # Mn       COMBINING CYRILLIC VZMET
 A670..A672    ; CM # Me   [3] COMBINING CYRILLIC TEN MILLIONS SIGN..COMBINING CYRILLIC THOUSAND MILLIONS SIGN
-A67C..A67D    ; CM # Mn   [2] COMBINING CYRILLIC KAVYKA..COMBINING CYRILLIC PAYEROK
+A674..A67D    ; CM # Mn  [10] COMBINING CYRILLIC LETTER UKRAINIAN IE..COMBINING CYRILLIC PAYEROK
+A69F          ; CM # Mn       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
@@ -1615,6 +1682,11 @@
 AA43          ; CM # Mn       CHAM CONSONANT SIGN FINAL NG
 AA4C          ; CM # Mn       CHAM CONSONANT SIGN FINAL M
 AA4D          ; CM # Mc       CHAM CONSONANT SIGN FINAL H
+AAEB          ; CM # Mc       MEETEI MAYEK VOWEL SIGN II
+AAEC..AAED    ; CM # Mn   [2] MEETEI MAYEK VOWEL SIGN UU..MEETEI MAYEK VOWEL SIGN AAI
+AAEE..AAEF    ; CM # Mc   [2] MEETEI MAYEK VOWEL SIGN AU..MEETEI MAYEK VOWEL SIGN AAU
+AAF5          ; CM # Mc       MEETEI MAYEK VOWEL SIGN VISARGA
+AAF6          ; CM # Mn       MEETEI MAYEK VIRAMA
 ABE3..ABE4    ; CM # Mc   [2] MEETEI MAYEK VOWEL SIGN ONAP..MEETEI MAYEK VOWEL SIGN INAP
 ABE5          ; CM # Mn       MEETEI MAYEK VOWEL SIGN ANAP
 ABE6..ABE7    ; CM # Mc   [2] MEETEI MAYEK VOWEL SIGN YENAP..MEETEI MAYEK VOWEL SIGN SOUNAP
@@ -1642,6 +1714,24 @@
 110B3..110B6  ; CM # Mn   [4] KAITHI VOWEL SIGN U..KAITHI VOWEL SIGN AI
 110B7..110B8  ; CM # Mc   [2] KAITHI VOWEL SIGN O..KAITHI VOWEL SIGN AU
 110B9..110BA  ; CM # Mn   [2] KAITHI SIGN VIRAMA..KAITHI SIGN NUKTA
+11100..11102  ; CM # Mn   [3] CHAKMA SIGN CANDRABINDU..CHAKMA SIGN VISARGA
+11127..1112B  ; CM # Mn   [5] CHAKMA VOWEL SIGN A..CHAKMA VOWEL SIGN UU
+1112C         ; CM # Mc       CHAKMA VOWEL SIGN E
+1112D..11134  ; CM # Mn   [8] CHAKMA VOWEL SIGN AI..CHAKMA MAAYYAA
+11180..11181  ; CM # Mn   [2] SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
+11182         ; CM # Mc       SHARADA SIGN VISARGA
+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
+116AB         ; CM # Mn       TAKRI SIGN ANUSVARA
+116AC         ; CM # Mc       TAKRI SIGN VISARGA
+116AD         ; CM # Mn       TAKRI VOWEL SIGN AA
+116AE..116AF  ; CM # Mc   [2] TAKRI VOWEL SIGN I..TAKRI VOWEL SIGN II
+116B0..116B5  ; CM # Mn   [6] TAKRI VOWEL SIGN U..TAKRI VOWEL SIGN AU
+116B6         ; CM # Mc       TAKRI SIGN VIRAMA
+116B7         ; CM # Mn       TAKRI SIGN NUKTA
+16F51..16F7E  ; CM # Mc  [46] MIAO SIGN ASPIRATION..MIAO VOWEL SIGN NG
+16F8F..16F92  ; CM # Mn   [4] MIAO TONE RIGHT..MIAO TONE BELOW
 1D165..1D166  ; CM # Mc   [2] MUSICAL SYMBOL COMBINING STEM..MUSICAL SYMBOL COMBINING SPRECHGESANG STEM
 1D167..1D169  ; CM # Mn   [3] MUSICAL SYMBOL COMBINING TREMOLO-1..MUSICAL SYMBOL COMBINING TREMOLO-3
 1D16D..1D172  ; CM # Mc   [6] MUSICAL SYMBOL COMBINING AUGMENTATION DOT..MUSICAL SYMBOL COMBINING FLAG-5
@@ -1654,7 +1744,7 @@
 E0020..E007F  ; CM # Cf  [96] TAG SPACE..CANCEL TAG
 E0100..E01EF  ; CM # Mn [240] VARIATION SELECTOR-17..VARIATION SELECTOR-256
 
-# Total code points: 1483
+# Total code points: 1628
 
 # ================================================
 
@@ -1724,6 +1814,7 @@
 2E19          ; BA # Po       PALM BRANCH
 2E2A..2E2D    ; BA # Po   [4] TWO DOTS OVER ONE DOT PUNCTUATION..FIVE DOT MARK
 2E30..2E31    ; BA # Po   [2] RING POINT..WORD SEPARATOR MIDDLE DOT
+2E33..2E34    ; BA # Po   [2] RAISED DOT..RAISED COMMA
 A4FE..A4FF    ; BA # Po   [2] LISU PUNCTUATION COMMA..LISU PUNCTUATION FULL STOP
 A60D          ; BA # Po       VAI COMMA
 A60F          ; BA # Po       VAI QUESTION MARK
@@ -1732,9 +1823,9 @@
 A92E..A92F    ; BA # Po   [2] KAYAH LI SIGN CWI..KAYAH LI SIGN SHYA
 A9C7..A9C9    ; BA # Po   [3] JAVANESE PADA PANGKAT..JAVANESE PADA LUNGSI
 AA5D..AA5F    ; BA # Po   [3] CHAM PUNCTUATION DANDA..CHAM PUNCTUATION TRIPLE DANDA
+AAF0..AAF1    ; BA # Po   [2] MEETEI MAYEK CHEIKHAN..MEETEI MAYEK AHANG KHUDAM
 ABEB          ; BA # Po       MEETEI MAYEK CHEIKHEI
-10100..10101  ; BA # Po   [2] AEGEAN WORD SEPARATOR LINE..AEGEAN WORD SEPARATOR DOT
-10102         ; BA # So       AEGEAN CHECK MARK
+10100..10102  ; BA # Po   [3] AEGEAN WORD SEPARATOR LINE..AEGEAN CHECK MARK
 1039F         ; BA # Po       UGARITIC WORD DIVIDER
 103D0         ; BA # Po       OLD PERSIAN WORD DIVIDER
 10857         ; BA # Po       IMPERIAL ARAMAIC SECTION SIGN
@@ -1743,9 +1834,12 @@
 10B39..10B3F  ; BA # Po   [7] AVESTAN ABBREVIATION MARK..LARGE ONE RING OVER TWO RINGS PUNCTUATION
 11047..11048  ; BA # Po   [2] BRAHMI DANDA..BRAHMI DOUBLE DANDA
 110BE..110C1  ; BA # Po   [4] KAITHI SECTION MARK..KAITHI DOUBLE DANDA
+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
 12470..12473  ; BA # Po   [4] CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER..CUNEIFORM PUNCTUATION SIGN DIAGONAL TRICOLON
 
-# Total code points: 140
+# Total code points: 151
 
 # ================================================
 
@@ -1820,7 +1914,7 @@
 0EC0..0EC4    ; SA # Lo   [5] LAO VOWEL SIGN E..LAO VOWEL SIGN AI
 0EC6          ; SA # Lm       LAO KO LA
 0EC8..0ECD    ; SA # Mn   [6] LAO TONE MAI EK..LAO NIGGAHITA
-0EDC..0EDD    ; SA # Lo   [2] LAO HO NO..LAO HO MO
+0EDC..0EDF    ; SA # Lo   [4] LAO HO NO..LAO LETTER KHMU NYO
 1000..102A    ; SA # Lo  [43] MYANMAR LETTER KA..MYANMAR LETTER AU
 102B..102C    ; SA # Mc   [2] MYANMAR VOWEL SIGN TALL AA..MYANMAR VOWEL SIGN AA
 102D..1030    ; SA # Mn   [4] MYANMAR VOWEL SIGN I..MYANMAR VOWEL SIGN UU
@@ -1854,7 +1948,7 @@
 109D          ; SA # Mn       MYANMAR VOWEL SIGN AITON AI
 109E..109F    ; SA # So   [2] MYANMAR SYMBOL SHAN ONE..MYANMAR SYMBOL SHAN EXCLAMATION
 1780..17B3    ; SA # Lo  [52] KHMER LETTER KA..KHMER INDEPENDENT VOWEL QAU
-17B4..17B5    ; SA # Cf   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
+17B4..17B5    ; SA # Mn   [2] KHMER VOWEL INHERENT AQ..KHMER VOWEL INHERENT AA
 17B6          ; SA # Mc       KHMER VOWEL SIGN AA
 17B7..17BD    ; SA # Mn   [7] KHMER VOWEL SIGN I..KHMER VOWEL SIGN UA
 17BE..17C5    ; SA # Mc   [8] KHMER VOWEL SIGN OE..KHMER VOWEL SIGN AU
@@ -1908,21 +2002,20 @@
 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: 663
+# Total code points: 665
 
 # ================================================
 
 # Line_Break=Ambiguous
 
-00A7          ; AI # So       SECTION SIGN
+00A7          ; AI # Po       SECTION SIGN
 00A8          ; AI # Sk       DIAERESIS
-00AA          ; AI # L&       FEMININE ORDINAL INDICATOR
+00AA          ; AI # Lo       FEMININE ORDINAL INDICATOR
 00B2..00B3    ; AI # No   [2] SUPERSCRIPT TWO..SUPERSCRIPT THREE
-00B6          ; AI # So       PILCROW SIGN
-00B7          ; AI # Po       MIDDLE DOT
+00B6..00B7    ; AI # Po   [2] PILCROW SIGN..MIDDLE DOT
 00B8          ; AI # Sk       CEDILLA
 00B9          ; AI # No       SUPERSCRIPT ONE
-00BA          ; AI # L&       MASCULINE ORDINAL INDICATOR
+00BA          ; AI # Lo       MASCULINE ORDINAL INDICATOR
 00BC..00BE    ; AI # No   [3] VULGAR FRACTION ONE QUARTER..VULGAR FRACTION THREE QUARTERS
 00D7          ; AI # Sm       MULTIPLICATION SIGN
 00F7          ; AI # Sm       DIVISION SIGN
@@ -2005,26 +2098,30 @@
 2605..2606    ; AI # So   [2] BLACK STAR..WHITE STAR
 2609          ; AI # So       SUN
 260E..260F    ; AI # So   [2] BLACK TELEPHONE..WHITE TELEPHONE
-2614..2617    ; AI # So   [4] UMBRELLA WITH RAIN DROPS..BLACK SHOGI PIECE
-261C          ; AI # So       WHITE LEFT POINTING INDEX
-261E          ; AI # So       WHITE RIGHT POINTING INDEX
+2616..2617    ; AI # So   [2] WHITE SHOGI PIECE..BLACK SHOGI PIECE
 2640          ; AI # So       FEMALE SIGN
 2642          ; AI # So       MALE SIGN
 2660..2661    ; AI # So   [2] BLACK SPADE SUIT..WHITE HEART SUIT
 2663..2665    ; AI # So   [3] BLACK CLUB SUIT..BLACK HEART SUIT
-2667..266A    ; AI # So   [4] WHITE CLUB SUIT..EIGHTH NOTE
+2667          ; AI # So       WHITE CLUB SUIT
+2669..266A    ; AI # So   [2] QUARTER NOTE..EIGHTH NOTE
 266C..266D    ; AI # So   [2] BEAMED SIXTEENTH NOTES..MUSIC FLAT SIGN
 266F          ; AI # Sm       MUSIC SHARP SIGN
 269E..269F    ; AI # So   [2] THREE LINES CONVERGING RIGHT..THREE LINES CONVERGING LEFT
-26BE..26BF    ; AI # So   [2] BASEBALL..SQUARED KEY
-26C4..26CD    ; AI # So  [10] SNOWMAN WITHOUT SNOW..DISABLED CAR
-26CF..26E1    ; AI # So  [19] PICK..RESTRICTED LEFT ENTRY-2
+26C9..26CC    ; AI # So   [4] TURNED WHITE SHOGI PIECE..CROSSING LANES
+26D2          ; AI # So       CIRCLED CROSSING LANES
+26D5..26D7    ; AI # So   [3] ALTERNATE ONE-WAY LEFT WAY TRAFFIC..WHITE TWO-WAY LEFT WAY TRAFFIC
+26DA..26DB    ; AI # So   [2] DRIVE SLOW SIGN..HEAVY WHITE DOWN-POINTING TRIANGLE
+26DD..26DE    ; AI # So   [2] SQUARED SALTIRE..FALLING DIAGONAL IN WHITE CIRCLE IN BLACK SQUARE
 26E3          ; AI # So       HEAVY CIRCLE WITH STROKE AND TWO DOTS ABOVE
-26E8..26FF    ; AI # So  [24] BLACK CROSS ON SHIELD..WHITE FLAG WITH HORIZONTAL MIDDLE BLACK STRIPE
+26E8..26E9    ; AI # So   [2] BLACK CROSS ON SHIELD..SHINTO SHRINE
+26EB..26F0    ; AI # So   [6] CASTLE..MOUNTAIN
+26F6          ; AI # So       SQUARE FOUR CORNERS
+26FB..26FC    ; AI # So   [2] JAPANESE BANK SYMBOL..HEADSTONE GRAVEYARD SYMBOL
 2757          ; AI # So       HEAVY EXCLAMATION MARK SYMBOL
 2776..2793    ; AI # No  [30] DINGBAT NEGATIVE CIRCLED DIGIT ONE..DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
 2B55..2B59    ; AI # So   [5] HEAVY LARGE CIRCLE..HEAVY CIRCLED SALTIRE
-3248..324F    ; AI # So   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
+3248..324F    ; AI # No   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
 FFFD          ; AI # So       REPLACEMENT CHARACTER
 1F100..1F10A  ; AI # No  [11] DIGIT ZERO FULL STOP..DIGIT NINE COMMA
 1F110..1F12D  ; AI # So  [30] PARENTHESIZED LATIN CAPITAL LETTER A..CIRCLED CD
@@ -2031,7 +2128,7 @@
 1F130..1F169  ; AI # So  [58] SQUARED LATIN CAPITAL LETTER A..NEGATIVE CIRCLED LATIN CAPITAL LETTER Z
 1F170..1F19A  ; AI # So  [43] NEGATIVE SQUARED LATIN CAPITAL LETTER A..SQUARED VS
 
-# Total code points: 724
+# Total code points: 687
 
 # ================================================
 
@@ -2038,8 +2135,9 @@
 # Line_Break=Break_Both
 
 2014          ; B2 # Pd       EM DASH
+2E3A..2E3B    ; B2 # Pd   [2] TWO-EM DASH..THREE-EM DASH
 
-# Total code points: 1
+# Total code points: 3
 
 # ================================================
 
@@ -2922,4 +3020,62 @@
 
 # Total code points: 2
 
+# ================================================
+
+# Line_Break=Hebrew_Letter
+
+05D0..05EA    ; HL # Lo  [27] HEBREW LETTER ALEF..HEBREW LETTER TAV
+05F0..05F2    ; HL # Lo   [3] HEBREW LIGATURE YIDDISH DOUBLE VAV..HEBREW LIGATURE YIDDISH DOUBLE YOD
+FB1D          ; HL # Lo       HEBREW LETTER YOD WITH HIRIQ
+FB1F..FB28    ; HL # Lo  [10] HEBREW LIGATURE YIDDISH YOD YOD PATAH..HEBREW LETTER WIDE TAV
+FB2A..FB36    ; HL # Lo  [13] HEBREW LETTER SHIN WITH SHIN DOT..HEBREW LETTER ZAYIN WITH DAGESH
+FB38..FB3C    ; HL # Lo   [5] HEBREW LETTER TET WITH DAGESH..HEBREW LETTER LAMED WITH DAGESH
+FB3E          ; HL # Lo       HEBREW LETTER MEM WITH DAGESH
+FB40..FB41    ; HL # Lo   [2] HEBREW LETTER NUN WITH DAGESH..HEBREW LETTER SAMEKH WITH DAGESH
+FB43..FB44    ; HL # Lo   [2] HEBREW LETTER FINAL PE WITH DAGESH..HEBREW LETTER PE WITH DAGESH
+FB46..FB4F    ; HL # Lo  [10] HEBREW LETTER TSADI WITH DAGESH..HEBREW LIGATURE ALEF LAMED
+
+# Total code points: 74
+
+# ================================================
+
+# Line_Break=Conditional_Japanese_Starter
+
+3041          ; CJ # Lo       HIRAGANA LETTER SMALL A
+3043          ; CJ # Lo       HIRAGANA LETTER SMALL I
+3045          ; CJ # Lo       HIRAGANA LETTER SMALL U
+3047          ; CJ # Lo       HIRAGANA LETTER SMALL E
+3049          ; CJ # Lo       HIRAGANA LETTER SMALL O
+3063          ; CJ # Lo       HIRAGANA LETTER SMALL TU
+3083          ; CJ # Lo       HIRAGANA LETTER SMALL YA
+3085          ; CJ # Lo       HIRAGANA LETTER SMALL YU
+3087          ; CJ # Lo       HIRAGANA LETTER SMALL YO
+308E          ; CJ # Lo       HIRAGANA LETTER SMALL WA
+3095..3096    ; CJ # Lo   [2] HIRAGANA LETTER SMALL KA..HIRAGANA LETTER SMALL KE
+30A1          ; CJ # Lo       KATAKANA LETTER SMALL A
+30A3          ; CJ # Lo       KATAKANA LETTER SMALL I
+30A5          ; CJ # Lo       KATAKANA LETTER SMALL U
+30A7          ; CJ # Lo       KATAKANA LETTER SMALL E
+30A9          ; CJ # Lo       KATAKANA LETTER SMALL O
+30C3          ; CJ # Lo       KATAKANA LETTER SMALL TU
+30E3          ; CJ # Lo       KATAKANA LETTER SMALL YA
+30E5          ; CJ # Lo       KATAKANA LETTER SMALL YU
+30E7          ; CJ # Lo       KATAKANA LETTER SMALL YO
+30EE          ; CJ # Lo       KATAKANA LETTER SMALL WA
+30F5..30F6    ; CJ # Lo   [2] KATAKANA LETTER SMALL KA..KATAKANA LETTER SMALL KE
+30FC          ; CJ # Lm       KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0..31FF    ; CJ # Lo  [16] KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
+FF67..FF6F    ; CJ # Lo   [9] HALFWIDTH KATAKANA LETTER SMALL A..HALFWIDTH KATAKANA LETTER SMALL TU
+FF70          ; CJ # Lm       HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
+
+# Total code points: 51
+
+# ================================================
+
+# Line_Break=Regional_Indicator
+
+1F1E6..1F1FF  ; RI # So  [26] REGIONAL INDICATOR SYMBOL LETTER A..REGIONAL INDICATOR SYMBOL LETTER Z
+
+# Total code points: 26
+
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/extracted/DLineBreak.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DNumType.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DNumType.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DNumType.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,22 @@
-# DerivedNumericType-6.0.0.txt
-# Date: 2010-08-19, 00:48:13 GMT [MD]
+# DerivedNumericType-6.2.0.txt
+# Date: 2012-08-13, 19:20:20 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
 # ================================================
 
-# Numeric Type (from UnicodeData.txt, field 6/7/8 plus Unihan Database: see UAX #44: http://www.unicode.org/reports/tr44/)
+# Derived Property:   Numeric_Type
+#  The values are based on fields 6-8 of UnicodeData.txt, plus the fields
+#  kAccountingNumeric, kOtherNumeric, kPrimaryNumeric in the Unicode Han Database (Unihan).
+#  The derivations for these values are as follows.
+#   Numeric_Type=Decimal: When there is a value in field 6.
+#   Numeric_Type=Digit:   When there is a value in field 7, but not in field 6.
+#   Numeric_Type=Numeric: When there are values for kAccountingNumeric, kOtherNumeric, kPrimaryNumeric,
+#                         or there is a value in field 8, but not in field 7.
+#   Numeric_Type=None:    Otherwise
 
 #  All code points not explicitly listed for Numeric_Type
 #  have the value None.
@@ -45,6 +53,7 @@
 3038..303A    ; Numeric # Nl   [3] HANGZHOU NUMERAL TEN..HANGZHOU NUMERAL THIRTY
 3192..3195    ; Numeric # No   [4] IDEOGRAPHIC ANNOTATION ONE MARK..IDEOGRAPHIC ANNOTATION FOUR MARK
 3220..3229    ; Numeric # No  [10] PARENTHESIZED IDEOGRAPH ONE..PARENTHESIZED IDEOGRAPH TEN
+3248..324F    ; Numeric # No   [8] CIRCLED NUMBER TEN ON BLACK SQUARE..CIRCLED NUMBER EIGHTY ON BLACK SQUARE
 3251..325F    ; Numeric # No  [15] CIRCLED NUMBER TWENTY ONE..CIRCLED NUMBER THIRTY FIVE
 3280..3289    ; Numeric # No  [10] CIRCLED IDEOGRAPH ONE..CIRCLED IDEOGRAPH TEN
 32B1..32BF    ; Numeric # No  [15] CIRCLED NUMBER THIRTY SIX..CIRCLED NUMBER FIFTY
@@ -122,9 +131,7 @@
 10B78..10B7F  ; Numeric # No   [8] INSCRIPTIONAL PAHLAVI NUMBER ONE..INSCRIPTIONAL PAHLAVI NUMBER ONE THOUSAND
 10E69..10E7E  ; Numeric # No  [22] RUMI NUMBER TEN..RUMI FRACTION TWO THIRDS
 1105B..11065  ; Numeric # No  [11] BRAHMI NUMBER TEN..BRAHMI NUMBER ONE THOUSAND
-12400..12431  ; Numeric # Nl  [50] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN FIVE SHARU
-12434..12455  ; Numeric # Nl  [34] CUNEIFORM NUMERIC SIGN ONE BURU..CUNEIFORM NUMERIC SIGN FIVE BAN2 VARIANT FORM
-12458..12462  ; Numeric # Nl  [11] CUNEIFORM NUMERIC SIGN ONE ESHE3..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
+12400..12462  ; Numeric # Nl  [99] CUNEIFORM NUMERIC SIGN TWO ASH..CUNEIFORM NUMERIC SIGN OLD ASSYRIAN ONE QUARTER
 1D360..1D371  ; Numeric # No  [18] COUNTING ROD UNIT DIGIT ONE..COUNTING ROD TENS DIGIT NINE
 20001         ; Numeric # Lo       CJK UNIFIED IDEOGRAPH-20001
 20064         ; Numeric # Lo       CJK UNIFIED IDEOGRAPH-20064
@@ -143,7 +150,7 @@
 2626D         ; Numeric # Lo       CJK UNIFIED IDEOGRAPH-2626D
 2F890         ; Numeric # Lo       CJK COMPATIBILITY IDEOGRAPH-2F890
 
-# Total code points: 629
+# Total code points: 641
 
 # ================================================
 
@@ -209,8 +216,12 @@
 FF10..FF19    ; Decimal # Nd  [10] FULLWIDTH DIGIT ZERO..FULLWIDTH DIGIT NINE
 104A0..104A9  ; Decimal # Nd  [10] OSMANYA DIGIT ZERO..OSMANYA DIGIT NINE
 11066..1106F  ; Decimal # Nd  [10] BRAHMI DIGIT ZERO..BRAHMI DIGIT NINE
+110F0..110F9  ; Decimal # Nd  [10] SORA SOMPENG DIGIT ZERO..SORA SOMPENG DIGIT NINE
+11136..1113F  ; Decimal # Nd  [10] CHAKMA DIGIT ZERO..CHAKMA DIGIT NINE
+111D0..111D9  ; Decimal # Nd  [10] SHARADA DIGIT ZERO..SHARADA DIGIT NINE
+116C0..116C9  ; Decimal # Nd  [10] TAKRI DIGIT ZERO..TAKRI DIGIT NINE
 1D7CE..1D7FF  ; Decimal # Nd  [50] MATHEMATICAL BOLD DIGIT ZERO..MATHEMATICAL MONOSPACE DIGIT NINE
 
-# Total code points: 420
+# Total code points: 460
 
 # EOF


Property changes on: vendor/perl/dist/lib/unicore/extracted/DNumType.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/extracted/DNumValues.txt
===================================================================
--- vendor/perl/dist/lib/unicore/extracted/DNumValues.txt	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/extracted/DNumValues.txt	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,27 +1,44 @@
-# DerivedNumericValues-6.0.0.txt
-# Date: 2010-08-19, 00:48:14 GMT [MD]
+# DerivedNumericValues-6.2.0.txt
+# Date: 2012-08-13, 19:20:22 GMT [MD]
 #
 # Unicode Character Database
-# Copyright (c) 1991-2010 Unicode, Inc.
+# Copyright (c) 1991-2012 Unicode, Inc.
 # For terms of use, see http://www.unicode.org/terms_of_use.html
 # For documentation, see http://www.unicode.org/reports/tr44/
 
 # ================================================
 
-# Numeric Values (from UnicodeData.txt, field 6/7/8)
-# WARNING: Certain values, such as 0.16666667, are repeating fractions
+# Derived Property:   Numeric_Value
+#  Field 1:
+#    The values are based on field 8 of UnicodeData.txt, plus the fields
+#    kAccountingNumeric, kOtherNumeric, kPrimaryNumeric in the Unicode Han Database (Unihan).
+#    The derivations for these values are as follows.
+#      Numeric_Value = the value of kAccountingNumeric, kOtherNumeric, or kPrimaryNumeric, if they exist; otherwise
+#      Numeric_Value = the value of field 8, if it exists; otherwise
+#      Numeric_Value = NaN
+#  Field 2:
+#    This field is empty; it used to be a copy of the numeric type.
+#
+#  Field 3:
+#    This field was added to this extracted data as of Unicode 5.1.0,
+#    expressing the same numeric value either as a whole integer
+#    where possible, or as a rational fraction such as "1/6".
+#
+# WARNING: Certain values, such as 0.16666667, are repeating fractions.
 # Although they are only printed with a limited number of decimal places
 # in this file, they should be expressed to the limits of the precision
 # available when used.
-# The third field is empty; it used to be a copy of the numeric type.
-# A fourth field was added to this extracted data as of
-# Unicode 5.1.0, expressing the same numeric value either as
-# a whole integer where possible or as a rational fraction, e.g. "1/6".
 #
-# @missing: 0000..10FFFF; ; NaN
+# @missing: 0000..10FFFF; NaN; ; NaN
 
 # ================================================
 
+12456..12457  ; -1.0 ; ; -1 # Nl   [2] CUNEIFORM NUMERIC SIGN NIGIDAMIN..CUNEIFORM NUMERIC SIGN NIGIDAESH
+
+# Total code points: 2
+
+# ================================================
+
 0F33          ; -0.5 ; ; -1/2 # No       TIBETAN DIGIT HALF ZERO
 
 # Total code points: 1
@@ -77,6 +94,10 @@
 1018A         ; 0.0 ; ; 0 # No       GREEK ZERO SIGN
 104A0         ; 0.0 ; ; 0 # Nd       OSMANYA DIGIT ZERO
 11066         ; 0.0 ; ; 0 # Nd       BRAHMI DIGIT ZERO
+110F0         ; 0.0 ; ; 0 # Nd       SORA SOMPENG DIGIT ZERO
+11136         ; 0.0 ; ; 0 # Nd       CHAKMA DIGIT ZERO
+111D0         ; 0.0 ; ; 0 # Nd       SHARADA DIGIT ZERO
+116C0         ; 0.0 ; ; 0 # Nd       TAKRI DIGIT ZERO
 1D7CE         ; 0.0 ; ; 0 # Nd       MATHEMATICAL BOLD DIGIT ZERO
 1D7D8         ; 0.0 ; ; 0 # Nd       MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO
 1D7E2         ; 0.0 ; ; 0 # Nd       MATHEMATICAL SANS-SERIF DIGIT ZERO
@@ -84,7 +105,7 @@
 1D7F6         ; 0.0 ; ; 0 # Nd       MATHEMATICAL MONOSPACE DIGIT ZERO
 1F100..1F101  ; 0.0 ; ; 0 # No   [2] DIGIT ZERO FULL STOP..DIGIT ZERO COMMA
 
-# Total code points: 56
+# Total code points: 60
 
 # ================================================
 
@@ -323,6 +344,10 @@
 10E60         ; 1.0 ; ; 1 # No       RUMI DIGIT ONE
 11052         ; 1.0 ; ; 1 # No       BRAHMI NUMBER ONE
 11067         ; 1.0 ; ; 1 # Nd       BRAHMI DIGIT ONE
+110F1         ; 1.0 ; ; 1 # Nd       SORA SOMPENG DIGIT ONE
+11137         ; 1.0 ; ; 1 # Nd       CHAKMA DIGIT ONE
+111D1         ; 1.0 ; ; 1 # Nd       SHARADA DIGIT ONE
+116C1         ; 1.0 ; ; 1 # Nd       TAKRI DIGIT ONE
 12415         ; 1.0 ; ; 1 # Nl       CUNEIFORM NUMERIC SIGN ONE GESH2
 1241E         ; 1.0 ; ; 1 # Nl       CUNEIFORM NUMERIC SIGN ONE GESHU
 1242C         ; 1.0 ; ; 1 # Nl       CUNEIFORM NUMERIC SIGN ONE SHARU
@@ -338,7 +363,7 @@
 1F102         ; 1.0 ; ; 1 # No       DIGIT ONE COMMA
 2092A         ; 1.0 ; ; 1 # Lo       CJK UNIFIED IDEOGRAPH-2092A
 
-# Total code points: 93
+# Total code points: 97
 
 # ================================================
 
@@ -424,6 +449,10 @@
 10E61         ; 2.0 ; ; 2 # No       RUMI DIGIT TWO
 11053         ; 2.0 ; ; 2 # No       BRAHMI NUMBER TWO
 11068         ; 2.0 ; ; 2 # Nd       BRAHMI DIGIT TWO
+110F2         ; 2.0 ; ; 2 # Nd       SORA SOMPENG DIGIT TWO
+11138         ; 2.0 ; ; 2 # Nd       CHAKMA DIGIT TWO
+111D2         ; 2.0 ; ; 2 # Nd       SHARADA DIGIT TWO
+116C2         ; 2.0 ; ; 2 # Nd       TAKRI DIGIT TWO
 12400         ; 2.0 ; ; 2 # Nl       CUNEIFORM NUMERIC SIGN TWO ASH
 12416         ; 2.0 ; ; 2 # Nl       CUNEIFORM NUMERIC SIGN TWO GESH2
 1241F         ; 2.0 ; ; 2 # Nl       CUNEIFORM NUMERIC SIGN TWO GESHU
@@ -442,7 +471,7 @@
 1F103         ; 2.0 ; ; 2 # No       DIGIT TWO COMMA
 22390         ; 2.0 ; ; 2 # Lo       CJK UNIFIED IDEOGRAPH-22390
 
-# Total code points: 96
+# Total code points: 100
 
 # ================================================
 
@@ -522,6 +551,10 @@
 10E62         ; 3.0 ; ; 3 # No       RUMI DIGIT THREE
 11054         ; 3.0 ; ; 3 # No       BRAHMI NUMBER THREE
 11069         ; 3.0 ; ; 3 # Nd       BRAHMI DIGIT THREE
+110F3         ; 3.0 ; ; 3 # Nd       SORA SOMPENG DIGIT THREE
+11139         ; 3.0 ; ; 3 # Nd       CHAKMA DIGIT THREE
+111D3         ; 3.0 ; ; 3 # Nd       SHARADA DIGIT THREE
+116C3         ; 3.0 ; ; 3 # Nd       TAKRI DIGIT THREE
 12401         ; 3.0 ; ; 3 # Nl       CUNEIFORM NUMERIC SIGN THREE ASH
 12408         ; 3.0 ; ; 3 # Nl       CUNEIFORM NUMERIC SIGN THREE DISH
 12417         ; 3.0 ; ; 3 # Nl       CUNEIFORM NUMERIC SIGN THREE GESH2
@@ -544,7 +577,7 @@
 22998         ; 3.0 ; ; 3 # Lo       CJK UNIFIED IDEOGRAPH-22998
 23B1B         ; 3.0 ; ; 3 # Lo       CJK UNIFIED IDEOGRAPH-23B1B
 
-# Total code points: 98
+# Total code points: 102
 
 # ================================================
 
@@ -618,6 +651,10 @@
 10E63         ; 4.0 ; ; 4 # No       RUMI DIGIT FOUR
 11055         ; 4.0 ; ; 4 # No       BRAHMI NUMBER FOUR
 1106A         ; 4.0 ; ; 4 # Nd       BRAHMI DIGIT FOUR
+110F4         ; 4.0 ; ; 4 # Nd       SORA SOMPENG DIGIT FOUR
+1113A         ; 4.0 ; ; 4 # Nd       CHAKMA DIGIT FOUR
+111D4         ; 4.0 ; ; 4 # Nd       SHARADA DIGIT FOUR
+116C4         ; 4.0 ; ; 4 # Nd       TAKRI DIGIT FOUR
 12402         ; 4.0 ; ; 4 # Nl       CUNEIFORM NUMERIC SIGN FOUR ASH
 12409         ; 4.0 ; ; 4 # Nl       CUNEIFORM NUMERIC SIGN FOUR DISH
 1240F         ; 4.0 ; ; 4 # Nl       CUNEIFORM NUMERIC SIGN FOUR U
@@ -640,7 +677,7 @@
 200E2         ; 4.0 ; ; 4 # Lo       CJK UNIFIED IDEOGRAPH-200E2
 2626D         ; 4.0 ; ; 4 # Lo       CJK UNIFIED IDEOGRAPH-2626D
 
-# Total code points: 89
+# Total code points: 93
 
 # ================================================
 
@@ -717,6 +754,10 @@
 10E64         ; 5.0 ; ; 5 # No       RUMI DIGIT FIVE
 11056         ; 5.0 ; ; 5 # No       BRAHMI NUMBER FIVE
 1106B         ; 5.0 ; ; 5 # Nd       BRAHMI DIGIT FIVE
+110F5         ; 5.0 ; ; 5 # Nd       SORA SOMPENG DIGIT FIVE
+1113B         ; 5.0 ; ; 5 # Nd       CHAKMA DIGIT FIVE
+111D5         ; 5.0 ; ; 5 # Nd       SHARADA DIGIT FIVE
+116C5         ; 5.0 ; ; 5 # Nd       TAKRI DIGIT FIVE
 12403         ; 5.0 ; ; 5 # Nl       CUNEIFORM NUMERIC SIGN FIVE ASH
 1240A         ; 5.0 ; ; 5 # Nl       CUNEIFORM NUMERIC SIGN FIVE DISH
 12410         ; 5.0 ; ; 5 # Nl       CUNEIFORM NUMERIC SIGN FIVE U
@@ -736,7 +777,7 @@
 1F106         ; 5.0 ; ; 5 # No       DIGIT FIVE COMMA
 20121         ; 5.0 ; ; 5 # Lo       CJK UNIFIED IDEOGRAPH-20121
 
-# Total code points: 86
+# Total code points: 90
 
 # ================================================
 
@@ -809,6 +850,10 @@
 10E65         ; 6.0 ; ; 6 # No       RUMI DIGIT SIX
 11057         ; 6.0 ; ; 6 # No       BRAHMI NUMBER SIX
 1106C         ; 6.0 ; ; 6 # Nd       BRAHMI DIGIT SIX
+110F6         ; 6.0 ; ; 6 # Nd       SORA SOMPENG DIGIT SIX
+1113C         ; 6.0 ; ; 6 # Nd       CHAKMA DIGIT SIX
+111D6         ; 6.0 ; ; 6 # Nd       SHARADA DIGIT SIX
+116C6         ; 6.0 ; ; 6 # Nd       TAKRI DIGIT SIX
 12404         ; 6.0 ; ; 6 # Nl       CUNEIFORM NUMERIC SIGN SIX ASH
 1240B         ; 6.0 ; ; 6 # Nl       CUNEIFORM NUMERIC SIGN SIX DISH
 12411         ; 6.0 ; ; 6 # Nl       CUNEIFORM NUMERIC SIGN SIX U
@@ -825,7 +870,7 @@
 1F107         ; 6.0 ; ; 6 # No       DIGIT SIX COMMA
 20AEA         ; 6.0 ; ; 6 # Lo       CJK UNIFIED IDEOGRAPH-20AEA
 
-# Total code points: 78
+# Total code points: 82
 
 # ================================================
 
@@ -896,6 +941,10 @@
 10E66         ; 7.0 ; ; 7 # No       RUMI DIGIT SEVEN
 11058         ; 7.0 ; ; 7 # No       BRAHMI NUMBER SEVEN
 1106D         ; 7.0 ; ; 7 # Nd       BRAHMI DIGIT SEVEN
+110F7         ; 7.0 ; ; 7 # Nd       SORA SOMPENG DIGIT SEVEN
+1113D         ; 7.0 ; ; 7 # Nd       CHAKMA DIGIT SEVEN
+111D7         ; 7.0 ; ; 7 # Nd       SHARADA DIGIT SEVEN
+116C7         ; 7.0 ; ; 7 # Nd       TAKRI DIGIT SEVEN
 12405         ; 7.0 ; ; 7 # Nl       CUNEIFORM NUMERIC SIGN SEVEN ASH
 1240C         ; 7.0 ; ; 7 # Nl       CUNEIFORM NUMERIC SIGN SEVEN DISH
 12412         ; 7.0 ; ; 7 # Nl       CUNEIFORM NUMERIC SIGN SEVEN U
@@ -911,7 +960,7 @@
 1F108         ; 7.0 ; ; 7 # No       DIGIT SEVEN COMMA
 20001         ; 7.0 ; ; 7 # Lo       CJK UNIFIED IDEOGRAPH-20001
 
-# Total code points: 77
+# Total code points: 81
 
 # ================================================
 
@@ -980,6 +1029,10 @@
 10E67         ; 8.0 ; ; 8 # No       RUMI DIGIT EIGHT
 11059         ; 8.0 ; ; 8 # No       BRAHMI NUMBER EIGHT
 1106E         ; 8.0 ; ; 8 # Nd       BRAHMI DIGIT EIGHT
+110F8         ; 8.0 ; ; 8 # Nd       SORA SOMPENG DIGIT EIGHT
+1113E         ; 8.0 ; ; 8 # Nd       CHAKMA DIGIT EIGHT
+111D8         ; 8.0 ; ; 8 # Nd       SHARADA DIGIT EIGHT
+116C8         ; 8.0 ; ; 8 # Nd       TAKRI DIGIT EIGHT
 12406         ; 8.0 ; ; 8 # Nl       CUNEIFORM NUMERIC SIGN EIGHT ASH
 1240D         ; 8.0 ; ; 8 # Nl       CUNEIFORM NUMERIC SIGN EIGHT DISH
 12413         ; 8.0 ; ; 8 # Nl       CUNEIFORM NUMERIC SIGN EIGHT U
@@ -994,7 +1047,7 @@
 1D7FE         ; 8.0 ; ; 8 # Nd       MATHEMATICAL MONOSPACE DIGIT EIGHT
 1F109         ; 8.0 ; ; 8 # No       DIGIT EIGHT COMMA
 
-# Total code points: 73
+# Total code points: 77
 
 # ================================================
 
@@ -1064,6 +1117,10 @@
 10E68         ; 9.0 ; ; 9 # No       RUMI DIGIT NINE
 1105A         ; 9.0 ; ; 9 # No       BRAHMI NUMBER NINE
 1106F         ; 9.0 ; ; 9 # Nd       BRAHMI DIGIT NINE
+110F9         ; 9.0 ; ; 9 # Nd       SORA SOMPENG DIGIT NINE
+1113F         ; 9.0 ; ; 9 # Nd       CHAKMA DIGIT NINE
+111D9         ; 9.0 ; ; 9 # Nd       SHARADA DIGIT NINE
+116C9         ; 9.0 ; ; 9 # Nd       TAKRI DIGIT NINE
 12407         ; 9.0 ; ; 9 # Nl       CUNEIFORM NUMERIC SIGN NINE ASH
 1240E         ; 9.0 ; ; 9 # Nl       CUNEIFORM NUMERIC SIGN NINE DISH
 12414         ; 9.0 ; ; 9 # Nl       CUNEIFORM NUMERIC SIGN NINE U
@@ -1079,7 +1136,7 @@
 1F10A         ; 9.0 ; ; 9 # No       DIGIT NINE COMMA
 2F890         ; 9.0 ; ; 9 # Lo       CJK COMPATIBILITY IDEOGRAPH-2F890
 
-# Total code points: 77
+# Total code points: 81
 
 # ================================================
 
@@ -1097,6 +1154,7 @@
 2793          ; 10.0 ; ; 10 # No       DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN
 3038          ; 10.0 ; ; 10 # Nl       HANGZHOU NUMERAL TEN
 3229          ; 10.0 ; ; 10 # No       PARENTHESIZED IDEOGRAPH TEN
+3248          ; 10.0 ; ; 10 # No       CIRCLED NUMBER TEN ON BLACK SQUARE
 3289          ; 10.0 ; ; 10 # No       CIRCLED IDEOGRAPH TEN
 4EC0          ; 10.0 ; ; 10 # Lo       CJK UNIFIED IDEOGRAPH-4EC0
 5341          ; 10.0 ; ; 10 # Lo       CJK UNIFIED IDEOGRAPH-5341
@@ -1119,7 +1177,7 @@
 1105B         ; 10.0 ; ; 10 # No       BRAHMI NUMBER TEN
 1D369         ; 10.0 ; ; 10 # No       COUNTING ROD TENS DIGIT ONE
 
-# Total code points: 39
+# Total code points: 40
 
 # ================================================
 
@@ -1218,6 +1276,7 @@
 249B          ; 20.0 ; ; 20 # No       NUMBER TWENTY FULL STOP
 24F4          ; 20.0 ; ; 20 # No       NEGATIVE CIRCLED NUMBER TWENTY
 3039          ; 20.0 ; ; 20 # Nl       HANGZHOU NUMERAL TWENTY
+3249          ; 20.0 ; ; 20 # No       CIRCLED NUMBER TWENTY ON BLACK SQUARE
 5344          ; 20.0 ; ; 20 # Lo       CJK UNIFIED IDEOGRAPH-5344
 5EFF          ; 20.0 ; ; 20 # Lo       CJK UNIFIED IDEOGRAPH-5EFF
 10111         ; 20.0 ; ; 20 # No       AEGEAN NUMBER TWENTY
@@ -1231,7 +1290,7 @@
 1105C         ; 20.0 ; ; 20 # No       BRAHMI NUMBER TWENTY
 1D36A         ; 20.0 ; ; 20 # No       COUNTING ROD TENS DIGIT TWO
 
-# Total code points: 18
+# Total code points: 19
 
 # ================================================
 
@@ -1291,6 +1350,7 @@
 
 1374          ; 30.0 ; ; 30 # No       ETHIOPIC NUMBER THIRTY
 303A          ; 30.0 ; ; 30 # Nl       HANGZHOU NUMERAL THIRTY
+324A          ; 30.0 ; ; 30 # No       CIRCLED NUMBER THIRTY ON BLACK SQUARE
 325A          ; 30.0 ; ; 30 # No       CIRCLED NUMBER THIRTY
 5345          ; 30.0 ; ; 30 # Lo       CJK UNIFIED IDEOGRAPH-5345
 10112         ; 30.0 ; ; 30 # No       AEGEAN NUMBER THIRTY
@@ -1300,7 +1360,7 @@
 1D36B         ; 30.0 ; ; 30 # No       COUNTING ROD TENS DIGIT THREE
 20983         ; 30.0 ; ; 30 # Lo       CJK UNIFIED IDEOGRAPH-20983
 
-# Total code points: 10
+# Total code points: 11
 
 # ================================================
 
@@ -1359,6 +1419,7 @@
 # ================================================
 
 1375          ; 40.0 ; ; 40 # No       ETHIOPIC NUMBER FORTY
+324B          ; 40.0 ; ; 40 # No       CIRCLED NUMBER FORTY ON BLACK SQUARE
 32B5          ; 40.0 ; ; 40 # No       CIRCLED NUMBER FORTY
 534C          ; 40.0 ; ; 40 # Lo       CJK UNIFIED IDEOGRAPH-534C
 10113         ; 40.0 ; ; 40 # No       AEGEAN NUMBER FORTY
@@ -1368,7 +1429,7 @@
 2098C         ; 40.0 ; ; 40 # Lo       CJK UNIFIED IDEOGRAPH-2098C
 2099C         ; 40.0 ; ; 40 # Lo       CJK UNIFIED IDEOGRAPH-2099C
 
-# Total code points: 9
+# Total code points: 10
 
 # ================================================
 
@@ -1430,6 +1491,7 @@
 216C          ; 50.0 ; ; 50 # Nl       ROMAN NUMERAL FIFTY
 217C          ; 50.0 ; ; 50 # Nl       SMALL ROMAN NUMERAL FIFTY
 2186          ; 50.0 ; ; 50 # Nl       ROMAN NUMERAL FIFTY EARLY FORM
+324C          ; 50.0 ; ; 50 # No       CIRCLED NUMBER FIFTY ON BLACK SQUARE
 32BF          ; 50.0 ; ; 50 # No       CIRCLED NUMBER FIFTY
 10114         ; 50.0 ; ; 50 # No       AEGEAN NUMBER FIFTY
 10144         ; 50.0 ; ; 50 # Nl       GREEK ACROPHONIC ATTIC FIFTY
@@ -1443,37 +1505,40 @@
 1105F         ; 50.0 ; ; 50 # No       BRAHMI NUMBER FIFTY
 1D36D         ; 50.0 ; ; 50 # No       COUNTING ROD TENS DIGIT FIVE
 
-# Total code points: 19
+# Total code points: 20
 
 # ================================================
 
 1377          ; 60.0 ; ; 60 # No       ETHIOPIC NUMBER SIXTY
+324D          ; 60.0 ; ; 60 # No       CIRCLED NUMBER SIXTY ON BLACK SQUARE
 10115         ; 60.0 ; ; 60 # No       AEGEAN NUMBER SIXTY
 10E6E         ; 60.0 ; ; 60 # No       RUMI NUMBER SIXTY
 11060         ; 60.0 ; ; 60 # No       BRAHMI NUMBER SIXTY
 1D36E         ; 60.0 ; ; 60 # No       COUNTING ROD TENS DIGIT SIX
 
-# Total code points: 5
+# Total code points: 6
 
 # ================================================
 
 1378          ; 70.0 ; ; 70 # No       ETHIOPIC NUMBER SEVENTY
+324E          ; 70.0 ; ; 70 # No       CIRCLED NUMBER SEVENTY ON BLACK SQUARE
 10116         ; 70.0 ; ; 70 # No       AEGEAN NUMBER SEVENTY
 10E6F         ; 70.0 ; ; 70 # No       RUMI NUMBER SEVENTY
 11061         ; 70.0 ; ; 70 # No       BRAHMI NUMBER SEVENTY
 1D36F         ; 70.0 ; ; 70 # No       COUNTING ROD TENS DIGIT SEVEN
 
-# Total code points: 5
+# Total code points: 6
 
 # ================================================
 
 1379          ; 80.0 ; ; 80 # No       ETHIOPIC NUMBER EIGHTY
+324F          ; 80.0 ; ; 80 # No       CIRCLED NUMBER EIGHTY ON BLACK SQUARE
 10117         ; 80.0 ; ; 80 # No       AEGEAN NUMBER EIGHTY
 10E70         ; 80.0 ; ; 80 # No       RUMI NUMBER EIGHTY
 11062         ; 80.0 ; ; 80 # No       BRAHMI NUMBER EIGHTY
 1D370         ; 80.0 ; ; 80 # No       COUNTING ROD TENS DIGIT EIGHT
 
-# Total code points: 5
+# Total code points: 6
 
 # ================================================
 
@@ -1719,6 +1784,18 @@
 
 # ================================================
 
+12432         ; 216000.0 ; ; 216000 # Nl       CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS DISH
+
+# Total code points: 1
+
+# ================================================
+
+12433         ; 432000.0 ; ; 432000 # Nl       CUNEIFORM NUMERIC SIGN SHAR2 TIMES GAL PLUS MIN
+
+# Total code points: 1
+
+# ================================================
+
 4EBF          ; 100000000.0 ; ; 100000000 # Lo       CJK UNIFIED IDEOGRAPH-4EBF
 5104          ; 100000000.0 ; ; 100000000 # Lo       CJK UNIFIED IDEOGRAPH-5104
 


Property changes on: vendor/perl/dist/lib/unicore/extracted/DNumValues.txt
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/mktables
===================================================================
--- vendor/perl/dist/lib/unicore/mktables	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/mktables	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,7 +22,6 @@
     $start_time= time;
 }
 
-
 require 5.010_001;
 use strict;
 use warnings;
@@ -32,6 +31,7 @@
 use File::Path;
 use File::Spec;
 use Text::Tabs;
+use re "/aa";
 
 sub DEBUG () { 0 }  # Set to 0 for production; 1 for development
 my $debugging_build = $Config{"ccflags"} =~ /-DDEBUGGING/;
@@ -40,7 +40,7 @@
 #
 # mktables -- create the runtime Perl Unicode files (lib/unicore/.../*.pl),
 # from the Unicode database files (lib/unicore/.../*.txt),  It also generates
-# a pod file and a .t file
+# a pod file and .t files, depending on option parameters.
 #
 # The structure of this file is:
 #   First these introductory comments; then
@@ -52,10 +52,10 @@
 #   the small actual loop to process the input files and finish up; then
 #   a __DATA__ section, for the .t tests
 #
-# This program works on all releases of Unicode through at least 6.0.  The
-# outputs have been scrutinized most intently for release 5.1.  The others
-# have been checked for somewhat more than just sanity.  It can handle all
-# existing Unicode character properties in those releases.
+# This program works on all releases of Unicode so far.  The outputs have been
+# scrutinized most intently for release 5.1.  The others have been checked for
+# somewhat more than just sanity.  It can handle all non-provisional Unicode
+# character properties in those releases.
 #
 # This program is mostly about Unicode character (or code point) properties.
 # A property describes some attribute or quality of a code point, like if it
@@ -65,8 +65,8 @@
 # into some corresponding value.  In the case of it being lowercase or not,
 # the mapping is either to 'Y' or 'N' (or various synonyms thereof).  Each
 # property maps each Unicode code point to a single value, called a "property
-# value".  (Hence each Unicode property is a true mathematical function with
-# exactly one value per code point.)
+# value".  (Some more recently defined properties, map a code point to a set
+# of values.)
 #
 # When using a property in a regular expression, what is desired isn't the
 # mapping of the code point to its property's value, but the reverse (or the
@@ -119,7 +119,7 @@
 # are for mappings that don't fit into the normal scheme of things.  Mappings
 # that require a hash entry to communicate with utf8.c are one example;
 # another example is mappings for charnames.pm to use which indicate a name
-# that is algorithmically determinable from its code point (and vice-versa).
+# that is algorithmically determinable from its code point (and the reverse).
 # These are used to significantly compact these tables, instead of listing
 # each one of the tens of thousands individually.
 #
@@ -131,8 +131,8 @@
 #
 # Actually, there are two types of range lists, "Range_Map" is the one
 # associated with map tables, and "Range_List" with match tables.
-# Again, this is so that methods can be defined on one and not the other so as
-# to prevent operating on them in incorrect ways.
+# Again, this is so that methods can be defined on one and not the others so
+# as to prevent operating on them in incorrect ways.
 #
 # Eventually, most tables are written out to files to be read by utf8_heavy.pl
 # in the perl core.  All tables could in theory be written, but some are
@@ -154,20 +154,31 @@
 # takes every code point and maps it to Y or N (but having ranges cuts the
 # number of entries in that table way down), and two match tables, one
 # which has a list of all the code points that map to Y, and one for all the
-# code points that map to N.  (For each of these, a third table is also
+# code points that map to N.  (For each binary property, a third table is also
 # generated for the pseudo Perl property.  It contains the identical code
-# points as the Y table, but can be written, not in the compound form, but in
-# a "single" form like \p{IsUppercase}.)  Many properties are binary, but some
-# properties have several possible values, some have many, and properties like
-# Name have a different value for every named code point.  Those will not,
-# unless the controlling lists are changed, have their match tables written
-# out.  But all the ones which can be used in regular expression \p{} and \P{}
-# constructs will.  Generally a property will have either its map table or its
-# match tables written but not both.  Again, what gets written is controlled
-# by lists which can easily be changed.  Properties have a 'Type', like
-# binary, or string, or enum depending on how many match tables there are and
-# the content of the maps.  This 'Type' is different than a range 'Type', so
-# don't get confused by the two concepts having the same name.
+# points as the Y table, but can be written in regular expressions, not in the
+# compound form, but in a "single" form like \p{IsUppercase}.)  Many
+# properties are binary, but some properties have several possible values,
+# some have many, and properties like Name have a different value for every
+# named code point.  Those will not, unless the controlling lists are changed,
+# have their match tables written out.  But all the ones which can be used in
+# regular expression \p{} and \P{} constructs will.  Prior to 5.14, generally
+# a property would have either its map table or its match tables written but
+# not both.  Again, what gets written is controlled by lists which can easily
+# be changed.  Starting in 5.14, advantage was taken of this, and all the map
+# tables needed to reconstruct the Unicode db are now written out, while
+# suppressing the Unicode .txt files that contain the data.  Our tables are
+# much more compact than the .txt files, so a significant space savings was
+# achieved.  Also, tables are not written out that are trivially derivable
+# from tables that do get written.  So, there typically is no file containing
+# the code points not matched by a binary property (the table for \P{} versus
+# lowercase \p{}), since you just need to invert the True table to get the
+# False table.
+
+# Properties have a 'Type', like 'binary', or 'string', or 'enum' depending on
+# how many match tables there are and the content of the maps.  This 'Type' is
+# different than a range 'Type', so don't get confused by the two concepts
+# having the same name.
 #
 # For information about the Unicode properties, see Unicode's UAX44 document:
 
@@ -175,22 +186,22 @@
 
 # As stated earlier, this program will work on any release of Unicode so far.
 # Most obvious problems in earlier data have NOT been corrected except when
-# necessary to make Perl or this program work reasonably.  For example, no
-# folding information was given in early releases, so this program uses the
-# substitute of lower case, just so that a regular expression with the /i
-# option will do something that actually gives the right results in many
-# cases.  There are also a couple other corrections for version 1.1.5,
-# commented at the point they are made.  As an example of corrections that
-# weren't made (but could be) is this statement from DerivedAge.txt: "The
-# supplementary private use code points and the non-character code points were
-# assigned in version 2.0, but not specifically listed in the UCD until
-# versions 3.0 and 3.1 respectively."  (To be precise it was 3.0.1 not 3.0.0)
-# More information on Unicode version glitches is further down in these
-# introductory comments.
+# necessary to make Perl or this program work reasonably, and to keep out
+# potential security issues.  For example, no folding information was given in
+# early releases, so this program substitutes lower case instead, just so that
+# a regular expression with the /i option will do something that actually
+# gives the right results in many cases.  There are also a couple other
+# corrections for version 1.1.5, commented at the point they are made.  As an
+# example of corrections that weren't made (but could be) is this statement
+# from DerivedAge.txt: "The supplementary private use code points and the
+# non-character code points were assigned in version 2.0, but not specifically
+# listed in the UCD until versions 3.0 and 3.1 respectively."  (To be precise
+# it was 3.0.1 not 3.0.0)  More information on Unicode version glitches is
+# further down in these introductory comments.
 #
-# This program works on all non-provisional properties as of 6.0, though the
-# files for some are suppressed from apparent lack of demand for them.  You
-# can change which are output by changing lists in this program.
+# This program works on all non-provisional properties as of the current
+# Unicode release, though the files for some are suppressed for various
+# reasons.  You can change which are output by changing lists in this program.
 #
 # The old version of mktables emphasized the term "Fuzzy" to mean Unicode's
 # loose matchings rules (from Unicode TR18):
@@ -202,6 +213,7 @@
 #    recognized, and that loose matching of property names be used,
 #    whereby the case distinctions, whitespace, hyphens, and underbar
 #    are ignored.
+#
 # The program still allows Fuzzy to override its determination of if loose
 # matching should be used, but it isn't currently used, as it is no longer
 # needed; the calculations it makes are good enough.
@@ -222,12 +234,13 @@
 #           values.  That is, they list code points and say what the mapping
 #           is under the given property.  Some files give the mappings for
 #           just one property; and some for many.  This program goes through
-#           each file and populates the properties from them.  Some properties
-#           are listed in more than one file, and Unicode has set up a
-#           precedence as to which has priority if there is a conflict.  Thus
-#           the order of processing matters, and this program handles the
-#           conflict possibility by processing the overriding input files
-#           last, so that if necessary they replace earlier values.
+#           each file and populates the properties and their map tables from
+#           them.  Some properties are listed in more than one file, and
+#           Unicode has set up a precedence as to which has priority if there
+#           is a conflict.  Thus the order of processing matters, and this
+#           program handles the conflict possibility by processing the
+#           overriding input files last, so that if necessary they replace
+#           earlier values.
 #        After this is all done, the program creates the property mappings not
 #            furnished by Unicode, but derivable from what it does give.
 #        The tables of code points that match each property value in each
@@ -290,18 +303,6 @@
 # warn about any that it doesn't know how to handle (the -q option suppresses
 # the warning).
 #
-# Why have files written out for binary 'N' matches?
-#   For binary properties, if you know the mapping for either Y or N; the
-#   other is trivial to construct, so could be done at Perl run-time by just
-#   complementing the result, instead of having a file for it.  That is, if
-#   someone types in \p{foo: N}, Perl could translate that to \P{foo: Y} and
-#   not need a file.   The problem is communicating to Perl that a given
-#   property is binary.  Perl can't figure it out from looking at the N (or
-#   No), as some non-binary properties have these as property values.  So
-#   rather than inventing a way to communicate this info back to the core,
-#   which would have required changes there as well, it was simpler just to
-#   add the extra tables.
-#
 # Why is there more than one type of range?
 #   This simplified things.  There are some very specialized code points that
 #   have to be handled specially for output, such as Hangul syllable names.
@@ -322,13 +323,10 @@
 #   can't just take the intersection of two map tables, for example, as that
 #   is nonsensical.
 #
-# There are no match tables generated for matches of the null string.  These
-# would look like qr/\p{JSN=}/ currently without modifying the regex code.
-# Perhaps something like them could be added if necessary.  The JSN does have
-# a real code point U+110B that maps to the null string, but it is a
-# contributory property, and therefore not output by default.  And it's easily
-# handled so far by making the null string the default where it is a
-# possibility.
+# What about 'fate' and 'status'.  The concept of a table's fate was created
+#   late when it became clear that something more was needed.  The difference
+#   between this and 'status' is unclean, and could be improved if someone
+#   wanted to spend the effort.
 #
 # DEBUGGING
 #
@@ -342,12 +340,12 @@
 #
 # local $to_trace = 1 if main::DEBUG;
 #
-# can be added to enable tracing in its lexical scope or until you insert
-# another line:
+# can be added to enable tracing in its lexical scope (plus dynamic) or until
+# you insert another line:
 #
 # local $to_trace = 0 if main::DEBUG;
 #
-# then use a line like "trace $a, @b, %c, ...;
+# To actually trace, use a line like "trace $a, @b, %c, ...;
 #
 # Some of the more complex subroutines already have trace statements in them.
 # Permanent trace statements should be like:
@@ -360,7 +358,8 @@
 # my $debug_skip = 0;
 #
 # to 1, and every file whose object is in @input_file_objects and doesn't have
-# a, 'non_skip => 1,' in its constructor will be skipped.
+# a, 'non_skip => 1,' in its constructor will be skipped.  However, skipping
+# Jamo.txt or UnicodeData.txt will likely cause fatal errors.
 #
 # To compare the output tables, it may be useful to specify the -annotate
 # flag.  This causes the tables to expand so there is one entry for each
@@ -445,7 +444,7 @@
 # ones.  The program should warn you if its name will clash with others on
 # restrictive file systems, like DOS.  If so, figure out a better name, and
 # add lines to the README.perl file giving that.  If the file is a character
-# property, it should be in the format that Unicode has by default
+# property, it should be in the format that Unicode has implicitly
 # standardized for such files for the more recently introduced ones.
 # If so, the Input_file constructor for @input_file_objects can just be the
 # file name and release it first appeared in.  If not, then it should be
@@ -478,10 +477,25 @@
 #
 # Here are some observations about some of the issues in early versions:
 #
-# The number of code points in \p{alpha} halved in 2.1.9.  It turns out that
-# the reason is that the CJK block starting at 4E00 was removed from PropList,
-# and was not put back in until 3.1.0
+# Prior to version 3.0, there were 3 character decompositions.  These are not
+# handled by Unicode::Normalize, nor will it compile when presented a version
+# that has them.  However, you can trivially get it to compile by simply
+# ignoring those decompositions, by changing the croak to a carp.  At the time
+# of this writing, the line (in cpan/Unicode-Normalize/mkheader) reads
 #
+#   croak("Weird Canonical Decomposition of U+$h");
+#
+# Simply change to a carp.  It will compile, but will not know about any three
+# character decomposition.
+
+# The number of code points in \p{alpha=True} halved in 2.1.9.  It turns out
+# that the reason is that the CJK block starting at 4E00 was removed from
+# PropList, and was not put back in until 3.1.0.  The Perl extension (the
+# single property name \p{alpha}) has the correct values.  But the compound
+# form is simply not generated until 3.1, as it can be argued that prior to
+# this release, this was not an official property.  The comments for
+# filter_old_style_proplist() give more details.
+#
 # Unicode introduced the synonym Space for White_Space in 4.1.  Perl has
 # always had a \p{Space}.  In release 3.2 only, they are not synonymous.  The
 # reason is that 3.2 introduced U+205F=medium math space, which was not
@@ -489,11 +503,11 @@
 # reclassified it correctly.
 #
 # Another change between 3.2 and 4.0 is the CCC property value ATBL.  In 3.2
-# this was erroneously a synonym for 202.  In 4.0, ATB became 202, and ATBL
-# was left with no code points, as all the ones that mapped to 202 stayed
-# mapped to 202.  Thus if your program used the numeric name for the class,
-# it would not have been affected, but if it used the mnemonic, it would have
-# been.
+# this was erroneously a synonym for 202 (it should be 200).  In 4.0, ATB
+# became 202, and ATBL was left with no code points, as all the ones that
+# mapped to 202 stayed mapped to 202.  Thus if your program used the numeric
+# name for the class, it would not have been affected, but if it used the
+# mnemonic, it would have been.
 #
 # \p{Script=Hrkt} (Katakana_Or_Hiragana) came in 4.0.1.  Before that code
 # points which eventually came to have this script property value, instead
@@ -505,6 +519,12 @@
 # tries to do the best it can for earlier releases.  It is done in
 # process_PropertyAliases()
 #
+# In version 2.1.2, the entry in UnicodeData.txt:
+#   0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;;019F;
+# should instead be
+#   0275;LATIN SMALL LETTER BARRED O;Ll;0;L;;;;;N;;;019F;;019F
+# Without this change, there are casing problems for this character.
+#
 ##############################################################################
 
 my $UNDEF = ':UNDEF:';  # String to print out for undefined values in tracing
@@ -516,9 +536,15 @@
 # non_skip => 1,
 # to the constructor for those files you want processed when you set this.
 # Files with a first version number of 0 are special: they are always
-# processed regardless of the state of this flag.
+# processed regardless of the state of this flag.  Generally, Jamo.txt and
+# UnicodeData.txt must not be skipped if you want this program to not die
+# before normal completion.
 my $debug_skip = 0;
 
+
+# Normally these are suppressed.
+my $write_Unicode_deprecated_tables = 0;
+
 # Set to 1 to enable tracing.
 our $to_trace = 0;
 
@@ -590,16 +616,16 @@
 
 # This is for a rarely used development feature that allows you to compare two
 # versions of the Unicode standard without having to deal with changes caused
-# by the code points introduced in the later verson.  Change the 0 to a SINGLE
-# dotted Unicode release number (e.g. 2.1).  Only code points introduced in
-# that release and earlier will be used; later ones are thrown away.  You use
-# the version number of the earliest one you want to compare; then run this
-# program on directory structures containing each release, and compare the
-# outputs.  These outputs will therefore include only the code points common
-# to both releases, and you can see the changes caused just by the underlying
-# release semantic changes.  For versions earlier than 3.2, you must copy a
-# version of DAge.txt into the directory.
-my $string_compare_versions = DEBUG && 0; #  e.g., v2.1;
+# by the code points introduced in the later version.  Change the 0 to a
+# string containing a SINGLE dotted Unicode release number (e.g. "2.1").  Only
+# code points introduced in that release and earlier will be used; later ones
+# are thrown away.  You use the version number of the earliest one you want to
+# compare; then run this program on directory structures containing each
+# release, and compare the outputs.  These outputs will therefore include only
+# the code points common to both releases, and you can see the changes caused
+# just by the underlying release semantic changes.  For versions earlier than
+# 3.2, you must copy a version of DAge.txt into the directory.
+my $string_compare_versions = DEBUG && 0; #  e.g., "2.1";
 my $compare_versions = DEBUG
                        && $string_compare_versions
                        && pack "C*", split /\./, $string_compare_versions;
@@ -621,6 +647,7 @@
 $0 = File::Spec->canonpath($0);
 
 my $make_test_script = 0;      # ? Should we output a test script
+my $make_norm_test_script = 0; # ? Should we output a normalization test script
 my $write_unchanged_files = 0; # ? Should we update the output files even if
                                #    we don't think they have changed
 my $use_directory = "";        # ? Should we chdir somewhere.
@@ -681,6 +708,10 @@
     {
         $make_test_script = 1;
     }
+    elsif ($arg eq '-makenormtest')
+    {
+        $make_norm_test_script = 1;
+    }
     elsif ($arg eq '-makelist') {
         $make_list = 1;
     }
@@ -729,8 +760,8 @@
   -makelist   : Rewrite the file list $file_list based on current setup
   -annotate   : Output an annotation for each character in the table files;
                 useful for debugging mktables, looking at diffs; but is slow,
-                memory intensive; resulting tables are usable but slow and
-                very large.
+                memory intensive; resulting tables are usable but are slow and
+                very large (and currently fail the Unicode::UCD.t tests).
   -check A B  : Executes $0 only if A and B are the same
 END
     }
@@ -779,6 +810,12 @@
 push @tables_that_may_be_empty, 'Title' if $v_version lt v2.0.0;
 push @tables_that_may_be_empty, 'Script=Katakana_Or_Hiragana'
                                                     if $v_version ge v4.1.0;
+push @tables_that_may_be_empty, 'Script_Extensions=Katakana_Or_Hiragana'
+                                                    if $v_version ge v6.0.0;
+push @tables_that_may_be_empty, 'Grapheme_Cluster_Break=Prepend'
+                                                    if $v_version ge v6.1.0;
+push @tables_that_may_be_empty, 'Canonical_Combining_Class=CCC133'
+                                                    if $v_version ge v6.2.0;
 
 # The lists below are hashes, so the key is the item in the list, and the
 # value is the reason why it is in the list.  This makes generation of
@@ -842,6 +879,7 @@
 # Enum values for to_output_map() method in the Map_Table package.
 my $EXTERNAL_MAP = 1;
 my $INTERNAL_MAP = 2;
+my $OUTPUT_ADJUSTED = 3;
 
 # To override computed values for writing the map tables for these properties.
 # The default for enum map tables is to write them out, so that the Unicode
@@ -849,21 +887,26 @@
 # for any code point is available in a more compact form.
 my %global_to_output_map = (
     # Needed by UCD.pm, but don't want to publicize that it exists, so won't
-    # get stuck supporting it if things change.  Sinc it is a STRING property,
-    # it normally would be listed in the pod, but INTERNAL_MAP suppresses
-    # that.
+    # get stuck supporting it if things change.  Since it is a STRING
+    # property, it normally would be listed in the pod, but INTERNAL_MAP
+    # suppresses that.
     Unicode_1_Name => $INTERNAL_MAP,
 
     Present_In => 0,                # Suppress, as easily computed from Age
-    Canonical_Combining_Class => 0, # Duplicate of CombiningClass.pl
     Block => 0,                     # Suppress, as Blocks.txt is retained.
+
+    # Suppress, as mapping can be found instead from the
+    # Perl_Decomposition_Mapping file
+    Decomposition_Type => 0,
 );
 
 # Properties that this program ignores.
-my @unimplemented_properties = (
-'Unicode_Radical_Stroke'    # Remove if changing to handle this one.
-);
+my @unimplemented_properties;
 
+# With this release, it is automatically handled if the Unihan db is
+# downloaded
+push @unimplemented_properties, 'Unicode_Radical_Stroke' if $v_version le v5.2.0;
+
 # There are several types of obsolete properties defined by Unicode.  These
 # must be hand-edited for every new Unicode release.
 my %why_deprecated;  # Generates a deprecated warning message if used.
@@ -890,6 +933,10 @@
         'Other_Lowercase' => $contributory,
         'Other_Math' => $contributory,
         'Other_Uppercase' => $contributory,
+        'Expands_On_NFC' => $why_no_expand,
+        'Expands_On_NFD' => $why_no_expand,
+        'Expands_On_NFKC' => $why_no_expand,
+        'Expands_On_NFKD' => $why_no_expand,
     );
 
     %why_suppressed = (
@@ -897,28 +944,48 @@
         # contains the same information, but without the algorithmically
         # determinable Hangul syllables'.  This file is not published, so it's
         # existence is not noted in the comment.
-        'Decomposition_Mapping' => 'Accessible via Unicode::Normalize',
+        'Decomposition_Mapping' => 'Accessible via Unicode::Normalize or Unicode::UCD::prop_invmap()',
 
-        'ISO_Comment' => 'Apparently no demand for it, but can access it through Unicode::UCD::charinfo.  Obsoleted, and code points for it removed in Unicode 5.2',
+        'Indic_Matra_Category' => "Provisional",
+        'Indic_Syllabic_Category' => "Provisional",
 
-        'Simple_Case_Folding' => "$simple.  Can access this through Unicode::UCD::casefold",
-        'Simple_Lowercase_Mapping' => "$simple.  Can access this through Unicode::UCD::charinfo",
-        'Simple_Titlecase_Mapping' => "$simple.  Can access this through Unicode::UCD::charinfo",
-        'Simple_Uppercase_Mapping' => "$simple.  Can access this through Unicode::UCD::charinfo",
+        # Don't suppress ISO_Comment, as otherwise special handling is needed
+        # to differentiate between it and gc=c, which can be written as 'isc',
+        # which is the same characters as ISO_Comment's short name.
 
-        'Name' => "Accessible via 'use charnames;'",
-        'Name_Alias' => "Accessible via 'use charnames;'",
+        'Name' => "Accessible via \\N{...} or 'use charnames;' or Unicode::UCD::prop_invmap()",
 
+        'Simple_Case_Folding' => "$simple.  Can access this through Unicode::UCD::casefold or Unicode::UCD::prop_invmap()",
+        'Simple_Lowercase_Mapping' => "$simple.  Can access this through Unicode::UCD::charinfo or Unicode::UCD::prop_invmap()",
+        'Simple_Titlecase_Mapping' => "$simple.  Can access this through Unicode::UCD::charinfo or Unicode::UCD::prop_invmap()",
+        'Simple_Uppercase_Mapping' => "$simple.  Can access this through Unicode::UCD::charinfo or Unicode::UCD::prop_invmap()",
+
         FC_NFKC_Closure => 'Supplanted in usage by NFKC_Casefold; otherwise not useful',
-        Expands_On_NFC => $why_no_expand,
-        Expands_On_NFD => $why_no_expand,
-        Expands_On_NFKC => $why_no_expand,
-        Expands_On_NFKD => $why_no_expand,
     );
 
-    # The following are suppressed because they were made contributory or
-    # deprecated by Unicode before Perl ever thought about supporting them.
-    foreach my $property ('Jamo_Short_Name', 'Grapheme_Link') {
+    foreach my $property (
+
+            # The following are suppressed because they were made contributory
+            # or deprecated by Unicode before Perl ever thought about
+            # supporting them.
+            'Jamo_Short_Name',
+            'Grapheme_Link',
+            'Expands_On_NFC',
+            'Expands_On_NFD',
+            'Expands_On_NFKC',
+            'Expands_On_NFKD',
+
+            # The following are suppressed because they have been marked
+            # as deprecated for a sufficient amount of time
+            'Other_Alphabetic',
+            'Other_Default_Ignorable_Code_Point',
+            'Other_Grapheme_Extend',
+            'Other_ID_Continue',
+            'Other_ID_Start',
+            'Other_Lowercase',
+            'Other_Math',
+            'Other_Uppercase',
+    ) {
         $why_suppressed{$property} = $why_deprecated{$property};
     }
 
@@ -929,6 +996,13 @@
     }
 }
 
+if ($write_Unicode_deprecated_tables) {
+    foreach my $property (keys %why_suppressed) {
+        delete $why_suppressed{$property} if $property =~
+                                                    / ^ Other | Grapheme /x;
+    }
+}
+
 if ($v_version ge 4.0.0) {
     $why_stabilized{'Hyphen'} = 'Use the Line_Break property instead; see www.unicode.org/reports/tr14';
     if ($v_version ge 6.0.0) {
@@ -938,14 +1012,18 @@
 if ($v_version ge 5.2.0 && $v_version lt 6.0.0) {
     $why_obsolete{'ISO_Comment'} = 'Code points for it have been removed';
     if ($v_version ge 6.0.0) {
-        $why_deprecated{'ISO_Comment'} = 'No longer needed for chart generation; otherwise not useful, and code points for it have been removed';
+        $why_deprecated{'ISO_Comment'} = 'No longer needed for Unicode\'s internal chart generation; otherwise not useful, and code points for it have been removed';
     }
 }
 
 # Probably obsolete forever
 if ($v_version ge v4.1.0) {
-    $why_suppressed{'Script=Katakana_Or_Hiragana'} = 'Obsolete.  All code points previously matched by this have been moved to "Script=Common"';
+    $why_suppressed{'Script=Katakana_Or_Hiragana'} = 'Obsolete.  All code points previously matched by this have been moved to "Script=Common".';
 }
+if ($v_version ge v6.0.0) {
+    $why_suppressed{'Script=Katakana_Or_Hiragana'} .= '  Consider instead using "Script_Extensions=Katakana" or "Script_Extensions=Hiragana" (or both)';
+    $why_suppressed{'Script_Extensions=Katakana_Or_Hiragana'} = 'All code points that would be matched by this are matched by either "Script_Extensions=Katakana" or "Script_Extensions=Hiragana"';
+}
 
 # This program can create files for enumerated-like properties, such as
 # 'Numeric_Type'.  This file would be the same format as for a string
@@ -956,9 +1034,10 @@
 my @output_mapped_properties = split "\n", <<END;
 END
 
-# If you are using the Unihan database, you need to add the properties that
-# you want to extract from it to this table.  For your convenience, the
-# properties in the 6.0 PropertyAliases.txt file are listed, commented out
+# If you are using the Unihan database in a Unicode version before 5.2, you
+# need to add the properties that you want to extract from it to this table.
+# For your convenience, the properties in the 6.0 PropertyAliases.txt file are
+# listed, commented out
 my @cjk_properties = split "\n", <<'END';
 #cjkAccountingNumeric; kAccountingNumeric
 #cjkOtherNumeric; kOtherNumeric
@@ -978,7 +1057,7 @@
 
 # Similarly for the property values.  For your convenience, the lines in the
 # 6.0 PropertyAliases.txt file are listed.  Just remove the first BUT NOT both
-# '#' marks
+# '#' marks (for Unicode versions before 5.2)
 my @cjk_property_values = split "\n", <<'END';
 ## @missing: 0000..10FFFF; cjkAccountingNumeric; NaN
 ## @missing: 0000..10FFFF; cjkCompatibilityVariant; <code point>
@@ -999,7 +1078,7 @@
 # The input files don't list every code point.  Those not listed are to be
 # defaulted to some value.  Below are hard-coded what those values are for
 # non-binary properties as of 5.1.  Starting in 5.0, there are
-# machine-parsable comment lines in the files the give the defaults; so this
+# machine-parsable comment lines in the files that give the defaults; so this
 # list shouldn't have to be extended.  The claim is that all missing entries
 # for binary properties will default to 'N'.  Unicode tried to change that in
 # 5.2, but the beta period produced enough protest that they backed off.
@@ -1049,23 +1128,37 @@
     Word_Break => 'Other',
 );
 
-# Below are files that Unicode furnishes, but this program ignores, and why
+# Below are files that Unicode furnishes, but this program ignores, and why.
+# NormalizationCorrections.txt requires some more explanation.  It documents
+# the cumulative fixes to erroneous normalizations in earlier Unicode
+# versions.  Its main purpose is so that someone running on an earlier version
+# can use this file to override what got published in that earlier release.
+# It would be easy for mktables to read and handle this file.  But all the
+# corrections in it should already be in the other files for the release it
+# is.  To get it to actually mean something useful, someone would have to be
+# using an earlier Unicode release, and copy it to the files for that release
+# and recomplile.  So far there has been no demand to do that, so this hasn't
+# been implemented.
 my %ignored_files = (
-    'CJKRadicals.txt' => 'Unihan data',
-    'Index.txt' => 'An index, not actual data',
-    'NamedSqProv.txt' => 'Not officially part of the Unicode standard; Append it to NamedSequences.txt if you want to process the contents.',
-    'NamesList.txt' => 'Just adds commentary',
-    'NormalizationCorrections.txt' => 'Data is already in other files.',
-    'Props.txt' => 'Adds nothing to PropList.txt; only in very early releases',
-    'ReadMe.txt' => 'Just comments',
-    'README.TXT' => 'Just comments',
-    'StandardizedVariants.txt' => 'Only for glyph changes, not a Unicode character property.  Does not fit into current scheme where one code point is mapped',
-    'EmojiSources.txt' => 'Not of general utility: for Japanese legacy cell-phone applications',
-    'IndicMatraCategory.txt' => 'Provisional',
-    'IndicSyllabicCategory.txt' => 'Provisional',
-    'ScriptExtensions.txt' => 'Provisional',
+    'CJKRadicals.txt' => 'Maps the kRSUnicode property values to corresponding code points',
+    'Index.txt' => 'Alphabetical index of Unicode characters',
+    'NamedSqProv.txt' => 'Named sequences proposed for inclusion in a later version of the Unicode Standard; if you need them now, you can append this file to F<NamedSequences.txt> and recompile perl',
+    'NamesList.txt' => 'Annotated list of characters',
+    'NormalizationCorrections.txt' => 'Documentation of corrections already incorporated into the Unicode data base',
+    'Props.txt' => 'Only in very early releases; is a subset of F<PropList.txt> (which is used instead)',
+    'ReadMe.txt' => 'Documentation',
+    'StandardizedVariants.txt' => 'Certain glyph variations for character display are standardized.  This lists the non-Unihan ones; the Unihan ones are also not used by Perl, and are in a separate Unicode data base L<http://www.unicode.org/ivd>',
+    'EmojiSources.txt' => 'Maps certain Unicode code points to their legacy Japanese cell-phone values',
+    'USourceData.txt' => 'Documentation of status and cross reference of proposals for encoding by Unicode of Unihan characters',
+    'USourceData.pdf' => 'Documentation of status and cross reference of proposals for encoding by Unicode of Unihan characters',
+    'auxiliary/WordBreakTest.html' => 'Documentation of validation tests',
+    'auxiliary/SentenceBreakTest.html' => 'Documentation of validation tests',
+    'auxiliary/GraphemeBreakTest.html' => 'Documentation of validation tests',
+    'auxiliary/LineBreakTest.html' => 'Documentation of validation tests',
 );
 
+my %skipped_files;  # List of files that we skip
+
 ### End of externally interesting definitions, except for @input_file_objects
 
 my $HEADER=<<"EOF";
@@ -1074,12 +1167,12 @@
 # database, Version $string_version.  Any changes made here will be lost!
 EOF
 
-my $INTERNAL_ONLY=<<"EOF";
+my $INTERNAL_ONLY_HEADER = <<"EOF";
 
 # !!!!!!!   INTERNAL PERL USE ONLY   !!!!!!!
-# This file is for internal use by the Perl program only.  The format and even
-# the name or existence of this file are subject to change without notice.
-# Don't use it directly.
+# This file is for internal use by core Perl only.  The format and even the
+# name or existence of this file are subject to change without notice.  Don't
+# use it directly.
 EOF
 
 my $DEVELOPMENT_ONLY=<<"EOF";
@@ -1091,15 +1184,19 @@
 
 EOF
 
-my $LAST_UNICODE_CODEPOINT_STRING = "10FFFF";
-my $LAST_UNICODE_CODEPOINT = hex $LAST_UNICODE_CODEPOINT_STRING;
-my $MAX_UNICODE_CODEPOINTS = $LAST_UNICODE_CODEPOINT + 1;
+my $MAX_UNICODE_CODEPOINT_STRING = "10FFFF";
+my $MAX_UNICODE_CODEPOINT = hex $MAX_UNICODE_CODEPOINT_STRING;
+my $MAX_UNICODE_CODEPOINTS = $MAX_UNICODE_CODEPOINT + 1;
 
 # Matches legal code point.  4-6 hex numbers, If there are 6, the first
 # two must be 10; if there are 5, the first must not be a 0.  Written this way
-# to decrease backtracking
-my $code_point_re =
-        qr/ \b (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b/x;
+# to decrease backtracking.  The first regex allows the code point to be at
+# the end of a word, but to work properly, the word shouldn't end with a valid
+# hex character.  The second one won't match a code point at the end of a
+# word, and doesn't have the run-on issue
+my $run_on_code_point_re =
+            qr/ (?: 10[0-9A-F]{4} | [1-9A-F][0-9A-F]{4} | [0-9A-F]{4} ) \b/x;
+my $code_point_re = qr/\b$run_on_code_point_re/;
 
 # This matches the beginning of the line in the Unicode db files that give the
 # defaults for code points not listed (i.e., missing) in the file.  The code
@@ -1106,7 +1203,7 @@
 # depends on this ending with a semi-colon, so it can assume it is a valid
 # field when the line is split() by semi-colons
 my $missing_defaults_prefix =
-            qr/^#\s+\@missing:\s+0000\.\.$LAST_UNICODE_CODEPOINT_STRING\s*;/;
+            qr/^#\s+\@missing:\s+0000\.\.$MAX_UNICODE_CODEPOINT_STRING\s*;/;
 
 # Property types.  Unicode has more types, but these are sufficient for our
 # purposes.
@@ -1113,8 +1210,12 @@
 my $UNKNOWN = -1;   # initialized to illegal value
 my $NON_STRING = 1; # Either binary or enum
 my $BINARY = 2;
-my $ENUM = 3;       # Include catalog
-my $STRING = 4;     # Anything else: string or misc
+my $FORCED_BINARY = 3; # Not a binary property, but, besides its normal
+                       # tables, additional true and false tables are
+                       # generated so that false is anything matching the
+                       # default value, and true is everything else.
+my $ENUM = 4;       # Include catalog
+my $STRING = 5;     # Anything else: string or misc
 
 # Some input files have lines that give default values for code points not
 # contained in the file.  Sometimes these should be ignored.
@@ -1153,17 +1254,16 @@
 my $IF_NOT_EQUIVALENT = 1; # Replace only under certain conditions; details in
                            # the comments at the subroutine definition.
 my $UNCONDITIONALLY = 2;   # Replace without conditions.
-my $MULTIPLE = 4;          # Don't replace, but add a duplicate record if
+my $MULTIPLE_BEFORE = 4;   # Don't replace, but add a duplicate record if
                            # already there
-my $CROAK = 5;             # Die with an error if is already there
+my $MULTIPLE_AFTER = 5;    # Don't replace, but add a duplicate record if
+                           # already there
+my $CROAK = 6;             # Die with an error if is already there
 
 # Flags to give property statuses.  The phrases are to remind maintainers that
 # if the flag is changed, the indefinite article referring to it in the
 # documentation may need to be as well.
 my $NORMAL = "";
-my $SUPPRESSED = 'z';   # The character should never actually be seen, since
-                        # it is suppressed
-my $PLACEHOLDER = 'P';  # Implies no pod entry generated
 my $DEPRECATED = 'D';
 my $a_bold_deprecated = "a 'B<$DEPRECATED>'";
 my $A_bold_deprecated = "A 'B<$DEPRECATED>'";
@@ -1182,12 +1282,28 @@
 
 my %status_past_participles = (
     $DISCOURAGED => 'discouraged',
-    $SUPPRESSED => 'should never be generated',
     $STABILIZED => 'stabilized',
     $OBSOLETE => 'obsolete',
     $DEPRECATED => 'deprecated',
 );
 
+# Table fates.  These are somewhat ordered, so that fates < $MAP_PROXIED should be
+# externally documented.
+my $ORDINARY = 0;       # The normal fate.
+my $MAP_PROXIED = 1;    # The map table for the property isn't written out,
+                        # but there is a file written that can be used to
+                        # reconstruct this table
+my $INTERNAL_ONLY = 2;  # The file for this table is written out, but it is
+                        # for Perl's internal use only
+my $SUPPRESSED = 3;     # The file for this table is not written out, and as a
+                        # result, we don't bother to do many computations on
+                        # it.
+my $PLACEHOLDER = 4;    # Like $SUPPRESSED, but we go through all the
+                        # computations anyway, as the values are needed for
+                        # things to work.  This happens when we have Perl
+                        # extensions that depend on Unicode tables that
+                        # wouldn't normally be in a given Unicode version.
+
 # The format of the values of the tables:
 my $EMPTY_FORMAT = "";
 my $BINARY_FORMAT = 'b';
@@ -1197,7 +1313,9 @@
 my $HEX_FORMAT = 'x';
 my $RATIONAL_FORMAT = 'r';
 my $STRING_FORMAT = 's';
+my $ADJUST_FORMAT = 'a';
 my $DECOMP_STRING_FORMAT = 'c';
+my $STRING_WHITE_SPACE_LIST = 'sw';
 
 my %map_table_formats = (
     $BINARY_FORMAT => 'binary',
@@ -1204,10 +1322,12 @@
     $DECIMAL_FORMAT => 'single decimal digit',
     $FLOAT_FORMAT => 'floating point number',
     $INTEGER_FORMAT => 'integer',
-    $HEX_FORMAT => 'positive hex whole number; a code point',
+    $HEX_FORMAT => 'non-negative hex whole number; a code point',
     $RATIONAL_FORMAT => 'rational: an integer or a fraction',
     $STRING_FORMAT => 'string',
+    $ADJUST_FORMAT => 'some entries need adjustment',
     $DECOMP_STRING_FORMAT => 'Perl\'s internal (Normalize.pm) decomposition mapping',
+    $STRING_WHITE_SPACE_LIST => 'string, but some elements are interpreted as a list; white space occurs only as list item separators'
 );
 
 # Unicode didn't put such derived files in a separate directory at first.
@@ -1216,12 +1336,33 @@
 my $AUXILIARY = 'auxiliary';
 
 # Hashes that will eventually go into Heavy.pl for the use of utf8_heavy.pl
+# and into UCD.pl for the use of UCD.pm
 my %loose_to_file_of;       # loosely maps table names to their respective
                             # files
 my %stricter_to_file_of;    # same; but for stricter mapping.
+my %loose_property_to_file_of; # Maps a loose property name to its map file
+my %file_to_swash_name;     # Maps the file name to its corresponding key name
+                            # in the hash %utf8::SwashInfo
 my %nv_floating_to_rational; # maps numeric values floating point numbers to
                              # their rational equivalent
-my %loose_property_name_of; # Loosely maps property names to standard form
+my %loose_property_name_of; # Loosely maps (non_string) property names to
+                            # standard form
+my %string_property_loose_to_name; # Same, for string properties.
+my %loose_defaults;         # keys are of form "prop=value", where 'prop' is
+                            # the property name in standard loose form, and
+                            # 'value' is the default value for that property,
+                            # also in standard loose form.
+my %loose_to_standard_value; # loosely maps table names to the canonical
+                            # alias for them
+my %ambiguous_names;        # keys are alias names (in standard form) that
+                            # have more than one possible meaning.
+my %prop_aliases;           # Keys are standard property name; values are each
+                            # one's aliases
+my %prop_value_aliases;     # Keys of top level are standard property name;
+                            # values are keys to another hash,  Each one is
+                            # one of the property's values, in standard form.
+                            # The values are that prop-val's aliases.
+my %ucd_pod;    # Holds entries that will go into the UCD section of the pod
 
 # Most properties are immune to caseless matching, otherwise you would get
 # nonsensical results, as properties are a function of a code point, not
@@ -1260,6 +1401,31 @@
 my %Jamo_V;     # Vowels
 my %Jamo_T;     # Trailing consonants
 
+# For code points whose name contains its ordinal as a '-ABCD' suffix.
+# The key is the base name of the code point, and the value is an
+# array giving all the ranges that use this base name.  Each range
+# is actually a hash giving the 'low' and 'high' values of it.
+my %names_ending_in_code_point;
+my %loose_names_ending_in_code_point;   # Same as above, but has blanks, dashes
+                                        # removed from the names
+# Inverse mapping.  The list of ranges that have these kinds of
+# names.  Each element contains the low, high, and base names in an
+# anonymous hash.
+my @code_points_ending_in_code_point;
+
+# To hold Unicode's normalization test suite
+my @normalization_tests;
+
+# Boolean: does this Unicode version have the hangul syllables, and are we
+# writing out a table for them?
+my $has_hangul_syllables = 0;
+
+# Does this Unicode version have code points whose names end in their
+# respective code points, and are we writing out a table for them?  0 for no;
+# otherwise points to first property that a table is needed for them, so that
+# if multiple tables are needed, we don't create duplicates
+my $needing_code_points_ending_in_code_point = 0;
+
 my @backslash_X_tests;     # List of tests read in for testing \X
 my @unhandled_properties;  # Will contain a list of properties found in
                            # the input that we didn't process.
@@ -1284,6 +1450,8 @@
 my $block;
 my $perl_charname;
 my $print;
+my $Any;
+my $script;
 
 # Are there conflicting names because of beginning with 'In_', or 'Is_'
 my $has_In_conflicts = 0;
@@ -1374,20 +1542,16 @@
     # point of the range.
     my $end;
     if (! $viacode[$i]) {
-        if ($gc-> table('Surrogate')->contains($i)) {
-            $viacode[$i] = 'Surrogate';
-            $annotate_char_type[$i] = $SURROGATE_TYPE;
-            $printable[$i] = 0;
-            $end = $gc->table('Surrogate')->containing_range($i)->end;
-        }
-        elsif ($gc-> table('Private_use')->contains($i)) {
+        my $nonchar;
+        if ($gc-> table('Private_use')->contains($i)) {
             $viacode[$i] = 'Private Use';
             $annotate_char_type[$i] = $PRIVATE_USE_TYPE;
             $printable[$i] = 0;
             $end = $gc->table('Private_Use')->containing_range($i)->end;
         }
-        elsif (Property::property_ref('Noncharacter_Code_Point')-> table('Y')->
-                                                                contains($i))
+        elsif ((defined ($nonchar =
+                            Property::property_ref('Noncharacter_Code_Point'))
+               && $nonchar->table('Y')->contains($i)))
         {
             $viacode[$i] = 'Noncharacter';
             $annotate_char_type[$i] = $NONCHARACTER_TYPE;
@@ -1396,25 +1560,41 @@
                                                     containing_range($i)->end;
         }
         elsif ($gc-> table('Control')->contains($i)) {
-            $viacode[$i] = 'Control';
+            $viacode[$i] = property_ref('Name_Alias')->value_of($i) || 'Control';
             $annotate_char_type[$i] = $CONTROL_TYPE;
             $printable[$i] = 0;
-            $end = 0x81 if $i == 0x80;  # Hard-code this one known case
         }
         elsif ($gc-> table('Unassigned')->contains($i)) {
-            $viacode[$i] = 'Unassigned, block=' . $block-> value_of($i);
             $annotate_char_type[$i] = $UNASSIGNED_TYPE;
             $printable[$i] = 0;
+            if ($v_version lt v2.0.0) { # No blocks in earliest releases
+                $viacode[$i] = 'Unassigned';
+                $end = $gc-> table('Unassigned')->containing_range($i)->end;
+            }
+            else {
+                $viacode[$i] = 'Unassigned, block=' . $block-> value_of($i);
 
-            # Because we name the unassigned by the blocks they are in, it
-            # can't go past the end of that block, and it also can't go past
-            # the unassigned range it is in.  The special table makes sure
-            # that the non-characters, which are unassigned, are separated
-            # out.
-            $end = min($block->containing_range($i)->end,
-                       $unassigned_sans_noncharacters-> containing_range($i)->
-                                                                         end);
+                # Because we name the unassigned by the blocks they are in, it
+                # can't go past the end of that block, and it also can't go
+                # past the unassigned range it is in.  The special table makes
+                # sure that the non-characters, which are unassigned, are
+                # separated out.
+                $end = min($block->containing_range($i)->end,
+                           $unassigned_sans_noncharacters->
+                                                    containing_range($i)->end);
+            }
         }
+        elsif ($v_version lt v2.0.0) {  # No surrogates in earliest releases
+            $viacode[$i] = $gc->value_of($i);
+            $annotate_char_type[$i] = $UNKNOWN_TYPE;
+            $printable[$i] = 0;
+        }
+        elsif ($gc-> table('Surrogate')->contains($i)) {
+            $viacode[$i] = 'Surrogate';
+            $annotate_char_type[$i] = $SURROGATE_TYPE;
+            $printable[$i] = 0;
+            $end = $gc->table('Surrogate')->containing_range($i)->end;
+        }
         else {
             Carp::my_carp_bug("Can't figure out how to annotate "
                               . sprintf("U+%04X", $i)
@@ -1862,10 +2042,10 @@
 # basically be a while(next_line()) {...} loop.
 #
 # You can also set up handlers to
-#   1) call before the first line is read for pre processing
+#   1) call before the first line is read, for pre processing
 #   2) call to adjust each line of the input before the main handler gets them
 #   3) call upon EOF before the main handler exits its loop
-#   4) call at the end for post processing
+#   4) call at the end, for post processing
 #
 # $_ is used to store the input line, and is to be filtered by the
 # each_line_handler()s.  So, if the format of the line is not in the desired
@@ -1916,7 +2096,7 @@
     my %property;
     # name of property this file is for.  defaults to none, meaning not
     # applicable, or is otherwise determinable, for example, from each line.
-    main::set_access('property', \%property, qw{ c });
+    main::set_access('property', \%property, qw{ c r });
 
     my %optional;
     # If this is true, the file is optional.  If not present, no warning is
@@ -1931,12 +2111,15 @@
     main::set_access('non_skip', \%non_skip, 'c');
 
     my %skip;
-    # This is used to skip processing of this input file semi-permanently.
-    # It is used for files that we aren't planning to process anytime soon,
-    # but want to allow to be in the directory and not raise a message that we
-    # are not handling.  Mostly for test files.  This is in contrast to the
-    # non_skip element, which is supposed to be used very temporarily for
-    # debugging.  Sets 'optional' to 1
+    # This is used to skip processing of this input file semi-permanently,
+    # when it evaluates to true.  The value should be the reason the file is
+    # being skipped.  It is used for files that we aren't planning to process
+    # anytime soon, but want to allow to be in the directory and not raise a
+    # message that we are not handling.  Mostly for test files.  This is in
+    # contrast to the non_skip element, which is supposed to be used very
+    # temporarily for debugging.  Sets 'optional' to 1.  Also, files that we
+    # pretty much will never look at can be placed in the global
+    # %ignored_files instead.  Ones used here will be added to %skipped files
     main::set_access('skip', \%skip, 'c');
 
     my %each_line_handler;
@@ -2059,7 +2242,12 @@
             print "Warning: " . __PACKAGE__ . " constructor for $file{$addr} has useless 'non_skip' in it\n";
         }
 
-        $optional{$addr} = 1 if $skip{$addr};
+        # If skipping, set to optional, and add to list of ignored files,
+        # including its reason
+        if ($skip{$addr}) {
+            $optional{$addr} = 1;
+            $skipped_files{$file{$addr}} = $skip{$addr}
+        }
 
         return $self;
     }
@@ -2069,6 +2257,7 @@
         fallback => 0,
         qw("") => "_operator_stringify",
         "." => \&main::_operator_dot,
+        ".=" => \&main::_operator_dot_equal,
     ;
 
     sub _operator_stringify {
@@ -2146,7 +2335,7 @@
             # its name
             if ($seen_non_extracted_non_age) {
                 if ($file =~ /$EXTRACTED/i) {
-                    Carp::my_carp_bug(join_lines(<<END
+                    Carp::my_carp_bug(main::join_lines(<<END
 $file should be processed just after the 'Prop...Alias' files, and before
 anything not in the $EXTRACTED_DIR directory.  Proceeding, but the results may
 have subtle problems
@@ -2170,8 +2359,8 @@
             # they are deleted from the hash, so any that remain at the
             # end of the program are files that we didn't process.
             my $fkey = File::Spec->rel2abs($file);
-            my $expecting = delete $potential_files{$fkey};
-            $expecting = delete $potential_files{lc($fkey)} unless defined $expecting;
+            my $expecting = delete $potential_files{lc($fkey)};
+
             Carp::my_carp("Was not expecting '$file'.") if
                     ! $expecting
                     && ! defined $handle{$addr};
@@ -2334,7 +2523,8 @@
                         || @defaults > 2
                         || ($default =~ /^</
                             && $default !~ /^<code *point>$/i
-                            && $default !~ /^<none>$/i))
+                            && $default !~ /^<none>$/i
+                            && $default !~ /^<script>$/i))
                     {
                         $self->carp_bad_line("Unrecognized \@missing line: $_.  Assuming no missing entries");
                     }
@@ -2355,7 +2545,16 @@
                         elsif ($default =~ /^<code *point>$/i) {
                             $default = $CODE_POINT;
                         }
+                        elsif ($default =~ /^<script>$/i) {
 
+                            # Special case this one.  Currently is from
+                            # ScriptExtensions.txt, and means for all unlisted
+                            # code points, use their Script property values.
+                            # For the code points not listed in that file, the
+                            # default value is 'Unknown'.
+                            $default = "Unknown";
+                        }
+
                         # Store them as a sub-arrays with both components.
                         push @{$missings{$addr}}, [ $default, $property ];
                     }
@@ -2619,27 +2818,29 @@
     main::set_access('name', \%name, 'r');
 
     my %loose_match;
-    # Determined by the constructor code if this name should match loosely or
-    # not.  The constructor parameters can override this, but it isn't fully
-    # implemented, as should have ability to override Unicode one's via
-    # something like a set_loose_match()
+    # Should this name match loosely or not.
     main::set_access('loose_match', \%loose_match, 'r');
 
-    my %make_pod_entry;
-    # Some aliases should not get their own entries because they are covered
-    # by a wild-card, and some we want to discourage use of.  Binary
-    main::set_access('make_pod_entry', \%make_pod_entry, 'r');
+    my %make_re_pod_entry;
+    # Some aliases should not get their own entries in the re section of the
+    # pod, because they are covered by a wild-card, and some we want to
+    # discourage use of.  Binary
+    main::set_access('make_re_pod_entry', \%make_re_pod_entry, 'r', 's');
 
+    my %ucd;
+    # Is this documented to be accessible via Unicode::UCD
+    main::set_access('ucd', \%ucd, 'r', 's');
+
     my %status;
     # Aliases have a status, like deprecated, or even suppressed (which means
     # they don't appear in documentation).  Enum
     main::set_access('status', \%status, 'r');
 
-    my %externally_ok;
+    my %ok_as_filename;
     # Similarly, some aliases should not be considered as usable ones for
     # external use, such as file names, or we don't want documentation to
     # recommend them.  Boolean
-    main::set_access('externally_ok', \%externally_ok, 'r');
+    main::set_access('ok_as_filename', \%ok_as_filename, 'r');
 
     sub new {
         my $class = shift;
@@ -2649,14 +2850,15 @@
 
         $name{$addr} = shift;
         $loose_match{$addr} = shift;
-        $make_pod_entry{$addr} = shift;
-        $externally_ok{$addr} = shift;
+        $make_re_pod_entry{$addr} = shift;
+        $ok_as_filename{$addr} = shift;
         $status{$addr} = shift;
+        $ucd{$addr} = shift;
 
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
         # Null names are never ok externally
-        $externally_ok{$addr} = 0 if $name{$addr} eq "";
+        $ok_as_filename{$addr} = 0 if $name{$addr} eq "";
 
         return $self;
     }
@@ -2722,10 +2924,6 @@
 
         Carp::carp_extra_args(\%args) if main::DEBUG && %args;
 
-        if (! $type{$addr}) {
-            $standard_form{$addr} = main::standardize($value);
-        }
-
         return $self;
     }
 
@@ -2733,6 +2931,7 @@
         fallback => 0,
         qw("") => "_operator_stringify",
         "." => \&main::_operator_dot,
+        ".=" => \&main::_operator_dot_equal,
     ;
 
     sub _operator_stringify {
@@ -2754,8 +2953,11 @@
     }
 
     sub standard_form {
-        # The standard form is the value itself if the standard form is
-        # undefined (that is if the value is special)
+        # Calculate the standard form only if needed, and cache the result.
+        # The standard form is the value itself if the type is special.
+        # This represents a considerable CPU and memory saving - at the time
+        # of writing there are 368676 non-special objects, but the standard
+        # form is only requested for 22047 of them - ie about 6%.
 
         my $self = shift;
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
@@ -2763,7 +2965,10 @@
         my $addr = do { no overloading; pack 'J', $self; };
 
         return $standard_form{$addr} if defined $standard_form{$addr};
-        return $value{$addr};
+
+        my $value = $value{$addr};
+        return $value if $type{$addr};
+        return $standard_form{$addr} = main::standardize($value);
     }
 
     sub dump {
@@ -2814,6 +3019,10 @@
 
     our $addr;
 
+    # Max is initialized to a negative value that isn't adjacent to 0, for
+    # simpler tests
+    my $max_init = -2;
+
     main::setup_package();
 
     my %ranges;
@@ -2869,9 +3078,7 @@
 
         Carp::carp_extra_args(\%args) if main::DEBUG && %args;
 
-        # Max is initialized to a negative value that isn't adjacent to 0,
-        # for simpler tests
-        $max{$addr} = -2;
+        $max{$addr} = $max_init;
 
         $_search_ranges_cache{$addr} = 0;
         $ranges{$addr} = [];
@@ -2883,6 +3090,7 @@
         fallback => 0,
         qw("") => "_operator_stringify",
         "." => \&main::_operator_dot,
+        ".=" => \&main::_operator_dot_equal,
     ;
 
     sub _operator_stringify {
@@ -2899,7 +3107,7 @@
         # either a constructor or a method.  If called as a method, the result
         # will be a new() instance of the calling object, containing the union
         # of that object with the other parameter's code points;  if called as
-        # a constructor, the first parameter gives the class the new object
+        # a constructor, the first parameter gives the class that the new object
         # should be, and the second parameter gives the code points to go into
         # it.
         # In either case, there are two parameters looked at by this routine;
@@ -2911,8 +3119,8 @@
         # just a single code point.
         #
         # If they are ranges, this routine doesn't make any effort to preserve
-        # the range values of one input over the other.  Therefore this base
-        # class should not allow _union to be called from other than
+        # the range values and types of one input over the other.  Therefore
+        # this base class should not allow _union to be called from other than
         # initialization code, so as to prevent two tables from being added
         # together where the range values matter.  The general form of this
         # routine therefore belongs in a derived class, but it was moved here
@@ -2919,6 +3127,12 @@
         # to avoid duplication of code.  The failure to overload this in this
         # class keeps it safe.
         #
+        # It does make the effort during initialization to accept tables with
+        # multiple values for the same code point, and to preserve the order
+        # of these.  If there is only one input range or range set, it doesn't
+        # sort (as it should already be sorted to the desired order), and will
+        # accept multiple values per code point.  Otherwise it will merge
+        # multiple values into a single one.
 
         my $self;
         my @args;   # Arguments to pass to the constructor
@@ -2939,6 +3153,7 @@
 
         # Accumulate all records from both lists.
         my @records;
+        my $input_count = 0;
         for my $arg (@args) {
             #local $to_trace = 0 if main::DEBUG;
             trace "argument = $arg" if main::DEBUG && $to_trace;
@@ -2948,21 +3163,25 @@
                     no overloading;
                     $message .= $owner_name_of{pack 'J', $self};
                 }
-                Carp::my_carp_bug($message .= "Undefined argument to _union.  No union done.");
+                Carp::my_carp_bug($message . "Undefined argument to _union.  No union done.");
                 return;
             }
+
             $arg = [ $arg ] if ! ref $arg;
             my $type = ref $arg;
             if ($type eq 'ARRAY') {
                 foreach my $element (@$arg) {
                     push @records, Range->new($element, $element);
+                    $input_count++;
                 }
             }
             elsif ($arg->isa('Range')) {
                 push @records, $arg;
+                $input_count++;
             }
             elsif ($arg->can('ranges')) {
                 push @records, $arg->ranges;
+                $input_count++;
             }
             else {
                 my $message = "";
@@ -2978,7 +3197,8 @@
         # Sort with the range containing the lowest ordinal first, but if
         # two ranges start at the same code point, sort with the bigger range
         # of the two first, because it takes fewer cycles.
-        @records = sort { ($a->start <=> $b->start)
+        if ($input_count > 1) {
+            @records = sort { ($a->start <=> $b->start)
                                       or
                                     # if b is shorter than a, b->end will be
                                     # less than a->end, and we want to select
@@ -2985,6 +3205,7 @@
                                     # a, so want to return -1
                                     ($b->end <=> $a->end)
                                    } @records;
+        }
 
         my $new = $class->new(@_);
 
@@ -2992,13 +3213,21 @@
         for my $set (@records) {
             my $start = $set->start;
             my $end   = $set->end;
-            my $value   = $set->value;
+            my $value = $set->value;
+            my $type  = $set->type;
             if ($start > $new->max) {
-                $new->_add_delete('+', $start, $end, $value);
+                $new->_add_delete('+', $start, $end, $value, Type => $type);
             }
             elsif ($end > $new->max) {
-                $new->_add_delete('+', $new->max +1, $end, $value);
+                $new->_add_delete('+', $new->max +1, $end, $value,
+                                                                Type => $type);
             }
+            elsif ($input_count == 1) {
+                # Here, overlaps existing range, but is from a single input,
+                # so preserve the multiple values from that input.
+                $new->_add_delete('+', $start, $end, $value, Type => $type,
+                                                Replace => $MULTIPLE_AFTER);
+            }
         }
 
         return $new;
@@ -3026,7 +3255,7 @@
 
         # If the range list is empty, return a large value that isn't adjacent
         # to any that could be in the range list, for simpler tests
-        return $LAST_UNICODE_CODEPOINT + 2 unless scalar @{$ranges{$addr}};
+        return $MAX_UNICODE_CODEPOINT + 2 unless scalar @{$ranges{$addr}};
         return $ranges{$addr}->[0]->start;
     }
 
@@ -3234,7 +3463,7 @@
         #                         new and old values are identical, the
         #                         replacement is skipped to save cycles
         #       => $IF_NOT_EQUIVALENT means to replace the existing values
-        #                         with this one if they are not equivalent.
+        #          (the default)  with this one if they are not equivalent.
         #                         Ranges are equivalent if their types are the
         #                         same, and they are the same string; or if
         #                         both are type 0 ranges, if their Unicode
@@ -3248,7 +3477,7 @@
         #                         style when the pre-existing and replacement
         #                         standard forms are the same, we can move to
         #                         the modern style
-        #       => $MULTIPLE      means that if this range duplicates an
+        #       => $MULTIPLE_BEFORE means that if this range duplicates an
         #                         existing one, but has a different value,
         #                         don't replace the existing one, but insert
         #                         this, one so that the same range can occur
@@ -3255,6 +3484,17 @@
         #                         multiple times.  They are stored LIFO, so
         #                         that the final one inserted is the first one
         #                         returned in an ordered search of the table.
+        #                         If this is an exact duplicate, including the
+        #                         value, the original will be moved to be
+        #                         first, before any other duplicate ranges
+        #                         with different values.
+        #       => $MULTIPLE_AFTER is like $MULTIPLE_BEFORE, but is stored
+        #                         FIFO, so that this one is inserted after all
+        #                         others that currently exist.  If this is an
+        #                         exact duplicate, including value, of an
+        #                         existing range, this one is discarded
+        #                         (leaving the existing one in its original,
+        #                         higher priority position
         #       => anything else  is the same as => $IF_NOT_EQUIVALENT
         #
         # "same value" means identical for non-type-0 ranges, and it means
@@ -3294,6 +3534,9 @@
             Carp::my_carp_bug("$owner_name_of{$addr}End of range (" . sprintf("%04X", $end) . ") must not be before start (" . sprintf("%04X", $start) . ").  No action taken.");
             return;
         }
+        if ($end > $MAX_UNICODE_CODEPOINT && $operation eq '+') {
+            Carp::my_carp("$owner_name_of{$addr}Warning: Range '" . sprintf("%04X..%04X", $start, $end) . ") is above the Unicode maximum of " . sprintf("%04X", $MAX_UNICODE_CODEPOINT) . ".  Adding it anyway");
+        }
         #local $to_trace = 1 if main::DEBUG;
 
         if ($operation eq '-') {
@@ -3321,7 +3564,7 @@
         # structured so this is common.
         if ($start > $max) {
 
-            trace "$owner_name_of{$addr} $operation", sprintf("%04X", $start) . '..' . sprintf("%04X", $end) . " ($value) type=$type" if main::DEBUG && $to_trace;
+            trace "$owner_name_of{$addr} $operation", sprintf("%04X..%04X (%s) type=%d; prev max=%04X", $start, $end, $value, $type, $max) if main::DEBUG && $to_trace;
             return if $operation eq '-'; # Deleting a non-existing range is a
                                          # no-op
 
@@ -3486,11 +3729,12 @@
         # Here, we have taken care of the case where $replace is $NO.
         # Remember that here, r[$i-1]->end < $start <= r[$i]->end
         # If inserting a multiple record, this is where it goes, before the
-        # first (if any) existing one.  This implies an insertion, and no
-        # change to any existing ranges.  Note that $i can be -1 if this new
-        # range doesn't actually duplicate any existing, and comes at the
-        # beginning of the list.
-        if ($replace == $MULTIPLE) {
+        # first (if any) existing one if inserting LIFO.  (If this is to go
+        # afterwards, FIFO, we below move the pointer to there.)  These imply
+        # an insertion, and no change to any existing ranges.  Note that $i
+        # can be -1 if this new range doesn't actually duplicate any existing,
+        # and comes at the beginning of the list.
+        if ($replace == $MULTIPLE_BEFORE || $replace == $MULTIPLE_AFTER) {
 
             if ($start != $end) {
                 Carp::my_carp_bug("$owner_name_of{$addr}Can't cope with adding a multiple record when the range ($start..$end) contains more than one code point.  No action taken.");
@@ -3497,15 +3741,72 @@
                 return;
             }
 
-            # Don't add an exact duplicate, as it isn't really a multiple
+            # If the new code point is within a current range ...
             if ($end >= $r->[$i]->start) {
+
+                # Don't add an exact duplicate, as it isn't really a multiple
+                my $existing_value = $r->[$i]->value;
+                my $existing_type = $r->[$i]->type;
+                return if $value eq $existing_value && $type eq $existing_type;
+
+                # If the multiple value is part of an existing range, we want
+                # to split up that range, so that only the single code point
+                # is affected.  To do this, we first call ourselves
+                # recursively to delete that code point from the table, having
+                # preserved its current data above.  Then we call ourselves
+                # recursively again to add the new multiple, which we know by
+                # the test just above is different than the current code
+                # point's value, so it will become a range containing a single
+                # code point: just itself.  Finally, we add back in the
+                # pre-existing code point, which will again be a single code
+                # point range.  Because 'i' likely will have changed as a
+                # result of these operations, we can't just continue on, but
+                # do this operation recursively as well.  If we are inserting
+                # LIFO, the pre-existing code point needs to go after the new
+                # one, so use MULTIPLE_AFTER; and vice versa.
                 if ($r->[$i]->start != $r->[$i]->end) {
-                    Carp::my_carp_bug("$owner_name_of{$addr}Can't cope with adding a multiple record when the other range ($r->[$i]) contains more than one code point.  No action taken.");
-                    return;
+                    $self->_add_delete('-', $start, $end, "");
+                    $self->_add_delete('+', $start, $end, $value, Type => $type);
+                    return $self->_add_delete('+',
+                            $start, $end,
+                            $existing_value,
+                            Type => $existing_type,
+                            Replace => ($replace == $MULTIPLE_BEFORE)
+                                       ? $MULTIPLE_AFTER
+                                       : $MULTIPLE_BEFORE);
                 }
-                return if $value eq $r->[$i]->value && $type eq $r->[$i]->type;
             }
 
+            # If to place this new record after, move to beyond all existing
+            # ones; but don't add this one if identical to any of them, as it
+            # isn't really a multiple.  This leaves the original order, so
+            # that the current request is ignored.  The reasoning is that the
+            # previous request that wanted this record to have high priority
+            # should have precedence.
+            if ($replace == $MULTIPLE_AFTER) {
+                while ($i < @$r && $r->[$i]->start == $start) {
+                    return if $value eq $r->[$i]->value
+                              && $type eq $r->[$i]->type;
+                    $i++;
+                }
+            }
+            else {
+                # If instead we are to place this new record before any
+                # existing ones, remove any identical ones that come after it.
+                # This changes the existing order so that the new one is
+                # first, as is being requested.
+                for (my $j = $i + 1;
+                     $j < @$r && $r->[$j]->start == $start;
+                     $j++)
+                {
+                    if ($value eq $r->[$j]->value && $type eq $r->[$j]->type) {
+                        splice @$r, $j, 1;
+                        last;   # There should only be one instance, so no
+                                # need to keep looking
+                    }
+                }
+            }
+
             trace "Adding multiple record at $i with $start..$end, $value" if main::DEBUG && $to_trace;
             my @return = splice @$r,
                                 $i,
@@ -3526,8 +3827,8 @@
             return @return;
         }
 
-        # Here, we have taken care of $NO and $MULTIPLE replaces.  This leaves
-        # delete, insert, and replace either unconditionally or if not
+        # Here, we have taken care of $NO and $MULTIPLE_foo replaces.  This
+        # leaves delete, insert, and replace either unconditionally or if not
         # equivalent.  $i still points to the first potential affected range.
         # Now find the highest range affected, which will determine the length
         # parameter to splice.  (The input range can span multiple existing
@@ -3638,7 +3939,7 @@
         $j--;        # $j now points to the highest affected range.
         trace "Final affected range is $j: $r->[$j]" if main::DEBUG && $to_trace;
 
-        # Here, have taken care of $NO and $MULTIPLE replaces.
+        # Here, have taken care of $NO and $MULTIPLE_foo replaces.
         # $j points to the highest affected range.  But it can be < $i or even
         # -1.  These happen only if the insertion is entirely in the gap
         # between r[$i-1] and r[$i].  Here's why: j < i means that the j loop
@@ -3862,7 +4163,12 @@
         # otherwise recalculate it.  This is done too rarely to worry about
         # performance.
         if ($operation eq '-' && @return) {
-            $max{$addr} = $r->[-1]->end;
+            if (@$r) {
+                $max{$addr} = $r->[-1]->end;
+            }
+            else {  # Now empty
+                $max{$addr} = $max_init;
+            }
         }
         return @return;
     }
@@ -3966,11 +4272,41 @@
 
                     return $self->_union($other)
                 },
+        '+=' => sub { my $self = shift;
+                    my $other = shift;
+                    my $reversed = shift;
+
+                    if ($reversed) {
+                        Carp::my_carp_bug("Bad news.  Can't cope with '"
+                        . ref($other)
+                        . ' += '
+                        . ref($self)
+                        . "'.  undef returned.");
+                        return;
+                    }
+
+                    return $self->_union($other)
+                },
         '&' => sub { my $self = shift;
                     my $other = shift;
 
                     return $self->_intersect($other, 0);
                 },
+        '&=' => sub { my $self = shift;
+                    my $other = shift;
+                    my $reversed = shift;
+
+                    if ($reversed) {
+                        Carp::my_carp_bug("Bad news.  Can't cope with '"
+                        . ref($other)
+                        . ' &= '
+                        . ref($self)
+                        . "'.  undef returned.");
+                        return;
+                    }
+
+                    return $self->_intersect($other, 0);
+                },
         '~' => "_invert",
         '-' => "_subtract",
     ;
@@ -3998,8 +4334,8 @@
 
         # And finally, add the gap from the end of the table to the max
         # possible code point
-        if ($max < $LAST_UNICODE_CODEPOINT) {
-            $new->add_range($max + 1, $LAST_UNICODE_CODEPOINT);
+        if ($max < $MAX_UNICODE_CODEPOINT) {
+            $new->add_range($max + 1, $MAX_UNICODE_CODEPOINT);
         }
         return $new;
     }
@@ -4015,10 +4351,12 @@
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
         if ($reversed) {
-            Carp::my_carp_bug("Can't cope with a "
-             .  __PACKAGE__
-             . " being the second parameter in a '-'.  Subtraction ignored.");
-            return $self;
+            Carp::my_carp_bug("Bad news.  Can't cope with '"
+            . ref($other)
+            . ' - '
+            . ref($self)
+            . "'.  undef returned.");
+            return;
         }
 
         my $new = Range_List->new(Initialize => $self);
@@ -4232,7 +4570,9 @@
             my $a = $a_ranges[$i];
             my $b = $b_ranges[$i];
             trace "self $a; other $b" if main::DEBUG && $to_trace;
-            return 0 if $a->start != $b->start || $a->end != $b->end;
+            return 0 if ! defined $b
+                        || $a->start != $b->start
+                        || $a->end != $b->end;
         }
         return 1;
     }
@@ -4257,7 +4597,7 @@
         return $try_hard if $code >= 0xFDD0 && $code <= 0xFDEF;
         return $try_hard if ($code & 0xFFFE) == 0xFFFE; # includes FFFF
 
-        return $try_hard if $code > $LAST_UNICODE_CODEPOINT;   # keep in range
+        return $try_hard if $code > $MAX_UNICODE_CODEPOINT;   # keep in range
         return $try_hard if $code >= 0xD800 && $code <= 0xDFFF; # no surrogate
 
         return 1;
@@ -4278,7 +4618,7 @@
         for my $try_hard (0, 1) {
 
             # Look through all the ranges for a usable code point.
-            for my $set ($self->ranges) {
+            for my $set (reverse $self->ranges) {
 
                 # Try the edge cases first, starting with the end point of the
                 # range.
@@ -4337,10 +4677,12 @@
         my $self = shift;
         my $code_point = shift;
         my $value = shift;
-        Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+        my %args = @_;
+        my $replace = delete $args{'Replace'} // $MULTIPLE_BEFORE;
+        Carp::carp_extra_args(\%args) if main::DEBUG && %args;
 
         return $self->add_map($code_point, $code_point,
-                                $value, Replace => $MULTIPLE);
+                                $value, Replace => $replace);
     }
 } # End of closure for package Range_Map
 
@@ -4388,8 +4730,8 @@
     main::set_access('property', \%property, 'r');
 
     my %aliases;
-    # Ordered list of aliases of the table's name.  The first ones in the list
-    # are output first in comments
+    # Ordered list of alias objects of the table's name.  The first ones in
+    # the list are output first in comments
     main::set_access('aliases', \%aliases, 'readable_array');
 
     my %comment;
@@ -4406,10 +4748,11 @@
     # files.
     main::set_access('note', \%note, 'readable_array');
 
-    my %internal_only;
-    # Boolean; if set means any file that contains this table is marked as for
-    # internal-only use.
-    main::set_access('internal_only', \%internal_only);
+    my %fate;
+    # Enum; there are a number of possibilities for what happens to this
+    # table: it could be normal, or suppressed, or not for external use.  See
+    # values at definition for $SUPPRESSED.
+    main::set_access('fate', \%fate, 'r');
 
     my %find_table_from_alias;
     # The parent property passes this pointer to a hash which this class adds
@@ -4459,13 +4802,14 @@
     my %format;
     # The format of the entries of the table.  This is calculated from the
     # data in the table (or passed in the constructor).  This is an enum e.g.,
-    # $STRING_FORMAT
+    # $STRING_FORMAT.  It is marked protected as it should not be generally
+    # used to override calculations.
     main::set_access('format', \%format, 'r', 'p_s');
 
     sub new {
         # All arguments are key => value pairs, which you can see below, most
-        # of which match fields documented above.  Otherwise: Pod_Entry,
-        # Externally_Ok, and Fuzzy apply to the names of the table, and are
+        # of which match fields documented above.  Otherwise: Re_Pod_Entry,
+        # OK_as_Filename, and Fuzzy apply to the names of the table, and are
         # documented in the Alias package
 
         return Carp::carp_too_few_args(\@_, 2) if main::DEBUG && @_ < 2;
@@ -4483,7 +4827,6 @@
         my $complete_name = $complete_name{$addr}
                           = delete $args{'Complete_Name'};
         $format{$addr} = delete $args{'Format'};
-        $internal_only{$addr} = delete $args{'Internal_Only_Warning'} || 0;
         $output_range_counts{$addr} = delete $args{'Output_Range_Counts'};
         $property{$addr} = delete $args{'_Property'};
         $range_list{$addr} = delete $args{'_Range_List'};
@@ -4491,12 +4834,14 @@
         $status_info{$addr} = delete $args{'_Status_Info'} || "";
         $range_size_1{$addr} = delete $args{'Range_Size_1'} || 0;
         $caseless_equivalent{$addr} = delete $args{'Caseless_Equivalent'} || 0;
+        $fate{$addr} = delete $args{'Fate'} || $ORDINARY;
+        my $ucd = delete $args{'UCD'};
 
         my $description = delete $args{'Description'};
-        my $externally_ok = delete $args{'Externally_Ok'};
+        my $ok_as_filename = delete $args{'OK_as_Filename'};
         my $loose_match = delete $args{'Fuzzy'};
         my $note = delete $args{'Note'};
-        my $make_pod_entry = delete $args{'Pod_Entry'};
+        my $make_re_pod_entry = delete $args{'Re_Pod_Entry'};
         my $perl_extension = delete $args{'Perl_Extension'};
 
         # Shouldn't have any left over
@@ -4518,28 +4863,40 @@
         push @{$description{$addr}}, $description if $description;
         push @{$note{$addr}}, $note if $note;
 
-        if ($status{$addr} eq $PLACEHOLDER) {
+        if ($fate{$addr} == $PLACEHOLDER) {
 
             # A placeholder table doesn't get documented, is a perl extension,
             # and quite likely will be empty
-            $make_pod_entry = 0 if ! defined $make_pod_entry;
+            $make_re_pod_entry = 0 if ! defined $make_re_pod_entry;
             $perl_extension = 1 if ! defined $perl_extension;
+            $ucd = 0 if ! defined $ucd;
             push @tables_that_may_be_empty, $complete_name{$addr};
+            $self->add_comment(<<END);
+This is a placeholder because it is not in Version $string_version of Unicode,
+but is needed by the Perl core to work gracefully.  Because it is not in this
+version of Unicode, it will not be listed in $pod_file.pod
+END
         }
-        elsif (! $status{$addr}) {
-
-            # If hasn't set its status already, see if it is on one of the
-            # lists of properties or tables that have particular statuses; if
-            # not, is normal.  The lists are prioritized so the most serious
-            # ones are checked first
-            if (exists $why_suppressed{$complete_name}
+        elsif (exists $why_suppressed{$complete_name}
                 # Don't suppress if overridden
                 && ! grep { $_ eq $complete_name{$addr} }
                                                     @output_mapped_properties)
-            {
-                $status{$addr} = $SUPPRESSED;
-            }
-            elsif (exists $why_deprecated{$complete_name}) {
+        {
+            $fate{$addr} = $SUPPRESSED;
+        }
+        elsif ($fate{$addr} == $SUPPRESSED
+               && ! exists $why_suppressed{$property{$addr}->complete_name})
+        {
+            Carp::my_carp_bug("There is no current capability to set the reason for suppressing.");
+            # perhaps Fate => [ $SUPPRESSED, "reason" ]
+        }
+
+        # If hasn't set its status already, see if it is on one of the
+        # lists of properties or tables that have particular statuses; if
+        # not, is normal.  The lists are prioritized so the most serious
+        # ones are checked first
+        if (! $status{$addr}) {
+            if (exists $why_deprecated{$complete_name}) {
                 $status{$addr} = $DEPRECATED;
             }
             elsif (exists $why_stabilized{$complete_name}) {
@@ -4552,12 +4909,8 @@
             # Existence above doesn't necessarily mean there is a message
             # associated with it.  Use the most serious message.
             if ($status{$addr}) {
-                if ($why_suppressed{$complete_name}) {
+                if ($why_deprecated{$complete_name}) {
                     $status_info{$addr}
-                                = $why_suppressed{$complete_name};
-                }
-                elsif ($why_deprecated{$complete_name}) {
-                    $status_info{$addr}
                                 = $why_deprecated{$complete_name};
                 }
                 elsif ($why_stabilized{$complete_name}) {
@@ -4573,24 +4926,35 @@
 
         $perl_extension{$addr} = $perl_extension || 0;
 
+        # Don't list a property by default that is internal only
+        if ($fate{$addr} > $MAP_PROXIED) {
+            $make_re_pod_entry = 0 if ! defined $make_re_pod_entry;
+            $ucd = 0 if ! defined $ucd;
+        }
+        else {
+            $ucd = 1 if ! defined $ucd;
+        }
+
         # By convention what typically gets printed only or first is what's
         # first in the list, so put the full name there for good output
         # clarity.  Other routines rely on the full name being first on the
         # list
         $self->add_alias($full_name{$addr},
-                            Externally_Ok => $externally_ok,
+                            OK_as_Filename => $ok_as_filename,
                             Fuzzy => $loose_match,
-                            Pod_Entry => $make_pod_entry,
+                            Re_Pod_Entry => $make_re_pod_entry,
                             Status => $status{$addr},
+                            UCD => $ucd,
                             );
 
         # Then comes the other name, if meaningfully different.
         if (standardize($full_name{$addr}) ne standardize($name{$addr})) {
             $self->add_alias($name{$addr},
-                            Externally_Ok => $externally_ok,
+                            OK_as_Filename => $ok_as_filename,
                             Fuzzy => $loose_match,
-                            Pod_Entry => $make_pod_entry,
+                            Re_Pod_Entry => $make_re_pod_entry,
                             Status => $status{$addr},
+                            UCD => $ucd,
                             );
         }
 
@@ -4626,6 +4990,7 @@
     use overload
         fallback => 0,
         "." => \&main::_operator_dot,
+        ".=" => \&main::_operator_dot_equal,
         '!=' => \&main::_operator_not_equal,
         '==' => \&main::_operator_equal,
     ;
@@ -4651,15 +5016,19 @@
         my %args = @_;
         my $loose_match = delete $args{'Fuzzy'};
 
-        my $make_pod_entry = delete $args{'Pod_Entry'};
-        $make_pod_entry = $YES unless defined $make_pod_entry;
+        my $make_re_pod_entry = delete $args{'Re_Pod_Entry'};
+        $make_re_pod_entry = $YES unless defined $make_re_pod_entry;
 
-        my $externally_ok = delete $args{'Externally_Ok'};
-        $externally_ok = 1 unless defined $externally_ok;
+        my $ok_as_filename = delete $args{'OK_as_Filename'};
+        $ok_as_filename = 1 unless defined $ok_as_filename;
 
         my $status = delete $args{'Status'};
         $status = $NORMAL unless defined $status;
 
+        # An internal name does not get documented, unless overridden by the
+        # input.
+        my $ucd = delete $args{'UCD'} // (($name =~ /^_/) ? 0 : 1);
+
         Carp::carp_extra_args(\%args) if main::DEBUG && %args;
 
         # Capitalize the first letter of the alias unless it is one of the CJK
@@ -4726,8 +5095,8 @@
         splice @$list,
                 $insert_position,
                 0,
-                Alias->new($name, $loose_match, $make_pod_entry,
-                                                    $externally_ok, $status);
+                Alias->new($name, $loose_match, $make_re_pod_entry,
+                                                $ok_as_filename, $status, $ucd);
 
         # This name may be shorter than any existing ones, so clear the cache
         # of the shortest, so will have to be recalculated.
@@ -4771,7 +5140,7 @@
         foreach my $alias ($self->aliases()) {
 
             # Don't use an alias that isn't ok to use for an external name.
-            next if ! $alias->externally_ok;
+            next if ! $alias->ok_as_filename;
 
             my $name = main::Standardize($alias->name);
             trace $self, $name if main::DEBUG && $to_trace;
@@ -4790,6 +5159,33 @@
             }
         }
 
+        # If the short name isn't a nice one, perhaps an equivalent table has
+        # a better one.
+        if (! defined $short_name{$addr}
+            || $short_name{$addr} eq ""
+            || $short_name{$addr} eq "_")
+        {
+            my $return;
+            foreach my $follower ($self->children) {    # All equivalents
+                my $follower_name = $follower->short_name;
+                next unless defined $follower_name;
+
+                # Anything (except undefined) is better than underscore or
+                # empty
+                if (! defined $return || $return eq "_") {
+                    $return = $follower_name;
+                    next;
+                }
+
+                # If the new follower name isn't "_" and is shorter than the
+                # current best one, prefer the new one.
+                next if $follower_name eq "_";
+                next if length $follower_name > length $return;
+                $return = $follower_name;
+            }
+            $short_name{$addr} = $return if defined $return;
+        }
+
         # If no suitable external name return undef
         if (! defined $short_name{$addr}) {
             $$nominal_length_ptr = undef if $nominal_length_ptr;
@@ -4796,7 +5192,7 @@
             return;
         }
 
-        # Don't allow a null external name.
+        # Don't allow a null short name.
         if ($short_name{$addr} eq "") {
             $short_name{$addr} = '_';
             $nominal_short_name_length{$addr} = 1;
@@ -4812,7 +5208,9 @@
 
     sub external_name {
         # Returns the external name that this table should be known by.  This
-        # is usually the short_name, but not if the short_name is undefined.
+        # is usually the short_name, but not if the short_name is undefined,
+        # in which case the external_name is arbitrarily set to the
+        # underscore.
 
         my $self = shift;
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
@@ -4914,8 +5312,6 @@
         my $return = "";
         $return .= $DEVELOPMENT_ONLY if $compare_versions;
         $return .= $HEADER;
-        no overloading;
-        $return .= $INTERNAL_ONLY if $internal_only{pack 'J', $self};
         return $return;
     }
 
@@ -4923,9 +5319,11 @@
         # Write a representation of the table to its file.  It calls several
         # functions furnished by sub-classes of this abstract base class to
         # handle non-normal ranges, to add stuff before the table, and at its
-        # end.
+        # end.  If the table is to be written so that adjustments are
+        # required, this does that conversion.
 
         my $self = shift;
+        my $use_adjustments = shift; # ? output in adjusted format or not
         my $tab_stops = shift;       # The number of tab stops over to put any
                                      # comment.
         my $suppress_value = shift;  # Optional, if the value associated with
@@ -4967,8 +5365,26 @@
             # utf8.c, which can't really deal with empty tables, but it can
             # deal with a table that matches nothing, as the inverse of 'Any'
             # does.
-            push @OUT, "!utf8::IsAny\n";
+            push @OUT, "!utf8::Any\n";
         }
+        elsif ($self->name eq 'N'
+
+               # To save disk space and table cache space, avoid putting out
+               # binary N tables, but instead create a file which just inverts
+               # the Y table.  Since the file will still exist and occupy a
+               # certain number of blocks, might as well output the whole
+               # thing if it all will fit in one block.   The number of
+               # ranges below is an approximate number for that.
+               && ($self->property->type == $BINARY
+                   || $self->property->type == $FORCED_BINARY)
+               # && $self->property->tables == 2  Can't do this because the
+               #        non-binary properties, like NFDQC aren't specifiable
+               #        by the notation
+               && $range_list{$addr}->ranges > 15
+               && ! $annotate)  # Under --annotate, want to see everything
+        {
+            push @OUT, "!utf8::" . $self->property->name . "\n";
+        }
         else {
             my $range_size_1 = $range_size_1{$addr};
             my $format;            # Used only in $annotate option
@@ -4976,7 +5392,7 @@
 
             if ($annotate) {
 
-                # if annotating each code point, must print 1 per line.
+                # If annotating each code point, must print 1 per line.
                 # The variable could point to a subroutine, and we don't want
                 # to lose that fact, so only set if not set already
                 $range_size_1 = 1 if ! $range_size_1;
@@ -4994,6 +5410,21 @@
                        );
             }
 
+            # Values for previous time through the loop.  Initialize to
+            # something that won't be adjacent to the first iteration;
+            # only $previous_end matters for that.
+            my $previous_start;
+            my $previous_end = -2;
+            my $previous_value;
+
+            # Values for next time through the portion of the loop that splits
+            # the range.  0 in $next_start means there is no remaining portion
+            # to deal with.
+            my $next_start = 0;
+            my $next_end;
+            my $next_value;
+            my $offset = 0;
+
             # Output each range as part of the here document.
             RANGE:
             for my $set ($range_list{$addr}->ranges) {
@@ -5009,189 +5440,274 @@
                 next RANGE if defined $suppress_value
                               && $value eq $suppress_value;
 
-                # If there is a range and doesn't need a single point range
-                # output
-                if ($start != $end && ! $range_size_1) {
-                    push @OUT, sprintf "%04X\t%04X", $start, $end;
-                    $OUT[-1] .= "\t$value" if $value ne "";
+                {   # This bare block encloses the scope where we may need to
+                    # split a range (when outputting adjusteds), and each time
+                    # through we handle the next portion of the original by
+                    # ending the block with a 'redo'.   The values to use for
+                    # that next time through are set up just below in the
+                    # scalars whose names begin with '$next_'.
 
-                    # Add a comment with the size of the range, if requested.
-                    # Expand Tabs to make sure they all start in the same
-                    # column, and then unexpand to use mostly tabs.
-                    if (! $output_range_counts{$addr}) {
-                        $OUT[-1] .= "\n";
+                    if ($use_adjustments) {
+
+                        # When converting to use adjustments, we can handle
+                        # only single element ranges.  Set up so that this
+                        # time through the loop, we look at the first element,
+                        # and the next time through, we start off with the
+                        # remainder.  Thus each time through we look at the
+                        # first element of the range
+                        if ($end != $start) {
+                            $next_start = $start + 1;
+                            $next_end = $end;
+                            $next_value = $value;
+                            $end = $start;
+                        }
+
+                        # The values for some of these tables are stored as
+                        # hex strings.  Convert those to decimal
+                        $value = hex($value)
+                                    if $self->default_map eq $CODE_POINT
+                                        && $value =~ / ^ [A-Fa-f0-9]+ $ /x;
+
+                        # If this range is adjacent to the previous one, and
+                        # the values in each are integers that are also
+                        # adjacent (differ by 1), then this range really
+                        # extends the previous one that is already in element
+                        # $OUT[-1].  So we pop that element, and pretend that
+                        # the range starts with whatever it started with.
+                        # $offset is incremented by 1 each time so that it
+                        # gives the current offset from the first element in
+                        # the accumulating range, and we keep in $value the
+                        # value of that first element.
+                        if ($start == $previous_end + 1
+                            && $value =~ /^ -? \d+ $/xa
+                            && $previous_value =~ /^ -? \d+ $/xa
+                            && ($value == ($previous_value + ++$offset)))
+                        {
+                            pop @OUT;
+                            $start = $previous_start;
+                            $value = $previous_value;
+                        }
+                        else {
+                            $offset = 0;
+                        }
+
+                        # Save the current values for the next time through
+                        # the loop.
+                        $previous_start = $start;
+                        $previous_end = $end;
+                        $previous_value = $value;
                     }
-                    else {
-                        $OUT[-1] = Text::Tabs::expand($OUT[-1]);
-                        my $count = main::clarify_number($end - $start + 1);
-                        use integer;
 
-                        my $width = $tab_stops * 8 - 1;
-                        $OUT[-1] = sprintf("%-*s # [%s]\n",
-                                            $width,
-                                            $OUT[-1],
-                                            $count);
-                        $OUT[-1] = Text::Tabs::unexpand($OUT[-1]);
+                    # If there is a range and doesn't need a single point range
+                    # output
+                    if ($start != $end && ! $range_size_1) {
+                        push @OUT, sprintf "%04X\t%04X", $start, $end;
+                        $OUT[-1] .= "\t$value" if $value ne "";
+
+                        # Add a comment with the size of the range, if
+                        # requested.  Expand Tabs to make sure they all start
+                        # in the same column, and then unexpand to use mostly
+                        # tabs.
+                        if (! $output_range_counts{$addr}) {
+                            $OUT[-1] .= "\n";
+                        }
+                        else {
+                            $OUT[-1] = Text::Tabs::expand($OUT[-1]);
+                            my $count = main::clarify_number($end - $start + 1);
+                            use integer;
+
+                            my $width = $tab_stops * 8 - 1;
+                            $OUT[-1] = sprintf("%-*s # [%s]\n",
+                                                $width,
+                                                $OUT[-1],
+                                                $count);
+                            $OUT[-1] = Text::Tabs::unexpand($OUT[-1]);
+                        }
                     }
-                    next RANGE;
-                }
 
-                # Here to output a single code point per line
+                        # Here to output a single code point per line.
+                        # If not to annotate, use the simple formats
+                    elsif (! $annotate) {
 
-                # If not to annotate, use the simple formats
-                if (! $annotate) {
+                        # Use any passed in subroutine to output.
+                        if (ref $range_size_1 eq 'CODE') {
+                            for my $i ($start .. $end) {
+                                push @OUT, &{$range_size_1}($i, $value);
+                            }
+                        }
+                        else {
 
-                    # Use any passed in subroutine to output.
-                    if (ref $range_size_1 eq 'CODE') {
-                        for my $i ($start .. $end) {
-                            push @OUT, &{$range_size_1}($i, $value);
+                            # Here, caller is ok with default output.
+                            for (my $i = $start; $i <= $end; $i++) {
+                                push @OUT, sprintf "%04X\t\t%s\n", $i, $value;
+                            }
                         }
                     }
                     else {
 
-                        # Here, caller is ok with default output.
+                        # Here, wants annotation.
                         for (my $i = $start; $i <= $end; $i++) {
-                            push @OUT, sprintf "%04X\t\t%s\n", $i, $value;
-                        }
-                    }
-                    next RANGE;
-                }
 
-                # Here, wants annotation.
-                for (my $i = $start; $i <= $end; $i++) {
+                            # Get character information if don't have it already
+                            main::populate_char_info($i)
+                                                if ! defined $viacode[$i];
+                            my $type = $annotate_char_type[$i];
 
-                    # Get character information if don't have it already
-                    main::populate_char_info($i)
-                                        if ! defined $viacode[$i];
-                    my $type = $annotate_char_type[$i];
+                            # Figure out if should output the next code points
+                            # as part of a range or not.  If this is not in an
+                            # annotation range, then won't output as a range,
+                            # so returns $i.  Otherwise use the end of the
+                            # annotation range, but no further than the
+                            # maximum possible end point of the loop.
+                            my $range_end = main::min(
+                                        $annotate_ranges->value_of($i) || $i,
+                                        $end);
 
-                    # Figure out if should output the next code points as part
-                    # of a range or not.  If this is not in an annotation
-                    # range, then won't output as a range, so returns $i.
-                    # Otherwise use the end of the annotation range, but no
-                    # further than the maximum possible end point of the loop.
-                    my $range_end = main::min($annotate_ranges->value_of($i)
-                                                                        || $i,
-                                               $end);
-
-                    # Use a range if it is a range, and either is one of the
-                    # special annotation ranges, or the range is at most 3
-                    # long.  This last case causes the algorithmically named
-                    # code points to be output individually in spans of at
-                    # most 3, as they are the ones whose $type is > 0.
-                    if ($range_end != $i
-                        && ( $type < 0 || $range_end - $i > 2))
-                    {
-                        # Here is to output a range.  We don't allow a
-                        # caller-specified output format--just use the
-                        # standard one.
-                        push @OUT, sprintf "%04X\t%04X\t%s\t#", $i,
+                            # Use a range if it is a range, and either is one
+                            # of the special annotation ranges, or the range
+                            # is at most 3 long.  This last case causes the
+                            # algorithmically named code points to be output
+                            # individually in spans of at most 3, as they are
+                            # the ones whose $type is > 0.
+                            if ($range_end != $i
+                                && ( $type < 0 || $range_end - $i > 2))
+                            {
+                                # Here is to output a range.  We don't allow a
+                                # caller-specified output format--just use the
+                                # standard one.
+                                push @OUT, sprintf "%04X\t%04X\t%s\t#", $i,
                                                                 $range_end,
                                                                 $value;
-                        my $range_name = $viacode[$i];
+                                my $range_name = $viacode[$i];
 
-                        # For the code points which end in their hex value, we
-                        # eliminate that from the output annotation, and
-                        # capitalize only the first letter of each word.
-                        if ($type == $CP_IN_NAME) {
-                            my $hex = sprintf "%04X", $i;
-                            $range_name =~ s/-$hex$//;
-                            my @words = split " ", $range_name;
-                            for my $word (@words) {
-                                $word = ucfirst(lc($word)) if $word ne 'CJK';
-                            }
-                            $range_name = join " ", @words;
-                        }
-                        elsif ($type == $HANGUL_SYLLABLE) {
-                            $range_name = "Hangul Syllable";
-                        }
+                                # For the code points which end in their hex
+                                # value, we eliminate that from the output
+                                # annotation, and capitalize only the first
+                                # letter of each word.
+                                if ($type == $CP_IN_NAME) {
+                                    my $hex = sprintf "%04X", $i;
+                                    $range_name =~ s/-$hex$//;
+                                    my @words = split " ", $range_name;
+                                    for my $word (@words) {
+                                        $word =
+                                          ucfirst(lc($word)) if $word ne 'CJK';
+                                    }
+                                    $range_name = join " ", @words;
+                                }
+                                elsif ($type == $HANGUL_SYLLABLE) {
+                                    $range_name = "Hangul Syllable";
+                                }
 
-                        $OUT[-1] .= " $range_name" if $range_name;
+                                $OUT[-1] .= " $range_name" if $range_name;
 
-                        # Include the number of code points in the range
-                        my $count = main::clarify_number($range_end - $i + 1);
-                        $OUT[-1] .= " [$count]\n";
+                                # Include the number of code points in the
+                                # range
+                                my $count =
+                                    main::clarify_number($range_end - $i + 1);
+                                $OUT[-1] .= " [$count]\n";
 
-                        # Skip to the end of the range
-                        $i = $range_end;
-                    }
-                    else { # Not in a range.
-                        my $comment = "";
+                                # Skip to the end of the range
+                                $i = $range_end;
+                            }
+                            else { # Not in a range.
+                                my $comment = "";
 
-                        # When outputting the names of each character, use
-                        # the character itself if printable
-                        $comment .= "'" . chr($i) . "' " if $printable[$i];
+                                # When outputting the names of each character,
+                                # use the character itself if printable
+                                $comment .= "'" . chr($i) . "' "
+                                                            if $printable[$i];
 
-                        # To make it more readable, use a minimum indentation
-                        my $comment_indent;
+                                # To make it more readable, use a minimum
+                                # indentation
+                                my $comment_indent;
 
-                        # Determine the annotation
-                        if ($format eq $DECOMP_STRING_FORMAT) {
+                                # Determine the annotation
+                                if ($format eq $DECOMP_STRING_FORMAT) {
 
-                            # This is very specialized, with the type of
-                            # decomposition beginning the line enclosed in
-                            # <...>, and the code points that the code point
-                            # decomposes to separated by blanks.  Create two
-                            # strings, one of the printable characters, and
-                            # one of their official names.
-                            (my $map = $value) =~ s/ \ * < .*? > \ +//x;
-                            my $tostr = "";
-                            my $to_name = "";
-                            my $to_chr = "";
-                            foreach my $to (split " ", $map) {
-                                $to = CORE::hex $to;
-                                $to_name .= " + " if $to_name;
-                                $to_chr .= chr($to);
-                                main::populate_char_info($to)
+                                    # This is very specialized, with the type
+                                    # of decomposition beginning the line
+                                    # enclosed in <...>, and the code points
+                                    # that the code point decomposes to
+                                    # separated by blanks.  Create two
+                                    # strings, one of the printable
+                                    # characters, and one of their official
+                                    # names.
+                                    (my $map = $value) =~ s/ \ * < .*? > \ +//x;
+                                    my $tostr = "";
+                                    my $to_name = "";
+                                    my $to_chr = "";
+                                    foreach my $to (split " ", $map) {
+                                        $to = CORE::hex $to;
+                                        $to_name .= " + " if $to_name;
+                                        $to_chr .= chr($to);
+                                        main::populate_char_info($to)
                                                     if ! defined $viacode[$to];
-                                $to_name .=  $viacode[$to];
-                            }
+                                        $to_name .=  $viacode[$to];
+                                    }
 
-                            $comment .=
+                                    $comment .=
                                     "=> '$to_chr'; $viacode[$i] => $to_name";
-                            $comment_indent = 25;   # Determined by experiment
-                        }
-                        else {
+                                    $comment_indent = 25;   # Determined by
+                                                            # experiment
+                                }
+                                else {
 
-                            # Assume that any table that has hex format is a
-                            # mapping of one code point to another.
-                            if ($format eq $HEX_FORMAT) {
-                                my $decimal_value = CORE::hex $value;
-                                main::populate_char_info($decimal_value)
+                                    # Assume that any table that has hex
+                                    # format is a mapping of one code point to
+                                    # another.
+                                    if ($format eq $HEX_FORMAT) {
+                                        my $decimal_value = CORE::hex $value;
+                                        main::populate_char_info($decimal_value)
                                         if ! defined $viacode[$decimal_value];
-                                $comment .= "=> '"
-                                         . chr($decimal_value)
-                                         . "'; " if $printable[$decimal_value];
-                            }
-                            $comment .= $viacode[$i] if $include_name
-                                                        && $viacode[$i];
-                            if ($format eq $HEX_FORMAT) {
-                                my $decimal_value = CORE::hex $value;
-                                $comment .= " => $viacode[$decimal_value]"
-                                                    if $viacode[$decimal_value];
-                            }
+                                        $comment .= "=> '"
+                                        . chr($decimal_value)
+                                        . "'; " if $printable[$decimal_value];
+                                    }
+                                    $comment .= $viacode[$i] if $include_name
+                                                            && $viacode[$i];
+                                    if ($format eq $HEX_FORMAT) {
+                                        my $decimal_value = CORE::hex $value;
+                                        $comment .=
+                                            " => $viacode[$decimal_value]"
+                                                if $viacode[$decimal_value];
+                                    }
 
-                            # If including the name, no need to indent, as the
-                            # name will already be way across the line.
-                            $comment_indent = ($include_name) ? 0 : 60;
-                        }
+                                    # If including the name, no need to
+                                    # indent, as the name will already be way
+                                    # across the line.
+                                    $comment_indent = ($include_name) ? 0 : 60;
+                                }
 
-                        # Use any passed in routine to output the base part of
-                        # the line.
-                        if (ref $range_size_1 eq 'CODE') {
-                            my $base_part = &{$range_size_1}($i, $value);
-                            chomp $base_part;
-                            push @OUT, $base_part;
+                                # Use any passed in routine to output the base
+                                # part of the line.
+                                if (ref $range_size_1 eq 'CODE') {
+                                    my $base_part=&{$range_size_1}($i, $value);
+                                    chomp $base_part;
+                                    push @OUT, $base_part;
+                                }
+                                else {
+                                    push @OUT, sprintf "%04X\t\t%s", $i, $value;
+                                }
+
+                                # And add the annotation.
+                                $OUT[-1] = sprintf "%-*s\t# %s",
+                                                   $comment_indent,
+                                                   $OUT[-1],
+                                                   $comment
+                                            if $comment;
+                                $OUT[-1] .= "\n";
+                            }
                         }
-                        else {
-                            push @OUT, sprintf "%04X\t\t%s", $i, $value;
-                        }
+                    }
 
-                        # And add the annotation.
-                        $OUT[-1] = sprintf "%-*s\t# %s", $comment_indent,
-                                                         $OUT[-1],
-                                                         $comment if $comment;
-                        $OUT[-1] .= "\n";
+                    # If we split the range, set up so the next time through
+                    # we get the remainder, and redo.
+                    if ($next_start) {
+                        $start = $next_start;
+                        $end = $next_end;
+                        $value = $next_value;
+                        $next_start = 0;
+                        redo;
                     }
                 }
             } # End of loop through all the table's ranges
@@ -5210,10 +5726,11 @@
         my $pre_body = $self->pre_body;
         push @HEADER, $pre_body, "\n" if $pre_body;
 
-        # All these files have a .pl suffix
-        $file_path{$addr}->[-1] .= '.pl';
+        # All these files should have a .pl suffix added to them.
+        my @file_with_pl = @{$file_path{$addr}};
+        $file_with_pl[-1] .= '.pl';
 
-        main::write($file_path{$addr},
+        main::write(\@file_with_pl,
                     $annotate,      # utf8 iff annotating
                     \@HEADER,
                     \@OUT);
@@ -5233,6 +5750,41 @@
         return;
     }
 
+    sub set_fate {  # Set the fate of a table
+        my $self = shift;
+        my $fate = shift;
+        my $reason = shift;
+        Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+        my $addr = do { no overloading; pack 'J', $self; };
+
+        return if $fate{$addr} == $fate;    # If no-op
+
+        # Can only change the ordinary fate, except if going to $MAP_PROXIED
+        return if $fate{$addr} != $ORDINARY && $fate != $MAP_PROXIED;
+
+        $fate{$addr} = $fate;
+
+        # Don't document anything to do with a non-normal fated table
+        if ($fate != $ORDINARY) {
+            my $put_in_pod = ($fate == $MAP_PROXIED) ? 1 : 0;
+            foreach my $alias ($self->aliases) {
+                $alias->set_ucd($put_in_pod);
+
+                # MAP_PROXIED doesn't affect the match tables
+                next if $fate == $MAP_PROXIED;
+                $alias->set_make_re_pod_entry($put_in_pod);
+            }
+        }
+
+        # Save the reason for suppression for output
+        if ($fate == $SUPPRESSED && defined $reason) {
+            $why_suppressed{$complete_name{$addr}} = $reason;
+        }
+
+        return;
+    }
+
     sub lock {
         # Don't allow changes to the table from now on.  This stores a stack
         # trace of where it was called, so that later attempts to modify it
@@ -5307,8 +5859,7 @@
         *$sub = sub {
             use strict "refs";
             my $self = shift;
-            no overloading;
-            return $range_list{pack 'J', $self}->$sub(@_);
+            return $self->_range_list->$sub(@_);
         }
     }
 
@@ -5324,7 +5875,7 @@
 
             return if $self->carp_if_locked;
             no overloading;
-            return $range_list{pack 'J', $self}->$sub(@_);
+            return $self->_range_list->$sub(@_);
         }
     }
 
@@ -5379,13 +5930,9 @@
                     \%anomalous_entries,
                     'readable_array');
 
-    my %core_access;
-    # This is a string, solely for documentation, indicating how one can get
-    # access to this property via the Perl core.
-    main::set_access('core_access', \%core_access, 'r', 's');
-
     my %to_output_map;
-    # Enum as to whether or not to write out this map table:
+    # Enum as to whether or not to write out this map table, and how:
+    #   0               don't output
     #   $EXTERNAL_MAP   means its existence is noted in the documentation, and
     #                   it should not be removed nor its format changed.  This
     #                   is done for those files that have traditionally been
@@ -5392,9 +5939,16 @@
     #                   output.
     #   $INTERNAL_MAP   means Perl reserves the right to do anything it wants
     #                   with this file
+    #   $OUTPUT_ADJUSTED means that it is an $INTERNAL_MAP, and instead of
+    #                   outputting the actual mappings as-is, we adjust things
+    #                   to create a much more compact table. Only those few
+    #                   tables where the mapping is convertible at least to an
+    #                   integer and compacting makes a big difference should
+    #                   have this.  Hence, the default is to not do this
+    #                   unless the table's default mapping is to $CODE_POINT,
+    #                   and the range size is not 1.
     main::set_access('to_output_map', \%to_output_map, 's');
 
-
     sub new {
         my $class = shift;
         my $name = shift;
@@ -5404,10 +5958,10 @@
         # Optional initialization data for the table.
         my $initialize = delete $args{'Initialize'};
 
-        my $core_access = delete $args{'Core_Access'};
         my $default_map = delete $args{'Default_Map'};
         my $property = delete $args{'_Property'};
         my $full_name = delete $args{'Full_Name'};
+        my $to_output_map = delete $args{'To_Output_Map'};
 
         # Rest of parameters passed on
 
@@ -5424,8 +5978,8 @@
         my $addr = do { no overloading; pack 'J', $self; };
 
         $anomalous_entries{$addr} = [];
-        $core_access{$addr} = $core_access;
         $default_map{$addr} = $default_map;
+        $to_output_map{$addr} = $to_output_map;
 
         $self->initialize($initialize) if defined $initialize;
 
@@ -5599,8 +6153,10 @@
                                 if defined $global_to_output_map{$full_name};
 
         # If table says to output, do so; if says to suppress it, do so.
+        my $fate = $self->fate;
+        return $INTERNAL_MAP if $fate == $INTERNAL_ONLY;
         return $EXTERNAL_MAP if grep { $_ eq $full_name } @output_mapped_properties;
-        return 0 if $self->status eq $SUPPRESSED;
+        return 0 if $fate == $SUPPRESSED || $fate == $MAP_PROXIED;
 
         my $type = $self->property->type;
 
@@ -5607,8 +6163,16 @@
         # Don't want to output binary map tables even for debugging.
         return 0 if $type == $BINARY;
 
-        # But do want to output string ones.
-        return $EXTERNAL_MAP if $type == $STRING;
+        # But do want to output string ones.  All the ones that remain to
+        # be dealt with (i.e. which haven't explicitly been set to external)
+        # are for internal Perl use only.  The default for those that map to
+        # $CODE_POINT and haven't been restricted to a single element range
+        # is to use the adjusted form.
+        if ($type == $STRING) {
+            return $INTERNAL_MAP if $self->range_size_1
+                                    || $default_map{$addr} ne $CODE_POINT;
+            return $OUTPUT_ADJUSTED;
+        }
 
         # Otherwise is an $ENUM, do output it, for Perl's purposes
         return $INTERNAL_MAP;
@@ -5632,7 +6196,23 @@
 
         my $return = $self->SUPER::header();
 
-        $return .= $INTERNAL_ONLY if $self->to_output_map == $INTERNAL_MAP;
+        if ($self->to_output_map >= $INTERNAL_MAP) {
+            $return .= $INTERNAL_ONLY_HEADER;
+        }
+        else {
+            my $property_name = $self->property->full_name =~ s/Legacy_//r;
+            $return .= <<END;
+
+# !!!!!!!   IT IS DEPRECATED TO USE THIS FILE   !!!!!!!
+
+# This file is for internal use by core Perl only.  It is retained for
+# backwards compatibility with applications that may have come to rely on it,
+# but its format and even its name or existence are subject to change without
+# notice in a future Perl version.  Don't use it directly.  Instead, its
+# contents are now retrievable through a stable API in the Unicode::UCD
+# module: Unicode::UCD::prop_invmap('$property_name').
+END
+        }
         return $return;
     }
 
@@ -5658,7 +6238,7 @@
         # have our own flag for just this purpose; but it works now to exclude
         # Perl generated synonyms from the lists for properties, where the
         # name is always the proper Unicode one.
-        my @property_aliases = grep { $_->externally_ok } $self->aliases;
+        my @property_aliases = grep { $_->ok_as_filename } $self->aliases;
 
         my $count = $self->count;
         my $default_map = $default_map{$addr};
@@ -5729,7 +6309,7 @@
         my $comment = "";
 
         my $status = $self->status;
-        if ($status) {
+        if ($status && $status ne $PLACEHOLDER) {
             my $warn = uc $status_past_participles{$status};
             $comment .= <<END;
 
@@ -5741,22 +6321,24 @@
         }
         $comment .= "This file returns the $mapping:\n";
 
+        my $ucd_accessible_name = "";
+        my $full_name = $self->property->full_name;
         for my $i (0 .. @property_aliases - 1) {
-            $comment .= sprintf("%-8s%s\n",
-                                " ",
-                                $property_aliases[$i]->name . '(cp)'
-                                );
+            my $name = $property_aliases[$i]->name;
+            $comment .= sprintf("%-8s%s\n", " ", $name . '(cp)');
+            if ($property_aliases[$i]->ucd) {
+                if ($name eq $full_name) {
+                    $ucd_accessible_name = $full_name;
+                }
+                elsif (! $ucd_accessible_name) {
+                    $ucd_accessible_name = $name;
+                }
+            }
         }
-        $comment .=
-                "\nwhere 'cp' is $cp.  Note that $these_mappings $are ";
-
-        my $access = $core_access{$addr};
-        if ($access) {
-            $comment .= "accessible through the Perl core via $access.";
+        $comment .= "\nwhere 'cp' is $cp.";
+        if ($ucd_accessible_name) {
+            $comment .= "  Note that $these_mappings $are accessible via the function prop_invmap('$full_name') in Unicode::UCD";
         }
-        else {
-            $comment .= "not accessible through the Perl core directly.";
-        }
 
         # And append any commentary already set from the actual property.
         $comment .= "\n\n" . $self->comment if $self->comment;
@@ -5812,19 +6394,8 @@
 
     # The remaining variables are temporaries used while writing each table,
     # to output special ranges.
-    my $has_hangul_syllables;
     my @multi_code_point_maps;  # Map is to more than one code point.
 
-    # The key is the base name of the code point, and the value is an
-    # array giving all the ranges that use this base name.  Each range
-    # is actually a hash giving the 'low' and 'high' values of it.
-    my %names_ending_in_code_point;
-
-    # Inverse mapping.  The list of ranges that have these kinds of
-    # names.  Each element contains the low, high, and base names in a
-    # hash.
-    my @code_points_ending_in_code_point;
-
     sub handle_special_range {
         # Called in the middle of write when it finds a range it doesn't know
         # how to handle.
@@ -5844,6 +6415,8 @@
         # No need to output the range if it maps to the default.
         return if $map eq $default_map{$addr};
 
+        my $property = $self->property;
+
         # Switch based on the map type...
         if ($type == $HANGUL_SYLLABLE) {
 
@@ -5850,22 +6423,39 @@
             # These are entirely algorithmically determinable based on
             # some constants furnished by Unicode; for now, just set a
             # flag to indicate that have them.  After everything is figured
-            # out, we will output the code that does the algorithm.
-            $has_hangul_syllables = 1;
+            # out, we will output the code that does the algorithm.  (Don't
+            # output them if not needed because we are suppressing this
+            # property.)
+            $has_hangul_syllables = 1 if $property->to_output_map;
         }
         elsif ($type == $CP_IN_NAME) {
 
-            # Code points whose the name ends in their code point are also
+            # Code points whose name ends in their code point are also
             # algorithmically determinable, but need information about the map
             # to do so.  Both the map and its inverse are stored in data
-            # structures output in the file.
-            push @{$names_ending_in_code_point{$map}->{'low'}}, $low;
-            push @{$names_ending_in_code_point{$map}->{'high'}}, $high;
+            # structures output in the file.  They are stored in the mean time
+            # in global lists The lists will be written out later into Name.pm,
+            # which is created only if needed.  In order to prevent duplicates
+            # in the list, only add to them for one property, should multiple
+            # ones need them.
+            if ($needing_code_points_ending_in_code_point == 0) {
+                $needing_code_points_ending_in_code_point = $property;
+            }
+            if ($property == $needing_code_points_ending_in_code_point) {
+                push @{$names_ending_in_code_point{$map}->{'low'}}, $low;
+                push @{$names_ending_in_code_point{$map}->{'high'}}, $high;
 
-            push @code_points_ending_in_code_point, { low => $low,
+                my $squeezed = $map =~ s/[-\s]+//gr;
+                push @{$loose_names_ending_in_code_point{$squeezed}->{'low'}},
+                                                                          $low;
+                push @{$loose_names_ending_in_code_point{$squeezed}->{'high'}},
+                                                                         $high;
+
+                push @code_points_ending_in_code_point, { low => $low,
                                                         high => $high,
                                                         name => $map
-                                                    };
+                                                        };
+            }
         }
         elsif ($range->type == $MULTI_CP || $range->type == $NULL) {
 
@@ -5874,7 +6464,8 @@
             # output format.
             for my $code_point ($low .. $high) {
 
-                # The pack() below can't cope with surrogates.
+                # The pack() below can't cope with surrogates.  XXX This may
+                # no longer be true
                 if ($code_point >= 0xD800 && $code_point <= 0xDFFF) {
                     Carp::my_carp("Surrogate code point '$code_point' in mapping to '$map' in $self.  No map created");
                     next;
@@ -5945,8 +6536,12 @@
 
         my $name = $self->property->swash_name;
 
+        # Currently there is nothing in the pre_body unless a swash is being
+        # generated.
+        return unless defined $name;
+
         if (defined $swash_keys{$name}) {
-            Carp::my_carp(join_lines(<<END
+            Carp::my_carp(main::join_lines(<<END
 Already created a swash name '$name' for $swash_keys{$name}.  This means that
 the same name desired for $self shouldn't be used.  Bad News.  This must be
 fixed before production use, but proceeding anyway
@@ -5960,7 +6555,9 @@
         # Here we assume we were called after have gone through the whole
         # file.  If we actually generated anything for each map type, add its
         # respective header and trailer
+        my $specials_name = "";
         if (@multi_code_point_maps) {
+            $specials_name = "utf8::ToSpec$name";
             $pre_body .= <<END;
 
 # Some code points require special handling because their mappings are each to
@@ -5970,233 +6567,54 @@
 # Each key is the string of N bytes that together make up the UTF-8 encoding
 # for the code point.  (i.e. the same as looking at the code point's UTF-8
 # under "use bytes").  Each value is the UTF-8 of the translation, for speed.
-%utf8::ToSpec$name = (
+\%$specials_name = (
 END
             $pre_body .= join("\n", @multi_code_point_maps) . "\n);\n";
         }
 
-        if ($has_hangul_syllables || @code_points_ending_in_code_point) {
+        my $format = $self->format;
 
-            # Convert these structures to output format.
-            my $code_points_ending_in_code_point =
-                main::simple_dumper(\@code_points_ending_in_code_point,
-                                    ' ' x 8);
-            my $names = main::simple_dumper(\%names_ending_in_code_point,
-                                            ' ' x 8);
+        my $return = "";
 
-            # Do the same with the Hangul names,
-            my $jamo;
-            my $jamo_l;
-            my $jamo_v;
-            my $jamo_t;
-            my $jamo_re;
-            if ($has_hangul_syllables) {
-
-                # Construct a regular expression of all the possible
-                # combinations of the Hangul syllables.
-                my @L_re;   # Leading consonants
-                for my $i ($LBase .. $LBase + $LCount - 1) {
-                    push @L_re, $Jamo{$i}
-                }
-                my @V_re;   # Middle vowels
-                for my $i ($VBase .. $VBase + $VCount - 1) {
-                    push @V_re, $Jamo{$i}
-                }
-                my @T_re;   # Trailing consonants
-                for my $i ($TBase + 1 .. $TBase + $TCount - 1) {
-                    push @T_re, $Jamo{$i}
-                }
-
-                # The whole re is made up of the L V T combination.
-                $jamo_re = '('
-                            . join ('|', sort @L_re)
-                            . ')('
-                            . join ('|', sort @V_re)
-                            . ')('
-                            . join ('|', sort @T_re)
-                            . ')?';
-
-                # These hashes needed by the algorithm were generated
-                # during reading of the Jamo.txt file
-                $jamo = main::simple_dumper(\%Jamo, ' ' x 8);
-                $jamo_l = main::simple_dumper(\%Jamo_L, ' ' x 8);
-                $jamo_v = main::simple_dumper(\%Jamo_V, ' ' x 8);
-                $jamo_t = main::simple_dumper(\%Jamo_T, ' ' x 8);
-            }
-
-            $pre_body .= <<END;
-
-# To achieve significant memory savings when this file is read in,
-# algorithmically derivable code points are omitted from the main body below.
-# Instead, the following routines can be used to translate between name and
-# code point and vice versa
-
-{ # Closure
-
-    # Matches legal code point.  4-6 hex numbers, If there are 6, the
-    # first two must be '10'; if there are 5, the first must not be a '0'.
-    my \$code_point_re = qr/$code_point_re/;
-
-    # In the following hash, the keys are the bases of names which includes
-    # the code point in the name, like CJK UNIFIED IDEOGRAPH-4E01.  The values
-    # of each key is another hash which is used to get the low and high ends
-    # for each range of code points that apply to the name
-    my %names_ending_in_code_point = (
-$names
-    );
-
-    # And the following array gives the inverse mapping from code points to
-    # names.  Lowest code points are first
-    my \@code_points_ending_in_code_point = (
-$code_points_ending_in_code_point
-    );
+        my $output_adjusted = ($self->to_output_map == $OUTPUT_ADJUSTED);
+        if ($output_adjusted) {
+            if ($specials_name) {
+                $return .= <<END;
+# The mappings in the non-hash portion of this file must be modified to get the
+# correct values by adding the code point ordinal number to each one that is
+# numeric.
 END
-            # Earlier releases didn't have Jamos.  No sense outputting
-            # them unless will be used.
-            if ($has_hangul_syllables) {
-                $pre_body .= <<END;
-
-    # Convert from code point to Jamo short name for use in composing Hangul
-    # syllable names
-    my %Jamo = (
-$jamo
-    );
-
-    # Leading consonant (can be null)
-    my %Jamo_L = (
-$jamo_l
-    );
-
-    # Vowel
-    my %Jamo_V = (
-$jamo_v
-    );
-
-    # Optional trailing consonant
-    my %Jamo_T = (
-$jamo_t
-    );
-
-    # Computed re that splits up a Hangul name into LVT or LV syllables
-    my \$syllable_re = qr/$jamo_re/;
-
-    my \$HANGUL_SYLLABLE = "HANGUL SYLLABLE ";
-    my \$HANGUL_SYLLABLE_LENGTH = length \$HANGUL_SYLLABLE;
-
-    # These constants names and values were taken from the Unicode standard,
-    # version 5.1, section 3.12.  They are used in conjunction with Hangul
-    # syllables
-    my \$SBase = $SBase_string;
-    my \$LBase = $LBase_string;
-    my \$VBase = $VBase_string;
-    my \$TBase = $TBase_string;
-    my \$SCount = $SCount;
-    my \$LCount = $LCount;
-    my \$VCount = $VCount;
-    my \$TCount = $TCount;
-    my \$NCount = \$VCount * \$TCount;
-END
-            } # End of has Jamos
-
-            $pre_body .= << 'END';
-
-    sub name_to_code_point_special {
-        my $name = shift;
-
-        # Returns undef if not one of the specially handled names; otherwise
-        # returns the code point equivalent to the input name
-END
-            if ($has_hangul_syllables) {
-                $pre_body .= << 'END';
-
-        if (substr($name, 0, $HANGUL_SYLLABLE_LENGTH) eq $HANGUL_SYLLABLE) {
-            $name = substr($name, $HANGUL_SYLLABLE_LENGTH);
-            return if $name !~ qr/^$syllable_re$/;
-            my $L = $Jamo_L{$1};
-            my $V = $Jamo_V{$2};
-            my $T = (defined $3) ? $Jamo_T{$3} : 0;
-            return ($L * $VCount + $V) * $TCount + $T + $SBase;
-        }
-END
             }
-            $pre_body .= << 'END';
-
-        # Name must end in '-code_point' for this to handle.
-        if ($name !~ /^ (.*) - ($code_point_re) $/x) {
-            return;
-        }
-
-        my $base = $1;
-        my $code_point = CORE::hex $2;
-
-        # Name must be one of the ones which has the code point in it.
-        return if ! $names_ending_in_code_point{$base};
-
-        # Look through the list of ranges that apply to this name to see if
-        # the code point is in one of them.
-        for (my $i = 0; $i < scalar @{$names_ending_in_code_point{$base}{'low'}}; $i++) {
-            return if $names_ending_in_code_point{$base}{'low'}->[$i] > $code_point;
-            next if $names_ending_in_code_point{$base}{'high'}->[$i] < $code_point;
-
-            # Here, the code point is in the range.
-            return $code_point;
-        }
-
-        # Here, looked like the name had a code point number in it, but
-        # did not match one of the valid ones.
-        return;
-    }
-
-    sub code_point_to_name_special {
-        my $code_point = shift;
-
-        # Returns the name of a code point if algorithmically determinable;
-        # undef if not
+            else {
+                $return .= <<END;
+# The mappings must be modified to get the correct values by adding the code
+# point ordinal number to each one that is numeric.
 END
-            if ($has_hangul_syllables) {
-                $pre_body .= << 'END';
-
-        # If in the Hangul range, calculate the name based on Unicode's
-        # algorithm
-        if ($code_point >= $SBase && $code_point <= $SBase + $SCount -1) {
-            use integer;
-            my $SIndex = $code_point - $SBase;
-            my $L = $LBase + $SIndex / $NCount;
-            my $V = $VBase + ($SIndex % $NCount) / $TCount;
-            my $T = $TBase + $SIndex % $TCount;
-            $name = "$HANGUL_SYLLABLE$Jamo{$L}$Jamo{$V}";
-            $name .= $Jamo{$T} if $T != $TBase;
-            return $name;
-        }
-END
             }
-            $pre_body .= << 'END';
-
-        # Look through list of these code points for one in range.
-        foreach my $hash (@code_points_ending_in_code_point) {
-            return if $code_point < $hash->{'low'};
-            if ($code_point <= $hash->{'high'}) {
-                return sprintf("%s-%04X", $hash->{'name'}, $code_point);
-            }
         }
-        return;            # None found
-    }
-} # End closure
 
-END
-        } # End of has hangul or code point in name maps.
+        $return .= <<END;
 
-        my $format = $self->format;
-
-        my $return = <<END;
 # The name this swash is to be known by, with the format of the mappings in
 # the main body of the table, and what all code points missing from this file
 # map to.
 \$utf8::SwashInfo{'To$name'}{'format'} = '$format'; # $map_table_formats{$format}
 END
+        if ($specials_name) {
+            $return .= <<END;
+\$utf8::SwashInfo{'To$name'}{'specials_name'} = '$specials_name'; # Name of hash of special mappings
+END
+        }
         my $default_map = $default_map{$addr};
-        $return .= "\$utf8::SwashInfo{'To$name'}{'missing'} = '$default_map';";
 
+        # For $CODE_POINT default maps and using adjustments, instead the default
+        # becomes zero.
+        $return .= "\$utf8::SwashInfo{'To$name'}{'missing'} = '"
+                .  (($output_adjusted && $default_map eq $CODE_POINT)
+                   ? "0"
+                   : $default_map)
+                . "';";
+
         if ($default_map eq $CODE_POINT) {
             $return .= ' # code point maps to itself';
         }
@@ -6219,10 +6637,7 @@
         my $addr = do { no overloading; pack 'J', $self; };
 
         # Clear the temporaries
-        $has_hangul_syllables = 0;
         undef @multi_code_point_maps;
-        undef %names_ending_in_code_point;
-        undef @code_points_ending_in_code_point;
 
         # Calculate the format of the table if not already done.
         my $format = $self->format;
@@ -6275,8 +6690,13 @@
                                 if $format eq $FLOAT_FORMAT
                                     && $map !~ / ^ -? [0-9]+ \. [0-9]* $ /x;
                             $format = $HEX_FORMAT
-                            if $format eq $RATIONAL_FORMAT
-                                && $map !~ / ^ -? [0-9]+ ( \/ [0-9]+ )? $ /x;
+                                if ($format eq $RATIONAL_FORMAT
+                                       && $map !~
+                                           m/ ^ -? [0-9]+ ( \/ [0-9]+ )? $ /x)
+                                        # Assume a leading zero means hex,
+                                        # even if all digits are 0-9
+                                    || ($format eq $INTEGER_FORMAT
+                                        && $map =~ /^0[0-9A-F]/);
                             $format = $STRING_FORMAT if $format eq $HEX_FORMAT
                                                        && $map =~ /[^0-9A-F]/;
                         }
@@ -6293,15 +6713,18 @@
             Carp::my_carp_bug("Expecting hex format for mapping table for $self, instead got '$format'")
         }
 
+        # If the output is to be adjusted, the format of the table that gets
+        # output is actually 'a' instead of whatever it is stored internally
+        # as.
+        my $output_adjusted = ($self->to_output_map == $OUTPUT_ADJUSTED);
+        if ($output_adjusted) {
+            $format = $ADJUST_FORMAT;
+        }
+
         $self->_set_format($format);
 
-        # Core Perl has a different definition of mapping ranges than we do,
-        # that is applicable mainly to mapping code points, so for tables
-        # where it is possible that core Perl could be used to read it,
-        # make it range size 1 to prevent possible confusion
-        $self->set_range_size_1(1) if $format eq $HEX_FORMAT;
-
         return $self->SUPER::write(
+            $output_adjusted,
             ($self->property == $block)
                 ? 7     # block file needs more tab stops
                 : 3,
@@ -6359,7 +6782,15 @@
 #    if the Unicode one is deprecated, the Perl one will be too.  Not so for
 #    unrelated tables.  Relatedness makes generating the documentation easier.
 #
-# 2) Conflicting.  It may be that there will eventually be name clashes, with
+# 2) Complement.
+#    Like equivalents, two tables may be the inverses of each other, the
+#    intersection between them is null, and the union is every Unicode code
+#    point.  The two tables that occupy a binary property are necessarily like
+#    this.  By specifying one table as the complement of another, we can avoid
+#    storing it on disk (using the other table and performing a fast
+#    transform), and some memory and calculations.
+#
+# 3) Conflicting.  It may be that there will eventually be name clashes, with
 #    the same name meaning different things.  For a while, there actually were
 #    conflicts, but they have so far been resolved by changing Perl's or
 #    Unicode's definitions to match the other, but when this code was written,
@@ -6389,9 +6820,10 @@
 
     my %parent;
     # The parent table to this one, initially $self.  This allows us to
-    # distinguish between equivalent tables that are related, and those which
-    # may not be, but share the same output file because they match the exact
-    # same set of code points in the current Unicode release.
+    # distinguish between equivalent tables that are related (for which this
+    # is set to), and those which may not be, but share the same output file
+    # because they match the exact same set of code points in the current
+    # Unicode release.
     main::set_access('parent', \%parent, 'r');
 
     my %children;
@@ -6408,6 +6840,11 @@
     # points.
     main::set_access('matches_all', \%matches_all, 'r');
 
+    my %complement;
+    # Points to the complement that this table is expressed in terms of; 0 if
+    # none.
+    main::set_access('complement', \%complement, 'r');
+
     sub new {
         my $class = shift;
 
@@ -6456,6 +6893,7 @@
         $matches_all{$addr} = $matches_all;
         $leader{$addr} = $self;
         $parent{$addr} = $self;
+        $complement{$addr} = 0;
 
         if (defined $format && $format ne $EMPTY_FORMAT) {
             Carp::my_carp_bug("'Format' must be '$EMPTY_FORMAT' in a match table instead of '$format'.  Using '$EMPTY_FORMAT'");
@@ -6490,7 +6928,17 @@
         '+=' => sub {
                         my $self = shift;
                         my $other = shift;
+                        my $reversed = shift;
 
+                        if ($reversed) {
+                            Carp::my_carp_bug("Bad news.  Can't cope with '"
+                            . ref($other)
+                            . ' += '
+                            . ref($self)
+                            . "'.  undef returned.");
+                            return;
+                        }
+
                         return if $self->carp_if_locked;
 
                         my $addr = do { no overloading; pack 'J', $self; };
@@ -6507,14 +6955,33 @@
                         }
                         return $self;
                     },
+        '&=' => sub {
+                        my $self = shift;
+                        my $other = shift;
+                        my $reversed = shift;
+
+                        if ($reversed) {
+                            Carp::my_carp_bug("Bad news.  Can't cope with '"
+                            . ref($other)
+                            . ' &= '
+                            . ref($self)
+                            . "'.  undef returned.");
+                            return;
+                        }
+
+                        return if $self->carp_if_locked;
+                        $self->_set_range_list($self->_range_list & $other);
+                        return $self;
+                    },
         '-' => sub { my $self = shift;
                     my $other = shift;
                     my $reversed = shift;
-
                     if ($reversed) {
-                        Carp::my_carp_bug("Can't cope with a "
-                            .  __PACKAGE__
-                            . " being the first parameter in a '-'.  Subtraction ignored.");
+                        Carp::my_carp_bug("Bad news.  Can't cope with '"
+                        . ref($other)
+                        . ' - '
+                        . ref($self)
+                        . "'.  undef returned.");
                         return;
                     }
 
@@ -6532,6 +6999,20 @@
         return "Table '$name'";
     }
 
+    sub _range_list {
+        # Returns the range list associated with this table, which will be the
+        # complement's if it has one.
+
+        my $self = shift;
+        my $complement;
+        if (($complement = $self->complement) != 0) {
+            return ~ $complement->_range_list;
+        }
+        else {
+            return $self->SUPER::_range_list;
+        }
+    }
+
     sub add_alias {
         # Add a synonym for this table.  See the comments in the base class
 
@@ -6654,7 +7135,14 @@
                     Carp::my_carp_bug("Use add_alias() to set two Perl tables '$self' and '$other', equivalent.");
                     return;
                 }
-            } elsif (! $other->perl_extension) {
+            } elsif ($self->property != $other->property    # Depending on
+                                                            # situation, might
+                                                            # be better to use
+                                                            # add_alias()
+                                                            # instead for same
+                                                            # property
+                     && ! $other->perl_extension)
+            {
                 Carp::my_carp_bug("set_equivalent_to should have 'Related => 0 for equivalencing two Unicode properties.  Assuming $self is not related to $other");
                 $related = 0;
             }
@@ -6671,11 +7159,12 @@
         # Any tables that are equivalent to or children of this table must now
         # instead be equivalent to or (children) to the new leader (parent),
         # still equivalent.  The equivalency includes their matches_all info,
-        # and for related tables, their status
+        # and for related tables, their fate and status.
         # All related tables are of necessity equivalent, but the converse
         # isn't necessarily true
         my $status = $other->status;
         my $status_info = $other->status_info;
+        my $fate = $other->fate;
         my $matches_all = $matches_all{other_addr};
         my $caseless_equivalent = $other->caseless_equivalent;
         foreach my $table ($current_leader, @{$equivalents{$leader}}) {
@@ -6691,6 +7180,11 @@
                 $parent{$table_addr} = $other;
                 push @{$children{$other_addr}}, $table;
                 $table->set_status($status, $status_info);
+
+                # This reason currently doesn't get exposed outside; otherwise
+                # would have to look up the parent's reason and use it instead.
+                $table->set_fate($fate, "Parent's fate");
+
                 $self->set_caseless_equivalent($caseless_equivalent);
             }
         }
@@ -6702,6 +7196,26 @@
         return;
     }
 
+    sub set_complement {
+        # Set $self to be the complement of the parameter table.  $self is
+        # locked, as what it contains should all come from the other table.
+
+        my $self = shift;
+        my $other = shift;
+
+        my %args = @_;
+        Carp::carp_extra_args(\%args) if main::DEBUG && %args;
+
+        if ($other->complement != 0) {
+            Carp::my_carp_bug("Can't set $self to be the complement of $other, which itself is the complement of " . $other->complement);
+            return;
+        }
+        my $addr = do { no overloading; pack 'J', $self; };
+        $complement{$addr} = $other;
+        $self->lock;
+        return;
+    }
+
     sub add_range { # Add a range to the list for this table.
         my $self = shift;
         # Rest of parameters passed on
@@ -6710,6 +7224,14 @@
         return $self->_range_list->add_range(@_);
     }
 
+    sub header {
+        my $self = shift;
+        Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+        # All match tables are to be used only by the Perl core.
+        return $self->SUPER::header() . $INTERNAL_ONLY_HEADER;
+    }
+
     sub pre_body {  # Does nothing for match tables.
         return
     }
@@ -6718,11 +7240,26 @@
         return
     }
 
+    sub set_fate {
+        my $self = shift;
+        my $fate = shift;
+        my $reason = shift;
+        Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+        $self->SUPER::set_fate($fate, $reason);
+
+        # All children share this fate
+        foreach my $child ($self->children) {
+            $child->set_fate($fate, $reason);
+        }
+        return;
+    }
+
     sub write {
         my $self = shift;
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
-        return $self->SUPER::write(2); # 2 tab stops
+        return $self->SUPER::write(0, 2); # No adjustments; 2 tab stops
     }
 
     sub set_final_comment {
@@ -6767,6 +7304,9 @@
                                   # \p{}'s
         my @global_comments;    # List of all the tables' comments that are
                                 # there before this routine was called.
+        my $has_ucd_alias = 0;  # If there is an alias that is accessible via
+                                # Unicode::UCD.  If not, then don't say it is
+                                # in the comment
 
         # Get list of all the parent tables that are equivalent to this one
         # (including itself).
@@ -6830,18 +7370,23 @@
                 # listing all possible combinations in the comment, we make
                 # sure that each synonym occurs at least once, and add
                 # commentary that the other combinations are possible.
+                # Because regular expressions don't recognize things like
+                # \p{jsn=}, only look at non-null right-hand-sides
                 my @property_aliases = $table_property->aliases;
-                my @table_aliases = $table->aliases;
+                my @table_aliases = grep { $_->name ne "" } $table->aliases;
 
-                Carp::my_carp_bug("$table doesn't have any names.  Proceeding anyway.") unless @table_aliases;
-
                 # The alias lists above are already ordered in the order we
                 # want to output them.  To ensure that each synonym is listed,
-                # we must use the max of the two numbers.
-                my $listed_combos = main::max(scalar @table_aliases,
-                                                scalar @property_aliases);
+                # we must use the max of the two numbers.  But if there are no
+                # legal synonyms (nothing in @table_aliases), then we don't
+                # list anything.
+                my $listed_combos = (@table_aliases)
+                                    ?  main::max(scalar @table_aliases,
+                                                 scalar @property_aliases)
+                                    : 0;
                 trace "$listed_combos, tables=", scalar @table_aliases, "; names=", scalar @property_aliases if main::DEBUG;
 
+
                 my $property_had_compound_name = 0;
 
                 for my $i (0 .. $listed_combos - 1) {
@@ -6856,6 +7401,7 @@
                                                         [$i % @table_aliases];
                     my $table_alias = $table_alias_object->name;
                     my $loose_match = $table_alias_object->loose_match;
+                    $has_ucd_alias |= $table_alias_object->ucd;
 
                     if ($table_alias !~ /\D/) { # Clarify large numbers.
                         $table_alias = main::clarify_number($table_alias)
@@ -6877,16 +7423,8 @@
                     my $flag = $property->status
                                 || $table->status
                                 || $table_alias_object->status;
-                    if ($flag) {
-                        if ($flag ne $PLACEHOLDER) {
-                            $flags{$flag} = $status_past_participles{$flag};
-                        } else {
-                            $flags{$flag} = <<END;
-a placeholder because it is not in Version $string_version of Unicode, but is
-needed by the Perl core to work gracefully.  Because it is not in this version
-of Unicode, it will not be listed in $pod_file.pod
-END
-                        }
+                    if ($flag && $flag ne $PLACEHOLDER) {
+                        $flags{$flag} = $status_past_participles{$flag};
                     }
 
                     $loose_count++;
@@ -6965,7 +7503,7 @@
 
         my $synonyms;
         my $entries;
-        if ($total_entries <= 1) {
+        if ($total_entries == 1) {
             $synonyms = "";
             $entries = 'entry';
             $any_of_these = 'this'
@@ -6977,6 +7515,9 @@
         }
 
         my $comment = "";
+        if ($has_ucd_alias) {
+            $comment .= "Use Unicode::UCD::prop_invlist() to access the contents of this file.\n\n";
+        }
         if ($has_unrelated) {
             $comment .= <<END;
 This file is for tables that are not necessarily related:  To conserve
@@ -6993,14 +7534,22 @@
             foreach my $flag (sort keys %flags) {
                 $comment .= <<END;
 '$flag' below means that this form is $flags{$flag}.
+Consult $pod_file.pod
 END
-                next if $flag eq $PLACEHOLDER;
-                $comment .= "Consult $pod_file.pod\n";
             }
             $comment .= "\n";
         }
 
-        $comment .= <<END;
+        if ($total_entries == 0) {
+            Carp::my_carp("No regular expression construct can match $leader, as all names for it are the null string.  Creating file anyway.");
+            $comment .= <<END;
+This file returns the $code_points in Unicode Version $string_version for
+$leader, but it is inaccessible through Perl regular expressions, as
+"\\p{prop=}" is not recognized.
+END
+
+        } else {
+            $comment .= <<END;
 This file returns the $code_points in Unicode Version $string_version that
 $match$synonyms:
 
@@ -7011,6 +7560,7 @@
 variants.  Upper/lower case distinctions never matter.
 END
 
+        }
         if ($compound_name) {
             $comment .= <<END;
 
@@ -7212,6 +7762,12 @@
     # have to keep more than three.
     main::set_access('unique_maps', \%unique_maps);
 
+    my %pre_declared_maps;
+    # A boolean that gives whether the input data should declare all the
+    # tables used, or not.  If the former, unknown ones raise a warning.
+    main::set_access('pre_declared_maps',
+                                    \%pre_declared_maps, 'r', 's');
+
     sub new {
         # The only required parameter is the positionally first, name.  All
         # other parameters are key => value pairs.  See the documentation just
@@ -7239,6 +7795,12 @@
         $full_name{$addr} = delete $args{'Full_Name'} || $name;
         $type{$addr} = delete $args{'Type'} || $UNKNOWN;
         $pseudo_map_type{$addr} = delete $args{'Map_Type'};
+        $pre_declared_maps{$addr} = delete $args{'Pre_Declared_Maps'}
+                                    # Starting in this release, property
+                                    # values should be defined for all
+                                    # properties, except those overriding this
+                                    // $v_version ge v5.1.0;
+
         # Rest of parameters passed on.
 
         $has_only_code_point_maps{$addr} = 1;
@@ -7261,6 +7823,7 @@
         fallback => 0,
         qw("") => "_operator_stringify",
         "." => \&main::_operator_dot,
+        ".=" => \&main::_operator_dot_equal,
         '==' => \&main::_operator_equal,
         '!=' => \&main::_operator_not_equal,
         '=' => sub { return shift },
@@ -7280,16 +7843,16 @@
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
         if (ref $other) {
-            Carp::my_carp_bug("Can't cope with a "
+            Carp::my_carp_bug("Bad news.  Can't cope with a "
                         . ref($other)
                         . " argument to '-='.  Subtraction ignored.");
             return $self;
         }
         elsif ($reversed) {   # Shouldn't happen in a -=, but just in case
-            Carp::my_carp_bug("Can't cope with a "
-            .  __PACKAGE__
-            . " being the first parameter in a '-='.  Subtraction ignored.");
-            return $self;
+            Carp::my_carp_bug("Bad news.  Can't cope with subtracting a "
+            . ref $self
+            . " from a non-object.  undef returned.");
+            return;
         }
         else {
             no overloading;
@@ -7330,12 +7893,11 @@
                                 _Alias_Hash => $table_ref{$addr},
                                 _Property => $self,
 
-                                # gets property's status by default
+                                # gets property's fate and status by default
+                                Fate => $self->fate,
                                 Status => $self->status,
                                 _Status_Info => $self->status_info,
-                                %args,
-                                Internal_Only_Warning => 1); # Override any
-                                                             # input param
+                                %args);
             return unless defined $table;
         }
 
@@ -7354,7 +7916,7 @@
             Carp::my_carp("$self Added a match table '$name' to a string property '$self'.  Changed it to a non-string property.  Bad News.");
             $type{$addr} = $NON_STRING;
         }
-        elsif ($type{$addr} != $ENUM) {
+        elsif ($type{$addr} != $ENUM && $type{$addr} != $FORCED_BINARY) {
             if (scalar main::uniques(values %{$table_ref{$addr}}) > 2
                 && $type{$addr} == $BINARY)
             {
@@ -7366,6 +7928,25 @@
         return $table;
     }
 
+    sub delete_match_table {
+        # Delete the table referred to by $2 from the property $1.
+
+        my $self = shift;
+        my $table_to_remove = shift;
+        Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+        my $addr = do { no overloading; pack 'J', $self; };
+
+        # Remove all names that refer to it.
+        foreach my $key (keys %{$table_ref{$addr}}) {
+            delete $table_ref{$addr}{$key}
+                                if $table_ref{$addr}{$key} == $table_to_remove;
+        }
+
+        $table_to_remove->DESTROY;
+        return;
+    }
+
     sub table {
         # Return a pointer to the match table (with name given by the
         # parameter) associated with this property; undef if none.
@@ -7425,6 +8006,11 @@
 
         my $addr = do { no overloading; pack 'J', $self; };
 
+        # Swash names are used only on regular map tables; otherwise there
+        # should be no access to the property map table from other parts of
+        # Perl.
+        return if $map{$addr}->fate != $ORDINARY;
+
         return $file{$addr} if defined $file{$addr};
         return $map{$addr}->external_name;
     }
@@ -7477,6 +8063,23 @@
         return $map{pack 'J', $self}->map_add_or_replace_non_nulls($map{pack 'J', $other});
     }
 
+    sub set_proxy_for {
+        # Certain tables are not generally written out to files, but
+        # Unicode::UCD has the intelligence to know that the file for $self
+        # can be used to reconstruct those tables.  This routine just changes
+        # things so that UCD pod entries for those suppressed tables are
+        # generated, so the fact that a proxy is used is invisible to the
+        # user.
+
+        my $self = shift;
+
+        foreach my $property_name (@_) {
+            my $ref = property_ref($property_name);
+            next if $ref->to_output_map;
+            $ref->set_fate($MAP_PROXIED);
+        }
+    }
+
     sub set_type {
         # Set the type of the property.  Mostly this is figured out by the
         # data in the table.  But this is used to set it explicitly.  The
@@ -7488,27 +8091,40 @@
         my $type = shift;
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
-        if ($type != $ENUM && $type != $BINARY && $type != $STRING) {
+        if ($type != $ENUM
+            && $type != $BINARY
+            && $type != $FORCED_BINARY
+            && $type != $STRING)
+        {
             Carp::my_carp("Unrecognized type '$type'.  Type not set");
             return;
         }
 
         { no overloading; $type{pack 'J', $self} = $type; }
-        return if $type != $BINARY;
+        return if $type != $BINARY && $type != $FORCED_BINARY;
 
         my $yes = $self->table('Y');
         $yes = $self->table('Yes') if ! defined $yes;
-        $yes = $self->add_match_table('Y') if ! defined $yes;
-        $yes->add_alias('Yes');
-        $yes->add_alias('T');
-        $yes->add_alias('True');
+        $yes = $self->add_match_table('Y', Full_Name => 'Yes')
+                                                            if ! defined $yes;
 
+        # Add aliases in order wanted, duplicates will be ignored.  We use a
+        # binary property present in all releases for its ordered lists of
+        # true/false aliases.  Note, that could run into problems in
+        # outputting things in that we don't distinguish between the name and
+        # full name of these.  Hopefully, if the table was already created
+        # before this code is executed, it was done with these set properly.
+        my $bm = property_ref("Bidi_Mirrored");
+        foreach my $alias ($bm->table("Y")->aliases) {
+            $yes->add_alias($alias->name);
+        }
         my $no = $self->table('N');
         $no = $self->table('No') if ! defined $no;
-        $no = $self->add_match_table('N') if ! defined $no;
-        $no->add_alias('No');
-        $no->add_alias('F');
-        $no->add_alias('False');
+        $no = $self->add_match_table('N', Full_Name => 'No') if ! defined $no;
+        foreach my $alias ($bm->table("N")->aliases) {
+            $no->add_alias($alias->name);
+        }
+
         return;
     }
 
@@ -7582,7 +8198,9 @@
         # If already have figured these out, no need to do so again, but we do
         # a double check on ENUMS to make sure that a string property hasn't
         # improperly been classified as an ENUM, so continue on with those.
-        return if $type == $STRING || $type == $BINARY;
+        return if $type == $STRING
+                  || $type == $BINARY
+                  || $type == $FORCED_BINARY;
 
         # If every map is to a code point, is a string property.
         if ($type == $UNKNOWN
@@ -7627,6 +8245,29 @@
         return;
     }
 
+    sub set_fate {
+        my $self = shift;
+        my $fate = shift;
+        my $reason = shift;  # Ignored unless suppressing
+        Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+        my $addr = do { no overloading; pack 'J', $self; };
+        if ($fate == $SUPPRESSED) {
+            $why_suppressed{$self->complete_name} = $reason;
+        }
+
+        # Each table shares the property's fate, except that MAP_PROXIED
+        # doesn't affect match tables
+        $map{$addr}->set_fate($fate, $reason);
+        if ($fate != $MAP_PROXIED) {
+            foreach my $table ($map{$addr}, $self->tables) {
+                $table->set_fate($fate, $reason);
+            }
+        }
+        return;
+    }
+
+
     # Most of the accessors for a property actually apply to its map table.
     # Setup up accessor functions for those, referring to %map
     for my $sub (qw(
@@ -7641,7 +8282,6 @@
                     comment
                     complete_name
                     containing_range
-                    core_access
                     count
                     default_map
                     delete_range
@@ -7648,6 +8288,7 @@
                     description
                     each_range
                     external_name
+                    fate
                     file_path
                     format
                     initialize
@@ -7662,10 +8303,10 @@
                     range_size_1
                     reset_each_range
                     set_comment
-                    set_core_access
                     set_default_map
                     set_file_path
                     set_final_comment
+                    _set_format
                     set_range_size_1
                     set_status
                     set_to_output_map
@@ -8064,7 +8705,7 @@
 
 {   # Closure
 
-    my $indent_increment = " " x 2;
+    my $indent_increment = " " x (($debugging_build) ? 2 : 0);
     my %already_output;
 
     $main::simple_dumper_nesting = 0;
@@ -8078,7 +8719,7 @@
 
         my $item = shift;
         my $indent = shift;
-        $indent = "" if ! defined $indent;
+        $indent = "" if ! $debugging_build || ! defined $indent;
 
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
@@ -8103,9 +8744,8 @@
             my $copy = $item;
             $copy = $UNDEF unless defined $copy;
 
-            # Quote non-numbers (numbers also have optional leading '-' and
-            # fractions)
-            if ($copy eq "" || $copy !~ /^ -? \d+ ( \. \d+ )? $/x) {
+            # Quote non-integers (integers also have optional leading '-')
+            if ($copy eq "" || $copy !~ /^ -? \d+ $/x) {
 
                 # Escape apostrophe and backslash
                 $copy =~ s/ ( ['\\] ) /\\$1/xg;
@@ -8144,9 +8784,10 @@
 
                         # Indent array elements one level
                         $output .= &simple_dumper($item->[$i], $next_indent);
-                        $output =~ s/\n$//;      # Remove trailing nl so as to
-                        $output .= " # [$i]\n";  # add a comment giving the
-                                                 # array index
+                        next if ! $debugging_build;
+                        $output =~ s/\n$//;      # Remove any trailing nl so
+                        $output .= " # [$i]\n";  # as to add a comment giving
+                                                 # the array index
                     }
                     $output .= $indent;     # Indent closing ']' to orig level
                 }
@@ -8274,6 +8915,24 @@
             : "$self$other";
 }
 
+sub _operator_dot_equal {
+    # Overloaded '.=' method that is common to all packages.
+
+    my $self = shift;
+    my $other = shift;
+    my $reversed = shift;
+    Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+    $other = "" unless defined $other;
+
+    if ($reversed) {
+        return $other .= "$self";
+    }
+    else {
+        return "$self" . "$other";
+    }
+}
+
 sub _operator_equal {
     # Generic overloaded '==' routine.  To be equal, they must be the exact
     # same object
@@ -8328,6 +8987,11 @@
         }
 
     }
+
+    my $scf = property_ref("Simple_Case_Folding");
+    $scf->add_alias("scf");
+    $scf->add_alias("sfc");
+
     return;
 }
 
@@ -8338,56 +9002,35 @@
     Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
     # This entry was missing from this file in earlier Unicode versions
-    if (-e 'Jamo.txt') {
-        my $jsn = property_ref('JSN');
-        if (! defined $jsn) {
-            $jsn = Property->new('JSN', Full_Name => 'Jamo_Short_Name');
-        }
+    if (-e 'Jamo.txt' && ! defined property_ref('JSN')) {
+        Property->new('JSN', Full_Name => 'Jamo_Short_Name');
     }
 
-    # This entry is still missing as of 6.0, perhaps because no short name for
-    # it.
-    if (-e 'NameAliases.txt') {
-        my $aliases = property_ref('Name_Alias');
-        if (! defined $aliases) {
-            $aliases = Property->new('Name_Alias');
-        }
+    # These two properties must be defined in all releases so we can generate
+    # the tables from them to make regex \X work, but suppress their output so
+    # aren't application visible prior to releases where they should be
+    if (! defined property_ref('GCB')) {
+        Property->new('GCB', Full_Name => 'Grapheme_Cluster_Break',
+                      Fate => $PLACEHOLDER);
     }
+    if (! defined property_ref('hst')) {
+        Property->new('hst', Full_Name => 'Hangul_Syllable_Type',
+                      Fate => $PLACEHOLDER);
+    }
 
     # These are used so much, that we set globals for them.
     $gc = property_ref('General_Category');
     $block = property_ref('Block');
+    $script = property_ref('Script');
 
     # Perl adds this alias.
     $gc->add_alias('Category');
 
-    # For backwards compatibility, these property files have particular names.
-    my $upper = property_ref('Uppercase_Mapping');
-    $upper->set_core_access('uc()');
-    $upper->set_file('Upper'); # This is what utf8.c calls it
-
-    my $lower = property_ref('Lowercase_Mapping');
-    $lower->set_core_access('lc()');
-    $lower->set_file('Lower');
-
-    my $title = property_ref('Titlecase_Mapping');
-    $title->set_core_access('ucfirst()');
-    $title->set_file('Title');
-
-    my $fold = property_ref('Case_Folding');
-    $fold->set_file('Fold') if defined $fold;
-
-    # utf8.c has a different meaning for non range-size-1 for map properties
-    # that this program doesn't currently handle; and even if it were changed
-    # to do so, some other code may be using them expecting range size 1.
-    foreach my $property (qw {
-                                Case_Folding
-                                Lowercase_Mapping
-                                Titlecase_Mapping
-                                Uppercase_Mapping
-                            })
-    {
-        property_ref($property)->set_range_size_1(1);
+    # Unicode::Normalize expects this file with this name and directory.
+    my $ccc = property_ref('Canonical_Combining_Class');
+    if (defined $ccc) {
+        $ccc->set_file('CombiningClass');
+        $ccc->set_directory(File::Spec->curdir());
     }
 
     # These two properties aren't actually used in the core, but unfortunately
@@ -8508,6 +9151,22 @@
             $urs->add_alias('kRSUnicode');
         }
     }
+
+    # For backwards compatibility with applications that may read the mapping
+    # file directly (it was documented in 5.12 and 5.14 as being thusly
+    # usable), keep it from being adjusted.  (range_size_1 is
+    # used to force the traditional format.)
+    if (defined (my $nfkc_cf = property_ref('NFKC_Casefold'))) {
+        $nfkc_cf->set_to_output_map($EXTERNAL_MAP);
+        $nfkc_cf->set_range_size_1(1);
+    }
+    if (defined (my $bmg = property_ref('Bidi_Mirroring_Glyph'))) {
+        $bmg->set_to_output_map($EXTERNAL_MAP);
+        $bmg->set_range_size_1(1);
+    }
+
+    property_ref('Numeric_Value')->set_to_output_map($OUTPUT_ADJUSTED);
+
     return;
 }
 
@@ -8537,7 +9196,7 @@
 na1       ; Unicode_1_Name
 nt        ; Numeric_Type
 nv        ; Numeric_Value
-sfc       ; Simple_Case_Folding
+scf       ; Simple_Case_Folding
 slc       ; Simple_Lowercase_Mapping
 stc       ; Simple_Titlecase_Mapping
 suc       ; Simple_Uppercase_Mapping
@@ -8558,7 +9217,6 @@
 
         # This first set is in the original old-style proplist.
         push @return, split /\n/, <<'END';
-Alpha     ; Alphabetic
 Bidi_C    ; Bidi_Control
 Dash      ; Dash
 Dia       ; Diacritic
@@ -8629,6 +9287,7 @@
     }
     if (-e 'DCoreProperties.txt') {
         push @return, split /\n/, <<'END';
+Alpha     ; Alphabetic
 IDS       ; ID_Start
 XIDC      ; XID_Continue
 XIDS      ; XID_Start
@@ -8679,6 +9338,34 @@
         $file->insert_lines(get_old_property_value_aliases());
     }
 
+    if ($v_version lt 4.0.0) {
+        $file->insert_lines(split /\n/, <<'END'
+hst; L                                ; Leading_Jamo
+hst; LV                               ; LV_Syllable
+hst; LVT                              ; LVT_Syllable
+hst; NA                               ; Not_Applicable
+hst; T                                ; Trailing_Jamo
+hst; V                                ; Vowel_Jamo
+END
+        );
+    }
+    if ($v_version lt 4.1.0) {
+        $file->insert_lines(split /\n/, <<'END'
+GCB; CN                               ; Control
+GCB; CR                               ; CR
+GCB; EX                               ; Extend
+GCB; L                                ; L
+GCB; LF                               ; LF
+GCB; LV                               ; LV
+GCB; LVT                              ; LVT
+GCB; T                                ; T
+GCB; V                                ; V
+GCB; XX                               ; Other
+END
+        );
+    }
+
+
     # Add any explicit cjk values
     $file->insert_lines(@cjk_property_values);
 
@@ -8692,17 +9379,36 @@
     # Process each line of the file ...
     while ($file->next_line) {
 
+        # Fix typo in input file
+        s/CCC133/CCC132/g if $v_version eq v6.1.0;
+
         my ($property, @data) = split /\s*;\s*/;
 
-        # The full name for the ccc property value is in field 2 of the
-        # remaining ones; field 1 for all other properties.  Swap ccc fields 1
-        # and 2.  (Rightmost splice removes field 2, returning it; left splice
-        # inserts that into field 1, thus shifting former field 1 to field 2.)
-        splice (@data, 1, 0, splice(@data, 2, 1)) if $property eq 'ccc';
+        # The ccc property has an extra field at the beginning, which is the
+        # numeric value.  Move it to be after the other two, mnemonic, fields,
+        # so that those will be used as the property value's names, and the
+        # number will be an extra alias.  (Rightmost splice removes field 1-2,
+        # returning them in a slice; left splice inserts that before anything,
+        # thus shifting the former field 0 to after them.)
+        splice (@data, 0, 0, splice(@data, 1, 2)) if $property eq 'ccc';
 
-        # If there is no short name, use the full one in element 1
-        $data[0] = $data[1] if $data[0] eq "n/a";
+        # Field 0 is a short name unless "n/a"; field 1 is the full name.  If
+        # there is no short name, use the full one in element 1
+        if ($data[0] eq "n/a") {
+            $data[0] = $data[1];
+        }
+        elsif ($data[0] ne $data[1]
+               && standardize($data[0]) eq standardize($data[1])
+               && $data[1] !~ /[[:upper:]]/)
+        {
+            # Also, there is a bug in the file in which "n/a" is omitted, and
+            # the two fields are identical except for case, and the full name
+            # is all lower case.  Copy the "short" name unto the full one to
+            # give it some upper case.
 
+            $data[1] = $data[0];
+        }
+
         # Earlier releases had the pseudo property 'qc' that should expand to
         # the ones that replace it below.
         if ($property eq 'qc') {
@@ -8784,6 +9490,9 @@
 bc ; R         ; Right_To_Left
 bc ; WS        ; White_Space
 
+Bidi_M; N; No; F; False
+Bidi_M; Y; Yes; T; True
+
 # The standard combining classes are very much different in v1, so only use
 # ones that look right (not checked thoroughly)
 ccc;   0; NR   ; Not_Reordered
@@ -9070,6 +9779,33 @@
     return @return;
 }
 
+sub process_NormalizationsTest {
+
+    # Each line looks like:
+    #      source code point; NFC; NFD; NFKC; NFKD
+    # e.g.
+    #       1E0A;1E0A;0044 0307;1E0A;0044 0307;
+
+    my $file= shift;
+    Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+    # Process each line of the file ...
+    while ($file->next_line) {
+
+        next if /^@/;
+
+        my ($c1, $c2, $c3, $c4, $c5) = split /\s*;\s*/;
+
+        foreach my $var (\$c1, \$c2, \$c3, \$c4, \$c5) {
+            $$var = pack "U0U*", map { hex } split " ", $$var;
+            $$var =~ s/(\\)/$1$1/g;
+        }
+
+        push @normalization_tests,
+                "Test_N(q$c1, q$c2, q$c3, q$c4, q$c5);\n";
+    } # End of looping through the file
+}
+
 sub output_perl_charnames_line ($$) {
 
     # Output the entries in Perl_charnames specially, using 5 digits instead
@@ -9086,6 +9822,14 @@
     # the little used $compare_versions feature is enabled.
     my $compare_versions_range_list;
 
+    # These are constants to the $property_info hash in this subroutine, to
+    # avoid using a quoted-string which might have a typo.
+    my $TYPE  = 'type';
+    my $DEFAULT_MAP = 'default_map';
+    my $DEFAULT_TABLE = 'default_table';
+    my $PSEUDO_MAP_TYPE = 'pseudo_map_type';
+    my $MISSINGS = 'missings';
+
     sub process_generic_property_file {
         # This processes a file containing property mappings and puts them
         # into internal map tables.  It should be used to handle any property
@@ -9264,22 +10008,22 @@
 
                 # If not the first time for this property, retrieve info about
                 # it from the cache
-                if (defined ($property_info{$property_addr}{'type'})) {
-                    $property_type = $property_info{$property_addr}{'type'};
-                    $default_map = $property_info{$property_addr}{'default'};
+                if (defined ($property_info{$property_addr}{$TYPE})) {
+                    $property_type = $property_info{$property_addr}{$TYPE};
+                    $default_map = $property_info{$property_addr}{$DEFAULT_MAP};
                     $map_type
-                        = $property_info{$property_addr}{'pseudo_map_type'};
+                        = $property_info{$property_addr}{$PSEUDO_MAP_TYPE};
                     $default_table
-                            = $property_info{$property_addr}{'default_table'};
+                            = $property_info{$property_addr}{$DEFAULT_TABLE};
                 }
                 else {
 
                     # Here, is the first time for this property.  Set up the
                     # cache.
-                    $property_type = $property_info{$property_addr}{'type'}
+                    $property_type = $property_info{$property_addr}{$TYPE}
                                    = $property_object->type;
                     $map_type
-                        = $property_info{$property_addr}{'pseudo_map_type'}
+                        = $property_info{$property_addr}{$PSEUDO_MAP_TYPE}
                         = $property_object->pseudo_map_type;
 
                     # The Unicode files are set up so that if the map is not
@@ -9293,7 +10037,7 @@
                         else {
                             $property_object->set_type($BINARY);
                             $property_type
-                                = $property_info{$property_addr}{'type'}
+                                = $property_info{$property_addr}{$TYPE}
                                 = $BINARY;
                         }
                     }
@@ -9318,10 +10062,10 @@
                         if ($property_type == $STRING
                             || $property_type == $UNKNOWN)
                         {
-                            $property_info{$addr}{'missings'} = $default;
+                            $property_info{$addr}{$MISSINGS} = $default;
                         }
                         else {
-                            $property_info{$addr}{'missings'}
+                            $property_info{$addr}{$MISSINGS}
                                         = $property_object->table($default);
                         }
                     }
@@ -9328,7 +10072,7 @@
 
                     # Finished storing all the @missings defaults in the input
                     # file so far.  Get the one for the current property.
-                    my $missings = $property_info{$property_addr}{'missings'};
+                    my $missings = $property_info{$property_addr}{$MISSINGS};
 
                     # But we likely have separately stored what the default
                     # should be.  (This is to accommodate versions of the
@@ -9392,7 +10136,7 @@
                                 $default_table = $missings;
                                 $default_map = $missings->full_name;
                             }
-                            $property_info{$property_addr}{'default_table'}
+                            $property_info{$property_addr}{$DEFAULT_TABLE}
                                                         = $default_table;
                         }
                         elsif ($default_map ne $missings) {
@@ -9405,7 +10149,7 @@
                         }
                     }
 
-                    $property_info{$property_addr}{'default'}
+                    $property_info{$property_addr}{$DEFAULT_MAP}
                                                     = $default_map;
 
                     # If haven't done so already, find the table corresponding
@@ -9415,7 +10159,7 @@
                         && $property_type != $UNKNOWN)
                     {
                         $default_table = $property_info{$property_addr}
-                                                        {'default_table'}
+                                                        {$DEFAULT_TABLE}
                                     = $property_object->table($default_map);
                     }
                 } # End of is first time for this property
@@ -9546,6 +10290,7 @@
     my $input_field_count = $i;
 
     # This routine in addition outputs these extra fields:
+
     my $DECOMP_TYPE = $i++; # Decomposition type
 
     # These fields are modifications of ones above, and are usually
@@ -9633,7 +10378,7 @@
     # the code point and name on each line.  This was actually the hardest
     # thing to design around.  The code points in those ranges may actually
     # have real maps not given by these two lines.  These maps will either
-    # be algorithmically determinable, or in the extracted files furnished
+    # be algorithmically determinable, or be in the extracted files furnished
     # with the UCD.  In the event of conflicts between these extracted files,
     # and this one, Unicode says that this one prevails.  But it shouldn't
     # prevail for conflicts that occur in these ranges.  The data from the
@@ -9657,21 +10402,21 @@
         # first.)  A comment for it will later be constructed based on the
         # actual properties present and used
         $perl_charname = Property->new('Perl_Charnames',
-                       Core_Access => '\N{...} and "use charnames"',
                        Default_Map => "",
                        Directory => File::Spec->curdir(),
                        File => 'Name',
-                       Internal_Only_Warning => 1,
+                       Fate => $INTERNAL_ONLY,
                        Perl_Extension => 1,
                        Range_Size_1 => \&output_perl_charnames_line,
                        Type => $STRING,
                        );
+        $perl_charname->set_proxy_for('Name');
 
         my $Perl_decomp = Property->new('Perl_Decomposition_Mapping',
                                         Directory => File::Spec->curdir(),
                                         File => 'Decomposition',
                                         Format => $DECOMP_STRING_FORMAT,
-                                        Internal_Only_Warning => 1,
+                                        Fate => $INTERNAL_ONLY,
                                         Perl_Extension => 1,
                                         Default_Map => $CODE_POINT,
 
@@ -9686,11 +10431,13 @@
                                         # body of the table
                                         Map_Type => $COMPUTE_NO_MULTI_CP,
                                         Type => $STRING,
+                                        To_Output_Map => $INTERNAL_MAP,
                                         );
+        $Perl_decomp->set_proxy_for('Decomposition_Mapping', 'Decomposition_Type');
         $Perl_decomp->add_comment(join_lines(<<END
 This mapping is a combination of the Unicode 'Decomposition_Type' and
 'Decomposition_Mapping' properties, formatted for use by normalize.pm.  It is
-identical to the official Unicode 'Decomposition_Mapping'  property except for
+identical to the official Unicode 'Decomposition_Mapping' property except for
 two things:
  1) It omits the algorithmically determinable Hangul syllable decompositions,
 which normalize.pm handles algorithmically.
@@ -9704,17 +10451,17 @@
         my $Decimal_Digit = Property->new("Perl_Decimal_Digit",
                                         Default_Map => "",
                                         Perl_Extension => 1,
-                                        File => 'Digit',    # Trad. location
                                         Directory => $map_directory,
                                         Type => $STRING,
-                                        Range_Size_1 => 1,
+                                        To_Output_Map => $OUTPUT_ADJUSTED,
                                         );
         $Decimal_Digit->add_comment(join_lines(<<END
 This file gives the mapping of all code points which represent a single
-decimal digit [0-9] to their respective digits.  For example, the code point
-U+0031 (an ASCII '1') is mapped to a numeric 1.  These code points are those
-that have Numeric_Type=Decimal; not special things, like subscripts nor Roman
-numerals.
+decimal digit [0-9] to their respective digits, but it has ranges of 10 code
+points, and the mapping of each non-initial element of each range is actually
+not to "0", but to the offset that element has from its corresponding DIGIT 0.
+These code points are those that have Numeric_Type=Decimal; not special
+things, like subscripts nor Roman numerals.
 END
         ));
 
@@ -9830,6 +10577,7 @@
             $file->carp_bad_line("'$fields[$NUMERIC]' should be a whole or rational number.  Processing as if it were") if $fields[$NUMERIC] !~ qr{ ^ -? \d+ ( / \d+ )? $ }x;
             if ($fields[$PERL_DECIMAL_DIGIT] ne "") {
                 $file->carp_bad_line("$fields[$PERL_DECIMAL_DIGIT] should equal $fields[$NUMERIC].  Processing anyway") if $fields[$PERL_DECIMAL_DIGIT] != $fields[$NUMERIC];
+                $file->carp_bad_line("$fields[$PERL_DECIMAL_DIGIT] should be empty since the general category ($fields[$CATEGORY]) isn't 'Nd'.  Processing as Decimal") if $fields[$CATEGORY] ne "Nd";
                 $fields[$NUMERIC_TYPE_OTHER_DIGIT] = 'Decimal';
             }
             elsif ($fields[$NUMERIC_TYPE_OTHER_DIGIT] ne "") {
@@ -9870,9 +10618,8 @@
 
             # Some code points in this file have the pseudo-name
             # '<control>', but the official name for such ones is the null
-            # string.  For charnames.pm, we use the Unicode version 1 name
-            $fields[$NAME] = "";
-            $fields[$CHARNAME] = $fields[$UNICODE_1_NAME];
+            # string.
+            $fields[$NAME] = $fields[$CHARNAME] = "";
 
             # We had better not be in between range lines.
             if ($in_range) {
@@ -10086,7 +10833,7 @@
         Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
         # Flush the buffers.
-        foreach my $i (1 .. $last_field) {
+        foreach my $i (0 .. $last_field) {
             $file->insert_adjusted_lines("$start[$i]..$previous_cp; $field_names[$i]; $previous_fields[$i]");
         }
 
@@ -10104,8 +10851,9 @@
             # into it the Hangul syllable mappings.  This is to avoid having
             # to publish a subroutine in it to compute them.  (which would
             # essentially be this code.)  This uses the algorithm published by
-            # Unicode.
-            if (property_ref('Decomposition_Mapping')->to_output_map) {
+            # Unicode.  (No hangul syllables in version 1)
+            if ($v_version ge v2.0.0
+                && property_ref('Decomposition_Mapping')->to_output_map) {
                 for (my $S = $SBase; $S < $SBase + $SCount; $S++) {
                     use integer;
                     my $SIndex = $S - $SBase;
@@ -10145,11 +10893,15 @@
         #       the syntax is changed as well as the types to their later
         #       terminology.  Otherwise normalize.pm would be very unhappy
         # 5)    Many ccc classes are different.  These are left intact.
-        # 6)    U+FF10 - U+FF19 are missing their numeric values in all three
+        # 6)    U+FF10..U+FF19 are missing their numeric values in all three
         #       fields.  These are unchanged because it doesn't really cause
         #       problems for Perl.
         # 7)    A number of code points, such as controls, don't have their
-        #       Unicode Version 1 Names in this file.  These are unchanged.
+        #       Unicode Version 1 Names in this file.  These are added.
+        # 8)    A number of Symbols were marked as Lm.  This changes those in
+        #       the Latin1 range, so that regexes work.
+        # 9)    The odd characters U+03DB .. U+03E1 weren't encoded but are
+        #       referred to by their lc equivalents.  Not fixed.
 
         my @corrected_lines = split /\n/, <<'END';
 4E00;<CJK Ideograph, First>;Lo;0;L;;;;;N;;;;;
@@ -10178,7 +10930,12 @@
 
             $file->insert_lines(@copy);
         }
+        elsif ($code_point =~ /^00/ && $fields[$CATEGORY] eq 'Lm') {
 
+            # There are no Lm characters in Latin1; these should be 'Sk', but
+            # there isn't that in V1.
+            $fields[$CATEGORY] = 'So';
+        }
 
         if ($fields[$NUMERIC] eq '-') {
             $fields[$NUMERIC] = '-1';  # This is what 2.0 made it.
@@ -10208,7 +10965,7 @@
             # If is like '<+circled> 0052 <-circled>', convert to
             # '<circled> 0052'
             $fields[$PERL_DECOMPOSITION] =~
-                            s/ < \+ ( .*? ) > \s* (.*?) \s* <-\1> /<$1> $2/x;
+                            s/ < \+ ( .*? ) > \s* (.*?) \s* <-\1> /<$1> $2/xg;
 
             # Convert '<join> HHHH HHHH <join>' to '<medial> HHHH HHHH', etc.
             $fields[$PERL_DECOMPOSITION] =~
@@ -10232,6 +10989,9 @@
 
             # One entry has weird braces
             $fields[$PERL_DECOMPOSITION] =~ s/[{}]//g;
+
+            # One entry at U+2116 has an extra <sup>
+            $fields[$PERL_DECOMPOSITION] =~ s/( < .*? > .* ) < .*? > \ * /$1/x;
         }
 
         $_ = join ';', $code_point, @fields;
@@ -10239,6 +10999,108 @@
         return;
     }
 
+    sub filter_bad_Nd_ucd {
+        # Early versions specified a value in the decimal digit field even
+        # though the code point wasn't a decimal digit.  Clear the field in
+        # that situation, so that the main code doesn't think it is a decimal
+        # digit.
+
+        my ($code_point, @fields) = split /\s*;\s*/, $_, -1;
+        if ($fields[$PERL_DECIMAL_DIGIT] ne "" && $fields[$CATEGORY] ne 'Nd') {
+            $fields[$PERL_DECIMAL_DIGIT] = "";
+            $_ = join ';', $code_point, @fields;
+        }
+        return;
+    }
+
+    my @U1_control_names = split /\n/, <<'END';
+NULL
+START OF HEADING
+START OF TEXT
+END OF TEXT
+END OF TRANSMISSION
+ENQUIRY
+ACKNOWLEDGE
+BELL
+BACKSPACE
+HORIZONTAL TABULATION
+LINE FEED
+VERTICAL TABULATION
+FORM FEED
+CARRIAGE RETURN
+SHIFT OUT
+SHIFT IN
+DATA LINK ESCAPE
+DEVICE CONTROL ONE
+DEVICE CONTROL TWO
+DEVICE CONTROL THREE
+DEVICE CONTROL FOUR
+NEGATIVE ACKNOWLEDGE
+SYNCHRONOUS IDLE
+END OF TRANSMISSION BLOCK
+CANCEL
+END OF MEDIUM
+SUBSTITUTE
+ESCAPE
+FILE SEPARATOR
+GROUP SEPARATOR
+RECORD SEPARATOR
+UNIT SEPARATOR
+DELETE
+BREAK PERMITTED HERE
+NO BREAK HERE
+INDEX
+NEXT LINE
+START OF SELECTED AREA
+END OF SELECTED AREA
+CHARACTER TABULATION SET
+CHARACTER TABULATION WITH JUSTIFICATION
+LINE TABULATION SET
+PARTIAL LINE DOWN
+PARTIAL LINE UP
+REVERSE LINE FEED
+SINGLE SHIFT TWO
+SINGLE SHIFT THREE
+DEVICE CONTROL STRING
+PRIVATE USE ONE
+PRIVATE USE TWO
+SET TRANSMIT STATE
+CANCEL CHARACTER
+MESSAGE WAITING
+START OF GUARDED AREA
+END OF GUARDED AREA
+START OF STRING
+SINGLE CHARACTER INTRODUCER
+CONTROL SEQUENCE INTRODUCER
+STRING TERMINATOR
+OPERATING SYSTEM COMMAND
+PRIVACY MESSAGE
+APPLICATION PROGRAM COMMAND
+END
+
+    sub filter_early_U1_names {
+        # Very early versions did not have the Unicode_1_name field specified.
+        # They differed in which ones were present; make sure a U1 name
+        # exists, so that Unicode::UCD::charinfo will work
+
+        my ($code_point, @fields) = split /\s*;\s*/, $_, -1;
+
+
+        # @U1_control names above are entirely positional, so we pull them out
+        # in the exact order required, with gaps for the ones that don't have
+        # names.
+        if ($code_point =~ /^00[01]/
+            || $code_point eq '007F'
+            || $code_point =~ /^008[2-9A-F]/
+            || $code_point =~ /^009[0-8A-F]/)
+        {
+            my $u1_name = shift @U1_control_names;
+            $fields[$UNICODE_1_NAME] = $u1_name unless $fields[$UNICODE_1_NAME];
+            $_ = join ';', $code_point, @fields;
+        }
+        return;
+    }
+
     sub filter_v2_1_5_ucd {
         # A dozen entries in this 2.1.5 file had the mirrored and numeric
         # columns swapped;  These all had mirrored be 'N'.  So if the numeric
@@ -10255,22 +11117,21 @@
 
     sub filter_v6_ucd {
 
-        # Unicode 6.0 co-opted the name BELL for U+1F514, so change the input
-        # to pretend that U+0007 is ALERT instead, and for Perl 5.14, don't
-        # allow the BELL name for U+1F514, so that the old usage can be
-        # deprecated for one cycle.
+        # Unicode 6.0 co-opted the name BELL for U+1F514, but until 5.17,
+        # it wasn't accepted, to allow for some deprecation cycles.  This
+        # function is not called after 5.16
 
         return if $_ !~ /^(?:0007|1F514|070F);/;
 
         my ($code_point, @fields) = split /\s*;\s*/, $_, -1;
         if ($code_point eq '0007') {
-            $fields[$CHARNAME] = "ALERT";
+            $fields[$CHARNAME] = "";
         }
         elsif ($code_point eq '070F') { # Unicode Corrigendum #8; see
                             # http://www.unicode.org/versions/corrigendum8.html
             $fields[$BIDI] = "AL";
         }
-        elsif ($^V lt v5.15.0) { # For 5.16 will convert to use Unicode's name
+        elsif ($^V lt v5.18.0) { # For 5.18 will convert to use Unicode's name
             $fields[$CHARNAME] = "";
         }
 
@@ -10392,6 +11253,7 @@
     my $lc; # Table for lowercase mapping
     my $tc;
     my $uc;
+    my %special_casing_code_points;
 
     sub setup_special_casing {
         # SpecialCasing.txt contains the non-simple case change mappings.  The
@@ -10398,7 +11260,7 @@
         # simple ones are in UnicodeData.txt, which should already have been
         # read in to the full property data structures, so as to initialize
         # these with the simple ones.  Then the SpecialCasing.txt entries
-        # overwrite the ones which have different full mappings.
+        # add or overwrite the ones which have different full mappings.
 
         # This routine sees if the simple mappings are to be output, and if
         # so, copies what has already been put into the full mapping tables,
@@ -10418,34 +11280,66 @@
         $uc = property_ref('uc');
 
         # For each of the case change mappings...
-        foreach my $case_table ($lc, $tc, $uc) {
-            my $case = $case_table->name;
-            my $full = property_ref($case);
-            unless (defined $full && ! $full->is_empty) {
+        foreach my $full_table ($lc, $tc, $uc) {
+            my $full_name = $full_table->name;
+            unless (defined $full_table && ! $full_table->is_empty) {
                 Carp::my_carp_bug("Need to process UnicodeData before SpecialCasing.  Only special casing will be generated.");
             }
 
-            # The simple version's name in each mapping merely has an 's' in
-            # front of the full one's
-            my $simple = property_ref('s' . $case);
-            $simple->initialize($full) if $simple->to_output_map();
+            # Create a table in the old-style format and with the original
+            # file name for backwards compatibility with applications that
+            # read it directly.  The new tables contain both the simple and
+            # full maps, and the old are missing simple maps when there is a
+            # conflicting full one.  Probably it would have been ok to add
+            # those to the legacy version, as was already done in 5.14 to the
+            # case folding one, but this was not done, out of an abundance of
+            # caution.  The tables are set up here before we deal with the
+            # full maps so that as we handle those, we can override the simple
+            # maps for them in the legacy table, and merely add them in the
+            # new-style one.
+            my $legacy = Property->new("Legacy_" . $full_table->full_name,
+                                        File => $full_table->full_name =~
+                                                            s/case_Mapping//r,
+                                        Range_Size_1 => 1,
+                                        Format => $HEX_FORMAT,
+                                        Default_Map => $CODE_POINT,
+                                        UCD => 0,
+                                        Initialize => $full_table,
+                                        To_Output_Map => $EXTERNAL_MAP,
+            );
 
-            my $simple_only = Property->new("_s$case",
-                    Type => $STRING,
-                    Default_Map => $CODE_POINT,
-                    Perl_Extension => 1,
-                    Description => "The simple mappings for $case for code points that have full mappings as well");
-            $simple_only->set_to_output_map($INTERNAL_MAP);
-            $simple_only->add_comment(join_lines( <<END
-This file is for UCD.pm so that it can construct simple mappings that would
-otherwise be lost because they are overridden by full mappings.
+            $full_table->add_comment(join_lines( <<END
+This file includes both the simple and full case changing maps.  The simple
+ones are in the main body of the table below, and the full ones adding to or
+overriding them are in the hash.
 END
             ));
+
+            # The simple version's name in each mapping merely has an 's' in
+            # front of the full one's
+            my $simple_name = 's' . $full_name;
+            my $simple = property_ref($simple_name);
+            $simple->initialize($full_table) if $simple->to_output_map();
         }
 
         return;
     }
 
+    sub filter_2_1_8_special_casing_line {
+
+        # This version had duplicate entries in this file.  Delete all but the
+        # first one
+        my @fields = split /\s*;\s*/, $_, -1; # -1 => retain trailing null
+                                              # fields
+        if (exists $special_casing_code_points{$fields[0]}) {
+            $_ = "";
+            return;
+        }
+
+        $special_casing_code_points{$fields[0]} = 1;
+        filter_special_casing_line(@_);
+    }
+
     sub filter_special_casing_line {
         # Change the format of $_ from SpecialCasing.txt into something that
         # the generic handler understands.  Each input line contains three
@@ -10505,28 +11399,54 @@
             return;
         }
 
-        $_ = "$fields[0]; lc; $fields[1]";
-        $file->insert_adjusted_lines("$fields[0]; tc; $fields[2]");
-        $file->insert_adjusted_lines("$fields[0]; uc; $fields[3]");
+        my $decimal_code_point = hex $fields[0];
 
-        # Copy any simple case change to the special tables constructed if
-        # being overridden by a multi-character case change.
-        if ($fields[1] ne $fields[0]
-            && (my $value = $lc->value_of(hex $fields[0])) ne $CODE_POINT)
-        {
-            $file->insert_adjusted_lines("$fields[0]; _slc; $value");
+        # Loop to handle each of the three mappings in the input line, in
+        # order, with $i indicating the current field number.
+        my $i = 0;
+        for my $object ($lc, $tc, $uc) {
+            $i++;   # First time through, $i = 0 ... 3rd time = 3
+
+            my $value = $object->value_of($decimal_code_point);
+            $value = ($value eq $CODE_POINT)
+                      ? $decimal_code_point
+                      : hex $value;
+
+            # If this isn't a multi-character mapping, it should already have
+            # been read in.
+            if ($fields[$i] !~ / /) {
+                if ($value != hex $fields[$i]) {
+                    Carp::my_carp("Bad news. UnicodeData.txt thinks "
+                                  . $object->name
+                                  . "(0x$fields[0]) is $value"
+                                  . " and SpecialCasing.txt thinks it is "
+                                  . hex($fields[$i])
+                                  . ".  Good luck.  Retaining UnicodeData value, and proceeding anyway.");
+                }
+            }
+            else {
+
+                # The mapping goes into both the legacy table, in which it
+                # replaces the simple one...
+                $file->insert_adjusted_lines("$fields[0]; Legacy_"
+                                             . $object->full_name
+                                             . "; $fields[$i]");
+
+                # ... and, the The regular table, in which it is additional,
+                # beyond the simple mapping.
+                $file->insert_adjusted_lines("$fields[0]; "
+                                             . $object->name
+                                            . "; "
+                                            . $CMD_DELIM
+                                            . "$REPLACE_CMD=$MULTIPLE_BEFORE"
+                                            . $CMD_DELIM
+                                            . $fields[$i]);
+            }
         }
-        if ($fields[2] ne $fields[0]
-            && (my $value = $tc->value_of(hex $fields[0])) ne $CODE_POINT)
-        {
-            $file->insert_adjusted_lines("$fields[0]; _stc; $value");
-        }
-        if ($fields[3] ne $fields[0]
-            && (my $value = $uc->value_of(hex $fields[0])) ne $CODE_POINT)
-        {
-            $file->insert_adjusted_lines("$fields[0]; _suc; $value");
-        }
 
+        # Everything has been handled by the insert_adjusted_lines()
+        $_ = "";
+
         return;
     }
 }
@@ -10567,6 +11487,7 @@
     # Create the map for simple only if are going to output it, for otherwise
     # it takes no part in anything we do.
     my $to_output_simple;
+    my $all_folds;
 
     sub setup_case_folding($) {
         # Read in the case foldings in CaseFolding.txt.  This handles both
@@ -10575,6 +11496,24 @@
         $to_output_simple
                         = property_ref('Simple_Case_Folding')->to_output_map;
 
+        if (! $to_output_simple) {
+            property_ref('Case_Folding')->set_proxy_for('Simple_Case_Folding');
+        }
+
+        $all_folds = $perl->add_match_table("_Perl_Any_Folds",
+                           Perl_Extension => 1,
+                           Fate => $INTERNAL_ONLY,
+                           Description => "Code points that particpate in some fold",
+                           );
+
+        # If we ever wanted to show that these tables were combined, a new
+        # property method could be created, like set_combined_props()
+        property_ref('Case_Folding')->add_comment(join_lines( <<END
+This file includes both the simple and full case folding maps.  The simple
+ones are in the main body of the table below, and the full ones adding to or
+overriding them are in the hash.
+END
+        ));
         return;
     }
 
@@ -10604,7 +11543,7 @@
             return;
         }
 
-        if ($type eq 'T') {   # Skip Turkic case folding, is locale dependent
+        if ($type =~ / ^ [IT] $/x) {   # Skip Turkic case folding, is locale dependent
             $_ = "";
             return;
         }
@@ -10617,7 +11556,21 @@
         # so that _swash_inversion_hash() is able to construct closures
         # without having to worry about F mappings.
         if ($type eq 'C' || $type eq 'F' || $type eq 'I' || $type eq 'S') {
-            $_ = "$range; Case_Folding; $CMD_DELIM$REPLACE_CMD=$MULTIPLE$CMD_DELIM$map";
+            my $from = hex $range;  # Assumes range is single
+            $all_folds->add_range($from, $from);
+            $_ = "$range; Case_Folding; "
+                 . "$CMD_DELIM$REPLACE_CMD=$MULTIPLE_BEFORE$CMD_DELIM$map";
+
+            if ($type eq 'F') {
+                my @string = split " ", $map;
+                for my $i (0 .. @string  - 1 -1) {
+                    my $decimal = hex $string[$i];
+                    $all_folds->add_range($decimal, $decimal);
+                }
+            }
+            else {
+                $all_folds->add_range(hex $map, hex $map);
+            }
         }
         else {
             $_ = "";
@@ -10790,9 +11743,7 @@
 
 { # Closure
     my %unihan_properties;
-    my $iicore;
 
-
     sub setup_unihan {
         # Do any special setup for Unihan properties.
 
@@ -10800,16 +11751,23 @@
         my $usource = property_ref('kIRG_USource');
         $usource->set_type($STRING) if defined $usource;
 
-        # This property is to be considered binary, so change all the values
-        # to Y.
-        $iicore = property_ref('kIICore');
+        # This property is to be considered binary (it says so in
+        # http://www.unicode.org/reports/tr38/)
+        my $iicore = property_ref('kIICore');
         if (defined $iicore) {
-            $iicore->add_match_table('Y') if ! defined $iicore->table('Y');
+            $iicore->set_type($FORCED_BINARY);
+            $iicore->table("Y")->add_note("Forced to a binary property as per unicode.org UAX #38.");
 
-            # We have to change the default map, because the @missing line is
-            # misleading, given that we are treating it as binary.
-            $iicore->set_default_map('N');
-            $iicore->set_type($BINARY);
+            # Unicode doesn't include the maps for this property, so don't
+            # warn that they are missing.
+            $iicore->set_pre_declared_maps(0);
+            $iicore->add_comment(join_lines( <<END
+This property contains enum values, but Unicode UAX #38 says it should be
+interpreted as binary, so Perl creates tables for both 1) its enum values,
+plus 2) true/false tables in which it is considered true for all code points
+that have a non-null value
+END
+            ));
         }
 
         return;
@@ -10844,12 +11802,6 @@
             return;
         }
 
-        # The iicore property is supposed to be a boolean, so convert to our
-        # standard boolean form.
-        if (defined $iicore && $unihan_properties{$property} == $iicore) {
-            $_ =~ s/$property.*/$property\tY/
-        }
-
         # Convert the tab separators to our standard semi-colons, and convert
         # the U+HHHH notation to the rest of the standard's HHHH
         s/\t/;/g;
@@ -10905,26 +11857,26 @@
         # PropList.txt has been in Unicode since version 2.0.  Until 3.1, it
         # was in a completely different syntax.  Ken Whistler of Unicode says
         # that it was something he used as an aid for his own purposes, but
-        # was never an official part of the standard.  However, comments in
-        # DAge.txt indicate that non-character code points were available in
-        # the UCD as of 3.1.  It is unclear to me (khw) how they could be
-        # there except through this file (but on the other hand, they first
-        # appeared there in 3.0.1), so maybe it was part of the UCD, and maybe
-        # not.  But the claim is that it was published as an aid to others who
-        # might want some more information than was given in the official UCD
-        # of the time.  Many of the properties in it were incorporated into
-        # the later PropList.txt, but some were not.  This program uses this
-        # early file to generate property tables that are otherwise not
-        # accessible in the early UCD's, and most were probably not really
-        # official at that time, so one could argue that it should be ignored,
-        # and you can easily modify things to skip this.  And there are bugs
-        # in this file in various versions.  (For example, the 2.1.9 version
-        # removes from Alphabetic the CJK range starting at 4E00, and they
-        # weren't added back in until 3.1.0.)  Many of this file's properties
-        # were later sanctioned, so this code generates tables for those
-        # properties that aren't otherwise in the UCD of the time but
-        # eventually did become official, and throws away the rest.  Here is a
-        # list of all the ones that are thrown away:
+        # was never an official part of the standard.  Many of the properties
+        # in it were incorporated into the later PropList.txt, but some were
+        # not.  This program uses this early file to generate property tables
+        # that are otherwise not accessible in the early UCD's.  It does this
+        # for the ones that eventually became official, and don't appear to be
+        # too different in their contents from the later official version, and
+        # throws away the rest.  It could be argued that the ones it generates
+        # were probably not really official at that time, so should be
+        # ignored.  You can easily modify things to skip all of them by
+        # changing this function to just set $_ to "", and return; and to skip
+        # certain of them by by simply removing their declarations from
+        # get_old_property_aliases().
+        #
+        # Here is a list of all the ones that are thrown away:
+        #   Alphabetic                   The definitions for this are very
+        #                                defective, so better to not mislead
+        #                                people into thinking it works.
+        #                                Instead the Perl extension of the
+        #                                same name is constructed from first
+        #                                principles.
         #   Bidi=*                       duplicates UnicodeData.txt
         #   Combining                    never made into official property;
         #                                is \P{ccc=0}
@@ -10957,7 +11909,7 @@
         #   Space                        different definition than eventual
         #                                one.
         #   Titlecase                    duplicates UnicodeData.txt: gc=lt
-        #   Unassigned Code Value        duplicates UnicodeData.txt: gc=cc
+        #   Unassigned Code Value        duplicates UnicodeData.txt: gc=cn
         #   Zero-width                   never made into official property;
         #                                subset of gc=cf
         # Most of the properties have the same names in this file as in later
@@ -11041,18 +11993,506 @@
     return;
 }
 
+sub setup_script_extensions {
+    # The Script_Extensions property starts out with a clone of the Script
+    # property.
+
+    my $scx = property_ref("Script_Extensions");
+    $scx = Property->new("scx", Full_Name => "Script_Extensions")
+                                                            if ! defined $scx;
+    $scx->_set_format($STRING_WHITE_SPACE_LIST);
+    $scx->initialize($script);
+    $scx->set_default_map($script->default_map);
+    $scx->set_pre_declared_maps(0);     # PropValueAliases doesn't list these
+    $scx->add_comment(join_lines( <<END
+The values for code points that appear in one script are just the same as for
+the 'Script' property.  Likewise the values for those that appear in many
+scripts are either 'Common' or 'Inherited', same as with 'Script'.  But the
+values of code points that appear in a few scripts are a space separated list
+of those scripts.
+END
+    ));
+
+    # Initialize scx's tables and the aliases for them to be the same as sc's
+    foreach my $table ($script->tables) {
+        my $scx_table = $scx->add_match_table($table->name,
+                                Full_Name => $table->full_name);
+        foreach my $alias ($table->aliases) {
+            $scx_table->add_alias($alias->name);
+        }
+    }
+}
+
+sub  filter_script_extensions_line {
+    # The Scripts file comes with the full name for the scripts; the
+    # ScriptExtensions, with the short name.  The final mapping file is a
+    # combination of these, and without adjustment, would have inconsistent
+    # entries.  This filters the latter file to convert to full names.
+    # Entries look like this:
+    # 064B..0655    ; Arab Syrc # Mn  [11] ARABIC FATHATAN..ARABIC HAMZA BELOW
+
+    my @fields = split /\s*;\s*/;
+
+    # This script was erroneously omitted in this Unicode version.
+    $fields[1] .= ' Takr' if $v_version eq v6.1.0 && $fields[0] =~ /^0964/;
+
+    my @full_names;
+    foreach my $short_name (split " ", $fields[1]) {
+        push @full_names, $script->table($short_name)->full_name;
+    }
+    $fields[1] = join " ", @full_names;
+    $_ = join "; ", @fields;
+
+    return;
+}
+
+sub generate_hst {
+
+    # Populates the Hangul Syllable Type property from first principles
+
+    my $file= shift;
+    Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+    # These few ranges are hard-coded in.
+    $file->insert_lines(split /\n/, <<'END'
+1100..1159    ; L
+115F          ; L
+1160..11A2    ; V
+11A8..11F9    ; T
+END
+);
+
+    # The Hangul syllables in version 1 are completely different than what came
+    # after, so just ignore them there.
+    if ($v_version lt v2.0.0) {
+        my $property = property_ref($file->property);
+        push @tables_that_may_be_empty, $property->table('LV')->complete_name;
+        push @tables_that_may_be_empty, $property->table('LVT')->complete_name;
+        return;
+    }
+
+    # The algorithmically derived syllables are almost all LVT ones, so
+    # initialize the whole range with that.
+    $file->insert_lines(sprintf "%04X..%04X; LVT\n",
+                        $SBase, $SBase + $SCount -1);
+
+    # Those ones that aren't LVT are LV, and they occur at intervals of
+    # $TCount code points, starting with the first code point, at $SBase.
+    for (my $i = $SBase; $i < $SBase + $SCount; $i += $TCount) {
+        $file->insert_lines(sprintf "%04X..%04X; LV\n", $i, $i);
+    }
+
+    return;
+}
+
+sub generate_GCB {
+
+    # Populates the Grapheme Cluster Break property from first principles
+
+    my $file= shift;
+    Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+    # All these definitions are from
+    # http://www.unicode.org/reports/tr29/tr29-3.html with confirmation
+    # from http://www.unicode.org/reports/tr29/tr29-4.html
+
+    foreach my $range ($gc->ranges) {
+
+        # Extend includes gc=Me and gc=Mn, while Control includes gc=Cc
+        # and gc=Cf
+        if ($range->value =~ / ^ M [en] $ /x) {
+            $file->insert_lines(sprintf "%04X..%04X; Extend",
+                                $range->start,  $range->end);
+        }
+        elsif ($range->value =~ / ^ C [cf] $ /x) {
+            $file->insert_lines(sprintf "%04X..%04X; Control",
+                                $range->start,  $range->end);
+        }
+    }
+    $file->insert_lines("2028; Control"); # Line Separator
+    $file->insert_lines("2029; Control"); # Paragraph Separator
+
+    $file->insert_lines("000D; CR");
+    $file->insert_lines("000A; LF");
+
+    # Also from http://www.unicode.org/reports/tr29/tr29-3.html.
+    foreach my $code_point ( qw{
+                                40000
+                                09BE 09D7 0B3E 0B57 0BBE 0BD7 0CC2 0CD5 0CD6
+                                0D3E 0D57 0DCF 0DDF FF9E FF9F 1D165 1D16E 1D16F
+                                }
+    ) {
+        my $category = $gc->value_of(hex $code_point);
+        next if ! defined $category || $category eq 'Cn'; # But not if
+                                                          # unassigned in this
+                                                          # release
+        $file->insert_lines("$code_point; Extend");
+    }
+
+    my $hst = property_ref('Hangul_Syllable_Type');
+    if ($hst->count > 0) {
+        foreach my $range ($hst->ranges) {
+            $file->insert_lines(sprintf "%04X..%04X; %s",
+                                    $range->start, $range->end, $range->value);
+        }
+    }
+    else {
+        generate_hst($file);
+    }
+
+    return;
+}
+
+sub setup_early_name_alias {
+    my $file= shift;
+    Carp::carp_extra_args(\@_) if main::DEBUG && @_;
+
+    # This has the effect of pretending that the Name_Alias property was
+    # available in all Unicode releases.  Strictly speaking, this property
+    # should not be availabe in early releases, but doing this allows
+    # charnames.pm to work on older releases without change.  Prior to v5.16
+    # it had these names hard-coded inside it.  Unicode 6.1 came along and
+    # created these names, and so they were removed from charnames.
+
+    my $aliases = property_ref('Name_Alias');
+    if (! defined $aliases) {
+        $aliases = Property->new('Name_Alias', Default_Map => "");
+    }
+
+    $file->insert_lines(get_old_name_aliases());
+
+    return;
+}
+
+sub get_old_name_aliases () {
+
+    # The Unicode_1_Name field, contains most of these names.  One would
+    # expect, given the field's name, that its values would be fixed across
+    # versions, giving the true Unicode version 1 name for the character.
+    # Sadly, this is not the case.  Actually Version 1.1.5 had no names for
+    # any of the controls; Version 2.0 introduced names for the C0 controls,
+    # and 3.0 introduced C1 names.  3.0.1 removed the name INDEX; and 3.2
+    # changed some names: it
+    #   changed to parenthesized versions like "NEXT LINE" to
+    #       "NEXT LINE (NEL)";
+    #   changed PARTIAL LINE DOWN to PARTIAL LINE FORWARD
+    #   changed PARTIAL LINE UP to PARTIAL LINE BACKWARD;;
+    #   changed e.g. FILE SEPARATOR to INFORMATION SEPARATOR FOUR
+    # This list contains all the names that were defined so that
+    # charnames::vianame(), etc. understand them all EVEN if this version of
+    # Unicode didn't specify them (this could be construed as a bug).
+    # mktables elsewhere gives preference to the Unicode_1_Name field over
+    # these names, so that viacode() will return the correct value for that
+    # version of Unicode, except when that version doesn't define a name,
+    # viacode() will return one anyway (this also could be construed as a
+    # bug).  But these potential "bugs" allow for the smooth working of code
+    # on earlier Unicode releases.
+
+    my @return = split /\n/, <<'END';
+0000;NULL;control
+0000;NUL;abbreviation
+0001;START OF HEADING;control
+0001;SOH;abbreviation
+0002;START OF TEXT;control
+0002;STX;abbreviation
+0003;END OF TEXT;control
+0003;ETX;abbreviation
+0004;END OF TRANSMISSION;control
+0004;EOT;abbreviation
+0005;ENQUIRY;control
+0005;ENQ;abbreviation
+0006;ACKNOWLEDGE;control
+0006;ACK;abbreviation
+0007;BELL;control
+0007;BEL;abbreviation
+0008;BACKSPACE;control
+0008;BS;abbreviation
+0009;CHARACTER TABULATION;control
+0009;HORIZONTAL TABULATION;control
+0009;HT;abbreviation
+0009;TAB;abbreviation
+000A;LINE FEED;control
+000A;LINE FEED (LF);control
+000A;NEW LINE;control
+000A;END OF LINE;control
+000A;LF;abbreviation
+000A;NL;abbreviation
+000A;EOL;abbreviation
+000B;LINE TABULATION;control
+000B;VERTICAL TABULATION;control
+000B;VT;abbreviation
+000C;FORM FEED;control
+000C;FORM FEED (FF);control
+000C;FF;abbreviation
+000D;CARRIAGE RETURN;control
+000D;CARRIAGE RETURN (CR);control
+000D;CR;abbreviation
+000E;SHIFT OUT;control
+000E;LOCKING-SHIFT ONE;control
+000E;SO;abbreviation
+000F;SHIFT IN;control
+000F;LOCKING-SHIFT ZERO;control
+000F;SI;abbreviation
+0010;DATA LINK ESCAPE;control
+0010;DLE;abbreviation
+0011;DEVICE CONTROL ONE;control
+0011;DC1;abbreviation
+0012;DEVICE CONTROL TWO;control
+0012;DC2;abbreviation
+0013;DEVICE CONTROL THREE;control
+0013;DC3;abbreviation
+0014;DEVICE CONTROL FOUR;control
+0014;DC4;abbreviation
+0015;NEGATIVE ACKNOWLEDGE;control
+0015;NAK;abbreviation
+0016;SYNCHRONOUS IDLE;control
+0016;SYN;abbreviation
+0017;END OF TRANSMISSION BLOCK;control
+0017;ETB;abbreviation
+0018;CANCEL;control
+0018;CAN;abbreviation
+0019;END OF MEDIUM;control
+0019;EOM;abbreviation
+001A;SUBSTITUTE;control
+001A;SUB;abbreviation
+001B;ESCAPE;control
+001B;ESC;abbreviation
+001C;INFORMATION SEPARATOR FOUR;control
+001C;FILE SEPARATOR;control
+001C;FS;abbreviation
+001D;INFORMATION SEPARATOR THREE;control
+001D;GROUP SEPARATOR;control
+001D;GS;abbreviation
+001E;INFORMATION SEPARATOR TWO;control
+001E;RECORD SEPARATOR;control
+001E;RS;abbreviation
+001F;INFORMATION SEPARATOR ONE;control
+001F;UNIT SEPARATOR;control
+001F;US;abbreviation
+0020;SP;abbreviation
+007F;DELETE;control
+007F;DEL;abbreviation
+0080;PADDING CHARACTER;figment
+0080;PAD;abbreviation
+0081;HIGH OCTET PRESET;figment
+0081;HOP;abbreviation
+0082;BREAK PERMITTED HERE;control
+0082;BPH;abbreviation
+0083;NO BREAK HERE;control
+0083;NBH;abbreviation
+0084;INDEX;control
+0084;IND;abbreviation
+0085;NEXT LINE;control
+0085;NEXT LINE (NEL);control
+0085;NEL;abbreviation
+0086;START OF SELECTED AREA;control
+0086;SSA;abbreviation
+0087;END OF SELECTED AREA;control
+0087;ESA;abbreviation
+0088;CHARACTER TABULATION SET;control
+0088;HORIZONTAL TABULATION SET;control
+0088;HTS;abbreviation
+0089;CHARACTER TABULATION WITH JUSTIFICATION;control
+0089;HORIZONTAL TABULATION WITH JUSTIFICATION;control
+0089;HTJ;abbreviation
+008A;LINE TABULATION SET;control
+008A;VERTICAL TABULATION SET;control
+008A;VTS;abbreviation
+008B;PARTIAL LINE FORWARD;control
+008B;PARTIAL LINE DOWN;control
+008B;PLD;abbreviation
+008C;PARTIAL LINE BACKWARD;control
+008C;PARTIAL LINE UP;control
+008C;PLU;abbreviation
+008D;REVERSE LINE FEED;control
+008D;REVERSE INDEX;control
+008D;RI;abbreviation
+008E;SINGLE SHIFT TWO;control
+008E;SINGLE-SHIFT-2;control
+008E;SS2;abbreviation
+008F;SINGLE SHIFT THREE;control
+008F;SINGLE-SHIFT-3;control
+008F;SS3;abbreviation
+0090;DEVICE CONTROL STRING;control
+0090;DCS;abbreviation
+0091;PRIVATE USE ONE;control
+0091;PRIVATE USE-1;control
+0091;PU1;abbreviation
+0092;PRIVATE USE TWO;control
+0092;PRIVATE USE-2;control
+0092;PU2;abbreviation
+0093;SET TRANSMIT STATE;control
+0093;STS;abbreviation
+0094;CANCEL CHARACTER;control
+0094;CCH;abbreviation
+0095;MESSAGE WAITING;control
+0095;MW;abbreviation
+0096;START OF GUARDED AREA;control
+0096;START OF PROTECTED AREA;control
+0096;SPA;abbreviation
+0097;END OF GUARDED AREA;control
+0097;END OF PROTECTED AREA;control
+0097;EPA;abbreviation
+0098;START OF STRING;control
+0098;SOS;abbreviation
+0099;SINGLE GRAPHIC CHARACTER INTRODUCER;figment
+0099;SGC;abbreviation
+009A;SINGLE CHARACTER INTRODUCER;control
+009A;SCI;abbreviation
+009B;CONTROL SEQUENCE INTRODUCER;control
+009B;CSI;abbreviation
+009C;STRING TERMINATOR;control
+009C;ST;abbreviation
+009D;OPERATING SYSTEM COMMAND;control
+009D;OSC;abbreviation
+009E;PRIVACY MESSAGE;control
+009E;PM;abbreviation
+009F;APPLICATION PROGRAM COMMAND;control
+009F;APC;abbreviation
+00A0;NBSP;abbreviation
+00AD;SHY;abbreviation
+200B;ZWSP;abbreviation
+200C;ZWNJ;abbreviation
+200D;ZWJ;abbreviation
+200E;LRM;abbreviation
+200F;RLM;abbreviation
+202A;LRE;abbreviation
+202B;RLE;abbreviation
+202C;PDF;abbreviation
+202D;LRO;abbreviation
+202E;RLO;abbreviation
+FEFF;BYTE ORDER MARK;alternate
+FEFF;BOM;abbreviation
+FEFF;ZWNBSP;abbreviation
+END
+
+    if ($v_version ge v3.0.0) {
+        push @return, split /\n/, <<'END';
+180B; FVS1; abbreviation
+180C; FVS2; abbreviation
+180D; FVS3; abbreviation
+180E; MVS; abbreviation
+202F; NNBSP; abbreviation
+END
+    }
+
+    if ($v_version ge v3.2.0) {
+        push @return, split /\n/, <<'END';
+034F; CGJ; abbreviation
+205F; MMSP; abbreviation
+2060; WJ; abbreviation
+END
+        # Add in VS1..VS16
+        my $cp = 0xFE00 - 1;
+        for my $i (1..16) {
+            push @return, sprintf("%04X; VS%d; abbreviation", $cp + $i, $i);
+        }
+    }
+    if ($v_version ge v4.0.0) { # Add in VS17..VS256
+        my $cp = 0xE0100 - 17;
+        for my $i (17..256) {
+            push @return, sprintf("%04X; VS%d; abbreviation", $cp + $i, $i);
+        }
+    }
+
+    # ALERT did not come along until 6.0, at which point it became preferred
+    # over BELL, and was never in the Unicode_1_Name field.  For the same
+    # reasons, that the other names are made known to all releases by this
+    # function, we make ALERT known too.  By inserting it
+    # last in early releases, BELL is preferred over it; and vice-vers in 6.0
+    my $alert = '0007; ALERT; control';
+    if ($v_version lt v6.0.0) {
+        push @return, $alert;
+    }
+    else {
+        unshift @return, $alert;
+    }
+
+    return @return;
+}
+
+sub filter_later_version_name_alias_line {
+
+    # This file has an extra entry per line for the alias type.  This is
+    # handled by creating a compound entry: "$alias: $type";  First, split
+    # the line into components.
+    my ($range, $alias, $type, @remainder)
+        = split /\s*;\s*/, $_, -1; # -1 => retain trailing null fields
+
+    # This file contains multiple entries for some components, so tell the
+    # downstream code to allow this in our internal tables; the
+    # $MULTIPLE_AFTER preserves the input ordering.
+    $_ = join ";", $range, $CMD_DELIM
+                           . $REPLACE_CMD
+                           . '='
+                           . $MULTIPLE_AFTER
+                           . $CMD_DELIM
+                           . "$alias: $type",
+                   @remainder;
+    return;
+}
+
+sub filter_early_version_name_alias_line {
+
+    # Early versions did not have the trailing alias type field; implicitly it
+    # was 'correction'.   But our synthetic lines we add in this program do
+    # have it, so test for the type field.
+    $_ .= "; correction" if $_ !~ /;.*;/;
+
+    filter_later_version_name_alias_line;
+    return;
+}
+
 sub finish_Unicode() {
     # This routine should be called after all the Unicode files have been read
     # in.  It:
-    # 1) Adds the mappings for code points missing from the files which have
+    # 1) Creates properties that are missing from the version of Unicode being
+    #    compiled, and which, for whatever reason, are needed for the Perl
+    #    core to function properly.  These are minimally populated as
+    #    necessary.
+    # 2) Adds the mappings for code points missing from the files which have
     #    defaults specified for them.
-    # 2) At this this point all mappings are known, so it computes the type of
+    # 3) At this this point all mappings are known, so it computes the type of
     #    each property whose type hasn't been determined yet.
-    # 3) Calculates all the regular expression match tables based on the
+    # 4) Calculates all the regular expression match tables based on the
     #    mappings.
-    # 3) Calculates and adds the tables which are defined by Unicode, but
-    #    which aren't derived by them
+    # 5) Calculates and adds the tables which are defined by Unicode, but
+    #    which aren't derived by them, and certain derived tables that Perl
+    #    uses.
 
+    # Folding information was introduced later into Unicode data.  To get
+    # Perl's case ignore (/i) to work at all in releases that don't have
+    # folding, use the best available alternative, which is lower casing.
+    my $fold = property_ref('Case_Folding');
+    if ($fold->is_empty) {
+        $fold->initialize(property_ref('Lowercase_Mapping'));
+        $fold->add_note(join_lines(<<END
+WARNING: This table uses lower case as a substitute for missing fold
+information
+END
+        ));
+    }
+
+    # Multiple-character mapping was introduced later into Unicode data, so it
+    # is by default the simple version.  If to output the simple versions and
+    # not present, just use the regular (which in these Unicode versions is
+    # the simple as well).
+    foreach my $map (qw {   Uppercase_Mapping
+                            Lowercase_Mapping
+                            Titlecase_Mapping
+                            Case_Folding
+                        } )
+    {
+        my $simple = property_ref("Simple_$map");
+        next if ! $simple->is_empty;
+        if ($simple->to_output_map) {
+            $simple->initialize(property_ref($map));
+        }
+        else {
+            property_ref($map)->set_proxy_for($simple->name);
+        }
+    }
+
     # For each property, fill in any missing mappings, and calculate the re
     # match tables.  If a property has more than one missing mapping, the
     # default is a reference to a data structure, and requires data from other
@@ -11067,6 +12507,10 @@
         # need to be finished up.
         next if $property == $perl;
 
+        # Nor do we need to do anything with properties that aren't going to
+        # be output.
+        next if $property->fate == $SUPPRESSED;
+
         # Handle the properties that have more than one possible default
         if (ref $property->default_map) {
             my $default_map = $property->default_map;
@@ -11128,64 +12572,92 @@
 
         # Add any remaining code points to the mapping, using the default for
         # missing code points.
+        my $default_table;
         if (defined (my $default_map = $property->default_map)) {
 
-            # This fills in any missing values with the default.
-            $property->add_map(0, $LAST_UNICODE_CODEPOINT,
-                               $default_map, Replace => $NO);
-
             # Make sure there is a match table for the default
-            if (! defined $property->table($default_map)) {
-                $property->add_match_table($default_map);
+            if (! defined ($default_table = $property->table($default_map))) {
+                $default_table = $property->add_match_table($default_map);
             }
+
+            # And, if the property is binary, the default table will just
+            # be the complement of the other table.
+            if ($property_type == $BINARY) {
+                my $non_default_table;
+
+                # Find the non-default table.
+                for my $table ($property->tables) {
+                    next if $table == $default_table;
+                    $non_default_table = $table;
+                }
+                $default_table->set_complement($non_default_table);
+            }
+            else {
+
+                # This fills in any missing values with the default.  It's not
+                # necessary to do this with binary properties, as the default
+                # is defined completely in terms of the Y table.
+                $property->add_map(0, $MAX_UNICODE_CODEPOINT,
+                                   $default_map, Replace => $NO);
+            }
         }
 
         # Have all we need to populate the match tables.
         my $property_name = $property->name;
+        my $maps_should_be_defined = $property->pre_declared_maps;
         foreach my $range ($property->ranges) {
             my $map = $range->value;
-            my $table = property_ref($property_name)->table($map);
+            my $table = $property->table($map);
             if (! defined $table) {
 
                 # Integral and rational property values are not necessarily
-                # defined in PropValueAliases, but all other ones should be,
-                # starting in 5.1
-                if ($v_version ge v5.1.0
+                # defined in PropValueAliases, but whether all the other ones
+                # should be depends on the property.
+                if ($maps_should_be_defined
                     && $map !~ /^ -? \d+ ( \/ \d+ )? $/x)
                 {
                     Carp::my_carp("Table '$property_name=$map' should have been defined.  Defining it now.")
                 }
-                $table = property_ref($property_name)->add_match_table($map);
+                $table = $property->add_match_table($map);
             }
 
+            next if $table->complement != 0;    # Don't need to populate these
             $table->add_range($range->start, $range->end);
         }
 
-        # And add the Is_ prefix synonyms for Perl 5.6 compatibility, in which
-        # all properties have this optional prefix.  These do not get a
-        # separate entry in the pod file, because are covered by a wild-card
-        # entry
+        # A forced binary property has additional true/false tables which
+        # should have been set up when it was forced into binary.  The false
+        # table matches exactly the same set as the property's default table.
+        # The true table matches the complement of that.  The false table is
+        # not the same as an additional set of aliases on top of the default
+        # table, so use 'set_equivalent_to'.  If it were implemented as
+        # additional aliases, various things would have to be adjusted, but
+        # especially, if the user wants to get a list of names for the table
+        # using Unicode::UCD::prop_value_aliases(), s/he should get a
+        # different set depending on whether they want the default table or
+        # the false table.
+        if ($property_type == $FORCED_BINARY) {
+            $property->table('N')->set_equivalent_to($default_table,
+                                                     Related => 1);
+            $property->table('Y')->set_complement($default_table);
+        }
+
+        # For Perl 5.6 compatibility, all properties matchable in regexes can
+        # have an optional 'Is_' prefix.  This is now done in utf8_heavy.pl.
+        # But warn if this creates a conflict with a (new) Unicode property
+        # name, although it appears that Unicode has made a decision never to
+        # begin a property name with 'Is_', so this shouldn't happen.
         foreach my $alias ($property->aliases) {
             my $Is_name = 'Is_' . $alias->name;
-            if (! defined (my $pre_existing = property_ref($Is_name))) {
-                $property->add_alias($Is_name,
-                                     Pod_Entry => 0,
-                                     Status => $alias->status,
-                                     Externally_Ok => 0);
-            }
-            else {
-
-                # It seemed too much work to add in these warnings when it
-                # appears that Unicode has made a decision never to begin a
-                # property name with 'Is_', so this shouldn't happen, but just
-                # in case, it is a warning.
+            if (defined (my $pre_existing = property_ref($Is_name))) {
                 Carp::my_carp(<<END
-There is already an alias named $Is_name (from " . $pre_existing . "), so not
-creating this alias for $property.  The generated table and pod files do not
-warn users of this conflict.
+There is already an alias named $Is_name (from " . $pre_existing . "), so
+creating one for $property won't work.  This is bad news.  If it is not too
+late, get Unicode to back off.  Otherwise go back to the old scheme (findable
+from the git blame log for this area of the code that suppressed individual
+aliases that conflict with the new Unicode names.  Proceeding anyway.
 END
                 );
-                $has_Is_conflicts++;
             }
         } # End of loop through aliases for this property
     } # End of loop through all Unicode properties.
@@ -11237,42 +12709,96 @@
 
     my $Cs = $gc->table('Cs');
 
-
-    # Folding information was introduced later into Unicode data.  To get
-    # Perl's case ignore (/i) to work at all in releases that don't have
-    # folding, use the best available alternative, which is lower casing.
-    my $fold = property_ref('Simple_Case_Folding');
-    if ($fold->is_empty) {
-        $fold->initialize(property_ref('Simple_Lowercase_Mapping'));
-        $fold->add_note(join_lines(<<END
-WARNING: This table uses lower case as a substitute for missing fold
-information
+    # Create digit and case fold tables with the original file names for
+    # backwards compatibility with applications that read them directly.
+    my $Digit = Property->new("Legacy_Perl_Decimal_Digit",
+                              Default_Map => "",
+                              Perl_Extension => 1,
+                              File => 'Digit',    # Trad. location
+                              Directory => $map_directory,
+                              UCD => 0,
+                              Type => $STRING,
+                              To_Output_Map => $EXTERNAL_MAP,
+                              Range_Size_1 => 1,
+                              Initialize => property_ref('Perl_Decimal_Digit'),
+                            );
+    $Digit->add_comment(join_lines(<<END
+This file gives the mapping of all code points which represent a single
+decimal digit [0-9] to their respective digits.  For example, the code point
+U+0031 (an ASCII '1') is mapped to a numeric 1.  These code points are those
+that have Numeric_Type=Decimal; not special things, like subscripts nor Roman
+numerals.
 END
-        ));
-    }
+    ));
 
-    # Multiple-character mapping was introduced later into Unicode data.  If
-    # missing, use the single-characters maps as best available alternative
-    foreach my $map (qw {   Uppercase_Mapping
-                            Lowercase_Mapping
-                            Titlecase_Mapping
-                            Case_Folding
-                        } ) {
-        my $full = property_ref($map);
-        if ($full->is_empty) {
-            my $simple = property_ref('Simple_' . $map);
-            $full->initialize($simple);
-            $full->add_comment($simple->comment) if ($simple->comment);
-            $full->add_note(join_lines(<<END
-WARNING: This table uses simple mapping (single-character only) as a
-substitute for missing multiple-character information
-END
-            ));
+    Property->new('Legacy_Case_Folding',
+                    File => "Fold",
+                    Directory => $map_directory,
+                    Default_Map => $CODE_POINT,
+                    UCD => 0,
+                    Range_Size_1 => 1,
+                    Type => $STRING,
+                    To_Output_Map => $EXTERNAL_MAP,
+                    Format => $HEX_FORMAT,
+                    Initialize => property_ref('cf'),
+    );
+
+    # The Script_Extensions property started out as a clone of the Script
+    # property.  But processing its data file caused some elements to be
+    # replaced with different data.  (These elements were for the Common and
+    # Inherited properties.)  This data is a qw() list of all the scripts that
+    # the code points in the given range are in.  An example line is:
+    # 060C          ; Arab Syrc Thaa # Po       ARABIC COMMA
+    #
+    # The code above has created a new match table named "Arab Syrc Thaa"
+    # which contains 060C.  (The cloned table started out with this code point
+    # mapping to "Common".)  Now we add 060C to each of the Arab, Syrc, and
+    # Thaa match tables.  Then we delete the now spurious "Arab Syrc Thaa"
+    # match table.  This is repeated for all these tables and ranges.  The map
+    # data is retained in the map table for reference, but the spurious match
+    # tables are deleted.
+
+    my $scx = property_ref("Script_Extensions");
+    if (defined $scx) {
+        foreach my $table ($scx->tables) {
+            next unless $table->name =~ /\s/;   # All the new and only the new
+                                                # tables have a space in their
+                                                # names
+            my @scripts = split /\s+/, $table->name;
+            foreach my $script (@scripts) {
+                my $script_table = $scx->table($script);
+                $script_table += $table;
+            }
+            $scx->delete_match_table($table);
         }
     }
-    return
+
+    return;
 }
 
+sub pre_3_dot_1_Nl () {
+
+    # Return a range list for gc=nl for Unicode versions prior to 3.1, which
+    # is when Unicode's became fully usable.  These code points were
+    # determined by inspection and experimentation.  gc=nl is important for
+    # certain Perl-extension properties that should be available in all
+    # releases.
+
+    my $Nl = Range_List->new();
+    if (defined (my $official = $gc->table('Nl'))) {
+        $Nl += $official;
+    }
+    else {
+        $Nl->add_range(0x2160, 0x2182);
+        $Nl->add_range(0x3007, 0x3007);
+        $Nl->add_range(0x3021, 0x3029);
+    }
+    $Nl->add_range(0xFE20, 0xFE23);
+    $Nl->add_range(0x16EE, 0x16F0) if $v_version ge v3.0.0; # 3.0 was when
+                                                            # these were added
+    return $Nl;
+}
+
 sub compile_perl() {
     # Create perl-defined tables.  Almost all are part of the pseudo-property
     # named 'perl' internally to this program.  Many of these are recommended
@@ -11288,8 +12814,8 @@
 
     # 'Any' is all code points.  As an error check, instead of just setting it
     # to be that, construct it to be the union of all the major categories
-    my $Any = $perl->add_match_table('Any',
-            Description  => "[\\x{0000}-\\x{$LAST_UNICODE_CODEPOINT_STRING}]",
+    $Any = $perl->add_match_table('Any',
+            Description  => "[\\x{0000}-\\x{$MAX_UNICODE_CODEPOINT_STRING}]",
             Matches_All => 1);
 
     foreach my $major_table ($gc->tables) {
@@ -11300,10 +12826,10 @@
         $Any += $major_table;
     }
 
-    if ($Any->max != $LAST_UNICODE_CODEPOINT) {
+    if ($Any->max != $MAX_UNICODE_CODEPOINT) {
         Carp::my_carp_bug("Generated highest code point ("
            . sprintf("%X", $Any->max)
-           . ") doesn't match expected value $LAST_UNICODE_CODEPOINT_STRING.")
+           . ") doesn't match expected value $MAX_UNICODE_CODEPOINT_STRING.")
     }
     if ($Any->range_count != 1 || $Any->min != 0) {
      Carp::my_carp_bug("Generated table 'Any' doesn't match all code points.")
@@ -11318,8 +12844,9 @@
                                 );
 
     # Our internal-only property should be treated as more than just a
-    # synonym.
-    $perl->add_match_table('_CombAbove')
+    # synonym; grandfather it in to the pod.
+    $perl->add_match_table('_CombAbove', Re_Pod_Entry => 1,
+                            Fate => $INTERNAL_ONLY, Status => $DISCOURAGED)
             ->set_equivalent_to(property_ref('ccc')->table('Above'),
                                                                 Related => 1);
 
@@ -11334,24 +12861,50 @@
     # Very early releases didn't have blocks, so initialize ASCII ourselves if
     # necessary
     if ($ASCII->is_empty) {
-        $ASCII->initialize([ 0..127 ]);
+        $ASCII->add_range(0, 127);
     }
 
     # Get the best available case definitions.  Early Unicode versions didn't
     # have Uppercase and Lowercase defined, so use the general category
-    # instead for them.
+    # instead for them, modified by hard-coding in the code points each is
+    # missing.
     my $Lower = $perl->add_match_table('Lower');
     my $Unicode_Lower = property_ref('Lowercase');
     if (defined $Unicode_Lower && ! $Unicode_Lower->is_empty) {
         $Lower->set_equivalent_to($Unicode_Lower->table('Y'), Related => 1);
-        $Unicode_Lower->table('Y')->set_caseless_equivalent(property_ref('Cased')->table('Y'));
-        $Unicode_Lower->table('N')->set_caseless_equivalent(property_ref('Cased')->table('N'));
-        $Lower->set_caseless_equivalent(property_ref('Cased')->table('Y'));
 
     }
     else {
-        $Lower->set_equivalent_to($gc->table('Lowercase_Letter'),
-                                                                Related => 1);
+        $Lower += $gc->table('Lowercase_Letter');
+
+        # There are quite a few code points in Lower, that aren't in gc=lc,
+        # and not all are in all releases.
+        foreach my $code_point (    0x00AA,
+                                    0x00BA,
+                                    0x02B0 .. 0x02B8,
+                                    0x02C0 .. 0x02C1,
+                                    0x02E0 .. 0x02E4,
+                                    0x0345,
+                                    0x037A,
+                                    0x1D2C .. 0x1D6A,
+                                    0x1D78,
+                                    0x1D9B .. 0x1DBF,
+                                    0x2071,
+                                    0x207F,
+                                    0x2090 .. 0x209C,
+                                    0x2170 .. 0x217F,
+                                    0x24D0 .. 0x24E9,
+                                    0x2C7C .. 0x2C7D,
+                                    0xA770,
+                                    0xA7F8 .. 0xA7F9,
+        ) {
+            # Don't include the code point unless it is assigned in this
+            # release
+            my $category = $gc->value_of(hex $code_point);
+            next if ! defined $category || $category eq 'Cn';
+
+            $Lower += $code_point;
+        }
     }
     $Lower->add_alias('XPosixLower');
     my $Posix_Lower = $perl->add_match_table("PosixLower",
@@ -11363,13 +12916,14 @@
     my $Unicode_Upper = property_ref('Uppercase');
     if (defined $Unicode_Upper && ! $Unicode_Upper->is_empty) {
         $Upper->set_equivalent_to($Unicode_Upper->table('Y'), Related => 1);
-        $Unicode_Upper->table('Y')->set_caseless_equivalent(property_ref('Cased')->table('Y'));
-        $Unicode_Upper->table('N')->set_caseless_equivalent(property_ref('Cased')->table('N'));
-        $Upper->set_caseless_equivalent(property_ref('Cased')->table('Y'));
     }
     else {
-        $Upper->set_equivalent_to($gc->table('Uppercase_Letter'),
-                                                                Related => 1);
+
+        # Unlike Lower, there are only two ranges in Upper that aren't in
+        # gc=Lu, and all code points were assigned in all releases.
+        $Upper += $gc->table('Uppercase_Letter');
+        $Upper->add_range(0x2160, 0x216F);  # Uppercase Roman numerals
+        $Upper->add_range(0x24B6, 0x24CF);  # Circled Latin upper case letters
     }
     $Upper->add_alias('XPosixUpper');
     my $Posix_Upper = $perl->add_match_table("PosixUpper",
@@ -11379,28 +12933,64 @@
 
     # Earliest releases didn't have title case.  Initialize it to empty if not
     # otherwise present
-    my $Title = $perl->add_match_table('Title');
-    $Title->add_alias('Titlecase');
+    my $Title = $perl->add_match_table('Title', Full_Name => 'Titlecase',
+                                       Description => '(= \p{Gc=Lt})');
     my $lt = $gc->table('Lt');
 
     # Earlier versions of mktables had this related to $lt since they have
-    # identical code points, but their casefolds are not equivalent, and so
-    # now must be kept as separate entities.
-    $Title += $lt if defined $lt;
+    # identical code points, but their caseless equivalents are not the same,
+    # one being 'Cased' and the other being 'LC', and so now must be kept as
+    # separate entities.
+    if (defined $lt) {
+        $Title += $lt;
+    }
+    else {
+        push @tables_that_may_be_empty, $Title->complete_name;
+    }
 
-    # If this Unicode version doesn't have Cased, set up our own.  From
-    # Unicode 5.1: Definition D120: A character C is defined to be cased if
-    # and only if C has the Lowercase or Uppercase property or has a
-    # General_Category value of Titlecase_Letter.
     my $Unicode_Cased = property_ref('Cased');
-    unless (defined $Unicode_Cased) {
+    if (defined $Unicode_Cased) {
+        my $yes = $Unicode_Cased->table('Y');
+        my $no = $Unicode_Cased->table('N');
+        $Title->set_caseless_equivalent($yes);
+        if (defined $Unicode_Upper) {
+            $Unicode_Upper->table('Y')->set_caseless_equivalent($yes);
+            $Unicode_Upper->table('N')->set_caseless_equivalent($no);
+        }
+        $Upper->set_caseless_equivalent($yes);
+        if (defined $Unicode_Lower) {
+            $Unicode_Lower->table('Y')->set_caseless_equivalent($yes);
+            $Unicode_Lower->table('N')->set_caseless_equivalent($no);
+        }
+        $Lower->set_caseless_equivalent($yes);
+    }
+    else {
+        # If this Unicode version doesn't have Cased, set up the Perl
+        # extension from first principles.  From Unicode 5.1: Definition D120:
+        # A character C is defined to be cased if and only if C has the
+        # Lowercase or Uppercase property or has a General_Category value of
+        # Titlecase_Letter.
         my $cased = $perl->add_match_table('Cased',
                         Initialize => $Lower + $Upper + $Title,
                         Description => 'Uppercase or Lowercase or Titlecase',
                         );
-        $Unicode_Cased = $cased;
+        # $notcased is purely for the caseless equivalents below
+        my $notcased = $perl->add_match_table('_Not_Cased',
+                                Initialize => ~ $cased,
+                                Fate => $INTERNAL_ONLY,
+                                Description => 'All not-cased code points');
+        $Title->set_caseless_equivalent($cased);
+        if (defined $Unicode_Upper) {
+            $Unicode_Upper->table('Y')->set_caseless_equivalent($cased);
+            $Unicode_Upper->table('N')->set_caseless_equivalent($notcased);
+        }
+        $Upper->set_caseless_equivalent($cased);
+        if (defined $Unicode_Lower) {
+            $Unicode_Lower->table('Y')->set_caseless_equivalent($cased);
+            $Unicode_Lower->table('N')->set_caseless_equivalent($notcased);
+        }
+        $Lower->set_caseless_equivalent($cased);
     }
-    $Title->set_caseless_equivalent($Unicode_Cased->table('Y'));
 
     # Similarly, set up our own Case_Ignorable property if this Unicode
     # version doesn't have it.  From Unicode 5.1: Definition D121: A character
@@ -11409,8 +12999,12 @@
     # one of Nonspacing_Mark (Mn), Enclosing_Mark (Me), Format (Cf),
     # Modifier_Letter (Lm), or Modifier_Symbol (Sk).
 
-    # Perl has long had an internal-only alias for this property.
-    my $perl_case_ignorable = $perl->add_match_table('_Case_Ignorable');
+    # Perl has long had an internal-only alias for this property; grandfather
+    # it in to the pod, but discourage its use.
+    my $perl_case_ignorable = $perl->add_match_table('_Case_Ignorable',
+                                                     Re_Pod_Entry => 1,
+                                                     Fate => $INTERNAL_ONLY,
+                                                     Status => $DISCOURAGED);
     my $case_ignorable = property_ref('Case_Ignorable');
     if (defined $case_ignorable && ! $case_ignorable->is_empty) {
         $perl_case_ignorable->set_equivalent_to($case_ignorable->table('Y'),
@@ -11461,16 +13055,83 @@
     }
     else {
 
-        # For early releases, we don't get it exactly right.  The below
-        # includes more than it should, which in 5.2 terms is: L + Nl +
-        # Other_Alphabetic.  Other_Alphabetic contains many characters from
-        # Mn and Mc.  It's better to match more than we should, than less than
-        # we should.
+        # The Alphabetic property doesn't exist for early releases, so
+        # generate it.  The actual definition, in 5.2 terms is:
+        #
+        # gc=L + gc=Nl + Other_Alphabetic
+        #
+        # Other_Alphabetic is also not defined in these early releases, but it
+        # contains one gc=So range plus most of gc=Mn and gc=Mc, so we add
+        # those last two as well, then subtract the relatively few of them that
+        # shouldn't have been added.  (The gc=So range is the circled capital
+        # Latin characters.  Early releases mistakenly didn't also include the
+        # lower-case versions of these characters, and so we don't either, to
+        # maintain consistency with those releases that first had this
+        # property.
         $Alpha->initialize($gc->table('Letter')
-                            + $gc->table('Mn')
-                            + $gc->table('Mc'));
-        $Alpha += $gc->table('Nl') if defined $gc->table('Nl');
+                           + pre_3_dot_1_Nl()
+                           + $gc->table('Mn')
+                           + $gc->table('Mc')
+                        );
+        $Alpha->add_range(0x24D0, 0x24E9);  # gc=So
+        foreach my $range (     [ 0x0300, 0x0344 ],
+                                [ 0x0346, 0x034E ],
+                                [ 0x0360, 0x0362 ],
+                                [ 0x0483, 0x0486 ],
+                                [ 0x0591, 0x05AF ],
+                                [ 0x06DF, 0x06E0 ],
+                                [ 0x06EA, 0x06EC ],
+                                [ 0x0740, 0x074A ],
+                                0x093C,
+                                0x094D,
+                                [ 0x0951, 0x0954 ],
+                                0x09BC,
+                                0x09CD,
+                                0x0A3C,
+                                0x0A4D,
+                                0x0ABC,
+                                0x0ACD,
+                                0x0B3C,
+                                0x0B4D,
+                                0x0BCD,
+                                0x0C4D,
+                                0x0CCD,
+                                0x0D4D,
+                                0x0DCA,
+                                [ 0x0E47, 0x0E4C ],
+                                0x0E4E,
+                                [ 0x0EC8, 0x0ECC ],
+                                [ 0x0F18, 0x0F19 ],
+                                0x0F35,
+                                0x0F37,
+                                0x0F39,
+                                [ 0x0F3E, 0x0F3F ],
+                                [ 0x0F82, 0x0F84 ],
+                                [ 0x0F86, 0x0F87 ],
+                                0x0FC6,
+                                0x1037,
+                                0x1039,
+                                [ 0x17C9, 0x17D3 ],
+                                [ 0x20D0, 0x20DC ],
+                                0x20E1,
+                                [ 0x302A, 0x302F ],
+                                [ 0x3099, 0x309A ],
+                                [ 0xFE20, 0xFE23 ],
+                                [ 0x1D165, 0x1D169 ],
+                                [ 0x1D16D, 0x1D172 ],
+                                [ 0x1D17B, 0x1D182 ],
+                                [ 0x1D185, 0x1D18B ],
+                                [ 0x1D1AA, 0x1D1AD ],
+        ) {
+            if (ref $range) {
+                $Alpha->delete_range($range->[0], $range->[1]);
+            }
+            else {
+                $Alpha->delete_range($range, $range);
+            }
+        }
         $Alpha->add_description('Alphabetic');
+        $Alpha->add_alias('Alphabetic');
     }
     $Alpha->add_alias('XPosixAlpha');
     my $Posix_Alpha = $perl->add_match_table("PosixAlpha",
@@ -11481,7 +13142,7 @@
     $Posix_Lower->set_caseless_equivalent($Posix_Alpha);
 
     my $Alnum = $perl->add_match_table('Alnum',
-                        Description => 'Alphabetic and (Decimal) Numeric',
+                        Description => 'Alphabetic and (decimal) Numeric',
                         Initialize => $Alpha + $gc->table('Decimal_Number'),
                         );
     $Alnum->add_alias('XPosixAlnum');
@@ -11497,7 +13158,19 @@
                                 );
     $Word->add_alias('XPosixWord');
     my $Pc = $gc->table('Connector_Punctuation'); # 'Pc' Not in release 1
-    $Word += $Pc if defined $Pc;
+    if (defined $Pc) {
+        $Word += $Pc;
+    }
+    else {
+        $Word += ord('_');  # Make sure this is a $Word
+    }
+    my $JC = property_ref('Join_Control');  # Wasn't in release 1
+    if (defined $JC) {
+        $Word += $JC->table('Y');
+    }
+    else {
+        $Word += 0x200C + 0x200D;
+    }
 
     # This is a Perl extension, so the name doesn't begin with Posix.
     my $PerlWord = $perl->add_match_table('PerlWord',
@@ -11536,24 +13209,25 @@
     # No Posix equivalent for vertical space
 
     my $Space = $perl->add_match_table('Space',
-                Description => '\s including beyond ASCII plus vertical tab',
+                Description => '\s including beyond ASCII and vertical tab',
                 Initialize => $Blank + $VertSpace,
     );
     $Space->add_alias('XPosixSpace');
-    $perl->add_match_table("PosixSpace",
+    my $posix_space = $perl->add_match_table("PosixSpace",
                             Description => "\\t, \\n, \\cK, \\f, \\r, and ' '.  (\\cK is vertical tab)",
                             Initialize => $Space & $ASCII,
                             );
 
-    # Perl's traditional space doesn't include Vertical Tab
+    # Perl's traditional space doesn't include Vertical Tab prior to v5.18
     my $XPerlSpace = $perl->add_match_table('XPerlSpace',
                                   Description => '\s, including beyond ASCII',
-                                  Initialize => $Space - 0x000B,
+                                  #Initialize => $Space - 0x000B,
+                                  Initialize => $Space,
                                 );
     $XPerlSpace->add_alias('SpacePerl');    # A pre-existing synonym
     my $PerlSpace = $perl->add_match_table('PerlSpace',
-                            Description => '\s, restricted to ASCII',
-                            Initialize => $XPerlSpace & $ASCII,
+                        Description => '\s, restricted to ASCII = [ \f\n\r\t] plus vertical tab',
+                        Initialize => $XPerlSpace & $ASCII,
                             );
 
 
@@ -11603,8 +13277,9 @@
                     Description => '\p{Punct} + ASCII-range \p{Symbol}',
                     Initialize => $gc->table('Punctuation')
                                 + ($ASCII & $gc->table('Symbol')),
+                                Perl_Extension => 1
         );
-    $perl->add_match_table('PosixPunct',
+    $perl->add_match_table('PosixPunct', Perl_Extension => 1,
         Description => '[-!"#$%&\'()*+,./:;<>?@[\\\]^_`{|}~]',
         Initialize => $ASCII & $XPosixPunct,
         );
@@ -11632,11 +13307,20 @@
                               0xFF10..0xFF19, 0xFF21..0xFF26, 0xFF41..0xFF46]);
         $Xdigit->add_description('[0-9A-Fa-f] and corresponding fullwidth versions, like U+FF10: FULLWIDTH DIGIT ZERO');
     }
-    $perl->add_match_table('PosixXDigit',
-                            Initialize => $ASCII & $Xdigit,
-                            Description => '[0-9A-Fa-f]',
-                        );
 
+    # AHex was not present in early releases
+    my $PosixXDigit = $perl->add_match_table('PosixXDigit');
+    my $AHex = property_ref('ASCII_Hex_Digit');
+    if (defined $AHex && ! $AHex->is_empty) {
+        $PosixXDigit->set_equivalent_to($AHex->table('Y'), Related => 1);
+    }
+    else {
+        $PosixXDigit->initialize($Xdigit & $ASCII);
+        $PosixXDigit->add_alias('AHex');
+        $PosixXDigit->add_alias('Ascii_Hex_Digit');
+    }
+    $PosixXDigit->add_description('[0-9A-Fa-f]');
+
     my $dt = property_ref('Decomposition_Type');
     $dt->add_match_table('Non_Canon', Full_Name => 'Non_Canonical',
         Initialize => ~ ($dt->table('None') + $dt->table('Canonical')),
@@ -11646,8 +13330,11 @@
 
     # _CanonDCIJ is equivalent to Soft_Dotted, but if on a release earlier
     # than SD appeared, construct it ourselves, based on the first release SD
-    # was in.
-    my $CanonDCIJ = $perl->add_match_table('_CanonDCIJ');
+    # was in.  A pod entry is grandfathered in for it
+    my $CanonDCIJ = $perl->add_match_table('_CanonDCIJ', Re_Pod_Entry => 1,
+                                           Perl_Extension => 1,
+                                           Fate => $INTERNAL_ONLY,
+                                           Status => $DISCOURAGED);
     my $soft_dotted = property_ref('Soft_Dotted');
     if (defined $soft_dotted && ! $soft_dotted->is_empty) {
         $CanonDCIJ->set_equivalent_to($soft_dotted->table('Y'), Related => 1);
@@ -11654,7 +13341,8 @@
     }
     else {
 
-        # This list came from 3.2 Soft_Dotted.
+        # This list came from 3.2 Soft_Dotted; all of these code points are in
+        # all releases
         $CanonDCIJ->initialize([ 0x0069,
                                  0x006A,
                                  0x012F,
@@ -11667,84 +13355,251 @@
         $CanonDCIJ = $CanonDCIJ & $Assigned;
     }
 
-    # These are used in Unicode's definition of \X
-    my $begin = $perl->add_match_table('_X_Begin', Perl_Extension => 1);
-    my $extend = $perl->add_match_table('_X_Extend', Perl_Extension => 1);
+    # For backward compatibility, Perl has its own definition for IDStart.
+    # It is regular XID_Start plus the underscore, but all characters must be
+    # Word characters as well
+    my $XID_Start = property_ref('XID_Start');
+    my $perl_xids = $perl->add_match_table('_Perl_IDStart',
+                                            Perl_Extension => 1,
+                                            Fate => $INTERNAL_ONLY,
+                                            Initialize => ord('_')
+                                            );
+    if (defined $XID_Start
+        || defined ($XID_Start = property_ref('ID_Start')))
+    {
+        $perl_xids += $XID_Start->table('Y');
+    }
+    else {
+        # For Unicode versions that don't have the property, construct our own
+        # from first principles.  The actual definition is:
+        #     Letters
+        #   + letter numbers (Nl)
+        #   - Pattern_Syntax
+        #   - Pattern_White_Space
+        #   + stability extensions
+        #   - NKFC modifications
+        #
+        # What we do in the code below is to include the identical code points
+        # that are in the first release that had Unicode's version of this
+        # property, essentially extrapolating backwards.  There were no
+        # stability extensions until v4.1, so none are included; likewise in
+        # no Unicode version so far do subtracting PatSyn and PatWS make any
+        # difference, so those also are ignored.
+        $perl_xids += $gc->table('Letter') + pre_3_dot_1_Nl();
 
-    my $gcb = property_ref('Grapheme_Cluster_Break');
+        # We do subtract the NFKC modifications that are in the first version
+        # that had this property.  We don't bother to test if they are in the
+        # version in question, because if they aren't, the operation is a
+        # no-op.  The NKFC modifications are discussed in
+        # http://www.unicode.org/reports/tr31/#NFKC_Modifications
+        foreach my $range ( 0x037A,
+                            0x0E33,
+                            0x0EB3,
+                            [ 0xFC5E, 0xFC63 ],
+                            [ 0xFDFA, 0xFE70 ],
+                            [ 0xFE72, 0xFE76 ],
+                            0xFE78,
+                            0xFE7A,
+                            0xFE7C,
+                            0xFE7E,
+                            [ 0xFF9E, 0xFF9F ],
+        ) {
+            if (ref $range) {
+                $perl_xids->delete_range($range->[0], $range->[1]);
+            }
+            else {
+                $perl_xids->delete_range($range, $range);
+            }
+        }
+    }
 
-    # The 'extended' grapheme cluster came in 5.1.  The non-extended
-    # definition differs too much from the traditional Perl one to use.
-    if (defined $gcb && defined $gcb->table('SpacingMark')) {
+    $perl_xids &= $Word;
 
-        # Note that assumes HST is defined; it came in an earlier release than
-        # GCB.  In the line below, two negatives means: yes hangul
-        $begin += ~ property_ref('Hangul_Syllable_Type')
-                                                    ->table('Not_Applicable')
-               + ~ ($gcb->table('Control')
-                    + $gcb->table('CR')
-                    + $gcb->table('LF'));
-        $begin->add_comment('For use in \X; matches: Hangul_Syllable | ! Control');
-
-        $extend += $gcb->table('Extend') + $gcb->table('SpacingMark');
-        $extend->add_comment('For use in \X; matches: Extend | SpacingMark');
+    my $perl_xidc = $perl->add_match_table('_Perl_IDCont',
+                                        Perl_Extension => 1,
+                                        Fate => $INTERNAL_ONLY);
+    my $XIDC = property_ref('XID_Continue');
+    if (defined $XIDC
+        || defined ($XIDC = property_ref('ID_Continue')))
+    {
+        $perl_xidc += $XIDC->table('Y');
     }
-    else {    # Old definition, used on early releases.
-        $extend += $gc->table('Mark')
-                + 0x200C    # ZWNJ
-                + 0x200D;   # ZWJ
-        $begin += ~ $extend;
-
-        # Here we may have a release that has the regular grapheme cluster
-        # defined, or a release that doesn't have anything defined.
-        # We set things up so the Perl core degrades gracefully, possibly with
-        # placeholders that match nothing.
-
-        if (! defined $gcb) {
-            $gcb = Property->new('GCB', Status => $PLACEHOLDER);
+    else {
+        # Similarly, we construct our own XIDC if necessary for early Unicode
+        # versions.  The definition is:
+        #     everything in XIDS
+        #   + Gc=Mn
+        #   + Gc=Mc
+        #   + Gc=Nd
+        #   + Gc=Pc
+        #   - Pattern_Syntax
+        #   - Pattern_White_Space
+        #   + stability extensions
+        #   - NFKC modifications
+        #
+        # The same thing applies to this as with XIDS for the PatSyn, PatWS,
+        # and stability extensions.  There is a somewhat different set of NFKC
+        # mods to remove (and add in this case).  The ones below make this
+        # have identical code points as in the first release that defined it.
+        $perl_xidc += $perl_xids
+                    + $gc->table('L')
+                    + $gc->table('Mn')
+                    + $gc->table('Mc')
+                    + $gc->table('Nd')
+                    + 0x00B7
+                    ;
+        if (defined (my $pc = $gc->table('Pc'))) {
+            $perl_xidc += $pc;
         }
-        my $hst = property_ref('HST');
-        if (!defined $hst) {
-            $hst = Property->new('HST', Status => $PLACEHOLDER);
-            $hst->add_match_table('Not_Applicable',
-                                Initialize => $Any,
-                                Matches_All => 1);
+        else {  # 1.1.5 didn't have Pc, but these should have been in it
+            $perl_xidc += 0xFF3F;
+            $perl_xidc->add_range(0x203F, 0x2040);
+            $perl_xidc->add_range(0xFE33, 0xFE34);
+            $perl_xidc->add_range(0xFE4D, 0xFE4F);
         }
 
-        # On some releases, here we may not have the needed tables for the
-        # perl core, in some releases we may.
-        foreach my $name (qw{ L LV LVT T V prepend }) {
-            my $table = $gcb->table($name);
-            if (! defined $table) {
-                $table = $gcb->add_match_table($name);
-                push @tables_that_may_be_empty, $table->complete_name;
+        # Subtract the NFKC mods
+        foreach my $range ( 0x037A,
+                            [ 0xFC5E, 0xFC63 ],
+                            [ 0xFDFA, 0xFE1F ],
+                            0xFE70,
+                            [ 0xFE72, 0xFE76 ],
+                            0xFE78,
+                            0xFE7A,
+                            0xFE7C,
+                            0xFE7E,
+        ) {
+            if (ref $range) {
+                $perl_xidc->delete_range($range->[0], $range->[1]);
             }
-
-            # The HST property predates the GCB one, and has identical tables
-            # for some of them, so use it if we can.
-            if ($table->is_empty
-                && defined $hst
-                && defined $hst->table($name))
-            {
-                $table += $hst->table($name);
+            else {
+                $perl_xidc->delete_range($range, $range);
             }
         }
     }
 
-    # More GCB.  If we found some hangul syllables, populate a combined
-    # table.
-    my $lv_lvt_v = $perl->add_match_table('_X_LV_LVT_V');
-    my $LV = $gcb->table('LV');
-    if ($LV->is_empty) {
-        push @tables_that_may_be_empty, $lv_lvt_v->complete_name;
-    } else {
-        $lv_lvt_v += $LV + $gcb->table('LVT') + $gcb->table('V');
-        $lv_lvt_v->add_comment('For use in \X; matches: HST=LV | HST=LVT | HST=V');
+    $perl_xidc &= $Word;
+
+    my $charname_begin = $perl->add_match_table('_Perl_Charname_Begin',
+                    Perl_Extension => 1,
+                    Fate => $INTERNAL_ONLY,
+                    Initialize => $gc->table('Letter') & $Alpha & $perl_xids,
+                    );
+
+    my $charname_continue = $perl->add_match_table('_Perl_Charname_Continue',
+                        Perl_Extension => 1,
+                        Fate => $INTERNAL_ONLY,
+                        Initialize => $perl_xidc
+                                    + 0x0020        # SPACE
+                                    + 0x0028        # (
+                                    + 0x0029        # )
+                                    + 0x002D        # -
+                                    + 0x00A0        # NBSP
+                        );
+
+    # These two tables are for matching \X, which is based on the 'extended'
+    # grapheme cluster, which came in 5.1; create empty ones if not already
+    # present.  The straight 'grapheme cluster' (non-extended) is used prior
+    # to 5.1, and differs from the extended (see
+    # http://www.unicode.org/reports/tr29/) only by these two tables, so we
+    # get the older definition automatically when they are empty.
+    my $gcb = property_ref('Grapheme_Cluster_Break');
+    my $perl_prepend = $perl->add_match_table('_X_GCB_Prepend',
+                                        Perl_Extension => 1,
+                                        Fate => $INTERNAL_ONLY);
+    if (defined (my $gcb_prepend = $gcb->table('Prepend'))) {
+        $perl_prepend->set_equivalent_to($gcb_prepend, Related => 1);
     }
+    else {
+        push @tables_that_may_be_empty, $perl_prepend->complete_name;
+    }
 
-    # Was previously constructed to contain both Name and Unicode_1_Name
-    my @composition = ('Name', 'Unicode_1_Name');
+    # All the tables with _X_ in their names are used in defining \X handling,
+    # and are based on the Unicode GCB property.  Basically, \X matches:
+    #   CR LF
+    #   | Prepend* Begin Extend*
+    #   | .
+    # Begin is:           ( Special_Begin | ! Control )
+    # Begin is also:      ( Regular_Begin | Special_Begin )
+    #   where Regular_Begin is defined as ( ! Control - Special_Begin )
+    # Special_Begin is:   ( Regional-Indicator+ | Hangul-syllable )
+    # Extend is:          ( Grapheme_Extend | Spacing_Mark )
+    # Control is:         [ GCB_Control | CR | LF ]
+    # Hangul-syllable is: ( T+ | ( L* ( L | ( LVT | ( V | LV ) V* ) T* ) ))
 
+    foreach my $gcb_name (qw{ L V T LV LVT }) {
+
+        # The perl internal extension's name is the gcb table name prepended
+        # with an '_X_'
+        my $perl_table = $perl->add_match_table('_X_GCB_' . $gcb_name,
+                                        Perl_Extension => 1,
+                                        Fate => $INTERNAL_ONLY,
+                                        Initialize => $gcb->table($gcb_name),
+                                        );
+        # Version 1 had mostly different Hangul syllables that were removed
+        # from later versions, so some of the tables may not apply.
+        if ($v_version lt v2.0) {
+            push @tables_that_may_be_empty, $perl_table->complete_name;
+        }
+    }
+
+    # More GCB.  Populate a combined hangul syllables table
+    my $lv_lvt_v = $perl->add_match_table('_X_LV_LVT_V',
+                                          Perl_Extension => 1,
+                                          Fate => $INTERNAL_ONLY);
+    $lv_lvt_v += $gcb->table('LV') + $gcb->table('LVT') + $gcb->table('V');
+    $lv_lvt_v->add_comment('For use in \X; matches: gcb=LV | gcb=LVT | gcb=V');
+
+    my $ri = $perl->add_match_table('_X_RI', Perl_Extension => 1,
+                                    Fate => $INTERNAL_ONLY);
+    if ($v_version ge v6.2) {
+        $ri += $gcb->table('RI');
+    }
+    else {
+        push @tables_that_may_be_empty, $ri->full_name;
+    }
+
+    my $specials_begin = $perl->add_match_table('_X_Special_Begin_Start',
+                                       Perl_Extension => 1,
+                                       Fate => $INTERNAL_ONLY,
+                                       Initialize => $lv_lvt_v
+                                                   + $gcb->table('L')
+                                                   + $gcb->table('T')
+                                                   + $ri
+                                      );
+    $specials_begin->add_comment(join_lines( <<END
+For use in \\X; matches first (perhaps only) character of potential
+multi-character sequences that can begin an extended grapheme cluster.  They
+need special handling because of their complicated nature.
+END
+    ));
+    my $regular_begin = $perl->add_match_table('_X_Regular_Begin',
+                                       Perl_Extension => 1,
+                                       Fate => $INTERNAL_ONLY,
+                                       Initialize => ~ $gcb->table('Control')
+                                                   - $specials_begin
+                                                   - $gcb->table('CR')
+                                                   - $gcb->table('LF')
+                                      );
+    $regular_begin->add_comment(join_lines( <<END
+For use in \\X; matches first character of anything that can begin an extended
+grapheme cluster, except those that require special handling.
+END
+    ));
+
+    my $extend = $perl->add_match_table('_X_Extend', Perl_Extension => 1,
+                                        Fate => $INTERNAL_ONLY,
+                                        Initialize => $gcb->table('Extend')
+                                       );
+    if (defined (my $sm = $gcb->table('SpacingMark'))) {
+        $extend += $sm;
+    }
+    $extend->add_comment('For use in \X; matches: Extend | SpacingMark');
+
+    # End of GCB \X processing
+
+    my @composition = ('Name', 'Unicode_1_Name', 'Name_Alias');
+
     if (@named_sequences) {
         push @composition, 'Named_Sequence';
         foreach my $sequence (@named_sequences) {
@@ -11753,23 +13608,103 @@
     }
 
     my $alias_sentence = "";
+    my %abbreviations;
     my $alias = property_ref('Name_Alias');
-    if (defined $alias) {
-        push @composition, 'Name_Alias';
-        $alias->reset_each_range;
-        while (my ($range) = $alias->each_range) {
-            next if $range->value eq "";
-            if ($range->start != $range->end) {
-                Carp::my_carp("Expecting only one code point in the range $range.  Just to keep going, using just the first code point;");
-            }
-            $perl_charname->add_duplicate($range->start, $range->value);
+    $perl_charname->set_proxy_for('Name_Alias');
+
+    # Add each entry in Name_Alias to Perl_Charnames.  Where these go with
+    # respect to any existing entry depends on the entry type.  Corrections go
+    # before said entry, as they should be returned in preference over the
+    # existing entry.  (A correction to a correction should be later in the
+    # Name_Alias table, so it will correctly precede the erroneous correction
+    # in Perl_Charnames.)
+    #
+    # Abbreviations go after everything else, so they are saved temporarily in
+    # a hash for later.
+    #
+    # Everything else is added added afterwards, which preserves the input
+    # ordering
+
+    foreach my $range ($alias->ranges) {
+        next if $range->value eq "";
+        my $code_point = $range->start;
+        if ($code_point != $range->end) {
+            Carp::my_carp_bug("Bad News.  Expecting only one code point in the range $range.  Just to keep going, using only the first code point;");
         }
-        $alias_sentence = <<END;
-The Name_Alias property adds duplicate code point entries with a corrected
-name.  The original (less correct, but still valid) name will be physically
-last.
+        my ($value, $type) = split ': ', $range->value;
+        my $replace_type;
+        if ($type eq 'correction') {
+            $replace_type = $MULTIPLE_BEFORE;
+        }
+        elsif ($type eq 'abbreviation') {
+
+            # Save for later
+            $abbreviations{$value} = $code_point;
+            next;
+        }
+        else {
+            $replace_type = $MULTIPLE_AFTER;
+        }
+
+        # Actually add; before or after current entry(ies) as determined
+        # above.
+
+        $perl_charname->add_duplicate($code_point, $value, Replace => $replace_type);
+    }
+    $alias_sentence = <<END;
+The Name_Alias property adds duplicate code point entries that are
+alternatives to the original name.  If an addition is a corrected
+name, it will be physically first in the table.  The original (less correct,
+but still valid) name will be next; then any alternatives, in no particular
+order; and finally any abbreviations, again in no particular order.
 END
+
+    # Now add the Unicode_1 names for the controls.  The Unicode_1 names had
+    # precedence before 6.1, so should be first in the file; the other names
+    # have precedence starting in 6.1,
+    my $before_or_after = ($v_version lt v6.1.0)
+                          ? $MULTIPLE_BEFORE
+                          : $MULTIPLE_AFTER;
+
+    foreach my $range (property_ref('Unicode_1_Name')->ranges) {
+        my $code_point = $range->start;
+        my $unicode_1_value = $range->value;
+        next if $unicode_1_value eq "";     # Skip if name doesn't exist.
+
+        if ($code_point != $range->end) {
+            Carp::my_carp_bug("Bad News.  Expecting only one code point in the range $range.  Just to keep going, using only the first code point;");
+        }
+
+        # To handle EBCDIC, we don't hard code in the code points of the
+        # controls; instead realizing that all of them are below 256.
+        last if $code_point > 255;
+
+        # We only add in the controls.
+        next if $gc->value_of($code_point) ne 'Cc';
+
+        # We reject this Unicode1 name for later Perls, as it is used for
+        # another code point
+        next if $unicode_1_value eq 'BELL' && $^V ge v5.17.0;
+
+        # This won't add an exact duplicate.
+        $perl_charname->add_duplicate($code_point, $unicode_1_value,
+                                        Replace => $before_or_after);
     }
+
+    # But in this version only, the ALERT has precedence over BELL, the
+    # Unicode_1_Name that would otherwise have precedence.
+    if ($v_version eq v6.0.0) {
+        $perl_charname->add_duplicate(7, 'ALERT', Replace => $MULTIPLE_BEFORE);
+    }
+
+    # Now that have everything added, add in abbreviations after
+    # everything else.  Sort so results don't change between runs of this
+    # program
+    foreach my $value (sort keys %abbreviations) {
+        $perl_charname->add_duplicate($abbreviations{$value}, $value,
+                                        Replace => $MULTIPLE_AFTER);
+    }
+
     my $comment;
     if (@composition <= 2) { # Always at least 2
         $comment = join " and ", @composition;
@@ -11781,38 +13716,19 @@
 
     $perl_charname->add_comment(join_lines( <<END
 This file is for charnames.pm.  It is the union of the $comment properties.
-Unicode_1_Name entries are used only for otherwise nameless code
-points.
+Unicode_1_Name entries are used only for nameless code points in the Name
+property.
 $alias_sentence
+This file doesn't include the algorithmically determinable names.  For those,
+use 'unicore/Name.pm'
 END
     ));
-
-    # The combining class property used by Perl's normalize.pm is not located
-    # in the normal mapping directory; create a copy for it.
-    my $ccc = property_ref('Canonical_Combining_Class');
-    my $perl_ccc = Property->new('Perl_ccc',
-                            Default_Map => $ccc->default_map,
-                            Full_Name => 'Perl_Canonical_Combining_Class',
-                            Internal_Only_Warning => 1,
-                            Perl_Extension => 1,
-                            Pod_Entry =>0,
-                            Type => $ENUM,
-                            Initialize => $ccc,
-                            File => 'CombiningClass',
-                            Directory => File::Spec->curdir(),
-                            );
-    $perl_ccc->set_to_output_map($EXTERNAL_MAP);
-    $perl_ccc->add_comment(join_lines(<<END
-This mapping is for normalize.pm.  It is currently identical to the Unicode
-Canonical_Combining_Class property.
+    property_ref('Name')->add_comment(join_lines( <<END
+This file doesn't include the algorithmically determinable names.  For those,
+use 'unicore/Name.pm'
 END
     ));
 
-    # This one match table for it is needed for calculations on output
-    my $default = $perl_ccc->add_match_table($ccc->default_map,
-                        Initialize => $ccc->table($ccc->default_map),
-                        Status => $SUPPRESSED);
-
     # Construct the Present_In property from the Age property.
     if (-e 'DAge.txt' && defined (my $age = property_ref('Age'))) {
         my $default_map = $age->default_map;
@@ -11819,13 +13735,12 @@
         my $in = Property->new('In',
                                 Default_Map => $default_map,
                                 Full_Name => "Present_In",
-                                Internal_Only_Warning => 1,
                                 Perl_Extension => 1,
                                 Type => $ENUM,
                                 Initialize => $age,
                                 );
         $in->add_comment(join_lines(<<END
-This file should not be used for any purpose.  The values in this file are the
+THIS FILE SHOULD NOT BE USED FOR ANY PURPOSE.  The values in this file are the
 same as for $age, and not for what $in really means.  This is because anything
 defined in a given release should have multiple values: that release and all
 higher ones.  But only one value per code point can be represented in a table
@@ -11891,7 +13806,32 @@
         $unassigned->set_equivalent_to($age_default, Related => 1);
     }
 
+    # See L<perlfunc/quotemeta>
+    my $quotemeta = $perl->add_match_table('_Perl_Quotemeta',
+                                           Perl_Extension => 1,
+                                           Fate => $INTERNAL_ONLY,
 
+                                           # Initialize to what's common in
+                                           # all Unicode releases.
+                                           Initialize =>
+                                                $Space
+                                                + $gc->table('Control')
+                           );
+
+    # In early releases without the proper Unicode properties, just set to \W.
+    if (! defined (my $patsyn = property_ref('Pattern_Syntax'))
+        || ! defined (my $patws = property_ref('Pattern_White_Space'))
+        || ! defined (my $di = property_ref('Default_Ignorable_Code_Point')))
+    {
+        $quotemeta += ~ $Word;
+    }
+    else {
+        $quotemeta += $patsyn->table('Y')
+                   + $patws->table('Y')
+                   + $di->table('Y')
+                   + ((~ $Word) & $ASCII);
+    }
+
     # Finished creating all the perl properties.  All non-internal non-string
     # ones have a synonym of 'Is_' prefixed.  (Internal properties begin with
     # an underscore.)  These do not get a separate entry in the pod file
@@ -11899,9 +13839,10 @@
         foreach my $alias ($table->aliases) {
             next if $alias->name =~ /^_/;
             $table->add_alias('Is_' . $alias->name,
-                               Pod_Entry => 0,
+                               Re_Pod_Entry => 0,
+                               UCD => 0,
                                Status => $alias->status,
-                               Externally_Ok => 0);
+                               OK_as_Filename => 0);
         }
     }
 
@@ -11915,10 +13856,12 @@
         # This separates out the non-characters from the other unassigneds, so
         # can give different annotations for each.
         $unassigned_sans_noncharacters = Range_List->new(
-         Initialize => $gc->table('Unassigned')
-                       & property_ref('Noncharacter_Code_Point')->table('N'));
+                                    Initialize => $gc->table('Unassigned'));
+        if (defined (my $nonchars = property_ref('Noncharacter_Code_Point'))) {
+            $unassigned_sans_noncharacters &= $nonchars->table('N');
+        }
 
-        for (my $i = 0; $i <= $LAST_UNICODE_CODEPOINT; $i++ ) {
+        for (my $i = 0; $i <= $MAX_UNICODE_CODEPOINT; $i++ ) {
             $i = populate_char_info($i);    # Note sets $i so may cause skips
         }
     }
@@ -11941,13 +13884,12 @@
 
     # Construct the list of tables to get synonyms for.  Start with all the
     # binary and the General_Category ones.
-    my @tables = grep { $_->type == $BINARY } property_ref('*');
+    my @tables = grep { $_->type == $BINARY || $_->type == $FORCED_BINARY }
+                                                            property_ref('*');
     push @tables, $gc->tables;
 
     # If the version of Unicode includes the Script property, add its tables
-    if (defined property_ref('Script')) {
-        push @tables, property_ref('Script')->tables;
-    }
+    push @tables, $script->tables if defined $script;
 
     # The Block tables are kept separate because they are treated differently.
     # And the earliest versions of Unicode didn't include them, so add only if
@@ -12012,9 +13954,9 @@
 
                     # No name collision, so ok to add the perl synonym.
 
-                    my $make_pod_entry;
-                    my $externally_ok;
-                    my $status = $actual->status;
+                    my $make_re_pod_entry;
+                    my $ok_as_filename;
+                    my $status = $alias->status;
                     if ($nominal_property == $block) {
 
                         # For block properties, the 'In' form is preferred for
@@ -12023,19 +13965,19 @@
                         # we don't want people using the name without the
                         # 'In', so discourage that.
                         if ($prefix eq "") {
-                            $make_pod_entry = 1;
+                            $make_re_pod_entry = 1;
                             $status = $status || $DISCOURAGED;
-                            $externally_ok = 0;
+                            $ok_as_filename = 0;
                         }
                         elsif ($prefix eq 'In_') {
-                            $make_pod_entry = 0;
+                            $make_re_pod_entry = 0;
                             $status = $status || $NORMAL;
-                            $externally_ok = 1;
+                            $ok_as_filename = 1;
                         }
                         else {
-                            $make_pod_entry = 0;
+                            $make_re_pod_entry = 0;
                             $status = $status || $DISCOURAGED;
-                            $externally_ok = 0;
+                            $ok_as_filename = 0;
                         }
                     }
                     elsif ($prefix ne "") {
@@ -12042,17 +13984,17 @@
 
                         # The 'Is' prefix is handled in the pod by a wild
                         # card, and we won't use it for an external name
-                        $make_pod_entry = 0;
+                        $make_re_pod_entry = 0;
                         $status = $status || $NORMAL;
-                        $externally_ok = 0;
+                        $ok_as_filename = 0;
                     }
                     else {
 
                         # Here, is an empty prefix, non block.  This gets its
                         # own pod entry and can be used for an external name.
-                        $make_pod_entry = 1;
+                        $make_re_pod_entry = 1;
                         $status = $status || $NORMAL;
-                        $externally_ok = 1;
+                        $ok_as_filename = 1;
                     }
 
                     # Here, there isn't a perl pre-existing table with the
@@ -12064,9 +14006,15 @@
                         # Here, have found a table for $perl.  Add this alias
                         # to it, and are done with this prefix.
                         $equivalent->add_alias($proposed_name,
-                                        Pod_Entry => $make_pod_entry,
+                                        Re_Pod_Entry => $make_re_pod_entry,
+
+                                        # Currently don't output these in the
+                                        # ucd pod, as are strongly discouraged
+                                        # from being used
+                                        UCD => 0,
+
                                         Status => $status,
-                                        Externally_Ok => $externally_ok);
+                                        OK_as_Filename => $ok_as_filename);
                         trace "adding alias perl=$proposed_name to $equivalent" if main::DEBUG && $to_trace;
                         next PREFIX;
                     }
@@ -12074,9 +14022,13 @@
                     # Here, $perl doesn't already have a table that is a
                     # synonym for this property, add one.
                     my $added_table = $perl->add_match_table($proposed_name,
-                                            Pod_Entry => $make_pod_entry,
+                                            Re_Pod_Entry => $make_re_pod_entry,
+
+                                            # See UCD comment just above
+                                            UCD => 0,
+
                                             Status => $status,
-                                            Externally_Ok => $externally_ok);
+                                            OK_as_Filename => $ok_as_filename);
                     # And it will be related to the actual table, since it is
                     # based on it.
                     $added_table->set_equivalent_to($actual, Related => 1);
@@ -12142,8 +14094,8 @@
                     && ($actual->property != $block || $prefix eq 'In_'))
                 {
                     print simple_fold(join_lines(<<END
-There is already an alias named $proposed_name (from " . $pre_existing . "),
-so not creating this alias for " . $actual
+There is already an alias named $proposed_name (from $pre_existing),
+so not creating this alias for $actual
 END
                     ), "", 4);
                 }
@@ -12162,7 +14114,10 @@
     # unless they are the same table.  For example, N meaning Number or
     # Neutral is not likely to cause confusion, so don't add caveats to things
     # like them.
-    foreach my $property (grep { $_->type != $BINARY } property_ref('*')) {
+    foreach my $property (grep { $_->type != $BINARY
+                                 && $_->type != $FORCED_BINARY }
+                                                            property_ref('*'))
+    {
         my $yes = $property->table('Yes');
         if (defined $yes) {
             my $y = $property->table('Y');
@@ -12192,7 +14147,7 @@
 
     my $table = shift;
     my $directory_ref = shift;   # Array of the directory path for the file
-    my $file = shift;            # The file name in the final directory, [-1].
+    my $file = shift;            # The file name in the final directory.
     Carp::carp_extra_args(\@_) if main::DEBUG && @_;
 
     trace "table=$table, file=$file, directory=@$directory_ref" if main::DEBUG && $to_trace;
@@ -12199,8 +14154,29 @@
 
     if ($table->isa('Property')) {
         $table->set_file_path(@$directory_ref, $file);
-        push @map_properties, $table
-                                    if $directory_ref->[0] eq $map_directory;
+        push @map_properties, $table;
+
+        # No swash means don't do the rest of this.
+        return if $table->fate != $ORDINARY;
+
+        # Get the path to the file
+        my @path = $table->file_path;
+
+        # Use just the file name if no subdirectory.
+        shift @path if $path[0] eq File::Spec->curdir();
+
+        my $file = join '/', @path;
+
+        # Create a hash entry for utf8_heavy to get the file that stores this
+        # property's map table
+        foreach my $alias ($table->aliases) {
+            my $name = $alias->name;
+            $loose_property_to_file_of{standardize($name)} = $file;
+        }
+
+        # And a way for utf8_heavy to find the proper key in the SwashInfo
+        # hash for this property.
+        $file_to_swash_name{$file} = "To" . $table->swash_name;
         return;
     }
 
@@ -12208,6 +14184,21 @@
     # table, so skip if isn't the leader.
     return if $table->leader != $table;
 
+    # If this is a complement of another file, use that other file instead,
+    # with a ! prepended to it.
+    my $complement;
+    if (($complement = $table->complement) != 0) {
+        my @directories = $complement->file_path;
+
+        # This assumes that the 0th element is something like 'lib',
+        # the 1th element the property name (in its own directory), like
+        # 'AHex', and the 2th element the file like 'Y' which will have a .pl
+        # appended to it later.
+        $directories[1] =~ s/^/!/;
+        $file = pop @directories;
+        $directory_ref =\@directories;
+    }
+
     # Join all the file path components together, using slashes.
     my $full_filename = join('/', @$directory_ref, $file);
 
@@ -12223,13 +14214,39 @@
         # Associate it with its file internally.  Don't include the
         # $matches_directory first component
         $table->set_file_path(@$directory_ref, $file);
+
+        # No swash means don't do the rest of this.
+        next if $table->isa('Map_Table') && $table->fate != $ORDINARY;
+
         my $sub_filename = join('/', $directory_ref->[1, -1], $file);
 
         my $property = $table->property;
-        $property = ($property == $perl)
-                    ? ""                # 'perl' is never explicitly stated
-                    : standardize($property->name) . '=';
+        my $property_name = ($property == $perl)
+                             ? ""  # 'perl' is never explicitly stated
+                             : standardize($property->name) . '=';
 
+        my $is_default = 0; # Is this table the default one for the property?
+
+        # To calculate $is_default, we find if this table is the same as the
+        # default one for the property.  But this is complicated by the
+        # possibility that there is a master table for this one, and the
+        # information is stored there instead of here.
+        my $parent = $table->parent;
+        my $leader_prop = $parent->property;
+        my $default_map = $leader_prop->default_map;
+        if (defined $default_map) {
+            my $default_table = $leader_prop->table($default_map);
+            $is_default = 1 if defined $default_table && $parent == $default_table;
+        }
+
+        # Calculate the loose name for this table.  Mostly it's just its name,
+        # standardized.  But in the case of Perl tables that are single-form
+        # equivalents to Unicode properties, it is the latter's name.
+        my $loose_table_name =
+                        ($property != $perl || $leader_prop == $perl)
+                        ? standardize($table->name)
+                        : standardize($parent->name);
+
         my $deprecated = ($table->status eq $DEPRECATED)
                          ? $table->status_info
                          : "";
@@ -12268,14 +14285,27 @@
                     if ((my $integer_name = $alias->name)
                             =~ s/^ ( -? \d+ ) \.0+ $ /$1/x)
                     {
-                        $stricter_to_file_of{$property . $integer_name}
-                            = $sub_filename;
+                        $stricter_to_file_of{$property_name . $integer_name}
+                                                            = $sub_filename;
                     }
                 }
             }
 
+            # For Unicode::UCD, create a mapping of the prop=value to the
+            # canonical =value for that property.
+            if ($standard =~ /=/) {
+
+                # This could happen if a strict name mapped into an existing
+                # loose name.  In that event, the strict names would have to
+                # be moved to a new hash.
+                if (exists($loose_to_standard_value{$standard})) {
+                    Carp::my_carp_bug("'$standard' conflicts with a pre-existing use.  Bad News.  Continuing anyway");
+                }
+                $loose_to_standard_value{$standard} = $loose_table_name;
+            }
+
             # Keep a list of the deprecated properties and their filenames
-            if ($deprecated) {
+            if ($deprecated && $complement == 0) {
                 $utf8::why_deprecated{$sub_filename} = $deprecated;
             }
 
@@ -12283,6 +14313,10 @@
             if ($caseless_equivalent != 0) {
                 $caseless_equivalent_to{$standard} = $caseless_equivalent;
             }
+
+            # Add to defaults list if the table this alias belongs to is the
+            # default one
+            $loose_defaults{$standard} = 1 if $is_default;
         }
     }
 
@@ -12464,7 +14498,7 @@
 
 my @zero_match_tables;  # List of tables that have no matches in this release
 
-sub make_table_pod_entries($) {
+sub make_re_pod_entries($) {
     # This generates the entries for the pod file for a given table.
     # Also done at this time are any children tables.  The output looks like:
     # \p{Common}              \p{Script=Common} (Short: \p{Zyyy}) (5178)
@@ -12485,6 +14519,11 @@
     my $status_info = $input_table->status_info;
     my $caseless_equivalent = $input_table->caseless_equivalent;
 
+    # Don't mention a placeholder equivalent as it isn't to be listed in the
+    # pod
+    $caseless_equivalent = 0 if $caseless_equivalent != 0
+                                && $caseless_equivalent->fate > $ORDINARY;
+
     my $entry_for_first_table; # The entry for the first table output.
                            # Almost certainly, it is the parent.
 
@@ -12492,13 +14531,16 @@
     # for each name each table goes by
     foreach my $table ($input_table, $input_table->children) {
 
-        # utf8_heavy.pl cannot deal with null string property values, so don't
-        # output any.
-        next if $table->name eq "";
+        # utf8_heavy.pl cannot deal with null string property values, so skip
+        # any tables that have no non-null names.
+        next if ! grep { $_->name ne "" } $table->aliases;
 
         # First, gather all the info that applies to this table as a whole.
 
-        push @zero_match_tables, $table if $count == 0;
+        push @zero_match_tables, $table if $count == 0
+                                            # Don't mention special tables
+                                            # as being zero length
+                                           && $table->fate == $ORDINARY;
 
         my $table_property = $table->property;
 
@@ -12523,11 +14565,14 @@
         foreach my $alias ($table->aliases) {
 
             # Skip if not to go in pod.
-            next unless $alias->make_pod_entry;
+            next unless $alias->make_re_pod_entry;
 
             # Start gathering all the components for the entry
             my $name = $alias->name;
 
+            # Skip if name is empty, as can't be accessed by regexes.
+            next if $name eq "";
+
             my $entry;      # Holds the left column, may include extras
             my $entry_ref;  # To refer to the left column's contents from
                             # another entry; has no extras
@@ -12543,13 +14588,35 @@
                 # Only generate one entry for all the aliases that mean true
                 # or false in binary properties.  Append a '*' to indicate
                 # some are missing.  (The heading comment notes this.)
-                my $wild_card_mark;
+                my $rhs;
                 if ($type == $BINARY) {
                     next if $name ne 'N' && $name ne 'Y';
-                    $wild_card_mark = '*';
+                    $rhs = "$name*";
                 }
+                elsif ($type != $FORCED_BINARY) {
+                    $rhs = $name;
+                }
                 else {
-                    $wild_card_mark = "";
+
+                    # Forced binary properties require special handling.  It
+                    # has two sets of tables, one set is true/false; and the
+                    # other set is everything else.  Entries are generated for
+                    # each set.  Use the Bidi_Mirrored property (which appears
+                    # in all Unicode versions) to get a list of the aliases
+                    # for the true/false tables.  Of these, only output the N
+                    # and Y ones, the same as, a regular binary property.  And
+                    # output all the rest, same as a non-binary property.
+                    my $bm = property_ref("Bidi_Mirrored");
+                    if ($name eq 'N' || $name eq 'Y') {
+                        $rhs = "$name*";
+                    } elsif (grep { $name eq $_->name } $bm->table("Y")->aliases,
+                                                        $bm->table("N")->aliases)
+                    {
+                        next;
+                    }
+                    else {
+                        $rhs = $name;
+                    }
                 }
 
                 # Colon-space is used to give a little more space to be easier
@@ -12556,7 +14623,7 @@
                 # to read;
                 $entry = "\\p{"
                         . $table_property_full_name
-                        . ": $name$wild_card_mark}";
+                        . ": $rhs}";
 
                 # But for the reference to this entry, which will go in the
                 # right column, where space is at a premium, use equals
@@ -12652,11 +14719,18 @@
 
                     # Special case the binary N tables, so that will print
                     # \P{single}, but use the Y table values to populate
-                    # 'single', as we haven't populated the N table.
+                    # 'single', as we haven't likewise populated the N table.
+                    # For forced binary tables, we can't just look at the N
+                    # table, but must see if this table is equivalent to the N
+                    # one, as there are two equivalent beasts in these
+                    # properties.
                     my $test_table;
                     my $p;
-                    if ($type == $BINARY
-                        && $input_table == $property->table('No'))
+                    if (   ($type == $BINARY
+                            && $input_table == $property->table('No'))
+                        || ($type == $FORCED_BINARY
+                            && $property->table('No')->
+                                        is_set_equivalent_to($input_table)))
                     {
                         $test_table = $property->table('Yes');
                         $p = 'P';
@@ -12726,6 +14800,10 @@
 
             push @info, "($parenthesized)" if $parenthesized;
 
+            if ($name =~ /_$/ && $alias->loose_match) {
+                push @info, "Note the trailing '_' matters in spite of loose matching rules.";
+            }
+
             if ($table_property != $perl && $table->perl_extension) {
                 push @info, '(Perl extension)';
             }
@@ -12750,6 +14828,179 @@
     return;
 }
 
+sub make_ucd_table_pod_entries {
+    my $table = shift;
+
+    # Generate the entries for the UCD section of the pod for $table.  This
+    # also calculates if names are ambiguous, so has to be called even if the
+    # pod is not being output
+
+    my $short_name = $table->name;
+    my $standard_short_name = standardize($short_name);
+    my $full_name = $table->full_name;
+    my $standard_full_name = standardize($full_name);
+
+    my $full_info = "";     # Text of info column for full-name entries
+    my $other_info = "";    # Text of info column for short-name entries
+    my $short_info = "";    # Text of info column for other entries
+    my $meaning = "";       # Synonym of this table
+
+    my $property = ($table->isa('Property'))
+                   ? $table
+                   : $table->parent->property;
+
+    my $perl_extension = $table->perl_extension;
+
+    # Get the more official name for for perl extensions that aren't
+    # stand-alone properties
+    if ($perl_extension && $property != $table) {
+        if ($property == $perl ||$property->type == $BINARY) {
+            $meaning = $table->complete_name;
+        }
+        else {
+            $meaning = $property->full_name . "=$full_name";
+        }
+    }
+
+    # There are three types of info column.  One for the short name, one for
+    # the full name, and one for everything else.  They mostly are the same,
+    # so initialize in the same loop.
+    foreach my $info_ref (\$full_info, \$short_info, \$other_info) {
+        if ($perl_extension && $property != $table) {
+
+            # Add the synonymous name for the non-full name entries; and to
+            # the full-name entry if it adds extra information
+            if ($info_ref == \$other_info
+                || ($info_ref == \$short_info
+                    && $standard_short_name ne $standard_full_name)
+                || standardize($meaning) ne $standard_full_name
+            ) {
+                $$info_ref .= "$meaning.";
+            }
+        }
+        elsif ($info_ref != \$full_info) {
+
+            # Otherwise, the non-full name columns include the full name
+            $$info_ref .= $full_name;
+        }
+
+        # And the full-name entry includes the short name, if different
+        if ($info_ref == \$full_info
+            && $standard_short_name ne $standard_full_name)
+        {
+            $full_info =~ s/\.\Z//;
+            $full_info .= "  " if $full_info;
+            $full_info .= "(Short: $short_name)";
+        }
+
+        if ($table->perl_extension) {
+            $$info_ref =~ s/\.\Z//;
+            $$info_ref .= ".  " if $$info_ref;
+            $$info_ref .= "(Perl extension)";
+        }
+    }
+
+    # Add any extra annotations to the full name entry
+    foreach my $more_info ($table->description,
+                            $table->note,
+                            $table->status_info)
+    {
+        next unless $more_info;
+        $full_info =~ s/\.\Z//;
+        $full_info .= ".  " if $full_info;
+        $full_info .= $more_info;
+    }
+
+    # These keep track if have created full and short name pod entries for the
+    # property
+    my $done_full = 0;
+    my $done_short = 0;
+
+    # Every possible name is kept track of, even those that aren't going to be
+    # output.  This way we can be sure to find the ambiguities.
+    foreach my $alias ($table->aliases) {
+        my $name = $alias->name;
+        my $standard = standardize($name);
+        my $info;
+        my $output_this = $alias->ucd;
+
+        # If the full and short names are the same, we want to output the full
+        # one's entry, so it has priority.
+        if ($standard eq $standard_full_name) {
+            next if $done_full;
+            $done_full = 1;
+            $info = $full_info;
+        }
+        elsif ($standard eq $standard_short_name) {
+            next if $done_short;
+            $done_short = 1;
+            next if $standard_short_name eq $standard_full_name;
+            $info = $short_info;
+        }
+        else {
+            $info = $other_info;
+        }
+
+        # Here, we have set up the two columns for this entry.  But if an
+        # entry already exists for this name, we have to decide which one
+        # we're going to later output.
+        if (exists $ucd_pod{$standard}) {
+
+            # If the two entries refer to the same property, it's not going to
+            # be ambiguous.  (Likely it's because the names when standardized
+            # are the same.)  But that means if they are different properties,
+            # there is ambiguity.
+            if ($ucd_pod{$standard}->{'property'} != $property) {
+
+                # Here, we have an ambiguity.  This code assumes that one is
+                # scheduled to be output and one not and that one is a perl
+                # extension (which is not to be output) and the other isn't.
+                # If those assumptions are wrong, things have to be rethought.
+                if ($ucd_pod{$standard}{'output_this'} == $output_this
+                    || $ucd_pod{$standard}{'perl_extension'} == $perl_extension
+                    || $output_this == $perl_extension)
+                {
+                    Carp::my_carp("Bad news.  $property and $ucd_pod{$standard}->{'property'} have unexpected output status and perl-extension combinations.  Proceeding anyway.");
+                }
+
+                # We modifiy the info column of the one being output to
+                # indicate the ambiguity.  Set $which to point to that one's
+                # info.
+                my $which;
+                if ($ucd_pod{$standard}{'output_this'}) {
+                    $which = \$ucd_pod{$standard}->{'info'};
+                }
+                else {
+                    $which = \$info;
+                    $meaning = $ucd_pod{$standard}{'meaning'};
+                }
+
+                chomp $$which;
+                $$which =~ s/\.\Z//;
+                $$which .= "; NOT '$standard' meaning '$meaning'";
+
+                $ambiguous_names{$standard} = 1;
+            }
+
+            # Use the non-perl-extension variant
+            next unless $ucd_pod{$standard}{'perl_extension'};
+        }
+
+        # Store enough information about this entry that we can later look for
+        # ambiguities, and output it properly.
+        $ucd_pod{$standard} = { 'name' => $name,
+                                'info' => $info,
+                                'meaning' => $meaning,
+                                'output_this' => $output_this,
+                                'perl_extension' => $perl_extension,
+                                'property' => $property,
+                                'status' => $alias->status,
+        };
+    } # End of looping through all this table's aliases
+
+    return;
+}
+
 sub pod_alphanumeric_sort {
     # Sort pod entries alphanumerically.
 
@@ -12801,6 +15052,8 @@
     # Create the .pod file.  This generates the various subsections and then
     # combines them in one big HERE document.
 
+    my $Is_flags_text = "If an entry has flag(s) at its beginning, like \"$DEPRECATED\", the \"Is_\" form has the same flag(s)";
+
     return unless defined $pod_directory;
     print "Making pod file\n" if $verbosity >= $PROGRESS;
 
@@ -12819,19 +15072,20 @@
                                                       : ""));
         @block_warning = << "END";
 
-Matches in the Block property have shortcuts that begin with 'In_'.  For
-example, \\p{Block=Latin1} can be written as \\p{In_Latin1}.  For backward
-compatibility, if there is no conflict with another shortcut, these may also
-be written as \\p{Latin1} or \\p{Is_Latin1}.  But, N.B., there are numerous
-such conflicting shortcuts.  Use of these forms for Block is discouraged, and
-are flagged as such, not only because of the potential confusion as to what is
-meant, but also because a later release of Unicode may preempt the shortcut,
-and your program would no longer be correct.  Use the 'In_' form instead to
-avoid this, or even more clearly, use the compound form, e.g.,
-\\p{blk:latin1}.  See L<perlunicode/"Blocks"> for more information about this.
+Matches in the Block property have shortcuts that begin with "In_".  For
+example, C<\\p{Block=Latin1}> can be written as C<\\p{In_Latin1}>.  For
+backward compatibility, if there is no conflict with another shortcut, these
+may also be written as C<\\p{Latin1}> or C<\\p{Is_Latin1}>.  But, N.B., there
+are numerous such conflicting shortcuts.  Use of these forms for Block is
+discouraged, and are flagged as such, not only because of the potential
+confusion as to what is meant, but also because a later release of Unicode may
+preempt the shortcut, and your program would no longer be correct.  Use the
+"In_" form instead to avoid this, or even more clearly, use the compound form,
+e.g., C<\\p{blk:latin1}>.  See L<perlunicode/"Blocks"> for more information
+about this.
 END
     }
-    my $text = "If an entry has flag(s) at its beginning, like '$DEPRECATED', the 'Is_' form has the same flag(s)";
+    my $text = $Is_flags_text;
     $text = "$exception_message $text" if $has_Is_conflicts;
 
     # And the 'Is_ line';
@@ -12863,22 +15117,22 @@
                                     . $formatted_properties;
 
     # Generate pod documentation lines for the tables that match nothing
-    my $zero_matches;
+    my $zero_matches = "";
     if (@zero_match_tables) {
         @zero_match_tables = uniques(@zero_match_tables);
         $zero_matches = join "\n\n",
                         map { $_ = '=item \p{' . $_->complete_name . "}" }
                             sort { $a->complete_name cmp $b->complete_name }
-                            uniques(@zero_match_tables);
+                            @zero_match_tables;
 
         $zero_matches = <<END;
 
-=head2 Legal \\p{} and \\P{} constructs that match no characters
+=head2 Legal C<\\p{}> and C<\\P{}> constructs that match no characters
 
 Unicode has some property-value pairs that currently don't match anything.
-This happens generally either because they are obsolete, or for symmetry with
-other forms, but no language has yet been encoded that uses them.  In this
-version of Unicode, the following match zero code points:
+This happens generally either because they are obsolete, or they exist for
+symmetry with other forms, but no language has yet been encoded that uses
+them.  In this version of Unicode, the following match zero code points:
 
 =over 4
 
@@ -12908,10 +15162,7 @@
     foreach my $why (sort { $why_list{$a}->[0] cmp $why_list{$b}->[0] }
                      keys %why_list)
     {
-        # Add to the output, all the properties that have that reason.  Start
-        # with an empty line.
-        push @bad_re_properties, "\n\n";
-
+        # Add to the output, all the properties that have that reason.
         my $has_item = 0;   # Flag if actually output anything.
         foreach my $name (@{$why_list{$why}}) {
 
@@ -12937,6 +15188,9 @@
             my $short_name = $property->name;
             $short_name .= '=' . $property->table($table)->name if $table;
 
+            # Start with an empty line.
+            push @bad_re_properties, "\n\n" unless $has_item;
+
             # And add the property as an item for the reason.
             push @bad_re_properties, "\n=item I<$name> ($short_name)\n";
             $has_item = 1;
@@ -12950,57 +15204,71 @@
 
     } # End of looping through each reason.
 
-    # Generate a list of the properties whose map table we output, from the
-    # global @map_properties.
-    my @map_tables_actually_output;
-    my $info_indent = 20;       # Left column is narrower than \p{} table.
-    foreach my $property (@map_properties) {
+    if (! @bad_re_properties) {
+        push @bad_re_properties,
+                "*** This installation accepts ALL non-Unihan properties ***";
+    }
+    else {
+        # Add =over only if non-empty to avoid an empty =over/=back section,
+        # which is considered bad form.
+        unshift @bad_re_properties, "\n=over 4\n";
+        push @bad_re_properties, "\n=back\n";
+    }
 
-        # Get the path to the file; don't output any not in the standard
-        # directory.
-        my @path = $property->file_path;
-        next if $path[0] ne $map_directory;
+    # Similiarly, generate a list of files that we don't use, grouped by the
+    # reasons why.  First, create a hash whose keys are the reasons, and whose
+    # values are anonymous arrays of all the files that share that reason.
+    my %grouped_by_reason;
+    foreach my $file (keys %ignored_files) {
+        push @{$grouped_by_reason{$ignored_files{$file}}}, $file;
+    }
+    foreach my $file (keys %skipped_files) {
+        push @{$grouped_by_reason{$skipped_files{$file}}}, $file;
+    }
 
-        # Don't mention map tables that are for internal-use only
-        next if $property->to_output_map == $INTERNAL_MAP;
+    # Then, sort each group.
+    foreach my $group (keys %grouped_by_reason) {
+        @{$grouped_by_reason{$group}} = sort { lc $a cmp lc $b }
+                                        @{$grouped_by_reason{$group}} ;
+    }
 
-        shift @path;    # Remove the standard name
+    # Finally, create the output text.  For each reason (sorted by the
+    # alphabetically first file that has that reason)...
+    my @unused_files;
+    foreach my $reason (sort { lc $grouped_by_reason{$a}->[0]
+                               cmp lc $grouped_by_reason{$b}->[0]
+                              }
+                         keys %grouped_by_reason)
+    {
+        # Add all the files that have that reason to the output.  Start
+        # with an empty line.
+        push @unused_files, "\n\n";
+        push @unused_files, map { "\n=item F<$_> \n" }
+                            @{$grouped_by_reason{$reason}};
+        # And add the reason under the list of files
+        push @unused_files, "\n$reason\n";
+    }
 
-        my $file = join '/', @path; # In case is in sub directory
-        my $info = $property->full_name;
-        my $short_name = $property->name;
-        if ($info ne $short_name) {
-            $info .= " ($short_name)";
-        }
-        foreach my $more_info ($property->description,
-                               $property->note,
-                               $property->status_info)
-        {
-            next unless $more_info;
-            $info =~ s/\.\Z//;
-            $info .= ".  $more_info";
-        }
-        push @map_tables_actually_output, format_pod_line($info_indent,
-                                                          $file,
-                                                          $info,
-                                                          $property->status);
+    # Similarly, create the output text for the UCD section of the pod
+    my @ucd_pod;
+    foreach my $key (keys %ucd_pod) {
+        next unless $ucd_pod{$key}->{'output_this'};
+        push @ucd_pod, format_pod_line($indent_info_column,
+                                       $ucd_pod{$key}->{'name'},
+                                       $ucd_pod{$key}->{'info'},
+                                       $ucd_pod{$key}->{'status'},
+                                      );
     }
 
     # Sort alphabetically, and fold for output
-    @map_tables_actually_output = sort
-                            pod_alphanumeric_sort @map_tables_actually_output;
-    @map_tables_actually_output
-                        = simple_fold(\@map_tables_actually_output,
-                                        ' ',
-                                        $info_indent,
-                                        $automatic_pod_indent);
-
-    # Generate a list of the formats that can appear in the map tables.
-    my @map_table_formats;
-    foreach my $format (sort keys %map_table_formats) {
-        push @map_table_formats, "  $format    $map_table_formats{$format}\n";
-    }
-
+    @ucd_pod = sort { lc substr($a, 2) cmp lc substr($b, 2) } @ucd_pod;
+    my $ucd_pod = simple_fold(\@ucd_pod,
+                           ' ',
+                           $indent_info_column,
+                           $automatic_pod_indent);
+    $ucd_pod =  format_pod_line($indent_info_column, 'NAME', '  INFO')
+                . "\n"
+                . $ucd_pod;
     local $" = "";
 
     # Everything is ready to assemble.
@@ -13015,54 +15283,69 @@
 
 =head1 NAME
 
-$pod_file - Index of Unicode Version $string_version properties in Perl
+$pod_file - Index of Unicode Version $string_version character properties in Perl
 
 =head1 DESCRIPTION
 
-There are many properties in Unicode, and Perl provides access to almost all of
-them, as well as some additional extensions and short-cut synonyms.
+This document provides information about the portion of the Unicode database
+that deals with character properties, that is the portion that is defined on
+single code points.  (L</Other information in the Unicode data base>
+below briefly mentions other data that Unicode provides.)
 
-And just about all of the few that aren't accessible through the Perl
-core are accessible through the modules: Unicode::Normalize and
-Unicode::UCD, and for Unihan properties, via the CPAN module Unicode::Unihan.
+Perl can provide access to all non-provisional Unicode character properties,
+though not all are enabled by default.  The omitted ones are the Unihan
+properties (accessible via the CPAN module L<Unicode::Unihan>) and certain
+deprecated or Unicode-internal properties.  (An installation may choose to
+recompile Perl's tables to change this.  See L<Unicode character
+properties that are NOT accepted by Perl>.)
 
+For most purposes, access to Unicode properties from the Perl core is through
+regular expression matches, as described in the next section.
+For some special purposes, and to access the properties that are not suitable
+for regular expression matching, all the Unicode character properties that
+Perl handles are accessible via the standard L<Unicode::UCD> module, as
+described in the section L</Properties accessible through Unicode::UCD>.
+
+Perl also provides some additional extensions and short-cut synonyms
+for Unicode properties.
+
 This document merely lists all available properties and does not attempt to
 explain what each property really means.  There is a brief description of each
-Perl extension.  There is some detail about Blocks, Scripts, General_Category,
+Perl extension; see L<perlunicode/Other Properties> for more information on
+these.  There is some detail about Blocks, Scripts, General_Category,
 and Bidi_Class in L<perlunicode>, but to find out about the intricacies of the
-Unicode properties, refer to the Unicode standard.  A good starting place is
-L<$unicode_reference_url>.  More information on the Perl extensions is in
-L<perlunicode/Other Properties>.
+official Unicode properties, refer to the Unicode standard.  A good starting
+place is L<$unicode_reference_url>.
 
 Note that you can define your own properties; see
 L<perlunicode/"User-Defined Character Properties">.
 
-=head1 Properties accessible through \\p{} and \\P{}
+=head1 Properties accessible through C<\\p{}> and C<\\P{}>
 
-The Perl regular expression \\p{} and \\P{} constructs give access to most of
-the Unicode character properties.  The table below shows all these constructs,
-both single and compound forms.
+The Perl regular expression C<\\p{}> and C<\\P{}> constructs give access to
+most of the Unicode character properties.  The table below shows all these
+constructs, both single and compound forms.
 
 B<Compound forms> consist of two components, separated by an equals sign or a
 colon.  The first component is the property name, and the second component is
 the particular value of the property to match against, for example,
-'\\p{Script: Greek}' and '\\p{Script=Greek}' both mean to match characters
+C<\\p{Script: Greek}> and C<\\p{Script=Greek}> both mean to match characters
 whose Script property is Greek.
 
-B<Single forms>, like '\\p{Greek}', are mostly Perl-defined shortcuts for
+B<Single forms>, like C<\\p{Greek}>, are mostly Perl-defined shortcuts for
 their equivalent compound forms.  The table shows these equivalences.  (In our
-example, '\\p{Greek}' is a just a shortcut for '\\p{Script=Greek}'.)
+example, C<\\p{Greek}> is a just a shortcut for C<\\p{Script=Greek}>.)
 There are also a few Perl-defined single forms that are not shortcuts for a
-compound form.  One such is \\p{Word}.  These are also listed in the table.
+compound form.  One such is C<\\p{Word}>.  These are also listed in the table.
 
 In parsing these constructs, Perl always ignores Upper/lower case differences
-everywhere within the {braces}.  Thus '\\p{Greek}' means the same thing as
-'\\p{greek}'.  But note that changing the case of the 'p' or 'P' before the
-left brace completely changes the meaning of the construct, from "match" (for
-'\\p{}') to "doesn't match" (for '\\P{}').  Casing in this document is for
-improved legibility.
+everywhere within the {braces}.  Thus C<\\p{Greek}> means the same thing as
+C<\\p{greek}>.  But note that changing the case of the C<"p"> or C<"P"> before
+the left brace completely changes the meaning of the construct, from "match"
+(for C<\\p{}>) to "doesn't match" (for C<\\P{}>).  Casing in this document is
+for improved legibility.
 
-Also, white space, hyphens, and underscores are also normally ignored
+Also, white space, hyphens, and underscores are normally ignored
 everywhere between the {braces}, and hence can be freely added or removed
 even if the C</x> modifier hasn't been specified on the regular expression.
 But $a_bold_stricter at the beginning of an entry in the table below
@@ -13070,7 +15353,7 @@
 
 =over 4
 
-=item Single form (\\p{name}) tighter rules:
+=item Single form (C<\\p{name}>) tighter rules:
 
 White space, hyphens, and underscores ARE significant
 except for:
@@ -13086,7 +15369,7 @@
 That means, for example, that you can freely add or remove white space
 adjacent to (but within) the braces without affecting the meaning.
 
-=item Compound form (\\p{name=value} or \\p{name:value}) tighter rules:
+=item Compound form (C<\\p{name=value}> or C<\\p{name:value}>) tighter rules:
 
 The tighter rules given above for the single form apply to everything to the
 right of the colon or equals; the looser rules still apply to everything to
@@ -13102,14 +15385,9 @@
 
 =over 4
 
-=item Obsolete
-
-Properties marked with $a_bold_obsolete in the table are considered
-obsolete.
-
 =item Stabilized
 
-Obsolete properties may be stabilized.  Such a determination does not indicate
+A property may be stabilized.  Such a determination does not indicate
 that the property should or should not be used; instead it is a declaration
 that the property will not be maintained nor extended for newly encoded
 characters.  Such properties are marked with $a_bold_stabilized in the
@@ -13117,7 +15395,7 @@
 
 =item Deprecated
 
-An obsolete property may be deprecated, perhaps because its original intent
+A property may be deprecated, perhaps because its original intent
 has been replaced by another property, or because its specification was
 somehow defective.  This means that its use is strongly
 discouraged, so much so that a warning will be issued if used, unless the
@@ -13133,15 +15411,26 @@
 A deprecated property may be made unavailable in a future Perl version, so it
 is best to move away from them.
 
+A deprecated property may also be stabilized, but this fact is not shown.
+
+=item Obsolete
+
+Properties marked with $a_bold_obsolete in the table are considered (plain)
+obsolete.  Generally this designation is given to properties that Unicode once
+used for internal purposes (but not any longer).
+
 =back
 
 Some Perl extensions are present for backwards compatibility and are
-discouraged from being used, but not obsolete.  $A_bold_discouraged
-flags each such entry in the table.
+discouraged from being used, but are not obsolete.  $A_bold_discouraged
+flags each such entry in the table.  Future Unicode versions may force
+some of these extensions to be removed without warning, replaced by another
+property with the same name that means something different.  Use the
+equivalent shown instead.
 
 @block_warning
 
-The table below has two columns.  The left column contains the \\p{}
+The table below has two columns.  The left column contains the C<\\p{}>
 constructs to look up, possibly preceded by the flags mentioned above; and
 the right column contains information about them, like a description, or
 synonyms.  It shows both the single and compound forms for each property that
@@ -13170,7 +15459,7 @@
 same code pode points as the property "other_property".
 
 There is no description given for most non-Perl defined properties (See
-$unicode_reference_url for that).
+L<$unicode_reference_url> for that).
 
 For compactness, 'B<*>' is used as a wildcard instead of showing all possible
 combinations.  For example, entries like:
@@ -13182,10 +15471,11 @@
 
  \\p{Is_*}                                   \\p{*}
 
-means that if and only if, for example, \\p{Foo} exists, then \\p{Is_Foo} and
-\\p{IsFoo} are also valid and all mean the same thing.  And similarly,
-\\p{Foo=Bar} means the same as \\p{Is_Foo=Bar} and \\p{IsFoo=Bar}.  '*' here
-is restricted to something not beginning with an underscore.
+means that if and only if, for example, C<\\p{Foo}> exists, then
+C<\\p{Is_Foo}> and C<\\p{IsFoo}> are also valid and all mean the same thing.
+And similarly, C<\\p{Foo=Bar}> means the same as C<\\p{Is_Foo=Bar}> and
+C<\\p{IsFoo=Bar}>.  "*" here is restricted to something not beginning with an
+underscore.
 
 Also, in binary properties, 'Yes', 'T', and 'True' are all synonyms for 'Y'.
 And 'No', 'F', and 'False' are all synonyms for 'N'.  The table shows 'Y*' and
@@ -13199,11 +15489,11 @@
 Note that all non-essential underscores are removed in the display of the
 short names below.
 
-B<Summary legend:>
+B<Legend summary:>
 
 =over 4
 
-=item B<*> is a wild-card
+=item Z<>B<*> is a wild-card
 
 =item B<(\\d+)> in the info column gives the number of code points matched by
 this property.
@@ -13216,7 +15506,8 @@
 
 =item B<$STRICTER> means tighter (stricter) name matching applies.
 
-=item B<$DISCOURAGED> means use of this form is discouraged.
+=item B<$DISCOURAGED> means use of this form is discouraged, and may not be
+stable.
 
 =back
 
@@ -13224,35 +15515,80 @@
 
 $zero_matches
 
-=head1 Properties not accessible through \\p{} and \\P{}
+=head1 Properties accessible through Unicode::UCD
 
-A few properties are accessible in Perl via various function calls only.
-These are:
+All the Unicode character properties mentioned above (except for those marked
+as for internal use by Perl) are also accessible by
+L<Unicode::UCD/prop_invlist()>.
 
+Due to their nature, not all Unicode character properties are suitable for
+regular expression matches, nor C<prop_invlist()>.  The remaining
+non-provisional, non-internal ones are accessible via
+L<Unicode::UCD/prop_invmap()> (except for those that this Perl installation
+hasn't included; see L<below for which those are|/Unicode character properties
+that are NOT accepted by Perl>).
+
+For compatibility with other parts of Perl, all the single forms given in the
+table in the L<section above|/Properties accessible through \\p{} and \\P{}>
+are recognized.  BUT, there are some ambiguities between some Perl extensions
+and the Unicode properties, all of which are silently resolved in favor of the
+official Unicode property.  To avoid surprises, you should only use
+C<prop_invmap()> for forms listed in the table below, which omits the
+non-recommended ones.  The affected forms are the Perl single form equivalents
+of Unicode properties, such as C<\\p{sc}> being a single-form equivalent of
+C<\\p{gc=sc}>, which is treated by C<prop_invmap()> as the C<Script> property,
+whose short name is C<sc>.  The table indicates the current ambiguities in the
+INFO column, beginning with the word C<"NOT">.
+
+The standard Unicode properties listed below are documented in
+L<$unicode_reference_url>; Perl_Decimal_Digit is documented in
+L<Unicode::UCD/prop_invmap()>.  The other Perl extensions are in
+L<perlunicode/Other Properties>;
+
+The first column in the table is a name for the property; the second column is
+an alternative name, if any, plus possibly some annotations.  The alternative
+name is the property's full name, unless that would simply repeat the first
+column, in which case the second column indicates the property's short name
+(if different).  The annotations are given only in the entry for the full
+name.  If a property is obsolete, etc, the entry will be flagged with the same
+characters used in the table in the L<section above|/Properties accessible
+through \\p{} and \\P{}>, like B<$DEPRECATED> or B<$STABILIZED>.
+
+$ucd_pod
+
+=head1 Properties accessible through other means
+
+Certain properties are accessible also via core function calls.  These are:
+
  Lowercase_Mapping          lc() and lcfirst()
  Titlecase_Mapping          ucfirst()
  Uppercase_Mapping          uc()
 
-Case_Folding is accessible through the /i modifier in regular expressions.
+Also, Case_Folding is accessible through the C</i> modifier in regular
+expressions, the C<\\F> transliteration escape, and the C<L<fc|perlfunc/fc>>
+operator.
 
-The Name property is accessible through the \\N{} interpolation in
-double-quoted strings and regular expressions, but both usages require a C<use
-charnames;> to be specified, which also contains related functions viacode(),
-vianame(), and string_vianame().
+And, the Name and Name_Aliases properties are accessible through the C<\\N{}>
+interpolation in double-quoted strings and regular expressions; and functions
+C<charnames::viacode()>, C<charnames::vianame()>, and
+C<charnames::string_vianame()> (which require a C<use charnames ();> to be
+specified.
 
-=head1 Unicode regular expression properties that are NOT accepted by Perl
+Finally, most properties related to decomposition are accessible via
+L<Unicode::Normalize>.
 
+=head1 Unicode character properties that are NOT accepted by Perl
+
 Perl will generate an error for a few character properties in Unicode when
 used in a regular expression.  The non-Unihan ones are listed below, with the
 reasons they are not accepted, perhaps with work-arounds.  The short names for
 the properties are listed enclosed in (parentheses).
+As described after the list, an installation can change the defaults and choose
+to accept any of these.  The list is machine generated based on the
+choices made for the installation that generated this document.
 
-=over 4
-
 @bad_re_properties
 
-=back
-
 An installation can choose to allow any of these to be matched by downloading
 the Unicode database from L<http://www.unicode.org/Public/> to
 C<\$Config{privlib}>/F<unicore/> in the Perl source tree, changing the
@@ -13260,50 +15596,32 @@
 C<\$Config{privlib}>/F<unicore/mktables> and then re-compiling and installing.
 (C<\%Config> is available from the Config module).
 
-=head1 Files in the I<To> directory (for serious hackers only)
+=head1 Other information in the Unicode data base
 
-All Unicode properties are really mappings (in the mathematical sense) from
-code points to their respective values.  As part of its build process,
-Perl constructs tables containing these mappings for all properties that it
-deals with.  Some, but not all, of these are written out into files.
-Those written out are in the directory C<\$Config{privlib}>/F<unicore/To/>
-(%Config is available from the Config module).
+The Unicode data base is delivered in two different formats.  The XML version
+is valid for more modern Unicode releases.  The other version is a collection
+of files.  The two are intended to give equivalent information.  Perl uses the
+older form; this allows you to recompile Perl to use early Unicode releases.
 
-Perl reserves the right to change the format and even the existence of any of
-those files without notice, except the ones that were in existence prior to
-release 5.13.  If those change, a deprecation cycle will be done first.  These
-are:
+The only non-character property that Perl currently supports is Named
+Sequences, in which a sequence of code points
+is given a name and generally treated as a single entity.  (Perl supports
+these via the C<\\N{...}> double-quotish construct,
+L<charnames/charnames::string_vianame(name)>, and L<Unicode::UCD/namedseq()>.
 
- at map_tables_actually_output
+Below is a list of the files in the Unicode data base that Perl doesn't
+currently use, along with very brief descriptions of their purposes.
+Some of the names of the files have been shortened from those that Unicode
+uses, in order to allow them to be distinguishable from similarly named files
+on file systems for which only the first 8 characters of a name are
+significant.
 
-Each of the files in this directory defines two hash entries to help reading
-programs decipher it.  One of them looks like this:
+=over 4
 
-    \$utf8::SwashInfo{'ToNAME'}{'format'} = 's';
+ at unused_files
 
-where 'NAME' is a name to indicate the property.  For backwards compatibility,
-this is not necessarily the property's official Unicode name.  (The 'To' is
-also for backwards compatibility.)  The hash entry gives the format of the
-mapping fields of the table, currently one of the following:
+=back
 
- at map_table_formats
-
-This format applies only to the entries in the main body of the table.
-Entries defined in hashes or ones that are missing from the list can have a
-different format.
-
-The value that the missing entries have is given by the other SwashInfo hash
-entry line; it looks like this:
-
-    \$utf8::SwashInfo{'ToNAME'}{'missing'} = 'NaN';
-
-This example line says that any Unicode code points not explicitly listed in
-the file have the value 'NaN' under the property indicated by NAME.  If the
-value is the special string C<< <code point> >>, it means that the value for
-any missing code point is the code point itself.  This happens, for example,
-in the file for Uppercase_Mapping (To/Upper.pl), in which code points like the
-character 'A', are missing because the uppercase of 'A' is itself.
-
 =head1 SEE ALSO
 
 L<$unicode_reference_url>
@@ -13323,39 +15641,68 @@
     # Create and write Heavy.pl, which passes info about the tables to
     # utf8_heavy.pl
 
+    # Stringify structures for output
+    my $loose_property_name_of
+                           = simple_dumper(\%loose_property_name_of, ' ' x 4);
+    chomp $loose_property_name_of;
+
+    my $stricter_to_file_of = simple_dumper(\%stricter_to_file_of, ' ' x 4);
+    chomp $stricter_to_file_of;
+
+    my $loose_to_file_of = simple_dumper(\%loose_to_file_of, ' ' x 4);
+    chomp $loose_to_file_of;
+
+    my $nv_floating_to_rational
+                           = simple_dumper(\%nv_floating_to_rational, ' ' x 4);
+    chomp $nv_floating_to_rational;
+
+    my $why_deprecated = simple_dumper(\%utf8::why_deprecated, ' ' x 4);
+    chomp $why_deprecated;
+
+    # We set the key to the file when we associated files with tables, but we
+    # couldn't do the same for the value then, as we might not have the file
+    # for the alternate table figured out at that time.
+    foreach my $cased (keys %caseless_equivalent_to) {
+        my @path = $caseless_equivalent_to{$cased}->file_path;
+        my $path = join '/', @path[1, -1];
+        $caseless_equivalent_to{$cased} = $path;
+    }
+    my $caseless_equivalent_to
+                           = simple_dumper(\%caseless_equivalent_to, ' ' x 4);
+    chomp $caseless_equivalent_to;
+
+    my $loose_property_to_file_of
+                        = simple_dumper(\%loose_property_to_file_of, ' ' x 4);
+    chomp $loose_property_to_file_of;
+
+    my $file_to_swash_name = simple_dumper(\%file_to_swash_name, ' ' x 4);
+    chomp $file_to_swash_name;
+
     my @heavy = <<END;
 $HEADER
-$INTERNAL_ONLY
+$INTERNAL_ONLY_HEADER
 
-# This file is for the use of utf8_heavy.pl
+# This file is for the use of utf8_heavy.pl and Unicode::UCD
 
-# Maps property names in loose standard form to its standard name
+# Maps Unicode (not Perl single-form extensions) property names in loose
+# standard form to their corresponding standard names
 \%utf8::loose_property_name_of = (
-END
-
-    push @heavy, simple_dumper (\%loose_property_name_of, ' ' x 4);
-    push @heavy, <<END;
+$loose_property_name_of
 );
 
 # Maps property, table to file for those using stricter matching
 \%utf8::stricter_to_file_of = (
-END
-    push @heavy, simple_dumper (\%stricter_to_file_of, ' ' x 4);
-    push @heavy, <<END;
+$stricter_to_file_of
 );
 
 # Maps property, table to file for those using loose matching
 \%utf8::loose_to_file_of = (
-END
-    push @heavy, simple_dumper (\%loose_to_file_of, ' ' x 4);
-    push @heavy, <<END;
+$loose_to_file_of
 );
 
 # Maps floating point to fractional form
 \%utf8::nv_floating_to_rational = (
-END
-    push @heavy, simple_dumper (\%nv_floating_to_rational, ' ' x 4);
-    push @heavy, <<END;
+$nv_floating_to_rational
 );
 
 # If a floating point number doesn't have enough digits in it to get this
@@ -13367,35 +15714,519 @@
 # the table, so as to avoid duplication, as many property names can map to the
 # file, but we only need one entry for all of them.
 \%utf8::why_deprecated = (
-END
-
-    push @heavy, simple_dumper (\%utf8::why_deprecated, ' ' x 4);
-    push @heavy, <<END;
+$why_deprecated
 );
 
-# A few properties have different behavior under /i matching.  This maps the
+# A few properties have different behavior under /i matching.  This maps
 # those to substitute files to use under /i.
 \%utf8::caseless_equivalent = (
+$caseless_equivalent_to
+);
+
+# Property names to mapping files
+\%utf8::loose_property_to_file_of = (
+$loose_property_to_file_of
+);
+
+# Files to the swash names within them.
+\%utf8::file_to_swash_name = (
+$file_to_swash_name
+);
+
+1;
 END
 
+    main::write("Heavy.pl", 0, \@heavy);  # The 0 means no utf8.
+    return;
+}
 
-    # We set the key to the file when we associated files with tables, but we
-    # couldn't do the same for the value then, as we might not have the file
-    # for the alternate table figured out at that time.
-    foreach my $cased (keys %caseless_equivalent_to) {
-        my @path = $caseless_equivalent_to{$cased}->file_path;
-        my $path = join '/', @path[1, -1];
-        $path =~ s/\.pl//;
-        $utf8::caseless_equivalent_to{$cased} = $path;
+sub make_Name_pm () {
+    # Create and write Name.pm, which contains subroutines and data to use in
+    # conjunction with Name.pl
+
+    # Maybe there's nothing to do.
+    return unless $has_hangul_syllables || @code_points_ending_in_code_point;
+
+    my @name = <<END;
+$HEADER
+$INTERNAL_ONLY_HEADER
+END
+
+    # Convert these structures to output format.
+    my $code_points_ending_in_code_point =
+        main::simple_dumper(\@code_points_ending_in_code_point,
+                            ' ' x 8);
+    my $names = main::simple_dumper(\%names_ending_in_code_point,
+                                    ' ' x 8);
+    my $loose_names = main::simple_dumper(\%loose_names_ending_in_code_point,
+                                    ' ' x 8);
+
+    # Do the same with the Hangul names,
+    my $jamo;
+    my $jamo_l;
+    my $jamo_v;
+    my $jamo_t;
+    my $jamo_re;
+    if ($has_hangul_syllables) {
+
+        # Construct a regular expression of all the possible
+        # combinations of the Hangul syllables.
+        my @L_re;   # Leading consonants
+        for my $i ($LBase .. $LBase + $LCount - 1) {
+            push @L_re, $Jamo{$i}
+        }
+        my @V_re;   # Middle vowels
+        for my $i ($VBase .. $VBase + $VCount - 1) {
+            push @V_re, $Jamo{$i}
+        }
+        my @T_re;   # Trailing consonants
+        for my $i ($TBase + 1 .. $TBase + $TCount - 1) {
+            push @T_re, $Jamo{$i}
+        }
+
+        # The whole re is made up of the L V T combination.
+        $jamo_re = '('
+                    . join ('|', sort @L_re)
+                    . ')('
+                    . join ('|', sort @V_re)
+                    . ')('
+                    . join ('|', sort @T_re)
+                    . ')?';
+
+        # These hashes needed by the algorithm were generated
+        # during reading of the Jamo.txt file
+        $jamo = main::simple_dumper(\%Jamo, ' ' x 8);
+        $jamo_l = main::simple_dumper(\%Jamo_L, ' ' x 8);
+        $jamo_v = main::simple_dumper(\%Jamo_V, ' ' x 8);
+        $jamo_t = main::simple_dumper(\%Jamo_T, ' ' x 8);
     }
-    push @heavy, simple_dumper (\%utf8::caseless_equivalent_to, ' ' x 4);
-    push @heavy, <<END;
+
+    push @name, <<END;
+
+package charnames;
+
+# This module contains machine-generated tables and code for the
+# algorithmically-determinable Unicode character names.  The following
+# routines can be used to translate between name and code point and vice versa
+
+{ # Closure
+
+    # Matches legal code point.  4-6 hex numbers, If there are 6, the first
+    # two must be 10; if there are 5, the first must not be a 0.  Written this
+    # way to decrease backtracking.  The first regex allows the code point to
+    # be at the end of a word, but to work properly, the word shouldn't end
+    # with a valid hex character.  The second one won't match a code point at
+    # the end of a word, and doesn't have the run-on issue
+    my \$run_on_code_point_re = qr/$run_on_code_point_re/;
+    my \$code_point_re = qr/$code_point_re/;
+
+    # In the following hash, the keys are the bases of names which include
+    # the code point in the name, like CJK UNIFIED IDEOGRAPH-4E01.  The value
+    # of each key is another hash which is used to get the low and high ends
+    # for each range of code points that apply to the name.
+    my %names_ending_in_code_point = (
+$names
+    );
+
+    # The following hash is a copy of the previous one, except is for loose
+    # matching, so each name has blanks and dashes squeezed out
+    my %loose_names_ending_in_code_point = (
+$loose_names
+    );
+
+    # And the following array gives the inverse mapping from code points to
+    # names.  Lowest code points are first
+    my \@code_points_ending_in_code_point = (
+$code_points_ending_in_code_point
+    );
+END
+    # Earlier releases didn't have Jamos.  No sense outputting
+    # them unless will be used.
+    if ($has_hangul_syllables) {
+        push @name, <<END;
+
+    # Convert from code point to Jamo short name for use in composing Hangul
+    # syllable names
+    my %Jamo = (
+$jamo
+    );
+
+    # Leading consonant (can be null)
+    my %Jamo_L = (
+$jamo_l
+    );
+
+    # Vowel
+    my %Jamo_V = (
+$jamo_v
+    );
+
+    # Optional trailing consonant
+    my %Jamo_T = (
+$jamo_t
+    );
+
+    # Computed re that splits up a Hangul name into LVT or LV syllables
+    my \$syllable_re = qr/$jamo_re/;
+
+    my \$HANGUL_SYLLABLE = "HANGUL SYLLABLE ";
+    my \$loose_HANGUL_SYLLABLE = "HANGULSYLLABLE";
+
+    # These constants names and values were taken from the Unicode standard,
+    # version 5.1, section 3.12.  They are used in conjunction with Hangul
+    # syllables
+    my \$SBase = $SBase_string;
+    my \$LBase = $LBase_string;
+    my \$VBase = $VBase_string;
+    my \$TBase = $TBase_string;
+    my \$SCount = $SCount;
+    my \$LCount = $LCount;
+    my \$VCount = $VCount;
+    my \$TCount = $TCount;
+    my \$NCount = \$VCount * \$TCount;
+END
+    } # End of has Jamos
+
+    push @name, << 'END';
+
+    sub name_to_code_point_special {
+        my ($name, $loose) = @_;
+
+        # Returns undef if not one of the specially handled names; otherwise
+        # returns the code point equivalent to the input name
+        # $loose is non-zero if to use loose matching, 'name' in that case
+        # must be input as upper case with all blanks and dashes squeezed out.
+END
+    if ($has_hangul_syllables) {
+        push @name, << 'END';
+
+        if ((! $loose && $name =~ s/$HANGUL_SYLLABLE//)
+            || ($loose && $name =~ s/$loose_HANGUL_SYLLABLE//))
+        {
+            return if $name !~ qr/^$syllable_re$/;
+            my $L = $Jamo_L{$1};
+            my $V = $Jamo_V{$2};
+            my $T = (defined $3) ? $Jamo_T{$3} : 0;
+            return ($L * $VCount + $V) * $TCount + $T + $SBase;
+        }
+END
+    }
+    push @name, << 'END';
+
+        # Name must end in 'code_point' for this to handle.
+        return if (($loose && $name !~ /^ (.*?) ($run_on_code_point_re) $/x)
+                   || (! $loose && $name !~ /^ (.*) ($code_point_re) $/x));
+
+        my $base = $1;
+        my $code_point = CORE::hex $2;
+        my $names_ref;
+
+        if ($loose) {
+            $names_ref = \%loose_names_ending_in_code_point;
+        }
+        else {
+            return if $base !~ s/-$//;
+            $names_ref = \%names_ending_in_code_point;
+        }
+
+        # Name must be one of the ones which has the code point in it.
+        return if ! $names_ref->{$base};
+
+        # Look through the list of ranges that apply to this name to see if
+        # the code point is in one of them.
+        for (my $i = 0; $i < scalar @{$names_ref->{$base}{'low'}}; $i++) {
+            return if $names_ref->{$base}{'low'}->[$i] > $code_point;
+            next if $names_ref->{$base}{'high'}->[$i] < $code_point;
+
+            # Here, the code point is in the range.
+            return $code_point;
+        }
+
+        # Here, looked like the name had a code point number in it, but
+        # did not match one of the valid ones.
+        return;
+    }
+
+    sub code_point_to_name_special {
+        my $code_point = shift;
+
+        # Returns the name of a code point if algorithmically determinable;
+        # undef if not
+END
+    if ($has_hangul_syllables) {
+        push @name, << 'END';
+
+        # If in the Hangul range, calculate the name based on Unicode's
+        # algorithm
+        if ($code_point >= $SBase && $code_point <= $SBase + $SCount -1) {
+            use integer;
+            my $SIndex = $code_point - $SBase;
+            my $L = $LBase + $SIndex / $NCount;
+            my $V = $VBase + ($SIndex % $NCount) / $TCount;
+            my $T = $TBase + $SIndex % $TCount;
+            $name = "$HANGUL_SYLLABLE$Jamo{$L}$Jamo{$V}";
+            $name .= $Jamo{$T} if $T != $TBase;
+            return $name;
+        }
+END
+    }
+    push @name, << 'END';
+
+        # Look through list of these code points for one in range.
+        foreach my $hash (@code_points_ending_in_code_point) {
+            return if $code_point < $hash->{'low'};
+            if ($code_point <= $hash->{'high'}) {
+                return sprintf("%s-%04X", $hash->{'name'}, $code_point);
+            }
+        }
+        return;            # None found
+    }
+} # End closure
+
+1;
+END
+
+    main::write("Name.pm", 0, \@name);  # The 0 means no utf8.
+    return;
+}
+
+sub make_UCD () {
+    # Create and write UCD.pl, which passes info about the tables to
+    # Unicode::UCD
+
+    # Create a mapping from each alias of Perl single-form extensions to all
+    # its equivalent aliases, for quick look-up.
+    my %perlprop_to_aliases;
+    foreach my $table ($perl->tables) {
+
+        # First create the list of the aliases of each extension
+        my @aliases_list;    # List of legal aliases for this extension
+
+        my $table_name = $table->name;
+        my $standard_table_name = standardize($table_name);
+        my $table_full_name = $table->full_name;
+        my $standard_table_full_name = standardize($table_full_name);
+
+        # Make sure that the list has both the short and full names
+        push @aliases_list, $table_name, $table_full_name;
+
+        my $found_ucd = 0;  # ? Did we actually get an alias that should be
+                            # output for this table
+
+        # Go through all the aliases (including the two just added), and add
+        # any new unique ones to the list
+        foreach my $alias ($table->aliases) {
+
+            # Skip non-legal names
+            next unless $alias->ok_as_filename;
+            next unless $alias->ucd;
+
+            $found_ucd = 1;     # have at least one legal name
+
+            my $name = $alias->name;
+            my $standard = standardize($name);
+
+            # Don't repeat a name that is equivalent to one already on the
+            # list
+            next if $standard eq $standard_table_name;
+            next if $standard eq $standard_table_full_name;
+
+            push @aliases_list, $name;
+        }
+
+        # If there were no legal names, don't output anything.
+        next unless $found_ucd;
+
+        # To conserve memory in the program reading these in, omit full names
+        # that are identical to the short name, when those are the only two
+        # aliases for the property.
+        if (@aliases_list == 2 && $aliases_list[0] eq $aliases_list[1]) {
+            pop @aliases_list;
+        }
+
+        # Here, @aliases_list is the list of all the aliases that this
+        # extension legally has.  Now can create a map to it from each legal
+        # standardized alias
+        foreach my $alias ($table->aliases) {
+            next unless $alias->ucd;
+            next unless $alias->ok_as_filename;
+            push @{$perlprop_to_aliases{standardize($alias->name)}},
+                 @aliases_list;
+        }
+    }
+
+    # Make a list of all combinations of properties/values that are suppressed.
+    my @suppressed;
+    if (! $debug_skip) {    # This tends to fail in this debug mode
+        foreach my $property_name (keys %why_suppressed) {
+
+            # Just the value
+            my $value_name = $1 if $property_name =~ s/ = ( .* ) //x;
+
+            # The hash may contain properties not in this release of Unicode
+            next unless defined (my $property = property_ref($property_name));
+
+            # Find all combinations
+            foreach my $prop_alias ($property->aliases) {
+                my $prop_alias_name = standardize($prop_alias->name);
+
+                # If no =value, there's just one combination possibe for this
+                if (! $value_name) {
+
+                    # The property may be suppressed, but there may be a proxy
+                    # for it, so it shouldn't be listed as suppressed
+                    next if $prop_alias->ucd;
+                    push @suppressed, $prop_alias_name;
+                }
+                else {  # Otherwise
+                    foreach my $value_alias
+                                    ($property->table($value_name)->aliases)
+                    {
+                        next if $value_alias->ucd;
+
+                        push @suppressed, "$prop_alias_name="
+                                        .  standardize($value_alias->name);
+                    }
+                }
+            }
+        }
+    }
+    @suppressed = sort @suppressed; # So doesn't change between runs of this
+                                    # program
+
+    # Convert the structure below (designed for Name.pm) to a form that UCD
+    # wants, so it doesn't have to modify it at all; i.e. so that it includes
+    # an element for the Hangul syllables in the appropriate place, and
+    # otherwise changes the name to include the "-<code point>" suffix.
+    my @algorithm_names;
+    my $done_hangul = 0;
+
+    # Copy it linearly.
+    for my $i (0 .. @code_points_ending_in_code_point - 1) {
+
+        # Insert the hanguls in the correct place.
+        if (! $done_hangul
+            && $code_points_ending_in_code_point[$i]->{'low'} > $SBase)
+        {
+            $done_hangul = 1;
+            push @algorithm_names, { low => $SBase,
+                                     high => $SBase + $SCount - 1,
+                                     name => '<hangul syllable>',
+                                    };
+        }
+
+        # Copy the current entry, modified.
+        push @algorithm_names, {
+            low => $code_points_ending_in_code_point[$i]->{'low'},
+            high => $code_points_ending_in_code_point[$i]->{'high'},
+            name =>
+               "$code_points_ending_in_code_point[$i]->{'name'}-<code point>",
+        };
+    }
+
+    # Serialize these structures for output.
+    my $loose_to_standard_value
+                          = simple_dumper(\%loose_to_standard_value, ' ' x 4);
+    chomp $loose_to_standard_value;
+
+    my $string_property_loose_to_name
+                    = simple_dumper(\%string_property_loose_to_name, ' ' x 4);
+    chomp $string_property_loose_to_name;
+
+    my $perlprop_to_aliases = simple_dumper(\%perlprop_to_aliases, ' ' x 4);
+    chomp $perlprop_to_aliases;
+
+    my $prop_aliases = simple_dumper(\%prop_aliases, ' ' x 4);
+    chomp $prop_aliases;
+
+    my $prop_value_aliases = simple_dumper(\%prop_value_aliases, ' ' x 4);
+    chomp $prop_value_aliases;
+
+    my $suppressed = (@suppressed) ? simple_dumper(\@suppressed, ' ' x 4) : "";
+    chomp $suppressed;
+
+    my $algorithm_names = simple_dumper(\@algorithm_names, ' ' x 4);
+    chomp $algorithm_names;
+
+    my $ambiguous_names = simple_dumper(\%ambiguous_names, ' ' x 4);
+    chomp $ambiguous_names;
+
+    my $loose_defaults = simple_dumper(\%loose_defaults, ' ' x 4);
+    chomp $loose_defaults;
+
+    my @ucd = <<END;
+$HEADER
+$INTERNAL_ONLY_HEADER
+
+# This file is for the use of Unicode::UCD
+
+# Highest legal Unicode code point
+\$Unicode::UCD::MAX_UNICODE_CODEPOINT = 0x$MAX_UNICODE_CODEPOINT_STRING;
+
+# Hangul syllables
+\$Unicode::UCD::HANGUL_BEGIN = $SBase_string;
+\$Unicode::UCD::HANGUL_COUNT = $SCount;
+
+# Keys are all the possible "prop=value" combinations, in loose form; values
+# are the standard loose name for the 'value' part of the key
+\%Unicode::UCD::loose_to_standard_value = (
+$loose_to_standard_value
 );
 
+# String property loose names to standard loose name
+\%Unicode::UCD::string_property_loose_to_name = (
+$string_property_loose_to_name
+);
+
+# Keys are Perl extensions in loose form; values are each one's list of
+# aliases
+\%Unicode::UCD::loose_perlprop_to_name = (
+$perlprop_to_aliases
+);
+
+# Keys are standard property name; values are each one's aliases
+\%Unicode::UCD::prop_aliases = (
+$prop_aliases
+);
+
+# Keys of top level are standard property name; values are keys to another
+# hash,  Each one is one of the property's values, in standard form.  The
+# values are that prop-val's aliases.  If only one specified, the short and
+# long alias are identical.
+\%Unicode::UCD::prop_value_aliases = (
+$prop_value_aliases
+);
+
+# Ordered (by code point ordinal) list of the ranges of code points whose
+# names are algorithmically determined.  Each range entry is an anonymous hash
+# of the start and end points and a template for the names within it.
+\@Unicode::UCD::algorithmic_named_code_points = (
+$algorithm_names
+);
+
+# The properties that as-is have two meanings, and which must be disambiguated
+\%Unicode::UCD::ambiguous_names = (
+$ambiguous_names
+);
+
+# Keys are the prop-val combinations which are the default values for the
+# given property, expressed in standard loose form
+\%Unicode::UCD::loose_defaults = (
+$loose_defaults
+);
+
+# All combinations of names that are suppressed.
+# This is actually for UCD.t, so it knows which properties shouldn't have
+# entries.  If it got any bigger, would probably want to put it in its own
+# file to use memory only when it was needed, in testing.
+\@Unicode::UCD::suppressed_properties = (
+$suppressed
+);
+
 1;
 END
 
-    main::write("Heavy.pl", 0, \@heavy);  # The 0 means no utf8.
+    main::write("UCD.pl", 0, \@ucd);  # The 0 means no utf8.
     return;
 }
 
@@ -13412,11 +16243,20 @@
 
     # For each property ...
     # (sort so that if there is an immutable file name, it has precedence, so
-    # some other property can't come in and take over its file name.  If b's
-    # file name is defined, will return 1, meaning to take it first; don't
-    # care if both defined, as they had better be different anyway)
+    # some other property can't come in and take over its file name.  (We
+    # don't care if both defined, as they had better be different anyway.)
+    # The property named 'Perl' needs to be first (it doesn't have any
+    # immutable file name) because empty properties are defined in terms of
+    # it's table named 'Any'.)   We also sort by the property's name.  This is
+    # just for repeatability of the outputs between runs of this program, but
+    # does not affect correctness.
     PROPERTY:
-    foreach my $property (sort { defined $b->file } property_ref('*')) {
+    foreach my $property ($perl,
+                          sort { return -1 if defined $a->file;
+                                 return 1 if defined $b->file;
+                                 return $a->name cmp $b->name;
+                                } grep { $_ != $perl } property_ref('*'))
+    {
         my $type = $property->type;
 
         # And for each table for that property, starting with the mapping
@@ -13434,6 +16274,19 @@
                                 return 1 if ! defined $ext_a;
                                 my $ext_b = $b->external_name;
                                 return -1 if ! defined $ext_b;
+
+                                # But return the non-complement table before
+                                # the complement one, as the latter is defined
+                                # in terms of the former, and needs to have
+                                # the information for the former available.
+                                return 1 if $a->complement != 0;
+                                return -1 if $b->complement != 0;
+
+                                # Similarly, return a subservient table after
+                                # a leader
+                                return 1 if $a->leader != $a;
+                                return -1 if $b->leader != $b;
+
                                 my $cmp = length $ext_a <=> length $ext_b;
 
                                 # Return result if lengths not equal
@@ -13455,8 +16308,8 @@
 
             # See if should suppress the table if is empty, but warn if it
             # contains something.
-            my $suppress_if_empty_warn_if_not = grep { $complete_name eq $_ }
-                                    keys %why_suppress_if_empty_warn_if_not;
+            my $suppress_if_empty_warn_if_not
+                    = $why_suppress_if_empty_warn_if_not{$complete_name} || 0;
 
             # Calculate if this table should have any code points associated
             # with it or not.
@@ -13489,33 +16342,14 @@
                 || ($table == $property->table('N')
                     && $property->table('Y')->is_empty));
 
-
-            # Some tables should match everything
-            my $expected_full =
-                ($is_property)
-                ? # All these types of map tables will be full because
-                  # they will have been populated with defaults
-                  ($type == $ENUM || $type == $BINARY)
-
-                : # A match table should match everything if its method
-                  # shows it should
-                  ($table->matches_all
-
-                  # The complement of an empty binary table will match
-                  # everything
-                  || $is_complement_of_empty_binary
-                  )
-            ;
-
             if ($table->is_empty) {
 
-
                 if ($suppress_if_empty_warn_if_not) {
-                    $table->set_status($SUPPRESSED,
-                        $why_suppress_if_empty_warn_if_not{$complete_name});
+                    $table->set_fate($SUPPRESSED,
+                                     $suppress_if_empty_warn_if_not);
                 }
 
-                # Suppress expected empty tables.
+                # Suppress (by skipping them) expected empty tables.
                 next TABLE if $expected_empty;
 
                 # And setup to later output a warning for those that aren't
@@ -13523,22 +16357,45 @@
                 # this table is a child of another one to avoid duplicating
                 # the warning that should come from the parent one.
                 if (($table == $property || $table->parent == $table)
-                    && $table->status ne $SUPPRESSED
+                    && $table->fate != $SUPPRESSED
+                    && $table->fate != $MAP_PROXIED
                     && ! grep { $complete_name =~ /^$_$/ }
                                                     @tables_that_may_be_empty)
                 {
                     push @unhandled_properties, "$table";
                 }
+
+                # An empty table is just the complement of everything.
+                $table->set_complement($Any) if $table != $property;
             }
             elsif ($expected_empty) {
                 my $because = "";
                 if ($suppress_if_empty_warn_if_not) {
-                    $because = " because $why_suppress_if_empty_warn_if_not{$complete_name}";
+                    $because = " because $suppress_if_empty_warn_if_not";
                 }
 
                 Carp::my_carp("Not expecting property $table$because.  Generating file for it anyway.");
             }
 
+            # Some tables should match everything
+            my $expected_full =
+                ($table->fate == $SUPPRESSED)
+                ? 0
+                : ($is_property)
+                  ? # All these types of map tables will be full because
+                    # they will have been populated with defaults
+                    ($type == $ENUM || $type == $FORCED_BINARY)
+
+                  : # A match table should match everything if its method
+                    # shows it should
+                    ($table->matches_all
+
+                    # The complement of an empty binary table will match
+                    # everything
+                    || $is_complement_of_empty_binary
+                    )
+            ;
+
             my $count = $table->count;
             if ($expected_full) {
                 if ($count != $MAX_UNICODE_CODEPOINTS) {
@@ -13564,17 +16421,18 @@
                     }
                 }
             }
-            elsif ($count == $MAX_UNICODE_CODEPOINTS) {
-                if ($table == $property || $table->leader == $table) {
+            elsif ($count == $MAX_UNICODE_CODEPOINTS
+                   && ($table == $property || $table->leader == $table)
+                   && $table->property->status ne $PLACEHOLDER)
+            {
                     Carp::my_carp("$table unexpectedly matches all Unicode code points.  Proceeding anyway.");
-                }
             }
 
-            if ($table->status eq $SUPPRESSED) {
+            if ($table->fate >= $SUPPRESSED) {
                 if (! $is_property) {
                     my @children = $table->children;
                     foreach my $child (@children) {
-                        if ($child->status ne $SUPPRESSED) {
+                        if ($child->fate < $SUPPRESSED) {
                             Carp::my_carp_bug("'$table' is suppressed and has a child '$child' which isn't");
                         }
                     }
@@ -13582,8 +16440,11 @@
                 next TABLE;
 
             }
+
             if (! $is_property) {
 
+                make_ucd_table_pod_entries($table) if $table->property == $perl;
+
                 # Several things need to be done just once for each related
                 # group of match tables.  Do them on the parent.
                 if ($table->parent == $table) {
@@ -13590,7 +16451,7 @@
 
                     # Add an entry in the pod file for the table; it also does
                     # the children.
-                    make_table_pod_entries($table) if defined $pod_directory;
+                    make_re_pod_entries($table) if defined $pod_directory;
 
                     # See if the the table matches identical code points with
                     # something that has already been output.  In that case,
@@ -13602,21 +16463,27 @@
                     # have to have the same status to share a file, so add
                     # this to the bucket hash.  (The reason for this latter is
                     # that Heavy.pl associates a status with a file.)
-                    my $hash = $table->hash . ';' . $table->status;
+                    # We don't check tables that are inverses of others, as it
+                    # would lead to some coding complications, and checking
+                    # all the regular ones should find everything.
+                    if ($table->complement == 0) {
+                        my $hash = $table->hash . ';' . $table->status;
 
-                    # Look at each table that is in the same bucket as this
-                    # one would be.
-                    foreach my $comparison (@{$match_tables_to_write{$hash}})
-                    {
-                        if ($table->matches_identically_to($comparison)) {
-                            $table->set_equivalent_to($comparison,
+                        # Look at each table that is in the same bucket as
+                        # this one would be.
+                        foreach my $comparison
+                                            (@{$match_tables_to_write{$hash}})
+                        {
+                            if ($table->matches_identically_to($comparison)) {
+                                $table->set_equivalent_to($comparison,
                                                                 Related => 0);
-                            next TABLE;
+                                next TABLE;
+                            }
                         }
+
+                        # Here, not equivalent, add this table to the bucket.
+                        push @{$match_tables_to_write{$hash}}, $table;
                     }
-
-                    # Here, not equivalent, add this table to the bucket.
-                    push @{$match_tables_to_write{$hash}}, $table;
                 }
             }
             else {
@@ -13625,30 +16492,57 @@
                 # Don't write out or make references to the $perl property
                 next if $table == $perl;
 
-                if ($type != $STRING) {
+                make_ucd_table_pod_entries($table);
 
-                    # There is a mapping stored of the various synonyms to the
-                    # standardized name of the property for utf8_heavy.pl.
-                    # Also, the pod file contains entries of the form:
-                    # \p{alias: *}         \p{full: *}
-                    # rather than show every possible combination of things.
+                # There is a mapping stored of the various synonyms to the
+                # standardized name of the property for utf8_heavy.pl.
+                # Also, the pod file contains entries of the form:
+                # \p{alias: *}         \p{full: *}
+                # rather than show every possible combination of things.
 
-                    my @property_aliases = $property->aliases;
+                my @property_aliases = $property->aliases;
 
-                    # The full name of this property is stored by convention
-                    # first in the alias array
-                    my $full_property_name =
-                                '\p{' . $property_aliases[0]->name . ': *}';
-                    my $standard_property_name = standardize($table->name);
+                my $full_property_name = $property->full_name;
+                my $property_name = $property->name;
+                my $standard_property_name = standardize($property_name);
+                my $standard_property_full_name
+                                        = standardize($full_property_name);
 
-                    # For each synonym ...
-                    for my $i (0 .. @property_aliases - 1)  {
-                        my $alias = $property_aliases[$i];
-                        my $alias_name = $alias->name;
-                        my $alias_standard = standardize($alias_name);
+                # We also create for Unicode::UCD a list of aliases for
+                # the property.  The list starts with the property name;
+                # then its full name.
+                my @property_list;
+                my @standard_list;
+                if ( $property->fate <= $MAP_PROXIED) {
+                    @property_list = ($property_name, $full_property_name);
+                    @standard_list = ($standard_property_name,
+                                        $standard_property_full_name);
+                }
 
-                        # Set the mapping for utf8_heavy of the alias to the
-                        # property
+                # For each synonym ...
+                for my $i (0 .. @property_aliases - 1)  {
+                    my $alias = $property_aliases[$i];
+                    my $alias_name = $alias->name;
+                    my $alias_standard = standardize($alias_name);
+
+
+                    # Add other aliases to the list of property aliases
+                    if ($property->fate <= $MAP_PROXIED
+                        && ! grep { $alias_standard eq $_ } @standard_list)
+                    {
+                        push @property_list, $alias_name;
+                        push @standard_list, $alias_standard;
+                    }
+
+                    # For utf8_heavy, set the mapping of the alias to the
+                    # property
+                    if ($type == $STRING) {
+                        if ($property->fate <= $MAP_PROXIED) {
+                            $string_property_loose_to_name{$alias_standard}
+                                            = $standard_property_name;
+                        }
+                    }
+                    else {
                         if (exists ($loose_property_name_of{$alias_standard}))
                         {
                             Carp::my_carp("There already is a property with the same standard name as $alias_name: $loose_property_name_of{$alias_standard}.  Old name is retained");
@@ -13658,7 +16552,7 @@
                                                 = $standard_property_name;
                         }
 
-                        # Now for the pod entry for this alias.  Skip if not
+                        # Now for the re pod entry for this alias.  Skip if not
                         # outputting a pod; skip the first one, which is the
                         # full name so won't have an entry like: '\p{full: *}
                         # \p{full: *}', and skip if don't want an entry for
@@ -13665,9 +16559,9 @@
                         # this one.
                         next if $i == 0
                                 || ! defined $pod_directory
-                                || ! $alias->make_pod_entry;
+                                || ! $alias->make_re_pod_entry;
 
-                        my $rhs = $full_property_name;
+                        my $rhs = "\\p{$full_property_name: *}";
                         if ($property != $perl && $table->perl_extension) {
                             $rhs .= ' (Perl extension)';
                         }
@@ -13677,10 +16571,69 @@
                                         $rhs,
                                         $alias->status);
                     }
-                } # End of non-string-like property code
+                }
 
+                # The list of all possible names is attached to each alias, so
+                # lookup is easy
+                if (@property_list) {
+                    push @{$prop_aliases{$standard_list[0]}}, @property_list;
+                }
 
-                # Don't output a mapping file if not desired.
+                if ($property->fate <= $MAP_PROXIED) {
+
+                    # Similarly, we create for Unicode::UCD a list of
+                    # property-value aliases.
+
+                    my $property_full_name = $property->full_name;
+
+                    # Look at each table in the property...
+                    foreach my $table ($property->tables) {
+                        my @values_list;
+                        my $table_full_name = $table->full_name;
+                        my $standard_table_full_name
+                                              = standardize($table_full_name);
+                        my $table_name = $table->name;
+                        my $standard_table_name = standardize($table_name);
+
+                        # The list starts with the table name and its full
+                        # name.
+                        push @values_list, $table_name, $table_full_name;
+
+                        # We add to the table each unique alias that isn't
+                        # discouraged from use.
+                        foreach my $alias ($table->aliases) {
+                            next if $alias->status
+                                 && $alias->status eq $DISCOURAGED;
+                            my $name = $alias->name;
+                            my $standard = standardize($name);
+                            next if $standard eq $standard_table_name;
+                            next if $standard eq $standard_table_full_name;
+                            push @values_list, $name;
+                        }
+
+                        # Here @values_list is a list of all the aliases for
+                        # the table.  That is, all the property-values given
+                        # by this table.  By agreement with Unicode::UCD,
+                        # if the name and full name are identical, and there
+                        # are no other names, drop the duplcate entry to save
+                        # memory.
+                        if (@values_list == 2
+                            && $values_list[0] eq $values_list[1])
+                        {
+                            pop @values_list
+                        }
+
+                        # To save memory, unlike the similar list for property
+                        # aliases above, only the standard forms hve the list.
+                        # This forces an extra step of converting from input
+                        # name to standard name, but the savings are
+                        # considerable.  (There is only marginal savings if we
+                        # did this with the property aliases.)
+                        push @{$prop_value_aliases{$standard_property_name}{$standard_table_name}}, @values_list;
+                    }
+                }
+
+                # Don't write out a mapping file if not desired.
                 next if ! $property->to_output_map;
             }
 
@@ -13726,7 +16679,8 @@
 
         # Only need to write one file when shared by more than one
         # property
-        next if ! $is_property && $table->leader != $table;
+        next if ! $is_property
+                && ($table->leader != $table || $table->complement != 0);
 
         # Construct a nice comment to add to the file
         $table->set_final_comment;
@@ -13738,10 +16692,13 @@
     # Write out the pod file
     make_pod;
 
-    # And Heavy.pl
+    # And Heavy.pl, Name.pm, UCD.pl
     make_Heavy;
+    make_Name_pm;
+    make_UCD;
 
     make_property_test_script() if $make_test_script;
+    make_normalization_test_script() if $make_norm_test_script;
     return;
 }
 
@@ -13961,7 +16918,10 @@
 
     my @parts;
     push @parts, $good_loose_seps[rand(@good_loose_seps)];
-    for my $part (split /[-\s_]+/, $name) {
+
+    # Preserve trailing ones for the sake of not stripping the underscore from
+    # 'L_'
+    for my $part (split /[-\s_]+ (?= . )/, $name) {
         if (@parts) {
             if ($want_error and rand() < 0.3) {
                 push @parts, $bad_loose_seps[rand(@bad_loose_seps)];
@@ -14024,8 +16984,10 @@
     # or multiple lines. main::write doesn't count the lines.
     my @output;
 
-    foreach my $property (property_ref('*')) {
-        foreach my $table ($property->tables) {
+    # Sort these so get results in same order on different runs of this
+    # program
+    foreach my $property (sort { $a->name cmp $b->name } property_ref('*')) {
+        foreach my $table (sort { $a->name cmp $b->name } $property->tables) {
 
             # Find code points that match, and don't match this table.
             my $valid = $table->get_valid_code_point;
@@ -14039,6 +17001,18 @@
             # in the set_final_comment() for Tables
             my @table_aliases = $table->aliases;
             my @property_aliases = $table->property->aliases;
+
+            # Every property can be optionally be prefixed by 'Is_', so test
+            # that those work, by creating such a new alias for each
+            # pre-existing one.
+            push @property_aliases, map { Alias->new("Is_" . $_->name,
+                                                    $_->loose_match,
+                                                    $_->make_re_pod_entry,
+                                                    $_->ok_as_filename,
+                                                    $_->status,
+                                                    $_->ucd,
+                                                    )
+                                         } @property_aliases;
             my $max = max(scalar @table_aliases, scalar @property_aliases);
             for my $j (0 .. $max - 1) {
 
@@ -14177,6 +17151,82 @@
     return;
 }
 
+sub make_normalization_test_script() {
+    print "Making normalization test script\n" if $verbosity >= $PROGRESS;
+
+    my $n_path = 'TestNorm.pl';
+
+    unshift @normalization_tests, <<'END';
+use utf8;
+use Test::More;
+
+sub ord_string {    # Convert packed ords to printable string
+    use charnames ();
+    return "'" . join("", map { '\N{' . charnames::viacode($_) . '}' }
+                                                unpack "U*", shift) .  "'";
+    #return "'" . join(" ", map { sprintf "%04X", $_ } unpack "U*", shift) .  "'";
+}
+
+sub Test_N {
+    my ($source, $nfc, $nfd, $nfkc, $nfkd) = @_;
+    my $display_source = ord_string($source);
+    my $display_nfc = ord_string($nfc);
+    my $display_nfd = ord_string($nfd);
+    my $display_nfkc = ord_string($nfkc);
+    my $display_nfkd = ord_string($nfkd);
+
+    use Unicode::Normalize;
+    #    NFC
+    #      nfc ==  toNFC(source) ==  toNFC(nfc) ==  toNFC(nfd)
+    #      nfkc ==  toNFC(nfkc) ==  toNFC(nfkd)
+    #
+    #    NFD
+    #      nfd ==  toNFD(source) ==  toNFD(nfc) ==  toNFD(nfd)
+    #      nfkd ==  toNFD(nfkc) ==  toNFD(nfkd)
+    #
+    #    NFKC
+    #      nfkc == toNFKC(source) == toNFKC(nfc) == toNFKC(nfd) ==
+    #      toNFKC(nfkc) == toNFKC(nfkd)
+    #
+    #    NFKD
+    #      nfkd == toNFKD(source) == toNFKD(nfc) == toNFKD(nfd) ==
+    #      toNFKD(nfkc) == toNFKD(nfkd)
+
+    is(NFC($source), $nfc, "NFC($display_source) eq $display_nfc");
+    is(NFC($nfc), $nfc, "NFC($display_nfc) eq $display_nfc");
+    is(NFC($nfd), $nfc, "NFC($display_nfd) eq $display_nfc");
+    is(NFC($nfkc), $nfkc, "NFC($display_nfkc) eq $display_nfkc");
+    is(NFC($nfkd), $nfkc, "NFC($display_nfkd) eq $display_nfkc");
+
+    is(NFD($source), $nfd, "NFD($display_source) eq $display_nfd");
+    is(NFD($nfc), $nfd, "NFD($display_nfc) eq $display_nfd");
+    is(NFD($nfd), $nfd, "NFD($display_nfd) eq $display_nfd");
+    is(NFD($nfkc), $nfkd, "NFD($display_nfkc) eq $display_nfkd");
+    is(NFD($nfkd), $nfkd, "NFD($display_nfkd) eq $display_nfkd");
+
+    is(NFKC($source), $nfkc, "NFKC($display_source) eq $display_nfkc");
+    is(NFKC($nfc), $nfkc, "NFKC($display_nfc) eq $display_nfkc");
+    is(NFKC($nfd), $nfkc, "NFKC($display_nfd) eq $display_nfkc");
+    is(NFKC($nfkc), $nfkc, "NFKC($display_nfkc) eq $display_nfkc");
+    is(NFKC($nfkd), $nfkc, "NFKC($display_nfkd) eq $display_nfkc");
+
+    is(NFKD($source), $nfkd, "NFKD($display_source) eq $display_nfkd");
+    is(NFKD($nfc), $nfkd, "NFKD($display_nfc) eq $display_nfkd");
+    is(NFKD($nfd), $nfkd, "NFKD($display_nfd) eq $display_nfkd");
+    is(NFKD($nfkc), $nfkd, "NFKD($display_nfkc) eq $display_nfkd");
+    is(NFKD($nfkd), $nfkd, "NFKD($display_nfkd) eq $display_nfkd");
+}
+END
+
+    &write($n_path,
+           1,           # Is utf8;
+           [
+            @normalization_tests,
+            'done_testing();'
+            ]);
+    return;
+}
+
 # This is a list of the input files and how to handle them.  The files are
 # processed in their order in this list.  Some reordering is possible if
 # desired, but the v0 files should be first, and the extracted before the
@@ -14183,7 +17233,7 @@
 # others except DAge.txt (as data in an extracted file can be over-ridden by
 # the non-extracted.  Some other files depend on data derived from an earlier
 # file, like UnicodeData requires data from Jamo, and the case changing and
-# folding requires data from Unicode.  Mostly, it safest to order by first
+# folding requires data from Unicode.  Mostly, it is safest to order by first
 # version releases in (except the Jamo).  DAge.txt is read before the
 # extracted ones because of the rarely used feature $compare_versions.  In the
 # unlikely event that there were ever an extracted file that contained the Age
@@ -14266,10 +17316,25 @@
 
                                                 # And for 5.14 Perls with 6.0,
                                                 # have to also make changes
-                                                : ($v_version ge v6.0.0)
+                                                : ($v_version ge v6.0.0
+                                                   && $^V lt v5.17.0)
                                                     ? \&filter_v6_ucd
                                                     : undef),
 
+                                            # Early versions did not have the
+                                            # proper Unicode_1 names for the
+                                            # controls
+                                            (($v_version lt v3.0.0)
+                                            ? \&filter_early_U1_names
+                                            : undef),
+
+                                            # Early versions did not correctly
+                                            # use the later method for giving
+                                            # decimal digit values
+                                            (($v_version le v3.2.0)
+                                            ? \&filter_bad_Nd_ucd
+                                            : undef),
+
                                             # And the main filter
                                             \&filter_UnicodeData_line,
                                          ],
@@ -14300,8 +17365,11 @@
                     Each_Line_Handler => \&filter_unihan_line,
                         ),
     Input_file->new('SpecialCasing.txt', v2.1.8,
-                    Each_Line_Handler => \&filter_special_casing_line,
+                    Each_Line_Handler => ($v_version eq 2.1.8)
+                                         ? \&filter_2_1_8_special_casing_line
+                                         : \&filter_special_casing_line,
                     Pre_Handler => \&setup_special_casing,
+                    Has_Missings_Defaults => $IGNORED,
                     ),
     Input_file->new(
                     'LineBreak.txt', v3.0.0,
@@ -14325,9 +17393,17 @@
                     ),
     Input_file->new('BidiMirroring.txt', v3.0.1,
                     Property => 'Bidi_Mirroring_Glyph',
+                    Has_Missings_Defaults => ($v_version lt v6.2.0)
+                                              ? $NO_DEFAULTS
+                                              # Is <none> which doesn't mean
+                                              # anything to us, we will use the
+                                              # null string
+                                              : $IGNORED,
+
                     ),
-    Input_file->new("NormalizationTest.txt", v3.0.1,
-                    Skip => 1,
+    Input_file->new("NormTest.txt", v3.0.0,
+                     Handler => \&process_NormalizationsTest,
+                     Skip => ($make_norm_test_script) ? 0 : 'Validation Tests',
                     ),
     Input_file->new('CaseFolding.txt', v3.0.1,
                     Pre_Handler => \&setup_case_folding,
@@ -14337,6 +17413,7 @@
                                  : undef,
                            \&filter_case_folding_line
                         ],
+                    Has_Missings_Defaults => $IGNORED,
                     ),
     Input_file->new('DCoreProperties.txt', v3.1.0,
                     # 5.2 changed this file
@@ -14354,28 +17431,35 @@
                                       ? \&filter_old_style_normalization_lines
                                       : undef),
                     ),
-    Input_file->new('HangulSyllableType.txt', v4.0.0,
+    Input_file->new('HangulSyllableType.txt', v0,
                     Has_Missings_Defaults => $NOT_IGNORED,
-                    Property => 'Hangul_Syllable_Type'),
+                    Property => 'Hangul_Syllable_Type',
+                    Pre_Handler => ($v_version lt v4.0.0)
+                                   ? \&generate_hst
+                                   : undef,
+                    ),
     Input_file->new("$AUXILIARY/WordBreakProperty.txt", v4.1.0,
                     Property => 'Word_Break',
                     Has_Missings_Defaults => $NOT_IGNORED,
                     ),
-    Input_file->new("$AUXILIARY/GraphemeBreakProperty.txt", v4.1.0,
+    Input_file->new("$AUXILIARY/GraphemeBreakProperty.txt", v0,
                     Property => 'Grapheme_Cluster_Break',
                     Has_Missings_Defaults => $NOT_IGNORED,
+                    Pre_Handler => ($v_version lt v4.1.0)
+                                   ? \&generate_GCB
+                                   : undef,
                     ),
     Input_file->new("$AUXILIARY/GCBTest.txt", v4.1.0,
                     Handler => \&process_GCB_test,
                     ),
     Input_file->new("$AUXILIARY/LBTest.txt", v4.1.0,
-                    Skip => 1,
+                    Skip => 'Validation Tests',
                     ),
     Input_file->new("$AUXILIARY/SBTest.txt", v4.1.0,
-                    Skip => 1,
+                    Skip => 'Validation Tests',
                     ),
     Input_file->new("$AUXILIARY/WBTest.txt", v4.1.0,
-                    Skip => 1,
+                    Skip => 'Validation Tests',
                     ),
     Input_file->new("$AUXILIARY/SentenceBreakProperty.txt", v4.1.0,
                     Property => 'Sentence_Break',
@@ -14384,11 +17468,17 @@
     Input_file->new('NamedSequences.txt', v4.1.0,
                     Handler => \&process_NamedSequences
                     ),
-    Input_file->new('NameAliases.txt', v5.0.0,
+    Input_file->new('NameAliases.txt', v0,
                     Property => 'Name_Alias',
+                    Pre_Handler => ($v_version le v6.0.0)
+                                   ? \&setup_early_name_alias
+                                   : undef,
+                    Each_Line_Handler => ($v_version le v6.0.0)
+                                   ? \&filter_early_version_name_alias_line
+                                   : \&filter_later_version_name_alias_line,
                     ),
     Input_file->new("BidiTest.txt", v5.2.0,
-                    Skip => 1,
+                    Skip => 'Validation Tests',
                     ),
     Input_file->new('UnihanIndicesDictionary.txt', v5.2.0,
                     Optional => 1,
@@ -14423,6 +17513,28 @@
                     Optional => 1,
                     Each_Line_Handler => \&filter_unihan_line,
                     ),
+    Input_file->new('ScriptExtensions.txt', v6.0.0,
+                    Property => 'Script_Extensions',
+                    Pre_Handler => \&setup_script_extensions,
+                    Each_Line_Handler => \&filter_script_extensions_line,
+                    Has_Missings_Defaults => (($v_version le v6.0.0)
+                                            ? $NO_DEFAULTS
+                                            : $IGNORED),
+                    ),
+    # The two Indic files are actually available starting in v6.0.0, but their
+    # property values are missing from PropValueAliases.txt in that release,
+    # so that further work would have to be done to get them to work properly
+    # for that release.
+    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",
+                    ),
+    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",
+                    ),
 );
 
 # End of all the preliminaries.
@@ -14498,8 +17610,8 @@
             # The paths are stored with relative names, and with '/' as the
             # delimiter; convert to absolute on this machine
             my $full = lc(File::Spec->rel2abs(internal_file_to_platform($input)));
-            $potential_files{$full} = 1
-                        if ! grep { lc($full) eq lc($_) } @ignored_files_full_names;
+            $potential_files{lc $full} = 1
+                if ! grep { lc($full) eq lc($_) } @ignored_files_full_names;
         }
     }
 
@@ -14519,8 +17631,8 @@
     }
 
     my @unknown_input_files;
-    foreach my $file (keys %potential_files) {
-        next if grep { lc($file) eq lc($_) } @known_files;
+    foreach my $file (keys %potential_files) {  # The keys are stored in lc
+        next if grep { $file eq lc($_) } @known_files;
 
         # Here, the file is unknown to us.  Get relative path name
         $file = File::Spec->abs2rel($file);
@@ -14572,7 +17684,7 @@
 
 # Create the list of input files from the objects we have defined, plus
 # version
-my @input_files = 'version';
+my @input_files = qw(version Makefile);
 foreach my $object (@input_file_objects) {
     my $file = $object->file;
     next if ! defined $file;    # Not all objects have files
@@ -14603,6 +17715,10 @@
     }
 }
 
+# We use 'Makefile' just to see if it has changed since the last time we
+# rebuilt.  Now discard it.
+ at input_files = grep { $_ ne 'Makefile' } @input_files;
+
 my $rebuild = $write_unchanged_files    # Rebuild: if unconditional rebuild
               || ! scalar @mktables_list_output_files  # or if no outputs known
               || $old_start_time < $most_recent;       # or out-of-date
@@ -14704,7 +17820,7 @@
 }
 
 # Output these warnings unless -q explicitly specified.
-if ($verbosity >= $NORMAL_VERBOSITY) {
+if ($verbosity >= $NORMAL_VERBOSITY && ! $debug_skip) {
     if (@unhandled_properties) {
         print "\nProperties and tables that unexpectedly have no code points\n";
         foreach my $property (sort @unhandled_properties) {


Property changes on: vendor/perl/dist/lib/unicore/mktables
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/unicore/mktables.lst
===================================================================
--- vendor/perl/dist/lib/unicore/mktables.lst	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/mktables.lst	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/unicore/mktables.lst
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/unicore/version
===================================================================
--- vendor/perl/dist/lib/unicore/version	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/unicore/version	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1 +1 @@
-6.0.0
+6.2.0


Property changes on: vendor/perl/dist/lib/unicore/version
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/utf8.pm
===================================================================
--- vendor/perl/dist/lib/utf8.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/utf8.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 $utf8::hint_bits = 0x00800000;
 
-our $VERSION = '1.09';
+our $VERSION = '1.10';
 
 sub import {
     $^H |= $utf8::hint_bits;
@@ -170,14 +170,14 @@
 
 =item * $flag = utf8::is_utf8(STRING)
 
-(Since Perl 5.8.1)  Test whether STRING is in UTF-8 internally.
+(Since Perl 5.8.1)  Test whether STRING is encoded internally in UTF-8.
 Functionally the same as Encode::is_utf8().
 
 =item * $flag = utf8::valid(STRING)
 
 [INTERNAL] Test whether STRING is in a consistent state regarding
-UTF-8.  Will return true is well-formed UTF-8 and has the UTF-8 flag
-on B<or> if string is held as bytes (both these states are 'consistent').
+UTF-8.  Will return true if it is well-formed UTF-8 and has the UTF-8 flag
+on B<or> if STRING is held as bytes (both these states are 'consistent').
 Main reason for this routine is to allow Perl's testsuite to check
 that operations have left strings in a consistent state.  You most
 probably want to use utf8::is_utf8() instead.


Property changes on: vendor/perl/dist/lib/utf8.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/utf8.t
===================================================================
--- vendor/perl/dist/lib/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -435,10 +435,32 @@
     utf8::decode($k1);
     utf8::decode($k2);
     my $h = { $k1 => 1, $k2 => 2 };
-    is join('', keys %$h), $k2, 'utf8::decode respects copy-on-write';
+    is join('', keys $h), $k2, 'utf8::decode respects copy-on-write';
 }
 
 {
+    # Make sure utf8::decode does not modify read-only scalars
+    # [perl #91850].
+    
+    my $name = "\x{c3}\x{b3}";
+    Internals::SvREADONLY($name, 1);
+    eval { utf8::decode($name) };
+    like $@, qr/^Modification of a read-only/,
+	'utf8::decode respects readonliness';
+}
+
+{
+    # utf8::decode should stringify refs [perl #91852].
+
+    package eieifg { use overload '""'      => sub { "\x{c3}\x{b3}" },
+                                   fallback => 1 }
+
+    my $name = bless[], eieifg::;
+    utf8::decode($name);
+    is $name, "\xf3", 'utf8::decode flattens references';
+}
+
+{
     my $a = "456\xb6";
     utf8::upgrade($a);
 
@@ -501,9 +523,6 @@
 
 for my $pos (0..5) {
 
-    my $pos1 = ($pos >= 3)  ? 2 : ($pos >= 1) ? 1 : 0;
-    my $pos2 = ($pos1 == 2) ? 3 : $pos1;
-
     my $p;
     my $s = "A\xc8\x81\xe8\xab\x86\x{100}";
     chop($s);
@@ -518,11 +537,11 @@
     is($s, "A\xc8\x81\xe8\xab\x86","(pos $pos) str after     utf8::downgrade");
     utf8::decode($s);
     is(length($s), 3,		   "(pos $pos) len after  D; utf8::decode");
-    is(pos($s),    $pos1,	   "(pos $pos) pos after  D; utf8::decode");
+    is(pos($s),    undef,	   "(pos $pos) pos after  D; utf8::decode");
     is($s, "A\x{201}\x{8ac6}",	   "(pos $pos) str after  D; utf8::decode");
     utf8::encode($s);
     is(length($s), 6,		   "(pos $pos) len after  D; utf8::encode");
-    is(pos($s),    $pos2,	   "(pos $pos) pos after  D; utf8::encode");
+    is(pos($s),    undef,	   "(pos $pos) pos after  D; utf8::encode");
     is($s, "A\xc8\x81\xe8\xab\x86","(pos $pos) str after  D; utf8::encode");
 
     $s = "A\xc8\x81\xe8\xab\x86";
@@ -536,11 +555,11 @@
     is($s, "A\xc8\x81\xe8\xab\x86","(pos $pos) str after     utf8::upgrade");
     utf8::decode($s);
     is(length($s), 3,		   "(pos $pos) len after  U; utf8::decode");
-    is(pos($s),    $pos1,	   "(pos $pos) pos after  U; utf8::decode");
+    is(pos($s),    undef,	   "(pos $pos) pos after  U; utf8::decode");
     is($s, "A\x{201}\x{8ac6}",	   "(pos $pos) str after  U; utf8::decode");
     utf8::encode($s);
     is(length($s), 6,		   "(pos $pos) len after  U; utf8::encode");
-    is(pos($s),    $pos2,	   "(pos $pos) pos after  U; utf8::encode");
+    is(pos($s),    undef,	   "(pos $pos) pos after  U; utf8::encode");
     is($s, "A\xc8\x81\xe8\xab\x86","(pos $pos) str after  U; utf8::encode");
 }
 


Property changes on: vendor/perl/dist/lib/utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/utf8_heavy.pl
===================================================================
--- vendor/perl/dist/lib/utf8_heavy.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/utf8_heavy.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,11 @@
 package utf8;
 use strict;
 use warnings;
+use re "/aa";  # So we won't even try to look at above Latin1, potentially
+               # resulting in a recursive call
 
 sub DEBUG () { 0 }
+$|=1 if DEBUG;
 
 sub DESTROY {}
 
@@ -10,6 +13,20 @@
 
 sub croak { require Carp; Carp::croak(@_) }
 
+sub _loose_name ($) {
+    # Given a lowercase property or property-value name, return its
+    # standardized version that is expected for look-up in the 'loose' hashes
+    # in Heavy.pl (hence, this depends on what mktables does).  This squeezes
+    # 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;
+
+    return $loose if $loose !~ / ^ (?: is | to )? l $/x;
+    return 'l_' if $_[0] =~ / l .* _ /x;    # If original had a trailing '_'
+    return $loose;
+}
+
 ##
 ## "SWASH" == "SWATCH HASH". A "swatch" is a swatch of the Unicode landscape.
 ## It's a data structure that encodes a set of Unicode characters.
@@ -29,6 +46,7 @@
 
     sub SWASHNEW {
         my ($class, $type, $list, $minbits, $none) = @_;
+        my $user_defined = 0;
         local $^D = 0 if $^D;
 
         $class = "" unless defined $class;
@@ -45,6 +63,8 @@
         ##     regexec.c:regclass_swash -- for /[]/, \p, and \P
         ##     utf8.c:is_utf8_common    -- for common Unicode properties
         ##     utf8.c:to_utf8_case      -- for lc, uc, ucfirst, etc. and //i
+        ##     Unicode::UCD::prop_invlist
+        ##     Unicode::UCD::prop_invmap
         ##
         ## Given a $type, our goal is to fill $list with the set of codepoint
         ## ranges. If $type is false, $list passed is used.
@@ -63,8 +83,7 @@
         ## $none is undocumented, so I'm (khw) trying to do some documentation
         ## of it now.  It appears to be if there is a mapping in an input file
         ## that maps to 'XXXX', then that is replaced by $none+1, expressed in
-        ## hexadecimal.  The only place I found it possibly used was in
-        ## S_pmtrans in op.c.
+        ## hexadecimal.  It is used somehow in tr///.
         ##
         ## To make the parsing of $type clear, this code takes the a rather
         ## unorthodox approach of last'ing out of the block once we have the
@@ -71,17 +90,27 @@
         ## info we need. Were this to be a subroutine, the 'last' would just
         ## be a 'return'.
         ##
+        #   If a problem is found $type is returned;
+        #   Upon success, a new (or cached) blessed object is returned with
+        #   keys TYPE, BITS, EXTRAS, LIST, and NONE with values having the
+        #   same meanings as the input parameters.
+        #   SPECIALS contains a reference to any special-treatment hash in the
+        #   INVERT_IT is non-zero if the result should be inverted before use
+        #   USER_DEFINED is non-zero if the result came from a user-defined
+        #       property.
         my $file; ## file to load data from, and also part of the %Cache key.
-        my $ListSorted = 0;
 
         # Change this to get a different set of Unicode tables
         my $unicore_dir = 'unicore';
+        my $invert_it = 0;
+        my $list_is_from_mktables = 0;  # Is $list returned from a mktables
+                                        # generated file?  If so, we know it's
+                                        # well behaved.
 
         if ($type)
         {
-
             # Verify that this isn't a recursive call for this property.
-            # Can't use croak, as it may try to recurse here itself.
+            # Can't use croak, as it may try to recurse to here itself.
             my $class_type = $class . "::$type";
             if (grep { $_ eq $class_type } @recursed) {
                 CORE::die "panic: Infinite recursion in SWASHNEW for '$type'\n";
@@ -93,7 +122,7 @@
 
             # regcomp.c surrounds the property name with '__" and '_i' if this
             # is to be caseless matching.
-            my $caseless = $type =~ s/^__(.*)_i$/$1/;
+            my $caseless = $type =~ s/^(.*)__(.*)_i$/$1$2/;
 
             print STDERR __LINE__, ": type=$type, caseless=$caseless\n" if DEBUG;
 
@@ -104,8 +133,11 @@
                 ## package if no package given
                 ##
 
-                my $caller1 = $type =~ s/(.+)::// ? $1 : caller(1);
 
+                my $caller0 = caller(0);
+                my $caller1 = $type =~ s/(.+)::// ? $1 : $caller0 eq 'main' ?
+                'main' : caller(1);
+
                 if (defined $caller1 && $type =~ /^I[ns]\w+$/) {
                     my $prop = "${caller1}::$type";
                     if (exists &{$prop}) {
@@ -122,6 +154,7 @@
                             if $tainted;
                         no strict 'refs';
                         $list = &{$prop}($caseless);
+                        $user_defined = 1;
                         last GETFILE;
                     }
                 }
@@ -170,9 +203,10 @@
                     print STDERR __LINE__, ": $property\n" if DEBUG;
 
                     # Here it is the compound property=table form.  The property
-                    # name is always loosely matched, which means remove any of
-                    # these:
-                    $property =~ s/[_\s-]//g;
+                    # name is always loosely matched, and always can have an
+                    # optional 'is' prefix (which isn't true in the single
+                    # form).
+                    $property = _loose_name($property) =~ s/^is//r;
 
                     # And convert to canonical form.  Quit if not valid.
                     $property = $utf8::loose_property_name_of{$property};
@@ -212,7 +246,7 @@
                                                     # minus
 
                             # Remove underscores between digits.
-                            $part =~ s/( ?<= [0-9] ) _ (?= [0-9] ) //xg;
+                            $part =~ s/(?<= [0-9] ) _ (?= [0-9] ) //xg;
 
                             # No leading zeros (but don't make a single '0'
                             # into a null string)
@@ -364,7 +398,7 @@
                 # out the applicable characters on the rhs and looking up
                 # again.
                 if (! defined $file) {
-                    $table =~ s/ [_\s-] //xg;
+                    $table = _loose_name($table);
                     $property_and_table = "$prefix$table";
                     print STDERR __LINE__, ": $property_and_table\n" if DEBUG;
                     $file = $utf8::loose_to_file_of{$property_and_table};
@@ -372,6 +406,11 @@
 
                 # Add the constant and go fetch it in.
                 if (defined $file) {
+
+                    # A beginning ! means to invert.  The 0+ makes sure is
+                    # numeric
+                    $invert_it = 0 + $file =~ s/^!//;
+
                     if ($utf8::why_deprecated{$file}) {
                         warnings::warnif('deprecated', "Use of '$type' in \\p{} or \\P{} is deprecated because: $utf8::why_deprecated{$file};");
                     }
@@ -387,36 +426,69 @@
                 print STDERR __LINE__, ": didn't find $property_and_table\n" if DEBUG;
 
                 ##
-                ## See if it's a user-level "To".
+                ## Last attempt -- see if it's a standard "To" name
+                ## (e.g. "ToLower")  ToTitle is used by ucfirst().
+                ## The user-level way to access ToDigit() and ToFold()
+                ## is to use Unicode::UCD.
                 ##
+                # Only check if caller wants non-binary
+                my $retried = 0;
+                if ($minbits != 1 && $property_and_table =~ s/^to//) {{
+                    # Look input up in list of properties for which we have
+                    # mapping files.
+                    if (defined ($file =
+                          $utf8::loose_property_to_file_of{$property_and_table}))
+                    {
+                        $type = $utf8::file_to_swash_name{$file};
+                        print STDERR __LINE__, ": type set to $type\n" if DEBUG;
+                        $file = "$unicore_dir/$file.pl";
+                        last GETFILE;
+                    }   # If that fails see if there is a corresponding binary
+                        # property file
+                    elsif (defined ($file =
+                                   $utf8::loose_to_file_of{$property_and_table}))
+                    {
 
-                my $caller0 = caller(0);
+                        # Here, there is no map file for the property we are
+                        # trying to get the map of, but this is a binary
+                        # property, and there is a file for it that can easily
+                        # be translated to a mapping.
 
-                if (defined $caller0 && $type =~ /^To(?:\w+)$/) {
-                    my $map = $caller0 . "::" . $type;
+                        # In the case of properties that are forced to binary,
+                        # they are a combination.  We return the actual
+                        # mapping instead of the binary.  If the input is
+                        # something like 'Tocjkkiicore', it will be found in
+                        # %loose_property_to_file_of above as => 'To/kIICore'.
+                        # But the form like ToIskiicore won't be.  To fix
+                        # this, it was easiest to do it here.  These
+                        # properties are the complements of the default
+                        # property, so there is an entry in %loose_to_file_of
+                        # that is 'iskiicore' => '!kIICore/N', If we find such
+                        # an entry, strip off things and try again, which
+                        # should find the entry in %loose_property_to_file_of.
+                        # Actual binary properties that are of this form, such
+                        # as this entry: 'ishrkt' => '!Perl/Any' will also be
+                        # retried, but won't be in %loose_property_to_file_of,
+                        # and instead the next time through, it will find
+                        # 'hrkt' => '!Perl/Any' and proceed.
+                        redo if ! $retried
+                                && $file =~ /^!/
+                                && $property_and_table =~ s/^is//;
 
-                    if (exists &{$map}) {
-                        no strict 'refs';
-                        
-                        $list = &{$map};
-                        warnings::warnif('deprecated', "User-defined case-mapping '$type' is deprecated");
+                        # This is a binary property.  Setting this here causes
+                        # it to be stored as such in the cache, so if someone
+                        # comes along later looking for just a binary, they
+                        # get it.
+                        $minbits = 1;
+
+                        # The 0+ makes sure is numeric
+                        $invert_it = 0 + $file =~ s/^!//;
+                        $file = "$unicore_dir/lib/$file.pl";
                         last GETFILE;
                     }
-                }
+                } }
 
                 ##
-                ## Last attempt -- see if it's a standard "To" name
-                ## (e.g. "ToLower")  ToTitle is used by ucfirst().
-                ## The user-level way to access ToDigit() and ToFold()
-                ## is to use Unicode::UCD.
-                ##
-                if ($type =~ /^To(Digit|Fold|Lower|Title|Upper)$/) {
-                    $file = "$unicore_dir/To/$1.pl";
-                    ## would like to test to see if $file actually exists....
-                    last GETFILE;
-                }
-
-                ##
                 ## If we reach this line, it's because we couldn't figure
                 ## out what to do with $type. Ouch.
                 ##
@@ -423,7 +495,7 @@
 
                 pop @recursed if @recursed;
                 return $type;
-            }
+            } # end of GETFILE block
 
             if (defined $file) {
                 print STDERR __LINE__, ": found it (file='$file')\n" if DEBUG;
@@ -433,11 +505,12 @@
                 ## (exception: user-defined properties and mappings), so we
                 ## have a filename, so now we load it if we haven't already.
                 ## If we have, return the cached results. The cache key is the
-                ## class and file to load.
+                ## class and file to load, and whether the results need to be
+                ## inverted.
                 ##
-                my $found = $Cache{$class, $file};
+                my $found = $Cache{$class, $file, $invert_it};
                 if ($found and ref($found) eq $class) {
-                    print STDERR __LINE__, ": Returning cached '$file' for \\p{$type}\n" if DEBUG;
+                    print STDERR __LINE__, ": Returning cached swash for '$class,$file,$invert_it' for \\p{$type}\n" if DEBUG;
                     pop @recursed if @recursed;
                     return $found;
                 }
@@ -445,25 +518,59 @@
                 local $@;
                 local $!;
                 $list = do $file; die $@ if $@;
+                $list_is_from_mktables = 1;
             }
+        } # End of $type is non-null
 
-            $ListSorted = 1; ## we know that these lists are sorted
-        }
+        # Here, either $type was null, or we found the requested property and
+        # read it into $list
 
-        my $extras;
+        my $extras = "";
+
         my $bits = $minbits;
 
-        if ($list) {
+        # mktables lists don't have extras, like '&utf8::prop', so don't need
+        # to separate them; also lists are already sorted, so don't need to do
+        # that.
+        if ($list && ! $list_is_from_mktables) {
             my $taint = substr($list,0,0); # maintain taint
-            my @tmp = split(/^/m, $list);
-            my %seen;
-            no warnings;
-            $extras = join '', $taint, grep /^[^0-9a-fA-F]/, @tmp;
-            $list = join '', $taint,
-                map  { $_->[1] }
-                sort { $a->[0] <=> $b->[0] }
-                map  { /^([0-9a-fA-F]+)/; [ CORE::hex($1), $_ ] }
-                grep { /^([0-9a-fA-F]+)/ and not $seen{$1}++ } @tmp; # XXX doesn't do ranges right
+
+            # Separate the extras from the code point list, and make sure
+            # user-defined properties and tr/// are well-behaved for
+            # downstream code.
+            if ($user_defined || $none) {
+                my @tmp = split(/^/m, $list);
+                my %seen;
+                no warnings;
+
+                # The extras are anything that doesn't begin with a hex digit.
+                $extras = join '', $taint, grep /^[^0-9a-fA-F]/, @tmp;
+
+                # Remove the extras, and sort the remaining entries by the
+                # numeric value of their beginning hex digits, removing any
+                # duplicates.
+                $list = join '', $taint,
+                        map  { $_->[1] }
+                        sort { $a->[0] <=> $b->[0] }
+                        map  { /^([0-9a-fA-F]+)/; [ CORE::hex($1), $_ ] }
+                        grep { /^([0-9a-fA-F]+)/ and not $seen{$1}++ } @tmp; # XXX doesn't do ranges right
+            }
+            else {
+                # mktables has gone to some trouble to make non-user defined
+                # properties well-behaved, so we can skip the effort we do for
+                # user-defined ones.  Any extras are at the very beginning of
+                # the string.
+
+                # This regex splits out the first lines of $list into $1 and
+                # strips them off from $list, until we get one that begins
+                # with a hex number, alone on the line, or followed by a tab.
+                # Either portion may be empty.
+                $list =~ s/ \A ( .*? )
+                            (?: \z | (?= ^ [0-9a-fA-F]+ (?: \t | $) ) )
+                          //msx;
+
+                $extras = "$taint$1";
+            }
         }
 
         if ($none) {
@@ -508,6 +615,7 @@
                         elsif ($c =~ /^([0-9a-fA-F]+)/) {
                             $subobj = utf8->SWASHNEW("", $c, $minbits, 0);
                         }
+                        print STDERR __LINE__, ": returned from getting sub object for $name\n" if DEBUG;
                         if (! ref $subobj) {
                             pop @recursed if @recursed && $type;
                             return $subobj;
@@ -514,6 +622,8 @@
                         }
                         push @extras, $name => $subobj;
                         $bits = $subobj->{BITS} if $bits < $subobj->{BITS};
+                        $user_defined = $subobj->{USER_DEFINED}
+                                              if $subobj->{USER_DEFINED};
                     }
                 }
             }
@@ -520,7 +630,7 @@
         }
 
         if (DEBUG) {
-            print STDERR __LINE__, ": CLASS = $class, TYPE => $type, BITS => $bits, NONE => $none";
+            print STDERR __LINE__, ": CLASS = $class, TYPE => $type, BITS => $bits, NONE => $none, INVERT_IT => $invert_it, USER_DEFINED => $user_defined";
             print STDERR "\nLIST =>\n$list" if defined $list;
             print STDERR "\nEXTRAS =>\n$extras" if defined $extras;
             print STDERR "\n";
@@ -532,11 +642,22 @@
             EXTRAS => $extras,
             LIST => $list,
             NONE => $none,
+            USER_DEFINED => $user_defined,
             @extras,
         } => $class;
 
         if ($file) {
-            $Cache{$class, $file} = $SWASH;
+            $Cache{$class, $file, $invert_it} = $SWASH;
+            if ($type
+                && exists $utf8::SwashInfo{$type}
+                && exists $utf8::SwashInfo{$type}{'specials_name'})
+            {
+                my $specials_name = $utf8::SwashInfo{$type}{'specials_name'};
+                no strict "refs";
+                print STDERR "\nspecials_name => $specials_name\n" if DEBUG;
+                $SWASH->{'SPECIALS'} = \%$specials_name;
+            }
+            $SWASH->{'INVERT_IT'} = $invert_it;
         }
 
         pop @recursed if @recursed && $type;
@@ -545,6 +666,6 @@
     }
 }
 
-# Now SWASHGET is recasted into a C function S_swash_get (see utf8.c).
+# Now SWASHGET is recasted into a C function S_swatch_get (see utf8.c).
 
 1;


Property changes on: vendor/perl/dist/lib/utf8_heavy.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/validate.pl
===================================================================
--- vendor/perl/dist/lib/validate.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/validate.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/validate.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/vars.pm
===================================================================
--- vendor/perl/dist/lib/vars.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/vars.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 use 5.006;
 
-our $VERSION = '1.02';
+our $VERSION = '1.03';
 
 use warnings::register;
 use strict qw(vars subs);
@@ -48,7 +48,7 @@
 
 =head1 NAME
 
-vars - Perl pragma to predeclare global variable names (obsolete)
+vars - Perl pragma to predeclare global variable names
 
 =head1 SYNOPSIS
 
@@ -56,9 +56,10 @@
 
 =head1 DESCRIPTION
 
-NOTE: For variables in the current package, the functionality provided
-by this pragma has been superseded by C<our> declarations, available
-in Perl v5.6.0 or later.  See L<perlfunc/our>.
+NOTE: For use with variables in the current package for a single scope, the
+functionality provided by this pragma has been superseded by C<our>
+declarations, available in Perl v5.6.0 or later, and use of this pragma is
+discouraged.  See L<perlfunc/our>.
 
 This will predeclare all the variables whose names are 
 in the list, allowing you to use them under "use strict", and


Property changes on: vendor/perl/dist/lib/vars.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/vars.t
===================================================================
--- vendor/perl/dist/lib/vars.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/vars.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/vars.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/vars_carp.t
===================================================================
--- vendor/perl/dist/lib/vars_carp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/vars_carp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/vars_carp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/lib/version/Internals.pod
===================================================================
--- vendor/perl/dist/lib/version/Internals.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/version/Internals.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 
 Overloaded version objects for all modern versions of Perl.  This documents
 the internal data representation and underlying code for version.pm.  See
-L<version.pod> for daily usage.  This document is only useful for users
+F<version.pod> for daily usage.  This document is only useful for users
 interested in the gory details.
 
 =head1 WHAT IS A VERSION?
@@ -104,8 +104,8 @@
 to specify a version, whereas Decimal Versions enforce a certain
 uniformity.  
 
-Just like L<Decimal Versions>, Dotted-Decimal Versions can be used as
-L<Alpha Versions>.
+Just like L</Decimal Versions>, Dotted-Decimal Versions can be used as
+L</Alpha Versions>.
 
 =head2 Alpha Versions
 
@@ -244,8 +244,8 @@
 
 Because of the nature of the Perl parsing and tokenizing routines,
 certain initialization values B<must> be quoted in order to correctly
-parse as the intended version, especially when using the L<declare> or
-L<qv> methods.  While you do not have to quote decimal numbers when
+parse as the intended version, especially when using the C<declare> or
+L</qv()> methods.  While you do not have to quote decimal numbers when
 creating version objects, it is always safe to quote B<all> initial values
 when using version.pm methods, as this will ensure that what you type is
 what is used.
@@ -338,12 +338,12 @@
 =item qv
 
 A boolean that denotes whether this is a decimal or dotted-decimal version.
-See L<is_qv>.
+See L<version/is_qv()>.
 
 =item alpha
 
 A boolean that denotes whether this is an alpha version.  NOTE: that the
-underscore can can only appear in the last position.  See L<is_alpha>.
+underscore can can only appear in the last position.  See L<version/is_alpha()>.
 
 =item version
 
@@ -397,7 +397,7 @@
 
   print $module->VERSION;
 
-will also exclusively return the stringified form.  See L<Stringification>
+will also exclusively return the stringified form.  See L</Stringification>
 for more details.
 
 =head1 USAGE DETAILS
@@ -438,9 +438,9 @@
   use Example 1.2.3;
 
 and it will again work (i.e. give the error message as above), even with
-releases of Perl which do not normally support v-strings (see L<version/What about v-strings> below).  This has to do with that fact that C<use> only checks
+releases of Perl which do not normally support v-strings (see L<What about v-strings?> above).  This has to do with that fact that C<use> only checks
 to see if the second term I<looks like a number> and passes that to the
-replacement L<UNIVERSAL::VERSION>.  This is not true in Perl 5.005_04,
+replacement L<UNIVERSAL::VERSION|UNIVERSAL/VERSION>.  This is not true in Perl 5.005_04,
 however, so you are B<strongly encouraged> to always use a Decimal version
 in your code, even for those versions of Perl which support the Dotted-Decimal
 version.
@@ -462,7 +462,7 @@
 In order to facilitate this feature, the following
 code can be employed:
 
-  $VERSION = version->new(qw$Revision: 1.1.1.2 $);
+  $VERSION = version->new(qw$Revision: 2.7 $);
 
 and the version object will be created as if the following code
 were used:
@@ -471,7 +471,7 @@
 
 In other words, the version will be automatically parsed out of the
 string, and it will be quoted to preserve the meaning CVS normally
-carries for versions.  The CVS $Revision: 1.1.1.2 $ increments differently from
+carries for versions.  The CVS $Revision$ increments differently from
 Decimal versions (i.e. 1.10 follows 1.9), so it must be handled as if
 it were a Dotted-Decimal Version.
 
@@ -541,7 +541,7 @@
 
 For any version object which is initialized with multiple decimal
 places (either quoted or if possible v-string), or initialized using
-the L<qv>() operator, the stringified representation is returned in
+the L<qv()|version/qv()> operator, the stringified representation is returned in
 a normalized or reduced form (no extraneous zeros), and with a leading 'v':
 
   print $ver->normal;         # prints as v1.2.3.4
@@ -600,7 +600,7 @@
   qv("v1.3.5")             v1.3.5
   qv("1.2")                v1.2   ### exceptional case
 
-See also L<UNIVERSAL::VERSION>, as this also returns the stringified form
+See also L<UNIVERSAL::VERSION|UNIVERSAL/VERSION>, as this also returns the stringified form
 when used as a class method.
 
 IMPORTANT NOTE: There is one exceptional cases shown in the above table
@@ -607,20 +607,20 @@
 where the "initializer" is not stringwise equivalent to the stringified
 representation.  If you use the C<qv>() operator on a version without a
 leading 'v' B<and> with only a single decimal place, the stringified output
-will have a leading 'v', to preserve the sense.  See the L<qv>() operator
+will have a leading 'v', to preserve the sense.  See the L</qv()> operator
 for more details.
 
 IMPORTANT NOTE 2: Attempting to bypass the normal stringification rules by
-manually applying L<numify>() and L<normal>() will sometimes yield
+manually applying L<numify()|version/numify()> and L<normal()|version/normal()>  will sometimes yield
 surprising results:
 
   print version->new(version->new("v1.0")->numify)->normal; # v1.0.0
 
-The reason for this is that the L<numify>() operator will turn "v1.0"
+The reason for this is that the L<numify()|version/numify()> operator will turn "v1.0"
 into the equivalent string "1.000000".  Forcing the outer version object
-to L<normal>() form will display the mathematically equivalent "v1.0.0".
+to L<normal()|version/normal()> form will display the mathematically equivalent "v1.0.0".
 
-As the example in L<new>() shows, you can always create a copy of an
+As the example in L</new()> shows, you can always create a copy of an
 existing version object with the same value by the very compact:
 
   $v2 = $v1->new($v1);


Property changes on: vendor/perl/dist/lib/version/Internals.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/version.pm
===================================================================
--- vendor/perl/dist/lib/version.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/version.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 
 use vars qw(@ISA $VERSION $CLASS $STRICT $LAX *declare *qv);
 
-$VERSION = 0.88;
+$VERSION = 0.9902;
 
 $CLASS = 'version';
 


Property changes on: vendor/perl/dist/lib/version.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/version.pod
===================================================================
--- vendor/perl/dist/lib/version.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/version.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,15 +11,15 @@
 
   # Declaring a dotted-decimal $VERSION (keep on one line!)
 
-  use version 0.77; our $VERSION = version->declare("v1.2.3"); # formal
-  use version 0.77; our $VERSION = qv("v1.2.3");               # shorthand
-  use version 0.77; our $VERSION = qv("v1.2_3");               # alpha
+  use version; our $VERSION = version->declare("v1.2.3"); # formal
+  use version; our $VERSION = qv("v1.2.3");               # shorthand
+  use version; our $VERSION = qv("v1.2_3");               # alpha
 
   # Declaring an old-style decimal $VERSION (use quotes!)
 
   our $VERSION = "1.0203";                                     # recommended
-  use version 0.77; our $VERSION = version->parse("1.0203");   # formal
-  use version 0.77; our $VERSION = version->parse("1.02_03");  # alpha
+  use version; our $VERSION = version->parse("1.0203");   # formal
+  use version; our $VERSION = version->parse("1.02_03");  # alpha
 
   # Comparing mixed version styles (decimals, dotted-decimals, objects)
 
@@ -60,9 +60,10 @@
 
 The more modern form of version assignment, with 3 (or potentially more)
 integers separated by decimal points (e.g. v1.2.3).  This is the form that
-Perl itself has used since 5.6.0 was released.  The leading "v" is now
+Perl itself has used since 5.6.0 was released.  The leading 'v' is now
 strongly recommended for clarity, and will throw a warning in a future
-release if omitted.
+release if omitted.  A leading 'v' character is required to pass the
+L</is_strict()> test.
 
 =back
 
@@ -95,7 +96,7 @@
 
 =head2 How to C<declare()> a dotted-decimal version
 
-  use version 0.77; our $VERSION = version->declare("v1.2.3");
+  use version; our $VERSION = version->declare("v1.2.3");
 
 The C<declare()> method always creates dotted-decimal version objects.  When
 used in a module, you B<must> put it on the same line as "use version" to
@@ -194,7 +195,7 @@
 
 =item C<is_strict()>
 
-If you want to limit youself to a much more narrow definition of what
+If you want to limit yourself to a much more narrow definition of what
 a version string constitutes, C<is_strict()> is limited to version
 strings like the following list:
 


Property changes on: vendor/perl/dist/lib/version.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/lib/version.t
===================================================================
--- vendor/perl/dist/lib/version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/version.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/lib/vmsish.pm
===================================================================
--- vendor/perl/dist/lib/vmsish.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/vmsish.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package vmsish;
 
-our $VERSION = '1.02';
+our $VERSION = '1.03';
 
 =head1 NAME
 
@@ -52,7 +52,7 @@
 =item C<vmsish hushed>
 
 This suppresses printing of VMS status messages to SYS$OUTPUT and
-SYS$ERROR if Perl terminates with an error status.  and allows
+SYS$ERROR if Perl terminates with an error status, and allows
 programs that are expecting "unix-style" Perl to avoid having to parse
 VMS error messages.  It does not suppress any messages from Perl
 itself, just the messages generated by DCL after Perl exits.  The DCL
@@ -107,7 +107,7 @@
 
 =back
 
-See L<perlmod/Pragmatic Modules>.
+See L<perlmod/Perl Modules>.
 
 =cut
 


Property changes on: vendor/perl/dist/lib/vmsish.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/vmsish.t
===================================================================
--- vendor/perl/dist/lib/vmsish.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/vmsish.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/vmsish.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/lib/warnings/register.pm
===================================================================
--- vendor/perl/dist/lib/warnings/register.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/warnings/register.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/warnings/register.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/lib/warnings.pm
===================================================================
--- vendor/perl/dist/lib/warnings.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/warnings.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 
 package warnings;
 
-our $VERSION = '1.12';
+our $VERSION = '1.18';
 
 # Verify that we're called correctly so that warnings will work.
 # see also strict.pm.
@@ -47,7 +47,8 @@
 
 The C<warnings> pragma is a replacement for the command line flag C<-w>,
 but the pragma is limited to the enclosing block, while the flag is global.
-See L<perllexwarn> for more information.
+See L<perllexwarn> for more information and the list of built-in warning
+categories.
 
 If no import list is supplied, all possible warnings are either enabled
 or disabled.
@@ -224,119 +225,138 @@
     'non_unicode'	=> 96,
     'nonchar'		=> 98,
     'surrogate'		=> 100,
+
+    # Warnings Categories added in Perl 5.017
+
+    'experimental'	=> 102,
+    'experimental::lexical_subs'=> 104,
+    'experimental::lexical_topic'=> 106,
+    'experimental::regex_sets'=> 108,
+    'experimental::smartmatch'=> 110,
   );
 
 our %Bits = (
-    'all'		=> "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x15", # [0..50]
-    'ambiguous'		=> "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [29]
-    'bareword'		=> "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [30]
-    'closed'		=> "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
-    'closure'		=> "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
-    'debugging'		=> "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [22]
-    'deprecated'	=> "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
-    'digit'		=> "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [31]
-    'exec'		=> "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
-    'exiting'		=> "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
-    'glob'		=> "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
-    'illegalproto'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00", # [47]
-    'imprecision'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [46]
-    'inplace'		=> "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [23]
-    'internal'		=> "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00", # [24]
-    'io'		=> "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
-    'layer'		=> "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
-    'malloc'		=> "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [25]
-    'misc'		=> "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
-    'newline'		=> "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
-    'non_unicode'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [48]
-    'nonchar'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [49]
-    'numeric'		=> "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
-    'once'		=> "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
-    'overflow'		=> "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
-    'pack'		=> "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
-    'parenthesis'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [32]
-    'pipe'		=> "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
-    'portable'		=> "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
-    'precedence'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [33]
-    'printf'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [34]
-    'prototype'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [35]
-    'qw'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [36]
-    'recursion'		=> "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
-    'redefine'		=> "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
-    'regexp'		=> "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [20]
-    'reserved'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [37]
-    'semicolon'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [38]
-    'severe'		=> "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00", # [21..25]
-    'signal'		=> "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [26]
-    'substr'		=> "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [27]
-    'surrogate'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [50]
-    'syntax'		=> "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00", # [28..38,47]
-    'taint'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [39]
-    'threads'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00", # [40]
-    'uninitialized'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [41]
-    'unopened'		=> "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
-    'unpack'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [42]
-    'untie'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [43]
-    'utf8'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15", # [44,48..50]
-    'void'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [45]
+    'all'		=> "\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55\x55", # [0..55]
+    'ambiguous'		=> "\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00", # [29]
+    'bareword'		=> "\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00", # [30]
+    'closed'		=> "\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
+    'closure'		=> "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
+    'debugging'		=> "\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
+    'deprecated'	=> "\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
+    'digit'		=> "\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00", # [31]
+    'exec'		=> "\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
+    'exiting'		=> "\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
+    'experimental'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x55", # [51..55]
+    'experimental::lexical_subs'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01", # [52]
+    'experimental::lexical_topic'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04", # [53]
+    'experimental::regex_sets'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10", # [54]
+    'experimental::smartmatch'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40", # [55]
+    'glob'		=> "\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
+    'illegalproto'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00", # [47]
+    'imprecision'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00", # [46]
+    'inplace'		=> "\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
+    'internal'		=> "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00", # [24]
+    'io'		=> "\x00\x54\x55\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
+    'layer'		=> "\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
+    'malloc'		=> "\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00", # [25]
+    'misc'		=> "\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
+    'newline'		=> "\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
+    'non_unicode'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00", # [48]
+    'nonchar'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00", # [49]
+    'numeric'		=> "\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
+    'once'		=> "\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
+    'overflow'		=> "\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
+    'pack'		=> "\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
+    'parenthesis'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00", # [32]
+    'pipe'		=> "\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
+    'portable'		=> "\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
+    'precedence'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00", # [33]
+    'printf'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00", # [34]
+    'prototype'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00", # [35]
+    'qw'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00", # [36]
+    'recursion'		=> "\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
+    'redefine'		=> "\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
+    'regexp'		=> "\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
+    'reserved'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00", # [37]
+    'semicolon'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00", # [38]
+    'severe'		=> "\x00\x00\x00\x00\x00\x54\x05\x00\x00\x00\x00\x00\x00\x00", # [21..25]
+    'signal'		=> "\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00", # [26]
+    'substr'		=> "\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00", # [27]
+    'surrogate'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00", # [50]
+    'syntax'		=> "\x00\x00\x00\x00\x00\x00\x00\x55\x55\x15\x00\x40\x00\x00", # [28..38,47]
+    'taint'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00", # [39]
+    'threads'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00", # [40]
+    'uninitialized'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00", # [41]
+    'unopened'		=> "\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
+    'unpack'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00", # [42]
+    'untie'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00", # [43]
+    'utf8'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x15\x00", # [44,48..50]
+    'void'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00", # [45]
   );
 
 our %DeadBits = (
-    'all'		=> "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\x2a", # [0..50]
-    'ambiguous'		=> "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [29]
-    'bareword'		=> "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [30]
-    'closed'		=> "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
-    'closure'		=> "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
-    'debugging'		=> "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [22]
-    'deprecated'	=> "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
-    'digit'		=> "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [31]
-    'exec'		=> "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
-    'exiting'		=> "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
-    'glob'		=> "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
-    'illegalproto'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00", # [47]
-    'imprecision'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [46]
-    'inplace'		=> "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [23]
-    'internal'		=> "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00", # [24]
-    'io'		=> "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
-    'layer'		=> "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
-    'malloc'		=> "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [25]
-    'misc'		=> "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
-    'newline'		=> "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
-    'non_unicode'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [48]
-    'nonchar'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [49]
-    'numeric'		=> "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
-    'once'		=> "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
-    'overflow'		=> "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
-    'pack'		=> "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
-    'parenthesis'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [32]
-    'pipe'		=> "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
-    'portable'		=> "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
-    'precedence'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [33]
-    'printf'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [34]
-    'prototype'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [35]
-    'qw'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [36]
-    'recursion'		=> "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
-    'redefine'		=> "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
-    'regexp'		=> "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [20]
-    'reserved'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [37]
-    'semicolon'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [38]
-    'severe'		=> "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00", # [21..25]
-    'signal'		=> "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [26]
-    'substr'		=> "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [27]
-    'surrogate'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [50]
-    'syntax'		=> "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00", # [28..38,47]
-    'taint'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [39]
-    'threads'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00", # [40]
-    'uninitialized'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [41]
-    'unopened'		=> "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
-    'unpack'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [42]
-    'untie'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [43]
-    'utf8'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a", # [44,48..50]
-    'void'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [45]
+    'all'		=> "\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa\xaa", # [0..55]
+    'ambiguous'		=> "\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00", # [29]
+    'bareword'		=> "\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00", # [30]
+    'closed'		=> "\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [6]
+    'closure'		=> "\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [1]
+    'debugging'		=> "\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00", # [22]
+    'deprecated'	=> "\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [2]
+    'digit'		=> "\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00", # [31]
+    'exec'		=> "\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [7]
+    'exiting'		=> "\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [3]
+    'experimental'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\xaa", # [51..55]
+    'experimental::lexical_subs'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02", # [52]
+    'experimental::lexical_topic'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08", # [53]
+    'experimental::regex_sets'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20", # [54]
+    'experimental::smartmatch'=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80", # [55]
+    'glob'		=> "\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [4]
+    'illegalproto'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00", # [47]
+    'imprecision'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00", # [46]
+    'inplace'		=> "\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00", # [23]
+    'internal'		=> "\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00", # [24]
+    'io'		=> "\x00\xa8\xaa\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [5..11]
+    'layer'		=> "\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [8]
+    'malloc'		=> "\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00", # [25]
+    'misc'		=> "\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [12]
+    'newline'		=> "\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [9]
+    'non_unicode'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00", # [48]
+    'nonchar'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00", # [49]
+    'numeric'		=> "\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [13]
+    'once'		=> "\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [14]
+    'overflow'		=> "\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [15]
+    'pack'		=> "\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [16]
+    'parenthesis'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00", # [32]
+    'pipe'		=> "\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [10]
+    'portable'		=> "\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [17]
+    'precedence'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00", # [33]
+    'printf'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00", # [34]
+    'prototype'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00", # [35]
+    'qw'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00", # [36]
+    'recursion'		=> "\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [18]
+    'redefine'		=> "\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [19]
+    'regexp'		=> "\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00", # [20]
+    'reserved'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00", # [37]
+    'semicolon'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00", # [38]
+    'severe'		=> "\x00\x00\x00\x00\x00\xa8\x0a\x00\x00\x00\x00\x00\x00\x00", # [21..25]
+    'signal'		=> "\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00", # [26]
+    'substr'		=> "\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00", # [27]
+    'surrogate'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00", # [50]
+    'syntax'		=> "\x00\x00\x00\x00\x00\x00\x00\xaa\xaa\x2a\x00\x80\x00\x00", # [28..38,47]
+    'taint'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00", # [39]
+    'threads'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00", # [40]
+    'uninitialized'	=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00", # [41]
+    'unopened'		=> "\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", # [11]
+    'unpack'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00", # [42]
+    'untie'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00", # [43]
+    'utf8'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x2a\x00", # [44,48..50]
+    'void'		=> "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00", # [45]
   );
 
-$NONE     = "\0\0\0\0\0\0\0\0\0\0\0\0\0";
-$LAST_BIT = 102 ;
-$BYTES    = 13 ;
+$NONE     = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0";
+$DEFAULT  = "\x10\x01\x00\x00\x00\x50\x04\x00\x00\x00\x00\x00\x00\x55", # [2,52..55,4,22,23,25]
+$LAST_BIT = 112 ;
+$BYTES    = 14 ;
 
 $All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
 
@@ -386,7 +406,7 @@
 {
     shift;
 
-    my $mask = ${^WARNING_BITS} ;
+    my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
 
     if (vec($mask, $Offsets{'all'}, 1)) {
         $mask |= $Bits{'all'} ;
@@ -402,7 +422,7 @@
     shift;
 
     my $catmask ;
-    my $mask = ${^WARNING_BITS} ;
+    my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
 
     if (vec($mask, $Offsets{'all'}, 1)) {
         $mask |= $Bits{'all'} ;
@@ -481,8 +501,11 @@
         $i = _error_loc(); # see where Carp will allocate the error
     }
 
-    # Defaulting this to 0 reduces complexity in code paths below.
-    my $callers_bitmask = (caller($i))[9] || 0 ;
+    # Default to 0 if caller returns nothing.  Default to $DEFAULT if it
+    # explicitly returns undef.
+    my(@callers_bitmask) = (caller($i))[9] ;
+    my $callers_bitmask =
+	 @callers_bitmask ? $callers_bitmask[0] // $DEFAULT : 0 ;
 
     my @results;
     foreach my $type (FATAL, NORMAL) {
@@ -560,7 +583,7 @@
 
 # These are not part of any public interface, so we can delete them to save
 # space.
-delete $warnings::{$_} foreach qw(NORMAL FATAL MESSAGE);
+delete @warnings::{qw(NORMAL FATAL MESSAGE)};
 
 1;
 


Property changes on: vendor/perl/dist/lib/warnings.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/lib/warnings.t
===================================================================
--- vendor/perl/dist/lib/warnings.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/lib/warnings.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/lib/warnings.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/locale.c
===================================================================
--- vendor/perl/dist/locale.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/locale.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,9 +10,9 @@
 
 /*
  *      A Elbereth Gilthoniel,
- *      silivren penna m\xEDriel
+ *      silivren penna míriel
  *      o menel aglar elenath!
- *      Na-chaered palan-d\xEDriel
+ *      Na-chaered palan-díriel
  *      o galadhremmin ennorath,
  *      Fanuilos, le linnathon
  *      nef aear, si nef aearon!
@@ -28,10 +28,6 @@
 #define PERL_IN_LOCALE_C
 #include "perl.h"
 
-#ifdef I_LOCALE
-#  include <locale.h>
-#endif
-
 #ifdef I_LANGINFO
 #   include <langinfo.h>
 #endif
@@ -231,8 +227,9 @@
 	  const Size_t fa = strxfrm(xbuf, "a",  XFRMBUFSIZE);
 	  const Size_t fb = strxfrm(xbuf, "ab", XFRMBUFSIZE);
 	  const SSize_t mult = fb - fa;
-	  if (mult < 1)
-	      Perl_croak(aTHX_ "strxfrm() gets absurd");
+	  if (mult < 1 && !(fa == 0 && fb == 0))
+	      Perl_croak(aTHX_ "panic: strxfrm() gets absurd - a => %"UVuf", ab => %"UVuf,
+			 (UV) fa, (UV) fb);
 	  PL_collxfrm_base = (fa > (Size_t)mult) ? (fa - mult) : 0;
 	  PL_collxfrm_mult = mult;
 	}
@@ -634,8 +631,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/locale.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/mad/Nomad.pm
===================================================================
--- vendor/perl/dist/mad/Nomad.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mad/Nomad.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/mad/Nomad.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/mad/P5AST.pm
===================================================================
--- vendor/perl/dist/mad/P5AST.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mad/P5AST.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/mad/P5AST.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/mad/P5re.pm
===================================================================
--- vendor/perl/dist/mad/P5re.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mad/P5re.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/mad/P5re.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/mad/PLXML.pm
===================================================================
--- vendor/perl/dist/mad/PLXML.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mad/PLXML.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/mad/PLXML.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/mad/p55
===================================================================
--- vendor/perl/dist/mad/p55	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mad/p55	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/mad/p55
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/mad/t/p55.t
===================================================================
--- vendor/perl/dist/mad/t/p55.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mad/t/p55.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/mad/t/p55.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/madly.c
===================================================================
--- vendor/perl/dist/madly.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/madly.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,8 +19,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/madly.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/make_ext.pl
===================================================================
--- vendor/perl/dist/make_ext.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/make_ext.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,15 +2,6 @@
 use strict;
 use warnings;
 use Config;
-BEGIN {
-    if ($^O eq 'MSWin32') {
-	unshift @INC, '../dist/Cwd';
-	require FindExt;
-    } else {
-	unshift @INC, 'dist/Cwd';
-    }
-}
-use Cwd;
 
 my $is_Win32 = $^O eq 'MSWin32';
 my $is_VMS = $^O eq 'VMS';
@@ -147,7 +138,9 @@
 my %extra_passthrough;
 
 if ($is_Win32) {
-    my $build = getcwd();
+    require Cwd;
+    require FindExt;
+    my $build = Cwd::getcwd();
     $perl = $^X;
     if ($perl =~ m#^\.\.#) {
 	my $here = $build;
@@ -167,7 +160,7 @@
     print "In $build";
     foreach my $dir (@dirs) {
 	chdir($dir) or die "Cannot cd to $dir: $!\n";
-	(my $ext = getcwd()) =~ s{/}{\\}g;
+	(my $ext = Cwd::getcwd()) =~ s{/}{\\}g;
 	FindExt::scan_ext($ext);
 	FindExt::set_static_extensions(split ' ', $Config{static_ext});
 	chdir $build
@@ -211,10 +204,11 @@
 
 {
     # Cwd needs to be built before Encode recurses into subdirectories.
+    # Pod::Simple needs to be built before Pod::Functions
     # This seems to be the simplest way to ensure this ordering:
     my (@first, @other);
     foreach (@extspec) {
-	if ($_ eq 'Cwd') {
+	if ($_ eq 'Cwd' || $_ eq 'Pod/Simple') {
 	    push @first, $_;
 	} else {
 	    push @other, $_;
@@ -287,6 +281,28 @@
 	$makefile = 'Makefile';
     }
     
+    if (-f $makefile) {
+	open my $mfh, $makefile or die "Cannot open $makefile: $!";
+	while (<$mfh>) {
+	    # Plagiarised from CPAN::Distribution
+	    last if /MakeMaker post_initialize section/;
+	    next unless /^#\s+VERSION_FROM\s+=>\s+(.+)/;
+	    my $vmod = eval $1;
+	    my $oldv;
+	    while (<$mfh>) {
+		next unless /^XS_VERSION = (\S+)/;
+		$oldv = $1;
+		last;
+	    }
+	    last unless defined $oldv;
+	    require ExtUtils::MM_Unix;
+	    defined (my $newv = parse_version MM $vmod) or last;
+	    if ($newv ne $oldv) {
+		1 while unlink $makefile
+	    }
+	}
+    }
+
     if (!-f $makefile) {
 	if (!-f 'Makefile.PL') {
 	    print "\nCreating Makefile.PL in $ext_dir for $mname\n";
@@ -376,6 +392,16 @@
 # ex: set ro:
 EOM
 	    close $fh or die "Can't close Makefile.PL: $!";
+	    # As described in commit 23525070d6c0e51f:
+	    # Push the atime and mtime of generated Makefile.PLs back 4
+	    # seconds. In certain circumstances ( on virtual machines ) the
+	    # generated Makefile.PL can produce a Makefile that is older than
+	    # the Makefile.PL. Altering the atime and mtime backwards by 4
+	    # seconds seems to resolve the issue.
+	    eval {
+		my $ftime = time - 4;
+		utime $ftime, $ftime, 'Makefile.PL';
+	    };
 	}
 	print "\nRunning Makefile.PL in $ext_dir\n";
 
@@ -388,7 +414,7 @@
 	    # Inherited from make_ext.pl
 	    @cross = '-MCross';
 	}
-	    
+
 	my @args = ("-I$lib_dir", @cross, 'Makefile.PL');
 	if ($is_VMS) {
 	    my $libd = VMS::Filespec::vmspath($lib_dir);
@@ -445,8 +471,11 @@
     }
 
     if ($is_VMS) {
-	_macroify_passthrough($pass_through);
-	unshift @$pass_through, "/DESCRIPTION=$makefile";
+	_quote_args($pass_through);
+	@$pass_through = (
+			  "/DESCRIPTION=$makefile",
+			  '/MACRO=(' . join(',',@$pass_through) . ')'
+			 );
     }
 
     if (!$target or $target !~ /clean$/) {
@@ -453,11 +482,9 @@
 	# Give makefile an opportunity to rewrite itself.
 	# reassure users that life goes on...
 	my @args = ('config', @$pass_through);
-	_quote_args(\@args) if $is_VMS;
 	system(@run, @make, @args) and print "@run @make @args failed, continuing anyway...\n";
     }
     my @targ = ($target, @$pass_through);
-    _quote_args(\@targ) if $is_VMS;
     print "Making $target in $ext_dir\n at run @make @targ\n";
     my $code = system(@run, @make, @targ);
     die "Unsuccessful make($ext_dir): code=$code" if $code != 0;
@@ -476,11 +503,3 @@
     } @{$args}
     ;
 }
-
-sub _macroify_passthrough {
-    my $passthrough = shift;
-    _quote_args($passthrough);
-    my $macro = '/MACRO=(' . join(',',@$passthrough) . ')';
-    @$passthrough = ();
-    @$passthrough[0] = $macro;  
-}


Property changes on: vendor/perl/dist/make_ext.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/make_patchnum.pl
===================================================================
--- vendor/perl/dist/make_patchnum.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/make_patchnum.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,9 +17,9 @@
 
 This program creates the files holding the information
 about locally applied patches to the source code. The created
-files are  C<git_version.h> and C<lib/Config_git.pl>.
+files are  F<git_version.h> and F<lib/Config_git.pl>.
 
-=head2 C<lib/Config_git.pl>
+=head2 F<lib/Config_git.pl>
 
 Contains status information from git in a form meant to be processed
 by the tied hash logic of Config.pm. It is actually optional,
@@ -133,7 +133,8 @@
 }
 elsif (-d "$srcdir/.git") {
     # git branch | awk 'BEGIN{ORS=""} /\*/ { print $2 }'
-    ($branch) = map { /\* ([^(]\S*)/ ? $1 : "" } backtick("git branch");
+    ($branch) = map { /\* ([^(]\S*)/ ? $1 : () } backtick("git branch");
+    $branch //= "";
     my ($remote,$merge);
     if (length $branch) {
         $merge= backtick("git config branch.$branch.merge");


Property changes on: vendor/perl/dist/make_patchnum.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Deleted: vendor/perl/dist/makeaperl.SH
===================================================================
--- vendor/perl/dist/makeaperl.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/makeaperl.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,130 +0,0 @@
-case $PERL_CONFIG_SH in
-'')
-	if test -f config.sh; then TOP=.;
-	elif test -f ../config.sh; then TOP=..;
-	elif test -f ../../config.sh; then TOP=../..;
-	elif test -f ../../../config.sh; then TOP=../../..;
-	elif test -f ../../../../config.sh; then TOP=../../../..;
-	else
-		echo "Can't find config.sh."; exit 1
-	fi
-	. $TOP/config.sh
-	;;
-esac
-: This forces SH files to create target in same directory as SH file.
-: This is so that make depend always knows where to find SH derivatives.
-case "$0" in
-*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
-esac
-echo "Extracting makeaperl (with variable substitutions)"
-rm -f makeaperl
-$spitshell >makeaperl <<!GROK!THIS!
-$startperl
-    eval 'exec $perlpath -S \$0 \${1+"\$@"}'
-	if \$running_under_some_shell;
-!GROK!THIS!
-
-$spitshell >>makeaperl <<'!NO!SUBS!'
-
-=head1 NAME
-
-makeaperl - create a new perl binary from static extensions
-
-=head1 SYNOPSIS
-
-C<makeaperl -l library -m makefile -o target -t tempdir [object_files] [static_extensions] [search_directories]>
-
-=head1 DESCRIPTION
-
-This utility is designed to build new perl binaries from existing
-extensions on the fly. Called without any arguments it produces a new
-binary with the name C<perl> in the current directory. Intermediate
-files are produced in C</tmp>, if that is writeable, else in the
-current directory. The most important intermediate file is a Makefile,
-that is used internally to call C<make>. The new perl binary will consist
-
-The C<-l> switch lets you specify the name of a perl library to be
-linked into the new binary. If you do not specify a library, makeaperl
-writes targets for any C<libperl*.a> it finds in the search path. The
-topmost target will be the one related to C<libperl.a>.
-
-With the C<-m> switch you can provide a name for the Makefile that
-will be written (default C</tmp/Makefile.$$>). Likewise specifies the
-C<-o> switch a name for the perl binary (default C<perl>). The C<-t>
-switch lets you determine, in which directory the intermediate files
-should be stored.
-
-All object files and static extensions following on the command line
-will be linked into the target file. If there are any directories
-specified on the command line, these directories are searched for
-C<*.a> files, and all of the found ones will be linked in, too. If
-there is no directory named, then the contents of $INC[0] are
-searched.
-
-If the command fails, there is currently no other mechanism to adjust
-the behaviour of the program than to alter the generated Makefile and
-run C<make> by hand.
-
-=head1 AUTHORS
-Tim Bunce <Tim.Bunce at ig.co.uk>, Andreas Koenig
-<koenig at franz.ww.TU-Berlin.DE>; 
-
-=head2 STATUS
-First version, written 5 Feb 1995, is considered alpha.
-
-=cut
-
-use ExtUtils::MakeMaker;
-use Getopt::Long;
-use strict qw(subs refs);
-
-$Version = 1.0;
-$Verbose = 0;
-
-sub usage{
-    warn <<END;
-$0 version $Version
-
-$0: [options] [object_files] [static_extensions ...] [directories to search through]
- -l perllibrary     perl library to link from (the first libperl.a found)
- -m makefilename    name of the makefile to be written (/tmp/Makefile.\$\$)
- -o name            name for perl executable (perl)
- -t directory       directory where intermediate files reside (/tmp)
-END
-    exit 1;
-}
-
-if (-w "/tmp") {
-    $opt_t = "/tmp";
-} else {
-    $opt_t = ".";
-}
-$opt_l = '';
-$opt_m = "$opt_t/Makefile.$$";
-$opt_o = 'perl';
-
-$Getopt::Long::ignorecase=0;
-
-GetOptions('t=s', 'l=s', 'm=s', 'o=s') || die &usage;
-
- at dirs = grep -d $_, @ARGV;
- at fils = grep -f $_, @ARGV;
-
- at dirs = $INC[0] unless @dirs;
-
-open MAKE, ">$opt_m";
-MM->init_main();
-MM->init_others();
-print MAKE MM->makeaperl('MAKE'    => $opt_m,
-			 'TARGET'  => $opt_o,
-			 'TMP'     => $opt_t,
-			 'LIBPERL' => $opt_l,
-			 'DIRS'    => [@dirs], 
-			 'STAT'    => [@fils], 
-			 'INCL'    => [@dirs]
-);
-close MAKE;
-(system "make -f $opt_m") == 0 or die "$0 failed: Please check file $opt_m and run make -f $opt_m\n";
-!NO!SUBS!
-chmod 755 makeaperl
-$eunicefix makeaperl

Modified: vendor/perl/dist/makedef.pl
===================================================================
--- vendor/perl/dist/makedef.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/makedef.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,13 +3,14 @@
 # Create the export list for perl.
 #
 # Needed by WIN32 and OS/2 for creating perl.dll,
-# and by AIX for creating libperl.a when -Dusershrplib is in effect,
+# and by AIX for creating libperl.a when -Duseshrplib is in effect,
+# and by VMS for creating perlshr.exe.
 #
 # Reads from information stored in
 #
+#    %Config::Config (ie config.sh)
 #    config.h
-#    config.sh
-#    global.sym
+#    embed.fnc
 #    globvar.sym
 #    intrpvar.h
 #    miniperl.map (on OS/2)
@@ -16,9 +17,9 @@
 #    perl5.def    (on OS/2; this is the old version of the file being made)
 #    perlio.sym
 #    perlvars.h
+#    regen/opcodes
 #
-# plus long lists of function names hard-coded directly in this script and
-# in the DATA section.
+# plus long lists of function names hard-coded directly in this script.
 #
 # Writes the result to STDOUT.
 #
@@ -29,62 +30,68 @@
 #    perldll.def Windows
 #    perl.exp    AIX
 #    perl.imp    NetWare
+#    makedef.lis VMS
 
-
 BEGIN { unshift @INC, "lib" }
 use Config;
 use strict;
 
-use vars qw($PLATFORM $CCTYPE $FILETYPE $CONFIG_ARGS $ARCHNAME $PATCHLEVEL);
+my %ARGS = (CCTYPE => 'MSVC', TARG_DIR => '');
 
-my (%define, %ordinal);
+my %define;
 
+my $fold;
+
+sub process_cc_flags {
+    foreach (map {split /\s+/, $_} @_) {
+	$define{$1} = $2 // 1 if /^-D(\w+)(?:=(.+))?/;
+    }
+}
+
 while (@ARGV) {
     my $flag = shift;
-    if ($flag =~ s/^CC_FLAGS=/ /) {
-	for my $fflag ($flag =~ /(?:^|\s)-D(\S+)/g) {
-	    $fflag     .= '=1' unless $fflag =~ /^(\w+)=/;
-	    $define{$1} = $2   if $fflag =~ /^(\w+)=(.+)$/;
-	}
-	next;
+    if ($flag =~ /^(?:CC_FLAGS=)?(-D\w.*)/) {
+	process_cc_flags($1);
+    } elsif ($flag =~ /^(CCTYPE|FILETYPE|PLATFORM|TARG_DIR)=(.+)$/) {
+	$ARGS{$1} = $2;
+    } elsif ($flag eq '--sort-fold') {
+	++$fold;
     }
-    $define{$1} = 1 if ($flag =~ /^-D(\w+)$/);
-    $define{$1} = $2 if ($flag =~ /^-D(\w+)=(.+)$/);
-    $CCTYPE   = $1 if ($flag =~ /^CCTYPE=(\w+)$/);
-    $PLATFORM = $1 if ($flag =~ /^PLATFORM=(\w+)$/);
-    if ($PLATFORM eq 'netware') {
-	$FILETYPE = $1 if ($flag =~ /^FILETYPE=(\w+)$/);
-    }
 }
 
-my @PLATFORM = qw(aix win32 wince os2 netware);
-my %PLATFORM;
- at PLATFORM{@PLATFORM} = ();
+require "$ARGS{TARG_DIR}regen/embed_lib.pl";
 
-defined $PLATFORM || die "PLATFORM undefined, must be one of: @PLATFORM\n";
-exists $PLATFORM{$PLATFORM} || die "PLATFORM must be one of: @PLATFORM\n";
+{
+    my @PLATFORM = qw(aix win32 wince os2 netware vms test);
+    my %PLATFORM;
+    @PLATFORM{@PLATFORM} = ();
 
-if ($PLATFORM eq 'win32' or $PLATFORM eq 'wince' or $PLATFORM eq "aix") {
-	# Add the compile-time options that miniperl was built with to %define.
-	# On Win32 these are not the same options as perl itself will be built
-	# with since miniperl is built with a canned config (one of the win32/
-	# config_H.*) and none of the BUILDOPT's that are set in the makefiles,
-	# but they do include some #define's that are hard-coded in various
-	# source files and header files and don't include any BUILDOPT's that
-	# the user might have chosen to disable because the canned configs are
-	# minimal configs that don't include any of those options.
-	my $opts = ($PLATFORM eq 'wince' ? '-MCross' : ''); # for wince need Cross.pm to get Config.pm
+    die "PLATFORM undefined, must be one of: @PLATFORM\n"
+	unless defined $ARGS{PLATFORM};
+    die "PLATFORM must be one of: @PLATFORM\n"
+	unless exists $PLATFORM{$ARGS{PLATFORM}};
+}
 
-	$ENV{PERL5LIB} = join $Config{path_sep}, @INC;
-	my $cmd = "$^X $opts -V";
-	my $config = `$cmd`
-	    or die "Couldn't run [$cmd]: $!";
-	my($options) = $config =~ /^  Compile-time options: (.*?)\n^  \S/ms;
-	$options =~ s/\s+/ /g;
-	print STDERR "Options: ($options)\n";
-	foreach (split /\s+/, $options) {
-		$define{$_} = 1;
-	}
+# Is the following guard strictly necessary? Added during refactoring
+# to keep the same behaviour when merging other code into here.
+process_cc_flags(@Config{qw(ccflags optimize)})
+    if $ARGS{PLATFORM} ne 'win32' && $ARGS{PLATFORM} ne 'wince'
+    && $ARGS{PLATFORM} ne 'netware';
+
+# Add the compile-time options that miniperl was built with to %define.
+# On Win32 these are not the same options as perl itself will be built
+# with since miniperl is built with a canned config (one of the win32/
+# config_H.*) and none of the BUILDOPT's that are set in the makefiles,
+# but they do include some #define's that are hard-coded in various
+# source files and header files and don't include any BUILDOPT's that
+# the user might have chosen to disable because the canned configs are
+# minimal configs that don't include any of those options.
+
+#don't use the host Perl's -V defines for the WinCE Perl
+if($ARGS{PLATFORM} ne 'wince') {
+    my @options = sort(Config::bincompat_options(), Config::non_bincompat_options());
+    print STDERR "Options: (@options)\n" unless $ARGS{PLATFORM} eq 'test';
+    $define{$_} = 1 foreach @options;
 }
 
 my %exportperlmalloc =
@@ -95,69 +102,20 @@
        Perl_calloc		=>	"calloc",
     );
 
-my $exportperlmalloc = $PLATFORM eq 'os2';
+my $exportperlmalloc = $ARGS{PLATFORM} eq 'os2';
 
-my $config_sh   = "config.sh";
-my $config_h    = "config.h";
-my $intrpvar_h  = "intrpvar.h";
-my $perlvars_h  = "perlvars.h";
-my $global_sym  = "global.sym";
-my $globvar_sym = "globvar.sym";
-my $perlio_sym  = "perlio.sym";
-my $static_ext = "";
-
-if ($PLATFORM eq 'aix') {
-    # Nothing for now.
-}
-elsif ($PLATFORM =~ /^win(?:32|ce)$/ || $PLATFORM eq 'netware') {
-    $CCTYPE = "MSVC" unless defined $CCTYPE;
-    foreach ($intrpvar_h, $perlvars_h, $global_sym, $globvar_sym, $perlio_sym) {
-	s!^!..\\!;
-    }
-}
-
-unless ($PLATFORM eq 'win32' || $PLATFORM eq 'wince' || $PLATFORM eq 'netware') {
-    open(CFG,$config_sh) || die "Cannot open $config_sh: $!\n";
-    while (<CFG>) {
-	if (/^(?:ccflags|optimize)='(.+)'$/) {
-	    $_ = $1;
-	    $define{$1} = 1 while /-D(\w+)/g;
-	}
-        if (/^(d_(?:mmap|sigaction))='(.+)'$/) {
-            $define{$1} = $2;
-        }
-	if ($PLATFORM eq 'os2') {
-	    $CONFIG_ARGS = $1 if /^config_args='(.+)'$/;
-	    $ARCHNAME =    $1 if /^archname='(.+)'$/;
-	    $PATCHLEVEL =  $1 if /^perl_patchlevel='(.+)'$/;
-	}
-    }
-    close(CFG);
-}
-if ($PLATFORM eq 'win32' || $PLATFORM eq 'wince') {
-    open(CFG,"<..\\$config_sh") || die "Cannot open ..\\$config_sh: $!\n";
-    if ((join '', <CFG>) =~ /^static_ext='(.*)'$/m) {
-        $static_ext = $1;
-    }
-    close(CFG);
-}
-
-open(CFG,$config_h) || die "Cannot open $config_h: $!\n";
+my $config_h = $ARGS{PLATFORM} eq 'wince' ? 'xconfig.h' : 'config.h';
+open(CFG, '<', $config_h) || die "Cannot open $config_h: $!\n";
 while (<CFG>) {
-    $define{$1} = 1 if /^\s*#\s*define\s+(MYMALLOC)\b/;
-    $define{$1} = 1 if /^\s*#\s*define\s+(MULTIPLICITY)\b/;
-    $define{$1} = 1 if /^\s*#\s*define\s+(PERL_\w+)\b/;
-    $define{$1} = 1 if /^\s*#\s*define\s+(USE_\w+)\b/;
-    $define{$1} = 1 if /^\s*#\s*define\s+(HAS_\w+)\b/;
+    $define{$1} = 1 if /^\s*\#\s*define\s+(MYMALLOC|MULTIPLICITY
+                                           |SPRINTF_RETURNS_STRLEN
+                                           |KILL_BY_SIGPRC
+                                           |(?:PERL|USE|HAS)_\w+)\b/x;
 }
 close(CFG);
 
 # perl.h logic duplication begins
 
-if ($define{PERL_IMPLICIT_SYS}) {
-    $define{PL_OP_SLAB_ALLOC} = 1;
-}
-
 if ($define{USE_ITHREADS}) {
     if (!$define{MULTIPLICITY}) {
         $define{MULTIPLICITY} = 1;
@@ -168,34 +126,19 @@
     $define{USE_ITHREADS} ||
     $define{MULTIPLICITY} ;
 
-if ($define{USE_ITHREADS} && $PLATFORM ne 'win32' && $^O ne 'darwin') {
+if ($define{USE_ITHREADS} && $ARGS{PLATFORM} ne 'win32' && $^O ne 'darwin') {
     $define{USE_REENTRANT_API} = 1;
 }
 
 # perl.h logic duplication ends
 
+print STDERR "Defines: (" . join(' ', sort keys %define) . ")\n"
+     unless $ARGS{PLATFORM} eq 'test';
+
 my $sym_ord = 0;
+my %ordinal;
 
-print STDERR "Defines: (" . join(' ', sort keys %define) . ")\n";
-
-if ($PLATFORM =~ /^win(?:32|ce)$/) {
-    (my $dll = ($define{PERL_DLL} || "perl514")) =~ s/\.dll$//i;
-    print "LIBRARY $dll\n";
-    # The DESCRIPTION module definition file statement is not supported
-    # by VC7 onwards.
-    if ($CCTYPE =~ /^(?:MSVC60|GCC|BORLAND)$/) {
-	print "DESCRIPTION 'Perl interpreter'\n";
-    }
-    print "EXPORTS\n";
-    if ($define{PERL_IMPLICIT_SYS}) {
-	output_symbol("perl_get_host_info");
-	output_symbol("perl_alloc_override");
-    }
-    if ($define{USE_ITHREADS} and $define{PERL_IMPLICIT_SYS}) {
-	output_symbol("perl_clone_host");
-    }
-}
-elsif ($PLATFORM eq 'os2') {
+if ($ARGS{PLATFORM} eq 'os2') {
     if (open my $fh, '<', 'perl5.def') {
       while (<$fh>) {
 	last if /^\s*EXPORTS\b/;
@@ -207,201 +150,47 @@
       }
       $sym_ord < $_ and $sym_ord = $_ for values %ordinal; # Take the max
     }
-    (my $v = $]) =~ s/(\d\.\d\d\d)(\d\d)$/$1_$2/;
-    $v .= '-thread' if $ARCHNAME =~ /-thread/;
-    (my $dll = $define{PERL_DLL}) =~ s/\.dll$//i;
-    $v .= "\@$PATCHLEVEL" if $PATCHLEVEL;
-    my $d = "DESCRIPTION '\@#perl5-porters\@perl.org:$v#\@ Perl interpreter, configured as $CONFIG_ARGS'";
-    $d = substr($d, 0, 249) . "...'" if length $d > 253;
-    print <<"---EOP---";
-LIBRARY '$dll' INITINSTANCE TERMINSTANCE
-$d
-STACKSIZE 32768
-CODE LOADONCALL
-DATA LOADONCALL NONSHARED MULTIPLE
-EXPORTS
----EOP---
 }
-elsif ($PLATFORM eq 'aix') {
-    my $OSVER = `uname -v`;
-    chop $OSVER;
-    my $OSREL = `uname -r`;
-    chop $OSREL;
-    if ($OSVER > 4 || ($OSVER == 4 && $OSREL >= 3)) {
-	print "#! ..\n";
-    } else {
-	print "#!\n";
-    }
-}
-elsif ($PLATFORM eq 'netware') {
-	if ($FILETYPE eq 'def') {
-	print "LIBRARY perl514\n";
-	print "DESCRIPTION 'Perl interpreter for NetWare'\n";
-	print "EXPORTS\n";
-	}
-	if ($define{PERL_IMPLICIT_SYS}) {
-	    output_symbol("perl_get_host_info");
-	    output_symbol("perl_alloc_override");
-	    output_symbol("perl_clone_host");
-	}
-}
 
 my %skip;
-my %export;
+# All platforms export boot_DynaLoader unconditionally.
+my %export = ( boot_DynaLoader => 1 );
 
-sub skip_symbols {
-    my $list = shift;
-    foreach my $symbol (@$list) {
-	$skip{$symbol} = 1;
+sub try_symbols {
+    foreach my $symbol (@_) {
+	++$export{$symbol} unless exists $skip{$symbol};
     }
 }
 
-sub emit_symbols {
-    my $list = shift;
-    foreach my $symbol (@$list) {
-	my $skipsym = $symbol;
-	# XXX hack
-	if ($define{MULTIPLICITY}) {
-	    $skipsym =~ s/^Perl_[GIT](\w+)_ptr$/PL_$1/;
-	}
-	emit_symbol($symbol) unless exists $skip{$skipsym};
+sub readvar {
+    # $hash is the hash that we're adding to. For one of our callers, it will
+    # actually be the skip hash but that doesn't affect the intent of what
+    # we're doing, as in that case we skip adding something to the skip hash
+    # for the second time.
+
+    my $file = $ARGS{TARG_DIR} . shift;
+    my $hash = shift;
+    my $proc = shift;
+    open my $vars, '<', $file or die die "Cannot open $file: $!\n";
+
+    while (<$vars>) {
+	# All symbols have a Perl_ prefix because that's what embed.h sticks
+	# in front of them.  The A?I?S?C? is strictly speaking wrong.
+	next unless /\bPERLVAR(A?I?S?C?)\(([IGT]),\s*(\w+)/;
+
+	my $var = "PL_$3";
+	my $symbol = $proc ? &$proc($1,$2,$3) : $var;
+	++$hash->{$symbol} unless exists $skip{$var};
     }
 }
 
-if ($PLATFORM eq 'win32') {
-    skip_symbols [qw(
-		     PL_statusvalue_vms
-		     PL_archpat_auto
+if ($ARGS{PLATFORM} ne 'os2') {
+    ++$skip{$_} foreach qw(
 		     PL_cryptseen
-		     PL_DBcv
-		     PL_generation
-		     PL_lastgotoprobe
-		     PL_linestart
-		     PL_modcount
-		     PL_pending_ident
-		     PL_sublex_info
-		     PL_timesbuf
-		     main
-		     Perl_ErrorNo
-		     Perl_GetVars
-		     Perl_do_exec3
-		     Perl_do_ipcctl
-		     Perl_do_ipcget
-		     Perl_do_msgrcv
-		     Perl_do_msgsnd
-		     Perl_do_semop
-		     Perl_do_shmio
-		     Perl_dump_fds
-		     Perl_init_thread_intern
-		     Perl_my_bzero
-		     Perl_my_bcopy
-		     Perl_my_htonl
-		     Perl_my_ntohl
-		     Perl_my_swap
-		     Perl_my_chsize
-		     Perl_same_dirent
-		     Perl_setenv_getix
-		     Perl_unlnk
-		     Perl_watch
-		     Perl_safexcalloc
-		     Perl_safexmalloc
-		     Perl_safexfree
-		     Perl_safexrealloc
-		     Perl_my_memcmp
-		     Perl_my_memset
-		     PL_cshlen
-		     PL_cshname
 		     PL_opsave
-		     Perl_do_exec
-		     Perl_getenv_len
-		     Perl_my_pclose
-		     Perl_my_popen
-		     Perl_my_sprintf
-		     )];
-}
-else {
-    skip_symbols [qw(
-		     Perl_do_spawn
-		     Perl_do_spawn_nowait
-		     Perl_do_aspawn
-		     )];
-}
-if ($PLATFORM eq 'wince') {
-    skip_symbols [qw(
-		     PL_statusvalue_vms
-		     PL_archpat_auto
-		     PL_cryptseen
-		     PL_DBcv
-		     PL_generation
-		     PL_lastgotoprobe
-		     PL_linestart
-		     PL_modcount
-		     PL_pending_ident
-		     PL_sublex_info
-		     PL_timesbuf
-		     PL_collation_ix
-		     PL_collation_name
-		     PL_collation_standard
-		     PL_collxfrm_base
-		     PL_collxfrm_mult
-		     PL_numeric_compat1
-		     PL_numeric_local
-		     PL_numeric_name
-		     PL_numeric_radix_sv
-		     PL_numeric_standard
-		     PL_vtbl_collxfrm
-		     Perl_sv_collxfrm
-		     setgid
-		     setuid
-		     win32_free_childdir
-		     win32_free_childenv
-		     win32_get_childdir
-		     win32_get_childenv
-		     win32_spawnvp
-		     main
-		     Perl_ErrorNo
 		     Perl_GetVars
-		     Perl_do_exec3
-		     Perl_do_ipcctl
-		     Perl_do_ipcget
-		     Perl_do_msgrcv
-		     Perl_do_msgsnd
-		     Perl_do_semop
-		     Perl_do_shmio
 		     Perl_dump_fds
-		     Perl_init_thread_intern
-		     Perl_my_bzero
 		     Perl_my_bcopy
-		     Perl_my_htonl
-		     Perl_my_ntohl
-		     Perl_my_swap
-		     Perl_my_chsize
-		     Perl_same_dirent
-		     Perl_setenv_getix
-		     Perl_unlnk
-		     Perl_watch
-		     Perl_safexcalloc
-		     Perl_safexmalloc
-		     Perl_safexfree
-		     Perl_safexrealloc
-		     Perl_my_memcmp
-		     Perl_my_memset
-		     PL_cshlen
-		     PL_cshname
-		     PL_opsave
-		     Perl_do_exec
-		     Perl_getenv_len
-		     Perl_my_pclose
-		     Perl_my_popen
-		     Perl_my_sprintf
-		     )];
-}
-elsif ($PLATFORM eq 'aix') {
-    skip_symbols([qw(
-		     Perl_dump_fds
-		     Perl_ErrorNo
-		     Perl_GetVars
-		     Perl_my_bcopy
 		     Perl_my_bzero
 		     Perl_my_chsize
 		     Perl_my_htonl
@@ -409,212 +198,72 @@
 		     Perl_my_memset
 		     Perl_my_ntohl
 		     Perl_my_swap
-		     Perl_safexcalloc
-		     Perl_safexfree
-		     Perl_safexmalloc
-		     Perl_safexrealloc
-		     Perl_same_dirent
-		     Perl_unlnk
-		     Perl_sys_intern_clear
-		     Perl_sys_intern_dup
-		     Perl_sys_intern_init
-		     Perl_my_sprintf
-		     PL_cryptseen
-		     PL_opsave
-		     PL_statusvalue_vms
-		     PL_sys_intern
-		     )]);
-    skip_symbols([qw(
-		     Perl_signbit
-		     )])
-	if $define{'HAS_SIGNBIT'};
-    emit_symbols([qw(
-		     boot_DynaLoader
-		     )]);
+			 );
+    if ($ARGS{PLATFORM} eq 'vms') {
+	++$skip{PL_statusvalue_posix};
+        # This is a wrapper if we have symlink, not a replacement
+        # if we don't.
+        ++$skip{Perl_my_symlink} unless $Config{d_symlink};
+    } else {
+	++$skip{PL_statusvalue_vms};
+	if ($ARGS{PLATFORM} ne 'aix') {
+	    ++$skip{$_} foreach qw(
+				PL_DBcv
+				PL_generation
+				PL_lastgotoprobe
+				PL_modcount
+				PL_timesbuf
+				main
+				 );
+	}
+    }
 }
-elsif ($PLATFORM eq 'os2') {
-    emit_symbols([qw(
-		    ctermid
-		    get_sysinfo
-		    Perl_OS2_init
-		    Perl_OS2_init3
-		    Perl_OS2_term
-		    OS2_Perl_data
-		    dlopen
-		    dlsym
-		    dlerror
-		    dlclose
-		    dup2
-		    dup
-		    my_tmpfile
-		    my_tmpnam
-		    my_flock
-		    my_rmdir
-		    my_mkdir
-		    my_getpwuid
-		    my_getpwnam
-		    my_getpwent
-		    my_setpwent
-		    my_endpwent
-		    fork_with_resources
-		    croak_with_os2error
-		    setgrent
-		    endgrent
-		    getgrent
-		    malloc_mutex
-		    threads_mutex
-		    nthreads
-		    nthreads_cond
-		    os2_cond_wait
-		    os2_stat
-		    os2_execname
-		    async_mssleep
-		    msCounter
-		    InfoTable
-		    pthread_join
-		    pthread_create
-		    pthread_detach
-		    XS_Cwd_change_drive
-		    XS_Cwd_current_drive
-		    XS_Cwd_extLibpath
-		    XS_Cwd_extLibpath_set
-		    XS_Cwd_sys_abspath
-		    XS_Cwd_sys_chdir
-		    XS_Cwd_sys_cwd
-		    XS_Cwd_sys_is_absolute
-		    XS_Cwd_sys_is_relative
-		    XS_Cwd_sys_is_rooted
-		    XS_DynaLoader_mod2fname
-		    XS_File__Copy_syscopy
-		    Perl_Register_MQ
-		    Perl_Deregister_MQ
-		    Perl_Serve_Messages
-		    Perl_Process_Messages
-		    init_PMWIN_entries
-		    PMWIN_entries
-		    Perl_hab_GET
-		    loadByOrdinal
-		    pExtFCN
-		    os2error
-		    ResetWinError
-		    CroakWinError
-		    PL_do_undump
-		    )]);
-    emit_symbols([qw(os2_cond_wait
-		     pthread_join
-		     pthread_create
-		     pthread_detach
-		    )])
-      if $define{'USE_5005THREADS'} or $define{'USE_ITHREADS'};
+
+if ($ARGS{PLATFORM} ne 'vms') {
+    # VMS does its own thing for these symbols.
+    ++$skip{$_} foreach qw(
+			PL_sig_handlers_initted
+			PL_sig_ignoring
+			PL_sig_defaulting
+			 );
+    if ($ARGS{PLATFORM} ne 'win32') {
+	++$skip{$_} foreach qw(
+			    Perl_do_spawn
+			    Perl_do_spawn_nowait
+			    Perl_do_aspawn
+			     );
+    }
 }
-elsif ($PLATFORM eq 'netware') {
-	skip_symbols [qw(
-			PL_statusvalue_vms
-			PL_archpat_auto
-			PL_cryptseen
-			PL_DBcv
-			PL_generation
-			PL_lastgotoprobe
-			PL_linestart
-			PL_modcount
-			PL_pending_ident
-			PL_sublex_info
-			PL_timesbuf
-			main
-			Perl_ErrorNo
-			Perl_GetVars
-			Perl_do_exec3
-			Perl_do_ipcctl
-			Perl_do_ipcget
-			Perl_do_msgrcv
-			Perl_do_msgsnd
-			Perl_do_semop
-			Perl_do_shmio
-			Perl_dump_fds
-			Perl_init_thread_intern
-			Perl_my_bzero
-			Perl_my_htonl
-			Perl_my_ntohl
-			Perl_my_swap
-			Perl_my_chsize
-			Perl_same_dirent
-			Perl_setenv_getix
-			Perl_unlnk
-			Perl_watch
-			Perl_safexcalloc
-			Perl_safexmalloc
-			Perl_safexfree
-			Perl_safexrealloc
-			Perl_my_memcmp
-			Perl_my_memset
-			PL_cshlen
-			PL_cshname
-			PL_opsave
-			Perl_do_exec
-			Perl_getenv_len
-			Perl_my_pclose
-			Perl_my_popen
-			Perl_sys_intern_init
-			Perl_sys_intern_dup
-			Perl_sys_intern_clear
-			Perl_my_bcopy
-			Perl_PerlIO_write
-			Perl_PerlIO_unread
-			Perl_PerlIO_tell
-			Perl_PerlIO_stdout
-			Perl_PerlIO_stdin
-			Perl_PerlIO_stderr
-			Perl_PerlIO_setlinebuf
-			Perl_PerlIO_set_ptrcnt
-			Perl_PerlIO_set_cnt
-			Perl_PerlIO_seek
-			Perl_PerlIO_read
-			Perl_PerlIO_get_ptr
-			Perl_PerlIO_get_cnt
-			Perl_PerlIO_get_bufsiz
-			Perl_PerlIO_get_base
-			Perl_PerlIO_flush
-			Perl_PerlIO_fill
-			Perl_PerlIO_fileno
-			Perl_PerlIO_error
-			Perl_PerlIO_eof
-			Perl_PerlIO_close
-			Perl_PerlIO_clearerr
-			PerlIO_perlio
-			)];
+
+unless ($define{UNLINK_ALL_VERSIONS}) {
+    ++$skip{Perl_unlnk};
 }
 
 unless ($define{'DEBUGGING'}) {
-    skip_symbols [qw(
-		    Perl_deb_growlevel
+    ++$skip{$_} foreach qw(
 		    Perl_debop
 		    Perl_debprofdump
 		    Perl_debstack
 		    Perl_debstackptrs
 		    Perl_pad_sv
+		    Perl_pad_setsv
 		    Perl_hv_assert
-		    PL_block_type
 		    PL_watchaddr
 		    PL_watchok
 		    PL_watch_pvx
-		    )];
+			 );
 }
 
-if ($define{'PERL_IMPLICIT_CONTEXT'}) {
-    skip_symbols [qw(
-		    PL_sig_sv
-		    )];
-}
-
 if ($define{'PERL_IMPLICIT_SYS'}) {
-    skip_symbols [qw(
-		    Perl_getenv_len
+    ++$skip{$_} foreach qw(
 		    Perl_my_popen
 		    Perl_my_pclose
-		    )];
+			 );
+    ++$export{$_} foreach qw(perl_get_host_info perl_alloc_override);
+    ++$export{perl_clone_host} if $define{USE_ITHREADS};
 }
 else {
-    skip_symbols [qw(
+    ++$skip{$_} foreach qw(
 		    PL_Mem
 		    PL_MemShared
 		    PL_MemParse
@@ -624,23 +273,26 @@
 		    PL_Dir
 		    PL_Sock
 		    PL_Proc
-		    )];
+		    perl_alloc_using
+		    perl_clone_using
+			 );
 }
 
-unless ($define{'PERL_OLD_COPY_ON_WRITE'}) {
-    skip_symbols [qw(
-		    Perl_sv_setsv_cow
-		  )];
+unless ($define{'PERL_OLD_COPY_ON_WRITE'}
+     || $define{'PERL_NEW_COPY_ON_WRITE'}) {
+    ++$skip{Perl_sv_setsv_cow};
 }
 
+unless ($define{PERL_SAWAMPERSAND}) {
+    ++$skip{PL_sawampersand};
+}
+
 unless ($define{'USE_REENTRANT_API'}) {
-    skip_symbols [qw(
-		    PL_reentrant_buffer
-		    )];
+    ++$skip{PL_reentrant_buffer};
 }
 
 if ($define{'MYMALLOC'}) {
-    emit_symbols [qw(
+    try_symbols(qw(
 		    Perl_dump_mstats
 		    Perl_get_mstats
 		    Perl_strdup
@@ -647,44 +299,31 @@
 		    Perl_putenv
 		    MallocCfg_ptr
 		    MallocCfgP_ptr
-		    )];
-    if ($define{'USE_ITHREADS'}) {
-	emit_symbols [qw(
-			PL_malloc_mutex
-			)];
+		    ));
+    unless ($define{USE_ITHREADS}) {
+	++$skip{PL_malloc_mutex}
     }
-    else {
-	skip_symbols [qw(
-			PL_malloc_mutex
-			)];
-    }
 }
 else {
-    skip_symbols [qw(
+    ++$skip{$_} foreach qw(
 		    PL_malloc_mutex
 		    Perl_dump_mstats
 		    Perl_get_mstats
-		    Perl_malloced_size
-		    Perl_malloc_good_size
 		    MallocCfg_ptr
 		    MallocCfgP_ptr
-		    )];
+			 );
 }
 
 if ($define{'PERL_USE_SAFE_PUTENV'}) {
-    skip_symbols [qw(
-                   PL_use_safe_putenv
-                  )];
+    ++$skip{PL_use_safe_putenv};
 }
 
 unless ($define{'USE_ITHREADS'}) {
-    skip_symbols [qw(
-		    PL_thr_key
-		    )];
+    ++$skip{PL_thr_key};
 }
 
 # USE_5005THREADS symbols. Kept as reference for easier removal
-    skip_symbols [qw(
+++$skip{$_} foreach qw(
 		    PL_sv_mutex
 		    PL_strtab_mutex
 		    PL_svref_mutex
@@ -709,20 +348,22 @@
 		    Perl_unlock_condpair
 		    Perl_magic_mutexfree
 		    Perl_sv_lock
-		    )];
+		     );
 
 unless ($define{'USE_ITHREADS'}) {
-    skip_symbols [qw(
+    ++$skip{$_} foreach qw(
+		    PL_check_mutex
 		    PL_op_mutex
 		    PL_regex_pad
 		    PL_regex_padav
-		    PL_sharedsv_space
-		    PL_sharedsv_space_mutex
 		    PL_dollarzero_mutex
 		    PL_hints_mutex
 		    PL_my_ctx_mutex
 		    PL_perlio_mutex
-		    PL_regdupe
+		    PL_stashpad
+		    PL_stashpadix
+		    PL_stashpadmax
+		    Perl_alloccopstash
 		    Perl_clone_params_del
 		    Perl_clone_params_new
 		    Perl_parser_dup
@@ -735,7 +376,6 @@
 		    Perl_gp_dup
 		    Perl_he_dup
 		    Perl_mg_dup
-		    Perl_mro_meta_dup
 		    Perl_re_dup_guts
 		    Perl_sv_dup
 		    Perl_sv_dup_inc
@@ -744,21 +384,14 @@
 		    Perl_sys_intern_dup
 		    perl_clone
 		    perl_clone_using
-		    Perl_sharedsv_find
-		    Perl_sharedsv_init
-		    Perl_sharedsv_lock
-		    Perl_sharedsv_new
-		    Perl_sharedsv_thrcnt_dec
-		    Perl_sharedsv_thrcnt_inc
-		    Perl_sharedsv_unlock
 		    Perl_stashpv_hvname_match
 		    Perl_regdupe_internal
 		    Perl_newPADOP
-		    )];
+			 );
 }
 
 unless ($define{'PERL_IMPLICIT_CONTEXT'}) {
-    skip_symbols [qw(
+    ++$skip{$_} foreach qw(
 		    PL_my_cxt_index
 		    PL_my_cxt_list
 		    PL_my_cxt_size
@@ -778,193 +411,138 @@
 		    Perl_sv_setpvf_mg_nocontext
 		    Perl_my_cxt_init
 		    Perl_my_cxt_index
-		    )];
+			 );
 }
 
-unless ($define{'PERL_IMPLICIT_SYS'}) {
-    skip_symbols [qw(
-		    perl_alloc_using
-		    perl_clone_using
-		    )];
-}
-
-unless ($define{'FAKE_THREADS'}) {
-    skip_symbols [qw(PL_curthr)];
-}
-
-unless ($define{'PL_OP_SLAB_ALLOC'}) {
-    skip_symbols [qw(
-                     PL_OpPtr
-                     PL_OpSlab
-                     PL_OpSpace
-		     Perl_Slab_Alloc
-		     Perl_Slab_Free
-                    )];
-}
-
-unless ($define{'PERL_DEBUG_READONLY_OPS'}) {
-    skip_symbols [qw(
-		    PL_slab_count
-		    PL_slabs
-                  )];
-}
-
-unless ($define{'THREADS_HAVE_PIDS'}) {
-    skip_symbols [qw(PL_ppid)];
-}
-
 unless ($define{'PERL_NEED_APPCTX'}) {
-    skip_symbols [qw(
-		    PL_appctx
-		    )];
+    ++$skip{PL_appctx};
 }
 
 unless ($define{'PERL_NEED_TIMESBASE'}) {
-    skip_symbols [qw(
-		    PL_timesbase
-		    )];
+    ++$skip{PL_timesbase};
 }
 
 unless ($define{'DEBUG_LEAKING_SCALARS'}) {
-    skip_symbols [qw(
-		    PL_sv_serial
-		    )];
+    ++$skip{PL_sv_serial};
 }
 
 unless ($define{'DEBUG_LEAKING_SCALARS_FORK_DUMP'}) {
-    skip_symbols [qw(
-		    PL_dumper_fd
-		    )];
+    ++$skip{PL_dumper_fd};
 }
+
 unless ($define{'PERL_DONT_CREATE_GVSV'}) {
-    skip_symbols [qw(
-		     Perl_gv_SVadd
-		    )];
+    ++$skip{Perl_gv_SVadd};
 }
+
 if ($define{'SPRINTF_RETURNS_STRLEN'}) {
-    skip_symbols [qw(
-		     Perl_my_sprintf
-		    )];
+    ++$skip{Perl_my_sprintf};
 }
+
 unless ($define{'PERL_USES_PL_PIDSTATUS'}) {
-    skip_symbols [qw(
-		     Perl_pidgone
-		     PL_pidstatus
-		    )];
+    ++$skip{PL_pidstatus};
 }
 
 unless ($define{'PERL_TRACK_MEMPOOL'}) {
-    skip_symbols [qw(
-                     PL_memory_debug_header
-                    )];
+    ++$skip{PL_memory_debug_header};
 }
 
-if ($define{'PERL_MAD'}) {
-    skip_symbols [qw(
-		     PL_nextval
-		     PL_nexttype
-		     )];
-} else {
-    skip_symbols [qw(
+unless ($define{PERL_MAD}) {
+    ++$skip{$_} foreach qw(
 		    PL_madskills
 		    PL_xmlfp
-		    PL_lasttoke
-		    PL_realtokenstart
-		    PL_faketokens
-		    PL_thismad
-		    PL_thistoken
-		    PL_thisopen
-		    PL_thisstuff
-		    PL_thisclose
-		    PL_thiswhite
-		    PL_nextwhite
-		    PL_skipwhite
-		    PL_endwhite
-		    PL_curforce
-		    Perl_pad_peg
-		    Perl_xmldump_indent
-		    Perl_xmldump_vindent
-		    Perl_xmldump_all
-		    Perl_xmldump_packsubs
-		    Perl_xmldump_sub
-		    Perl_xmldump_form
-		    Perl_xmldump_eval
-		    Perl_sv_catxmlsv
-		    Perl_sv_catxmlpvn
-		    Perl_sv_xmlpeek
-		    Perl_do_pmop_xmldump
-		    Perl_pmop_xmldump
-		    Perl_do_op_xmldump
-		    Perl_op_xmldump
-		    )];
+			 );
 }
 
 unless ($define{'MULTIPLICITY'}) {
-    skip_symbols [qw(
+    ++$skip{$_} foreach qw(
 		    PL_interp_size
-		    PL_interp_size_5_10_0
-		    )];
+		    PL_interp_size_5_18_0
+			 );
 }
 
 unless ($define{'PERL_GLOBAL_STRUCT'}) {
-    skip_symbols [qw(
-		    PL_global_struct_size
-		    )];
+    ++$skip{PL_global_struct_size};
 }
 
 unless ($define{'PERL_GLOBAL_STRUCT_PRIVATE'}) {
-    skip_symbols [qw(
+    ++$skip{$_} foreach qw(
 		    PL_my_cxt_keys
 		    Perl_my_cxt_index
-		    )];
+			 );
 }
 
-unless ($define{'d_mmap'}) {
-    skip_symbols [qw(
-		    PL_mmap_page_size
-		    )];
+unless ($define{HAS_MMAP}) {
+    ++$skip{PL_mmap_page_size};
 }
 
-if ($define{'d_sigaction'}) {
-    skip_symbols [qw(
-		    PL_sig_trapped
-		    )];
+if ($define{HAS_SIGACTION}) {
+    ++$skip{PL_sig_trapped};
+
+    if ($ARGS{PLATFORM} eq 'vms') {
+        # FAKE_PERSISTENT_SIGNAL_HANDLERS defined as !defined(HAS_SIGACTION)
+        ++$skip{PL_sig_ignoring};
+        ++$skip{PL_sig_handlers_initted} unless $define{KILL_BY_SIGPRC};
+    }
 }
 
-if ($^O ne 'vms') {
-    # VMS does its own thing for these symbols.
-    skip_symbols [qw(PL_sig_handlers_initted
-                     PL_sig_ignoring
-                     PL_sig_defaulting)];
-}  
+if ($ARGS{PLATFORM} eq 'vms' && !$define{KILL_BY_SIGPRC}) {
+    # FAKE_DEFAULT_SIGNAL_HANDLERS defined as KILL_BY_SIGPRC
+    ++$skip{Perl_csighandler_init};
+    ++$skip{Perl_my_kill};
+    ++$skip{Perl_sig_to_vmscondition};
+    ++$skip{PL_sig_defaulting};
+    ++$skip{PL_sig_handlers_initted} unless !$define{HAS_SIGACTION};
+}
 
-sub readvar {
-    my $file = shift;
-    my $proc = shift || sub { "PL_$_[2]" };
-    open(VARS,$file) || die "Cannot open $file: $!\n";
-    my @syms;
-    while (<VARS>) {
-	# All symbols have a Perl_ prefix because that's what embed.h
-	# sticks in front of them.  The A?I?S?C? is strictly speaking
-	# wrong.
-	push(@syms, &$proc($1,$2,$3)) if (/\bPERLVAR(A?I?S?C?)\(([IGT])(\w+)/);
-    }
-    close(VARS);
-    return \@syms;
+unless ($define{USE_LOCALE_COLLATE}) {
+    ++$skip{$_} foreach qw(
+		    PL_collation_ix
+		    PL_collation_name
+		    PL_collation_standard
+		    PL_collxfrm_base
+		    PL_collxfrm_mult
+		    Perl_sv_collxfrm
+		    Perl_sv_collxfrm_flags
+			 );
 }
 
+unless ($define{USE_LOCALE_NUMERIC}) {
+    ++$skip{$_} foreach qw(
+		    PL_numeric_local
+		    PL_numeric_name
+		    PL_numeric_radix_sv
+		    PL_numeric_standard
+			 );
+}
+
+unless ($define{HAVE_INTERP_INTERN}) {
+    ++$skip{$_} foreach qw(
+		    Perl_sys_intern_clear
+		    Perl_sys_intern_dup
+		    Perl_sys_intern_init
+		    PL_sys_intern
+			 );
+}
+
+if ($define{HAS_SIGNBIT}) {
+    ++$skip{Perl_signbit};
+}
+
 if ($define{'PERL_GLOBAL_STRUCT'}) {
-    my $global = readvar($perlvars_h);
-    skip_symbols $global;
-    emit_symbol('Perl_GetVars');
-    emit_symbols [qw(PL_Vars PL_VarsPtr)] unless $CCTYPE eq 'GCC';
+    readvar('perlvars.h', \%skip);
+    # This seems like the least ugly way to cope with the fact that PL_sh_path
+    # is mentioned in perlvar.h and globvar.sym, and always exported.
+    delete $skip{PL_sh_path};
+    ++$export{Perl_GetVars};
+    try_symbols(qw(PL_Vars PL_VarsPtr))
+      unless $ARGS{CCTYPE} eq 'GCC' || $define{PERL_GLOBAL_STRUCT_PRIVATE};
 } else {
-    skip_symbols [qw(Perl_init_global_struct Perl_free_global_struct)];
+    ++$skip{$_} foreach qw(Perl_init_global_struct Perl_free_global_struct);
 }
 
 # functions from *.sym files
 
-my @syms = ($global_sym, $globvar_sym);
+my @syms = qw(globvar.sym);
 
 # Symbols that are the public face of the PerlIO layers implementation
 # These are in _addition to_ the public face of the abstraction
@@ -977,6 +555,7 @@
 		    PerlIOBase_eof
 		    PerlIOBase_error
 		    PerlIOBase_fileno
+		    PerlIOBase_open
 		    PerlIOBase_noop_fail
 		    PerlIOBase_noop_ok
 		    PerlIOBase_popped
@@ -1043,7 +622,7 @@
 		    Perl_PerlIO_unread
 		    Perl_PerlIO_write
 );
-if ($PLATFORM eq 'netware') {
+if ($ARGS{PLATFORM} eq 'netware') {
     push(@layer_syms,'PL_def_layerlist','PL_known_layers','PL_perlio');
 }
 
@@ -1050,18 +629,18 @@
 if ($define{'USE_PERLIO'}) {
     # Export the symols that make up the PerlIO abstraction, regardless
     # of its implementation - read from a file
-    push @syms, $perlio_sym;
+    push @syms, 'perlio.sym';
 
     # This part is then dependent on how the abstraction is implemented
     if ($define{'USE_SFIO'}) {
 	# Old legacy non-stdio "PerlIO"
-	skip_symbols \@layer_syms;
-	skip_symbols [qw(perlsio_binmode)];
+	++$skip{$_} foreach @layer_syms;
+	++$skip{perlsio_binmode};
 	# SFIO defines most of the PerlIO routines as macros
 	# So undo most of what $perlio_sym has just done - d'oh !
 	# Perhaps it would be better to list the ones which do exist
 	# And emit them
-	skip_symbols [qw(
+	++$skip{$_} foreach qw(
 			 PerlIO_canset_cnt
 			 PerlIO_clearerr
 			 PerlIO_close
@@ -1129,29 +708,18 @@
                          PL_def_layerlist
                          PL_known_layers
                          PL_perlio
-			 )];
+			     );
     }
     else {
 	# PerlIO with layers - export implementation
-	emit_symbols \@layer_syms;
-	emit_symbols [qw(perlsio_binmode)];
+	try_symbols(@layer_syms, 'perlsio_binmode');
     }
-    if ($define{'USE_ITHREADS'}) {
-	emit_symbols [qw(
-			PL_perlio_mutex
-			)];
-    }
-    else {
-	skip_symbols [qw(
-			PL_perlio_mutex
-			)];
-    }
 } else {
 	# -Uuseperlio
 	# Skip the PerlIO layer symbols - although
 	# nothing should have exported them anyway.
-	skip_symbols \@layer_syms;
-	skip_symbols [qw(
+	++$skip{$_} foreach @layer_syms;
+	++$skip{$_} foreach qw(
 			perlsio_binmode
 			PL_def_layerlist
 			PL_known_layers
@@ -1159,72 +727,101 @@
 			PL_perlio_debug_fd
 			PL_perlio_fd_refcnt
 			PL_perlio_fd_refcnt_size
-			)];
+			PL_perlio_mutex
+			     );
 
 	# Also do NOT add abstraction symbols from $perlio_sym
 	# abstraction is done as #define to stdio
-	# Remaining remnants that _may_ be functions
-	# are handled in <DATA>
+	# Remaining remnants that _may_ be functions are handled below.
 }
 
-for my $syms (@syms) {
-    open (GLOBAL, "<$syms") || die "failed to open $syms: $!\n";
-    while (<GLOBAL>) {
-	next if (!/^[A-Za-z]/);
-	# Functions have a Perl_ prefix
-	# Variables have a PL_ prefix
-	chomp($_);
-	my $symbol = ($syms =~ /var\.sym$/i ? "PL_" : "");
-	$symbol .= $_;
-	emit_symbol($symbol) unless exists $skip{$symbol};
+###############################################################################
+
+# At this point all skip lists should be completed, as we are about to test
+# many symbols against them.
+
+{
+    my %seen;
+    my ($embed) = setup_embed($ARGS{TARG_DIR});
+
+    foreach (@$embed) {
+	my ($flags, $retval, $func, @args) = @$_;
+	next unless $func;
+	if ($flags =~ /[AX]/ && $flags !~ /[xmi]/ || $flags =~ /b/) {
+	    # public API, so export
+
+	    # If a function is defined twice, for example before and after
+	    # an #else, only export its name once. Important to do this test
+	    # within the block, as the *first* definition may have flags which
+	    # mean "don't export"
+	    next if $seen{$func}++;
+	    # Should we also skip adding the Perl_ prefix if $flags =~ /o/ ?
+	    $func = "Perl_$func" if ($flags =~ /[pbX]/ && $func !~ /^Perl_/); 
+	    ++$export{$func} unless exists $skip{$func};
+	}
     }
-    close(GLOBAL);
 }
 
+foreach (@syms) {
+    my $syms = $ARGS{TARG_DIR} . $_;
+    open my $global, '<', $syms or die "failed to open $syms: $!\n";
+    # Functions already have a Perl_ prefix
+    # Variables need a PL_ prefix
+    my $prefix = $syms =~ /var\.sym$/i ? 'PL_' : '';
+    while (<$global>) {
+	next unless /^([A-Za-z].*)/;
+	my $symbol = "$prefix$1";
+	++$export{$symbol} unless exists $skip{$symbol};
+    }
+}
+
 # variables
 
 if ($define{'MULTIPLICITY'} && $define{PERL_GLOBAL_STRUCT}) {
-    for my $f ($perlvars_h) {
-	my $glob = readvar($f, sub { "Perl_" . $_[1] . $_[2] . "_ptr" });
-	emit_symbols $glob;
-    }
+    readvar('perlvars.h', \%export, sub { "Perl_" . $_[1] . $_[2] . "_ptr" });
     # XXX AIX seems to want the perlvars.h symbols, for some reason
-    if ($PLATFORM eq 'aix' or $PLATFORM eq 'os2') {	# OS/2 needs PL_thr_key
-	my $glob = readvar($perlvars_h);
-	emit_symbols $glob;
+    if ($ARGS{PLATFORM} eq 'aix' or $ARGS{PLATFORM} eq 'os2') {	# OS/2 needs PL_thr_key
+	readvar('perlvars.h', \%export);
     }
 }
 else {
     unless ($define{'PERL_GLOBAL_STRUCT'}) {
-	my $glob = readvar($perlvars_h);
-	emit_symbols $glob;
+	readvar('perlvars.h', \%export);
     }
     unless ($define{MULTIPLICITY}) {
-	my $glob = readvar($intrpvar_h);
-	emit_symbols $glob;
+	readvar('intrpvar.h', \%export);
     }
 }
 
-sub try_symbol {
-    my $symbol = shift;
+# Oddities from PerlIO
+# All have alternate implementations in perlio.c, so always exist.
+# Should they be considered to be part of the API?
+try_symbols(qw(
+		    PerlIO_binmode
+		    PerlIO_getpos
+		    PerlIO_init
+		    PerlIO_setpos
+		    PerlIO_sprintf
+		    PerlIO_tmpfile
+		    PerlIO_vsprintf
+	     ));
 
-    return if $symbol !~ /^[A-Za-z_]/;
-    return if $symbol =~ /^\#/;
-    $symbol =~s/\r//g;
-    chomp($symbol);
-    return if exists $skip{$symbol};
-    emit_symbol($symbol);
+if ($ARGS{PLATFORM} eq 'win32') {
+    try_symbols(qw(
+				 win32_free_childdir
+				 win32_free_childenv
+				 win32_get_childdir
+				 win32_get_childenv
+				 win32_spawnvp
+		 ));
 }
 
-while (<DATA>) {
-    try_symbol($_);
+if ($ARGS{PLATFORM} eq 'wince') {
+    ++$skip{'win32_isatty'}; # commit 4342f4d6df is win32-only
 }
 
-if ($PLATFORM =~ /^win(?:32|ce)$/) {
-    foreach my $symbol (qw(
-			    setuid
-			    setgid
-			    boot_DynaLoader
+if ($ARGS{PLATFORM} =~ /^win(?:32|ce)$/) {
+    try_symbols(qw(
 			    Perl_init_os_extras
 			    Perl_thread_create
 			    Perl_win32_init
@@ -1252,7 +849,6 @@
 			    win32_isatty
 			    win32_read
 			    win32_write
-			    win32_spawnvp
 			    win32_mkdir
 			    win32_rmdir
 			    win32_chdir
@@ -1338,11 +934,7 @@
 			    win32_getpid
 			    win32_crypt
 			    win32_dynaload
-			    win32_get_childenv
-			    win32_free_childenv
 			    win32_clearenv
-			    win32_get_childdir
-			    win32_free_childdir
 			    win32_stdin
 			    win32_stdout
 			    win32_stderr
@@ -1383,28 +975,164 @@
 			    win32_puts
 			    win32_getchar
 			    win32_putchar
-			   ))
-    {
-	try_symbol($symbol);
-    }
-    if ($CCTYPE eq "BORLAND") {
-	try_symbol('_matherr');
-    }
+		 ));
 }
-elsif ($PLATFORM eq 'os2') {
-    my (%mapped, @missing);
-    open MAP, 'miniperl.map' or die 'Cannot read miniperl.map';
-    /^\s*[\da-f:]+\s+(\w+)/i and $mapped{$1}++ foreach <MAP>;
-    close MAP or die 'Cannot close miniperl.map';
-
-    @missing = grep { !exists $mapped{$_} }
-		    keys %export;
-    @missing = grep { !exists $exportperlmalloc{$_} } @missing;
-    delete $export{$_} foreach @missing;
+elsif ($ARGS{PLATFORM} eq 'vms') {
+    try_symbols(qw(
+		      Perl_cando
+		      Perl_cando_by_name
+		      Perl_closedir
+		      Perl_csighandler_init
+		      Perl_do_rmdir
+		      Perl_fileify_dirspec
+		      Perl_fileify_dirspec_ts
+		      Perl_fileify_dirspec_utf8
+		      Perl_fileify_dirspec_utf8_ts
+		      Perl_flex_fstat
+		      Perl_flex_lstat
+		      Perl_flex_stat
+		      Perl_kill_file
+		      Perl_my_chdir
+		      Perl_my_chmod
+		      Perl_my_crypt
+		      Perl_my_endpwent
+		      Perl_my_fclose
+		      Perl_my_fdopen
+		      Perl_my_fgetname
+		      Perl_my_flush
+		      Perl_my_fwrite
+		      Perl_my_gconvert
+		      Perl_my_getenv
+		      Perl_my_getenv_len
+		      Perl_my_getlogin
+		      Perl_my_getpwnam
+		      Perl_my_getpwuid
+		      Perl_my_gmtime
+		      Perl_my_kill
+		      Perl_my_localtime
+		      Perl_my_mkdir
+		      Perl_my_sigaction
+		      Perl_my_symlink
+		      Perl_my_time
+		      Perl_my_tmpfile
+		      Perl_my_trnlnm
+		      Perl_my_utime
+		      Perl_my_waitpid
+		      Perl_opendir
+		      Perl_pathify_dirspec
+		      Perl_pathify_dirspec_ts
+		      Perl_pathify_dirspec_utf8
+		      Perl_pathify_dirspec_utf8_ts
+		      Perl_readdir
+		      Perl_readdir_r
+		      Perl_rename
+		      Perl_rmscopy
+		      Perl_rmsexpand
+		      Perl_rmsexpand_ts
+		      Perl_rmsexpand_utf8
+		      Perl_rmsexpand_utf8_ts
+		      Perl_seekdir
+		      Perl_sig_to_vmscondition
+		      Perl_telldir
+		      Perl_tounixpath
+		      Perl_tounixpath_ts
+		      Perl_tounixpath_utf8
+		      Perl_tounixpath_utf8_ts
+		      Perl_tounixspec
+		      Perl_tounixspec_ts
+		      Perl_tounixspec_utf8
+		      Perl_tounixspec_utf8_ts
+		      Perl_tovmspath
+		      Perl_tovmspath_ts
+		      Perl_tovmspath_utf8
+		      Perl_tovmspath_utf8_ts
+		      Perl_tovmsspec
+		      Perl_tovmsspec_ts
+		      Perl_tovmsspec_utf8
+		      Perl_tovmsspec_utf8_ts
+		      Perl_trim_unixpath
+		      Perl_vms_case_tolerant
+		      Perl_vms_do_aexec
+		      Perl_vms_do_exec
+		      Perl_vms_image_init
+		      Perl_vms_realpath
+		      Perl_vmssetenv
+		      Perl_vmssetuserlnm
+		      Perl_vmstrnenv
+		      PerlIO_openn
+		 ));
 }
-elsif ($PLATFORM eq 'netware') {
-foreach my $symbol (qw(
-			boot_DynaLoader
+elsif ($ARGS{PLATFORM} eq 'os2') {
+    try_symbols(qw(
+		      ctermid
+		      get_sysinfo
+		      Perl_OS2_init
+		      Perl_OS2_init3
+		      Perl_OS2_term
+		      OS2_Perl_data
+		      dlopen
+		      dlsym
+		      dlerror
+		      dlclose
+		      dup2
+		      dup
+		      my_tmpfile
+		      my_tmpnam
+		      my_flock
+		      my_rmdir
+		      my_mkdir
+		      my_getpwuid
+		      my_getpwnam
+		      my_getpwent
+		      my_setpwent
+		      my_endpwent
+		      fork_with_resources
+		      croak_with_os2error
+		      setgrent
+		      endgrent
+		      getgrent
+		      malloc_mutex
+		      threads_mutex
+		      nthreads
+		      nthreads_cond
+		      os2_cond_wait
+		      os2_stat
+		      os2_execname
+		      async_mssleep
+		      msCounter
+		      InfoTable
+		      pthread_join
+		      pthread_create
+		      pthread_detach
+		      XS_Cwd_change_drive
+		      XS_Cwd_current_drive
+		      XS_Cwd_extLibpath
+		      XS_Cwd_extLibpath_set
+		      XS_Cwd_sys_abspath
+		      XS_Cwd_sys_chdir
+		      XS_Cwd_sys_cwd
+		      XS_Cwd_sys_is_absolute
+		      XS_Cwd_sys_is_relative
+		      XS_Cwd_sys_is_rooted
+		      XS_DynaLoader_mod2fname
+		      XS_File__Copy_syscopy
+		      Perl_Register_MQ
+		      Perl_Deregister_MQ
+		      Perl_Serve_Messages
+		      Perl_Process_Messages
+		      init_PMWIN_entries
+		      PMWIN_entries
+		      Perl_hab_GET
+		      loadByOrdinal
+		      pExtFCN
+		      os2error
+		      ResetWinError
+		      CroakWinError
+		      PL_do_undump
+		 ));
+}
+elsif ($ARGS{PLATFORM} eq 'netware') {
+    try_symbols(qw(
 			Perl_init_os_extras
 			Perl_thread_create
 			Perl_nw5_init
@@ -1539,75 +1267,100 @@
 			Perl_sv_2pv
 			nw_freeenviron
 			Remove_Thread_Ctx
-			   ))
-    {
-	try_symbol($symbol);
-    }
+		 ));
 }
 
-# records of type boot_module for statically linked modules (except Dynaloader)
-$static_ext =~ s/\//__/g;
-$static_ext =~ s/\bDynaLoader\b//;
-my @stat_mods = map {"boot_$_"} grep {/\S/} split /\s+/, $static_ext;
-foreach my $symbol (@stat_mods)
-    {
-	try_symbol($symbol);
-    }
+# When added this code was only run for Win32 and WinCE
+# Currently only Win32 links static extensions into the shared library.
+# The WinCE makefile doesn't appear to support static extensions, so this code
+# can't have any effect there.
+# The NetWare Makefile doesn't support static extensions (and hardcodes the
+# list of dynamic extensions, and the rules to build them)
+# For *nix (and presumably OS/2) with a shared libperl, Makefile.SH compiles
+# static extensions with -fPIC, but links them to perl, not libperl.so
+# The VMS build scripts don't yet implement static extensions at all.
 
-try_symbol("init_Win32CORE") if $static_ext =~ /\bWin32CORE\b/;
+if ($ARGS{PLATFORM} =~ /^win(?:32|ce)$/) {
+    # records of type boot_module for statically linked modules (except Dynaloader)
+    my $static_ext = $Config{static_ext} // "";
+    $static_ext =~ s/\//__/g;
+    $static_ext =~ s/\bDynaLoader\b//;
+    try_symbols(map {"boot_$_"} grep {/\S/} split /\s+/, $static_ext);
+    try_symbols("init_Win32CORE") if $static_ext =~ /\bWin32CORE\b/;
+}
 
-# Now all symbols should be defined because
-# next we are going to output them.
+if ($ARGS{PLATFORM} eq 'os2') {
+    my (%mapped, @missing);
+    open MAP, 'miniperl.map' or die 'Cannot read miniperl.map';
+    /^\s*[\da-f:]+\s+(\w+)/i and $mapped{$1}++ foreach <MAP>;
+    close MAP or die 'Cannot close miniperl.map';
 
-foreach my $symbol (sort keys %export) {
-    output_symbol($symbol);
+    @missing = grep { !exists $mapped{$_} }
+		    keys %export;
+    @missing = grep { !exists $exportperlmalloc{$_} } @missing;
+    delete $export{$_} foreach @missing;
 }
 
-if ($PLATFORM eq 'os2') {
-	print <<EOP;
-    dll_perlmain=main
-    fill_extLibpath
-    dir_subst
-    Perl_OS2_handler_install
+###############################################################################
 
-; LAST_ORDINAL=$sym_ord
-EOP
-}
+# Now all symbols should be defined because next we are going to output them.
 
-sub emit_symbol {
-    my $symbol = shift;
-    chomp($symbol);
-    $export{$symbol} = 1;
+# Start with platform specific headers:
+
+if ($ARGS{PLATFORM} =~ /^win(?:32|ce)$/) {
+    my $dll = $define{PERL_DLL} ? $define{PERL_DLL} =~ s/\.dll$//ir
+	: "perl$Config{api_revision}$Config{api_version}";
+    print "LIBRARY $dll\n";
+    # The DESCRIPTION module definition file statement is not supported
+    # by VC7 onwards.
+    if ($ARGS{CCTYPE} =~ /^(?:MSVC60|GCC)$/) {
+	print "DESCRIPTION 'Perl interpreter'\n";
+    }
+    print "EXPORTS\n";
 }
+elsif ($ARGS{PLATFORM} eq 'os2') {
+    (my $v = $]) =~ s/(\d\.\d\d\d)(\d\d)$/$1_$2/;
+    $v .= '-thread' if $Config{archname} =~ /-thread/;
+    (my $dll = $define{PERL_DLL}) =~ s/\.dll$//i;
+    $v .= "\@$Config{perl_patchlevel}" if $Config{perl_patchlevel};
+    my $d = "DESCRIPTION '\@#perl5-porters\@perl.org:$v#\@ Perl interpreter, configured as $Config{config_args}'";
+    $d = substr($d, 0, 249) . "...'" if length $d > 253;
+    print <<"---EOP---";
+LIBRARY '$dll' INITINSTANCE TERMINSTANCE
+$d
+STACKSIZE 32768
+CODE LOADONCALL
+DATA LOADONCALL NONSHARED MULTIPLE
+EXPORTS
+---EOP---
+}
+elsif ($ARGS{PLATFORM} eq 'aix') {
+    my $OSVER = `uname -v`;
+    chop $OSVER;
+    my $OSREL = `uname -r`;
+    chop $OSREL;
+    if ($OSVER > 4 || ($OSVER == 4 && $OSREL >= 3)) {
+	print "#! ..\n";
+    } else {
+	print "#!\n";
+    }
+}
+elsif ($ARGS{PLATFORM} eq 'netware') {
+	if ($ARGS{FILETYPE} eq 'def') {
+	print "LIBRARY perl$Config{api_revision}$Config{api_version}\n";
+	print "DESCRIPTION 'Perl interpreter for NetWare'\n";
+	print "EXPORTS\n";
+	}
+}
 
-sub output_symbol {
-    my $symbol = shift;
-    if ($PLATFORM =~ /^win(?:32|ce)$/) {
-	$symbol = "_$symbol" if $CCTYPE eq 'BORLAND';
+# Then the symbols
+
+my @symbols = $fold ? sort {lc $a cmp lc $b} keys %export : sort keys %export;
+foreach my $symbol (@symbols) {
+    if ($ARGS{PLATFORM} =~ /^win(?:32|ce)$/) {
 	print "\t$symbol\n";
-# XXX: binary compatibility between compilers is an exercise
-# in frustration :-(
-#        if ($CCTYPE eq "BORLAND") {
-#	    # workaround Borland quirk by exporting both the straight
-#	    # name and a name with leading underscore.  Note the
-#	    # alias *must* come after the symbol itself, if both
-#	    # are to be exported. (Linker bug?)
-#	    print "\t_$symbol\n";
-#	    print "\t$symbol = _$symbol\n";
-#	}
-#	elsif ($CCTYPE eq 'GCC') {
-#	    # Symbols have leading _ whole process is $%@"% slow
-#	    # so skip aliases for now
-#	    nprint "\t$symbol\n";
-#	}
-#	else {
-#	    # for binary coexistence, export both the symbol and
-#	    # alias with leading underscore
-#	    print "\t$symbol\n";
-#	    print "\t_$symbol = $symbol\n";
-#	}
     }
-    elsif ($PLATFORM eq 'os2') {
+    elsif ($ARGS{PLATFORM} eq 'os2') {
 	printf qq(    %-31s \@%s\n),
 	  qq("$symbol"), $ordinal{$symbol} || ++$sym_ord;
 	printf qq(    %-31s \@%s\n),
@@ -1615,22 +1368,24 @@
 	  $ordinal{$exportperlmalloc{$symbol}} || ++$sym_ord
 	  if $exportperlmalloc and exists $exportperlmalloc{$symbol};
     }
-    elsif ($PLATFORM eq 'aix') {
+    elsif ($ARGS{PLATFORM} eq 'netware') {
+	print "\t$symbol,\n";
+    } else {
 	print "$symbol\n";
     }
-	elsif ($PLATFORM eq 'netware') {
-	print "\t$symbol,\n";
-	}
 }
 
+# Then platform specific footers.
+
+if ($ARGS{PLATFORM} eq 'os2') {
+    print <<EOP;
+    dll_perlmain=main
+    fill_extLibpath
+    dir_subst
+    Perl_OS2_handler_install
+
+; LAST_ORDINAL=$sym_ord
+EOP
+}
+
 1;
-__DATA__
-# Oddities from PerlIO
-PerlIO_binmode
-PerlIO_getpos
-PerlIO_init
-PerlIO_setpos
-PerlIO_sprintf
-PerlIO_sv_dup
-PerlIO_tmpfile
-PerlIO_vsprintf


Property changes on: vendor/perl/dist/makedef.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/makedepend.SH
===================================================================
--- vendor/perl/dist/makedepend.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/makedepend.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -131,13 +131,38 @@
     *)   finc= ;;
     esac
     $echo "Finding dependencies for $filebase$_o."
-    ( $echo "#line 1 \"$file\""; \
+    # Below, we strip out all but preprocessor directives.
+    # We have to take care of situations like
+    #       #if defined(FOO) BAR   /* comment line 1
+    #                                 more comment lines */
+    # If we just delete text starting from the '/*' to the end of line, we will
+    # screw up cases like
+    #      #if defined(FOO)    /* comment */ \
+    #          && defined(BAR) /* comment */ \
+    #          && defined(BAZ) /* comment */ \
+    #               etc.
+    # This code processes these latter situations first; it assumes there is
+    # at most one straightforward comment per continued preprocessor line.  (It
+    # would be easier to handle more general cases if sed had a non-greedy '*'
+    # quantifier; but typically preprocessor directive lines are rather
+    # simple.)  The continuation line is joined, and the process repeated on
+    # the enlarged line as long as there are continuations.  At the end, if
+    # there are any comments remaining, they should be like the first situation,
+    # and can just be deleted.  (Subsequent lines of the comment are irrelevant
+    # and get dropped.)
+    ( $echo "#line 2 \"$file\""; \
       $sed -n <$file \
 	-e "/^${filebase}_init(/q" \
+        -e ': testcont'               \
+	-e '/^[	 ]*#/s|/\*.*\*/||'    \
+        -e '/\\$/{'                   \
+            -e 'N'                    \
+            -e 'b testcont'           \
+        -e '}'                        \
+        -e 's/\\\n/ /g'               \
 	-e '/^#line/d' \
-	-e '/^#/{' \
+	-e '/^[	 ]*#/{' \
 	-e 's|/\*.*$||' \
-	-e 's|\\$||' \
 	-e p \
 	-e '}' ) >UU/$file.c
 


Property changes on: vendor/perl/dist/makedepend.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Deleted: vendor/perl/dist/makedir.SH
===================================================================
--- vendor/perl/dist/makedir.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/makedir.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,68 +0,0 @@
-case $PERL_CONFIG_SH in
-'')
-    if test ! -f config.sh; then
-	ln ../config.sh . || \
-	ln ../../config.sh . || \
-	ln ../../../config.sh . || \
-	(echo "Can't find config.sh."; exit 1)
-    fi 2>/dev/null
-    . ./config.sh
-    ;;
-esac
-case "$0" in
-*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
-esac
-echo "Extracting makedir (with variable substitutions)"
-rm -f makedir
-$spitshell >makedir <<!GROK!THIS!
-$startsh
-# makedir.SH
-# 
-
-export PATH || (echo "OOPS, this isn't sh.  Desperation time.  I will feed myself to sh."; sh \$0; kill \$\$)
-
-case \$# in
-  0)
-    $echo "makedir pathname filenameflag"
-    exit 1
-    ;;
-esac
-
-: guarantee one slash before 1st component
-case \$1 in
-  /*) ;;
-  *)  set ./\$1 \$2 ;;
-esac
-
-: strip last component if it is to be a filename
-case X\$2 in
-  X1) set \`$echo \$1 | $sed 's:\(.*\)/[^/]*\$:\1:'\` ;;
-  *)  set \$1 ;;
-esac
-
-: return reasonable status if nothing to be created
-if $test -d "\$1" ; then
-    exit 0
-fi
-
-list=''
-while true ; do
-    case \$1 in
-    */*)
-	list="\$1 \$list"
-	set \`echo \$1 | $sed 's:\(.*\)/:\1 :'\`
-	;;
-    *)
-	break
-	;;
-    esac
-done
-
-set \$list
-
-for dir do
-    $mkdir \$dir >/dev/null 2>&1
-done
-!GROK!THIS!
-$eunicefix makedir
-chmod +x makedir

Modified: vendor/perl/dist/malloc.c
===================================================================
--- vendor/perl/dist/malloc.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/malloc.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 /*
  * 'The Chamber of Records,' said Gimli.  'I guess that is where we now stand.'
  *
- *     [p.321 of _The Lord of the Rings_, II/v: "The Bridge of Khazad-D\xFBm"]
+ *     [p.321 of _The Lord of the Rings_, II/v: "The Bridge of Khazad-Dûm"]
  */
 
 /* This file contains Perl's own implementation of the malloc library.
@@ -15,9 +15,8 @@
  */
 
 /*
-  Here are some notes on configuring Perl's malloc.  (For non-perl
-  usage see below.)
- 
+  Here are some notes on configuring Perl's malloc.
+
   There are two macros which serve as bulk disablers of advanced
   features of this malloc: NO_FANCY_MALLOC, PLAIN_MALLOC (undef by
   default).  Look in the list of default values below to understand
@@ -40,10 +39,10 @@
 
     # Enable code for an emergency memory pool in $^M.  See perlvar.pod
     # for a description of $^M.
-    PERL_EMERGENCY_SBRK		(!PLAIN_MALLOC && (PERL_CORE || !NO_MALLOC_DYNAMIC_CFG))
+    PERL_EMERGENCY_SBRK		!PLAIN_MALLOC
 
     # Enable code for printing memory statistics.
-    DEBUGGING_MSTATS		(!PLAIN_MALLOC && PERL_CORE)
+    DEBUGGING_MSTATS		!PLAIN_MALLOC
 
     # Move allocation info for small buckets into separate areas.
     # Memory optimization (especially for small allocations, of the
@@ -163,73 +162,7 @@
 
  */
 
-/*
-   If used outside of Perl environment, it may be useful to redefine
-   the following macros (listed below with defaults):
 
-     # Type of address returned by allocation functions
-     Malloc_t				void *
-
-     # Type of size argument for allocation functions
-     MEM_SIZE				unsigned long
-
-     # size of void*
-     PTRSIZE				4
-
-     # Maximal value in LONG
-     LONG_MAX				0x7FFFFFFF
-
-     # Unsigned integer type big enough to keep a pointer
-     UV					unsigned long
-
-     # Signed integer of the same sizeof() as UV
-     IV					long
-
-     # Type of pointer with 1-byte granularity
-     caddr_t				char *
-
-     # Type returned by free()
-     Free_t				void
-
-     # Conversion of pointer to integer
-     PTR2UV(ptr)			((UV)(ptr))
-
-     # Conversion of integer to pointer
-     INT2PTR(type, i)			((type)(i))
-
-     # printf()-%-Conversion of UV to pointer
-     UVuf				"lu"
-
-     # printf()-%-Conversion of UV to hex pointer
-     UVxf				"lx"
-
-     # Alignment to use
-     MEM_ALIGNBYTES			4
-
-     # Very fatal condition reporting function (cannot call any )
-     fatalcroak(arg)			write(2,arg,strlen(arg)) + exit(2)
-  
-     # Fatal error reporting function
-     croak(format, arg)			warn(idem) + exit(1)
-  
-     # Fatal error reporting function
-     croak2(format, arg1, arg2)		warn2(idem) + exit(1)
-  
-     # Error reporting function
-     warn(format, arg)			fprintf(stderr, idem)
-
-     # Error reporting function
-     warn2(format, arg1, arg2)		fprintf(stderr, idem)
-
-     # Locking/unlocking for MT operation
-     MALLOC_LOCK			MUTEX_LOCK(&PL_malloc_mutex)
-     MALLOC_UNLOCK			MUTEX_UNLOCK(&PL_malloc_mutex)
-
-     # Locking/unlocking mutex for MT operation
-     MUTEX_LOCK(l)			void
-     MUTEX_UNLOCK(l)			void
- */
-
 #ifdef HAVE_MALLOC_CFG_H
 #  include "malloc_cfg.h"
 #endif
@@ -253,10 +186,10 @@
 #  ifndef TWO_POT_OPTIMIZE
 #    define TWO_POT_OPTIMIZE
 #  endif 
-#  if (defined(PERL_CORE) || !defined(NO_MALLOC_DYNAMIC_CFG)) && !defined(PERL_EMERGENCY_SBRK)
+#  ifndef PERL_EMERGENCY_SBRK
 #    define PERL_EMERGENCY_SBRK
 #  endif 
-#  if defined(PERL_CORE) && !defined(DEBUGGING_MSTATS)
+#  ifndef DEBUGGING_MSTATS
 #    define DEBUGGING_MSTATS
 #  endif 
 #endif
@@ -264,14 +197,7 @@
 #define MIN_BUC_POW2 (sizeof(void*) > 4 ? 3 : 2) /* Allow for 4-byte arena. */
 #define MIN_BUCKET (MIN_BUC_POW2 * BUCKETS_PER_POW2)
 
-#if !(defined(I286) || defined(atarist))
-	/* take 2k unless the block is bigger than that */
-#  define LOG_OF_MIN_ARENA 11
-#else
-	/* take 16k unless the block is bigger than that 
-	   (80286s like large segments!), probably good on the atari too */
-#  define LOG_OF_MIN_ARENA 14
-#endif
+#define LOG_OF_MIN_ARENA 11
 
 #if defined(DEBUGGING) && !defined(NO_RCHECK)
 #  define RCHECK
@@ -309,131 +235,23 @@
  * 
  */
 
-#ifdef PERL_CORE
-#  include "EXTERN.h"
-#  define PERL_IN_MALLOC_C
-#  include "perl.h"
-#  if defined(PERL_IMPLICIT_CONTEXT)
+#include "EXTERN.h"
+#define PERL_IN_MALLOC_C
+#include "perl.h"
+#if defined(PERL_IMPLICIT_CONTEXT)
 #    define croak	Perl_croak_nocontext
 #    define croak2	Perl_croak_nocontext
 #    define warn	Perl_warn_nocontext
 #    define warn2	Perl_warn_nocontext
-#  else
+#else
 #    define croak2	croak
 #    define warn2	warn
-#  endif
-#  if defined(USE_5005THREADS) || defined(USE_ITHREADS)
+#endif
+#ifdef USE_ITHREADS
 #     define PERL_MAYBE_ALIVE	PL_thr_key
-#  else
+#else
 #     define PERL_MAYBE_ALIVE	1
-#  endif
-#else
-#  ifdef PERL_FOR_X2P
-#    include "../EXTERN.h"
-#    include "../perl.h"
-#  else
-#    include <stdlib.h>
-#    include <stdio.h>
-#    include <memory.h>
-#    ifdef OS2
-#      include <io.h>
-#    endif
-#    include <string.h>
-#    ifndef Malloc_t
-#      define Malloc_t void *
-#    endif
-#    ifndef PTRSIZE
-#      define PTRSIZE 4
-#    endif
-#    ifndef MEM_SIZE
-#      define MEM_SIZE unsigned long
-#    endif
-#    ifndef LONG_MAX
-#      define LONG_MAX 0x7FFFFFFF
-#    endif
-#    ifndef UV
-#      define UV unsigned long
-#    endif
-#    ifndef IV
-#      define IV long
-#    endif
-#    ifndef caddr_t
-#      define caddr_t char *
-#    endif
-#    ifndef Free_t
-#      define Free_t void
-#    endif
-#    define Copy(s,d,n,t) (void)memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
-#    define CopyD(s,d,n,t) memcpy((char*)(d),(char*)(s), (n) * sizeof(t))
-#    define PerlEnv_getenv getenv
-#    define PerlIO_printf fprintf
-#    define PerlIO_stderr() stderr
-#    define PerlIO_puts(f,s)		fputs(s,f)
-#    ifndef INT2PTR
-#      define INT2PTR(t,i)		((t)(i))
-#    endif
-#    ifndef PTR2UV
-#      define PTR2UV(p)			((UV)(p))
-#    endif
-#    ifndef UVuf
-#      define UVuf			"lu"
-#    endif
-#    ifndef UVxf
-#      define UVxf			"lx"
-#    endif
-#    ifndef MEM_ALIGNBYTES
-#      define MEM_ALIGNBYTES		4
-#    endif
-#  endif
-#  ifndef croak				/* make depend */
-#    define croak(mess, arg) (warn((mess), (arg)), exit(1))
-#  endif 
-#  ifndef croak2			/* make depend */
-#    define croak2(mess, arg1, arg2) (warn2((mess), (arg1), (arg2)), exit(1))
-#  endif 
-#  ifndef warn
-#    define warn(mess, arg) fprintf(stderr, (mess), (arg))
-#  endif 
-#  ifndef warn2
-#    define warn2(mess, arg1, arg2) fprintf(stderr, (mess), (arg1), (arg2))
-#  endif 
-#  ifdef DEBUG_m
-#    undef DEBUG_m
-#  endif 
-#  define DEBUG_m(a)
-#  ifdef DEBUGGING
-#     undef DEBUGGING
-#  endif
-#  ifndef pTHX
-#     define pTHX		void
-#     define pTHX_
-#     ifdef HASATTRIBUTE_UNUSED
-#        define dTHX		extern int Perl___notused PERL_UNUSED_DECL
-#     else
-#        define dTHX            extern int Perl___notused
-#     endif
-#     define WITH_THX(s)	s
-#  endif
-#  ifndef PERL_GET_INTERP
-#     define PERL_GET_INTERP	PL_curinterp
-#  endif
-#  define PERL_MAYBE_ALIVE	1
-#  ifndef Perl_malloc
-#     define Perl_malloc malloc
-#  endif
-#  ifndef Perl_mfree
-#     define Perl_mfree free
-#  endif
-#  ifndef Perl_realloc
-#     define Perl_realloc realloc
-#  endif
-#  ifndef Perl_calloc
-#     define Perl_calloc calloc
-#  endif
-#  ifndef Perl_strdup
-#     define Perl_strdup strdup
-#  endif
-#endif	/* defined PERL_CORE */
+#endif
 
 #ifndef MUTEX_LOCK
 #  define MUTEX_LOCK(l)
@@ -551,8 +369,7 @@
  */
 #define u_short unsigned short
 
-/* 286 and atarist like big chunks, which gives too much overhead. */
-#if (defined(RCHECK) || defined(I286) || defined(atarist)) && defined(PACK_MALLOC)
+#if defined(RCHECK) && defined(PACK_MALLOC)
 #  undef PACK_MALLOC
 #endif 
 
@@ -630,7 +447,7 @@
   char c;
   void *p;
 };
-#  define ALIGN_SMALL ((int)((caddr_t)&(((struct aligner*)0)->p)))
+#  define ALIGN_SMALL ((IV)((caddr_t)&(((struct aligner*)0)->p)))
 #else
 #  define ALIGN_SMALL MEM_ALIGNBYTES
 #endif
@@ -938,7 +755,7 @@
 #  define POW2_OPTIMIZE_SURPLUS(bucket) 0
 #endif /* !TWO_POT_OPTIMIZE */
 
-#if defined(HAS_64K_LIMIT) && defined(PERL_CORE)
+#ifdef HAS_64K_LIMIT
 #  define BARK_64K_LIMIT(what,nbytes,size)				\
 	if (nbytes > 0xffff) {						\
 		PerlIO_printf(PerlIO_stderr(),				\
@@ -945,9 +762,9 @@
 			      "%s too large: %lx\n", what, size);	\
 		my_exit(1);						\
 	}
-#else /* !HAS_64K_LIMIT || !PERL_CORE */
+#else /* !HAS_64K_LIMIT */
 #  define BARK_64K_LIMIT(what,nbytes,size)
-#endif /* !HAS_64K_LIMIT || !PERL_CORE */
+#endif /* !HAS_64K_LIMIT */
 
 #ifndef MIN_SBRK
 #  define MIN_SBRK 2048
@@ -970,7 +787,7 @@
 #  define SBRK_FAILURE_PRICE 50
 #endif 
 
-static void	morecore	(register int bucket);
+static void	morecore	(int bucket);
 #  if defined(DEBUGGING)
 static void	botch		(const char *diag, const char *s, const char *file, int line);
 #  endif
@@ -980,8 +797,6 @@
 static union overhead *getpages	(MEM_SIZE needed, int *nblksp, int bucket);
 static int	getpages_adjacent(MEM_SIZE require);
 
-#ifdef PERL_CORE
-
 #ifdef I_MACH_CTHREADS
 #  undef  MUTEX_LOCK
 #  define MUTEX_LOCK(m)   STMT_START { if (*m) mutex_lock(*m);   } STMT_END
@@ -989,8 +804,6 @@
 #  define MUTEX_UNLOCK(m) STMT_START { if (*m) mutex_unlock(*m); } STMT_END
 #endif
 
-#endif	/* defined PERL_CORE */ 
-
 #ifndef PTRSIZE
 #  define PTRSIZE	sizeof(void*)
 #endif
@@ -1148,7 +961,6 @@
 #    define emergency_sbrk_croak	croak2
 #  endif
 
-#  ifdef PERL_CORE
 static char *
 perl_get_emergency_buffer(IV *size)
 {
@@ -1178,10 +990,7 @@
     *size = malloced_size(pv) + M_OVERHEAD;
     return pv - sizeof(union overhead);
 }
-#    define PERL_GET_EMERGENCY_BUFFER(p)	perl_get_emergency_buffer(p)
-#  else
-#    define PERL_GET_EMERGENCY_BUFFER(p)	NULL
-#  endif	/* defined PERL_CORE */
+#  define PERL_GET_EMERGENCY_BUFFER(p)	perl_get_emergency_buffer(p)
 
 #  ifndef NO_MALLOC_DYNAMIC_CFG
 static char *
@@ -1274,7 +1083,7 @@
   do_croak:
     MALLOC_UNLOCK;
     emergency_sbrk_croak("Out of memory during request for %"UVuf" bytes, total sbrk() is %"UVuf" bytes", (UV)size, (UV)(goodsbrk + sbrk_slack));
-    /* NOTREACHED */
+    assert(0); /* NOTREACHED */
     return NULL;
 }
 
@@ -1282,11 +1091,8 @@
 #  define emergency_sbrk(size)	-1
 #endif	/* defined PERL_EMERGENCY_SBRK */
 
-static void
-write2(const char *mess)
-{
-  write(2, mess, strlen(mess));
-}
+/* Don't use PerlIO buffered writes as they allocate memory. */
+#define MYMALLOC_WRITE2STDERR(s) PerlLIO_write(PerlIO_fileno(PerlIO_stderr()),s,strlen(s))
 
 #ifdef DEBUGGING
 #undef ASSERT
@@ -1304,13 +1110,13 @@
 			  "assertion botched (%s?): %s %s:%d\n",
 			  diag, s, file, line) != 0) {
 	 do_write:		/* Can be initializing interpreter */
-	    write2("assertion botched (");
-	    write2(diag);
-	    write2("?): ");
-	    write2(s);
-	    write2(" (");
-	    write2(file);
-	    write2(":");
+	    MYMALLOC_WRITE2STDERR("assertion botched (");
+	    MYMALLOC_WRITE2STDERR(diag);
+	    MYMALLOC_WRITE2STDERR("?): ");
+	    MYMALLOC_WRITE2STDERR(s);
+	    MYMALLOC_WRITE2STDERR(" (");
+	    MYMALLOC_WRITE2STDERR(file);
+	    MYMALLOC_WRITE2STDERR(":");
 	    {
 	      char linebuf[10];
 	      char *s = linebuf + sizeof(linebuf) - 1;
@@ -1319,9 +1125,9 @@
 	      do {
 		*--s = '0' + (n % 10);
 	      } while (n /= 10);
-	      write2(s);
+	      MYMALLOC_WRITE2STDERR(s);
 	    }
-	    write2(")\n");
+	    MYMALLOC_WRITE2STDERR(")\n");
 	}
 	PerlProc_abort();
     }
@@ -1454,8 +1260,8 @@
 Perl_malloc(size_t nbytes)
 {
         dVAR;
-  	register union overhead *p;
-  	register int bucket;
+  	union overhead *p;
+  	int bucket;
 
 #if defined(DEBUGGING) || defined(RCHECK)
 	MEM_SIZE size = nbytes;
@@ -1477,12 +1283,11 @@
   		morecore(bucket);
   	if ((p = nextf[bucket]) == NULL) {
 		MALLOC_UNLOCK;
-#ifdef PERL_CORE
 		{
 		    dTHX;
 		    if (!PL_nomemok) {
 #if defined(PLAIN_MALLOC) && defined(NO_FANCY_MALLOC)
-		        PerlIO_puts(PerlIO_stderr(),"Out of memory!\n");
+		        MYMALLOC_WRITE2STDERR("Out of memory!\n");
 #else
 			char buff[80];
 			char *eb = buff + sizeof(buff) - 1;
@@ -1489,7 +1294,7 @@
 			char *s = eb;
 			size_t n = nbytes;
 
-			PerlIO_puts(PerlIO_stderr(),"Out of memory during request for ");
+			MYMALLOC_WRITE2STDERR("Out of memory during request for ");
 #if defined(DEBUGGING) || defined(RCHECK)
 			n = size;
 #endif
@@ -1497,20 +1302,19 @@
 			do {
 			    *--s = '0' + (n % 10);
 			} while (n /= 10);
-			PerlIO_puts(PerlIO_stderr(),s);
-			PerlIO_puts(PerlIO_stderr()," bytes, total sbrk() is ");
+			MYMALLOC_WRITE2STDERR(s);
+			MYMALLOC_WRITE2STDERR(" bytes, total sbrk() is ");
 			s = eb;
 			n = goodsbrk + sbrk_slack;
 			do {
 			    *--s = '0' + (n % 10);
 			} while (n /= 10);
-			PerlIO_puts(PerlIO_stderr(),s);
-			PerlIO_puts(PerlIO_stderr()," bytes!\n");
+			MYMALLOC_WRITE2STDERR(s);
+			MYMALLOC_WRITE2STDERR(" bytes!\n");
 #endif /* defined(PLAIN_MALLOC) && defined(NO_FANCY_MALLOC) */
 			my_exit(1);
 		    }
 		}
-#endif
   		return (NULL);
 	}
 
@@ -1691,7 +1495,7 @@
 	    require = FIRST_SBRK;
 	else if (require < (MEM_SIZE)MIN_SBRK) require = MIN_SBRK;
 
-	if (require < goodsbrk * MIN_SBRK_FRAC1000 / 1000)
+	if (require < (Size_t)(goodsbrk * MIN_SBRK_FRAC1000 / 1000))
 	    require = goodsbrk * MIN_SBRK_FRAC1000 / 1000;
 	require = ((require - 1 + MIN_SBRK) / MIN_SBRK) * MIN_SBRK;
     } else {
@@ -1734,8 +1538,6 @@
 	/* Second, check alignment. */
 	slack = 0;
 
-#if !defined(atarist) /* on the atari we dont have to worry about this */
-#  ifndef I286 	/* The sbrk(0) call on the I286 always returns the next segment */
 	/* WANTED_ALIGNMENT may be more than NEEDED_ALIGNMENT, but this may
 	   improve performance of memory access. */
 	if (PTR2UV(cp) & (WANTED_ALIGNMENT - 1)) { /* Not aligned. */
@@ -1742,8 +1544,6 @@
 	    slack = WANTED_ALIGNMENT - (PTR2UV(cp) & (WANTED_ALIGNMENT - 1));
 	    add += slack;
 	}
-#  endif
-#endif /* !atarist */
 		
 	if (add) {
 	    DEBUG_m(PerlIO_printf(Perl_debug_log, 
@@ -1804,7 +1604,6 @@
 	    fatalcroak("Misalignment of sbrk()\n");
 	else
 #  endif
-#ifndef I286	/* Again, this should always be ok on an 80286 */
 	if (PTR2UV(ovp) & (MEM_ALIGNBYTES - 1)) {
 	    DEBUG_m(PerlIO_printf(Perl_debug_log, 
 				  "fixing sbrk(): %d bytes off machine alignment\n",
@@ -1817,7 +1616,6 @@
 	    sbrk_slack += (1 << (bucket >> BUCKET_POW2_SHIFT));
 # endif
 	}
-#endif
 	;				/* Finish "else" */
 	sbrked_remains = require - needed;
 	last_op = cp;
@@ -1877,13 +1675,13 @@
  * Allocate more memory to the indicated bucket.
  */
 static void
-morecore(register int bucket)
+morecore(int bucket)
 {
         dVAR;
-  	register union overhead *ovp;
-  	register int rnu;       /* 2^rnu bytes will be requested */
+  	union overhead *ovp;
+  	int rnu;       /* 2^rnu bytes will be requested */
   	int nblks;		/* become nblks blocks of the desired size */
-	register MEM_SIZE siz, needed;
+	MEM_SIZE siz, needed;
 	static int were_called = 0;
 
   	if (nextf[bucket])
@@ -1913,9 +1711,10 @@
 		    }
 		}
 		if (t && *t) {
-		    write2("Unrecognized part of PERL_MALLOC_OPT: \"");
-		    write2(t);
-		    write2("\"\n");
+		    dTHX;
+		    MYMALLOC_WRITE2STDERR("Unrecognized part of PERL_MALLOC_OPT: \"");
+		    MYMALLOC_WRITE2STDERR(t);
+		    MYMALLOC_WRITE2STDERR("\"\n");
 		}
 		if (changed)
 		    MallocCfg[MallocCfg_cfg_env_read] = 1;
@@ -2015,8 +1814,8 @@
 Perl_mfree(Malloc_t where)
 {
         dVAR;
-  	register MEM_SIZE size;
-	register union overhead *ovp;
+  	MEM_SIZE size;
+	union overhead *ovp;
 	char *cp = (char*)where;
 #ifdef PACK_MALLOC
 	u_char bucket;
@@ -2053,7 +1852,6 @@
 		if (!bad_free_warn)
 		    return;
 #ifdef RCHECK
-#ifdef PERL_CORE
 		{
 		    dTHX;
 		    if (!PERL_IS_ALIVE || !PL_curcop)
@@ -2062,20 +1860,12 @@
 					 "Duplicate" : "Bad");
 		}
 #else
-		warn("%s free() ignored (RMAGIC)",
-		    ovp->ov_rmagic == RMAGIC - 1 ? "Duplicate" : "Bad");
-#endif		
-#else
-#ifdef PERL_CORE
 		{
 		    dTHX;
 		    if (!PERL_IS_ALIVE || !PL_curcop)
 			Perl_ck_warner_d(aTHX_ packWARN(WARN_MALLOC), "%s", "Bad free() ignored (PERL_CORE)");
 		}
-#else
-		warn("%s", "Bad free() ignored");
 #endif
-#endif
 		return;				/* sanity */
 	    }
 #ifdef RCHECK
@@ -2120,16 +1910,16 @@
 Perl_realloc(void *mp, size_t nbytes)
 {
         dVAR;
-  	register MEM_SIZE onb;
+  	MEM_SIZE onb;
 	union overhead *ovp;
   	char *res;
 	int prev_bucket;
-	register int bucket;
+	int bucket;
 	int incr;		/* 1 if does not fit, -1 if "easily" fits in a
 				   smaller bucket, otherwise 0.  */
 	char *cp = (char*)mp;
 
-#if defined(DEBUGGING) || !defined(PERL_CORE)
+#ifdef DEBUGGING
 	MEM_SIZE size = nbytes;
 
 	if ((long)nbytes < 0)
@@ -2160,7 +1950,6 @@
 		if (!bad_free_warn)
 		    return NULL;
 #ifdef RCHECK
-#ifdef PERL_CORE
 		{
 		    dTHX;
 		    if (!PERL_IS_ALIVE || !PL_curcop)
@@ -2170,12 +1959,6 @@
 					 ? "of freed memory " : "");
 		}
 #else
-		warn2("%srealloc() %signored",
-		      (ovp->ov_rmagic == RMAGIC - 1 ? "" : "Bad "),
-		      ovp->ov_rmagic == RMAGIC - 1 ? "of freed memory " : "");
-#endif
-#else
-#ifdef PERL_CORE
 		{
 		    dTHX;
 		    if (!PERL_IS_ALIVE || !PL_curcop)
@@ -2182,10 +1965,7 @@
 			Perl_ck_warner_d(aTHX_ packWARN(WARN_MALLOC), "%s",
 					 "Bad realloc() ignored");
 		}
-#else
-		warn("%s", "Bad realloc() ignored");
 #endif
-#endif
 		return NULL;			/* sanity */
 	    }
 
@@ -2320,7 +2100,7 @@
 }
 
 Malloc_t
-Perl_calloc(register size_t elements, register size_t size)
+Perl_calloc(size_t elements, size_t size)
 {
     long sz = elements * size;
     Malloc_t p = Perl_malloc(sz);
@@ -2340,7 +2120,6 @@
     return (char *)CopyD(s, s1, (MEM_SIZE)(l+1), char);
 }
 
-#ifdef PERL_CORE
 int
 Perl_putenv(char *a)
 {
@@ -2368,7 +2147,6 @@
       Perl_mfree(var);
   return 0;
 }
-#  endif
 
 MEM_SIZE
 Perl_malloced_size(void *p)
@@ -2408,8 +2186,8 @@
 Perl_get_mstats(pTHX_ perl_mstats_t *buf, int buflen, int level)
 {
 #ifdef DEBUGGING_MSTATS
-  	register int i, j;
-  	register union overhead *p;
+  	int i, j;
+  	union overhead *p;
 	struct chunk_chain_s* nextchain;
 
 	PERL_ARGS_ASSERT_GET_MSTATS;
@@ -2470,7 +2248,7 @@
 Perl_dump_mstats(pTHX_ const char *s)
 {
 #ifdef DEBUGGING_MSTATS
-  	register int i;
+  	int i;
 	perl_mstats_t buffer;
 	UV nf[NBUCKETS];
 	UV nt[NBUCKETS];
@@ -2569,9 +2347,7 @@
     int small, reqsize;
 
     if (!size) return 0;
-#ifdef PERL_CORE
     reqsize = size; /* just for the DEBUG_m statement */
-#endif
 #ifdef PACK_MALLOC
     size = (size + 0x7ff) & ~0x7ff;
 #endif
@@ -2612,8 +2388,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/malloc.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/malloc_ctl.h
===================================================================
--- vendor/perl/dist/malloc_ctl.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/malloc_ctl.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/malloc_ctl.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/mathoms.c
===================================================================
--- vendor/perl/dist/mathoms.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mathoms.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,7 @@
 /*    mathoms.c
  *
- *    Copyright (C) 2005, 2006, 2007, 2008 by Larry Wall and others
+ *    Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010,
+ *    2011, 2012 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.
@@ -25,6 +26,8 @@
  *
  * SMP - Oct. 24, 2005
  *
+ * The compilation of this file can be suppressed; see INSTALL
+ *
  */
 
 #include "EXTERN.h"
@@ -37,27 +40,32 @@
  */
 #else
 
+/* Not all of these have prototypes elsewhere, so do this to get
+ * non-mangled names.
+ */
+START_EXTERN_C
+
 PERL_CALLCONV OP * Perl_ref(pTHX_ OP *o, I32 type);
 PERL_CALLCONV void Perl_sv_unref(pTHX_ SV *sv);
 PERL_CALLCONV void Perl_sv_taint(pTHX_ SV *sv);
-PERL_CALLCONV IV Perl_sv_2iv(pTHX_ register SV *sv);
-PERL_CALLCONV UV Perl_sv_2uv(pTHX_ register SV *sv);
-PERL_CALLCONV NV Perl_sv_2nv(pTHX_ register SV *sv);
-PERL_CALLCONV char * Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp);
-PERL_CALLCONV char * Perl_sv_2pv_nolen(pTHX_ register SV *sv);
-PERL_CALLCONV char * Perl_sv_2pvbyte_nolen(pTHX_ register SV *sv);
-PERL_CALLCONV char * Perl_sv_2pvutf8_nolen(pTHX_ register SV *sv);
-PERL_CALLCONV void Perl_sv_force_normal(pTHX_ register SV *sv);
-PERL_CALLCONV void Perl_sv_setsv(pTHX_ SV *dstr, register SV *sstr);
+PERL_CALLCONV IV Perl_sv_2iv(pTHX_ SV *sv);
+PERL_CALLCONV UV Perl_sv_2uv(pTHX_ SV *sv);
+PERL_CALLCONV NV Perl_sv_2nv(pTHX_ SV *sv);
+PERL_CALLCONV char * Perl_sv_2pv(pTHX_ SV *sv, STRLEN *lp);
+PERL_CALLCONV char * Perl_sv_2pv_nolen(pTHX_ SV *sv);
+PERL_CALLCONV char * Perl_sv_2pvbyte_nolen(pTHX_ SV *sv);
+PERL_CALLCONV char * Perl_sv_2pvutf8_nolen(pTHX_ SV *sv);
+PERL_CALLCONV void Perl_sv_force_normal(pTHX_ SV *sv);
+PERL_CALLCONV void Perl_sv_setsv(pTHX_ SV *dstr, SV *sstr);
 PERL_CALLCONV void Perl_sv_catpvn(pTHX_ SV *dsv, const char* sstr, STRLEN slen);
-PERL_CALLCONV void Perl_sv_catpvn_mg(pTHX_ register SV *sv, register const char *ptr, register STRLEN len);
-PERL_CALLCONV void Perl_sv_catsv(pTHX_ SV *dstr, register SV *sstr);
-PERL_CALLCONV void Perl_sv_catsv_mg(pTHX_ SV *dsv, register SV *ssv);
+PERL_CALLCONV void Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len);
+PERL_CALLCONV void Perl_sv_catsv(pTHX_ SV *dstr, SV *sstr);
+PERL_CALLCONV void Perl_sv_catsv_mg(pTHX_ SV *dsv, SV *ssv);
 PERL_CALLCONV char * Perl_sv_pv(pTHX_ SV *sv);
 PERL_CALLCONV char * Perl_sv_pvn_force(pTHX_ SV *sv, STRLEN *lp);
 PERL_CALLCONV char * Perl_sv_pvbyte(pTHX_ SV *sv);
 PERL_CALLCONV char * Perl_sv_pvutf8(pTHX_ SV *sv);
-PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade(pTHX_ register SV *sv);
+PERL_CALLCONV STRLEN Perl_sv_utf8_upgrade(pTHX_ SV *sv);
 PERL_CALLCONV NV Perl_huge(void);
 PERL_CALLCONV void Perl_gv_fullname3(pTHX_ SV *sv, const GV *gv, const char *prefix);
 PERL_CALLCONV void Perl_gv_efullname3(pTHX_ SV *sv, const GV *gv, const char *prefix);
@@ -64,9 +72,8 @@
 PERL_CALLCONV GV * Perl_gv_fetchmethod(pTHX_ HV *stash, const char *name);
 PERL_CALLCONV HE * Perl_hv_iternext(pTHX_ HV *hv);
 PERL_CALLCONV void Perl_hv_magic(pTHX_ HV *hv, GV *gv, int how);
-PERL_CALLCONV bool Perl_do_open(pTHX_ GV *gv, register const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp);
-PERL_CALLCONV bool Perl_do_aexec(pTHX_ SV *really, register SV **mark, register SV **sp);
-PERL_CALLCONV bool Perl_do_exec(pTHX_ const char *cmd);
+PERL_CALLCONV bool Perl_do_open(pTHX_ GV *gv, const char *name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO *supplied_fp);
+PERL_CALLCONV bool Perl_do_aexec(pTHX_ SV *really, SV **mark, SV **sp);
 PERL_CALLCONV U8 * Perl_uvuni_to_utf8(pTHX_ U8 *d, UV uv);
 PERL_CALLCONV bool Perl_is_utf8_string_loc(pTHX_ const U8 *s, STRLEN len, const U8 **ep);
 PERL_CALLCONV void Perl_sv_nolocking(pTHX_ SV *sv);
@@ -80,10 +87,15 @@
 PERL_CALLCONV IO * Perl_newIO(pTHX);
 PERL_CALLCONV I32 Perl_my_stat(pTHX);
 PERL_CALLCONV I32 Perl_my_lstat(pTHX);
-PERL_CALLCONV I32 Perl_sv_eq(pTHX_ register SV *sv1, register SV *sv2);
+PERL_CALLCONV I32 Perl_sv_eq(pTHX_ SV *sv1, SV *sv2);
 PERL_CALLCONV char * Perl_sv_collxfrm(pTHX_ SV *const sv, STRLEN *const nxp);
-PERL_CALLCONV bool Perl_sv_2bool(pTHX_ register SV *const sv);
+PERL_CALLCONV bool Perl_sv_2bool(pTHX_ SV *const sv);
 PERL_CALLCONV CV * Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block);
+PERL_CALLCONV UV Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp);
+PERL_CALLCONV UV Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp);
+PERL_CALLCONV UV Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp);
+PERL_CALLCONV UV Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp);
+PERL_CALLCONV SV *Perl_sv_mortalcopy(pTHX_ SV *const oldstr);
 
 /* ref() is now a macro using Perl_doref;
  * this version provided for binary compatibility only.
@@ -117,6 +129,7 @@
 =for apidoc sv_taint
 
 Taint an SV. Use C<SvTAINTED_on> instead.
+
 =cut
 */
 
@@ -133,7 +146,7 @@
  */
 
 IV
-Perl_sv_2iv(pTHX_ register SV *sv)
+Perl_sv_2iv(pTHX_ SV *sv)
 {
     return sv_2iv_flags(sv, SV_GMAGIC);
 }
@@ -143,7 +156,7 @@
  */
 
 UV
-Perl_sv_2uv(pTHX_ register SV *sv)
+Perl_sv_2uv(pTHX_ SV *sv)
 {
     return sv_2uv_flags(sv, SV_GMAGIC);
 }
@@ -153,7 +166,7 @@
  */
 
 NV
-Perl_sv_2nv(pTHX_ register SV *sv)
+Perl_sv_2nv(pTHX_ SV *sv)
 {
     return sv_2nv_flags(sv, SV_GMAGIC);
 }
@@ -164,7 +177,7 @@
  */
 
 char *
-Perl_sv_2pv(pTHX_ register SV *sv, STRLEN *lp)
+Perl_sv_2pv(pTHX_ SV *sv, STRLEN *lp)
 {
     return sv_2pv_flags(sv, lp, SV_GMAGIC);
 }
@@ -174,11 +187,12 @@
 
 Like C<sv_2pv()>, but doesn't return the length too. You should usually
 use the macro wrapper C<SvPV_nolen(sv)> instead.
+
 =cut
 */
 
 char *
-Perl_sv_2pv_nolen(pTHX_ register SV *sv)
+Perl_sv_2pv_nolen(pTHX_ SV *sv)
 {
     PERL_ARGS_ASSERT_SV_2PV_NOLEN;
     return sv_2pv(sv, NULL);
@@ -196,7 +210,7 @@
 */
 
 char *
-Perl_sv_2pvbyte_nolen(pTHX_ register SV *sv)
+Perl_sv_2pvbyte_nolen(pTHX_ SV *sv)
 {
     PERL_ARGS_ASSERT_SV_2PVBYTE_NOLEN;
 
@@ -215,7 +229,7 @@
 */
 
 char *
-Perl_sv_2pvutf8_nolen(pTHX_ register SV *sv)
+Perl_sv_2pvutf8_nolen(pTHX_ SV *sv)
 {
     PERL_ARGS_ASSERT_SV_2PVUTF8_NOLEN;
 
@@ -233,7 +247,7 @@
 */
 
 void
-Perl_sv_force_normal(pTHX_ register SV *sv)
+Perl_sv_force_normal(pTHX_ SV *sv)
 {
     PERL_ARGS_ASSERT_SV_FORCE_NORMAL;
 
@@ -245,7 +259,7 @@
  */
 
 void
-Perl_sv_setsv(pTHX_ SV *dstr, register SV *sstr)
+Perl_sv_setsv(pTHX_ SV *dstr, SV *sstr)
 {
     PERL_ARGS_ASSERT_SV_SETSV;
 
@@ -273,7 +287,7 @@
 */
 
 void
-Perl_sv_catpvn_mg(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
+Perl_sv_catpvn_mg(pTHX_ SV *sv, const char *ptr, STRLEN len)
 {
     PERL_ARGS_ASSERT_SV_CATPVN_MG;
 
@@ -285,7 +299,7 @@
  */
 
 void
-Perl_sv_catsv(pTHX_ SV *dstr, register SV *sstr)
+Perl_sv_catsv(pTHX_ SV *dstr, SV *sstr)
 {
     PERL_ARGS_ASSERT_SV_CATSV;
 
@@ -301,7 +315,7 @@
 */
 
 void
-Perl_sv_catsv_mg(pTHX_ SV *dsv, register SV *ssv)
+Perl_sv_catsv_mg(pTHX_ SV *dsv, SV *ssv)
 {
     PERL_ARGS_ASSERT_SV_CATSV_MG;
 
@@ -318,7 +332,7 @@
 */
 
 IV
-Perl_sv_iv(pTHX_ register SV *sv)
+Perl_sv_iv(pTHX_ SV *sv)
 {
     PERL_ARGS_ASSERT_SV_IV;
 
@@ -340,7 +354,7 @@
 */
 
 UV
-Perl_sv_uv(pTHX_ register SV *sv)
+Perl_sv_uv(pTHX_ SV *sv)
 {
     PERL_ARGS_ASSERT_SV_UV;
 
@@ -362,7 +376,7 @@
 */
 
 NV
-Perl_sv_nv(pTHX_ register SV *sv)
+Perl_sv_nv(pTHX_ SV *sv)
 {
     PERL_ARGS_ASSERT_SV_NV;
 
@@ -398,7 +412,7 @@
 
 
 char *
-Perl_sv_pvn_nomg(pTHX_ register SV *sv, STRLEN *lp)
+Perl_sv_pvn_nomg(pTHX_ SV *sv, STRLEN *lp)
 {
     PERL_ARGS_ASSERT_SV_PVN_NOMG;
 
@@ -513,7 +527,7 @@
  */
 
 STRLEN
-Perl_sv_utf8_upgrade(pTHX_ register SV *sv)
+Perl_sv_utf8_upgrade(pTHX_ SV *sv)
 {
     PERL_ARGS_ASSERT_SV_UTF8_UPGRADE;
 
@@ -604,7 +618,7 @@
 /*
 =for apidoc gv_fetchmethod
 
-See L<gv_fetchmethod_autoload>.
+See L</gv_fetchmethod_autoload>.
 
 =cut
 */
@@ -634,7 +648,7 @@
 }
 
 bool
-Perl_do_open(pTHX_ GV *gv, register const char *name, I32 len, int as_raw,
+Perl_do_open(pTHX_ GV *gv, const char *name, I32 len, int as_raw,
 	     int rawmode, int rawperm, PerlIO *supplied_fp)
 {
     PERL_ARGS_ASSERT_DO_OPEN;
@@ -644,7 +658,7 @@
 }
 
 bool
-Perl_do_open9(pTHX_ GV *gv, register const char *name, I32 len, int 
+Perl_do_open9(pTHX_ GV *gv, const char *name, I32 len, int
 as_raw,
               int rawmode, int rawperm, PerlIO *supplied_fp, SV *svs,
               I32 num_svs)
@@ -675,7 +689,7 @@
 
 #ifndef OS2
 bool
-Perl_do_aexec(pTHX_ SV *really, register SV **mark, register SV **sp)
+Perl_do_aexec(pTHX_ SV *really, SV **mark, SV **sp)
 {
     PERL_ARGS_ASSERT_DO_AEXEC;
 
@@ -683,16 +697,6 @@
 }
 #endif
 
-#ifdef PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
-bool
-Perl_do_exec(pTHX_ const char *cmd)
-{
-    PERL_ARGS_ASSERT_DO_EXEC;
-
-    return do_exec3(cmd,0,0);
-}
-#endif
-
 /* Backwards compatibility. */
 int
 Perl_init_i18nl14n(pTHX_ int printwarn)
@@ -794,16 +798,18 @@
 }
 
 void
-Perl_save_list(pTHX_ register SV **sarg, I32 maxsarg)
+Perl_save_list(pTHX_ SV **sarg, I32 maxsarg)
 {
     dVAR;
-    register I32 i;
+    I32 i;
 
     PERL_ARGS_ASSERT_SAVE_LIST;
 
     for (i = 1; i <= maxsarg; i++) {
-	register SV * const sv = newSV(0);
-	sv_setsv(sv,sarg[i]);
+	SV *sv;
+	SvGETMAGIC(sarg[i]);
+	sv = newSV(0);
+	sv_setsv_nomg(sv,sarg[i]);
 	SSCHECK(3);
 	SSPUSHPTR(sarg[i]);		/* remember the pointer */
 	SSPUSHPTR(sv);			/* remember the value */
@@ -877,7 +883,7 @@
 */
 
 void
-Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, register SV **beglist, SV **endlist, SV ***next_in_list, U32 flags)
+Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags)
 {
     PERL_ARGS_ASSERT_PACK_CAT;
 
@@ -1085,13 +1091,13 @@
 }
 
 GV *
-Perl_gv_HVadd(pTHX_ register GV *gv)
+Perl_gv_HVadd(pTHX_ GV *gv)
 {
     return gv_HVadd(gv);
 }
 
 GV *
-Perl_gv_IOadd(pTHX_ register GV *gv)
+Perl_gv_IOadd(pTHX_ GV *gv)
 {
     return gv_IOadd(gv);
 }
@@ -1115,7 +1121,7 @@
 }
 
 I32
-Perl_sv_eq(pTHX_ register SV *sv1, register SV *sv2)
+Perl_sv_eq(pTHX_ SV *sv1, SV *sv2)
 {
     return sv_eq_flags(sv1, sv2, SV_GMAGIC);
 }
@@ -1129,7 +1135,7 @@
 #endif
 
 bool
-Perl_sv_2bool(pTHX_ register SV *const sv)
+Perl_sv_2bool(pTHX_ SV *const sv)
 {
     return sv_2bool_flags(sv, SV_GMAGIC);
 }
@@ -1168,6 +1174,47 @@
 {
     return Perl_newATTRSUB(aTHX_ floor, o, proto, NULL, block);
 }
+
+UV
+Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+{
+    PERL_ARGS_ASSERT_TO_UTF8_FOLD;
+
+    return _to_utf8_fold_flags(p, ustrp, lenp, FOLD_FLAGS_FULL, NULL);
+}
+
+UV
+Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+{
+    PERL_ARGS_ASSERT_TO_UTF8_LOWER;
+
+    return _to_utf8_lower_flags(p, ustrp, lenp, FALSE, NULL);
+}
+
+UV
+Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+{
+    PERL_ARGS_ASSERT_TO_UTF8_TITLE;
+
+    return _to_utf8_title_flags(p, ustrp, lenp, FALSE, NULL);
+}
+
+UV
+Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+{
+    PERL_ARGS_ASSERT_TO_UTF8_UPPER;
+
+    return _to_utf8_upper_flags(p, ustrp, lenp, FALSE, NULL);
+}
+
+SV *
+Perl_sv_mortalcopy(pTHX_ SV *const oldstr)
+{
+    return Perl_sv_mortalcopy_flags(aTHX_ oldstr, SV_GMAGIC);
+}
+
+END_EXTERN_C
+
 #endif /* NO_MATHOMS */
 
 /*
@@ -1174,8 +1221,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/mathoms.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/metaconfig.SH
===================================================================
--- vendor/perl/dist/metaconfig.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/metaconfig.SH	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/metaconfig.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/metaconfig.h
===================================================================
--- vendor/perl/dist/metaconfig.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/metaconfig.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 /* This is a placeholder file for symbols that should be exported
  * into config_h.SH and Porting/Glossary. See also metaconfig.SH
  *
- * First version was created from the part in handy.h (which includes this)
+ * First version was created from the part in handy.h
  * H.Merijn Brand 21 Dec 2010 (Tux)
  *
  * Mentioned variables are forced to be included into config_h.SH
@@ -10,35 +10,29 @@
  * they won't be available unless used. When new symbols are probed
  * in Configure, this is the way to force them into availability.
  *
+ * BOOTSTRAP_CHARSET
  * CHARBITS
- * GMTIME_MAX
- * GMTIME_MIN
  * HAS_ASCTIME64
  * HAS_CTIME64
  * HAS_DIFFTIME64
- * HAS_GETADDRINFO
- * HAS_GETNAMEINFO
  * HAS_GMTIME64
- * HAS_INETNTOP
- * HAS_INETPTON
+ * HAS_ISBLANK
  * HAS_LOCALTIME64
+ * HAS_IP_MREQ
+ * HAS_IP_MREQ_SOURCE
+ * HAS_IPV6_MREQ
+ * HAS_IPV6_MREQ_SOURCE
  * HAS_MKTIME64
  * HAS_PRCTL
  * HAS_PSEUDOFORK
- * HAS_SIN6_SCOPE_ID
- * HAS_SOCKADDR_SA_LEN
  * HAS_TIMEGM
+ * HAS_SOCKADDR_IN6
  * I16SIZE
- * I32SIZE
  * I64SIZE
  * I8SIZE
- * LOCALTIME_MAX
- * LOCALTIME_MIN
  * LOCALTIME_R_NEEDS_TZSET
- * U16SIZE
- * U32SIZE
- * U64SIZE
  * U8SIZE
- * USE_DTRACE
+ * USE_KERN_PROC_PATHNAME
+ * USE_NSGETEXECUTABLEPATH
  *
  */


Property changes on: vendor/perl/dist/metaconfig.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/mg.c
===================================================================
--- vendor/perl/dist/mg.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mg.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -76,6 +76,7 @@
 #endif
 
 /*
+ * Pre-magic setup and post-magic takedown.
  * Use the "DESTRUCTOR" scope cleanup to reinstate magic.
  */
 
@@ -97,6 +98,8 @@
 
     PERL_ARGS_ASSERT_SAVE_MAGIC;
 
+    assert(SvMAGICAL(sv));
+
     /* we shouldn't really be called here with RC==0, but it can sometimes
      * happen via mg_clear() (which also shouldn't be called when RC==0,
      * but it can happen). Handle this case gracefully(ish) by not RC++
@@ -108,27 +111,19 @@
 	bumped = TRUE;
     }
 
-    assert(SvMAGICAL(sv));
-    /* Turning READONLY off for a copy-on-write scalar (including shared
-       hash keys) is a bad idea.  */
-    if (SvIsCOW(sv))
-      sv_force_normal_flags(sv, 0);
-
     SAVEDESTRUCTOR_X(S_restore_magic, INT2PTR(void*, (IV)mgs_ix));
 
     mgs = SSPTR(mgs_ix, MGS*);
     mgs->mgs_sv = sv;
     mgs->mgs_magical = SvMAGICAL(sv);
-    mgs->mgs_readonly = SvREADONLY(sv) != 0;
+    mgs->mgs_readonly = SvREADONLY(sv) && !SvIsCOW(sv);
     mgs->mgs_ss_ix = PL_savestack_ix;   /* points after the saved destructor */
     mgs->mgs_bumped = bumped;
 
     SvMAGICAL_off(sv);
-    SvREADONLY_off(sv);
-    if (!(SvFLAGS(sv) & (SVf_IOK|SVf_NOK|SVf_POK))) {
-	/* No public flags are set, so promote any private flags to public.  */
-	SvFLAGS(sv) |= (SvFLAGS(sv) & (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT;
-    }
+    /* Turning READONLY off for a copy-on-write scalar (including shared
+       hash keys) is a bad idea.  */
+    if (!SvIsCOW(sv)) SvREADONLY_off(sv);
 }
 
 /*
@@ -164,46 +159,11 @@
     }
 }
 
-
-/* is this container magic (%ENV, $1 etc), or value magic (pos, taint etc)? */
-
-STATIC bool
-S_is_container_magic(const MAGIC *mg)
-{
-    assert(mg);
-    switch (mg->mg_type) {
-    case PERL_MAGIC_bm:
-    case PERL_MAGIC_fm:
-    case PERL_MAGIC_regex_global:
-    case PERL_MAGIC_nkeys:
-#ifdef USE_LOCALE_COLLATE
-    case PERL_MAGIC_collxfrm:
-#endif
-    case PERL_MAGIC_qr:
-    case PERL_MAGIC_taint:
-    case PERL_MAGIC_vec:
-    case PERL_MAGIC_vstring:
-    case PERL_MAGIC_utf8:
-    case PERL_MAGIC_substr:
-    case PERL_MAGIC_defelem:
-    case PERL_MAGIC_arylen:
-    case PERL_MAGIC_pos:
-    case PERL_MAGIC_backref:
-    case PERL_MAGIC_arylen_p:
-    case PERL_MAGIC_rhash:
-    case PERL_MAGIC_symtab:
-    case PERL_MAGIC_tied: /* treat as value, so 'local @tied' isn't tied */
-    case PERL_MAGIC_checkcall:
-	return 0;
-    default:
-	return 1;
-    }
-}
-
 /*
 =for apidoc mg_get
 
-Do magic after a value is retrieved from the SV.  See C<sv_magic>.
+Do magic before a value is retrieved from the SV.  The type of SV must
+be >= SVt_PVMG. See C<sv_magic>.
 
 =cut
 */
@@ -213,12 +173,13 @@
 {
     dVAR;
     const I32 mgs_ix = SSNEW(sizeof(MGS));
+    bool saved = FALSE;
     bool have_new = 0;
     MAGIC *newmg, *head, *cur, *mg;
 
     PERL_ARGS_ASSERT_MG_GET;
 
-    save_magic(mgs_ix, sv);
+    if (PL_localizing == 1 && sv == DEFSV) return 0;
 
     /* We must call svt_get(sv, mg) for each valid entry in the linked
        list of magic. svt_get() may delete the current entry, add new
@@ -230,6 +191,13 @@
 	MAGIC * const nextmg = mg->mg_moremagic;	/* it may delete itself */
 
 	if (!(mg->mg_flags & MGf_GSKIP) && vtbl && vtbl->svt_get) {
+
+	    /* taint's mg get is so dumb it doesn't need flag saving */
+	    if (!saved && mg->mg_type != PERL_MAGIC_taint) {
+		save_magic(mgs_ix, sv);
+		saved = TRUE;
+	    }
+
 	    vtbl->svt_get(aTHX_ sv, mg);
 
 	    /* guard against magic having been deleted - eg FETCH calling
@@ -243,6 +211,10 @@
 	    if (mg->mg_flags & MGf_GSKIP)
 		(SSPTR(mgs_ix, MGS *))->mgs_magical = 0;
 	}
+	else if (vtbl == &PL_vtbl_utf8) {
+	    /* get-magic can reallocate the PV */
+	    magic_setutf8(sv, mg);
+	}
 
 	mg = nextmg;
 
@@ -265,7 +237,9 @@
 	}
     }
 
-    restore_magic(INT2PTR(void *, (IV)mgs_ix));
+    if (saved)
+	restore_magic(INT2PTR(void *, (IV)mgs_ix));
+
     return 0;
 }
 
@@ -287,6 +261,8 @@
 
     PERL_ARGS_ASSERT_MG_SET;
 
+    if (PL_localizing == 2 && sv == DEFSV) return 0;
+
     save_magic(mgs_ix, sv);
 
     for (mg = SvMAGIC(sv); mg; mg = nextmg) {
@@ -296,7 +272,8 @@
 	    mg->mg_flags &= ~MGf_GSKIP;	/* setting requires another read */
 	    (SSPTR(mgs_ix, MGS*))->mgs_magical = 0;
 	}
-	if (PL_localizing == 2 && (!S_is_container_magic(mg) || sv == DEFSV))
+	if (PL_localizing == 2
+	    && PERL_MAGIC_TYPE_IS_VALUE_MAGIC(mg->mg_type))
 	    continue;
 	if (vtbl && vtbl->svt_set)
 	    vtbl->svt_set(aTHX_ sv, mg);
@@ -309,8 +286,14 @@
 /*
 =for apidoc mg_length
 
-Report on the SV's length.  See C<sv_magic>.
+This function is deprecated.
 
+It reports on the SV's length in bytes, calling length magic if available,
+but does not set the UTF8 flag on the sv.  It will fall back to 'get'
+magic if there is no 'length' magic, but with no indication as to
+whether it called 'get' magic.  It assumes the sv is a PVMG or
+higher.  Use sv_len() instead.
+
 =cut
 */
 
@@ -335,15 +318,7 @@
 	}
     }
 
-    {
-	/* You can't know whether it's UTF-8 until you get the string again...
-	 */
-        const U8 *s = (U8*)SvPV_const(sv, len);
-
-	if (DO_UTF8(sv)) {
-	    len = utf8_length(s, s + len);
-	}
-    }
+    (void)SvPV_const(sv, len);
     return len;
 }
 
@@ -412,7 +387,7 @@
     return 0;
 }
 
-MAGIC*
+static MAGIC*
 S_mg_findext_flags(pTHX_ const SV *sv, int type, const MGVTBL *vtbl, U32 flags)
 {
     PERL_UNUSED_CONTEXT;
@@ -526,7 +501,7 @@
 
     for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
 	const MGVTBL* const vtbl = mg->mg_virtual;
-	if (!S_is_container_magic(mg))
+	if (PERL_MAGIC_TYPE_IS_VALUE_MAGIC(mg->mg_type))
 	    continue;
 		
 	if ((mg->mg_flags & MGf_LOCAL) && vtbl->svt_local)
@@ -637,7 +612,7 @@
     PERL_ARGS_ASSERT_MAGIC_REGDATA_CNT;
 
     if (PL_curpm) {
-	register const REGEXP * const rx = PM_GETRE(PL_curpm);
+	const REGEXP * const rx = PM_GETRE(PL_curpm);
 	if (rx) {
 	    if (mg->mg_obj) {			/* @+ */
 		/* return the number possible */
@@ -658,6 +633,8 @@
     return (U32)-1;
 }
 
+/* @-, @+ */
+
 int
 Perl_magic_regdatum_get(pTHX_ SV *sv, MAGIC *mg)
 {
@@ -666,11 +643,11 @@
     PERL_ARGS_ASSERT_MAGIC_REGDATUM_GET;
 
     if (PL_curpm) {
-	register const REGEXP * const rx = PM_GETRE(PL_curpm);
+	const REGEXP * const rx = PM_GETRE(PL_curpm);
 	if (rx) {
-	    register const I32 paren = mg->mg_len;
-	    register I32 s;
-	    register I32 t;
+	    const I32 paren = mg->mg_len;
+	    I32 s;
+	    I32 t;
 	    if (paren < 0)
 		return 0;
 	    if (paren <= (I32)RX_NPARENS(rx) &&
@@ -677,7 +654,7 @@
 		(s = RX_OFFS(rx)[paren].start) != -1 &&
 		(t = RX_OFFS(rx)[paren].end) != -1)
 		{
-		    register I32 i;
+		    I32 i;
 		    if (mg->mg_obj)		/* @+ */
 			i = t;
 		    else			/* @- */
@@ -686,7 +663,9 @@
 		    if (i > 0 && RX_MATCH_UTF8(rx)) {
 			const char * const b = RX_SUBBEG(rx);
 			if (b)
-			    i = utf8_length((U8*)b, (U8*)(b+i));
+			    i = RX_SUBCOFFSET(rx) +
+                                    utf8_length((U8*)b,
+                                        (U8*)(b-RX_SUBOFFSET(rx)+i));
 		    }
 
 		    sv_setiv(sv, i);
@@ -696,6 +675,8 @@
     return 0;
 }
 
+/* @-, @+ */
+
 int
 Perl_magic_regdatum_set(pTHX_ SV *sv, MAGIC *mg)
 {
@@ -702,89 +683,10 @@
     PERL_ARGS_ASSERT_MAGIC_REGDATUM_SET;
     PERL_UNUSED_ARG(sv);
     PERL_UNUSED_ARG(mg);
-    Perl_croak_no_modify(aTHX);
+    Perl_croak_no_modify();
     NORETURN_FUNCTION_END;
 }
 
-U32
-Perl_magic_len(pTHX_ SV *sv, MAGIC *mg)
-{
-    dVAR;
-    register I32 paren;
-    register I32 i;
-    register const REGEXP * rx;
-    const char * const remaining = mg->mg_ptr + 1;
-
-    PERL_ARGS_ASSERT_MAGIC_LEN;
-
-    switch (*mg->mg_ptr) {
-    case '\020':		
-      if (*remaining == '\0') { /* ^P */
-          break;
-      } else if (strEQ(remaining, "REMATCH")) { /* $^PREMATCH */
-          goto do_prematch;
-      } else if (strEQ(remaining, "OSTMATCH")) { /* $^POSTMATCH */
-          goto do_postmatch;
-      }
-      break;
-    case '\015': /* $^MATCH */
-	if (strEQ(remaining, "ATCH")) {
-        goto do_match;
-    } else {
-        break;
-    }
-    case '`':
-      do_prematch:
-      paren = RX_BUFF_IDX_PREMATCH;
-      goto maybegetparen;
-    case '\'':
-      do_postmatch:
-      paren = RX_BUFF_IDX_POSTMATCH;
-      goto maybegetparen;
-    case '&':
-      do_match:
-      paren = RX_BUFF_IDX_FULLMATCH;
-      goto maybegetparen;
-    case '1': case '2': case '3': case '4':
-    case '5': case '6': case '7': case '8': case '9':
-      paren = atoi(mg->mg_ptr);
-    maybegetparen:
-	if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-      getparen:
-        i = CALLREG_NUMBUF_LENGTH((REGEXP * const)rx, sv, paren);
-
-		if (i < 0)
-		    Perl_croak(aTHX_ "panic: magic_len: %"IVdf, (IV)i);
-		return i;
-	} else {
-		if (ckWARN(WARN_UNINITIALIZED))
-		    report_uninit(sv);
-		return 0;
-	}
-    case '+':
-	if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-	    paren = RX_LASTPAREN(rx);
-	    if (paren)
-		goto getparen;
-	}
-	return 0;
-    case '\016': /* ^N */
-	if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-	    paren = RX_LASTCLOSEPAREN(rx);
-	    if (paren)
-		goto getparen;
-	}
-	return 0;
-    }
-    magic_get(sv,mg);
-    if (!SvPOK(sv) && SvNIOK(sv)) {
-	sv_2pv(sv, 0);
-    }
-    if (SvPOK(sv))
-	return SvCUR(sv);
-    return 0;
-}
-
 #define SvRTRIM(sv) STMT_START { \
     if (SvPOK(sv)) { \
         STRLEN len = SvCUR(sv); \
@@ -820,13 +722,18 @@
     }
 }
 
+#ifdef VMS
+#include <descrip.h>
+#include <starlet.h>
+#endif
+
 int
 Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
 {
     dVAR;
-    register I32 paren;
-    register const char *s = NULL;
-    register REGEXP *rx;
+    I32 paren;
+    const char *s = NULL;
+    REGEXP *rx;
     const char * const remaining = mg->mg_ptr + 1;
     const char nextchar = *remaining;
 
@@ -834,7 +741,8 @@
 
     switch (*mg->mg_ptr) {
     case '\001':		/* ^A */
-	sv_setsv(sv, PL_bodytarget);
+	if (SvOK(PL_bodytarget)) sv_copypv(sv, PL_bodytarget);
+	else sv_setsv(sv, &PL_sv_undef);
 	if (SvTAINTED(PL_bodytarget))
 	    SvTAINTED_on(sv);
 	break;
@@ -854,8 +762,6 @@
 	 if (nextchar == '\0') {
 #if defined(VMS)
 	     {
-#	          include <descrip.h>
-#	          include <starlet.h>
 		  char msg[255];
 		  $DESCRIPTOR(msgdsc,msg);
 		  sv_setnv(sv,(NV) vaxc$errno);
@@ -917,6 +823,20 @@
     case '\011':		/* ^I */ /* NOT \t in EBCDIC */
 	sv_setpv(sv, PL_inplace); /* Will undefine sv if PL_inplace is NULL */
 	break;
+    case '\014':		/* ^LAST_FH */
+	if (strEQ(remaining, "AST_FH")) {
+	    if (PL_last_in_gv) {
+		assert(isGV_with_GP(PL_last_in_gv));
+		SV_CHECK_THINKFIRST_COW_DROP(sv);
+		prepare_SV_for_RV(sv);
+		SvOK_off(sv);
+		SvRV_set(sv, SvREFCNT_inc_simple_NN(PL_last_in_gv));
+		SvROK_on(sv);
+		sv_rvweaken(sv);
+	    }
+	    else sv_setsv_nomg(sv, NULL);
+	}
+	break;
     case '\017':		/* ^O & ^OPEN */
 	if (nextchar == '\0') {
 	    sv_setpv(sv, PL_osname);
@@ -930,9 +850,12 @@
 	if (nextchar == '\0') {       /* ^P */
 	    sv_setiv(sv, (IV)PL_perldb);
 	} else if (strEQ(remaining, "REMATCH")) { /* $^PREMATCH */
-	    goto do_prematch_fetch;
+
+            paren = RX_BUFF_IDX_CARET_PREMATCH;
+	    goto do_numbuf_fetch;
 	} else if (strEQ(remaining, "OSTMATCH")) { /* $^POSTMATCH */
-	    goto do_postmatch_fetch;
+            paren = RX_BUFF_IDX_CARET_POSTMATCH;
+	    goto do_numbuf_fetch;
 	}
 	break;
     case '\023':		/* ^S */
@@ -954,8 +877,8 @@
 #endif
         }
 	else if (strEQ(remaining, "AINT"))
-            sv_setiv(sv, PL_tainting
-		    ? (PL_taint_warn || PL_unsafe ? -1 : 1)
+            sv_setiv(sv, TAINTING_get
+		    ? (TAINT_WARN_get || PL_unsafe ? -1 : 1)
 		    : 0);
         break;
     case '\025':		/* $^UNICODE, $^UTF8LOCALE, $^UTF8CACHE */
@@ -974,83 +897,67 @@
 	        sv_setpvn(sv, WARN_NONEstring, WARNsize) ;
 	    }
 	    else if (PL_compiling.cop_warnings == pWARN_STD) {
-		sv_setpvn(
-		    sv, 
-		    (PL_dowarn & G_WARN_ON) ? WARN_ALLstring : WARN_NONEstring,
-		    WARNsize
-		);
+		sv_setsv(sv, &PL_sv_undef);
+		break;
 	    }
             else if (PL_compiling.cop_warnings == pWARN_ALL) {
 		/* Get the bit mask for $warnings::Bits{all}, because
 		 * it could have been extended by warnings::register */
-		HV * const bits=get_hv("warnings::Bits", 0);
-		if (bits) {
-		    SV ** const bits_all = hv_fetchs(bits, "all", FALSE);
-		    if (bits_all)
-			sv_setsv(sv, *bits_all);
-		}
-	        else {
-		    sv_setpvn(sv, WARN_ALLstring, WARNsize) ;
-		}
+		HV * const bits = get_hv("warnings::Bits", 0);
+		SV ** const bits_all = bits ? hv_fetchs(bits, "all", FALSE) : NULL;
+		if (bits_all)
+		    sv_copypv(sv, *bits_all);
+	        else
+		    sv_setpvn(sv, WARN_ALLstring, WARNsize);
 	    }
             else {
 	        sv_setpvn(sv, (char *) (PL_compiling.cop_warnings + 1),
 			  *PL_compiling.cop_warnings);
 	    }
-	    SvPOK_only(sv);
 	}
 	break;
     case '\015': /* $^MATCH */
 	if (strEQ(remaining, "ATCH")) {
+            paren = RX_BUFF_IDX_CARET_FULLMATCH;
+	    goto do_numbuf_fetch;
+        }
+
     case '1': case '2': case '3': case '4':
     case '5': case '6': case '7': case '8': case '9': case '&':
-	    if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-		/*
-		 * Pre-threads, this was paren = atoi(GvENAME((const GV *)mg->mg_obj));
-		 * XXX Does the new way break anything?
-		 */
-		paren = atoi(mg->mg_ptr); /* $& is in [0] */
-		CALLREG_NUMBUF_FETCH(rx,paren,sv);
-		break;
-	    }
-	    sv_setsv(sv,&PL_sv_undef);
-	}
+        /*
+         * Pre-threads, this was paren = atoi(GvENAME((const GV *)mg->mg_obj));
+         * XXX Does the new way break anything?
+         */
+        paren = atoi(mg->mg_ptr); /* $& is in [0] */
+      do_numbuf_fetch:
+        if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
+            CALLREG_NUMBUF_FETCH(rx,paren,sv);
+            break;
+        }
+        sv_setsv(sv,&PL_sv_undef);
 	break;
     case '+':
 	if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-	    if (RX_LASTPAREN(rx)) {
-	        CALLREG_NUMBUF_FETCH(rx,RX_LASTPAREN(rx),sv);
-	        break;
-	    }
+	    paren = RX_LASTPAREN(rx);
+	    if (paren)
+                goto do_numbuf_fetch;
 	}
 	sv_setsv(sv,&PL_sv_undef);
 	break;
     case '\016':		/* ^N */
 	if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-	    if (RX_LASTCLOSEPAREN(rx)) {
-	        CALLREG_NUMBUF_FETCH(rx,RX_LASTCLOSEPAREN(rx),sv);
-	        break;
-	    }
-
+	    paren = RX_LASTCLOSEPAREN(rx);
+	    if (paren)
+                goto do_numbuf_fetch;
 	}
 	sv_setsv(sv,&PL_sv_undef);
 	break;
     case '`':
-      do_prematch_fetch:
-	if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-	    CALLREG_NUMBUF_FETCH(rx,-2,sv);
-	    break;
-	}
-	sv_setsv(sv,&PL_sv_undef);
-	break;
+        paren = RX_BUFF_IDX_PREMATCH;
+        goto do_numbuf_fetch;
     case '\'':
-      do_postmatch_fetch:
-	if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
-	    CALLREG_NUMBUF_FETCH(rx,-1,sv);
-	    break;
-	}
-	sv_setsv(sv,&PL_sv_undef);
-	break;
+        paren = RX_BUFF_IDX_POSTMATCH;
+        goto do_numbuf_fetch;
     case '.':
 	if (GvIO(PL_last_in_gv)) {
 	    sv_setiv(sv, (IV)IoLINES(GvIOp(PL_last_in_gv)));
@@ -1067,9 +974,7 @@
 	}
 	break;
     case '^':
-	if (!isGV_with_GP(PL_defoutgv))
-	    s = "";
-	else if (GvIOp(PL_defoutgv))
+	if (GvIOp(PL_defoutgv))
 		s = IoTOP_NAME(GvIOp(PL_defoutgv));
 	if (s)
 	    sv_setpv(sv,s);
@@ -1079,9 +984,7 @@
 	}
 	break;
     case '~':
-	if (!isGV_with_GP(PL_defoutgv))
-	    s = "";
-	else if (GvIOp(PL_defoutgv))
+	if (GvIOp(PL_defoutgv))
 	    s = IoFMT_NAME(GvIOp(PL_defoutgv));
 	if (!s)
 	    s = GvENAME(PL_defoutgv);
@@ -1104,7 +1007,7 @@
     case '/':
 	break;
     case '[':
-	sv_setiv(sv, (IV)CopARYBASE_get(PL_curcop));
+	sv_setiv(sv, 0);
 	break;
     case '|':
 	if (GvIO(PL_defoutgv))
@@ -1113,7 +1016,22 @@
     case '\\':
 	if (PL_ors_sv)
 	    sv_copypv(sv, PL_ors_sv);
+	else
+	    sv_setsv(sv, &PL_sv_undef);
 	break;
+    case '$': /* $$ */
+	{
+	    IV const pid = (IV)PerlProc_getpid();
+	    if (isGV(mg->mg_obj) || SvIV(mg->mg_obj) != pid) {
+		/* never set manually, or at least not since last fork */
+		sv_setiv(sv, pid);
+		/* never unsafe, even if reading in a tainted expression */
+		SvTAINTED_off(sv);
+	    }
+	    /* else a value has been assigned manually, so do nothing */
+	}
+	break;
+
     case '!':
 	{
 	dSAVE_ERRNO;
@@ -1128,8 +1046,6 @@
 	else
 #endif
 	sv_setpv(sv, errno ? Strerror(errno) : "");
-	if (SvPOKp(sv))
-	    SvPOK_on(sv);    /* may have got removed during taint processing */
 	RESTORE_ERRNO;
 	}
 
@@ -1137,16 +1053,16 @@
 	SvNOK_on(sv);	/* what a wonderful hack! */
 	break;
     case '<':
-	sv_setiv(sv, (IV)PL_uid);
+	sv_setiv(sv, (IV)PerlProc_getuid());
 	break;
     case '>':
-	sv_setiv(sv, (IV)PL_euid);
+	sv_setiv(sv, (IV)PerlProc_geteuid());
 	break;
     case '(':
-	sv_setiv(sv, (IV)PL_gid);
+	sv_setiv(sv, (IV)PerlProc_getgid());
 	goto add_groups;
     case ')':
-	sv_setiv(sv, (IV)PL_egid);
+	sv_setiv(sv, (IV)PerlProc_getegid());
       add_groups:
 #ifdef HAS_GETGROUPS
 	{
@@ -1184,17 +1100,31 @@
 {
     dVAR;
     STRLEN len = 0, klen;
-    const char *s = SvOK(sv) ? SvPV_const(sv,len) : "";
-    const char * const ptr = MgPV_const(mg,klen);
-    my_setenv(ptr, s);
+    const char * const key = MgPV_const(mg,klen);
+    const char *s = "";
 
     PERL_ARGS_ASSERT_MAGIC_SETENV;
 
+    SvGETMAGIC(sv);
+    if (SvOK(sv)) {
+        /* defined environment variables are byte strings; unfortunately
+           there is no SvPVbyte_force_nomg(), so we must do this piecewise */
+        (void)SvPV_force_nomg_nolen(sv);
+        sv_utf8_downgrade(sv, /* fail_ok */ TRUE);
+        if (SvUTF8(sv)) {
+            Perl_ck_warner_d(aTHX_ packWARN(WARN_UTF8), "Wide character in %s", "setenv");
+            SvUTF8_off(sv);
+        }
+        s = SvPVX(sv);
+        len = SvCUR(sv);
+    }
+    my_setenv(key, s); /* does the deed */
+
 #ifdef DYNAMIC_ENV_FETCH
      /* We just undefd an environment var.  Is a replacement */
      /* waiting in the wings? */
     if (!len) {
-	SV ** const valp = hv_fetch(GvHVn(PL_envgv), ptr, klen, FALSE);
+	SV ** const valp = hv_fetch(GvHVn(PL_envgv), key, klen, FALSE);
 	if (valp)
 	    s = SvOK(*valp) ? SvPV_const(*valp, len) : "";
     }
@@ -1203,10 +1133,10 @@
 #if !defined(OS2) && !defined(AMIGAOS) && !defined(WIN32) && !defined(MSDOS)
 			    /* And you'll never guess what the dog had */
 			    /*   in its mouth... */
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	MgTAINTEDDIR_off(mg);
 #ifdef VMS
-	if (s && klen == 8 && strEQ(ptr, "DCL$PATH")) {
+	if (s && klen == 8 && strEQ(key, "DCL$PATH")) {
 	    char pathbuf[256], eltbuf[256], *cp, *elt;
 	    int i = 0, j = 0;
 
@@ -1232,7 +1162,7 @@
 	    } while (my_trnlnm(s, pathbuf, i++) && (elt = pathbuf));
 	}
 #endif /* VMS */
-	if (s && klen == 4 && strEQ(ptr,"PATH")) {
+	if (s && klen == 4 && strEQ(key,"PATH")) {
 	    const char * const strend = s + len;
 
 	    while (s < strend) {
@@ -1331,7 +1261,9 @@
     PERL_ARGS_ASSERT_MAGIC_GETSIG;
 
     if (!i) {
-	mg->mg_private = i = whichsig(MgPV_nolen_const(mg));
+        STRLEN siglen;
+        const char * sig = MgPV_const(mg, siglen);
+        mg->mg_private = i = whichsig_pvn(sig, siglen);
     }
 
     if (i > 0) {
@@ -1362,7 +1294,6 @@
 Perl_magic_clearsig(pTHX_ SV *sv, MAGIC *mg)
 {
     PERL_ARGS_ASSERT_MAGIC_CLEARSIG;
-    PERL_UNUSED_ARG(sv);
 
     magic_setsig(NULL, mg);
     return sv_unmagic(sv, mg->mg_type);
@@ -1518,14 +1449,14 @@
     sigset_t set, save;
     SV* save_sv;
 #endif
-    register const char *s = MgPV_const(mg,len);
+    const char *s = MgPV_const(mg,len);
 
     PERL_ARGS_ASSERT_MAGIC_SETSIG;
 
     if (*s == '_') {
-	if (strEQ(s,"__DIE__"))
+        if (memEQs(s, len, "__DIE__"))
 	    svp = &PL_diehook;
-	else if (strEQ(s,"__WARN__")
+	else if (memEQs(s, len, "__WARN__")
 		 && (sv ? 1 : PL_warnhook != PERL_WARNHOOK_FATAL)) {
 	    /* Merge the existing behaviours, which are as follows:
 	       magic_setsig, we always set svp to &PL_warnhook
@@ -1533,8 +1464,11 @@
 	       For magic_clearsig, we don't change the warnings handler if it's
 	       set to the &PL_warnhook.  */
 	    svp = &PL_warnhook;
-	} else if (sv)
-	    Perl_croak(aTHX_ "No such hook: %s", s);
+        } else if (sv) {
+            SV *tmp = sv_newmortal();
+            Perl_croak(aTHX_ "No such hook: %s",
+                                pv_pretty(tmp, s, len, 0, NULL, NULL, 0));
+        }
 	i = 0;
 	if (svp && *svp) {
 	    if (*svp != PERL_WARNHOOK_FATAL)
@@ -1545,12 +1479,15 @@
     else {
 	i = (I16)mg->mg_private;
 	if (!i) {
-	    i = whichsig(s);	/* ...no, a brick */
+	    i = whichsig_pvn(s, len);   /* ...no, a brick */
 	    mg->mg_private = (U16)i;
 	}
 	if (i <= 0) {
-	    if (sv)
-		Perl_ck_warner(aTHX_ packWARN(WARN_SIGNAL), "No such signal: SIG%s", s);
+	    if (sv) {
+                SV *tmp = sv_newmortal();
+		Perl_ck_warner(aTHX_ packWARN(WARN_SIGNAL), "No such signal: SIG%s",
+                                            pv_pretty(tmp, s, len, 0, NULL, NULL, 0));
+            }
 	    return 0;
 	}
 #ifdef HAS_SIGPROCMASK
@@ -1606,7 +1543,7 @@
 	} else {
 	    sv = NULL;
 	}
-	if (sv && strEQ(s,"IGNORE")) {
+	if (sv && memEQs(s, len,"IGNORE")) {
 	    if (i) {
 #ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
 		PL_sig_ignoring[i] = 1;
@@ -1616,7 +1553,7 @@
 #endif
 	    }
 	}
-	else if (!sv || strEQ(s,"DEFAULT") || !len) {
+	else if (!sv || memEQs(s, len,"DEFAULT") || !len) {
 	    if (i) {
 #ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
 		PL_sig_defaulting[i] = 1;
@@ -1709,18 +1646,6 @@
 }
 
 int
-Perl_magic_setamagic(pTHX_ SV *sv, MAGIC *mg)
-{
-    dVAR;
-    PERL_ARGS_ASSERT_MAGIC_SETAMAGIC;
-    PERL_UNUSED_ARG(sv);
-    PERL_UNUSED_ARG(mg);
-    PL_amagic_generation++;
-
-    return 0;
-}
-
-int
 Perl_magic_getnkeys(pTHX_ SV *sv, MAGIC *mg)
 {
     HV * const hv = MUTABLE_HV(LvTARG(sv));
@@ -1732,7 +1657,7 @@
     if (hv) {
          (void) hv_iterinit(hv);
          if (! SvTIED_mg((const SV *)hv, PERL_MAGIC_tied))
-	     i = HvKEYS(hv);
+	     i = HvUSEDKEYS(hv);
          else {
 	     while (hv_iternext(hv))
 	         i++;
@@ -1759,14 +1684,21 @@
 
 Invoke a magic method (like FETCH).
 
-* sv and mg are the tied thingy and the tie magic;
-* meth is the name of the method to call;
-* argc is the number of args (in addition to $self) to pass to the method;
-       the args themselves are any values following the argc argument.
-* flags:
-    G_DISCARD:     invoke method with G_DISCARD flag and don't return a value
-    G_UNDEF_FILL:  fill the stack with argc pointers to PL_sv_undef.
+C<sv> and C<mg> are the tied thingy and the tie magic.
 
+C<meth> is the name of the method to call.
+
+C<argc> is the number of args (in addition to $self) to pass to the method.
+
+The C<flags> can be:
+
+    G_DISCARD     invoke method with G_DISCARD flag and don't
+                  return a value
+    G_UNDEF_FILL  fill the stack with argc pointers to
+                  PL_sv_undef
+
+The arguments themselves are any values following the C<flags> argument.
+
 Returns the SV (if any) returned by the method, or NULL on failure.
 
 
@@ -1901,7 +1833,7 @@
      * fake up a temporary tainted value (this is easier than temporarily
      * re-enabling magic on sv). */
 
-    if (PL_tainting && (tmg = mg_find(sv, PERL_MAGIC_taint))
+    if (TAINTING_get && (tmg = mg_find(sv, PERL_MAGIC_taint))
 	&& (tmg->mg_len & 1))
     {
 	val = sv_mortalcopy(sv);
@@ -1919,6 +1851,7 @@
 {
     PERL_ARGS_ASSERT_MAGIC_CLEARPACK;
 
+    if (mg->mg_type == PERL_MAGIC_tiedscalar) return 0;
     return magic_methpack(sv,mg,"DELETE");
 }
 
@@ -2018,11 +1951,17 @@
     if (svp && SvIOKp(*svp)) {
 	OP * const o = INT2PTR(OP*,SvIVX(*svp));
 	if (o) {
+#ifdef PERL_DEBUG_READONLY_OPS
+	    Slab_to_rw(OpSLAB(o));
+#endif
 	    /* set or clear breakpoint in the relevant control op */
 	    if (i)
 		o->op_flags |= OPf_SPECIAL;
 	    else
 		o->op_flags &= ~OPf_SPECIAL;
+#ifdef PERL_DEBUG_READONLY_OPS
+	    Slab_to_ro(OpSLAB(o));
+#endif
 	}
     }
     return 0;
@@ -2037,7 +1976,7 @@
     PERL_ARGS_ASSERT_MAGIC_GETARYLEN;
 
     if (obj) {
-	sv_setiv(sv, AvFILL(obj) + CopARYBASE_get(PL_curcop));
+	sv_setiv(sv, AvFILL(obj));
     } else {
 	SvOK_off(sv);
     }
@@ -2053,7 +1992,7 @@
     PERL_ARGS_ASSERT_MAGIC_SETARYLEN;
 
     if (obj) {
-	av_fill(obj, SvIV(sv) - CopARYBASE_get(PL_curcop));
+	av_fill(obj, SvIV(sv));
     } else {
 	Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
 		       "Attempt to set length of freed array");
@@ -2062,6 +2001,25 @@
 }
 
 int
+Perl_magic_cleararylen_p(pTHX_ SV *sv, MAGIC *mg)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT_MAGIC_CLEARARYLEN_P;
+    PERL_UNUSED_ARG(sv);
+
+    /* Reset the iterator when the array is cleared */
+#if IVSIZE == I32SIZE
+    *((IV *) &(mg->mg_len)) = 0;
+#else
+    if (mg->mg_ptr)
+        *((IV *) mg->mg_ptr) = 0;
+#endif
+
+    return 0;
+}
+
+int
 Perl_magic_freearylen_p(pTHX_ SV *sv, MAGIC *mg)
 {
     dVAR;
@@ -2101,7 +2059,7 @@
 	    I32 i = found->mg_len;
 	    if (DO_UTF8(lsv))
 		sv_pos_b2u(lsv, &i);
-	    sv_setiv(sv, i + CopARYBASE_get(PL_curcop));
+	    sv_setiv(sv, i);
 	    return 0;
 	}
     }
@@ -2118,6 +2076,7 @@
     STRLEN len;
     STRLEN ulen = 0;
     MAGIC* found;
+    const char *s;
 
     PERL_ARGS_ASSERT_MAGIC_SETPOS;
     PERL_UNUSED_ARG(mg);
@@ -2140,12 +2099,12 @@
 	found->mg_len = -1;
 	return 0;
     }
-    len = SvPOK(lsv) ? SvCUR(lsv) : sv_len(lsv);
+    s = SvPV_const(lsv, len);
 
-    pos = SvIV(sv) - CopARYBASE_get(PL_curcop);
+    pos = SvIV(sv);
 
     if (DO_UTF8(lsv)) {
-	ulen = sv_len_utf8(lsv);
+	ulen = sv_or_pv_len_utf8(lsv, s, len);
 	if (ulen)
 	    len = ulen;
     }
@@ -2159,9 +2118,7 @@
 	pos = len;
 
     if (ulen) {
-	I32 p = pos;
-	sv_pos_u2b(lsv, &p, 0);
-	pos = p;
+	pos = sv_or_pv_pos_u2b(lsv, s, pos, 0);
     }
 
     found->mg_len = pos;
@@ -2178,16 +2135,24 @@
     const char * const tmps = SvPV_const(lsv,len);
     STRLEN offs = LvTARGOFF(sv);
     STRLEN rem = LvTARGLEN(sv);
+    const bool negoff = LvFLAGS(sv) & 1;
+    const bool negrem = LvFLAGS(sv) & 2;
 
     PERL_ARGS_ASSERT_MAGIC_GETSUBSTR;
     PERL_UNUSED_ARG(mg);
 
+    if (!translate_substr_offsets(
+	    SvUTF8(lsv) ? sv_or_pv_len_utf8(lsv, tmps, len) : len,
+	    negoff ? -(IV)offs : (IV)offs, !negoff,
+	    negrem ? -(IV)rem  : (IV)rem,  !negrem, &offs, &rem
+    )) {
+	Perl_ck_warner(aTHX_ packWARN(WARN_SUBSTR), "substr outside of string");
+	sv_setsv_nomg(sv, &PL_sv_undef);
+	return 0;
+    }
+
     if (SvUTF8(lsv))
-	offs = sv_pos_u2b_flags(lsv, offs, &rem, SV_CONST_RETURN);
-    if (offs > len)
-	offs = len;
-    if (rem > len - offs)
-	rem = len - offs;
+	offs = sv_or_pv_pos_u2b(lsv, tmps, offs, &rem);
     sv_setpvn(sv, tmps + offs, rem);
     if (SvUTF8(lsv))
         SvUTF8_on(sv);
@@ -2198,34 +2163,52 @@
 Perl_magic_setsubstr(pTHX_ SV *sv, MAGIC *mg)
 {
     dVAR;
-    STRLEN len;
+    STRLEN len, lsv_len, oldtarglen, newtarglen;
     const char * const tmps = SvPV_const(sv, len);
     SV * const lsv = LvTARG(sv);
     STRLEN lvoff = LvTARGOFF(sv);
     STRLEN lvlen = LvTARGLEN(sv);
+    const bool negoff = LvFLAGS(sv) & 1;
+    const bool neglen = LvFLAGS(sv) & 2;
 
     PERL_ARGS_ASSERT_MAGIC_SETSUBSTR;
     PERL_UNUSED_ARG(mg);
 
+    SvGETMAGIC(lsv);
+    if (SvROK(lsv))
+	Perl_ck_warner(aTHX_ packWARN(WARN_SUBSTR),
+			    "Attempt to use reference as lvalue in substr"
+	);
+    SvPV_force_nomg(lsv,lsv_len);
+    if (SvUTF8(lsv)) lsv_len = sv_len_utf8_nomg(lsv);
+    if (!translate_substr_offsets(
+	    lsv_len,
+	    negoff ? -(IV)lvoff : (IV)lvoff, !negoff,
+	    neglen ? -(IV)lvlen : (IV)lvlen, !neglen, &lvoff, &lvlen
+    ))
+	Perl_croak(aTHX_ "substr outside of string");
+    oldtarglen = lvlen;
     if (DO_UTF8(sv)) {
-	sv_utf8_upgrade(lsv);
+	sv_utf8_upgrade_nomg(lsv);
 	lvoff = sv_pos_u2b_flags(lsv, lvoff, &lvlen, SV_CONST_RETURN);
-	sv_insert(lsv, lvoff, lvlen, tmps, len);
-	LvTARGLEN(sv) = sv_len_utf8(sv);
+	sv_insert_flags(lsv, lvoff, lvlen, tmps, len, 0);
+	newtarglen = sv_or_pv_len_utf8(sv, tmps, len);
 	SvUTF8_on(lsv);
     }
-    else if (lsv && SvUTF8(lsv)) {
+    else if (SvUTF8(lsv)) {
 	const char *utf8;
 	lvoff = sv_pos_u2b_flags(lsv, lvoff, &lvlen, SV_CONST_RETURN);
-	LvTARGLEN(sv) = len;
+	newtarglen = len;
 	utf8 = (char*)bytes_to_utf8((U8*)tmps, &len);
-	sv_insert(lsv, lvoff, lvlen, utf8, len);
+	sv_insert_flags(lsv, lvoff, lvlen, utf8, len, 0);
 	Safefree(utf8);
     }
     else {
-	sv_insert(lsv, lvoff, lvlen, tmps, len);
-	LvTARGLEN(sv) = len;
+	sv_insert_flags(lsv, lvoff, lvlen, tmps, len, 0);
+	newtarglen = len;
     }
+    if (!neglen) LvTARGLEN(sv) = newtarglen;
+    if (negoff)  LvTARGOFF(sv) += newtarglen - oldtarglen;
 
     return 0;
 }
@@ -2237,6 +2220,9 @@
 
     PERL_ARGS_ASSERT_MAGIC_GETTAINT;
     PERL_UNUSED_ARG(sv);
+#ifdef NO_TAINT_SUPPORT
+    PERL_UNUSED_ARG(mg);
+#endif
 
     TAINT_IF((PL_localizing != 1) && (mg->mg_len & 1));
     return 0;
@@ -2251,7 +2237,7 @@
     PERL_UNUSED_ARG(sv);
 
     /* update taint status */
-    if (PL_tainted)
+    if (TAINT_get)
 	mg->mg_len |= 1;
     else
 	mg->mg_len &= ~1;
@@ -2384,9 +2370,8 @@
 {
     PERL_ARGS_ASSERT_MAGIC_SETMGLOB;
     PERL_UNUSED_CONTEXT;
+    PERL_UNUSED_ARG(sv);
     mg->mg_len = -1;
-    if (!isGV_with_GP(sv))
-	SvSCREAM_off(sv);
     return 0;
 }
 
@@ -2457,9 +2442,9 @@
 Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
 {
     dVAR;
-    register const char *s;
-    register I32 paren;
-    register const REGEXP * rx;
+    const char *s;
+    I32 paren;
+    const REGEXP * rx;
     const char * const remaining = mg->mg_ptr + 1;
     I32 i;
     STRLEN len;
@@ -2488,20 +2473,31 @@
       paren = atoi(mg->mg_ptr);
       setparen:
 	if (PL_curpm && (rx = PM_GETRE(PL_curpm))) {
+      setparen_got_rx:
             CALLREG_NUMBUF_STORE((REGEXP * const)rx,paren,sv);
 	} else {
             /* Croak with a READONLY error when a numbered match var is
              * set without a previous pattern match. Unless it's C<local $1>
              */
+      croakparen:
             if (!PL_localizing) {
-                Perl_croak_no_modify(aTHX);
+                Perl_croak_no_modify();
             }
         }
         break;
     case '\001':	/* ^A */
-	sv_setsv(PL_bodytarget, sv);
+	if (SvOK(sv)) sv_copypv(PL_bodytarget, sv);
+	else SvOK_off(PL_bodytarget);
+	FmLINES(PL_bodytarget) = 0;
+	if (SvPOK(PL_bodytarget)) {
+	    char *s = SvPVX(PL_bodytarget);
+	    while ( ((s = strchr(s, '\n'))) ) {
+		FmLINES(PL_bodytarget)++;
+		s++;
+	    }
+	}
 	/* mg_set() has temporarily made sv non-magical */
-	if (PL_tainting) {
+	if (TAINTING_get) {
 	    if ((tmg = mg_find(sv,PERL_MAGIC_taint)) && tmg->mg_len & 1)
 		SvTAINTED_on(PL_bodytarget);
 	    else
@@ -2559,6 +2555,10 @@
 	Safefree(PL_inplace);
 	PL_inplace = SvOK(sv) ? savesvpv(sv) : NULL;
 	break;
+    case '\016':	/* ^N */
+	if (PL_curpm && (rx = PM_GETRE(PL_curpm))
+	 && (paren = RX_LASTCLOSEPAREN(rx))) goto setparen_got_rx;
+	goto croakparen;
     case '\017':	/* ^O */
 	if (*(mg->mg_ptr+1) == '\0') {
 	    Safefree(PL_osname);
@@ -2626,9 +2626,8 @@
 	}
 	else if (strEQ(mg->mg_ptr+1, "ARNING_BITS")) {
 	    if ( ! (PL_dowarn & G_WARN_ALL_MASK)) {
-		if (!SvPOK(sv) && PL_localizing) {
-	            sv_setpvn(sv, WARN_NONEstring, WARNsize);
-	            PL_compiling.cop_warnings = pWARN_NONE;
+		if (!SvPOK(sv)) {
+	            PL_compiling.cop_warnings = pWARN_STD;
 		    break;
 		}
 		{
@@ -2678,33 +2677,25 @@
 	    IoLINES(GvIOp(PL_last_in_gv)) = SvIV(sv);
 	break;
     case '^':
-	if (isGV_with_GP(PL_defoutgv)) {
-	    Safefree(IoTOP_NAME(GvIOp(PL_defoutgv)));
-	    s = IoTOP_NAME(GvIOp(PL_defoutgv)) = savesvpv(sv);
-	    IoTOP_GV(GvIOp(PL_defoutgv)) =  gv_fetchsv(sv, GV_ADD, SVt_PVIO);
-	}
+	Safefree(IoTOP_NAME(GvIOp(PL_defoutgv)));
+	s = IoTOP_NAME(GvIOp(PL_defoutgv)) = savesvpv(sv);
+	IoTOP_GV(GvIOp(PL_defoutgv)) =  gv_fetchsv(sv, GV_ADD, SVt_PVIO);
 	break;
     case '~':
-	if (isGV_with_GP(PL_defoutgv)) {
-	    Safefree(IoFMT_NAME(GvIOp(PL_defoutgv)));
-	    s = IoFMT_NAME(GvIOp(PL_defoutgv)) = savesvpv(sv);
-	    IoFMT_GV(GvIOp(PL_defoutgv)) =  gv_fetchsv(sv, GV_ADD, SVt_PVIO);
-	}
+	Safefree(IoFMT_NAME(GvIOp(PL_defoutgv)));
+	s = IoFMT_NAME(GvIOp(PL_defoutgv)) = savesvpv(sv);
+	IoFMT_GV(GvIOp(PL_defoutgv)) =  gv_fetchsv(sv, GV_ADD, SVt_PVIO);
 	break;
     case '=':
-	if (isGV_with_GP(PL_defoutgv))
-	    IoPAGE_LEN(GvIOp(PL_defoutgv)) = (SvIV(sv));
+	IoPAGE_LEN(GvIOp(PL_defoutgv)) = (SvIV(sv));
 	break;
     case '-':
-	if (isGV_with_GP(PL_defoutgv)) {
-	    IoLINES_LEFT(GvIOp(PL_defoutgv)) = (SvIV(sv));
-	    if (IoLINES_LEFT(GvIOp(PL_defoutgv)) < 0L)
+	IoLINES_LEFT(GvIOp(PL_defoutgv)) = (SvIV(sv));
+	if (IoLINES_LEFT(GvIOp(PL_defoutgv)) < 0L)
 		IoLINES_LEFT(GvIOp(PL_defoutgv)) = 0L;
-	}
 	break;
     case '%':
-	if (isGV_with_GP(PL_defoutgv))
-	    IoPAGE(GvIOp(PL_defoutgv)) = (SvIV(sv));
+	IoPAGE(GvIOp(PL_defoutgv)) = (SvIV(sv));
 	break;
     case '|':
 	{
@@ -2729,7 +2720,7 @@
 	break;
     case '\\':
 	SvREFCNT_dec(PL_ors_sv);
-	if (SvOK(sv) || SvGMAGICAL(sv)) {
+	if (SvOK(sv)) {
 	    PL_ors_sv = newSVsv(sv);
 	}
 	else {
@@ -2737,7 +2728,8 @@
 	}
 	break;
     case '[':
-	CopARYBASE_set(&PL_compiling, SvIV(sv));
+	if (SvIV(sv) != 0)
+	    Perl_croak(aTHX_ "Assigning non-zero to $[ is no longer possible");
 	break;
     case '?':
 #ifdef COMPLEX_STATUS
@@ -2767,89 +2759,94 @@
 	}
 	break;
     case '<':
-	PL_uid = SvIV(sv);
+	{
+	const IV new_uid = SvIV(sv);
+	PL_delaymagic_uid = new_uid;
 	if (PL_delaymagic) {
 	    PL_delaymagic |= DM_RUID;
 	    break;				/* don't do magic till later */
 	}
 #ifdef HAS_SETRUID
-	(void)setruid((Uid_t)PL_uid);
+	(void)setruid((Uid_t)new_uid);
 #else
 #ifdef HAS_SETREUID
-	(void)setreuid((Uid_t)PL_uid, (Uid_t)-1);
+	(void)setreuid((Uid_t)new_uid, (Uid_t)-1);
 #else
 #ifdef HAS_SETRESUID
-      (void)setresuid((Uid_t)PL_uid, (Uid_t)-1, (Uid_t)-1);
+      (void)setresuid((Uid_t)new_uid, (Uid_t)-1, (Uid_t)-1);
 #else
-	if (PL_uid == PL_euid) {		/* special case $< = $> */
+	if (new_uid == PerlProc_geteuid()) {		/* special case $< = $> */
 #ifdef PERL_DARWIN
 	    /* workaround for Darwin's setuid peculiarity, cf [perl #24122] */
-	    if (PL_uid != 0 && PerlProc_getuid() == 0)
+	    if (new_uid != 0 && PerlProc_getuid() == 0)
 		(void)PerlProc_setuid(0);
 #endif
-	    (void)PerlProc_setuid(PL_uid);
+	    (void)PerlProc_setuid(new_uid);
 	} else {
-	    PL_uid = PerlProc_getuid();
 	    Perl_croak(aTHX_ "setruid() not implemented");
 	}
 #endif
 #endif
 #endif
-	PL_uid = PerlProc_getuid();
 	break;
+	}
     case '>':
-	PL_euid = SvIV(sv);
+	{
+	const UV new_euid = SvIV(sv);
+	PL_delaymagic_euid = new_euid;
 	if (PL_delaymagic) {
 	    PL_delaymagic |= DM_EUID;
 	    break;				/* don't do magic till later */
 	}
 #ifdef HAS_SETEUID
-	(void)seteuid((Uid_t)PL_euid);
+	(void)seteuid((Uid_t)new_euid);
 #else
 #ifdef HAS_SETREUID
-	(void)setreuid((Uid_t)-1, (Uid_t)PL_euid);
+	(void)setreuid((Uid_t)-1, (Uid_t)new_euid);
 #else
 #ifdef HAS_SETRESUID
-	(void)setresuid((Uid_t)-1, (Uid_t)PL_euid, (Uid_t)-1);
+	(void)setresuid((Uid_t)-1, (Uid_t)new_euid, (Uid_t)-1);
 #else
-	if (PL_euid == PL_uid)		/* special case $> = $< */
-	    PerlProc_setuid(PL_euid);
+	if (new_euid == PerlProc_getuid())		/* special case $> = $< */
+	    PerlProc_setuid(new_euid);
 	else {
-	    PL_euid = PerlProc_geteuid();
 	    Perl_croak(aTHX_ "seteuid() not implemented");
 	}
 #endif
 #endif
 #endif
-	PL_euid = PerlProc_geteuid();
 	break;
+	}
     case '(':
-	PL_gid = SvIV(sv);
+	{
+	const UV new_gid = SvIV(sv);
+	PL_delaymagic_gid = new_gid;
 	if (PL_delaymagic) {
 	    PL_delaymagic |= DM_RGID;
 	    break;				/* don't do magic till later */
 	}
 #ifdef HAS_SETRGID
-	(void)setrgid((Gid_t)PL_gid);
+	(void)setrgid((Gid_t)new_gid);
 #else
 #ifdef HAS_SETREGID
-	(void)setregid((Gid_t)PL_gid, (Gid_t)-1);
+	(void)setregid((Gid_t)new_gid, (Gid_t)-1);
 #else
 #ifdef HAS_SETRESGID
-      (void)setresgid((Gid_t)PL_gid, (Gid_t)-1, (Gid_t) 1);
+      (void)setresgid((Gid_t)new_gid, (Gid_t)-1, (Gid_t) -1);
 #else
-	if (PL_gid == PL_egid)			/* special case $( = $) */
-	    (void)PerlProc_setgid(PL_gid);
+	if (new_gid == PerlProc_getegid())			/* special case $( = $) */
+	    (void)PerlProc_setgid(new_gid);
 	else {
-	    PL_gid = PerlProc_getgid();
 	    Perl_croak(aTHX_ "setrgid() not implemented");
 	}
 #endif
 #endif
 #endif
-	PL_gid = PerlProc_getgid();
 	break;
+	}
     case ')':
+	{
+	UV new_egid;
 #ifdef HAS_SETGROUPS
 	{
 	    const char *p = SvPV_const(sv, len);
@@ -2865,7 +2862,7 @@
 
             while (isSPACE(*p))
                 ++p;
-            PL_egid = Atol(p);
+            new_egid = Atol(p);
             for (i = 0; i < maxgrp; ++i) {
                 while (*p && !isSPACE(*p))
                     ++p;
@@ -2884,35 +2881,46 @@
 	    Safefree(gary);
 	}
 #else  /* HAS_SETGROUPS */
-	PL_egid = SvIV(sv);
+	new_egid = SvIV(sv);
 #endif /* HAS_SETGROUPS */
+	PL_delaymagic_egid = new_egid;
 	if (PL_delaymagic) {
 	    PL_delaymagic |= DM_EGID;
 	    break;				/* don't do magic till later */
 	}
 #ifdef HAS_SETEGID
-	(void)setegid((Gid_t)PL_egid);
+	(void)setegid((Gid_t)new_egid);
 #else
 #ifdef HAS_SETREGID
-	(void)setregid((Gid_t)-1, (Gid_t)PL_egid);
+	(void)setregid((Gid_t)-1, (Gid_t)new_egid);
 #else
 #ifdef HAS_SETRESGID
-	(void)setresgid((Gid_t)-1, (Gid_t)PL_egid, (Gid_t)-1);
+	(void)setresgid((Gid_t)-1, (Gid_t)new_egid, (Gid_t)-1);
 #else
-	if (PL_egid == PL_gid)			/* special case $) = $( */
-	    (void)PerlProc_setgid(PL_egid);
+	if (new_egid == PerlProc_getgid())			/* special case $) = $( */
+	    (void)PerlProc_setgid(new_egid);
 	else {
-	    PL_egid = PerlProc_getegid();
 	    Perl_croak(aTHX_ "setegid() not implemented");
 	}
 #endif
 #endif
 #endif
-	PL_egid = PerlProc_getegid();
 	break;
+	}
     case ':':
 	PL_chopset = SvPV_force(sv,len);
 	break;
+    case '$': /* $$ */
+	/* Store the pid in mg->mg_obj so we can tell when a fork has
+	   occurred.  mg->mg_obj points to *$ by default, so clear it. */
+	if (isGV(mg->mg_obj)) {
+	    if (mg->mg_flags & MGf_REFCOUNTED) /* probably never true */
+		SvREFCNT_dec(mg->mg_obj);
+	    mg->mg_flags |= MGf_REFCOUNTED;
+	    mg->mg_obj = newSViv((IV)PerlProc_getpid());
+	}
+	else sv_setiv(mg->mg_obj, (IV)PerlProc_getpid());
+	break;
     case '0':
 	LOCK_DOLLARZERO_MUTEX;
 #ifdef HAS_SETPROCTITLE
@@ -2990,22 +2998,41 @@
 }
 
 I32
-Perl_whichsig(pTHX_ const char *sig)
+Perl_whichsig_sv(pTHX_ SV *sigsv)
 {
-    register char* const* sigv;
+    const char *sigpv;
+    STRLEN siglen;
+    PERL_ARGS_ASSERT_WHICHSIG_SV;
+    PERL_UNUSED_CONTEXT;
+    sigpv = SvPV_const(sigsv, siglen);
+    return whichsig_pvn(sigpv, siglen);
+}
 
-    PERL_ARGS_ASSERT_WHICHSIG;
+I32
+Perl_whichsig_pv(pTHX_ const char *sig)
+{
+    PERL_ARGS_ASSERT_WHICHSIG_PV;
     PERL_UNUSED_CONTEXT;
+    return whichsig_pvn(sig, strlen(sig));
+}
 
+I32
+Perl_whichsig_pvn(pTHX_ const char *sig, STRLEN len)
+{
+    char* const* sigv;
+
+    PERL_ARGS_ASSERT_WHICHSIG_PVN;
+    PERL_UNUSED_CONTEXT;
+
     for (sigv = (char* const*)PL_sig_name; *sigv; sigv++)
-	if (strEQ(sig,*sigv))
+	if (strlen(*sigv) == len && memEQ(sig,*sigv, len))
 	    return PL_sig_num[sigv - (char* const*)PL_sig_name];
 #ifdef SIGCLD
-    if (strEQ(sig,"CHLD"))
+    if (memEQs(sig, len, "CHLD"))
 	return SIGCLD;
 #endif
 #ifdef SIGCHLD
-    if (strEQ(sig,"CLD"))
+    if (memEQs(sig, len, "CLD"))
 	return SIGCHLD;
 #endif
     return -1;
@@ -3032,6 +3059,7 @@
     U32 flags = 0;
     XPV * const tXpv = PL_Xpv;
     I32 old_ss_ix = PL_savestack_ix;
+    SV *errsv_save = NULL;
 
 
     if (!PL_psig_ptr[sig]) {
@@ -3110,10 +3138,15 @@
 #endif
     PUTBACK;
 
+    errsv_save = newSVsv(ERRSV);
+
     call_sv(MUTABLE_SV(cv), G_DISCARD|G_EVAL);
 
     POPSTACK;
-    if (SvTRUE(ERRSV)) {
+    {
+	SV * const errsv = ERRSV;
+	if (SvTRUE_NN(errsv)) {
+	    SvREFCNT_dec(errsv_save);
 #ifndef PERL_MICRO
 	/* Handler "died", for example to get out of a restart-able read().
 	 * Before we re-do that on its behalf re-enable the signal which was
@@ -3121,22 +3154,28 @@
 	 */
 #ifdef HAS_SIGPROCMASK
 #if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
-       if (sip || uap)
+	    if (sip || uap)
 #endif
-	{
-	    sigset_t set;
-	    sigemptyset(&set);
-	    sigaddset(&set,sig);
-	    sigprocmask(SIG_UNBLOCK, &set, NULL);
-	}
+	    {
+		sigset_t set;
+		sigemptyset(&set);
+		sigaddset(&set,sig);
+		sigprocmask(SIG_UNBLOCK, &set, NULL);
+	    }
 #else
-	/* Not clear if this will work */
-	(void)rsignal(sig, SIG_IGN);
-	(void)rsignal(sig, PL_csighandlerp);
+	    /* Not clear if this will work */
+	    (void)rsignal(sig, SIG_IGN);
+	    (void)rsignal(sig, PL_csighandlerp);
 #endif
 #endif /* !PERL_MICRO */
-	die_sv(ERRSV);
+	    die_sv(errsv);
+	}
+	else {
+	    sv_setsv(errsv, errsv_save);
+	    SvREFCNT_dec(errsv_save);
+	}
     }
+
 cleanup:
     /* pop any of SAVEFREESV, SAVEDESTRUCTOR_X and "save in progress" */
     PL_savestack_ix = old_ss_ix;
@@ -3161,8 +3200,8 @@
     if (!sv)
         return;
 
-    if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv))
-    {
+    if (SvTYPE(sv) >= SVt_PVMG && SvMAGIC(sv)) {
+	SvTEMP_off(sv); /* if it's still magical, this value isn't temporary */
 #ifdef PERL_OLD_COPY_ON_WRITE
 	/* While magic was saved (and off) sv_setsv may well have seen
 	   this SV as a prime candidate for COW.  */
@@ -3169,7 +3208,6 @@
 	if (SvIsCOW(sv))
 	    sv_force_normal_flags(sv, 0);
 #endif
-
 	if (mgs->mgs_readonly)
 	    SvREADONLY_on(sv);
 	if (mgs->mgs_magical)
@@ -3176,16 +3214,6 @@
 	    SvFLAGS(sv) |= mgs->mgs_magical;
 	else
 	    mg_magical(sv);
-	if (SvGMAGICAL(sv)) {
-	    /* downgrade public flags to private,
-	       and discard any other private flags */
-
-	    const U32 pubflags = SvFLAGS(sv) & (SVf_IOK|SVf_NOK|SVf_POK);
-	    if (pubflags) {
-		SvFLAGS(sv) &= ~( pubflags | (SVp_IOK|SVp_NOK|SVp_POK) );
-		SvFLAGS(sv) |= ( pubflags << PRIVSHIFT );
-	    }
-	}
     }
 
     bumped = mgs->mgs_bumped;
@@ -3214,12 +3242,8 @@
 	       So artificially keep it alive a bit longer.
 	       We avoid turning on the TEMP flag, which can cause the SV's
 	       buffer to get stolen (and maybe other stuff). */
-	    int was_temp = SvTEMP(sv);
 	    sv_2mortal(sv);
-	    if (!was_temp) {
-		SvTEMP_off(sv);
-	    }
-	    SvOK_off(sv);
+	    SvTEMP_off(sv);
 	}
 	else
 	    SvREFCNT_dec(sv); /* undo the inc in S_save_magic() */
@@ -3289,14 +3313,13 @@
     PERL_ARGS_ASSERT_MAGIC_CLEARHINT;
     PERL_UNUSED_ARG(sv);
 
-    assert(mg->mg_len == HEf_SVKEY);
-
-    PERL_UNUSED_ARG(sv);
-
     PL_hints |= HINT_LOCALIZE_HH;
     CopHINTHASH_set(&PL_compiling,
-	cophh_delete_sv(CopHINTHASH_get(&PL_compiling),
-				 MUTABLE_SV(mg->mg_ptr), 0, 0));
+	mg->mg_len == HEf_SVKEY
+	 ? cophh_delete_sv(CopHINTHASH_get(&PL_compiling),
+				 MUTABLE_SV(mg->mg_ptr), 0, 0)
+	 : cophh_delete_pvn(CopHINTHASH_get(&PL_compiling),
+				 mg->mg_ptr, mg->mg_len, 0, 0));
     return 0;
 }
 
@@ -3318,12 +3341,32 @@
     return 0;
 }
 
+int
+Perl_magic_copycallchecker(pTHX_ SV *sv, MAGIC *mg, SV *nsv,
+				 const char *name, I32 namlen)
+{
+    MAGIC *nmg;
+
+    PERL_ARGS_ASSERT_MAGIC_COPYCALLCHECKER;
+    PERL_UNUSED_ARG(sv);
+    PERL_UNUSED_ARG(name);
+    PERL_UNUSED_ARG(namlen);
+
+    sv_magic(nsv, &PL_sv_undef, mg->mg_type, NULL, 0);
+    nmg = mg_find(nsv, mg->mg_type);
+    if (nmg->mg_flags & MGf_REFCOUNTED) SvREFCNT_dec(nmg->mg_obj);
+    nmg->mg_ptr = mg->mg_ptr;
+    nmg->mg_obj = SvREFCNT_inc_simple(mg->mg_obj);
+    nmg->mg_flags |= MGf_REFCOUNTED;
+    return 1;
+}
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/mg.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/mg.h
===================================================================
--- vendor/perl/dist/mg.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mg.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -61,12 +61,14 @@
 #define SvTIED_obj(sv,mg) \
     ((mg)->mg_obj ? (mg)->mg_obj : sv_2mortal(newRV(sv)))
 
+#define whichsig(pv) whichsig_pv(pv)
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/mg.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Added: vendor/perl/dist/mg_names.c
===================================================================
--- vendor/perl/dist/mg_names.c	                        (rev 0)
+++ vendor/perl/dist/mg_names.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,52 @@
+/* -*- buffer-read-only: t -*-
+ *
+ *    mg_names.c
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is built by regen/mg_vtable.pl.
+ * Any changes made here will be lost!
+ */
+
+	{ PERL_MAGIC_sv,             "sv(\\0)" },
+	{ PERL_MAGIC_arylen,         "arylen(#)" },
+	{ PERL_MAGIC_rhash,          "rhash(%)" },
+	{ PERL_MAGIC_proto,          "proto(&)" },
+	{ PERL_MAGIC_pos,            "pos(.)" },
+	{ PERL_MAGIC_symtab,         "symtab(:)" },
+	{ PERL_MAGIC_backref,        "backref(<)" },
+	{ PERL_MAGIC_arylen_p,       "arylen_p(@)" },
+	{ PERL_MAGIC_bm,             "bm(B)" },
+	{ PERL_MAGIC_overload_table, "overload_table(c)" },
+	{ PERL_MAGIC_regdata,        "regdata(D)" },
+	{ PERL_MAGIC_regdatum,       "regdatum(d)" },
+	{ PERL_MAGIC_env,            "env(E)" },
+	{ PERL_MAGIC_envelem,        "envelem(e)" },
+	{ PERL_MAGIC_fm,             "fm(f)" },
+	{ PERL_MAGIC_regex_global,   "regex_global(g)" },
+	{ PERL_MAGIC_hints,          "hints(H)" },
+	{ PERL_MAGIC_hintselem,      "hintselem(h)" },
+	{ PERL_MAGIC_isa,            "isa(I)" },
+	{ PERL_MAGIC_isaelem,        "isaelem(i)" },
+	{ PERL_MAGIC_nkeys,          "nkeys(k)" },
+	{ PERL_MAGIC_dbfile,         "dbfile(L)" },
+	{ PERL_MAGIC_dbline,         "dbline(l)" },
+	{ PERL_MAGIC_shared,         "shared(N)" },
+	{ PERL_MAGIC_shared_scalar,  "shared_scalar(n)" },
+	{ PERL_MAGIC_collxfrm,       "collxfrm(o)" },
+	{ PERL_MAGIC_tied,           "tied(P)" },
+	{ PERL_MAGIC_tiedelem,       "tiedelem(p)" },
+	{ PERL_MAGIC_tiedscalar,     "tiedscalar(q)" },
+	{ PERL_MAGIC_qr,             "qr(r)" },
+	{ PERL_MAGIC_sig,            "sig(S)" },
+	{ PERL_MAGIC_sigelem,        "sigelem(s)" },
+	{ PERL_MAGIC_taint,          "taint(t)" },
+	{ PERL_MAGIC_uvar,           "uvar(U)" },
+	{ PERL_MAGIC_uvar_elem,      "uvar_elem(u)" },
+	{ PERL_MAGIC_vstring,        "vstring(V)" },
+	{ PERL_MAGIC_vec,            "vec(v)" },
+	{ PERL_MAGIC_utf8,           "utf8(w)" },
+	{ PERL_MAGIC_substr,         "substr(x)" },
+	{ PERL_MAGIC_defelem,        "defelem(y)" },
+	{ PERL_MAGIC_checkcall,      "checkcall(])" },
+	{ PERL_MAGIC_ext,            "ext(~)" },
+
+/* ex: set ro: */

Added: vendor/perl/dist/mg_raw.h
===================================================================
--- vendor/perl/dist/mg_raw.h	                        (rev 0)
+++ vendor/perl/dist/mg_raw.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,88 @@
+/* -*- buffer-read-only: t -*-
+ *
+ *    mg_raw.h
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is built by regen/mg_vtable.pl.
+ * Any changes made here will be lost!
+ */
+
+    { '\0', "want_vtbl_sv | PERL_MAGIC_READONLY_ACCEPTABLE",
+      "/* sv '\\0' Special scalar variable */" },
+    { '#', "want_vtbl_arylen | PERL_MAGIC_VALUE_MAGIC",
+      "/* arylen '#' Array length ($#ary) */" },
+    { '%', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
+      "/* rhash '%' extra data for restricted hashes */" },
+    { '&', "magic_vtable_max",
+      "/* proto '&' my sub prototype CV */" },
+    { '.', "want_vtbl_pos | PERL_MAGIC_VALUE_MAGIC",
+      "/* pos '.' pos() lvalue */" },
+    { ':', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
+      "/* symtab ':' extra data for symbol tables */" },
+    { '<', "want_vtbl_backref | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+      "/* backref '<' for weak ref data */" },
+    { '@', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
+      "/* arylen_p '@' to move arylen out of XPVAV */" },
+    { 'B', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+      "/* bm 'B' Boyer-Moore (fast string search) */" },
+    { 'c', "want_vtbl_ovrld",
+      "/* overload_table 'c' Holds overload table (AMT) on stash */" },
+    { 'D', "want_vtbl_regdata",
+      "/* regdata 'D' Regex match position data (@+ and @- vars) */" },
+    { 'd', "want_vtbl_regdatum",
+      "/* regdatum 'd' Regex match position data element */" },
+    { 'E', "want_vtbl_env",
+      "/* env 'E' %ENV hash */" },
+    { 'e', "want_vtbl_envelem",
+      "/* envelem 'e' %ENV hash element */" },
+    { 'f', "want_vtbl_regexp | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+      "/* fm 'f' Formline ('compiled' format) */" },
+    { 'g', "want_vtbl_mglob | PERL_MAGIC_READONLY_ACCEPTABLE | PERL_MAGIC_VALUE_MAGIC",
+      "/* regex_global 'g' m//g target */" },
+    { 'H', "want_vtbl_hints",
+      "/* hints 'H' %^H hash */" },
+    { 'h', "want_vtbl_hintselem",
+      "/* hintselem 'h' %^H hash element */" },
+    { 'I', "want_vtbl_isa",
+      "/* isa 'I' @ISA array */" },
+    { 'i', "want_vtbl_isaelem",
+      "/* isaelem 'i' @ISA array element */" },
+    { 'k', "want_vtbl_nkeys | PERL_MAGIC_VALUE_MAGIC",
+      "/* nkeys 'k' scalar(keys()) lvalue */" },
+    { 'L', "magic_vtable_max",
+      "/* dbfile 'L' Debugger %_<filename */" },
+    { 'l', "want_vtbl_dbline",
+      "/* dbline 'l' Debugger %_<filename element */" },
+    { 'o', "want_vtbl_collxfrm | PERL_MAGIC_VALUE_MAGIC",
+      "/* collxfrm 'o' Locale transformation */" },
+    { 'P', "want_vtbl_pack | PERL_MAGIC_VALUE_MAGIC",
+      "/* tied 'P' Tied array or hash */" },
+    { 'p', "want_vtbl_packelem",
+      "/* tiedelem 'p' Tied array or hash element */" },
+    { 'q', "want_vtbl_packelem",
+      "/* tiedscalar 'q' Tied scalar or handle */" },
+    { 'r', "want_vtbl_regexp | PERL_MAGIC_VALUE_MAGIC",
+      "/* qr 'r' precompiled qr// regex */" },
+    { 'S', "magic_vtable_max",
+      "/* sig 'S' %SIG hash */" },
+    { 's', "want_vtbl_sigelem",
+      "/* sigelem 's' %SIG hash element */" },
+    { 't', "want_vtbl_taint | PERL_MAGIC_VALUE_MAGIC",
+      "/* taint 't' Taintedness */" },
+    { 'U', "want_vtbl_uvar",
+      "/* uvar 'U' Available for use by extensions */" },
+    { 'V', "magic_vtable_max | PERL_MAGIC_VALUE_MAGIC",
+      "/* vstring 'V' SV was vstring literal */" },
+    { 'v', "want_vtbl_vec | PERL_MAGIC_VALUE_MAGIC",
+      "/* vec 'v' vec() lvalue */" },
+    { 'w', "want_vtbl_utf8 | PERL_MAGIC_VALUE_MAGIC",
+      "/* utf8 'w' Cached UTF-8 information */" },
+    { 'x', "want_vtbl_substr | PERL_MAGIC_VALUE_MAGIC",
+      "/* substr 'x' substr() lvalue */" },
+    { 'y', "want_vtbl_defelem | PERL_MAGIC_VALUE_MAGIC",
+      "/* defelem 'y' Shadow \"foreach\" iterator variable / smart parameter vivification */" },
+    { ']', "want_vtbl_checkcall | PERL_MAGIC_VALUE_MAGIC",
+      "/* checkcall ']' inlining/mutation of call to this CV */" },
+    { '~', "magic_vtable_max",
+      "/* ext '~' Available for use by extensions */" },
+
+/* ex: set ro: */

Added: vendor/perl/dist/mg_vtable.h
===================================================================
--- vendor/perl/dist/mg_vtable.h	                        (rev 0)
+++ vendor/perl/dist/mg_vtable.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,225 @@
+/* -*- buffer-read-only: t -*-
+ *
+ *    mg_vtable.h
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is built by regen/mg_vtable.pl.
+ * Any changes made here will be lost!
+ */
+
+/* These constants should be used in preference to raw characters
+ * when using magic. Note that some perl guts still assume
+ * certain character properties of these constants, namely that
+ * isUPPER() and toLOWER() may do useful mappings.
+ */
+
+#define PERL_MAGIC_sv             '\0' /* Special scalar variable */
+#define PERL_MAGIC_arylen         '#' /* Array length ($#ary) */
+#define PERL_MAGIC_rhash          '%' /* extra data for restricted hashes */
+#define PERL_MAGIC_proto          '&' /* my sub prototype CV */
+#define PERL_MAGIC_pos            '.' /* pos() lvalue */
+#define PERL_MAGIC_symtab         ':' /* extra data for symbol tables */
+#define PERL_MAGIC_backref        '<' /* for weak ref data */
+#define PERL_MAGIC_arylen_p       '@' /* to move arylen out of XPVAV */
+#define PERL_MAGIC_bm             'B' /* Boyer-Moore (fast string search) */
+#define PERL_MAGIC_overload_table 'c' /* Holds overload table (AMT) on stash */
+#define PERL_MAGIC_regdata        'D' /* Regex match position data
+                                         (@+ and @- vars) */
+#define PERL_MAGIC_regdatum       'd' /* Regex match position data element */
+#define PERL_MAGIC_env            'E' /* %ENV hash */
+#define PERL_MAGIC_envelem        'e' /* %ENV hash element */
+#define PERL_MAGIC_fm             'f' /* Formline ('compiled' format) */
+#define PERL_MAGIC_regex_global   'g' /* m//g target */
+#define PERL_MAGIC_hints          'H' /* %^H hash */
+#define PERL_MAGIC_hintselem      'h' /* %^H hash element */
+#define PERL_MAGIC_isa            'I' /* @ISA array */
+#define PERL_MAGIC_isaelem        'i' /* @ISA array element */
+#define PERL_MAGIC_nkeys          'k' /* scalar(keys()) lvalue */
+#define PERL_MAGIC_dbfile         'L' /* Debugger %_<filename */
+#define PERL_MAGIC_dbline         'l' /* Debugger %_<filename element */
+#define PERL_MAGIC_shared         'N' /* Shared between threads */
+#define PERL_MAGIC_shared_scalar  'n' /* Shared between threads */
+#define PERL_MAGIC_collxfrm       'o' /* Locale transformation */
+#define PERL_MAGIC_tied           'P' /* Tied array or hash */
+#define PERL_MAGIC_tiedelem       'p' /* Tied array or hash element */
+#define PERL_MAGIC_tiedscalar     'q' /* Tied scalar or handle */
+#define PERL_MAGIC_qr             'r' /* precompiled qr// regex */
+#define PERL_MAGIC_sig            'S' /* %SIG hash */
+#define PERL_MAGIC_sigelem        's' /* %SIG hash element */
+#define PERL_MAGIC_taint          't' /* Taintedness */
+#define PERL_MAGIC_uvar           'U' /* Available for use by extensions */
+#define PERL_MAGIC_uvar_elem      'u' /* Reserved for use by extensions */
+#define PERL_MAGIC_vstring        'V' /* SV was vstring literal */
+#define PERL_MAGIC_vec            'v' /* vec() lvalue */
+#define PERL_MAGIC_utf8           'w' /* Cached UTF-8 information */
+#define PERL_MAGIC_substr         'x' /* substr() lvalue */
+#define PERL_MAGIC_defelem        'y' /* Shadow "foreach" iterator variable /
+                                         smart parameter vivification */
+#define PERL_MAGIC_checkcall      ']' /* inlining/mutation of call to this CV */
+#define PERL_MAGIC_ext            '~' /* Available for use by extensions */
+
+enum {		/* pass one of these to get_vtbl */
+    want_vtbl_arylen,
+    want_vtbl_arylen_p,
+    want_vtbl_backref,
+    want_vtbl_checkcall,
+    want_vtbl_collxfrm,
+    want_vtbl_dbline,
+    want_vtbl_defelem,
+    want_vtbl_env,
+    want_vtbl_envelem,
+    want_vtbl_hints,
+    want_vtbl_hintselem,
+    want_vtbl_isa,
+    want_vtbl_isaelem,
+    want_vtbl_mglob,
+    want_vtbl_nkeys,
+    want_vtbl_ovrld,
+    want_vtbl_pack,
+    want_vtbl_packelem,
+    want_vtbl_pos,
+    want_vtbl_regdata,
+    want_vtbl_regdatum,
+    want_vtbl_regexp,
+    want_vtbl_sigelem,
+    want_vtbl_substr,
+    want_vtbl_sv,
+    want_vtbl_taint,
+    want_vtbl_utf8,
+    want_vtbl_uvar,
+    want_vtbl_vec,
+    magic_vtable_max
+};
+
+#ifdef DOINIT
+EXTCONST char * const PL_magic_vtable_names[magic_vtable_max] = {
+    "arylen",
+    "arylen_p",
+    "backref",
+    "checkcall",
+    "collxfrm",
+    "dbline",
+    "defelem",
+    "env",
+    "envelem",
+    "hints",
+    "hintselem",
+    "isa",
+    "isaelem",
+    "mglob",
+    "nkeys",
+    "ovrld",
+    "pack",
+    "packelem",
+    "pos",
+    "regdata",
+    "regdatum",
+    "regexp",
+    "sigelem",
+    "substr",
+    "sv",
+    "taint",
+    "utf8",
+    "uvar",
+    "vec"
+};
+#else
+EXTCONST char * const PL_magic_vtable_names[magic_vtable_max];
+#endif
+
+/* These all need to be 0, not NULL, as NULL can be (void*)0, which is a
+ * pointer to data, whereas we're assigning pointers to functions, which are
+ * not the same beast. ANSI doesn't allow the assignment from one to the other.
+ * (although most, but not all, compilers are prepared to do it)
+ */
+
+/* order is:
+    get
+    set
+    len
+    clear
+    free
+    copy
+    dup
+    local
+*/
+
+#ifdef DOINIT
+EXT_MGVTBL PL_magic_vtables[magic_vtable_max] = {
+  { (int (*)(pTHX_ SV *, MAGIC *))Perl_magic_getarylen, Perl_magic_setarylen, 0, 0, 0, 0, 0, 0 },
+  { 0, 0, 0, Perl_magic_cleararylen_p, Perl_magic_freearylen_p, 0, 0, 0 },
+  { 0, 0, 0, 0, Perl_magic_killbackrefs, 0, 0, 0 },
+  { 0, 0, 0, 0, 0, Perl_magic_copycallchecker, 0, 0 },
+#ifdef USE_LOCALE_COLLATE
+  { 0, Perl_magic_setcollxfrm, 0, 0, 0, 0, 0, 0 },
+#else
+  { 0, 0, 0, 0, 0, 0, 0, 0 },
+#endif
+  { 0, Perl_magic_setdbline, 0, 0, 0, 0, 0, 0 },
+  { Perl_magic_getdefelem, Perl_magic_setdefelem, 0, 0, 0, 0, 0, 0 },
+  { 0, Perl_magic_set_all_env, 0, Perl_magic_clear_all_env, 0, 0, 0, 0 },
+  { 0, Perl_magic_setenv, 0, Perl_magic_clearenv, 0, 0, 0, 0 },
+  { 0, 0, 0, Perl_magic_clearhints, 0, 0, 0, 0 },
+  { 0, Perl_magic_sethint, 0, Perl_magic_clearhint, 0, 0, 0, 0 },
+  { 0, Perl_magic_setisa, 0, Perl_magic_clearisa, 0, 0, 0, 0 },
+  { 0, Perl_magic_setisa, 0, 0, 0, 0, 0, 0 },
+  { 0, Perl_magic_setmglob, 0, 0, 0, 0, 0, 0 },
+  { Perl_magic_getnkeys, Perl_magic_setnkeys, 0, 0, 0, 0, 0, 0 },
+  { 0, 0, 0, 0, Perl_magic_freeovrld, 0, 0, 0 },
+  { 0, 0, Perl_magic_sizepack, Perl_magic_wipepack, 0, 0, 0, 0 },
+  { Perl_magic_getpack, Perl_magic_setpack, 0, Perl_magic_clearpack, 0, 0, 0, 0 },
+  { Perl_magic_getpos, Perl_magic_setpos, 0, 0, 0, 0, 0, 0 },
+  { 0, 0, Perl_magic_regdata_cnt, 0, 0, 0, 0, 0 },
+  { Perl_magic_regdatum_get, Perl_magic_regdatum_set, 0, 0, 0, 0, 0, 0 },
+  { 0, Perl_magic_setregexp, 0, 0, 0, 0, 0, 0 },
+#ifndef PERL_MICRO
+  { Perl_magic_getsig, Perl_magic_setsig, 0, Perl_magic_clearsig, 0, 0, 0, 0 },
+#else
+  { 0, 0, 0, 0, 0, 0, 0, 0 },
+#endif
+  { Perl_magic_getsubstr, Perl_magic_setsubstr, 0, 0, 0, 0, 0, 0 },
+  { Perl_magic_get, Perl_magic_set, 0, 0, 0, 0, 0, 0 },
+  { Perl_magic_gettaint, Perl_magic_settaint, 0, 0, 0, 0, 0, 0 },
+  { 0, Perl_magic_setutf8, 0, 0, 0, 0, 0, 0 },
+  { Perl_magic_getuvar, Perl_magic_setuvar, 0, 0, 0, 0, 0, 0 },
+  { Perl_magic_getvec, Perl_magic_setvec, 0, 0, 0, 0, 0, 0 }
+};
+#else
+EXT_MGVTBL PL_magic_vtables[magic_vtable_max];
+#endif
+
+#define want_vtbl_bm want_vtbl_regexp
+#define want_vtbl_fm want_vtbl_regexp
+
+#define PL_vtbl_arylen PL_magic_vtables[want_vtbl_arylen]
+#define PL_vtbl_arylen_p PL_magic_vtables[want_vtbl_arylen_p]
+#define PL_vtbl_backref PL_magic_vtables[want_vtbl_backref]
+#define PL_vtbl_bm PL_magic_vtables[want_vtbl_bm]
+#define PL_vtbl_checkcall PL_magic_vtables[want_vtbl_checkcall]
+#define PL_vtbl_collxfrm PL_magic_vtables[want_vtbl_collxfrm]
+#define PL_vtbl_dbline PL_magic_vtables[want_vtbl_dbline]
+#define PL_vtbl_defelem PL_magic_vtables[want_vtbl_defelem]
+#define PL_vtbl_env PL_magic_vtables[want_vtbl_env]
+#define PL_vtbl_envelem PL_magic_vtables[want_vtbl_envelem]
+#define PL_vtbl_fm PL_magic_vtables[want_vtbl_fm]
+#define PL_vtbl_hints PL_magic_vtables[want_vtbl_hints]
+#define PL_vtbl_hintselem PL_magic_vtables[want_vtbl_hintselem]
+#define PL_vtbl_isa PL_magic_vtables[want_vtbl_isa]
+#define PL_vtbl_isaelem PL_magic_vtables[want_vtbl_isaelem]
+#define PL_vtbl_mglob PL_magic_vtables[want_vtbl_mglob]
+#define PL_vtbl_nkeys PL_magic_vtables[want_vtbl_nkeys]
+#define PL_vtbl_ovrld PL_magic_vtables[want_vtbl_ovrld]
+#define PL_vtbl_pack PL_magic_vtables[want_vtbl_pack]
+#define PL_vtbl_packelem PL_magic_vtables[want_vtbl_packelem]
+#define PL_vtbl_pos PL_magic_vtables[want_vtbl_pos]
+#define PL_vtbl_regdata PL_magic_vtables[want_vtbl_regdata]
+#define PL_vtbl_regdatum PL_magic_vtables[want_vtbl_regdatum]
+#define PL_vtbl_regexp PL_magic_vtables[want_vtbl_regexp]
+#define PL_vtbl_sigelem PL_magic_vtables[want_vtbl_sigelem]
+#define PL_vtbl_substr PL_magic_vtables[want_vtbl_substr]
+#define PL_vtbl_sv PL_magic_vtables[want_vtbl_sv]
+#define PL_vtbl_taint PL_magic_vtables[want_vtbl_taint]
+#define PL_vtbl_utf8 PL_magic_vtables[want_vtbl_utf8]
+#define PL_vtbl_uvar PL_magic_vtables[want_vtbl_uvar]
+#define PL_vtbl_vec PL_magic_vtables[want_vtbl_vec]
+
+/* ex: set ro: */

Modified: vendor/perl/dist/minimod.pl
===================================================================
--- vendor/perl/dist/minimod.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/minimod.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -71,7 +71,7 @@
     my ($tail1,$tail2,$tail3) = ( $tail =~ /\A(.*{\s*\n)(.*\n)(\s*\}.*)\Z/s );
 
     print $tail1;
-    print "\tconst char file[] = __FILE__;\n";
+    print "\tstatic const char file[] = __FILE__;\n";
     print "\tdXSUB_SYS;\n" if $] > 5.002;
     print $tail2;
 


Property changes on: vendor/perl/dist/minimod.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/miniperlmain.c
===================================================================
--- vendor/perl/dist/miniperlmain.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/miniperlmain.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -42,12 +42,6 @@
 static void xs_init (pTHX);
 static PerlInterpreter *my_perl;
 
-#if defined (atarist)
-/* The Atari operating system doesn't have a dynamic stack.  The
-   stack size is determined from this value.  */
-long _stksize = 64 * 1024;
-#endif
-
 #if defined(PERL_GLOBAL_STRUCT_PRIVATE)
 /* The static struct perl_vars* may seem counterproductive since the
  * whole idea PERL_GLOBAL_STRUCT_PRIVATE was to avoid statics, but note
@@ -78,7 +72,7 @@
     PERL_UNUSED_ARG(env);
 #endif
 #ifndef PERL_USE_SAFE_PUTENV
-    PL_use_safe_putenv = 0;
+    PL_use_safe_putenv = FALSE;
 #endif /* PERL_USE_SAFE_PUTENV */
 
     /* if user wants control of gprof profiling off by default */
@@ -120,7 +114,7 @@
 
 #ifndef PERL_MICRO
     /* Unregister our signal handler before destroying my_perl */
-    for (i = 0; PL_sig_name[i]; i++) {
+    for (i = 1; PL_sig_name[i]; i++) {
 	if (rsignal_state(PL_sig_num[i]) == (Sighandler_t) PL_csighandlerp) {
 	    rsignal(PL_sig_num[i], (Sighandler_t) SIG_DFL);
 	}
@@ -144,12 +138,12 @@
     environ = env;
 #endif
 
+    PERL_SYS_TERM();
+
 #ifdef PERL_GLOBAL_STRUCT
     free_global_struct(plvarsp);
 #endif /* PERL_GLOBAL_STRUCT */
 
-    PERL_SYS_TERM();
-
     exit(exitstatus);
     return exitstatus;
 }
@@ -169,8 +163,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/miniperlmain.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/mkppport
===================================================================
--- vendor/perl/dist/mkppport	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mkppport	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/mkppport
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/mkppport.lst
===================================================================
--- vendor/perl/dist/mkppport.lst	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mkppport.lst	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,6 +7,7 @@
 
 cpan/DB_File
 cpan/IPC-SysV
+cpan/List-Util
 cpan/Time-HiRes
 cpan/Win32API-File
 dist/Cwd


Property changes on: vendor/perl/dist/mkppport.lst
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/mro.c
===================================================================
--- vendor/perl/dist/mro.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mro.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 /*    mro.c
  *
  *    Copyright (c) 2007 Brandon L Black
- *    Copyright (c) 2007, 2008 Larry Wall and others
+ *    Copyright (c) 2007, 2008, 2009, 2010, 2011 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.
@@ -114,6 +114,13 @@
     return INT2PTR(const struct mro_alg *, SvUVX(*data));
 }
 
+/*
+=for apidoc mro_register
+Registers a custom mro plugin.  See L<perlmroapi> for details.
+
+=cut
+*/
+
 void
 Perl_mro_register(pTHX_ const struct mro_alg *mro) {
     SV *wrapper = newSVuv(PTR2UV(mro));
@@ -224,8 +231,9 @@
       Perl_croak(aTHX_ "Can't linearize anonymous symbol table");
 
     if (level > 100)
-        Perl_croak(aTHX_ "Recursive inheritance detected in package '%s'",
-		   HEK_KEY(stashhek));
+        Perl_croak(aTHX_
+		  "Recursive inheritance detected in package '%"HEKf"'",
+		   HEKfARG(stashhek));
 
     meta = HvMROMETA(stash);
 
@@ -304,8 +312,7 @@
 			sv_upgrade(val, SVt_PV);
 			SvPV_set(val, HEK_KEY(share_hek_hek(key)));
 			SvCUR_set(val, HEK_LEN(key));
-			SvREADONLY_on(val);
-			SvFAKE_on(val);
+			SvIsCOW_on(val);
 			SvPOK_on(val);
 			if (HEK_UTF8(key))
 			    SvUTF8_on(val);
@@ -379,10 +386,9 @@
 /*
 =for apidoc mro_get_linear_isa
 
-Returns either C<mro_get_linear_isa_c3> or
-C<mro_get_linear_isa_dfs> for the given stash,
-dependant upon which MRO is in effect
-for that stash.  The return value is a
+Returns the mro linearisation for the given stash.  By default, this
+will be whatever C<mro_get_linear_isa_dfs> returns unless some
+other MRO is in effect for the stash.  The return value is a
 read-only AV*.
 
 You are responsible for C<SvREFCNT_inc()> on the
@@ -408,6 +414,29 @@
         Perl_croak(aTHX_ "panic: invalid MRO!");
     isa = meta->mro_which->resolve(aTHX_ stash, 0);
 
+    if (meta->mro_which != &dfs_alg) { /* skip for dfs, for speed */
+	SV * const namesv =
+	    (HvENAME(stash)||HvNAME(stash))
+	      ? newSVhek(HvENAME_HEK(stash)
+			  ? HvENAME_HEK(stash)
+			  : HvNAME_HEK(stash))
+	      : NULL;
+
+	if(namesv && (AvFILLp(isa) == -1 || !sv_eq(*AvARRAY(isa), namesv)))
+	{
+	    AV * const old = isa;
+	    SV **svp;
+	    SV **ovp = AvARRAY(old);
+	    SV * const * const oend = ovp + AvFILLp(old) + 1;
+	    isa = (AV *)sv_2mortal((SV *)newAV());
+	    av_extend(isa, AvFILLp(isa) = AvFILLp(old)+1);
+	    *AvARRAY(isa) = namesv;
+	    svp = AvARRAY(isa)+1;
+	    while (ovp < oend) *svp++ = SvREFCNT_inc(*ovp++);
+	}
+	else SvREFCNT_dec(namesv);
+    }
+
     if (!meta->isa) {
 	    HV *const isa_hash = newHV();
 	    /* Linearisation didn't build it for us, so do it here.  */
@@ -472,6 +501,7 @@
 
     const char * const stashname = HvENAME_get(stash);
     const STRLEN stashname_len = HvENAMELEN_get(stash);
+    const bool stashname_utf8  = HvENAMEUTF8(stash) ? 1 : 0;
 
     PERL_ARGS_ASSERT_MRO_ISA_CHANGED_IN;
 
@@ -494,7 +524,8 @@
     /* Wipe the global method cache if this package
        is UNIVERSAL or one of its parents */
 
-    svp = hv_fetch(PL_isarev, stashname, stashname_len, 0);
+    svp = hv_fetch(PL_isarev, stashname,
+                        stashname_utf8 ? -(I32)stashname_len : (I32)stashname_len, 0);
     isarev = svp ? MUTABLE_HV(*svp) : NULL;
 
     if((stashname_len == 9 && strEQ(stashname, "UNIVERSAL"))
@@ -510,6 +541,12 @@
     /* wipe next::method cache too */
     if(meta->mro_nextmethod) hv_clear(meta->mro_nextmethod);
 
+    /* Changes to @ISA might turn overloading on */
+    HvAMAGIC_on(stash);
+
+    /* DESTROY can be cached in SvSTASH. */
+    if (!SvOBJECT(stash)) SvSTASH(stash) = NULL;
+
     /* Iterate the isarev (classes that are our children),
        wiping out their linearization, method and isa caches
        and upating PL_isarev. */
@@ -518,7 +555,7 @@
 
        /* We have to iterate through isarev twice to avoid a chicken and
         * egg problem: if A inherits from B and both are in isarev, A might
-        * be processed before B and use B’s previous linearisation.
+        * be processed before B and use B's previous linearisation.
         */
 
        /* First iteration: Wipe everything, but stash away the isa hashes
@@ -531,9 +568,7 @@
             isa_hashes = (HV *)sv_2mortal((SV *)newHV());
         }
         while((iter = hv_iternext(isarev))) {
-	    I32 len;
-            const char* const revkey = hv_iterkey(iter, &len);
-            HV* revstash = gv_stashpvn(revkey, len, 0);
+            HV* revstash = gv_stashsv(hv_iterkeysv(iter), 0);
             struct mro_meta* revmeta;
 
             if(!revstash) continue;
@@ -543,6 +578,7 @@
                 revmeta->cache_gen++;
             if(revmeta->mro_nextmethod)
                 hv_clear(revmeta->mro_nextmethod);
+	    if (!SvOBJECT(revstash)) SvSTASH(revstash) = NULL;
 
 	    (void)
 	      hv_store(
@@ -596,7 +632,8 @@
 	   
                     (void)
                       hv_store(
-                       mroisarev, HEK_KEY(namehek), HEK_LEN(namehek),
+                       mroisarev, HEK_KEY(namehek),
+                       HEK_UTF8(namehek) ? -HEK_LEN(namehek) : HEK_LEN(namehek),
                        &PL_sv_yes, 0
                       );
                 }
@@ -604,7 +641,7 @@
                 if((SV *)isa != &PL_sv_undef)
                     mro_clean_isarev(
                      isa, HEK_KEY(namehek), HEK_LEN(namehek),
-                     HvMROMETA(revstash)->isa
+                     HvMROMETA(revstash)->isa, (HEK_UTF8(namehek) ? SVf_UTF8 : 0)
                     );
             }
         }
@@ -638,36 +675,40 @@
 	   save time by not making two calls to the common HV code for the
 	   case where it doesn't exist.  */
 	   
-	(void)hv_store(mroisarev, stashname, stashname_len, &PL_sv_yes, 0);
+	(void)hv_store(mroisarev, stashname,
+                stashname_utf8 ? -(I32)stashname_len : (I32)stashname_len, &PL_sv_yes, 0);
     }
 
-    /* Delete our name from our former parents’ isarevs. */
+    /* Delete our name from our former parents' isarevs. */
     if(isa && HvARRAY(isa))
-        mro_clean_isarev(isa, stashname, stashname_len, meta->isa);
+        mro_clean_isarev(isa, stashname, stashname_len, meta->isa,
+                                (stashname_utf8 ? SVf_UTF8 : 0) );
 }
 
 /* Deletes name from all the isarev entries listed in isa */
 STATIC void
 S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name,
-                         const STRLEN len, HV * const exceptions)
+                         const STRLEN len, HV * const exceptions, U32 flags)
 {
     HE* iter;
 
     PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV;
 
-    /* Delete our name from our former parents’ isarevs. */
+    /* Delete our name from our former parents' isarevs. */
     if(isa && HvARRAY(isa) && hv_iterinit(isa)) {
         SV **svp;
         while((iter = hv_iternext(isa))) {
             I32 klen;
             const char * const key = hv_iterkey(iter, &klen);
-            if(exceptions && hv_exists(exceptions, key, klen)) continue;
-            svp = hv_fetch(PL_isarev, key, klen, 0);
+            if(exceptions && hv_exists(exceptions, key, HeKUTF8(iter) ? -klen : klen))
+                continue;
+            svp = hv_fetch(PL_isarev, key, HeKUTF8(iter) ? -klen : klen, 0);
             if(svp) {
                 HV * const isarev = (HV *)*svp;
-                (void)hv_delete(isarev, name, len, G_DISCARD);
-                if(!HvARRAY(isarev) || !HvKEYS(isarev))
-                    (void)hv_delete(PL_isarev, key, klen, G_DISCARD);
+                (void)hv_delete(isarev, name, (flags & SVf_UTF8) ? -(I32)len : (I32)len, G_DISCARD);
+                if(!HvARRAY(isarev) || !HvUSEDKEYS(isarev))
+                    (void)hv_delete(PL_isarev, key,
+                                        HeKUTF8(iter) ? -klen : klen, G_DISCARD);
             }
         }
     }
@@ -677,8 +718,8 @@
 =for apidoc mro_package_moved
 
 Call this function to signal to a stash that it has been assigned to
-another spot in the stash hierarchy. C<stash> is the stash that has been
-assigned. C<oldstash> is the stash it replaces, if any. C<gv> is the glob
+another spot in the stash hierarchy.  C<stash> is the stash that has been
+assigned. C<oldstash> is the stash it replaces, if any.  C<gv> is the glob
 that is actually being assigned to.
 
 This can also be called with a null first argument to
@@ -692,7 +733,7 @@
 appropriate.
 
 If the C<gv> is present and is not in the symbol table, then this function
-simply returns. This checked will be skipped if C<flags & 1>.
+simply returns.  This checked will be skipped if C<flags & 1>.
 
 =cut
 */
@@ -733,7 +774,8 @@
 	SV **svp;
 	if(
 	 !GvSTASH(gv) || !HvENAME(GvSTASH(gv)) ||
-	 !(svp = hv_fetch(GvSTASH(gv), GvNAME(gv), GvNAMELEN(gv), 0)) ||
+	 !(svp = hv_fetch(GvSTASH(gv), GvNAME(gv),
+                            GvNAMEUTF8(gv) ? -GvNAMELEN(gv) : GvNAMELEN(gv), 0)) ||
 	 *svp != (SV *)gv
 	) return;
     }
@@ -761,9 +803,13 @@
 	    if (GvNAMELEN(gv) == 1) sv_catpvs(namesv, ":");
 	    else                    sv_catpvs(namesv, "::");
 	}
-	if (GvNAMELEN(gv) != 1)
-	    sv_catpvn(namesv, GvNAME(gv), GvNAMELEN(gv) - 2);
+	if (GvNAMELEN(gv) != 1) {
+	    sv_catpvn_flags(
+		namesv, GvNAME(gv), GvNAMELEN(gv) - 2,
 	                                  /* skip trailing :: */
+		GvNAMEUTF8(gv) ? SV_CATUTF8 : SV_CATBYTES
+	    );
+        }
     }
     else {
 	SV *aname;
@@ -780,9 +826,13 @@
 		if (GvNAMELEN(gv) == 1) sv_catpvs(aname, ":");
 		else                    sv_catpvs(aname, "::");
 	    }
-	    if (GvNAMELEN(gv) != 1)
-		sv_catpvn(aname, GvNAME(gv), GvNAMELEN(gv) - 2);
+	    if (GvNAMELEN(gv) != 1) {
+		sv_catpvn_flags(
+		    aname, GvNAME(gv), GvNAMELEN(gv) - 2,
 	                                  /* skip trailing :: */
+		    GvNAMEUTF8(gv) ? SV_CATUTF8 : SV_CATBYTES
+		);
+            }
 	    av_push((AV *)namesv, aname);
 	}
     }
@@ -832,12 +882,12 @@
     }
 }
 
-void
+STATIC void
 S_mro_gather_and_rename(pTHX_ HV * const stashes, HV * const seen_stashes,
                               HV *stash, HV *oldstash, SV *namesv)
 {
-    register XPVHV* xhv;
-    register HE *entry;
+    XPVHV* xhv;
+    HE *entry;
     I32 riter = -1;
     I32 items = 0;
     const bool stash_had_name = stash && HvENAME(stash);
@@ -903,11 +953,16 @@
 		svp = &namesv;
 	    }
 	    while (items--) {
+                const U32 name_utf8 = SvUTF8(*svp);
 		STRLEN len;
-		const char *name = SvPVx_const(*svp++, len);
-		if(PL_stashcache)
-		    (void)hv_delete(PL_stashcache, name, len, G_DISCARD);
-	        hv_ename_delete(oldstash, name, len, 0);
+		const char *name = SvPVx_const(*svp, len);
+		if(PL_stashcache) {
+                    DEBUG_o(Perl_deb(aTHX_ "mro_gather_and_rename clearing PL_stashcache for '%"SVf"'\n",
+                                     *svp));
+		   (void)hv_delete(PL_stashcache, name, name_utf8 ? -(I32)len : (I32)len, G_DISCARD);
+                }
+                ++svp;
+	        hv_ename_delete(oldstash, name, len, name_utf8);
 
 		if (!fetched_isarev) {
 		    /* If the name deletion caused a name change, then we
@@ -914,14 +969,15 @@
 		     * are not going to call mro_isa_changed_in with this
 		     * name (and not at all if it has become anonymous) so
 		     * we need to delete old isarev entries here, both
-		     * those in the superclasses and this class’s own list
+		     * those in the superclasses and this class's own list
 		     * of subclasses. We simply delete the latter from
 		     * PL_isarev, since we still need it. hv_delete morti-
 		     * fies it for us, so sv_2mortal is not necessary. */
 		    if(HvENAME_HEK(oldstash) != enamehek) {
 			if(meta->isa && HvARRAY(meta->isa))
-			    mro_clean_isarev(meta->isa, name, len, NULL);
-			isarev = (HV *)hv_delete(PL_isarev, name, len, 0);
+			    mro_clean_isarev(meta->isa, name, len, 0, name_utf8);
+			isarev = (HV *)hv_delete(PL_isarev, name,
+                                                    name_utf8 ? -(I32)len : (I32)len, 0);
 			fetched_isarev=TRUE;
 		    }
 		}
@@ -939,15 +995,16 @@
 	    svp = &namesv;
 	}
 	while (items--) {
+            const U32 name_utf8 = SvUTF8(*svp);
 	    STRLEN len;
 	    const char *name = SvPVx_const(*svp++, len);
-	    hv_ename_add(stash, name, len, 0);
+	    hv_ename_add(stash, name, len, name_utf8);
 	}
 
        /* Add it to the big list if it needs
 	* mro_isa_changed_in called on it. That happens if it was
 	* detached from the symbol table (so it had no HvENAME) before
-	* being assigned to the spot named by the ‘name’ variable, because
+	* being assigned to the spot named by the 'name' variable, because
 	* its cached isa linearisation is now stale (the effective name
 	* having changed), and subclasses will then use that cache when
 	* mro_package_moved calls mro_isa_changed_in. (See
@@ -1006,7 +1063,10 @@
 	    /* Extra variable to avoid a compiler warning */
 	    char * const hvename = HvENAME(oldstash);
 	    fetched_isarev = TRUE;
-	    svp = hv_fetch(PL_isarev, hvename, HvENAMELEN_get(oldstash), 0);
+	    svp = hv_fetch(PL_isarev, hvename,
+                            HvENAMEUTF8(oldstash)
+                                ? -HvENAMELEN_get(oldstash)
+                                : HvENAMELEN_get(oldstash), 0);
 	    if (svp) isarev = MUTABLE_HV(*svp);
 	}
 	else if(SvTYPE(namesv) == SVt_PVAV) {
@@ -1031,9 +1091,7 @@
 
 	hv_iterinit(isarev);
 	while((iter = hv_iternext(isarev))) {
-	    I32 len;
-	    const char* const revkey = hv_iterkey(iter, &len);
-	    HV* revstash = gv_stashpvn(revkey, len, 0);
+	    HV* revstash = gv_stashsv(hv_iterkeysv(iter), 0);
 	    struct mro_meta * meta;
 
 	    if(!revstash) continue;
@@ -1082,7 +1140,7 @@
 		 || (len == 1 && key[0] == ':')) {
 		    HV * const oldsubstash = GvHV(HeVAL(entry));
 		    SV ** const stashentry
-		     = stash ? hv_fetch(stash, key, len, 0) : NULL;
+		     = stash ? hv_fetch(stash, key, HeUTF8(entry) ? -(I32)len : (I32)len, 0) : NULL;
 		    HV *substash = NULL;
 
 		    /* Avoid main::main::main::... */
@@ -1110,7 +1168,11 @@
 				    sv_catpvs(aname, ":");
 				else {
 				    sv_catpvs(aname, "::");
-				    sv_catpvn(aname, key, len-2);
+				    sv_catpvn_flags(
+					aname, key, len-2,
+					HeUTF8(entry)
+					   ? SV_CATUTF8 : SV_CATBYTES
+				    );
 				}
 				av_push((AV *)subname, aname);
 			    }
@@ -1120,7 +1182,10 @@
 			    if (len == 1) sv_catpvs(subname, ":");
 			    else {
 				sv_catpvs(subname, "::");
-				sv_catpvn(subname, key, len-2);
+				sv_catpvn_flags(
+				   subname, key, len-2,
+				   HeUTF8(entry) ? SV_CATUTF8 : SV_CATBYTES
+				);
 			    }
 			}
 			mro_gather_and_rename(
@@ -1129,7 +1194,7 @@
 			);
 		    }
 
-		    (void)hv_store(seen, key, len, &PL_sv_yes, 0);
+		    (void)hv_store(seen, key, HeUTF8(entry) ? -(I32)len : (I32)len, &PL_sv_yes, 0);
 		}
 	    }
 	}
@@ -1161,7 +1226,7 @@
 
 		    /* If this entry was seen when we iterated through the
 		       oldstash, skip it. */
-		    if(seen && hv_exists(seen, key, len)) continue;
+		    if(seen && hv_exists(seen, key, HeUTF8(entry) ? -(I32)len : (I32)len)) continue;
 
 		    /* We get here only if this stash has no corresponding
 		       entry in the stash being replaced. */
@@ -1186,7 +1251,11 @@
 				    sv_catpvs(aname, ":");
 				else {
 				    sv_catpvs(aname, "::");
-				    sv_catpvn(aname, key, len-2);
+				    sv_catpvn_flags(
+					aname, key, len-2,
+					HeUTF8(entry)
+					   ? SV_CATUTF8 : SV_CATBYTES
+				    );
 				}
 				av_push((AV *)subname, aname);
 			    }
@@ -1196,7 +1265,10 @@
 			    if (len == 1) sv_catpvs(subname, ":");
 			    else {
 				sv_catpvs(subname, "::");
-				sv_catpvn(subname, key, len-2);
+				sv_catpvn_flags(
+				   subname, key, len-2,
+				   HeUTF8(entry) ? SV_CATUTF8 : SV_CATBYTES
+				);
 			    }
 			}
 			mro_gather_and_rename(
@@ -1218,7 +1290,7 @@
 the changes in this one.
 
 Ideally, all instances of C<PL_sub_generation++> in
-perl source outside of C<mro.c> should be
+perl source outside of F<mro.c> should be
 replaced by calls to this.
 
 Perl automatically handles most of the common
@@ -1245,8 +1317,10 @@
 {
     const char * const stashname = HvENAME_get(stash);
     const STRLEN stashname_len = HvENAMELEN_get(stash);
+    const bool stashname_utf8 = HvENAMEUTF8(stash) ? 1 : 0;
 
-    SV ** const svp = hv_fetch(PL_isarev, stashname, stashname_len, 0);
+    SV ** const svp = hv_fetch(PL_isarev, stashname,
+                                    stashname_utf8 ? -(I32)stashname_len : (I32)stashname_len, 0);
     HV * const isarev = svp ? MUTABLE_HV(*svp) : NULL;
 
     PERL_ARGS_ASSERT_MRO_METHOD_CHANGED_IN;
@@ -1257,6 +1331,9 @@
     /* Inc the package generation, since a local method changed */
     HvMROMETA(stash)->pkg_gen++;
 
+    /* DESTROY can be cached in SvSTASH. */
+    if (!SvOBJECT(stash)) SvSTASH(stash) = NULL;
+
     /* If stash is UNIVERSAL, or one of UNIVERSAL's parents,
        invalidate all method caches globally */
     if((stashname_len == 9 && strEQ(stashname, "UNIVERSAL"))
@@ -1272,9 +1349,7 @@
 
         hv_iterinit(isarev);
         while((iter = hv_iternext(isarev))) {
-	    I32 len;
-            const char* const revkey = hv_iterkey(iter, &len);
-            HV* const revstash = gv_stashpvn(revkey, len, 0);
+            HV* const revstash = gv_stashsv(hv_iterkeysv(iter), 0);
             struct mro_meta* mrometa;
 
             if(!revstash) continue;
@@ -1282,8 +1357,13 @@
             mrometa->cache_gen++;
             if(mrometa->mro_nextmethod)
                 hv_clear(mrometa->mro_nextmethod);
+            if (!SvOBJECT(revstash)) SvSTASH(revstash) = NULL;
         }
     }
+
+    /* The method change may be due to *{$package . "::()"} = \&nil; in
+       overload.pm. */
+    HvAMAGIC_on(stash);
 }
 
 void
@@ -1353,8 +1433,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/mro.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/myconfig.SH
===================================================================
--- vendor/perl/dist/myconfig.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/myconfig.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 case $PERL_CONFIG_SH in
 '')
 	if test -f config.sh; then TOP=.;


Property changes on: vendor/perl/dist/myconfig.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/mydtrace.h
===================================================================
--- vendor/perl/dist/mydtrace.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/mydtrace.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 /*    mydtrace.h
  *
- *    Copyright (C) 2008, by Larry Wall and others
+ *    Copyright (C) 2008, 2010, 2011 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -13,21 +13,80 @@
 
 #  include "perldtrace.h"
 
-#  define ENTRY_PROBE(func, file, line, stash)  	\
+#  if defined(STAP_PROBE_ADDR) && !defined(DEBUGGING)
+
+/* SystemTap 1.2 uses a construct that chokes on passing a char array
+ * as a char *, in this case hek_key in struct hek.  Workaround it
+ * with a temporary.
+ */
+
+#    define ENTRY_PROBE(func, file, line, stash)  	\
     if (PERL_SUB_ENTRY_ENABLED()) {	        	\
+	const char *tmp_func = func;			\
+	PERL_SUB_ENTRY(tmp_func, file, line, stash); 	\
+    }
+
+#    define RETURN_PROBE(func, file, line, stash) 	\
+    if (PERL_SUB_RETURN_ENABLED()) {    		\
+	const char *tmp_func = func;			\
+	PERL_SUB_RETURN(tmp_func, file, line, stash);	\
+    }
+
+#    define LOADING_FILE_PROBE(name) 	                        \
+    if (PERL_LOADING_FILE_ENABLED()) {    		        \
+	const char *tmp_name = name;			\
+	PERL_LOADING_FILE(tmp_name);	                        \
+    }
+
+#    define LOADED_FILE_PROBE(name) 	                        \
+    if (PERL_LOADED_FILE_ENABLED()) {    		        \
+	const char *tmp_name = name;			\
+	PERL_LOADED_FILE(tmp_name);	                        \
+    }
+
+#  else
+
+#    define ENTRY_PROBE(func, file, line, stash) 	\
+    if (PERL_SUB_ENTRY_ENABLED()) {	        	\
 	PERL_SUB_ENTRY(func, file, line, stash); 	\
     }
 
-#  define RETURN_PROBE(func, file, line, stash) 	\
+#    define RETURN_PROBE(func, file, line, stash)	\
     if (PERL_SUB_RETURN_ENABLED()) {    		\
 	PERL_SUB_RETURN(func, file, line, stash); 	\
     }
 
+#    define LOADING_FILE_PROBE(name)	                        \
+    if (PERL_LOADING_FILE_ENABLED()) {    		        \
+	PERL_LOADING_FILE(name); 	                                \
+    }
+
+#    define LOADED_FILE_PROBE(name)	                        \
+    if (PERL_LOADED_FILE_ENABLED()) {    		        \
+	PERL_LOADED_FILE(name); 	                                \
+    }
+
+#  endif
+
+#  define OP_ENTRY_PROBE(name)	                \
+    if (PERL_OP_ENTRY_ENABLED()) {    		        \
+	PERL_OP_ENTRY(name); 	                        \
+    }
+
+#  define PHASE_CHANGE_PROBE(new_phase, old_phase)      \
+    if (PERL_PHASE_CHANGE_ENABLED()) {                  \
+	PERL_PHASE_CHANGE(new_phase, old_phase);        \
+    }
+
 #else
 
 /* NOPs */
 #  define ENTRY_PROBE(func, file, line, stash)
 #  define RETURN_PROBE(func, file, line, stash)
+#  define PHASE_CHANGE_PROBE(new_phase, old_phase)
+#  define OP_ENTRY_PROBE(name)
+#  define LOADING_FILE_PROBE(name)
+#  define LOADED_FILE_PROBE(name)
 
 #endif
 
@@ -35,8 +94,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/mydtrace.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/nostdio.h
===================================================================
--- vendor/perl/dist/nostdio.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/nostdio.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -129,8 +129,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/nostdio.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/numeric.c
===================================================================
--- vendor/perl/dist/numeric.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/numeric.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -131,6 +131,10 @@
 number may use '_' characters to separate digits.
 
 =cut
+
+Not documented yet because experimental is C<PERL_SCAN_SILENT_NON_PORTABLE
+which suppresses any message for non-portable numbers that are still valid
+on this platform.
  */
 
 UV
@@ -176,6 +180,7 @@
                     continue;
                 }
                 /* Bah. We're just overflowed.  */
+		/* diag_listed_as: Integer overflow in %s number */
 		Perl_ck_warner_d(aTHX_ packWARN(WARN_OVERFLOW),
 				 "Integer overflow in binary number");
                 overflowed = TRUE;
@@ -206,7 +211,8 @@
     
     if (   ( overflowed && value_nv > 4294967295.0)
 #if UVSIZE > 4
-	|| (!overflowed && value > 0xffffffff  )
+	|| (!overflowed && value > 0xffffffff
+	    && ! (*flags & PERL_SCAN_SILENT_NON_PORTABLE))
 #endif
 	) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_PORTABLE),
@@ -248,6 +254,10 @@
 number may use '_' characters to separate digits.
 
 =cut
+
+Not documented yet because experimental is C<PERL_SCAN_SILENT_NON_PORTABLE
+which suppresses any message for non-portable numbers that are still valid
+on this platform.
  */
 
 UV
@@ -293,6 +303,7 @@
                     continue;
                 }
                 /* Bah. We're just overflowed.  */
+		/* diag_listed_as: Integer overflow in %s number */
 		Perl_ck_warner_d(aTHX_ packWARN(WARN_OVERFLOW),
 				 "Integer overflow in hexadecimal number");
                 overflowed = TRUE;
@@ -323,7 +334,8 @@
     
     if (   ( overflowed && value_nv > 4294967295.0)
 #if UVSIZE > 4
-	|| (!overflowed && value > 0xffffffff  )
+	|| (!overflowed && value > 0xffffffff
+	    && ! (*flags & PERL_SCAN_SILENT_NON_PORTABLE))
 #endif
 	) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_PORTABLE),
@@ -363,6 +375,10 @@
 number may use '_' characters to separate digits.
 
 =cut
+
+Not documented yet because experimental is C<PERL_SCAN_SILENT_NON_PORTABLE>
+which suppresses any message for non-portable numbers, but which are valid
+on this platform.
  */
 
 UV
@@ -393,6 +409,7 @@
                     continue;
                 }
                 /* Bah. We're just overflowed.  */
+		/* diag_listed_as: Integer overflow in %s number */
 		Perl_ck_warner_d(aTHX_ packWARN(WARN_OVERFLOW),
 			       "Integer overflow in octal number");
                 overflowed = TRUE;
@@ -428,7 +445,8 @@
     
     if (   ( overflowed && value_nv > 4294967295.0)
 #if UVSIZE > 4
-	|| (!overflowed && value > 0xffffffff  )
+	|| (!overflowed && value > 0xffffffff
+	    && ! (*flags & PERL_SCAN_SILENT_NON_PORTABLE))
 #endif
 	) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_PORTABLE),
@@ -515,7 +533,7 @@
 
     PERL_ARGS_ASSERT_GROK_NUMERIC_RADIX;
 
-    if (PL_numeric_radix_sv && IN_LOCALE) { 
+    if (PL_numeric_radix_sv && IN_SOME_LOCALE_FORM) {
         STRLEN len;
         const char * const radix = SvPV(PL_numeric_radix_sv, len);
         if (*sp + len <= send && memEQ(*sp, radix, len)) {
@@ -785,7 +803,7 @@
      * a hammer.  Therefore we need to catch potential overflows before
      * it's too late. */
 
-#if ((defined(VMS) && !defined(__IEEE_FP)) || defined(_UNICOS)) && defined(NV_MAX_10_EXP)
+#if ((defined(VMS) && !defined(_IEEE_FP)) || defined(_UNICOS)) && defined(NV_MAX_10_EXP)
     STMT_START {
 	const NV exp_v = log10(value);
 	if (exponent >= NV_MAX_10_EXP || exponent + exp_v >= NV_MAX_10_EXP)
@@ -829,17 +847,28 @@
 
     PERL_ARGS_ASSERT_MY_ATOF;
 
-    if (PL_numeric_local && IN_LOCALE) {
-	NV y;
+    if (PL_numeric_local && PL_numeric_radix_sv && IN_SOME_LOCALE_FORM) {
+        const char *standard = NULL, *local = NULL;
+        bool use_standard_radix;
 
-	/* Scan the number twice; once using locale and once without;
-	 * choose the larger result (in absolute value). */
-	Perl_atof2(s, x);
-	SET_NUMERIC_STANDARD();
-	Perl_atof2(s, y);
-	SET_NUMERIC_LOCAL();
-	if ((y < 0.0 && y < x) || (y > 0.0 && y > x))
-	    return y;
+        /* Look through the string for the first thing that looks like a
+         * decimal point: either the value in the current locale or the
+         * standard fallback of '.'. The one which appears earliest in the
+         * input string is the one that we should have atof look for. Note that
+         * we have to determine this beforehand because on some systems,
+         * Perl_atof2 is just a wrapper around the system's atof. */
+        standard = strchr(s, '.');
+        local = strstr(s, SvPV_nolen(PL_numeric_radix_sv));
+
+        use_standard_radix = standard && (!local || standard < local);
+
+        if (use_standard_radix)
+            SET_NUMERIC_STANDARD();
+
+        Perl_atof2(s, x);
+
+        if (use_standard_radix)
+            SET_NUMERIC_LOCAL();
     }
     else
 	Perl_atof2(s, x);
@@ -1087,8 +1116,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/numeric.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/op.c
===================================================================
--- vendor/perl/dist/op.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/op.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -102,137 +102,328 @@
 #define PERL_IN_OP_C
 #include "perl.h"
 #include "keywords.h"
+#include "feature.h"
+#include "regcomp.h"
 
 #define CALL_PEEP(o) PL_peepp(aTHX_ o)
 #define CALL_RPEEP(o) PL_rpeepp(aTHX_ o)
 #define CALL_OPFREEHOOK(o) if (PL_opfreehook) PL_opfreehook(aTHX_ o)
 
-#if defined(PL_OP_SLAB_ALLOC)
+/* See the explanatory comments above struct opslab in op.h. */
 
 #ifdef PERL_DEBUG_READONLY_OPS
-#  define PERL_SLAB_SIZE 4096
+#  define PERL_SLAB_SIZE 128
+#  define PERL_MAX_SLAB_SIZE 4096
 #  include <sys/mman.h>
 #endif
 
 #ifndef PERL_SLAB_SIZE
-#define PERL_SLAB_SIZE 2048
+#  define PERL_SLAB_SIZE 64
 #endif
+#ifndef PERL_MAX_SLAB_SIZE
+#  define PERL_MAX_SLAB_SIZE 2048
+#endif
 
+/* rounds up to nearest pointer */
+#define SIZE_TO_PSIZE(x)	(((x) + sizeof(I32 *) - 1)/sizeof(I32 *))
+#define DIFF(o,p)		((size_t)((I32 **)(p) - (I32**)(o)))
+
+static OPSLAB *
+S_new_slab(pTHX_ size_t sz)
+{
+#ifdef PERL_DEBUG_READONLY_OPS
+    OPSLAB *slab = (OPSLAB *) mmap(0, sz * sizeof(I32 *),
+				   PROT_READ|PROT_WRITE,
+				   MAP_ANON|MAP_PRIVATE, -1, 0);
+    DEBUG_m(PerlIO_printf(Perl_debug_log, "mapped %lu at %p\n",
+			  (unsigned long) sz, slab));
+    if (slab == MAP_FAILED) {
+	perror("mmap failed");
+	abort();
+    }
+    slab->opslab_size = (U16)sz;
+#else
+    OPSLAB *slab = (OPSLAB *)PerlMemShared_calloc(sz, sizeof(I32 *));
+#endif
+    slab->opslab_first = (OPSLOT *)((I32 **)slab + sz - 1);
+    return slab;
+}
+
+/* requires double parens and aTHX_ */
+#define DEBUG_S_warn(args)					       \
+    DEBUG_S( 								\
+	PerlIO_printf(Perl_debug_log, "%s", SvPVx_nolen(Perl_mess args)) \
+    )
+
 void *
 Perl_Slab_Alloc(pTHX_ size_t sz)
 {
     dVAR;
-    /*
-     * To make incrementing use count easy PL_OpSlab is an I32 *
-     * To make inserting the link to slab PL_OpPtr is I32 **
-     * So compute size in units of sizeof(I32 *) as that is how Pl_OpPtr increments
-     * Add an overhead for pointer to slab and round up as a number of pointers
-     */
-    sz = (sz + 2*sizeof(I32 *) -1)/sizeof(I32 *);
-    if ((PL_OpSpace -= sz) < 0) {
-#ifdef PERL_DEBUG_READONLY_OPS
-	/* We need to allocate chunk by chunk so that we can control the VM
-	   mapping */
-	PL_OpPtr = (I32**) mmap(0, PERL_SLAB_SIZE*sizeof(I32*), PROT_READ|PROT_WRITE,
-			MAP_ANON|MAP_PRIVATE, -1, 0);
+    OPSLAB *slab;
+    OPSLAB *slab2;
+    OPSLOT *slot;
+    OP *o;
+    size_t opsz, space;
 
-	DEBUG_m(PerlIO_printf(Perl_debug_log, "mapped %lu at %p\n",
-			      (unsigned long) PERL_SLAB_SIZE*sizeof(I32*),
-			      PL_OpPtr));
-	if(PL_OpPtr == MAP_FAILED) {
-	    perror("mmap failed");
-	    abort();
-	}
-#else
+    if (!PL_compcv || CvROOT(PL_compcv)
+     || (CvSTART(PL_compcv) && !CvSLABBED(PL_compcv)))
+	return PerlMemShared_calloc(1, sz);
 
-        PL_OpPtr = (I32 **) PerlMemShared_calloc(PERL_SLAB_SIZE,sizeof(I32*)); 
+#if defined(USE_ITHREADS) && IVSIZE > U32SIZE && IVSIZE > PTRSIZE
+    /* Work around a goof with alignment on our part. For sparc32 (and
+       possibly other architectures), if built with -Duse64bitint, the IV
+       op_pmoffset in struct pmop should be 8 byte aligned, but the slab
+       allocator is only providing 4 byte alignment. The real fix is to change
+       the IV to a type the same size as a pointer, such as size_t, but we
+       can't do that without breaking the ABI, which is a no-no in a maint
+       release. So instead, simply allocate struct pmop directly, which will be
+       suitably aligned:  */
+    if (sz == sizeof(struct pmop))
+	return PerlMemShared_calloc(1, sz);
 #endif
-    	if (!PL_OpPtr) {
-	    return NULL;
+
+    if (!CvSTART(PL_compcv)) { /* sneak it in here */
+	CvSTART(PL_compcv) =
+	    (OP *)(slab = S_new_slab(aTHX_ PERL_SLAB_SIZE));
+	CvSLABBED_on(PL_compcv);
+	slab->opslab_refcnt = 2; /* one for the CV; one for the new OP */
+    }
+    else ++(slab = (OPSLAB *)CvSTART(PL_compcv))->opslab_refcnt;
+
+    opsz = SIZE_TO_PSIZE(sz);
+    sz = opsz + OPSLOT_HEADER_P;
+
+    if (slab->opslab_freed) {
+	OP **too = &slab->opslab_freed;
+	o = *too;
+	DEBUG_S_warn((aTHX_ "found free op at %p, slab %p", o, slab));
+	while (o && DIFF(OpSLOT(o), OpSLOT(o)->opslot_next) < sz) {
+	    DEBUG_S_warn((aTHX_ "Alas! too small"));
+	    o = *(too = &o->op_next);
+	    if (o) { DEBUG_S_warn((aTHX_ "found another free op at %p", o)); }
 	}
-	/* We reserve the 0'th I32 sized chunk as a use count */
-	PL_OpSlab = (I32 *) PL_OpPtr;
-	/* Reduce size by the use count word, and by the size we need.
-	 * Latter is to mimic the '-=' in the if() above
-	 */
-	PL_OpSpace = PERL_SLAB_SIZE - (sizeof(I32)+sizeof(I32 **)-1)/sizeof(I32 **) - sz;
-	/* Allocation pointer starts at the top.
-	   Theory: because we build leaves before trunk allocating at end
-	   means that at run time access is cache friendly upward
-	 */
-	PL_OpPtr += PERL_SLAB_SIZE;
+	if (o) {
+	    *too = o->op_next;
+	    Zero(o, opsz, I32 *);
+	    o->op_slabbed = 1;
+	    return (void *)o;
+	}
+    }
 
-#ifdef PERL_DEBUG_READONLY_OPS
-	/* We remember this slab.  */
-	/* This implementation isn't efficient, but it is simple. */
-	PL_slabs = (I32**) realloc(PL_slabs, sizeof(I32**) * (PL_slab_count + 1));
-	PL_slabs[PL_slab_count++] = PL_OpSlab;
-	DEBUG_m(PerlIO_printf(Perl_debug_log, "Allocate %p\n", PL_OpSlab));
-#endif
+#define INIT_OPSLOT \
+	    slot->opslot_slab = slab;			\
+	    slot->opslot_next = slab2->opslab_first;	\
+	    slab2->opslab_first = slot;			\
+	    o = &slot->opslot_op;			\
+	    o->op_slabbed = 1
+
+    /* The partially-filled slab is next in the chain. */
+    slab2 = slab->opslab_next ? slab->opslab_next : slab;
+    if ((space = DIFF(&slab2->opslab_slots, slab2->opslab_first)) < sz) {
+	/* Remaining space is too small. */
+
+	/* If we can fit a BASEOP, add it to the free chain, so as not
+	   to waste it. */
+	if (space >= SIZE_TO_PSIZE(sizeof(OP)) + OPSLOT_HEADER_P) {
+	    slot = &slab2->opslab_slots;
+	    INIT_OPSLOT;
+	    o->op_type = OP_FREED;
+	    o->op_next = slab->opslab_freed;
+	    slab->opslab_freed = o;
+	}
+
+	/* Create a new slab.  Make this one twice as big. */
+	slot = slab2->opslab_first;
+	while (slot->opslot_next) slot = slot->opslot_next;
+	slab2 = S_new_slab(aTHX_
+			    (DIFF(slab2, slot)+1)*2 > PERL_MAX_SLAB_SIZE
+					? PERL_MAX_SLAB_SIZE
+					: (DIFF(slab2, slot)+1)*2);
+	slab2->opslab_next = slab->opslab_next;
+	slab->opslab_next = slab2;
     }
-    assert( PL_OpSpace >= 0 );
-    /* Move the allocation pointer down */
-    PL_OpPtr   -= sz;
-    assert( PL_OpPtr > (I32 **) PL_OpSlab );
-    *PL_OpPtr   = PL_OpSlab;	/* Note which slab it belongs to */
-    (*PL_OpSlab)++;		/* Increment use count of slab */
-    assert( PL_OpPtr+sz <= ((I32 **) PL_OpSlab + PERL_SLAB_SIZE) );
-    assert( *PL_OpSlab > 0 );
-    return (void *)(PL_OpPtr + 1);
+    assert(DIFF(&slab2->opslab_slots, slab2->opslab_first) >= sz);
+
+    /* Create a new op slot */
+    slot = (OPSLOT *)((I32 **)slab2->opslab_first - sz);
+    assert(slot >= &slab2->opslab_slots);
+    if (DIFF(&slab2->opslab_slots, slot)
+	 < SIZE_TO_PSIZE(sizeof(OP)) + OPSLOT_HEADER_P)
+	slot = &slab2->opslab_slots;
+    INIT_OPSLOT;
+    DEBUG_S_warn((aTHX_ "allocating op at %p, slab %p", o, slab));
+    return (void *)o;
 }
 
+#undef INIT_OPSLOT
+
 #ifdef PERL_DEBUG_READONLY_OPS
 void
-Perl_pending_Slabs_to_ro(pTHX) {
-    /* Turn all the allocated op slabs read only.  */
-    U32 count = PL_slab_count;
-    I32 **const slabs = PL_slabs;
+Perl_Slab_to_ro(pTHX_ OPSLAB *slab)
+{
+    PERL_ARGS_ASSERT_SLAB_TO_RO;
 
-    /* Reset the array of pending OP slabs, as we're about to turn this lot
-       read only. Also, do it ahead of the loop in case the warn triggers,
-       and a warn handler has an eval */
+    if (slab->opslab_readonly) return;
+    slab->opslab_readonly = 1;
+    for (; slab; slab = slab->opslab_next) {
+	/*DEBUG_U(PerlIO_printf(Perl_debug_log,"mprotect ->ro %lu at %p\n",
+			      (unsigned long) slab->opslab_size, slab));*/
+	if (mprotect(slab, slab->opslab_size * sizeof(I32 *), PROT_READ))
+	    Perl_warn(aTHX_ "mprotect for %p %lu failed with %d", slab,
+			     (unsigned long)slab->opslab_size, errno);
+    }
+}
 
-    PL_slabs = NULL;
-    PL_slab_count = 0;
+void
+Perl_Slab_to_rw(pTHX_ OPSLAB *const slab)
+{
+    OPSLAB *slab2;
 
-    /* Force a new slab for any further allocation.  */
-    PL_OpSpace = 0;
+    PERL_ARGS_ASSERT_SLAB_TO_RW;
 
-    while (count--) {
-	void *const start = slabs[count];
-	const size_t size = PERL_SLAB_SIZE* sizeof(I32*);
-	if(mprotect(start, size, PROT_READ)) {
-	    Perl_warn(aTHX_ "mprotect for %p %lu failed with %d",
-		      start, (unsigned long) size, errno);
+    if (!slab->opslab_readonly) return;
+    slab2 = slab;
+    for (; slab2; slab2 = slab2->opslab_next) {
+	/*DEBUG_U(PerlIO_printf(Perl_debug_log,"mprotect ->rw %lu at %p\n",
+			      (unsigned long) size, slab2));*/
+	if (mprotect((void *)slab2, slab2->opslab_size * sizeof(I32 *),
+		     PROT_READ|PROT_WRITE)) {
+	    Perl_warn(aTHX_ "mprotect RW for %p %lu failed with %d", slab,
+			     (unsigned long)slab2->opslab_size, errno);
 	}
     }
+    slab->opslab_readonly = 0;
+}
 
-    free(slabs);
+#else
+#  define Slab_to_rw(op)
+#endif
+
+/* This cannot possibly be right, but it was copied from the old slab
+   allocator, to which it was originally added, without explanation, in
+   commit 083fcd5. */
+#ifdef NETWARE
+#    define PerlMemShared PerlMem
+#endif
+
+void
+Perl_Slab_Free(pTHX_ void *op)
+{
+    dVAR;
+    OP * const o = (OP *)op;
+    OPSLAB *slab;
+
+    PERL_ARGS_ASSERT_SLAB_FREE;
+
+    if (!o->op_slabbed) {
+        if (!o->op_static)
+	    PerlMemShared_free(op);
+	return;
+    }
+
+    slab = OpSLAB(o);
+    /* If this op is already freed, our refcount will get screwy. */
+    assert(o->op_type != OP_FREED);
+    o->op_type = OP_FREED;
+    o->op_next = slab->opslab_freed;
+    slab->opslab_freed = o;
+    DEBUG_S_warn((aTHX_ "free op at %p, recorded in slab %p", o, slab));
+    OpslabREFCNT_dec_padok(slab);
 }
 
-STATIC void
-S_Slab_to_rw(pTHX_ void *op)
+void
+Perl_opslab_free_nopad(pTHX_ OPSLAB *slab)
 {
-    I32 * const * const ptr = (I32 **) op;
-    I32 * const slab = ptr[-1];
+    dVAR;
+    const bool havepad = !!PL_comppad;
+    PERL_ARGS_ASSERT_OPSLAB_FREE_NOPAD;
+    if (havepad) {
+	ENTER;
+	PAD_SAVE_SETNULLPAD();
+    }
+    opslab_free(slab);
+    if (havepad) LEAVE;
+}
 
-    PERL_ARGS_ASSERT_SLAB_TO_RW;
+void
+Perl_opslab_free(pTHX_ OPSLAB *slab)
+{
+    dVAR;
+    OPSLAB *slab2;
+    PERL_ARGS_ASSERT_OPSLAB_FREE;
+    DEBUG_S_warn((aTHX_ "freeing slab %p", slab));
+    assert(slab->opslab_refcnt == 1);
+    for (; slab; slab = slab2) {
+	slab2 = slab->opslab_next;
+#ifdef DEBUGGING
+	slab->opslab_refcnt = ~(size_t)0;
+#endif
+#ifdef PERL_DEBUG_READONLY_OPS
+	DEBUG_m(PerlIO_printf(Perl_debug_log, "Deallocate slab at %p\n",
+					       slab));
+	if (munmap(slab, slab->opslab_size * sizeof(I32 *))) {
+	    perror("munmap failed");
+	    abort();
+	}
+#else
+	PerlMemShared_free(slab);
+#endif
+    }
+}
 
-    assert( ptr-1 > (I32 **) slab );
-    assert( ptr < ( (I32 **) slab + PERL_SLAB_SIZE) );
-    assert( *slab > 0 );
-    if(mprotect(slab, PERL_SLAB_SIZE*sizeof(I32*), PROT_READ|PROT_WRITE)) {
-	Perl_warn(aTHX_ "mprotect RW for %p %lu failed with %d",
-		  slab, (unsigned long) PERL_SLAB_SIZE*sizeof(I32*), errno);
+void
+Perl_opslab_force_free(pTHX_ OPSLAB *slab)
+{
+    OPSLAB *slab2;
+    OPSLOT *slot;
+#ifdef DEBUGGING
+    size_t savestack_count = 0;
+#endif
+    PERL_ARGS_ASSERT_OPSLAB_FORCE_FREE;
+    slab2 = slab;
+    do {
+	for (slot = slab2->opslab_first;
+	     slot->opslot_next;
+	     slot = slot->opslot_next) {
+	    if (slot->opslot_op.op_type != OP_FREED
+	     && !(slot->opslot_op.op_savefree
+#ifdef DEBUGGING
+		  && ++savestack_count
+#endif
+		 )
+	    ) {
+		assert(slot->opslot_op.op_slabbed);
+		op_free(&slot->opslot_op);
+		if (slab->opslab_refcnt == 1) goto free;
+	    }
+	}
+    } while ((slab2 = slab2->opslab_next));
+    /* > 1 because the CV still holds a reference count. */
+    if (slab->opslab_refcnt > 1) { /* still referenced by the savestack */
+#ifdef DEBUGGING
+	assert(savestack_count == slab->opslab_refcnt-1);
+#endif
+	/* Remove the CV’s reference count. */
+	slab->opslab_refcnt--;
+	return;
     }
+   free:
+    opslab_free(slab);
 }
 
+#ifdef PERL_DEBUG_READONLY_OPS
 OP *
 Perl_op_refcnt_inc(pTHX_ OP *o)
 {
     if(o) {
-	Slab_to_rw(o);
-	++o->op_targ;
+        OPSLAB *const slab = o->op_slabbed ? OpSLAB(o) : NULL;
+        if (slab && slab->opslab_readonly) {
+            Slab_to_rw(slab);
+            ++o->op_targ;
+            Slab_to_ro(slab);
+        } else {
+            ++o->op_targ;
+        }
     }
     return o;
 
@@ -241,60 +432,19 @@
 PADOFFSET
 Perl_op_refcnt_dec(pTHX_ OP *o)
 {
+    PADOFFSET result;
+    OPSLAB *const slab = o->op_slabbed ? OpSLAB(o) : NULL;
+
     PERL_ARGS_ASSERT_OP_REFCNT_DEC;
-    Slab_to_rw(o);
-    return --o->op_targ;
-}
-#else
-#  define Slab_to_rw(op)
-#endif
 
-void
-Perl_Slab_Free(pTHX_ void *op)
-{
-    I32 * const * const ptr = (I32 **) op;
-    I32 * const slab = ptr[-1];
-    PERL_ARGS_ASSERT_SLAB_FREE;
-    assert( ptr-1 > (I32 **) slab );
-    assert( ptr < ( (I32 **) slab + PERL_SLAB_SIZE) );
-    assert( *slab > 0 );
-    Slab_to_rw(op);
-    if (--(*slab) == 0) {
-#  ifdef NETWARE
-#    define PerlMemShared PerlMem
-#  endif
-	
-#ifdef PERL_DEBUG_READONLY_OPS
-	U32 count = PL_slab_count;
-	/* Need to remove this slab from our list of slabs */
-	if (count) {
-	    while (count--) {
-		if (PL_slabs[count] == slab) {
-		    dVAR;
-		    /* Found it. Move the entry at the end to overwrite it.  */
-		    DEBUG_m(PerlIO_printf(Perl_debug_log,
-					  "Deallocate %p by moving %p from %lu to %lu\n",
-					  PL_OpSlab,
-					  PL_slabs[PL_slab_count - 1],
-					  PL_slab_count, count));
-		    PL_slabs[count] = PL_slabs[--PL_slab_count];
-		    /* Could realloc smaller at this point, but probably not
-		       worth it.  */
-		    if(munmap(slab, PERL_SLAB_SIZE*sizeof(I32*))) {
-			perror("munmap failed");
-			abort();
-		    }
-		    break;
-		}
-	    }
-	}
-#else
-    PerlMemShared_free(slab);
-#endif
-	if (slab == PL_OpSlab) {
-	    PL_OpSpace = 0;
-	}
+    if (slab && slab->opslab_readonly) {
+        Slab_to_rw(slab);
+        result = --o->op_targ;
+        Slab_to_ro(slab);
+    } else {
+        result = --o->op_targ;
     }
+    return result;
 }
 #endif
 /*
@@ -316,7 +466,7 @@
 	o->op_ppaddr = PL_ppaddr[type];		\
     } STMT_END
 
-STATIC const char*
+STATIC SV*
 S_gv_ename(pTHX_ GV *gv)
 {
     SV* const tmpsv = sv_newmortal();
@@ -324,7 +474,7 @@
     PERL_ARGS_ASSERT_GV_ENAME;
 
     gv_efullname3(tmpsv, gv, NULL);
-    return SvPV_nolen_const(tmpsv);
+    return tmpsv;
 }
 
 STATIC OP *
@@ -338,35 +488,62 @@
 }
 
 STATIC OP *
-S_too_few_arguments(pTHX_ OP *o, const char *name)
+S_too_few_arguments_sv(pTHX_ OP *o, SV *namesv, U32 flags)
 {
-    PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS;
+    PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_SV;
+    yyerror_pv(Perl_form(aTHX_ "Not enough arguments for %"SVf, namesv),
+                                    SvUTF8(namesv) | flags);
+    return o;
+}
 
-    yyerror(Perl_form(aTHX_ "Not enough arguments for %s", name));
+STATIC OP *
+S_too_few_arguments_pv(pTHX_ OP *o, const char* name, U32 flags)
+{
+    PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_PV;
+    yyerror_pv(Perl_form(aTHX_ "Not enough arguments for %s", name), flags);
     return o;
 }
+ 
+STATIC OP *
+S_too_many_arguments_pv(pTHX_ OP *o, const char *name, U32 flags)
+{
+    PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_PV;
 
+    yyerror_pv(Perl_form(aTHX_ "Too many arguments for %s", name), flags);
+    return o;
+}
+
 STATIC OP *
-S_too_many_arguments(pTHX_ OP *o, const char *name)
+S_too_many_arguments_sv(pTHX_ OP *o, SV *namesv, U32 flags)
 {
-    PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS;
+    PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_SV;
 
-    yyerror(Perl_form(aTHX_ "Too many arguments for %s", name));
+    yyerror_pv(Perl_form(aTHX_ "Too many arguments for %"SVf, SVfARG(namesv)),
+                SvUTF8(namesv) | flags);
     return o;
 }
 
 STATIC void
-S_bad_type(pTHX_ I32 n, const char *t, const char *name, const OP *kid)
+S_bad_type_pv(pTHX_ I32 n, const char *t, const char *name, U32 flags, const OP *kid)
 {
-    PERL_ARGS_ASSERT_BAD_TYPE;
+    PERL_ARGS_ASSERT_BAD_TYPE_PV;
 
-    yyerror(Perl_form(aTHX_ "Type of arg %d to %s must be %s (not %s)",
-		 (int)n, name, t, OP_DESC(kid)));
+    yyerror_pv(Perl_form(aTHX_ "Type of arg %d to %s must be %s (not %s)",
+		 (int)n, name, t, OP_DESC(kid)), flags);
 }
 
 STATIC void
-S_no_bareword_allowed(pTHX_ const OP *o)
+S_bad_type_sv(pTHX_ I32 n, const char *t, SV *namesv, U32 flags, const OP *kid)
 {
+    PERL_ARGS_ASSERT_BAD_TYPE_SV;
+ 
+    yyerror_pv(Perl_form(aTHX_ "Type of arg %d to %"SVf" must be %s (not %s)",
+		 (int)n, SVfARG(namesv), t, OP_DESC(kid)), SvUTF8(namesv) | flags);
+}
+
+STATIC void
+S_no_bareword_allowed(pTHX_ OP *o)
+{
     PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED;
 
     if (PL_madskills)
@@ -374,6 +551,7 @@
     qerror(Perl_mess(aTHX_
 		     "Bareword \"%"SVf"\" not allowed while \"strict subs\" in use",
 		     SVfARG(cSVOPo_sv)));
+    o->op_private &= ~OPpCONST_STRICT; /* prevent warning twice about the same OP */
 }
 
 /* "register" allocation */
@@ -387,7 +565,7 @@
 
     PERL_ARGS_ASSERT_ALLOCMY;
 
-    if (flags)
+    if (flags & ~SVf_UTF8)
 	Perl_croak(aTHX_ "panic: allocmy illegal flag bits 0x%" UVxf,
 		   (UV)flags);
 
@@ -399,25 +577,34 @@
     if (len &&
 	!(is_our ||
 	  isALPHA(name[1]) ||
-	  (USE_UTF8_IN_NAMES && UTF8_IS_START(name[1])) ||
+	  ((flags & SVf_UTF8) && isIDFIRST_utf8((U8 *)name+1)) ||
 	  (name[1] == '_' && (*name == '$' || len > 2))))
     {
 	/* name[2] is true if strlen(name) > 2  */
-	if (!isPRINT(name[1]) || strchr("\t\n\r\f", name[1])) {
+	if (!(flags & SVf_UTF8 && UTF8_IS_START(name[1]))
+	 && (!isPRINT(name[1]) || strchr("\t\n\r\f", name[1]))) {
 	    yyerror(Perl_form(aTHX_ "Can't use global %c^%c%.*s in \"%s\"",
 			      name[0], toCTRL(name[1]), (int)(len - 2), name + 2,
 			      PL_parser->in_my == KEY_state ? "state" : "my"));
 	} else {
-	    yyerror(Perl_form(aTHX_ "Can't use global %.*s in \"%s\"", (int) len, name,
-			      PL_parser->in_my == KEY_state ? "state" : "my"));
+	    yyerror_pv(Perl_form(aTHX_ "Can't use global %.*s in \"%s\"", (int) len, name,
+			      PL_parser->in_my == KEY_state ? "state" : "my"), flags & SVf_UTF8);
 	}
     }
+    else if (len == 2 && name[1] == '_' && !is_our)
+	/* diag_listed_as: Use of my $_ is experimental */
+	Perl_ck_warner_d(aTHX_ packWARN(WARN_EXPERIMENTAL__LEXICAL_TOPIC),
+			      "Use of %s $_ is experimental",
+			       PL_parser->in_my == KEY_state
+				 ? "state"
+				 : "my");
 
     /* allocate a spare slot and store the name in that slot */
 
-    off = pad_add_name(name, len,
-		       is_our ? padadd_OUR :
-		       PL_parser->in_my == KEY_state ? padadd_STATE : 0,
+    off = pad_add_name_pvn(name, len,
+		       (is_our ? padadd_OUR :
+		        PL_parser->in_my == KEY_state ? padadd_STATE : 0)
+                            | ( flags & SVf_UTF8 ? SVf_UTF8 : 0 ),
 		    PL_parser->in_my_stash,
 		    (is_our
 		        /* $_ is always in main::, even with our */
@@ -434,6 +621,43 @@
     return off;
 }
 
+/*
+=for apidoc alloccopstash
+
+Available only under threaded builds, this function allocates an entry in
+C<PL_stashpad> for the stash passed to it.
+
+=cut
+*/
+
+#ifdef USE_ITHREADS
+PADOFFSET
+Perl_alloccopstash(pTHX_ HV *hv)
+{
+    PADOFFSET off = 0, o = 1;
+    bool found_slot = FALSE;
+
+    PERL_ARGS_ASSERT_ALLOCCOPSTASH;
+
+    if (PL_stashpad[PL_stashpadix] == hv) return PL_stashpadix;
+
+    for (; o < PL_stashpadmax; ++o) {
+	if (PL_stashpad[o] == hv) return PL_stashpadix = o;
+	if (!PL_stashpad[o] || SvTYPE(PL_stashpad[o]) != SVt_PVHV)
+	    found_slot = TRUE, off = o;
+    }
+    if (!found_slot) {
+	Renew(PL_stashpad, PL_stashpadmax + 10, HV *);
+	Zero(PL_stashpad + PL_stashpadmax, 10, HV *);
+	off = PL_stashpadmax;
+	PL_stashpadmax += 10;
+    }
+
+    PL_stashpad[PL_stashpadix = off] = hv;
+    return off;
+}
+#endif
+
 /* free the body of an op without examining its contents.
  * Always use this rather than FreeOp directly */
 
@@ -440,19 +664,9 @@
 static void
 S_op_destroy(pTHX_ OP *o)
 {
-    if (o->op_latefree) {
-	o->op_latefreed = 1;
-	return;
-    }
     FreeOp(o);
 }
 
-#ifdef USE_ITHREADS
-#  define forget_pmop(a,b)	S_forget_pmop(aTHX_ a,b)
-#else
-#  define forget_pmop(a,b)	S_forget_pmop(aTHX_ a)
-#endif
-
 /* Destructor */
 
 void
@@ -461,13 +675,13 @@
     dVAR;
     OPCODE type;
 
-    if (!o)
+    /* Though ops may be freed twice, freeing the op after its slab is a
+       big no-no. */
+    assert(!o || !o->op_slabbed || OpSLAB(o)->opslab_refcnt != ~(size_t)0); 
+    /* During the forced freeing of ops after compilation failure, kidops
+       may be freed before their parents. */
+    if (!o || o->op_type == OP_FREED)
 	return;
-    if (o->op_latefreed) {
-	if (o->op_latefree)
-	    return;
-	goto do_free;
-    }
 
     type = o->op_type;
     if (o->op_private & OPpREFCOUNTED) {
@@ -502,35 +716,26 @@
     CALL_OPFREEHOOK(o);
 
     if (o->op_flags & OPf_KIDS) {
-        register OP *kid, *nextkid;
+        OP *kid, *nextkid;
 	for (kid = cUNOPo->op_first; kid; kid = nextkid) {
 	    nextkid = kid->op_sibling; /* Get before next freeing kid */
 	    op_free(kid);
 	}
     }
+    if (type == OP_NULL)
+	type = (OPCODE)o->op_targ;
 
-#ifdef PERL_DEBUG_READONLY_OPS
-    Slab_to_rw(o);
-#endif
+    if (o->op_slabbed) {
+	Slab_to_rw(OpSLAB(o));
+    }
 
     /* COP* is not cleared by op_clear() so that we may track line
      * numbers etc even after null() */
-    if (type == OP_NEXTSTATE || type == OP_DBSTATE
-	    || (type == OP_NULL /* the COP might have been null'ed */
-		&& ((OPCODE)o->op_targ == OP_NEXTSTATE
-		    || (OPCODE)o->op_targ == OP_DBSTATE))) {
+    if (type == OP_NEXTSTATE || type == OP_DBSTATE) {
 	cop_free((COP*)o);
     }
 
-    if (type == OP_NULL)
-	type = (OPCODE)o->op_targ;
-
     op_clear(o);
-    if (o->op_latefree) {
-	o->op_latefreed = 1;
-	return;
-    }
-  do_free:
     FreeOp(o);
 #ifdef DEBUG_LEAKING_SCALARS
     if (PL_op == o)
@@ -547,18 +752,8 @@
     PERL_ARGS_ASSERT_OP_CLEAR;
 
 #ifdef PERL_MAD
-    /* if (o->op_madprop && o->op_madprop->mad_next)
-       abort(); */
-    /* FIXME for MAD - if I uncomment these two lines t/op/pack.t fails with
-       "modification of a read only value" for a reason I can't fathom why.
-       It's the "" stringification of $_, where $_ was set to '' in a foreach
-       loop, but it defies simplification into a small test case.
-       However, commenting them out has caused ext/List/Util/t/weak.t to fail
-       the last test.  */
-    /*
-      mad_free(o->op_madprop);
-      o->op_madprop = 0;
-    */
+    mad_free(o->op_madprop);
+    o->op_madprop = 0;
 #endif    
 
  retry:
@@ -581,8 +776,7 @@
     case OP_GVSV:
     case OP_GV:
     case OP_AELEMFAST:
-	if (! (o->op_type == OP_AELEMFAST && o->op_flags & OPf_SPECIAL)) {
-	    /* not an OP_PADAV replacement */
+	{
 	    GV *gv = (o->op_type == OP_GV || o->op_type == OP_GVSV)
 #ifdef USE_ITHREADS
 			&& PL_curpad
@@ -619,7 +813,7 @@
 #endif
 	    if (still_valid) {
 		int try_downgrade = SvREFCNT(gv) == 2;
-		SvREFCNT_dec(gv);
+		SvREFCNT_dec_NN(gv);
 		if (try_downgrade)
 		    gv_try_downgrade(gv);
 	    }
@@ -643,6 +837,7 @@
         }
 #endif
 	break;
+    case OP_DUMP:
     case OP_GOTO:
     case OP_NEXT:
     case OP_LAST:
@@ -653,6 +848,7 @@
     case OP_TRANS:
     case OP_TRANSR:
 	if (o->op_private & (OPpTRANS_FROM_UTF|OPpTRANS_TO_UTF)) {
+	    assert(o->op_type == OP_TRANS || o->op_type == OP_TRANSR);
 #ifdef USE_ITHREADS
 	    if (cPADOPo->op_padix > 0) {
 		pad_swipe(cPADOPo->op_padix, TRUE);
@@ -685,7 +881,10 @@
     case OP_MATCH:
     case OP_QR:
 clear_pmop:
-	forget_pmop(cPMOPo, 1);
+	if (!(cPMOPo->op_pmflags & PMf_CODELIST_PRIVATE))
+	    op_free(cPMOPo->op_code_list);
+	cPMOPo->op_code_list = NULL;
+	forget_pmop(cPMOPo);
 	cPMOPo->op_pmreplrootu.op_pmreplroot = NULL;
         /* we use the same protection as the "SAFE" version of the PM_ macros
          * here since sv_clean_all might release some PMOPs
@@ -721,7 +920,6 @@
     PERL_ARGS_ASSERT_COP_FREE;
 
     CopFILE_free(cop);
-    CopSTASH_free(cop);
     if (! specialWARN(cop->cop_warnings))
 	PerlMemShared_free(cop->cop_warnings);
     cophh_free(CopHINTHASH_get(cop));
@@ -729,9 +927,6 @@
 
 STATIC void
 S_forget_pmop(pTHX_ PMOP *const o
-#ifdef USE_ITHREADS
-	      , U32 flags
-#endif
 	      )
 {
     HV * const pmstash = PmopSTASH(o);
@@ -738,7 +933,7 @@
 
     PERL_ARGS_ASSERT_FORGET_PMOP;
 
-    if (pmstash && !SvIS_FREED(pmstash)) {
+    if (pmstash && !SvIS_FREED(pmstash) && SvMAGICAL(pmstash)) {
 	MAGIC * const mg = mg_find((const SV *)pmstash, PERL_MAGIC_symtab);
 	if (mg) {
 	    PMOP **const array = (PMOP**) mg->mg_ptr;
@@ -764,10 +959,6 @@
     }
     if (PL_curpm == o) 
 	PL_curpm = NULL;
-#ifdef USE_ITHREADS
-    if (flags)
-	PmopSTASH_free(o);
-#endif
 }
 
 STATIC void
@@ -783,7 +974,7 @@
 	    case OP_PUSHRE:
 	    case OP_MATCH:
 	    case OP_QR:
-		forget_pmop((PMOP*)kid, 0);
+		forget_pmop((PMOP*)kid);
 	    }
 	    find_and_forget_pmops(kid);
 	    kid = kid->op_sibling;
@@ -845,7 +1036,8 @@
 	case G_ARRAY:  return list(o);
 	case G_VOID:   return scalarvoid(o);
 	default:
-	    Perl_croak(aTHX_ "panic: op_contextualize bad context");
+	    Perl_croak(aTHX_ "panic: op_contextualize bad context %ld",
+		       (long) context);
 	    return o;
     }
 }
@@ -873,7 +1065,7 @@
     /* establish postfix order */
     first = cUNOPo->op_first;
     if (first) {
-        register OP *kid;
+        OP *kid;
 	o->op_next = LINKLIST(first);
 	kid = first;
 	for (;;) {
@@ -915,8 +1107,11 @@
 	if (ckWARN(WARN_SYNTAX)) {
 	    const line_t oldline = CopLINE(PL_curcop);
 
-	    if (PL_parser && PL_parser->copline != NOLINE)
+	    if (PL_parser && PL_parser->copline != NOLINE) {
+		/* This ensures that warnings are reported at the first line
+                   of the conditional, not the last.  */
 		CopLINE_set(PL_curcop, PL_parser->copline);
+            }
 	    Perl_warner(aTHX_ packWARN(WARN_SYNTAX), "Found = in conditional, should be ==");
 	    CopLINE_set(PL_curcop, oldline);
 	}
@@ -970,14 +1165,9 @@
     do_kids:
 	while (kid) {
 	    OP *sib = kid->op_sibling;
-	    if (sib && kid->op_type != OP_LEAVEWHEN) {
-		if (sib->op_type == OP_BREAK && sib->op_flags & OPf_SPECIAL) {
-		    scalar(kid);
-		    scalarvoid(sib);
-		    break;
-		} else
-		    scalarvoid(kid);
-	    } else
+	    if (sib && kid->op_type != OP_LEAVEWHEN)
+		scalarvoid(kid);
+	    else
 		scalar(kid);
 	    kid = sib;
 	}
@@ -1000,6 +1190,7 @@
 {
     dVAR;
     OP *kid;
+    SV *useless_sv = NULL;
     const char* useless = NULL;
     SV* sv;
     U8 want;
@@ -1079,6 +1270,7 @@
     case OP_SPRINTF:
     case OP_AELEM:
     case OP_AELEMFAST:
+    case OP_AELEMFAST_LEX:
     case OP_ASLICE:
     case OP_HELEM:
     case OP_HSLICE:
@@ -1126,6 +1318,7 @@
     case OP_GGRGID:
     case OP_GETLOGIN:
     case OP_PROTOTYPE:
+    case OP_RUNCV:
       func_ops:
 	if (!(o->op_private & (OPpLVAL_INTRO|OPpOUR_INTRO)))
 	    /* Otherwise it's "Useless use of grep iterator" */
@@ -1176,15 +1369,6 @@
 	    no_bareword_allowed(o);
 	else {
 	    if (ckWARN(WARN_VOID)) {
-		if (SvOK(sv)) {
-		    SV* msv = sv_2mortal(Perl_newSVpvf(aTHX_
-				"a constant (%"SVf")", sv));
-		    useless = SvPV_nolen(msv);
-		}
-		else
-		    useless = "a constant (undef)";
-		if (o->op_private & OPpCONST_ARYBASE)
-		    useless = NULL;
 		/* don't warn on optimised away booleans, eg 
 		 * use constant Foo, 5; Foo || print; */
 		if (cSVOPo->op_private & OPpCONST_SHORTCIRCUIT)
@@ -1206,7 +1390,24 @@
 			strnEQ(maybe_macro, "ds", 2) ||
 			strnEQ(maybe_macro, "ig", 2))
 			    useless = NULL;
+		    else {
+			SV * const dsv = newSVpvs("");
+			useless_sv
+                            = Perl_newSVpvf(aTHX_
+                                            "a constant (%s)",
+                                            pv_pretty(dsv, maybe_macro,
+                                                      SvCUR(sv), 32, NULL, NULL,
+                                                      PERL_PV_PRETTY_DUMP
+                                                      | PERL_PV_ESCAPE_NOCLEAR
+                                                      | PERL_PV_ESCAPE_UNI_DETECT));
+			SvREFCNT_dec_NN(dsv);
+		    }
 		}
+		else if (SvOK(sv)) {
+		    useless_sv = Perl_newSVpvf(aTHX_ "a constant (%"SVf")", sv);
+		}
+		else
+		    useless = "a constant (undef)";
 	    }
 	}
 	op_null(o);		/* don't execute or even remember it */
@@ -1232,6 +1433,52 @@
 	o->op_ppaddr = PL_ppaddr[OP_I_PREDEC];
 	break;
 
+    case OP_SASSIGN: {
+	OP *rv2gv;
+	UNOP *refgen, *rv2cv;
+	LISTOP *exlist;
+
+	if ((o->op_private & ~OPpASSIGN_BACKWARDS) != 2)
+	    break;
+
+	rv2gv = ((BINOP *)o)->op_last;
+	if (!rv2gv || rv2gv->op_type != OP_RV2GV)
+	    break;
+
+	refgen = (UNOP *)((BINOP *)o)->op_first;
+
+	if (!refgen || refgen->op_type != OP_REFGEN)
+	    break;
+
+	exlist = (LISTOP *)refgen->op_first;
+	if (!exlist || exlist->op_type != OP_NULL
+	    || exlist->op_targ != OP_LIST)
+	    break;
+
+	if (exlist->op_first->op_type != OP_PUSHMARK)
+	    break;
+
+	rv2cv = (UNOP*)exlist->op_last;
+
+	if (rv2cv->op_type != OP_RV2CV)
+	    break;
+
+	assert ((rv2gv->op_private & OPpDONT_INIT_GV) == 0);
+	assert ((o->op_private & OPpASSIGN_CV_TO_GV) == 0);
+	assert ((rv2cv->op_private & OPpMAY_RETURN_CONSTANT) == 0);
+
+	o->op_private |= OPpASSIGN_CV_TO_GV;
+	rv2gv->op_private |= OPpDONT_INIT_GV;
+	rv2cv->op_private |= OPpMAY_RETURN_CONSTANT;
+
+	break;
+    }
+
+    case OP_AASSIGN: {
+	inplace_aassign(o);
+	break;
+    }
+
     case OP_OR:
     case OP_AND:
 	kid = cLOGOPo->op_first;
@@ -1284,8 +1531,18 @@
     case OP_SCALAR:
 	return scalar(o);
     }
-    if (useless)
-	Perl_ck_warner(aTHX_ packWARN(WARN_VOID), "Useless use of %s in void context", useless);
+
+    if (useless_sv) {
+        /* mortalise it, in case warnings are fatal.  */
+        Perl_ck_warner(aTHX_ packWARN(WARN_VOID),
+                       "Useless use of %"SVf" in void context",
+                       sv_2mortal(useless_sv));
+    }
+    else if (useless) {
+       Perl_ck_warner(aTHX_ packWARN(WARN_VOID),
+                      "Useless use of %s in void context",
+                      useless);
+    }
     return o;
 }
 
@@ -1355,14 +1612,9 @@
     do_kids:
 	while (kid) {
 	    OP *sib = kid->op_sibling;
-	    if (sib && kid->op_type != OP_LEAVEWHEN) {
-		if (sib->op_type == OP_BREAK && sib->op_flags & OPf_SPECIAL) {
-		    list(kid);
-		    scalarvoid(sib);
-		    break;
-		} else
-		    scalarvoid(kid);
-	    } else
+	    if (sib && kid->op_type != OP_LEAVEWHEN)
+		scalarvoid(kid);
+	    else
 		list(kid);
 	    kid = sib;
 	}
@@ -1415,6 +1667,256 @@
 }
 
 /*
+=for apidoc finalize_optree
+
+This function finalizes the optree. Should be called directly after
+the complete optree is built. It does some additional
+checking which can't be done in the normal ck_xxx functions and makes
+the tree thread-safe.
+
+=cut
+*/
+void
+Perl_finalize_optree(pTHX_ OP* o)
+{
+    PERL_ARGS_ASSERT_FINALIZE_OPTREE;
+
+    ENTER;
+    SAVEVPTR(PL_curcop);
+
+    finalize_op(o);
+
+    LEAVE;
+}
+
+STATIC void
+S_finalize_op(pTHX_ OP* o)
+{
+    PERL_ARGS_ASSERT_FINALIZE_OP;
+
+#if defined(PERL_MAD) && defined(USE_ITHREADS)
+    {
+	/* Make sure mad ops are also thread-safe */
+	MADPROP *mp = o->op_madprop;
+	while (mp) {
+	    if (mp->mad_type == MAD_OP && mp->mad_vlen) {
+		OP *prop_op = (OP *) mp->mad_val;
+		/* We only need "Relocate sv to the pad for thread safety.", but this
+		   easiest way to make sure it traverses everything */
+		if (prop_op->op_type == OP_CONST)
+		    cSVOPx(prop_op)->op_private &= ~OPpCONST_STRICT;
+		finalize_op(prop_op);
+	    }
+	    mp = mp->mad_next;
+	}
+    }
+#endif
+
+    switch (o->op_type) {
+    case OP_NEXTSTATE:
+    case OP_DBSTATE:
+	PL_curcop = ((COP*)o);		/* for warnings */
+	break;
+    case OP_EXEC:
+	if ( o->op_sibling
+	    && (o->op_sibling->op_type == OP_NEXTSTATE || o->op_sibling->op_type == OP_DBSTATE)
+	    && ckWARN(WARN_SYNTAX))
+	    {
+		if (o->op_sibling->op_sibling) {
+		    const OPCODE type = o->op_sibling->op_sibling->op_type;
+		    if (type != OP_EXIT && type != OP_WARN && type != OP_DIE) {
+			const line_t oldline = CopLINE(PL_curcop);
+			CopLINE_set(PL_curcop, CopLINE((COP*)o->op_sibling));
+			Perl_warner(aTHX_ packWARN(WARN_EXEC),
+			    "Statement unlikely to be reached");
+			Perl_warner(aTHX_ packWARN(WARN_EXEC),
+			    "\t(Maybe you meant system() when you said exec()?)\n");
+			CopLINE_set(PL_curcop, oldline);
+		    }
+		}
+	    }
+	break;
+
+    case OP_GV:
+	if ((o->op_private & OPpEARLY_CV) && ckWARN(WARN_PROTOTYPE)) {
+	    GV * const gv = cGVOPo_gv;
+	    if (SvTYPE(gv) == SVt_PVGV && GvCV(gv) && SvPVX_const(GvCV(gv))) {
+		/* XXX could check prototype here instead of just carping */
+		SV * const sv = sv_newmortal();
+		gv_efullname3(sv, gv, NULL);
+		Perl_warner(aTHX_ packWARN(WARN_PROTOTYPE),
+		    "%"SVf"() called too early to check prototype",
+		    SVfARG(sv));
+	    }
+	}
+	break;
+
+    case OP_CONST:
+	if (cSVOPo->op_private & OPpCONST_STRICT)
+	    no_bareword_allowed(o);
+	/* FALLTHROUGH */
+#ifdef USE_ITHREADS
+    case OP_HINTSEVAL:
+    case OP_METHOD_NAMED:
+	/* Relocate sv to the pad for thread safety.
+	 * Despite being a "constant", the SV is written to,
+	 * for reference counts, sv_upgrade() etc. */
+	if (cSVOPo->op_sv) {
+	    const PADOFFSET ix = pad_alloc(OP_CONST, SVs_PADTMP);
+	    if (o->op_type != OP_METHOD_NAMED &&
+		(SvPADTMP(cSVOPo->op_sv) || SvPADMY(cSVOPo->op_sv)))
+	    {
+		/* If op_sv is already a PADTMP/MY then it is being used by
+		 * some pad, so make a copy. */
+		sv_setsv(PAD_SVl(ix),cSVOPo->op_sv);
+		if (!SvIsCOW(PAD_SVl(ix))) SvREADONLY_on(PAD_SVl(ix));
+		SvREFCNT_dec(cSVOPo->op_sv);
+	    }
+	    else if (o->op_type != OP_METHOD_NAMED
+		&& cSVOPo->op_sv == &PL_sv_undef) {
+		/* PL_sv_undef is hack - it's unsafe to store it in the
+		   AV that is the pad, because av_fetch treats values of
+		   PL_sv_undef as a "free" AV entry and will merrily
+		   replace them with a new SV, causing pad_alloc to think
+		   that this pad slot is free. (When, clearly, it is not)
+		*/
+		SvOK_off(PAD_SVl(ix));
+		SvPADTMP_on(PAD_SVl(ix));
+		SvREADONLY_on(PAD_SVl(ix));
+	    }
+	    else {
+		SvREFCNT_dec(PAD_SVl(ix));
+		SvPADTMP_on(cSVOPo->op_sv);
+		PAD_SETSV(ix, cSVOPo->op_sv);
+		/* XXX I don't know how this isn't readonly already. */
+		if (!SvIsCOW(PAD_SVl(ix))) SvREADONLY_on(PAD_SVl(ix));
+	    }
+	    cSVOPo->op_sv = NULL;
+	    o->op_targ = ix;
+	}
+#endif
+	break;
+
+    case OP_HELEM: {
+	UNOP *rop;
+	SV *lexname;
+	GV **fields;
+	SV **svp, *sv;
+	const char *key = NULL;
+	STRLEN keylen;
+
+	if (((BINOP*)o)->op_last->op_type != OP_CONST)
+	    break;
+
+	/* Make the CONST have a shared SV */
+	svp = cSVOPx_svp(((BINOP*)o)->op_last);
+	if ((!SvIsCOW(sv = *svp))
+	    && SvTYPE(sv) < SVt_PVMG && !SvROK(sv)) {
+	    key = SvPV_const(sv, keylen);
+	    lexname = newSVpvn_share(key,
+		SvUTF8(sv) ? -(I32)keylen : (I32)keylen,
+		0);
+	    SvREFCNT_dec_NN(sv);
+	    *svp = lexname;
+	}
+
+	if ((o->op_private & (OPpLVAL_INTRO)))
+	    break;
+
+	rop = (UNOP*)((BINOP*)o)->op_first;
+	if (rop->op_type != OP_RV2HV || rop->op_first->op_type != OP_PADSV)
+	    break;
+	lexname = *av_fetch(PL_comppad_name, rop->op_first->op_targ, TRUE);
+	if (!SvPAD_TYPED(lexname))
+	    break;
+	fields = (GV**)hv_fetchs(SvSTASH(lexname), "FIELDS", FALSE);
+	if (!fields || !GvHV(*fields))
+	    break;
+	key = SvPV_const(*svp, keylen);
+	if (!hv_fetch(GvHV(*fields), key,
+		SvUTF8(*svp) ? -(I32)keylen : (I32)keylen, FALSE)) {
+	    Perl_croak(aTHX_ "No such class field \"%"SVf"\" " 
+			   "in variable %"SVf" of type %"HEKf, 
+		      SVfARG(*svp), SVfARG(lexname),
+                      HEKfARG(HvNAME_HEK(SvSTASH(lexname))));
+	}
+	break;
+    }
+
+    case OP_HSLICE: {
+	UNOP *rop;
+	SV *lexname;
+	GV **fields;
+	SV **svp;
+	const char *key;
+	STRLEN keylen;
+	SVOP *first_key_op, *key_op;
+
+	if ((o->op_private & (OPpLVAL_INTRO))
+	    /* I bet there's always a pushmark... */
+	    || ((LISTOP*)o)->op_first->op_sibling->op_type != OP_LIST)
+	    /* hmmm, no optimization if list contains only one key. */
+	    break;
+	rop = (UNOP*)((LISTOP*)o)->op_last;
+	if (rop->op_type != OP_RV2HV)
+	    break;
+	if (rop->op_first->op_type == OP_PADSV)
+	    /* @$hash{qw(keys here)} */
+	    rop = (UNOP*)rop->op_first;
+	else {
+	    /* @{$hash}{qw(keys here)} */
+	    if (rop->op_first->op_type == OP_SCOPE
+		&& cLISTOPx(rop->op_first)->op_last->op_type == OP_PADSV)
+		{
+		    rop = (UNOP*)cLISTOPx(rop->op_first)->op_last;
+		}
+	    else
+		break;
+	}
+
+	lexname = *av_fetch(PL_comppad_name, rop->op_targ, TRUE);
+	if (!SvPAD_TYPED(lexname))
+	    break;
+	fields = (GV**)hv_fetchs(SvSTASH(lexname), "FIELDS", FALSE);
+	if (!fields || !GvHV(*fields))
+	    break;
+	/* Again guessing that the pushmark can be jumped over.... */
+	first_key_op = (SVOP*)((LISTOP*)((LISTOP*)o)->op_first->op_sibling)
+	    ->op_first->op_sibling;
+	for (key_op = first_key_op; key_op;
+	     key_op = (SVOP*)key_op->op_sibling) {
+	    if (key_op->op_type != OP_CONST)
+		continue;
+	    svp = cSVOPx_svp(key_op);
+	    key = SvPV_const(*svp, keylen);
+	    if (!hv_fetch(GvHV(*fields), key,
+		    SvUTF8(*svp) ? -(I32)keylen : (I32)keylen, FALSE)) {
+		Perl_croak(aTHX_ "No such class field \"%"SVf"\" " 
+			   "in variable %"SVf" of type %"HEKf, 
+		      SVfARG(*svp), SVfARG(lexname),
+                      HEKfARG(HvNAME_HEK(SvSTASH(lexname))));
+	    }
+	}
+	break;
+    }
+
+    case OP_SUBST: {
+	if (cPMOPo->op_pmreplrootu.op_pmreplroot)
+	    finalize_op(cPMOPo->op_pmreplrootu.op_pmreplroot);
+	break;
+    }
+    default:
+	break;
+    }
+
+    if (o->op_flags & OPf_KIDS) {
+	OP *kid;
+	for (kid = cUNOPo->op_first; kid; kid = kid->op_sibling)
+	    finalize_op(kid);
+    }
+}
+
+/*
 =for apidoc Amx|OP *|op_lvalue|OP *o|I32 type
 
 Propagate lvalue ("modifiable") context to an op and its children.
@@ -1434,7 +1936,7 @@
 */
 
 OP *
-Perl_op_lvalue(pTHX_ OP *o, I32 type)
+Perl_op_lvalue_flags(pTHX_ OP *o, I32 type, U32 flags)
 {
     dVAR;
     OP *kid;
@@ -1450,40 +1952,24 @@
 	return o;
     }
 
+    assert( (o->op_flags & OPf_WANT) != OPf_WANT_VOID );
+
+    if (type == OP_PRTF || type == OP_SPRINTF) type = OP_ENTERSUB;
+
     switch (o->op_type) {
     case OP_UNDEF:
-	localize = 0;
 	PL_modcount++;
 	return o;
-    case OP_CONST:
-	if (!(o->op_private & OPpCONST_ARYBASE))
-	    goto nomod;
-	localize = 0;
-	if (PL_eval_start && PL_eval_start->op_type == OP_CONST) {
-	    CopARYBASE_set(&PL_compiling,
-			   (I32)SvIV(cSVOPx(PL_eval_start)->op_sv));
-	    PL_eval_start = 0;
-	}
-	else if (!type) {
-	    SAVECOPARYBASE(&PL_compiling);
-	    CopARYBASE_set(&PL_compiling, 0);
-	}
-	else if (type == OP_REFGEN)
-	    goto nomod;
-	else
-	    Perl_croak(aTHX_ "That use of $[ is unsupported");
-	break;
     case OP_STUB:
 	if ((o->op_flags & OPf_PARENS) || PL_madskills)
 	    break;
 	goto nomod;
     case OP_ENTERSUB:
-	if ((type == OP_UNDEF || type == OP_REFGEN) &&
+	if ((type == OP_UNDEF || type == OP_REFGEN || type == OP_LOCK) &&
 	    !(o->op_flags & OPf_STACKED)) {
 	    o->op_type = OP_RV2CV;		/* entersub => rv2cv */
-	    /* The default is to set op_private to the number of children,
-	       which for a UNOP such as RV2CV is always 1. And w're using
-	       the bit for a flag in RV2CV, so we need it clear.  */
+	    /* Both ENTERSUB and RV2CV use this bit, but for different pur-
+	       poses, so we need it clear.  */
 	    o->op_private &= ~1;
 	    o->op_ppaddr = PL_ppaddr[OP_RV2CV];
 	    assert(cUNOPo->op_first->op_type == OP_NULL);
@@ -1490,13 +1976,12 @@
 	    op_null(((LISTOP*)cUNOPo->op_first)->op_first);/* disable pushmark */
 	    break;
 	}
-	else if (o->op_private & OPpENTERSUB_NOMOD)
-	    return o;
 	else {				/* lvalue subroutine call */
-	    o->op_private |= OPpLVAL_INTRO;
+	    o->op_private |= OPpLVAL_INTRO
+	                   |(OPpENTERSUB_INARGS * (type == OP_LEAVESUBLV));
 	    PL_modcount = RETURN_UNLIMITED_NUMBER;
 	    if (type == OP_GREPSTART || type == OP_ENTERSUB || type == OP_REFGEN) {
-		/* Backward compatibility mode: */
+		/* Potential lvalue context: */
 		o->op_private |= OPpENTERSUB_INARGS;
 		break;
 	    }
@@ -1503,7 +1988,6 @@
 	    else {                      /* Compile-time error message: */
 		OP *kid = cUNOPo->op_first;
 		CV *cv;
-		OP *okid;
 
 		if (kid->op_type != OP_PUSHMARK) {
 		    if (kid->op_type != OP_NULL || kid->op_targ != OP_LIST)
@@ -1516,33 +2000,9 @@
 		while (kid->op_sibling)
 		    kid = kid->op_sibling;
 		if (!(kid->op_type == OP_NULL && kid->op_targ == OP_RV2CV)) {
-		    /* Indirect call */
-		    if (kid->op_type == OP_METHOD_NAMED
-			|| kid->op_type == OP_METHOD)
-		    {
-			UNOP *newop;
-
-			NewOp(1101, newop, 1, UNOP);
-			newop->op_type = OP_RV2CV;
-			newop->op_ppaddr = PL_ppaddr[OP_RV2CV];
-			newop->op_first = NULL;
-                        newop->op_next = (OP*)newop;
-			kid->op_sibling = (OP*)newop;
-			newop->op_private |= OPpLVAL_INTRO;
-			newop->op_private &= ~1;
-			break;
-		    }
-
-		    if (kid->op_type != OP_RV2CV)
-			Perl_croak(aTHX_
-				   "panic: unexpected lvalue entersub "
-				   "entry via type/targ %ld:%"UVuf,
-				   (long)kid->op_type, (UV)kid->op_targ);
-		    kid->op_private |= OPpLVAL_INTRO;
 		    break;	/* Postpone until runtime */
 		}
 
-		okid = kid;
 		kid = kUNOP->op_first;
 		if (kid->op_type == OP_NULL && kid->op_targ == OP_RV2SV)
 		    kid = kUNOP->op_first;
@@ -1552,25 +2012,12 @@
 			       "entry via type/targ %ld:%"UVuf,
 			       (long)kid->op_type, (UV)kid->op_targ);
 		if (kid->op_type != OP_GV) {
-		    /* Restore RV2CV to check lvalueness */
-		  restore_2cv:
-		    if (kid->op_next && kid->op_next != kid) { /* Happens? */
-			okid->op_next = kid->op_next;
-			kid->op_next = okid;
-		    }
-		    else
-			okid->op_next = NULL;
-		    okid->op_type = OP_RV2CV;
-		    okid->op_targ = 0;
-		    okid->op_ppaddr = PL_ppaddr[OP_RV2CV];
-		    okid->op_private |= OPpLVAL_INTRO;
-		    okid->op_private &= ~1;
 		    break;
 		}
 
 		cv = GvCV(kGVOP_gv);
 		if (!cv)
-		    goto restore_2cv;
+		    break;
 		if (CvLVALUE(cv))
 		    break;
 	    }
@@ -1578,8 +2025,10 @@
 	/* FALL THROUGH */
     default:
       nomod:
+	if (flags & OP_LVALUE_NO_CROAK) return NULL;
 	/* grep, foreach, subcalls, refgen */
-	if (type == OP_GREPSTART || type == OP_ENTERSUB || type == OP_REFGEN)
+	if (type == OP_GREPSTART || type == OP_ENTERSUB
+	 || type == OP_REFGEN    || type == OP_LEAVESUBLV)
 	    break;
 	yyerror(Perl_form(aTHX_ "Can't modify %s in %s",
 		     (o->op_type == OP_NULL && (o->op_flags & OPf_SPECIAL)
@@ -1635,11 +2084,12 @@
 	/* FALL THROUGH */
     case OP_ASLICE:
     case OP_HSLICE:
+	localize = 1;
+	/* FALL THROUGH */
+    case OP_AASSIGN:
 	if (type == OP_LEAVESUBLV)
 	    o->op_private |= OPpMAYBE_LVSUB;
-	localize = 1;
 	/* FALL THROUGH */
-    case OP_AASSIGN:
     case OP_NEXTSTATE:
     case OP_DBSTATE:
        PL_modcount = RETURN_UNLIMITED_NUMBER;
@@ -1664,6 +2114,7 @@
 	break;
 
     case OP_AELEMFAST:
+    case OP_AELEMFAST_LEX:
 	localize = -1;
 	PL_modcount++;
 	break;
@@ -1681,8 +2132,8 @@
     case OP_PADSV:
 	PL_modcount++;
 	if (!type) /* local() */
-	    Perl_croak(aTHX_ "Can't localize lexical variable %s",
-		 PAD_COMPNAME_PV(o->op_targ));
+	    Perl_croak(aTHX_ "Can't localize lexical variable %"SVf,
+		 PAD_COMPNAME_SV(o->op_targ));
 	break;
 
     case OP_PUSHMARK:
@@ -1691,7 +2142,7 @@
 
     case OP_KEYS:
     case OP_RKEYS:
-	if (type != OP_SASSIGN)
+	if (type != OP_SASSIGN && type != OP_LEAVESUBLV)
 	    goto nomod;
 	goto lvalue_func;
     case OP_SUBSTR:
@@ -1700,9 +2151,9 @@
 	/* FALL THROUGH */
     case OP_POS:
     case OP_VEC:
+      lvalue_func:
 	if (type == OP_LEAVESUBLV)
 	    o->op_private |= OPpMAYBE_LVSUB;
-      lvalue_func:
 	pad_free(o->op_targ);
 	o->op_targ = pad_alloc(o->op_type, SVs_PADMY);
 	assert(SvTYPE(PAD_SV(o->op_targ)) == SVt_NULL);
@@ -1745,7 +2196,10 @@
     case OP_LIST:
 	localize = 0;
 	for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
-	    op_lvalue(kid, type);
+	    /* elements might be in void context because the list is
+	       in scalar context or because they are attribute sub calls */
+	    if ( (kid->op_flags & OPf_WANT) != OPf_WANT_VOID )
+		op_lvalue(kid, type);
 	break;
 
     case OP_RETURN:
@@ -1752,6 +2206,9 @@
 	if (type != OP_LEAVESUBLV)
 	    goto nomod;
 	break; /* op_lvalue()ing was handled by ck_return() */
+
+    case OP_COREARGS:
+	return o;
     }
 
     /* [20011101.069] File test operators interpret OPf_REF to mean that
@@ -1786,22 +2243,13 @@
     return o;
 }
 
-/* Do not use this. It will be removed after 5.14. */
-OP *
-Perl_mod(pTHX_ OP *o, I32 type)
-{
-    return op_lvalue(o,type);
-}
-
-
 STATIC bool
 S_scalar_mod_type(const OP *o, I32 type)
 {
-    PERL_ARGS_ASSERT_SCALAR_MOD_TYPE;
-
     switch (type) {
+    case OP_POS:
     case OP_SASSIGN:
-	if (o->op_type == OP_RV2GV)
+	if (o && o->op_type == OP_RV2GV)
 	    return FALSE;
 	/* FALL THROUGH */
     case OP_PREINC:
@@ -1894,7 +2342,7 @@
 
     switch (o->op_type) {
     case OP_ENTERSUB:
-	if ((type == OP_EXISTS || type == OP_DEFINED || type == OP_LOCK) &&
+	if ((type == OP_EXISTS || type == OP_DEFINED) &&
 	    !(o->op_flags & OPf_STACKED)) {
 	    o->op_type = OP_RV2CV;             /* entersub => rv2cv */
 	    o->op_ppaddr = PL_ppaddr[OP_RV2CV];
@@ -1903,6 +2351,13 @@
 	    o->op_flags |= OPf_SPECIAL;
 	    o->op_private &= ~1;
 	}
+	else if (type == OP_RV2SV || type == OP_RV2AV || type == OP_RV2HV){
+	    o->op_private |= (type == OP_RV2AV ? OPpDEREF_AV
+			      : type == OP_RV2HV ? OPpDEREF_HV
+			      : OPpDEREF_SV);
+	    o->op_flags |= OPf_MOD;
+	}
+
 	break;
 
     case OP_COND_EXPR:
@@ -1942,7 +2397,7 @@
 
     case OP_SCALAR:
     case OP_NULL:
-	if (!(o->op_flags & OPf_KIDS))
+	if (!(o->op_flags & OPf_KIDS) || type == OP_DEFINED)
 	    break;
 	doref(cBINOPo->op_first, type, set_op_ref);
 	break;
@@ -2006,31 +2461,20 @@
 }
 
 STATIC void
-S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my)
+S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs)
 {
     dVAR;
-    SV *stashsv;
+    SV * const stashsv = stash ? newSVhek(HvNAME_HEK(stash)) : &PL_sv_no;
 
     PERL_ARGS_ASSERT_APPLY_ATTRS;
 
     /* fake up C<use attributes $pkg,$rv, at attrs> */
     ENTER;		/* need to protect against side-effects of 'use' */
-    stashsv = stash ? newSVhek(HvNAME_HEK(stash)) : &PL_sv_no;
 
 #define ATTRSMODULE "attributes"
 #define ATTRSMODULE_PM "attributes.pm"
 
-    if (for_my) {
-	/* Don't force the C<use> if we don't need it. */
-	SV * const * const svp = hv_fetchs(GvHVn(PL_incgv), ATTRSMODULE_PM, FALSE);
-	if (svp && *svp != &PL_sv_undef)
-	    NOOP;	/* already in %INC */
-	else
-	    Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT,
-			     newSVpvs(ATTRSMODULE), NULL);
-    }
-    else {
-	Perl_load_module(aTHX_ PERL_LOADMOD_IMPORT_OPS,
+    Perl_load_module(aTHX_ PERL_LOADMOD_IMPORT_OPS,
 			 newSVpvs(ATTRSMODULE),
 			 NULL,
 			 op_prepend_elem(OP_LIST,
@@ -2039,7 +2483,6 @@
 						   newSVOP(OP_CONST, 0,
 							   newRV(target)),
 						   dup_attrlist(attrs))));
-    }
     LEAVE;
 }
 
@@ -2048,7 +2491,7 @@
 {
     dVAR;
     OP *pack, *imop, *arg;
-    SV *meth, *stashsv;
+    SV *meth, *stashsv, **svp;
 
     PERL_ARGS_ASSERT_APPLY_ATTRS_MY;
 
@@ -2060,7 +2503,15 @@
 	   target->op_type == OP_PADAV);
 
     /* Ensure that attributes.pm is loaded. */
-    apply_attrs(stash, PAD_SV(target->op_targ), attrs, TRUE);
+    ENTER;		/* need to protect against side-effects of 'use' */
+    /* Don't force the C<use> if we don't need it. */
+    svp = hv_fetchs(GvHVn(PL_incgv), ATTRSMODULE_PM, FALSE);
+    if (svp && *svp != &PL_sv_undef)
+	NOOP;	/* already in %INC */
+    else
+	Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT,
+			       newSVpvs(ATTRSMODULE), NULL);
+    LEAVE;
 
     /* Need package name for method call. */
     pack = newSVOP(OP_CONST, 0, newSVpvs(ATTRSMODULE));
@@ -2083,7 +2534,6 @@
 		   op_append_elem(OP_LIST,
 			       op_prepend_elem(OP_LIST, pack, list(arg)),
 			       newSVOP(OP_METHOD_NAMED, 0, meth)));
-    imop->op_private |= OPpENTERSUB_NOMOD;
 
     /* Combine the ops. */
     *imopsp = op_append_elem(OP_LIST, *imopsp, imop);
@@ -2161,12 +2611,9 @@
         OP *kid;
 	for (kid = cLISTOPo->op_first; kid; kid = kid->op_sibling)
 	    my_kid(kid, attrs, imopsp);
-    } else if (type == OP_UNDEF
-#ifdef PERL_MAD
-	       || type == OP_STUB
-#endif
-	       ) {
 	return o;
+    } else if (type == OP_UNDEF || type == OP_STUB) {
+	return o;
     } else if (type == OP_RV2SV ||	/* "our" declaration */
 	       type == OP_RV2AV ||
 	       type == OP_RV2HV) { /* XXX does this let anything illegal in? */
@@ -2184,7 +2631,7 @@
 			(type == OP_RV2SV ? GvSV(gv) :
 			 type == OP_RV2AV ? MUTABLE_SV(GvAV(gv)) :
 			 type == OP_RV2HV ? MUTABLE_SV(GvHV(gv)) : MUTABLE_SV(gv)),
-			attrs, FALSE);
+			attrs);
 	}
 	o->op_private |= OPpOUR_INTRO;
 	return o;
@@ -2248,8 +2695,19 @@
 	    o = scalar(op_append_list(OP_LIST, rops, o));
 	    o->op_private |= OPpLVAL_INTRO;
 	}
-	else
+	else {
+	    /* The listop in rops might have a pushmark at the beginning,
+	       which will mess up list assignment. */
+	    LISTOP * const lrops = (LISTOP *)rops; /* for brevity */
+	    if (rops->op_type == OP_LIST && 
+	        lrops->op_first && lrops->op_first->op_type == OP_PUSHMARK)
+	    {
+		OP * const pushmark = lrops->op_first;
+		lrops->op_first = pushmark->op_sibling;
+		op_free(pushmark);
+	    }
 	    o = op_append_list(OP_LIST, o, rops);
+	}
     }
     PL_parser->in_my = FALSE;
     PL_parser->in_my_stash = NULL;
@@ -2284,11 +2742,28 @@
 		       || rtype == OP_TRANSR
 		       )
 		       ? (int)rtype : OP_MATCH];
-      const char * const sample = ((ltype == OP_RV2AV || ltype == OP_PADAV)
+      const bool isary = ltype == OP_RV2AV || ltype == OP_PADAV;
+      GV *gv;
+      SV * const name =
+       (ltype == OP_RV2AV || ltype == OP_RV2HV)
+        ?    cUNOPx(left)->op_first->op_type == OP_GV
+          && (gv = cGVOPx_gv(cUNOPx(left)->op_first))
+              ? varname(gv, isary ? '@' : '%', 0, NULL, 0, 1)
+              : NULL
+        : varname(
+           (GV *)PL_compcv, isary ? '@' : '%', left->op_targ, NULL, 0, 1
+          );
+      if (name)
+	Perl_warner(aTHX_ packWARN(WARN_MISC),
+             "Applying %s to %"SVf" will act on scalar(%"SVf")",
+             desc, name, name);
+      else {
+	const char * const sample = (isary
 	     ? "@array" : "%hash");
-      Perl_warner(aTHX_ packWARN(WARN_MISC),
+	Perl_warner(aTHX_ packWARN(WARN_MISC),
              "Applying %s to %s will act on scalar(%s)",
              desc, sample, sample);
+      }
     }
 
     if (rtype == OP_CONST &&
@@ -2335,7 +2810,7 @@
     }
     else
 	return bind_match(type, left,
-		pmruntime(newPMOP(OP_MATCH, 0), right, 0));
+		pmruntime(newPMOP(OP_MATCH, 0), right, 0, 0));
 }
 
 OP *
@@ -2365,7 +2840,7 @@
 {
     dVAR;
     if (o) {
-	if (o->op_flags & OPf_PARENS || PERLDB_NOOPT || PL_tainting) {
+	if (o->op_flags & OPf_PARENS || PERLDB_NOOPT || TAINTING_get) {
 	    o = op_prepend_elem(OP_LINESEQ, newOP(OP_ENTER, 0), o);
 	    o->op_type = OP_LEAVE;
 	    o->op_ppaddr = PL_ppaddr[OP_LEAVE];
@@ -2391,6 +2866,18 @@
     return o;
 }
 
+OP *
+Perl_op_unscope(pTHX_ OP *o)
+{
+    if (o && o->op_type == OP_LINESEQ) {
+	OP *kid = cLISTOPo->op_first;
+	for(; kid; kid = kid->op_sibling)
+	    if (kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE)
+		op_null(kid);
+    }
+    return o;
+}
+
 int
 Perl_block_start(pTHX_ int full)
 {
@@ -2414,6 +2901,7 @@
     dVAR;
     const int needblockscope = PL_hints & HINT_BLOCK_SCOPE;
     OP* retval = scalarseq(seq);
+    OP *o;
 
     CALL_BLOCK_HOOKS(bhk_pre_end, &retval);
 
@@ -2421,8 +2909,67 @@
     CopHINTS_set(&PL_compiling, PL_hints);
     if (needblockscope)
 	PL_hints |= HINT_BLOCK_SCOPE; /* propagate out */
-    pad_leavemy();
+    o = pad_leavemy();
 
+    if (o) {
+	/* pad_leavemy has created a sequence of introcv ops for all my
+	   subs declared in the block.  We have to replicate that list with
+	   clonecv ops, to deal with this situation:
+
+	       sub {
+		   my sub s1;
+		   my sub s2;
+		   sub s1 { state sub foo { \&s2 } }
+	       }->()
+
+	   Originally, I was going to have introcv clone the CV and turn
+	   off the stale flag.  Since &s1 is declared before &s2, the
+	   introcv op for &s1 is executed (on sub entry) before the one for
+	   &s2.  But the &foo sub inside &s1 (which is cloned when &s1 is
+	   cloned, since it is a state sub) closes over &s2 and expects
+	   to see it in its outer CV’s pad.  If the introcv op clones &s1,
+	   then &s2 is still marked stale.  Since &s1 is not active, and
+	   &foo closes over &s1’s implicit entry for &s2, we get a ‘Varia-
+	   ble will not stay shared’ warning.  Because it is the same stub
+	   that will be used when the introcv op for &s2 is executed, clos-
+	   ing over it is safe.  Hence, we have to turn off the stale flag
+	   on all lexical subs in the block before we clone any of them.
+	   Hence, having introcv clone the sub cannot work.  So we create a
+	   list of ops like this:
+
+	       lineseq
+		  |
+		  +-- introcv
+		  |
+		  +-- introcv
+		  |
+		  +-- introcv
+		  |
+		  .
+		  .
+		  .
+		  |
+		  +-- clonecv
+		  |
+		  +-- clonecv
+		  |
+		  +-- clonecv
+		  |
+		  .
+		  .
+		  .
+	 */
+	OP *kid = o->op_flags & OPf_KIDS ? cLISTOPo->op_first : o;
+	OP * const last = o->op_flags & OPf_KIDS ? cLISTOPo->op_last : o;
+	for (;; kid = kid->op_sibling) {
+	    OP *newkid = newOP(OP_CLONECV, 0);
+	    newkid->op_targ = kid->op_targ;
+	    o = op_append_elem(OP_LINESEQ, o, newkid);
+	    if (kid == last) break;
+	}
+	retval = op_prepend_elem(OP_LINESEQ, o, retval);
+    }
+
     CALL_BLOCK_HOOKS(bhk_post_end, &retval);
 
     return retval;
@@ -2451,7 +2998,7 @@
 S_newDEFSVOP(pTHX)
 {
     dVAR;
-    const PADOFFSET offset = Perl_pad_findmy(aTHX_ STR_WITH_LEN("$_"), 0);
+    const PADOFFSET offset = pad_findmy_pvs("$_", 0);
     if (offset == NOT_IN_PAD || PAD_COMPNAME_FLAGS_isOUR(offset)) {
 	return newSVREF(newGVOP(OP_GV, 0, PL_defgv));
     }
@@ -2470,22 +3017,64 @@
     PERL_ARGS_ASSERT_NEWPROG;
 
     if (PL_in_eval) {
+	PERL_CONTEXT *cx;
+	I32 i;
 	if (PL_eval_root)
 		return;
 	PL_eval_root = newUNOP(OP_LEAVEEVAL,
 			       ((PL_in_eval & EVAL_KEEPERR)
 				? OPf_SPECIAL : 0), o);
-	/* don't use LINKLIST, since PL_eval_root might indirect through
-	 * a rather expensive function call and LINKLIST evaluates its
-	 * argument more than once */
+
+	cx = &cxstack[cxstack_ix];
+	assert(CxTYPE(cx) == CXt_EVAL);
+
+	if ((cx->blk_gimme & G_WANT) == G_VOID)
+	    scalarvoid(PL_eval_root);
+	else if ((cx->blk_gimme & G_WANT) == G_ARRAY)
+	    list(PL_eval_root);
+	else
+	    scalar(PL_eval_root);
+
 	PL_eval_start = op_linklist(PL_eval_root);
 	PL_eval_root->op_private |= OPpREFCOUNTED;
 	OpREFCNT_set(PL_eval_root, 1);
 	PL_eval_root->op_next = 0;
+	i = PL_savestack_ix;
+	SAVEFREEOP(o);
+	ENTER;
 	CALL_PEEP(PL_eval_start);
+	finalize_optree(PL_eval_root);
+	LEAVE;
+	PL_savestack_ix = i;
     }
     else {
 	if (o->op_type == OP_STUB) {
+            /* This block is entered if nothing is compiled for the main
+               program. This will be the case for an genuinely empty main
+               program, or one which only has BEGIN blocks etc, so already
+               run and freed.
+
+               Historically (5.000) the guard above was !o. However, commit
+               f8a08f7b8bd67b28 (Jun 2001), integrated to blead as
+               c71fccf11fde0068, changed perly.y so that newPROG() is now
+               called with the output of block_end(), which returns a new
+               OP_STUB for the case of an empty optree. ByteLoader (and
+               maybe other things) also take this path, because they set up
+               PL_main_start and PL_main_root directly, without generating an
+               optree.
+
+               If the parsing the main program aborts (due to parse errors,
+               or due to BEGIN or similar calling exit), then newPROG()
+               isn't even called, and hence this code path and its cleanups
+               are skipped. This shouldn't make a make a difference:
+               * a non-zero return from perl_parse is a failure, and
+                 perl_destruct() should be called immediately.
+               * however, if exit(0) is called during the parse, then
+                 perl_parse() returns 0, and perl_run() is called. As
+                 PL_main_start will be NULL, perl_run() will return
+                 promptly, and the exit code will remain 0.
+            */
+
 	    PL_comppad_name = 0;
 	    PL_compcv = 0;
 	    S_op_destroy(aTHX_ o);
@@ -2498,6 +3087,8 @@
 	OpREFCNT_set(PL_main_root, 1);
 	PL_main_root->op_next = 0;
 	CALL_PEEP(PL_main_start);
+	finalize_optree(PL_main_root);
+	cv_forget_slab(PL_compcv);
 	PL_compcv = 0;
 
 	/* Register with debugger */
@@ -2543,10 +3134,10 @@
 
 	    while (1) {
 		if (*s && strchr("@$%*", *s) && *++s
-		       && (isALNUM(*s) || UTF8_IS_CONTINUED(*s))) {
+		       && (isWORDCHAR(*s) || UTF8_IS_CONTINUED(*s))) {
 		    s++;
 		    sigil = TRUE;
-		    while (*s && (isALNUM(*s) || UTF8_IS_CONTINUED(*s)))
+		    while (*s && (isWORDCHAR(*s) || UTF8_IS_CONTINUED(*s)))
 			s++;
 		    while (*s && (strchr(", \t\n", *s)))
 			s++;
@@ -2589,11 +3180,47 @@
     return o;
 }
 
+PERL_STATIC_INLINE OP *
+S_op_std_init(pTHX_ OP *o)
+{
+    I32 type = o->op_type;
+
+    PERL_ARGS_ASSERT_OP_STD_INIT;
+
+    if (PL_opargs[type] & OA_RETSCALAR)
+	scalar(o);
+    if (PL_opargs[type] & OA_TARGET && !o->op_targ)
+	o->op_targ = pad_alloc(type, SVs_PADTMP);
+
+    return o;
+}
+
+PERL_STATIC_INLINE OP *
+S_op_integerize(pTHX_ OP *o)
+{
+    I32 type = o->op_type;
+
+    PERL_ARGS_ASSERT_OP_INTEGERIZE;
+
+    /* integerize op. */
+    if ((PL_opargs[type] & OA_OTHERINT) && (PL_hints & HINT_INTEGER))
+    {
+	dVAR;
+	o->op_ppaddr = PL_ppaddr[type = ++(o->op_type)];
+    }
+
+    if (type == OP_NEGATE)
+	/* XXX might want a ck_negate() for this */
+	cUNOPo->op_first->op_private &= ~OPpCONST_STRICT;
+
+    return o;
+}
+
 static OP *
-S_fold_constants(pTHX_ register OP *o)
+S_fold_constants(pTHX_ OP *o)
 {
     dVAR;
-    register OP * VOL curop;
+    OP * VOL curop;
     OP *newop;
     VOL I32 type = o->op_type;
     SV * VOL sv = NULL;
@@ -2607,28 +3234,10 @@
 
     PERL_ARGS_ASSERT_FOLD_CONSTANTS;
 
-    if (PL_opargs[type] & OA_RETSCALAR)
-	scalar(o);
-    if (PL_opargs[type] & OA_TARGET && !o->op_targ)
-	o->op_targ = pad_alloc(type, SVs_PADTMP);
-
-    /* integerize op, unless it happens to be C<-foo>.
-     * XXX should pp_i_negate() do magic string negation instead? */
-    if ((PL_opargs[type] & OA_OTHERINT) && (PL_hints & HINT_INTEGER)
-	&& !(type == OP_NEGATE && cUNOPo->op_first->op_type == OP_CONST
-	     && (cUNOPo->op_first->op_private & OPpCONST_BARE)))
-    {
-	o->op_ppaddr = PL_ppaddr[type = ++(o->op_type)];
-    }
-
     if (!(PL_opargs[type] & OA_FOLDCONST))
 	goto nope;
 
     switch (type) {
-    case OP_NEGATE:
-	/* XXX might want a ck_negate() for this */
-	cUNOPo->op_first->op_private &= ~OPpCONST_STRICT;
-	break;
     case OP_UCFIRST:
     case OP_LCFIRST:
     case OP_UC:
@@ -2640,9 +3249,27 @@
     case OP_SCMP:
     case OP_SPRINTF:
 	/* XXX what about the numeric ops? */
-	if (PL_hints & HINT_LOCALE)
+	if (IN_LOCALE_COMPILETIME)
 	    goto nope;
 	break;
+    case OP_PACK:
+	if (!cLISTOPo->op_first->op_sibling
+	  || cLISTOPo->op_first->op_sibling->op_type != OP_CONST)
+	    goto nope;
+	{
+	    SV * const sv = cSVOPx_sv(cLISTOPo->op_first->op_sibling);
+	    if (!SvPOK(sv) || SvGMAGICAL(sv)) goto nope;
+	    {
+		const char *s = SvPVX_const(sv);
+		while (s < SvEND(sv)) {
+		    if (*s == 'p' || *s == 'P') goto nope;
+		    s++;
+		}
+	    }
+	}
+	break;
+    case OP_REPEAT:
+	if (o->op_private & OPpREPEAT_DOLIST) goto nope;
     }
 
     if (PL_parser && PL_parser->error_count)
@@ -2683,8 +3310,16 @@
     case 0:
 	CALLRUNOPS(aTHX);
 	sv = *(PL_stack_sp--);
-	if (o->op_targ && sv == PAD_SV(o->op_targ))	/* grab pad temp? */
+	if (o->op_targ && sv == PAD_SV(o->op_targ)) {	/* grab pad temp? */
+#ifdef PERL_MAD
+	    /* Can't simply swipe the SV from the pad, because that relies on
+	       the op being freed "real soon now". Under MAD, this doesn't
+	       happen (see the #ifdef below).  */
+	    sv = newSVsv(sv);
+#else
 	    pad_swipe(o->op_targ,  FALSE);
+#endif
+	}
 	else if (SvTEMP(sv)) {			/* grab mortal temp? */
 	    SvREFCNT_inc_simple_void(sv);
 	    SvTEMP_off(sv);
@@ -2723,7 +3358,7 @@
     if (type == OP_RV2GV)
 	newop = newGVOP(OP_GV, 0, MUTABLE_GV(sv));
     else
-	newop = newSVOP(OP_CONST, 0, MUTABLE_SV(sv));
+	newop = newSVOP(OP_CONST, OPpCONST_FOLDED<<8, MUTABLE_SV(sv));
     op_getmad(o,newop,'f');
     return newop;
 
@@ -2732,10 +3367,10 @@
 }
 
 static OP *
-S_gen_constant_list(pTHX_ register OP *o)
+S_gen_constant_list(pTHX_ OP *o)
 {
     dVAR;
-    register OP *curop;
+    OP *curop;
     const I32 oldtmps_floor = PL_tmps_floor;
 
     list(o);
@@ -2773,6 +3408,7 @@
 Perl_convert(pTHX_ I32 type, I32 flags, OP *o)
 {
     dVAR;
+    if (type < 0) type = -type, flags |= OPf_SPECIAL;
     if (!o || o->op_type != OP_LIST)
 	o = newLISTOP(OP_LIST, 0, o, NULL);
     else
@@ -2780,6 +3416,13 @@
 
     if (!(PL_opargs[type] & OA_MARK))
 	op_null(cLISTOPo->op_first);
+    else {
+	OP * const kid2 = cLISTOPo->op_first->op_sibling;
+	if (kid2 && kid2->op_type == OP_COREARGS) {
+	    op_null(cLISTOPo->op_first);
+	    kid2->op_private |= OPpCOREARGS_PUSHMARK;
+	}
+    }	
 
     o->op_type = (OPCODE)type;
     o->op_ppaddr = PL_ppaddr[type];
@@ -2789,7 +3432,7 @@
     if (o->op_type != (unsigned)type)
 	return o;
 
-    return fold_constants(o);
+    return fold_constants(op_integerize(op_std_init(o)));
 }
 
 /*
@@ -3139,8 +3782,7 @@
 MADPROP *
 Perl_newMADPROP(pTHX_ char key, char type, void* val, I32 vlen)
 {
-    MADPROP *mp;
-    Newxz(mp, 1, MADPROP);
+    MADPROP *const mp = (MADPROP *) PerlMemShared_malloc(sizeof(MADPROP));
     mp->mad_next = 0;
     mp->mad_key = key;
     mp->mad_vlen = vlen;
@@ -3164,7 +3806,7 @@
     case MAD_NULL:
 	break;
     case MAD_PV:
-	Safefree((char*)mp->mad_val);
+	Safefree(mp->mad_val);
 	break;
     case MAD_OP:
 	if (mp->mad_vlen)	/* vlen holds "strong/weak" boolean */
@@ -3177,7 +3819,7 @@
 	PerlIO_printf(PerlIO_stderr(), "Unrecognized mad\n");
 	break;
     }
-    Safefree(mp);
+    PerlMemShared_free(mp);
 }
 
 #endif
@@ -3273,6 +3915,11 @@
     dVAR;
     OP *o;
 
+    if (type == -OP_ENTEREVAL) {
+	type = OP_ENTEREVAL;
+	flags |= OPpEVAL_BYTES<<8;
+    }
+
     assert((PL_opargs[type] & OA_CLASS_MASK) == OA_BASEOP
 	|| (PL_opargs[type] & OA_CLASS_MASK) == OA_BASEOP_OR_UNOP
 	|| (PL_opargs[type] & OA_CLASS_MASK) == OA_FILESTATOP
@@ -3282,9 +3929,6 @@
     o->op_type = (OPCODE)type;
     o->op_ppaddr = PL_ppaddr[type];
     o->op_flags = (U8)flags;
-    o->op_latefree = 0;
-    o->op_latefreed = 0;
-    o->op_attached = 0;
 
     o->op_next = o;
     o->op_private = (U8)(0 | (flags >> 8));
@@ -3315,6 +3959,11 @@
     dVAR;
     UNOP *unop;
 
+    if (type == -OP_ENTEREVAL) {
+	type = OP_ENTEREVAL;
+	flags |= OPpEVAL_BYTES<<8;
+    }
+
     assert((PL_opargs[type] & OA_CLASS_MASK) == OA_UNOP
 	|| (PL_opargs[type] & OA_CLASS_MASK) == OA_BASEOP_OR_UNOP
 	|| (PL_opargs[type] & OA_CLASS_MASK) == OA_FILESTATOP
@@ -3338,7 +3987,7 @@
     if (unop->op_next)
 	return (OP*)unop;
 
-    return fold_constants((OP *) unop);
+    return fold_constants(op_integerize(op_std_init((OP *) unop)));
 }
 
 /*
@@ -3388,7 +4037,7 @@
 
     binop->op_last = binop->op_first->op_sibling;
 
-    return fold_constants((OP *)binop);
+    return fold_constants(op_integerize(op_std_init((OP *)binop)));
 }
 
 static int uvcompare(const void *a, const void *b)
@@ -3423,10 +4072,10 @@
     STRLEN rlen;
     const U8 *t = (U8*)SvPV_const(tstr, tlen);
     const U8 *r = (U8*)SvPV_const(rstr, rlen);
-    register I32 i;
-    register I32 j;
+    I32 i;
+    I32 j;
     I32 grows = 0;
-    register short *tbl;
+    short *tbl;
 
     const I32 complement = o->op_private & OPpTRANS_COMPLEMENT;
     const I32 squash     = o->op_private & OPpTRANS_SQUASH;
@@ -3627,9 +4276,6 @@
 	else
 	    bits = 8;
 
-	PerlMemShared_free(cPVOPo->op_pv);
-	cPVOPo->op_pv = NULL;
-
 	swash = MUTABLE_SV(swash_init("utf8", "", listsv, bits, none));
 #ifdef USE_ITHREADS
 	cPADOPo->op_padix = pad_alloc(OP_TRANS, SVs_PADTMP);
@@ -3663,9 +4309,12 @@
 	return o;
     }
 
-    tbl = (short*)cPVOPo->op_pv;
+    tbl = (short*)PerlMemShared_calloc(
+	(o->op_private & OPpTRANS_COMPLEMENT) &&
+	    !(o->op_private & OPpTRANS_DELETE) ? 258 : 256,
+	sizeof(short));
+    cPVOPo->op_pv = (char*)tbl;
     if (complement) {
-	Zero(tbl, 256, short);
 	for (i = 0; i < (I32)tlen; i++)
 	    tbl[t[i]] = -1;
 	for (i = 0, j = 0; i < 256; i++) {
@@ -3778,10 +4427,13 @@
 
     if (PL_hints & HINT_RE_TAINT)
 	pmop->op_pmflags |= PMf_RETAINT;
-    if (PL_hints & HINT_LOCALE) {
+    if (IN_LOCALE_COMPILETIME) {
 	set_regex_charset(&(pmop->op_pmflags), REGEX_LOCALE_CHARSET);
     }
-    else if ((! (PL_hints & HINT_BYTES)) && (PL_hints & HINT_UNI_8_BIT)) {
+    else if ((! (PL_hints & HINT_BYTES))
+                /* Both UNI_8_BIT and locale :not_characters imply Unicode */
+	     && (PL_hints & (HINT_UNI_8_BIT|HINT_LOCALE_NOT_CHARS)))
+    {
 	set_regex_charset(&(pmop->op_pmflags), REGEX_UNICODE_CHARSET);
     }
     if (PL_hints & HINT_RE_FLAGS) {
@@ -3834,10 +4486,14 @@
  * split "pattern", which aren't. In the former case, expr will be a list
  * if the pattern contains more than one term (eg /a$b/) or if it contains
  * a replacement, ie s/// or tr///.
+ *
+ * When the pattern has been compiled within a new anon CV (for
+ * qr/(?{...})/ ), then floor indicates the savestack level just before
+ * the new sub was created
  */
 
 OP *
-Perl_pmruntime(pTHX_ OP *o, OP *expr, bool isreg)
+Perl_pmruntime(pTHX_ OP *o, OP *expr, bool isreg, I32 floor)
 {
     dVAR;
     PMOP *pm;
@@ -3844,15 +4500,15 @@
     LOGOP *rcop;
     I32 repl_has_vars = 0;
     OP* repl = NULL;
-    bool reglist;
+    bool is_trans = (o->op_type == OP_TRANS || o->op_type == OP_TRANSR);
+    bool is_compiletime;
+    bool has_code;
 
     PERL_ARGS_ASSERT_PMRUNTIME;
 
-    if (
-        o->op_type == OP_SUBST
-     || o->op_type == OP_TRANS || o->op_type == OP_TRANSR
-    ) {
-	/* last element in list is the replacement; pop it */
+    /* for s/// and tr///, last element in list is the replacement; pop it */
+
+    if (is_trans || o->op_type == OP_SUBST) {
 	OP* kid;
 	repl = cLISTOPx(expr)->op_last;
 	kid = cLISTOPx(expr)->op_first;
@@ -3862,61 +4518,244 @@
 	cLISTOPx(expr)->op_last = kid;
     }
 
-    if (isreg && expr->op_type == OP_LIST &&
-	cLISTOPx(expr)->op_first->op_sibling == cLISTOPx(expr)->op_last)
-    {
-	/* convert single element list to element */
+    /* for TRANS, convert LIST/PUSH/CONST into CONST, and pass to pmtrans() */
+
+    if (is_trans) {
 	OP* const oe = expr;
-	expr = cLISTOPx(oe)->op_first->op_sibling;
+	assert(expr->op_type == OP_LIST);
+	assert(cLISTOPx(expr)->op_first->op_type == OP_PUSHMARK);
+	assert(cLISTOPx(expr)->op_first->op_sibling == cLISTOPx(expr)->op_last);
+	expr = cLISTOPx(oe)->op_last;
 	cLISTOPx(oe)->op_first->op_sibling = NULL;
 	cLISTOPx(oe)->op_last = NULL;
 	op_free(oe);
-    }
 
-    if (o->op_type == OP_TRANS || o->op_type == OP_TRANSR) {
 	return pmtrans(o, expr, repl);
     }
 
-    reglist = isreg && expr->op_type == OP_LIST;
-    if (reglist)
-	op_null(expr);
+    /* find whether we have any runtime or code elements;
+     * at the same time, temporarily set the op_next of each DO block;
+     * then when we LINKLIST, this will cause the DO blocks to be excluded
+     * from the op_next chain (and from having LINKLIST recursively
+     * applied to them). We fix up the DOs specially later */
 
+    is_compiletime = 1;
+    has_code = 0;
+    if (expr->op_type == OP_LIST) {
+	OP *o;
+	for (o = cLISTOPx(expr)->op_first; o; o = o->op_sibling) {
+	    if (o->op_type == OP_NULL && (o->op_flags & OPf_SPECIAL)) {
+		has_code = 1;
+		assert(!o->op_next && o->op_sibling);
+		o->op_next = o->op_sibling;
+	    }
+	    else if (o->op_type != OP_CONST && o->op_type != OP_PUSHMARK)
+		is_compiletime = 0;
+	}
+    }
+    else if (expr->op_type != OP_CONST)
+	is_compiletime = 0;
+
+    LINKLIST(expr);
+
+    /* fix up DO blocks; treat each one as a separate little sub;
+     * also, mark any arrays as LIST/REF */
+
+    if (expr->op_type == OP_LIST) {
+	OP *o;
+	for (o = cLISTOPx(expr)->op_first; o; o = o->op_sibling) {
+
+            if (o->op_type == OP_PADAV || o->op_type == OP_RV2AV) {
+                assert( !(o->op_flags  & OPf_WANT));
+                /* push the array rather than its contents. The regex
+                 * engine will retrieve and join the elements later */
+                o->op_flags |= (OPf_WANT_LIST | OPf_REF);
+                continue;
+            }
+
+	    if (!(o->op_type == OP_NULL && (o->op_flags & OPf_SPECIAL)))
+		continue;
+	    o->op_next = NULL; /* undo temporary hack from above */
+	    scalar(o);
+	    LINKLIST(o);
+	    if (cLISTOPo->op_first->op_type == OP_LEAVE) {
+		LISTOP *leaveop = cLISTOPx(cLISTOPo->op_first);
+		/* skip ENTER */
+		assert(leaveop->op_first->op_type == OP_ENTER);
+		assert(leaveop->op_first->op_sibling);
+		o->op_next = leaveop->op_first->op_sibling;
+		/* skip leave */
+		assert(leaveop->op_flags & OPf_KIDS);
+		assert(leaveop->op_last->op_next == (OP*)leaveop);
+		leaveop->op_next = NULL; /* stop on last op */
+		op_null((OP*)leaveop);
+	    }
+	    else {
+		/* skip SCOPE */
+		OP *scope = cLISTOPo->op_first;
+		assert(scope->op_type == OP_SCOPE);
+		assert(scope->op_flags & OPf_KIDS);
+		scope->op_next = NULL; /* stop on last op */
+		op_null(scope);
+	    }
+	    /* have to peep the DOs individually as we've removed it from
+	     * the op_next chain */
+	    CALL_PEEP(o);
+	    if (is_compiletime)
+		/* runtime finalizes as part of finalizing whole tree */
+		finalize_optree(o);
+	}
+    }
+    else if (expr->op_type == OP_PADAV || expr->op_type == OP_RV2AV) {
+        assert( !(expr->op_flags  & OPf_WANT));
+        /* push the array rather than its contents. The regex
+         * engine will retrieve and join the elements later */
+        expr->op_flags |= (OPf_WANT_LIST | OPf_REF);
+    }
+
     PL_hints |= HINT_BLOCK_SCOPE;
     pm = (PMOP*)o;
+    assert(floor==0 || (pm->op_pmflags & PMf_HAS_CV));
 
-    if (expr->op_type == OP_CONST) {
-	SV *pat = ((SVOP*)expr)->op_sv;
-	U32 pm_flags = pm->op_pmflags & RXf_PMf_COMPILETIME;
+    if (is_compiletime) {
+	U32 rx_flags = pm->op_pmflags & RXf_PMf_COMPILETIME;
+	regexp_engine const *eng = current_re_engine();
 
-	if (o->op_flags & OPf_SPECIAL)
-	    pm_flags |= RXf_SPLIT;
+        if (o->op_flags & OPf_SPECIAL)
+            rx_flags |= RXf_SPLIT;
 
-	if (DO_UTF8(pat)) {
-	    assert (SvUTF8(pat));
-	} else if (SvUTF8(pat)) {
-	    /* Not doing UTF-8, despite what the SV says. Is this only if we're
-	       trapped in use 'bytes'?  */
-	    /* Make a copy of the octet sequence, but without the flag on, as
-	       the compiler now honours the SvUTF8 flag on pat.  */
-	    STRLEN len;
-	    const char *const p = SvPV(pat, len);
-	    pat = newSVpvn_flags(p, len, SVs_TEMP);
-	}
+	if (!has_code || !eng->op_comp) {
+	    /* compile-time simple constant pattern */
 
-	PM_SETRE(pm, CALLREGCOMP(pat, pm_flags));
+	    if ((pm->op_pmflags & PMf_HAS_CV) && !has_code) {
+		/* whoops! we guessed that a qr// had a code block, but we
+		 * were wrong (e.g. /[(?{}]/ ). Throw away the PL_compcv
+		 * that isn't required now. Note that we have to be pretty
+		 * confident that nothing used that CV's pad while the
+		 * regex was parsed */
+		assert(AvFILLp(PL_comppad) == 0); /* just @_ */
+		/* But we know that one op is using this CV's slab. */
+		cv_forget_slab(PL_compcv);
+		LEAVE_SCOPE(floor);
+		pm->op_pmflags &= ~PMf_HAS_CV;
+	    }
 
+	    PM_SETRE(pm,
+		eng->op_comp
+		    ? eng->op_comp(aTHX_ NULL, 0, expr, eng, NULL, NULL,
+					rx_flags, pm->op_pmflags)
+		    : Perl_re_op_compile(aTHX_ NULL, 0, expr, eng, NULL, NULL,
+					rx_flags, pm->op_pmflags)
+	    );
 #ifdef PERL_MAD
-	op_getmad(expr,(OP*)pm,'e');
+	    op_getmad(expr,(OP*)pm,'e');
 #else
-	op_free(expr);
+	    op_free(expr);
 #endif
+	}
+	else {
+	    /* compile-time pattern that includes literal code blocks */
+	    REGEXP* re = eng->op_comp(aTHX_ NULL, 0, expr, eng, NULL, NULL,
+			rx_flags,
+			(pm->op_pmflags |
+			    ((PL_hints & HINT_RE_EVAL) ? PMf_USE_RE_EVAL : 0))
+		    );
+	    PM_SETRE(pm, re);
+	    if (pm->op_pmflags & PMf_HAS_CV) {
+		CV *cv;
+		/* this QR op (and the anon sub we embed it in) is never
+		 * actually executed. It's just a placeholder where we can
+		 * squirrel away expr in op_code_list without the peephole
+		 * optimiser etc processing it for a second time */
+		OP *qr = newPMOP(OP_QR, 0);
+		((PMOP*)qr)->op_code_list = expr;
+
+		/* handle the implicit sub{} wrapped round the qr/(?{..})/ */
+		SvREFCNT_inc_simple_void(PL_compcv);
+		cv = newATTRSUB(floor, 0, NULL, NULL, qr);
+		ReANY(re)->qr_anoncv = cv;
+
+		/* attach the anon CV to the pad so that
+		 * pad_fixup_inner_anons() can find it */
+		(void)pad_add_anon(cv, o->op_type);
+		SvREFCNT_inc_simple_void(cv);
+	    }
+	    else {
+		pm->op_code_list = expr;
+	    }
+	}
     }
     else {
-	if (pm->op_pmflags & PMf_KEEP || !(PL_hints & HINT_RE_EVAL))
-	    expr = newUNOP((!(PL_hints & HINT_RE_EVAL)
-			    ? OP_REGCRESET
-			    : OP_REGCMAYBE),0,expr);
+	/* runtime pattern: build chain of regcomp etc ops */
+	bool reglist;
+	PADOFFSET cv_targ = 0;
 
+	reglist = isreg && expr->op_type == OP_LIST;
+	if (reglist)
+	    op_null(expr);
+
+	if (has_code) {
+	    pm->op_code_list = expr;
+	    /* don't free op_code_list; its ops are embedded elsewhere too */
+	    pm->op_pmflags |= PMf_CODELIST_PRIVATE;
+	}
+
+        if (o->op_flags & OPf_SPECIAL)
+            pm->op_pmflags |= PMf_SPLIT;
+
+	/* the OP_REGCMAYBE is a placeholder in the non-threaded case
+	 * to allow its op_next to be pointed past the regcomp and
+	 * preceding stacking ops;
+	 * OP_REGCRESET is there to reset taint before executing the
+	 * stacking ops */
+	if (pm->op_pmflags & PMf_KEEP || TAINTING_get)
+	    expr = newUNOP((TAINTING_get ? OP_REGCRESET : OP_REGCMAYBE),0,expr);
+
+	if (pm->op_pmflags & PMf_HAS_CV) {
+	    /* we have a runtime qr with literal code. This means
+	     * that the qr// has been wrapped in a new CV, which
+	     * means that runtime consts, vars etc will have been compiled
+	     * against a new pad. So... we need to execute those ops
+	     * within the environment of the new CV. So wrap them in a call
+	     * to a new anon sub. i.e. for
+	     *
+	     *     qr/a$b(?{...})/,
+	     *
+	     * we build an anon sub that looks like
+	     *
+	     *     sub { "a", $b, '(?{...})' }
+	     *
+	     * and call it, passing the returned list to regcomp.
+	     * Or to put it another way, the list of ops that get executed
+	     * are:
+	     *
+	     *     normal              PMf_HAS_CV
+	     *     ------              -------------------
+	     *                         pushmark (for regcomp)
+	     *                         pushmark (for entersub)
+	     *                         pushmark (for refgen)
+	     *                         anoncode
+	     *                         refgen
+	     *                         entersub
+	     *     regcreset                  regcreset
+	     *     pushmark                   pushmark
+	     *     const("a")                 const("a")
+	     *     gvsv(b)                    gvsv(b)
+	     *     const("(?{...})")          const("(?{...})")
+	     *                                leavesub
+	     *     regcomp             regcomp
+	     */
+
+	    SvREFCNT_inc_simple_void(PL_compcv);
+	    /* these lines are just an unrolled newANONATTRSUB */
+	    expr = newSVOP(OP_ANONCODE, 0,
+		    MUTABLE_SV(newATTRSUB(floor, 0, NULL, NULL, expr)));
+	    cv_targ = expr->op_targ;
+	    expr = newUNOP(OP_REFGEN, 0, expr);
+
+	    expr = list(force_list(newUNOP(OP_ENTERSUB, 0, scalar(expr))));
+	}
+
 	NewOp(1101, rcop, 1, LOGOP);
 	rcop->op_type = OP_REGCOMP;
 	rcop->op_ppaddr = PL_ppaddr[OP_REGCOMP];
@@ -3924,16 +4763,15 @@
 	rcop->op_flags |= OPf_KIDS
 			    | ((PL_hints & HINT_RE_EVAL) ? OPf_SPECIAL : 0)
 			    | (reglist ? OPf_STACKED : 0);
-	rcop->op_private = 1;
+	rcop->op_private = 0;
 	rcop->op_other = o;
-	if (reglist)
-	    rcop->op_targ = pad_alloc(rcop->op_type, SVs_PADTMP);
+	rcop->op_targ = cv_targ;
 
 	/* /$x/ may cause an eval, since $x might be qr/(?{..})/  */
 	if (PL_hints & HINT_RE_EVAL) PL_cv_has_eval = 1;
 
 	/* establish postfix order */
-	if (pm->op_pmflags & PMf_KEEP || !(PL_hints & HINT_RE_EVAL)) {
+	if (expr->op_type == OP_REGCRESET || expr->op_type == OP_REGCMAYBE) {
 	    LINKLIST(expr);
 	    rcop->op_next = expr;
 	    ((UNOP*)expr)->op_first->op_next = (OP*)rcop;
@@ -3947,53 +4785,42 @@
     }
 
     if (repl) {
-	OP *curop;
+	OP *curop = repl;
+	bool konst;
 	if (pm->op_pmflags & PMf_EVAL) {
-	    curop = NULL;
 	    if (CopLINE(PL_curcop) < (line_t)PL_parser->multi_end)
 		CopLINE_set(PL_curcop, (line_t)PL_parser->multi_end);
 	}
-	else if (repl->op_type == OP_CONST)
-	    curop = repl;
-	else {
-	    OP *lastop = NULL;
-	    for (curop = LINKLIST(repl); curop!=repl; curop = LINKLIST(curop)) {
-		if (curop->op_type == OP_SCOPE
-			|| curop->op_type == OP_LEAVE
-			|| (PL_opargs[curop->op_type] & OA_DANGEROUS)) {
-		    if (curop->op_type == OP_GV) {
-			GV * const gv = cGVOPx_gv(curop);
-			repl_has_vars = 1;
-			if (strchr("&`'123456789+-\016\022", *GvENAME(gv)))
-			    break;
-		    }
-		    else if (curop->op_type == OP_RV2CV)
-			break;
-		    else if (curop->op_type == OP_RV2SV ||
-			     curop->op_type == OP_RV2AV ||
-			     curop->op_type == OP_RV2HV ||
-			     curop->op_type == OP_RV2GV) {
-			if (lastop && lastop->op_type != OP_GV)	/*funny deref?*/
-			    break;
-		    }
-		    else if (curop->op_type == OP_PADSV ||
-			     curop->op_type == OP_PADAV ||
-			     curop->op_type == OP_PADHV ||
-			     curop->op_type == OP_PADANY)
-		    {
-			repl_has_vars = 1;
-		    }
-		    else if (curop->op_type == OP_PUSHRE)
-			NOOP; /* Okay here, dangerous in newASSIGNOP */
-		    else
-			break;
-		}
-		lastop = curop;
-	    }
+	/* If we are looking at s//.../e with a single statement, get past
+	   the implicit do{}. */
+	if (curop->op_type == OP_NULL && curop->op_flags & OPf_KIDS
+	 && cUNOPx(curop)->op_first->op_type == OP_SCOPE
+	 && cUNOPx(curop)->op_first->op_flags & OPf_KIDS) {
+	    OP *kid = cUNOPx(cUNOPx(curop)->op_first)->op_first;
+	    if (kid->op_type == OP_NULL && kid->op_sibling
+	     && !kid->op_sibling->op_sibling)
+		curop = kid->op_sibling;
 	}
-	if (curop == repl
+	if (curop->op_type == OP_CONST)
+	    konst = TRUE;
+	else if (( (curop->op_type == OP_RV2SV ||
+		    curop->op_type == OP_RV2AV ||
+		    curop->op_type == OP_RV2HV ||
+		    curop->op_type == OP_RV2GV)
+		   && cUNOPx(curop)->op_first
+		   && cUNOPx(curop)->op_first->op_type == OP_GV )
+		|| curop->op_type == OP_PADSV
+		|| curop->op_type == OP_PADAV
+		|| curop->op_type == OP_PADHV
+		|| curop->op_type == OP_PADANY) {
+	    repl_has_vars = 1;
+	    konst = TRUE;
+	}
+	else konst = FALSE;
+	if (konst
 	    && !(repl_has_vars
 		 && (!PM_GETRE(pm)
+		     || !RX_PRELEN(PM_GETRE(pm))
 		     || RX_EXTFLAGS(PM_GETRE(pm)) & RXf_EVAL_SEEN)))
 	{
 	    pm->op_pmflags |= PMf_CONST;	/* const for long enough */
@@ -4000,9 +4827,6 @@
 	    op_prepend_elem(o->op_type, scalar(repl), o);
 	}
 	else {
-	    if (curop == repl && !PM_GETRE(pm)) { /* Has variables. */
-		pm->op_pmflags |= PMf_MAYBE_CONST;
-	    }
 	    NewOp(1101, rcop, 1, LOGOP);
 	    rcop->op_type = OP_SUBSTCONT;
 	    rcop->op_ppaddr = PL_ppaddr[OP_SUBSTCONT];
@@ -4054,6 +4878,7 @@
     svop->op_sv = sv;
     svop->op_next = (OP*)svop;
     svop->op_flags = (U8)flags;
+    svop->op_private = (U8)(0 | (flags >> 8));
     if (PL_opargs[type] & OA_RETSCALAR)
 	scalar((OP*)svop);
     if (PL_opargs[type] & OA_TARGET)
@@ -4151,9 +4976,13 @@
 Perl_newPVOP(pTHX_ I32 type, I32 flags, char *pv)
 {
     dVAR;
+    const bool utf8 = cBOOL(flags & SVf_UTF8);
     PVOP *pvop;
 
+    flags &= ~SVf_UTF8;
+
     assert((PL_opargs[type] & OA_CLASS_MASK) == OA_PVOP_OR_SVOP
+	|| type == OP_RUNCV
 	|| (PL_opargs[type] & OA_CLASS_MASK) == OA_LOOPEXOP);
 
     NewOp(1101, pvop, 1, PVOP);
@@ -4162,6 +4991,7 @@
     pvop->op_pv = pv;
     pvop->op_next = (OP*)pvop;
     pvop->op_flags = (U8)flags;
+    pvop->op_private = utf8 ? OPpPV_IS_UTF8 : 0;
     if (PL_opargs[type] & OA_RETSCALAR)
 	scalar((OP*)pvop);
     if (PL_opargs[type] & OA_TARGET)
@@ -4184,10 +5014,10 @@
 
     PERL_ARGS_ASSERT_PACKAGE;
 
-    save_hptr(&PL_curstash);
+    SAVEGENERICSV(PL_curstash);
     save_item(PL_curstname);
 
-    PL_curstash = gv_stashsv(sv, GV_ADD);
+    PL_curstash = (HV *)SvREFCNT_inc(gv_stashsv(sv, GV_ADD));
 
     sv_setsv(PL_curstname, sv);
 
@@ -4233,7 +5063,7 @@
     OP *imop;
     OP *veop;
 #ifdef PERL_MAD
-    OP *pegop = newOP(OP_NULL,0);
+    OP *pegop = PL_madskills ? newOP(OP_NULL,0) : NULL;
 #endif
     SV *use_version = NULL;
 
@@ -4317,23 +5147,30 @@
 	    newSTATEOP(0, NULL, imop) ));
 
     if (use_version) {
-	/* If we request a version >= 5.9.5, load feature.pm with the
+	/* Enable the
 	 * feature bundle that corresponds to the required version. */
 	use_version = sv_2mortal(new_version(use_version));
+	S_enable_feature_bundle(aTHX_ use_version);
 
-	if (vcmp(use_version,
-		 sv_2mortal(upg_version(newSVnv(5.009005), FALSE))) >= 0) {
-	    SV *const importsv = vnormal(use_version);
-	    *SvPVX_mutable(importsv) = ':';
-	    ENTER_with_name("load_feature");
-	    Perl_load_module(aTHX_ 0, newSVpvs("feature"), NULL, importsv, NULL);
-	    LEAVE_with_name("load_feature");
-	}
 	/* If a version >= 5.11.0 is requested, strictures are on by default! */
 	if (vcmp(use_version,
 		 sv_2mortal(upg_version(newSVnv(5.011000), FALSE))) >= 0) {
-	    PL_hints |= (HINT_STRICT_REFS | HINT_STRICT_SUBS | HINT_STRICT_VARS);
+	    if (!(PL_hints & HINT_EXPLICIT_STRICT_REFS))
+		PL_hints |= HINT_STRICT_REFS;
+	    if (!(PL_hints & HINT_EXPLICIT_STRICT_SUBS))
+		PL_hints |= HINT_STRICT_SUBS;
+	    if (!(PL_hints & HINT_EXPLICIT_STRICT_VARS))
+		PL_hints |= HINT_STRICT_VARS;
 	}
+	/* otherwise they are off */
+	else {
+	    if (!(PL_hints & HINT_EXPLICIT_STRICT_REFS))
+		PL_hints &= ~HINT_STRICT_REFS;
+	    if (!(PL_hints & HINT_EXPLICIT_STRICT_SUBS))
+		PL_hints &= ~HINT_STRICT_SUBS;
+	    if (!(PL_hints & HINT_EXPLICIT_STRICT_VARS))
+		PL_hints &= ~HINT_STRICT_VARS;
+	}
     }
 
     /* The "did you use incorrect case?" warning used to be here.
@@ -4361,11 +5198,6 @@
 	PL_cop_seqmax++;
 
 #ifdef PERL_MAD
-    if (!PL_madskills) {
-	/* FIXME - don't allocate pegop if !PL_madskills */
-	op_free(pegop);
-	return NULL;
-    }
     return pegop;
 #endif
 }
@@ -4379,7 +5211,7 @@
 Note that the actual module name, not its filename, should be given.
 Eg, "Foo::Bar" instead of "Foo/Bar.pm".  flags can be any of
 PERL_LOADMOD_DENY, PERL_LOADMOD_NOIMPORT, or PERL_LOADMOD_IMPORT_OPS
-(or 0 for no flags). ver, if specified, provides version semantics
+(or 0 for no flags). ver, if specified and not NULL, provides version semantics
 similar to C<use Foo::Bar VERSION>.  The optional trailing SV*
 arguments can be used to specify arguments to the module's import()
 method, similar to C<use Foo::Bar VERSION LIST>.  They must be
@@ -4388,6 +5220,8 @@
 Otherwise at least a single NULL pointer to designate the default
 import list is required.
 
+The reference count for each specified C<SV*> parameter is decremented.
+
 =cut */
 
 void
@@ -4478,10 +5312,10 @@
     }
 
     if (gv && GvCVu(gv) && GvIMPORTED_CV(gv)) {
-	doop = ck_subr(newUNOP(OP_ENTERSUB, OPf_STACKED,
+	doop = newUNOP(OP_ENTERSUB, OPf_STACKED,
 			       op_append_elem(OP_LIST, term,
 					   scalar(newUNOP(OP_RV2CV, 0,
-							  newGVOP(OP_GV, 0, gv))))));
+							  newGVOP(OP_GV, 0, gv)))));
     }
     else {
 	doop = newUNOP(OP_DOFILE, 0, scalar(term));
@@ -4514,7 +5348,7 @@
 }
 
 STATIC I32
-S_is_list_assignment(pTHX_ register const OP *o)
+S_is_list_assignment(pTHX_ const OP *o)
 {
     unsigned type;
     U8 flags;
@@ -4558,6 +5392,76 @@
 }
 
 /*
+  Helper function for newASSIGNOP to detection commonality between the
+  lhs and the rhs.  Marks all variables with PL_generation.  If it
+  returns TRUE the assignment must be able to handle common variables.
+*/
+PERL_STATIC_INLINE bool
+S_aassign_common_vars(pTHX_ OP* o)
+{
+    OP *curop;
+    for (curop = cUNOPo->op_first; curop; curop=curop->op_sibling) {
+	if (PL_opargs[curop->op_type] & OA_DANGEROUS) {
+	    if (curop->op_type == OP_GV) {
+		GV *gv = cGVOPx_gv(curop);
+		if (gv == PL_defgv
+		    || (int)GvASSIGN_GENERATION(gv) == PL_generation)
+		    return TRUE;
+		GvASSIGN_GENERATION_set(gv, PL_generation);
+	    }
+	    else if (curop->op_type == OP_PADSV ||
+		curop->op_type == OP_PADAV ||
+		curop->op_type == OP_PADHV ||
+		curop->op_type == OP_PADANY)
+		{
+		    if (PAD_COMPNAME_GEN(curop->op_targ)
+			== (STRLEN)PL_generation)
+			return TRUE;
+		    PAD_COMPNAME_GEN_set(curop->op_targ, PL_generation);
+
+		}
+	    else if (curop->op_type == OP_RV2CV)
+		return TRUE;
+	    else if (curop->op_type == OP_RV2SV ||
+		curop->op_type == OP_RV2AV ||
+		curop->op_type == OP_RV2HV ||
+		curop->op_type == OP_RV2GV) {
+		if (cUNOPx(curop)->op_first->op_type != OP_GV)	/* funny deref? */
+		    return TRUE;
+	    }
+	    else if (curop->op_type == OP_PUSHRE) {
+#ifdef USE_ITHREADS
+		if (((PMOP*)curop)->op_pmreplrootu.op_pmtargetoff) {
+		    GV *const gv = MUTABLE_GV(PAD_SVl(((PMOP*)curop)->op_pmreplrootu.op_pmtargetoff));
+		    if (gv == PL_defgv
+			|| (int)GvASSIGN_GENERATION(gv) == PL_generation)
+			return TRUE;
+		    GvASSIGN_GENERATION_set(gv, PL_generation);
+		}
+#else
+		GV *const gv
+		    = ((PMOP*)curop)->op_pmreplrootu.op_pmtargetgv;
+		if (gv) {
+		    if (gv == PL_defgv
+			|| (int)GvASSIGN_GENERATION(gv) == PL_generation)
+			return TRUE;
+		    GvASSIGN_GENERATION_set(gv, PL_generation);
+		}
+#endif
+	    }
+	    else
+		return TRUE;
+	}
+
+	if (curop->op_flags & OPf_KIDS) {
+	    if (aassign_common_vars(curop))
+		return TRUE;
+	}
+    }
+    return FALSE;
+}
+
+/*
 =for apidoc Am|OP *|newASSIGNOP|I32 flags|OP *left|I32 optype|OP *right
 
 Constructs, checks, and returns an assignment op.  I<left> and I<right>
@@ -4605,18 +5509,7 @@
 	bool maybe_common_vars = TRUE;
 
 	PL_modcount = 0;
-	/* Grandfathering $[ assignment here.  Bletch.*/
-	/* Only simple assignments like C<< ($[) = 1 >> are allowed */
-	PL_eval_start = (left->op_type == OP_CONST) ? right : NULL;
 	left = op_lvalue(left, OP_AASSIGN);
-	if (PL_eval_start)
-	    PL_eval_start = 0;
-	else if (left->op_type == OP_CONST) {
-	    deprecate("assignment to $[");
-	    /* FIXME for MAD */
-	    /* Result of assignment is always 1 (or we'd be dead already) */
-	    return newSVOP(OP_CONST, 0, newSViv(1));
-	}
 	curop = list(force_list(left));
 	o = newBINOP(OP_AASSIGN, flags, list(force_list(right)), curop);
 	o->op_private = (U8)(0 | (flags >> 8));
@@ -4695,64 +5588,10 @@
 	 */
 
 	if (maybe_common_vars) {
-	    OP *lastop = o;
 	    PL_generation++;
-	    for (curop = LINKLIST(o); curop != o; curop = LINKLIST(curop)) {
-		if (PL_opargs[curop->op_type] & OA_DANGEROUS) {
-		    if (curop->op_type == OP_GV) {
-			GV *gv = cGVOPx_gv(curop);
-			if (gv == PL_defgv
-			    || (int)GvASSIGN_GENERATION(gv) == PL_generation)
-			    break;
-			GvASSIGN_GENERATION_set(gv, PL_generation);
-		    }
-		    else if (curop->op_type == OP_PADSV ||
-			     curop->op_type == OP_PADAV ||
-			     curop->op_type == OP_PADHV ||
-			     curop->op_type == OP_PADANY)
-		    {
-			if (PAD_COMPNAME_GEN(curop->op_targ)
-						    == (STRLEN)PL_generation)
-			    break;
-			PAD_COMPNAME_GEN_set(curop->op_targ, PL_generation);
-
-		    }
-		    else if (curop->op_type == OP_RV2CV)
-			break;
-		    else if (curop->op_type == OP_RV2SV ||
-			     curop->op_type == OP_RV2AV ||
-			     curop->op_type == OP_RV2HV ||
-			     curop->op_type == OP_RV2GV) {
-			if (lastop->op_type != OP_GV)	/* funny deref? */
-			    break;
-		    }
-		    else if (curop->op_type == OP_PUSHRE) {
-#ifdef USE_ITHREADS
-			if (((PMOP*)curop)->op_pmreplrootu.op_pmtargetoff) {
-			    GV *const gv = MUTABLE_GV(PAD_SVl(((PMOP*)curop)->op_pmreplrootu.op_pmtargetoff));
-			    if (gv == PL_defgv
-				|| (int)GvASSIGN_GENERATION(gv) == PL_generation)
-				break;
-			    GvASSIGN_GENERATION_set(gv, PL_generation);
-			}
-#else
-			GV *const gv
-			    = ((PMOP*)curop)->op_pmreplrootu.op_pmtargetgv;
-			if (gv) {
-			    if (gv == PL_defgv
-				|| (int)GvASSIGN_GENERATION(gv) == PL_generation)
-				break;
-			    GvASSIGN_GENERATION_set(gv, PL_generation);
-			}
-#endif
-		    }
-		    else
-			break;
-		}
-		lastop = curop;
-	    }
-	    if (curop != o)
+	    if (aassign_common_vars(o))
 		o->op_private |= OPpASSIGN_COMMON;
+	    LINKLIST(o);
 	}
 
 	if (right && right->op_type == OP_SPLIT && !PL_madskills) {
@@ -4780,7 +5619,6 @@
 			    = MUTABLE_GV(cSVOPx(tmpop)->op_sv);
 			cSVOPx(tmpop)->op_sv = NULL;	/* steal it */
 #endif
-			pm->op_pmflags |= PMf_ONCE;
 			tmpop = cUNOPo->op_first;	/* to list (nulled) */
 			tmpop = ((UNOP*)tmpop)->op_first; /* to pushmark */
 			tmpop->op_sibling = NULL;	/* don't free split */
@@ -4812,19 +5650,8 @@
 		scalar(right));
     }
     else {
-	PL_eval_start = right;	/* Grandfathering $[ assignment here.  Bletch.*/
 	o = newBINOP(OP_SASSIGN, flags,
 	    scalar(right), op_lvalue(scalar(left), OP_SASSIGN) );
-	if (PL_eval_start)
-	    PL_eval_start = 0;
-	else {
-	    if (!PL_madskills) { /* assignment to $[ is ignored when making a mad dump */
-		deprecate("assignment to $[");
-		op_free(o);
-		o = newSVOP(OP_CONST, 0, newSViv(CopARYBASE_get(&PL_compiling)));
-		o->op_private |= OPpCONST_ARYBASE;
-	    }
-	}
     }
     return o;
 }
@@ -4852,8 +5679,11 @@
 {
     dVAR;
     const U32 seq = intro_my();
-    register COP *cop;
+    const U32 utf8 = flags & SVf_UTF8;
+    COP *cop;
 
+    flags &= ~SVf_UTF8;
+
     NewOp(1101, cop, 1, COP);
     if (PERLDB_LINE && CopLINE(PL_curcop) && PL_curstash != PL_debstash) {
 	cop->op_type = OP_DBSTATE;
@@ -4872,14 +5702,11 @@
     cop->op_next = (OP*)cop;
 
     cop->cop_seq = seq;
-    /* CopARYBASE is now "virtual", in that it's stored as a flag bit in
-       CopHINTS and a possible value in cop_hints_hash, so no need to copy it.
-    */
     cop->cop_warnings = DUP_WARNINGS(PL_curcop->cop_warnings);
     CopHINTHASH_set(cop, cophh_copy(CopHINTHASH_get(PL_curcop)));
     if (label) {
-	Perl_store_cop_label(aTHX_ cop, label, strlen(label), 0);
-						     
+	Perl_cop_store_label(aTHX_ cop, label, strlen(label), utf8);
+
 	PL_hints |= HINT_BLOCK_SCOPE;
 	/* It seems that we need to defer freeing this pointer, as other parts
 	   of the grammar end up wanting to copy it after this op has been
@@ -4891,8 +5718,7 @@
         CopLINE_set(cop, CopLINE(PL_curcop));
     else {
 	CopLINE_set(cop, PL_parser->copline);
-	if (PL_parser)
-	    PL_parser->copline = NOLINE;
+	PL_parser->copline = NOLINE;
     }
 #ifdef USE_ITHREADS
     CopFILE_set(cop, CopFILE(PL_curcop));	/* XXX share in a pvtable? */
@@ -5052,6 +5878,8 @@
 	          || other->op_type == OP_TRANS)
 		/* Mark the op as being unbindable with =~ */
 		other->op_flags |= OPf_SPECIAL;
+	    else if (other->op_type == OP_CONST)
+		other->op_private |= OPpCONST_FOLDED;
 	    return other;
 	}
 	else {
@@ -5106,7 +5934,8 @@
 	    if (k1->op_type == OP_READDIR
 		  || k1->op_type == OP_GLOB
 		  || (k1->op_type == OP_NULL && k1->op_targ == OP_GLOB)
-		  || k1->op_type == OP_EACH)
+                 || k1->op_type == OP_EACH
+                 || k1->op_type == OP_AEACH)
 	    {
 		warnop = ((k1->op_type == OP_NULL)
 			  ? (OPCODE)k1->op_targ : k1->op_type);
@@ -5115,6 +5944,8 @@
 	}
 	if (warnop) {
 	    const line_t oldline = CopLINE(PL_curcop);
+            /* This ensures that warnings are reported at the first line
+               of the construction, not the last.  */
 	    CopLINE_set(PL_curcop, PL_parser->copline);
 	    Perl_warner(aTHX_ packWARN(WARN_MISC),
 		 "Value of %s%s can be \"0\"; test with defined()",
@@ -5208,6 +6039,8 @@
 	      || live->op_type == OP_TRANS || live->op_type == OP_TRANSR)
 	    /* Mark the op as being unbindable with =~ */
 	    live->op_flags |= OPf_SPECIAL;
+	else if (live->op_type == OP_CONST)
+	    live->op_private |= OPpCONST_FOLDED;
 	return live;
     }
     NewOp(1101, logop, 1, LOGOP);
@@ -5292,6 +6125,12 @@
     flip->op_private =  left->op_type == OP_CONST ? OPpFLIP_LINENUM : 0;
     flop->op_private = right->op_type == OP_CONST ? OPpFLIP_LINENUM : 0;
 
+    /* check barewords before they might be optimized aways */
+    if (flip->op_private && cSVOPx(left)->op_private & OPpCONST_STRICT)
+	no_bareword_allowed(left);
+    if (flop->op_private && cSVOPx(right)->op_private & OPpCONST_STRICT)
+	no_bareword_allowed(right);
+
     flip->op_next = o;
     if (!flip->op_private || !flop->op_private)
 	LINKLIST(o);		/* blow off optimizer unless constant */
@@ -5332,6 +6171,7 @@
 	if (expr->op_type == OP_READLINE
 	    || expr->op_type == OP_READDIR
 	    || expr->op_type == OP_GLOB
+	    || expr->op_type == OP_EACH || expr->op_type == OP_AEACH
 	    || (expr->op_type == OP_NULL && expr->op_targ == OP_GLOB)) {
 	    expr = newUNOP(OP_DEFINED, 0,
 		newASSIGNOP(0, newDEFSVOP(), 0, expr) );
@@ -5350,7 +6190,8 @@
 		if (k1 && (k1->op_type == OP_READDIR
 		      || k1->op_type == OP_GLOB
 		      || (k1->op_type == OP_NULL && k1->op_targ == OP_GLOB)
-		      || k1->op_type == OP_EACH))
+                     || k1->op_type == OP_EACH
+                     || k1->op_type == OP_AEACH))
 		    expr = newUNOP(OP_DEFINED, 0, expr);
 		break;
 	    }
@@ -5420,6 +6261,7 @@
 	if (expr->op_type == OP_READLINE
          || expr->op_type == OP_READDIR
          || expr->op_type == OP_GLOB
+	 || expr->op_type == OP_EACH || expr->op_type == OP_AEACH
 		     || (expr->op_type == OP_NULL && expr->op_targ == OP_GLOB)) {
 	    expr = newUNOP(OP_DEFINED, 0,
 		newASSIGNOP(0, newDEFSVOP(), 0, expr) );
@@ -5438,7 +6280,8 @@
 		if (k1 && (k1->op_type == OP_READDIR
 		      || k1->op_type == OP_GLOB
 		      || (k1->op_type == OP_NULL && k1->op_targ == OP_GLOB)
-		      || k1->op_type == OP_EACH))
+                     || k1->op_type == OP_EACH
+                     || k1->op_type == OP_AEACH))
 		    expr = newUNOP(OP_DEFINED, 0, expr);
 		break;
 	    }
@@ -5470,9 +6313,8 @@
 	scalar(listop);
 	o = new_logop(OP_AND, 0, &expr, &listop);
 	if (o == expr && o->op_type == OP_CONST && !SvTRUE(cSVOPo->op_sv)) {
-	    op_free(expr);		/* oops, it's a while (0) */
 	    op_free((OP*)loop);
-	    return NULL;		/* listop already freed by new_logop */
+	    return expr;		/* listop already freed by new_logop */
 	}
 	if (listop)
 	    ((LISTOP*)listop)->op_last->op_next =
@@ -5580,7 +6422,7 @@
 	}
     }
     else {
-        const PADOFFSET offset = Perl_pad_findmy(aTHX_ STR_WITH_LEN("$_"), 0);
+        const PADOFFSET offset = pad_findmy_pvs("$_", 0);
 	if (offset == NOT_IN_PAD || PAD_COMPNAME_FLAGS_isOUR(offset)) {
 	    sv = newGVOP(OP_GV, 0, PL_defgv);
 	}
@@ -5599,7 +6441,7 @@
     {
 	/* Basically turn for($x..$y) into the same as for($x,$y), but we
 	 * set the STACKED flag to indicate that these values are to be
-	 * treated as min/max values by 'pp_iterinit'.
+	 * treated as min/max values by 'pp_enteriter'.
 	 */
 	const UNOP* const flip = (UNOP*)((UNOP*)((BINOP*)expr)->op_first)->op_first;
 	LOGOP* const range = (LOGOP*) flip->op_first;
@@ -5635,7 +6477,9 @@
     /* for my  $x () sets OPpLVAL_INTRO;
      * for our $x () sets OPpOUR_INTRO */
     loop->op_private = (U8)iterpflags;
-#ifdef PL_OP_SLAB_ALLOC
+    if (loop->op_slabbed
+     && DIFF(loop, OpSLOT(loop)->opslot_next)
+	 < SIZE_TO_PSIZE(sizeof(LOOP)))
     {
 	LOOP *tmp;
 	NewOp(1234,tmp,1,LOOP);
@@ -5643,9 +6487,8 @@
 	S_op_destroy(aTHX_ (OP*)loop);
 	loop = tmp;
     }
-#else
-    loop = (LOOP*)PerlMemShared_realloc(loop, sizeof(LOOP));
-#endif
+    else if (!loop->op_slabbed)
+	loop = (LOOP*)PerlMemShared_realloc(loop, sizeof(LOOP));
     loop->op_targ = padoff;
     wop = newWHILEOP(flags, 1, loop, newOP(OP_ITER, 0), block, cont, 0);
     if (madsv)
@@ -5659,7 +6502,7 @@
 Constructs, checks, and returns a loop-exiting op (such as C<goto>
 or C<last>).  I<type> is the opcode.  I<label> supplies the parameter
 determining the target of the op; it is consumed by this function and
-become part of the constructed op tree.
+becomes part of the constructed op tree.
 
 =cut
 */
@@ -5668,26 +6511,17 @@
 Perl_newLOOPEX(pTHX_ I32 type, OP *label)
 {
     dVAR;
-    OP *o;
+    OP *o = NULL;
 
     PERL_ARGS_ASSERT_NEWLOOPEX;
 
     assert((PL_opargs[type] & OA_CLASS_MASK) == OA_LOOPEXOP);
 
-    if (type != OP_GOTO || label->op_type == OP_CONST) {
+    if (type != OP_GOTO) {
 	/* "last()" means "last" */
-	if (label->op_type == OP_STUB && (label->op_flags & OPf_PARENS))
+	if (label->op_type == OP_STUB && (label->op_flags & OPf_PARENS)) {
 	    o = newOP(type, OPf_SPECIAL);
-	else {
-	    o = newPVOP(type, 0, savesharedpv(label->op_type == OP_CONST
-					? SvPV_nolen_const(((SVOP*)label)->op_sv)
-					: ""));
 	}
-#ifdef PERL_MAD
-	op_getmad(label,o,'L');
-#else
-	op_free(label);
-#endif
     }
     else {
 	/* Check whether it's going to be a goto &function */
@@ -5694,8 +6528,30 @@
 	if (label->op_type == OP_ENTERSUB
 		&& !(label->op_flags & OPf_STACKED))
 	    label = newUNOP(OP_REFGEN, 0, op_lvalue(label, OP_REFGEN));
-	o = newUNOP(type, OPf_STACKED, label);
     }
+
+    /* Check for a constant argument */
+    if (label->op_type == OP_CONST) {
+	    SV * const sv = ((SVOP *)label)->op_sv;
+	    STRLEN l;
+	    const char *s = SvPV_const(sv,l);
+	    if (l == strlen(s)) {
+		o = newPVOP(type,
+			    SvUTF8(((SVOP*)label)->op_sv),
+			    savesharedpv(
+				SvPV_nolen_const(((SVOP*)label)->op_sv)));
+	    }
+    }
+    
+    /* If we have already created an op, we do not need the label. */
+    if (o)
+#ifdef PERL_MAD
+		op_getmad(label,o,'L');
+#else
+		op_free(label);
+#endif
+    else o = newUNOP(type, OPf_STACKED, label);
+
     PL_hints |= HINT_BLOCK_SCOPE;
     return o;
 }
@@ -5771,6 +6627,7 @@
 	/* This is a default {} block */
 	enterop->op_first = block;
 	enterop->op_flags |= OPf_SPECIAL;
+	o      ->op_flags |= OPf_SPECIAL;
 
 	o->op_next = (OP *) enterop;
     }
@@ -5873,7 +6730,7 @@
 variable, and I<block> supplies the body of the C<given> construct; they
 are consumed by this function and become part of the constructed op tree.
 I<defsv_off> is the pad offset of the scalar lexical variable that will
-be affected.
+be affected.  If it is 0, the global $_ will be used.
 
 =cut
 */
@@ -5919,39 +6776,55 @@
 		scalar(ref_array_or_hash(cond)));
     }
     
-    return newGIVWHENOP(
-	cond_op,
-	op_append_elem(block->op_type, block, newOP(OP_BREAK, OPf_SPECIAL)),
-	OP_ENTERWHEN, OP_LEAVEWHEN, 0);
+    return newGIVWHENOP(cond_op, block, OP_ENTERWHEN, OP_LEAVEWHEN, 0);
 }
 
 void
-Perl_cv_ckproto_len(pTHX_ const CV *cv, const GV *gv, const char *p,
-		    const STRLEN len)
+Perl_cv_ckproto_len_flags(pTHX_ const CV *cv, const GV *gv, const char *p,
+		    const STRLEN len, const U32 flags)
 {
-    PERL_ARGS_ASSERT_CV_CKPROTO_LEN;
+    const char * const cvp = SvROK(cv) ? "" : CvPROTO(cv);
+    const STRLEN clen = CvPROTOLEN(cv);
 
-    /* Can't just use a strcmp on the prototype, as CONSTSUBs "cheat" by
-       relying on SvCUR, and doubling up the buffer to hold CvFILE().  */
-    if (((!p != !SvPOK(cv)) /* One has prototype, one has not.  */
-	 || (p && (len != SvCUR(cv) /* Not the same length.  */
-		   || memNE(p, SvPVX_const(cv), len))))
+    PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS;
+
+    if (((!p != !cvp) /* One has prototype, one has not.  */
+	|| (p && (
+		  (flags & SVf_UTF8) == SvUTF8(cv)
+		   ? len != clen || memNE(cvp, p, len)
+		   : flags & SVf_UTF8
+		      ? bytes_cmp_utf8((const U8 *)cvp, clen,
+				       (const U8 *)p, len)
+		      : bytes_cmp_utf8((const U8 *)p, len,
+				       (const U8 *)cvp, clen)
+		 )
+	   )
+        )
 	 && ckWARN_d(WARN_PROTOTYPE)) {
 	SV* const msg = sv_newmortal();
 	SV* name = NULL;
 
 	if (gv)
+	{
+	  if (isGV(gv))
 	    gv_efullname3(name = sv_newmortal(), gv, NULL);
+	  else if (SvPOK(gv) && *SvPVX((SV *)gv) == '&')
+	    name = newSVpvn_flags(SvPVX((SV *)gv)+1, SvCUR(gv)-1,
+				  SvUTF8(gv)|SVs_TEMP);
+	  else name = (SV *)gv;
+	}
 	sv_setpvs(msg, "Prototype mismatch:");
 	if (name)
 	    Perl_sv_catpvf(aTHX_ msg, " sub %"SVf, SVfARG(name));
-	if (SvPOK(cv))
-	    Perl_sv_catpvf(aTHX_ msg, " (%"SVf")", SVfARG(cv));
+	if (cvp)
+	    Perl_sv_catpvf(aTHX_ msg, " (%"SVf")",
+		SVfARG(newSVpvn_flags(cvp,clen, SvUTF8(cv)|SVs_TEMP))
+	    );
 	else
 	    sv_catpvs(msg, ": none");
 	sv_catpvs(msg, " vs ");
 	if (p)
-	    Perl_sv_catpvf(aTHX_ msg, "(%.*s)", (int) len, p);
+	    Perl_sv_catpvf(aTHX_ msg, "(%"SVf")", SVfARG(newSVpvn_flags(p, len, flags | SVs_TEMP)));
 	else
 	    sv_catpvs(msg, "none");
 	Perl_warner(aTHX_ packWARN(WARN_PROTOTYPE), "%"SVf, SVfARG(msg));
@@ -6002,7 +6875,8 @@
  *
  *	We have just cloned an anon prototype that was marked as a const
  *	candidate. Try to grab the current value, and in the case of
- *	PADSV, ignore it if it has multiple references. Return the value.
+ *	PADSV, ignore it if it has multiple references. In this case we
+ *	return a newly created *copy* of the value.
  */
 
 SV *
@@ -6067,43 +6941,431 @@
     return sv;
 }
 
+static bool
+S_already_defined(pTHX_ CV *const cv, OP * const block, OP * const o,
+			PADNAME * const name, SV ** const const_svp)
+{
+    assert (cv);
+    assert (o || name);
+    assert (const_svp);
+    if ((!block
 #ifdef PERL_MAD
-OP *
-#else
-void
+	 || block->op_type == OP_NULL
 #endif
+	 )) {
+	if (CvFLAGS(PL_compcv)) {
+	    /* might have had built-in attrs applied */
+	    const bool pureperl = !CvISXSUB(cv) && CvROOT(cv);
+	    if (CvLVALUE(PL_compcv) && ! CvLVALUE(cv) && pureperl
+	     && ckWARN(WARN_MISC))
+	    {
+		/* protect against fatal warnings leaking compcv */
+		SAVEFREESV(PL_compcv);
+		Perl_warner(aTHX_ packWARN(WARN_MISC), "lvalue attribute ignored after the subroutine has been defined");
+		SvREFCNT_inc_simple_void_NN(PL_compcv);
+	    }
+	    CvFLAGS(cv) |=
+		(CvFLAGS(PL_compcv) & CVf_BUILTIN_ATTRS
+		  & ~(CVf_LVALUE * pureperl));
+	}
+	return FALSE;
+    }
+
+    /* redundant check for speed: */
+    if (CvCONST(cv) || ckWARN(WARN_REDEFINE)) {
+	const line_t oldline = CopLINE(PL_curcop);
+	SV *namesv = o
+	    ? cSVOPo->op_sv
+	    : sv_2mortal(newSVpvn_utf8(
+		PadnamePV(name)+1,PadnameLEN(name)-1, PadnameUTF8(name)
+	      ));
+	if (PL_parser && PL_parser->copline != NOLINE)
+            /* This ensures that warnings are reported at the first
+               line of a redefinition, not the last.  */
+	    CopLINE_set(PL_curcop, PL_parser->copline);
+	/* protect against fatal warnings leaking compcv */
+	SAVEFREESV(PL_compcv);
+	report_redefined_cv(namesv, cv, const_svp);
+	SvREFCNT_inc_simple_void_NN(PL_compcv);
+	CopLINE_set(PL_curcop, oldline);
+    }
+#ifdef PERL_MAD
+    if (!PL_minus_c)	/* keep old one around for madskills */
+#endif
+    {
+	/* (PL_madskills unset in used file.) */
+	SvREFCNT_dec(cv);
+    }
+    return TRUE;
+}
+
+CV *
 Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
 {
-#if 0
-    /* This would be the return value, but the return cannot be reached.  */
-    OP* pegop = newOP(OP_NULL, 0);
+    dVAR;
+    CV **spot;
+    SV **svspot;
+    const char *ps;
+    STRLEN ps_len = 0; /* init it to avoid false uninit warning from icc */
+    U32 ps_utf8 = 0;
+    CV *cv = NULL;
+    CV *compcv = PL_compcv;
+    SV *const_sv;
+    PADNAME *name;
+    PADOFFSET pax = o->op_targ;
+    CV *outcv = CvOUTSIDE(PL_compcv);
+    CV *clonee = NULL;
+    HEK *hek = NULL;
+    bool reusable = FALSE;
+
+    PERL_ARGS_ASSERT_NEWMYSUB;
+
+    /* Find the pad slot for storing the new sub.
+       We cannot use PL_comppad, as it is the pad owned by the new sub.  We
+       need to look in CvOUTSIDE and find the pad belonging to the enclos-
+       ing sub.  And then we need to dig deeper if this is a lexical from
+       outside, as in:
+	   my sub foo; sub { sub foo { } }
+     */
+   redo:
+    name = PadlistNAMESARRAY(CvPADLIST(outcv))[pax];
+    if (PadnameOUTER(name) && PARENT_PAD_INDEX(name)) {
+	pax = PARENT_PAD_INDEX(name);
+	outcv = CvOUTSIDE(outcv);
+	assert(outcv);
+	goto redo;
+    }
+    svspot =
+	&PadARRAY(PadlistARRAY(CvPADLIST(outcv))
+			[CvDEPTH(outcv) ? CvDEPTH(outcv) : 1])[pax];
+    spot = (CV **)svspot;
+
+    if (proto) {
+	assert(proto->op_type == OP_CONST);
+	ps = SvPV_const(((SVOP*)proto)->op_sv, ps_len);
+        ps_utf8 = SvUTF8(((SVOP*)proto)->op_sv);
+    }
+    else
+	ps = NULL;
+
+    if (!PL_madskills) {
+	if (proto)
+	    SAVEFREEOP(proto);
+	if (attrs)
+	    SAVEFREEOP(attrs);
+    }
+
+    if (PL_parser && PL_parser->error_count) {
+	op_free(block);
+	SvREFCNT_dec(PL_compcv);
+	PL_compcv = 0;
+	goto done;
+    }
+
+    if (CvDEPTH(outcv) && CvCLONE(compcv)) {
+	cv = *spot;
+	svspot = (SV **)(spot = &clonee);
+    }
+    else if (PadnameIsSTATE(name) || CvDEPTH(outcv))
+	cv = *spot;
+    else {
+	MAGIC *mg;
+	SvUPGRADE(name, SVt_PVMG);
+	mg = mg_find(name, PERL_MAGIC_proto);
+	assert (SvTYPE(*spot) == SVt_PVCV);
+	if (CvNAMED(*spot))
+	    hek = CvNAME_HEK(*spot);
+	else {
+	    CvNAME_HEK_set(*spot, hek =
+		share_hek(
+		    PadnamePV(name)+1,
+		    PadnameLEN(name)-1 * (PadnameUTF8(name) ? -1 : 1), 0
+		)
+	    );
+	}
+	if (mg) {
+	    assert(mg->mg_obj);
+	    cv = (CV *)mg->mg_obj;
+	}
+	else {
+	    sv_magic(name, &PL_sv_undef, PERL_MAGIC_proto, NULL, 0);
+	    mg = mg_find(name, PERL_MAGIC_proto);
+	}
+	spot = (CV **)(svspot = &mg->mg_obj);
+    }
+
+    if (!block || !ps || *ps || attrs
+	|| (CvFLAGS(compcv) & CVf_BUILTIN_ATTRS)
+#ifdef PERL_MAD
+	|| block->op_type == OP_NULL
 #endif
+	)
+	const_sv = NULL;
+    else
+	const_sv = op_const_sv(block, NULL);
 
-    PERL_UNUSED_ARG(floor);
+    if (cv) {
+        const bool exists = CvROOT(cv) || CvXSUB(cv);
 
-    if (o)
-	SAVEFREEOP(o);
-    if (proto)
-	SAVEFREEOP(proto);
-    if (attrs)
-	SAVEFREEOP(attrs);
-    if (block)
-	SAVEFREEOP(block);
-    Perl_croak(aTHX_ "\"my sub\" not yet implemented");
+        /* if the subroutine doesn't exist and wasn't pre-declared
+         * with a prototype, assume it will be AUTOLOADed,
+         * skipping the prototype check
+         */
+        if (exists || SvPOK(cv))
+            cv_ckproto_len_flags(cv, (GV *)name, ps, ps_len, ps_utf8);
+	/* already defined? */
+	if (exists) {
+	    if (S_already_defined(aTHX_ cv, block, NULL, name, &const_sv))
+		cv = NULL;
+	    else {
+		if (attrs) goto attrs;
+		/* just a "sub foo;" when &foo is already defined */
+		SAVEFREESV(compcv);
+		goto done;
+	    }
+	}
+	else if (CvDEPTH(outcv) && CvCLONE(compcv)) {
+	    cv = NULL;
+	    reusable = TRUE;
+	}
+    }
+    if (const_sv) {
+	SvREFCNT_inc_simple_void_NN(const_sv);
+	if (cv) {
+	    assert(!CvROOT(cv) && !CvCONST(cv));
+	    cv_forget_slab(cv);
+	}
+	else {
+	    cv = MUTABLE_CV(newSV_type(SVt_PVCV));
+	    CvFILE_set_from_cop(cv, PL_curcop);
+	    CvSTASH_set(cv, PL_curstash);
+	    *spot = cv;
+	}
+	sv_setpvs(MUTABLE_SV(cv), "");  /* prototype is "" */
+	CvXSUBANY(cv).any_ptr = const_sv;
+	CvXSUB(cv) = const_sv_xsub;
+	CvCONST_on(cv);
+	CvISXSUB_on(cv);
+	if (PL_madskills)
+	    goto install_block;
+	op_free(block);
+	SvREFCNT_dec(compcv);
+	PL_compcv = NULL;
+	goto setname;
+    }
+    /* Checking whether outcv is CvOUTSIDE(compcv) is not sufficient to
+       determine whether this sub definition is in the same scope as its
+       declaration.  If this sub definition is inside an inner named pack-
+       age sub (my sub foo; sub bar { sub foo { ... } }), outcv points to
+       the package sub.  So check PadnameOUTER(name) too.
+     */
+    if (outcv == CvOUTSIDE(compcv) && !PadnameOUTER(name)) { 
+	assert(!CvWEAKOUTSIDE(compcv));
+	SvREFCNT_dec(CvOUTSIDE(compcv));
+	CvWEAKOUTSIDE_on(compcv);
+    }
+    /* XXX else do we have a circular reference? */
+    if (cv) {	/* must reuse cv in case stub is referenced elsewhere */
+	/* transfer PL_compcv to cv */
+	if (block
 #ifdef PERL_MAD
-    NORETURN_FUNCTION_END;
+                  && block->op_type != OP_NULL
 #endif
+	) {
+	    cv_flags_t preserved_flags =
+		CvFLAGS(cv) & (CVf_BUILTIN_ATTRS|CVf_NAMED);
+	    PADLIST *const temp_padl = CvPADLIST(cv);
+	    CV *const temp_cv = CvOUTSIDE(cv);
+	    const cv_flags_t other_flags =
+		CvFLAGS(cv) & (CVf_SLABBED|CVf_WEAKOUTSIDE);
+	    OP * const cvstart = CvSTART(cv);
+
+	    SvPOK_off(cv);
+	    CvFLAGS(cv) =
+		CvFLAGS(compcv) | preserved_flags;
+	    CvOUTSIDE(cv) = CvOUTSIDE(compcv);
+	    CvOUTSIDE_SEQ(cv) = CvOUTSIDE_SEQ(compcv);
+	    CvPADLIST(cv) = CvPADLIST(compcv);
+	    CvOUTSIDE(compcv) = temp_cv;
+	    CvPADLIST(compcv) = temp_padl;
+	    CvSTART(cv) = CvSTART(compcv);
+	    CvSTART(compcv) = cvstart;
+	    CvFLAGS(compcv) &= ~(CVf_SLABBED|CVf_WEAKOUTSIDE);
+	    CvFLAGS(compcv) |= other_flags;
+
+	    if (CvFILE(cv) && CvDYNFILE(cv)) {
+		Safefree(CvFILE(cv));
+	    }
+
+	    /* inner references to compcv must be fixed up ... */
+	    pad_fixup_inner_anons(CvPADLIST(cv), compcv, cv);
+	    if (PERLDB_INTER)/* Advice debugger on the new sub. */
+	      ++PL_sub_generation;
+	}
+	else {
+	    /* Might have had built-in attributes applied -- propagate them. */
+	    CvFLAGS(cv) |= (CvFLAGS(compcv) & CVf_BUILTIN_ATTRS);
+	}
+	/* ... before we throw it away */
+	SvREFCNT_dec(compcv);
+	PL_compcv = compcv = cv;
+    }
+    else {
+	cv = compcv;
+	*spot = cv;
+    }
+   setname:
+    if (!CvNAME_HEK(cv)) {
+	CvNAME_HEK_set(cv,
+	 hek
+	  ? share_hek_hek(hek)
+	  : share_hek(PadnamePV(name)+1,
+		      PadnameLEN(name)-1 * (PadnameUTF8(name) ? -1 : 1),
+		      0)
+	);
+    }
+    if (const_sv) goto clone;
+
+    CvFILE_set_from_cop(cv, PL_curcop);
+    CvSTASH_set(cv, PL_curstash);
+
+    if (ps) {
+	sv_setpvn(MUTABLE_SV(cv), ps, ps_len);
+        if ( ps_utf8 ) SvUTF8_on(MUTABLE_SV(cv));
+    }
+
+ install_block:
+    if (!block)
+	goto attrs;
+
+    /* If we assign an optree to a PVCV, then we've defined a subroutine that
+       the debugger could be able to set a breakpoint in, so signal to
+       pp_entereval that it should not throw away any saved lines at scope
+       exit.  */
+       
+    PL_breakable_sub_gen++;
+    /* This makes sub {}; work as expected.  */
+    if (block->op_type == OP_STUB) {
+	    OP* const newblock = newSTATEOP(0, NULL, 0);
+#ifdef PERL_MAD
+	    op_getmad(block,newblock,'B');
+#else
+	    op_free(block);
+#endif
+	    block = newblock;
+    }
+    CvROOT(cv) = CvLVALUE(cv)
+		   ? newUNOP(OP_LEAVESUBLV, 0,
+			     op_lvalue(scalarseq(block), OP_LEAVESUBLV))
+		   : newUNOP(OP_LEAVESUB, 0, scalarseq(block));
+    CvROOT(cv)->op_private |= OPpREFCOUNTED;
+    OpREFCNT_set(CvROOT(cv), 1);
+    /* The cv no longer needs to hold a refcount on the slab, as CvROOT
+       itself has a refcount. */
+    CvSLABBED_off(cv);
+    OpslabREFCNT_dec_padok((OPSLAB *)CvSTART(cv));
+    CvSTART(cv) = LINKLIST(CvROOT(cv));
+    CvROOT(cv)->op_next = 0;
+    CALL_PEEP(CvSTART(cv));
+    finalize_optree(CvROOT(cv));
+
+    /* now that optimizer has done its work, adjust pad values */
+
+    pad_tidy(CvCLONE(cv) ? padtidy_SUBCLONE : padtidy_SUB);
+
+    if (CvCLONE(cv)) {
+	assert(!CvCONST(cv));
+	if (ps && !*ps && op_const_sv(block, cv))
+	    CvCONST_on(cv);
+    }
+
+  attrs:
+    if (attrs) {
+	/* Need to do a C<use attributes $stash_of_cv,\&cv, at attrs>. */
+	apply_attrs(PL_curstash, MUTABLE_SV(cv), attrs);
+    }
+
+    if (block) {
+	if (PERLDB_SUBLINE && PL_curstash != PL_debstash) {
+	    SV * const tmpstr = sv_newmortal();
+	    GV * const db_postponed = gv_fetchpvs("DB::postponed",
+						  GV_ADDMULTI, SVt_PVHV);
+	    HV *hv;
+	    SV * const sv = Perl_newSVpvf(aTHX_ "%s:%ld-%ld",
+					  CopFILE(PL_curcop),
+					  (long)PL_subline,
+					  (long)CopLINE(PL_curcop));
+	    if (HvNAME_HEK(PL_curstash)) {
+		sv_sethek(tmpstr, HvNAME_HEK(PL_curstash));
+		sv_catpvs(tmpstr, "::");
+	    }
+	    else sv_setpvs(tmpstr, "__ANON__::");
+	    sv_catpvn_flags(tmpstr, PadnamePV(name)+1, PadnameLEN(name)-1,
+			    PadnameUTF8(name) ? SV_CATUTF8 : SV_CATBYTES);
+	    (void)hv_store(GvHV(PL_DBsub), SvPVX_const(tmpstr),
+		    SvUTF8(tmpstr) ? -(I32)SvCUR(tmpstr) : (I32)SvCUR(tmpstr), sv, 0);
+	    hv = GvHVn(db_postponed);
+	    if (HvTOTALKEYS(hv) > 0 && hv_exists(hv, SvPVX_const(tmpstr), SvUTF8(tmpstr) ? -(I32)SvCUR(tmpstr) : (I32)SvCUR(tmpstr))) {
+		CV * const pcv = GvCV(db_postponed);
+		if (pcv) {
+		    dSP;
+		    PUSHMARK(SP);
+		    XPUSHs(tmpstr);
+		    PUTBACK;
+		    call_sv(MUTABLE_SV(pcv), G_DISCARD);
+		}
+	    }
+	}
+    }
+
+  clone:
+    if (clonee) {
+	assert(CvDEPTH(outcv));
+	spot = (CV **)
+	    &PadARRAY(PadlistARRAY(CvPADLIST(outcv))[CvDEPTH(outcv)])[pax];
+	if (reusable) cv_clone_into(clonee, *spot);
+	else *spot = cv_clone(clonee);
+	SvREFCNT_dec_NN(clonee);
+	cv = *spot;
+	SvPADMY_on(cv);
+    }
+    if (CvDEPTH(outcv) && !reusable && PadnameIsSTATE(name)) {
+	PADOFFSET depth = CvDEPTH(outcv);
+	while (--depth) {
+	    SV *oldcv;
+	    svspot = &PadARRAY(PadlistARRAY(CvPADLIST(outcv))[depth])[pax];
+	    oldcv = *svspot;
+	    *svspot = SvREFCNT_inc_simple_NN(cv);
+	    SvREFCNT_dec(oldcv);
+	}
+    }
+
+  done:
+    if (PL_parser)
+	PL_parser->copline = NOLINE;
+    LEAVE_SCOPE(floor);
+    if (o) op_free(o);
+    return cv;
 }
 
 CV *
 Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
 {
+    return newATTRSUB_flags(floor, o, proto, attrs, block, 0);
+}
+
+CV *
+Perl_newATTRSUB_flags(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs,
+			    OP *block, U32 flags)
+{
     dVAR;
     GV *gv;
     const char *ps;
     STRLEN ps_len = 0; /* init it to avoid false uninit warning from icc */
-    register CV *cv = NULL;
+    U32 ps_utf8 = 0;
+    CV *cv = NULL;
     SV *const_sv;
+    const bool ec = PL_parser && PL_parser->error_count;
     /* If the subroutine has no body, no attributes, and no builtin attributes
        then it's just a sub declaration, and we may be able to get away with
        storing with a placeholder scalar in the symbol table, rather than a
@@ -6110,20 +7372,33 @@
        full GV and CV.  If anything is present then it will take a full CV to
        store it.  */
     const I32 gv_fetch_flags
-	= (block || attrs || (CvFLAGS(PL_compcv) & CVf_BUILTIN_ATTRS)
+	= ec ? GV_NOADD_NOINIT :
+	 (block || attrs || (CvFLAGS(PL_compcv) & CVf_BUILTIN_ATTRS)
 	   || PL_madskills)
 	? GV_ADDMULTI : GV_ADDMULTI | GV_NOINIT;
-    const char * const name = o ? SvPV_nolen_const(cSVOPo->op_sv) : NULL;
+    STRLEN namlen = 0;
+    const bool o_is_gv = flags & 1;
+    const char * const name =
+	 o ? SvPV_const(o_is_gv ? (SV *)o : cSVOPo->op_sv, namlen) : NULL;
     bool has_name;
+    bool name_is_utf8 = o && !o_is_gv && SvUTF8(cSVOPo->op_sv);
+#ifdef PERL_DEBUG_READONLY_OPS
+    OPSLAB *slab = NULL;
+#endif
 
     if (proto) {
 	assert(proto->op_type == OP_CONST);
 	ps = SvPV_const(((SVOP*)proto)->op_sv, ps_len);
+        ps_utf8 = SvUTF8(((SVOP*)proto)->op_sv);
     }
     else
 	ps = NULL;
 
-    if (name) {
+    if (o_is_gv) {
+	gv = (GV*)o;
+	o = NULL;
+	has_name = TRUE;
+    } else if (name) {
 	gv = gv_fetchsv(cSVOPo->op_sv, gv_fetch_flags, SVt_PVCV);
 	has_name = TRUE;
     } else if (PERLDB_NAMEANON && CopLINE(PL_curcop)) {
@@ -6150,18 +7425,39 @@
 	    SAVEFREEOP(attrs);
     }
 
+    if (ec) {
+	op_free(block);
+	if (name) SvREFCNT_dec(PL_compcv);
+	else cv = PL_compcv;
+	PL_compcv = 0;
+	if (name && block) {
+	    const char *s = strrchr(name, ':');
+	    s = s ? s+1 : name;
+	    if (strEQ(s, "BEGIN")) {
+		if (PL_in_eval & EVAL_KEEPERR)
+		    Perl_croak_nocontext("BEGIN not safe after errors--compilation aborted");
+		else {
+                    SV * const errsv = ERRSV;
+		    /* force display of errors found but not reported */
+		    sv_catpvs(errsv, "BEGIN not safe after errors--compilation aborted");
+		    Perl_croak_nocontext("%"SVf, SVfARG(errsv));
+		}
+	    }
+	}
+	goto done;
+    }
+
     if (SvTYPE(gv) != SVt_PVGV) {	/* Maybe prototype now, and had at
 					   maximum a prototype before. */
 	if (SvTYPE(gv) > SVt_NULL) {
-	    if (!SvPOK((const SV *)gv)
-		&& !(SvIOK((const SV *)gv) && SvIVX((const SV *)gv) == -1))
-	    {
-		Perl_ck_warner_d(aTHX_ packWARN(WARN_PROTOTYPE), "Runaway prototype");
-	    }
-	    cv_ckproto_len((const CV *)gv, NULL, ps, ps_len);
+	    cv_ckproto_len_flags((const CV *)gv,
+				 o ? (const GV *)cSVOPo->op_sv : NULL, ps,
+				 ps_len, ps_utf8);
 	}
-	if (ps)
+	if (ps) {
 	    sv_setpvn(MUTABLE_SV(gv), ps, ps_len);
+            if ( ps_utf8 ) SvUTF8_on(MUTABLE_SV(gv));
+        }
 	else
 	    sv_setiv(MUTABLE_SV(gv), -1);
 
@@ -6190,50 +7486,17 @@
          * skipping the prototype check
          */
         if (exists || SvPOK(cv))
-	    cv_ckproto_len(cv, gv, ps, ps_len);
+            cv_ckproto_len_flags(cv, gv, ps, ps_len, ps_utf8);
 	/* already defined (or promised)? */
 	if (exists || GvASSUMECV(gv)) {
-	    if ((!block
-#ifdef PERL_MAD
-		 || block->op_type == OP_NULL
-#endif
-		 )&& !attrs) {
-		if (CvFLAGS(PL_compcv)) {
-		    /* might have had built-in attrs applied */
-		    if (CvLVALUE(PL_compcv) && ! CvLVALUE(cv) && ckWARN(WARN_MISC))
-			Perl_warner(aTHX_ packWARN(WARN_MISC), "lvalue attribute ignored after the subroutine has been defined");
-		    CvFLAGS(cv) |= (CvFLAGS(PL_compcv) & CVf_BUILTIN_ATTRS & ~CVf_LVALUE);
-		}
+	    if (S_already_defined(aTHX_ cv, block, o, NULL, &const_sv))
+		cv = NULL;
+	    else {
+		if (attrs) goto attrs;
 		/* just a "sub foo;" when &foo is already defined */
 		SAVEFREESV(PL_compcv);
 		goto done;
 	    }
-	    if (block
-#ifdef PERL_MAD
-		&& block->op_type != OP_NULL
-#endif
-		) {
-		if (ckWARN(WARN_REDEFINE)
-		    || (CvCONST(cv)
-			&& (!const_sv || sv_cmp(cv_const_sv(cv), const_sv))))
-		{
-		    const line_t oldline = CopLINE(PL_curcop);
-		    if (PL_parser && PL_parser->copline != NOLINE)
-			CopLINE_set(PL_curcop, PL_parser->copline);
-		    Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
-			CvCONST(cv) ? "Constant subroutine %s redefined"
-				    : "Subroutine %s redefined", name);
-		    CopLINE_set(PL_curcop, oldline);
-		}
-#ifdef PERL_MAD
-		if (!PL_minus_c)	/* keep old one around for madskills */
-#endif
-		    {
-			/* (PL_madskills unset in used file.) */
-			SvREFCNT_dec(cv);
-		    }
-		cv = NULL;
-	    }
 	}
     }
     if (const_sv) {
@@ -6240,6 +7503,7 @@
 	SvREFCNT_inc_simple_void_NN(const_sv);
 	if (cv) {
 	    assert(!CvROOT(cv) && !CvCONST(cv));
+	    cv_forget_slab(cv);
 	    sv_setpvs(MUTABLE_SV(cv), "");  /* prototype is "" */
 	    CvXSUBANY(cv).any_ptr = const_sv;
 	    CvXSUB(cv) = const_sv_xsub;
@@ -6248,15 +7512,11 @@
 	}
 	else {
 	    GvCV_set(gv, NULL);
-	    cv = newCONSTSUB(NULL, name, const_sv);
+	    cv = newCONSTSUB_flags(
+		NULL, name, namlen, name_is_utf8 ? SVf_UTF8 : 0,
+		const_sv
+	    );
 	}
-        mro_method_changed_in( /* sub Foo::Bar () { 123 } */
-            (CvGV(cv) && GvSTASH(CvGV(cv)))
-                ? GvSTASH(CvGV(cv))
-                : CvSTASH(cv)
-                    ? CvSTASH(cv)
-                    : PL_curstash
-        );
 	if (PL_madskills)
 	    goto install_block;
 	op_free(block);
@@ -6272,10 +7532,13 @@
 #endif
 	) {
 	    cv_flags_t existing_builtin_attrs = CvFLAGS(cv) & CVf_BUILTIN_ATTRS;
-	    AV *const temp_av = CvPADLIST(cv);
+	    PADLIST *const temp_av = CvPADLIST(cv);
 	    CV *const temp_cv = CvOUTSIDE(cv);
+	    const cv_flags_t other_flags =
+		CvFLAGS(cv) & (CVf_SLABBED|CVf_WEAKOUTSIDE);
+	    OP * const cvstart = CvSTART(cv);
 
-	    assert(!CvWEAKOUTSIDE(cv));
+	    CvGV_set(cv,gv);
 	    assert(!CvCVGV_RC(cv));
 	    assert(CvGV(cv) == gv);
 
@@ -6286,13 +7549,14 @@
 	    CvPADLIST(cv) = CvPADLIST(PL_compcv);
 	    CvOUTSIDE(PL_compcv) = temp_cv;
 	    CvPADLIST(PL_compcv) = temp_av;
+	    CvSTART(cv) = CvSTART(PL_compcv);
+	    CvSTART(PL_compcv) = cvstart;
+	    CvFLAGS(PL_compcv) &= ~(CVf_SLABBED|CVf_WEAKOUTSIDE);
+	    CvFLAGS(PL_compcv) |= other_flags;
 
-#ifdef USE_ITHREADS
-	    if (CvFILE(cv) && !CvISXSUB(cv)) {
-		/* for XSUBs CvFILE point directly to static memory; __FILE__ */
+	    if (CvFILE(cv) && CvDYNFILE(cv)) {
 		Safefree(CvFILE(cv));
     }
-#endif
 	    CvFILE_set_from_cop(cv, PL_curcop);
 	    CvSTASH_set(cv, PL_curstash);
 
@@ -6313,15 +7577,10 @@
 	cv = PL_compcv;
 	if (name) {
 	    GvCV_set(gv, cv);
-	    if (PL_madskills) {
-		if (strEQ(name, "import")) {
-		    PL_formfeed = MUTABLE_SV(cv);
-		    /* diag_listed_as: SKIPME */
-		    Perl_warner(aTHX_ packWARN(WARN_VOID), "0x%"UVxf"\n", PTR2UV(cv));
-		}
-	    }
 	    GvCVGEN(gv) = 0;
-            mro_method_changed_in(GvSTASH(gv)); /* sub Foo::bar { (shift)+1 } */
+	    if (HvENAME_HEK(GvSTASH(gv)))
+		/* sub Foo::bar { (shift)+1 } */
+		gv_method_changed(gv);
 	}
     }
     if (!CvGV(cv)) {
@@ -6329,37 +7588,15 @@
 	CvFILE_set_from_cop(cv, PL_curcop);
 	CvSTASH_set(cv, PL_curstash);
     }
-    if (attrs) {
-	/* Need to do a C<use attributes $stash_of_cv,\&cv, at attrs>. */
-	HV *stash = name && GvSTASH(CvGV(cv)) ? GvSTASH(CvGV(cv)) : PL_curstash;
-	apply_attrs(stash, MUTABLE_SV(cv), attrs, FALSE);
-    }
 
-    if (ps)
+    if (ps) {
 	sv_setpvn(MUTABLE_SV(cv), ps, ps_len);
+        if ( ps_utf8 ) SvUTF8_on(MUTABLE_SV(cv));
+    }
 
-    if (PL_parser && PL_parser->error_count) {
-	op_free(block);
-	block = NULL;
-	if (name) {
-	    const char *s = strrchr(name, ':');
-	    s = s ? s+1 : name;
-	    if (strEQ(s, "BEGIN")) {
-		const char not_safe[] =
-		    "BEGIN not safe after errors--compilation aborted";
-		if (PL_in_eval & EVAL_KEEPERR)
-		    Perl_croak(aTHX_ not_safe);
-		else {
-		    /* force display of errors found but not reported */
-		    sv_catpv(ERRSV, not_safe);
-		    Perl_croak(aTHX_ "%"SVf, SVfARG(ERRSV));
-		}
-	    }
-	}
-    }
  install_block:
     if (!block)
-	goto done;
+	goto attrs;
 
     /* If we assign an optree to a PVCV, then we've defined a subroutine that
        the debugger could be able to set a breakpoint in, so signal to
@@ -6367,14 +7604,8 @@
        exit.  */
        
     PL_breakable_sub_gen++;
-    if (CvLVALUE(cv)) {
-	CvROOT(cv) = newUNOP(OP_LEAVESUBLV, 0,
-			     op_lvalue(scalarseq(block), OP_LEAVESUBLV));
-	block->op_attached = 1;
-    }
-    else {
-	/* This makes sub {}; work as expected.  */
-	if (block->op_type == OP_STUB) {
+    /* This makes sub {}; work as expected.  */
+    if (block->op_type == OP_STUB) {
 	    OP* const newblock = newSTATEOP(0, NULL, 0);
 #ifdef PERL_MAD
 	    op_getmad(block,newblock,'B');
@@ -6382,16 +7613,24 @@
 	    op_free(block);
 #endif
 	    block = newblock;
-	}
-	else
-	    block->op_attached = 1;
-	CvROOT(cv) = newUNOP(OP_LEAVESUB, 0, scalarseq(block));
     }
+    CvROOT(cv) = CvLVALUE(cv)
+		   ? newUNOP(OP_LEAVESUBLV, 0,
+			     op_lvalue(scalarseq(block), OP_LEAVESUBLV))
+		   : newUNOP(OP_LEAVESUB, 0, scalarseq(block));
     CvROOT(cv)->op_private |= OPpREFCOUNTED;
     OpREFCNT_set(CvROOT(cv), 1);
+    /* The cv no longer needs to hold a refcount on the slab, as CvROOT
+       itself has a refcount. */
+    CvSLABBED_off(cv);
+    OpslabREFCNT_dec_padok((OPSLAB *)CvSTART(cv));
+#ifdef PERL_DEBUG_READONLY_OPS
+    slab = (OPSLAB *)CvSTART(cv);
+#endif
     CvSTART(cv) = LINKLIST(CvROOT(cv));
     CvROOT(cv)->op_next = 0;
     CALL_PEEP(CvSTART(cv));
+    finalize_optree(CvROOT(cv));
 
     /* now that optimizer has done its work, adjust pad values */
 
@@ -6403,7 +7642,16 @@
 	    CvCONST_on(cv);
     }
 
-    if (has_name) {
+  attrs:
+    if (attrs) {
+	/* Need to do a C<use attributes $stash_of_cv,\&cv, at attrs>. */
+	HV *stash = name && GvSTASH(CvGV(cv)) ? GvSTASH(CvGV(cv)) : PL_curstash;
+	if (!name) SAVEFREESV(cv);
+	apply_attrs(stash, MUTABLE_SV(cv), attrs);
+	if (!name) SvREFCNT_inc_simple_void_NN(cv);
+    }
+
+    if (block && has_name) {
 	if (PERLDB_SUBLINE && PL_curstash != PL_debstash) {
 	    SV * const tmpstr = sv_newmortal();
 	    GV * const db_postponed = gv_fetchpvs("DB::postponed",
@@ -6415,9 +7663,9 @@
 					  (long)CopLINE(PL_curcop));
 	    gv_efullname3(tmpstr, gv, NULL);
 	    (void)hv_store(GvHV(PL_DBsub), SvPVX_const(tmpstr),
-		    SvCUR(tmpstr), sv, 0);
+		    SvUTF8(tmpstr) ? -(I32)SvCUR(tmpstr) : (I32)SvCUR(tmpstr), sv, 0);
 	    hv = GvHVn(db_postponed);
-	    if (HvTOTALKEYS(hv) > 0 && hv_exists(hv, SvPVX_const(tmpstr), SvCUR(tmpstr))) {
+	    if (HvTOTALKEYS(hv) > 0 && hv_exists(hv, SvPVX_const(tmpstr), SvUTF8(tmpstr) ? -(I32)SvCUR(tmpstr) : (I32)SvCUR(tmpstr))) {
 		CV * const pcv = GvCV(db_postponed);
 		if (pcv) {
 		    dSP;
@@ -6430,7 +7678,7 @@
 	}
 
 	if (name && ! (PL_parser && PL_parser->error_count))
-	    process_special_blocks(name, gv, cv);
+	    process_special_blocks(floor, name, gv, cv);
     }
 
   done:
@@ -6437,11 +7685,16 @@
     if (PL_parser)
 	PL_parser->copline = NOLINE;
     LEAVE_SCOPE(floor);
+#ifdef PERL_DEBUG_READONLY_OPS
+    /* Watch out for BEGIN blocks */
+    if (slab && gv && isGV(gv) && GvCV(gv)) Slab_to_ro(slab);
+#endif
     return cv;
 }
 
 STATIC void
-S_process_special_blocks(pTHX_ const char *const fullname, GV *const gv,
+S_process_special_blocks(pTHX_ I32 floor, const char *const fullname,
+			 GV *const gv,
 			 CV *const cv)
 {
     const char *const colon = strrchr(fullname,':');
@@ -6452,9 +7705,11 @@
     if (*name == 'B') {
 	if (strEQ(name, "BEGIN")) {
 	    const I32 oldscope = PL_scopestack_ix;
+	    if (floor) LEAVE_SCOPE(floor);
 	    ENTER;
 	    SAVECOPFILE(&PL_compiling);
 	    SAVECOPLINE(&PL_compiling);
+	    SAVEVPTR(PL_curcop);
 
 	    DEBUG_x( dump_sub(gv) );
 	    Perl_av_create_and_push(aTHX_ &PL_beginav, MUTABLE_SV(cv));
@@ -6461,7 +7716,6 @@
 	    GvCV_set(gv,0);		/* cv has been hijacked */
 	    call_list(oldscope, PL_beginav);
 
-	    PL_curcop = &PL_compiling;
 	    CopHINTS_set(&PL_compiling, PL_hints);
 	    LEAVE;
 	}
@@ -6484,6 +7738,7 @@
 	} else if (*name == 'C') {
 	    if (strEQ(name, "CHECK")) {
 		if (PL_main_start)
+		    /* diag_listed_as: Too late to run %s block */
 		    Perl_ck_warner(aTHX_ packWARN(WARN_VOID),
 				   "Too late to run CHECK block");
 		Perl_av_create_and_unshift_one(aTHX_ &PL_checkav, MUTABLE_SV(cv));
@@ -6493,6 +7748,7 @@
 	} else if (*name == 'I') {
 	    if (strEQ(name, "INIT")) {
 		if (PL_main_start)
+		    /* diag_listed_as: Too late to run %s block */
 		    Perl_ck_warner(aTHX_ packWARN(WARN_VOID),
 				   "Too late to run INIT block");
 		Perl_av_create_and_push(aTHX_ &PL_initav, MUTABLE_SV(cv));
@@ -6509,9 +7765,28 @@
 /*
 =for apidoc newCONSTSUB
 
+See L</newCONSTSUB_flags>.
+
+=cut
+*/
+
+CV *
+Perl_newCONSTSUB(pTHX_ HV *stash, const char *name, SV *sv)
+{
+    return newCONSTSUB_flags(stash, name, name ? strlen(name) : 0, 0, sv);
+}
+
+/*
+=for apidoc newCONSTSUB_flags
+
 Creates a constant sub equivalent to Perl C<sub FOO () { 123 }> which is
 eligible for inlining at compile-time.
 
+Currently, the only useful value for C<flags> is SVf_UTF8.
+
+The newly created subroutine takes ownership of a reference to the passed in
+SV.
+
 Passing NULL for SV creates a constant sub equivalent to C<sub BAR () {}>,
 which won't be called if used as a destructor, but will suppress the overhead
 of a call to C<AUTOLOAD>.  (This form, however, isn't eligible for inlining at
@@ -6521,7 +7796,8 @@
 */
 
 CV *
-Perl_newCONSTSUB(pTHX_ HV *stash, const char *name, SV *sv)
+Perl_newCONSTSUB_flags(pTHX_ HV *stash, const char *name, STRLEN len,
+                             U32 flags, SV *sv)
 {
     dVAR;
     CV* cv;
@@ -6539,6 +7815,8 @@
 	 * an op shared between threads. Use a non-shared COP for our
 	 * dirty work */
 	 SAVEVPTR(PL_curcop);
+	 SAVECOMPILEWARNINGS();
+	 PL_compiling.cop_warnings = DUP_WARNINGS(PL_curcop->cop_warnings);
 	 PL_curcop = &PL_compiling;
     }
     SAVECOPLINE(PL_curcop);
@@ -6548,25 +7826,22 @@
     PL_hints &= ~HINT_BLOCK_SCOPE;
 
     if (stash) {
-	SAVESPTR(PL_curstash);
-	SAVECOPSTASH(PL_curcop);
-	PL_curstash = stash;
-	CopSTASH_set(PL_curcop,stash);
+	SAVEGENERICSV(PL_curstash);
+	PL_curstash = (HV *)SvREFCNT_inc_simple_NN(stash);
     }
 
-    /* file becomes the CvFILE. For an XS, it's supposed to be static storage,
+    /* Protect sv against leakage caused by fatal warnings. */
+    if (sv) SAVEFREESV(sv);
+
+    /* file becomes the CvFILE. For an XS, it's usually static storage,
        and so doesn't get free()d.  (It's expected to be from the C pre-
        processor __FILE__ directive). But we need a dynamically allocated one,
        and we need it to get freed.  */
-    cv = newXS_flags(name, const_sv_xsub, file ? file : "", "",
-		     XS_DYNAMIC_FILENAME);
-    CvXSUBANY(cv).any_ptr = sv;
+    cv = newXS_len_flags(name, len, const_sv_xsub, file ? file : "", "",
+			 &sv, XS_DYNAMIC_FILENAME | flags);
+    CvXSUBANY(cv).any_ptr = SvREFCNT_inc_simple(sv);
     CvCONST_on(cv);
 
-#ifdef USE_ITHREADS
-    if (stash)
-	CopSTASH_free(PL_curcop);
-#endif
     LEAVE;
 
     return cv;
@@ -6577,48 +7852,103 @@
 		 const char *const filename, const char *const proto,
 		 U32 flags)
 {
-    CV *cv = newXS(name, subaddr, filename);
-
     PERL_ARGS_ASSERT_NEWXS_FLAGS;
+    return newXS_len_flags(
+       name, name ? strlen(name) : 0, subaddr, filename, proto, NULL, flags
+    );
+}
 
-    if (flags & XS_DYNAMIC_FILENAME) {
-	/* We need to "make arrangements" (ie cheat) to ensure that the
-	   filename lasts as long as the PVCV we just created, but also doesn't
-	   leak  */
-	STRLEN filename_len = strlen(filename);
-	STRLEN proto_and_file_len = filename_len;
-	char *proto_and_file;
-	STRLEN proto_len;
+CV *
+Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len,
+			   XSUBADDR_t subaddr, const char *const filename,
+			   const char *const proto, SV **const_svp,
+			   U32 flags)
+{
+    CV *cv;
 
-	if (proto) {
-	    proto_len = strlen(proto);
-	    proto_and_file_len += proto_len;
+    PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS;
 
-	    Newx(proto_and_file, proto_and_file_len + 1, char);
-	    Copy(proto, proto_and_file, proto_len, char);
-	    Copy(filename, proto_and_file + proto_len, filename_len + 1, char);
-	} else {
-	    proto_len = 0;
-	    proto_and_file = savepvn(filename, filename_len);
-	}
+    {
+        GV * const gv = gv_fetchpvn(
+			    name ? name : PL_curstash ? "__ANON__" : "__ANON__::__ANON__",
+			    name ? len : PL_curstash ? sizeof("__ANON__") - 1:
+				sizeof("__ANON__::__ANON__") - 1,
+			    GV_ADDMULTI | flags, SVt_PVCV);
+    
+        if (!subaddr)
+            Perl_croak(aTHX_ "panic: no address for '%s' in '%s'", name, filename);
+    
+        if ((cv = (name ? GvCV(gv) : NULL))) {
+            if (GvCVGEN(gv)) {
+                /* just a cached method */
+                SvREFCNT_dec(cv);
+                cv = NULL;
+            }
+            else if (CvROOT(cv) || CvXSUB(cv) || GvASSUMECV(gv)) {
+                /* already defined (or promised) */
+                /* Redundant check that allows us to avoid creating an SV
+                   most of the time: */
+                if (CvCONST(cv) || ckWARN(WARN_REDEFINE)) {
+                    report_redefined_cv(newSVpvn_flags(
+                                         name,len,(flags&SVf_UTF8)|SVs_TEMP
+                                        ),
+                                        cv, const_svp);
+                }
+                SvREFCNT_dec_NN(cv);
+                cv = NULL;
+            }
+        }
+    
+        if (cv)				/* must reuse cv if autoloaded */
+            cv_undef(cv);
+        else {
+            cv = MUTABLE_CV(newSV_type(SVt_PVCV));
+            if (name) {
+                GvCV_set(gv,cv);
+                GvCVGEN(gv) = 0;
+                if (HvENAME_HEK(GvSTASH(gv)))
+                    gv_method_changed(gv); /* newXS */
+            }
+        }
+        if (!name)
+            CvANON_on(cv);
+        CvGV_set(cv, gv);
+        (void)gv_fetchfile(filename);
+        CvFILE(cv) = (char *)filename; /* NOTE: not copied, as it is expected to be
+                                    an external constant string */
+        assert(!CvDYNFILE(cv)); /* cv_undef should have turned it off */
+        CvISXSUB_on(cv);
+        CvXSUB(cv) = subaddr;
+    
+        if (name)
+            process_special_blocks(0, name, gv, cv);
+    }
 
-	/* This gets free()d.  :-)  */
-	sv_usepvn_flags(MUTABLE_SV(cv), proto_and_file, proto_and_file_len,
-			SV_HAS_TRAILING_NUL);
-	if (proto) {
-	    /* This gives us the correct prototype, rather than one with the
-	       file name appended.  */
-	    SvCUR_set(cv, proto_len);
-	} else {
-	    SvPOK_off(cv);
-	}
-	CvFILE(cv) = proto_and_file + proto_len;
-    } else {
-	sv_setpv(MUTABLE_SV(cv), proto);
+    if (flags & XS_DYNAMIC_FILENAME) {
+	CvFILE(cv) = savepv(filename);
+	CvDYNFILE_on(cv);
     }
+    sv_setpv(MUTABLE_SV(cv), proto);
     return cv;
 }
 
+CV *
+Perl_newSTUB(pTHX_ GV *gv, bool fake)
+{
+    CV *cv = MUTABLE_CV(newSV_type(SVt_PVCV));
+    PERL_ARGS_ASSERT_NEWSTUB;
+    assert(!GvCVu(gv));
+    GvCV_set(gv, cv);
+    GvCVGEN(gv) = 0;
+    if (!fake && HvENAME_HEK(GvSTASH(gv)))
+	gv_method_changed(gv);
+    CvGV_set(cv, gv);
+    CvFILE_set_from_cop(cv, PL_curcop);
+    CvSTASH_set(cv, PL_curstash);
+    GvMULTI_on(gv);
+    return cv;
+}
+
 /*
 =for apidoc U||newXS
 
@@ -6631,73 +7961,10 @@
 CV *
 Perl_newXS(pTHX_ const char *name, XSUBADDR_t subaddr, const char *filename)
 {
-    dVAR;
-    GV * const gv = gv_fetchpv(name ? name :
-			(PL_curstash ? "__ANON__" : "__ANON__::__ANON__"),
-			GV_ADDMULTI, SVt_PVCV);
-    register CV *cv;
-
     PERL_ARGS_ASSERT_NEWXS;
-
-    if (!subaddr)
-	Perl_croak(aTHX_ "panic: no address for '%s' in '%s'", name, filename);
-
-    if ((cv = (name ? GvCV(gv) : NULL))) {
-	if (GvCVGEN(gv)) {
-	    /* just a cached method */
-	    SvREFCNT_dec(cv);
-	    cv = NULL;
-	}
-	else if (CvROOT(cv) || CvXSUB(cv) || GvASSUMECV(gv)) {
-	    /* already defined (or promised) */
-	    /* XXX It's possible for this HvNAME_get to return null, and get passed into strEQ */
-	    if (ckWARN(WARN_REDEFINE)) {
-		GV * const gvcv = CvGV(cv);
-		if (gvcv) {
-		    HV * const stash = GvSTASH(gvcv);
-		    if (stash) {
-			const char *redefined_name = HvNAME_get(stash);
-			if ( strEQ(redefined_name,"autouse") ) {
-			    const line_t oldline = CopLINE(PL_curcop);
-			    if (PL_parser && PL_parser->copline != NOLINE)
-				CopLINE_set(PL_curcop, PL_parser->copline);
-			    Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
-					CvCONST(cv) ? "Constant subroutine %s redefined"
-						    : "Subroutine %s redefined"
-					,name);
-			    CopLINE_set(PL_curcop, oldline);
-			}
-		    }
-		}
-	    }
-	    SvREFCNT_dec(cv);
-	    cv = NULL;
-	}
-    }
-
-    if (cv)				/* must reuse cv if autoloaded */
-	cv_undef(cv);
-    else {
-	cv = MUTABLE_CV(newSV_type(SVt_PVCV));
-	if (name) {
-	    GvCV_set(gv,cv);
-	    GvCVGEN(gv) = 0;
-            mro_method_changed_in(GvSTASH(gv)); /* newXS */
-	}
-    }
-    if (!name)
-	CvANON_on(cv);
-    CvGV_set(cv, gv);
-    (void)gv_fetchfile(filename);
-    CvFILE(cv) = (char *)filename; /* NOTE: not copied, as it is expected to be
-				   an external constant string */
-    CvISXSUB_on(cv);
-    CvXSUB(cv) = subaddr;
-
-    if (name)
-	process_special_blocks(name, gv, cv);
-
-    return cv;
+    return newXS_len_flags(
+	name, name ? strlen(name) : 0, subaddr, filename, NULL, NULL, 0
+    );
 }
 
 #ifdef PERL_MAD
@@ -6708,12 +7975,19 @@
 Perl_newFORM(pTHX_ I32 floor, OP *o, OP *block)
 {
     dVAR;
-    register CV *cv;
+    CV *cv;
 #ifdef PERL_MAD
     OP* pegop = newOP(OP_NULL, 0);
 #endif
 
-    GV * const gv = o
+    GV *gv;
+
+    if (PL_parser && PL_parser->error_count) {
+	op_free(block);
+	goto finish;
+    }
+
+    gv = o
 	? gv_fetchsv(cSVOPo->op_sv, GV_ADD, SVt_PVFM)
 	: gv_fetchpvs("STDOUT", GV_ADD|GV_NOTQUAL, SVt_PVFM);
 
@@ -6727,6 +8001,7 @@
 		Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
 			    "Format %"SVf" redefined", SVfARG(cSVOPo->op_sv));
 	    } else {
+		/* diag_listed_as: Format %s redefined */
 		Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
 			    "Format STDOUT redefined");
 	    }
@@ -6735,7 +8010,7 @@
 	SvREFCNT_dec(cv);
     }
     cv = PL_compcv;
-    GvFORM(gv) = cv;
+    GvFORM(gv) = (CV *)SvREFCNT_inc_simple_NN(cv);
     CvGV_set(cv, gv);
     CvFILE_set_from_cop(cv, PL_curcop);
 
@@ -6747,6 +8022,10 @@
     CvSTART(cv) = LINKLIST(CvROOT(cv));
     CvROOT(cv)->op_next = 0;
     CALL_PEEP(CvSTART(cv));
+    finalize_optree(CvROOT(cv));
+    cv_forget_slab(cv);
+
+  finish:
 #ifdef PERL_MAD
     op_getmad(o,pegop,'n');
     op_getmad_weak(block, pegop, 'b');
@@ -6890,6 +8169,11 @@
 OP *
 Perl_newCVREF(pTHX_ I32 flags, OP *o)
 {
+    if (o->op_type == OP_PADANY) {
+	dVAR;
+	o->op_type = OP_PADCV;
+	o->op_ppaddr = PL_ppaddr[OP_PADCV];
+    }
     return newUNOP(OP_RV2CV, flags, scalar(o));
 }
 
@@ -6916,7 +8200,7 @@
 {
     PERL_ARGS_ASSERT_CK_ANONCODE;
 
-    cSVOPo->op_targ = pad_add_anon(cSVOPo->op_sv, o->op_type);
+    cSVOPo->op_targ = pad_add_anon((CV*)cSVOPo->op_sv, o->op_type);
     if (!PL_madskills)
 	cSVOPo->op_sv = NULL;
     return o;
@@ -6929,14 +8213,6 @@
 
     PERL_ARGS_ASSERT_CK_BITOP;
 
-#define OP_IS_NUMCOMPARE(op) \
-	((op) == OP_LT   || (op) == OP_I_LT || \
-	 (op) == OP_GT   || (op) == OP_I_GT || \
-	 (op) == OP_LE   || (op) == OP_I_LE || \
-	 (op) == OP_GE   || (op) == OP_I_GE || \
-	 (op) == OP_EQ   || (op) == OP_I_EQ || \
-	 (op) == OP_NE   || (op) == OP_I_NE || \
-	 (op) == OP_NCMP || (op) == OP_I_NCMP)
     o->op_private = (U8)(PL_hints & HINT_INTEGER);
     if (!(o->op_flags & OPf_STACKED) /* Not an assignment */
 	    && (o->op_type == OP_BIT_OR
@@ -6958,7 +8234,37 @@
     return o;
 }
 
+PERL_STATIC_INLINE bool
+is_dollar_bracket(pTHX_ const OP * const o)
+{
+    const OP *kid;
+    return o->op_type == OP_RV2SV && o->op_flags & OPf_KIDS
+	&& (kid = cUNOPx(o)->op_first)
+	&& kid->op_type == OP_GV
+	&& strEQ(GvNAME(cGVOPx_gv(kid)), "[");
+}
+
 OP *
+Perl_ck_cmp(pTHX_ OP *o)
+{
+    PERL_ARGS_ASSERT_CK_CMP;
+    if (ckWARN(WARN_SYNTAX)) {
+	const OP *kid = cUNOPo->op_first;
+	if (kid && (
+		(
+		   is_dollar_bracket(aTHX_ kid)
+		&& kid->op_sibling && kid->op_sibling->op_type == OP_CONST
+		)
+	     || (  kid->op_type == OP_CONST
+		&& (kid = kid->op_sibling) && is_dollar_bracket(aTHX_ kid))
+	   ))
+	    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
+			"$[ used in %s (did you mean $] ?)", OP_DESC(o));
+    }
+    return o;
+}
+
+OP *
 Perl_ck_concat(pTHX_ OP *o)
 {
     const OP * const kid = cUNOPo->op_first;
@@ -7000,6 +8306,8 @@
 #endif
 	kUNOP->op_first = newop;
     }
+    /* transforms OP_REFGEN into OP_SREFGEN, OP_CHOP into OP_SCHOP,
+     * and OP_CHOMP into OP_SCHOMP */
     o->op_ppaddr = PL_ppaddr[++o->op_type];
     return ck_fun(o);
 }
@@ -7055,6 +8363,7 @@
     PERL_ARGS_ASSERT_CK_EOF;
 
     if (o->op_flags & OPf_KIDS) {
+	OP *kid;
 	if (cLISTOPo->op_first->op_type == OP_STUB) {
 	    OP * const newop
 		= newUNOP(o->op_type, OPf_SPECIAL, newGVOP(OP_GV, 0, PL_argvgv));
@@ -7065,7 +8374,10 @@
 #endif
 	    o = newop;
 	}
-	return ck_fun(o);
+	o = ck_fun(o);
+	kid = cLISTOPo->op_first;
+	if (kid->op_type == OP_RV2GV)
+	    kid->op_private |= OPpALLOW_FAKE;
     }
     return o;
 }
@@ -7117,16 +8429,19 @@
 	}
     }
     else {
+	const U8 priv = o->op_private;
 #ifdef PERL_MAD
 	OP* const oldo = o;
 #else
 	op_free(o);
 #endif
-	o = newUNOP(OP_ENTEREVAL, 0, newDEFSVOP());
+	o = newUNOP(OP_ENTEREVAL, priv <<8, newDEFSVOP());
 	op_getmad(oldo,o,'O');
     }
     o->op_targ = (PADOFFSET)PL_hints;
-    if ((PL_hints & HINT_LOCALIZE_HH) != 0 && GvHV(PL_hintgv)) {
+    if (o->op_private & OPpEVAL_BYTES) o->op_targ &= ~HINT_UTF8;
+    if ((PL_hints & HINT_LOCALIZE_HH) != 0
+     && !(o->op_private & OPpEVAL_COPHH) && GvHV(PL_hintgv)) {
 	/* Store a copy of %^H that pp_entereval can pick up. */
 	OP *hhop = newSVOP(OP_HINTSEVAL, 0,
 			   MUTABLE_SV(hv_copy_hints_hv(GvHV(PL_hintgv))));
@@ -7133,6 +8448,9 @@
 	cUNOPo->op_first->op_sibling = hhop;
 	o->op_private |= OPpEVAL_HAS_HH;
     }
+    if (!(o->op_private & OPpEVAL_BYTES)
+	 && FEATURE_UNIEVAL_IS_ENABLED)
+	    o->op_private |= OPpEVAL_UNICODE;
     return o;
 }
 
@@ -7199,7 +8517,7 @@
 }
 
 OP *
-Perl_ck_rvconst(pTHX_ register OP *o)
+Perl_ck_rvconst(pTHX_ OP *o)
 {
     dVAR;
     SVOP * const kid = (SVOP*)cUNOPo->op_first;
@@ -7322,7 +8640,8 @@
 	SVOP * const kid = (SVOP*)cUNOPo->op_first;
 	const OPCODE kidtype = kid->op_type;
 
-	if (kidtype == OP_CONST && (kid->op_private & OPpCONST_BARE)) {
+	if (kidtype == OP_CONST && (kid->op_private & OPpCONST_BARE)
+	 && !(kid->op_private & OPpCONST_FOLDED)) {
 	    OP * const newop = newGVOP(type, OPf_REF,
 		gv_fetchsv(kid->op_sv, GV_ADD, SVt_PVIO));
 #ifdef PERL_MAD
@@ -7335,8 +8654,15 @@
 	if ((PL_hints & HINT_FILETEST_ACCESS) && OP_IS_FILETEST_ACCESS(o->op_type))
 	    o->op_private |= OPpFT_ACCESS;
 	if (PL_check[kidtype] == Perl_ck_ftst
-		&& kidtype != OP_STAT && kidtype != OP_LSTAT)
+	        && kidtype != OP_STAT && kidtype != OP_LSTAT) {
 	    o->op_private |= OPpFT_STACKED;
+	    kid->op_private |= OPpFT_STACKING;
+	    if (kidtype == OP_FTTTY && (
+		   !(kid->op_private & OPpFT_STACKED)
+		|| kid->op_private & OPpFT_AFTER_t
+	       ))
+		o->op_private |= OPpFT_AFTER_t;
+	}
     }
     else {
 #ifdef PERL_MAD
@@ -7358,7 +8684,7 @@
 {
     dVAR;
     const int type = o->op_type;
-    register I32 oa = PL_opargs[type] >> OASHIFT;
+    I32 oa = PL_opargs[type] >> OASHIFT;
 
     PERL_ARGS_ASSERT_CK_FUN;
 
@@ -7371,9 +8697,10 @@
 
     if (o->op_flags & OPf_KIDS) {
         OP **tokid = &cLISTOPo->op_first;
-        register OP *kid = cLISTOPo->op_first;
+        OP *kid = cLISTOPo->op_first;
         OP *sibl;
         I32 numargs = 0;
+	bool seen_optional = FALSE;
 
 	if (kid->op_type == OP_PUSHMARK ||
 	    (kid->op_type == OP_NULL && kid->op_targ == OP_PUSHMARK))
@@ -7381,10 +8708,25 @@
 	    tokid = &kid->op_sibling;
 	    kid = kid->op_sibling;
 	}
-	if (!kid && PL_opargs[type] & OA_DEFGV)
-	    *tokid = kid = newDEFSVOP();
+	if (kid && kid->op_type == OP_COREARGS) {
+	    bool optional = FALSE;
+	    while (oa) {
+		numargs++;
+		if (oa & OA_OPTIONAL) optional = TRUE;
+		oa = oa >> 4;
+	    }
+	    if (optional) o->op_private |= numargs;
+	    return o;
+	}
 
-	while (oa && kid) {
+	while (oa) {
+	    if (oa & OA_OPTIONAL || (oa & 7) == OA_LIST) {
+		if (!kid && !seen_optional && PL_opargs[type] & OA_DEFGV)
+		    *tokid = kid = newDEFSVOP();
+		seen_optional = TRUE;
+	    }
+	    if (!kid) break;
+
 	    numargs++;
 	    sibl = kid->op_sibling;
 #ifdef PERL_MAD
@@ -7399,7 +8741,7 @@
 		if (numargs == 1 && !(oa >> 4)
 		    && kid->op_type == OP_LIST && type != OP_SCALAR)
 		{
-		    return too_many_arguments(o,PL_op_desc[type]);
+		    return too_many_arguments_pv(o,PL_op_desc[type], 0);
 		}
 		scalar(kid);
 		break;
@@ -7439,7 +8781,7 @@
 		      && (  !SvROK(cSVOPx_sv(kid)) 
 		         || SvTYPE(SvRV(cSVOPx_sv(kid))) != SVt_PVAV  )
 		        )
-		    bad_type(numargs, "array", PL_op_desc[type], kid);
+		    bad_type_pv(numargs, "array", PL_op_desc[type], 0, kid);
 		/* Defer checks to run-time if we have a scalar arg */
 		if (kid->op_type == OP_RV2AV || kid->op_type == OP_PADAV)
 		    op_lvalue(kid, type);
@@ -7464,7 +8806,7 @@
 		    *tokid = kid;
 		}
 		else if (kid->op_type != OP_RV2HV && kid->op_type != OP_PADHV)
-		    bad_type(numargs, "hash", PL_op_desc[type], kid);
+		    bad_type_pv(numargs, "hash", PL_op_desc[type], 0, kid);
 		op_lvalue(kid, type);
 		break;
 	    case OA_CVREF:
@@ -7471,7 +8813,6 @@
 		{
 		    OP * const newop = newUNOP(OP_NULL, 0, kid);
 		    kid->op_sibling = 0;
-		    LINKLIST(kid);
 		    newop->op_next = newop;
 		    kid = newop;
 		    kid->op_sibling = sibl;
@@ -7497,7 +8838,7 @@
 		    }
 		    else if (kid->op_type == OP_READLINE) {
 			/* neophyte patrol: open(<FH>), close(<FH>) etc. */
-			bad_type(numargs, "HANDLE", OP_DESC(o), kid);
+			bad_type_pv(numargs, "HANDLE", OP_DESC(o), 0, kid);
 		    }
 		    else {
 			I32 flags = OPf_SPECIAL;
@@ -7508,6 +8849,8 @@
 			if (is_handle_constructor(o,numargs)) {
                             const char *name = NULL;
 			    STRLEN len = 0;
+                            U32 name_utf8 = 0;
+			    bool want_dollar = TRUE;
 
 			    flags = 0;
 			    /* Set a flag to tell rv2gv to vivify
@@ -7519,6 +8862,7 @@
 				SV *const namesv
 				    = PAD_COMPNAME_SV(kid->op_targ);
 				name = SvPV_const(namesv, len);
+                                name_utf8 = SvUTF8(namesv);
 			    }
 			    else if (kid->op_type == OP_RV2SV
 				     && kUNOP->op_first->op_type == OP_GV)
@@ -7526,6 +8870,7 @@
 				GV * const gv = cGVOPx_gv(kUNOP->op_first);
 				name = GvNAME(gv);
 				len = GvNAMELEN(gv);
+                                name_utf8 = GvNAMEUTF8(gv) ? SVf_UTF8 : 0;
 			    }
 			    else if (kid->op_type == OP_AELEM
 				     || kid->op_type == OP_HELEM)
@@ -7565,6 +8910,7 @@
 				      }
 				      if (tmpstr) {
 					   name = SvPV_const(tmpstr, len);
+                                           name_utf8 = SvUTF8(tmpstr);
 					   sv_2mortal(tmpstr);
 				      }
 				 }
@@ -7571,6 +8917,7 @@
 				 if (!name) {
 				      name = "__ANONIO__";
 				      len = 10;
+				      want_dollar = FALSE;
 				 }
 				 op_lvalue(kid, type);
 			    }
@@ -7579,9 +8926,10 @@
 				targ = pad_alloc(OP_RV2GV, SVs_PADTMP);
 				namesv = PAD_SVl(targ);
 				SvUPGRADE(namesv, SVt_PV);
-				if (*name != '$')
+				if (want_dollar && *name != '$')
 				    sv_setpvs(namesv, "$");
 				sv_catpvn(namesv, name, len);
+                                if ( name_utf8 ) SvUTF8_on(namesv);
 			    }
 			}
 			kid->op_sibling = 0;
@@ -7595,6 +8943,10 @@
 		scalar(kid);
 		break;
 	    case OA_SCALARREF:
+		if ((type == OP_UNDEF || type == OP_POS)
+		    && numargs == 1 && !(oa >> 4)
+		    && kid->op_type == OP_LIST)
+		    return too_many_arguments_pv(o,PL_op_desc[type], 0);
 		op_lvalue(scalar(kid), type);
 		break;
 	    }
@@ -7604,13 +8956,13 @@
 	}
 #ifdef PERL_MAD
 	if (kid && kid->op_type != OP_STUB)
-	    return too_many_arguments(o,OP_DESC(o));
+	    return too_many_arguments_pv(o,OP_DESC(o), 0);
 	o->op_private |= numargs;
 #else
 	/* FIXME - should the numargs move as for the PERL_MAD case?  */
 	o->op_private |= numargs;
 	if (kid)
-	    return too_many_arguments(o,OP_DESC(o));
+	    return too_many_arguments_pv(o,OP_DESC(o), 0);
 #endif
 	listkids(o);
     }
@@ -7630,7 +8982,7 @@
 	while (oa & OA_OPTIONAL)
 	    oa >>= 4;
 	if (oa && oa != OA_LIST)
-	    return too_few_arguments(o,OP_DESC(o));
+	    return too_few_arguments_pv(o,OP_DESC(o), 0);
     }
     return o;
 }
@@ -7640,6 +8992,7 @@
 {
     dVAR;
     GV *gv;
+    const bool core = o->op_flags & OPf_SPECIAL;
 
     PERL_ARGS_ASSERT_CK_GLOB;
 
@@ -7647,30 +9000,15 @@
     if ((o->op_flags & OPf_KIDS) && !cLISTOPo->op_first->op_sibling)
 	op_append_elem(OP_GLOB, o, newDEFSVOP()); /* glob() => glob($_) */
 
-    if (!((gv = gv_fetchpvs("glob", GV_NOTQUAL, SVt_PVCV))
+    if (core) gv = NULL;
+    else if (!((gv = gv_fetchpvs("glob", GV_NOTQUAL, SVt_PVCV))
 	  && GvCVu(gv) && GvIMPORTED_CV(gv)))
     {
-	gv = gv_fetchpvs("CORE::GLOBAL::glob", 0, SVt_PVCV);
+	GV * const * const gvp =
+	    (GV **)hv_fetchs(PL_globalstash, "glob", FALSE);
+	gv = gvp ? *gvp : NULL;
     }
 
-#if !defined(PERL_EXTERNAL_GLOB)
-    /* XXX this can be tightened up and made more failsafe. */
-    if (!(gv && GvCVu(gv) && GvIMPORTED_CV(gv))) {
-	GV *glob_gv;
-	ENTER;
-	Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT,
-		newSVpvs("File::Glob"), NULL, NULL, NULL);
-	if((glob_gv = gv_fetchpvs("File::Glob::csh_glob", 0, SVt_PVCV))) {
-	    gv = gv_fetchpvs("CORE::GLOBAL::glob", 0, SVt_PVCV);
-	    GvCV_set(gv, GvCV(glob_gv));
-	    SvREFCNT_inc_void(MUTABLE_SV(GvCV(gv)));
-	    GvIMPORTED_CV_on(gv);
-	}
-	LEAVE;
-    }
-#endif /* PERL_EXTERNAL_GLOB */
-
-    assert(!(o->op_flags & OPf_SPECIAL));
     if (gv && GvCVu(gv) && GvIMPORTED_CV(gv)) {
 	/* convert
 	 *     glob
@@ -7682,24 +9020,33 @@
 	 *                 \ mark - glob - rv2cv
 	 *                             |        \ gv(CORE::GLOBAL::glob)
 	 *                             |
-	 *                              \ null - const(wildcard) - const(ix)
+	 *                              \ null - const(wildcard)
 	 */
 	o->op_flags |= OPf_SPECIAL;
 	o->op_targ = pad_alloc(OP_GLOB, SVs_PADTMP);
-	op_append_elem(OP_GLOB, o,
-		    newSVOP(OP_CONST, 0, newSViv(PL_glob_index++)));
 	o = newLISTOP(OP_LIST, 0, o, NULL);
 	o = newUNOP(OP_ENTERSUB, OPf_STACKED,
 		    op_append_elem(OP_LIST, o,
 				scalar(newUNOP(OP_RV2CV, 0,
 					       newGVOP(OP_GV, 0, gv)))));
-	o = newUNOP(OP_NULL, 0, ck_subr(o));
+	o = newUNOP(OP_NULL, 0, o);
 	o->op_targ = OP_GLOB; /* hint at what it used to be: eg in newWHILEOP */
 	return o;
     }
-    gv = newGVgen("main");
+    else o->op_flags &= ~OPf_SPECIAL;
+#if !defined(PERL_EXTERNAL_GLOB)
+    if (!PL_globhook) {
+	ENTER;
+	Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT,
+			       newSVpvs("File::Glob"), NULL, NULL, NULL);
+	LEAVE;
+    }
+#endif /* !PERL_EXTERNAL_GLOB */
+    gv = (GV *)newSV(0);
+    gv_init(gv, 0, "", 0, 0);
     gv_IOadd(gv);
     op_append_elem(OP_GLOB, o, newGVOP(OP_GV, 0, gv));
+    SvREFCNT_dec_NN(gv); /* newGVOP increased it */
     scalarkids(o);
     return o;
 }
@@ -7708,7 +9055,7 @@
 Perl_ck_grep(pTHX_ OP *o)
 {
     dVAR;
-    LOGOP *gwop = NULL;
+    LOGOP *gwop;
     OP *kid;
     const OPCODE type = o->op_type == OP_GREPSTART ? OP_GREPWHILE : OP_MAPWHILE;
     PADOFFSET offset;
@@ -7719,16 +9066,9 @@
     /* don't allocate gwop here, as we may leak it if PL_parser->error_count > 0 */
 
     if (o->op_flags & OPf_STACKED) {
-	OP* k;
-	o = ck_sort(o);
         kid = cUNOPx(cLISTOPo->op_first->op_sibling)->op_first;
 	if (kid->op_type != OP_SCOPE && kid->op_type != OP_LEAVE)
 	    return no_fh_allowed(o);
-	for (k = kid; k; k = k->op_next) {
-	    kid = k;
-	}
-	NewOp(1101, gwop, 1, LOGOP);
-	kid->op_next = (OP*)gwop;
 	o->op_flags &= ~OPf_STACKED;
     }
     kid = cLISTOPo->op_first->op_sibling;
@@ -7741,18 +9081,17 @@
 	return o;
     kid = cLISTOPo->op_first->op_sibling;
     if (kid->op_type != OP_NULL)
-	Perl_croak(aTHX_ "panic: ck_grep");
+	Perl_croak(aTHX_ "panic: ck_grep, type=%u", (unsigned) kid->op_type);
     kid = kUNOP->op_first;
 
-    if (!gwop)
-	NewOp(1101, gwop, 1, LOGOP);
+    NewOp(1101, gwop, 1, LOGOP);
     gwop->op_type = type;
     gwop->op_ppaddr = PL_ppaddr[type];
-    gwop->op_first = listkids(o);
+    gwop->op_first = o;
     gwop->op_flags |= OPf_KIDS;
     gwop->op_other = LINKLIST(kid);
     kid->op_next = (OP*)gwop;
-    offset = Perl_pad_findmy(aTHX_ STR_WITH_LEN("$_"), 0);
+    offset = pad_findmy_pvs("$_", 0);
     if (offset == NOT_IN_PAD || PAD_COMPNAME_FLAGS_isOUR(offset)) {
 	o->op_private = gwop->op_private = 0;
 	gwop->op_targ = pad_alloc(type, SVs_PADTMP);
@@ -7763,8 +9102,6 @@
     }
 
     kid = cLISTOPo->op_first->op_sibling;
-    if (!kid || !kid->op_sibling)
-	return too_few_arguments(o,OP_DESC(o));
     for (kid = kid->op_sibling; kid; kid = kid->op_sibling)
 	op_lvalue(kid, OP_GREPSTART);
 
@@ -7780,8 +9117,14 @@
 	OP *kid = cLISTOPo->op_first->op_sibling;	/* get past pushmark */
 	if (kid)
 	    kid = kid->op_sibling;			/* get past "big" */
-	if (kid && kid->op_type == OP_CONST)
+	if (kid && kid->op_type == OP_CONST) {
+	    const bool save_taint = TAINT_get;
 	    fbm_compile(((SVOP*)kid)->op_sv, 0);
+	    TAINT_set(save_taint);
+#ifdef NO_TAINT_SUPPORT
+            PERL_UNUSED_VAR(save_taint);
+#endif
+	}
     }
     return ck_fun(o);
 }
@@ -7804,11 +9147,6 @@
     if ((o->op_flags & OPf_KIDS)) {
 	switch (cUNOPo->op_first->op_type) {
 	case OP_RV2AV:
-	    /* This is needed for
-	       if (defined %stash::)
-	       to work.   Do not break Tk.
-	       */
-	    break;                      /* Globals via GV can be undef */
 	case OP_PADAV:
 	case OP_AASSIGN:		/* Is this a good idea? */
 	    Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),
@@ -7836,7 +9174,11 @@
 {
     PERL_ARGS_ASSERT_CK_READLINE;
 
-    if (!(o->op_flags & OPf_KIDS)) {
+    if (o->op_flags & OPf_KIDS) {
+	 OP *kid = cLISTOPo->op_first;
+	 if (kid->op_type == OP_RV2GV) kid->op_private |= OPpALLOW_FAKE;
+    }
+    else {
 	OP * const newop
 	    = newUNOP(OP_READLINE, 0, newGVOP(OP_GV, 0, PL_argvgv));
 #ifdef PERL_MAD
@@ -7862,7 +9204,7 @@
 OP *
 Perl_ck_listiob(pTHX_ OP *o)
 {
-    register OP *kid;
+    OP *kid;
 
     PERL_ARGS_ASSERT_CK_LISTIOB;
 
@@ -7876,7 +9218,8 @@
     if (kid && o->op_flags & OPf_STACKED)
 	kid = kid->op_sibling;
     else if (kid && !kid->op_sibling) {		/* print HANDLE; */
-	if (kid->op_type == OP_CONST && kid->op_private & OPpCONST_BARE) {
+	if (kid->op_type == OP_CONST && kid->op_private & OPpCONST_BARE
+	 && !(kid->op_private & OPpCONST_FOLDED)) {
 	    o->op_flags |= OPf_STACKED;	/* make it a filehandle */
 	    kid = newUNOP(OP_RV2GV, OPf_REF, scalar(kid));
 	    cLISTOPo->op_first->op_sibling = kid;
@@ -7888,6 +9231,7 @@
     if (!kid)
 	op_append_elem(o->op_type, o, newDEFSVOP());
 
+    if (o->op_type == OP_PRTF) return modkids(listkids(o), OP_PRTF);
     return listkids(o);
 }
 
@@ -7999,7 +9343,7 @@
     PERL_ARGS_ASSERT_CK_MATCH;
 
     if (o->op_type != OP_QR && PL_compcv) {
-	const PADOFFSET offset = Perl_pad_findmy(aTHX_ STR_WITH_LEN("$_"), 0);
+	const PADOFFSET offset = pad_findmy_pvs("$_", 0);
 	if (offset != NOT_IN_PAD && !(PAD_COMPNAME_FLAGS_isOUR(offset))) {
 	    o->op_targ = offset;
 	    o->op_private |= OPpTARGET_MY;
@@ -8022,8 +9366,8 @@
 	const char * const method = SvPVX_const(sv);
 	if (!(strchr(method, ':') || strchr(method, '\''))) {
 	    OP *cmop;
-	    if (!SvREADONLY(sv) || !SvFAKE(sv)) {
-		sv = newSVpvn_share(method, SvCUR(sv), 0);
+	    if (!SvIsCOW(sv)) {
+		sv = newSVpvn_share(method, SvUTF8(sv) ? -(I32)SvCUR(sv) : (I32)SvCUR(sv), 0);
 	    }
 	    else {
 		kSVOP->op_sv = NULL;
@@ -8147,14 +9491,9 @@
 	    const char *end;
 
 	    if (was_readonly) {
-		if (SvFAKE(sv)) {
-		    sv_force_normal_flags(sv, 0);
-		    assert(!SvREADONLY(sv));
-		    was_readonly = 0;
-		} else {
 		    SvREADONLY_off(sv);
-		}
 	    }   
+	    if (SvIsCOW(sv)) sv_force_normal_flags(sv, 0);
 
 	    s = SvPVX(sv);
 	    len = SvCUR(sv);
@@ -8182,18 +9521,22 @@
     }
 
     if (gv && GvCVu(gv) && GvIMPORTED_CV(gv)) {
-	OP * const kid = cUNOPo->op_first;
-	OP * newop;
-
-	cUNOPo->op_first = 0;
+	OP *kid, *newop;
+	if (o->op_flags & OPf_KIDS) {
+	    kid = cUNOPo->op_first;
+	    cUNOPo->op_first = NULL;
+	}
+	else {
+	    kid = newDEFSVOP();
+	}
 #ifndef PERL_MAD
 	op_free(o);
 #endif
-	newop = ck_subr(newUNOP(OP_ENTERSUB, OPf_STACKED,
+	newop = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST, kid,
 					    scalar(newUNOP(OP_RV2CV, 0,
 							   newGVOP(OP_GV, 0,
-								   gv))))));
+								   gv)))));
 	op_getmad(o,newop,'O');
 	return newop;
     }
@@ -8213,19 +9556,6 @@
     if (CvLVALUE(PL_compcv)) {
 	for (; kid; kid = kid->op_sibling)
 	    op_lvalue(kid, OP_LEAVESUBLV);
-    } else {
-	for (; kid; kid = kid->op_sibling)
-	    if ((kid->op_type == OP_NULL)
-		&& ((kid->op_flags & (OPf_SPECIAL|OPf_KIDS)) == (OPf_SPECIAL|OPf_KIDS))) {
-		/* This is a do block */
-		OP *op = kUNOP->op_first;
-		if (op->op_type == OP_LEAVE && op->op_flags & OPf_KIDS) {
-		    op = cUNOPx(op)->op_first;
-		    assert(op->op_type == OP_ENTER && !(op->op_flags & OPf_SPECIAL));
-		    /* Force the use of the caller's context */
-		    op->op_flags |= OPf_SPECIAL;
-		}
-	    }
     }
 
     return o;
@@ -8245,7 +9575,7 @@
 	    o->op_type = OP_SSELECT;
 	    o->op_ppaddr = PL_ppaddr[OP_SSELECT];
 	    o = ck_fun(o);
-	    return fold_constants(o);
+	    return fold_constants(op_integerize(op_std_init(o)));
 	}
     }
     o = ck_fun(o);
@@ -8292,12 +9622,11 @@
 {
     dVAR;
     OP *firstkid;
+    HV * const hinthv = GvHV(PL_hintgv);
 
     PERL_ARGS_ASSERT_CK_SORT;
 
-    if (o->op_type == OP_SORT && (PL_hints & HINT_LOCALIZE_HH) != 0) {
-	HV * const hinthv = GvHV(PL_hintgv);
-	if (hinthv) {
+    if (hinthv) {
 	    SV ** const svp = hv_fetchs(hinthv, "sort", FALSE);
 	    if (svp) {
 		const I32 sorthints = (I32)SvIV(*svp);
@@ -8306,63 +9635,32 @@
 		if ((sorthints & HINT_SORT_STABLE) != 0)
 		    o->op_private |= OPpSORT_STABLE;
 	    }
-	}
     }
 
-    if (o->op_type == OP_SORT && o->op_flags & OPf_STACKED)
+    if (o->op_flags & OPf_STACKED)
 	simplify_sort(o);
     firstkid = cLISTOPo->op_first->op_sibling;		/* get past pushmark */
     if (o->op_flags & OPf_STACKED) {			/* may have been cleared */
-	OP *k = NULL;
 	OP *kid = cUNOPx(firstkid)->op_first;		/* get past null */
 
 	if (kid->op_type == OP_SCOPE || kid->op_type == OP_LEAVE) {
 	    LINKLIST(kid);
-	    if (kid->op_type == OP_SCOPE) {
-		k = kid->op_next;
-		kid->op_next = 0;
-	    }
-	    else if (kid->op_type == OP_LEAVE) {
-		if (o->op_type == OP_SORT) {
+	    if (kid->op_type == OP_LEAVE)
 		    op_null(kid);			/* wipe out leave */
-		    kid->op_next = kid;
+	    /* Prevent execution from escaping out of the sort block. */
+	    kid->op_next = 0;
 
-		    for (k = kLISTOP->op_first->op_next; k; k = k->op_next) {
-			if (k->op_next == kid)
-			    k->op_next = 0;
-			/* don't descend into loops */
-			else if (k->op_type == OP_ENTERLOOP
-				 || k->op_type == OP_ENTERITER)
-			{
-			    k = cLOOPx(k)->op_lastop;
-			}
-		    }
-		}
-		else
-		    kid->op_next = 0;		/* just disconnect the leave */
-		k = kLISTOP->op_first;
-	    }
-	    CALL_PEEP(k);
-
-	    kid = firstkid;
-	    if (o->op_type == OP_SORT) {
-		/* provide scalar context for comparison function/block */
-		kid = scalar(kid);
-		kid->op_next = kid;
-	    }
-	    else
-		kid->op_next = k;
+	    /* provide scalar context for comparison function/block */
+	    kid = scalar(firstkid);
+	    kid->op_next = kid;
 	    o->op_flags |= OPf_SPECIAL;
 	}
-	else if (kid->op_type == OP_RV2SV || kid->op_type == OP_PADSV)
-	    op_null(firstkid);
 
 	firstkid = firstkid->op_sibling;
     }
 
     /* provide list context for arguments */
-    if (o->op_type == OP_SORT)
-	list(firstkid);
+    list(firstkid);
 
     return o;
 }
@@ -8371,11 +9669,12 @@
 S_simplify_sort(pTHX_ OP *o)
 {
     dVAR;
-    register OP *kid = cLISTOPo->op_first->op_sibling;	/* get past pushmark */
+    OP *kid = cLISTOPo->op_first->op_sibling;	/* get past pushmark */
     OP *k;
     int descending;
     GV *gv;
     const char *gvname;
+    bool have_scopeop;
 
     PERL_ARGS_ASSERT_SIMPLIFY_SORT;
 
@@ -8384,7 +9683,8 @@
     GvMULTI_on(gv_fetchpvs("a", GV_ADD|GV_NOTQUAL, SVt_PV));
     GvMULTI_on(gv_fetchpvs("b", GV_ADD|GV_NOTQUAL, SVt_PV));
     kid = kUNOP->op_first;				/* get past null */
-    if (kid->op_type != OP_SCOPE)
+    if (!(have_scopeop = kid->op_type == OP_SCOPE)
+     && kid->op_type != OP_LEAVE)
 	return;
     kid = kLISTOP->op_last;				/* get past scope */
     switch(kid->op_type) {
@@ -8391,13 +9691,42 @@
 	case OP_NCMP:
 	case OP_I_NCMP:
 	case OP_SCMP:
+	    if (!have_scopeop) goto padkids;
 	    break;
 	default:
 	    return;
     }
     k = kid;						/* remember this node*/
-    if (kBINOP->op_first->op_type != OP_RV2SV)
+    if (kBINOP->op_first->op_type != OP_RV2SV
+     || kBINOP->op_last ->op_type != OP_RV2SV)
+    {
+	/*
+	   Warn about my($a) or my($b) in a sort block, *if* $a or $b is
+	   then used in a comparison.  This catches most, but not
+	   all cases.  For instance, it catches
+	       sort { my($a); $a <=> $b }
+	   but not
+	       sort { my($a); $a < $b ? -1 : $a == $b ? 0 : 1; }
+	   (although why you'd do that is anyone's guess).
+	*/
+
+       padkids:
+	if (!ckWARN(WARN_SYNTAX)) return;
+	kid = kBINOP->op_first;
+	do {
+	    if (kid->op_type == OP_PADSV) {
+		SV * const name = AvARRAY(PL_comppad_name)[kid->op_targ];
+		if (SvCUR(name) == 2 && *SvPVX(name) == '$'
+		 && (SvPVX(name)[1] == 'a' || SvPVX(name)[1] == 'b'))
+		    /* diag_listed_as: "my %s" used in sort comparison */
+		    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
+				     "\"%s %s\" used in sort comparison",
+				      SvPAD_STATE(name) ? "state" : "my",
+				      SvPVX(name));
+	    }
+	} while ((kid = kid->op_sibling));
 	return;
+    }
     kid = kBINOP->op_first;				/* get past cmp */
     if (kUNOP->op_first->op_type != OP_GV)
 	return;
@@ -8414,8 +9743,7 @@
 	return;
 
     kid = k;						/* back to cmp */
-    if (kBINOP->op_last->op_type != OP_RV2SV)
-	return;
+    /* already checked above that it is rv2sv */
     kid = kBINOP->op_last;				/* down to 2nd arg */
     if (kUNOP->op_first->op_type != OP_GV)
 	return;
@@ -8448,7 +9776,7 @@
 Perl_ck_split(pTHX_ OP *o)
 {
     dVAR;
-    register OP *kid;
+    OP *kid;
 
     PERL_ARGS_ASSERT_CK_SPLIT;
 
@@ -8457,11 +9785,12 @@
 
     kid = cLISTOPo->op_first;
     if (kid->op_type != OP_NULL)
-	Perl_croak(aTHX_ "panic: ck_split");
+	Perl_croak(aTHX_ "panic: ck_split, type=%u", (unsigned) kid->op_type);
     kid = kid->op_sibling;
     op_free(cLISTOPo->op_first);
-    cLISTOPo->op_first = kid;
-    if (!kid) {
+    if (kid)
+	cLISTOPo->op_first = kid;
+    else {
 	cLISTOPo->op_first = kid = newSVOP(OP_CONST, 0, newSVpvs(" "));
 	cLISTOPo->op_last = kid; /* There was only one element previously */
     }
@@ -8469,7 +9798,7 @@
     if (kid->op_type != OP_MATCH || kid->op_flags & OPf_STACKED) {
 	OP * const sibl = kid->op_sibling;
 	kid->op_sibling = 0;
-	kid = pmruntime( newPMOP(OP_MATCH, OPf_SPECIAL), kid, 0);
+        kid = pmruntime( newPMOP(OP_MATCH, OPf_SPECIAL), kid, 0, 0); /* OPf_SPECIAL is used to trigger split " " behavior */
 	if (cLISTOPo->op_first == cLISTOPo->op_last)
 	    cLISTOPo->op_last = kid;
 	cLISTOPo->op_first = kid;
@@ -8498,7 +9827,7 @@
     scalar(kid);
 
     if (kid->op_sibling)
-	return too_many_arguments(o,OP_DESC(o));
+	return too_many_arguments_pv(o,OP_DESC(o), 0);
 
     return o;
 }
@@ -8513,11 +9842,13 @@
     if (kid && kid->op_type == OP_MATCH) {
 	if (ckWARN(WARN_SYNTAX)) {
             const REGEXP *re = PM_GETRE(kPMOP);
-	    const char *pmstr = re ? RX_PRECOMP_const(re) : "STRING";
-	    const STRLEN len = re ? RX_PRELEN(re) : 6;
+            const SV *msg = re
+                    ? newSVpvn_flags( RX_PRECOMP_const(re), RX_PRELEN(re),
+                                            SVs_TEMP | ( RX_UTF8(re) ? SVf_UTF8 : 0 ) )
+                    : newSVpvs_flags( "STRING", SVs_TEMP );
 	    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
-			"/%.*s/ should probably be written as \"%.*s\"",
-			(int)len, pmstr, (int)len, pmstr);
+			"/%"SVf"/ should probably be written as \"%"SVf"\"",
+			SVfARG(msg), SVfARG(msg));
 	}
     }
     return ck_fun(o);
@@ -8562,7 +9893,29 @@
 =cut
 */
 
+/* shared by toke.c:yylex */
 CV *
+Perl_find_lexical_cv(pTHX_ PADOFFSET off)
+{
+    PADNAME *name = PAD_COMPNAME(off);
+    CV *compcv = PL_compcv;
+    while (PadnameOUTER(name)) {
+	assert(PARENT_PAD_INDEX(name));
+	compcv = CvOUTSIDE(PL_compcv);
+	name = PadlistNAMESARRAY(CvPADLIST(compcv))
+		[off = PARENT_PAD_INDEX(name)];
+    }
+    assert(!PadnameIsOUR(name));
+    if (!PadnameIsSTATE(name) && SvMAGICAL(name)) {
+	MAGIC * mg = mg_find(name, PERL_MAGIC_proto);
+	assert(mg);
+	assert(mg->mg_obj);
+	return (CV *)mg->mg_obj;
+    }
+    return (CV *)AvARRAY(PadlistARRAY(CvPADLIST(compcv))[1])[off];
+}
+
+CV *
 Perl_rv2cv_op_cv(pTHX_ OP *cvop, U32 flags)
 {
     OP *rvop;
@@ -8595,6 +9948,10 @@
 	    cv = (CV*)SvRV(rv);
 	    gv = NULL;
 	} break;
+	case OP_PADCV: {
+	    cv = find_lexical_cv(rvop->op_targ);
+	    gv = NULL;
+	} break;
 	default: {
 	    return NULL;
 	} break;
@@ -8680,8 +10037,11 @@
     const char *e = NULL;
     PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_PROTO;
     if (SvTYPE(protosv) == SVt_PVCV ? !SvPOK(protosv) : !SvOK(protosv))
-	Perl_croak(aTHX_ "panic: ck_entersub_args_proto CV with no proto");
-    proto = SvPV(protosv, proto_len);
+	Perl_croak(aTHX_ "panic: ck_entersub_args_proto CV with no proto, "
+		   "flags=%lx", (unsigned long) SvFLAGS(protosv));
+    if (SvTYPE(protosv) == SVt_PVCV)
+	 proto = CvPROTO(protosv), proto_len = CvPROTOLEN(protosv);
+    else proto = SvPV(protosv, proto_len);
     proto_end = proto + proto_len;
     aop = cUNOPx(entersubop)->op_first;
     if (!aop->op_sibling)
@@ -8701,7 +10061,7 @@
 	    o3 = aop;
 
 	if (proto >= proto_end)
-	    return too_many_arguments(entersubop, gv_ename(namegv));
+	    return too_many_arguments_sv(entersubop, gv_ename(namegv), 0);
 
 	switch (*proto) {
 	    case ';':
@@ -8710,7 +10070,7 @@
 		continue;
 	    case '_':
 		/* _ must be at the end */
-		if (proto[1] && proto[1] != ';')
+		if (proto[1] && !strchr(";@%", proto[1]))
 		    goto oops;
 	    case '$':
 		proto++;
@@ -8726,9 +10086,9 @@
 		proto++;
 		arg++;
 		if (o3->op_type != OP_REFGEN && o3->op_type != OP_UNDEF)
-		    bad_type(arg,
+		    bad_type_sv(arg,
 			    arg == 1 ? "block or sub {}" : "sub {}",
-			    gv_ename(namegv), o3);
+			    gv_ename(namegv), 0, o3);
 		break;
 	    case '*':
 		/* '*' allows any scalar type, including bareword */
@@ -8805,10 +10165,17 @@
 			    const char *p = proto;
 			    const char *const end = proto;
 			    contextclass = 0;
-			    while (*--p != '[') {}
-			    bad_type(arg, Perl_form(aTHX_ "one of %.*s",
+			    while (*--p != '[')
+				/* \[$] accepts any scalar lvalue */
+				if (*p == '$'
+				 && Perl_op_lvalue_flags(aTHX_
+				     scalar(o3),
+				     OP_READ, /* not entersub */
+				     OP_LVALUE_NO_CROAK
+				    )) goto wrapref;
+			    bad_type_sv(arg, Perl_form(aTHX_ "one of %.*s",
 					(int)(end - p), p),
-				    gv_ename(namegv), o3);
+				    gv_ename(namegv), 0, o3);
 			} else
 			    goto oops;
 			break;
@@ -8816,13 +10183,13 @@
 			if (o3->op_type == OP_RV2GV)
 			    goto wrapref;
 			if (!contextclass)
-			    bad_type(arg, "symbol", gv_ename(namegv), o3);
+			    bad_type_sv(arg, "symbol", gv_ename(namegv), 0, o3);
 			break;
 		    case '&':
 			if (o3->op_type == OP_ENTERSUB)
 			    goto wrapref;
 			if (!contextclass)
-			    bad_type(arg, "subroutine entry", gv_ename(namegv),
+			    bad_type_sv(arg, "subroutine entry", gv_ename(namegv), 0,
 				    o3);
 			break;
 		    case '$':
@@ -8831,8 +10198,15 @@
 				o3->op_type == OP_HELEM ||
 				o3->op_type == OP_AELEM)
 			    goto wrapref;
-			if (!contextclass)
-			    bad_type(arg, "scalar", gv_ename(namegv), o3);
+			if (!contextclass) {
+			    /* \$ accepts any scalar lvalue */
+			    if (Perl_op_lvalue_flags(aTHX_
+				    scalar(o3),
+				    OP_READ,  /* not entersub */
+				    OP_LVALUE_NO_CROAK
+			       )) goto wrapref;
+			    bad_type_sv(arg, "scalar", gv_ename(namegv), 0, o3);
+			}
 			break;
 		    case '@':
 			if (o3->op_type == OP_RV2AV ||
@@ -8839,7 +10213,7 @@
 				o3->op_type == OP_PADAV)
 			    goto wrapref;
 			if (!contextclass)
-			    bad_type(arg, "array", gv_ename(namegv), o3);
+			    bad_type_sv(arg, "array", gv_ename(namegv), 0, o3);
 			break;
 		    case '%':
 			if (o3->op_type == OP_RV2HV ||
@@ -8846,7 +10220,7 @@
 				o3->op_type == OP_PADHV)
 			    goto wrapref;
 			if (!contextclass)
-			    bad_type(arg, "hash", gv_ename(namegv), o3);
+			    bad_type_sv(arg, "hash", gv_ename(namegv), 0, o3);
 			break;
 		    wrapref:
 			{
@@ -8871,9 +10245,12 @@
 		proto++;
 		continue;
 	    default:
-	    oops:
-		Perl_croak(aTHX_ "Malformed prototype for %s: %"SVf,
-			gv_ename(namegv), SVfARG(protosv));
+	    oops: {
+                SV* const tmpsv = sv_newmortal();
+                gv_efullname3(tmpsv, namegv, NULL);
+		Perl_croak(aTHX_ "Malformed prototype for %"SVf": %"SVf,
+			SVfARG(tmpsv), SVfARG(protosv));
+            }
 	}
 
 	op_lvalue(aop, OP_ENTERSUB);
@@ -8888,7 +10265,7 @@
     }
     if (!optional && proto_end > proto &&
 	(*proto != '@' && *proto != '%' && *proto != ';' && *proto != '_'))
-	return too_few_arguments(entersubop, gv_ename(namegv));
+	return too_few_arguments_sv(entersubop, gv_ename(namegv), 0);
     return entersubop;
 }
 
@@ -8930,6 +10307,99 @@
 	return ck_entersub_args_list(entersubop);
 }
 
+OP *
+Perl_ck_entersub_args_core(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
+{
+    int opnum = SvTYPE(protosv) == SVt_PVCV ? 0 : (int)SvUV(protosv);
+    OP *aop = cUNOPx(entersubop)->op_first;
+
+    PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_CORE;
+
+    if (!opnum) {
+	OP *cvop;
+	if (!aop->op_sibling)
+	    aop = cUNOPx(aop)->op_first;
+	aop = aop->op_sibling;
+	for (cvop = aop; cvop->op_sibling; cvop = cvop->op_sibling) ;
+	if (PL_madskills) while (aop != cvop && aop->op_type == OP_STUB) {
+	    aop = aop->op_sibling;
+	}
+	if (aop != cvop)
+	    (void)too_many_arguments_pv(entersubop, GvNAME(namegv), 0);
+	
+	op_free(entersubop);
+	switch(GvNAME(namegv)[2]) {
+	case 'F': return newSVOP(OP_CONST, 0,
+					newSVpv(CopFILE(PL_curcop),0));
+	case 'L': return newSVOP(
+	                   OP_CONST, 0,
+                           Perl_newSVpvf(aTHX_
+	                     "%"IVdf, (IV)CopLINE(PL_curcop)
+	                   )
+	                 );
+	case 'P': return newSVOP(OP_CONST, 0,
+	                           (PL_curstash
+	                             ? newSVhek(HvNAME_HEK(PL_curstash))
+	                             : &PL_sv_undef
+	                           )
+	                        );
+	}
+	assert(0);
+    }
+    else {
+	OP *prev, *cvop;
+	U32 flags;
+#ifdef PERL_MAD
+	bool seenarg = FALSE;
+#endif
+	if (!aop->op_sibling)
+	    aop = cUNOPx(aop)->op_first;
+	
+	prev = aop;
+	aop = aop->op_sibling;
+	prev->op_sibling = NULL;
+	for (cvop = aop;
+	     cvop->op_sibling;
+	     prev=cvop, cvop = cvop->op_sibling)
+#ifdef PERL_MAD
+	    if (PL_madskills && cvop->op_sibling
+	     && cvop->op_type != OP_STUB) seenarg = TRUE
+#endif
+	    ;
+	prev->op_sibling = NULL;
+	flags = OPf_SPECIAL * !(cvop->op_private & OPpENTERSUB_NOPAREN);
+	op_free(cvop);
+	if (aop == cvop) aop = NULL;
+	op_free(entersubop);
+
+	if (opnum == OP_ENTEREVAL
+	 && GvNAMELEN(namegv)==9 && strnEQ(GvNAME(namegv), "evalbytes", 9))
+	    flags |= OPpEVAL_BYTES <<8;
+	
+	switch (PL_opargs[opnum] & OA_CLASS_MASK) {
+	case OA_UNOP:
+	case OA_BASEOP_OR_UNOP:
+	case OA_FILESTATOP:
+	    return aop ? newUNOP(opnum,flags,aop) : newOP(opnum,flags);
+	case OA_BASEOP:
+	    if (aop) {
+#ifdef PERL_MAD
+		if (!PL_madskills || seenarg)
+#endif
+		    (void)too_many_arguments_pv(aop, GvNAME(namegv), 0);
+		op_free(aop);
+	    }
+	    return opnum == OP_RUNCV
+		? newPVOP(OP_RUNCV,0,NULL)
+		: newOP(opnum,0);
+	default:
+	    return convert(opnum,0,aop);
+	}
+    }
+    assert(0);
+    return entersubop;
+}
+
 /*
 =for apidoc Am|void|cv_get_call_checker|CV *cv|Perl_call_checker *ckfun_p|SV **ckobj_p
 
@@ -9023,6 +10493,7 @@
 	    SvREFCNT_inc_simple_void_NN(ckobj);
 	    callmg->mg_flags |= MGf_REFCOUNTED;
 	}
+	callmg->mg_flags |= MGf_COPY;
     }
 }
 
@@ -9043,6 +10514,7 @@
     cv = rv2cv_op_cv(cvop, RV2CVOPCV_MARK_EARLY);
     namegv = cv ? (GV*)rv2cv_op_cv(cvop, RV2CVOPCV_RETURN_NAME_GV) : NULL;
 
+    o->op_private &= ~1;
     o->op_private |= OPpENTERSUB_HASTARG;
     o->op_private |= (PL_hints & HINT_STRICT_REFS);
     if (PERLDB_SUB && PL_curstash != PL_debstash)
@@ -9066,6 +10538,21 @@
 	Perl_call_checker ckfun;
 	SV *ckobj;
 	cv_get_call_checker(cv, &ckfun, &ckobj);
+	if (!namegv) { /* expletive! */
+	    /* XXX The call checker API is public.  And it guarantees that
+		   a GV will be provided with the right name.  So we have
+		   to create a GV.  But it is still not correct, as its
+		   stringification will include the package.  What we
+		   really need is a new call checker API that accepts a
+		   GV or string (or GV or CV). */
+	    HEK * const hek = CvNAME_HEK(cv);
+	    /* After a syntax error in a lexical sub, the cv that
+	       rv2cv_op_cv returns may be a nameless stub. */
+	    if (!hek) return ck_entersub_args_list(o);;
+	    namegv = (GV *)sv_newmortal();
+	    gv_init_pvn(namegv, PL_curstash, HEK_KEY(hek), HEK_LEN(hek),
+			SVf_UTF8 * !!HEK_UTF8(hek));
+	}
 	return ckfun(aTHX_ o, namegv, ckobj);
     }
 }
@@ -9075,28 +10562,11 @@
 {
     PERL_ARGS_ASSERT_CK_SVCONST;
     PERL_UNUSED_CONTEXT;
-    SvREADONLY_on(cSVOPo->op_sv);
+    if (!SvIsCOW(cSVOPo->op_sv)) SvREADONLY_on(cSVOPo->op_sv);
     return o;
 }
 
 OP *
-Perl_ck_chdir(pTHX_ OP *o)
-{
-    PERL_ARGS_ASSERT_CK_CHDIR;
-    if (o->op_flags & OPf_KIDS) {
-	SVOP * const kid = (SVOP*)cUNOPo->op_first;
-
-	if (kid && kid->op_type == OP_CONST &&
-	    (kid->op_private & OPpCONST_BARE))
-	{
-	    o->op_flags |= OPf_SPECIAL;
-	    kid->op_private &= ~OPpCONST_STRICT;
-	}
-    }
-    return ck_fun(o);
-}
-
-OP *
 Perl_ck_trunc(pTHX_ OP *o)
 {
     PERL_ARGS_ASSERT_CK_TRUNC;
@@ -9107,7 +10577,8 @@
 	if (kid->op_type == OP_NULL)
 	    kid = (SVOP*)kid->op_sibling;
 	if (kid && kid->op_type == OP_CONST &&
-	    (kid->op_private & OPpCONST_BARE))
+	    (kid->op_private & (OPpCONST_BARE|OPpCONST_FOLDED))
+			     == OPpCONST_BARE)
 	{
 	    o->op_flags |= OPf_SPECIAL;
 	    kid->op_private &= ~OPpCONST_STRICT;
@@ -9117,21 +10588,6 @@
 }
 
 OP *
-Perl_ck_unpack(pTHX_ OP *o)
-{
-    OP *kid = cLISTOPo->op_first;
-
-    PERL_ARGS_ASSERT_CK_UNPACK;
-
-    if (kid->op_sibling) {
-	kid = kid->op_sibling;
-	if (!kid->op_sibling)
-	    kid->op_sibling = newDEFSVOP();
-    }
-    return ck_fun(o);
-}
-
-OP *
 Perl_ck_substr(pTHX_ OP *o)
 {
     PERL_ARGS_ASSERT_CK_SUBSTR;
@@ -9150,6 +10606,19 @@
 }
 
 OP *
+Perl_ck_tell(pTHX_ OP *o)
+{
+    PERL_ARGS_ASSERT_CK_TELL;
+    o = ck_fun(o);
+    if (o->op_flags & OPf_KIDS) {
+     OP *kid = cLISTOPo->op_first;
+     if (kid->op_type == OP_NULL && kid->op_sibling) kid = kid->op_sibling;
+     if (kid->op_type == OP_RV2GV) kid->op_private |= OPpALLOW_FAKE;
+    }
+    return o;
+}
+
+OP *
 Perl_ck_each(pTHX_ OP *o)
 {
     dVAR;
@@ -9188,115 +10657,166 @@
     return o->op_type == ref_type ? o : ck_fun(o);
 }
 
-/* caller is supposed to assign the return to the 
-   container of the rep_op var */
-STATIC OP *
-S_opt_scalarhv(pTHX_ OP *rep_op) {
-    dVAR;
-    UNOP *unop;
+OP *
+Perl_ck_length(pTHX_ OP *o)
+{
+    PERL_ARGS_ASSERT_CK_LENGTH;
 
-    PERL_ARGS_ASSERT_OPT_SCALARHV;
+    o = ck_fun(o);
 
-    NewOp(1101, unop, 1, UNOP);
-    unop->op_type = (OPCODE)OP_BOOLKEYS;
-    unop->op_ppaddr = PL_ppaddr[OP_BOOLKEYS];
-    unop->op_flags = (U8)(OPf_WANT_SCALAR | OPf_KIDS );
-    unop->op_private = (U8)(1 | ((OPf_WANT_SCALAR | OPf_KIDS) >> 8));
-    unop->op_first = rep_op;
-    unop->op_next = rep_op->op_next;
-    rep_op->op_next = (OP*)unop;
-    rep_op->op_flags|=(OPf_REF | OPf_MOD);
-    unop->op_sibling = rep_op->op_sibling;
-    rep_op->op_sibling = NULL;
-    /* unop->op_targ = pad_alloc(OP_BOOLKEYS, SVs_PADTMP); */
-    if (rep_op->op_type == OP_PADHV) { 
-        rep_op->op_flags &= ~OPf_WANT_SCALAR;
-        rep_op->op_flags |= OPf_WANT_LIST;
+    if (ckWARN(WARN_SYNTAX)) {
+        const OP *kid = o->op_flags & OPf_KIDS ? cLISTOPo->op_first : NULL;
+
+        if (kid) {
+            SV *name = NULL;
+            const bool hash = kid->op_type == OP_PADHV
+                           || kid->op_type == OP_RV2HV;
+            switch (kid->op_type) {
+                case OP_PADHV:
+                case OP_PADAV:
+                    name = varname(
+                        (GV *)PL_compcv, hash ? '%' : '@', kid->op_targ,
+                        NULL, 0, 1
+                    );
+                    break;
+                case OP_RV2HV:
+                case OP_RV2AV:
+                    if (cUNOPx(kid)->op_first->op_type != OP_GV) break;
+                    {
+                        GV *gv = cGVOPx_gv(cUNOPx(kid)->op_first);
+                        if (!gv) break;
+                        name = varname(gv, hash?'%':'@', 0, NULL, 0, 1);
+                    }
+                    break;
+                default:
+                    return o;
+            }
+            if (name)
+                Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
+                    "length() used on %"SVf" (did you mean \"scalar(%s%"SVf
+                    ")\"?)",
+                    name, hash ? "keys " : "", name
+                );
+            else if (hash)
+                Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
+                    "length() used on %%hash (did you mean \"scalar(keys %%hash)\"?)");
+            else
+                Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
+                    "length() used on @array (did you mean \"scalar(@array)\"?)");
+        }
     }
-    return (OP*)unop;
-}                        
 
-/* Checks if o acts as an in-place operator on an array. oright points to the
- * beginning of the right-hand side. Returns the left-hand side of the
- * assignment if o acts in-place, or NULL otherwise. */
+    return o;
+}
 
-STATIC OP *
-S_is_inplace_av(pTHX_ OP *o, OP *oright) {
-    OP *o2;
-    OP *oleft = NULL;
+/* Check for in place reverse and sort assignments like "@a = reverse @a"
+   and modify the optree to make them work inplace */
 
-    PERL_ARGS_ASSERT_IS_INPLACE_AV;
+STATIC void
+S_inplace_aassign(pTHX_ OP *o) {
 
-    if (!oright ||
-	(oright->op_type != OP_RV2AV && oright->op_type != OP_PADAV)
-	|| oright->op_next != o
-	|| (oright->op_private & OPpLVAL_INTRO)
-    )
-	return NULL;
+    OP *modop, *modop_pushmark;
+    OP *oright;
+    OP *oleft, *oleft_pushmark;
 
-    /* o2 follows the chain of op_nexts through the LHS of the
-     * assign (if any) to the aassign op itself */
-    o2 = o->op_next;
-    if (!o2 || o2->op_type != OP_NULL)
-	return NULL;
-    o2 = o2->op_next;
-    if (!o2 || o2->op_type != OP_PUSHMARK)
-	return NULL;
-    o2 = o2->op_next;
-    if (o2 && o2->op_type == OP_GV)
-	o2 = o2->op_next;
-    if (!o2
-	|| (o2->op_type != OP_PADAV && o2->op_type != OP_RV2AV)
-	|| (o2->op_private & OPpLVAL_INTRO)
+    PERL_ARGS_ASSERT_INPLACE_AASSIGN;
+
+    assert((o->op_flags & OPf_WANT) == OPf_WANT_VOID);
+
+    assert(cUNOPo->op_first->op_type == OP_NULL);
+    modop_pushmark = cUNOPx(cUNOPo->op_first)->op_first;
+    assert(modop_pushmark->op_type == OP_PUSHMARK);
+    modop = modop_pushmark->op_sibling;
+
+    if (modop->op_type != OP_SORT && modop->op_type != OP_REVERSE)
+	return;
+
+    /* no other operation except sort/reverse */
+    if (modop->op_sibling)
+	return;
+
+    assert(cUNOPx(modop)->op_first->op_type == OP_PUSHMARK);
+    if (!(oright = cUNOPx(modop)->op_first->op_sibling)) return;
+
+    if (modop->op_flags & OPf_STACKED) {
+	/* skip sort subroutine/block */
+	assert(oright->op_type == OP_NULL);
+	oright = oright->op_sibling;
+    }
+
+    assert(cUNOPo->op_first->op_sibling->op_type == OP_NULL);
+    oleft_pushmark = cUNOPx(cUNOPo->op_first->op_sibling)->op_first;
+    assert(oleft_pushmark->op_type == OP_PUSHMARK);
+    oleft = oleft_pushmark->op_sibling;
+
+    /* Check the lhs is an array */
+    if (!oleft ||
+	(oleft->op_type != OP_RV2AV && oleft->op_type != OP_PADAV)
+	|| oleft->op_sibling
+	|| (oleft->op_private & OPpLVAL_INTRO)
     )
-	return NULL;
-    oleft = o2;
-    o2 = o2->op_next;
-    if (!o2 || o2->op_type != OP_NULL)
-	return NULL;
-    o2 = o2->op_next;
-    if (!o2 || o2->op_type != OP_AASSIGN
-	    || (o2->op_flags & OPf_WANT) != OPf_WANT_VOID)
-	return NULL;
+	return;
 
-    /* check that the sort is the first arg on RHS of assign */
+    /* Only one thing on the rhs */
+    if (oright->op_sibling)
+	return;
 
-    o2 = cUNOPx(o2)->op_first;
-    if (!o2 || o2->op_type != OP_NULL)
-	return NULL;
-    o2 = cUNOPx(o2)->op_first;
-    if (!o2 || o2->op_type != OP_PUSHMARK)
-	return NULL;
-    if (o2->op_sibling != o)
-	return NULL;
-
     /* check the array is the same on both sides */
     if (oleft->op_type == OP_RV2AV) {
 	if (oright->op_type != OP_RV2AV
 	    || !cUNOPx(oright)->op_first
 	    || cUNOPx(oright)->op_first->op_type != OP_GV
+	    || cUNOPx(oleft )->op_first->op_type != OP_GV
 	    || cGVOPx_gv(cUNOPx(oleft)->op_first) !=
 	       cGVOPx_gv(cUNOPx(oright)->op_first)
 	)
-	    return NULL;
+	    return;
     }
     else if (oright->op_type != OP_PADAV
 	|| oright->op_targ != oleft->op_targ
     )
-	return NULL;
+	return;
 
-    return oleft;
+    /* This actually is an inplace assignment */
+
+    modop->op_private |= OPpSORT_INPLACE;
+
+    /* transfer MODishness etc from LHS arg to RHS arg */
+    oright->op_flags = oleft->op_flags;
+
+    /* remove the aassign op and the lhs */
+    op_null(o);
+    op_null(oleft_pushmark);
+    if (oleft->op_type == OP_RV2AV && cUNOPx(oleft)->op_first)
+	op_null(cUNOPx(oleft)->op_first);
+    op_null(oleft);
 }
 
+#define MAX_DEFERRED 4
+
+#define DEFER(o) \
+  STMT_START { \
+    if (defer_ix == (MAX_DEFERRED-1)) { \
+	CALL_RPEEP(defer_queue[defer_base]); \
+	defer_base = (defer_base + 1) % MAX_DEFERRED; \
+	defer_ix--; \
+    } \
+    defer_queue[(defer_base + ++defer_ix) % MAX_DEFERRED] = o; \
+  } STMT_END
+
 /* A peephole optimizer.  We visit the ops in the order they're to execute.
  * See the comments at the top of this file for more details about when
  * peep() is called */
 
 void
-Perl_rpeep(pTHX_ register OP *o)
+Perl_rpeep(pTHX_ OP *o)
 {
     dVAR;
-    register OP* oldop = NULL;
+    OP* oldop = NULL;
+    OP* oldoldop = NULL;
+    OP* defer_queue[MAX_DEFERRED]; /* small queue of deferred branches */
+    int defer_base = 0;
+    int defer_ix = -1;
 
     if (!o || o->op_opt)
 	return;
@@ -9303,9 +10823,15 @@
     ENTER;
     SAVEOP();
     SAVEVPTR(PL_curcop);
-    for (; o; o = o->op_next) {
-	if (o->op_opt)
+    for (;; o = o->op_next) {
+	if (o && o->op_opt)
+	    o = NULL;
+	if (!o) {
+	    while (defer_ix >= 0)
+		CALL_RPEEP(defer_queue[(defer_base + defer_ix--) % MAX_DEFERRED]);
 	    break;
+	}
+
 	/* By default, this op has now been optimised. A couple of cases below
 	   clear this again.  */
 	o->op_opt = 1;
@@ -9338,7 +10864,7 @@
 		       data.  */
 		    firstcop->cop_line = secondcop->cop_line;
 #ifdef USE_ITHREADS
-		    firstcop->cop_stashpv = secondcop->cop_stashpv;
+		    firstcop->cop_stashoff = secondcop->cop_stashoff;
 		    firstcop->cop_file = secondcop->cop_file;
 #else
 		    firstcop->cop_stash = secondcop->cop_stash;
@@ -9350,7 +10876,7 @@
 		    firstcop->cop_hints_hash = secondcop->cop_hints_hash;
 
 #ifdef USE_ITHREADS
-		    secondcop->cop_stashpv = NULL;
+		    secondcop->cop_stashoff = 0;
 		    secondcop->cop_file = NULL;
 #else
 		    secondcop->cop_stash = NULL;
@@ -9368,49 +10894,6 @@
 	    }
 	    break;
 
-	case OP_CONST:
-	    if (cSVOPo->op_private & OPpCONST_STRICT)
-		no_bareword_allowed(o);
-#ifdef USE_ITHREADS
-	case OP_HINTSEVAL:
-	case OP_METHOD_NAMED:
-	    /* Relocate sv to the pad for thread safety.
-	     * Despite being a "constant", the SV is written to,
-	     * for reference counts, sv_upgrade() etc. */
-	    if (cSVOP->op_sv) {
-		const PADOFFSET ix = pad_alloc(OP_CONST, SVs_PADTMP);
-		if (o->op_type != OP_METHOD_NAMED && SvPADTMP(cSVOPo->op_sv)) {
-		    /* If op_sv is already a PADTMP then it is being used by
-		     * some pad, so make a copy. */
-		    sv_setsv(PAD_SVl(ix),cSVOPo->op_sv);
-		    SvREADONLY_on(PAD_SVl(ix));
-		    SvREFCNT_dec(cSVOPo->op_sv);
-		}
-		else if (o->op_type != OP_METHOD_NAMED
-			 && cSVOPo->op_sv == &PL_sv_undef) {
-		    /* PL_sv_undef is hack - it's unsafe to store it in the
-		       AV that is the pad, because av_fetch treats values of
-		       PL_sv_undef as a "free" AV entry and will merrily
-		       replace them with a new SV, causing pad_alloc to think
-		       that this pad slot is free. (When, clearly, it is not)
-		    */
-		    SvOK_off(PAD_SVl(ix));
-		    SvPADTMP_on(PAD_SVl(ix));
-		    SvREADONLY_on(PAD_SVl(ix));
-		}
-		else {
-		    SvREFCNT_dec(PAD_SVl(ix));
-		    SvPADTMP_on(cSVOPo->op_sv);
-		    PAD_SETSV(ix, cSVOPo->op_sv);
-		    /* XXX I don't know how this isn't readonly already. */
-		    SvREADONLY_on(PAD_SVl(ix));
-		}
-		cSVOPo->op_sv = NULL;
-		o->op_targ = ix;
-	    }
-#endif
-	    break;
-
 	case OP_CONCAT:
 	    if (o->op_next && o->op_next->op_type == OP_STRINGIFY) {
 		if (o->op_next->op_private & OPpTARGET_MY) {
@@ -9455,6 +10938,247 @@
 	    }
 	    break;
 
+        case OP_PUSHMARK:
+
+            /* Convert a series of PAD ops for my vars plus support into a
+             * single padrange op. Basically
+             *
+             *    pushmark -> pad[ahs]v -> pad[ahs]?v -> ... -> (list) -> rest
+             *
+             * becomes, depending on circumstances, one of
+             *
+             *    padrange  ----------------------------------> (list) -> rest
+             *    padrange  --------------------------------------------> rest
+             *
+             * where all the pad indexes are sequential and of the same type
+             * (INTRO or not).
+             * We convert the pushmark into a padrange op, then skip
+             * any other pad ops, and possibly some trailing ops.
+             * Note that we don't null() the skipped ops, to make it
+             * easier for Deparse to undo this optimisation (and none of
+             * the skipped ops are holding any resourses). It also makes
+             * it easier for find_uninit_var(), as it can just ignore
+             * padrange, and examine the original pad ops.
+             */
+        {
+            OP *p;
+            OP *followop = NULL; /* the op that will follow the padrange op */
+            U8 count = 0;
+            U8 intro = 0;
+            PADOFFSET base = 0; /* init only to stop compiler whining */
+            U8 gimme       = 0; /* init only to stop compiler whining */
+            bool defav = 0;  /* seen (...) = @_ */
+            bool reuse = 0;  /* reuse an existing padrange op */
+
+            /* look for a pushmark -> gv[_] -> rv2av */
+
+            {
+                GV *gv;
+                OP *rv2av, *q;
+                p = o->op_next;
+                if (   p->op_type == OP_GV
+                    && (gv = cGVOPx_gv(p))
+                    && GvNAMELEN_get(gv) == 1
+                    && *GvNAME_get(gv) == '_'
+                    && GvSTASH(gv) == PL_defstash
+                    && (rv2av = p->op_next)
+                    && rv2av->op_type == OP_RV2AV
+                    && !(rv2av->op_flags & OPf_REF)
+                    && !(rv2av->op_private & (OPpLVAL_INTRO|OPpMAYBE_LVSUB))
+                    && ((rv2av->op_flags & OPf_WANT) == OPf_WANT_LIST)
+                    && o->op_sibling == rv2av /* these two for Deparse */
+                    && cUNOPx(rv2av)->op_first == p
+                ) {
+                    q = rv2av->op_next;
+                    if (q->op_type == OP_NULL)
+                        q = q->op_next;
+                    if (q->op_type == OP_PUSHMARK) {
+                        defav = 1;
+                        p = q;
+                    }
+                }
+            }
+            if (!defav) {
+                /* To allow Deparse to pessimise this, it needs to be able
+                 * to restore the pushmark's original op_next, which it
+                 * will assume to be the same as op_sibling. */
+                if (o->op_next != o->op_sibling)
+                    break;
+                p = o;
+            }
+
+            /* scan for PAD ops */
+
+            for (p = p->op_next; p; p = p->op_next) {
+                if (p->op_type == OP_NULL)
+                    continue;
+
+                if ((     p->op_type != OP_PADSV
+                       && p->op_type != OP_PADAV
+                       && p->op_type != OP_PADHV
+                    )
+                      /* any private flag other than INTRO? e.g. STATE */
+                   || (p->op_private & ~OPpLVAL_INTRO)
+                )
+                    break;
+
+                /* let $a[N] potentially be optimised into ALEMFAST_LEX
+                 * instead */
+                if (   p->op_type == OP_PADAV
+                    && p->op_next
+                    && p->op_next->op_type == OP_CONST
+                    && p->op_next->op_next
+                    && p->op_next->op_next->op_type == OP_AELEM
+                )
+                    break;
+
+                /* for 1st padop, note what type it is and the range
+                 * start; for the others, check that it's the same type
+                 * and that the targs are contiguous */
+                if (count == 0) {
+                    intro = (p->op_private & OPpLVAL_INTRO);
+                    base = p->op_targ;
+                    gimme = (p->op_flags & OPf_WANT);
+                }
+                else {
+                    if ((p->op_private & OPpLVAL_INTRO) != intro)
+                        break;
+                    /* Note that you'd normally  expect targs to be
+                     * contiguous in my($a,$b,$c), but that's not the case
+                     * when external modules start doing things, e.g.
+                     i* Function::Parameters */
+                    if (p->op_targ != base + count)
+                        break;
+                    assert(p->op_targ == base + count);
+                    /* all the padops should be in the same context */
+                    if (gimme != (p->op_flags & OPf_WANT))
+                        break;
+                }
+
+                /* for AV, HV, only when we're not flattening */
+                if (   p->op_type != OP_PADSV
+                    && gimme != OPf_WANT_VOID
+                    && !(p->op_flags & OPf_REF)
+                )
+                    break;
+
+                if (count >= OPpPADRANGE_COUNTMASK)
+                    break;
+
+                /* there's a biggest base we can fit into a
+                 * SAVEt_CLEARPADRANGE in pp_padrange */
+                if (intro && base >
+                        (UV_MAX >> (OPpPADRANGE_COUNTSHIFT+SAVE_TIGHT_SHIFT)))
+                    break;
+
+                /* Success! We've got another valid pad op to optimise away */
+                count++;
+                followop = p->op_next;
+            }
+
+            if (count < 1)
+                break;
+
+            /* pp_padrange in specifically compile-time void context
+             * skips pushing a mark and lexicals; in all other contexts
+             * (including unknown till runtime) it pushes a mark and the
+             * lexicals. We must be very careful then, that the ops we
+             * optimise away would have exactly the same effect as the
+             * padrange.
+             * In particular in void context, we can only optimise to
+             * a padrange if see see the complete sequence
+             *     pushmark, pad*v, ...., list, nextstate
+             * which has the net effect of of leaving the stack empty
+             * (for now we leave the nextstate in the execution chain, for
+             * its other side-effects).
+             */
+            assert(followop);
+            if (gimme == OPf_WANT_VOID) {
+                if (followop->op_type == OP_LIST
+                        && gimme == (followop->op_flags & OPf_WANT)
+                        && (   followop->op_next->op_type == OP_NEXTSTATE
+                            || followop->op_next->op_type == OP_DBSTATE))
+                {
+                    followop = followop->op_next; /* skip OP_LIST */
+
+                    /* consolidate two successive my(...);'s */
+
+                    if (   oldoldop
+                        && oldoldop->op_type == OP_PADRANGE
+                        && (oldoldop->op_flags & OPf_WANT) == OPf_WANT_VOID
+                        && (oldoldop->op_private & OPpLVAL_INTRO) == intro
+                        && !(oldoldop->op_flags & OPf_SPECIAL)
+                    ) {
+                        U8 old_count;
+                        assert(oldoldop->op_next == oldop);
+                        assert(   oldop->op_type == OP_NEXTSTATE
+                               || oldop->op_type == OP_DBSTATE);
+                        assert(oldop->op_next == o);
+
+                        old_count
+                            = (oldoldop->op_private & OPpPADRANGE_COUNTMASK);
+                        assert(oldoldop->op_targ + old_count == base);
+
+                        if (old_count < OPpPADRANGE_COUNTMASK - count) {
+                            base = oldoldop->op_targ;
+                            count += old_count;
+                            reuse = 1;
+                        }
+                    }
+
+                    /* if there's any immediately following singleton
+                     * my var's; then swallow them and the associated
+                     * nextstates; i.e.
+                     *    my ($a,$b); my $c; my $d;
+                     * is treated as
+                     *    my ($a,$b,$c,$d);
+                     */
+
+                    while (    ((p = followop->op_next))
+                            && (  p->op_type == OP_PADSV
+                               || p->op_type == OP_PADAV
+                               || p->op_type == OP_PADHV)
+                            && (p->op_flags & OPf_WANT) == OPf_WANT_VOID
+                            && (p->op_private & OPpLVAL_INTRO) == intro
+                            && p->op_next
+                            && (   p->op_next->op_type == OP_NEXTSTATE
+                                || p->op_next->op_type == OP_DBSTATE)
+                            && count < OPpPADRANGE_COUNTMASK
+                    ) {
+                        assert(base + count == p->op_targ);
+                        count++;
+                        followop = p->op_next;
+                    }
+                }
+                else
+                    break;
+            }
+
+            if (reuse) {
+                assert(oldoldop->op_type == OP_PADRANGE);
+                oldoldop->op_next = followop;
+                oldoldop->op_private = (intro | count);
+                o = oldoldop;
+                oldop = NULL;
+                oldoldop = NULL;
+            }
+            else {
+                /* Convert the pushmark into a padrange.
+                 * To make Deparse easier, we guarantee that a padrange was
+                 * *always* formerly a pushmark */
+                assert(o->op_type == OP_PUSHMARK);
+                o->op_next = followop;
+                o->op_type = OP_PADRANGE;
+                o->op_ppaddr = PL_ppaddr[OP_PADRANGE];
+                o->op_targ = base;
+                /* bit 7: INTRO; bit 6..0: count */
+                o->op_private = (intro | count);
+                o->op_flags = ((o->op_flags & ~(OPf_WANT|OPf_SPECIAL))
+                                    | gimme | (defav ? OPf_SPECIAL : 0));
+            }
+            break;
+        }
+
 	case OP_PADAV:
 	case OP_GV:
 	    if (o->op_type == OP_PADAV || o->op_next->op_type == OP_RV2AV) {
@@ -9466,9 +11190,7 @@
 		    pop->op_next->op_type == OP_AELEM &&
 		    !(pop->op_next->op_private &
 		      (OPpLVAL_INTRO|OPpLVAL_DEFER|OPpDEREF|OPpMAYBE_LVSUB)) &&
-		    (i = SvIV(((SVOP*)pop)->op_sv) - CopARYBASE_get(PL_curcop))
-				<= 255 &&
-		    i >= 0)
+		    (i = SvIV(((SVOP*)pop)->op_sv)) <= 255 && i >= 0)
 		{
 		    GV *gv;
 		    if (cSVOPx(pop)->op_private & OPpCONST_STRICT)
@@ -9484,10 +11206,10 @@
 		    if (o->op_type == OP_GV) {
 			gv = cGVOPo_gv;
 			GvAVn(gv);
+			o->op_type = OP_AELEMFAST;
 		    }
 		    else
-			o->op_flags |= OPf_SPECIAL;
-		    o->op_type = OP_AELEMFAST;
+			o->op_type = OP_AELEMFAST_LEX;
 		}
 		break;
 	    }
@@ -9502,17 +11224,6 @@
 		    o->op_ppaddr = PL_ppaddr[OP_GVSV];
 		}
 	    }
-	    else if ((o->op_private & OPpEARLY_CV) && ckWARN(WARN_PROTOTYPE)) {
-		GV * const gv = cGVOPo_gv;
-		if (SvTYPE(gv) == SVt_PVGV && GvCV(gv) && SvPVX_const(GvCV(gv))) {
-		    /* XXX could check prototype here instead of just carping */
-		    SV * const sv = sv_newmortal();
-		    gv_efullname3(sv, gv, NULL);
-		    Perl_warner(aTHX_ packWARN(WARN_PROTOTYPE),
-				"%"SVf"() called too early to check prototype",
-				SVfARG(sv));
-		}
-	    }
 	    else if (o->op_next->op_type == OP_READLINE
 		    && o->op_next->op_next->op_type == OP_CONCAT
 		    && (o->op_next->op_next->op_flags & OPf_STACKED))
@@ -9531,10 +11242,18 @@
             OP *fop;
             OP *sop;
             
+#define HV_OR_SCALARHV(op)                                   \
+    (  (op)->op_type == OP_PADHV || (op)->op_type == OP_RV2HV \
+       ? (op)                                                  \
+       : (op)->op_type == OP_SCALAR && (op)->op_flags & OPf_KIDS \
+       && (  cUNOPx(op)->op_first->op_type == OP_PADHV          \
+          || cUNOPx(op)->op_first->op_type == OP_RV2HV)          \
+         ? cUNOPx(op)->op_first                                   \
+         : NULL)
+
         case OP_NOT:
-            fop = cUNOP->op_first;
-            sop = NULL;
-            goto stitch_keys;
+            if ((fop = HV_OR_SCALARHV(cUNOP->op_first)))
+                fop->op_private |= OPpTRUEBOOL;
             break;
 
         case OP_AND:
@@ -9544,14 +11263,15 @@
             sop = fop->op_sibling;
 	    while (cLOGOP->op_other->op_type == OP_NULL)
 		cLOGOP->op_other = cLOGOP->op_other->op_next;
-	    CALL_RPEEP(cLOGOP->op_other);
+	    while (o->op_next && (   o->op_type == o->op_next->op_type
+				  || o->op_next->op_type == OP_NULL))
+		o->op_next = o->op_next->op_next;
+	    DEFER(cLOGOP->op_other);
           
-          stitch_keys:	    
 	    o->op_opt = 1;
-            if ((fop->op_type == OP_PADHV || fop->op_type == OP_RV2HV)
-                || ( sop && 
-                     (sop->op_type == OP_PADHV || sop->op_type == OP_RV2HV)
-                    )
+            fop = HV_OR_SCALARHV(fop);
+            if (sop) sop = HV_OR_SCALARHV(sop);
+            if (fop || sop
             ){	
                 OP * nop = o;
                 OP * lop = o;
@@ -9573,29 +11293,38 @@
                         }
                     }            
                 }
-                if ((lop->op_flags & OPf_WANT) == OPf_WANT_VOID) {
-                    if (fop->op_type == OP_PADHV || fop->op_type == OP_RV2HV) 
-                        cLOGOP->op_first = opt_scalarhv(fop);
-                    if (sop && (sop->op_type == OP_PADHV || sop->op_type == OP_RV2HV)) 
-                        cLOGOP->op_first->op_sibling = opt_scalarhv(sop);
-                }                                        
+                if (fop) {
+                    if (  (lop->op_flags & OPf_WANT) == OPf_WANT_VOID
+                      || o->op_type == OP_AND  )
+                        fop->op_private |= OPpTRUEBOOL;
+                    else if (!(lop->op_flags & OPf_WANT))
+                        fop->op_private |= OPpMAYBE_TRUEBOOL;
+                }
+                if (  (lop->op_flags & OPf_WANT) == OPf_WANT_VOID
+                   && sop)
+                    sop->op_private |= OPpTRUEBOOL;
             }                  
             
 	    
 	    break;
+	
+	case OP_COND_EXPR:
+	    if ((fop = HV_OR_SCALARHV(cLOGOP->op_first)))
+		fop->op_private |= OPpTRUEBOOL;
+#undef HV_OR_SCALARHV
+	    /* GERONIMO! */
 	}    
-	
+
 	case OP_MAPWHILE:
 	case OP_GREPWHILE:
 	case OP_ANDASSIGN:
 	case OP_ORASSIGN:
 	case OP_DORASSIGN:
-	case OP_COND_EXPR:
 	case OP_RANGE:
 	case OP_ONCE:
 	    while (cLOGOP->op_other->op_type == OP_NULL)
 		cLOGOP->op_other = cLOGOP->op_other->op_next;
-	    CALL_RPEEP(cLOGOP->op_other);
+	    DEFER(cLOGOP->op_other);
 	    break;
 
 	case OP_ENTERLOOP:
@@ -9602,13 +11331,14 @@
 	case OP_ENTERITER:
 	    while (cLOOP->op_redoop->op_type == OP_NULL)
 		cLOOP->op_redoop = cLOOP->op_redoop->op_next;
-	    CALL_RPEEP(cLOOP->op_redoop);
 	    while (cLOOP->op_nextop->op_type == OP_NULL)
 		cLOOP->op_nextop = cLOOP->op_nextop->op_next;
-	    CALL_RPEEP(cLOOP->op_nextop);
 	    while (cLOOP->op_lastop->op_type == OP_NULL)
 		cLOOP->op_lastop = cLOOP->op_lastop->op_next;
-	    CALL_RPEEP(cLOOP->op_lastop);
+	    /* a while(1) loop doesn't have an op_next that escapes the
+	     * loop, so we have to explicitly follow the op_lastop to
+	     * process the rest of the code */
+	    DEFER(cLOOP->op_lastop);
 	    break;
 
 	case OP_SUBST:
@@ -9617,156 +11347,28 @@
 		   cPMOP->op_pmstashstartu.op_pmreplstart->op_type == OP_NULL)
 		cPMOP->op_pmstashstartu.op_pmreplstart
 		    = cPMOP->op_pmstashstartu.op_pmreplstart->op_next;
-	    CALL_RPEEP(cPMOP->op_pmstashstartu.op_pmreplstart);
+	    DEFER(cPMOP->op_pmstashstartu.op_pmreplstart);
 	    break;
 
-	case OP_EXEC:
-	    if (o->op_next && o->op_next->op_type == OP_NEXTSTATE
-		&& ckWARN(WARN_SYNTAX))
-	    {
-		if (o->op_next->op_sibling) {
-		    const OPCODE type = o->op_next->op_sibling->op_type;
-		    if (type != OP_EXIT && type != OP_WARN && type != OP_DIE) {
-			const line_t oldline = CopLINE(PL_curcop);
-			CopLINE_set(PL_curcop, CopLINE((COP*)o->op_next));
-			Perl_warner(aTHX_ packWARN(WARN_EXEC),
-				    "Statement unlikely to be reached");
-			Perl_warner(aTHX_ packWARN(WARN_EXEC),
-				    "\t(Maybe you meant system() when you said exec()?)\n");
-			CopLINE_set(PL_curcop, oldline);
-		    }
-		}
-	    }
-	    break;
+	case OP_SORT: {
+	    OP *oright;
 
-	case OP_HELEM: {
-	    UNOP *rop;
-            SV *lexname;
-	    GV **fields;
-	    SV **svp, *sv;
-	    const char *key = NULL;
-	    STRLEN keylen;
-
-	    if (((BINOP*)o)->op_last->op_type != OP_CONST)
-		break;
-
-	    /* Make the CONST have a shared SV */
-	    svp = cSVOPx_svp(((BINOP*)o)->op_last);
-	    if ((!SvFAKE(sv = *svp) || !SvREADONLY(sv))
-	     && SvTYPE(sv) < SVt_PVMG && !SvROK(sv)) {
-		key = SvPV_const(sv, keylen);
-		lexname = newSVpvn_share(key,
-					 SvUTF8(sv) ? -(I32)keylen : (I32)keylen,
-					 0);
-		SvREFCNT_dec(sv);
-		*svp = lexname;
+	    if (o->op_flags & OPf_STACKED) {
+		OP * const kid =
+		    cUNOPx(cLISTOP->op_first->op_sibling)->op_first;
+		if (kid->op_type == OP_SCOPE
+		 || (kid->op_type == OP_NULL && kid->op_targ == OP_LEAVE))
+		    DEFER(kLISTOP->op_first);
 	    }
 
-	    if ((o->op_private & (OPpLVAL_INTRO)))
+	    /* check that RHS of sort is a single plain array */
+	    oright = cUNOPo->op_first;
+	    if (!oright || oright->op_type != OP_PUSHMARK)
 		break;
 
-	    rop = (UNOP*)((BINOP*)o)->op_first;
-	    if (rop->op_type != OP_RV2HV || rop->op_first->op_type != OP_PADSV)
+	    if (o->op_private & OPpSORT_INPLACE)
 		break;
-	    lexname = *av_fetch(PL_comppad_name, rop->op_first->op_targ, TRUE);
-	    if (!SvPAD_TYPED(lexname))
-		break;
-	    fields = (GV**)hv_fetchs(SvSTASH(lexname), "FIELDS", FALSE);
-	    if (!fields || !GvHV(*fields))
-		break;
-	    key = SvPV_const(*svp, keylen);
-	    if (!hv_fetch(GvHV(*fields), key,
-			SvUTF8(*svp) ? -(I32)keylen : (I32)keylen, FALSE))
-	    {
-		Perl_croak(aTHX_ "No such class field \"%s\" " 
-			   "in variable %s of type %s", 
-		      key, SvPV_nolen_const(lexname), HvNAME_get(SvSTASH(lexname)));
-	    }
 
-            break;
-        }
-
-	case OP_HSLICE: {
-	    UNOP *rop;
-	    SV *lexname;
-	    GV **fields;
-	    SV **svp;
-	    const char *key;
-	    STRLEN keylen;
-	    SVOP *first_key_op, *key_op;
-
-	    if ((o->op_private & (OPpLVAL_INTRO))
-		/* I bet there's always a pushmark... */
-		|| ((LISTOP*)o)->op_first->op_sibling->op_type != OP_LIST)
-		/* hmmm, no optimization if list contains only one key. */
-		break;
-	    rop = (UNOP*)((LISTOP*)o)->op_last;
-	    if (rop->op_type != OP_RV2HV)
-		break;
-	    if (rop->op_first->op_type == OP_PADSV)
-		/* @$hash{qw(keys here)} */
-		rop = (UNOP*)rop->op_first;
-	    else {
-		/* @{$hash}{qw(keys here)} */
-		if (rop->op_first->op_type == OP_SCOPE 
-		    && cLISTOPx(rop->op_first)->op_last->op_type == OP_PADSV)
-		{
-		    rop = (UNOP*)cLISTOPx(rop->op_first)->op_last;
-		}
-		else
-		    break;
-	    }
-		    
-	    lexname = *av_fetch(PL_comppad_name, rop->op_targ, TRUE);
-	    if (!SvPAD_TYPED(lexname))
-		break;
-	    fields = (GV**)hv_fetchs(SvSTASH(lexname), "FIELDS", FALSE);
-	    if (!fields || !GvHV(*fields))
-		break;
-	    /* Again guessing that the pushmark can be jumped over.... */
-	    first_key_op = (SVOP*)((LISTOP*)((LISTOP*)o)->op_first->op_sibling)
-		->op_first->op_sibling;
-	    for (key_op = first_key_op; key_op;
-		 key_op = (SVOP*)key_op->op_sibling) {
-		if (key_op->op_type != OP_CONST)
-		    continue;
-		svp = cSVOPx_svp(key_op);
-		key = SvPV_const(*svp, keylen);
-		if (!hv_fetch(GvHV(*fields), key, 
-			    SvUTF8(*svp) ? -(I32)keylen : (I32)keylen, FALSE))
-		{
-		    Perl_croak(aTHX_ "No such class field \"%s\" "
-			       "in variable %s of type %s",
-			  key, SvPV_nolen(lexname), HvNAME_get(SvSTASH(lexname)));
-		}
-	    }
-	    break;
-	}
-	case OP_RV2SV:
-	case OP_RV2AV:
-	case OP_RV2HV:
-	    if (oldop
-		 && (  oldop->op_type == OP_AELEM
-		    || oldop->op_type == OP_PADSV
-		    || oldop->op_type == OP_RV2SV
-		    || oldop->op_type == OP_RV2GV
-		    || oldop->op_type == OP_HELEM
-		    )
-	         && (oldop->op_private & OPpDEREF)
-	    ) {
-		o->op_private |= OPpDEREFed;
-	    }
-
-	case OP_SORT: {
-	    /* will point to RV2AV or PADAV op on LHS/RHS of assign */
-	    OP *oleft;
-	    OP *o2;
-
-	    /* check that RHS of sort is a single plain array */
-	    OP *oright = cUNOPo->op_first;
-	    if (!oright || oright->op_type != OP_PUSHMARK)
-		break;
-
 	    /* reverse sort ... can be optimised.  */
 	    if (!cUNOPo->op_sibling) {
 		/* Nothing follows us on the list. */
@@ -9786,37 +11388,6 @@
 		}
 	    }
 
-	    /* make @a = sort @a act in-place */
-
-	    oright = cUNOPx(oright)->op_sibling;
-	    if (!oright)
-		break;
-	    if (oright->op_type == OP_NULL) { /* skip sort block/sub */
-		oright = cUNOPx(oright)->op_sibling;
-	    }
-
-	    oleft = is_inplace_av(o, oright);
-	    if (!oleft)
-		break;
-
-	    /* transfer MODishness etc from LHS arg to RHS arg */
-	    oright->op_flags = oleft->op_flags;
-	    o->op_private |= OPpSORT_INPLACE;
-
-	    /* excise push->gv->rv2av->null->aassign */
-	    o2 = o->op_next->op_next;
-	    op_null(o2); /* PUSHMARK */
-	    o2 = o2->op_next;
-	    if (o2->op_type == OP_GV) {
-		op_null(o2); /* GV */
-		o2 = o2->op_next;
-	    }
-	    op_null(o2); /* RV2AV or PADAV */
-	    o2 = o2->op_next->op_next;
-	    op_null(o2); /* AASSIGN */
-
-	    o->op_next = o2->op_next;
-
 	    break;
 	}
 
@@ -9823,35 +11394,10 @@
 	case OP_REVERSE: {
 	    OP *ourmark, *theirmark, *ourlast, *iter, *expushmark, *rv2av;
 	    OP *gvop = NULL;
-	    OP *oleft, *oright;
 	    LISTOP *enter, *exlist;
 
-	    /* @a = reverse @a */
-	    if ((oright = cLISTOPo->op_first)
-		    && (oright->op_type == OP_PUSHMARK)
-		    && (oright = oright->op_sibling)
-		    && (oleft = is_inplace_av(o, oright))) {
-		OP *o2;
-
-		/* transfer MODishness etc from LHS arg to RHS arg */
-		oright->op_flags = oleft->op_flags;
-		o->op_private |= OPpREVERSE_INPLACE;
-
-		/* excise push->gv->rv2av->null->aassign */
-		o2 = o->op_next->op_next;
-		op_null(o2); /* PUSHMARK */
-		o2 = o2->op_next;
-		if (o2->op_type == OP_GV) {
-		    op_null(o2); /* GV */
-		    o2 = o2->op_next;
-		}
-		op_null(o2); /* RV2AV or PADAV */
-		o2 = o2->op_next->op_next;
-		op_null(o2); /* AASSIGN */
-
-		o->op_next = o2->op_next;
+	    if (o->op_private & OPpSORT_INPLACE)
 		break;
-	    }
 
 	    enter = (LISTOP *) o->op_next;
 	    if (!enter)
@@ -9937,51 +11483,6 @@
 	    break;
 	}
 
-	case OP_SASSIGN: {
-	    OP *rv2gv;
-	    UNOP *refgen, *rv2cv;
-	    LISTOP *exlist;
-
-	    if ((o->op_flags & OPf_WANT) != OPf_WANT_VOID)
-		break;
-
-	    if ((o->op_private & ~OPpASSIGN_BACKWARDS) != 2)
-		break;
-
-	    rv2gv = ((BINOP *)o)->op_last;
-	    if (!rv2gv || rv2gv->op_type != OP_RV2GV)
-		break;
-
-	    refgen = (UNOP *)((BINOP *)o)->op_first;
-
-	    if (!refgen || refgen->op_type != OP_REFGEN)
-		break;
-
-	    exlist = (LISTOP *)refgen->op_first;
-	    if (!exlist || exlist->op_type != OP_NULL
-		|| exlist->op_targ != OP_LIST)
-		break;
-
-	    if (exlist->op_first->op_type != OP_PUSHMARK)
-		break;
-
-	    rv2cv = (UNOP*)exlist->op_last;
-
-	    if (rv2cv->op_type != OP_RV2CV)
-		break;
-
-	    assert ((rv2gv->op_private & OPpDONT_INIT_GV) == 0);
-	    assert ((o->op_private & OPpASSIGN_CV_TO_GV) == 0);
-	    assert ((rv2cv->op_private & OPpMAY_RETURN_CONSTANT) == 0);
-
-	    o->op_private |= OPpASSIGN_CV_TO_GV;
-	    rv2gv->op_private |= OPpDONT_INIT_GV;
-	    rv2cv->op_private |= OPpMAY_RETURN_CONSTANT;
-
-	    break;
-	}
-
-	
 	case OP_QR:
 	case OP_MATCH:
 	    if (!(cPMOP->op_pmflags & PMf_ONCE)) {
@@ -9989,6 +11490,42 @@
 	    }
 	    break;
 
+	case OP_RUNCV:
+	    if (!(o->op_private & OPpOFFBYONE) && !CvCLONE(PL_compcv)) {
+		SV *sv;
+		if (CvEVAL(PL_compcv)) sv = &PL_sv_undef;
+		else {
+		    sv = newRV((SV *)PL_compcv);
+		    sv_rvweaken(sv);
+		    SvREADONLY_on(sv);
+		}
+		o->op_type = OP_CONST;
+		o->op_ppaddr = PL_ppaddr[OP_CONST];
+		o->op_flags |= OPf_SPECIAL;
+		cSVOPo->op_sv = sv;
+	    }
+	    break;
+
+	case OP_SASSIGN:
+	    if (OP_GIMME(o,0) == G_VOID) {
+		OP *right = cBINOP->op_first;
+		if (right) {
+		    OP *left = right->op_sibling;
+		    if (left->op_type == OP_SUBSTR
+			 && (left->op_private & 7) < 4) {
+			op_null(o);
+			cBINOP->op_first = left;
+			right->op_sibling =
+			    cBINOPx(left)->op_first->op_sibling;
+			cBINOPx(left)->op_first->op_sibling = right;
+			left->op_private |= OPpSUBSTR_REPL_FIRST;
+			left->op_flags =
+			    (o->op_flags & ~OPf_WANT) | OPf_WANT_VOID;
+		    }
+		}
+	    }
+	    break;
+
 	case OP_CUSTOM: {
 	    Perl_cpeep_t cpeep = 
 		XopENTRY(Perl_custom_op_xop(aTHX_ o), xop_peep);
@@ -9998,6 +11535,7 @@
 	}
 	    
 	}
+	oldoldop = oldop;
 	oldop = o;
     }
     LEAVE;
@@ -10004,7 +11542,7 @@
 }
 
 void
-Perl_peep(pTHX_ register OP *o)
+Perl_peep(pTHX_ OP *o)
 {
     CALL_RPEEP(o);
 }
@@ -10093,6 +11631,291 @@
 	Perl_croak(aTHX_ "panic: can't register custom OP %s", xop->xop_name);
 }
 
+/*
+=head1 Functions in file op.c
+
+=for apidoc core_prototype
+This function assigns the prototype of the named core function to C<sv>, or
+to a new mortal SV if C<sv> is NULL.  It returns the modified C<sv>, or
+NULL if the core function has no prototype.  C<code> is a code as returned
+by C<keyword()>.  It must not be equal to 0 or -KEY_CORE.
+
+=cut
+*/
+
+SV *
+Perl_core_prototype(pTHX_ SV *sv, const char *name, const int code,
+                          int * const opnum)
+{
+    int i = 0, n = 0, seen_question = 0, defgv = 0;
+    I32 oa;
+#define MAX_ARGS_OP ((sizeof(I32) - 1) * 2)
+    char str[ MAX_ARGS_OP * 2 + 2 ]; /* One ';', one '\0' */
+    bool nullret = FALSE;
+
+    PERL_ARGS_ASSERT_CORE_PROTOTYPE;
+
+    assert (code && code != -KEY_CORE);
+
+    if (!sv) sv = sv_newmortal();
+
+#define retsetpvs(x,y) sv_setpvs(sv, x); if(opnum) *opnum=(y); return sv
+
+    switch (code < 0 ? -code : code) {
+    case KEY_and   : case KEY_chop: case KEY_chomp:
+    case KEY_cmp   : case KEY_defined: case KEY_delete: case KEY_exec  :
+    case KEY_exists: case KEY_eq     : case KEY_ge    : case KEY_goto  :
+    case KEY_grep  : case KEY_gt     : case KEY_last  : case KEY_le    :
+    case KEY_lt    : case KEY_map    : case KEY_ne    : case KEY_next  :
+    case KEY_or    : case KEY_print  : case KEY_printf: case KEY_qr    :
+    case KEY_redo  : case KEY_require: case KEY_return: case KEY_say   :
+    case KEY_select: case KEY_sort   : case KEY_split : case KEY_system:
+    case KEY_x     : case KEY_xor    :
+	if (!opnum) return NULL; nullret = TRUE; goto findopnum;
+    case KEY_glob:    retsetpvs("_;", OP_GLOB);
+    case KEY_keys:    retsetpvs("+", OP_KEYS);
+    case KEY_values:  retsetpvs("+", OP_VALUES);
+    case KEY_each:    retsetpvs("+", OP_EACH);
+    case KEY_push:    retsetpvs("+@", OP_PUSH);
+    case KEY_unshift: retsetpvs("+@", OP_UNSHIFT);
+    case KEY_pop:     retsetpvs(";+", OP_POP);
+    case KEY_shift:   retsetpvs(";+", OP_SHIFT);
+    case KEY_pos:     retsetpvs(";\\[$*]", OP_POS);
+    case KEY_splice:
+	retsetpvs("+;$$@", OP_SPLICE);
+    case KEY___FILE__: case KEY___LINE__: case KEY___PACKAGE__:
+	retsetpvs("", 0);
+    case KEY_evalbytes:
+	name = "entereval"; break;
+    case KEY_readpipe:
+	name = "backtick";
+    }
+
+#undef retsetpvs
+
+  findopnum:
+    while (i < MAXO) {	/* The slow way. */
+	if (strEQ(name, PL_op_name[i])
+	    || strEQ(name, PL_op_desc[i]))
+	{
+	    if (nullret) { assert(opnum); *opnum = i; return NULL; }
+	    goto found;
+	}
+	i++;
+    }
+    return NULL;
+  found:
+    defgv = PL_opargs[i] & OA_DEFGV;
+    oa = PL_opargs[i] >> OASHIFT;
+    while (oa) {
+	if (oa & OA_OPTIONAL && !seen_question && (
+	      !defgv || (oa & (OA_OPTIONAL - 1)) == OA_FILEREF
+	)) {
+	    seen_question = 1;
+	    str[n++] = ';';
+	}
+	if ((oa & (OA_OPTIONAL - 1)) >= OA_AVREF
+	    && (oa & (OA_OPTIONAL - 1)) <= OA_SCALARREF
+	    /* But globs are already references (kinda) */
+	    && (oa & (OA_OPTIONAL - 1)) != OA_FILEREF
+	) {
+	    str[n++] = '\\';
+	}
+	if ((oa & (OA_OPTIONAL - 1)) == OA_SCALARREF
+	 && !scalar_mod_type(NULL, i)) {
+	    str[n++] = '[';
+	    str[n++] = '$';
+	    str[n++] = '@';
+	    str[n++] = '%';
+	    if (i == OP_LOCK || i == OP_UNDEF) str[n++] = '&';
+	    str[n++] = '*';
+	    str[n++] = ']';
+	}
+	else str[n++] = ("?$@@%&*$")[oa & (OA_OPTIONAL - 1)];
+	if (oa & OA_OPTIONAL && defgv && str[n-1] == '$') {
+	    str[n-1] = '_'; defgv = 0;
+	}
+	oa = oa >> 4;
+    }
+    if (code == -KEY_not || code == -KEY_getprotobynumber) str[n++] = ';';
+    str[n++] = '\0';
+    sv_setpvn(sv, str, n - 1);
+    if (opnum) *opnum = i;
+    return sv;
+}
+
+OP *
+Perl_coresub_op(pTHX_ SV * const coreargssv, const int code,
+                      const int opnum)
+{
+    OP * const argop = newSVOP(OP_COREARGS,0,coreargssv);
+    OP *o;
+
+    PERL_ARGS_ASSERT_CORESUB_OP;
+
+    switch(opnum) {
+    case 0:
+	return op_append_elem(OP_LINESEQ,
+	               argop,
+	               newSLICEOP(0,
+	                          newSVOP(OP_CONST, 0, newSViv(-code % 3)),
+	                          newOP(OP_CALLER,0)
+	               )
+	       );
+    case OP_SELECT: /* which represents OP_SSELECT as well */
+	if (code)
+	    return newCONDOP(
+	                 0,
+	                 newBINOP(OP_GT, 0,
+	                          newAVREF(newGVOP(OP_GV, 0, PL_defgv)),
+	                          newSVOP(OP_CONST, 0, newSVuv(1))
+	                         ),
+	                 coresub_op(newSVuv((UV)OP_SSELECT), 0,
+	                            OP_SSELECT),
+	                 coresub_op(coreargssv, 0, OP_SELECT)
+	           );
+	/* FALL THROUGH */
+    default:
+	switch (PL_opargs[opnum] & OA_CLASS_MASK) {
+	case OA_BASEOP:
+	    return op_append_elem(
+	                OP_LINESEQ, argop,
+	                newOP(opnum,
+	                      opnum == OP_WANTARRAY || opnum == OP_RUNCV
+	                        ? OPpOFFBYONE << 8 : 0)
+	           );
+	case OA_BASEOP_OR_UNOP:
+	    if (opnum == OP_ENTEREVAL) {
+		o = newUNOP(OP_ENTEREVAL,OPpEVAL_COPHH<<8,argop);
+		if (code == -KEY_evalbytes) o->op_private |= OPpEVAL_BYTES;
+	    }
+	    else o = newUNOP(opnum,0,argop);
+	    if (opnum == OP_CALLER) o->op_private |= OPpOFFBYONE;
+	    else {
+	  onearg:
+	      if (is_handle_constructor(o, 1))
+		argop->op_private |= OPpCOREARGS_DEREF1;
+	      if (scalar_mod_type(NULL, opnum))
+		argop->op_private |= OPpCOREARGS_SCALARMOD;
+	    }
+	    return o;
+	default:
+	    o = convert(opnum,OPf_SPECIAL*(opnum == OP_GLOB),argop);
+	    if (is_handle_constructor(o, 2))
+		argop->op_private |= OPpCOREARGS_DEREF2;
+	    if (opnum == OP_SUBSTR) {
+		o->op_private |= OPpMAYBE_LVSUB;
+		return o;
+	    }
+	    else goto onearg;
+	}
+    }
+}
+
+void
+Perl_report_redefined_cv(pTHX_ const SV *name, const CV *old_cv,
+			       SV * const *new_const_svp)
+{
+    const char *hvname;
+    bool is_const = !!CvCONST(old_cv);
+    SV *old_const_sv = is_const ? cv_const_sv(old_cv) : NULL;
+
+    PERL_ARGS_ASSERT_REPORT_REDEFINED_CV;
+
+    if (is_const && new_const_svp && old_const_sv == *new_const_svp)
+	return;
+	/* They are 2 constant subroutines generated from
+	   the same constant. This probably means that
+	   they are really the "same" proxy subroutine
+	   instantiated in 2 places. Most likely this is
+	   when a constant is exported twice.  Don't warn.
+	*/
+    if (
+	(ckWARN(WARN_REDEFINE)
+	 && !(
+		CvGV(old_cv) && GvSTASH(CvGV(old_cv))
+	     && HvNAMELEN(GvSTASH(CvGV(old_cv))) == 7
+	     && (hvname = HvNAME(GvSTASH(CvGV(old_cv))),
+		 strEQ(hvname, "autouse"))
+	     )
+	)
+     || (is_const
+	 && ckWARN_d(WARN_REDEFINE)
+	 && (!new_const_svp || sv_cmp(old_const_sv, *new_const_svp))
+	)
+    )
+	Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
+			  is_const
+			    ? "Constant subroutine %"SVf" redefined"
+			    : "Subroutine %"SVf" redefined",
+			  name);
+}
+
+/*
+=head1 Hook manipulation
+
+These functions provide convenient and thread-safe means of manipulating
+hook variables.
+
+=cut
+*/
+
+/*
+=for apidoc Am|void|wrap_op_checker|Optype opcode|Perl_check_t new_checker|Perl_check_t *old_checker_p
+
+Puts a C function into the chain of check functions for a specified op
+type.  This is the preferred way to manipulate the L</PL_check> array.
+I<opcode> specifies which type of op is to be affected.  I<new_checker>
+is a pointer to the C function that is to be added to that opcode's
+check chain, and I<old_checker_p> points to the storage location where a
+pointer to the next function in the chain will be stored.  The value of
+I<new_pointer> is written into the L</PL_check> array, while the value
+previously stored there is written to I<*old_checker_p>.
+
+L</PL_check> is global to an entire process, and a module wishing to
+hook op checking may find itself invoked more than once per process,
+typically in different threads.  To handle that situation, this function
+is idempotent.  The location I<*old_checker_p> must initially (once
+per process) contain a null pointer.  A C variable of static duration
+(declared at file scope, typically also marked C<static> to give
+it internal linkage) will be implicitly initialised appropriately,
+if it does not have an explicit initialiser.  This function will only
+actually modify the check chain if it finds I<*old_checker_p> to be null.
+This function is also thread safe on the small scale.  It uses appropriate
+locking to avoid race conditions in accessing L</PL_check>.
+
+When this function is called, the function referenced by I<new_checker>
+must be ready to be called, except for I<*old_checker_p> being unfilled.
+In a threading situation, I<new_checker> may be called immediately,
+even before this function has returned.  I<*old_checker_p> will always
+be appropriately set before I<new_checker> is called.  If I<new_checker>
+decides not to do anything special with an op that it is given (which
+is the usual case for most uses of op check hooking), it must chain the
+check function referenced by I<*old_checker_p>.
+
+If you want to influence compilation of calls to a specific subroutine,
+then use L</cv_set_call_checker> rather than hooking checking of all
+C<entersub> ops.
+
+=cut
+*/
+
+void
+Perl_wrap_op_checker(pTHX_ Optype opcode,
+    Perl_check_t new_checker, Perl_check_t *old_checker_p)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT_WRAP_OP_CHECKER;
+    if (*old_checker_p) return;
+    OP_CHECK_MUTEX_LOCK;
+    if (!*old_checker_p) {
+	*old_checker_p = PL_check[opcode];
+	PL_check[opcode] = new_checker;
+    }
+    OP_CHECK_MUTEX_UNLOCK;
+}
+
 #include "XSUB.h"
 
 /* Efficient sub that returns a constant scalar value. */
@@ -10122,8 +11945,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/op.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/op.h
===================================================================
--- vendor/perl/dist/op.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/op.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,17 +19,11 @@
  *	op_type		The type of the operation.
  *	op_opt		Whether or not the op has been optimised by the
  *			peephole optimiser.
- *
- *			See the comments in S_clear_yystack() for more
- *			details on the following three flags:
- *
- *	op_latefree	tell op_free() to clear this op (and free any kids)
- *			but not yet deallocate the struct. This means that
- *			the op may be safely op_free()d multiple times
- *	op_latefreed	an op_latefree op has been op_free()d
- *	op_attached	this op (sub)tree has been attached to a CV
- *
- *	op_spare	three spare bits!
+ *	op_slabbed	allocated via opslab
+ *	op_static	tell op_free() to skip PerlMemShared_free(), when
+ *                      !op_slabbed.
+ *	op_savefree	on savestack via SAVEFREEOP
+ *	op_spare	Three spare bits
  *	op_flags	Flags common to all operations.  See OPf_* below.
  *	op_private	Flags peculiar to a particular operation (BUT,
  *			by default, set to the number of children until
@@ -59,9 +53,9 @@
     PADOFFSET	op_targ;		\
     PERL_BITFIELD16 op_type:9;		\
     PERL_BITFIELD16 op_opt:1;		\
-    PERL_BITFIELD16 op_latefree:1;	\
-    PERL_BITFIELD16 op_latefreed:1;	\
-    PERL_BITFIELD16 op_attached:1;	\
+    PERL_BITFIELD16 op_slabbed:1;	\
+    PERL_BITFIELD16 op_savefree:1;	\
+    PERL_BITFIELD16 op_static:1;	\
     PERL_BITFIELD16 op_spare:3;		\
     U8		op_flags;		\
     U8		op_private;
@@ -72,11 +66,9 @@
    then all the other bit-fields before/after it should change their
    types too to let VC pack them into the same 4 byte integer.*/
 
+/* for efficiency, requires OPf_WANT_VOID == G_VOID etc */
 #define OP_GIMME(op,dfl) \
-	(((op)->op_flags & OPf_WANT) == OPf_WANT_VOID   ? G_VOID   : \
-	 ((op)->op_flags & OPf_WANT) == OPf_WANT_SCALAR ? G_SCALAR : \
-	 ((op)->op_flags & OPf_WANT) == OPf_WANT_LIST   ? G_ARRAY   : \
-	 dfl)
+	(((op)->op_flags & OPf_WANT) ? ((op)->op_flags & OPf_WANT) : dfl)
 
 #define OP_GIMME_REVERSE(flags)	((flags) & G_WANT)
 
@@ -123,7 +115,7 @@
 				/*  On OP_ENTERSUB || OP_NULL, saw a "do". */
 				/*  On OP_EXISTS, treat av as av, not avhv.  */
 				/*  On OP_(ENTER|LEAVE)EVAL, don't clear $@ */
-				/*  On pushre, rx is used as part of split, e.g. split " " */
+                                /*  On pushre, rx is used as part of split, e.g. split " " */
 				/*  On regcomp, "use re 'eval'" was in scope */
 				/*  On OP_READLINE, was <$filehandle> */
 				/*  On RV2[ACGHS]V, don't create GV--in
@@ -130,14 +122,12 @@
 				    defined()*/
 				/*  On OP_DBSTATE, indicates breakpoint
 				 *    (runtime property) */
-				/*  On OP_AELEMFAST, indicates pad var */
 				/*  On OP_REQUIRE, was seen as CORE::require */
-				/*  On OP_ENTERWHEN, there's no condition */
-				/*  On OP_BREAK, an implicit break */
+				/*  On OP_(ENTER|LEAVE)WHEN, there's
+				    no condition */
 				/*  On OP_SMARTMATCH, an implicit smartmatch */
 				/*  On OP_ANONHASH and OP_ANONLIST, create a
 				    reference to the new anon hash or array */
-				/*  On OP_ENTER, store caller context */
 				/*  On OP_HELEM and OP_HSLICE, localization will be followed
 				    by assignment, so do not wipe the target if it is special
 				    (e.g. a glob or a magic SV) */
@@ -146,7 +136,11 @@
 				    that was optimised away, so it should
 				    not be bound via =~ */
 				/*  On OP_CONST, from a constant CV */
-				/*  On OP_GLOB, use Perl glob function */
+				/*  On OP_GLOB, two meanings:
+				    - Before ck_glob, called as CORE::glob
+				    - After ck_glob, use Perl glob function
+			         */
+                                /*  On OP_PADRANGE, push @_ */
 
 /* old names; don't use in new code, but don't break them, either */
 #define OPf_LIST	OPf_WANT_LIST
@@ -159,12 +153,19 @@
 	      : G_SCALAR)						\
 	   : dowantarray())
 
-/* NOTE: OP_NEXTSTATE and OP_DBSTATE (i.e. COPs) carry lower
- * bits of PL_hints in op_private */
+/* Lower bits of op_private often carry the number of arguments, as
+ * set by newBINOP, newUNOP and ck_fun */
 
+/* NOTE: OP_NEXTSTATE and OP_DBSTATE (i.e. COPs) carry NATIVE_HINTS
+ * in op_private */
+
 /* Private for lvalues */
 #define OPpLVAL_INTRO	128	/* Lvalue must be localized or lvalue sub */
 
+/* Private for OPs with TARGLEX */
+  /* (lower bits may carry MAXARG) */
+#define OPpTARGET_MY		16	/* Target is PADMY. */
+
 /* Private for OP_LEAVE, OP_LEAVESUB, OP_LEAVESUBLV and OP_LEAVEWRITE */
 #define OPpREFCOUNTED		64	/* op_targ carries a refcount */
 
@@ -175,7 +176,7 @@
 #define OPpASSIGN_BACKWARDS	64	/* Left & right switched. */
 #define OPpASSIGN_CV_TO_GV	128	/* Possible optimisation for constants. */
 
-/* Private for OP_MATCH and OP_SUBST{,CONST} */
+/* Private for OP_MATCH and OP_SUBST{,CONT} */
 #define OPpRUNTIME		64	/* Pattern coming in on the stack */
 
 /* Private for OP_TRANS */
@@ -197,40 +198,55 @@
 #define OPpDEREF_AV		32	/*   Want ref to AV. */
 #define OPpDEREF_HV		64	/*   Want ref to HV. */
 #define OPpDEREF_SV		(32|64)	/*   Want ref to SV. */
-/* Private for OP_RV2SV, OP_RV2AV, OP_RV2AV */
-#define OPpDEREFed		4	/* prev op was OPpDEREF */
+
   /* OP_ENTERSUB only */
 #define OPpENTERSUB_DB		16	/* Debug subroutine. */
-#define OPpENTERSUB_HASTARG	32	/* Called from OP tree. */
-#define OPpENTERSUB_NOMOD	64	/* Immune to op_lvalue() for :attrlist. */
-  /* OP_ENTERSUB and OP_RV2CV only */
+#define OPpENTERSUB_HASTARG	4	/* Called from OP tree. */
+#define OPpENTERSUB_INARGS	1	/* Lval used as arg to a sub. */
+/* used by OPpDEREF             (32|64) */
+/* used by HINT_STRICT_SUBS     2          */
+  /* Mask for OP_ENTERSUB flags, the absence of which must be propagated
+     in dynamic context */
+#define OPpENTERSUB_LVAL_MASK (OPpLVAL_INTRO|OPpENTERSUB_INARGS)
+
+  /* OP_RV2CV only */
 #define OPpENTERSUB_AMPER	8	/* Used & form to call. */
 #define OPpENTERSUB_NOPAREN	128	/* bare sub call (without parens) */
-#define OPpENTERSUB_INARGS	4	/* Lval used as arg to a sub. */
+#define OPpMAY_RETURN_CONSTANT	1	/* If a constant sub, return the constant */
+
   /* OP_GV only */
 #define OPpEARLY_CV		32	/* foo() called before sub foo was parsed */
   /* OP_?ELEM only */
 #define OPpLVAL_DEFER		16	/* Defer creation of array/hash elem */
-  /* OP_RV2?V, OP_GVSV, OP_ENTERITER only */
+  /* OP_RV2[SAH]V, OP_GVSV, OP_ENTERITER only */
 #define OPpOUR_INTRO		16	/* Variable was in an our() */
-  /* OP_RV2[AGH]V, OP_PAD[AH]V, OP_[AH]ELEM */
+  /* OP_RV2[AGH]V, OP_PAD[AH]V, OP_[AH]ELEM, OP_[AH]SLICE OP_AV2ARYLEN,
+     OP_R?KEYS, OP_SUBSTR, OP_POS, OP_VEC */
 #define OPpMAYBE_LVSUB		8	/* We might be an lvalue to return */
+  /* OP_RV2HV and OP_PADHV */
+#define OPpTRUEBOOL		32	/* %hash in (%hash || $foo) in
+					   void context */
+#define OPpMAYBE_TRUEBOOL	64	/* %hash in (%hash || $foo) where
+					   cx is not known till run time */
+
+  /* OP_SUBSTR only */
+#define OPpSUBSTR_REPL_FIRST	16	/* 1st arg is replacement string */
+
   /* OP_PADSV only */
 #define OPpPAD_STATE		16	/* is a "state" pad */
   /* for OP_RV2?V, lower bits carry hints (currently only HINT_STRICT_REFS) */
 
+  /* OP_PADRANGE only */
+  /* bit 7 is OPpLVAL_INTRO */
+#define OPpPADRANGE_COUNTMASK	127	/* bits 6..0 hold target range, */
+#define OPpPADRANGE_COUNTSHIFT	7	/* 7 bits in total */
+
   /* OP_RV2GV only */
 #define OPpDONT_INIT_GV		4	/* Call gv_fetchpv with GV_NOINIT */
 /* (Therefore will return whatever is currently in the symbol table, not
    guaranteed to be a PVGV)  */
+#define OPpALLOW_FAKE		16	/* OK to return fake glob */
 
-  /* OP_RV2CV only */
-#define OPpMAY_RETURN_CONSTANT	1	/* If a constant sub, return the constant */
-
-/* Private for OPs with TARGLEX */
-  /* (lower bits may carry MAXARG) */
-#define OPpTARGET_MY		16	/* Target is PADMY. */
-
 /* Private for OP_ENTERITER and OP_ITER */
 #define OPpITER_REVERSED	4	/* for (reverse ...) */
 #define OPpITER_DEF		8	/* for $_ or for my $_ */
@@ -240,9 +256,8 @@
 #define	OPpCONST_SHORTCIRCUIT	4	/* eg the constant 5 in (5 || foo) */
 #define	OPpCONST_STRICT		8	/* bareword subject to strict 'subs' */
 #define OPpCONST_ENTERED	16	/* Has been entered as symbol. */
-#define OPpCONST_ARYBASE	32	/* Was a $[ translated to constant. */
 #define OPpCONST_BARE		64	/* Was a bare word (filehandle?). */
-#define OPpCONST_WARNING	128	/* Was a $^W translated to constant. */
+#define OPpCONST_FOLDED		128	/* Result of constant folding */
 
 /* Private for OP_FLIP/FLOP */
 #define OPpFLIP_LINENUM		64	/* Range arg potentially a line num. */
@@ -281,7 +296,9 @@
 
 /* Private for OP_FTXXX */
 #define OPpFT_ACCESS		2	/* use filetest 'access' */
-#define OPpFT_STACKED		4	/* stacked filetest, as in "-f -x $f" */
+#define OPpFT_STACKED		4	/* stacked filetest, as "-f" in "-f -x $f" */
+#define OPpFT_STACKING		8	/* stacking filetest, as "-x" in "-f -x $f" */
+#define OPpFT_AFTER_t		16	/* previous op was -t */
 
 /* Private for OP_(MAP|GREP)(WHILE|START) */
 #define OPpGREP_LEX		2	/* iterate over lexical $_ */
@@ -288,7 +305,25 @@
     
 /* Private for OP_ENTEREVAL */
 #define OPpEVAL_HAS_HH		2	/* Does it have a copy of %^H */
+#define OPpEVAL_UNICODE		4
+#define OPpEVAL_BYTES		8
+#define OPpEVAL_COPHH		16	/* Construct %^H from cop hints */
+#define OPpEVAL_RE_REPARSING	32	/* eval_sv(..., G_RE_REPARSING) */
     
+/* Private for OP_CALLER, OP_WANTARRAY and OP_RUNCV */
+#define OPpOFFBYONE		128	/* Treat caller(1) as caller(2) */
+
+/* Private for OP_COREARGS */
+/* These must not conflict with OPpDONT_INIT_GV or OPpALLOW_FAKE.
+   See pp.c:S_rv2gv. */
+#define OPpCOREARGS_DEREF1	1	/* Arg 1 is a handle constructor */
+#define OPpCOREARGS_DEREF2	2	/* Arg 2 is a handle constructor */
+#define OPpCOREARGS_SCALARMOD	64	/* \$ rather than \[$@%*] */
+#define OPpCOREARGS_PUSHMARK	128	/* Call pp_pushmark */
+
+/* Private for OP_(LAST|REDO|NEXT|GOTO|DUMP) */
+#define OPpPV_IS_UTF8		128	/* label is in UTF8 */
+
 struct op {
     BASEOP
 };
@@ -337,11 +372,12 @@
     union {
 	OP *	op_pmreplstart;	/* Only used in OP_SUBST */
 #ifdef USE_ITHREADS
-	char *	op_pmstashpv;	/* Only used in OP_MATCH, with PMf_ONCE set */
+	PADOFFSET op_pmstashoff; /* Only used in OP_MATCH, with PMf_ONCE set */
 #else
 	HV *	op_pmstash;
 #endif
     }		op_pmstashstartu;
+    OP *	op_code_list;	/* list of (?{}) code blocks */
 };
 
 #ifdef USE_ITHREADS
@@ -377,10 +413,7 @@
  * OP_MATCH and OP_QR */
 #define PMf_ONCE	(1<<(PMf_BASE_SHIFT+1))
 
-/* replacement contains variables */
-#define PMf_MAYBE_CONST (1<<(PMf_BASE_SHIFT+2))
-
-/* PMf_ONCE has matched successfully.  Not used under threading. */
+/* PMf_ONCE, i.e. ?pat?, has matched successfully.  Not used under threading. */
 #define PMf_USED        (1<<(PMf_BASE_SHIFT+3))
 
 /* subst replacement is constant */
@@ -400,28 +433,32 @@
 /* Return substituted string instead of modifying it. */
 #define PMf_NONDESTRUCT	(1<<(PMf_BASE_SHIFT+9))
 
-#if PMf_BASE_SHIFT+9 > 31
+/* the pattern has a CV attached (currently only under qr/...(?{}).../) */
+#define PMf_HAS_CV	(1<<(PMf_BASE_SHIFT+10))
+
+/* op_code_list is private; don't free it etc. It may well point to
+ * code within another sub, with different pad etc */
+#define PMf_CODELIST_PRIVATE	(1<<(PMf_BASE_SHIFT+11))
+
+/* the PMOP is a QR (we should be able to detect that from the op type,
+ * but the regex compilation API passes just the pm flags, not the op
+ * itself */
+#define PMf_IS_QR	(1<<(PMf_BASE_SHIFT+12))
+#define PMf_USE_RE_EVAL	(1<<(PMf_BASE_SHIFT+13)) /* use re'eval' in scope */
+
+#if PMf_BASE_SHIFT+13 > 31
 #   error Too many PMf_ bits used.  See above and regnodes.h for any spare in middle
 #endif
 
 #ifdef USE_ITHREADS
 
-#  define PmopSTASHPV(o)						\
-    (((o)->op_pmflags & PMf_ONCE) ? (o)->op_pmstashstartu.op_pmstashpv : NULL)
-#  if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#    define PmopSTASHPV_set(o,pv)	({				\
-	assert((o)->op_pmflags & PMf_ONCE);				\
-	((o)->op_pmstashstartu.op_pmstashpv = savesharedpv(pv));	\
-    })
-#  else
-#    define PmopSTASHPV_set(o,pv)					\
-    ((o)->op_pmstashstartu.op_pmstashpv = savesharedpv(pv))
-#  endif
-#  define PmopSTASH(o)		(PmopSTASHPV(o) \
-				 ? gv_stashpv((o)->op_pmstashstartu.op_pmstashpv,GV_ADD) : NULL)
-#  define PmopSTASH_set(o,hv)	PmopSTASHPV_set(o, ((hv) ? HvNAME_get(hv) : NULL))
-#  define PmopSTASH_free(o)	PerlMemShared_free(PmopSTASHPV(o))
-
+#  define PmopSTASH(o)         ((o)->op_pmflags & PMf_ONCE                         \
+                                ? PL_stashpad[(o)->op_pmstashstartu.op_pmstashoff]   \
+                                : NULL)
+#  define PmopSTASH_set(o,hv)	\
+	(assert_((o)->op_pmflags & PMf_ONCE)				\
+	 (o)->op_pmstashstartu.op_pmstashoff =				\
+	    (hv) ? alloccopstash(hv) : 0)
 #else
 #  define PmopSTASH(o)							\
     (((o)->op_pmflags & PMf_ONCE) ? (o)->op_pmstashstartu.op_pmstash : NULL)
@@ -433,13 +470,10 @@
 #  else
 #    define PmopSTASH_set(o,hv)	((o)->op_pmstashstartu.op_pmstash = (hv))
 #  endif
-#  define PmopSTASHPV(o)	(PmopSTASH(o) ? HvNAME_get(PmopSTASH(o)) : NULL)
+#endif
+#define PmopSTASHPV(o)	(PmopSTASH(o) ? HvNAME_get(PmopSTASH(o)) : NULL)
    /* op_pmstashstartu.op_pmstash is not refcounted */
-#  define PmopSTASHPV_set(o,pv)	PmopSTASH_set((o), gv_stashpv(pv,GV_ADD))
-/* Note that if this becomes non-empty, then S_forget_pmop in op.c will need
-   changing */
-#  define PmopSTASH_free(o)    
-#endif
+#define PmopSTASHPV_set(o,pv)	PmopSTASH_set((o), gv_stashpv(pv,GV_ADD))
 
 struct svop {
     BASEOP
@@ -514,7 +548,8 @@
 #  define	cGVOPx_gv(o)	((GV*)PAD_SVl(cPADOPx(o)->op_padix))
 #  define	IS_PADGV(v)	(v && SvTYPE(v) == SVt_PVGV && isGV_with_GP(v) \
 				 && GvIN_PAD(v))
-#  define	IS_PADCONST(v)	(v && SvREADONLY(v))
+#  define	IS_PADCONST(v) \
+	(v && (SvREADONLY(v) || (SvIsCOW(v) && !SvLEN(v))))
 #  define	cSVOPx_sv(v)	(cSVOPx(v)->op_sv \
 				 ? cSVOPx(v)->op_sv : PAD_SVl((v)->op_targ))
 #  define	cSVOPx_svp(v)	(cSVOPx(v)->op_sv \
@@ -538,7 +573,7 @@
 #  define Nullop ((OP*)NULL)
 #endif
 
-/* Lowest byte-and-a-bit of PL_opargs */
+/* Lowest byte of PL_opargs */
 #define OA_MARK 1
 #define OA_FOLDCONST 2
 #define OA_RETSCALAR 4
@@ -642,7 +677,7 @@
 /* no longer used anywhere in core */
 #ifndef PERL_CORE
 #define cv_ckproto(cv, gv, p) \
-   cv_ckproto_len((cv), (gv), (p), (p) ? strlen(p) : 0)
+   cv_ckproto_len_flags((cv), (gv), (p), (p) ? strlen(p) : 0, 0)
 #endif
 
 #ifdef PERL_CORE
@@ -653,19 +688,66 @@
 #include "reentr.h"
 #endif
 
-#if defined(PL_OP_SLAB_ALLOC)
 #define NewOp(m,var,c,type)	\
 	(var = (type *) Perl_Slab_Alloc(aTHX_ c*sizeof(type)))
 #define NewOpSz(m,var,size)	\
 	(var = (OP *) Perl_Slab_Alloc(aTHX_ size))
 #define FreeOp(p) Perl_Slab_Free(aTHX_ p)
-#else
-#define NewOp(m, var, c, type)	\
-	(var = (MEM_WRAP_CHECK_(c,type) \
-	 (type*)PerlMemShared_calloc(c, sizeof(type))))
-#define NewOpSz(m, var, size)	\
-	(var = (OP*)PerlMemShared_calloc(1, size))
-#define FreeOp(p) PerlMemShared_free(p)
+
+/*
+ * The per-CV op slabs consist of a header (the opslab struct) and a bunch
+ * of space for allocating op slots, each of which consists of two pointers
+ * followed by an op.  The first pointer points to the next op slot.  The
+ * second points to the slab.  At the end of the slab is a null pointer,
+ * so that slot->opslot_next - slot can be used to determine the size
+ * of the op.
+ *
+ * Each CV can have multiple slabs; opslab_next points to the next slab, to
+ * form a chain.  All bookkeeping is done on the first slab, which is where
+ * all the op slots point.
+ *
+ * Freed ops are marked as freed and attached to the freed chain
+ * via op_next pointers.
+ *
+ * When there is more than one slab, the second slab in the slab chain is
+ * assumed to be the one with free space available.  It is used when allo-
+ * cating an op if there are no freed ops available or big enough.
+ */
+
+#ifdef PERL_CORE
+struct opslot {
+    /* keep opslot_next first */
+    OPSLOT *	opslot_next;		/* next slot */
+    OPSLAB *	opslot_slab;		/* owner */
+    OP		opslot_op;		/* the op itself */
+};
+
+struct opslab {
+    OPSLOT *	opslab_first;		/* first op in this slab */
+    OPSLAB *	opslab_next;		/* next slab */
+    OP *	opslab_freed;		/* chain of freed ops */
+    size_t	opslab_refcnt;		/* number of ops */
+# ifdef PERL_DEBUG_READONLY_OPS
+    U16		opslab_size;		/* size of slab in pointers */
+    bool	opslab_readonly;
+# endif
+    OPSLOT	opslab_slots;		/* slots begin here */
+};
+
+# define OPSLOT_HEADER		STRUCT_OFFSET(OPSLOT, opslot_op)
+# define OPSLOT_HEADER_P	(OPSLOT_HEADER/sizeof(I32 *))
+# define OpSLOT(o)		(assert_(o->op_slabbed) \
+				 (OPSLOT *)(((char *)o)-OPSLOT_HEADER))
+# define OpSLAB(o)		OpSLOT(o)->opslot_slab
+# define OpslabREFCNT_dec(slab)      \
+	(((slab)->opslab_refcnt == 1) \
+	 ? opslab_free_nopad(slab)     \
+	 : (void)--(slab)->opslab_refcnt)
+  /* Variant that does not null out the pads */
+# define OpslabREFCNT_dec_padok(slab) \
+	(((slab)->opslab_refcnt == 1)  \
+	 ? opslab_free(slab)		\
+	 : (void)--(slab)->opslab_refcnt)
 #endif
 
 struct block_hooks {
@@ -763,6 +845,12 @@
 #define RV2CVOPCV_MARK_EARLY     0x00000001
 #define RV2CVOPCV_RETURN_NAME_GV 0x00000002
 
+#define op_lvalue(op,t) Perl_op_lvalue_flags(aTHX_ op,t,0)
+
+/* flags for op_lvalue_flags */
+
+#define OP_LVALUE_NO_CROAK 1
+
 /*
 =head1 Custom Operators
 
@@ -955,11 +1043,27 @@
  */
 
 /*
+=head1 Hook manipulation
+*/
+
+#ifdef USE_ITHREADS
+#  define OP_CHECK_MUTEX_INIT		MUTEX_INIT(&PL_check_mutex)
+#  define OP_CHECK_MUTEX_LOCK		MUTEX_LOCK(&PL_check_mutex)
+#  define OP_CHECK_MUTEX_UNLOCK		MUTEX_UNLOCK(&PL_check_mutex)
+#  define OP_CHECK_MUTEX_TERM		MUTEX_DESTROY(&PL_check_mutex)
+#else
+#  define OP_CHECK_MUTEX_INIT		NOOP
+#  define OP_CHECK_MUTEX_LOCK		NOOP
+#  define OP_CHECK_MUTEX_UNLOCK		NOOP
+#  define OP_CHECK_MUTEX_TERM		NOOP
+#endif
+
+/*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/op.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/op_reg_common.h
===================================================================
--- vendor/perl/dist/op_reg_common.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/op_reg_common.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
  *
  *    Definitions common to by op.h and regexp.h
  *
- *    Copyright (C) 2010 by Larry Wall and others
+ *    Copyright (C) 2010, 2011 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -27,6 +27,7 @@
  * RXf_PMf_STD_PMMOD_SHIFT, followed by the p.  See STD_PAT_MODS and
  * INT_PAT_MODS in regexp.h for the reason contiguity is needed */
 /* Make sure to update lib/re.pm when changing these! */
+/* Make sure you keep the pure PMf_ versions below in sync */
 #define RXf_PMf_MULTILINE      (1 << (RXf_PMf_STD_PMMOD_SHIFT+0))    /* /m */
 #define RXf_PMf_SINGLELINE     (1 << (RXf_PMf_STD_PMMOD_SHIFT+1))    /* /s */
 #define RXf_PMf_FOLD           (1 << (RXf_PMf_STD_PMMOD_SHIFT+2))    /* /i */
@@ -36,7 +37,9 @@
 /* The character set for the regex is stored in a field of more than one bit
  * using an enum, for reasons of compactness and to ensure that the options are
  * mutually exclusive */
-/* Make sure to update ext/re/re.pm when changing this! */
+/* Make sure to update ext/re/re.pm and regcomp.sym (as these are used as
+ * offsets for various node types, like POSIXD vs POSIXL, etc) when changing
+ * this! */
 typedef enum {
     REGEX_DEPENDS_CHARSET = 0,
     REGEX_LOCALE_CHARSET,
@@ -48,9 +51,9 @@
 #define _RXf_PMf_CHARSET_SHIFT ((RXf_PMf_STD_PMMOD_SHIFT)+5)
 #define RXf_PMf_CHARSET (7 << (_RXf_PMf_CHARSET_SHIFT)) /* 3 bits */
 
-/* embed.pl doesn't yet know how to handle static inline functions, so
-   manually decorate them here with gcc-style attributes.
-*/
+/* Manually decorate these functions here with gcc-style attributes just to
+ * avoid making the regex_charset typedef global, which it would need to be for
+ * proto.h to understand it */
 PERL_STATIC_INLINE void
 set_regex_charset(U32 * const flags, const regex_charset cs)
     __attribute__nonnull__(1);
@@ -77,14 +80,28 @@
     return (regex_charset) ((flags & RXf_PMf_CHARSET) >> _RXf_PMf_CHARSET_SHIFT);
 }
 
+#define _RXf_PMf_SHIFT_COMPILETIME (RXf_PMf_STD_PMMOD_SHIFT+8)
+
+/*
+  Set in Perl_pmruntime if op_flags & OPf_SPECIAL, i.e. split. Will
+  be used by regex engines to check whether they should set
+  RXf_SKIPWHITE
+*/
+#define RXf_PMf_SPLIT (1<<(RXf_PMf_STD_PMMOD_SHIFT+8))
+
 /* Next available bit after the above.  Name begins with '_' so won't be
  * exported by B */
-#define _RXf_PMf_SHIFT_NEXT (RXf_PMf_STD_PMMOD_SHIFT+8)
+#define _RXf_PMf_SHIFT_NEXT (RXf_PMf_STD_PMMOD_SHIFT+9)
 
 /* Mask of the above bits.  These need to be transferred from op_pmflags to
  * re->extflags during compilation */
-#define RXf_PMf_COMPILETIME    (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_CHARSET|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_KEEPCOPY)
+#define RXf_PMf_COMPILETIME    (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_KEEPCOPY|RXf_PMf_CHARSET)
+#define RXf_PMf_FLAGCOPYMASK   (RXf_PMf_MULTILINE|RXf_PMf_SINGLELINE|RXf_PMf_FOLD|RXf_PMf_EXTENDED|RXf_PMf_KEEPCOPY|RXf_PMf_CHARSET|RXf_PMf_SPLIT)
 
+#if RXf_PMf_COMPILETIME > 255
+#  error RXf_PMf_COMPILETIME wont fit in U8 flags field of eval node
+#endif
+
 /* These copies need to be numerical or defsubs_h.PL won't know about them. */
 #define PMf_MULTILINE    1<<0
 #define PMf_SINGLELINE   1<<1
@@ -91,18 +108,18 @@
 #define PMf_FOLD         1<<2
 #define PMf_EXTENDED     1<<3
 #define PMf_KEEPCOPY     1<<4
+#define PMf_CHARSET      7<<5
+#define PMf_SPLIT        1<<8
 
-#if PMf_MULTILINE != RXf_PMf_MULTILINE || PMf_SINGLELINE != RXf_PMf_SINGLELINE || PMf_FOLD != RXf_PMf_FOLD || PMf_EXTENDED != RXf_PMf_EXTENDED || PMf_KEEPCOPY != RXf_PMf_KEEPCOPY
+#if PMf_MULTILINE != RXf_PMf_MULTILINE || PMf_SINGLELINE != RXf_PMf_SINGLELINE || PMf_FOLD != RXf_PMf_FOLD || PMf_EXTENDED != RXf_PMf_EXTENDED || PMf_KEEPCOPY != RXf_PMf_KEEPCOPY || PMf_SPLIT != RXf_PMf_SPLIT || PMf_CHARSET != RXf_PMf_CHARSET
 #   error RXf_PMf defines are wrong
 #endif
 
-#define PMf_COMPILETIME RXf_PMf_COMPILETIME
-
 /*  Error check that haven't left something out of this.  This isn't done
  *  directly in the #define because doing so confuses regcomp.pl.
  *  (2**n - 1) is n 1 bits, so the below gets the contiguous bits between the
  *  beginning and ending shifts */
-#if RXf_PMf_COMPILETIME != (((1 << (_RXf_PMf_SHIFT_NEXT))-1) \
+#if RXf_PMf_COMPILETIME != (((1 << (_RXf_PMf_SHIFT_COMPILETIME))-1) \
                             & (~((1 << RXf_PMf_STD_PMMOD_SHIFT)-1)))
 #   error RXf_PMf_COMPILETIME is invalid
 #endif


Property changes on: vendor/perl/dist/op_reg_common.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/opcode.h
===================================================================
--- vendor/perl/dist/opcode.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/opcode.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,12 +18,15 @@
 #define Perl_pp_scalar Perl_pp_null
 #define Perl_pp_padany Perl_unimplemented_op
 #define Perl_pp_regcmaybe Perl_pp_null
+#define Perl_pp_transr Perl_pp_trans
 #define Perl_pp_chomp Perl_pp_chop
 #define Perl_pp_schomp Perl_pp_schop
 #define Perl_pp_i_preinc Perl_pp_preinc
-#define Perl_pp_i_predec Perl_pp_predec
+#define Perl_pp_predec Perl_pp_preinc
+#define Perl_pp_i_predec Perl_pp_preinc
 #define Perl_pp_i_postinc Perl_pp_postinc
-#define Perl_pp_i_postdec Perl_pp_postdec
+#define Perl_pp_postdec Perl_pp_postinc
+#define Perl_pp_i_postdec Perl_pp_postinc
 #define Perl_pp_slt Perl_pp_sle
 #define Perl_pp_sgt Perl_pp_sle
 #define Perl_pp_sge Perl_pp_sle
@@ -35,6 +38,7 @@
 #define Perl_pp_hex Perl_pp_oct
 #define Perl_pp_rindex Perl_pp_index
 #define Perl_pp_lcfirst Perl_pp_ucfirst
+#define Perl_pp_aelemfast_lex Perl_pp_aelemfast
 #define Perl_pp_avalues Perl_pp_akeys
 #define Perl_pp_values Perl_do_kv
 #define Perl_pp_keys Perl_do_kv
@@ -138,7 +142,6 @@
 #define Perl_pp_custom Perl_unimplemented_op
 #define Perl_pp_reach Perl_pp_rkeys
 #define Perl_pp_rvalues Perl_pp_rkeys
-#define Perl_pp_transr Perl_pp_trans
 START_EXTERN_C
 
 #ifndef DOINIT
@@ -181,6 +184,7 @@
 	"subst",
 	"substcont",
 	"trans",
+	"transr",
 	"sassign",
 	"aassign",
 	"chop",
@@ -273,6 +277,7 @@
 	"quotemeta",
 	"rv2av",
 	"aelemfast",
+	"aelemfast_lex",
 	"aelem",
 	"aslice",
 	"aeach",
@@ -286,7 +291,6 @@
 	"rv2hv",
 	"helem",
 	"hslice",
-	"boolkeys",
 	"unpack",
 	"pack",
 	"split",
@@ -514,7 +518,14 @@
 	"reach",
 	"rkeys",
 	"rvalues",
-	"transr",
+	"coreargs",
+	"runcv",
+	"fc",
+	"padcv",
+	"introcv",
+	"clonecv",
+	"padrange",
+	"freed",
 };
 #endif
 
@@ -558,6 +569,7 @@
 	"substitution (s///)",
 	"substitution iterator",
 	"transliteration (tr///)",
+	"transliteration (tr///)",
 	"scalar assignment",
 	"list assignment",
 	"chop",
@@ -650,6 +662,7 @@
 	"quotemeta",
 	"array dereference",
 	"constant array element",
+	"constant lexical array element",
 	"array element",
 	"array slice",
 	"each on array",
@@ -663,7 +676,6 @@
 	"hash dereference",
 	"hash element",
 	"hash slice",
-	"boolkeys",
 	"unpack",
 	"pack",
 	"split",
@@ -891,7 +903,14 @@
 	"each on reference",
 	"keys on reference",
 	"values on reference",
-	"transliteration (tr///)",
+	"CORE:: subroutine",
+	"__SUB__",
+	"fc",
+	"private subroutine",
+	"private subroutine",
+	"private subroutine",
+	"list of private variables",
+	"freed op",
 };
 #endif
 
@@ -949,6 +968,7 @@
 	Perl_pp_subst,
 	Perl_pp_substcont,
 	Perl_pp_trans,
+	Perl_pp_transr,	/* implemented by Perl_pp_trans */
 	Perl_pp_sassign,
 	Perl_pp_aassign,
 	Perl_pp_chop,
@@ -961,12 +981,12 @@
 	Perl_pp_pos,
 	Perl_pp_preinc,
 	Perl_pp_i_preinc,	/* implemented by Perl_pp_preinc */
-	Perl_pp_predec,
-	Perl_pp_i_predec,	/* implemented by Perl_pp_predec */
+	Perl_pp_predec,	/* implemented by Perl_pp_preinc */
+	Perl_pp_i_predec,	/* implemented by Perl_pp_preinc */
 	Perl_pp_postinc,
 	Perl_pp_i_postinc,	/* implemented by Perl_pp_postinc */
-	Perl_pp_postdec,
-	Perl_pp_i_postdec,	/* implemented by Perl_pp_postdec */
+	Perl_pp_postdec,	/* implemented by Perl_pp_postinc */
+	Perl_pp_i_postdec,	/* implemented by Perl_pp_postinc */
 	Perl_pp_pow,
 	Perl_pp_multiply,
 	Perl_pp_i_multiply,
@@ -1041,6 +1061,7 @@
 	Perl_pp_quotemeta,
 	Perl_pp_rv2av,
 	Perl_pp_aelemfast,
+	Perl_pp_aelemfast_lex,	/* implemented by Perl_pp_aelemfast */
 	Perl_pp_aelem,
 	Perl_pp_aslice,
 	Perl_pp_aeach,
@@ -1054,7 +1075,6 @@
 	Perl_pp_rv2hv,	/* implemented by Perl_pp_rv2av */
 	Perl_pp_helem,
 	Perl_pp_hslice,
-	Perl_pp_boolkeys,
 	Perl_pp_unpack,
 	Perl_pp_pack,
 	Perl_pp_split,
@@ -1282,7 +1302,13 @@
 	Perl_pp_reach,	/* implemented by Perl_pp_rkeys */
 	Perl_pp_rkeys,
 	Perl_pp_rvalues,	/* implemented by Perl_pp_rkeys */
-	Perl_pp_transr,	/* implemented by Perl_pp_trans */
+	Perl_pp_coreargs,
+	Perl_pp_runcv,
+	Perl_pp_fc,
+	Perl_pp_padcv,
+	Perl_pp_introcv,
+	Perl_pp_clonecv,
+	Perl_pp_padrange,
 }
 #endif
 #ifdef PERL_PPADDR_INITED
@@ -1337,6 +1363,7 @@
 	Perl_ck_match,		/* subst */
 	Perl_ck_null,		/* substcont */
 	Perl_ck_match,		/* trans */
+	Perl_ck_match,		/* transr */
 	Perl_ck_sassign,	/* sassign */
 	Perl_ck_null,		/* aassign */
 	Perl_ck_spair,		/* chop */
@@ -1344,9 +1371,9 @@
 	Perl_ck_spair,		/* chomp */
 	Perl_ck_null,		/* schomp */
 	Perl_ck_defined,	/* defined */
-	Perl_ck_lfun,		/* undef */
+	Perl_ck_fun,		/* undef */
 	Perl_ck_fun,		/* study */
-	Perl_ck_lfun,		/* pos */
+	Perl_ck_fun,		/* pos */
 	Perl_ck_lfun,		/* preinc */
 	Perl_ck_lfun,		/* i_preinc */
 	Perl_ck_lfun,		/* predec */
@@ -1371,14 +1398,14 @@
 	Perl_ck_fun,		/* stringify */
 	Perl_ck_bitop,		/* left_shift */
 	Perl_ck_bitop,		/* right_shift */
-	Perl_ck_null,		/* lt */
-	Perl_ck_null,		/* i_lt */
-	Perl_ck_null,		/* gt */
-	Perl_ck_null,		/* i_gt */
-	Perl_ck_null,		/* le */
-	Perl_ck_null,		/* i_le */
-	Perl_ck_null,		/* ge */
-	Perl_ck_null,		/* i_ge */
+	Perl_ck_cmp,		/* lt */
+	Perl_ck_cmp,		/* i_lt */
+	Perl_ck_cmp,		/* gt */
+	Perl_ck_cmp,		/* i_gt */
+	Perl_ck_cmp,		/* le */
+	Perl_ck_cmp,		/* i_le */
+	Perl_ck_cmp,		/* ge */
+	Perl_ck_cmp,		/* i_ge */
 	Perl_ck_null,		/* eq */
 	Perl_ck_null,		/* i_eq */
 	Perl_ck_null,		/* ne */
@@ -1412,12 +1439,12 @@
 	Perl_ck_fun,		/* hex */
 	Perl_ck_fun,		/* oct */
 	Perl_ck_fun,		/* abs */
-	Perl_ck_fun,		/* length */
+	Perl_ck_length,		/* length */
 	Perl_ck_substr,		/* substr */
 	Perl_ck_fun,		/* vec */
 	Perl_ck_index,		/* index */
 	Perl_ck_index,		/* rindex */
-	Perl_ck_fun,		/* sprintf */
+	Perl_ck_lfun,		/* sprintf */
 	Perl_ck_fun,		/* formline */
 	Perl_ck_fun,		/* ord */
 	Perl_ck_fun,		/* chr */
@@ -1429,6 +1456,7 @@
 	Perl_ck_fun,		/* quotemeta */
 	Perl_ck_rvconst,	/* rv2av */
 	Perl_ck_null,		/* aelemfast */
+	Perl_ck_null,		/* aelemfast_lex */
 	Perl_ck_null,		/* aelem */
 	Perl_ck_null,		/* aslice */
 	Perl_ck_each,		/* aeach */
@@ -1442,8 +1470,7 @@
 	Perl_ck_rvconst,	/* rv2hv */
 	Perl_ck_null,		/* helem */
 	Perl_ck_null,		/* hslice */
-	Perl_ck_fun,		/* boolkeys */
-	Perl_ck_unpack,		/* unpack */
+	Perl_ck_fun,		/* unpack */
 	Perl_ck_fun,		/* pack */
 	Perl_ck_split,		/* split */
 	Perl_ck_join,		/* join */
@@ -1531,8 +1558,8 @@
 	Perl_ck_fun,		/* sysread */
 	Perl_ck_fun,		/* syswrite */
 	Perl_ck_eof,		/* eof */
-	Perl_ck_fun,		/* tell */
-	Perl_ck_fun,		/* seek */
+	Perl_ck_tell,		/* tell */
+	Perl_ck_tell,		/* seek */
 	Perl_ck_trunc,		/* truncate */
 	Perl_ck_fun,		/* fcntl */
 	Perl_ck_fun,		/* ioctl */
@@ -1579,7 +1606,7 @@
 	Perl_ck_ftst,		/* fttty */
 	Perl_ck_ftst,		/* fttext */
 	Perl_ck_ftst,		/* ftbinary */
-	Perl_ck_chdir,		/* chdir */
+	Perl_ck_trunc,		/* chdir */
 	Perl_ck_fun,		/* chown */
 	Perl_ck_fun,		/* chroot */
 	Perl_ck_fun,		/* unlink */
@@ -1670,7 +1697,13 @@
 	Perl_ck_each,		/* reach */
 	Perl_ck_each,		/* rkeys */
 	Perl_ck_each,		/* rvalues */
-	Perl_ck_match,		/* transr */
+	Perl_ck_null,		/* coreargs */
+	Perl_ck_null,		/* runcv */
+	Perl_ck_fun,		/* fc */
+	Perl_ck_null,		/* padcv */
+	Perl_ck_null,		/* introcv */
+	Perl_ck_null,		/* clonecv */
+	Perl_ck_null,		/* padrange */
 }
 #endif
 #ifdef PERL_CHECK_INITED
@@ -1719,6 +1752,7 @@
 	0x00001544,	/* subst */
 	0x00000344,	/* substcont */
 	0x00001804,	/* trans */
+	0x00001804,	/* transr */
 	0x00000004,	/* sassign */
 	0x00022208,	/* aassign */
 	0x00002b0d,	/* chop */
@@ -1726,9 +1760,9 @@
 	0x00002b1d,	/* chomp */
 	0x00009b9c,	/* schomp */
 	0x00009b84,	/* defined */
-	0x00009b04,	/* undef */
+	0x0000fb04,	/* undef */
 	0x00009b84,	/* study */
-	0x00009b8c,	/* pos */
+	0x0000fb8c,	/* pos */
 	0x00001164,	/* preinc */
 	0x00001144,	/* i_preinc */
 	0x00001164,	/* predec */
@@ -1744,7 +1778,7 @@
 	0x0001121e,	/* i_divide */
 	0x0001123e,	/* modulo */
 	0x0001121e,	/* i_modulo */
-	0x00012209,	/* repeat */
+	0x0001220b,	/* repeat */
 	0x0001123e,	/* add */
 	0x0001121e,	/* i_add */
 	0x0001123e,	/* subtract */
@@ -1811,6 +1845,7 @@
 	0x00009b8e,	/* quotemeta */
 	0x00000148,	/* rv2av */
 	0x00013604,	/* aelemfast */
+	0x00013040,	/* aelemfast_lex */
 	0x00013204,	/* aelem */
 	0x00023401,	/* aslice */
 	0x00003b00,	/* aeach */
@@ -1824,9 +1859,8 @@
 	0x00000148,	/* rv2hv */
 	0x00014204,	/* helem */
 	0x00024401,	/* hslice */
-	0x00004b00,	/* boolkeys */
-	0x00091400,	/* unpack */
-	0x0002140d,	/* pack */
+	0x00091480,	/* unpack */
+	0x0002140f,	/* pack */
 	0x00111408,	/* split */
 	0x0002140d,	/* join */
 	0x00002401,	/* list */
@@ -1932,8 +1966,8 @@
 	0x01116404,	/* ssockopt */
 	0x00006b04,	/* getsockname */
 	0x00006b04,	/* getpeername */
-	0x00006c80,	/* lstat */
-	0x00006c80,	/* stat */
+	0x0000ec80,	/* lstat */
+	0x0000ec80,	/* stat */
 	0x00006c84,	/* ftrread */
 	0x00006c84,	/* ftrwrite */
 	0x00006c84,	/* ftrexec */
@@ -2010,7 +2044,7 @@
 	0x00009bc0,	/* require */
 	0x00001140,	/* dofile */
 	0x00000604,	/* hintseval */
-	0x00001b40,	/* entereval */
+	0x00009bc0,	/* entereval */
 	0x00001100,	/* leaveeval */
 	0x00000340,	/* entertry */
 	0x00000400,	/* leavetry */
@@ -2052,7 +2086,13 @@
 	0x00001b00,	/* reach */
 	0x00001b08,	/* rkeys */
 	0x00001b08,	/* rvalues */
-	0x00001804,	/* transr */
+	0x00000600,	/* coreargs */
+	0x00000004,	/* runcv */
+	0x00009b8e,	/* fc */
+	0x00000040,	/* padcv */
+	0x00000040,	/* introcv */
+	0x00000040,	/* clonecv */
+	0x00000040,	/* padrange */
 };
 #endif
 


Property changes on: vendor/perl/dist/opcode.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Deleted: vendor/perl/dist/opcode.pl
===================================================================
--- vendor/perl/dist/opcode.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/opcode.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,1076 +0,0 @@
-#!/usr/bin/perl -w
-# 
-# Regenerate (overwriting only if changed):
-#
-#    opcode.h
-#    opnames.h
-#    pp_proto.h
-#    pp.sym
-#
-# from information stored in the DATA section of this file, plus the
-# values hardcoded into this script in @raw_alias.
-#
-# Accepts the standard regen_lib -q and -v args.
-#
-# This script is normally invoked from regen.pl.
-
-use strict;
-
-BEGIN {
-    # Get function prototypes
-    require 'regen_lib.pl';
-}
-
-my $opcode_new = 'opcode.h-new';
-my $opname_new = 'opnames.h-new';
-my $oc = safer_open($opcode_new);
-my $on = safer_open($opname_new);
-select $oc;
-
-# Read data.
-
-my %seen;
-my (@ops, %desc, %check, %ckname, %flags, %args);
-
-while (<DATA>) {
-    chop;
-    next unless $_;
-    next if /^#/;
-    my ($key, $desc, $check, $flags, $args) = split(/\t+/, $_, 5);
-    $args = '' unless defined $args;
-
-    warn qq[Description "$desc" duplicates $seen{$desc}\n] if $seen{$desc};
-    die qq[Opcode "$key" duplicates $seen{$key}\n] if $seen{$key};
-    $seen{$desc} = qq[description of opcode "$key"];
-    $seen{$key} = qq[opcode "$key"];
-
-    push(@ops, $key);
-    $desc{$key} = $desc;
-    $check{$key} = $check;
-    $ckname{$check}++;
-    $flags{$key} = $flags;
-    $args{$key} = $args;
-}
-
-# Set up aliases
-
-my %alias;
-
-# Format is "this function" => "does these op names"
-my @raw_alias = (
-		 Perl_do_kv => [qw( keys values )],
-		 Perl_unimplemented_op => [qw(padany mapstart custom)],
-		 # All the ops with a body of { return NORMAL; }
-		 Perl_pp_null => [qw(scalar regcmaybe lineseq scope)],
-
-		 Perl_pp_goto => ['dump'],
-		 Perl_pp_require => ['dofile'],
-		 Perl_pp_untie => ['dbmclose'],
-		 Perl_pp_sysread => [qw(read recv)],
-		 Perl_pp_sysseek => ['seek'],
-		 Perl_pp_ioctl => ['fcntl'],
-		 Perl_pp_ssockopt => ['gsockopt'],
-		 Perl_pp_getpeername => ['getsockname'],
-		 Perl_pp_stat => ['lstat'],
-		 Perl_pp_ftrowned => [qw(fteowned ftzero ftsock ftchr ftblk
-					 ftfile ftdir ftpipe ftsuid ftsgid
- 					 ftsvtx)],
-		 Perl_pp_fttext => ['ftbinary'],
-		 Perl_pp_gmtime => ['localtime'],
-		 Perl_pp_semget => [qw(shmget msgget)],
-		 Perl_pp_semctl => [qw(shmctl msgctl)],
-		 Perl_pp_ghostent => [qw(ghbyname ghbyaddr)],
-		 Perl_pp_gnetent => [qw(gnbyname gnbyaddr)],
-		 Perl_pp_gprotoent => [qw(gpbyname gpbynumber)],
-		 Perl_pp_gservent => [qw(gsbyname gsbyport)],
-		 Perl_pp_gpwent => [qw(gpwnam gpwuid)],
-		 Perl_pp_ggrent => [qw(ggrnam ggrgid)],
-		 Perl_pp_ftis => [qw(ftsize ftmtime ftatime ftctime)],
-		 Perl_pp_chown => [qw(unlink chmod utime kill)],
-		 Perl_pp_link => ['symlink'],
-		 Perl_pp_ftrread => [qw(ftrwrite ftrexec fteread ftewrite
- 					fteexec)],
-		 Perl_pp_shmwrite => [qw(shmread msgsnd msgrcv semop)],
-		 Perl_pp_send => ['syswrite'],
-		 Perl_pp_defined => [qw(dor dorassign)],
-                 Perl_pp_and => ['andassign'],
-		 Perl_pp_or => ['orassign'],
-		 Perl_pp_ucfirst => ['lcfirst'],
-		 Perl_pp_sle => [qw(slt sgt sge)],
-		 Perl_pp_print => ['say'],
-		 Perl_pp_index => ['rindex'],
-		 Perl_pp_oct => ['hex'],
-		 Perl_pp_shift => ['pop'],
-		 Perl_pp_sin => [qw(cos exp log sqrt)],
-		 Perl_pp_bit_or => ['bit_xor'],
-		 Perl_pp_rv2av => ['rv2hv'],
-		);
-
-while (my ($func, $names) = splice @raw_alias, 0, 2) {
-    $alias{$_} = $func for @$names;
-}
-
-# Emit defines.
-
-print <<"END";
-/* -*- buffer-read-only: t -*-
- *
- *    opcode.h
- *
- *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- *    2001, 2002, 2003, 2004, 2005, 2006, 2007 by Larry Wall and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
- *  This file is built by opcode.pl from its data.  Any changes made here
- *  will be lost!
- */
-
-#ifndef PERL_GLOBAL_STRUCT_INIT
-
-#define Perl_pp_i_preinc Perl_pp_preinc
-#define Perl_pp_i_predec Perl_pp_predec
-#define Perl_pp_i_postinc Perl_pp_postinc
-#define Perl_pp_i_postdec Perl_pp_postdec
-
-PERL_PPDEF(Perl_unimplemented_op)
-
-END
-
-print $on <<"END";
-/* -*- buffer-read-only: t -*-
- *
- *    opnames.h
- *
- *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
- *    2007, 2008 by Larry Wall and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- *
- * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
- *  This file is built by opcode.pl from its data.  Any changes made here
- *  will be lost!
- */
-
-typedef enum opcode {
-END
-
-my $i = 0;
-for (@ops) {
-    print $on "\t", &tab(3,"OP_\U$_,"), "/* ", $i++, " */\n";
-}
-print $on "\t", &tab(3,"OP_max"), "\n";
-print $on "} opcode;\n";
-print $on "\n#define MAXO ", scalar @ops, "\n";
-print $on "#define OP_phoney_INPUT_ONLY -1\n";
-print $on "#define OP_phoney_OUTPUT_ONLY -2\n\n";
-
-# Emit op names and descriptions.
-
-print <<END;
-START_EXTERN_C
-
-#define OP_NAME(o) ((o)->op_type == OP_CUSTOM ? custom_op_name(o) : \\
-                    PL_op_name[(o)->op_type])
-#define OP_DESC(o) ((o)->op_type == OP_CUSTOM ? custom_op_desc(o) : \\
-                    PL_op_desc[(o)->op_type])
-
-#ifndef DOINIT
-EXTCONST char* const PL_op_name[];
-#else
-EXTCONST char* const PL_op_name[] = {
-END
-
-for (@ops) {
-    print qq(\t"$_",\n);
-}
-
-print <<END;
-};
-#endif
-
-END
-
-print <<END;
-#ifndef DOINIT
-EXTCONST char* const PL_op_desc[];
-#else
-EXTCONST char* const PL_op_desc[] = {
-END
-
-for (@ops) {
-    my($safe_desc) = $desc{$_};
-
-    # Have to escape double quotes and escape characters.
-    $safe_desc =~ s/(^|[^\\])([\\"])/$1\\$2/g;
-
-    print qq(\t"$safe_desc",\n);
-}
-
-print <<END;
-};
-#endif
-
-END_EXTERN_C
-
-#endif /* !PERL_GLOBAL_STRUCT_INIT */
-END
-
-# Emit function declarations.
-
-#for (sort keys %ckname) {
-#    print "OP *\t", &tab(3,$_),"(pTHX_ OP* o);\n";
-#}
-#
-#print "\n";
-#
-#for (@ops) {
-#    print "OP *\t", &tab(3, "pp_$_"), "(pTHX);\n";
-#}
-
-# Emit ppcode switch array.
-
-print <<END;
-
-START_EXTERN_C
-
-#ifdef PERL_GLOBAL_STRUCT_INIT
-#  define PERL_PPADDR_INITED
-static const Perl_ppaddr_t Gppaddr[]
-#else
-#  ifndef PERL_GLOBAL_STRUCT
-#    define PERL_PPADDR_INITED
-EXT Perl_ppaddr_t PL_ppaddr[] /* or perlvars.h */
-#  endif
-#endif /* PERL_GLOBAL_STRUCT */
-#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
-#  define PERL_PPADDR_INITED
-= {
-END
-
-for (@ops) {
-    if (my $name = $alias{$_}) {
-	print "\tMEMBER_TO_FPTR($name),\t/* Perl_pp_$_ */\n";
-    }
-    else {
-	print "\tMEMBER_TO_FPTR(Perl_pp_$_),\n";
-    }
-}
-
-print <<END;
-}
-#endif
-#ifdef PERL_PPADDR_INITED
-;
-#endif
-
-END
-
-# Emit check routines.
-
-print <<END;
-#ifdef PERL_GLOBAL_STRUCT_INIT
-#  define PERL_CHECK_INITED
-static const Perl_check_t Gcheck[]
-#else
-#  ifndef PERL_GLOBAL_STRUCT
-#    define PERL_CHECK_INITED
-EXT Perl_check_t PL_check[] /* or perlvars.h */
-#  endif
-#endif
-#if (defined(DOINIT) && !defined(PERL_GLOBAL_STRUCT)) || defined(PERL_GLOBAL_STRUCT_INIT)
-#  define PERL_CHECK_INITED
-= {
-END
-
-for (@ops) {
-    print "\t", &tab(3, "MEMBER_TO_FPTR(Perl_$check{$_}),"), "\t/* $_ */\n";
-}
-
-print <<END;
-}
-#endif
-#ifdef PERL_CHECK_INITED
-;
-#endif /* #ifdef PERL_CHECK_INITED */
-
-END
-
-# Emit allowed argument types.
-
-my $ARGBITS = 32;
-
-print <<END;
-#ifndef PERL_GLOBAL_STRUCT_INIT
-
-#ifndef DOINIT
-EXTCONST U32 PL_opargs[];
-#else
-EXTCONST U32 PL_opargs[] = {
-END
-
-my %argnum = (
-    'S',  1,		# scalar
-    'L',  2,		# list
-    'A',  3,		# array value
-    'H',  4,		# hash value
-    'C',  5,		# code value
-    'F',  6,		# file value
-    'R',  7,		# scalar reference
-);
-
-my %opclass = (
-    '0',  0,		# baseop
-    '1',  1,		# unop
-    '2',  2,		# binop
-    '|',  3,		# logop
-    '@',  4,		# listop
-    '/',  5,		# pmop
-    '$',  6,		# svop_or_padop
-    '#',  7,		# padop
-    '"',  8,		# pvop_or_svop
-    '{',  9,		# loop
-    ';',  10,		# cop
-    '%',  11,		# baseop_or_unop
-    '-',  12,		# filestatop
-    '}',  13,		# loopexop
-);
-
-my %opflags = (
-    'm' =>   1,		# needs stack mark
-    'f' =>   2,		# fold constants
-    's' =>   4,		# always produces scalar
-    't' =>   8,		# needs target scalar
-    'T' =>   8 | 256,	# ... which may be lexical
-    'i' =>  16,		# always produces integer
-    'I' =>  32,		# has corresponding int op
-    'd' =>  64,		# danger, unknown side effects
-    'u' => 128,		# defaults to $_
-);
-
-my %OP_IS_SOCKET;
-my %OP_IS_FILETEST;
-my $OCSHIFT = 9;
-my $OASHIFT = 13;
-
-for my $op (@ops) {
-    my $argsum = 0;
-    my $flags = $flags{$op};
-    for my $flag (keys %opflags) {
-	if ($flags =~ s/$flag//) {
-	    die "Flag collision for '$op' ($flags{$op}, $flag)\n"
-		if $argsum & $opflags{$flag};
-	    $argsum |= $opflags{$flag};
-	}
-    }
-    die qq[Opcode '$op' has no class indicator ($flags{$op} => $flags)\n]
-	unless exists $opclass{$flags};
-    $argsum |= $opclass{$flags} << $OCSHIFT;
-    my $argshift = $OASHIFT;
-    for my $arg (split(' ',$args{$op})) {
-	if ($arg =~ /^F/) {
-           $OP_IS_SOCKET{$op}   = 1 if $arg =~ s/s//;
-           $OP_IS_FILETEST{$op} = 1 if $arg =~ s/-//;
-        }
-	my $argnum = ($arg =~ s/\?//) ? 8 : 0;
-        die "op = $op, arg = $arg\n"
-	    unless exists $argnum{$arg};
-	$argnum += $argnum{$arg};
-	die "Argument overflow for '$op'\n"
-	    if $argshift >= $ARGBITS ||
-	       $argnum > ((1 << ($ARGBITS - $argshift)) - 1);
-	$argsum += $argnum << $argshift;
-	$argshift += 4;
-    }
-    $argsum = sprintf("0x%08x", $argsum);
-    print "\t", &tab(3, "$argsum,"), "/* $op */\n";
-}
-
-print <<END;
-};
-#endif
-
-#endif /* !PERL_GLOBAL_STRUCT_INIT */
-
-END_EXTERN_C
-
-END
-
-if (keys %OP_IS_SOCKET) {
-    print $on "\n#define OP_IS_SOCKET(op)	\\\n\t(";
-    print $on join(" || \\\n\t ",
-               map { "(op) == OP_" . uc() } sort keys %OP_IS_SOCKET);
-    print $on ")\n\n";
-}
-
-if (keys %OP_IS_FILETEST) {
-    print $on "\n#define OP_IS_FILETEST(op)	\\\n\t(";
-    print $on join(" || \\\n\t ",
-               map { "(op) == OP_" . uc() } sort keys %OP_IS_FILETEST);
-    print $on ")\n\n";
-}
-
-print $oc "/* ex: set ro: */\n";
-print $on "/* ex: set ro: */\n";
-
-safer_close($oc);
-safer_close($on);
-
-rename_if_different $opcode_new, 'opcode.h';
-rename_if_different $opname_new, 'opnames.h';
-
-my $pp_proto_new = 'pp_proto.h-new';
-my $pp_sym_new  = 'pp.sym-new';
-
-my $pp = safer_open($pp_proto_new);
-my $ppsym = safer_open($pp_sym_new);
-
-print $pp <<"END";
-/* -*- buffer-read-only: t -*-
-   !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-   This file is built by opcode.pl from its data.  Any changes made here
-   will be lost!
-*/
-
-END
-
-print $ppsym <<"END";
-# -*- buffer-read-only: t -*-
-#
-# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-#   This file is built by opcode.pl from its data.  Any changes made here
-#   will be lost!
-#
-
-END
-
-
-for (sort keys %ckname) {
-    print $pp "PERL_CKDEF(Perl_$_)\n";
-    print $ppsym "Perl_$_\n";
-#OP *\t", &tab(3,$_),"(OP* o);\n";
-}
-
-print $pp "\n\n";
-
-for (@ops) {
-    next if /^i_(pre|post)(inc|dec)$/;
-    next if /^custom$/;
-    print $pp "PERL_PPDEF(Perl_pp_$_)\n";
-    print $ppsym "Perl_pp_$_\n";
-}
-print $pp "\n/* ex: set ro: */\n";
-print $ppsym "\n# ex: set ro:\n";
-
-safer_close($pp);
-safer_close($ppsym);
-
-rename_if_different $pp_proto_new, 'pp_proto.h';
-rename_if_different $pp_sym_new, 'pp.sym';
-
-END {
-  foreach ('opcode.h', 'opnames.h', 'pp_proto.h', 'pp.sym') {
-    1 while unlink "$_-old";
-  }
-}
-
-###########################################################################
-sub tab {
-    my ($l, $t) = @_;
-    $t .= "\t" x ($l - (length($t) + 1) / 8);
-    $t;
-}
-###########################################################################
-
-# Some comments about 'T' opcode classifier:
-
-# Safe to set if the ppcode uses:
-#	tryAMAGICbin, tryAMAGICun, SETn, SETi, SETu, PUSHn, PUSHTARG, SETTARG,
-#	SETs(TARG), XPUSHn, XPUSHu,
-
-# Unsafe to set if the ppcode uses dTARG or [X]RETPUSH[YES|NO|UNDEF]
-
-# lt and friends do SETs (including ncmp, but not scmp)
-
-# Additional mode of failure: the opcode can modify TARG before it "used"
-# all the arguments (or may call an external function which does the same).
-# If the target coincides with one of the arguments ==> kaboom.
-
-# pp.c	pos substr each not OK (RETPUSHUNDEF)
-#	substr vec also not OK due to LV to target (are they???)
-#	ref not OK (RETPUSHNO)
-#	trans not OK (dTARG; TARG = sv_newmortal();)
-#	ucfirst etc not OK: TMP arg processed inplace
-#	quotemeta not OK (unsafe when TARG == arg)
-#	each repeat not OK too due to list context
-#	pack split - unknown whether they are safe
-#	sprintf: is calling do_sprintf(TARG,...) which can act on TARG
-#	  before other args are processed.
-
-#	Suspicious wrt "additional mode of failure" (and only it):
-#	schop, chop, postinc/dec, bit_and etc, negate, complement.
-
-#	Also suspicious: 4-arg substr, sprintf, uc/lc (POK_only), reverse, pack.
-
-#	substr/vec: doing TAINT_off()???
-
-# pp_hot.c
-#	readline - unknown whether it is safe
-#	match subst not OK (dTARG)
-#	grepwhile not OK (not always setting)
-#	join not OK (unsafe when TARG == arg)
-
-#	Suspicious wrt "additional mode of failure": concat (dealt with
-#	in ck_sassign()), join (same).
-
-# pp_ctl.c
-#	mapwhile flip caller not OK (not always setting)
-
-# pp_sys.c
-#	backtick glob warn die not OK (not always setting)
-#	warn not OK (RETPUSHYES)
-#	open fileno getc sysread syswrite ioctl accept shutdown
-#	 ftsize(etc) readlink telldir fork alarm getlogin not OK (RETPUSHUNDEF)
-#	umask select not OK (XPUSHs(&PL_sv_undef);)
-#	fileno getc sysread syswrite tell not OK (meth("FILENO" "GETC"))
-#	sselect shm* sem* msg* syscall - unknown whether they are safe
-#	gmtime not OK (list context)
-
-#	Suspicious wrt "additional mode of failure": warn, die, select.
-
-__END__
-
-# New ops always go at the end
-# The restriction on having custom as the last op has been removed
-
-# A recapitulation of the format of this file:
-# The file consists of five columns: the name of the op, an English
-# description, the name of the "check" routine used to optimize this
-# operation, some flags, and a description of the operands.
-
-# The flags consist of options followed by a mandatory op class signifier
-
-# The classes are:
-# baseop      - 0            unop     - 1            binop      - 2
-# logop       - |            listop   - @            pmop       - /
-# padop/svop  - $            padop    - # (unused)   loop       - {
-# baseop/unop - %            loopexop - }            filestatop - -
-# pvop/svop   - "            cop      - ;
-
-# Other options are:
-#   needs stack mark                    - m
-#   needs constant folding              - f
-#   produces a scalar                   - s
-#   produces an integer                 - i
-#   needs a target                      - t
-#   target can be in a pad              - T
-#   has a corresponding integer version - I
-#   has side effects                    - d
-#   uses $_ if no argument given        - u
-
-# Values for the operands are:
-# scalar      - S            list     - L            array     - A
-# hash        - H            sub (CV) - C            file      - F
-# socket      - Fs           filetest - F-           reference - R
-# "?" denotes an optional operand.
-
-# Nothing.
-
-null		null operation		ck_null		0	
-stub		stub			ck_null		0
-scalar		scalar			ck_fun		s%	S
-
-# Pushy stuff.
-
-pushmark	pushmark		ck_null		s0	
-wantarray	wantarray		ck_null		is0	
-
-const		constant item		ck_svconst	s$	
-
-gvsv		scalar variable		ck_null		ds$	
-gv		glob value		ck_null		ds$	
-gelem		glob elem		ck_null		d2	S S
-padsv		private variable	ck_null		ds0
-padav		private array		ck_null		d0
-padhv		private hash		ck_null		d0
-padany		private value		ck_null		d0
-
-pushre		push regexp		ck_null		d/
-
-# References and stuff.
-
-rv2gv		ref-to-glob cast	ck_rvconst	ds1	
-rv2sv		scalar dereference	ck_rvconst	ds1	
-av2arylen	array length		ck_null		is1	
-rv2cv		subroutine dereference	ck_rvconst	d1
-anoncode	anonymous subroutine	ck_anoncode	$	
-prototype	subroutine prototype	ck_null		s%	S
-refgen		reference constructor	ck_spair	m1	L
-srefgen		single ref constructor	ck_null		fs1	S
-ref		reference-type operator	ck_fun		stu%	S?
-bless		bless			ck_fun		s@	S S?
-
-# Pushy I/O.
-
-backtick	quoted execution (``, qx)	ck_open		tu%	S?
-# glob defaults its first arg to $_
-glob		glob			ck_glob		t@	S?
-readline	<HANDLE>		ck_readline	t%	F?
-rcatline	append I/O operator	ck_null		t$
-
-# Bindable operators.
-
-regcmaybe	regexp internal guard	ck_fun		s1	S
-regcreset	regexp internal reset	ck_fun		s1	S
-regcomp		regexp compilation	ck_null		s|	S
-match		pattern match (m//)	ck_match	d/
-qr		pattern quote (qr//)	ck_match	s/
-subst		substitution (s///)	ck_match	dis/	S
-substcont	substitution iterator	ck_null		dis|	
-trans		transliteration (tr///)	ck_match	is"	S
-
-# Lvalue operators.
-# sassign is special-cased for op class
-
-sassign		scalar assignment	ck_sassign	s0
-aassign		list assignment		ck_null		t2	L L
-
-chop		chop			ck_spair	mts%	L
-schop		scalar chop		ck_null		stu%	S?
-chomp		chomp			ck_spair	mTs%	L
-schomp		scalar chomp		ck_null		sTu%	S?
-defined		defined operator	ck_defined	isu%	S?
-undef		undef operator		ck_lfun		s%	S?
-study		study			ck_fun		su%	S?
-pos		match position		ck_lfun		stu%	S?
-
-preinc		preincrement (++)		ck_lfun		dIs1	S
-i_preinc	integer preincrement (++)	ck_lfun		dis1	S
-predec		predecrement (--)		ck_lfun		dIs1	S
-i_predec	integer predecrement (--)	ck_lfun		dis1	S
-postinc		postincrement (++)		ck_lfun		dIst1	S
-i_postinc	integer postincrement (++)	ck_lfun		disT1	S
-postdec		postdecrement (--)		ck_lfun		dIst1	S
-i_postdec	integer postdecrement (--)	ck_lfun		disT1	S
-
-# Ordinary operators.
-
-pow		exponentiation (**)	ck_null		fsT2	S S
-
-multiply	multiplication (*)	ck_null		IfsT2	S S
-i_multiply	integer multiplication (*)	ck_null		ifsT2	S S
-divide		division (/)		ck_null		IfsT2	S S
-i_divide	integer division (/)	ck_null		ifsT2	S S
-modulo		modulus (%)		ck_null		IifsT2	S S
-i_modulo	integer modulus (%)	ck_null		ifsT2	S S
-repeat		repeat (x)		ck_repeat	mt2	L S
-
-add		addition (+)		ck_null		IfsT2	S S
-i_add		integer addition (+)	ck_null		ifsT2	S S
-subtract	subtraction (-)		ck_null		IfsT2	S S
-i_subtract	integer subtraction (-)	ck_null		ifsT2	S S
-concat		concatenation (.) or string	ck_concat	fsT2	S S
-stringify	string			ck_fun		fsT@	S
-
-left_shift	left bitshift (<<)	ck_bitop	fsT2	S S
-right_shift	right bitshift (>>)	ck_bitop	fsT2	S S
-
-lt		numeric lt (<)		ck_null		Iifs2	S S
-i_lt		integer lt (<)		ck_null		ifs2	S S
-gt		numeric gt (>)		ck_null		Iifs2	S S
-i_gt		integer gt (>)		ck_null		ifs2	S S
-le		numeric le (<=)		ck_null		Iifs2	S S
-i_le		integer le (<=)		ck_null		ifs2	S S
-ge		numeric ge (>=)		ck_null		Iifs2	S S
-i_ge		integer ge (>=)		ck_null		ifs2	S S
-eq		numeric eq (==)		ck_null		Iifs2	S S
-i_eq		integer eq (==)		ck_null		ifs2	S S
-ne		numeric ne (!=)		ck_null		Iifs2	S S
-i_ne		integer ne (!=)		ck_null		ifs2	S S
-ncmp		numeric comparison (<=>)	ck_null		Iifst2	S S
-i_ncmp		integer comparison (<=>)	ck_null		ifst2	S S
-
-slt		string lt		ck_null		ifs2	S S
-sgt		string gt		ck_null		ifs2	S S
-sle		string le		ck_null		ifs2	S S
-sge		string ge		ck_null		ifs2	S S
-seq		string eq		ck_null		ifs2	S S
-sne		string ne		ck_null		ifs2	S S
-scmp		string comparison (cmp)	ck_null		ifst2	S S
-
-bit_and		bitwise and (&)		ck_bitop	fst2	S S
-bit_xor		bitwise xor (^)		ck_bitop	fst2	S S
-bit_or		bitwise or (|)		ck_bitop	fst2	S S
-
-negate		negation (-)		ck_null		Ifst1	S
-i_negate	integer negation (-)	ck_null		ifsT1	S
-not		not			ck_null		ifs1	S
-complement	1's complement (~)	ck_bitop	fst1	S
-
-smartmatch	smart match		ck_smartmatch	s2
-
-# High falutin' math.
-
-atan2		atan2			ck_fun		fsT@	S S
-sin		sin			ck_fun		fsTu%	S?
-cos		cos			ck_fun		fsTu%	S?
-rand		rand			ck_fun		sT%	S?
-srand		srand			ck_fun		s%	S?
-exp		exp			ck_fun		fsTu%	S?
-log		log			ck_fun		fsTu%	S?
-sqrt		sqrt			ck_fun		fsTu%	S?
-
-# Lowbrow math.
-
-int		int			ck_fun		fsTu%	S?
-hex		hex			ck_fun		fsTu%	S?
-oct		oct			ck_fun		fsTu%	S?
-abs		abs			ck_fun		fsTu%	S?
-
-# String stuff.
-
-length		length			ck_lengthconst	ifsTu%	S?
-substr		substr			ck_substr	st@	S S S? S?
-vec		vec			ck_fun		ist@	S S S
-
-index		index			ck_index	isT@	S S S?
-rindex		rindex			ck_index	isT@	S S S?
-
-sprintf		sprintf			ck_fun		fmst@	S L
-formline	formline		ck_fun		ms@	S L
-ord		ord			ck_fun		ifsTu%	S?
-chr		chr			ck_fun		fsTu%	S?
-crypt		crypt			ck_fun		fsT@	S S
-ucfirst		ucfirst			ck_fun		fstu%	S?
-lcfirst		lcfirst			ck_fun		fstu%	S?
-uc		uc			ck_fun		fstu%	S?
-lc		lc			ck_fun		fstu%	S?
-quotemeta	quotemeta		ck_fun		fstu%	S?
-
-# Arrays.
-
-rv2av		array dereference	ck_rvconst	dt1	
-aelemfast	constant array element	ck_null		s$	A S
-aelem		array element		ck_null		s2	A S
-aslice		array slice		ck_null		m@	A L
-
-# Hashes.
-
-each		each			ck_fun		%	H
-values		values			ck_fun		t%	H
-keys		keys			ck_fun		t%	H
-delete		delete			ck_delete	%	S
-exists		exists			ck_exists	is%	S
-rv2hv		hash dereference	ck_rvconst	dt1	
-helem		hash element		ck_null		s2	H S
-hslice		hash slice		ck_null		m@	H L
-
-# Explosives and implosives.
-
-unpack		unpack			ck_unpack	@	S S?
-pack		pack			ck_fun		mst@	S L
-split		split			ck_split	t@	S S S
-join		join or string		ck_join		mst@	S L
-
-# List operators.
-
-list		list			ck_null		m@	L
-lslice		list slice		ck_null		2	H L L
-anonlist	anonymous list ([])	ck_fun		ms@	L
-anonhash	anonymous hash ({})	ck_fun		ms@	L
-
-splice		splice			ck_fun		m@	A S? S? L
-push		push			ck_fun		imsT@	A L
-pop		pop			ck_shift	s%	A?
-shift		shift			ck_shift	s%	A?
-unshift		unshift			ck_fun		imsT@	A L
-sort		sort			ck_sort		dm@	C? L
-reverse		reverse			ck_fun		mt@	L
-
-grepstart	grep			ck_grep		dm@	C L
-grepwhile	grep iterator		ck_null		dt|	
-
-mapstart	map			ck_grep		dm@	C L
-mapwhile	map iterator		ck_null		dt|
-
-# Range stuff.
-
-range		flipflop		ck_null		|	S S
-flip		range (or flip)		ck_null		1	S S
-flop		range (or flop)		ck_null		1
-
-# Control.
-
-and		logical and (&&)		ck_null		|	
-or		logical or (||)			ck_null		|	
-xor		logical xor			ck_null		fs2	S S	
-dor		defined or (//)			ck_null		|
-cond_expr	conditional expression		ck_null		d|	
-andassign	logical and assignment (&&=)	ck_null		s|	
-orassign	logical or assignment (||=)	ck_null		s|	
-dorassign	defined or assignment (//=)	ck_null		s|
-
-method		method lookup		ck_method	d1
-entersub	subroutine entry	ck_subr		dmt1	L
-leavesub	subroutine exit		ck_null		1	
-leavesublv	lvalue subroutine return	ck_null		1	
-caller		caller			ck_fun		t%	S?
-warn		warn			ck_fun		imst@	L
-die		die			ck_die		dimst@	L
-reset		symbol reset		ck_fun		is%	S?
-
-lineseq		line sequence		ck_null		@	
-nextstate	next statement		ck_null		s;	
-dbstate		debug next statement	ck_null		s;	
-unstack		iteration finalizer	ck_null		s0
-enter		block entry		ck_null		0	
-leave		block exit		ck_null		@	
-scope		block			ck_null		@	
-enteriter	foreach loop entry	ck_null		d{	
-iter		foreach loop iterator	ck_null		0	
-enterloop	loop entry		ck_null		d{	
-leaveloop	loop exit		ck_null		2	
-return		return			ck_return	dm@	L
-last		last			ck_null		ds}	
-next		next			ck_null		ds}	
-redo		redo			ck_null		ds}	
-dump		dump			ck_null		ds}	
-goto		goto			ck_null		ds}	
-exit		exit			ck_exit		ds%	S?
-setstate	set statement info	ck_null		s;
-method_named	method with known name	ck_null		d$
-
-entergiven	given()			ck_null		d|
-leavegiven	leave given block	ck_null		1
-enterwhen	when()			ck_null		d|
-leavewhen	leave when block	ck_null		1
-break		break			ck_null		0
-continue	continue		ck_null		0
-
-# I/O.
-
-open		open			ck_open		ismt@	F S? L
-close		close			ck_fun		is%	F?
-pipe_op		pipe			ck_fun		is@	F F
-
-fileno		fileno			ck_fun		ist%	F
-umask		umask			ck_fun		ist%	S?
-binmode		binmode			ck_fun		s@	F S?
-
-tie		tie			ck_fun		idms@	R S L
-untie		untie			ck_fun		is%	R
-tied		tied			ck_fun		s%	R
-dbmopen		dbmopen			ck_fun		is@	H S S
-dbmclose	dbmclose		ck_fun		is%	H
-
-sselect		select system call	ck_select	t@	S S S S
-select		select			ck_select	st@	F?
-
-getc		getc			ck_eof		st%	F?
-read		read			ck_fun		imst@	F R S S?
-enterwrite	write			ck_fun		dis%	F?
-leavewrite	write exit		ck_null		1	
-
-prtf		printf			ck_listiob	ims@	F? L
-print		print			ck_listiob	ims@	F? L
-say		say			ck_listiob	ims@	F? L
-
-sysopen		sysopen			ck_fun		s@	F S S S?
-sysseek		sysseek			ck_fun		s@	F S S
-sysread		sysread			ck_fun		imst@	F R S S?
-syswrite	syswrite		ck_fun		imst@	F S S? S?
-
-send		send			ck_fun		imst@	Fs S S S?
-recv		recv			ck_fun		imst@	Fs R S S
-
-eof		eof			ck_eof		is%	F?
-tell		tell			ck_fun		st%	F?
-seek		seek			ck_fun		s@	F S S
-# truncate really behaves as if it had both "S S" and "F S"
-truncate	truncate		ck_trunc	is@	S S
-
-fcntl		fcntl			ck_fun		st@	F S S
-ioctl		ioctl			ck_fun		st@	F S S
-flock		flock			ck_fun		isT@	F S
-
-# Sockets.
-
-socket		socket			ck_fun		is@	Fs S S S
-sockpair	socketpair		ck_fun		is@	Fs Fs S S S
-
-bind		bind			ck_fun		is@	Fs S
-connect		connect			ck_fun		is@	Fs S
-listen		listen			ck_fun		is@	Fs S
-accept		accept			ck_fun		ist@	Fs Fs
-shutdown	shutdown		ck_fun		ist@	Fs S
-
-gsockopt	getsockopt		ck_fun		is@	Fs S S
-ssockopt	setsockopt		ck_fun		is@	Fs S S S
-
-getsockname	getsockname		ck_fun		is%	Fs
-getpeername	getpeername		ck_fun		is%	Fs
-
-# Stat calls.
-
-lstat		lstat			ck_ftst		u-	F
-stat		stat			ck_ftst		u-	F
-ftrread		-R			ck_ftst		isu-	F-
-ftrwrite	-W			ck_ftst		isu-	F-
-ftrexec		-X			ck_ftst		isu-	F-
-fteread		-r			ck_ftst		isu-	F-
-ftewrite	-w			ck_ftst		isu-	F-
-fteexec		-x			ck_ftst		isu-	F-
-ftis		-e			ck_ftst		isu-	F-
-ftsize		-s			ck_ftst		istu-	F-
-ftmtime		-M			ck_ftst		stu-	F-
-ftatime		-A			ck_ftst		stu-	F-
-ftctime		-C			ck_ftst		stu-	F-
-ftrowned	-O			ck_ftst		isu-	F-
-fteowned	-o			ck_ftst		isu-	F-
-ftzero		-z			ck_ftst		isu-	F-
-ftsock		-S			ck_ftst		isu-	F-
-ftchr		-c			ck_ftst		isu-	F-
-ftblk		-b			ck_ftst		isu-	F-
-ftfile		-f			ck_ftst		isu-	F-
-ftdir		-d			ck_ftst		isu-	F-
-ftpipe		-p			ck_ftst		isu-	F-
-ftsuid		-u			ck_ftst		isu-	F-
-ftsgid		-g			ck_ftst		isu-	F-
-ftsvtx		-k			ck_ftst		isu-	F-
-ftlink		-l			ck_ftst		isu-	F-
-fttty		-t			ck_ftst		is-	F-
-fttext		-T			ck_ftst		isu-	F-
-ftbinary	-B			ck_ftst		isu-	F-
-
-# File calls.
-
-# chdir really behaves as if it had both "S?" and "F?"
-chdir		chdir			ck_chdir	isT%	S?
-chown		chown			ck_fun		imsT@	L
-chroot		chroot			ck_fun		isTu%	S?
-unlink		unlink			ck_fun		imsTu@	L
-chmod		chmod			ck_fun		imsT@	L
-utime		utime			ck_fun		imsT@	L
-rename		rename			ck_fun		isT@	S S
-link		link			ck_fun		isT@	S S
-symlink		symlink			ck_fun		isT@	S S
-readlink	readlink		ck_fun		stu%	S?
-mkdir		mkdir			ck_fun		isTu@	S? S?
-rmdir		rmdir			ck_fun		isTu%	S?
-
-# Directory calls.
-
-open_dir	opendir			ck_fun		is@	F S
-readdir		readdir			ck_fun		%	F
-telldir		telldir			ck_fun		st%	F
-seekdir		seekdir			ck_fun		s@	F S
-rewinddir	rewinddir		ck_fun		s%	F
-closedir	closedir		ck_fun		is%	F
-
-# Process control.
-
-fork		fork			ck_null		ist0	
-wait		wait			ck_null		isT0	
-waitpid		waitpid			ck_fun		isT@	S S
-system		system			ck_exec		imsT@	S? L
-exec		exec			ck_exec		dimsT@	S? L
-kill		kill			ck_fun		dimsT@	L
-getppid		getppid			ck_null		isT0	
-getpgrp		getpgrp			ck_fun		isT%	S?
-setpgrp		setpgrp			ck_fun		isT@	S? S?
-getpriority	getpriority		ck_fun		isT@	S S
-setpriority	setpriority		ck_fun		isT@	S S S
-
-# Time calls.
-
-# NOTE: MacOS patches the 'i' of time() away later when the interpreter
-# is created because in MacOS time() is already returning times > 2**31-1,
-# that is, non-integers.
-
-time		time			ck_null		isT0	
-tms		times			ck_null		0	
-localtime	localtime		ck_fun		t%	S?
-gmtime		gmtime			ck_fun		t%	S?
-alarm		alarm			ck_fun		istu%	S?
-sleep		sleep			ck_fun		isT%	S?
-
-# Shared memory.
-
-shmget		shmget			ck_fun		imst@	S S S
-shmctl		shmctl			ck_fun		imst@	S S S
-shmread		shmread			ck_fun		imst@	S S S S
-shmwrite	shmwrite		ck_fun		imst@	S S S S
-
-# Message passing.
-
-msgget		msgget			ck_fun		imst@	S S
-msgctl		msgctl			ck_fun		imst@	S S S
-msgsnd		msgsnd			ck_fun		imst@	S S S
-msgrcv		msgrcv			ck_fun		imst@	S S S S S
-
-# Semaphores.
-
-semop		semop			ck_fun		imst@	S S
-semget		semget			ck_fun		imst@	S S S
-semctl		semctl			ck_fun		imst@	S S S S
-
-# Eval.
-
-require		require			ck_require	du%	S?
-dofile		do "file"		ck_fun		d1	S
-entereval	eval "string"		ck_eval		d%	S
-leaveeval	eval "string" exit	ck_null		1	S
-#evalonce	eval constant string	ck_null		d1	S
-entertry	eval {block}		ck_null		|	
-leavetry	eval {block} exit	ck_null		@	
-
-# Get system info.
-
-ghbyname	gethostbyname		ck_fun		%	S
-ghbyaddr	gethostbyaddr		ck_fun		@	S S
-ghostent	gethostent		ck_null		0	
-gnbyname	getnetbyname		ck_fun		%	S
-gnbyaddr	getnetbyaddr		ck_fun		@	S S
-gnetent		getnetent		ck_null		0	
-gpbyname	getprotobyname		ck_fun		%	S
-gpbynumber	getprotobynumber	ck_fun		@	S
-gprotoent	getprotoent		ck_null		0	
-gsbyname	getservbyname		ck_fun		@	S S
-gsbyport	getservbyport		ck_fun		@	S S
-gservent	getservent		ck_null		0	
-shostent	sethostent		ck_fun		is%	S
-snetent		setnetent		ck_fun		is%	S
-sprotoent	setprotoent		ck_fun		is%	S
-sservent	setservent		ck_fun		is%	S
-ehostent	endhostent		ck_null		is0	
-enetent		endnetent		ck_null		is0	
-eprotoent	endprotoent		ck_null		is0	
-eservent	endservent		ck_null		is0	
-gpwnam		getpwnam		ck_fun		%	S
-gpwuid		getpwuid		ck_fun		%	S
-gpwent		getpwent		ck_null		0	
-spwent		setpwent		ck_null		is0	
-epwent		endpwent		ck_null		is0	
-ggrnam		getgrnam		ck_fun		%	S
-ggrgid		getgrgid		ck_fun		%	S
-ggrent		getgrent		ck_null		0	
-sgrent		setgrent		ck_null		is0	
-egrent		endgrent		ck_null		is0	
-getlogin	getlogin		ck_null		st0	
-
-# Miscellaneous.
-
-syscall		syscall			ck_fun		imst@	S L
-
-# For multi-threading
-lock		lock			ck_rfun		s%	R
-
-# For state support
-
-once		once			ck_null		|	
-
-custom		unknown custom operator		ck_null		0

Modified: vendor/perl/dist/opnames.h
===================================================================
--- vendor/perl/dist/opnames.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/opnames.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -50,348 +50,357 @@
 	OP_SUBST	 = 33,
 	OP_SUBSTCONT	 = 34,
 	OP_TRANS	 = 35,
-	OP_SASSIGN	 = 36,
-	OP_AASSIGN	 = 37,
-	OP_CHOP		 = 38,
-	OP_SCHOP	 = 39,
-	OP_CHOMP	 = 40,
-	OP_SCHOMP	 = 41,
-	OP_DEFINED	 = 42,
-	OP_UNDEF	 = 43,
-	OP_STUDY	 = 44,
-	OP_POS		 = 45,
-	OP_PREINC	 = 46,
-	OP_I_PREINC	 = 47,
-	OP_PREDEC	 = 48,
-	OP_I_PREDEC	 = 49,
-	OP_POSTINC	 = 50,
-	OP_I_POSTINC	 = 51,
-	OP_POSTDEC	 = 52,
-	OP_I_POSTDEC	 = 53,
-	OP_POW		 = 54,
-	OP_MULTIPLY	 = 55,
-	OP_I_MULTIPLY	 = 56,
-	OP_DIVIDE	 = 57,
-	OP_I_DIVIDE	 = 58,
-	OP_MODULO	 = 59,
-	OP_I_MODULO	 = 60,
-	OP_REPEAT	 = 61,
-	OP_ADD		 = 62,
-	OP_I_ADD	 = 63,
-	OP_SUBTRACT	 = 64,
-	OP_I_SUBTRACT	 = 65,
-	OP_CONCAT	 = 66,
-	OP_STRINGIFY	 = 67,
-	OP_LEFT_SHIFT	 = 68,
-	OP_RIGHT_SHIFT	 = 69,
-	OP_LT		 = 70,
-	OP_I_LT		 = 71,
-	OP_GT		 = 72,
-	OP_I_GT		 = 73,
-	OP_LE		 = 74,
-	OP_I_LE		 = 75,
-	OP_GE		 = 76,
-	OP_I_GE		 = 77,
-	OP_EQ		 = 78,
-	OP_I_EQ		 = 79,
-	OP_NE		 = 80,
-	OP_I_NE		 = 81,
-	OP_NCMP		 = 82,
-	OP_I_NCMP	 = 83,
-	OP_SLT		 = 84,
-	OP_SGT		 = 85,
-	OP_SLE		 = 86,
-	OP_SGE		 = 87,
-	OP_SEQ		 = 88,
-	OP_SNE		 = 89,
-	OP_SCMP		 = 90,
-	OP_BIT_AND	 = 91,
-	OP_BIT_XOR	 = 92,
-	OP_BIT_OR	 = 93,
-	OP_NEGATE	 = 94,
-	OP_I_NEGATE	 = 95,
-	OP_NOT		 = 96,
-	OP_COMPLEMENT	 = 97,
-	OP_SMARTMATCH	 = 98,
-	OP_ATAN2	 = 99,
-	OP_SIN		 = 100,
-	OP_COS		 = 101,
-	OP_RAND		 = 102,
-	OP_SRAND	 = 103,
-	OP_EXP		 = 104,
-	OP_LOG		 = 105,
-	OP_SQRT		 = 106,
-	OP_INT		 = 107,
-	OP_HEX		 = 108,
-	OP_OCT		 = 109,
-	OP_ABS		 = 110,
-	OP_LENGTH	 = 111,
-	OP_SUBSTR	 = 112,
-	OP_VEC		 = 113,
-	OP_INDEX	 = 114,
-	OP_RINDEX	 = 115,
-	OP_SPRINTF	 = 116,
-	OP_FORMLINE	 = 117,
-	OP_ORD		 = 118,
-	OP_CHR		 = 119,
-	OP_CRYPT	 = 120,
-	OP_UCFIRST	 = 121,
-	OP_LCFIRST	 = 122,
-	OP_UC		 = 123,
-	OP_LC		 = 124,
-	OP_QUOTEMETA	 = 125,
-	OP_RV2AV	 = 126,
-	OP_AELEMFAST	 = 127,
-	OP_AELEM	 = 128,
-	OP_ASLICE	 = 129,
-	OP_AEACH	 = 130,
-	OP_AKEYS	 = 131,
-	OP_AVALUES	 = 132,
-	OP_EACH		 = 133,
-	OP_VALUES	 = 134,
-	OP_KEYS		 = 135,
-	OP_DELETE	 = 136,
-	OP_EXISTS	 = 137,
-	OP_RV2HV	 = 138,
-	OP_HELEM	 = 139,
-	OP_HSLICE	 = 140,
-	OP_BOOLKEYS	 = 141,
-	OP_UNPACK	 = 142,
-	OP_PACK		 = 143,
-	OP_SPLIT	 = 144,
-	OP_JOIN		 = 145,
-	OP_LIST		 = 146,
-	OP_LSLICE	 = 147,
-	OP_ANONLIST	 = 148,
-	OP_ANONHASH	 = 149,
-	OP_SPLICE	 = 150,
-	OP_PUSH		 = 151,
-	OP_POP		 = 152,
-	OP_SHIFT	 = 153,
-	OP_UNSHIFT	 = 154,
-	OP_SORT		 = 155,
-	OP_REVERSE	 = 156,
-	OP_GREPSTART	 = 157,
-	OP_GREPWHILE	 = 158,
-	OP_MAPSTART	 = 159,
-	OP_MAPWHILE	 = 160,
-	OP_RANGE	 = 161,
-	OP_FLIP		 = 162,
-	OP_FLOP		 = 163,
-	OP_AND		 = 164,
-	OP_OR		 = 165,
-	OP_XOR		 = 166,
-	OP_DOR		 = 167,
-	OP_COND_EXPR	 = 168,
-	OP_ANDASSIGN	 = 169,
-	OP_ORASSIGN	 = 170,
-	OP_DORASSIGN	 = 171,
-	OP_METHOD	 = 172,
-	OP_ENTERSUB	 = 173,
-	OP_LEAVESUB	 = 174,
-	OP_LEAVESUBLV	 = 175,
-	OP_CALLER	 = 176,
-	OP_WARN		 = 177,
-	OP_DIE		 = 178,
-	OP_RESET	 = 179,
-	OP_LINESEQ	 = 180,
-	OP_NEXTSTATE	 = 181,
-	OP_DBSTATE	 = 182,
-	OP_UNSTACK	 = 183,
-	OP_ENTER	 = 184,
-	OP_LEAVE	 = 185,
-	OP_SCOPE	 = 186,
-	OP_ENTERITER	 = 187,
-	OP_ITER		 = 188,
-	OP_ENTERLOOP	 = 189,
-	OP_LEAVELOOP	 = 190,
-	OP_RETURN	 = 191,
-	OP_LAST		 = 192,
-	OP_NEXT		 = 193,
-	OP_REDO		 = 194,
-	OP_DUMP		 = 195,
-	OP_GOTO		 = 196,
-	OP_EXIT		 = 197,
-	OP_METHOD_NAMED	 = 198,
-	OP_ENTERGIVEN	 = 199,
-	OP_LEAVEGIVEN	 = 200,
-	OP_ENTERWHEN	 = 201,
-	OP_LEAVEWHEN	 = 202,
-	OP_BREAK	 = 203,
-	OP_CONTINUE	 = 204,
-	OP_OPEN		 = 205,
-	OP_CLOSE	 = 206,
-	OP_PIPE_OP	 = 207,
-	OP_FILENO	 = 208,
-	OP_UMASK	 = 209,
-	OP_BINMODE	 = 210,
-	OP_TIE		 = 211,
-	OP_UNTIE	 = 212,
-	OP_TIED		 = 213,
-	OP_DBMOPEN	 = 214,
-	OP_DBMCLOSE	 = 215,
-	OP_SSELECT	 = 216,
-	OP_SELECT	 = 217,
-	OP_GETC		 = 218,
-	OP_READ		 = 219,
-	OP_ENTERWRITE	 = 220,
-	OP_LEAVEWRITE	 = 221,
-	OP_PRTF		 = 222,
-	OP_PRINT	 = 223,
-	OP_SAY		 = 224,
-	OP_SYSOPEN	 = 225,
-	OP_SYSSEEK	 = 226,
-	OP_SYSREAD	 = 227,
-	OP_SYSWRITE	 = 228,
-	OP_EOF		 = 229,
-	OP_TELL		 = 230,
-	OP_SEEK		 = 231,
-	OP_TRUNCATE	 = 232,
-	OP_FCNTL	 = 233,
-	OP_IOCTL	 = 234,
-	OP_FLOCK	 = 235,
-	OP_SEND		 = 236,
-	OP_RECV		 = 237,
-	OP_SOCKET	 = 238,
-	OP_SOCKPAIR	 = 239,
-	OP_BIND		 = 240,
-	OP_CONNECT	 = 241,
-	OP_LISTEN	 = 242,
-	OP_ACCEPT	 = 243,
-	OP_SHUTDOWN	 = 244,
-	OP_GSOCKOPT	 = 245,
-	OP_SSOCKOPT	 = 246,
-	OP_GETSOCKNAME	 = 247,
-	OP_GETPEERNAME	 = 248,
-	OP_LSTAT	 = 249,
-	OP_STAT		 = 250,
-	OP_FTRREAD	 = 251,
-	OP_FTRWRITE	 = 252,
-	OP_FTREXEC	 = 253,
-	OP_FTEREAD	 = 254,
-	OP_FTEWRITE	 = 255,
-	OP_FTEEXEC	 = 256,
-	OP_FTIS		 = 257,
-	OP_FTSIZE	 = 258,
-	OP_FTMTIME	 = 259,
-	OP_FTATIME	 = 260,
-	OP_FTCTIME	 = 261,
-	OP_FTROWNED	 = 262,
-	OP_FTEOWNED	 = 263,
-	OP_FTZERO	 = 264,
-	OP_FTSOCK	 = 265,
-	OP_FTCHR	 = 266,
-	OP_FTBLK	 = 267,
-	OP_FTFILE	 = 268,
-	OP_FTDIR	 = 269,
-	OP_FTPIPE	 = 270,
-	OP_FTSUID	 = 271,
-	OP_FTSGID	 = 272,
-	OP_FTSVTX	 = 273,
-	OP_FTLINK	 = 274,
-	OP_FTTTY	 = 275,
-	OP_FTTEXT	 = 276,
-	OP_FTBINARY	 = 277,
-	OP_CHDIR	 = 278,
-	OP_CHOWN	 = 279,
-	OP_CHROOT	 = 280,
-	OP_UNLINK	 = 281,
-	OP_CHMOD	 = 282,
-	OP_UTIME	 = 283,
-	OP_RENAME	 = 284,
-	OP_LINK		 = 285,
-	OP_SYMLINK	 = 286,
-	OP_READLINK	 = 287,
-	OP_MKDIR	 = 288,
-	OP_RMDIR	 = 289,
-	OP_OPEN_DIR	 = 290,
-	OP_READDIR	 = 291,
-	OP_TELLDIR	 = 292,
-	OP_SEEKDIR	 = 293,
-	OP_REWINDDIR	 = 294,
-	OP_CLOSEDIR	 = 295,
-	OP_FORK		 = 296,
-	OP_WAIT		 = 297,
-	OP_WAITPID	 = 298,
-	OP_SYSTEM	 = 299,
-	OP_EXEC		 = 300,
-	OP_KILL		 = 301,
-	OP_GETPPID	 = 302,
-	OP_GETPGRP	 = 303,
-	OP_SETPGRP	 = 304,
-	OP_GETPRIORITY	 = 305,
-	OP_SETPRIORITY	 = 306,
-	OP_TIME		 = 307,
-	OP_TMS		 = 308,
-	OP_LOCALTIME	 = 309,
-	OP_GMTIME	 = 310,
-	OP_ALARM	 = 311,
-	OP_SLEEP	 = 312,
-	OP_SHMGET	 = 313,
-	OP_SHMCTL	 = 314,
-	OP_SHMREAD	 = 315,
-	OP_SHMWRITE	 = 316,
-	OP_MSGGET	 = 317,
-	OP_MSGCTL	 = 318,
-	OP_MSGSND	 = 319,
-	OP_MSGRCV	 = 320,
-	OP_SEMOP	 = 321,
-	OP_SEMGET	 = 322,
-	OP_SEMCTL	 = 323,
-	OP_REQUIRE	 = 324,
-	OP_DOFILE	 = 325,
-	OP_HINTSEVAL	 = 326,
-	OP_ENTEREVAL	 = 327,
-	OP_LEAVEEVAL	 = 328,
-	OP_ENTERTRY	 = 329,
-	OP_LEAVETRY	 = 330,
-	OP_GHBYNAME	 = 331,
-	OP_GHBYADDR	 = 332,
-	OP_GHOSTENT	 = 333,
-	OP_GNBYNAME	 = 334,
-	OP_GNBYADDR	 = 335,
-	OP_GNETENT	 = 336,
-	OP_GPBYNAME	 = 337,
-	OP_GPBYNUMBER	 = 338,
-	OP_GPROTOENT	 = 339,
-	OP_GSBYNAME	 = 340,
-	OP_GSBYPORT	 = 341,
-	OP_GSERVENT	 = 342,
-	OP_SHOSTENT	 = 343,
-	OP_SNETENT	 = 344,
-	OP_SPROTOENT	 = 345,
-	OP_SSERVENT	 = 346,
-	OP_EHOSTENT	 = 347,
-	OP_ENETENT	 = 348,
-	OP_EPROTOENT	 = 349,
-	OP_ESERVENT	 = 350,
-	OP_GPWNAM	 = 351,
-	OP_GPWUID	 = 352,
-	OP_GPWENT	 = 353,
-	OP_SPWENT	 = 354,
-	OP_EPWENT	 = 355,
-	OP_GGRNAM	 = 356,
-	OP_GGRGID	 = 357,
-	OP_GGRENT	 = 358,
-	OP_SGRENT	 = 359,
-	OP_EGRENT	 = 360,
-	OP_GETLOGIN	 = 361,
-	OP_SYSCALL	 = 362,
-	OP_LOCK		 = 363,
-	OP_ONCE		 = 364,
-	OP_CUSTOM	 = 365,
-	OP_REACH	 = 366,
-	OP_RKEYS	 = 367,
-	OP_RVALUES	 = 368,
-	OP_TRANSR	 = 369,
+	OP_TRANSR	 = 36,
+	OP_SASSIGN	 = 37,
+	OP_AASSIGN	 = 38,
+	OP_CHOP		 = 39,
+	OP_SCHOP	 = 40,
+	OP_CHOMP	 = 41,
+	OP_SCHOMP	 = 42,
+	OP_DEFINED	 = 43,
+	OP_UNDEF	 = 44,
+	OP_STUDY	 = 45,
+	OP_POS		 = 46,
+	OP_PREINC	 = 47,
+	OP_I_PREINC	 = 48,
+	OP_PREDEC	 = 49,
+	OP_I_PREDEC	 = 50,
+	OP_POSTINC	 = 51,
+	OP_I_POSTINC	 = 52,
+	OP_POSTDEC	 = 53,
+	OP_I_POSTDEC	 = 54,
+	OP_POW		 = 55,
+	OP_MULTIPLY	 = 56,
+	OP_I_MULTIPLY	 = 57,
+	OP_DIVIDE	 = 58,
+	OP_I_DIVIDE	 = 59,
+	OP_MODULO	 = 60,
+	OP_I_MODULO	 = 61,
+	OP_REPEAT	 = 62,
+	OP_ADD		 = 63,
+	OP_I_ADD	 = 64,
+	OP_SUBTRACT	 = 65,
+	OP_I_SUBTRACT	 = 66,
+	OP_CONCAT	 = 67,
+	OP_STRINGIFY	 = 68,
+	OP_LEFT_SHIFT	 = 69,
+	OP_RIGHT_SHIFT	 = 70,
+	OP_LT		 = 71,
+	OP_I_LT		 = 72,
+	OP_GT		 = 73,
+	OP_I_GT		 = 74,
+	OP_LE		 = 75,
+	OP_I_LE		 = 76,
+	OP_GE		 = 77,
+	OP_I_GE		 = 78,
+	OP_EQ		 = 79,
+	OP_I_EQ		 = 80,
+	OP_NE		 = 81,
+	OP_I_NE		 = 82,
+	OP_NCMP		 = 83,
+	OP_I_NCMP	 = 84,
+	OP_SLT		 = 85,
+	OP_SGT		 = 86,
+	OP_SLE		 = 87,
+	OP_SGE		 = 88,
+	OP_SEQ		 = 89,
+	OP_SNE		 = 90,
+	OP_SCMP		 = 91,
+	OP_BIT_AND	 = 92,
+	OP_BIT_XOR	 = 93,
+	OP_BIT_OR	 = 94,
+	OP_NEGATE	 = 95,
+	OP_I_NEGATE	 = 96,
+	OP_NOT		 = 97,
+	OP_COMPLEMENT	 = 98,
+	OP_SMARTMATCH	 = 99,
+	OP_ATAN2	 = 100,
+	OP_SIN		 = 101,
+	OP_COS		 = 102,
+	OP_RAND		 = 103,
+	OP_SRAND	 = 104,
+	OP_EXP		 = 105,
+	OP_LOG		 = 106,
+	OP_SQRT		 = 107,
+	OP_INT		 = 108,
+	OP_HEX		 = 109,
+	OP_OCT		 = 110,
+	OP_ABS		 = 111,
+	OP_LENGTH	 = 112,
+	OP_SUBSTR	 = 113,
+	OP_VEC		 = 114,
+	OP_INDEX	 = 115,
+	OP_RINDEX	 = 116,
+	OP_SPRINTF	 = 117,
+	OP_FORMLINE	 = 118,
+	OP_ORD		 = 119,
+	OP_CHR		 = 120,
+	OP_CRYPT	 = 121,
+	OP_UCFIRST	 = 122,
+	OP_LCFIRST	 = 123,
+	OP_UC		 = 124,
+	OP_LC		 = 125,
+	OP_QUOTEMETA	 = 126,
+	OP_RV2AV	 = 127,
+	OP_AELEMFAST	 = 128,
+	OP_AELEMFAST_LEX = 129,
+	OP_AELEM	 = 130,
+	OP_ASLICE	 = 131,
+	OP_AEACH	 = 132,
+	OP_AKEYS	 = 133,
+	OP_AVALUES	 = 134,
+	OP_EACH		 = 135,
+	OP_VALUES	 = 136,
+	OP_KEYS		 = 137,
+	OP_DELETE	 = 138,
+	OP_EXISTS	 = 139,
+	OP_RV2HV	 = 140,
+	OP_HELEM	 = 141,
+	OP_HSLICE	 = 142,
+	OP_UNPACK	 = 143,
+	OP_PACK		 = 144,
+	OP_SPLIT	 = 145,
+	OP_JOIN		 = 146,
+	OP_LIST		 = 147,
+	OP_LSLICE	 = 148,
+	OP_ANONLIST	 = 149,
+	OP_ANONHASH	 = 150,
+	OP_SPLICE	 = 151,
+	OP_PUSH		 = 152,
+	OP_POP		 = 153,
+	OP_SHIFT	 = 154,
+	OP_UNSHIFT	 = 155,
+	OP_SORT		 = 156,
+	OP_REVERSE	 = 157,
+	OP_GREPSTART	 = 158,
+	OP_GREPWHILE	 = 159,
+	OP_MAPSTART	 = 160,
+	OP_MAPWHILE	 = 161,
+	OP_RANGE	 = 162,
+	OP_FLIP		 = 163,
+	OP_FLOP		 = 164,
+	OP_AND		 = 165,
+	OP_OR		 = 166,
+	OP_XOR		 = 167,
+	OP_DOR		 = 168,
+	OP_COND_EXPR	 = 169,
+	OP_ANDASSIGN	 = 170,
+	OP_ORASSIGN	 = 171,
+	OP_DORASSIGN	 = 172,
+	OP_METHOD	 = 173,
+	OP_ENTERSUB	 = 174,
+	OP_LEAVESUB	 = 175,
+	OP_LEAVESUBLV	 = 176,
+	OP_CALLER	 = 177,
+	OP_WARN		 = 178,
+	OP_DIE		 = 179,
+	OP_RESET	 = 180,
+	OP_LINESEQ	 = 181,
+	OP_NEXTSTATE	 = 182,
+	OP_DBSTATE	 = 183,
+	OP_UNSTACK	 = 184,
+	OP_ENTER	 = 185,
+	OP_LEAVE	 = 186,
+	OP_SCOPE	 = 187,
+	OP_ENTERITER	 = 188,
+	OP_ITER		 = 189,
+	OP_ENTERLOOP	 = 190,
+	OP_LEAVELOOP	 = 191,
+	OP_RETURN	 = 192,
+	OP_LAST		 = 193,
+	OP_NEXT		 = 194,
+	OP_REDO		 = 195,
+	OP_DUMP		 = 196,
+	OP_GOTO		 = 197,
+	OP_EXIT		 = 198,
+	OP_METHOD_NAMED	 = 199,
+	OP_ENTERGIVEN	 = 200,
+	OP_LEAVEGIVEN	 = 201,
+	OP_ENTERWHEN	 = 202,
+	OP_LEAVEWHEN	 = 203,
+	OP_BREAK	 = 204,
+	OP_CONTINUE	 = 205,
+	OP_OPEN		 = 206,
+	OP_CLOSE	 = 207,
+	OP_PIPE_OP	 = 208,
+	OP_FILENO	 = 209,
+	OP_UMASK	 = 210,
+	OP_BINMODE	 = 211,
+	OP_TIE		 = 212,
+	OP_UNTIE	 = 213,
+	OP_TIED		 = 214,
+	OP_DBMOPEN	 = 215,
+	OP_DBMCLOSE	 = 216,
+	OP_SSELECT	 = 217,
+	OP_SELECT	 = 218,
+	OP_GETC		 = 219,
+	OP_READ		 = 220,
+	OP_ENTERWRITE	 = 221,
+	OP_LEAVEWRITE	 = 222,
+	OP_PRTF		 = 223,
+	OP_PRINT	 = 224,
+	OP_SAY		 = 225,
+	OP_SYSOPEN	 = 226,
+	OP_SYSSEEK	 = 227,
+	OP_SYSREAD	 = 228,
+	OP_SYSWRITE	 = 229,
+	OP_EOF		 = 230,
+	OP_TELL		 = 231,
+	OP_SEEK		 = 232,
+	OP_TRUNCATE	 = 233,
+	OP_FCNTL	 = 234,
+	OP_IOCTL	 = 235,
+	OP_FLOCK	 = 236,
+	OP_SEND		 = 237,
+	OP_RECV		 = 238,
+	OP_SOCKET	 = 239,
+	OP_SOCKPAIR	 = 240,
+	OP_BIND		 = 241,
+	OP_CONNECT	 = 242,
+	OP_LISTEN	 = 243,
+	OP_ACCEPT	 = 244,
+	OP_SHUTDOWN	 = 245,
+	OP_GSOCKOPT	 = 246,
+	OP_SSOCKOPT	 = 247,
+	OP_GETSOCKNAME	 = 248,
+	OP_GETPEERNAME	 = 249,
+	OP_LSTAT	 = 250,
+	OP_STAT		 = 251,
+	OP_FTRREAD	 = 252,
+	OP_FTRWRITE	 = 253,
+	OP_FTREXEC	 = 254,
+	OP_FTEREAD	 = 255,
+	OP_FTEWRITE	 = 256,
+	OP_FTEEXEC	 = 257,
+	OP_FTIS		 = 258,
+	OP_FTSIZE	 = 259,
+	OP_FTMTIME	 = 260,
+	OP_FTATIME	 = 261,
+	OP_FTCTIME	 = 262,
+	OP_FTROWNED	 = 263,
+	OP_FTEOWNED	 = 264,
+	OP_FTZERO	 = 265,
+	OP_FTSOCK	 = 266,
+	OP_FTCHR	 = 267,
+	OP_FTBLK	 = 268,
+	OP_FTFILE	 = 269,
+	OP_FTDIR	 = 270,
+	OP_FTPIPE	 = 271,
+	OP_FTSUID	 = 272,
+	OP_FTSGID	 = 273,
+	OP_FTSVTX	 = 274,
+	OP_FTLINK	 = 275,
+	OP_FTTTY	 = 276,
+	OP_FTTEXT	 = 277,
+	OP_FTBINARY	 = 278,
+	OP_CHDIR	 = 279,
+	OP_CHOWN	 = 280,
+	OP_CHROOT	 = 281,
+	OP_UNLINK	 = 282,
+	OP_CHMOD	 = 283,
+	OP_UTIME	 = 284,
+	OP_RENAME	 = 285,
+	OP_LINK		 = 286,
+	OP_SYMLINK	 = 287,
+	OP_READLINK	 = 288,
+	OP_MKDIR	 = 289,
+	OP_RMDIR	 = 290,
+	OP_OPEN_DIR	 = 291,
+	OP_READDIR	 = 292,
+	OP_TELLDIR	 = 293,
+	OP_SEEKDIR	 = 294,
+	OP_REWINDDIR	 = 295,
+	OP_CLOSEDIR	 = 296,
+	OP_FORK		 = 297,
+	OP_WAIT		 = 298,
+	OP_WAITPID	 = 299,
+	OP_SYSTEM	 = 300,
+	OP_EXEC		 = 301,
+	OP_KILL		 = 302,
+	OP_GETPPID	 = 303,
+	OP_GETPGRP	 = 304,
+	OP_SETPGRP	 = 305,
+	OP_GETPRIORITY	 = 306,
+	OP_SETPRIORITY	 = 307,
+	OP_TIME		 = 308,
+	OP_TMS		 = 309,
+	OP_LOCALTIME	 = 310,
+	OP_GMTIME	 = 311,
+	OP_ALARM	 = 312,
+	OP_SLEEP	 = 313,
+	OP_SHMGET	 = 314,
+	OP_SHMCTL	 = 315,
+	OP_SHMREAD	 = 316,
+	OP_SHMWRITE	 = 317,
+	OP_MSGGET	 = 318,
+	OP_MSGCTL	 = 319,
+	OP_MSGSND	 = 320,
+	OP_MSGRCV	 = 321,
+	OP_SEMOP	 = 322,
+	OP_SEMGET	 = 323,
+	OP_SEMCTL	 = 324,
+	OP_REQUIRE	 = 325,
+	OP_DOFILE	 = 326,
+	OP_HINTSEVAL	 = 327,
+	OP_ENTEREVAL	 = 328,
+	OP_LEAVEEVAL	 = 329,
+	OP_ENTERTRY	 = 330,
+	OP_LEAVETRY	 = 331,
+	OP_GHBYNAME	 = 332,
+	OP_GHBYADDR	 = 333,
+	OP_GHOSTENT	 = 334,
+	OP_GNBYNAME	 = 335,
+	OP_GNBYADDR	 = 336,
+	OP_GNETENT	 = 337,
+	OP_GPBYNAME	 = 338,
+	OP_GPBYNUMBER	 = 339,
+	OP_GPROTOENT	 = 340,
+	OP_GSBYNAME	 = 341,
+	OP_GSBYPORT	 = 342,
+	OP_GSERVENT	 = 343,
+	OP_SHOSTENT	 = 344,
+	OP_SNETENT	 = 345,
+	OP_SPROTOENT	 = 346,
+	OP_SSERVENT	 = 347,
+	OP_EHOSTENT	 = 348,
+	OP_ENETENT	 = 349,
+	OP_EPROTOENT	 = 350,
+	OP_ESERVENT	 = 351,
+	OP_GPWNAM	 = 352,
+	OP_GPWUID	 = 353,
+	OP_GPWENT	 = 354,
+	OP_SPWENT	 = 355,
+	OP_EPWENT	 = 356,
+	OP_GGRNAM	 = 357,
+	OP_GGRGID	 = 358,
+	OP_GGRENT	 = 359,
+	OP_SGRENT	 = 360,
+	OP_EGRENT	 = 361,
+	OP_GETLOGIN	 = 362,
+	OP_SYSCALL	 = 363,
+	OP_LOCK		 = 364,
+	OP_ONCE		 = 365,
+	OP_CUSTOM	 = 366,
+	OP_REACH	 = 367,
+	OP_RKEYS	 = 368,
+	OP_RVALUES	 = 369,
+	OP_COREARGS	 = 370,
+	OP_RUNCV	 = 371,
+	OP_FC		 = 372,
+	OP_PADCV	 = 373,
+	OP_INTROCV	 = 374,
+	OP_CLONECV	 = 375,
+	OP_PADRANGE	 = 376,
 	OP_max		
 } opcode;
 
-#define MAXO 370
+#define MAXO 377
+#define OP_FREED MAXO
 
-/* the OP_IS_(SOCKET|FILETEST) macros are optimized to a simple range
-    check because all the member OPs are contiguous in opcode.pl
-    <OPS> table.  opcode.pl verifies the range contiguity.  */
+/* the OP_IS_* macros are optimized to a simple range check because
+    all the member OPs are contiguous in regen/opcodes table.
+    opcode.pl verifies the range contiguity, or generates an OR-equals
+    expression */
 
 #define OP_IS_SOCKET(op)	\
 	((op) >= OP_SEND && (op) <= OP_GETPEERNAME)
@@ -402,4 +411,10 @@
 #define OP_IS_FILETEST_ACCESS(op)	\
 	((op) >= OP_FTRREAD && (op) <= OP_FTEEXEC)
 
+#define OP_IS_NUMCOMPARE(op)	\
+	((op) >= OP_LT && (op) <= OP_I_NCMP)
+
+#define OP_IS_DIRHOP(op)	\
+	((op) >= OP_READDIR && (op) <= OP_CLOSEDIR)
+
 /* ex: set ro: */


Property changes on: vendor/perl/dist/opnames.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/os2/Changes
===================================================================
--- vendor/perl/dist/os2/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/Makefile.SHs
===================================================================
--- vendor/perl/dist/os2/Makefile.SHs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/Makefile.SHs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/Makefile.SHs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-ExtAttr/Changes
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-ExtAttr/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-ExtAttr/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-ExtAttr/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.pm
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use XSLoader;
 
-our $VERSION = '0.02';
+our $VERSION = '0.03';
 XSLoader::load 'OS2::ExtAttr', $VERSION;
 
 # Preloaded methods go here.
@@ -122,7 +122,7 @@
   tie %ea, 'OS2::ExtAttr', 'my.file';
   print $ea{eaname};
   $ea{myfield} = 'value';
-  
+
   untie %ea;
 
 =head1 DESCRIPTION


Property changes on: vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.xs
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-ExtAttr/ExtAttr.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-ExtAttr/MANIFEST
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-ExtAttr/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-ExtAttr/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-ExtAttr/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-ExtAttr/Makefile.PL
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-ExtAttr/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-ExtAttr/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-ExtAttr/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-ExtAttr/myea.h
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-ExtAttr/myea.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-ExtAttr/myea.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-ExtAttr/myea.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-ExtAttr/t/os2_ea.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-ExtAttr/t/os2_ea.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-ExtAttr/t/os2_ea.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-ExtAttr/t/os2_ea.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-ExtAttr/typemap
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-ExtAttr/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-ExtAttr/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-ExtAttr/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-PrfDB/Changes
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-PrfDB/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-PrfDB/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-PrfDB/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-PrfDB/MANIFEST
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-PrfDB/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-PrfDB/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-PrfDB/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-PrfDB/Makefile.PL
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-PrfDB/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-PrfDB/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-PrfDB/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.pm
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.xs
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-PrfDB/PrfDB.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-PrfDB/t/os2_prfdb.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-PrfDB/t/os2_prfdb.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-PrfDB/t/os2_prfdb.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-PrfDB/t/os2_prfdb.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-Process/MANIFEST
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-Process/Makefile.PL
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/os2/OS2/OS2-Process/Process.pm
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/Process.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/Process.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,7 +20,7 @@
   #require AutoLoader;
 
   our @ISA = qw(Exporter);
-  our $VERSION = "1.06";
+  our $VERSION = "1.08";
   XSLoader::load('OS2::Process', $VERSION);
 }
 
@@ -1225,7 +1225,8 @@
 In such a case the process needs to be a PM process, or to be morphed
 to a PM process via OS2::MorphPM().
 
-For a temporary morphing to PM use the L<OS2::localMorphPM> class.
+For a temporary morphing to PM use the L<OS2::localMorphPM|/OS2::localMorphPM,
+OS2::localFlashWindow, and OS2::localClipbrd classes> class.
 
 Keep in mind that PM windows are engaged in 2 "orthogonal" window
 trees, as well as in the z-order list.
@@ -1749,7 +1750,7 @@
 Use class C<OS2::localClipbrd> to ensure that clipboard is closed even if
 the code in the block made a non-local exit.
 
-See the L<OS2::localMorphPM> and L<OS2::localClipbrd> classes.
+See the L</OS2::localMorphPM, OS2::localFlashWindow, and OS2::localClipbrd classes>
 
 =head2 Control of the PM atom tables
 
@@ -2083,7 +2084,7 @@
 may also provide some performance advantages, since the value of the
 constant is cached.
 
-=head1 L<OS2::localMorphPM>, OS2::localFlashWindow, and OS2::localClipbrd classes
+=head1 OS2::localMorphPM, OS2::localFlashWindow, and OS2::localClipbrd classes
 
 The class C<OS2::localMorphPM> morphs the process to PM for the duration of
 the given scope.


Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/Process.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-Process/Process.xs
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/Process.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/Process.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/Process.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_atoms.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/t/os2_atoms.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/t/os2_atoms.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_atoms.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_clipboard.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/t/os2_clipboard.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/t/os2_clipboard.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_clipboard.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_kid.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_kid.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_kid.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_kid.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_text.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_text.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_text.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-Process/t/os2_process_text.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/Changes
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Changes
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.pm
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.pm	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 package OS2::DLL;
 
-our $VERSION = '1.04';
+our $VERSION = '1.05';
 
 use Carp;
 use XSLoader;
@@ -152,7 +152,7 @@
 
 =head1 DESCRIPTION
 
-=head2 L<Create a DLL handle>
+=head2 Create a DLL handle
 
 	$dll = OS2::DLL->module( NAME [, WHERE] );
 


Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.xs
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/DLL.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/MANIFEST
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/DLL/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/DLL/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Makefile.PL
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/DLL/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/MANIFEST
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/MANIFEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/MANIFEST	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/MANIFEST
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/Makefile.PL
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/Makefile.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/Makefile.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/Makefile.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/REXX.pm
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/REXX.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/REXX.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/REXX.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/REXX.xs
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/REXX.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/REXX.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/REXX.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_cmprt.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_cmprt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_cmprt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_cmprt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_dllld.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_dllld.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_dllld.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_dllld.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_emxrv.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_emxrv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_emxrv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_emxrv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_objcall.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_objcall.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_objcall.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_objcall.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_sql.test
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_sql.test	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_sql.test	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_sql.test
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tiesql.test
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tiesql.test	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tiesql.test	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tiesql.test
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tievar.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tievar.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tievar.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tievar.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tieydb.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tieydb.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tieydb.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_tieydb.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_varset.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_varset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_varset.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_varset.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_vrexx.t
===================================================================
--- vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_vrexx.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_vrexx.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/OS2-REXX/t/rx_vrexx.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/OS2/typemap
===================================================================
--- vendor/perl/dist/os2/OS2/typemap	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/OS2/typemap	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/OS2/typemap
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/diff.configure
===================================================================
--- vendor/perl/dist/os2/diff.configure	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/diff.configure	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/diff.configure
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/dl_os2.c
===================================================================
--- vendor/perl/dist/os2/dl_os2.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/dl_os2.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/dl_os2.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/dlfcn.h
===================================================================
--- vendor/perl/dist/os2/dlfcn.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/dlfcn.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/dlfcn.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/os2/os2.c
===================================================================
--- vendor/perl/dist/os2/os2.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/os2.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1345,8 +1345,8 @@
 int
 do_spawn3(pTHX_ char *cmd, int execf, int flag)
 {
-    register char **a;
-    register char *s;
+    char **a;
+    char *s;
     char *shell, *copt, *news = NULL;
     int rc, seenspace = 0, mergestderr = 0;
 
@@ -1475,11 +1475,11 @@
 
 /* Array spawn/exec.  */
 int
-os2_aspawn_4(pTHX_ SV *really, register SV **args, I32 cnt, int execing)
+os2_aspawn_4(pTHX_ SV *really, SV **args, I32 cnt, int execing)
 {
-    register SV **argp = (SV **)args;
-    register SV **last = argp + cnt;
-    register char **a;
+    SV **argp = (SV **)args;
+    SV **last = argp + cnt;
+    char **a;
     int rc;
     int flag = P_WAIT, flag_set = 0;
     STRLEN n_a;
@@ -1518,7 +1518,7 @@
 
 /* Array spawn.  */
 int
-os2_do_aspawn(pTHX_ SV *really, register SV **vmark, register SV **vsp)
+os2_do_aspawn(pTHX_ SV *really, SV **vmark, SV **vsp)
 {
     return os2_aspawn_4(aTHX_ really, vmark + 1, vsp - vmark, ASPAWN_WAIT);
 }
@@ -1560,8 +1560,8 @@
 {
 #ifndef USE_POPEN
     int p[2];
-    register I32 this, that, newfd;
-    register I32 pid;
+    I32 this, that, newfd;
+    I32 pid;
     SV *sv;
     int fh_fl = 0;			/* Pacify the warning */
     
@@ -1568,7 +1568,7 @@
     /* `this' is what we use in the parent, `that' in the child. */
     this = (*mode == 'w');
     that = !this;
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	taint_env();
 	taint_proper("Insecure %s%s", "EXEC");
     }


Property changes on: vendor/perl/dist/os2/os2.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/os2.sym
===================================================================
--- vendor/perl/dist/os2/os2.sym	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/os2.sym	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/os2.sym
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/os2_base.t
===================================================================
--- vendor/perl/dist/os2/os2_base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/os2_base.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/os2_base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/os2_pipe.t
===================================================================
--- vendor/perl/dist/os2/os2_pipe.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/os2_pipe.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/os2_pipe.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/os2add.sym
===================================================================
--- vendor/perl/dist/os2/os2add.sym	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/os2add.sym	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/os2add.sym
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/os2ish.h
===================================================================
--- vendor/perl/dist/os2/os2ish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/os2ish.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/os2ish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/os2thread.h
===================================================================
--- vendor/perl/dist/os2/os2thread.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/os2thread.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/os2thread.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/perl2cmd.pl
===================================================================
--- vendor/perl/dist/os2/perl2cmd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/perl2cmd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/perl2cmd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/os2/perlrexx.c
===================================================================
--- vendor/perl/dist/os2/perlrexx.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/perlrexx.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,12 +35,6 @@
 ULONG PERLDROPALL(PCSZ name, LONG rargc, const RXSTRING *rargv, PCSZ queuename, PRXSTRING retstr);
 ULONG PERLDROPALLEXIT(PCSZ name, LONG rargc, const RXSTRING *rargv, PCSZ queuename, PRXSTRING retstr);
 
-#if defined (atarist)
-/* The Atari operating system doesn't have a dynamic stack.  The
-   stack size is determined from this value.  */
-long _stksize = 64 * 1024;
-#endif
-
 /* Register any extra external extensions */
 
 /* Do not delete this line--writemain depends on it */


Property changes on: vendor/perl/dist/os2/perlrexx.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/os2/perlrexx.cmd
===================================================================
--- vendor/perl/dist/os2/perlrexx.cmd	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/os2/perlrexx.cmd	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/os2/perlrexx.cmd
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/overload.c
===================================================================
--- vendor/perl/dist/overload.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/overload.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -84,8 +84,7 @@
     3,
     3,
     3,
-    3,
-    7
+    3
 };
 
 static const char * const PL_AMG_names[NofAMmeth] = {
@@ -161,8 +160,7 @@
     "(.=",		/* concat_ass */
     "(~~",		/* smart      */
     "(-X",		/* ftest      */
-    "(qr",		/* regexp     */
-    "DESTROY"
+    "(qr"
 };
 
 /* ex: set ro: */


Property changes on: vendor/perl/dist/overload.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/overload.h
===================================================================
--- vendor/perl/dist/overload.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/overload.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -82,7 +82,6 @@
     smart_amg,		/* 0x41 ~~       */
     ftest_amg,		/* 0x42 -X       */
     regexp_amg,		/* 0x43 qr       */
-    DESTROY_amg,	/* 0x44 DESTROY  */
     max_amg_code
     /* Do not leave a trailing comma here.  C9X allows it, C89 doesn't. */
 };


Property changes on: vendor/perl/dist/overload.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Deleted: vendor/perl/dist/overload.pl
===================================================================
--- vendor/perl/dist/overload.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/overload.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,232 +0,0 @@
-#!/usr/bin/perl -w
-#
-# Regenerate (overwriting only if changed):
-#
-#    overload.h
-#    overload.c
-#    lib/overload/numbers.pm
-#
-# from information stored in the DATA section of this file.
-#
-# This allows the order of overloading constants to be changed.
-#
-# Accepts the standard regen_lib -q and -v args.
-#
-# This script is normally invoked from regen.pl.
-
-BEGIN {
-    # Get function prototypes
-    require 'regen_lib.pl';
-}
-
-use strict;
-
-use File::Spec::Functions qw(catdir catfile);;
-
-my (@enums, @names);
-while (<DATA>) {
-  next if /^#/;
-  next if /^$/;
-  my ($enum, $name) = /^(\S+)\s+(\S+)/ or die "Can't parse $_";
-  push @enums, $enum;
-  push @names, $name;
-}
-
-safer_unlink (catfile(qw(lib overload numbers.pm)));
-my $c = safer_open("overload.c-new");
-my $h = safer_open("overload.h-new");
-mkdir("lib/overload") unless -d catdir(qw(lib overload));
-my $p = safer_open(catfile(qw(lib overload numbers.pm)));
-
-
-select $p;
-
-{
-local $" = "\n    ";
-print <<"EOF";
-# -*- buffer-read-only: t -*-
-#
-#   lib/overload/numbers.pm
-#
-#   Copyright (C) 2008 by Larry Wall and others
-#
-#   You may distribute under the terms of either the GNU General Public
-#   License or the Artistic License, as specified in the README file.
-#
-# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-# This file is built by overload.pl
-#
-
-package overload::numbers;
-
-our \@names = qw#
-    @names
-#;
-
-our \@enums = qw#
-    @enums
-#;
-
-{ my \$i = 0; our %names = map { \$_ => \$i++ } \@names }
-
-{ my \$i = 0; our %enums = map { \$_ => \$i++ } \@enums }
-
-EOF
-}
-
-
-sub print_header {
-  my $file = shift;
-  print <<"EOF";
-/* -*- buffer-read-only: t -*-
- *
- *    $file
- *
- *    Copyright (C) 1997, 1998, 2000, 2001, 2005, 2006, 2007 by Larry Wall
- *    and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- *  !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
- *  This file is built by overload.pl
- */
-EOF
-}
-
-select $c;
-print_header('overload.c');
-
-select $h;
-print_header('overload.h');
-print <<'EOF';
-
-enum {
-EOF
-
-print "    ${_}_amg,\n", foreach @enums;
-
-print <<'EOF';
-    max_amg_code
-    /* Do not leave a trailing comma here.  C9X allows it, C89 doesn't. */
-};
-
-#define NofAMmeth max_amg_code
-
-EOF
-
-print $c <<'EOF';
-
-#define AMG_id2name(id) (PL_AMG_names[id]+1)
-#define AMG_id2namelen(id) (PL_AMG_namelens[id]-1)
-
-const U8 PL_AMG_namelens[NofAMmeth] = {
-EOF
-
-my $last = pop @names;
-
-print $c "    $_,\n" foreach map { length $_ } @names;
-
-my $lastlen = length $last;
-print $c <<"EOT";
-    $lastlen
-};
-
-const char * const PL_AMG_names[NofAMmeth] = {
-  /* Names kept in the symbol table.  fallback => "()", the rest has
-     "(" prepended.  The only other place in perl which knows about
-     this convention is AMG_id2name (used for debugging output and
-     'nomethod' only), the only other place which has it hardwired is
-     overload.pm.  */
-EOT
-
-print $c "    \"$_\",\n" foreach map { s/(["\\"])/\\$1/g; $_ } @names;
-
-print $c <<"EOT";
-    "$last"
-};
-EOT
-
-safer_close($h);
-safer_close($c);
-safer_close($p);
-rename_if_different("overload.c-new", "overload.c");
-rename_if_different("overload.h-new","overload.h");
-
-__DATA__
-# Fallback should be the first
-fallback	()
-
-# These 5 are the most common in the fallback switch statement in amagic_call
-to_sv		(${}
-to_av		(@{}
-to_hv		(%{}
-to_gv		(*{}
-to_cv		(&{}
-
-# These have non-default cases in that switch statement
-inc		(++
-dec		(--
-bool_		(bool
-numer		(0+
-string		(""
-not		(!
-copy		(=
-abs		(abs
-neg		(neg
-iter		(<>
-int		(int
-
-# These 12 feature in the next switch statement
-lt		(<
-le		(<=
-gt		(>
-ge		(>=
-eq		(==
-ne		(!=
-slt		(lt
-sle		(le
-sgt		(gt
-sge		(ge
-seq		(eq
-sne		(ne
-
-nomethod	(nomethod
-add		(+
-add_ass		(+=
-subtr		(-
-subtr_ass	(-=
-mult		(*
-mult_ass	(*=
-div		(/
-div_ass		(/=
-modulo		(%
-modulo_ass	(%=
-pow		(**
-pow_ass		(**=
-lshift		(<<
-lshift_ass	(<<=
-rshift		(>>
-rshift_ass	(>>=
-band		(&
-band_ass	(&=
-bor		(|
-bor_ass		(|=
-bxor		(^
-bxor_ass	(^=
-ncmp		(<=>
-scmp		(cmp
-compl		(~
-atan2		(atan2
-cos		(cos
-sin		(sin
-exp		(exp
-log		(log
-sqrt		(sqrt
-repeat		(x
-repeat_ass	(x=
-concat		(.
-concat_ass	(.=
-smart		(~~
-# Note: Perl_Gv_AMupdate() assumes that DESTROY is the last entry
-DESTROY		DESTROY

Modified: vendor/perl/dist/pad.c
===================================================================
--- vendor/perl/dist/pad.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pad.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,17 +27,15 @@
 /*
 =head1 Pad Data Structures
 
-This file contains the functions that create and manipulate scratchpads,
-which are array-of-array data structures attached to a CV (ie a sub)
-and which store lexical variables and opcode temporary and per-thread
-values.
+=for apidoc Amx|PADLIST *|CvPADLIST|CV *cv
 
-=for apidoc m|AV *|CvPADLIST|CV *cv
-CV's can have CvPADLIST(cv) set to point to an AV.
+CV's can have CvPADLIST(cv) set to point to a PADLIST.  This is the CV's
+scratchpad, which stores lexical variables and opcode temporary and
+per-thread values.
 
-For these purposes "forms" are a kind-of CV, eval""s are too (except they're
+For these purposes "formats" are a kind-of CV; eval""s are too (except they're
 not callable at will and are always thrown away after the eval"" is done
-executing). Require'd files are simply evals without any outer lexical
+executing).  Require'd files are simply evals without any outer lexical
 scope.
 
 XSUBs don't have CvPADLIST set - dXSTARG fetches values from PL_curpad,
@@ -44,34 +42,27 @@
 but that is really the callers pad (a slot of which is allocated by
 every entersub).
 
-The CvPADLIST AV has does not have AvREAL set, so REFCNT of component items
-is managed "manual" (mostly in pad.c) rather than normal av.c rules.
-The items in the AV are not SVs as for a normal AV, but other AVs:
+The PADLIST has a C array where pads are stored.
 
-0'th Entry of the CvPADLIST is an AV which represents the "names" or rather
-the "static type information" for lexicals.
+The 0th entry of the PADLIST is a PADNAMELIST (which is actually just an
+AV, but that may change) which represents the "names" or rather
+the "static type information" for lexicals.  The individual elements of a
+PADNAMELIST are PADNAMEs (just SVs; but, again, that may change).  Future
+refactorings might stop the PADNAMELIST from being stored in the PADLIST's
+array, so don't rely on it.  See L</PadlistNAMES>.
 
-The CvDEPTH'th entry of CvPADLIST AV is an AV which is the stack frame at that
-depth of recursion into the CV.
-The 0'th slot of a frame AV is an AV which is @_.
-other entries are storage for variables and op targets.
+The CvDEPTH'th entry of a PADLIST is a PAD (an AV) which is the stack frame
+at that depth of recursion into the CV.  The 0th slot of a frame AV is an
+AV which is @_.  Other entries are storage for variables and op targets.
 
-During compilation:
-C<PL_comppad_name> is set to the names AV.
-C<PL_comppad> is set to the frame AV for the frame CvDEPTH == 1.
-C<PL_curpad> is set to the body of the frame AV (i.e. AvARRAY(PL_comppad)).
-
-During execution, C<PL_comppad> and C<PL_curpad> refer to the live
-frame of the currently executing sub.
-
-Iterating over the names AV iterates over all possible pad
-items. Pad slots that are SVs_PADTMP (targets/GVs/constants) end up having
+Iterating over the PADNAMELIST iterates over all possible pad
+items.  Pad slots that are SVs_PADTMP (targets/GVs/constants) end up having
 &PL_sv_undef "names" (see pad_alloc()).
 
-Only my/our variable (SVs_PADMY/SVs_PADOUR) slots get valid names.
+Only my/our variable (SvPADMY/PADNAME_isOUR) slots get valid names.
 The rest are op targets/GVs/constants which are statically allocated
 or resolved at compile time.  These don't have names by which they
-can be looked up from Perl code at run time through eval"" like
+can be looked up from Perl code at run time through eval"" the way
 my/our variables can be.  Since they can't be looked up by "name"
 but only by their index allocated at compile time (which is usually
 in PL_op->op_targ), wasting a name SV for them doesn't make sense.
@@ -94,7 +85,8 @@
 duplicate C<our> declarations in the same package can be detected).  SvUVX is
 sometimes hijacked to store the generation number during compilation.
 
-If SvFAKE is set on the name SV, then that slot in the frame AV is
+If PADNAME_OUTER (SvFAKE) is set on the
+name SV, then that slot in the frame AV is
 a REFCNT'ed reference to a lexical from "outside". In this case,
 the name SV does not use xlow and xhigh to store a cop_seq range, since it is
 in scope throughout. Instead xhigh stores some flags containing info about
@@ -103,9 +95,10 @@
 within the parent's pad where the lexical's value is stored, to make
 cloning quicker.
 
-If the 'name' is '&' the corresponding entry in frame AV
+If the 'name' is '&' the corresponding entry in the PAD
 is a CV representing a possible closure.
-(SvFAKE and name of '&' is not a meaningful combination currently but could
+(PADNAME_OUTER and name of '&' is not a
+meaningful combination currently but could
 become so if C<my sub foo {}> is implemented.)
 
 Note that formats are treated as anon subs, and are cloned each time
@@ -112,13 +105,32 @@
 write is called (if necessary).
 
 The flag SVs_PADSTALE is cleared on lexicals each time the my() is executed,
-and set on scope exit. This allows the 'Variable $x is not available' warning
+and set on scope exit.  This allows the
+'Variable $x is not available' warning
 to be generated in evals, such as 
 
     { my $x = 1; sub f { eval '$x'} } f();
 
-For state vars, SVs_PADSTALE is overloaded to mean 'not yet initialised'
+For state vars, SVs_PADSTALE is overloaded to mean 'not yet initialised'.
 
+=for apidoc AmxU|PADNAMELIST *|PL_comppad_name
+
+During compilation, this points to the array containing the names part
+of the pad for the currently-compiling code.
+
+=for apidoc AmxU|PAD *|PL_comppad
+
+During compilation, this points to the array containing the values
+part of the pad for the currently-compiling code.  (At runtime a CV may
+have many such value arrays; at compile time just one is constructed.)
+At runtime, this points to the array containing the currently-relevant
+values for the pad for the currently-executing code.
+
+=for apidoc AmxU|SV **|PL_curpad
+
+Points directly to the body of the L</PL_comppad> array.
+(I.e., this is C<PAD_ARRAY(PL_comppad)>.)
+
 =cut
 */
 
@@ -138,6 +150,17 @@
 #define PARENT_FAKELEX_FLAGS_set(sv,val)	\
   STMT_START { ((XPVNV*)SvANY(sv))->xnv_u.xpad_cop_seq.xhigh = (val); } STMT_END
 
+/*
+=for apidoc mx|void|pad_peg|const char *s
+
+When PERL_MAD is enabled, this is a small no-op function that gets called
+at the start of each pad-related function.  It can be breakpointed to
+track all pad operations.  The parameter is a string indicating the type
+of pad operation being performed.
+
+=cut
+*/
+
 #ifdef PERL_MAD
 void pad_peg(const char* s) {
     static int pegcnt; /* XXX not threadsafe */
@@ -150,14 +173,55 @@
 #endif
 
 /*
-=for apidoc pad_new
+This is basically sv_eq_flags() in sv.c, but we avoid the magic
+and bytes checking.
+*/
 
-Create a new compiling padlist, saving and updating the various global
-vars at the same time as creating the pad itself. The following flags
-can be OR'ed together:
+static bool
+sv_eq_pvn_flags(pTHX_ const SV *sv, const char* pv, const STRLEN pvlen, const U32 flags) {
+    if ( (SvUTF8(sv) & SVf_UTF8 ) != (flags & SVf_UTF8) ) {
+        const char *pv1 = SvPVX_const(sv);
+        STRLEN cur1     = SvCUR(sv);
+        const char *pv2 = pv;
+        STRLEN cur2     = pvlen;
+	if (PL_encoding) {
+              SV* svrecode = NULL;
+	      if (SvUTF8(sv)) {
+		   svrecode = newSVpvn(pv2, cur2);
+		   sv_recode_to_utf8(svrecode, PL_encoding);
+		   pv2      = SvPV_const(svrecode, cur2);
+	      }
+	      else {
+		   svrecode = newSVpvn(pv1, cur1);
+		   sv_recode_to_utf8(svrecode, PL_encoding);
+		   pv1      = SvPV_const(svrecode, cur1);
+	      }
+              SvREFCNT_dec_NN(svrecode);
+        }
+        if (flags & SVf_UTF8)
+            return (bytes_cmp_utf8(
+                        (const U8*)pv1, cur1,
+		        (const U8*)pv2, cur2) == 0);
+        else
+            return (bytes_cmp_utf8(
+                        (const U8*)pv2, cur2,
+		        (const U8*)pv1, cur1) == 0);
+    }
+    else
+        return ((SvPVX_const(sv) == pv)
+                    || memEQ(SvPVX_const(sv), pv, pvlen));
+}
 
+
+/*
+=for apidoc Am|PADLIST *|pad_new|int flags
+
+Create a new padlist, updating the global variables for the
+currently-compiling padlist to point to the new padlist.  The following
+flags can be OR'ed together:
+
     padnew_CLONE	this pad is for a cloned CV
-    padnew_SAVE		save old globals
+    padnew_SAVE		save old globals on the save stack
     padnew_SAVESUB	also save extra stuff for start of sub
 
 =cut
@@ -167,8 +231,9 @@
 Perl_pad_new(pTHX_ int flags)
 {
     dVAR;
-    AV *padlist, *padname, *pad;
-    SV **ary;
+    PADLIST *padlist;
+    PAD *padname, *pad;
+    PAD **ary;
 
     ASSERT_CURPAD_LEGAL("pad_new");
 
@@ -182,8 +247,8 @@
 
     if (flags & padnew_SAVE) {
 	SAVECOMPPAD();
-	SAVESPTR(PL_comppad_name);
 	if (! (flags & padnew_CLONE)) {
+	    SAVESPTR(PL_comppad_name);
 	    SAVEI32(PL_padix);
 	    SAVEI32(PL_comppad_name_fill);
 	    SAVEI32(PL_min_intro_pending);
@@ -199,8 +264,7 @@
 
     /* ... create new pad ... */
 
-    padlist	= newAV();
-    padname	= newAV();
+    Newxz(padlist, 1, PADLIST);
     pad		= newAV();
 
     if (flags & padnew_CLONE) {
@@ -212,31 +276,31 @@
         AV * const a0 = newAV();			/* will be @_ */
 	av_store(pad, 0, MUTABLE_SV(a0));
 	AvREIFY_only(a0);
+
+	padname = (PAD *)SvREFCNT_inc_simple_NN(PL_comppad_name);
     }
     else {
 	av_store(pad, 0, NULL);
+	padname = newAV();
     }
 
-    AvREAL_off(padlist);
     /* Most subroutines never recurse, hence only need 2 entries in the padlist
        array - names, and depth=1.  The default for av_store() is to allocate
        0..3, and even an explicit call to av_extend() with <3 will be rounded
        up, so we inline the allocation of the array here.  */
-    Newx(ary, 2, SV*);
-    AvFILLp(padlist) = 1;
-    AvMAX(padlist) = 1;
-    AvALLOC(padlist) = ary;
-    AvARRAY(padlist) = ary;
-    ary[0] = MUTABLE_SV(padname);
-    ary[1] = MUTABLE_SV(pad);
+    Newx(ary, 2, PAD *);
+    PadlistMAX(padlist) = 1;
+    PadlistARRAY(padlist) = ary;
+    ary[0] = padname;
+    ary[1] = pad;
 
     /* ... then update state variables */
 
-    PL_comppad_name	= padname;
     PL_comppad		= pad;
     PL_curpad		= AvARRAY(pad);
 
     if (! (flags & padnew_CLONE)) {
+	PL_comppad_name	     = padname;
 	PL_comppad_name_fill = 0;
 	PL_min_intro_pending = 0;
 	PL_padix	     = 0;
@@ -273,6 +337,7 @@
 {
     dVAR;
     const PADLIST *padlist = CvPADLIST(cv);
+    bool const slabbed = !!CvSLABBED(cv);
 
     PERL_ARGS_ASSERT_CV_UNDEF;
 
@@ -281,14 +346,12 @@
 	    PTR2UV(cv), PTR2UV(PL_comppad))
     );
 
-#ifdef USE_ITHREADS
-    if (CvFILE(cv) && !CvISXSUB(cv)) {
-	/* for XSUBs CvFILE point directly to static memory; __FILE__ */
+    if (CvFILE(cv) && CvDYNFILE(cv)) {
 	Safefree(CvFILE(cv));
     }
     CvFILE(cv) = NULL;
-#endif
 
+    CvSLABBED_off(cv);
     if (!CvISXSUB(cv) && CvROOT(cv)) {
 	if (SvTYPE(cv) == SVt_PVCV && CvDEPTH(cv))
 	    Perl_croak(aTHX_ "Can't undef active subroutine");
@@ -296,19 +359,36 @@
 
 	PAD_SAVE_SETNULLPAD();
 
+	if (slabbed) OpslabREFCNT_dec_padok(OpSLAB(CvROOT(cv)));
 	op_free(CvROOT(cv));
 	CvROOT(cv) = NULL;
 	CvSTART(cv) = NULL;
 	LEAVE;
     }
+    else if (slabbed && CvSTART(cv)) {
+	ENTER;
+	PAD_SAVE_SETNULLPAD();
+
+	/* discard any leaked ops */
+	if (PL_parser)
+	    parser_free_nexttoke_ops(PL_parser, (OPSLAB *)CvSTART(cv));
+	opslab_force_free((OPSLAB *)CvSTART(cv));
+	CvSTART(cv) = NULL;
+
+	LEAVE;
+    }
+#ifdef DEBUGGING
+    else if (slabbed) Perl_warn(aTHX_ "Slab leaked from cv %p", cv);
+#endif
     SvPOK_off(MUTABLE_SV(cv));		/* forget prototype */
-    CvGV_set(cv, NULL);
+    sv_unmagic((SV *)cv, PERL_MAGIC_checkcall);
+    if (CvNAMED(cv)) CvNAME_HEK_set(cv, NULL);
+    else	     CvGV_set(cv, NULL);
 
     /* This statement and the subsequence if block was pad_undef().  */
     pad_peg("pad_undef");
 
-    if (padlist && !SvIS_FREED(padlist) /* may be during global destruction */
-	) {
+    if (padlist) {
 	I32 ix;
 
 	/* Free the padlist associated with a CV.
@@ -331,9 +411,9 @@
 	if (PL_phase != PERL_PHASE_DESTRUCT) { /* don't bother during global destruction */
 	    CV * const outercv = CvOUTSIDE(cv);
 	    const U32 seq = CvOUTSIDE_SEQ(cv);
-	    AV *  const comppad_name = MUTABLE_AV(AvARRAY(padlist)[0]);
+	    PAD * const comppad_name = PadlistARRAY(padlist)[0];
 	    SV ** const namepad = AvARRAY(comppad_name);
-	    AV *  const comppad = MUTABLE_AV(AvARRAY(padlist)[1]);
+	    PAD * const comppad = PadlistARRAY(padlist)[1];
 	    SV ** const curpad = AvARRAY(comppad);
 	    for (ix = AvFILLp(comppad_name); ix > 0; ix--) {
 		SV * const namesv = namepad[ix];
@@ -343,12 +423,11 @@
 			CV * const innercv = MUTABLE_CV(curpad[ix]);
 			U32 inner_rc = SvREFCNT(innercv);
 			assert(inner_rc);
-			namepad[ix] = NULL;
-			SvREFCNT_dec(namesv);
+			assert(SvTYPE(innercv) != SVt_PVFM);
 
 			if (SvREFCNT(comppad) < 2) { /* allow for /(?{ sub{} })/  */
 			    curpad[ix] = NULL;
-			    SvREFCNT_dec(innercv);
+			    SvREFCNT_dec_NN(innercv);
 			    inner_rc--;
 			}
 
@@ -370,24 +449,25 @@
 	    }
 	}
 
-	ix = AvFILLp(padlist);
+	ix = PadlistMAX(padlist);
 	while (ix > 0) {
-	    SV* const sv = AvARRAY(padlist)[ix--];
+	    PAD * const sv = PadlistARRAY(padlist)[ix--];
 	    if (sv) {
-		if (sv == (const SV *)PL_comppad) {
+		if (sv == PL_comppad) {
 		    PL_comppad = NULL;
 		    PL_curpad = NULL;
 		}
-		SvREFCNT_dec(sv);
+		SvREFCNT_dec_NN(sv);
 	    }
 	}
 	{
-	    SV *const sv = AvARRAY(padlist)[0];
-	    if (sv == (const SV *)PL_comppad_name)
+	    PAD * const sv = PadlistARRAY(padlist)[0];
+	    if (sv == PL_comppad_name && SvREFCNT(sv) == 1)
 		PL_comppad_name = NULL;
 	    SvREFCNT_dec(sv);
 	}
-	SvREFCNT_dec(MUTABLE_SV(CvPADLIST(cv)));
+	if (PadlistARRAY(padlist)) Safefree(PadlistARRAY(padlist));
+	Safefree(padlist);
 	CvPADLIST(cv) = NULL;
     }
 
@@ -406,20 +486,76 @@
 	CvXSUB(cv) = NULL;
     }
     /* delete all flags except WEAKOUTSIDE and CVGV_RC, which indicate the
-     * ref status of CvOUTSIDE and CvGV */
-    CvFLAGS(cv) &= (CVf_WEAKOUTSIDE|CVf_CVGV_RC);
+     * ref status of CvOUTSIDE and CvGV, and ANON, which pp_entersub uses
+     * to choose an error message */
+    CvFLAGS(cv) &= (CVf_WEAKOUTSIDE|CVf_CVGV_RC|CVf_ANON);
 }
 
+/*
+=for apidoc cv_forget_slab
+
+When a CV has a reference count on its slab (CvSLABBED), it is responsible
+for making sure it is freed.  (Hence, no two CVs should ever have a
+reference count on the same slab.)  The CV only needs to reference the slab
+during compilation.  Once it is compiled and CvROOT attached, it has
+finished its job, so it can forget the slab.
+
+=cut
+*/
+
+void
+Perl_cv_forget_slab(pTHX_ CV *cv)
+{
+    const bool slabbed = !!CvSLABBED(cv);
+    OPSLAB *slab = NULL;
+
+    PERL_ARGS_ASSERT_CV_FORGET_SLAB;
+
+    if (!slabbed) return;
+
+    CvSLABBED_off(cv);
+
+    if      (CvROOT(cv))  slab = OpSLAB(CvROOT(cv));
+    else if (CvSTART(cv)) slab = (OPSLAB *)CvSTART(cv);
+#ifdef DEBUGGING
+    else if (slabbed)     Perl_warn(aTHX_ "Slab leaked from cv %p", cv);
+#endif
+
+    if (slab) {
+#ifdef PERL_DEBUG_READONLY_OPS
+	const size_t refcnt = slab->opslab_refcnt;
+#endif
+	OpslabREFCNT_dec(slab);
+#ifdef PERL_DEBUG_READONLY_OPS
+	if (refcnt > 1) Slab_to_ro(slab);
+#endif
+    }
+}
+
+/*
+=for apidoc m|PADOFFSET|pad_alloc_name|SV *namesv|U32 flags|HV *typestash|HV *ourstash
+
+Allocates a place in the currently-compiling
+pad (via L<perlapi/pad_alloc>) and
+then stores a name for that entry.  I<namesv> is adopted and becomes the
+name entry; it must already contain the name string and be sufficiently
+upgraded.  I<typestash> and I<ourstash> and the C<padadd_STATE> flag get
+added to I<namesv>.  None of the other
+processing of L<perlapi/pad_add_name_pvn>
+is done.  Returns the offset of the allocated pad slot.
+
+=cut
+*/
+
 static PADOFFSET
-S_pad_add_name_sv(pTHX_ SV *namesv, const U32 flags, HV *typestash,
-		  HV *ourstash)
+S_pad_alloc_name(pTHX_ SV *namesv, U32 flags, HV *typestash, HV *ourstash)
 {
     dVAR;
     const PADOFFSET offset = pad_alloc(OP_PADSV, SVs_PADMY);
 
-    PERL_ARGS_ASSERT_PAD_ADD_NAME_SV;
+    PERL_ARGS_ASSERT_PAD_ALLOC_NAME;
 
-    ASSERT_CURPAD_ACTIVE("pad_add_name");
+    ASSERT_CURPAD_ACTIVE("pad_alloc_name");
 
     if (typestash) {
 	assert(SvTYPE(namesv) == SVt_PVMG);
@@ -440,49 +576,66 @@
 }
 
 /*
-=for apidoc pad_add_name
+=for apidoc Am|PADOFFSET|pad_add_name_pvn|const char *namepv|STRLEN namelen|U32 flags|HV *typestash|HV *ourstash
 
-Create a new name and associated PADMY SV in the current pad; return the
-offset.
-If C<typestash> is valid, the name is for a typed lexical; set the
-name's stash to that value.
-If C<ourstash> is valid, it's an our lexical, set the name's
-SvOURSTASH to that value
+Allocates a place in the currently-compiling pad for a named lexical
+variable.  Stores the name and other metadata in the name part of the
+pad, and makes preparations to manage the variable's lexical scoping.
+Returns the offset of the allocated pad slot.
 
-If fake, it means we're cloning an existing entry
+I<namepv>/I<namelen> specify the variable's name, including leading sigil.
+If I<typestash> is non-null, the name is for a typed lexical, and this
+identifies the type.  If I<ourstash> is non-null, it's a lexical reference
+to a package variable, and this identifies the package.  The following
+flags can be OR'ed together:
 
+    padadd_OUR          redundantly specifies if it's a package var
+    padadd_STATE        variable will retain value persistently
+    padadd_NO_DUP_CHECK skip check for lexical shadowing
+
 =cut
 */
 
 PADOFFSET
-Perl_pad_add_name(pTHX_ const char *name, const STRLEN len, const U32 flags,
-		  HV *typestash, HV *ourstash)
+Perl_pad_add_name_pvn(pTHX_ const char *namepv, STRLEN namelen,
+		U32 flags, HV *typestash, HV *ourstash)
 {
     dVAR;
     PADOFFSET offset;
     SV *namesv;
+    bool is_utf8;
 
-    PERL_ARGS_ASSERT_PAD_ADD_NAME;
+    PERL_ARGS_ASSERT_PAD_ADD_NAME_PVN;
 
-    if (flags & ~(padadd_OUR|padadd_STATE|padadd_NO_DUP_CHECK))
-	Perl_croak(aTHX_ "panic: pad_add_name illegal flag bits 0x%" UVxf,
+    if (flags & ~(padadd_OUR|padadd_STATE|padadd_NO_DUP_CHECK|padadd_UTF8_NAME))
+	Perl_croak(aTHX_ "panic: pad_add_name_pvn illegal flag bits 0x%" UVxf,
 		   (UV)flags);
 
     namesv = newSV_type((ourstash || typestash) ? SVt_PVMG : SVt_PVNV);
+    
+    if ((is_utf8 = ((flags & padadd_UTF8_NAME) != 0))) {
+        namepv = (const char*)bytes_from_utf8((U8*)namepv, &namelen, &is_utf8);
+    }
 
-    /* Until we're using the length for real, cross check that we're being told
-       the truth.  */
-    PERL_UNUSED_ARG(len);
-    assert(strlen(name) == len);
+    sv_setpvn(namesv, namepv, namelen);
 
-    sv_setpv(namesv, name);
+    if (is_utf8) {
+        flags |= padadd_UTF8_NAME;
+        SvUTF8_on(namesv);
+    }
+    else
+        flags &= ~padadd_UTF8_NAME;
 
     if ((flags & padadd_NO_DUP_CHECK) == 0) {
+	ENTER;
+	SAVEFREESV(namesv); /* in case of fatal warnings */
 	/* check for duplicate declaration */
 	pad_check_dup(namesv, flags & padadd_OUR, ourstash);
+	SvREFCNT_inc_simple_void_NN(namesv);
+	LEAVE;
     }
 
-    offset = pad_add_name_sv(namesv, flags, typestash, ourstash);
+    offset = pad_alloc_name(namesv, flags & ~padadd_UTF8_NAME, typestash, ourstash);
 
     /* not yet introduced */
     COP_SEQ_RANGE_LOW_set(namesv, PERL_PADSEQ_INTRO);
@@ -494,38 +647,80 @@
     /* if it's not a simple scalar, replace with an AV or HV */
     assert(SvTYPE(PL_curpad[offset]) == SVt_NULL);
     assert(SvREFCNT(PL_curpad[offset]) == 1);
-    if (*name == '@')
+    if (namelen != 0 && *namepv == '@')
 	sv_upgrade(PL_curpad[offset], SVt_PVAV);
-    else if (*name == '%')
+    else if (namelen != 0 && *namepv == '%')
 	sv_upgrade(PL_curpad[offset], SVt_PVHV);
+    else if (namelen != 0 && *namepv == '&')
+	sv_upgrade(PL_curpad[offset], SVt_PVCV);
     assert(SvPADMY(PL_curpad[offset]));
     DEBUG_Xv(PerlIO_printf(Perl_debug_log,
 			   "Pad addname: %ld \"%s\" new lex=0x%"UVxf"\n",
-			   (long)offset, name, PTR2UV(PL_curpad[offset])));
+			   (long)offset, SvPVX(namesv),
+			   PTR2UV(PL_curpad[offset])));
 
     return offset;
 }
 
+/*
+=for apidoc Am|PADOFFSET|pad_add_name_pv|const char *name|U32 flags|HV *typestash|HV *ourstash
 
+Exactly like L</pad_add_name_pvn>, but takes a nul-terminated string
+instead of a string/length pair.
 
+=cut
+*/
 
+PADOFFSET
+Perl_pad_add_name_pv(pTHX_ const char *name,
+		     const U32 flags, HV *typestash, HV *ourstash)
+{
+    PERL_ARGS_ASSERT_PAD_ADD_NAME_PV;
+    return pad_add_name_pvn(name, strlen(name), flags, typestash, ourstash);
+}
+
 /*
-=for apidoc pad_alloc
+=for apidoc Am|PADOFFSET|pad_add_name_sv|SV *name|U32 flags|HV *typestash|HV *ourstash
 
-Allocate a new my or tmp pad entry. For a my, simply push a null SV onto
-the end of PL_comppad, but for a tmp, scan the pad from PL_padix upwards
-for a slot which has no name and no active value.
+Exactly like L</pad_add_name_pvn>, but takes the name string in the form
+of an SV instead of a string/length pair.
 
 =cut
 */
 
+PADOFFSET
+Perl_pad_add_name_sv(pTHX_ SV *name, U32 flags, HV *typestash, HV *ourstash)
+{
+    char *namepv;
+    STRLEN namelen;
+    PERL_ARGS_ASSERT_PAD_ADD_NAME_SV;
+    namepv = SvPV(name, namelen);
+    if (SvUTF8(name))
+        flags |= padadd_UTF8_NAME;
+    return pad_add_name_pvn(namepv, namelen, flags, typestash, ourstash);
+}
+
+/*
+=for apidoc Amx|PADOFFSET|pad_alloc|I32 optype|U32 tmptype
+
+Allocates a place in the currently-compiling pad,
+returning the offset of the allocated pad slot.
+No name is initially attached to the pad slot.
+I<tmptype> is a set of flags indicating the kind of pad entry required,
+which will be set in the value SV for the allocated pad entry:
+
+    SVs_PADMY    named lexical variable ("my", "our", "state")
+    SVs_PADTMP   unnamed temporary store
+
+I<optype> should be an opcode indicating the type of operation that the
+pad entry is to support.  This doesn't affect operational semantics,
+but is used for debugging.
+
+=cut
+*/
+
 /* XXX DAPM integrate alloc(), add_name() and add_anon(),
  * or at least rationalise ??? */
-/* And flag whether the incoming name is UTF8 or 8 bit?
-   Could do this either with the +ve/-ve hack of the HV code, or expanding
-   the flag bits. Either way, this makes proper Unicode safe pad support.
-   NWC
-*/
 
 PADOFFSET
 Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype)
@@ -538,14 +733,19 @@
     ASSERT_CURPAD_ACTIVE("pad_alloc");
 
     if (AvARRAY(PL_comppad) != PL_curpad)
-	Perl_croak(aTHX_ "panic: pad_alloc");
+	Perl_croak(aTHX_ "panic: pad_alloc, %p!=%p",
+		   AvARRAY(PL_comppad), PL_curpad);
     if (PL_pad_reset_pending)
 	pad_reset();
     if (tmptype & SVs_PADMY) {
+	/* For a my, simply push a null SV onto the end of PL_comppad. */
 	sv = *av_fetch(PL_comppad, AvFILLp(PL_comppad) + 1, TRUE);
 	retval = AvFILLp(PL_comppad);
     }
     else {
+	/* For a tmp, scan the pad from PL_padix upwards
+	 * for a slot which has no name and no active value.
+	 */
 	SV * const * const names = AvARRAY(PL_comppad_name);
         const SSize_t names_fill = AvFILLp(PL_comppad_name);
 	for (;;) {
@@ -580,15 +780,25 @@
 }
 
 /*
-=for apidoc pad_add_anon
+=for apidoc Am|PADOFFSET|pad_add_anon|CV *func|I32 optype
 
-Add an anon code entry to the current compiling pad
+Allocates a place in the currently-compiling pad (via L</pad_alloc>)
+for an anonymous function that is lexically scoped inside the
+currently-compiling function.
+The function I<func> is linked into the pad, and its C<CvOUTSIDE> link
+to the outer scope is weakened to avoid a reference loop.
 
+One reference count is stolen, so you may need to do C<SvREFCNT_inc(func)>.
+
+I<optype> should be an opcode indicating the type of operation that the
+pad entry is to support.  This doesn't affect operational semantics,
+but is used for debugging.
+
 =cut
 */
 
 PADOFFSET
-Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)
+Perl_pad_add_anon(pTHX_ CV* func, I32 optype)
 {
     dVAR;
     PADOFFSET ix;
@@ -602,38 +812,45 @@
      * PERL_PADSEQ_INTRO */
     COP_SEQ_RANGE_LOW_set(name, 0);
     COP_SEQ_RANGE_HIGH_set(name, 0);
-    ix = pad_alloc(op_type, SVs_PADMY);
+    ix = pad_alloc(optype, SVs_PADMY);
     av_store(PL_comppad_name, ix, name);
     /* XXX DAPM use PL_curpad[] ? */
-    av_store(PL_comppad, ix, sv);
-    SvPADMY_on(sv);
+    if (SvTYPE(func) == SVt_PVCV || !CvOUTSIDE(func))
+	av_store(PL_comppad, ix, (SV*)func);
+    else {
+	SV *rv = newRV_noinc((SV *)func);
+	sv_rvweaken(rv);
+	assert (SvTYPE(func) == SVt_PVFM);
+	av_store(PL_comppad, ix, rv);
+    }
+    SvPADMY_on((SV*)func);
 
     /* to avoid ref loops, we never have parent + child referencing each
      * other simultaneously */
-    if (CvOUTSIDE((const CV *)sv)) {
-	assert(!CvWEAKOUTSIDE((const CV *)sv));
-	CvWEAKOUTSIDE_on(MUTABLE_CV(sv));
-	SvREFCNT_dec(CvOUTSIDE(MUTABLE_CV(sv)));
+    if (CvOUTSIDE(func) && SvTYPE(func) == SVt_PVCV) {
+	assert(!CvWEAKOUTSIDE(func));
+	CvWEAKOUTSIDE_on(func);
+	SvREFCNT_dec_NN(CvOUTSIDE(func));
     }
     return ix;
 }
 
-
-
 /*
 =for apidoc pad_check_dup
 
 Check for duplicate declarations: report any of:
+
      * a my in the current scope with the same name;
-     * an our (anywhere in the pad) with the same name and the same stash
-       as C<ourstash>
-C<is_our> indicates that the name to check is an 'our' declaration
+     * an our (anywhere in the pad) with the same name and the
+       same stash as C<ourstash>
 
+C<is_our> indicates that the name to check is an 'our' declaration.
+
 =cut
 */
 
 STATIC void
-S_pad_check_dup(pTHX_ SV *name, const U32 flags, const HV *ourstash)
+S_pad_check_dup(pTHX_ SV *name, U32 flags, const HV *ourstash)
 {
     dVAR;
     SV		**svp;
@@ -665,9 +882,11 @@
 	{
 	    if (is_our && (SvPAD_OUR(sv)))
 		break; /* "our" masking "our" */
+	    /* diag_listed_as: "%s" variable %s masks earlier declaration in same %s */
 	    Perl_warner(aTHX_ packWARN(WARN_MISC),
-		"\"%s\" variable %"SVf" masks earlier declaration in same %s",
+		"\"%s\" %s %"SVf" masks earlier declaration in same %s",
 		(is_our ? "our" : PL_parser->in_my == KEY_my ? "my" : "state"),
+		*SvPVX(sv) == '&' ? "subroutine" : "variable",
 		sv,
 		(COP_SEQ_RANGE_HIGH(sv) == PERL_PADSEQ_INTRO
 		    ? "scope" : "statement"));
@@ -701,19 +920,22 @@
 
 
 /*
-=for apidoc pad_findmy
+=for apidoc Am|PADOFFSET|pad_findmy_pvn|const char *namepv|STRLEN namelen|U32 flags
 
-Given a lexical name, try to find its offset, first in the current pad,
-or failing that, in the pads of any lexically enclosing subs (including
-the complications introduced by eval). If the name is found in an outer pad,
-then a fake entry is added to the current pad.
-Returns the offset in the current pad, or NOT_IN_PAD on failure.
+Given the name of a lexical variable, find its position in the
+currently-compiling pad.
+I<namepv>/I<namelen> specify the variable's name, including leading sigil.
+I<flags> is reserved and must be zero.
+If it is not in the current pad but appears in the pad of any lexically
+enclosing scope, then a pseudo-entry for it is added in the current pad.
+Returns the offset in the current pad,
+or C<NOT_IN_PAD> if no such lexical is in scope.
 
 =cut
 */
 
 PADOFFSET
-Perl_pad_findmy(pTHX_ const char *name, STRLEN len, U32 flags)
+Perl_pad_findmy_pvn(pTHX_ const char *namepv, STRLEN namelen, U32 flags)
 {
     dVAR;
     SV *out_sv;
@@ -722,27 +944,26 @@
     const AV *nameav;
     SV **name_svp;
 
-    PERL_ARGS_ASSERT_PAD_FINDMY;
+    PERL_ARGS_ASSERT_PAD_FINDMY_PVN;
 
-    pad_peg("pad_findmy");
+    pad_peg("pad_findmy_pvn");
 
-    if (flags)
-	Perl_croak(aTHX_ "panic: pad_findmy illegal flag bits 0x%" UVxf,
+    if (flags & ~padadd_UTF8_NAME)
+	Perl_croak(aTHX_ "panic: pad_findmy_pvn illegal flag bits 0x%" UVxf,
 		   (UV)flags);
 
-    /* Yes, it is a bug (read work in progress) that we're not really using this
-       length parameter, and instead relying on strlen() later on. But I'm not
-       comfortable about changing the pad API piecemeal to use and rely on
-       lengths. This only exists to avoid an "unused parameter" warning.  */
-    if (len < 2) 
-	return NOT_IN_PAD;
+    if (flags & padadd_UTF8_NAME) {
+        bool is_utf8 = TRUE;
+        namepv = (const char*)bytes_from_utf8((U8*)namepv, &namelen, &is_utf8);
 
-    /* But until we're using the length for real, cross check that we're being
-       told the truth.  */
-    assert(strlen(name) == len);
+        if (is_utf8)
+            flags |= padadd_UTF8_NAME;
+        else
+            flags &= ~padadd_UTF8_NAME;
+    }
 
-    offset = pad_findlex(name, PL_compcv, PL_cop_seqmax, 1,
-		NULL, &out_sv, &out_flags);
+    offset = pad_findlex(namepv, namelen, flags,
+                PL_compcv, PL_cop_seqmax, 1, NULL, &out_sv, &out_flags);
     if ((PADOFFSET)offset != NOT_IN_PAD) 
 	return offset;
 
@@ -750,7 +971,7 @@
      *    our $foo = 0 unless defined $foo;
      * to not give a warning. (Yes, this is a hack) */
 
-    nameav = MUTABLE_AV(AvARRAY(CvPADLIST(PL_compcv))[0]);
+    nameav = PadlistARRAY(CvPADLIST(PL_compcv))[0];
     name_svp = AvARRAY(nameav);
     for (offset = AvFILLp(nameav); offset > 0; offset--) {
         const SV * const namesv = name_svp[offset];
@@ -757,7 +978,9 @@
 	if (namesv && namesv != &PL_sv_undef
 	    && !SvFAKE(namesv)
 	    && (SvPAD_OUR(namesv))
-	    && strEQ(SvPVX_const(namesv), name)
+	    && SvCUR(namesv) == namelen
+            && sv_eq_pvn_flags(aTHX_ namesv, namepv, namelen,
+                                flags & padadd_UTF8_NAME ? SVf_UTF8 : 0 )
 	    && COP_SEQ_RANGE_LOW(namesv) == PERL_PADSEQ_INTRO
 	)
 	    return offset;
@@ -766,25 +989,74 @@
 }
 
 /*
- * Returns the offset of a lexical $_, if there is one, at run time.
- * Used by the UNDERBAR XS macro.
- */
+=for apidoc Am|PADOFFSET|pad_findmy_pv|const char *name|U32 flags
 
+Exactly like L</pad_findmy_pvn>, but takes a nul-terminated string
+instead of a string/length pair.
+
+=cut
+*/
+
 PADOFFSET
+Perl_pad_findmy_pv(pTHX_ const char *name, U32 flags)
+{
+    PERL_ARGS_ASSERT_PAD_FINDMY_PV;
+    return pad_findmy_pvn(name, strlen(name), flags);
+}
+
+/*
+=for apidoc Am|PADOFFSET|pad_findmy_sv|SV *name|U32 flags
+
+Exactly like L</pad_findmy_pvn>, but takes the name string in the form
+of an SV instead of a string/length pair.
+
+=cut
+*/
+
+PADOFFSET
+Perl_pad_findmy_sv(pTHX_ SV *name, U32 flags)
+{
+    char *namepv;
+    STRLEN namelen;
+    PERL_ARGS_ASSERT_PAD_FINDMY_SV;
+    namepv = SvPV(name, namelen);
+    if (SvUTF8(name))
+        flags |= padadd_UTF8_NAME;
+    return pad_findmy_pvn(namepv, namelen, flags);
+}
+
+/*
+=for apidoc Amp|PADOFFSET|find_rundefsvoffset
+
+Find the position of the lexical C<$_> in the pad of the
+currently-executing function.  Returns the offset in the current pad,
+or C<NOT_IN_PAD> if there is no lexical C<$_> in scope (in which case
+the global one should be used instead).
+L</find_rundefsv> is likely to be more convenient.
+
+=cut
+*/
+
+PADOFFSET
 Perl_find_rundefsvoffset(pTHX)
 {
     dVAR;
     SV *out_sv;
     int out_flags;
-    return pad_findlex("$_", find_runcv(NULL), PL_curcop->cop_seq, 1,
+    return pad_findlex("$_", 2, 0, find_runcv(NULL), PL_curcop->cop_seq, 1,
 	    NULL, &out_sv, &out_flags);
 }
 
 /*
- * Returns a lexical $_, if there is one, at run time ; or the global one
- * otherwise.
- */
+=for apidoc Am|SV *|find_rundefsv
 
+Find and return the variable that is named C<$_> in the lexical scope
+of the currently-executing function.  This may be a lexical C<$_>,
+or will otherwise be the global one.
+
+=cut
+*/
+
 SV *
 Perl_find_rundefsv(pTHX)
 {
@@ -792,18 +1064,35 @@
     int flags;
     PADOFFSET po;
 
-    po = pad_findlex("$_", find_runcv(NULL), PL_curcop->cop_seq, 1,
+    po = pad_findlex("$_", 2, 0, find_runcv(NULL), PL_curcop->cop_seq, 1,
 	    NULL, &namesv, &flags);
 
-    if (po == NOT_IN_PAD
-	|| (SvFLAGS(namesv) & (SVpad_NAME|SVpad_OUR)) == (SVpad_NAME|SVpad_OUR))
+    if (po == NOT_IN_PAD || SvPAD_OUR(namesv))
 	return DEFSV;
 
     return PAD_SVl(po);
 }
 
+SV *
+Perl_find_rundefsv2(pTHX_ CV *cv, U32 seq)
+{
+    SV *namesv;
+    int flags;
+    PADOFFSET po;
+
+    PERL_ARGS_ASSERT_FIND_RUNDEFSV2;
+
+    po = pad_findlex("$_", 2, 0, cv, seq, 1,
+	    NULL, &namesv, &flags);
+
+    if (po == NOT_IN_PAD || SvPAD_OUR(namesv))
+	return DEFSV;
+
+    return AvARRAY(PadlistARRAY(CvPADLIST(cv))[CvDEPTH(cv)])[po];
+}
+
 /*
-=for apidoc pad_findlex
+=for apidoc m|PADOFFSET|pad_findlex|const char *namepv|STRLEN namelen|U32 flags|const CV* cv|U32 seq|int warn|SV** out_capture|SV** out_name_sv|int *out_flags
 
 Find a named lexical anywhere in a chain of nested pads. Add fake entries
 in the inner pads if it's found in an outer one.
@@ -830,38 +1119,58 @@
 #define CvCOMPILED(cv)	CvROOT(cv)
 
 /* the CV does late binding of its lexicals */
-#define CvLATE(cv) (CvANON(cv) || SvTYPE(cv) == SVt_PVFM)
+#define CvLATE(cv) (CvANON(cv) || CvCLONE(cv) || SvTYPE(cv) == SVt_PVFM)
 
+static void
+S_unavailable(pTHX_ SV *namesv)
+{
+    /* diag_listed_as: Variable "%s" is not available */
+    Perl_ck_warner(aTHX_ packWARN(WARN_CLOSURE),
+			"%se \"%"SVf"\" is not available",
+			 *SvPVX_const(namesv) == '&'
+					 ? "Subroutin"
+					 : "Variabl",
+			 namesv);
+}
 
 STATIC PADOFFSET
-S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, int warn,
-	SV** out_capture, SV** out_name_sv, int *out_flags)
+S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, U32 flags, const CV* cv, U32 seq,
+	int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
 {
     dVAR;
     I32 offset, new_offset;
     SV *new_capture;
     SV **new_capturep;
-    const AV * const padlist = CvPADLIST(cv);
+    const PADLIST * const padlist = CvPADLIST(cv);
+    const bool staleok = !!(flags & padadd_STALEOK);
 
     PERL_ARGS_ASSERT_PAD_FINDLEX;
 
+    if (flags & ~(padadd_UTF8_NAME|padadd_STALEOK))
+	Perl_croak(aTHX_ "panic: pad_findlex illegal flag bits 0x%" UVxf,
+		   (UV)flags);
+    flags &= ~ padadd_STALEOK; /* one-shot flag */
+
     *out_flags = 0;
 
     DEBUG_Xv(PerlIO_printf(Perl_debug_log,
-	"Pad findlex cv=0x%"UVxf" searching \"%s\" seq=%d%s\n",
-	PTR2UV(cv), name, (int)seq, out_capture ? " capturing" : "" ));
+	"Pad findlex cv=0x%"UVxf" searching \"%.*s\" seq=%d%s\n",
+			   PTR2UV(cv), (int)namelen, namepv, (int)seq,
+	out_capture ? " capturing" : "" ));
 
     /* first, search this pad */
 
     if (padlist) { /* not an undef CV */
 	I32 fake_offset = 0;
-        const AV * const nameav = MUTABLE_AV(AvARRAY(padlist)[0]);
+        const AV * const nameav = PadlistARRAY(padlist)[0];
 	SV * const * const name_svp = AvARRAY(nameav);
 
 	for (offset = AvFILLp(nameav); offset > 0; offset--) {
             const SV * const namesv = name_svp[offset];
 	    if (namesv && namesv != &PL_sv_undef
-		    && strEQ(SvPVX_const(namesv), name))
+		    && SvCUR(namesv) == namelen
+                    && sv_eq_pvn_flags(aTHX_ namesv, namepv, namelen,
+                                    flags & padadd_UTF8_NAME ? SVf_UTF8 : 0))
 	    {
 		if (SvFAKE(namesv)) {
 		    fake_offset = offset; /* in case we don't find a real one */
@@ -945,8 +1254,11 @@
 			: *out_flags & PAD_FAKELEX_ANON)
 		{
 		    if (warn)
-			Perl_ck_warner(aTHX_ packWARN(WARN_CLOSURE),
-				       "Variable \"%s\" is not available", name);
+			S_unavailable(aTHX_
+                                       newSVpvn_flags(namepv, namelen,
+                                           SVs_TEMP |
+                                           (flags & padadd_UTF8_NAME ? SVf_UTF8 : 0)));
+
 		    *out_capture = NULL;
 		}
 
@@ -958,7 +1270,10 @@
 			 && warn && ckWARN(WARN_CLOSURE)) {
 			newwarn = 0;
 			Perl_warner(aTHX_ packWARN(WARN_CLOSURE),
-			    "Variable \"%s\" will not stay shared", name);
+			    "Variable \"%"SVf"\" will not stay shared",
+                            newSVpvn_flags(namepv, namelen,
+                                SVs_TEMP |
+                                (flags & padadd_UTF8_NAME ? SVf_UTF8 : 0)));
 		    }
 
 		    if (fake_offset && CvANON(cv)
@@ -970,7 +1285,7 @@
 			    "Pad findlex cv=0x%"UVxf" chasing lex in outer pad\n",
 			    PTR2UV(cv)));
 			n = *out_name_sv;
-			(void) pad_findlex(name, CvOUTSIDE(cv),
+			(void) pad_findlex(namepv, namelen, flags, CvOUTSIDE(cv),
 			    CvOUTSIDE_SEQ(cv),
 			    newwarn, out_capture, out_name_sv, out_flags);
 			*out_name_sv = n;
@@ -977,25 +1292,30 @@
 			return offset;
 		    }
 
-		    *out_capture = AvARRAY(MUTABLE_AV(AvARRAY(padlist)[
-				    CvDEPTH(cv) ? CvDEPTH(cv) : 1]))[offset];
+		    *out_capture = AvARRAY(PadlistARRAY(padlist)[
+				    CvDEPTH(cv) ? CvDEPTH(cv) : 1])[offset];
 		    DEBUG_Xv(PerlIO_printf(Perl_debug_log,
 			"Pad findlex cv=0x%"UVxf" found lex=0x%"UVxf"\n",
 			PTR2UV(cv), PTR2UV(*out_capture)));
 
 		    if (SvPADSTALE(*out_capture)
+			&& (!CvDEPTH(cv) || !staleok)
 			&& !SvPAD_STATE(name_svp[offset]))
 		    {
-			Perl_ck_warner(aTHX_ packWARN(WARN_CLOSURE),
-				       "Variable \"%s\" is not available", name);
+			S_unavailable(aTHX_
+                                       newSVpvn_flags(namepv, namelen,
+                                           SVs_TEMP |
+                                           (flags & padadd_UTF8_NAME ? SVf_UTF8 : 0)));
 			*out_capture = NULL;
 		    }
 		}
 		if (!*out_capture) {
-		    if (*name == '@')
+		    if (namelen != 0 && *namepv == '@')
 			*out_capture = sv_2mortal(MUTABLE_SV(newAV()));
-		    else if (*name == '%')
+		    else if (namelen != 0 && *namepv == '%')
 			*out_capture = sv_2mortal(MUTABLE_SV(newHV()));
+		    else if (namelen != 0 && *namepv == '&')
+			*out_capture = sv_2mortal(newSV_type(SVt_PVCV));
 		    else
 			*out_capture = sv_newmortal();
 		}
@@ -1015,7 +1335,9 @@
     new_capturep = out_capture ? out_capture :
 		CvLATE(cv) ? NULL : &new_capture;
 
-    offset = pad_findlex(name, CvOUTSIDE(cv), CvOUTSIDE_SEQ(cv), 1,
+    offset = pad_findlex(namepv, namelen,
+		flags | padadd_STALEOK*(new_capturep == &new_capture),
+		CvOUTSIDE(cv), CvOUTSIDE_SEQ(cv), 1,
 		new_capturep, out_name_sv, out_flags);
     if ((PADOFFSET)offset == NOT_IN_PAD)
 	return NOT_IN_PAD;
@@ -1035,12 +1357,12 @@
 	SV *new_namesv = newSVsv(*out_name_sv);
 	AV *  const ocomppad_name = PL_comppad_name;
 	PAD * const ocomppad = PL_comppad;
-	PL_comppad_name = MUTABLE_AV(AvARRAY(padlist)[0]);
-	PL_comppad = MUTABLE_AV(AvARRAY(padlist)[1]);
+	PL_comppad_name = PadlistARRAY(padlist)[0];
+	PL_comppad = PadlistARRAY(padlist)[1];
 	PL_curpad = AvARRAY(PL_comppad);
 
 	new_offset
-	    = pad_add_name_sv(new_namesv,
+	    = pad_alloc_name(new_namesv,
 			      (SvPAD_STATE(*out_name_sv) ? padadd_STATE : 0),
 			      SvPAD_TYPED(*out_name_sv)
 			      ? SvSTASH(*out_name_sv) : NULL,
@@ -1066,6 +1388,8 @@
 	else {
 	    /* immediate creation - capture outer value right now */
 	    av_store(PL_comppad, new_offset, SvREFCNT_inc(*new_capturep));
+	    /* But also note the offset, as newMYSUB needs it */
+	    PARENT_PAD_INDEX_set(new_namesv, offset);
 	    DEBUG_Xv(PerlIO_printf(Perl_debug_log,
 		"Pad findlex cv=0x%"UVxf" saved captured sv 0x%"UVxf" at offset %ld\n",
 		PTR2UV(cv), PTR2UV(*new_capturep), (long)new_offset));
@@ -1080,18 +1404,17 @@
     return new_offset;
 }
 
+#ifdef DEBUGGING
 
-#ifdef DEBUGGING
 /*
-=for apidoc pad_sv
+=for apidoc Am|SV *|pad_sv|PADOFFSET po
 
-Get the value at offset po in the current pad.
+Get the value at offset I<po> in the current (compiling or executing) pad.
 Use macro PAD_SV instead of calling this function directly.
 
 =cut
 */
 
-
 SV *
 Perl_pad_sv(pTHX_ PADOFFSET po)
 {
@@ -1107,11 +1430,10 @@
     return PL_curpad[po];
 }
 
-
 /*
-=for apidoc pad_setsv
+=for apidoc Am|void|pad_setsv|PADOFFSET po|SV *sv
 
-Set the entry at offset po in the current pad to sv.
+Set the value at offset I<po> in the current (compiling or executing) pad.
 Use the macro PAD_SETSV() rather than calling this function directly.
 
 =cut
@@ -1132,14 +1454,13 @@
     );
     PL_curpad[po] = sv;
 }
-#endif
 
+#endif /* DEBUGGING */
 
-
 /*
-=for apidoc pad_block_start
+=for apidoc m|void|pad_block_start|int full
 
-Update the pad compilation state variables on entry to a new block
+Update the pad compilation state variables on entry to a new block.
 
 =cut
 */
@@ -1170,11 +1491,12 @@
     PL_pad_reset_pending = FALSE;
 }
 
-
 /*
-=for apidoc intro_my
+=for apidoc m|U32|intro_my
 
-"Introduce" my variables to visible status.
+"Introduce" my variables to visible status.  This is called during parsing
+at the end of each statement to make lexical variables visible to
+subsequent statements.
 
 =cut
 */
@@ -1221,7 +1543,7 @@
 }
 
 /*
-=for apidoc pad_leavemy
+=for apidoc m|void|pad_leavemy
 
 Cleanup at end of scope during compilation: set the max seq number for
 lexicals in this scope and warn of any lexicals that never got introduced.
@@ -1229,11 +1551,12 @@
 =cut
 */
 
-void
+OP *
 Perl_pad_leavemy(pTHX)
 {
     dVAR;
     I32 off;
+    OP *o = NULL;
     SV * const * const svp = AvARRAY(PL_comppad_name);
 
     PL_pad_reset_pending = FALSE;
@@ -1250,7 +1573,7 @@
     }
     /* "Deintroduce" my variables that are leaving with this scope. */
     for (off = AvFILLp(PL_comppad_name); off > PL_comppad_name_fill; off--) {
-	const SV * const sv = svp[off];
+	SV * const sv = svp[off];
 	if (sv && sv != &PL_sv_undef && !SvFAKE(sv)
 	    && COP_SEQ_RANGE_HIGH(sv) == PERL_PADSEQ_INTRO)
 	{
@@ -1261,6 +1584,12 @@
 		(unsigned long)COP_SEQ_RANGE_LOW(sv),
 		(unsigned long)COP_SEQ_RANGE_HIGH(sv))
 	    );
+	    if (!PadnameIsSTATE(sv) && !PadnameIsOUR(sv)
+	     && *PadnamePV(sv) == '&' && PadnameLEN(sv) > 1) {
+		OP *kid = newOP(OP_INTROCV, 0);
+		kid->op_targ = off;
+		o = op_prepend_elem(OP_LINESEQ, kid, o);
+	    }
 	}
     }
     PL_cop_seqmax++;
@@ -1268,11 +1597,11 @@
 	PL_cop_seqmax++;
     DEBUG_Xv(PerlIO_printf(Perl_debug_log,
 	    "Pad leavemy: seq = %ld\n", (long)PL_cop_seqmax));
+    return o;
 }
 
-
 /*
-=for apidoc pad_swipe
+=for apidoc m|void|pad_swipe|PADOFFSET po|bool refadjust
 
 Abandon the tmp in the current pad at offset po and replace with a
 new one.
@@ -1288,9 +1617,11 @@
     if (!PL_curpad)
 	return;
     if (AvARRAY(PL_comppad) != PL_curpad)
-	Perl_croak(aTHX_ "panic: pad_swipe curpad");
-    if (!po)
-	Perl_croak(aTHX_ "panic: pad_swipe po");
+	Perl_croak(aTHX_ "panic: pad_swipe curpad, %p!=%p",
+		   AvARRAY(PL_comppad), PL_curpad);
+    if (!po || ((SSize_t)po) > AvFILLp(PL_comppad))
+	Perl_croak(aTHX_ "panic: pad_swipe po=%ld, fill=%ld",
+		   (long)po, (long)AvFILLp(PL_comppad));
 
     DEBUG_X(PerlIO_printf(Perl_debug_log,
 		"Pad 0x%"UVxf"[0x%"UVxf"] swipe:   %ld\n",
@@ -1314,9 +1645,8 @@
 	PL_padix = po - 1;
 }
 
-
 /*
-=for apidoc pad_reset
+=for apidoc m|void|pad_reset
 
 Mark all the current temporaries for reuse
 
@@ -1335,7 +1665,8 @@
     dVAR;
 #ifdef USE_BROKEN_PAD_RESET
     if (AvARRAY(PL_comppad) != PL_curpad)
-	Perl_croak(aTHX_ "panic: pad_reset curpad");
+	Perl_croak(aTHX_ "panic: pad_reset curpad, %p!=%p",
+		   AvARRAY(PL_comppad), PL_curpad);
 
     DEBUG_X(PerlIO_printf(Perl_debug_log,
 	    "Pad 0x%"UVxf"[0x%"UVxf"] reset:     padix %ld -> %ld",
@@ -1344,8 +1675,8 @@
 	    )
     );
 
-    if (!PL_tainting) {	/* Can't mix tainted and non-tainted temporaries. */
-        register I32 po;
+    if (!TAINTING_get) {	/* Can't mix tainted and non-tainted temporaries. */
+        I32 po;
 	for (po = AvMAX(PL_comppad); po > PL_padix_floor; po--) {
 	    if (PL_curpad[po] && !SvIMMORTAL(PL_curpad[po]))
 		SvPADTMP_off(PL_curpad[po]);
@@ -1356,15 +1687,18 @@
     PL_pad_reset_pending = FALSE;
 }
 
-
 /*
-=for apidoc pad_tidy
+=for apidoc Amx|void|pad_tidy|padtidy_type type
 
-Tidy up a pad after we've finished compiling it:
-    * remove most stuff from the pads of anonsub prototypes;
-    * give it a @_;
-    * mark tmps as such.
+Tidy up a pad at the end of compilation of the code to which it belongs.
+Jobs performed here are: remove most stuff from the pads of anonsub
+prototypes; give it a @_; mark temporaries as such.  I<type> indicates
+the kind of subroutine:
 
+    padtidy_SUB        ordinary subroutine
+    padtidy_SUBCLONE   prototype for lexical closure
+    padtidy_FORMAT     format
+
 =cut
 */
 
@@ -1380,13 +1714,21 @@
 
     ASSERT_CURPAD_ACTIVE("pad_tidy");
 
-    /* If this CV has had any 'eval-capable' ops planted in it
-     * (ie it contains eval '...', //ee, /$var/ or /(?{..})/), Then any
-     * anon prototypes in the chain of CVs should be marked as cloneable,
-     * so that for example the eval's CV in C<< sub { eval '$x' } >> gets
-     * the right CvOUTSIDE.
-     * If running with -d, *any* sub may potentially have an eval
-     * executed within it.
+    /* If this CV has had any 'eval-capable' ops planted in it:
+     * i.e. it contains any of:
+     *
+     *     * eval '...',
+     *     * //ee,
+     *     * use re 'eval'; /$var/
+     *     * /(?{..})/),
+     *
+     * Then any anon prototypes in the chain of CVs should be marked as
+     * cloneable, so that for example the eval's CV in
+     *
+     *    sub { eval '$x' }
+     *
+     * gets the right CvOUTSIDE.  If running with -d, *any* sub may
+     * potentially have an eval executed within it.
      */
 
     if (PL_cv_has_eval || PL_perldb) {
@@ -1399,6 +1741,7 @@
 		    "Pad clone on cv=0x%"UVxf"\n", PTR2UV(cv)));
 		CvCLONE_on(cv);
 	    }
+	    CvHASEVAL_on(cv);
 	}
     }
 
@@ -1468,9 +1811,8 @@
     PL_curpad = AvARRAY(PL_comppad);
 }
 
-
 /*
-=for apidoc pad_free
+=for apidoc m|void|pad_free|PADOFFSET po
 
 Free the SV at offset po in the current pad.
 
@@ -1482,11 +1824,13 @@
 Perl_pad_free(pTHX_ PADOFFSET po)
 {
     dVAR;
+    SV *sv;
     ASSERT_CURPAD_LEGAL("pad_free");
     if (!PL_curpad)
 	return;
     if (AvARRAY(PL_comppad) != PL_curpad)
-	Perl_croak(aTHX_ "panic: pad_free curpad");
+	Perl_croak(aTHX_ "panic: pad_free curpad, %p!=%p",
+		   AvARRAY(PL_comppad), PL_curpad);
     if (!po)
 	Perl_croak(aTHX_ "panic: pad_free po");
 
@@ -1495,17 +1839,17 @@
 	    PTR2UV(PL_comppad), PTR2UV(PL_curpad), (long)po)
     );
 
-    if (PL_curpad[po] && PL_curpad[po] != &PL_sv_undef) {
-	SvPADTMP_off(PL_curpad[po]);
-    }
+
+    sv = PL_curpad[po];
+    if (sv && sv != &PL_sv_undef && !SvPADMY(sv))
+	SvFLAGS(sv) &= ~SVs_PADTMP;
+
     if ((I32)po < PL_padix)
 	PL_padix = po - 1;
 }
 
-
-
 /*
-=for apidoc do_dump_pad
+=for apidoc m|void|do_dump_pad|I32 level|PerlIO *file|PADLIST *padlist|int full
 
 Dump the contents of a padlist
 
@@ -1527,8 +1871,8 @@
     if (!padlist) {
 	return;
     }
-    pad_name = MUTABLE_AV(*av_fetch(MUTABLE_AV(padlist), 0, FALSE));
-    pad = MUTABLE_AV(*av_fetch(MUTABLE_AV(padlist), 1, FALSE));
+    pad_name = *PadlistARRAY(padlist);
+    pad = PadlistARRAY(padlist)[1];
     pname = AvARRAY(pad_name);
     ppad = AvARRAY(pad);
     Perl_dump_indent(aTHX_ level, file,
@@ -1575,10 +1919,10 @@
     }
 }
 
+#ifdef DEBUGGING
 
-
 /*
-=for apidoc cv_dump
+=for apidoc m|void|cv_dump|CV *cv|const char *title
 
 dump the contents of a CV
 
@@ -1585,13 +1929,12 @@
 =cut
 */
 
-#ifdef DEBUGGING
 STATIC void
 S_cv_dump(pTHX_ const CV *cv, const char *title)
 {
     dVAR;
     const CV * const outside = CvOUTSIDE(cv);
-    AV* const padlist = CvPADLIST(cv);
+    PADLIST* const padlist = CvPADLIST(cv);
 
     PERL_ARGS_ASSERT_CV_DUMP;
 
@@ -1615,90 +1958,92 @@
 		    "    PADLIST = 0x%"UVxf"\n", PTR2UV(padlist));
     do_dump_pad(1, Perl_debug_log, padlist, 1);
 }
+
 #endif /* DEBUGGING */
 
-
-
-
-
 /*
-=for apidoc cv_clone
+=for apidoc Am|CV *|cv_clone|CV *proto
 
-Clone a CV: make a new CV which points to the same code etc, but which
-has a newly-created pad built by copying the prototype pad and capturing
-any outer lexicals.
+Clone a CV, making a lexical closure.  I<proto> supplies the prototype
+of the function: its code, pad structure, and other attributes.
+The prototype is combined with a capture of outer lexicals to which the
+code refers, which are taken from the currently-executing instance of
+the immediately surrounding code.
 
 =cut
 */
 
-CV *
-Perl_cv_clone(pTHX_ CV *proto)
+static CV *S_cv_clone(pTHX_ CV *proto, CV *cv, CV *outside);
+
+static void
+S_cv_clone_pad(pTHX_ CV *proto, CV *cv, CV *outside, bool newcv)
 {
     dVAR;
     I32 ix;
-    AV* const protopadlist = CvPADLIST(proto);
-    const AV *const protopad_name = (const AV *)*av_fetch(protopadlist, 0, FALSE);
-    const AV *const protopad = (const AV *)*av_fetch(protopadlist, 1, FALSE);
+    PADLIST* const protopadlist = CvPADLIST(proto);
+    PAD *const protopad_name = *PadlistARRAY(protopadlist);
+    const PAD *const protopad = PadlistARRAY(protopadlist)[1];
     SV** const pname = AvARRAY(protopad_name);
     SV** const ppad = AvARRAY(protopad);
     const I32 fname = AvFILLp(protopad_name);
     const I32 fpad = AvFILLp(protopad);
-    CV* cv;
     SV** outpad;
-    CV* outside;
     long depth;
+    bool subclones = FALSE;
 
-    PERL_ARGS_ASSERT_CV_CLONE;
-
     assert(!CvUNIQUE(proto));
 
-    /* Since cloneable anon subs can be nested, CvOUTSIDE may point
+    /* Anonymous subs have a weak CvOUTSIDE pointer, so its value is not
+     * reliable.  The currently-running sub is always the one we need to
+     * close over.
+     * For my subs, the currently-running sub may not be the one we want.
+     * We have to check whether it is a clone of CvOUTSIDE.
+     * Note that in general for formats, CvOUTSIDE != find_runcv.
+     * Since formats may be nested inside closures, CvOUTSIDE may point
      * to a prototype; we instead want the cloned parent who called us.
-     * Note that in general for formats, CvOUTSIDE != find_runcv */
+     */
 
-    outside = CvOUTSIDE(proto);
-    if (outside && CvCLONE(outside) && ! CvCLONED(outside))
+    if (!outside) {
+      if (CvWEAKOUTSIDE(proto))
 	outside = find_runcv(NULL);
-    depth = CvDEPTH(outside);
-    assert(depth || SvTYPE(proto) == SVt_PVFM);
+      else {
+	outside = CvOUTSIDE(proto);
+	if ((CvCLONE(outside) && ! CvCLONED(outside))
+	    || !CvPADLIST(outside)
+	    || PadlistNAMES(CvPADLIST(outside))
+		 != protopadlist->xpadl_outid) {
+	    outside = find_runcv_where(
+		FIND_RUNCV_padid_eq, PTR2IV(protopadlist->xpadl_outid), NULL
+	    );
+	    /* outside could be null */
+	}
+      }
+    }
+    depth = outside ? CvDEPTH(outside) : 0;
     if (!depth)
 	depth = 1;
-    assert(CvPADLIST(outside));
 
     ENTER;
     SAVESPTR(PL_compcv);
+    PL_compcv = cv;
+    if (newcv) SAVEFREESV(cv); /* in case of fatal warnings */
 
-    cv = PL_compcv = MUTABLE_CV(newSV_type(SvTYPE(proto)));
-    CvFLAGS(cv) = CvFLAGS(proto) & ~(CVf_CLONE|CVf_WEAKOUTSIDE|CVf_CVGV_RC);
-    CvCLONED_on(cv);
+    if (CvHASEVAL(cv))
+	CvOUTSIDE(cv)	= MUTABLE_CV(SvREFCNT_inc_simple(outside));
 
-#ifdef USE_ITHREADS
-    CvFILE(cv)		= CvISXSUB(proto) ? CvFILE(proto)
-					  : savepv(CvFILE(proto));
-#else
-    CvFILE(cv)		= CvFILE(proto);
-#endif
-    CvGV_set(cv,CvGV(proto));
-    CvSTASH_set(cv, CvSTASH(proto));
-    OP_REFCNT_LOCK;
-    CvROOT(cv)		= OpREFCNT_inc(CvROOT(proto));
-    OP_REFCNT_UNLOCK;
-    CvSTART(cv)		= CvSTART(proto);
-    CvOUTSIDE(cv)	= MUTABLE_CV(SvREFCNT_inc_simple(outside));
-    CvOUTSIDE_SEQ(cv) = CvOUTSIDE_SEQ(proto);
-
-    if (SvPOK(proto))
-	sv_setpvn(MUTABLE_SV(cv), SvPVX_const(proto), SvCUR(proto));
-
+    SAVESPTR(PL_comppad_name);
+    PL_comppad_name = protopad_name;
     CvPADLIST(cv) = pad_new(padnew_CLONE|padnew_SAVE);
 
     av_fill(PL_comppad, fpad);
-    for (ix = fname; ix > 0; ix--)
-	av_store(PL_comppad_name, ix, SvREFCNT_inc(pname[ix]));
 
     PL_curpad = AvARRAY(PL_comppad);
 
-    outpad = AvARRAY(AvARRAY(CvPADLIST(outside))[depth]);
+    outpad = outside && CvPADLIST(outside)
+	? AvARRAY(PadlistARRAY(CvPADLIST(outside))[depth])
+	: NULL;
+    if (outpad)
+	CvPADLIST(cv)->xpadl_outid = PadlistNAMES(CvPADLIST(outside));
 
     for (ix = fpad; ix > 0; ix--) {
 	SV* const namesv = (ix <= fname) ? pname[ix] : NULL;
@@ -1705,14 +2050,12 @@
 	SV *sv = NULL;
 	if (namesv && namesv != &PL_sv_undef) { /* lexical */
 	    if (SvFAKE(namesv)) {   /* lexical from outside? */
-		sv = outpad[PARENT_PAD_INDEX(namesv)];
-		assert(sv);
-		/* formats may have an inactive parent,
-		   while my $x if $false can leave an active var marked as
-		   stale. And state vars are always available */
-		if (SvPADSTALE(sv) && !SvPAD_STATE(namesv)) {
-		    Perl_ck_warner(aTHX_ packWARN(WARN_CLOSURE),
-				   "Variable \"%s\" is not available", SvPVX_const(namesv));
+		/* formats may have an inactive, or even undefined, parent;
+		   but state vars are always available. */
+		if (!outpad || !(sv = outpad[PARENT_PAD_INDEX(namesv)])
+		 || (  SvPADSTALE(sv) && !SvPAD_STATE(namesv)
+		    && (!outside || !CvDEPTH(outside)))  ) {
+		    S_unavailable(aTHX_ namesv);
 		    sv = NULL;
 		}
 		else 
@@ -1721,7 +2064,33 @@
 	    if (!sv) {
                 const char sigil = SvPVX_const(namesv)[0];
                 if (sigil == '&')
-		    sv = SvREFCNT_inc(ppad[ix]);
+		    /* If there are state subs, we need to clone them, too.
+		       But they may need to close over variables we have
+		       not cloned yet.  So we will have to do a second
+		       pass.  Furthermore, there may be state subs clos-
+		       ing over other state subs’ entries, so we have
+		       to put a stub here and then clone into it on the
+		       second pass. */
+		    if (SvPAD_STATE(namesv) && !CvCLONED(ppad[ix])) {
+			assert(SvTYPE(ppad[ix]) == SVt_PVCV);
+			subclones = 1;
+			sv = newSV_type(SVt_PVCV);
+		    }
+		    else if (PadnameLEN(namesv)>1 && !PadnameIsOUR(namesv))
+		    {
+			/* my sub */
+			/* Just provide a stub, but name it.  It will be
+			   upgrade to the real thing on scope entry. */
+			sv = newSV_type(SVt_PVCV);
+			CvNAME_HEK_set(
+			    sv,
+			    share_hek(SvPVX_const(namesv)+1,
+				      SvCUR(namesv) - 1
+					 * (SvUTF8(namesv) ? -1 : 1),
+				      0)
+			);
+		    }
+		    else sv = SvREFCNT_inc(ppad[ix]);
                 else if (sigil == '@')
 		    sv = MUTABLE_SV(newAV());
                 else if (sigil == '%')
@@ -1730,7 +2099,7 @@
 		    sv = newSV(0);
 		SvPADMY_on(sv);
 		/* reset the 'assign only once' flag on each state var */
-		if (SvPAD_STATE(namesv))
+		if (sigil != '&' && SvPAD_STATE(namesv))
 		    SvPADSTALE_on(sv);
 	    }
 	}
@@ -1744,15 +2113,57 @@
 	PL_curpad[ix] = sv;
     }
 
+    if (subclones)
+	for (ix = fpad; ix > 0; ix--) {
+	    SV* const namesv = (ix <= fname) ? pname[ix] : NULL;
+	    if (namesv && namesv != &PL_sv_undef && !SvFAKE(namesv)
+	     && SvPVX_const(namesv)[0] == '&' && SvPAD_STATE(namesv))
+		S_cv_clone(aTHX_ (CV *)ppad[ix], (CV *)PL_curpad[ix], cv);
+	}
+
+    if (newcv) SvREFCNT_inc_simple_void_NN(cv);
+    LEAVE;
+}
+
+static CV *
+S_cv_clone(pTHX_ CV *proto, CV *cv, CV *outside)
+{
+    dVAR;
+    const bool newcv = !cv;
+
+    assert(!CvUNIQUE(proto));
+
+    if (!cv) cv = MUTABLE_CV(newSV_type(SvTYPE(proto)));
+    CvFLAGS(cv) = CvFLAGS(proto) & ~(CVf_CLONE|CVf_WEAKOUTSIDE|CVf_CVGV_RC
+				    |CVf_SLABBED);
+    CvCLONED_on(cv);
+
+    CvFILE(cv)		= CvDYNFILE(proto) ? savepv(CvFILE(proto))
+					   : CvFILE(proto);
+    if (CvNAMED(proto))
+	 CvNAME_HEK_set(cv, share_hek_hek(CvNAME_HEK(proto)));
+    else CvGV_set(cv,CvGV(proto));
+    CvSTASH_set(cv, CvSTASH(proto));
+    OP_REFCNT_LOCK;
+    CvROOT(cv)		= OpREFCNT_inc(CvROOT(proto));
+    OP_REFCNT_UNLOCK;
+    CvSTART(cv)		= CvSTART(proto);
+    CvOUTSIDE_SEQ(cv) = CvOUTSIDE_SEQ(proto);
+
+    if (SvPOK(proto))
+	sv_setpvn(MUTABLE_SV(cv), SvPVX_const(proto), SvCUR(proto));
+    if (SvMAGIC(proto))
+	mg_copy((SV *)proto, (SV *)cv, 0, 0);
+
+    if (CvPADLIST(proto)) S_cv_clone_pad(aTHX_ proto, cv, outside, newcv);
+
     DEBUG_Xv(
 	PerlIO_printf(Perl_debug_log, "\nPad CV clone\n");
-	cv_dump(outside, "Outside");
+	if (CvOUTSIDE(cv)) cv_dump(CvOUTSIDE(cv), "Outside");
 	cv_dump(proto,	 "Proto");
 	cv_dump(cv,	 "To");
     );
 
-    LEAVE;
-
     if (CvCONST(cv)) {
 	/* Constant sub () { $x } closing over $x - see lib/constant.pm:
 	 * The prototype was marked as a candiate for const-ization,
@@ -1761,7 +2172,10 @@
 	 */
 	SV* const const_sv = op_const_sv(CvSTART(cv), cv);
 	if (const_sv) {
-	    SvREFCNT_dec(cv);
+	    SvREFCNT_dec_NN(cv);
+            /* For this calling case, op_const_sv returns a *copy*, which we
+               donate to newCONSTSUB. Yes, this is ugly, and should be killed.
+               Need to fix how lib/constant.pm works to eliminate this.  */
 	    cv = newCONSTSUB(CvSTASH(proto), NULL, const_sv);
 	}
 	else {
@@ -1772,9 +2186,26 @@
     return cv;
 }
 
+CV *
+Perl_cv_clone(pTHX_ CV *proto)
+{
+    PERL_ARGS_ASSERT_CV_CLONE;
 
+    if (!CvPADLIST(proto)) Perl_croak(aTHX_ "panic: no pad in cv_clone");
+    return S_cv_clone(aTHX_ proto, NULL, NULL);
+}
+
+/* Called only by pp_clonecv */
+CV *
+Perl_cv_clone_into(pTHX_ CV *proto, CV *target)
+{
+    PERL_ARGS_ASSERT_CV_CLONE_INTO;
+    cv_undef(target);
+    return S_cv_clone(aTHX_ proto, target, NULL);
+}
+
 /*
-=for apidoc pad_fixup_inner_anons
+=for apidoc m|void|pad_fixup_inner_anons|PADLIST *padlist|CV *old_cv|CV *new_cv
 
 For any anon CVs in the pad, change CvOUTSIDE of that CV from
 old_cv to new_cv if necessary. Needed when a newly-compiled CV has to be
@@ -1788,8 +2219,8 @@
 {
     dVAR;
     I32 ix;
-    AV * const comppad_name = MUTABLE_AV(AvARRAY(padlist)[0]);
-    AV * const comppad = MUTABLE_AV(AvARRAY(padlist)[1]);
+    AV * const comppad_name = PadlistARRAY(padlist)[0];
+    AV * const comppad = PadlistARRAY(padlist)[1];
     SV ** const namepad = AvARRAY(comppad_name);
     SV ** const curpad = AvARRAY(comppad);
 
@@ -1798,20 +2229,40 @@
 
     for (ix = AvFILLp(comppad_name); ix > 0; ix--) {
         const SV * const namesv = namepad[ix];
-	if (namesv && namesv != &PL_sv_undef
+	if (namesv && namesv != &PL_sv_undef && !SvPAD_STATE(namesv)
 	    && *SvPVX_const(namesv) == '&')
 	{
-	    CV * const innercv = MUTABLE_CV(curpad[ix]);
-	    assert(CvWEAKOUTSIDE(innercv));
-	    assert(CvOUTSIDE(innercv) == old_cv);
-	    CvOUTSIDE(innercv) = new_cv;
+	  if (SvTYPE(curpad[ix]) == SVt_PVCV) {
+	    MAGIC * const mg =
+		SvMAGICAL(curpad[ix])
+		    ? mg_find(curpad[ix], PERL_MAGIC_proto)
+		    : NULL;
+	    CV * const innercv = MUTABLE_CV(mg ? mg->mg_obj : curpad[ix]);
+	    if (CvOUTSIDE(innercv) == old_cv) {
+		if (!CvWEAKOUTSIDE(innercv)) {
+		    SvREFCNT_dec(old_cv);
+		    SvREFCNT_inc_simple_void_NN(new_cv);
+		}
+		CvOUTSIDE(innercv) = new_cv;
+	    }
+	  }
+	  else { /* format reference */
+	    SV * const rv = curpad[ix];
+	    CV *innercv;
+	    if (!SvOK(rv)) continue;
+	    assert(SvROK(rv));
+	    assert(SvWEAKREF(rv));
+	    innercv = (CV *)SvRV(rv);
+	    assert(!CvWEAKOUTSIDE(innercv));
+	    SvREFCNT_dec(CvOUTSIDE(innercv));
+	    CvOUTSIDE(innercv) = (CV *)SvREFCNT_inc_simple_NN(new_cv);
+	  }
 	}
     }
 }
 
-
 /*
-=for apidoc pad_push
+=for apidoc m|void|pad_push|PADLIST *padlist|int depth
 
 Push a new pad frame onto the padlist, unless there's already a pad at
 this depth, in which case don't bother creating a new one.  Then give
@@ -1827,8 +2278,8 @@
 
     PERL_ARGS_ASSERT_PAD_PUSH;
 
-    if (depth > AvFILLp(padlist)) {
-	SV** const svp = AvARRAY(padlist);
+    if (depth > PadlistMAX(padlist) || !PadlistARRAY(padlist)[depth]) {
+	PAD** const svp = PadlistARRAY(padlist);
 	AV* const newpad = newAV();
 	SV** const oldpad = AvARRAY(svp[depth-1]);
 	I32 ix = AvFILLp((const AV *)svp[1]);
@@ -1872,12 +2323,20 @@
 	av_store(newpad, 0, MUTABLE_SV(av));
 	AvREIFY_only(av);
 
-	av_store(padlist, depth, MUTABLE_SV(newpad));
-	AvFILLp(padlist) = depth;
+	padlist_store(padlist, depth, newpad);
     }
 }
 
+/*
+=for apidoc Am|HV *|pad_compname_type|PADOFFSET po
 
+Looks up the type of the lexical variable at position I<po> in the
+currently-compiling pad.  If the variable is typed, the stash of the
+class to which it is typed is returned.  If not, C<NULL> is returned.
+
+=cut
+*/
+
 HV *
 Perl_pad_compname_type(pTHX_ const PADOFFSET po)
 {
@@ -1893,58 +2352,63 @@
 
 #  define av_dup_inc(s,t)	MUTABLE_AV(sv_dup_inc((const SV *)s,t))
 
-AV *
-Perl_padlist_dup(pTHX_ AV *const srcpad, CLONE_PARAMS *const param)
+/*
+=for apidoc padlist_dup
+
+Duplicates a pad.
+
+=cut
+*/
+
+PADLIST *
+Perl_padlist_dup(pTHX_ PADLIST *srcpad, CLONE_PARAMS *param)
 {
-    AV *dstpad;
+    PADLIST *dstpad;
+    bool cloneall;
+    PADOFFSET max;
+
     PERL_ARGS_ASSERT_PADLIST_DUP;
 
     if (!srcpad)
 	return NULL;
 
-    assert(!AvREAL(srcpad));
+    cloneall = param->flags & CLONEf_COPY_STACKS
+	|| SvREFCNT(PadlistARRAY(srcpad)[1]) > 1;
+    assert (SvREFCNT(PadlistARRAY(srcpad)[1]) == 1);
 
-    if (param->flags & CLONEf_COPY_STACKS
-	|| SvREFCNT(AvARRAY(srcpad)[1]) > 1) {
-	/* XXX padlists are real, but pretend to be not */
-	AvREAL_on(srcpad);
-	dstpad = av_dup_inc(srcpad, param);
-	AvREAL_off(srcpad);
-	AvREAL_off(dstpad);
-	assert (SvREFCNT(AvARRAY(srcpad)[1]) == 1);
+    max = cloneall ? PadlistMAX(srcpad) : 1;
+
+    Newx(dstpad, 1, PADLIST);
+    ptr_table_store(PL_ptr_table, srcpad, dstpad);
+    PadlistMAX(dstpad) = max;
+    Newx(PadlistARRAY(dstpad), max + 1, PAD *);
+
+    if (cloneall) {
+	PADOFFSET depth;
+	for (depth = 0; depth <= max; ++depth)
+	    PadlistARRAY(dstpad)[depth] =
+		av_dup_inc(PadlistARRAY(srcpad)[depth], param);
     } else {
 	/* CvDEPTH() on our subroutine will be set to 0, so there's no need
 	   to build anything other than the first level of pads.  */
-
-	I32 ix = AvFILLp((const AV *)AvARRAY(srcpad)[1]);
+	I32 ix = AvFILLp(PadlistARRAY(srcpad)[1]);
 	AV *pad1;
-	const I32 names_fill = AvFILLp((const AV *)(AvARRAY(srcpad)[0]));
-	const AV *const srcpad1 = (const AV *) AvARRAY(srcpad)[1];
+	const I32 names_fill = AvFILLp(PadlistARRAY(srcpad)[0]);
+	const PAD *const srcpad1 = PadlistARRAY(srcpad)[1];
 	SV **oldpad = AvARRAY(srcpad1);
 	SV **names;
 	SV **pad1a;
 	AV *args;
-	/* look for it in the table first.
-	   I *think* that it shouldn't be possible to find it there.
-	   Well, except for how Perl_sv_compile_2op() "works" :-(   */
-	dstpad = (AV*)ptr_table_fetch(PL_ptr_table, srcpad);
 
-	if (dstpad)
-	    return dstpad;
+	PadlistARRAY(dstpad)[0] =
+	    av_dup_inc(PadlistARRAY(srcpad)[0], param);
+	names = AvARRAY(PadlistARRAY(dstpad)[0]);
 
-	dstpad = newAV();
-	ptr_table_store(PL_ptr_table, srcpad, dstpad);
-	AvREAL_off(dstpad);
-	av_extend(dstpad, 1);
-	AvARRAY(dstpad)[0] = MUTABLE_SV(av_dup_inc(AvARRAY(srcpad)[0], param));
-	names = AvARRAY(AvARRAY(dstpad)[0]);
-
 	pad1 = newAV();
 
 	av_extend(pad1, ix);
-	AvARRAY(dstpad)[1] = MUTABLE_SV(pad1);
+	PadlistARRAY(dstpad)[1] = pad1;
 	pad1a = AvARRAY(pad1);
-	AvFILLp(dstpad) = 1;
 
 	if (ix > -1) {
 	    AvFILLp(pad1) = ix;
@@ -2010,14 +2474,38 @@
     return dstpad;
 }
 
-#endif
+#endif /* USE_ITHREADS */
 
+PAD **
+Perl_padlist_store(pTHX_ PADLIST *padlist, I32 key, PAD *val)
+{
+    dVAR;
+    PAD **ary;
+    SSize_t const oldmax = PadlistMAX(padlist);
+
+    PERL_ARGS_ASSERT_PADLIST_STORE;
+
+    assert(key >= 0);
+
+    if (key > PadlistMAX(padlist)) {
+	av_extend_guts(NULL,key,&PadlistMAX(padlist),
+		       (SV ***)&PadlistARRAY(padlist),
+		       (SV ***)&PadlistARRAY(padlist));
+	Zero(PadlistARRAY(padlist)+oldmax+1, PadlistMAX(padlist)-oldmax,
+	     PAD *);
+    }
+    ary = PadlistARRAY(padlist);
+    SvREFCNT_dec(ary[key]);
+    ary[key] = val;
+    return &ary[key];
+}
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pad.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pad.h
===================================================================
--- vendor/perl/dist/pad.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pad.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,7 @@
 /*    pad.h
  *
- *    Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 by Larry Wall and others
+ *    Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008,
+ *    2009, 2010, 2011 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -10,16 +11,11 @@
  * variables, op targets and constants.
  */
 
+/*
+=head1 Pad Data Structures
+*/
 
 
-
-/* a padlist is currently just an AV; but that might change,
- * so hide the type. Ditto a pad.  */
-
-typedef AV PADLIST;
-typedef AV PAD;
-
-
 /* offsets within a pad */
 
 #if PTRSIZE == 4
@@ -31,6 +27,14 @@
 #endif
 #define NOT_IN_PAD ((PADOFFSET) -1)
 
+
+struct padlist {
+    SSize_t	xpadl_max;	/* max index for which array has space */
+    PAD **	xpadl_alloc;	/* pointer to beginning of array of AVs */
+    PADNAMELIST*xpadl_outid;	/* Padnamelist of outer pad; used as ID */
+};
+
+
 /* a value that PL_cop_seqmax is guaranteed never to be,
  * flagging that a lexical is being introduced, or has not yet left scope
  */
@@ -118,16 +122,15 @@
 	padtidy_FORMAT		/* or a format */
 } padtidy_type;
 
-#ifdef PERL_CORE
+/* flags for pad_add_name_pvn. */
 
-/* flags for pad_add_name. SVf_UTF8 will also be valid in the future.  */
+#define padadd_OUR		0x01	   /* our declaration. */
+#define padadd_STATE		0x02	   /* state declaration. */
+#define padadd_NO_DUP_CHECK	0x04	   /* skip warning on dups. */
+#define padadd_STALEOK		0x08	   /* allow stale lexical in active
+					    * sub, but only one level up */
+#define padadd_UTF8_NAME	SVf_UTF8   /* name is UTF-8 encoded. */
 
-#  define padadd_OUR		0x01	/* our declaration. */
-#  define padadd_STATE		0x02	/* state declaration. */
-#  define padadd_NO_DUP_CHECK	0x04	/* skip warning on dups. */
-
-#endif
-
 /* ASSERT_CURPAD_LEGAL and ASSERT_CURPAD_ACTIVE respectively determine
  * whether PL_comppad and PL_curpad are consistent and whether they have
  * active values */
@@ -171,9 +174,68 @@
 save PL_comppad and PL_curpad
 
 
+=for apidoc Amx|PAD **|PadlistARRAY|PADLIST padlist
+The C array of a padlist, containing the pads.  Only subscript it with
+numbers >= 1, as the 0th entry is not guaranteed to remain usable.
 
+=for apidoc Amx|SSize_t|PadlistMAX|PADLIST padlist
+The index of the last pad in the padlist.
 
+=for apidoc Amx|PADNAMELIST *|PadlistNAMES|PADLIST padlist
+The names associated with pad entries.
 
+=for apidoc Amx|PADNAME **|PadlistNAMESARRAY|PADLIST padlist
+The C array of pad names.
+
+=for apidoc Amx|SSize_t|PadlistNAMESMAX|PADLIST padlist
+The index of the last pad name.
+
+=for apidoc Amx|U32|PadlistREFCNT|PADLIST padlist
+The reference count of the padlist.  Currently this is always 1.
+
+=for apidoc Amx|PADNAME **|PadnamelistARRAY|PADNAMELIST pnl
+The C array of pad names.
+
+=for apidoc Amx|SSize_t|PadnamelistMAX|PADNAMELIST pnl
+The index of the last pad name.
+
+=for apidoc Amx|SV **|PadARRAY|PAD pad
+The C array of pad entries.
+
+=for apidoc Amx|SSize_t|PadMAX|PAD pad
+The index of the last pad entry.
+
+=for apidoc Amx|char *|PadnamePV|PADNAME pn	
+The name stored in the pad name struct.  This returns NULL for a target or
+GV slot.
+
+=for apidoc Amx|STRLEN|PadnameLEN|PADNAME pn	
+The length of the name.
+
+=for apidoc Amx|bool|PadnameUTF8|PADNAME pn
+Whether PadnamePV is in UTF8.
+
+=for apidoc Amx|SV *|PadnameSV|PADNAME pn
+Returns the pad name as an SV.  This is currently just C<pn>.  It will
+begin returning a new mortal SV if pad names ever stop being SVs.
+
+=for apidoc m|bool|PadnameIsOUR|PADNAME pn
+Whether this is an "our" variable.
+
+=for apidoc m|HV *|PadnameOURSTASH
+The stash in which this "our" variable was declared.
+
+=for apidoc m|bool|PadnameOUTER|PADNAME pn
+Whether this entry belongs to an outer pad.
+
+=for apidoc m|bool|PadnameIsSTATE|PADNAME pn
+Whether this is a "state" variable.
+
+=for apidoc m|HV *|PadnameTYPE|PADNAME pn
+The stash associated with a typed lexical.  This returns the %Foo:: hash
+for C<my Foo $bar>.
+
+
 =for apidoc m|SV *|PAD_SETSV	|PADOFFSET po|SV* sv
 Set the slot at offset C<po> in the current pad to C<sv>
 
@@ -214,6 +276,30 @@
 =cut
 */
 
+#define PadlistARRAY(pl)	(pl)->xpadl_alloc
+#define PadlistMAX(pl)		(pl)->xpadl_max
+#define PadlistNAMES(pl)	(*PadlistARRAY(pl))
+#define PadlistNAMESARRAY(pl)	PadnamelistARRAY(PadlistNAMES(pl))
+#define PadlistNAMESMAX(pl)	PadnamelistMAX(PadlistNAMES(pl))
+#define PadlistREFCNT(pl)	1	/* reserved for future use */
+
+#define PadnamelistARRAY(pnl)	AvARRAY(pnl)
+#define PadnamelistMAX(pnl)	AvFILLp(pnl)
+
+#define PadARRAY(pad)		AvARRAY(pad)
+#define PadMAX(pad)		AvFILLp(pad)
+
+#define PadnamePV(pn)		(SvPOKp(pn) ? SvPVX(pn) : NULL)
+#define PadnameLEN(pn)		SvCUR(pn)
+#define PadnameUTF8(pn)		!!SvUTF8(pn)
+#define PadnameSV(pn)		pn
+#define PadnameIsOUR(pn)	!!SvPAD_OUR(pn)
+#define PadnameOURSTASH(pn)	SvOURSTASH(pn)
+#define PadnameOUTER(pn)	!!SvFAKE(pn)
+#define PadnameIsSTATE(pn)	!!SvPAD_STATE(pn)
+#define PadnameTYPE(pn)		(SvPAD_TYPED(pn) ? SvSTASH(pn) : NULL)
+
+
 #ifdef DEBUGGING
 #  define PAD_SV(po)	   pad_sv(po)
 #  define PAD_SETSV(po,sv) pad_setsv(po,sv)
@@ -225,12 +311,13 @@
 #define PAD_SVl(po)       (PL_curpad[po])
 
 #define PAD_BASE_SV(padlist, po) \
-	(AvARRAY(padlist)[1]) 	\
-	? AvARRAY(MUTABLE_AV((AvARRAY(padlist)[1])))[po] : NULL;
+	(PadlistARRAY(padlist)[1])					\
+	    ? AvARRAY(MUTABLE_AV((PadlistARRAY(padlist)[1])))[po] \
+	    : NULL;
 
 
 #define PAD_SET_CUR_NOSAVE(padlist,nth) \
-	PL_comppad = (PAD*) (AvARRAY(padlist)[nth]);		\
+	PL_comppad = (PAD*) (PadlistARRAY(padlist)[nth]);	\
 	PL_curpad = AvARRAY(PL_comppad);			\
 	DEBUG_Xv(PerlIO_printf(Perl_debug_log,			\
 	      "Pad 0x%"UVxf"[0x%"UVxf"] set_cur    depth=%d\n",	\
@@ -307,10 +394,10 @@
 
 */
 
+#define PAD_COMPNAME(po)	PAD_COMPNAME_SV(po)
 #define PAD_COMPNAME_SV(po) (*av_fetch(PL_comppad_name, (po), FALSE))
 #define PAD_COMPNAME_FLAGS(po) SvFLAGS(PAD_COMPNAME_SV(po))
-#define PAD_COMPNAME_FLAGS_isOUR(po) \
-  ((PAD_COMPNAME_FLAGS(po) & (SVpad_NAME|SVpad_OUR)) == (SVpad_NAME|SVpad_OUR))
+#define PAD_COMPNAME_FLAGS_isOUR(po) SvPAD_OUR(PAD_COMPNAME_SV(po))
 #define PAD_COMPNAME_PV(po) SvPV_nolen(PAD_COMPNAME_SV(po))
 
 #define PAD_COMPNAME_TYPE(po) pad_compname_type(po)
@@ -324,9 +411,6 @@
 
 
 /*
-=for apidoc m|void|PAD_DUP|PADLIST dstpad|PADLIST srcpad|CLONE_PARAMS* param
-Clone a padlist.
-
 =for apidoc m|void|PAD_CLONE_VARS|PerlInterpreter *proto_perl|CLONE_PARAMS* param
 Clone the state variables associated with running and compiling pads.
 
@@ -333,18 +417,6 @@
 =cut
 */
 
-
-#define PAD_DUP(dstpad, srcpad, param)				\
-    if ((srcpad) && !AvREAL(srcpad)) {				\
-	/* XXX padlists are real, but pretend to be not */ 	\
-	AvREAL_on(srcpad);					\
-	(dstpad) = av_dup_inc((srcpad), param);			\
-	AvREAL_off(srcpad);					\
-	AvREAL_off(dstpad);					\
-    }								\
-    else							\
-	(dstpad) = av_dup_inc((srcpad), param);			
-
 /* NB - we set PL_comppad to null unless it points at a value that
  * has already been dup'ed, ie it points to part of an active padlist.
  * Otherwise PL_comppad ends up being a leaked scalar in code like
@@ -354,7 +426,7 @@
  * sub's CV or padlist. */
 
 #define PAD_CLONE_VARS(proto_perl, param)				\
-    PL_comppad = MUTABLE_AV(ptr_table_fetch(PL_ptr_table, proto_perl->Icomppad)); \
+    PL_comppad			= av_dup(proto_perl->Icomppad, param);	\
     PL_curpad = PL_comppad ?  AvARRAY(PL_comppad) : NULL;		\
     PL_comppad_name		= av_dup(proto_perl->Icomppad_name, param); \
     PL_comppad_name_fill	= proto_perl->Icomppad_name_fill;	\
@@ -367,11 +439,35 @@
     PL_cop_seqmax		= proto_perl->Icop_seqmax;
 
 /*
+=for apidoc Am|PADOFFSET|pad_add_name_pvs|const char *name|U32 flags|HV *typestash|HV *ourstash
+
+Exactly like L</pad_add_name_pvn>, but takes a literal string instead
+of a string/length pair.
+
+=cut
+*/
+
+#define pad_add_name_pvs(name,flags,typestash,ourstash) \
+    Perl_pad_add_name_pvn(aTHX_ STR_WITH_LEN(name), flags, typestash, ourstash)
+
+/*
+=for apidoc Am|PADOFFSET|pad_findmy_pvs|const char *name|U32 flags
+
+Exactly like L</pad_findmy_pvn>, but takes a literal string instead
+of a string/length pair.
+
+=cut
+*/
+
+#define pad_findmy_pvs(name,flags) \
+    Perl_pad_findmy_pvn(aTHX_ STR_WITH_LEN(name), flags)
+
+/*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pad.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/parser.h
===================================================================
--- vendor/perl/dist/parser.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/parser.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 /*    parser.h
  *
- *    Copyright (c) 2006, 2007, Larry Wall and others
+ *    Copyright (c) 2006, 2007, 2009, 2010, 2011 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.
  * 
  * This file defines the layout of the parser object used by the parser
- * and lexer (perly.c, toke,c).
+ * and lexer (perly.c, toke.c).
  */
 
 #define YYEMPTY		(-2)
@@ -21,6 +21,17 @@
 #endif
 } yy_stack_frame;
 
+/* Fields that need to be shared with (i.e., visible to) inner lex-
+   ing scopes. */
+typedef struct yy_lexshared {
+    struct yy_lexshared	*ls_prev;
+    SV			*ls_linestr;	/* mirrors PL_parser->linestr */
+    char		*ls_bufptr;	/* mirrors PL_parser->bufptr */
+    char		*re_eval_start;	/* start of "(?{..." text */
+    SV			*re_eval_str;	/* "(?{...})" text */
+    line_t		herelines;	/* number of lines in here-doc */
+} LEXSHARED;
+
 typedef struct yy_parser {
 
     /* parser state */
@@ -52,7 +63,7 @@
     OP		*lex_op;	/* extra info to pass back on op */
     SV		*lex_repl;	/* runtime replacement from s/// */
     U16		lex_inwhat;	/* what kind of quoting are we in */
-    OPCODE	last_lop_op;	/* last list operator */
+    OPCODE	last_lop_op;	/* last named list or unary operator */
     I32		lex_starts;	/* how many interps done on level */
     SV		*lex_stuff;	/* runtime pattern from m// or s/// */
     I32		multi_start;	/* 1st line of multi-line string */
@@ -59,19 +70,26 @@
     I32		multi_end;	/* last line of multi-line string */
     char	multi_open;	/* delimiter of said string */
     char	multi_close;	/* delimiter of said string */
-    char	pending_ident;	/* pending identifier lookup */
     bool	preambled;
+    bool        lex_re_reparsing; /* we're doing G_RE_REPARSING */
     I32		lex_allbrackets;/* (), [], {}, ?: bracket count */
     SUBLEXINFO	sublex_info;
+    LEXSHARED	*lex_shared;
     SV		*linestr;	/* current chunk of src text */
-    char	*bufptr;	
-    char	*oldbufptr;	
-    char	*oldoldbufptr;	
+    char	*bufptr;	/* carries the cursor (current parsing
+				   position) from one invocation of yylex
+				   to the next */
+    char	*oldbufptr;	/* in yylex, beginning of current token */
+    char	*oldoldbufptr;	/* in yylex, beginning of previous token */
     char	*bufend;	
     char	*linestart;	/* beginning of most recently read line */
     char	*last_uni;	/* position of last named-unary op */
     char	*last_lop;	/* position of last list operator */
-    line_t	copline;	/* current line number */
+    /* copline is used to pass a specific line number to newSTATEOP.  It
+       is a one-time line number, as newSTATEOP invalidates it (sets it to
+       NOLINE) after using it.  The purpose of this is to report line num-
+       bers in multiline constructs using the number of the first line. */
+    line_t	copline;
     U16		in_my;		/* we're compiling a "my"/"our" declaration */
     U8		lex_state;	/* next token is determined */
     U8		error_count;	/* how many compile errors so far, max 10 */
@@ -78,6 +96,7 @@
     HV		*in_my_stash;	/* declared class of this "my" declaration */
     PerlIO	*rsfp;		/* current source file pointer */
     AV		*rsfp_filters;	/* holds chain of active source filters */
+    U8		form_lex_state;	/* remember lex_state when parsing fmt */
 
 #ifdef PERL_MAD
     SV		*endwhite;
@@ -105,15 +124,25 @@
     COP		*saved_curcop;	/* the previous PL_curcop */
     char	tokenbuf[256];
 
-    bool	in_pod;		/* lexer is within a =pod section */
     U8		lex_fakeeof;	/* precedence at which to fake EOF */
+    U8		lex_flags;
+    PERL_BITFIELD16	in_pod:1;      /* lexer is within a =pod section */
+    PERL_BITFIELD16	filtered:1;    /* source filters in evalbytes */
 } yy_parser;
 
 /* flags for lexer API */
 #define LEX_STUFF_UTF8		0x00000001
 #define LEX_KEEP_PREVIOUS	0x00000002
+
 #ifdef PERL_CORE
 # define LEX_START_SAME_FILTER	0x00000001
+# define LEX_IGNORE_UTF8_HINTS	0x00000002
+# define LEX_EVALBYTES		0x00000004
+# define LEX_START_COPIED	0x00000008
+# define LEX_DONT_CLOSE_RSFP	0x00000010
+# define LEX_START_FLAGS \
+	(LEX_START_SAME_FILTER|LEX_START_COPIED \
+	|LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES|LEX_DONT_CLOSE_RSFP)
 #endif
 
 /* flags for parser API */
@@ -139,8 +168,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/parser.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/patchlevel.h
===================================================================
--- vendor/perl/dist/patchlevel.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/patchlevel.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,8 +14,8 @@
  * exactly on the third column */
 
 #define PERL_REVISION	5		/* age */
-#define PERL_VERSION	14		/* epoch */
-#define PERL_SUBVERSION	2		/* generation */
+#define PERL_VERSION	18		/* epoch */
+#define PERL_SUBVERSION	1		/* 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	14
+#define PERL_API_VERSION	18
 #define PERL_API_SUBVERSION	0
 /*
    XXX Note:  The selection of non-default Configure options, such


Property changes on: vendor/perl/dist/patchlevel.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/perl.c
===================================================================
--- vendor/perl/dist/perl.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perl.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 /*    perl.c
  *
  *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001
- *    2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+ *    2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
  *     by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
@@ -13,7 +13,7 @@
 /*
  *      A ship then new they built for him
  *      of mithril and of elven-glass
- *              --from Bilbo's song of E\xE4rendil
+ *              --from Bilbo's song of Eärendil
  *
  *     [p.236 of _The Lord of the Rings_, II/i: "Many Meetings"]
  */
@@ -24,7 +24,7 @@
  * function of the interpreter; that can be found in perlmain.c
  */
 
-#ifdef PERL_IS_MINIPERL
+#if defined(PERL_IS_MINIPERL) && !defined(USE_SITECUSTOMIZE)
 #  define USE_SITECUSTOMIZE
 #endif
 
@@ -38,15 +38,15 @@
 #include "nwutil.h"	
 #endif
 
-/* XXX If this causes problems, set i_unistd=undef in the hint file.  */
-#ifdef I_UNISTD
-#include <unistd.h>
+#ifdef USE_KERN_PROC_PATHNAME
+#  include <sys/sysctl.h>
 #endif
 
+#ifdef USE_NSGETEXECUTABLEPATH
+#  include <mach-o/dyld.h>
+#endif
+
 #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-#  ifdef I_SYS_WAIT
-#   include <sys/wait.h>
-#  endif
 #  ifdef I_SYSUIO
 #    include <sys/uio.h>
 #  endif
@@ -58,10 +58,6 @@
 
 #endif
 
-#ifdef __BEOS__
-#  define HZ 1000000
-#endif
-
 #ifndef HZ
 #  ifdef CLK_TCK
 #    define HZ CLK_TCK
@@ -77,11 +73,9 @@
 static I32 read_e_script(pTHX_ int idx, SV *buf_sv, int maxlen);
 
 #ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
-/* Drop everything. Heck, don't even try to call it */
-#  define validate_suid(validarg, scriptname, fdscript, suidscript, linestr_sv, rsfp) NOOP
+#  define validate_suid(rsfp) NOOP
 #else
-/* Drop almost everything */
-#  define validate_suid(validarg, scriptname, fdscript, suidscript, linestr_sv, rsfp) S_validate_suid(aTHX_ rsfp)
+#  define validate_suid(rsfp) S_validate_suid(aTHX_ rsfp)
 #endif
 
 #define CALL_BODY_SUB(myop) \
@@ -92,7 +86,7 @@
 
 #define CALL_LIST_BODY(cv) \
     PUSHMARK(PL_stack_sp); \
-    call_sv(MUTABLE_SV((cv)), G_EVAL|G_DISCARD);
+    call_sv(MUTABLE_SV((cv)), G_EVAL|G_DISCARD|G_VOID);
 
 static void
 S_init_tls_and_interp(PerlInterpreter *my_perl)
@@ -105,6 +99,7 @@
 	ALLOC_THREAD_KEY;
 	PERL_SET_THX(my_perl);
 	OP_REFCNT_INIT;
+	OP_CHECK_MUTEX_INIT;
 	HINTS_REFCNT_INIT;
 	MUTEX_INIT(&PL_dollarzero_mutex);
 	MUTEX_INIT(&PL_my_ctx_mutex);
@@ -243,32 +238,10 @@
 #endif
     PL_curcop = &PL_compiling;	/* needed by ckWARN, right away */
 
-    /* set read-only and try to insure than we wont see REFCNT==0
-       very often */
+    init_constants();
 
-    SvREADONLY_on(&PL_sv_undef);
-    SvREFCNT(&PL_sv_undef) = (~(U32)0)/2;
-
-    sv_setpv(&PL_sv_no,PL_No);
-    /* value lookup in void context - happens to have the side effect
-       of caching the numeric forms. However, as &PL_sv_no doesn't contain
-       a string that is a valid numer, we have to turn the public flags by
-       hand:  */
-    SvNV(&PL_sv_no);
-    SvIV(&PL_sv_no);
-    SvIOK_on(&PL_sv_no);
-    SvNOK_on(&PL_sv_no);
-    SvREADONLY_on(&PL_sv_no);
-    SvREFCNT(&PL_sv_no) = (~(U32)0)/2;
-
-    sv_setpv(&PL_sv_yes,PL_Yes);
-    SvNV(&PL_sv_yes);
-    SvIV(&PL_sv_yes);
-    SvREADONLY_on(&PL_sv_yes);
-    SvREFCNT(&PL_sv_yes) = (~(U32)0)/2;
-
     SvREADONLY_on(&PL_sv_placeholder);
-    SvREFCNT(&PL_sv_placeholder) = (~(U32)0)/2;
+    SvREFCNT(&PL_sv_placeholder) = SvREFCNT_IMMORTAL;
 
     PL_sighandlerp = (Sighandler_t) Perl_sighandler;
 #ifdef PERL_USES_PL_PIDSTATUS
@@ -308,10 +281,24 @@
        else all hell breaks loose in S_find_uninit_var().  */
     Perl_av_create_and_push(aTHX_ &PL_regex_padav, newSVpvs(""));
     PL_regex_pad = AvARRAY(PL_regex_padav);
+    Newxz(PL_stashpad, PL_stashpadmax, HV *);
 #endif
 #ifdef USE_REENTRANT_API
     Perl_reentrant_init(aTHX);
 #endif
+#if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT)
+        /* [perl #22371] Algorimic Complexity Attack on Perl 5.6.1, 5.8.0
+         * This MUST be done before any hash stores or fetches take place.
+         * If you set PL_hash_seed (and presumably also PL_hash_seed_set)
+         * yourself, it is your responsibility to provide a good random seed!
+         * You can also define PERL_HASH_SEED in compile time, see hv.h.
+         *
+         * XXX: fix this comment */
+    if (PL_hash_seed_set == FALSE) {
+        Perl_get_hash_seed(aTHX_ PL_hash_seed);
+        PL_hash_seed_set= TRUE;
+    }
+#endif /* #if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT) */
 
     /* Note that strtab is a rather special HV.  Assumptions are made
        about not iterating on it, and not adding tie magic to it.
@@ -334,10 +321,9 @@
 
     /* Use sysconf(_SC_CLK_TCK) if available, if not
      * available or if the sysconf() fails, use the HZ.
-     * BeOS has those, but returns the wrong value.
      * The HZ if not originally defined has been by now
      * been defined as CLK_TCK, if available. */
-#if defined(HAS_SYSCONF) && defined(_SC_CLK_TCK) && !defined(__BEOS__)
+#if defined(HAS_SYSCONF) && defined(_SC_CLK_TCK)
     PL_clocktick = sysconf(_SC_CLK_TCK);
     if (PL_clocktick <= 0)
 #endif
@@ -532,6 +518,7 @@
 #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
     pid_t child;
 #endif
+    int i;
 
     PERL_ARGS_ASSERT_PERL_DESTRUCT;
 #ifndef MULTIPLICITY
@@ -544,13 +531,18 @@
     PERL_WAIT_FOR_CHILDREN;
 
     destruct_level = PL_perl_destruct_level;
-#ifdef DEBUGGING
+#if defined(DEBUGGING) || defined(PERL_TRACK_MEMPOOL)
     {
 	const char * const s = PerlEnv_getenv("PERL_DESTRUCT_LEVEL");
 	if (s) {
-            const int i = atoi(s);
-	    if (destruct_level < i)
-		destruct_level = i;
+        const int i = atoi(s);
+#ifdef DEBUGGING
+	    if (destruct_level < i) destruct_level = i;
+#endif
+#ifdef PERL_TRACK_MEMPOOL
+        /* RT #114496, for perl_free */
+        PL_perl_destruct_level = i;
+#endif
 	}
     }
 #endif
@@ -562,7 +554,7 @@
         JMPENV_PUSH(x);
 	PERL_UNUSED_VAR(x);
         if (PL_endav && !PL_minus_c) {
-	    PL_phase = PERL_PHASE_END;
+	    PERL_SET_PHASE(PERL_PHASE_END);
             call_list(PL_scopestack_ix, PL_endav);
 	}
         JMPENV_POP;
@@ -737,10 +729,10 @@
     /* We must account for everything.  */
 
     /* Destroy the main CV and syntax tree */
-    /* Do this now, because destroying ops can cause new SVs to be generated
-       in Perl_pad_swipe, and when running with -DDEBUG_LEAKING_SCALARS they
-       PL_curcop to point to a valid op from which the filename structure
-       member is copied.  */
+    /* Set PL_curcop now, because destroying ops can cause new SVs
+       to be generated in Perl_pad_swipe, and when running with
+      -DDEBUG_LEAKING_SCALARS they expect PL_curcop to point to a valid
+       op from which the filename structure member is copied.  */
     PL_curcop = &PL_compiling;
     if (PL_main_root) {
 	/* ensure comppad/curpad to refer to main's pad */
@@ -757,7 +749,7 @@
      * destruct_level > 0 */
     SvREFCNT_dec(PL_main_cv);
     PL_main_cv = NULL;
-    PL_phase = PERL_PHASE_DESTRUCT;
+    PERL_SET_PHASE(PERL_PHASE_DESTRUCT);
 
     /* Tell PerlIO we are about to tear things apart in case
        we have layers which are using resources that should
@@ -766,15 +758,12 @@
 
     PerlIO_destruct(aTHX);
 
-    if (PL_sv_objcount) {
-	/*
-	 * Try to destruct global references.  We do this first so that the
-	 * destructors and destructees still exist.  Some sv's might remain.
-	 * Non-referenced objects are on their own.
-	 */
-	sv_clean_objs();
-	PL_sv_objcount = 0;
-    }
+    /*
+     * Try to destruct global references.  We do this first so that the
+     * destructors and destructees still exist.  Some sv's might remain.
+     * Non-referenced objects are on their own.
+     */
+    sv_clean_objs();
 
     /* unhook hooks which will soon be, or use, destroyed data */
     SvREFCNT_dec(PL_warnhook);
@@ -829,7 +818,6 @@
 #endif
 
 	CopFILE_free(&PL_compiling);
-	CopSTASH_free(&PL_compiling);
 
 	/* The exit() function will do everything that needs doing. */
         return STATUS_EXIT;
@@ -841,11 +829,18 @@
      * REGEXPs in the parent interpreter
      * we need to manually ReREFCNT_dec for the clones
      */
-    SvREFCNT_dec(PL_regex_padav);
-    PL_regex_padav = NULL;
-    PL_regex_pad = NULL;
+    {
+	I32 i = AvFILLp(PL_regex_padav);
+	SV **ary = AvARRAY(PL_regex_padav);
+
+	for (; i; i--) {
+	    SvREFCNT_dec(ary[i]);
+	    ary[i] = &PL_sv_undef;
+	}
+    }
 #endif
 
+
     SvREFCNT_dec(MUTABLE_SV(PL_stashcache));
     PL_stashcache = NULL;
 
@@ -870,7 +865,9 @@
     PL_minus_F      = FALSE;
     PL_doswitches   = FALSE;
     PL_dowarn       = G_WARN_OFF;
-    PL_sawampersand = FALSE;	/* must save all match strings */
+#ifdef PERL_SAWAMPERSAND
+    PL_sawampersand = 0;	/* must save all match strings */
+#endif
     PL_unsafe       = FALSE;
 
     Safefree(PL_inplace);
@@ -905,14 +902,6 @@
 
     /* defgv, aka *_ should be taken care of elsewhere */
 
-    /* clean up after study() */
-    SvREFCNT_dec(PL_lastscream);
-    PL_lastscream = NULL;
-    Safefree(PL_screamfirst);
-    PL_screamfirst = 0;
-    Safefree(PL_screamnext);
-    PL_screamnext  = 0;
-
     /* float buffer */
     Safefree(PL_efloatbuf);
     PL_efloatbuf = NULL;
@@ -989,19 +978,11 @@
     PL_numeric_radix_sv = NULL;
 #endif
 
-    /* clear utf8 character classes */
-    SvREFCNT_dec(PL_utf8_alnum);
-    SvREFCNT_dec(PL_utf8_ascii);
-    SvREFCNT_dec(PL_utf8_alpha);
-    SvREFCNT_dec(PL_utf8_space);
-    SvREFCNT_dec(PL_utf8_cntrl);
-    SvREFCNT_dec(PL_utf8_graph);
-    SvREFCNT_dec(PL_utf8_digit);
-    SvREFCNT_dec(PL_utf8_upper);
-    SvREFCNT_dec(PL_utf8_lower);
-    SvREFCNT_dec(PL_utf8_print);
-    SvREFCNT_dec(PL_utf8_punct);
-    SvREFCNT_dec(PL_utf8_xdigit);
+    /* clear character classes  */
+    for (i = 0; i < POSIX_SWASH_COUNT; i++) {
+        SvREFCNT_dec(PL_utf8_swash_ptrs[i]);
+        PL_utf8_swash_ptrs[i] = NULL;
+    }
     SvREFCNT_dec(PL_utf8_mark);
     SvREFCNT_dec(PL_utf8_toupper);
     SvREFCNT_dec(PL_utf8_totitle);
@@ -1010,18 +991,6 @@
     SvREFCNT_dec(PL_utf8_idstart);
     SvREFCNT_dec(PL_utf8_idcont);
     SvREFCNT_dec(PL_utf8_foldclosures);
-    PL_utf8_alnum	= NULL;
-    PL_utf8_ascii	= NULL;
-    PL_utf8_alpha	= NULL;
-    PL_utf8_space	= NULL;
-    PL_utf8_cntrl	= NULL;
-    PL_utf8_graph	= NULL;
-    PL_utf8_digit	= NULL;
-    PL_utf8_upper	= NULL;
-    PL_utf8_lower	= NULL;
-    PL_utf8_print	= NULL;
-    PL_utf8_punct	= NULL;
-    PL_utf8_xdigit	= NULL;
     PL_utf8_mark	= NULL;
     PL_utf8_toupper	= NULL;
     PL_utf8_totitle	= NULL;
@@ -1030,7 +999,17 @@
     PL_utf8_idstart	= NULL;
     PL_utf8_idcont	= NULL;
     PL_utf8_foldclosures = NULL;
+    for (i = 0; i < POSIX_CC_COUNT; i++) {
+        SvREFCNT_dec(PL_Posix_ptrs[i]);
+        PL_Posix_ptrs[i] = NULL;
 
+        SvREFCNT_dec(PL_L1Posix_ptrs[i]);
+        PL_L1Posix_ptrs[i] = NULL;
+
+        SvREFCNT_dec(PL_XPosix_ptrs[i]);
+        PL_XPosix_ptrs[i] = NULL;
+    }
+
     if (!specialWARN(PL_compiling.cop_warnings))
 	PerlMemShared_free(PL_compiling.cop_warnings);
     PL_compiling.cop_warnings = NULL;
@@ -1037,7 +1016,6 @@
     cophh_free(CopHINTHASH_get(&PL_compiling));
     CopHINTHASH_set(&PL_compiling, cophh_new_empty());
     CopFILE_free(&PL_compiling);
-    CopSTASH_free(&PL_compiling);
 
     /* Prepare to destruct main symbol table.  */
 
@@ -1073,6 +1051,12 @@
 			     (long)cxstack_ix + 1);
     }
 
+#ifdef USE_ITHREADS
+    SvREFCNT_dec(PL_regex_padav);
+    PL_regex_padav = NULL;
+    PL_regex_pad = NULL;
+#endif
+
 #ifdef PERL_IMPLICIT_CONTEXT
     /* the entries in this list are allocated via SV PVX's, so get freed
      * in sv_clean_all */
@@ -1085,6 +1069,10 @@
     while (sv_clean_all() > 2)
 	;
 
+#ifdef USE_ITHREADS
+    Safefree(PL_stashpad); /* must come after sv_clean_all */
+#endif
+
     AvREAL_off(PL_fdpid);		/* no surviving entries */
     SvREFCNT_dec(PL_fdpid);		/* needed in io_close() */
     PL_fdpid = NULL;
@@ -1163,12 +1151,12 @@
     if (PL_sv_count != 0) {
 	SV* sva;
 	SV* sv;
-	register SV* svend;
+	SV* svend;
 
 	for (sva = PL_sv_arenaroot; sva; sva = MUTABLE_SV(SvANY(sva))) {
 	    svend = &sva[SvREFCNT(sva)];
 	    for (sv = sva + 1; sv < svend; ++sv) {
-		if (SvTYPE(sv) != SVTYPEMASK) {
+		if (SvTYPE(sv) != (svtype)SVTYPEMASK) {
 		    PerlIO_printf(Perl_debug_log, "leaked: sv=0x%p"
 			" flags=0x%"UVxf
 			" refcnt=%"UVuf pTHX__FORMAT "\n"
@@ -1216,12 +1204,6 @@
 #endif
     PL_sv_count = 0;
 
-#ifdef PERL_DEBUG_READONLY_OPS
-    free(PL_slabs);
-    PL_slabs = NULL;
-    PL_slab_count = 0;
-#endif
-
 #if defined(PERLIO_LAYERS)
     /* No more IO - including error messages ! */
     PerlIO_cleanup(aTHX);
@@ -1236,9 +1218,6 @@
 
     Safefree(PL_origfilename);
     PL_origfilename = NULL;
-    Safefree(PL_reg_start_tmp);
-    PL_reg_start_tmp = (char**)NULL;
-    PL_reg_start_tmpl = 0;
     Safefree(PL_reg_curpm);
     Safefree(PL_reg_poscache);
     free_tied_hv_pool();
@@ -1253,10 +1232,9 @@
 	PL_psig_pend = (int*)NULL;
 	Safefree(psig_save);
     }
-    PL_formfeed = NULL;
     nuke_stacks();
-    PL_tainting = FALSE;
-    PL_taint_warn = FALSE;
+    TAINTING_set(FALSE);
+    TAINT_WARN_set(FALSE);
     PL_hints = 0;		/* Reset hints. Should hints be per-interpreter ? */
     PL_debug = 0;
 
@@ -1323,8 +1301,7 @@
 	 * Don't free thread memory if PERL_DESTRUCT_LEVEL is set to a non-zero
 	 * value as we're probably hunting memory leaks then
 	 */
-	const char * const s = PerlEnv_getenv("PERL_DESTRUCT_LEVEL");
-	if (!s || atoi(s) == 0) {
+	if (PL_perl_destruct_level == 0) {
 	    const U32 old_debug = PL_debug;
 	    /* Emulate the PerlHost behaviour of free()ing all memory allocated in this
 	       thread at thread exit.  */
@@ -1397,55 +1374,82 @@
     ++PL_exitlistlen;
 }
 
-#ifdef HAS_PROCSELFEXE
-/* This is a function so that we don't hold on to MAXPATHLEN
-   bytes of stack longer than necessary
- */
 STATIC void
-S_procself_val(pTHX_ SV *sv, const char *arg0)
-{
-    char buf[MAXPATHLEN];
-    int len = readlink(PROCSELFEXE_PATH, buf, sizeof(buf) - 1);
-
-    /* On Playstation2 Linux V1.0 (kernel 2.2.1) readlink(/proc/self/exe)
-       includes a spurious NUL which will cause $^X to fail in system
-       or backticks (this will prevent extensions from being built and
-       many tests from working). readlink is not meant to add a NUL.
-       Normal readlink works fine.
-     */
-    if (len > 0 && buf[len-1] == '\0') {
-      len--;
-    }
-
-    /* FreeBSD's implementation is acknowledged to be imperfect, sometimes
-       returning the text "unknown" from the readlink rather than the path
-       to the executable (or returning an error from the readlink).  Any valid
-       path has a '/' in it somewhere, so use that to validate the result.
-       See http://www.freebsd.org/cgi/query-pr.cgi?pr=35703
-    */
-    if (len > 0 && memchr(buf, '/', len)) {
-	sv_setpvn(sv,buf,len);
-    }
-    else {
-	sv_setpv(sv,arg0);
-    }
-}
-#endif /* HAS_PROCSELFEXE */
-
-STATIC void
 S_set_caret_X(pTHX) {
     dVAR;
     GV* tmpgv = gv_fetchpvs("\030", GV_ADD|GV_NOTQUAL, SVt_PV); /* $^X */
     if (tmpgv) {
-#ifdef HAS_PROCSELFEXE
-	S_procself_val(aTHX_ GvSV(tmpgv), PL_origargv[0]);
+	SV *const caret_x = GvSV(tmpgv);
+#if defined(OS2)
+	sv_setpv(caret_x, os2_execname(aTHX));
 #else
-#ifdef OS2
-	sv_setpv(GvSVn(tmpgv), os2_execname(aTHX));
-#else
-	sv_setpv(GvSVn(tmpgv),PL_origargv[0]);
+#  ifdef USE_KERN_PROC_PATHNAME
+	size_t size = 0;
+	int mib[4];
+	mib[0] = CTL_KERN;
+	mib[1] = KERN_PROC;
+	mib[2] = KERN_PROC_PATHNAME;
+	mib[3] = -1;
+
+	if (sysctl(mib, 4, NULL, &size, NULL, 0) == 0
+	    && size > 0 && size < MAXPATHLEN * MAXPATHLEN) {
+	    sv_grow(caret_x, size);
+
+	    if (sysctl(mib, 4, SvPVX(caret_x), &size, NULL, 0) == 0
+		&& size > 2) {
+		SvPOK_only(caret_x);
+		SvCUR_set(caret_x, size - 1);
+		SvTAINT(caret_x);
+		return;
+	    }
+	}
+#  elif defined(USE_NSGETEXECUTABLEPATH)
+	char buf[1];
+	uint32_t size = sizeof(buf);
+
+	_NSGetExecutablePath(buf, &size);
+	if (size < MAXPATHLEN * MAXPATHLEN) {
+	    sv_grow(caret_x, size);
+	    if (_NSGetExecutablePath(SvPVX(caret_x), &size) == 0) {
+		char *const tidied = realpath(SvPVX(caret_x), NULL);
+		if (tidied) {
+		    sv_setpv(caret_x, tidied);
+		    free(tidied);
+		} else {
+		    SvPOK_only(caret_x);
+		    SvCUR_set(caret_x, size);
+		}
+		return;
+	    }
+	}
+#  elif defined(HAS_PROCSELFEXE)
+	char buf[MAXPATHLEN];
+	int len = readlink(PROCSELFEXE_PATH, buf, sizeof(buf) - 1);
+
+	/* On Playstation2 Linux V1.0 (kernel 2.2.1) readlink(/proc/self/exe)
+	   includes a spurious NUL which will cause $^X to fail in system
+	   or backticks (this will prevent extensions from being built and
+	   many tests from working). readlink is not meant to add a NUL.
+	   Normal readlink works fine.
+	*/
+	if (len > 0 && buf[len-1] == '\0') {
+	    len--;
+	}
+
+	/* FreeBSD's implementation is acknowledged to be imperfect, sometimes
+	   returning the text "unknown" from the readlink rather than the path
+	   to the executable (or returning an error from the readlink). Any
+	   valid path has a '/' in it somewhere, so use that to validate the
+	   result. See http://www.freebsd.org/cgi/query-pr.cgi?pr=35703
+	*/
+	if (len > 0 && memchr(buf, '/', len)) {
+	    sv_setpvn(caret_x, buf, len);
+	    return;
+	}
+#  endif
+	/* Fallback to this:  */
+	sv_setpv(caret_x, PL_origargv[0]);
 #endif
-#endif
     }
 }
 
@@ -1457,6 +1461,12 @@
 =cut
 */
 
+#define SET_CURSTASH(newstash)                       \
+	if (PL_curstash != newstash) {                \
+	    SvREFCNT_dec(PL_curstash);                 \
+	    PL_curstash = (HV *)SvREFCNT_inc(newstash); \
+	}
+
 int
 perl_parse(pTHXx_ XSINIT_t xsinit, int argc, char **argv, char **env)
 {
@@ -1469,23 +1479,26 @@
 #ifndef MULTIPLICITY
     PERL_UNUSED_ARG(my_perl);
 #endif
-
-#if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT)
-    /* [perl #22371] Algorimic Complexity Attack on Perl 5.6.1, 5.8.0
-     * This MUST be done before any hash stores or fetches take place.
-     * If you set PL_rehash_seed (and presumably also PL_rehash_seed_set)
-     * yourself, it is your responsibility to provide a good random seed!
-     * You can also define PERL_HASH_SEED in compile time, see hv.h. */
-    if (!PL_rehash_seed_set)
-	 PL_rehash_seed = get_hash_seed();
+#if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT) || defined(USE_HASH_SEED_DEBUG)
     {
-	const char * const s = PerlEnv_getenv("PERL_HASH_SEED_DEBUG");
+        const char * const s = PerlEnv_getenv("PERL_HASH_SEED_DEBUG");
 
-	if (s && (atoi(s) == 1))
-	    PerlIO_printf(Perl_debug_log, "HASH_SEED = %"UVuf"\n", PL_rehash_seed);
+        if (s && (atoi(s) == 1)) {
+            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++);
+            }
+#ifdef PERL_HASH_RANDOMIZE_KEYS
+            PerlIO_printf(Perl_debug_log, " PERTURB_KEYS = %d (%s)",
+                    PL_HASH_RAND_BITS_ENABLED,
+                    PL_HASH_RAND_BITS_ENABLED == 0 ? "NO" : PL_HASH_RAND_BITS_ENABLED == 1 ? "RANDOM" : "DETERMINISTIC");
+#endif
+            PerlIO_printf(Perl_debug_log, "\n");
+        }
     }
 #endif /* #if defined(USE_HASH_SEED) || defined(USE_HASH_SEED_EXPLICIT) */
-
     PL_origargc = argc;
     PL_origargv = argv;
 
@@ -1587,7 +1600,7 @@
 	PL_do_undump = FALSE;
 	cxstack_ix = -1;		/* start label stack again */
 	init_ids();
-	assert (!PL_tainted);
+	assert (!TAINT_get);
 	TAINT;
 	S_set_caret_X(aTHX);
 	TAINT_NOT;
@@ -1615,7 +1628,7 @@
 	    call_list(oldscope, PL_unitcheckav);
 	}
 	if (PL_checkav) {
-	    PL_phase = PERL_PHASE_CHECK;
+	    PERL_SET_PHASE(PERL_PHASE_CHECK);
 	    call_list(oldscope, PL_checkav);
 	}
 	ret = 0;
@@ -1628,12 +1641,12 @@
 	while (PL_scopestack_ix > oldscope)
 	    LEAVE;
 	FREETMPS;
-	PL_curstash = PL_defstash;
+	SET_CURSTASH(PL_defstash);
 	if (PL_unitcheckav) {
 	    call_list(oldscope, PL_unitcheckav);
 	}
 	if (PL_checkav) {
-	    PL_phase = PERL_PHASE_CHECK;
+	    PERL_SET_PHASE(PERL_PHASE_CHECK);
 	    call_list(oldscope, PL_checkav);
 	}
 	ret = STATUS_EXIT;
@@ -1663,7 +1676,7 @@
 #endif
     const int entries = 3 + local_patch_count;
     int i;
-    static char non_bincompat_options[] = 
+    static const char non_bincompat_options[] = 
 #  ifdef DEBUGGING
 			     " DEBUGGING"
 #  endif
@@ -1670,6 +1683,9 @@
 #  ifdef NO_MATHOMS
 			     " NO_MATHOMS"
 #  endif
+#  ifdef NO_HASH_SEED
+			     " NO_HASH_SEED"
+#  endif
 #  ifdef PERL_DISABLE_PMC
 			     " PERL_DISABLE_PMC"
 #  endif
@@ -1679,6 +1695,30 @@
 #  ifdef PERL_EXTERNAL_GLOB
 			     " PERL_EXTERNAL_GLOB"
 #  endif
+#  ifdef PERL_HASH_FUNC_SIPHASH
+			     " PERL_HASH_FUNC_SIPHASH"
+#  endif
+#  ifdef PERL_HASH_FUNC_SDBM
+			     " PERL_HASH_FUNC_SDBM"
+#  endif
+#  ifdef PERL_HASH_FUNC_DJB2
+			     " PERL_HASH_FUNC_DJB2"
+#  endif
+#  ifdef PERL_HASH_FUNC_SUPERFAST
+			     " PERL_HASH_FUNC_SUPERFAST"
+#  endif
+#  ifdef PERL_HASH_FUNC_MURMUR3
+			     " PERL_HASH_FUNC_MURMUR3"
+#  endif
+#  ifdef PERL_HASH_FUNC_ONE_AT_A_TIME
+			     " PERL_HASH_FUNC_ONE_AT_A_TIME"
+#  endif
+#  ifdef PERL_HASH_FUNC_ONE_AT_A_TIME_HARD
+			     " PERL_HASH_FUNC_ONE_AT_A_TIME_HARD"
+#  endif
+#  ifdef PERL_HASH_FUNC_ONE_AT_A_TIME_OLD
+			     " PERL_HASH_FUNC_ONE_AT_A_TIME_OLD"
+#  endif
 #  ifdef PERL_IS_MINIPERL
 			     " PERL_IS_MINIPERL"
 #  endif
@@ -1691,9 +1731,24 @@
 #  ifdef PERL_MEM_LOG_NOIMPL
 			     " PERL_MEM_LOG_NOIMPL"
 #  endif
+#  ifdef PERL_NEW_COPY_ON_WRITE
+			     " PERL_NEW_COPY_ON_WRITE"
+#  endif
+#  ifdef PERL_PERTURB_KEYS_DETERMINISTIC
+			     " PERL_PERTURB_KEYS_DETERMINISTIC"
+#  endif
+#  ifdef PERL_PERTURB_KEYS_DISABLED
+			     " PERL_PERTURB_KEYS_DISABLED"
+#  endif
+#  ifdef PERL_PERTURB_KEYS_RANDOM
+			     " PERL_PERTURB_KEYS_RANDOM"
+#  endif
 #  ifdef PERL_PRESERVE_IVUV
 			     " PERL_PRESERVE_IVUV"
 #  endif
+#  ifdef PERL_RELOCATABLE_INCPUSH
+			     " PERL_RELOCATABLE_INCPUSH"
+#  endif
 #  ifdef PERL_USE_DEVEL
 			     " PERL_USE_DEVEL"
 #  endif
@@ -1700,6 +1755,9 @@
 #  ifdef PERL_USE_SAFE_PUTENV
 			     " PERL_USE_SAFE_PUTENV"
 #  endif
+#  ifdef UNLINK_ALL_VERSIONS
+			     " UNLINK_ALL_VERSIONS"
+#  endif
 #  ifdef USE_ATTRIBUTES_FOR_PERLIO
 			     " USE_ATTRIBUTES_FOR_PERLIO"
 #  endif
@@ -1706,6 +1764,15 @@
 #  ifdef USE_FAST_STDIO
 			     " USE_FAST_STDIO"
 #  endif	       
+#  ifdef USE_HASH_SEED_EXPLICIT
+			     " USE_HASH_SEED_EXPLICIT"
+#  endif
+#  ifdef USE_LOCALE
+			     " USE_LOCALE"
+#  endif
+#  ifdef USE_LOCALE_CTYPE
+			     " USE_LOCALE_CTYPE"
+#  endif
 #  ifdef USE_PERL_ATOF
 			     " USE_PERL_ATOF"
 #  endif	       
@@ -1761,20 +1828,18 @@
     char **argv = PL_origargv;
     const char *scriptname = NULL;
     VOL bool dosearch = FALSE;
-    register char c;
+    char c;
     bool doextract = FALSE;
     const char *cddir = NULL;
 #ifdef USE_SITECUSTOMIZE
     bool minus_f = FALSE;
 #endif
-    SV *linestr_sv = newSV_type(SVt_PVIV);
+    SV *linestr_sv = NULL;
     bool add_read_e_script = FALSE;
+    U32 lex_start_flags = 0;
 
-    PL_phase = PERL_PHASE_START;
+    PERL_SET_PHASE(PERL_PHASE_START);
 
-    SvGROW(linestr_sv, 80);
-    sv_setpvs(linestr_sv,"");
-
     init_main_stash();
 
     {
@@ -1815,17 +1880,31 @@
 	    break;
 
 	case 't':
+#if SILENT_NO_TAINT_SUPPORT
+            /* silently ignore */
+#elif NO_TAINT_SUPPORT
+            Perl_croak_nocontext("This perl was compiled without taint support. "
+                       "Cowardly refusing to run with -t or -T flags");
+#else
 	    CHECK_MALLOC_TOO_LATE_FOR('t');
-	    if( !PL_tainting ) {
-	         PL_taint_warn = TRUE;
-	         PL_tainting = TRUE;
+	    if( !TAINTING_get ) {
+	         TAINT_WARN_set(TRUE);
+	         TAINTING_set(TRUE);
 	    }
+#endif
 	    s++;
 	    goto reswitch;
 	case 'T':
+#if SILENT_NO_TAINT_SUPPORT
+            /* silently ignore */
+#elif NO_TAINT_SUPPORT
+            Perl_croak_nocontext("This perl was compiled without taint support. "
+                       "Cowardly refusing to run with -t or -T flags");
+#else
 	    CHECK_MALLOC_TOO_LATE_FOR('T');
-	    PL_tainting = TRUE;
-	    PL_taint_warn = FALSE;
+	    TAINTING_set(TRUE);
+	    TAINT_WARN_set(FALSE);
+#endif
 	    s++;
 	    goto reswitch;
 
@@ -1905,15 +1984,12 @@
 		argc--,argv++;
 		goto switch_end;
 	    }
-	    /* catch use of gnu style long options */
-	    if (strEQ(s, "version")) {
-		s = (char *)"v";
-		goto reswitch;
-	    }
-	    if (strEQ(s, "help")) {
-		s = (char *)"h";
-		goto reswitch;
-	    }
+	    /* catch use of gnu style long options.
+	       Both of these exit immediately.  */
+	    if (strEQ(s, "version"))
+		minus_v();
+	    if (strEQ(s, "help"))
+		usage();
 	    s--;
 	    /* FALL THROUGH */
 	default:
@@ -1929,7 +2005,7 @@
 
     if (
 #ifndef SECURE_INTERNAL_GETENV
-        !PL_tainting &&
+        !TAINTING_get &&
 #endif
 	(s = PerlEnv_getenv("PERL5OPT")))
     {
@@ -1936,9 +2012,16 @@
 	while (isSPACE(*s))
 	    s++;
 	if (*s == '-' && *(s+1) == 'T') {
+#if SILENT_NO_TAINT_SUPPORT
+            /* silently ignore */
+#elif NO_TAINT_SUPPORT
+            Perl_croak_nocontext("This perl was compiled without taint support. "
+                       "Cowardly refusing to run with -t or -T flags");
+#else
 	    CHECK_MALLOC_TOO_LATE_FOR('T');
-	    PL_tainting = TRUE;
-            PL_taint_warn = FALSE;
+	    TAINTING_set(TRUE);
+            TAINT_WARN_set(FALSE);
+#endif
 	}
 	else {
 	    char *popt_copy = NULL;
@@ -1968,10 +2051,17 @@
 		    }
 		}
 		if (*d == 't') {
-		    if( !PL_tainting ) {
-		        PL_taint_warn = TRUE;
-		        PL_tainting = TRUE;
+#if SILENT_NO_TAINT_SUPPORT
+            /* silently ignore */
+#elif NO_TAINT_SUPPORT
+                    Perl_croak_nocontext("This perl was compiled without taint support. "
+                               "Cowardly refusing to run with -t or -T flags");
+#else
+		    if( !TAINTING_get) {
+		        TAINT_WARN_set(TRUE);
+		        TAINTING_set(TRUE);
 		    }
+#endif
 		} else {
 		    moreswitches(d);
 		}
@@ -1980,10 +2070,19 @@
     }
     }
 
+    /* Set $^X early so that it can be used for relocatable paths in @INC  */
+    /* and for SITELIB_EXP in USE_SITECUSTOMIZE                            */
+    assert (!TAINT_get);
+    TAINT;
+    S_set_caret_X(aTHX);
+    TAINT_NOT;
+
 #if defined(USE_SITECUSTOMIZE)
     if (!minus_f) {
 	/* The games with local $! are to avoid setting errno if there is no
-	   sitecustomize script.  */
+	   sitecustomize script.  "q%c...%c", 0, ..., 0 becomes "q\0...\0",
+	   ie a q() operator with a NUL byte as a the delimiter. This avoids
+	   problems with pathnames containing (say) '  */
 #  ifdef PERL_IS_MINIPERL
 	AV *const inc = GvAV(PL_incgv);
 	SV **const inc0 = inc ? av_fetch(inc, 0, FALSE) : NULL;
@@ -1991,14 +2090,26 @@
 	if (inc0) {
 	    (void)Perl_av_create_and_unshift_one(aTHX_ &PL_preambleav,
 						 Perl_newSVpvf(aTHX_
-							       "BEGIN { do {local $!; -f '%"SVf"/buildcustomize.pl'} && do '%"SVf"/buildcustomize.pl' }", *inc0, *inc0));
+							       "BEGIN { do {local $!; -f q%c%"SVf"/buildcustomize.pl%c} && do q%c%"SVf"/buildcustomize.pl%c }",
+							       0, *inc0, 0,
+							       0, *inc0, 0));
 	}
 #  else
 	/* SITELIB_EXP is a function call on Win32.  */
-	const char *const sitelib = SITELIB_EXP;
-	(void)Perl_av_create_and_unshift_one(aTHX_ &PL_preambleav,
-					     Perl_newSVpvf(aTHX_
-							   "BEGIN { do {local $!; -f '%s/sitecustomize.pl'} && do '%s/sitecustomize.pl' }", sitelib, sitelib));
+	const char *const raw_sitelib = SITELIB_EXP;
+	if (raw_sitelib) {
+	    /* process .../.. if PERL_RELOCATABLE_INC is defined */
+	    SV *sitelib_sv = mayberelocate(raw_sitelib, strlen(raw_sitelib),
+					   INCPUSH_CAN_RELOCATE);
+	    const char *const sitelib = SvPVX(sitelib_sv);
+	    (void)Perl_av_create_and_unshift_one(aTHX_ &PL_preambleav,
+						 Perl_newSVpvf(aTHX_
+							       "BEGIN { do {local $!; -f q%c%s/sitecustomize.pl%c} && do q%c%s/sitecustomize.pl%c }",
+							       0, sitelib, 0,
+							       0, sitelib, 0));
+	    assert (SvREFCNT(sitelib_sv) == 1);
+	    SvREFCNT_dec(sitelib_sv);
+	}
 #  endif
     }
 #endif
@@ -2017,20 +2128,19 @@
 	scriptname = "-";
     }
 
-    /* Set $^X early so that it can be used for relocatable paths in @INC  */
-    assert (!PL_tainted);
-    TAINT;
-    S_set_caret_X(aTHX);
-    TAINT_NOT;
+    assert (!TAINT_get);
     init_perllib();
 
     {
 	bool suidscript = FALSE;
 
-	open_script(scriptname, dosearch, &suidscript, &rsfp);
+	rsfp = open_script(scriptname, dosearch, &suidscript);
+	if (!rsfp) {
+	    rsfp = PerlIO_stdin();
+	    lex_start_flags = LEX_DONT_CLOSE_RSFP;
+	}
 
-	validate_suid(validarg, scriptname, fdscript, suidscript,
-		      linestr_sv, rsfp);
+	validate_suid(rsfp);
 
 #ifndef PERL_MICRO
 #  if defined(SIGCHLD) || defined(SIGCLD)
@@ -2055,6 +2165,8 @@
 	    forbid_setid('x', suidscript);
 	    /* Hence you can't get here if suidscript is true */
 
+	    linestr_sv = newSV_type(SVt_PV);
+	    lex_start_flags |= LEX_START_COPIED;
 	    find_beginning(linestr_sv, rsfp);
 	    if (cddir && PerlDir_chdir( (char *)cddir ) < 0)
 		Perl_croak(aTHX_ "Can't chdir to %s",cddir);
@@ -2076,7 +2188,7 @@
     if (xsinit)
 	(*xsinit)(aTHX);	/* in case linked C routines want magical variables */
 #ifndef PERL_MICRO
-#if defined(VMS) || defined(WIN32) || defined(DJGPP) || defined(__CYGWIN__) || defined(EPOC) || defined(SYMBIAN)
+#if defined(VMS) || defined(WIN32) || defined(DJGPP) || defined(__CYGWIN__) || defined(SYMBIAN)
     init_os_extras();
 #endif
 #endif
@@ -2159,7 +2271,8 @@
 #ifdef PERL_MAD
     {
 	const char *s;
-    if ((s = PerlEnv_getenv("PERL_XMLDUMP"))) {
+    if (!TAINTING_get &&
+        (s = PerlEnv_getenv("PERL_XMLDUMP"))) {
 	PL_madskills = 1;
 	PL_minus_c = 1;
 	if (!s || !s[0])
@@ -2182,7 +2295,9 @@
     }
 #endif
 
-    lex_start(linestr_sv, rsfp, 0);
+    lex_start(linestr_sv, rsfp, lex_start_flags);
+    SvREFCNT_dec(linestr_sv);
+
     PL_subname = newSVpvs("main");
 
     if (add_read_e_script)
@@ -2200,7 +2315,7 @@
 	}
     }
     CopLINE_set(PL_curcop, 0);
-    PL_curstash = PL_defstash;
+    SET_CURSTASH(PL_defstash);
     if (PL_e_script) {
 	SvREFCNT_dec(PL_e_script);
 	PL_e_script = NULL;
@@ -2271,10 +2386,10 @@
 	while (PL_scopestack_ix > oldscope)
 	    LEAVE;
 	FREETMPS;
-	PL_curstash = PL_defstash;
+	SET_CURSTASH(PL_defstash);
 	if (!(PL_exit_flags & PERL_EXIT_DESTRUCT_END) &&
 	    PL_endav && !PL_minus_c) {
-	    PL_phase = PERL_PHASE_END;
+	    PERL_SET_PHASE(PERL_PHASE_END);
 	    call_list(oldscope, PL_endav);
 	}
 #ifdef MYMALLOC
@@ -2288,7 +2403,7 @@
 	    POPSTACK_TO(PL_mainstack);
 	    goto redo_body;
 	}
-	PerlIO_printf(Perl_error_log, "panic: restartop\n");
+	PerlIO_printf(Perl_error_log, "panic: restartop in perl_run\n");
 	FREETMPS;
 	ret = 1;
 	break;
@@ -2302,8 +2417,9 @@
 S_run_body(pTHX_ I32 oldscope)
 {
     dVAR;
-    DEBUG_r(PerlIO_printf(Perl_debug_log, "%s $` $& $' support.\n",
-                    PL_sawampersand ? "Enabling" : "Omitting"));
+    DEBUG_r(PerlIO_printf(Perl_debug_log, "%s $` $& $' support (0x%x).\n",
+                    PL_sawampersand ? "Enabling" : "Omitting",
+                    (unsigned int)(PL_sawampersand)));
 
     if (!PL_restartop) {
 #ifdef PERL_MAD
@@ -2326,17 +2442,18 @@
 	if (PERLDB_SINGLE && PL_DBsingle)
 	    sv_setiv(PL_DBsingle, 1);
 	if (PL_initav) {
-	    PL_phase = PERL_PHASE_INIT;
+	    PERL_SET_PHASE(PERL_PHASE_INIT);
 	    call_list(oldscope, PL_initav);
 	}
 #ifdef PERL_DEBUG_READONLY_OPS
-	Perl_pending_Slabs_to_ro(aTHX);
+	if (PL_main_root && PL_main_root->op_slabbed)
+	    Slab_to_ro(OpSLAB(PL_main_root));
 #endif
     }
 
     /* do it */
 
-    PL_phase = PERL_PHASE_RUN;
+    PERL_SET_PHASE(PERL_PHASE_RUN);
 
     if (PL_restartop) {
 	PL_restartjmpenv = NULL;
@@ -2350,7 +2467,7 @@
 	CALLRUNOPS(aTHX);
     }
     my_exit(0);
-    /* NOTREACHED */
+    assert(0); /* NOTREACHED */
 }
 
 /*
@@ -2384,11 +2501,14 @@
 
 =for apidoc p||get_av
 
-Returns the AV of the specified Perl array.  C<flags> are passed to
-C<gv_fetchpv>. If C<GV_ADD> is set and the
+Returns the AV of the specified Perl global or package array with the given
+name (so it won't work on lexical variables).  C<flags> are passed 
+to C<gv_fetchpv>. If C<GV_ADD> is set and the
 Perl variable does not exist then it will be created.  If C<flags> is zero
 and the variable does not exist then NULL is returned.
 
+Perl equivalent: C<@{"$name"}>.
+
 =cut
 */
 
@@ -2455,17 +2575,14 @@
 Perl_get_cvn_flags(pTHX_ const char *name, STRLEN len, I32 flags)
 {
     GV* const gv = gv_fetchpvn_flags(name, len, flags, SVt_PVCV);
+
+    PERL_ARGS_ASSERT_GET_CVN_FLAGS;
+
     /* XXX this is probably not what they think they're getting.
      * It has the same effect as "sub name;", i.e. just a forward
      * declaration! */
-
-    PERL_ARGS_ASSERT_GET_CVN_FLAGS;
-
     if ((flags & ~GV_NOADD_MASK) && !GvCVu(gv)) {
-	SV *const sv = newSVpvn_flags(name, len, flags & SVf_UTF8);
-    	return newSUB(start_subparse(FALSE, 0),
-		      newSVOP(OP_CONST, 0, sv),
-		      NULL, NULL);
+    	return newSTUB(gv,0);
     }
     if (gv)
 	return GvCVu(gv);
@@ -2490,13 +2607,16 @@
 
 =for apidoc p||call_argv
 
-Performs a callback to the specified Perl sub.  See L<perlcall>.
+Performs a callback to the specified named and package-scoped Perl subroutine 
+with C<argv> (a NULL-terminated array of strings) as arguments. See L<perlcall>.
 
+Approximate Perl equivalent: C<&{"$sub_name"}(@$argv)>.
+
 =cut
 */
 
 I32
-Perl_call_argv(pTHX_ const char *sub_name, I32 flags, register char **argv)
+Perl_call_argv(pTHX_ const char *sub_name, I32 flags, char **argv)
 
           		/* See G_* flags in cop.h */
                      	/* null terminated arg list */
@@ -2596,7 +2716,6 @@
     }
 
     Zero(&myop, 1, LOGOP);
-    myop.op_next = NULL;
     if (!(flags & G_NOARGS))
 	myop.op_flags |= OPf_STACKED;
     myop.op_flags |= OP_GIMME_REVERSE(flags);
@@ -2615,11 +2734,11 @@
 	    * curstash may be meaningless. */
 	  && (SvTYPE(sv) != SVt_PVCV || CvSTASH((const CV *)sv) != PL_debstash)
 	  && !(flags & G_NODEBUG))
-	PL_op->op_private |= OPpENTERSUB_DB;
+	myop.op_private |= OPpENTERSUB_DB;
 
     if (flags & G_METHOD) {
 	Zero(&method_op, 1, UNOP);
-	method_op.op_next = PL_op;
+	method_op.op_next = (OP*)&myop;
 	method_op.op_ppaddr = PL_ppaddr[OP_METHOD];
 	method_op.op_type = OP_METHOD;
 	myop.op_ppaddr = PL_ppaddr[OP_ENTERSUB];
@@ -2655,11 +2774,11 @@
 	    /* FALL THROUGH */
 	case 2:
 	    /* my_exit() was called */
-	    PL_curstash = PL_defstash;
+	    SET_CURSTASH(PL_defstash);
 	    FREETMPS;
 	    JMPENV_POP;
 	    my_exit_jump();
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 	case 3:
 	    if (PL_restartop) {
 		PL_restartjmpenv = NULL;
@@ -2726,18 +2845,20 @@
 
     SAVEOP();
     PL_op = (OP*)&myop;
-    Zero(PL_op, 1, UNOP);
+    Zero(&myop, 1, UNOP);
     EXTEND(PL_stack_sp, 1);
     *++PL_stack_sp = sv;
 
     if (!(flags & G_NOARGS))
 	myop.op_flags = OPf_STACKED;
-    myop.op_next = NULL;
     myop.op_type = OP_ENTEREVAL;
     myop.op_flags |= OP_GIMME_REVERSE(flags);
     if (flags & G_KEEPERR)
 	myop.op_flags |= OPf_SPECIAL;
 
+    if (flags & G_RE_REPARSING)
+	myop.op_private = (OPpEVAL_COPHH | OPpEVAL_RE_REPARSING);
+
     /* fail now; otherwise we could fail after the JMPENV_PUSH but
      * before a PUSHEVAL, which corrupts the stack after a croak */
     TAINT_PROPER("eval_sv()");
@@ -2762,11 +2883,11 @@
 	/* FALL THROUGH */
     case 2:
 	/* my_exit() was called */
-	PL_curstash = PL_defstash;
+	SET_CURSTASH(PL_defstash);
 	FREETMPS;
 	JMPENV_POP;
 	my_exit_jump();
-	/* NOTREACHED */
+	assert(0); /* NOTREACHED */
     case 3:
 	if (PL_restartop) {
 	    PL_restartjmpenv = NULL;
@@ -2808,7 +2929,6 @@
 Perl_eval_pv(pTHX_ const char *p, I32 croak_on_error)
 {
     dVAR;
-    dSP;
     SV* sv = newSVpv(p, 0);
 
     PERL_ARGS_ASSERT_EVAL_PV;
@@ -2816,12 +2936,18 @@
     eval_sv(sv, G_SCALAR);
     SvREFCNT_dec(sv);
 
-    SPAGAIN;
-    sv = POPs;
-    PUTBACK;
+    {
+        dSP;
+        sv = POPs;
+        PUTBACK;
+    }
 
-    if (croak_on_error && SvTRUE(ERRSV)) {
-	Perl_croak(aTHX_ "%s", SvPVx_nolen_const(ERRSV));
+    /* just check empty string or undef? */
+    if (croak_on_error) {
+	SV * const errsv = ERRSV;
+	if(SvTRUE_NN(errsv))
+	    /* replace with croak_sv? */
+	    Perl_croak_nocontext("%s", SvPV_nolen_const(errsv));
     }
 
     return sv;
@@ -2858,7 +2984,7 @@
 }
 
 STATIC void
-S_usage(pTHX_ const char *name)		/* XXX move this out into a module ? */
+S_usage(pTHX)		/* XXX move this out into a module ? */
 {
     /* This message really ought to be max 23 lines.
      * Removed -h because the user already knows that option. Others? */
@@ -2901,13 +3027,12 @@
     const char * const *p = usage_msg;
     PerlIO *out = PerlIO_stdout();
 
-    PERL_ARGS_ASSERT_USAGE;
-
     PerlIO_printf(out,
 		  "\nUsage: %s [switches] [--] [programfile] [arguments]\n",
-		  name);
+		  PL_origargv[0]);
     while (*p)
 	PerlIO_puts(out, *p++);
+    my_exit(0);
 }
 
 /* convert a string of -D options (or digits) into an int.
@@ -2934,6 +3059,7 @@
       "  H  Hash dump -- usurps values()\n"
       "  X  Scratchpad allocation\n"
       "  D  Cleaning up\n"
+      "  S  Op slab allocation\n"
       "  T  Tokenising\n"
       "  R  Include reference counts of dumped variables (eg when using -Ds)\n",
       "  J  Do not s,t,P-debug (Jump over) opcodes within package DB\n"
@@ -2953,7 +3079,7 @@
 	/* if adding extra options, remember to update DEBUG_MASK */
 	static const char debopts[] = "psltocPmfrxuUHXDSTRJvCAqMB";
 
-	for (; isALNUM(**s); (*s)++) {
+	for (; isWORDCHAR(**s); (*s)++) {
 	    const char * const d = strchr(debopts,**s);
 	    if (d)
 		i |= 1 << (d - debopts);
@@ -2964,7 +3090,7 @@
     }
     else if (isDIGIT(**s)) {
 	i = atoi(*s);
-	for (; isALNUM(**s); (*s)++) ;
+	for (; isWORDCHAR(**s); (*s)++) ;
     }
     else if (givehelp) {
       const char *const *p = usage_msgd;
@@ -3058,7 +3184,7 @@
 	s++;
 
         /* -dt indicates to the debugger that threads will be used */
-	if (*s == 't' && !isALNUM(s[1])) {
+	if (*s == 't' && !isWORDCHAR(s[1])) {
 	    ++s;
 	    my_setenv("PERL5DB_THREADED", "1");
 	}
@@ -3081,7 +3207,7 @@
 	    end = s + strlen(s);
 
 	    /* We now allow -d:Module=Foo,Bar and -d:-Module */
-	    while(isALNUM(*s) || *s==':') ++s;
+	    while(isWORDCHAR(*s) || *s==':') ++s;
 	    if (*s != '=')
 		sv_catpvn(sv, start, end - start);
 	    else {
@@ -3109,13 +3235,12 @@
 	if (ckWARN_d(WARN_DEBUGGING))
 	    Perl_warner(aTHX_ packWARN(WARN_DEBUGGING),
 	           "Recompile perl with -DDEBUGGING to use -D switch (did you mean -d ?)\n");
-	for (s++; isALNUM(*s); s++) ;
+	for (s++; isWORDCHAR(*s); s++) ;
 #endif
 	return s;
     }	
     case 'h':
-	usage(PL_origargv[0]);
-	my_exit(0);
+	usage();
     case 'i':
 	Safefree(PL_inplace);
 #if defined(__CYGWIN__) /* do backup extension automagically */
@@ -3203,7 +3328,7 @@
 	    sv = newSVpvn(use,4);
 	    start = s;
 	    /* We allow -M'Module qw(Foo Bar)'	*/
-	    while(isALNUM(*s) || *s==':') {
+	    while(isWORDCHAR(*s) || *s==':') {
 		if( *s++ == ':' ) {
 		    if( *s == ':' ) 
 			s++;
@@ -3254,14 +3379,17 @@
 	s++;
 	return s;
     case 't':
-        if (!PL_tainting)
-	    TOO_LATE_FOR('t');
+    case 'T':
+#if SILENT_NO_TAINT_SUPPORT
+            /* silently ignore */
+#elif NO_TAINT_SUPPORT
+        Perl_croak_nocontext("This perl was compiled without taint support. "
+                   "Cowardly refusing to run with -t or -T flags");
+#else
+        if (!TAINTING_get)
+	    TOO_LATE_FOR(*s);
+#endif
         s++;
-        return s;
-    case 'T':
-	if (!PL_tainting)
-	    TOO_LATE_FOR('T');
-	s++;
 	return s;
     case 'u':
 	PL_do_undump = TRUE;
@@ -3272,6 +3400,65 @@
 	s++;
 	return s;
     case 'v':
+	minus_v();
+    case 'w':
+	if (! (PL_dowarn & G_WARN_ALL_MASK)) {
+	    PL_dowarn |= G_WARN_ON;
+	}
+	s++;
+	return s;
+    case 'W':
+	PL_dowarn = G_WARN_ALL_ON|G_WARN_ON;
+        if (!specialWARN(PL_compiling.cop_warnings))
+            PerlMemShared_free(PL_compiling.cop_warnings);
+	PL_compiling.cop_warnings = pWARN_ALL ;
+	s++;
+	return s;
+    case 'X':
+	PL_dowarn = G_WARN_ALL_OFF;
+        if (!specialWARN(PL_compiling.cop_warnings))
+            PerlMemShared_free(PL_compiling.cop_warnings);
+	PL_compiling.cop_warnings = pWARN_NONE ;
+	s++;
+	return s;
+    case '*':
+    case ' ':
+        while( *s == ' ' )
+          ++s;
+	if (s[0] == '-')	/* Additional switches on #! line. */
+	    return s+1;
+	break;
+    case '-':
+    case 0:
+#if defined(WIN32) || !defined(PERL_STRICT_CR)
+    case '\r':
+#endif
+    case '\n':
+    case '\t':
+	break;
+#ifdef ALTERNATE_SHEBANG
+    case 'S':			/* OS/2 needs -S on "extproc" line. */
+	break;
+#endif
+    case 'e': case 'f': case 'x': case 'E':
+#ifndef ALTERNATE_SHEBANG
+    case 'S':
+#endif
+    case 'V':
+	Perl_croak(aTHX_ "Can't emulate -%.1s on #! line",s);
+    default:
+	Perl_croak(aTHX_
+	    "Unrecognized switch: -%.1s  (-h will show valid options)",s
+	);
+    }
+    return NULL;
+}
+
+
+STATIC void
+S_minus_v(pTHX)
+{
+	PerlIO * PIO_stdout;
 	if (!sv_derived_from(PL_patchlevel, "version"))
 	    upg_version(PL_patchlevel, TRUE);
 #if !defined(DGUX)
@@ -3283,16 +3470,22 @@
 #  else
 	    SV *num = newSVpvs(PERL_PATCHNUM);
 #  endif
-
-	    if (sv_len(num)>=sv_len(level) && strnEQ(SvPV_nolen(num),SvPV_nolen(level),sv_len(level))) {
-		SvREFCNT_dec(level);
-		level= num;
-	    } else {
-		Perl_sv_catpvf(aTHX_ level, " (%"SVf")", num);
-		SvREFCNT_dec(num);
+	    {
+		STRLEN level_len, num_len;
+		char * level_str, * num_str;
+		num_str = SvPV(num, num_len);
+		level_str = SvPV(level, level_len);
+		if (num_len>=level_len && strnEQ(num_str,level_str,level_len)) {
+		    SvREFCNT_dec(level);
+		    level= num;
+		} else {
+		    Perl_sv_catpvf(aTHX_ level, " (%"SVf")", num);
+		    SvREFCNT_dec(num);
+		}
 	    }
  #endif
-	    PerlIO_printf(PerlIO_stdout(),
+	PIO_stdout =  PerlIO_stdout();
+	    PerlIO_printf(PIO_stdout,
 		"\nThis is perl "	STRINGIFY(PERL_REVISION)
 		", version "		STRINGIFY(PERL_VERSION)
 		", subversion "		STRINGIFY(PERL_SUBVERSION)
@@ -3301,20 +3494,21 @@
 	    SvREFCNT_dec(level);
 	}
 #else /* DGUX */
+	PIO_stdout =  PerlIO_stdout();
 /* Adjust verbose output as in the perl that ships with the DG/UX OS from EMC */
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 		Perl_form(aTHX_ "\nThis is perl, %"SVf"\n",
 		    SVfARG(vstringify(PL_patchlevel))));
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 			Perl_form(aTHX_ "        built under %s at %s %s\n",
 					OSNAME, __DATE__, __TIME__));
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 			Perl_form(aTHX_ "        OS Specific Release: %s\n",
 					OSVERS));
 #endif /* !DGUX */
 #if defined(LOCAL_PATCH_COUNT)
 	if (LOCAL_PATCH_COUNT > 0)
-	    PerlIO_printf(PerlIO_stdout(),
+	    PerlIO_printf(PIO_stdout,
 			  "\n(with %d registered patch%s, "
 			  "see perl -V for more detail)",
 			  LOCAL_PATCH_COUNT,
@@ -3321,67 +3515,48 @@
 			  (LOCAL_PATCH_COUNT!=1) ? "es" : "");
 #endif
 
-	PerlIO_printf(PerlIO_stdout(),
-		      "\n\nCopyright 1987-2011, Larry Wall\n");
+	PerlIO_printf(PIO_stdout,
+		      "\n\nCopyright 1987-2013, Larry Wall\n");
 #ifdef MSDOS
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 		      "\nMS-DOS port Copyright (c) 1989, 1990, Diomidis Spinellis\n");
 #endif
 #ifdef DJGPP
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 		      "djgpp v2 port (jpl5003c) by Hirofumi Watanabe, 1996\n"
 		      "djgpp v2 port (perl5004+) by Laszlo Molnar, 1997-1999\n");
 #endif
 #ifdef OS2
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 		      "\n\nOS/2 port Copyright (c) 1990, 1991, Raymond Chen, Kai Uwe Rommel\n"
 		      "Version 5 port Copyright (c) 1994-2002, Andreas Kaiser, Ilya Zakharevich\n");
 #endif
-#ifdef atarist
-	PerlIO_printf(PerlIO_stdout(),
-		      "atariST series port, ++jrb  bammi at cadence.com\n");
-#endif
-#ifdef __BEOS__
-	PerlIO_printf(PerlIO_stdout(),
-		      "BeOS port Copyright Tom Spindler, 1997-1999\n");
-#endif
-#ifdef MPE
-	PerlIO_printf(PerlIO_stdout(),
-		      "MPE/iX port Copyright by Mark Klein and Mark Bixby, 1996-2003\n");
-#endif
 #ifdef OEMVS
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 		      "MVS (OS390) port by Mortice Kern Systems, 1997-1999\n");
 #endif
 #ifdef __VOS__
-	PerlIO_printf(PerlIO_stdout(),
-		      "Stratus VOS port by Paul.Green at stratus.com, 1997-2002\n");
+	PerlIO_printf(PIO_stdout,
+		      "Stratus OpenVOS port by Paul.Green at stratus.com, 1997-2013\n");
 #endif
-#ifdef __OPEN_VM
-	PerlIO_printf(PerlIO_stdout(),
-		      "VM/ESA port by Neale Ferguson, 1998-1999\n");
-#endif
 #ifdef POSIX_BC
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 		      "BS2000 (POSIX) port by Start Amadeus GmbH, 1998-1999\n");
 #endif
-#ifdef EPOC
-	PerlIO_printf(PerlIO_stdout(),
-		      "EPOC port by Olaf Flebbe, 1999-2002\n");
-#endif
 #ifdef UNDER_CE
-	PerlIO_printf(PerlIO_stdout(),"WINCE port by Rainer Keuchel, 2001-2002\n");
-	PerlIO_printf(PerlIO_stdout(),"Built on " __DATE__ " " __TIME__ "\n\n");
+	PerlIO_printf(PIO_stdout,
+			"WINCE port by Rainer Keuchel, 2001-2002\n"
+			"Built on " __DATE__ " " __TIME__ "\n\n");
 	wce_hitreturn();
 #endif
 #ifdef __SYMBIAN32__
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 		      "Symbian port by Nokia, 2004-2005\n");
 #endif
 #ifdef BINARY_BUILD_NOTICE
 	BINARY_BUILD_NOTICE;
 #endif
-	PerlIO_printf(PerlIO_stdout(),
+	PerlIO_printf(PIO_stdout,
 		      "\n\
 Perl may be copied only under the terms of either the Artistic License or the\n\
 GNU General Public License, which may be found in the Perl 5 source kit.\n\n\
@@ -3389,49 +3564,6 @@
 this system using \"man perl\" or \"perldoc perl\".  If you have access to the\n\
 Internet, point your browser at http://www.perl.org/, the Perl Home Page.\n\n");
 	my_exit(0);
-    case 'w':
-	if (! (PL_dowarn & G_WARN_ALL_MASK)) {
-	    PL_dowarn |= G_WARN_ON;
-	}
-	s++;
-	return s;
-    case 'W':
-	PL_dowarn = G_WARN_ALL_ON|G_WARN_ON;
-        if (!specialWARN(PL_compiling.cop_warnings))
-            PerlMemShared_free(PL_compiling.cop_warnings);
-	PL_compiling.cop_warnings = pWARN_ALL ;
-	s++;
-	return s;
-    case 'X':
-	PL_dowarn = G_WARN_ALL_OFF;
-        if (!specialWARN(PL_compiling.cop_warnings))
-            PerlMemShared_free(PL_compiling.cop_warnings);
-	PL_compiling.cop_warnings = pWARN_NONE ;
-	s++;
-	return s;
-    case '*':
-    case ' ':
-        while( *s == ' ' )
-          ++s;
-	if (s[0] == '-')	/* Additional switches on #! line. */
-	    return s+1;
-	break;
-    case '-':
-    case 0:
-#if defined(WIN32) || !defined(PERL_STRICT_CR)
-    case '\r':
-#endif
-    case '\n':
-    case '\t':
-	break;
-#ifdef ALTERNATE_SHEBANG
-    case 'S':			/* OS/2 needs -S on "extproc" line. */
-	break;
-#endif
-    default:
-	Perl_croak(aTHX_ "Can't emulate -%.1s on #! line",s);
-    }
-    return NULL;
 }
 
 /* compliments of Tom Christiansen */
@@ -3439,6 +3571,10 @@
 /* unexec() can be found in the Gnu emacs distribution */
 /* Known to work with -DUNEXEC and using unexelf.c from GNU emacs-20.2 */
 
+#ifdef VMS
+#include <lib$routines.h>
+#endif
+
 void
 Perl_my_unexec(pTHX)
 {
@@ -3457,7 +3593,6 @@
     PerlProc_exit(status);
 #else
 #  ifdef VMS
-#    include <lib$routines.h>
      lib$signal(SS$_DEBUG);  /* ssdef.h #included from vmsish.h */
 #  elif defined(WIN32) || defined(__CYGWIN__)
     Perl_croak(aTHX_ "dump is not supported");
@@ -3473,14 +3608,14 @@
 {
     dVAR;
 #ifdef MULTIPLICITY
-#  define PERLVAR(var,type)
-#  define PERLVARA(var,n,type)
+#  define PERLVAR(prefix,var,type)
+#  define PERLVARA(prefix,var,n,type)
 #  if defined(PERL_IMPLICIT_CONTEXT)
-#    define PERLVARI(var,type,init)		aTHX->var = init;
-#    define PERLVARIC(var,type,init)	aTHX->var = init;
+#    define PERLVARI(prefix,var,type,init)	aTHX->prefix##var = init;
+#    define PERLVARIC(prefix,var,type,init)	aTHX->prefix##var = init;
 #  else
-#    define PERLVARI(var,type,init)	PERL_GET_INTERP->var = init;
-#    define PERLVARIC(var,type,init)	PERL_GET_INTERP->var = init;
+#    define PERLVARI(prefix,var,type,init)	PERL_GET_INTERP->var = init;
+#    define PERLVARIC(prefix,var,type,init)	PERL_GET_INTERP->var = init;
 #  endif
 #  include "intrpvar.h"
 #  undef PERLVAR
@@ -3488,10 +3623,10 @@
 #  undef PERLVARI
 #  undef PERLVARIC
 #else
-#  define PERLVAR(var,type)
-#  define PERLVARA(var,n,type)
-#  define PERLVARI(var,type,init)	PL_##var = init;
-#  define PERLVARIC(var,type,init)	PL_##var = init;
+#  define PERLVAR(prefix,var,type)
+#  define PERLVARA(prefix,var,n,type)
+#  define PERLVARI(prefix,var,type,init)	PL_##var = init;
+#  define PERLVARIC(prefix,var,type,init)	PL_##var = init;
 #  include "intrpvar.h"
 #  undef PERLVAR
 #  undef PERLVARA
@@ -3511,7 +3646,7 @@
     dVAR;
     GV *gv;
 
-    PL_curstash = PL_defstash = newHV();
+    PL_curstash = PL_defstash = (HV *)SvREFCNT_inc_simple_NN(newHV());
     /* We know that the string "main" will be in the global shared string
        table, so it's a small saving to use it rather than allocate another
        8 bytes.  */
@@ -3544,7 +3679,7 @@
 #endif
     sv_grow(ERRSV, 240);	/* Preallocate - for immediate signals. */
     CLEAR_ERRSV();
-    PL_curstash = PL_defstash;
+    SET_CURSTASH(PL_defstash);
     CopSTASH_set(&PL_compiling, PL_defstash);
     PL_debstash = GvHV(gv_fetchpvs("DB::", GV_ADDMULTI, SVt_PVHV));
     PL_globalstash = GvHV(gv_fetchpvs("CORE::GLOBAL::", GV_ADDMULTI,
@@ -3553,12 +3688,13 @@
     sv_setpvs(get_sv("/", GV_ADD), "\n");
 }
 
-STATIC int
-S_open_script(pTHX_ const char *scriptname, bool dosearch,
-	      bool *suidscript, PerlIO **rsfpp)
+STATIC PerlIO *
+S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript)
 {
     int fdscript = -1;
+    PerlIO *rsfp = NULL;
     dVAR;
+    Stat_t tmpstatbuf;
 
     PERL_ARGS_ASSERT_OPEN_SCRIPT;
 
@@ -3607,16 +3743,11 @@
     if (*PL_origfilename == '-' && PL_origfilename[1] == '\0')
 	scriptname = (char *)"";
     if (fdscript >= 0) {
-	*rsfpp = PerlIO_fdopen(fdscript,PERL_SCRIPT_MODE);
-#       if defined(HAS_FCNTL) && defined(F_SETFD)
-	    if (*rsfpp)
-                /* ensure close-on-exec */
-	        fcntl(PerlIO_fileno(*rsfpp),F_SETFD,1);
-#       endif
+	rsfp = PerlIO_fdopen(fdscript,PERL_SCRIPT_MODE);
     }
     else if (!*scriptname) {
 	forbid_setid(0, *suidscript);
-	*rsfpp = PerlIO_stdin();
+	return NULL;
     }
     else {
 #ifdef FAKE_BIT_BUCKET
@@ -3651,7 +3782,7 @@
 #endif
 	}
 #endif
-	*rsfpp = PerlIO_open(scriptname,PERL_SCRIPT_MODE);
+	rsfp = PerlIO_open(scriptname,PERL_SCRIPT_MODE);
 #ifdef FAKE_BIT_BUCKET
 	if (memEQ(scriptname, FAKE_BIT_BUCKET_PREFIX,
 		  sizeof(FAKE_BIT_BUCKET_PREFIX) - 1)
@@ -3660,13 +3791,8 @@
 	}
 	scriptname = BIT_BUCKET;
 #endif
-#       if defined(HAS_FCNTL) && defined(F_SETFD)
-	    if (*rsfpp)
-                /* ensure close-on-exec */
-	        fcntl(PerlIO_fileno(*rsfpp),F_SETFD,1);
-#       endif
     }
-    if (!*rsfpp) {
+    if (!rsfp) {
 	/* PSz 16 Sep 03  Keep neat error message */
 	if (PL_e_script)
 	    Perl_croak(aTHX_ "Can't open "BIT_BUCKET": %s\n", Strerror(errno));
@@ -3674,7 +3800,18 @@
 	    Perl_croak(aTHX_ "Can't open perl script \"%s\": %s\n",
 		    CopFILE(PL_curcop), Strerror(errno));
     }
-    return fdscript;
+#if defined(HAS_FCNTL) && defined(F_SETFD)
+    /* ensure close-on-exec */
+    fcntl(PerlIO_fileno(rsfp), F_SETFD, 1);
+#endif
+
+    if (PerlLIO_fstat(PerlIO_fileno(rsfp), &tmpstatbuf) >= 0
+        && S_ISDIR(tmpstatbuf.st_mode))
+        Perl_croak(aTHX_ "Can't open perl script \"%s\": %s\n",
+            CopFILE(PL_curcop),
+            strerror(EISDIR));
+
+    return rsfp;
 }
 
 /* Mention
@@ -3691,15 +3828,20 @@
 STATIC void
 S_validate_suid(pTHX_ PerlIO *rsfp)
 {
+    const UV  my_uid = PerlProc_getuid();
+    const UV my_euid = PerlProc_geteuid();
+    const UV  my_gid = PerlProc_getgid();
+    const UV my_egid = PerlProc_getegid();
+
     PERL_ARGS_ASSERT_VALIDATE_SUID;
 
-    if (PL_euid != PL_uid || PL_egid != PL_gid) {	/* (suidperl doesn't exist, in fact) */
+    if (my_euid != my_uid || my_egid != my_gid) {	/* (suidperl doesn't exist, in fact) */
 	dVAR;
 
 	PerlLIO_fstat(PerlIO_fileno(rsfp),&PL_statbuf);	/* may be either wrapped or real suid */
-	if ((PL_euid != PL_uid && PL_euid == PL_statbuf.st_uid && PL_statbuf.st_mode & S_ISUID)
+	if ((my_euid != my_uid && my_euid == PL_statbuf.st_uid && PL_statbuf.st_mode & S_ISUID)
 	    ||
-	    (PL_egid != PL_gid && PL_egid == PL_statbuf.st_gid && PL_statbuf.st_mode & S_ISGID)
+	    (my_egid != my_gid && my_egid == PL_statbuf.st_gid && PL_statbuf.st_mode & S_ISGID)
 	   )
 	    if (!PL_do_undump)
 		Perl_croak(aTHX_ "YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!\n\
@@ -3714,7 +3856,7 @@
 {
     dVAR;
     const char *s;
-    register const char *s2;
+    const char *s2;
 
     PERL_ARGS_ASSERT_FIND_BEGINNING;
 
@@ -3742,18 +3884,19 @@
 STATIC void
 S_init_ids(pTHX)
 {
+    /* no need to do anything here any more if we don't
+     * do tainting. */
+#if !NO_TAINT_SUPPORT
     dVAR;
-    PL_uid = PerlProc_getuid();
-    PL_euid = PerlProc_geteuid();
-    PL_gid = PerlProc_getgid();
-    PL_egid = PerlProc_getegid();
-#ifdef VMS
-    PL_uid |= PL_gid << 16;
-    PL_euid |= PL_egid << 16;
+    const UV my_uid = PerlProc_getuid();
+    const UV my_euid = PerlProc_geteuid();
+    const UV my_gid = PerlProc_getgid();
+    const UV my_egid = PerlProc_getegid();
+
+    /* Should not happen: */
+    CHECK_MALLOC_TAINT(my_uid && (my_euid != my_uid || my_egid != my_gid));
+    TAINTING_set( TAINTING_get | (my_uid && (my_euid != my_uid || my_egid != my_gid)) );
 #endif
-    /* Should not happen: */
-    CHECK_MALLOC_TAINT(PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
-    PL_tainting |= (PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
     /* BUG */
     /* PSz 27 Feb 04
      * Should go by suidscript, not uid!=euid: why disallow
@@ -3819,9 +3962,9 @@
     }
 
 #ifdef SETUID_SCRIPTS_ARE_SECURE_NOW
-    if (PL_euid != PL_uid)
+    if (PerlProc_getuid() != PerlProc_geteuid())
         Perl_croak(aTHX_ "No %s allowed while running setuid", message);
-    if (PL_egid != PL_gid)
+    if (PerlProc_getgid() != PerlProc_getegid())
         Perl_croak(aTHX_ "No %s allowed while running setgid", message);
 #endif /* SETUID_SCRIPTS_ARE_SECURE_NOW */
     if (suidscript)
@@ -3840,6 +3983,8 @@
 	   It might have entries, and if we just turn off AvREAL(), they will
 	   "leak" until global destruction.  */
 	av_clear(args);
+	if (SvTIED_mg((const SV *)args, PERL_MAGIC_tied))
+	    Perl_croak(aTHX_ "Cannot set tied @DB::args");
     }
     AvREIFY_only(PL_dbargs);
 }
@@ -3850,7 +3995,7 @@
     dVAR;
     HV * const ostash = PL_curstash;
 
-    PL_curstash = PL_debstash;
+    PL_curstash = (HV *)SvREFCNT_inc_simple(PL_debstash);
 
     Perl_init_dbargs(aTHX);
     PL_DBgv = gv_fetchpvs("DB::DB", GV_ADDMULTI, SVt_PVGV);
@@ -3865,6 +4010,7 @@
     PL_DBsignal = GvSV((gv_fetchpvs("DB::signal", GV_ADDMULTI, SVt_PV)));
     if (!SvIOK(PL_DBsignal))
 	sv_setiv(PL_DBsignal, 0);
+    SvREFCNT_dec(PL_curstash);
     PL_curstash = ostash;
 }
 
@@ -4028,11 +4174,11 @@
     GvMULTI_on(tmpgv);
     GvIOp(tmpgv) = MUTABLE_IO(SvREFCNT_inc_simple(io));
 
-    PL_statname = newSV(0);		/* last filename we did stat on */
+    PL_statname = newSVpvs("");		/* last filename we did stat on */
 }
 
 void
-Perl_init_argv_symbols(pTHX_ register int argc, register char **argv)
+Perl_init_argv_symbols(pTHX_ int argc, char **argv)
 {
     dVAR;
 
@@ -4072,10 +4218,15 @@
 		 (void)sv_utf8_decode(sv);
 	}
     }
+
+    if (PL_inplace && (!PL_argvgv || AvFILL(GvAV(PL_argvgv)) == -1))
+        Perl_ck_warner_d(aTHX_ packWARN(WARN_INPLACE),
+                         "-i used with no filenames on the command line, "
+                         "reading from STDIN");
 }
 
 STATIC void
-S_init_postdump_symbols(pTHX_ register int argc, register char **argv, register char **env)
+S_init_postdump_symbols(pTHX_ int argc, char **argv, char **env)
 {
     dVAR;
     GV* tmpgv;
@@ -4082,9 +4233,9 @@
 
     PERL_ARGS_ASSERT_INIT_POSTDUMP_SYMBOLS;
 
-    PL_toptarget = newSV_type(SVt_PVFM);
+    PL_toptarget = newSV_type(SVt_PVIV);
     sv_setpvs(PL_toptarget, "");
-    PL_bodytarget = newSV_type(SVt_PVFM);
+    PL_bodytarget = newSV_type(SVt_PVIV);
     sv_setpvs(PL_bodytarget, "");
     PL_formtarget = PL_bodytarget;
 
@@ -4143,14 +4294,6 @@
 #endif /* !PERL_MICRO */
     }
     TAINT_NOT;
-    if ((tmpgv = gv_fetchpvs("$", GV_ADD|GV_NOTQUAL, SVt_PV))) {
-        SvREADONLY_off(GvSV(tmpgv));
-	sv_setiv(GvSV(tmpgv), (IV)PerlProc_getpid());
-        SvREADONLY_on(GvSV(tmpgv));
-    }
-#ifdef THREADS_HAVE_PIDS
-    PL_ppid = (IV)getppid();
-#endif
 
     /* touch @F array to prevent spurious warnings 20020415 MJD */
     if (PL_minus_a) {
@@ -4170,7 +4313,7 @@
     STRLEN len;
 #endif
 
-    if (!PL_tainting) {
+    if (!TAINTING_get) {
 #ifndef VMS
 	perl5lib = PerlEnv_getenv("PERL5LIB");
 /*
@@ -4286,7 +4429,7 @@
 		      |INCPUSH_CAN_RELOCATE);
 #endif
 
-    if (!PL_tainting) {
+    if (!TAINTING_get) {
 #ifndef VMS
 /*
  * It isn't possible to delete an environment variable with
@@ -4343,11 +4486,11 @@
 #endif
 #endif /* !PERL_IS_MINIPERL */
 
-    if (!PL_tainting)
+    if (!TAINTING_get)
 	S_incpush(aTHX_ STR_WITH_LEN("."), 0);
 }
 
-#if defined(DOSISH) || defined(EPOC) || defined(__SYMBIAN32__)
+#if defined(DOSISH) || defined(__SYMBIAN32__)
 #    define PERLLIB_SEP ';'
 #else
 #  if defined(VMS)
@@ -4384,59 +4527,25 @@
 }
 #endif
 
-STATIC void
-S_incpush(pTHX_ const char *const dir, STRLEN len, U32 flags)
+STATIC SV *
+S_mayberelocate(pTHX_ const char *const dir, STRLEN len, U32 flags)
 {
-    dVAR;
-#ifndef PERL_IS_MINIPERL
-    const U8 using_sub_dirs
-	= (U8)flags & (INCPUSH_ADD_VERSIONED_SUB_DIRS
-		       |INCPUSH_ADD_ARCHONLY_SUB_DIRS|INCPUSH_ADD_OLD_VERS);
-    const U8 add_versioned_sub_dirs
-	= (U8)flags & INCPUSH_ADD_VERSIONED_SUB_DIRS;
-    const U8 add_archonly_sub_dirs
-	= (U8)flags & INCPUSH_ADD_ARCHONLY_SUB_DIRS;
-#ifdef PERL_INC_VERSION_LIST
-    const U8 addoldvers  = (U8)flags & INCPUSH_ADD_OLD_VERS;
-#endif
-#endif
     const U8 canrelocate = (U8)flags & INCPUSH_CAN_RELOCATE;
-    const U8 unshift     = (U8)flags & INCPUSH_UNSHIFT;
-    const U8 push_basedir = (flags & INCPUSH_NOT_BASEDIR) ? 0 : 1;
-    AV *const inc = GvAVn(PL_incgv);
+    SV *libdir;
 
-    PERL_ARGS_ASSERT_INCPUSH;
+    PERL_ARGS_ASSERT_MAYBERELOCATE;
     assert(len > 0);
 
-    /* Could remove this vestigial extra block, if we don't mind a lot of
-       re-indenting diff noise.  */
-    {
-	SV *libdir;
-	/* Change 20189146be79a0596543441fa369c6bf7f85103f, to fix RT#6665,
-	   arranged to unshift #! line -I onto the front of @INC. However,
-	   -I can add version and architecture specific libraries, and they
-	   need to go first. The old code assumed that it was always
-	   pushing. Hence to make it work, need to push the architecture
-	   (etc) libraries onto a temporary array, then "unshift" that onto
-	   the front of @INC.  */
-#ifndef PERL_IS_MINIPERL
-	AV *const av = (using_sub_dirs) ? (unshift ? newAV() : inc) : NULL;
-#endif
+    /* I am not convinced that this is valid when PERLLIB_MANGLE is
+       defined to so something (in os2/os2.c), but the code has been
+       this way, ignoring any possible changed of length, since
+       760ac839baf413929cd31cc32ffd6dba6b781a81 (5.003_02) so I'll leave
+       it be.  */
+    libdir = newSVpvn(PERLLIB_MANGLE(dir, len), len);
 
-	if (len) {
-	    /* I am not convinced that this is valid when PERLLIB_MANGLE is
-	       defined to so something (in os2/os2.c), but the code has been
-	       this way, ignoring any possible changed of length, since
-	       760ac839baf413929cd31cc32ffd6dba6b781a81 (5.003_02) so I'll leave
-	       it be.  */
-	    libdir = newSVpvn(PERLLIB_MANGLE(dir, len), len);
-	} else {
-	    libdir = newSVpv(PERLLIB_MANGLE(dir, 0), 0);
-	}
-
 #ifdef VMS
+    {
 	char *unix;
-	STRLEN len;
 
 	if ((unix = tounixspec_ts(SvPV(libdir,len),NULL)) != NULL) {
 	    len = strlen(unix);
@@ -4446,7 +4555,8 @@
 	else
 	    PerlIO_printf(Perl_error_log,
 		          "Failed to unixify @INC element \"%s\"\n",
-			  SvPV(libdir,len));
+			  SvPV_nolen_const(libdir));
+    }
 #endif
 
 	/* Do the if() outside the #ifdef to avoid warnings about an unused
@@ -4538,8 +4648,9 @@
 		    SvREFCNT_dec(libdir);
 		    /* And this is the new libdir.  */
 		    libdir = tempsv;
-		    if (PL_tainting &&
-			(PL_uid != PL_euid || PL_gid != PL_egid)) {
+		    if (TAINTING_get &&
+			(PerlProc_getuid() != PerlProc_geteuid() ||
+			 PerlProc_getgid() != PerlProc_getegid())) {
 			/* Need to taint relocated paths if running set ID  */
 			SvTAINTED_on(libdir);
 		    }
@@ -4548,19 +4659,57 @@
 	    }
 #endif
 	}
+    return libdir;
+}
+
+STATIC void
+S_incpush(pTHX_ const char *const dir, STRLEN len, U32 flags)
+{
+    dVAR;
 #ifndef PERL_IS_MINIPERL
+    const U8 using_sub_dirs
+	= (U8)flags & (INCPUSH_ADD_VERSIONED_SUB_DIRS
+		       |INCPUSH_ADD_ARCHONLY_SUB_DIRS|INCPUSH_ADD_OLD_VERS);
+    const U8 add_versioned_sub_dirs
+	= (U8)flags & INCPUSH_ADD_VERSIONED_SUB_DIRS;
+    const U8 add_archonly_sub_dirs
+	= (U8)flags & INCPUSH_ADD_ARCHONLY_SUB_DIRS;
+#ifdef PERL_INC_VERSION_LIST
+    const U8 addoldvers  = (U8)flags & INCPUSH_ADD_OLD_VERS;
+#endif
+#endif
+    const U8 unshift     = (U8)flags & INCPUSH_UNSHIFT;
+    const U8 push_basedir = (flags & INCPUSH_NOT_BASEDIR) ? 0 : 1;
+    AV *const inc = GvAVn(PL_incgv);
+
+    PERL_ARGS_ASSERT_INCPUSH;
+    assert(len > 0);
+
+    /* Could remove this vestigial extra block, if we don't mind a lot of
+       re-indenting diff noise.  */
+    {
+	SV *const libdir = mayberelocate(dir, len, flags);
+	/* Change 20189146be79a0596543441fa369c6bf7f85103f, to fix RT#6665,
+	   arranged to unshift #! line -I onto the front of @INC. However,
+	   -I can add version and architecture specific libraries, and they
+	   need to go first. The old code assumed that it was always
+	   pushing. Hence to make it work, need to push the architecture
+	   (etc) libraries onto a temporary array, then "unshift" that onto
+	   the front of @INC.  */
+#ifndef PERL_IS_MINIPERL
+	AV *const av = (using_sub_dirs) ? (unshift ? newAV() : inc) : NULL;
+
 	/*
 	 * BEFORE pushing libdir onto @INC we may first push version- and
 	 * archname-specific sub-directories.
 	 */
 	if (using_sub_dirs) {
-	    SV *subdir;
+	    SV *subdir = newSVsv(libdir);
 #ifdef PERL_INC_VERSION_LIST
 	    /* Configure terminates PERL_INC_VERSION_LIST with a NULL */
 	    const char * const incverlist[] = { PERL_INC_VERSION_LIST };
 	    const char * const *incver;
 #endif
-	    subdir = newSVsv(libdir);
 
 	    if (add_versioned_sub_dirs) {
 		/* .../version/archname if -d .../version/archname */
@@ -4744,12 +4893,12 @@
 	    while (PL_scopestack_ix > oldscope)
 		LEAVE;
 	    FREETMPS;
-	    PL_curstash = PL_defstash;
+	    SET_CURSTASH(PL_defstash);
 	    PL_curcop = &PL_compiling;
 	    CopLINE_set(PL_curcop, oldline);
 	    JMPENV_POP;
 	    my_exit_jump();
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 	case 3:
 	    if (PL_restartop) {
 		PL_curcop = &PL_compiling;
@@ -4756,7 +4905,7 @@
 		CopLINE_set(PL_curcop, oldline);
 		JMPENV_JUMP(3);
 	    }
-	    PerlIO_printf(Perl_error_log, "panic: restartop\n");
+	    PerlIO_printf(Perl_error_log, "panic: restartop in call_list\n");
 	    FREETMPS;
 	    break;
 	}
@@ -4909,8 +5058,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perl.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/perl.h
===================================================================
--- vendor/perl/dist/perl.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perl.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -48,15 +48,6 @@
  * repeated in makedef.pl, so be certain to update
  * both places when editing. */
 
-#ifdef PERL_IMPLICIT_SYS
-/* PERL_IMPLICIT_SYS implies PerlMemShared != PerlMem
-   so use slab allocator to avoid lots of MUTEX overhead
- */
-#  ifndef PL_OP_SLAB_ALLOC
-#    define PL_OP_SLAB_ALLOC
-#  endif
-#endif
-
 #ifdef USE_ITHREADS
 #  if !defined(MULTIPLICITY)
 #    define MULTIPLICITY
@@ -100,8 +91,8 @@
 /* Any stack-challenged places.  The limit varies (and often
  * is configurable), but using more than a kilobyte of stack
  * is usually dubious in these systems. */
-#if defined(EPOC) || defined(__SYMBIAN32__)
-/* EPOC/Symbian: need to work around the SDK features. *
+#if defined(__SYMBIAN32__)
+/* Symbian: need to work around the SDK features. *
  * On WINS: MS VC5 generates calls to _chkstk,         *
  * if a "large" stack frame is allocated.              *
  * gcc on MARM does not generate calls like these.     */
@@ -166,7 +157,7 @@
 #  endif
 #endif
 
-#define pVAR    register struct perl_vars* my_vars PERL_UNUSED_DECL
+#define pVAR    struct perl_vars* my_vars PERL_UNUSED_DECL
 
 #ifdef PERL_GLOBAL_STRUCT
 #  define dVAR		pVAR    = (struct perl_vars*)PERL_GET_VARS()
@@ -179,8 +170,9 @@
 #    define MULTIPLICITY
 #  endif
 #  define tTHX	PerlInterpreter*
-#  define pTHX  register tTHX my_perl PERL_UNUSED_DECL
+#  define pTHX  tTHX my_perl PERL_UNUSED_DECL
 #  define aTHX	my_perl
+#  define aTHXa(a) aTHX = (tTHX)a
 #  ifdef PERL_GLOBAL_STRUCT
 #    define dTHXa(a)	dVAR; pTHX = (tTHX)a
 #  else
@@ -354,10 +346,15 @@
 #endif
 
 #define NOOP /*EMPTY*/(void)0
-#if !defined(HASATTRIBUTE_UNUSED) && defined(__cplusplus)
-#define dNOOP /*EMPTY*/(void)0 /* Older g++ has no __attribute((unused))__ */
+/* cea2e8a9dd23747f accidentally lost the comment originally from the first
+   check in of thread.h, explaining why we need dNOOP at all:  */
+/* Rats: if dTHR is just blank then the subsequent ";" throws an error */
+/* Declaring a *function*, instead of a variable, ensures that we don't rely
+   on being able to suppress "unused" warnings.  */
+#ifdef __cplusplus
+#define dNOOP (void)0
 #else
-#define dNOOP extern int /*@unused@*/ Perl___notused PERL_UNUSED_DECL
+#define dNOOP extern int Perl___notused(void)
 #endif
 
 #ifndef pTHX
@@ -368,6 +365,7 @@
 #  define pTHX_
 #  define aTHX
 #  define aTHX_
+#  define aTHXa(a)      NOOP
 #  define dTHXa(a)	dNOOP
 #  define dTHX		dNOOP
 #  define pTHX_1	1	
@@ -396,7 +394,7 @@
 #endif
 
 #ifndef pTHXx
-#  define pTHXx		register PerlInterpreter *my_perl
+#  define pTHXx		PerlInterpreter *my_perl
 #  define pTHXx_	pTHXx,
 #  define aTHXx		my_perl
 #  define aTHXx_	aTHXx,
@@ -444,7 +442,7 @@
 #  ifdef __GNUC__
 #    define stringify_immed(s) #s
 #    define stringify(s) stringify_immed(s)
-register struct op *Perl_op asm(stringify(OP_IN_REGISTER));
+struct op *Perl_op asm(stringify(OP_IN_REGISTER));
 #  endif
 #endif
 
@@ -490,9 +488,6 @@
 # endif
 #endif
 
-#define WITH_THX(s) STMT_START { dTHX; s; } STMT_END
-#define WITH_THR(s) WITH_THX(s)
-
 #ifndef BYTEORDER  /* Should never happen -- byteorder is in config.h */
 #   define BYTEORDER 0x1234
 #endif
@@ -517,15 +512,15 @@
  */
 
 /* define this once if either system, instead of cluttering up the src */
-#if defined(MSDOS) || defined(atarist) || defined(WIN32) || defined(NETWARE)
+#if defined(MSDOS) || defined(WIN32) || defined(NETWARE)
 #define DOSISH 1
 #endif
 
-#if defined(__STDC__) || defined(_AIX) || defined(__stdc__) || defined(__cplusplus) || defined(EPOC) || defined(NETWARE) || defined(__SYMBIAN32__)
+#if defined(__STDC__) || defined(_AIX) || defined(__stdc__) || defined(__cplusplus) || defined(NETWARE) || defined(__SYMBIAN32__)
 # define STANDARD_C 1
 #endif
 
-#if defined(__cplusplus) || defined(WIN32) || defined(__sgi) || defined(__EMX__) || defined(__DGUX) || defined(EPOC) || defined(__QNX__) || defined(NETWARE) || defined(PERL_MICRO)
+#if defined(__cplusplus) || defined(WIN32) || defined(__sgi) || defined(__EMX__) || defined(__DGUX) || defined(__QNX__) || defined(NETWARE) || defined(PERL_MICRO)
 # define DONT_DECLARE_STD 1
 #endif
 
@@ -535,12 +530,55 @@
 #   define VOL
 #endif
 
-#define TAINT		(PL_tainted = TRUE)
-#define TAINT_NOT	(PL_tainted = FALSE)
-#define TAINT_IF(c)	if (c) { PL_tainted = TRUE; }
-#define TAINT_ENV()	if (PL_tainting) { taint_env(); }
-#define TAINT_PROPER(s)	if (PL_tainting) { taint_proper(NULL, s); }
+/* By compiling a perl with -DNO_TAINT_SUPPORT or -DSILENT_NO_TAINT_SUPPORT,
+ * you get a perl without taint support, but doubtlessly with a lesser
+ * degree of support. Do not do so unless you know exactly what it means
+ * technically, have a good reason to do so, and know exactly how the
+ * perl will be used. perls with -DSILENT_NO_TAINT_SUPPORT are considered
+ * a potential security risk due to flat out ignoring the security-relevant
+ * taint flags. This being said, a perl without taint support compiled in
+ * has marginal run-time performance benefits.
+ * SILENT_NO_TAINT_SUPPORT implies NO_TAINT_SUPPORT.
+ * SILENT_NO_TAINT_SUPPORT is the same as NO_TAINT_SUPPORT except it
+ * silently ignores -t/-T instead of throwing an exception.
+ *
+ * DANGER! Using NO_TAINT_SUPPORT or SILENT_NO_TAINT_SUPPORT
+ *         voids your nonexistent warranty!
+ */
+#if SILENT_NO_TAINT_SUPPORT && !defined(NO_TAINT_SUPPORT)
+#  define NO_TAINT_SUPPORT 1
+#endif
 
+/* NO_TAINT_SUPPORT can be set to transform virtually all taint-related
+ * operations into no-ops for a very modest speed-up. Enable only if you
+ * know what you're doing: tests and CPAN modules' tests are bound to fail.
+ */
+#if NO_TAINT_SUPPORT
+#   define TAINT		NOOP
+#   define TAINT_NOT		NOOP
+#   define TAINT_IF(c)		NOOP
+#   define TAINT_ENV()		NOOP
+#   define TAINT_PROPER(s)	NOOP
+#   define TAINT_set(s)		NOOP
+#   define TAINT_get		0
+#   define TAINTING_get		0
+#   define TAINTING_set(s)	NOOP
+#   define TAINT_WARN_get       0
+#   define TAINT_WARN_set(s)    NOOP
+#else
+#   define TAINT		(PL_tainted = TRUE)
+#   define TAINT_NOT	(PL_tainted = FALSE)
+#   define TAINT_IF(c)	if (UNLIKELY(c)) { PL_tainted = TRUE; }
+#   define TAINT_ENV()	if (UNLIKELY(PL_tainting)) { taint_env(); }
+#   define TAINT_PROPER(s)	if (UNLIKELY(PL_tainting)) { taint_proper(NULL, s); }
+#   define TAINT_set(s)		(PL_tainted = (s))
+#   define TAINT_get		(PL_tainted)
+#   define TAINTING_get		(PL_tainting)
+#   define TAINTING_set(s)	(PL_tainting = (s))
+#   define TAINT_WARN_get       (PL_taint_warn)
+#   define TAINT_WARN_set(s)    (PL_taint_warn = (s))
+#endif
+
 /* flags used internally only within pp_subst and pp_substcont */
 #ifdef PERL_CORE
 #  define SUBST_TAINT_STR      1	/* string tainted */
@@ -736,6 +774,8 @@
 #   define U64_CONST(x) ((U64)x##UL)
 #  elif QUADKIND == QUAD_IS_LONG_LONG
 #   define U64_CONST(x) ((U64)x##ULL)
+#  elif QUADKIND == QUAD_IS___INT64
+#   define U64_CONST(x) ((U64)x##UI64)
 #  else /* best guess we can make */
 #   define U64_CONST(x) ((U64)x##UL)
 #  endif
@@ -972,21 +1012,10 @@
 #define PERL_USES_PL_PIDSTATUS
 #endif
 
-#if !defined(OS2) && !defined(WIN32) && !defined(DJGPP) && !defined(EPOC) && !defined(__SYMBIAN32__)
+#if !defined(OS2) && !defined(WIN32) && !defined(DJGPP) && !defined(__SYMBIAN32__)
 #define PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION
 #endif
 
-/* Cannot include embed.h here on Win32 as win32.h has not
-   yet been included and defines some config variables e.g. HAVE_INTERP_INTERN
- */
-#if !defined(PERL_FOR_X2P) && !(defined(WIN32)||defined(VMS))
-#  include "embed.h"
-#  ifndef PERL_MAD
-#    undef op_getmad
-#    define op_getmad(arg,pegop,slot) NOOP
-#  endif
-#endif
-
 #define MEM_SIZE Size_t
 
 /* Round all values passed to malloc up, by default to a multiple of
@@ -1188,7 +1217,7 @@
 #   define S_IFIFO _S_IFIFO
 #endif
 
-/* The stat macros for Amdahl UTS, Unisoft System V/88 (and derivatives
+/* The stat macros for Unisoft System V/88 (and derivatives
    like UTekV) are broken, sometimes giving false positives.  Undefine
    them here and let the code below set them to proper values.
 
@@ -1197,7 +1226,7 @@
    This header file bug is corrected in gcc-2.5.8 and later versions.
    --Kaveh Ghazi (ghazi at noc.rutgers.edu) 10/3/94.  */
 
-#if defined(uts) || (defined(m88k) && defined(ghs))
+#if defined(m88k) && defined(ghs)
 #   undef S_ISDIR
 #   undef S_ISCHR
 #   undef S_ISBLK
@@ -1242,7 +1271,7 @@
 #   define _SOCKADDR_LEN
 #endif
 
-#if defined(HAS_SOCKET) && !defined(VMS) && !defined(WIN32) /* VMS/WIN32 handle sockets via vmsish.h/win32.h */
+#if defined(HAS_SOCKET) && !defined(WIN32) /* WIN32 handles sockets via win32.h */
 # include <sys/socket.h>
 # if defined(USE_SOCKS) && defined(I_SOCKS)
 #   if !defined(INCLUDE_PROTOTYPES)
@@ -1368,11 +1397,20 @@
 
 #ifdef PERL_CORE
 # define DEFSV (0 + GvSVn(PL_defgv))
+# define DEFSV_set(sv) \
+    (SvREFCNT_dec(GvSV(PL_defgv)), GvSV(PL_defgv) = SvREFCNT_inc(sv))
+# define SAVE_DEFSV                \
+    (                               \
+	save_gp(PL_defgv, 0),        \
+	GvINTRO_off(PL_defgv),        \
+	SAVEGENERICSV(GvSV(PL_defgv)), \
+	GvSV(PL_defgv) = NULL           \
+    )
 #else
 # define DEFSV GvSVn(PL_defgv)
+# define DEFSV_set(sv) (GvSV(PL_defgv) = (sv))
+# define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
 #endif
-#define DEFSV_set(sv) (GvSV(PL_defgv) = (sv))
-#define SAVE_DEFSV SAVESPTR(GvSV(PL_defgv))
 
 #define ERRHV GvHV(PL_errgv)	/* XXX unused, here for compatibility */
 
@@ -1385,13 +1423,13 @@
 #endif
 
 #ifdef HAS_STRERROR
+#ifndef DONT_DECLARE_STD
 #       ifdef VMS
 	char *strerror (int,...);
 #       else
-#ifndef DONT_DECLARE_STD
 	char *strerror (int);
+#       endif
 #endif
-#       endif
 #       ifndef Strerror
 #           define Strerror strerror
 #       endif
@@ -1603,15 +1641,15 @@
 #   define S_IRWXO (S_IROTH|S_IWOTH|S_IXOTH)
 #endif
 
-/* BeOS 5.0 and Haiku R1 seem to define S_IREAD and S_IWRITE in <posix/fcntl.h>
+/* Haiku R1 seems to define S_IREAD and S_IWRITE in <posix/fcntl.h>
  * which would get included through <sys/file.h >, but that is 3000
  * lines in the future.  --jhi */
 
-#if !defined(S_IREAD) && !(defined(__BEOS__) || defined(__HAIKU__))
+#if !defined(S_IREAD) && !defined(__HAIKU__)
 #   define S_IREAD S_IRUSR
 #endif
 
-#if !defined(S_IWRITE) && !(defined(__BEOS__) || defined(__HAIKU__))
+#if !defined(S_IWRITE) && !defined(__HAIKU__)
 #   define S_IWRITE S_IWUSR
 #endif
 
@@ -1631,10 +1669,6 @@
 #undef UV
 #endif
 
-#ifdef	SPRINTF_E_BUG
-#  define sprintf UTS_sprintf_wrap
-#endif
-
 /* For the times when you want the return value of sprintf, and you want it
    to be the length. Can't have a thread variable passed in, because C89 has
    no varargs macros.
@@ -1675,7 +1709,7 @@
 
 #if defined(HAS_VSNPRINTF) && defined(HAS_C99_VARIADIC_MACROS) && !(defined(DEBUGGING) && !defined(PERL_USE_GCC_BRACE_GROUPS)) && !defined(PERL_GCC_PEDANTIC)
 #  ifdef PERL_USE_GCC_BRACE_GROUPS
-#      define my_vsnprintf(buffer, len, ...) ({ int __len__ = vsnprintf(buffer, len, __VA_ARGS__); if ((len) > 0 && (Size_t)__len__ >= (len)) Perl_croak_nocontext("panic: vsnprintf buffer overflow"); __len__; })
+#      define my_vsnprintf(buffer, len, ...) ({ int __len__ = vsnprintf(buffer, len, __VA_ARGS__); if ((len) > 0 && (Size_t)__len__ >= (Size_t)(len)) Perl_croak_nocontext("panic: vsnprintf buffer overflow"); __len__; })
 #      define PERL_MY_VSNPRINTF_GUARDED
 #  else
 #    define my_vsnprintf(buffer, len, ...) vsnprintf(buffer, len, __VA_ARGS__)
@@ -1697,13 +1731,6 @@
 #  define my_strlcpy	Perl_my_strlcpy
 #endif
 
-/* Configure gets this right but the UTS compiler gets it wrong.
-   -- Hal Morris <hom00 at utsglobal.com> */
-#ifdef UTS
-#  undef  UVTYPE
-#  define UVTYPE unsigned
-#endif
-
 /*
     The IV type is supposed to be long enough to hold any integral
     value or a pointer.
@@ -1769,11 +1796,6 @@
 # undef PERL_NEED_MY_BETOH64
 #endif
 
-#if defined(uts) || defined(UTS)
-#	undef UV_MAX
-#	define UV_MAX (4294967295u)
-#endif
-
 #define IV_DIG (BIT_DIGITS(IVSIZE * 8))
 #define UV_DIG (BIT_DIGITS(UVSIZE * 8))
 
@@ -2418,14 +2440,18 @@
 typedef struct pvop PVOP;
 typedef struct loop LOOP;
 
+#ifdef PERL_CORE
+typedef struct opslab OPSLAB;
+typedef struct opslot OPSLOT;
+#endif
+
 typedef struct block_hooks BHK;
 typedef struct custom_op XOP;
 
 typedef struct interpreter PerlInterpreter;
 
-/* Amdahl's <ksync.h> has struct sv */
 /* SGI's <sys/sema.h> has struct sv */
-#if defined(UTS) || defined(__sgi)
+#if defined(__sgi)
 #   define STRUCT_SV perl_sv
 #else
 #   define STRUCT_SV sv
@@ -2461,6 +2487,29 @@
 typedef struct ptr_tbl PTR_TBL_t;
 typedef struct clone_params CLONE_PARAMS;
 
+/* a pad or name pad is currently just an AV; but that might change,
+ * so hide the type.  */
+typedef struct padlist PADLIST;
+typedef AV PAD;
+typedef AV PADNAMELIST;
+typedef SV PADNAME;
+
+/* XXX for 5.18, disable the COW by default
+ * #if !defined(PERL_OLD_COPY_ON_WRITE) && !defined(PERL_NEW_COPY_ON_WRITE) && !defined(PERL_NO_COW)
+ * # define PERL_NEW_COPY_ON_WRITE
+ * #endif
+ */
+
+#if defined(PERL_OLD_COPY_ON_WRITE) || defined(PERL_NEW_COPY_ON_WRITE)
+# if defined(PERL_OLD_COPY_ON_WRITE) && defined(PERL_NEW_COPY_ON_WRITE)
+#  error PERL_OLD_COPY_ON_WRITE and PERL_NEW_COPY_ON_WRITE are exclusive
+# else
+#  define PERL_ANY_COW
+# endif
+#else
+# define PERL_SAWAMPERSAND
+#endif
+
 #include "handy.h"
 
 #if defined(USE_LARGE_FILES) && !defined(NO_64_BIT_RAWIO)
@@ -2567,11 +2616,6 @@
 #  include "iperlsys.h"
 #endif
 
-#if defined(__OPEN_VM)
-#   include "vmesa/vmesaish.h"
-#   define ISHISH "vmesa"
-#endif
-
 #ifdef DOSISH
 #   if defined(OS2)
 #       include "os2ish.h"
@@ -2583,11 +2627,6 @@
 
 #if defined(VMS)
 #   include "vmsish.h"
-#   include "embed.h"
-#  ifndef PERL_MAD
-#    undef op_getmad
-#    define op_getmad(arg,pegop,slot) NOOP
-#  endif
 #   define ISHISH "vms"
 #endif
 
@@ -2596,11 +2635,6 @@
 #   define ISHISH "plan9"
 #endif
 
-#if defined(MPE)
-#  include "mpeix/mpeixish.h"
-#  define ISHISH "mpeix"
-#endif
-
 #if defined(__VOS__)
 #   ifdef __GNUC__
 #     include "./vos/vosish.h"
@@ -2610,18 +2644,8 @@
 #   define ISHISH "vos"
 #endif
 
-#if defined(EPOC)
-#   include "epocish.h"
-#   define ISHISH "epoc"
-#endif
-
 #ifdef __SYMBIAN32__
 #   include "symbian/symbianish.h"
-#   include "embed.h"
-#  ifndef PERL_MAD
-#    undef op_getmad
-#    define op_getmad(arg,pegop,slot) NOOP
-#  endif
 #   define ISHISH "symbian"
 #endif
 
@@ -2629,9 +2653,6 @@
 #if defined(__HAIKU__)
 #   include "haiku/haikuish.h"
 #   define ISHISH "haiku"
-#elif defined(__BEOS__)
-#   include "beos/beosish.h"
-#   define ISHISH "beos"
 #endif
 
 #ifndef ISHISH
@@ -2735,12 +2756,12 @@
 #endif
 
 /*
-=for apidoc Am|void|PERL_SYS_INIT|int argc|char** argv
+=for apidoc Am|void|PERL_SYS_INIT|int *argc|char*** argv
 Provides system-specific tune up of the C runtime environment necessary to
 run Perl interpreters. This should be called only once, before creating
 any Perl interpreters.
 
-=for apidoc Am|void|PERL_SYS_INIT3|int argc|char** argv|char** env
+=for apidoc Am|void|PERL_SYS_INIT3|int *argc|char*** argv|char*** env
 Provides system-specific tune up of the C runtime environment necessary to
 run Perl interpreters. This should be called only once, before creating
 any Perl interpreters.
@@ -2778,11 +2799,7 @@
 #      define MAXPATHLEN (PATH_MAX+1)
 #    endif
 #  else
-#    ifdef _POSIX_PATH_MAX
-#       define MAXPATHLEN _POSIX_PATH_MAX
-#    else
-#       define MAXPATHLEN 1024	/* Err on the large side. */
-#    endif
+#    define MAXPATHLEN 1024	/* Err on the large side. */
 #  endif
 #endif
 
@@ -3210,6 +3227,18 @@
 
 #define SVfARG(p) ((void*)(p))
 
+#ifndef HEKf
+#  define HEKf "2p"
+#endif
+
+/* Not ideal, but we cannot easily include a number in an already-numeric
+ * format sequence. */
+#ifndef HEKf256
+#  define HEKf256 "3p"
+#endif
+
+#define HEKfARG(p) ((void*)(p))
+
 #ifdef PERL_CORE
 /* not used; but needed for backward compatibility with XS code? - RMB */
 #  undef VDf
@@ -3283,9 +3312,9 @@
    appropriate to call return.  In either case, include the lint directive.
  */
 #ifdef HASATTRIBUTE_NORETURN
-#  define NORETURN_FUNCTION_END /* NOTREACHED */
+#  define NORETURN_FUNCTION_END assert(0); /* NOTREACHED */
 #else
-#  define NORETURN_FUNCTION_END /* NOTREACHED */ return 0
+#  define NORETURN_FUNCTION_END assert(0); /* NOTREACHED */ return 0
 #endif
 
 /* Some OS warn on NULL format to printf */
@@ -3470,8 +3499,7 @@
     U8 super_state;	/* lexer state to save */
     U16 sub_inwhat;	/* "lex_inwhat" to use */
     OP *sub_op;		/* "lex_op" to use */
-    char *super_bufptr;	/* PL_parser->bufptr that was */
-    char *super_bufend;	/* PL_parser->bufend that was */
+    SV *repl;		/* replacement of s/// or y/// */
 };
 
 #include "parser.h"
@@ -3496,10 +3524,6 @@
     struct ptr_tbl_ent		*tbl_arena_end;
 };
 
-#if defined(iAPX286) || defined(M_I286) || defined(I80286)
-#   define I286
-#endif
-
 #if defined(htonl) && !defined(HAS_HTONL)
 #define HAS_HTONL
 #endif
@@ -3625,7 +3649,7 @@
 #endif
 
 #ifndef __cplusplus
-#if !(defined(UNDER_CE) || defined(SYMBIAN))
+#if !(defined(WIN32) || defined(UNDER_CE) || defined(SYMBIAN))
 Uid_t getuid (void);
 Uid_t geteuid (void);
 Gid_t getgid (void);
@@ -3664,7 +3688,7 @@
 #define DEBUG_H_FLAG		0x00002000 /*   8192 */
 #define DEBUG_X_FLAG		0x00004000 /*  16384 */
 #define DEBUG_D_FLAG		0x00008000 /*  32768 */
-/* 0x00010000 is unused, used to be S */
+#define DEBUG_S_FLAG		0x00010000 /*  65536 */
 #define DEBUG_T_FLAG		0x00020000 /* 131072 */
 #define DEBUG_R_FLAG		0x00040000 /* 262144 */
 #define DEBUG_J_FLAG		0x00080000 /* 524288 */
@@ -3674,7 +3698,7 @@
 #define DEBUG_q_FLAG		0x00800000 /*8388608 */
 #define DEBUG_M_FLAG		0x01000000 /*16777216*/
 #define DEBUG_B_FLAG		0x02000000 /*33554432*/
-#define DEBUG_MASK		0x03FEEFFF /* mask of all the standard flags */
+#define DEBUG_MASK		0x03FFEFFF /* mask of all the standard flags */
 
 #define DEBUG_DB_RECURSE_FLAG	0x40000000
 #define DEBUG_TOP_FLAG		0x80000000 /* XXX what's this for ??? Signal
@@ -3696,6 +3720,7 @@
 #  define DEBUG_H_TEST_ (PL_debug & DEBUG_H_FLAG)
 #  define DEBUG_X_TEST_ (PL_debug & DEBUG_X_FLAG)
 #  define DEBUG_D_TEST_ (PL_debug & DEBUG_D_FLAG)
+#  define DEBUG_S_TEST_ (PL_debug & DEBUG_S_FLAG)
 #  define DEBUG_T_TEST_ (PL_debug & DEBUG_T_FLAG)
 #  define DEBUG_R_TEST_ (PL_debug & DEBUG_R_FLAG)
 #  define DEBUG_J_TEST_ (PL_debug & DEBUG_J_FLAG)
@@ -3727,6 +3752,7 @@
 #  define DEBUG_H_TEST DEBUG_H_TEST_
 #  define DEBUG_X_TEST DEBUG_X_TEST_
 #  define DEBUG_D_TEST DEBUG_D_TEST_
+#  define DEBUG_S_TEST DEBUG_S_TEST_
 #  define DEBUG_T_TEST DEBUG_T_TEST_
 #  define DEBUG_R_TEST DEBUG_R_TEST_
 #  define DEBUG_J_TEST DEBUG_J_TEST_
@@ -3778,6 +3804,7 @@
 #  define DEBUG_Uv(a) DEBUG__(DEBUG_Uv_TEST, a)
 #  define DEBUG_Pv(a) DEBUG__(DEBUG_Pv_TEST, a)
 
+#  define DEBUG_S(a) DEBUG__(DEBUG_S_TEST, a)
 #  define DEBUG_T(a) DEBUG__(DEBUG_T_TEST, a)
 #  define DEBUG_R(a) DEBUG__(DEBUG_R_TEST, a)
 #  define DEBUG_v(a) DEBUG__(DEBUG_v_TEST, a)
@@ -3805,6 +3832,7 @@
 #  define DEBUG_H_TEST (0)
 #  define DEBUG_X_TEST (0)
 #  define DEBUG_D_TEST (0)
+#  define DEBUG_S_TEST (0)
 #  define DEBUG_T_TEST (0)
 #  define DEBUG_R_TEST (0)
 #  define DEBUG_J_TEST (0)
@@ -3836,6 +3864,7 @@
 #  define DEBUG_H(a)
 #  define DEBUG_X(a)
 #  define DEBUG_D(a)
+#  define DEBUG_S(a)
 #  define DEBUG_T(a)
 #  define DEBUG_R(a)
 #  define DEBUG_v(a)
@@ -3856,63 +3885,6 @@
 		    where, (long)PL_scopestack_ix, (long)PL_savestack_ix, \
 		    __FILE__, __LINE__));
 
-
-
-
-/* These constants should be used in preference to raw characters
- * when using magic. Note that some perl guts still assume
- * certain character properties of these constants, namely that
- * isUPPER() and toLOWER() may do useful mappings.
- *
- * Update the magic_names table in dump.c when adding/amending these
- */
-
-#define PERL_MAGIC_sv		  '\0' /* Special scalar variable */
-#define PERL_MAGIC_overload	  'A' /* %OVERLOAD hash */
-#define PERL_MAGIC_overload_elem  'a' /* %OVERLOAD hash element */
-#define PERL_MAGIC_overload_table 'c' /* Holds overload table (AMT) on stash */
-#define PERL_MAGIC_bm		  'B' /* Boyer-Moore (fast string search) */
-#define PERL_MAGIC_regdata	  'D' /* Regex match position data
-					(@+ and @- vars) */
-#define PERL_MAGIC_regdatum	  'd' /* Regex match position data element */
-#define PERL_MAGIC_env		  'E' /* %ENV hash */
-#define PERL_MAGIC_envelem	  'e' /* %ENV hash element */
-#define PERL_MAGIC_fm		  'f' /* Formline ('compiled' format) */
-#define PERL_MAGIC_regex_global	  'g' /* m//g target / study()ed string */
-#define PERL_MAGIC_hints	  'H' /* %^H hash */
-#define PERL_MAGIC_hintselem	  'h' /* %^H hash element */
-#define PERL_MAGIC_isa		  'I' /* @ISA array */
-#define PERL_MAGIC_isaelem	  'i' /* @ISA array element */
-#define PERL_MAGIC_nkeys	  'k' /* scalar(keys()) lvalue */
-#define PERL_MAGIC_dbfile	  'L' /* Debugger %_<filename */
-#define PERL_MAGIC_dbline	  'l' /* Debugger %_<filename element */
-#define PERL_MAGIC_shared	  'N' /* Shared between threads */
-#define PERL_MAGIC_shared_scalar  'n' /* Shared between threads */
-#define PERL_MAGIC_collxfrm	  'o' /* Locale transformation */
-#define PERL_MAGIC_tied		  'P' /* Tied array or hash */
-#define PERL_MAGIC_tiedelem	  'p' /* Tied array or hash element */
-#define PERL_MAGIC_tiedscalar	  'q' /* Tied scalar or handle */
-#define PERL_MAGIC_qr		  'r' /* precompiled qr// regex */
-#define PERL_MAGIC_sig		  'S' /* %SIG hash */
-#define PERL_MAGIC_sigelem	  's' /* %SIG hash element */
-#define PERL_MAGIC_taint	  't' /* Taintedness */
-#define PERL_MAGIC_uvar		  'U' /* Available for use by extensions */
-#define PERL_MAGIC_uvar_elem	  'u' /* Reserved for use by extensions */
-#define PERL_MAGIC_vec		  'v' /* vec() lvalue */
-#define PERL_MAGIC_vstring	  'V' /* SV was vstring literal */
-#define PERL_MAGIC_utf8		  'w' /* Cached UTF-8 information */
-#define PERL_MAGIC_substr	  'x' /* substr() lvalue */
-#define PERL_MAGIC_defelem	  'y' /* Shadow "foreach" iterator variable /
-					smart parameter vivification */
-#define PERL_MAGIC_arylen	  '#' /* Array length ($#ary) */
-#define PERL_MAGIC_pos		  '.' /* pos() lvalue */
-#define PERL_MAGIC_backref	  '<' /* for weak ref data */
-#define PERL_MAGIC_symtab	  ':' /* extra data for symbol tables */
-#define PERL_MAGIC_rhash	  '%' /* extra data for restricted hashes */
-#define PERL_MAGIC_arylen_p	  '@' /* to move arylen out of XPVAV */
-#define PERL_MAGIC_ext		  '~' /* Available for use by extensions */
-#define PERL_MAGIC_checkcall	  ']' /* inlining/mutation of call to this CV */
-
 #if defined(DEBUGGING) && defined(I_ASSERT)
 #  include <assert.h>
 #endif
@@ -3929,6 +3901,11 @@
 #ifndef assert
 #  define assert(what)	Perl_assert(what)
 #endif
+#ifdef DEBUGGING
+#  define assert_(what)	assert(what),
+#else
+#  define assert_(what)
+#endif
 
 struct ufuncs {
     I32 (*uf_val)(pTHX_ IV, SV*);
@@ -3970,7 +3947,7 @@
 /* All of these are in stdlib.h or time.h for ANSI C */
 Time_t time();
 struct tm *gmtime(), *localtime();
-#if defined(OEMVS) || defined(__OPEN_VM)
+#if defined(OEMVS)
 char *(strchr)(), *(strrchr)();
 char *(strcpy)(), *(strcat)();
 #else
@@ -4061,7 +4038,7 @@
 #    ifndef getenv
 char *getenv (const char*);
 #    endif /* !getenv */
-#    if !defined(HAS_LSEEK_PROTO) && !defined(EPOC) && !defined(__hpux)
+#    if !defined(HAS_LSEEK_PROTO) && !defined(__hpux)
 #      ifdef _FILE_OFFSET_BITS
 #        if _FILE_OFFSET_BITS == 64
 Off_t lseek (int,Off_t,int);
@@ -4069,9 +4046,11 @@
 #      endif
 #    endif
 #  endif /* !DONT_DECLARE_STD */
-#ifndef getlogin
+#  ifndef WIN32
+#    ifndef getlogin
 char *getlogin (void);
-#endif
+#    endif
+#  endif /* !WIN32 */
 #endif /* !__cplusplus */
 
 /* Fixme on VMS.  This needs to be a run-time, not build time options */
@@ -4257,11 +4236,25 @@
 #  endif
 #endif
 
+#define PERL_PATCHLEVEL_H_IMPLICIT
+#include "patchlevel.h"
+#undef PERL_PATCHLEVEL_H_IMPLICIT
+
+#define PERL_VERSION_STRING	STRINGIFY(PERL_REVISION) "." \
+				STRINGIFY(PERL_VERSION) "." \
+				STRINGIFY(PERL_SUBVERSION)
+
+#define PERL_API_VERSION_STRING	STRINGIFY(PERL_API_REVISION) "." \
+				STRINGIFY(PERL_API_VERSION) "." \
+				STRINGIFY(PERL_API_SUBVERSION)
+
 START_EXTERN_C
 
 /* handy constants */
 EXTCONST char PL_warn_uninit[]
   INIT("Use of uninitialized value%s%s%s");
+EXTCONST char PL_warn_uninit_sv[]
+  INIT("Use of uninitialized value%"SVf"%s%s");
 EXTCONST char PL_warn_nosemi[]
   INIT("Semicolon seems to be missing");
 EXTCONST char PL_warn_reserved[]
@@ -4284,7 +4277,7 @@
   INIT("Modification of non-creatable hash value attempted, subscript \"%"SVf"\"");
 EXTCONST char PL_no_modify[]
   INIT("Modification of a read-only value attempted");
-EXTCONST char PL_no_mem[]
+EXTCONST char PL_no_mem[sizeof("Out of memory!\n")]
   INIT("Out of memory!\n");
 EXTCONST char PL_no_security[]
   INIT("Insecure dependency in %s%s");
@@ -4301,6 +4294,19 @@
 EXTCONST char PL_memory_wrap[]
   INIT("panic: memory wrap");
 
+EXTCONST char PL_Yes[]
+  INIT("1");
+EXTCONST char PL_No[]
+  INIT("");
+EXTCONST char PL_hexdigit[]
+  INIT("0123456789abcdef0123456789ABCDEF");
+
+/* This is constant on most architectures, a global on OS/2 */
+#ifndef OS2
+EXTCONST char PL_sh_path[]
+  INIT(SH_PATH); /* full path of shell */
+#endif
+
 #ifdef CSH
 EXTCONST char PL_cshname[]
   INIT(CSH);
@@ -4307,15 +4313,34 @@
 #  define PL_cshlen	(sizeof(CSH "") - 1)
 #endif
 
+/* These are baked at compile time into any shared perl library.
+   In future releases this will allow us in main() to sanity test the
+   library we're linking against.  */
+
+EXTCONST U8 PL_revision
+  INIT(PERL_REVISION);
+EXTCONST U8 PL_version
+  INIT(PERL_VERSION);
+EXTCONST U8 PL_subversion
+  INIT(PERL_SUBVERSION);
+
 EXTCONST char PL_uuemap[65]
   INIT("`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_");
 
 #ifdef DOINIT
 EXTCONST char PL_uudmap[256] =
-#include "uudmap.h"
+#  ifdef PERL_MICRO
+#    include "uuudmap.h"
+#  else
+#    include "uudmap.h"
+#  endif
 ;
 EXTCONST char PL_bitcount[256] =
-#  include "bitcount.h"
+#  ifdef PERL_MICRO
+#    include "ubitcount.h"
+#else
+#    include "bitcount.h"
+#  endif
 ;
 EXTCONST char* const PL_sig_name[] = { SIG_NAME };
 EXTCONST int         PL_sig_num[]  = { SIG_NUM };
@@ -4489,8 +4514,10 @@
 	248-32,	249-32,	250-32,	251-32,	252-32,	253-32,	254-32,	255
 };
 #else	/* ! DOINIT */
+#ifndef EBCDIC
 EXTCONST unsigned char PL_fold[];
 EXTCONST unsigned char PL_fold_latin1[];
+#endif
 EXTCONST unsigned char PL_mod_latin1_uc[];
 EXTCONST unsigned char PL_latin1_lc[];
 #endif
@@ -4612,7 +4639,9 @@
 EXTCONST unsigned char PL_freq[];
 #endif
 
-#ifdef DEBUGGING
+/* Although only used for debugging, these constants must be available in
+ * non-debugging builds too, since they're used in ext/re/re_exec.c,
+ * which has DEBUGGING enabled always */
 #ifdef DOINIT
 EXTCONST char* const PL_block_type[] = {
 	"NULL",
@@ -4631,7 +4660,6 @@
 #else
 EXTCONST char* PL_block_type[];
 #endif
-#endif
 
 /* These are all the compile time options that affect binary compatibility.
    Other compile time options that are binary compatible are in perl.c
@@ -4649,6 +4677,15 @@
 #  ifdef FAKE_THREADS
 			     " FAKE_THREADS"
 #  endif
+#  ifdef FCRYPT
+			     " FCRYPT"
+#  endif
+#  ifdef HAS_TIMES
+			     " HAS_TIMES"
+#  endif
+#  ifdef HAVE_INTERP_INTERN
+			     " HAVE_INTERP_INTERN"
+#  endif
 #  ifdef MULTIPLICITY
 			     " MULTIPLICITY"
 #  endif
@@ -4655,6 +4692,9 @@
 #  ifdef MYMALLOC
 			     " MYMALLOC"
 #  endif
+#  ifdef PERLIO_LAYERS
+			     " PERLIO_LAYERS"
+#  endif
 #  ifdef PERL_DEBUG_READONLY_OPS
 			     " PERL_DEBUG_READONLY_OPS"
 #  endif
@@ -4670,6 +4710,9 @@
 #  ifdef PERL_MAD
 			     " PERL_MAD"
 #  endif
+#  ifdef PERL_MICRO
+			     " PERL_MICRO"
+#  endif
 #  ifdef PERL_NEED_APPCTX
 			     " PERL_NEED_APPCTX"
 #  endif
@@ -4679,9 +4722,15 @@
 #  ifdef PERL_OLD_COPY_ON_WRITE
 			     " PERL_OLD_COPY_ON_WRITE"
 #  endif
+#  ifdef PERL_NEW_COPY_ON_WRITE
+			     " PERL_NEW_COPY_ON_WRITE"
+#  endif
 #  ifdef PERL_POISON
 			     " PERL_POISON"
 #  endif
+#  ifdef PERL_SAWAMPERSAND
+			     " PERL_SAWAMPERSAND"
+#  endif
 #  ifdef PERL_TRACK_MEMPOOL
 			     " PERL_TRACK_MEMPOOL"
 #  endif
@@ -4688,12 +4737,6 @@
 #  ifdef PERL_USES_PL_PIDSTATUS
 			     " PERL_USES_PL_PIDSTATUS"
 #  endif
-#  ifdef PL_OP_SLAB_ALLOC
-			     " PL_OP_SLAB_ALLOC"
-#  endif
-#  ifdef THREADS_HAVE_PIDS
-			     " THREADS_HAVE_PIDS"
-#  endif
 #  ifdef USE_64_BIT_ALL
 			     " USE_64_BIT_ALL"
 #  endif
@@ -4709,6 +4752,12 @@
 #  ifdef USE_LARGE_FILES
 			     " USE_LARGE_FILES"
 #  endif
+#  ifdef USE_LOCALE_COLLATE
+			     " USE_LOCALE_COLLATE"
+#  endif
+#  ifdef USE_LOCALE_NUMERIC
+			     " USE_LOCALE_NUMERIC"
+#  endif
 #  ifdef USE_LONG_DOUBLE
 			     " USE_LONG_DOUBLE"
 #  endif
@@ -4727,17 +4776,23 @@
 #  ifdef VMS_DO_SOCKETS
 			     " VMS_DO_SOCKETS"
 #  endif
+#  ifdef VMS_SHORTEN_LONG_SYMBOLS
+			     " VMS_SHORTEN_LONG_SYMBOLS"
+#  endif
 #  ifdef VMS_WE_ARE_CASE_SENSITIVE
 			     " VMS_SYMBOL_CASE_AS_IS"
 #  endif
-#  ifdef VMS_SHORTEN_LONG_SYMBOLS
-			     " VMS_SHORTEN_LONG_SYMBOLS"
-#  endif
   "";
 #else
 EXTCONST char PL_bincompat_options[];
 #endif
 
+#ifndef PERL_SET_PHASE
+#  define PERL_SET_PHASE(new_phase) \
+    PHASE_CHANGE_PROBE(PL_phase_names[new_phase], PL_phase_names[PL_phase]); \
+    PL_phase = new_phase;
+#endif
+
 /* The interpreter phases. If these ever change, PL_phase_names right below will
  * need to be updated accordingly. */
 enum perl_phase {
@@ -4769,6 +4824,8 @@
  * instead of using the newer PL_phase, which provides everything PL_dirty
  * provided, and more. */
 #  define PL_dirty (PL_phase == PERL_PHASE_DESTRUCT)
+
+#  define PL_amagic_generation PL_na
 #endif /* !PERL_CORE */
 
 END_EXTERN_C
@@ -4803,44 +4860,6 @@
     /* update exp_name[] in toke.c if adding to this enum */
 } expectation;
 
-enum {		/* pass one of these to get_vtbl */
-    want_vtbl_sv,
-    want_vtbl_env,
-    want_vtbl_envelem,
-    want_vtbl_sig,
-    want_vtbl_sigelem,
-    want_vtbl_pack,
-    want_vtbl_packelem,
-    want_vtbl_dbline,
-    want_vtbl_isa,
-    want_vtbl_isaelem,
-    want_vtbl_arylen,
-    want_vtbl_glob,
-    want_vtbl_mglob,
-    want_vtbl_nkeys,
-    want_vtbl_taint,
-    want_vtbl_substr,
-    want_vtbl_vec,
-    want_vtbl_pos,
-    want_vtbl_bm,
-    want_vtbl_fm,
-    want_vtbl_uvar,
-    want_vtbl_defelem,
-    want_vtbl_regexp,
-    want_vtbl_collxfrm,
-    want_vtbl_amagic,
-    want_vtbl_amagicelem,
-    want_vtbl_regdata,
-    want_vtbl_regdatum,
-    want_vtbl_backref,
-    want_vtbl_utf8,
-    want_vtbl_symtab,
-    want_vtbl_arylen_p,
-    want_vtbl_hintselem,
-    want_vtbl_hints
-};
-
-
 /* Hints are now stored in a dedicated U32, so the bottom 8 bits are no longer
    special and there is no need for HINT_PRIVATE_MASK for COPs
    However, bitops store HINT_INTEGER in their op_private.  */
@@ -4848,10 +4867,12 @@
 #define HINT_STRICT_REFS	0x00000002 /* strict pragma */
 #define HINT_LOCALE		0x00000004 /* locale pragma */
 #define HINT_BYTES		0x00000008 /* bytes pragma */
-#define HINT_ARYBASE		0x00000010 /* $[ is non-zero */
-				/* Note: 20,40,80 used for NATIVE_HINTS */
-				/* currently defined by vms/vmsish.h */
+#define HINT_LOCALE_NOT_CHARS	0x00000010 /* locale ':not_characters' pragma */
 
+#define HINT_EXPLICIT_STRICT_REFS	0x00000020 /* strict.pm */
+#define HINT_EXPLICIT_STRICT_SUBS	0x00000040 /* strict.pm */
+#define HINT_EXPLICIT_STRICT_VARS	0x00000080 /* strict.pm */
+
 #define HINT_BLOCK_SCOPE	0x00000100
 #define HINT_STRICT_SUBS	0x00000200 /* strict pragma */
 #define HINT_STRICT_VARS	0x00000400 /* strict pragma */
@@ -4877,6 +4898,14 @@
 
 #define HINT_RE_FLAGS		0x02000000 /* re '/xism' pragma */
 
+#define HINT_FEATURE_MASK	0x1c000000 /* 3 bits for feature bundles */
+
+				/* Note: Used for NATIVE_HINTS, currently
+				   defined by vms/vmsish.h:
+				0x40000000
+				0x80000000
+				 */
+
 /* The following are stored in $^H{sort}, not in PL_hints */
 #define HINT_SORT_SORT_BITS	0x000000FF /* allow 256 different ones */
 #define HINT_SORT_QUICKSORT	0x00000001
@@ -4883,6 +4912,17 @@
 #define HINT_SORT_MERGESORT	0x00000002
 #define HINT_SORT_STABLE	0x00000100 /* sort styles (currently one) */
 
+/* flags for PL_sawampersand */
+
+#define SAWAMPERSAND_LEFT       1   /* saw $` */
+#define SAWAMPERSAND_MIDDLE     2   /* saw $& */
+#define SAWAMPERSAND_RIGHT      4   /* saw $' */
+
+#ifndef PERL_SAWAMPERSAND
+# define PL_sawampersand \
+	(SAWAMPERSAND_LEFT|SAWAMPERSAND_MIDDLE|SAWAMPERSAND_RIGHT)
+#endif
+
 /* Various states of the input record separator SV (rs) */
 #define RsSNARF(sv)   (! SvOK(sv))
 #define RsSIMPLE(sv)  (SvOK(sv) && (! SvPOK(sv) || SvCUR(sv)))
@@ -4925,13 +4965,6 @@
 typedef void (*ATEXIT_t) (pTHX_ void*);
 typedef void (*XSUBADDR_t) (pTHX_ CV *);
 
-/* Set up PERLVAR macros for populating structs */
-#define PERLVAR(var,type) type var;
-#define PERLVARA(var,n,type) type var[n];
-#define PERLVARI(var,type,init) type var;
-#define PERLVARIC(var,type,init) type var;
-#define PERLVARISC(var,init) const char var[sizeof(init)];
-
 typedef OP* (*Perl_ppaddr_t)(pTHX);
 typedef OP* (*Perl_check_t) (pTHX_ OP*);
 typedef void(*Perl_ophook_t)(pTHX_ OP*);
@@ -4938,6 +4971,8 @@
 typedef int (*Perl_keyword_plugin_t)(pTHX_ char*, STRLEN, OP**);
 typedef void(*Perl_cpeep_t)(pTHX_ OP *, OP *);
 
+typedef void(*globhook_t)(pTHX);
+
 #define KEYWORD_PLUGIN_DECLINE 0
 #define KEYWORD_PLUGIN_STMT    1
 #define KEYWORD_PLUGIN_EXPR    2
@@ -4958,41 +4993,14 @@
 #  define  FAKE_DEFAULT_SIGNAL_HANDLERS
 #endif
 
-#define PERL_PATCHLEVEL_H_IMPLICIT
-#include "patchlevel.h"
-#undef PERL_PATCHLEVEL_H_IMPLICIT
+#if !defined(MULTIPLICITY)
 
-#define PERL_VERSION_STRING	STRINGIFY(PERL_REVISION) "." \
-				STRINGIFY(PERL_VERSION) "." \
-				STRINGIFY(PERL_SUBVERSION)
-
-#define PERL_API_VERSION_STRING	STRINGIFY(PERL_API_REVISION) "." \
-				STRINGIFY(PERL_API_VERSION) "." \
-				STRINGIFY(PERL_API_SUBVERSION)
-
-#ifdef PERL_GLOBAL_STRUCT
-struct perl_vars {
-#  include "perlvars.h"
+struct interpreter {
+    char broiled;
 };
 
-#  ifdef PERL_CORE
-#    ifndef PERL_GLOBAL_STRUCT_PRIVATE
-EXT struct perl_vars PL_Vars;
-EXT struct perl_vars *PL_VarsPtr INIT(&PL_Vars);
-#      undef PERL_GET_VARS
-#      define PERL_GET_VARS() PL_VarsPtr
-#    endif /* !PERL_GLOBAL_STRUCT_PRIVATE */
-#  else /* PERL_CORE */
-#    if !defined(__GNUC__) || !defined(WIN32)
-EXT
-#    endif /* WIN32 */
-struct perl_vars *PL_VarsPtr;
-#    define PL_Vars (*((PL_VarsPtr) \
-		       ? PL_VarsPtr : (PL_VarsPtr = Perl_GetVars(aTHX))))
-#  endif /* PERL_CORE */
-#endif /* PERL_GLOBAL_STRUCT */
+#else
 
-#if defined(MULTIPLICITY)
 /* If we have multiple interpreters define a struct
    holding variables which must be per-interpreter
    If we don't have threads anything that would have
@@ -4999,23 +5007,72 @@
    be per-thread is per-interpreter.
 */
 
+/* Set up PERLVAR macros for populating structs */
+#  define PERLVAR(prefix,var,type) type prefix##var;
+
+/* 'var' is an array of length 'n' */
+#  define PERLVARA(prefix,var,n,type) type prefix##var[n];
+
+/* initialize 'var' to init' */
+#  define PERLVARI(prefix,var,type,init) type prefix##var;
+
+/* like PERLVARI, but make 'var' a const */
+#  define PERLVARIC(prefix,var,type,init) type prefix##var;
+
 struct interpreter {
 #  include "intrpvar.h"
 };
 
-#else
-struct interpreter {
-    char broiled;
+EXTCONST U16 PL_interp_size
+  INIT(sizeof(struct interpreter));
+
+#  define PERL_INTERPRETER_SIZE_UPTO_MEMBER(member)			\
+    STRUCT_OFFSET(struct interpreter, member) +				\
+    sizeof(((struct interpreter*)0)->member)
+
+/* This will be useful for subsequent releases, because this has to be the
+   same in your libperl as in main(), else you have a mismatch and must abort.
+*/
+EXTCONST U16 PL_interp_size_5_18_0
+  INIT(PERL_INTERPRETER_SIZE_UPTO_MEMBER(PERL_LAST_5_18_0_INTERP_MEMBER));
+
+
+#  ifdef PERL_GLOBAL_STRUCT
+/* MULTIPLICITY is automatically defined when PERL_GLOBAL_STRUCT is defined,
+   hence it's safe and sane to nest this within #ifdef MULTIPLICITY  */
+
+struct perl_vars {
+#    include "perlvars.h"
 };
-#endif /* MULTIPLICITY */
 
+EXTCONST U16 PL_global_struct_size
+  INIT(sizeof(struct perl_vars));
+
+#    ifdef PERL_CORE
+#      ifndef PERL_GLOBAL_STRUCT_PRIVATE
+EXT struct perl_vars PL_Vars;
+EXT struct perl_vars *PL_VarsPtr INIT(&PL_Vars);
+#        undef PERL_GET_VARS
+#        define PERL_GET_VARS() PL_VarsPtr
+#      endif /* !PERL_GLOBAL_STRUCT_PRIVATE */
+#    else /* PERL_CORE */
+#      if !defined(__GNUC__) || !defined(WIN32)
+EXT
+#      endif /* WIN32 */
+struct perl_vars *PL_VarsPtr;
+#      define PL_Vars (*((PL_VarsPtr) \
+		       ? PL_VarsPtr : (PL_VarsPtr = Perl_GetVars(aTHX))))
+#    endif /* PERL_CORE */
+#  endif /* PERL_GLOBAL_STRUCT */
+
 /* Done with PERLVAR macros for now ... */
-#undef PERLVAR
-#undef PERLVARA
-#undef PERLVARI
-#undef PERLVARIC
-#undef PERLVARISC
+#  undef PERLVAR
+#  undef PERLVARA
+#  undef PERLVARI
+#  undef PERLVARIC
 
+#endif /* MULTIPLICITY */
+
 struct tempsym; /* defined in pp_pack.c */
 
 #include "thread.h"
@@ -5028,6 +5085,24 @@
 #    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);
@@ -5059,11 +5134,10 @@
  * these include variables that would have been their struct-s
  */
 
-#define PERLVAR(var,type) EXT type PL_##var;
-#define PERLVARA(var,n,type) EXT type PL_##var[n];
-#define PERLVARI(var,type,init) EXT type  PL_##var INIT(init);
-#define PERLVARIC(var,type,init) EXTCONST type PL_##var INIT(init);
-#define PERLVARISC(var,init) EXTCONST char PL_##var[sizeof(init)] INIT(init);
+#define PERLVAR(prefix,var,type) EXT type PL_##var;
+#define PERLVARA(prefix,var,n,type) EXT type PL_##var[n];
+#define PERLVARI(prefix,var,type,init) EXT type  PL_##var INIT(init);
+#define PERLVARIC(prefix,var,type,init) EXTCONST type PL_##var INIT(init);
 
 #if !defined(MULTIPLICITY)
 START_EXTERN_C
@@ -5076,13 +5150,13 @@
 #  undef PL_na
 #endif
 
-#if defined(WIN32)
-/* Now all the config stuff is setup we can include embed.h */
-#  include "embed.h"
-#  ifndef PERL_MAD
-#    undef op_getmad
-#    define op_getmad(arg,pegop,slot) NOOP
-#  endif
+/* Now all the config stuff is setup we can include embed.h
+   In particular, need the relevant *ish file included already, as it may
+   define HAVE_INTERP_INTERN  */
+#include "embed.h"
+#ifndef PERL_MAD
+#  undef op_getmad
+#  define op_getmad(arg,pegop,slot) NOOP
 #endif
 
 #ifndef PERL_GLOBAL_STRUCT
@@ -5100,6 +5174,14 @@
 
 START_EXTERN_C
 
+/* dummy variables that hold pointers to both runops functions, thus forcing
+ * them *both* to get linked in (useful for Peek.xs, debugging etc) */
+
+EXTCONST runops_proc_t PL_runops_std
+  INIT(Perl_runops_standard);
+EXTCONST runops_proc_t PL_runops_dbg
+  INIT(Perl_runops_debug);
+
 /* PERL_GLOBAL_STRUCT_PRIVATE wants to keep global data like the
  * magic vtables const, but this is incompatible with SWIG which
  * does want to modify the vtables. */
@@ -5109,461 +5191,86 @@
 #  define EXT_MGVTBL EXT MGVTBL
 #endif
 
+#define PERL_MAGIC_READONLY_ACCEPTABLE 0x40
+#define PERL_MAGIC_VALUE_MAGIC 0x80
+#define PERL_MAGIC_VTABLE_MASK 0x3F
+#define PERL_MAGIC_TYPE_READONLY_ACCEPTABLE(t) \
+    (PL_magic_data[(U8)(t)] & PERL_MAGIC_READONLY_ACCEPTABLE)
+#define PERL_MAGIC_TYPE_IS_VALUE_MAGIC(t) \
+    (PL_magic_data[(U8)(t)] & PERL_MAGIC_VALUE_MAGIC)
+
+#include "mg_vtable.h"
+
 #ifdef DOINIT
-#  define MGVTBL_SET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var = {a,b,c,d,e,f,g,h}
-/* Like MGVTBL_SET but with the get magic having a const MG* */
-#  define MGVTBL_SET_CONST_MAGIC_GET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var \
-    = {(int (*)(pTHX_ SV *, MAGIC *))a,b,c,d,e,f,g,h}
+EXTCONST U8 PL_magic_data[256] =
+#  ifdef PERL_MICRO
+#    include "umg_data.h"
+#  else
+#    include "mg_data.h"
+#  endif
+;
 #else
-#  define MGVTBL_SET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var
-#  define MGVTBL_SET_CONST_MAGIC_GET(var,a,b,c,d,e,f,g,h) EXT_MGVTBL var
+EXTCONST U8 PL_magic_data[256];
 #endif
 
-/* These all need to be 0, not NULL, as NULL can be (void*)0, which is a
- * pointer to data, whereas we're assigning pointers to functions, which are
- * not the same beast. ANSI doesn't allow the assignment from one to the other.
- * (although most, but not all, compilers are prepared to do it)
- */
+#ifdef DOINIT
+		        /* NL BD IV NV PV PI PN MG RX GV LV AV HV CV FM IO */
+EXTCONST bool
+PL_valid_types_IVX[]    = { 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
+EXTCONST bool
+PL_valid_types_NVX[]    = { 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0 };
+EXTCONST bool
+PL_valid_types_PVX[]    = { 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1 };
+EXTCONST bool
+PL_valid_types_RV[]     = { 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 };
+EXTCONST bool
+PL_valid_types_IV_set[] = { 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1 };
+EXTCONST bool
+PL_valid_types_NV_set[] = { 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0 };
 
-/* args are:
-    vtable
-    get
-    set
-    len
-    clear
-    free
-    copy
-    dup
-    local
-*/
+#else
 
-MGVTBL_SET(
-    PL_vtbl_sv,
-    Perl_magic_get,
-    Perl_magic_set,
-    Perl_magic_len,
-    0,
-    0,
-    0,
-    0,
-    0
-);
+EXTCONST bool PL_valid_types_IVX[];
+EXTCONST bool PL_valid_types_NVX[];
+EXTCONST bool PL_valid_types_PVX[];
+EXTCONST bool PL_valid_types_RV[];
+EXTCONST bool PL_valid_types_IV_set[];
+EXTCONST bool PL_valid_types_NV_set[];
 
-MGVTBL_SET(
-    PL_vtbl_env,
-    0,
-    Perl_magic_set_all_env,
-    0,
-    Perl_magic_clear_all_env,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_envelem,
-    0,
-    Perl_magic_setenv,
-    0,
-    Perl_magic_clearenv,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_sig,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-#ifdef PERL_MICRO
-MGVTBL_SET(
-    PL_vtbl_sigelem,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-#else
-MGVTBL_SET(
-    PL_vtbl_sigelem,
-    Perl_magic_getsig,
-    Perl_magic_setsig,
-    0,
-    Perl_magic_clearsig,
-    0,
-    0,
-    0,
-    0
-);
 #endif
 
-MGVTBL_SET(
-    PL_vtbl_pack,
-    0,
-    0,
-    Perl_magic_sizepack,
-    Perl_magic_wipepack,
-    0,
-    0,
-    0,
-    0
-);
+#ifndef PERL_NO_INLINE_FUNCTIONS
+/* Static inline funcs that depend on includes and declarations above.
+   Some of these reference functions in the perl object files, and some
+   compilers aren't smart enough to eliminate unused static inline
+   functions, so including this file in source code can cause link errors
+   even if the source code uses none of the functions. Hence including these
+   can be be suppressed by setting PERL_NO_INLINE_FUNCTIONS. Doing this will
+   (obviously) result in unworkable XS code, but allows simple probing code
+   to continue to work, because it permits tests to include the perl headers
+   for definitions without creating a link dependency on the perl library
+   (which may not exist yet).
+*/
 
-MGVTBL_SET(
-    PL_vtbl_packelem,
-    Perl_magic_getpack,
-    Perl_magic_setpack,
-    0,
-    Perl_magic_clearpack,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_dbline,
-    0,
-    Perl_magic_setdbline,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_isa,
-    0,
-    Perl_magic_setisa,
-    0,
-    Perl_magic_clearisa,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_isaelem,
-    0,
-    Perl_magic_setisa,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET_CONST_MAGIC_GET(
-    PL_vtbl_arylen,
-    Perl_magic_getarylen,
-    Perl_magic_setarylen,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_arylen_p,
-    0,
-    0,
-    0,
-    0,
-    Perl_magic_freearylen_p,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_mglob,
-    0,
-    Perl_magic_setmglob,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_nkeys,
-    Perl_magic_getnkeys,
-    Perl_magic_setnkeys,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_taint,
-    Perl_magic_gettaint,
-    Perl_magic_settaint,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_substr,
-    Perl_magic_getsubstr,
-    Perl_magic_setsubstr,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_vec,
-    Perl_magic_getvec,
-    Perl_magic_setvec,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_pos,
-    Perl_magic_getpos,
-    Perl_magic_setpos,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_bm,
-    0,
-    Perl_magic_setregexp,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_fm,
-    0,
-    Perl_magic_setregexp,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_uvar,
-    Perl_magic_getuvar,
-    Perl_magic_setuvar,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_defelem,
-    Perl_magic_getdefelem,
-    Perl_magic_setdefelem,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_regexp,
-    0,
-    Perl_magic_setregexp,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_regdata,
-    0,
-    0,
-    Perl_magic_regdata_cnt,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_regdatum,
-    Perl_magic_regdatum_get,
-    Perl_magic_regdatum_set,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_amagic,
-    0,
-    Perl_magic_setamagic,
-    0,
-    0,
-    Perl_magic_setamagic,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_amagicelem,
-    0,
-    Perl_magic_setamagic,
-    0,
-    0,
-    Perl_magic_setamagic,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_backref,
-    0,
-    0,
-    0,
-    0,
-    Perl_magic_killbackrefs,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_ovrld,
-    0,
-    0,
-    0,
-    0,
-    Perl_magic_freeovrld,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_utf8,
-    0,
-    Perl_magic_setutf8,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
-#ifdef USE_LOCALE_COLLATE
-MGVTBL_SET(
-    PL_vtbl_collxfrm,
-    0,
-    Perl_magic_setcollxfrm,
-    0,
-    0,
-    0,
-    0,
-    0,
-    0
-);
+#  include "inline.h"
 #endif
 
-MGVTBL_SET(
-    PL_vtbl_hintselem,
-    0,
-    Perl_magic_sethint,
-    0,
-    Perl_magic_clearhint,
-    0,
-    0,
-    0,
-    0
-);
-
-MGVTBL_SET(
-    PL_vtbl_hints,
-    0,
-    0,
-    0,
-    Perl_magic_clearhints,
-    0,
-    0,
-    0,
-    0
-);
-
 #include "overload.h"
 
 END_EXTERN_C
 
 struct am_table {
-  U32 flags;
+  U8 flags;
+  U8 fallback;
+  U16 spare;
   U32 was_ok_sub;
-  long was_ok_am;
-  long fallback;
   CV* table[NofAMmeth];
 };
 struct am_table_short {
-  U32 flags;
+  U8 flags;
+  U8 fallback;
+  U16 spare;
   U32 was_ok_sub;
-  long was_ok_am;
 };
 typedef struct am_table AMT;
 typedef struct am_table_short AMTS;
@@ -5573,13 +5280,9 @@
 #define AMGfallYES	3
 
 #define AMTf_AMAGIC		1
-#define AMTf_OVERLOADED		2
 #define AMT_AMAGIC(amt)		((amt)->flags & AMTf_AMAGIC)
 #define AMT_AMAGIC_on(amt)	((amt)->flags |= AMTf_AMAGIC)
 #define AMT_AMAGIC_off(amt)	((amt)->flags &= ~AMTf_AMAGIC)
-#define AMT_OVERLOADED(amt)	((amt)->flags & AMTf_OVERLOADED)
-#define AMT_OVERLOADED_on(amt)	((amt)->flags |= AMTf_OVERLOADED)
-#define AMT_OVERLOADED_off(amt)	((amt)->flags &= ~AMTf_OVERLOADED)
 
 #define StashHANDLER(stash,meth)	gv_handler((stash),CAT2(meth,_amg))
 
@@ -5657,11 +5360,23 @@
 #define SET_NUMERIC_LOCAL() \
 	set_numeric_local();
 
+/* Returns non-zero If the plain locale pragma without a parameter is in effect
+ */
 #define IN_LOCALE_RUNTIME	(CopHINTS_get(PL_curcop) & HINT_LOCALE)
+
+/* Returns non-zero If either form of the locale pragma is in effect */
+#define IN_SOME_LOCALE_FORM_RUNTIME   \
+		(CopHINTS_get(PL_curcop) & (HINT_LOCALE|HINT_LOCALE_NOT_CHARS))
+
 #define IN_LOCALE_COMPILETIME	(PL_hints & HINT_LOCALE)
+#define IN_SOME_LOCALE_FORM_COMPILETIME \
+			    (PL_hints & (HINT_LOCALE|HINT_LOCALE_NOT_CHARS))
 
 #define IN_LOCALE \
 	(IN_PERL_COMPILETIME ? IN_LOCALE_COMPILETIME : IN_LOCALE_RUNTIME)
+#define IN_SOME_LOCALE_FORM \
+	(IN_PERL_COMPILETIME ? IN_SOME_LOCALE_FORM_COMPILETIME \
+	                     : IN_SOME_LOCALE_FORM_RUNTIME)
 
 #define STORE_NUMERIC_LOCAL_SET_STANDARD() \
 	bool was_local = PL_numeric_local && IN_LOCALE; \
@@ -5690,10 +5405,12 @@
 #define RESTORE_NUMERIC_STANDARD()	/**/
 #define Atof				my_atof
 #define IN_LOCALE_RUNTIME		0
+#define IN_LOCALE_COMPILETIME		0
 
 #endif /* !USE_LOCALE_NUMERIC */
 
-#if !defined(Strtol) && defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
+#if !defined(Strtol) && defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && \
+	(QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64)
 #    ifdef __hpux
 #        define strtoll __strtoll	/* secret handshake */
 #    endif
@@ -5715,7 +5432,8 @@
 /* It would be more fashionable to use Strtol() to define atol()
  * (as is done for Atoul(), see below) but for backward compatibility
  * we just assume atol(). */
-#   if defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG && defined(HAS_ATOLL)
+#   if defined(USE_64_BIT_INT) && defined(IV_IS_QUAD) && defined(HAS_ATOLL) && \
+	(QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64)
 #    ifdef WIN64
 #       define atoll    _atoi64		/* secret handshake */
 #    endif
@@ -5725,7 +5443,8 @@
 #   endif
 #endif
 
-#if !defined(Strtoul) && defined(USE_64_BIT_INT) && defined(UV_IS_QUAD) && QUADKIND == QUAD_IS_LONG_LONG
+#if !defined(Strtoul) && defined(USE_64_BIT_INT) && defined(UV_IS_QUAD) && \
+	(QUADKIND == QUAD_IS_LONG_LONG || QUADKIND == QUAD_IS___INT64)
 #    ifdef __hpux
 #        define strtoull __strtoull	/* secret handshake */
 #    endif
@@ -5881,10 +5600,12 @@
  * the interpreter goes away.) */
 #  define MY_CXT_INIT \
 	my_cxt_t *my_cxtp = \
-	    (my_cxt_t*)Perl_my_cxt_init(aTHX_ MY_CXT_INIT_ARG, sizeof(my_cxt_t))
+	    (my_cxt_t*)Perl_my_cxt_init(aTHX_ MY_CXT_INIT_ARG, sizeof(my_cxt_t)); \
+	PERL_UNUSED_VAR(my_cxtp)
 #  define MY_CXT_INIT_INTERP(my_perl) \
 	my_cxt_t *my_cxtp = \
-	    (my_cxt_t*)Perl_my_cxt_init(my_perl, MY_CXT_INIT_ARG, sizeof(my_cxt_t))
+	    (my_cxt_t*)Perl_my_cxt_init(my_perl, MY_CXT_INIT_ARG, sizeof(my_cxt_t)); \
+	PERL_UNUSED_VAR(my_cxtp)
 
 /* This declaration should be used within all functions that use the
  * interpreter-local data. */
@@ -5901,7 +5622,7 @@
 
 
 /* This macro must be used to access members of the my_cxt_t structure.
- * e.g. MYCXT.some_data */
+ * e.g. MY_CXT.some_data */
 #  define MY_CXT		(*my_cxtp)
 
 /* Judicious use of these macros can reduce the number of times dMY_CXT
@@ -5967,10 +5688,9 @@
 #if O_TEXT != O_BINARY
     /* If you have different O_TEXT and O_BINARY and you are a CLRF shop,
      * that is, you are somehow DOSish. */
-#   if defined(__BEOS__) || defined(__HAIKU__) || defined(__VOS__) || \
-	defined(__CYGWIN__)
-    /* BeOS/Haiku has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect;
-     * BeOS/Haiku is always UNIXoid (LF), not DOSish (CRLF). */
+#   if defined(__HAIKU__) || defined(__VOS__) || defined(__CYGWIN__)
+    /* Haiku has O_TEXT != O_BINARY but O_TEXT and O_BINARY have no effect;
+     * Haiku is always UNIXoid (LF), not DOSish (CRLF). */
     /* VOS has O_TEXT != O_BINARY, and they have effect,
      * but VOS always uses LF, never CRLF. */
     /* If you have O_TEXT different from your O_BINARY but you still are
@@ -6005,6 +5725,8 @@
 #define PERL_SCAN_ALLOW_UNDERSCORES   0x01 /* grok_??? accept _ in numbers */
 #define PERL_SCAN_DISALLOW_PREFIX     0x02 /* grok_??? reject 0x in hex etc */
 #define PERL_SCAN_SILENT_ILLDIGIT     0x04 /* grok_??? not warn about illegal digits */
+#define PERL_SCAN_SILENT_NON_PORTABLE 0x08 /* grok_??? not warn about very large
+					      numbers which are <= UV_MAX */
 /* Output flags: */
 #define PERL_SCAN_GREATER_THAN_UV_MAX 0x02 /* should this merge with above? */
 
@@ -6022,15 +5744,7 @@
 
 /* ISO 6429 NEL - C1 control NExt Line */
 /* See http://www.unicode.org/unicode/reports/tr13/ */
-#ifdef EBCDIC	/* In EBCDIC NEL is just an alias for LF */
-#   if '^' == 95	/* CP 1047: MVS OpenEdition - OS/390 - z/OS */
-#       define NEXT_LINE_CHAR	0x15
-#   else		/* CDRA */
-#       define NEXT_LINE_CHAR	0x25
-#   endif
-#else
-#   define NEXT_LINE_CHAR	0x85
-#endif
+#define NEXT_LINE_CHAR	NEXT_LINE_NATIVE
 
 /* The UTF-8 bytes of the Unicode LS and PS, U+2028 and U+2029 */
 #define UNICODE_LINE_SEPA_0	0xE2
@@ -6147,14 +5861,6 @@
 #define PERL_PV_PRETTY_DUMP  PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_QUOTE
 #define PERL_PV_PRETTY_REGPROP PERL_PV_PRETTY_ELLIPSES|PERL_PV_PRETTY_LTGT|PERL_PV_ESCAPE_RE|PERL_PV_ESCAPE_NONASCII
 
-#ifdef PERL_CORE
-#  define FEATURE_IS_ENABLED(name)				        \
-	((0 != (PL_hints & HINT_LOCALIZE_HH))				\
-	    && Perl_feature_is_enabled(aTHX_ STR_WITH_LEN(name)))
-/* The longest string we pass in.  */
-#  define MAX_FEATURE_LEN (sizeof("unicode_strings")-1)
-#endif
-
 /*
 
    (KEEP THIS LAST IN perl.h!)
@@ -6211,8 +5917,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perl.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Deleted: vendor/perl/dist/perl_keyword.pl
===================================================================
--- vendor/perl/dist/perl_keyword.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perl_keyword.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,97 +0,0 @@
-
-# How to generate the logic of the lookup table Perl_keyword() in toke.c
-
-use Devel::Tokenizer::C 0.05;
-use strict;
-use warnings;
-
-my @pos = qw(__DATA__ __END__ AUTOLOAD BEGIN CHECK DESTROY default defined
-	    delete do END else eval elsif exists for format foreach given grep
-	    goto glob INIT if last local m my map next no our pos print printf
-	    package prototype q qr qq qw qx redo return require s say scalar sort
-	    split state study sub tr tie tied use undef UNITCHECK until untie
-	    unless when while y);
-
-my @neg = qw(__FILE__ __LINE__ __PACKAGE__ and abs alarm atan2 accept bless
-	    break bind binmode CORE cmp chr cos chop close chdir chomp chmod
-	    chown crypt chroot caller connect closedir continue die dump
-	    dbmopen dbmclose eq eof exp exit exec each endgrent endpwent
-	    endnetent endhostent endservent endprotoent fork fcntl flock fileno
-	    formline getppid getpgrp getpwent getpwnam getpwuid getpeername
-	    getprotoent getpriority getprotobyname getprotobynumber
-	    gethostbyname gethostbyaddr gethostent getnetbyname getnetbyaddr
-	    getnetent getservbyname getservbyport getservent getsockname
-	    getsockopt getgrent getgrnam getgrgid getlogin getc gt ge gmtime
-	    hex int index ioctl join keys kill lt le lc log link lock lstat
-	    length listen lcfirst localtime mkdir msgctl msgget msgrcv msgsnd
-	    ne not or ord oct open opendir pop push pack pipe quotemeta ref
-	    read rand recv rmdir reset rename rindex reverse readdir readlink
-	    readline readpipe rewinddir seek send semop select semctl semget
-	    setpgrp seekdir setpwent setgrent setnetent setsockopt sethostent
-	    setservent setpriority setprotoent shift shmctl shmget shmread
-	    shmwrite shutdown sin sleep socket socketpair sprintf splice sqrt
-	    srand stat substr system symlink syscall sysopen sysread sysseek
-	    syswrite tell time times telldir truncate uc utime umask unpack
-	    unlink unshift ucfirst values vec warn wait write waitpid wantarray
-	    x xor);
-
-my %feature_kw = (
-	given   => 'switch',
-	when    => 'switch',
-	default => 'switch',
-	# continue is already a keyword
-	break   => 'switch',
-
-	say     => 'say',
-
-	state	=> 'state',
-	);
-
-my %pos = map { ($_ => 1) } @pos;
-
-my $t = Devel::Tokenizer::C->new( TokenFunc     => \&perl_keyword
-                                , TokenString   => 'name'
-                                , StringLength  => 'len'
-                                , MergeSwitches => 1
-                                );
-
-$t->add_tokens(@pos, @neg, 'elseif');
-
-my $switch = $t->generate(Indent => '  ');
-
-print <<END;
-/*
- *  The following code was generated by $0.
- */
-
-I32
-Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords)
-{
-    dVAR;
-$switch
-unknown:
-  return 0;
-}
-END
-
-sub perl_keyword
-{
-  my $k = shift;
-  my $sign = $pos{$k} ? '' : '-';
-
-  if ($k eq 'elseif') {
-    return <<END;
-if(ckWARN_d(WARN_SYNTAX))
-  Perl_warner(aTHX_ packWARN(WARN_SYNTAX), "elseif should be elsif");
-END
-  }
-  elsif (my $feature = $feature_kw{$k}) {
-    $feature =~ s/([\\"])/\\$1/g;
-    return <<END;
-return (all_keywords || FEATURE_IS_ENABLED("$feature") ? ${sign}KEY_$k : 0);
-END
-  }
-  return <<END;
-return ${sign}KEY_$k;
-END
-}

Modified: vendor/perl/dist/perlapi.c
===================================================================
--- vendor/perl/dist/perlapi.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlapi.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -34,21 +34,18 @@
 START_EXTERN_C
 
 #undef PERLVARI
-#define PERLVARI(v,t,i) PERLVAR(v,t)
+#define PERLVARI(p,v,t,i) PERLVAR(p,v,t)
 
 #undef PERLVAR
 #undef PERLVARA
-#define PERLVAR(v,t)	t* Perl_##v##_ptr(pTHX)				\
+#define PERLVAR(p,v,t)		t* Perl_##p##v##_ptr(pTHX)		\
 			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
-#define PERLVARA(v,n,t)	PL_##v##_t* Perl_##v##_ptr(pTHX)		\
+#define PERLVARA(p,v,n,t)	PL_##v##_t* Perl_##p##v##_ptr(pTHX)	\
 			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
 #undef PERLVARIC
-#undef PERLVARISC
-#define PERLVARIC(v,t,i)	\
-			const t* Perl_##v##_ptr(pTHX)		\
+#define PERLVARIC(p,v,t,i)	\
+			const t* Perl_##p##v##_ptr(pTHX)		\
 			{ PERL_UNUSED_CONTEXT; return (const t *)&(PL_##v); }
-#define PERLVARISC(v,i)	PL_##v##_t* Perl_##v##_ptr(pTHX)	\
-			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
 #include "perlvars.h"
 
 #undef PERLVAR
@@ -55,7 +52,6 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#undef PERLVARISC
 
 END_EXTERN_C
 


Property changes on: vendor/perl/dist/perlapi.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/perlapi.h
===================================================================
--- vendor/perl/dist/perlapi.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlapi.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,14 +28,11 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#undef PERLVARISC
-#define PERLVAR(v,t)	EXTERN_C t* Perl_##v##_ptr(pTHX);
-#define PERLVARA(v,n,t)	typedef t PL_##v##_t[n];			\
-			EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-#define PERLVARI(v,t,i)	PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v, const t)
-#define PERLVARISC(v,i)	typedef const char PL_##v##_t[sizeof(i)];	\
-			EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
+#define PERLVAR(p,v,t)	EXTERN_C t* Perl_##p##v##_ptr(pTHX);
+#define PERLVARA(p,v,n,t)	typedef t PL_##v##_t[n];		\
+			EXTERN_C PL_##v##_t* Perl_##p##v##_ptr(pTHX);
+#define PERLVARI(p,v,t,i)	PERLVAR(p,v,t)
+#define PERLVARIC(p,v,t,i) PERLVAR(p,v, const t)
 
 #include "perlvars.h"
 
@@ -43,7 +40,6 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#undef PERLVARISC
 
 END_EXTERN_C
 
@@ -66,11 +62,10 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#define PERLVAR(v,t)	(void*)Perl_##v##_ptr,
-#define PERLVARA(v,n,t)	PERLVAR(v,t)
-#define PERLVARI(v,t,i)	PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
-#define PERLVARISC(v,i) PERLVAR(v,char)
+#define PERLVAR(p,v,t)		(void*)Perl_##p##v##_ptr,
+#define PERLVARA(p,v,n,t)	PERLVAR(p,v,t)
+#define PERLVARI(p,v,t,i)	PERLVAR(p,v,t)
+#define PERLVARIC(p,v,t,i)	PERLVAR(p,v,t)
 
 /* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one
  * cannot cast between void pointers and function pointers without
@@ -95,7 +90,6 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#undef PERLVARISC
 };
 #endif	/* DOINIT */
 
@@ -105,16 +99,12 @@
 
 #else	/* !PERL_CORE */
 
-#undef  PL_No
-#define PL_No			(*Perl_GNo_ptr(NULL))
-#undef  PL_Yes
-#define PL_Yes			(*Perl_GYes_ptr(NULL))
 #undef  PL_appctx
 #define PL_appctx		(*Perl_Gappctx_ptr(NULL))
-#undef  PL_charclass
-#define PL_charclass		(*Perl_Gcharclass_ptr(NULL))
 #undef  PL_check
 #define PL_check		(*Perl_Gcheck_ptr(NULL))
+#undef  PL_check_mutex
+#define PL_check_mutex		(*Perl_Gcheck_mutex_ptr(NULL))
 #undef  PL_csighandlerp
 #define PL_csighandlerp		(*Perl_Gcsighandlerp_ptr(NULL))
 #undef  PL_curinterp
@@ -125,16 +115,12 @@
 #define PL_dollarzero_mutex	(*Perl_Gdollarzero_mutex_ptr(NULL))
 #undef  PL_fold_locale
 #define PL_fold_locale		(*Perl_Gfold_locale_ptr(NULL))
-#undef  PL_global_struct_size
-#define PL_global_struct_size	(*Perl_Gglobal_struct_size_ptr(NULL))
-#undef  PL_hexdigit
-#define PL_hexdigit		(*Perl_Ghexdigit_ptr(NULL))
+#undef  PL_hash_seed
+#define PL_hash_seed		(*Perl_Ghash_seed_ptr(NULL))
+#undef  PL_hash_seed_set
+#define PL_hash_seed_set	(*Perl_Ghash_seed_set_ptr(NULL))
 #undef  PL_hints_mutex
 #define PL_hints_mutex		(*Perl_Ghints_mutex_ptr(NULL))
-#undef  PL_interp_size
-#define PL_interp_size		(*Perl_Ginterp_size_ptr(NULL))
-#undef  PL_interp_size_5_10_0
-#define PL_interp_size_5_10_0	(*Perl_Ginterp_size_5_10_0_ptr(NULL))
 #undef  PL_keyword_plugin
 #define PL_keyword_plugin	(*Perl_Gkeyword_plugin_ptr(NULL))
 #undef  PL_malloc_mutex
@@ -151,8 +137,6 @@
 #define PL_op_seq		(*Perl_Gop_seq_ptr(NULL))
 #undef  PL_op_sequence
 #define PL_op_sequence		(*Perl_Gop_sequence_ptr(NULL))
-#undef  PL_patleave
-#define PL_patleave		(*Perl_Gpatleave_ptr(NULL))
 #undef  PL_perlio_debug_fd
 #define PL_perlio_debug_fd	(*Perl_Gperlio_debug_fd_ptr(NULL))
 #undef  PL_perlio_fd_refcnt
@@ -163,12 +147,6 @@
 #define PL_perlio_mutex		(*Perl_Gperlio_mutex_ptr(NULL))
 #undef  PL_ppaddr
 #define PL_ppaddr		(*Perl_Gppaddr_ptr(NULL))
-#undef  PL_revision
-#define PL_revision		(*Perl_Grevision_ptr(NULL))
-#undef  PL_runops_dbg
-#define PL_runops_dbg		(*Perl_Grunops_dbg_ptr(NULL))
-#undef  PL_runops_std
-#define PL_runops_std		(*Perl_Grunops_std_ptr(NULL))
 #undef  PL_sh_path
 #define PL_sh_path		(*Perl_Gsh_path_ptr(NULL))
 #undef  PL_sig_defaulting
@@ -181,8 +159,6 @@
 #define PL_sig_trapped		(*Perl_Gsig_trapped_ptr(NULL))
 #undef  PL_sigfpe_saved
 #define PL_sigfpe_saved		(*Perl_Gsigfpe_saved_ptr(NULL))
-#undef  PL_subversion
-#define PL_subversion		(*Perl_Gsubversion_ptr(NULL))
 #undef  PL_sv_placeholder
 #define PL_sv_placeholder	(*Perl_Gsv_placeholder_ptr(NULL))
 #undef  PL_thr_key
@@ -191,8 +167,6 @@
 #define PL_timesbase		(*Perl_Gtimesbase_ptr(NULL))
 #undef  PL_use_safe_putenv
 #define PL_use_safe_putenv	(*Perl_Guse_safe_putenv_ptr(NULL))
-#undef  PL_version
-#define PL_version		(*Perl_Gversion_ptr(NULL))
 #undef  PL_veto_cleanup
 #define PL_veto_cleanup		(*Perl_Gveto_cleanup_ptr(NULL))
 #undef  PL_watch_pvx


Property changes on: vendor/perl/dist/perlapi.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/perldtrace.d
===================================================================
--- vendor/perl/dist/perldtrace.d	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perldtrace.d	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,18 @@
 /*
  * Written by Alan Burlinson -- taken from his blog post
- * at <http://blogs.sun.com/alanbur/date/20050909>.
+ * at <http://bleaklow.com/2005/09/09/dtrace_and_perl.html>.
  */
 
 provider perl {
-    probe sub__entry(char *, char *, int, char *);
-    probe sub__return(char *, char *, int, char *);
+    probe sub__entry(const char *, const char *, int, const char *);
+    probe sub__return(const char *, const char *, int, const char *);
+
+    probe phase__change(const char *, const char *);
+
+    probe op__entry(const char *);
+
+    probe loading__file(const char *);
+    probe loaded__file(const char *);
 };
 
 /*
@@ -14,5 +21,5 @@
  * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perldtrace.d
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/perlio.c
===================================================================
--- vendor/perl/dist/perlio.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlio.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 /*
  * perlio.c
  * Copyright (c) 1996-2006, Nick Ing-Simmons
- * Copyright (c) 2006, 2007, 2008 Larry Wall and others
+ * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011 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.
@@ -70,6 +70,10 @@
 int mkstemp(char*);
 #endif
 
+#ifdef VMS
+#include <rms.h>
+#endif
+
 #define PerlIO_lockcnt(f) (((PerlIOl*)(f))->head->flags)
 
 /* Call the callback or PerlIOBase, and return failure. */
@@ -137,17 +141,6 @@
      * This used to be contents of do_binmode in doio.c
      */
 #ifdef DOSISH
-#  if defined(atarist)
-    PERL_UNUSED_ARG(iotype);
-    if (!fflush(fp)) {
-        if (mode & O_BINARY)
-            ((FILE *) fp)->_flag |= _IOBIN;
-        else
-            ((FILE *) fp)->_flag &= ~_IOBIN;
-        return 1;
-    }
-    return 0;
-#  else
     dTHX;
     PERL_UNUSED_ARG(iotype);
 #ifdef NETWARE
@@ -155,28 +148,10 @@
 #else
     if (PerlLIO_setmode(fileno(fp), mode) != -1) {
 #endif
-#    if defined(WIN32) && defined(__BORLANDC__)
-        /*
-         * The translation mode of the stream is maintained independent 
-of
-         * the translation mode of the fd in the Borland RTL (heavy
-         * digging through their runtime sources reveal).  User has to 
-set
-         * the mode explicitly for the stream (though they don't 
-document
-         * this anywhere). GSAR 97-5-24
-         */
-        fseek(fp, 0L, 0);
-        if (mode & O_BINARY)
-            fp->flags |= _F_BIN;
-        else
-            fp->flags &= ~_F_BIN;
-#    endif
         return 1;
     }
     else
         return 0;
-#  endif
 #else
 #  if defined(USEMYBINMODE)
     dTHX;
@@ -468,17 +443,6 @@
 
 #include "perliol.h"
 
-/*
- * We _MUST_ have <unistd.h> if we are using lseek() and may have large
- * files
- */
-#ifdef I_UNISTD
-#include <unistd.h>
-#endif
-#ifdef HAS_MMAP
-#include <sys/mman.h>
-#endif
-
 void
 PerlIO_debug(const char *fmt, ...)
 {
@@ -486,7 +450,9 @@
     dSYS;
     va_start(ap, fmt);
     if (!PL_perlio_debug_fd) {
-	if (!PL_tainting && PL_uid == PL_euid && PL_gid == PL_egid) {
+	if (!TAINTING_get &&
+	    PerlProc_getuid() == PerlProc_geteuid() &&
+	    PerlProc_getgid() == PerlProc_getegid()) {
 	    const char * const s = PerlEnv_getenv("PERLIO_DEBUG");
 	    if (s && *s)
 		PL_perlio_debug_fd
@@ -500,7 +466,6 @@
 	}
     }
     if (PL_perlio_debug_fd > 0) {
-	dTHX;
 #ifdef USE_ITHREADS
 	const char * const s = CopFILE(PL_curcop);
 	/* Use fixed buffer as sv_catpvf etc. needs SVs */
@@ -846,7 +811,8 @@
 	len = strlen(name);
     for (i = 0; i < PL_known_layers->cur; i++) {
 	PerlIO_funcs * const f = PL_known_layers->array[i].funcs;
-	if (memEQ(f->name, name, len) && f->name[len] == 0) {
+        const STRLEN this_len = strlen(f->name);
+        if (this_len == len && memEQ(f->name, name, len)) {
 	    PerlIO_debug("%.*s => %p\n", (int) len, name, (void*)f);
 	    return f;
 	}
@@ -1040,7 +1006,7 @@
 		}
 		do {
 		    e++;
-		} while (isALNUM(*e));
+		} while (isWORDCHAR(*e));
 		llen = e - s;
 		if (*e == '(') {
 		    int nesting = 1;
@@ -1189,7 +1155,7 @@
 {
     dVAR;
     if (!PL_def_layerlist) {
-	const char * const s = (PL_tainting) ? NULL : PerlEnv_getenv("PERLIO");
+	const char * const s = TAINTING_get ? NULL : PerlEnv_getenv("PERLIO");
 	PERLIO_FUNCS_DECL(*osLayer) = &PerlIO_unix;
 	PL_def_layerlist = PerlIO_list_alloc(aTHX);
 	PerlIO_define_layer(aTHX_ PERLIO_FUNCS_CAST(&PerlIO_unix));
@@ -1203,9 +1169,6 @@
 	PerlIO_define_layer(aTHX_ PERLIO_FUNCS_CAST(&PerlIO_perlio));
 	PerlIO_define_layer(aTHX_ PERLIO_FUNCS_CAST(&PerlIO_stdio));
 	PerlIO_define_layer(aTHX_ PERLIO_FUNCS_CAST(&PerlIO_crlf));
-#ifdef HAS_MMAP
-	PerlIO_define_layer(aTHX_ PERLIO_FUNCS_CAST(&PerlIO_mmap));
-#endif
 	PerlIO_define_layer(aTHX_ PERLIO_FUNCS_CAST(&PerlIO_utf8));
 	PerlIO_define_layer(aTHX_ PERLIO_FUNCS_CAST(&PerlIO_remove));
 	PerlIO_define_layer(aTHX_ PERLIO_FUNCS_CAST(&PerlIO_byte));
@@ -1543,6 +1506,7 @@
 	/* This isn't supposed to happen, since PerlIO::scalar is core,
 	 * but could happen anyway in smaller installs or with PAR */
 	if (!f)
+	    /* diag_listed_as: Unknown PerlIO layer "%s" */
 	    Perl_ck_warner(aTHX_ packWARN(WARN_LAYER), "Unknown PerlIO layer \"scalar\"");
 	return f;
     }
@@ -2192,7 +2156,7 @@
 	    SSize_t avail = PerlIO_get_cnt(f);
 	    SSize_t take = 0;
 	    if (avail > 0)
-		take = ((SSize_t)count < avail) ? (SSize_t)count : avail;
+		take = (((SSize_t) count >= 0) && ((SSize_t)count < avail)) ? (SSize_t)count : avail;
 	    if (take > 0) {
 		STDCHAR *ptr = PerlIO_get_ptr(f);
 		Copy(ptr, buf, take, STDCHAR);
@@ -2373,10 +2337,7 @@
 #ifdef USE_ITHREADS
 	MUTEX_UNLOCK(&PL_perlio_mutex);
 #endif
-	/* Can't use PerlIO to write as it allocates memory */
-	PerlLIO_write(PerlIO_fileno(Perl_error_log),
-		      PL_no_mem, strlen(PL_no_mem));
-	my_exit(1);
+	croak_no_mem();
     }
 
     PL_perlio_fd_refcnt_size = new_max;
@@ -2431,7 +2392,6 @@
 int
 PerlIOUnix_refcnt_dec(int fd)
 {
-    dTHX;
     int cnt = 0;
     if (fd >= 0) {
 	dVAR;
@@ -2440,12 +2400,12 @@
 #endif
 	if (fd >= PL_perlio_fd_refcnt_size) {
 	    /* diag_listed_as: refcnt_dec: fd %d%s */
-	    Perl_croak(aTHX_ "refcnt_dec: fd %d >= refcnt_size %d\n",
+	    Perl_croak_nocontext("refcnt_dec: fd %d >= refcnt_size %d\n",
 		       fd, PL_perlio_fd_refcnt_size);
 	}
 	if (PL_perlio_fd_refcnt[fd] <= 0) {
 	    /* diag_listed_as: refcnt_dec: fd %d%s */
-	    Perl_croak(aTHX_ "refcnt_dec: fd %d: %d <= 0\n",
+	    Perl_croak_nocontext("refcnt_dec: fd %d: %d <= 0\n",
 		       fd, PL_perlio_fd_refcnt[fd]);
 	}
 	cnt = --PL_perlio_fd_refcnt[fd];
@@ -2455,7 +2415,7 @@
 #endif
     } else {
 	/* diag_listed_as: refcnt_dec: fd %d%s */
-	Perl_croak(aTHX_ "refcnt_dec: fd %d < 0\n", fd);
+	Perl_croak_nocontext("refcnt_dec: fd %d < 0\n", fd);
     }
     return cnt;
 }
@@ -2587,8 +2547,10 @@
     SAVEDESTRUCTOR_X(S_lockcnt_dec, (void*)f);
     PerlIO_lockcnt(f)++;
     PERL_ASYNC_CHECK();
-    if ( !(PerlIOBase(f)->flags & PERLIO_F_CLEARED) )
+    if ( !(PerlIOBase(f)->flags & PERLIO_F_CLEARED) ) {
+	LEAVE;
 	return 0;
+    }
     /* we've just run some perl-level code that could have done
      * anything, including closing the file or clearing this layer.
      * If so, free any lower layers that have already been
@@ -2600,6 +2562,7 @@
 	*f = l->next;
 	Safefree(l);
     }
+    LEAVE;
     return 1;
 }
 
@@ -2648,10 +2611,15 @@
 	oflags &= ~O_BINARY;
 	mode++;
     }
-    /*
-     * Always open in binary mode
-     */
-    oflags |= O_BINARY;
+    else {
+#ifdef PERLIO_USING_CRLF
+	/*
+	 * If neither "t" nor "b" was specified, open the file
+	 * in O_BINARY mode.
+	 */
+	oflags |= O_BINARY;
+#endif
+    }
     if (*mode || oflags == -1) {
 	SETERRNO(EINVAL, LIB_INVARG);
 	oflags = -1;
@@ -3241,9 +3209,7 @@
     f->_file = -1;
     return 1;
 #  elif defined(WIN32)
-#    if defined(__BORLANDC__)
-    f->fd = PerlLIO_dup(fileno(f));
-#    elif defined(UNDER_CE)
+#    if defined(UNDER_CE)
     /* WIN_CE does not have access to FILE internals, it hardly has FILE
        structure at all
      */
@@ -3828,12 +3794,14 @@
     while ((l = *p)) {
 	if (l->tab == &PerlIO_stdio) {
 	    PerlIOStdio *s = PerlIOSelf(&l, PerlIOStdio);
-	    if (s->stdio == f) {
-		dTHX;
+	    if (s->stdio == f) { /* not in a loop */
 		const int fd = fileno(f);
 		if (fd >= 0)
 		    PerlIOUnix_refcnt_dec(fd);
-		PerlIO_pop(aTHX_ p);
+		{
+		    dTHX;
+		    PerlIO_pop(aTHX_ p);
+		}
 		return;
 	    }
 	}
@@ -3922,7 +3890,6 @@
 		PerlLIO_setmode(fd, O_BINARY);
 #endif
 #ifdef VMS
-#include <rms.h>
 		/* Enable line buffering with record-oriented regular files
 		 * so we don't introduce an extraneous record boundary when
 		 * the buffer fills up.
@@ -4125,7 +4092,7 @@
 	     */
 	    b->posn -= b->bufsiz;
 	}
-	if (avail > (SSize_t) count) {
+	if ((SSize_t) count >= 0 && avail > (SSize_t) count) {
 	    /*
 	     * If we have space for more than count, just move count
 	     */
@@ -4175,7 +4142,7 @@
     }
     while (count > 0) {
 	SSize_t avail = b->bufsiz - (b->ptr - b->buf);
-	if ((SSize_t) count < avail)
+	if ((SSize_t) count >= 0 && (SSize_t) count < avail)
 	    avail = count;
 	if (flushptr > buf && flushptr <= buf + avail)
 	    avail = flushptr - buf;
@@ -4450,7 +4417,7 @@
 {
     SSize_t avail = PerlIO_get_cnt(f);
     SSize_t got = 0;
-    if ((SSize_t)count < avail)
+    if ((SSize_t) count >= 0 && (SSize_t)count < avail)
 	avail = count;
     if (avail > 0)
 	got = PerlIOBuf_read(aTHX_ f, vbuf, avail);
@@ -4610,6 +4577,8 @@
 		}
 	    }
 	}
+        if (count > 0)
+            unread += PerlIOBase_unread(aTHX_ f, (const STDCHAR *) vbuf + unread, count);
 	return unread;
     }
 }
@@ -4848,298 +4817,7 @@
     PerlIOCrlf_set_ptrcnt,
 };
 
-#ifdef HAS_MMAP
-/*--------------------------------------------------------------------------------------*/
-/*
- * mmap as "buffer" layer
- */
-
-typedef struct {
-    PerlIOBuf base;             /* PerlIOBuf stuff */
-    Mmap_t mptr;                /* Mapped address */
-    Size_t len;                 /* mapped length */
-    STDCHAR *bbuf;              /* malloced buffer if map fails */
-} PerlIOMmap;
-
-IV
-PerlIOMmap_map(pTHX_ PerlIO *f)
-{
-    dVAR;
-    PerlIOMmap * const m = PerlIOSelf(f, PerlIOMmap);
-    const IV flags = PerlIOBase(f)->flags;
-    IV code = 0;
-    if (m->len)
-	abort();
-    if (flags & PERLIO_F_CANREAD) {
-	PerlIOBuf * const b = PerlIOSelf(f, PerlIOBuf);
-	const int fd = PerlIO_fileno(f);
-	Stat_t st;
-	code = Fstat(fd, &st);
-	if (code == 0 && S_ISREG(st.st_mode)) {
-	    SSize_t len = st.st_size - b->posn;
-	    if (len > 0) {
-		Off_t posn;
-		if (PL_mmap_page_size <= 0)
-		  Perl_croak(aTHX_ "panic: bad pagesize %" IVdf,
-			     PL_mmap_page_size);
-		if (b->posn < 0) {
-		    /*
-		     * This is a hack - should never happen - open should
-		     * have set it !
-		     */
-		    b->posn = PerlIO_tell(PerlIONext(f));
-		}
-		posn = (b->posn / PL_mmap_page_size) * PL_mmap_page_size;
-		len = st.st_size - posn;
-		m->mptr = (Mmap_t)mmap(NULL, len, PROT_READ, MAP_SHARED, fd, posn);
-		if (m->mptr && m->mptr != (Mmap_t) - 1) {
-#if 0 && defined(HAS_MADVISE) && defined(MADV_SEQUENTIAL)
-		    madvise(m->mptr, len, MADV_SEQUENTIAL);
-#endif
-#if 0 && defined(HAS_MADVISE) && defined(MADV_WILLNEED)
-		    madvise(m->mptr, len, MADV_WILLNEED);
-#endif
-		    PerlIOBase(f)->flags =
-			(flags & ~PERLIO_F_EOF) | PERLIO_F_RDBUF;
-		    b->end = ((STDCHAR *) m->mptr) + len;
-		    b->buf = ((STDCHAR *) m->mptr) + (b->posn - posn);
-		    b->ptr = b->buf;
-		    m->len = len;
-		}
-		else {
-		    b->buf = NULL;
-		}
-	    }
-	    else {
-		PerlIOBase(f)->flags =
-		    flags | PERLIO_F_EOF | PERLIO_F_RDBUF;
-		b->buf = NULL;
-		b->ptr = b->end = b->ptr;
-		code = -1;
-	    }
-	}
-    }
-    return code;
-}
-
-IV
-PerlIOMmap_unmap(pTHX_ PerlIO *f)
-{
-    PerlIOMmap * const m = PerlIOSelf(f, PerlIOMmap);
-    IV code = 0;
-    if (m->len) {
-	PerlIOBuf * const b = &m->base;
-	if (b->buf) {
-	    /* The munmap address argument is tricky: depending on the
-	     * standard it is either "void *" or "caddr_t" (which is
-	     * usually "char *" (signed or unsigned).  If we cast it
-	     * to "void *", those that have it caddr_t and an uptight
-	     * C++ compiler, will freak out.  But casting it as char*
-	     * should work.  Maybe.  (Using Mmap_t figured out by
-	     * Configure doesn't always work, apparently.) */
-	    code = munmap((char*)m->mptr, m->len);
-	    b->buf = NULL;
-	    m->len = 0;
-	    m->mptr = NULL;
-	    if (PerlIO_seek(PerlIONext(f), b->posn, SEEK_SET) != 0)
-		code = -1;
-	}
-	b->ptr = b->end = b->buf;
-	PerlIOBase(f)->flags &= ~(PERLIO_F_RDBUF | PERLIO_F_WRBUF);
-    }
-    return code;
-}
-
-STDCHAR *
-PerlIOMmap_get_base(pTHX_ PerlIO *f)
-{
-    PerlIOMmap * const m = PerlIOSelf(f, PerlIOMmap);
-    PerlIOBuf * const b = &m->base;
-    if (b->buf && (PerlIOBase(f)->flags & PERLIO_F_RDBUF)) {
-	/*
-	 * Already have a readbuffer in progress
-	 */
-	return b->buf;
-    }
-    if (b->buf) {
-	/*
-	 * We have a write buffer or flushed PerlIOBuf read buffer
-	 */
-	m->bbuf = b->buf;       /* save it in case we need it again */
-	b->buf = NULL;          /* Clear to trigger below */
-    }
-    if (!b->buf) {
-	PerlIOMmap_map(aTHX_ f);        /* Try and map it */
-	if (!b->buf) {
-	    /*
-	     * Map did not work - recover PerlIOBuf buffer if we have one
-	     */
-	    b->buf = m->bbuf;
-	}
-    }
-    b->ptr = b->end = b->buf;
-    if (b->buf)
-	return b->buf;
-    return PerlIOBuf_get_base(aTHX_ f);
-}
-
-SSize_t
-PerlIOMmap_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count)
-{
-    PerlIOMmap * const m = PerlIOSelf(f, PerlIOMmap);
-    PerlIOBuf * const b = &m->base;
-    if (PerlIOBase(f)->flags & PERLIO_F_WRBUF)
-	PerlIO_flush(f);
-    if (b->ptr && (b->ptr - count) >= b->buf
-	&& memEQ(b->ptr - count, vbuf, count)) {
-	b->ptr -= count;
-	PerlIOBase(f)->flags &= ~PERLIO_F_EOF;
-	return count;
-    }
-    if (m->len) {
-	/*
-	 * Loose the unwritable mapped buffer
-	 */
-	PerlIO_flush(f);
-	/*
-	 * If flush took the "buffer" see if we have one from before
-	 */
-	if (!b->buf && m->bbuf)
-	    b->buf = m->bbuf;
-	if (!b->buf) {
-	    PerlIOBuf_get_base(aTHX_ f);
-	    m->bbuf = b->buf;
-	}
-    }
-    return PerlIOBuf_unread(aTHX_ f, vbuf, count);
-}
-
-SSize_t
-PerlIOMmap_write(pTHX_ PerlIO *f, const void *vbuf, Size_t count)
-{
-    PerlIOMmap * const m = PerlIOSelf(f, PerlIOMmap);
-    PerlIOBuf * const b = &m->base;
-
-    if (!b->buf || !(PerlIOBase(f)->flags & PERLIO_F_WRBUF)) {
-	/*
-	 * No, or wrong sort of, buffer
-	 */
-	if (m->len) {
-	    if (PerlIOMmap_unmap(aTHX_ f) != 0)
-		return 0;
-	}
-	/*
-	 * If unmap took the "buffer" see if we have one from before
-	 */
-	if (!b->buf && m->bbuf)
-	    b->buf = m->bbuf;
-	if (!b->buf) {
-	    PerlIOBuf_get_base(aTHX_ f);
-	    m->bbuf = b->buf;
-	}
-    }
-    return PerlIOBuf_write(aTHX_ f, vbuf, count);
-}
-
-IV
-PerlIOMmap_flush(pTHX_ PerlIO *f)
-{
-    PerlIOMmap * const m = PerlIOSelf(f, PerlIOMmap);
-    PerlIOBuf * const b = &m->base;
-    IV code = PerlIOBuf_flush(aTHX_ f);
-    /*
-     * Now we are "synced" at PerlIOBuf level
-     */
-    if (b->buf) {
-	if (m->len) {
-	    /*
-	     * Unmap the buffer
-	     */
-	    if (PerlIOMmap_unmap(aTHX_ f) != 0)
-		code = -1;
-	}
-	else {
-	    /*
-	     * We seem to have a PerlIOBuf buffer which was not mapped
-	     * remember it in case we need one later
-	     */
-	    m->bbuf = b->buf;
-	}
-    }
-    return code;
-}
-
-IV
-PerlIOMmap_fill(pTHX_ PerlIO *f)
-{
-    PerlIOBuf * const b = PerlIOSelf(f, PerlIOBuf);
-    IV code = PerlIO_flush(f);
-    if (code == 0 && !b->buf) {
-	code = PerlIOMmap_map(aTHX_ f);
-    }
-    if (code == 0 && !(PerlIOBase(f)->flags & PERLIO_F_RDBUF)) {
-	code = PerlIOBuf_fill(aTHX_ f);
-    }
-    return code;
-}
-
-IV
-PerlIOMmap_close(pTHX_ PerlIO *f)
-{
-    PerlIOMmap * const m = PerlIOSelf(f, PerlIOMmap);
-    PerlIOBuf * const b = &m->base;
-    IV code = PerlIO_flush(f);
-    if (m->bbuf) {
-	b->buf = m->bbuf;
-	m->bbuf = NULL;
-	b->ptr = b->end = b->buf;
-    }
-    if (PerlIOBuf_close(aTHX_ f) != 0)
-	code = -1;
-    return code;
-}
-
 PerlIO *
-PerlIOMmap_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags)
-{
- return PerlIOBase_dup(aTHX_ f, o, param, flags);
-}
-
-
-PERLIO_FUNCS_DECL(PerlIO_mmap) = {
-    sizeof(PerlIO_funcs),
-    "mmap",
-    sizeof(PerlIOMmap),
-    PERLIO_K_BUFFERED|PERLIO_K_RAW,
-    PerlIOBuf_pushed,
-    PerlIOBuf_popped,
-    PerlIOBuf_open,
-    PerlIOBase_binmode,         /* binmode */
-    NULL,
-    PerlIOBase_fileno,
-    PerlIOMmap_dup,
-    PerlIOBuf_read,
-    PerlIOMmap_unread,
-    PerlIOMmap_write,
-    PerlIOBuf_seek,
-    PerlIOBuf_tell,
-    PerlIOBuf_close,
-    PerlIOMmap_flush,
-    PerlIOMmap_fill,
-    PerlIOBase_eof,
-    PerlIOBase_error,
-    PerlIOBase_clearerr,
-    PerlIOBase_setlinebuf,
-    PerlIOMmap_get_base,
-    PerlIOBuf_bufsiz,
-    PerlIOBuf_get_ptr,
-    PerlIOBuf_get_cnt,
-    PerlIOBuf_set_ptrcnt,
-};
-
-#endif                          /* HAS_MMAP */
-
-PerlIO *
 Perl_PerlIO_stdin(pTHX)
 {
     dVAR;
@@ -5174,8 +4852,8 @@
 char *
 PerlIO_getname(PerlIO *f, char *buf)
 {
+#ifdef VMS
     dTHX;
-#ifdef VMS
     char *name = NULL;
     bool exported = FALSE;
     FILE *stdio = PerlIOSelf(f, PerlIOStdio)->stdio;
@@ -5191,7 +4869,7 @@
 #else
     PERL_UNUSED_ARG(f);
     PERL_UNUSED_ARG(buf);
-    Perl_croak(aTHX_ "Don't know how to get file name");
+    Perl_croak_nocontext("Don't know how to get file name");
     return NULL;
 #endif
 }
@@ -5331,7 +5009,9 @@
 PerlIO *
 PerlIO_tmpfile(void)
 {
+#ifndef WIN32
      dTHX;
+#endif
      PerlIO *f = NULL;
 #ifdef WIN32
      const int fd = win32_tmpfd();
@@ -5341,7 +5021,7 @@
 #    if defined(HAS_MKSTEMP) && ! defined(VMS) && ! defined(OS2)
      int fd = -1;
      char tempname[] = "/tmp/PerlIO_XXXXXX";
-     const char * const tmpdir = PL_tainting ? NULL : PerlEnv_getenv("TMPDIR");
+     const char * const tmpdir = TAINTING_get ? NULL : PerlEnv_getenv("TMPDIR");
      SV * sv = NULL;
      /*
       * I have no idea how portable mkstemp() is ... NI-S
@@ -5421,9 +5101,9 @@
 int
 PerlIO_setpos(PerlIO *f, SV *pos)
 {
-    dTHX;
     if (SvOK(pos)) {
 	STRLEN len;
+	dTHX;
 	const Off_t * const posn = (Off_t *) SvPV(pos, len);
 	if (f && len == sizeof(Off_t))
 	    return PerlIO_seek(f, *posn, SEEK_SET);
@@ -5535,8 +5215,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perlio.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/perlio.h
===================================================================
--- vendor/perl/dist/perlio.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlio.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -64,11 +64,6 @@
  */
 #include <stdio.h>
 
-#ifdef __BEOS__
-int fseeko(FILE *stream, off_t offset, int whence);
-off_t ftello(FILE *stream);
-#endif
-
 #if defined(USE_64_BIT_STDIO) && defined(HAS_FTELLO) && !defined(USE_FTELL64)
 #define ftell ftello
 #endif
@@ -392,8 +387,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perlio.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/perlio.sym
===================================================================
--- vendor/perl/dist/perlio.sym	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlio.sym	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/perlio.sym
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/perliol.h
===================================================================
--- vendor/perl/dist/perliol.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perliol.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -113,9 +113,6 @@
 EXTPERLIO PerlIO_funcs PerlIO_byte;
 EXTPERLIO PerlIO_funcs PerlIO_raw;
 EXTPERLIO PerlIO_funcs PerlIO_pending;
-#ifdef HAS_MMAP
-EXTPERLIO PerlIO_funcs PerlIO_mmap;
-#endif
 #ifdef WIN32
 EXTPERLIO PerlIO_funcs PerlIO_win32;
 #endif
@@ -223,17 +220,6 @@
 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);
 
-/* Mmap */
-PERL_EXPORT_C IV        PerlIOMmap_close(pTHX_ PerlIO *f);
-PERL_EXPORT_C PerlIO *  PerlIOMmap_dup(pTHX_ PerlIO *f, PerlIO *o, CLONE_PARAMS *param, int flags);
-PERL_EXPORT_C IV        PerlIOMmap_fill(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOMmap_flush(pTHX_ PerlIO *f);
-PERL_EXPORT_C STDCHAR * PerlIOMmap_get_base(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOMmap_map(pTHX_ PerlIO *f);
-PERL_EXPORT_C IV        PerlIOMmap_unmap(pTHX_ PerlIO *f);
-PERL_EXPORT_C SSize_t   PerlIOMmap_unread(pTHX_ PerlIO *f, const void *vbuf, Size_t count);
-PERL_EXPORT_C SSize_t   PerlIOMmap_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);
@@ -293,8 +279,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perliol.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/perlsdio.h
===================================================================
--- vendor/perl/dist/perlsdio.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlsdio.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -157,8 +157,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perlsdio.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/perlsfio.h
===================================================================
--- vendor/perl/dist/perlsfio.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlsfio.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -77,8 +77,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perlsfio.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/perlsh
===================================================================
--- vendor/perl/dist/perlsh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlsh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/perlsh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/perlvars.h
===================================================================
--- vendor/perl/dist/perlvars.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perlvars.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,6 +10,11 @@
 
 /*
 =head1 Global Variables
+
+These variables are global to an entire process.  They are shared between
+all interpreters and all threads in a process.
+
+=cut
 */
 
 /* Don't forget to re-run regen/embed.pl to propagate changes! */
@@ -24,110 +29,124 @@
  * the appropriate export list for win32. */
 
 /* global state */
-PERLVAR(Gcurinterp,	PerlInterpreter *)
+#if defined(USE_ITHREADS)
+PERLVAR(G, op_mutex,	perl_mutex)	/* Mutex for op refcounting */
+#endif
+PERLVAR(G, curinterp,	PerlInterpreter *)
 					/* currently running interpreter
 					 * (initial parent interpreter under
 					 * useithreads) */
 #if defined(USE_ITHREADS)
-PERLVAR(Gthr_key,	perl_key)	/* key to retrieve per-thread struct */
+PERLVAR(G, thr_key,	perl_key)	/* key to retrieve per-thread struct */
 #endif
 
-/* constants (these are not literals to facilitate pointer comparisons)
- * (PERLVARISC really does create variables, despite its looks) */
-PERLVARISC(GYes,	"1")
-PERLVARISC(GNo,		"")
-PERLVARISC(Ghexdigit,	"0123456789abcdef0123456789ABCDEF")
-PERLVARISC(Gpatleave,	"\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}")
-
 /* XXX does anyone even use this? */
-PERLVARI(Gdo_undump,	bool,	FALSE)	/* -u or dump seen? */
+PERLVARI(G, do_undump,	bool,	FALSE)	/* -u or dump seen? */
 
-#if defined(MYMALLOC) && defined(USE_ITHREADS)
-PERLVAR(Gmalloc_mutex,	perl_mutex)	/* Mutex for malloc */
+#ifndef PERL_USE_SAFE_PUTENV
+PERLVARI(G, use_safe_putenv, bool, TRUE)
 #endif
 
-#if defined(USE_ITHREADS)
-PERLVAR(Gop_mutex,	perl_mutex)	/* Mutex for op refcounting */
+#if defined(FAKE_PERSISTENT_SIGNAL_HANDLERS)||defined(FAKE_DEFAULT_SIGNAL_HANDLERS)
+PERLVARI(G, sig_handlers_initted, int, 0)
 #endif
-
-#ifdef USE_ITHREADS
-PERLVAR(Gdollarzero_mutex, perl_mutex)	/* Modifying $0 */
+#ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
+PERLVARA(G, sig_ignoring, SIG_SIZE, int)
+					/* which signals we are ignoring */
 #endif
+#ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
+PERLVARA(G, sig_defaulting, SIG_SIZE, int)
+#endif
 
-
-/* This is constant on most architectures, a global on OS/2 */
-#ifdef OS2
-#  define PERL___C
-#else
-#  define PERL___C const
+/* XXX signals are process-wide anyway, so we
+ * ignore the implications of this for threading */
+#ifndef HAS_SIGACTION
+PERLVARI(G, sig_trapped, int,	0)
 #endif
-PERLVARI(Gsh_path,	PERL___C char *, SH_PATH) /* full path of shell */
-#undef PERL___C
 
 #ifndef PERL_MICRO
 /* If Perl has to ignore SIGPFE, this is its saved state.
  * See perl.h macros PERL_FPU_INIT and PERL_FPU_{PRE,POST}_EXEC. */
-PERLVAR(Gsigfpe_saved,	Sighandler_t)
+PERLVAR(G, sigfpe_saved, Sighandler_t)
+PERLVARI(G, csighandlerp, Sighandler_t, Perl_csighandler)
+					/* Pointer to C-level sighandler */
 #endif
 
-/* Restricted hashes placeholder value.
- * The contents are never used, only the address. */
-PERLVAR(Gsv_placeholder, SV)
-
-#ifndef PERL_MICRO
-PERLVARI(Gcsighandlerp,	Sighandler_t, Perl_csighandler)	/* Pointer to C-level sighandler */
+/* This is constant on most architectures, a global on OS/2 */
+#ifdef OS2
+PERLVARI(G, sh_path,	char *, SH_PATH) /* full path of shell */
 #endif
 
-#ifndef PERL_USE_SAFE_PUTENV
-PERLVARI(Guse_safe_putenv, int, 1)
-#endif
+#ifdef USE_PERLIO
 
-#ifdef USE_PERLIO
-PERLVARI(Gperlio_fd_refcnt, int*, 0) /* Pointer to array of fd refcounts.  */
-PERLVARI(Gperlio_fd_refcnt_size, int, 0) /* Size of the array */
-PERLVARI(Gperlio_debug_fd, int, 0) /* the fd to write perlio debug into, 0 means not set yet */
+#  if defined(USE_ITHREADS)
+PERLVAR(G, perlio_mutex, perl_mutex)    /* Mutex for perlio fd refcounts */
+#  endif
+
+PERLVARI(G, perlio_fd_refcnt, int *, 0) /* Pointer to array of fd refcounts.  */
+PERLVARI(G, perlio_fd_refcnt_size, int, 0) /* Size of the array */
+PERLVARI(G, perlio_debug_fd, int, 0)	/* the fd to write perlio debug into, 0 means not set yet */
 #endif
 
 #ifdef HAS_MMAP
-PERLVARI(Gmmap_page_size, IV, 0)
+PERLVARI(G, mmap_page_size, IV, 0)
 #endif
 
-#if defined(FAKE_PERSISTENT_SIGNAL_HANDLERS)||defined(FAKE_DEFAULT_SIGNAL_HANDLERS)
-PERLVARI(Gsig_handlers_initted, int, 0)
+#if defined(USE_ITHREADS)
+PERLVAR(G, hints_mutex, perl_mutex)    /* Mutex for refcounted he refcounting */
 #endif
-#ifdef FAKE_PERSISTENT_SIGNAL_HANDLERS
-PERLVARA(Gsig_ignoring, SIG_SIZE, int)	/* which signals we are ignoring */
-#endif
-#ifdef FAKE_DEFAULT_SIGNAL_HANDLERS
-PERLVARA(Gsig_defaulting, SIG_SIZE, int)
-#endif
 
-/* XXX signals are process-wide anyway, so we
- * ignore the implications of this for threading */
-#ifndef HAS_SIGACTION
-PERLVARI(Gsig_trapped, int, 0)
+#ifdef DEBUGGING
+PERLVAR(G, watch_pvx,	char *)
 #endif
 
-#ifdef DEBUGGING
-PERLVAR(Gwatch_pvx, char*)
+/*
+=for apidoc AmU|Perl_check_t *|PL_check
+
+Array, indexed by opcode, of functions that will be called for the "check"
+phase of optree building during compilation of Perl code.  For most (but
+not all) types of op, once the op has been initially built and populated
+with child ops it will be filtered through the check function referenced
+by the appropriate element of this array.  The new op is passed in as the
+sole argument to the check function, and the check function returns the
+completed op.  The check function may (as the name suggests) check the op
+for validity and signal errors.  It may also initialise or modify parts of
+the ops, or perform more radical surgery such as adding or removing child
+ops, or even throw the op away and return a different op in its place.
+
+This array of function pointers is a convenient place to hook into the
+compilation process.  An XS module can put its own custom check function
+in place of any of the standard ones, to influence the compilation of a
+particular type of op.  However, a custom check function must never fully
+replace a standard check function (or even a custom check function from
+another module).  A module modifying checking must instead B<wrap> the
+preexisting check function.  A custom check function must be selective
+about when to apply its custom behaviour.  In the usual case where
+it decides not to do anything special with an op, it must chain the
+preexisting op function.  Check functions are thus linked in a chain,
+with the core's base checker at the end.
+
+For thread safety, modules should not write directly to this array.
+Instead, use the function L</wrap_op_checker>.
+
+=cut
+*/
+
+#if defined(USE_ITHREADS)
+PERLVAR(G, check_mutex,	perl_mutex)	/* Mutex for PL_check */
 #endif
-
 #ifdef PERL_GLOBAL_STRUCT 
-PERLVAR(Gppaddr, Perl_ppaddr_t*) /* or opcode.h */
-PERLVAR(Gcheck,  Perl_check_t *) /* or opcode.h */
-PERLVARA(Gfold_locale, 256, unsigned char) /* or perl.h */
-PERLVARA(Gcharclass, 256, U32)
+PERLVAR(G, ppaddr,	Perl_ppaddr_t *) /* or opcode.h */
+PERLVAR(G, check,	Perl_check_t *) /* or opcode.h */
+PERLVARA(G, fold_locale, 256, unsigned char) /* or perl.h */
 #endif
 
 #ifdef PERL_NEED_APPCTX
-PERLVAR(Gappctx, void*) /* the application context */
+PERLVAR(G, appctx,	void*)		/* the application context */
 #endif
 
-PERLVAR(Gop_sequence, HV*) /* dump.c */
-PERLVARI(Gop_seq, UV, 0) /* dump.c */
-
 #if defined(HAS_TIMES) && defined(PERL_NEED_TIMESBASE)
-PERLVAR(Gtimesbase, struct tms)
+PERLVAR(G, timesbase,	struct tms)
 #endif
 
 /* allocate a unique index to every module that calls MY_CXT_INIT */
@@ -134,56 +153,15 @@
 
 #ifdef PERL_IMPLICIT_CONTEXT
 # ifdef USE_ITHREADS
-PERLVAR(Gmy_ctx_mutex, perl_mutex)
+PERLVAR(G, my_ctx_mutex, perl_mutex)
 # endif
-PERLVARI(Gmy_cxt_index, int, 0)
+PERLVARI(G, my_cxt_index, int,	0)
 #endif
 
-#if defined(USE_ITHREADS)
-PERLVAR(Ghints_mutex, perl_mutex)    /* Mutex for refcounted he refcounting */
-#endif
-
-#if defined(USE_ITHREADS)
-PERLVAR(Gperlio_mutex, perl_mutex)    /* Mutex for perlio fd refcounts */
-#endif
-
 /* this is currently set without MUTEX protection, so keep it a type which
  * can be set atomically (ie not a bit field) */
-PERLVARI(Gveto_cleanup,	int, FALSE)	/* exit without cleanup */
+PERLVARI(G, veto_cleanup, int, FALSE)	/* exit without cleanup */
 
-/* dummy variables that hold pointers to both runops functions, thus forcing
- * them *both* to get linked in (useful for Peek.xs, debugging etc) */
-
-PERLVARI(Grunops_std,	runops_proc_t,	Perl_runops_standard)
-PERLVARI(Grunops_dbg,	runops_proc_t,	Perl_runops_debug)
-
-
-/* These are baked at compile time into any shared perl library.
-   In future 5.10.x releases this will allow us in main() to sanity test the
-   library we're linking against.  */
-
-PERLVARI(Grevision,	U8,	PERL_REVISION)
-PERLVARI(Gversion,	U8,	PERL_VERSION)
-PERLVARI(Gsubversion,	U8,	PERL_SUBVERSION)
-
-#if defined(MULTIPLICITY)
-#  define PERL_INTERPRETER_SIZE_UPTO_MEMBER(member)			\
-    STRUCT_OFFSET(struct interpreter, member) +				\
-    sizeof(((struct interpreter*)0)->member)
-
-/* These might be useful.  */
-PERLVARI(Ginterp_size,	U16,	sizeof(struct interpreter))
-#if defined(PERL_GLOBAL_STRUCT)
-PERLVARI(Gglobal_struct_size,	U16,	sizeof(struct perl_vars))
-#endif
-
-/* This will be useful for subsequent releases, because this has to be the
-   same in your libperl as in main(), else you have a mismatch and must abort.
-*/
-PERLVARI(Ginterp_size_5_10_0, U16,
-	 PERL_INTERPRETER_SIZE_UPTO_MEMBER(PERL_LAST_5_10_0_INTERP_MEMBER))
-#endif
-
 /*
 =for apidoc AmUx|Perl_keyword_plugin_t|PL_keyword_plugin
 
@@ -237,4 +215,22 @@
 =cut
 */
 
-PERLVARI(Gkeyword_plugin, Perl_keyword_plugin_t, Perl_keyword_plugin_standard)
+PERLVARI(G, keyword_plugin, Perl_keyword_plugin_t, Perl_keyword_plugin_standard)
+
+PERLVAR(G, op_sequence, HV *)		/* dump.c */
+PERLVARI(G, op_seq,	UV,	0)	/* dump.c */
+
+#ifdef USE_ITHREADS
+PERLVAR(G, dollarzero_mutex, perl_mutex) /* Modifying $0 */
+#endif
+
+/* Restricted hashes placeholder value.
+ * The contents are never used, only the address. */
+PERLVAR(G, sv_placeholder, SV)
+
+#if defined(MYMALLOC) && defined(USE_ITHREADS)
+PERLVAR(G, malloc_mutex, perl_mutex)	/* Mutex for malloc */
+#endif
+
+PERLVARI(G, hash_seed_set, bool, FALSE)	/* perl.c */
+PERLVARA(G, hash_seed, PERL_HASH_SEED_BYTES, unsigned char) /* perl.c and hv.h */


Property changes on: vendor/perl/dist/perlvars.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/perly.act
===================================================================
--- vendor/perl/dist/perly.act	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perly.act	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,44 +5,44 @@
  */
 
 case 2:
-#line 142 "perly.y"
+#line 141 "perly.y"
     {
 			  PL_parser->expect = XSTATE;
-			;}
+			}
     break;
 
   case 3:
-#line 146 "perly.y"
+#line 145 "perly.y"
     {
 			  newPROG(block_end((ps[(3) - (4)].val.ival),(ps[(4) - (4)].val.opval)));
 			  (yyval.ival) = 0;
-			;}
+			}
     break;
 
   case 4:
-#line 151 "perly.y"
+#line 150 "perly.y"
     {
 			  parser->expect = XTERM;
-			;}
+			}
     break;
 
   case 5:
-#line 155 "perly.y"
+#line 154 "perly.y"
     {
 			  PL_eval_root = (ps[(3) - (3)].val.opval);
 			  (yyval.ival) = 0;
-			;}
+			}
     break;
 
   case 6:
-#line 160 "perly.y"
+#line 159 "perly.y"
     {
 			  parser->expect = XBLOCK;
-			;}
+			}
     break;
 
   case 7:
-#line 164 "perly.y"
+#line 163 "perly.y"
     {
 			  PL_pad_reset_pending = TRUE;
 			  PL_eval_root = (ps[(3) - (3)].val.opval);
@@ -49,18 +49,18 @@
 			  (yyval.ival) = 0;
 			  yyunlex();
 			  parser->yychar = YYEOF;
-			;}
+			}
     break;
 
   case 8:
-#line 172 "perly.y"
+#line 171 "perly.y"
     {
 			  parser->expect = XSTATE;
-			;}
+			}
     break;
 
   case 9:
-#line 176 "perly.y"
+#line 175 "perly.y"
     {
 			  PL_pad_reset_pending = TRUE;
 			  PL_eval_root = (ps[(3) - (3)].val.opval);
@@ -67,18 +67,18 @@
 			  (yyval.ival) = 0;
 			  yyunlex();
 			  parser->yychar = YYEOF;
-			;}
+			}
     break;
 
   case 10:
-#line 184 "perly.y"
+#line 183 "perly.y"
     {
 			  parser->expect = XSTATE;
-			;}
+			}
     break;
 
   case 11:
-#line 188 "perly.y"
+#line 187 "perly.y"
     {
 			  PL_pad_reset_pending = TRUE;
 			  PL_eval_root = (ps[(3) - (3)].val.opval);
@@ -85,75 +85,94 @@
 			  (yyval.ival) = 0;
 			  yyunlex();
 			  parser->yychar = YYEOF;
-			;}
+			}
     break;
 
   case 12:
-#line 196 "perly.y"
+#line 195 "perly.y"
     {
 			  parser->expect = XSTATE;
-			;}
+			}
     break;
 
   case 13:
-#line 200 "perly.y"
+#line 199 "perly.y"
     {
 			  PL_eval_root = (ps[(3) - (3)].val.opval);
 			  (yyval.ival) = 0;
-			;}
+			}
     break;
 
   case 14:
-#line 208 "perly.y"
+#line 207 "perly.y"
     { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
 			      PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
 			  (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
   case 15:
 #line 217 "perly.y"
-    { (yyval.ival) = block_start(TRUE); ;}
+    { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (7)].val.i_tkval)))
+			      PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
+			  (yyval.opval) = block_end((ps[(2) - (7)].val.ival), (ps[(5) - (7)].val.opval));
+			  TOKEN_GETMAD((ps[(1) - (7)].val.i_tkval),(yyval.opval),'{');
+			  TOKEN_GETMAD((ps[(7) - (7)].val.i_tkval),(yyval.opval),'}');
+			}
     break;
 
   case 16:
-#line 221 "perly.y"
-    { (yyval.ival) = (I32) Perl_allocmy(aTHX_ STR_WITH_LEN("$_"), 0); ;}
+#line 226 "perly.y"
+    { (yyval.ival) = block_start(TRUE); }
     break;
 
   case 17:
-#line 225 "perly.y"
+#line 230 "perly.y"
     { if (PL_parser->copline > (line_t)IVAL((ps[(1) - (4)].val.i_tkval)))
 			      PL_parser->copline = (line_t)IVAL((ps[(1) - (4)].val.i_tkval));
 			  (yyval.opval) = block_end((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
   case 18:
-#line 234 "perly.y"
-    { (yyval.ival) = block_start(FALSE); ;}
+#line 239 "perly.y"
+    { (yyval.ival) = block_start(FALSE); }
     break;
 
   case 19:
-#line 239 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+#line 244 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
   case 20:
-#line 241 "perly.y"
+#line 246 "perly.y"
     {   (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
 			    PL_pad_reset_pending = TRUE;
 			    if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
 				PL_hints |= HINT_BLOCK_SCOPE;
-			;}
+			}
     break;
 
   case 21:
-#line 250 "perly.y"
+#line 255 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
+    break;
+
+  case 22:
+#line 257 "perly.y"
+    {   (yyval.opval) = op_append_list(OP_LINESEQ, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval));
+			    PL_pad_reset_pending = TRUE;
+			    if ((ps[(1) - (2)].val.opval) && (ps[(2) - (2)].val.opval))
+				PL_hints |= HINT_BLOCK_SCOPE;
+			}
+    break;
+
+  case 23:
+#line 266 "perly.y"
     {
 			  if((ps[(1) - (1)].val.opval)) {
 			      (yyval.opval) = newSTATEOP(0, NULL, (ps[(1) - (1)].val.opval));
@@ -160,49 +179,52 @@
 			  } else {
 			      (yyval.opval) = IF_MAD(newOP(OP_NULL, 0), NULL);
 			  }
-			;}
+			}
     break;
 
-  case 22:
-#line 258 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 24:
+#line 274 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 23:
-#line 262 "perly.y"
+  case 25:
+#line 278 "perly.y"
     {
-			  (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
+			  (yyval.opval) = newSTATEOP(SVf_UTF8
+					   * PVAL((ps[(1) - (2)].val.p_tkval))[strlen(PVAL((ps[(1) - (2)].val.p_tkval)))+1],
+					  PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval),
 			      (ps[(2) - (2)].val.opval) ? cLISTOPx((yyval.opval))->op_first : (yyval.opval), 'L');
-			;}
+			}
     break;
 
-  case 24:
-#line 268 "perly.y"
+  case 26:
+#line 286 "perly.y"
     {
-			  (yyval.opval) = newSTATEOP(0, PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
+			  (yyval.opval) = newSTATEOP(SVf_UTF8
+					   * PVAL((ps[(1) - (2)].val.p_tkval))[strlen(PVAL((ps[(1) - (2)].val.p_tkval)))+1],
+					  PVAL((ps[(1) - (2)].val.p_tkval)), (ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.p_tkval), cLISTOPx((yyval.opval))->op_first, 'L');
-			;}
+			}
     break;
 
-  case 25:
-#line 276 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 27:
+#line 296 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 26:
-#line 278 "perly.y"
+  case 28:
+#line 298 "perly.y"
     {
 			  (yyval.opval) = newOP(OP_NULL,0);
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'p');
-			;}
+			}
     break;
 
-  case 27:
-#line 283 "perly.y"
+  case 29:
+#line 303 "perly.y"
     {
 			  CV *fmtcv = PL_compcv;
-			  SvREFCNT_inc_simple_void(PL_compcv);
 #ifdef MAD
 			  (yyval.opval) = newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
 			  prepend_madprops((ps[(1) - (4)].val.i_tkval)->tk_mad, (yyval.opval), 'F');
@@ -212,56 +234,73 @@
 			  newFORM((ps[(2) - (4)].val.ival), (ps[(3) - (4)].val.opval), (ps[(4) - (4)].val.opval));
 			  (yyval.opval) = (OP*)NULL;
 #endif
-			  if (CvOUTSIDE(fmtcv) && !CvUNIQUE(CvOUTSIDE(fmtcv))) {
+			  if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
 			      SvREFCNT_inc_simple_void(fmtcv);
-			      pad_add_anon((SV*)fmtcv, OP_NULL);
+			      pad_add_anon(fmtcv, OP_NULL);
 			  }
-			;}
+			}
     break;
 
-  case 28:
-#line 301 "perly.y"
+  case 30:
+#line 320 "perly.y"
     {
+			  if ((ps[(2) - (3)].val.opval)->op_type == OP_CONST) {
+			    const char *const name =
+				SvPV_nolen_const(((SVOP*)(ps[(2) - (3)].val.opval))->op_sv);
+			    if (strEQ(name, "BEGIN") || strEQ(name, "END")
+			      || strEQ(name, "INIT") || strEQ(name, "CHECK")
+			      || strEQ(name, "UNITCHECK"))
+			      CvSPECIAL_on(PL_compcv);
+			  }
+			  else
+			  /* State subs inside anonymous subs need to be
+			     clonable themselves. */
+			  if (CvANON(CvOUTSIDE(PL_compcv))
+			   || CvCLONE(CvOUTSIDE(PL_compcv))
+			   || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
+						CvOUTSIDE(PL_compcv)
+					     ))[(ps[(2) - (3)].val.opval)->op_targ]))
+			      CvCLONE_on(PL_compcv);
+			  PL_parser->in_my = 0;
+			  PL_parser->in_my_stash = NULL;
+			}
+    break;
+
+  case 31:
+#line 342 "perly.y"
+    {
 			  SvREFCNT_inc_simple_void(PL_compcv);
 #ifdef MAD
 			  {
 			      OP* o = newSVOP(OP_ANONCODE, 0,
-				(SV*)newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval)));
+				(SV*)(
+#endif
+			  (ps[(2) - (7)].val.opval)->op_type == OP_CONST
+			      ? newATTRSUB((ps[(3) - (7)].val.ival), (ps[(2) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))
+			      : newMYSUB((ps[(3) - (7)].val.ival), (ps[(2) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval))
+#ifdef MAD
+				));
 			      (yyval.opval) = newOP(OP_NULL,0);
 			      op_getmad(o,(yyval.opval),'&');
-			      op_getmad((ps[(3) - (6)].val.opval),(yyval.opval),'n');
-			      op_getmad((ps[(4) - (6)].val.opval),(yyval.opval),'s');
-			      op_getmad((ps[(5) - (6)].val.opval),(yyval.opval),'a');
-			      token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
-			      append_madprops((ps[(6) - (6)].val.opval)->op_madprop, (yyval.opval), 0);
-			      (ps[(6) - (6)].val.opval)->op_madprop = 0;
+			      op_getmad((ps[(2) - (7)].val.opval),(yyval.opval),'n');
+			      op_getmad((ps[(5) - (7)].val.opval),(yyval.opval),'s');
+			      op_getmad((ps[(6) - (7)].val.opval),(yyval.opval),'a');
+			      token_getmad((ps[(1) - (7)].val.i_tkval),(yyval.opval),'d');
+			      append_madprops((ps[(7) - (7)].val.opval)->op_madprop, (yyval.opval), 0);
+			      (ps[(7) - (7)].val.opval)->op_madprop = 0;
 			  }
 #else
-			  newATTRSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
+			  ;
 			  (yyval.opval) = (OP*)NULL;
 #endif
-			;}
+			  intro_my();
+			}
     break;
 
-  case 29:
-#line 322 "perly.y"
+  case 32:
+#line 370 "perly.y"
     {
-			  /* Unimplemented "my sub foo { }" */
-			  SvREFCNT_inc_simple_void(PL_compcv);
 #ifdef MAD
-			  (yyval.opval) = newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
-			  token_getmad((ps[(1) - (6)].val.i_tkval),(yyval.opval),'d');
-#else
-			  newMYSUB((ps[(2) - (6)].val.ival), (ps[(3) - (6)].val.opval), (ps[(4) - (6)].val.opval), (ps[(5) - (6)].val.opval), (ps[(6) - (6)].val.opval));
-			  (yyval.opval) = (OP*)NULL;
-#endif
-			;}
-    break;
-
-  case 30:
-#line 334 "perly.y"
-    {
-#ifdef MAD
 			  (yyval.opval) = package((ps[(3) - (4)].val.opval));
 			  token_getmad((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
 			  if ((ps[(2) - (4)].val.opval))
@@ -273,16 +312,16 @@
 			      package_version((ps[(2) - (4)].val.opval));
 			  (yyval.opval) = (OP*)NULL;
 #endif
-			;}
+			}
     break;
 
-  case 31:
-#line 349 "perly.y"
-    { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ ;}
+  case 33:
+#line 385 "perly.y"
+    { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
     break;
 
-  case 32:
-#line 351 "perly.y"
+  case 34:
+#line 387 "perly.y"
     {
 			  SvREFCNT_inc_simple_void(PL_compcv);
 #ifdef MAD
@@ -296,11 +335,11 @@
 			  utilize(IVAL((ps[(1) - (7)].val.i_tkval)), (ps[(2) - (7)].val.ival), (ps[(4) - (7)].val.opval), (ps[(5) - (7)].val.opval), (ps[(6) - (7)].val.opval));
 			  (yyval.opval) = (OP*)NULL;
 #endif
-			;}
+			}
     break;
 
-  case 33:
-#line 366 "perly.y"
+  case 35:
+#line 402 "perly.y"
     {
 			  (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
 			      newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
@@ -308,11 +347,11 @@
 			  TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
 			  PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 34:
-#line 375 "perly.y"
+  case 36:
+#line 411 "perly.y"
     {
 			  (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
 			      newCONDOP(0, (ps[(4) - (7)].val.opval), op_scope((ps[(6) - (7)].val.opval)), (ps[(7) - (7)].val.opval)));
@@ -320,30 +359,35 @@
 			  TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
 			  PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 35:
-#line 384 "perly.y"
+  case 37:
+#line 420 "perly.y"
     {
-			  (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
-				  newGIVENOP((ps[(5) - (7)].val.opval), op_scope((ps[(7) - (7)].val.opval)), (PADOFFSET)(ps[(4) - (7)].val.ival)));
-			  PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
-			;}
+			  const PADOFFSET offset = pad_findmy_pvs("$_", 0);
+			  (yyval.opval) = block_end((ps[(3) - (6)].val.ival),
+				  newGIVENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)),
+				    offset == NOT_IN_PAD
+				    || PAD_COMPNAME_FLAGS_isOUR(offset)
+				      ? 0
+				      : offset));
+			  PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
+			}
     break;
 
-  case 36:
-#line 390 "perly.y"
-    { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); ;}
+  case 38:
+#line 431 "perly.y"
+    { (yyval.opval) = block_end((ps[(3) - (6)].val.ival), newWHENOP((ps[(4) - (6)].val.opval), op_scope((ps[(6) - (6)].val.opval)))); }
     break;
 
-  case 37:
-#line 392 "perly.y"
-    { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); ;}
+  case 39:
+#line 433 "perly.y"
+    { (yyval.opval) = newWHENOP(0, op_scope((ps[(2) - (2)].val.opval))); }
     break;
 
-  case 38:
-#line 394 "perly.y"
+  case 40:
+#line 435 "perly.y"
     {
 			  (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
 				  newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -352,11 +396,11 @@
 			  TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (8)].val.i_tkval),(yyval.opval),')');
 			  PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 39:
-#line 404 "perly.y"
+  case 41:
+#line 445 "perly.y"
     {
 			  (yyval.opval) = block_end((ps[(3) - (8)].val.ival),
 				  newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -365,11 +409,11 @@
 			  TOKEN_GETMAD((ps[(2) - (8)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (8)].val.i_tkval),(yyval.opval),')');
 			  PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 40:
-#line 415 "perly.y"
+  case 42:
+#line 456 "perly.y"
     {
 			  OP *initop = IF_MAD((ps[(4) - (11)].val.opval) ? (ps[(4) - (11)].val.opval) : newOP(OP_NULL, 0), (ps[(4) - (11)].val.opval));
 			  OP *forop = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -388,11 +432,11 @@
 			  TOKEN_GETMAD((ps[(7) - (11)].val.i_tkval),(yyval.opval),'2');
 			  TOKEN_GETMAD((ps[(10) - (11)].val.i_tkval),(yyval.opval),')');
 			  PL_parser->copline = (line_t)IVAL((ps[(1) - (11)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 41:
-#line 435 "perly.y"
+  case 43:
+#line 476 "perly.y"
     {
 			  (yyval.opval) = block_end((ps[(3) - (9)].val.ival), newFOROP(0, (ps[(4) - (9)].val.opval), (ps[(6) - (9)].val.opval), (ps[(8) - (9)].val.opval), (ps[(9) - (9)].val.opval)));
 			  TOKEN_GETMAD((ps[(1) - (9)].val.i_tkval),(yyval.opval),'W');
@@ -400,11 +444,11 @@
 			  TOKEN_GETMAD((ps[(5) - (9)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(7) - (9)].val.i_tkval),(yyval.opval),')');
 			  PL_parser->copline = (line_t)IVAL((ps[(1) - (9)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 42:
-#line 444 "perly.y"
+  case 44:
+#line 485 "perly.y"
     {
 			  (yyval.opval) = block_end((ps[(4) - (8)].val.ival), newFOROP(0,
 				      op_lvalue((ps[(2) - (8)].val.opval), OP_ENTERLOOP), (ps[(5) - (8)].val.opval), (ps[(7) - (8)].val.opval), (ps[(8) - (8)].val.opval)));
@@ -412,11 +456,11 @@
 			  TOKEN_GETMAD((ps[(3) - (8)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(6) - (8)].val.i_tkval),(yyval.opval),')');
 			  PL_parser->copline = (line_t)IVAL((ps[(1) - (8)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 43:
-#line 453 "perly.y"
+  case 45:
+#line 494 "perly.y"
     {
 			  (yyval.opval) = block_end((ps[(3) - (7)].val.ival),
 				  newFOROP(0, (OP*)NULL, (ps[(4) - (7)].val.opval), (ps[(6) - (7)].val.opval), (ps[(7) - (7)].val.opval)));
@@ -424,136 +468,161 @@
 			  TOKEN_GETMAD((ps[(2) - (7)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (7)].val.i_tkval),(yyval.opval),')');
 			  PL_parser->copline = (line_t)IVAL((ps[(1) - (7)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 44:
-#line 462 "perly.y"
+  case 46:
+#line 503 "perly.y"
     {
 			  /* a block is a loop that happens once */
 			  (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
 				  (OP*)NULL, (ps[(1) - (2)].val.opval), (ps[(2) - (2)].val.opval), 0);
-			;}
+			}
     break;
 
-  case 45:
-#line 468 "perly.y"
+  case 47:
+#line 509 "perly.y"
     {
-			  int save_3_latefree = (ps[(3) - (5)].val.opval)->op_latefree;
-			  (ps[(3) - (5)].val.opval)->op_latefree = 1;
 			  package((ps[(3) - (5)].val.opval));
-			  (ps[(3) - (5)].val.opval)->op_latefree = save_3_latefree;
 			  if ((ps[(2) - (5)].val.opval)) {
-			      int save_2_latefree = (ps[(2) - (5)].val.opval)->op_latefree;
-			      (ps[(2) - (5)].val.opval)->op_latefree = 1;
 			      package_version((ps[(2) - (5)].val.opval));
-			      (ps[(2) - (5)].val.opval)->op_latefree = save_2_latefree;
 			  }
-			;}
+			}
     break;
 
-  case 46:
-#line 481 "perly.y"
+  case 48:
+#line 516 "perly.y"
     {
 			  /* a block is a loop that happens once */
 			  (yyval.opval) = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
 				  (OP*)NULL, block_end((ps[(5) - (8)].val.ival), (ps[(7) - (8)].val.opval)), (OP*)NULL, 0);
-			  op_free((ps[(3) - (8)].val.opval));
-			  if ((ps[(2) - (8)].val.opval))
-			      op_free((ps[(2) - (8)].val.opval));
 			  TOKEN_GETMAD((ps[(4) - (8)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(8) - (8)].val.i_tkval),(yyval.opval),'}');
 			  if (PL_parser->copline > (line_t)IVAL((ps[(4) - (8)].val.i_tkval)))
 			      PL_parser->copline = (line_t)IVAL((ps[(4) - (8)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 47:
-#line 494 "perly.y"
+  case 49:
+#line 526 "perly.y"
     {
 			  PL_parser->expect = XSTATE;
 			  (yyval.opval) = (ps[(1) - (2)].val.opval);
 			  TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),';');
-			;}
+			}
     break;
 
-  case 48:
-#line 500 "perly.y"
+  case 50:
+#line 532 "perly.y"
     {
 			  PL_parser->expect = XSTATE;
 			  (yyval.opval) = IF_MAD(newOP(OP_NULL, 0), (OP*)NULL);
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
 			  PL_parser->copline = NOLINE;
-			;}
+			}
     break;
 
-  case 49:
-#line 510 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+  case 51:
+#line 542 "perly.y"
+    { OP *list;
+			  if ((ps[(2) - (2)].val.opval)) {
+			      OP *term = (ps[(2) - (2)].val.opval);
+			      DO_MAD(term = newUNOP(OP_NULL, 0, term));
+			      list = op_append_elem(OP_LIST, (ps[(1) - (2)].val.opval), term);
+			  }
+			  else {
+#ifdef MAD
+			      OP *op = newNULLLIST();
+			      list = op_append_elem(OP_LIST, (ps[(1) - (2)].val.opval), op);
+#else
+			      list = (ps[(1) - (2)].val.opval);
+#endif
+			  }
+			  if (PL_parser->copline == NOLINE)
+			       PL_parser->copline = CopLINE(PL_curcop)-1;
+			  else PL_parser->copline--;
+			  (yyval.opval) = newSTATEOP(0, NULL,
+					  convert(OP_FORMLINE, 0, list));
+			}
     break;
 
-  case 50:
-#line 512 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 52:
+#line 565 "perly.y"
+    { (yyval.opval) = NULL; }
     break;
 
-  case 51:
-#line 514 "perly.y"
+  case 53:
+#line 567 "perly.y"
+    { (yyval.opval) = op_unscope((ps[(2) - (3)].val.opval)); }
+    break;
+
+  case 54:
+#line 572 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
+    break;
+
+  case 55:
+#line 574 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+    break;
+
+  case 56:
+#line 576 "perly.y"
     { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
-			;}
+			}
     break;
 
-  case 52:
-#line 518 "perly.y"
+  case 57:
+#line 580 "perly.y"
     { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'i');
-			;}
+			}
     break;
 
-  case 53:
-#line 522 "perly.y"
+  case 58:
+#line 584 "perly.y"
     { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[(3) - (3)].val.opval)), (ps[(1) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
-			;}
+			}
     break;
 
-  case 54:
-#line 526 "perly.y"
+  case 59:
+#line 588 "perly.y"
     { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
-			;}
+			}
     break;
 
-  case 55:
-#line 530 "perly.y"
+  case 60:
+#line 592 "perly.y"
     { (yyval.opval) = newFOROP(0, (OP*)NULL, (ps[(3) - (3)].val.opval), (ps[(1) - (3)].val.opval), (OP*)NULL);
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'w');
 			  PL_parser->copline = (line_t)IVAL((ps[(2) - (3)].val.i_tkval));
-			;}
+			}
     break;
 
-  case 56:
-#line 535 "perly.y"
-    { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); ;}
+  case 61:
+#line 597 "perly.y"
+    { (yyval.opval) = newWHENOP((ps[(3) - (3)].val.opval), op_scope((ps[(1) - (3)].val.opval))); }
     break;
 
-  case 57:
-#line 540 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+  case 62:
+#line 602 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
-  case 58:
-#line 542 "perly.y"
+  case 63:
+#line 604 "perly.y"
     {
 			  ((ps[(2) - (2)].val.opval))->op_flags |= OPf_PARENS;
 			  (yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 59:
-#line 548 "perly.y"
+  case 64:
+#line 610 "perly.y"
     { PL_parser->copline = (line_t)IVAL((ps[(1) - (6)].val.i_tkval));
 			    (yyval.opval) = newCONDOP(0,
 				newSTATEOP(OPf_SPECIAL,NULL,(ps[(3) - (6)].val.opval)),
@@ -562,150 +631,140 @@
 			  TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'I');
 			  TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 60:
-#line 561 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+  case 65:
+#line 623 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
-  case 61:
-#line 563 "perly.y"
+  case 66:
+#line 625 "perly.y"
     {
 			  (yyval.opval) = op_scope((ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 62:
-#line 571 "perly.y"
+  case 67:
+#line 633 "perly.y"
     { (yyval.ival) = (PL_min_intro_pending &&
 			    PL_max_intro_pending >=  PL_min_intro_pending);
-			  intro_my(); ;}
+			  intro_my(); }
     break;
 
-  case 63:
-#line 577 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+  case 68:
+#line 639 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
-  case 65:
-#line 583 "perly.y"
+  case 70:
+#line 645 "perly.y"
     { YYSTYPE tmplval;
 			  (void)scan_num("1", &tmplval);
-			  (yyval.opval) = tmplval.opval; ;}
+			  (yyval.opval) = tmplval.opval; }
     break;
 
-  case 67:
-#line 591 "perly.y"
-    { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); ;}
+  case 72:
+#line 653 "perly.y"
+    { (yyval.opval) = invert(scalar((ps[(1) - (1)].val.opval))); }
     break;
 
-  case 68:
-#line 596 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
+  case 73:
+#line 658 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
     break;
 
-  case 69:
-#line 600 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
+  case 74:
+#line 662 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
     break;
 
-  case 70:
-#line 604 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); ;}
+  case 75:
+#line 666 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); intro_my(); }
     break;
 
-  case 71:
-#line 607 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 76:
+#line 669 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 72:
-#line 608 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+  case 77:
+#line 670 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
-  case 73:
-#line 612 "perly.y"
+  case 78:
+#line 674 "perly.y"
     { (yyval.ival) = start_subparse(FALSE, 0);
-			    SAVEFREESV(PL_compcv); ;}
+			    SAVEFREESV(PL_compcv); }
     break;
 
-  case 74:
-#line 618 "perly.y"
+  case 79:
+#line 680 "perly.y"
     { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
-			    SAVEFREESV(PL_compcv); ;}
+			    SAVEFREESV(PL_compcv); }
     break;
 
-  case 75:
-#line 623 "perly.y"
+  case 80:
+#line 685 "perly.y"
     { (yyval.ival) = start_subparse(TRUE, 0);
-			    SAVEFREESV(PL_compcv); ;}
+			    SAVEFREESV(PL_compcv); }
     break;
 
-  case 76:
-#line 628 "perly.y"
-    { const char *const name = SvPV_nolen_const(((SVOP*)(ps[(1) - (1)].val.opval))->op_sv);
-			  if (strEQ(name, "BEGIN") || strEQ(name, "END")
-			      || strEQ(name, "INIT") || strEQ(name, "CHECK")
-			      || strEQ(name, "UNITCHECK"))
-			      CvSPECIAL_on(PL_compcv);
-			  (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 83:
+#line 696 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
-  case 77:
-#line 638 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+  case 85:
+#line 702 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
-  case 79:
-#line 644 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
-    break;
-
-  case 80:
-#line 646 "perly.y"
+  case 86:
+#line 704 "perly.y"
     { (yyval.opval) = (ps[(2) - (2)].val.opval);
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
-			;}
+			}
     break;
 
-  case 81:
-#line 650 "perly.y"
+  case 87:
+#line 708 "perly.y"
     { (yyval.opval) = IF_MAD(
 				    newOP(OP_NULL, 0),
 				    (OP*)NULL
 				);
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
-			;}
+			}
     break;
 
-  case 82:
-#line 660 "perly.y"
+  case 88:
+#line 718 "perly.y"
     { (yyval.opval) = (ps[(2) - (2)].val.opval);
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),':');
-			;}
+			}
     break;
 
-  case 83:
-#line 664 "perly.y"
+  case 89:
+#line 722 "perly.y"
     { (yyval.opval) = IF_MAD(
 				    newOP(OP_NULL, 0),
 				    (OP*)NULL
 				);
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),':');
-			;}
+			}
     break;
 
-  case 84:
-#line 673 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 90:
+#line 731 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 85:
-#line 674 "perly.y"
+  case 91:
+#line 732 "perly.y"
     { (yyval.opval) = IF_MAD(
 				    newOP(OP_NULL,0),
 				    (OP*)NULL
@@ -712,32 +771,32 @@
 				);
 			  PL_parser->expect = XSTATE;
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),';');
-			;}
+			}
     break;
 
-  case 86:
-#line 685 "perly.y"
+  case 92:
+#line 743 "perly.y"
     { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 87:
-#line 689 "perly.y"
+  case 93:
+#line 747 "perly.y"
     { (yyval.opval) = newLOGOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 88:
-#line 693 "perly.y"
+  case 94:
+#line 751 "perly.y"
     { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 90:
-#line 701 "perly.y"
+  case 96:
+#line 759 "perly.y"
     {
 #ifdef MAD
 			  OP* op = newNULLLIST();
@@ -746,11 +805,11 @@
 #else
 			  (yyval.opval) = (ps[(1) - (2)].val.opval);
 #endif
-			;}
+			}
     break;
 
-  case 91:
-#line 711 "perly.y"
+  case 97:
+#line 769 "perly.y"
     { 
 			  OP* term = (ps[(3) - (3)].val.opval);
 			  DO_MAD(
@@ -758,29 +817,29 @@
 			      token_getmad((ps[(2) - (3)].val.i_tkval),term,',');
 			  )
 			  (yyval.opval) = op_append_elem(OP_LIST, (ps[(1) - (3)].val.opval), term);
-			;}
+			}
     break;
 
-  case 93:
-#line 724 "perly.y"
+  case 99:
+#line 782 "perly.y"
     { (yyval.opval) = convert(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_STACKED,
 				op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (3)].val.i_tkval)),(ps[(2) - (3)].val.opval)), (ps[(3) - (3)].val.opval)) );
 			  TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 94:
-#line 729 "perly.y"
+  case 100:
+#line 787 "perly.y"
     { (yyval.opval) = convert(IVAL((ps[(1) - (5)].val.i_tkval)), OPf_STACKED,
 				op_prepend_elem(OP_LIST, newGVREF(IVAL((ps[(1) - (5)].val.i_tkval)),(ps[(3) - (5)].val.opval)), (ps[(4) - (5)].val.opval)) );
 			  TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 95:
-#line 736 "perly.y"
+  case 101:
+#line 794 "perly.y"
     { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST,
 				    op_prepend_elem(OP_LIST, scalar((ps[(1) - (6)].val.opval)), (ps[(5) - (6)].val.opval)),
@@ -788,29 +847,29 @@
 			  TOKEN_GETMAD((ps[(2) - (6)].val.i_tkval),(yyval.opval),'A');
 			  TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 96:
-#line 745 "perly.y"
+  case 102:
+#line 803 "perly.y"
     { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST, scalar((ps[(1) - (3)].val.opval)),
 				    newUNOP(OP_METHOD, 0, (ps[(3) - (3)].val.opval))));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'A');
-			;}
+			}
     break;
 
-  case 97:
-#line 751 "perly.y"
+  case 103:
+#line 809 "perly.y"
     { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST,
 				    op_prepend_elem(OP_LIST, (ps[(2) - (3)].val.opval), (ps[(3) - (3)].val.opval)),
 				    newUNOP(OP_METHOD, 0, (ps[(1) - (3)].val.opval))));
-			;}
+			}
     break;
 
-  case 98:
-#line 757 "perly.y"
+  case 104:
+#line 815 "perly.y"
     { (yyval.opval) = convert(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST,
 				    op_prepend_elem(OP_LIST, (ps[(2) - (5)].val.opval), (ps[(4) - (5)].val.opval)),
@@ -817,59 +876,59 @@
 				    newUNOP(OP_METHOD, 0, (ps[(1) - (5)].val.opval))));
 			  TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 99:
-#line 765 "perly.y"
+  case 105:
+#line 823 "perly.y"
     { (yyval.opval) = convert(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 100:
-#line 769 "perly.y"
+  case 106:
+#line 827 "perly.y"
     { (yyval.opval) = convert(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 101:
-#line 775 "perly.y"
+  case 107:
+#line 833 "perly.y"
     { SvREFCNT_inc_simple_void(PL_compcv);
-			  (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); ;}
+			  (yyval.opval) = newANONATTRSUB((ps[(2) - (3)].val.ival), 0, (OP*)NULL, (ps[(3) - (3)].val.opval)); }
     break;
 
-  case 102:
-#line 778 "perly.y"
+  case 108:
+#line 836 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				 op_append_elem(OP_LIST,
 				   op_prepend_elem(OP_LIST, (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval)), (ps[(1) - (5)].val.opval)));
-			;}
+			}
     break;
 
-  case 105:
-#line 793 "perly.y"
+  case 111:
+#line 851 "perly.y"
     { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[(1) - (5)].val.opval), scalar((ps[(3) - (5)].val.opval)));
 			    PL_parser->expect = XOPERATOR;
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
-  case 106:
-#line 800 "perly.y"
+  case 112:
+#line 858 "perly.y"
     { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[(1) - (4)].val.opval)), scalar((ps[(3) - (4)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 107:
-#line 805 "perly.y"
+  case 113:
+#line 863 "perly.y"
     { (yyval.opval) = newBINOP(OP_AELEM, 0,
 					ref(newAVREF((ps[(1) - (5)].val.opval)),OP_RV2AV),
 					scalar((ps[(4) - (5)].val.opval)));
@@ -876,31 +935,31 @@
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
 			  TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 108:
-#line 813 "perly.y"
+  case 114:
+#line 871 "perly.y"
     { (yyval.opval) = newBINOP(OP_AELEM, 0,
 					ref(newAVREF((ps[(1) - (4)].val.opval)),OP_RV2AV),
 					scalar((ps[(3) - (4)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 109:
-#line 820 "perly.y"
+  case 115:
+#line 878 "perly.y"
     { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[(1) - (5)].val.opval)), jmaybe((ps[(3) - (5)].val.opval)));
 			    PL_parser->expect = XOPERATOR;
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
-  case 110:
-#line 827 "perly.y"
+  case 116:
+#line 885 "perly.y"
     { (yyval.opval) = newBINOP(OP_HELEM, 0,
 					ref(newHVREF((ps[(1) - (6)].val.opval)),OP_RV2HV),
 					jmaybe((ps[(4) - (6)].val.opval)));
@@ -909,11 +968,11 @@
 			  TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(5) - (6)].val.i_tkval),(yyval.opval),';');
 			  TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
-  case 111:
-#line 837 "perly.y"
+  case 117:
+#line 895 "perly.y"
     { (yyval.opval) = newBINOP(OP_HELEM, 0,
 					ref(newHVREF((ps[(1) - (5)].val.opval)),OP_RV2HV),
 					jmaybe((ps[(3) - (5)].val.opval)));
@@ -921,21 +980,21 @@
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
-  case 112:
-#line 846 "perly.y"
+  case 118:
+#line 904 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   newCVREF(0, scalar((ps[(1) - (4)].val.opval))));
 			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'a');
 			  TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 113:
-#line 853 "perly.y"
+  case 119:
+#line 911 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   op_append_elem(OP_LIST, (ps[(4) - (5)].val.opval),
 				       newCVREF(0, scalar((ps[(1) - (5)].val.opval)))));
@@ -942,123 +1001,123 @@
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'a');
 			  TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 114:
-#line 862 "perly.y"
+  case 120:
+#line 920 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval),
 					       newCVREF(0, scalar((ps[(1) - (4)].val.opval)))));
 			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 115:
-#line 869 "perly.y"
+  case 121:
+#line 927 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   newCVREF(0, scalar((ps[(1) - (3)].val.opval))));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 116:
-#line 875 "perly.y"
+  case 122:
+#line 933 "perly.y"
     { (yyval.opval) = newSLICEOP(0, (ps[(5) - (6)].val.opval), (ps[(2) - (6)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (6)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(3) - (6)].val.i_tkval),(yyval.opval),')');
 			  TOKEN_GETMAD((ps[(4) - (6)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(6) - (6)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 117:
-#line 882 "perly.y"
+  case 123:
+#line 940 "perly.y"
     { (yyval.opval) = newSLICEOP(0, (ps[(3) - (4)].val.opval), (ps[(1) - (4)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 118:
-#line 887 "perly.y"
+  case 124:
+#line 945 "perly.y"
     { (yyval.opval) = newSLICEOP(0, (ps[(4) - (5)].val.opval), (OP*)NULL);
 			  TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),')');
 			  TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 119:
-#line 897 "perly.y"
+  case 125:
+#line 955 "perly.y"
     { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[(1) - (3)].val.opval), IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(3) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 120:
-#line 901 "perly.y"
+  case 126:
+#line 959 "perly.y"
     { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 121:
-#line 905 "perly.y"
+  case 127:
+#line 963 "perly.y"
     {   if (IVAL((ps[(2) - (3)].val.i_tkval)) != OP_REPEAT)
 				scalar((ps[(1) - (3)].val.opval));
 			    (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, (ps[(1) - (3)].val.opval), scalar((ps[(3) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 122:
-#line 911 "perly.y"
+  case 128:
+#line 969 "perly.y"
     { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 123:
-#line 915 "perly.y"
+  case 129:
+#line 973 "perly.y"
     { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 124:
-#line 919 "perly.y"
+  case 130:
+#line 977 "perly.y"
     { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 125:
-#line 923 "perly.y"
+  case 131:
+#line 981 "perly.y"
     { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 126:
-#line 927 "perly.y"
+  case 132:
+#line 985 "perly.y"
     { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 127:
-#line 931 "perly.y"
+  case 133:
+#line 989 "perly.y"
     { (yyval.opval) = newBINOP(IVAL((ps[(2) - (3)].val.i_tkval)), 0, scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 128:
-#line 935 "perly.y"
+  case 134:
+#line 993 "perly.y"
     {
 			  (yyval.opval) = newRANGE(IVAL((ps[(2) - (3)].val.i_tkval)), scalar((ps[(1) - (3)].val.opval)), scalar((ps[(3) - (3)].val.opval)));
 			  DO_MAD({
@@ -1068,164 +1127,164 @@
 			      op = (UNOP*)op->op_first;	/* get to flip */
 			      op = (UNOP*)op->op_first;	/* get to range */
 			      token_getmad((ps[(2) - (3)].val.i_tkval),(OP*)op,'o');
-			    })
-			;}
+			    });
+			}
     break;
 
-  case 129:
-#line 947 "perly.y"
+  case 135:
+#line 1005 "perly.y"
     { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 130:
-#line 951 "perly.y"
+  case 136:
+#line 1009 "perly.y"
     { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 131:
-#line 955 "perly.y"
+  case 137:
+#line 1013 "perly.y"
     { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 132:
-#line 959 "perly.y"
+  case 138:
+#line 1017 "perly.y"
     { (yyval.opval) = bind_match(IVAL((ps[(2) - (3)].val.i_tkval)), (ps[(1) - (3)].val.opval), (ps[(3) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),
 				((yyval.opval)->op_type == OP_NOT
 				    ? ((UNOP*)(yyval.opval))->op_first : (yyval.opval)),
 				'~');
-			;}
+			}
     break;
 
-  case 133:
-#line 969 "perly.y"
+  case 139:
+#line 1027 "perly.y"
     { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[(2) - (2)].val.opval)));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 134:
-#line 973 "perly.y"
+  case 140:
+#line 1031 "perly.y"
     { (yyval.opval) = IF_MAD(
 				    newUNOP(OP_NULL, 0, (ps[(2) - (2)].val.opval)),
 				    (ps[(2) - (2)].val.opval)
 				);
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'+');
-			;}
+			}
     break;
 
-  case 135:
-#line 980 "perly.y"
+  case 141:
+#line 1038 "perly.y"
     { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 136:
-#line 984 "perly.y"
+  case 142:
+#line 1042 "perly.y"
     { (yyval.opval) = newUNOP(OP_COMPLEMENT, 0, scalar((ps[(2) - (2)].val.opval)));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 137:
-#line 988 "perly.y"
+  case 143:
+#line 1046 "perly.y"
     { (yyval.opval) = newUNOP(OP_POSTINC, 0,
 					op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTINC));
 			  TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 138:
-#line 993 "perly.y"
+  case 144:
+#line 1051 "perly.y"
     { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
 					op_lvalue(scalar((ps[(1) - (2)].val.opval)), OP_POSTDEC));
 			  TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 139:
-#line 998 "perly.y"
+  case 145:
+#line 1056 "perly.y"
     { (yyval.opval) = newUNOP(OP_PREINC, 0,
 					op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREINC));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 140:
-#line 1003 "perly.y"
+  case 146:
+#line 1061 "perly.y"
     { (yyval.opval) = newUNOP(OP_PREDEC, 0,
 					op_lvalue(scalar((ps[(2) - (2)].val.opval)), OP_PREDEC));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 141:
-#line 1012 "perly.y"
+  case 147:
+#line 1070 "perly.y"
     { (yyval.opval) = newANONLIST((ps[(2) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 142:
-#line 1017 "perly.y"
+  case 148:
+#line 1075 "perly.y"
     { (yyval.opval) = newANONLIST((OP*)NULL);
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 143:
-#line 1022 "perly.y"
+  case 149:
+#line 1080 "perly.y"
     { (yyval.opval) = newANONHASH((ps[(2) - (4)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),';');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
-  case 144:
-#line 1028 "perly.y"
+  case 150:
+#line 1086 "perly.y"
     { (yyval.opval) = newANONHASH((OP*)NULL);
 			  TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),';');
 			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
-  case 145:
-#line 1034 "perly.y"
+  case 151:
+#line 1092 "perly.y"
     { SvREFCNT_inc_simple_void(PL_compcv);
 			  (yyval.opval) = newANONATTRSUB((ps[(2) - (5)].val.ival), (ps[(3) - (5)].val.opval), (ps[(4) - (5)].val.opval), (ps[(5) - (5)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
 			  OP_GETMAD((ps[(3) - (5)].val.opval),(yyval.opval),'s');
 			  OP_GETMAD((ps[(4) - (5)].val.opval),(yyval.opval),'a');
-			;}
+			}
     break;
 
-  case 146:
-#line 1045 "perly.y"
+  case 152:
+#line 1103 "perly.y"
     { (yyval.opval) = dofile((ps[(2) - (2)].val.opval), IVAL((ps[(1) - (2)].val.i_tkval)));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 147:
-#line 1049 "perly.y"
+  case 153:
+#line 1107 "perly.y"
     { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[(2) - (2)].val.opval)));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'D');
-			;}
+			}
     break;
 
-  case 148:
-#line 1053 "perly.y"
+  case 154:
+#line 1111 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB,
 			    OPf_SPECIAL|OPf_STACKED,
 			    op_prepend_elem(OP_LIST,
@@ -1236,11 +1295,11 @@
 			  TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 149:
-#line 1065 "perly.y"
+  case 155:
+#line 1123 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB,
 			    OPf_SPECIAL|OPf_STACKED,
 			    op_append_elem(OP_LIST,
@@ -1252,11 +1311,11 @@
 			  TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 150:
-#line 1078 "perly.y"
+  case 156:
+#line 1136 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
 			    op_prepend_elem(OP_LIST,
 				scalar(newCVREF(0,scalar((ps[(2) - (4)].val.opval)))), (OP*)NULL)); dep();
@@ -1263,11 +1322,11 @@
 			  TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(3) - (4)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 151:
-#line 1086 "perly.y"
+  case 157:
+#line 1144 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
 			    op_prepend_elem(OP_LIST,
 				(ps[(4) - (5)].val.opval),
@@ -1275,89 +1334,89 @@
 			  TOKEN_GETMAD((ps[(1) - (5)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 156:
-#line 1102 "perly.y"
+  case 162:
+#line 1160 "perly.y"
     { (yyval.opval) = newCONDOP(0, (ps[(1) - (5)].val.opval), (ps[(3) - (5)].val.opval), (ps[(5) - (5)].val.opval));
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'?');
 			  TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),':');
-			;}
+			}
     break;
 
-  case 157:
-#line 1107 "perly.y"
+  case 163:
+#line 1165 "perly.y"
     { (yyval.opval) = newUNOP(OP_REFGEN, 0, op_lvalue((ps[(2) - (2)].val.opval),OP_REFGEN));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 158:
-#line 1111 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 164:
+#line 1169 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 159:
-#line 1113 "perly.y"
+  case 165:
+#line 1171 "perly.y"
     { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'k');
-			;}
+			}
     break;
 
-  case 160:
-#line 1117 "perly.y"
+  case 166:
+#line 1175 "perly.y"
     { (yyval.opval) = sawparens(IF_MAD(newUNOP(OP_NULL,0,(ps[(2) - (3)].val.opval)), (ps[(2) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 161:
-#line 1122 "perly.y"
-    { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); ;}
+  case 167:
+#line 1180 "perly.y"
+    { (yyval.opval) = IF_MAD(newUNOP(OP_NULL,0,(ps[(1) - (1)].val.opval)), (ps[(1) - (1)].val.opval)); }
     break;
 
-  case 162:
-#line 1124 "perly.y"
+  case 168:
+#line 1182 "perly.y"
     { (yyval.opval) = sawparens(newNULLLIST());
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 163:
-#line 1129 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 169:
+#line 1187 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 164:
-#line 1131 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 170:
+#line 1189 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 165:
-#line 1133 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 171:
+#line 1191 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 166:
-#line 1135 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 172:
+#line 1193 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 167:
-#line 1137 "perly.y"
-    { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));;}
+  case 173:
+#line 1195 "perly.y"
+    { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[(1) - (1)].val.opval), OP_AV2ARYLEN));}
     break;
 
-  case 168:
-#line 1139 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 174:
+#line 1197 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 169:
-#line 1141 "perly.y"
+  case 175:
+#line 1199 "perly.y"
     { (yyval.opval) = op_prepend_elem(OP_ASLICE,
 				newOP(OP_PUSHMARK, 0),
 				    newLISTOP(OP_ASLICE, 0,
@@ -1365,11 +1424,11 @@
 					ref((ps[(1) - (4)].val.opval), OP_ASLICE)));
 			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'[');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),']');
-			;}
+			}
     break;
 
-  case 170:
-#line 1150 "perly.y"
+  case 176:
+#line 1208 "perly.y"
     { (yyval.opval) = op_prepend_elem(OP_HSLICE,
 				newOP(OP_PUSHMARK, 0),
 				    newLISTOP(OP_HSLICE, 0,
@@ -1379,29 +1438,29 @@
 			  TOKEN_GETMAD((ps[(2) - (5)].val.i_tkval),(yyval.opval),'{');
 			  TOKEN_GETMAD((ps[(4) - (5)].val.i_tkval),(yyval.opval),';');
 			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),'}');
-			;}
+			}
     break;
 
-  case 171:
-#line 1161 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 177:
+#line 1219 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 172:
-#line 1163 "perly.y"
-    { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); ;}
+  case 178:
+#line 1221 "perly.y"
+    { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[(1) - (1)].val.opval))); }
     break;
 
-  case 173:
-#line 1165 "perly.y"
+  case 179:
+#line 1223 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (3)].val.opval)));
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 174:
-#line 1170 "perly.y"
+  case 180:
+#line 1228 "perly.y"
     {
 			  (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST, (ps[(3) - (4)].val.opval), scalar((ps[(1) - (4)].val.opval))));
@@ -1412,110 +1471,123 @@
 			      }
 			      token_getmad((ps[(2) - (4)].val.i_tkval),op,'(');
 			      token_getmad((ps[(4) - (4)].val.i_tkval),op,')');
-			  })
-			;}
+			  });
+			}
     break;
 
-  case 175:
-#line 1183 "perly.y"
+  case 181:
+#line 1241 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
 			    op_append_elem(OP_LIST, (ps[(3) - (3)].val.opval), scalar((ps[(2) - (3)].val.opval))));
 			  TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 176:
-#line 1188 "perly.y"
+  case 182:
+#line 1246 "perly.y"
     { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), OPf_SPECIAL);
 			    PL_hints |= HINT_BLOCK_SCOPE;
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 177:
-#line 1193 "perly.y"
+  case 183:
+#line 1251 "perly.y"
     { (yyval.opval) = newLOOPEX(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 178:
-#line 1197 "perly.y"
+  case 184:
+#line 1255 "perly.y"
     { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[(2) - (2)].val.opval)));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 179:
-#line 1201 "perly.y"
+  case 185:
+#line 1259 "perly.y"
     { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 180:
-#line 1205 "perly.y"
+  case 186:
+#line 1263 "perly.y"
     { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 181:
-#line 1209 "perly.y"
+  case 187:
+#line 1267 "perly.y"
     { (yyval.opval) = newUNOP(IVAL((ps[(1) - (2)].val.i_tkval)), 0, (ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 182:
-#line 1213 "perly.y"
+  case 188:
+#line 1271 "perly.y"
     { (yyval.opval) = newOP(OP_REQUIRE, (ps[(1) - (1)].val.i_tkval) ? OPf_SPECIAL : 0);
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 183:
-#line 1217 "perly.y"
+  case 189:
+#line 1275 "perly.y"
     { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[(1) - (2)].val.i_tkval) ? OPf_SPECIAL : 0, (ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 184:
-#line 1221 "perly.y"
-    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); ;}
+  case 190:
+#line 1279 "perly.y"
+    { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[(1) - (1)].val.opval))); }
     break;
 
-  case 185:
-#line 1223 "perly.y"
+  case 191:
+#line 1281 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
-			    op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); ;}
+			    op_append_elem(OP_LIST, (ps[(2) - (2)].val.opval), scalar((ps[(1) - (2)].val.opval)))); }
     break;
 
-  case 186:
-#line 1226 "perly.y"
+  case 192:
+#line 1284 "perly.y"
     { (yyval.opval) = newOP(IVAL((ps[(1) - (1)].val.i_tkval)), 0);
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'o');
-			;}
+			}
     break;
 
-  case 187:
-#line 1230 "perly.y"
+  case 193:
+#line 1288 "perly.y"
     { (yyval.opval) = newOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0);
 			  TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 188:
-#line 1236 "perly.y"
+  case 194:
+#line 1294 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
+    break;
+
+  case 195:
+#line 1296 "perly.y"
+    { (yyval.opval) = (ps[(1) - (3)].val.opval);
+			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
+			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
+			}
+    break;
+
+  case 196:
+#line 1301 "perly.y"
     { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
-				scalar((ps[(1) - (1)].val.opval))); ;}
+				scalar((ps[(1) - (1)].val.opval))); }
     break;
 
-  case 189:
-#line 1239 "perly.y"
+  case 197:
+#line 1304 "perly.y"
     { (yyval.opval) = (IVAL((ps[(1) - (3)].val.i_tkval)) == OP_NOT)
 			    ? newUNOP(IVAL((ps[(1) - (3)].val.i_tkval)), 0, newSVOP(OP_CONST, 0, newSViv(0)))
 			    : newOP(IVAL((ps[(1) - (3)].val.i_tkval)), OPf_SPECIAL);
@@ -1523,193 +1595,189 @@
 			  TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(2) - (3)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 190:
-#line 1248 "perly.y"
+  case 198:
+#line 1313 "perly.y"
     { (yyval.opval) = newUNOP(IVAL((ps[(1) - (4)].val.i_tkval)), 0, (ps[(3) - (4)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (4)].val.i_tkval),(yyval.opval),'o');
 			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 191:
-#line 1254 "perly.y"
-    { (yyval.opval) = pmruntime((ps[(1) - (4)].val.opval), (ps[(3) - (4)].val.opval), 1);
-			  TOKEN_GETMAD((ps[(2) - (4)].val.i_tkval),(yyval.opval),'(');
-			  TOKEN_GETMAD((ps[(4) - (4)].val.i_tkval),(yyval.opval),')');
-			;}
+  case 199:
+#line 1319 "perly.y"
+    {
+			    if (   (ps[(1) - (1)].val.opval)->op_type != OP_TRANS
+			        && (ps[(1) - (1)].val.opval)->op_type != OP_TRANSR
+				&& (((PMOP*)(ps[(1) - (1)].val.opval))->op_pmflags & PMf_HAS_CV))
+			    {
+				(yyval.ival) = start_subparse(FALSE, CVf_ANON);
+				SAVEFREESV(PL_compcv);
+			    } else
+				(yyval.ival) = 0;
+			}
     break;
 
-  case 194:
-#line 1261 "perly.y"
+  case 200:
+#line 1330 "perly.y"
+    { (yyval.opval) = pmruntime((ps[(1) - (5)].val.opval), (ps[(4) - (5)].val.opval), 1, (ps[(2) - (5)].val.ival));
+			  TOKEN_GETMAD((ps[(3) - (5)].val.i_tkval),(yyval.opval),'(');
+			  TOKEN_GETMAD((ps[(5) - (5)].val.i_tkval),(yyval.opval),')');
+			}
+    break;
+
+  case 203:
+#line 1337 "perly.y"
     {
 			  (yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
 				newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
 			  TOKEN_GETMAD((ps[(1) - (1)].val.i_tkval),(yyval.opval),'X');
-			;}
+			}
     break;
 
-  case 196:
-#line 1271 "perly.y"
+  case 205:
+#line 1347 "perly.y"
     { (yyval.opval) = my_attrs((ps[(2) - (3)].val.opval),(ps[(3) - (3)].val.opval));
 			  DO_MAD(
 			      token_getmad((ps[(1) - (3)].val.i_tkval),(yyval.opval),'d');
 			      append_madprops((ps[(3) - (3)].val.opval)->op_madprop, (yyval.opval), 'a');
 			      (ps[(3) - (3)].val.opval)->op_madprop = 0;
-			  )
-			;}
+			  );
+			}
     break;
 
-  case 197:
-#line 1279 "perly.y"
+  case 206:
+#line 1355 "perly.y"
     { (yyval.opval) = localize((ps[(2) - (2)].val.opval),IVAL((ps[(1) - (2)].val.i_tkval)));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'d');
-			;}
+			}
     break;
 
-  case 198:
-#line 1286 "perly.y"
+  case 207:
+#line 1362 "perly.y"
     { (yyval.opval) = sawparens((ps[(2) - (3)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (3)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(3) - (3)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 199:
-#line 1291 "perly.y"
+  case 208:
+#line 1367 "perly.y"
     { (yyval.opval) = sawparens(newNULLLIST());
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'(');
 			  TOKEN_GETMAD((ps[(2) - (2)].val.i_tkval),(yyval.opval),')');
-			;}
+			}
     break;
 
-  case 200:
-#line 1296 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 209:
+#line 1372 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 201:
-#line 1298 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 210:
+#line 1374 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 202:
-#line 1300 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 211:
+#line 1376 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 203:
-#line 1305 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+  case 212:
+#line 1381 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
-  case 204:
-#line 1307 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 213:
+#line 1383 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 205:
-#line 1311 "perly.y"
-    { (yyval.opval) = (OP*)NULL; ;}
+  case 214:
+#line 1387 "perly.y"
+    { (yyval.opval) = (OP*)NULL; }
     break;
 
-  case 206:
-#line 1313 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 215:
+#line 1389 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-  case 207:
-#line 1317 "perly.y"
-    { (yyval.i_tkval) = (ps[(1) - (1)].val.i_tkval); ;}
+  case 216:
+#line 1395 "perly.y"
+    { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); }
     break;
 
-  case 208:
-#line 1319 "perly.y"
-    { munge_qwlist_to_paren_list((ps[(1) - (1)].val.opval)); ;}
-    break;
-
-  case 209:
-#line 1321 "perly.y"
-    { (yyval.i_tkval) = (ps[(3) - (3)].val.i_tkval); ;}
-    break;
-
-  case 210:
-#line 1327 "perly.y"
-    { PL_parser->in_my = 0; (yyval.opval) = my((ps[(1) - (1)].val.opval)); ;}
-    break;
-
-  case 211:
-#line 1331 "perly.y"
+  case 217:
+#line 1399 "perly.y"
     { (yyval.opval) = newCVREF(IVAL((ps[(1) - (2)].val.i_tkval)),(ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'&');
-			;}
+			}
     break;
 
-  case 212:
-#line 1337 "perly.y"
+  case 218:
+#line 1405 "perly.y"
     { (yyval.opval) = newSVREF((ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'$');
-			;}
+			}
     break;
 
-  case 213:
-#line 1343 "perly.y"
+  case 219:
+#line 1411 "perly.y"
     { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'@');
-			;}
+			}
     break;
 
-  case 214:
-#line 1349 "perly.y"
+  case 220:
+#line 1417 "perly.y"
     { (yyval.opval) = newHVREF((ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'%');
-			;}
+			}
     break;
 
-  case 215:
-#line 1355 "perly.y"
+  case 221:
+#line 1423 "perly.y"
     { (yyval.opval) = newAVREF((ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'l');
-			;}
+			}
     break;
 
-  case 216:
-#line 1361 "perly.y"
+  case 222:
+#line 1429 "perly.y"
     { (yyval.opval) = newGVREF(0,(ps[(2) - (2)].val.opval));
 			  TOKEN_GETMAD((ps[(1) - (2)].val.i_tkval),(yyval.opval),'*');
-			;}
+			}
     break;
 
-  case 217:
-#line 1368 "perly.y"
-    { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
+  case 223:
+#line 1436 "perly.y"
+    { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
     break;
 
-  case 218:
-#line 1370 "perly.y"
-    { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); ;}
+  case 224:
+#line 1438 "perly.y"
+    { (yyval.opval) = scalar((ps[(1) - (1)].val.opval)); }
     break;
 
-  case 219:
-#line 1372 "perly.y"
-    { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); ;}
+  case 225:
+#line 1440 "perly.y"
+    { (yyval.opval) = op_scope((ps[(1) - (1)].val.opval)); }
     break;
 
-  case 220:
-#line 1375 "perly.y"
-    { (yyval.opval) = (ps[(1) - (1)].val.opval); ;}
+  case 226:
+#line 1443 "perly.y"
+    { (yyval.opval) = (ps[(1) - (1)].val.opval); }
     break;
 
-
-/* Line 1267 of yacc.c.  */
-
       default: break;
     
 
 /* Generated from:
- * bd41fc813e5d2d23ff7edef2ab1ef88bbb054176476b7d989db7522dce1c9328 perly.y
- * dc72db91baa0a3c17a6c95718e5ad70e9ac7b75919df1317df7fe6c3f1649239 regen_perly.pl
+ * 28c2c7738eefc00762e227af0363c729186c992e9127e0c935684cccbf3a3b4f perly.y
+ * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
  * ex: set ro: */


Property changes on: vendor/perl/dist/perly.act
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/perly.c
===================================================================
--- vendor/perl/dist/perly.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perly.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,7 @@
 /*    perly.c
  *
- *    Copyright (c) 2004, 2005, 2006, 2007, 2008 by Larry Wall and others
+ *    Copyright (c) 2004, 2005, 2006, 2007, 2008,
+ *    2009, 2010, 2011 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -37,6 +38,9 @@
 /* YYINITDEPTH -- initial size of the parser's stacks.  */
 #define YYINITDEPTH 200
 
+#ifdef YYDEBUG
+#  undef YYDEBUG
+#endif
 #ifdef DEBUGGING
 #  define YYDEBUG 1
 #else
@@ -43,6 +47,10 @@
 #  define YYDEBUG 0
 #endif
 
+#ifndef YY_NULL
+# define YY_NULL 0
+#endif
+
 /* contains all the parser state tables; auto-generated from perly.y */
 #include "perly.tab"
 
@@ -135,11 +143,6 @@
 	    );
 	    break;
 #ifndef PERL_IN_MADLY_C
-	case toketype_p_tkval:
-	    PerlIO_printf(Perl_debug_log, " %8.8s",
-		  ps->val.pval ? ps->val.pval : "(NULL)");
-	    break;
-
 	case toketype_i_tkval:
 #endif
 	case toketype_ival:
@@ -203,96 +206,11 @@
 
     YYDPRINTF ((Perl_debug_log, "clearing the parse stack\n"));
 
-    /* Freeing ops on the stack, and the op_latefree / op_latefreed /
-     * op_attached flags:
-     *
-     * When we pop tokens off the stack during error recovery, or when
-     * we pop all the tokens off the stack after a die during a shift or
-     * reduce (i.e. Perl_croak somewhere in yylex() or in one of the
-     * newFOO() functions), then it's possible that some of these tokens are
-     * of type opval, pointing to an OP. All these ops are orphans; each is
-     * its own miniature subtree that has not yet been attached to a
-     * larger tree. In this case, we should clearly free the op (making
-     * sure, for each op we free that we have PL_comppad pointing to the
-     * right place for freeing any SVs attached to the op in threaded
-     * builds.
-     *
-     * However, there is a particular problem if we die in newFOO() called
-     * by a reducing action; e.g.
-     *
-     *    foo : bar baz boz
-     *        { $$ = newFOO($1,$2,$3) }
-     *
-     * where
-     *  OP *newFOO { ....; if (...) croak; .... }
-     *
-     * In this case, when we come to clean bar baz and boz off the stack,
-     * we don't know whether newFOO() has already:
-     *    * freed them
-     *    * left them as is
-     *    * attached them to part of a larger tree
-     *    * attached them to PL_compcv
-     *    * attached them to PL_compcv then freed it (as in BEGIN {die } )
-     *
-     * To get round this problem, we set the flag op_latefree on every op
-     * that gets pushed onto the parser stack. If op_free() sees this
-     * flag, it clears the op and frees any children,, but *doesn't* free
-     * the op itself; instead it sets the op_latefreed flag. This means
-     * that we can safely call op_free() multiple times on each stack op.
-     * So, when clearing the stack, we first, for each op that was being
-     * reduced, call op_free with op_latefree=1. This ensures that all ops
-     * hanging off these op are freed, but the reducing ops themselves are
-     * just undefed. Then we set op_latefreed=0 on *all* ops on the stack
-     * and free them. A little thought should convince you that this
-     * two-part approach to the reducing ops should handle the first three
-     * cases above safely.
-     *
-     * In the case of attaching to PL_compcv (currently just newATTRSUB
-     * does this), then  we set the op_attached flag on the op that has
-     * been so attached, then avoid doing the final op_free during
-     * cleanup, on the assumption that it will happen (or has already
-     * happened) when PL_compcv is freed.
-     *
-     * Note this is fairly fragile mechanism. A more robust approach
-     * would be to use two of these flag bits as 2-bit reference count
-     * field for each op, indicating whether it is pointed to from:
-     *   * a parent op
-     *   * the parser stack
-     *   * a CV
-     * but this would involve reworking all code (core and external) that
-     * manipulate op trees.
-     *
-     * XXX DAPM 17/1/07 I've decided its too fragile for now, and so have
-     * disabled it */
-
-#define DISABLE_STACK_FREE
-
-
-#ifdef DISABLE_STACK_FREE
     for (i=0; i< parser->yylen; i++) {
 	SvREFCNT_dec(ps[-i].compcv);
     }
     ps -= parser->yylen;
-#else
-    /* clear any reducing ops (1st pass) */
 
-    for (i=0; i< parser->yylen; i++) {
-	LEAVE_SCOPE(ps[-i].savestack_ix);
-	if (yy_type_tab[yystos[ps[-i].state]] == toketype_opval
-	    && ps[-i].val.opval) {
-	    if ( ! (ps[-i].val.opval->op_attached
-		    && !ps[-i].val.opval->op_latefreed))
-	    {
-		if (ps[-i].compcv != PL_compcv) {
-		    PL_compcv = ps[-i].compcv;
-		    PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1);
-		}
-		op_free(ps[-i].val.opval);
-	    }
-	}
-    }
-#endif
-
     /* now free whole the stack, including the just-reduced ops */
 
     while (ps > parser->stack) {
@@ -305,11 +223,7 @@
 		PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1);
 	    }
 	    YYDPRINTF ((Perl_debug_log, "(freeing op)\n"));
-#ifndef DISABLE_STACK_FREE
-	    ps->val.opval->op_latefree  = 0;
-	    if (!(ps->val.opval->op_attached && !ps->val.opval->op_latefreed))
-#endif
-		op_free(ps->val.opval);
+	    op_free(ps->val.opval);
 	}
 	SvREFCNT_dec(ps->compcv);
 	ps--;
@@ -331,15 +245,15 @@
 #endif
 {
     dVAR;
-    register int yystate;
-    register int yyn;
+    int yystate;
+    int yyn;
     int yyresult;
 
     /* Lookahead token as an internal (translated) token number.  */
     int yytoken = 0;
 
-    register yy_parser *parser;	    /* the parser object */
-    register yy_stack_frame  *ps;   /* current parser stack frame */
+    yy_parser *parser;	    /* the parser object */
+    yy_stack_frame  *ps;   /* current parser stack frame */
 
 #define YYPOPSTACK   parser->ps = --ps
 #define YYPUSHSTACK  parser->ps = ++ps
@@ -387,13 +301,6 @@
 
     YYDPRINTF ((Perl_debug_log, "Entering state %d\n", yystate));
 
-#ifndef DISABLE_STACK_FREE
-    if (yy_type_tab[yystos[yystate]] == toketype_opval && ps->val.opval) {
-	ps->val.opval->op_latefree  = 1;
-	ps->val.opval->op_latefreed = 0;
-    }
-#endif
-
     parser->yylen = 0;
 
     {
@@ -550,20 +457,9 @@
 
     }
 
-    /* any just-reduced ops with the op_latefreed flag cleared need to be
-     * freed; the rest need the flag resetting */
     {
 	int i;
 	for (i=0; i< parser->yylen; i++) {
-#ifndef DISABLE_STACK_FREE
-	    if (yy_type_tab[yystos[ps[-i].state]] == toketype_opval
-		&& ps[-i].val.opval)
-	    {
-		ps[-i].val.opval->op_latefree = 0;
-		if (ps[-i].val.opval->op_latefreed)
-		    op_free(ps[-i].val.opval);
-	    }
-#endif
 	    SvREFCNT_dec(ps[-i].compcv);
 	}
     }
@@ -624,7 +520,6 @@
 			PL_compcv = ps->compcv;
 			PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1);
 		    }
-		    ps->val.opval->op_latefree  = 0;
 		    op_free(ps->val.opval);
 		}
 		SvREFCNT_dec(ps->compcv);
@@ -634,8 +529,6 @@
 	}
 
 	YYDSYMPRINTF ("Error: discarding", yytoken, &parser->yylval);
-	if (yy_type_tab[yytoken] == toketype_opval)
-	    op_free(parser->yylval.opval);
 	parser->yychar = YYEMPTY;
 
     }
@@ -674,7 +567,6 @@
 		PL_compcv = ps->compcv;
 		PAD_SET_CUR_NOSAVE(CvPADLIST(PL_compcv), 1);
 	    }
-	    ps->val.opval->op_latefree  = 0;
 	    op_free(ps->val.opval);
 	}
 	SvREFCNT_dec(ps->compcv);
@@ -728,8 +620,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/perly.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/perly.h
===================================================================
--- vendor/perl/dist/perly.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perly.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,27 +5,24 @@
  */
 
 #ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 2.3.  */
+/* A Bison parser, made by GNU Bison 2.6.1.  */
 
-/* Skeleton interface for Bison's Yacc-like parsers in C
-
-   Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
-   Free Software Foundation, Inc.
-
-   This program is free software; you can redistribute it and/or modify
+/* Bison interface for Yacc-like parsers in C
+   
+      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
+   
+   This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
+   the Free Software Foundation, either version 3 of the License, or
+   (at your option) any later version.
+   
    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
-
+   
    You should have received a copy of the GNU General Public License
-   along with this program; if not, write to the Free Software
-   Foundation, Inc., 51 Franklin Street, Fifth Floor,
-   Boston, MA 02110-1301, USA.  */
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* As a special exception, you may create a larger work that contains
    part or all of the Bison parser skeleton and distribute that work
@@ -36,10 +33,18 @@
    special exception, which will cause the skeleton and the resulting
    Bison output files to be licensed under the GNU General Public
    License without this special exception.
-
+   
    This special exception was added by the Free Software Foundation in
    version 2.2 of Bison.  */
 
+/* Enabling traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
 /* Tokens.  */
 #ifndef YYTOKENTYPE
 # define YYTOKENTYPE
@@ -59,73 +64,76 @@
      PMFUNC = 268,
      PRIVATEREF = 269,
      QWLIST = 270,
-     FUNC0SUB = 271,
-     UNIOPSUB = 272,
-     LSTOPSUB = 273,
-     PLUGEXPR = 274,
-     PLUGSTMT = 275,
-     LABEL = 276,
-     FORMAT = 277,
-     SUB = 278,
-     ANONSUB = 279,
-     PACKAGE = 280,
-     USE = 281,
-     WHILE = 282,
-     UNTIL = 283,
-     IF = 284,
-     UNLESS = 285,
-     ELSE = 286,
-     ELSIF = 287,
-     CONTINUE = 288,
-     FOR = 289,
-     GIVEN = 290,
-     WHEN = 291,
-     DEFAULT = 292,
-     LOOPEX = 293,
-     DOTDOT = 294,
-     YADAYADA = 295,
-     FUNC0 = 296,
-     FUNC1 = 297,
-     FUNC = 298,
-     UNIOP = 299,
-     LSTOP = 300,
-     RELOP = 301,
-     EQOP = 302,
-     MULOP = 303,
-     ADDOP = 304,
-     DOLSHARP = 305,
-     DO = 306,
-     HASHBRACK = 307,
-     NOAMP = 308,
-     LOCAL = 309,
-     MY = 310,
-     MYSUB = 311,
+     FUNC0OP = 271,
+     FUNC0SUB = 272,
+     UNIOPSUB = 273,
+     LSTOPSUB = 274,
+     PLUGEXPR = 275,
+     PLUGSTMT = 276,
+     LABEL = 277,
+     FORMAT = 278,
+     SUB = 279,
+     ANONSUB = 280,
+     PACKAGE = 281,
+     USE = 282,
+     WHILE = 283,
+     UNTIL = 284,
+     IF = 285,
+     UNLESS = 286,
+     ELSE = 287,
+     ELSIF = 288,
+     CONTINUE = 289,
+     FOR = 290,
+     GIVEN = 291,
+     WHEN = 292,
+     DEFAULT = 293,
+     LOOPEX = 294,
+     DOTDOT = 295,
+     YADAYADA = 296,
+     FUNC0 = 297,
+     FUNC1 = 298,
+     FUNC = 299,
+     UNIOP = 300,
+     LSTOP = 301,
+     RELOP = 302,
+     EQOP = 303,
+     MULOP = 304,
+     ADDOP = 305,
+     DOLSHARP = 306,
+     DO = 307,
+     HASHBRACK = 308,
+     NOAMP = 309,
+     LOCAL = 310,
+     MY = 311,
      REQUIRE = 312,
      COLONATTR = 313,
-     PREC_LOW = 314,
-     DOROP = 315,
-     OROP = 316,
-     ANDOP = 317,
-     NOTOP = 318,
-     ASSIGNOP = 319,
-     DORDOR = 320,
-     OROR = 321,
-     ANDAND = 322,
-     BITOROP = 323,
-     BITANDOP = 324,
-     SHIFTOP = 325,
-     MATCHOP = 326,
-     REFGEN = 327,
-     UMINUS = 328,
-     POWOP = 329,
-     POSTDEC = 330,
-     POSTINC = 331,
-     PREDEC = 332,
-     PREINC = 333,
-     ARROW = 334,
-     PEG = 335
+     FORMLBRACK = 314,
+     FORMRBRACK = 315,
+     PREC_LOW = 316,
+     DOROP = 317,
+     OROP = 318,
+     ANDOP = 319,
+     NOTOP = 320,
+     ASSIGNOP = 321,
+     DORDOR = 322,
+     OROR = 323,
+     ANDAND = 324,
+     BITOROP = 325,
+     BITANDOP = 326,
+     SHIFTOP = 327,
+     MATCHOP = 328,
+     REFGEN = 329,
+     UMINUS = 330,
+     POWOP = 331,
+     POSTDEC = 332,
+     POSTINC = 333,
+     PREDEC = 334,
+     PREINC = 335,
+     ARROW = 336,
+     PEG = 337
    };
 #endif
+
 /* Tokens.  */
 #define GRAMPROG 258
 #define GRAMEXPR 259
@@ -140,79 +148,103 @@
 #define PMFUNC 268
 #define PRIVATEREF 269
 #define QWLIST 270
-#define FUNC0SUB 271
-#define UNIOPSUB 272
-#define LSTOPSUB 273
-#define PLUGEXPR 274
-#define PLUGSTMT 275
-#define LABEL 276
-#define FORMAT 277
-#define SUB 278
-#define ANONSUB 279
-#define PACKAGE 280
-#define USE 281
-#define WHILE 282
-#define UNTIL 283
-#define IF 284
-#define UNLESS 285
-#define ELSE 286
-#define ELSIF 287
-#define CONTINUE 288
-#define FOR 289
-#define GIVEN 290
-#define WHEN 291
-#define DEFAULT 292
-#define LOOPEX 293
-#define DOTDOT 294
-#define YADAYADA 295
-#define FUNC0 296
-#define FUNC1 297
-#define FUNC 298
-#define UNIOP 299
-#define LSTOP 300
-#define RELOP 301
-#define EQOP 302
-#define MULOP 303
-#define ADDOP 304
-#define DOLSHARP 305
-#define DO 306
-#define HASHBRACK 307
-#define NOAMP 308
-#define LOCAL 309
-#define MY 310
-#define MYSUB 311
+#define FUNC0OP 271
+#define FUNC0SUB 272
+#define UNIOPSUB 273
+#define LSTOPSUB 274
+#define PLUGEXPR 275
+#define PLUGSTMT 276
+#define LABEL 277
+#define FORMAT 278
+#define SUB 279
+#define ANONSUB 280
+#define PACKAGE 281
+#define USE 282
+#define WHILE 283
+#define UNTIL 284
+#define IF 285
+#define UNLESS 286
+#define ELSE 287
+#define ELSIF 288
+#define CONTINUE 289
+#define FOR 290
+#define GIVEN 291
+#define WHEN 292
+#define DEFAULT 293
+#define LOOPEX 294
+#define DOTDOT 295
+#define YADAYADA 296
+#define FUNC0 297
+#define FUNC1 298
+#define FUNC 299
+#define UNIOP 300
+#define LSTOP 301
+#define RELOP 302
+#define EQOP 303
+#define MULOP 304
+#define ADDOP 305
+#define DOLSHARP 306
+#define DO 307
+#define HASHBRACK 308
+#define NOAMP 309
+#define LOCAL 310
+#define MY 311
 #define REQUIRE 312
 #define COLONATTR 313
-#define PREC_LOW 314
-#define DOROP 315
-#define OROP 316
-#define ANDOP 317
-#define NOTOP 318
-#define ASSIGNOP 319
-#define DORDOR 320
-#define OROR 321
-#define ANDAND 322
-#define BITOROP 323
-#define BITANDOP 324
-#define SHIFTOP 325
-#define MATCHOP 326
-#define REFGEN 327
-#define UMINUS 328
-#define POWOP 329
-#define POSTDEC 330
-#define POSTINC 331
-#define PREDEC 332
-#define PREINC 333
-#define ARROW 334
-#define PEG 335
+#define FORMLBRACK 314
+#define FORMRBRACK 315
+#define PREC_LOW 316
+#define DOROP 317
+#define OROP 318
+#define ANDOP 319
+#define NOTOP 320
+#define ASSIGNOP 321
+#define DORDOR 322
+#define OROR 323
+#define ANDAND 324
+#define BITOROP 325
+#define BITANDOP 326
+#define SHIFTOP 327
+#define MATCHOP 328
+#define REFGEN 329
+#define UMINUS 330
+#define POWOP 331
+#define POSTDEC 332
+#define POSTINC 333
+#define PREDEC 334
+#define PREINC 335
+#define ARROW 336
+#define PEG 337
 
 
-
-
+#ifdef PERL_IN_TOKE_C
+static bool
+S_is_opval_token(int type) {
+    switch (type) {
+    case FUNC0OP:
+    case FUNC0SUB:
+    case FUNCMETH:
+    case LSTOPSUB:
+    case METHOD:
+    case PLUGEXPR:
+    case PLUGSTMT:
+    case PMFUNC:
+    case PRIVATEREF:
+    case QWLIST:
+    case THING:
+    case UNIOPSUB:
+    case WORD:
+	return 1;
+    }
+    return 0;
+}
+#endif /* PERL_IN_TOKE_C */
 #endif /* PERL_CORE */
 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 typedef union YYSTYPE
 {
+/* Line 2049 of yacc.c  */
+
     I32	ival; /* __DEFAULT__ (marker for regen_perly.pl;
 				must always be 1st union member) */
     char *pval;
@@ -228,18 +260,32 @@
 #ifdef PERL_MAD
     TOKEN* tkval;
 #endif
-}
-/* Line 1489 of yacc.c.  */
-	YYSTYPE;
+
+
+/* Line 2049 of yacc.c  */
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
 # define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
 #endif
 
 
+#ifdef YYPARSE_PARAM
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void *YYPARSE_PARAM);
+#else
+int yyparse ();
+#endif
+#else /* ! YYPARSE_PARAM */
+#if defined __STDC__ || defined __cplusplus
+int yyparse (void);
+#else
+int yyparse ();
+#endif
+#endif /* ! YYPARSE_PARAM */
 
 
 /* Generated from:
- * bd41fc813e5d2d23ff7edef2ab1ef88bbb054176476b7d989db7522dce1c9328 perly.y
- * dc72db91baa0a3c17a6c95718e5ad70e9ac7b75919df1317df7fe6c3f1649239 regen_perly.pl
+ * 28c2c7738eefc00762e227af0363c729186c992e9127e0c935684cccbf3a3b4f perly.y
+ * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
  * ex: set ro: */


Property changes on: vendor/perl/dist/perly.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/perly.tab
===================================================================
--- vendor/perl/dist/perly.tab	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perly.tab	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,20 +6,20 @@
 
 #define YYFINAL  14
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   2683
+#define YYLAST   2910
 
 /* YYNTOKENS -- Number of terminals.  */
-#define YYNTOKENS  100
+#define YYNTOKENS  104
 /* YYNNTS -- Number of nonterminals.  */
-#define YYNNTS  63
+#define YYNNTS  66
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  220
+#define YYNRULES  226
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  446
+#define YYNSTATES  455
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
-#define YYMAXUTOK   335
+#define YYMAXUTOK   337
 
 #define YYTRANSLATE(YYX)						\
   ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
@@ -30,16 +30,16 @@
        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,    87,     2,     2,    15,    17,    19,     2,
-      98,    97,    18,    14,    76,    13,     2,     2,     2,     2,
-       2,     2,     2,     2,     2,     2,     2,     2,    79,    20,
-       2,     2,     2,    78,    16,     2,     2,     2,     2,     2,
+       2,     2,     2,    91,     2,     2,    15,    17,    19,     2,
+     102,   101,    18,    14,    80,    13,    22,     2,     2,     2,
+       2,     2,     2,     2,     2,     2,     2,     2,    83,    20,
+       2,    21,     2,    82,    16,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,    11,     2,    12,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
-       2,     2,     2,     9,     2,    10,    88,     2,     2,     2,
+       2,     2,     2,     9,     2,    10,    92,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
@@ -53,14 +53,14 @@
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
-       5,     6,     7,     8,    21,    22,    23,    24,    25,    26,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
-      47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
-      57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
-      67,    68,    69,    70,    71,    72,    73,    74,    75,    77,
-      80,    81,    82,    83,    84,    85,    86,    89,    90,    91,
-      92,    93,    94,    95,    96,    99
+       5,     6,     7,     8,    23,    24,    25,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
+      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
+      59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
+      69,    70,    71,    72,    73,    74,    75,    76,    77,    78,
+      79,    81,    84,    85,    86,    87,    88,    89,    90,    93,
+      94,    95,    96,    97,    98,    99,   100,   103
 };
 
 #if YYDEBUG
@@ -69,142 +69,143 @@
 static const yytype_uint16 yyprhs[] =
 {
        0,     0,     3,     4,     9,    10,    14,    15,    19,    20,
-      24,    25,    29,    30,    34,    39,    40,    41,    46,    47,
-      48,    51,    53,    55,    58,    61,    63,    65,    70,    77,
-      84,    89,    90,    98,   106,   114,   122,   129,   132,   141,
-     150,   162,   172,   181,   189,   192,   193,   202,   205,   207,
-     209,   211,   215,   219,   223,   227,   231,   235,   236,   239,
-     246,   247,   250,   251,   252,   254,   255,   257,   259,   261,
-     263,   265,   267,   268,   269,   270,   271,   273,   274,   276,
-     277,   280,   282,   285,   287,   289,   291,   295,   299,   303,
-     305,   308,   312,   314,   318,   324,   331,   335,   339,   345,
-     348,   353,   354,   360,   362,   364,   370,   375,   381,   386,
-     392,   399,   405,   410,   416,   421,   425,   432,   437,   443,
-     447,   451,   455,   459,   463,   467,   471,   475,   479,   483,
-     487,   491,   495,   499,   502,   505,   508,   511,   514,   517,
-     520,   523,   527,   530,   535,   539,   545,   548,   551,   556,
-     562,   567,   573,   575,   577,   579,   581,   587,   590,   592,
-     595,   599,   601,   604,   606,   608,   610,   612,   614,   616,
-     621,   627,   629,   631,   635,   640,   644,   646,   649,   652,
-     654,   657,   660,   662,   665,   667,   670,   672,   676,   678,
-     682,   687,   692,   694,   696,   698,   700,   704,   707,   711,
-     714,   716,   718,   720,   721,   723,   724,   726,   728,   729,
-     733,   735,   738,   741,   744,   747,   750,   753,   755,   757,
-     759
+      24,    25,    29,    30,    34,    39,    47,    48,    53,    54,
+      55,    58,    59,    62,    64,    66,    69,    72,    74,    76,
+      81,    82,    90,    95,    96,   104,   112,   120,   127,   134,
+     137,   146,   155,   167,   177,   186,   194,   197,   198,   207,
+     210,   212,   215,   216,   220,   222,   224,   228,   232,   236,
+     240,   244,   248,   249,   252,   259,   260,   263,   264,   265,
+     267,   268,   270,   272,   274,   276,   278,   280,   281,   282,
+     283,   284,   286,   288,   289,   291,   292,   295,   297,   300,
+     302,   304,   306,   310,   314,   318,   320,   323,   327,   329,
+     333,   339,   346,   350,   354,   360,   363,   368,   369,   375,
+     377,   379,   385,   390,   396,   401,   407,   414,   420,   425,
+     431,   436,   440,   447,   452,   458,   462,   466,   470,   474,
+     478,   482,   486,   490,   494,   498,   502,   506,   510,   514,
+     517,   520,   523,   526,   529,   532,   535,   538,   542,   545,
+     550,   554,   560,   563,   566,   571,   577,   582,   588,   590,
+     592,   594,   596,   602,   605,   607,   610,   614,   616,   619,
+     621,   623,   625,   627,   629,   631,   636,   642,   644,   646,
+     650,   655,   659,   661,   664,   667,   669,   672,   675,   677,
+     680,   682,   685,   687,   691,   693,   697,   699,   703,   708,
+     709,   715,   717,   719,   721,   723,   727,   730,   734,   737,
+     739,   741,   743,   744,   746,   747,   749,   751,   754,   757,
+     760,   763,   766,   769,   771,   773,   775
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 static const yytype_int16 yyrhs[] =
 {
-     101,     0,    -1,    -1,     3,   102,   109,   113,    -1,    -1,
-       4,   103,   152,    -1,    -1,     5,   104,   108,    -1,    -1,
-       6,   105,   116,    -1,    -1,     7,   106,   114,    -1,    -1,
-       8,   107,   113,    -1,     9,   109,   113,    10,    -1,    -1,
-      -1,     9,   112,   113,    10,    -1,    -1,    -1,   113,   114,
-      -1,   116,    -1,   115,    -1,    33,   116,    -1,    33,   115,
-      -1,    32,    -1,    99,    -1,    34,   132,   129,   108,    -1,
-      35,   130,   133,   134,   135,   137,    -1,    68,   130,   133,
-     134,   135,   137,    -1,    37,    21,    21,    20,    -1,    -1,
-      38,   130,   117,    21,    21,   151,    20,    -1,    41,   153,
-     109,   126,    97,   111,   120,    -1,    42,   153,   109,   128,
-      97,   111,   120,    -1,    47,   153,   109,   110,   126,    97,
-     111,    -1,    48,   153,   109,   126,    97,   111,    -1,    49,
-     108,    -1,    39,   153,   109,   124,    97,   122,   111,   121,
-      -1,    40,   153,   109,   125,    97,   122,   111,   121,    -1,
-      46,   153,   109,   127,    20,   124,    20,   122,   127,    97,
-     111,    -1,    46,    67,   109,   155,   153,   126,    97,   111,
-     121,    -1,    46,   157,   153,   109,   126,    97,   111,   121,
-      -1,    46,   153,   109,   126,    97,   111,   121,    -1,   108,
-     121,    -1,    -1,    37,    21,    21,     9,   109,   118,   113,
-      10,    -1,   119,    20,    -1,    20,    -1,     1,    -1,   138,
-      -1,   138,    41,   138,    -1,   138,    42,   138,    -1,   138,
-      39,   138,    -1,   138,    40,   125,    -1,   138,    46,   138,
-      -1,   138,    48,   138,    -1,    -1,    43,   111,    -1,    44,
-     153,   126,    97,   111,   120,    -1,    -1,    45,   108,    -1,
-      -1,    -1,   119,    -1,    -1,   138,    -1,   138,    -1,   138,
-      -1,   123,    -1,   125,    -1,    21,    -1,    -1,    -1,    -1,
-      -1,    21,    -1,    -1,    24,    -1,    -1,    70,    24,    -1,
-      70,    -1,    70,    24,    -1,    70,    -1,   108,    -1,    20,
-      -1,   138,    74,   138,    -1,   138,    73,   138,    -1,   138,
-      72,   138,    -1,   139,    -1,   139,    76,    -1,   139,    76,
-     148,    -1,   148,    -1,    57,   162,   139,    -1,    55,    98,
-     162,   138,    97,    -1,   148,    96,   142,   153,   152,    97,
-      -1,   148,    96,   142,    -1,    22,   162,   151,    -1,    23,
-     162,    98,   152,    97,    -1,    57,   151,    -1,    55,    98,
-     152,    97,    -1,    -1,    30,   131,   108,   141,   151,    -1,
-      22,    -1,   157,    -1,   161,     9,   138,    20,    10,    -1,
-     157,    11,   138,    12,    -1,   148,    96,    11,   138,    12,
-      -1,   143,    11,   138,    12,    -1,   157,     9,   138,    20,
-      10,    -1,   148,    96,     9,   138,    20,    10,    -1,   143,
-       9,   138,    20,    10,    -1,   148,    96,    98,    97,    -1,
-     148,    96,    98,   138,    97,    -1,   143,   153,   138,    97,
-      -1,   143,   153,    97,    -1,    98,   138,    97,    11,   138,
-      12,    -1,    27,    11,   138,    12,    -1,    98,    97,    11,
-     138,    12,    -1,   148,    77,   148,    -1,   148,    91,   148,
-      -1,   148,    60,   148,    -1,   148,    61,   148,    -1,   148,
-      85,   148,    -1,   148,    58,   148,    -1,   148,    59,   148,
-      -1,   148,    84,   148,    -1,   148,    83,   148,    -1,   148,
-      51,   148,    -1,   148,    82,   148,    -1,   148,    81,   148,
-      -1,   148,    80,   148,    -1,   148,    86,   148,    -1,    13,
-     148,    -1,    14,   148,    -1,    87,   148,    -1,    88,   148,
-      -1,   148,    93,    -1,   148,    92,    -1,    95,   148,    -1,
-      94,   148,    -1,    11,   138,    12,    -1,    11,    12,    -1,
-      64,   138,    20,    10,    -1,    64,    20,    10,    -1,    36,
-     131,   134,   135,   108,    -1,    63,   148,    -1,    63,   108,
-      -1,    63,    21,   153,    97,    -1,    63,    21,   153,   138,
-      97,    -1,    63,   157,   153,    97,    -1,    63,   157,   153,
-     138,    97,    -1,   144,    -1,   145,    -1,   146,    -1,   147,
-      -1,   148,    78,   148,    79,   148,    -1,    89,   148,    -1,
-     149,    -1,    66,   148,    -1,    98,   138,    97,    -1,    27,
-      -1,    98,    97,    -1,   157,    -1,   161,    -1,   159,    -1,
-     158,    -1,   160,    -1,   143,    -1,   158,    11,   138,    12,
-      -1,   158,     9,   138,    20,    10,    -1,    24,    -1,   156,
-      -1,   156,   153,    97,    -1,   156,   153,   138,    97,    -1,
-      65,    21,   151,    -1,    50,    -1,    50,   148,    -1,    75,
-     139,    -1,    56,    -1,    56,   108,    -1,    56,   148,    -1,
-      69,    -1,    69,   148,    -1,    29,    -1,    29,   148,    -1,
-      53,    -1,    53,    98,    97,    -1,    28,    -1,    54,    98,
-      97,    -1,    54,    98,   138,    97,    -1,    25,    98,   139,
-      97,    -1,    21,    -1,   140,    -1,    52,    -1,    31,    -1,
-      67,   150,   136,    -1,    67,   150,    -1,    98,   138,    97,
-      -1,    98,    97,    -1,   157,    -1,   159,    -1,   158,    -1,
-      -1,   139,    -1,    -1,   138,    -1,    98,    -1,    -1,    27,
-     154,    98,    -1,   157,    -1,    19,   162,    -1,    15,   162,
-      -1,    16,   162,    -1,    17,   162,    -1,    62,   162,    -1,
-      18,   162,    -1,    21,    -1,   157,    -1,   108,    -1,    26,
-      -1
+     105,     0,    -1,    -1,     3,   106,   114,   117,    -1,    -1,
+       4,   107,   161,    -1,    -1,     5,   108,   112,    -1,    -1,
+       6,   109,   121,    -1,    -1,     7,   110,   119,    -1,    -1,
+       8,   111,   117,    -1,     9,   114,   117,    10,    -1,    21,
+     114,    20,    74,   118,    20,    22,    -1,    -1,     9,   116,
+     117,    10,    -1,    -1,    -1,   117,   119,    -1,    -1,   118,
+     125,    -1,   121,    -1,   120,    -1,    36,   121,    -1,    36,
+     120,    -1,    35,    -1,   103,    -1,    37,   140,   137,   113,
+      -1,    -1,    38,   141,   138,   122,   142,   143,   145,    -1,
+      40,    23,    23,    20,    -1,    -1,    41,   138,   123,    23,
+      23,   160,    20,    -1,    44,   102,   114,   134,   101,   115,
+     128,    -1,    45,   102,   114,   136,   101,   115,   128,    -1,
+      50,   102,   114,   134,   101,   115,    -1,    51,   102,   114,
+     134,   101,   115,    -1,    52,   112,    -1,    42,   102,   114,
+     132,   101,   130,   115,   129,    -1,    43,   102,   114,   133,
+     101,   130,   115,   129,    -1,    49,   102,   114,   135,    20,
+     132,    20,   130,   135,   101,   115,    -1,    49,    70,   114,
+     162,   102,   134,   101,   115,   129,    -1,    49,   164,   102,
+     114,   134,   101,   115,   129,    -1,    49,   102,   114,   134,
+     101,   115,   129,    -1,   112,   129,    -1,    -1,    40,    23,
+      23,     9,   114,   124,   117,    10,    -1,   127,    20,    -1,
+      20,    -1,    26,   126,    -1,    -1,    73,   117,    74,    -1,
+       1,    -1,   146,    -1,   146,    44,   146,    -1,   146,    45,
+     146,    -1,   146,    42,   146,    -1,   146,    43,   133,    -1,
+     146,    49,   146,    -1,   146,    51,   146,    -1,    -1,    46,
+     115,    -1,    47,   102,   134,   101,   115,   128,    -1,    -1,
+      48,   112,    -1,    -1,    -1,   127,    -1,    -1,   146,    -1,
+     146,    -1,   146,    -1,   131,    -1,   133,    -1,    23,    -1,
+      -1,    -1,    -1,    -1,    23,    -1,    28,    -1,    -1,    26,
+      -1,    -1,    72,    26,    -1,    72,    -1,    72,    26,    -1,
+      72,    -1,   112,    -1,    20,    -1,   146,    78,   146,    -1,
+     146,    77,   146,    -1,   146,    76,   146,    -1,   147,    -1,
+     147,    80,    -1,   147,    80,   156,    -1,   156,    -1,    60,
+     169,   147,    -1,    58,   102,   169,   146,   101,    -1,   156,
+     100,   150,   102,   161,   101,    -1,   156,   100,   150,    -1,
+      24,   169,   160,    -1,    25,   169,   102,   161,   101,    -1,
+      60,   160,    -1,    58,   102,   161,   101,    -1,    -1,    33,
+     139,   112,   149,   160,    -1,    24,    -1,   164,    -1,   168,
+       9,   146,    20,    10,    -1,   164,    11,   146,    12,    -1,
+     156,   100,    11,   146,    12,    -1,   151,    11,   146,    12,
+      -1,   164,     9,   146,    20,    10,    -1,   156,   100,     9,
+     146,    20,    10,    -1,   151,     9,   146,    20,    10,    -1,
+     156,   100,   102,   101,    -1,   156,   100,   102,   146,   101,
+      -1,   151,   102,   146,   101,    -1,   151,   102,   101,    -1,
+     102,   146,   101,    11,   146,    12,    -1,    29,    11,   146,
+      12,    -1,   102,   101,    11,   146,    12,    -1,   156,    81,
+     156,    -1,   156,    95,   156,    -1,   156,    63,   156,    -1,
+     156,    64,   156,    -1,   156,    89,   156,    -1,   156,    61,
+     156,    -1,   156,    62,   156,    -1,   156,    88,   156,    -1,
+     156,    87,   156,    -1,   156,    54,   156,    -1,   156,    86,
+     156,    -1,   156,    85,   156,    -1,   156,    84,   156,    -1,
+     156,    90,   156,    -1,    13,   156,    -1,    14,   156,    -1,
+      91,   156,    -1,    92,   156,    -1,   156,    97,    -1,   156,
+      96,    -1,    99,   156,    -1,    98,   156,    -1,    11,   146,
+      12,    -1,    11,    12,    -1,    67,   146,    20,    10,    -1,
+      67,    20,    10,    -1,    39,   139,   142,   143,   112,    -1,
+      66,   156,    -1,    66,   112,    -1,    66,   141,   102,   101,
+      -1,    66,   141,   102,   146,   101,    -1,    66,   164,   102,
+     101,    -1,    66,   164,   102,   146,   101,    -1,   152,    -1,
+     153,    -1,   154,    -1,   155,    -1,   156,    82,   156,    83,
+     156,    -1,    93,   156,    -1,   158,    -1,    69,   156,    -1,
+     102,   146,   101,    -1,    29,    -1,   102,   101,    -1,   164,
+      -1,   168,    -1,   166,    -1,   165,    -1,   167,    -1,   151,
+      -1,   165,    11,   146,    12,    -1,   165,     9,   146,    20,
+      10,    -1,    26,    -1,   163,    -1,   163,   102,   101,    -1,
+     163,   102,   146,   101,    -1,    68,   141,   160,    -1,    53,
+      -1,    53,   156,    -1,    79,   147,    -1,    59,    -1,    59,
+     112,    -1,    59,   156,    -1,    71,    -1,    71,   156,    -1,
+      32,    -1,    32,   156,    -1,    56,    -1,    56,   102,   101,
+      -1,    30,    -1,    30,   102,   101,    -1,    31,    -1,    57,
+     102,   101,    -1,    57,   102,   146,   101,    -1,    -1,    27,
+     157,   102,   147,   101,    -1,    23,    -1,   148,    -1,    55,
+      -1,    34,    -1,    70,   159,   144,    -1,    70,   159,    -1,
+     102,   146,   101,    -1,   102,   101,    -1,   164,    -1,   166,
+      -1,   165,    -1,    -1,   147,    -1,    -1,   146,    -1,   164,
+      -1,    19,   169,    -1,    15,   169,    -1,    16,   169,    -1,
+      17,   169,    -1,    65,   169,    -1,    18,   169,    -1,    23,
+      -1,   164,    -1,   112,    -1,    28,    -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   142,   142,   141,   151,   150,   160,   159,   172,   171,
-     184,   183,   196,   195,   207,   217,   221,   224,   234,   239,
-     240,   249,   257,   261,   267,   275,   277,   282,   300,   321,
-     333,   349,   348,   365,   374,   383,   389,   391,   393,   403,
-     413,   434,   443,   452,   461,   468,   467,   493,   499,   509,
-     511,   513,   517,   521,   525,   529,   534,   540,   541,   547,
-     561,   562,   571,   577,   578,   583,   586,   590,   595,   599,
-     603,   607,   608,   612,   618,   623,   628,   638,   639,   644,
-     645,   649,   659,   663,   673,   674,   684,   688,   692,   696,
-     700,   710,   719,   723,   728,   735,   744,   750,   756,   764,
-     768,   775,   774,   785,   786,   790,   799,   804,   812,   819,
-     826,   836,   845,   852,   861,   868,   874,   881,   886,   896,
-     900,   904,   910,   914,   918,   922,   926,   930,   934,   946,
-     950,   954,   958,   968,   972,   979,   983,   987,   992,   997,
-    1002,  1011,  1016,  1021,  1027,  1033,  1044,  1048,  1052,  1064,
-    1077,  1085,  1097,  1098,  1099,  1100,  1101,  1106,  1110,  1112,
-    1116,  1121,  1123,  1128,  1130,  1132,  1134,  1136,  1138,  1140,
-    1149,  1160,  1162,  1164,  1169,  1182,  1187,  1192,  1196,  1200,
-    1204,  1208,  1212,  1216,  1220,  1222,  1225,  1229,  1235,  1238,
-    1247,  1253,  1258,  1259,  1260,  1266,  1270,  1278,  1285,  1290,
-    1295,  1297,  1299,  1304,  1306,  1311,  1312,  1316,  1319,  1318,
-    1326,  1330,  1336,  1342,  1348,  1354,  1360,  1367,  1369,  1371,
-    1374
+       0,   141,   141,   140,   150,   149,   159,   158,   171,   170,
+     183,   182,   195,   194,   206,   216,   226,   229,   239,   244,
+     245,   255,   256,   265,   273,   277,   285,   295,   297,   302,
+     320,   319,   369,   385,   384,   401,   410,   419,   430,   432,
+     434,   444,   454,   475,   484,   493,   502,   509,   508,   525,
+     531,   541,   565,   566,   571,   573,   575,   579,   583,   587,
+     591,   596,   602,   603,   609,   623,   624,   633,   639,   640,
+     645,   648,   652,   657,   661,   665,   669,   670,   674,   680,
+     685,   690,   691,   696,   697,   702,   703,   707,   717,   721,
+     731,   732,   742,   746,   750,   754,   758,   768,   777,   781,
+     786,   793,   802,   808,   814,   822,   826,   833,   832,   843,
+     844,   848,   857,   862,   870,   877,   884,   894,   903,   910,
+     919,   926,   932,   939,   944,   954,   958,   962,   968,   972,
+     976,   980,   984,   988,   992,  1004,  1008,  1012,  1016,  1026,
+    1030,  1037,  1041,  1045,  1050,  1055,  1060,  1069,  1074,  1079,
+    1085,  1091,  1102,  1106,  1110,  1122,  1135,  1143,  1155,  1156,
+    1157,  1158,  1159,  1164,  1168,  1170,  1174,  1179,  1181,  1186,
+    1188,  1190,  1192,  1194,  1196,  1198,  1207,  1218,  1220,  1222,
+    1227,  1240,  1245,  1250,  1254,  1258,  1262,  1266,  1270,  1274,
+    1278,  1280,  1283,  1287,  1293,  1295,  1300,  1303,  1312,  1319,
+    1318,  1334,  1335,  1336,  1342,  1346,  1354,  1361,  1366,  1371,
+    1373,  1375,  1380,  1382,  1387,  1388,  1394,  1398,  1404,  1410,
+    1416,  1422,  1428,  1435,  1437,  1439,  1442
 };
 #endif
 
-#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
+#if YYDEBUG || YYERROR_VERBOSE || 0
 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 static const char *const yytname[] =
@@ -211,28 +212,29 @@
 {
   "$end", "error", "$undefined", "GRAMPROG", "GRAMEXPR", "GRAMBLOCK",
   "GRAMBARESTMT", "GRAMFULLSTMT", "GRAMSTMTSEQ", "'{'", "'}'", "'['",
-  "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'", "'&'", "';'", "WORD",
-  "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF", "QWLIST",
-  "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR", "PLUGSTMT", "LABEL",
-  "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE", "WHILE", "UNTIL", "IF",
-  "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR", "GIVEN", "WHEN", "DEFAULT",
-  "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0", "FUNC1", "FUNC", "UNIOP",
-  "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP", "DOLSHARP", "DO",
-  "HASHBRACK", "NOAMP", "LOCAL", "MY", "MYSUB", "REQUIRE", "COLONATTR",
-  "PREC_LOW", "DOROP", "OROP", "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'",
-  "':'", "DORDOR", "OROR", "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP",
-  "MATCHOP", "'!'", "'~'", "REFGEN", "UMINUS", "POWOP", "POSTDEC",
-  "POSTINC", "PREDEC", "PREINC", "ARROW", "')'", "'('", "PEG", "$accept",
-  "grammar", "@1", "@2", "@3", "@4", "@5", "@6", "block", "remember",
-  "mydefsv", "mblock", "mremember", "stmtseq", "fullstmt", "labfullstmt",
-  "barestmt", "@7", "@8", "sideff", "else", "cont", "mintro", "nexpr",
-  "texpr", "iexpr", "mexpr", "mnexpr", "miexpr", "formname", "startsub",
-  "startanonsub", "startformsub", "subname", "proto", "subattrlist",
-  "myattrlist", "subbody", "expr", "listexpr", "listop", "@9", "method",
-  "subscripted", "termbinop", "termunop", "anonymous", "termdo", "term",
-  "myattrterm", "myterm", "optlistexpr", "optexpr", "lpar_or_qw", "@10",
-  "my_scalar", "amper", "scalar", "ary", "hsh", "arylen", "star",
-  "indirob", 0
+  "']'", "'-'", "'+'", "'$'", "'@'", "'%'", "'*'", "'&'", "';'", "'='",
+  "'.'", "WORD", "METHOD", "FUNCMETH", "THING", "PMFUNC", "PRIVATEREF",
+  "QWLIST", "FUNC0OP", "FUNC0SUB", "UNIOPSUB", "LSTOPSUB", "PLUGEXPR",
+  "PLUGSTMT", "LABEL", "FORMAT", "SUB", "ANONSUB", "PACKAGE", "USE",
+  "WHILE", "UNTIL", "IF", "UNLESS", "ELSE", "ELSIF", "CONTINUE", "FOR",
+  "GIVEN", "WHEN", "DEFAULT", "LOOPEX", "DOTDOT", "YADAYADA", "FUNC0",
+  "FUNC1", "FUNC", "UNIOP", "LSTOP", "RELOP", "EQOP", "MULOP", "ADDOP",
+  "DOLSHARP", "DO", "HASHBRACK", "NOAMP", "LOCAL", "MY", "REQUIRE",
+  "COLONATTR", "FORMLBRACK", "FORMRBRACK", "PREC_LOW", "DOROP", "OROP",
+  "ANDOP", "NOTOP", "','", "ASSIGNOP", "'?'", "':'", "DORDOR", "OROR",
+  "ANDAND", "BITOROP", "BITANDOP", "SHIFTOP", "MATCHOP", "'!'", "'~'",
+  "REFGEN", "UMINUS", "POWOP", "POSTDEC", "POSTINC", "PREDEC", "PREINC",
+  "ARROW", "')'", "'('", "PEG", "$accept", "grammar", "$@1", "$@2", "$@3",
+  "$@4", "$@5", "$@6", "block", "formblock", "remember", "mblock",
+  "mremember", "stmtseq", "formstmtseq", "fullstmt", "labfullstmt",
+  "barestmt", "$@7", "$@8", "$@9", "formline", "formarg", "sideff", "else",
+  "cont", "mintro", "nexpr", "texpr", "iexpr", "mexpr", "mnexpr", "miexpr",
+  "formname", "startsub", "startanonsub", "startformsub", "subname",
+  "proto", "subattrlist", "myattrlist", "subbody", "expr", "listexpr",
+  "listop", "@10", "method", "subscripted", "termbinop", "termunop",
+  "anonymous", "termdo", "term", "@11", "myattrterm", "myterm",
+  "optlistexpr", "optexpr", "my_scalar", "amper", "scalar", "ary", "hsh",
+  "arylen", "star", "indirob", YY_NULL
 };
 #endif
 
@@ -243,14 +245,15 @@
 {
        0,   256,   257,   258,   259,   260,   261,   262,   263,   123,
      125,    91,    93,    45,    43,    36,    64,    37,    42,    38,
-      59,   264,   265,   266,   267,   268,   269,   270,   271,   272,
-     273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
-     283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
-     293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
-     303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
-     313,   314,   315,   316,   317,   318,    44,   319,    63,    58,
-     320,   321,   322,   323,   324,   325,   326,    33,   126,   327,
-     328,   329,   330,   331,   332,   333,   334,    41,    40,   335
+      59,    61,    46,   264,   265,   266,   267,   268,   269,   270,
+     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
+     281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
+     291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
+     301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
+     311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
+      44,   321,    63,    58,   322,   323,   324,   325,   326,   327,
+     328,    33,   126,   329,   330,   331,   332,   333,   334,   335,
+     336,    41,    40,   337
 };
 # endif
 
@@ -257,29 +260,29 @@
 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 static const yytype_uint8 yyr1[] =
 {
-       0,   100,   102,   101,   103,   101,   104,   101,   105,   101,
-     106,   101,   107,   101,   108,   109,   110,   111,   112,   113,
-     113,   114,   114,   115,   115,   116,   116,   116,   116,   116,
-     116,   117,   116,   116,   116,   116,   116,   116,   116,   116,
-     116,   116,   116,   116,   116,   118,   116,   116,   116,   119,
-     119,   119,   119,   119,   119,   119,   119,   120,   120,   120,
-     121,   121,   122,   123,   123,   124,   124,   125,   126,   127,
-     128,   129,   129,   130,   131,   132,   133,   134,   134,   135,
-     135,   135,   136,   136,   137,   137,   138,   138,   138,   138,
-     139,   139,   139,   140,   140,   140,   140,   140,   140,   140,
-     140,   141,   140,   142,   142,   143,   143,   143,   143,   143,
-     143,   143,   143,   143,   143,   143,   143,   143,   143,   144,
-     144,   144,   144,   144,   144,   144,   144,   144,   144,   144,
-     144,   144,   144,   145,   145,   145,   145,   145,   145,   145,
-     145,   146,   146,   146,   146,   146,   147,   147,   147,   147,
-     147,   147,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   148,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   148,   148,   148,   148,   148,   149,   149,   150,   150,
-     150,   150,   150,   151,   151,   152,   152,   153,   154,   153,
-     155,   156,   157,   158,   159,   160,   161,   162,   162,   162,
-     162
+       0,   104,   106,   105,   107,   105,   108,   105,   109,   105,
+     110,   105,   111,   105,   112,   113,   114,   115,   116,   117,
+     117,   118,   118,   119,   119,   120,   120,   121,   121,   121,
+     122,   121,   121,   123,   121,   121,   121,   121,   121,   121,
+     121,   121,   121,   121,   121,   121,   121,   124,   121,   121,
+     121,   125,   126,   126,   127,   127,   127,   127,   127,   127,
+     127,   127,   128,   128,   128,   129,   129,   130,   131,   131,
+     132,   132,   133,   134,   135,   136,   137,   137,   138,   139,
+     140,   141,   141,   142,   142,   143,   143,   143,   144,   144,
+     145,   145,   146,   146,   146,   146,   147,   147,   147,   148,
+     148,   148,   148,   148,   148,   148,   148,   149,   148,   150,
+     150,   151,   151,   151,   151,   151,   151,   151,   151,   151,
+     151,   151,   151,   151,   151,   152,   152,   152,   152,   152,
+     152,   152,   152,   152,   152,   152,   152,   152,   152,   153,
+     153,   153,   153,   153,   153,   153,   153,   154,   154,   154,
+     154,   154,   155,   155,   155,   155,   155,   155,   156,   156,
+     156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
+     156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
+     156,   156,   156,   156,   156,   156,   156,   156,   156,   156,
+     156,   156,   156,   156,   156,   156,   156,   156,   156,   157,
+     156,   156,   156,   156,   156,   158,   158,   159,   159,   159,
+     159,   159,   160,   160,   161,   161,   162,   163,   164,   165,
+     166,   167,   168,   169,   169,   169,   169
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
@@ -286,707 +289,760 @@
 static const yytype_uint8 yyr2[] =
 {
        0,     2,     0,     4,     0,     3,     0,     3,     0,     3,
-       0,     3,     0,     3,     4,     0,     0,     4,     0,     0,
-       2,     1,     1,     2,     2,     1,     1,     4,     6,     6,
-       4,     0,     7,     7,     7,     7,     6,     2,     8,     8,
-      11,     9,     8,     7,     2,     0,     8,     2,     1,     1,
-       1,     3,     3,     3,     3,     3,     3,     0,     2,     6,
-       0,     2,     0,     0,     1,     0,     1,     1,     1,     1,
-       1,     1,     0,     0,     0,     0,     1,     0,     1,     0,
-       2,     1,     2,     1,     1,     1,     3,     3,     3,     1,
-       2,     3,     1,     3,     5,     6,     3,     3,     5,     2,
-       4,     0,     5,     1,     1,     5,     4,     5,     4,     5,
-       6,     5,     4,     5,     4,     3,     6,     4,     5,     3,
-       3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     3,     2,     2,     2,     2,     2,     2,     2,
-       2,     3,     2,     4,     3,     5,     2,     2,     4,     5,
-       4,     5,     1,     1,     1,     1,     5,     2,     1,     2,
-       3,     1,     2,     1,     1,     1,     1,     1,     1,     4,
-       5,     1,     1,     3,     4,     3,     1,     2,     2,     1,
-       2,     2,     1,     2,     1,     2,     1,     3,     1,     3,
-       4,     4,     1,     1,     1,     1,     3,     2,     3,     2,
-       1,     1,     1,     0,     1,     0,     1,     1,     0,     3,
-       1,     2,     2,     2,     2,     2,     2,     1,     1,     1,
-       1
+       0,     3,     0,     3,     4,     7,     0,     4,     0,     0,
+       2,     0,     2,     1,     1,     2,     2,     1,     1,     4,
+       0,     7,     4,     0,     7,     7,     7,     6,     6,     2,
+       8,     8,    11,     9,     8,     7,     2,     0,     8,     2,
+       1,     2,     0,     3,     1,     1,     3,     3,     3,     3,
+       3,     3,     0,     2,     6,     0,     2,     0,     0,     1,
+       0,     1,     1,     1,     1,     1,     1,     0,     0,     0,
+       0,     1,     1,     0,     1,     0,     2,     1,     2,     1,
+       1,     1,     3,     3,     3,     1,     2,     3,     1,     3,
+       5,     6,     3,     3,     5,     2,     4,     0,     5,     1,
+       1,     5,     4,     5,     4,     5,     6,     5,     4,     5,
+       4,     3,     6,     4,     5,     3,     3,     3,     3,     3,
+       3,     3,     3,     3,     3,     3,     3,     3,     3,     2,
+       2,     2,     2,     2,     2,     2,     2,     3,     2,     4,
+       3,     5,     2,     2,     4,     5,     4,     5,     1,     1,
+       1,     1,     5,     2,     1,     2,     3,     1,     2,     1,
+       1,     1,     1,     1,     1,     4,     5,     1,     1,     3,
+       4,     3,     1,     2,     2,     1,     2,     2,     1,     2,
+       1,     2,     1,     3,     1,     3,     1,     3,     4,     0,
+       5,     1,     1,     1,     1,     3,     2,     3,     2,     1,
+       1,     1,     0,     1,     0,     1,     1,     2,     2,     2,
+       2,     2,     2,     1,     1,     1,     1
 };
 
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
-   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+   Performed when YYTABLE doesn't specify something else to do.  Zero
    means the default is an error.  */
 static const yytype_uint8 yydefact[] =
 {
-       0,     2,     4,     6,     8,    10,    12,     0,    15,   205,
+       0,     2,     4,     6,     8,    10,    12,     0,    16,   214,
        0,     0,     0,    19,     1,    19,     0,     0,     0,     0,
-       0,     0,     0,     0,   192,     0,     0,   171,     0,   161,
-     188,   184,    74,   195,    74,   176,   194,   186,     0,     0,
-     179,   203,     0,     0,     0,     0,     0,     0,   182,     0,
-       0,     0,     0,     0,     0,     0,   206,    89,   193,   168,
-     152,   153,   154,   155,    92,   158,     5,   172,   163,   166,
-     165,   167,   164,    15,     7,    49,    48,    25,    75,    73,
-       0,    73,     0,     0,     0,     0,     0,     0,     0,     0,
-      73,    26,    60,     9,     0,    50,     0,    11,    22,    21,
-       0,     0,   142,     0,   133,   134,   217,   220,   219,   218,
-     212,   213,   214,   216,   211,   203,     0,     0,     0,   185,
-       0,    77,   177,     0,     0,   205,   180,   181,   217,   204,
-      99,   218,     0,   215,   192,   147,   146,   163,     0,     0,
-     203,   159,     0,   197,   200,   202,   201,   183,   178,   135,
-     136,   157,   140,   139,   162,     0,     0,     0,     0,    90,
-       0,     0,   208,   207,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,   201,     0,     0,   177,   199,   167,
+     194,   196,   190,    79,   204,    79,   182,   203,   192,     0,
+       0,   185,   212,     0,     0,     0,     0,     0,     0,   188,
+       0,     0,     0,     0,     0,     0,     0,   215,    95,   202,
+     174,   158,   159,   160,   161,    98,   164,     5,   178,   169,
+     172,   171,   173,   170,    16,     7,    54,    50,    27,    80,
+       0,     0,    78,     0,     0,     0,     0,     0,     0,     0,
+       0,    28,    65,     9,     0,    55,     0,    11,    24,    23,
+       0,     0,   148,     0,   139,   140,   223,   226,   225,   224,
+     218,   219,   220,   222,   217,   212,     0,     0,     0,     0,
+     191,     0,    83,   183,     0,     0,   214,   186,   187,   223,
+     213,   105,   224,     0,   221,   201,    82,   153,     0,   152,
+     169,     0,     0,    81,   212,   165,     0,   206,   209,   211,
+     210,   189,   184,   141,   142,   163,   146,   145,   168,     0,
+       0,     0,     0,    96,     0,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-     138,   137,     0,     0,     0,     0,     0,     0,     0,    19,
-      72,     0,     0,    31,    15,    15,    15,    15,    15,    15,
-       0,    15,    15,    37,     0,     0,    44,    47,     0,     0,
-       0,     0,     0,     0,    24,    23,    20,   141,    97,   205,
-       0,     0,   101,    78,    79,   187,   189,     0,     0,     0,
-      93,     0,     0,   144,     0,   175,   199,     0,    83,   196,
-       0,   160,    88,    87,    86,    91,     0,     0,     0,   115,
-       0,   128,   124,   125,   121,   122,   119,     0,   131,   130,
-     129,   127,   126,   123,   132,   120,     0,     0,   103,     0,
-      96,   104,   173,     0,     0,     0,     0,     0,     0,     0,
-      71,     0,    76,    77,     0,     0,    65,     0,     0,     0,
-       0,     0,    15,    16,     0,    77,    61,    53,    54,    67,
-      51,    52,    55,    56,     0,   191,   117,   203,    81,     0,
-     190,   100,     0,   148,     0,   150,     0,   143,   198,    82,
-       0,     0,     0,   108,   209,   114,     0,     0,     0,   112,
-       0,   205,   174,     0,   106,     0,   169,     0,    14,    27,
-      79,    15,    30,     0,     0,    66,     0,     0,    68,    70,
-       0,     0,   210,    64,    69,     0,     0,    50,     0,     0,
-       0,    79,    98,   102,    80,   145,    94,   149,   151,   118,
-       0,   111,   156,     0,   107,   113,     0,   109,   170,   105,
-       0,    45,   203,    62,    62,     0,     0,     0,     0,    65,
-       0,     0,     0,     0,   116,   110,    95,    85,    84,    28,
-      19,     0,     0,     0,    18,    57,    57,     0,    60,     0,
-       0,     0,    36,    29,     0,    32,    60,    60,    19,     0,
-       0,    33,    34,     0,    43,    62,    60,    35,    46,    38,
-      39,     0,    58,     0,    60,     0,    42,    17,     0,    41,
-       0,     0,     0,    57,    40,    59
+       0,     0,   144,   143,     0,     0,     0,     0,     0,     0,
+       0,    19,    77,    78,     0,    33,    16,    16,    16,    16,
+      16,    16,     0,    16,    16,    39,     0,    46,    49,     0,
+       0,     0,     0,     0,     0,    26,    25,    20,   147,   103,
+     214,     0,     0,   195,   107,    84,    85,   193,   197,     0,
+       0,     0,    99,     0,     0,   150,     0,   181,   208,     0,
+      89,   205,     0,   166,    94,    93,    92,    97,     0,     0,
+     121,     0,   134,   130,   131,   127,   128,   125,     0,   137,
+     136,   135,   133,   132,   129,   138,   126,     0,     0,   109,
+       0,   102,   110,   179,     0,     0,     0,     0,     0,     0,
+       0,    76,     0,    30,     0,     0,    70,     0,     0,     0,
+       0,     0,    16,     0,     0,    66,    58,    59,    72,    56,
+      57,    60,    61,     0,     0,   123,   212,    87,     0,   198,
+     106,     0,   154,     0,   156,     0,   149,   207,    88,     0,
+       0,     0,   114,   120,     0,     0,     0,   118,     0,   214,
+     180,     0,   112,     0,   175,     0,    14,    16,    29,    83,
+      16,    32,     0,     0,    71,     0,     0,    73,    75,     0,
+       0,   216,    69,    74,     0,     0,    55,     0,     0,     0,
+     104,   200,   108,    86,   151,   100,   155,   157,   124,     0,
+     117,   162,     0,   113,   119,     0,   115,   176,   111,     0,
+      85,    47,   212,    67,    67,     0,     0,     0,     0,    70,
+       0,     0,     0,   122,   116,   101,     0,     0,    19,     0,
+       0,     0,    18,    62,    62,     0,    65,     0,     0,    37,
+      38,    21,    91,    90,    31,     0,    34,    65,    65,    19,
+       0,     0,    35,    36,     0,    45,    67,    65,     0,    48,
+      40,    41,     0,    63,     0,    65,     0,    44,     0,    52,
+      22,    17,     0,    43,     0,    15,    19,    51,     0,     0,
+       0,    62,    42,    53,    64
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     7,     8,     9,    10,    11,    12,    13,   108,    15,
-     359,   405,   418,   100,   216,    98,    99,   285,   400,    94,
-     421,   206,   402,   354,   344,   298,   347,   356,   350,   281,
-     191,   120,   190,   283,   224,   309,   239,   399,    95,    57,
-      58,   307,   270,    59,    60,    61,    62,    63,    64,    65,
-     143,   130,    66,   164,   248,   351,    67,    68,    69,    70,
-      71,    72,   110
+      -1,     7,     8,     9,    10,    11,    12,    13,   108,   338,
+      15,   403,   419,   100,   428,   217,    98,    99,   339,   285,
+     398,   440,   447,    94,   422,   207,   400,   353,   343,   297,
+     346,   355,   349,   282,   195,   121,   192,   138,   226,   308,
+     241,   414,    95,    58,    59,   306,   271,    60,    61,    62,
+      63,    64,    65,   117,    66,   147,   131,    67,   350,    68,
+      69,    70,    71,    72,    73,   110
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -374
+#define YYPACT_NINF -391
 static const yytype_int16 yypact[] =
 {
-     767,  -374,  -374,  -374,  -374,  -374,  -374,    43,  -374,  2422,
-      38,   967,   876,  -374,  -374,  -374,  1546,  2422,  2422,   667,
-     667,   667,   667,   667,  -374,   667,   667,  -374,   -25,    85,
-    -374,  2422,  -374,  -374,  -374,  2422,  -374,     3,     6,    16,
-    1370,   310,   667,  1458,  1632,    97,  2422,    68,  2422,  2422,
-    2422,  2422,  2422,  2422,  2422,  1718,   160,    45,  -374,    28,
-    -374,  -374,  -374,  -374,  2509,  -374,  -374,   -12,    42,    56,
-    -374,  -374,   110,  -374,  -374,  -374,  -374,  -374,  -374,  -374,
-     115,  -374,   -12,   -12,   -12,   -12,     9,   -12,   -12,    38,
-    -374,  -374,   101,  -374,   130,  1630,   876,  -374,  -374,  -374,
-     421,   512,  -374,    87,   335,   335,  -374,  -374,  -374,  -374,
-    -374,  -374,  -374,  -374,  -374,  2422,    65,  2422,  2422,   327,
-      38,   141,  2509,    71,  1806,   310,  -374,   327,  1281,    45,
-    -374,  1206,  2422,  -374,   -12,  -374,   327,    55,   163,   123,
-    2422,   327,  1894,   111,  -374,  -374,  -374,   327,    45,   335,
-     335,   335,   224,   224,   177,   118,  2422,  2422,  2422,  2422,
-    2422,  2422,  -374,  -374,  1982,  2422,  2422,  2422,  2422,  2422,
-    2422,  2422,  2422,  2422,  2422,  2422,  2422,  2422,  2422,  2422,
-    -374,  -374,    59,  2070,  2422,  2422,  2422,  2422,  2422,  -374,
-     172,   185,   192,  -374,  -374,  -374,  -374,  -374,  -374,  -374,
-     -12,  -374,  -374,  -374,   185,    38,  -374,  -374,  2422,  2422,
-    2422,  2422,  2422,  2422,  -374,  -374,  -374,  -374,  -374,  2422,
-     -72,    98,  -374,  -374,   142,  -374,  -374,   271,   122,  2422,
-      45,  2158,  2246,  -374,   211,  -374,  -374,   328,   206,  -374,
-    2422,   227,   188,   188,  -374,  2509,   167,   112,   161,  -374,
-     407,  2587,  1531,   298,   409,   212,  2509,  2470,  1177,  1177,
-    1252,  1356,  1443,  1044,   335,   335,  2422,  2422,  -374,  2334,
-     -12,  -374,  -374,   420,   191,   144,   217,   152,   241,   603,
-    -374,    38,  -374,   141,   149,   245,  2422,  2422,  2422,  2422,
-     256,  1056,  -374,  -374,  2422,   141,  -374,   160,  -374,   160,
-     160,   160,   160,   160,   190,  -374,  -374,  2422,   264,    38,
-    -374,  -374,   425,  -374,   498,  -374,   511,  -374,  -374,  -374,
-     155,  2422,   283,  -374,  -374,  -374,  2422,   279,   196,  -374,
-     518,  2422,  -374,   284,  -374,   285,  -374,   286,  -374,  -374,
-     142,  -374,  -374,   281,   209,   160,   210,   233,   160,  -374,
-     250,   -12,  -374,  -374,  -374,   251,   289,  1055,  2422,  2422,
-     257,   142,  -374,  -374,  -374,  -374,  -374,  -374,  -374,  -374,
-     202,  -374,  2548,   351,  -374,  -374,   272,  -374,  -374,  -374,
-     174,  -374,  2422,  -374,  -374,   361,   361,  2422,   361,  2422,
-     274,   295,   361,   174,  -374,  -374,  -374,  -374,  -374,  -374,
-    -374,   366,   361,   361,  -374,    44,    44,   299,   101,   386,
-     361,   361,  -374,  -374,   694,  -374,   101,   101,  -374,   361,
-     -12,  -374,  -374,   361,  -374,  -374,   101,  -374,  -374,  -374,
-    -374,   785,  -374,  2422,   101,  1145,  -374,  -374,   312,  -374,
-     313,   361,   361,    44,  -374,  -374
+     594,  -391,  -391,  -391,  -391,  -391,  -391,    43,  -391,  2708,
+      17,  1095,  1000,  -391,  -391,  -391,  1792,  2708,  2708,   215,
+     215,   215,   215,   215,  -391,   215,   215,  -391,  -391,    28,
+     -17,  -391,  2708,  -391,  -391,  -391,  2708,  -391,    20,    25,
+      44,  1700,  1516,   215,  1608,  1882,    72,  2708,     3,  2708,
+    2708,  2708,  2708,  2708,  2708,  2708,  1972,    62,    38,  -391,
+       6,  -391,  -391,  -391,  -391,  2770,  -391,  -391,    49,    98,
+     143,  -391,  -391,   110,  -391,  -391,  -391,  -391,  -391,  -391,
+      72,   146,  -391,    86,   109,   114,   119,    -6,   120,   121,
+      17,  -391,   177,  -391,   220,  1698,  1000,  -391,  -391,  -391,
+     430,   525,  -391,    26,   408,   408,  -391,  -391,  -391,  -391,
+    -391,  -391,  -391,  -391,  -391,  2708,   139,   155,  2708,   144,
+     314,    17,   147,  2770,   157,  2064,  1516,  -391,   314,  1423,
+      38,  -391,  1344,  2708,  -391,   162,  -391,  -391,   167,   314,
+      21,   270,    16,  -391,  2708,   314,  2156,   218,  -391,  -391,
+    -391,   314,    38,   408,   408,   408,   -27,   -27,   276,   -29,
+    2708,  2708,  2708,  2708,  2708,  2708,  2248,  2708,  2708,  2708,
+    2708,  2708,  2708,  2708,  2708,  2708,  2708,  2708,  2708,  2708,
+    2708,  2708,  -391,  -391,    73,  2340,  2708,  2708,  2708,  2708,
+    2708,  -391,   271,  -391,   272,  -391,  -391,  -391,  -391,  -391,
+    -391,  -391,   212,  -391,  -391,  -391,    17,  -391,  -391,  2708,
+    2708,  2708,  2708,  2708,  2708,  -391,  -391,  -391,  -391,  -391,
+    2708,  2708,    48,  -391,  -391,  -391,   228,  -391,  -391,   113,
+     202,  2708,    38,  2432,  2524,  -391,   306,  -391,  -391,   116,
+     294,  -391,  2708,   310,   245,   245,  -391,  2770,    39,    53,
+    -391,   198,   247,  1593,   171,   417,   222,  2770,  2730,  1174,
+    1174,  1314,  1393,  1501,  1352,   408,   408,  2708,  2708,  -391,
+    2616,   224,  -391,  -391,   201,   125,    56,   142,    59,   175,
+     620,  -391,   309,  -391,    57,   304,  2708,  2708,  2708,  2708,
+     323,  1188,  -391,  2708,  2708,  -391,    62,  -391,    62,    62,
+      62,    62,    62,   240,   -38,  -391,  2708,   319,    17,  -391,
+    -391,   312,  -391,   320,  -391,   341,  -391,  -391,  -391,    66,
+    2708,   336,  -391,  -391,  2708,   178,    71,  -391,   415,  2708,
+    -391,   340,  -391,   345,  -391,   346,  -391,  -391,  -391,   147,
+    -391,  -391,   328,   258,    62,   259,   260,    62,  -391,   278,
+     279,  -391,  -391,  -391,   282,   360,   350,  2708,   284,   290,
+    -391,  -391,  -391,  -391,  -391,  -391,  -391,  -391,  -391,   100,
+    -391,  2810,   390,  -391,  -391,   301,  -391,  -391,  -391,   386,
+     228,  -391,  2708,  -391,  -391,   399,   399,  2708,   399,  2708,
+     311,   399,   399,  -391,  -391,  -391,   342,    78,  -391,   395,
+     399,   399,  -391,   153,   153,   322,   177,   400,   399,  -391,
+    -391,  -391,  -391,  -391,  -391,   715,  -391,   177,   177,  -391,
+     399,   330,  -391,  -391,   399,  -391,  -391,   177,    36,  -391,
+    -391,  -391,   810,  -391,  2708,   177,  1281,  -391,   402,   352,
+    -391,  -391,   332,  -391,   334,  -391,  -391,  -391,   399,   399,
+     905,   153,  -391,  -391,  -391
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -374,  -374,  -374,  -374,  -374,  -374,  -374,  -374,     2,   -57,
-    -374,  2104,  -374,    -7,   369,   311,    -6,  -374,  -374,  -281,
-    -372,  -116,  -373,  -374,    25,  -176,  -253,   -20,  -374,  -374,
-      -1,   383,  -374,   225,  -239,  -300,  -374,    54,    -9,   -40,
-    -374,  -374,  -374,  -374,  -374,  -374,  -374,  -374,    77,  -374,
-    -374,  -109,  -122,   -65,  -374,  -374,  -374,     7,   417,   418,
-    -374,  -374,    37
+    -391,  -391,  -391,  -391,  -391,  -391,  -391,  -391,   -10,  -391,
+     -33,   -95,  -391,   -12,  -391,   424,   356,    18,  -391,  -391,
+    -391,  -391,  -391,  -286,  -390,   -78,  -347,  -391,    69,  -115,
+    -281,     1,  -391,  -391,   283,   403,  -391,   -13,   138,   104,
+    -391,  -391,    -5,   -34,  -391,  -391,  -391,  -391,  -391,  -391,
+    -391,  -391,   195,  -391,  -391,  -391,  -109,  -119,  -391,  -391,
+       2,   446,   454,  -391,  -391,    32
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
    positive, shift that token.  If negative, reduce the rule which
-   number is the opposite.  If zero, do what YYDEFACT says.
-   If YYTABLE_NINF, syntax error.  */
-#define YYTABLE_NINF -193
+   number is the opposite.  If YYTABLE_NINF, syntax error.  */
+#define YYTABLE_NINF -202
 static const yytype_int16 yytable[] =
 {
-      56,   129,   183,   228,   159,    93,   218,   103,   101,   148,
-     353,   403,    74,    92,    92,   162,   189,   194,   195,   196,
-     197,   199,   201,   202,    19,   305,   109,   109,   109,   109,
-     109,   235,   109,   109,   422,   139,   162,   160,   355,   161,
-     380,   360,   126,    14,   340,   135,   155,    73,   131,   109,
-     137,   184,   435,   185,   144,   162,   361,   111,   112,   113,
-     114,   393,   115,   116,   184,   186,   185,   187,   266,   231,
-     267,   445,   232,   117,    19,   129,   198,   220,   132,   133,
-     193,   268,   162,    19,    20,    21,   163,   419,   420,   204,
-     215,   203,   230,   200,   104,   105,   118,   304,    92,   217,
-     129,   123,    92,    92,   124,   390,   391,   163,   119,   221,
-     306,   346,   122,   349,   125,   227,    56,   127,   140,   188,
-     136,   159,   222,   141,   323,   147,   163,   149,   150,   151,
-     152,   153,   131,   237,   407,   292,   192,   286,   287,   288,
-     289,   290,   291,   234,   293,   294,   205,   242,   243,   244,
-     207,   246,   247,   163,   353,   250,   334,   269,   341,   156,
-     157,   158,   229,   219,   336,   223,   142,   369,   225,   342,
-     156,   157,   158,   233,   273,   274,   275,   276,   277,   278,
-     438,   238,   279,    73,   156,   157,   158,   322,   240,   271,
-     156,   157,   158,   280,   397,   156,   157,   158,   363,   297,
-     299,   300,   301,   302,   303,   331,   282,   296,   374,   376,
-      56,   333,   308,   284,   394,   241,   156,   157,   158,   311,
-     312,   317,   314,   316,   156,   157,   158,   156,   157,   158,
-     319,   320,   156,   157,   158,   358,   245,   335,   321,   156,
-     157,   158,   251,   252,   253,   254,   255,   256,   257,   258,
-     259,   260,   261,   262,   263,   264,   265,   327,   328,   324,
-     330,   337,   158,   156,   157,   158,   343,   129,   156,   157,
-     158,    19,   168,   401,   156,   157,   158,   345,   299,   348,
-     299,    92,   357,   339,   381,   348,   387,   362,   364,   156,
-     157,   158,   424,   371,   377,   378,   379,   352,   178,   373,
-     429,   430,   382,   179,   180,   181,   383,   384,   182,   389,
-     436,   365,   370,   156,   157,   158,  -193,  -193,   439,    73,
-     182,    16,    56,    17,    18,    19,    20,    21,    22,    23,
-     385,   128,    25,    26,    27,    28,   107,    29,    30,    31,
-      32,    33,   129,   156,   157,   158,    34,   386,   388,   348,
-     348,   156,   157,   158,   392,   433,   166,  -193,   168,   169,
-      35,   395,    36,    37,    38,    39,    40,    41,   310,   396,
-     404,   410,    42,    43,    44,    45,    46,    47,   348,    48,
-     345,    97,   398,   177,   178,    49,   415,   168,   169,   179,
-     180,   181,   411,   414,   182,   398,   423,    50,    51,    52,
-     156,   157,   158,   372,    53,    54,   425,   214,    55,   441,
-     442,   431,   177,   178,   409,   440,    92,   121,   179,   180,
-     181,   -13,    75,   182,   348,   318,   179,   180,   181,   295,
-      73,   182,    16,    92,    17,    18,    19,    20,    21,    22,
-      23,    76,    24,    25,    26,    27,    28,   413,    29,    30,
-      31,    32,    33,    77,    96,    78,    79,    34,    80,    81,
-      82,    83,    84,    85,   145,   146,     0,    86,    87,    88,
-      89,    35,     0,    36,    37,    38,    39,    40,    41,   156,
-     157,   158,     0,    42,    43,    44,    45,    46,    47,    90,
-      48,     0,   156,   157,   158,   178,    49,   156,   157,   158,
-     179,   180,   181,     0,   325,   182,     0,     0,    50,    51,
-      52,     0,    -3,    75,     0,    53,    54,   332,     0,    55,
-      91,    73,   366,    16,     0,    17,    18,    19,    20,    21,
-      22,    23,    76,    24,    25,    26,    27,    28,     0,    29,
-      30,    31,    32,    33,    77,    96,    78,    79,    34,    80,
-      81,    82,    83,    84,    85,     0,     0,     0,    86,    87,
-      88,    89,    35,     0,    36,    37,    38,    39,    40,    41,
-     156,   157,   158,     0,    42,    43,    44,    45,    46,    47,
-      90,    48,     0,   156,   157,   158,     0,    49,     0,     0,
-     156,   157,   158,     0,     0,   367,     0,     0,     0,    50,
-      51,    52,     0,     0,    75,     0,    53,    54,   368,     0,
-      55,    91,    73,   338,    16,   375,    17,    18,    19,    20,
-      21,    22,    23,    76,    24,    25,    26,    27,    28,     0,
-      29,    30,    31,    32,    33,    77,    96,    78,    79,    34,
-      80,    81,    82,    83,    84,    85,     0,     0,     0,    86,
-      87,    88,    89,    35,     0,    36,    37,    38,    39,    40,
-      41,     0,     0,     0,     0,    42,    43,    44,    45,    46,
-      47,    90,    48,     0,     0,     0,    73,     0,    49,     0,
-       0,     0,    19,     0,     0,     0,     0,     0,   106,     0,
-      50,    51,    52,   107,     0,    75,     0,    53,    54,     0,
-       0,    55,    91,    73,   428,    16,     0,    17,    18,    19,
-      20,    21,    22,    23,    76,    24,    25,    26,    27,    28,
-       0,    29,    30,    31,    32,    33,    77,    96,    78,    79,
-      34,    80,    81,    82,    83,    84,    85,     0,     0,     0,
-      86,    87,    88,    89,    35,     0,    36,    37,    38,    39,
-      40,    41,     0,     0,     0,     0,    42,    43,    44,    45,
-      46,    47,    90,    48,     0,     0,     0,     0,     0,    49,
-       1,     2,     3,     4,     5,     6,     0,     0,     0,     0,
-       0,    50,    51,    52,     0,     0,    75,     0,    53,    54,
-       0,     0,    55,    91,    73,   437,    16,     0,    17,    18,
-      19,    20,    21,    22,    23,    76,    24,    25,    26,    27,
-      28,     0,    29,    30,    31,    32,    33,    77,    96,    78,
-      79,    34,    80,    81,    82,    83,    84,    85,     0,     0,
-       0,    86,    87,    88,    89,    35,     0,    36,    37,    38,
-      39,    40,    41,     0,     0,     0,     0,    42,    43,    44,
-      45,    46,    47,    90,    48,     0,     0,     0,     0,     0,
-      49,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    50,    51,    52,     0,     0,    75,     0,    53,
-      54,     0,     0,    55,    91,    73,     0,    16,     0,    17,
-      18,    19,    20,    21,    22,    23,    76,    24,    25,    26,
-      27,    28,     0,    29,    30,    31,    32,    33,    77,    96,
-      78,    79,    34,    80,    81,    82,    83,    84,    85,     0,
-       0,     0,    86,    87,    88,    89,    35,     0,    36,    37,
-      38,    39,    40,    41,     0,     0,     0,     0,    42,    43,
-      44,    45,    46,    47,    90,    48,     0,     0,     0,     0,
-       0,    49,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    50,    51,    52,     0,     0,    75,     0,
-      53,    54,     0,     0,    55,    91,    73,     0,    16,     0,
-      17,    18,    19,    20,    21,    22,    23,    76,    24,    25,
-      26,    27,    28,     0,    29,    30,    31,    32,    33,    77,
-       0,    78,    79,    34,    80,    81,    82,    83,    84,    85,
-       0,     0,     0,    86,    87,    88,    89,    35,     0,    36,
-      37,    38,    39,    40,    41,     0,     0,     0,     0,    42,
-      43,    44,    45,    46,    47,    90,    48,     0,     0,     0,
-       0,     0,    49,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    50,    51,    52,    75,     0,     0,
-       0,    53,    54,     0,     0,    55,    91,    16,     0,    17,
-      18,    19,    20,    21,    22,    23,   -63,    24,    25,    26,
-      27,    28,     0,    29,    30,    31,    32,    33,     0,     0,
-       0,     0,    34,     0,   208,   209,   210,   211,     0,     0,
-       0,   212,     0,   213,   168,   169,    35,     0,    36,    37,
-      38,    39,    40,    41,     0,     0,     0,     0,    42,    43,
-      44,    45,    46,    47,     0,    48,     0,   156,   157,   158,
-     178,    49,     0,     0,     0,   179,   180,   181,     0,     0,
-     182,     0,     0,    50,    51,    52,    75,     0,     0,     0,
-      53,    54,   -68,     0,    55,     0,    16,     0,    17,    18,
-      19,    20,    21,    22,    23,     0,    24,    25,    26,    27,
-      28,     0,    29,    30,    31,    32,    33,     0,     0,     0,
-       0,    34,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    35,     0,    36,    37,    38,
-      39,    40,    41,     0,     0,     0,  -163,    42,    43,    44,
-      45,    46,    47,     0,    48,   184,     0,   185,  -163,     0,
-      49,     0,     0,     0,     0,     0,  -163,     0,     0,     0,
-       0,     0,    50,    51,    52,   166,   167,   168,   169,    53,
-      54,     0,   -63,    55,     0,  -163,  -163,  -163,  -163,     0,
-       0,     0,  -163,     0,  -163,     0,     0,  -163,     0,   174,
-     175,   176,   177,   178,  -163,  -163,  -163,  -163,   179,   180,
-     181,     0,     0,   182,     0,     0,     0,     0,  -163,  -163,
-    -163,  -192,  -163,  -163,  -163,  -163,  -163,  -163,  -163,  -163,
-    -163,  -163,  -163,  -192,     0,     0,     0,  -163,  -163,  -163,
-       0,  -192,  -163,  -163,     0,     0,     0,     0,     0,     0,
-     166,   167,   168,   169,     0,     0,     0,     0,     0,     0,
-    -192,  -192,  -192,  -192,     0,     0,     0,  -192,     0,  -192,
-       0,     0,  -192,     0,     0,   175,   176,   177,   178,  -192,
-    -192,  -192,  -192,   179,   180,   181,     0,     0,   182,     0,
-       0,     0,     0,  -192,  -192,  -192,     0,  -192,  -192,  -192,
-    -192,  -192,  -192,  -192,  -192,  -192,  -192,  -192,     0,     0,
-       0,     0,  -192,  -192,  -192,     0,     0,  -192,  -192,    73,
+      75,    92,    92,   101,    57,   352,   219,   230,   130,    19,
+     354,   103,   358,   359,   423,   164,   152,   165,    19,    20,
+      21,   109,   109,   109,   109,   109,    74,   109,   109,    93,
+     186,   127,   187,   144,   137,   237,   236,   401,   218,   118,
+     142,   191,   163,    14,   132,   109,   140,   160,   161,   162,
+     148,   159,   111,   112,   113,   114,   438,   115,   116,   321,
+     305,   454,   439,   361,   200,   322,   340,   193,   332,  -202,
+    -202,   334,   243,   184,   133,   134,   390,   341,   368,   436,
+     205,   130,   267,   373,   268,   119,    92,    74,    19,   202,
+      92,    92,   160,   161,   162,   143,   201,   269,   412,   232,
+     136,   303,   160,   161,   162,   146,   405,   186,   166,   187,
+     130,   224,   393,   222,   216,   160,   161,   162,   163,   190,
+     229,    57,   124,   234,   160,   161,   162,   125,   132,   160,
+     161,   162,   160,   161,   162,   160,   161,   162,   160,   161,
+     162,   239,   160,   161,   162,   331,   126,   160,   161,   162,
+     352,   185,   188,   442,   189,   244,   245,   246,   231,   248,
+     249,   251,   333,   286,   287,   288,   289,   290,   291,   194,
+     293,   294,   345,   225,   348,   270,   160,   161,   162,   280,
+     274,   275,   276,   277,   278,   279,   272,   304,   196,   160,
+     161,   162,   160,   161,   162,   335,   295,   362,   372,   420,
+     421,   160,   161,   162,   296,   298,   299,   300,   301,   302,
+     375,   197,   104,   105,   309,    57,   198,   317,   160,   161,
+     162,   199,   203,   204,    74,   206,   311,   120,   313,   315,
+      19,   123,   168,  -202,   170,   171,   128,   319,   106,   139,
+     208,   220,   145,   107,   151,   223,   153,   154,   155,   156,
+     157,   160,   161,   162,   160,   161,   162,   221,   227,   357,
+     179,   180,   325,   326,   -81,   328,   181,   182,   183,   233,
+      92,   184,   130,   399,   160,   161,   162,   160,   161,   162,
+     235,   344,   298,   347,   298,   170,   356,   242,   347,   347,
+     240,   404,   351,   406,   281,   284,   409,   410,   364,   323,
+     307,  -202,   330,   310,   379,   417,   418,   381,   168,   169,
+     170,   171,   180,   427,   292,   369,   316,   181,   182,   183,
+     318,   320,   184,   162,    57,   433,   329,   342,   425,   435,
+     337,   174,   175,   176,   177,   178,   179,   180,    19,   430,
+     431,   360,   181,   182,   183,   363,   370,   184,   130,   437,
+     376,   382,   347,   451,   452,   377,   378,   443,   247,   383,
+     384,   385,   252,   253,   254,   255,   256,   257,   258,   259,
+     260,   261,   262,   263,   264,   265,   266,   170,   171,   386,
+     389,   387,   347,   388,   344,   391,   415,   413,   160,   161,
+     162,   392,   209,   210,   211,   212,   160,   161,   162,   213,
+     394,   214,   395,   179,   180,    92,   396,   432,   402,   181,
+     182,   183,   408,   365,   184,   416,   411,   160,   161,   162,
+     426,   366,    92,   424,   445,   446,   160,   161,   162,   347,
+     -13,    76,   434,   448,   450,   449,    97,   444,   122,    74,
+      92,    16,   367,    17,    18,    19,    20,    21,    22,    23,
+      77,   -73,   215,    24,    25,    26,    27,    28,   407,    29,
+      30,    31,    32,    33,    34,    78,    96,    79,    80,    35,
+      81,    82,    83,    84,    85,    86,   283,   380,     0,    87,
+      88,    89,    90,    36,   397,    37,    38,    39,    40,    41,
+      42,   160,   161,   162,   149,    43,    44,    45,    46,    47,
+      48,    49,   150,   181,   182,   183,     0,   180,   184,    50,
+       0,     0,   181,   182,   183,     0,   374,   184,     0,   371,
+       0,    51,    52,    53,     0,    -3,    76,     0,    54,    55,
+       0,     0,    56,    91,    74,     0,    16,     0,    17,    18,
+      19,    20,    21,    22,    23,    77,     0,     0,    24,    25,
+      26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
+      78,    96,    79,    80,    35,    81,    82,    83,    84,    85,
+      86,     0,     0,     0,    87,    88,    89,    90,    36,     0,
+      37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
+      43,    44,    45,    46,    47,    48,    49,     1,     2,     3,
+       4,     5,     6,     0,    50,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
+       0,    76,     0,    54,    55,     0,     0,    56,    91,    74,
+     336,    16,     0,    17,    18,    19,    20,    21,    22,    23,
+      77,     0,     0,    24,    25,    26,    27,    28,     0,    29,
+      30,    31,    32,    33,    34,    78,    96,    79,    80,    35,
+      81,    82,    83,    84,    85,    86,     0,     0,     0,    87,
+      88,    89,    90,    36,     0,    37,    38,    39,    40,    41,
+      42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
+      48,    49,     0,     0,     0,     0,     0,     0,     0,    50,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    51,    52,    53,     0,     0,    76,     0,    54,    55,
+       0,     0,    56,    91,    74,   429,    16,     0,    17,    18,
+      19,    20,    21,    22,    23,    77,     0,     0,    24,    25,
+      26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
+      78,    96,    79,    80,    35,    81,    82,    83,    84,    85,
+      86,     0,     0,     0,    87,    88,    89,    90,    36,     0,
+      37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
+      43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
+       0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
+       0,    76,     0,    54,    55,     0,     0,    56,    91,    74,
+     441,    16,     0,    17,    18,    19,    20,    21,    22,    23,
+      77,     0,     0,    24,    25,    26,    27,    28,     0,    29,
+      30,    31,    32,    33,    34,    78,    96,    79,    80,    35,
+      81,    82,    83,    84,    85,    86,     0,     0,     0,    87,
+      88,    89,    90,    36,     0,    37,    38,    39,    40,    41,
+      42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
+      48,    49,     0,     0,     0,     0,     0,     0,     0,    50,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    51,    52,    53,     0,     0,    76,     0,    54,    55,
+       0,     0,    56,    91,    74,     0,    16,     0,    17,    18,
+      19,    20,    21,    22,    23,    77,     0,     0,    24,    25,
+      26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
+      78,    96,    79,    80,    35,    81,    82,    83,    84,    85,
+      86,     0,     0,     0,    87,    88,    89,    90,    36,     0,
+      37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
+      43,    44,    45,    46,    47,    48,    49,     0,     0,   453,
+       0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    51,    52,    53,     0,
+       0,    76,     0,    54,    55,     0,     0,    56,    91,    74,
        0,    16,     0,    17,    18,    19,    20,    21,    22,    23,
+      77,     0,     0,    24,    25,    26,    27,    28,     0,    29,
+      30,    31,    32,    33,    34,    78,    96,    79,    80,    35,
+      81,    82,    83,    84,    85,    86,     0,     0,     0,    87,
+      88,    89,    90,    36,     0,    37,    38,    39,    40,    41,
+      42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
+      48,    49,     0,     0,     0,     0,     0,     0,     0,    50,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    51,    52,    53,     0,     0,    76,     0,    54,    55,
+       0,     0,    56,    91,    74,     0,    16,     0,    17,    18,
+      19,    20,    21,    22,    23,    77,     0,     0,    24,    25,
+      26,    27,    28,     0,    29,    30,    31,    32,    33,    34,
+      78,     0,    79,    80,    35,    81,    82,    83,    84,    85,
+      86,     0,     0,     0,    87,    88,    89,    90,    36,     0,
+      37,    38,    39,    40,    41,    42,     0,     0,     0,     0,
+      43,    44,    45,    46,    47,    48,    49,     0,     0,     0,
+       0,     0,     0,     0,    50,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,    51,    52,    53,    76,
+       0,     0,     0,    54,    55,     0,     0,    56,    91,    16,
+       0,    17,    18,    19,    20,    21,    22,    23,   -68,     0,
        0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
-      32,    33,     0,     0,     0,     0,    34,     0,     0,     0,
-       0,     0,     0,     0,   166,   167,   168,   169,     0,     0,
-      35,     0,    36,    37,    38,    39,    40,    41,     0,     0,
-       0,     0,    42,    43,    44,    45,    46,    47,     0,    48,
-     176,   177,   178,     0,     0,    49,     0,   179,   180,   181,
-       0,     0,   182,     0,     0,     0,     0,    50,    51,    52,
-       0,     0,     0,     0,    53,    54,     0,    73,    55,    16,
-       0,    17,    18,    19,    20,    21,    22,    23,     0,   134,
+      32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
+       0,     0,     0,     0,     0,   168,   169,   170,   171,     0,
+       0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
+       0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
+     176,   177,   178,   179,   180,     0,     0,    50,     0,   181,
+     182,   183,     0,     0,   184,     0,     0,     0,     0,    51,
+      52,    53,    76,     0,     0,     0,    54,    55,     0,     0,
+      56,     0,    16,     0,    17,    18,    19,    20,    21,    22,
+      23,     0,     0,     0,    24,    25,    26,    27,    28,     0,
+      29,    30,    31,    32,    33,    34,     0,     0,     0,     0,
+      35,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,    36,     0,    37,    38,    39,    40,
+      41,    42,     0,     0,  -169,     0,    43,    44,    45,    46,
+      47,    48,    49,   186,     0,   187,  -169,     0,     0,     0,
+      50,     0,     0,     0,  -169,     0,     0,     0,     0,     0,
+       0,     0,    51,    52,    53,   168,   169,   170,   171,    54,
+      55,     0,   -68,    56,     0,     0,  -169,  -169,  -169,  -169,
+       0,     0,     0,  -169,     0,  -169,     0,     0,  -169,     0,
+       0,   177,   178,   179,   180,  -169,  -169,  -169,  -169,   181,
+     182,   183,     0,     0,   184,   170,   171,     0,     0,     0,
+    -169,  -169,  -169,  -201,  -169,  -169,  -169,  -169,  -169,  -169,
+    -169,  -169,  -169,  -169,  -169,  -201,     0,     0,     0,  -169,
+    -169,  -169,   180,  -201,  -169,  -169,     0,   181,   182,   183,
+       0,     0,   184,     0,   168,   169,   170,   171,     0,     0,
+       0,     0,     0,     0,     0,  -201,  -201,  -201,  -201,     0,
+       0,     0,  -201,     0,  -201,     0,     0,  -201,     0,     0,
+       0,   178,   179,   180,  -201,  -201,  -201,  -201,   181,   182,
+     183,     0,     0,   184,     0,     0,     0,     0,     0,  -201,
+    -201,  -201,     0,  -201,  -201,  -201,  -201,  -201,  -201,  -201,
+    -201,  -201,  -201,  -201,     0,     0,     0,     0,  -201,  -201,
+    -201,     0,     0,  -201,  -201,    74,     0,    16,     0,    17,
+      18,    19,    20,    21,    22,    23,     0,     0,     0,   129,
+      25,    26,    27,    28,   107,    29,    30,    31,    32,    33,
+      34,     0,     0,     0,     0,    35,     0,     0,     0,     0,
+       0,     0,   168,   169,   170,   171,     0,     0,     0,    36,
+       0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
+       0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
+     179,   180,     0,     0,     0,    50,   181,   182,   183,     0,
+       0,   184,     0,     0,     0,     0,     0,    51,    52,    53,
+       0,     0,     0,     0,    54,    55,     0,    74,    56,    16,
+       0,    17,    18,    19,    20,    21,    22,    23,     0,     0,
+       0,   135,    25,    26,    27,    28,   136,    29,    30,    31,
+      32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
+       0,     0,     0,     0,  -202,     0,   170,   171,     0,     0,
+       0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
+       0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
+       0,     0,   179,   180,     0,     0,     0,    50,   181,   182,
+     183,     0,     0,   184,     0,     0,     0,     0,     0,    51,
+      52,    53,     0,     0,     0,     0,    54,    55,     0,    74,
+      56,    16,     0,    17,    18,    19,    20,    21,    22,    23,
+       0,     0,     0,    24,    25,    26,    27,    28,     0,    29,
+      30,    31,    32,    33,    34,     0,     0,     0,     0,    35,
+     209,   210,   211,   212,     0,     0,     0,   213,     0,   214,
+       0,     0,     0,    36,     0,    37,    38,    39,    40,    41,
+      42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
+      48,    49,     0,     0,   160,   161,   162,     0,     0,    50,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,    51,    52,    53,     0,     0,     0,     0,    54,    55,
+       0,     0,    56,    16,   102,    17,    18,    19,    20,    21,
+      22,    23,     0,     0,     0,    24,    25,    26,    27,    28,
+       0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
+       0,    35,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    36,     0,    37,    38,    39,
+      40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
+      46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
+       0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    51,    52,    53,     0,     0,     0,     0,
+      54,    55,     0,    16,    56,    17,    18,    19,    20,    21,
+      22,    23,   141,     0,     0,    24,    25,    26,    27,    28,
+       0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
+       0,    35,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    36,     0,    37,    38,    39,
+      40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
+      46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
+       0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    51,    52,    53,     0,     0,     0,     0,
+      54,    55,     0,    16,    56,    17,    18,    19,    20,    21,
+      22,    23,     0,     0,     0,    24,    25,    26,    27,    28,
+       0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
+       0,    35,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    36,     0,    37,    38,    39,
+      40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
+      46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
+       0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    51,    52,    53,     0,     0,     0,     0,
+      54,    55,     0,   158,    56,    16,     0,    17,    18,    19,
+      20,    21,    22,    23,     0,     0,     0,    24,    25,    26,
+      27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
+       0,     0,     0,    35,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
+      38,    39,    40,    41,    42,     0,     0,     0,     0,    43,
+      44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
+       0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    51,    52,    53,     0,     0,
+       0,     0,    54,    55,     0,   228,    56,    16,     0,    17,
+      18,    19,    20,    21,    22,    23,     0,     0,     0,    24,
       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
-       0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
-       0,   166,   167,   168,   169,     0,     0,     0,    35,     0,
-      36,    37,    38,    39,    40,    41,     0,     0,     0,     0,
-      42,    43,    44,    45,    46,    47,     0,    48,   177,   178,
-       0,     0,     0,    49,   179,   180,   181,     0,     0,   182,
-       0,     0,     0,     0,     0,    50,    51,    52,     0,     0,
-       0,     0,    53,    54,     0,     0,    55,    16,   102,    17,
-      18,    19,    20,    21,    22,    23,     0,    24,    25,    26,
-      27,    28,     0,    29,    30,    31,    32,    33,     0,     0,
-       0,     0,    34,     0,     0,     0,     0,     0,     0,  -193,
-       0,   168,   169,     0,     0,     0,    35,     0,    36,    37,
-      38,    39,    40,    41,     0,     0,     0,     0,    42,    43,
-      44,    45,    46,    47,     0,    48,   177,   178,     0,     0,
-       0,    49,   179,   180,   181,     0,     0,   182,     0,     0,
-       0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
-      53,    54,     0,    16,    55,    17,    18,    19,    20,    21,
-      22,    23,   138,    24,    25,    26,    27,    28,     0,    29,
-      30,    31,    32,    33,     0,     0,     0,     0,    34,   208,
-     209,   210,   211,     0,     0,     0,   212,     0,   213,     0,
-       0,     0,    35,     0,    36,    37,    38,    39,    40,    41,
-       0,     0,     0,     0,    42,    43,    44,    45,    46,    47,
-       0,    48,   156,   157,   158,     0,     0,    49,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
-      51,    52,     0,     0,     0,     0,    53,    54,     0,    16,
-      55,    17,    18,    19,    20,    21,    22,    23,     0,    24,
-      25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
-       0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    35,     0,
-      36,    37,    38,    39,    40,    41,     0,     0,     0,     0,
-      42,    43,    44,    45,    46,    47,     0,    48,     0,     0,
-       0,     0,     0,    49,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    50,    51,    52,     0,     0,
-       0,     0,    53,    54,     0,   154,    55,    16,     0,    17,
-      18,    19,    20,    21,    22,    23,     0,    24,    25,    26,
-      27,    28,     0,    29,    30,    31,    32,    33,     0,     0,
-       0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    35,     0,    36,    37,
-      38,    39,    40,    41,     0,     0,     0,     0,    42,    43,
-      44,    45,    46,    47,     0,    48,     0,     0,     0,     0,
-       0,    49,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
-      53,    54,     0,   226,    55,    16,     0,    17,    18,    19,
-      20,    21,    22,    23,     0,    24,    25,    26,    27,    28,
-       0,    29,    30,    31,    32,    33,     0,     0,     0,     0,
-      34,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    35,     0,    36,    37,    38,    39,
-      40,    41,     0,     0,     0,     0,    42,    43,    44,    45,
-      46,    47,     0,    48,     0,     0,     0,     0,     0,    49,
+      34,     0,     0,     0,     0,    35,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
+       0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
+       0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
+       0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    51,    52,    53,
+       0,     0,     0,     0,    54,    55,     0,   238,    56,    16,
+       0,    17,    18,    19,    20,    21,    22,    23,     0,     0,
+       0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
+      32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    50,    51,    52,     0,     0,     0,     0,    53,    54,
-       0,   236,    55,    16,     0,    17,    18,    19,    20,    21,
-      22,    23,     0,    24,    25,    26,    27,    28,     0,    29,
-      30,    31,    32,    33,     0,     0,     0,     0,    34,     0,
+       0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
+       0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
+       0,     0,     0,     0,     0,     0,     0,    50,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    51,
+      52,    53,     0,     0,     0,     0,    54,    55,     0,   250,
+      56,    16,     0,    17,    18,    19,    20,    21,    22,    23,
+       0,     0,     0,    24,    25,    26,    27,    28,     0,    29,
+      30,    31,    32,    33,    34,     0,     0,     0,     0,    35,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    35,     0,    36,    37,    38,    39,    40,    41,
-       0,     0,     0,     0,    42,    43,    44,    45,    46,    47,
-       0,    48,     0,     0,     0,     0,     0,    49,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
-      51,    52,     0,     0,     0,     0,    53,    54,     0,   249,
-      55,    16,     0,    17,    18,    19,    20,    21,    22,    23,
-       0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
-      32,    33,     0,     0,     0,     0,    34,     0,     0,     0,
+       0,     0,     0,    36,     0,    37,    38,    39,    40,    41,
+      42,     0,     0,     0,     0,    43,    44,    45,    46,    47,
+      48,    49,     0,     0,     0,     0,     0,     0,     0,    50,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-      35,     0,    36,    37,    38,    39,    40,    41,     0,     0,
-       0,     0,    42,    43,    44,    45,    46,    47,     0,    48,
-       0,     0,     0,     0,     0,    49,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,    50,    51,    52,
-       0,     0,     0,     0,    53,    54,     0,   272,    55,    16,
-       0,    17,    18,    19,    20,    21,    22,    23,     0,    24,
+       0,    51,    52,    53,     0,     0,     0,     0,    54,    55,
+       0,   273,    56,    16,     0,    17,    18,    19,    20,    21,
+      22,    23,     0,     0,     0,    24,    25,    26,    27,    28,
+       0,    29,    30,    31,    32,    33,    34,     0,     0,     0,
+       0,    35,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    36,     0,    37,    38,    39,
+      40,    41,    42,     0,     0,     0,     0,    43,    44,    45,
+      46,    47,    48,    49,     0,     0,     0,     0,     0,     0,
+       0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,    51,    52,    53,     0,     0,     0,     0,
+      54,    55,     0,   312,    56,    16,     0,    17,    18,    19,
+      20,    21,    22,    23,     0,     0,     0,    24,    25,    26,
+      27,    28,     0,    29,    30,    31,    32,    33,    34,     0,
+       0,     0,     0,    35,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    36,     0,    37,
+      38,    39,    40,    41,    42,     0,     0,     0,     0,    43,
+      44,    45,    46,    47,    48,    49,     0,     0,     0,     0,
+       0,     0,     0,    50,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    51,    52,    53,     0,     0,
+       0,     0,    54,    55,     0,   314,    56,    16,     0,    17,
+      18,    19,    20,    21,    22,    23,     0,     0,     0,    24,
       25,    26,    27,    28,     0,    29,    30,    31,    32,    33,
-       0,     0,     0,     0,    34,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,    35,     0,
-      36,    37,    38,    39,    40,    41,     0,     0,     0,     0,
-      42,    43,    44,    45,    46,    47,     0,    48,     0,     0,
-       0,     0,     0,    49,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    50,    51,    52,     0,     0,
-       0,     0,    53,    54,     0,   313,    55,    16,     0,    17,
-      18,    19,    20,    21,    22,    23,     0,    24,    25,    26,
-      27,    28,     0,    29,    30,    31,    32,    33,     0,     0,
-       0,     0,    34,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,    35,     0,    36,    37,
-      38,    39,    40,    41,     0,     0,     0,     0,    42,    43,
-      44,    45,    46,    47,     0,    48,     0,     0,     0,     0,
-       0,    49,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,    50,    51,    52,     0,     0,     0,     0,
-      53,    54,     0,   315,    55,    16,     0,    17,    18,    19,
-      20,    21,    22,    23,     0,    24,    25,    26,    27,    28,
-       0,    29,    30,    31,    32,    33,     0,     0,     0,     0,
-      34,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,    35,     0,    36,    37,    38,    39,
-      40,    41,     0,     0,     0,     0,    42,    43,    44,    45,
-      46,    47,     0,    48,     0,     0,     0,     0,     0,    49,
+      34,     0,     0,     0,     0,    35,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,     0,     0,    36,
+       0,    37,    38,    39,    40,    41,    42,     0,     0,     0,
+       0,    43,    44,    45,    46,    47,    48,    49,     0,     0,
+       0,     0,     0,     0,     0,    50,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,     0,     0,    51,    52,    53,
+       0,     0,     0,     0,    54,    55,     0,   327,    56,    16,
+       0,    17,    18,    19,    20,    21,    22,    23,     0,     0,
+       0,    24,    25,    26,    27,    28,     0,    29,    30,    31,
+      32,    33,    34,     0,     0,     0,     0,    35,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,    50,    51,    52,     0,     0,     0,     0,    53,    54,
-       0,   329,    55,    16,     0,    17,    18,    19,    20,    21,
-      22,    23,     0,    24,    25,    26,    27,    28,     0,    29,
-      30,    31,    32,    33,     0,     0,     0,     0,    34,     0,
+       0,    36,     0,    37,    38,    39,    40,    41,    42,     0,
+       0,     0,     0,    43,    44,    45,    46,    47,    48,    49,
+       0,     0,     0,     0,   167,     0,     0,    50,     0,     0,
+       0,   168,   169,   170,   171,     0,     0,     0,     0,    51,
+      52,    53,     0,     0,     0,     0,    54,    55,     0,     0,
+      56,   172,   173,   324,   174,   175,   176,   177,   178,   179,
+     180,     0,     0,     0,   167,   181,   182,   183,     0,     0,
+     184,   168,   169,   170,   171,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    35,     0,    36,    37,    38,    39,    40,    41,
-       0,     0,     0,     0,    42,    43,    44,    45,    46,    47,
-     406,    48,   408,     0,     0,     0,   412,    49,     0,     0,
-       0,     0,     0,     0,     0,     0,   416,   417,     0,    50,
-      51,    52,     0,     0,   426,   427,    53,    54,     0,     0,
-      55,   165,     0,   432,     0,     0,     0,   434,   166,   167,
-     168,   169,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,   443,   444,   170,   171,   326,
-     172,   173,   174,   175,   176,   177,   178,     0,     0,     0,
-     165,   179,   180,   181,     0,     0,   182,   166,   167,   168,
-     169,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   170,   171,     0,   172,
-     173,   174,   175,   176,   177,   178,     0,     0,     0,   165,
-     179,   180,   181,     0,     0,   182,   166,   167,   168,   169,
+       0,   172,   173,     0,   174,   175,   176,   177,   178,   179,
+     180,     0,     0,     0,   167,   181,   182,   183,     0,     0,
+     184,   168,   169,   170,   171,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,   171,     0,   172,   173,
-     174,   175,   176,   177,   178,     0,     0,     0,  -193,   179,
-     180,   181,     0,     0,   182,   166,   167,   168,   169,     0,
-       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,     0,     0,   172,   173,   174,
-     175,   176,   177,   178,     0,     0,     0,     0,   179,   180,
-     181,     0,     0,   182
+       0,     0,   173,     0,   174,   175,   176,   177,   178,   179,
+     180,     0,     0,     0,     0,   181,   182,   183,     0,     0,
+     184
 };
 
+#define yypact_value_is_default(yystate) \
+  ((yystate) == (-391))
+
+#define yytable_value_is_error(yytable_value) \
+  ((yytable_value) == (-202))
+
 static const yytype_int16 yycheck[] =
 {
-       9,    41,    67,   125,    76,    11,   115,    16,    15,    49,
-     291,   384,    10,    11,    12,    27,    73,    82,    83,    84,
-      85,    86,    87,    88,    15,    97,    19,    20,    21,    22,
-      23,   140,    25,    26,   406,    44,    27,     9,   291,    11,
-     340,   294,    40,     0,   283,    43,    55,     9,    41,    42,
-      43,     9,   425,    11,    47,    27,   295,    20,    21,    22,
-      23,   361,    25,    26,     9,     9,    11,    11,     9,   134,
-      11,   443,   137,    98,    15,   115,    67,   117,    41,    42,
-      81,    22,    27,    15,    16,    17,    98,    43,    44,    90,
-      96,    89,   132,    86,    17,    18,    11,   219,    96,    12,
-     140,    98,   100,   101,    98,   358,   359,    98,    31,   118,
-      12,   287,    35,   289,    98,   124,   125,    40,    21,     9,
-      43,    76,   120,    46,    12,    48,    98,    50,    51,    52,
-      53,    54,   125,   142,   387,   200,    21,   194,   195,   196,
-     197,   198,   199,    20,   201,   202,    45,   156,   157,   158,
-      20,   160,   161,    98,   435,   164,    12,    98,     9,    72,
-      73,    74,   125,    98,    12,    24,    98,    12,    97,    20,
-      72,    73,    74,    10,   183,   184,   185,   186,   187,   188,
-     433,    70,   189,     9,    72,    73,    74,    20,    11,   182,
-      72,    73,    74,    21,    20,    72,    73,    74,   307,   208,
-     209,   210,   211,   212,   213,   270,    21,   205,    12,   331,
-     219,    20,    70,    21,    12,    97,    72,    73,    74,    97,
-     229,    10,   231,   232,    72,    73,    74,    72,    73,    74,
-      24,   240,    72,    73,    74,   292,   159,    20,    11,    72,
-      73,    74,   165,   166,   167,   168,   169,   170,   171,   172,
-     173,   174,   175,   176,   177,   178,   179,   266,   267,    98,
-     269,    20,    74,    72,    73,    74,    21,   307,    72,    73,
-      74,    15,    60,   382,    72,    73,    74,   286,   287,   288,
-     289,   279,   291,   281,   341,   294,   351,    97,    24,    72,
-      73,    74,   408,    10,    10,    10,    10,   290,    86,    20,
-     416,   417,    21,    91,    92,    93,    97,    97,    96,    20,
-     426,   309,   321,    72,    73,    74,    92,    93,   434,     9,
-      96,    11,   331,    13,    14,    15,    16,    17,    18,    19,
-      97,    21,    22,    23,    24,    25,    26,    27,    28,    29,
-      30,    31,   382,    72,    73,    74,    36,    97,    97,   358,
-     359,    72,    73,    74,    97,   420,    58,    59,    60,    61,
-      50,    10,    52,    53,    54,    55,    56,    57,    97,    97,
-       9,    97,    62,    63,    64,    65,    66,    67,   387,    69,
-     389,    12,   380,    85,    86,    75,    20,    60,    61,    91,
-      92,    93,    97,   400,    96,   393,    97,    87,    88,    89,
-      72,    73,    74,   326,    94,    95,    20,    96,    98,    97,
-      97,   418,    85,    86,   389,   435,   414,    34,    91,    92,
-      93,     0,     1,    96,   433,    97,    91,    92,    93,   204,
-       9,    96,    11,   431,    13,    14,    15,    16,    17,    18,
-      19,    20,    21,    22,    23,    24,    25,   393,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    47,    47,    -1,    46,    47,    48,
-      49,    50,    -1,    52,    53,    54,    55,    56,    57,    72,
-      73,    74,    -1,    62,    63,    64,    65,    66,    67,    68,
-      69,    -1,    72,    73,    74,    86,    75,    72,    73,    74,
-      91,    92,    93,    -1,    97,    96,    -1,    -1,    87,    88,
-      89,    -1,     0,     1,    -1,    94,    95,    97,    -1,    98,
-      99,     9,    97,    11,    -1,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
-      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    -1,    -1,    -1,    46,    47,
-      48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
-      72,    73,    74,    -1,    62,    63,    64,    65,    66,    67,
-      68,    69,    -1,    72,    73,    74,    -1,    75,    -1,    -1,
-      72,    73,    74,    -1,    -1,    97,    -1,    -1,    -1,    87,
-      88,    89,    -1,    -1,     1,    -1,    94,    95,    97,    -1,
-      98,    99,     9,    10,    11,    97,    13,    14,    15,    16,
-      17,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
-      27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    -1,    -1,    -1,    46,
-      47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
-      57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,
-      67,    68,    69,    -1,    -1,    -1,     9,    -1,    75,    -1,
-      -1,    -1,    15,    -1,    -1,    -1,    -1,    -1,    21,    -1,
-      87,    88,    89,    26,    -1,     1,    -1,    94,    95,    -1,
-      -1,    98,    99,     9,    10,    11,    -1,    13,    14,    15,
-      16,    17,    18,    19,    20,    21,    22,    23,    24,    25,
-      -1,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    -1,    -1,    -1,
-      46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
-      56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,
-      66,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,    75,
-       3,     4,     5,     6,     7,     8,    -1,    -1,    -1,    -1,
-      -1,    87,    88,    89,    -1,    -1,     1,    -1,    94,    95,
-      -1,    -1,    98,    99,     9,    10,    11,    -1,    13,    14,
-      15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
-      25,    -1,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    -1,    -1,
-      -1,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
-      55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,
-      65,    66,    67,    68,    69,    -1,    -1,    -1,    -1,    -1,
-      75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    87,    88,    89,    -1,    -1,     1,    -1,    94,
-      95,    -1,    -1,    98,    99,     9,    -1,    11,    -1,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    -1,    27,    28,    29,    30,    31,    32,    33,
-      34,    35,    36,    37,    38,    39,    40,    41,    42,    -1,
-      -1,    -1,    46,    47,    48,    49,    50,    -1,    52,    53,
-      54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
-      64,    65,    66,    67,    68,    69,    -1,    -1,    -1,    -1,
-      -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    87,    88,    89,    -1,    -1,     1,    -1,
-      94,    95,    -1,    -1,    98,    99,     9,    -1,    11,    -1,
-      13,    14,    15,    16,    17,    18,    19,    20,    21,    22,
-      23,    24,    25,    -1,    27,    28,    29,    30,    31,    32,
-      -1,    34,    35,    36,    37,    38,    39,    40,    41,    42,
-      -1,    -1,    -1,    46,    47,    48,    49,    50,    -1,    52,
-      53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,
-      63,    64,    65,    66,    67,    68,    69,    -1,    -1,    -1,
-      -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    87,    88,    89,     1,    -1,    -1,
-      -1,    94,    95,    -1,    -1,    98,    99,    11,    -1,    13,
-      14,    15,    16,    17,    18,    19,    20,    21,    22,    23,
-      24,    25,    -1,    27,    28,    29,    30,    31,    -1,    -1,
-      -1,    -1,    36,    -1,    39,    40,    41,    42,    -1,    -1,
-      -1,    46,    -1,    48,    60,    61,    50,    -1,    52,    53,
-      54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
-      64,    65,    66,    67,    -1,    69,    -1,    72,    73,    74,
-      86,    75,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,
-      96,    -1,    -1,    87,    88,    89,     1,    -1,    -1,    -1,
-      94,    95,    97,    -1,    98,    -1,    11,    -1,    13,    14,
-      15,    16,    17,    18,    19,    -1,    21,    22,    23,    24,
-      25,    -1,    27,    28,    29,    30,    31,    -1,    -1,    -1,
-      -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,    54,
-      55,    56,    57,    -1,    -1,    -1,     0,    62,    63,    64,
-      65,    66,    67,    -1,    69,     9,    -1,    11,    12,    -1,
-      75,    -1,    -1,    -1,    -1,    -1,    20,    -1,    -1,    -1,
-      -1,    -1,    87,    88,    89,    58,    59,    60,    61,    94,
-      95,    -1,    97,    98,    -1,    39,    40,    41,    42,    -1,
-      -1,    -1,    46,    -1,    48,    -1,    -1,    51,    -1,    82,
-      83,    84,    85,    86,    58,    59,    60,    61,    91,    92,
-      93,    -1,    -1,    96,    -1,    -1,    -1,    -1,    72,    73,
-      74,     0,    76,    77,    78,    79,    80,    81,    82,    83,
-      84,    85,    86,    12,    -1,    -1,    -1,    91,    92,    93,
-      -1,    20,    96,    97,    -1,    -1,    -1,    -1,    -1,    -1,
-      58,    59,    60,    61,    -1,    -1,    -1,    -1,    -1,    -1,
-      39,    40,    41,    42,    -1,    -1,    -1,    46,    -1,    48,
-      -1,    -1,    51,    -1,    -1,    83,    84,    85,    86,    58,
-      59,    60,    61,    91,    92,    93,    -1,    -1,    96,    -1,
-      -1,    -1,    -1,    72,    73,    74,    -1,    76,    77,    78,
-      79,    80,    81,    82,    83,    84,    85,    86,    -1,    -1,
-      -1,    -1,    91,    92,    93,    -1,    -1,    96,    97,     9,
+      10,    11,    12,    15,     9,   291,   115,   126,    42,    15,
+     291,    16,   293,   294,   404,     9,    50,    11,    15,    16,
+      17,    19,    20,    21,    22,    23,     9,    25,    26,    11,
+       9,    41,    11,    46,    44,   144,    20,   384,    12,    11,
+      45,    74,    80,     0,    42,    43,    44,    76,    77,    78,
+      48,    56,    20,    21,    22,    23,    20,    25,    26,    20,
+      12,   451,    26,   101,    70,    12,     9,    80,    12,    96,
+      97,    12,   101,   100,    42,    43,   357,    20,    12,   426,
+      90,   115,     9,    12,    11,   102,    96,     9,    15,    87,
+     100,   101,    76,    77,    78,    23,   102,    24,    20,   133,
+      28,   220,    76,    77,    78,   102,   387,     9,   102,    11,
+     144,   121,    12,   118,    96,    76,    77,    78,    80,     9,
+     125,   126,   102,   102,    76,    77,    78,   102,   126,    76,
+      77,    78,    76,    77,    78,    76,    77,    78,    76,    77,
+      78,   146,    76,    77,    78,    20,   102,    76,    77,    78,
+     436,   102,     9,   434,    11,   160,   161,   162,   126,   164,
+     165,   166,    20,   196,   197,   198,   199,   200,   201,    23,
+     203,   204,   287,    26,   289,   102,    76,    77,    78,   191,
+     185,   186,   187,   188,   189,   190,   184,   221,   102,    76,
+      77,    78,    76,    77,    78,    20,   206,   306,    20,    46,
+      47,    76,    77,    78,   209,   210,   211,   212,   213,   214,
+     329,   102,    17,    18,   101,   220,   102,   101,    76,    77,
+      78,   102,   102,   102,     9,    48,   231,    32,   233,   234,
+      15,    36,    61,    62,    63,    64,    41,   242,    23,    44,
+      20,   102,    47,    28,    49,   101,    51,    52,    53,    54,
+      55,    76,    77,    78,    76,    77,    78,   102,   101,   292,
+      89,    90,   267,   268,   102,   270,    95,    96,    97,   102,
+     280,   100,   306,   382,    76,    77,    78,    76,    77,    78,
+      10,   286,   287,   288,   289,    63,   291,    11,   293,   294,
+      72,   386,   290,   388,    23,    23,   391,   392,   308,   101,
+      72,    54,   101,   101,   337,   400,   401,   340,    61,    62,
+      63,    64,    90,   408,   102,   320,    10,    95,    96,    97,
+      26,    11,   100,    78,   329,   420,   102,    23,   406,   424,
+      21,    84,    85,    86,    87,    88,    89,    90,    15,   417,
+     418,   101,    95,    96,    97,    26,    10,   100,   382,   427,
+      10,    23,   357,   448,   449,    10,    10,   435,   163,   101,
+     101,   101,   167,   168,   169,   170,   171,   172,   173,   174,
+     175,   176,   177,   178,   179,   180,   181,    63,    64,   101,
+      20,   102,   387,   101,   389,   101,   398,   397,    76,    77,
+      78,   101,    42,    43,    44,    45,    76,    77,    78,    49,
+      10,    51,   101,    89,    90,   415,    20,   419,     9,    95,
+      96,    97,   101,   101,   100,    20,    74,    76,    77,    78,
+      20,   101,   432,   101,    22,    73,    76,    77,    78,   434,
+       0,     1,   102,   101,   446,   101,    12,   436,    35,     9,
+     450,    11,   101,    13,    14,    15,    16,    17,    18,    19,
+      20,   101,    96,    23,    24,    25,    26,    27,   389,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,   193,   339,    -1,    49,
+      50,    51,    52,    53,   380,    55,    56,    57,    58,    59,
+      60,    76,    77,    78,    48,    65,    66,    67,    68,    69,
+      70,    71,    48,    95,    96,    97,    -1,    90,   100,    79,
+      -1,    -1,    95,    96,    97,    -1,   101,   100,    -1,   324,
+      -1,    91,    92,    93,    -1,     0,     1,    -1,    98,    99,
+      -1,    -1,   102,   103,     9,    -1,    11,    -1,    13,    14,
+      15,    16,    17,    18,    19,    20,    -1,    -1,    23,    24,
+      25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,
+      55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
+      65,    66,    67,    68,    69,    70,    71,     3,     4,     5,
+       6,     7,     8,    -1,    79,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
+      -1,     1,    -1,    98,    99,    -1,    -1,   102,   103,     9,
+      10,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
+      20,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
+      50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
+      60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
+      70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    92,    93,    -1,    -1,     1,    -1,    98,    99,
+      -1,    -1,   102,   103,     9,    10,    11,    -1,    13,    14,
+      15,    16,    17,    18,    19,    20,    -1,    -1,    23,    24,
+      25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,
+      55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
+      65,    66,    67,    68,    69,    70,    71,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
+      -1,     1,    -1,    98,    99,    -1,    -1,   102,   103,     9,
+      10,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
+      20,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
+      50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
+      60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
+      70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    91,    92,    93,    -1,    -1,     1,    -1,    98,    99,
+      -1,    -1,   102,   103,     9,    -1,    11,    -1,    13,    14,
+      15,    16,    17,    18,    19,    20,    -1,    -1,    23,    24,
+      25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,
+      55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
+      65,    66,    67,    68,    69,    70,    71,    -1,    -1,    74,
+      -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,
+      -1,     1,    -1,    98,    99,    -1,    -1,   102,   103,     9,
       -1,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
-      -1,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
-      30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    58,    59,    60,    61,    -1,    -1,
-      50,    -1,    52,    53,    54,    55,    56,    57,    -1,    -1,
-      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    69,
-      84,    85,    86,    -1,    -1,    75,    -1,    91,    92,    93,
-      -1,    -1,    96,    -1,    -1,    -1,    -1,    87,    88,    89,
-      -1,    -1,    -1,    -1,    94,    95,    -1,     9,    98,    11,
-      -1,    13,    14,    15,    16,    17,    18,    19,    -1,    21,
-      22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
-      -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
-      -1,    58,    59,    60,    61,    -1,    -1,    -1,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    -1,    69,    85,    86,
-      -1,    -1,    -1,    75,    91,    92,    93,    -1,    -1,    96,
-      -1,    -1,    -1,    -1,    -1,    87,    88,    89,    -1,    -1,
-      -1,    -1,    94,    95,    -1,    -1,    98,    11,    12,    13,
-      14,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
-      24,    25,    -1,    27,    28,    29,    30,    31,    -1,    -1,
-      -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    58,
-      -1,    60,    61,    -1,    -1,    -1,    50,    -1,    52,    53,
-      54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
-      64,    65,    66,    67,    -1,    69,    85,    86,    -1,    -1,
-      -1,    75,    91,    92,    93,    -1,    -1,    96,    -1,    -1,
-      -1,    -1,    -1,    87,    88,    89,    -1,    -1,    -1,    -1,
-      94,    95,    -1,    11,    98,    13,    14,    15,    16,    17,
-      18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
-      28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    39,
-      40,    41,    42,    -1,    -1,    -1,    46,    -1,    48,    -1,
-      -1,    -1,    50,    -1,    52,    53,    54,    55,    56,    57,
-      -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
-      -1,    69,    72,    73,    74,    -1,    -1,    75,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,
-      88,    89,    -1,    -1,    -1,    -1,    94,    95,    -1,    11,
-      98,    13,    14,    15,    16,    17,    18,    19,    -1,    21,
-      22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
-      -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
-      -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    87,    88,    89,    -1,    -1,
-      -1,    -1,    94,    95,    -1,    97,    98,    11,    -1,    13,
-      14,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
-      24,    25,    -1,    27,    28,    29,    30,    31,    -1,    -1,
-      -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,
-      54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
-      64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,    -1,
-      -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    87,    88,    89,    -1,    -1,    -1,    -1,
-      94,    95,    -1,    97,    98,    11,    -1,    13,    14,    15,
-      16,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
-      -1,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
-      36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    50,    -1,    52,    53,    54,    55,
-      56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,
-      66,    67,    -1,    69,    -1,    -1,    -1,    -1,    -1,    75,
+      20,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    44,    45,    -1,    -1,    -1,    49,
+      50,    51,    52,    53,    -1,    55,    56,    57,    58,    59,
+      60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
+      70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    87,    88,    89,    -1,    -1,    -1,    -1,    94,    95,
-      -1,    97,    98,    11,    -1,    13,    14,    15,    16,    17,
-      18,    19,    -1,    21,    22,    23,    24,    25,    -1,    27,
-      28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
+      -1,    91,    92,    93,    -1,    -1,     1,    -1,    98,    99,
+      -1,    -1,   102,   103,     9,    -1,    11,    -1,    13,    14,
+      15,    16,    17,    18,    19,    20,    -1,    -1,    23,    24,
+      25,    26,    27,    -1,    29,    30,    31,    32,    33,    34,
+      35,    -1,    37,    38,    39,    40,    41,    42,    43,    44,
+      45,    -1,    -1,    -1,    49,    50,    51,    52,    53,    -1,
+      55,    56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,
+      65,    66,    67,    68,    69,    70,    71,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,     1,
+      -1,    -1,    -1,    98,    99,    -1,    -1,   102,   103,    11,
+      -1,    13,    14,    15,    16,    17,    18,    19,    20,    -1,
+      -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
+      32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    61,    62,    63,    64,    -1,
+      -1,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
+      -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
+      86,    87,    88,    89,    90,    -1,    -1,    79,    -1,    95,
+      96,    97,    -1,    -1,   100,    -1,    -1,    -1,    -1,    91,
+      92,    93,     1,    -1,    -1,    -1,    98,    99,    -1,    -1,
+     102,    -1,    11,    -1,    13,    14,    15,    16,    17,    18,
+      19,    -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,
+      29,    30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,
+      39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,
+      59,    60,    -1,    -1,     0,    -1,    65,    66,    67,    68,
+      69,    70,    71,     9,    -1,    11,    12,    -1,    -1,    -1,
+      79,    -1,    -1,    -1,    20,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    91,    92,    93,    61,    62,    63,    64,    98,
+      99,    -1,   101,   102,    -1,    -1,    42,    43,    44,    45,
+      -1,    -1,    -1,    49,    -1,    51,    -1,    -1,    54,    -1,
+      -1,    87,    88,    89,    90,    61,    62,    63,    64,    95,
+      96,    97,    -1,    -1,   100,    63,    64,    -1,    -1,    -1,
+      76,    77,    78,     0,    80,    81,    82,    83,    84,    85,
+      86,    87,    88,    89,    90,    12,    -1,    -1,    -1,    95,
+      96,    97,    90,    20,   100,   101,    -1,    95,    96,    97,
+      -1,    -1,   100,    -1,    61,    62,    63,    64,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    42,    43,    44,    45,    -1,
+      -1,    -1,    49,    -1,    51,    -1,    -1,    54,    -1,    -1,
+      -1,    88,    89,    90,    61,    62,    63,    64,    95,    96,
+      97,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    76,
+      77,    78,    -1,    80,    81,    82,    83,    84,    85,    86,
+      87,    88,    89,    90,    -1,    -1,    -1,    -1,    95,    96,
+      97,    -1,    -1,   100,   101,     9,    -1,    11,    -1,    13,
+      14,    15,    16,    17,    18,    19,    -1,    -1,    -1,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
+      -1,    -1,    61,    62,    63,    64,    -1,    -1,    -1,    53,
+      -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    -1,
+      -1,    65,    66,    67,    68,    69,    70,    71,    -1,    -1,
+      89,    90,    -1,    -1,    -1,    79,    95,    96,    97,    -1,
+      -1,   100,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
+      -1,    -1,    -1,    -1,    98,    99,    -1,     9,   102,    11,
+      -1,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
+      -1,    23,    24,    25,    26,    27,    28,    29,    30,    31,
+      32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,
+      -1,    -1,    -1,    -1,    61,    -1,    63,    64,    -1,    -1,
+      -1,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
+      -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
+      -1,    -1,    89,    90,    -1,    -1,    -1,    79,    95,    96,
+      97,    -1,    -1,   100,    -1,    -1,    -1,    -1,    -1,    91,
+      92,    93,    -1,    -1,    -1,    -1,    98,    99,    -1,     9,
+     102,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
+      -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
+      30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    39,
+      42,    43,    44,    45,    -1,    -1,    -1,    49,    -1,    51,
+      -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,    59,
+      60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
+      70,    71,    -1,    -1,    76,    77,    78,    -1,    -1,    79,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    50,    -1,    52,    53,    54,    55,    56,    57,
-      -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
-      -1,    69,    -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,
-      88,    89,    -1,    -1,    -1,    -1,    94,    95,    -1,    97,
-      98,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
-      -1,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
-      30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,
+      -1,    91,    92,    93,    -1,    -1,    -1,    -1,    98,    99,
+      -1,    -1,   102,    11,    12,    13,    14,    15,    16,    17,
+      18,    19,    -1,    -1,    -1,    23,    24,    25,    26,    27,
+      -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
+      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,
+      58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
+      68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,
+      98,    99,    -1,    11,   102,    13,    14,    15,    16,    17,
+      18,    19,    20,    -1,    -1,    23,    24,    25,    26,    27,
+      -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
+      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,
+      58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
+      68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,
+      98,    99,    -1,    11,   102,    13,    14,    15,    16,    17,
+      18,    19,    -1,    -1,    -1,    23,    24,    25,    26,    27,
+      -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
+      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,
+      58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
+      68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,
+      98,    99,    -1,   101,   102,    11,    -1,    13,    14,    15,
+      16,    17,    18,    19,    -1,    -1,    -1,    23,    24,    25,
+      26,    27,    -1,    29,    30,    31,    32,    33,    34,    -1,
+      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    55,
+      56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,
+      66,    67,    68,    69,    70,    71,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,
+      -1,    -1,    98,    99,    -1,   101,   102,    11,    -1,    13,
+      14,    15,    16,    17,    18,    19,    -1,    -1,    -1,    23,
+      24,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
+      34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,
+      -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    -1,
+      -1,    65,    66,    67,    68,    69,    70,    71,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
+      -1,    -1,    -1,    -1,    98,    99,    -1,   101,   102,    11,
+      -1,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
+      -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
+      32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      50,    -1,    52,    53,    54,    55,    56,    57,    -1,    -1,
-      -1,    -1,    62,    63,    64,    65,    66,    67,    -1,    69,
-      -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    87,    88,    89,
-      -1,    -1,    -1,    -1,    94,    95,    -1,    97,    98,    11,
-      -1,    13,    14,    15,    16,    17,    18,    19,    -1,    21,
-      22,    23,    24,    25,    -1,    27,    28,    29,    30,    31,
-      -1,    -1,    -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,
-      52,    53,    54,    55,    56,    57,    -1,    -1,    -1,    -1,
-      62,    63,    64,    65,    66,    67,    -1,    69,    -1,    -1,
-      -1,    -1,    -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    87,    88,    89,    -1,    -1,
-      -1,    -1,    94,    95,    -1,    97,    98,    11,    -1,    13,
-      14,    15,    16,    17,    18,    19,    -1,    21,    22,    23,
-      24,    25,    -1,    27,    28,    29,    30,    31,    -1,    -1,
-      -1,    -1,    36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    50,    -1,    52,    53,
-      54,    55,    56,    57,    -1,    -1,    -1,    -1,    62,    63,
-      64,    65,    66,    67,    -1,    69,    -1,    -1,    -1,    -1,
-      -1,    75,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    87,    88,    89,    -1,    -1,    -1,    -1,
-      94,    95,    -1,    97,    98,    11,    -1,    13,    14,    15,
-      16,    17,    18,    19,    -1,    21,    22,    23,    24,    25,
-      -1,    27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,
-      36,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    50,    -1,    52,    53,    54,    55,
-      56,    57,    -1,    -1,    -1,    -1,    62,    63,    64,    65,
-      66,    67,    -1,    69,    -1,    -1,    -1,    -1,    -1,    75,
+      -1,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
+      -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,
+      92,    93,    -1,    -1,    -1,    -1,    98,    99,    -1,   101,
+     102,    11,    -1,    13,    14,    15,    16,    17,    18,    19,
+      -1,    -1,    -1,    23,    24,    25,    26,    27,    -1,    29,
+      30,    31,    32,    33,    34,    -1,    -1,    -1,    -1,    39,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    87,    88,    89,    -1,    -1,    -1,    -1,    94,    95,
-      -1,    97,    98,    11,    -1,    13,    14,    15,    16,    17,
-      18,    19,    -1,    21,    22,    23,    24,    25,    -1,    27,
-      28,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
+      -1,    -1,    -1,    53,    -1,    55,    56,    57,    58,    59,
+      60,    -1,    -1,    -1,    -1,    65,    66,    67,    68,    69,
+      70,    71,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    79,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    50,    -1,    52,    53,    54,    55,    56,    57,
-      -1,    -1,    -1,    -1,    62,    63,    64,    65,    66,    67,
-     386,    69,   388,    -1,    -1,    -1,   392,    75,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,   402,   403,    -1,    87,
-      88,    89,    -1,    -1,   410,   411,    94,    95,    -1,    -1,
-      98,    51,    -1,   419,    -1,    -1,    -1,   423,    58,    59,
-      60,    61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,   441,   442,    77,    78,    79,
-      80,    81,    82,    83,    84,    85,    86,    -1,    -1,    -1,
-      51,    91,    92,    93,    -1,    -1,    96,    58,    59,    60,
-      61,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    77,    78,    -1,    80,
-      81,    82,    83,    84,    85,    86,    -1,    -1,    -1,    51,
-      91,    92,    93,    -1,    -1,    96,    58,    59,    60,    61,
+      -1,    91,    92,    93,    -1,    -1,    -1,    -1,    98,    99,
+      -1,   101,   102,    11,    -1,    13,    14,    15,    16,    17,
+      18,    19,    -1,    -1,    -1,    23,    24,    25,    26,    27,
+      -1,    29,    30,    31,    32,    33,    34,    -1,    -1,    -1,
+      -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    53,    -1,    55,    56,    57,
+      58,    59,    60,    -1,    -1,    -1,    -1,    65,    66,    67,
+      68,    69,    70,    71,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    91,    92,    93,    -1,    -1,    -1,    -1,
+      98,    99,    -1,   101,   102,    11,    -1,    13,    14,    15,
+      16,    17,    18,    19,    -1,    -1,    -1,    23,    24,    25,
+      26,    27,    -1,    29,    30,    31,    32,    33,    34,    -1,
+      -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,    -1,    55,
+      56,    57,    58,    59,    60,    -1,    -1,    -1,    -1,    65,
+      66,    67,    68,    69,    70,    71,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    91,    92,    93,    -1,    -1,
+      -1,    -1,    98,    99,    -1,   101,   102,    11,    -1,    13,
+      14,    15,    16,    17,    18,    19,    -1,    -1,    -1,    23,
+      24,    25,    26,    27,    -1,    29,    30,    31,    32,    33,
+      34,    -1,    -1,    -1,    -1,    39,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    53,
+      -1,    55,    56,    57,    58,    59,    60,    -1,    -1,    -1,
+      -1,    65,    66,    67,    68,    69,    70,    71,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    79,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    91,    92,    93,
+      -1,    -1,    -1,    -1,    98,    99,    -1,   101,   102,    11,
+      -1,    13,    14,    15,    16,    17,    18,    19,    -1,    -1,
+      -1,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
+      32,    33,    34,    -1,    -1,    -1,    -1,    39,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    80,    81,
-      82,    83,    84,    85,    86,    -1,    -1,    -1,    51,    91,
-      92,    93,    -1,    -1,    96,    58,    59,    60,    61,    -1,
+      -1,    53,    -1,    55,    56,    57,    58,    59,    60,    -1,
+      -1,    -1,    -1,    65,    66,    67,    68,    69,    70,    71,
+      -1,    -1,    -1,    -1,    54,    -1,    -1,    79,    -1,    -1,
+      -1,    61,    62,    63,    64,    -1,    -1,    -1,    -1,    91,
+      92,    93,    -1,    -1,    -1,    -1,    98,    99,    -1,    -1,
+     102,    81,    82,    83,    84,    85,    86,    87,    88,    89,
+      90,    -1,    -1,    -1,    54,    95,    96,    97,    -1,    -1,
+     100,    61,    62,    63,    64,    -1,    -1,    -1,    -1,    -1,
       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
-      -1,    -1,    -1,    -1,    -1,    -1,    -1,    80,    81,    82,
-      83,    84,    85,    86,    -1,    -1,    -1,    -1,    91,    92,
-      93,    -1,    -1,    96
+      -1,    81,    82,    -1,    84,    85,    86,    87,    88,    89,
+      90,    -1,    -1,    -1,    54,    95,    96,    97,    -1,    -1,
+     100,    61,    62,    63,    64,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
+      -1,    -1,    82,    -1,    84,    85,    86,    87,    88,    89,
+      90,    -1,    -1,    -1,    -1,    95,    96,    97,    -1,    -1,
+     100
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -993,51 +1049,52 @@
    symbol of state STATE-NUM.  */
 static const yytype_uint8 yystos[] =
 {
-       0,     3,     4,     5,     6,     7,     8,   101,   102,   103,
-     104,   105,   106,   107,     0,   109,    11,    13,    14,    15,
-      16,    17,    18,    19,    21,    22,    23,    24,    25,    27,
-      28,    29,    30,    31,    36,    50,    52,    53,    54,    55,
-      56,    57,    62,    63,    64,    65,    66,    67,    69,    75,
-      87,    88,    89,    94,    95,    98,   138,   139,   140,   143,
-     144,   145,   146,   147,   148,   149,   152,   156,   157,   158,
-     159,   160,   161,     9,   108,     1,    20,    32,    34,    35,
-      37,    38,    39,    40,    41,    42,    46,    47,    48,    49,
-      68,    99,   108,   116,   119,   138,    33,   114,   115,   116,
-     113,   113,    12,   138,   148,   148,    21,    26,   108,   157,
-     162,   162,   162,   162,   162,   162,   162,    98,    11,   148,
-     131,   131,   148,    98,    98,    98,   108,   148,    21,   139,
-     151,   157,   162,   162,    21,   108,   148,   157,    20,   138,
-      21,   148,    98,   150,   157,   158,   159,   148,   139,   148,
-     148,   148,   148,   148,    97,   138,    72,    73,    74,    76,
-       9,    11,    27,    98,   153,    51,    58,    59,    60,    61,
-      77,    78,    80,    81,    82,    83,    84,    85,    86,    91,
-      92,    93,    96,   153,     9,    11,     9,    11,     9,   109,
-     132,   130,    21,   130,   153,   153,   153,   153,    67,   153,
-     157,   153,   153,   108,   130,    45,   121,    20,    39,    40,
-      41,    42,    46,    48,   115,   116,   114,    12,   151,    98,
-     139,   138,   108,    24,   134,    97,    97,   138,   152,   162,
-     139,   153,   153,    10,    20,   151,    97,   138,    70,   136,
-      11,    97,   138,   138,   138,   148,   138,   138,   154,    97,
-     138,   148,   148,   148,   148,   148,   148,   148,   148,   148,
-     148,   148,   148,   148,   148,   148,     9,    11,    22,    98,
-     142,   157,    97,   138,   138,   138,   138,   138,   138,   113,
-      21,   129,    21,   133,    21,   117,   109,   109,   109,   109,
-     109,   109,   153,   109,   109,   133,   108,   138,   125,   138,
-     138,   138,   138,   138,   152,    97,    12,   141,    70,   135,
-      97,    97,   138,    97,   138,    97,   138,    10,    97,    24,
-     138,    11,    20,    12,    98,    97,    79,   138,   138,    97,
-     138,   153,    97,    20,    12,    20,    12,    20,    10,   108,
-     134,     9,    20,    21,   124,   138,   125,   126,   138,   125,
-     128,   155,   157,   119,   123,   126,   127,   138,   109,   110,
-     126,   134,    97,   151,    24,   108,    97,    97,    97,    12,
-     138,    10,   148,    20,    12,    97,   152,    10,    10,    10,
-     135,   109,    21,    97,    97,    97,    97,   153,    97,    20,
-     126,   126,    97,   135,    12,    10,    97,    20,   108,   137,
-     118,   151,   122,   122,     9,   111,   111,   126,   111,   124,
-      97,    97,   111,   137,   113,    20,   111,   111,   112,    43,
-      44,   120,   120,    97,   121,    20,   111,   111,    10,   121,
-     121,   113,   111,   153,   111,   122,   121,    10,   126,   121,
-     127,    97,    97,   111,   111,   120
+       0,     3,     4,     5,     6,     7,     8,   105,   106,   107,
+     108,   109,   110,   111,     0,   114,    11,    13,    14,    15,
+      16,    17,    18,    19,    23,    24,    25,    26,    27,    29,
+      30,    31,    32,    33,    34,    39,    53,    55,    56,    57,
+      58,    59,    60,    65,    66,    67,    68,    69,    70,    71,
+      79,    91,    92,    93,    98,    99,   102,   146,   147,   148,
+     151,   152,   153,   154,   155,   156,   158,   161,   163,   164,
+     165,   166,   167,   168,     9,   112,     1,    20,    35,    37,
+      38,    40,    41,    42,    43,    44,    45,    49,    50,    51,
+      52,   103,   112,   121,   127,   146,    36,   119,   120,   121,
+     117,   117,    12,   146,   156,   156,    23,    28,   112,   164,
+     169,   169,   169,   169,   169,   169,   169,   157,    11,   102,
+     156,   139,   139,   156,   102,   102,   102,   112,   156,    23,
+     147,   160,   164,   169,   169,    23,    28,   112,   141,   156,
+     164,    20,   146,    23,   141,   156,   102,   159,   164,   165,
+     166,   156,   147,   156,   156,   156,   156,   156,   101,   146,
+      76,    77,    78,    80,     9,    11,   102,    54,    61,    62,
+      63,    64,    81,    82,    84,    85,    86,    87,    88,    89,
+      90,    95,    96,    97,   100,   102,     9,    11,     9,    11,
+       9,   114,   140,   141,    23,   138,   102,   102,   102,   102,
+      70,   102,   164,   102,   102,   112,    48,   129,    20,    42,
+      43,    44,    45,    49,    51,   120,   121,   119,    12,   160,
+     102,   102,   146,   101,   112,    26,   142,   101,   101,   146,
+     161,   169,   147,   102,   102,    10,    20,   160,   101,   146,
+      72,   144,    11,   101,   146,   146,   146,   156,   146,   146,
+     101,   146,   156,   156,   156,   156,   156,   156,   156,   156,
+     156,   156,   156,   156,   156,   156,   156,     9,    11,    24,
+     102,   150,   164,   101,   146,   146,   146,   146,   146,   146,
+     117,    23,   137,   138,    23,   123,   114,   114,   114,   114,
+     114,   114,   102,   114,   114,   112,   146,   133,   146,   146,
+     146,   146,   146,   161,   147,    12,   149,    72,   143,   101,
+     101,   146,   101,   146,   101,   146,    10,   101,    26,   146,
+      11,    20,    12,   101,    83,   146,   146,   101,   146,   102,
+     101,    20,    12,    20,    12,    20,    10,    21,   113,   122,
+       9,    20,    23,   132,   146,   133,   134,   146,   133,   136,
+     162,   164,   127,   131,   134,   135,   146,   114,   134,   134,
+     101,   101,   160,    26,   112,   101,   101,   101,    12,   146,
+      10,   156,    20,    12,   101,   161,    10,    10,    10,   114,
+     142,   114,    23,   101,   101,   101,   101,   102,   101,    20,
+     134,   101,   101,    12,    10,   101,    20,   143,   124,   160,
+     130,   130,     9,   115,   115,   134,   115,   132,   101,   115,
+     115,    74,    20,   112,   145,   117,    20,   115,   115,   116,
+      46,    47,   128,   128,   101,   129,    20,   115,   118,    10,
+     129,   129,   117,   115,   102,   115,   130,   129,    20,    26,
+     125,    10,   134,   129,   135,    22,    73,   126,   101,   101,
+     117,   115,   115,    74,   128
 };
 
 typedef enum {
@@ -1049,31 +1106,32 @@
 {
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
-  toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_opval,
+  toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
+  toketype_i_tkval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
-  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_p_tkval,
+  toketype_opval, toketype_p_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
+  toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
   toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
-  toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
-  toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_i_tkval,
+  toketype_i_tkval, toketype_i_tkval, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
   toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
-  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival,
-  toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_ival,
-  toketype_ival, toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
-  toketype_opval, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
-  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival,
-  toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval,
-  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
+  toketype_ival, toketype_ival, toketype_ival, toketype_i_tkval, toketype_ival, toketype_ival, toketype_ival, toketype_ival, toketype_ival,
+  toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_ival, toketype_opval,
+  toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+  toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+  toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+  toketype_opval, toketype_ival, toketype_ival, toketype_ival, toketype_opval,
   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
-  toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_i_tkval, toketype_ival,
+  toketype_opval, toketype_ival, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
+  toketype_opval, toketype_opval, toketype_opval, toketype_ival, toketype_opval, toketype_opval,
   toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval, toketype_opval,
-  toketype_opval
+  toketype_opval, toketype_opval, toketype_opval
 };
 
 /* Generated from:
- * bd41fc813e5d2d23ff7edef2ab1ef88bbb054176476b7d989db7522dce1c9328 perly.y
- * dc72db91baa0a3c17a6c95718e5ad70e9ac7b75919df1317df7fe6c3f1649239 regen_perly.pl
+ * 28c2c7738eefc00762e227af0363c729186c992e9127e0c935684cccbf3a3b4f perly.y
+ * 5c9d2a0262457fe9b70073fc8ad6c188f812f38ad57712b7e2f53daa01b297cc regen_perly.pl
  * ex: set ro: */


Property changes on: vendor/perl/dist/perly.tab
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/perly.y
===================================================================
--- vendor/perl/dist/perly.y	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/perly.y	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 /*    perly.y
  *
  *    Copyright (c) 1991-2002, 2003, 2004, 2005, 2006 Larry Wall
- *    Copyright (c) 2007, 2008 by Larry Wall and others
+ *    Copyright (c) 2007, 2008, 2009, 2010, 2011 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -71,10 +71,10 @@
 
 %token <ival> GRAMPROG GRAMEXPR GRAMBLOCK GRAMBARESTMT GRAMFULLSTMT GRAMSTMTSEQ
 
-%token <i_tkval> '{' '}' '[' ']' '-' '+' '$' '@' '%' '*' '&' ';'
+%token <i_tkval> '{' '}' '[' ']' '-' '+' '$' '@' '%' '*' '&' ';' '=' '.'
 
 %token <opval> WORD METHOD FUNCMETH THING PMFUNC PRIVATEREF QWLIST
-%token <opval> FUNC0SUB UNIOPSUB LSTOPSUB
+%token <opval> FUNC0OP FUNC0SUB UNIOPSUB LSTOPSUB
 %token <opval> PLUGEXPR PLUGSTMT
 %token <p_tkval> LABEL
 %token <i_tkval> FORMAT SUB ANONSUB PACKAGE USE
@@ -84,23 +84,22 @@
 %token <i_tkval> FUNC0 FUNC1 FUNC UNIOP LSTOP
 %token <i_tkval> RELOP EQOP MULOP ADDOP
 %token <i_tkval> DOLSHARP DO HASHBRACK NOAMP
-%token <i_tkval> LOCAL MY MYSUB REQUIRE
-%token <i_tkval> COLONATTR
+%token <i_tkval> LOCAL MY REQUIRE
+%token <i_tkval> COLONATTR FORMLBRACK FORMRBRACK
 
-%type <i_tkval> lpar_or_qw
-
 %type <ival> grammar remember mremember
 %type <ival>  startsub startanonsub startformsub
 /* FIXME for MAD - are these two ival? */
-%type <ival> mydefsv mintro
+%type <ival> mintro
 
 %type <opval> stmtseq fullstmt labfullstmt barestmt block mblock else
 %type <opval> expr term subscripted scalar ary hsh arylen star amper sideff
 %type <opval> listexpr nexpr texpr iexpr mexpr mnexpr miexpr
 %type <opval> optlistexpr optexpr indirob listop method
-%type <opval> formname subname proto subbody cont my_scalar
+%type <opval> formname subname proto subbody cont my_scalar formblock
 %type <opval> subattrlist myattrlist myattrterm myterm
 %type <opval> termbinop termunop anonymous termdo
+%type <opval> formstmtseq formline formarg
 
 %nonassoc <i_tkval> PREC_LOW
 %nonassoc LOOPEX
@@ -213,14 +212,20 @@
 			}
 	;
 
+/* format body */
+formblock:	'=' remember ';' FORMRBRACK formstmtseq ';' '.'
+			{ if (PL_parser->copline > (line_t)IVAL($1))
+			      PL_parser->copline = (line_t)IVAL($1);
+			  $$ = block_end($2, $5);
+			  TOKEN_GETMAD($1,$$,'{');
+			  TOKEN_GETMAD($7,$$,'}');
+			}
+	;
+
 remember:	/* NULL */	/* start a full lexical scope */
 			{ $$ = block_start(TRUE); }
 	;
 
-mydefsv:	/* NULL */	/* lexicalize $_ */
-			{ $$ = (I32) Perl_allocmy(aTHX_ STR_WITH_LEN("$_"), 0); }
-	;
-
 mblock	:	'{' mremember stmtseq '}'
 			{ if (PL_parser->copline > (line_t)IVAL($1))
 			      PL_parser->copline = (line_t)IVAL($1);
@@ -245,6 +250,17 @@
 			}
 	;
 
+/* A sequence of format lines */
+formstmtseq:	/* NULL */
+			{ $$ = (OP*)NULL; }
+	|	formstmtseq formline
+			{   $$ = op_append_list(OP_LINESEQ, $1, $2);
+			    PL_pad_reset_pending = TRUE;
+			    if ($1 && $2)
+				PL_hints |= HINT_BLOCK_SCOPE;
+			}
+	;
+
 /* A statement in the program, including optional labels */
 fullstmt:	barestmt
 			{
@@ -260,13 +276,17 @@
 
 labfullstmt:	LABEL barestmt
 			{
-			  $$ = newSTATEOP(0, PVAL($1), $2);
+			  $$ = newSTATEOP(SVf_UTF8
+					   * PVAL($1)[strlen(PVAL($1))+1],
+					  PVAL($1), $2);
 			  TOKEN_GETMAD($1,
 			      $2 ? cLISTOPx($$)->op_first : $$, 'L');
 			}
 	|	LABEL labfullstmt
 			{
-			  $$ = newSTATEOP(0, PVAL($1), $2);
+			  $$ = newSTATEOP(SVf_UTF8
+					   * PVAL($1)[strlen(PVAL($1))+1],
+					  PVAL($1), $2);
 			  TOKEN_GETMAD($1, cLISTOPx($$)->op_first, 'L');
 			}
 	;
@@ -279,10 +299,9 @@
 			  $$ = newOP(OP_NULL,0);
 			  TOKEN_GETMAD($1,$$,'p');
 			}
-	|	FORMAT startformsub formname block
+	|	FORMAT startformsub formname formblock
 			{
 			  CV *fmtcv = PL_compcv;
-			  SvREFCNT_inc_simple_void(PL_compcv);
 #ifdef MAD
 			  $$ = newFORM($2, $3, $4);
 			  prepend_madprops($1->tk_mad, $$, 'F');
@@ -292,44 +311,61 @@
 			  newFORM($2, $3, $4);
 			  $$ = (OP*)NULL;
 #endif
-			  if (CvOUTSIDE(fmtcv) && !CvUNIQUE(CvOUTSIDE(fmtcv))) {
+			  if (CvOUTSIDE(fmtcv) && !CvEVAL(CvOUTSIDE(fmtcv))) {
 			      SvREFCNT_inc_simple_void(fmtcv);
-			      pad_add_anon((SV*)fmtcv, OP_NULL);
+			      pad_add_anon(fmtcv, OP_NULL);
 			  }
 			}
-	|	SUB startsub subname proto subattrlist subbody
+	|	SUB subname startsub
 			{
+			  if ($2->op_type == OP_CONST) {
+			    const char *const name =
+				SvPV_nolen_const(((SVOP*)$2)->op_sv);
+			    if (strEQ(name, "BEGIN") || strEQ(name, "END")
+			      || strEQ(name, "INIT") || strEQ(name, "CHECK")
+			      || strEQ(name, "UNITCHECK"))
+			      CvSPECIAL_on(PL_compcv);
+			  }
+			  else
+			  /* State subs inside anonymous subs need to be
+			     clonable themselves. */
+			  if (CvANON(CvOUTSIDE(PL_compcv))
+			   || CvCLONE(CvOUTSIDE(PL_compcv))
+			   || !PadnameIsSTATE(PadlistNAMESARRAY(CvPADLIST(
+						CvOUTSIDE(PL_compcv)
+					     ))[$2->op_targ]))
+			      CvCLONE_on(PL_compcv);
+			  PL_parser->in_my = 0;
+			  PL_parser->in_my_stash = NULL;
+			}
+		proto subattrlist subbody
+			{
 			  SvREFCNT_inc_simple_void(PL_compcv);
 #ifdef MAD
 			  {
 			      OP* o = newSVOP(OP_ANONCODE, 0,
-				(SV*)newATTRSUB($2, $3, $4, $5, $6));
+				(SV*)(
+#endif
+			  $2->op_type == OP_CONST
+			      ? newATTRSUB($3, $2, $5, $6, $7)
+			      : newMYSUB($3, $2, $5, $6, $7)
+#ifdef MAD
+				));
 			      $$ = newOP(OP_NULL,0);
 			      op_getmad(o,$$,'&');
-			      op_getmad($3,$$,'n');
-			      op_getmad($4,$$,'s');
-			      op_getmad($5,$$,'a');
+			      op_getmad($2,$$,'n');
+			      op_getmad($5,$$,'s');
+			      op_getmad($6,$$,'a');
 			      token_getmad($1,$$,'d');
-			      append_madprops($6->op_madprop, $$, 0);
-			      $6->op_madprop = 0;
+			      append_madprops($7->op_madprop, $$, 0);
+			      $7->op_madprop = 0;
 			  }
 #else
-			  newATTRSUB($2, $3, $4, $5, $6);
+			  ;
 			  $$ = (OP*)NULL;
 #endif
+			  intro_my();
 			}
-	|	MYSUB startsub subname proto subattrlist subbody
-			{
-			  /* Unimplemented "my sub foo { }" */
-			  SvREFCNT_inc_simple_void(PL_compcv);
-#ifdef MAD
-			  $$ = newMYSUB($2, $3, $4, $5, $6);
-			  token_getmad($1,$$,'d');
-#else
-			  newMYSUB($2, $3, $4, $5, $6);
-			  $$ = (OP*)NULL;
-#endif
-			}
 	|	PACKAGE WORD WORD ';'
 			{
 #ifdef MAD
@@ -362,7 +398,7 @@
 			  $$ = (OP*)NULL;
 #endif
 			}
-	|	IF lpar_or_qw remember mexpr ')' mblock else
+	|	IF '(' remember mexpr ')' mblock else
 			{
 			  $$ = block_end($3,
 			      newCONDOP(0, $4, op_scope($6), $7));
@@ -371,7 +407,7 @@
 			  TOKEN_GETMAD($5,$$,')');
 			  PL_parser->copline = (line_t)IVAL($1);
 			}
-	|	UNLESS lpar_or_qw remember miexpr ')' mblock else
+	|	UNLESS '(' remember miexpr ')' mblock else
 			{
 			  $$ = block_end($3,
 			      newCONDOP(0, $4, op_scope($6), $7));
@@ -380,17 +416,22 @@
 			  TOKEN_GETMAD($5,$$,')');
 			  PL_parser->copline = (line_t)IVAL($1);
 			}
-	|	GIVEN lpar_or_qw remember mydefsv mexpr ')' mblock
+	|	GIVEN '(' remember mexpr ')' mblock
 			{
+			  const PADOFFSET offset = pad_findmy_pvs("$_", 0);
 			  $$ = block_end($3,
-				  newGIVENOP($5, op_scope($7), (PADOFFSET)$4));
+				  newGIVENOP($4, op_scope($6),
+				    offset == NOT_IN_PAD
+				    || PAD_COMPNAME_FLAGS_isOUR(offset)
+				      ? 0
+				      : offset));
 			  PL_parser->copline = (line_t)IVAL($1);
 			}
-	|	WHEN lpar_or_qw remember mexpr ')' mblock
+	|	WHEN '(' remember mexpr ')' mblock
 			{ $$ = block_end($3, newWHENOP($4, op_scope($6))); }
 	|	DEFAULT block
 			{ $$ = newWHENOP(0, op_scope($2)); }
-	|	WHILE lpar_or_qw remember texpr ')' mintro mblock cont
+	|	WHILE '(' remember texpr ')' mintro mblock cont
 			{
 			  $$ = block_end($3,
 				  newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -400,7 +441,7 @@
 			  TOKEN_GETMAD($5,$$,')');
 			  PL_parser->copline = (line_t)IVAL($1);
 			}
-	|	UNTIL lpar_or_qw remember iexpr ')' mintro mblock cont
+	|	UNTIL '(' remember iexpr ')' mintro mblock cont
 			{
 			  $$ = block_end($3,
 				  newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
@@ -410,7 +451,7 @@
 			  TOKEN_GETMAD($5,$$,')');
 			  PL_parser->copline = (line_t)IVAL($1);
 			}
-	|	FOR lpar_or_qw remember mnexpr ';' texpr ';' mintro mnexpr ')'
+	|	FOR '(' remember mnexpr ';' texpr ';' mintro mnexpr ')'
 		mblock
 			{
 			  OP *initop = IF_MAD($4 ? $4 : newOP(OP_NULL, 0), $4);
@@ -431,7 +472,7 @@
 			  TOKEN_GETMAD($10,$$,')');
 			  PL_parser->copline = (line_t)IVAL($1);
 			}
-	|	FOR MY remember my_scalar lpar_or_qw mexpr ')' mblock cont
+	|	FOR MY remember my_scalar '(' mexpr ')' mblock cont
 			{
 			  $$ = block_end($3, newFOROP(0, $4, $6, $8, $9));
 			  TOKEN_GETMAD($1,$$,'W');
@@ -440,7 +481,7 @@
 			  TOKEN_GETMAD($7,$$,')');
 			  PL_parser->copline = (line_t)IVAL($1);
 			}
-	|	FOR scalar lpar_or_qw remember mexpr ')' mblock cont
+	|	FOR scalar '(' remember mexpr ')' mblock cont
 			{
 			  $$ = block_end($4, newFOROP(0,
 				      op_lvalue($2, OP_ENTERLOOP), $5, $7, $8));
@@ -449,7 +490,7 @@
 			  TOKEN_GETMAD($6,$$,')');
 			  PL_parser->copline = (line_t)IVAL($1);
 			}
-	|	FOR lpar_or_qw remember mexpr ')' mblock cont
+	|	FOR '(' remember mexpr ')' mblock cont
 			{
 			  $$ = block_end($3,
 				  newFOROP(0, (OP*)NULL, $4, $6, $7));
@@ -466,15 +507,9 @@
 			}
 	|	PACKAGE WORD WORD '{' remember
 			{
-			  int save_3_latefree = $3->op_latefree;
-			  $3->op_latefree = 1;
 			  package($3);
-			  $3->op_latefree = save_3_latefree;
 			  if ($2) {
-			      int save_2_latefree = $2->op_latefree;
-			      $2->op_latefree = 1;
 			      package_version($2);
-			      $2->op_latefree = save_2_latefree;
 			  }
 			}
 		stmtseq '}'
@@ -482,9 +517,6 @@
 			  /* a block is a loop that happens once */
 			  $$ = newWHILEOP(0, 1, (LOOP*)(OP*)NULL,
 				  (OP*)NULL, block_end($5, $7), (OP*)NULL, 0);
-			  op_free($3);
-			  if ($2)
-			      op_free($2);
 			  TOKEN_GETMAD($4,$$,'{');
 			  TOKEN_GETMAD($8,$$,'}');
 			  if (PL_parser->copline > (line_t)IVAL($4))
@@ -505,6 +537,36 @@
 			}
 	;
 
+/* Format line */
+formline:	THING formarg
+			{ OP *list;
+			  if ($2) {
+			      OP *term = $2;
+			      DO_MAD(term = newUNOP(OP_NULL, 0, term));
+			      list = op_append_elem(OP_LIST, $1, term);
+			  }
+			  else {
+#ifdef MAD
+			      OP *op = newNULLLIST();
+			      list = op_append_elem(OP_LIST, $1, op);
+#else
+			      list = $1;
+#endif
+			  }
+			  if (PL_parser->copline == NOLINE)
+			       PL_parser->copline = CopLINE(PL_curcop)-1;
+			  else PL_parser->copline--;
+			  $$ = newSTATEOP(0, NULL,
+					  convert(OP_FORMLINE, 0, list));
+			}
+	;
+
+formarg	:	/* NULL */
+			{ $$ = NULL; }
+	|	FORMLBRACK stmtseq FORMRBRACK
+			{ $$ = op_unscope($2); }
+	;
+
 /* An expression which may have a side-effect */
 sideff	:	error
 			{ $$ = (OP*)NULL; }
@@ -544,7 +606,7 @@
 			  $$ = op_scope($2);
 			  TOKEN_GETMAD($1,$$,'o');
 			}
-	|	ELSIF lpar_or_qw mexpr ')' mblock else
+	|	ELSIF '(' mexpr ')' mblock else
 			{ PL_parser->copline = (line_t)IVAL($1);
 			    $$ = newCONDOP(0,
 				newSTATEOP(OPf_SPECIAL,NULL,$3),
@@ -625,12 +687,8 @@
 	;
 
 /* Name of a subroutine - must be a bareword, could be special */
-subname	:	WORD	{ const char *const name = SvPV_nolen_const(((SVOP*)$1)->op_sv);
-			  if (strEQ(name, "BEGIN") || strEQ(name, "END")
-			      || strEQ(name, "INIT") || strEQ(name, "CHECK")
-			      || strEQ(name, "UNITCHECK"))
-			      CvSPECIAL_on(PL_compcv);
-			  $$ = $1; }
+subname	:	WORD
+	|	PRIVATEREF
 	;
 
 /* Subroutine prototype */
@@ -732,7 +790,7 @@
 			  TOKEN_GETMAD($2,$$,'(');
 			  TOKEN_GETMAD($5,$$,')');
 			}
-	|	term ARROW method lpar_or_qw optexpr ')' /* $foo->bar(list) */
+	|	term ARROW method '(' optexpr ')' /* $foo->bar(list) */
 			{ $$ = convert(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST,
 				    op_prepend_elem(OP_LIST, scalar($1), $5),
@@ -816,7 +874,7 @@
 			  TOKEN_GETMAD($2,$$,'[');
 			  TOKEN_GETMAD($4,$$,']');
 			}
-	|	scalar '{' expr ';' '}'    /* $foo->{bar();} */
+	|	scalar '{' expr ';' '}'    /* $foo{bar();} */
 			{ $$ = newBINOP(OP_HELEM, 0, oopsHV($1), jmaybe($3));
 			    PL_parser->expect = XOPERATOR;
 			  TOKEN_GETMAD($2,$$,'{');
@@ -858,7 +916,7 @@
 			  TOKEN_GETMAD($5,$$,')');
 			}
 
-	|	subscripted lpar_or_qw expr ')'   /* $foo->{bar}->(@args) */
+	|	subscripted '(' expr ')'   /* $foo->{bar}->(@args) */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   op_append_elem(OP_LIST, $3,
 					       newCVREF(0, scalar($1))));
@@ -865,7 +923,7 @@
 			  TOKEN_GETMAD($2,$$,'(');
 			  TOKEN_GETMAD($4,$$,')');
 			}
-	|	subscripted lpar_or_qw ')'        /* $foo->{bar}->() */
+	|	subscripted '(' ')'        /* $foo->{bar}->() */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				   newCVREF(0, scalar($1)));
 			  TOKEN_GETMAD($2,$$,'(');
@@ -941,7 +999,7 @@
 			      op = (UNOP*)op->op_first;	/* get to flip */
 			      op = (UNOP*)op->op_first;	/* get to range */
 			      token_getmad($2,(OP*)op,'o');
-			    })
+			    });
 			}
 	|	term ANDAND term                       /* $x && $y */
 			{ $$ = newLOGOP(OP_AND, 0, $1, $3);
@@ -1049,7 +1107,7 @@
 			{ $$ = newUNOP(OP_NULL, OPf_SPECIAL, op_scope($2));
 			  TOKEN_GETMAD($1,$$,'D');
 			}
-	|	DO WORD lpar_or_qw ')'                  /* do somesub() */
+	|	DO subname '(' ')'                  /* do somesub() */
 			{ $$ = newUNOP(OP_ENTERSUB,
 			    OPf_SPECIAL|OPf_STACKED,
 			    op_prepend_elem(OP_LIST,
@@ -1061,7 +1119,7 @@
 			  TOKEN_GETMAD($3,$$,'(');
 			  TOKEN_GETMAD($4,$$,')');
 			}
-	|	DO WORD lpar_or_qw expr ')'             /* do somesub(@args) */
+	|	DO subname '(' expr ')'             /* do somesub(@args) */
 			{ $$ = newUNOP(OP_ENTERSUB,
 			    OPf_SPECIAL|OPf_STACKED,
 			    op_append_elem(OP_LIST,
@@ -1074,7 +1132,7 @@
 			  TOKEN_GETMAD($3,$$,'(');
 			  TOKEN_GETMAD($5,$$,')');
 			}
-	|	DO scalar lpar_or_qw ')'                /* do $subref () */
+	|	DO scalar '(' ')'                /* do $subref () */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
 			    op_prepend_elem(OP_LIST,
 				scalar(newCVREF(0,scalar($2))), (OP*)NULL)); dep();
@@ -1082,7 +1140,7 @@
 			  TOKEN_GETMAD($3,$$,'(');
 			  TOKEN_GETMAD($4,$$,')');
 			}
-	|	DO scalar lpar_or_qw expr ')'           /* do $subref (@args) */
+	|	DO scalar '(' expr ')'           /* do $subref (@args) */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_SPECIAL|OPf_STACKED,
 			    op_prepend_elem(OP_LIST,
 				$4,
@@ -1161,12 +1219,12 @@
 			{ $$ = $1; }
 	|	amper                                /* &foo; */
 			{ $$ = newUNOP(OP_ENTERSUB, 0, scalar($1)); }
-	|	amper lpar_or_qw ')'                 /* &foo() */
+	|	amper '(' ')'                 /* &foo() */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar($1));
 			  TOKEN_GETMAD($2,$$,'(');
 			  TOKEN_GETMAD($3,$$,')');
 			}
-	|	amper lpar_or_qw expr ')'            /* &foo(@args) */
+	|	amper '(' expr ')'            /* &foo(@args) */
 			{
 			  $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				op_append_elem(OP_LIST, $3, scalar($1)));
@@ -1177,9 +1235,9 @@
 			      }
 			      token_getmad($2,op,'(');
 			      token_getmad($4,op,')');
-			  })
+			  });
 			}
-	|	NOAMP WORD optlistexpr               /* foo(@args) */
+	|	NOAMP subname optlistexpr               /* foo(@args) */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
 			    op_append_elem(OP_LIST, $3, scalar($2)));
 			  TOKEN_GETMAD($1,$$,'o');
@@ -1232,6 +1290,13 @@
 			  TOKEN_GETMAD($2,$$,'(');
 			  TOKEN_GETMAD($3,$$,')');
 			}
+	|	FUNC0OP       /* Same as above, but op created in toke.c */
+			{ $$ = $1; }
+	|	FUNC0OP '(' ')'
+			{ $$ = $1;
+			  TOKEN_GETMAD($2,$$,'(');
+			  TOKEN_GETMAD($3,$$,')');
+			}
 	|	FUNC0SUB                             /* Sub treated as nullop */
 			{ $$ = newUNOP(OP_ENTERSUB, OPf_STACKED,
 				scalar($1)); }
@@ -1250,11 +1315,22 @@
 			  TOKEN_GETMAD($2,$$,'(');
 			  TOKEN_GETMAD($4,$$,')');
 			}
-	|	PMFUNC '(' listexpr ')'		/* m//, s///, tr/// */
-			{ $$ = pmruntime($1, $3, 1);
-			  TOKEN_GETMAD($2,$$,'(');
-			  TOKEN_GETMAD($4,$$,')');
+	|	PMFUNC /* m//, s///, qr//, tr/// */
+			{
+			    if (   $1->op_type != OP_TRANS
+			        && $1->op_type != OP_TRANSR
+				&& (((PMOP*)$1)->op_pmflags & PMf_HAS_CV))
+			    {
+				$<ival>$ = start_subparse(FALSE, CVf_ANON);
+				SAVEFREESV(PL_compcv);
+			    } else
+				$<ival>$ = 0;
 			}
+		    '(' listexpr ')'
+			{ $$ = pmruntime($1, $4, 1, $<ival>2);
+			  TOKEN_GETMAD($3,$$,'(');
+			  TOKEN_GETMAD($5,$$,')');
+			}
 	|	WORD
 	|	listop
 	|	YADAYADA
@@ -1273,7 +1349,7 @@
 			      token_getmad($1,$$,'d');
 			      append_madprops($3->op_madprop, $$, 'a');
 			      $3->op_madprop = 0;
-			  )
+			  );
 			}
 	|	MY myterm
 			{ $$ = localize($2,IVAL($1));
@@ -1313,14 +1389,6 @@
 			{ $$ = $1; }
 	;
 
-lpar_or_qw:	'('
-			{ $$ = $1; }
-	|	QWLIST
-			{ munge_qwlist_to_paren_list($1); }
-		'('
-			{ $$ = $3; }
-	;
-
 /* A little bit of trickery to make "for my $foo (@bar)" actually be
    lexical */
 my_scalar:	scalar


Property changes on: vendor/perl/dist/perly.y
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/plan9/aperl
===================================================================
--- vendor/perl/dist/plan9/aperl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/aperl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/aperl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/arpa/inet.h
===================================================================
--- vendor/perl/dist/plan9/arpa/inet.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/arpa/inet.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/arpa/inet.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/buildinfo
===================================================================
--- vendor/perl/dist/plan9/buildinfo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/buildinfo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/buildinfo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/plan9/config.plan9
===================================================================
--- vendor/perl/dist/plan9/config.plan9	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/config.plan9	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3385,8 +3385,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.14.0"		/**/
-#define PRIVLIB_EXP "/sys/lib/perl/5.14.0"		/**/
+#define PRIVLIB "/sys/lib/perl/5.18.1"		/**/
+#define PRIVLIB_EXP "/sys/lib/perl/5.18.1"		/**/
 
 /* PTRSIZE:
  *	This symbol contains the size of a pointer, so that the C preprocessor
@@ -3513,9 +3513,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.14.0/site_perl"		/**/
-#define SITELIB_EXP "/sys/lib/perl/5.14.0/site_perl"		/**/
-#define SITELIB_STEM "/sys/lib/perl/5.14.0/site_perl"		/**/
+#define SITELIB "/sys/lib/perl/5.18.1/site_perl"		/**/
+#define SITELIB_EXP "/sys/lib/perl/5.18.1/site_perl"		/**/
+#define SITELIB_STEM "/sys/lib/perl/5.18.1/site_perl"		/**/
 
 /* Size_t_size:
  *	This symbol holds the size of a Size_t in bytes.


Property changes on: vendor/perl/dist/plan9/config.plan9
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/plan9/config_h.sample
===================================================================
--- vendor/perl/dist/plan9/config_h.sample	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/config_h.sample	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
  * that running config_h.SH again will wipe out any changes you've made.
  * For a more permanent change edit config.sh and rerun config_h.SH.
  *
- * $Id: config_h.sample,v 1.1.1.1 2011-05-19 23:03:37 laffer1 Exp $
+ * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
  */
 
 /*


Property changes on: vendor/perl/dist/plan9/config_h.sample
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/plan9/config_sh.sample
===================================================================
--- vendor/perl/dist/plan9/config_sh.sample	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/config_sh.sample	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,11 +33,11 @@
 aphostname='/bin/uname -n'
 api_revision='5'
 api_subversion='0'
-api_version='14'
-api_versionstring='5.14.0'
+api_version='18'
+api_versionstring='5.18.1'
 ar='ar'
-archlib='/sys/lib/perl5/5.14.0/386'
-archlibexp='/sys/lib/perl5/5.14.0/386'
+archlib='/sys/lib/perl5/5.18.1/386'
+archlibexp='/sys/lib/perl5/5.18.1/386'
 archname64=''
 archname='386'
 archobjs=''
@@ -48,6 +48,7 @@
 bin='/usr/bin'
 binexp='/usr/bin'
 bison='bison'
+bootstrap_charset='undef'
 byacc='byacc'
 byteorder='1234'
 c=''
@@ -122,9 +123,9 @@
 d_attribute_warn_unused_result='undef'
 d_bcmp='define'
 d_bcopy='define'
+d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
-d_bsd='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
 d_bzero='define'
@@ -142,11 +143,11 @@
 d_const='define'
 d_copysignl='undef'
 d_cplusplus='undef'
+d_crypt='undef'
 d_crypt_r='undef'
-d_crypt='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
-d_ctermid='undef'
 d_ctime64='undef'
 d_ctime_r='undef'
 d_cuserid='define'
@@ -161,8 +162,8 @@
 d_dlopen='undef'
 d_dlsymun='undef'
 d_dosuid='undef'
+d_drand48_r='undef'
 d_drand48proto='undef'
-d_drand48_r='undef'
 d_dup2='define'
 d_eaccess='undef'
 d_endgrent='define'
@@ -183,23 +184,23 @@
 d_fchdir='undef'
 d_fchmod='define'
 d_fchown='undef'
+d_fcntl='define'
 d_fcntl_can_lock='undef'
-d_fcntl='define'
 d_fd_macros='undef'
+d_fd_set='undef'
 d_fds_bits='undef'
-d_fd_set='undef'
 d_fgetpos='define'
+d_finite='undef'
 d_finitel='undef'
-d_finite='undef'
 d_flexfnam='define'
+d_flock='undef'
 d_flockproto='undef'
-d_flock='undef'
 d_fork='define'
+d_fp_class='undef'
 d_fpathconf='define'
+d_fpclass='undef'
 d_fpclassify='undef'
 d_fpclassl='undef'
-d_fp_class='undef'
-d_fpclass='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -233,8 +234,8 @@
 d_getitimer='undef'
 d_getlogin='define'
 d_getlogin_r='undef'
+d_getmnt='undef'
 d_getmntent='undef'
-d_getmnt='undef'
 d_getnameinfo='undef'
 d_getnbyaddr='undef'
 d_getnbyname='undef'
@@ -268,8 +269,8 @@
 d_getservbyport_r='undef'
 d_getservent_r='undef'
 d_getservprotos='undef'
+d_getspnam='undef'
 d_getspnam_r='undef'
-d_getspnam='undef'
 d_gettimeod='define'
 d_gmtime64='undef'
 d_gmtime_r='undef'
@@ -284,11 +285,16 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='define'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='undef'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='undef'
+d_isnan='undef'
 d_isnanl='undef'
-d_isnan='undef'
 d_killpg='undef'
 d_lchown='undef'
 d_ldbl_dig='define'
@@ -295,8 +301,8 @@
 d_libm_lib_version='0'
 d_link='define'
 d_localtime64='undef'
+d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
-d_localtime_r='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
@@ -317,26 +323,26 @@
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='define'
+d_mkstemp='undef'
 d_mkstemps='undef'
-d_mkstemp='undef'
 d_mktime64='undef'
 d_mktime='define'
 d_mmap='undef'
+d_modfl='undef'
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
-d_modfl='undef'
 d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
 d_msg_ctrunc='undef'
 d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
 d_msg_oob='undef'
 d_msg_peek='undef'
 d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
 d_msgrcv='undef'
 d_msgsnd='undef'
-d_msg='undef'
 d_msync='undef'
 d_munmap='undef'
 d_mymalloc='define'
@@ -447,6 +453,7 @@
 d_sin6_scope_id='undef'
 d_sitearch='define'
 d_snprintf='undef'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -670,6 +677,7 @@
 i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -718,17 +726,17 @@
 inc_version_list_init='0'
 incpath=''
 inews=''
-installarchlib='/sys/lib/perl/5.14.0/386'
+installarchlib='/sys/lib/perl/5.18.1/386'
 installbin='/usr/bin'
 installman1dir='/sys/man/1pub'
 installman3dir='/sys/man/2pub'
 installprefix='/usr'
 installprefixexp='/usr'
-installprivlib='/sys/lib/perl/5.14.0'
+installprivlib='/sys/lib/perl/5.18.1'
 installscript='/usr/bin'
-installsitearch='/sys/lib/perl/5.14.0/site_perl/386'
+installsitearch='/sys/lib/perl/5.18.1/site_perl/386'
 installsitebin='/usr/bin'
-installsitelib='/sys/lib/perl/5.14.0/site_perl'
+installsitelib='/sys/lib/perl/5.18.1/site_perl'
 installstyle='lib/perl5'
 installusrbinperl='undef'
 installvendorarch=''
@@ -813,8 +821,8 @@
 nvEUformat='"E"'
 nvFUformat='"F"'
 nvGUformat='"G"'
+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'
 nv_preserves_uv_bits='31'
-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'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
@@ -848,8 +856,8 @@
 pr=''
 prefix='/usr'
 prefixexp='/usr'
-privlib='/sys/lib/perl/5.14.0'
-privlibexp='/sys/lib/perl/5.14.0'
+privlib='/sys/lib/perl/5.18.1'
+privlibexp='/sys/lib/perl/5.18.1'
 procselfexe=''
 prototype='define'
 ptrsize='4'
@@ -914,13 +922,13 @@
 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.14.0/site_perl/386'
+sitearch='/sys/lib/perl/5.18.1/site_perl/386'
 sitearchexp='/sys/lib/perl/site_perl/386'
 sitebin='/usr/bin'
 sitebinexp='/usr/bin'
-sitelib='/sys/lib/perl/5.14.0/site_perl'
-sitelib_stem='/sys/lib/perl/5.14.0/site_perl'
-sitelibexp='/sys/lib/perl/5.14.0/site_perl'
+sitelib='/sys/lib/perl/5.18.1/site_perl'
+sitelib_stem='/sys/lib/perl/5.18.1/site_perl'
+sitelibexp='/sys/lib/perl/5.18.1/site_perl'
 siteprefix='/usr'
 siteprefixexp='/usr'
 sizesize='4'
@@ -938,6 +946,8 @@
 srandom_r_proto='0'
 src='.'
 ssizetype='ssize_t'
+st_ino_sign='1'
+st_ino_size='4'
 startperl='#!/bin/perl'
 startsh='#!/bin/sh'
 static_ext='B ByteLoader Cwd Data/Dumper Devel/DProf Devel/PPPort Devel/Peek Digest/MD5 Encode Fcntl File/Glob Filter/Util/Call IO List/Util MIME/Base64 Opcode POSIX PerlIO/encoding PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Time/HiRes Unicode/Collate Unicode/Normalize attributes re threads threads/shared Encode/Byte Encode/CN Encode/EBCDIC Encode/JP Encode/KR Encode/Symbol Encode/TW Encode/Unicode'
@@ -951,7 +961,7 @@
 strerror_r_proto='0'
 strings='/sys/include/ape/string.h'
 submit=''
-subversion='0'
+subversion='1'
 sysman='/sys/man/1pub'
 tail=''
 tar=''
@@ -992,6 +1002,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='define'
 uselongdouble='undef'
 usemallocwrap='undef'
@@ -999,6 +1010,7 @@
 usemultiplicity='undef'
 usemymalloc='y'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='define'
 useposix='true'
@@ -1029,8 +1041,8 @@
 vendorlibexp=''
 vendorprefix=''
 vendorprefixexp=''
-version='5.14.0'
-version_patchlevel_string='version 14 subversion 0'
+version='5.18.1'
+version_patchlevel_string='version 18 subversion 1'
 versiononly='undef'
 vi=''
 voidflags='15'
@@ -1044,10 +1056,10 @@
 config_args=''
 config_argc=0
 PERL_REVISION=5
-PERL_VERSION=14
-PERL_SUBVERSION=0
+PERL_VERSION=18
+PERL_SUBVERSION=1
 PERL_API_REVISION=5
-PERL_API_VERSION=14
+PERL_API_VERSION=18
 PERL_API_SUBVERSION=0
 PERL_PATCHLEVEL=
 PERL_CONFIG_SH=true


Property changes on: vendor/perl/dist/plan9/config_sh.sample
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/exclude
===================================================================
--- vendor/perl/dist/plan9/exclude	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/exclude	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/exclude
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/fndvers
===================================================================
--- vendor/perl/dist/plan9/fndvers	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/fndvers	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/fndvers
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/genconfig.pl
===================================================================
--- vendor/perl/dist/plan9/genconfig.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/genconfig.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/genconfig.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/plan9/mkfile
===================================================================
--- vendor/perl/dist/plan9/mkfile	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/mkfile	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,10 +20,10 @@
 installman1dir = /sys/man/1
 installman3dir = /sys/man/2
 
-podnames = perl perlbook perlboot perlbot perldata perldebtut perldiag perldsc perlform perlfunc perlipc perllexwarn perllol perlmod perlmodlib perlmodinstall perlnewmod perlop perlopentut perlpacktut perlpod perlport perlrequick perlretut perlref perlreftut perlrequick perlrun perlsec perlstyle perlsub perlsyn perltie perltoc perltooc perltoot perltrap perlutil perlunifaq perluniintro perlvar
+podnames = perl perlbook perldata perldebtut perldiag perldsc perlform perlfunc perlipc perllexwarn perllol perlmod perlmodlib perlmodinstall perlnewmod perlop perlootut perlopentut perlpacktut perlpod perlport perlrequick perlretut perlref perlreftut perlrequick perlrun perlsec perlstyle perlsub perlsyn perltie perltrap perlutil perlunifaq perluniintro perlvar
 faqpodnames = perlfaq perlfaq1 perlfaq2 perlfaq3 perlfaq4 perlfaq5 perlfaq6 perlfaq7 perlfaq8 perlfaq9
 advpodnames = perlapi perlapio perlcall perlclib perlcompile perldebguts perldbmfilter perldebug perldelta perldiag perlebcdic perlembed perlfilter perlfork perlguts perlhack perlintern perliol perllocale perlnumber perlobj perlpodspec perlre perlthrtut perltodo perlunicode perlxs perlxs perlxstut
-archpodnames = perlaix perlamiga perlbeos perlbs2000 perlce perlcygwin perldgux perldos perlepoc perlfreebsd perlhpux perlhurd perlirix perlmacos perlmpeix perlnetware perlos2 perlos390 perlos400 perlplan9 perlqnx perlsolaris perltru64 perluts perlvmesa perlvms perlvos perlwin32
+archpodnames = perlaix perlamiga perlbeos perlbs2000 perlce perlcygwin perldgux perldos perlfreebsd perlhpux perlhurd perlirix perlmacos perlmpeix perlnetware perlos2 perlos390 perlos400 perlplan9 perlqnx perlsolaris perltru64 perlvms perlvos perlwin32
 histpods = perl5004delta perl5005delta perl561delta perl56delta perl570delta perl571delta perl572delta perl573delta perl58delta perlhist
 
 libpods = ${podnames:%=pod/%.pod}


Property changes on: vendor/perl/dist/plan9/mkfile
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/myconfig.plan9
===================================================================
--- vendor/perl/dist/plan9/myconfig.plan9	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/myconfig.plan9	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/myconfig.plan9
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/plan9.c
===================================================================
--- vendor/perl/dist/plan9/plan9.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/plan9.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/plan9.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/plan9ish.h
===================================================================
--- vendor/perl/dist/plan9/plan9ish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/plan9ish.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/plan9ish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/setup.rc
===================================================================
--- vendor/perl/dist/plan9/setup.rc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/setup.rc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/setup.rc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/plan9/versnum
===================================================================
--- vendor/perl/dist/plan9/versnum	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/plan9/versnum	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/plan9/versnum
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/Makefile.SH
===================================================================
--- vendor/perl/dist/pod/Makefile.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/Makefile.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -55,9 +55,7 @@
 $spitshell >>Makefile <<'!NO!SUBS!'
 
 HTMLROOT = /	# Change this to fix cross-references in HTML
-POD2HTML_ARGS = --htmlroot=$(HTMLROOT) \
-	    --podroot=.. --podpath=pod:lib:ext:vms \
-	    --libpods=perlfunc:perlguts:perlvar:perlrun:perlop
+POD2HTML_ARGS = --htmlroot=$(HTMLROOT) --podroot=.. --podpath=pod:lib:ext:vms
 POD2HTML = ../ext/Pod-Html/pod2html
 POD2MAN = ../cpan/podlators/pod2man
 POD2LATEX = ../cpan/Pod-LaTeX/pod2latex
@@ -76,7 +74,7 @@
 tex:	$(POD2LATEX) $(TEX)
 
 toc perltoc.pod:	buildtoc
-	$(PERLILIB) buildtoc --build-toc
+	$(PERLILIB) buildtoc
 
 .SUFFIXES: .pm .pod
 


Property changes on: vendor/perl/dist/pod/Makefile.SH
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/buildtoc
===================================================================
--- vendor/perl/dist/pod/buildtoc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/buildtoc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,338 +1,45 @@
 #!/usr/bin/perl -w
 
 use strict;
-use vars qw($masterpodfile %Build %Targets $Verbose $Quiet %Ignore
-	    @Master %Readmes %Pods %Aux %Readmepods %Pragmata %Modules
-	    %Copies %Generated $Test);
+use vars qw($Quiet);
 use File::Spec;
-use File::Find;
 use FindBin;
-use Text::Tabs;
 use Text::Wrap;
 use Getopt::Long;
-use Carp;
 
 no locale;
-require 5.010;
 
-{
+# Assumption is that we're either already being run from the top level (*nix,
+# VMS), or have absolute paths in @INC (Win32, pod/Makefile)
+BEGIN {
   my $Top = File::Spec->catdir($FindBin::Bin, File::Spec->updir);
-
-  sub abs_from_top {
-    my $path = shift;
-    return File::Spec->catdir($Top, split /\//, $path) if $path =~ s!/\z!!;
-    return File::Spec->catfile($Top, split /\//, $path);
-  }
+  chdir $Top or die "Can't chdir to $Top: $!";
+  require 'Porting/pod_lib.pl';
 }
 
-$masterpodfile = abs_from_top('pod.lst');
+die "$0: Usage: $0 [--quiet]\n"
+    unless GetOptions (quiet => \$Quiet) && !@ARGV;
 
-# Generate any/all of these files
-# --verbose gives slightly more output
-# --quiet suppresses routine warnings
-# --build-all tries to build everything
-# --build-foo updates foo as follows
-# --showfiles shows the files to be changed
-# --test exit if perl.pod, pod.lst, MANIFEST are consistent, and regenerated
-#   files are up to date, die otherwise.
+my $state = get_pod_metadata(0, sub { warn @_ if @_ }, 'pod/perltoc.pod');
 
-%Targets
-  = (
-     toc => 'pod/perltoc.pod',
-     manifest => 'MANIFEST',
-     perlpod => 'pod/perl.pod',
-     vms => 'vms/descrip_mms.template',
-     nmake => 'win32/Makefile',
-     dmake => 'win32/makefile.mk',
-     podmak => 'win32/pod.mak',
-     # plan9 =>  'plan9/mkfile'),
-     unix => 'Makefile.SH',
-     # TODO: add roffitall
-    );
+my $found = pods_to_install();
 
-foreach (values %Targets) {
-  $_ = abs_from_top($_);
-}
+my_die "Can't find any pods!\n" unless %$found;
 
-{
-  my @files = keys %Targets;
-  my $filesopts = join(" | ", map { "--build-$_" } "all", sort @files);
-  my $showfiles;
-  my %build_these;
-  die <<__USAGE__
-$0: Usage: $0 [--verbose] [--showfiles] $filesopts
-__USAGE__
-  unless @ARGV
-	&& GetOptions (verbose => \$Verbose,
-		       quiet => \$Quiet,
-		       showfiles => \$showfiles,
-		       test => \$Test,
-		       map {+"build-$_", \$build_these{$_}} @files, 'all');
-  if ($build_these{all}) {
-    %Build = %Targets;
-  } else {
-    while (my ($file, $want) = each %build_these) {
-      $Build{$file} = $Targets{$file} if $want;
-    }
-  }
-  if ($showfiles) {
-      print
-	  join(" ",
-	       sort { lc $a cmp lc $b }
-	       map {
-		   my ($v, $d, $f) = File::Spec->splitpath($_);
-		   my @d;
-		   @d = defined $d ? File::Spec->splitdir($d) : ();
-		   shift @d if @d;
-		   File::Spec->catfile(@d ?
-				       (@d == 1 && $d[0] eq '' ? () : @d)
-				       : "pod", $f);
-	       } @Targets{@files}),
-          "\n";
-      exit(0);
-  }
-}
+# Accumulating everything into a lexical before writing to disk dates from the
+# time when this script also provided the functionality of regen/pod_rules.pl
+# and this code was in a subroutine do_toc(). In turn, the use of a file scoped
+# lexical instead of a parameter or return value is because the code dates back
+# further still, and used *only* to create pod/perltoc.pod by printing direct
 
-# Don't copy these top level READMEs
-%Ignore
-  = (
-     micro => 1,
-#     vms => 1,
-     );
-
-if ($Verbose) {
-  print "I'm building $_\n" foreach keys %Build;
-}
-
-open my $master, '<', $masterpodfile or die "$0: Can't open $masterpodfile: $!";
-
-my ($delta_source, $delta_target);
-
-foreach (<$master>) {
-  next if /^\#/;
-
-  # At least one upper case letter somewhere in the first group
-  if (/^(\S+)\s(.*)/ && $1 =~ tr/h//) {
-    # it's a heading
-    my $flags = $1;
-    $flags =~ tr/h//d;
-    my %flags = (header => 1);
-    $flags{toc_omit} = 1 if $flags =~ tr/o//d;
-    $flags{aux} = 1 if $flags =~ tr/a//d;
-    die "$0: Unknown flag found in heading line: $_" if length $flags;
-    push @Master, [\%flags, $2];
-
-  } elsif (/^(\S*)\s+(\S+)\s+(.*)/) {
-    # it's a section
-    my ($flags, $filename, $desc) = ($1, $2, $3);
-
-    my %flags = (indent => 0);
-    $flags{indent} = $1 if $flags =~ s/(\d+)//;
-    $flags{toc_omit} = 1 if $flags =~ tr/o//d; 
-    $flags{aux} = 1 if $flags =~ tr/a//d;
-
-    if ($flags =~ tr/D//d) {
-      $flags{manifest_omit} = 1;
-      $delta_source = "$filename.pod";
-    }
-    if ($flags =~ tr/d//d) {
-      $flags{perlpod_omit} = 1;
-      $delta_target = "$filename.pod";
-    }
-    $Generated{"$filename.pod"}++ if $flags =~ tr/g//d;
-
-    if ($flags =~ tr/r//d) {
-      my $readme = $filename;
-      $readme =~ s/^perl//;
-      $Readmepods{$filename} = $Readmes{$readme} = $desc;
-      $flags{readme} = 1;
-    } elsif ($flags{aux}) {
-      $Aux{$filename} = $desc;
-    } else {
-      $Pods{$filename} = $desc;
-    }
-    die "$0: Unknown flag found in section line: $_" if length $flags;
-    push @Master, [\%flags, $filename, $desc];
-  } elsif (/^$/) {
-    push @Master, undef;
-  } else {
-    die "$0: Malformed line: $_" if $1 =~ tr/A-Z//;
-  }
-}
-if (defined $delta_source) {
-  if (defined $delta_target) {
-    # This way round so that keys can act as a MANIFEST skip list
-    # Targets will aways be in the pod directory. Currently we can only cope
-    # with sources being in the same directory.
-    $Copies{$delta_target} = $delta_source;
-  } else {
-    die "$0: delta source defined but not target";
-  }
-} elsif (defined $delta_target) {
-  die "$0: delta target defined but not source";
-}
-
-close $master;
-
-# Sanity cross check
-{
-  my (%disk_pods, @disk_pods);
-  my (@manipods, %manipods);
-  my (@manireadmes, %manireadmes);
-  my (@perlpods, %perlpods);
-  my (%our_pods);
-
-  # Convert these to a list of filenames.
-  foreach (keys %Pods, keys %Readmepods) {
-    $our_pods{"$_.pod"}++;
-  }
-
-  opendir my $dh, abs_from_top('pod/');
-  while (readdir $dh) {
-    next unless /\.pod\z/;
-    push @disk_pods, $_;
-    ++$disk_pods{$_};
-  }
-
-  # Things we copy from won't be in perl.pod
-  # Things we copy to won't be in MANIFEST
-
-  my $filename = abs_from_top('MANIFEST');
-  open my $mani, '<', $filename or die "$0: opening $filename failed: $!";
-  while (<$mani>) {
-    if (m!^pod/([^.]+\.pod)\s+!i) {
-      push @manipods, $1;
-    } elsif (m!^README\.(\S+)\s+!i) {
-      next if $Ignore{$1};
-      push @manireadmes, "perl$1.pod";
-    }
-  }
-  close $mani or die $!;
-  @manipods{@manipods} = @manipods;
-  @manireadmes{@manireadmes} = @manireadmes;
-
-  $filename = abs_from_top('pod/perl.pod');
-  open my $perlpod, '<', $filename or die "$0: opening $filename failed: $!\n";
-  while (<$perlpod>) {
-    if (/^For ease of access, /../^\(If you're intending /) {
-      if (/^\s+(perl\S*)\s+\w/) {
-	push @perlpods, "$1.pod";
-      }
-    }
-  }
-  close $perlpod or die $!;
-  die "$0: could not find the pod listing of perl.pod\n"
-    unless @perlpods;
-  @perlpods{@perlpods} = @perlpods;
-
-  my @inconsistent;
-  foreach my $i (sort keys %disk_pods) {
-    push @inconsistent, "$0: $i exists but is unknown by buildtoc\n"
-      unless $our_pods{$i};
-    push @inconsistent, "$0: $i exists but is unknown by ../MANIFEST\n"
-      if !$manipods{$i} && !$manireadmes{$i} && !$Copies{$i} && !$Generated{$i};
-    push @inconsistent, "$0: $i exists but is unknown by perl.pod\n"
-	if !$perlpods{$i} && !exists $Copies{$i};
-  }
-  my %BuildFiles;
-  foreach my $path (values %Build) {
-    (undef, undef, my $file) = File::Spec->splitpath($path);
-    ++$BuildFiles{$file}
-  }
-
-  foreach my $i (sort keys %our_pods) {
-    push @inconsistent, "$0: $i is known by buildtoc but does not exist\n"
-      unless $disk_pods{$i} or $BuildFiles{$i};
-  }
-  foreach my $i (sort keys %manipods) {
-    push @inconsistent, "$0: $i is known by ../MANIFEST but does not exist\n"
-      unless $disk_pods{$i};
-    push @inconsistent, "$0: $i is known by ../MANIFEST but is marked as generated\n"
-      if $Generated{$i};
-  }
-  foreach my $i (sort keys %perlpods) {
-    push @inconsistent, "$0: $i is known by perl.pod but does not exist\n"
-      unless $disk_pods{$i} or $BuildFiles{$i};
-  }
-  if ($Test) {
-    delete $Build{toc};
-    printf "1..%d\n", 1 + scalar keys %Build;
-    if (@inconsistent) {
-      print "not ok 1\n";
-      die @inconsistent
-    }
-    print "ok 1\n";
-  }
-  else {
-    warn @inconsistent if @inconsistent;
-  }
-}
-
-# Find all the modules
-if ($Build{toc}) {
-  my @modpods;
-  find \&getpods => abs_from_top('lib/');
-
-  sub getpods {
-    if (/\.p(od|m)$/) {
-      my $file = $File::Find::name;
-      return if $file =~ qr!/lib/Pod/Functions.pm\z!; # Used only by pod itself
-      return if $file =~ m!(?:^|/)t/!;
-      return if $file =~ m!lib/Attribute/Handlers/demo/!;
-      return if $file =~ m!lib/Net/FTP/.+\.pm!; # Hi, Graham! :-)
-      return if $file =~ m!lib/Math/BigInt/t/!;
-      return if $file =~ m!/Devel/PPPort/[Hh]arness|lib/Devel/Harness!i;
-      return if $file =~ m!XS/(?:APItest|Typemap)!;
-      my $pod = $file;
-      return if $pod =~ s/pm$/pod/ && -e $pod;
-      unless (open my $f, '<', $_) {
-	warn "$0: bogus <$file>: $!";
-	system "ls", "-l", $file;
-      }
-      else {
-	my $line;
-	while ($line = <$f>) {
-	  if ($line =~ /^=head1\s+NAME\b/) {
-	    push @modpods, $file;
-	    return;
-	  }
-	}
-	warn "$0: $file: cannot find =head1 NAME\n" unless $Quiet;
-      }
-    }
-  }
-
-  die "$0: no pods" unless @modpods;
-
-  my %done;
-  for (@modpods) {
-    my $name = $_;
-    $name =~ s/\.p(m|od)$//;
-    $name =~ s-.*?/lib/--;
-    $name =~ s-/-::-g;
-    next if $done{$name}++;
-
-    if ($name =~ /^[a-z]/) {
-      $Pragmata{$name} = $_;
-    } else {
-      $Modules{$name} = $_;
-    }
-  }
-}
-
-# OK. Now a lot of ancillary function definitions follow
-# Main program returns at "Do stuff"
-
 my $OUT;
+my $roffitall;
 
-sub do_toc {
-  my $filename = shift;
+($_= <<"EOPOD2B") =~ s/^\t//gm and $OUT .= $_;
 
-  ($_= <<"EOPOD2B") =~ s/^\t//gm and $OUT .= $_;
-
 	# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
 	# This file is autogenerated by buildtoc from all the other pods.
-	# Edit those files and run buildtoc --build-toc to effect changes.
+	# Edit those files and run $0 to effect changes.
 
 	=head1 NAME
 
@@ -347,41 +54,31 @@
 	=head1 BASIC DOCUMENTATION
 
 EOPOD2B
-#' make emacs happy
 
-  # All the things in the master list that happen to be pod filenames
-  foreach (grep {defined $_ && @$_ == 3 && !$_->[0]{toc_omit}} @Master) {
-    podset($_->[1], abs_from_top("pod/$_->[1].pod"));
-  }
+# All the things in the master list that happen to be pod filenames
+foreach (grep {!$_->[2]{toc_omit}} @{$state->{master}}) {
+    $roffitall .= "    \$mandir/$_->[0].1 \\\n";
+    podset($_->[0], $_->[1]);
+}
 
+foreach my $type (qw(PRAGMA MODULE)) {
+    ($_= <<"EOPOD2B") =~ s/^\t//gm and $OUT .= $_;
 
-  ($_= <<"EOPOD2B") =~ s/^\t//gm and $OUT .= $_;
 
 
+	=head1 $type DOCUMENTATION
 
-	=head1 PRAGMA DOCUMENTATION
-
 EOPOD2B
 
-  foreach (sort keys %Pragmata) {
-    podset($_, $Pragmata{$_});
-  }
+    foreach my $name (sort keys %{$found->{$type}}) {
+        $roffitall .= "    \$libdir/$name.3 \\\n";
+        podset($name, $found->{$type}{$name});
+    }
+}
 
-  ($_= <<"EOPOD2B") =~ s/^\t//gm and $OUT .= $_;
+$_= <<"EOPOD2B";
 
 
-
-	=head1 MODULE DOCUMENTATION
-
-EOPOD2B
-
-  foreach (sort keys %Modules) {
-    podset($_, $Modules{$_});
-  }
-
-  $_= <<"EOPOD2B";
-
-
 	=head1 AUXILIARY DOCUMENTATION
 
 	Here should be listed all the extra programs' documentation, but they
@@ -391,8 +88,8 @@
 
 EOPOD2B
 
-  $_ .=  join "\n", map {"\t=item $_\n"} sort keys %Aux;
-  $_ .= <<"EOPOD2B" ;
+$_ .=  join "\n", map {"\t=item $_\n"} @{$state->{aux}};
+$_ .= <<"EOPOD2B" ;
 
 	=back
 
@@ -404,17 +101,82 @@
 
 EOPOD2B
 
-  s/^\t//gm;
-  $OUT .= "$_\n";
+s/^\t//gm;
+$OUT .= "$_\n";
 
-  $OUT =~ s/\n\s+\n/\n\n/gs;
-  $OUT =~ s/\n{3,}/\n\n/g;
+$OUT =~ s/\n\s+\n/\n\n/gs;
+$OUT =~ s/\n{3,}/\n\n/g;
 
-  $OUT =~ s/([^\n]+)/wrap('', '', $1)/ge;
+$OUT =~ s/([^\n]+)/wrap('', '', $1)/ge;
 
-  return $OUT;
-}
+write_or_die('pod/perltoc.pod', $OUT);
 
+write_or_die('pod/roffitall', <<'EOH' . $roffitall . <<'EOT');
+#!/bin/sh
+#
+# Usage: roffitall [-nroff|-psroff|-groff]
+#
+# Authors: Tom Christiansen, Raphael Manfredi
+
+me=roffitall
+tmp=.
+
+if test -f ../config.sh; then
+	. ../config.sh
+fi
+
+mandir=$installman1dir
+libdir=$installman3dir
+
+test -d $mandir || mandir=/usr/new/man/man1
+test -d $libdir || libdir=/usr/new/man/man3
+
+case "$1" in
+-nroff) cmd="nroff -man"; ext='txt';;
+-psroff) cmd="psroff -t"; ext='ps';;
+-groff) cmd="groff -man"; ext='ps';;
+*)
+	echo "Usage: roffitall [-nroff|-psroff|-groff]" >&2
+	exit 1
+	;;
+esac
+
+toroff=`
+	echo		\
+EOH
+    | perl -ne 'map { -r && print "$_ " } split'`
+
+    # Bypass internal shell buffer limit -- can't use case
+    if perl -e '$a = shift; exit($a =~ m|/|)' $toroff; then
+	echo "$me: empty file list -- did you run install?" >&2
+	exit 1
+    fi
+
+    #psroff -t -man -rC1 -rD1 -rF1 > $tmp/PerlDoc.ps 2>$tmp/PerlTOC.raw
+    #nroff -man -rC1 -rD1 -rF1 > $tmp/PerlDoc.txt 2>$tmp/PerlTOC.nr.raw
+
+    # First, create the raw data
+    run="$cmd -rC1 -rD1 -rF1 >$tmp/PerlDoc.$ext 2>$tmp/PerlTOC.$ext.raw"
+    echo "$me: running $run"
+    eval $run $toroff
+
+    #Now create the TOC
+    echo "$me: parsing TOC"
+    perl rofftoc $tmp/PerlTOC.$ext.raw > $tmp/PerlTOC.tmp.man
+    run="$cmd $tmp/PerlTOC.tmp.man >$tmp/PerlTOC.$ext"
+    echo "$me: running $run"
+    eval $run
+
+    # Finally, recreate the Doc, without the blank page 0
+    run="$cmd -rC1 -rD1 >$tmp/PerlDoc.$ext 2>$tmp/PerlTOC.$ext.raw"
+    echo "$me: running $run"
+    eval $run $toroff
+    rm -f $tmp/PerlTOC.tmp.man $tmp/PerlTOC.$ext.raw
+    echo "$me: leaving you with $tmp/PerlDoc.$ext and $tmp/PerlTOC.$ext"
+EOT
+
+exit(0);
+
 # Below are all the auxiliary routines for generating perltoc.pod
 
 my ($inhead1, $inhead2, $initem);
@@ -422,10 +184,25 @@
 sub podset {
     my ($pod, $file) = @_;
 
+    open my $fh, '<', $file or my_die "Can't open file '$file' for $pod: $!";
+
+    local *_;
+    my $found_pod;
+    while (<$fh>) {
+        if (/^=head1\s+NAME\b/) {
+            ++$found_pod;
+            last;
+        }
+    }
+
+    unless ($found_pod) {
+	warn "$0: NOTE: cannot find '=head1 NAME' in:\n  $file\n" unless $Quiet;
+        return;
+    }
+
+    seek $fh, 0, 0 or my_die "Can't rewind file '$file': $!";
     local $/ = '';
 
-    open my $fh, '<', $file or die "Can't open file '$file' for $pod: $!";
-
     while(<$fh>) {
 	tr/\015//d;
 	if (s/^=head1 (NAME)\s*/=head2 /) {
@@ -433,7 +210,7 @@
 	    $OUT .= "\n\n=head2 ";
 	    $_ = <$fh>;
 	    # Remove svn keyword expansions from the Perl FAQ
-	    s/ \(\$Revision: 1.1.1.3 $\)//g;
+	    s/ \(\$Revision: \d+ \$\)//g;
 	    if ( /^\s*\Q$pod\E\b/ ) {
 		s/$pod\.pm/$pod/;       # '.pm' in NAME !?
 	    } else {
@@ -496,283 +273,9 @@
     $initem = 0;
 }
 
-# End of original buildtoc. From here on are routines to generate new sections
-# for and inplace edit other files
-
-sub generate_perlpod {
-  my @output;
-  my $maxlength = 0;
-  foreach (@Master) {
-    my $flags = $_->[0];
-    next if $flags->{aux};
-    next if $flags->{perlpod_omit};
-
-    if (@$_ == 2) {
-      # Heading
-      push @output, "=head2 $_->[1]\n";
-    } elsif (@$_ == 3) {
-      # Section
-      my $start = " " x (4 + $flags->{indent}) . $_->[1];
-      $maxlength = length $start if length ($start) > $maxlength;
-      push @output, [$start, $_->[2]];
-    } elsif (@$_ == 0) {
-      # blank line
-      push @output, "\n";
-    } else {
-      die "$0: Illegal length " . scalar @$_;
-    }
-  }
-  # want at least 2 spaces padding
-  $maxlength += 2;
-  $maxlength = ($maxlength + 3) & ~3;
-  # sprintf gives $1.....$2 where ... are spaces:
-  return unexpand (map {ref $_ ? sprintf "%-${maxlength}s%s\n", @$_ : $_}
-		   @output);
-}
-
-
-sub generate_manifest {
-  # Annoyingly, unexpand doesn't consider it good form to replace a single
-  # space before a tab with a tab
-  # Annoyingly (2) it returns read only values.
-  my @temp = unexpand (map {sprintf "%-32s%s", @$_} @_);
-  map {s/ \t/\t\t/g; $_} @temp;
-}
-sub generate_manifest_pod {
-  generate_manifest map {["pod/$_.pod", $Pods{$_}]}
-    sort grep {!$Copies{"$_.pod"}} grep {!$Generated{"$_.pod"}} keys %Pods;
-}
-sub generate_manifest_readme {
-  generate_manifest sort {$a->[0] cmp $b->[0]}
-    ["README.vms", "Notes about installing the VMS port"],
-      map {["README.$_", $Readmes{$_}]} keys %Readmes;
-}
-
-sub generate_roffitall {
-  (map ({"\t\$maindir/$_.1\t\\"}sort keys %Pods),
-   "\t\t\\",
-   map ({"\t\$maindir/$_.1\t\\"}sort keys %Aux),
-   "\t\t\\",
-   map ({"\t\$libdir/$_.3\t\\"}sort keys %Pragmata),
-   "\t\t\\",
-   map ({"\t\$libdir/$_.3\t\\"}sort keys %Modules),
-  )
-}
-
-sub generate_descrip_mms_1 {
-  local $Text::Wrap::columns = 150;
-  my $count = 0;
-  my @lines = map {"pod" . $count++ . " = $_"}
-    split /\n/, wrap('', '', join " ", map "[.lib.pods]$_.pod",
-		     sort keys %Pods, keys %Readmepods);
-  @lines, "pod = " . join ' ', map {"\$(pod$_)"} 0 .. $count - 1;
-}
-
-sub generate_descrip_mms_2 {
-  map {<<"SNIP"}
-[.lib.pods]$_.pod : [.pod]$_.pod
-	\@ If F\$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log \$(MMS\$SOURCE) [.lib.pods]
-SNIP
-   sort keys %Pods, keys %Readmepods;
-}
-
-sub generate_nmake_1 {
-  # XXX Fix this with File::Spec
-  (map {sprintf "\tcopy ..\\README.%-8s ..\\pod\\perl$_.pod\n", $_}
-    sort keys %Readmes),
-      (map {"\tcopy ..\\pod\\$Copies{$_} ..\\pod\\$_\n"} sort keys %Copies);
-}
-
-# This doesn't have a trailing newline
-sub generate_nmake_2 {
-  # Spot the special case
-  local $Text::Wrap::columns = 76;
-  my $line = wrap ("\t    ", "\t    ",
-		   join " ", sort keys %Copies, keys %Generated,
-				  map {"perl$_.pod"} keys %Readmes);
-  $line =~ s/$/ \\/mg;
-  $line =~ s/ \\$//;
-  $line;
-}
-
-sub generate_pod_mak {
-  my $variable = shift;
-  my @lines;
-  my $line = join "\\\n", "\U$variable = ",
-    map {"\t$_.$variable\t"} sort keys %Pods;
-  # Special case
-  $line =~ s/.*perltoc.html.*\n//m;
-  $line;
-}
-
-sub verify_contiguous {
-  my ($name, $content, $what) = @_;
-  my $sections = () = $content =~ m/\0+/g;
-  croak("$0: $name contains no $what") if $sections < 1;
-  croak("$0: $name contains discontiguous $what") if $sections > 1;
-}
-
-sub do_manifest {
-  my ($name, $prev) = @_;
-  my @manifest =
-    grep {! m!^pod/[^.]+\.pod.*!}
-      grep {! m!^README\.(\S+)! || $Ignore{$1}} split "\n", $prev;
-  join "\n", (
-	      # Dictionary order - fold and handle non-word chars as nothing
-	      map  { $_->[0] }
-	      sort { $a->[1] cmp $b->[1] || $a->[0] cmp $b->[0] }
-	      map  { my $f = lc $_; $f =~ s/[^a-z0-9\s]//g; [ $_, $f ] }
-	      @manifest,
-	      &generate_manifest_pod(),
-	      &generate_manifest_readme()), '';
-}
-
-sub do_nmake {
-  my ($name, $makefile) = @_;
-  $makefile =~ s/^\tcopy \.\.\\README.*\n/\0/gm;
-  verify_contiguous($name, $makefile, 'README copies');
-  # Now remove the other copies that follow
-  1 while $makefile =~ s/\0\tcopy .*\n/\0/gm;
-  $makefile =~ s/\0+/join ("", &generate_nmake_1)/se;
-
-  $makefile =~ s{(-cd \$\(PODDIR\) && del /f[^\n]+).*?(-cd \.\.\\utils && del /f)}
-    {"$1\n" . &generate_nmake_2."\n\t$2"}se;
-  $makefile;
-}
-
-# shut up used only once warning
-*do_dmake = *do_dmake = \&do_nmake;
-
-sub do_perlpod {
-  my ($name, $pod) = @_;
-
-  unless ($pod =~ s{(For\ ease\ of\ access,\ .*\n)
-		    (?:\s+[a-z]{4,}.*\n	#   fooo
-		    |=head.*\n		# =head foo
-		    |\s*\n		# blank line
-		   )+
-		  }
-	  {$1 . join "", &generate_perlpod}mxe) {
-    die "$0: Failed to insert amendments in do_perlpod";
-  }
-  $pod;
-}
-
-sub do_podmak {
-  my ($name, $body) = @_;
-  foreach my $variable (qw(pod man html tex)) {
-    die "$0: could not find $variable in $name"
-      unless $body =~ s{\n\U$variable\E = (?:[^\n]*\\\n)*[^\n]*}
-	{"\n" . generate_pod_mak ($variable)}se;
-  }
-  $body;
-}
-
-sub do_vms {
-  my ($name, $makefile) = @_;
-  $makefile =~ s/\npod\d* =[^\n]*/\0/gs;
-  verify_contiguous($name, $makefile, 'pod assignments');
-  $makefile =~ s/\0+/join "\n", '', &generate_descrip_mms_1/se;
-
-  die "$0: $name contains NUL bytes" if $makefile =~ /\0/;
-
-# Looking for the macro defining the current perldelta:
-#PERLDELTA_CURRENT = [.pod]perl5139delta.pod
-
-  $makefile =~ s/\nPERLDELTA_CURRENT\s+=\s+\Q[.pod]perl\E\d+delta\.pod\n
-		    /\0/sx;
-  verify_contiguous($name, $makefile, 'current perldelta macro');
-  $makefile =~ s/\0+/join "\n", '', "PERLDELTA_CURRENT = [.pod]$delta_target", ''/se;
-
-# Looking for rules like this
-# [.lib.pods]perl.pod : [.pod]perl.pod
-#	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-#	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-  $makefile =~ s/\n\Q[.lib.pods]\Eperl[^\n\.]*\.pod[^\n]+\n
-		 [^\n]+\n	# Another line
-		 [^\n]+\Q[.lib.pods]\E\n		# ends [.lib.pods]
-		    /\0/gsx;
-  verify_contiguous($name, $makefile, 'copy rules');
-  $makefile =~ s/\0+/join "\n", '', &generate_descrip_mms_2/se;
-
-  $makefile;
-}
-
-sub do_unix {
-  my ($name, $makefile_SH) = @_;
-
-  $makefile_SH =~ s{^(perltoc_pod_prereqs = extra.pods).*}
-		   {join ' ', $1, map "pod/$_",
-			sort keys %Copies, grep {!/perltoc/} keys %Generated
-		    }mge;
-
-# pod/perl511delta.pod: pod/perldelta.pod
-# 	cd pod && $(LNS) perldelta.pod perl511delta.pod
-
-  $makefile_SH =~ s!(
-pod/perl[a-z0-9_]+\.pod: pod/perl[a-z0-9_]+\.pod
-	\$\(LNS\) perl[a-z0-9_]+\.pod pod/perl[a-z0-9_]+\.pod
-)+!\0!gm;
-
-  verify_contiguous($name, $makefile_SH, 'copy rules');
-
-  my @copy_rules = map "
-pod/$_: pod/$Copies{$_}
-	\$(LNS) $Copies{$_} pod/$_
-", keys %Copies;
-
-  $makefile_SH =~ s/\0+/join '', @copy_rules/se;
-  $makefile_SH;
-
-}
-
-# Do stuff
-
-my $built;
-while (my ($target, $name) = each %Targets) {
-  print "Working on target $target\n" if $Verbose;
-  next unless $Build{$target};
-  $built++;
-  my ($orig, $mode);
-  print "Now processing $name\n" if $Verbose;
-  if ($target ne "toc") {
-    local $/;
-    open my $thing, '<', $name or die "Can't open $name: $!";
-    binmode $thing;
-    $orig = <$thing>;
-    die "$0: $name contains NUL bytes" if $orig =~ /\0/;
-  }
-
-  my $new = do {
-    no strict 'refs';
-    &{"do_$target"}($target, $orig);
-  };
-
-  if (defined $orig) {
-    if ($new eq $orig) {
-      if ($Test) {
-	printf "ok %d # $name is up to date\n", $built + 1;
-      } elsif ($Verbose) {
-	print "Was not modified\n";
-      }
-      next;
-    } elsif ($Test) {
-      printf "not ok %d # $name is up to date\n", $built + 1;
-      next;
-    }
-    $mode = (stat $name)[2] // die "$0: Can't stat $name: $!";
-    rename $name, "$name.old" or die "$0: Can't rename $name to $name.old: $!";
-  }
-
-  open my $thing, '>', $name or die "$0: Can't open $name for writing: $!";
-  binmode $thing;
-  print $thing $new or die "$0: print to $name failed: $!";
-  close $thing or die "$0: close $name failed: $!";
-  if (defined $mode) {
-    chmod $mode & 0777, $name or die "$0: can't chmod $mode $name: $!";
-  }
-}
-
-warn "$0: was not instructed to build anything\n" unless $built || $Test;
+# Local variables:
+# cperl-indent-level: 4
+# indent-tabs-mode: nil
+# End:
+#
+# ex: set ts=8 sts=4 sw=4 et:


Property changes on: vendor/perl/dist/pod/buildtoc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/checkpods.PL
===================================================================
--- vendor/perl/dist/pod/checkpods.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/checkpods.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/checkpods.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl.pod
===================================================================
--- vendor/perl/dist/pod/perl.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,6 +15,8 @@
 	S<[ B<-i>[I<extension>] ]>
 	S<[ [B<-e>|B<-E>] I<'command'> ] [ B<--> ] [ I<programfile> ] [ I<argument> ]...>
 
+For more information on these options, you can run C<perldoc perlrun>.
+
 =head1 GETTING HELP
 
 The F<perldoc> program gives you access to all the documentation that comes
@@ -28,10 +30,29 @@
 
 For ease of access, the Perl manual has been split up into several sections.
 
+=begin buildtoc
+
+# This section is parsed by Porting/pod_lib.pl for use by pod/buildtoc etc
+
+flag =g  perluniprops perlmodlib perlapi perlintern
+flag =go perltoc
+flag =ro perlcn perljp perlko perltw
+flag =   perlvms
+
+path perlfaq.*               cpan/perlfaq/lib/
+path perlglossary            cpan/perlfaq/lib/
+path perlxs(?:tut|typemap)?  dist/ExtUtils-ParseXS/lib/
+path perldoc                 cpan/Pod-Perldoc/lib/
+
+aux a2p c2ph h2ph h2xs perlbug pl2pm pod2html pod2man s2p splain xsubpp
+
+=end buildtoc
+
 =head2 Overview
 
     perl		Perl overview (this section)
     perlintro		Perl introduction for beginners
+    perlrun		Perl execution and options
     perltoc		Perl documentation table of contents
 
 =head2 Tutorials
@@ -43,10 +64,7 @@
     perlrequick 	Perl regular expressions quick start
     perlretut		Perl regular expressions tutorial
 
-    perlboot		Perl OO tutorial for beginners
-    perltoot		Perl OO tutorial, part 1
-    perltooc		Perl OO tutorial, part 2
-    perlbot		Perl OO tricks and examples
+    perlootut		Perl OO tutorial for beginners
 
     perlperf		Perl Performance and Optimization Techniques
 
@@ -79,7 +97,6 @@
     perlpod		Perl plain old documentation
     perlpodspec 	Perl plain old documentation format specification
     perlpodstyle	Perl POD style guide
-    perlrun		Perl execution and options
     perldiag		Perl diagnostic messages
     perllexwarn 	Perl warnings and their control
     perldebug		Perl debugging
@@ -105,7 +122,7 @@
     perluniintro	Perl Unicode introduction
     perlunicode 	Perl Unicode support
     perlunifaq		Perl Unicode FAQ
-    perluniprops	Index of Unicode Version 6.0.0 properties in Perl
+    perluniprops	Index of Unicode properties in Perl
     perlunitut		Perl Unicode tutorial
     perlebcdic		Considerations for running Perl on EBCDIC platforms
 
@@ -120,10 +137,10 @@
 
     perlutil		utilities packaged with the Perl distribution
 
-    perlcompile 	Perl compiler suite intro
-
     perlfilter		Perl source filters
 
+    perldtrace		Perl's support for DTrace
+
     perlglossary	Perl Glossary
 
 =head2 Internals and C Language Interface
@@ -132,6 +149,7 @@
     perldebguts 	Perl debugging guts and tips
     perlxstut		Perl XS tutorial
     perlxs		Perl XS application programming interface
+    perlxstypemap	Perl XS C/Perl type conversion tools
     perlclib		Internal replacements for standard C library functions
     perlguts		Perl internal functions for those doing extensions
     perlcall		Perl calling conventions from C
@@ -146,7 +164,7 @@
 
     perlhack		Perl hackers guide
     perlsource		Guide to the Perl source tree
-    perlinterp		Overview of the Perl intepreter source and how it works
+    perlinterp		Overview of the Perl interpreter source and how it works
     perlhacktut 	Walk through the creation of a simple C code patch
     perlhacktips	Tips for Perl core C code hacking
     perlpolicy		Perl development policies
@@ -156,44 +174,29 @@
 
     perlbook		Perl book information
     perlcommunity	Perl community information
-    perltodo		Perl things to do
 
     perldoc		Look up Perl documentation in Pod format
 
     perlhist		Perl history records
     perldelta		Perl changes since previous version
+    perl5180delta	Perl changes in version 5.18.0
+    perl5161delta	Perl changes in version 5.16.1
+    perl5162delta	Perl changes in version 5.16.2
+    perl5163delta	Perl changes in version 5.16.3
+    perl5160delta	Perl changes in version 5.16.0
+    perl5144delta	Perl changes in version 5.14.4
+    perl5143delta	Perl changes in version 5.14.3
+    perl5142delta	Perl changes in version 5.14.2
     perl5141delta	Perl changes in version 5.14.1
     perl5140delta	Perl changes in version 5.14.0
-    perl51311delta	Perl changes in version 5.13.11
-    perl51310delta	Perl changes in version 5.13.10
-    perl5139delta	Perl changes in version 5.13.9
-    perl5138delta	Perl changes in version 5.13.8
-    perl5137delta	Perl changes in version 5.13.7
-    perl5136delta	Perl changes in version 5.13.6
-    perl5135delta	Perl changes in version 5.13.5
-    perl5134delta	Perl changes in version 5.13.4
-    perl5133delta	Perl changes in version 5.13.3
-    perl5132delta	Perl changes in version 5.13.2
-    perl5131delta	Perl changes in version 5.13.1
-    perl5130delta	Perl changes in version 5.13.0
+    perl5125delta	Perl changes in version 5.12.5
+    perl5124delta	Perl changes in version 5.12.4
     perl5123delta	Perl changes in version 5.12.3
     perl5122delta	Perl changes in version 5.12.2
     perl5121delta	Perl changes in version 5.12.1
     perl5120delta	Perl changes in version 5.12.0
-    perl5115delta	Perl changes in version 5.11.5
-    perl5114delta	Perl changes in version 5.11.4
-    perl5113delta	Perl changes in version 5.11.3
-    perl5112delta	Perl changes in version 5.11.2
-    perl5111delta	Perl changes in version 5.11.1
-    perl5110delta	Perl changes in version 5.11.0
     perl5101delta	Perl changes in version 5.10.1
     perl5100delta	Perl changes in version 5.10.0
-    perl595delta	Perl changes in version 5.9.5
-    perl594delta	Perl changes in version 5.9.4
-    perl593delta	Perl changes in version 5.9.3
-    perl592delta	Perl changes in version 5.9.2
-    perl591delta	Perl changes in version 5.9.1
-    perl590delta	Perl changes in version 5.9.0
     perl589delta	Perl changes in version 5.8.9
     perl588delta	Perl changes in version 5.8.8
     perl587delta	Perl changes in version 5.8.7
@@ -204,20 +207,20 @@
     perl582delta	Perl changes in version 5.8.2
     perl581delta	Perl changes in version 5.8.1
     perl58delta 	Perl changes in version 5.8.0
-    perl573delta	Perl changes in version 5.7.3
-    perl572delta	Perl changes in version 5.7.2
-    perl571delta	Perl changes in version 5.7.1
-    perl570delta	Perl changes in version 5.7.0
     perl561delta	Perl changes in version 5.6.1
     perl56delta 	Perl changes in version 5.6
     perl5005delta	Perl changes in version 5.005
     perl5004delta	Perl changes in version 5.004
 
+    perlexperiment	A listing of experimental features in Perl
+
     perlartistic	Perl Artistic License
     perlgpl		GNU General Public License
 
 =head2 Language-Specific
 
+=for buildtoc flag +r
+
     perlcn		Perl for Simplified Chinese (in EUC-CN)
     perljp		Perl for Japanese (in EUC-JP)
     perlko		Perl for Korean (in EUC-KR)
@@ -227,13 +230,11 @@
 
     perlaix		Perl notes for AIX
     perlamiga		Perl notes for AmigaOS
-    perlbeos		Perl notes for BeOS
     perlbs2000		Perl notes for POSIX-BC BS2000
     perlce		Perl notes for WinCE
     perlcygwin		Perl notes for Cygwin
     perldgux		Perl notes for DG/UX
     perldos		Perl notes for DOS
-    perlepoc		Perl notes for EPOC
     perlfreebsd 	Perl notes for FreeBSD
     perlhaiku		Perl notes for Haiku
     perlhpux		Perl notes for HP-UX
@@ -242,7 +243,6 @@
     perllinux		Perl notes for Linux
     perlmacos		Perl notes for Mac OS (Classic)
     perlmacosx		Perl notes for Mac OS X
-    perlmpeix		Perl notes for MPE/iX
     perlnetware 	Perl notes for NetWare
     perlopenbsd 	Perl notes for OpenBSD
     perlos2		Perl notes for OS/2
@@ -254,19 +254,35 @@
     perlsolaris 	Perl notes for Solaris
     perlsymbian 	Perl notes for Symbian
     perltru64		Perl notes for Tru64
-    perluts		Perl notes for UTS
-    perlvmesa		Perl notes for VM/ESA
     perlvms		Perl notes for VMS
     perlvos		Perl notes for Stratus VOS
     perlwin32		Perl notes for Windows
 
+=for buildtoc flag -r
 
+=head2 Stubs for Deleted Documents
+
+    perlboot		
+    perlbot		
+    perltodo
+    perltooc		
+    perltoot		
+
+=for buildtoc __END__
+
 On a Unix-like system, these documentation files will usually also be
 available as manpages for use with the F<man> program.
 
+Some documentation is not available as man pages, so if a
+cross-reference is not found by man, try it with L<perldoc>.  Perldoc can
+also take you directly to documentation for functions (with the B<-f>
+switch). See C<perldoc --help> (or C<perldoc perldoc> or C<man perldoc>)
+for other helpful options L<perldoc> has to offer.
+
 In general, if something strange has gone wrong with your program and you're
-not sure where you should look for help, try the B<-w> switch first.  It will
-often point out exactly where the trouble is.
+not sure where you should look for help, try making your code comply with
+B<use strict> and B<use warnings>.  These will often point out exactly
+where the trouble is.
 
 =head1 DESCRIPTION
 
@@ -281,110 +297,23 @@
 from quick "one-liners" to full-scale application development.
 
 The language is intended to be practical (easy to use, efficient,
-complete) rather than beautiful (tiny, elegant, minimal).
+complete) rather than beautiful (tiny, elegant, minimal).  It combines
+(in the author's opinion, anyway) some of the best features of B<sed>,
+B<awk>, and B<sh>, making it familiar and easy to use for Unix users to
+whip up quick solutions to annoying problems.  Its general-purpose
+programming facilities support procedural, functional, and
+object-oriented programming paradigms, making Perl a comfortable
+language for the long haul on major projects, whatever your bent.
 
-Perl combines (in the author's opinion, anyway) some of the best
-features of C, B<sed>, B<awk>, and B<sh>, so people familiar with
-those languages should have little difficulty with it.  (Language
-historians will also note some vestiges of B<csh>, Pascal, and even
-BASIC-PLUS.)  Expression syntax corresponds closely to C
-expression syntax.  Unlike most Unix utilities, Perl does not
-arbitrarily limit the size of your data--if you've got the memory,
-Perl can slurp in your whole file as a single string.  Recursion is of
-unlimited depth.  And the tables used by hashes (sometimes called
-"associative arrays") grow as necessary to prevent degraded
-performance.  Perl can use sophisticated pattern matching techniques to
-scan large amounts of data quickly.  Although optimized for
-scanning text, Perl also has many excellent tools for slicing
-and dicing binary data.
+Perl's roots in text processing haven't been forgotten over the years.
+It still boasts some of the most powerful regular expressions to be
+found anywhere, and its support for Unicode text is world-class.  It
+handles all kinds of structured text, too, through an extensive
+collection of extensions.  Those libraries, collected in the CPAN,
+provide ready-made solutions to an astounding array of problems.  When
+they haven't set the standard themselves, they steal from the best
+-- just like Perl itself.
 
-But wait, there's more...
-
-Begun in 1993 (see L<perlhist>), Perl version 5 is nearly a complete
-rewrite that provides the following additional benefits:
-
-=over 4
-
-=item *
-
-modularity and reusability using innumerable modules 
-
-Described in L<perlmod>, L<perlmodlib>, and L<perlmodinstall>.
-
-=item *
-
-embeddable and extensible 
-
-Described in L<perlembed>, L<perlxstut>, L<perlxs>, L<perlcall>,
-L<perlguts>, and L<xsubpp>.
-
-=item *
-
-roll-your-own magic variables (including multiple simultaneous DBM
-implementations)
-
-Described in L<perltie> and L<AnyDBM_File>.
-
-=item *
-
-subroutines can now be overridden, autoloaded, and prototyped
-
-Described in L<perlsub>.
-
-=item *
-
-arbitrarily nested data structures and anonymous functions
-
-Described in L<perlreftut>, L<perlref>, L<perldsc>, and L<perllol>.
-
-=item *
-
-object-oriented programming
-
-Described in L<perlobj>, L<perlboot>, L<perltoot>, L<perltooc>,
-and L<perlbot>.
-
-=item *
-
-support for light-weight processes (threads)
-
-Described in L<perlthrtut> and L<threads>.
-
-=item *
-
-support for Unicode, internationalization, and localization
-
-Described in L<perluniintro>, L<perllocale> and L<Locale::Maketext>.
-
-=item *
-
-lexical scoping
-
-Described in L<perlsub>.
-
-=item *
-
-regular expression enhancements
-
-Described in L<perlre>, with additional examples in L<perlop>.
-
-=item *
-
-enhanced debugger and interactive Perl environment,
-with integrated editor support
-
-Described in L<perldebtut>, L<perldebug> and L<perldebguts>.
-
-=item *
-
-POSIX 1003.1 compliant library
-
-Described in L<POSIX>.
-
-=back
-
-Okay, that's I<definitely> enough hype.
-
 =head1 AVAILABILITY
 
 Perl is available for most operating systems, including virtually
@@ -417,9 +346,14 @@
 
 =head1 DIAGNOSTICS
 
-The C<use warnings> pragma (and the B<-w> switch) produces some 
-lovely diagnostics.
+Using the C<use strict> pragma ensures that all variables are properly
+declared and prevents other misuses of legacy Perl features.
 
+The C<use warnings> pragma produces some lovely diagnostics. One can
+also use the B<-w> flag, but its use is normally discouraged, because
+it gets applied to all executed Perl code, including that not under
+your control.
+
 See L<perldiag> for explanations of all Perl's diagnostics.  The C<use
 diagnostics> pragma automatically turns Perl's normally terse warnings
 and errors into these longer forms.
@@ -432,12 +366,12 @@
 Setuid scripts have additional constraints that can produce error
 messages such as "Insecure dependency".  See L<perlsec>.
 
-Did we mention that you should definitely consider using the B<-w>
-switch?
+Did we mention that you should definitely consider using the B<use warnings>
+pragma?
 
 =head1 BUGS
 
-The B<-w> switch is not mandatory.
+The behavior implied by the B<use warnings> pragma is not mandatory.
 
 Perl is at the mercy of your machine's definitions of various
 operations such as type casting, atof(), and floating-point


Property changes on: vendor/perl/dist/pod/perl.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5004delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5004delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5004delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -753,7 +753,7 @@
 The resulting perl can be used under Windows 95 (if it
 is installed in the same directory locations as it got installed
 in Windows NT).  This port includes support for perl extension
-building tools like L<MakeMaker> and L<h2xs>, so that many extensions
+building tools like L<ExtUtils::MakeMaker> and L<h2xs>, so that many extensions
 available on the Comprehensive Perl Archive Network (CPAN) can now be
 readily built under Windows NT.  See http://www.perl.com/ for more
 information on CPAN and F<README.win32> in the perl distribution for more


Property changes on: vendor/perl/dist/pod/perl5004delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5005delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5005delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5005delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -509,7 +509,7 @@
 
 MiNT is now supported.  See F<README.mint>.
 
-MPE/iX is now supported.  See F<README.mpeix>.
+MPE/iX is now supported.  See README.mpeix.
 
 MVS (aka OS390, aka Open Edition) is now supported.  See F<README.os390> 
 (installed as L<perlos390> on some systems).
@@ -523,7 +523,7 @@
 See F<README.win32>, aka L<perlwin32>.
 
 VMS configuration system has been rewritten.  See F<README.vms> (installed 
-as L<README_vms> on some systems).
+as F<README_vms> on some systems).
 
 The hints files for most Unix platforms have seen incremental improvements.
 
@@ -722,7 +722,7 @@
 
 To silently interpret it as the Perl operator, use the C<CORE::> prefix
 on the operator (e.g. C<CORE::log($x)>) or by declaring the subroutine
-to be an object method (see L<attrs>).
+to be an object method (see L</attrs>).
 
 =item Bad index while coercing array into hash
 


Property changes on: vendor/perl/dist/pod/perl5005delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5100delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5100delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5100delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -844,7 +844,7 @@
 =item *
 
 C<Archive::Extract> is a generic archive extraction mechanism
-for F<.tar> (plain, gziped or bzipped) or F<.zip> files.
+for F<.tar> (plain, gzipped or bzipped) or F<.zip> files.
 
 =item *
 


Property changes on: vendor/perl/dist/pod/perl5100delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5101delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5101delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5101delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1751,7 +1751,8 @@
 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 at perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+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


Property changes on: vendor/perl/dist/pod/perl5101delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5110delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5110delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5110delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5110delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5111delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5111delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5111delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5111delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5112delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5112delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5112delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5112delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5113delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5113delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5113delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5113delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5114delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5114delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5114delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5114delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5115delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5115delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5115delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5115delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5120delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5120delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5120delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -116,7 +116,7 @@
 Extension modules can now cleanly hook into the Perl parser to define
 new kinds of keyword-headed expression and compound statement. The
 syntax following the keyword is defined entirely by the extension. This
-allow a completely non-Perl sublanguage to be parsed inline, with the
+allows a completely non-Perl sublanguage to be parsed inline, with the
 correct ops cleanly generated.
 
 See L<perlapi/PL_keyword_plugin> for the mechanism. The Perl core
@@ -456,7 +456,6 @@
 
 C<Module::CoreList> no longer contains the C<%:patchlevel> hash.
 
-
 =item *
 
 C<length undef> now returns undef.
@@ -529,7 +528,6 @@
 C<suidperl> is no longer part of Perl. It used to provide a mechanism to
 emulate setuid permission bits on systems that don't support it properly.
 
-
 =item Use of C<:=> to mean an empty attribute list
 
 An accident of Perl's parser meant that these constructions were all
@@ -561,7 +559,6 @@
 pass import arguments to a C<use UNIVERSAL> statement will result in a
 deprecation warning.
 
-
 =item Use of "goto" to jump into a construct
 
 Using C<goto> to jump from an outer scope into an inner scope is now
@@ -1433,7 +1430,6 @@
 
 =over
 
-
 =item *
 
 The various large F<Changes*> files (which listed every change made
@@ -1447,7 +1443,6 @@
 interacting with the old Perforce-based repository, which is now obsolete.
 Information still relevant has been moved to L<perlrepository>.
 
-
 =item *
 
 The syntax C<unless (EXPR) BLOCK else BLOCK> is now documented as valid,
@@ -1455,7 +1450,6 @@
 BLOCK>, although actually using the latter may not be the best idea for
 the readability of your source code.
 
-
 =item *
 
 Documented -X overloading.
@@ -2106,7 +2100,6 @@
 could be caused by buggy XS code, and at this point recovery is not
 possible.
 
-
 =item *
 
 The fatal error C<Malformed UTF-8 returned by \N> is now produced if the
@@ -3176,7 +3169,8 @@
 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 at perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+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


Property changes on: vendor/perl/dist/pod/perl5120delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5121delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5121delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5121delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -210,12 +210,10 @@
 
 See also: L<http://rt.cpan.org/Public/Bug/Display.html?id=55049>
 
-
 =item * 
 
 utf8::is_utf8 now respects GMAGIC (e.g. $1)
 
-
 =item * 
 
 XS code using C<fputc()> or C<fputs()>: on Windows could cause an error
@@ -390,7 +388,8 @@
 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 at perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+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


Property changes on: vendor/perl/dist/pod/perl5121delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5122delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5122delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5122delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -325,7 +325,8 @@
 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 at perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+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


Property changes on: vendor/perl/dist/pod/perl5122delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5123delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5123delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5123delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -96,7 +96,8 @@
 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 at perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+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


Property changes on: vendor/perl/dist/pod/perl5123delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5130delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5130delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5130delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5130delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl51310delta.pod
===================================================================
--- vendor/perl/dist/pod/perl51310delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl51310delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl51310delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl51311delta.pod
===================================================================
--- vendor/perl/dist/pod/perl51311delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl51311delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl51311delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5131delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5131delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5131delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5131delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5132delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5132delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5132delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5132delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5133delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5133delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5133delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5133delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5134delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5134delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5134delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5134delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5135delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5135delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5135delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5135delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5136delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5136delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5136delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5136delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5137delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5137delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5137delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5137delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5138delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5138delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5138delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5138delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5139delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5139delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5139delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5139delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl5140delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5140delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5140delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1108,7 +1108,7 @@
 =head2 Freeing weak references
 
 When there are many weak references to an object, freeing that object
-can under some circumstances take O(I<NE<0xB2>>) time to free, where 
+can under some circumstances take O(I<N*N>) time to free, where
 I<N> is the number of references.  The circumstances in which this can happen
 have been reduced [perl #75254]
 
@@ -1210,7 +1210,7 @@
 
 L<CPAN::Meta> version 2.110440 has been added as a dual-life module.  It
 provides a standard library to read, interpret and write CPAN distribution
-metadata files (like F<META.json> and F<META.yml)> that describe a
+metadata files (like F<META.json> and F<META.yml>) that describe a
 distribution, its contents, and the requirements for building it and
 installing it.  The latest CPAN distribution metadata specification is
 included as L<CPAN::Meta::Spec> and notes on changes in the specification
@@ -1547,9 +1547,9 @@
 
 L<Digest::SHA> has been upgraded from version 5.47 to 5.61.
 
-L<shasum> now more closely mimics L<sha1sum(1)>/L<md5sum(1)>.
+C<shasum> now more closely mimics L<sha1sum(1)>/L<md5sum(1)>.
 
-L<Addfile> accepts all POSIX filenames.
+C<addfile> accepts all POSIX filenames.
 
 New SHA-512/224 and SHA-512/256 transforms (ref. NIST Draft FIPS 180-4
 [February 2011])
@@ -2125,7 +2125,7 @@
 A new function, Unicode::UCD::num(), has been added.  This function
 returns the numeric value of the string passed it or C<undef> if the string
 in its entirety has no "safe" numeric value.  (For more detail, and for the
-definition of "safe", see L<Unicode::UCD/num>.)
+definition of "safe", see L<Unicode::UCD/num()>.)
 
 This upgrade also includes several bug fixes:
 
@@ -2888,7 +2888,7 @@
 the most common path for creating files from Perl became C<PerlIOUnix_open>,
 which has always explicitly used C<0666> as the permission mask.  This prevents
 inheriting permissions from RMS defaults and ACLs, so to avoid that problem,
-we now pass C<0777> to open().  In theVMS CRTL, C<0777> has a special
+we now pass C<0777> to open().  In the VMS CRTL, C<0777> has a special
 meaning over and above intersecting with the current umask; specifically, it
 allows Unix syscalls to preserve native default permissions (5.12.3).
 
@@ -4445,8 +4445,8 @@
 
 =item *
 
-readline() returns an empty string instead of undef when it is
-interrupted by a signal.
+readline() returns an empty string instead of a cached previous value
+when it is interrupted by a signal
 
 =item *
 
@@ -4569,7 +4569,7 @@
 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 at perl.org.  This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+unarchived mailing list, which includes all the core committers, who are able
 to help assess the impact of issues, figure out a resolution, and help
 co-ordinate the release of patches to mitigate or fix the problem across all
 platforms on which Perl is supported.  Please use this address for


Property changes on: vendor/perl/dist/pod/perl5140delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl5141delta.pod
===================================================================
--- vendor/perl/dist/pod/perl5141delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl5141delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl5141delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl561delta.pod
===================================================================
--- vendor/perl/dist/pod/perl561delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl561delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 =head1 NAME
 
-perl561delta - what's new for perl v5.6.x
+perl561delta - what's new for perl v5.6.1
 
 =head1 DESCRIPTION
 
@@ -2977,7 +2977,6 @@
 The C<use attrs> pragma is now obsolete, and is only provided for
 backward-compatibility. See L<perlsub/"Subroutine Attributes">.
 
-
 =item Premature end of script headers
 
 See Server error.
@@ -3364,8 +3363,8 @@
 Perl, whose interfaces continue to match those of prior versions
 (but subject to the other options described here).
 
-See L<perlguts/"The Perl API"> for detailed information on the
-ramifications of building Perl with this option.
+See L<perlguts/Background and PERL_IMPLICIT_CONTEXT> for detailed information
+on the ramifications of building Perl with this option.
 
     NOTE: PERL_IMPLICIT_CONTEXT is automatically enabled whenever Perl is built
     with one of -Dusethreads, -Dusemultiplicity, or both.  It is not


Property changes on: vendor/perl/dist/pod/perl561delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl56delta.pod
===================================================================
--- vendor/perl/dist/pod/perl56delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl56delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2372,7 +2372,6 @@
 The C<use attrs> pragma is now obsolete, and is only provided for
 backward-compatibility. See L<perlsub/"Subroutine Attributes">.
 
-
 =item Premature end of script headers
 
 See Server error.
@@ -2759,7 +2758,8 @@
 Perl, whose interfaces continue to match those of prior versions
 (but subject to the other options described here).
 
-See L<perlguts/"The Perl API"> for detailed information on the
+
+See L<perlguts/Background and PERL_IMPLICIT_CONTEXT> for detailed information on the
 ramifications of building Perl with this option.
 
     NOTE: PERL_IMPLICIT_CONTEXT is automatically enabled whenever Perl is built


Property changes on: vendor/perl/dist/pod/perl56delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl570delta.pod
===================================================================
--- vendor/perl/dist/pod/perl570delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl570delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl570delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl571delta.pod
===================================================================
--- vendor/perl/dist/pod/perl571delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl571delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl571delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl572delta.pod
===================================================================
--- vendor/perl/dist/pod/perl572delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl572delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl572delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl573delta.pod
===================================================================
--- vendor/perl/dist/pod/perl573delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl573delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl573delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl581delta.pod
===================================================================
--- vendor/perl/dist/pod/perl581delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl581delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl581delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl582delta.pod
===================================================================
--- vendor/perl/dist/pod/perl582delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl582delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl582delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl583delta.pod
===================================================================
--- vendor/perl/dist/pod/perl583delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl583delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl583delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl584delta.pod
===================================================================
--- vendor/perl/dist/pod/perl584delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl584delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl584delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl585delta.pod
===================================================================
--- vendor/perl/dist/pod/perl585delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl585delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl585delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl586delta.pod
===================================================================
--- vendor/perl/dist/pod/perl586delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl586delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl586delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl587delta.pod
===================================================================
--- vendor/perl/dist/pod/perl587delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl587delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl587delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl588delta.pod
===================================================================
--- vendor/perl/dist/pod/perl588delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl588delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl588delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl589delta.pod
===================================================================
--- vendor/perl/dist/pod/perl589delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl589delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1228,7 +1228,7 @@
 
 =item *
 
-L<reverse> function documentation received scalar context examples.
+C<reverse> function documentation received scalar context examples.
 
 =back
 
@@ -1259,7 +1259,7 @@
 L<perlvar> fixes confusion about real GID C<$(> and effective GID C<$)>. 
 
 Perl thread tutorial example is fixed in section
-L<perlthrtut/Queues: Passing Data Around> and L<perlothrtut>.
+L<perlthrtut/Queues: Passing Data Around> and L<perlthrtut>.
 
 L<perlhack> documentation extensively improved by Jarkko Hietaniemi and others.
 
@@ -2317,7 +2317,8 @@
 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 at perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
+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


Property changes on: vendor/perl/dist/pod/perl589delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perl58delta.pod
===================================================================
--- vendor/perl/dist/pod/perl58delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl58delta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -730,7 +730,7 @@
 
 =item *
 
-L<utime> now supports C<utime undef, undef, @files> to change the
+L<perlfunc/utime> now supports C<utime undef, undef, @files> to change the
 file timestamps to the current time.
 
 =item *
@@ -2018,7 +2018,9 @@
 have been regained.  Many test suite tests still fail and the
 co-existence of Unicode and EBCDIC isn't quite settled, but the
 situation is much better than with Perl 5.6.  See L<perlos390>,
-L<perlbs2000> (for POSIX-BC), and L<perlvmesa> for more information.
+L<perlbs2000> (for POSIX-BC), and perlvmesa for more information.
+(B<Note:> support for VM/ESA was removed in Perl v5.18.0. The relevant
+information was in F<README.vmesa>)
 
 =item *
 
@@ -3376,7 +3378,8 @@
  ext/POSIX/t/sigaction...............FAILED at test 13
  ext/POSIX/t/waitpid.................FAILED at test 1
 
-See L<perlbeos> (README.beos) for more details.
+(B<Note:> more information was available in F<README.beos> until support for
+BeOS was removed in Perl v5.18.0)
 
 =head2 Cygwin "unable to remap"
 
@@ -3631,7 +3634,9 @@
 
 =head2 UTS
 
-There are a few known test failures, see L<perluts> (README.uts).
+There are a few known test failures.  (B<Note:> the relevant information was
+available in F<README.uts> until support for UTS was removed in Perl
+v5.18.0)
 
 =head2 VOS (Stratus)
 


Property changes on: vendor/perl/dist/pod/perl58delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl590delta.pod
===================================================================
--- vendor/perl/dist/pod/perl590delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl590delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl590delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perl591delta.pod
===================================================================
--- vendor/perl/dist/pod/perl591delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl591delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl591delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl592delta.pod
===================================================================
--- vendor/perl/dist/pod/perl592delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl592delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl592delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perl593delta.pod
===================================================================
--- vendor/perl/dist/pod/perl593delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl593delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl593delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perl594delta.pod
===================================================================
--- vendor/perl/dist/pod/perl594delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl594delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl594delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perl595delta.pod
===================================================================
--- vendor/perl/dist/pod/perl595delta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perl595delta.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perl595delta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perlapi.pod
===================================================================
--- vendor/perl/dist/pod/perlapi.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlapi.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlapi.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlapio.pod
===================================================================
--- vendor/perl/dist/pod/perlapio.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlapio.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -390,9 +390,8 @@
 
   PerlIO_fast_gets(f) = PerlIO_has_cntptr(f) && \
                         PerlIO_canset_cnt(f) && \
-                        `Can set pointer into buffer'
+                        'Can set pointer into buffer'
 
-
 =item B<PerlIO_has_cntptr(f)>
 
 Implementation can return pointer to current position in the "buffer"


Property changes on: vendor/perl/dist/pod/perlapio.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perlartistic.pod
===================================================================
--- vendor/perl/dist/pod/perlartistic.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlartistic.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlartistic.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlbook.pod
===================================================================
--- vendor/perl/dist/pod/perlbook.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlbook.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,9 +22,10 @@
 
 =item I<Programming Perl> (the "Camel Book"):
 
-	by Larry Wall, Tom Christiansen, and Jon Orwant
-	ISBN 978-0-596-00027-1  [3rd edition July 2000]
-	http://oreilly.com/catalog/9780596000271/
+	by Tom Christiansen, brian d foy, Larry Wall with Jon Orwant
+	ISBN 978-0-596-00492-7 [4th edition February 2012]
+	ISBN 978-1-4493-9890-3 [ebook]
+	http://oreilly.com/catalog/9780596004927
 
 =back
 
@@ -51,8 +52,8 @@
 =item I<Learning Perl>  (the "Llama Book")
 
 	by Randal L. Schwartz, Tom Phoenix, and brian d foy
-	ISBN 978-0-596-52011-3 [5th edition June 2008]
-	http://oreilly.com/catalog/9780596520113
+	ISBN 978-1-4493-0358-7 [6th edition June 2011]
+	http://oreilly.com/catalog/0636920018452
 
 =back
 
@@ -66,8 +67,8 @@
 
 	by Randal L. Schwartz and brian d foy, with Tom Phoenix
 		foreword by Damian Conway
-	ISBN 978-0-596-00478-1 [1st edition March 2006]
-	http://oreilly.com/catalog/9780596004781/
+	ISBN 978-1-4493-9309-0 [2nd edition August 2012]
+	http://oreilly.com/catalog/0636920012689/
 
 =back
 
@@ -80,8 +81,9 @@
 =item I<Perl 5 Pocket Reference>
 
 	by Johan Vromans
-	ISBN 978-0-596-00374-6 [4th edition July 2002]
-	http://oreilly.com/catalog/9780596003746/
+	ISBN 978-1-4493-0370-9 [5th edition July 2011]
+	ISBN 978-1-4493-0813-1 [ebook]
+	http://oreilly.com/catalog/0636920018476/
 
 =item I<Perl Debugger Pocket Reference>
 
@@ -105,7 +107,7 @@
 
 	by James Lee
 	ISBN 1-59059-391-X [3rd edition April 2010]
-	http://www.apress.com/book/view/1430227931
+	http://www.apress.com/9781430227939
 
 =item I<Learning Perl>
 
@@ -142,7 +144,7 @@
 
 	by Sam Tregar
 	ISBN 1-59059-018-X [1st edition August 2002]
-	http://www.apress.com/book/view/159059018X
+	http://www.apress.com/9781590590188
 
 =item I<The Perl Cookbook>
 
@@ -151,7 +153,6 @@
 	ISBN 1-56592-243-3 [2nd edition August 2003]
 	http://oreilly.com/catalog/9780596003135
 
-
 =item I<Automating System Administration with Perl>
 
 	by David N. Blank-Edelman
@@ -162,7 +163,7 @@
 
 	by Linchi Shea
 	ISBN 1-59059-097-X [1st edition July 2003]
-	http://www.apress.com/book/view/159059097X
+	http://www.apress.com/9781590590973
 
 =back
 
@@ -241,7 +242,7 @@
 
 	by Richard Foley with Andy Lester
 	ISBN 1-59059-454-1 [1st edition July 2005]
-	http://www.apress.com/book/view/1590594541
+	http://www.apress.com/9781590594544
 
 =back
 
@@ -251,8 +252,6 @@
 
 I<Higher-Order Perl>: http://hop.perl.plover.com/
 
-I<Writing Perl Modules for CPAN>: http://www.apress.com/resource/freeebook/9781590590188
-
 =head2 Other interesting, non-Perl books
 
 You might notice several familiar Perl concepts in this collection of


Property changes on: vendor/perl/dist/pod/perlbook.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlboot.pod
===================================================================
--- vendor/perl/dist/pod/perlboot.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlboot.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,884 +1,12 @@
+=encoding utf8
+
 =head1 NAME
 
-perlboot - Beginner's Object-Oriented Tutorial
+perlboot - This document has been deleted
 
 =head1 DESCRIPTION
 
-If you're not familiar with objects from other languages, some of the
-other Perl object documentation may be a little daunting, such as
-L<perlobj>, a basic reference in using objects, and L<perltoot>, which
-introduces readers to the peculiarities of Perl's object system in a
-tutorial way.
+For information on OO programming with Perl, please see L<perlootut>
+and L<perlobj>.
 
-So, let's take a different approach, presuming no prior object
-experience. It helps if you know about subroutines (L<perlsub>),
-references (L<perlref> et. seq.), and packages (L<perlmod>), so become
-familiar with those first if you haven't already.
-
-=head2 If we could talk to the animals...
-
-Let's let the animals talk for a moment:
-
-    sub Cow::speak {
-      print "a Cow goes moooo!\n";
-    }
-    sub Horse::speak {
-      print "a Horse goes neigh!\n";
-    }
-    sub Sheep::speak {
-      print "a Sheep goes baaaah!\n";
-    }
-
-    Cow::speak;
-    Horse::speak;
-    Sheep::speak;
-
-This results in:
-
-    a Cow goes moooo!
-    a Horse goes neigh!
-    a Sheep goes baaaah!
-
-Nothing spectacular here.  Simple subroutines, albeit from separate
-packages, and called using the full package name.  So let's create
-an entire pasture:
-
-    # Cow::speak, Horse::speak, Sheep::speak as before
-    @pasture = qw(Cow Cow Horse Sheep Sheep);
-    foreach $animal (@pasture) {
-      &{$animal."::speak"};
-    }
-
-This results in:
-
-    a Cow goes moooo!
-    a Cow goes moooo!
-    a Horse goes neigh!
-    a Sheep goes baaaah!
-    a Sheep goes baaaah!
-
-Wow.  That symbolic coderef de-referencing there is pretty nasty.
-We're counting on C<no strict refs> mode, certainly not recommended
-for larger programs.  And why was that necessary?  Because the name of
-the package seems to be inseparable from the name of the subroutine we
-want to invoke within that package.
-
-Or is it?
-
-=head2 Introducing the method invocation arrow
-
-For now, let's say that C<< Class->method >> invokes subroutine
-C<method> in package C<Class>.  (Here, "Class" is used in its
-"category" meaning, not its "scholastic" meaning.) That's not
-completely accurate, but we'll do this one step at a time.  Now let's
-use it like so:
-
-    # Cow::speak, Horse::speak, Sheep::speak as before
-    Cow->speak;
-    Horse->speak;
-    Sheep->speak;
-
-And once again, this results in:
-
-    a Cow goes moooo!
-    a Horse goes neigh!
-    a Sheep goes baaaah!
-
-That's not fun yet.  Same number of characters, all constant, no
-variables.  But yet, the parts are separable now.  Watch:
-
-    $a = "Cow";
-    $a->speak; # invokes Cow->speak
-
-Ahh!  Now that the package name has been parted from the subroutine
-name, we can use a variable package name.  And this time, we've got
-something that works even when C<use strict refs> is enabled.
-
-=head2 Invoking a barnyard
-
-Let's take that new arrow invocation and put it back in the barnyard
-example:
-
-    sub Cow::speak {
-      print "a Cow goes moooo!\n";
-    }
-    sub Horse::speak {
-      print "a Horse goes neigh!\n";
-    }
-    sub Sheep::speak {
-      print "a Sheep goes baaaah!\n";
-    }
-
-    @pasture = qw(Cow Cow Horse Sheep Sheep);
-    foreach $animal (@pasture) {
-      $animal->speak;
-    }
-
-There!  Now we have the animals all talking, and safely at that,
-without the use of symbolic coderefs.
-
-But look at all that common code.  Each of the C<speak> routines has a
-similar structure: a C<print> operator and a string that contains
-common text, except for two of the words.  It'd be nice if we could
-factor out the commonality, in case we decide later to change it all
-to C<says> instead of C<goes>.
-
-And we actually have a way of doing that without much fuss, but we
-have to hear a bit more about what the method invocation arrow is
-actually doing for us.
-
-=head2 The extra parameter of method invocation
-
-The invocation of:
-
-    Class->method(@args)
-
-attempts to invoke subroutine C<Class::method> as:
-
-    Class::method("Class", @args);
-
-(If the subroutine can't be found, "inheritance" kicks in, but we'll
-get to that later.)  This means that we get the class name as the
-first parameter (the only parameter, if no arguments are given).  So
-we can rewrite the C<Sheep> speaking subroutine as:
-
-    sub Sheep::speak {
-      my $class = shift;
-      print "a $class goes baaaah!\n";
-    }
-
-And the other two animals come out similarly:
-
-    sub Cow::speak {
-      my $class = shift;
-      print "a $class goes moooo!\n";
-    }
-    sub Horse::speak {
-      my $class = shift;
-      print "a $class goes neigh!\n";
-    }
-
-In each case, C<$class> will get the value appropriate for that
-subroutine.  But once again, we have a lot of similar structure.  Can
-we factor that out even further?  Yes, by calling another method in
-the same class.
-
-=head2 Calling a second method to simplify things
-
-Let's call out from C<speak> to a helper method called C<sound>.
-This method provides the constant text for the sound itself.
-
-    { package Cow;
-      sub sound { "moooo" }
-      sub speak {
-        my $class = shift;
-        print "a $class goes ", $class->sound, "!\n";
-      }
-    }
-
-Now, when we call C<< Cow->speak >>, we get a C<$class> of C<Cow> in
-C<speak>.  This in turn selects the C<< Cow->sound >> method, which
-returns C<moooo>.  But how different would this be for the C<Horse>?
-
-    { package Horse;
-      sub sound { "neigh" }
-      sub speak {
-        my $class = shift;
-        print "a $class goes ", $class->sound, "!\n";
-      }
-    }
-
-Only the name of the package and the specific sound change.  So can we
-somehow share the definition for C<speak> between the Cow and the
-Horse?  Yes, with inheritance!
-
-=head2 Inheriting the windpipes
-
-We'll define a common subroutine package called C<Animal>, with the
-definition for C<speak>:
-
-    { package Animal;
-      sub speak {
-      my $class = shift;
-      print "a $class goes ", $class->sound, "!\n";
-      }
-    }
-
-Then, for each animal, we say it "inherits" from C<Animal>, along
-with the animal-specific sound:
-
-    { package Cow;
-      @ISA = qw(Animal);
-      sub sound { "moooo" }
-    }
-
-Note the added C<@ISA> array (pronounced "is a").  We'll get to that in a minute.
-
-But what happens when we invoke C<< Cow->speak >> now?
-
-First, Perl constructs the argument list.  In this case, it's just
-C<Cow>.  Then Perl looks for C<Cow::speak>.  But that's not there, so
-Perl checks for the inheritance array C<@Cow::ISA>.  It's there,
-and contains the single name C<Animal>.
-
-Perl next checks for C<speak> inside C<Animal> instead, as in
-C<Animal::speak>.  And that's found, so Perl invokes that subroutine
-with the already frozen argument list.
-
-Inside the C<Animal::speak> subroutine, C<$class> becomes C<Cow> (the
-first argument).  So when we get to the step of invoking
-C<< $class->sound >>, it'll be looking for C<< Cow->sound >>, which
-gets it on the first try without looking at C<@ISA>.  Success!
-
-=head2 A few notes about @ISA
-
-This magical C<@ISA> variable has declared that C<Cow> "is a" C<Animal>.
-Note that it's an array, not a simple single value, because on rare
-occasions, it makes sense to have more than one parent class searched
-for the missing methods.
-
-If C<Animal> also had an C<@ISA>, then we'd check there too.  The
-search is recursive, depth-first, left-to-right in each C<@ISA> by
-default (see L<mro> for alternatives).  Typically, each C<@ISA> has
-only one element (multiple elements means multiple inheritance and
-multiple headaches), so we get a nice tree of inheritance.
-
-When we turn on C<use strict>, we'll get complaints on C<@ISA>, since
-it's not a variable containing an explicit package name, nor is it a
-lexical ("my") variable.  We can't make it a lexical variable though
-(it has to belong to the package to be found by the inheritance mechanism),
-so there's a couple of straightforward ways to handle that.
-
-The easiest is to just spell the package name out:
-
-    @Cow::ISA = qw(Animal);
-
-Or declare it as a package global variable:
-
-    package Cow;
-    our @ISA = qw(Animal);
-
-Or allow it as an implicitly named package variable:
-
-    package Cow;
-    use vars qw(@ISA);
-    @ISA = qw(Animal);
-
-If the C<Animal> class comes from another (object-oriented) module, then
-just employ C<use base> to specify that C<Animal> should serve as the basis
-for the C<Cow> class:
-
-    package Cow;
-    use base qw(Animal);
-
-Now that's pretty darn simple!
-
-=head2 Overriding the methods
-
-Let's add a mouse, which can barely be heard:
-
-    # Animal package from before
-    { package Mouse;
-      @ISA = qw(Animal);
-      sub sound { "squeak" }
-      sub speak {
-        my $class = shift;
-        print "a $class goes ", $class->sound, "!\n";
-        print "[but you can barely hear it!]\n";
-      }
-    }
-
-    Mouse->speak;
-
-which results in:
-
-    a Mouse goes squeak!
-    [but you can barely hear it!]
-
-Here, C<Mouse> has its own speaking routine, so C<< Mouse->speak >>
-doesn't immediately invoke C<< Animal->speak >>. This is known as
-"overriding". In fact, we don't even need to say that a C<Mouse> is
-an C<Animal> at all, because all of the methods needed for C<speak> are
-completely defined for C<Mouse>; this is known as "duck typing":
-"If it walks like a duck and quacks like a duck, I would call it a duck"
-(James Whitcomb). However, it would probably be beneficial to allow a
-closer examination to conclude that a C<Mouse> is indeed an C<Animal>,
-so it is actually better to define C<Mouse> with C<Animal> as its base
-(that is, it is better to "derive C<Mouse> from C<Animal>").
-
-Moreover, this duplication of code could become a maintenance headache
-(though code-reuse is not actually a good reason for inheritance; good
-design practices dictate that a derived class should be usable wherever
-its base class is usable, which might not be the outcome if code-reuse
-is the sole criterion for inheritance. Just remember that a C<Mouse>
-should always act like an C<Animal>).
-
-So, let's make C<Mouse> an C<Animal>!
-
-The obvious solution is to invoke C<Animal::speak> directly:
-
-    # Animal package from before
-    { package Mouse;
-      @ISA = qw(Animal);
-      sub sound { "squeak" }
-      sub speak {
-        my $class = shift;
-        Animal::speak($class);
-        print "[but you can barely hear it!]\n";
-      }
-    }
-
-Note that we're using C<Animal::speak>. If we were to invoke
-C<< Animal->speak >> instead, the first parameter to C<Animal::speak>
-would automatically be C<"Animal"> rather than C<"Mouse">, so that
-the call to C<< $class->sound >> in C<Animal::speak> would become
-C<< Animal->sound >> rather than C<< Mouse->sound >>.
-
-Also, without the method arrow C<< -> >>, it becomes necessary to specify
-the first parameter to C<Animal::speak> ourselves, which is why C<$class>
-is explicitly passed: C<Animal::speak($class)>.
-
-However, invoking C<Animal::speak> directly is a mess: Firstly, it assumes
-that the C<speak> method is a member of the C<Animal> class; what if C<Animal>
-actually inherits C<speak> from its own base? Because we are no longer using
-C<< -> >> to access C<speak>, the special method look up mechanism wouldn't be
-used, so C<speak> wouldn't even be found!
-
-The second problem is more subtle: C<Animal> is now hardwired into the subroutine
-selection. Let's assume that C<Animal::speak> does exist. What happens when,
-at a later time, someone expands the class hierarchy by having C<Mouse>
-inherit from C<Mus> instead of C<Animal>. Unless the invocation of C<Animal::speak>
-is also changed to an invocation of C<Mus::speak>, centuries worth of taxonomical
-classification could be obliterated!
-
-What we have here is a fragile or leaky abstraction; it is the beginning of a
-maintenance nightmare. What we need is the ability to search for the right
-method wih as few assumptions as possible.
-
-=head2 Starting the search from a different place
-
-A I<better> solution is to tell Perl where in the inheritance chain to begin searching
-for C<speak>. This can be achieved with a modified version of the method arrow C<< -> >>:
-
-    ClassName->FirstPlaceToLook::method
-
-So, the improved C<Mouse> class is:
-
-    # same Animal as before
-    { package Mouse;
-      # same @ISA, &sound as before
-      sub speak {
-        my $class = shift;
-        $class->Animal::speak;
-        print "[but you can barely hear it!]\n";
-      }
-    }
-
-Using this syntax, we start with C<Animal> to find C<speak>, and then
-use all of C<Animal>'s inheritance chain if it is not found immediately.
-As usual, the first parameter to C<speak> would be C<$class>, so we no
-longer need to pass C<$class> explicitly to C<speak>.
-
-But what about the second problem? We're still hardwiring C<Animal> into
-the method lookup.
-
-=head2 The SUPER way of doing things
-
-If C<Animal> is replaced with the special placeholder C<SUPER> in that
-invocation, then the contents of C<Mouse>'s C<@ISA> are used for the
-search, beginning with C<$ISA[0]>. So, all of the problems can be fixed
-as follows:
-
-    # same Animal as before
-    { package Mouse;
-      # same @ISA, &sound as before
-      sub speak {
-        my $class = shift;
-        $class->SUPER::speak;
-        print "[but you can barely hear it!]\n";
-      }
-    }
-
-In general, C<SUPER::speak> means look in the current package's C<@ISA>
-for a class that implements C<speak>, and invoke the first one found.
-The placeholder is called C<SUPER>, because many other languages refer
-to base classes as "I<super>classes", and Perl likes to be eclectic.
-
-Note that a call such as
-
-    $class->SUPER::method;
-
-does I<not> look in the C<@ISA> of C<$class> unless C<$class> happens to
-be the current package.
-
-=head2 Let's review...
-
-So far, we've seen the method arrow syntax:
-
-  Class->method(@args);
-
-or the equivalent:
-
-  $a = "Class";
-  $a->method(@args);
-
-which constructs an argument list of:
-
-  ("Class", @args)
-
-and attempts to invoke:
-
-  Class::method("Class", @args);
-
-However, if C<Class::method> is not found, then C<@Class::ISA> is examined
-(recursively) to locate a class (a package) that does indeed contain C<method>,
-and that subroutine is invoked instead.
-
-Using this simple syntax, we have class methods, (multiple) inheritance,
-overriding, and extending. Using just what we've seen so far, we've
-been able to factor out common code (though that's never a good reason
-for inheritance!), and provide a nice way to reuse implementations with
-variations.
-
-Now, what about data?
-
-=head2 A horse is a horse, of course of course, or is it?
-
-Let's start with the code for the C<Animal> class
-and the C<Horse> class:
-
-  { package Animal;
-    sub speak {
-      my $class = shift;
-      print "a $class goes ", $class->sound, "!\n";
-    }
-  }
-  { package Horse;
-    @ISA = qw(Animal);
-    sub sound { "neigh" }
-  }
-
-This lets us invoke C<< Horse->speak >> to ripple upward to
-C<Animal::speak>, calling back to C<Horse::sound> to get the specific
-sound, and the output of:
-
-  a Horse goes neigh!
-
-But all of our Horse objects would have to be absolutely identical.
-If we add a subroutine, all horses automatically share it. That's
-great for making horses the same, but how do we capture the
-distinctions of an individual horse?  For example, suppose we want
-to give our first horse a name. There's got to be a way to keep its
-name separate from the other horses.
-
-That is to say, we want particular instances of C<Horse> to have
-different names.
-
-In Perl, any reference can be an "instance", so let's start with the
-simplest reference that can hold a horse's name: a scalar reference.
-
-  my $name = "Mr. Ed";
-  my $horse = \$name;
-
-So, now C<$horse> is a reference to what will be the instance-specific
-data (the name). The final step is to turn this reference into a real
-instance of a C<Horse> by using the special operator C<bless>:
-
-  bless $horse, Horse;
-
-This operator stores information about the package named C<Horse> into
-the thing pointed at by the reference.  At this point, we say
-C<$horse> is an instance of C<Horse>.  That is, it's a specific
-horse.  The reference is otherwise unchanged, and can still be used
-with traditional dereferencing operators.
-
-=head2 Invoking an instance method
-
-The method arrow can be used on instances, as well as classes (the names
-of packages). So, let's get the sound that C<$horse> makes:
-
-  my $noise = $horse->sound("some", "unnecessary", "args");
-
-To invoke C<sound>, Perl first notes that C<$horse> is a blessed
-reference (and thus an instance).  It then constructs an argument
-list, as per usual.
-
-Now for the fun part: Perl takes the class in which the instance was
-blessed, in this case C<Horse>, and uses that class to locate the
-subroutine. In this case, C<Horse::sound> is found directly (without
-using inheritance). In the end, it is as though our initial line were
-written as follows:
-
-  my $noise = Horse::sound($horse, "some", "unnecessary", "args");
-
-Note that the first parameter here is still the instance, not the name
-of the class as before.  We'll get C<neigh> as the return value, and
-that'll end up as the C<$noise> variable above.
-
-If Horse::sound had not been found, we'd be wandering up the C<@Horse::ISA>
-array, trying to find the method in one of the superclasses. The only
-difference between a class method and an instance method is whether the
-first parameter is an instance (a blessed reference) or a class name (a
-string).
-
-=head2 Accessing the instance data
-
-Because we get the instance as the first parameter, we can now access
-the instance-specific data.  In this case, let's add a way to get at
-the name:
-
-  { package Horse;
-    @ISA = qw(Animal);
-    sub sound { "neigh" }
-    sub name {
-      my $self = shift;
-      $$self;
-    }
-  }
-
-Inside C<Horse::name>, the C<@_> array contains:
-
-    ($horse, "some", "unnecessary", "args")
-
-so the C<shift> stores C<$horse> into C<$self>. Then, C<$self> gets
-de-referenced with C<$$self> as normal, yielding C<"Mr. Ed">.
-
-It's traditional to C<shift> the first parameter into a variable named
-C<$self> for instance methods and into a variable named C<$class> for
-class methods.
-
-Then, the following line:
-
-  print $horse->name, " says ", $horse->sound, "\n";
-
-outputs:
-
-  Mr. Ed says neigh.
-
-=head2 How to build a horse
-
-Of course, if we constructed all of our horses by hand, we'd most
-likely make mistakes from time to time.  We're also violating one of
-the properties of object-oriented programming, in that the "inside
-guts" of a Horse are visible.  That's good if you're a veterinarian,
-but not if you just like to own horses.  So, let's have the Horse
-class handle the details inside a class method:
-
-  { package Horse;
-    @ISA = qw(Animal);
-    sub sound { "neigh" }
-    sub name {
-      my $self = shift;     # instance method, so use $self
-      $$self;
-    }
-    sub named {
-      my $class = shift;    # class method, so use $class
-      my $name = shift;
-      bless \$name, $class;
-    }
-  }
-
-Now with the new C<named> method, we can build a horse as follows:
-
-  my $horse = Horse->named("Mr. Ed");
-
-Notice we're back to a class method, so the two arguments to
-C<Horse::named> are C<Horse> and C<Mr. Ed>.  The C<bless> operator
-not only blesses C<\$name>, it also returns that reference.
-
-This C<Horse::named> method is called a "constructor".
-
-We've called the constructor C<named> here, so that it quickly denotes
-the constructor's argument as the name for this particular C<Horse>.
-You can use different constructors with different names for different
-ways of "giving birth" to the object (like maybe recording its
-pedigree or date of birth).  However, you'll find that most people
-coming to Perl from more limited languages use a single constructor
-named C<new>, with various ways of interpreting the arguments to
-C<new>.  Either style is fine, as long as you document your particular
-way of giving birth to an object.  (And you I<were> going to do that,
-right?)
-
-=head2 Inheriting the constructor
-
-But was there anything specific to C<Horse> in that method?  No.  Therefore,
-it's also the same recipe for building anything else that inherited from
-C<Animal>, so let's put C<name> and C<named> there:
-
-  { package Animal;
-    sub speak {
-      my $class = shift;
-      print "a $class goes ", $class->sound, "!\n";
-    }
-    sub name {
-      my $self = shift;
-      $$self;
-    }
-    sub named {
-      my $class = shift;
-      my $name = shift;
-      bless \$name, $class;
-    }
-  }
-  { package Horse;
-    @ISA = qw(Animal);
-    sub sound { "neigh" }
-  }
-
-Ahh, but what happens if we invoke C<speak> on an instance?
-
-  my $horse = Horse->named("Mr. Ed");
-  $horse->speak;
-
-We get a debugging value:
-
-  a Horse=SCALAR(0xaca42ac) goes neigh!
-
-Why?  Because the C<Animal::speak> routine is expecting a classname as
-its first parameter, not an instance.  When the instance is passed in,
-we'll end up using a blessed scalar reference as a string, and that
-shows up as we saw it just now.
-
-=head2 Making a method work with either classes or instances
-
-All we need is for a method to detect if it is being called on a class
-or called on an instance.  The most straightforward way is with the
-C<ref> operator.  This returns a string (the classname) when used on a
-blessed reference, and an empty string when used on a string (like a
-classname).  Let's modify the C<name> method first to notice the change:
-
-  sub name {
-    my $either = shift;
-    ref $either ? $$either : "Any $either";
-  }
-
-Here, the C<?:> operator comes in handy to select either the
-dereference or a derived string.  Now we can use this with either an
-instance or a class.  Note that I've changed the first parameter
-holder to C<$either> to show that this is intended:
-
-  my $horse = Horse->named("Mr. Ed");
-  print Horse->name, "\n"; # prints "Any Horse\n"
-  print $horse->name, "\n"; # prints "Mr Ed.\n"
-
-and now we'll fix C<speak> to use this:
-
-  sub speak {
-    my $either = shift;
-    print $either->name, " goes ", $either->sound, "\n";
-  }
-
-And since C<sound> already worked with either a class or an instance,
-we're done!
-
-=head2 Adding parameters to a method
-
-Let's train our animals to eat:
-
-  { package Animal;
-    sub named {
-      my $class = shift;
-      my $name = shift;
-      bless \$name, $class;
-    }
-    sub name {
-      my $either = shift;
-      ref $either ? $$either : "Any $either";
-    }
-    sub speak {
-      my $either = shift;
-      print $either->name, " goes ", $either->sound, "\n";
-    }
-    sub eat {
-      my $either = shift;
-      my $food = shift;
-      print $either->name, " eats $food.\n";
-    }
-  }
-  { package Horse;
-    @ISA = qw(Animal);
-    sub sound { "neigh" }
-  }
-  { package Sheep;
-    @ISA = qw(Animal);
-    sub sound { "baaaah" }
-  }
-
-And now try it out:
-
-  my $horse = Horse->named("Mr. Ed");
-  $horse->eat("hay");
-  Sheep->eat("grass");
-
-which prints:
-
-  Mr. Ed eats hay.
-  Any Sheep eats grass.
-
-An instance method with parameters gets invoked with the instance,
-and then the list of parameters.  So that first invocation is like:
-
-  Animal::eat($horse, "hay");
-
-=head2 More interesting instances
-
-What if an instance needs more data?  Most interesting instances are
-made of many items, each of which can in turn be a reference or even
-another object.  The easiest way to store these is often in a hash.
-The keys of the hash serve as the names of parts of the object (often
-called "instance variables" or "member variables"), and the
-corresponding values are, well, the values.
-
-But how do we turn the horse into a hash?  Recall that an object was
-any blessed reference.  We can just as easily make it a blessed hash
-reference as a blessed scalar reference, as long as everything that
-looks at the reference is changed accordingly.
-
-Let's make a sheep that has a name and a color:
-
-  my $bad = bless { Name => "Evil", Color => "black" }, Sheep;
-
-so C<< $bad->{Name} >> has C<Evil>, and C<< $bad->{Color} >> has
-C<black>.  But we want to make C<< $bad->name >> access the name, and
-that's now messed up because it's expecting a scalar reference.  Not
-to worry, because that's pretty easy to fix up.
-
-One solution is to override C<Animal::name> and C<Animal::named> by
-defining them anew in C<Sheep>, but then any methods added later to
-C<Animal> might still mess up, and we'd have to override all of those
-too. Therefore, it's never a good idea to define the data layout in a
-way that's different from the data layout of the base classes. In fact,
-it's a good idea to use blessed hash references in all cases. Also, this
-is why it's important to have constructors do the low-level work. So,
-let's redefine C<Animal>:
-
-  ## in Animal
-  sub name {
-    my $either = shift;
-    ref $either ? $either->{Name} : "Any $either";
-  }
-  sub named {
-    my $class = shift;
-    my $name = shift;
-    my $self = { Name => $name };
-    bless $self, $class;
-  }
-
-Of course, we still need to override C<named> in order to handle
-constructing a C<Sheep> with a certain color:
-
-  ## in Sheep
-  sub named {
-    my ($class, $name) = @_;
-    my $self = $class->SUPER::named(@_);
-    $$self{Color} = $class->default_color;
-    $self
-  }
-
-(Note that C<@_> contains the parameters to C<named>.)
-
-What's this C<default_color>?  Well, if C<named> has only the name,
-we still need to set a color, so we'll have a class-specific default color.
-For a sheep, we might define it as white:
-
-  ## in Sheep
-  sub default_color { "white" }
-
-Now:
-
-  my $sheep = Sheep->named("Bad");
-  print $sheep->{Color}, "\n";
-
-outputs:
-
-  white
-
-Now, there's nothing particularly specific to C<Sheep> when it comes
-to color, so let's remove C<Sheep::named> and implement C<Animal::named>
-to handle color instead:
-
-  ## in Animal
-  sub named {
-    my ($class, $name) = @_;
-    my $self = { Name => $name, Color => $class->default_color };
-    bless $self, $class;
-  }
-
-And then to keep from having to define C<default_color> for each additional
-class, we'll define a method that serves as the "default default" directly
-in C<Animal>:
-
-  ## in Animal
-  sub default_color { "brown" }
-
-Of course, because C<name> and C<named> were the only methods that
-referenced the "structure" of the object, the rest of the methods can
-remain the same, so C<speak> still works as before.
-
-=head2 A horse of a different color
-
-But having all our horses be brown would be boring.  So let's add a
-method or two to get and set the color.
-
-  ## in Animal
-  sub color {
-    $_[0]->{Color}
-  }
-  sub set_color {
-    $_[0]->{Color} = $_[1];
-  }
-
-Note the alternate way of accessing the arguments: C<$_[0]> is used
-in-place, rather than with a C<shift>.  (This saves us a bit of time
-for something that may be invoked frequently.)  And now we can fix
-that color for Mr. Ed:
-
-  my $horse = Horse->named("Mr. Ed");
-  $horse->set_color("black-and-white");
-  print $horse->name, " is colored ", $horse->color, "\n";
-
-which results in:
-
-  Mr. Ed is colored black-and-white
-
-=head2 Summary
-
-So, now we have class methods, constructors, instance methods, instance
-data, and even accessors. But that's still just the beginning of what
-Perl has to offer. We haven't even begun to talk about accessors that
-double as getters and setters, destructors, indirect object notation,
-overloading, "isa" and "can" tests, the C<UNIVERSAL> class, and so on.
-That's for the rest of the Perl documentation to cover. Hopefully, this
-gets you started, though.
-
-=head1 SEE ALSO
-
-For more information, see L<perlobj> (for all the gritty details about
-Perl objects, now that you've seen the basics), L<perltoot> (the
-tutorial for those who already know objects), L<perltooc> (dealing
-with class data), L<perlbot> (for some more tricks), and books such as
-Damian Conway's excellent I<Object Oriented Perl>.
-
-Some modules which might prove interesting are Class::Accessor,
-Class::Class, Class::Contract, Class::Data::Inheritable,
-Class::MethodMaker and Tie::SecureHash
-
-=head1 COPYRIGHT
-
-Copyright (c) 1999, 2000 by Randal L. Schwartz and Stonehenge
-Consulting Services, Inc.
-
-Copyright (c) 2009 by Michael F. Witten.
-
-Permission is hereby granted to distribute this document intact with
-the Perl distribution, and in accordance with the licenses of the Perl
-distribution; derived documents must include this copyright notice
-intact.
-
-Portions of this text have been derived from Perl Training materials
-originally appearing in the I<Packages, References, Objects, and
-Modules> course taught by instructors for Stonehenge Consulting
-Services, Inc. and used with permission.
-
-Portions of this text have been derived from materials originally
-appearing in I<Linux Magazine> and used with permission.
+=cut


Property changes on: vendor/perl/dist/pod/perlboot.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlbot.pod
===================================================================
--- vendor/perl/dist/pod/perlbot.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlbot.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,535 +1,12 @@
+=encoding utf8
+
 =head1 NAME
 
-perlbot - Bag o' Object Tricks (the BOT)
+perlbot - This document has been deleted
 
 =head1 DESCRIPTION
 
-The following collection of tricks and hints is intended to whet curious
-appetites about such things as the use of instance variables and the
-mechanics of object and class relationships.  The reader is encouraged to
-consult relevant textbooks for discussion of Object Oriented definitions and
-methodology.  This is not intended as a tutorial for object-oriented
-programming or as a comprehensive guide to Perl's object oriented features,
-nor should it be construed as a style guide.  If you're looking for tutorials,
-be sure to read L<perlboot>, L<perltoot>, and L<perltooc>.
+For information on OO programming with Perl, please see L<perlootut>
+and L<perlobj>.
 
-The Perl motto still holds:  There's more than one way to do it.
-
-=head1 OO SCALING TIPS
-
-=over 5
-
-=item 1
-
-Do not attempt to verify the type of $self.  That'll break if the class is
-inherited, when the type of $self is valid but its package isn't what you
-expect.  See rule 5.
-
-=item 2
-
-If an object-oriented (OO) or indirect-object (IO) syntax was used, then the
-object is probably the correct type and there's no need to become paranoid
-about it.  Perl isn't a paranoid language anyway.  If people subvert the OO
-or IO syntax then they probably know what they're doing and you should let
-them do it.  See rule 1.
-
-=item 3
-
-Use the two-argument form of bless().  Let a subclass use your constructor.
-See L<INHERITING A CONSTRUCTOR>.
-
-=item 4
-
-The subclass is allowed to know things about its immediate superclass, the
-superclass is allowed to know nothing about a subclass.
-
-=item 5
-
-Don't be trigger happy with inheritance.  A "using", "containing", or
-"delegation" relationship (some sort of aggregation, at least) is often more
-appropriate.  See L<OBJECT RELATIONSHIPS>, L<USING RELATIONSHIP WITH SDBM>,
-and L<"DELEGATION">.
-
-=item 6
-
-The object is the namespace.  Make package globals accessible via the
-object.  This will remove the guess work about the symbol's home package.
-See L<CLASS CONTEXT AND THE OBJECT>.
-
-=item 7
-
-IO syntax is certainly less noisy, but it is also prone to ambiguities that
-can cause difficult-to-find bugs.  Allow people to use the sure-thing OO
-syntax, even if you don't like it.
-
-=item 8
-
-Do not use function-call syntax on a method.  You're going to be bitten
-someday.  Someone might move that method into a superclass and your code
-will be broken.  On top of that you're feeding the paranoia in rule 2.
-
-=item 9
-
-Don't assume you know the home package of a method.  You're making it
-difficult for someone to override that method.  See L<THINKING OF CODE REUSE>.
-
-=back
-
-=head1 INSTANCE VARIABLES
-
-An anonymous array or anonymous hash can be used to hold instance
-variables.  Named parameters are also demonstrated.
-
-	package Foo;
-
-	sub new {
-		my $type = shift;
-		my %params = @_;
-		my $self = {};
-		$self->{'High'} = $params{'High'};
-		$self->{'Low'}  = $params{'Low'};
-		bless $self, $type;
-	}
-
-
-	package Bar;
-
-	sub new {
-		my $type = shift;
-		my %params = @_;
-		my $self = [];
-		$self->[0] = $params{'Left'};
-		$self->[1] = $params{'Right'};
-		bless $self, $type;
-	}
-
-	package main;
-
-	$a = Foo->new( 'High' => 42, 'Low' => 11 );
-	print "High=$a->{'High'}\n";
-	print "Low=$a->{'Low'}\n";
-
-	$b = Bar->new( 'Left' => 78, 'Right' => 40 );
-	print "Left=$b->[0]\n";
-	print "Right=$b->[1]\n";
-
-=head1 SCALAR INSTANCE VARIABLES
-
-An anonymous scalar can be used when only one instance variable is needed.
-
-	package Foo;
-
-	sub new {
-		my $type = shift;
-		my $self;
-		$self = shift;
-		bless \$self, $type;
-	}
-
-	package main;
-
-	$a = Foo->new( 42 );
-	print "a=$$a\n";
-
-
-=head1 INSTANCE VARIABLE INHERITANCE
-
-This example demonstrates how one might inherit instance variables from a
-superclass for inclusion in the new class.  This requires calling the
-superclass's constructor and adding one's own instance variables to the new
-object.
-
-	package Bar;
-
-	sub new {
-		my $type = shift;
-		my $self = {};
-		$self->{'buz'} = 42;
-		bless $self, $type;
-	}
-
-	package Foo;
-	@ISA = qw( Bar );
-
-	sub new {
-		my $type = shift;
-		my $self = Bar->new;
-		$self->{'biz'} = 11;
-		bless $self, $type;
-	}
-
-	package main;
-
-	$a = Foo->new;
-	print "buz = ", $a->{'buz'}, "\n";
-	print "biz = ", $a->{'biz'}, "\n";
-
-
-
-=head1 OBJECT RELATIONSHIPS
-
-The following demonstrates how one might implement "containing" and "using"
-relationships between objects.
-
-	package Bar;
-
-	sub new {
-		my $type = shift;
-		my $self = {};
-		$self->{'buz'} = 42;
-		bless $self, $type;
-	}
-
-	package Foo;
-
-	sub new {
-		my $type = shift;
-		my $self = {};
-		$self->{'Bar'} = Bar->new;
-		$self->{'biz'} = 11;
-		bless $self, $type;
-	}
-
-	package main;
-
-	$a = Foo->new;
-	print "buz = ", $a->{'Bar'}->{'buz'}, "\n";
-	print "biz = ", $a->{'biz'}, "\n";
-
-
-
-=head1 OVERRIDING SUPERCLASS METHODS
-
-The following example demonstrates how to override a superclass method and
-then call the overridden method.  The B<SUPER> pseudo-class allows the
-programmer to call an overridden superclass method without actually knowing
-where that method is defined.
-
-	package Buz;
-	sub goo { print "here's the goo\n" }
-
-	package Bar; @ISA = qw( Buz );
-	sub google { print "google here\n" }
-
-	package Baz;
-	sub mumble { print "mumbling\n" }
-
-	package Foo;
-	@ISA = qw( Bar Baz );
-
-	sub new {
-		my $type = shift;
-		bless [], $type;
-	}
-	sub grr { print "grumble\n" }
-	sub goo {
-		my $self = shift;
-		$self->SUPER::goo();
-	}
-	sub mumble {
-		my $self = shift;
-		$self->SUPER::mumble();
-	}
-	sub google {
-		my $self = shift;
-		$self->SUPER::google();
-	}
-
-	package main;
-
-	$foo = Foo->new;
-	$foo->mumble;
-	$foo->grr;
-	$foo->goo;
-	$foo->google;
-
-Note that C<SUPER> refers to the superclasses of the current package
-(C<Foo>), not to the superclasses of C<$self>.
-
-
-=head1 USING RELATIONSHIP WITH SDBM
-
-This example demonstrates an interface for the SDBM class.  This creates a
-"using" relationship between the SDBM class and the new class Mydbm.
-
-	package Mydbm;
-
-	require SDBM_File;
-	require Tie::Hash;
-	@ISA = qw( Tie::Hash );
-
-	sub TIEHASH {
-	    my $type = shift;
-	    my $ref  = SDBM_File->new(@_);
-	    bless {'dbm' => $ref}, $type;
-	}
-	sub FETCH {
-	    my $self = shift;
-	    my $ref  = $self->{'dbm'};
-	    $ref->FETCH(@_);
-	}
-	sub STORE {
-	    my $self = shift;
-	    if (defined $_[0]){
-		my $ref = $self->{'dbm'};
-		$ref->STORE(@_);
-	    } else {
-		die "Cannot STORE an undefined key in Mydbm\n";
-	    }
-	}
-
-	package main;
-	use Fcntl qw( O_RDWR O_CREAT );
-
-	tie %foo, "Mydbm", "Sdbm", O_RDWR|O_CREAT, 0640;
-	$foo{'bar'} = 123;
-	print "foo-bar = $foo{'bar'}\n";
-
-	tie %bar, "Mydbm", "Sdbm2", O_RDWR|O_CREAT, 0640;
-	$bar{'Cathy'} = 456;
-	print "bar-Cathy = $bar{'Cathy'}\n";
-
-=head1 THINKING OF CODE REUSE
-
-One strength of Object-Oriented languages is the ease with which old code
-can use new code.  The following examples will demonstrate first how one can
-hinder code reuse and then how one can promote code reuse.
-
-This first example illustrates a class which uses a fully-qualified method
-call to access the "private" method BAZ().  The second example will show
-that it is impossible to override the BAZ() method.
-
-	package FOO;
-
-	sub new {
-		my $type = shift;
-		bless {}, $type;
-	}
-	sub bar {
-		my $self = shift;
-		$self->FOO::private::BAZ;
-	}
-
-	package FOO::private;
-
-	sub BAZ {
-		print "in BAZ\n";
-	}
-
-	package main;
-
-	$a = FOO->new;
-	$a->bar;
-
-Now we try to override the BAZ() method.  We would like FOO::bar() to call
-GOOP::BAZ(), but this cannot happen because FOO::bar() explicitly calls
-FOO::private::BAZ().
-
-	package FOO;
-
-	sub new {
-		my $type = shift;
-		bless {}, $type;
-	}
-	sub bar {
-		my $self = shift;
-		$self->FOO::private::BAZ;
-	}
-
-	package FOO::private;
-
-	sub BAZ {
-		print "in BAZ\n";
-	}
-
-	package GOOP;
-	@ISA = qw( FOO );
-	sub new {
-		my $type = shift;
-		bless {}, $type;
-	}
-
-	sub BAZ {
-		print "in GOOP::BAZ\n";
-	}
-
-	package main;
-
-	$a = GOOP->new;
-	$a->bar;
-
-To create reusable code we must modify class FOO, flattening class
-FOO::private.  The next example shows a reusable class FOO which allows the
-method GOOP::BAZ() to be used in place of FOO::BAZ().
-
-	package FOO;
-
-	sub new {
-		my $type = shift;
-		bless {}, $type;
-	}
-	sub bar {
-		my $self = shift;
-		$self->BAZ;
-	}
-
-	sub BAZ {
-		print "in BAZ\n";
-	}
-
-	package GOOP;
-	@ISA = qw( FOO );
-
-	sub new {
-		my $type = shift;
-		bless {}, $type;
-	}
-	sub BAZ {
-		print "in GOOP::BAZ\n";
-	}
-
-	package main;
-
-	$a = GOOP->new;
-	$a->bar;
-
-=head1 CLASS CONTEXT AND THE OBJECT
-
-Use the object to solve package and class context problems.  Everything a
-method needs should be available via the object or should be passed as a
-parameter to the method.
-
-A class will sometimes have static or global data to be used by the
-methods.  A subclass may want to override that data and replace it with new
-data.  When this happens the superclass may not know how to find the new
-copy of the data.
-
-This problem can be solved by using the object to define the context of the
-method.  Let the method look in the object for a reference to the data.  The
-alternative is to force the method to go hunting for the data ("Is it in my
-class, or in a subclass?  Which subclass?"), and this can be inconvenient
-and will lead to hackery.  It is better just to let the object tell the
-method where that data is located.
-
-	package Bar;
-
-	%fizzle = ( 'Password' => 'XYZZY' );
-
-	sub new {
-		my $type = shift;
-		my $self = {};
-		$self->{'fizzle'} = \%fizzle;
-		bless $self, $type;
-	}
-
-	sub enter {
-		my $self = shift;
-
-		# Don't try to guess if we should use %Bar::fizzle
-		# or %Foo::fizzle.  The object already knows which
-		# we should use, so just ask it.
-		#
-		my $fizzle = $self->{'fizzle'};
-
-		print "The word is ", $fizzle->{'Password'}, "\n";
-	}
-
-	package Foo;
-	@ISA = qw( Bar );
-
-	%fizzle = ( 'Password' => 'Rumple' );
-
-	sub new {
-		my $type = shift;
-		my $self = Bar->new;
-		$self->{'fizzle'} = \%fizzle;
-		bless $self, $type;
-	}
-
-	package main;
-
-	$a = Bar->new;
-	$b = Foo->new;
-	$a->enter;
-	$b->enter;
-
-=head1 INHERITING A CONSTRUCTOR
-
-An inheritable constructor should use the second form of bless() which allows
-blessing directly into a specified class.  Notice in this example that the
-object will be a BAR not a FOO, even though the constructor is in class FOO.
-
-	package FOO;
-
-	sub new {
-		my $type = shift;
-		my $self = {};
-		bless $self, $type;
-	}
-
-	sub baz {
-		print "in FOO::baz()\n";
-	}
-
-	package BAR;
-	@ISA = qw(FOO);
-
-	sub baz {
-		print "in BAR::baz()\n";
-	}
-
-	package main;
-
-	$a = BAR->new;
-	$a->baz;
-
-=head1 DELEGATION
-
-Some classes, such as SDBM_File, cannot be effectively subclassed because
-they create foreign objects.  Such a class can be extended with some sort of
-aggregation technique such as the "using" relationship mentioned earlier or
-by delegation.
-
-The following example demonstrates delegation using an AUTOLOAD() function to
-perform message-forwarding.  This will allow the Mydbm object to behave
-exactly like an SDBM_File object.  The Mydbm class could now extend the
-behavior by adding custom FETCH() and STORE() methods, if this is desired.
-
-	package Mydbm;
-
-	require SDBM_File;
-	require Tie::Hash;
-	@ISA = qw(Tie::Hash);
-
-	sub TIEHASH {
-		my $type = shift;
-		my $ref = SDBM_File->new(@_);
-		bless {'delegate' => $ref};
-	}
-
-	sub AUTOLOAD {
-		my $self = shift;
-
-		# The Perl interpreter places the name of the
-		# message in a variable called $AUTOLOAD.
-
-		# DESTROY messages should never be propagated.
-		return if $AUTOLOAD =~ /::DESTROY$/;
-
-		# Remove the package name.
-		$AUTOLOAD =~ s/^Mydbm:://;
-
-		# Pass the message to the delegate.
-		$self->{'delegate'}->$AUTOLOAD(@_);
-	}
-
-	package main;
-	use Fcntl qw( O_RDWR O_CREAT );
-
-	tie %foo, "Mydbm", "adbm", O_RDWR|O_CREAT, 0640;
-	$foo{'bar'} = 123;
-	print "foo-bar = $foo{'bar'}\n";
-
-=head1 SEE ALSO
-
-L<perlboot>, L<perltoot>, L<perltooc>.
+=cut


Property changes on: vendor/perl/dist/pod/perlbot.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlcall.pod
===================================================================
--- vendor/perl/dist/pod/perlcall.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlcall.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,7 +28,7 @@
 =item * An Event-Driven Program
 
 The classic example of where callbacks are used is when writing an
-event driven program, such as for an X windows application.  In this case
+event driven program, such as for an X11 application.  In this case
 you register functions to be called whenever specific events occur,
 e.g., a mouse button is pressed, the cursor moves into a window or a
 menu item is selected.
@@ -56,7 +56,7 @@
     I32 call_sv(SV* sv, I32 flags);
     I32 call_pv(char *subname, I32 flags);
     I32 call_method(char *methname, I32 flags);
-    I32 call_argv(char *subname, I32 flags, register char **argv);
+    I32 call_argv(char *subname, I32 flags, char **argv);
 
 The key function is I<call_sv>.  All the other functions are
 fairly simple wrappers which make it easier to call Perl subroutines in
@@ -203,7 +203,6 @@
 It indicates to the subroutine being called that it is executing in a
 list context (if it executes I<wantarray> the result will be true).
 
-
 =item 2.
 
 It ensures that all items returned from the subroutine will be
@@ -1032,8 +1031,8 @@
 	call_pv(name, G_DISCARD|G_NOARGS);
 
 That is fine as far as it goes. The thing is, the Perl subroutine
-can be specified as only a string.  For Perl 4 this was adequate,
-but Perl 5 allows references to subroutines and anonymous subroutines.
+can be specified as only a string, however, Perl allows references
+to subroutines and anonymous subroutines.
 This is where I<call_sv> is useful.
 
 The code below for I<CallSubSV> is identical to I<CallSubPV> except
@@ -1901,7 +1900,7 @@
 
     dMULTICALL;			/* Declare local variables */
     I32 gimme = G_SCALAR;	/* context of the call: G_SCALAR,
-				 * G_LIST, or G_VOID */
+				 * G_ARRAY, or G_VOID */
 
     PUSH_MULTICALL(cv);		/* Set up the context for calling cv,
 				   and set local vars appropriately */


Property changes on: vendor/perl/dist/pod/perlcall.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlcheat.pod
===================================================================
--- vendor/perl/dist/pod/perlcheat.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlcheat.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,68 +10,71 @@
 
 =head2 The sheet
 
-  CONTEXTS  SIGILS             ARRAYS        HASHES
-  void      $scalar   whole:   @array        %hash
-  scalar    @array    slice:   @array[0, 2]  @hash{'a', 'b'}
-  list      %hash     element: $array[0]     $hash{'a'}
-            &sub
-            *glob    SCALAR VALUES
-                     number, string, reference, glob, undef
+  CONTEXTS  SIGILS  ref        ARRAYS        HASHES
+  void      $scalar SCALAR     @array        %hash
+  scalar    @array  ARRAY      @array[0, 2]  @hash{'a', 'b'}
+  list      %hash   HASH       $array[0]     $hash{'a'}
+            &sub    CODE
+            *glob   GLOB       SCALAR VALUES
+                    FORMAT     number, string, ref, glob, undef
   REFERENCES
-  \     references      $$foo[1]       aka $foo->[1]
-  $@%&* dereference     $$foo{bar}     aka $foo->{bar}
-  []    anon. arrayref  ${$$foo[1]}[2] aka $foo->[1]->[2]
-  {}    anon. hashref   ${$$foo[1]}[2] aka $foo->[1][2]
-  \()   list of refs
-                          NUMBERS vs STRINGS  LINKS
-  OPERATOR PRECEDENCE     =          =        perl.plover.com
-  ->                      +          .        search.cpan.org
-  ++ --                   == !=      eq ne         cpan.org
-  **                      < > <= >=  lt gt le ge   pm.org
-  ! ~ \ u+ u-             <=>        cmp           tpj.com
-  =~ !~                                            perldoc.com
-  * / % x                 SYNTAX
-  + - .                   for    (LIST) { }, for (a;b;c) { }
-  << >>                   while  ( ) { }, until ( ) { }
-  named uops              if     ( ) { } elsif ( ) { } else { }
-  < > <= >= lt gt le ge   unless ( ) { } elsif ( ) { } else { }
-  == != <=> eq ne cmp ~~  for equals foreach (ALWAYS)
+  \      reference       $$foo[1]       aka $foo->[1]
+  $@%&*  dereference     $$foo{bar}     aka $foo->{bar}
+  []     anon. arrayref  ${$$foo[1]}[2] aka $foo->[1]->[2]
+  {}     anon. hashref   ${$$foo[1]}[2] aka $foo->[1][2]
+  \()    list of refs
+                         SYNTAX
+  OPERATOR PRECEDENCE    foreach (LIST) { }     for (a;b;c) { }
+  ->                     while   (e) { }        until (e)   { }
+  ++ --                  if      (e) { } elsif (e) { } else { }
+  **                     unless  (e) { } elsif (e) { } else { }
+  ! ~ \ u+ u-            given   (e) { when (e) {} default {} }
+  =~ !~
+  * / % x                 NUMBERS vs STRINGS  FALSE vs TRUE
+  + - .                   =          =        undef, "", 0, "0"
+  << >>                   +          .        anything else
+  named uops              == !=      eq ne
+  < > <= >= lt gt le ge   < > <= >=  lt gt le ge
+  == != <=> eq ne cmp ~~  <=>        cmp
   &
-  | ^              REGEX METACHARS            REGEX MODIFIERS
-  &&               ^     string begin         /i case insens.
-  || //            $     str. end (before \n) /m line based ^$
-  .. ...           +     one or more          /s . includes \n
-  ?:               *     zero or more         /x ign. wh.space
-  = += -= *= etc.  ?     zero or one          /g global
-  , =>             {3,7} repeat in range      /o cmpl pat. once
-  list ops         ()    capture
-  not              (?:)  no capture       REGEX CHARCLASSES
-  and              []    character class  .  == [^\n]
-  or xor           |     alternation      \s == whitespace
-                   \b    word boundary    \w == word characters
-                   \z    string end       \d == digits
-  DO                                      \S, \W and \D negate
-  use strict;        DON'T
-  use warnings;      "$foo"           LINKS
-  my $var;           $$variable_name  perl.com
-  open() or die $!;  `$userinput`     use.perl.org
-  use Modules;       /$userinput/     perl.apache.org
-
+  | ^             REGEX MODIFIERS       REGEX METACHARS
+  &&              /i case insensitive   ^      string begin
+  || //           /m line based ^$      $      str end (bfr \n)
+  .. ...          /s . includes \n      +      one or more
+  ?:              /x ignore wh.space    *      zero or more
+  = += last goto  /p preserve           ?      zero or one
+  , =>            /a ASCII    /aa safe  {3,7}  repeat in range
+  list ops        /l locale   /d  dual  |      alternation
+  not             /u Unicode            []     character class
+  and             /e evaluate /ee rpts  \b     word boundary
+  or xor          /g global             \z     string end
+                  /o compile pat once   ()     capture
+  DEBUG                                 (?:p)  no capture
+  -MO=Deparse     REGEX CHARCLASSES     (?#t)  comment
+  -MO=Terse       .   [^\n]             (?=p)  ZW pos ahead
+  -D##            \s  whitespace        (?!p)  ZW neg ahead
+  -d:Trace        \w  word chars        (?<=p) ZW pos behind \K
+                  \d  digits            (?<!p) ZW neg behind
+  CONFIGURATION   \pP named property    (?>p)  no backtrack
+  perl -V:ivsize  \h  horiz.wh.space    (?|p|p)branch reset
+                  \R  linebreak         (?<n>p)named capture
+                  \S \W \D \H negate    \g{n}  ref to named cap
+                                        \K     keep left part
   FUNCTION RETURN LISTS
   stat      localtime    caller         SPECIAL VARIABLES
-   0 dev    0 second     0 package      $_    default variable
-   1 ino    1 minute     1 filename     $0    program name
-   2 mode   2 hour       2 line         $/    input separator
-   3 nlink  3 day        3 subroutine   $\    output separator
-   4 uid    4 month-1    4 hasargs      $|    autoflush
-   5 gid    5 year-1900  5 wantarray    $!    sys/libcall error
-   6 rdev   6 weekday    6 evaltext     $@    eval error
-   7 size   7 yearday    7 is_require   $$    process ID
-   8 atime  8 is_dst     8 hints        $.    line number
-   9 mtime               9 bitmask      @ARGV command line args
-  10 ctime  just use                    @INC  include paths
-  11 blksz  POSIX::      3..9 only      @_    subroutine args
-  12 blcks  strftime!    with EXPR      %ENV  environment
+   0 dev    0 second      0 package     $_    default variable
+   1 ino    1 minute      1 filename    $0    program name
+   2 mode   2 hour        2 line        $/    input separator
+   3 nlink  3 day         3 subroutine  $\    output separator
+   4 uid    4 month-1     4 hasargs     $|    autoflush
+   5 gid    5 year-1900   5 wantarray   $!    sys/libcall error
+   6 rdev   6 weekday     6 evaltext    $@    eval error
+   7 size   7 yearday     7 is_require  $$    process ID
+   8 atime  8 is_dst      8 hints       $.    line number
+   9 mtime                9 bitmask     @ARGV command line args
+  10 ctime               10 hinthash    @INC  include paths
+  11 blksz               3..10 only     @_    subroutine args
+  12 blcks               with EXPR      %ENV  environment
 
 =head1 ACKNOWLEDGEMENTS
 


Property changes on: vendor/perl/dist/pod/perlcheat.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlclib.pod
===================================================================
--- vendor/perl/dist/pod/perlclib.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlclib.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -99,8 +99,8 @@
 
     Instead Of:                 	Use:
 
-    t* p = malloc(n)            	Newx(id, p, n, t)
-    t* p = calloc(n, s)         	Newxz(id, p, n, t)
+    t* p = malloc(n)            	Newx(p, n, t)
+    t* p = calloc(n, s)         	Newxz(p, n, t)
     p = realloc(p, n)           	Renew(p, n, t)
     memcpy(dst, src, n)         	Copy(src, dst, n, t)
     memmove(dst, src, n)        	Move(src, dst, n, t)


Property changes on: vendor/perl/dist/pod/perlclib.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlcommunity.pod
===================================================================
--- vendor/perl/dist/pod/perlcommunity.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlcommunity.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -65,11 +65,17 @@
 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<http://blogs.perl.org/>
+
+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<http://use.perl.org/>
 
-use Perl; provides a slashdot-style Perl news website covering all things Perl,
-from minutes of the meetings of the Perl 6 Design team to conference
-announcements with (ir)relevant discussion.
+use Perl; used to provide a slashdot-style news/blog website covering all
+things Perl, from minutes of the meetings of the Perl 6 Design team to
+conference announcements with (ir)relevant discussion. It no longer accepts
+updates, but you can still use the site to read old entries and comments.
 
 =back
 
@@ -83,6 +89,12 @@
 for individuals to polish, improve, and showcase their Perl skills." and "A
 community which allows everyone to grow and learn from each other."
 
+=item L<http://stackoverflow.com/>
+
+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.
+
 =back
 
 =head2 User Groups


Property changes on: vendor/perl/dist/pod/perlcommunity.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlcompile.pod
===================================================================
--- vendor/perl/dist/pod/perlcompile.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlcompile.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlcompile.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perldata.pod
===================================================================
--- vendor/perl/dist/pod/perldata.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldata.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,8 +24,9 @@
 be a chain of identifiers, separated by C<::> (or by the slightly
 archaic C<'>); all but the last are interpreted as names of packages,
 to locate the namespace in which to look up the final identifier
-(see L<perlmod/Packages> for details).  It's possible to substitute
-for a simple identifier, an expression that produces a reference
+(see L<perlmod/Packages> for details).  For a more in-depth discussion
+on identifiers, see L<Identifier parsing>.  It's possible to
+substitute for a simple identifier, an expression that produces a reference
 to the value at runtime.   This is described in more detail below
 and in L<perlref>.
 X<identifier>
@@ -104,6 +105,105 @@
 significance to Perl.  For instance, C<$$> is the current process
 id.)
 
+=head2 Identifier parsing
+X<identifiers>
+
+Up until Perl 5.18, the actual rules of what a valid identifier
+was were a bit fuzzy.  However, in general, anything defined here should
+work on previous versions of Perl, while the opposite -- edge cases
+that work in previous versions, but aren't defined here -- probably
+won't work on newer versions.
+As an important side note, please note that the following only applies
+to bareword identifiers as found in Perl source code, not identifiers
+introduced through symbolic references, which have much fewer
+restrictions.
+If working under the effect of the C<use utf8;> pragma, the following
+rules apply:
+
+    / (?[ ( \p{Word} & \p{XID_Start} ) + [_] ]) \p{XID_Continue}* /x
+
+If not under C<use utf8>, the source is treated as ASCII + 128 extra
+controls, and identifiers should match
+
+    / (?aa) (?!\d) \w+ /x
+
+That is, any word character in the ASCII range, as long as the first
+character is not a digit.
+
+There are two package separators in Perl: A double colon (C<::>) and a single
+quote (C<'>).  Normal identifiers can start or end with a double colon, and
+can contain several parts delimited by double colons.
+Single quotes have similar rules, but with the exception that they are not
+legal at the end of an identifier: That is, C<$'foo> and C<$foo'bar> are
+legal, but C<$foo'bar'> are not.
+
+
+Finally, if the identifier is preceded by a sigil --
+More so, normal identifiers can start or end with any number
+of double colons (::), and can contain several parts delimited
+by double colons.
+And additionally, if the identifier is preceded by a sigil --
+that is, if the identifier is part of a variable name -- it
+may optionally be enclosed in braces.
+
+While you can mix double colons with singles quotes, the quotes must come
+after the colons: C<$::::'foo> and C<$foo::'bar> are legal, but C<$::'::foo>
+and C<$foo'::bar> are not.
+
+Put together, a grammar to match a basic identifier becomes
+
+ /
+  (?(DEFINE)
+      (?<variable>
+          (?&sigil)
+          (?:
+                  (?&normal_identifier)
+              |   \{ \s* (?&normal_identifier) \s* \}
+          )
+      )
+      (?<normal_identifier>
+          (?: :: )* '?
+           (?&basic_identifier)
+           (?: (?= (?: :: )+ '? | (?: :: )* ' ) (?&normal_identifier) )?
+          (?: :: )*
+      )
+      (?<basic_identifier>
+        # is use utf8 on?
+          (?(?{ (caller(0))[8] & $utf8::hint_bits })
+              (?&Perl_XIDS) \p{XID_Continue}*
+            | (?aa) (?!\d) \w+
+          )
+      )
+      (?<sigil> [&*\$\@\%])
+      (?<Perl_XIDS> (?[ ( \p{Word} & \p{XID_Start} ) + [_] ]) )
+  )
+ /x
+
+Meanwhile, special identifiers don't follow the above rules; For the most
+part, all of the identifiers in this category have a special meaning given
+by Perl.  Because they have special parsing rules, these generally can't be
+fully-qualified.  They come in four forms:
+
+=over
+
+=item A sigil, followed solely by digits matching \p{POSIX_Digit}, like C<$0>,
+C<$1>, or C<$10000>.
+
+=item 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 control character
+matching the C<\p{POSIX_Cntrl}> property. Due to a historical oddity, if not
+running under C<use utf8>, the 128 extra controls in the C<[0x80-0xff]> range
+may also be used in length one variables.
+
+=item 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,
+or a literal control, like C<${^GLOBAL_PHASE}> or C<${\7LOBAL_PHASE}>.
+
+=item A sigil followed by a single character matching the C<\p{POSIX_Punct}>
+property, like C<$!> or C<%+>.
+
+=back
+
 =head2 Context
 X<context> X<scalar context> X<list context>
 
@@ -179,8 +279,9 @@
 references are strongly-typed, uncastable pointers with builtin
 reference-counting and destructor invocation.
 
-A scalar value is interpreted as TRUE in the Boolean sense if it is not
-the null string or the number 0 (or its string equivalent, "0").  The
+A scalar value is interpreted as FALSE in the Boolean sense
+if it is undefined, the null string or the number 0 (or its
+string equivalent, "0"), and TRUE if it is anything else.  The
 Boolean context is just a special kind of scalar context where no 
 conversion to a string or a number is ever performed.
 X<boolean> X<bool> X<true> X<false> X<truth>
@@ -231,8 +332,7 @@
 Assigning to C<$#days> actually changes the length of the array.
 Shortening an array this way destroys intervening values.  Lengthening
 an array that was previously shortened does not recover values
-that were in those elements.  (It used to do so in Perl 4, but we
-had to break this to make sure destructors were called when expected.)
+that were in those elements.
 X<$#> X<array, length>
 
 You can also gain some minuscule measure of efficiency by pre-extending
@@ -251,14 +351,6 @@
 always true:
 X<array, length>
 
-    scalar(@whatever) == $#whatever - $[ + 1;
-
-Version 5 of Perl changed the semantics of C<$[>: files that don't set
-the value of C<$[> no longer need to worry about whether another
-file changed its value.  (In other words, use of C<$[> is deprecated.)
-So in general you can assume that
-X<$[>
-
     scalar(@whatever) == $#whatever + 1;
 
 Some programmers choose to use an explicit conversion so as to 
@@ -302,7 +394,9 @@
     0b011011            # binary
 
 You are allowed to use underscores (underbars) in numeric literals
-between digits for legibility.  You could, for example, group binary
+between digits for legibility (but not multiple underscores in a row:
+C<23__500> is not legal; C<23_500> is).
+You could, for example, group binary
 digits by threes (as for a Unix-style mode argument such as 0b110_100_100)
 or by fours (to represent nibbles, as in 0b1010_0110) or in other groups.
 X<number, literal>
@@ -360,8 +454,8 @@
 $0 and the $s variables in the (presumably) non-existent package
 C<who>.
 
-In fact, an identifier within such curlies is forced to be a string,
-as is any simple identifier within a hash subscript.  Neither need
+In fact, a simple identifier within such curlies is forced to be
+a string, and likewise within a hash subscript. Neither need
 quoting.  Our earlier example, C<$days{'Feb'}> can be written as
 C<$days{Feb}> and the quotes will be assumed automatically.  But
 anything more complicated in the subscript will be interpreted as an
@@ -403,12 +497,16 @@
 
 The special literals __FILE__, __LINE__, and __PACKAGE__
 represent the current filename, line number, and package name at that
-point in your program.  They may be used only as separate tokens; they
+point in your program.  __SUB__ gives a reference to the current
+subroutine.  They may be used only as separate tokens; they
 will not be interpolated into strings.  If there is no current package
 (due to an empty C<package;> directive), __PACKAGE__ is the undefined
-value. (But the empty C<package;> is no longer supported, as of version
-5.10.)
-X<__FILE__> X<__LINE__> X<__PACKAGE__> X<line> X<file> X<package>
+value.  (But the empty C<package;> is no longer supported, as of version
+5.10.)  Outside of a subroutine, __SUB__ is the undefined value.  __SUB__
+is only available in 5.16 or higher, and only with a C<use v5.16> or
+C<use feature "current_sub"> declaration.
+X<__FILE__> X<__LINE__> X<__PACKAGE__> X<__SUB__>
+X<line> X<file> X<package>
 
 The two control characters ^D and ^Z, and the tokens __END__ and __DATA__
 may be used to indicate the logical end of the script before the actual
@@ -417,12 +515,13 @@
 Text after __DATA__ may be read via the filehandle C<PACKNAME::DATA>,
 where C<PACKNAME> is the package that was current when the __DATA__
 token was encountered.  The filehandle is left open pointing to the
-contents after __DATA__.  It is the program's responsibility to
-C<close DATA> when it is done reading from it.  For compatibility with
-older scripts written before __DATA__ was introduced, __END__ behaves
-like __DATA__ in the top level script (but not in files loaded with
-C<require> or C<do>) and leaves the remaining contents of the
-file accessible via C<main::DATA>.
+line after __DATA__.  The program should C<close DATA> when it is done
+reading from it.  (Leaving it open leaks filehandles if the module is
+reloaded for any reason, so it's a safer practice to close it.)  For
+compatibility with older scripts written before __DATA__ was
+introduced, __END__ behaves like __DATA__ in the top level script (but
+not in files loaded with C<require> or C<do>) and leaves the remaining
+contents of the file accessible via C<main::DATA>.
 
 See L<SelfLoader> for more description of __DATA__, and
 an example of its use.  Note that you cannot read from the DATA
@@ -545,7 +644,7 @@
 This interpolation combines with the facts that the opening
 and closing parentheses are optional (except when necessary for
 precedence) and lists may end with an optional comma to mean that
-multiple commas within lists are legal syntax. The list C<1,,3> is a
+multiple commas within lists are legal syntax.  The list C<1,,3> is a
 concatenation of two lists, C<1,> and C<3>, the first of which ends
 with that optional comma.  C<1,,3> is C<(1,),(3)> is C<1,3> (And
 similarly for C<1,,,3> is C<(1,),(,),3> is C<1,3> and so on.)  Not that
@@ -592,7 +691,7 @@
 It's also the source of a useful idiom for executing a function or
 performing an operation in list context and then counting the number of
 return values, by assigning to an empty list and then using that
-assignment in scalar context. For example, this code:
+assignment in scalar context.  For example, this code:
 
     $count = () = $string =~ /\d+/g;
 
@@ -599,9 +698,9 @@
 will place into $count the number of digit groups found in $string.
 This happens because the pattern match is in list context (since it
 is being assigned to the empty list), and will therefore return a list
-of all matching parts of the string. The list assignment in scalar
+of all matching parts of the string.  The list assignment in scalar
 context will translate that into the number of elements (here, the
-number of times the pattern matched) and assign that to $count. Note
+number of times the pattern matched) and assign that to $count.  Note
 that simply using
 
     $count = $string =~ /\d+/g;
@@ -635,8 +734,8 @@
 pairs.  The C<< => >> operator is mostly just a more visually distinctive
 synonym for a comma, but it also arranges for its left-hand operand to be
 interpreted as a string if it's a bareword that would be a legal simple
-identifier. C<< => >> doesn't quote compound identifiers, that contain
-double colons. This makes it nice for initializing hashes:
+identifier.  C<< => >> doesn't quote compound identifiers, that contain
+double colons.  This makes it nice for initializing hashes:
 
     %map = (
                  red   => 0x00f,
@@ -666,6 +765,29 @@
 mean that it comes out in that order.  See L<perlfunc/sort> for examples
 of how to arrange for an output ordering.
 
+If a key appears more than once in the initializer list of a hash, the last
+occurrence wins:
+
+    %circle = (
+                  center => [5, 10],
+                  center => [27, 9],
+                  radius => 100,
+                  color => [0xDF, 0xFF, 0x00],
+                  radius => 54,
+    );
+
+    # same as
+    %circle = (
+                  center => [27, 9],
+                  color => [0xDF, 0xFF, 0x00],
+                  radius => 54,
+    );
+
+This can be used to provide overridable configuration defaults:
+
+    # values in %args take priority over %config_defaults
+    %config = (%config_defaults, %args);
+
 =head2 Subscripts
 
 An array can be accessed one scalar at a
@@ -676,12 +798,12 @@
     @myarray = (5, 50, 500, 5000);
     print "The Third Element is", $myarray[2], "\n";
 
-The array indices start with 0. A negative subscript retrieves its 
+The array indices start with 0.  A negative subscript retrieves its 
 value from the end.  In our example, C<$myarray[-1]> would have been 
 5000, and C<$myarray[-2]> would have been 500.
 
 Hash subscripts are similar, only instead of square brackets curly brackets
-are used. For example:
+are used.  For example:
 
     %scientists = 
     (
@@ -697,6 +819,20 @@
 
     $dir = (getpwnam("daemon"))[7];
 
+=head2 Multi-dimensional array emulation
+
+Multidimensional arrays may be emulated by subscripting a hash with a
+list.  The elements of the list are joined with the subscript separator
+(see L<perlvar/$;>).
+
+    $foo{$a,$b,$c}
+
+is equivalent to
+
+    $foo{join($;, $a, $b, $c)}
+
+The default subscript separator is "\034", the same as SUBSEP in B<awk>.
+
 =head2 Slices
 X<slice> X<array, slice> X<hash, slice>
 
@@ -741,7 +877,6 @@
 
     @a = ()[1,0];           # @a has no elements
     @b = (@a)[0,1];         # @b has no elements
-    @c = (0,1)[2,3];        # @c has no elements
 
 But:
 
@@ -748,6 +883,12 @@
     @a = (1)[1,0];          # @a has two elements
     @b = (1,undef)[1,0,2];  # @b has three elements
 
+More generally, a slice yields the empty list if it indexes only
+beyond the end of a list:
+
+    @a = (1)[  1,2];        # @a has no elements
+    @b = (1)[0,1,2];        # @b has three elements
+
 This makes it easy to write loops that terminate when a null list
 is returned:
 
@@ -827,7 +968,7 @@
 
 Now that we have the C<*foo{THING}> notation, typeglobs aren't used as much
 for filehandle manipulations, although they're still needed to pass brand
-new file and directory handles into or out of functions. That's because
+new file and directory handles into or out of functions.  That's because
 C<*HANDLE{IO}> only works if HANDLE has already been used as a handle.
 In other words, C<*FH> must be used to create new symbol table entries;
 C<*foo{THING}> cannot.  When in doubt, use C<*FH>.
@@ -835,10 +976,10 @@
 All functions that are capable of creating filehandles (open(),
 opendir(), pipe(), socketpair(), sysopen(), socket(), and accept())
 automatically create an anonymous filehandle if the handle passed to
-them is an uninitialized scalar variable. This allows the constructs
+them is an uninitialized scalar variable.  This allows the constructs
 such as C<open(my $fh, ...)> and C<open(local $fh,...)> to be used to
 create filehandles that will conveniently be closed automatically when
-the scope ends, provided there are no other references to them. This
+the scope ends, provided there are no other references to them.  This
 largely eliminates the need for typeglobs when opening filehandles
 that must be passed around, as in the following example:
 
@@ -862,8 +1003,8 @@
 Another way to create anonymous filehandles is with the Symbol
 module or with the IO::Handle module and its ilk.  These modules
 have the advantage of not hiding different types of the same name
-during the local().  See the bottom of L<perlfunc/"open FILEHANDLE">
-for an example.
+during the local().  See the bottom of L<perlfunc/open> for an
+example.
 
 =head1 SEE ALSO
 


Property changes on: vendor/perl/dist/pod/perldata.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perldbmfilter.pod
===================================================================
--- vendor/perl/dist/pod/perldbmfilter.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldbmfilter.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,7 +35,6 @@
 If a filter has been installed with this method, it will be invoked
 every time you write a value to a DBM database.
 
-
 =item B<filter_fetch_key>
 
 If a filter has been installed with this method, it will be invoked


Property changes on: vendor/perl/dist/pod/perldbmfilter.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perldebguts.pod
===================================================================
--- vendor/perl/dist/pod/perldebguts.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldebguts.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -38,7 +38,6 @@
 file compiled by Perl.  The same is also true for C<eval>ed strings
 that contain subroutines, or which are currently being executed.
 The $filename for C<eval>ed strings looks like C<(eval 34)>.
-Code assertions in regexes look like C<(re_eval 19)>.
 
 Values in this array are magical in numeric context: they compare
 equal to zero only if the line is not breakable.
@@ -53,7 +52,7 @@
 
 The same holds for evaluated strings that contain subroutines, or
 which are currently being executed.  The $filename for C<eval>ed strings
-looks like C<(eval 34)> or C<(re_eval 19)>.
+looks like C<(eval 34)>.
 
 =item *
 
@@ -60,7 +59,7 @@
 Each scalar C<${"_<$filename"}> contains C<"_<$filename">.  This is
 also the case for evaluated strings that contain subroutines, or
 which are currently being executed.  The $filename for C<eval>ed
-strings looks like C<(eval 34)> or C<(re_eval 19)>.
+strings looks like C<(eval 34)>.
 
 =item *
 
@@ -81,7 +80,7 @@
 A hash C<%DB::sub> is maintained, whose keys are subroutine names
 and whose values have the form C<filename:startline-endline>.
 C<filename> has the form C<(eval 34)> for subroutines defined inside
-C<eval>s, or C<(re_eval 19)> for those within regex code assertions.
+C<eval>s.
 
 =item *
 
@@ -227,7 +226,7 @@
  Loading DB routines from perl5db.pl patch level 0.94
  Emacs support available.
 
- Enter h or `h h' for help.
+ Enter h or 'h h' for help.
 
  main::(-e:1):   0
    DB<1> sub foo { 14 }
@@ -412,7 +411,7 @@
 
 The debugging output at compile time looks like this:
 
-  Compiling REx `[bc]d(ef*g)+h[ij]k$'
+  Compiling REx '[bc]d(ef*g)+h[ij]k$'
   size 45 Got 364 bytes for offset annotations.
   first at 1
   rarest char g at 0
@@ -433,8 +432,8 @@
     42: EXACT <k>(44)
     44: EOL(45)
     45: END(0)
-  anchored `de' at 1 floating `gh' at 3..2147483647 (checking floating) 
-        stclass `ANYOF[bc]' minlen 7 
+  anchored 'de' at 1 floating 'gh' at 3..2147483647 (checking floating) 
+        stclass 'ANYOF[bc]' minlen 7 
   Offsets: [45]
   	1[4] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 0[0] 5[1]
   	0[0] 12[1] 0[0] 6[1] 0[0] 7[1] 0[0] 9[1] 8[1] 0[0] 10[1] 0[0]
@@ -450,8 +449,8 @@
 
 The 
 
-  anchored `de' at 1 floating `gh' at 3..2147483647 (checking floating) 
-        stclass `ANYOF[bc]' minlen 7 
+  anchored 'de' at 1 floating 'gh' at 3..2147483647 (checking floating) 
+        stclass 'ANYOF[bc]' minlen 7 
 
 line (split into two lines above) contains optimizer
 information.  In the example shown, the optimizer found that the match 
@@ -520,7 +519,7 @@
 =back
 
 If a substring is known to match at end-of-line only, it may be
-followed by C<$>, as in C<floating `k'$>.
+followed by C<$>, as in C<floating 'k'$>.
 
 The optimizer-specific information is used to avoid entering (a slow) regex
 engine on strings that will not definitely match.  If the C<isall> flag
@@ -536,237 +535,259 @@
 
 Here are the possible types, with short descriptions:
 
+=for comment
+This table is generated by regen/regcomp.pl.  Any changes made here
+will be lost.
+
+=for regcomp.pl begin
+
  # TYPE arg-description [num-args] [longjump-len] DESCRIPTION
 
  # Exit points
- END   no        End of program.
- SUCCEED   no        Return from a subroutine, basically.
 
+ END                no         End of program.
+ SUCCEED            no         Return from a subroutine, basically.
+
  # Anchors:
 
- BOL        no      Match "" at beginning of line.
- MBOL       no      Same, assuming multiline.
- SBOL       no      Same, assuming singleline.
- EOS        no      Match "" at end of string.
- EOL        no      Match "" at end of line.
- MEOL       no      Same, assuming multiline.
- SEOL       no      Same, assuming singleline.
- BOUND      no      Match "" at any word boundary using native charset
-                    semantics for non-utf8
- BOUNDL     no      Match "" at any locale word boundary
- BOUNDU     no      Match "" at any word boundary using Unicode semantics
- BOUNDA     no      Match "" at any word boundary using ASCII semantics
- NBOUND     no      Match "" at any word non-boundary using native charset
-                    semantics for non-utf8
- NBOUNDL    no      Match "" at any locale word non-boundary
- NBOUNDU    no      Match "" at any word non-boundary using Unicode semantics
- NBOUNDA    no      Match "" at any word non-boundary using ASCII semantics
- GPOS       no      Matches where last m//g left off.
+ BOL                no         Match "" at beginning of line.
+ MBOL               no         Same, assuming multiline.
+ SBOL               no         Same, assuming singleline.
+ EOS                no         Match "" at end of string.
+ EOL                no         Match "" at end of line.
+ MEOL               no         Same, assuming multiline.
+ SEOL               no         Same, assuming singleline.
+ BOUND              no         Match "" at any word boundary using
+                               native charset semantics for non-utf8
+ BOUNDL             no         Match "" at any locale word boundary
+ BOUNDU             no         Match "" at any word boundary using
+                               Unicode semantics
+ BOUNDA             no         Match "" at any word boundary using ASCII
+                               semantics
+ NBOUND             no         Match "" at any word non-boundary using
+                               native charset semantics for non-utf8
+ NBOUNDL            no         Match "" at any locale word non-boundary
+ NBOUNDU            no         Match "" at any word non-boundary using
+                               Unicode semantics
+ NBOUNDA            no         Match "" at any word non-boundary using
+                               ASCII semantics
+ GPOS               no         Matches where last m//g left off.
 
  # [Special] alternatives:
 
- REG_ANY    no      Match any one character (except newline).
- SANY       no      Match any one character.
- CANY       no      Match any one byte.
- ANYOF      sv      Match character in (or not in) this class, single char
-                    match only
- ANYOFV     sv      Match character in (or not in) this class, can
-                    match-multiple chars
- ALNUM      no      Match any alphanumeric character using native charset
-                    semantics for non-utf8
- ALNUML     no      Match any alphanumeric char in locale
- ALNUMU     no      Match any alphanumeric char using Unicode semantics
- ALNUMA     no      Match [A-Za-z_0-9]
- NALNUM     no      Match any non-alphanumeric character using native charset
-                    semantics for non-utf8
- NALNUML    no      Match any non-alphanumeric char in locale
- NALNUMU    no      Match any non-alphanumeric char using Unicode semantics
- NALNUMA    no      Match [^A-Za-z_0-9]
- SPACE      no      Match any whitespace character using native charset
-                    semantics for non-utf8
- SPACEL     no      Match any whitespace char in locale
- SPACEU     no      Match any whitespace char using Unicode semantics
- SPACEA     no      Match [ \t\n\f\r]
- NSPACE     no      Match any non-whitespace character using native charset
-                    semantics for non-utf8
- NSPACEL    no      Match any non-whitespace char in locale
- NSPACEU    no      Match any non-whitespace char using Unicode semantics
- NSPACEA    no      Match [^ \t\n\f\r]
- DIGIT      no      Match any numeric character using native charset semantics
-                    for non-utf8
- DIGITL     no      Match any numeric character in locale
- DIGITA     no      Match [0-9]
- NDIGIT     no      Match any non-numeric character using native charset
- i                  semantics for non-utf8
- NDIGITL    no      Match any non-numeric character in locale
- NDIGITA    no      Match [^0-9]
- CLUMP      no      Match any extended grapheme cluster sequence
+ REG_ANY            no         Match any one character (except newline).
+ SANY               no         Match any one character.
+ CANY               no         Match any one byte.
+ ANYOF              sv         Match character in (or not in) this
+                               class, single char match only
+ ANYOF_WARN_SUPER   sv         Match character in (or not in) this
+                               class, warn (if enabled) upon matching a
+                               char above Unicode max;
+ ANYOF_SYNTHETIC    sv         Synthetic start class
 
+ POSIXD             none       Some [[:class:]] under /d; the FLAGS
+                               field gives which one
+ POSIXL             none       Some [[:class:]] under /l; the FLAGS
+                               field gives which one
+ POSIXU             none       Some [[:class:]] under /u; the FLAGS
+                               field gives which one
+ POSIXA             none       Some [[:class:]] under /a; the FLAGS
+                               field gives which one
+ NPOSIXD            none       complement of POSIXD, [[:^class:]]
+ NPOSIXL            none       complement of POSIXL, [[:^class:]]
+ NPOSIXU            none       complement of POSIXU, [[:^class:]]
+ NPOSIXA            none       complement of POSIXA, [[:^class:]]
+
+ CLUMP              no         Match any extended grapheme cluster
+                               sequence
+
  # Alternation
 
- # BRANCH        The set of branches constituting a single choice are hooked
- #               together with their "next" pointers, since precedence prevents
- #               anything being concatenated to any individual branch.  The
- #               "next" pointer of the last BRANCH in a choice points to the
- #               thing following the whole choice.  This is also where the
- #               final "next" pointer of each individual branch points; each
- #               branch starts with the operand node of a BRANCH node.
+ # BRANCH        The set of branches constituting a single choice are
+ #               hooked together with their "next" pointers, since
+ #               precedence prevents anything being concatenated to
+ #               any individual branch.  The "next" pointer of the last
+ #               BRANCH in a choice points to the thing following the
+ #               whole choice.  This is also where the final "next"
+ #               pointer of each individual branch points; each branch
+ #               starts with the operand node of a BRANCH node.
  #
- BRANCH	node        Match this alternative, or the next...
+ BRANCH             node       Match this alternative, or the next...
 
  # Back pointer
 
- # BACK          Normal "next" pointers all implicitly point forward; BACK
- #               exists to make loop structures possible.
+ # BACK          Normal "next" pointers all implicitly point forward;
+ #               BACK exists to make loop structures possible.
  # not used
- BACK       no      Match "", "next" ptr points backward.
+ BACK               no         Match "", "next" ptr points backward.
 
  # Literals
 
- EXACT      str     Match this string (preceded by length).
- EXACTF     str     Match this string, folded, native charset semantics for
-                    non-utf8 (prec. by length).
- EXACTFL    str     Match this string, folded in locale (w/len).
- EXACTFU    str     Match this string, folded, Unicode semantics for non-utf8
-                    (prec. by length).
- EXACTFA    str	    Match this string, folded, Unicode semantics for non-utf8,
-                    but no ASCII-range character matches outside ASCII (prec.
-                    by length),.
+ EXACT              str        Match this string (preceded by length).
+ EXACTF             str        Match this non-UTF-8 string (not
+                               guaranteed to be folded) using /id rules
+                               (w/len).
+ EXACTFL            str        Match this string (not guaranteed to be
+                               folded) using /il rules (w/len).
+ EXACTFU            str        Match this string (folded iff in UTF-8,
+                               length in folding doesn't change if not
+                               in UTF-8) using /iu rules (w/len).
+ EXACTFA            str        Match this string (not guaranteed to be
+                               folded) using /iaa rules (w/len).
+ EXACTFU_SS         str        Match this string (folded iff in UTF-8,
+                               length in folding may change even if not
+                               in UTF-8) using /iu rules (w/len).
+ EXACTFU_TRICKYFOLD str        Match this folded UTF-8 string using /iu
+                               rules
 
  # Do nothing types
 
- NOTHING    no        Match empty string.
+ NOTHING            no         Match empty string.
  # A variant of above which delimits a group, thus stops optimizations
- TAIL       no        Match empty string. Can jump here from outside.
+ TAIL               no         Match empty string. Can jump here from
+                               outside.
 
  # Loops
 
- # STAR,PLUS    '?', and complex '*' and '+', are implemented as circular
- #               BRANCH structures using BACK.  Simple cases (one character
- #               per match) are implemented with STAR and PLUS for speed
- #               and to minimize recursive plunges.
+ # STAR,PLUS    '?', and complex '*' and '+', are implemented as
+ #               circular BRANCH structures using BACK.  Simple cases
+ #               (one character per match) are implemented with STAR
+ #               and PLUS for speed and to minimize recursive plunges.
  #
- STAR       node    Match this (simple) thing 0 or more times.
- PLUS       node    Match this (simple) thing 1 or more times.
+ STAR               node       Match this (simple) thing 0 or more
+                               times.
+ PLUS               node       Match this (simple) thing 1 or more
+                               times.
 
- CURLY      sv 2    Match this simple thing {n,m} times.
- CURLYN     no 2    Capture next-after-this simple thing
- CURLYM     no 2    Capture this medium-complex thing {n,m} times.
- CURLYX     sv 2    Match this complex thing {n,m} times.
+ CURLY              sv 2       Match this simple thing {n,m} times.
+ CURLYN             no 2       Capture next-after-this simple thing
+ CURLYM             no 2       Capture this medium-complex thing {n,m}
+                               times.
+ CURLYX             sv 2       Match this complex thing {n,m} times.
 
  # This terminator creates a loop structure for CURLYX
- WHILEM     no      Do curly processing and see if rest matches.
+ WHILEM             no         Do curly processing and see if rest
+                               matches.
 
  # Buffer related
 
  # OPEN,CLOSE,GROUPP     ...are numbered at compile time.
- OPEN       num 1   Mark this point in input as start of #n.
- CLOSE      num 1   Analogous to OPEN.
+ OPEN               num 1      Mark this point in input as start of #n.
+ CLOSE              num 1      Analogous to OPEN.
 
- REF        num 1   Match some already matched string
- REFF       num 1   Match already matched string, folded using native charset
-                    semantics for non-utf8
- REFFL      num 1   Match already matched string, folded in loc.
- REFFU      num 1   Match already matched string, folded using unicode
-                    semantics for non-utf8
- REFFA      num 1   Match already matched string, folded using unicode
-                    semantics for non-utf8, no mixing ASCII, non-ASCII
+ REF                num 1      Match some already matched string
+ REFF               num 1      Match already matched string, folded
+                               using native charset semantics for non-
+                               utf8
+ REFFL              num 1      Match already matched string, folded in
+                               loc.
+ REFFU              num 1      Match already matched string, folded
+                               using unicode semantics for non-utf8
+ REFFA              num 1      Match already matched string, folded
+                               using unicode semantics for non-utf8, no
+                               mixing ASCII, non-ASCII
 
- # Named references.  Code in regcomp.c assumes that these all are after the
- # numbered references
- NREF       no-sv 1 Match some already matched string
- NREFF      no-sv 1 Match already matched string, folded using native charset
-                    semantics for non-utf8
- NREFFL     no-sv 1 Match already matched string, folded in loc.
- NREFFU     num   1 Match already matched string, folded using unicode
-                    semantics for non-utf8
- NREFFA     num   1 Match already matched string, folded using unicode
-                    semantics for non-utf8, no mixing ASCII, non-ASCII
+ # Named references.  Code in regcomp.c assumes that these all are after
+ # the numbered references
+ NREF               no-sv 1    Match some already matched string
+ NREFF              no-sv 1    Match already matched string, folded
+                               using native charset semantics for non-
+                               utf8
+ NREFFL             no-sv 1    Match already matched string, folded in
+                               loc.
+ NREFFU             num 1      Match already matched string, folded
+                               using unicode semantics for non-utf8
+ NREFFA             num 1      Match already matched string, folded
+                               using unicode semantics for non-utf8, no
+                               mixing ASCII, non-ASCII
 
- IFMATCH    off 1 2 Succeeds if the following matches.
- UNLESSM    off 1 2 Fails if the following matches.
- SUSPEND    off 1 1 "Independent" sub-RE.
- IFTHEN     off 1 1 Switch, should be preceded by switcher.
- GROUPP     num 1   Whether the group matched.
+ IFMATCH            off 1 2    Succeeds if the following matches.
+ UNLESSM            off 1 2    Fails if the following matches.
+ SUSPEND            off 1 1    "Independent" sub-RE.
+ IFTHEN             off 1 1    Switch, should be preceded by switcher.
+ GROUPP             num 1      Whether the group matched.
 
  # Support for long RE
 
- LONGJMP    off 1 1 Jump far away.
- BRANCHJ    off 1 1 BRANCH with long offset.
+ LONGJMP            off 1 1    Jump far away.
+ BRANCHJ            off 1 1    BRANCH with long offset.
 
  # The heavy worker
 
- EVAL       evl 1   Execute some Perl code.
+ EVAL               evl 1      Execute some Perl code.
 
  # Modifiers
 
- MINMOD     no      Next operator is not greedy.
- LOGICAL    no      Next opcode should set the flag only.
+ MINMOD             no         Next operator is not greedy.
+ LOGICAL            no         Next opcode should set the flag only.
 
  # This is not used yet
- RENUM      off 1 1 Group with independently numbered parens.
+ RENUM              off 1 1    Group with independently numbered parens.
 
  # Trie Related
 
- # Behave the same as A|LIST|OF|WORDS would. The '..C' variants have
- # inline charclass data (ascii only), the 'C' store it in the structure.
- # NOTE: the relative order of the TRIE-like regops  is significant
+ # Behave the same as A|LIST|OF|WORDS would. The '..C' variants
+ # have inline charclass data (ascii only), the 'C' store it in the
+ # structure.
 
- TRIE       trie 1    Match many EXACT(F[ALU]?)? at once. flags==type
- TRIEC      charclass Same as TRIE, but with embedded charclass data
+ TRIE               trie 1     Match many EXACT(F[ALU]?)? at once.
+                               flags==type
+ TRIEC              trie       Same as TRIE, but with embedded charclass
+                    charclass  data
 
- # For start classes, contains an added fail table.
- AHOCORASICK trie 1   Aho Corasick stclass. flags==type
- AHOCORASICKC charclass Same as AHOCORASICK, but with embedded charclass data
+ AHOCORASICK        trie 1     Aho Corasick stclass. flags==type
+ AHOCORASICKC       trie       Same as AHOCORASICK, but with embedded
+                    charclass  charclass data
 
  # Regex Subroutines
- GOSUB      num/ofs 2L recurse to paren arg1 at (signed) ofs arg2
- GOSTART    no         recurse to start of pattern
+ GOSUB              num/ofs 2L recurse to paren arg1 at (signed) ofs
+                               arg2
+ GOSTART            no         recurse to start of pattern
 
  # Special conditionals
- NGROUPP    no-sv 1   Whether the group matched.
- INSUBP     num 1     Whether we are in a specific recurse.
- DEFINEP    none 1    Never execute directly.
+ NGROUPP            no-sv 1    Whether the group matched.
+ INSUBP             num 1      Whether we are in a specific recurse.
+ DEFINEP            none 1     Never execute directly.
 
  # Backtracking Verbs
- ENDLIKE    none      Used only for the type field of verbs
- OPFAIL     none      Same as (?!)
- ACCEPT     parno 1   Accepts the current matched string.
+ ENDLIKE            none       Used only for the type field of verbs
+ OPFAIL             none       Same as (?!)
+ ACCEPT             parno 1    Accepts the current matched string.
 
-
  # Verbs With Arguments
- VERB       no-sv 1   Used only for the type field of verbs
- PRUNE      no-sv 1   Pattern fails at this startpoint if no-backtracking through this
- MARKPOINT  no-sv 1   Push the current location for rollback by cut.
- SKIP       no-sv 1   On failure skip forward (to the mark) before retrying
- COMMIT     no-sv 1   Pattern fails outright if backtracking through this
- CUTGROUP   no-sv 1   On failure go to the next alternation in the group
+ VERB               no-sv 1    Used only for the type field of verbs
+ PRUNE              no-sv 1    Pattern fails at this startpoint if no-
+                               backtracking through this
+ MARKPOINT          no-sv 1    Push the current location for rollback by
+                               cut.
+ SKIP               no-sv 1    On failure skip forward (to the mark)
+                               before retrying
+ COMMIT             no-sv 1    Pattern fails outright if backtracking
+                               through this
+ CUTGROUP           no-sv 1    On failure go to the next alternation in
+                               the group
 
  # Control what to keep in $&.
- KEEPS      no        $& begins here.
+ KEEPS              no         $& begins here.
 
  # New charclass like patterns
- LNBREAK    none      generic newline pattern
- VERTWS     none      vertical whitespace         (Perl 6)
- NVERTWS    none      not vertical whitespace     (Perl 6)
- HORIZWS    none      horizontal whitespace       (Perl 6)
- NHORIZWS   none      not horizontal whitespace   (Perl 6)
+ LNBREAK            none       generic newline pattern
 
- FOLDCHAR   codepoint 1 codepoint with tricky case folding properties.
-
  # SPECIAL  REGOPS
 
- # This is not really a node, but an optimized away piece of a "long" node.
- # To simplify debugging output, we mark it as if it were a node
- OPTIMIZED  off       Placeholder for dump.
+ # This is not really a node, but an optimized away piece of a "long"
+ # node.  To simplify debugging output, we mark it as if it were a node
+ OPTIMIZED          off        Placeholder for dump.
 
  # Special opcode with the property that no opcode in a compiled program
  # will ever be of this type. Thus it can be used as a flag value that
  # no other opcode has been seen. END is used similarly, in that an END
- # node cant be optimized. So END implies "unoptimizable" and PSEUDO mean
- # "not seen anything to optimize yet".
- PSEUDO     off       Pseudo opcode for internal use.
+ # node cant be optimized. So END implies "unoptimizable" and PSEUDO
+ # mean "not seen anything to optimize yet".
+ PSEUDO             off        Pseudo opcode for internal use.
 
+=for regcomp.pl end
+
 =for unprinted-credits
 Next section M-J. Dominus (mjd-perl-patch+ at plover.com) 20010421
 
@@ -805,7 +826,7 @@
 
 If the regex engine was entered, the output may look like this:
 
-  Matching `[bc]d(ef*g)+h[ij]k$' against `abcdefg__gh__'
+  Matching '[bc]d(ef*g)+h[ij]k$' against 'abcdefg__gh__'
     Setting an EVAL scope, savestack=3
      2 <ab> <cdefg__gh_>    |  1: ANYOF
      3 <abc> <defg__gh_>    | 11: EXACT <d>


Property changes on: vendor/perl/dist/pod/perldebguts.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perldebtut.pod
===================================================================
--- vendor/perl/dist/pod/perldebtut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldebtut.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -702,7 +702,6 @@
 L<perldebug>, 
 L<perldebguts>, 
 L<perldiag>,
-L<dprofpp>,
 L<perlrun>
 
 


Property changes on: vendor/perl/dist/pod/perldebtut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perldebug.pod
===================================================================
--- vendor/perl/dist/pod/perldebug.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldebug.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -105,7 +105,6 @@
 
 You may change the pager which is used via C<o pager=...> command.
 
-
 =item p expr
 X<debugger command, p>
 
@@ -270,15 +269,19 @@
 
 List subroutine names [not] matching the regex.
 
-=item t
+=item t [n]
 X<debugger command, t>
 
 Toggle trace mode (see also the C<AutoTrace> option).
+Optional argument is the maximum number of levels to trace below
+the current one; anything deeper than that will be silent.
 
-=item t expr
+=item t [n] expr
 X<debugger command, t>
 
 Trace through execution of C<expr>.
+Optional first argument is the maximum number of levels to trace below
+the current one; anything deeper than that will be silent.
 See L<perldebguts/"Frame Listing Output Examples"> for examples.
 
 =item b
@@ -301,6 +304,22 @@
     b 237 ++$count237 < 11
     b 33 /pattern/i
 
+If the line number is C<.>, sets a breakpoint on the current line:
+
+    b . $n > 100
+
+=item b [file]:[line] [condition]
+X<breakpoint>
+X<debugger command, b>
+
+Set a breakpoint before the given line in a (possibly different) file.  If a
+condition is specified, it's evaluated each time the statement is reached: a
+breakpoint is taken only if the condition is true.  Breakpoints may only be set
+on lines that begin an executable statement.  Conditions don't use C<if>:
+
+    b lib/MyModule.pm:237 $x > 30
+    b /usr/lib/perl5/site_perl/CGI.pm:100 ++$count100 < 11
+
 =item b subname [condition]
 X<breakpoint>
 X<debugger command, b>
@@ -341,6 +360,42 @@
 
 Delete all installed breakpoints.
 
+=item disable [file]:[line]
+X<breakpoint>
+X<debugger command, disable>
+X<disable>
+
+Disable the breakpoint so it won't stop the execution of the program. 
+Breakpoints are enabled by default and can be re-enabled using the C<enable>
+command.
+
+=item disable [line]
+X<breakpoint>
+X<debugger command, disable>
+X<disable>
+
+Disable the breakpoint so it won't stop the execution of the program. 
+Breakpoints are enabled by default and can be re-enabled using the C<enable>
+command.
+
+This is done for a breakpoint in the current file.
+
+=item enable [file]:[line]
+X<breakpoint>
+X<debugger command, disable>
+X<disable>
+
+Enable the breakpoint so it will stop the execution of the program. 
+
+=item enable [line]
+X<breakpoint>
+X<debugger command, disable>
+X<disable>
+
+Enable the breakpoint so it will stop the execution of the program. 
+
+This is done for a breakpoint in the current file.
+
 =item a [line] command
 X<debugger command, a>
 
@@ -591,7 +646,6 @@
 
 Display all loaded modules and their versions.
 
-
 =item man [manpage]
 X<debugger command, man>
 
@@ -629,7 +683,7 @@
 X<debugger option, recallCommand>
 X<debugger option, ShellBang>
 
-The characters used to recall command or spawn shell.  By
+The characters used to recall a command or spawn a shell.  By
 default, both are set to C<!>, which is unfortunate.
 
 =item C<pager>
@@ -788,6 +842,19 @@
 size of strings found in variables in the package.  This does not
 include lexicals in a module's file scope, or lost in closures.
 
+=item C<HistFile>
+X<debugger option, history, HistFile>
+
+The path of the file from which the history (assuming a usable
+Term::ReadLine backend) will be read on the debugger's startup, and to which
+it will be saved on shutdown (for persistence across sessions). Similar in
+concept to Bash's C<.bash_history> file.
+
+=item C<HistSize>
+X<debugger option, history, HistSize>
+
+The count of the saved lines in the history (assuming C<HistFile> above).
+
 =back
 
 After the rc file is read, the debugger reads the C<$ENV{PERLDB_OPTS}>
@@ -923,9 +990,9 @@
 Here's an example of what a stack backtrace via C<T> command might
 look like:
 
-    $ = main::infested called from file `Ambulation.pm' line 10
-    @ = Ambulation::legs(1, 2, 3, 4) called from file `camel_flea' line 7
-    $ = main::pests('bactrian', 4) called from file `camel_flea' line 4
+    $ = main::infested called from file 'Ambulation.pm' line 10
+    @ = Ambulation::legs(1, 2, 3, 4) called from file 'camel_flea' line 7
+    $ = main::pests('bactrian', 4) called from file 'camel_flea' line 4
 
 The left-hand character up there indicates the context in which the
 function was called, with C<$> and C<@> meaning scalar or list
@@ -998,7 +1065,7 @@
 breakpoint on the I<load> of some module:
 
     DB<7> b load f:/perllib/lib/Carp.pm
-  Will stop on load of `f:/perllib/lib/Carp.pm'.
+  Will stop on load of 'f:/perllib/lib/Carp.pm'.
 
 and then restart the debugger using the C<R> command (if possible).  One can use C<b
 compile subname> for the same purpose.
@@ -1104,19 +1171,16 @@
 
 If you wish to supply an alternative debugger for Perl to run,
 invoke your script with a colon and a package argument given to the
-B<-d> flag.  Perl's alternative debuggers include the Perl profiler,
-L<Devel::DProf>, which is included with the standard Perl
+B<-d> flag.  Perl's alternative debuggers include a Perl profiler,
+L<Devel::NYTProf>, which is available separately as a CPAN
 distribution.  To profile your Perl program in the file F<mycode.pl>,
 just type:
 
-    $ perl -d:DProf mycode.pl
+    $ perl -d:NYTProf mycode.pl
 
-When the script terminates the profiler will dump the profile
-information to a file called F<tmon.out>.  A tool like B<dprofpp>,
-also supplied with the standard Perl distribution, can be used to
-interpret the information in that profile.  More powerful profilers,
-such as C<Devel::NYTProf> are available from the CPAN:  see L<perlperf>
-for details.
+When the script terminates the profiler will create a database of the
+profile information that you can turn into reports using the profiler's
+tools. See <perlperf> for details.
 
 =head1 Debugging Regular Expressions
 X<regular expression, debugging>
@@ -1146,8 +1210,7 @@
 L<perldebguts>,
 L<re>,
 L<DB>,
-L<Devel::DProf>,
-L<dprofpp>,
+L<Devel::NYTProf>,
 L<Dumpvalue>,
 and
 L<perlrun>.


Property changes on: vendor/perl/dist/pod/perldebug.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perldelta.pod
===================================================================
--- vendor/perl/dist/pod/perldelta.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldelta.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,52 +2,24 @@
 
 =head1 NAME
 
-perldelta - what is new for perl v5.14.2
+perldelta - what is new for perl v5.18.1
 
 =head1 DESCRIPTION
 
-This document describes differences between the 5.14.1 release and
-the 5.14.2 release.
+This document describes differences between the 5.18.0 release and the 5.18.1
+release.
 
-If you are upgrading from an earlier release such as 5.14.0, first read
-L<perl5141delta>, which describes differences between 5.14.0 and
-5.14.1.
+If you are upgrading from an earlier release such as 5.16.0, first read
+L<perl5180delta>, which describes differences between 5.16.0 and 5.18.0.
 
-=head1 Core Enhancements
-
-No changes since 5.14.0.
-
-=head1 Security
-
-=head2 C<File::Glob::bsd_glob()> memory error with GLOB_ALTDIRFUNC (CVE-2011-2728).
-
-Calling C<File::Glob::bsd_glob> with the unsupported flag GLOB_ALTDIRFUNC would
-cause an access violation / segfault.  A Perl program that accepts a flags value from
-an external source could expose itself to denial of service or arbitrary code
-execution attacks.  There are no known exploits in the wild.  The problem has been
-corrected by explicitly disabling all unsupported flags and setting unused function
-pointers to null.  Bug reported by Clément Lecigne.
-
-=head2 C<Encode> decode_xs n-byte heap-overflow (CVE-2011-2939)
-
-A bug in C<Encode> could, on certain inputs, cause the heap to overflow.
-This problem has been corrected.  Bug reported by Robert Zacek.
-
 =head1 Incompatible Changes
 
-There are no changes intentionally incompatible with 5.14.0. If any
-exist, they are bugs and reports are welcome.
+There are no changes intentionally incompatible with 5.18.0
+If any exist, they are bugs, and we request that you submit a
+report.  See L</Reporting Bugs> below.
 
-=head1 Deprecations
-
-There have been no deprecations since 5.14.0.
-
 =head1 Modules and Pragmata
 
-=head2 New Modules and Pragmata
-
-None
-
 =head2 Updated Modules and Pragmata
 
 =over 4
@@ -54,184 +26,187 @@
 
 =item *
 
-L<CPAN> has been upgraded from version 1.9600 to version 1.9600_01.
+B has been upgraded from 1.42 to 1.42_01, fixing bugs related to lexical
+subroutines.
 
-L<CPAN::Distribution> has been upgraded from version 1.9602 to 1.9602_01.
-
-Backported bugfixes from CPAN version 1.9800.  Ensures proper
-detection of C<configure_requires> prerequisites from CPAN Meta files
-in the case where C<dynamic_config> is true.  [rt.cpan.org #68835]
-
-Also ensures that C<configure_requires> is only checked in META files,
-not MYMETA files, so protect against MYMETA generation that drops
-C<configure_requires>.
-
 =item *
 
-L<Encode> has been upgraded from version 2.42 to 2.42_01.
+Digest::SHA has been upgraded from 5.84 to 5.84_01, fixing a crashing bug.
+[RT #118649]
 
-See L</Security>.
-
 =item *
 
-L<File::Glob> has been upgraded from version 1.12 to version 1.13.
+Module::CoreList has been upgraded from 2.89 to 2.96.
 
-See L</Security>.
+=back
 
-=item *
+=head1 Platform Support
 
-L<PerlIO::scalar> has been upgraded from version 0.11 to 0.11_01.
+=head2 Platform-Specific Notes
 
-It fixes a problem with C<< open my $fh, ">", \$scalar >> not working if
-C<$scalar> is a copy-on-write scalar.
+=over 4
 
-=back
+=item AIX
 
-=head2 Removed Modules and Pragmata
+A rarely-encounted configuration bug in the AIX hints file has been corrected.
 
-None
+=item MidnightBSD
 
-=head1 Platform Support
+After a patch to the relevant hints file, perl should now build correctly on
+MidnightBSD 0.4-RELEASE.
 
-=head2 New Platforms
+=back
 
-None
+=head1 Selected Bug Fixes
 
-=head2 Discontinued Platforms
+=over 4
 
-None
+=item *
 
-=head2 Platform-Specific Notes
+Starting in v5.18.0, a construct like C</[#](?{})/x> would have its C<#>
+incorrectly interpreted as a comment.  The code block would be skipped,
+unparsed.  This has been corrected.
 
-=over 4
+=item *
 
-=item HP-UX PA-RISC/64 now supports gcc-4.x
+A number of memory leaks related to the new, experimental regexp bracketed
+character class feature have been plugged.
 
-A fix to correct the socketsize now makes the test suite pass on HP-UX
-PA-RISC for 64bitall builds.
+=item *
 
-=item Building on OS X 10.7 Lion and Xcode 4 works again
+The OP allocation code now returns correctly aligned memory in all cases
+for C<struct pmop>. Previously it could return memory only aligned to a
+4-byte boundary, which is not correct for an ithreads build with 64 bit IVs
+on some 32 bit platforms. Notably, this caused the build to fail completely
+on sparc GNU/Linux. [RT #118055]
 
-The build system has been updated to work with the build tools under Mac OS X
-10.7.
+=item *
 
-=back
+The debugger's C<man> command been fixed. It was broken in the v5.18.0
+release. The C<man> command is aliased to the names C<doc> and C<perldoc> -
+all now work again.
 
-=head1 Bug Fixes
+=item *
 
-=over 4
+C<@_> is now correctly visible in the debugger, fixing a regression
+introduced in v5.18.0's debugger. [RT #118169]
 
 =item *
 
-In @INC filters (subroutines returned by subroutines in @INC), $_ used to
-misbehave: If returned from a subroutine, it would not be copied, but the
-variable itself would be returned; and freeing $_ (e.g., with C<undef *_>)
-would cause perl to crash.  This has been fixed [perl #91880].
+Fixed a small number of regexp constructions that could either fail to
+match or crash perl when the string being matched against was
+allocated above the 2GB line on 32-bit systems. [RT #118175]
 
 =item *
 
-Perl 5.10.0 introduced some faulty logic that made "U*" in the middle of
-a pack template equivalent to "U0" if the input string was empty.  This has
-been fixed [perl #90160].
+Perl v5.16 inadvertently introduced a bug whereby calls to XSUBs that were
+not visible at compile time were treated as lvalues and could be assigned
+to, even when the subroutine was not an lvalue sub.  This has been fixed.
+[perl #117947]
 
 =item *
 
-C<caller> no longer leaks memory when called from the DB package if
-C<@DB::args> was assigned to after the first call to C<caller>.  L<Carp>
-was triggering this bug [perl #97010].
+Perl v5.18 inadvertently introduced a bug whereby dual-vars (i.e.
+variables with both string and numeric values, such as C<$!> ) where the
+truthness of the variable was determined by the numeric value rather than
+the string value. [RT #118159]
 
 =item *
 
-C<utf8::decode> had a nasty bug that would modify copy-on-write scalars'
-string buffers in place (i.e., skipping the copy).  This could result in
-hashes having two elements with the same key [perl #91834].
+Perl v5.18 inadvertently introduced a bug whereby interpolating mixed up-
+and down-graded UTF-8 strings in a regex could result in malformed UTF-8
+in the pattern: specifically if a downgraded character in the range
+C<\x80..\xff> followed a UTF-8 string, e.g.
 
-=item *
+    utf8::upgrade(  my $u = "\x{e5}");
+    utf8::downgrade(my $d = "\x{e5}");
+    /$u$d/
 
-Localising a tied variable used to make it read-only if it contained a
-copy-on-write string.
+[perl #118297].
 
 =item *
 
-Elements of restricted hashes (see the L<fields> pragma) containing
-copy-on-write values couldn't be deleted, nor could such hashes be cleared
-(C<%hash = ()>).
+Lexical constants (C<my sub a() { 42 }>) no longer crash when inlined.
 
 =item *
 
-Locking a hash element that is a glob copy no longer causes subsequent
-assignment to it to corrupt the glob.
+Parameter prototypes attached to lexical subroutines are now respected when
+compiling sub calls without parentheses.  Previously, the prototypes were
+honoured only for calls I<with> parentheses. [RT #116735]
 
 =item *
 
-A panic involving the combination of the regular expression modifiers
-C</aa> introduced in 5.14.0 and the C<\b> escape sequence has been
-fixed [perl #95964].
+Syntax errors in lexical subroutines in combination with calls to the same
+subroutines no longer cause crashes at compile time.
 
-=back
+=item *
 
-=head1 Known Problems
+The dtrace sub-entry probe now works with lexical subs, instead of
+crashing [perl #118305].
 
-This is a list of some significant unfixed bugs, which are regressions
-from 5.12.0.
+=item *
 
-=over 4
+Undefining an inlinable lexical subroutine (C<my sub foo() { 42 } undef
+&foo>) would result in a crash if warnings were turned on.
 
 =item *
 
-C<PERL_GLOBAL_STRUCT> is broken.
+Deep recursion warnings no longer crash lexical subroutines. [RT #118521]
 
-Since perl 5.14.0, building with C<-DPERL_GLOBAL_STRUCT> hasn't been
-possible. This means that perl currently doesn't work on any platforms that
-require it to be built this way, including Symbian.
+=back
 
-While C<PERL_GLOBAL_STRUCT> now works again on recent development versions of
-perl, it actually working on Symbian again hasn't been verified.
+=head1 Acknowledgements
 
-We'd be very interested in hearing from anyone working with Perl on Symbian.
+Perl 5.18.1 represents approximately 2 months of development since Perl 5.18.0
+and contains approximately 8,400 lines of changes across 60 files from 12
+authors.
 
-=back
+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.18.1:
 
-=head1 Acknowledgements
+Chris 'BinGOs' Williams, Craig A. Berry, Dagfinn Ilmari Mannsåker, David
+Mitchell, Father Chrysostomos, Karl Williamson, Lukas Mai, Nicholas Clark,
+Peter Martini, Ricardo Signes, Shlomi Fish, Tony Cook.
 
-Perl 5.14.2 represents approximately three months of development since
-Perl 5.14.1 and contains approximately 1200 lines of changes
-across 61 files from 9 authors.
+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.
 
-Perl continues to flourish into its third decade thanks to a vibrant
-community of users and developers.  The following people are known to
-have contributed the improvements that became Perl 5.14.2:
+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.
 
-Craig A. Berry, David Golden, Father Chrysostomos, Florian Ragwitz, H.Merijn
-Brand, Karl Williamson, Nicholas Clark, Pau Amma and Ricardo Signes.
+For a more complete list of all of Perl's historical contributors, please see
+the F<AUTHORS> 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 http://rt.perl.org/perlbug/ .  There may also be
-information at http://www.perl.org/ , the Perl Home Page.
+If you find what you think is a bug, you might check the articles recently
+posted to the comp.lang.perl.misc newsgroup and the perl bug database at
+http://rt.perl.org/perlbug/ .  There may also be information at
+http://www.perl.org/ , the Perl Home Page.
 
-If you believe you have an unreported bug, please run the L<perlbug>
-program included with your release.  Be sure to trim your bug down
-to a tiny but sufficient test case.  Your bug report, along with the
-output of C<perl -V>, will be sent off to perlbug at perl.org to be
-analysed by the Perl porting team.
+If you believe you have an unreported bug, please run the L<perlbug> program
+included with your release.  Be sure to trim your bug down to a tiny but
+sufficient test case.  Your bug report, along with the output of C<perl -V>,
+will be sent off to perlbug at 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 at perl.org. This points to a closed subscription
-unarchived mailing list, which includes all the core committers, who be able
-to help assess the impact of issues, figure out a resolution, and help
+inappropriate to send to a publicly archived mailing list, then please send it
+to perl5-security-report at 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.
+platforms on which Perl is supported.  Please only use this address for
+security issues in the Perl core, not for modules independently distributed on
+CPAN.
 
 =head1 SEE ALSO
 
-The F<Changes> file for an explanation of how to view exhaustive details
-on what changed.
+The F<Changes> file for an explanation of how to view exhaustive details on
+what changed.
 
 The F<INSTALL> file for how to build Perl.
 


Property changes on: vendor/perl/dist/pod/perldelta.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perldiag.pod
===================================================================
--- vendor/perl/dist/pod/perldiag.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldiag.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,10 +20,10 @@
 
 If a message can be controlled by the C<warnings> pragma, its warning
 category is included with the classification letter in the description
-below.
+below.  E.g. C<(W closed)> means a warning in the C<closed> category.
 
 Optional warnings are enabled by using the C<warnings> pragma or the B<-w>
-and B<-W> switches. Warnings may be captured by setting C<$SIG{__WARN__}>
+and B<-W> switches.  Warnings may be captured by setting C<$SIG{__WARN__}>
 to a reference to a routine that will be called on each warning instead
 of printing it.  See L<perlvar>.
 
@@ -85,13 +85,13 @@
 
 =item Ambiguous use of %s resolved as %s
 
-(W ambiguous)(S) You said something that may not be interpreted the way
+(S ambiguous) You said something that may not be interpreted the way
 you thought.  Normally it's pretty easy to disambiguate it by supplying
 a missing quote, operator, parenthesis pair or declaration.
 
 =item Ambiguous use of %c resolved as operator %c
 
-(W ambiguous) C<%>, C<&>, and C<*> are both infix operators (modulus,
+(S ambiguous) C<%>, C<&>, and C<*> are both infix operators (modulus,
 bitwise and, and multiplication) I<and> initial special characters
 (denoting hashes, subroutines and typeglobs), and you said something
 like C<*foo * foo> that might be interpreted as either of them.  We
@@ -104,7 +104,7 @@
 (W ambiguous) You wrote something like C<@{foo}>, which might be
 asking for the variable C<@foo>, or it might be calling a function
 named foo, and dereferencing it as an array reference.  If you wanted
-the varable, you can just write C<@foo>.  If you wanted to call the
+the variable, you can just write C<@foo>.  If you wanted to call the
 function, write C<@{foo()}> ... or you could just not have a variable
 and a function with the same name, and save yourself a lot of trouble.
 
@@ -112,41 +112,29 @@
 
 =item Ambiguous use of %c{%s{...}} resolved to %c%s{...}
 
-(W ambiguous) You wrote something like C<${foo[2]}> (where foo
-represents the name of a Perl keyword), which might be looking for
-element number 2 of the array named C<@foo>, in which case please write
-C<$foo[2]>, or you might have meant to pass an anonymous arrayref to
-the function named foo, and then do a scalar deref on the value it
-returns.  If you meant that, write C<${foo([2])}>.
+(W ambiguous) You wrote something like C<${foo[2]}> (where foo represents
+the name of a Perl keyword), which might be looking for element number
+2 of the array named C<@foo>, in which case please write C<$foo[2]>, or you
+might have meant to pass an anonymous arrayref to the function named
+foo, and then do a scalar deref on the value it returns.  If you meant
+that, write C<${foo([2])}>.
 
 In regular expressions, the C<${foo[2]}> syntax is sometimes necessary
 to disambiguate between array subscripts and character classes.
-C</$length[2345]/>, for instance, will be interpreted as C<$length>
-followed by the character class C<[2345]>. If an array subscript is what
-you want, you can avoid the warning by changing C</${length[2345]}/>
-to the unsightly C</${\$length[2345]}/>, by renaming your array to
-something that does not coincide with a built-in keyword, or by
-simply turning off warnings with C<no warnings 'ambiguous';>.
+C</$length[2345]/>, for instance, will be interpreted as C<$length> followed
+by the character class C<[2345]>.  If an array subscript is what you
+want, you can avoid the warning by changing C</${length[2345]}/> to the
+unsightly C</${\$length[2345]}/>, by renaming your array to something
+that does not coincide with a built-in keyword, or by simply turning
+off warnings with C<no warnings 'ambiguous';>.
 
 =item Ambiguous use of -%s resolved as -&%s()
 
-(W ambiguous) You wrote something like C<-foo>, which might be the
+(S ambiguous) You wrote something like C<-foo>, which might be the
 string C<"-foo">, or a call to the function C<foo>, negated.  If you meant
 the string, just write C<"-foo">.  If you meant the function call,
 write C<-foo()>.
 
-=item Ambiguous use of 's//le...' resolved as 's// le...'; Rewrite as 's//el' if you meant 'use locale rules and evaluate rhs as an expression'.  In Perl 5.16, it will be resolved the other way
-
-(W deprecated, ambiguous)  You wrote a pattern match with substitution
-immediately followed by "le".  In Perl 5.14 and earlier, this is
-resolved as meaning to take the result of the substitution, and see if
-it is stringwise less-than-or-equal-to what follows in the expression.
-Having the "le" immediately following a pattern is deprecated behavior,
-so in Perl 5.16, this expression will be resolved as meaning to do the
-pattern match using the rules of the current locale, and evaluate the
-rhs as an expression when doing the substitution.  In 5.14, if you want
-the latter interpretation, you can simply write "el" instead.
-
 =item '|' and '<' may not both be specified on command line
 
 (F) An error peculiar to VMS.  Perl does its own command line
@@ -218,12 +206,13 @@
 
 =item Argument list not closed for PerlIO layer "%s"
 
-(W layer) When pushing a layer with arguments onto the Perl I/O system you
-forgot the ) that closes the argument list.  (Layers take care of transforming
-data between external and internal representations.)  Perl stopped parsing
-the layer list at this point and did not attempt to push this layer.
-If your program didn't explicitly request the failing operation, it may be
-the result of the value of the environment variable PERLIO.
+(W layer) When pushing a layer with arguments onto the Perl I/O
+system you forgot the ) that closes the argument list.  (Layers
+take care of transforming data between external and internal
+representations.)  Perl stopped parsing the layer list at this
+point and did not attempt to push this layer.  If your program
+didn't explicitly request the failing operation, it may be the
+result of the value of the environment variable PERLIO.
 
 =item Array @%s missing the @ in argument %d of %s()
 
@@ -230,14 +219,27 @@
 (D deprecated) Really old Perl let you omit the @ on array names in some
 spots.  This is now heavily deprecated.
 
+=item A sequence of multiple spaces in a charnames alias definition is deprecated
+
+(D) You defined a character name which had multiple space characters in
+a row.  Change them to single spaces.  Usually these names are defined
+in the C<:alias> import argument to C<use charnames>, but they could be
+defined by a translator installed into C<$^H{charnames}>.  See
+L<charnames/CUSTOM ALIASES>.
+
 =item assertion botched: %s
 
-(P) The malloc package that comes with Perl had an internal failure.
+(X) The malloc package that comes with Perl had an internal failure.
 
 =item Assertion failed: file "%s"
 
-(P) A general assertion failed.  The file in question must be examined.
+(X) A general assertion failed.  The file in question must be examined.
 
+=item Assigning non-zero to $[ is no longer possible
+
+(F) When the "array_base" feature is disabled (e.g., under C<use v5.16;>)
+the special variable C<$[>, which is deprecated, is now a fixed zero value.
+
 =item Assignment to both a list and a scalar
 
 (F) If you assign to a conditional operator, the 2nd and 3rd arguments
@@ -246,8 +248,8 @@
 
 =item A thread exited while %d threads were running
 
-(W threads)(S) When using threaded Perl, a thread (not necessarily the main
-thread) exited while there were still other threads running.
+(W threads)(S) When using threaded Perl, a thread (not necessarily
+the main thread) exited while there were still other threads running.
 Usually it's a good idea first to collect the return values of the
 created threads by joining them, and only then to exit from the main
 thread.  See L<threads>.
@@ -260,7 +262,7 @@
 =item Attempt to bless into a reference
 
 (F) The CLASSNAME argument to the bless() operator is expected to be
-the name of the package to bless the resulting object into. You've
+the name of the package to bless the resulting object into.  You've
 supplied instead a reference to something: perhaps you wrote
 
     bless $self, $proto;
@@ -275,6 +277,13 @@
 
     bless $self, "$proto";
 
+=item Attempt to clear deleted array
+
+(S debugging) An array was assigned to when it was being freed.
+Freed values are not supposed to be visible to Perl code.  This
+can also happen if XS code calls C<av_clear> from a custom magic
+callback on the array.
+
 =item Attempt to delete disallowed key '%s' from a restricted hash
 
 (F) The failing code attempted to delete from a restricted hash a key
@@ -287,20 +296,20 @@
 
 =item Attempt to free non-arena SV: 0x%x
 
-(P internal) All SV objects are supposed to be allocated from arenas
+(S internal) All SV objects are supposed to be allocated from arenas
 that will be garbage collected on exit.  An SV was discovered to be
 outside any of those arenas.
 
-=item Attempt to free nonexistent shared string
+=item Attempt to free nonexistent shared string '%s'%s
 
-(P internal) Perl maintains a reference-counted internal table of
+(S internal) Perl maintains a reference-counted internal table of
 strings to optimize the storage and access of hash keys and other
 strings.  This indicates someone tried to decrement the reference count
 of a string that can no longer be found in the table.
 
-=item Attempt to free temp prematurely
+=item Attempt to free temp prematurely: SV 0x%x
 
-(W debugging) Mortalized values are supposed to be freed by the
+(S debugging) Mortalized values are supposed to be freed by the
 free_tmps() routine.  This indicates that something else is freeing the
 SV before the free_tmps() routine gets a chance, which means that the
 free_tmps() routine will be freeing an unreferenced scalar when it does
@@ -308,11 +317,11 @@
 
 =item Attempt to free unreferenced glob pointers
 
-(P internal) The reference counts got screwed up on symbol aliases.
+(S internal) The reference counts got screwed up on symbol aliases.
 
-=item Attempt to free unreferenced scalar
+=item Attempt to free unreferenced scalar: SV 0x%x
 
-(W internal) Perl went to decrement the reference count of a scalar to
+(S internal) Perl went to decrement the reference count of a scalar to
 see if it would go to 0, and discovered that it had already gone to 0
 earlier, and should have been freed, and in fact, probably was freed.
 This could indicate that SvREFCNT_dec() was called too many times, or
@@ -344,9 +353,10 @@
 
 =item Attempt to set length of freed array
 
-(W) You tried to set the length of an array which has been freed.  You
-can do this by storing a reference to the scalar representing the last index
-of an array and later assigning through that reference. For example
+(W misc) You tried to set the length of an array which has
+been freed.  You can do this by storing a reference to the
+scalar representing the last index of an array and later
+assigning through that reference.  For example
 
     $r = do {my @a; \$#a};
     $$r = 503
@@ -359,18 +369,23 @@
 
 =item Attribute "locked" is deprecated
 
-(D deprecated) You have used the attributes pragma to modify the "locked"
-attribute on a code reference. The :locked attribute is obsolete, has had no
-effect since 5005 threads were removed, and will be removed in a future
-release of Perl 5.
+(D deprecated) You have used the attributes pragma to modify the
+"locked" attribute on a code reference.  The :locked attribute is
+obsolete, has had no effect since 5005 threads were removed, and
+will be removed in a future release of Perl 5.
 
 =item Attribute "unique" is deprecated
 
-(D deprecated) You have used the attributes pragma to modify the "unique"
-attribute on an array, hash or scalar reference. The :unique attribute has
-had no effect since Perl 5.8.8, and will be removed in a future release
-of Perl 5.
+(D deprecated) You have used the attributes pragma to modify
+the "unique" attribute on an array, hash or scalar reference.
+The :unique attribute has had no effect since Perl 5.8.8, and
+will be removed in a future release of Perl 5.
 
+=item av_reify called on tied array
+
+(S debugging) This indicates that something went wrong and Perl got I<very>
+confused about C<@_> or C<@DB::args> being tied.
+
 =item Bad arg length for %s, is %u, should be %d
 
 (F) You passed a buffer of the wrong size to one of msgctl(), semctl()
@@ -393,11 +408,11 @@
 =item Bad free() ignored
 
 (S malloc) An internal routine called free() on something that had never
-been malloc()ed in the first place. Mandatory, but can be disabled by
+been malloc()ed in the first place.  Mandatory, but can be disabled by
 setting environment variable C<PERL_BADFREE> to 0.
 
 This message can be seen quite often with DB_File on systems with "hard"
-dynamic linking, like C<AIX> and C<OS/2>. It is a bug of C<Berkeley DB>
+dynamic linking, like C<AIX> and C<OS/2>.  It is a bug of C<Berkeley DB>
 which is left unnoticed if C<DB> uses I<forgiving> system malloc().
 
 =item Bad hash
@@ -410,7 +425,7 @@
 of Perl.  Check the #! line, or manually feed your script into
 Perl yourself.
 
-=item Bad name after %s::
+=item Bad name after %s
 
 (F) You started to name a symbol by using a package prefix, and then
 didn't finish the symbol.  In particular, you can't interpolate outside
@@ -431,9 +446,9 @@
 
 =item Bad realloc() ignored
 
-(S malloc) An internal routine called realloc() on something that had
-never been malloc()ed in the first place. Mandatory, but can be disabled
-by setting the environment variable C<PERL_BADFREE> to 1.
+(S malloc) An internal routine called realloc() on something that
+had never been malloc()ed in the first place.  Mandatory, but can
+be disabled by setting the environment variable C<PERL_BADFREE> to 1.
 
 =item Bad symbol for array
 
@@ -445,7 +460,6 @@
 (P) An internal request asked to add a dirhandle entry to something
 that wasn't a symbol table entry.
 
-
 =item Bad symbol for filehandle
 
 (P) An internal request asked to add a filehandle entry to something
@@ -522,19 +536,21 @@
 (W unopened) You tried binmode() on a filehandle that was never opened.
 Check your control flow and number of arguments.
 
-=item "\b{" is deprecated; use "\b\{" instead
+=item "\b{" is deprecated; use "\b\{" or "\b[{]" instead in regex; marked by <-- HERE in m/%s/
 
-=item "\B{" is deprecated; use "\B\{" instead
+=item "\B{" is deprecated; use "\B\{" or "\B[{]" instead in regex; marked by <-- HERE in m/%s/
 
-(W deprecated, regexp) Use of an unescaped "{" immediately following a
+(W deprecated) Use of an unescaped "{" immediately following a
 C<\b> or C<\B> is now deprecated so as to reserve its use for Perl
-itself in a future release.
+itself in a future release.  You can either precede the brace with a
+backslash, or enclose it in square brackets; the latter is the way to go
+if the pattern delimiters are C<{}>.
 
 =item Bit vector size > 32 non-portable
 
 (W portable) Using bit vector sizes larger than 32 is non-portable.
 
-=item Bizarre copy of %s in %s
+=item Bizarre copy of %s
 
 (P) Perl detected an attempt to copy an internal value that is not
 copiable.
@@ -545,6 +561,11 @@
 iterate over %ENV, it encountered a logical name or symbol definition
 which was too long, so it was truncated to the string shown.
 
+=item Bizarre SvTYPE [%d]
+
+(P) When starting a new thread or return values from a thread, Perl
+encountered an invalid data type.
+
 =item Callback called exit
 
 (F) A subroutine invoked from an external package via call_sv()
@@ -575,12 +596,12 @@
 
 =item Cannot convert a reference to %s to typeglob
 
-(F) You manipulated Perl's symbol table directly, stored a reference in it,
-then tried to access that symbol via conventional Perl syntax. The access
-triggers Perl to autovivify that typeglob, but it there is no legal conversion
-from that type of reference to a typeglob.
+(F) You manipulated Perl's symbol table directly, stored a reference
+in it, then tried to access that symbol via conventional Perl syntax.
+The access triggers Perl to autovivify that typeglob, but it there is
+no legal conversion from that type of reference to a typeglob.
 
-=item Cannot copy to %s in %s
+=item Cannot copy to %s
 
 (P) Perl detected an attempt to copy a value to an internal type that cannot
 be directly assigned to.
@@ -590,6 +611,18 @@
 (S io) You tried to apply an encoding that did not exist to a filehandle,
 either with open() or binmode().
 
+=item Cannot set tied @DB::args
+
+(F) C<caller> tried to set C<@DB::args>, but found it tied.  Tying C<@DB::args>
+is not supported.  (Before this error was added, it used to crash.)
+
+=item Cannot tie unreifiable array
+
+(P) You somehow managed to call C<tie> on an array that does not
+keep a reference count on its arguments and cannot be made to
+do so.  Such arrays are not even supposed to be accessible to
+Perl code, but are only used internally.
+
 =item Can only compress unsigned integers in pack
 
 (F) An argument to pack("w",...) was not an integer.  The BER compressed
@@ -604,7 +637,7 @@
 =item Can't "break" in a loop topicalizer
 
 (F) You called C<break>, but you're in a C<foreach> block rather than
-a C<given> block. You probably meant to use C<next> or C<last>.
+a C<given> block.  You probably meant to use C<next> or C<last>.
 
 =item Can't "break" outside a given block
 
@@ -640,7 +673,7 @@
 
 =item Can't chdir to %s
 
-(F) You called C<perl -x/foo/bar>, but C</foo/bar> is not a directory
+(F) You called C<perl -x/foo/bar>, but F</foo/bar> is not a directory
 that you can chdir to, possibly because it doesn't exist.
 
 =item Can't check filesystem of script "%s" for nosuid
@@ -678,10 +711,17 @@
 (F) Only scalar, array, and hash variables may be declared as "my", "our" or
 "state" variables.  They must have ordinary identifiers as names.
 
+=item Can't "default" outside a topicalizer
+
+(F) You have used a C<default> block that is neither inside a
+C<foreach> loop nor a C<given> block.  (Note that this error is
+issued on exit from the C<default> block, so you won't get the
+error if you use an explicit C<continue>.)
+
 =item Can't do inplace edit: %s is not a regular file
 
 (S inplace) You tried to use the B<-i> switch on a special file, such as
-a file in /dev, or a FIFO.  The file was ignored.
+a file in /dev, a FIFO or an uneditable directory.  The file was ignored.
 
 =item Can't do inplace edit on %s: %s
 
@@ -700,12 +740,6 @@
 characters and Perl was unable to create a unique filename during
 inplace editing with the B<-i> switch.  The file was ignored.
 
-=item Can't do {n,m} with n > m in regex; marked by <-- HERE in m/%s/
-
-(F) Minima must be less than or equal to maxima. If you really want your
-regexp to match something 0 times, just put {0}. The <-- HERE shows in the
-regular expression about where the problem was discovered. See L<perlre>.
-
 =item Can't do waitpid with flags
 
 (F) This machine doesn't have either waitpid() or wait4(), so only
@@ -753,9 +787,9 @@
 =item Can't find %s character property "%s"
 
 (F) You used C<\p{}> or C<\P{}> but the character property by that name
-could not be found. Maybe you misspelled the name of the property?
+could not be found.  Maybe you misspelled the name of the property?
 See L<perluniprops/Properties accessible through \p{} and \P{}>
-for a complete list of available properties.
+for a complete list of available official properties.
 
 =item Can't find label %s
 
@@ -791,11 +825,11 @@
 
 (F) You may have tried to use C<\p> which means a Unicode
 property (for example C<\p{Lu}> matches all uppercase
-letters). If you did mean to use a Unicode property, see
+letters).  If you did mean to use a Unicode property, see
 L<perluniprops/Properties accessible through \p{} and \P{}>
-for a complete list of available properties. If you didn't
-mean to use a Unicode property, escape the C<\p>, either by C<\\p>
-(just the C<\p>) or by C<\Q\p> (the rest of the string, or
+for a complete list of available properties.  If you didn't
+mean to use a Unicode property, escape the C<\p>, either by
+C<\\p> (just the C<\p>) or by C<\Q\p> (the rest of the string, or
 until C<\E>).
 
 =item Can't fork: %s
@@ -898,20 +932,20 @@
 
 =item Can't load '%s' for module %s
 
-(F) The module you tried to load failed to load a dynamic extension. This
-may either mean that you upgraded your version of perl to one that is
-incompatible with your old dynamic extensions (which is known to happen
-between major versions of perl), or (more likely) that your dynamic
-extension was built against an older version of the library that is
-installed on your system. You may need to rebuild your old dynamic
-extensions.
+(F) The module you tried to load failed to load a dynamic extension.
+This may either mean that you upgraded your version of perl to one
+that is incompatible with your old dynamic extensions (which is known
+to happen between major versions of perl), or (more likely) that your
+dynamic extension was built against an older version of the library
+that is installed on your system.  You may need to rebuild your old
+dynamic extensions.
 
 =item Can't localize lexical variable %s
 
 (F) You used local on a variable name that was previously declared as a
-lexical variable using "my" or "state".  This is not allowed.  If you want to
-localize a package variable of the same name, qualify it with the
-package name.
+lexical variable using "my" or "state".  This is not allowed.  If you
+want to localize a package variable of the same name, qualify it with
+the package name.
 
 =item Can't localize through a reference
 
@@ -922,11 +956,11 @@
 
 =item Can't locate %s
 
-(F) You said to C<do> (or C<require>, or C<use>) a file that couldn't be
-found. Perl looks for the file in all the locations mentioned in @INC,
-unless the file name included the full path to the file.  Perhaps you
-need to set the PERL5LIB or PERL5OPT environment variable to say where
-the extra library is, or maybe the script needs to add the library name
+(F) You said to C<do> (or C<require>, or C<use>) a file that couldn't be found.
+Perl looks for the file in all the locations mentioned in @INC, unless
+the file name included the full path to the file.  Perhaps you need
+to set the PERL5LIB or PERL5OPT environment variable to say where the
+extra library is, or maybe the script needs to add the library name
 to @INC.  Or maybe you just misspelled the name of the file.  See
 L<perlfunc/require> and L<lib>.
 
@@ -940,7 +974,7 @@
 =item Can't locate loadable object for module %s in @INC
 
 (F) The module you loaded is trying to load an external library, like
-for example, C<foo.so> or C<bar.dll>, but the L<DynaLoader> module was
+for example, F<foo.so> or F<bar.dll>, but the L<DynaLoader> module was
 unable to locate this library.  See L<DynaLoader>.
 
 =item Can't locate object method "%s" via package "%s"
@@ -959,11 +993,20 @@
 (F) You tried to use in open() a PerlIO layer that does not exist,
 e.g. open(FH, ">:nosuchlayer", "somefile").
 
-=item Can't make list assignment to \%ENV on this system
+=item Can't make list assignment to %ENV on this system
 
 (F) List assignment to %ENV is not supported on some systems, notably
 VMS.
 
+=item Can't make loaded symbols global on this platform while loading %s
+
+(W) A module passed the flag 0x01 to DynaLoader::dl_load_file() to request
+that symbols from the stated file are made available globally within the
+process, but that functionality is not available on this platform.  Whilst
+the module likely will still work, this may prevent the perl interpreter
+from loading other XS-based extensions which need to link directly to
+functions defined in the C or XS code in the stated file.
+
 =item Can't modify %s in %s
 
 (F) You aren't allowed to assign to the item indicated, or otherwise try
@@ -993,14 +1036,23 @@
 though, because the inner curlies will be considered a block that loops
 once.  See L<perlfunc/next>.
 
+=item Can't open %s
+
+(F) You tried to run a perl built with MAD support with
+the PERL_XMLDUMP environment variable set, but the file
+named by that variable could not be opened.
+
 =item Can't open %s: %s
 
 (S inplace) The implicit opening of a file through use of the C<< <> >>
 filehandle, either implicitly under the C<-n> or C<-p> command-line
-switches, or explicitly, failed for the indicated reason.  Usually this
-is because you don't have read permission for a file which you named on
-the command line.
+switches, or explicitly, failed for the indicated reason.  Usually
+this is because you don't have read permission for a file which
+you named on the command line.
 
+(F) You tried to call perl with the B<-e> switch, but F</dev/null> (or
+your operating system's equivalent) could not be opened.
+
 =item Can't open a reference
 
 (W io) You tried to open a scalar reference for reading or writing,
@@ -1042,7 +1094,7 @@
 redirection, and couldn't open the pipe into which to send data destined
 for stdout.
 
-=item Can't open perl script%s
+=item Can't open perl script "%s": %s
 
 (F) The script you specified can't be opened for the indicated reason.
 
@@ -1083,11 +1135,18 @@
 (P) An error peculiar to VMS.  Perl thought stdin was a pipe, and tried
 to reopen it to accept binary data.  Alas, it failed.
 
+=item Can't reset %ENV on this system
+
+(F) You called C<reset('E')> or similar, which tried to reset
+all variables in the current package beginning with "E".  In
+the main package, that includes %ENV.  Resetting %ENV is not
+supported on some systems, notably VMS.
+
 =item Can't resolve method "%s" overloading "%s" in package "%s"
 
-(F|P) Error resolving overloading specified by a method name (as opposed
-to a subroutine reference): no such method callable via the package. If
-the method name is C<???>, this is an internal error.
+(F)(P) Error resolving overloading specified by a method name (as
+opposed to a subroutine reference): no such method callable via the
+package.  If the method name is C<???>, this is an internal error.
 
 =item Can't return %s from lvalue subroutine
 
@@ -1102,11 +1161,11 @@
 
 =item Can't return %s to lvalue scalar context
 
-(F) You tried to return a complete array or hash from an lvalue subroutine,
-but you called the subroutine in a way that made Perl think you meant
-to return only one value. You probably meant to write parentheses around
-the call to the subroutine, which tell Perl that the call should be in
-list context.
+(F) You tried to return a complete array or hash from an lvalue
+subroutine, but you called the subroutine in a way that made Perl
+think you meant to return only one value.  You probably meant to
+write parentheses around the call to the subroutine, which tell
+Perl that the call should be in list context.
 
 =item Can't stat script "%s"
 
@@ -1116,7 +1175,7 @@
 =item Can't take log of %g
 
 (F) For ordinary real numbers, you can't take the logarithm of a
-negative number or zero. There's a Math::Complex package that comes
+negative number or zero.  There's a Math::Complex package that comes
 standard with Perl, though, if you really want to do that for the
 negative numbers.
 
@@ -1139,6 +1198,11 @@
 specialized, however, that they cannot be interconverted.  This message
 indicates that such a conversion was attempted.
 
+=item Can't use '%c' after -mname
+
+(F) You tried to call perl with the B<-m> switch, but you put something
+other than "=" after the module name.
+
 =item Can't use anonymous symbol table for method lookup
 
 (F) The internal routine that does method lookup was handed a symbol
@@ -1157,8 +1221,8 @@
 
 =item Can't use %! because Errno.pm is not available
 
-(F) The first time the %! hash is used, perl automatically loads the
-Errno.pm module. The Errno module is expected to tie the %! hash to
+(F) The first time the C<%!> hash is used, perl automatically loads the
+Errno.pm module.  The Errno module is expected to tie the %! hash to
 provide symbolic names for C<$!> errno values.
 
 =item Can't use both '<' and '>' after type '%c' in %s
@@ -1203,8 +1267,13 @@
 
 =item Can't use string ("%s") as %s ref while "strict refs" in use
 
-(F) Only hard references are allowed by "strict refs".  Symbolic
-references are disallowed.  See L<perlref>.
+(F) You've told Perl to dereference a string, something which
+C<use strict> blocks to prevent it happening accidentally.  See
+L<perlref/"Symbolic references">.  This can be triggered by an C<@> or C<$>
+in a double-quoted string immediately before interpolating a variable,
+for example in C<"user @$twitter_id">, which says to treat the contents
+of C<$twitter_id> as an array reference; use a C<\> to have a literal C<@>
+symbol followed by the contents of C<$twitter_id>: C<"user \@$twitter_id">.
 
 =item Can't use subscript on %s
 
@@ -1221,18 +1290,18 @@
 value that prints out looking like SCALAR(0xdecaf).  Use the $1 form
 instead.
 
-=item Can't use "when" outside a topicalizer
+=item Can't weaken a nonreference
 
+(F) You attempted to weaken something that was not a reference.  Only
+references can be weakened.
+
+=item Can't "when" outside a topicalizer
+
 (F) You have used a when() block that is neither inside a C<foreach>
-loop nor a C<given> block. (Note that this error is issued on exit
+loop nor a C<given> block.  (Note that this error is issued on exit
 from the C<when> block, so you won't get the error if the match fails,
 or if you use an explicit C<continue>.)
 
-=item Can't weaken a nonreference
-
-(F) You attempted to weaken something that was not a reference.  Only
-references can be weakened.
-
 =item Can't x= to read-only value
 
 (F) You tried to repeat a constant value (often the undefined value)
@@ -1241,12 +1310,13 @@
 
 =item Character following "\c" must be ASCII
 
-(F|W deprecated, syntax) In C<\cI<X>>, I<X> must be an ASCII character.
-It is planned to make this fatal in all instances in Perl 5.16.  In the
+(F)(W deprecated, syntax) In C<\cI<X>>, I<X> must be an ASCII character.
+It is planned to make this fatal in all instances in Perl v5.20.  In the
 cases where it isn't fatal, the character this evaluates to is
 derived by exclusive or'ing the code point of this character with 0x40.
 
-Note that non-alphabetic ASCII characters are discouraged here as well.
+Note that non-alphabetic ASCII characters are discouraged here as well,
+and using non-printable ones will be deprecated starting in v5.18.
 
 =item Character in 'C' format wrapped in pack
 
@@ -1269,9 +1339,9 @@
 
     pack("U0W", $x)
 
-where $x is either less than 0 or more than 255. However, C<U0>-mode expects
-all values to fall in the interval [0, 255], so Perl behaved as if you
-meant:
+where $x is either less than 0 or more than 255.  However, C<U0>-mode
+expects all values to fall in the interval [0, 255], so Perl behaved
+as if you meant:
 
     pack("U0W", $x & 255)
 
@@ -1297,8 +1367,8 @@
    unpack("H", "\x{2a1}")
 
 where the format expects to process a byte (a character with a value
-below 256), but a higher value was provided instead. Perl uses the value
-modulus 256 instead, as if you had provided:
+below 256), but a higher value was provided instead.  Perl uses the
+value modulus 256 instead, as if you had provided:
 
    unpack("H", "\x{a1}")
 
@@ -1309,7 +1379,7 @@
    pack("u", "\x{1f3}b")
 
 where the format expects to process a sequence of bytes (character with a
-value below 256), but some of the characters had a higher value. Perl
+value below 256), but some of the characters had a higher value.  Perl
 uses the character values modulus 256 instead, as if you had provided:
 
    pack("u", "\x{f3}b")
@@ -1321,7 +1391,7 @@
    unpack("s", "\x{1f3}b")
 
 where the format expects to process a sequence of bytes (character with a
-value below 256), but some of the characters had a higher value. Perl
+value below 256), but some of the characters had a higher value.  Perl
 uses the character values modulus 256 instead, as if you had provided:
 
    unpack("s", "\x{f3}b")
@@ -1331,7 +1401,7 @@
 (D deprecated, syntax) The C<\cI<X>> construct is intended to be a way
 to specify non-printable characters.  You used it with a "{" which
 evaluates to ";", which is printable.  It is planned to remove the
-ability to specify a semi-colon this way in Perl 5.16.  Just use a
+ability to specify a semi-colon this way in Perl 5.20.  Just use a
 semi-colon or a backslash-semi-colon without the "\c".
 
 =item "\c%c" is more clearly written simply as "%s"
@@ -1341,6 +1411,10 @@
 written as simply itself, perhaps preceded by a backslash for non-word
 characters.
 
+=item Cloning substitution context is unimplemented
+
+(F) Creating a new thread inside the C<s///> operator is not supported.
+
 =item close() on unopened filehandle %s
 
 (W unopened) You tried to close a filehandle that was never opened.
@@ -1358,21 +1432,23 @@
 
 =item Code missing after '/'
 
-(F) You had a (sub-)template that ends with a '/'. There must be another
-template code following the slash. See L<perlfunc/pack>.
+(F) You had a (sub-)template that ends with a '/'.  There must be
+another template code following the slash.  See L<perlfunc/pack>.
 
 =item Code point 0x%X is not Unicode, may not be portable
 
-=item Code point 0x%X is not Unicode, no properties match it; all inverse properties do
+=item Code point 0x%X is not Unicode, all \p{} matches fail; all \P{} matches 
+succeed
 
-(W utf8, non_unicode) You had a code point above the Unicode maximum of U+10FFFF.
+(S utf8, non_unicode) You had a code point above the Unicode maximum
+of U+10FFFF.
 
-Perl allows strings to contain a superset of Unicode code
-points, up to the limit of what is storable in an unsigned integer on
-your system, but these may not be accepted by other languages/systems.
-At one time, it was legal in some standards to have code points up to
-0x7FFF_FFFF, but not higher.  Code points above 0xFFFF_FFFF require
-larger than a 32 bit word.
+Perl allows strings to contain a superset of Unicode code points, up
+to the limit of what is storable in an unsigned integer on your system,
+but these may not be accepted by other languages/systems.  At one time,
+it was legal in some standards to have code points up to 0x7FFF_FFFF,
+but not higher.  Code points above 0xFFFF_FFFF require larger than a
+32 bit word.
 
 None of the Unicode or Perl-defined properties will match a non-Unicode
 code point.  For example,
@@ -1385,11 +1461,24 @@
 
 will match.
 
+This may be counterintuitive at times, as both these fail:
+
+ chr(0x110000) =~ /\p{ASCII_Hex_Digit=True}/      # Fails.
+ chr(0x110000) =~ /\p{ASCII_Hex_Digit=False}/     # Also fails!
+
+and both these succeed:
+
+ chr(0x110000) =~ /\P{ASCII_Hex_Digit=True}/      # Succeeds.
+ chr(0x110000) =~ /\P{ASCII_Hex_Digit=False}/     # Also succeeds!
+
 =item %s: Command not found
 
-(A) You've accidentally run your script through B<csh> instead of Perl.
-Check the #! line, or manually feed your script into Perl yourself.
+(A) You've accidentally run your script through B<csh> or another shell
+shell instead of Perl.  Check the #! line, or manually feed your script
+into Perl yourself.  The #! line at the top of your file could look like
 
+  #!/usr/bin/perl -w
+
 =item Compilation failed in require
 
 (F) Perl could not compile a file specified in a C<require> statement.
@@ -1410,25 +1499,25 @@
 
 =item cond_broadcast() called on unlocked variable
 
-(W threads) Within a thread-enabled program, you tried to call
-cond_broadcast() on a variable which wasn't locked. The cond_broadcast()
-function is used to wake up another thread that is waiting in a
-cond_wait(). To ensure that the signal isn't sent before the other thread
-has a chance to enter the wait, it is usual for the signaling thread
-first to wait for a lock on variable. This lock attempt will only succeed
-after the other thread has entered cond_wait() and thus relinquished the
-lock.
+(W threads) Within a thread-enabled program, you tried to
+call cond_broadcast() on a variable which wasn't locked.
+The cond_broadcast() function is used to wake up another thread
+that is waiting in a cond_wait().  To ensure that the signal isn't
+sent before the other thread has a chance to enter the wait, it
+is usual for the signaling thread first to wait for a lock on
+variable.  This lock attempt will only succeed after the other
+thread has entered cond_wait() and thus relinquished the lock.
 
 =item cond_signal() called on unlocked variable
 
-(W threads) Within a thread-enabled program, you tried to call
-cond_signal() on a variable which wasn't locked. The cond_signal()
-function is used to wake up another thread that is waiting in a
-cond_wait(). To ensure that the signal isn't sent before the other thread
-has a chance to enter the wait, it is usual for the signaling thread
-first to wait for a lock on variable. This lock attempt will only succeed
-after the other thread has entered cond_wait() and thus relinquished the
-lock.
+(W threads) Within a thread-enabled program, you tried to
+call cond_signal() on a variable which wasn't locked.  The
+cond_signal() function is used to wake up another thread that
+is waiting in a cond_wait().  To ensure that the signal isn't
+sent before the other thread has a chance to enter the wait, it
+is usual for the signaling thread first to wait for a lock on
+variable.  This lock attempt will only succeed after the other
+thread has entered cond_wait() and thus relinquished the lock.
 
 =item connect() on closed socket %s
 
@@ -1436,35 +1525,38 @@
 to check the return value of your socket() call?  See
 L<perlfunc/connect>.
 
-=item Constant(%s)%s: %s
+=item Constant(%s): Call to &{$^H{%s}} did not return a defined value
 
+(F) The subroutine registered to handle constant overloading
+(see L<overload>) or a custom charnames handler (see
+L<charnames/CUSTOM TRANSLATORS>) returned an undefined value.
+
+=item Constant(%s): $^H{%s} is not defined
+
+(F) The parser found inconsistencies while attempting to define an
+overloaded constant.  Perhaps you forgot to load the corresponding
+L<overload> pragma?.
+
+=item Constant(%s) unknown
+
 (F) The parser found inconsistencies either while attempting to define
 an overloaded constant, or when trying to find the character name
 specified in the C<\N{...}> escape.  Perhaps you forgot to load the
-corresponding C<overload> or C<charnames> pragma?  See L<charnames> and
-L<overload>.
+corresponding L<overload> pragma?.
 
-=item Constant(%s)%s: %s in regex; marked by <-- HERE in m/%s/
-
-(F) The parser found inconsistencies while attempting to find
-the character name specified in the C<\N{...}> escape.  Perhaps you
-forgot to load the corresponding C<charnames> pragma?
-See L<charnames>.
-
-
 =item Constant is not %s reference
 
 (F) A constant value (perhaps declared using the C<use constant> pragma)
 is being dereferenced, but it amounts to the wrong type of reference.
-The message indicates the type of reference that was expected. This
+The message indicates the type of reference that was expected.  This
 usually indicates a syntax error in dereferencing the constant value.
 See L<perlsub/"Constant Functions"> and L<constant>.
 
 =item Constant subroutine %s redefined
 
-(S) You redefined a subroutine which had previously been
-eligible for inlining.  See L<perlsub/"Constant Functions"> for
-commentary and workarounds.
+(W redefine)(S) You redefined a subroutine which had previously
+been eligible for inlining.  See L<perlsub/"Constant Functions">
+for commentary and workarounds.
 
 =item Constant subroutine %s undefined
 
@@ -1474,9 +1566,19 @@
 
 =item Copy method did not return a reference
 
-(F) The method which overloads "=" is buggy. See
+(F) The method which overloads "=" is buggy.  See
 L<overload/Copy Constructor>.
 
+=item &CORE::%s cannot be called directly
+
+(F) You tried to call a subroutine in the C<CORE::> namespace
+with C<&foo> syntax or through a reference.  Some subroutines
+in this package cannot yet be called that way, but must be
+called as barewords.  Something like this will work:
+
+    BEGIN { *shove = \&CORE::push; }
+    shove @array, 1,2,3; # pushes on to @array
+
 =item CORE::%s is not a keyword
 
 (F) The CORE:: namespace is reserved for Perl keywords.
@@ -1495,6 +1597,13 @@
 
 (P) The malloc package that comes with Perl had an internal failure.
 
+=item Corrupted regexp opcode %d > %d
+
+(F)
+This is either an error in Perl, or, if you're using one, your
+L<custom regular expression engine|perlreapi>.  If not the latter,
+report the problem through the L<perlbug> utility.
+
 =item Count after length/code in unpack
 
 (F) You had an unpack template indicating a counted-length string, but
@@ -1501,6 +1610,8 @@
 you have also specified an explicit size for the string.  See
 L<perlfunc/pack>.
 
+=item Deep recursion on anonymous subroutine
+
 =item Deep recursion on subroutine "%s"
 
 (W recursion) This subroutine has called itself (directly or indirectly)
@@ -1519,17 +1630,35 @@
 
 =item defined(%hash) is deprecated
 
-(D deprecated) defined() is not usually useful on hashes because it
-checks for an undefined I<scalar> value.  If you want to see if the hash
-is empty, just use C<if (%hash) { # not empty }> for example.
+(D deprecated) C<defined()> is not usually right on hashes and has been
+discouraged since 5.004.
 
-=item (?(DEFINE)....) does not allow branches in regex; marked by <-- HERE in m/%s/
+Although C<defined %hash> is false on a plain not-yet-used hash, it
+becomes true in several non-obvious circumstances, including iterators,
+weak references, stash names, even remaining true after C<undef %hash>.
+These things make C<defined %hash> fairly useless in practice.
 
-(F) You used something like C<(?(DEFINE)...|..)> which is illegal. The
+If a check for non-empty is what you wanted then just put it in boolean
+context (see L<perldata/Scalar values>):
+
+    if (%hash) {
+       # not empty
+    }
+
+If you had C<defined %Foo::Bar::QUUX> to check whether such a package
+variable exists then that's never really been reliable, and isn't
+a good way to enquire about the features of a package, or whether
+it's loaded, etc.
+
+
+=item (?(DEFINE)....) does not allow branches in regex; marked by <-- HERE in 
+m/%s/
+
+(F) You used something like C<(?(DEFINE)...|..)> which is illegal.  The
 most likely cause of this error is that you left out a parenthesis inside
 of the C<....> part.
 
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
 =item %s defines neither package nor VERSION--version check failed
@@ -1543,22 +1672,14 @@
 long for Perl to handle.  You have to be seriously twisted to write code
 that triggers this error.
 
-=item Deprecated character in \N{...}; marked by <-- HERE  in \N{%s<-- HERE %s
-
-(D deprecated) Just about anything is legal for the C<...> in C<\N{...}>.
-But starting in 5.12, non-reasonable ones that don't look like names
-are deprecated.  A reasonable name begins with an alphabetic character
-and continues with any combination of alphanumerics, dashes, spaces,
-parentheses or colons.
-
 =item Deprecated use of my() in false conditional
 
-(D deprecated) You used a declaration similar to C<my $x if 0>.
-There has been a long-standing bug in Perl that causes a lexical variable
+(D deprecated) You used a declaration similar to C<my $x if 0>.  There
+has been a long-standing bug in Perl that causes a lexical variable
 not to be cleared at scope exit when its declaration includes a false
-conditional. Some people have exploited this bug to achieve a kind of
-static variable. Since we intend to fix this bug, we don't want people
-relying on this behavior. You can achieve a similar static effect by
+conditional.  Some people have exploited this bug to achieve a kind of
+static variable.  Since we intend to fix this bug, we don't want people
+relying on this behavior.  You can achieve a similar static effect by
 declaring the variable in a separate block outside the function, eg
 
     sub f { my $x if 0; return $x++ }
@@ -1567,8 +1688,8 @@
 
     { my $x; sub f { return $x++ } }
 
-Beginning with perl 5.9.4, you can also use C<state> variables to
-have lexicals that are initialized only once (see L<feature>):
+Beginning with perl 5.9.4, you can also use C<state> variables to have
+lexicals that are initialized only once (see L<feature>):
 
     sub f { state $x; return $x++ }
 
@@ -1575,8 +1696,8 @@
 =item DESTROY created new reference to dead object '%s'
 
 (F) A DESTROY() method created a new reference to the object which is
-just being DESTROYed. Perl is confused, and prefers to abort rather than
-to create a dangling reference.
+just being DESTROYed.  Perl is confused, and prefers to abort rather
+than to create a dangling reference.
 
 =item Did not produce a valid header
 
@@ -1618,7 +1739,7 @@
 =item %s does not define %s::VERSION--version check failed
 
 (F) You said something like "use Module 42" but the Module did not
-define a C<$VERSION.>
+define a C<$VERSION>.
 
 =item '/' does not take a repeat count
 
@@ -1660,20 +1781,20 @@
 
 =item Duplicate modifier '%c' after '%c' in %s
 
-(W) You have applied the same modifier more than once after a type
-in a pack template.  See L<perlfunc/pack>.
+(W unpack) You have applied the same modifier more than once after a
+type in a pack template.  See L<perlfunc/pack>.
 
 =item elseif should be elsif
 
-(S syntax) There is no keyword "elseif" in Perl because Larry thinks it's
-ugly. Your code will be interpreted as an attempt to call a method named
-"elseif" for the class returned by the following block.  This is
+(S syntax) There is no keyword "elseif" in Perl because Larry thinks
+it's ugly.  Your code will be interpreted as an attempt to call a method
+named "elseif" for the class returned by the following block.  This is
 unlikely to be what you want.
 
-=item Empty %s
+=item Empty \%c{} in regex; marked by <-- HERE in m/%s/
 
 (F) C<\p> and C<\P> are used to introduce a named Unicode property, as
-described in L<perlunicode> and L<perlre>. You used C<\p> or C<\P> in
+described in L<perlunicode> and L<perlre>.  You used C<\p> or C<\P> in
 a regular expression without specifying the property name.
 
 =item entering effective %s failed
@@ -1685,7 +1806,7 @@
 
 (F) You're running under taint mode, and the C<%ENV> variable has been
 aliased to another hash, so it doesn't reflect anymore the state of the
-program's environment. This is potentially insecure.
+program's environment.  This is potentially insecure.
 
 =item Error converting file specification %s
 
@@ -1695,13 +1816,30 @@
 an invalid file specification to Perl, or you've found a case the
 conversion routines don't handle.  Drat.
 
-=item %s: Eval-group in insecure regular expression
+=item Escape literal pattern white space under /x
 
+(D deprecated) You compiled a regular expression pattern with C</x> to
+ignore white space, and you used, as a literal, one of the characters
+that Perl plans to eventually treat as white space.  The character must
+be escaped somehow, or it will work differently on a future Perl that
+does treat it as white space.  The easiest way is to insert a backslash
+immediately before it, or to enclose it with square brackets.  This
+change is to bring Perl into conformance with Unicode recommendations.
+Here are the five characters that generate this warning:
+U+0085 NEXT LINE,
+U+200E LEFT-TO-RIGHT MARK,
+U+200F RIGHT-TO-LEFT MARK,
+U+2028 LINE SEPARATOR,
+and
+U+2029 PARAGRAPH SEPARATOR.
+
+=item Eval-group in insecure regular expression
+
 (F) Perl detected tainted data when trying to compile a regular
 expression that contains the C<(?{ ... })> zero-width assertion, which
 is unsafe.  See L<perlre/(?{ code })>, and L<perlsec>.
 
-=item %s: Eval-group not allowed at runtime, use re 'eval'
+=item Eval-group not allowed at runtime, use re 'eval' in regex m/%s/
 
 (F) Perl tried to compile a regular expression containing the
 C<(?{ ... })> zero-width assertion at run time, as it would when the
@@ -1711,18 +1849,19 @@
 interpolated string at run time and using that in an eval().  See
 L<perlre/(?{ code })>.
 
-=item %s: Eval-group not allowed, use re 'eval'
+=item Eval-group not allowed, use re 'eval' in regex m/%s/
 
 (F) A regular expression contained the C<(?{ ... })> zero-width
 assertion, but that construct is only allowed when the C<use re 'eval'>
 pragma is in effect.  See L<perlre/(?{ code })>.
 
-=item EVAL without pos change exceeded limit in regex; marked by <-- HERE in m/%s/
+=item EVAL without pos change exceeded limit in regex; marked by <-- HERE in 
+m/%s/
 
 (F) You used a pattern that nested too many EVAL calls without consuming
-any text. Restructure the pattern so that text is consumed.
+any text.  Restructure the pattern so that text is consumed.
 
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
 =item Excessively long <> operator
@@ -1735,7 +1874,7 @@
 =item exec? I'm not *that* kind of operating system
 
 (F) The C<exec> function is not implemented on some systems, e.g., Symbian
-OS. See L<perlport>.
+OS.  See L<perlport>.
 
 =item Execution of %s aborted due to compilation errors.
 
@@ -1767,6 +1906,25 @@
 (W exiting) You are exiting a substitution by unconventional means, such
 as a return, a goto, or a loop control statement.
 
+=item Expecting close bracket in regex; marked by <-- HERE in m/%s/
+
+(F)
+You wrote something like
+
+ (?13
+
+to denote a capturing group of the form
+L<C<(?I<PARNO>)>|perlre/(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)>,
+but omitted the C<")">.
+
+=item Experimental "%s" subs not enabled
+
+(F) To use lexical subs, you must first enable them:
+
+    no warnings 'experimental::lexical_subs';
+    use feature 'lexical_subs';
+    my sub foo { ... }
+
 =item Explicit blessing to '' (assuming package main)
 
 (W misc) You are blessing a reference to a zero length string.  This has
@@ -1790,7 +1948,7 @@
 (W regexp) A character class range must start and end at a literal
 character, not another character class like C<\d> or C<[:alpha:]>.  The "-"
 in your false range is interpreted as a literal "-".  Consider quoting the
-"-", "\-".  The <-- HERE shows in the regular expression about where the
+"-", "\-".  The <-- HERE shows whereabouts in the regular expression the
 problem was discovered.  See L<perlre>.
 
 =item Fatal VMS error (status=%d) at %s, line %d
@@ -1812,9 +1970,9 @@
 
 =item Field too wide in 'u' format in pack
 
-(W pack) Each line in an uuencoded string start with a length indicator
-which can't encode values above 63. So there is no point in asking for
-a line length bigger than that. Perl will behave as if you specified
+(W pack) Each line in an uuencoded string starts with a length indicator
+which can't encode values above 63.  So there is no point in asking for
+a line length bigger than that.  Perl will behave as if you specified
 C<u63> as the format.
 
 =item Filehandle %s opened only for input
@@ -1836,13 +1994,13 @@
 =item Filehandle %s reopened as %s only for input
 
 (W io) You opened for reading a filehandle that got the same filehandle id
-as STDOUT or STDERR. This occurred because you closed STDOUT or STDERR
+as STDOUT or STDERR.  This occurred because you closed STDOUT or STDERR
 previously.
 
 =item Filehandle STDIN reopened as %s only for output
 
 (W io) You opened for writing a filehandle that got the same filehandle id
-as STDIN. This occurred because you closed STDIN previously.
+as STDIN.  This occurred because you closed STDIN previously.
 
 =item Final $ should be \$ or $name
 
@@ -1917,6 +2075,13 @@
 forget to check the return value of your socket() call?  See
 L<perlfunc/getsockopt>.
 
+=item given is experimental
+
+(S experimental::smartmatch) C<given> depends on both a lexical C<$_> and
+smartmatch, both of which are experimental, so its behavior may change or
+even be removed in any future release of perl.
+See the explanation under L<perlsyn/Experimental Details on given and when>.
+
 =item Global symbol "%s" requires explicit package name
 
 (F) You've said "use strict" or "use strict vars", which indicates 
@@ -1926,15 +2091,15 @@
 
 =item glob failed (%s)
 
-(W glob) Something went wrong with the external program(s) used for
-C<glob> and C<< <*.c> >>.  Usually, this means that you supplied a
-C<glob> pattern that caused the external program to fail and exit with a
+(S glob) Something went wrong with the external program(s) used
+for C<glob> and C<< <*.c> >>.  Usually, this means that you supplied a C<glob>
+pattern that caused the external program to fail and exit with a
 nonzero status.  If the message indicates that the abnormal exit
-resulted in a coredump, this may also mean that your csh (C shell) is
-broken.  If so, you should change all of the csh-related variables in
-config.sh:  If you have tcsh, make the variables refer to it as if it
-were csh (e.g.  C<full_csh='/usr/bin/tcsh'>); otherwise, make them all
-empty (except that C<d_csh> should be C<'undef'>) so that Perl will
+resulted in a coredump, this may also mean that your csh (C shell)
+is broken.  If so, you should change all of the csh-related variables
+in config.sh:  If you have tcsh, make the variables refer to it as
+if it were csh (e.g. C<full_csh='/usr/bin/tcsh'>); otherwise, make them
+all empty (except that C<d_csh> should be C<'undef'>) so that Perl will
 think csh is missing.  In either case, after editing config.sh, run
 C<./Configure -S> and rebuild Perl.
 
@@ -1949,15 +2114,13 @@
 
 (W overflow) You called C<gmtime> with a number that was larger than
 it can reliably handle and C<gmtime> probably returned the wrong
-date. This warning is also triggered with nan (the special
+date.  This warning is also triggered with NaN (the special
 not-a-number value).
 
 =item gmtime(%f) too small
 
 (W overflow) You called C<gmtime> with a number that was smaller than
-it can reliably handle and C<gmtime> probably returned the wrong
-date. This warning is also triggered with nan (the special
-not-a-number value).
+it can reliably handle and C<gmtime> probably returned the wrong date.
 
 =item Got an error from DosAllocMem
 
@@ -1969,11 +2132,24 @@
 (F) Unlike with "next" or "last", you're not allowed to goto an
 unspecified destination.  See L<perlfunc/goto>.
 
+=item Goto undefined subroutine%s
+
+(F) You tried to call a subroutine with C<goto &sub> syntax, but
+the indicated subroutine hasn't been defined, or if it was, it
+has since been undefined.
+
 =item ()-group starts with a count
 
 (F) A ()-group started with a count.  A count is supposed to follow
 something: a template character or a ()-group.  See L<perlfunc/pack>.
 
+=item Group name must start with a non-digit word character in regex; marked by 
+<-- HERE in m/%s/
+
+(F) Group names must follow the rules for perl identifiers, meaning
+they must start with a non-digit word character. A common cause of
+this error is using (?&0) instead of (?0). See L<perlre>.
+
 =item %s had compilation errors.
 
 (F) The final summary message when a C<perl -c> fails.
@@ -1994,26 +2170,6 @@
 (F) The parser has given up trying to parse the program after 10 errors.
 Further error messages would likely be uninformative.
 
-=item Having no space between pattern and following word is deprecated
-
-(D syntax)
-
-You had a word that isn't a regex modifier immediately following a
-pattern without an intervening space.  If you are trying to use the C</le>
-flags on a substitution, use C</el> instead.  Otherwise, add white space
-between the pattern and following word to eliminate the warning. As an
-example of the latter, the two constructs:
-
- $a =~ m/$foo/sand $bar
- $a =~ m/$foo/s and $bar
-
-both currently mean the same thing, but it is planned to disallow the first
-form in Perl 5.16.  And,
-
- $a =~ m/$foo/and $bar
-
-will be disallowed too.
-
 =item Hexadecimal number > 0xffffffff non-portable
 
 (W portable) The hexadecimal number you specified is larger than 2**32-1
@@ -2020,6 +2176,16 @@
 (4294967295) and therefore non-portable between systems.  See
 L<perlport> for more on portability concerns.
 
+=item -i used with no filenames on the command line, reading from STDIN
+
+(S inplace) The C<-i> option was passed on the command line, indicating
+that the script is intended to edit files inplace, but no files were
+given.  This is usually a mistake, since editing STDIN inplace doesn't
+make sense, and can be confusing because it can make perl look like
+it is hanging when it is really just trying to read from STDIN.  You
+should either pass a filename to edit, or remove C<-i> from the command
+line.  See L<perlrun> for more details.
+
 =item Identifier too long
 
 (F) Perl limits identifiers (names for variables, functions, etc.) to
@@ -2027,11 +2193,11 @@
 names (like C<$A::B>).  You've exceeded Perl's limits.  Future versions
 of Perl are likely to eliminate these arbitrary limitations.
 
-=item Ignoring zero length \N{} in character class
+=item Ignoring zero length \N{} in character class in regex; marked by <-- HERE in m/%s/
 
-(W) Named Unicode character escapes (\N{...}) may return a
-zero length sequence.  When such an escape is used in a character class
-its behaviour is not well defined. Check that the correct escape has
+(W regexp) Named Unicode character escapes C<(\N{...})> may return a zero-length
+sequence.  When such an escape is used in a character class its
+behaviour is not well defined.  Check that the correct escape has
 been used, and the correct charname handler is in scope.
 
 =item Illegal binary digit %s
@@ -2044,6 +2210,11 @@
 binary number.  Interpretation of the binary number stopped before the
 offending digit.
 
+=item Illegal character after '_' in prototype for %s : %s
+
+(W illegalproto) An illegal character was found in a prototype declaration.
+Legal characters in prototypes are $, @, %, *, ;, [, ], &, \, and +.
+
 =item Illegal character \%o (carriage return)
 
 (F) Perl normally treats carriage returns in the program text as it
@@ -2060,11 +2231,11 @@
 =item Illegal declaration of anonymous subroutine
 
 (F) When using the C<sub> keyword to construct an anonymous subroutine,
-you must always specify a block of code. See L<perlsub>.
+you must always specify a block of code.  See L<perlsub>.
 
 =item Illegal declaration of subroutine %s
 
-(F) A subroutine was not declared correctly. See L<perlsub>.
+(F) A subroutine was not declared correctly.  See L<perlsub>.
 
 =item Illegal division by zero
 
@@ -2097,6 +2268,17 @@
 (W digit) You may have tried to use an 8 or 9 in an octal number.
 Interpretation of the octal number stopped before the 8 or 9.
 
+=item Illegal pattern in regex; marked by <-- HERE in m/%s/
+
+(F)
+You wrote something like
+
+ (?+foo)
+
+The C<"+"> is valid only when followed by digits, indicating a
+capturing group.  See
+L<C<(?I<PARNO>)>|perlre/(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)>.
+
 =item Illegal switch in PERL5OPT: -%c
 
 (X) The PERL5OPT environment variable may only be used to set the
@@ -2126,8 +2308,37 @@
 Failure of user callbacks dispatched using the C<G_KEEPERR> flag could
 also result in this warning.  See L<perlcall/G_KEEPERR>.
 
-=item Inconsistent hierarchy during C3 merge of class '%s': merging failed on parent '%s'
+=item In '(*VERB...)', splitting the initial '(*' is deprecated in regex; marked by <-- HERE in m/%s/
 
+(D regexp, deprecated)
+The two-character sequence C<"(*"> in this context in a regular
+expression pattern should be an indivisible token, with nothing
+intervening between the C<"("> and the C<"*">, but you separated them.
+Due to an accident of implementation, this prohibition was not enforced,
+but we do plan to forbid it in a future Perl version.  This message
+serves as giving you fair warning of this pending change.
+
+=item In '(?...)', splitting the initial '(?' is deprecated in regex; marked by <-- HERE in m/%s/
+
+(D regexp, deprecated)
+The two-character sequence C<"(?"> in this context in a regular
+expression pattern should be an indivisible token, with nothing
+intervening between the C<"("> and the C<"?">, but you separated them.
+Due to an accident of implementation, this prohibition was not enforced,
+but we do plan to forbid it in a future Perl version.  This message
+serves as giving you fair warning of this pending change.
+
+=item Incomplete expression within '(?[ ])' in regex; marked by <-- HERE in m/%s/
+
+(F)
+There was a syntax error within the C<(?[ ])>.  This can happen if the
+expression inside the construct was completely empty, or if there are
+too many or few operands for the number of operators.  Perl is not smart
+enough to give you a more precise indication as to what is wrong.
+
+=item Inconsistent hierarchy during C3 merge of class '%s': merging failed on 
+parent '%s'
+
 (F) The method resolution order (MRO) of the given class is not
 C3-consistent, and you have enabled the C3 MRO for this class.  See the C3
 documentation in L<mro> for more information.
@@ -2141,18 +2352,19 @@
 =item Infinite recursion in regex; marked by <-- HERE in m/%s/
 
 (F) You used a pattern that references itself without consuming any input
-text. You should check the pattern to ensure that recursive patterns
+text.  You should check the pattern to ensure that recursive patterns
 either consume text or fail.
 
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
 =item Initialization of state variables in list context currently forbidden
 
-(F) Currently the implementation of "state" only permits the initialization
-of scalar variables in scalar context. Re-write C<state ($a) = 42> as
-C<state $a = 42> to change from list to scalar context. Constructions such
-as C<state (@a) = foo()> will be supported in a future perl release.
+(F) Currently the implementation of "state" only permits the
+initialization of scalar variables in scalar context.  Re-write
+C<state ($a) = 42> as C<state $a = 42> to change from list to scalar
+context.  Constructions such as C<state (@a) = foo()> will be
+supported in a future perl release.
 
 =item Insecure dependency in %s
 
@@ -2186,7 +2398,6 @@
 function, i.e. C<\p{IsFoo}> or C<\p{InFoo}>.
 See L<perlunicode/User-Defined Character Properties> and L<perlsec>.
 
-
 =item Integer overflow in format string for %s
 
 (F) The indexes and widths specified in the format string of C<printf()>
@@ -2195,7 +2406,7 @@
 
 =item Integer overflow in %s number
 
-(W overflow) The hexadecimal, octal or binary number you have specified
+(S overflow) The hexadecimal, octal or binary number you have specified
 either as a literal or as an argument to hex() or oct() is too big for
 your architecture, and has been converted to a floating point number.
 On a 32-bit architecture the largest hexadecimal, octal or binary number
@@ -2205,19 +2416,29 @@
 internally--subject to loss of precision errors in subsequent
 operations.
 
+=item Integer overflow in srand
+
+(S overflow) The number you have passed to srand is too big to fit
+in your architecture's integer representation.  The number has been
+replaced with the largest integer supported (0xFFFFFFFF on 32-bit
+architectures).  This means you may be getting less randomness than
+you expect, because different random seeds above the maximum will
+return the same sequence of random numbers.
+
 =item Integer overflow in version
 
-(F) Some portion of a version initialization is too large for the
-size of integers for your architecture.  This is not a warning
-because there is no rational reason for a version to try and use a
-element larger than typically 2**32.  This is usually caused by
-trying to use some odd mathematical operation as a version, like
-100/9.
+=item Integer overflow in version %d
 
+(W overflow) Some portion of a version initialization is too large for
+the size of integers for your architecture.  This is not a warning
+because there is no rational reason for a version to try and use an
+element larger than typically 2**32.  This is usually caused by trying
+to use some odd mathematical operation as a version, like 100/9.
+
 =item Internal disaster in regex; marked by <-- HERE in m/%s/
 
 (P) Something went badly wrong in the regular expression parser.
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
 =item Internal inconsistency in tracking vforks
@@ -2231,8 +2452,8 @@
 
 =item Internal urp in regex; marked by <-- HERE in m/%s/
 
-(P) Something went badly awry in the regular expression parser. The
-<-- HERE shows in the regular expression about where the problem was
+(P) Something went badly awry in the regular expression parser.  The
+<-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
 =item %s (...) interpreted as function
@@ -2252,26 +2473,60 @@
 (F) The indicated attributes for a subroutine or variable were not
 recognized by Perl or by a user-supplied handler.  See L<attributes>.
 
+=item Invalid [] range "%*.*s" in regex; marked by <-- HERE in m/%s/
+
+(F)
+You wrote something like
+
+ [z-a]
+
+in a regular expression pattern.  Ranges must be specified with the
+lowest code point first.  Instead write
+
+ [a-z]
+
+=item Invalid character in \N{...}; marked by <-- HERE in \N{%s}
+
+(F) Only certain characters are valid for character names.  The
+indicated one isn't.  See L<charnames/CUSTOM ALIASES>.
+
+=item Invalid character in charnames alias definition; marked by <-- HERE in '%s
+
+(F) You tried to create a custom alias for a character name, with
+the C<:alias> option to C<use charnames> and the specified character in
+the indicated name isn't valid.  See L<charnames/CUSTOM ALIASES>.
+
 =item Invalid conversion in %s: "%s"
 
 (W printf) Perl does not understand the given format conversion.  See
 L<perlfunc/sprintf>.
 
-=item Invalid escape in the specified encoding in regex; marked by <-- HERE in m/%s/
+=item Invalid escape in the specified encoding in regex; marked by <-- HERE in 
+m/%s/
 
 (W regexp) The numeric escape (for example C<\xHH>) of value < 256
 didn't correspond to a single character through the conversion
 from the encoding specified by the encoding pragma.
 The escape was replaced with REPLACEMENT CHARACTER (U+FFFD) instead.
-The <-- HERE shows in the regular expression about where the
+The <-- HERE shows whereabouts in the regular expression the
 escape was discovered.
 
 =item Invalid hexadecimal number in \N{U+...}
 
+=item Invalid hexadecimal number in \N{U+...} in regex; marked by <-- HERE in 
+m/%s/
+
 (F) The character constant represented by C<...> is not a valid hexadecimal
 number.  Either it is empty, or you tried to use a character other than
 0 - 9 or A - F, a - f in a hexadecimal number.
 
+=item Invalid module name %s with -%c option: contains single ':'
+
+(F) The module argument to perl's B<-m> and B<-M> command-line options
+cannot contain single colons in the module name, but only in the
+arguments after "=".  In other words, B<-MFoo::Bar=:baz> is ok, but
+B<-MFoo:Bar=baz> is not.
+
 =item Invalid mro name: '%s'
 
 (F) You tried to C<mro::set_mro("classname", "foo")> or C<use mro 'foo'>,
@@ -2279,12 +2534,24 @@
 the only valid ones supported are C<dfs> and C<c3>, unless you have loaded
 a module that is a MRO plugin.  See L<mro> and L<perlmroapi>.
 
+=item Invalid negative number (%s) in chr
+
+(W utf8) You passed a negative number to C<chr>.  Negative numbers are
+not valid characters numbers, so it return the Unicode replacement
+character (U+FFFD).
+
+=item invalid option -D%c, use -D'' to see choices
+
+(S debugging) Perl was called with invalid debugger flags.  Call perl
+with the B<-D> option with no flags to see the list of acceptable values.
+See also L<perlrun/-Dletters>.
+
 =item Invalid [] range "%s" in regex; marked by <-- HERE in m/%s/
 
 (F) The range specified in a character class had a minimum character
 greater than the maximum character.  One possibility is that you forgot the
 C<{}> from your ending C<\x{}> - C<\x> without the curly braces can go only
-up to C<ff>.  The <-- HERE shows in the regular expression about where the
+up to C<ff>.  The <-- HERE shows whereabouts in the regular expression the
 problem was discovered.  See L<perlre>.
 
 =item Invalid range "%s" in transliteration operator
@@ -2308,7 +2575,7 @@
 
 =item Invalid strict version format (%s)
 
-(F)  A version number did not meet the "strict" criteria for versions.
+(F) A version number did not meet the "strict" criteria for versions.
 A "strict" version number is a positive decimal number (integer or
 decimal-fraction) without exponentiation or else a dotted-decimal
 v-string with a leading 'v' character and at least three components.
@@ -2319,27 +2586,28 @@
 
 (F) The given character is not a valid pack or unpack type.
 See L<perlfunc/pack>.
+
 (W) The given character is not a valid pack or unpack type but used to be
 silently ignored.
 
 =item Invalid version format (%s)
 
-(F)  A version number did not meet the "lax" criteria for versions.
+(F) A version number did not meet the "lax" criteria for versions.
 A "lax" version number is a positive decimal number (integer or
 decimal-fraction) without exponentiation or else a dotted-decimal
-v-string. If the v-string has fewer than three components, it must
-have a leading 'v' character.  Otherwise, the leading 'v' is optional.
-Both decimal and dotted-decimal versions may have a trailing "alpha"
-component separated by an underscore character after a fractional or
-dotted-decimal component.  The parenthesized text indicates which
-criteria were not met.  See the L<version> module for more details on
-allowed version formats.
+v-string.  If the v-string has fewer than three components, it
+must have a leading 'v' character.  Otherwise, the leading 'v' is
+optional.  Both decimal and dotted-decimal versions may have a
+trailing "alpha" component separated by an underscore character
+after a fractional or dotted-decimal component.  The parenthesized
+text indicates which criteria were not met.  See the L<version> module
+for more details on allowed version formats.
 
 =item Invalid version object
 
-(F)  The internal structure of the version object was invalid.  Perhaps
-the internals were modified directly in some way or an arbitrary reference
-was blessed into the "version" class.
+(F) The internal structure of the version object was invalid.
+Perhaps the internals were modified directly in some way or
+an arbitrary reference was blessed into the "version" class.
 
 =item ioctl is not implemented
 
@@ -2365,33 +2633,33 @@
 =item $* is no longer supported
 
 (D deprecated, syntax) The special variable C<$*>, deprecated in older
-perls, has been removed as of 5.9.0 and is no longer supported. In
+perls, has been removed as of 5.9.0 and is no longer supported.  In
 previous versions of perl the use of C<$*> enabled or disabled multi-line
 matching within a string.
 
 Instead of using C<$*> you should use the C</m> (and maybe C</s>) regexp
-modifiers. You can enable C</m> for a lexical scope (even a whole file)
-with C<use re '/m'>. (In older versions: when C<$*> was set to a true value
+modifiers.  You can enable C</m> for a lexical scope (even a whole file)
+with C<use re '/m'>.  (In older versions: when C<$*> was set to a true value
 then all regular expressions behaved as if they were written using C</m>.)
 
 =item $# is no longer supported
 
 (D deprecated, syntax) The special variable C<$#>, deprecated in older
-perls, has been removed as of 5.9.3 and is no longer supported. You
+perls, has been removed as of 5.9.3 and is no longer supported.  You
 should use the printf/sprintf functions instead.
 
-=item `%s' is not a code reference
+=item '%s' is not a code reference
 
-(W overload) The second (fourth, sixth, ...) argument of overload::constant
-needs to be a code reference. Either an anonymous subroutine, or a reference
-to a subroutine.
+(W overload) The second (fourth, sixth, ...) argument of
+overload::constant needs to be a code reference.  Either
+an anonymous subroutine, or a reference to a subroutine.
 
-=item `%s' is not an overloadable type
+=item '%s' is not an overloadable type
 
 (W overload) You tried to overload a constant type the overload package is
 unaware of.
 
-=item junk on end of regexp
+=item Junk on end of regexp in regex m/%s/
 
 (P) The regular expression parser is confused.
 
@@ -2421,16 +2689,29 @@
 =item length/code after end of string in unpack
 
 (F) While unpacking, the string buffer was already used up when an unpack
-length/code combination tried to obtain more data. This results in
-an undefined value for the length. See L<perlfunc/pack>.
+length/code combination tried to obtain more data.  This results in
+an undefined value for the length.  See L<perlfunc/pack>.
 
+=item length() used on %s
+
+(W syntax) You used length() on either an array or a hash when you
+probably wanted a count of the items.
+
+Array size can be obtained by doing:
+
+    scalar(@array);
+
+The number of items in a hash can be obtained by doing:
+
+    scalar(keys %hash);
+
 =item Lexing code attempted to stuff non-Latin-1 character into Latin-1 input
 
 (F) An extension is attempting to insert text into the current parse
-(using L<lex_stuff_pvn|perlapi/lex_stuff_pvn> or similar), but tried to insert a character
-that couldn't be part of the current input. This is an inherent pitfall
-of the stuffing mechanism, and one of the reasons to avoid it.  Where it
-is necessary to stuff, stuffing only plain ASCII is recommended.
+(using L<lex_stuff_pvn|perlapi/lex_stuff_pvn> or similar), but tried to insert a character that
+couldn't be part of the current input.  This is an inherent pitfall
+of the stuffing mechanism, and one of the reasons to avoid it.  Where
+it is necessary to stuff, stuffing only plain ASCII is recommended.
 
 =item Lexing code internal error (%s)
 
@@ -2443,11 +2724,17 @@
 to check the return value of your socket() call?  See
 L<perlfunc/listen>.
 
+=item List form of piped open not implemented
+
+(F) On some platforms, notably Windows, the three-or-more-arguments
+form of C<open> does not support pipes, such as C<open($pipe, '|-', @args)>.
+Use the two-argument C<open($pipe, '|prog arg1 arg2...')> form instead.
+
 =item localtime(%f) too large
 
 (W overflow) You called C<localtime> with a number that was larger
 than it can reliably handle and C<localtime> probably returned the
-wrong date. This warning is also triggered with nan (the special
+wrong date.  This warning is also triggered with NaN (the special
 not-a-number value).
 
 =item localtime(%f) too small
@@ -2454,43 +2741,47 @@
 
 (W overflow) You called C<localtime> with a number that was smaller
 than it can reliably handle and C<localtime> probably returned the
-wrong date. This warning is also triggered with nan (the special
-not-a-number value).
+wrong date.
 
 =item Lookbehind longer than %d not implemented in regex m/%s/
 
 (F) There is currently a limit on the length of string which lookbehind can
-handle. This restriction may be eased in a future release. 
+handle.  This restriction may be eased in a future release. 
 
 =item Lost precision when %s %f by 1
 
-(W) The value you attempted to increment or decrement by one is too large
-for the underlying floating point representation to store accurately,
-hence the target of C<++> or C<--> is unchanged. Perl issues this warning
-because it has already switched from integers to floating point when values
-are too large for integers, and now even floating point is insufficient.
-You may wish to switch to using L<Math::BigInt> explicitly.
+(W imprecision) The value you attempted to increment or decrement by one
+is too large for the underlying floating point representation to store
+accurately, hence the target of C<++> or C<--> is unchanged.  Perl issues this
+warning because it has already switched from integers to floating point
+when values are too large for integers, and now even floating point is
+insufficient.  You may wish to switch to using L<Math::BigInt> explicitly.
 
-=item lstat() on filehandle %s
+=item lstat() on filehandle%s
 
 (W io) You tried to do an lstat on a filehandle.  What did you mean
 by that?  lstat() makes sense only on filenames.  (Perl did a fstat()
 instead on the filehandle.)
 
+=item lvalue attribute %s already-defined subroutine
+
+(W misc) Although L<attributes.pm|attributes> allows this, turning the lvalue
+attribute on or off on a Perl subroutine that is already defined
+does not always work properly.  It may or may not do what you
+want, depending on what code is inside the subroutine, with exact
+details subject to change between Perl versions.  Only do this
+if you really know what you are doing.
+
 =item lvalue attribute ignored after the subroutine has been defined
 
-(W misc) Making a subroutine an lvalue subroutine after it has been defined
-by declaring the subroutine with an lvalue attribute is not
-possible. To make the subroutine an lvalue subroutine add the
-lvalue attribute to the definition, or put the declaration before
-the definition.
+(W misc) Using the C<:lvalue> declarative syntax to make a Perl
+subroutine an lvalue subroutine after it has been defined is
+not permitted.  To make the subroutine an lvalue subroutine,
+add the lvalue attribute to the definition, or put the C<sub
+foo :lvalue;> declaration before the definition.
 
-=item Lvalue subs returning %s not implemented yet
+See also L<attributes.pm|attributes>.
 
-(F) Due to limitations in the current implementation, array and hash
-values cannot be returned in subroutines used in lvalue context.  See
-L<perlsub/"Lvalue subroutines">.
-
 =item Malformed integer in [] in pack
 
 (F) Between the brackets enclosing a numeric repeat count only digits
@@ -2524,12 +2815,12 @@
 
 =item Malformed UTF-8 character (%s)
 
-(S utf8) (F) Perl detected a string that didn't comply with UTF-8
+(S utf8)(F) Perl detected a string that didn't comply with UTF-8
 encoding rules, even though it had the UTF8 flag on.
 
 One possible cause is that you set the UTF8 flag yourself for data that
 you thought to be in UTF-8 but it wasn't (it was for example legacy
-8-bit data). To guard against this, you can use Encode::decode_utf8.
+8-bit data).  To guard against this, you can use Encode::decode_utf8.
 
 If you use the C<:encoding(UTF-8)> PerlIO layer for input, invalid byte
 sequences are handled gracefully, but if you use C<:utf8>, the flag is
@@ -2538,8 +2829,16 @@
 
 See also L<Encode/"Handling Malformed Data">.
 
-=item Malformed UTF-8 returned by \N
+=item Malformed UTF-8 character immediately after '%s'
 
+(F) You said C<use utf8>, but the program file doesn't comply with UTF-8
+encoding rules.  The message prints out the properly encoded characters
+just before the first bad one.  If C<utf8> warnings are enabled, a
+warning is generated that gives more details about the type of
+malformation.
+
+=item Malformed UTF-8 returned by \N{%s} immediately after '%s'
+
 (F) The charnames handler returned malformed UTF-8.
 
 =item Malformed UTF-8 string in '%c' format in unpack
@@ -2566,16 +2865,16 @@
 
 (W regexp) The pattern you've specified would be an infinite loop if the
 regular expression engine didn't specifically check for that.  The <-- HERE
-shows in the regular expression about where the problem was discovered.
+shows whereabouts in the regular expression the problem was discovered.
 See L<perlre>.
 
 =item Maximal count of pending signals (%u) exceeded
 
-(F) Perl aborted due to too high a number of signals pending. This
+(F) Perl aborted due to too high a number of signals pending.  This
 usually indicates that your operating system tried to deliver signals
 too fast (with a very high priority), starving the perl process from
 resources it would need to reach a point where it can process signals
-safely. (See L<perlipc/"Deferred Signals (Safe Signals)">.)
+safely.  (See L<perlipc/"Deferred Signals (Safe Signals)">.)
 
 =item "%s" may clash with future reserved word
 
@@ -2583,7 +2882,7 @@
 interpreter, especially if the word that is being warned about is
 "use" or "my".
 
-=item % may not be used in pack
+=item '%' may not be used in pack
 
 (F) You can't pack a string by supplying a checksum, because the
 checksumming process loses information, and you can't go the other way.
@@ -2621,6 +2920,8 @@
 
 =item Missing braces on \N{}
 
+=item Missing braces on \N{} in regex; marked by <-- HERE in m/%s/
+
 (F) Wrong syntax of character name literal C<\N{charname}> within
 double-quotish context.  This can also happen when there is a space
 (or comment) between the C<\N> and the C<{> in a regex with the C</x> modifier.
@@ -2647,7 +2948,7 @@
 (F) A double-quoted string ended with "\c", without the required control
 character name.
 
-=item Missing name in "my sub"
+=item Missing name in "%s sub"
 
 (F) The reserved syntax for lexically scoped subroutines requires that
 they have a name with which they can be found.
@@ -2663,7 +2964,7 @@
 (S syntax) This is an educated guess made in conjunction with the message
 "%s found where operator expected".  Often the missing operator is a comma.
 
-=item Missing right brace on %s
+=item Missing right brace on \%c{} in regex; marked by <-- HERE in m/%s/
 
 (F) Missing right brace in C<\x{...}>, C<\p{...}>, C<\P{...}>, or C<\N{...}>.
 
@@ -2673,7 +2974,7 @@
 
 The traditional one has it followed by a name enclosed in braces,
 meaning the character (or sequence of characters) given by that
-name. Thus C<\N{ASTERISK}> is another way of writing C<*>, valid in both
+name.  Thus C<\N{ASTERISK}> is another way of writing C<*>, valid in both
 double-quoted strings and regular expression patterns.  In patterns,
 it doesn't have the meaning an unescaped C<*> does.
 
@@ -2719,10 +3020,10 @@
 Yet another way is to assign to a C<foreach> loop I<VAR> when I<VAR>
 is aliased to a constant in the look I<LIST>:
 
-        $x = 1;
-        foreach my $n ($x, 2) {
-            $n *= 2; # modifies the $x, but fails on attempt to modify the 2
-        }
+    $x = 1;
+    foreach my $n ($x, 2) {
+        $n *= 2; # modifies the $x, but fails on attempt to
+    }            # modify the 2
 
 =item Modification of non-creatable array value attempted, %s
 
@@ -2747,7 +3048,7 @@
 
 =item More than one argument to '%s' open
 
-(F) The C<open> function has been asked to open multiple files. This
+(F) The C<open> function has been asked to open multiple files.  This
 can happen if you are trying to open a pipe to a command that takes a
 list of arguments, but have forgotten to specify a piped open mode.
 See L<perlfunc/open> for details.
@@ -2790,7 +3091,8 @@
 the same; if a program uses $c only once but also uses any of the others it
 will not trigger this warning.
 
-=item \N in a character class must be a named character: \N{...}
+=item \N in a character class must be a named character: \N{...} in regex; 
+marked by <-- HERE in m/%s/
 
 (F) The new (5.12) meaning of C<\N> as C<[^\n]> is not valid in a bracketed
 character class, for the same reason that C<.> in a character class loses
@@ -2797,7 +3099,7 @@
 its specialness: it matches almost everything, which is probably not
 what you want.
 
-=item \N{NAME} must be resolved by the lexer
+=item \N{NAME} must be resolved by the lexer in regex; marked by <-- HERE in m/%s/
 
 (F) When compiling a regex pattern, an unresolved named character or
 sequence was encountered.  This can happen in any of several ways that
@@ -2828,6 +3130,25 @@
     /\N {SPACE}/x;	# Wrong!
     /\N{SPACE}/x;	# ok
 
+=item Need exactly 3 octal digits in regex; marked by <-- HERE in m/%s/
+
+(F) Within S<C<(?[   ])>>, all constants interpreted as octal need to be
+exactly 3 digits long.  This helps catch some ambiguities.  If your
+constant is too short, add leading zeros, like
+
+ (?[ [ \078 ] ])     # Syntax error!
+ (?[ [ \0078 ] ])    # Works
+ (?[ [ \007 8 ] ])   # Clearer
+
+The maximum number this construct can express is C<\777>.  If you
+need a larger one, you need to use L<\o{}|perlrebackslash/Octal escapes>
+instead.  If you meant two separate things, you need to separate them
+
+ (?[ [ \7776 ] ])        # Syntax error!
+ (?[ [ \o{7776} ] ])     # One meaning
+ (?[ [ \777 6 ] ])       # Another meaning
+ (?[ [ \777 \006 ] ])    # Still another
+
 =item Negative '/' count in unpack
 
 (F) The length count obtained from a length/code unpack operation was
@@ -2845,9 +3166,9 @@
 
 =item Nested quantifiers in regex; marked by <-- HERE in m/%s/
 
-(F) You can't quantify a quantifier without intervening parentheses. So
-things like ** or +* or ?* are illegal. The <-- HERE shows in the regular
-expression about where the problem was discovered.
+(F) You can't quantify a quantifier without intervening parentheses.
+So things like ** or +* or ?* are illegal.  The <-- HERE shows
+whereabouts in the regular expression the problem was discovered.
 
 Note that the minimal matching quantifiers, C<*?>, C<+?>, and
 C<??> appear to be nested quantifiers, but aren't.  See L<perlre>.
@@ -2870,23 +3191,33 @@
 will be another way to do what you want that is, if not secure, at least
 securable.  See L<perlsec>.
 
+=item No code specified for -%c
+
+(F) Perl's B<-e> and B<-E> command-line options require an argument.  If
+you want to run an empty program, pass the empty string as a separate
+argument or run a program consisting of a single 0 or 1:
+
+    perl -e ""
+    perl -e0
+    perl -e1
+
 =item No comma allowed after %s
 
-(F) A list operator that has a filehandle or "indirect object" is not
-allowed to have a comma between that and the following arguments.
+(F) A list operator that has a filehandle or "indirect object" is
+not allowed to have a comma between that and the following arguments.
 Otherwise it'd be just another one of the arguments.
 
-One possible cause for this is that you expected to have imported a
-constant to your name space with B<use> or B<import> while no such
-importing took place, it may for example be that your operating system
-does not support that particular constant. Hopefully you did use an
-explicit import list for the constants you expect to see; please see
-L<perlfunc/use> and L<perlfunc/import>. While an explicit import list
-would probably have caught this error earlier it naturally does not
-remedy the fact that your operating system still does not support that
-constant. Maybe you have a typo in the constants of the symbol import
-list of B<use> or B<import> or in the constant name at the line where
-this error was triggered?
+One possible cause for this is that you expected to have imported
+a constant to your name space with B<use> or B<import> while no such
+importing took place, it may for example be that your operating
+system does not support that particular constant.  Hopefully you did
+use an explicit import list for the constants you expect to see;
+please see L<perlfunc/use> and L<perlfunc/import>.  While an
+explicit import list would probably have caught this error earlier
+it naturally does not remedy the fact that your operating system
+still does not support that constant.  Maybe you have a typo in
+the constants of the symbol import list of B<use> or B<import> or in the
+constant name at the line where this error was triggered?
 
 =item No command into which to pipe on command line
 
@@ -2913,6 +3244,11 @@
 module) didn't define a C<DB::sub> routine to be called at the beginning
 of each ordinary subroutine call.
 
+=item No directory specified for -I
+
+(F) The B<-I> command-line switch requires a directory name as part of the
+I<same> argument.  Use B<-Ilib>, for instance.  B<-I lib> won't work.
+
 =item No error file after 2> or 2>> on command line
 
 (F) An error peculiar to VMS.  Perl handles its own command line
@@ -2922,7 +3258,7 @@
 =item No group ending character '%c' found in template
 
 (F) A pack or unpack template has an opening '(' or '[' without its
-matching counterpart. See L<perlfunc/pack>.
+matching counterpart.  See L<perlfunc/pack>.
 
 =item No input file after < on command line
 
@@ -2935,7 +3271,7 @@
 (F) C<next::method> found no further instances of this method name
 in the remaining packages of the MRO of this class.  If you don't want
 it throwing an exception, use C<maybe::next::method>
-or C<next::can>. See L<mro>.
+or C<next::can>.  See L<mro>.
 
 =item "no" not allowed in expression
 
@@ -2975,16 +3311,12 @@
 (F) Configure didn't find anything resembling the setreuid() call for
 your system.
 
-=item No %s specified for -%c
-
-(F) The indicated command line switch needs a mandatory argument, but
-you haven't specified one.
-
 =item No such class field "%s" in variable %s of type %s
 
-(F) You tried to access a key from a hash through the indicated typed variable
-but that key is not allowed by the package of the same type.  The indicated
-package has restricted the set of allowed keys using the L<fields> pragma.
+(F) You tried to access a key from a hash through the indicated typed
+variable but that key is not allowed by the package of the same type.
+The indicated package has restricted the set of allowed keys using the
+L<fields> pragma.
 
 =item No such class %s
 
@@ -3015,11 +3347,6 @@
 use the ref() function to find out what kind of ref it really was.  See
 also L<perlref>.
 
-=item Not a format reference
-
-(F) I'm not sure how you managed to generate a reference to an anonymous
-format, but this indicates you did, and that it didn't exist.
-
 =item Not a GLOB reference
 
 (F) Perl was trying to evaluate a reference to a "typeglob" (that is, a
@@ -3086,18 +3413,43 @@
 F<SYS$TIMEZONE_DIFFERENTIAL> to translate to the number of seconds which
 need to be added to UTC to get local time.
 
+=item Non-hex character in regex; marked by <-- HERE in m/%s/
+
+(F)
+In a regular expression, there was a non-hexadecimal character where
+a hex one was expected, like
+
+ (?[ [ \xDG ] ])
+ (?[ [ \x{DEKA} ] ])
+
 =item Non-octal character '%c'.  Resolved as "%s"
 
-(W digit)  In parsing an octal numeric constant, a character was
-unexpectedly encountered that isn't octal.  The resulting value is as
-indicated.
+(W digit) In parsing an octal numeric constant, a character was
+unexpectedly encountered that isn't octal.  The resulting value
+is as indicated.
 
+=item Non-octal character in regex; marked by <-- HERE in m/%s/
+
+(F)
+In a regular expression, there was a non-octal character where
+an octal one was expected, like
+
+ (?[ [ \o{1278} ] ])
+
 =item Non-string passed as bitmask
 
 (W misc) A number has been passed as a bitmask argument to select().
 Use the vec() function to construct the file descriptor bitmasks for
-select. See L<perlfunc/select>.
+select.  See L<perlfunc/select>.
 
+=item (?[...]) not valid in locale in regex; marked by <-- HERE in m/%s/
+
+(F)
+C<(?[...])> cannot be used within the scope of a C<S<use locale>> or
+with an C</l> regular expression modifier, as that would require
+deferring to run-time the calculation of what it should evaluate to, and
+it is regex compile-time only.
+
 =item Null filename used
 
 (F) You can't require the null filename, especially because on many
@@ -3105,7 +3457,7 @@
 
 =item NULL OP IN RUN
 
-(P debugging) Some internal routine called run() with a null opcode
+(S debugging) Some internal routine called run() with a null opcode
 pointer.
 
 =item Null picture in formline
@@ -3137,14 +3489,16 @@
 =item Number with no digits
 
 (F) Perl was looking for a number but found nothing that looked like
-a number. This happens, for example with C<\o{}>, with no number between
+a number.  This happens, for example with C<\o{}>, with no number between
 the braces.
 
-=item Octal number in vector unsupported
+=item "my %s" used in sort comparison
 
-(F) Numbers with a leading C<0> are not currently allowed in vectors.
-The octal number interpretation of such numbers may be supported in a
-future version.
+(W syntax) The package variables $a and $b are used for sort comparisons.
+You used $a or $b in as an operand to the C<< <=> >> or C<cmp> operator inside a
+sort comparison block, and the variable had earlier been declared as a
+lexical variable.  Either qualify the sort variable with the package
+name, or rename the lexical variable.
 
 =item Octal number > 037777777777 non-portable
 
@@ -3155,7 +3509,7 @@
 =item Odd number of arguments for overload::constant
 
 (W overload) The call to overload::constant contained an odd number of
-arguments. The arguments should come in pairs.
+arguments.  The arguments should come in pairs.
 
 =item Odd number of elements in anonymous hash
 
@@ -3169,7 +3523,7 @@
 
 =item Offset outside string
 
-(F|W layer) You tried to do a read/write/send/recv/seek operation
+(F)(W layer) You tried to do a read/write/send/recv/seek operation
 with an offset pointing outside the buffer.  This is difficult to
 imagine.  The sole exceptions to this are that zero padding will
 take place when going past the end of the string when either
@@ -3188,6 +3542,12 @@
 (W unopened) You tried to invoke a file test operator on a filehandle
 that isn't open.  Check your control flow.  See also L<perlfunc/-X>.
 
+=item Strings with code points over 0xFF may not be mapped into in-memory file handles
+
+(W utf8) You tried to open a reference to a scalar for read or append
+where the scalar contained code points over 0xFF.  In-memory files
+model on-disk files and can only contain bytes.
+
 =item oops: oopsAV
 
 (S internal) An internal warning that the grammar is screwed up.
@@ -3198,7 +3558,7 @@
 
 =item Opening dirhandle %s also as a file
 
-(W io, deprecated) You used open() to associate a filehandle to
+(D io, deprecated) You used open() to associate a filehandle to
 a symbol (glob or scalar) that already holds a dirhandle.
 Although legal, this idiom might render your code confusing
 and is deprecated.
@@ -3205,11 +3565,21 @@
 
 =item Opening filehandle %s also as a directory
 
-(W io, deprecated) You used opendir() to associate a dirhandle to
+(D io, deprecated) You used opendir() to associate a dirhandle to
 a symbol (glob or scalar) that already holds a filehandle.
 Although legal, this idiom might render your code confusing
 and is deprecated.
 
+=item Operand with no preceding operator in regex; marked by <-- HERE in m/%s/
+
+(F)
+You wrote something like
+
+ (?[ \p{Digit} \p{Thai} ])
+
+There are two operands, but no operator giving how you want to combine
+them.
+
 =item Operation "%s": no method found, %s
 
 (F) An attempt was made to perform an overloaded operation for which no
@@ -3219,10 +3589,9 @@
 
 =item Operation "%s" returns its argument for non-Unicode code point 0x%X
 
-(W utf8, non_unicode) You performed an operation requiring Unicode
-semantics on a code
-point that is not in Unicode, so what it should do is not defined.  Perl
-has chosen to have it do nothing, and warn you.
+(S utf8, non_unicode) You performed an operation requiring Unicode
+semantics on a code point that is not in Unicode, so what it should do
+is not defined.  Perl has chosen to have it do nothing, and warn you.
 
 If the operation shown is "ToFold", it means that case-insensitive
 matching in a regular expression was done on the code point.
@@ -3232,12 +3601,12 @@
 
 =item Operation "%s" returns its argument for UTF-16 surrogate U+%X
 
-(W utf8, surrogate) You performed an operation requiring Unicode
-semantics on a Unicode
-surrogate.  Unicode frowns upon the use of surrogates for anything but
-storing strings in UTF-16, but semantics are (reluctantly) defined for
-the surrogates, and they are to do nothing for this operation.  Because
-the use of surrogates can be dangerous, Perl warns.
+(S utf8, surrogate) You performed an operation requiring Unicode
+semantics on a Unicode surrogate.  Unicode frowns upon the use of
+surrogates for anything but storing strings in UTF-16, but semantics
+are (reluctantly) defined for the surrogates, and they are to do
+nothing for this operation.  Because the use of surrogates can be
+dangerous, Perl warns.
 
 If the operation shown is "ToFold", it means that case-insensitive
 matching in a regular expression was done on the code point.
@@ -3278,13 +3647,13 @@
 =item Out of memory during "large" request for %s
 
 (F) The malloc() function returned 0, indicating there was insufficient
-remaining memory (or virtual memory) to satisfy the request. However,
+remaining memory (or virtual memory) to satisfy the request.  However,
 the request was judged large enough (compile-time default is 64K), so a
 possibility to shut down by trapping this error is granted.
 
 =item Out of memory during request for %s
 
-(X|F) The malloc() function returned 0, indicating there was
+(X)(F) The malloc() function returned 0, indicating there was
 insufficient remaining memory (or virtual memory) to satisfy the
 request.
 
@@ -3320,19 +3689,24 @@
 =item '@' outside of string with malformed UTF-8 in unpack
 
 (F) You had a template that specified an absolute position outside
-the string being unpacked. The string being unpacked was also invalid
-UTF-8. See L<perlfunc/pack>.
+the string being unpacked.  The string being unpacked was also invalid
+UTF-8.  See L<perlfunc/pack>.
 
+=item overload arg '%s' is invalid
+
+(W overload) The L<overload> pragma was passed an argument it did not
+recognize.  Did you mistype an operator?
+
 =item Overloaded dereference did not return a reference
 
 (F) An object with an overloaded dereference operator was dereferenced,
-but the overloaded operation did not return a reference. See
+but the overloaded operation did not return a reference.  See
 L<overload>.
 
 =item Overloaded qr did not return a REGEXP
 
 (F) An object with a C<qr> overload was used as part of a match, but the
-overloaded operation didn't return a compiled regexp. See L<overload>.
+overloaded operation didn't return a compiled regexp.  See L<overload>.
 
 =item %s package attribute may clash with future reserved word: %s
 
@@ -3362,15 +3736,21 @@
 platform.  Earlier checks mean that it should not be possible to
 enter this branch on this platform.
 
-=item panic: ck_grep
+=item panic: child pseudo-process was never scheduled
 
+(P) A child pseudo-process in the ithreads implementation on Windows
+was not scheduled within the time period allowed and therefore was not
+able to initialize properly.
+
+=item panic: ck_grep, type=%u
+
 (P) Failed an internal consistency check trying to compile a grep.
 
-=item panic: ck_split
+=item panic: ck_split, type=%u
 
 (P) Failed an internal consistency check trying to compile a split.
 
-=item panic: corrupt saved stack index
+=item panic: corrupt saved stack index %ld
 
 (P) The savestack was requested to restore more localized values than
 there are in the savestack.
@@ -3380,13 +3760,6 @@
 (P) Failed an internal consistency check while trying to reset a weak
 reference.
 
-=item panic: Devel::DProf inconsistent subroutine return
-
-(P) Devel::DProf called a subroutine that exited using goto(LABEL),
-last(LABEL) or next(LABEL). Leaving that way a subroutine called from
-an XSUB will lead very probably to a crash of the interpreter. This is
-a bug that will hopefully one day get fixed.
-
 =item panic: die %s
 
 (P) We popped the context stack to an eval context, and then discovered
@@ -3411,7 +3784,7 @@
 
 (P) The library function frexp() failed, making printf("%f") impossible.
 
-=item panic: goto
+=item panic: goto, type=%u, ix=%ld
 
 (P) We popped the context stack to a context with the specified label,
 and then discovered it wasn't a context we know how to do a goto in.
@@ -3419,22 +3792,15 @@
 =item panic: gp_free failed to free glob pointer
 
 (P) The internal routine used to clear a typeglob's entries tried
-repeatedly, but each time something re-created entries in the glob. Most
-likely the glob contains an object with a reference back to the glob and a
-destructor that adds a new object to the glob.
+repeatedly, but each time something re-created entries in the glob.
+Most likely the glob contains an object with a reference back to
+the glob and a destructor that adds a new object to the glob.
 
-=item panic: hfreeentries failed to free hash
+=item panic: INTERPCASEMOD, %s
 
-(P) The internal routine used to clear a hash's entries tried repeatedly,
-but each time something added more entries to the hash. Most likely the hash
-contains an object with a reference back to the hash and a destructor that
-adds a new object to the hash.
-
-=item panic: INTERPCASEMOD
-
 (P) The lexer got into a bad state at a case modifier.
 
-=item panic: INTERPCONCAT
+=item panic: INTERPCONCAT, %s
 
 (P) The lexer got into a bad state parsing a string with brackets.
 
@@ -3442,7 +3808,7 @@
 
 (F) forked child returned an incomprehensible message about its errno.
 
-=item panic: last
+=item panic: last, type=%u
 
 (P) We popped the context stack to a block context, and then discovered
 it wasn't a block context.
@@ -3452,7 +3818,7 @@
 (P) A writable lexical variable became read-only somehow within the
 scope.
 
-=item panic: leave_scope inconsistency
+=item panic: leave_scope inconsistency %u
 
 (P) The savestack probably got out of sync.  At least, there was an
 invalid enum on the top of it.
@@ -3462,7 +3828,7 @@
 (P) Failed an internal consistency check while trying to reset all weak
 references to an object.
 
-=item panic: malloc
+=item panic: malloc, %s
 
 (P) Something requested a negative number of bytes of malloc.
 
@@ -3470,12 +3836,12 @@
 
 (P) Something tried to allocate more memory than possible.
 
-=item panic: pad_alloc
+=item panic: pad_alloc, %p!=%p
 
 (P) The compiler got confused about which scratch pad it was allocating
 and freeing temporaries and lexicals from.
 
-=item panic: pad_free curpad
+=item panic: pad_free curpad, %p!=%p
 
 (P) The compiler got confused about which scratch pad it was allocating
 and freeing temporaries and lexicals from.
@@ -3484,7 +3850,7 @@
 
 (P) An invalid scratch pad offset was detected internally.
 
-=item panic: pad_reset curpad
+=item panic: pad_reset curpad, %p!=%p
 
 (P) The compiler got confused about which scratch pad it was allocating
 and freeing temporaries and lexicals from.
@@ -3493,7 +3859,7 @@
 
 (P) An invalid scratch pad offset was detected internally.
 
-=item panic: pad_swipe curpad
+=item panic: pad_swipe curpad, %p!=%p
 
 (P) The compiler got confused about which scratch pad it was allocating
 and freeing temporaries and lexicals from.
@@ -3502,7 +3868,7 @@
 
 (P) An invalid scratch pad offset was detected internally.
 
-=item panic: pp_iter
+=item panic: pp_iter, type=%u
 
 (P) The foreach iterator got called in a non-loop context frame.
 
@@ -3511,38 +3877,55 @@
 (P) The internal pp_match() routine was called with invalid operational
 data.
 
-=item panic: pp_split
+=item panic: pp_split, pm=%p, s=%p
 
 (P) Something terrible went wrong in setting up for the split.
 
-=item panic: realloc
+=item panic: realloc, %s
 
 (P) Something requested a negative number of bytes of realloc.
 
-=item panic: restartop
+=item panic: reference miscount on nsv in sv_replace() (%d != 1)
 
+(P) The internal sv_replace() function was handed a new SV with a
+reference count other than 1.
+
+=item panic: restartop in %s
+
 (P) Some internal routine requested a goto (or something like it), and
 didn't supply the destination.
 
-=item panic: return
+=item panic: return, type=%u
 
 (P) We popped the context stack to a subroutine or eval context, and
 then discovered it wasn't a subroutine or eval context.
 
-=item panic: scan_num
+=item panic: scan_num, %s
 
 (P) scan_num() got called on something that wasn't a number.
 
+=item panic: Sequence (?{...}): no code block found
+
+(P) while compiling a pattern that has embedded (?{}) or (??{}) code
+blocks, perl couldn't locate the code block that should have already been
+seen and compiled by perl before control passed to the regex compiler.
+
 =item panic: sv_chop %s
 
 (P) The sv_chop() routine was passed a position that is not within the
 scalar's string buffer.
 
-=item panic: sv_insert
+=item panic: sv_insert, midend=%p, bigend=%p
 
 (P) The sv_insert() routine was told to remove more string than there
 was string.
 
+=item panic: strxfrm() gets absurd - a => %u, ab => %u
+
+(P) The interpreter's sanity check of the C function strxfrm() failed.
+In your current locale the returned transformation of the string "ab" is
+shorter than that of the string "a", which makes no sense.
+
 =item panic: top_env
 
 (P) The compiler attempted to do a goto, or something weird like that.
@@ -3562,24 +3945,10 @@
 (P) Something tried to call utf16_to_utf8_reversed with an odd (as opposed
 to even) byte length.
 
-=item panic: yylex
+=item panic: yylex, %s
 
 (P) The lexer got into a bad state while processing a case modifier.
 
-=item Parsing code internal error (%s)
-
-(F) Parsing code supplied by an extension violated the parser's API in
-a detectable way.
-
-=item Pattern subroutine nesting without pos change exceeded limit in regex; marked by <-- HERE in m/%s/
-
-(F) You used a pattern that uses too many nested subpattern calls without
-consuming any text. Restructure the pattern so text is consumed before the
-nesting limit is exceeded.
-
-The <-- HERE shows in the regular expression about where the problem was
-discovered.
-
 =item Parentheses missing around "%s" list
 
 (W parenthesis) You said something like
@@ -3592,6 +3961,32 @@
 
 Remember that "my", "our", "local" and "state" bind tighter than comma.
 
+=item Parsing code internal error (%s)
+
+(F) Parsing code supplied by an extension violated the parser's API in
+a detectable way.
+
+=item Passing malformed UTF-8 to "%s" is deprecated
+
+(D deprecated, utf8) This message indicates a bug either in the Perl
+core or in XS code.  Such code was trying to find out if a character,
+allegedly stored internally encoded as UTF-8, was of a given type, such
+as being punctuation or a digit.  But the character was not encoded in
+legal UTF-8.  The C<%s> is replaced by a string that can be used by
+knowledgeable people to determine what the type being checked against
+was.  If C<utf8> warnings are enabled, a further message is raised,
+giving details of the malformation.
+
+=item Pattern subroutine nesting without pos change exceeded limit in regex; 
+marked by <-- HERE in m/%s/
+
+(F) You used a pattern that uses too many nested subpattern calls without
+consuming any text.  Restructure the pattern so text is consumed before
+the nesting limit is exceeded.
+
+The <-- HERE shows whereabouts in the regular expression the problem was
+discovered.
+
 =item C<-p> destination: %s
 
 (F) An error occurred during the implicit output invoked by the C<-p>
@@ -3604,13 +3999,14 @@
 "Can't locate object method \"%s\" via package \"%s\"".  It often means
 that a method requires a package that has not been loaded.
 
-=item Perl folding rules are not up-to-date for 0x%x; please use the perlbug utility to report
+=item Perl folding rules are not up-to-date for 0x%X; please use the perlbug 
+utility to report; in regex; marked by <-- HERE in m/%s/
 
-(W regex, deprecated) You used a regular expression with
+(D regexp, deprecated) You used a regular expression with
 case-insensitive matching, and there is a bug in Perl in which the
 built-in regular expression folding rules are not accurate.  This may
 lead to incorrect results.  Please report this as a bug using the
-"perlbug" utility.  (This message is marked deprecated, so that it by
+L<perlbug> utility.  (This message is marked deprecated, so that it by
 default will be turned-on.)
 
 =item Perl_my_%s() not available
@@ -3620,6 +4016,15 @@
 conversion functions.  This is only a problem when you're using the
 '<' or '>' modifiers in (un)pack templates.  See L<perlfunc/pack>.
 
+=item Perl %s required (did you mean %s?)--this is only %s, stopped
+
+(F) The code you are trying to run has asked for a newer version of
+Perl than you are running.  Perhaps C<use 5.10> was written instead
+of C<use 5.010> or C<use v5.10>.  Without the leading C<v>, the number is
+interpreted as a decimal, with every three digits after the
+decimal point representing a part of the version number.  So 5.10
+is equivalent to v5.100.
+
 =item Perl %s required--this is only version %s, stopped
 
 (F) The module in question uses features of a version of Perl more
@@ -3628,13 +4033,21 @@
 
 =item PERL_SH_DIR too long
 
-(F) An error peculiar to OS/2. PERL_SH_DIR is the directory to find the
+(F) An error peculiar to OS/2.  PERL_SH_DIR is the directory to find the
 C<sh>-shell in.  See "PERL_SH_DIR" in L<perlos2>.
 
 =item PERL_SIGNALS illegal: "%s"
 
-See L<perlrun/PERL_SIGNALS> for legal values.
+(X) See L<perlrun/PERL_SIGNALS> for legal values.
 
+=item Perls since %s too modern--this is %s, stopped
+
+(F) The code you are trying to run claims it will not run
+on the version of Perl you are using because it is too new.
+Maybe the code needs to be updated, or maybe it is simply
+wrong and the version check should just be removed.
+
+
 =item perl: warning: Setting locale failed.
 
 (S) The whole warning message will look something like:
@@ -3657,6 +4070,27 @@
 time you run Perl.  How to really fix the problem can be found in
 L<perllocale> section B<LOCALE PROBLEMS>.
 
+=item perl: warning: Non hex character in '$ENV{PERL_HASH_SEED}', seed only partially set
+
+(W) PERL_HASH_SEED should match /^\s*(?:0x)?[0-9a-fA-F]+\s*\z/ but it
+contained a non hex character. This could mean you are not using the hash
+seed you think you are.
+
+=item perl: warning: strange setting in '$ENV{PERL_PERTURB_KEYS}': '%s'
+
+(W) Perl was run with the environment variable PERL_PERTURB_KEYS defined
+but containing an unexpected value. The legal values of this setting
+are as follows.
+
+  Numeric | String        | Result
+  --------+---------------+-----------------------------------------
+  0       | NO            | Disables key traversal randomization
+  1       | RANDOM        | Enables full key traversal randomization
+  2       | DETERMINISTIC | Enables repeatable key traversal randomization
+
+Both numeric and string values are accepted, but note that string values are
+case sensitive. The default for this setting is "RANDOM" or 1.
+
 =item pid %x not a child
 
 (W exec) A warning peculiar to VMS.  Waitpid() was asked to wait for a
@@ -3670,7 +4104,7 @@
 =item POSIX class [:%s:] unknown in regex; marked by <-- HERE in m/%s/
 
 (F) The class in the character class [: :] syntax is unknown.  The <-- HERE
-shows in the regular expression about where the problem was discovered.
+shows whereabouts in the regular expression the problem was discovered.
 Note that the POSIX character classes do B<not> have the C<is> prefix
 the corresponding C interfaces have: in other words, it's C<[[:print:]]>,
 not C<isprint>.  See L<perlre>.
@@ -3680,31 +4114,34 @@
 (F) Your system has POSIX getpgrp(), which takes no argument, unlike
 the BSD version, which takes a pid.
 
-=item POSIX syntax [%s] belongs inside character classes in regex; marked by <-- HERE in m/%s/
+=item POSIX syntax [%c %c] belongs inside character classes in regex; marked by 
+<-- HERE in m/%s/
 
 (W regexp) The character class constructs [: :], [= =], and [. .]  go
 I<inside> character classes, the [] are part of the construct, for example:
 /[012[:alpha:]345]/.  Note that [= =] and [. .] are not currently
-implemented; they are simply placeholders for future extensions and will
-cause fatal errors.  The <-- HERE shows in the regular expression about
-where the problem was discovered.  See L<perlre>.
+implemented; they are simply placeholders for future extensions and
+will cause fatal errors.  The <-- HERE shows whereabouts in the regular
+expression the problem was discovered.  See L<perlre>.
 
-=item POSIX syntax [. .] is reserved for future extensions in regex; marked by <-- HERE in m/%s/
+=item POSIX syntax [. .] is reserved for future extensions in regex; marked by 
+<-- HERE in m/%s/
 
-(F regexp) Within regular expression character classes ([]) the syntax
-beginning with "[." and ending with ".]" is reserved for future extensions.
-If you need to represent those character sequences inside a regular
-expression character class, just quote the square brackets with the
-backslash: "\[." and ".\]".  The <-- HERE shows in the regular expression
-about where the problem was discovered.  See L<perlre>.
+(F) Within regular expression character classes ([]) the syntax beginning
+with "[." and ending with ".]" is reserved for future extensions.  If you
+need to represent those character sequences inside a regular expression
+character class, just quote the square brackets with the backslash: "\[."
+and ".\]".  The <-- HERE shows whereabouts in the regular expression the
+problem was discovered.  See L<perlre>.
 
-=item POSIX syntax [= =] is reserved for future extensions in regex; marked by <-- HERE in m/%s/
+=item POSIX syntax [= =] is reserved for future extensions in regex; marked by 
+<-- HERE in m/%s/
 
 (F) Within regular expression character classes ([]) the syntax beginning
 with "[=" and ending with "=]" is reserved for future extensions.  If you
 need to represent those character sequences inside a regular expression
 character class, just quote the square brackets with the backslash: "\[="
-and "=\]".  The <-- HERE shows in the regular expression about where the
+and "=\]".  The <-- HERE shows whereabouts in the regular expression the
 problem was discovered.  See L<perlre>.
 
 =item Possible attempt to put comments in qw() list
@@ -3767,7 +4204,7 @@
     if ($x & $y == 0) { ... }
 
 This expression is actually equivalent to C<$x & ($y == 0)>, due to the
-higher precedence of C<==>. This is probably not what you want. (If you
+higher precedence of C<==>.  This is probably not what you want.  (If you
 really meant to write this, disable the warning, or, better, put the
 parentheses explicitly and write C<$x & ($y == 0)>).
 
@@ -3787,8 +4224,8 @@
 
 =item Possible unintended interpolation of %s in string
 
-(W ambiguous) You said something like `@foo' in a double-quoted string
-but there was no array C<@foo> in scope at the time. If you wanted a
+(W ambiguous) You said something like '@foo' in a double-quoted string
+but there was no array C<@foo> in scope at the time.  If you wanted a
 literal @foo, then write it as \@foo; otherwise find out what happened
 to the array you apparently lost track of.
 
@@ -3829,10 +4266,21 @@
 L<perlipc/"Signals">.  See also "Process terminated by SIGTERM/SIGINT"
 in L<perlos2>.
 
+=item Property '%s' is unknown in regex; marked by <-- HERE in m/%s/
+
+(F)
+The named property which you specified via C<\p> or C<\P> is not one
+known to Perl.  Perhaps you misspelled the name?  See
+L<perluniprops/Properties accessible through \p{} and \P{}>
+for a complete list of available official properties.  If it is a
+L<user-defined property|perlunicode/User-Defined Character Properties>
+it must have been defined by the time the regular expression is
+compiled.
+
 =item Prototype after '%c' for %s : %s
 
-(W illegalproto) A character follows % or @ in a prototype. This is useless,
-since % and @ gobble the rest of the subroutine arguments.
+(W illegalproto) A character follows % or @ in a prototype.  This is
+useless, since % and @ gobble the rest of the subroutine arguments.
 
 =item Prototype mismatch: %s vs %s
 
@@ -3868,19 +4316,25 @@
 case of that character is not in Latin1, in that locale it doesn't
 change when upper cased.
 
+=item Quantifier {n,m} with n > m can't match in regex
+
+(W regexp) Minima should be less than or equal to maxima.  If you really
+want your regexp to match something 0 times, just put {0}.
+
 =item Quantifier follows nothing in regex; marked by <-- HERE in m/%s/
 
-(F) You started a regular expression with a quantifier. Backslash it if you
-meant it literally. The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+(F) You started a regular expression with a quantifier.  Backslash it if
+you meant it literally.  The <-- HERE shows whereabouts in the regular
+expression the problem was discovered.  See L<perlre>.
 
 =item Quantifier in {,} bigger than %d in regex; marked by <-- HERE in m/%s/
 
-(F) There is currently a limit to the size of the min and max values of the
-{min,max} construct. The <-- HERE shows in the regular expression about where
-the problem was discovered. See L<perlre>.
+(F) There is currently a limit to the size of the min and max values of
+the {min,max} construct.  The <-- HERE shows whereabouts in the regular
+expression the problem was discovered.  See L<perlre>.
 
-=item Quantifier unexpected on zero-length expression; marked by <-- HERE in m/%s/
+=item Quantifier unexpected on zero-length expression in regex; marked by <-- 
+HERE in m/%s/
 
 (W regexp) You applied a regular expression quantifier in a place where
 it makes no sense, such as on a zero-width assertion.  Try putting the
@@ -3888,9 +4342,14 @@
 "abc" provided that it is followed by three repetitions of "xyz" is
 C</abc(?=(?:xyz){3})/>, not C</abc(?=xyz){3}/>.
 
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
+=item Quantifier {n,m} with n > m can't match in regex; marked by <-- HERE in m/%s/
+
+(W regexp) Minima should be less than or equal to maxima.  If you really
+want your regexp to match something 0 times, just put {0}.
+
 =item Range iterator outside integer range
 
 (F) One (or both) of the numeric arguments to the range operator ".."
@@ -3927,10 +4386,17 @@
 
 =item Recompile perl with B<-D>DEBUGGING to use B<-D> switch
 
-(F debugging) You can't use the B<-D> option unless the code to produce
+(S debugging) You can't use the B<-D> option unless the code to produce
 the desired output is compiled into Perl, which entails some overhead,
 which is why it's currently left out of your copy.
 
+=item Recursive call to Perl_load_module in PerlIO_find_layer
+
+(P) It is currently not permitted to load modules when creating
+a filehandle inside an %INC hook.  This can happen with C<open my
+$fh, '<', \$scalar>, which implicitly loads PerlIO::scalar.  Try
+loading PerlIO::scalar explicitly first.
+
 =item Recursive inheritance detected in package '%s'
 
 (F) While calculating the method resolution order (MRO) of a package, Perl
@@ -3943,15 +4409,15 @@
 
 =item refcnt_inc: fd %d%s
 
-(P) Perl's I/O implementation failed an internal consistency check. If
+(P) Perl's I/O implementation failed an internal consistency check.  If
 you see this message, something is very wrong.
 
 =item Reference found where even-sized list expected
 
 (W misc) You gave a single reference where Perl was expecting a list
-with an even number of elements (for assignment to a hash). This usually
-means that you used the anon hash constructor when you meant to use
-parens. In any case, a hash requires key/value B<pairs>.
+with an even number of elements (for assignment to a hash).  This
+usually means that you used the anon hash constructor when you meant
+to use parens.  In any case, a hash requires key/value B<pairs>.
 
     %hash = { one => 1, two => 2, };	# WRONG
     %hash = [ qw/ an anon array / ];	# WRONG
@@ -3963,26 +4429,21 @@
 (W misc) You have attempted to weaken a reference that is already weak.
 Doing so has no effect.
 
-=item Reference miscount in sv_replace()
+=item Reference to invalid group 0 in regex; marked by <-- HERE in m/%s/
 
-(W internal) The internal sv_replace() function was handed a new SV with
-a reference count other than 1.
+(F) You used C<\g0> or similar in a regular expression.  You may refer
+to capturing parentheses only with strictly positive integers
+(normal backreferences) or with strictly negative integers (relative
+backreferences).  Using 0 does not make sense.
 
-=item Reference to invalid group 0
-
-(F) You used C<\g0> or similar in a regular expression. You may refer to
-capturing parentheses only with strictly positive integers (normal
-backreferences) or with strictly negative integers (relative
-backreferences). Using 0 does not make sense.
-
 =item Reference to nonexistent group in regex; marked by <-- HERE in m/%s/
 
 (F) You used something like C<\7> in your regular expression, but there are
-not at least seven sets of capturing parentheses in the expression. If
+not at least seven sets of capturing parentheses in the expression.  If
 you wanted to have the character with ordinal 7 inserted into the regular
 expression, prepend zeroes to make it three digits long: C<\007>
 
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
 =item Reference to nonexistent named group in regex; marked by <-- HERE in m/%s/
@@ -3989,19 +4450,20 @@
 
 (F) You used something like C<\k'NAME'> or C<< \k<NAME> >> in your regular
 expression, but there is no corresponding named capturing parentheses
-such as C<(?'NAME'...)> or C<< (?<NAME>...) >>. Check if the name has been
+such as C<(?'NAME'...)> or C<< (?<NAME>...) >>.  Check if the name has been
 spelled correctly both in the backreference and the declaration.
 
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
-=item Reference to nonexistent or unclosed group in regex; marked by <-- HERE in m/%s/
+=item Reference to nonexistent or unclosed group in regex; marked by <-- HERE 
+in m/%s/
 
 (F) You used something like C<\g{-7}> in your regular expression, but there
 are not at least seven sets of closed capturing parentheses in the
 expression before where the C<\g{-7}> was located.
 
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.
 
 =item regexp memory corruption
@@ -4016,10 +4478,11 @@
 (F syntax, regexp) The regular expression pattern had too many occurrences
 of the specified modifier.  Remove the extraneous ones.
 
-=item Regexp modifier "%c" may not appear after the "-"
+=item Regexp modifier "%c" may not appear after the "-" in regex; marked by <-- 
+HERE in m/%s/
 
-(F regexp) Turning off the given modifier has the side effect of turning
-on another one.  Perl currently doesn't allow this.  Reword the regular
+(F) Turning off the given modifier has the side effect of turning on
+another one.  Perl currently doesn't allow this.  Reword the regular
 expression to use the modifier you want to turn on (and place it before
 the minus), instead of the one you want to turn off.
 
@@ -4029,7 +4492,7 @@
 mutually exclusive modifiers.  Retain only the modifier that is
 supposed to be there.
 
-=item Regexp out of space
+=item Regexp out of space in regex m/%s/
 
 (P) A "can't happen" error, because safemalloc() should have caught it
 earlier.
@@ -4038,14 +4501,23 @@
 
 (F) Your format contains the ~~ repeat-until-blank sequence and a
 numeric field that will never go blank so that the repetition never
-terminates. You might use ^# instead.  See L<perlform>.
+terminates.  You might use ^# instead.  See L<perlform>.
 
 =item Replacement list is longer than search list
 
 (W misc) You have used a replacement list that is longer than the
-search list. So the additional elements in the replacement list
+search list.  So the additional elements in the replacement list
 are meaningless.
 
+=item '%s' resolved to '\o{%s}%d'
+
+(W misc, regexp)  You wrote something like C<\08>, or C<\179> in a
+double-quotish string.  All but the last digit is treated as a single
+character, specified in octal.  The last digit is the next character in
+the string.  To tell Perl that this is indeed what you want, you can use
+the C<\o{ }> syntax, or use exactly three digits to specify the octal
+for the character.
+
 =item Reversed %s= operator
 
 (W syntax) You wrote your assignment operator backwards.  The = must
@@ -4058,10 +4530,11 @@
 
 =item Scalars leaked: %d
 
-(P) Something went wrong in Perl's internal bookkeeping of scalars:
-not all scalar variables were deallocated by the time Perl exited.
-What this usually indicates is a memory leak, which is of course bad,
-especially if the Perl program is intended to be long-running.
+(S internal) Something went wrong in Perl's internal bookkeeping
+of scalars: not all scalar variables were deallocated by the time
+Perl exited.  What this usually indicates is a memory leak, which
+is of course bad, especially if the Perl program is intended to be
+long-running.
 
 =item Scalar value @%s[%s] better written as $%s[%s]
 
@@ -4111,7 +4584,7 @@
 
 The question mark is also used as part of the ternary operator (as in
 C<foo ? 0 : 1>) leading to some ambiguous constructions being wrongly
-parsed. One way to disambiguate the parsing is to put parentheses around
+parsed.  One way to disambiguate the parsing is to put parentheses around
 the conditional expression, i.e. C<(foo) ? 0 : 1>.
 
 =item seekdir() attempted on invalid dirhandle %s
@@ -4154,20 +4627,20 @@
 
 =item Sequence (? incomplete in regex; marked by <-- HERE in m/%s/
 
-(F) A regular expression ended with an incomplete extension (?. The <-- HERE
-shows in the regular expression about where the problem was discovered. See
-L<perlre>.
+(F) A regular expression ended with an incomplete extension (?.  The
+<-- HERE shows whereabouts in the regular expression the problem was
+discovered.  See L<perlre>.
 
 =item Sequence (?%s...) not implemented in regex; marked by <-- HERE in m/%s/
 
-(F) A proposed regular expression extension has the character reserved but
-has not yet been written. The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+(F) A proposed regular expression extension has the character reserved
+but has not yet been written.  The <-- HERE shows whereabouts in the
+regular expression the problem was discovered.  See L<perlre>.
 
 =item Sequence (?%s...) not recognized in regex; marked by <-- HERE in m/%s/
 
 (F) You used a regular expression extension that doesn't make sense.  The
-<-- HERE shows in the regular expression about where the problem was
+<-- HERE shows whereabouts in the regular expression the problem was
 discovered.  This happens when using the C<(?^...)> construct to tell
 Perl to use the default regular expression modifiers, and you
 redundantly specify a default modifier.  For other
@@ -4178,19 +4651,16 @@
 (F) The regular expression expects a mandatory argument following the escape
 sequence and this has been omitted or incorrectly written.
 
-=item Sequence (?#... not terminated in regex; marked by <-- HERE in m/%s/
+=item Sequence (?#... not terminated in regex m/%s/
 
 (F) A regular expression comment must be terminated by a closing
-parenthesis.  Embedded parentheses aren't allowed.  The <-- HERE shows in
-the regular expression about where the problem was discovered. See
+parenthesis.  Embedded parentheses aren't allowed.  See
 L<perlre>.
 
-=item Sequence (?{...}) not terminated or not {}-balanced in regex; marked by <-- HERE in m/%s/
+=item Sequence (?{...}) not terminated with ')'
 
-(F) If the contents of a (?{...}) clause contain braces, they must balance
-for Perl to detect the end of the clause properly. The <-- HERE shows in
-the regular expression about where the problem was discovered. See
-L<perlre>.
+(F) The end of the perl code contained within the {...} must be
+followed immediately by a ')'.
 
 =item Z<>500 Server error
 
@@ -4198,21 +4668,21 @@
 
 =item Server error
 
-(A) This is the error message generally seen in a browser window when trying
-to run a CGI program (including SSI) over the web. The actual error text
-varies widely from server to server. The most frequently-seen variants
-are "500 Server error", "Method (something) not permitted", "Document
-contains no data", "Premature end of script headers", and "Did not
-produce a valid header".
+(A) This is the error message generally seen in a browser window
+when trying to run a CGI program (including SSI) over the web.  The
+actual error text varies widely from server to server.  The most
+frequently-seen variants are "500 Server error", "Method (something)
+not permitted", "Document contains no data", "Premature end of script
+headers", and "Did not produce a valid header".
 
 B<This is a CGI error, not a Perl error>.
 
-You need to make sure your script is executable, is accessible by the
-user CGI is running the script under (which is probably not the user
-account you tested it under), does not rely on any environment variables
-(like PATH) from the user it isn't running under, and isn't in a
-location where the CGI server can't find it, basically, more or less.
-Please see the following for more information:
+You need to make sure your script is executable, is accessible by
+the user CGI is running the script under (which is probably not the
+user account you tested it under), does not rely on any environment
+variables (like PATH) from the user it isn't running under, and isn't
+in a location where the CGI server can't find it, basically, more or
+less.  Please see the following for more information:
 
 	http://www.perl.org/CGI_MetaFAQ.html
 	http://www.htmlhelp.org/faq/cgifaq.html
@@ -4288,6 +4758,27 @@
 (W signal) The signal handler named in %SIG doesn't, in fact, exist.
 Perhaps you put it into the wrong package?
 
+=item Slab leaked from cv %p
+
+(S) If you see this message, then something is seriously wrong with the
+internal bookkeeping of op trees.  An op tree needed to be freed after
+a compilation error, but could not be found, so it was leaked instead.
+
+=item sleep(%u) too large
+
+(W overflow) You called C<sleep> with a number that was larger than
+it can reliably handle and C<sleep> probably slept for less time than
+requested.
+
+=item Smartmatch is experimental
+
+(S experimental::smartmatch) This warning is emitted if you
+use the smartmatch (C<~~>) operator.  This is currently an experimental
+feature, and its details are subject to change in future releases of
+Perl.  Particularly, its current behavior is noticed for being
+unnecessarily complex and unintuitive, and is very likely to be
+overhauled.
+
 =item Smart matching a non-overloaded object breaks encapsulation
 
 (F) You should not use the C<~~> operator on an object that does not
@@ -4301,22 +4792,29 @@
 
 =item Sort subroutine didn't return single value
 
-(F) A sort comparison subroutine may not return a list value with more
-or less than one element.  See L<perlfunc/sort>.
+(F) A sort comparison subroutine written in XS must return exactly one
+item.  See L<perlfunc/sort>.
 
+=item Source filters apply only to byte streams
+
+(F) You tried to activate a source filter (usually by loading a
+source filter module) within a string passed to C<eval>.  This is
+not permitted under the C<unicode_eval> feature.  Consider using
+C<evalbytes> instead.  See L<feature>.
+
 =item splice() offset past end of array
 
 (W misc) You attempted to specify an offset that was past the end of
-the array passed to splice(). Splicing will instead commence at the end
-of the array, rather than past it. If this isn't what you want, try
-explicitly pre-extending the array by assigning $#array = $offset. See
-L<perlfunc/splice>.
+the array passed to splice().  Splicing will instead commence at the
+end of the array, rather than past it.  If this isn't what you want,
+try explicitly pre-extending the array by assigning $#array = $offset.
+See L<perlfunc/splice>.
 
 =item Split loop
 
 (P) The split was looping infinitely.  (Obviously, a split shouldn't
 iterate more times than there are characters of input, which is what
-happened.) See L<perlfunc/split>.
+happened.)  See L<perlfunc/split>.
 
 =item Statement unlikely to be reached
 
@@ -4332,6 +4830,14 @@
 sense to try to declare one with a package qualifier on the front.  Use
 local() if you want to localize a package variable.
 
+=item "state %s" used in sort comparison
+
+(W syntax) The package variables $a and $b are used for sort comparisons.
+You used $a or $b in as an operand to the C<< <=> >> or C<cmp> operator inside a
+sort comparison block, and the variable had earlier been declared as a
+lexical variable.  Either qualify the sort variable with the package
+name, or rename the lexical variable.
+
 =item stat() on unopened filehandle %s
 
 (W unopened) You tried to use the stat() function on a filehandle that
@@ -4343,6 +4849,44 @@
 stubs.  Stubs should never be implicitly created, but explicit calls to
 C<can> may break this.
 
+=item Subroutine "&%s" is not available
+
+(W closure) During compilation, an inner named subroutine or eval is
+attempting to capture an outer lexical subroutine that is not currently
+available.  This can happen for one of two reasons.  First, the lexical
+subroutine may be declared in an outer anonymous subroutine that has not
+yet been created.  (Remember that named subs are created at compile time,
+while anonymous subs are created at run-time.)  For example,
+
+    sub { my sub a {...} sub f { \&a } }
+
+At the time that f is created, it can't capture the current the "a" sub,
+since the anonymous subroutine hasn't been created yet.  Conversely, the
+following won't give a warning since the anonymous subroutine has by now
+been created and is live:
+
+    sub { my sub a {...} eval 'sub f { \&a }' }->();
+
+The second situation is caused by an eval accessing a variable that has
+gone out of scope, for example,
+
+    sub f {
+	my sub a {...}
+	sub { eval '\&a' }
+    }
+    f()->();
+
+Here, when the '\&a' in the eval is being compiled, f() is not currently
+being executed, so its &a is not available for capture.
+
+=item "%s" subroutine &%s masks earlier declaration in same %s
+
+(W misc) A "my" or "state" subroutine has been redeclared in the
+current scope or statement, effectively eliminating all access to
+the previous instance.  This is almost always a typographical error.
+Note that the earlier subroutine will still exist until the end of
+the scope or until all closure references to it are destroyed.
+
 =item Subroutine %s redefined
 
 (W redefine) You redefined a subroutine.  To suppress this warning, say
@@ -4373,7 +4917,7 @@
 
 =item substr outside of string
 
-(W substr),(F) You tried to reference a substr() that pointed outside of
+(W substr)(F) You tried to reference a substr() that pointed outside of
 a string.  That is, the absolute value of the offset was larger than the
 length of the string.  See L<perlfunc/substr>.  This warning is fatal if
 substr is used in an lvalue context (as the left hand side of an
@@ -4384,23 +4928,24 @@
 (P) Perl tried to force the upgrade of an SV to a type which was actually
 inferior to its current type.
 
-=item Switch (?(condition)... contains too many branches in regex; marked by <-- HERE in m/%s/
+=item Switch (?(condition)... contains too many branches in regex; marked by 
+<-- HERE in m/%s/
 
-(F) A (?(condition)if-clause|else-clause) construct can have at most two
-branches (the if-clause and the else-clause). If you want one or both to
-contain alternation, such as using C<this|that|other>, enclose it in
-clustering parentheses:
+(F) A (?(condition)if-clause|else-clause) construct can have at most
+two branches (the if-clause and the else-clause).  If you want one or
+both to contain alternation, such as using C<this|that|other>, enclose
+it in clustering parentheses:
 
     (?(condition)(?:this|that|other)|else-clause)
 
-The <-- HERE shows in the regular expression about where the problem was
-discovered. See L<perlre>.
+The <-- HERE shows whereabouts in the regular expression the problem
+was discovered.  See L<perlre>.
 
 =item Switch condition not recognized in regex; marked by <-- HERE in m/%s/
 
 (F) If the argument to the (?(...)if-clause|else-clause) construct is
-a number, it can be only a number. The <-- HERE shows in the regular
-expression about where the problem was discovered. See L<perlre>.
+a number, it can be only a number.  The <-- HERE shows whereabouts in
+the regular expression the problem was discovered.  See L<perlre>.
 
 =item switching effective %s is not implemented
 
@@ -4430,10 +4975,9 @@
 Occasionally the line number may be misleading, and once in a blue moon
 the only way to figure out what's triggering the error is to call
 C<perl -c> repeatedly, chopping away half the program each time to see
-if the error went away.  Sort of the cybernetic version of S<20
-questions>.
+if the error went away.  Sort of the cybernetic version of S<20 questions>.
 
-=item syntax error at line %d: `%s' unexpected
+=item syntax error at line %d: '%s' unexpected
 
 (A) You've accidentally run your script through the Bourne shell instead
 of Perl.  Check the #! line, or manually feed your script into Perl
@@ -4453,6 +4997,12 @@
 
 (W unopened) You tried to read from a filehandle that was never opened.
 
+=item Syntax error in (?[...]) in regex m/%s/
+
+(F)
+Perl could not figure out what you meant inside this construct; this
+notifies you that it is giving up trying.
+
 =item System V %s is not implemented on this machine
 
 (F) You tried to do something with a function beginning with "sem",
@@ -4498,9 +5048,9 @@
     ...
 
 This is to prevent the problem of one module changing the array base out
-from under another module inadvertently.  See L<perlvar/$[>.
+from under another module inadvertently.  See L<perlvar/$[> and L<arybase>.
 
-=item The crypt() function is unimplemented due to excessive paranoia
+=item The crypt() function is unimplemented due to excessive paranoia.
 
 (F) Configure couldn't find the crypt() function on your machine,
 probably because your vendor didn't supply it, probably because they
@@ -4508,6 +5058,41 @@
 will continue to pretend that it is.  And if you quote me on that, I
 will deny it.
 
+=item The lexical_subs feature is experimental
+
+(S experimental::lexical_subs) This warning is emitted if you
+declare a sub with C<my> or C<state>.  Simply suppress the warning
+if you want to use the feature, but know that in doing so you
+are taking the risk of using an experimental feature which may
+change or be removed in a future Perl version:
+
+    no warnings "experimental::lexical_subs";
+    use feature "lexical_subs";
+    my sub foo { ... }
+
+=item The regex_sets feature is experimental
+
+(S experimental::regex_sets) This warning is emitted if you
+use the syntax S<C<(?[   ])>> in a regular expression.
+The details of this feature are subject to change.
+if you want to use it, but know that in doing so you
+are taking the risk of using an experimental feature which may
+change in a future Perl version, you can do this to silence the
+warning:
+
+    no warnings "experimental::regex_sets";
+
+=item The %s feature is experimental
+
+(S experimental) This warning is emitted if you enable an experimental
+feature via C<use feature>.  Simply suppress the warning if you want
+to use the feature, but know that in doing so you are taking the risk
+of using an experimental feature which may change or be removed in a
+future Perl version:
+
+    no warnings "experimental::lexical_subs";
+    use feature "lexical_subs";
+
 =item The %s function is unimplemented
 
 (F) The function indicated isn't implemented on this architecture, according
@@ -4536,6 +5121,14 @@
 target of the change to
 %ENV which produced the warning.
 
+=item This Perl has not been built with support for randomized hash key traversal but something called Perl_hv_rand_set().
+
+(F) Something has attempted to use an internal API call which
+depends on Perl being compiled with the default support for randomized hash
+key traversal, but this Perl has been compiled without it. You should
+report this warning to the relevant upstream party, or recompile perl
+with default options.
+
 =item thread failed to start: %s
 
 (W threads)(S) The entry point function of threads->create() failed for some reason.
@@ -4547,16 +5140,16 @@
 
 =item "-T" is on the #! line, it must also be used on the command line
 
-(X) The #! line (or local equivalent) in a Perl script contains the
-B<-T> option (or the B<-t> option), but Perl was not invoked with B<-T> in its command line.
-This is an error because, by the time Perl discovers a B<-T> in a
-script, it's too late to properly taint everything from the environment.
-So Perl gives up.
+(X) The #! line (or local equivalent) in a Perl script contains
+the B<-T> option (or the B<-t> option), but Perl was not invoked with
+B<-T> in its command line.  This is an error because, by the time
+Perl discovers a B<-T> in a script, it's too late to properly taint
+everything from the environment.  So Perl gives up.
 
 If the Perl script is being executed as a command using the #!
-mechanism (or its local equivalent), this error can usually be fixed by
-editing the #! line so that the B<-%c> option is a part of Perl's first
-argument: e.g. change C<perl -n -%c> to C<perl -%c -n>.
+mechanism (or its local equivalent), this error can usually be
+fixed by editing the #! line so that the B<-%c> option is a part of
+Perl's first argument: e.g. change C<perl -n -%c> to C<perl -%c -n>.
 
 If the Perl script is being executed as C<perl scriptname>, then the
 B<-%c> option must appear on the command line: C<perl -%c scriptname>.
@@ -4582,13 +5175,14 @@
 (X) The #! line (or local equivalent) in a Perl script contains the
 B<-M>, B<-m> or B<-C> option.
 
-In the case of B<-M> and B<-m>, this is an error because those options are
-not intended for use inside scripts.  Use the C<use> pragma instead.
+In the case of B<-M> and B<-m>, this is an error because those options
+are not intended for use inside scripts.  Use the C<use> pragma instead.
 
-The B<-C> option only works if it is specified on the command line as well
-(with the same sequence of letters or numbers following). Either specify
-this option on the command line, or, if your system supports it, make your
-script executable and run it directly instead of passing it to perl. 
+The B<-C> option only works if it is specified on the command line as
+well (with the same sequence of letters or numbers following).  Either
+specify this option on the command line, or, if your system supports
+it, make your script executable and run it directly instead of passing
+it to perl.
 
 =item Too late to run %s block
 
@@ -4621,6 +5215,14 @@
 (F) The regular expression ends with an unbackslashed backslash.
 Backslash it.   See L<perlre>.
 
+=item Trailing white-space in a charnames alias definition is deprecated
+
+(D) You defined a character name which ended in a space character.
+Remove the trailing space(s).  Usually these names are defined in the
+C<:alias> import argument to C<use charnames>, but they could be defined
+by a translator installed into C<$^H{charnames}>.
+See L<charnames/CUSTOM ALIASES>.
+
 =item Transliteration pattern not terminated
 
 (F) The lexer couldn't find the interior delimiter of a tr/// or tr[][]
@@ -4635,7 +5237,7 @@
 =item '%s' trapped by operation mask
 
 (F) You tried to use an operator from a Safe compartment in which it's
-disallowed. See L<Safe>.
+disallowed.  See L<Safe>.
 
 =item truncate not implemented
 
@@ -4642,6 +5244,13 @@
 (F) Your machine doesn't implement a file truncation mechanism that
 Configure knows about.
 
+=item Type of arg %d to &CORE::%s must be %s
+
+(F) The subroutine in question in the CORE package requires its argument
+to be a hard reference to data of the specified type.  Overloading is
+ignored, so a reference to an object that is not the specified type, but
+nonetheless has overloading to handle it, will still not be accepted.
+
 =item Type of arg %d to %s must be %s (not %s)
 
 (F) This function requires the argument in that position to be of a
@@ -4659,28 +5268,30 @@
 (F) Your machine doesn't implement the umask function and you tried to
 use it to restrict permissions for yourself (EXPR & 0700).
 
-=item Unable to create sub named "%s"
-
-(F) You attempted to create or access a subroutine with an illegal name.
-
 =item Unbalanced context: %d more PUSHes than POPs
 
-(W internal) The exit code detected an internal inconsistency in how
+(S internal) The exit code detected an internal inconsistency in how
 many execution contexts were entered and left.
 
 =item Unbalanced saves: %d more saves than restores
 
-(W internal) The exit code detected an internal inconsistency in how
+(S internal) The exit code detected an internal inconsistency in how
 many values were temporarily localized.
 
 =item Unbalanced scopes: %d more ENTERs than LEAVEs
 
-(W internal) The exit code detected an internal inconsistency in how
+(S internal) The exit code detected an internal inconsistency in how
 many blocks were entered and left.
 
+=item Unbalanced string table refcount: (%d) for "%s"
+
+(S internal) On exit, Perl found some strings remaining in the shared
+string table used for copy on write and for hash keys.  The entries
+should have been freed, so this indicates a bug somewhere.
+
 =item Unbalanced tmps: %d more allocs than frees
 
-(W internal) The exit code detected an internal inconsistency in how
+(S internal) The exit code detected an internal inconsistency in how
 many mortal scalars were allocated and freed.
 
 =item Undefined format "%s" called
@@ -4729,18 +5340,69 @@
 (F) The unexec() routine failed for some reason.  See your local FSF
 representative, who probably put it there in the first place.
 
+=item Unexpected '(' with no preceding operator in regex; marked by <-- HERE in m/%s/
+
+(F)
+You had something like this:
+
+ (?[ \p{Digit} ( \p{Lao} + \p{Thai} ) ])
+
+There should be an operator before the C<"(">, as there's no indication
+as to how the digits are to be combined with the characters in the Lao
+and Thai scripts.
+
+=item Unexpected ')' in regex; marked by <-- HERE in m/%s/
+
+(F)
+You had something like this:
+
+ (?[ ( \p{Digit} + ) ])
+
+The C<")"> is out-of-place.  Something apparently was supposed to be
+combined with the digits, or the C<"+"> shouldn't be there, or something
+like that.  Perl can't figure out what was intended.
+
+=item Unexpected binary operator '%c' with no preceding operand in regex; marked by <-- HERE in m/%s/
+
+(F)
+You had something like this:
+
+ (?[ | \p{Digit} ])
+
+where the C<"|"> is a binary operator with an operand on the right, but
+no operand on the left.
+
+=item Unexpected character in regex; marked by <-- HERE in m/%s/
+
+(F)
+You had something like this:
+
+ (?[ z ])
+
+Within C<(?[ ])>, no literal characters are allowed unless they are
+within an inner pair of square brackets, like
+
+ (?[ [ z ] ])
+
+Another possibility is that you forgot a backslash.  Perl isn't smart
+enough to figure out what you really meant.
+
+=item Unexpected constant lvalue entersub entry via type/targ %d:%d
+
+(P) When compiling a subroutine call in lvalue context, Perl failed an
+internal consistency check.  It encountered a malformed op tree.
+
 =item Unicode non-character U+%X is illegal for open interchange
 
-(W utf8, nonchar) Certain codepoints, such as U+FFFE and U+FFFF, are
-defined by the
-Unicode standard to be non-characters. Those are legal codepoints, but are
-reserved for internal use; so, applications shouldn't attempt to exchange
-them.  If you know what you are doing you can turn
-off this warning by C<no warnings 'nonchar';>.
+(S utf8, nonchar) Certain codepoints, such as U+FFFE and U+FFFF, are
+defined by the Unicode standard to be non-characters.  Those are
+legal codepoints, but are reserved for internal use; so, applications
+shouldn't attempt to exchange them.  If you know what you are doing
+you can turn off this warning by C<no warnings 'nonchar';>.
 
 =item Unicode surrogate U+%X is illegal in UTF-8
 
-(W utf8, surrogate) You had a UTF-16 surrogate in a context where they are
+(S utf8, surrogate) You had a UTF-16 surrogate in a context where they are
 not considered acceptable.  These code points, between U+D800 and
 U+DFFF (inclusive), are used by Unicode only for UTF-16.  However, Perl
 internally allows all unsigned integer code points (up to the size limit
@@ -4754,6 +5416,21 @@
 (F) There are no byte-swapping functions for a machine with this byte
 order.
 
+=item Unknown charname '%s'
+
+(F) The name you used inside C<\N{}> is unknown to Perl.  Check the
+spelling.  You can say C<use charnames ":loose"> to not have to be
+so precise about spaces, hyphens, and capitalization on standard Unicode
+names.  (Any custom aliases that have been created must be specified
+exactly, regardless of whether C<:loose> is used or not.)  This error may
+also happen if the C<\N{}> is not in the scope of the corresponding
+C<S<use charnames>>.
+
+=item Unknown error
+
+(P) Perl was about to print an error message in C<$@>, but the C<$@> variable
+did not exist, even after an attempt to create it.
+
 =item Unknown open() mode '%s'
 
 (F) The second argument of 3-argument open() is not among the list
@@ -4780,22 +5457,37 @@
 
 (W) You tried to use an unknown subpragma of the "re" pragma.
 
+=item Unknown regex modifier "%s"
+
+(F) Alphanumerics immediately following the closing delimiter
+of a regular expression pattern are interpreted by Perl as modifier
+flags for the regex.  One of the ones you specified is invalid.  One way
+this can happen is if you didn't put in white space between the end of
+the regex and a following alphanumeric operator:
+
+ if ($a =~ /foo/and $bar == 3) { ... }
+
+The C<"a"> is a valid modifier flag, but the C<"n"> is not, and raises
+this error.  Likely what was meant instead was:
+
+ if ($a =~ /foo/ and $bar == 3) { ... }
+
 =item Unknown switch condition (?(%s in regex; marked by <-- HERE in m/%s/
 
 (F) The condition part of a (?(condition)if-clause|else-clause) construct
-is not known. The condition must be one of the following:
+is not known.  The condition must be one of the following:
 
-  (1) (2) ...        true if 1st, 2nd, etc., capture matched
-  (<NAME>) ('NAME')  true if named capture matched
-  (?=...) (?<=...)   true if subpattern matches
-  (?!...) (?<!...)   true if subpattern fails to match
-  (?{ CODE })        true if code returns a true value
-  (R)                true if evaluating inside recursion
-  (R1) (R2) ...      true if directly inside capture group 1, 2, etc.
-  (R&NAME)           true if directly inside named capture
-  (DEFINE)           always false; for defining named subpatterns
+ (1) (2) ...        true if 1st, 2nd, etc., capture matched
+ (<NAME>) ('NAME')  true if named capture matched
+ (?=...) (?<=...)   true if subpattern matches
+ (?!...) (?<!...)   true if subpattern fails to match
+ (?{ CODE })        true if code returns a true value
+ (R)                true if evaluating inside recursion
+ (R1) (R2) ...      true if directly inside capture group 1, 2, etc.
+ (R&NAME)           true if directly inside named capture
+ (DEFINE)           always false; for defining named subpatterns
 
-The <-- HERE shows in the regular expression about where the problem was
+The <-- HERE shows whereabouts in the regular expression the problem was
 discovered.  See L<perlre>.
 
 =item Unknown Unicode option letter '%c'
@@ -4816,7 +5508,7 @@
 
 =item Unknown warnings category '%s'
 
-(F) An error issued by the C<warnings> pragma. You specified a warnings
+(F) An error issued by the C<warnings> pragma.  You specified a warnings
 category that is unknown to perl at this point.
 
 Note that if you want to enable a warnings category registered by a
@@ -4823,19 +5515,42 @@
 module (e.g. C<use warnings 'File::Find'>), you must have loaded this
 module first.
 
-=item unmatched [ in regex; marked by <-- HERE in m/%s/
+=item Unmatched '%c' in POSIX class in regex; marked by <-- HERE in m/%s/
 
-(F) The brackets around a character class must match. If you wish to
+You had something like this:
+
+ (?[ [:alnum] ])
+
+There should be a second C<":">, like this:
+
+ (?[ [:alnum:] ])
+
+=item Unmatched [ in regex; marked by <-- HERE in m/%s/
+
+(F) The brackets around a character class must match.  If you wish to
 include a closing bracket in a character class, backslash it or put it
-first. The <-- HERE shows in the regular expression about where the problem
-was discovered. See L<perlre>.
+first.  The <-- HERE shows whereabouts in the regular expression the
+problem was discovered.  See L<perlre>.
 
-=item unmatched ( in regex; marked by <-- HERE in m/%s/
+=item Unmatched '[' in POSIX class in regex; marked by <-- HERE in m/%s/
 
+(F)
+You had something like this:
+
+ (?[ [:digit: ])
+
+That should be written:
+
+ (?[ [:digit:] ])
+
+=item Unmatched ( in regex; marked by <-- HERE in m/%s/
+
+=item Unmatched ) in regex; marked by <-- HERE in m/%s/
+
 (F) Unbackslashed parentheses must always be balanced in regular
-expressions. If you're a vi user, the % key is valuable for finding the
-matching parenthesis. The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+expressions.  If you're a vi user, the % key is valuable for finding
+the matching parenthesis.  The <-- HERE shows whereabouts in the
+regular expression the problem was discovered.  See L<perlre>.
 
 =item Unmatched right %s bracket
 
@@ -4857,12 +5572,20 @@
 in your Perl script (or eval) near the specified column.  Perhaps you tried 
 to run a compressed script, a binary program, or a directory as a Perl program.
 
-=item Unrecognized escape \%c in character class passed through in regex; marked by <-- HERE in m/%s/
+=item Unrecognized escape \%c in character class in regex; marked by <-- HERE in m/%s/
 
+(F)
+You used a backslash-character combination which is not recognized by
+Perl inside character classes.  This is a fatal error when the character
+class is used within C<(?[ ])>.
+
+=item Unrecognized escape \%c in character class passed through in regex; 
+marked by <-- HERE in m/%s/
+
 (W regexp) You used a backslash-character combination which is not
 recognized by Perl inside character classes.  The character was
 understood literally, but this may change in a future version of Perl.
-The <-- HERE shows in the regular expression about where the
+The <-- HERE shows whereabouts in the regular expression the
 escape was discovered.
 
 =item Unrecognized escape \%c passed through
@@ -4874,10 +5597,9 @@
 =item Unrecognized escape \%s passed through in regex; marked by <-- HERE in m/%s/
 
 (W regexp) You used a backslash-character combination which is not
-recognized by Perl.  The character(s) were understood literally, but this may
-change in a future version of Perl.
-The <-- HERE shows in the regular expression about where the
-escape was discovered.
+recognized by Perl.  The character(s) were understood literally, but
+this may change in a future version of Perl.  The <-- HERE shows
+whereabouts in the regular expression the escape was discovered.
 
 =item Unrecognized signal name "%s"
 
@@ -4911,7 +5633,7 @@
 (F) Your version of executable does not support forking.
 
 Note that under some systems, like OS/2, there may be different flavors
-of Perl executables, some of which may support fork, some not. Try
+of Perl executables, some of which may support fork, some not.  Try
 changing the name you call Perl by to C<perl_>, C<perl__>, and so on.
 
 =item Unsupported script encoding %s
@@ -4944,10 +5666,22 @@
 compressed integer format and could not be converted to an integer.
 See L<perlfunc/pack>.
 
+=item Unterminated delimiter for here document
+
+(F) This message occurs when a here document label has an initial
+quotation mark but the final quotation mark is missing.  Perhaps
+you wrote:
+
+    <<"foo
+
+instead of:
+
+    <<"foo"
+
 =item Unterminated \g{...} pattern in regex; marked by <-- HERE in m/%s/
 
 (F) You missed a close brace on a \g{..} pattern (group reference) in
-a regular expression. Fix the pattern and retry.
+a regular expression.  Fix the pattern and retry.
 
 =item Unterminated <> operator
 
@@ -4959,12 +5693,12 @@
 =item Unterminated verb pattern argument in regex; marked by <-- HERE in m/%s/
 
 (F) You used a pattern of the form C<(*VERB:ARG)> but did not terminate
-the pattern with a C<)>. Fix the pattern and retry.
+the pattern with a C<)>.  Fix the pattern and retry.
 
 =item Unterminated verb pattern in regex; marked by <-- HERE in m/%s/
 
 (F) You used a pattern of the form C<(*VERB)> but did not terminate
-the pattern with a C<)>. Fix the pattern and retry.
+the pattern with a C<)>.  Fix the pattern and retry.
 
 =item untie attempted while %d inner references still exist
 
@@ -4981,8 +5715,49 @@
 (F) You called a Win32 function with incorrect arguments.
 See L<Win32> for more information.
 
-=item Useless (?-%s) - don't use /%s modifier in regex; marked by <-- HERE in m/%s/
+=item $[ used in %s (did you mean $] ?)
 
+(W syntax) You used C<$[> in a comparison, such as:
+
+    if ($[ > 5.006) {
+	...
+    }
+
+You probably meant to use C<$]> instead.  C<$[> is the base for indexing
+arrays.  C<$]> is the Perl version number in decimal.
+
+=item Use \\x{...} for more than two hex characters in regex; marked by <-- HERE in m/%s/
+
+(F)
+In a regular expression, you said something like
+
+ (?[ [ \xBEEF ] ])
+
+Perl isn't sure if you meant this
+
+ (?[ [ \x{BEEF} ] ])
+
+or if you meant this
+
+ (?[ [ \x{BE} E F ] ])
+
+You need to add either braces or blanks to disambiguate.
+
+=item Use of each() on hash after insertion without resetting hash iterator results in undefined behavior
+
+(S internal) The behavior of C<each()> after insertion is undefined, it may
+skip items, or visit items more than once. Consider using C<keys()> instead
+of C<each()>.
+
+=item Useless assignment to a temporary
+
+(W misc) You assigned to an lvalue subroutine, but what
+the subroutine returned was a temporary scalar about to
+be discarded, so the assignment had no effect.
+
+=item Useless (?-%s) - don't use /%s modifier in regex; marked by <-- HERE in 
+m/%s/
+
 (W regexp) You have used an internal modifier such as (?-o) that has no
 meaning unless removed from the entire regexp:
 
@@ -4992,13 +5767,13 @@
 
     if ($string =~ /$pattern/) { ... }
 
-The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+The <-- HERE shows whereabouts in the regular expression the problem was
+discovered.  See L<perlre>.
 
 =item Useless localization of %s
 
-(W syntax) The localization of lvalues such as C<local($x=10)> is
-legal, but in fact the local() currently has no effect. This may change at
+(W syntax) The localization of lvalues such as C<local($x=10)> is legal,
+but in fact the local() currently has no effect.  This may change at
 some point in the future, but in the meantime such code is discouraged.
 
 =item Useless (?%s) - use /%s modifier in regex; marked by <-- HERE in m/%s/
@@ -5012,15 +5787,45 @@
 
     if ($string =~ /$pattern/o) { ... }
 
-The <-- HERE shows in the regular expression about
-where the problem was discovered. See L<perlre>.
+The <-- HERE shows whereabouts in the regular expression the problem was
+discovered.  See L<perlre>.
 
 =item Useless use of /d modifier in transliteration operator
 
 (W misc) You have used the /d modifier where the searchlist has the
-same length as the replacelist. See L<perlop> for more information
+same length as the replacelist.  See L<perlop> for more information
 about the /d modifier.
 
+=item Useless use of '\'; doesn't escape metacharacter '%c'
+
+(D deprecated) You wrote a regular expression pattern something like
+one of these:
+
+ m{ \x\{FF\} }x
+ m{foo\{1,3\}}
+ qr(foo\(bar\))
+ s[foo\[a-z\]bar][baz]
+
+The interior braces, square brackets, and parentheses are treated as
+metacharacters even though they are backslashed; instead write:
+
+ m{ \x{FF} }x
+ m{foo{1,3}}
+ qr(foo(bar))
+ s[foo[a-z]bar][baz]
+
+The backslashes have no effect when a regular expression pattern is
+delimitted by C<{}>, C<[]>, or C<()>, which ordinarily are
+metacharacters, and the delimiters are also used, paired, within the
+interior of the pattern.  It is planned that a future Perl release will
+change the meaning of constructs like these so that the backslashes
+will have an effect, so remove them from your code.
+
+=item Useless use of \E
+
+(W misc) You have a \E in a double-quotish string without a C<\U>,
+C<\L> or C<\Q> preceding it.
+
 =item Useless use of %s in void context
 
 (W void) You did something without a side effect in a context that does
@@ -5063,7 +5868,7 @@
 
 =item Useless use of "re" pragma
 
-(W) You did C<use re;> without any arguments.   That isn't very useful.
+(W) You did C<use re;> without any arguments.  That isn't very useful.
 
 =item Useless use of sort in scalar context
 
@@ -5073,15 +5878,35 @@
 
 This is not very useful, and perl currently optimizes this away.
 
+=item Useless use of (?-p) in regex; marked by <-- HERE in m/%s/
+
+(W regexp)
+The C<p> modifier cannot be turned off once set.  Trying to do so is
+futile.
+
 =item Useless use of %s with no values
 
 (W syntax) You used the push() or unshift() function with no arguments
-apart from the array, like C<push(@x)> or C<unshift(@foo)>. That won't
-usually have any effect on the array, so is completely useless. It's
+apart from the array, like C<push(@x)> or C<unshift(@foo)>.  That won't
+usually have any effect on the array, so is completely useless.  It's
 possible in principle that push(@tied_array) could have some effect
-if the array is tied to a class which implements a PUSH method. If so,
+if the array is tied to a class which implements a PUSH method.  If so,
 you can write it as C<push(@tied_array,())> to avoid this warning.
 
+=item Useless (%s%c) - %suse /%c modifier in regex; marked by <-- HERE in m/%s/
+
+(W regexp)
+The C</g> and C</o> regular expression modifiers are global and can't be
+turned off once set; hence things like C<(?g)> or C<(?-o:)> do nothing.
+
+=item Useless (%sc) - %suse /gc modifier in regex; marked by <-- HERE in m/%s/
+
+(W regexp)
+The C</c> regular expression modifier is global, can't be turned off
+once set, and doesn't do anything without the C</g> modifier being
+specified as well; hence things like C<(?c)> or C<(?-c:)> do nothing,
+nor do thing like C<(?gc)> nor C<(?-gc:)> .
+
 =item "use" not allowed in expression
 
 (F) The "use" keyword is recognized and executed at compile time, and
@@ -5090,7 +5915,7 @@
 =item Use of assignment to $[ is deprecated
 
 (D deprecated) The C<$[> variable (index of the first element in an array)
-is deprecated. See L<perlvar/"$[">.
+is deprecated.  See L<perlvar/"$[">.
 
 =item Use of bare << to mean <<"" is deprecated
 
@@ -5203,17 +6028,22 @@
 it already went past any symlink you are presumably trying to look for.
 The operation returned C<undef>.  Use a filename instead.
 
+=item Use of my $_ is experimental
+
+(S experimental::lexical_topic) Lexical $_ is an experimental feature and
+its behavior may change or even be removed in any future release of perl.
+See the explanation under L<perlvar/$_>.
+
 =item Use of %s on a handle without * is deprecated
 
-(D deprecated) You used C<tie>, C<tied> or C<untie> on a scalar but that
-scalar happens to hold a typeglob, which means its filehandle will
-be tied. If you mean to tie a handle, use an explicit * as in
-C<tie *$handle>.
+(D deprecated) You used C<tie>, C<tied> or C<untie> on a scalar but that scalar
+happens to hold a typeglob, which means its filehandle will be tied.  If
+you mean to tie a handle, use an explicit * as in C<tie *$handle>.
 
-This is a long-standing bug that will be removed in Perl 5.16, as
-there is currently no way to tie the scalar itself when it holds
-a typeglob, and no way to untie a scalar that has had a typeglob
-assigned to it.
+This was a long-standing bug that was removed in Perl 5.16, as there was
+no way to tie the scalar itself when it held a typeglob, and no way to
+untie a scalar that had had a typeglob assigned to it.  If you see this
+message, you must be using an older version.
 
 =item Use of ?PATTERN? without explicit operator is deprecated
 
@@ -5224,17 +6054,6 @@
 instead, explicitly using the C<m> operator: the question mark delimiter
 still invokes match-once behaviour.
 
-=item Use of qw(...) as parentheses is deprecated
-
-(D deprecated) You have something like C<foreach $x qw(a b c) {...}>,
-using a C<qw(...)> list literal where a parenthesised expression is
-expected.  Historically the parser fooled itself into thinking that
-C<qw(...)> literals were always enclosed in parentheses, and as a result
-you could sometimes omit parentheses around them.  (You could never do
-the C<foreach qw(a b c) {...}> that you might have expected, though.)
-The parser no longer lies to itself in this way.  Wrap the list literal
-in parentheses, like C<foreach $x (qw(a b c)) {...}>.
-
 =item Use of reference "%s" as array index
 
 (W misc) You tried to use a reference as an array index; this probably
@@ -5246,14 +6065,11 @@
 however, because you can overload the numification and stringification
 operators and then you presumably know what you are doing.
 
-=item Use of reserved word "%s" is deprecated
+=item Use of state $_ is experimental
 
-(D deprecated) The indicated bareword is a reserved word.  Future
-versions of perl may use it as a keyword, so you're better off either
-explicitly quoting the word in a manner appropriate for its context of
-use, or using a different name altogether.  The warning can be
-suppressed for subroutine names by either adding a C<&> prefix, or using
-a package qualifier, e.g. C<&our()>, or C<Foo::our()>.
+(S experimental::lexical_topic) Lexical $_ is an experimental feature and
+its behavior may change or even be removed in any future release of perl.
+See the explanation under L<perlvar/$_>.
 
 =item Use of tainted arguments in %s is deprecated
 
@@ -5268,54 +6084,47 @@
 defined.  It was interpreted as a "" or a 0, but maybe it was a mistake.
 To suppress this warning assign a defined value to your variables.
 
-To help you figure out what was undefined, perl will try to tell you the
-name of the variable (if any) that was undefined. In some cases it cannot
-do this, so it also tells you what operation you used the undefined value
-in.  Note, however, that perl optimizes your program and the operation
-displayed in the warning may not necessarily appear literally in your
-program.  For example, C<"that $foo"> is usually optimized into C<"that "
-. $foo>, and the warning will refer to the C<concatenation (.)> operator,
-even though there is no C<.> in your program.
+To help you figure out what was undefined, perl will try to tell you
+the name of the variable (if any) that was undefined.  In some cases
+it cannot do this, so it also tells you what operation you used the
+undefined value in.  Note, however, that perl optimizes your program
+anid the operation displayed in the warning may not necessarily appear
+literally in your program.  For example, C<"that $foo"> is usually
+optimized into C<"that " . $foo>, and the warning will refer to the
+C<concatenation (.)> operator, even though there is no C<.> in
+your program.
 
 =item Using a hash as a reference is deprecated
 
 (D deprecated) You tried to use a hash as a reference, as in
 C<< %foo->{"bar"} >> or C<< %$ref->{"hello"} >>.  Versions of perl <= 5.6.1
-used to allow this syntax, but shouldn't have. It is now deprecated, and will
-be removed in a future version.
+used to allow this syntax, but shouldn't have.   It is now
+deprecated, and will be removed in a future version.
 
 =item Using an array as a reference is deprecated
 
 (D deprecated) You tried to use an array as a reference, as in
 C<< @foo->[23] >> or C<< @$ref->[99] >>.  Versions of perl <= 5.6.1 used to
-allow this syntax, but shouldn't have. It is now deprecated, and will be
-removed in a future version.
+allow this syntax, but shouldn't have.  It is now deprecated,
+and will be removed in a future version.
 
-=item Using just the first character returned by \N{} in character class
+=item Using just the first character returned by \N{} in character class in 
+regex; marked by <-- HERE in m/%s/
 
-(W) A charnames handler may return a sequence of more than one character.
-Currently all but the first one are discarded when used in a regular
-expression pattern bracketed character class.
+(W regexp) A charnames handler may return a sequence of more than one
+character.  Currently all but the first one are discarded when used in
+a regular expression pattern bracketed character class.
 
 =item Using !~ with %s doesn't make sense
 
 (F) Using the C<!~> operator with C<s///r>, C<tr///r> or C<y///r> is
 currently reserved for future use, as the exact behaviour has not
-been decided. (Simply returning the boolean opposite of the
+been decided.  (Simply returning the boolean opposite of the
 modified string is usually not particularly useful.)
 
-=item User-defined case-mapping '%s' is deprecated
-
-(W deprecated) You defined a function, such as C<ToLower> that overrides
-the standard case mapping, such as C<lc()> gives.  This feature is being
-deprecated due to its many issues, as documented in
-L<perlunicode/User-Defined Case Mappings (for serious hackers only)>.
-It is planned to remove this feature in Perl 5.16.  A CPAN module
-providing improved functionality is being prepared.
-
 =item UTF-16 surrogate U+%X
 
-(W utf8, surrogate) You had a UTF-16 surrogate in a context where they are
+(S utf8, surrogate) You had a UTF-16 surrogate in a context where they are
 not considered acceptable.  These code points, between U+D800 and
 U+DFFF (inclusive), are used by Unicode only for UTF-16.  However, Perl
 internally allows all unsigned integer code points (up to the size limit
@@ -5344,15 +6153,15 @@
 
 (W closure) During compilation, an inner named subroutine or eval is
 attempting to capture an outer lexical that is not currently available.
-This can happen for one of two reasons. First, the outer lexical may be
+This can happen for one of two reasons.  First, the outer lexical may be
 declared in an outer anonymous subroutine that has not yet been created.
 (Remember that named subs are created at compile time, while anonymous
-subs are created at run-time.) For example,
+subs are created at run-time.)  For example,
 
     sub { my $a; sub f { $a } }
 
 At the time that f is created, it can't capture the current value of $a,
-since the anonymous subroutine hasn't been created yet. Conversely,
+since the anonymous subroutine hasn't been created yet.  Conversely,
 the following won't give a warning since the anonymous subroutine has by
 now been created and is live:
 
@@ -5372,13 +6181,13 @@
 
 =item Variable "%s" is not imported%s
 
-(W misc) With "use strict" in effect, you referred to a global variable
+(S misc) With "use strict" in effect, you referred to a global variable
 that you apparently thought was imported from another module, because
 something else of the same name (usually a subroutine) is exported by
 that module.  It usually means you put the wrong funny character on the
 front of your variable.
 
-=item Variable length lookbehind not implemented in m/%s/
+=item Variable length lookbehind not implemented in regex m/%s/
 
 (F) Lookbehind is allowed only for subexpressions whose length is fixed and
 known at compile time.  See L<perlre>.
@@ -5389,7 +6198,7 @@
 current scope or statement, effectively eliminating all access to the
 previous instance.  This is almost always a typographical error.  Note
 that the earlier variable will still exist until the end of the scope
-or until all closure referents to it are destroyed.
+or until all closure references to it are destroyed.
 
 =item Variable syntax
 
@@ -5414,16 +6223,23 @@
 reference variables in outer subroutines are created, they
 are automatically rebound to the current values of such variables.
 
-=item Verb pattern '%s' has a mandatory argument in regex; marked by <-- HERE in m/%s/ 
+=item vector argument not supported with alpha versions
 
-(F) You used a verb pattern that requires an argument. Supply an argument
-or check that you are using the right verb.
+(S printf) The %vd (s)printf format does not support version objects
+with alpha parts.
 
-=item Verb pattern '%s' may not have an argument in regex; marked by <-- HERE in m/%s/ 
+=item Verb pattern '%s' has a mandatory argument in regex; marked by <-- HERE 
+in m/%s/ 
 
-(F) You used a verb pattern that is not allowed an argument. Remove the 
+(F) You used a verb pattern that requires an argument.  Supply an
 argument or check that you are using the right verb.
 
+=item Verb pattern '%s' may not have an argument in regex; marked by <-- HERE 
+in m/%s/ 
+
+(F) You used a verb pattern that is not allowed an argument.  Remove the 
+argument or check that you are using the right verb.
+
 =item Version number must be a constant number
 
 (P) The attempt to translate a C<use Module n.n LIST> statement into
@@ -5465,6 +6281,14 @@
 
 So put in parentheses to say what you really mean.
 
+=item when is experimental
+
+(S experimental::smartmatch) C<when> depends on smartmatch, which is
+experimental.  Additionally, it has several special cases that may
+not be immediately obvious, and their behavior may change or
+even be removed in any future release of perl.
+See the explanation under L<perlsyn/Experimental Details on given and when>.
+
 =item Wide character in %s
 
 (S utf8) Perl met a wide character (>255) when it wasn't expecting
@@ -5477,10 +6301,11 @@
 
 =item Within []-length '%c' not allowed
 
-(F) The count in the (un)pack template may be replaced by C<[TEMPLATE]> only if
-C<TEMPLATE> always matches the same amount of packed bytes that can be
-determined from the template alone. This is not possible if it contains any
-of the codes @, /, U, u, w or a *-length. Redesign the template.
+(F) The count in the (un)pack template may be replaced by C<[TEMPLATE]>
+only if C<TEMPLATE> always matches the same amount of packed bytes that
+can be determined from the template alone.  This is not possible if
+it contains any of the codes @, /, U, u, w or a *-length.  Redesign
+the template.
 
 =item write() on closed filehandle %s
 
@@ -5489,9 +6314,9 @@
 
 =item %s "\x%X" does not map to Unicode
 
-(F) When reading in different encodings Perl tries to map everything
+(F) When reading in different encodings, Perl tries to map everything
 into Unicode characters.  The bytes you read in are not legal in
-this encoding, for example
+this encoding.  For example
 
     utf8 "\xE4" does not map to Unicode
 
@@ -5532,6 +6357,6 @@
 
 =head1 SEE ALSO
 
-L<warnings>, L<perllexwarn>.
+L<warnings>, L<perllexwarn>, L<diagnostics>.
 
 =cut


Property changes on: vendor/perl/dist/pod/perldiag.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perldoc.pod
===================================================================
--- vendor/perl/dist/pod/perldoc.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldoc.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perldoc.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perldsc.pod
===================================================================
--- vendor/perl/dist/pod/perldsc.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perldsc.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,20 +5,9 @@
 
 =head1 DESCRIPTION
 
-The single feature most sorely lacking in the Perl programming language
-prior to its 5.0 release was complex data structures.  Even without direct
-language support, some valiant programmers did manage to emulate them, but
-it was hard work and not for the faint of heart.  You could occasionally
-get away with the C<$m{$AoA,$b}> notation borrowed from B<awk> in which the
-keys are actually more like a single concatenated string C<"$AoA$b">, but
-traversal and sorting were difficult.  More desperate programmers even
-hacked Perl's internal symbol table directly, a strategy that proved hard
-to develop and maintain--to put it mildly.
+Perl lets us have complex data structures.  You can write something like
+this and all of a sudden, you'd have an array with three dimensions!
 
-The 5.0 release of Perl let us have complex data structures.  You
-may now write something like this and all of a sudden, you'd have an array
-with three dimensions!
-
     for $x (1 .. 10) {
 	for $y (1 .. 10) {
 	    for $z (1 .. 10) {
@@ -309,11 +298,8 @@
 X<array of arrays, debugging> X<hash of arrays, debugging>
 X<array of hashes, debugging> X<hash of hashes, debugging>
 
-Before version 5.002, the standard Perl debugger didn't do a very nice job of
-printing out complex data structures.  With 5.002 or above, the
-debugger includes several new features, including command line editing as
-well as the C<x> command to dump out complex data structures.  For
-example, given the assignment to $AoA above, here's the debugger output:
+You can use the debugger's C<x> command to dump out complex data structures.
+For example, given the assignment to $AoA above, here's the debugger output:
 
     DB<1> x $AoA
     $AoA = ARRAY(0x13b5a0)
@@ -842,6 +828,3 @@
 =head1 AUTHOR
 
 Tom Christiansen <F<tchrist at perl.com>>
-
-Last update:
-Wed Oct 23 04:57:50 MET DST 1996


Property changes on: vendor/perl/dist/pod/perldsc.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlebcdic.pod
===================================================================
--- vendor/perl/dist/pod/perlebcdic.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlebcdic.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 =head1 DESCRIPTION
 
 An exploration of some of the issues facing Perl programmers
-on EBCDIC based computers.  We do not cover localization, 
+on EBCDIC based computers.  We do not cover localization,
 internationalization, or multi-byte character set issues other
 than some discussion of UTF-8 and UTF-EBCDIC.
 
@@ -23,16 +23,16 @@
 
 The American Standard Code for Information Interchange (ASCII or US-ASCII) is a
 set of
-integers running from 0 to 127 (decimal) that imply character 
-interpretation by the display and other systems of computers.  
-The range 0..127 can be covered by setting the bits in a 7-bit binary 
-digit, hence the set is sometimes referred to as "7-bit ASCII".  
-ASCII was described by the American National Standards Institute 
-document ANSI X3.4-1986.  It was also described by ISO 646:1991 
-(with localization for currency symbols).  The full ASCII set is 
-given in the table below as the first 128 elements.  Languages that 
-can be written adequately with the characters in ASCII include 
-English, Hawaiian, Indonesian, Swahili and some Native American 
+integers running from 0 to 127 (decimal) that imply character
+interpretation by the display and other systems of computers.
+The range 0..127 can be covered by setting the bits in a 7-bit binary
+digit, hence the set is sometimes referred to as "7-bit ASCII".
+ASCII was described by the American National Standards Institute
+document ANSI X3.4-1986.  It was also described by ISO 646:1991
+(with localization for currency symbols).  The full ASCII set is
+given in the table below as the first 128 elements.  Languages that
+can be written adequately with the characters in ASCII include
+English, Hawaiian, Indonesian, Swahili and some Native American
 languages.
 
 There are many character sets that extend the range of integers
@@ -41,21 +41,21 @@
 
 =head2 ISO 8859
 
-The ISO 8859-$n are a collection of character code sets from the 
-International Organization for Standardization (ISO) each of which 
-adds characters to the ASCII set that are typically found in European 
-languages many of which are based on the Roman, or Latin, alphabet.
+The ISO 8859-$n are a collection of character code sets from the
+International Organization for Standardization (ISO), each of which
+adds characters to the ASCII set that are typically found in European
+languages, many of which are based on the Roman, or Latin, alphabet.
 
 =head2 Latin 1 (ISO 8859-1)
 
-A particular 8-bit extension to ASCII that includes grave and acute 
-accented Latin characters.  Languages that can employ ISO 8859-1 
-include all the languages covered by ASCII as well as Afrikaans, 
-Albanian, Basque, Catalan, Danish, Faroese, Finnish, Norwegian, 
-Portuguese, Spanish, and Swedish.  Dutch is covered albeit without 
-the ij ligature.  French is covered too but without the oe ligature. 
+A particular 8-bit extension to ASCII that includes grave and acute
+accented Latin characters.  Languages that can employ ISO 8859-1
+include all the languages covered by ASCII as well as Afrikaans,
+Albanian, Basque, Catalan, Danish, Faroese, Finnish, Norwegian,
+Portuguese, Spanish, and Swedish.  Dutch is covered albeit without
+the ij ligature.  French is covered too but without the oe ligature.
 German can use ISO 8859-1 but must do so without German-style
-quotation marks.  This set is based on Western European extensions 
+quotation marks.  This set is based on Western European extensions
 to ASCII and is commonly encountered in world wide web work.
 In IBM character code set identification terminology ISO 8859-1 is
 also known as CCSID 819 (or sometimes 0819 or even 00819).
@@ -62,7 +62,7 @@
 
 =head2 EBCDIC
 
-The Extended Binary Coded Decimal Interchange Code refers to a 
+The Extended Binary Coded Decimal Interchange Code refers to a
 large collection of single- and multi-byte coded character sets that are
 different from ASCII or ISO 8859-1 and are all slightly different from each
 other; they typically run on host computers.  The EBCDIC encodings derive from
@@ -71,19 +71,19 @@
 characters [a-z] and [A-Z], but there were gaps within each Latin alphabet
 range.
 
-Some IBM EBCDIC character sets may be known by character code set 
+Some IBM EBCDIC character sets may be known by character code set
 identification numbers (CCSID numbers) or code page numbers.
 
 Perl can be compiled on platforms that run any of three commonly used EBCDIC
 character sets, listed below.
 
-=head2 The 13 variant characters
+=head3 The 13 variant characters
 
 Among IBM EBCDIC character code sets there are 13 characters that
 are often mapped to different integer values.  Those characters
 are known as the 13 "variant" characters and are:
 
-    \ [ ] { } ^ ~ ! # | $ @ ` 
+    \ [ ] { } ^ ~ ! # | $ @ `
 
 When Perl is compiled for a platform, it looks at some of these characters to
 guess which EBCDIC character set the platform uses, and adapts itself
@@ -92,26 +92,30 @@
 mistakenly and silently choose one of the three.
 They are:
 
-=head2 0037
+=over
 
-Character code set ID 0037 is a mapping of the ASCII plus Latin-1 
-characters (i.e. ISO 8859-1) to an EBCDIC set.  0037 is used 
-in North American English locales on the OS/400 operating system 
-that runs on AS/400 computers.  CCSID 0037 differs from ISO 8859-1 
+=item B<0037>
+
+Character code set ID 0037 is a mapping of the ASCII plus Latin-1
+characters (i.e. ISO 8859-1) to an EBCDIC set.  0037 is used
+in North American English locales on the OS/400 operating system
+that runs on AS/400 computers.  CCSID 0037 differs from ISO 8859-1
 in 237 places, in other words they agree on only 19 code point values.
 
-=head2 1047
+=item B<1047>
 
-Character code set ID 1047 is also a mapping of the ASCII plus 
-Latin-1 characters (i.e. ISO 8859-1) to an EBCDIC set.  1047 is 
-used under Unix System Services for OS/390 or z/OS, and OpenEdition 
+Character code set ID 1047 is also a mapping of the ASCII plus
+Latin-1 characters (i.e. ISO 8859-1) to an EBCDIC set.  1047 is
+used under Unix System Services for OS/390 or z/OS, and OpenEdition
 for VM/ESA.  CCSID 1047 differs from CCSID 0037 in eight places.
 
-=head2 POSIX-BC
+=item B<POSIX-BC>
 
 The EBCDIC code page in use on Siemens' BS2000 system is distinct from
 1047 and 0037.  It is identified below as the POSIX-BC set.
 
+=back
+
 =head2 Unicode code points versus EBCDIC code points
 
 In Unicode terminology a I<code point> is the number assigned to a
@@ -218,7 +222,7 @@
 
 to get four files containing "Hello World!\n" in ASCII, CP 0037 EBCDIC,
 ISO 8859-1 (Latin-1) (in this example identical to ASCII since only ASCII
-characters were printed), and 
+characters were printed), and
 UTF-EBCDIC (in this example identical to normal EBCDIC since only characters
 that don't differ between EBCDIC and UTF-EBCDIC were printed).  See the
 documentation of Encode::PerlIO for details.
@@ -230,21 +234,18 @@
 
 The following tables list the ASCII and Latin 1 ordered sets including
 the subsets: C0 controls (0..31), ASCII graphics (32..7e), delete (7f),
-C1 controls (80..9f), and Latin-1 (a.k.a. ISO 8859-1) (a0..ff).  In the 
-table non-printing control character names as well as the Latin 1 
-extensions to ASCII have been labelled with character names roughly 
-corresponding to I<The Unicode Standard, Version 3.0> albeit with 
-substitutions such as s/LATIN// and s/VULGAR// in all cases, 
-s/CAPITAL LETTER// in some cases, and s/SMALL LETTER ([A-Z])/\l$1/ 
-in some other cases.  The "names" of the controls listed here are 
-the Unicode Version 1 names, except for the few that don't have names, in which
-case the names in the Wikipedia article were used
-(L<http://en.wikipedia.org/wiki/C0_and_C1_control_codes>).
-The differences between the 0037 and 1047 sets are 
-flagged with ***.  The differences between the 1047 and POSIX-BC sets 
-are flagged with ###.  All ord() numbers listed are decimal.  If you 
-would rather see this table listing octal values then run the table 
-(that is, the pod version of this document since this recipe may not 
+C1 controls (80..9f), and Latin-1 (a.k.a. ISO 8859-1) (a0..ff).  In the
+table names of the Latin 1
+extensions to ASCII have been labelled with character names roughly
+corresponding to I<The Unicode Standard, Version 6.1> albeit with
+substitutions such as s/LATIN// and s/VULGAR// in all cases, s/CAPITAL
+LETTER// in some cases, and s/SMALL LETTER ([A-Z])/\l$1/ in some other
+cases.  Controls are listed using their Unicode 6.1 abbreviatons.
+The differences between the 0037 and 1047 sets are
+flagged with **.  The differences between the 1047 and POSIX-BC sets
+are flagged with ##.  All ord() numbers listed are decimal.  If you
+would rather see this table listing octal values, then run the table
+(that is, the pod source text of this document, since this recipe may not
 work with a pod2_other_format translation) through:
 
 =over 4
@@ -253,8 +254,8 @@
 
 =back
 
-    perl -ne 'if(/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/)' \
-     -e '{printf("%s%-9.03o%-9.03o%-9.03o%.03o\n",$1,$2,$3,$4,$5)}' \
+    perl -ne 'if(/(.{29})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/)' \
+     -e '{printf("%s%-5.03o%-5.03o%-5.03o%.03o\n",$1,$2,$3,$4,$5)}' \
      perlebcdic.pod
 
 If you want to retain the UTF-x code points then in script form you
@@ -268,19 +269,19 @@
 
  open(FH,"<perlebcdic.pod") or die "Could not open perlebcdic.pod: $!";
  while (<FH>) {
-     if (/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\.?(\d*)\s+(\d+)\.?(\d*)/)
+     if (/(.{29})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\.?(\d*)\s+(\d+)\.?(\d*)/)
      {
          if ($7 ne '' && $9 ne '') {
              printf(
-                "%s%-9.03o%-9.03o%-9.03o%-9.03o%-3o.%-5o%-3o.%.03o\n",
+                "%s%-5.03o%-5.03o%-5.03o%-5.03o%-3o.%-5o%-3o.%.03o\n",
                                             $1,$2,$3,$4,$5,$6,$7,$8,$9);
          }
          elsif ($7 ne '') {
-             printf("%s%-9.03o%-9.03o%-9.03o%-9.03o%-3o.%-5o%.03o\n",
+             printf("%s%-5.03o%-5.03o%-5.03o%-5.03o%-3o.%-5o%.03o\n",
                                            $1,$2,$3,$4,$5,$6,$7,$8);
          }
          else {
-             printf("%s%-9.03o%-9.03o%-9.03o%-9.03o%-9.03o%.03o\n",
+             printf("%s%-5.03o%-5.03o%-5.03o%-5.03o%-5.03o%.03o\n",
                                                 $1,$2,$3,$4,$5,$6,$8);
          }
      }
@@ -295,8 +296,8 @@
 
 =back
 
-    perl -ne 'if(/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/)' \
-     -e '{printf("%s%-9.02X%-9.02X%-9.02X%.02X\n",$1,$2,$3,$4,$5)}' \
+    perl -ne 'if(/(.{29})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/)' \
+     -e '{printf("%s%-5.02X%-5.02X%-5.02X%.02X\n",$1,$2,$3,$4,$5)}' \
      perlebcdic.pod
 
 Or, in order to retain the UTF-x code points in hexadecimal:
@@ -309,19 +310,19 @@
 
  open(FH,"<perlebcdic.pod") or die "Could not open perlebcdic.pod: $!";
  while (<FH>) {
-     if (/(.{43})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\.?(\d*)\s+(\d+)\.?(\d*)/)
+     if (/(.{29})(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)\.?(\d*)\s+(\d+)\.?(\d*)/)
      {
          if ($7 ne '' && $9 ne '') {
              printf(
-                "%s%-9.02X%-9.02X%-9.02X%-9.02X%-2X.%-6.02X%02X.%02X\n",
+                "%s%-5.02X%-5.02X%-5.02X%-5.02X%-2X.%-6.02X%02X.%02X\n",
                                            $1,$2,$3,$4,$5,$6,$7,$8,$9);
          }
          elsif ($7 ne '') {
-             printf("%s%-9.02X%-9.02X%-9.02X%-9.02X%-2X.%-6.02X%02X\n",
+             printf("%s%-5.02X%-5.02X%-5.02X%-5.02X%-2X.%-6.02X%02X\n",
                                               $1,$2,$3,$4,$5,$6,$7,$8);
          }
          else {
-             printf("%s%-9.02X%-9.02X%-9.02X%-9.02X%-9.02X%02X\n",
+             printf("%s%-5.02X%-5.02X%-5.02X%-5.02X%-5.02X%02X\n",
                                                   $1,$2,$3,$4,$5,$6,$8);
          }
      }
@@ -328,265 +329,267 @@
  }
 
 
-                                      ISO 8859-1  CCSID    CCSID                    CCSID 1047
- chr                                  CCSID 0819  0037     1047    POSIX-BC  UTF-8  UTF-EBCDIC
- ----------------------------------------------------------------------------------------------
- <NULL>                                    0        0        0        0        0        0 
- <START OF HEADING>                        1        1        1        1        1        1
- <START OF TEXT>                           2        2        2        2        2        2
- <END OF TEXT>                             3        3        3        3        3        3
- <END OF TRANSMISSION>                     4        55       55       55       4        55 
- <ENQUIRY>                                 5        45       45       45       5        45 
- <ACKNOWLEDGE>                             6        46       46       46       6        46 
- <BELL>                                    7        47       47       47       7        47 
- <BACKSPACE>                               8        22       22       22       8        22 
- <HORIZONTAL TABULATION>                   9        5        5        5        9        5 
- <LINE FEED>                               10       37       21       21       10       21       ***
- <VERTICAL TABULATION>                     11       11       11       11       11       11
- <FORM FEED>                               12       12       12       12       12       12
- <CARRIAGE RETURN>                         13       13       13       13       13       13
- <SHIFT OUT>                               14       14       14       14       14       14
- <SHIFT IN>                                15       15       15       15       15       15
- <DATA LINK ESCAPE>                        16       16       16       16       16       16
- <DEVICE CONTROL ONE>                      17       17       17       17       17       17
- <DEVICE CONTROL TWO>                      18       18       18       18       18       18
- <DEVICE CONTROL THREE>                    19       19       19       19       19       19
- <DEVICE CONTROL FOUR>                     20       60       60       60       20       60
- <NEGATIVE ACKNOWLEDGE>                    21       61       61       61       21       61
- <SYNCHRONOUS IDLE>                        22       50       50       50       22       50
- <END OF TRANSMISSION BLOCK>               23       38       38       38       23       38
- <CANCEL>                                  24       24       24       24       24       24
- <END OF MEDIUM>                           25       25       25       25       25       25
- <SUBSTITUTE>                              26       63       63       63       26       63
- <ESCAPE>                                  27       39       39       39       27       39
- <FILE SEPARATOR>                          28       28       28       28       28       28
- <GROUP SEPARATOR>                         29       29       29       29       29       29
- <RECORD SEPARATOR>                        30       30       30       30       30       30
- <UNIT SEPARATOR>                          31       31       31       31       31       31
- <SPACE>                                   32       64       64       64       32       64
- !                                         33       90       90       90       33       90
- "                                         34       127      127      127      34       127
- #                                         35       123      123      123      35       123
- $                                         36       91       91       91       36       91
- %                                         37       108      108      108      37       108
- &                                         38       80       80       80       38       80
- '                                         39       125      125      125      39       125
- (                                         40       77       77       77       40       77
- )                                         41       93       93       93       41       93
- *                                         42       92       92       92       42       92
- +                                         43       78       78       78       43       78
- ,                                         44       107      107      107      44       107
- -                                         45       96       96       96       45       96
- .                                         46       75       75       75       46       75
- /                                         47       97       97       97       47       97
- 0                                         48       240      240      240      48       240
- 1                                         49       241      241      241      49       241
- 2                                         50       242      242      242      50       242
- 3                                         51       243      243      243      51       243
- 4                                         52       244      244      244      52       244
- 5                                         53       245      245      245      53       245
- 6                                         54       246      246      246      54       246
- 7                                         55       247      247      247      55       247
- 8                                         56       248      248      248      56       248
- 9                                         57       249      249      249      57       249
- :                                         58       122      122      122      58       122
- ;                                         59       94       94       94       59       94
- <                                         60       76       76       76       60       76
- =                                         61       126      126      126      61       126
- >                                         62       110      110      110      62       110
- ?                                         63       111      111      111      63       111
- @                                         64       124      124      124      64       124
- A                                         65       193      193      193      65       193
- B                                         66       194      194      194      66       194
- C                                         67       195      195      195      67       195
- D                                         68       196      196      196      68       196
- E                                         69       197      197      197      69       197
- F                                         70       198      198      198      70       198
- G                                         71       199      199      199      71       199
- H                                         72       200      200      200      72       200
- I                                         73       201      201      201      73       201
- J                                         74       209      209      209      74       209
- K                                         75       210      210      210      75       210
- L                                         76       211      211      211      76       211
- M                                         77       212      212      212      77       212
- N                                         78       213      213      213      78       213
- O                                         79       214      214      214      79       214
- P                                         80       215      215      215      80       215
- Q                                         81       216      216      216      81       216
- R                                         82       217      217      217      82       217
- S                                         83       226      226      226      83       226
- T                                         84       227      227      227      84       227
- U                                         85       228      228      228      85       228
- V                                         86       229      229      229      86       229
- W                                         87       230      230      230      87       230
- X                                         88       231      231      231      88       231
- Y                                         89       232      232      232      89       232
- Z                                         90       233      233      233      90       233
- [                                         91       186      173      187      91       173      *** ###
- \                                         92       224      224      188      92       224      ### 
- ]                                         93       187      189      189      93       189      ***
- ^                                         94       176      95       106      94       95       *** ###
- _                                         95       109      109      109      95       109
- `                                         96       121      121      74       96       121      ###
- a                                         97       129      129      129      97       129
- b                                         98       130      130      130      98       130
- c                                         99       131      131      131      99       131
- d                                         100      132      132      132      100      132
- e                                         101      133      133      133      101      133
- f                                         102      134      134      134      102      134
- g                                         103      135      135      135      103      135
- h                                         104      136      136      136      104      136
- i                                         105      137      137      137      105      137
- j                                         106      145      145      145      106      145
- k                                         107      146      146      146      107      146
- l                                         108      147      147      147      108      147
- m                                         109      148      148      148      109      148
- n                                         110      149      149      149      110      149
- o                                         111      150      150      150      111      150
- p                                         112      151      151      151      112      151
- q                                         113      152      152      152      113      152
- r                                         114      153      153      153      114      153
- s                                         115      162      162      162      115      162
- t                                         116      163      163      163      116      163
- u                                         117      164      164      164      117      164
- v                                         118      165      165      165      118      165
- w                                         119      166      166      166      119      166
- x                                         120      167      167      167      120      167
- y                                         121      168      168      168      121      168
- z                                         122      169      169      169      122      169
- {                                         123      192      192      251      123      192      ###
- |                                         124      79       79       79       124      79
- }                                         125      208      208      253      125      208      ###
- ~                                         126      161      161      255      126      161      ###
- <DELETE>                                  127      7        7        7        127      7
- <PADDING CHARACTER>                       128      32       32       32       194.128  32
- <HIGH OCTET PRESET>                       129      33       33       33       194.129  33
- <BREAK PERMITTED HERE>                    130      34       34       34       194.130  34
- <NO BREAK HERE>                           131      35       35       35       194.131  35
- <INDEX>                                   132      36       36       36       194.132  36
- <NEXT LINE>                               133      21       37       37       194.133  37       ***
- <START OF SELECTED AREA>                  134      6        6        6        194.134  6
- <END OF SELECTED AREA>                    135      23       23       23       194.135  23
- <CHARACTER TABULATION SET>                136      40       40       40       194.136  40
- <CHARACTER TABULATION WITH JUSTIFICATION> 137      41       41       41       194.137  41
- <LINE TABULATION SET>                     138      42       42       42       194.138  42
- <PARTIAL LINE FORWARD>                    139      43       43       43       194.139  43
- <PARTIAL LINE BACKWARD>                   140      44       44       44       194.140  44
- <REVERSE LINE FEED>                       141      9        9        9        194.141  9
- <SINGLE SHIFT TWO>                        142      10       10       10       194.142  10
- <SINGLE SHIFT THREE>                      143      27       27       27       194.143  27
- <DEVICE CONTROL STRING>                   144      48       48       48       194.144  48
- <PRIVATE USE ONE>                         145      49       49       49       194.145  49
- <PRIVATE USE TWO>                         146      26       26       26       194.146  26
- <SET TRANSMIT STATE>                      147      51       51       51       194.147  51
- <CANCEL CHARACTER>                        148      52       52       52       194.148  52
- <MESSAGE WAITING>                         149      53       53       53       194.149  53
- <START OF GUARDED AREA>                   150      54       54       54       194.150  54
- <END OF GUARDED AREA>                     151      8        8        8        194.151  8
- <START OF STRING>                         152      56       56       56       194.152  56
- <SINGLE GRAPHIC CHARACTER INTRODUCER>     153      57       57       57       194.153  57
- <SINGLE CHARACTER INTRODUCER>             154      58       58       58       194.154  58
- <CONTROL SEQUENCE INTRODUCER>             155      59       59       59       194.155  59
- <STRING TERMINATOR>                       156      4        4        4        194.156  4
- <OPERATING SYSTEM COMMAND>                157      20       20       20       194.157  20
- <PRIVACY MESSAGE>                         158      62       62       62       194.158  62
- <APPLICATION PROGRAM COMMAND>             159      255      255      95       194.159  255      ###
- <NON-BREAKING SPACE>                      160      65       65       65       194.160  128.65
- <INVERTED EXCLAMATION MARK>               161      170      170      170      194.161  128.66
- <CENT SIGN>                               162      74       74       176      194.162  128.67   ###
- <POUND SIGN>                              163      177      177      177      194.163  128.68
- <CURRENCY SIGN>                           164      159      159      159      194.164  128.69
- <YEN SIGN>                                165      178      178      178      194.165  128.70
- <BROKEN BAR>                              166      106      106      208      194.166  128.71   ###
- <SECTION SIGN>                            167      181      181      181      194.167  128.72
- <DIAERESIS>                               168      189      187      121      194.168  128.73   *** ###
- <COPYRIGHT SIGN>                          169      180      180      180      194.169  128.74
- <FEMININE ORDINAL INDICATOR>              170      154      154      154      194.170  128.81
- <LEFT POINTING GUILLEMET>                 171      138      138      138      194.171  128.82
- <NOT SIGN>                                172      95       176      186      194.172  128.83   *** ###
- <SOFT HYPHEN>                             173      202      202      202      194.173  128.84
- <REGISTERED TRADE MARK SIGN>              174      175      175      175      194.174  128.85
- <MACRON>                                  175      188      188      161      194.175  128.86   ###
- <DEGREE SIGN>                             176      144      144      144      194.176  128.87
- <PLUS-OR-MINUS SIGN>                      177      143      143      143      194.177  128.88
- <SUPERSCRIPT TWO>                         178      234      234      234      194.178  128.89
- <SUPERSCRIPT THREE>                       179      250      250      250      194.179  128.98
- <ACUTE ACCENT>                            180      190      190      190      194.180  128.99
- <MICRO SIGN>                              181      160      160      160      194.181  128.100
- <PARAGRAPH SIGN>                          182      182      182      182      194.182  128.101
- <MIDDLE DOT>                              183      179      179      179      194.183  128.102
- <CEDILLA>                                 184      157      157      157      194.184  128.103
- <SUPERSCRIPT ONE>                         185      218      218      218      194.185  128.104
- <MASC. ORDINAL INDICATOR>                 186      155      155      155      194.186  128.105
- <RIGHT POINTING GUILLEMET>                187      139      139      139      194.187  128.106
- <FRACTION ONE QUARTER>                    188      183      183      183      194.188  128.112
- <FRACTION ONE HALF>                       189      184      184      184      194.189  128.113
- <FRACTION THREE QUARTERS>                 190      185      185      185      194.190  128.114
- <INVERTED QUESTION MARK>                  191      171      171      171      194.191  128.115
- <A WITH GRAVE>                            192      100      100      100      195.128  138.65
- <A WITH ACUTE>                            193      101      101      101      195.129  138.66
- <A WITH CIRCUMFLEX>                       194      98       98       98       195.130  138.67
- <A WITH TILDE>                            195      102      102      102      195.131  138.68
- <A WITH DIAERESIS>                        196      99       99       99       195.132  138.69
- <A WITH RING ABOVE>                       197      103      103      103      195.133  138.70
- <CAPITAL LIGATURE AE>                     198      158      158      158      195.134  138.71
- <C WITH CEDILLA>                          199      104      104      104      195.135  138.72
- <E WITH GRAVE>                            200      116      116      116      195.136  138.73
- <E WITH ACUTE>                            201      113      113      113      195.137  138.74
- <E WITH CIRCUMFLEX>                       202      114      114      114      195.138  138.81
- <E WITH DIAERESIS>                        203      115      115      115      195.139  138.82
- <I WITH GRAVE>                            204      120      120      120      195.140  138.83
- <I WITH ACUTE>                            205      117      117      117      195.141  138.84
- <I WITH CIRCUMFLEX>                       206      118      118      118      195.142  138.85
- <I WITH DIAERESIS>                        207      119      119      119      195.143  138.86
- <CAPITAL LETTER ETH>                      208      172      172      172      195.144  138.87
- <N WITH TILDE>                            209      105      105      105      195.145  138.88
- <O WITH GRAVE>                            210      237      237      237      195.146  138.89
- <O WITH ACUTE>                            211      238      238      238      195.147  138.98
- <O WITH CIRCUMFLEX>                       212      235      235      235      195.148  138.99
- <O WITH TILDE>                            213      239      239      239      195.149  138.100
- <O WITH DIAERESIS>                        214      236      236      236      195.150  138.101
- <MULTIPLICATION SIGN>                     215      191      191      191      195.151  138.102
- <O WITH STROKE>                           216      128      128      128      195.152  138.103
- <U WITH GRAVE>                            217      253      253      224      195.153  138.104  ###
- <U WITH ACUTE>                            218      254      254      254      195.154  138.105
- <U WITH CIRCUMFLEX>                       219      251      251      221      195.155  138.106  ###
- <U WITH DIAERESIS>                        220      252      252      252      195.156  138.112
- <Y WITH ACUTE>                            221      173      186      173      195.157  138.113  *** ###
- <CAPITAL LETTER THORN>                    222      174      174      174      195.158  138.114
- <SMALL LETTER SHARP S>                    223      89       89       89       195.159  138.115
- <a WITH GRAVE>                            224      68       68       68       195.160  139.65
- <a WITH ACUTE>                            225      69       69       69       195.161  139.66
- <a WITH CIRCUMFLEX>                       226      66       66       66       195.162  139.67
- <a WITH TILDE>                            227      70       70       70       195.163  139.68
- <a WITH DIAERESIS>                        228      67       67       67       195.164  139.69
- <a WITH RING ABOVE>                       229      71       71       71       195.165  139.70
- <SMALL LIGATURE ae>                       230      156      156      156      195.166  139.71
- <c WITH CEDILLA>                          231      72       72       72       195.167  139.72
- <e WITH GRAVE>                            232      84       84       84       195.168  139.73
- <e WITH ACUTE>                            233      81       81       81       195.169  139.74
- <e WITH CIRCUMFLEX>                       234      82       82       82       195.170  139.81
- <e WITH DIAERESIS>                        235      83       83       83       195.171  139.82
- <i WITH GRAVE>                            236      88       88       88       195.172  139.83
- <i WITH ACUTE>                            237      85       85       85       195.173  139.84
- <i WITH CIRCUMFLEX>                       238      86       86       86       195.174  139.85
- <i WITH DIAERESIS>                        239      87       87       87       195.175  139.86
- <SMALL LETTER eth>                        240      140      140      140      195.176  139.87
- <n WITH TILDE>                            241      73       73       73       195.177  139.88
- <o WITH GRAVE>                            242      205      205      205      195.178  139.89
- <o WITH ACUTE>                            243      206      206      206      195.179  139.98
- <o WITH CIRCUMFLEX>                       244      203      203      203      195.180  139.99
- <o WITH TILDE>                            245      207      207      207      195.181  139.100
- <o WITH DIAERESIS>                        246      204      204      204      195.182  139.101
- <DIVISION SIGN>                           247      225      225      225      195.183  139.102
- <o WITH STROKE>                           248      112      112      112      195.184  139.103
- <u WITH GRAVE>                            249      221      221      192      195.185  139.104  ###
- <u WITH ACUTE>                            250      222      222      222      195.186  139.105
- <u WITH CIRCUMFLEX>                       251      219      219      219      195.187  139.106
- <u WITH DIAERESIS>                        252      220      220      220      195.188  139.112
- <y WITH ACUTE>                            253      141      141      141      195.189  139.113
- <SMALL LETTER thorn>                      254      142      142      142      195.190  139.114
- <y WITH DIAERESIS>                        255      223      223      223      195.191  139.115
+                          ISO
+                         8859-1             POS-
+                         CCSID  CCSID CCSID IX-
+  chr                     0819   0037 1047  BC  UTF-8  UTF-EBCDIC
+ ---------------------------------------------------------------------
+ <NUL>                       0    0    0    0    0        0
+ <SOH>                       1    1    1    1    1        1
+ <STX>                       2    2    2    2    2        2
+ <ETX>                       3    3    3    3    3        3
+ <EOT>                       4    55   55   55   4        55
+ <ENQ>                       5    45   45   45   5        45
+ <ACK>                       6    46   46   46   6        46
+ <BEL>                       7    47   47   47   7        47
+ <BS>                        8    22   22   22   8        22
+ <HT>                        9    5    5    5    9        5
+ <LF>                        10   37   21   21   10       21  **
+ <VT>                        11   11   11   11   11       11
+ <FF>                        12   12   12   12   12       12
+ <CR>                        13   13   13   13   13       13
+ <SO>                        14   14   14   14   14       14
+ <SI>                        15   15   15   15   15       15
+ <DLE>                       16   16   16   16   16       16
+ <DC1>                       17   17   17   17   17       17
+ <DC2>                       18   18   18   18   18       18
+ <DC3>                       19   19   19   19   19       19
+ <DC4>                       20   60   60   60   20       60
+ <NAK>                       21   61   61   61   21       61
+ <SYN>                       22   50   50   50   22       50
+ <ETB>                       23   38   38   38   23       38
+ <CAN>                       24   24   24   24   24       24
+ <EOM>                       25   25   25   25   25       25
+ <SUB>                       26   63   63   63   26       63
+ <ESC>                       27   39   39   39   27       39
+ <FS>                        28   28   28   28   28       28
+ <GS>                        29   29   29   29   29       29
+ <RS>                        30   30   30   30   30       30
+ <US>                        31   31   31   31   31       31
+ <SPACE>                     32   64   64   64   32       64
+ !                           33   90   90   90   33       90
+ "                           34   127  127  127  34       127
+ #                           35   123  123  123  35       123
+ $                           36   91   91   91   36       91
+ %                           37   108  108  108  37       108
+ &                           38   80   80   80   38       80
+ '                           39   125  125  125  39       125
+ (                           40   77   77   77   40       77
+ )                           41   93   93   93   41       93
+ *                           42   92   92   92   42       92
+ +                           43   78   78   78   43       78
+ ,                           44   107  107  107  44       107
+ -                           45   96   96   96   45       96
+ .                           46   75   75   75   46       75
+ /                           47   97   97   97   47       97
+ 0                           48   240  240  240  48       240
+ 1                           49   241  241  241  49       241
+ 2                           50   242  242  242  50       242
+ 3                           51   243  243  243  51       243
+ 4                           52   244  244  244  52       244
+ 5                           53   245  245  245  53       245
+ 6                           54   246  246  246  54       246
+ 7                           55   247  247  247  55       247
+ 8                           56   248  248  248  56       248
+ 9                           57   249  249  249  57       249
+ :                           58   122  122  122  58       122
+ ;                           59   94   94   94   59       94
+ <                           60   76   76   76   60       76
+ =                           61   126  126  126  61       126
+ >                           62   110  110  110  62       110
+ ?                           63   111  111  111  63       111
+ @                           64   124  124  124  64       124
+ A                           65   193  193  193  65       193
+ B                           66   194  194  194  66       194
+ C                           67   195  195  195  67       195
+ D                           68   196  196  196  68       196
+ E                           69   197  197  197  69       197
+ F                           70   198  198  198  70       198
+ G                           71   199  199  199  71       199
+ H                           72   200  200  200  72       200
+ I                           73   201  201  201  73       201
+ J                           74   209  209  209  74       209
+ K                           75   210  210  210  75       210
+ L                           76   211  211  211  76       211
+ M                           77   212  212  212  77       212
+ N                           78   213  213  213  78       213
+ O                           79   214  214  214  79       214
+ P                           80   215  215  215  80       215
+ Q                           81   216  216  216  81       216
+ R                           82   217  217  217  82       217
+ S                           83   226  226  226  83       226
+ T                           84   227  227  227  84       227
+ U                           85   228  228  228  85       228
+ V                           86   229  229  229  86       229
+ W                           87   230  230  230  87       230
+ X                           88   231  231  231  88       231
+ Y                           89   232  232  232  89       232
+ Z                           90   233  233  233  90       233
+ [                           91   186  173  187  91       173  ** ##
+ \                           92   224  224  188  92       224  ##
+ ]                           93   187  189  189  93       189  **
+ ^                           94   176  95   106  94       95   ** ##
+ _                           95   109  109  109  95       109
+ `                           96   121  121  74   96       121  ##
+ a                           97   129  129  129  97       129
+ b                           98   130  130  130  98       130
+ c                           99   131  131  131  99       131
+ d                           100  132  132  132  100      132
+ e                           101  133  133  133  101      133
+ f                           102  134  134  134  102      134
+ g                           103  135  135  135  103      135
+ h                           104  136  136  136  104      136
+ i                           105  137  137  137  105      137
+ j                           106  145  145  145  106      145
+ k                           107  146  146  146  107      146
+ l                           108  147  147  147  108      147
+ m                           109  148  148  148  109      148
+ n                           110  149  149  149  110      149
+ o                           111  150  150  150  111      150
+ p                           112  151  151  151  112      151
+ q                           113  152  152  152  113      152
+ r                           114  153  153  153  114      153
+ s                           115  162  162  162  115      162
+ t                           116  163  163  163  116      163
+ u                           117  164  164  164  117      164
+ v                           118  165  165  165  118      165
+ w                           119  166  166  166  119      166
+ x                           120  167  167  167  120      167
+ y                           121  168  168  168  121      168
+ z                           122  169  169  169  122      169
+ {                           123  192  192  251  123      192  ##
+ |                           124  79   79   79   124      79
+ }                           125  208  208  253  125      208  ##
+ ~                           126  161  161  255  126      161  ##
+ <DEL>                       127  7    7    7    127      7
+ <PAD>                       128  32   32   32   194.128  32
+ <HOP>                       129  33   33   33   194.129  33
+ <BPH>                       130  34   34   34   194.130  34
+ <NBH>                       131  35   35   35   194.131  35
+ <IND>                       132  36   36   36   194.132  36
+ <NEL>                       133  21   37   37   194.133  37   **
+ <SSA>                       134  6    6    6    194.134  6
+ <ESA>                       135  23   23   23   194.135  23
+ <HTS>                       136  40   40   40   194.136  40
+ <HTJ>                       137  41   41   41   194.137  41
+ <VTS>                       138  42   42   42   194.138  42
+ <PLD>                       139  43   43   43   194.139  43
+ <PLU>                       140  44   44   44   194.140  44
+ <RI>                        141  9    9    9    194.141  9
+ <SS2>                       142  10   10   10   194.142  10
+ <SS3>                       143  27   27   27   194.143  27
+ <DCS>                       144  48   48   48   194.144  48
+ <PU1>                       145  49   49   49   194.145  49
+ <PU2>                       146  26   26   26   194.146  26
+ <STS>                       147  51   51   51   194.147  51
+ <CCH>                       148  52   52   52   194.148  52
+ <MW>                        149  53   53   53   194.149  53
+ <SPA>                       150  54   54   54   194.150  54
+ <EPA>                       151  8    8    8    194.151  8
+ <SOS>                       152  56   56   56   194.152  56
+ <SGC>                       153  57   57   57   194.153  57
+ <SCI>                       154  58   58   58   194.154  58
+ <CSI>                       155  59   59   59   194.155  59
+ <ST>                        156  4    4    4    194.156  4
+ <OSC>                       157  20   20   20   194.157  20
+ <PM>                        158  62   62   62   194.158  62
+ <APC>                       159  255  255  95   194.159  255      ##
+ <NON-BREAKING SPACE>        160  65   65   65   194.160  128.65
+ <INVERTED "!" >             161  170  170  170  194.161  128.66
+ <CENT SIGN>                 162  74   74   176  194.162  128.67   ##
+ <POUND SIGN>                163  177  177  177  194.163  128.68
+ <CURRENCY SIGN>             164  159  159  159  194.164  128.69
+ <YEN SIGN>                  165  178  178  178  194.165  128.70
+ <BROKEN BAR>                166  106  106  208  194.166  128.71   ##
+ <SECTION SIGN>              167  181  181  181  194.167  128.72
+ <DIAERESIS>                 168  189  187  121  194.168  128.73   ** ##
+ <COPYRIGHT SIGN>            169  180  180  180  194.169  128.74
+ <FEMININE ORDINAL>          170  154  154  154  194.170  128.81
+ <LEFT POINTING GUILLEMET>   171  138  138  138  194.171  128.82
+ <NOT SIGN>                  172  95   176  186  194.172  128.83   ** ##
+ <SOFT HYPHEN>               173  202  202  202  194.173  128.84
+ <REGISTERED TRADE MARK>     174  175  175  175  194.174  128.85
+ <MACRON>                    175  188  188  161  194.175  128.86   ##
+ <DEGREE SIGN>               176  144  144  144  194.176  128.87
+ <PLUS-OR-MINUS SIGN>        177  143  143  143  194.177  128.88
+ <SUPERSCRIPT TWO>           178  234  234  234  194.178  128.89
+ <SUPERSCRIPT THREE>         179  250  250  250  194.179  128.98
+ <ACUTE ACCENT>              180  190  190  190  194.180  128.99
+ <MICRO SIGN>                181  160  160  160  194.181  128.100
+ <PARAGRAPH SIGN>            182  182  182  182  194.182  128.101
+ <MIDDLE DOT>                183  179  179  179  194.183  128.102
+ <CEDILLA>                   184  157  157  157  194.184  128.103
+ <SUPERSCRIPT ONE>           185  218  218  218  194.185  128.104
+ <MASC. ORDINAL INDICATOR>   186  155  155  155  194.186  128.105
+ <RIGHT POINTING GUILLEMET>  187  139  139  139  194.187  128.106
+ <FRACTION ONE QUARTER>      188  183  183  183  194.188  128.112
+ <FRACTION ONE HALF>         189  184  184  184  194.189  128.113
+ <FRACTION THREE QUARTERS>   190  185  185  185  194.190  128.114
+ <INVERTED QUESTION MARK>    191  171  171  171  194.191  128.115
+ <A WITH GRAVE>              192  100  100  100  195.128  138.65
+ <A WITH ACUTE>              193  101  101  101  195.129  138.66
+ <A WITH CIRCUMFLEX>         194  98   98   98   195.130  138.67
+ <A WITH TILDE>              195  102  102  102  195.131  138.68
+ <A WITH DIAERESIS>          196  99   99   99   195.132  138.69
+ <A WITH RING ABOVE>         197  103  103  103  195.133  138.70
+ <CAPITAL LIGATURE AE>       198  158  158  158  195.134  138.71
+ <C WITH CEDILLA>            199  104  104  104  195.135  138.72
+ <E WITH GRAVE>              200  116  116  116  195.136  138.73
+ <E WITH ACUTE>              201  113  113  113  195.137  138.74
+ <E WITH CIRCUMFLEX>         202  114  114  114  195.138  138.81
+ <E WITH DIAERESIS>          203  115  115  115  195.139  138.82
+ <I WITH GRAVE>              204  120  120  120  195.140  138.83
+ <I WITH ACUTE>              205  117  117  117  195.141  138.84
+ <I WITH CIRCUMFLEX>         206  118  118  118  195.142  138.85
+ <I WITH DIAERESIS>          207  119  119  119  195.143  138.86
+ <CAPITAL LETTER ETH>        208  172  172  172  195.144  138.87
+ <N WITH TILDE>              209  105  105  105  195.145  138.88
+ <O WITH GRAVE>              210  237  237  237  195.146  138.89
+ <O WITH ACUTE>              211  238  238  238  195.147  138.98
+ <O WITH CIRCUMFLEX>         212  235  235  235  195.148  138.99
+ <O WITH TILDE>              213  239  239  239  195.149  138.100
+ <O WITH DIAERESIS>          214  236  236  236  195.150  138.101
+ <MULTIPLICATION SIGN>       215  191  191  191  195.151  138.102
+ <O WITH STROKE>             216  128  128  128  195.152  138.103
+ <U WITH GRAVE>              217  253  253  224  195.153  138.104  ##
+ <U WITH ACUTE>              218  254  254  254  195.154  138.105
+ <U WITH CIRCUMFLEX>         219  251  251  221  195.155  138.106  ##
+ <U WITH DIAERESIS>          220  252  252  252  195.156  138.112
+ <Y WITH ACUTE>              221  173  186  173  195.157  138.113  ** ##
+ <CAPITAL LETTER THORN>      222  174  174  174  195.158  138.114
+ <SMALL LETTER SHARP S>      223  89   89   89   195.159  138.115
+ <a WITH GRAVE>              224  68   68   68   195.160  139.65
+ <a WITH ACUTE>              225  69   69   69   195.161  139.66
+ <a WITH CIRCUMFLEX>         226  66   66   66   195.162  139.67
+ <a WITH TILDE>              227  70   70   70   195.163  139.68
+ <a WITH DIAERESIS>          228  67   67   67   195.164  139.69
+ <a WITH RING ABOVE>         229  71   71   71   195.165  139.70
+ <SMALL LIGATURE ae>         230  156  156  156  195.166  139.71
+ <c WITH CEDILLA>            231  72   72   72   195.167  139.72
+ <e WITH GRAVE>              232  84   84   84   195.168  139.73
+ <e WITH ACUTE>              233  81   81   81   195.169  139.74
+ <e WITH CIRCUMFLEX>         234  82   82   82   195.170  139.81
+ <e WITH DIAERESIS>          235  83   83   83   195.171  139.82
+ <i WITH GRAVE>              236  88   88   88   195.172  139.83
+ <i WITH ACUTE>              237  85   85   85   195.173  139.84
+ <i WITH CIRCUMFLEX>         238  86   86   86   195.174  139.85
+ <i WITH DIAERESIS>          239  87   87   87   195.175  139.86
+ <SMALL LETTER eth>          240  140  140  140  195.176  139.87
+ <n WITH TILDE>              241  73   73   73   195.177  139.88
+ <o WITH GRAVE>              242  205  205  205  195.178  139.89
+ <o WITH ACUTE>              243  206  206  206  195.179  139.98
+ <o WITH CIRCUMFLEX>         244  203  203  203  195.180  139.99
+ <o WITH TILDE>              245  207  207  207  195.181  139.100
+ <o WITH DIAERESIS>          246  204  204  204  195.182  139.101
+ <DIVISION SIGN>             247  225  225  225  195.183  139.102
+ <o WITH STROKE>             248  112  112  112  195.184  139.103
+ <u WITH GRAVE>              249  221  221  192  195.185  139.104  ##
+ <u WITH ACUTE>              250  222  222  222  195.186  139.105
+ <u WITH CIRCUMFLEX>         251  219  219  219  195.187  139.106
+ <u WITH DIAERESIS>          252  220  220  220  195.188  139.112
+ <y WITH ACUTE>              253  141  141  141  195.189  139.113
+ <SMALL LETTER thorn>        254  142  142  142  195.190  139.114
+ <y WITH DIAERESIS>          255  223  223  223  195.191  139.115
 
 If you would rather see the above table in CCSID 0037 order rather than
 ASCII + Latin-1 order then run the table through:
@@ -598,14 +601,14 @@
 =back
 
  perl \
-    -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
+    -ne 'if(/.{29}\d{1,3}\s{2,4}\d{1,3}\s{2,4}\d{1,3}\s{2,4}\d{1,3}/)'\
      -e '{push(@l,$_)}' \
      -e 'END{print map{$_->[0]}' \
      -e '          sort{$a->[1] <=> $b->[1]}' \
-     -e '          map{[$_,substr($_,52,3)]}@l;}' perlebcdic.pod
+     -e '          map{[$_,substr($_,34,3)]}@l;}' perlebcdic.pod
 
 If you would rather see it in CCSID 1047 order then change the number
-52 in the last line to 61, like this:
+34 in the last line to 39, like this:
 
 =over 4
 
@@ -614,14 +617,14 @@
 =back
 
  perl \
-    -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
+    -ne 'if(/.{29}\d{1,3}\s{2,4}\d{1,3}\s{2,4}\d{1,3}\s{2,4}\d{1,3}/)'\
     -e '{push(@l,$_)}' \
     -e 'END{print map{$_->[0]}' \
     -e '          sort{$a->[1] <=> $b->[1]}' \
-    -e '          map{[$_,substr($_,61,3)]}@l;}' perlebcdic.pod
+    -e '          map{[$_,substr($_,39,3)]}@l;}' perlebcdic.pod
 
 If you would rather see it in POSIX-BC order then change the number
-61 in the last line to 70, like this:
+39 in the last line to 44, like this:
 
 =over 4
 
@@ -630,17 +633,17 @@
 =back
 
  perl \
-    -ne 'if(/.{43}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}\s{6,8}\d{1,3}/)'\
+    -ne 'if(/.{29}\d{1,3}\s{2,4}\d{1,3}\s{2,4}\d{1,3}\s{2,4}\d{1,3}/)'\
      -e '{push(@l,$_)}' \
      -e 'END{print map{$_->[0]}' \
      -e '          sort{$a->[1] <=> $b->[1]}' \
-     -e '          map{[$_,substr($_,70,3)]}@l;}' perlebcdic.pod
+     -e '          map{[$_,substr($_,44,3)]}@l;}' perlebcdic.pod
 
 
 =head1 IDENTIFYING CHARACTER CODE SETS
 
-To determine the character set you are running under from perl one 
-could use the return value of ord() or chr() to test one or more 
+To determine the character set you are running under from perl one
+could use the return value of ord() or chr() to test one or more
 character values.  For example:
 
     $is_ascii  = "A" eq chr(65);
@@ -671,12 +674,12 @@
     $is_ascii = "\n" ne chr(10);  #  ILL ADVISED
 
 Obviously the first of these will fail to distinguish most ASCII platforms
-from either a CCSID 0037, a 1047, or a POSIX-BC EBCDIC platform since "\r" eq 
-chr(13) under all of those coded character sets.  But note too that 
-because "\n" is chr(13) and "\r" is chr(10) on the Macintosh (which is an 
+from either a CCSID 0037, a 1047, or a POSIX-BC EBCDIC platform since "\r" eq
+chr(13) under all of those coded character sets.  But note too that
+because "\n" is chr(13) and "\r" is chr(10) on the Macintosh (which is an
 ASCII platform) the second C<$is_ascii> test will lead to trouble there.
 
-To determine whether or not perl was built under an EBCDIC 
+To determine whether or not perl was built under an EBCDIC
 code page you can use the Config module like so:
 
     use Config;
@@ -684,20 +687,25 @@
 
 =head1 CONVERSIONS
 
+=head2 C<utf8::unicode_to_native()> and C<utf8::native_to_unicode()>
+
+These functions take an input numeric code point in one encoding and
+return what its equivalent value is in the other.
+
 =head2 tr///
 
-In order to convert a string of characters from one character set to 
+In order to convert a string of characters from one character set to
 another a simple list of numbers, such as in the right columns in the
-above table, along with perl's tr/// operator is all that is needed.  
+above table, along with perl's tr/// operator is all that is needed.
 The data in the table are in ASCII/Latin1 order, hence the EBCDIC columns
-provide easy-to-use ASCII/Latin1 to EBCDIC operations that are also easily 
+provide easy-to-use ASCII/Latin1 to EBCDIC operations that are also easily
 reversed.
 
 For example, to convert ASCII/Latin1 to code page 037 take the output of the
 second numbers column from the output of recipe 2 (modified to add '\'
-characters) and use it in tr/// like so:
+characters), and use it in tr/// like so:
 
-    $cp_037 = 
+    $cp_037 =
     '\x00\x01\x02\x03\x37\x2D\x2E\x2F\x16\x05\x25\x0B\x0C\x0D\x0E\x0F' .
     '\x10\x11\x12\x13\x3C\x3D\x32\x26\x18\x19\x3F\x27\x1C\x1D\x1E\x1F' .
     '\x40\x5A\x7F\x7B\x5B\x6C\x50\x7D\x4D\x5D\x5C\x4E\x6B\x60\x4B\x61' .
@@ -739,7 +747,7 @@
 available from the shell or from the C library.  Consult your system's
 documentation for information on iconv.
 
-On OS/390 or z/OS see the iconv(1) manpage.  One way to invoke the iconv 
+On OS/390 or z/OS see the iconv(1) manpage.  One way to invoke the iconv
 shell utility from within perl would be to:
 
     # OS/390 or z/OS example
@@ -758,7 +766,7 @@
 
 =head1 OPERATOR DIFFERENCES
 
-The C<..> range operator treats certain character ranges with 
+The C<..> range operator treats certain character ranges with
 care on EBCDIC platforms.  For example the following array
 will have twenty six elements on either an EBCDIC platform
 or an ASCII platform:
@@ -766,13 +774,13 @@
     @alphabet = ('A'..'Z');   #  $#alphabet == 25
 
 The bitwise operators such as & ^ | may return different results
-when operating on string or character data in a perl program running 
+when operating on string or character data in a perl program running
 on an EBCDIC platform than when run on an ASCII platform.  Here is
 an example adapted from the one in L<perlop>:
 
     # EBCDIC-based examples
     print "j p \n" ^ " a h";                      # prints "JAPH\n"
-    print "JA" | "  ph\n";                        # prints "japh\n" 
+    print "JA" | "  ph\n";                        # prints "japh\n"
     print "JAPH\nJunk" & "\277\277\277\277\277";  # prints "japh\n";
     print 'p N$' ^ " E<H\n";                      # prints "Perl\n";
 
@@ -784,45 +792,45 @@
 thirty three characters that result depend on which code page you are
 using.  The table below uses the standard acronyms for the controls.
 The POSIX-BC and 1047 sets are
-identical throughout this range and differ from the 0037 set at only 
+identical throughout this range and differ from the 0037 set at only
 one spot (21 decimal).  Note that the C<LINE FEED> character
-may be generated by C<\cJ> on ASCII platforms but by C<\cU> on 1047 or POSIX-BC 
-platforms and cannot be generated as a C<"\c.letter."> control character on 
+may be generated by C<\cJ> on ASCII platforms but by C<\cU> on 1047 or POSIX-BC
+platforms and cannot be generated as a C<"\c.letter."> control character on
 0037 platforms.  Note also that C<\c\> cannot be the final element in a string
 or regex, as it will absorb the terminator.   But C<\c\I<X>> is a C<FILE
 SEPARATOR> concatenated with I<X> for all I<X>.
 
- chr   ord   8859-1    0037    1047 && POSIX-BC     
+ chr   ord   8859-1    0037    1047 && POSIX-BC
  -----------------------------------------------------------------------
- \c?   127   <DEL>       "            "    
+ \c?   127   <DEL>       "            "
  \c@     0   <NUL>     <NUL>        <NUL>
- \cA     1   <SOH>     <SOH>        <SOH> 
+ \cA     1   <SOH>     <SOH>        <SOH>
  \cB     2   <STX>     <STX>        <STX>
  \cC     3   <ETX>     <ETX>        <ETX>
- \cD     4   <EOT>     <ST>         <ST>    
- \cE     5   <ENQ>     <HT>         <HT>    
- \cF     6   <ACK>     <SSA>        <SSA>    
- \cG     7   <BEL>     <DEL>        <DEL>   
- \cH     8   <BS>      <EPA>        <EPA>  
- \cI     9   <HT>      <RI>         <RI>   
- \cJ    10   <LF>      <SS2>        <SS2>  
+ \cD     4   <EOT>     <ST>         <ST>
+ \cE     5   <ENQ>     <HT>         <HT>
+ \cF     6   <ACK>     <SSA>        <SSA>
+ \cG     7   <BEL>     <DEL>        <DEL>
+ \cH     8   <BS>      <EPA>        <EPA>
+ \cI     9   <HT>      <RI>         <RI>
+ \cJ    10   <LF>      <SS2>        <SS2>
  \cK    11   <VT>      <VT>         <VT>
- \cL    12   <FF>      <FF>         <FF>    
- \cM    13   <CR>      <CR>         <CR> 
+ \cL    12   <FF>      <FF>         <FF>
+ \cM    13   <CR>      <CR>         <CR>
  \cN    14   <SO>      <SO>         <SO>
  \cO    15   <SI>      <SI>         <SI>
- \cP    16   <DLE>     <DLE>        <DLE> 
+ \cP    16   <DLE>     <DLE>        <DLE>
  \cQ    17   <DC1>     <DC1>        <DC1>
  \cR    18   <DC2>     <DC2>        <DC2>
- \cS    19   <DC3>     <DC3>        <DC3> 
- \cT    20   <DC4>     <OSC>        <OSC>   
- \cU    21   <NAK>     <NEL>        <LF>              ***
+ \cS    19   <DC3>     <DC3>        <DC3>
+ \cT    20   <DC4>     <OSC>        <OSC>
+ \cU    21   <NAK>     <NEL>        <LF>              **
  \cV    22   <SYN>     <BS>         <BS>
- \cW    23   <ETB>     <ESA>        <ESA> 
+ \cW    23   <ETB>     <ESA>        <ESA>
  \cX    24   <CAN>     <CAN>        <CAN>
  \cY    25   <EOM>     <EOM>        <EOM>
- \cZ    26   <SUB>     <PU2>        <PU2>  
- \c[    27   <ESC>     <SS3>        <SS3>  
+ \cZ    26   <SUB>     <PU2>        <PU2>
+ \c[    27   <ESC>     <SS3>        <SS3>
  \c\X   28   <FS>X     <FS>X        <FS>X
  \c]    29   <GS>      <GS>         <GS>
  \c^    30   <RS>      <RS>         <RS>
@@ -834,7 +842,7 @@
 
 =item chr()
 
-chr() must be given an EBCDIC code number argument to yield a desired 
+chr() must be given an EBCDIC code number argument to yield a desired
 character return value on an EBCDIC platform.  For example:
 
     $CAPITAL_LETTER_A = chr(193);
@@ -848,7 +856,7 @@
 
 =item pack()
 
-The c and C templates for pack() are dependent upon character set 
+The c and C templates for pack() are dependent upon character set
 encoding.  Examples of usage on EBCDIC include:
 
     $foo = pack("CCCC",193,194,195,196);
@@ -864,13 +872,13 @@
 One must be careful with scalars and strings that are passed to
 print that contain ASCII encodings.  One common place
 for this to occur is in the output of the MIME type header for
-CGI script writing.  For example, many perl programming guides 
+CGI script writing.  For example, many perl programming guides
 recommend something similar to:
 
-    print "Content-type:\ttext/html\015\012\015\012"; 
+    print "Content-type:\ttext/html\015\012\015\012";
     # this may be wrong on EBCDIC
 
-Under the IBM OS/390 USS Web Server or WebSphere on z/OS for example 
+Under the IBM OS/390 USS Web Server or WebSphere on z/OS for example
 you should instead write that as:
 
     print "Content-type:\ttext/html\r\n\r\n"; # OK for DGW et al
@@ -877,7 +885,7 @@
 
 That is because the translation from EBCDIC to ASCII is done
 by the web server in this case (such code will not be appropriate for
-the Macintosh however).  Consult your web server's documentation for 
+the Macintosh however).  Consult your web server's documentation for
 further details.
 
 =item printf()
@@ -890,7 +898,7 @@
 
 =item sort()
 
-EBCDIC sort results may differ from ASCII sort results especially for 
+EBCDIC sort results may differ from ASCII sort results especially for
 mixed case strings.  This is discussed in more detail below.
 
 =item sprintf()
@@ -908,10 +916,10 @@
 
 =head1 REGULAR EXPRESSION DIFFERENCES
 
-As of perl 5.005_03 the letter range regular expressions such as 
-[A-Z] and [a-z] have been especially coded to not pick up gap 
-characters.  For example, characters such as E<ocirc> C<o WITH CIRCUMFLEX> 
-that lie between I and J would not be matched by the 
+As of perl 5.005_03 the letter range regular expressions such as
+[A-Z] and [a-z] have been especially coded to not pick up gap
+characters.  For example, characters such as E<ocirc> C<o WITH CIRCUMFLEX>
+that lie between I and J would not be matched by the
 regular expression range C</[H-K]/>.  This works in
 the other direction, too, if either of the range end points is
 explicitly numeric: C<[\x89-\x91]> will match C<\x8e>, even
@@ -918,9 +926,9 @@
 though C<\x89> is C<i> and C<\x91 > is C<j>, and C<\x8e>
 is a gap character from the alphabetic viewpoint.
 
-If you do want to match the alphabet gap characters in a single octet 
-regular expression try matching the hex or octal code such 
-as C</\313/> on EBCDIC or C</\364/> on ASCII platforms to 
+If you do want to match the alphabet gap characters in a single octet
+regular expression try matching the hex or octal code such
+as C</\313/> on EBCDIC or C</\364/> on ASCII platforms to
 have your regular expression match C<o WITH CIRCUMFLEX>.
 
 Another construct to be wary of is the inappropriate use of hex or
@@ -953,8 +961,8 @@
     }
 
 The above would be adequate if the concern was only with numeric code points.
-However, the concern may be with characters rather than code points 
-and on an EBCDIC platform it may be desirable for constructs such as 
+However, the concern may be with characters rather than code points
+and on an EBCDIC platform it may be desirable for constructs such as
 C<if (is_print_ascii("A")) {print "A is a printable character\n";}> to print
 out the expected message.  One way to represent the above collection
 of character classification subs that is capable of working across the
@@ -964,7 +972,7 @@
         my $char = substr(shift,0,1);
         if (ord('^')==94)  { # ascii
             return $char =~ /[\000-\037]/;
-        } 
+        }
         if (ord('^')==176) { # 0037
             return $char =~ /[\000-\003\067\055-\057\026\005\045\013-\023\074\075\062\046\030\031\077\047\034-\037]/;
         }
@@ -1000,7 +1008,7 @@
             return $char =~ /[\040-\045\006\027\050-\054\011\012\033\060\061\032\063-\066\010\070-\073\040\024\076\377]/;
         }
         if (ord('^')==106) { # posix-bc
-            return $char =~ 
+            return $char =~
               /[\040-\045\006\027\050-\054\011\012\033\060\061\032\063-\066\010\070-\073\040\024\076\137]/;
         }
     }
@@ -1011,21 +1019,21 @@
             return $char =~ /[\240-\377]/;
         }
         if (ord('^')==176) { # 0037
-            return $char =~ 
+            return $char =~
               /[\101\252\112\261\237\262\152\265\275\264\232\212\137\312\257\274\220\217\352\372\276\240\266\263\235\332\233\213\267\270\271\253\144\145\142\146\143\147\236\150\164\161-\163\170\165-\167\254\151\355\356\353\357\354\277\200\375\376\373\374\255\256\131\104\105\102\106\103\107\234\110\124\121-\123\130\125-\127\214\111\315\316\313\317\314\341\160\335\336\333\334\215\216\337]/;
         }
         if (ord('^')==95)  { # 1047
             return $char =~
-              /[\101\252\112\261\237\262\152\265\273\264\232\212\260\312\257\274\220\217\352\372\276\240\266\263\235\332\233\213\267\270\271\253\144\145\142\146\143\147\236\150\164\161-\163\170\165-\167\254\151\355\356\353\357\354\277\200\375\376\373\374\272\256\131\104\105\102\106\103\107\234\110\124\121-\123\130\125-\127\214\111\315\316\313\317\314\341\160\335\336\333\334\215\216\337]/; 
+              /[\101\252\112\261\237\262\152\265\273\264\232\212\260\312\257\274\220\217\352\372\276\240\266\263\235\332\233\213\267\270\271\253\144\145\142\146\143\147\236\150\164\161-\163\170\165-\167\254\151\355\356\353\357\354\277\200\375\376\373\374\272\256\131\104\105\102\106\103\107\234\110\124\121-\123\130\125-\127\214\111\315\316\313\317\314\341\160\335\336\333\334\215\216\337]/;
         }
         if (ord('^')==106) { # posix-bc
-            return $char =~ 
+            return $char =~
               /[\101\252\260\261\237\262\320\265\171\264\232\212\272\312\257\241\220\217\352\372\276\240\266\263\235\332\233\213\267\270\271\253\144\145\142\146\143\147\236\150\164\161-\163\170\165-\167\254\151\355\356\353\357\354\277\200\340\376\335\374\255\256\131\104\105\102\106\103\107\234\110\124\121-\123\130\125-\127\214\111\315\316\313\317\314\341\160\300\336\333\334\215\216\337]/;
         }
     }
 
-Note however that only the C<Is_ascii_print()> sub is really independent 
-of coded character set.  Another way to write C<Is_latin_1()> would be 
+Note however that only the C<Is_ascii_print()> sub is really independent
+of coded character set.  Another way to write C<Is_latin_1()> would be
 to use the characters in the range explicitly:
 
     sub Is_latin_1 {
@@ -1033,7 +1041,7 @@
         $char =~ /[ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ]/;
     }
 
-Although that form may run into trouble in network transit (due to the 
+Although that form may run into trouble in network transit (due to the
 presence of 8 bit characters) or on non ISO-Latin character sets.
 
 =head1 SOCKETS
@@ -1057,12 +1065,12 @@
 
 The property of lowercase before uppercase letters in EBCDIC is
 even carried to the Latin 1 EBCDIC pages such as 0037 and 1047.
-An example would be that E<Euml> C<E WITH DIAERESIS> (203) comes 
-before E<euml> C<e WITH DIAERESIS> (235) on an ASCII platform, but 
-the latter (83) comes before the former (115) on an EBCDIC platform.  
-(Astute readers will note that the uppercase version of E<szlig> 
-C<SMALL LETTER SHARP S> is simply "SS" and that the upper case version of 
-E<yuml> C<y WITH DIAERESIS> is not in the 0..255 range but it is 
+An example would be that E<Euml> C<E WITH DIAERESIS> (203) comes
+before E<euml> C<e WITH DIAERESIS> (235) on an ASCII platform, but
+the latter (83) comes before the former (115) on an EBCDIC platform.
+(Astute readers will note that the uppercase version of E<szlig>
+C<SMALL LETTER SHARP S> is simply "SS" and that the upper case version of
+E<yuml> C<y WITH DIAERESIS> is not in the 0..255 range but it is
 at U+x0178 in Unicode, or C<"\x{178}"> in a Unicode enabled Perl).
 
 The sort order will cause differences between results obtained on
@@ -1081,21 +1089,21 @@
 If the data are primarily UPPERCASE non Latin 1 then apply tr/[a-z]/[A-Z]/
 then sort().  If the data are primarily lowercase non Latin 1 then
 apply tr/[A-Z]/[a-z]/ before sorting.  If the data are primarily UPPERCASE
-and include Latin-1 characters then apply:  
+and include Latin-1 characters then apply:
 
-    tr/[a-z]/[A-Z]/;
-    tr/[àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ]/[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ/;
-    s/ß/SS/g;
+   tr/[a-z]/[A-Z]/;
+   tr/[àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþ]/[ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ/;
+   s/ß/SS/g;
 
-then sort().  Do note however that such Latin-1 manipulation does not 
-address the E<yuml> C<y WITH DIAERESIS> character that will remain at 
-code point 255 on ASCII platforms, but 223 on most EBCDIC platforms 
-where it will sort to a place less than the EBCDIC numerals.  With a 
+then sort().  Do note however that such Latin-1 manipulation does not
+address the E<yuml> C<y WITH DIAERESIS> character that will remain at
+code point 255 on ASCII platforms, but 223 on most EBCDIC platforms
+where it will sort to a place less than the EBCDIC numerals.  With a
 Unicode-enabled Perl you might try:
 
     tr/^?/\x{178}/;
 
-The strategy of mono casing data before sorting does not preserve the case 
+The strategy of mono casing data before sorting does not preserve the case
 of the data and may not be acceptable for that reason.
 
 =head2 Convert, sort data, then re convert.
@@ -1110,15 +1118,15 @@
 
 =head1 TRANSFORMATION FORMATS
 
-There are a variety of ways of transforming data with an intra character set 
-mapping that serve a variety of purposes.  Sorting was discussed in the 
-previous section and a few of the other more popular mapping techniques are 
+There are a variety of ways of transforming data with an intra character set
+mapping that serve a variety of purposes.  Sorting was discussed in the
+previous section and a few of the other more popular mapping techniques are
 discussed next.
 
 =head2 URL decoding and encoding
 
 Note that some URLs have hexadecimal ASCII code points in them in an
-attempt to overcome character or protocol limitation issues.  For example 
+attempt to overcome character or protocol limitation issues.  For example
 the tilde character is not on every keyboard hence a URL of the form:
 
     http://www.pvhp.com/~pvhp/
@@ -1154,7 +1162,7 @@
     );
     $url =~ s/%([0-9a-fA-F]{2})/pack("c",$a2e_1047[hex($1)])/ge;
 
-Conversely, here is a partial solution for the task of encoding such 
+Conversely, here is a partial solution for the task of encoding such
 a URL under the 1047 code page:
 
     $url = 'http://www.pvhp.com/~pvhp/';
@@ -1177,11 +1185,11 @@
          92,247, 83, 84, 85, 86, 87, 88, 89, 90,178,212,214,210,211,213,
          48, 49, 50, 51, 52, 53, 54, 55, 56, 57,179,219,220,217,218,159
     );
-    # The following regular expression does not address the 
-    # mappings for: ('.' => '%2E', '/' => '%2F', ':' => '%3A') 
+    # The following regular expression does not address the
+    # mappings for: ('.' => '%2E', '/' => '%2F', ':' => '%3A')
     $url =~ s/([\t "#%&\(\),;<=>\?\@\[\\\]^`{|}~])/sprintf("%%%02X",$e2a_1047[ord($1)])/ge;
 
-where a more complete solution would split the URL into components 
+where a more complete solution would split the URL into components
 and apply a full s/// substitution only to the appropriate parts.
 
 In the remaining examples a @e2a or @a2e array may be employed
@@ -1190,8 +1198,8 @@
 
 =head2 uu encoding and decoding
 
-The C<u> template to pack() or unpack() will render EBCDIC data in EBCDIC 
-characters equivalent to their ASCII counterparts.  For example, the 
+The C<u> template to pack() or unpack() will render EBCDIC data in EBCDIC
+characters equivalent to their ASCII counterparts.  For example, the
 following will print "Yes indeed\n" on either an ASCII or EBCDIC computer:
 
     $all_byte_chrs = '';
@@ -1240,8 +1248,8 @@
     # This QP encoder works on ASCII only
     $qp_string =~ s/([=\x00-\x1F\x80-\xFF])/sprintf("=%02X",ord($1))/ge;
 
-Whereas a QP encoder that works on both ASCII and EBCDIC platforms 
-would look somewhat like the following (where the EBCDIC branch @e2a 
+Whereas a QP encoder that works on both ASCII and EBCDIC platforms
+would look somewhat like the following (where the EBCDIC branch @e2a
 array is omitted for brevity):
 
     if (ord('A') == 65) {    # ASCII
@@ -1256,7 +1264,7 @@
       s/([^ !"\#\$%&'()*+,\-.\/0-9:;<>?\@A-Z[\\\]^_`a-z{|}~$delete])/sprintf("=%02X",$e2a[ord($1)])/ge;
 
 (although in production code the substitutions might be done
-in the EBCDIC branch with the @e2a array and separately in the 
+in the EBCDIC branch with the @e2a array and separately in the
 ASCII branch without the expense of the identity map).
 
 Such QP strings can be decoded with:
@@ -1265,7 +1273,7 @@
     $string =~ s/=([0-9A-Fa-f][0-9A-Fa-f])/chr hex $1/ge;
     $string =~ s/=[\n\r]+$//;
 
-Whereas a QP decoder that works on both ASCII and EBCDIC platforms 
+Whereas a QP decoder that works on both ASCII and EBCDIC platforms
 would look somewhat like the following (where the @a2e array is
 omitted for brevity):
 
@@ -1276,13 +1284,13 @@
 
 The practice of shifting an alphabet one or more characters for encipherment
 dates back thousands of years and was explicitly detailed by Gaius Julius
-Caesar in his B<Gallic Wars> text.  A single alphabet shift is sometimes 
+Caesar in his B<Gallic Wars> text.  A single alphabet shift is sometimes
 referred to as a rotation and the shift amount is given as a number $n after
-the string 'rot' or "rot$n".  Rot0 and rot26 would designate identity maps 
-on the 26-letter English version of the Latin alphabet.  Rot13 has the 
-interesting property that alternate subsequent invocations are identity maps 
-(thus rot13 is its own non-trivial inverse in the group of 26 alphabet 
-rotations).  Hence the following is a rot13 encoder and decoder that will 
+the string 'rot' or "rot$n".  Rot0 and rot26 would designate identity maps
+on the 26-letter English version of the Latin alphabet.  Rot13 has the
+interesting property that alternate subsequent invocations are identity maps
+(thus rot13 is its own non-trivial inverse in the group of 26 alphabet
+rotations).  Hence the following is a rot13 encoder and decoder that will
 work on ASCII and EBCDIC platforms:
 
     #!/usr/local/bin/perl
@@ -1299,7 +1307,7 @@
 
 =head1 Hashing order and checksums
 
-To the extent that it is possible to write code that depends on 
+To the extent that it is possible to write code that depends on
 hashing order there may be differences between hashes as stored
 on an ASCII-based platform and hashes stored on an EBCDIC-based platform.
 XXX
@@ -1306,14 +1314,14 @@
 
 =head1 I18N AND L10N
 
-Internationalization (I18N) and localization (L10N) are supported at least 
-in principle even on EBCDIC platforms.  The details are system-dependent 
+Internationalization (I18N) and localization (L10N) are supported at least
+in principle even on EBCDIC platforms.  The details are system-dependent
 and discussed under the L<perlebcdic/OS ISSUES> section below.
 
 =head1 MULTI-OCTET CHARACTER SETS
 
-Perl may work with an internal UTF-EBCDIC encoding form for wide characters 
-on EBCDIC platforms in a manner analogous to the way that it works with 
+Perl may work with an internal UTF-EBCDIC encoding form for wide characters
+on EBCDIC platforms in a manner analogous to the way that it works with
 the UTF-8 internal encoding form on ASCII based platforms.
 
 Legacy multi byte EBCDIC code pages XXX.
@@ -1320,7 +1328,7 @@
 
 =head1 OS ISSUES
 
-There may be a few system-dependent issues 
+There may be a few system-dependent issues
 of concern to EBCDIC Perl programmers.
 
 =head2 OS/400
@@ -1347,8 +1355,8 @@
 
 =item chcp
 
-B<chcp> is supported as a shell utility for displaying and changing 
-one's code page.  See also L<chcp>.
+B<chcp> is supported as a shell utility for displaying and changing
+one's code page.  See also L<chcp(1)>.
 
 =item dataset access
 
@@ -1375,10 +1383,6 @@
 
 =back
 
-=head2 VM/ESA?
-
-XXX.
-
 =head2 POSIX-BC?
 
 XXX.
@@ -1385,16 +1389,16 @@
 
 =head1 BUGS
 
-This pod document contains literal Latin 1 characters and may encounter 
-translation difficulties.  In particular one popular nroff implementation 
-was known to strip accented characters to their unaccented counterparts 
-while attempting to view this document through the B<pod2man> program 
-(for example, you may see a plain C<y> rather than one with a diaeresis 
+This pod document contains literal Latin 1 characters and may encounter
+translation difficulties.  In particular one popular nroff implementation
+was known to strip accented characters to their unaccented counterparts
+while attempting to view this document through the B<pod2man> program
+(for example, you may see a plain C<y> rather than one with a diaeresis
 as in E<yuml>).  Another nroff truncated the resultant manpage at
 the first occurrence of 8 bit characters.
 
 Not all shells will allow multiple C<-e> string arguments to perl to
-be concatenated together properly as recipes 0, 2, 4, 5, and 6 might 
+be concatenated together properly as recipes 0, 2, 4, 5, and 6 might
 seem to imply.
 
 =head1 SEE ALSO
@@ -1413,13 +1417,13 @@
 B<ASCII: American Standard Code for Information Infiltration> Tom Jennings,
 September 1999.
 
-B<The Unicode Standard, Version 3.0> The Unicode Consortium, Lisa Moore ed., 
-ISBN 0-201-61633-5, Addison Wesley Developers Press, February 2000. 
+B<The Unicode Standard, Version 3.0> The Unicode Consortium, Lisa Moore ed.,
+ISBN 0-201-61633-5, Addison Wesley Developers Press, February 2000.
 
-B<CDRA: IBM - Character Data Representation Architecture - 
-Reference and Registry>, IBM SC09-2190-00, December 1996. 
+B<CDRA: IBM - Character Data Representation Architecture -
+Reference and Registry>, IBM SC09-2190-00, December 1996.
 
-"Demystifying Character Sets", Andrea Vine, Multilingual Computing 
+"Demystifying Character Sets", Andrea Vine, Multilingual Computing
 & Technology, B<#26 Vol. 10 Issue 4>, August/September 1999;
 ISSN 1523-0309; Multilingual Computing Inc. Sandpoint ID, USA.
 
@@ -1436,11 +1440,11 @@
 
 =head1 AUTHOR
 
-Peter Prymmer pvhp at best.com wrote this in 1999 and 2000 
-with CCSID 0819 and 0037 help from Chris Leach and 
-AndrE<eacute> Pirard A.Pirard at ulg.ac.be as well as POSIX-BC 
+Peter Prymmer pvhp at best.com wrote this in 1999 and 2000
+with CCSID 0819 and 0037 help from Chris Leach and
+AndrE<eacute> Pirard A.Pirard at ulg.ac.be as well as POSIX-BC
 help from Thomas Dorner Thomas.Dorner at start.de.
-Thanks also to Vickie Cooper, Philip Newton, William Raffloer, and 
-Joe Smith.  Trademarks, registered trademarks, service marks and 
-registered service marks used in this document are the property of 
+Thanks also to Vickie Cooper, Philip Newton, William Raffloer, and
+Joe Smith.  Trademarks, registered trademarks, service marks and
+registered service marks used in this document are the property of
 their respective owners.


Property changes on: vendor/perl/dist/pod/perlebcdic.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlembed.pod
===================================================================
--- vendor/perl/dist/pod/perlembed.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlembed.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -490,7 +490,7 @@
      SvREFCNT_dec(command);
 
      *match_list = get_av("array", 0);
-     num_matches = av_len(*match_list) + 1;
+     num_matches = av_top_index(*match_list) + 1;
 
      return num_matches;
  }
@@ -1114,18 +1114,4 @@
 Copyright (C) 1995, 1996, 1997, 1998 Doug MacEachern and Jon Orwant.  All
 Rights Reserved.
 
-Permission is granted to make and distribute verbatim copies of this
-documentation provided the copyright notice and this permission notice are
-preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-documentation under the conditions for verbatim copying, provided also
-that they are marked clearly as modified versions, that the authors'
-names and title are unchanged (though subtitles and additional
-authors' names may be added), and that the entire resulting derived
-work is distributed under the terms of a permission notice identical
-to this one.
-
-Permission is granted to copy and distribute translations of this
-documentation into another language, under the above conditions for
-modified versions.
+This document may be distributed under the same terms as Perl itself.


Property changes on: vendor/perl/dist/pod/perlembed.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq1.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq1.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq1.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq1.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq2.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq2.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq2.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq2.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq3.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq3.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq3.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq3.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq4.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq4.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq4.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq4.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq5.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq5.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq5.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq5.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq6.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq6.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq6.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq6.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq7.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq7.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq7.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq7.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq8.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq8.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq8.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq8.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfaq9.pod
===================================================================
--- vendor/perl/dist/pod/perlfaq9.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfaq9.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfaq9.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlfilter.pod
===================================================================
--- vendor/perl/dist/pod/perlfilter.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfilter.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlfilter.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlfork.pod
===================================================================
--- vendor/perl/dist/pod/perlfork.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfork.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -78,10 +78,12 @@
 =item kill()
 
 C<kill('KILL', ...)> can be used to terminate a pseudo-process by
-passing it the ID returned by fork().  This should not be used except
+passing it the ID returned by fork(). The outcome of kill on a pseudo-process
+is unpredictable and it should not be used except
 under dire circumstances, because the operating system may not
 guarantee integrity of the process resources when a running thread is
-terminated.  Note that using C<kill('KILL', ...)> on a
+terminated.  The process which implements the pseudo-processes can be blocked
+and the Perl interpreter hangs. Note that using C<kill('KILL', ...)> on a
 pseudo-process() may typically cause memory leaks, because the thread
 that implements the pseudo-process does not get a chance to clean up
 its resources.
@@ -307,6 +309,12 @@
 
 =back
 
+=head1 PORTABILITY CAVEATS
+
+In portable Perl code, C<kill(9, $child)> must not be used on forked processes.
+Killing a forked process is unsafe and has unpredictable results.
+See L</kill()>, above.
+
 =head1 BUGS
 
 =over 8


Property changes on: vendor/perl/dist/pod/perlfork.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlform.pod
===================================================================
--- vendor/perl/dist/pod/perlform.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlform.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -393,7 +393,7 @@
 yourself if necessary.
 
 Here's another strategy: Open a pipe to yourself, using C<open(MYSELF, "|-")>
-(see L<perlfunc/"open FILEHANDLE">) and always write() to MYSELF instead of STDOUT.
+(see L<perlfunc/open>) and always write() to MYSELF instead of STDOUT.
 Have your child process massage its STDIN to rearrange headers and footers
 however you like.  Not very convenient, but doable.
 
@@ -400,7 +400,7 @@
 =head2 Accessing Formatting Internals
 X<format, internals>
 
-For low-level access to the formatting mechanism.  you may use formline()
+For low-level access to the formatting mechanism, you may use formline()
 and access C<$^A> (the $ACCUMULATOR variable) directly.
 
 For example:
@@ -409,7 +409,7 @@
     @<<<  @|||  @>>>
     END
 
-    print "Wow, I just stored `$^A' in the accumulator!\n";
+    print "Wow, I just stored '$^A' in the accumulator!\n";
 
 Or to make an swrite() subroutine, which is to write() what sprintf()
 is to printf(), do this:
@@ -440,7 +440,7 @@
 
 Lexical variables (declared with "my") are not visible within a
 format unless the format is declared within the scope of the lexical
-variable.  (They weren't visible at all before version 5.001.)
+variable.
 
 If a program's environment specifies an LC_NUMERIC locale and C<use
 locale> is in effect when the format is declared, the locale is used


Property changes on: vendor/perl/dist/pod/perlform.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlfunc.pod
===================================================================
--- vendor/perl/dist/pod/perlfunc.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlfunc.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -107,18 +107,29 @@
 =item Functions for SCALARs or strings
 X<scalar> X<string> X<character>
 
-C<chomp>, C<chop>, C<chr>, C<crypt>, C<hex>, C<index>, C<lc>, C<lcfirst>,
-C<length>, C<oct>, C<ord>, C<pack>, C<q//>, C<qq//>, C<reverse>,
+=for Pod::Functions =String
+
+C<chomp>, C<chop>, C<chr>, C<crypt>, C<fc>, C<hex>, C<index>, C<lc>,
+C<lcfirst>, C<length>, C<oct>, C<ord>, C<pack>, C<q//>, C<qq//>, C<reverse>,
 C<rindex>, C<sprintf>, C<substr>, C<tr///>, C<uc>, C<ucfirst>, C<y///>
 
+C<fc> is available only if the C<"fc"> feature is enabled or if it is
+prefixed with C<CORE::>.  The C<"fc"> feature is enabled automatically
+with a C<use v5.16> (or higher) declaration in the current scope.
+
+
 =item Regular expressions and pattern matching
 X<regular expression> X<regex> X<regexp>
 
-C<m//>, C<pos>, C<quotemeta>, C<s///>, C<split>, C<study>, C<qr//>
+=for Pod::Functions =Regexp
 
+C<m//>, C<pos>, C<qr//>, C<quotemeta>, C<s///>, C<split>, C<study>
+
 =item Numeric functions
 X<numeric> X<number> X<trigonometric> X<trigonometry>
 
+=for Pod::Functions =Math
+
 C<abs>, C<atan2>, C<cos>, C<exp>, C<hex>, C<int>, C<log>, C<oct>, C<rand>,
 C<sin>, C<sqrt>, C<srand>
 
@@ -125,34 +136,51 @@
 =item Functions for real @ARRAYs
 X<array>
 
+=for Pod::Functions =ARRAY
+
 C<each>, C<keys>, C<pop>, C<push>, C<shift>, C<splice>, C<unshift>, C<values>
 
 =item Functions for list data
 X<list>
 
+=for Pod::Functions =LIST
+
 C<grep>, C<join>, C<map>, C<qw//>, C<reverse>, C<sort>, C<unpack>
 
 =item Functions for real %HASHes
 X<hash>
 
+=for Pod::Functions =HASH
+
 C<delete>, C<each>, C<exists>, C<keys>, C<values>
 
 =item Input and output functions
 X<I/O> X<input> X<output> X<dbm>
 
+=for Pod::Functions =I/O
+
 C<binmode>, C<close>, C<closedir>, C<dbmclose>, C<dbmopen>, C<die>, C<eof>,
 C<fileno>, C<flock>, C<format>, C<getc>, C<print>, C<printf>, C<read>,
-C<readdir>, C<rewinddir>, C<say>, C<seek>, C<seekdir>, C<select>, C<syscall>,
-C<sysread>, C<sysseek>, C<syswrite>, C<tell>, C<telldir>, C<truncate>,
-C<warn>, C<write>
+C<readdir>, C<readline> C<rewinddir>, C<say>, C<seek>, C<seekdir>, C<select>,
+C<syscall>, C<sysread>, C<sysseek>, C<syswrite>, C<tell>, C<telldir>,
+C<truncate>, C<warn>, C<write>
 
+C<say> is available only if the C<"say"> feature is enabled or if it is
+prefixed with C<CORE::>.  The C<"say"> feature is enabled automatically
+with a C<use v5.10> (or higher) declaration in the current scope.
+
 =item Functions for fixed-length data or records
 
-C<pack>, C<read>, C<syscall>, C<sysread>, C<syswrite>, C<unpack>, C<vec>
+=for Pod::Functions =Binary
 
+C<pack>, C<read>, C<syscall>, C<sysread>, C<sysseek>, C<syswrite>, C<unpack>,
+C<vec>
+
 =item Functions for filehandles, files, or directories
 X<file> X<filehandle> X<directory> X<pipe> X<link> X<symlink>
 
+=for Pod::Functions =File
+
 C<-I<X>>, C<chdir>, C<chmod>, C<chown>, C<chroot>, C<fcntl>, C<glob>,
 C<ioctl>, C<link>, C<lstat>, C<mkdir>, C<open>, C<opendir>,
 C<readlink>, C<rename>, C<rmdir>, C<stat>, C<symlink>, C<sysopen>,
@@ -161,44 +189,65 @@
 =item Keywords related to the control flow of your Perl program
 X<control flow>
 
-C<caller>, C<continue>, C<die>, C<do>, C<dump>, C<eval>, C<exit>,
-C<goto>, C<last>, C<next>, C<redo>, C<return>, C<sub>, C<wantarray>
+=for Pod::Functions =Flow
 
-=item Keywords related to the switch feature
+C<break>, C<caller>, C<continue>, C<die>, C<do>,
+C<dump>, C<eval>, C<evalbytes> C<exit>,
+C<__FILE__>, C<goto>, C<last>, C<__LINE__>, C<next>, C<__PACKAGE__>,
+C<redo>, C<return>, C<sub>, C<__SUB__>, C<wantarray>
 
-C<break>, C<continue>, C<default, >C<given>, C<when>
+C<break> is available only if you enable the experimental C<"switch">
+feature or use the C<CORE::> prefix. The C<"switch"> feature also enables
+the C<default>, C<given> and C<when> statements, which are documented in
+L<perlsyn/"Switch Statements">. The C<"switch"> feature is enabled
+automatically with a C<use v5.10> (or higher) declaration in the current
+scope. In Perl v5.14 and earlier, C<continue> required the C<"switch">
+feature, like the other keywords.
 
-These are available only if you enable the C<"switch"> feature.
-See L<feature> and L<perlsyn/"Switch statements">.  
-Alternately, include a C<use v5.10> or later to the current scope.
+C<evalbytes> is only available with the C<"evalbytes"> feature (see
+L<feature>) or if prefixed with C<CORE::>.  C<__SUB__> is only available
+with the C<"current_sub"> feature or if prefixed with C<CORE::>. Both
+the C<"evalbytes"> and C<"current_sub"> features are enabled automatically
+with a C<use v5.16> (or higher) declaration in the current scope.
 
 =item Keywords related to scoping
 
+=for Pod::Functions =Namespace
+
 C<caller>, C<import>, C<local>, C<my>, C<our>, C<package>, C<state>, C<use>
 
-C<state> is available only if the C<"state"> feature is enabled. See
-L<feature>.  Alternately, include a C<use v5.10> or later to the current scope.
+C<state> is available only if the C<"state"> feature is enabled or if it is
+prefixed with C<CORE::>.  The C<"state"> feature is enabled automatically
+with a C<use v5.10> (or higher) declaration in the current scope.
 
 =item Miscellaneous functions
 
-C<defined>, C<dump>, C<eval>, C<formline>, C<local>, C<my>, C<our>,
-C<reset>, C<scalar>, C<state>, C<undef>, C<wantarray>
+=for Pod::Functions =Misc
 
+C<defined>, C<formline>, C<lock>, C<prototype>, C<reset>, C<scalar>, C<undef>
+
 =item Functions for processes and process groups
 X<process> X<pid> X<process id>
 
+=for Pod::Functions =Process
+
 C<alarm>, C<exec>, C<fork>, C<getpgrp>, C<getppid>, C<getpriority>, C<kill>,
-C<pipe>, C<qx//>, C<setpgrp>, C<setpriority>, C<sleep>, C<system>,
+C<pipe>, C<qx//>, C<readpipe>, C<setpgrp>,
+C<setpriority>, C<sleep>, C<system>,
 C<times>, C<wait>, C<waitpid>
 
 =item Keywords related to Perl modules
 X<module>
 
+=for Pod::Functions =Modules
+
 C<do>, C<import>, C<no>, C<package>, C<require>, C<use>
 
 =item Keywords related to classes and object-orientation
 X<object> X<class> X<package>
 
+=for Pod::Functions =Objects
+
 C<bless>, C<dbmclose>, C<dbmopen>, C<package>, C<ref>, C<tie>, C<tied>,
 C<untie>, C<use>
 
@@ -205,6 +254,8 @@
 =item Low-level socket functions
 X<socket> X<sock>
 
+=for Pod::Functions =Socket
+
 C<accept>, C<bind>, C<connect>, C<getpeername>, C<getsockname>,
 C<getsockopt>, C<listen>, C<recv>, C<send>, C<setsockopt>, C<shutdown>,
 C<socket>, C<socketpair>
@@ -212,6 +263,8 @@
 =item System V interprocess communication functions
 X<IPC> X<System V> X<semaphore> X<shared memory> X<memory> X<message>
 
+=for Pod::Functions =SysV
+
 C<msgctl>, C<msgget>, C<msgrcv>, C<msgsnd>, C<semctl>, C<semget>, C<semop>,
 C<shmctl>, C<shmget>, C<shmread>, C<shmwrite>
 
@@ -218,6 +271,8 @@
 =item Fetching user and group info
 X<user> X<group> X<password> X<uid> X<gid>  X<passwd> X</etc/passwd>
 
+=for Pod::Functions =User
+
 C<endgrent>, C<endhostent>, C<endnetent>, C<endpwent>, C<getgrent>,
 C<getgrgid>, C<getgrnam>, C<getlogin>, C<getpwent>, C<getpwnam>,
 C<getpwuid>, C<setgrent>, C<setpwent>
@@ -225,6 +280,8 @@
 =item Fetching network info
 X<network> X<protocol> X<host> X<hostname> X<IP> X<address> X<service>
 
+=for Pod::Functions =Network
+
 C<endprotoent>, C<endservent>, C<gethostbyaddr>, C<gethostbyname>,
 C<gethostent>, C<getnetbyaddr>, C<getnetbyname>, C<getnetent>,
 C<getprotobyname>, C<getprotobynumber>, C<getprotoent>,
@@ -234,24 +291,20 @@
 =item Time-related functions
 X<time> X<date>
 
+=for Pod::Functions =Time
+
 C<gmtime>, C<localtime>, C<time>, C<times>
 
-=item Functions new in perl5
-X<perl5>
+=item Non-function keywords
 
-C<abs>, C<bless>, C<break>, C<chomp>, C<chr>, C<continue>, C<default>, 
-C<exists>, C<formline>, C<given>, C<glob>, C<import>, C<lc>, C<lcfirst>,
-C<lock>, C<map>, C<my>, C<no>, C<our>, C<prototype>, C<qr//>, C<qw//>, C<qx//>,
-C<readline>, C<readpipe>, C<ref>, C<sub>*, C<sysopen>, C<tie>, C<tied>, C<uc>,
-C<ucfirst>, C<untie>, C<use>, C<when>
+=for Pod::Functions =!Non-functions
 
-* C<sub> was a keyword in Perl 4, but in Perl 5 it is an
-operator, which can be used in expressions.
+C<and>, C<AUTOLOAD>, C<BEGIN>, C<CHECK>, C<cmp>, C<CORE>, C<__DATA__>,
+C<default>, C<DESTROY>, C<else>, C<elseif>, C<elsif>, C<END>, C<__END__>,
+C<eq>, C<for>, C<foreach>, C<ge>, C<given>, C<gt>, C<if>, C<INIT>, C<le>,
+C<lt>, C<ne>, C<not>, C<or>, C<UNITCHECK>, C<unless>, C<until>, C<when>,
+C<while>, C<x>, C<xor>
 
-=item Functions obsoleted in perl5
-
-C<dbmclose>, C<dbmopen>
-
 =back
 
 =head2 Portability
@@ -298,6 +351,8 @@
 
 =item -X
 
+=for Pod::Functions a file test (-r, -x, etc)
+
 A file test, where X is one of the letters listed below.  This unary
 operator takes one argument, either a filename, a filehandle, or a dirhandle, 
 and tests the associated file to see if something is true about it.  If the
@@ -339,7 +394,8 @@
 
     -M  Script start time minus file modification time, in days.
     -A  Same for access time.
-    -C  Same for inode change time (Unix, may differ for other platforms)
+    -C  Same for inode change time (Unix, may differ for other
+	platforms)
 
 Example:
 
@@ -354,8 +410,8 @@
 following a minus are interpreted as file tests.
 
 These operators are exempt from the "looks like a function rule" described
-above. That is, an opening parenthesis after the operator does not affect
-how much of the following code constitutes the argument. Put the opening
+above.  That is, an opening parenthesis after the operator does not affect
+how much of the following code constitutes the argument.  Put the opening
 parentheses before the operator to separate it from code that follows (this
 applies only to operators with higher precedence than unary operators, of
 course):
@@ -386,7 +442,7 @@
 access(2) family of system calls.  Also note that the C<-x> and C<-X> may
 under this pragma return true even if there are no execute permission
 bits set (nor any extra execute permission ACLs).  This strangeness is
-due to the underlying system calls' definitions. Note also that, due to
+due to the underlying system calls' definitions.  Note also that, due to
 the implementation of C<use filetest 'access'>, the C<_> special
 filehandle won't cache the results of the file tests when this pragma is
 in effect.  Read the documentation for the C<filetest> pragma for more
@@ -424,17 +480,26 @@
     print "Text\n" if -T _;
     print "Binary\n" if -B _;
 
-As of Perl 5.9.1, as a form of purely syntactic sugar, you can stack file
+As of Perl 5.10.0, as a form of purely syntactic sugar, you can stack file
 test operators, in a way that C<-f -w -x $file> is equivalent to
-C<-x $file && -w _ && -f _>. (This is only fancy fancy: if you use
+C<-x $file && -w _ && -f _>.  (This is only fancy fancy: if you use
 the return value of C<-f $file> as an argument to another filetest
 operator, no special magic will happen.)
 
+Portability issues: L<perlport/-X>.
+
+To avoid confusing would-be users of your code with mysterious
+syntax errors, put something like this at the top of your script:
+
+    use 5.010;  # so filetest ops can stack
+
 =item abs VALUE
 X<abs> X<absolute>
 
 =item abs
 
+=for Pod::Functions absolute value function
+
 Returns the absolute value of its argument.
 If VALUE is omitted, uses C<$_>.
 
@@ -441,6 +506,8 @@
 =item accept NEWSOCKET,GENERICSOCKET
 X<accept>
 
+=for Pod::Functions accept an incoming socket connect
+
 Accepts an incoming socket connect, just as accept(2) 
 does.  Returns the packed address if it succeeded, false otherwise.
 See the example in L<perlipc/"Sockets: Client/Server Communication">.
@@ -456,9 +523,11 @@
 
 =item alarm
 
+=for Pod::Functions schedule a SIGALRM
+
 Arranges to have a SIGALRM delivered to this process after the
 specified number of wallclock seconds has elapsed.  If SECONDS is not
-specified, the value stored in C<$_> is used. (On some machines,
+specified, the value stored in C<$_> is used.  (On some machines,
 unfortunately, the elapsed time may be up to one second less or more
 than you specified because of how seconds are counted, and process
 scheduling may delay the delivery of the signal even further.)
@@ -473,7 +542,7 @@
 distribution) provides ualarm().  You may also use Perl's four-argument
 version of select() leaving the first three arguments undefined, or you
 might be able to use the C<syscall> interface to access setitimer(2) if
-your system supports it. See L<perlfaq8> for details.
+your system supports it.  See L<perlfaq8> for details.
 
 It is usually a mistake to intermix C<alarm> and C<sleep> calls, because
 C<sleep> may be internally implemented on your system with C<alarm>.
@@ -500,9 +569,13 @@
 
 For more information see L<perlipc>.
 
+Portability issues: L<perlport/alarm>.
+
 =item atan2 Y,X
 X<atan2> X<arctangent> X<tan> X<tangent>
 
+=for Pod::Functions arctangent of Y/X in the range -PI to PI
+
 Returns the arctangent of Y/X in the range -PI to PI.
 
 For the tangent operation, you may use the C<Math::Trig::tan>
@@ -513,9 +586,13 @@
 The return value for C<atan2(0,0)> is implementation-defined; consult
 your atan2(3) manpage for more information.
 
+Portability issues: L<perlport/atan2>.
+
 =item bind SOCKET,NAME
 X<bind>
 
+=for Pod::Functions binds an address to a socket
+
 Binds a network address to a socket, just as bind(2)
 does.  Returns true if it succeeded, false otherwise.  NAME should be a
 packed address of the appropriate type for the socket.  See the examples in
@@ -526,6 +603,8 @@
 
 =item binmode FILEHANDLE
 
+=for Pod::Functions prepare binary files for I/O
+
 Arranges for FILEHANDLE to be read or written in "binary" or "text"
 mode on systems where the run-time libraries distinguish between
 binary and text files.  If FILEHANDLE is an expression, the value is
@@ -542,16 +621,16 @@
 like images, for example.
 
 If LAYER is present it is a single string, but may contain multiple
-directives. The directives alter the behaviour of the filehandle.
+directives.  The directives alter the behaviour of the filehandle.
 When LAYER is present, using binmode on a text file makes sense.
 
 If LAYER is omitted or specified as C<:raw> the filehandle is made
-suitable for passing binary data. This includes turning off possible CRLF
+suitable for passing binary data.  This includes turning off possible CRLF
 translation and marking it as bytes (as opposed to Unicode characters).
 Note that, despite what may be implied in I<"Programming Perl"> (the
 Camel, 3rd edition) or elsewhere, C<:raw> is I<not> simply the inverse of C<:crlf>.
 Other layers that would affect the binary nature of the stream are
-I<also> disabled. See L<PerlIO>, L<perlrun>, and the discussion about the
+I<also> disabled.  See L<PerlIO>, L<perlrun>, and the discussion about the
 PERLIO environment variable.
 
 The C<:bytes>, C<:crlf>, C<:utf8>, and any other directives of the
@@ -568,7 +647,7 @@
 To mark FILEHANDLE as UTF-8, use C<:utf8> or C<:encoding(UTF-8)>.
 C<:utf8> just marks the data as UTF-8 without further checking,
 while C<:encoding(UTF-8)> checks the data for actually being valid
-UTF-8. More details can be found in L<PerlIO::encoding>.
+UTF-8.  More details can be found in L<PerlIO::encoding>.
 
 In general, binmode() should be called after open() but before any I/O
 is done on the filehandle.  Calling binmode() normally flushes any
@@ -591,7 +670,7 @@
 All variants of Unix, Mac OS (old and new), and Stream_LF files on VMS use
 a single character to end each line in the external representation of text
 (even though that single character is CARRIAGE RETURN on old, pre-Darwin
-flavors of Mac OS, and is LINE FEED on Unix and most VMS files). In other
+flavors of Mac OS, and is LINE FEED on Unix and most VMS files).  In other
 systems like OS/2, DOS, and the various flavors of MS-Windows, your program
 sees a C<\n> as a simple C<\cJ>, but what's stored in text files are the
 two characters C<\cM\cJ>.  That means that if you don't use binmode() on
@@ -612,22 +691,25 @@
 in L<perlvar> for how to manually set your input and output
 line-termination sequences.
 
+Portability issues: L<perlport/binmode>.
+
 =item bless REF,CLASSNAME
 X<bless>
 
 =item bless REF
 
+=for Pod::Functions create an object
+
 This function tells the thingy referenced by REF that it is now an object
 in the CLASSNAME package.  If CLASSNAME is omitted, the current package
 is used.  Because a C<bless> is often the last thing in a constructor,
 it returns the reference for convenience.  Always use the two-argument
 version if a derived class might inherit the function doing the blessing.
-See L<perltoot> and L<perlobj> for more about the blessing (and blessings)
-of objects.
+See L<perlobj> for more about the blessing (and blessings) of objects.
 
 Consider always blessing objects in CLASSNAMEs that are mixed case.
 Namespaces with all lowercase names are considered reserved for
-Perl pragmata.  Builtin types have all uppercase names. To prevent
+Perl pragmata.  Builtin types have all uppercase names.  To prevent
 confusion, you may wish to avoid such package names as well.  Make sure
 that CLASSNAME is a true value.
 
@@ -635,11 +717,14 @@
 
 =item break
 
+=for Pod::Functions +switch break out of a C<given> block
+
 Break out of a C<given()> block.
 
-This keyword is enabled by the C<"switch"> feature: see
-L<feature> for more information.  Alternately, include a C<use
-v5.10> or later to the current scope.
+This keyword is enabled by the C<"switch"> feature; see L<feature> for
+more information on C<"switch">.  You can also access it by prefixing it
+with C<CORE::>.  Alternatively, include a C<use v5.10> or later to the
+current scope.
 
 =item caller EXPR
 X<caller> X<call stack> X<stack> X<stack trace>
@@ -646,6 +731,8 @@
 
 =item caller
 
+=for Pod::Functions get context of the current subroutine call
+
 Returns the context of the current subroutine call.  In scalar context,
 returns the caller's package name if there I<is> a caller (that is, if
 we're in a subroutine or C<eval> or C<require>) and the undefined value
@@ -676,14 +763,17 @@
 subroutine happens to have been deleted from the symbol table.
 C<$hasargs> is true if a new instance of C<@_> was set up for the frame.
 C<$hints> and C<$bitmask> contain pragmatic hints that the caller was
-compiled with.  The C<$hints> and C<$bitmask> values are subject to change
-between versions of Perl, and are not meant for external use.
+compiled with.  C<$hints> corresponds to C<$^H>, and C<$bitmask>
+corresponds to C<${^WARNING_BITS}>.  The
+C<$hints> and C<$bitmask> values are subject
+to change between versions of Perl, and are not meant for external use.
 
 C<$hinthash> is a reference to a hash containing the value of C<%^H> when the
-caller was compiled, or C<undef> if C<%^H> was empty. Do not modify the values
+caller was compiled, or C<undef> if C<%^H> was empty.  Do not modify the values
 of this hash, as they are the actual values stored in the optree.
 
-Furthermore, when called from within the DB package, caller returns more
+Furthermore, when called from within the DB package in
+list context, and with an argument, caller returns more
 detailed information: it sets the list variable C<@DB::args> to be the
 arguments with which the subroutine was invoked.
 
@@ -694,18 +784,18 @@
 previous time C<caller> was called.
 
 Be aware that setting C<@DB::args> is I<best effort>, intended for
-debugging or generating backtraces, and should not be relied upon. In
+debugging or generating backtraces, and should not be relied upon.  In
 particular, as C<@_> contains aliases to the caller's arguments, Perl does
 not take a copy of C<@_>, so C<@DB::args> will contain modifications the
 subroutine makes to C<@_> or its contents, not the original values at call
-time. C<@DB::args>, like C<@_>, does not hold explicit references to its
+time.  C<@DB::args>, like C<@_>, does not hold explicit references to its
 elements, so under certain cases its elements may have become freed and
-reallocated for other variables or temporary values. Finally, a side effect
+reallocated for other variables or temporary values.  Finally, a side effect
 of the current implementation is that the effects of C<shift @_> can
 I<normally> be undone (but not C<pop @_> or other splicing, I<and> not if a
 reference to C<@_> has been taken, I<and> subject to the caveat about reallocated
 elements), so C<@DB::args> is actually a hybrid of the current state and
-initial state of C<@_>. Buyer beware.
+initial state of C<@_>.  Buyer beware.
 
 =item chdir EXPR
 X<chdir>
@@ -718,12 +808,14 @@
 
 =item chdir
 
-Changes the working directory to EXPR, if possible. If EXPR is omitted,
+=for Pod::Functions change your current working directory
+
+Changes the working directory to EXPR, if possible.  If EXPR is omitted,
 changes to the directory specified by C<$ENV{HOME}>, if set; if not,
-changes to the directory specified by C<$ENV{LOGDIR}>. (Under VMS, the
-variable C<$ENV{SYS$LOGIN}> is also checked, and used if it is set.) If
-neither is set, C<chdir> does nothing. It returns true on success,
-false otherwise. See the example under C<die>.
+changes to the directory specified by C<$ENV{LOGDIR}>.  (Under VMS, the
+variable C<$ENV{SYS$LOGIN}> is also checked, and used if it is set.)  If
+neither is set, C<chdir> does nothing.  It returns true on success,
+false otherwise.  See the example under C<die>.
 
 On systems that support fchdir(2), you may pass a filehandle or
 directory handle as the argument.  On systems that don't support fchdir(2),
@@ -732,6 +824,8 @@
 =item chmod LIST
 X<chmod> X<permission> X<mode>
 
+=for Pod::Functions changes the permissions on a list of files
+
 Changes the permissions of a list of files.  The first element of the
 list must be the numeric mode, which should probably be an octal
 number, and which definitely should I<not> be a string of octal digits:
@@ -761,6 +855,8 @@
     chmod S_IRWXU|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH, @executables;
     # Identical to the chmod 0755 of the example above.
 
+Portability issues: L<perlport/chmod>.
+
 =item chomp VARIABLE
 X<chomp> X<INPUT_RECORD_SEPARATOR> X<$/> X<newline> X<eol>
 
@@ -768,6 +864,8 @@
 
 =item chomp
 
+=for Pod::Functions remove a trailing record separator from a string
+
 This safer version of L</chop> removes any trailing string
 that corresponds to the current value of C<$/> (also known as
 $INPUT_RECORD_SEPARATOR in the C<English> module).  It returns the total
@@ -810,6 +908,8 @@
 
 =item chop
 
+=for Pod::Functions remove the last character from a string
+
 Chops off the last character of a string and returns the character
 chopped.  It is much more efficient than C<s/.$//s> because it neither
 scans nor copies the string.  If VARIABLE is omitted, chops C<$_>.
@@ -828,6 +928,8 @@
 =item chown LIST
 X<chown> X<owner> X<user> X<group>
 
+=for Pod::Functions change the ownership on a list of files
+
 Changes the owner (and group) of a list of files.  The first two
 elements of the list must be the I<numeric> uid and gid, in that
 order.  A value of -1 in either position is interpreted by most
@@ -864,11 +966,15 @@
     use POSIX qw(sysconf _PC_CHOWN_RESTRICTED);
     $can_chown_giveaway = not sysconf(_PC_CHOWN_RESTRICTED);
 
+Portability issues: L<perlport/chmod>.
+
 =item chr NUMBER
 X<chr> X<character> X<ASCII> X<Unicode>
 
 =item chr
 
+=for Pod::Functions get character this number represents
+
 Returns the character represented by that NUMBER in the character set.
 For example, C<chr(65)> is C<"A"> in either ASCII or Unicode, and
 chr(0x263a) is a Unicode smiley face.  
@@ -891,6 +997,8 @@
 
 =item chroot
 
+=for Pod::Functions make directory new root for path lookups
+
 This function works like the system call by the same name: it makes the
 named directory the new root directory for all further pathnames that
 begin with a C</> by your process and all its children.  (It doesn't
@@ -898,11 +1006,15 @@
 reasons, this call is restricted to the superuser.  If FILENAME is
 omitted, does a C<chroot> to C<$_>.
 
+Portability issues: L<perlport/chroot>.
+
 =item close FILEHANDLE
 X<close>
 
 =item close
 
+=for Pod::Functions close file (or pipe or socket) handle
+
 Closes the file or pipe associated with the filehandle, flushes the IO
 buffers, and closes the system file descriptor.  Returns true if those
 operations succeed and if no error was reported by any PerlIO
@@ -911,7 +1023,7 @@
 
 You don't have to close FILEHANDLE if you are immediately going to do
 another C<open> on it, because C<open> closes it for you.  (See
-C<open>.)  However, an explicit C<close> on an input file resets the line
+L<open|/open FILEHANDLE>.)  However, an explicit C<close> on an input file resets the line
 counter (C<$.>), while the implicit close done by C<open> does not.
 
 If the filehandle came from a piped open, C<close> returns false if one of
@@ -948,6 +1060,8 @@
 =item closedir DIRHANDLE
 X<closedir>
 
+=for Pod::Functions close directory handle
+
 Closes a directory opened by C<opendir> and returns the success of that
 system call.
 
@@ -954,6 +1068,8 @@
 =item connect SOCKET,NAME
 X<connect>
 
+=for Pod::Functions connect to a remote socket
+
 Attempts to connect to a remote socket, just like connect(2).
 Returns true if it succeeded, false otherwise.  NAME should be a
 packed address of the appropriate type for the socket.  See the examples in
@@ -964,7 +1080,10 @@
 
 =item continue
 
-C<continue> is actually a flow control statement rather than a function.  If
+=for Pod::Functions optional trailing block in a while or foreach
+
+When followed by a BLOCK, C<continue> is actually a
+flow control statement rather than a function.  If
 there is a C<continue> BLOCK attached to a BLOCK (typically in a C<while> or
 C<foreach>), it is always executed just before the conditional is about to
 be evaluated again, just like the third part of a C<for> loop in C.  Thus
@@ -991,10 +1110,12 @@
 empty one, logically enough, so C<next> goes directly back
 to check the condition at the top of the loop.
 
-If the C<"switch"> feature is enabled, C<continue> is also a function that
+When there is no BLOCK, C<continue> is a function that
 falls through the current C<when> or C<default> block instead of iterating
 a dynamically enclosing C<foreach> or exiting a lexically enclosing C<given>.
-See L<feature> and L<perlsyn/"Switch statements"> for more
+In Perl 5.14 and earlier, this form of C<continue> was
+only available when the C<"switch"> feature was enabled.
+See L<feature> and L<perlsyn/"Switch Statements"> for more
 information.
 
 =item cos EXPR
@@ -1002,6 +1123,8 @@
 
 =item cos
 
+=for Pod::Functions cosine function
+
 Returns the cosine of EXPR (expressed in radians).  If EXPR is omitted,
 takes the cosine of C<$_>.
 
@@ -1014,6 +1137,8 @@
 X<crypt> X<digest> X<hash> X<salt> X<plaintext> X<password>
 X<decrypt> X<cryptography> X<passwd> X<encrypt>
 
+=for Pod::Functions one-way passwd-style encryption
+
 Creates a digest string exactly like the crypt(3) function in the C
 library (assuming that you actually have a version there that has not
 been extirpated as a potential munition).
@@ -1046,7 +1171,7 @@
 
 Traditionally the result is a string of 13 bytes: two first bytes of
 the salt, followed by 11 bytes from the set C<[./0-9A-Za-z]>, and only
-the first eight bytes of PLAINTEXT mattered. But alternative
+the first eight bytes of PLAINTEXT mattered.  But alternative
 hashing schemes (like MD5), higher level security schemes (like C2),
 and implementations on non-Unix platforms may produce different
 strings.
@@ -1089,24 +1214,36 @@
 (on that copy).  If that works, good.  If not, crypt() dies with
 C<Wide character in crypt>.
 
+Portability issues: L<perlport/crypt>.
+
 =item dbmclose HASH
 X<dbmclose>
 
+=for Pod::Functions breaks binding on a tied dbm file
+
 [This function has been largely superseded by the C<untie> function.]
 
 Breaks the binding between a DBM file and a hash.
 
+Portability issues: L<perlport/dbmclose>.
+
 =item dbmopen HASH,DBNAME,MASK
 X<dbmopen> X<dbm> X<ndbm> X<sdbm> X<gdbm>
 
-[This function has been largely superseded by the C<tie> function.]
+=for Pod::Functions create binding on a tied dbm file
 
+[This function has been largely superseded by the
+L<tie|/tie VARIABLE,CLASSNAME,LIST> function.]
+
 This binds a dbm(3), ndbm(3), sdbm(3), gdbm(3), or Berkeley DB file to a
 hash.  HASH is the name of the hash.  (Unlike normal C<open>, the first
 argument is I<not> a filehandle, even though it looks like one).  DBNAME
 is the name of the database (without the F<.dir> or F<.pag> extension if
 any).  If the database does not exist, it is created with protection
-specified by MASK (as modified by the C<umask>).  If your system supports
+specified by MASK (as modified by the C<umask>).  To prevent creation of
+the database if it doesn't exist, you may specify a MODE
+of 0, and the function will return a false value if it
+can't find an existing database.  If your system supports
 only the older DBM functions, you may make only one C<dbmopen> call in your
 program.  In older versions of Perl, if your system had neither DBM nor
 ndbm, calling C<dbmopen> produced a fatal error; it now falls back to
@@ -1139,17 +1276,15 @@
     dbmopen(%NS_Hist, "$ENV{HOME}/.netscape/history.db")
         or die "Can't open netscape history file: $!";
 
-=item default BLOCK
+Portability issues: L<perlport/dbmopen>.
 
-Within a C<foreach> or a C<given>, a C<default> BLOCK acts like a C<when>
-that's always true.  Only available after Perl 5.10, and only if the
-C<switch> feature has been requested.  See L</when>.
-
 =item defined EXPR
 X<defined> X<undef> X<undefined>
 
 =item defined
 
+=for Pod::Functions test whether a value, variable, or function is defined
+
 Returns a Boolean value telling whether EXPR has a value other than
 the undefined value C<undef>.  If EXPR is not present, C<$_> is
 checked.
@@ -1212,6 +1347,8 @@
 =item delete EXPR
 X<delete>
 
+=for Pod::Functions deletes a value from a hash
+
 Given an expression that specifies an element or slice of a hash, C<delete>
 deletes the specified elements from that hash so that exists() on that element
 no longer returns true.  Setting a hash element to the undefined value does
@@ -1243,9 +1380,9 @@
 of composite types">.
 
     %hash = (foo => 11, bar => 22, baz => 33);
-    $scalar = delete $hash{foo};             # $scalar is 11
-    $scalar = delete @hash{qw(foo bar)};     # $scalar is 22
-    @array  = delete @hash{qw(foo bar baz)}; # @array  is (undef,undef,33)
+    $scalar = delete $hash{foo};         # $scalar is 11
+    $scalar = delete @hash{qw(foo bar)}; # $scalar is 22
+    @array  = delete @hash{qw(foo baz)}; # @array  is (undef,33)
 
 The following (inefficiently) deletes all the values of %HASH and @ARRAY:
 
@@ -1285,10 +1422,12 @@
 =item die LIST
 X<die> X<throw> X<exception> X<raise> X<$@> X<abort>
 
-C<die> raises an exception. Inside an C<eval> the error message is stuffed
+=for Pod::Functions raise an exception or bail out
+
+C<die> raises an exception.  Inside an C<eval> the error message is stuffed
 into C<$@> and the C<eval> is terminated with the undefined value.
 If the exception is outside of all enclosing C<eval>s, then the uncaught
-exception prints LIST to C<STDERR> and exits with a non-zero value. If you
+exception prints LIST to C<STDERR> and exits with a non-zero value.  If you
 need to exit the process with a specific exit code, see L</exit>.
 
 Equivalent examples:
@@ -1338,7 +1477,8 @@
     exit 255;                   # last resort
 
 The intent is to squeeze as much possible information about the likely cause
-into the limited space of the system exit code. However, as C<$!> is the value
+into the limited space of the system exit
+code.  However, as C<$!> is the value
 of C's C<errno>, which can be set by any system call, this means that the value
 of the exit code used by C<die> can be non-predictable, so should not be relied
 upon, other than to be non-zero.
@@ -1357,7 +1497,8 @@
 
     eval { ... ; die Some::Module::Exception->new( FOO => "bar" ) };
     if (my $ev_err = $@) {
-        if (blessed($ev_err) && $ev_err->isa("Some::Module::Exception")) {
+        if (blessed($ev_err)
+            && $ev_err->isa("Some::Module::Exception")) {
             # handle Some::Module::Exception
         }
         else {
@@ -1391,10 +1532,12 @@
 =item do BLOCK
 X<do> X<block>
 
+=for Pod::Functions turn a BLOCK into a TERM
+
 Not really a function.  Returns the value of the last command in the
 sequence of commands indicated by BLOCK.  When modified by the C<while> or
 C<until> loop modifier, executes the BLOCK once before testing the loop
-condition. (On other statements the loop modifiers test the conditional
+condition.  (On other statements the loop modifiers test the conditional
 first.)
 
 C<do BLOCK> does I<not> count as a loop, so the loop control statements
@@ -1404,8 +1547,8 @@
 =item do SUBROUTINE(LIST)
 X<do>
 
-This form of subroutine call is deprecated.  SUBROUTINE can be a bareword,
-a scalar variable or a subroutine beginning with C<&>.
+This form of subroutine call is deprecated.  SUBROUTINE can be a bareword
+or scalar variable.
 
 =item do EXPR
 X<do>
@@ -1415,11 +1558,12 @@
 
     do 'stat.pl';
 
-is just like
+is largely like
 
     eval `cat stat.pl`;
 
-except that it's more efficient and concise, keeps track of the current
+except that it's more concise, runs no external processes, keeps track of
+the current
 filename for error messages, searches the C<@INC> directories, and updates
 C<%INC> if the file is found.  See L<perlvar/@INC> and L<perlvar/%INC> for
 these variables.  It also differs in that code evaluated with C<do FILENAME>
@@ -1454,8 +1598,12 @@
 =item dump LABEL
 X<dump> X<core> X<undump>
 
+=item dump EXPR
+
 =item dump
 
+=for Pod::Functions create an immediate core dump
+
 This function causes an immediate core dump.  See also the B<-u>
 command-line switch in L<perlrun>, which does the same thing.
 Primarily this is so that you can use the B<undump> program (not
@@ -1464,7 +1612,9 @@
 program.  When the new binary is executed it will begin by executing
 a C<goto LABEL> (with all the restrictions that C<goto> suffers).
 Think of it as a goto with an intervening core dump and reincarnation.
-If C<LABEL> is omitted, restarts the program from the top.
+If C<LABEL> is omitted, restarts the program from the top.  The
+C<dump EXPR> form, available starting in Perl 5.18.0, allows a name to be
+computed at run time, being otherwise identical to C<dump LABEL>.
 
 B<WARNING>: Any files opened at the time of the dump will I<not>
 be open any more when the program is reincarnated, with possible
@@ -1471,10 +1621,17 @@
 resulting confusion by Perl.
 
 This function is now largely obsolete, mostly because it's very hard to
-convert a core file into an executable. That's why you should now invoke
+convert a core file into an executable.  That's why you should now invoke
 it as C<CORE::dump()>, if you don't want to be warned against a possible
 typo.
 
+Unlike most named operators, this has the same precedence as assignment.
+It is also exempt from the looks-like-a-function rule, so
+C<dump ("foo")."bar"> will cause "bar" to be part of the argument to
+C<dump>.
+
+Portability issues: L<perlport/dump>.
+
 =item each HASH
 X<each> X<hash, iterator>
 
@@ -1483,29 +1640,38 @@
 
 =item each EXPR
 
-When called in list context, returns a 2-element list consisting of the key
-and value for the next element of a hash, or the index and value for the
-next element of an array, so that you can iterate over it.  When called in
-scalar context, returns only the key (not the value) in a hash, or the index
-in an array.
+=for Pod::Functions retrieve the next key/value pair from a hash
 
+When called on a hash in list context, returns a 2-element list
+consisting of the key and value for the next element of a hash.  In Perl
+5.12 and later only, it will also return the index and value for the next
+element of an array so that you can iterate over it; older Perls consider
+this a syntax error.  When called in scalar context, returns only the key
+(not the value) in a hash, or the index in an array.
+
 Hash entries are returned in an apparently random order.  The actual random
-order is subject to change in future versions of Perl, but it is
-guaranteed to be in the same order as either the C<keys> or C<values>
-function would produce on the same (unmodified) hash.  Since Perl
-5.8.2 the ordering can be different even between different runs of Perl
-for security reasons (see L<perlsec/"Algorithmic Complexity Attacks">).
+order is specific to a given hash; the exact same series of operations
+on two hashes may result in a different order for each hash. Any insertion
+into the hash may change the order, as will any deletion, with the exception
+that the most recent key returned by C<each> or C<keys> may be deleted
+without changing the order. So long as a given hash is unmodified you may
+rely on C<keys>, C<values> and C<each> to repeatedly return the same order
+as each other. See L<perlsec/"Algorithmic Complexity Attacks"> for
+details on why hash order is randomized. Aside from the guarantees
+provided here the exact details of Perl's hash algorithm and the hash
+traversal order are subject to change in any release of Perl.
 
 After C<each> has returned all entries from the hash or array, the next
 call to C<each> returns the empty list in list context and C<undef> in
-scalar context.  The next call following that one restarts iteration.  Each
-hash or array has its own internal iterator, accessed by C<each>, C<keys>,
-and C<values>.  The iterator is implicitly reset when C<each> has reached
-the end as just described; it can be explicitly reset by calling C<keys> or
-C<values> on the hash or array.  If you add or delete a hash's elements
-while iterating over it, entries may be skipped or duplicated--so don't do
-that.  Exception: It is always safe to delete the item most recently
-returned by C<each()>, so the following code works properly:
+scalar context; the next call following I<that> one restarts iteration.
+Each hash or array has its own internal iterator, accessed by C<each>,
+C<keys>, and C<values>.  The iterator is implicitly reset when C<each> has
+reached the end as just described; it can be explicitly reset by calling
+C<keys> or C<values> on the hash or array.  If you add or delete a hash's
+elements while iterating over it, entries may be skipped or duplicated--so
+don't do that.  Exception: In the current implementation, it is always safe
+to delete the item most recently returned by C<each()>, so the following
+code works properly:
 
         while (($key, $value) = each %hash) {
           print $key, "\n";
@@ -1526,6 +1692,22 @@
 
     while (($key,$value) = each $hashref) { ... }
 
+As of Perl 5.18 you can use a bare C<each> in a C<while> loop,
+which will set C<$_> on every iteration.
+
+    while(each %ENV) {
+	print "$_=$ENV{$_}\n";
+    }
+
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+    use 5.012;	# so keys/values/each work on arrays
+    use 5.014;	# so keys/values/each work on scalars (experimental)
+    use 5.018;	# so each assigns to $_ in a lone while test
+
 See also C<keys>, C<values>, and C<sort>.
 
 =item eof FILEHANDLE
@@ -1537,6 +1719,8 @@
 
 =item eof
 
+=for Pod::Functions test a filehandle for its end
+
 Returns 1 if the next read on FILEHANDLE will return end of file I<or> if
 FILEHANDLE is not open.  FILEHANDLE may be an expression whose value
 gives the real filehandle.  (Note that this function actually
@@ -1574,7 +1758,7 @@
             print "--------------\n";
         }
         print;
-        last if eof();          # needed if we're reading from a terminal
+        last if eof();     # needed if we're reading from a terminal
     }
 
 Practical hint: you almost never need to use C<eof> in Perl, because the
@@ -1589,15 +1773,31 @@
 
 =item eval
 
+=for Pod::Functions catch exceptions or compile and run code
+
 In the first form, the return value of EXPR is parsed and executed as if it
 were a little Perl program.  The value of the expression (which is itself
 determined within scalar context) is first parsed, and if there were no
-errors, executed in the lexical context of the current Perl program, so
-that any variable settings or subroutine and format definitions remain
-afterwards.  Note that the value is parsed every time the C<eval> executes.
+errors, executed as a block within the lexical context of the current Perl
+program.  This means, that in particular, any outer lexical variables are
+visible to it, and any package variable settings or subroutine and format
+definitions remain afterwards.
+
+Note that the value is parsed every time the C<eval> executes.
 If EXPR is omitted, evaluates C<$_>.  This form is typically used to
 delay parsing and subsequent execution of the text of EXPR until run time.
 
+If the C<unicode_eval> feature is enabled (which is the default under a
+C<use 5.16> or higher declaration), EXPR or C<$_> is treated as a string of
+characters, so C<use utf8> declarations have no effect, and source filters
+are forbidden.  In the absence of the C<unicode_eval> feature, the string
+will sometimes be treated as characters and sometimes as bytes, depending
+on the internal encoding, and source filters activated within the C<eval>
+exhibit the erratic, but historical, behaviour of affecting some outer file
+scope that is still compiling.  See also the L</evalbytes> keyword, which
+always treats its input as a byte stream and works properly with source
+filters, and the L<feature> pragma.
+
 In the second form, the code within the BLOCK is parsed only once--at the
 same time the code surrounding the C<eval> itself was parsed--and executed
 within the context of the current Perl program.  This form is typically
@@ -1617,12 +1817,12 @@
 
 If there is a syntax error or runtime error, or a C<die> statement is
 executed, C<eval> returns C<undef> in scalar context
-or an empty list--or, for syntax errors, a list containing a single
-undefined value--in list context, and C<$@> is set to the error
-message.  The discrepancy in the return values in list context is
-considered a bug by some, and will probably be fixed in a future
-release.  If there was no error, C<$@> is guaranteed to be the empty
-string.  Beware that using C<eval> neither silences Perl from printing
+or an empty list in list context, and C<$@> is set to the error
+message.  (Prior to 5.16, a bug caused C<undef> to be returned
+in list context for syntax errors, but not for runtime errors.)
+If there was no error, C<$@> is set to the empty string.  A
+control flow operator like C<last> or C<goto> can bypass the setting of
+C<$@>.  Beware that using C<eval> neither silences Perl from printing
 warnings to STDERR, nor does it stuff the text of warning messages into C<$@>.
 To do either of those, you have to use the C<$SIG{__WARN__}> facility, or
 turn off warnings inside the BLOCK or EXPR using S<C<no warnings 'all'>>.
@@ -1635,7 +1835,7 @@
 
 If you want to trap errors when loading an XS module, some problems with
 the binary interface (such as Perl version skew) may be fatal even with
-C<eval> unless C<$ENV{PERL_DL_NONLAZY}> is set. See L<perlrun>.
+C<eval> unless C<$ENV{PERL_DL_NONLAZY}> is set.  See L<perlrun>.
 
 If the code to be executed doesn't vary, you may use the eval-BLOCK
 form to trap run-time errors without incurring the penalty of
@@ -1702,7 +1902,7 @@
 in case 6.
 
 Before Perl 5.14, the assignment to C<$@> occurred before restoration 
-of localised variables, which means that for your code to run on older
+of localized variables, which means that for your code to run on older
 versions, a temporary is required if you want to mask some but not all
 errors:
 
@@ -1710,10 +1910,10 @@
     {
        my $e;
        {
-          local $@; # protect existing $@
-          eval { test_repugnancy() };
-          # $@ =~ /nefarious/ and die $@; # Perl 5.14 and higher only
-          $@ =~ /nefarious/ and $e = $@;
+         local $@; # protect existing $@
+         eval { test_repugnancy() };
+         # $@ =~ /nefarious/ and die $@; # Perl 5.14 and higher only
+         $@ =~ /nefarious/ and $e = $@;
        }
        die $e if defined $e
     }
@@ -1721,16 +1921,36 @@
 C<eval BLOCK> does I<not> count as a loop, so the loop control statements
 C<next>, C<last>, or C<redo> cannot be used to leave or restart the block.
 
-An C<eval ''> executed within the C<DB> package doesn't see the usual
+An C<eval ''> executed within a subroutine defined
+in the C<DB> package doesn't see the usual
 surrounding lexical scope, but rather the scope of the first non-DB piece
-of code that called it. You don't normally need to worry about this unless
+of code that called it.  You don't normally need to worry about this unless
 you are writing a Perl debugger.
 
+=item evalbytes EXPR
+X<evalbytes>
+
+=item evalbytes
+
+=for Pod::Functions +evalbytes similar to string eval, but intend to parse a bytestream
+
+This function is like L</eval> with a string argument, except it always
+parses its argument, or C<$_> if EXPR is omitted, as a string of bytes.  A
+string containing characters whose ordinal value exceeds 255 results in an
+error.  Source filters activated within the evaluated code apply to the
+code itself.
+
+This function is only available under the C<evalbytes> feature, a
+C<use v5.16> (or higher) declaration, or with a C<CORE::> prefix.  See
+L<feature> for more information.
+
 =item exec LIST
 X<exec> X<execute>
 
 =item exec PROGRAM LIST
 
+=for Pod::Functions abandon this program to run another
+
 The C<exec> function executes a system command I<and never returns>;
 use C<system> instead of C<exec> if you want it to return.  It fails and
 returns false only if the command does not exist I<and> it is executed
@@ -1737,10 +1957,10 @@
 directly instead of via your system's command shell (see below).
 
 Since it's a common mistake to use C<exec> instead of C<system>, Perl
-warns you if there is a following statement that isn't C<die>, C<warn>,
-or C<exit> (if C<-w> is set--but you always do that, right?).   If you
-I<really> want to follow an C<exec> with some other statement, you
-can use one of these styles to avoid the warning:
+warns you if C<exec> is called in void context and if there is a following
+statement that isn't C<die>, C<warn>, or C<exit> (if C<-w> is set--but
+you always do that, right?).  If you I<really> want to follow an C<exec>
+with some other statement, you can use one of these styles to avoid the warning:
 
     exec ('foo')   or print STDERR "couldn't exec foo: $!";
     { exec ('foo') }; print STDERR "couldn't exec foo: $!";
@@ -1793,18 +2013,22 @@
 it tried to run a program named I<"echo surprise">, didn't find it, and set
 C<$?> to a non-zero value indicating failure.
 
-Beginning with v5.6.0, Perl attempts to flush all files opened for
-output before the exec, but this may not be supported on some platforms
-(see L<perlport>).  To be safe, you may need to set C<$|> ($AUTOFLUSH
-in English) or call the C<autoflush()> method of C<IO::Handle> on any
-open handles to avoid lost output.
+Perl attempts to flush all files opened for output before the exec,
+but this may not be supported on some platforms (see L<perlport>).
+To be safe, you may need to set C<$|> ($AUTOFLUSH in English) or
+call the C<autoflush()> method of C<IO::Handle> on any open handles
+to avoid lost output.
 
 Note that C<exec> will not call your C<END> blocks, nor will it invoke
 C<DESTROY> methods on your objects.
 
+Portability issues: L<perlport/exec>.
+
 =item exists EXPR
 X<exists> X<autovivification>
 
+=for Pod::Functions test whether a hash key is present
+
 Given an expression that specifies an element of a hash, returns true if the
 specified element in the hash has ever been initialized, even if the
 corresponding value is undefined.
@@ -1847,7 +2071,7 @@
 
     if (exists &{$ref->{A}{B}{$key}})   { }
 
-Although the mostly deeply nested array or hash will not spring into
+Although the most deeply nested array or hash element will not spring into
 existence just because its existence was tested, any intervening ones will.
 Thus C<< $ref->{"A"} >> and C<< $ref->{"A"}->{"B"} >> will spring
 into existence due to the existence test for the $key element above.
@@ -1872,6 +2096,8 @@
 
 =item exit
 
+=for Pod::Functions terminate this program
+
 Evaluates EXPR and exits immediately with that value.    Example:
 
     $ans = <STDIN>;
@@ -1892,21 +2118,79 @@
 defined C<END> routines first, but these C<END> routines may not
 themselves abort the exit.  Likewise any object destructors that need to
 be called are called before the real exit.  C<END> routines and destructors
-can change the exit status by modifying C<$?>. If this is a problem, you
-can call C<POSIX:_exit($status)> to avoid END and destructor processing.
+can change the exit status by modifying C<$?>.  If this is a problem, you
+can call C<POSIX::_exit($status)> to avoid END and destructor processing.
 See L<perlmod> for details.
 
+Portability issues: L<perlport/exit>.
+
 =item exp EXPR
 X<exp> X<exponential> X<antilog> X<antilogarithm> X<e>
 
 =item exp
 
+=for Pod::Functions raise I<e> to a power
+
 Returns I<e> (the natural logarithm base) to the power of EXPR.
 If EXPR is omitted, gives C<exp($_)>.
 
+=item fc EXPR
+X<fc> X<foldcase> X<casefold> X<fold-case> X<case-fold>
+
+=item fc
+
+=for Pod::Functions +fc return casefolded version of a string
+
+Returns the casefolded version of EXPR.  This is the internal function
+implementing the C<\F> escape in double-quoted strings.
+
+Casefolding is the process of mapping strings to a form where case
+differences are erased; comparing two strings in their casefolded
+form is effectively a way of asking if two strings are equal,
+regardless of case.
+
+Roughly, if you ever found yourself writing this
+
+    lc($this) eq lc($that)    # Wrong!
+        # or
+    uc($this) eq uc($that)    # Also wrong!
+        # or
+    $this =~ /^\Q$that\E\z/i  # Right!
+
+Now you can write
+
+    fc($this) eq fc($that)
+
+And get the correct results.
+
+Perl only implements the full form of casefolding,
+but you can access the simple folds using L<Unicode::UCD/casefold()> and
+L<Unicode::UCD/prop_invmap()>.
+For further information on casefolding, refer to
+the Unicode Standard, specifically sections 3.13 C<Default Case Operations>,
+4.2 C<Case-Normative>, and 5.18 C<Case Mappings>,
+available at L<http://www.unicode.org/versions/latest/>, as well as the
+Case Charts available at L<http://www.unicode.org/charts/case/>.
+
+If EXPR is omitted, uses C<$_>.
+
+This function behaves the same way under various pragma, such as in a locale,
+as L</lc> does.
+
+While the Unicode Standard defines two additional forms of casefolding,
+one for Turkic languages and one that never maps one character into multiple
+characters, these are not provided by the Perl core; However, the CPAN module
+C<Unicode::Casing> may be used to provide an implementation.
+
+This keyword is available only when the C<"fc"> feature is enabled,
+or when prefixed with C<CORE::>; See L<feature>. Alternately,
+include a C<use v5.16> or later to the current scope.
+
 =item fcntl FILEHANDLE,FUNCTION,SCALAR
 X<fcntl>
 
+=for Pod::Functions file control system call
+
 Implements the fcntl(2) function.  You'll probably have to say
 
     use Fcntl;
@@ -1941,9 +2225,20 @@
     $flags = fcntl(REMOTE, F_SETFL, $flags | O_NONBLOCK)
                 or die "Can't set flags for the socket: $!\n";
 
+Portability issues: L<perlport/fcntl>.
+
+=item __FILE__
+X<__FILE__>
+
+=for Pod::Functions the name of the current source file
+
+A special token that returns the name of the file in which it occurs.
+
 =item fileno FILEHANDLE
 X<fileno>
 
+=for Pod::Functions return file descriptor from filehandle
+
 Returns the file descriptor for a filehandle, or undefined if the
 filehandle is not open.  If there is no real file descriptor at the OS
 level, as can happen with filehandles connected to memory objects via
@@ -1964,6 +2259,8 @@
 =item flock FILEHANDLE,OPERATION
 X<flock> X<lock> X<locking>
 
+=for Pod::Functions lock an entire file with an advisory lock
+
 Calls flock(2), or an emulation of it, on FILEHANDLE.  Returns true
 for success, false on failure.  Produces a fatal error if used on a
 machine that doesn't implement flock(2), fcntl(2) locking, or lockf(3).
@@ -2013,7 +2310,8 @@
 
 Here's a mailbox appender for BSD systems.
 
-    use Fcntl qw(:flock SEEK_END); # import LOCK_* and SEEK_END constants
+    # import LOCK_* and SEEK_END constants
+    use Fcntl qw(:flock SEEK_END);
 
     sub lock {
         my ($fh) = @_;
@@ -2041,9 +2339,13 @@
 
 See also L<DB_File> for other flock() examples.
 
+Portability issues: L<perlport/flock>.
+
 =item fork
 X<fork> X<child> X<parent>
 
+=for Pod::Functions create a new process just like this one
+
 Does a fork(2) system call to create a new process running the
 same program at the same point.  It returns the child pid to the
 parent process, C<0> to the child process, or C<undef> if the fork is
@@ -2053,7 +2355,7 @@
 example, using copy-on-write technology on data pages), making it the
 dominant paradigm for multitasking over the last few decades.
 
-Beginning with v5.6.0, Perl attempts to flush all files opened for
+Perl attempts to flush all files opened for
 output before forking the child process, but this may not be supported
 on some platforms (see L<perlport>).  To be safe, you may need to set
 C<$|> ($AUTOFLUSH in English) or call the C<autoflush()> method of
@@ -2070,9 +2372,20 @@
 backgrounded job launched from a remote shell) won't think you're done.
 You should reopen those to F</dev/null> if it's any issue.
 
+On some platforms such as Windows, where the fork() system call is not available,
+Perl can be built to emulate fork() in the Perl interpreter.
+The emulation is designed, at the level of the Perl program,
+to be as compatible as possible with the "Unix" fork().
+However it has limitations that have to be considered in code intended to be portable.
+See L<perlfork> for more details.
+
+Portability issues: L<perlport/fork>.
+
 =item format
 X<format>
 
+=for Pod::Functions declare a picture format with use by the write() function
+
 Declare a picture format for use by the C<write> function.  For
 example:
 
@@ -2091,6 +2404,8 @@
 =item formline PICTURE,LIST
 X<formline>
 
+=for Pod::Functions internal function used for formats
+
 This is an internal function used by C<format>s, though you may call it,
 too.  It formats (see L<perlform>) a list of values according to the
 contents of PICTURE, placing the output into the format output
@@ -2117,6 +2432,8 @@
 
 =item getc
 
+=for Pod::Functions get the next character from the filehandle
+
 Returns the next character from the input file attached to FILEHANDLE,
 or the undefined value at end of file or if there was an error (in
 the latter case C<$!> is set).  If FILEHANDLE is omitted, reads from
@@ -2152,6 +2469,8 @@
 =item getlogin
 X<getlogin> X<login>
 
+=for Pod::Functions return who logged in at this tty
+
 This implements the C library function of the same name, which on most
 systems returns the current login from F</etc/utmp>, if any.  If it
 returns the empty string, use C<getpwuid>.
@@ -2161,9 +2480,13 @@
 Do not consider C<getlogin> for authentication: it is not as
 secure as C<getpwuid>.
 
+Portability issues: L<perlport/getlogin>.
+
 =item getpeername SOCKET
 X<getpeername> X<peer>
 
+=for Pod::Functions find the other end of a socket connection
+
 Returns the packed sockaddr address of the other end of the SOCKET
 connection.
 
@@ -2176,6 +2499,8 @@
 =item getpgrp PID
 X<getpgrp> X<group>
 
+=for Pod::Functions get process group
+
 Returns the current process group for the specified PID.  Use
 a PID of C<0> to get the current process group for the
 current process.  Will raise an exception if used on a machine that
@@ -2183,25 +2508,34 @@
 group of the current process.  Note that the POSIX version of C<getpgrp>
 does not accept a PID argument, so only C<PID==0> is truly portable.
 
+Portability issues: L<perlport/getpgrp>.
+
 =item getppid
 X<getppid> X<parent> X<pid>
 
+=for Pod::Functions get parent process ID
+
 Returns the process id of the parent process.
 
-Note for Linux users: on Linux, the C functions C<getpid()> and
-C<getppid()> return different values from different threads. In order to
-be portable, this behavior is not reflected by the Perl-level function
-C<getppid()>, that returns a consistent value across threads. If you want
-to call the underlying C<getppid()>, you may use the CPAN module
-C<Linux::Pid>.
+Note for Linux users: Between v5.8.1 and v5.16.0 Perl would work
+around non-POSIX thread semantics the minority of Linux systems (and
+Debian GNU/kFreeBSD systems) that used LinuxThreads, this emulation
+has since been removed. See the documentation for L<$$|perlvar/$$> for
+details.
 
+Portability issues: L<perlport/getppid>.
+
 =item getpriority WHICH,WHO
 X<getpriority> X<priority> X<nice>
 
+=for Pod::Functions get current nice value
+
 Returns the current priority for a process, a process group, or a user.
-(See C<getpriority(2)>.)  Will raise a fatal exception if used on a
+(See L<getpriority(2)>.)  Will raise a fatal exception if used on a
 machine that doesn't implement getpriority(2).
 
+Portability issues: L<perlport/getpriority>.
+
 =item getpwnam NAME
 X<getpwnam> X<getgrnam> X<gethostbyname> X<getnetbyname> X<getprotobyname>
 X<getpwuid> X<getgrgid> X<getservbyname> X<gethostbyaddr> X<getnetbyaddr>
@@ -2210,64 +2544,124 @@
 X<setnetent> X<setprotoent> X<setservent> X<endpwent> X<endgrent> X<endhostent>
 X<endnetent> X<endprotoent> X<endservent> 
 
+=for Pod::Functions get passwd record given user login name
+
 =item getgrnam NAME
 
+=for Pod::Functions get group record given group name
+
 =item gethostbyname NAME
 
+=for Pod::Functions get host record given name
+
 =item getnetbyname NAME
 
+=for Pod::Functions get networks record given name
+
 =item getprotobyname NAME
 
+=for Pod::Functions get protocol record given name
+
 =item getpwuid UID
 
+=for Pod::Functions get passwd record given user ID
+
 =item getgrgid GID
 
+=for Pod::Functions get group record given group user ID
+
 =item getservbyname NAME,PROTO
 
+=for Pod::Functions get services record given its name
+
 =item gethostbyaddr ADDR,ADDRTYPE
 
+=for Pod::Functions get host record given its address
+
 =item getnetbyaddr ADDR,ADDRTYPE
 
+=for Pod::Functions get network record given its address
+
 =item getprotobynumber NUMBER
 
+=for Pod::Functions get protocol record numeric protocol
+
 =item getservbyport PORT,PROTO
 
+=for Pod::Functions get services record given numeric port
+
 =item getpwent
 
+=for Pod::Functions get next passwd record
+
 =item getgrent
 
+=for Pod::Functions get next group record
+
 =item gethostent
 
+=for Pod::Functions get next hosts record
+
 =item getnetent
 
+=for Pod::Functions get next networks record
+
 =item getprotoent
 
+=for Pod::Functions get next protocols record
+
 =item getservent
 
+=for Pod::Functions get next services record
+
 =item setpwent
 
+=for Pod::Functions prepare passwd file for use
+
 =item setgrent
 
+=for Pod::Functions prepare group file for use
+
 =item sethostent STAYOPEN
 
+=for Pod::Functions prepare hosts file for use
+
 =item setnetent STAYOPEN
 
+=for Pod::Functions prepare networks file for use
+
 =item setprotoent STAYOPEN
 
+=for Pod::Functions prepare protocols file for use
+
 =item setservent STAYOPEN
 
+=for Pod::Functions prepare services file for use
+
 =item endpwent
 
+=for Pod::Functions be done using passwd file
+
 =item endgrent
 
+=for Pod::Functions be done using group file
+
 =item endhostent
 
+=for Pod::Functions be done using hosts file
+
 =item endnetent
 
+=for Pod::Functions be done using networks file
+
 =item endprotoent
 
+=for Pod::Functions be done using protocols file
+
 =item endservent
 
+=for Pod::Functions be done using services file
+
 These routines are the same as their counterparts in the
 system C library.  In list context, the return values from the
 various get routines are as follows:
@@ -2354,9 +2748,16 @@
         $ip_address = inet_ntoa($packed_ip);
     }
 
-Make sure <gethostbyname()> is called in SCALAR context and that
+Make sure C<gethostbyname()> is called in SCALAR context and that
 its return value is checked for definedness.
 
+The C<getprotobynumber> function, even though it only takes one argument,
+has the precedence of a list operator, so beware:
+
+    getprotobynumber $number eq 'icmp'   # WRONG
+    getprotobynumber($number eq 'icmp')  # actually means this
+    getprotobynumber($number) eq 'icmp'  # better this way
+
 If you get tired of remembering which element of the return list
 contains which return value, by-name interfaces are provided
 in standard modules: C<File::stat>, C<Net::hostent>, C<Net::netent>,
@@ -2373,9 +2774,13 @@
 they aren't, because a C<File::stat> object is different from
 a C<User::pwent> object.
 
+Portability issues: L<perlport/getpwnam> to L<perlport/endservent>.
+
 =item getsockname SOCKET
 X<getsockname>
 
+=for Pod::Functions retrieve the sockaddr for a given socket
+
 Returns the packed sockaddr address of this end of the SOCKET connection,
 in case you don't know the address because you have several different
 IPs that the connection might have come in on.
@@ -2390,18 +2795,20 @@
 =item getsockopt SOCKET,LEVEL,OPTNAME
 X<getsockopt>
 
+=for Pod::Functions get socket options on a given socket
+
 Queries the option named OPTNAME associated with SOCKET at a given LEVEL.
 Options may exist at multiple protocol levels depending on the socket
 type, but at least the uppermost socket level SOL_SOCKET (defined in the
-C<Socket> module) will exist. To query options at another level the
+C<Socket> module) will exist.  To query options at another level the
 protocol number of the appropriate protocol controlling the option
-should be supplied. For example, to indicate that an option is to be
+should be supplied.  For example, to indicate that an option is to be
 interpreted by the TCP protocol, LEVEL should be set to the protocol
 number of TCP, which you can get using C<getprotobyname>.
 
 The function returns a packed string representing the requested socket
 option, or C<undef> on error, with the reason for the error placed in
-C<$!>. Just what is in the packed string depends on LEVEL and OPTNAME;
+C<$!>.  Just what is in the packed string depends on LEVEL and OPTNAME;
 consult getsockopt(2) for details.  A common case is that the option is an
 integer, in which case the result is a packed integer, which you can decode
 using C<unpack> with the C<i> (or C<I>) format.
@@ -2416,43 +2823,23 @@
     my $packed = getsockopt($socket, $tcp, TCP_NODELAY)
         or die "getsockopt TCP_NODELAY: $!";
     my $nodelay = unpack("I", $packed);
-    print "Nagle's algorithm is turned ", $nodelay ? "off\n" : "on\n";
+    print "Nagle's algorithm is turned ",
+           $nodelay ? "off\n" : "on\n";
 
+Portability issues: L<perlport/getsockopt>.
 
-=item given EXPR BLOCK
-X<given>
-
-=item given BLOCK
-
-C<given> is analogous to the C<switch> keyword in other languages. C<given>
-and C<when> are used in Perl to implement C<switch>/C<case> like statements.
-Only available after Perl 5.10.  For example:
-
-    use v5.10;
-    given ($fruit) {
-        when (/apples?/) {
-            print "I like apples."
-        }
-        when (/oranges?/) {
-            print "I don't like oranges."
-        }
-        default {
-            print "I don't like anything"
-        }
-    }
-
-See L<perlsyn/"Switch statements"> for detailed information.
-
 =item glob EXPR
 X<glob> X<wildcard> X<filename, expansion> X<expand>
 
 =item glob
 
+=for Pod::Functions expand filenames using wildcards
+
 In list context, returns a (possibly empty) list of filename expansions on
-the value of EXPR such as the standard Unix shell F</bin/csh> would do. In
+the value of EXPR such as the standard Unix shell F</bin/csh> would do.  In
 scalar context, glob iterates through such filename expansions, returning
-undef when the list is exhausted. This is the internal function
-implementing the C<< <*.c> >> operator, but you can use it directly. If
+undef when the list is exhausted.  This is the internal function
+implementing the C<< <*.c> >> operator, but you can use it directly.  If
 EXPR is omitted, C<$_> is used.  The C<< <*.c> >> operator is discussed in
 more detail in L<perlop/"I/O Operators">.
 
@@ -2460,7 +2847,20 @@
 each segment as separate pattern.  As such, C<glob("*.c *.h")> 
 matches all files with a F<.c> or F<.h> extension.  The expression
 C<glob(".* *")> matches all files in the current working directory.
+If you want to glob filenames that might contain whitespace, you'll
+have to use extra quotes around the spacey filename to protect it.
+For example, to glob filenames that have an C<e> followed by a space
+followed by an C<f>, use either of:
 
+    @spacies = <"*e f*">;
+    @spacies = glob '"*e f*"';
+    @spacies = glob q("*e f*");
+
+If you had to get a variable through, you could do this:
+
+    @spacies = glob "'*${var}e f*'";
+    @spacies = glob qq("*${var}e f*");
+
 If non-empty braces are the only wildcard characters used in the
 C<glob>, no filenames are matched, but potentially many strings
 are returned.  For example, this produces nine strings, one for
@@ -2468,16 +2868,20 @@
 
     @many =  glob "{apple,tomato,cherry}={green,yellow,red}";
 
-Beginning with v5.6.0, this operator is implemented using the standard
+This operator is implemented using the standard
 C<File::Glob> extension.  See L<File::Glob> for details, including
 C<bsd_glob> which does not treat whitespace as a pattern separator.
 
+Portability issues: L<perlport/glob>.
+
 =item gmtime EXPR
 X<gmtime> X<UTC> X<Greenwich>
 
 =item gmtime
 
-Works just like L<localtime> but the returned values are
+=for Pod::Functions convert UNIX time into record or string using Greenwich time
+
+Works just like L</localtime> but the returned values are
 localized for the standard Greenwich time zone.
 
 Note: When called in list context, $isdst, the last value
@@ -2484,7 +2888,7 @@
 returned by gmtime, is always C<0>.  There is no
 Daylight Saving Time in GMT.
 
-See L<perlport/gmtime> for portability concerns.
+Portability issues: L<perlport/gmtime>.
 
 =item goto LABEL
 X<goto> X<jump> X<jmp>
@@ -2493,8 +2897,10 @@
 
 =item goto &NAME
 
+=for Pod::Functions create spaghetti code
+
 The C<goto-LABEL> form finds the statement labeled with LABEL and
-resumes execution there. It can't be used to get out of a block or
+resumes execution there.  It can't be used to get out of a block or
 subroutine given to C<sort>.  It can be used to go almost anywhere
 else within the dynamic scope, including out of subroutines, but it's
 usually better to use some other construct such as C<last> or C<die>.
@@ -2510,8 +2916,10 @@
     goto ("FOO", "BAR", "GLARCH")[$i];
 
 As shown in this example, C<goto-EXPR> is exempt from the "looks like a
-function" rule. A pair of parentheses following it does not (necessarily)
-delimit its argument. C<goto("NE")."XT"> is equivalent to C<goto NEXT>.
+function" rule.  A pair of parentheses following it does not (necessarily)
+delimit its argument.  C<goto("NE")."XT"> is equivalent to C<goto NEXT>.
+Also, unlike most named operators, this has the same precedence as
+assignment.
 
 Use of C<goto-LABEL> or C<goto-EXPR> to jump into a construct is
 deprecated and will issue a warning.  Even then, it may not be used to
@@ -2540,6 +2948,8 @@
 
 =item grep EXPR,LIST
 
+=for Pod::Functions locate elements in a list test true against a given criterion
+
 This is similar in spirit to, but not the same as, grep(1) and its
 relatives.  In particular, it is not limited to using regular expressions.
 
@@ -2564,7 +2974,8 @@
 This is usually something to be avoided when writing clear code.
 
 If C<$_> is lexical in the scope where the C<grep> appears (because it has
-been declared with C<my $_>) then, in addition to being locally aliased to
+been declared with the deprecated C<my $_> construct)
+then, in addition to being locally aliased to
 the list elements, C<$_> keeps being lexical inside the block; i.e., it
 can't be seen from the outside, avoiding any potential side-effects.
 
@@ -2575,6 +2986,8 @@
 
 =item hex
 
+=for Pod::Functions convert a string to a hexadecimal number
+
 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</oct>.)  If EXPR is omitted, uses C<$_>.
@@ -2584,12 +2997,14 @@
 
 Hex strings may only represent integers.  Strings that would cause
 integer overflow trigger a warning.  Leading whitespace is not stripped,
-unlike oct(). To present something as hex, look into L</printf>,
+unlike oct().  To present something as hex, look into L</printf>,
 L</sprintf>, and L</unpack>.
 
 =item import LIST
 X<import>
 
+=for Pod::Functions patch a module's namespace into your own
+
 There is no builtin C<import> function.  It is just an ordinary
 method (subroutine) defined (or inherited) by modules that wish to export
 names to another module.  The C<use> function calls the C<import> method
@@ -2600,6 +3015,8 @@
 
 =item index STR,SUBSTR
 
+=for Pod::Functions find a substring within a string
+
 The index function searches for one string within another, but without
 the wildcard-like behavior of a full regular-expression pattern match.
 It returns the position of the first occurrence of SUBSTR in STR at
@@ -2606,9 +3023,8 @@
 or after POSITION.  If POSITION is omitted, starts searching from the
 beginning of the string.  POSITION before the beginning of the string
 or after its end is treated as if it were the beginning or the end,
-respectively.  POSITION and the return value are based at C<0> (or whatever
-you've set the C<$[> variable to--but don't do that).  If the substring
-is not found, C<index> returns one less than the base, ordinarily C<-1>.
+respectively.  POSITION and the return value are based at zero.
+If the substring is not found, C<index> returns -1.
 
 =item int EXPR
 X<int> X<integer> X<truncate> X<trunc> X<floor>
@@ -2615,6 +3031,8 @@
 
 =item int
 
+=for Pod::Functions get the integer portion of a number
+
 Returns the integer portion of EXPR.  If EXPR is omitted, uses C<$_>.
 You should not use this function for rounding: one because it truncates
 towards C<0>, and two because machine representations of floating-point
@@ -2627,9 +3045,12 @@
 =item ioctl FILEHANDLE,FUNCTION,SCALAR
 X<ioctl>
 
+=for Pod::Functions system-dependent device control system call
+
 Implements the ioctl(2) function.  You'll probably first have to say
 
-    require "sys/ioctl.ph";  # probably in $Config{archlib}/sys/ioctl.ph
+    require "sys/ioctl.ph";  # probably in
+                             # $Config{archlib}/sys/ioctl.ph
 
 to get the correct function definitions.  If F<sys/ioctl.ph> doesn't
 exist or doesn't have the correct definitions you'll have to roll your
@@ -2661,9 +3082,13 @@
 The special string C<"0 but true"> is exempt from B<-w> complaints
 about improper numeric conversions.
 
+Portability issues: L<perlport/ioctl>.
+
 =item join EXPR,LIST
 X<join>
 
+=for Pod::Functions join a list into a string using a separator
+
 Joins the separate strings of LIST into a single string with fields
 separated by the value of EXPR, and returns that new string.  Example:
 
@@ -2679,19 +3104,27 @@
 
 =item keys EXPR
 
-Returns a list consisting of all the keys of the named hash, or the indices
-of an array. (In scalar context, returns the number of keys or indices.)
+=for Pod::Functions retrieve list of indices from a hash
 
-The keys of a hash are returned in an apparently random order.  The actual
-random order is subject to change in future versions of Perl, but it
-is guaranteed to be the same order as either the C<values> or C<each>
-function produces (given that the hash has not been modified).  Since
-Perl 5.8.1 the ordering can be different even between different runs of
-Perl for security reasons (see L<perlsec/"Algorithmic Complexity
-Attacks">).
+Called in list context, returns a list consisting of all the keys of the
+named hash, or in Perl 5.12 or later only, the indices of an array.  Perl
+releases prior to 5.12 will produce a syntax error if you try to use an
+array argument.  In scalar context, returns the number of keys or indices.
 
-As a side effect, calling keys() resets the internal interator of the HASH or ARRAY
-(see L</each>).  In particular, calling keys() in void context resets
+Hash entries are returned in an apparently random order.  The actual random
+order is specific to a given hash; the exact same series of operations
+on two hashes may result in a different order for each hash. Any insertion
+into the hash may change the order, as will any deletion, with the exception
+that the most recent key returned by C<each> or C<keys> may be deleted
+without changing the order. So long as a given hash is unmodified you may
+rely on C<keys>, C<values> and C<each> to repeatedly return the same order
+as each other. See L<perlsec/"Algorithmic Complexity Attacks"> for
+details on why hash order is randomized. Aside from the guarantees
+provided here the exact details of Perl's hash algorithm and the hash
+traversal order are subject to change in any release of Perl.
+
+As a side effect, calling keys() resets the internal iterator of the HASH or
+ARRAY (see L</each>).  In particular, calling keys() in void context resets
 the iterator with no other overhead.
 
 Here is yet another way to print your environment:
@@ -2731,7 +3164,7 @@
 %hash> if you want to free the storage while C<%hash> is still in scope.
 You can't shrink the number of buckets allocated for the hash using
 C<keys> in this way (but you needn't worry about doing this by accident,
-as trying has no effect). C<keys @array> in an lvalue context is a syntax
+as trying has no effect).  C<keys @array> in an lvalue context is a syntax
 error.
 
 Starting with Perl 5.14, C<keys> can take a scalar EXPR, which must contain
@@ -2742,43 +3175,92 @@
     for (keys $hashref) { ... }
     for (keys $obj->get_arrayref) { ... }
 
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+    use 5.012;	# so keys/values/each work on arrays
+    use 5.014;	# so keys/values/each work on scalars (experimental)
+
 See also C<each>, C<values>, and C<sort>.
 
 =item kill SIGNAL, LIST
+
+=item kill SIGNAL
 X<kill> X<signal>
 
+=for Pod::Functions send a signal to a process or process group
+
 Sends a signal to a list of processes.  Returns the number of
 processes successfully signaled (which is not necessarily the
 same as the number actually killed).
 
-    $cnt = kill 1, $child1, $child2;
-    kill 9, @goners;
+    $cnt = kill 'HUP', $child1, $child2;
+    kill 'KILL', @goners;
 
-If SIGNAL is zero, no signal is sent to the process, but C<kill>
-checks whether it's I<possible> to send a signal to it (that
-means, to be brief, that the process is owned by the same user, or we are
+SIGNAL may be either a signal name (a string) or a signal number.  A signal
+name may start with a C<SIG> prefix, thus C<FOO> and C<SIGFOO> refer to the
+same signal.  The string form of SIGNAL is recommended for portability because
+the same signal may have different numbers in different operating systems.
+
+A list of signal names supported by the current platform can be found in
+C<$Config{sig_name}>, which is provided by the C<Config> module. See L<Config>
+for more details.
+
+A negative signal name is the same as a negative signal number, killing process
+groups instead of processes.  For example, C<kill '-KILL', $pgrp> and
+C<kill -9, $pgrp> will send C<SIGKILL> to the entire process group specified. That
+means you usually want to use positive not negative signals.
+
+If SIGNAL is either the number 0 or the string C<ZERO> (or C<SIGZZERO>),
+no signal is sent to
+the process, but C<kill> checks whether it's I<possible> to send a signal to it
+(that means, to be brief, that the process is owned by the same user, or we are
 the super-user).  This is useful to check that a child process is still
 alive (even if only as a zombie) and hasn't changed its UID.  See
 L<perlport> for notes on the portability of this construct.
 
-Unlike in the shell, if SIGNAL is negative, it kills process groups instead
-of processes. That means you usually want to use positive not negative signals.
-You may also use a signal name in quotes.
-
 The behavior of kill when a I<PROCESS> number is zero or negative depends on
 the operating system.  For example, on POSIX-conforming systems, zero will
-signal the current process group and -1 will signal all processes.
+signal the current process group, -1 will signal all processes, and any
+other negative PROCESS number will act as a negative signal number and
+kill the entire process group specified.
 
+If both the SIGNAL and the PROCESS are negative, the results are undefined.
+A warning may be produced in a future version.
+
 See L<perlipc/"Signals"> for more details.
 
+On some platforms such as Windows where the fork() system call is not available.
+Perl can be built to emulate fork() at the interpreter level.
+This emulation has limitations related to kill that have to be considered,
+for code running on Windows and in code intended to be portable.
+
+See L<perlfork> for more details.
+
+If there is no I<LIST> of processes, no signal is sent, and the return
+value is 0.  This form is sometimes used, however, because it causes
+tainting checks to be run.  But see
+L<perlsec/Laundering and Detecting Tainted Data>.
+
+Portability issues: L<perlport/kill>.
+
 =item last LABEL
 X<last> X<break>
 
+=item last EXPR
+
 =item last
 
+=for Pod::Functions exit a block prematurely
+
 The C<last> command is like the C<break> statement in C (as used in
 loops); it immediately exits the loop in question.  If the LABEL is
-omitted, the command refers to the innermost enclosing loop.  The
+omitted, the command refers to the innermost enclosing
+loop.  The C<last EXPR> form, available starting in Perl
+5.18.0, allows a label name to be computed at run time,
+and is otherwise identical to C<last LABEL>.  The
 C<continue> block, if any, is not executed:
 
     LINE: while (<STDIN>) {
@@ -2797,11 +3279,18 @@
 See also L</continue> for an illustration of how C<last>, C<next>, and
 C<redo> work.
 
+Unlike most named operators, this has the same precedence as assignment.
+It is also exempt from the looks-like-a-function rule, so
+C<last ("foo")."bar"> will cause "bar" to be part of the argument to
+C<last>.
+
 =item lc EXPR
 X<lc> X<lowercase>
 
 =item lc
 
+=for Pod::Functions return lower-case version of a string
+
 Returns a lowercased version of EXPR.  This is the internal function
 implementing the C<\L> escape in double-quoted strings.
 
@@ -2813,57 +3302,47 @@
 
 =item If C<use bytes> is in effect:
 
-=over
-
-=item On EBCDIC platforms
-
-The results are what the C language system call C<tolower()> returns.
-
-=item On ASCII platforms
-
 The results follow ASCII semantics.  Only characters C<A-Z> change, to C<a-z>
 respectively.
 
-=back
+=item Otherwise, if C<use locale> (but not C<use locale ':not_characters'>) is in effect:
 
-=item Otherwise, If EXPR has the UTF8 flag set
+Respects current LC_CTYPE locale for code points < 256; and uses Unicode
+semantics for the remaining code points (this last can only happen if
+the UTF8 flag is also set).  See L<perllocale>.
 
-If the current package has a subroutine named C<ToLower>, it will be used to
-change the case
-(See L<perlunicode/"User-Defined Case Mappings (for serious hackers only)">.)
-Otherwise Unicode semantics are used for the case change.
+A deficiency in this is that case changes that cross the 255/256
+boundary are not well-defined.  For example, the lower case of LATIN CAPITAL
+LETTER SHARP S (U+1E9E) in Unicode semantics is U+00DF (on ASCII
+platforms).   But under C<use locale>, the lower case of U+1E9E is
+itself, because 0xDF may not be LATIN SMALL LETTER SHARP S in the
+current locale, and Perl has no way of knowing if that character even
+exists in the locale, much less what code point it is.  Perl returns
+the input character unchanged, for all instances (and there aren't
+many) where the 255/256 boundary would otherwise be crossed.
 
-=item Otherwise, if C<use locale> is in effect
+=item Otherwise, If EXPR has the UTF8 flag set:
 
-Respects current LC_CTYPE locale.  See L<perllocale>.
+Unicode semantics are used for the case change.
 
-=item Otherwise, if C<use feature 'unicode_strings'> is in effect:
+=item Otherwise, if C<use feature 'unicode_strings'> or C<use locale ':not_characters'> is in effect:
 
-Unicode semantics are used for the case change.  Any subroutine named
-C<ToLower> will be ignored.
+Unicode semantics are used for the case change.
 
 =item Otherwise:
 
-=over
-
-=item On EBCDIC platforms
-
-The results are what the C language system call C<tolower()> returns.
-
-=item On ASCII platforms
-
 ASCII semantics are used for the case change.  The lowercase of any character
 outside the ASCII range is the character itself.
 
 =back
 
-=back
-
 =item lcfirst EXPR
 X<lcfirst> X<lowercase>
 
 =item lcfirst
 
+=for Pod::Functions return a string with just the next letter in lower case
+
 Returns the value of EXPR with the first character lowercased.  This
 is the internal function implementing the C<\l> escape in
 double-quoted strings.
@@ -2878,6 +3357,8 @@
 
 =item length
 
+=for Pod::Functions return the number of characters in a string
+
 Returns the length in I<characters> of the value of EXPR.  If EXPR is
 omitted, returns the length of C<$_>.  If EXPR is undefined, returns
 C<undef>.
@@ -2891,15 +3372,28 @@
 UTF-8 would take up, use C<length(Encode::encode_utf8(EXPR))> (you'll have
 to C<use Encode> first).  See L<Encode> and L<perlunicode>.
 
+=item __LINE__
+X<__LINE__>
+
+=for Pod::Functions the current source line number
+
+A special token that compiles to the current line number.
+
 =item link OLDFILE,NEWFILE
 X<link>
 
+=for Pod::Functions create a hard link in the filesystem
+
 Creates a new filename linked to the old filename.  Returns true for
 success, false otherwise.
 
+Portability issues: L<perlport/link>.
+
 =item listen SOCKET,QUEUESIZE
 X<listen>
 
+=for Pod::Functions register your socket as a server
+
 Does the same thing that the listen(2) system call does.  Returns true if
 it succeeded, false otherwise.  See the example in
 L<perlipc/"Sockets: Client/Server Communication">.
@@ -2907,6 +3401,8 @@
 =item local EXPR
 X<local>
 
+=for Pod::Functions create a temporary value for a global variable (dynamic scoping)
+
 You really probably want to be using C<my> instead, because C<local> isn't
 what most people think of as "local".  See
 L<perlsub/"Private Variables via my()"> for details.
@@ -2925,6 +3421,8 @@
 
 =item localtime
 
+=for Pod::Functions convert UNIX time into record or string using local time
+
 Converts a time as returned by the time function to a 9-element list
 with the time analyzed for the local time zone.  Typically used as
 follows:
@@ -2941,19 +3439,15 @@
 the range C<0..11>, with 0 indicating January and 11 indicating December.
 This makes it easy to get a month name from a list:
 
-    my @abbr = qw( Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec );
+    my @abbr = qw(Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
     print "$abbr[$mon] $mday";
     # $mon=9, $mday=18 gives "Oct 18"
 
-C<$year> is the number of years since 1900, B<not> just the last two digits
-of the year.  That is, C<$year> is C<123> in year 2023.  The proper way
-to get a 4-digit year is simply:
+C<$year> contains the number of years since 1900.  To get a 4-digit
+year write:
 
     $year += 1900;
 
-Otherwise you create non-Y2K-compliant programs--and you wouldn't want
-to do that, would you?
-
 To get the last two digits of the year (e.g., "01" in 2001) do:
 
     $year = sprintf("%02d", $year % 100);
@@ -2972,8 +3466,9 @@
 
     $now_string = localtime;  # e.g., "Thu Oct 13 04:54:34 1994"
 
-This scalar value is B<not> locale-dependent but is a Perl builtin. For GMT
-instead of local time use the L</gmtime> builtin. See also the
+The format of this scalar value is B<not> locale-dependent
+but built into Perl.  For GMT instead of local
+time use the L</gmtime> builtin.  See also the
 C<Time::Local> module (for converting seconds, minutes, hours, and such back to
 the integer value returned by time()), and the L<POSIX> module's strftime(3)
 and mktime(3) functions.
@@ -2990,8 +3485,6 @@
 Note that the C<%a> and C<%b>, the short forms of the day of the week
 and the month of the year, may not necessarily be three characters wide.
 
-See L<perlport/localtime> for portability concerns.
-
 The L<Time::gmtime> and L<Time::localtime> modules provide a convenient,
 by-name access mechanism to the gmtime() and localtime() functions,
 respectively.
@@ -2999,12 +3492,19 @@
 For a comprehensive date and time representation look at the
 L<DateTime> module on CPAN.
 
+Portability issues: L<perlport/localtime>.
+
 =item lock THING
 X<lock>
 
+=for Pod::Functions +5.005 get a thread lock on a variable, subroutine, or method
+
 This function places an advisory lock on a shared variable or referenced
 object contained in I<THING> until the lock goes out of scope.
 
+The value returned is the scalar itself, if the argument is a scalar, or a
+reference, if the argument is a hash, array or subroutine.
+
 lock() is a "weak keyword" : this means that if you've defined a function
 by this name (before any calls to it), that function will be called
 instead.  If you are not under C<use threads::shared> this does nothing.
@@ -3015,6 +3515,8 @@
 
 =item log
 
+=for Pod::Functions retrieve the natural logarithm for a number
+
 Returns the natural logarithm (base I<e>) of EXPR.  If EXPR is omitted,
 returns the log of C<$_>.  To get the
 log of another base, use basic algebra:
@@ -3028,11 +3530,17 @@
 
 See also L</exp> for the inverse operation.
 
-=item lstat EXPR
+=item lstat FILEHANDLE
 X<lstat>
 
+=item lstat EXPR
+
+=item lstat DIRHANDLE
+
 =item lstat
 
+=for Pod::Functions stat a symbolic link
+
 Does the same thing as the C<stat> function (including setting the
 special C<_> filehandle) but stats a symbolic link instead of the file
 the symbolic link points to.  If symbolic links are unimplemented on
@@ -3041,8 +3549,12 @@
 
 If EXPR is omitted, stats C<$_>.
 
+Portability issues: L<perlport/lstat>.
+
 =item m//
 
+=for Pod::Functions match a string with a regular expression pattern
+
 The match operator.  See L<perlop/"Regexp Quote-Like Operators">.
 
 =item map BLOCK LIST
@@ -3050,6 +3562,8 @@
 
 =item map EXPR,LIST
 
+=for Pod::Functions apply a change to a list to get back a new list with the changes
+
 Evaluates the BLOCK or EXPR for each element of LIST (locally setting
 C<$_> to each element) and returns the list value composed of the
 results of each such evaluation.  In scalar context, returns the
@@ -3068,7 +3582,7 @@
     my @squares = map { $_ > 5 ? ($_ * $_) : () } @numbers;
 
 shows that number of returned elements can differ from the number of
-input elements. To omit an element, return an empty list ().
+input elements.  To omit an element, return an empty list ().
 This could also be achieved by writing
 
     my @squares = map { $_ * $_ } grep { $_ > 5 } @numbers;
@@ -3077,7 +3591,7 @@
 
 Map always returns a list, which can be
 assigned to a hash such that the elements
-become key/value pairs. See L<perldata> for more details.
+become key/value pairs.  See L<perldata> for more details.
 
     %hash = map { get_a_key_for($_) => $_ } @array;
 
@@ -3096,30 +3610,33 @@
 the original list for which the BLOCK or EXPR evaluates to true.
 
 If C<$_> is lexical in the scope where the C<map> appears (because it has
-been declared with C<my $_>), then, in addition to being locally aliased to
+been declared with the deprecated C<my $_> construct),
+then, in addition to being locally aliased to
 the list elements, C<$_> keeps being lexical inside the block; that is, it
 can't be seen from the outside, avoiding any potential side-effects.
 
 C<{> starts both hash references and blocks, so C<map { ...> could be either
-the start of map BLOCK LIST or map EXPR, LIST. Because Perl doesn't look
+the start of map BLOCK LIST or map EXPR, LIST.  Because Perl doesn't look
 ahead for the closing C<}> it has to take a guess at which it's dealing with
-based on what it finds just after the C<{>. Usually it gets it right, but if it
+based on what it finds just after the
+C<{>.  Usually it gets it right, but if it
 doesn't it won't realize something is wrong until it gets to the C<}> and
-encounters the missing (or unexpected) comma. The syntax error will be
+encounters the missing (or unexpected) comma.  The syntax error will be
 reported close to the C<}>, but you'll need to change something near the C<{>
 such as using a unary C<+> to give Perl some help:
 
-    %hash = map {  "\L$_" => 1  } @array  # perl guesses EXPR.  wrong
-    %hash = map { +"\L$_" => 1  } @array  # perl guesses BLOCK. right
-    %hash = map { ("\L$_" => 1) } @array  # this also works
-    %hash = map {  lc($_) => 1  } @array  # as does this.
-    %hash = map +( lc($_) => 1 ), @array  # this is EXPR and works!
+    %hash = map {  "\L$_" => 1  } @array # perl guesses EXPR. wrong
+    %hash = map { +"\L$_" => 1  } @array # perl guesses BLOCK. right
+    %hash = map { ("\L$_" => 1) } @array # this also works
+    %hash = map {  lc($_) => 1  } @array # as does this.
+    %hash = map +( lc($_) => 1 ), @array # this is EXPR and works!
 
-    %hash = map  ( lc($_), 1 ),   @array  # evaluates to (1, @array)
+    %hash = map  ( lc($_), 1 ),   @array # evaluates to (1, @array)
 
 or to force an anon hash constructor use C<+{>:
 
-   @hashes = map +{ lc($_) => 1 }, @array # EXPR, so needs comma at end
+    @hashes = map +{ lc($_) => 1 }, @array # EXPR, so needs
+                                           # comma at end
 
 to get a list of anonymous hashes each with only one entry apiece.
 
@@ -3130,6 +3647,8 @@
 
 =item mkdir
 
+=for Pod::Functions create a directory
+
 Creates the directory specified by FILENAME, with permissions
 specified by MASK (as modified by C<umask>).  If it succeeds it
 returns true; otherwise it returns false and sets C<$!> (errno).
@@ -3154,6 +3673,8 @@
 =item msgctl ID,CMD,ARG
 X<msgctl>
 
+=for Pod::Functions SysV IPC message control operations
+
 Calls the System V IPC function msgctl(2).  You'll probably have to say
 
     use IPC::SysV;
@@ -3165,17 +3686,25 @@
 L<perlipc/"SysV IPC"> and the documentation for C<IPC::SysV> and
 C<IPC::Semaphore>.
 
+Portability issues: L<perlport/msgctl>.
+
 =item msgget KEY,FLAGS
 X<msgget>
 
+=for Pod::Functions get SysV IPC message queue
+
 Calls the System V IPC function msgget(2).  Returns the message queue
 id, or C<undef> on error.  See also
 L<perlipc/"SysV IPC"> and the documentation for C<IPC::SysV> and
 C<IPC::Msg>.
 
+Portability issues: L<perlport/msgget>.
+
 =item msgrcv ID,VAR,SIZE,TYPE,FLAGS
 X<msgrcv>
 
+=for Pod::Functions receive a SysV IPC message from a message queue
+
 Calls the System V IPC function msgrcv to receive a message from
 message queue ID into variable VAR with a maximum message size of
 SIZE.  Note that when a message is received, the message type as a
@@ -3185,9 +3714,13 @@
 on error.  See also L<perlipc/"SysV IPC"> and the documentation for
 C<IPC::SysV> and C<IPC::SysV::Msg>.
 
+Portability issues: L<perlport/msgrcv>.
+
 =item msgsnd ID,MSG,FLAGS
 X<msgsnd>
 
+=for Pod::Functions send a SysV IPC message to a message queue
+
 Calls the System V IPC function msgsnd to send the message MSG to the
 message queue ID.  MSG must begin with the native long integer message
 type, be followed by the length of the actual message, and then finally
@@ -3196,6 +3729,8 @@
 false on error.  See also the C<IPC::SysV>
 and C<IPC::SysV::Msg> documentation.
 
+Portability issues: L<perlport/msgsnd>.
+
 =item my EXPR
 X<my>
 
@@ -3205,6 +3740,8 @@
 
 =item my TYPE EXPR : ATTRS
 
+=for Pod::Functions declare and assign a local variable (lexical scoping)
+
 A C<my> declares the listed variables to be local (lexically) to the
 enclosing block, file, or C<eval>.  If more than one value is listed,
 the list must be placed in parentheses.
@@ -3219,8 +3756,12 @@
 =item next LABEL
 X<next> X<continue>
 
+=item next EXPR
+
 =item next
 
+=for Pod::Functions iterate a block prematurely
+
 The C<next> command is like the C<continue> statement in C; it starts
 the next iteration of the loop:
 
@@ -3231,7 +3772,9 @@
 
 Note that if there were a C<continue> block on the above, it would get
 executed even on discarded lines.  If LABEL is omitted, the command
-refers to the innermost enclosing loop.
+refers to the innermost enclosing loop.  The C<next EXPR> form, available
+as of Perl 5.18.0, allows a label name to be computed at run time, being
+otherwise identical to C<next LABEL>.
 
 C<next> cannot be used to exit a block which returns a value such as
 C<eval {}>, C<sub {}>, or C<do {}>, and should not be used to exit
@@ -3243,6 +3786,11 @@
 See also L</continue> for an illustration of how C<last>, C<next>, and
 C<redo> work.
 
+Unlike most named operators, this has the same precedence as assignment.
+It is also exempt from the looks-like-a-function rule, so
+C<next ("foo")."bar"> will cause "bar" to be part of the argument to
+C<next>.
+
 =item no MODULE VERSION LIST
 X<no declarations>
 X<unimporting>
@@ -3255,6 +3803,8 @@
 
 =item no VERSION
 
+=for Pod::Functions unimport some module symbols or semantics at compile time
+
 See the C<use> function, of which C<no> is the opposite.
 
 =item oct EXPR
@@ -3262,6 +3812,8 @@
 
 =item oct
 
+=for Pod::Functions convert a string to an octal number
+
 Interprets EXPR as an octal string and returns the corresponding
 value.  (If EXPR happens to start off with C<0x>, interprets it as a
 hex string.  If EXPR starts off with C<0b>, it is interpreted as a
@@ -3297,6 +3849,8 @@
 
 =item open FILEHANDLE
 
+=for Pod::Functions open a file, pipe, or descriptor
+
 Opens the file whose filename is given by EXPR, and associates it with
 FILEHANDLE.
 
@@ -3337,7 +3891,7 @@
 You can put a C<+> in front of the C<< > >> or C<< < >> to
 indicate that you want both read and write access to the file; thus
 C<< +< >> is almost always preferred for read/write updates--the 
-C<< +> >> mode would clobber the file first.  You cant usually use
+C<< +> >> mode would clobber the file first.  You can't usually use
 either read-write mode for updating textfiles, since they have
 variable-length records.  See the B<-i> switch in L<perlrun> for a
 better approach.  The file is created with permissions of C<0666>
@@ -3376,15 +3930,18 @@
 You may (and usually should) use the three-argument form of open to specify
 I/O layers (sometimes referred to as "disciplines") to apply to the handle
 that affect how the input and output are processed (see L<open> and
-L<PerlIO> for more details). For example:
+L<PerlIO> for more details).  For example:
 
   open(my $fh, "<:encoding(UTF-8)", "filename")
     || die "can't open UTF-8 encoded filename: $!";
 
 opens the UTF8-encoded file containing Unicode characters;
-see L<perluniintro>. Note that if layers are specified in the
+see L<perluniintro>.  Note that if layers are specified in the
 three-argument form, then default layers stored in ${^OPEN} (see L<perlvar>;
 usually set by the B<open> pragma or the switch B<-CioD>) are ignored.
+Those layers will also be ignored if you specifying a colon with no name
+following it.  In that case the default layer for the operating system
+(:raw on Unix, :crlf on Windows) is used.
 
 Open returns nonzero on success, the undefined value otherwise.  If
 the C<open> involved a pipe, the return value happens to be the pid of
@@ -3415,7 +3972,7 @@
 to the temporary file first.  You will need to seek() to do the
 reading.
 
-Since v5.8.0, Perl has built using PerlIO by default.  Unless you've
+Perl is built using PerlIO by default; Unless you've
 changed this (such as building Perl with C<Configure -Uuseperlio>), you can
 open filehandles directly to Perl scalars via:
 
@@ -3454,7 +4011,7 @@
     # in-memory files
     open(MEMORY, ">", \$var)
         or die "Can't open memory file: $!";
-    print MEMORY "foo!\n";                   # output will appear in $var
+    print MEMORY "foo!\n";              # output will appear in $var
 
     # process argument list of files along with any includes
 
@@ -3489,7 +4046,8 @@
 C<<< >> >>>, C<< < >>, C<< +> >>, C<<< +>> >>>, and C<< +< >>.
 The mode you specify should match the mode of the original filehandle.
 (Duping a filehandle does not take into account any existing contents
-of IO buffers.) If you use the three-argument form, then you can pass either a
+of IO buffers.)  If you use the three-argument
+form, then you can pass either a
 number, the name of a filehandle, or the normal "reference to a glob".
 
 Here is a script that saves, redirects, and restores C<STDOUT> and
@@ -3561,9 +4119,10 @@
 
 For example, use either
 
-    $child_pid = open(FROM_KID, "|-") 	// die "can't fork: $!";
+    $child_pid = open(FROM_KID, "-|") 	// die "can't fork: $!";
 
 or
+
     $child_pid = open(TO_KID,   "|-") 	// die "can't fork: $!";
 
 followed by 
@@ -3572,7 +4131,7 @@
 	# am the parent:
 	# either write TO_KID or else read FROM_KID
 	...
-	wait $child_pid;
+       waitpid $child_pid, 0;
     } else {
 	# am the child; use STDIN/STDOUT normally
 	...
@@ -3613,7 +4172,7 @@
 
 See L<perlipc/"Safe Pipe Opens"> for more examples of this.
 
-Beginning with v5.6.0, Perl will attempt to flush all files opened for
+Perl will attempt to flush all files opened for
 output before any operation that may do a fork, but this may not be
 supported on some platforms (see L<perlport>).  To be safe, you may need
 to set C<$|> ($AUTOFLUSH in English) or call the C<autoflush()> method
@@ -3661,7 +4220,7 @@
 
 will have exactly the opposite restrictions.
 
-If you want a "real" C C<open> (see C<open(2)> on your system), then you
+If you want a "real" C C<open> (see L<open(2)> on your system), then you
 should use the C<sysopen> function, which involves no such magic (but may
 use subtly different filemodes than Perl open(), which is mapped to C
 fopen()).  This is another way to protect your filenames from
@@ -3696,7 +4255,7 @@
     }
 
 B<WARNING:> The previous example has a bug because the automatic
-close that happens when the refcount on C<handle> does not
+close that happens when the refcount on C<handle> reaches zero does not
 properly detect and report failures.  I<Always> close the handle
 yourself and inspect the return value.
 
@@ -3705,9 +4264,13 @@
 
 See L</seek> for some details about mixing reading and writing.
 
+Portability issues: L<perlport/open>.
+
 =item opendir DIRHANDLE,EXPR
 X<opendir>
 
+=for Pod::Functions open a directory
+
 Opens a directory named EXPR for processing by C<readdir>, C<telldir>,
 C<seekdir>, C<rewinddir>, and C<closedir>.  Returns true if successful.
 DIRHANDLE may be an expression whose value can be used as an indirect
@@ -3723,8 +4286,9 @@
 
 =item ord
 
-Returns the numeric (the native 8-bit encoding, like ASCII or EBCDIC,
-or Unicode) value of the first character of EXPR.  
+=for Pod::Functions find a character's numeric representation
+
+Returns the numeric value of the first character of EXPR.
 If EXPR is an empty string, returns 0.  If EXPR is omitted, uses C<$_>.
 (Note I<character>, not byte.)
 
@@ -3740,19 +4304,21 @@
 
 =item our TYPE EXPR : ATTRS
 
-C<our> associates a simple name with a package variable in the current
-package for use within the current scope.  When C<use strict 'vars'> is in
-effect, C<our> lets you use declared global variables without qualifying
-them with package names, within the lexical scope of the C<our> declaration.
-In this way C<our> differs from C<use vars>, which is package-scoped.
+=for Pod::Functions +5.6.0 declare and assign a package variable (lexical scoping)
 
-Unlike C<my> or C<state>, which allocates storage for a variable and
-associates a simple name with that storage for use within the current
-scope, C<our> associates a simple name with a package (read: global)
-variable in the current package, for use within the current lexical scope.
-In other words, C<our> has the same scoping rules as C<my> or C<state>, but
-does not necessarily create a variable.
+C<our> makes a lexical alias to a package variable of the same name in the current
+package for use within the current lexical scope.
 
+C<our> has the same scoping rules as C<my> or C<state>, but C<our> only
+declares an alias, whereas C<my> or C<state> both declare a variable name and
+allocate storage for that name within the current scope.
+
+This means that when C<use strict 'vars'> is in effect, C<our> lets you use
+a package variable without qualifying it with the package name, but only within
+the lexical scope of the C<our> declaration.  In this way, C<our> differs from
+C<use vars>, which allows use of an unqualified name I<only> within the
+affected package, but across scopes.
+
 If more than one value is listed, the list must be placed
 in parentheses.
 
@@ -3759,7 +4325,7 @@
     our $foo;
     our($bar, $baz);
 
-An C<our> declaration declares a global variable that will be visible
+An C<our> declaration declares an alias for a package variable that will be visible
 across its entire lexical scope, even across package boundaries.  The
 package in which the variable is entered is determined at the point
 of the declaration, not at the point of use.  This means the following
@@ -3796,9 +4362,9 @@
 with it.
 
 The exact semantics and interface of TYPE and ATTRS are still
-evolving.  TYPE is currently bound to the use of C<fields> pragma,
-and attributes are handled using the C<attributes> pragma, or starting
-from Perl 5.8.0 also via the C<Attribute::Handlers> module.  See
+evolving.  TYPE is currently bound to the use of the C<fields> pragma,
+and attributes are handled using the C<attributes> pragma, or, starting
+from Perl 5.8.0, also via the C<Attribute::Handlers> module.  See
 L<perlsub/"Private Variables via my()"> for details, and L<fields>,
 L<attributes>, and L<Attribute::Handlers>.
 
@@ -3805,6 +4371,8 @@
 =item pack TEMPLATE,LIST
 X<pack>
 
+=for Pod::Functions convert a list into a binary representation
+
 Takes a LIST of values and converts it into a string using the rules
 given by the TEMPLATE.  The resulting string is the concatenation of
 the converted values.  Typically, each converted value looks
@@ -3821,7 +4389,8 @@
     A  A text (ASCII) string, will be space padded.
     Z  A null-terminated (ASCIZ) string, will be null padded.
 
-    b  A bit string (ascending bit order inside each byte, like vec()).
+    b  A bit string (ascending bit order inside each byte,
+       like vec()).
     B  A bit string (descending bit order inside each byte).
     h  A hex string (low nybble first).
     H  A hex string (high nybble first).
@@ -3838,14 +4407,14 @@
 
     q  A signed quad (64-bit) value.
     Q  An unsigned quad value.
-      (Quads are available only if your system supports 64-bit
-       integer values _and_ if Perl has been compiled to support those.
-           Raises an exception otherwise.)
+         (Quads are available only if your system supports 64-bit
+          integer values _and_ if Perl has been compiled to support
+          those.  Raises an exception otherwise.)
 
     i  A signed integer value.
     I  A unsigned integer value.
-      (This 'integer' is _at_least_ 32 bits wide.  Its exact
-           size depends on what a local C compiler calls 'int'.)
+         (This 'integer' is _at_least_ 32 bits wide.  Its exact
+          size depends on what a local C compiler calls 'int'.)
 
     n  An unsigned short (16-bit) in "network" (big-endian) order.
     N  An unsigned long (32-bit) in "network" (big-endian) order.
@@ -3852,8 +4421,8 @@
     v  An unsigned short (16-bit) in "VAX" (little-endian) order.
     V  An unsigned long (32-bit) in "VAX" (little-endian) order.
 
-    j   A Perl internal signed integer value (IV).
-    J   A Perl internal unsigned integer value (UV).
+    j  A Perl internal signed integer value (IV).
+    J  A Perl internal unsigned integer value (UV).
 
     f  A single-precision float in native format.
     d  A double-precision float in native format.
@@ -3860,27 +4429,30 @@
 
     F  A Perl internal floating-point value (NV) in native format
     D  A float of long-double precision in native format.
-      (Long doubles are available only if your system supports long
-       double values _and_ if Perl has been compiled to support those.
-           Raises an exception otherwise.)
+         (Long doubles are available only if your system supports
+          long double values _and_ if Perl has been compiled to
+          support those.  Raises an exception otherwise.)
 
     p  A pointer to a null-terminated string.
     P  A pointer to a structure (fixed-length string).
 
     u  A uuencoded string.
-    U  A Unicode character number.  Encodes to a character in character mode
-        and UTF-8 (or UTF-EBCDIC in EBCDIC platforms) in byte mode.
+    U  A Unicode character number.  Encodes to a character in char-
+       acter mode and UTF-8 (or UTF-EBCDIC in EBCDIC platforms) in
+       byte mode.
 
-    w  A BER compressed integer (not an ASN.1 BER, see perlpacktut for
-       details).  Its bytes represent an unsigned integer in base 128,
-       most significant digit first, with as few digits as possible.  Bit
-       eight (the high bit) is set on each byte except the last.
+    w  A BER compressed integer (not an ASN.1 BER, see perlpacktut
+       for details).  Its bytes represent an unsigned integer in
+       base 128, most significant digit first, with as few digits
+       as possible.  Bit eight (the high bit) is set on each byte
+       except the last.
 
     x  A null byte (a.k.a ASCII NUL, "\000", chr(0))
     X  Back up a byte.
     @  Null-fill or truncate to absolute position, counted from the
        start of the innermost ()-group.
-    .  Null-fill or truncate to absolute position specified by the value.
+    .  Null-fill or truncate to absolute position specified by
+       the value.
     (  Start of a ()-group.
 
 One or more modifiers below may optionally follow certain letters in the
@@ -3894,8 +4466,8 @@
         nNvV       Treat integers as signed instead of unsigned.
 
         @.         Specify position as byte offset in the internal
-                   representation of the packed string. Efficient but
-                   dangerous.
+                   representation of the packed string.  Efficient
+                   but dangerous.
 
     >   sSiIlLqQ   Force big-endian byte-order on the type.
         jJfFdDpP   (The "big end" touches the construct.)
@@ -3907,6 +4479,28 @@
 to force a particular byte-order on all components in that group, 
 including all its subgroups.
 
+=begin comment
+
+Larry recalls that the hex and bit string formats (H, h, B, b) were added to
+pack for processing data from NASA's Magellan probe. Magellan was in an
+elliptical orbit, using the antenna for the radar mapping when close to
+Venus and for communicating data back to Earth for the rest of the orbit.
+There were two transmission units, but one of these failed, and then the
+other developed a fault whereby it would randomly flip the sense of all the
+bits. It was easy to automatically detect complete records with the correct
+sense, and complete records with all the bits flipped. However, this didn't
+recover the records where the sense flipped midway. A colleague of Larry's
+was able to pretty much eyeball where the records flipped, so they wrote an
+editor named kybble (a pun on the dog food Kibbles 'n Bits) to enable him to
+manually correct the records and recover the data. For this purpose pack
+gained the hex and bit string format specifiers.
+
+git shows that they were added to perl 3.0 in patch #44 (Jan 1991, commit
+27e2fb84680b9cc1), but the patch description makes no mention of their
+addition, let alone the story behind them.
+
+=end comment
+
 The following rules apply:
 
 =over 
@@ -3918,7 +4512,7 @@
 in C<pack("C[80]", @arr)>.  The repeat count gobbles that many values from
 the LIST when used with all format types other than C<a>, C<A>, C<Z>, C<b>,
 C<B>, C<h>, C<H>, C<@>, C<.>, C<x>, C<X>, and C<P>, where it means
-something else, dscribed below.  Supplying a C<*> for the repeat count
+something else, described below.  Supplying a C<*> for the repeat count
 instead of a number means to use however many items are left, except for:
 
 =over 
@@ -3977,7 +4571,7 @@
 =back
 
 The repeat count for C<u> is interpreted as the maximal number of bytes
-to encode per line of output, with 0, 1 and 2 replaced by 45. The repeat 
+to encode per line of output, with 0, 1 and 2 replaced by 45.  The repeat 
 count should not be more than 65.
 
 =item *
@@ -4070,18 +4664,18 @@
 within the structure itself as separate fields.
 
 For C<pack>, you write I<length-item>C</>I<sequence-item>, and the
-I<length-item> describes how the length value is packed. Formats likely
+I<length-item> describes how the length value is packed.  Formats likely
 to be of most use are integer-packing ones like C<n> for Java strings,
 C<w> for ASN.1 or SNMP, and C<N> for Sun XDR.
 
 For C<pack>, I<sequence-item> may have a repeat count, in which case
 the minimum of that and the number of available items is used as the argument
-for I<length-item>. If it has no repeat count or uses a '*', the number
+for I<length-item>.  If it has no repeat count or uses a '*', the number
 of available items is used.
 
 For C<unpack>, an internal stack of integer arguments unpacked so far is
-used. You write C</>I<sequence-item> and the repeat count is obtained by
-popping off the last element from the stack. The I<sequence-item> must not
+used.  You write C</>I<sequence-item> and the repeat count is obtained by
+popping off the last element from the stack.  The I<sequence-item> must not
 have a repeat count.
 
 If I<sequence-item> refers to a string type (C<"A">, C<"a">, or C<"Z">),
@@ -4089,13 +4683,15 @@
 an explicit repeat count for pack, the packed string is adjusted to that
 length.  For example:
 
-    unpack("W/a", "\004Gurusamy")           gives ("Guru")
-    unpack("a3/A A*", "007 Bond  J ")       gives (" Bond", "J")
-    unpack("a3 x2 /A A*", "007: Bond, J.")  gives ("Bond, J", ".")
+ This code:                             gives this result:
 
-    pack("n/a* w/a","hello,","world")       gives "\000\006hello,\005world"
-    pack("a/W2", ord("a") .. ord("z"))      gives "2ab"
+ unpack("W/a", "\004Gurusamy")          ("Guru")
+ unpack("a3/A A*", "007 Bond  J ")      (" Bond", "J")
+ unpack("a3 x2 /A A*", "007: Bond, J.") ("Bond, J", ".")
 
+ pack("n/a* w/a","hello,","world")     "\000\006hello,\005world"
+ pack("a/W2", ord("a") .. ord("z"))    "2ab"
+
 The I<length-item> is not returned explicitly from C<unpack>.
 
 Supplying a count to the I<length-item> format letter is only useful with
@@ -4193,7 +4789,7 @@
 
 =item *
 
-Starting with Perl 5.9.2, integer and floating-point formats, along with
+Starting with Perl 5.10.0, integer and floating-point formats, along with
 the C<p> and C<P> formats and C<()> groups, may all be followed by the 
 C<< > >> or C<< < >> endianness modifiers to respectively enforce big-
 or little-endian byte-order.  These modifiers are especially useful 
@@ -4259,8 +4855,9 @@
 Pack and unpack can operate in two modes: character mode (C<C0> mode) where
 the packed string is processed per character, and UTF-8 mode (C<U0> mode)
 where the packed string is processed in its UTF-8-encoded Unicode form on
-a byte-by-byte basis. Character mode is the default unless the format string 
-starts with C<U>. You can always switch mode mid-format with an explicit 
+a byte-by-byte basis.  Character mode is the default
+unless the format string starts with C<U>.  You
+can always switch mode mid-format with an explicit 
 C<C0> or C<U0> in the format.  This mode remains in effect until the next 
 mode change, or until the end of the C<()> group it (directly) applies to.
 
@@ -4296,7 +4893,7 @@
 A C<()> group is a sub-TEMPLATE enclosed in parentheses.  A group may
 take a repeat count either as postfix, or for unpack(), also via the C</>
 template character.  Within each repetition of a group, positioning with
-C<@> starts over at 0. Therefore, the result of
+C<@> starts over at 0.  Therefore, the result of
 
     pack("@1A((@2A)@3A)", qw[X Y Z])
 
@@ -4306,7 +4903,7 @@
 
 C<x> and C<X> accept the C<!> modifier to act as alignment commands: they
 jump forward or back to the closest position aligned at a multiple of C<count>
-characters. For example, to pack() or unpack() a C structure like
+characters.  For example, to pack() or unpack() a C structure like
 
     struct {
 	char   c;    /* one signed, 8-bit character */
@@ -4354,12 +4951,14 @@
     $foo = pack("W4",0x24b6,0x24b7,0x24b8,0x24b9);
     # same thing with Unicode circled letters.
     $foo = pack("U4",0x24b6,0x24b7,0x24b8,0x24b9);
-    # same thing with Unicode circled letters. You don't get the UTF-8
-    # bytes because the U at the start of the format caused a switch to
-    # U0-mode, so the UTF-8 bytes get joined into characters
+    # same thing with Unicode circled letters.  You don't get the
+    # UTF-8 bytes because the U at the start of the format caused
+    # a switch to U0-mode, so the UTF-8 bytes get joined into
+    # characters
     $foo = pack("C0U4",0x24b6,0x24b7,0x24b8,0x24b9);
     # foo eq "\xe2\x92\xb6\xe2\x92\xb7\xe2\x92\xb8\xe2\x92\xb9"
-    # This is the UTF-8 encoding of the string in the previous example
+    # This is the UTF-8 encoding of the string in the
+    # previous example
 
     $foo = pack("ccxxcc",65,66,67,68);
     # foo eq "AB\0\0CD"
@@ -4425,6 +5024,8 @@
 =item package NAMESPACE VERSION BLOCK
 X<package> X<module> X<namespace> X<version>
 
+=for Pod::Functions declare a separate global namespace
+
 Declares the BLOCK or the rest of the compilation unit as being in the
 given namespace.  The scope of the package declaration is either the
 supplied code BLOCK or, in the absence of a BLOCK, from the declaration
@@ -4437,7 +5038,7 @@
 like C<STDOUT>, C<ARGV>, C<ENV>, and the punctuation variables.
 
 A package statement affects dynamic variables only, including those
-you've used C<local> on, but I<not> lexical variables, which are created
+you've used C<local> on, but I<not> lexically-scoped variables, which are created
 with C<my>, C<state>, or C<our>.  Typically it would be the first 
 declaration in a file included by C<require> or C<use>.  You can switch into a
 package in more than one place, since this only determines which default 
@@ -4459,9 +5060,18 @@
 See L<perlmod/"Packages"> for more information about packages, modules,
 and classes.  See L<perlsub> for other scoping issues.
 
+=item __PACKAGE__
+X<__PACKAGE__>
+
+=for Pod::Functions +5.004 the current package
+
+A special token that returns the name of the package in which it occurs.
+
 =item pipe READHANDLE,WRITEHANDLE
 X<pipe>
 
+=for Pod::Functions open a pair of connected filehandles
+
 Opens a pair of connected pipes like the corresponding system call.
 Note that if you set up a loop of piped processes, deadlock can occur
 unless you are very careful.  In addition, note that Perl's pipes use
@@ -4468,6 +5078,8 @@
 IO buffering, so you may need to set C<$|> to flush your WRITEHANDLE
 after each command, depending on the application.
 
+Returns true on success.
+
 See L<IPC::Open2>, L<IPC::Open3>, and
 L<perlipc/"Bidirectional Communication with Another Process">
 for examples of such things.
@@ -4483,6 +5095,8 @@
 
 =item pop
 
+=for Pod::Functions remove the last element from an array and return it
+
 Pops and returns the last value of the array, shortening the array by
 one element.
 
@@ -4495,14 +5109,23 @@
 automatically.  This aspect of C<pop> is considered highly experimental.
 The exact behaviour may change in a future version of Perl.
 
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+    use 5.014;	# so push/pop/etc work on scalars (experimental)
+
 =item pos SCALAR
 X<pos> X<match, position>
 
 =item pos
 
+=for Pod::Functions find or set the offset for the last/next m//g search
+
 Returns the offset of where the last C<m//g> search left off for the
 variable in question (C<$_> is used when the variable is not
-specified). Note that 0 is a valid match offset. C<undef> indicates
+specified).  Note that 0 is a valid match offset.  C<undef> indicates
 that the search position is reset (usually due to match failure, but
 can also be because no match has yet been run on the scalar).
 
@@ -4509,7 +5132,7 @@
 C<pos> directly accesses the location used by the regexp engine to
 store the offset, so assigning to C<pos> will change that offset, and
 so will also influence the C<\G> zero-width assertion in regular
-expressions. Both of these effects take place for the next match, so
+expressions.  Both of these effects take place for the next match, so
 you can't affect the position with C<pos> during the current match,
 such as in C<(?{pos() = 5})> or C<s//pos() = 5/e>.
 
@@ -4529,12 +5152,14 @@
 
 =item print
 
+=for Pod::Functions output a list to a filehandle
+
 Prints a string or a list of strings.  Returns true if successful.
 FILEHANDLE may be a scalar variable containing the name of or a reference
 to the filehandle, thus introducing one level of indirection.  (NOTE: If
 FILEHANDLE is a variable and the next token is a term, it may be
 misinterpreted as an operator unless you interpose a C<+> or put
-parentheses around the arguments.) If FILEHANDLE is omitted, prints to the
+parentheses around the arguments.)  If FILEHANDLE is omitted, prints to the
 last selected (see L</select>) output handle.  If LIST is omitted, prints
 C<$_> to the currently selected output handle.  To use FILEHANDLE alone to
 print the content of C<$_> to it, you must use a real filehandle like
@@ -4571,16 +5196,27 @@
 
 =item printf
 
+=for Pod::Functions output a formatted list to a filehandle
+
 Equivalent to C<print FILEHANDLE sprintf(FORMAT, LIST)>, except that C<$\>
-(the output record separator) is not appended.  The first argument of the
-list will be interpreted as the C<printf> format. See C<sprintf> for an
-explanation of the format argument.    If you omit the LIST, C<$_> is used;
-to use FILEHANDLE without a LIST, you must use a real filehandle like
-C<FH>, not an indirect one like C<$fh>.  If C<use locale> is in effect and
+(the output record separator) is not appended.  The FORMAT and the
+LIST are actually parsed as a single list.  The first argument
+of the list will be interpreted as the C<printf> format.  This
+means that C<printf(@_)> will use C<$_[0]> as the format.  See
+L<sprintf|/sprintf FORMAT, LIST> for an
+explanation of the format argument.  If C<use locale> (including
+C<use locale ':not_characters'>) is in effect and
 POSIX::setlocale() has been called, the character used for the decimal
 separator in formatted floating-point numbers is affected by the LC_NUMERIC
 locale setting.  See L<perllocale> and L<POSIX>.
 
+For historical reasons, if you omit the list, C<$_> is used as the format;
+to use FILEHANDLE without a list, you must use a real filehandle like
+C<FH>, not an indirect one like C<$fh>.  However, this will rarely do what
+you want; if $_ contains formatting codes, they will be replaced with the
+empty string and a warning will be emitted if warnings are enabled.  Just
+use C<print> if you want to print the contents of $_.
+
 Don't fall into the trap of using a C<printf> when a simple
 C<print> would do.  The C<print> is more efficient and less
 error prone.
@@ -4588,13 +5224,15 @@
 =item prototype FUNCTION
 X<prototype>
 
+=for Pod::Functions +5.002 get the prototype (if any) of a subroutine
+
 Returns the prototype of a function as a string (or C<undef> if the
 function has no prototype).  FUNCTION is a reference to, or the name of,
 the function whose prototype you want to retrieve.
 
 If FUNCTION is a string starting with C<CORE::>, the rest is taken as a
-name for a Perl builtin.  If the builtin is not I<overridable> (such as
-C<qw//>) or if its arguments cannot be adequately expressed by a prototype
+name for a Perl builtin.  If the builtin's arguments
+cannot be adequately expressed by a prototype
 (such as C<system>), prototype() returns C<undef>, because the builtin
 does not really behave like a Perl function.  Otherwise, the string
 describing the equivalent prototype is returned.
@@ -4604,6 +5242,8 @@
 
 =item push EXPR,LIST
 
+=for Pod::Functions append one or more elements to an array
+
 Treats ARRAY as a stack by appending the values of LIST to the end of
 ARRAY.  The length of ARRAY increases by the length of LIST.  Has the same
 effect as
@@ -4620,18 +5260,35 @@
 automatically.  This aspect of C<push> is considered highly experimental.
 The exact behaviour may change in a future version of Perl.
 
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+    use 5.014;	# so push/pop/etc work on scalars (experimental)
+
 =item q/STRING/
 
+=for Pod::Functions singly quote a string
+
 =item qq/STRING/
 
-=item qx/STRING/
+=for Pod::Functions doubly quote a string
 
 =item qw/STRING/
 
+=for Pod::Functions quote a list of words
+
+=item qx/STRING/
+
+=for Pod::Functions backquote quote a string
+
 Generalized quotes.  See L<perlop/"Quote-Like Operators">.
 
 =item qr/STRING/
 
+=for Pod::Functions +5.005 compile pattern
+
 Regexp-like quote.  See L<perlop/"Regexp Quote-Like Operators">.
 
 =item quotemeta EXPR
@@ -4639,18 +5296,21 @@
 
 =item quotemeta
 
-Returns the value of EXPR with all non-"word"
-characters backslashed.  (That is, all characters not matching
+=for Pod::Functions quote regular expression magic characters
+
+Returns the value of EXPR with all the ASCII non-"word"
+characters backslashed.  (That is, all ASCII characters not matching
 C</[A-Za-z_0-9]/> will be preceded by a backslash in the
 returned string, regardless of any locale settings.)
 This is the internal function implementing
 the C<\Q> escape in double-quoted strings.
+(See below for the behavior on non-ASCII code points.)
 
 If EXPR is omitted, uses C<$_>.
 
 quotemeta (and C<\Q> ... C<\E>) are useful when interpolating strings into
 regular expressions, because by default an interpolated variable will be
-considered a mini-regular expression. For example:
+considered a mini-regular expression.  For example:
 
     my $sentence = 'The quick brown fox jumped over the lazy dog';
     my $substring = 'quick.*?fox';
@@ -4671,19 +5331,72 @@
     my $quoted_substring = quotemeta($substring);
     $sentence =~ s{$quoted_substring}{big bad wolf};
 
-Will both leave the sentence as is. Normally, when accepting literal string
+Will both leave the sentence as is.
+Normally, when accepting literal string
 input from the user, quotemeta() or C<\Q> must be used.
 
-In Perl 5.14, all characters whose code points are above 127 are not
-quoted in UTF8-encoded strings, but all are quoted in UTF-8 strings.
-It is planned to change this behavior in 5.16, but the exact rules
-haven't been determined yet.
+In Perl v5.14, all non-ASCII characters are quoted in non-UTF-8-encoded
+strings, but not quoted in UTF-8 strings.
 
+Starting in Perl v5.16, Perl adopted a Unicode-defined strategy for
+quoting non-ASCII characters; the quoting of ASCII characters is
+unchanged.
+
+Also unchanged is the quoting of non-UTF-8 strings when outside the
+scope of a C<use feature 'unicode_strings'>, which is to quote all
+characters in the upper Latin1 range.  This provides complete backwards
+compatibility for old programs which do not use Unicode.  (Note that
+C<unicode_strings> is automatically enabled within the scope of a
+S<C<use v5.12>> or greater.)
+
+Within the scope of C<use locale>, all non-ASCII Latin1 code points
+are quoted whether the string is encoded as UTF-8 or not.  As mentioned
+above, locale does not affect the quoting of ASCII-range characters.
+This protects against those locales where characters such as C<"|"> are
+considered to be word characters.
+
+Otherwise, Perl quotes non-ASCII characters using an adaptation from
+Unicode (see L<http://www.unicode.org/reports/tr31/>).
+The only code points that are quoted are those that have any of the
+Unicode properties:  Pattern_Syntax, Pattern_White_Space, White_Space,
+Default_Ignorable_Code_Point, or General_Category=Control.
+
+Of these properties, the two important ones are Pattern_Syntax and
+Pattern_White_Space.  They have been set up by Unicode for exactly this
+purpose of deciding which characters in a regular expression pattern
+should be quoted.  No character that can be in an identifier has these
+properties.
+
+Perl promises, that if we ever add regular expression pattern
+metacharacters to the dozen already defined
+(C<\ E<verbar> ( ) [ { ^ $ * + ? .>), that we will only use ones that have the
+Pattern_Syntax property.  Perl also promises, that if we ever add
+characters that are considered to be white space in regular expressions
+(currently mostly affected by C</x>), they will all have the
+Pattern_White_Space property.
+
+Unicode promises that the set of code points that have these two
+properties will never change, so something that is not quoted in v5.16
+will never need to be quoted in any future Perl release.  (Not all the
+code points that match Pattern_Syntax have actually had characters
+assigned to them; so there is room to grow, but they are quoted
+whether assigned or not.  Perl, of course, would never use an
+unassigned code point as an actual metacharacter.)
+
+Quoting characters that have the other 3 properties is done to enhance
+the readability of the regular expression and not because they actually
+need to be quoted for regular expression purposes (characters with the
+White_Space property are likely to be indistinguishable on the page or
+screen from those with the Pattern_White_Space property; and the other
+two properties contain non-printing characters).
+
 =item rand EXPR
 X<rand> X<random>
 
 =item rand
 
+=for Pod::Functions retrieve the next pseudorandom number
+
 Returns a random fractional number greater than or equal to C<0> and less
 than the value of EXPR.  (EXPR should be positive.)  If EXPR is
 omitted, the value C<1> is used.  Currently EXPR with the value C<0> is
@@ -4706,8 +5419,8 @@
 on it in security-sensitive situations.>  As of this writing, a
 number of third-party CPAN modules offer random number generators
 intended by their authors to be cryptographically secure,
-including: L<Math::Random::Secure>, L<Math::Random::MT::Perl>, and
-L<Math::TrulyRandom>.
+including: L<Data::Entropy>, L<Crypt::Random>, L<Math::Random::Secure>,
+and L<Math::TrulyRandom>.
 
 =item read FILEHANDLE,SCALAR,LENGTH,OFFSET
 X<read> X<file, read>
@@ -4714,6 +5427,8 @@
 
 =item read FILEHANDLE,SCALAR,LENGTH
 
+=for Pod::Functions fixed-length buffered input from a filehandle
+
 Attempts to read LENGTH I<characters> of data into variable SCALAR
 from the specified FILEHANDLE.  Returns the number of characters
 actually read, C<0> at end of file, or undef if there was an error (in
@@ -4729,7 +5444,8 @@
 bytes before the result of the read is appended.
 
 The call is implemented in terms of either Perl's or your system's native
-fread(3) library function.  To get a true read(2) system call, see C<sysread>.
+fread(3) library function.  To get a true read(2) system call, see
+L<sysread|/sysread FILEHANDLE,SCALAR,LENGTH,OFFSET>.
 
 Note the I<characters>: depending on the status of the filehandle,
 either (8-bit) bytes or characters are read.  By default, all
@@ -4742,6 +5458,8 @@
 =item readdir DIRHANDLE
 X<readdir>
 
+=for Pod::Functions get a directory from a directory handle
+
 Returns the next directory entry for a directory opened by C<opendir>.
 If used in list context, returns all the rest of the entries in the
 directory.  If there are no more entries, returns the undefined value in
@@ -4755,7 +5473,7 @@
     @dots = grep { /^\./ && -f "$some_dir/$_" } readdir($dh);
     closedir $dh;
 
-As of Perl 5.11.2 you can use a bare C<readdir> in a C<while> loop,
+As of Perl 5.12 you can use a bare C<readdir> in a C<while> loop,
 which will set C<$_> on every iteration.
 
     opendir(my $dh, $some_dir) || die;
@@ -4764,11 +5482,20 @@
     }
     closedir $dh;
 
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious failures, put this sort of thing at the
+top of your file to signal that your code will work I<only> on Perls of a
+recent vintage:
+
+    use 5.012; # so readdir assigns to $_ in a lone while test
+
 =item readline EXPR
 
 =item readline
 X<readline> X<gets> X<fgets>
 
+=for Pod::Functions fetch a record from a file
+
 Reads from the filehandle whose typeglob is contained in EXPR (or from
 C<*ARGV> if EXPR is not provided).  In scalar context, each call reads and
 returns the next line until end-of-file is reached, whereupon the
@@ -4800,7 +5527,7 @@
     }
 
 Note that you have can't handle C<readline> errors that way with the
-C<ARGV> filehandle. In that case, you have to open each element of
+C<ARGV> filehandle.  In that case, you have to open each element of
 C<@ARGV> yourself since C<eof> handles C<ARGV> differently.
 
     foreach my $arg (@ARGV) {
@@ -4818,16 +5545,22 @@
 
 =item readlink
 
+=for Pod::Functions determine where a symbolic link is pointing
+
 Returns the value of a symbolic link, if symbolic links are
 implemented.  If not, raises an exception.  If there is a system
 error, returns the undefined value and sets C<$!> (errno).  If EXPR is
 omitted, uses C<$_>.
 
+Portability issues: L<perlport/readlink>.
+
 =item readpipe EXPR
 
 =item readpipe
 X<readpipe>
 
+=for Pod::Functions execute a system command and collect standard output
+
 EXPR is executed as a system command.
 The collected standard output of the command is returned.
 In scalar context, it comes back as a single (potentially
@@ -4841,6 +5574,8 @@
 =item recv SOCKET,SCALAR,LENGTH,FLAGS
 X<recv>
 
+=for Pod::Functions receive a message over a Socket
+
 Receives a message on a socket.  Attempts to receive LENGTH characters
 of data into variable SCALAR from the specified SOCKET filehandle.
 SCALAR will be grown or shrunk to the length actually read.  Takes the
@@ -4861,12 +5596,18 @@
 =item redo LABEL
 X<redo>
 
+=item redo EXPR
+
 =item redo
 
+=for Pod::Functions start this loop iteration over again
+
 The C<redo> command restarts the loop block without evaluating the
 conditional again.  The C<continue> block, if any, is not executed.  If
 the LABEL is omitted, the command refers to the innermost enclosing
-loop.  Programs that want to lie to themselves about what was just input 
+loop.  The C<redo EXPR> form, available starting in Perl 5.18.0, allows a
+label name to be computed at run time, and is otherwise identical to C<redo
+LABEL>.  Programs that want to lie to themselves about what was just input 
 normally use this command:
 
     # a simpleminded Pascal comment stripper
@@ -4897,13 +5638,20 @@
 See also L</continue> for an illustration of how C<last>, C<next>, and
 C<redo> work.
 
+Unlike most named operators, this has the same precedence as assignment.
+It is also exempt from the looks-like-a-function rule, so
+C<redo ("foo")."bar"> will cause "bar" to be part of the argument to
+C<redo>.
+
 =item ref EXPR
 X<ref> X<reference>
 
 =item ref
 
+=for Pod::Functions find out the type of thing being referenced
+
 Returns a non-empty string if EXPR is a reference, the empty
-string otherwise. If EXPR
+string otherwise.  If EXPR
 is not specified, C<$_> will be used.  The value returned depends on the
 type of thing the reference is a reference to.
 Builtin types include:
@@ -4931,8 +5679,8 @@
     }
 
 The return value C<LVALUE> indicates a reference to an lvalue that is not
-a variable. You get this from taking the reference of function calls like
-C<pos()> or C<substr()>. C<VSTRING> is returned if the reference points
+a variable.  You get this from taking the reference of function calls like
+C<pos()> or C<substr()>.  C<VSTRING> is returned if the reference points
 to a L<version string|perldata/"Version Strings">.
 
 The result C<Regexp> indicates that the argument is a regular expression
@@ -4943,6 +5691,8 @@
 =item rename OLDNAME,NEWNAME
 X<rename> X<move> X<mv> X<ren>
 
+=for Pod::Functions change a filename
+
 Changes the name of a file; an existing file NEWNAME will be
 clobbered.  Returns true for success, false otherwise.
 
@@ -4956,6 +5706,8 @@
 For a platform independent C<move> function look at the L<File::Copy>
 module.
 
+Portability issues: L<perlport/rename>.
+
 =item require VERSION
 X<require>
 
@@ -4963,6 +5715,8 @@
 
 =item require
 
+=for Pod::Functions load in external functions from a library at runtime
+
 Demands a version of Perl specified by VERSION, or demands some semantics
 specified by EXPR or by C<$_> if EXPR is not supplied.
 
@@ -4979,7 +5733,8 @@
 
     require v5.6.1;     # run time version check
     require 5.6.1;      # ditto
-    require 5.006_001;  # ditto; preferred for backwards compatibility
+    require 5.006_001;  # ditto; preferred for backwards
+                          compatibility
 
 Otherwise, C<require> demands that a library file be included if it
 hasn't already been included.  The file is included via the do-FILE
@@ -5052,7 +5807,7 @@
 Now that you understand how C<require> looks for files with a
 bareword argument, there is a little extra functionality going on behind
 the scenes.  Before C<require> looks for a "F<.pm>" extension, it will
-first look for a similar filename with a "F<.pmc>" extension. If this file
+first look for a similar filename with a "F<.pmc>" extension.  If this file
 is found, it will be loaded in place of any file ending in a "F<.pm>"
 extension.
 
@@ -5075,7 +5830,7 @@
 
 =item 2
 
-A reference to a subroutine. If there is no filehandle (previous item),
+A reference to a subroutine.  If there is no filehandle (previous item),
 then this subroutine is expected to generate one line of source code per
 call, writing the line into C<$_> and returning 1, then finally at end of
 file returning 0.  If there is a filehandle, then the subroutine will be
@@ -5085,7 +5840,7 @@
 
 =item 3
 
-Optional state for the subroutine. The state is passed in as C<$_[1]>. A
+Optional state for the subroutine.  The state is passed in as C<$_[1]>.  A
 reference to the subroutine itself is passed in as C<$_[0]>.
 
 =back
@@ -5136,7 +5891,7 @@
     push @INC, Foo->new(...);
 
 These hooks are also permitted to set the %INC entry
-corresponding to the files they have loaded. See L<perlvar/%INC>.
+corresponding to the files they have loaded.  See L<perlvar/%INC>.
 
 For a yet-more-powerful import facility, see L</use> and L<perlmod>.
 
@@ -5145,6 +5900,8 @@
 
 =item reset
 
+=for Pod::Functions clear all variables of a given name
+
 Generally used in a C<continue> block at the end of a loop to clear
 variables and reset C<??> searches so that they work again.  The
 expression is interpreted as a list of single characters (hyphens
@@ -5169,10 +5926,12 @@
 
 =item return
 
+=for Pod::Functions get out of a function early
+
 Returns from a subroutine, C<eval>, or C<do FILE> with the value
 given in EXPR.  Evaluation of EXPR may be in list, scalar, or void
 context, depending on how the return value will be used, and the context
-may vary from one execution to the next (see C<wantarray>).  If no EXPR
+may vary from one execution to the next (see L</wantarray>).  If no EXPR
 is given, returns an empty list in list context, the undefined value in
 scalar context, and (of course) nothing at all in void context.
 
@@ -5180,9 +5939,15 @@
 or do FILE automatically returns the value of the last expression
 evaluated.)
 
+Unlike most named operators, this is also exempt from the
+looks-like-a-function rule, so C<return ("foo")."bar"> will
+cause "bar" to be part of the argument to C<return>.
+
 =item reverse LIST
 X<reverse> X<rev> X<invert>
 
+=for Pod::Functions flip a string or a list
+
 In list context, returns a list value consisting of the elements
 of LIST in the opposite order.  In scalar context, concatenates the
 elements of LIST and returns a string value with all characters
@@ -5195,12 +5960,12 @@
 Used without arguments in scalar context, reverse() reverses C<$_>.
 
     $_ = "dlrow ,olleH";
-    print reverse;                              # No output, list context
-    print scalar reverse;                       # Hello, world
+    print reverse;                         # No output, list context
+    print scalar reverse;                  # Hello, world
 
 Note that reversing an array to itself (as in C<@a = reverse @a>) will
-preserve non-existent elements whenever possible, i.e., for non magical
-arrays or tied arrays with C<EXISTS> and C<DELETE> methods.
+preserve non-existent elements whenever possible; i.e., for non-magical
+arrays or for tied arrays with C<EXISTS> and C<DELETE> methods.
 
 This operator is also handy for inverting a hash, although there are some
 caveats.  If a value is duplicated in the original hash, only one of those
@@ -5213,14 +5978,20 @@
 =item rewinddir DIRHANDLE
 X<rewinddir>
 
+=for Pod::Functions reset directory handle
+
 Sets the current position to the beginning of the directory for the
 C<readdir> routine on DIRHANDLE.
 
+Portability issues: L<perlport/rewinddir>.
+
 =item rindex STR,SUBSTR,POSITION
 X<rindex>
 
 =item rindex STR,SUBSTR
 
+=for Pod::Functions right-to-left substring search
+
 Works just like index() except that it returns the position of the I<last>
 occurrence of SUBSTR in STR.  If POSITION is specified, returns the
 last occurrence beginning at or before that position.
@@ -5230,6 +6001,8 @@
 
 =item rmdir
 
+=for Pod::Functions remove a directory
+
 Deletes the directory specified by FILENAME if that directory is
 empty.  If it succeeds it returns true; otherwise it returns false and
 sets C<$!> (errno).  If FILENAME is omitted, uses C<$_>.
@@ -5239,6 +6012,8 @@
 
 =item s///
 
+=for Pod::Functions replace a pattern with a string
+
 The substitution operator.  See L<perlop/"Regexp Quote-Like Operators">.
 
 =item say FILEHANDLE LIST
@@ -5250,12 +6025,15 @@
 
 =item say
 
+=for Pod::Functions +say output a list to a filehandle, appending a newline
+
 Just like C<print>, but implicitly appends a newline.  C<say LIST> is
 simply an abbreviation for C<{ local $\ = "\n"; print LIST }>.  To use
 FILEHANDLE without a LIST to print the contents of C<$_> to it, you must
 use a real filehandle like C<FH>, not an indirect one like C<$fh>.
 
-This keyword is available only when the C<"say"> feature is enabled; see
+This keyword is available only when the C<"say"> feature
+is enabled, or when prefixed with C<CORE::>; see
 L<feature>.  Alternately, include a C<use v5.10> or later to the current
 scope.
 
@@ -5262,6 +6040,8 @@
 =item scalar EXPR
 X<scalar> X<context>
 
+=for Pod::Functions force a scalar context
+
 Forces EXPR to be interpreted in scalar context and returns the value
 of EXPR.
 
@@ -5292,6 +6072,8 @@
 =item seek FILEHANDLE,POSITION,WHENCE
 X<seek> X<fseek> X<filehandle, position>
 
+=for Pod::Functions reposition file pointer for random-access I/O
+
 Sets FILEHANDLE's position, just like the C<fseek> call of C<stdio>.
 FILEHANDLE may be an expression whose value gives the name of the
 filehandle.  The values for WHENCE are C<0> to set the new position
@@ -5339,6 +6121,8 @@
 =item seekdir DIRHANDLE,POS
 X<seekdir>
 
+=for Pod::Functions reposition directory pointer
+
 Sets the current position for the C<readdir> routine on DIRHANDLE.  POS
 must be a value returned by C<telldir>.  C<seekdir> also has the same caveats
 about possible directory compaction as the corresponding system library
@@ -5349,6 +6133,8 @@
 
 =item select
 
+=for Pod::Functions reset default output or do I/O multiplexing
+
 Returns the currently selected filehandle.  If FILEHANDLE is supplied,
 sets the new current default filehandle for output.  This has two
 effects: first, a C<write> or a C<print> without a filehandle 
@@ -5374,6 +6160,8 @@
     use IO::Handle;
     STDERR->autoflush(1);
 
+Portability issues: L<perlport/select>.
+
 =item select RBITS,WBITS,EBITS,TIMEOUT
 X<select>
 
@@ -5381,8 +6169,8 @@
 can be constructed using C<fileno> and C<vec>, along these lines:
 
     $rin = $win = $ein = '';
-    vec($rin,fileno(STDIN),1) = 1;
-    vec($win,fileno(STDOUT),1) = 1;
+    vec($rin, fileno(STDIN),  1) = 1;
+    vec($win, fileno(STDOUT), 1) = 1;
     $ein = $rin | $win;
 
 If you want to select on many filehandles, you may wish to write a
@@ -5389,14 +6177,14 @@
 subroutine like this:
 
     sub fhbits {
-        my(@fhlist) = split(' ',$_[0]);
-        my($bits);
-        for (@fhlist) {
-            vec($bits,fileno($_),1) = 1;
+        my @fhlist = @_;
+        my $bits = "";
+        for my $fh (@fhlist) {
+            vec($bits, fileno($fh), 1) = 1;
         }
-        $bits;
+        return $bits;
     }
-    $rin = fhbits('STDIN TTY SOCK');
+    $rin = fhbits(*STDIN, *TTY, *MYSOCK);
 
 The usual idiom is:
 
@@ -5423,21 +6211,28 @@
 is implementation-dependent.  See also L<perlport> for notes on the
 portability of C<select>.
 
-On error, C<select> behaves like select(2): it returns
+On error, C<select> behaves just like select(2): it returns
 -1 and sets C<$!>.
 
 On some Unixes, select(2) may report a socket file descriptor as "ready for
 reading" even when no data is available, and thus any subsequent C<read>
-would block. This can be avoided if you always use O_NONBLOCK on the
-socket. See select(2) and fcntl(2) for further details.
+would block.  This can be avoided if you always use O_NONBLOCK on the
+socket.  See select(2) and fcntl(2) for further details.
 
+The standard C<IO::Select> module provides a user-friendlier interface
+to C<select>, mostly because it does all the bit-mask work for you.
+
 B<WARNING>: One should not attempt to mix buffered I/O (like C<read>
 or <FH>) with C<select>, except as permitted by POSIX, and even
 then only on POSIX systems.  You have to use C<sysread> instead.
 
+Portability issues: L<perlport/select>.
+
 =item semctl ID,SEMNUM,CMD,ARG
 X<semctl>
 
+=for Pod::Functions SysV semaphore control operations
+
 Calls the System V IPC function semctl(2).  You'll probably have to say
 
     use IPC::SysV;
@@ -5451,17 +6246,25 @@
 See also L<perlipc/"SysV IPC">, C<IPC::SysV>, C<IPC::Semaphore>
 documentation.
 
+Portability issues: L<perlport/semctl>.
+
 =item semget KEY,NSEMS,FLAGS
 X<semget>
 
+=for Pod::Functions get set of SysV semaphores
+
 Calls the System V IPC function semget(2).  Returns the semaphore id, or
 the undefined value on error.  See also
 L<perlipc/"SysV IPC">, C<IPC::SysV>, C<IPC::SysV::Semaphore>
 documentation.
 
+Portability issues: L<perlport/semget>.
+
 =item semop KEY,OPSTRING
 X<semop>
 
+=for Pod::Functions SysV semaphore operations
+
 Calls the System V IPC function semop(2) for semaphore operations
 such as signalling and waiting.  OPSTRING must be a packed array of
 semop structures.  Each semop structure can be generated with
@@ -5477,11 +6280,15 @@
 L<perlipc/"SysV IPC">, C<IPC::SysV>, and C<IPC::SysV::Semaphore>
 documentation.
 
+Portability issues: L<perlport/semop>.
+
 =item send SOCKET,MSG,FLAGS,TO
 X<send>
 
 =item send SOCKET,MSG,FLAGS
 
+=for Pod::Functions send a message over a socket
+
 Sends a message on a socket.  Attempts to send the scalar MSG to the SOCKET
 filehandle.  Takes the same flags as the system call of the same name.  On
 unconnected sockets, you must specify a destination to I<send to>, in which
@@ -5500,6 +6307,8 @@
 =item setpgrp PID,PGRP
 X<setpgrp> X<group>
 
+=for Pod::Functions set the process group of a process
+
 Sets the current process group for the specified PID, C<0> for the current
 process.  Raises an exception when used on a machine that doesn't
 implement POSIX setpgid(2) or BSD setpgrp(2).  If the arguments are omitted,
@@ -5507,16 +6316,24 @@
 accept any arguments, so only C<setpgrp(0,0)> is portable.  See also
 C<POSIX::setsid()>.
 
+Portability issues: L<perlport/setpgrp>.
+
 =item setpriority WHICH,WHO,PRIORITY
 X<setpriority> X<priority> X<nice> X<renice>
 
+=for Pod::Functions set a process's nice value
+
 Sets the current priority for a process, a process group, or a user.
 (See setpriority(2).)  Raises an exception when used on a machine
 that doesn't implement setpriority(2).
 
+Portability issues: L<perlport/setpriority>.
+
 =item setsockopt SOCKET,LEVEL,OPTNAME,OPTVAL
 X<setsockopt>
 
+=for Pod::Functions set some socket options
+
 Sets the socket option requested.  Returns C<undef> on error.
 Use integer constants provided by the C<Socket> module for
 LEVEL and OPNAME.  Values for LEVEL can also be obtained from
@@ -5528,6 +6345,8 @@
     use Socket qw(IPPROTO_TCP TCP_NODELAY);
     setsockopt($socket, IPPROTO_TCP, TCP_NODELAY, 1);
 
+Portability issues: L<perlport/setsockopt>.
+
 =item shift ARRAY
 X<shift>
 
@@ -5535,6 +6354,8 @@
 
 =item shift
 
+=for Pod::Functions remove the first element of an array, and return it
+
 Shifts the first value of the array off and returns it, shortening the
 array by 1 and moving everything down.  If there are no elements in the
 array, returns the undefined value.  If ARRAY is omitted, shifts the
@@ -5548,6 +6369,13 @@
 automatically.  This aspect of C<shift> is considered highly experimental.
 The exact behaviour may change in a future version of Perl.
 
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+    use 5.014;	# so push/pop/etc work on scalars (experimental)
+
 See also C<unshift>, C<push>, and C<pop>.  C<shift> and C<unshift> do the
 same thing to the left end of an array that C<pop> and C<push> do to the
 right end.
@@ -5555,6 +6383,8 @@
 =item shmctl ID,CMD,ARG
 X<shmctl>
 
+=for Pod::Functions SysV shared memory operations
+
 Calls the System V IPC function shmctl.  You'll probably have to say
 
     use IPC::SysV;
@@ -5565,19 +6395,29 @@
 true" for zero; and the actual return value otherwise.
 See also L<perlipc/"SysV IPC"> and C<IPC::SysV> documentation.
 
+Portability issues: L<perlport/shmctl>.
+
 =item shmget KEY,SIZE,FLAGS
 X<shmget>
 
+=for Pod::Functions get SysV shared memory segment identifier
+
 Calls the System V IPC function shmget.  Returns the shared memory
 segment id, or C<undef> on error.
 See also L<perlipc/"SysV IPC"> and C<IPC::SysV> documentation.
 
+Portability issues: L<perlport/shmget>.
+
 =item shmread ID,VAR,POS,SIZE
 X<shmread>
 X<shmwrite>
 
+=for Pod::Functions read SysV shared memory
+
 =item shmwrite ID,STRING,POS,SIZE
 
+=for Pod::Functions write SysV shared memory
+
 Reads or writes the System V shared memory segment ID starting at
 position POS for size SIZE by attaching to it, copying in/out, and
 detaching from it.  When reading, VAR must be a variable that will
@@ -5584,12 +6424,16 @@
 hold the data read.  When writing, if STRING is too long, only SIZE
 bytes are used; if STRING is too short, nulls are written to fill out
 SIZE bytes.  Return true if successful, false on error.
-shmread() taints the variable. See also L<perlipc/"SysV IPC">,
+shmread() taints the variable.  See also L<perlipc/"SysV IPC">,
 C<IPC::SysV>, and the C<IPC::Shareable> module from CPAN.
 
+Portability issues: L<perlport/shmread> and L<perlport/shmwrite>.
+
 =item shutdown SOCKET,HOW
 X<shutdown>
 
+=for Pod::Functions close down just half of a socket connection
+
 Shuts down a socket connection in the manner indicated by HOW, which
 has the same interpretation as in the syscall of the same name.
 
@@ -5612,6 +6456,8 @@
 
 =item sin
 
+=for Pod::Functions return the sine of a number
+
 Returns the sine of EXPR (expressed in radians).  If EXPR is omitted,
 returns sine of C<$_>.
 
@@ -5625,6 +6471,8 @@
 
 =item sleep
 
+=for Pod::Functions block for some number of seconds
+
 Causes the script to sleep for (integer) EXPR seconds, or forever if no 
 argument is given.  Returns the integer number of seconds actually slept.  
 
@@ -5650,7 +6498,7 @@
 distribution) provides usleep().  You may also use Perl's four-argument
 version of select() leaving the first three arguments undefined, or you
 might be able to use the C<syscall> interface to access setitimer(2) if
-your system supports it. See L<perlfaq8> for details.
+your system supports it.  See L<perlfaq8> for details.
 
 See also the POSIX module's C<pause> function.
 
@@ -5657,6 +6505,8 @@
 =item socket SOCKET,DOMAIN,TYPE,PROTOCOL
 X<socket>
 
+=for Pod::Functions create a socket
+
 Opens a socket of the specified kind and attaches it to filehandle
 SOCKET.  DOMAIN, TYPE, and PROTOCOL are specified the same as for
 the syscall of the same name.  You should C<use Socket> first
@@ -5670,6 +6520,8 @@
 =item socketpair SOCKET1,SOCKET2,DOMAIN,TYPE,PROTOCOL
 X<socketpair>
 
+=for Pod::Functions create a pair of sockets
+
 Creates an unnamed pair of sockets in the specified domain, of the
 specified type.  DOMAIN, TYPE, and PROTOCOL are specified the same as
 for the syscall of the same name.  If unimplemented, raises an exception.
@@ -5691,6 +6543,8 @@
 emulate socketpair using IP sockets to localhost if your system implements
 sockets but not socketpair.
 
+Portability issues: L<perlport/socketpair>.
+
 =item sort SUBNAME LIST
 X<sort> X<qsort> X<quicksort> X<mergesort>
 
@@ -5698,6 +6552,8 @@
 
 =item sort LIST
 
+=for Pod::Functions sort a list of values
+
 In list context, this sorts the LIST and returns the sorted list value.
 In scalar context, the behaviour of C<sort()> is undefined.
 
@@ -5718,6 +6574,10 @@
 below).  Note that in the latter case, it is usually highly counter-productive
 to declare $a and $b as lexicals.
 
+If the subroutine is an XSUB, the elements to be compared are pushed on to
+the stack, the way arguments are usually passed to XSUBs.  $a and $b are
+not set.
+
 The values to be compared are always passed by reference and should not
 be modified.
 
@@ -5724,7 +6584,8 @@
 You also cannot exit out of the sort block or subroutine using any of the
 loop control operators described in L<perlsyn> or with C<goto>.
 
-When C<use locale> is in effect, C<sort LIST> sorts LIST according to the
+When C<use locale> (but not C<use locale 'not_characters'>) is in
+effect, C<sort LIST> sorts LIST according to the
 current collation locale.  See L<perllocale>.
 
 sort() returns aliases into the original list, much as a for loop's index
@@ -5751,32 +6612,32 @@
 
     # sort lexically
     @articles = sort @files;
-    
+
     # same thing, but with explicit sort routine
     @articles = sort {$a cmp $b} @files;
-    
+
     # now case-insensitively
-    @articles = sort {uc($a) cmp uc($b)} @files;
-    
+    @articles = sort {fc($a) cmp fc($b)} @files;
+
     # same thing in reversed order
     @articles = sort {$b cmp $a} @files;
-    
+
     # sort numerically ascending
     @articles = sort {$a <=> $b} @files;
-    
+
     # sort numerically descending
     @articles = sort {$b <=> $a} @files;
-    
+
     # this sorts the %age hash by value instead of key
     # using an in-line function
     @eldest = sort { $age{$b} <=> $age{$a} } keys %age;
-    
+
     # sort using explicit subroutine name
     sub byage {
-    $age{$a} <=> $age{$b};  # presuming numeric
+        $age{$a} <=> $age{$b};  # presuming numeric
     }
     @sortedclass = sort byage @class;
-    
+
     sub backwards { $b cmp $a }
     @harry  = qw(dog cat x Cain Abel);
     @george = qw(gone chased yz Punished Axed);
@@ -5793,8 +6654,8 @@
 
     my @new = sort {
         ($b =~ /=(\d+)/)[0] <=> ($a =~ /=(\d+)/)[0]
-            ||
-        uc($a)  cmp  uc($b)
+                            ||
+                    fc($a)  cmp  fc($b)
     } @old;
 
     # same thing, but much more efficiently;
@@ -5803,41 +6664,41 @@
     my @nums = @caps = ();
     for (@old) {
         push @nums, ( /=(\d+)/ ? $1 : undef );
-        push @caps, uc($_);
+        push @caps, fc($_);
     }
 
     my @new = @old[ sort {
-        $nums[$b] <=> $nums[$a]
-            ||
-        $caps[$a] cmp $caps[$b]
-        } 0..$#old
-    ];
+                           $nums[$b] <=> $nums[$a]
+                                    ||
+                           $caps[$a] cmp $caps[$b]
+                         } 0..$#old
+                  ];
 
     # same thing, but without any temps
     @new = map { $_->[0] }
            sort { $b->[1] <=> $a->[1]
-               ||
-           $a->[2] cmp $b->[2]
-    } map { [$_, /=(\d+)/, uc($_)] } @old;
+                           ||
+                  $a->[2] cmp $b->[2]
+           } map { [$_, /=(\d+)/, fc($_)] } @old;
 
     # using a prototype allows you to use any comparison subroutine
     # as a sort subroutine (including other package's subroutines)
     package other;
-    sub backwards ($$) { $_[1] cmp $_[0]; }  # $a and $b are not set here
-    
+    sub backwards ($$) { $_[1] cmp $_[0]; }  # $a and $b are
+                                             # not set here    
     package main;
     @new = sort other::backwards @old;
-    
+
     # guarantee stability, regardless of algorithm
     use sort 'stable';
     @new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old;
-    
+
     # force use of mergesort (not portable outside Perl 5.8)
     use sort '_mergesort';  # note discouraging _
     @new = sort { substr($a, 3, 5) cmp substr($b, 3, 5) } @old;
 
 Warning: syntactical care is required when sorting the list returned from
-a function. If you want to sort the list returned by the function call
+a function.  If you want to sort the list returned by the function call
 C<find_records(@key)>, you can use:
 
     @contact = sort { $a cmp $b } find_records @key;
@@ -5870,8 +6731,7 @@
 well-defined.
 
 Because C<< <=> >> returns C<undef> when either operand is C<NaN>
-(not-a-number), and laso because C<sort> raises an exception unless the
-result of a comparison is defined, be careful when sorting with a
+(not-a-number), be careful when sorting with a
 comparison function like C<< $a <=> $b >> any lists that might contain a
 C<NaN>.  The following example takes advantage that C<NaN != NaN> to
 eliminate any C<NaN>s from the input list.
@@ -5887,6 +6747,8 @@
 
 =item splice ARRAY or EXPR
 
+=for Pod::Functions add or remove elements anywhere in an array
+
 Removes the elements designated by OFFSET and LENGTH from an array, and
 replaces them with the elements of LIST, if any.  In list context,
 returns the elements removed from the array.  In scalar context,
@@ -5896,11 +6758,11 @@
 If LENGTH is omitted, removes everything from OFFSET onward.
 If LENGTH is negative, removes the elements from OFFSET onward
 except for -LENGTH elements at the end of the array.
-If both OFFSET and LENGTH are omitted, removes everything. If OFFSET is
+If both OFFSET and LENGTH are omitted, removes everything.  If OFFSET is
 past the end of the array, Perl issues a warning, and splices at the
 end of the array.
 
-The following equivalences hold (assuming C<< $[ == 0 and $#a >= $i >> )
+The following equivalences hold (assuming C<< $#a >= $i >> )
 
     push(@a,$x,$y)      splice(@a, at a,0,$x,$y)
     pop(@a)             splice(@a,-1)
@@ -5926,6 +6788,13 @@
 automatically.  This aspect of C<splice> is considered highly experimental.
 The exact behaviour may change in a future version of Perl.
 
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+    use 5.014;	# so push/pop/etc work on scalars (experimental)
+
 =item split /PATTERN/,EXPR,LIMIT
 X<split>
 
@@ -5935,124 +6804,165 @@
 
 =item split
 
-Splits the string EXPR into a list of strings and returns that list.  By
-default, empty leading fields are preserved, and empty trailing ones are
-deleted.  (If all fields are empty, they are considered to be trailing.)
+=for Pod::Functions split up a string using a regexp delimiter
 
-In scalar context, returns the number of fields found.
+Splits the string EXPR into a list of strings and returns the
+list in list context, or the size of the list in scalar context.
 
-If EXPR is omitted, splits the C<$_> string.  If PATTERN is also omitted,
-splits on whitespace (after skipping any leading whitespace).  Anything
-matching PATTERN is taken to be a delimiter separating the fields.  (Note
-that the delimiter may be longer than one character.)
+If only PATTERN is given, EXPR defaults to C<$_>.
 
+Anything in EXPR that matches PATTERN is taken to be a separator
+that separates the EXPR into substrings (called "I<fields>") that
+do B<not> include the separator.  Note that a separator may be
+longer than one character or even have no characters at all (the
+empty string, which is a zero-width match).
+
+The PATTERN need not be constant; an expression may be used
+to specify a pattern that varies at runtime.
+
+If PATTERN matches the empty string, the EXPR is split at the match
+position (between characters).  As an example, the following:
+
+    print join(':', split('b', 'abc')), "\n";
+
+uses the 'b' in 'abc' as a separator to produce the output 'a:c'.
+However, this:
+
+    print join(':', split('', 'abc')), "\n";
+
+uses empty string matches as separators to produce the output
+'a:b:c'; thus, the empty string may be used to split EXPR into a
+list of its component characters.
+
+As a special case for C<split>, the empty pattern given in
+L<match operator|perlop/"m/PATTERN/msixpodualgc"> syntax (C<//>) specifically matches the empty string, which is contrary to its usual
+interpretation as the last successful match.
+
+If PATTERN is C</^/>, then it is treated as if it used the
+L<multiline modifier|perlreref/OPERATORS> (C</^/m>), since it
+isn't much use otherwise.
+
+As another special case, C<split> emulates the default behavior of the
+command line tool B<awk> when the PATTERN is either omitted or a I<literal
+string> composed of a single space character (such as S<C<' '>> or
+S<C<"\x20">>, but not e.g. S<C</ />>).  In this case, any leading
+whitespace in EXPR is removed before splitting occurs, and the PATTERN is
+instead treated as if it were C</\s+/>; in particular, this means that
+I<any> contiguous whitespace (not just a single space character) is used as
+a separator.  However, this special treatment can be avoided by specifying
+the pattern S<C</ />> instead of the string S<C<" ">>, thereby allowing
+only a single space character to be a separator. In earlier Perl's this
+special case was restricted to the use of a plain S<C<" ">> as the
+pattern argument to split, in Perl 5.18.0 and later this special case is
+triggered by any expression which evaluates as the simple string S<C<" ">>.
+
+If omitted, PATTERN defaults to a single space, S<C<" ">>, triggering
+the previously described I<awk> emulation.
+
 If LIMIT is specified and positive, it represents the maximum number
-of fields the EXPR will be split into, though the actual number of
-fields returned depends on the number of times PATTERN matches within
-EXPR.  If LIMIT is unspecified or zero, trailing null fields are
-stripped (which potential users of C<pop> would do well to remember).
-If LIMIT is negative, it is treated as if an arbitrarily large LIMIT
-had been specified.  Note that splitting an EXPR that evaluates to the
-empty string always returns the empty list, regardless of the LIMIT
-specified.
+of fields into which the EXPR may be split; in other words, LIMIT is
+one greater than the maximum number of times EXPR may be split.  Thus,
+the LIMIT value C<1> means that EXPR may be split a maximum of zero
+times, producing a maximum of one field (namely, the entire value of
+EXPR).  For instance:
 
-A pattern matching the empty string (not to be confused with
-an empty pattern C<//>, which is just one member of the set of patterns
-matching the epmty string), splits EXPR into individual
-characters.  For example:
+    print join(':', split(//, 'abc', 1)), "\n";
 
-    print join(':', split(/ */, 'hi there')), "\n";
+produces the output 'abc', and this:
 
-produces the output 'h:i:t:h:e:r:e'.
+    print join(':', split(//, 'abc', 2)), "\n";
 
-As a special case for C<split>, the empty pattern C<//> specifically
-matches the empty string; this is not be confused with the normal use
-of an empty pattern to mean the last successful match.  So to split
-a string into individual characters, the following:
+produces the output 'a:bc', and each of these:
 
-    print join(':', split(//, 'hi there')), "\n";
+    print join(':', split(//, 'abc', 3)), "\n";
+    print join(':', split(//, 'abc', 4)), "\n";
 
-produces the output 'h:i: :t:h:e:r:e'.
+produces the output 'a:b:c'.
 
-Empty leading fields are produced when there are positive-width matches at
-the beginning of the string; a zero-width match at the beginning of
-the string does not produce an empty field. For example:
+If LIMIT is negative, it is treated as if it were instead arbitrarily
+large; as many fields as possible are produced.
 
-   print join(':', split(/(?=\w)/, 'hi there!'));
+If LIMIT is omitted (or, equivalently, zero), then it is usually
+treated as if it were instead negative but with the exception that
+trailing empty fields are stripped (empty leading fields are always
+preserved); if all fields are empty, then all fields are considered to
+be trailing (and are thus stripped in this case).  Thus, the following:
 
-produces the output 'h:i :t:h:e:r:e!'. Empty trailing fields, on the other
-hand, are produced when there is a match at the end of the string (and
-when LIMIT is given and is not 0), regardless of the length of the match.
-For example:
+    print join(':', split(',', 'a,b,c,,,')), "\n";
 
-   print join(':', split(//,   'hi there!', -1)), "\n";
-   print join(':', split(/\W/, 'hi there!', -1)), "\n";
+produces the output 'a:b:c', but the following:
 
-produce the output 'h:i: :t:h:e:r:e:!:' and 'hi:there:', respectively,
-both with an empty trailing field.
+    print join(':', split(',', 'a,b,c,,,', -1)), "\n";
 
-The LIMIT parameter can be used to split a line partially
+produces the output 'a:b:c:::'.
 
-    ($login, $passwd, $remainder) = split(/:/, $_, 3);
+In time-critical applications, it is worthwhile to avoid splitting
+into more fields than necessary.  Thus, when assigning to a list,
+if LIMIT is omitted (or zero), then LIMIT is treated as though it
+were one larger than the number of variables in the list; for the
+following, LIMIT is implicitly 3:
 
-When assigning to a list, if LIMIT is omitted, or zero, Perl supplies
-a LIMIT one larger than the number of variables in the list, to avoid
-unnecessary work.  For the list above LIMIT would have been 4 by
-default.  In time critical applications it behooves you not to split
-into more fields than you really need.
+    ($login, $passwd) = split(/:/);
 
-If the PATTERN contains parentheses, additional list elements are
-created from each matching substring in the delimiter.
+Note that splitting an EXPR that evaluates to the empty string always
+produces zero fields, regardless of the LIMIT specified.
 
-    split(/([,-])/, "1-10,20", 3);
+An empty leading field is produced when there is a positive-width
+match at the beginning of EXPR.  For instance:
 
-produces the list value
+    print join(':', split(/ /, ' abc')), "\n";
 
-    (1, '-', 10, ',', 20)
+produces the output ':abc'.  However, a zero-width match at the
+beginning of EXPR never produces an empty field, so that:
 
-If you had the entire header of a normal Unix email message in $header,
-you could split it up into fields and their values this way:
+    print join(':', split(//, ' abc'));
 
-    $header =~ s/\n(?=\s)//g;  # fix continuation lines
-    %hdrs   =  (UNIX_FROM => split /^(\S*?):\s*/m, $header);
+produces the output S<' :a:b:c'> (rather than S<': :a:b:c'>).
 
-The pattern C</PATTERN/> may be replaced with an expression to specify
-patterns that vary at runtime.  (To do runtime compilation only once,
-use C</$variable/o>.)
+An empty trailing field, on the other hand, is produced when there is a
+match at the end of EXPR, regardless of the length of the match
+(of course, unless a non-zero LIMIT is given explicitly, such fields are
+removed, as in the last example).  Thus:
 
-As a special case, specifying a PATTERN of space (S<C<' '>>) will split on
-white space just as C<split> with no arguments does.  Thus, S<C<split(' ')>> can
-be used to emulate B<awk>'s default behavior, whereas S<C<split(/ /)>>
-will give you as many initial null fields (empty string) as there are leading spaces.
-A C<split> on C</\s+/> is like a S<C<split(' ')>> except that any leading
-whitespace produces a null first field.  A C<split> with no arguments
-really does a S<C<split(' ', $_)>> internally.
+    print join(':', split(//, ' abc', -1)), "\n";
 
-A PATTERN of C</^/> is treated as if it were C</^/m>, since it isn't
-much use otherwise.
+produces the output S<' :a:b:c:'>.
 
-Example:
+If the PATTERN contains
+L<capturing groups|perlretut/Grouping things and hierarchical matching>,
+then for each separator, an additional field is produced for each substring
+captured by a group (in the order in which the groups are specified,
+as per L<backreferences|perlretut/Backreferences>); if any group does not
+match, then it captures the C<undef> value instead of a substring.  Also,
+note that any such additional field is produced whenever there is a
+separator (that is, whenever a split occurs), and such an additional field
+does B<not> count towards the LIMIT.  Consider the following expressions
+evaluated in list context (each returned list is provided in the associated
+comment):
 
-    open(PASSWD, '/etc/passwd');
-    while (<PASSWD>) {
-        chomp;
-        ($login, $passwd, $uid, $gid,
-         $gcos, $home, $shell) = split(/:/);
-        #...
-    }
+    split(/-|,/, "1-10,20", 3)
+    # ('1', '10', '20')
 
-As with regular pattern matching, any capturing parentheses that are not
-matched in a C<split()> will be set to C<undef> when returned:
+    split(/(-|,)/, "1-10,20", 3)
+    # ('1', '-', '10', ',', '20')
 
-    @fields = split /(A)|B/, "1A2B3";
-    # @fields is (1, 'A', 2, undef, 3)
+    split(/-|(,)/, "1-10,20", 3)
+    # ('1', undef, '10', ',', '20')
 
+    split(/(-)|,/, "1-10,20", 3)
+    # ('1', '-', '10', undef, '20')
+
+    split(/(-)|(,)/, "1-10,20", 3)
+    # ('1', '-', undef, '10', undef, ',', '20')
+
 =item sprintf FORMAT, LIST
 X<sprintf>
 
+=for Pod::Functions formatted print into a string
+
 Returns a string formatted by the usual C<printf> conventions of the C
 library function C<sprintf>.  See below for more details
-and see C<sprintf(3)> or C<printf(3)> on your system for an explanation of
+and see L<sprintf(3)> or L<printf(3)> on your system for an explanation of
 the general principles.
 
 For example:
@@ -6070,7 +6980,8 @@
 therefore unavailable from Perl.
 
 Unlike C<printf>, C<sprintf> does not do what you probably mean when you
-pass it an array as your first argument. The array is given scalar context,
+pass it an array as your first argument. 
+The array is given scalar context,
 and instead of using the 0th element of the array as the format, Perl will
 use the count of elements in the array as the format, which is almost never
 useful.
@@ -6097,7 +7008,7 @@
    %B    like %b, but using an upper-case "B" with the # flag
    %p    a pointer (outputs the Perl value's address in hexadecimal)
    %n    special: *stores* the number of characters output so far
-        into the next variable in the parameter list
+         into the next argument in the parameter list
 
 Finally, for backward (and we do mean "backward") compatibility, Perl
 permits these unnecessary but widely-supported conversions:
@@ -6122,7 +7033,7 @@
 
 =item format parameter index
 
-An explicit format parameter index, such as C<2$>. By default sprintf
+An explicit format parameter index, such as C<2$>.  By default sprintf
 will format the next unused argument in the list, but this allows you
 to take the arguments out of order:
 
@@ -6170,9 +7081,9 @@
 =item vector flag
 
 This flag tells Perl to interpret the supplied string as a vector of
-integers, one for each character in the string. Perl applies the format to
+integers, one for each character in the string.  Perl applies the format to
 each integer in turn, then joins the resulting strings with a separator (a
-dot C<.> by default). This can be useful for displaying ordinal values of
+dot C<.> by default).  This can be useful for displaying ordinal values of
 characters in arbitrary strings:
 
   printf "%vd", "AB\x{100}";           # prints "65.66.256"
@@ -6187,20 +7098,21 @@
 You can also explicitly specify the argument number to use for
 the join string using something like C<*2$v>; for example:
 
-  printf '%*4$vX %*4$vX %*4$vX', @addr[1..3], ":";   # 3 IPv6 addresses
+  printf '%*4$vX %*4$vX %*4$vX',       # 3 IPv6 addresses
+          @addr[1..3], ":";
 
 =item (minimum) width
 
 Arguments are usually formatted to be only as wide as required to
-display the given value. You can override the width by putting
+display the given value.  You can override the width by putting
 a number here, or get the width from the next argument (with C<*>)
 or from a specified argument (e.g., with C<*2$>):
 
-  printf "<%s>", "a";       # prints "<a>"
-  printf "<%6s>", "a";      # prints "<     a>"
-  printf "<%*s>", 6, "a";   # prints "<     a>"
-  printf "<%*2$s>", "a", 6; # prints "<     a>"
-  printf "<%2s>", "long";   # prints "<long>" (does not truncate)
+ printf "<%s>", "a";       # prints "<a>"
+ printf "<%6s>", "a";      # prints "<     a>"
+ printf "<%*s>", 6, "a";   # prints "<     a>"
+ printf '<%*2$s>', "a", 6; # prints "<     a>"
+ printf "<%2s>", "long";   # prints "<long>" (does not truncate)
 
 If a field width obtained through C<*> is negative, it has the same
 effect as the C<-> flag: left-justification.
@@ -6222,7 +7134,7 @@
   printf '<%.1e>', 10; # prints "<1.0e+01>"
 
 For "g" and "G", this specifies the maximum number of digits to show,
-including thoe prior to the decimal point and those after it; for 
+including those prior to the decimal point and those after it; for 
 example:
 
   # These examples are subject to system-specific variation.
@@ -6279,27 +7191,34 @@
 but it is intended that this will be possible in the future, for
 example using C<.*2$>:
 
-  printf "<%.*2$x>", 1, 6;   # INVALID, but in future will print "<000001>"
+  printf '<%.*2$x>', 1, 6;   # INVALID, but in future will print
+                             # "<000001>"
 
 =item size
 
 For numeric conversions, you can specify the size to interpret the
-number as using C<l>, C<h>, C<V>, C<q>, C<L>, or C<ll>. For integer
+number as using C<l>, C<h>, C<V>, C<q>, C<L>, or C<ll>.  For integer
 conversions (C<d u o x X b i D U O>), numbers are usually assumed to be
 whatever the default integer size is on your platform (usually 32 or 64
 bits), but you can override this to use instead one of the standard C types,
 as supported by the compiler used to build Perl:
 
-   hh          interpret integer as C type "char" or "unsigned char"
-	       on Perl 5.14 or later
-   h           interpret integer as C type "short" or "unsigned short"
-   j	       intepret integer as C type "intmax_t" on Perl 5.14 
-	       or later, and only with a C99 compiler (unportable)
-   l           interpret integer as C type "long" or "unsigned long"
-   q, L, or ll interpret integer as C type "long long", "unsigned long long",
-               or "quad" (typically 64-bit integers)
-   t	       intepret integer as C type "ptrdiff_t" on Perl 5.14 or later
-   z	       intepret integer as C type "size_t" on Perl 5.14 or later
+   hh          interpret integer as C type "char" or "unsigned
+               char" on Perl 5.14 or later
+   h           interpret integer as C type "short" or
+               "unsigned short"
+   j           interpret integer as C type "intmax_t" on Perl
+               5.14 or later, and only with a C99 compiler
+               (unportable)
+   l           interpret integer as C type "long" or
+               "unsigned long"
+   q, L, or ll interpret integer as C type "long long",
+               "unsigned long long", or "quad" (typically
+               64-bit integers)
+   t           interpret integer as C type "ptrdiff_t" on Perl
+               5.14 or later
+   z           interpret integer as C type "size_t" on Perl 5.14
+               or later
 
 As of 5.14, none of these raises an exception if they are not supported on
 your platform.  However, if warnings are enabled, a warning of the
@@ -6316,7 +7235,8 @@
 You can find out whether your Perl supports quads via L<Config>:
 
     use Config;
-    if ($Config{use64bitint} eq "define" || $Config{longsize} >= 8) {
+    if ($Config{use64bitint} eq "define"
+        || $Config{longsize} >= 8) {
         print "Nice quads!\n";
     }
 
@@ -6323,7 +7243,7 @@
 For floating-point conversions (C<e f g E F G>), numbers are usually assumed
 to be the default floating-point size on your platform (double or long double),
 but you can force "long double" with C<q>, C<L>, or C<ll> if your
-platform supports them. You can find out whether your Perl supports long
+platform supports them.  You can find out whether your Perl supports long
 doubles via L<Config>:
 
     use Config;
@@ -6334,7 +7254,7 @@
 
     use Config;
     if ($Config{uselongdouble} eq "define") {
-	print "long doubles by default\n";
+        print "long doubles by default\n";
     }
 
 It can also be that long doubles and doubles are the same thing:
@@ -6350,7 +7270,7 @@
 =item order of arguments
 
 Normally, sprintf() takes the next unused argument as the value to
-format for each format specification. If the format specification
+format for each format specification.  If the format specification
 uses C<*> to require additional arguments, these are consumed from
 the argument list in the order they appear in the format
 specification I<before> the value to format.  Where an argument is
@@ -6365,7 +7285,7 @@
 uses C<$a> for the width, C<$b> for the precision, and C<$c>
 as the value to format; while:
 
-  printf "<%*1$.*s>", $a, $b;
+  printf '<%*1$.*s>', $a, $b;
 
 would use C<$a> for the width and precision, and C<$b> as the
 value to format.
@@ -6373,14 +7293,15 @@
 Here are some more examples; be aware that when using an explicit
 index, the C<$> may need escaping:
 
-  printf "%2\$d %d\n",    12, 34;        # will print "34 12\n"
-  printf "%2\$d %d %d\n", 12, 34;        # will print "34 12 34\n"
-  printf "%3\$d %d %d\n", 12, 34, 56;    # will print "56 12 34\n"
-  printf "%2\$*3\$d %d\n", 12, 34, 3;    # will print " 34 12\n"
+  printf "%2\$d %d\n",    12, 34;      # will print "34 12\n"
+  printf "%2\$d %d %d\n", 12, 34;      # will print "34 12 34\n"
+  printf "%3\$d %d %d\n", 12, 34, 56;  # will print "56 12 34\n"
+  printf "%2\$*3\$d %d\n", 12, 34, 3;  # will print " 34 12\n"
 
 =back
 
-If C<use locale> is in effect and POSIX::setlocale() has been called,
+If C<use locale> (including C<use locale 'not_characters'>) is in effect
+and POSIX::setlocale() has been called,
 the character used for the decimal separator in formatted floating-point
 numbers is affected by the LC_NUMERIC locale.  See L<perllocale>
 and L<POSIX>.
@@ -6390,6 +7311,8 @@
 
 =item sqrt
 
+=for Pod::Functions square root function
+
 Return the positive square root of EXPR.  If EXPR is omitted, uses
 C<$_>.  Works only for non-negative operands unless you've
 loaded the C<Math::Complex> module.
@@ -6402,27 +7325,25 @@
 
 =item srand
 
+=for Pod::Functions seed the random number generator
+
 Sets and returns the random number seed for the C<rand> operator.
 
-The point of the function is to "seed" the C<rand> function so that
-C<rand> can produce a different sequence each time you run your
-program.  When called with a parameter, C<srand> uses that for the seed;
-otherwise it (semi-)randomly chooses a seed.  In either case, starting with
-Perl 5.14, it returns the seed.
+The point of the function is to "seed" the C<rand> function so that C<rand>
+can produce a different sequence each time you run your program.  When
+called with a parameter, C<srand> uses that for the seed; otherwise it
+(semi-)randomly chooses a seed.  In either case, starting with Perl 5.14,
+it returns the seed.  To signal that your code will work I<only> on Perls
+of a recent vintage:
 
+    use 5.014;	# so srand returns the seed
+
 If C<srand()> is not called explicitly, it is called implicitly without a
-parameter at the first use of the C<rand> operator.  However, this was not true
-of versions of Perl before 5.004, so if your script will run under older
-Perl versions, it should call C<srand>; otherwise most programs won't call
-C<srand()> at all.
-
-But there are a few situations in recent Perls where programs are likely to
-want to call C<srand>.  One is for generating predictable results generally for
+parameter at the first use of the C<rand> operator.
+However, there are a few situations where programs are likely to
+want to call C<srand>.  One is for generating predictable results, generally for
 testing or debugging.  There, you use C<srand($seed)>, with the same C<$seed>
-each time.  Another other case is where you need a cryptographically-strong
-starting point rather than the generally acceptable default, which is based on
-time of day, process ID, and memory allocation, or the F</dev/urandom> device
-if available.  And still another case is that you may want to call C<srand()>
+each time.  Another case is that you may want to call C<srand()>
 after a C<fork()> to avoid child processes sharing the same seed value as the
 parent (and consequently each other).
 
@@ -6436,36 +7357,18 @@
 produce the same results as C<srand(42.1)>.  To be safe, always pass
 C<srand> an integer.
 
-In versions of Perl prior to 5.004 the default seed was just the
-current C<time>.  This isn't a particularly good seed, so many old
-programs supply their own seed value (often C<time ^ $$> or C<time ^
-($$ + ($$ << 15))>), but that isn't necessary any more.
-
-For cryptographic purposes, however, you need something much more random 
-than the default seed.  Checksumming the compressed output of one or more
-rapidly changing operating system status programs is the usual method.  For
-example:
-
-    srand (time ^ $$ ^ unpack "%L*", `ps axww | gzip -f`);
-
-If you're particularly concerned with this, search the CPAN for
-random number generator modules instead of rolling out your own.
-
-Frequently called programs (like CGI scripts) that simply use
-
-    time ^ $$
-
-for a seed can fall prey to the mathematical property that
-
-    a^b == (a+1)^(b+1)
-
-one-third of the time.  So don't do that.
-
 A typical use of the returned seed is for a test program which has too many
 combinations to test comprehensively in the time available to it each run.  It
 can test a random subset each time, and should there be a failure, log the seed
 used for that run so that it can later be used to reproduce the same results.
 
+B<C<rand()> is not cryptographically secure.  You should not rely
+on it in security-sensitive situations.>  As of this writing, a
+number of third-party CPAN modules offer random number generators
+intended by their authors to be cryptographically secure,
+including: L<Data::Entropy>, L<Crypt::Random>, L<Math::Random::Secure>,
+and L<Math::TrulyRandom>.
+
 =item stat FILEHANDLE
 X<stat> X<file, status> X<ctime>
 
@@ -6475,6 +7378,8 @@
 
 =item stat
 
+=for Pod::Functions get a file's status information
+
 Returns a 13-element list giving the status info for a file, either
 the file opened via FILEHANDLE or DIRHANDLE, or named by EXPR.  If EXPR is 
 omitted, it stats C<$_> (not C<_>!).  Returns the empty list if C<stat> fails.  Typically
@@ -6498,12 +7403,14 @@
   8 atime    last access time in seconds since the epoch
   9 mtime    last modify time in seconds since the epoch
  10 ctime    inode change time in seconds since the epoch (*)
- 11 blksize  preferred block size for file system I/O
- 12 blocks   actual number of blocks allocated
+ 11 blksize  preferred I/O size in bytes for interacting with the
+             file (may vary from file to file)
+ 12 blocks   actual number of system-specific blocks allocated
+             on disk (often, but not always, 512 bytes each)
 
 (The epoch was at 00:00 January 1, 1970 GMT.)
 
-(*) Not all fields are supported on all filesystem types. Notably, the
+(*) Not all fields are supported on all filesystem types.  Notably, the
 ctime field is non-portable.  In particular, you cannot expect it to be a
 "creation time"; see L<perlport/"Files and Filesystems"> for details.
 
@@ -6563,26 +7470,29 @@
     S_IRWXO S_IROTH S_IWOTH S_IXOTH
 
     # Setuid/Setgid/Stickiness/SaveText.
-    # Note that the exact meaning of these is system dependent.
+    # Note that the exact meaning of these is system-dependent.
 
     S_ISUID S_ISGID S_ISVTX S_ISTXT
 
-    # File types.  Not necessarily all are available on your system.
+    # File types.  Not all are necessarily available on
+    # your system.
 
-    S_IFREG S_IFDIR S_IFLNK S_IFBLK S_IFCHR S_IFIFO S_IFSOCK S_IFWHT S_ENFMT
+    S_IFREG S_IFDIR S_IFLNK S_IFBLK S_IFCHR
+    S_IFIFO S_IFSOCK S_IFWHT S_ENFMT
 
-    # The following are compatibility aliases for S_IRUSR, S_IWUSR, S_IXUSR.
+    # The following are compatibility aliases for S_IRUSR,
+    # S_IWUSR, and S_IXUSR.
 
     S_IREAD S_IWRITE S_IEXEC
 
 and the C<S_IF*> functions are
 
-    S_IMODE($mode)    the part of $mode containing the permission bits
-            and the setuid/setgid/sticky bits
+    S_IMODE($mode)    the part of $mode containing the permission
+                      bits and the setuid/setgid/sticky bits
 
-    S_IFMT($mode)    the part of $mode containing the file type
-            which can be bit-anded with (for example) S_IFREG
-                        or with the following functions
+    S_IFMT($mode)     the part of $mode containing the file type
+                      which can be bit-anded with (for example)
+                      S_IFREG or with the following functions
 
     # The operators -f, -d, -l, -b, -c, -p, and -S.
 
@@ -6599,6 +7509,8 @@
 about the C<S_*> constants.  To get status info for a symbolic link
 instead of the target file behind the link, use the C<lstat> function.
 
+Portability issues: L<perlport/stat>.
+
 =item state EXPR
 X<state>
 
@@ -6608,13 +7520,17 @@
 
 =item state TYPE EXPR : ATTRS
 
-C<state> declares a lexically scoped variable, just like C<my> does.
+=for Pod::Functions +state declare and assign a persistent lexical variable
+
+C<state> declares a lexically scoped variable, just like C<my>.
 However, those variables will never be reinitialized, contrary to
 lexical variables that are reinitialized each time their enclosing block
 is entered.
+See L<perlsub/"Persistent Private Variables"> for details.
 
 C<state> variables are enabled only when the C<use feature "state"> pragma 
-is in effect.  See L<feature>.
+is in effect, unless the keyword is written as C<CORE::state>.
+See also L<feature>.
 
 =item study SCALAR
 X<study>
@@ -6621,6 +7537,8 @@
 
 =item study
 
+=for Pod::Functions optimize input data for repeated searches
+
 Takes extra time to study SCALAR (C<$_> if unspecified) in anticipation of
 doing many pattern matches on the string before it is next modified.
 This may or may not save time, depending on the nature and number of
@@ -6628,9 +7546,8 @@
 frequencies in the string to be searched; you probably want to compare
 run times with and without it to see which is faster.  Those loops
 that scan for many short constant strings (including the constant
-parts of more complex patterns) will benefit most.  You may have only
-one C<study> active at a time: if you study a different scalar the first
-is "unstudied".  (The way C<study> works is this: a linked list of every
+parts of more complex patterns) will benefit most.
+(The way C<study> works is this: a linked list of every
 character in the string to be searched is made, so we know, for
 example, where all the C<'k'> characters are.  From each search string,
 the rarest character is selected, based on some static frequency tables
@@ -6685,6 +7602,8 @@
 
 =item sub NAME (PROTO) : ATTRS BLOCK
 
+=for Pod::Functions declare a subroutine, possibly anonymously
+
 This is subroutine definition, not a real function I<per se>.  Without a
 BLOCK it's just a forward declaration.  Without a NAME, it's an anonymous
 function declaration, so does return a value: the CODE ref of the closure
@@ -6694,6 +7613,20 @@
 references; see L<attributes> and L<Attribute::Handlers> for more
 information about attributes.
 
+=item __SUB__
+X<__SUB__>
+
+=for Pod::Functions +current_sub the current subroutine, or C<undef> if not in a subroutine
+
+A special token that returns a reference to the current subroutine, or
+C<undef> outside of a subroutine.
+
+The behaviour of C<__SUB__> within a regex code block (such as C</(?{...})/>)
+is subject to change.
+
+This token is only available under C<use v5.16> or the "current_sub"
+feature.  See L<feature>.
+
 =item substr EXPR,OFFSET,LENGTH,REPLACEMENT
 X<substr> X<substring> X<mid> X<left> X<right>
 
@@ -6701,9 +7634,10 @@
 
 =item substr EXPR,OFFSET
 
+=for Pod::Functions get or alter a portion of a string
+
 Extracts a substring out of EXPR and returns it.  First character is at
-offset C<0> (or whatever you've set C<$[> to (but B<<don't do that>)).
-If OFFSET is negative (or more precisely, less than C<$[>), starts
+offset zero.  If OFFSET is negative, starts
 that far back from the end of the string.  If LENGTH is omitted, returns
 everything through the end of the string.  If LENGTH is negative, leaves that
 many characters off the end of the string.
@@ -6755,12 +7689,25 @@
         $_ = 'pq';  print $x,"\n";    # prints 5pq9
     }
 
-Prior to Perl version 5.9.1, the result of using an lvalue multiple times was
+With negative offsets, it remembers its position from the end of the string
+when the target string is modified:
+
+    $x = '1234';
+    for (substr($x, -3, 2)) {
+        $_ = 'a';   print $x,"\n";    # prints 1a4, as above
+        $x = 'abcdefg';
+        print $_,"\n";                # prints f
+    }
+
+Prior to Perl version 5.10, the result of using an lvalue multiple times was
+unspecified.  Prior to 5.16, the result with negative offsets was
 unspecified.
 
 =item symlink OLDFILE,NEWFILE
 X<symlink> X<link> X<symbolic link> X<link, symbolic>
 
+=for Pod::Functions create a symbolic link to a file
+
 Creates a new filename symbolically linked to the old filename.
 Returns C<1> for success, C<0> otherwise.  On systems that don't support
 symbolic links, raises an exception.  To check for that,
@@ -6768,9 +7715,13 @@
 
     $symlink_exists = eval { symlink("",""); 1 };
 
+Portability issues: L<perlport/symlink>.
+
 =item syscall NUMBER, LIST
 X<syscall> X<system call>
 
+=for Pod::Functions execute an arbitrary system call
+
 Calls the system call specified as the first element of the list,
 passing the remaining elements as arguments to the system call.  If
 unimplemented, raises an exception.  The arguments are interpreted
@@ -6803,14 +7754,18 @@
 to retrieve the file number of the other end.  You can avoid this
 problem by using C<pipe> instead.
 
+Portability issues: L<perlport/syscall>.
+
 =item sysopen FILEHANDLE,FILENAME,MODE
 X<sysopen>
 
 =item sysopen FILEHANDLE,FILENAME,MODE,PERMS
 
+=for Pod::Functions +5.002 open a file, pipe, or descriptor
+
 Opens the file whose filename is given by FILENAME, and associates it with
 FILEHANDLE.  If FILEHANDLE is an expression, its value is used as the real
-filehandle wanted; an undefined scalar will be suitably autovivified. This
+filehandle wanted; an undefined scalar will be suitably autovivified.  This
 function calls the underlying operating system's I<open>(2) function with the
 parameters FILENAME, MODE, and PERMS.
 
@@ -6828,7 +7783,7 @@
 For historical reasons, some values work on almost every system
 supported by Perl: 0 means read-only, 1 means write-only, and 2
 means read/write.  We know that these values do I<not> work under
-OS/390 & VM/ESA Unix and on the Macintosh; you probably don't want to
+OS/390 and on the Macintosh; you probably don't want to
 use them in new code.
 
 If the file named by FILENAME does not exist and the C<open> call creates
@@ -6860,17 +7815,21 @@
 
 Note that C<sysopen> depends on the fdopen() C library function.
 On many Unix systems, fdopen() is known to fail when file descriptors
-exceed a certain value, typically 255. If you need more file
+exceed a certain value, typically 255.  If you need more file
 descriptors than that, consider rebuilding Perl to use the C<sfio>
 library, or perhaps using the POSIX::open() function.
 
 See L<perlopentut> for a kinder, gentler explanation of opening files.
 
+Portability issues: L<perlport/sysopen>.
+
 =item sysread FILEHANDLE,SCALAR,LENGTH,OFFSET
 X<sysread>
 
 =item sysread FILEHANDLE,SCALAR,LENGTH
 
+=for Pod::Functions fixed-length unbuffered input from a filehandle
+
 Attempts to read LENGTH bytes of data into variable SCALAR from the
 specified FILEHANDLE, using the read(2).  It bypasses
 buffered IO, so mixing this with other kinds of reads, C<print>,
@@ -6901,6 +7860,8 @@
 =item sysseek FILEHANDLE,POSITION,WHENCE
 X<sysseek> X<lseek>
 
+=for Pod::Functions +5.004 position I/O pointer on handle used with sysread and syswrite
+
 Sets FILEHANDLE's system position in bytes using lseek(2).  FILEHANDLE may
 be an expression whose value gives the name of the filehandle.  The values
 for WHENCE are C<0> to set the new position to POSITION; C<1> to set the it
@@ -6934,6 +7895,8 @@
 
 =item system PROGRAM LIST
 
+=for Pod::Functions run a separate program
+
 Does exactly the same thing as C<exec LIST>, except that a fork is
 done first and the parent process waits for the child process to
 exit.  Note that argument processing varies depending on the
@@ -6948,7 +7911,7 @@
 it is split into words and passed directly to C<execvp>, which is
 more efficient.
 
-Beginning with v5.6.0, Perl will attempt to flush all files opened for
+Perl will attempt to flush all files opened for
 output before any operation that may do a fork, but this may not be
 supported on some platforms (see L<perlport>).  To be safe, you may need
 to set C<$|> ($AUTOFLUSH in English) or call the C<autoflush()> method
@@ -6956,7 +7919,7 @@
 
 The return value is the exit status of the program as returned by the
 C<wait> call.  To get the actual exit value, shift right by eight (see
-below). See also L</exec>.  This is I<not> what you want to use to capture
+below).  See also L</exec>.  This is I<not> what you want to use to capture
 the output from a command; for that you should use merely backticks or
 C<qx//>, as described in L<perlop/"`STRING`">.  Return value of -1
 indicates a failure to start the program or an error of the wait(2) system
@@ -6999,8 +7962,10 @@
 See L<perlop/"`STRING`"> and L</exec> for details.
 
 Since C<system> does a C<fork> and C<wait> it may affect a C<SIGCHLD>
-handler. See L<perlipc> for details.
+handler.  See L<perlipc> for details.
 
+Portability issues: L<perlport/system>.
+
 =item syswrite FILEHANDLE,SCALAR,LENGTH,OFFSET
 X<syswrite>
 
@@ -7008,6 +7973,8 @@
 
 =item syswrite FILEHANDLE,SCALAR
 
+=for Pod::Functions fixed-length unbuffered output to a filehandle
+
 Attempts to write LENGTH bytes of data from variable SCALAR to the
 specified FILEHANDLE, using write(2).  If LENGTH is
 not specified, writes whole SCALAR.  It bypasses buffered IO, so
@@ -7037,6 +8004,8 @@
 
 =item tell
 
+=for Pod::Functions get current seekpointer on a filehandle
+
 Returns the current position I<in bytes> for FILEHANDLE, or -1 on
 error.  FILEHANDLE may be an expression whose value gives the name of
 the actual filehandle.  If FILEHANDLE is omitted, assumes the file
@@ -7060,6 +8029,8 @@
 =item telldir DIRHANDLE
 X<telldir>
 
+=for Pod::Functions get current seekpointer on a directory handle
+
 Returns the current position of the C<readdir> routines on DIRHANDLE.
 Value may be given to C<seekdir> to access a particular location in a
 directory.  C<telldir> has the same caveats about possible directory
@@ -7068,14 +8039,17 @@
 =item tie VARIABLE,CLASSNAME,LIST
 X<tie>
 
+=for Pod::Functions +5.002 bind a variable to an object class
+
 This function binds a variable to a package class that will provide the
 implementation for the variable.  VARIABLE is the name of the variable
 to be enchanted.  CLASSNAME is the name of a class implementing objects
-of correct type.  Any additional arguments are passed to the C<new>
+of correct type.  Any additional arguments are passed to the
+appropriate constructor
 method of the class (meaning C<TIESCALAR>, C<TIEHANDLE>, C<TIEARRAY>,
 or C<TIEHASH>).  Typically these are arguments such as might be passed
-to the C<dbm_open()> function of C.  The object returned by the C<new>
-method is also returned by the C<tie> function, which would be useful
+to the C<dbm_open()> function of C.  The object returned by the
+constructor is also returned by the C<tie> function, which would be useful
 if you want to access other methods in CLASSNAME.
 
 Note that functions such as C<keys> and C<values> may return huge lists
@@ -7118,6 +8092,8 @@
     UNSHIFT this, LIST
     SPLICE this, offset, length, LIST
     EXTEND this, count
+    DELETE this, key
+    EXISTS this, key
     DESTROY this
     UNTIE this
 
@@ -7160,6 +8136,8 @@
 =item tied VARIABLE
 X<tied>
 
+=for Pod::Functions get a reference to the object underlying a tied variable
+
 Returns a reference to the object underlying VARIABLE (the same value
 that was originally returned by the C<tie> call that bound the variable
 to a package.)  Returns the undefined value if VARIABLE isn't tied to a
@@ -7168,9 +8146,11 @@
 =item time
 X<time> X<epoch>
 
+=for Pod::Functions return number of seconds since 1970
+
 Returns the number of non-leap seconds since whatever time the system
 considers to be the epoch, suitable for feeding to C<gmtime> and
-C<localtime>. On most systems the epoch is 00:00:00 UTC, January 1, 1970;
+C<localtime>.  On most systems the epoch is 00:00:00 UTC, January 1, 1970;
 a prominent exception being Mac OS Classic which uses 00:00:00, January 1,
 1904 in the current local time zone for its epoch.
 
@@ -7186,6 +8166,8 @@
 =item times
 X<times>
 
+=for Pod::Functions return elapsed time for self and child processes
+
 Returns a four-element list giving the user and system times in
 seconds for this process and any exited children of this process.
 
@@ -7195,8 +8177,12 @@
 
 Children's times are only included for terminated children.
 
+Portability issues: L<perlport/times>.
+
 =item tr///
 
+=for Pod::Functions transliterate a string
+
 The transliteration operator.  Same as C<y///>.  See
 L<perlop/"Quote and Quote-like Operators">.
 
@@ -7205,6 +8191,8 @@
 
 =item truncate EXPR,LENGTH
 
+=for Pod::Functions shorten a file
+
 Truncates the file opened on FILEHANDLE, or named by EXPR, to the
 specified length.  Raises an exception if truncate isn't implemented
 on your system.  Returns true if successful, C<undef> on error.
@@ -7215,11 +8203,15 @@
 The position in the file of FILEHANDLE is left unchanged.  You may want to
 call L<seek|/"seek FILEHANDLE,POSITION,WHENCE"> before writing to the file.
 
+Portability issues: L<perlport/truncate>.
+
 =item uc EXPR
 X<uc> X<uppercase> X<toupper>
 
 =item uc
 
+=for Pod::Functions return upper-case version of a string
+
 Returns an uppercased version of EXPR.  This is the internal function
 implementing the C<\U> escape in double-quoted strings.
 It does not attempt to do titlecase mapping on initial letters.  See
@@ -7235,6 +8227,8 @@
 
 =item ucfirst
 
+=for Pod::Functions return a string with just the next letter in upper case
+
 Returns the value of EXPR with the first character in uppercase
 (titlecase in Unicode).  This is the internal function implementing
 the C<\u> escape in double-quoted strings.
@@ -7249,6 +8243,8 @@
 
 =item umask
 
+=for Pod::Functions set file creation mode mask
+
 Sets the umask for the process to EXPR and returns the previous value.
 If EXPR is omitted, merely returns the current umask.
 
@@ -7282,16 +8278,20 @@
 Remember that a umask is a number, usually given in octal; it is I<not> a
 string of octal digits.  See also L</oct>, if all you have is a string.
 
+Portability issues: L<perlport/umask>.
+
 =item undef EXPR
 X<undef> X<undefine>
 
 =item undef
 
+=for Pod::Functions remove a variable or function definition
+
 Undefines the value of EXPR, which must be an lvalue.  Use only on a
 scalar value, an array (using C<@>), a hash (using C<%>), a subroutine
 (using C<&>), or a typeglob (using C<*>).  Saying C<undef $hash{$key}>
 will probably not do what you expect on most predefined variables or
-DBM list values, so don't do that; see L<delete>.  Always returns the
+DBM list values, so don't do that; see L</delete>.  Always returns the
 undefined value.  You can omit the EXPR, in which case nothing is
 undefined, but you still get an undefined value that you could, for
 instance, return from a subroutine, assign to a variable, or pass as a
@@ -7314,8 +8314,10 @@
 
 =item unlink
 
-Deletes a list of files. On success, it returns the number of files
-it successfully deleted. On failure, it returns false and sets C<$!>
+=for Pod::Functions remove one link to a file
+
+Deletes a list of files.  On success, it returns the number of files
+it successfully deleted.  On failure, it returns false and sets C<$!>
 (errno):
 
     my $unlinked = unlink 'a', 'b', 'c';
@@ -7331,7 +8333,7 @@
      }
 
 Note: C<unlink> will not attempt to delete directories unless you are
-superuser and the B<-U> flag is supplied to Perl. Even if these
+superuser and the B<-U> flag is supplied to Perl.  Even if these
 conditions are met, be warned that unlinking a directory can inflict
 damage on your filesystem.  Finally, using C<unlink> on directories is
 not supported on many operating systems.  Use C<rmdir> instead.
@@ -7343,6 +8345,8 @@
 
 =item unpack TEMPLATE
 
+=for Pod::Functions convert binary structure into normal perl variables
+
 C<unpack> does the reverse of C<pack>: it takes a string
 and expands it out into a list of values.
 (In scalar context, it returns merely the first value produced.)
@@ -7400,17 +8404,13 @@
 
 See L</pack> for more examples and notes.
 
-=item untie VARIABLE
-X<untie>
-
-Breaks the binding between a variable and a package.  (See C<tie>.)
-Has no effect if the variable is not tied.
-
 =item unshift ARRAY,LIST
 X<unshift>
 
 =item unshift EXPR,LIST
 
+=for Pod::Functions prepend more elements to the beginning of a list
+
 Does the opposite of a C<shift>.  Or the opposite of a C<push>,
 depending on how you look at it.  Prepends list to the front of the
 array and returns the new number of elements in the array.
@@ -7426,6 +8426,22 @@
 automatically.  This aspect of C<unshift> is considered highly
 experimental.  The exact behaviour may change in a future version of Perl.
 
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+    use 5.014;	# so push/pop/etc work on scalars (experimental)
+
+=item untie VARIABLE
+X<untie>
+
+=for Pod::Functions break a tie binding to a variable
+
+Breaks the binding between a variable and a package.
+(See L<tie|/tie VARIABLE,CLASSNAME,LIST>.)
+Has no effect if the variable is not tied.
+
 =item use Module VERSION LIST
 X<use> X<module> X<import>
 
@@ -7437,6 +8453,8 @@
 
 =item use VERSION
 
+=for Pod::Functions load in a module at compile time and import its namespace
+
 Imports some semantics into the current package from the named module,
 generally by aliasing certain subroutine or variable names into your
 package.  It is exactly equivalent to
@@ -7444,7 +8462,7 @@
     BEGIN { require Module; Module->import( LIST ); }
 
 except that Module I<must> be a bareword.
-The importation can be made conditional; see L<if>.
+The importation can be made conditional by using the L<if> module.
 
 In the peculiar C<use VERSION> form, VERSION may be either a positive
 decimal fraction such as 5.006, which will be compared to C<$]>, or a v-string
@@ -7468,12 +8486,15 @@
 C<use>ing library modules that won't work with older versions of Perl.
 (We try not to do this more than we have to.)
 
-Also, if the specified Perl version is greater than or equal to 5.9.5,
-C<use VERSION> will also load the C<feature> pragma and enable all
-features available in the requested version.  See L<feature>.
+C<use VERSION> also enables all features available in the requested
+version as defined by the C<feature> pragma, disabling any features
+not in the requested version's feature bundle.  See L<feature>.
 Similarly, if the specified Perl version is greater than or equal to
-5.11.0, strictures are enabled lexically as with C<use strict> (except
-that the F<strict.pm> file is not actually loaded).
+5.12.0, strictures are enabled lexically as
+with C<use strict>.  Any explicit use of
+C<use strict> or C<no strict> overrides C<use VERSION>, even if it comes
+before it.  In both cases, the F<feature.pm> and F<strict.pm> files are
+not actually loaded.
 
 The C<BEGIN> forces the C<require> and C<import> to happen at compile time.  The
 C<require> makes sure the module is loaded into memory if it hasn't been
@@ -7552,6 +8573,8 @@
 =item utime LIST
 X<utime>
 
+=for Pod::Functions set a file's last access and modify times
+
 Changes the access and modification times on each file of a list of
 files.  The first two elements of the list must be the NUMERIC access
 and modification times, in that order.  Returns the number of files
@@ -7564,9 +8587,9 @@
     $atime = $mtime = time;
     utime $atime, $mtime, @ARGV;
 
-Since Perl 5.7.2, if the first two elements of the list are C<undef>, 
+Since Perl 5.8.0, if the first two elements of the list are C<undef>, 
 the utime(2) syscall from your C library is called with a null second
-argument. On most systems, this will set the file's access and
+argument.  On most systems, this will set the file's access and
 modification times to the current time (i.e., equivalent to the example
 above) and will work even on files you don't own provided you have write
 permission:
@@ -7592,6 +8615,8 @@
 an exception.  Filehandles must be passed as globs or glob references to be
 recognized; barewords are considered filenames.
 
+Portability issues: L<perlport/utime>.
+
 =item values HASH
 X<values>
 
@@ -7599,30 +8624,38 @@
 
 =item values EXPR
 
-Returns a list consisting of all the values of the named hash, or the values
-of an array. (In scalar context, returns the number of values.)
+=for Pod::Functions return a list of the values in a hash
 
-The values are returned in an apparently random order.  The actual
-random order is subject to change in future versions of Perl, but it
-is guaranteed to be the same order as either the C<keys> or C<each>
-function would produce on the same (unmodified) hash.  Since Perl
-5.8.1 the ordering is different even between different runs of Perl
-for security reasons (see L<perlsec/"Algorithmic Complexity Attacks">).
+In list context, returns a list consisting of all the values of the named
+hash.  In Perl 5.12 or later only, will also return a list of the values of
+an array; prior to that release, attempting to use an array argument will
+produce a syntax error.  In scalar context, returns the number of values.
 
+Hash entries are returned in an apparently random order.  The actual random
+order is specific to a given hash; the exact same series of operations
+on two hashes may result in a different order for each hash. Any insertion
+into the hash may change the order, as will any deletion, with the exception
+that the most recent key returned by C<each> or C<keys> may be deleted
+without changing the order. So long as a given hash is unmodified you may
+rely on C<keys>, C<values> and C<each> to repeatedly return the same order
+as each other. See L<perlsec/"Algorithmic Complexity Attacks"> for
+details on why hash order is randomized. Aside from the guarantees
+provided here the exact details of Perl's hash algorithm and the hash
+traversal order are subject to change in any release of Perl.
+
 As a side effect, calling values() resets the HASH or ARRAY's internal
-iterator;
-see L</each>. (In particular, calling values() in void context resets
-the iterator with no other overhead. Apart from resetting the iterator,
-C<values @array> in list context is the same as plain C<@array>.
-We recommend that you use void context C<keys @array> for this, but reasoned
-that it taking C<values @array> out would require more documentation than
-leaving it in.)
+iterator, see L</each>.  (In particular, calling values() in void context
+resets the iterator with no other overhead.  Apart from resetting the
+iterator, C<values @array> in list context is the same as plain C<@array>.
+(We recommend that you use void context C<keys @array> for this, but
+reasoned that taking C<values @array> out would require more
+documentation than leaving it in.)
 
 Note that the values are not copied, which means modifying them will
 modify the contents of the hash:
 
-    for (values %hash)      { s/foo/bar/g }   # modifies %hash values
-    for (@hash{keys %hash}) { s/foo/bar/g }   # same
+    for (values %hash)      { s/foo/bar/g }  # modifies %hash values
+    for (@hash{keys %hash}) { s/foo/bar/g }  # same
 
 Starting with Perl 5.14, C<values> can take a scalar EXPR, which must hold
 a reference to an unblessed hash or array.  The argument will be
@@ -7632,11 +8665,21 @@
     for (values $hashref) { ... }
     for (values $obj->get_arrayref) { ... }
 
+To avoid confusing would-be users of your code who are running earlier
+versions of Perl with mysterious syntax errors, put this sort of thing at
+the top of your file to signal that your code will work I<only> on Perls of
+a recent vintage:
+
+    use 5.012;	# so keys/values/each work on arrays
+    use 5.014;	# so keys/values/each work on scalars (experimental)
+
 See also C<keys>, C<each>, and C<sort>.
 
 =item vec EXPR,OFFSET,BITS
 X<vec> X<bit> X<bit vector>
 
+=for Pod::Functions test or set particular bits in a string
+
 Treats the string in EXPR as a bit vector made up of elements of
 width BITS and returns the value of the element specified by OFFSET
 as an unsigned integer.  BITS therefore specifies the number of bits
@@ -7709,172 +8752,174 @@
 
 Here is an example to illustrate how the bits actually fall in place:
 
-    #!/usr/bin/perl -wl
+  #!/usr/bin/perl -wl
 
-    print <<'EOT';
-                                      0         1         2         3
-                       unpack("V",$_) 01234567890123456789012345678901
-    ------------------------------------------------------------------
-    EOT
+  print <<'EOT';
+                                    0         1         2         3
+                     unpack("V",$_) 01234567890123456789012345678901
+  ------------------------------------------------------------------
+  EOT
 
-    for $w (0..3) {
-        $width = 2**$w;
-        for ($shift=0; $shift < $width; ++$shift) {
-            for ($off=0; $off < 32/$width; ++$off) {
-                $str = pack("B*", "0"x32);
-                $bits = (1<<$shift);
-                vec($str, $off, $width) = $bits;
-                $res = unpack("b*",$str);
-                $val = unpack("V", $str);
-                write;
-            }
-        }
-    }
+  for $w (0..3) {
+      $width = 2**$w;
+      for ($shift=0; $shift < $width; ++$shift) {
+          for ($off=0; $off < 32/$width; ++$off) {
+              $str = pack("B*", "0"x32);
+              $bits = (1<<$shift);
+              vec($str, $off, $width) = $bits;
+              $res = unpack("b*",$str);
+              $val = unpack("V", $str);
+              write;
+          }
+      }
+  }
 
-    format STDOUT =
-    vec($_,@#,@#) = @<< == @######### @>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-    $off, $width, $bits, $val, $res
-    .
-    __END__
+  format STDOUT =
+  vec($_,@#,@#) = @<< == @######### @>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+  $off, $width, $bits, $val, $res
+  .
+  __END__
 
 Regardless of the machine architecture on which it runs, the 
 example above should print the following table:
 
-                                      0         1         2         3
-                       unpack("V",$_) 01234567890123456789012345678901
-    ------------------------------------------------------------------
-    vec($_, 0, 1) = 1   ==          1 10000000000000000000000000000000
-    vec($_, 1, 1) = 1   ==          2 01000000000000000000000000000000
-    vec($_, 2, 1) = 1   ==          4 00100000000000000000000000000000
-    vec($_, 3, 1) = 1   ==          8 00010000000000000000000000000000
-    vec($_, 4, 1) = 1   ==         16 00001000000000000000000000000000
-    vec($_, 5, 1) = 1   ==         32 00000100000000000000000000000000
-    vec($_, 6, 1) = 1   ==         64 00000010000000000000000000000000
-    vec($_, 7, 1) = 1   ==        128 00000001000000000000000000000000
-    vec($_, 8, 1) = 1   ==        256 00000000100000000000000000000000
-    vec($_, 9, 1) = 1   ==        512 00000000010000000000000000000000
-    vec($_,10, 1) = 1   ==       1024 00000000001000000000000000000000
-    vec($_,11, 1) = 1   ==       2048 00000000000100000000000000000000
-    vec($_,12, 1) = 1   ==       4096 00000000000010000000000000000000
-    vec($_,13, 1) = 1   ==       8192 00000000000001000000000000000000
-    vec($_,14, 1) = 1   ==      16384 00000000000000100000000000000000
-    vec($_,15, 1) = 1   ==      32768 00000000000000010000000000000000
-    vec($_,16, 1) = 1   ==      65536 00000000000000001000000000000000
-    vec($_,17, 1) = 1   ==     131072 00000000000000000100000000000000
-    vec($_,18, 1) = 1   ==     262144 00000000000000000010000000000000
-    vec($_,19, 1) = 1   ==     524288 00000000000000000001000000000000
-    vec($_,20, 1) = 1   ==    1048576 00000000000000000000100000000000
-    vec($_,21, 1) = 1   ==    2097152 00000000000000000000010000000000
-    vec($_,22, 1) = 1   ==    4194304 00000000000000000000001000000000
-    vec($_,23, 1) = 1   ==    8388608 00000000000000000000000100000000
-    vec($_,24, 1) = 1   ==   16777216 00000000000000000000000010000000
-    vec($_,25, 1) = 1   ==   33554432 00000000000000000000000001000000
-    vec($_,26, 1) = 1   ==   67108864 00000000000000000000000000100000
-    vec($_,27, 1) = 1   ==  134217728 00000000000000000000000000010000
-    vec($_,28, 1) = 1   ==  268435456 00000000000000000000000000001000
-    vec($_,29, 1) = 1   ==  536870912 00000000000000000000000000000100
-    vec($_,30, 1) = 1   == 1073741824 00000000000000000000000000000010
-    vec($_,31, 1) = 1   == 2147483648 00000000000000000000000000000001
-    vec($_, 0, 2) = 1   ==          1 10000000000000000000000000000000
-    vec($_, 1, 2) = 1   ==          4 00100000000000000000000000000000
-    vec($_, 2, 2) = 1   ==         16 00001000000000000000000000000000
-    vec($_, 3, 2) = 1   ==         64 00000010000000000000000000000000
-    vec($_, 4, 2) = 1   ==        256 00000000100000000000000000000000
-    vec($_, 5, 2) = 1   ==       1024 00000000001000000000000000000000
-    vec($_, 6, 2) = 1   ==       4096 00000000000010000000000000000000
-    vec($_, 7, 2) = 1   ==      16384 00000000000000100000000000000000
-    vec($_, 8, 2) = 1   ==      65536 00000000000000001000000000000000
-    vec($_, 9, 2) = 1   ==     262144 00000000000000000010000000000000
-    vec($_,10, 2) = 1   ==    1048576 00000000000000000000100000000000
-    vec($_,11, 2) = 1   ==    4194304 00000000000000000000001000000000
-    vec($_,12, 2) = 1   ==   16777216 00000000000000000000000010000000
-    vec($_,13, 2) = 1   ==   67108864 00000000000000000000000000100000
-    vec($_,14, 2) = 1   ==  268435456 00000000000000000000000000001000
-    vec($_,15, 2) = 1   == 1073741824 00000000000000000000000000000010
-    vec($_, 0, 2) = 2   ==          2 01000000000000000000000000000000
-    vec($_, 1, 2) = 2   ==          8 00010000000000000000000000000000
-    vec($_, 2, 2) = 2   ==         32 00000100000000000000000000000000
-    vec($_, 3, 2) = 2   ==        128 00000001000000000000000000000000
-    vec($_, 4, 2) = 2   ==        512 00000000010000000000000000000000
-    vec($_, 5, 2) = 2   ==       2048 00000000000100000000000000000000
-    vec($_, 6, 2) = 2   ==       8192 00000000000001000000000000000000
-    vec($_, 7, 2) = 2   ==      32768 00000000000000010000000000000000
-    vec($_, 8, 2) = 2   ==     131072 00000000000000000100000000000000
-    vec($_, 9, 2) = 2   ==     524288 00000000000000000001000000000000
-    vec($_,10, 2) = 2   ==    2097152 00000000000000000000010000000000
-    vec($_,11, 2) = 2   ==    8388608 00000000000000000000000100000000
-    vec($_,12, 2) = 2   ==   33554432 00000000000000000000000001000000
-    vec($_,13, 2) = 2   ==  134217728 00000000000000000000000000010000
-    vec($_,14, 2) = 2   ==  536870912 00000000000000000000000000000100
-    vec($_,15, 2) = 2   == 2147483648 00000000000000000000000000000001
-    vec($_, 0, 4) = 1   ==          1 10000000000000000000000000000000
-    vec($_, 1, 4) = 1   ==         16 00001000000000000000000000000000
-    vec($_, 2, 4) = 1   ==        256 00000000100000000000000000000000
-    vec($_, 3, 4) = 1   ==       4096 00000000000010000000000000000000
-    vec($_, 4, 4) = 1   ==      65536 00000000000000001000000000000000
-    vec($_, 5, 4) = 1   ==    1048576 00000000000000000000100000000000
-    vec($_, 6, 4) = 1   ==   16777216 00000000000000000000000010000000
-    vec($_, 7, 4) = 1   ==  268435456 00000000000000000000000000001000
-    vec($_, 0, 4) = 2   ==          2 01000000000000000000000000000000
-    vec($_, 1, 4) = 2   ==         32 00000100000000000000000000000000
-    vec($_, 2, 4) = 2   ==        512 00000000010000000000000000000000
-    vec($_, 3, 4) = 2   ==       8192 00000000000001000000000000000000
-    vec($_, 4, 4) = 2   ==     131072 00000000000000000100000000000000
-    vec($_, 5, 4) = 2   ==    2097152 00000000000000000000010000000000
-    vec($_, 6, 4) = 2   ==   33554432 00000000000000000000000001000000
-    vec($_, 7, 4) = 2   ==  536870912 00000000000000000000000000000100
-    vec($_, 0, 4) = 4   ==          4 00100000000000000000000000000000
-    vec($_, 1, 4) = 4   ==         64 00000010000000000000000000000000
-    vec($_, 2, 4) = 4   ==       1024 00000000001000000000000000000000
-    vec($_, 3, 4) = 4   ==      16384 00000000000000100000000000000000
-    vec($_, 4, 4) = 4   ==     262144 00000000000000000010000000000000
-    vec($_, 5, 4) = 4   ==    4194304 00000000000000000000001000000000
-    vec($_, 6, 4) = 4   ==   67108864 00000000000000000000000000100000
-    vec($_, 7, 4) = 4   == 1073741824 00000000000000000000000000000010
-    vec($_, 0, 4) = 8   ==          8 00010000000000000000000000000000
-    vec($_, 1, 4) = 8   ==        128 00000001000000000000000000000000
-    vec($_, 2, 4) = 8   ==       2048 00000000000100000000000000000000
-    vec($_, 3, 4) = 8   ==      32768 00000000000000010000000000000000
-    vec($_, 4, 4) = 8   ==     524288 00000000000000000001000000000000
-    vec($_, 5, 4) = 8   ==    8388608 00000000000000000000000100000000
-    vec($_, 6, 4) = 8   ==  134217728 00000000000000000000000000010000
-    vec($_, 7, 4) = 8   == 2147483648 00000000000000000000000000000001
-    vec($_, 0, 8) = 1   ==          1 10000000000000000000000000000000
-    vec($_, 1, 8) = 1   ==        256 00000000100000000000000000000000
-    vec($_, 2, 8) = 1   ==      65536 00000000000000001000000000000000
-    vec($_, 3, 8) = 1   ==   16777216 00000000000000000000000010000000
-    vec($_, 0, 8) = 2   ==          2 01000000000000000000000000000000
-    vec($_, 1, 8) = 2   ==        512 00000000010000000000000000000000
-    vec($_, 2, 8) = 2   ==     131072 00000000000000000100000000000000
-    vec($_, 3, 8) = 2   ==   33554432 00000000000000000000000001000000
-    vec($_, 0, 8) = 4   ==          4 00100000000000000000000000000000
-    vec($_, 1, 8) = 4   ==       1024 00000000001000000000000000000000
-    vec($_, 2, 8) = 4   ==     262144 00000000000000000010000000000000
-    vec($_, 3, 8) = 4   ==   67108864 00000000000000000000000000100000
-    vec($_, 0, 8) = 8   ==          8 00010000000000000000000000000000
-    vec($_, 1, 8) = 8   ==       2048 00000000000100000000000000000000
-    vec($_, 2, 8) = 8   ==     524288 00000000000000000001000000000000
-    vec($_, 3, 8) = 8   ==  134217728 00000000000000000000000000010000
-    vec($_, 0, 8) = 16  ==         16 00001000000000000000000000000000
-    vec($_, 1, 8) = 16  ==       4096 00000000000010000000000000000000
-    vec($_, 2, 8) = 16  ==    1048576 00000000000000000000100000000000
-    vec($_, 3, 8) = 16  ==  268435456 00000000000000000000000000001000
-    vec($_, 0, 8) = 32  ==         32 00000100000000000000000000000000
-    vec($_, 1, 8) = 32  ==       8192 00000000000001000000000000000000
-    vec($_, 2, 8) = 32  ==    2097152 00000000000000000000010000000000
-    vec($_, 3, 8) = 32  ==  536870912 00000000000000000000000000000100
-    vec($_, 0, 8) = 64  ==         64 00000010000000000000000000000000
-    vec($_, 1, 8) = 64  ==      16384 00000000000000100000000000000000
-    vec($_, 2, 8) = 64  ==    4194304 00000000000000000000001000000000
-    vec($_, 3, 8) = 64  == 1073741824 00000000000000000000000000000010
-    vec($_, 0, 8) = 128 ==        128 00000001000000000000000000000000
-    vec($_, 1, 8) = 128 ==      32768 00000000000000010000000000000000
-    vec($_, 2, 8) = 128 ==    8388608 00000000000000000000000100000000
-    vec($_, 3, 8) = 128 == 2147483648 00000000000000000000000000000001
+                                    0         1         2         3
+                     unpack("V",$_) 01234567890123456789012345678901
+  ------------------------------------------------------------------
+  vec($_, 0, 1) = 1   ==          1 10000000000000000000000000000000
+  vec($_, 1, 1) = 1   ==          2 01000000000000000000000000000000
+  vec($_, 2, 1) = 1   ==          4 00100000000000000000000000000000
+  vec($_, 3, 1) = 1   ==          8 00010000000000000000000000000000
+  vec($_, 4, 1) = 1   ==         16 00001000000000000000000000000000
+  vec($_, 5, 1) = 1   ==         32 00000100000000000000000000000000
+  vec($_, 6, 1) = 1   ==         64 00000010000000000000000000000000
+  vec($_, 7, 1) = 1   ==        128 00000001000000000000000000000000
+  vec($_, 8, 1) = 1   ==        256 00000000100000000000000000000000
+  vec($_, 9, 1) = 1   ==        512 00000000010000000000000000000000
+  vec($_,10, 1) = 1   ==       1024 00000000001000000000000000000000
+  vec($_,11, 1) = 1   ==       2048 00000000000100000000000000000000
+  vec($_,12, 1) = 1   ==       4096 00000000000010000000000000000000
+  vec($_,13, 1) = 1   ==       8192 00000000000001000000000000000000
+  vec($_,14, 1) = 1   ==      16384 00000000000000100000000000000000
+  vec($_,15, 1) = 1   ==      32768 00000000000000010000000000000000
+  vec($_,16, 1) = 1   ==      65536 00000000000000001000000000000000
+  vec($_,17, 1) = 1   ==     131072 00000000000000000100000000000000
+  vec($_,18, 1) = 1   ==     262144 00000000000000000010000000000000
+  vec($_,19, 1) = 1   ==     524288 00000000000000000001000000000000
+  vec($_,20, 1) = 1   ==    1048576 00000000000000000000100000000000
+  vec($_,21, 1) = 1   ==    2097152 00000000000000000000010000000000
+  vec($_,22, 1) = 1   ==    4194304 00000000000000000000001000000000
+  vec($_,23, 1) = 1   ==    8388608 00000000000000000000000100000000
+  vec($_,24, 1) = 1   ==   16777216 00000000000000000000000010000000
+  vec($_,25, 1) = 1   ==   33554432 00000000000000000000000001000000
+  vec($_,26, 1) = 1   ==   67108864 00000000000000000000000000100000
+  vec($_,27, 1) = 1   ==  134217728 00000000000000000000000000010000
+  vec($_,28, 1) = 1   ==  268435456 00000000000000000000000000001000
+  vec($_,29, 1) = 1   ==  536870912 00000000000000000000000000000100
+  vec($_,30, 1) = 1   == 1073741824 00000000000000000000000000000010
+  vec($_,31, 1) = 1   == 2147483648 00000000000000000000000000000001
+  vec($_, 0, 2) = 1   ==          1 10000000000000000000000000000000
+  vec($_, 1, 2) = 1   ==          4 00100000000000000000000000000000
+  vec($_, 2, 2) = 1   ==         16 00001000000000000000000000000000
+  vec($_, 3, 2) = 1   ==         64 00000010000000000000000000000000
+  vec($_, 4, 2) = 1   ==        256 00000000100000000000000000000000
+  vec($_, 5, 2) = 1   ==       1024 00000000001000000000000000000000
+  vec($_, 6, 2) = 1   ==       4096 00000000000010000000000000000000
+  vec($_, 7, 2) = 1   ==      16384 00000000000000100000000000000000
+  vec($_, 8, 2) = 1   ==      65536 00000000000000001000000000000000
+  vec($_, 9, 2) = 1   ==     262144 00000000000000000010000000000000
+  vec($_,10, 2) = 1   ==    1048576 00000000000000000000100000000000
+  vec($_,11, 2) = 1   ==    4194304 00000000000000000000001000000000
+  vec($_,12, 2) = 1   ==   16777216 00000000000000000000000010000000
+  vec($_,13, 2) = 1   ==   67108864 00000000000000000000000000100000
+  vec($_,14, 2) = 1   ==  268435456 00000000000000000000000000001000
+  vec($_,15, 2) = 1   == 1073741824 00000000000000000000000000000010
+  vec($_, 0, 2) = 2   ==          2 01000000000000000000000000000000
+  vec($_, 1, 2) = 2   ==          8 00010000000000000000000000000000
+  vec($_, 2, 2) = 2   ==         32 00000100000000000000000000000000
+  vec($_, 3, 2) = 2   ==        128 00000001000000000000000000000000
+  vec($_, 4, 2) = 2   ==        512 00000000010000000000000000000000
+  vec($_, 5, 2) = 2   ==       2048 00000000000100000000000000000000
+  vec($_, 6, 2) = 2   ==       8192 00000000000001000000000000000000
+  vec($_, 7, 2) = 2   ==      32768 00000000000000010000000000000000
+  vec($_, 8, 2) = 2   ==     131072 00000000000000000100000000000000
+  vec($_, 9, 2) = 2   ==     524288 00000000000000000001000000000000
+  vec($_,10, 2) = 2   ==    2097152 00000000000000000000010000000000
+  vec($_,11, 2) = 2   ==    8388608 00000000000000000000000100000000
+  vec($_,12, 2) = 2   ==   33554432 00000000000000000000000001000000
+  vec($_,13, 2) = 2   ==  134217728 00000000000000000000000000010000
+  vec($_,14, 2) = 2   ==  536870912 00000000000000000000000000000100
+  vec($_,15, 2) = 2   == 2147483648 00000000000000000000000000000001
+  vec($_, 0, 4) = 1   ==          1 10000000000000000000000000000000
+  vec($_, 1, 4) = 1   ==         16 00001000000000000000000000000000
+  vec($_, 2, 4) = 1   ==        256 00000000100000000000000000000000
+  vec($_, 3, 4) = 1   ==       4096 00000000000010000000000000000000
+  vec($_, 4, 4) = 1   ==      65536 00000000000000001000000000000000
+  vec($_, 5, 4) = 1   ==    1048576 00000000000000000000100000000000
+  vec($_, 6, 4) = 1   ==   16777216 00000000000000000000000010000000
+  vec($_, 7, 4) = 1   ==  268435456 00000000000000000000000000001000
+  vec($_, 0, 4) = 2   ==          2 01000000000000000000000000000000
+  vec($_, 1, 4) = 2   ==         32 00000100000000000000000000000000
+  vec($_, 2, 4) = 2   ==        512 00000000010000000000000000000000
+  vec($_, 3, 4) = 2   ==       8192 00000000000001000000000000000000
+  vec($_, 4, 4) = 2   ==     131072 00000000000000000100000000000000
+  vec($_, 5, 4) = 2   ==    2097152 00000000000000000000010000000000
+  vec($_, 6, 4) = 2   ==   33554432 00000000000000000000000001000000
+  vec($_, 7, 4) = 2   ==  536870912 00000000000000000000000000000100
+  vec($_, 0, 4) = 4   ==          4 00100000000000000000000000000000
+  vec($_, 1, 4) = 4   ==         64 00000010000000000000000000000000
+  vec($_, 2, 4) = 4   ==       1024 00000000001000000000000000000000
+  vec($_, 3, 4) = 4   ==      16384 00000000000000100000000000000000
+  vec($_, 4, 4) = 4   ==     262144 00000000000000000010000000000000
+  vec($_, 5, 4) = 4   ==    4194304 00000000000000000000001000000000
+  vec($_, 6, 4) = 4   ==   67108864 00000000000000000000000000100000
+  vec($_, 7, 4) = 4   == 1073741824 00000000000000000000000000000010
+  vec($_, 0, 4) = 8   ==          8 00010000000000000000000000000000
+  vec($_, 1, 4) = 8   ==        128 00000001000000000000000000000000
+  vec($_, 2, 4) = 8   ==       2048 00000000000100000000000000000000
+  vec($_, 3, 4) = 8   ==      32768 00000000000000010000000000000000
+  vec($_, 4, 4) = 8   ==     524288 00000000000000000001000000000000
+  vec($_, 5, 4) = 8   ==    8388608 00000000000000000000000100000000
+  vec($_, 6, 4) = 8   ==  134217728 00000000000000000000000000010000
+  vec($_, 7, 4) = 8   == 2147483648 00000000000000000000000000000001
+  vec($_, 0, 8) = 1   ==          1 10000000000000000000000000000000
+  vec($_, 1, 8) = 1   ==        256 00000000100000000000000000000000
+  vec($_, 2, 8) = 1   ==      65536 00000000000000001000000000000000
+  vec($_, 3, 8) = 1   ==   16777216 00000000000000000000000010000000
+  vec($_, 0, 8) = 2   ==          2 01000000000000000000000000000000
+  vec($_, 1, 8) = 2   ==        512 00000000010000000000000000000000
+  vec($_, 2, 8) = 2   ==     131072 00000000000000000100000000000000
+  vec($_, 3, 8) = 2   ==   33554432 00000000000000000000000001000000
+  vec($_, 0, 8) = 4   ==          4 00100000000000000000000000000000
+  vec($_, 1, 8) = 4   ==       1024 00000000001000000000000000000000
+  vec($_, 2, 8) = 4   ==     262144 00000000000000000010000000000000
+  vec($_, 3, 8) = 4   ==   67108864 00000000000000000000000000100000
+  vec($_, 0, 8) = 8   ==          8 00010000000000000000000000000000
+  vec($_, 1, 8) = 8   ==       2048 00000000000100000000000000000000
+  vec($_, 2, 8) = 8   ==     524288 00000000000000000001000000000000
+  vec($_, 3, 8) = 8   ==  134217728 00000000000000000000000000010000
+  vec($_, 0, 8) = 16  ==         16 00001000000000000000000000000000
+  vec($_, 1, 8) = 16  ==       4096 00000000000010000000000000000000
+  vec($_, 2, 8) = 16  ==    1048576 00000000000000000000100000000000
+  vec($_, 3, 8) = 16  ==  268435456 00000000000000000000000000001000
+  vec($_, 0, 8) = 32  ==         32 00000100000000000000000000000000
+  vec($_, 1, 8) = 32  ==       8192 00000000000001000000000000000000
+  vec($_, 2, 8) = 32  ==    2097152 00000000000000000000010000000000
+  vec($_, 3, 8) = 32  ==  536870912 00000000000000000000000000000100
+  vec($_, 0, 8) = 64  ==         64 00000010000000000000000000000000
+  vec($_, 1, 8) = 64  ==      16384 00000000000000100000000000000000
+  vec($_, 2, 8) = 64  ==    4194304 00000000000000000000001000000000
+  vec($_, 3, 8) = 64  == 1073741824 00000000000000000000000000000010
+  vec($_, 0, 8) = 128 ==        128 00000001000000000000000000000000
+  vec($_, 1, 8) = 128 ==      32768 00000000000000010000000000000000
+  vec($_, 2, 8) = 128 ==    8388608 00000000000000000000000100000000
+  vec($_, 3, 8) = 128 == 2147483648 00000000000000000000000000000001
 
 =item wait
 X<wait>
 
+=for Pod::Functions wait for any child process to die
+
 Behaves like wait(2) on your system: it waits for a child
 process to terminate and returns the pid of the deceased process, or
 C<-1> if there are no child processes.  The status is returned in C<$?>
@@ -7883,11 +8928,15 @@
 being automatically reaped, as described in L<perlipc>.
 
 If you use wait in your handler for $SIG{CHLD} it may accidentally for the
-child created by qx() or system(). See L<perlipc> for details.
+child created by qx() or system().  See L<perlipc> for details.
 
+Portability issues: L<perlport/wait>.
+
 =item waitpid PID,FLAGS
 X<waitpid>
 
+=for Pod::Functions wait for a particular child process to die
+
 Waits for a particular child process to terminate and returns the pid of
 the deceased process, or C<-1> if there is no such child process.  On some
 systems, a value of 0 indicates that there are processes still running.
@@ -7910,9 +8959,13 @@
 processes are being automatically reaped.  See L<perlipc> for details,
 and for other examples.
 
+Portability issues: L<perlport/waitpid>.
+
 =item wantarray
 X<wantarray> X<context>
 
+=for Pod::Functions get void vs scalar vs list context of current subroutine call
+
 Returns true if the context of the currently executing subroutine or
 C<eval> is looking for a list value.  Returns false if the context is
 looking for a scalar.  Returns the undefined value if the context is
@@ -7931,6 +8984,8 @@
 =item warn LIST
 X<warn> X<warning> X<STDERR>
 
+=for Pod::Functions print debugging info
+
 Prints the value of LIST to STDERR.  If the last element of LIST does
 not end in a newline, it appends the same file/line number text as C<die>
 does.
@@ -7973,53 +9028,6 @@
 examples.  See the Carp module for other kinds of warnings using its
 carp() and cluck() functions.
 
-=item when EXPR BLOCK
-X<when>
-
-=item when BLOCK
-
-C<when> is analogous to the C<case> keyword in other languages. Used with a
-C<foreach> loop or the experimental C<given> block, C<when> can be used in
-Perl to implement C<switch>/C<case> like statements.  Available as a
-statement after Perl 5.10 and as a statement modifier after 5.14.  
-Here are three examples:
-
-    use v5.10;
-    foreach (@fruits) {
-        when (/apples?/) {
-            say "I like apples."
-        }
-        when (/oranges?/) {
-            say "I don't like oranges."
-        }
-        default {
-            say "I don't like anything"
-        }
-    }
-
-    # require 5.14 for when as statement modifier
-    use v5.14;
-    foreach (@fruits) {
-	say "I like apples." 	    when /apples?/; 
-	say "I don't like oranges." when /oranges?;
-        default { say "I don't like anything" }
-    }
-
-    use v5.10;
-    given ($fruit) {
-        when (/apples?/) {
-            say "I like apples."
-        }
-        when (/oranges?/) {
-            say "I don't like oranges."
-        }
-        default {
-            say "I don't like anything"
-        }
-    }
-
-See L<perlsyn/"Switch statements"> for detailed information.
-
 =item write FILEHANDLE
 X<write>
 
@@ -8027,6 +9035,8 @@
 
 =item write
 
+=for Pod::Functions print a picture record
+
 Writes a formatted record (possibly multi-line) to the specified FILEHANDLE,
 using the format associated with that file.  By default the format for
 a file is the one having the same name as the filehandle, but the
@@ -8037,7 +9047,7 @@
 room on the current page for the formatted record, the page is advanced by
 writing a form feed, a special top-of-page format is used to format the new
 page header before the record is written.  By default, the top-of-page
-format is the name of the filehandle with "_TOP" appended. This would be a
+format is the name of the filehandle with "_TOP" appended.  This would be a
 problem with autovivified filehandles, but it may be dynamically set to the
 format of your choice by assigning the name to the C<$^> variable while
 that filehandle is selected.  The number of lines remaining on the current
@@ -8053,9 +9063,134 @@
 
 =item y///
 
+=for Pod::Functions transliterate a string
+
 The transliteration operator.  Same as C<tr///>.  See
 L<perlop/"Quote and Quote-like Operators">.
 
 =back
 
+=head2 Non-function Keywords by Cross-reference
+
+=head3 perldata
+
+=over
+
+=item __DATA__
+
+=item __END__
+
+These keywords are documented in L<perldata/"Special Literals">.
+
+=back
+
+=head3 perlmod
+
+=over
+
+=item BEGIN
+
+=item CHECK
+
+=item END
+
+=item INIT
+
+=item UNITCHECK
+
+These compile phase keywords are documented in L<perlmod/"BEGIN, UNITCHECK, CHECK, INIT and END">.
+
+=back
+
+=head3 perlobj
+
+=over
+
+=item DESTROY
+
+This method keyword is documented in L<perlobj/"Destructors">.
+
+=back
+
+=head3 perlop
+
+=over
+
+=item and
+
+=item cmp
+
+=item eq
+
+=item ge
+
+=item gt
+
+=item if
+
+=item le
+
+=item lt
+
+=item ne
+
+=item not
+
+=item or
+
+=item x
+
+=item xor
+
+These operators are documented in L<perlop>.
+
+=back
+
+=head3 perlsub
+
+=over
+
+=item AUTOLOAD
+
+This keyword is documented in L<perlsub/"Autoloading">.
+
+=back
+
+=head3 perlsyn
+
+=over
+
+=item else
+
+=item elseif
+
+=item elsif
+
+=item for
+
+=item foreach
+
+=item unless
+
+=item until
+
+=item while
+
+These flow-control keywords are documented in L<perlsyn/"Compound Statements">.
+
+=back
+
+=over
+
+=item default
+
+=item given
+
+=item when
+
+These flow-control keywords related to the experimental switch feature are
+documented in L<perlsyn/"Switch Statements"> .
+
+=back
+
 =cut


Property changes on: vendor/perl/dist/pod/perlfunc.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlgit.pod
===================================================================
--- vendor/perl/dist/pod/perlgit.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlgit.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -51,7 +51,7 @@
 
 The branches that begin with "origin" correspond to the "git remote"
 that you cloned from (which is named "origin"). Each branch on the
-remote will be exactly tracked by theses branches. You should NEVER do
+remote will be exactly tracked by these branches. You should NEVER do
 work on these remote tracking branches. You only ever do work in a
 local branch. Local branches can be configured to automerge (on pull)
 from a designated remote tracking branch. This is the case with the
@@ -258,7 +258,7 @@
   % git format-patch -M origin..
   0001-Rename-Leon-Brocard-to-Orange-Brocard.patch
 
-You should now send an email to to
+You should now send an email to
 L<perlbug at perl.org|mailto:perlbug at perl.org> with a description of your
 changes, and include this patch file as an attachment. In addition to
 being tracked by RT, mail to perlbug will automatically be forwarded to
@@ -385,46 +385,60 @@
 
 =head2 Bisecting
 
-C<git> provides a built-in way to determine, with a binary search in
-the history, which commit should be blamed for introducing a given bug.
+C<git> provides a built-in way to determine which commit should be blamed
+for introducing a given bug. C<git bisect> performs a binary search of
+history to locate the first failing commit. It is fast, powerful and
+flexible, but requires some setup and to automate the process an auxiliary
+shell script is needed.
 
-Suppose that we have a script F<~/testcase.pl> that exits with C<0>
-when some behaviour is correct, and with C<1> when it's faulty. You
-need an helper script that automates building C<perl> and running the
-testcase:
+The core provides a wrapper program, F<Porting/bisect.pl>, which attempts to
+simplify as much as possible, making bisecting as simple as running a Perl
+one-liner. For example, if you want to know when this became an error:
 
-  % cat ~/run
-  #!/bin/sh
-  git clean -dxf
+    perl -e 'my $a := 2'
 
-  # If you get './makedepend: 1: Syntax error: Unterminated quoted
-  # string' when bisecting versions of perl older than 5.9.5 this hack
-  # will work around the bug in makedepend.SH which was fixed in
-  # version 96a8704c. Make sure to comment out `git checkout makedepend.SH'
-  # below too.
-  git show blead:makedepend.SH > makedepend.SH
+you simply run this:
 
-  # If you can use ccache, add -Dcc=ccache\ gcc -Dld=gcc to the Configure line
-  # if Encode is not needed for the test, you can speed up the bisect by
-  # excluding it from the runs with -Dnoextensions=Encode
-  sh Configure -des -Dusedevel -Doptimize="-g"
-  test -f config.sh || exit 125
-  # Correct makefile for newer GNU gcc
-  perl -ni -we 'print unless /<(?:built-in|command)/' makefile x2p/makefile
-  # if you just need miniperl, replace test_prep with miniperl
-  make test_prep
-  [ -x ./perl ] || exit 125
-  ./perl -Ilib ~/testcase.pl
-  ret=$?
-  [ $ret -gt 127 ] && ret=127
-  # git checkout makedepend.SH
-  git clean -dxf
-  exit $ret
+    .../Porting/bisect.pl -e 'my $a := 2;'
 
-This script may return C<125> to indicate that the corresponding commit
-should be skipped. Otherwise, it returns the status of
-F<~/testcase.pl>.
+Using C<bisect.pl>, with one command (and no other files) it's easy to find
+out
 
+=over 4
+
+=item *
+
+Which commit caused this example code to break?
+
+=item *
+
+Which commit caused this example code to start working?
+
+=item *
+
+Which commit added the first file to match this regex?
+
+=item *
+
+Which commit removed the last file to match this regex?
+
+=back
+
+usually without needing to know which versions of perl to use as start and
+end revisions, as F<bisect.pl> automatically searches to find the earliest
+stable version for which the test case passes. Run
+C<Porting/bisect.pl --help> for the full documentation, including how to
+set the C<Configure> and build time options.
+
+If you require more flexibility than F<Porting/bisect.pl> has to offer, you'll
+need to run C<git bisect> yourself. It's most useful to use C<git bisect run>
+to automate the building and testing of perl revisions. For this you'll need
+a shell script for C<git> to call to test a particular revision. An example
+script is F<Porting/bisect-example.sh>, which you should copy B<outside> of
+the repository, as the bisect process will reset the state to a clean checkout
+as it runs. The instructions below assume that you copied it as F<~/run> and
+then edited it as appropriate.
+
 You first enter in bisect mode with:
 
   % git bisect start
@@ -466,8 +480,9 @@
 
 C<git help bisect> has much more information on how you can tweak your
 binary searches.
-=head1 Topic branches and rewriting history
 
+=head2 Topic branches and rewriting history
+
 Individual committers should create topic branches under
 B<yourname>/B<some_descriptive_name>. Other committers should check
 with a topic branch's creator before making any change to it.
@@ -543,7 +558,7 @@
 a local tag to perl.git before doing so. (Pushing unannotated tags is
 not allowed.)
 
-=head3 Grafts
+=head2 Grafts
 
 The perl history contains one mistake which was not caught in the
 conversion: a merge was recorded in the history between blead and
@@ -557,83 +572,6 @@
 It is particularly important to have this graft line if any bisecting
 is done in the area of the "merge" in question.
 
-=head2 Topic branches and rewriting history
-
-Individual committers should create topic branches under
-B<yourname>/B<some_descriptive_name>. Other committers should check
-with a topic branch's creator before making any change to it.
-
-The simplest way to create a remote topic branch that works on all
-versions of git is to push the current head as a new branch on the
-remote, then check it out locally:
-
-  $ branch="$yourname/$some_descriptive_name"
-  $ git push origin HEAD:$branch
-  $ git checkout -b $branch origin/$branch
-
-Users of git 1.7 or newer can do it in a more obvious manner:
-
-  $ branch="$yourname/$some_descriptive_name"
-  $ git checkout -b $branch
-  $ git push origin -u $branch
-
-If you are not the creator of B<yourname>/B<some_descriptive_name>, you
-might sometimes find that the original author has edited the branch's
-history. There are lots of good reasons for this. Sometimes, an author
-might simply be rebasing the branch onto a newer source point.
-Sometimes, an author might have found an error in an early commit which
-they wanted to fix before merging the branch to blead.
-
-Currently the master repository is configured to forbid
-non-fast-forward merges. This means that the branches within can not be
-rebased and pushed as a single step.
-
-The only way you will ever be allowed to rebase or modify the history
-of a pushed branch is to delete it and push it as a new branch under
-the same name. Please think carefully about doing this. It may be
-better to sequentially rename your branches so that it is easier for
-others working with you to cherry-pick their local changes onto the new
-version. (XXX: needs explanation).
-
-If you want to rebase a personal topic branch, you will have to delete
-your existing topic branch and push as a new version of it. You can do
-this via the following formula (see the explanation about C<refspec>'s
-in the git push documentation for details) after you have rebased your
-branch:
-
-   # first rebase
-   $ git checkout $user/$topic
-   $ git fetch
-   $ git rebase origin/blead
-
-   # then "delete-and-push"
-   $ git push origin :$user/$topic
-   $ git push origin $user/$topic
-
-B<NOTE:> it is forbidden at the repository level to delete any of the
-"primary" branches. That is any branch matching
-C<m!^(blead|maint|perl)!>. Any attempt to do so will result in git
-producing an error like this:
-
-    $ git push origin :blead
-    *** It is forbidden to delete blead/maint branches in this repository
-    error: hooks/update exited with error code 1
-    error: hook declined to update refs/heads/blead
-    To ssh://perl5.git.perl.org/perl
-     ! [remote rejected] blead (hook declined)
-     error: failed to push some refs to 'ssh://perl5.git.perl.org/perl'
-
-As a matter of policy we do B<not> edit the history of the blead and
-maint-* branches. If a typo (or worse) sneaks into a commit to blead or
-maint-*, we'll fix it in another commit. The only types of updates
-allowed on these branches are "fast-forward's", where all history is
-preserved.
-
-Annotated tags in the canonical perl.git repository will never be
-deleted or modified. Think long and hard about whether you want to push
-a local tag to perl.git before doing so. (Pushing unannotated tags is
-not allowed.)
-
 =head1 WRITE ACCESS TO THE GIT REPOSITORY
 
 Once you have write access, you will need to modify the URL for the
@@ -648,7 +586,7 @@
   % git config --global user.name "Ævar Arnfjörð Bjarmason"
   % git config --global user.email avarab at gmail.com
 
-However if you'd like to override that just for perl then execute then
+However, if you'd like to override that just for perl, 
 execute something like the following in F<perl>:
 
   % git config user.email avar at cpan.org
@@ -667,8 +605,9 @@
 
 The C<fetch> command just updates the C<camel> refs, as the objects
 themselves should have been fetched when pulling from C<origin>.
-=head1 Accepting a patch
 
+=head2 Accepting a patch
+
 If you have received a patch file generated using the above section,
 you should try out the patch.
 
@@ -717,7 +656,7 @@
 
   % git checkout blead
   % git merge experimental
-  % git push
+  % git push origin blead
 
 If you want to delete your temporary branch, you may do so with:
 
@@ -763,12 +702,79 @@
 =item *
 
 If you make any changes that affect miniperl or core routines that have
-different code paths for miniperl, be sure to run C<make minitest>. 
+different code paths for miniperl, be sure to run C<make minitest>.
 This will catch problems that even the full test suite will not catch
 because it runs a subset of tests under miniperl rather than perl.
 
 =back
 
+=head2 On merging and rebasing
+
+Simple, one-off commits pushed to the 'blead' branch should be simple
+commits that apply cleanly.  In other words, you should make sure your
+work is committed against the current position of blead, so that you can
+push back to the master repository without merging.
+
+Sometimes, blead will move while you're building or testing your
+changes.  When this happens, your push will be rejected with a message
+like this:
+
+  To ssh://perl5.git.perl.org/perl.git
+   ! [rejected]        blead -> blead (non-fast-forward)
+  error: failed to push some refs to 'ssh://perl5.git.perl.org/perl.git'
+  To prevent you from losing history, non-fast-forward updates were rejected
+  Merge the remote changes (e.g. 'git pull') before pushing again.  See the
+  'Note about fast-forwards' section of 'git push --help' for details.
+
+When this happens, you can just I<rebase> your work against the new
+position of blead, like this (assuming your remote for the master
+repository is "p5p"):
+
+  $ git fetch p5p
+  $ git rebase p5p/blead
+
+You will see your commits being re-applied, and you will then be able to
+push safely.  More information about rebasing can be found in the
+documentation for the git-rebase(1) command.
+
+For larger sets of commits that only make sense together, or that would
+benefit from a summary of the set's purpose, you should use a merge
+commit.  You should perform your work on a L<topic branch|/Topic
+branches and rewriting history>, which you should regularly rebase
+against blead to ensure that your code is not broken by blead moving.
+When you have finished your work, please perform a final rebase and
+test.  Linear history is something that gets lost with every
+commit on blead, but a final rebase makes the history linear
+again, making it easier for future maintainers to see what has
+happened.  Rebase as follows (assuming your work was on the
+branch C<< committer/somework >>):
+
+  $ git checkout committer/somework
+  $ git rebase blead
+
+Then you can merge it into master like this:
+
+  $ git checkout blead
+  $ git merge --no-ff --no-commit committer/somework
+  $ git commit -a
+
+The switches above deserve explanation.  C<--no-ff> indicates that even
+if all your work can be applied linearly against blead, a merge commit
+should still be prepared.  This ensures that all your work will be shown
+as a side branch, with all its commits merged into the mainstream blead
+by the merge commit.
+
+C<--no-commit> means that the merge commit will be I<prepared> but not
+I<committed>.  The commit is then actually performed when you run the
+next command, which will bring up your editor to describe the commit.
+Without C<--no-commit>, the commit would be made with nearly no useful
+message, which would greatly diminish the value of the merge commit as a
+placeholder for the work's description.
+
+When describing the merge commit, explain the purpose of the branch, and
+keep in mind that this description will probably be used by the
+eventual release engineer when reviewing the next perldelta document.
+
 =head2 Committing to maintenance versions
 
 Maintenance versions should only be altered to add critical bug fixes,
@@ -791,20 +797,6 @@
 Before pushing any change to a maint version, make sure you've
 satisfied the steps in L</Committing to blead> above.
 
-=head2 Grafts
-
-The perl history contains one mistake which was not caught in the
-conversion: a merge was recorded in the history between blead and
-maint-5.10 where no merge actually occurred. Due to the nature of git,
-this is now impossible to fix in the public repository. You can remove
-this mis-merge locally by adding the following line to your
-C<.git/info/grafts> file:
-
-  296f12bbbbaa06de9be9d09d3dcf8f4528898a49 434946e0cb7a32589ed92d18008aaa1d88515930
-
-It is particularly important to have this graft line if any bisecting
-is done in the area of the "merge" in question.
-
 =head2 Merging from a branch via GitHub
 
 While we don't encourage the submission of patches via GitHub, that
@@ -832,8 +824,78 @@
 
 And then push back to the repository:
 
-  % git push
+  % git push origin blead
 
+=head2 Using a smoke-me branch to test changes
+
+Sometimes a change affects code paths which you cannot test on the OSes
+which are directly available to you and it would be wise to have users
+on other OSes test the change before you commit it to blead.
+
+Fortunately, there is a way to get your change smoke-tested on various
+OSes: push it to a "smoke-me" branch and wait for certain automated
+smoke-testers to report the results from their OSes.
+
+The procedure for doing this is roughly as follows (using the example of
+of tonyc's smoke-me branch called win32stat):
+
+First, make a local branch and switch to it:
+
+  % git checkout -b win32stat
+
+Make some changes, build perl and test your changes, then commit them to
+your local branch. Then push your local branch to a remote smoke-me
+branch:
+
+  % git push origin win32stat:smoke-me/tonyc/win32stat
+
+Now you can switch back to blead locally:
+
+  % git checkout blead
+
+and continue working on other things while you wait a day or two,
+keeping an eye on the results reported for your smoke-me branch at
+L<http://perl.develop-help.com/?b=smoke-me/tonyc/win32state>.
+
+If all is well then update your blead branch:
+
+  % git pull
+
+then checkout your smoke-me branch once more and rebase it on blead:
+
+  % git rebase blead win32stat
+
+Now switch back to blead and merge your smoke-me branch into it:
+
+  % git checkout blead
+  % git merge win32stat
+
+As described earlier, if there are many changes on your smoke-me branch
+then you should prepare a merge commit in which to give an overview of
+those changes by using the following command instead of the last
+command above:
+
+  % git merge win32stat --no-ff --no-commit
+
+You should now build perl and test your (merged) changes one last time
+(ideally run the whole test suite, but failing that at least run the
+F<t/porting/*.t> tests) before pushing your changes as usual:
+
+  % git push origin blead
+
+Finally, you should then delete the remote smoke-me branch:
+
+  % git push origin :smoke-me/tonyc/win32stat
+
+(which is likely to produce a warning like this, which can be ignored:
+
+  remote: fatal: ambiguous argument 'refs/heads/smoke-me/tonyc/win32stat': unknown revision or path not in the working tree.
+  remote: Use '--' to separate paths from revisions
+
+) and then delete your local branch:
+
+  % git branch -d win32stat
+
 =head2 A note on camel and dromedary
 
 The committers have SSH access to the two servers that serve


Property changes on: vendor/perl/dist/pod/perlgit.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perlglossary.pod
===================================================================
--- vendor/perl/dist/pod/perlglossary.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlglossary.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlglossary.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlgpl.pod
===================================================================
--- vendor/perl/dist/pod/perlgpl.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlgpl.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,14 +35,15 @@
 
                     GNU GENERAL PUBLIC LICENSE
                      Version 1, February 1989
- 
+
   Copyright (C) 1989 Free Software Foundation, Inc.
-                 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
+                     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
   Everyone is permitted to copy and distribute verbatim copies
   of this license document, but changing it is not allowed.
- 
+
                             Preamble
- 
+
    The license agreements of most software companies try to keep users
  at the mercy of those companies.  By contrast, our General Public
  License is intended to guarantee your freedom to share and change free
@@ -50,7 +51,7 @@
  General Public License applies to the Free Software Foundation's
  software and to any other program whose authors commit to using it.
  You can use it for your programs, too.
- 
+
    When we speak of free software, we are referring to freedom, not
  price.  Specifically, the General Public License is designed to make
  sure that you have the freedom to give away or sell copies of free
@@ -57,21 +58,21 @@
  software, that you receive source code or can get it if you want it,
  that you can change the software or use pieces of it in new free
  programs; and that you know you can do these things.
- 
+
    To protect your rights, we need to make restrictions that forbid
  anyone to deny you these rights or to ask you to surrender the rights.
  These restrictions translate to certain responsibilities for you if you
  distribute copies of the software, or if you modify it.
- 
+
    For example, if you distribute copies of a such a program, whether
  gratis or for a fee, you must give the recipients all the rights that
  you have.  You must make sure that they, too, receive or can get the
  source code.  And you must tell them their rights.
- 
+
    We protect your rights with two steps: (1) copyright the software, and
  (2) offer you this license which gives you legal permission to copy,
  distribute and/or modify the software.
- 
+
    Also, for each author's protection and ours, we want to make certain
  that everyone understands that there is no warranty for this free
  software.  If the software is modified by someone else and passed on, we
@@ -78,13 +79,13 @@
  want its recipients to know that what they have is not the original, so
  that any problems introduced by others will not reflect on the original
  authors' reputations.
- 
+
    The precise terms and conditions for copying, distribution and
  modification follow.
-  
+
                     GNU GENERAL PUBLIC LICENSE
     TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
- 
+
    0. This License Agreement applies to any program or other work which
  contains a notice placed by the copyright holder saying it may be
  distributed under the terms of this General Public License.  The
@@ -92,7 +93,7 @@
  on the Program" means either the Program or any work containing the
  Program or a portion of it, either verbatim or with modifications.  Each
  licensee is addressed as "you".
- 
+
    1. You may copy and distribute verbatim copies of the Program's source
  code as you receive it, in any medium, provided that you conspicuously and
  appropriately publish on each copy an appropriate copyright notice and
@@ -101,14 +102,14 @@
  other recipients of the Program a copy of this General Public License
  along with the Program.  You may charge a fee for the physical act of
  transferring a copy.
- 
+
    2. You may modify your copy or copies of the Program or any portion of
  it, and copy and distribute such modifications under the terms of Paragraph
  1 above, provided that you also do the following:
- 
+
      a) cause the modified files to carry prominent notices stating that
      you changed the files and the date of any change; and
- 
+
      b) cause the whole of any work that you distribute or publish, that
      in whole or in part contains the Program or any part thereof, either
      with or without modifications, to be licensed at no charge to all
@@ -115,7 +116,7 @@
      third parties under the terms of this General Public License (except
      that you may choose to grant warranty protection to some or all
      third parties, at your option).
- 
+
      c) If the modified program normally reads commands interactively when
      run, you must cause it, when started running for such interactive use
      in the simplest and most usual way, to print or display an
@@ -124,34 +125,34 @@
      warranty) and that users may redistribute the program under these
      conditions, and telling the user how to view a copy of this General
      Public License.
- 
+
      d) You may charge a fee for the physical act of transferring a
      copy, and you may at your option offer warranty protection in
      exchange for a fee.
- 
+
  Mere aggregation of another independent work with the Program (or its
  derivative) on a volume of a storage or distribution medium does not bring
  the other work under the scope of these terms.
-  
+
    3. You may copy and distribute the Program (or a portion or derivative of
  it, under Paragraph 2) in object code or executable form under the terms of
  Paragraphs 1 and 2 above provided that you also do one of the following:
- 
+
      a) accompany it with the complete corresponding machine-readable
      source code, which must be distributed under the terms of
      Paragraphs 1 and 2 above; or,
- 
+
      b) accompany it with a written offer, valid for at least three
      years, to give any third party free (except for a nominal charge
      for the cost of distribution) a complete machine-readable copy of the
      corresponding source code, to be distributed under the terms of
      Paragraphs 1 and 2 above; or,
- 
+
      c) accompany it with the information you received as to where the
      corresponding source code may be obtained.  (This alternative is
      allowed only for noncommercial distribution and only if you
      received the program in object code or executable form alone.)
- 
+
  Source code for a work means the preferred form of the work for making
  modifications to it.  For an executable file, complete source code means
  all the source code for all modules it contains; but, as a special
@@ -159,7 +160,7 @@
  libraries that accompany the operating system on which the executable
  file runs, or for standard header files or definitions files that
  accompany that operating system.
- 
+
    4. You may not copy, modify, sublicense, distribute or transfer the
  Program except as expressly provided under this General Public License.
  Any attempt otherwise to copy, modify, sublicense, distribute or transfer
@@ -168,22 +169,22 @@
  copies, or rights to use copies, from you under this General Public
  License will not have their licenses terminated so long as such parties
  remain in full compliance.
- 
+
    5. By copying, distributing or modifying the Program (or any work based
  on the Program) you indicate your acceptance of this license to do so,
  and all its terms and conditions.
- 
+
    6. Each time you redistribute the Program (or any work based on the
  Program), the recipient automatically receives a license from the original
  licensor to copy, distribute or modify the Program subject to these
  terms and conditions.  You may not impose any further restrictions on the
  recipients' exercise of the rights granted herein.
-  
+
    7. The Free Software Foundation may publish revised and/or new versions
  of the General Public License from time to time.  Such new versions will
  be similar in spirit to the present version, but may differ in detail to
  address new problems or concerns.
- 
+
  Each version is given a distinguishing version number.  If the Program
  specifies a version number of the license which applies to it and "any
  later version", you have the option of following the terms and conditions
@@ -191,7 +192,7 @@
  Software Foundation.  If the Program does not specify a version number of
  the license, you may choose any version ever published by the Free Software
  Foundation.
- 
+
    8. If you wish to incorporate parts of the Program into other free
  programs whose distribution conditions are different, write to the author
  to ask for permission.  For software which is copyrighted by the Free
@@ -199,9 +200,9 @@
  make exceptions for this.  Our decision will be guided by the two goals
  of preserving the free status of all derivatives of our free software and
  of promoting the sharing and reuse of software generally.
- 
+
                             NO WARRANTY
- 
+
    9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
  FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
  OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
@@ -211,7 +212,7 @@
  TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
  PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
  REPAIR OR CORRECTION.
- 
+
    10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
  WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
  REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
@@ -221,67 +222,67 @@
  YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
  PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
  POSSIBILITY OF SUCH DAMAGES.
- 
+
                      END OF TERMS AND CONDITIONS
- 
+
         Appendix: How to Apply These Terms to Your New Programs
- 
+
    If you develop a new program, and you want it to be of the greatest
  possible use to humanity, the best way to achieve this is to make it
  free software which everyone can redistribute and change under these
  terms.
- 
+
    To do so, attach the following notices to the program.  It is safest to
  attach them to the start of each source file to most effectively convey
  the exclusion of warranty; and each file should have at least the
  "copyright" line and a pointer to where the full notice is found.
- 
+
      <one line to give the program's name and a brief idea of what it does.>
      Copyright (C) 19yy  <name of author>
- 
+
      This program is free software; you can redistribute it and/or modify
      it under the terms of the GNU General Public License as published by
      the Free Software Foundation; either version 1, or (at your option)
      any later version.
- 
+
      This program is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      GNU General Public License for more details.
- 
+
      You should have received a copy of the GNU General Public License
-     along with this program; if not, write to the Free Software Foundation,
-     Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
- 
+     along with this program; if not, write to the Free Software
+     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA
+     02110-1301 USA
+
+
  Also add information on how to contact you by electronic and paper mail.
- 
+
  If the program is interactive, make it output a short notice like this
  when it starts in an interactive mode:
- 
+
      Gnomovision version 69, Copyright (C) 19xx name of author
-     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+     Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type 'show w'.
      This is free software, and you are welcome to redistribute it
-     under certain conditions; type `show c' for details.
- 
- The hypothetical commands `show w' and `show c' should show the
+     under certain conditions; type 'show c' for details.
+
+ The hypothetical commands 'show w' and 'show c' should show the
  appropriate parts of the General Public License.  Of course, the
- commands you use may be called something other than `show w' and `show
+ commands you use may be called something other than 'show w' and 'show
  c'; they could even be mouse-clicks or menu items--whatever suits your
  program.
- 
+
  You should also get your employer (if you work as a programmer) or your
  school, if any, to sign a "copyright disclaimer" for the program, if
  necessary.  Here a sample; alter the names:
- 
+
    Yoyodyne, Inc., hereby disclaims all copyright interest in the
-   program `Gnomovision' (a program to direct compilers to make passes
+   program 'Gnomovision' (a program to direct compilers to make passes
    at assemblers) written by James Hacker.
- 
+
    <signature of Ty Coon>, 1 April 1989
    Ty Coon, President of Vice
- 
+
  That's all there is to it!
 
 =cut
-
-


Property changes on: vendor/perl/dist/pod/perlgpl.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlguts.pod
===================================================================
--- vendor/perl/dist/pod/perlguts.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlguts.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -37,6 +37,15 @@
 An SV can be created and loaded with one command.  There are five types of
 values that can be loaded: an integer value (IV), an unsigned integer
 value (UV), a double (NV), a string (PV), and another scalar (SV).
+("PV" stands for "Pointer Value".  You might think that it is misnamed
+because it is described as pointing only to strings.  However, it is
+possible to have it point to other things.  For example, inversion
+lists, used in regular expression data structures, are scalars, each
+consisting of an array of UVs which are accessed through PVs.  But,
+using it for non-strings requires care, as the underlying assumption of
+much of the internals is that PVs are just for strings.  Often, for
+example, a trailing NUL is tacked on automatically.  The non-string use
+is documented only in this paragraph.)
 
 The seven routines are:
 
@@ -56,10 +65,11 @@
 can create an empty SV with newSV(len).  If C<len> is 0 an empty SV of
 type NULL is returned, else an SV of type PV is returned with len + 1 (for
 the NUL) bytes of storage allocated, accessible via SvPVX.  In both cases
-the SV has value undef.
+the SV has the undef value.
 
     SV *sv = newSV(0);   /* no storage allocated  */
-    SV *sv = newSV(10);  /* 10 (+1) bytes of uninitialised storage allocated  */
+    SV *sv = newSV(10);  /* 10 (+1) bytes of uninitialised storage
+                          * allocated */
 
 To change the value of an I<already-existing> SV, there are eight routines:
 
@@ -69,7 +79,8 @@
     void  sv_setpv(SV*, const char*);
     void  sv_setpvn(SV*, const char*, STRLEN)
     void  sv_setpvf(SV*, const char*, ...);
-    void  sv_vsetpvfn(SV*, const char*, STRLEN, va_list *, SV **, I32, bool *);
+    void  sv_vsetpvfn(SV*, const char*, STRLEN, va_list *,
+                                                    SV **, I32, bool *);
     void  sv_setsv(SV*, SV*);
 
 Notice that you can choose to specify the length of the string to be
@@ -77,7 +88,8 @@
 allow Perl to calculate the length by using C<sv_setpv> or by specifying
 0 as the second argument to C<newSVpv>.  Be warned, though, that Perl will
 determine the string's length by using C<strlen>, which depends on the
-string terminating with a NUL character.
+string terminating with a NUL character, and not otherwise containing
+NULs.
 
 The arguments of C<sv_setpvf> are processed like C<sprintf>, and the
 formatted output becomes the value.
@@ -128,7 +140,7 @@
 
     SV *s;
     STRLEN len;
-    char * ptr;
+    char *ptr;
     ptr = SvPV(s, len);
     foo(ptr, len);
 
@@ -144,7 +156,7 @@
 which will determine if more memory needs to be allocated.  If so, it will
 call the function C<sv_grow>.  Note that C<SvGROW> can only increase, not
 decrease, the allocated memory of an SV and that it does not automatically
-add a byte for the a trailing NUL (perl's own string functions typically do
+add space for the trailing NUL byte (perl's own string functions typically do
 C<SvGROW(sv, len + 1)>).
 
 If you have an SV and want to know what kind of data Perl thinks is stored
@@ -173,7 +185,8 @@
     void  sv_catpv(SV*, const char*);
     void  sv_catpvn(SV*, const char*, STRLEN);
     void  sv_catpvf(SV*, const char*, ...);
-    void  sv_vcatpvfn(SV*, const char*, STRLEN, va_list *, SV **, I32, bool);
+    void  sv_vcatpvfn(SV*, const char*, STRLEN, va_list *, SV **,
+                                                             I32, bool);
     void  sv_catsv(SV*, SV*);
 
 The first function calculates the length of the string to be appended by
@@ -300,7 +313,7 @@
 These will tell you if you truly have an integer, double, or string pointer
 stored in your SV.  The "p" stands for private.
 
-The are various ways in which the private and public flags may differ.
+There are various ways in which the private and public flags may differ.
 For example, a tied SV may have a valid underlying value in the IV slot
 (so SvIOKp is true), but the data should be accessed via the FETCH
 routine rather than directly, so SvIOK is false. Another is when
@@ -324,7 +337,7 @@
 The second argument points to an array containing C<num> C<SV*>'s.  Once the
 AV has been created, the SVs can be destroyed, if so desired.
 
-Once the AV has been created, the following operations are possible on AVs:
+Once the AV has been created, the following operations are possible on it:
 
     void  av_push(AV*, SV*);
     SV*   av_pop(AV*);
@@ -338,11 +351,11 @@
 
 Here are some other functions:
 
-    I32   av_len(AV*);
+    I32   av_top_index(AV*);
     SV**  av_fetch(AV*, I32 key, I32 lval);
     SV**  av_store(AV*, I32 key, SV* val);
 
-The C<av_len> function returns the highest index value in array (just
+The C<av_top_index> function returns the highest index value in an array (just
 like $#array in Perl).  If the array is empty, -1 is returned.  The
 C<av_fetch> function returns the value at index C<key>, but if C<lval>
 is non-zero, then C<av_fetch> will store an undef value at that index.
@@ -353,6 +366,8 @@
 C<av_fetch> and C<av_store> both return C<SV**>'s, not C<SV*>'s as their
 return value.
 
+A few more:
+
     void  av_clear(AV*);
     void  av_undef(AV*);
     void  av_extend(AV*, I32 key);
@@ -380,7 +395,7 @@
 
     HV*  newHV();
 
-Once the HV has been created, the following operations are possible on HVs:
+Once the HV has been created, the following operations are possible on it:
 
     SV**  hv_store(HV*, const char* key, U32 klen, SV* val, U32 hash);
     SV**  hv_fetch(HV*, const char* key, U32 klen, I32 lval);
@@ -399,7 +414,8 @@
 value.  However, you should check to make sure that the return value is
 not NULL before dereferencing it.
 
-These two functions check if a hash table entry exists, and deletes it.
+The first of these two functions checks if a hash table entry exists, and the 
+second deletes it.
 
     bool  hv_exists(HV*, const char* key, U32 klen);
     SV*   hv_delete(HV*, const char* key, U32 klen, I32 flags);
@@ -416,7 +432,7 @@
 table but does not actually delete the hash table.  The C<hv_undef> deletes
 both the entries and the hash table itself.
 
-Perl keeps the actual data in linked list of structures with a typedef of HE.
+Perl keeps the actual data in a linked list of structures with a typedef of HE.
 These contain the actual key and value pointers (plus extra administrative
 overhead).  The key is a string pointer; the value is an C<SV*>.  However,
 once you have an C<HE*>, to get the actual key and value, use the routines
@@ -446,15 +462,13 @@
 
 This returns NULL if the variable does not exist.
 
-The hash algorithm is defined in the C<PERL_HASH(hash, key, klen)> macro:
+The hash algorithm is defined in the C<PERL_HASH> macro:
 
-    hash = 0;
-    while (klen--)
-	hash = (hash * 33) + *key++;
-    hash = hash + (hash >> 5);			/* after 5.6 */
+    PERL_HASH(hash, key, klen)
 
-The last step was added in version 5.6 to improve distribution of
-lower bits in the resulting hash value.
+The exact implementation of this macro varies by architecture and version
+of perl, and the return value may change per invocation, so the value
+is only valid for the duration of a single perl process.
 
 See L<Understanding the Magic of Tied Hashes and Arrays> for more
 information on how to use the hash access functions on tied hashes.
@@ -559,7 +573,7 @@
 =head2 References
 
 References are a special type of scalar that point to other data types
-(including references).
+(including other references).
 
 To create a reference, use either of the following functions:
 
@@ -590,17 +604,13 @@
 
 The most useful types that will be returned are:
 
-    SVt_IV    Scalar
-    SVt_NV    Scalar
-    SVt_PV    Scalar
-    SVt_RV    Scalar
-    SVt_PVAV  Array
-    SVt_PVHV  Hash
-    SVt_PVCV  Code
-    SVt_PVGV  Glob (possible a file handle)
-    SVt_PVMG  Blessed or Magical Scalar
+    < SVt_PVAV  Scalar
+    SVt_PVAV    Array
+    SVt_PVHV    Hash
+    SVt_PVCV    Code
+    SVt_PVGV    Glob (possibly a file handle)
 
-See the F<sv.h> header file for more details.
+See L<perlapi/svtype> for more details.
 
 =head2 Blessed References and Class Objects
 
@@ -619,41 +629,46 @@
 
 /* Still under construction */
 
-Upgrades rv to reference if not already one.  Creates new SV for rv to
-point to.  If C<classname> is non-null, the SV is blessed into the specified
-class.  SV is returned.
+The following function upgrades rv to reference if not already one.
+Creates a new SV for rv to point to.  If C<classname> is non-null, the SV
+is blessed into the specified class.  SV is returned.
 
 	SV* newSVrv(SV* rv, const char* classname);
 
-Copies integer, unsigned integer or double into an SV whose reference is C<rv>.  SV is blessed
-if C<classname> is non-null.
+The following three functions copy integer, unsigned integer or double
+into an SV whose reference is C<rv>.  SV is blessed if C<classname> is
+non-null.
 
 	SV* sv_setref_iv(SV* rv, const char* classname, IV iv);
 	SV* sv_setref_uv(SV* rv, const char* classname, UV uv);
 	SV* sv_setref_nv(SV* rv, const char* classname, NV iv);
 
-Copies the pointer value (I<the address, not the string!>) into an SV whose
-reference is rv.  SV is blessed if C<classname> is non-null.
+The following function copies the pointer value (I<the address, not the
+string!>) into an SV whose reference is rv.  SV is blessed if C<classname>
+is non-null.
 
-	SV* sv_setref_pv(SV* rv, const char* classname, PV iv);
+	SV* sv_setref_pv(SV* rv, const char* classname, void* pv);
 
-Copies string into an SV whose reference is C<rv>.  Set length to 0 to let
-Perl calculate the string length.  SV is blessed if C<classname> is non-null.
+The following function copies a string into an SV whose reference is C<rv>.
+Set length to 0 to let Perl calculate the string length.  SV is blessed if
+C<classname> is non-null.
 
-	SV* sv_setref_pvn(SV* rv, const char* classname, PV iv, STRLEN length);
+    SV* sv_setref_pvn(SV* rv, const char* classname, char* pv,
+                                                         STRLEN length);
 
-Tests whether the SV is blessed into the specified class.  It does not
-check inheritance relationships.
+The following function tests whether the SV is blessed into the specified
+class.  It does not check inheritance relationships.
 
 	int  sv_isa(SV* sv, const char* name);
 
-Tests whether the SV is a reference to a blessed object.
+The following function tests whether the SV is a reference to a blessed object.
 
 	int  sv_isobject(SV* sv);
 
-Tests whether the SV is derived from the specified class. SV can be either
-a reference to a blessed object or a string containing a class name. This
-is the function implementing the C<UNIVERSAL::isa> functionality.
+The following function tests whether the SV is derived from the specified
+class. SV can be either a reference to a blessed object or a string
+containing a class name. This is the function implementing the
+C<UNIVERSAL::isa> functionality.
 
 	bool sv_derived_from(SV* sv, const char* name);
 
@@ -766,7 +781,7 @@
 The first call creates a mortal SV (with no value), the second converts an existing
 SV to a mortal SV (and thus defers a call to C<SvREFCNT_dec>), and the
 third creates a mortal copy of an existing SV.
-Because C<sv_newmortal> gives the new SV no value,it must normally be given one
+Because C<sv_newmortal> gives the new SV no value, it must normally be given one
 via C<sv_setpv>, C<sv_setiv>, etc. :
 
     SV *tmp = sv_newmortal();
@@ -781,7 +796,7 @@
 can happen if you make the same value mortal within multiple contexts,
 or if you make a variable mortal multiple times. Thinking of "Mortalization"
 as deferred C<SvREFCNT_dec> should help to minimize such problems.
-For example if you are passing an SV which you I<know> has high enough REFCNT
+For example if you are passing an SV which you I<know> has a high enough REFCNT
 to survive its use on the stack you need not do any mortalization.
 If you are not sure then doing an C<SvREFCNT_inc> and C<sv_2mortal>, or
 making a C<sv_mortalcopy> is safer.
@@ -912,7 +927,7 @@
 
 Perl adds magic to an SV using the sv_magic function:
 
-    void sv_magic(SV* sv, SV* obj, int how, const char* name, I32 namlen);
+  void sv_magic(SV* sv, SV* obj, int how, const char* name, I32 namlen);
 
 The C<sv> argument is a pointer to the SV that is to acquire a new magical
 feature.
@@ -985,7 +1000,8 @@
     int  (*svt_clear)(SV* sv, MAGIC* mg);
     int  (*svt_free)(SV* sv, MAGIC* mg);
 
-    int  (*svt_copy)(SV *sv, MAGIC* mg, SV *nsv, const char *name, I32 namlen);
+    int  (*svt_copy)(SV *sv, MAGIC* mg, SV *nsv,
+                                          const char *name, I32 namlen);
     int  (*svt_dup)(MAGIC *mg, CLONE_PARAMS *param);
     int  (*svt_local)(SV *nsv, MAGIC *mg);
 
@@ -995,17 +1011,18 @@
 routines that perform additional actions depending on which function is
 being called.
 
-    Function pointer    Action taken
-    ----------------    ------------
-    svt_get             Do something before the value of the SV is retrieved.
-    svt_set             Do something after the SV is assigned a value.
-    svt_len             Report on the SV's length.
-    svt_clear           Clear something the SV represents.
-    svt_free            Free any extra storage associated with the SV.
+   Function pointer    Action taken
+   ----------------    ------------
+   svt_get             Do something before the value of the SV is
+                       retrieved.
+   svt_set             Do something after the SV is assigned a value.
+   svt_len             Report on the SV's length.
+   svt_clear           Clear something the SV represents.
+   svt_free            Free any extra storage associated with the SV.
 
-    svt_copy            copy tied variable magic to a tied element
-    svt_dup             duplicate a magic structure during thread cloning
-    svt_local           copy magic to local value during 'local'
+   svt_copy            copy tied variable magic to a tied element
+   svt_dup             duplicate a magic structure during thread cloning
+   svt_local           copy magic to local value during 'local'
 
 For instance, the MGVTBL structure called C<vtbl_sv> (which corresponds
 to an C<mg_type> of C<PERL_MAGIC_sv>) contains:
@@ -1027,55 +1044,74 @@
 
 The current kinds of Magic Virtual Tables are:
 
-    mg_type
-    (old-style char and macro)   MGVTBL          Type of magic
-    --------------------------   ------          -------------
-    \0 PERL_MAGIC_sv             vtbl_sv         Special scalar variable
-    A  PERL_MAGIC_overload       vtbl_amagic     %OVERLOAD hash
-    a  PERL_MAGIC_overload_elem  vtbl_amagicelem %OVERLOAD hash element
-    c  PERL_MAGIC_overload_table (none)          Holds overload table (AMT)
-                                                 on stash
-    B  PERL_MAGIC_bm             vtbl_bm         Boyer-Moore (fast string search)
-    D  PERL_MAGIC_regdata        vtbl_regdata    Regex match position data
-                                                 (@+ and @- vars)
-    d  PERL_MAGIC_regdatum       vtbl_regdatum   Regex match position data
-                                                 element
-    E  PERL_MAGIC_env            vtbl_env        %ENV hash
-    e  PERL_MAGIC_envelem        vtbl_envelem    %ENV hash element
-    f  PERL_MAGIC_fm             vtbl_fm         Formline ('compiled' format)
-    g  PERL_MAGIC_regex_global   vtbl_mglob      m//g target / study()ed string
-    H  PERL_MAGIC_hints          vtbl_hints      %^H hash
-    h  PERL_MAGIC_hintselem      vtbl_hintselem  %^H hash element
-    I  PERL_MAGIC_isa            vtbl_isa        @ISA array
-    i  PERL_MAGIC_isaelem        vtbl_isaelem    @ISA array element
-    k  PERL_MAGIC_nkeys          vtbl_nkeys      scalar(keys()) lvalue
-    L  PERL_MAGIC_dbfile         (none)          Debugger %_<filename
-    l  PERL_MAGIC_dbline         vtbl_dbline     Debugger %_<filename element
-    o  PERL_MAGIC_collxfrm       vtbl_collxfrm   Locale collate transformation
-    P  PERL_MAGIC_tied           vtbl_pack       Tied array or hash
-    p  PERL_MAGIC_tiedelem       vtbl_packelem   Tied array or hash element
-    q  PERL_MAGIC_tiedscalar     vtbl_packelem   Tied scalar or handle
-    r  PERL_MAGIC_qr             vtbl_qr         precompiled qr// regex
-    S  PERL_MAGIC_sig            vtbl_sig        %SIG hash
-    s  PERL_MAGIC_sigelem        vtbl_sigelem    %SIG hash element
-    t  PERL_MAGIC_taint          vtbl_taint      Taintedness
-    U  PERL_MAGIC_uvar           vtbl_uvar       Available for use by extensions
-    v  PERL_MAGIC_vec            vtbl_vec        vec() lvalue
-    V  PERL_MAGIC_vstring        (none)          v-string scalars
-    w  PERL_MAGIC_utf8           vtbl_utf8       UTF-8 length+offset cache
-    x  PERL_MAGIC_substr         vtbl_substr     substr() lvalue
-    y  PERL_MAGIC_defelem        vtbl_defelem    Shadow "foreach" iterator
-                                                 variable / smart parameter
-                                                 vivification
-    #  PERL_MAGIC_arylen         vtbl_arylen     Array length ($#ary)
-    .  PERL_MAGIC_pos            vtbl_pos        pos() lvalue
-    <  PERL_MAGIC_backref        vtbl_backref    back pointer to a weak ref 
-    ~  PERL_MAGIC_ext            (none)          Available for use by extensions
-    :  PERL_MAGIC_symtab         (none)          hash used as symbol table
-    %  PERL_MAGIC_rhash          (none)          hash used as restricted hash
-    @  PERL_MAGIC_arylen_p       vtbl_arylen_p   pointer to $#a from @a
+=for comment
+This table is generated by regen/mg_vtable.pl.  Any changes made here
+will be lost.
 
+=for mg_vtable.pl begin
 
+ mg_type
+ (old-style char and macro)   MGVTBL         Type of magic
+ --------------------------   ------         -------------
+ \0 PERL_MAGIC_sv             vtbl_sv        Special scalar variable
+ #  PERL_MAGIC_arylen         vtbl_arylen    Array length ($#ary)
+ %  PERL_MAGIC_rhash          (none)         extra data for restricted
+                                             hashes
+ &  PERL_MAGIC_proto          (none)         my sub prototype CV
+ .  PERL_MAGIC_pos            vtbl_pos       pos() lvalue
+ :  PERL_MAGIC_symtab         (none)         extra data for symbol
+                                             tables
+ <  PERL_MAGIC_backref        vtbl_backref   for weak ref data
+ @  PERL_MAGIC_arylen_p       (none)         to move arylen out of XPVAV
+ B  PERL_MAGIC_bm             vtbl_regexp    Boyer-Moore 
+                                             (fast string search)
+ c  PERL_MAGIC_overload_table vtbl_ovrld     Holds overload table 
+                                             (AMT) on stash
+ D  PERL_MAGIC_regdata        vtbl_regdata   Regex match position data 
+                                             (@+ and @- vars)
+ d  PERL_MAGIC_regdatum       vtbl_regdatum  Regex match position data
+                                             element
+ E  PERL_MAGIC_env            vtbl_env       %ENV hash
+ e  PERL_MAGIC_envelem        vtbl_envelem   %ENV hash element
+ f  PERL_MAGIC_fm             vtbl_regexp    Formline 
+                                             ('compiled' format)
+ g  PERL_MAGIC_regex_global   vtbl_mglob     m//g target
+ H  PERL_MAGIC_hints          vtbl_hints     %^H hash
+ h  PERL_MAGIC_hintselem      vtbl_hintselem %^H hash element
+ I  PERL_MAGIC_isa            vtbl_isa       @ISA array
+ i  PERL_MAGIC_isaelem        vtbl_isaelem   @ISA array element
+ k  PERL_MAGIC_nkeys          vtbl_nkeys     scalar(keys()) lvalue
+ L  PERL_MAGIC_dbfile         (none)         Debugger %_<filename
+ l  PERL_MAGIC_dbline         vtbl_dbline    Debugger %_<filename
+                                             element
+ N  PERL_MAGIC_shared         (none)         Shared between threads
+ n  PERL_MAGIC_shared_scalar  (none)         Shared between threads
+ o  PERL_MAGIC_collxfrm       vtbl_collxfrm  Locale transformation
+ P  PERL_MAGIC_tied           vtbl_pack      Tied array or hash
+ p  PERL_MAGIC_tiedelem       vtbl_packelem  Tied array or hash element
+ q  PERL_MAGIC_tiedscalar     vtbl_packelem  Tied scalar or handle
+ r  PERL_MAGIC_qr             vtbl_regexp    precompiled qr// regex
+ S  PERL_MAGIC_sig            (none)         %SIG hash
+ s  PERL_MAGIC_sigelem        vtbl_sigelem   %SIG hash element
+ t  PERL_MAGIC_taint          vtbl_taint     Taintedness
+ U  PERL_MAGIC_uvar           vtbl_uvar      Available for use by
+                                             extensions
+ u  PERL_MAGIC_uvar_elem      (none)         Reserved for use by
+                                             extensions
+ V  PERL_MAGIC_vstring        (none)         SV was vstring literal
+ v  PERL_MAGIC_vec            vtbl_vec       vec() lvalue
+ w  PERL_MAGIC_utf8           vtbl_utf8      Cached UTF-8 information
+ x  PERL_MAGIC_substr         vtbl_substr    substr() lvalue
+ y  PERL_MAGIC_defelem        vtbl_defelem   Shadow "foreach" iterator
+                                             variable / smart parameter
+                                             vivification
+ ]  PERL_MAGIC_checkcall      vtbl_checkcall inlining/mutation of call
+                                             to this CV
+ ~  PERL_MAGIC_ext            (none)         Available for use by
+                                             extensions
+
+=for mg_vtable.pl end
+
 When an uppercase and lowercase letter both exist in the table, then the
 uppercase letter is typically used to represent some kind of composite type
 (a list or a hash), and the lowercase letter is used to represent an element
@@ -1125,7 +1161,7 @@
 an C<SV> through the functions C<hv_store_ent>, C<hv_fetch_ent>,
 C<hv_delete_ent>, and C<hv_exists_ent>.  Accessing the key as a string
 through the functions without the C<..._ent> suffix circumvents the
-hook.  See L<Hash::Util::Fieldhash/Guts> for a detailed description.
+hook.  See L<Hash::Util::FieldHash/GUTS> for a detailed description.
 
 Note that because multiple extensions may be using C<PERL_MAGIC_ext>
 or C<PERL_MAGIC_uvar> magic, it is important for extensions to take
@@ -1160,13 +1196,14 @@
 
 =head2 Finding Magic
 
-    MAGIC *mg_find(SV *sv, int type); /* Finds the magic pointer of that type */
+    MAGIC *mg_find(SV *sv, int type); /* Finds the magic pointer of that
+                                       * type */
 
 This routine returns a pointer to a C<MAGIC> structure stored in the SV.
 If the SV does not have that magical feature, C<NULL> is returned. If the
 SV has multiple instances of that magical feature, the first one will be
 returned. C<mg_findext> can be used to find a C<MAGIC> structure of an SV
-based on both it's magic type and it's magic virtual table:
+based on both its magic type and its magic virtual table:
 
     MAGIC *mg_findext(SV *sv, int type, MGVTBL *vtbl);
 
@@ -1463,7 +1500,8 @@
     PUSHs(sv_2mortal(newSVuv(an_unsigned_integer)))
     PUSHs(sv_2mortal(newSVnv(a_double)))
     PUSHs(sv_2mortal(newSVpv("Some String",0)))
-    /* Although the last example is better written as the more efficient: */
+    /* Although the last example is better written as the more
+     * efficient: */
     PUSHs(newSVpvs_flags("Some String", SVs_TEMP))
 
 And now the Perl program calling C<tzname>, the two values will be assigned
@@ -1476,7 +1514,7 @@
 
     XPUSHs(SV*)
 
-This macro automatically adjust the stack for you, if needed.  Thus, you
+This macro automatically adjusts the stack for you, if needed.  Thus, you
 do not need to call C<EXTEND> to extend the stack.
 
 Despite their suggestions in earlier versions of this document the macros
@@ -1486,6 +1524,28 @@
 
 For more information, consult L<perlxs> and L<perlxstut>.
 
+=head2 Autoloading with XSUBs
+
+If an AUTOLOAD routine is an XSUB, as with Perl subroutines, Perl puts the
+fully-qualified name of the autoloaded subroutine in the $AUTOLOAD variable
+of the XSUB's package.
+
+But it also puts the same information in certain fields of the XSUB itself:
+
+    HV *stash           = CvSTASH(cv);
+    const char *subname = SvPVX(cv);
+    STRLEN name_length  = SvCUR(cv); /* in bytes */
+    U32 is_utf8         = SvUTF8(cv);
+
+C<SvPVX(cv)> contains just the sub name itself, not including the package.
+For an AUTOLOAD routine in UNIVERSAL or one of its superclasses,
+C<CvSTASH(cv)> returns NULL during a method call on a nonexistent package.
+
+B<Note>: Setting $AUTOLOAD stopped working in 5.6.1, which did not support
+XS AUTOLOAD subs at all.  Perl 5.8.0 introduced the use of fields in the
+XSUB itself.  Perl 5.16.0 restored the setting of $AUTOLOAD.  If you need
+to support 5.8-5.14, use the XSUB's fields.
+
 =head2 Calling Perl Routines from within C Programs
 
 There are four routines that can be used to call a Perl subroutine from
@@ -1494,7 +1554,7 @@
     I32  call_sv(SV*, I32);
     I32  call_pv(const char*, I32);
     I32  call_method(const char*, I32);
-    I32  call_argv(const char*, I32, register char**);
+    I32  call_argv(const char*, I32, char**);
 
 The routine most often used is C<call_sv>.  The C<SV*> argument
 contains either the name of the Perl subroutine to be called, or a
@@ -1586,7 +1646,7 @@
 
 =head2 PerlIO
 
-The most recent development releases of Perl has been experimenting with
+The most recent development releases of Perl have been experimenting with
 removing Perl's dependency on the "normal" standard I/O suite and allowing
 other stdio implementations to be used.  This involves creating a new
 abstraction layer that then calls whichever implementation of stdio Perl
@@ -1864,7 +1924,7 @@
     static void my_peep(pTHX_ OP *o)
     {
         /* custom per-subroutine optimisation goes here */
-        prev_peepp(o);
+        prev_peepp(aTHX_ o);
         /* custom per-subroutine optimisation may also go here */
     }
     BOOT:
@@ -1878,7 +1938,7 @@
         for(; o; o = o->op_next) {
             /* custom per-op optimisation goes here */
         }
-        prev_rpeepp(orig_o);
+        prev_rpeepp(aTHX_ orig_o);
     }
     BOOT:
         prev_rpeepp = PL_rpeepp;
@@ -2079,7 +2139,7 @@
   S_incline(pTHX_ char *s)
 
 STATIC becomes "static" in C, and may be #define'd to nothing in some
-configurations in future.
+configurations in the future.
 
 A public function (i.e. part of the internal API, but not necessarily
 sanctioned for use in extensions) begins like this:
@@ -2171,7 +2231,7 @@
 
         Perl_sv_setiv(sv, num);
 
-You have to do nothing new in your extension to get this; since
+You don't have to do anything new in your extension to get this; since
 the Perl library provides Perl_get_context(), it will all just
 work.
 
@@ -2359,9 +2419,9 @@
 
 =item n
 
-This does not need a interpreter context, so the definition has no
+This does not need an interpreter context, so the definition has no
 C<pTHX>, and it follows that callers don't use C<aTHX>.  (See
-L<perlguts/Background and PERL_IMPLICIT_CONTEXT>.)
+L</Background and PERL_IMPLICIT_CONTEXT>.)
 
 =item r
 
@@ -2577,7 +2637,8 @@
 In general, you either have to know what you're dealing with, or you
 have to guess.  The API function C<is_utf8_string> can help; it'll tell
 you if a string contains only valid UTF-8 characters. However, it can't
-do the work for you. On a character-by-character basis, C<is_utf8_char>
+do the work for you. On a character-by-character basis,
+C<is_utf8_char_buf>
 will tell you whether the current character in a string is valid UTF-8. 
 
 =head2 How does UTF-8 represent Unicode characters?
@@ -2610,22 +2671,24 @@
 whether the byte can be encoded as a single byte even in UTF-8):
 
     U8 *utf;
+    U8 *utf_end; /* 1 beyond buffer pointed to by utf */
     UV uv;	/* Note: a UV, not a U8, not a char */
+    STRLEN len; /* length of character in bytes */
 
     if (!UTF8_IS_INVARIANT(*utf))
         /* Must treat this as UTF-8 */
-        uv = utf8_to_uv(utf);
+        uv = utf8_to_uvchr_buf(utf, utf_end, &len);
     else
         /* OK to treat this character as a byte */
         uv = *utf;
 
-You can also see in that example that we use C<utf8_to_uv> to get the
-value of the character; the inverse function C<uv_to_utf8> is available
+You can also see in that example that we use C<utf8_to_uvchr_buf> to get the
+value of the character; the inverse function C<uvchr_to_utf8> is available
 for putting a UV into UTF-8:
 
     if (!UTF8_IS_INVARIANT(uv))
         /* Must treat this as UTF8 */
-        utf8 = uv_to_utf8(utf8, uv);
+        utf8 = uvchr_to_utf8(utf8, uv);
     else
         /* OK to treat this character as a byte */
         *utf8++ = uv;
@@ -2725,19 +2788,19 @@
 =item *
 
 There's no way to tell if a string is UTF-8 or not. You can tell if an SV
-is UTF-8 by looking at is C<SvUTF8> flag. Don't forget to set the flag if
+is UTF-8 by looking at its C<SvUTF8> flag. Don't forget to set the flag if
 something should be UTF-8. Treat the flag as part of the PV, even though
 it's not - if you pass on the PV to somewhere, pass on the flag too.
 
 =item *
 
-If a string is UTF-8, B<always> use C<utf8_to_uv> to get at the value,
+If a string is UTF-8, B<always> use C<utf8_to_uvchr_buf> to get at the value,
 unless C<UTF8_IS_INVARIANT(*s)> in which case you can use C<*s>.
 
 =item *
 
 When writing a character C<uv> to a UTF-8 string, B<always> use
-C<uv_to_utf8>, unless C<UTF8_IS_INVARIANT(uv))> in which case
+C<uvchr_to_utf8>, unless C<UTF8_IS_INVARIANT(uv))> in which case
 you can use C<*s = uv>.
 
 =item *
@@ -2749,7 +2812,7 @@
 
 =head1 Custom Operators
 
-Custom operator support is a new experimental feature that allows you to
+Custom operator support is an experimental feature that allows you to
 define your own ops. This is primarily to allow the building of
 interpreters for other languages in the Perl core, but it also allows
 optimizations through the creation of "macro-ops" (ops which perform the
@@ -2771,7 +2834,7 @@
 a custom peephole optimizer with the C<optimize> module.
 
 When you do this, you replace ordinary Perl ops with custom ops by
-creating ops with the type C<OP_CUSTOM> and the C<pp_addr> of your own
+creating ops with the type C<OP_CUSTOM> and the C<op_ppaddr> of your own
 PP function. This should be defined in XS code, and should look like
 the PP ops in C<pp_*.c>. You are responsible for ensuring that your op
 takes the appropriate number of values from the stack, and you are


Property changes on: vendor/perl/dist/pod/perlguts.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlhack.pod
===================================================================
--- vendor/perl/dist/pod/perlhack.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlhack.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -56,15 +56,16 @@
 The next step is to submit your patch to the Perl core ticket system
 via email.
 
-Assuming your patch consists of a single git commit, you can send it to
-perlbug with this command line:
+Assuming your patch consists of a single git commit, the following
+writes the file as a MIME attachment, and sends it with a meaningful
+subject:
 
-  % git format-patch HEAD^1..HEAD
-  % perlbug -s '[PATCH] `git log --pretty=format:%s HEAD^1..HEAD`' -f 0001-*.patch
+  % git format-patch -1 --attach
+  % perlbug -s "[PATCH] $(git log -1 --oneline HEAD)" -f 0001-*.patch
 
 The perlbug program will ask you a few questions about your email
-address and the patch you're submitting. Once you've answered them you
-can submit your patch.
+address and the patch you're submitting. Once you've answered them it
+will submit your patch via email.
 
 =item * Thank you
 
@@ -75,9 +76,9 @@
 
 =head1 BUG REPORTING
 
-If you want to report a bug in Perl, you must use the F<perlbug> command
-line tool. This tool will ensure that your bug report includes all the
-relevant system and configuration information.
+If you want to report a bug in Perl, you must use the F<perlbug>
+command line tool. This tool will ensure that your bug report includes
+all the relevant system and configuration information.
 
 To browse existing Perl bugs and patches, you can use the web interface
 at L<http://rt.perl.org/>.
@@ -94,7 +95,8 @@
 
 The perl5-porters (p5p) mailing list is where the Perl standard
 distribution is maintained and developed. The people who maintain Perl
-are also referred to as the "Perl 5 Porters", or just the "porters".
+are also referred to as the "Perl 5 Porters", "p5p" or just the
+"porters".
 
 A searchable archive of the list is available at
 L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/>. There is
@@ -108,6 +110,12 @@
 repository. See L<http://lists.perl.org/list/perl5-changes.html> for
 subscription and archive information.
 
+=head2 #p5p on IRC
+
+Many porters are also active on the L<irc://irc.perl.org/#p5p> channel.
+Feel free to join the channel and ask questions about hacking on the
+Perl core.
+
 =head1 GETTING THE PERL SOURCE
 
 All of Perl's source code is kept centrally in a Git repository at
@@ -215,7 +223,7 @@
 made. If you prefer to send a single patch for all commits, you can use
 C<git diff>.
 
-  % git co blead
+  % git checkout blead
   % git pull
   % git diff blead my-branch-name
 
@@ -373,6 +381,21 @@
 
 "if (!foo) ..." rather than "if (foo == FALSE) ..." etc.
 
+=item *
+
+Do not declare variables using "register".  It may be counterproductive
+with modern compilers, and is deprecated in C++, under which the Perl
+source is regularly compiled.
+
+=item *
+
+In-line functions that are in headers that are accessible to XS code
+need to be able to compile without warnings with commonly used extra
+compilation flags, such as gcc's C<-Wswitch-default> which warns
+whenever a switch statement does not have a "default" case.  The use of
+these extra flags is to catch potential problems in legal C code, and is
+often used by Perl aggregators, such as Linux distributors.
+
 =back
 
 =head3 Test suite
@@ -464,15 +487,20 @@
 This works just like patching anything else, with one extra
 consideration.
 
-Some core modules also live on CPAN and are maintained outside of the
-Perl core. When the author updates the module, the updates are simply
-copied into the core.
-
 Modules in the F<cpan/> directory of the source tree are maintained
-outside of the Perl core. See that module's listing on documentation or
-its listing on L<http://search.cpan.org/> for more information on
-reporting bugs and submitting patches.
+outside of the Perl core. When the author updates the module, the
+updates are simply copied into the core.  See that module's
+documentation or its listing on L<http://search.cpan.org/> for more
+information on reporting bugs and submitting patches.
 
+In most cases, patches to modules in F<cpan/> should be sent upstream
+and should not be applied to the Perl core individually.  If a patch to
+a file in F<cpan/> absolutely cannot wait for the fix to be made
+upstream, released to CPAN and copied to blead, you must add (or
+update) a C<CUSTOMIZED> entry in the F<"Porting/Maintainers.pl"> file
+to flag that a local modification has been made.  See
+F<"Porting/Maintainers.pl"> for more details.
+
 In contrast, modules in the F<dist/> directory are maintained in the
 core.
 
@@ -684,15 +712,18 @@
 L<Test::More>, but avoids loading most modules and uses as few core
 features as possible.
 
-If you write your own test, use the L<Test Anything Protocol|TAP>.
+If you write your own test, use the L<Test Anything
+Protocol|http://testanything.org>.
 
 =over 4
 
-=item * F<t/base> and F<t/comp>
+=item * F<t/base>, F<t/comp> and F<t/opbasic>
 
 Since we don't know if require works, or even subroutines, use ad hoc
-tests for these two. Step carefully to avoid using the feature being
-tested.
+tests for these three. Step carefully to avoid using the feature being
+tested.  Tests in F<t/opbasic>, for instance, have been placed there rather
+than in F<t/op> because they test functionality which F<t/test.pl> presumes
+has already been demonstrated to work.
 
 =item * F<t/cmd>, F<t/run>, F<t/io> and F<t/op>
 
@@ -766,8 +797,8 @@
 
 =item * test.torture torturetest
 
-Run all the usual tests and some extra tests. As of Perl 5.8.0, the only
-extra tests are Abigail's JAPHs, F<t/japh/abigail.t>.
+Run all the usual tests and some extra tests. As of Perl 5.8.0, the
+only extra tests are Abigail's JAPHs, F<t/japh/abigail.t>.
 
 You can also run the torture test with F<t/harness> by giving
 C<-torture> argument to F<t/harness>.
@@ -827,14 +858,14 @@
 non-conflicting test scripts itself, and there is no standard interface
 to C<make> utilities to interact with their job schedulers.
 
-Note that currently some test scripts may fail when run in parallel (most
-notably C<ext/IO/t/io_dir.t>). If necessary, run just the failing scripts
-again sequentially and see if the failures go away.
+Note that currently some test scripts may fail when run in parallel
+(most notably F<ext/IO/t/io_dir.t>). If necessary, run just the failing
+scripts again sequentially and see if the failures go away.
 
 =head2 Running tests by hand
 
-You can run part of the test suite by hand by using one of the following
-commands from the F<t/> directory:
+You can run part of the test suite by hand by using one of the
+following commands from the F<t/> directory:
 
     ./perl -I../lib TEST list-of-.t-files
 
@@ -846,9 +877,9 @@
 
 =head2 Using F<t/harness> for testing
 
-If you use C<harness> for testing, you have several command line options
-available to you. The arguments are as follows, and are in the order
-that they must appear if used together.
+If you use C<harness> for testing, you have several command line
+options available to you. The arguments are as follows, and are in the
+order that they must appear if used together.
 
     harness -v -torture -re=pattern LIST OF FILES TO TEST
     harness -v -torture -re LIST OF PATTERNS TO MATCH
@@ -934,6 +965,13 @@
 
 This sets a variable in op/numconvert.t.
 
+=item * PERL_TEST_MEMORY
+
+Setting this variable includes the tests in F<t/bigmem/>.  This should
+be set to the number of gigabytes of memory available for testing,
+eg. C<PERL_TEST_MEMORY=4> indicates that tests that require 4GiB of
+available memory can be run safely.
+
 =back
 
 See also the documentation for the Test and Test::Harness modules, for
@@ -1001,13 +1039,6 @@
 is only useful to the pumpkin holder, but most of it applies to anyone
 wanting to go about Perl development.
 
-=item * The perl5-porters FAQ
-
-This should be available from
-http://dev.perl.org/perl5/docs/p5p-faq.html . It contains hints on
-reading perl5-porters, information on how perl5-porters works and how
-Perl development in general works.
-
 =back
 
 =head1 CPAN TESTERS AND PERL SMOKERS
@@ -1074,9 +1105,9 @@
 to that file's purpose.
 
 Like chapters in many books, all top-level Perl source files (along
-with a few others here and there) begin with an epigramic inscription
-that alludes, indirectly and metaphorically, to the material you're
-about to read.
+with a few others here and there) begin with an epigrammatic
+inscription that alludes, indirectly and metaphorically, to the
+material you're about to read.
 
 Quotations are taken from writings of J.R.R. Tolkien pertaining to his
 Legendarium, almost always from I<The Lord of the Rings>. Chapters and


Property changes on: vendor/perl/dist/pod/perlhack.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlhacktips.pod
===================================================================
--- vendor/perl/dist/pod/perlhacktips.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlhacktips.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,4 @@
+
 =encoding utf8
 
 =for comment
@@ -203,7 +204,7 @@
   long pony = *p;    /* BAD */
 
 Many platforms, quite rightly so, will give you a core dump instead of
-a pony if the p happens not be correctly aligned.
+a pony if the p happens not to be correctly aligned.
 
 =item *
 
@@ -276,11 +277,9 @@
 differ, you shouldn't use numeric (decimal, octal, nor hex) constants
 to refer to characters. You can safely say 'A', but not 0x41. You can
 safely say '\n', but not \012. If a character doesn't have a trivial
-input form, you can create a #define for it in both C<utfebcdic.h> and
-C<utf8.h>, so that it resolves to different values depending on the
-character set being used. (There are three different EBCDIC character
-sets defined in C<utfebcdic.h>, so it might be best to insert the
-#define three times in that file.)
+input form, you should add it to the list in
+F<regen/unicode_constants.pl>, and have Perl create #defines for you,
+based on the current platform.
 
 Also, the range 'A' - 'Z' in ASCII is an unbroken sequence of 26 upper
 case alphabetic characters. That is not true in EBCDIC. Nor for 'a' to
@@ -885,7 +884,8 @@
 Download the pmd-bin-X.Y.zip () from the SourceForge site, extract the
 pmd-X.Y.jar from it, and then run that on source code thusly:
 
-  java -cp pmd-X.Y.jar net.sourceforge.pmd.cpd.CPD --minimum-tokens 100 --files /some/where/src --language c > cpd.txt
+  java -cp pmd-X.Y.jar net.sourceforge.pmd.cpd.CPD \
+   --minimum-tokens 100 --files /some/where/src --language c > cpd.txt
 
 You may run into memory limits, in which case you should use the -Xmx
 option:
@@ -966,14 +966,16 @@
 
 =head1 MEMORY DEBUGGERS
 
-B<NOTE 1>: Running under memory debuggers such as Purify, valgrind, or
-Third Degree greatly slows down the execution: seconds become minutes,
-minutes become hours. For example as of Perl 5.8.1, the
+B<NOTE 1>: Running under older memory debuggers such as Purify,
+valgrind or Third Degree greatly slows down the execution: seconds
+become minutes, minutes become hours. For example as of Perl 5.8.1, the
 ext/Encode/t/Unicode.t takes extraordinarily long to complete under
 e.g. Purify, Third Degree, and valgrind. Under valgrind it takes more
 than six hours, even on a snappy computer. The said test must be doing
 something that is quite unfriendly for memory debuggers. If you don't
 feel like waiting, that you can simply kill away the perl process.
+Roughly valgrind slows down execution by factor 10, AddressSanitizer by
+factor 2.
 
 B<NOTE 2>: To minimize the number of memory leak false alarms (see
 L</PERL_DESTRUCT_LEVEL> for more information), you have to set the
@@ -1136,11 +1138,12 @@
 
 =head2 valgrind
 
-The excellent valgrind tool can be used to find out both memory leaks
-and illegal memory accesses. As of version 3.3.0, Valgrind only
-supports Linux on x86, x86-64 and PowerPC. The special "test.valgrind"
-target can be used to run the tests under valgrind. Found errors  and
-memory leaks are logged in files named F<testfile.valgrind>.
+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
+special "test.valgrind" target can be used to run the tests under
+valgrind. Found errors and memory leaks are logged in files named
+F<testfile.valgrind>.
 
 Valgrind also provides a cachegrind tool, invoked on perl as:
 
@@ -1153,8 +1156,54 @@
 
 To get valgrind and for more information see
 
-    http://developer.kde.org/~sewardj/
+    http://valgrind.org/
 
+=head2 AddressSanitizer
+
+AddressSanitizer is a clang extension, included in clang since v3.1. It
+checks illegal heap pointers, global pointers, stack pointers and use
+after free errors, and is fast enough that you can easily compile your
+debugging or optimized perl with it. It does not check memory leaks
+though. AddressSanitizer is available for linux, Mac OS X and soon on
+Windows.
+
+To build perl with AddressSanitizer, your Configure invocation should
+look like:
+
+    sh Configure -des -Dcc=clang \
+       -Accflags=-faddress-sanitizer -Aldflags=-faddress-sanitizer \
+       -Alddlflags=-shared\ -faddress-sanitizer
+
+where these arguments mean:
+
+=over 4
+
+=item * -Dcc=clang
+
+This should be replaced by the full path to your clang executable if it
+is not in your path.
+
+=item * -Accflags=-faddress-sanitizer
+
+Compile perl and extensions sources with AddressSanitizer.
+
+=item * -Aldflags=-faddress-sanitizer
+
+Link the perl executable with AddressSanitizer.
+
+=item * -Alddlflags=-shared\ -faddress-sanitizer
+
+Link dynamic extensions with AddressSanitizer. You must manually
+specify C<-shared> because using C<-Alddlflags=-shared> will prevent
+Configure from setting a default value for C<lddlflags>, which usually
+contains C<-shared> (at least on linux).
+
+=back
+
+See also
+L<http://code.google.com/p/address-sanitizer/wiki/AddressSanitizer>.
+
+
 =head1 PROFILING
 
 Depending on your platform there are various ways of profiling Perl.
@@ -1409,42 +1458,18 @@
 
 Under ithreads the optree is read only. If you want to enforce this, to
 check for write accesses from buggy code, compile with
-C<-DPL_OP_SLAB_ALLOC> to enable the OP slab allocator and
 C<-DPERL_DEBUG_READONLY_OPS> to enable code that allocates op memory
-via C<mmap>, and sets it read-only at run time. Any write access to an
-op results in a C<SIGBUS> and abort.
+via C<mmap>, and sets it read-only when it is attached to a subroutine. Any
+write access to an op results in a C<SIGBUS> and abort.
 
 This code is intended for development only, and may not be portable
 even to all Unix variants. Also, it is an 80% solution, in that it
-isn't able to make all ops read only. Specifically it
+isn't able to make all ops read only. Specifically it does not apply to op
+slabs belonging to C<BEGIN> blocks.
 
-=over
+However, as an 80% solution it is still effective, as it has caught bugs in
+the past.
 
-=item * 1
-
-Only sets read-only on all slabs of ops at C<CHECK> time, hence ops
-allocated later via C<require> or C<eval> will be re-write
-
-=item * 2
-
-Turns an entire slab of ops read-write if the refcount of any op in the
-slab needs to be decreased.
-
-=item * 3
-
-Turns an entire slab of ops read-write if any op from the slab is
-freed.
-
-=back
-
-It's not possible to turn the slabs to read-only after an action
-requiring read-write access, as either can happen during op tree
-building time, so there may still be legitimate write access.
-
-However, as an 80% solution it is still effective, as currently it
-catches a write access during the generation of F<Config.pm>, which
-means that we can't yet build F<perl> with this enabled.
-
 =head2 The .i Targets
 
 You can expand the macros in a F<foo.c> file by saying
@@ -1451,7 +1476,8 @@
 
     make foo.i
 
-which will expand the macros using cpp.  Don't be scared by the results.
+which will expand the macros using cpp.  Don't be scared by the
+results.
 
 =head1 AUTHOR
 


Property changes on: vendor/perl/dist/pod/perlhacktips.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlhacktut.pod
===================================================================
--- vendor/perl/dist/pod/perlhacktut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlhacktut.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -53,9 +53,9 @@
 C<pat> is set up:
 
     STRLEN fromlen;
-    register char *pat = SvPVx(*++MARK, fromlen);
-    register char *patend = pat + fromlen;
-    register I32 len;
+    char *pat = SvPVx(*++MARK, fromlen);
+    char *patend = pat + fromlen;
+    I32 len;
     I32 datumtype;
     SV *fromstr;
 
@@ -62,10 +62,10 @@
 We'll have another string pointer in there:
 
     STRLEN fromlen;
-    register char *pat = SvPVx(*++MARK, fromlen);
-    register char *patend = pat + fromlen;
+    char *pat = SvPVx(*++MARK, fromlen);
+    char *patend = pat + fromlen;
  +  char *patcopy;
-    register I32 len;
+    I32 len;
     I32 datumtype;
     SV *fromstr;
 


Property changes on: vendor/perl/dist/pod/perlhacktut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlhist.pod
===================================================================
--- vendor/perl/dist/pod/perlhist.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlhist.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,15 +12,15 @@
 
 Perl history in brief, by Larry Wall:
 
-    Perl 0 introduced Perl to my officemates.
-    Perl 1 introduced Perl to the world, and changed /\(...\|...\)/ to
-        /(...|...)/.  \(Dan Faigin still hasn't forgiven me. :-\)
-    Perl 2 introduced Henry Spencer's regular expression package.
-    Perl 3 introduced the ability to handle binary data (embedded nulls).
-    Perl 4 introduced the first Camel book.  Really.  We mostly just
-        switched version numbers so the book could refer to 4.000.
-    Perl 5 introduced everything else, including the ability to
-        introduce everything else.
+   Perl 0 introduced Perl to my officemates.
+   Perl 1 introduced Perl to the world, and changed /\(...\|...\)/ to
+       /(...|...)/.  \(Dan Faigin still hasn't forgiven me. :-\)
+   Perl 2 introduced Henry Spencer's regular expression package.
+   Perl 3 introduced the ability to handle binary data (embedded nulls).
+   Perl 4 introduced the first Camel book.  Really.  We mostly just
+       switched version numbers so the book could refer to 4.000.
+   Perl 5 introduced everything else, including the ability to
+       introduce everything else.
 
 =head1 THE KEEPERS OF THE PUMPKIN
 
@@ -30,12 +30,16 @@
 Michael Schwern, Rafael Garcia-Suarez, Nicholas Clark, Richard Clamp,
 Leon Brocard, Dave Mitchell, Jesse Vincent, Ricardo Signes, Steve Hay,
 Matt S Trout, David Golden, Florian Ragwitz, Tatsuhiko Miyagawa,
-Chris C<BinGOs> Williams, Zefram and Ævar Arnfjörð Bjarmason.
+Chris C<BinGOs> Williams, Zefram, Ævar Arnfjörð Bjarmason, Stevan
+Little, Dave Rolsky, Max Maischein, Abigail, Jesse Luehrs, Tony Cook,
+Dominic Hargreaves, Aaron Crane and Aristotle Pagaltzis.
 
 =head2 PUMPKIN?
 
 [from Porting/pumpkin.pod in the Perl source code distribution]
 
+=for disclaimer orking cows is hazardous, and not legal in all jurisdictions
+
 Chip Salzenberg gets credit for that, with a nod to his cow orker,
 David Croy.  We had passed around various names (baton, token, hot
 potato) but none caught on.  Then, Chip asked:
@@ -44,7 +48,7 @@
 
    Who has the patch pumpkin?
 
-To explain:  David Croy once told me once that at a previous job,
+To explain:  David Croy once told me that at a previous job,
 there was one tape drive and multiple systems that used it for backups.
 But instead of some high-tech exclusion software, they used a low-tech
 method to prevent multiple simultaneous backups: a stuffed pumpkin.
@@ -431,7 +435,7 @@
 
  Jesse    5.12.1-RC2    2010-May-13     The 5.12 maintenance track
           5.12.1-RC1    2010-May-09
-          5.12.1        2010-May-16     
+          5.12.1        2010-May-16
           5.12.2-RC2    2010-Aug-31
           5.12.2        2010-Sep-06
  Ricardo  5.12.3-RC1    2011-Jan-09
@@ -438,6 +442,9 @@
  Ricardo  5.12.3-RC2    2011-Jan-14
  Ricardo  5.12.3-RC3    2011-Jan-17
  Ricardo  5.12.3        2011-Jan-21
+ Leon     5.12.4-RC1    2011-Jun-08
+ Leon     5.12.4        2011-Jun-20
+ Dominic  5.12.5        2012-Nov-10
 
  Leon     5.13.0        2010-Apr-20     The 5.13 development track
  Ricardo  5.13.1        2010-May-20
@@ -459,8 +466,57 @@
  Jesse    5.14.1        2011-Jun-16
  Florian  5.14.2-RC1    2011-Sep-19
           5.14.2        2011-Sep-26
+ Dominic  5.14.3        2012-Oct-12
+ David M  5.14.4-RC1    2013-Mar-05
+ David M  5.14.4-RC2    2013-Mar-07
+ David M  5.14.4        2013-Mar-10
 
+ David G  5.15.0        2011-Jun-20     The 5.15 development track
+ Zefram   5.15.1        2011-Jul-20
+ Ricardo  5.15.2        2011-Aug-20
+ Stevan   5.15.3        2011-Sep-20
+ Florian  5.15.4        2011-Oct-20
+ Steve    5.15.5        2011-Nov-20
+ Dave R   5.15.6        2011-Dec-20
+ BinGOs   5.15.7        2012-Jan-20
+ Max M    5.15.8        2012-Feb-20
+ Abigail  5.15.9        2012-Mar-20
+ Ricardo  5.16.0-RC0    2012-May-10
+ Ricardo  5.16.0-RC1    2012-May-14
+ Ricardo  5.16.0-RC2    2012-May-15
 
+ Ricardo  5.16.0        2012-May-20     The 5.16 maintenance track
+ Ricardo  5.16.1        2012-Aug-08
+ Ricardo  5.16.2        2012-Nov-01
+ Ricardo  5.16.3-RC1    2013-Mar-06
+ Ricardo  5.16.3        2013-Mar-11
+
+ Zefram   5.17.0        2012-May-26     The 5.17 development track
+ Jesse L  5.17.1        2012-Jun-20
+ TonyC    5.17.2        2012-Jul-20
+ Steve    5.17.3        2012-Aug-20
+ Florian  5.17.4        2012-Sep-20
+ Florian  5.17.5        2012-Oct-20
+ Ricardo  5.17.6        2012-Nov-20
+ Dave R   5.17.7        2012-Dec-18
+ Aaron    5.17.8        2013-Jan-20
+ BinGOs   5.17.9        2013-Feb-20
+ Max M    5.17.10       2013-Mar-21
+
+ Ricardo  5.18.0-RC1    2013-May-11     The 5.18 maintenance track
+ Ricardo  5.18.0-RC2    2013-May-12
+ Ricardo  5.18.0-RC3    2013-May-13
+ Ricardo  5.18.0-RC4    2013-May-15
+ Ricardo  5.18.0        2013-May-18
+ Ricardo  5.18.1-RC1    2013-Aug-01
+ Ricardo  5.18.1-RC2    2013-Aug-03
+ Ricardo  5.18.1-RC3    2013-Aug-08
+ Ricardo  5.18.1        2013-Aug-12
+
+ Ricardo   5.19.0       2013-May-20     The 5.19 development track
+ David G   5.19.1       2013-Jun-21
+ Aristotle 5.19.2       2013-Jul-22
+
 =head2 SELECTED RELEASE SIZES
 
 For example the notation "core: 212  29" in the release 1.000 means that
@@ -537,6 +593,9 @@
  5.12.1         5000 100   1146 121  15283 2178   6407 1846   5354 169
  5.12.2         5003 100   1146 121  15404 2178   6413 1846   5376 170
  5.12.3         5004 100   1146 121  15529 2180   6417 1848   5391 171
+ 5.14.0         5328 104   1100 114  17779 2479   7697 2130   5871 188
+ 5.16.0         5562 109   1077  80  20504 2702   8750 2375   4815 152
+ 5.18.0         5892 113   1088  79  20077 2760   9365 2439   4943 154
 
 The "core"..."doc" mean the following files from the Perl source code
 distribution.  The glob notation ** means recursively, (.) means
@@ -647,7 +706,7 @@
  apollo          -    -     -    -     -    -     -    -      0   1
  beos            1    1     1    1     1    1     1    1      1   1
  Configure     256    1   256    1   264    1   264    1    270   1
- cygwin32       24    5    24    5    24    5    24    5     24   5  
+ cygwin32       24    5    24    5    24    5    24    5     24   5
  djgpp          14    5    14    5    14    5    14    5     15   5
  eg             86   65    86   65    86   65    86   65     86  65
  emacs         262    2   262    2   262    2   262    2    274   2
@@ -812,32 +871,32 @@
 
  ======================================================================
 
-                  5.12.2     5.12.3
+                 5.12.2     5.12.3      5.14.0     5.16.0       5.18.0
 
- apollo          0    3     0    3
- beos            4    4     4    4
- Configure     536    1   536    1
- Cross         118   15   118   15
- djgpp          17    7    17    7
- emacs         402    4   402    4
- epoc           31    8    31    8
- h2pl           12   15    12   15
- hints         368   97   368   97
- mad           174    8   174    8
- mpeix          45    6    45    6
- NetWare       466   61   466   61
- os2           507   70   507   70
- plan9         316   17   316   17
- Porting       750   54   750   54
- qnx             1    4     1    4
- symbian       288   54   288   54
- utils         269   27   269   27
- uts             8    3     8    3
- vmesa          21    4    21    4
- vms           646   18   644   18
- vos            16    8    16    8
- win32        1841   73  1841   73
- x2p           345   19   345   19
+ apollo          0    3     0    3      -    -     -    -      -     -
+ beos            4    4     4    4      5    4     5    4      -     -
+ Configure     536    1   536    1    539    1   547    1    550     1
+ Cross         118   15   118   15    118   15   118   15    118    15
+ djgpp          17    7    17    7     18    7    18    7     18     7
+ emacs         402    4   402    4      -    -     -    -      -     -
+ epoc           31    8    31    8     32    8    30    8      -     -
+ h2pl           12   15    12   15     15   15    15   15     13    15
+ hints         368   97   368   97    370   96   371   96    354    91
+ mad           174    8   174    8    176    8   176    8    174     8
+ mpeix          45    6    45    6     46    6    46    6      -     -
+ NetWare       466   61   466   61    473   61   472   61    469    61
+ os2           507   70   507   70    518   70   519   70    510    70
+ plan9         316   17   316   17    319   17   319   17    318    17
+ Porting       750   54   750   54    855   60  1093   69   1149    70
+ qnx             1    4     1    4      2    4     2    4      1     4
+ symbian       288   54   288   54    292   54   292   54    290    54
+ utils         269   27   269   27    249   29   245   30    246    31
+ uts             8    3     8    3      9    3     9    3      -     -
+ vmesa          21    4    21    4     22    4    22    4      -     -
+ vms           646   18   644   18    639   17   571   15    564    15
+ vos            16    8    16    8     17    8     9    7      8     7
+ win32        1841   73  1841   73   1833   72  1655   67   1157    62
+ x2p           345   19   345   19    346   19   345   19    344    20
 
 =head2 SELECTED PATCH SIZES
 
@@ -910,7 +969,7 @@
 In more modern times, named releases don't come as often, and as progress
 can be followed (nearly) instantly (with rsync, and since late 2008, git)
 patches between versions are no longer provided. However, that doesn't
-keep us from calculating how large a patch could have been. Which is 
+keep us from calculating how large a patch could have been. Which is
 shown in the table below. Unless noted otherwise, the size mentioned is
 the patch to bring version x.y.z to x.y.z+1.
 
@@ -944,7 +1003,7 @@
 Jarkko Hietaniemi <F<jhi at iki.fi>>.
 
 Thanks to the collective memory of the Perlfolk.  In addition to the
-Keepers of the Pumpkin also Alan Champion, Mark Dominus, 
+Keepers of the Pumpkin also Alan Champion, Mark Dominus,
 Andreas KE<0xf6>nig, John Macdonald, Matthias Neeracher, Jeff Okamoto,
 Michael Peppler, Randal Schwartz, and Paul D. Smith sent corrections
 and additions. Abigail added file and patch size data for the 5.6.0 - 5.10


Property changes on: vendor/perl/dist/pod/perlhist.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/pod/perlintern.pod
===================================================================
--- vendor/perl/dist/pod/perlintern.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlintern.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlintern.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlinterp.pod
===================================================================
--- vendor/perl/dist/pod/perlinterp.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlinterp.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -363,7 +363,7 @@
 F<sv.c>
 
      1  void
-     2  Perl_sv_catpvn(pTHX_ register SV *sv, register const char *ptr, register STRLEN len)
+     2  Perl_sv_catpvn(pTHX_ SV *sv, const char *ptr, STRLEN len)
      3  {
      4      STRLEN tlen;
      5      char *junk;
@@ -696,7 +696,7 @@
         ...
     }
 
-See L<perlguts/"Localizing Changes"> for how to use the save stack.
+See L<perlguts/"Localizing changes"> for how to use the save stack.
 
 =head1 MILLIONS OF MACROS
 


Property changes on: vendor/perl/dist/pod/perlinterp.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlintro.pod
===================================================================
--- vendor/perl/dist/pod/perlintro.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlintro.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,10 +35,10 @@
 to make the example easier to read.
 
 Do note that the examples have been written by many different authors over
-a period of several decades. Styles and techniques will therefore differ,
+a period of several decades.  Styles and techniques will therefore differ,
 although some effort has been made to not vary styles too widely in the
-same sections. Do not consider one style to be better than others - "There
-Is More Than One Way Of Doing It" is one Perl's mottos. After all, in your
+same sections.  Do not consider one style to be better than others - "There's
+More Than One Way To Do It" is one of Perl's mottos.  After all, in your
 journey as a programmer, you are likely to encounter different styles.
 
 =head2 What is Perl?
@@ -64,16 +64,16 @@
 
 To run a Perl program from the Unix command line:
 
-    perl progname.pl
+ perl progname.pl
 
 Alternatively, put this as the first line of your script:
 
-    #!/usr/bin/env perl
+ #!/usr/bin/env perl
 
-... and run the script as C</path/to/script.pl>.  Of course, it'll need
+... and run the script as F</path/to/script.pl>.  Of course, it'll need
 to be executable first, so C<chmod 755 script.pl> (under Unix).
 
-(This start line assumes you have the B<env> program. You can also put
+(This start line assumes you have the B<env> program.  You can also put
 directly the path to your perl executable, like in C<#!/usr/bin/perl>).
 
 For more information, including instructions for other platforms such as
@@ -81,15 +81,15 @@
 
 =head2 Safety net
 
-Perl by default is very forgiving. In order to make it more robust
+Perl by default is very forgiving.  In order to make it more robust
 it is recommended to start every program with the following lines:
 
-    #!/usr/bin/perl
-    use strict;
-    use warnings;
+ #!/usr/bin/perl
+ use strict;
+ use warnings;
 
 The two additional lines request from perl to catch various common
-problems in your code. They check different things so you need both. A
+problems in your code.  They check different things so you need both.  A
 potential problem caught by C<use strict;> will cause your code to stop
 immediately when it is encountered, while C<use warnings;> will merely
 give a warning (like the command-line switch B<-w>) and let your code run.
@@ -105,45 +105,45 @@
 
 Perl statements end in a semi-colon:
 
-    print "Hello, world";
+ print "Hello, world";
 
 Comments start with a hash symbol and run to the end of the line
 
-    # This is a comment
+ # This is a comment
 
 Whitespace is irrelevant:
 
-    print
-        "Hello, world"
-        ;
+ print
+     "Hello, world"
+     ;
 
 ... except inside quoted strings:
 
-    # this would print with a linebreak in the middle
-    print "Hello
-    world";
+ # this would print with a linebreak in the middle
+ print "Hello
+ world";
 
 Double quotes or single quotes may be used around literal strings:
 
-    print "Hello, world";
-    print 'Hello, world';
+ print "Hello, world";
+ print 'Hello, world';
 
 However, only double quotes "interpolate" variables and special
 characters such as newlines (C<\n>):
 
-    print "Hello, $name\n";     # works fine
-    print 'Hello, $name\n';     # prints $name\n literally
+ print "Hello, $name\n";     # works fine
+ print 'Hello, $name\n';     # prints $name\n literally
 
 Numbers don't need quotes around them:
 
-    print 42;
+ print 42;
 
 You can use parentheses for functions' arguments or omit them
 according to your personal taste.  They are only required
 occasionally to clarify issues of precedence.
 
-    print("Hello, world\n");
-    print "Hello, world\n";
+ print("Hello, world\n");
+ print "Hello, world\n";
 
 More detailed information about Perl syntax can be found in L<perlsyn>.
 
@@ -157,20 +157,20 @@
 
 A scalar represents a single value:
 
-    my $animal = "camel";
-    my $answer = 42;
+ my $animal = "camel";
+ my $answer = 42;
 
 Scalar values can be strings, integers or floating point numbers, and Perl
 will automatically convert between them as required.  There is no need
 to pre-declare your variable types, but you have to declare them using
-the C<my> keyword the first time you use them. (This is one of the
+the C<my> keyword the first time you use them.  (This is one of the
 requirements of C<use strict;>.)
 
 Scalar values can be used in various ways:
 
-    print $animal;
-    print "The animal is $animal\n";
-    print "The square of $answer is ", $answer * $answer, "\n";
+ print $animal;
+ print "The animal is $animal\n";
+ print "The square of $answer is ", $answer * $answer, "\n";
 
 There are a number of "magic" scalars with names that look like
 punctuation or line noise.  These special variables are used for all
@@ -179,25 +179,25 @@
 It's used as the default argument to a number of functions in Perl, and
 it's set implicitly by certain looping constructs.
 
-    print;          # prints contents of $_ by default
+ print;          # prints contents of $_ by default
 
 =item Arrays
 
 An array represents a list of values:
 
-    my @animals = ("camel", "llama", "owl");
-    my @numbers = (23, 42, 69);
-    my @mixed   = ("camel", 42, 1.23);
+ my @animals = ("camel", "llama", "owl");
+ my @numbers = (23, 42, 69);
+ my @mixed   = ("camel", 42, 1.23);
 
 Arrays are zero-indexed.  Here's how you get at elements in an array:
 
-    print $animals[0];              # prints "camel"
-    print $animals[1];              # prints "llama"
+ print $animals[0];              # prints "camel"
+ print $animals[1];              # prints "llama"
 
 The special variable C<$#array> tells you the index of the last element
 of an array:
 
-    print $mixed[$#mixed];       # last element, prints 1.23
+ print $mixed[$#mixed];       # last element, prints 1.23
 
 You might be tempted to use C<$#array + 1> to tell you how many items there
 are in an array.  Don't bother.  As it happens, using C<@array> where Perl
@@ -204,7 +204,7 @@
 expects to find a scalar value ("in scalar context") will give you the number
 of elements in the array:
 
-    if (@animals < 5) { ... }
+ if (@animals < 5) { ... }
 
 The elements we're getting from the array start with a C<$> because
 we're getting just a single value out of the array; you ask for a scalar,
@@ -212,16 +212,16 @@
 
 To get multiple values from an array:
 
-    @animals[0,1];                  # gives ("camel", "llama");
-    @animals[0..2];                 # gives ("camel", "llama", "owl");
-    @animals[1..$#animals];         # gives all except the first element
+ @animals[0,1];                 # gives ("camel", "llama");
+ @animals[0..2];                # gives ("camel", "llama", "owl");
+ @animals[1..$#animals];        # gives all except the first element
 
 This is called an "array slice".
 
 You can do various useful things to lists:
 
-    my @sorted    = sort @animals;
-    my @backwards = reverse @numbers;
+ my @sorted    = sort @animals;
+ my @backwards = reverse @numbers;
 
 There are a couple of special arrays too, such as C<@ARGV> (the command
 line arguments to your script) and C<@_> (the arguments passed to a
@@ -231,25 +231,25 @@
 
 A hash represents a set of key/value pairs:
 
-    my %fruit_color = ("apple", "red", "banana", "yellow");
+ my %fruit_color = ("apple", "red", "banana", "yellow");
 
 You can use whitespace and the C<< => >> operator to lay them out more
 nicely:
 
-    my %fruit_color = (
-        apple  => "red",
-        banana => "yellow",
-    );
+ my %fruit_color = (
+     apple  => "red",
+     banana => "yellow",
+ );
 
 To get at hash elements:
 
-    $fruit_color{"apple"};           # gives "red"
+ $fruit_color{"apple"};           # gives "red"
 
 You can get at lists of keys and values with C<keys()> and
 C<values()>.
 
-    my @fruits = keys %fruit_colors;
-    my @colors = values %fruit_colors;
+ my @fruits = keys %fruit_colors;
+ my @colors = values %fruit_colors;
 
 Hashes have no particular internal order, though you can sort the keys
 and loop through them.
@@ -267,27 +267,27 @@
 you to build lists and hashes within lists and hashes.
 
 A reference is a scalar value and can refer to any other Perl data
-type. So by storing a reference as the value of an array or hash
+type.  So by storing a reference as the value of an array or hash
 element, you can easily create lists and hashes within lists and
-hashes. The following example shows a 2 level hash of hash
+hashes.  The following example shows a 2 level hash of hash
 structure using anonymous hash references.
 
-    my $variables = {
-        scalar  =>  {
-                     description => "single item",
-                     sigil => '$',
-                    },
-        array   =>  {
-                     description => "ordered list of items",
-                     sigil => '@',
-                    },
-        hash    =>  {
-                     description => "key/value pairs",
-                     sigil => '%',
-                    },
-    };
+ my $variables = {
+     scalar  =>  {
+                  description => "single item",
+                  sigil => '$',
+                 },
+     array   =>  {
+                  description => "ordered list of items",
+                  sigil => '@',
+                 },
+     hash    =>  {
+                  description => "key/value pairs",
+                  sigil => '%',
+                 },
+ };
 
-    print "Scalars begin with a $variables->{'scalar'}->{'sigil'}\n";
+ print "Scalars begin with a $variables->{'scalar'}->{'sigil'}\n";
 
 Exhaustive information on the topic of references can be found in
 L<perlreftut>, L<perllol>, L<perlref> and L<perldsc>.
@@ -296,11 +296,11 @@
 
 Throughout the previous section all the examples have used the syntax:
 
-    my $var = "value";
+ my $var = "value";
 
 The C<my> is actually not required; you could just use:
 
-    $var = "value";
+ $var = "value";
 
 However, the above usage will create global variables throughout your
 program, which is bad programming practice.  C<my> creates lexically
@@ -308,15 +308,15 @@
 (i.e. a bunch of statements surrounded by curly-braces) in which they
 are defined.
 
-    my $x = "foo";
-    my $some_condition = 1;
-    if ($some_condition) {
-        my $y = "bar";
-        print $x;           # prints "foo"
-        print $y;           # prints "bar"
-    }
-    print $x;               # prints "foo"
-    print $y;               # prints nothing; $y has fallen out of scope
+ my $x = "foo";
+ my $some_condition = 1;
+ if ($some_condition) {
+     my $y = "bar";
+     print $x;           # prints "foo"
+     print $y;           # prints "bar"
+ }
+ print $x;               # prints "foo"
+ print $y;               # prints nothing; $y has fallen out of scope
 
 Using C<my> in combination with a C<use strict;> at the top of
 your Perl scripts means that the interpreter will pick up certain common
@@ -328,7 +328,7 @@
 
 Perl has most of the usual conditional and looping constructs.  As of Perl
 5.10, it even has a case/switch statement (spelled C<given>/C<when>).  See
-L<perlsyn/"Switch statements"> for more details.
+L<perlsyn/"Switch Statements"> for more details.
 
 The conditions can be any Perl expression.  See the list of operators in
 the next section for information on comparison and boolean logic operators,
@@ -338,19 +338,19 @@
 
 =item if
 
-    if ( condition ) {
-        ...
-    } elsif ( other condition ) {
-        ...
-    } else {
-        ...
-    }
+ if ( condition ) {
+     ...
+ } elsif ( other condition ) {
+     ...
+ } else {
+     ...
+ }
 
 There's also a negated version of it:
 
-    unless ( condition ) {
-        ...
-    }
+ unless ( condition ) {
+     ...
+ }
 
 This is provided as a more readable version of C<if (!I<condition>)>.
 
@@ -358,38 +358,38 @@
 line in the block.  However, there is a clever way of making your one-line
 conditional blocks more English like:
 
-    # the traditional way
-    if ($zippy) {
-        print "Yow!";
-    }
+ # the traditional way
+ if ($zippy) {
+     print "Yow!";
+ }
 
-    # the Perlish post-condition way
-    print "Yow!" if $zippy;
-    print "We have no bananas" unless $bananas;
+ # the Perlish post-condition way
+ print "Yow!" if $zippy;
+ print "We have no bananas" unless $bananas;
 
 =item while
 
-    while ( condition ) {
-        ...
-    }
+ while ( condition ) {
+     ...
+ }
 
 There's also a negated version, for the same reason we have C<unless>:
 
-    until ( condition ) {
-        ...
-    }
+ until ( condition ) {
+     ...
+ }
 
 You can also use C<while> in a post-condition:
 
-    print "LA LA LA\n" while 1;          # loops forever
+ print "LA LA LA\n" while 1;          # loops forever
 
 =item for
 
 Exactly like C:
 
-    for ($i = 0; $i <= $max; $i++) {
-        ...
-    }
+ for ($i = 0; $i <= $max; $i++) {
+     ...
+ }
 
 The C style for loop is rarely needed in Perl since Perl provides
 the more friendly list scanning C<foreach> loop.
@@ -396,17 +396,20 @@
 
 =item foreach
 
-    foreach (@array) {
-        print "This element is $_\n";
-    }
+ foreach (@array) {
+     print "This element is $_\n";
+ }
 
-    print $list[$_] foreach 0 .. $max;
+ print $list[$_] foreach 0 .. $max;
 
-    # you don't have to use the default $_ either...
-    foreach my $key (keys %hash) {
-        print "The value of $key is $hash{$key}\n";
-    }
+ # you don't have to use the default $_ either...
+ foreach my $key (keys %hash) {
+     print "The value of $key is $hash{$key}\n";
+ }
 
+The C<foreach> keyword is actually a synonym for the C<for>
+keyword.  See C<L<perlsyn/"Foreach Loops">>.
+
 =back
 
 For more detail on looping constructs (and some that weren't mentioned in
@@ -426,28 +429,28 @@
 
 =item Arithmetic
 
-    +   addition
-    -   subtraction
-    *   multiplication
-    /   division
+ +   addition
+ -   subtraction
+ *   multiplication
+ /   division
 
 =item Numeric comparison
 
-    ==  equality
-    !=  inequality
-    <   less than
-    >   greater than
-    <=  less than or equal
-    >=  greater than or equal
+ ==  equality
+ !=  inequality
+ <   less than
+ >   greater than
+ <=  less than or equal
+ >=  greater than or equal
 
 =item String comparison
 
-    eq  equality
-    ne  inequality
-    lt  less than
-    gt  greater than
-    le  less than or equal
-    ge  greater than or equal
+ eq  equality
+ ne  inequality
+ lt  less than
+ gt  greater than
+ le  less than or equal
+ ge  greater than or equal
 
 (Why do we have separate numeric and string comparisons?  Because we don't
 have special variable types, and Perl needs to know whether to sort
@@ -456,12 +459,12 @@
 
 =item Boolean logic
 
-    &&  and
-    ||  or
-    !   not
+ &&  and
+ ||  or
+ !   not
 
 (C<and>, C<or> and C<not> aren't just in the above table as descriptions
-of the operators. They're also supported as operators in their own
+of the operators.  They're also supported as operators in their own
 right.  They're more readable than the C-style operators, but have
 different precedence to C<&&> and friends.  Check L<perlop> for more
 detail.)
@@ -468,18 +471,18 @@
 
 =item Miscellaneous
 
-    =   assignment
-    .   string concatenation
-    x   string multiplication
-    ..  range operator (creates a list of numbers)
+ =   assignment
+ .   string concatenation
+ x   string multiplication
+ ..  range operator (creates a list of numbers)
 
 =back
 
 Many operators can be combined with a C<=> as follows:
 
-    $a += 1;        # same as $a = $a + 1
-    $a -= 1;        # same as $a = $a - 1
-    $a .= "\n";     # same as $a = $a . "\n";
+ $a += 1;        # same as $a = $a + 1
+ $a -= 1;        # same as $a = $a - 1
+ $a .= "\n";     # same as $a = $a . "\n";
 
 =head2 Files and I/O
 
@@ -487,9 +490,9 @@
 It's documented in extravagant detail in L<perlfunc> and L<perlopentut>,
 but in short:
 
-    open(my $in,  "<",  "input.txt")  or die "Can't open input.txt: $!";
-    open(my $out, ">",  "output.txt") or die "Can't open output.txt: $!";
-    open(my $log, ">>", "my.log")     or die "Can't open my.log: $!";
+ open(my $in,  "<",  "input.txt")  or die "Can't open input.txt: $!";
+ open(my $out, ">",  "output.txt") or die "Can't open output.txt: $!";
+ open(my $log, ">>", "my.log")     or die "Can't open my.log: $!";
 
 You can read from an open filehandle using the C<< <> >> operator.  In
 scalar context it reads a single line from the filehandle, and in list
@@ -496,31 +499,31 @@
 context it reads the whole file in, assigning each line to an element of
 the list:
 
-    my $line  = <$in>;
-    my @lines = <$in>;
+ my $line  = <$in>;
+ my @lines = <$in>;
 
-Reading in the whole file at one time is called slurping. It can
-be useful but it may be a memory hog. Most text file processing
+Reading in the whole file at one time is called slurping.  It can
+be useful but it may be a memory hog.  Most text file processing
 can be done a line at a time with Perl's looping constructs.
 
 The C<< <> >> operator is most often seen in a C<while> loop:
 
-    while (<$in>) {     # assigns each line in turn to $_
-        print "Just read in this line: $_";
-    }
+ while (<$in>) {     # assigns each line in turn to $_
+     print "Just read in this line: $_";
+ }
 
 We've already seen how to print to standard output using C<print()>.
 However, C<print()> can also take an optional first argument specifying
 which filehandle to print to:
 
-    print STDERR "This is your final warning.\n";
-    print $out $record;
-    print $log $logmessage;
+ print STDERR "This is your final warning.\n";
+ print $out $record;
+ print $log $logmessage;
 
 When you're done with your filehandles, you should C<close()> them
 (though to be honest, Perl will clean up after you if you forget):
 
-    close $in or die "$in: $!";
+ close $in or die "$in: $!";
 
 =head2 Regular expressions
 
@@ -532,8 +535,8 @@
 
 =item Simple matching
 
-    if (/foo/)       { ... }  # true if $_ contains "foo"
-    if ($a =~ /foo/) { ... }  # true if $a contains "foo"
+ if (/foo/)       { ... }  # true if $_ contains "foo"
+ if ($a =~ /foo/) { ... }  # true if $a contains "foo"
 
 The C<//> matching operator is documented in L<perlop>.  It operates on
 C<$_> by default, or can be bound to another variable using the C<=~>
@@ -541,9 +544,10 @@
 
 =item Simple substitution
 
-    s/foo/bar/;               # replaces foo with bar in $_
-    $a =~ s/foo/bar/;         # replaces foo with bar in $a
-    $a =~ s/foo/bar/g;        # replaces ALL INSTANCES of foo with bar in $a
+ s/foo/bar/;               # replaces foo with bar in $_
+ $a =~ s/foo/bar/;         # replaces foo with bar in $a
+ $a =~ s/foo/bar/g;        # replaces ALL INSTANCES of foo with bar
+                           # in $a
 
 The C<s///> substitution operator is documented in L<perlop>.
 
@@ -554,19 +558,21 @@
 expressions.  These are documented at great length in L<perlre>, but for
 the meantime, here's a quick cheat sheet:
 
-    .                   a single character
-    \s                  a whitespace character (space, tab, newline, ...)
-    \S                  non-whitespace character
-    \d                  a digit (0-9)
-    \D                  a non-digit
-    \w                  a word character (a-z, A-Z, 0-9, _)
-    \W                  a non-word character
-    [aeiou]             matches a single character in the given set
-    [^aeiou]            matches a single character outside the given set
-    (foo|bar|baz)       matches any of the alternatives specified
+ .                   a single character
+ \s                  a whitespace character (space, tab, newline,
+                     ...)
+ \S                  non-whitespace character
+ \d                  a digit (0-9)
+ \D                  a non-digit
+ \w                  a word character (a-z, A-Z, 0-9, _)
+ \W                  a non-word character
+ [aeiou]             matches a single character in the given set
+ [^aeiou]            matches a single character outside the given
+                     set
+ (foo|bar|baz)       matches any of the alternatives specified
 
-    ^                   start of string
-    $                   end of string
+ ^                   start of string
+ $                   end of string
 
 Quantifiers can be used to specify how many of the previous thing you
 want to match on, where "thing" means either a literal character, one
@@ -573,27 +579,28 @@
 of the metacharacters listed above, or a group of characters or
 metacharacters in parentheses.
 
-    *                   zero or more of the previous thing
-    +                   one or more of the previous thing
-    ?                   zero or one of the previous thing
-    {3}                 matches exactly 3 of the previous thing
-    {3,6}               matches between 3 and 6 of the previous thing
-    {3,}                matches 3 or more of the previous thing
+ *                   zero or more of the previous thing
+ +                   one or more of the previous thing
+ ?                   zero or one of the previous thing
+ {3}                 matches exactly 3 of the previous thing
+ {3,6}               matches between 3 and 6 of the previous thing
+ {3,}                matches 3 or more of the previous thing
 
 Some brief examples:
 
-    /^\d+/              string starts with one or more digits
-    /^$/                nothing in the string (start and end are adjacent)
-    /(\d\s){3}/         a three digits, each followed by a whitespace
-                        character (eg "3 4 5 ")
-    /(a.)+/             matches a string in which every odd-numbered letter
-                        is a (eg "abacadaf")
+ /^\d+/              string starts with one or more digits
+ /^$/                nothing in the string (start and end are
+                     adjacent)
+ /(\d\s){3}/         three digits, each followed by a whitespace
+                     character (eg "3 4 5 ")
+ /(a.)+/             matches a string in which every odd-numbered
+                     letter is a (eg "abacadaf")
 
-    # This loop reads from STDIN, and prints non-blank lines:
-    while (<>) {
-        next if /^$/;
-        print;
-    }
+ # This loop reads from STDIN, and prints non-blank lines:
+ while (<>) {
+     next if /^$/;
+     print;
+ }
 
 =item Parentheses for capturing
 
@@ -601,12 +608,12 @@
 used to capture the results of parts of the regexp match for later use.
 The results end up in C<$1>, C<$2> and so on.
 
-    # a cheap and nasty way to break an email address up into parts
+ # a cheap and nasty way to break an email address up into parts
 
-    if ($email =~ /([^@]+)@(.+)/) {
-        print "Username is $1\n";
-        print "Hostname is $2\n";
-    }
+ if ($email =~ /([^@]+)@(.+)/) {
+     print "Username is $1\n";
+     print "Hostname is $2\n";
+ }
 
 =item Other regexp features
 
@@ -620,15 +627,15 @@
 
 Writing subroutines is easy:
 
-    sub logger {
-        my $logmessage = shift;
-        open my $logfile, ">>", "my.log" or die "Could not open my.log: $!";
-        print $logfile $logmessage;
-    }
+ sub logger {
+    my $logmessage = shift;
+    open my $logfile, ">>", "my.log" or die "Could not open my.log: $!";
+    print $logfile $logmessage;
+ }
 
 Now we can use the subroutine just as any other built-in function:
 
-    logger("We have a logger subroutine!");
+ logger("We have a logger subroutine!");
 
 What's that C<shift>?  Well, the arguments to a subroutine are available
 to us as a special array called C<@_> (see L<perlvar> for more on that).
@@ -638,20 +645,20 @@
 
 We can manipulate C<@_> in other ways too:
 
-    my ($logmessage, $priority) = @_;       # common
-    my $logmessage = $_[0];                 # uncommon, and ugly
+ my ($logmessage, $priority) = @_;       # common
+ my $logmessage = $_[0];                 # uncommon, and ugly
 
 Subroutines can also return values:
 
-    sub square {
-        my $num = shift;
-        my $result = $num * $num;
-        return $result;
-    }
+ sub square {
+     my $num = shift;
+     my $result = $num * $num;
+     return $result;
+ }
 
 Then use it like:
 
-    $sq = square(8);
+ $sq = square(8);
 
 For more information on writing subroutines, see L<perlsub>.
 
@@ -660,7 +667,7 @@
 OO Perl is relatively simple and is implemented using references which
 know what sort of object they are based on Perl's concept of packages.
 However, OO Perl is largely beyond the scope of this document.
-Read L<perlboot>, L<perltoot>, L<perltooc> and L<perlobj>.
+Read L<perlootut> and L<perlobj>.
 
 As a beginning Perl programmer, your most common use of OO Perl will be
 in using third-party modules, which are documented below.


Property changes on: vendor/perl/dist/pod/perlintro.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perliol.pod
===================================================================
--- vendor/perl/dist/pod/perliol.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perliol.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -685,7 +685,7 @@
 
 Return error indicator. C<PerlIOBase_error()> is normally sufficient.
 
-Returns 1 if there is an error (usually when C<PERLIO_F_ERROR> is set,
+Returns 1 if there is an error (usually when C<PERLIO_F_ERROR> is set),
 0 otherwise.
 
 =item  Clearerr
@@ -923,7 +923,7 @@
 
 =head2 Extension Layers
 
-Layers can made available by extension modules. When an unknown layer
+Layers can be made available by extension modules. When an unknown layer
 is encountered the PerlIO code will perform the equivalent of :
 
    use PerlIO 'layer';


Property changes on: vendor/perl/dist/pod/perliol.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlipc.pod
===================================================================
--- vendor/perl/dist/pod/perlipc.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlipc.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,7 +31,7 @@
     $SIG{INT} = __PACKAGE__ . "::catch_zap";  
     $SIG{INT} = \&catch_zap;  # best strategy
 
-Prior to Perl 5.7.3 it was necessary to do as little as you possibly
+Prior to Perl 5.8.0 it was necessary to do as little as you possibly
 could in your handler; notice how all we do is set a global variable
 and then raise an exception.  That's because on most systems,
 libraries are not re-entrant; particularly, memory allocation and I/O
@@ -40,25 +40,8 @@
 dump - see L</Deferred Signals (Safe Signals)> below.
 
 The names of the signals are the ones listed out by C<kill -l> on your
-system, or you can retrieve them from the Config module.  Set up an
- at signame list indexed by number to get the name and a %signo hash table
-indexed by name to get the number:
+system, or you can retrieve them using the CPAN module L<IPC::Signal>.
 
-    use Config;
-    defined($Config{sig_name})  || die "No sigs?";
-    foreach $name (split(" ", $Config{sig_name})) {
-        $signo{$name} = $i;
-        $signame[$i]  = $name;
-        $i++;
-    }
-
-So to check whether signal 17 and SIGALRM were the same, do just this:
-
-    print "signal #17 = $signame[17]\n";
-    if ($signo{ALRM}) {
-        print "SIGALRM is $signo{ALRM}\n";
-    }
-
 You may also choose to assign the strings C<"IGNORE"> or C<"DEFAULT"> as
 the handler, in which case Perl will try to discard the signal or do the
 default thing.
@@ -72,20 +55,10 @@
 C<-1> on such platforms.
 
 Some signals can be neither trapped nor ignored, such as the KILL and STOP
-(but not the TSTP) signals.  One strategy for temporarily ignoring signals
-is to use a local() on that hash element, automatically restoring a
-previous value once your block is exited.  Remember that values created by
-the dynamically-scoped local() are "inherited" by functions called from
-within their caller's scope.
+(but not the TSTP) signals. Note that ignoring signals makes them disappear.
+If you only want them blocked temporarily without them getting lost you'll
+have to use POSIX' sigprocmask.
 
-    sub precious {
-        local $SIG{INT} = "IGNORE";
-        more_functions();
-    }
-    sub more_functions {
-        # interrupts still ignored, for now...
-    }
-
 Sending a signal to a negative process ID means that you send the signal
 to the entire Unix process group.  This code sends a hang-up signal to all
 processes in the current process group, and also sets $SIG{HUP} to C<"IGNORE"> 
@@ -100,16 +73,17 @@
 
 Another interesting signal to send is signal number zero.  This doesn't
 actually affect a child process, but instead checks whether it's alive
-or has changed its UID.
+or has changed its UIDs.
 
     unless (kill 0 => $kid_pid) {
         warn "something wicked happened to $kid_pid";
     }
 
-When directed at a process whose UID is not identical to that
-of the sending process, signal number zero may fail because
-you lack permission to send the signal, even though the process is alive.
-You may be able to determine the cause of failure using C<%!>.
+Signal number zero may fail because you lack permission to send the
+signal when directed at a process whose real or saved UID is not
+identical to the real or effective UID of the sending process, even
+though the process is alive.  You may be able to determine the cause of
+failure using C<$!> or C<%!>.
 
     unless (kill(0 => $pid) || $!{EPERM}) {
         warn "$pid looks dead";
@@ -120,45 +94,25 @@
 
     $SIG{INT} = sub { die "\nOutta here!\n" };
 
-But that will be problematic for the more complicated handlers that need
-to reinstall themselves.  Because Perl's signal mechanism is currently
-based on the signal(3) function from the C library, you may sometimes be so
-unfortunate as to run on systems where that function is "broken"; that
-is, it behaves in the old unreliable SysV way rather than the newer, more
-reasonable BSD and POSIX fashion.  So you'll see defensive people writing
-signal handlers like this:
+SIGCHLD handlers require some special care.  If a second child dies
+while in the signal handler caused by the first death, we won't get
+another signal. So must loop here else we will leave the unreaped child
+as a zombie. And the next time two children die we get another zombie.
+And so on.
 
-    sub REAPER {
-        $waitedpid = wait;
-        # loathe SysV: it makes us not only reinstate
-        # the handler, but place it after the wait
-        $SIG{CHLD} = \&REAPER;
-    }
-    $SIG{CHLD} = \&REAPER;
-    # now do something that forks...
-
-or better still:
-
     use POSIX ":sys_wait_h";
-    sub REAPER {
-        my $child;
-        # If a second child dies while in the signal handler caused by the
-        # first death, we won't get another signal. So must loop here else
-        # we will leave the unreaped child as a zombie. And the next time
-        # two children die we get another zombie. And so on.
-        while (($child = waitpid(-1, WNOHANG)) > 0) {
+    $SIG{CHLD} = sub {
+        while ((my $child = waitpid(-1, WNOHANG)) > 0) {
             $Kid_Status{$child} = $?;
         }
-        $SIG{CHLD} = \&REAPER;  # still loathe SysV
-    }
-    $SIG{CHLD} = \&REAPER;
+    };
     # do something that forks...
 
 Be careful: qx(), system(), and some modules for calling external commands
 do a fork(), then wait() for the result. Thus, your signal handler
-(C<&REAPER> in the example) will be called. Because wait() was already
-called by system() or qx(), the wait() in the signal handler will see no
-more zombies and will therefore block.
+will be called. Because wait() was already called by system() or qx(),
+the wait() in the signal handler will see no more zombies and will
+therefore block.
 
 The best way to prevent this issue is to use waitpid(), as in the following
 example:
@@ -196,8 +150,7 @@
 alarm signals and then schedule to have one delivered to you in some
 number of seconds.  Then try your blocking operation, clearing the alarm
 when it's done but not before you've exited your C<eval{}> block.  If it
-goes off, you'll use die() to jump out of the block, much as you might
-using longjmp() or throw() in other languages.
+goes off, you'll use die() to jump out of the block.
 
 Here's an example:
 
@@ -231,12 +184,6 @@
 signal handler. When you want to tell the daemon to reread the file,
 simply send it the C<SIGHUP> signal.
 
-Not all platforms automatically reinstall their (native) signal
-handlers after a signal delivery.  This means that the handler works
-the first time the signal is sent, only. The solution to this problem
-is to use C<POSIX> signal handlers if available; their behavior
-is well-defined.
-
 The following example implements a simple daemon, which restarts
 itself every time the C<SIGHUP> signal is received. The actual code is
 located in the subroutine C<code()>, which just prints some debugging
@@ -257,16 +204,10 @@
   my $SELF  = catfile($FindBin::Bin, $script);
 
   # POSIX unmasks the sigprocmask properly
-  my $sigset = POSIX::SigSet->new();
-  my $action = POSIX::SigAction->new("sigHUP_handler",
-                                     $sigset,
-                                     &POSIX::SA_NODEFER);
-  POSIX::sigaction(&POSIX::SIGHUP, $action);
-
-  sub sigHUP_handler {
+  $SIG{HUP} = sub {
       print "got SIGHUP\n";
       exec($SELF, @ARGV)        || die "$0: couldn't restart: $!";
-  }
+  };
 
   code();
 
@@ -283,7 +224,7 @@
 
 =head2 Deferred Signals (Safe Signals)
 
-Before Perl 5.7.3, installing Perl code to deal with signals exposed you to
+Before Perl 5.8.0, installing Perl code to deal with signals exposed you to
 danger from two things.  First, few system library functions are
 re-entrant.  If the signal interrupts while Perl is executing one function
 (like malloc(3) or printf(3)), and your signal handler then calls the same
@@ -303,7 +244,7 @@
 convenience", and to do anything you wanted in your signal handler,
 and be prepared to clean up core dumps now and again.
 
-Perl 5.7.3 and later avoid these problems by "deferring" signals.  That is,
+Perl 5.8.0 and later avoid these problems by "deferring" signals.  That is,
 when the signal is delivered to the process by the system (to the C code
 that implements Perl) a flag is set, and the handler returns immediately.
 Then at strategic "safe" points in the Perl interpreter (e.g. when it is
@@ -310,7 +251,8 @@
 about to execute a new opcode) the flags are checked and the Perl level
 handler from %SIG is executed. The "deferred" scheme allows much more
 flexibility in the coding of signal handlers as we know the Perl
-interpreter is in a safe state, and that we are not in a system library function when the handler is called.  However the implementation does
+interpreter is in a safe state, and that we are not in a system library
+function when the handler is called.  However the implementation does
 differ from previous Perls in the following ways:
 
 =over 4
@@ -351,7 +293,7 @@
 checks the signal flags and calls %SIG handlers before resuming IO
 operation.)
 
-The default in Perl 5.7.3 and later is to automatically use
+The default in Perl 5.8.0 and later is to automatically use
 the C<:perlio> layer.
 
 Note that it is not advisable to access a file handle within a signal
@@ -372,10 +314,9 @@
 
 try something like the following:
 
-    use POSIX qw(SIGALRM);
-    POSIX::sigaction(SIGALRM,
-                     POSIX::SigAction->new(sub { die "alarm" }))
-            || die "Error setting SIGALRM handler: $!\n";
+  use POSIX qw(SIGALRM);
+  POSIX::sigaction(SIGALRM, POSIX::SigAction->new(sub { die "alarm" }))
+          || die "Error setting SIGALRM handler: $!\n";
 
 Another way to disable the safe signal behavior locally is to use
 the C<Perl::Unsafe::Signals> module from CPAN, which affects
@@ -387,7 +328,7 @@
 SA_RESTART flag when installing %SIG handlers.  This meant that
 restartable system calls would continue rather than returning when
 a signal arrived.  In order to deliver deferred signals promptly,
-Perl 5.7.3 and later do I<not> use SA_RESTART.  Consequently, 
+Perl 5.8.0 and later do I<not> use SA_RESTART.  Consequently, 
 restartable system calls can fail (with $! set to C<EINTR>) in places
 where they previously would have succeeded.
 
@@ -399,7 +340,7 @@
 
 Certain signals like SEGV, ILL, and BUS are generated by virtual memory
 addressing errors and similar "faults". These are normally fatal: there is
-little a Perl-level handler can do with them.  So Perl now delivers them
+little a Perl-level handler can do with them.  So Perl delivers them
 immediately rather than attempting to defer them.
 
 =item Signals triggered by operating system state
@@ -580,7 +521,7 @@
         open(STDOUT, "> /dev/null")     || die "can't write to /dev/null: $!";
         defined(my $pid = fork())       || die "can't fork: $!";
         exit if $pid;                   # non-zero now means I am the parent
-        (setsid() != -1)                || die "Can't start a new session: $!" 
+        (setsid() != -1)                || die "Can't start a new session: $!";
         open(STDERR, ">&STDOUT")        || die "can't dup stdout: $!";
     }
 
@@ -885,7 +826,7 @@
         close PARENT_WTR;
         print CHILD_WTR "Parent Pid $$ is sending this\n";
         chomp($line = <CHILD_RDR>);
-        print "Parent Pid $$ just read this: `$line'\n";
+        print "Parent Pid $$ just read this: '$line'\n";
         close CHILD_RDR; close CHILD_WTR;
         waitpid($pid, 0);
     } else {
@@ -893,7 +834,7 @@
         close CHILD_RDR; 
         close CHILD_WTR;
         chomp($line = <PARENT_RDR>);
-        print "Child Pid $$ just read this: `$line'\n";
+        print "Child Pid $$ just read this: '$line'\n";
         print PARENT_WTR "Child Pid $$ is sending this\n";
         close PARENT_RDR; 
         close PARENT_WTR;
@@ -923,7 +864,7 @@
         close PARENT;
         print CHILD "Parent Pid $$ is sending this\n";
         chomp($line = <CHILD>);
-        print "Parent Pid $$ just read this: `$line'\n";
+        print "Parent Pid $$ just read this: '$line'\n";
         close CHILD;
         waitpid($pid, 0);
     } else {
@@ -1155,7 +1096,7 @@
 Within the while loop we call accept() and check to see if it returns
 a false value.  This would normally indicate a system error needs
 to be reported.  However, the introduction of safe signals (see
-L</Deferred Signals (Safe Signals)> above) in Perl 5.7.3 means that
+L</Deferred Signals (Safe Signals)> above) in Perl 5.8.0 means that
 accept() might also be interrupted when the process receives a signal.
 This typically happens when one of the forked subprocesses exits and
 notifies the parent process with a CHLD signal.  
@@ -1336,10 +1277,8 @@
 =head1 TCP Clients with IO::Socket
 
 For those preferring a higher-level interface to socket programming, the
-IO::Socket module provides an object-oriented approach.  IO::Socket has
-been included in the standard Perl distribution ever since Perl 5.004.  If
-you're running an earlier version of Perl (in which case, how are you
-reading this manpage?), just fetch IO::Socket from CPAN, where you'll also
+IO::Socket module provides an object-oriented approach.  If for some reason
+you lack this module, you can just fetch IO::Socket from CPAN, where you'll also
 find modules providing easy interfaces to the following systems: DNS, FTP,
 Ident (RFC 931), NIS and NISPlus, NNTP, Ping, POP3, SMTP, SNMP, SSLeay,
 Telnet, and Time--to name just a few.
@@ -1746,7 +1685,7 @@
     print "read : '$buff'\n";
 
     # the buffer of shmread is zero-character end-padded.
-    substr($buff, index($buff, "\0")) = "":
+    substr($buff, index($buff, "\0")) = "";
     print "un" unless $buff eq $message;
     print "swell\n";
 
@@ -1759,8 +1698,8 @@
 
     $IPC_KEY = 1234;
     $id = semget($IPC_KEY, 10, 0666 | IPC_CREAT);
-    defined($id)                    || die "shmget: $!";
-    print "shm key $id\n";
+    defined($id)                    || die "semget: $!";
+    print "sem id $id\n";
 
 Put this code in a separate file to be run in more than one process.
 Call the file F<take>:
@@ -1769,7 +1708,7 @@
 
     $IPC_KEY = 1234;
     $id = semget($IPC_KEY, 0, 0);
-    defined($id)                    || die "shmget: $!";
+    defined($id)                    || die "semget: $!";
 
     $semnum  = 0;
     $semflag = 0;
@@ -1807,8 +1746,7 @@
     semop($id, $opstring)   || die "semop: $!";
 
 The SysV IPC code above was written long ago, and it's definitely
-clunky looking.  For a more modern look, see the IPC::SysV module
-which is included with Perl starting from Perl 5.005.
+clunky looking.  For a more modern look, see the IPC::SysV module.
 
 A small example demonstrating SysV message queues:
 


Property changes on: vendor/perl/dist/pod/perlipc.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perllexwarn.pod
===================================================================
--- vendor/perl/dist/pod/perllexwarn.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perllexwarn.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -158,7 +158,7 @@
 
 =head2 Backward Compatibility
 
-If you are used with working with a version of Perl prior to the
+If you are used to working with a version of Perl prior to the
 introduction of lexically scoped warnings, or have code that uses both
 lexical warnings and C<$^W>, this section will describe how they interact.
 
@@ -169,7 +169,7 @@
 =item 1.
 
 If none of the three command line flags (B<-w>, B<-W> or B<-X>) that
-control warnings is used and neither C<$^W> or the C<warnings> pragma
+control warnings is used and neither C<$^W> nor the C<warnings> pragma
 are used, then default warnings will be enabled and optional warnings
 disabled.
 This means that legacy code that doesn't attempt to control the warnings
@@ -212,107 +212,111 @@
 
 The current hierarchy is:
 
-  all -+
-       |
-       +- closure
-       |
-       +- deprecated
-       |
-       +- exiting
-       |
-       +- glob
-       |
-       +- io -----------+
-       |                |
-       |                +- closed
-       |                |
-       |                +- exec
-       |                |
-       |                +- layer
-       |                |
-       |                +- newline
-       |                |
-       |                +- pipe
-       |                |
-       |                +- unopened
-       |
-       +- imprecision
-       |
-       +- misc
-       |
-       +- numeric
-       |
-       +- once
-       |
-       +- overflow
-       |
-       +- pack
-       |
-       +- portable
-       |
-       +- recursion
-       |
-       +- redefine
-       |
-       +- regexp
-       |
-       +- severe -------+
-       |                |
-       |                +- debugging
-       |                |
-       |                +- inplace
-       |                |
-       |                +- internal
-       |                |
-       |                +- malloc
-       |
-       +- signal
-       |
-       +- substr
-       |
-       +- syntax -------+
-       |                |
-       |                +- ambiguous
-       |                |
-       |                +- bareword
-       |                |
-       |                +- digit
-       |                |
-       |                +- illegalproto
-       |                |
-       |                +- parenthesis
-       |                |
-       |                +- precedence
-       |                |
-       |                +- printf
-       |                |
-       |                +- prototype
-       |                |
-       |                +- qw
-       |                |
-       |                +- reserved
-       |                |
-       |                +- semicolon
-       |
-       +- taint
-       |
-       +- threads
-       |
-       +- uninitialized
-       |
-       +- unpack
-       |
-       +- untie
-       |
-       +- utf8----------+
-       |                |
-       |                +- surrogate
-       |                |
-       |                +- non_unicode
-       |                |
-       |                +- nonchar
-       |
-       +- void
+    all -+
+         |
+         +- closure
+         |
+         +- deprecated
+         |
+         +- exiting
+         |
+         +- experimental --+
+         |                 |
+         |                 +- experimental::lexical_subs
+         |
+         +- glob
+         |
+         +- imprecision
+         |
+         +- io ------------+
+         |                 |
+         |                 +- closed
+         |                 |
+         |                 +- exec
+         |                 |
+         |                 +- layer
+         |                 |
+         |                 +- newline
+         |                 |
+         |                 +- pipe
+         |                 |
+         |                 +- unopened
+         |
+         +- misc
+         |
+         +- numeric
+         |
+         +- once
+         |
+         +- overflow
+         |
+         +- pack
+         |
+         +- portable
+         |
+         +- recursion
+         |
+         +- redefine
+         |
+         +- regexp
+         |
+         +- severe --------+
+         |                 |
+         |                 +- debugging
+         |                 |
+         |                 +- inplace
+         |                 |
+         |                 +- internal
+         |                 |
+         |                 +- malloc
+         |
+         +- signal
+         |
+         +- substr
+         |
+         +- syntax --------+
+         |                 |
+         |                 +- ambiguous
+         |                 |
+         |                 +- bareword
+         |                 |
+         |                 +- digit
+         |                 |
+         |                 +- illegalproto
+         |                 |
+         |                 +- parenthesis
+         |                 |
+         |                 +- precedence
+         |                 |
+         |                 +- printf
+         |                 |
+         |                 +- prototype
+         |                 |
+         |                 +- qw
+         |                 |
+         |                 +- reserved
+         |                 |
+         |                 +- semicolon
+         |
+         +- taint
+         |
+         +- threads
+         |
+         +- uninitialized
+         |
+         +- unpack
+         |
+         +- untie
+         |
+         +- utf8 ----------+
+         |                 |
+         |                 +- non_unicode
+         |                 |
+         |                 +- nonchar
+         |                 |
+         |                 +- surrogate
+         |
+         +- void
 
 Just like the "strict" pragma any of these categories can be combined
 
@@ -335,7 +339,6 @@
 sub-category of the "syntax" category. It is now a top-level category
 in its own right.
 
-
 =head2 Fatal Warnings
 X<warning, fatal>
 


Property changes on: vendor/perl/dist/pod/perllexwarn.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perllocale.pod
===================================================================
--- vendor/perl/dist/pod/perllocale.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perllocale.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+=encoding utf8
+
 =head1 NAME
 
 perllocale - Perl locale handling (internationalization and localization)
@@ -4,37 +6,96 @@
 
 =head1 DESCRIPTION
 
-Locales these days have been mostly been supplanted by Unicode, but Perl
-continues to support them.  See L</Unicode and UTF-8> below.
+In the beginning there was ASCII, the "American Standard Code for
+Information Interchange", which works quite well for Americans with
+their English alphabet and dollar-denominated currency.  But it doesn't
+work so well even for other English speakers, who may use different
+currencies, such as the pound sterling (as the symbol for that currency
+is not in ASCII); and it's hopelessly inadequate for many of the
+thousands of the world's other languages.
 
-Perl supports language-specific notions of data such as "is this
-a letter", "what is the uppercase equivalent of this letter", and
-"which of these letters comes first".  These are important issues,
-especially for languages other than English--but also for English: it
-would be naE<iuml>ve to imagine that C<A-Za-z> defines all the "letters"
-needed to write correct English. Perl is also aware that some character other
-than "." may be preferred as a decimal point, and that output date
-representations may be language-specific.  The process of making an
-application take account of its users' preferences in such matters is
-called B<internationalization> (often abbreviated as B<i18n>); telling
-such an application about a particular set of preferences is known as
-B<localization> (B<l10n>).
+To address these deficiencies, the concept of locales was invented
+(formally the ISO C, XPG4, POSIX 1.c "locale system").  And applications
+were and are being written that use the locale mechanism.  The process of
+making such an application take account of its users' preferences in
+these kinds of matters is called B<internationalization> (often
+abbreviated as B<i18n>); telling such an application about a particular
+set of preferences is known as B<localization> (B<l10n>).
 
-Perl can understand language-specific data via the standardized (ISO C,
-XPG4, POSIX 1.c) method called "the locale system". The locale system is
-controlled per application using one pragma, one function call, and
-several environment variables.
+Perl was extended to support the locale system.  This
+is controlled per application by using one pragma, one function call,
+and several environment variables.
 
-B<NOTE>: This feature is new in Perl 5.004, and does not apply unless an
-application specifically requests it--see L<Backward compatibility>.
-The one exception is that write() now B<always> uses the current locale
-- see L<"NOTES">.
+Unfortunately, there are quite a few deficiencies with the design (and
+often, the implementations) of locales, and their use for character sets
+has mostly been supplanted by Unicode (see L<perlunitut> for an
+introduction to that, and keep on reading here for how Unicode interacts
+with locales in Perl).
 
+Perl continues to support the old locale system, and starting in v5.16,
+provides a hybrid way to use the Unicode character set, along with the
+other portions of locales that may not be so problematic.
+(Unicode is also creating C<CLDR>, the "Common Locale Data Repository",
+L<http://cldr.unicode.org/> which includes more types of information than
+are available in the POSIX locale system.  At the time of this writing,
+there was no CPAN module that provides access to this XML-encoded data.
+However, many of its locales have the POSIX-only data extracted, and are
+available at L<http://unicode.org/Public/cldr/latest/>.)
+
+=head1 WHAT IS A LOCALE
+
+A locale is a set of data that describes various aspects of how various
+communities in the world categorize their world.  These categories are
+broken down into the following types (some of which include a brief
+note here):
+
+=over
+
+=item Category LC_NUMERIC: Numeric formatting
+
+This indicates how numbers should be formatted for human readability,
+for example the character used as the decimal point.
+
+=item Category LC_MONETARY: Formatting of monetary amounts
+
+=for comment
+The nbsp below makes this look better
+
+E<160>
+
+=item Category LC_TIME: Date/Time formatting
+
+=for comment
+The nbsp below makes this look better
+
+E<160>
+
+=item Category LC_MESSAGES: Error and other messages
+
+This for the most part is beyond the scope of Perl
+
+=item Category LC_COLLATE: Collation
+
+This indicates the ordering of letters for comparison and sorting.
+In Latin alphabets, for example, "b", generally follows "a".
+
+=item Category LC_CTYPE: Character Types
+
+This indicates, for example if a character is an uppercase letter.
+
+=back
+
+More details on the categories are given below in L</LOCALE CATEGORIES>.
+
+Together, these categories go a long way towards being able to customize
+a single program to run in many different locations.  But there are
+deficiencies, so keep reading.
+
 =head1 PREPARING TO USE LOCALES
 
-If Perl applications are to understand and present your data
-correctly according a locale of your choice, B<all> of the following
-must be true:
+Perl will not use locales unless specifically requested to (see L</NOTES> below
+for the partial exception of C<write()>).  But even if there is such a
+request, B<all> of the following must be true for it to work properly:
 
 =over 4
 
@@ -74,9 +135,9 @@
 
 =item 1
 
-B<The locale-determining environment variables (see L<"ENVIRONMENT">)
+B<The locale-determining environment variables (see L</"ENVIRONMENT">)
 must be correctly set up> at the time the application is started, either
-by yourself or by whoever set up your system account; or
+by yourself or by whomever set up your system account; or
 
 =item 2
 
@@ -90,13 +151,25 @@
 =head2 The use locale pragma
 
 By default, Perl ignores the current locale.  The S<C<use locale>>
-pragma and the C</l> regular expression modifier tell Perl to use the
-current locale for some operations (C</l> for just pattern matching).
+pragma tells Perl to use the current locale for some operations.
+Starting in v5.16, there is an optional parameter to this pragma:
 
+    use locale ':not_characters';
+
+This parameter allows better mixing of locales and Unicode, and is
+described fully in L</Unicode and UTF-8>, but briefly, it tells Perl to
+not use the character portions of the locale definition, that is
+the C<LC_CTYPE> and C<LC_COLLATE> categories.  Instead it will use the
+native (extended by Unicode) character set.  When using this parameter,
+you are responsible for getting the external character set translated
+into the native/Unicode one (which it already will be if it is one of
+the increasingly popular UTF-8 locales).  There are convenient ways of
+doing this, as described in L</Unicode and UTF-8>.
+
 The current locale is set at execution time by
 L<setlocale()|/The setlocale function> described below.  If that function
 hasn't yet been called in the course of the program's execution, the
-current locale is that which was determined by the L<"ENVIRONMENT"> in
+current locale is that which was determined by the L</"ENVIRONMENT"> in
 effect at the start of the program, except that
 C<L<LC_NUMERIC|/Category LC_NUMERIC: Numeric Formatting>> is always
 initialized to the C locale (mentioned under L<Finding locales>).
@@ -107,8 +180,33 @@
 
 =over 4
 
+=item B<Under C<use locale ':not_characters';>>
+
+=over 4
+
 =item *
 
+B<Format declarations> (format()) use C<LC_NUMERIC>
+
+=item *
+
+B<The POSIX date formatting function> (strftime()) uses C<LC_TIME>.
+
+=back
+
+=for comment
+The nbsp below makes this look better
+
+E<160>
+
+=item B<Under just plain C<use locale;>>
+
+The above operations are affected, as well as the following:
+
+=over 4
+
+=item *
+
 B<The comparison operators> (C<lt>, C<le>, C<cmp>, C<ge>, and C<gt>) and
 the POSIX string collation functions strcoll() and strxfrm() use
 C<LC_COLLATE>.  sort() is also affected if used without an
@@ -129,21 +227,15 @@
 B<Regular expressions and case-modification functions> (uc(), lc(),
 ucfirst(), and lcfirst()) use C<LC_CTYPE>
 
-=item *
+=back
 
-B<Format declarations> (format()) use C<LC_NUMERIC>
-
-=item *
-
-B<The POSIX date formatting function> (strftime()) uses C<LC_TIME>.
-
 =back
 
-C<LC_COLLATE>, C<LC_CTYPE>, and so on, are discussed further in 
-L<LOCALE CATEGORIES>.
-
 The default behavior is restored with the S<C<no locale>> pragma, or
-upon reaching the end of block enclosing C<use locale>.
+upon reaching the end of the block enclosing C<use locale>.
+Note that C<use locale> and C<use locale ':not_characters'> may be
+nested, and that what is in effect within an inner scope will revert to
+the outer scope's rules at the end of the inner scope.
 
 The string result of any operation that uses locale
 information is tainted, as it is possible for a locale to be
@@ -154,9 +246,6 @@
 You can switch locales as often as you wish at run time with the
 POSIX::setlocale() function:
 
-        # This functionality not usable prior to Perl 5.004
-        require 5.004;
-
         # Import locale-handling tool set from POSIX module.
         # This example uses: setlocale -- the function call
         #                    LC_CTYPE -- explained below
@@ -178,7 +267,7 @@
 The first argument of setlocale() gives the B<category>, the second the
 B<locale>.  The category tells in what aspect of data processing you
 want to apply locale-specific rules.  Category names are discussed in
-L<LOCALE CATEGORIES> and L<"ENVIRONMENT">.  The locale is the name of a
+L</LOCALE CATEGORIES> and L</"ENVIRONMENT">.  The locale is the name of a
 collection of customization information corresponding to a particular
 combination of language, country or territory, and codeset.  Read on for
 hints on the naming of locales: not all systems name locales as in the
@@ -212,6 +301,9 @@
 If the second argument does not correspond to a valid locale, the locale
 for the category is not changed, and the function returns I<undef>.
 
+Note that Perl ignores the current C<LC_CTYPE> and C<LC_COLLATE> locales
+within the scope of a C<use locale ':not_characters'>.
+
 For further information about the categories, consult setlocale(3).
 
 =head2 Finding locales
@@ -308,7 +400,7 @@
 these changes.  If you make the new settings permanent (read on), all
 programs you run see the changes.  See L<"ENVIRONMENT"> for
 the full list of relevant environment variables and L<USING LOCALES>
-for their effects in Perl.  Effects in other programs are 
+for their effects in Perl.  Effects in other programs are
 easily deducible.  For example, the variable LC_COLLATE may well affect
 your B<sort> program (or whatever the program that arranges "records"
 alphabetically in your system is called).
@@ -369,7 +461,7 @@
 the same.  In this case, try running under a locale
 that you can list and which somehow matches what you tried.  The
 rules for matching locale names are a bit vague because
-standardization is weak in this area.  See again the 
+standardization is weak in this area.  See again the
 L<Finding locales> about general rules.
 
 =head2 Fixing system locale configuration
@@ -411,42 +503,40 @@
 Here's a simple-minded example program that rewrites its command-line
 parameters as integers correctly formatted in the current locale:
 
-        # See comments in previous example
-        require 5.004;
-        use POSIX qw(locale_h);
+    use POSIX qw(locale_h);
 
-        # Get some of locale's numeric formatting parameters
-        my ($thousands_sep, $grouping) =
-             @{localeconv()}{'thousands_sep', 'grouping'};
+    # Get some of locale's numeric formatting parameters
+    my ($thousands_sep, $grouping) =
+            @{localeconv()}{'thousands_sep', 'grouping'};
 
-        # Apply defaults if values are missing
-        $thousands_sep = ',' unless $thousands_sep;
+    # Apply defaults if values are missing
+    $thousands_sep = ',' unless $thousands_sep;
 
-	# grouping and mon_grouping are packed lists
-	# of small integers (characters) telling the
-	# grouping (thousand_seps and mon_thousand_seps
-	# being the group dividers) of numbers and
-	# monetary quantities.  The integers' meanings:
-	# 255 means no more grouping, 0 means repeat
-	# the previous grouping, 1-254 means use that
-	# as the current grouping.  Grouping goes from
-	# right to left (low to high digits).  In the
-	# below we cheat slightly by never using anything
-	# else than the first grouping (whatever that is).
-	if ($grouping) {
-	    @grouping = unpack("C*", $grouping);
-	} else {
-	    @grouping = (3);
-	}
+    # grouping and mon_grouping are packed lists
+    # of small integers (characters) telling the
+    # grouping (thousand_seps and mon_thousand_seps
+    # being the group dividers) of numbers and
+    # monetary quantities.  The integers' meanings:
+    # 255 means no more grouping, 0 means repeat
+    # the previous grouping, 1-254 means use that
+    # as the current grouping.  Grouping goes from
+    # right to left (low to high digits).  In the
+    # below we cheat slightly by never using anything
+    # else than the first grouping (whatever that is).
+    if ($grouping) {
+        @grouping = unpack("C*", $grouping);
+    } else {
+        @grouping = (3);
+    }
 
-        # Format command line params for current locale
-        for (@ARGV) {
-            $_ = int;    # Chop non-integer part
-            1 while
-            s/(\d)(\d{$grouping[0]}($|$thousands_sep))/$1$thousands_sep$2/;
-            print "$_";
-        }
-        print "\n";
+    # Format command line params for current locale
+    for (@ARGV) {
+        $_ = int;    # Chop non-integer part
+        1 while
+        s/(\d)(\d{$grouping[0]}($|$thousands_sep))/$1$thousands_sep$2/;
+        print "$_";
+    }
+    print "\n";
 
 =head2 I18N::Langinfo
 
@@ -462,7 +552,8 @@
 
     use I18N::Langinfo qw(langinfo ABDAY_1 YESSTR NOSTR);
 
-    my ($abday_1, $yesstr, $nostr) = map { langinfo } qw(ABDAY_1 YESSTR NOSTR);
+    my ($abday_1, $yesstr, $nostr)
+                = map { langinfo } qw(ABDAY_1 YESSTR NOSTR);
 
     print "$abday_1? [$yesstr/$nostr] ";
 
@@ -469,7 +560,7 @@
 In other words, in the "C" (or English) locale the above will probably
 print something like:
 
-    Sun? [yes/no] 
+    Sun? [yes/no]
 
 See L<I18N::Langinfo> for more information.
 
@@ -481,11 +572,12 @@
 
 =head2 Category LC_COLLATE: Collation
 
-In the scope of S<C<use locale>>, Perl looks to the C<LC_COLLATE>
+In the scope of S<C<use locale>> (but not a
+C<use locale ':not_characters'>), Perl looks to the C<LC_COLLATE>
 environment variable to determine the application's notions on collation
 (ordering) of characters.  For example, "b" follows "a" in Latin
 alphabets, but where do "E<aacute>" and "E<aring>" belong?  And while
-"color" follows "chocolate" in English, what about in Spanish?
+"color" follows "chocolate" in English, what about in traditional Spanish?
 
 The following collations all make sense and you may meet any of them
 if you "use locale".
@@ -561,7 +653,8 @@
 
 =head2 Category LC_CTYPE: Character Types
 
-In the scope of S<C<use locale>>, Perl obeys the C<LC_CTYPE> locale
+In the scope of S<C<use locale>> (but not a
+C<use locale ':not_characters'>), Perl obeys the C<LC_CTYPE> locale
 setting.  This controls the application's notion of which characters are
 alphabetic.  This affects Perl's C<\w> regular expression metanotation,
 which stands for alphanumeric characters--that is, alphabetic,
@@ -582,7 +675,15 @@
 functions--isalpha(), islower(), and so on.  For example, if you move
 from the "C" locale to a 7-bit Scandinavian one, you may find--possibly
 to your surprise--that "|" moves from the ispunct() class to isalpha().
+Unfortunately, this creates big problems for regular expressions. "|" still
+means alternation even though it matches C<\w>.
 
+Note that there are quite a few things that are unaffected by the
+current locale.  All the escape sequences for particular characters,
+C<\n> for example, always mean the platform's native one.  This means,
+for example, that C<\N> in regular expressions (every character
+but new-line) work on the platform character set.
+
 B<Note:> A broken or malicious C<LC_CTYPE> locale definition may result
 in clearly ineligible characters being considered to be alphanumeric by
 your application.  For strict matching of (mundane) ASCII letters and
@@ -628,11 +729,11 @@
 that is affected by its contents.  (Those with experience of standards
 committees will recognize that the working group decided to punt on the
 issue.)  Consequently, Perl takes no notice of it.  If you really want
-to use C<LC_MONETARY>, you can query its contents--see 
-L<The localeconv function>--and use the information that it returns in your 
-application's own formatting of currency amounts.  However, you may well 
-find that the information, voluminous and complex though it may be, still 
-does not quite meet your requirements: currency formatting is a hard nut 
+to use C<LC_MONETARY>, you can query its contents--see
+L<The localeconv function>--and use the information that it returns in your
+application's own formatting of currency amounts.  However, you may well
+find that the information, voluminous and complex though it may be, still
+does not quite meet your requirements: currency formatting is a hard nut
 to crack.
 
 See also L<I18N::Langinfo> and C<CRNCYSTR>.
@@ -742,7 +843,7 @@
 B<Case-mapping interpolation> (with C<\l>, C<\L>, C<\u> or C<\U>)
 
 Result string containing interpolated material is tainted if
-C<use locale> is in effect.
+C<use locale> (but not S<C<use locale ':not_characters'>>) is in effect.
 
 =item  *
 
@@ -751,7 +852,8 @@
 Scalar true/false result never tainted.
 
 Subpatterns, either delivered as a list-context result or as $1 etc.
-are tainted if C<use locale> is in effect, and the subpattern regular
+are tainted if C<use locale> (but not S<C<use locale ':not_characters'>>)
+is in effect, and the subpattern regular
 expression contains C<\w> (to match an alphanumeric character), C<\W>
 (non-alphanumeric character), C<\s> (whitespace character), or C<\S>
 (non whitespace character).  The matched-pattern variable, $&, $`
@@ -764,8 +866,9 @@
 B<Substitution operator> (C<s///>):
 
 Has the same behavior as the match operator.  Also, the left
-operand of C<=~> becomes tainted when C<use locale> in effect
-if modified as a result of a substitution based on a regular
+operand of C<=~> becomes tainted when C<use locale>
+(but not S<C<use locale ':not_characters'>>) is in effect if modified as
+a result of a substitution based on a regular
 expression match involving C<\w>, C<\W>, C<\s>, or C<\S>; or of
 case-mapping with C<\l>, C<\L>,C<\u> or C<\U>.
 
@@ -781,7 +884,8 @@
 
 B<Case-mapping functions> (lc(), lcfirst(), uc(), ucfirst()):
 
-Results are tainted if C<use locale> is in effect.
+Results are tainted if C<use locale> (but not
+S<C<use locale ':not_characters'>>) is in effect.
 
 =item *
 
@@ -812,7 +916,7 @@
         $tainted_output_file = shift;
 
         open(F, ">$tainted_output_file")
-            or warn "Open of $untainted_output_file failed: $!\n";
+            or warn "Open of $tainted_output_file failed: $!\n";
 
 The program can be made to run by "laundering" the tainted value through
 a regular expression: the second example--which still ignores locale
@@ -930,18 +1034,18 @@
 
 The LC_NUMERIC controls the numeric output:
 
-        use locale;
-        use POSIX qw(locale_h); # Imports setlocale() and the LC_ constants.
-        setlocale(LC_NUMERIC, "fr_FR") or die "Pardon";
-        printf "%g\n", 1.23; # If the "fr_FR" succeeded, probably shows 1,23.
+   use locale;
+   use POSIX qw(locale_h); # Imports setlocale() and the LC_ constants.
+   setlocale(LC_NUMERIC, "fr_FR") or die "Pardon";
+   printf "%g\n", 1.23; # If the "fr_FR" succeeded, probably shows 1,23.
 
 and also how strings are parsed by POSIX::strtod() as numbers:
 
-        use locale;
-        use POSIX qw(locale_h strtod);
-        setlocale(LC_NUMERIC, "de_DE") or die "Entschuldigung";
-        my $x = strtod("2,34") + 5;
-        print $x, "\n"; # Probably shows 7,34.
+   use locale;
+   use POSIX qw(locale_h strtod);
+   setlocale(LC_NUMERIC, "de_DE") or die "Entschuldigung";
+   my $x = strtod("2,34") + 5;
+   print $x, "\n"; # Probably shows 7,34.
 
 =head1 NOTES
 
@@ -953,7 +1057,8 @@
 (see L<The setlocale function>).  By default, Perl still behaves this
 way for backward compatibility.  If you want a Perl application to pay
 attention to locale information, you B<must> use the S<C<use locale>>
-pragma (see L<The use locale pragma>) or for just pattern matching, the
+pragma (see L<The use locale pragma>) or, in the unlikely event
+that you want to do so for just pattern matching, the
 C</l> regular expression modifier (see L<perlre/Character set
 modifiers>) to instruct it to do so.
 
@@ -994,6 +1099,11 @@
 
 =head2 Freely available locale definitions
 
+The Unicode CLDR project extracts the POSIX portion of many of its
+locales, available at
+
+  http://unicode.org/Public/cldr/latest/
+
 There is a large collection of locale definitions at:
 
   http://std.dkuug.dk/i18n/WG15-collection/locales/
@@ -1023,25 +1133,65 @@
 
 =head1 Unicode and UTF-8
 
-The support of Unicode is new starting from Perl version 5.6, and more fully
-implemented in version 5.8 and later.  See L<perluniintro>.  Perl tries to
-work with both Unicode and locales--but of course, there are problems.
+The support of Unicode is new starting from Perl version v5.6, and more fully
+implemented in version v5.8 and later.  See L<perluniintro>.  It is
+strongly recommended that when combining Unicode and locale (starting in
+v5.16), you use
 
-Perl does not handle multi-byte locales, such as have been used for various
-Asian languages, such as Big5 or Shift JIS.  However, the increasingly common
-multi-byte UTF-8 locales, if properly implemented, tend to work
-reasonably well in Perl, simply because both they and Perl store
-characters that take up multiple bytes the same way.
+    use locale ':not_characters';
 
+When this form of the pragma is used, only the non-character portions of
+locales are used by Perl, for example C<LC_NUMERIC>.  Perl assumes that
+you have translated all the characters it is to operate on into Unicode
+(actually the platform's native character set (ASCII or EBCDIC) plus
+Unicode).  For data in files, this can conveniently be done by also
+specifying
+
+    use open ':locale';
+
+This pragma arranges for all inputs from files to be translated into
+Unicode from the current locale as specified in the environment (see
+L</ENVIRONMENT>), and all outputs to files to be translated back
+into the locale.  (See L<open>).  On a per-filehandle basis, you can
+instead use the L<PerlIO::locale> module, or the L<Encode::Locale>
+module, both available from CPAN.  The latter module also has methods to
+ease the handling of C<ARGV> and environment variables, and can be used
+on individual strings.  Also, if you know that all your locales will be
+UTF-8, as many are these days, you can use the L<B<-C>|perlrun/-C>
+command line switch.
+
+This form of the pragma allows essentially seamless handling of locales
+with Unicode.  The collation order will be Unicode's.  It is strongly
+recommended that when you need to order and sort strings that you use
+the standard module L<Unicode::Collate> which gives much better results
+in many instances than you can get with the old-style locale handling.
+
+For pre-v5.16 Perls, or if you use the locale pragma without the
+C<:not_characters> parameter, Perl tries to work with both Unicode and
+locales--but there are problems.
+
+Perl does not handle multi-byte locales in this case, such as have been
+used for various
+Asian languages, such as Big5 or Shift JIS.  However, the increasingly
+common multi-byte UTF-8 locales, if properly implemented, may work
+reasonably well (depending on your C library implementation) in this
+form of the locale pragma, simply because both
+they and Perl store characters that take up multiple bytes the same way.
+However, some, if not most, C library implementations may not process
+the characters in the upper half of the Latin-1 range (128 - 255)
+properly under LC_CTYPE.  To see if a character is a particular type
+under a locale, Perl uses the functions like C<isalnum()>.  Your C
+library may not work for UTF-8 locales with those functions, instead
+only working under the newer wide library functions like C<iswalnum()>.
+
 Perl generally takes the tack to use locale rules on code points that can fit
-in a single byte, and Unicode rules for those that can't (though this wasn't
-uniformly applied prior to Perl 5.14).  This prevents many problems in locales
-that aren't UTF-8.  Suppose the locale is ISO8859-7, Greek.  The character at
-0xD7 there is a capital Chi. But in the ISO8859-1 locale, Latin1, it is a
-multiplication sign.  The POSIX regular expression character class
-C<[[:alpha:]]> will magically match 0xD7 in the Greek locale but not in the
-Latin one, even if the string is encoded in UTF-8, which would normally imply
-Unicode semantics.  (The "U" in UTF-8 stands for Unicode.)
+in a single byte, and Unicode rules for those that can't (though this
+isn't uniformly applied, see the note at the end of this section).  This
+prevents many problems in locales that aren't UTF-8.  Suppose the locale
+is ISO8859-7, Greek.  The character at 0xD7 there is a capital Chi. But
+in the ISO8859-1 locale, Latin1, it is a multiplication sign.  The POSIX
+regular expression character class C<[[:alpha:]]> will magically match
+0xD7 in the Greek locale but not in the Latin one.
 
 However, there are places where this breaks down.  Certain constructs are
 for Unicode only, such as C<\p{Alpha}>.  They assume that 0xD7 always has its
@@ -1049,11 +1199,20 @@
 subset of Unicode and 0xD7 is the multiplication sign in both Latin1 and
 Unicode, C<\p{Alpha}> will never match it, regardless of locale.  A similar
 issue occurs with C<\N{...}>.  It is therefore a bad idea to use C<\p{}> or
-C<\N{}> under C<use locale>--I<unless> you can guarantee that the locale will
-be a ISO8859-1 or UTF-8 one.  Use POSIX character classes instead.
+C<\N{}> under plain C<use locale>--I<unless> you can guarantee that the
+locale will be a ISO8859-1.  Use POSIX character classes instead.
 
+Another problem with this approach is that operations that cross the
+single byte/multiple byte boundary are not well-defined, and so are
+disallowed.  (This boundary is between the codepoints at 255/256.).
+For example, lower casing LATIN CAPITAL LETTER Y WITH DIAERESIS (U+0178)
+should return LATIN SMALL LETTER Y WITH DIAERESIS (U+00FF).  But in the
+Greek locale, for example, there is no character at 0xFF, and Perl
+has no way of knowing what the character at 0xFF is really supposed to
+represent.  Thus it disallows the operation.  In this mode, the
+lowercase of U+0178 is itself.
 
-The same problem ensues if you enable automatic UTF-8-ification of your
+The same problems ensue if you enable automatic UTF-8-ification of your
 standard file handles, default C<open()> layer, and C<@ARGV> on non-ISO8859-1,
 non-UTF-8 locales (by using either the B<-C> command line switch or the
 C<PERL_UNICODE> environment variable; see L<perlrun>).
@@ -1061,20 +1220,38 @@
 interpretation, but the presence of a locale causes them to be interpreted
 in that locale instead.  For example, a 0xD7 code point in the Unicode
 input, which should mean the multiplication sign, won't be interpreted by
-Perl that way under the Greek locale.  Again, this is not a problem
+Perl that way under the Greek locale.  This is not a problem
 I<provided> you make certain that all locales will always and only be either
-an ISO8859-1 or a UTF-8 locale.
+an ISO8859-1, or, if you don't have a deficient C library, a UTF-8 locale.
 
 Vendor locales are notoriously buggy, and it is difficult for Perl to test
 its locale-handling code because this interacts with code that Perl has no
 control over; therefore the locale-handling code in Perl may be buggy as
-well.  But if you I<do> have locales that work, using them may be
-worthwhile for certain specific purposes, as long as you keep in mind the
-gotchas already mentioned.  For example, collation runs faster under
-locales than under L<Unicode::Collate> (albeit with less flexibility), and
-you gain access to such things as the local currency symbol and the names
-of the months and days of the week.
+well.  (However, the Unicode-supplied locales should be better, and
+there is a feed back mechanism to correct any problems.  See
+L</Freely available locale definitions>.)
 
+If you have Perl v5.16, the problems mentioned above go away if you use
+the C<:not_characters> parameter to the locale pragma (except for vendor
+bugs in the non-character portions).  If you don't have v5.16, and you
+I<do> have locales that work, using them may be worthwhile for certain
+specific purposes, as long as you keep in mind the gotchas already
+mentioned.  For example, if the collation for your locales works, it
+runs faster under locales than under L<Unicode::Collate>; and you gain
+access to such things as the local currency symbol and the names of the
+months and days of the week.  (But to hammer home the point, in v5.16,
+you get this access without the downsides of locales by using the
+C<:not_characters> form of the pragma.)
+
+Note: The policy of using locale rules for code points that can fit in a
+byte, and Unicode rules for those that can't is not uniformly applied.
+Pre-v5.12, it was somewhat haphazard; in v5.12 it was applied fairly
+consistently to regular expression matching except for bracketed
+character classes; in v5.14 it was extended to all regex matches; and in
+v5.16 to the casing operations such as C<"\L"> and C<uc()>.  For
+collation, in all releases, the system's C<strxfrm()> function is called,
+and whatever it does is what you get.
+
 =head1 BUGS
 
 =head2 Broken systems


Property changes on: vendor/perl/dist/pod/perllocale.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perllol.pod
===================================================================
--- vendor/perl/dist/pod/perllol.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perllol.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -174,7 +174,7 @@
 
     push $AoA[0], "wilma", "betty";        # implicit deref
 
-How come?  Because once upon a time, the argument to push() had to be be a
+How come?  Because once upon a time, the argument to push() had to be a
 real array, not just a reference to one. That's no longer true.  In fact,
 the line marked "implicit deref" above works just fine--in this
 instance--to do what the one that says explicit deref did.


Property changes on: vendor/perl/dist/pod/perllol.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlmod.pod
===================================================================
--- vendor/perl/dist/pod/perlmod.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlmod.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -102,6 +102,10 @@
 instance.  The standard but antiquated F<dumpvar.pl> library and
 the CPAN module Devel::Symdump make use of this.
 
+The results of creating new symbol table entries directly or modifying any
+entries that are not already typeglobs are undefined and subject to change
+between releases of perl.
+
 Assignment to a typeglob performs an aliasing operation, i.e.,
 
     *dick = *richard;
@@ -303,7 +307,7 @@
 
 C<UNITCHECK> blocks are run just after the unit which defined them has
 been compiled.  The main program file and each module it loads are
-compilation units, as are string C<eval>s, code compiled using the
+compilation units, as are string C<eval>s, run-time code compiled using the
 C<(?{ })> construct in a regex, calls to C<do FILE>, C<require FILE>,
 and code after the C<-e> switch on the command line.
 
@@ -377,7 +381,7 @@
 by listing the other package name(s) in its global @ISA array (which
 must be a package global, not a lexical).
 
-For more on this, see L<perltoot> and L<perlobj>.
+For more on this, see L<perlootut> and L<perlobj>.
 
 =head2 Perl Modules
 X<module>
@@ -400,66 +404,51 @@
     use warnings;
 
     BEGIN {
-        use Exporter   ();
-        our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+        require Exporter;
 
         # set the version for version checking
-        $VERSION     = 1.00;
-        # if using RCS/CVS, this may be preferred
-        $VERSION = sprintf "%d.%03d", q$Revision: 1.1.1.3 $ =~ /(\d+)/g;
+        our $VERSION     = 1.00;
 
-        @ISA         = qw(Exporter);
-        @EXPORT      = qw(&func1 &func2 &func4);
-        %EXPORT_TAGS = ( );     # eg: TAG => [ qw!name1 name2! ],
+        # Inherit from Exporter to export functions and variables
+        our @ISA         = qw(Exporter);
 
-        # your exported package globals go here,
-        # as well as any optionally exported functions
-        @EXPORT_OK   = qw($Var1 %Hashit &func3);
+        # Functions and variables which are exported by default
+        our @EXPORT      = qw(func1 func2);
+
+        # Functions and variables which can be optionally exported
+        our @EXPORT_OK   = qw($Var1 %Hashit func3);
     }
-    our @EXPORT_OK;
 
     # exported package globals go here
-    our $Var1;
-    our %Hashit;
+    our $Var1    = '';
+    our %Hashit  = ();
 
     # non-exported package globals go here
-    our @more;
-    our $stuff;
+    # (they are still accessible as $Some::Module::stuff)
+    our @more    = ();
+    our $stuff   = '';
 
-    # initialize package globals, first exported ones
-    $Var1   = '';
-    %Hashit = ();
-
-    # then the others (which are still accessible as $Some::Module::stuff)
-    $stuff  = '';
-    @more   = ();
-
-    # all file-scoped lexicals must be created before
-    # the functions below that use them.
-
-    # file-private lexicals go here
+    # file-private lexicals go here, before any functions which use them
     my $priv_var    = '';
     my %secret_hash = ();
 
     # here's a file-private function as a closure,
-    # callable as &$priv_func;  it cannot be prototyped.
+    # callable as $priv_func->();
     my $priv_func = sub {
-        # stuff goes here.
+        ...
     };
 
     # make all your functions, whether exported or not;
     # remember to put something interesting in the {} stubs
-    sub func1      {}    # no prototype
-    sub func2()    {}    # proto'd void
-    sub func3($$)  {}    # proto'd to 2 scalars
+    sub func1      { ... }
+    sub func2      { ... }
 
-    # this one isn't exported, but could be called!
-    sub func4(\%)  {}    # proto'd to 1 hash ref
+    # this one isn't exported, but could be called directly
+    # as Some::Module::func3()
+    sub func3      { ... }
 
-    END { }       # module clean-up code here (global destructor)
+    END { ... }       # module clean-up code here (global destructor)
 
-    ## YOUR CODE GOES HERE
-
     1;  # don't forget to return a true value from the file
 
 Then go on to declare and use your variables in functions without
@@ -476,11 +465,11 @@
 
 This is exactly equivalent to
 
-    BEGIN { require Module; import Module; }
+    BEGIN { require 'Module.pm'; 'Module'->import; }
 
 or
 
-    BEGIN { require Module; import Module LIST; }
+    BEGIN { require 'Module.pm'; 'Module'->import( LIST ); }
 
 As a special case
 
@@ -488,7 +477,7 @@
 
 is exactly equivalent to
 
-    BEGIN { require Module; }
+    BEGIN { require 'Module.pm'; }
 
 All Perl module files have the extension F<.pm>.  The C<use> operator
 assumes this so you don't have to spell out "F<Module.pm>" in quotes.
@@ -556,15 +545,14 @@
 X<module, threadsafe> X<module, thread safe>
 X<CLONE> X<CLONE_SKIP> X<thread> X<threads> X<ithread>
 
-Since 5.6.0, Perl has had support for a new type of threads called
-interpreter threads (ithreads). These threads can be used explicitly
-and implicitly.
+Perl supports a type of threads called interpreter threads (ithreads).
+These threads can be used explicitly and implicitly.
 
 Ithreads work by cloning the data tree so that no data is shared
 between different threads. These threads can be used by using the C<threads>
 module or by doing fork() on win32 (fake fork() support). When a
 thread is cloned all Perl data is cloned, however non-Perl data cannot
-be cloned automatically.  Perl after 5.7.2 has support for the C<CLONE>
+be cloned automatically.  Perl after 5.8.0 has support for the C<CLONE>
 special subroutine.  In C<CLONE> you can do whatever
 you need to do,
 like for example handle the cloning of non-Perl data, if necessary.
@@ -571,7 +559,7 @@
 C<CLONE> will be called once as a class method for every package that has it
 defined (or inherits it).  It will be called in the context of the new thread,
 so all modifications are made in the new area.  Currently CLONE is called with
-no parameters other than the invocand package name, but code should not assume
+no parameters other than the invocant package name, but code should not assume
 that this will remain unchanged, as it is likely that in future extra parameters
 will be passed in to give more information about the state of cloning.
 
@@ -593,7 +581,7 @@
 needed.
 
 Like C<CLONE>, C<CLONE_SKIP> is currently called with no parameters other
-than the invocand package name, although that may change. Similarly, to
+than the invocant package name, although that may change. Similarly, to
 allow for future expansion, the return value should be a single C<0> or
 C<1> value.
 
@@ -602,7 +590,7 @@
 See L<perlmodlib> for general style issues related to building Perl
 modules and classes, as well as descriptions of the standard library
 and CPAN, L<Exporter> for how Perl's standard import/export mechanism
-works, L<perltoot> and L<perltooc> for an in-depth tutorial on
+works, L<perlootut> and L<perlobj> for in-depth information on
 creating classes, L<perlobj> for a hard-core reference document on
 objects, L<perlsub> for an explanation of functions and scoping,
 and L<perlxstut> and L<perlguts> for more information on writing


Property changes on: vendor/perl/dist/pod/perlmod.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlmodinstall.pod
===================================================================
--- vendor/perl/dist/pod/perlmodinstall.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlmodinstall.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,7 +19,7 @@
 
 First, are you sure that the module isn't already on your system?  Try
 C<perl -MFoo -e 1>.  (Replace "Foo" with the name of the module; for
-instance, C<perl -MCGI::Carp -e 1>.
+instance, C<perl -MCGI::Carp -e 1>.)
 
 If you don't see an error message, you have the module.  (If you do
 see an error message, it's still possible you have the module, but
@@ -53,7 +53,7 @@
 install modules into any directory you wish.  For instance, where I
 say C<perl Makefile.PL>, you can substitute C<perl Makefile.PL
 PREFIX=/my/perl_directory> to install the modules into
-C</my/perl_directory>.  Then you can use the modules from your Perl
+F</my/perl_directory>.  Then you can use the modules from your Perl
 programs with C<use lib "/my/perl_directory/lib/site_perl";> or
 sometimes just C<use "/my/perl_directory";>.  If you're on a system
 that requires superuser/root access to install modules into the
@@ -117,7 +117,7 @@
 
 =item *
 
-B<If you're running ActivePerl (Win95/98/2K/NT/XP, Linux, Solaris)>
+B<If you're running ActivePerl (Win95/98/2K/NT/XP, Linux, Solaris),>
 
 First, type C<ppm> from a shell and see whether ActiveState's PPM
 repository has your module.  If so, you can install it with C<ppm> and
@@ -436,19 +436,4 @@
 
 Copyright (C) 1998, 2002, 2003 Jon Orwant.  All Rights Reserved.
 
-Permission is granted to make and distribute verbatim copies of this
-documentation provided the copyright notice and this permission notice are
-preserved on all copies.
-
-Permission is granted to copy and distribute modified versions of this
-documentation under the conditions for verbatim copying, provided also
-that they are marked clearly as modified versions, that the authors'
-names and title are unchanged (though subtitles and additional
-authors' names may be added), and that the entire resulting derived
-work is distributed under the terms of a permission notice identical
-to this one.
-
-Permission is granted to copy and distribute translations of this
-documentation into another language, under the above conditions for
-modified versions.
-
+This document may be distributed under the same terms as Perl itself.


Property changes on: vendor/perl/dist/pod/perlmodinstall.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlmodlib.PL
===================================================================
--- vendor/perl/dist/pod/perlmodlib.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlmodlib.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -80,14 +80,16 @@
 # Much easier to special case it like this than special case the depending on
 # and parsing lib/Config.pod, or special case opening configpm and finding its
 # =head1 (which is not found with the $/="" above)
-push @mod, <<'CONFIG';
-=item Config
+push @mod, "=item Config\n\nAccess Perl configuration information\n\n";
 
-Access Perl configuration information
 
-CONFIG
+# The intent of using =cut as the heredoc terminator is to make the whole file
+# parse as (reasonably) sane Pod as-is to anything that attempts to
+# brute-force treat it as such. The content is already useful - this just
+# makes it tidier, by stopping anything doing this mistaking the rest of the
+# Perl code for Pod. eg http://search.cpan.org/dist/perl/pod/perlmodlib.PL
 
-print OUT <<'EOF';
+print OUT <<'=cut';
 =for maintainers
 Generated by perlmodlib.PL -- DO NOT EDIT!
 
@@ -137,11 +139,12 @@
 
 =over 12
 
-EOF
+=cut
 
 print OUT $_ for (sort @pragma);
 
-print OUT <<EOF;
+print OUT <<'=cut';
+
 =back
 
 =head2 Standard Modules
@@ -156,11 +159,12 @@
 
 =over 12
 
-EOF
+=cut
 
 print OUT $_ for (sort @mod);
 
-print OUT <<'EOF';
+print OUT <<'=cut';
+
 =back
 
 To find out I<all> modules installed on your system, including
@@ -318,6 +322,9 @@
 
 Registered CPAN sites
 
+=for maintainers
+Generated by Porting/make_modlib_cpan.pl
+
 =head2 Africa
 
 =over 4
@@ -324,11 +331,11 @@
 
 =item South Africa
 
-                      http://cpan.mirror.ac.za/
-                      ftp://cpan.mirror.ac.za/
-                      http://mirror.is.co.za/pub/cpan/
-                      ftp://ftp.is.co.za/pub/cpan/
-                      ftp://ftp.saix.net/pub/CPAN/
+  http://cpan.mirror.ac.za/
+  ftp://cpan.mirror.ac.za/
+  http://mirror.is.co.za/pub/cpan/
+  ftp://ftp.is.co.za/pub/cpan/
+  ftp://ftp.saix.net/pub/CPAN/
 
 =back
 
@@ -336,98 +343,93 @@
 
 =over 4
 
+=item China
+
+  http://cpan.wenzk.com/
+
 =item Hong Kong
 
-                      http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
-                      ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
-                      http://mirrors.geoexpat.com/cpan/
+  http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
+  ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
+  http://mirrors.geoexpat.com/cpan/
 
 =item India
 
-                      http://perlmirror.indialinks.com/
+  http://perlmirror.indialinks.com/
 
 =item Indonesia
 
-                      http://cpan.biz.net.id/
-                      http://komo.vlsm.org/CPAN/
-                      ftp://komo.vlsm.org/CPAN/
-                      http://cpan.pesat.net.id/
-                      http://mirror.unej.ac.id/cpan/
-                      ftp://mirror.unej.ac.id/cpan/
+  http://cpan.biz.net.id/
+  http://komo.vlsm.org/CPAN/
+  ftp://komo.vlsm.org/CPAN/
+  http://cpan.cermin.lipi.go.id/
+  ftp://cermin.lipi.go.id/pub/CPAN/
+  http://cpan.pesat.net.id/
 
 =item Japan
 
-                      ftp://ftp.u-aizu.ac.jp/pub/CPAN
-                      ftp://ftp.kddilabs.jp/CPAN/
-                      http://ftp.nara.wide.ad.jp/pub/CPAN/
-                      ftp://ftp.nara.wide.ad.jp/pub/CPAN/
-                      http://ftp.jaist.ac.jp/pub/CPAN/
-                      ftp://ftp.jaist.ac.jp/pub/CPAN/
-                      ftp://ftp.dti.ad.jp/pub/lang/CPAN/
-                      ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
-                      http://ftp.riken.jp/lang/CPAN/
-                      ftp://ftp.riken.jp/lang/CPAN/
-                      http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
-                      ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
+  ftp://ftp.u-aizu.ac.jp/pub/CPAN
+  ftp://ftp.kddilabs.jp/CPAN/
+  http://ftp.nara.wide.ad.jp/pub/CPAN/
+  ftp://ftp.nara.wide.ad.jp/pub/CPAN/
+  http://ftp.jaist.ac.jp/pub/CPAN/
+  ftp://ftp.jaist.ac.jp/pub/CPAN/
+  ftp://ftp.dti.ad.jp/pub/lang/CPAN/
+  ftp://ftp.ring.gr.jp/pub/lang/perl/CPAN/
+  http://ftp.riken.jp/lang/CPAN/
+  ftp://ftp.riken.jp/lang/CPAN/
+  http://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
+  ftp://ftp.yz.yamagata-u.ac.jp/pub/lang/cpan/
 
-=item Kazakhstan
-
-                      http://mirror.linuxiso.kz/CPAN/
-
 =item Republic of Korea
 
-                      http://ftp.kaist.ac.kr/pub/CPAN
-                      ftp://ftp.kaist.ac.kr/pub/CPAN
-                      http://cpan.mirror.cdnetworks.com/
-                      ftp://cpan.mirror.cdnetworks.com/CPAN/
-                      http://cpan.sarang.net/
-                      ftp://cpan.sarang.net/CPAN/
+  http://ftp.kaist.ac.kr/pub/CPAN
+  ftp://ftp.kaist.ac.kr/pub/CPAN
+  http://cpan.mirror.cdnetworks.com/
+  ftp://cpan.mirror.cdnetworks.com/CPAN/
+  http://cpan.sarang.net/
+  ftp://cpan.sarang.net/CPAN/
 
 =item Russia
 
-                      http://cpan.tomsk.ru/
-                      ftp://cpan.tomsk.ru/
+  http://cpan.tomsk.ru/
+  ftp://cpan.tomsk.ru/
 
 =item Singapore
 
-                      http://mirror.averse.net/pub/CPAN
-                      ftp://mirror.averse.net/pub/CPAN
-                      http://cpan.mirror.choon.net/
-                      http://cpan.oss.eznetsols.org
-                      ftp://ftp.oss.eznetsols.org/cpan
+  http://mirror.averse.net/pub/CPAN
+  ftp://mirror.averse.net/pub/CPAN
+  http://cpan.mirror.choon.net/
+  http://cpan.oss.eznetsols.org
+  ftp://ftp.oss.eznetsols.org/cpan
 
 =item Taiwan
 
-                      http://ftp.cse.yzu.edu.tw/pub/CPAN/
-                      ftp://ftp.cse.yzu.edu.tw/pub/CPAN/
-                      http://cpan.nctu.edu.tw/
-                      ftp://cpan.nctu.edu.tw/
-                      ftp://ftp.ncu.edu.tw/CPAN/
-                      http://cpan.cdpa.nsysu.edu.tw/
-                      ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
-                      http://cpan.stu.edu.tw
-                      ftp://ftp.stu.edu.tw/CPAN
-                      http://ftp.stu.edu.tw/CPAN
-                      ftp://ftp.stu.edu.tw/pub/CPAN
-                      http://cpan.cs.pu.edu.tw/
-                      ftp://cpan.cs.pu.edu.tw/pub/CPAN
+  http://ftp.cse.yzu.edu.tw/pub/CPAN/
+  ftp://ftp.cse.yzu.edu.tw/pub/CPAN/
+  http://cpan.nctu.edu.tw/
+  ftp://cpan.nctu.edu.tw/
+  ftp://ftp.ncu.edu.tw/CPAN/
+  http://cpan.cdpa.nsysu.edu.tw/
+  ftp://cpan.cdpa.nsysu.edu.tw/Unix/Lang/CPAN/
+  http://cpan.stu.edu.tw
+  ftp://ftp.stu.edu.tw/CPAN
+  http://ftp.stu.edu.tw/CPAN
+  ftp://ftp.stu.edu.tw/pub/CPAN
+  http://cpan.cs.pu.edu.tw/
+  ftp://cpan.cs.pu.edu.tw/pub/CPAN
 
 =item Thailand
 
-                      http://mirrors.issp.co.th/cpan/
-                      ftp://mirrors.issp.co.th/cpan/
+  http://mirrors.issp.co.th/cpan/
+  ftp://mirrors.issp.co.th/cpan/
+  http://mirror.yourconnect.com/CPAN/
+  ftp://mirror.yourconnect.com/CPAN/
 
 =item Turkey
 
-                      http://cpan.gazi.edu.tr/
-                      http://cpan.ulak.net.tr
-                      ftp://ftp.ulak.net.tr/pub/CPAN
+  http://cpan.gazi.edu.tr/
 
-=item Viet Nam
-
-                      http://mirror-fpt-telecom.fpt.net/cpan/
-                      ftp://mirror-fpt-telecom.fpt.net/cpan/
-
 =back
 
 =head2 Central America
@@ -436,8 +438,8 @@
 
 =item Costa Rica
 
-                      http://mirrors.ucr.ac.cr/CPAN/
-                      ftp://mirrors.ucr.ac.cr/CPAN/
+  http://mirrors.ucr.ac.cr/CPAN/
+  ftp://mirrors.ucr.ac.cr/CPAN/
 
 =back
 
@@ -447,284 +449,274 @@
 
 =item Austria
 
-                      http://cpan.inode.at/
-                      ftp://cpan.inode.at
-                      http://gd.tuwien.ac.at/languages/perl/CPAN/
-                      ftp://gd.tuwien.ac.at/pub/CPAN/
+  http://cpan.inode.at/
+  ftp://cpan.inode.at
+  http://gd.tuwien.ac.at/languages/perl/CPAN/
+  ftp://gd.tuwien.ac.at/pub/CPAN/
 
 =item Belgium
 
-                      http://ftp.belnet.be/mirror/ftp.cpan.org/
-                      ftp://ftp.belnet.be/mirror/ftp.cpan.org/
-                      http://ftp.easynet.be/pub/CPAN/
-                      http://cpan.weepee.org/
-                      http://cpan.fluoline.net/
+  http://ftp.belnet.be/mirror/ftp.cpan.org/
+  ftp://ftp.belnet.be/mirror/ftp.cpan.org/
+  http://ftp.easynet.be/pub/CPAN/
+  http://cpan.weepee.org/
 
 =item Bosnia and Herzegovina
 
-                      http://cpan.blic.net/
+  http://cpan.blic.net/
 
 =item Bulgaria
 
-                      http://cpan.cbox.biz/
-                      ftp://cpan.cbox.biz/cpan/
-                      http://cpan.digsys.bg/
-                      ftp://ftp.digsys.bg/pub/CPAN
+  http://cpan.cbox.biz/
+  ftp://cpan.cbox.biz/cpan/
+  http://cpan.digsys.bg/
+  ftp://ftp.digsys.bg/pub/CPAN
 
 =item Croatia
 
-                      http://ftp.carnet.hr/pub/CPAN/
-                      ftp://ftp.carnet.hr/pub/CPAN/
+  http://ftp.carnet.hr/pub/CPAN/
+  ftp://ftp.carnet.hr/pub/CPAN/
 
 =item Czech Republic
 
-                      ftp://ftp.fi.muni.cz/pub/CPAN/
-                      http://archive.cpan.cz/
+  ftp://ftp.fi.muni.cz/pub/CPAN/
+  http://archive.cpan.cz/
 
 =item Denmark
 
-                      http://mirrors.dotsrc.org/cpan
-                      ftp://mirrors.dotsrc.org/cpan/
-                      http://www.cpan.dk/
-                      http://mirror.uni-c.dk/pub/CPAN/
+  http://mirrors.dotsrc.org/cpan
+  ftp://mirrors.dotsrc.org/cpan/
+  http://www.cpan.dk/
+  http://mirror.uni-c.dk/pub/CPAN/
 
 =item Finland
 
-                      ftp://ftp.funet.fi/pub/languages/perl/CPAN/
-                      http://mirror.eunet.fi/CPAN
+  ftp://ftp.funet.fi/pub/languages/perl/CPAN/
+  http://mirror.eunet.fi/CPAN
 
 =item France
 
-                      http://cpan.enstimac.fr/
-                      ftp://ftp.inria.fr/pub/CPAN/
-                      http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
-                      ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
-                      ftp://ftp.lip6.fr/pub/perl/CPAN/
-                      http://mir2.ovh.net/ftp.cpan.org
-                      ftp://mir1.ovh.net/ftp.cpan.org
-                      http://cpan.miroir-francais.fr/
-                      ftp://miroir-francais.fr/pub/cpan/
-                      ftp://ftp.oleane.net/pub/CPAN/
-                      http://ftp.crihan.fr/mirrors/ftp.cpan.org/
-                      ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
-                      http://ftp.u-strasbg.fr/CPAN
-                      ftp://ftp.u-strasbg.fr/CPAN
-                      http://cpan.cict.fr/
-                      ftp://cpan.cict.fr/pub/CPAN/
+  http://cpan.enstimac.fr/
+  ftp://ftp.inria.fr/pub/CPAN/
+  http://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
+  ftp://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/cpan/
+  ftp://ftp.lip6.fr/pub/perl/CPAN/
+  http://mir2.ovh.net/ftp.cpan.org
+  ftp://mir1.ovh.net/ftp.cpan.org
+  ftp://ftp.oleane.net/pub/CPAN/
+  http://ftp.crihan.fr/mirrors/ftp.cpan.org/
+  ftp://ftp.crihan.fr/mirrors/ftp.cpan.org/
+  http://ftp.u-strasbg.fr/CPAN
+  ftp://ftp.u-strasbg.fr/CPAN
+  http://cpan.cict.fr/
+  ftp://cpan.cict.fr/pub/CPAN/
 
 =item Germany
 
-                      ftp://ftp.fu-berlin.de/unix/languages/perl/
-                      http://mirrors.softliste.de/cpan/
-                      ftp://ftp.rub.de/pub/CPAN/
-                      http://www.planet-elektronik.de/CPAN/
-                      http://ftp.hosteurope.de/pub/CPAN/
-                      ftp://ftp.hosteurope.de/pub/CPAN/
-                      http://www.mirrorspace.org/cpan/
-                      http://mirror.netcologne.de/cpan/
-                      ftp://mirror.netcologne.de/cpan/
-                      ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
-                      http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
-                      ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
-                      http://mirrors.zerg.biz/cpan/
-                      http://ftp.gwdg.de/pub/languages/perl/CPAN/
-                      ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
-                      http://dl.ambiweb.de/mirrors/ftp.cpan.org/
-                      http://cpan.mirror.clusters.kg/
-                      http://cpan.mirror.iphh.net/
-                      ftp://cpan.mirror.iphh.net/pub/CPAN/
-                      http://cpan.mirroring.de/
-                      http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
-                      ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
-                      http://ftp.cw.net/pub/CPAN/
-                      ftp://ftp.cw.net/pub/CPAN/
-                      http://cpan.cpantesters.org/
-                      ftp://cpan.cpantesters.org/CPAN/
-                      http://cpan.mirrored.de/
-                      ftp://mirror.petamem.com/CPAN/
-                      http://cpan.noris.de/
-                      ftp://cpan.noris.de/pub/CPAN/
-                      ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
-                      ftp://ftp.gmd.de/mirrors/CPAN/
+  ftp://ftp.fu-berlin.de/unix/languages/perl/
+  http://mirrors.softliste.de/cpan/
+  ftp://ftp.rub.de/pub/CPAN/
+  http://www.planet-elektronik.de/CPAN/
+  http://ftp.hosteurope.de/pub/CPAN/
+  ftp://ftp.hosteurope.de/pub/CPAN/
+  http://www.mirrorspace.org/cpan/
+  http://mirror.netcologne.de/cpan/
+  ftp://mirror.netcologne.de/cpan/
+  ftp://ftp.freenet.de/pub/ftp.cpan.org/pub/CPAN/
+  http://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
+  ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/CPAN/
+  http://mirrors.zerg.biz/cpan/
+  http://ftp.gwdg.de/pub/languages/perl/CPAN/
+  ftp://ftp.gwdg.de/pub/languages/perl/CPAN/
+  http://dl.ambiweb.de/mirrors/ftp.cpan.org/
+  http://cpan.mirror.clusters.kg/
+  http://cpan.mirror.iphh.net/
+  ftp://cpan.mirror.iphh.net/pub/CPAN/
+  http://cpan.mirroring.de/
+  http://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
+  ftp://mirror.informatik.uni-mannheim.de/pub/mirrors/CPAN/
+  http://www.chemmedia.de/mirrors/CPAN/
+  http://ftp.cw.net/pub/CPAN/
+  ftp://ftp.cw.net/pub/CPAN/
+  http://cpan.cpantesters.org/
+  ftp://cpan.cpantesters.org/CPAN/
+  http://cpan.mirrored.de/
+  ftp://mirror.petamem.com/CPAN/
+  http://cpan.noris.de/
+  ftp://cpan.noris.de/pub/CPAN/
+  ftp://ftp.mpi-sb.mpg.de/pub/perl/CPAN/
+  ftp://ftp.gmd.de/mirrors/CPAN/
 
 =item Greece
 
-                      ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
-                      ftp://ftp.ntua.gr/pub/lang/perl/
-                      http://cpan.cc.uoc.gr/
-                      ftp://ftp.cc.uoc.gr/mirrors/CPAN/
+  ftp://ftp.forthnet.gr/pub/languages/perl/CPAN
+  ftp://ftp.ntua.gr/pub/lang/perl/
+  http://cpan.cc.uoc.gr/
+  ftp://ftp.cc.uoc.gr/mirrors/CPAN/
 
 =item Hungary
 
-                      http://cpan.mirrors.enexis.hu/
-                      ftp://cpan.mirrors.enexis.hu/mirrors/cpan/
-                      http://cpan.hu/
+  http://cpan.mirrors.enexis.hu/
+  ftp://cpan.mirrors.enexis.hu/mirrors/cpan/
+  http://cpan.hu/
 
 =item Iceland
 
-                      http://ftp.rhnet.is/pub/CPAN/
-                      ftp://ftp.rhnet.is/pub/CPAN/
+  http://ftp.rhnet.is/pub/CPAN/
+  ftp://ftp.rhnet.is/pub/CPAN/
 
 =item Ireland
 
-                      http://ftp.esat.net/pub/languages/perl/CPAN/
-                      ftp://ftp.esat.net/pub/languages/perl/CPAN/
-                      http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
-                      ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+  http://ftp.esat.net/pub/languages/perl/CPAN/
+  ftp://ftp.esat.net/pub/languages/perl/CPAN/
+  http://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
+  ftp://ftp.heanet.ie/mirrors/ftp.perl.org/pub/CPAN
 
 =item Italy
 
-                      http://bo.mirror.garr.it/mirrors/CPAN/
-                      http://cpan.panu.it/
-                      ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
-                      http://cpan.fastbull.org/
+  http://bo.mirror.garr.it/mirrors/CPAN/
+  http://cpan.panu.it/
+  ftp://ftp.panu.it/pub/mirrors/perl/CPAN/
 
 =item Latvia
 
-                      http://kvin.lv/pub/CPAN/
+  http://kvin.lv/pub/CPAN/
 
 =item Lithuania
 
-                      http://ftp.litnet.lt/pub/CPAN/
-                      ftp://ftp.litnet.lt/pub/CPAN/
+  http://ftp.litnet.lt/pub/CPAN/
+  ftp://ftp.litnet.lt/pub/CPAN/
 
 =item Malta
 
-                      http://cpan.waldonet.net.mt/
+  http://cpan.waldonet.net.mt/
 
 =item Netherlands
 
-                      ftp://ftp.quicknet.nl/pub/CPAN/
-                      http://mirror.hostfuss.com/CPAN/
-                      ftp://mirror.hostfuss.com/CPAN/
-                      http://mirrors3.kernel.org/cpan/
-                      ftp://mirrors3.kernel.org/pub/CPAN/
-                      http://cpan.osmirror.nl/
-                      ftp://ftp.osmirror.nl/pub/cpan/
-                      http://cpan.mirror.versatel.nl/
-                      ftp://ftp.mirror.versatel.nl/cpan/
-                      ftp://download.xs4all.nl/pub/mirror/CPAN/
-                      http://mirror.leaseweb.com/CPAN/
-                      ftp://mirror.leaseweb.com/CPAN/
-                      ftp://ftp.cpan.nl/pub/CPAN/
-                      http://archive.cs.uu.nl/mirror/CPAN/
-                      ftp://ftp.cs.uu.nl/mirror/CPAN/
-                      http://https://luxitude.net/cpan/
+  ftp://ftp.quicknet.nl/pub/CPAN/
+  http://mirror.hostfuss.com/CPAN/
+  ftp://mirror.hostfuss.com/CPAN/
+  http://mirrors3.kernel.org/cpan/
+  ftp://mirrors3.kernel.org/pub/CPAN/
+  http://cpan.mirror.versatel.nl/
+  ftp://ftp.mirror.versatel.nl/cpan/
+  ftp://download.xs4all.nl/pub/mirror/CPAN/
+  http://mirror.leaseweb.com/CPAN/
+  ftp://mirror.leaseweb.com/CPAN/
+  ftp://ftp.cpan.nl/pub/CPAN/
+  http://archive.cs.uu.nl/mirror/CPAN/
+  ftp://ftp.cs.uu.nl/mirror/CPAN/
+  http://luxitude.net/cpan/
 
 =item Norway
 
-                      ftp://ftp.uninett.no/pub/languages/perl/CPAN
-                      ftp://ftp.uit.no/pub/languages/perl/cpan/
+  ftp://ftp.uninett.no/pub/languages/perl/CPAN
+  ftp://ftp.uit.no/pub/languages/perl/cpan/
 
 =item Poland
 
-                      http://mirror.icis.pcz.pl/CPAN/
-                      ftp://mirror.icis.pcz.pl/CPAN/
-                      http://piotrkosoft.net/pub/mirrors/CPAN/
-                      ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
-                      http://ftp.man.poznan.pl/pub/CPAN
-                      ftp://ftp.man.poznan.pl/pub/CPAN
-                      ftp://sunsite.icm.edu.pl/pub/CPAN/
-                      ftp://ftp.tpnet.pl/d4/CPAN/
+  http://piotrkosoft.net/pub/mirrors/CPAN/
+  ftp://ftp.piotrkosoft.net/pub/mirrors/CPAN/
+  http://ftp.man.poznan.pl/pub/CPAN
+  ftp://ftp.man.poznan.pl/pub/CPAN
+  ftp://ftp.ps.pl/pub/CPAN/
+  ftp://sunsite.icm.edu.pl/pub/CPAN/
+  ftp://ftp.tpnet.pl/d4/CPAN/
 
 =item Portugal
 
-                      http://cpan.dei.uc.pt/
-                      ftp://ftp.dei.uc.pt/pub/CPAN
-                      ftp://ftp.ist.utl.pt/pub/CPAN/
-                      http://cpan.perl.pt/
-                      http://cpan.ip.pt/
-                      ftp://cpan.ip.pt/pub/cpan/
-                      http://mirrors.nfsi.pt/CPAN/
-                      ftp://mirrors.nfsi.pt/pub/CPAN/
-                      http://cpan.dcc.fc.up.pt/
+  http://cpan.dei.uc.pt/
+  ftp://ftp.dei.uc.pt/pub/CPAN
+  ftp://ftp.ist.utl.pt/pub/CPAN/
+  http://cpan.perl.pt/
+  http://cpan.ip.pt/
+  ftp://cpan.ip.pt/pub/cpan/
+  http://mirrors.nfsi.pt/CPAN/
+  ftp://mirrors.nfsi.pt/pub/CPAN/
+  http://cpan.dcc.fc.up.pt/
 
 =item Romania
 
-                      http://ftp.astral.ro/pub/CPAN/
-                      ftp://ftp.astral.ro/pub/CPAN/
-                      ftp://ftp.lug.ro/CPAN
-                      http://mirrors.xservers.ro/CPAN/
-                      http://mirrors.hostingromania.ro/ftp.cpan.org/
-                      ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/
-                      ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
-                      ftp://ftp.ambra.ro/pub/CPAN
+  http://ftp.astral.ro/pub/CPAN/
+  ftp://ftp.astral.ro/pub/CPAN/
+  ftp://ftp.lug.ro/CPAN
+  http://mirrors.xservers.ro/CPAN/
+  http://mirrors.hostingromania.ro/ftp.cpan.org/
+  ftp://ftp.hostingromania.ro/mirrors/ftp.cpan.org/
+  ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.cpan.org/
 
 =item Russia
 
-                      ftp://ftp.aha.ru/CPAN/
-                      http://cpan.rinet.ru/
-                      ftp://cpan.rinet.ru/pub/mirror/CPAN/
-                      ftp://ftp.SpringDaemons.com/pub/CPAN/
-                      http://cpan.nx1.ru/
-                      ftp://cpan.nx1.ru/
-                      http://mirror.rol.ru/CPAN/
-                      http://ftp.silvernet.ru/CPAN/
-                      http://ftp.spbu.ru/CPAN/
-                      ftp://ftp.spbu.ru/CPAN/
+  ftp://ftp.aha.ru/CPAN/
+  http://cpan.rinet.ru/
+  ftp://cpan.rinet.ru/pub/mirror/CPAN/
+  ftp://ftp.SpringDaemons.com/pub/CPAN/
+  http://mirror.rol.ru/CPAN/
+  http://ftp.silvernet.ru/CPAN/
+  http://ftp.spbu.ru/CPAN/
+  ftp://ftp.spbu.ru/CPAN/
 
 =item Slovakia
 
-                      http://cpan.fyxm.net/
+  http://cpan.fyxm.net/
 
 =item Slovenia
 
-                      http://www.klevze.si/cpan
+  http://www.klevze.si/cpan
 
 =item Spain
 
-                      http://osl.ugr.es/CPAN/
-                      ftp://ftp.rediris.es/mirror/CPAN/
-                      http://ftp.gui.uva.es/sites/cpan.org/
-                      ftp://ftp.gui.uva.es/sites/cpan.org/
+  http://osl.ugr.es/CPAN/
+  ftp://ftp.rediris.es/mirror/CPAN/
+  http://ftp.gui.uva.es/sites/cpan.org/
+  ftp://ftp.gui.uva.es/sites/cpan.org/
 
 =item Sweden
 
-                      http://mirrors4.kernel.org/cpan/
-                      ftp://mirrors4.kernel.org/pub/CPAN/
+  http://mirrors4.kernel.org/cpan/
+  ftp://mirrors4.kernel.org/pub/CPAN/
 
 =item Switzerland
 
-                      http://cpan.mirror.solnet.ch/
-                      ftp://ftp.solnet.ch/mirror/CPAN/
-                      http://mirror.switch.ch/ftp/mirror/CPAN/
-                      ftp://mirror.switch.ch/mirror/CPAN/
+  http://cpan.mirror.solnet.ch/
+  ftp://ftp.solnet.ch/mirror/CPAN/
+  ftp://ftp.adwired.ch/CPAN/
+  http://mirror.switch.ch/ftp/mirror/CPAN/
+  ftp://mirror.switch.ch/mirror/CPAN/
 
 =item Ukraine
 
-                      http://cpan.makeperl.org/
-                      ftp://cpan.makeperl.org/pub/CPAN
-                      http://cpan.org.ua/
-                      http://no-more.kiev.ua/CPAN/
-                      ftp://no-more.kiev.ua/pub/CPAN/
-                      http://cpan.gafol.net/
-                      ftp://ftp.gafol.net/pub/cpan/
+  http://cpan.makeperl.org/
+  ftp://cpan.makeperl.org/pub/CPAN
+  http://cpan.org.ua/
+  http://cpan.gafol.net/
+  ftp://ftp.gafol.net/pub/cpan/
 
 =item United Kingdom
 
-                      http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
-                      ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
-                      http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
-                      ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
-                      http://www.mirror.8086.net/sites/CPAN/
-                      ftp://ftp.mirror.8086.net/sites/CPAN/
-                      http://cpan.mirror.anlx.net/
-                      ftp://ftp.mirror.anlx.net/CPAN/
-                      http://mirror.bytemark.co.uk/CPAN/
-                      ftp://mirror.bytemark.co.uk/CPAN/
-                      http://cpan.etla.org/
-                      ftp://cpan.etla.org/pub/CPAN
-                      ftp://ftp.demon.co.uk/pub/CPAN/
-                      http://mirror.sov.uk.goscomb.net/CPAN/
-                      ftp://mirror.sov.uk.goscomb.net/pub/CPAN/
-                      http://ftp.plig.net/pub/CPAN/
-                      ftp://ftp.plig.net/pub/CPAN/
-                      http://ftp.ticklers.org/pub/CPAN/
-                      ftp://ftp.ticklers.org/pub/CPAN/
-                      http://cpan.mirrors.uk2.net/
-                      ftp://mirrors.uk2.net/pub/CPAN/
-                      http://mirror.ox.ac.uk/sites/www.cpan.org/
-                      ftp://mirror.ox.ac.uk/sites/www.cpan.org/
+  http://www.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
+  ftp://ftp.mirrorservice.org/sites/ftp.funet.fi/pub/languages/perl/CPAN/
+  http://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
+  ftp://mirror.tje.me.uk/pub/mirrors/ftp.cpan.org/
+  http://www.mirror.8086.net/sites/CPAN/
+  ftp://ftp.mirror.8086.net/sites/CPAN/
+  http://cpan.mirror.anlx.net/
+  ftp://ftp.mirror.anlx.net/CPAN/
+  http://mirror.bytemark.co.uk/CPAN/
+  ftp://mirror.bytemark.co.uk/CPAN/
+  http://cpan.etla.org/
+  ftp://cpan.etla.org/pub/CPAN
+  ftp://ftp.demon.co.uk/pub/CPAN/
+  http://mirror.sov.uk.goscomb.net/CPAN/
+  ftp://mirror.sov.uk.goscomb.net/pub/CPAN/
+  http://ftp.plig.net/pub/CPAN/
+  ftp://ftp.plig.net/pub/CPAN/
+  http://ftp.ticklers.org/pub/CPAN/
+  ftp://ftp.ticklers.org/pub/CPAN/
+  http://cpan.mirrors.uk2.net/
+  ftp://mirrors.uk2.net/pub/CPAN/
+  http://mirror.ox.ac.uk/sites/www.cpan.org/
+  ftp://mirror.ox.ac.uk/sites/www.cpan.org/
 
 =back
 
@@ -734,30 +726,28 @@
 
 =item Bahamas
 
-                      http://www.securehost.com/mirror/CPAN/
+  http://www.securehost.com/mirror/CPAN/
 
 =item Canada
 
-                      http://cpan.justanotherperlhacker.com/pub/CPAN/
-                      ftp://cpan.justanotherperlhacker.com/pub/CPAN/
-                      http://cpan.arcticnetwork.ca
-                      ftp://mirror.arcticnetwork.ca/pub/CPAN
-                      http://cpan.sunsite.ualberta.ca/
-                      ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
-                      http://theoryx5.uwinnipeg.ca/pub/CPAN/
-                      ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
-                      http://arwen.cs.dal.ca/mirror/CPAN/
-                      ftp://arwen.cs.dal.ca/pub/mirror/CPAN/
-                      http://CPAN.mirror.rafal.ca/
-                      ftp://CPAN.mirror.rafal.ca/pub/CPAN/
-                      ftp://ftp.nrc.ca/pub/CPAN/
-                      http://mirror.csclub.uwaterloo.ca/pub/CPAN/
-                      ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/
+  http://cpan.arcticnetwork.ca
+  ftp://mirror.arcticnetwork.ca/pub/CPAN
+  http://cpan.sunsite.ualberta.ca/
+  ftp://cpan.sunsite.ualberta.ca/pub/CPAN/
+  http://theoryx5.uwinnipeg.ca/pub/CPAN/
+  ftp://theoryx5.uwinnipeg.ca/pub/CPAN/
+  http://arwen.cs.dal.ca/mirror/CPAN/
+  ftp://arwen.cs.dal.ca/pub/mirror/CPAN/
+  http://CPAN.mirror.rafal.ca/
+  ftp://CPAN.mirror.rafal.ca/pub/CPAN/
+  ftp://ftp.nrc.ca/pub/CPAN/
+  http://mirror.csclub.uwaterloo.ca/pub/CPAN/
+  ftp://mirror.csclub.uwaterloo.ca/pub/CPAN/
 
 =item Mexico
 
-                      http://www.msg.com.mx/CPAN/
-                      ftp://ftp.msg.com.mx/pub/CPAN/
+  http://www.msg.com.mx/CPAN/
+  ftp://ftp.msg.com.mx/pub/CPAN/
 
 =item United States
 
@@ -765,150 +755,145 @@
 
 =item Alabama
 
-                      http://mirror.hiwaay.net/CPAN/
-                      ftp://mirror.hiwaay.net/CPAN/
+  http://mirror.hiwaay.net/CPAN/
+  ftp://mirror.hiwaay.net/CPAN/
 
+=item Arizona
+
+  http://cpan.ezarticleinformation.com/
+
 =item California
 
-                      http://cpan.knowledgematters.net/
-                      http://cpan.binkerton.com/
-                      http://cpan.develooper.com/
-                      http://mirrors.gossamer-threads.com/CPAN
-                      http://cpan.schatt.com/
-                      http://mirrors.kernel.org/cpan/
-                      ftp://mirrors.kernel.org/pub/CPAN
-                      http://mirrors2.kernel.org/cpan/
-                      ftp://mirrors2.kernel.org/pub/CPAN/
-                      http://cpan.mirrors.redwire.net/
-                      http://cpan.mirror.facebook.net/
-                      http://mirrors1.kernel.org/cpan/
-                      ftp://mirrors1.kernel.org/pub/CPAN/
-                      http://cpan-sj.viaverio.com/
-                      ftp://cpan-sj.viaverio.com/pub/CPAN/
-                      http://www.perl.com/CPAN/
-                      http://cpan.yahoo.com/
+  http://cpan.knowledgematters.net/
+  http://cpan.binkerton.com/
+  http://cpan.develooper.com/
+  http://mirrors.gossamer-threads.com/CPAN
+  http://cpan.schatt.com/
+  http://mirrors.kernel.org/cpan/
+  ftp://mirrors.kernel.org/pub/CPAN
+  http://mirrors2.kernel.org/cpan/
+  ftp://mirrors2.kernel.org/pub/CPAN/
+  http://cpan.mirror.facebook.net/
+  http://mirrors1.kernel.org/cpan/
+  ftp://mirrors1.kernel.org/pub/CPAN/
+  http://cpan-sj.viaverio.com/
+  ftp://cpan-sj.viaverio.com/pub/CPAN/
+  http://www.perl.com/CPAN/
 
 =item Florida
 
-                      ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
-                      http://mirror.atlantic.net/pub/CPAN/
-                      ftp://mirror.atlantic.net/pub/CPAN/
-                      http://mirror.candidhosting.com/pub/CPAN
-                      ftp://mirror.candidhosting.com/pub/CPAN
+  ftp://ftp.cise.ufl.edu/pub/mirrors/CPAN/
+  http://mirror.atlantic.net/pub/CPAN/
+  ftp://mirror.atlantic.net/pub/CPAN/
 
 =item Idaho
 
-                      http://mirror.its.uidaho.edu/pub/cpan/
-                      ftp://mirror.its.uidaho.edu/cpan/
+  http://mirror.its.uidaho.edu/pub/cpan/
+  ftp://mirror.its.uidaho.edu/cpan/
 
 =item Illinois
 
-                      http://cpan.mirrors.hoobly.com/
-                      http://cpan.uchicago.edu/pub/CPAN/
-                      ftp://cpan.uchicago.edu/pub/CPAN/
-                      http://mirrors.servercentral.net/CPAN/
-                      http://www.stathy.com/CPAN/
-                      ftp://www.stathy.com/CPAN/
+  http://cpan.mirrors.hoobly.com/
+  http://cpan.uchicago.edu/pub/CPAN/
+  ftp://cpan.uchicago.edu/pub/CPAN/
+  http://mirrors.servercentral.net/CPAN/
+  http://www.stathy.com/CPAN/
+  ftp://www.stathy.com/CPAN/
 
 =item Indiana
 
-                      ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
-                      http://cpan.netnitco.net/
-                      ftp://cpan.netnitco.net/pub/mirrors/CPAN/
-                      http://ftp.ndlug.nd.edu/pub/perl/
-                      ftp://ftp.ndlug.nd.edu/pub/perl/
-                      http://fx.saintjoe.edu/pub/CPAN
+  ftp://ftp.uwsg.iu.edu/pub/perl/CPAN/
+  http://cpan.netnitco.net/
+  ftp://cpan.netnitco.net/pub/mirrors/CPAN/
+  http://ftp.ndlug.nd.edu/pub/perl/
+  ftp://ftp.ndlug.nd.edu/pub/perl/
 
 =item Massachusetts
 
-                      ftp://ftp.ccs.neu.edu/net/mirrors/ftp.funet.fi/pub/languages/perl/CPAN/
+  http://mirrors.ccs.neu.edu/CPAN/
 
 =item Michigan
 
-                      http://ftp.wayne.edu/cpan/
-                      ftp://ftp.wayne.edu/cpan/
+  http://ftp.wayne.edu/cpan/
+  ftp://ftp.wayne.edu/cpan/
 
 =item Minnesota
 
-                      http://cpan.msi.umn.edu/
+  http://cpan.msi.umn.edu/
 
 =item New Jersey
 
-                      http://mirror.datapipe.net/CPAN/
-                      ftp://mirror.datapipe.net/pub/CPAN/
+  http://mirror.datapipe.net/CPAN/
+  ftp://mirror.datapipe.net/pub/CPAN/
 
 =item New York
 
-                      http://mirrors.24-7-solutions.net/pub/CPAN/
-                      ftp://mirrors.24-7-solutions.net/pub/CPAN/
-                      http://mirror.cc.columbia.edu/pub/software/cpan/
-                      ftp://mirror.cc.columbia.edu/pub/software/cpan/
-                      http://cpan.belfry.net/
-                      http://cpan.erlbaum.net/
-                      ftp://cpan.erlbaum.net/CPAN/
-                      http://cpan.hexten.net/
-                      ftp://cpan.hexten.net/
-                      http://ftp.fxcorporate.com/CPAN/
-                      ftp://ftp.fxcorporate.com/pub/CPAN/
-                      ftp://mirror.nyi.net/CPAN/
-                      http://mirror.rit.edu/CPAN/
-                      ftp://mirror.rit.edu/CPAN/
+  http://mirrors.24-7-solutions.net/pub/CPAN/
+  ftp://mirrors.24-7-solutions.net/pub/CPAN/
+  http://mirror.cc.columbia.edu/pub/software/cpan/
+  ftp://mirror.cc.columbia.edu/pub/software/cpan/
+  http://cpan.belfry.net/
+  http://cpan.erlbaum.net/
+  ftp://cpan.erlbaum.net/CPAN/
+  http://cpan.hexten.net/
+  ftp://cpan.hexten.net/
+  ftp://mirror.nyi.net/CPAN/
+  http://mirror.rit.edu/CPAN/
+  ftp://mirror.rit.edu/CPAN/
 
 =item North Carolina
 
-                      http://www.ibiblio.org/pub/mirrors/CPAN
-                      ftp://ftp.ncsu.edu/pub/mirror/CPAN/
+  http://www.ibiblio.org/pub/mirrors/CPAN
+  ftp://ftp.ncsu.edu/pub/mirror/CPAN/
 
 =item Oregon
 
-                      http://ftp.osuosl.org/pub/CPAN/
-                      ftp://ftp.osuosl.org/pub/CPAN/
+  http://ftp.osuosl.org/pub/CPAN/
+  ftp://ftp.osuosl.org/pub/CPAN/
 
 =item Pennsylvania
 
-                      http://ftp.epix.net/CPAN/
-                      ftp://ftp.epix.net/pub/languages/perl/
-                      http://cpan.pair.com/
-                      ftp://cpan.pair.com/pub/CPAN/
+  http://ftp.epix.net/CPAN/
+  ftp://ftp.epix.net/pub/languages/perl/
+  http://cpan.pair.com/
+  ftp://cpan.pair.com/pub/CPAN/
 
 =item South Carolina
 
-                      http://cpan.mirror.clemson.edu/
+  http://cpan.mirror.clemson.edu/
 
 =item Tennessee
 
-                      http://mira.sunsite.utk.edu/CPAN/
+  http://mira.sunsite.utk.edu/CPAN/
 
 =item Texas
 
-                      http://mirror.uta.edu/CPAN
+  http://mirror.uta.edu/CPAN
 
 =item Utah
 
-                      http://cpan.cs.utah.edu
-                      ftp://cpan.cs.utah.edu/pub/CPAN/
-                      ftp://mirror.xmission.com/CPAN/
+  ftp://mirror.xmission.com/CPAN/
 
 =item Virginia
 
-                      http://cpan-du.viaverio.com/
-                      ftp://cpan-du.viaverio.com/pub/CPAN/
-                      http://perl.secsup.org/
-                      ftp://perl.secsup.org/pub/perl/
-                      ftp://mirror.cogentco.com/pub/CPAN/
+  http://cpan-du.viaverio.com/
+  ftp://cpan-du.viaverio.com/pub/CPAN/
+  http://perl.secsup.org/
+  ftp://perl.secsup.org/pub/perl/
+  ftp://mirror.cogentco.com/pub/CPAN/
 
 =item Washington
 
-                      http://cpan.llarian.net/
-                      ftp://cpan.llarian.net/pub/CPAN/
-                      ftp://ftp-mirror.internap.com/pub/CPAN/
+  http://cpan.llarian.net/
+  ftp://cpan.llarian.net/pub/CPAN/
+  ftp://ftp-mirror.internap.com/pub/CPAN/
 
 =item Wisconsin
 
-                      http://cpan.mirrors.tds.net
-                      ftp://cpan.mirrors.tds.net/pub/CPAN
-                      http://mirror.sit.wisc.edu/pub/CPAN/
-                      ftp://mirror.sit.wisc.edu/pub/CPAN/
+  http://cpan.mirrors.tds.net
+  ftp://cpan.mirrors.tds.net/pub/CPAN
+  http://mirror.sit.wisc.edu/pub/CPAN/
+  ftp://mirror.sit.wisc.edu/pub/CPAN/
 
 =back
 
@@ -920,19 +905,19 @@
 
 =item Australia
 
-                      http://mirror.internode.on.net/pub/cpan/
-                      ftp://mirror.internode.on.net/pub/cpan/
-                      http://cpan.mirror.aussiehq.net.au/
-                      http://mirror.as24220.net/cpan/
-                      ftp://mirror.as24220.net/cpan/
+  http://mirror.internode.on.net/pub/cpan/
+  ftp://mirror.internode.on.net/pub/cpan/
+  http://cpan.mirror.aussiehq.net.au/
+  http://mirror.as24220.net/cpan/
+  ftp://mirror.as24220.net/cpan/
 
 =item New Zealand
 
-                      ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
-                      http://cpan.inspire.net.nz
-                      ftp://cpan.inspire.net.nz/cpan
-                      http://cpan.catalyst.net.nz/CPAN/
-                      ftp://cpan.catalyst.net.nz/pub/CPAN/
+  ftp://ftp.auckland.ac.nz/pub/perl/CPAN/
+  http://cpan.inspire.net.nz
+  ftp://cpan.inspire.net.nz/cpan
+  http://cpan.catalyst.net.nz/CPAN/
+  ftp://cpan.catalyst.net.nz/pub/CPAN/
 
 =back
 
@@ -942,26 +927,25 @@
 
 =item Argentina
 
-                      http://cpan.patan.com.ar/
-                      http://cpan.localhost.net.ar
-                      ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN
+  http://cpan.patan.com.ar/
+  http://cpan.localhost.net.ar
+  ftp://mirrors.localhost.net.ar/pub/mirrors/CPAN
 
 =item Brazil
 
-                      ftp://cpan.pop-mg.com.br/pub/CPAN/
-                      http://ftp.pucpr.br/CPAN
-                      ftp://ftp.pucpr.br/CPAN
-                      http://cpan.kinghost.net/
-                      ftp://ftp.linorg.usp.br/CPAN
+  ftp://cpan.pop-mg.com.br/pub/CPAN/
+  http://ftp.pucpr.br/CPAN
+  ftp://ftp.pucpr.br/CPAN
+  http://cpan.kinghost.net/
 
 =item Chile
 
-                      http://cpan.dcc.uchile.cl/
-                      ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
+  http://cpan.dcc.uchile.cl/
+  ftp://cpan.dcc.uchile.cl/pub/lang/cpan/
 
 =item Colombia
 
-                      http://www.laqee.unal.edu.co/CPAN/
+  http://www.laqee.unal.edu.co/CPAN/
 
 =back
 
@@ -1064,7 +1048,7 @@
 totally transparent to the user of the module.  Likewise, the module
 might set up an AUTOLOAD function to slurp in subroutine definitions on
 demand, but this is also transparent.  Only the F<.pm> file is required to
-exist.  See L<perlsub>, L<perltoot>, and L<AutoLoader> for details about
+exist.  See L<perlsub>, L<perlobj>, and L<AutoLoader> for details about
 the AUTOLOAD mechanism.
 
 =head2 Guidelines for Module Creation
@@ -1124,7 +1108,7 @@
 class names as far as possible.
 
 Avoid C<< $r->Class::func() >> where using C<@ISA=qw(... Class ...)> and
-C<< $r->func() >> would work (see L<perlbot> for more details).
+C<< $r->func() >> would work.
 
 Use autosplit so little used or newly added functions won't be a
 burden to programs that don't use them. Add test functions to
@@ -1348,7 +1332,7 @@
 
 To be fully compatible with the Exporter and MakeMaker modules you
 should store your module's version number in a non-my package
-variable called $VERSION.  This should be a floating point
+variable called $VERSION.  This should be a positive floating point
 number with at least two digits after the decimal (i.e., hundredths,
 e.g, C<$VERSION = "0.01">).  Don't use a "1.3.2" style version.
 See L<Exporter> for details.
@@ -1523,8 +1507,9 @@
 written contract for the module (A.K.A. documentation) may make other
 provisions.  But then you know when you C<use RedefineTheWorld> that
 you're redefining the world and willing to take the consequences.
-EOF
 
+=cut
+
 close MANIFEST or warn "$0: failed to close MANIFEST (../MANIFEST): $!";
 close OUT      or warn "$0: failed to close OUT (perlmodlib.pod): $!";
 


Property changes on: vendor/perl/dist/pod/perlmodlib.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlmodlib.pod
===================================================================
--- vendor/perl/dist/pod/perlmodlib.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlmodlib.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlmodlib.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlmodstyle.pod
===================================================================
--- vendor/perl/dist/pod/perlmodstyle.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlmodstyle.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -254,55 +254,58 @@
 of interfaces available.  There are pros and cons of each technique, which 
 should be considered when you design your API.
 
-According to Damian Conway, you should consider using OO:
+In I<Perl Best Practices> (copyright 2004, Published by O'Reilly Media, Inc.),
+Damian Conway provides a list of criteria to use when deciding if OO is the
+right fit for your problem:
 
 =over 4
 
-=item * 
+=item *
 
-When the system is large or likely to become so
+The system being designed is large, or is likely to become large.
 
-=item * 
+=item *
 
-When the data is aggregated in obvious structures that will become objects 
+The data can be aggregated into obvious structures, especially if
+there's a large amount of data in each aggregate.
 
-=item * 
+=item *
 
-When the types of data form a natural hierarchy that can make use of inheritance
+The various types of data aggregate form a natural hierarchy that
+facilitates the use of inheritance and polymorphism.
 
 =item *
 
-When operations on data vary according to data type (making
-polymorphic invocation of methods feasible)
+You have a piece of data on which many different operations are
+applied.
 
 =item *
 
-When it is likely that new data types may be later introduced
-into the system, and will need to be handled by existing code
+You need to perform the same general operations on related types of
+data, but with slight variations depending on the specific type of data
+the operations are applied to.
 
 =item *
 
-When interactions between data are best represented by
-overloaded operators
+It's likely you'll have to add new data types later.
 
 =item *
 
-When the implementation of system components is likely to
-change over time (and hence should be encapsulated)
+The typical interactions between pieces of data are best represented by
+operators.
 
 =item *
 
-When the system design is itself object-oriented
+The implementation of individual components of the system is likely to
+change over time.
 
 =item *
 
-When large amounts of client code will use the software (and
-should be insulated from changes in its implementation)
+The system design is already object-oriented.
 
 =item *
 
-When many separate operations will need to be applied to the
-same set of data
+Large numbers of other programmers will be using your code modules.
 
 =back
 


Property changes on: vendor/perl/dist/pod/perlmodstyle.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlmroapi.pod
===================================================================
--- vendor/perl/dist/pod/perlmroapi.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlmroapi.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 The C3 method resolution order added in 5.10.0 has been re-implemented as
 a plugin, without changing its Perl-space interface.
 
-Each plugin should register itself with C<Perl_mro_register> by providing
+Each plugin should register itself by providing
 the following structure
 
     struct mro_alg {
@@ -20,6 +20,10 @@
         U32 hash;
     };
 
+and calling C<Perl_mro_register>:
+
+    Perl_mro_register(aTHX_ &my_mro_alg);
+
 =over 4
 
 =item resolve


Property changes on: vendor/perl/dist/pod/perlmroapi.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perlnewmod.pod
===================================================================
--- vendor/perl/dist/pod/perlnewmod.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlnewmod.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlnewmod.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/perlnumber.pod
===================================================================
--- vendor/perl/dist/pod/perlnumber.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlnumber.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlnumber.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlobj.pod
===================================================================
--- vendor/perl/dist/pod/perlobj.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlobj.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,595 +1,1047 @@
+=encoding utf8
+
+=for comment
+Consistent formatting of this file is achieved with:
+  perl ./Porting/podtidy pod/perlobj.pod
+
 =head1 NAME
 X<object> X<OOP>
 
-perlobj - Perl objects
+perlobj - Perl object reference
 
 =head1 DESCRIPTION
 
-First you need to understand what references are in Perl.
-See L<perlref> for that.  Second, if you still find the following
-reference work too complicated, a tutorial on object-oriented programming
-in Perl can be found in L<perltoot> and L<perltooc>.
+This document provides a reference for Perl's object orientation
+features. If you're looking for an introduction to object-oriented
+programming in Perl, please see L<perlootut>.
 
-If you're still with us, then
-here are three very simple definitions that you should find reassuring.
+In order to understand Perl objects, you first need to understand
+references in Perl. See L<perlref> for details.
 
+This document describes all of Perl's object-oriented (OO) features
+from the ground up. If you're just looking to write some
+object-oriented code of your own, you are probably better served by
+using one of the object systems from CPAN described in L<perlootut>.
+
+If you're looking to write your own object system, or you need to
+maintain code which implements objects from scratch then this document
+will help you understand exactly how Perl does object orientation.
+
+There are a few basic principles which define object oriented Perl:
+
 =over 4
 
 =item 1.
 
-An object is simply a reference that happens to know which class it
-belongs to.
+An object is simply a data structure that knows to which class it
+belongs.
 
 =item 2.
 
-A class is simply a package that happens to provide methods to deal
-with object references.
+A class is simply a package. A class provides methods that expect to
+operate on objects.
 
 =item 3.
 
-A method is simply a subroutine that expects an object reference (or
-a package name, for class methods) as the first argument.
+A method is simply a subroutine that expects a reference to an object
+(or a package name, for class methods) as the first argument.
 
 =back
 
-We'll cover these points now in more depth.
+Let's look at each of these principles in depth.
 
-=head2 An Object is Simply a Reference
+=head2 An Object is Simply a Data Structure
 X<object> X<bless> X<constructor> X<new>
 
-Unlike say C++, Perl doesn't provide any special syntax for
-constructors.  A constructor is merely a subroutine that returns a
-reference to something "blessed" into a class, generally the
-class that the subroutine is defined in.  Here is a typical
-constructor:
+Unlike many other languages which support object orientation, Perl does
+not provide any special syntax for constructing an object. Objects are
+merely Perl data structures (hashes, arrays, scalars, filehandles,
+etc.) that have been explicitly associated with a particular class.
 
-    package Critter;
-    sub new { bless {} }
+That explicit association is created by the built-in C<bless> function,
+which is typically used within the I<constructor> subroutine of the
+class.
 
-That word C<new> isn't special.  You could have written
-a construct this way, too:
+Here is a simple constructor:
 
-    package Critter;
-    sub spawn { bless {} }
+  package File;
 
-This might even be preferable, because the C++ programmers won't
-be tricked into thinking that C<new> works in Perl as it does in C++.
-It doesn't.  We recommend that you name your constructors whatever
-makes sense in the context of the problem you're solving.  For example,
-constructors in the Tk extension to Perl are named after the widgets
-they create.
+  sub new {
+      my $class = shift;
 
-One thing that's different about Perl constructors compared with those in
-C++ is that in Perl, they have to allocate their own memory.  (The other
-things is that they don't automatically call overridden base-class
-constructors.)  The C<{}> allocates an anonymous hash containing no
-key/value pairs, and returns it  The bless() takes that reference and
-tells the object it references that it's now a Critter, and returns
-the reference.  This is for convenience, because the referenced object
-itself knows that it has been blessed, and the reference to it could
-have been returned directly, like this:
+      return bless {}, $class;
+  }
 
-    sub new {
-	my $self = {};
-	bless $self;
-	return $self;
-    }
+The name C<new> isn't special. We could name our constructor something
+else:
 
-You often see such a thing in more complicated constructors
-that wish to call methods in the class as part of the construction:
+  package File;
 
-    sub new {
-	my $self = {};
-	bless $self;
-	$self->initialize();
-	return $self;
-    }
+  sub load {
+      my $class = shift;
 
-If you care about inheritance (and you should; see
-L<perlmodlib/"Modules: Creation, Use, and Abuse">),
-then you want to use the two-arg form of bless
-so that your constructors may be inherited:
+      return bless {}, $class;
+  }
 
-    sub new {
-	my $class = shift;
-	my $self = {};
-	bless $self, $class;
-	$self->initialize();
-	return $self;
-    }
+The modern convention for OO modules is to always use C<new> as the
+name for the constructor, but there is no requirement to do so. Any
+subroutine that blesses a data structure into a class is a valid
+constructor in Perl.
 
-Or if you expect people to call not just C<< CLASS->new() >> but also
-C<< $obj->new() >>, then use something like the following.  (Note that using
-this to call new() on an instance does not automatically perform any
-copying.  If you want a shallow or deep copy of an object, you'll have to
-specifically allow for that.)  The initialize() method used will be of
-whatever $class we blessed the object into:
+In the previous examples, the C<{}> code creates a reference to an
+empty anonymous hash. The C<bless> function then takes that reference
+and associates the hash with the class in C<$class>. In the simplest
+case, the C<$class> variable will end up containing the string "File".
 
-    sub new {
-	my $this = shift;
-	my $class = ref($this) || $this;
-	my $self = {};
-	bless $self, $class;
-	$self->initialize();
-	return $self;
-    }
+We can also use a variable to store a reference to the data structure
+that is being blessed as our object:
 
-Within the class package, the methods will typically deal with the
-reference as an ordinary reference.  Outside the class package,
-the reference is generally treated as an opaque value that may
-be accessed only through the class's methods.
+  sub new {
+      my $class = shift;
 
-Although a constructor can in theory re-bless a referenced object
-currently belonging to another class, this is almost certainly going
-to get you into trouble.  The new class is responsible for all
-cleanup later.  The previous blessing is forgotten, as an object
-may belong to only one class at a time.  (Although of course it's
-free to inherit methods from many classes.)  If you find yourself
-having to do this, the parent class is probably misbehaving, though.
+      my $self = {};
+      bless $self, $class;
 
-A clarification:  Perl objects are blessed.  References are not.  Objects
-know which package they belong to.  References do not.  The bless()
-function uses the reference to find the object.  Consider
-the following example:
+      return $self;
+  }
 
-    $a = {};
-    $b = $a;
-    bless $a, BLAH;
-    print "\$b is a ", ref($b), "\n";
+Once we've blessed the hash referred to by C<$self> we can start
+calling methods on it. This is useful if you want to put object
+initialization in its own separate method:
 
-This reports $b as being a BLAH, so obviously bless()
-operated on the object and not on the reference.
+  sub new {
+      my $class = shift;
 
-=head2 A Class is Simply a Package
-X<class> X<package> X<@ISA> X<inheritance>
+      my $self = {};
+      bless $self, $class;
 
-Unlike say C++, Perl doesn't provide any special syntax for class
-definitions.  You use a package as a class by putting method
-definitions into the class.
+      $self->_initialize();
 
-There is a special array within each package called @ISA, which says
-where else to look for a method if you can't find it in the current
-package.  This is how Perl implements inheritance.  Each element of the
- at ISA array is just the name of another package that happens to be a
-class package.  The classes are searched for missing methods in
-depth-first, left-to-right order by default (see L<mro> for alternative
-search order and other in-depth information).  The classes accessible
-through @ISA are known as base classes of the current class.
+      return $self;
+  }
 
-All classes implicitly inherit from class C<UNIVERSAL> as their
-last base class.  Several commonly used methods are automatically
-supplied in the UNIVERSAL class; see L<"Default UNIVERSAL methods"> or
-L<UNIVERSAL|UNIVERSAL> for more details.
-X<UNIVERSAL> X<base class> X<class, base>
+Since the object is also a hash, you can treat it as one, using it to
+store data associated with the object. Typically, code inside the class
+can treat the hash as an accessible data structure, while code outside
+the class should always treat the object as opaque. This is called
+B<encapsulation>. Encapsulation means that the user of an object does
+not have to know how it is implemented. The user simply calls
+documented methods on the object.
 
-If a missing method is found in a base class, it is cached
-in the current class for efficiency.  Changing @ISA or defining new
-subroutines invalidates the cache and causes Perl to do the lookup again.
+Note, however, that (unlike most other OO languages) Perl does not
+ensure or enforce encapsulation in any way. If you want objects to
+actually I<be> opaque you need to arrange for that yourself. This can
+be done in a varierty of ways, including using L<"Inside-Out objects">
+or modules from CPAN.
 
-If neither the current class, its named base classes, nor the UNIVERSAL
-class contains the requested method, these three places are searched
-all over again, this time looking for a method named AUTOLOAD().  If an
-AUTOLOAD is found, this method is called on behalf of the missing method,
-setting the package global $AUTOLOAD to be the fully qualified name of
-the method that was intended to be called.
-X<AUTOLOAD>
+=head3 Objects Are Blessed; Variables Are Not
 
-If none of that works, Perl finally gives up and complains.
+When we bless something, we are not blessing the variable which
+contains a reference to that thing, nor are we blessing the reference
+that the variable stores; we are blessing the thing that the variable
+refers to (sometimes known as the I<referent>). This is best
+demonstrated with this code:
 
-If you want to stop the AUTOLOAD inheritance say simply
-X<AUTOLOAD>
+  use Scalar::Util 'blessed';
 
-	sub AUTOLOAD;
+  my $foo = {};
+  my $bar = $foo;
 
-and the call will die using the name of the sub being called.
+  bless $foo, 'Class';
+  print blessed( $bar );      # prints "Class"
 
-Perl classes do method inheritance only.  Data inheritance is left up
-to the class itself.  By and large, this is not a problem in Perl,
-because most classes model the attributes of their object using an
-anonymous hash, which serves as its own little namespace to be carved up
-by the various classes that might want to do something with the object.
-The only problem with this is that you can't sure that you aren't using
-a piece of the hash that isn't already used.  A reasonable workaround
-is to prepend your fieldname in the hash with the package name.
-X<inheritance, method> X<inheritance, data>
+  $bar = "some other value";
+  print blessed( $bar );      # prints undef
 
-    sub bump {
-	my $self = shift;
-	$self->{ __PACKAGE__ . ".count"}++;
-    } 
+When we call C<bless> on a variable, we are actually blessing the
+underlying data structure that the variable refers to. We are not
+blessing the reference itself, nor the variable that contains that
+reference. That's why the second call to C<blessed( $bar )> returns
+false. At that point C<$bar> is no longer storing a reference to an
+object.
 
+You will sometimes see older books or documentation mention "blessing a
+reference" or describe an object as a "blessed reference", but this is
+incorrect. It isn't the reference that is blessed as an object; it's
+the thing the reference refers to (i.e. the referent).
+
+=head2 A Class is Simply a Package
+X<class> X<package> X<@ISA> X<inheritance>
+
+Perl does not provide any special syntax for class definitions. A
+package is simply a namespace containing variables and subroutines. The
+only difference is that in a class, the subroutines may expect a
+reference to an object or the name of a class as the first argument.
+This is purely a matter of convention, so a class may contain both
+methods and subroutines which I<don't> operate on an object or class.
+
+Each package contains a special array called C<@ISA>. The C<@ISA> array
+contains a list of that class's parent classes, if any. This array is
+examined when Perl does method resolution, which we will cover later.
+
+It is possible to manually set C<@ISA>, and you may see this in older
+Perl code. Much older code also uses the L<base> pragma. For new code,
+we recommend that you use the L<parent> pragma to declare your parents.
+This pragma will take care of setting C<@ISA>. It will also load the
+parent classes and make sure that the package doesn't inherit from
+itself.
+
+However the parent classes are set, the package's C<@ISA> variable will
+contain a list of those parents. This is simply a list of scalars, each
+of which is a string that corresponds to a package name.
+
+All classes inherit from the L<UNIVERSAL> class implicitly. The
+L<UNIVERSAL> class is implemented by the Perl core, and provides
+several default methods, such as C<isa()>, C<can()>, and C<VERSION()>.
+The C<UNIVERSAL> class will I<never> appear in a package's C<@ISA>
+variable.
+
+Perl I<only> provides method inheritance as a built-in feature.
+Attribute inheritance is left up the class to implement. See the
+L</Writing Accessors> section for details.
+
 =head2 A Method is Simply a Subroutine
 X<method>
 
-Unlike say C++, Perl doesn't provide any special syntax for method
-definition.  (It does provide a little syntax for method invocation
-though.  More on that later.)  A method expects its first argument
-to be the object (reference) or package (string) it is being invoked
-on.  There are two ways of calling methods, which we'll call class
-methods and instance methods.  
+Perl does not provide any special syntax for defining a method. A
+method is simply a regular subroutine, and is declared with C<sub>.
+What makes a method special is that it expects to receive either an
+object or a class name as its first argument.
 
-A class method expects a class name as the first argument.  It
-provides functionality for the class as a whole, not for any
-individual object belonging to the class.  Constructors are often
-class methods, but see L<perltoot> and L<perltooc> for alternatives.
-Many class methods simply ignore their first argument, because they
-already know what package they're in and don't care what package
-they were invoked via.  (These aren't necessarily the same, because
-class methods follow the inheritance tree just like ordinary instance
-methods.)  Another typical use for class methods is to look up an
-object by name:
+Perl I<does> provide special syntax for method invocation, the C<< ->
+>> operator. We will cover this in more detail later.
 
-    sub find {
-	my ($class, $name) = @_;
-	$objtable{$name};
-    }
+Most methods you write will expect to operate on objects:
 
-An instance method expects an object reference as its first argument.
-Typically it shifts the first argument into a "self" or "this" variable,
-and then uses that as an ordinary reference.
+  sub save {
+      my $self = shift;
 
-    sub display {
-	my $self = shift;
-	my @keys = @_ ? @_ : sort keys %$self;
-	foreach $key (@keys) {
-	    print "\t$key => $self->{$key}\n";
-	}
-    }
+      open my $fh, '>', $self->path() or die $!;
+      print {$fh} $self->data()       or die $!;
+      close $fh                       or die $!;
+  }
 
 =head2 Method Invocation
 X<invocation> X<method> X<arrow> X<< -> >>
 
-For various historical and other reasons, Perl offers two equivalent
-ways to write a method call.  The simpler and more common way is to use
-the arrow notation:
+Calling a method on an object is written as C<< $object->method >>.
 
-    my $fred = Critter->find("Fred");
-    $fred->display("Height", "Weight");
+The left hand side of the method invocation (or arrow) operator is the
+object (or class name), and the right hand side is the method name.
 
-You should already be familiar with the use of the C<< -> >> operator with
-references.  In fact, since C<$fred> above is a reference to an object,
-you could think of the method call as just another form of
-dereferencing.
+  my $pod = File->new( 'perlobj.pod', $data );
+  $pod->save();
 
-Whatever is on the left side of the arrow, whether a reference or a
-class name, is passed to the method subroutine as its first argument.
-So the above code is mostly equivalent to:
+The C<< -> >> syntax is also used when dereferencing a reference. It
+looks like the same operator, but these are two different operations.
 
-    my $fred = Critter::find("Critter", "Fred");
-    Critter::display($fred, "Height", "Weight");
+When you call a method, the thing on the left side of the arrow is
+passed as the first argument to the method. That means when we call C<<
+Critter->new() >>, the C<new()> method receives the string C<"Critter">
+as its first argument. When we call C<< $fred->speak() >>, the C<$fred>
+variable is passed as the first argument to C<speak()>.
 
-How does Perl know which package the subroutine is in?  By looking at
-the left side of the arrow, which must be either a package name or a
-reference to an object, i.e. something that has been blessed to a
-package.  Either way, that's the package where Perl starts looking.  If
-that package has no subroutine with that name, Perl starts looking for
-it in any base classes of that package, and so on.
+Just as with any Perl subroutine, all of the arguments passed in C<@_>
+are aliases to the original argument. This includes the object itself.
+If you assign directly to C<$_[0]> you will change the contents of the
+variable that holds the reference to the object. We recommend that you
+don't do this unless you know exactly what you're doing.
 
-If you need to, you I<can> force Perl to start looking in some other package:
+Perl knows what package the method is in by looking at the left side of
+the arrow. If the left hand side is a package name, it looks for the
+method in that package. If the left hand side is an object, then Perl
+looks for the method in the package that the object has been blessed
+into.
 
-    my $barney = MyCritter->Critter::find("Barney");
-    $barney->Critter::display("Height", "Weight");
+If the left hand side is neither a package name nor an object, then the
+method call will cause an error, but see the section on L</Method Call
+Variations> for more nuances.
 
-Here C<MyCritter> is presumably a subclass of C<Critter> that defines
-its own versions of find() and display().  We haven't specified what
-those methods do, but that doesn't matter above since we've forced Perl
-to start looking for the subroutines in C<Critter>.
+=head2 Inheritance
+X<inheritance>
 
-As a special case of the above, you may use the C<SUPER> pseudo-class to
-tell Perl to start looking for the method in the packages named in the
-current class's C<@ISA> list.  
-X<SUPER>
+We already talked about the special C<@ISA> array and the L<parent>
+pragma.
 
-    package MyCritter;
-    use base 'Critter';    # sets @MyCritter::ISA = ('Critter');
+When a class inherits from another class, any methods defined in the
+parent class are available to the child class. If you attempt to call a
+method on an object that isn't defined in its own class, Perl will also
+look for that method in any parent classes it may have.
 
-    sub display { 
-        my ($self, @args) = @_;
-        $self->SUPER::display("Name", @args);
-    }
+  package File::MP3;
+  use parent 'File';    # sets @File::MP3::ISA = ('File');
 
-It is important to note that C<SUPER> refers to the superclass(es) of the
-I<current package> and not to the superclass(es) of the object. Also, the
-C<SUPER> pseudo-class can only currently be used as a modifier to a method
-name, but not in any of the other ways that class names are normally used,
-eg:
+  my $mp3 = File::MP3->new( 'Andvari.mp3', $data );
+  $mp3->save();
+
+Since we didn't define a C<save()> method in the C<File::MP3> class,
+Perl will look at the C<File::MP3> class's parent classes to find the
+C<save()> method. If Perl cannot find a C<save()> method anywhere in
+the inheritance hierarchy, it will die.
+
+In this case, it finds a C<save()> method in the C<File> class. Note
+that the object passed to C<save()> in this case is still a
+C<File::MP3> object, even though the method is found in the C<File>
+class.
+
+We can override a parent's method in a child class. When we do so, we
+can still call the parent class's method with the C<SUPER>
+pseudo-class.
+
+  sub save {
+      my $self = shift;
+
+      say 'Prepare to rock';
+      $self->SUPER::save();
+  }
+
+The C<SUPER> modifier can I<only> be used for method calls. You can't
+use it for regular subroutine calls or class methods:
+
+  SUPER::save($thing);     # FAIL: looks for save() sub in package SUPER
+
+  SUPER->save($thing);     # FAIL: looks for save() method in class
+                           #       SUPER
+
+  $thing->SUPER::save();   # Okay: looks for save() method in parent
+                           #       classes
+
+
+=head3 How SUPER is Resolved
 X<SUPER>
 
-    something->SUPER::method(...);	# OK
-    SUPER::method(...);			# WRONG
-    SUPER->method(...);			# WRONG
+The C<SUPER> pseudo-class is resolved from the package where the call
+is made. It is I<not> resolved based on the object's class. This is
+important, because it lets methods at different levels within a deep
+inheritance hierarchy each correctly call their respective parent
+methods.
 
-Instead of a class name or an object reference, you can also use any
-expression that returns either of those on the left side of the arrow.
-So the following statement is valid:
+  package A;
 
-    Critter->find("Fred")->display("Height", "Weight");
+  sub new {
+      return bless {}, shift;
+  }
 
-and so is the following:
+  sub speak {
+      my $self = shift;
 
-    my $fred = (reverse "rettirC")->find(reverse "derF");
+      say 'A';
+  }
 
-The right side of the arrow typically is the method name, but a simple 
-scalar variable containing either the method name or a subroutine 
-reference can also be used.
+  package B;
 
-If the right side of the arrow is a scalar containing a reference
-to a subroutine, then this is equivalent to calling the referenced
-subroutine directly with the class name or object on the left side
-of the arrow as its first argument. No lookup is done and there is
-no requirement that the subroutine be defined in any package related
-to the class name or object on the left side of the arrow.
+  use parent -norequire, 'A';
 
-For example, the following calls to $display are equivalent:
+  sub speak {
+      my $self = shift;
 
-    my $display = sub { my $self = shift; ... };
-    $fred->$display("Height", "Weight");
-    $display->($fred, "Height", "Weight");
+      $self->SUPER::speak();
 
-=head2 Indirect Object Syntax
-X<indirect object syntax> X<invocation, indirect> X<indirect>
+      say 'B';
+  }
 
-The other way to invoke a method is by using the so-called "indirect
-object" notation.  This syntax was available in Perl 4 long before
-objects were introduced, and is still used with filehandles like this:
+  package C;
 
-   print STDERR "help!!!\n";
+  use parent -norequire, 'B';
 
-The same syntax can be used to call either object or class methods.
+  sub speak {
+      my $self = shift;
 
-   my $fred = find Critter "Fred";
-   display $fred "Height", "Weight";
+      $self->SUPER::speak();
 
-Notice that there is no comma between the object or class name and the
-parameters.  This is how Perl can tell you want an indirect method call
-instead of an ordinary subroutine call.
+      say 'C';
+  }
 
-But what if there are no arguments?  In that case, Perl must guess what
-you want.  Even worse, it must make that guess I<at compile time>.
-Usually Perl gets it right, but when it doesn't you get a function
-call compiled as a method, or vice versa.  This can introduce subtle bugs
-that are hard to detect.
+  my $c = C->new();
+  $c->speak();
 
-For example, a call to a method C<new> in indirect notation (as C++
-programmers are wont to make) can be miscompiled into a subroutine
-call if there's already a C<new> function in scope.  You'd end up
-calling the current package's C<new> as a subroutine, rather than the
-desired class's method.  The compiler tries to cheat by remembering
-bareword C<require>s, but the grief when it messes up just isn't worth the
-years of debugging it will take you to track down such subtle bugs.
+In this example, we will get the following output:
 
-There is another problem with this syntax: the indirect object is
-limited to a name, a scalar variable, or a block, because it would have
-to do too much lookahead otherwise, just like any other postfix
-dereference in the language.  (These are the same quirky rules as are
-used for the filehandle slot in functions like C<print> and C<printf>.)
-This can lead to horribly confusing precedence problems, as in these
-next two lines:
+  A
+  B
+  C
 
-    move $obj->{FIELD};                 # probably wrong!
-    move $ary[$i];                      # probably wrong!
+This demonstrates how C<SUPER> is resolved. Even though the object is
+blessed into the C<C> class, the C<speak()> method in the C<B> class
+can still call C<SUPER::speak()> and expect it to correctly look in the
+parent class of C<B> (i.e the class the method call is in), not in the
+parent class of C<C> (i.e. the class the object belongs to).
 
-Those actually parse as the very surprising:
+There are rare cases where this package-based resolution can be a
+problem. If you copy a subroutine from one package to another, C<SUPER>
+resolution will be done based on the original package.
 
-    $obj->move->{FIELD};                # Well, lookee here
-    $ary->move([$i]);                   # Didn't expect this one, eh?
+=head3 Multiple Inheritance
+X<multiple inheritance>
 
-Rather than what you might have expected:
+Multiple inheritance often indicates a design problem, but Perl always
+gives you enough rope to hang yourself with if you ask for it.
 
-    $obj->{FIELD}->move();              # You should be so lucky.
-    $ary[$i]->move;                     # Yeah, sure.
+To declare multiple parents, you simply need to pass multiple class
+names to C<use parent>:
 
-To get the correct behavior with indirect object syntax, you would have
-to use a block around the indirect object:
+  package MultiChild;
 
-    move {$obj->{FIELD}};
-    move {$ary[$i]};
+  use parent 'Parent1', 'Parent2';
 
-Even then, you still have the same potential problem if there happens to
-be a function named C<move> in the current package.  B<The C<< -> >>
-notation suffers from neither of these disturbing ambiguities, so we
-recommend you use it exclusively.>  However, you may still end up having
-to read code using the indirect object notation, so it's important to be
-familiar with it.
+=head3 Method Resolution Order
+X<method resolution order> X<mro>
 
-=head2 Default UNIVERSAL methods
+Method resolution order only matters in the case of multiple
+inheritance. In the case of single inheritance, Perl simply looks up
+the inheritance chain to find a method:
+
+  Grandparent
+    |
+  Parent
+    |
+  Child
+
+If we call a method on a C<Child> object and that method is not defined
+in the C<Child> class, Perl will look for that method in the C<Parent>
+class and then, if necessary, in the C<Grandparent> class.
+
+If Perl cannot find the method in any of these classes, it will die
+with an error message.
+
+When a class has multiple parents, the method lookup order becomes more
+complicated.
+
+By default, Perl does a depth-first left-to-right search for a method.
+That means it starts with the first parent in the C<@ISA> array, and
+then searches all of its parents, grandparents, etc. If it fails to
+find the method, it then goes to the next parent in the original
+class's C<@ISA> array and searches from there.
+
+            SharedGreatGrandParent
+            /                    \
+  PaternalGrandparent       MaternalGrandparent
+            \                    /
+             Father        Mother
+                   \      /
+                    Child
+
+So given the diagram above, Perl will search C<Child>, C<Father>,
+C<PaternalGrandparent>, C<SharedGreatGrandParent>, C<Mother>, and
+finally C<MaternalGrandparent>. This may be a problem because now we're
+looking in C<SharedGreatGrandParent> I<before> we've checked all its
+derived classes (i.e. before we tried C<Mother> and
+C<MaternalGrandparent>).
+
+It is possible to ask for a different method resolution order with the
+L<mro> pragma.
+
+  package Child;
+
+  use mro 'c3';
+  use parent 'Father', 'Mother';
+
+This pragma lets you switch to the "C3" resolution order. In simple
+terms, "C3" order ensures that shared parent classes are never searched
+before child classes, so Perl will now search: C<Child>, C<Father>,
+C<PaternalGrandparent>, C<Mother> C<MaternalGrandparent>, and finally
+C<SharedGreatGrandParent>. Note however that this is not
+"breadth-first" searching: All the C<Father> ancestors (except the
+common ancestor) are searched before any of the C<Mother> ancestors are
+considered.
+
+The C3 order also lets you call methods in sibling classes with the
+C<next> pseudo-class. See the L<mro> documentation for more details on
+this feature.
+
+=head3 Method Resolution Caching
+
+When Perl searches for a method, it caches the lookup so that future
+calls to the method do not need to search for it again. Changing a
+class's parent class or adding subroutines to a class will invalidate
+the cache for that class.
+
+The L<mro> pragma provides some functions for manipulating the method
+cache directly.
+
+=head2 Writing Constructors
+X<constructor>
+
+As we mentioned earlier, Perl provides no special constructor syntax.
+This means that a class must implement its own constructor. A
+constructor is simply a class method that returns a reference to a new
+object.
+
+The constructor can also accept additional parameters that define the
+object. Let's write a real constructor for the C<File> class we used
+earlier:
+
+  package File;
+
+  sub new {
+      my $class = shift;
+      my ( $path, $data ) = @_;
+
+      my $self = bless {
+          path => $path,
+          data => $data,
+      }, $class;
+
+      return $self;
+  }
+
+As you can see, we've stored the path and file data in the object
+itself. Remember, under the hood, this object is still just a hash.
+Later, we'll write accessors to manipulate this data.
+
+For our File::MP3 class, we can check to make sure that the path we're
+given ends with ".mp3":
+
+  package File::MP3;
+
+  sub new {
+      my $class = shift;
+      my ( $path, $data ) = @_;
+
+      die "You cannot create a File::MP3 without an mp3 extension\n"
+          unless $path =~ /\.mp3\z/;
+
+      return $class->SUPER::new(@_);
+  }
+
+This constructor lets its parent class do the actual object
+construction.
+
+=head2 Attributes
+X<attribute>
+
+An attribute is a piece of data belonging to a particular object.
+Unlike most object-oriented languages, Perl provides no special syntax
+or support for declaring and manipulating attributes.
+
+Attributes are often stored in the object itself. For example, if the
+object is an anonymous hash, we can store the attribute values in the
+hash using the attribute name as the key.
+
+While it's possible to refer directly to these hash keys outside of the
+class, it's considered a best practice to wrap all access to the
+attribute with accessor methods.
+
+This has several advantages. Accessors make it easier to change the
+implementation of an object later while still preserving the original
+API.
+
+An accessor lets you add additional code around attribute access. For
+example, you could apply a default to an attribute that wasn't set in
+the constructor, or you could validate that a new value for the
+attribute is acceptable.
+
+Finally, using accessors makes inheritance much simpler. Subclasses can
+use the accessors rather than having to know how a parent class is
+implemented internally.
+
+=head3 Writing Accessors
+X<accessor>
+
+As with constructors, Perl provides no special accessor declaration
+syntax, so classes must provide explicitly written accessor methods.
+There are two common types of accessors, read-only and read-write.
+
+A simple read-only accessor simply gets the value of a single
+attribute:
+
+  sub path {
+      my $self = shift;
+
+      return $self->{path};
+  }
+
+A read-write accessor will allow the caller to set the value as well as
+get it:
+
+  sub path {
+      my $self = shift;
+
+      if (@_) {
+          $self->{path} = shift;
+      }
+
+      return $self->{path};
+  }
+
+=head2 An Aside About Smarter and Safer Code
+
+Our constructor and accessors are not very smart. They don't check that
+a C<$path> is defined, nor do they check that a C<$path> is a valid
+filesystem path.
+
+Doing these checks by hand can quickly become tedious. Writing a bunch
+of accessors by hand is also incredibly tedious. There are a lot of
+modules on CPAN that can help you write safer and more concise code,
+including the modules we recommend in L<perlootut>.
+
+=head2 Method Call Variations
+X<method>
+
+Perl supports several other ways to call methods besides the C<<
+$object->method() >> usage we've seen so far.
+
+=head3 Method Names as Strings
+
+Perl lets you use a scalar variable containing a string as a method
+name:
+
+  my $file = File->new( $path, $data );
+
+  my $method = 'save';
+  $file->$method();
+
+This works exactly like calling C<< $file->save() >>. This can be very
+useful for writing dynamic code. For example, it allows you to pass a
+method name to be called as a parameter to another method.
+
+=head3 Class Names as Strings
+
+Perl also lets you use a scalar containing a string as a class name:
+
+  my $class = 'File';
+
+  my $file = $class->new( $path, $data );
+
+Again, this allows for very dynamic code.
+
+=head3 Subroutine References as Methods
+
+You can also use a subroutine reference as a method:
+
+  my $sub = sub {
+      my $self = shift;
+
+      $self->save();
+  };
+
+  $file->$sub();
+
+This is exactly equivalent to writing C<< $sub->($file) >>. You may see
+this idiom in the wild combined with a call to C<can>:
+
+  if ( my $meth = $object->can('foo') ) {
+      $object->$meth();
+  }
+
+=head3 Deferencing Method Call
+
+Perl also lets you use a dereferenced scalar reference in a method
+call. That's a mouthful, so let's look at some code:
+
+  $file->${ \'save' };
+  $file->${ returns_scalar_ref() };
+  $file->${ \( returns_scalar() ) };
+  $file->${ returns_ref_to_sub_ref() };
+
+This works if the dereference produces a string I<or> a subroutine
+reference.
+
+=head3 Method Calls on Filehandles
+
+Under the hood, Perl filehandles are instances of the C<IO::Handle> or
+C<IO::File> class. Once you have an open filehandle, you can call
+methods on it. Additionally, you can call methods on the C<STDIN>,
+C<STDOUT>, and C<STDERR> filehandles.
+
+  open my $fh, '>', 'path/to/file';
+  $fh->autoflush();
+  $fh->print('content');
+
+  STDOUT->autoflush();
+
+=head2 Invoking Class Methods
+X<invocation>
+
+Because Perl allows you to use barewords for package names and
+subroutine names, it sometimes interprets a bareword's meaning
+incorrectly. For example, the construct C<< Class->new() >> can be
+interpreted as either C<< 'Class'->new() >> or C<< Class()->new() >>.
+In English, that second interpretation reads as "call a subroutine
+named Class(), then call new() as a method on the return value of
+Class()". If there is a subroutine named C<Class()> in the current
+namespace, Perl will always interpret C<< Class->new() >> as the second
+alternative: a call to C<new()> on the object  returned by a call to
+C<Class()>
+
+You can force Perl to use the first interpretation (i.e. as a method
+call on the class named "Class") in two ways. First, you can append a
+C<::> to the class name:
+
+    Class::->new()
+
+Perl will always interpret this as a method call.
+
+Alternatively, you can quote the class name:
+
+    'Class'->new()
+
+Of course, if the class name is in a scalar Perl will do the right
+thing as well:
+
+    my $class = 'Class';
+    $class->new();
+
+=head3 Indirect Object Syntax
+X<indirect object>
+
+B<Outside of the file handle case, use of this syntax is discouraged as
+it can confuse the Perl interpreter. See below for more details.>
+
+Perl suports another method invocation syntax called "indirect object"
+notation. This syntax is called "indirect" because the method comes
+before the object it is being invoked on.
+
+This syntax can be used with any class or object method:
+
+    my $file = new File $path, $data;
+    save $file;
+
+We recommend that you avoid this syntax, for several reasons.
+
+First, it can be confusing to read. In the above example, it's not
+clear if C<save> is a method provided by the C<File> class or simply a
+subroutine that expects a file object as its first argument.
+
+When used with class methods, the problem is even worse. Because Perl
+allows subroutine names to be written as barewords, Perl has to guess
+whether the bareword after the method is a class name or subroutine
+name. In other words, Perl can resolve the syntax as either C<<
+File->new( $path, $data ) >> B<or> C<< new( File( $path, $data ) ) >>.
+
+To parse this code, Perl uses a heuristic based on what package names
+it has seen, what subroutines exist in the current package, what
+barewords it has previously seen, and other input. Needless to say,
+heuristics can produce very surprising results!
+
+Older documentation (and some CPAN modules) encouraged this syntax,
+particularly for constructors, so you may still find it in the wild.
+However, we encourage you to avoid using it in new code.
+
+You can force Perl to interpret the bareword as a class name by
+appending "::" to it, like we saw earlier:
+
+  my $file = new File:: $path, $data;
+
+=head2 C<bless>, C<blessed>, and C<ref>
+
+As we saw earlier, an object is simply a data structure that has been
+blessed into a class via the C<bless> function. The C<bless> function
+can take either one or two arguments:
+
+  my $object = bless {}, $class;
+  my $object = bless {};
+
+In the first form, the anonymous hash is being blessed into the class
+in C<$class>. In the second form, the anonymous hash is blessed into
+the current package.
+
+The second form is strongly discouraged, because it breaks the ability
+of a subclass to reuse the parent's constructor, but you may still run
+across it in existing code.
+
+If you want to know whether a particular scalar refers to an object,
+you can use the C<blessed> function exported by L<Scalar::Util>, which
+is shipped with the Perl core.
+
+  use Scalar::Util 'blessed';
+
+  if ( defined blessed($thing) ) { ... }
+
+If C<$thing> refers to an object, then this function returns the name
+of the package the object has been blessed into. If C<$thing> doesn't
+contain a reference to a blessed object, the C<blessed> function
+returns C<undef>.
+
+Note that C<blessed($thing)> will also return false if C<$thing> has
+been blessed into a class named "0". This is a possible, but quite
+pathological. Don't create a class named "0" unless you know what
+you're doing.
+
+Similarly, Perl's built-in C<ref> function treats a reference to a
+blessed object specially. If you call C<ref($thing)> and C<$thing>
+holds a reference to an object, it will return the name of the class
+that the object has been blessed into.
+
+If you simply want to check that a variable contains an object
+reference, we recommend that you use C<defined blessed($object)>, since
+C<ref> returns true values for all references, not just objects.
+
+=head2 The UNIVERSAL Class
 X<UNIVERSAL>
 
-The C<UNIVERSAL> package automatically contains the following methods that
-are inherited by all other classes:
+All classes automatically inherit from the L<UNIVERSAL> class, which is
+built-in to the Perl core. This class provides a number of methods, all
+of which can be called on either a class or an object. You can also
+choose to override some of these methods in your class. If you do so,
+we recommend that you follow the built-in semantics described below.
 
 =over 4
 
-=item isa(CLASS)
+=item isa($class)
 X<isa>
 
-C<isa> returns I<true> if its object is blessed into a subclass of C<CLASS>
+The C<isa> method returns I<true> if the object is a member of the
+class in C<$class>, or a member of a subclass of C<$class>.
 
-=item DOES(ROLE)
+If you override this method, it should never throw an exception.
+
+=item DOES($role)
 X<DOES>
 
-C<DOES> returns I<true> if its object claims to perform the role C<ROLE>.  By
-default, this is equivalent to C<isa>.
+The C<DOES> method returns I<true> if its object claims to perform the
+role C<$role>. By default, this is equivalent to C<isa>. This method is
+provided for use by object system extensions that implement roles, like
+C<Moose> and C<Role::Tiny>.
 
-=item can(METHOD)
+You can also override C<DOES> directly in your own classes. If you
+override this method, it should never throw an exception.
+
+=item can($method)
 X<can>
 
-C<can> checks to see if its object has a method called C<METHOD>,
-if it does then a reference to the sub is returned, if it does not then
-C<undef> is returned.
+The C<can> method checks to see if the class or object it was called on
+has a method named C<$method>. This checks for the method in the class
+and all of its parents. If the method exists, then a reference to the
+subroutine is returned. If it does not then C<undef> is returned.
 
-=item VERSION( [NEED] )
+If your class responds to method calls via C<AUTOLOAD>, you may want to
+overload C<can> to return a subroutine reference for methods which your
+C<AUTOLOAD> method handles.
+
+If you override this method, it should never throw an exception.
+
+=item VERSION($need)
 X<VERSION>
 
-C<VERSION> returns the version number of the class (package).  If the
-NEED argument is given then it will check that the current version (as
-defined by the $VERSION variable in the given package) not less than
-NEED; it will die if this is not the case.  This method is called automatically
-by the C<VERSION> form of C<use>.
+The C<VERSION> method returns the version number of the class
+(package).
 
+If the C<$need> argument is given then it will check that the current
+version (as defined by the $VERSION variable in the package) is greater
+than or equal to C<$need>; it will die if this is not the case. This
+method is called automatically by the C<VERSION> form of C<use>.
+
     use Package 1.2 qw(some imported subs);
     # implies:
     Package->VERSION(1.2);
 
+We recommend that you use this method to access another package's
+version, rather than looking directly at C<$Package::VERSION>. The
+package you are looking at could have overridden the C<VERSION> method.
+
+We also recommend using this method to check whether a module has a
+sufficient version. The internal implementation uses the L<version>
+module to make sure that different types of version numbers are
+compared correctly.
+
 =back
 
+=head2 AUTOLOAD
+X<AUTOLOAD>
+
+If you call a method that doesn't exist in a class, Perl will throw an
+error. However, if that class or any of its parent classes defines an
+C<AUTOLOAD> method, that C<AUTOLOAD> method is called instead.
+
+C<AUTOLOAD> is called as a regular method, and the caller will not know
+the difference. Whatever value your C<AUTOLOAD> method returns is
+returned to the caller.
+
+The fully qualified method name that was called is available in the
+C<$AUTOLOAD> package global for your class. Since this is a global, if
+you want to refer to do it without a package name prefix under C<strict
+'vars'>, you need to declare it.
+
+  # XXX - this is a terrible way to implement accessors, but it makes
+  # for a simple example.
+  our $AUTOLOAD;
+  sub AUTOLOAD {
+      my $self = shift;
+
+      # Remove qualifier from original method name...
+      my $called =  $AUTOLOAD =~ s/.*:://r;
+
+      # Is there an attribute of that name?
+      die "No such attribute: $called"
+          unless exists $self->{$called};
+
+      # If so, return it...
+      return $self->{$called};
+  }
+
+  sub DESTROY { } # see below
+
+Without the C<our $AUTOLOAD> declaration, this code will not compile
+under the L<strict> pragma.
+
+As the comment says, this is not a good way to implement accessors.
+It's slow and too clever by far. However, you may see this as a way to
+provide accessors in older Perl code. See L<perlootut> for
+recommendations on OO coding in Perl.
+
+If your class does have an C<AUTOLOAD> method, we strongly recommend
+that you override C<can> in your class as well. Your overridden C<can>
+method should return a subroutine reference for any method that your
+C<AUTOLOAD> responds to.
+
 =head2 Destructors
 X<destructor> X<DESTROY>
 
 When the last reference to an object goes away, the object is
-automatically destroyed.  (This may even be after you exit, if you've
-stored references in global variables.)  If you want to capture control
-just before the object is freed, you may define a DESTROY method in
-your class.  It will automatically be called at the appropriate moment,
-and you can do any extra cleanup you need to do.  Perl passes a reference
-to the object under destruction as the first (and only) argument.  Beware
-that the reference is a read-only value, and cannot be modified by
-manipulating C<$_[0]> within the destructor.  The object itself (i.e.
-the thingy the reference points to, namely C<${$_[0]}>, C<@{$_[0]}>, 
-C<%{$_[0]}> etc.) is not similarly constrained.
+destroyed. If you only have one reference to an object stored in a
+lexical scalar, the object is destroyed when that scalar goes out of
+scope. If you store the object in a package global, that object may not
+go out of scope until the program exits.
 
-Since DESTROY methods can be called at unpredictable times, it is
-important that you localise any global variables that the method may
-update.  In particular, localise C<$@> if you use C<eval {}> and
-localise C<$?> if you use C<system> or backticks.
+If you want to do something when the object is destroyed, you can
+define a C<DESTROY> method in your class. This method will always be
+called by Perl at the appropriate time, unless the method is empty.
 
-If you arrange to re-bless the reference before the destructor returns,
-perl will again call the DESTROY method for the re-blessed object after
-the current one returns.  This can be used for clean delegation of
-object destruction, or for ensuring that destructors in the base classes
-of your choosing get called.  Explicitly calling DESTROY is also possible,
-but is usually never needed.
+This is called just like any other method, with the object as the first
+argument. It does not receive any additional arguments. However, the
+C<$_[0]> variable will be read-only in the destructor, so you cannot
+assign a value to it.
 
-DESTROY is subject to AUTOLOAD lookup, just like any other method. Hence, if
-your class has an AUTOLOAD method, but does not need any DESTROY actions,
-you probably want to provide a DESTROY method anyway, to prevent an
-expensive call to AUTOLOAD each time an object is freed. As this technique
-makes empty DESTROY methods common, the implementation is optimised so that
-a DESTROY method that is an empty or constant subroutine, and hence could
-have no side effects anyway, is not actually called.
-X<AUTOLOAD> X<DESTROY>
+If your C<DESTROY> method throws an error, this error will be ignored.
+It will not be sent to C<STDERR> and it will not cause the program to
+die. However, if your destructor is running inside an C<eval {}> block,
+then the error will change the value of C<$@>.
 
-Do not confuse the previous discussion with how objects I<CONTAINED> in the current
-one are destroyed.  Such objects will be freed and destroyed automatically
-when the current object is freed, provided no other references to them exist
-elsewhere.
+Because C<DESTROY> methods can be called at any time, you should
+localize any global variables you might update in your C<DESTROY>. In
+particular, if you use C<eval {}> you should localize C<$@>, and if you
+use C<system> or backticks you should localize C<$?>.
 
-=head2 Summary
+If you define an C<AUTOLOAD> in your class, then Perl will call your
+C<AUTOLOAD> to handle the C<DESTROY> method. You can prevent this by
+defining an empty C<DESTROY>, like we did in the autoloading example.
+You can also check the value of C<$AUTOLOAD> and return without doing
+anything when called to handle C<DESTROY>.
 
-That's about all there is to it.  Now you need just to go off and buy a
-book about object-oriented design methodology, and bang your forehead
-with it for the next six months or so.
+=head3 Global Destruction
 
-=head2 Two-Phased Garbage Collection
-X<garbage collection> X<GC> X<circular reference>
-X<reference, circular> X<DESTROY> X<destructor>
+The order in which objects are destroyed during the global destruction
+before the program exits is unpredictable. This means that any objects
+contained by your object may already have been destroyed. You should
+check that a contained object is defined before calling a method on it:
 
-For most purposes, Perl uses a fast and simple, reference-based
-garbage collection system.  That means there's an extra
-dereference going on at some level, so if you haven't built
-your Perl executable using your C compiler's C<-O> flag, performance
-will suffer.  If you I<have> built Perl with C<cc -O>, then this
-probably won't matter.
+  sub DESTROY {
+      my $self = shift;
 
-A more serious concern is that unreachable memory with a non-zero
-reference count will not normally get freed.  Therefore, this is a bad
-idea:
+      $self->{handle}->close() if $self->{handle};
+  }
 
-    {
-	my $a;
-	$a = \$a;
-    }
+You can use the C<${^GLOBAL_PHASE}> variable to detect if you are
+currently in the global destruction phase:
 
-Even thought $a I<should> go away, it can't.  When building recursive data
-structures, you'll have to break the self-reference yourself explicitly
-if you don't care to leak.  For example, here's a self-referential
-node such as one might use in a sophisticated tree structure:
+  sub DESTROY {
+      my $self = shift;
 
-    sub new_node {
-	my $class = shift;
-	my $node  = {};
-	$node->{LEFT} = $node->{RIGHT} = $node;
-	$node->{DATA} = [ @_ ];
-	return bless $node => $class;
-    }
+      return if ${^GLOBAL_PHASE} eq 'DESTRUCT';
 
-If you create nodes like that, they (currently) won't go away unless you
-break their self reference yourself.  (In other words, this is not to be
-construed as a feature, and you shouldn't depend on it.)
+      $self->{handle}->close();
+  }
 
-Almost.
+Note that this variable was added in Perl 5.14.0. If you want to detect
+the global destruction phase on older versions of Perl, you can use the
+C<Devel::GlobalDestruction> module on CPAN.
 
-When an interpreter thread finally shuts down (usually when your program
-exits), then a rather costly but complete mark-and-sweep style of garbage
-collection is performed, and everything allocated by that thread gets
-destroyed.  This is essential to support Perl as an embedded or a
-multithreadable language.  For example, this program demonstrates Perl's
-two-phased garbage collection:
+If your C<DESTROY> method issues a warning during global destruction,
+the Perl interpreter will append the string " during global
+destruction" the warning.
 
-    #!/usr/bin/perl
-    package Subtle;
+During global destruction, Perl will always garbage collect objects
+before unblessed references. See L<perlhacktips/PERL_DESTRUCT_LEVEL>
+for more information about global destruction.
 
-    sub new {
-	my $test;
-	$test = \$test;
-	warn "CREATING " . \$test;
-	return bless \$test;
-    }
+=head2 Non-Hash Objects
 
-    sub DESTROY {
-	my $self = shift;
-	warn "DESTROYING $self";
-    }
+All the examples so far have shown objects based on a blessed hash.
+However, it's possible to bless any type of data structure or referent,
+including scalars, globs, and subroutines. You may see this sort of
+thing when looking at code in the wild.
 
-    package main;
+Here's an example of a module as a blessed scalar:
 
-    warn "starting program";
-    {
-	my $a = Subtle->new;
-	my $b = Subtle->new;
-	$$a = 0;  # break selfref
-	warn "leaving block";
-    }
+  package Time;
 
-    warn "just exited block";
-    warn "time to die...";
-    exit;
+  use strict;
+  use warnings;
 
-When run as F</foo/test>, the following output is produced:
+  sub new {
+      my $class = shift;
 
-    starting program at /foo/test line 18.
-    CREATING SCALAR(0x8e5b8) at /foo/test line 7.
-    CREATING SCALAR(0x8e57c) at /foo/test line 7.
-    leaving block at /foo/test line 23.
-    DESTROYING Subtle=SCALAR(0x8e5b8) at /foo/test line 13.
-    just exited block at /foo/test line 26.
-    time to die... at /foo/test line 27.
-    DESTROYING Subtle=SCALAR(0x8e57c) during global destruction.
+      my $time = time;
+      return bless \$time, $class;
+  }
 
-Notice that "global destruction" bit there?  That's the thread
-garbage collector reaching the unreachable.
+  sub epoch {
+      my $self = shift;
+      return ${ $self };
+  }
 
-Objects are always destructed, even when regular refs aren't.  Objects
-are destructed in a separate pass before ordinary refs just to 
-prevent object destructors from using refs that have been themselves
-destructed.  Plain refs are only garbage-collected if the destruct level
-is greater than 0.  You can test the higher levels of global destruction
-by setting the PERL_DESTRUCT_LEVEL environment variable, presuming
-C<-DDEBUGGING> was enabled during perl build time.
-See L<perlhacktips/PERL_DESTRUCT_LEVEL> for more information.
+  my $time = Time->new();
+  print $time->epoch();
 
-A more complete garbage collection strategy will be implemented
-at a future date.
+=head2 Inside-Out objects
 
-In the meantime, the best solution is to create a non-recursive container
-class that holds a pointer to the self-referential data structure.
-Define a DESTROY method for the containing object's class that manually
-breaks the circularities in the self-referential structure.
+In the past, the Perl community experimented with a technique called
+"inside-out objects". An inside-out object stores its data outside of
+the object's reference, indexed on a unique property of the object,
+such as its memory address, rather than in the object itself. This has
+the advantage of enforcing the encapsulation of object attributes,
+since their data is not stored in the object itself.
 
+This technique was popular for a while (and was recommended in Damian
+Conway's I<Perl Best Practices>), but never achieved universal
+adoption. The L<Object::InsideOut> module on CPAN provides a
+comprehensive implementation of this technique, and you may see it or
+other inside-out modules in the wild.
+
+Here is a simple example of the technique, using the
+L<Hash::Util::FieldHash> core module. This module was added to the core
+to support inside-out object implementations.
+
+  package Time;
+
+  use strict;
+  use warnings;
+
+  use Hash::Util::FieldHash 'fieldhash';
+
+  fieldhash my %time_for;
+
+  sub new {
+      my $class = shift;
+
+      my $self = bless \( my $object ), $class;
+
+      $time_for{$self} = time;
+
+      return $self;
+  }
+
+  sub epoch {
+      my $self = shift;
+
+      return $time_for{$self};
+  }
+
+  my $time = Time->new;
+  print $time->epoch;
+
+=head2 Pseudo-hashes
+
+The pseudo-hash feature was an experimental feature introduced in
+earlier versions of Perl and removed in 5.10.0. A pseudo-hash is an
+array reference which can be accessed using named keys like a hash. You
+may run in to some code in the wild which uses it. See the L<fields>
+pragma for more information.
+
 =head1 SEE ALSO
 
 A kinder, gentler tutorial on object-oriented programming in Perl can
-be found in L<perltoot>, L<perlboot> and L<perltooc>.  You should
-also check out L<perlbot> for other object tricks, traps, and tips, as
-well as L<perlmodlib> for some style guides on constructing both
-modules and classes.
+be found in L<perlootut>. You should also check out L<perlmodlib> for
+some style guides on constructing both modules and classes.
+


Property changes on: vendor/perl/dist/pod/perlobj.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlop.pod
===================================================================
--- vendor/perl/dist/pod/perlop.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlop.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -48,7 +48,7 @@
     left	|| //
     nonassoc	..  ...
     right	?:
-    right	= += -= *= etc.
+    right	= += -= *= etc. goto last next redo dump
     left	, =>
     nonassoc	list operators (rightward)
     right	not
@@ -190,7 +190,7 @@
 =head2 Symbolic Unary Operators
 X<unary operator> X<operator, unary>
 
-Unary "!" performs logical negation, i.e., "not".  See also C<not> for a lower
+Unary "!" performs logical negation, that is, "not".  See also C<not> for a lower
 precedence version of this.
 X<!>
 
@@ -207,7 +207,7 @@
 B<Argument "the string" isn't numeric in negation (-) at ...>.
 X<-> X<negation, arithmetic>
 
-Unary "~" performs bitwise negation, i.e., 1's complement.  For
+Unary "~" performs bitwise negation, that is, 1's complement.  For
 example, C<0666 & ~027> is 0640.  (See also L<Integer Arithmetic> and
 L<Bitwise String Operators>.)  Note that the width of the result is
 platform-dependent: ~0 is 32 bits wide on a 32-bit platform, but 64
@@ -253,7 +253,7 @@
 substitution, or transliteration, it is interpreted as a search pattern at run
 time. Note that this means that its contents will be interpolated twice, so
 
-  '\\' =~ q'\\';
+    '\\' =~ q'\\';
 
 is not ok, as the regex engine will end up trying to compile the
 pattern C<\>, which it will consider a syntax error.
@@ -279,7 +279,7 @@
 operands C<$a> and C<$b>: If C<$b> is positive, then C<$a % $b> is
 C<$a> minus the largest multiple of C<$b> less than or equal to
 C<$a>.  If C<$b> is negative, then C<$a % $b> is C<$a> minus the
-smallest multiple of C<$b> that is not less than C<$a> (i.e. the
+smallest multiple of C<$b> that is not less than C<$a> (that is, the
 result will be less than or equal to zero).  If the operands
 C<$a> and C<$b> are floating point values and the absolute value of
 C<$b> (that is C<abs($b)>) is less than C<(UV_MAX + 1)>, only
@@ -317,13 +317,13 @@
 =head2 Additive Operators
 X<operator, additive>
 
-Binary "+" returns the sum of two numbers.
+Binary C<+> returns the sum of two numbers.
 X<+>
 
-Binary "-" returns the difference of two numbers.
+Binary C<-> returns the difference of two numbers.
 X<->
 
-Binary "." concatenates two strings.
+Binary C<.> concatenates two strings.
 X<string, concatenation> X<concatenation>
 X<cat> X<concat> X<concatenate> X<.>
 
@@ -332,16 +332,16 @@
 X<<< >> >>> X<right shift> X<left shift> X<bitwise shift>
 X<shl> X<shr> X<shift, right> X<shift, left>
 
-Binary "<<" returns the value of its left argument shifted left by the
+Binary C<<< << >>> returns the value of its left argument shifted left by the
 number of bits specified by the right argument.  Arguments should be
 integers.  (See also L<Integer Arithmetic>.)
 
-Binary ">>" returns the value of its left argument shifted right by
+Binary C<<< >> >>> returns the value of its left argument shifted right by
 the number of bits specified by the right argument.  Arguments should
 be integers.  (See also L<Integer Arithmetic>.)
 
-Note that both "<<" and ">>" in Perl are implemented directly using
-"<<" and ">>" in C.  If C<use integer> (see L<Integer Arithmetic>) is
+Note that both C<<< << >>> and C<<< >> >>> in Perl are implemented directly using
+C<<< << >>> and C<<< >> >>>  in C.  If C<use integer> (see L<Integer Arithmetic>) is
 in force then signed C integers are used, else unsigned C integers are
 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
@@ -352,6 +352,15 @@
 integers, C<< 1 << 32 >> is undefined.  Shifting by a negative number
 of bits is also undefined.
 
+If you get tired of being subject to your platform's native integers,
+the C<use bigint> pragma neatly sidesteps the issue altogether:
+
+    print 20 << 20;  # 20971520
+    print 20 << 40;  # 5120 on 32-bit machines, 
+                     # 21990232555520 on 64-bit machines
+    use bigint;
+    print 20 << 100; # 25353012004564588029934064107520
+
 =head2 Named Unary Operators
 X<operator, named unary>
 
@@ -362,7 +371,7 @@
 is followed by a left parenthesis as the next token, the operator and
 arguments within parentheses are taken to be of highest precedence,
 just like a normal function call.  For example,
-because named unary operators are higher precedence than ||:
+because named unary operators are higher precedence than C<||>:
 
     chdir $foo    || die;	# (chdir $foo) || die
     chdir($foo)   || die;	# (chdir $foo) || die
@@ -392,6 +401,13 @@
 =head2 Relational Operators
 X<relational operator> X<operator, relational>
 
+Perl operators that return true or false generally return values 
+that can be safely used as numbers.  For example, the relational
+operators in this section and the equality operators in the next
+one return C<1> for true and a special version of the defined empty
+string, C<"">, which counts as a zero but is exempt from warnings
+about improper numeric conversions, just as C<"0 but true"> is.
+
 Binary "<" returns true if the left argument is numerically less than
 the right argument.
 X<< < >>
@@ -444,9 +460,12 @@
 support NaNs then NaN is just a string with numeric value 0.
 X<< <=> >> X<spaceship>
 
-    perl -le '$a = "NaN"; print "No NaN support here" if $a == $a'
-    perl -le '$a = "NaN"; print "NaN support here" if $a != $a'
+    $ perl -le '$a = "NaN"; print "No NaN support here" if $a == $a'
+    $ perl -le '$a = "NaN"; print "NaN support here" if $a != $a'
 
+(Note that the L<bigint>, L<bigrat>, and L<bignum> pragmas all 
+support "NaN".)
+
 Binary "eq" returns true if the left argument is stringwise equal to
 the right argument.
 X<eq>
@@ -460,13 +479,308 @@
 argument.
 X<cmp>
 
-Binary "~~" does a smart match between its arguments. Smart matching
-is described in L<perlsyn/"Smart matching in detail">.
+Binary "~~" does a smartmatch between its arguments.  Smart matching
+is described in the next section.
 X<~~>
 
 "lt", "le", "ge", "gt" and "cmp" use the collation (sort) order specified
-by the current locale if C<use locale> is in effect.  See L<perllocale>.
+by the current locale if a legacy C<use locale> (but not
+C<use locale ':not_characters'>) is in effect.  See
+L<perllocale>.  Do not mix these with Unicode, only with legacy binary
+encodings.  The standard L<Unicode::Collate> and
+L<Unicode::Collate::Locale> modules offer much more powerful solutions to
+collation issues.
 
+=head2 Smartmatch Operator
+
+First available in Perl 5.10.1 (the 5.10.0 version behaved differently),
+binary C<~~> does a "smartmatch" between its arguments.  This is mostly
+used implicitly in the C<when> construct described in L<perlsyn>, although
+not all C<when> clauses call the smartmatch operator.  Unique among all of
+Perl's operators, the smartmatch operator can recurse.
+
+It is also unique in that all other Perl operators impose a context
+(usually string or numeric context) on their operands, autoconverting
+those operands to those imposed contexts.  In contrast, smartmatch
+I<infers> contexts from the actual types of its operands and uses that
+type information to select a suitable comparison mechanism.
+
+The C<~~> operator compares its operands "polymorphically", determining how
+to compare them according to their actual types (numeric, string, array,
+hash, etc.)  Like the equality operators with which it shares the same
+precedence, C<~~> returns 1 for true and C<""> for false.  It is often best
+read aloud as "in", "inside of", or "is contained in", because the left
+operand is often looked for I<inside> the right operand.  That makes the
+order of the operands to the smartmatch operand often opposite that of
+the regular match operator.  In other words, the "smaller" thing is usually
+placed in the left operand and the larger one in the right.
+
+The behavior of a smartmatch depends on what type of things its arguments
+are, as determined by the following table.  The first row of the table
+whose types apply determines the smartmatch behavior.  Because what
+actually happens is mostly determined by the type of the second operand,
+the table is sorted on the right operand instead of on the left.
+
+ Left      Right      Description and pseudocode                               
+ ===============================================================
+ Any       undef      check whether Any is undefined                    
+                like: !defined Any
+
+ Any       Object     invoke ~~ overloading on Object, or die
+
+ Right operand is an ARRAY:
+
+ Left      Right      Description and pseudocode                               
+ ===============================================================
+ ARRAY1    ARRAY2     recurse on paired elements of ARRAY1 and ARRAY2[2]
+                like: (ARRAY1[0] ~~ ARRAY2[0])
+                        && (ARRAY1[1] ~~ ARRAY2[1]) && ...
+ HASH      ARRAY      any ARRAY elements exist as HASH keys             
+                like: grep { exists HASH->{$_} } ARRAY
+ Regexp    ARRAY      any ARRAY elements pattern match Regexp
+                like: grep { /Regexp/ } ARRAY
+ undef     ARRAY      undef in ARRAY                                    
+                like: grep { !defined } ARRAY
+ Any       ARRAY      smartmatch each ARRAY element[3]                   
+                like: grep { Any ~~ $_ } ARRAY
+
+ Right operand is a HASH:
+
+ Left      Right      Description and pseudocode                               
+ ===============================================================
+ HASH1     HASH2      all same keys in both HASHes                      
+                like: keys HASH1 ==
+                         grep { exists HASH2->{$_} } keys HASH1
+ ARRAY     HASH       any ARRAY elements exist as HASH keys             
+                like: grep { exists HASH->{$_} } ARRAY
+ Regexp    HASH       any HASH keys pattern match Regexp                
+                like: grep { /Regexp/ } keys HASH
+ undef     HASH       always false (undef can't be a key)               
+                like: 0 == 1
+ Any       HASH       HASH key existence                                
+                like: exists HASH->{Any}
+
+ Right operand is CODE:
+
+ Left      Right      Description and pseudocode                               
+ ===============================================================
+ ARRAY     CODE       sub returns true on all ARRAY elements[1]
+                like: !grep { !CODE->($_) } ARRAY
+ HASH      CODE       sub returns true on all HASH keys[1]
+                like: !grep { !CODE->($_) } keys HASH
+ Any       CODE       sub passed Any returns true              
+                like: CODE->(Any)
+
+Right operand is a Regexp:
+
+ Left      Right      Description and pseudocode                               
+ ===============================================================
+ ARRAY     Regexp     any ARRAY elements match Regexp                   
+                like: grep { /Regexp/ } ARRAY
+ HASH      Regexp     any HASH keys match Regexp                        
+                like: grep { /Regexp/ } keys HASH
+ Any       Regexp     pattern match                                     
+                like: Any =~ /Regexp/
+
+ Other:
+
+ Left      Right      Description and pseudocode                               
+ ===============================================================
+ Object    Any        invoke ~~ overloading on Object,
+                      or fall back to...
+
+ Any       Num        numeric equality                                  
+                 like: Any == Num
+ Num       nummy[4]    numeric equality
+                 like: Num == nummy
+ undef     Any        check whether undefined
+                 like: !defined(Any)
+ Any       Any        string equality                                   
+                 like: Any eq Any
+
+
+Notes:
+
+=over
+
+=item 1.
+Empty hashes or arrays match. 
+
+=item 2.
+That is, each element smartmatches the element of the same index in the other array.[3]
+
+=item 3.
+If a circular reference is found, fall back to referential equality. 
+
+=item 4.
+Either an actual number, or a string that looks like one.
+
+=back
+
+The smartmatch implicitly dereferences any non-blessed hash or array
+reference, so the C<I<HASH>> and C<I<ARRAY>> entries apply in those cases.
+For blessed references, the C<I<Object>> entries apply.  Smartmatches
+involving hashes only consider hash keys, never hash values.
+
+The "like" code entry is not always an exact rendition.  For example, the
+smartmatch operator short-circuits whenever possible, but C<grep> does
+not.  Also, C<grep> in scalar context returns the number of matches, but
+C<~~> returns only true or false.
+
+Unlike most operators, the smartmatch operator knows to treat C<undef>
+specially:
+
+    use v5.10.1;
+    @array = (1, 2, 3, undef, 4, 5);
+    say "some elements undefined" if undef ~~ @array;
+
+Each operand is considered in a modified scalar context, the modification
+being that array and hash variables are passed by reference to the
+operator, which implicitly dereferences them.  Both elements
+of each pair are the same:
+
+    use v5.10.1;
+
+    my %hash = (red    => 1, blue   => 2, green  => 3,
+                orange => 4, yellow => 5, purple => 6,
+                black  => 7, grey   => 8, white  => 9);
+
+    my @array = qw(red blue green);
+
+    say "some array elements in hash keys" if  @array ~~  %hash;
+    say "some array elements in hash keys" if \@array ~~ \%hash;
+
+    say "red in array" if "red" ~~  @array;
+    say "red in array" if "red" ~~ \@array;
+
+    say "some keys end in e" if /e$/ ~~  %hash;
+    say "some keys end in e" if /e$/ ~~ \%hash;
+
+Two arrays smartmatch if each element in the first array smartmatches
+(that is, is "in") the corresponding element in the second array,
+recursively.
+
+    use v5.10.1;
+    my @little = qw(red blue green);
+    my @bigger = ("red", "blue", [ "orange", "green" ] );
+    if (@little ~~ @bigger) {  # true!
+        say "little is contained in bigger";
+    } 
+
+Because the smartmatch operator recurses on nested arrays, this
+will still report that "red" is in the array.
+
+    use v5.10.1;
+    my @array = qw(red blue green);
+    my $nested_array = [[[[[[[ @array ]]]]]]];
+    say "red in array" if "red" ~~ $nested_array;
+
+If two arrays smartmatch each other, then they are deep
+copies of each others' values, as this example reports:
+
+    use v5.12.0;
+    my @a = (0, 1, 2, [3, [4, 5], 6], 7); 
+    my @b = (0, 1, 2, [3, [4, 5], 6], 7); 
+
+    if (@a ~~ @b && @b ~~ @a) {
+        say "a and b are deep copies of each other";
+    } 
+    elsif (@a ~~ @b) {
+        say "a smartmatches in b";
+    } 
+    elsif (@b ~~ @a) {
+        say "b smartmatches in a";
+    } 
+    else {
+        say "a and b don't smartmatch each other at all";
+    } 
+
+
+If you were to set C<$b[3] = 4>, then instead of reporting that "a and b
+are deep copies of each other", it now reports that "b smartmatches in a".
+That because the corresponding position in C<@a> contains an array that
+(eventually) has a 4 in it.
+
+Smartmatching one hash against another reports whether both contain the
+same keys, no more and no less. This could be used to see whether two
+records have the same field names, without caring what values those fields
+might have.  For example:
+
+    use v5.10.1;
+    sub make_dogtag {
+        state $REQUIRED_FIELDS = { name=>1, rank=>1, serial_num=>1 };
+
+        my ($class, $init_fields) = @_;
+
+        die "Must supply (only) name, rank, and serial number"
+            unless $init_fields ~~ $REQUIRED_FIELDS;
+
+        ...
+    }
+
+or, if other non-required fields are allowed, use ARRAY ~~ HASH:
+
+    use v5.10.1;
+    sub make_dogtag {
+        state $REQUIRED_FIELDS = { name=>1, rank=>1, serial_num=>1 };
+
+        my ($class, $init_fields) = @_;
+
+        die "Must supply (at least) name, rank, and serial number"
+            unless [keys %{$init_fields}] ~~ $REQUIRED_FIELDS;
+
+        ...
+    }
+
+The smartmatch operator is most often used as the implicit operator of a
+C<when> clause.  See the section on "Switch Statements" in L<perlsyn>.
+
+=head3 Smartmatching of Objects
+
+To avoid relying on an object's underlying representation, if the
+smartmatch's right operand is an object that doesn't overload C<~~>,
+it raises the exception "C<Smartmatching a non-overloaded object
+breaks encapsulation>". That's because one has no business digging
+around to see whether something is "in" an object. These are all
+illegal on objects without a C<~~> overload:
+
+    %hash ~~ $object
+       42 ~~ $object
+   "fred" ~~ $object
+
+However, you can change the way an object is smartmatched by overloading
+the C<~~> operator. This is allowed to extend the usual smartmatch semantics.
+For objects that do have an C<~~> overload, see L<overload>.
+
+Using an object as the left operand is allowed, although not very useful.
+Smartmatching rules take precedence over overloading, so even if the
+object in the left operand has smartmatch overloading, this will be
+ignored.  A left operand that is a non-overloaded object falls back on a
+string or numeric comparison of whatever the C<ref> operator returns.  That
+means that
+
+    $object ~~ X
+
+does I<not> invoke the overload method with C<I<X>> as an argument.
+Instead the above table is consulted as normal, and based on the type of
+C<I<X>>, overloading may or may not be invoked.  For simple strings or
+numbers, in becomes equivalent to this:
+
+    $object ~~ $number          ref($object) == $number
+    $object ~~ $string          ref($object) eq $string 
+
+For example, this reports that the handle smells IOish
+(but please don't really do this!):
+
+    use IO::Handle;
+    my $fh = IO::Handle->new();
+    if ($fh ~~ /\bIO\b/) {
+        say "handle smells IOish";
+    } 
+
+That's because it treats C<$fh> as a string like
+C<"IO::Handle=GLOB(0x8039e0)">, then pattern matches against that.
+
 =head2 Bitwise And
 X<operator, bitwise, and> X<bitwise and> X<&>
 
@@ -474,9 +788,9 @@
 (See also L<Integer Arithmetic> and L<Bitwise String Operators>.)
 
 Note that "&" has lower priority than relational operators, so for example
-the brackets are essential in a test like
+the parentheses are essential in a test like
 
-	print "Even\n" if ($x & 1) == 0;
+    print "Even\n" if ($x & 1) == 0;
 
 =head2 Bitwise Or and Exclusive Or
 X<operator, bitwise, or> X<bitwise or> X<|> X<operator, bitwise, xor>
@@ -491,7 +805,7 @@
 Note that "|" and "^" have lower priority than relational operators, so
 for example the brackets are essential in a test like
 
-	print "false\n" if (8 | 2) != 10;
+    print "false\n" if (8 | 2) != 10;
 
 =head2 C-style Logical And
 X<&&> X<logical and> X<operator, logical, and>
@@ -509,16 +823,18 @@
 Scalar or list context propagates down to the right operand if it
 is evaluated.
 
-=head2 C-style Logical Defined-Or
+=head2 Logical Defined-Or
 X<//> X<operator, logical, defined-or>
 
 Although it has no direct equivalent in C, Perl's C<//> operator is related
 to its C-style or.  In fact, it's exactly the same as C<||>, except that it
-tests the left hand side's definedness instead of its truth.  Thus, C<$a // $b>
-is similar to C<defined($a) || $b> (except that it returns the value of C<$a>
-rather than the value of C<defined($a)>) and yields the same result as
-C<defined($a) ? $a : $b> (except that the ternary-operator form can be
-used as a lvalue, while C<$a // $b> cannot).  This is very useful for
+tests the left hand side's definedness instead of its truth.  Thus,
+C<< EXPR1 // EXPR2 >> returns the value of C<< EXPR1 >> if it's defined,
+otherwise, the value of C<< EXPR2 >> is returned. (C<< EXPR1 >> is evaluated
+in scalar context, C<< EXPR2 >> in the context of C<< // >> itself). Usually,
+this is the same result as C<< defined(EXPR1) ? EXPR1 : EXPR2 >> (except that
+the ternary-operator form can be used as a lvalue, while C<< EXPR1 // EXPR2 >>
+cannot). This is very useful for
 providing default values for variables.  If you actually want to test if
 at least one of C<$a> and C<$b> is defined, use C<defined($a // $b)>.
 
@@ -538,7 +854,7 @@
     @a = scalar(@b) || @c;	# really meant this
     @a = @b ? @b : @c;		# this works fine, though
 
-As more readable alternatives to C<&&> and C<||> when used for
+As alternatives to C<&&> and C<||> when used for
 control flow, Perl provides the C<and> and C<or> operators (see below).
 The short-circuit behavior is identical.  The precedence of "and"
 and "or" is much lower, however, so that you can safely use them after a
@@ -552,6 +868,13 @@
     unlink("alpha", "beta", "gamma")
 	    || (gripe(), next LINE);
 
+It would be even more readable to write that this way:
+
+    unless(unlink("alpha", "beta", "gamma")) {
+        gripe();
+        next LINE;
+    } 
+
 Using "or" for assignment is unlikely to do what you want; see below.
 
 =head2 Range Operators
@@ -659,9 +982,9 @@
 
 And now some examples as a list operator:
 
-    for (101 .. 200) { print; }	# print $_ 100 times
-    @foo = @foo[0 .. $#foo];	# an expensive no-op
-    @foo = @foo[$#foo-4 .. $#foo];	# slice last 5 items
+    for (101 .. 200) { print }      # print $_ 100 times
+    @foo = @foo[0 .. $#foo];        # an expensive no-op
+    @foo = @foo[$#foo-4 .. $#foo];  # slice last 5 items
 
 The range operator (in list context) makes use of the magical
 auto-increment algorithm if the operands are strings.  You
@@ -675,7 +998,8 @@
 
 to get a hexadecimal digit, or
 
-    @z2 = ("01" .. "31");  print $z2[$mday];
+    @z2 = ("01" .. "31");
+    print $z2[$mday];
 
 to get dates with leading zeros.
 
@@ -695,8 +1019,10 @@
 you could use this instead:
 
     use charnames "greek";
-    my @greek_small =  map { chr }
-		       ord "\N{alpha}" .. ord "\N{omega}";
+    my @greek_small =  map { chr } ( ord("\N{alpha}") 
+                                        ..
+                                     ord("\N{omega}") 
+                                   );
 
 However, because there are I<many> other lowercase Greek characters than
 just those, to match lowercase Greek characters in a regular expression,
@@ -779,8 +1105,13 @@
 then modifying the variable that was assigned to.  This is useful
 for modifying a copy of something, like this:
 
-    ($tmp = $global) =~ tr [0-9] [a-j];
+    ($tmp = $global) =~ tr/13579/24680/;
 
+Although as of 5.14, that can be also be accomplished this way:
+
+    use v5.14;
+    $tmp = ($global =~  tr/13579/24680/r);
+
 Likewise,
 
     ($a += 2) *= 3;
@@ -795,72 +1126,6 @@
 the number of elements produced by the expression on the right hand
 side of the assignment.
 
-=head2 The Triple-Dot Operator
-X<...> X<... operator> X<yada-yada operator> X<whatever operator>
-X<triple-dot operator>
-
-The triple-dot operator, C<...>, sometimes called the "whatever operator", the
-"yada-yada operator", or the "I<et cetera>" operator, is a placeholder for
-code.  Perl parses it without error, but when you try to execute a whatever,
-it throws an exception with the text C<Unimplemented>:
-
-    sub unimplemented { ... }
-
-    eval { unimplemented() };
-    if ($@ eq "Unimplemented" ) {
-	say "Oh look, an exception--whatever.";
-    }
-
-You can only use the triple-dot operator to stand in for a complete statement.
-These examples of the triple-dot work:
-
-    { ... }
-
-    sub foo { ... }
-
-    ...;
-
-    eval { ... };
-
-    sub foo {
-	my ($self) = shift;
-	...;
-    }
-
-    do {
-	my $variable;
-	...;
-	say "Hurrah!";
-    } while $cheering;
-
-The yada-yada--or whatever--cannot stand in for an expression that is
-part of a larger statement since the C<...> is also the three-dot version
-of the binary range operator (see L<Range Operators>).  These examples of
-the whatever operator are still syntax errors:
-
-    print ...;
-
-    open(PASSWD, ">", "/dev/passwd") or ...;
-
-    if ($condition && ...) { say "Hello" }
-
-There are some cases where Perl can't immediately tell the difference
-between an expression and a statement. For instance, the syntax for a
-block and an anonymous hash reference constructor look the same unless
-there's something in the braces that give Perl a hint. The whatever
-is a syntax error if Perl doesn't guess that the C<{ ... }> is a
-block. In that case, it doesn't think the C<...> is the whatever
-because it's expecting an expression instead of a statement:
-
-    my @transformed = map { ... } @input;  # syntax error
-
-You can use a C<;> inside your block to denote that the C<{ ... }> is
-a block and not a hash reference constructor. Now the whatever works:
-
-    my @transformed = map {; ... } @input; # ; disambiguates
-
-    my @transformed = map { ...; } @input; # ; disambiguates
-
 =head2 Comma Operator
 X<comma> X<operator, comma> X<,>
 
@@ -872,8 +1137,8 @@
 both its arguments into the list.  These arguments are also evaluated
 from left to right.
 
-The C<< => >> operator is a synonym for the comma except that it causes
-its left operand to be interpreted as a string if it begins with a letter
+The C<< => >> operator is a synonym for the comma except that it causes a
+word on its left to be interpreted as a string if it begins with a letter
 or underscore and is composed only of letters, digits and underscores.
 This includes operands that might otherwise be interpreted as operators,
 constants, single number v-strings or function calls. If in doubt about
@@ -899,9 +1164,18 @@
 The C<< => >> operator is helpful in documenting the correspondence
 between keys and values in hashes, and other paired elements in lists.
 
-        %hash = ( $key => $value );
-        login( $username => $password );
+    %hash = ( $key => $value );
+    login( $username => $password );
 
+The special quoting behavior ignores precedence, and hence may apply to
+I<part> of the left operand:
+
+    print time.shift => "bbb";
+
+That example prints something like "1314363215shiftbbb", because the
+C<< => >> implicitly quotes the C<shift> immediately on its left, ignoring
+the fact that C<time.shift> is the entire left operand.
+
 =head2 List Operators (Rightward)
 X<operator, list, rightward> X<list operator>
 
@@ -909,11 +1183,19 @@
 such that it controls all comma-separated expressions found there.
 The only operators with lower precedence are the logical operators
 "and", "or", and "not", which may be used to evaluate calls to list
-operators without the need for extra parentheses:
+operators without the need for parentheses:
 
-    open HANDLE, "< $file"
-	or die "Can't open $file: $!\n";
+    open HANDLE, "< :utf8", "filename" or die "Can't open: $!\n";
 
+However, some people find that code harder to read than writing
+it with parentheses:
+
+    open(HANDLE, "< :utf8", "filename") or die "Can't open: $!\n";
+
+in which case you might as well just use the more customary "||" operator:
+
+    open(HANDLE, "< :utf8", "filename") || die "Can't open: $!\n";
+
 See also discussion of list operators in L<Terms and List Operators (Leftward)>.
 
 =head2 Logical Not
@@ -930,9 +1212,9 @@
 precedence.  This means that it short-circuits: the right
 expression is evaluated only if the left expression is true.
 
-=head2 Logical or, Defined or, and Exclusive Or
+=head2 Logical or and Exclusive Or
 X<operator, logical, or> X<operator, logical, xor>
-X<operator, logical, defined or> X<operator, logical, exclusive or>
+X<operator, logical, exclusive or>
 X<or> X<xor>
 
 Binary "or" returns the logical disjunction of the two surrounding
@@ -959,9 +1241,11 @@
 
 Then again, you could always use parentheses.
 
-Binary "xor" returns the exclusive-OR of the two surrounding expressions.
+Binary C<xor> returns the exclusive-OR of the two surrounding expressions.
 It cannot short-circuit (of course).
 
+There is no low precedence operator for defined-OR.
+
 =head2 C Operators Missing From Perl
 X<operator, missing from perl> X<&> X<*>
 X<typecasting> X<(TYPE)>
@@ -1123,6 +1407,10 @@
    \c^      chr(30)
    \c?      chr(127)
 
+In other words, it's the character whose code point has had 64 xor'd with
+its uppercase.  C<\c?> is DELETE because C<ord("?") ^ 64> is 127, and
+C<\c@> is NULL because the ord of "@" is 64, so xor'ing 64 itself produces 0.
+
 Also, C<\c\I<X>> yields C< chr(28) . "I<X>"> for any I<X>, but cannot come at the
 end of a string, because the backslash would be parsed as escaping the end
 quote.
@@ -1134,9 +1422,9 @@
 
 Use of any other character following the "c" besides those listed above is
 discouraged, and some are deprecated with the intention of removing
-those in Perl 5.16.  What happens for any of these
-other characters currently though, is that the value is derived by inverting
-the 7th bit (0x40).
+those in a later Perl version.  What happens for any of these
+other characters currently though, is that the value is derived by xor'ing
+with the seventh bit, which is 64.
 
 To get platform independent controls, you can use C<\N{...}>.
 
@@ -1158,18 +1446,19 @@
 
 Some contexts allow 2 or even 1 digit, but any usage without exactly
 three digits, the first being a zero, may give unintended results.  (For
-example, see L<perlrebackslash/Octal escapes>.)  Starting in Perl 5.14, you may
+example, in a regular expression it may be confused with a backreference;
+see L<perlrebackslash/Octal escapes>.)  Starting in Perl 5.14, you may
 use C<\o{}> instead, which avoids all these problems.  Otherwise, it is best to
 use this construct only for ordinals C<\077> and below, remembering to pad to
 the left with zeros to make three digits.  For larger ordinals, either use
-C<\o{}> , or convert to something else, such as to hex and use C<\x{}>
+C<\o{}>, or convert to something else, such as to hex and use C<\x{}>
 instead.
 
 Having fewer than 3 digits may lead to a misleading warning message that says
 that what follows is ignored.  For example, C<"\128"> in the ASCII character set
 is equivalent to the two characters C<"\n8">, but the warning C<Illegal octal
-digit '8' ignored> will be thrown.  To avoid this warning, make sure to pad
-your octal number with C<0>'s: C<"\0128">.
+digit '8' ignored> will be thrown.  If C<"\n8"> is what you want, you can
+avoid this warning by padding your octal number with C<0>'s: C<"\0128">.
 
 =item [8]
 
@@ -1187,10 +1476,10 @@
 from 0) is the letter "P", and in EBCDIC it is the ampersand symbol "&".
 C<\x{100}> and C<\o{400}> are both 256 in decimal, so the number is interpreted
 as a Unicode code point no matter what the native encoding is.  The name of the
-character in the 100th position (indexed by 0) in Unicode is
+character in the 256th position (indexed by 0) in Unicode is
 C<LATIN CAPITAL LETTER A WITH MACRON>.
 
-There are a couple of exceptions to the above rule.  C<\N{U+I<hex number>}> is
+There are a couple of exceptions to the above rule.  S<C<\N{U+I<hex number>}>> is
 always interpreted as a Unicode code point, so that C<\N{U+0050}> is "P" even
 on EBCDIC platforms.  And if L<C<S<use encoding>>|encoding> is in effect, the
 number is considered to be in that encoding, and is translated from that into
@@ -1200,33 +1489,42 @@
 =back
 
 B<NOTE>: Unlike C and other languages, Perl has no C<\v> escape sequence for
-the vertical tab (VT - ASCII 11), but you may use C<\ck> or C<\x0b>.  (C<\v>
+the vertical tab (VT, which is 11 in both ASCII and EBCDIC), but you may
+use C<\ck> or
+C<\x0b>.  (C<\v>
 does have meaning in regular expression patterns in Perl, see L<perlre>.)
 
 The following escape sequences are available in constructs that interpolate,
 but not in transliterations.
-X<\l> X<\u> X<\L> X<\U> X<\E> X<\Q>
+X<\l> X<\u> X<\L> X<\U> X<\E> X<\Q> X<\F>
 
     \l		lowercase next character only
     \u		titlecase (not uppercase!) next character only
-    \L		lowercase all characters till \E seen
-    \U		uppercase all characters till \E seen
-    \Q		quote non-word characters till \E
+    \L		lowercase all characters till \E or end of string
+    \U		uppercase all characters till \E or end of string
+    \F		foldcase all characters till \E or end of string
+    \Q          quote (disable) pattern metacharacters till \E or
+                end of string
     \E		end either case modification or quoted section
 		(whichever was last seen)
 
-C<\L>, C<\U>, and C<\Q> can stack, in which case you need one
+See L<perlfunc/quotemeta> for the exact definition of characters that
+are quoted by C<\Q>.
+
+C<\L>, C<\U>, C<\F>, and C<\Q> can stack, in which case you need one
 C<\E> for each.  For example:
 
-	say "This \Qquoting \ubusiness \Uhere isn't quite\E done yet,\E is it?";
-    This quoting\ Business\ HERE\ ISN\'T\ QUITE\ done\ yet\, is it?
+ say"This \Qquoting \ubusiness \Uhere isn't quite\E done yet,\E is it?";
+ This quoting\ Business\ HERE\ ISN\'T\ QUITE\ done\ yet\, is it?
 
-If C<use locale> is in effect, the case map used by C<\l>, C<\L>,
+If C<use locale> is in effect (but not C<use locale ':not_characters'>),
+the case map used by C<\l>, C<\L>,
 C<\u>, and C<\U> is taken from the current locale.  See L<perllocale>.
 If Unicode (for example, C<\N{}> or code points of 0x100 or
 beyond) is being used, the case map used by C<\l>, C<\L>, C<\u>, and
 C<\U> is as defined by Unicode.  That means that case-mapping
 a single character can sometimes produce several characters.
+Under C<use locale>, C<\F> produces the same results as C<\L>.
 
 All systems use the virtual C<"\n"> to represent a line terminator,
 called a "newline".  There is no such thing as an unvarying, physical
@@ -1304,9 +1602,11 @@
 is done.  Returns a Perl value which may be used instead of the
 corresponding C</STRING/msixpodual> expression. The returned value is a
 normalized version of the original pattern. It magically differs from
-a string containing the same characters: C<ref(qr/x/)> returns "Regexp",
-even though dereferencing the result returns undef.
+a string containing the same characters: C<ref(qr/x/)> returns "Regexp";
+however, dereferencing it is not well defined (you currently get the 
+normalized version of the original pattern, but this may change).
 
+
 For example,
 
     $rex = qr/my.STRING/is;
@@ -1320,7 +1620,8 @@
 The result may be used as a subpattern in a match:
 
     $re = qr/$pattern/;
-    $string =~ /foo${re}bar/;	# can be interpolated in other patterns
+    $string =~ /foo${re}bar/;	# can be interpolated in other
+                                # patterns
     $string =~ $re;		# or used standalone
     $string =~ /$re/;		# or this way
 
@@ -1353,14 +1654,15 @@
     i	Do case-insensitive pattern matching.
     x	Use extended regular expressions.
     p	When matching preserve a copy of the matched string so
-        that ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} will be defined.
+        that ${^PREMATCH}, ${^MATCH}, ${^POSTMATCH} will be
+        defined.
     o	Compile pattern only once.
-    l   Use the locale
-    u   Use Unicode rules
-    a   Use ASCII for \d, \s, \w; specifying two a's further restricts
-        /i matching so that no ASCII character will match a non-ASCII
-        one
-    d   Use Unicode or native charset, as in 5.12 and earlier
+    a   ASCII-restrict: Use ASCII for \d, \s, \w; specifying two
+        a's further restricts /i matching so that no ASCII
+        character will match a non-ASCII one.
+    l   Use the locale.
+    u   Use Unicode rules.
+    d   Use Unicode or native charset, as in 5.12 and earlier.
 
 If a precompiled pattern is embedded in a larger pattern then the effect
 of "msixpluad" will be propagated appropriately.  The effect the "o"
@@ -1368,12 +1670,14 @@
 explicitly using it.
 
 The last four modifiers listed above, added in Perl 5.14,
-control the character set semantics.
+control the character set semantics, but C</a> is the only one you are likely
+to want to specify explicitly; the other three are selected
+automatically by various pragmas.
 
 See L<perlre> for additional information on valid syntax for STRING, and
 for a detailed look at the semantics of regular expressions.  In
-particular, all the modifiers execpt C</o> are further explained in
-L<perlre/Modifiers>.  C</o> is described in the next section.
+particular, all modifiers except the largely obsolete C</o> are further
+explained in L<perlre/Modifiers>.  C</o> is described in the next section.
 
 =item m/PATTERN/msixpodualgc
 X<m> X<operator, match>
@@ -1393,7 +1697,8 @@
 process modifiers are available:
 
  g  Match globally, i.e., find all occurrences.
- c  Do not reset search position on a failed match when /g is in effect.
+ c  Do not reset search position on a failed match when /g is
+    in effect.
 
 If "/" is the delimiter then the initial C<m> is optional.  With the C<m>
 you can use any pair of non-whitespace (ASCII) characters
@@ -1425,7 +1730,7 @@
 don't change, and you need to wring out the last little bit of speed by
 having Perl skip testing for that.  (There is a maintenance penalty for
 doing this, as mentioning C</o> constitutes a promise that you won't
-change the variables in the pattern.  If you change them, Perl won't
+change the variables in the pattern.  If you do change them, Perl won't
 even notice.)
 
 =item 2
@@ -1434,8 +1739,22 @@
 regardless of whether they change or not.  (But there are saner ways
 of accomplishing this than using C</o>.)
 
+=item 3
+
+If the pattern contains embedded code, such as
+
+    use re 'eval';
+    $code = 'foo(?{ $x })';
+    /$code/
+
+then perl will recompile each time, even though the pattern string hasn't
+changed, to ensure that the current value of C<$x> is seen each time.
+Use C</o> if you want to avoid this.
+
 =back
 
+The bottom line is that using C</o> is almost never a good idea.
+
 =item The empty pattern //
 
 If the PATTERN evaluates to the empty string, the last
@@ -1458,30 +1777,29 @@
 
 If the C</g> option is not used, C<m//> in list context returns a
 list consisting of the subexpressions matched by the parentheses in the
-pattern, i.e., (C<$1>, C<$2>, C<$3>...).  (Note that here C<$1> etc. are
-also set, and that this differs from Perl 4's behavior.)  When there are
-no parentheses in the pattern, the return value is the list C<(1)> for
-success.  With or without parentheses, an empty list is returned upon
-failure.
+pattern, that is, (C<$1>, C<$2>, C<$3>...)  (Note that here C<$1> etc. are
+also set).  When there are no parentheses in the pattern, the return
+value is the list C<(1)> for success.  
+With or without parentheses, an empty list is returned upon failure.
 
 Examples:
 
-    open(TTY, "+>/dev/tty")
-	|| die "can't access /dev/tty: $!";
+ open(TTY, "+</dev/tty")
+    || die "can't access /dev/tty: $!";
 
-    <TTY> =~ /^y/i && foo();	# do foo if desired
+ <TTY> =~ /^y/i && foo();	# do foo if desired
 
-    if (/Version: *([0-9.]*)/) { $version = $1; }
+ if (/Version: *([0-9.]*)/) { $version = $1; }
 
-    next if m#^/usr/spool/uucp#;
+ next if m#^/usr/spool/uucp#;
 
-    # poor man's grep
-    $arg = shift;
-    while (<>) {
-	print if /$arg/o;	# compile only once (no longer needed!)
-    }
+ # poor man's grep
+ $arg = shift;
+ while (<>) {
+    print if /$arg/o; # compile only once (no longer needed!)
+ }
 
-    if (($F1, $F2, $Etc) = ($foo =~ /^(\S+)\s+(\S+)\s*(.*)/))
+ if (($F1, $F2, $Etc) = ($foo =~ /^(\S+)\s+(\S+)\s*(.*)/))
 
 This last example splits $foo into the first two words and the
 remainder of the line, and assigns those three fields to $F1, $F2, and
@@ -1501,7 +1819,7 @@
 The position after the last match can be read or set using the C<pos()>
 function; see L<perlfunc/pos>. A failed match normally resets the
 search position to the beginning of the string, but you can avoid that
-by adding the C</c> modifier (e.g. C<m//gc>). Modifying the target
+by adding the C</c> modifier (for example, C<m//gc>). Modifying the target
 string also resets the search position.
 
 =item \G assertion
@@ -1533,26 +1851,30 @@
 
 Here's another way to check for sentences in a paragraph:
 
-    my $sentence_rx = qr{
-	(?: (?<= ^ ) | (?<= \s ) )  # after start-of-string or whitespace
-	\p{Lu}                      # capital letter
-	.*?                         # a bunch of anything
-	(?<= \S )                   # that ends in non-whitespace
-	(?<! \b [DMS]r  )           # but isn't a common abbreviation
-	(?<! \b Mrs )
-	(?<! \b Sra )
-	(?<! \b St  )
-	[.?!]                       # followed by a sentence ender
-	(?= $ | \s )                # in front of end-of-string or whitespace
-    }sx;
-    local $/ = "";
-    while (my $paragraph = <>) {
-	say "NEW PARAGRAPH";
-	my $count = 0;
-	while ($paragraph =~ /($sentence_rx)/g) {
-	    printf "\tgot sentence %d: <%s>\n", ++$count, $1;
-	}
+ my $sentence_rx = qr{
+    (?: (?<= ^ ) | (?<= \s ) )  # after start-of-string or
+                                # whitespace
+    \p{Lu}                      # capital letter
+    .*?                         # a bunch of anything
+    (?<= \S )                   # that ends in non-
+                                # whitespace
+    (?<! \b [DMS]r  )           # but isn't a common abbr.
+    (?<! \b Mrs )
+    (?<! \b Sra )
+    (?<! \b St  )
+    [.?!]                       # followed by a sentence
+                                # ender
+    (?= $ | \s )                # in front of end-of-string
+                                # or whitespace
+ }sx;
+ local $/ = "";
+ while (my $paragraph = <>) {
+    say "NEW PARAGRAPH";
+    my $count = 0;
+    while ($paragraph =~ /($sentence_rx)/g) {
+        printf "\tgot sentence %d: <%s>\n", ++$count, $1;
     }
+ }
 
 Here's how to use C<m//gc> with C<\G>:
 
@@ -1589,16 +1911,21 @@
 regexp tries to match where the previous one leaves off.
 
  $_ = <<'EOL';
-    $url = URI::URL->new( "http://example.com/" ); die if $url eq "xXx";
+    $url = URI::URL->new( "http://example.com/" );
+    die if $url eq "xXx";
  EOL
 
  LOOP: {
      print(" digits"),       redo LOOP if /\G\d+\b[,.;]?\s*/gc;
-     print(" lowercase"),    redo LOOP if /\G\p{Ll}+\b[,.;]?\s*/gc;
-     print(" UPPERCASE"),    redo LOOP if /\G\p{Lu}+\b[,.;]?\s*/gc;
-     print(" Capitalized"),  redo LOOP if /\G\p{Lu}\p{Ll}+\b[,.;]?\s*/gc;
+     print(" lowercase"),    redo LOOP
+                                    if /\G\p{Ll}+\b[,.;]?\s*/gc;
+     print(" UPPERCASE"),    redo LOOP
+                                    if /\G\p{Lu}+\b[,.;]?\s*/gc;
+     print(" Capitalized"),  redo LOOP
+                              if /\G\p{Lu}\p{Ll}+\b[,.;]?\s*/gc;
      print(" MiXeD"),        redo LOOP if /\G\pL+\b[,.;]?\s*/gc;
-     print(" alphanumeric"), redo LOOP if /\G[\p{Alpha}\pN]+\b[,.;]?\s*/gc;
+     print(" alphanumeric"), redo LOOP
+                            if /\G[\p{Alpha}\pN]+\b[,.;]?\s*/gc;
      print(" line-noise"),   redo LOOP if /\G\W+/gc;
      print ". That's all!\n";
  }
@@ -1605,10 +1932,10 @@
 
 Here is the output (split into several lines):
 
-    line-noise lowercase line-noise UPPERCASE line-noise UPPERCASE
-    line-noise lowercase line-noise lowercase line-noise lowercase
-    lowercase line-noise lowercase lowercase line-noise lowercase
-    lowercase line-noise MiXeD line-noise. That's all!
+ line-noise lowercase line-noise UPPERCASE line-noise UPPERCASE
+ line-noise lowercase line-noise lowercase line-noise lowercase
+ lowercase line-noise lowercase lowercase line-noise lowercase
+ lowercase line-noise MiXeD line-noise. That's all!
 
 =item m?PATTERN?msixpodualgc
 X<?> X<operator, match-once>
@@ -1676,16 +2003,18 @@
 specific options:
 
     e	Evaluate the right side as an expression.
-    ee  Evaluate the right side as a string then eval the result.
-    r   Return substitution and leave the original string untouched.
+    ee  Evaluate the right side as a string then eval the
+        result.
+    r   Return substitution and leave the original string
+        untouched.
 
 Any non-whitespace delimiter may replace the slashes.  Add space after
 the C<s> when using a character allowed in identifiers.  If single quotes
 are used, no interpretation is done on the replacement string (the C</e>
-modifier overrides this, however).  Unlike Perl 4, Perl 5 treats backticks
+modifier overrides this, however).  Note that Perl treats backticks
 as normal delimiters; the replacement text is not evaluated as a command.
 If the PATTERN is delimited by bracketing quotes, the REPLACEMENT has
-its own pair of quotes, which may or may not be bracketing quotes, e.g.,
+its own pair of quotes, which may or may not be bracketing quotes, for example,
 C<s(foo)(bar)> or C<< s<foo>/bar/ >>.  A C</e> will cause the
 replacement portion to be treated as a full-fledged Perl expression
 and evaluated right then and there.  It is, however, syntax checked at
@@ -1694,20 +2023,24 @@
 
 Examples:
 
-    s/\bgreen\b/mauve/g;		# don't change wintergreen
+    s/\bgreen\b/mauve/g;	      # don't change wintergreen
 
     $path =~ s|/usr/bin|/usr/local/bin|;
 
     s/Login: $foo/Login: $bar/; # run-time pattern
 
-    ($foo = $bar) =~ s/this/that/;	# copy first, then change
-    ($foo = "$bar") =~ s/this/that/;	# convert to string, copy, then change
+    ($foo = $bar) =~ s/this/that/;	# copy first, then
+                                        # change
+    ($foo = "$bar") =~ s/this/that/;	# convert to string,
+                                        # copy, then change
     $foo = $bar =~ s/this/that/r;	# Same as above using /r
     $foo = $bar =~ s/this/that/r
-                =~ s/that/the other/r;	# Chained substitutes using /r
-    @foo = map { s/this/that/r } @bar	# /r is very useful in maps
+                =~ s/that/the other/r;	# Chained substitutes
+                                        # using /r
+    @foo = map { s/this/that/r } @bar	# /r is very useful in
+                                        # maps
 
-    $count = ($paragraph =~ s/Mister\b/Mr./g);  # get change-count
+    $count = ($paragraph =~ s/Mister\b/Mr./g);  # get change-cnt
 
     $_ = 'abc123xyz';
     s/\d+/$&*2/e;		# yields 'abc246xyz'
@@ -1744,9 +2077,11 @@
 	\*/	# Match the closing delimiter.
     } []gsx;
 
-    s/^\s*(.*?)\s*$/$1/;	# trim whitespace in $_, expensively
+    s/^\s*(.*?)\s*$/$1/;	# trim whitespace in $_,
+                                # expensively
 
-    for ($variable) {		# trim whitespace in $variable, cheap
+    for ($variable) {		# trim whitespace in $variable,
+                                # cheap
 	s/^\s+//;
 	s/\s+$//;
     }
@@ -1766,14 +2101,6 @@
     # expand tabs to 8-column spacing
     1 while s/\t+/' ' x (length($&)*8 - length($`)%8)/e;
 
-C<s///le> is treated as a substitution followed by the C<le> operator, not
-the C</le> flags.  This may change in a future version of Perl.  It
-produces a warning if warnings are enabled.  To disambiguate, use a space
-or change the order of the flags:
-
-    s/foo/bar/ le 5;  # "le" infix operator
-    s/foo/bar/el;     # "e" and "l" flags
-
 =back
 
 =head2 Quote-Like Operators
@@ -1812,7 +2139,7 @@
 =item `STRING`
 
 A string which is (possibly) interpolated and then executed as a
-system command with C</bin/sh> or its equivalent.  Shell wildcards,
+system command with F</bin/sh> or its equivalent.  Shell wildcards,
 pipes, and redirections will be honored.  The collected standard
 output of the command is returned; standard error is unaffected.  In
 scalar context, it comes back as a single (potentially multi-line)
@@ -1872,10 +2199,10 @@
 capable of dealing with multiline commands, so putting newlines in
 the string may not get you what you want.  You may be able to evaluate
 multiple commands in a single line by separating them with the command
-separator character, if your shell supports that (e.g. C<;> on many Unix
-shells; C<&> on the Windows NT C<cmd> shell).
+separator character, if your shell supports that (for example, C<;> on 
+many Unix shells and C<&> on the Windows NT C<cmd> shell).
 
-Beginning with v5.6.0, Perl will attempt to flush all files opened for
+Perl will attempt to flush all files opened for
 output before starting the child process, but this may not be supported
 on some platforms (see L<perlport>).  To be safe, you may need to set
 C<$|> ($AUTOFLUSH in English) or call the C<autoflush()> method of
@@ -2147,8 +2474,9 @@
     FINIS
 
 If you use a here-doc within a delimited construct, such as in C<s///eg>,
-the quoted material must come on the lines following the final delimiter.
-So instead of
+the quoted material must still come on the line following the
+C<<< <<FOO >>> marker, which means it may be inside the delimited
+construct:
 
     s/this/<<E . 'that'
     the other
@@ -2155,7 +2483,8 @@
     E
      . 'more '/eg;
 
-you have to write
+It works this way as of Perl 5.18.  Historically, it was inconsistent, and
+you would have to write
 
     s/this/<<E . 'that'
      . 'more '/eg;
@@ -2162,9 +2491,7 @@
     the other
     E
 
-If the terminating identifier is on the last line of the program, you
-must be sure there is a newline after it; otherwise, Perl will give the
-warning B<Can't find string terminator "END" anywhere before EOF...>.
+outside of string evals.
 
 Additionally, quoting rules for the end-of-string identifier are
 unrelated to Perl's quoting rules. C<q()>, C<qq()>, and the like are not
@@ -2235,7 +2562,7 @@
 C<qq[]> and C<qq]]> constructs.
 
 When searching for single-character delimiters, escaped delimiters
-and C<\\> are skipped. For example, while searching for terminating C</>,
+and C<\\> are skipped.  For example, while searching for terminating C</>,
 combinations of C<\\> and C<\/> are skipped.  If the delimiters are
 bracketing, nested pairs are also skipped.  For example, while searching
 for closing C<]> paired with the opening C<[>, combinations of C<\\>, C<\]>,
@@ -2242,8 +2569,9 @@
 and C<\[> are all skipped, and nested C<[> and C<]> are skipped as well.
 However, when backslashes are used as the delimiters (like C<qq\\> and
 C<tr\\\>), nothing is skipped.
-During the search for the end, backslashes that escape delimiters
-are removed (exactly speaking, they are not copied to the safe location).
+During the search for the end, backslashes that escape delimiters or
+other backslashes are removed (exactly speaking, they are not copied to the
+safe location).
 
 For constructs with three-part delimiters (C<s///>, C<y///>, and
 C<tr///>), the search is repeated once more.
@@ -2317,7 +2645,7 @@
 
 =item C<"">, C<``>, C<qq//>, C<qx//>, C<< <file*glob> >>, C<<<"EOF">
 
-C<\Q>, C<\U>, C<\u>, C<\L>, C<\l> (possibly paired with C<\E>) are
+C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, C<\F> (possibly paired with C<\E>) are
 converted to corresponding Perl constructs.  Thus, C<"$foo\Qbaz$bar">
 is converted to C<$foo . (quotemeta("baz" . $bar))> internally.
 The other escape sequences such as C<\200> and C<\t> and backslashed
@@ -2326,7 +2654,7 @@
 
 Let it be stressed that I<whatever falls between C<\Q> and C<\E>>
 is interpolated in the usual way.  Something like C<"\Q\\E"> has
-no C<\E> inside.  instead, it has C<\Q>, C<\\>, and C<E>, so the
+no C<\E> inside.  Instead, it has C<\Q>, C<\\>, and C<E>, so the
 result is the same as for C<"\\\\E">.  As a general rule, backslashes
 between C<\Q> and C<\E> may lead to counterintuitive results.  So,
 C<"\Q\t\E"> is converted to C<quotemeta("\t")>, which is the same
@@ -2368,7 +2696,7 @@
 
 =item the replacement of C<s///>
 
-Processing of C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, and interpolation
+Processing of C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, C<\F> and interpolation
 happens as with C<qq//> constructs.
 
 It is at this step that C<\1> is begrudgingly converted to C<$1> in
@@ -2379,7 +2707,7 @@
 
 =item C<RE> in C<?RE?>, C</RE/>, C<m/RE/>, C<s/RE/foo/>,
 
-Processing of C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, C<\E>,
+Processing of C<\Q>, C<\U>, C<\u>, C<\L>, C<\l>, C<\F>, C<\E>,
 and interpolation happens (almost) as with C<qq//> constructs.
 
 Processing of C<\N{...}> is also done here, and compiled into an intermediate
@@ -2394,6 +2722,10 @@
 treated as an array symbol (for example C<@foo>),
 even though the same text in C<qq//> gives interpolation of C<\c@>.
 
+Code blocks such as C<(?{BLOCK})> are handled by temporarily passing control
+back to the perl parser, in a similar way that an interpolated array
+subscript expression such as C<"foo$array[1+f("[xyz")]bar"> would be.
+
 Moreover, inside C<(?{BLOCK})>, C<(?# comment )>, and
 a C<#>-comment in a C<//x>-regular expression, no processing is
 performed whatsoever.  This is the first step at which the presence
@@ -2462,10 +2794,12 @@
 The terminator of this construct is found using the same rules as
 for finding the terminator of a C<{}>-delimited construct, the only
 exception being that C<]> immediately following C<[> is treated as
-though preceded by a backslash.  Similarly, the terminator of
-C<(?{...})> is found using the same rules as for finding the
-terminator of a C<{}>-delimited construct.
+though preceded by a backslash.
 
+The terminator of runtime C<(?{...})> is found by temporarily switching
+control to the perl parser, which should stop at the point where the
+logically balancing terminating C<}> is found.
+
 It is possible to inspect both the string given to RE engine and the
 resulting finite automaton.  See the arguments C<debug>/C<debugcolor>
 in the C<use L<re>> pragma, as well as Perl's B<-Dr> command-line
@@ -2535,14 +2869,15 @@
     print while ($_ = <STDIN>);
     print while <STDIN>;
 
-This also behaves similarly, but avoids $_ :
+This also behaves similarly, but assigns to a lexical variable 
+instead of to C<$_>:
 
     while (my $line = <STDIN>) { print $line }
 
 In these loop constructs, the assigned value (whether assignment
 is automatic or explicit) is then tested to see whether it is
-defined.  The defined test avoids problems where line has a string
-value that would be treated as false by Perl, for example a "" or
+defined.  The defined test avoids problems where the line has a string
+value that would be treated as false by Perl; for example a "" or
 a "0" with no trailing newline.  If you really mean for such values
 to terminate the loop, they should be tested for explicitly:
 
@@ -2549,7 +2884,7 @@
     while (($_ = <STDIN>) ne '0') { ... }
     while (<STDIN>) { last unless $_; ... }
 
-In other boolean contexts, C<< <filehandle> >> without an
+In other boolean contexts, C<< <FILEHANDLE> >> without an
 explicit C<defined> test or comparison elicits a warning if the
 C<use warnings> pragma or the B<-w>
 command-line switch (the C<$^W> variable) is in effect.
@@ -2571,7 +2906,9 @@
 See L<perlfunc/readline>.
 
 The null filehandle <> is special: it can be used to emulate the
-behavior of B<sed> and B<awk>.  Input from <> comes either from
+behavior of B<sed> and B<awk>, and any other Unix filter program
+that takes a list of filenames, doing the same to each line
+of input from all of them.  Input from <> comes either from
 standard input, or from each file listed on the command line.  Here's
 how it works: the first time <> is evaluated, the @ARGV array is
 checked, and if it is empty, C<$ARGV[0]> is set to "-", which when opened
@@ -2645,7 +2982,7 @@
 If you call it again after this, it will assume you are processing another
 @ARGV list, and if you haven't set @ARGV, will read input from STDIN.
 
-If what the angle brackets contain is a simple scalar variable (e.g.,
+If what the angle brackets contain is a simple scalar variable (for example,
 <$foo>), then that variable contains the name of the
 filehandle to input from, or its typeglob, or a reference to the
 same.  For example:
@@ -2696,7 +3033,8 @@
 the next value each time it's called, or C<undef> when the list has
 run out.  As with filehandle reads, an automatic C<defined> is
 generated when the glob occurs in the test part of a C<while>,
-because legal glob returns (e.g. a file called F<0>) would otherwise
+because legal glob returns (for example,
+a file called F<0>) would otherwise
 terminate the loop.  Again, C<undef> is returned only once.  So if
 you're expecting a single value from a glob, it is much better to
 say
@@ -2727,8 +3065,9 @@
 variable substitution.  Backslash interpolation also happens at
 compile time.  You can say
 
-    'Now is the time for all' . "\n" .
-	'good men to come to.'
+      'Now is the time for all'
+    . "\n" 
+    .  'good men to come to.'
 
 and this all reduces to one string internally.  Likewise, if
 you say
@@ -2737,7 +3076,7 @@
 	if (-s $file > 5 + 100 * 2**16) {  }
     }
 
-the compiler will precompute the number which that expression
+the compiler precomputes the number which that expression
 represents so that the interpreter won't have to.
 
 =head2 No-ops
@@ -2744,7 +3083,7 @@
 X<no-op> X<nop>
 
 Perl doesn't officially have a no-op operator, but the bare constants
-C<0> and C<1> are special-cased to not produce a warning in a void
+C<0> and C<1> are special-cased not to produce a warning in void
 context, so you can for example safely do
 
     1 while foo();
@@ -2814,6 +3153,7 @@
 machines.
 
 =head2 Floating-point Arithmetic
+
 X<floating-point> X<floating point> X<float> X<real>
 
 While C<use integer> provides integer-only arithmetic, there is no
@@ -2860,7 +3200,7 @@
 X<number, arbitrary precision>
 
 The standard C<Math::BigInt>, C<Math::BigRat>, and C<Math::BigFloat> modules,
-along with the C<bigint>, C<bigrat>, and C<bitfloat> pragmas, provide
+along with the C<bignum>, C<bigint>, and C<bigrat> pragmas, provide
 variable-precision arithmetic and overloaded operators, although
 they're currently pretty slow. At the cost of some space and
 considerable speed, they avoid the normal pitfalls associated with
@@ -2889,7 +3229,6 @@
 
 Here is a short, but incomplete summary:
 
-  Math::Fraction         big, unlimited fractions like 9973 / 12967
   Math::String           treat string sequences like numbers
   Math::FixedPrecision   calculate with a fixed precision
   Math::Currency         for currency calculations
@@ -2896,10 +3235,13 @@
   Bit::Vector            manipulate bit vectors fast (uses C)
   Math::BigIntFast       Bit::Vector wrapper for big numbers
   Math::Pari             provides access to the Pari C library
-  Math::BigInteger       uses an external C library
-  Math::Cephes           uses external Cephes C library (no big numbers)
+  Math::Cephes           uses the external Cephes C library (no
+                         big numbers)
   Math::Cephes::Fraction fractions via the Cephes library
   Math::GMP              another one using an external C library
+  Math::GMPz             an alternative interface to libgmp's big ints
+  Math::GMPq             an interface to libgmp's fraction numbers
+  Math::GMPf             an interface to libgmp's floating point numbers
 
 Choose wisely.
 


Property changes on: vendor/perl/dist/pod/perlop.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/pod/perlopentut.pod
===================================================================
--- vendor/perl/dist/pod/perlopentut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlopentut.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlopentut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlothrtut.pod
===================================================================
--- vendor/perl/dist/pod/perlothrtut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlothrtut.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlothrtut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlpacktut.pod
===================================================================
--- vendor/perl/dist/pod/perlpacktut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlpacktut.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -73,7 +73,7 @@
 The inverse operation - packing byte contents from a string of hexadecimal
 digits - is just as easily written. For instance:
 
-   my $s = pack( 'H2' x 10, map { "3$_" } ( 0..9 ) );
+   my $s = pack( 'H2' x 10, 30..39 );
    print "$s\n";
 
 Since we feed a list of ten 2-digit hexadecimal strings to C<pack>, the
@@ -80,13 +80,12 @@
 pack template should contain ten pack codes. If this is run on a computer
 with ASCII character coding, it will print C<0123456789>.
 
-
 =head1 Packing Text
 
 Let's suppose you've got to read in a data file like this:
 
     Date      |Description                | Income|Expenditure
-    01/24/2001 Ahmed's Camel Emporium                  1147.99
+    01/24/2001 Zed's Camel Emporium                    1147.99
     01/28/2001 Flea spray                                24.99
     01/29/2001 Camel rides to tourists      235.00
 
@@ -201,7 +200,7 @@
 
 Oh, hmm. That didn't quite work. Let's see what happened:
 
-    01/24/2001 Ahmed's Camel Emporium                   1147.99
+    01/24/2001 Zed's Camel Emporium                     1147.99
     01/28/2001 Flea spray                                 24.99
     01/29/2001 Camel rides to tourists     1235.00
     03/23/2001Totals                     1235.001172.98
@@ -226,7 +225,7 @@
 but they don't translate to spaces in the output.) Here's what we got
 this time:
 
-    01/24/2001 Ahmed's Camel Emporium                   1147.99
+    01/24/2001 Zed's Camel Emporium                     1147.99
     01/28/2001 Flea spray                                 24.99
     01/29/2001 Camel rides to tourists     1235.00
     03/23/2001 Totals                      1235.00 1172.98


Property changes on: vendor/perl/dist/pod/perlpacktut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlperf.pod
===================================================================
--- vendor/perl/dist/pod/perlperf.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlperf.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,7 +30,7 @@
 
 Firstly, you need to establish a baseline time for the existing code, which
 timing needs to be reliable and repeatable.  You'll probably want to use the
-C<Benchmark> or C<Devel::DProf> modules, or something similar, for this step,
+C<Benchmark> or C<Devel::NYTProf> modules, or something similar, for this step,
 or perhaps the Unix system C<time> utility, whichever is appropriate.  See the
 base of this document for a longer list of benchmarking and profiling modules,
 and recommended further reading.
@@ -597,7 +597,7 @@
 C<NYTProf> will generate a report database into the file F<nytprof.out> by
 default.  Human readable reports can be generated from here by using the
 supplied C<nytprofhtml> (HTML output) and C<nytprofcsv> (CSV output) programs.
-We've used the Unix sytem C<html2text> utility to convert the
+We've used the Unix system C<html2text> utility to convert the
 F<nytprof/index.html> file for convenience here.
 
     $> html2text nytprof/index.html


Property changes on: vendor/perl/dist/pod/perlperf.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlpod.pod
===================================================================
--- vendor/perl/dist/pod/perlpod.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlpod.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -98,10 +98,8 @@
 
   =head2 Object Attributes
 
-The text "Object Attributes" comprises the heading there.  (Note that
-head3 and head4 are recent additions, not supported in older Pod
-translators.)  The text in these heading commands can use
-formatting codes, as seen here:
+The text "Object Attributes" comprises the heading there.
+The text in these heading commands can use formatting codes, as seen here:
 
   =head2 Possible Values for C<$/>
 
@@ -238,9 +236,9 @@
 That is, with "=for", you can have only one paragraph's worth
 of text (i.e., the text in "=foo targetname text..."), but with
 "=begin targetname" ... "=end targetname", you can have any amount
-of stuff inbetween.  (Note that there still must be a blank line
+of stuff in between.  (Note that there still must be a blank line
 after the "=begin" command and a blank line before the "=end"
-command.
+command.)
 
 Here are some examples of how to use these:
 
@@ -293,9 +291,9 @@
   =encoding utf8
 
   =encoding koi8-r
-  
+
   =encoding ShiftJIS
-  
+
   =encoding big5
 
 =back
@@ -533,7 +531,7 @@
 "C<NEE<lt>ltE<gt>3>" (for "NE<lt>3") you could write
 "C<NZE<lt>E<gt>E<lt>3>" (the "ZE<lt>E<gt>" breaks up the "N" and
 the "E<lt>" so they can't be considered
-the part of a (fictitious) "NE<lt>...E<gt>" code.
+the part of a (fictitious) "NE<lt>...E<gt>" code).
 
 =for comment
  This was formerly explained as a "zero-width character".  But it in


Property changes on: vendor/perl/dist/pod/perlpod.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlpodspec.pod
===================================================================
--- vendor/perl/dist/pod/perlpodspec.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlpodspec.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -305,7 +305,7 @@
 L</About Data Paragraphs and "=beginE<sol>=end" Regions>.
 
 It is advised that formatnames match the regexp
-C<m/\A:?[−a−zA−Z0−9_]+\z/>.  Everything following whitespace after the
+C<m/\A:?[-a-zA-Z0-9_]+\z/>.  Everything following whitespace after the
 formatname is a parameter that may be used by the formatter when dealing
 with this region.  This parameter must not be repeated in the "=end"
 paragraph.  Implementors should anticipate future expansion in the
@@ -1301,14 +1301,6 @@
 
 =item *
 
-Authors wanting to link to a particular (absolute) URL, must do so
-only with "LE<lt>scheme:...>" codes (like
-LE<lt>http://www.perl.org>), and must not attempt "LE<lt>Some Site
-Name|scheme:...>" codes.  This restriction avoids many problems
-in parsing and rendering LE<lt>...> codes.
-
-=item *
-
 In a C<LE<lt>text|...E<gt>> code, text may contain formatting codes
 for formatting or for EE<lt>...> escapes, as in:
 


Property changes on: vendor/perl/dist/pod/perlpodspec.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlpodstyle.pod
===================================================================
--- vendor/perl/dist/pod/perlpodstyle.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlpodstyle.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlpodstyle.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlpolicy.pod
===================================================================
--- vendor/perl/dist/pod/perlpolicy.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlpolicy.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,57 @@
 policies about how the Perl 5 Porters collectively develop and maintain
 the Perl core.
 
+=head1 GOVERNANCE
+
+=head2 Perl 5 Porters
+
+Subscribers to perl5-porters (the porters themselves) come in several flavours.
+Some are quiet curious lurkers, who rarely pitch in and instead watch
+the ongoing development to ensure they're forewarned of new changes or
+features in Perl.  Some are representatives of vendors, who are there
+to make sure that Perl continues to compile and work on their
+platforms.  Some patch any reported bug that they know how to fix,
+some are actively patching their pet area (threads, Win32, the regexp
+-engine), while others seem to do nothing but complain.  In other
+words, it's your usual mix of technical people.
+
+Over this group of porters presides Larry Wall.  He has the final word
+in what does and does not change in any of the Perl programming languages.
+These days, Larry spends most of his time on Perl 6, while Perl 5 is
+shepherded by a "pumpking", a porter responsible for deciding what
+goes into each release and ensuring that releases happen on a regular
+basis.
+
+Larry sees Perl development along the lines of the US government:
+there's the Legislature (the porters), the Executive branch (the
+-pumpking), and the Supreme Court (Larry).  The legislature can
+discuss and submit patches to the executive branch all they like, but
+the executive branch is free to veto them.  Rarely, the Supreme Court
+will side with the executive branch over the legislature, or the
+legislature over the executive branch.  Mostly, however, the
+legislature and the executive branch are supposed to get along and
+work out their differences without impeachment or court cases.
+
+You might sometimes see reference to Rule 1 and Rule 2.  Larry's power
+as Supreme Court is expressed in The Rules:
+
+=over 4
+
+=item 1
+
+Larry is always by definition right about how Perl should behave.
+This means he has final veto power on the core functionality.
+
+=item 2
+
+Larry is allowed to change his mind about any matter at a later date,
+regardless of whether he previously invoked Rule 1.
+
+=back
+
+Got that?  Larry is always right, even when he was wrong.  It's rare
+to see either Rule exercised, but they are often alluded to.
+
 =head1 MAINTENANCE AND SUPPORT
 
 Perl 5 is developed by a community, not a corporate entity. Every change
@@ -31,9 +82,9 @@
 
 =item *
 
-We "officially" support the two most recent stable release
-series.  As of the release of 5.14.0, we will "officially"
-end support for Perl 5.10, other than providing security
+We "officially" support the two most recent stable release series.  5.12.x
+and earlier are now out of support.  As of the release of 5.18.0, we will
+"officially" end support for Perl 5.14.x, other than providing security
 updates as described below.
 
 =item *
@@ -156,12 +207,16 @@
 If something in the Perl core is marked as B<deprecated>, we may remove it
 from the core in the next stable release series, though we may not. As of
 Perl 5.12, deprecated features and modules warn the user as they're used.
-If you use a deprecated feature and believe that its removal from the Perl
-core would be a mistake, please contact the perl5-porters mailinglist and
-plead your case.  We don't deprecate things without a good reason, but
-sometimes there's a counterargument we haven't considered.  Historically,
-we did not distinguish between "deprecated" and "discouraged" features.
+When a module is deprecated, it will also be made available on CPAN.
+Installing it from CPAN will silence deprecation warnings for that module.
 
+If you use a deprecated feature or module and believe that its removal from
+the Perl core would be a mistake, please contact the perl5-porters
+mailinglist and plead your case.  We don't deprecate things without a good
+reason, but sometimes there's a counterargument we haven't considered.
+Historically, we did not distinguish between "deprecated" and "discouraged"
+features.
+
 =item discouraged
 
 From time to time, we may mark language constructs and features which we
@@ -174,7 +229,8 @@
 
 Once a feature, construct or module has been marked as deprecated for a
 stable release cycle, we may remove it from the Perl core.  Unsurprisingly,
-we say we've B<removed> these things.
+we say we've B<removed> these things.  When a module is removed, it will
+no longer ship with Perl, but will continue to be available on CPAN.
 
 =back
 
@@ -220,6 +276,11 @@
 
 =item *
 
+Patches that fix regressions in perl's behavior relative to previous
+releases are acceptable.
+
+=item *
+
 Updates to dual-life modules should consist of minimal patches to 
 fix crashing or security issues (as above).
 
@@ -250,12 +311,12 @@
 =head2 Getting changes into a maint branch
 
 Historically, only the pumpking cherry-picked changes from bleadperl
-into maintperl.  This has...scaling problems.  At the same time,
+into maintperl.  This has scaling problems.  At the same time,
 maintenance branches of stable versions of Perl need to be treated with
-great care. To that end, we're going to try out a new process for
-maint-5.12.
+great care. To that end, as of Perl 5.12, we have a new process for
+maint branches.
 
-Any committer may cherry-pick any commit from blead to maint-5.12 if
+Any committer may cherry-pick any commit from blead to a maint branch if
 they send mail to perl5-porters announcing their intent to cherry-pick
 a specific commit along with a rationale for doing so and at least two 
 other committers respond to the list giving their assent. (This policy


Property changes on: vendor/perl/dist/pod/perlpolicy.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlport.pod
===================================================================
--- vendor/perl/dist/pod/perlport.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlport.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -212,7 +212,7 @@
 connections use the C<pack> and C<unpack> formats C<n> and C<N>, the
 "network" orders.  These are guaranteed to be portable.
 
-As of perl 5.9.2, you can also use the C<E<gt>> and C<E<lt>> modifiers
+As of perl 5.10.0, you can also use the C<E<gt>> and C<E<lt>> modifiers
 to force big- or little-endian byte-order.  This is useful if you want
 to store signed integers or 64-bit integers, for example.
 
@@ -236,9 +236,9 @@
 
 One can circumnavigate both these problems in two ways.  Either
 transfer and store numbers always in text format, instead of raw
-binary, or else consider using modules like Data::Dumper (included in
-the standard distribution as of Perl 5.005) and Storable (included as
-of perl 5.8).  Keeping all data as text significantly simplifies matters.
+binary, or else consider using modules like Data::Dumper and Storable
+(included as of perl 5.8).  Keeping all data as text significantly
+simplifies matters.
 
 The v-strings are portable only up to v2147483647 (0x7FFFFFFF), that's
 how far EBCDIC, or more precisely UTF-EBCDIC will go.
@@ -622,7 +622,7 @@
 Don't assume that the epoch starts at 00:00:00, January 1, 1970,
 because that is OS- and implementation-specific.  It is better to
 store a date in an unambiguous representation.  The ISO 8601 standard
-defines YYYY-MM-DD as the date format, or YYYY-MM-DDTHH-MM-SS
+defines YYYY-MM-DD as the date format, or YYYY-MM-DDTHH:MM:SS
 (that's a literal "T" separating the date from the time).
 Please do use the ISO 8601 instead of making us guess what
 date 02/03/04 might be.  ISO 8601 even sorts nicely as-is.
@@ -679,9 +679,8 @@
 later.  If the bytes are native 8-bit bytes, you can use the C<bytes>
 pragma.  If the bytes are in a string (regular expression being a
 curious string), you can often also use the C<\xHH> notation instead
-of embedding the bytes as-is.  (If you want to write your code in UTF-8,
-you can use the C<utf8>.) The C<bytes> and C<utf8> pragmata are
-available since Perl 5.6.0.
+of embedding the bytes as-is.  If you want to write your code in UTF-8,
+you can use the C<utf8>.
 
 =head2 System Resources
 
@@ -689,10 +688,6 @@
 missing!) virtual memory systems then you want to be I<especially> mindful
 of avoiding wasteful constructs such as:
 
-    # NOTE: this is no longer "bad" in perl5.005
-    for (0..10000000) {}                       # bad
-    for (my $x = 0; $x <= 10000000; ++$x) {}   # good
-
     my @lines = <$very_large_file>;            # bad
 
     while (<$fh>) {$file .= $_}                # sometimes bad
@@ -781,8 +776,8 @@
 
 =head1 PLATFORMS
 
-As of version 5.002, Perl is built with a C<$^O> variable that
-indicates the operating system it was built on.  This was implemented
+Perl is built with a C<$^O> variable that indicates the operating
+system it was built on.  This was implemented
 to help speed up code that would otherwise have to C<use Config>
 and use the value of C<$Config{osname}>.  Of course, to get more
 detailed information about the system, looking into C<%Config> is
@@ -904,6 +899,8 @@
      Windows Vista MSWin32    MSWin32-x86       2      6 00
      Windows 7     MSWin32    MSWin32-x86       2      6 01
      Windows 7     MSWin32    MSWin32-x64       2      6 01
+     Windows 2008  MSWin32    MSWin32-x86       2      6 01
+     Windows 2008  MSWin32    MSWin32-x64       2      6 01
      Windows CE    MSWin32    ?                 3           
      Cygwin        cygwin     cygwin
 
@@ -1198,12 +1195,12 @@
 to 255 characters, a path name is still limited to 256
 characters.
 
-The value of C<$^O> on VOS is "VOS".  To determine the
+The value of C<$^O> on VOS is "vos".  To determine the
 architecture that you are running on without resorting to loading
 all of C<%Config> you can examine the content of the @INC array
 like so:
 
-    if ($^O =~ /VOS/) {
+    if ($^O =~ /vos/) {
         print "I'm on a Stratus box!\n";
     } else {
         print "I'm not on a Stratus box!\n";
@@ -1222,15 +1219,19 @@
 
 The VOS mailing list.
 
-There is no specific mailing list for Perl on VOS.  You can post
-comments to the comp.sys.stratus newsgroup, or use the contact
-information located in the distribution files on the Stratus
-Anonymous FTP site.
+There is no specific mailing list for Perl on VOS.  You can contact
+the Stratus Technologies Customer Assistance Center (CAC) for your
+region, or you can use the contact information located in the
+distribution files on the Stratus Anonymous FTP site.
 
 =item *
 
-VOS Perl on the web at L<http://ftp.stratus.com/pub/vos/posix/posix.html>
+Stratus Technologies on the web at L<http://www.stratus.com>
 
+=item *
+
+VOS Open-Source Software on the web at L<http://ftp.stratus.com/pub/vos/vos.html>
+
 =back
 
 =head2 EBCDIC Platforms
@@ -1243,7 +1244,7 @@
 services for OS/390" (formerly known as OpenEdition), VM/ESA OpenEdition, or
 the BS200 POSIX-BC system (BS2000 is supported in perl 5.6 and greater).
 See L<perlos390> for details.  Note that for OS/400 there is also a port of
-Perl 5.8.1/5.9.0 or later to the PASE which is ASCII-based (as opposed to
+Perl 5.8.1/5.10.0 or later to the PASE which is ASCII-based (as opposed to
 ILE which is EBCDIC-based), see L<perlos400>. 
 
 As of R2.5 of USS for OS/390 and Version 2.3 of VM/ESA these Unix
@@ -1282,7 +1283,7 @@
 
 Fortunately, most web servers for the mainframe will correctly
 translate the C<\n> in the following statement to its ASCII equivalent
-(C<\r> is the same under both Unix and OS/390 & VM/ESA):
+(C<\r> is the same under both Unix and OS/390):
 
     print "Content-type: text/html\r\n\r\n";
 
@@ -1293,7 +1294,6 @@
     OS/390        os390      os390
     OS400         os400      os400
     POSIX-BC      posix-bc   BS2000-posix-bc
-    VM/ESA        vmesa      vmesa
 
 Some simple tricks for determining if you are running on an EBCDIC
 platform could include any of the following (perhaps all):
@@ -1315,8 +1315,7 @@
 
 =item *
 
-L<perlos390>, F<README.os390>, F<perlbs2000>, F<README.vmesa>,
-L<perlebcdic>.
+L<perlos390>, F<README.os390>, F<perlbs2000>, L<perlebcdic>.
 
 =item *
 
@@ -1394,8 +1393,8 @@
 The Unix emulation library's translation of filenames to native assumes
 that this sort of translation is required, and it allows a user-defined list
 of known suffixes that it will transpose in this fashion.  This may
-seem transparent, but consider that with these rules C<foo/bar/baz.h>
-and C<foo/bar/h/baz> both map to C<foo.bar.h.baz>, and that C<readdir> and
+seem transparent, but consider that with these rules F<foo/bar/baz.h>
+and F<foo/bar/h/baz> both map to F<foo.bar.h.baz>, and that C<readdir> and
 C<glob> cannot and do not attempt to emulate the reverse mapping.  Other
 C<.>'s in filenames are translated to C</>.
 
@@ -1438,7 +1437,7 @@
 =head2 Other perls
 
 Perl has been ported to many platforms that do not fit into any of
-the categories listed above.  Some, such as AmigaOS, BeOS, HP MPE/iX,
+the categories listed above.  Some, such as AmigaOS,
 QNX, Plan 9, and VOS, have been well-integrated into the standard
 Perl source code kit.  You may need to see the F<ports/> directory
 on CPAN for information, and possibly binaries, for the likes of:
@@ -1452,8 +1451,6 @@
     OS            $^O        $Config{'archname'}
     ------------------------------------------
     Amiga DOS     amigaos    m68k-amigos
-    BeOS          beos
-    MPE/iX        mpeix      PA-RISC1.1
 
 See also:
 
@@ -1465,15 +1462,6 @@
 
 =item *
 
-Be OS, F<README.beos>
-
-=item *
-
-HP 300 MPE/iX, F<README.mpeix> and Mark Bixby's web page
-L<http://www.bixby.org/mark/porting.html>
-
-=item *
-
 A free perl5-based PERL.NLM for Novell Netware is available in
 precompiled binary and source code form from L<http://www.novell.com/>
 as well as from CPAN.
@@ -1588,7 +1576,7 @@
 
 =item chroot
 
-Not implemented. (Win32, VMS, S<Plan 9>, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (Win32, VMS, S<Plan 9>, S<RISC OS>, VOS)
 
 =item crypt
 
@@ -1613,8 +1601,6 @@
 
 =item exec
 
-Implemented via Spawn. (VM/ESA)
-
 Does not automatically flush output handles on some platforms.
 (SunOS, Solaris, HP-UX)
 
@@ -1653,7 +1639,7 @@
 
 =item fork
 
-Not implemented. (AmigaOS, S<RISC OS>, VM/ESA, VMS)
+Not implemented. (AmigaOS, S<RISC OS>, VMS)
 
 Emulated using multiple interpreters.  See L<perlfork>.  (Win32)
 
@@ -1674,7 +1660,7 @@
 
 =item getpriority
 
-Not implemented. (Win32, VMS, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (Win32, VMS, S<RISC OS>, VOS)
 
 =item getpwnam
 
@@ -1710,11 +1696,11 @@
 
 =item getpwent
 
-Not implemented. (Win32, VM/ESA)
+Not implemented. (Win32)
 
 =item getgrent
 
-Not implemented. (Win32, VMS, VM/ESA)
+Not implemented. (Win32, VMS)
 
 =item gethostbyname
 
@@ -1755,11 +1741,11 @@
 
 =item endpwent
 
-Not implemented. (MPE/iX, VM/ESA, Win32)
+Not implemented. (Win32)
 
 =item endgrent
 
-Not implemented. (MPE/iX, S<RISC OS>, VM/ESA, VMS, Win32)
+Not implemented. (S<RISC OS>, VMS, Win32)
 
 =item endhostent
 
@@ -1826,7 +1812,7 @@
 
 =item link
 
-Not implemented. (MPE/iX, S<RISC OS>, VOS)
+Not implemented. (S<RISC OS>, VOS)
 
 Link count not updated because hard links are not quite that hard
 (They are sort of half-way between hard and soft links). (AmigaOS)
@@ -1900,7 +1886,7 @@
 
 =item setgrent
 
-Not implemented. (MPE/iX, VMS, Win32, S<RISC OS>)
+Not implemented. (VMS, Win32, S<RISC OS>)
 
 =item setpgrp
 
@@ -1912,7 +1898,7 @@
 
 =item setpwent
 
-Not implemented. (MPE/iX, Win32, S<RISC OS>)
+Not implemented. (Win32, S<RISC OS>)
 
 =item setsockopt
 
@@ -1926,8 +1912,14 @@
 
 =item shmwrite
 
-Not implemented. (Win32, VMS, S<RISC OS>, VOS)
+Not implemented. (Win32, VMS, S<RISC OS>)
 
+=item sleep
+
+Emulated using synchronization functions such that it can be
+interrupted by alarm(), and limited to a maximum of 4294967 seconds,
+approximately 49 days. (Win32)
+
 =item sockatmark
 
 A relatively recent addition to socket functions, may not
@@ -1935,10 +1927,8 @@
 
 =item socketpair
 
-Not implemented. (S<RISC OS>, VM/ESA)
+Not implemented. (S<RISC OS>)
 
-Available on OpenVOS Release 17.0 or later. (VOS)
-
 Available on 64 bit OpenVMS 8.2 and later.  (VMS)
 
 =item stat
@@ -1978,7 +1968,7 @@
 
 =item syscall
 
-Not implemented. (Win32, VMS, S<RISC OS>, VOS, VM/ESA)
+Not implemented. (Win32, VMS, S<RISC OS>, VOS)
 
 =item sysopen
 
@@ -1985,7 +1975,7 @@
 The traditional "0", "1", and "2" MODEs are implemented with different
 numeric values on some systems.  The flags exported by C<Fcntl>
 (O_RDONLY, O_WRONLY, O_RDWR) should work everywhere though.  (S<Mac
-OS>, OS/390, VM/ESA)
+OS>, OS/390)
 
 =item system
 
@@ -2040,7 +2030,7 @@
 
 =item umask
 
-Returns undef where unavailable, as of version 5.005.
+Returns undef where unavailable.
 
 C<umask> works but the correct permissions are set only when the file
 is finally closed. (AmigaOS)
@@ -2047,7 +2037,7 @@
 
 =item utime
 
-Only the modification time is updated. (S<BeOS>, VMS, S<RISC OS>)
+Only the modification time is updated. (VMS, S<RISC OS>)
 
 May not behave as expected.  Behavior depends on the C runtime
 library's implementation of utime(), and the filesystem being
@@ -2129,10 +2119,14 @@
 
 =item Dragonfly BSD
 
+=item Midnight BSD
+
 =item QNX Neutrino RTOS (6.5.0)
 
 =item MirOS BSD
 
+=item Stratus OpenVOS (17.0 or later)
+
 Caveats:
 
 =over
@@ -2141,7 +2135,6 @@
 
 =back
 
-
 =item Symbian (Series 60 v3, 3.2 and 5 - what else?)
 
 =item Stratus VOS / OpenVOS
@@ -2224,7 +2217,7 @@
         UNICOS
         UNICOS/mk
         UTS
-        VOS
+        VOS / OpenVOS
         Win95/98/ME/2K/XP 2)
         WinCE
         z/OS            (formerly OS/390)
@@ -2315,14 +2308,13 @@
 
 =head1 SEE ALSO
 
-L<perlaix>, L<perlamiga>, L<perlapollo>, L<perlbeos>, L<perlbs2000>,
-L<perlce>, L<perlcygwin>, L<perldgux>, L<perldos>, L<perlepoc>,
+L<perlaix>, L<perlamiga>, L<perlbs2000>,
+L<perlce>, L<perlcygwin>, L<perldgux>, L<perldos>,
 L<perlebcdic>, L<perlfreebsd>, L<perlhurd>, L<perlhpux>, L<perlirix>,
-L<perlmacos>, L<perlmacosx>, L<perlmpeix>,
+L<perlmacos>, L<perlmacosx>,
 L<perlnetware>, L<perlos2>, L<perlos390>, L<perlos400>,
 L<perlplan9>, L<perlqnx>, L<perlsolaris>, L<perltru64>,
-L<perlunicode>, L<perlvmesa>, L<perlvms>, L<perlvos>,
-L<perlwin32>, and L<Win32>.
+L<perlunicode>, L<perlvms>, L<perlvos>, L<perlwin32>, and L<Win32>.
 
 =head1 AUTHORS / CONTRIBUTORS
 


Property changes on: vendor/perl/dist/pod/perlport.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlpragma.pod
===================================================================
--- vendor/perl/dist/pod/perlpragma.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlpragma.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,22 +16,22 @@
 functions much like C<use integer;> You'd like this code
 
     use MyMaths;
-    
+
     my $l = MyMaths->new(1.2);
     my $r = MyMaths->new(3.4);
-    
+
     print "A: ", $l + $r, "\n";
-    
+
     use myint;
     print "B: ", $l + $r, "\n";
-    
+
     {
         no myint;
         print "C: ", $l + $r, "\n";
     }
-    
+
     print "D: ", $l + $r, "\n";
-    
+
     no myint;
     print "E: ", $l + $r, "\n";
 
@@ -63,12 +63,12 @@
             $$l + $$r;
         }
     };
-    
+
     sub new {
         my ($class, $value) = @_;
         bless \$value, $class;
     }
-    
+
     1;
 
 Note how we load the user pragma C<myint> with an empty list C<()> to
@@ -77,24 +77,24 @@
 The interaction with the Perl compilation happens inside package C<myint>:
 
     package myint;
-    
+
     use strict;
     use warnings;
-    
+
     sub import {
-        $^H{myint} = 1;
+        $^H{"myint/in_effect"} = 1;
     }
-    
+
     sub unimport {
-        $^H{myint} = 0;
+        $^H{"myint/in_effect"} = 0;
     }
-    
+
     sub in_effect {
         my $level = shift // 0;
         my $hinthash = (caller($level))[10];
-        return $hinthash->{myint};
+        return $hinthash->{"myint/in_effect"};
     }
-    
+
     1;
 
 As pragmata are implemented as modules, like any other module, C<use myint;>
@@ -122,10 +122,26 @@
 is encapsulated into the routine C<in_effect()>, which takes as parameter
 the number of call frames to go up to find the value of the pragma in the
 user's script. This uses C<caller()> to determine the value of
-C<$^H{myint}> when each line of the user's script was called, and
+C<$^H{"myint/in_effect"}> when each line of the user's script was called, and
 therefore provide the correct semantics in the subroutine implementing the
 overloaded addition.
 
+=head1 Key naming
+
+There is only a single C<%^H>, but arbitrarily many modules that want
+to use its scoping semantics.  To avoid stepping on each other's toes,
+they need to be sure to use different keys in the hash.  It is therefore
+conventional for a module to use only keys that begin with the module's
+name (the name of its main package) and a "/" character.  After this
+module-identifying prefix, the rest of the key is entirely up to the
+module: it may include any characters whatsoever.  For example, a module
+C<Foo::Bar> should use keys such as C<Foo::Bar/baz> and C<Foo::Bar/$%/_!>.
+Modules following this convention all play nicely with each other.
+
+The Perl core uses a handful of keys in C<%^H> which do not follow this
+convention, because they predate it.  Keys that follow the convention
+won't conflict with the core's historical keys.
+
 =head1 Implementation details
 
 The optree is shared between threads.  This means there is a possibility that


Property changes on: vendor/perl/dist/pod/perlpragma.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlre.pod
===================================================================
--- vendor/perl/dist/pod/perlre.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlre.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -31,8 +31,8 @@
 X</m> X<regex, multiline> X<regexp, multiline> X<regular expression, multiline>
 
 Treat string as multiple lines.  That is, change "^" and "$" from matching
-the start or end of the string to matching the start or end of any
-line anywhere within the string.
+the start or end of line only at the left and right ends of the string to
+matching them anywhere within the string.
 
 =item s
 X</s> X<regex, single-line> X<regexp, single-line>
@@ -72,15 +72,13 @@
  # be even if it did!!
  "\N{LATIN SMALL LIGATURE FI}" =~ /(f)(i)/i;      # Doesn't match!
 
-Perl doesn't match multiple characters in an inverted bracketed
-character class, which otherwise could be highly confusing.  See
+Perl doesn't match multiple characters in a bracketed
+character class unless the character that maps to them is explicitly
+mentioned, and it doesn't match them at all if the character class is
+inverted, which otherwise could be highly confusing.  See
+L<perlrecharclass/Bracketed Character Classes>, and
 L<perlrecharclass/Negation>.
 
-Also, Perl matching doesn't fully conform to the current Unicode C</i>
-recommendations, which ask that the matching be made upon the NFD
-(Normalization Form Decomposed) of the text.  However, Unicode is
-in the process of reconsidering and revising their recommendations.
-
 =item x
 X</x>
 
@@ -105,20 +103,18 @@
 =item a, d, l and u
 X</a> X</d> X</l> X</u>
 
-These modifiers, new in 5.14, affect which character-set semantics
-(Unicode, ASCII, etc.) are used, as described below in
+These modifiers, all new in 5.14, affect which character-set semantics
+(Unicode, etc.) are used, as described below in
 L</Character set modifiers>.
 
 =back
 
-These are usually written as "the C</x> modifier", even though the delimiter
+Regular expression modifiers are usually written in documentation
+as e.g., "the C</x> modifier", even though the delimiter
 in question might not really be a slash.  The modifiers C</imsxadlup>
 may also be embedded within the regular expression itself using
 the C<(?...)> construct, see L</Extended Patterns> below.
 
-The C</x>, C</l>, C</u>, C</a> and C</d> modifiers need a little more
-explanation.
-
 =head3 /x
 
 C</x> tells
@@ -139,8 +135,8 @@
 space interpretation within a single multi-character construct.  For
 example in C<\x{...}>, regardless of the C</x> modifier, there can be no
 spaces.  Same for a L<quantifier|/Quantifiers> such as C<{3}> or
-C<{5,}>.  Similarly, C<(?:...)> can't have a space between the C<?> and C<:>,
-but can between the C<(> and C<?>.  Within any delimiters for such a
+C<{5,}>.  Similarly, C<(?:...)> can't have a space between the C<(>,
+C<?>, and C<:>.  Within any delimiters for such a
 construct, allowed spaces are not affected by C</x>, and depend on the
 construct.  For example, C<\x{...}> can't have spaces because hexadecimal
 numbers don't have spaces in them.  But, Unicode properties can have spaces, so
@@ -154,22 +150,64 @@
 the character set modifiers; they affect the character set semantics
 used for the regular expression.
 
-At any given time, exactly one of these modifiers is in effect.  Once
-compiled, the behavior doesn't change regardless of what rules are in
-effect when the regular expression is executed.  And if a regular
-expression is interpolated into a larger one, the original's rules
-continue to apply to it, and only it.
+The C</d>, C</u>, and C</l> modifiers are not likely to be of much use
+to you, and so you need not worry about them very much.  They exist for
+Perl's internal use, so that complex regular expression data structures
+can be automatically serialized and later exactly reconstituted,
+including all their nuances.  But, since Perl can't keep a secret, and
+there may be rare instances where they are useful, they are documented
+here.
 
-Note that the modifiers affect only pattern matching, and do not extend
-to any replacement done.  For example,
+The C</a> modifier, on the other hand, may be useful.  Its purpose is to
+allow code that is to work mostly on ASCII data to not have to concern
+itself with Unicode.
 
- s/foo/\Ubar/l
+Briefly, C</l> sets the character set to that of whatever B<L>ocale is in
+effect at the time of the execution of the pattern match.
 
-will uppercase "bar", but the C</l> does not affect how the C<\U>
-operates.  If C<use locale> is in effect, the C<\U> will use locale
-rules; if C<use feature 'unicode_strings'> is in effect, it will
-use Unicode rules, etc.
+C</u> sets the character set to B<U>nicode.
 
+C</a> also sets the character set to Unicode, BUT adds several
+restrictions for B<A>SCII-safe matching.
+
+C</d> is the old, problematic, pre-5.14 B<D>efault character set
+behavior.  Its only use is to force that old behavior.
+
+At any given time, exactly one of these modifiers is in effect.  Their
+existence allows Perl to keep the originally compiled behavior of a
+regular expression, regardless of what rules are in effect when it is
+actually executed.  And if it is interpolated into a larger regex, the
+original's rules continue to apply to it, and only it.
+
+The C</l> and C</u> modifiers are automatically selected for
+regular expressions compiled within the scope of various pragmas,
+and we recommend that in general, you use those pragmas instead of
+specifying these modifiers explicitly.  For one thing, the modifiers
+affect only pattern matching, and do not extend to even any replacement
+done, whereas using the pragmas give consistent results for all
+appropriate operations within their scopes.  For example,
+
+ s/foo/\Ubar/il
+
+will match "foo" using the locale's rules for case-insensitive matching,
+but the C</l> does not affect how the C<\U> operates.  Most likely you
+want both of them to use locale rules.  To do this, instead compile the
+regular expression within the scope of C<use locale>.  This both
+implicitly adds the C</l> and applies locale rules to the C<\U>.   The
+lesson is to C<use locale> and not C</l> explicitly.
+
+Similarly, it would be better to use C<use feature 'unicode_strings'>
+instead of,
+
+ s/foo/\Lbar/iu
+
+to get Unicode rules, as the C<\L> in the former (but not necessarily
+the latter) would also use Unicode rules.
+
+More detail on each of the modifiers follows.  Most likely you don't
+need to know this detail for C</l>, C</u>, and C</d>, and can skip ahead
+to L<E<sol>a|/E<sol>a (and E<sol>aa)>.
+
 =head4 /l
 
 means to use the current locale's rules (see L<perllocale>) when pattern
@@ -185,11 +223,11 @@
 above 255 are treated as Unicode no matter what locale is in effect.
 Under Unicode rules, there are a few case-insensitive matches that cross
 the 255/256 boundary.  These are disallowed under C</l>.  For example,
-0xFF does not caselessly match the character at 0x178, C<LATIN CAPITAL
-LETTER Y WITH DIAERESIS>, because 0xFF may not be C<LATIN SMALL LETTER Y
-WITH DIAERESIS> in the current locale, and Perl has no way of knowing if
-that character even exists in the locale, much less what code point it
-is.
+0xFF (on ASCII platforms) does not caselessly match the character at
+0x178, C<LATIN CAPITAL LETTER Y WITH DIAERESIS>, because 0xFF may not be
+C<LATIN SMALL LETTER Y WITH DIAERESIS> in the current locale, and Perl
+has no way of knowing if that character even exists in the locale, much
+less what code point it is.
 
 This modifier may be specified to be the default by C<use locale>, but
 see L</Which character set modifier is in effect?>.
@@ -199,13 +237,15 @@
 
 means to use Unicode rules when pattern matching.  On ASCII platforms,
 this means that the code points between 128 and 255 take on their
-Latin-1 (ISO-8859-1) meanings (which are the same as Unicode's), whereas
-in strict ASCII their meanings are undefined.  Thus the platform
-effectively becomes a Unicode platform, hence, for example, C<\w> will
-match any of the more than 100_000 word characters in Unicode.
+Latin-1 (ISO-8859-1) meanings (which are the same as Unicode's).
+(Otherwise Perl considers their meanings to be undefined.)  Thus,
+under this modifier, the ASCII platform effectively becomes a Unicode
+platform; and hence, for example, C<\w> will match any of the more than
+100_000 word characters in Unicode.
 
 Unlike most locales, which are specific to a language and country pair,
-Unicode classifies all the characters that are letters I<somewhere> as
+Unicode classifies all the characters that are letters I<somewhere> in
+the world as
 C<\w>.  For example, your locale might not think that C<LATIN SMALL
 LETTER ETH> is a letter (unless you happen to speak Icelandic), but
 Unicode does.  Similarly, all the characters that are decimal digits
@@ -216,9 +256,12 @@
 C<BENGALI DIGIT FOUR> (U+09EA) looks very much like an
 C<ASCII DIGIT EIGHT> (U+0038).  And, C<\d+>, may match strings of digits
 that are a mixture from different writing systems, creating a security
-issue.  L<Unicode::UCD/num()> can be used to sort this out.
+issue.  L<Unicode::UCD/num()> can be used to sort
+this out.  Or the C</a> modifier can be used to force C<\d> to match
+just the ASCII 0 through 9.
 
-Also, case-insensitive matching works on the full set of Unicode
+Also, under this modifier, case-insensitive matching works on the full
+set of Unicode
 characters.  The C<KELVIN SIGN>, for example matches the letters "k" and
 "K"; and C<LATIN SMALL LIGATURE FF> matches the sequence "ff", which,
 if you're not prepared, might make it look like a hexadecimal constant,
@@ -226,61 +269,12 @@
 L<http://unicode.org/reports/tr36> for a detailed discussion of Unicode
 security issues.
 
-On the EBCDIC platforms that Perl handles, the native character set is
-equivalent to Latin-1.  Thus this modifier changes behavior only when
-the C<"/i"> modifier is also specified, and it turns out it affects only
-two characters, giving them full Unicode semantics: the C<MICRO SIGN>
-will match the Greek capital and small letters C<MU>, otherwise not; and
-the C<LATIN CAPITAL LETTER SHARP S> will match any of C<SS>, C<Ss>,
-C<sS>, and C<ss>, otherwise not.
-
 This modifier may be specified to be the default by C<use feature
-'unicode_strings>, but see
-L</Which character set modifier is in effect?>.
+'unicode_strings>, C<use locale ':not_characters'>, or
+C<L<use 5.012|perlfunc/use VERSION>> (or higher),
+but see L</Which character set modifier is in effect?>.
 X</u>
 
-=head4 /a
-
-is the same as C</u>, except that C<\d>, C<\s>, C<\w>, and the
-Posix character classes are restricted to matching in the ASCII range
-only.  That is, with this modifier, C<\d> always means precisely the
-digits C<"0"> to C<"9">; C<\s> means the five characters C<[ \f\n\r\t]>;
-C<\w> means the 63 characters C<[A-Za-z0-9_]>; and likewise, all the
-Posix classes such as C<[[:print:]]> match only the appropriate
-ASCII-range characters.
-
-This modifier is useful for people who only incidentally use Unicode.
-With it, one can write C<\d> with confidence that it will only match
-ASCII characters, and should the need arise to match beyond ASCII, you
-can use C<\p{Digit}>, or C<\p{Word}> for C<\w>.  There are similar
-C<\p{...}> constructs that can match white space and Posix classes
-beyond ASCII.  See L<perlrecharclass/POSIX Character Classes>.
-
-As you would expect, this modifier causes, for example, C<\D> to mean
-the same thing as C<[^0-9]>; in fact, all non-ASCII characters match
-C<\D>, C<\S>, and C<\W>.  C<\b> still means to match at the boundary
-between C<\w> and C<\W>, using the C</a> definitions of them (similarly
-for C<\B>).
-
-Otherwise, C</a> behaves like the C</u> modifier, in that
-case-insensitive matching uses Unicode semantics; for example, "k" will
-match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code
-points in the Latin1 range, above ASCII will have Unicode rules when it
-comes to case-insensitive matching.
-
-To forbid ASCII/non-ASCII matches (like "k" with C<\N{KELVIN SIGN}>),
-specify the "a" twice, for example C</aai> or C</aia>
-
-To reiterate, this modifier provides protection for applications that
-don't wish to be exposed to all of Unicode.  Specifying it twice
-gives added protection.
-
-This modifier may be specified to be the default by C<use re '/a'>
-or C<use re '/aa'>, but see
-L</Which character set modifier is in effect?>.
-X</a>
-X</aa>
-
 =head4 /d
 
 This modifier means to use the "Default" native rules of the platform
@@ -307,16 +301,22 @@
 
 =item 5
 
-the pattern uses a Unicode property (C<\p{...}>)
+the pattern uses a Unicode property (C<\p{...}>); or
 
+=item 6
+
+the pattern uses L</C<(?[ ])>>
+
 =back
 
 Another mnemonic for this modifier is "Depends", as the rules actually
 used depend on various things, and as a result you can get unexpected
-results.  See L<perlunicode/The "Unicode Bug">.
+results.  See L<perlunicode/The "Unicode Bug">.  The Unicode Bug has
+become rather infamous, leading to yet another (printable) name for this
+modifier, "Dodgy".
 
-On ASCII platforms, the native rules are ASCII, and on EBCDIC platforms
-(at least the ones that Perl handles), they are Latin-1.
+Unless the pattern or string are encoded in UTF-8, only ASCII characters
+can match positively.
 
 Here are some examples of how that works on an ASCII platform:
 
@@ -327,10 +327,80 @@
  chop $str;
  $str =~ /^\w/;       # Still a match! $str remains in UTF-8 format.
 
+This modifier is automatically selected by default when none of the
+others are, so yet another name for it is "Default".
+
+Because of the unexpected behaviors associated with this modifier, you
+probably should only use it to maintain weird backward compatibilities.
+
+=head4 /a (and /aa)
+
+This modifier stands for ASCII-restrict (or ASCII-safe).  This modifier,
+unlike the others, may be doubled-up to increase its effect.
+
+When it appears singly, it causes the sequences C<\d>, C<\s>, C<\w>, and
+the Posix character classes to match only in the ASCII range.  They thus
+revert to their pre-5.6, pre-Unicode meanings.  Under C</a>,  C<\d>
+always means precisely the digits C<"0"> to C<"9">; C<\s> means the five
+characters C<[ \f\n\r\t]>, and starting in Perl v5.18, experimentally,
+the vertical tab; C<\w> means the 63 characters
+C<[A-Za-z0-9_]>; and likewise, all the Posix classes such as
+C<[[:print:]]> match only the appropriate ASCII-range characters.
+
+This modifier is useful for people who only incidentally use Unicode,
+and who do not wish to be burdened with its complexities and security
+concerns.
+
+With C</a>, one can write C<\d> with confidence that it will only match
+ASCII characters, and should the need arise to match beyond ASCII, you
+can instead use C<\p{Digit}> (or C<\p{Word}> for C<\w>).  There are
+similar C<\p{...}> constructs that can match beyond ASCII both white
+space (see L<perlrecharclass/Whitespace>), and Posix classes (see
+L<perlrecharclass/POSIX Character Classes>).  Thus, this modifier
+doesn't mean you can't use Unicode, it means that to get Unicode
+matching you must explicitly use a construct (C<\p{}>, C<\P{}>) that
+signals Unicode.
+
+As you would expect, this modifier causes, for example, C<\D> to mean
+the same thing as C<[^0-9]>; in fact, all non-ASCII characters match
+C<\D>, C<\S>, and C<\W>.  C<\b> still means to match at the boundary
+between C<\w> and C<\W>, using the C</a> definitions of them (similarly
+for C<\B>).
+
+Otherwise, C</a> behaves like the C</u> modifier, in that
+case-insensitive matching uses Unicode semantics; for example, "k" will
+match the Unicode C<\N{KELVIN SIGN}> under C</i> matching, and code
+points in the Latin1 range, above ASCII will have Unicode rules when it
+comes to case-insensitive matching.
+
+To forbid ASCII/non-ASCII matches (like "k" with C<\N{KELVIN SIGN}>),
+specify the "a" twice, for example C</aai> or C</aia>.  (The first
+occurrence of "a" restricts the C<\d>, etc., and the second occurrence
+adds the C</i> restrictions.)  But, note that code points outside the
+ASCII range will use Unicode rules for C</i> matching, so the modifier
+doesn't really restrict things to just ASCII; it just forbids the
+intermixing of ASCII and non-ASCII.
+
+To summarize, this modifier provides protection for applications that
+don't wish to be exposed to all of Unicode.  Specifying it twice
+gives added protection.
+
+This modifier may be specified to be the default by C<use re '/a'>
+or C<use re '/aa'>.  If you do so, you may actually have occasion to use
+the C</u> modifier explictly if there are a few regular expressions
+where you do want full Unicode rules (but even here, it's best if
+everything were under feature C<"unicode_strings">, along with the
+C<use re '/aa'>).  Also see L</Which character set modifier is in
+effect?>.
+X</a>
+X</aa>
+
 =head4 Which character set modifier is in effect?
 
 Which of these modifiers is in effect at any given point in a regular
-expression depends on a fairly complex set of interactions.  As
+expression depends on a fairly complex set of interactions.  These have
+been designed so that in general you don't have to worry about it, but
+this section gives the gory details.  As
 explained below in L</Extended Patterns> it is possible to explicitly
 specify modifiers that apply only to portions of a regular expression.
 The innermost always has priority over any outer ones, and one applying
@@ -337,16 +407,19 @@
 to the whole expression has priority over any of the default settings that are
 described in the remainder of this section.
 
-The C<L<use re 'E<sol>foo'|re/'E<sol>flags' mode">> pragma can be used to set
+The C<L<use re 'E<sol>foo'|re/"'/flags' mode">> pragma can be used to set
 default modifiers (including these) for regular expressions compiled
 within its scope.  This pragma has precedence over the other pragmas
-listed below that change the defaults.
+listed below that also change the defaults.
 
 Otherwise, C<L<use locale|perllocale>> sets the default modifier to C</l>;
-and C<L<use feature 'unicode_strings|feature>> or
+and C<L<use feature 'unicode_strings|feature>>, or
 C<L<use 5.012|perlfunc/use VERSION>> (or higher) set the default to
 C</u> when not in the same scope as either C<L<use locale|perllocale>>
-or C<L<use bytes|bytes>>.  Unlike the mechanisms mentioned above, these
+or C<L<use bytes|bytes>>.
+(C<L<use locale ':not_characters'|perllocale/Unicode and UTF-8>> also
+sets the default to C</u>, overriding any plain C<use locale>.)
+Unlike the mechanisms mentioned above, these
 affect operations besides regular expressions pattern matching, and so
 give more consistent results with other operators, including using
 C<\U>, C<\l>, etc. in substitution replacements.
@@ -401,7 +474,7 @@
 the string), and "$" will match before any newline.  At the
 cost of a little more overhead, you can do this by using the /m modifier
 on the pattern match operator.  (Older programs did this by setting C<$*>,
-but this option was removed in perl 5.9.)
+but this option was removed in perl 5.10.)
 X<^> X<$> X</m>
 
 To simplify multi-line substitutions, the "." character never matches a
@@ -422,9 +495,24 @@
     {n,m}       Match at least n but not more than m times
 
 (If a curly bracket occurs in any other context and does not form part of
-a backslashed sequence like C<\x{...}>, it is treated
-as a regular character.  In particular, the lower bound
-is not optional.)  The "*" quantifier is equivalent to C<{0,}>, the "+"
+a backslashed sequence like C<\x{...}>, it is treated as a regular
+character.  In particular, the lower quantifier bound is not optional,
+and a typo in a quantifier silently causes it to be treated as the
+literal characters.  For example,
+
+    /o{4,3}/
+
+looks like a quantifier that matches 0 times, since 4 is greater than 3,
+but it really means to match the sequence of six characters
+S<C<"o { 4 , 3 }">>.  It is planned to eventually require literal uses
+of curly brackets to be escaped, say by preceding them with a backslash
+or enclosing them within square brackets, (C<"\{"> or C<"[{]">).  This
+change will allow for future syntax extensions (like making the lower
+bound of a quantifier optional), and better error checking.  In the
+meantime, you should get in the habit of escaping all instances where
+you mean a literal "{".)
+
+The "*" quantifier is equivalent to C<{0,}>, the "+"
 quantifier to C<{1,}>, and the "?" quantifier to C<{0,1}>.  n and m are limited
 to non-negative integral values less than a preset limit defined when perl is built.
 This is usually 32766 on the most common platforms.  The actual limit can
@@ -517,6 +605,7 @@
                    character class "..." within the outer bracketed
                    character class.  Example: [[:upper:]] matches any
                    uppercase character.
+  (?[...])  [8]  Extended bracketed character class
   \w        [3]  Match a "word" character (alphanumeric plus "_", plus
                    other connector punctuation chars plus Unicode
                    marks)
@@ -542,8 +631,7 @@
   \g{name}  [5]  Named backreference
   \k<name>  [5]  Named backreference
   \K        [6]  Keep the stuff left of the \K, don't include it in $&
-  \N        [7]  Any character but \n (experimental).  Not affected by
-                   /s modifier
+  \N        [7]  Any character but \n.  Not affected by /s modifier
   \v        [3]  Vertical whitespace
   \V        [3]  Not vertical whitespace
   \h        [3]  Horizontal whitespace
@@ -583,6 +671,10 @@
 when of the form C<\N{U+I<hex>}>, it matches the character whose Unicode
 code point is I<hex>.  Otherwise it matches any character but C<\n>.
 
+=item [8]
+
+See L<perlrecharclass/Extended Bracketed Character Classes> for details.
+
 =back
 
 =head3 Assertions
@@ -791,8 +883,10 @@
 parentheses will not be penalized.  So avoid C<$&>, C<$'>, and C<$`>
 if you can, but if you can't (and some algorithms really appreciate
 them), once you've used them once, use them at will, because you've
-already paid the price.  As of 5.005, C<$&> is not so costly as the
-other two.
+already paid the price.  As of 5.17.4, the presence of each of the three
+variables in a program is recorded separately, and depending on
+circumstances, perl may be able be more efficient knowing that only C<$&>
+rather than all three have been seen, for example.
 X<$&> X<$`> X<$'>
 
 As a workaround for this problem, Perl 5.10.0 introduces C<${^PREMATCH}>,
@@ -809,7 +903,7 @@
 Backslashed metacharacters in Perl are alphanumeric, such as C<\b>,
 C<\w>, C<\n>.  Unlike some other regular expression languages, there
 are no backslashed symbols that aren't alphanumeric.  So anything
-that looks like \\, \(, \), \<, \>, \{, or \} is always
+that looks like \\, \(, \), \[, \], \{, or \} is always
 interpreted as a literal character, not a metacharacter.  This was
 once used in a common idiom to disable or quote the special meanings
 of regular expression metacharacters in a string that you want to
@@ -830,6 +924,8 @@
 I<need> to use literal backslashes within C<\Q...\E>,
 consult L<perlop/"Gory details of parsing quoted constructs">.
 
+C<quotemeta()> and C<\Q> are fully described in L<perlfunc/quotemeta>.
+
 =head2 Extended Patterns
 
 Perl also defines a consistent extension syntax for features not
@@ -850,7 +946,7 @@
 expressions, and 2) whenever you see one, you should stop and
 "question" exactly what is going on.  That's psychology....
 
-=over 10
+=over 4
 
 =item C<(?#text)>
 X<(?#)>
@@ -892,7 +988,7 @@
 modifier outside this group.
 
 These modifiers do not carry over into named subpatterns called in the
-enclosing group. In other words, a pattern such as C<((?i)(&NAME))> does not
+enclosing group. In other words, a pattern such as C<((?i)(?&NAME))> does not
 change the case-sensitivity of the "NAME" pattern.
 
 Any of these modifiers can be set to apply globally to all regular
@@ -1144,88 +1240,125 @@
 B<WARNING>: This extended regular expression feature is considered
 experimental, and may be changed without notice. Code executed that
 has side effects may not perform identically from version to version
-due to the effect of future optimisations in the regex engine.
+due to the effect of future optimisations in the regex engine. The
+implementation of this feature was radically overhauled for the 5.18.0
+release, and its behaviour in earlier versions of perl was much buggier,
+especially in relation to parsing, lexical vars, scoping, recursion and
+reentrancy.
 
-This zero-width assertion evaluates any embedded Perl code.  It
-always succeeds, and its C<code> is not interpolated.  Currently,
-the rules to determine where the C<code> ends are somewhat convoluted.
+This zero-width assertion executes any embedded Perl code.  It always
+succeeds, and its return value is set as C<$^R>.
 
-This feature can be used together with the special variable C<$^N> to
-capture the results of submatches in variables without having to keep
-track of the number of nested parentheses. For example:
+In literal patterns, the code is parsed at the same time as the
+surrounding code. While within the pattern, control is passed temporarily
+back to the perl parser, until the logically-balancing closing brace is
+encountered. This is similar to the way that an array index expression in
+a literal string is handled, for example
 
-  $_ = "The brown fox jumps over the lazy dog";
-  /the (\S+)(?{ $color = $^N }) (\S+)(?{ $animal = $^N })/i;
-  print "color = $color, animal = $animal\n";
+    "abc$array[ 1 + f('[') + g()]def"
 
-Inside the C<(?{...})> block, C<$_> refers to the string the regular
+In particular, braces do not need to be balanced:
+
+    s/abc(?{ f('{'); })/def/
+
+Even in a pattern that is interpolated and compiled at run-time, literal
+code blocks will be compiled once, at perl compile time; the following
+prints "ABCD":
+
+    print "D";
+    my $qr = qr/(?{ BEGIN { print "A" } })/;
+    my $foo = "foo";
+    /$foo$qr(?{ BEGIN { print "B" } })/;
+    BEGIN { print "C" }
+
+In patterns where the text of the code is derived from run-time
+information rather than appearing literally in a source code /pattern/,
+the code is compiled at the same time that the pattern is compiled, and
+for reasons of security, C<use re 'eval'> must be in scope. This is to
+stop user-supplied patterns containing code snippets from being
+executable.
+
+In situations where you need to enable this with C<use re 'eval'>, you should
+also have taint checking enabled.  Better yet, use the carefully
+constrained evaluation within a Safe compartment.  See L<perlsec> for
+details about both these mechanisms.
+
+From the viewpoint of parsing, lexical variable scope and closures,
+
+    /AAA(?{ BBB })CCC/
+
+behaves approximately like
+
+    /AAA/ && do { BBB } && /CCC/
+
+Similarly,
+
+    qr/AAA(?{ BBB })CCC/
+
+behaves approximately like
+
+    sub { /AAA/ && do { BBB } && /CCC/ }
+
+In particular:
+
+    { my $i = 1; $r = qr/(?{ print $i })/ }
+    my $i = 2;
+    /$r/; # prints "1"
+
+Inside a C<(?{...})> block, C<$_> refers to the string the regular
 expression is matching against. You can also use C<pos()> to know what is
 the current position of matching within this string.
 
-The C<code> is properly scoped in the following sense: If the assertion
-is backtracked (compare L<"Backtracking">), all changes introduced after
-C<local>ization are undone, so that
+The code block introduces a new scope from the perspective of lexical
+variable declarations, but B<not> from the perspective of C<local> and
+similar localizing behaviours. So later code blocks within the same
+pattern will still see the values which were localized in earlier blocks.
+These accumulated localizations are undone either at the end of a
+successful match, or if the assertion is backtracked (compare
+L<"Backtracking">). For example,
 
   $_ = 'a' x 8;
   m<
-     (?{ $cnt = 0 })                   # Initialize $cnt.
+     (?{ $cnt = 0 })               # Initialize $cnt.
      (
        a
        (?{
-           local $cnt = $cnt + 1;      # Update $cnt, backtracking-safe.
+           local $cnt = $cnt + 1;  # Update $cnt,
+                                   # backtracking-safe.
        })
      )*
      aaaa
-     (?{ $res = $cnt })                # On success copy to
-                                       # non-localized location.
+     (?{ $res = $cnt })            # On success copy to
+                                   # non-localized location.
    >x;
 
-will set C<$res = 4>.  Note that after the match, C<$cnt> returns to the globally
-introduced value, because the scopes that restrict C<local> operators
-are unwound.
+will initially increment C<$cnt> up to 8; then during backtracking, its
+value will be unwound back to 4, which is the value assigned to C<$res>.
+At the end of the regex execution, $cnt will be wound back to its initial
+value of 0.
 
-This assertion may be used as a C<(?(condition)yes-pattern|no-pattern)>
-switch.  If I<not> used in this way, the result of evaluation of
-C<code> is put into the special variable C<$^R>.  This happens
-immediately, so C<$^R> can be used from other C<(?{ code })> assertions
-inside the same regular expression.
+This assertion may be used as the condition in a
 
+    (?(condition)yes-pattern|no-pattern)
+
+switch.  If I<not> used in this way, the result of evaluation of C<code>
+is put into the special variable C<$^R>.  This happens immediately, so
+C<$^R> can be used from other C<(?{ code })> assertions inside the same
+regular expression.
+
 The assignment to C<$^R> above is properly localized, so the old
 value of C<$^R> is restored if the assertion is backtracked; compare
 L<"Backtracking">.
 
-For reasons of security, this construct is forbidden if the regular
-expression involves run-time interpolation of variables, unless the
-perilous C<use re 'eval'> pragma has been used (see L<re>), or the
-variables contain results of the C<qr//> operator (see
-L<perlop/"qr/STRINGE<sol>msixpodual">).
+Note that the special variable C<$^N>  is particularly useful with code
+blocks to capture the results of submatches in variables without having to
+keep track of the number of nested parentheses. For example:
 
-This restriction is due to the wide-spread and remarkably convenient
-custom of using run-time determined strings as patterns.  For example:
+  $_ = "The brown fox jumps over the lazy dog";
+  /the (\S+)(?{ $color = $^N }) (\S+)(?{ $animal = $^N })/i;
+  print "color = $color, animal = $animal\n";
 
-    $re = <>;
-    chomp $re;
-    $string =~ /$re/;
 
-Before Perl knew how to execute interpolated code within a pattern,
-this operation was completely safe from a security point of view,
-although it could raise an exception from an illegal pattern.  If
-you turn on the C<use re 'eval'>, though, it is no longer secure,
-so you should only do so if you are also using taint checking.
-Better yet, use the carefully constrained evaluation within a Safe
-compartment.  See L<perlsec> for details about both these mechanisms.
-
-B<WARNING>: Use of lexical (C<my>) variables in these blocks is
-broken. The result is unpredictable and will make perl unstable. The
-workaround is to use global (C<our>) variables.
-
-B<WARNING>: In perl 5.12.x and earlier, the regex engine
-was not re-entrant, so interpolated code could not
-safely invoke the regex engine either directly with
-C<m//> or C<s///>), or indirectly with functions such as
-C<split>. Invoking the regex engine in these blocks would make perl
-unstable.
-
 =item C<(??{ code })>
 X<(??{})>
 X<regex, postponed> X<regexp, postponed> X<regular expression, postponed>
@@ -1235,66 +1368,67 @@
 has side effects may not perform identically from version to version
 due to the effect of future optimisations in the regex engine.
 
-This is a "postponed" regular subexpression.  The C<code> is evaluated
-at run time, at the moment this subexpression may match.  The result
-of evaluation is considered a regular expression and matched as
-if it were inserted instead of this construct.  Note that this means
-that the contents of capture groups defined inside an eval'ed pattern
-are not available outside of the pattern, and vice versa, there is no
-way for the inner pattern to refer to a capture group defined outside.
-Thus,
+This is a "postponed" regular subexpression.  It behaves in I<exactly> the
+same way as a C<(?{ code })> code block as described above, except that
+its return value, rather than being assigned to C<$^R>, is treated as a
+pattern, compiled if it's a string (or used as-is if its a qr// object),
+then matched as if it were inserted instead of this construct.
 
+During the matching of this sub-pattern, it has its own set of
+captures which are valid during the sub-match, but are discarded once
+control returns to the main pattern. For example, the following matches,
+with the inner pattern capturing "B" and matching "BB", while the outer
+pattern captures "A";
+
+    my $inner = '(.)\1';
+    "ABBA" =~ /^(.)(??{ $inner })\1/;
+    print $1; # prints "A";
+
+Note that this means that  there is no way for the inner pattern to refer
+to a capture group defined outside.  (The code block itself can use C<$1>,
+etc., to refer to the enclosing pattern's capture groups.)  Thus, although
+
     ('a' x 100)=~/(??{'(.)' x 100})/
 
-B<will> match, it will B<not> set $1.
+I<will> match, it will I<not> set $1 on exit.
 
-The C<code> is not interpolated.  As before, the rules to determine
-where the C<code> ends are currently somewhat convoluted.
-
 The following pattern matches a parenthesized group:
 
-  $re = qr{
-             \(
-             (?:
-                (?> [^()]+ )       # Non-parens without backtracking
-              |
-                (??{ $re })        # Group with matching parens
-             )*
-             \)
-          }x;
+ $re = qr{
+            \(
+            (?:
+               (?> [^()]+ )  # Non-parens without backtracking
+             |
+               (??{ $re })   # Group with matching parens
+            )*
+            \)
+         }x;
 
-See also C<(?PARNO)> for a different, more efficient way to accomplish
+See also
+L<C<(?I<PARNO>)>|/(?PARNO) (?-PARNO) (?+PARNO) (?R) (?0)>
+for a different, more efficient way to accomplish
 the same task.
 
-For reasons of security, this construct is forbidden if the regular
-expression involves run-time interpolation of variables, unless the
-perilous C<use re 'eval'> pragma has been used (see L<re>), or the
-variables contain results of the C<qr//> operator (see
-L<perlop/"qrE<sol>STRINGE<sol>msixpodual">).
+Executing a postponed regular expression 50 times without consuming any
+input string will result in a fatal error.  The maximum depth is compiled
+into perl, so changing it requires a custom build.
 
-In perl 5.12.x and earlier, because the regex engine was not re-entrant,
-delayed code could not safely invoke the regex engine either directly with
-C<m//> or C<s///>), or indirectly with functions such as C<split>.
-
-Recursing deeper than 50 times without consuming any input string will
-result in a fatal error.  The maximum depth is compiled into perl, so
-changing it requires a custom build.
-
-=item C<(?PARNO)> C<(?-PARNO)> C<(?+PARNO)> C<(?R)> C<(?0)>
+=item C<(?I<PARNO>)> C<(?-I<PARNO>)> C<(?+I<PARNO>)> C<(?R)> C<(?0)>
 X<(?PARNO)> X<(?1)> X<(?R)> X<(?0)> X<(?-1)> X<(?+1)> X<(?-PARNO)> X<(?+PARNO)>
 X<regex, recursive> X<regexp, recursive> X<regular expression, recursive>
 X<regex, relative recursion>
 
-Similar to C<(??{ code })> except it does not involve compiling any code,
-instead it treats the contents of a capture group as an independent
-pattern that must match at the current position.  Capture groups
-contained by the pattern will have the value as determined by the
-outermost recursion.
+Similar to C<(??{ code })> except that it does not involve executing any
+code or potentially compiling a returned pattern string; instead it treats
+the part of the current pattern contained within a specified capture group
+as an independent pattern that must match at the current position.
+Capture groups contained by the pattern will have the value as determined
+by the outermost recursion.
 
-PARNO is a sequence of digits (not starting with 0) whose value reflects
+I<PARNO> is a sequence of digits (not starting with 0) whose value reflects
 the paren-number of the capture group to recurse to. C<(?R)> recurses to
 the beginning of the whole pattern. C<(?0)> is an alternate syntax for
-C<(?R)>. If PARNO is preceded by a plus or minus sign then it is assumed
+C<(?R)>. If I<PARNO> is preceded by a plus or minus sign then it is assumed
 to be relative, with negative numbers indicating preceding capture groups
 and positive ones following. Thus C<(?-1)> refers to the most recently
 declared group, and C<(?+1)> indicates the next group to be declared.
@@ -1305,15 +1439,15 @@
 The following pattern matches a function foo() which may contain
 balanced parentheses as the argument.
 
-  $re = qr{ (                    # paren group 1 (full function)
+  $re = qr{ (                   # paren group 1 (full function)
               foo
-              (                  # paren group 2 (parens)
+              (                 # paren group 2 (parens)
                 \(
-                  (              # paren group 3 (contents of parens)
+                  (             # paren group 3 (contents of parens)
                   (?:
-                   (?> [^()]+ )  # Non-parens without backtracking
+                   (?> [^()]+ ) # Non-parens without backtracking
                   |
-                   (?2)          # Recurse to start of paren group 2
+                   (?2)         # Recurse to start of paren group 2
                   )*
                   )
                 \)
@@ -1344,7 +1478,7 @@
 for later use:
 
     my $parens = qr/(\((?:[^()]++|(?-1))*+\))/;
-    if (/foo $parens \s+ + \s+ bar $parens/x) {
+    if (/foo $parens \s+ \+ \s+ bar $parens/x) {
        # do something here...
     }
 
@@ -1358,7 +1492,7 @@
 =item C<(?&NAME)>
 X<(?&NAME)>
 
-Recurse to a named subpattern. Identical to C<(?PARNO)> except that the
+Recurse to a named subpattern. Identical to C<(?I<PARNO>)> except that the
 parenthesis to recurse to is determined by name. If multiple parentheses have
 the same name, then it recurses to the leftmost.
 
@@ -1378,11 +1512,11 @@
 a true value, matches C<no-pattern> otherwise. A missing pattern always
 matches.
 
-C<(condition)> should be either an integer in
+C<(condition)> should be one of: 1) an integer in
 parentheses (which is valid if the corresponding pair of parentheses
-matched), a look-ahead/look-behind/evaluate zero-width assertion, a
+matched); 2) a look-ahead/look-behind/evaluate zero-width assertion; 3) a
 name in angle brackets or single quotes (which is valid if a group
-with the given name matched), or the special symbol (R) (true when
+with the given name matched); or 4) the special symbol (R) (true when
 evaluated inside of recursion or eval). Additionally the R may be
 followed by a number, (which will be true when evaluated when recursing
 inside of the appropriate group), or by C<&NAME>, in which case it will
@@ -1473,6 +1607,19 @@
 necessary. Thus C<$+{NAME_PAT}> would not be defined even though
 C<$+{NAME}> would be.
 
+Finally, keep in mind that subpatterns created inside a DEFINE block
+count towards the absolute and relative number of captures, so this:
+
+    my @captures = "a" =~ /(.)                  # First capture
+                           (?(DEFINE)
+                               (?<EXAMPLE> 1 )  # Second capture
+                           )/x;
+    say scalar @captures;
+
+Will output 2, not 1. This is particularly important if you intend to
+compile the definitions with the C<qr//> operator, and later
+interpolate them in another pattern.
+
 =item C<< (?>pattern) >>
 X<backtrack> X<backtracking> X<atomic> X<possessive>
 
@@ -1582,6 +1729,10 @@
     PAT?+               (?>PAT?)
     PAT{min,max}+       (?>PAT{min,max})
 
+=item C<(?[ ])>
+
+See L<perlrecharclass/Extended Bracketed Character Classes>.
+
 =back
 
 =head2 Special Backtracking Control Verbs
@@ -1618,7 +1769,7 @@
 If a pattern does not contain a special backtracking verb that allows an
 argument, then C<$REGERROR> and C<$REGMARK> are not touched at all.
 
-=over 4
+=over 3
 
 =item Verbs that take an argument
 
@@ -1675,7 +1826,6 @@
 C<(*PRUNE)> can be used to handle cases that cannot be expressed using a
 C<< (?>pattern) >> alone.
 
-
 =item C<(*SKIP)> C<(*SKIP:NAME)>
 X<(*SKIP)>
 
@@ -1696,8 +1846,8 @@
 Compare the following to the examples in C<(*PRUNE)>; note the string
 is twice as long:
 
-    'aaabaaab' =~ /a+b?(*SKIP)(?{print "$&\n"; $count++})(*FAIL)/;
-    print "Count=$count\n";
+ 'aaabaaab' =~ /a+b?(*SKIP)(?{print "$&\n"; $count++})(*FAIL)/;
+ print "Count=$count\n";
 
 outputs
 
@@ -1710,7 +1860,7 @@
 C<(*SKIP)> was executed.
 
 =item C<(*MARK:NAME)> C<(*:NAME)>
-X<(*MARK)> C<(*MARK:NAME)> C<(*:NAME)>
+X<(*MARK)> X<(*MARK:NAME)> X<(*:NAME)>
 
 This zero-width pattern can be used to mark the point reached in a string
 when a certain part of the pattern has been successfully matched. This
@@ -1738,16 +1888,18 @@
 variable will be set to the name of the most recently executed
 C<(*MARK:NAME)>.
 
-See C<(*SKIP)> for more details.
+See L</(*SKIP)> for more details.
 
 As a shortcut C<(*MARK:NAME)> can be written C<(*:NAME)>.
 
 =item C<(*THEN)> C<(*THEN:NAME)>
 
-This is similar to the "cut group" operator C<::> from Perl 6. Like
+This is similar to the "cut group" operator C<::> from Perl 6.  Like
 C<(*PRUNE)>, this verb always matches, and when backtracked into on
 failure, it causes the regex engine to try the next alternation in the
-innermost enclosing group (capturing or otherwise).
+innermost enclosing group (capturing or otherwise) that has alternations.
+The two branches of a C<(?(condition)yes-pattern|no-pattern)> do not
+count as an alternation, as far as C<(*THEN)> is concerned.
 
 Its name comes from the observation that this operation combined with the
 alternation operator (C<|>) can be used to create what is essentially a
@@ -1766,15 +1918,21 @@
 
 but
 
-  / ( A (*THEN) B | C (*THEN) D ) /
+  / ( A (*THEN) B | C ) /
 
 is not the same as
 
-  / ( A (*PRUNE) B | C (*PRUNE) D ) /
+  / ( A (*PRUNE) B | C ) /
 
 as after matching the A but failing on the B the C<(*THEN)> verb will
 backtrack and try C; but the C<(*PRUNE)> verb will simply fail.
 
+=back
+
+=item Verbs without an argument
+
+=over 4
+
 =item C<(*COMMIT)>
 X<(*COMMIT)>
 
@@ -1784,8 +1942,8 @@
 to find a valid match by advancing the start pointer will occur again.
 For example,
 
-    'aaabaaab' =~ /a+b?(*COMMIT)(?{print "$&\n"; $count++})(*FAIL)/;
-    print "Count=$count\n";
+ 'aaabaaab' =~ /a+b?(*COMMIT)(?{print "$&\n"; $count++})(*FAIL)/;
+ print "Count=$count\n";
 
 outputs
 
@@ -1796,12 +1954,6 @@
 does not match, the regex engine will not try any further matching on the
 rest of the string.
 
-=back
-
-=item Verbs without an argument
-
-=over 4
-
 =item C<(*FAIL)> C<(*F)>
 X<(*FAIL)> X<(*F)>
 
@@ -2181,7 +2333,7 @@
 be significantly simplified by using repeated subexpressions that
 may match zero-length substrings.  Here's a simple example being:
 
-    @chars = split //, $string;                  # // is not magic in split
+    @chars = split //, $string;           # // is not magic in split
     ($whitewashed = $string) =~ s/()/ /g; # parens avoid magic s// /
 
 Thus Perl allows such constructs, by I<forcefully breaking
@@ -2332,10 +2484,10 @@
 For this grouping operator there is no need to describe the ordering, since
 only whether or not C<S> can match is important.
 
-=item C<(??{ EXPR })>, C<(?PARNO)>
+=item C<(??{ EXPR })>, C<(?I<PARNO>)>
 
 The ordering is the same as for the regular expression which is
-the result of EXPR, or the pattern contained by capture group PARNO.
+the result of EXPR, or the pattern contained by capture group I<PARNO>.
 
 =item C<(?(condition)yes-pattern|no-pattern)>
 


Property changes on: vendor/perl/dist/pod/perlre.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlreapi.pod
===================================================================
--- vendor/perl/dist/pod/perlreapi.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlreapi.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,40 +1,58 @@
 =head1 NAME
 
-perlreapi - perl regular expression plugin interface
+perlreapi - Perl regular expression plugin interface
 
 =head1 DESCRIPTION
 
-As of Perl 5.9.5 there is a new interface for plugging and using other
-regular expression engines than the default one.
+As of Perl 5.9.5 there is a new interface for plugging and using
+regular expression engines other than the default one.
 
 Each engine is supposed to provide access to a constant structure of the
 following format:
 
     typedef struct regexp_engine {
-        REGEXP* (*comp) (pTHX_ const SV * const pattern, const U32 flags);
-        I32     (*exec) (pTHX_ REGEXP * const rx, char* stringarg, char* strend,
-                         char* strbeg, I32 minend, SV* screamer,
+        REGEXP* (*comp) (pTHX_
+                         const SV * const pattern, const U32 flags);
+        I32     (*exec) (pTHX_
+                         REGEXP * const rx,
+                         char* stringarg,
+                         char* strend, char* strbeg,
+                         I32 minend, SV* screamer,
                          void* data, U32 flags);
-        char*   (*intuit) (pTHX_ REGEXP * const rx, SV *sv, char *strpos,
-                           char *strend, U32 flags,
+        char*   (*intuit) (pTHX_
+                           REGEXP * const rx, SV *sv,
+                           char *strpos, char *strend, U32 flags,
                            struct re_scream_pos_data_s *data);
         SV*     (*checkstr) (pTHX_ REGEXP * const rx);
         void    (*free) (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,
-                                       SV const * const value);
-        I32     (*numbered_buff_LENGTH) (pTHX_ REGEXP * const rx, const SV * const sv,
-                                        const I32 paren);
-        SV*     (*named_buff) (pTHX_ REGEXP * const rx, SV * const key,
-                               SV * const value, U32 flags);
-        SV*     (*named_buff_iter) (pTHX_ REGEXP * const rx, const SV * const lastkey,
+        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,
+                                        SV const * const value);
+        I32     (*numbered_buff_LENGTH) (pTHX_
+                                         REGEXP * const rx,
+                                         const SV * const sv,
+                                         const I32 paren);
+        SV*     (*named_buff) (pTHX_
+                               REGEXP * const rx,
+                               SV * const key,
+                               SV * const value,
+                               U32 flags);
+        SV*     (*named_buff_iter) (pTHX_
+                                    REGEXP * const rx,
+                                    const SV * const lastkey,
                                     const U32 flags);
         SV*     (*qr_package)(pTHX_ REGEXP * const rx);
     #ifdef USE_ITHREADS
         void*   (*dupe) (pTHX_ REGEXP * const rx, CLONE_PARAMS *param);
     #endif
+        REGEXP* (*op_comp) (...);
 
+
 When a regexp is compiled, its C<engine> field is then set to point at
 the appropriate structure, so that when it needs to be used Perl can find
 the right routines to do so.
@@ -41,11 +59,11 @@
 
 In order to install a new regexp handler, C<$^H{regcomp}> is set
 to an integer which (when casted appropriately) resolves to one of these
-structures. When compiling, the C<comp> method is executed, and the
-resulting regexp structure's engine field is expected to point back at
+structures.  When compiling, the C<comp> method is executed, and the
+resulting C<regexp> structure's engine field is expected to point back at
 the same structure.
 
-The pTHX_ symbol in the definition is a macro used by perl under threading
+The pTHX_ symbol in the definition is a macro used by Perl under threading
 to provide an extra argument to the routine holding a pointer back to
 the interpreter that is executing the regexp. So under threading all
 routines get an extra argument.
@@ -58,12 +76,12 @@
 
 Compile the pattern stored in C<pattern> using the given C<flags> and
 return a pointer to a prepared C<REGEXP> structure that can perform
-the match. See L</The REGEXP structure> below for an explanation of
+the match.  See L</The REGEXP structure> below for an explanation of
 the individual fields in the REGEXP struct.
 
 The C<pattern> parameter is the scalar that was used as the
-pattern. previous versions of perl would pass two C<char*> indicating
-the start and end of the stringified pattern, the following snippet can
+pattern.  Previous versions of Perl would pass two C<char*> indicating
+the start and end of the stringified pattern; the following snippet can
 be used to get the old parameters:
 
     STRLEN plen;
@@ -70,31 +88,31 @@
     char*  exp = SvPV(pattern, plen);
     char* xend = exp + plen;
 
-Since any scalar can be passed as a pattern it's possible to implement
+Since any scalar can be passed as a pattern, it's possible to implement
 an engine that does something with an array (C<< "ook" =~ [ qw/ eek
 hlagh / ] >>) or with the non-stringified form of a compiled regular
-expression (C<< "ook" =~ qr/eek/ >>). perl's own engine will always
-stringify everything using the snippet above but that doesn't mean
+expression (C<< "ook" =~ qr/eek/ >>).  Perl's own engine will always
+stringify everything using the snippet above, but that doesn't mean
 other engines have to.
 
 The C<flags> parameter is a bitfield which indicates which of the
-C<msixp> flags the regex was compiled with. It also contains
-additional info such as whether C<use locale> is in effect.
+C<msixp> flags the regex was compiled with.  It also contains
+additional info, such as if C<use locale> is in effect.
 
 The C<eogc> flags are stripped out before being passed to the comp
-routine. The regex engine does not need to know whether any of these
-are set as those flags should only affect what perl does with the
+routine.  The regex engine does not need to know if any of these
+are set, as those flags should only affect what Perl does with the
 pattern and its match variables, not how it gets compiled and
 executed.
 
 By the time the comp callback is called, some of these flags have
-already had effect (noted below where applicable). However most of
-their effect occurs after the comp callback has run in routines that
+already had effect (noted below where applicable).  However most of
+their effect occurs after the comp callback has run, in routines that
 read the C<< rx->extflags >> field which it populates.
 
 In general the flags should be preserved in C<< rx->extflags >> after
 compilation, although the regex engine might want to add or delete
-some of them to invoke or disable some special behavior in perl. The
+some of them to invoke or disable some special behavior in Perl.  The
 flags along with any special behavior they cause are documented below:
 
 The pattern modifiers:
@@ -113,7 +131,7 @@
 
 =item C</x> - RXf_PMf_EXTENDED
 
-If present on a regex C<#> comments will be handled differently by the
+If present on a regex, C<"#"> comments will be handled differently by the
 tokenizer in some cases.
 
 TODO: Document those cases.
@@ -120,6 +138,8 @@
 
 =item C</p> - RXf_PMf_KEEPCOPY
 
+TODO: Document this
+
 =item Character set
 
 The character set semantics are determined by an enum that is contained
@@ -127,11 +147,11 @@
 the current interface returns the rules by use of the in-line function
 C<get_regex_charset(const U32 flags)>.  The only currently documented
 value returned from it is REGEX_LOCALE_CHARSET, which is set if
-C<use locale> is in effect. If present in C<< rx->extflags >>
-C<split> will use the locale dependent definition of whitespace under
-when RXf_SKIPWHITE or RXf_WHITE are in effect. Under ASCII whitespace
+C<use locale> is in effect. If present in C<< rx->extflags >>,
+C<split> will use the locale dependent definition of whitespace
+when RXf_SKIPWHITE or RXf_WHITE is in effect.  ASCII whitespace
 is defined as per L<isSPACE|perlapi/isSPACE>, and by the internal
-macros C<is_utf8_space> under UTF-8 and C<isSPACE_LC> under C<use
+macros C<is_utf8_space> under UTF-8, and C<isSPACE_LC> under C<use
 locale>.
 
 =back
@@ -140,21 +160,16 @@
 
 =over 4
 
-=item RXf_UTF8
+=item RXf_SPLIT
 
-Set if the pattern is L<SvUTF8()|perlapi/SvUTF8>, set by Perl_pmruntime.
+This flag was removed in perl 5.18.0.  C<split ' '> is now special-cased
+solely in the parser.  RXf_SPLIT is still #defined, so you can test for it.
+This is how it used to work:
 
-A regex engine may want to set or disable this flag during
-compilation. The perl engine for instance may upgrade non-UTF-8
-strings to UTF-8 if the pattern includes constructs such as C<\x{...}>
-that can only match Unicode values.
-
-=item RXf_SPLIT
-
 If C<split> is invoked as C<split ' '> or with no arguments (which
-really means C<split(' ', $_)>, see L<split|perlfunc/split>), perl will
-set this flag. The regex engine can then check for it and set the
-SKIPWHITE and WHITE extflags. To do this the perl engine does:
+really means C<split(' ', $_)>, see L<split|perlfunc/split>), Perl will
+set this flag.  The regex engine can then check for it and set the
+SKIPWHITE and WHITE extflags.  To do this, the Perl engine does:
 
     if (flags & RXf_SPLIT && r->prelen == 1 && r->precomp[0] == ' ')
         r->extflags |= (RXf_SKIPWHITE|RXf_WHITE);
@@ -168,13 +183,16 @@
 
 =item RXf_SKIPWHITE
 
+This flag was removed in perl 5.18.0.  It is still #defined, so you can
+set it, but doing so will have no effect.  This is how it used to work:
+
 If the flag is present in C<< rx->extflags >> C<split> will delete
 whitespace from the start of the subject string before it's operated
-on. What is considered whitespace depends on whether the subject is a
-UTF-8 string and whether the C<RXf_PMf_LOCALE> flag is set.
+on.  What is considered whitespace depends on if the subject is a
+UTF-8 string and if the C<RXf_PMf_LOCALE> flag is set.
 
-If RXf_WHITE is set in addition to this flag C<split> will behave like
-C<split " "> under the perl engine.
+If RXf_WHITE is set in addition to this flag, C<split> will behave like
+C<split " "> under the Perl engine.
 
 =item RXf_START_ONLY
 
@@ -182,7 +200,7 @@
 (C<\n>) without invoking the regex engine.
 
 Perl's engine sets this if the pattern is C</^/> (C<plen == 1 && *exp
-== '^'>), even under C</^/s>, see L<split|perlfunc>. Of course a
+== '^'>), even under C</^/s>; see L<split|perlfunc>.  Of course a
 different regex engine might want to use the same optimizations
 with a different syntax.
 
@@ -189,9 +207,9 @@
 =item RXf_WHITE
 
 Tells the split operator to split the target string on whitespace
-without invoking the regex engine. The definition of whitespace varies
-depending on whether the target string is a UTF-8 string and on
-whether RXf_PMf_LOCALE is set.
+without invoking the regex engine.  The definition of whitespace varies
+depending on if the target string is a UTF-8 string and on
+if RXf_PMf_LOCALE is set.
 
 Perl's engine sets this flag if the pattern is C<\s+>.
 
@@ -198,13 +216,21 @@
 =item RXf_NULL
 
 Tells the split operator to split the target string on
-characters. The definition of character varies depending on whether
+characters.  The definition of character varies depending on if
 the target string is a UTF-8 string.
 
 Perl's engine sets this flag on empty patterns, this optimization
-makes C<split //> much faster than it would otherwise be. It's even
+makes C<split //> much faster than it would otherwise be.  It's even
 faster than C<unpack>.
 
+=item RXf_NO_INPLACE_SUBST
+
+Added in perl 5.18.0, this flag indicates that a regular expression might
+perform an operation that would interfere with inplace substituion. For
+instance it might contain lookbehind, or assign to non-magical variables
+(such as $REGMARK and $REGERROR) during matching.  C<s///> will skip
+certain optimisations when this is set.
+
 =back
 
 =head2 exec
@@ -214,8 +240,50 @@
              I32 minend, SV* screamer,
              void* data, U32 flags);
 
-Execute a regexp.
+Execute a regexp. The arguments are
 
+=over 4
+
+=item rx
+
+The regular expression to execute.
+
+=item screamer
+
+This strangely-named arg is the SV to be matched against.  Note that the
+actual char array to be matched against is supplied by the arguments
+described below; the SV is just used to determine UTF8ness, C<pos()> etc.
+
+=item strbeg
+
+Pointer to the physical start of the string.
+
+=item strend
+
+Pointer to the character following the physical end of the string (i.e.
+the C<\0>).
+
+=item stringarg
+
+Pointer to the position in the string where matching should start; it might
+not be equal to C<strbeg> (for example in a later iteration of C</.../g>).
+
+=item minend
+
+Minimum length of string (measured in bytes from C<stringarg>) that must
+match; if the engine reaches the end of the match but hasn't reached this
+position in the string, it should fail.
+
+=item data
+
+Optimisation data; subject to change.
+
+=item flags
+
+Optimisation flags; subject to change.
+
+=back
+
 =head2 intuit
 
     char* intuit(pTHX_ REGEXP * const rx,
@@ -223,9 +291,9 @@
                   const U32 flags, struct re_scream_pos_data_s *data);
 
 Find the start position where a regex match should be attempted,
-or possibly whether the regex engine should not be run because the
-pattern can't match. This is called as appropriate by the core
-depending on the values of the extflags member of the regexp
+or possibly if the regex engine should not be run because the
+pattern can't match.  This is called, as appropriate, by the core,
+depending on the values of the C<extflags> member of the C<regexp>
 structure.
 
 =head2 checkstr
@@ -239,10 +307,10 @@
 
     void free(pTHX_ REGEXP * const rx);
 
-Called by perl when it is freeing a regexp pattern so that the engine
+Called by Perl when it is freeing a regexp pattern so that the engine
 can release any resources pointed to by the C<pprivate> member of the
-regexp structure. This is only responsible for freeing private data;
-perl will handle releasing anything else contained in the regexp structure.
+C<regexp> structure.  This is only responsible for freeing private data;
+Perl will handle releasing anything else contained in the C<regexp> structure.
 
 =head2 Numbered capture callbacks
 
@@ -250,11 +318,22 @@
 equivalents, ${^PREMATCH}, ${^POSTMATCH} and $^{MATCH}, as well as the
 numbered capture groups (C<$1>, C<$2>, ...).
 
-The C<paren> parameter will be C<-2> for C<$`>, C<-1> for C<$'>, C<0>
-for C<$&>, C<1> for C<$1> and so forth.
+The C<paren> parameter will be C<1> for C<$1>, C<2> for C<$2> and so
+forth, and have these symbolic values for the special variables:
 
+    ${^PREMATCH}  RX_BUFF_IDX_CARET_PREMATCH
+    ${^POSTMATCH} RX_BUFF_IDX_CARET_POSTMATCH
+    ${^MATCH}     RX_BUFF_IDX_CARET_FULLMATCH
+    $`            RX_BUFF_IDX_PREMATCH
+    $'            RX_BUFF_IDX_POSTMATCH
+    $&            RX_BUFF_IDX_FULLMATCH
+
+Note that in Perl 5.17.3 and earlier, the last three constants were also
+used for the caret variants of the variables.
+
+
 The names have been chosen by analogy with L<Tie::Scalar> methods
-names with an additional B<LENGTH> callback for efficiency. However
+names with an additional B<LENGTH> callback for efficiency.  However
 named capture variables are currently not tied internally but
 implemented via magic.
 
@@ -263,31 +342,33 @@
     void numbered_buff_FETCH(pTHX_ REGEXP * const rx, const I32 paren,
                              SV * const sv);
 
-Fetch a specified numbered capture. C<sv> should be set to the scalar
+Fetch a specified numbered capture.  C<sv> should be set to the scalar
 to return, the scalar is passed as an argument rather than being
-returned from the function because when it's called perl already has a
+returned from the function because when it's called Perl already has a
 scalar to store the value, creating another one would be
-redundant. The scalar can be set with C<sv_setsv>, C<sv_setpvn> and
+redundant.  The scalar can be set with C<sv_setsv>, C<sv_setpvn> and
 friends, see L<perlapi>.
 
-This callback is where perl untaints its own capture variables under
-taint mode (see L<perlsec>). See the C<Perl_reg_numbered_buff_fetch>
+This callback is where Perl untaints its own capture variables under
+taint mode (see L<perlsec>).  See the C<Perl_reg_numbered_buff_fetch>
 function in F<regcomp.c> for how to untaint capture variables if
 that's something you'd like your engine to do as well.
 
 =head3 numbered_buff_STORE
 
-    void    (*numbered_buff_STORE) (pTHX_ REGEXP * const rx, const I32 paren,
+    void    (*numbered_buff_STORE) (pTHX_
+                                    REGEXP * const rx,
+                                    const I32 paren,
                                     SV const * const value);
 
-Set the value of a numbered capture variable. C<value> is the scalar
-that is to be used as the new value. It's up to the engine to make
+Set the value of a numbered capture variable.  C<value> is the scalar
+that is to be used as the new value.  It's up to the engine to make
 sure this is used as the new value (or reject it).
 
 Example:
 
     if ("ook" =~ /(o*)/) {
-        # `paren' will be `1' and `value' will be `ee'
+        # 'paren' will be '1' and 'value' will be 'ee'
         $1 =~ tr/o/e/;
     }
 
@@ -296,8 +377,10 @@
 (copied from C<Perl_reg_numbered_buff_store>):
 
     void
-    Example_reg_numbered_buff_store(pTHX_ REGEXP * const rx, const I32 paren,
-    							    SV const * const value)
+    Example_reg_numbered_buff_store(pTHX_
+                                    REGEXP * const rx,
+                                    const I32 paren,
+                                    SV const * const value)
     {
         PERL_UNUSED_ARG(rx);
         PERL_UNUSED_ARG(paren);
@@ -307,10 +390,10 @@
             Perl_croak(aTHX_ PL_no_modify);
     }
 
-Actually perl will not I<always> croak in a statement that looks
-like it would modify a numbered capture variable. This is because the
-STORE callback will not be called if perl can determine that it
-doesn't have to modify the value. This is exactly how tied variables
+Actually Perl will not I<always> croak in a statement that looks
+like it would modify a numbered capture variable.  This is because the
+STORE callback will not be called if Perl can determine that it
+doesn't have to modify the value.  This is exactly how tied variables
 behave in the same situation:
 
     package CaptureVar;
@@ -325,21 +408,23 @@
     tie my $sv => "CaptureVar";
     $sv =~ y/a/b/;
 
-Because C<$sv> is C<undef> when the C<y///> operator is applied to it
+Because C<$sv> is C<undef> when the C<y///> operator is applied to it,
 the transliteration won't actually execute and the program won't
-C<die>. This is different to how 5.8 and earlier versions behaved
-since the capture variables were READONLY variables then, now they'll
+C<die>.  This is different to how 5.8 and earlier versions behaved
+since the capture variables were READONLY variables then; now they'll
 just die when assigned to in the default engine.
 
 =head3 numbered_buff_LENGTH
 
-    I32 numbered_buff_LENGTH (pTHX_ REGEXP * const rx, const SV * const sv,
+    I32 numbered_buff_LENGTH (pTHX_
+                              REGEXP * const rx,
+                              const SV * const sv,
                               const I32 paren);
 
-Get the C<length> of a capture variable. There's a special callback
-for this so that perl doesn't have to do a FETCH and run C<length> on
-the result, since the length is (in perl's case) known from an offset
-stored in C<< rx->offs >> this is much more efficient:
+Get the C<length> of a capture variable.  There's a special callback
+for this so that Perl doesn't have to do a FETCH and run C<length> on
+the result, since the length is (in Perl's case) known from an offset
+stored in C<< rx->offs >>, this is much more efficient:
 
     I32 s1  = rx->offs[paren].start;
     I32 s2  = rx->offs[paren].end;
@@ -351,7 +436,7 @@
 
 =head2 Named capture callbacks
 
-Called to get/set the value of C<%+> and C<%-> as well as by some
+Called to get/set the value of C<%+> and C<%->, as well as by some
 utility functions in L<re>.
 
 There are two callbacks, C<named_buff> is called in all the cases the
@@ -360,7 +445,7 @@
 same cases as FIRSTKEY and NEXTKEY.
 
 The C<flags> parameter can be used to determine which of these
-operations the callbacks should respond to, the following flags are
+operations the callbacks should respond to.  The following flags are
 currently defined:
 
 Which L<Tie::Hash> operation is being performed from the Perl level on
@@ -375,13 +460,13 @@
     RXapif_FIRSTKEY
     RXapif_NEXTKEY
 
-Whether C<%+> or C<%-> is being operated on, if any.
+If C<%+> or C<%-> is being operated on, if any.
 
     RXapif_ONE /* %+ */
     RXapif_ALL /* %- */
 
-Whether this is being called as C<re::regname>, C<re::regnames> or
-C<re::regnames_count>, if any. The first two will be combined with
+If this is being called as C<re::regname>, C<re::regnames> or
+C<re::regnames_count>, if any.  The first two will be combined with
 C<RXapif_ONE> or C<RXapif_ALL>.
 
     RXapif_REGNAME
@@ -389,10 +474,10 @@
     RXapif_REGNAMES_COUNT
 
 Internally C<%+> and C<%-> are implemented with a real tied interface
-via L<Tie::Hash::NamedCapture>. The methods in that package will call
-back into these functions. However the usage of
+via L<Tie::Hash::NamedCapture>.  The methods in that package will call
+back into these functions.  However the usage of
 L<Tie::Hash::NamedCapture> for this purpose might change in future
-releases. For instance this might be implemented by magic instead
+releases.  For instance this might be implemented by magic instead
 (would need an extension to mgvtbl).
 
 =head3 named_buff
@@ -402,7 +487,9 @@
 
 =head3 named_buff_iter
 
-    SV*     (*named_buff_iter) (pTHX_ REGEXP * const rx, const SV * const lastkey,
+    SV*     (*named_buff_iter) (pTHX_
+                                REGEXP * const rx,
+                                const SV * const lastkey,
                                 const U32 flags);
 
 =head2 qr_package
@@ -410,12 +497,12 @@
     SV* qr_package(pTHX_ REGEXP * const rx);
 
 The package the qr// magic object is blessed into (as seen by C<ref
-qr//>). It is recommended that engines change this to their package
-name for identification regardless of whether they implement methods
+qr//>).  It is recommended that engines change this to their package
+name for identification regardless of if they implement methods
 on the object.
 
 The package this method returns should also have the internal
-C<Regexp> package in its C<@ISA>. C<< qr//->isa("Regexp") >> should always
+C<Regexp> package in its C<@ISA>.  C<< qr//->isa("Regexp") >> should always
 be true regardless of what engine is being used.
 
 Example implementation might be:
@@ -447,12 +534,12 @@
     void* dupe(pTHX_ REGEXP * const rx, CLONE_PARAMS *param);
 
 On threaded builds a regexp may need to be duplicated so that the pattern
-can be used by multiple threads. This routine is expected to handle the
+can be used by multiple threads.  This routine is expected to handle the
 duplication of any private data pointed to by the C<pprivate> member of
-the regexp structure.  It will be called with the preconstructed new
-regexp structure as an argument, the C<pprivate> member will point at
+the C<regexp> structure.  It will be called with the preconstructed new
+C<regexp> structure as an argument, the C<pprivate> member will point at
 the B<old> private structure, and it is this routine's responsibility to
-construct a copy and return a pointer to it (which perl will then use to
+construct a copy and return a pointer to it (which Perl will then use to
 overwrite the field as passed to this routine.)
 
 This allows the engine to dupe its private data but also if necessary
@@ -460,24 +547,30 @@
 
 On unthreaded builds this field doesn't exist.
 
+=head2 op_comp
+
+This is private to the Perl core and subject to change. Should be left
+null.
+
 =head1 The REGEXP structure
 
-The REGEXP struct is defined in F<regexp.h>. All regex engines must be able to
+The REGEXP struct is defined in F<regexp.h>.
+All regex engines must be able to
 correctly build such a structure in their L</comp> routine.
 
-The REGEXP structure contains all the data that perl needs to be aware of
-to properly work with the regular expression. It includes data about
-optimisations that perl can use to determine if the regex engine should
+The REGEXP structure contains all the data that Perl needs to be aware of
+to properly work with the regular expression.  It includes data about
+optimisations that Perl can use to determine if the regex engine should
 really be used, and various other control info that is needed to properly
-execute patterns in various contexts such as is the pattern anchored in
-some way, or what flags were used during the compile, or whether the
-program contains special constructs that perl needs to be aware of.
+execute patterns in various contexts, such as if the pattern anchored in
+some way, or what flags were used during the compile, or if the
+program contains special constructs that Perl needs to be aware of.
 
 In addition it contains two fields that are intended for the private
-use of the regex engine that compiled the pattern. These are the
-C<intflags> and C<pprivate> members. C<pprivate> is a void pointer to
-an arbitrary structure whose use and management is the responsibility
-of the compiling engine. perl will never modify either of these
+use of the regex engine that compiled the pattern.  These are the
+C<intflags> and C<pprivate> members.  C<pprivate> is a void pointer to
+an arbitrary structure, whose use and management is the responsibility
+of the compiling engine.  Perl will never modify either of these
 values.
 
     typedef struct regexp {
@@ -487,10 +580,12 @@
         /* what re is this a lightweight copy of? */
         struct regexp* mother_re;
 
-        /* Information about the match that the perl core uses to manage things */
+        /* Information about the match that the Perl core uses to manage
+         * things */
         U32 extflags;   /* Flags used both externally and internally */
-        I32 minlen;     /* mininum possible length of string to match */
-        I32 minlenret;  /* mininum possible length of $& */
+	I32 minlen;	/* mininum possible number of chars in */
+                           string to match */
+	I32 minlenret;	/* mininum possible number of chars in $& */
         U32 gofs;       /* chars left of pos that we search from */
 
         /* substring data about strings that must appear
@@ -504,15 +599,21 @@
         void *pprivate; /* Data private to the regex engine which 
                            created this object. */
 
-        /* Data about the last/current match. These are modified during matching*/
-        U32 lastparen;            /* last open paren matched */
-        U32 lastcloseparen;       /* last close paren matched */
+        /* Data about the last/current match. These are modified during
+         * matching*/
+        U32 lastparen;            /* highest close paren matched ($+) */
+        U32 lastcloseparen;       /* last close paren matched ($^N) */
         regexp_paren_pair *swap;  /* Swap copy of *offs */
-        regexp_paren_pair *offs;  /* Array of offsets for (@-) and (@+) */
+        regexp_paren_pair *offs;  /* Array of offsets for (@-) and
+                                     (@+) */
 
-        char *subbeg;  /* saved or original string so \digit works forever. */
+        char *subbeg;  /* saved or original string so \digit works
+                          forever. */
         SV_SAVED_COPY  /* If non-NULL, SV which is COW from original */
         I32 sublen;    /* Length of string pointed by subbeg */
+        I32 suboffset;	/* byte offset of subbeg from logical start of
+                           str */
+	I32 subcoffset;	/* suboffset equiv, but in chars (for @-/@+) */
 
         /* Information about the match that isn't often used */
         I32 prelen;           /* length of precomp */
@@ -521,7 +622,8 @@
         char *wrapped;  /* wrapped version of the pattern */
         I32 wraplen;    /* length of wrapped */
 
-        I32 seen_evals;   /* number of eval groups in the pattern - for security checks */
+        I32 seen_evals;   /* number of eval groups in the pattern - for
+                             security checks */
         HV *paren_names;  /* Optional hash of paren names */
 
         /* Refcount of this regexp */
@@ -532,13 +634,13 @@
 
 =head2 C<engine>
 
-This field points at a regexp_engine structure which contains pointers
-to the subroutines that are to be used for performing a match. It
+This field points at a C<regexp_engine> structure which contains pointers
+to the subroutines that are to be used for performing a match.  It
 is the compiling routine's responsibility to populate this field before
 returning the regexp object.
 
 Internally this is set to C<NULL> unless a custom engine is specified in
-C<$^H{regcomp}>, perl's own set of callbacks can be accessed in the struct
+C<$^H{regcomp}>, Perl's own set of callbacks can be accessed in the struct
 pointed to by C<RE_ENGINE_PTR>.
 
 =head2 C<mother_re>
@@ -547,21 +649,22 @@
 
 =head2 C<extflags>
 
-This will be used by perl to see what flags the regexp was compiled
+This will be used by Perl to see what flags the regexp was compiled
 with, this will normally be set to the value of the flags parameter by
-the L<comp|/comp> callback. See the L<comp|/comp> documentation for
+the L<comp|/comp> callback.  See the L<comp|/comp> documentation for
 valid flags.
 
 =head2 C<minlen> C<minlenret>
 
-The minimum string length required for the pattern to match.  This is used to
+The minimum string length (in characters) required for the pattern to match.
+This is used to
 prune the search space by not bothering to match any closer to the end of a
-string than would allow a match. For instance there is no point in even
+string than would allow a match.  For instance there is no point in even
 starting the regex engine if the minlen is 10 but the string is only 5
-characters long. There is no way that the pattern can match.
+characters long.  There is no way that the pattern can match.
 
-C<minlenret> is the minimum length of the string that would be found
-in $& after a match.
+C<minlenret> is the minimum length (in characters) of the string that would
+be found in $& after a match.
 
 The difference between C<minlen> and C<minlenret> can be seen in the
 following pattern:
@@ -569,10 +672,11 @@
     /ns(?=\d)/
 
 where the C<minlen> would be 3 but C<minlenret> would only be 2 as the \d is
-required to match but is not actually included in the matched content. This
+required to match but is not actually
+included in the matched content.  This
 distinction is particularly important as the substitution logic uses the
-C<minlenret> to tell whether it can do in-place substitution which can result in
-considerable speedup.
+C<minlenret> to tell if it can do in-place substitutions (these can
+result in considerable speed-up).
 
 =head2 C<gofs>
 
@@ -580,11 +684,11 @@
 
 =head2 C<substrs>
 
-Substring data about strings that must appear in the final match. This
-is currently only used internally by perl's engine for but might be
+Substring data about strings that must appear in the final match.  This
+is currently only used internally by Perl's engine, but might be
 used in the future for all engines for optimisations.
 
-=head2 C<nparens>, C<lasparen>, and C<lastcloseparen>
+=head2 C<nparens>, C<lastparen>, and C<lastcloseparen>
 
 These fields are used to keep track of how many paren groups could be matched
 in the pattern, which was the last open paren to be entered, and which was
@@ -597,13 +701,14 @@
 
 =head2 C<pprivate>
 
-A void* pointing to an engine-defined data structure. The perl engine uses the
+A void* pointing to an engine-defined
+data structure.  The Perl engine uses the
 C<regexp_internal> structure (see L<perlreguts/Base Structures>) but a custom
 engine should use something else.
 
 =head2 C<swap>
 
-Unused. Left in for compatibility with perl 5.10.0.
+Unused.  Left in for compatibility with Perl 5.10.0.
 
 =head2 C<offs>
 
@@ -617,16 +722,17 @@
     } regexp_paren_pair;
 
 If C<< ->offs[num].start >> or C<< ->offs[num].end >> is C<-1> then that
-capture group did not match. C<< ->offs[0].start/end >> represents C<$&> (or
-C<${^MATCH> under C<//p>) and C<< ->offs[paren].end >> matches C<$$paren> where
+capture group did not match.
+C<< ->offs[0].start/end >> represents C<$&> (or
+C<${^MATCH}> under C<//p>) and C<< ->offs[paren].end >> matches C<$$paren> where
 C<$paren >= 1>.
 
 =head2 C<precomp> C<prelen>
 
-Used for optimisations. C<precomp> holds a copy of the pattern that
-was compiled and C<prelen> its length. When a new pattern is to be
+Used for optimisations.  C<precomp> holds a copy of the pattern that
+was compiled and C<prelen> its length.  When a new pattern is to be
 compiled (such as inside a loop) the internal C<regcomp> operator
-checks whether the last compiled C<REGEXP>'s C<precomp> and C<prelen>
+checks if the last compiled C<REGEXP>'s C<precomp> and C<prelen>
 are equivalent to the new one, and if so uses the old pattern instead
 of compiling a new one.
 
@@ -639,7 +745,7 @@
 =head2 C<paren_names>
 
 This is a hash used internally to track named capture groups and their
-offsets. The keys are the names of the buffers the values are dualvars,
+offsets.  The keys are the names of the buffers the values are dualvars,
 with the IV slot holding the number of buffers with the given name and the
 pv being an embedded array of I32.  The values may also be contained
 independently in the data array in cases where named backreferences are
@@ -649,17 +755,31 @@
 
 Holds information on the longest string that must occur at a fixed
 offset from the start of the pattern, and the longest string that must
-occur at a floating offset from the start of the pattern. Used to do
+occur at a floating offset from the start of the pattern.  Used to do
 Fast-Boyer-Moore searches on the string to find out if its worth using
 the regex engine at all, and if so where in the string to search.
 
-=head2 C<subbeg> C<sublen> C<saved_copy>
+=head2 C<subbeg> C<sublen> C<saved_copy> C<suboffset> C<subcoffset>
 
-Used during execution phase for managing search and replace patterns.
+Used during the execution phase for managing search and replace patterns,
+and for providing the text for C<$&>, C<$1> etc. C<subbeg> points to a
+buffer (either the original string, or a copy in the case of
+C<RX_MATCH_COPIED(rx)>), and C<sublen> is the length of the buffer.  The
+C<RX_OFFS> start and end indices index into this buffer.
 
+In the presence of the C<REXEC_COPY_STR> flag, but with the addition of
+the C<REXEC_COPY_SKIP_PRE> or C<REXEC_COPY_SKIP_POST> flags, an engine
+can choose not to copy the full buffer (although it must still do so in
+the presence of C<RXf_PMf_KEEPCOPY> or the relevant bits being set in
+C<PL_sawampersand>).  In this case, it may set C<suboffset> to indicate the
+number of bytes from the logical start of the buffer to the physical start
+(i.e. C<subbeg>).  It should also set C<subcoffset>, the number of
+characters in the offset. The latter is needed to support C<@-> and C<@+>
+which work in characters, not bytes.
+
 =head2 C<wrapped> C<wraplen>
 
-Stores the string C<qr//> stringifies to. The perl engine for example
+Stores the string C<qr//> stringifies to. The Perl engine for example
 stores C<(?^:eek)> in the case of C<qr/eek/>.
 
 When using a custom engine that doesn't support the C<(?:)> construct
@@ -676,13 +796,15 @@
 
 =head2 C<seen_evals>
 
-This stores the number of eval groups in the pattern. This is used for security
+This stores the number of eval groups in
+the pattern.  This is used for security
 purposes when embedding compiled regexes into larger patterns with C<qr//>.
 
 =head2 C<refcnt>
 
-The number of times the structure is referenced. When this falls to 0 the
-regexp is automatically freed by a call to pregfree. This should be set to 1 in
+The number of times the structure is referenced.  When
+this falls to 0, the regexp is automatically freed
+by a call to pregfree.  This should be set to 1 in
 each engine's L</comp> routine.
 
 =head1 HISTORY


Property changes on: vendor/perl/dist/pod/perlreapi.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlrebackslash.pod
===================================================================
--- vendor/perl/dist/pod/perlrebackslash.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlrebackslash.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -68,7 +68,7 @@
  \A                Beginning of string.  Not in [].
  \b                Word/non-word boundary. (Backspace in []).
  \B                Not a word/non-word boundary.  Not in [].
- \cX               Control-X
+ \cX               Control-X.
  \C                Single octet, even under UTF-8.  Not in [].
  \d                Character class for digits.
  \D                Character class for non-digits.
@@ -75,7 +75,9 @@
  \e                Escape character.
  \E                Turn off \Q, \L and \U processing.  Not in [].
  \f                Form feed.
- \g{}, \g1         Named, absolute or relative backreference.  Not in []
+ \F                Foldcase till \E.  Not in [].
+ \g{}, \g1         Named, absolute or relative backreference.
+                   Not in [].
  \G                Pos assertion.  Not in [].
  \h                Character class for horizontal whitespace.
  \H                Character class for non horizontal whitespace.
@@ -84,12 +86,13 @@
  \l                Lowercase next character.  Not in [].
  \L                Lowercase till \E.  Not in [].
  \n                (Logical) newline character.
- \N                Any character but newline.  Experimental.  Not in [].
+ \N                Any character but newline.  Not in [].
  \N{}              Named or numbered (Unicode) character or sequence.
  \o{}              Octal escape sequence.
  \p{}, \pP         Character with the given Unicode property.
  \P{}, \PP         Character without the given Unicode property.
- \Q                Quotemeta till \E.  Not in [].
+ \Q                Quote (disable) pattern metacharacters till \E.  Not
+                   in [].
  \r                Return character.
  \R                Generic new line.  Not in [].
  \s                Character class for whitespace.
@@ -173,8 +176,7 @@
 Certain sequences of characters also have names.
 
 To specify by name, the name of the character or character sequence goes
-between the curly braces.  In this case, you have to C<use charnames> to
-load the Unicode names of the characters; otherwise Perl will complain.
+between the curly braces.
 
 To specify a character by Unicode code point, use the form C<\N{U+I<code
 point>}>, where I<code point> is a number in hexadecimal that gives the
@@ -201,7 +203,6 @@
 
 =head4 Example
 
- use charnames ':full';               # Loads the Unicode names.
  $str =~ /\N{THAI CHARACTER SO SO}/;  # Matches the Thai SO SO character
 
  use charnames 'Cyrillic';            # Loads Cyrillic names.
@@ -246,16 +247,17 @@
  $str = "Perl";
  $str =~ /\o{120}/;  # Match, "\120" is "P".
  $str =~ /\120/;     # Same.
- $str =~ /\o{120}+/; # Match, "\120" is "P", it's repeated at least once
+ $str =~ /\o{120}+/; # Match, "\120" is "P",
+                     # it's repeated at least once.
  $str =~ /\120+/;    # Same.
  $str =~ /P\053/;    # No match, "\053" is "+" and taken literally.
  /\o{23073}/         # Black foreground, white background smiling face.
- /\o{4801234567}/    # Raises a warning, and yields chr(4)
+ /\o{4801234567}/    # Raises a warning, and yields chr(4).
 
 =head4 Disambiguation rules between old-style octal escapes and backreferences
 
 Octal escapes of the C<\000> form outside of bracketed character classes
-potentially clash with old-style backreferences.  (see L</Absolute referencing>
+potentially clash with old-style backreferences (see L</Absolute referencing>
 below).  They both consist of a backslash followed by numbers.  So Perl has to
 use heuristics to determine whether it is a backreference or an octal escape.
 Perl uses the following rules to disambiguate:
@@ -282,7 +284,7 @@
     $pat .= ")" x 999;
  /^($pat)\1000$/;   #  Matches 'aa'; there are 1000 capture groups.
  /^$pat\1000$/;     #  Matches 'a at 0'; there are 999 capture groups
-                    #    and \1000 is seen as \100 (a '@') and a '0'
+                    #  and \1000 is seen as \100 (a '@') and a '0'.
 
 =back
 
@@ -332,14 +334,21 @@
 C<\E>, whichever comes first. They provide functionality similar to what
 the functions C<lc> and C<uc> provide.
 
-C<\Q> is used to escape all characters following, up to the next C<\E>
-or the end of the pattern. C<\Q> adds a backslash to any character that
-isn't a letter, digit, or underscore. This ensures that any character
-between C<\Q> and C<\E> shall be matched literally, not interpreted
-as a metacharacter by the regex engine.
+C<\Q> is used to quote (disable) pattern metacharacters, up to the next
+C<\E> or the end of the pattern. C<\Q> adds a backslash to any character
+that could have special meaning to Perl.  In the ASCII range, it quotes
+every character that isn't a letter, digit, or underscore.  See
+L<perlfunc/quotemeta> for details on what gets quoted for non-ASCII
+code points.  Using this ensures that any character between C<\Q> and
+C<\E> will be matched literally, not interpreted as a metacharacter by
+the regex engine.
 
-Mnemonic: I<L>owercase, I<U>ppercase, I<Q>uotemeta, I<E>nd.
+C<\F> can be used to casefold all characters following, up to the next C<\E>
+or the end of the pattern. It provides the functionality similar to
+the C<fc> function.
 
+Mnemonic: I<L>owercase, I<U>ppercase, I<F>old-case, I<Q>uotemeta, I<E>nd.
+
 =head4 Examples
 
  $sid     = "sid";
@@ -423,7 +432,7 @@
 =head4 Examples
 
  /(\w+) \g1/;    # Finds a duplicated word, (e.g. "cat cat").
- /(\w+) \1/;     # Same thing; written old-style
+ /(\w+) \1/;     # Same thing; written old-style.
  /(.)(.)\g2\g1/;  # Match a four letter palindrome (e.g. "ABBA").
 
 
@@ -568,7 +577,7 @@
 
 C<\C> always matches a single octet, even if the source string is encoded
 in UTF-8 format, and the character to be matched is a multi-octet character.
-C<\C> was introduced in perl 5.6.  This is very dangerous, because it violates
+This is very dangerous, because it violates
 the logical character abstraction and can cause UTF-8 sequences to become malformed.
 
 Mnemonic: oI<C>tet.
@@ -584,7 +593,7 @@
 
 =item \N
 
-This is an experimental feature new to perl 5.12.0.  It matches any character
+This feature, available starting in v5.12,  matches any character
 that is B<not> a newline.  It is a short-hand for writing C<[^\n]>, and is
 identical to the C<.> metasymbol, except under the C</s> flag, which changes
 the meaning of C<.>, but not C<\N>.
@@ -603,11 +612,21 @@
 C<\v> (vertical whitespace), and the multi character sequence C<"\x0D\x0A">
 (carriage return followed by a line feed, sometimes called the network
 newline; it's the end of line sequence used in Microsoft text files opened
-in binary mode). C<\R> is equivalent to C<< (?>\x0D\x0A)|\v) >>. Since
+in binary mode). C<\R> is equivalent to C<< (?>\x0D\x0A|\v) >>.  (The
+reason it doesn't backtrack is that the sequence is considered
+inseparable.  That means that
+
+ "\x0D\x0A" =~ /^\R\x0A$/   # No match
+
+fails, because the C<\R> matches the entire string, and won't backtrack
+to match just the C<"\x0D">.)  Since
 C<\R> can match a sequence of more than one character, it cannot be put
 inside a bracketed character class; C</[\R]/> is an error; use C<\v>
 instead.  C<\R> was introduced in perl 5.10.0.
 
+Note that this does not respect any locale that might be in effect; it
+matches according to the platform's native character set.
+
 Mnemonic: none really. C<\R> was picked because PCRE already uses C<\R>,
 and more importantly because Unicode recommends such a regular expression
 metacharacter, and suggests C<\R> as its notation.
@@ -630,7 +649,8 @@
 
 =head4 Examples
 
- "\x{256}" =~ /^\C\C$/;    # Match as chr (0x256) takes 2 octets in UTF-8.
+ "\x{256}" =~ /^\C\C$/;    # Match as chr (0x256) takes 
+                           # 2 octets in UTF-8.
 
  $str =~ s/foo\Kbar/baz/g; # Change any 'bar' following a 'foo' to 'baz'
  $str =~ s/(.)\K\g1//g;    # Delete duplicated characters.


Property changes on: vendor/perl/dist/pod/perlrebackslash.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlrecharclass.pod
===================================================================
--- vendor/perl/dist/pod/perlrecharclass.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlrecharclass.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,10 +26,10 @@
 
 The dot (or period), C<.> is probably the most used, and certainly
 the most well-known character class. By default, a dot matches any
-character, except for the newline. The default can be changed to
+character, except for the newline. That default can be changed to
 add matching the newline by using the I<single line> modifier: either
 for the entire regular expression with the C</s> modifier, or
-locally with C<(?s)>.  (The experimental C<\N> backslash sequence, described
+locally with C<(?s)>.  (The C<\N> backslash sequence, described
 below, matches any character except newline without regard to the
 I<single line> modifier.)
 
@@ -68,14 +68,29 @@
  \H             Match a character that isn't horizontal whitespace.
  \v             Match a vertical whitespace character.
  \V             Match a character that isn't vertical whitespace.
- \N             Match a character that isn't a newline.  Experimental.
+ \N             Match a character that isn't a newline.
  \pP, \p{Prop}  Match a character that has the given Unicode property.
  \PP, \P{Prop}  Match a character that doesn't have the Unicode property
 
+=head3 \N
+
+C<\N>, available starting in v5.12, like the dot, matches any
+character that is not a newline. The difference is that C<\N> is not influenced
+by the I<single line> regular expression modifier (see L</The dot> above).  Note
+that the form C<\N{...}> may mean something completely different.  When the
+C<{...}> is a L<quantifier|perlre/Quantifiers>, it means to match a non-newline
+character that many times.  For example, C<\N{3}> means to match 3
+non-newlines; C<\N{5,}> means to match 5 or more non-newlines.  But if C<{...}>
+is not a legal quantifier, it is presumed to be a named character.  See
+L<charnames> for those.  For example, none of C<\N{COLON}>, C<\N{4F}>, and
+C<\N{F4}> contain legal quantifiers, so Perl will try to find characters whose
+names are respectively C<COLON>, C<4F>, and C<F4>.
+
 =head3 Digits
 
 C<\d> matches a single character considered to be a decimal I<digit>.
-If the C</a> modifier in effect, it matches [0-9].  Otherwise, it
+If the C</a> regular expression modifier is in effect, it matches [0-9].
+Otherwise, it
 matches anything that is matched by C<\p{Digit}>, which includes [0-9].
 (An unlikely possible exception is that under locale matching rules, the
 current locale might not have [0-9] matched by C<\d>, and/or might match
@@ -94,7 +109,8 @@
 is expecting only the ASCII digits might be misled, or if the match is
 C<\d+>, the matched string might contain a mixture of digits from
 different writing systems that look like they signify a number different
-than they actually do. L<Unicode::UCD/num()> can be used to safely
+than they actually do.  L<Unicode::UCD/num()> can
+be used to safely
 calculate the value, returning C<undef> if the input string contains
 such a mixture.
 
@@ -114,7 +130,7 @@
 to characters that match the other type of "digit",
 C<\p{Numeric_Type=Digit}>, and so C<\d> doesn't match them.
 
-In Unicode 5.2, the Tamil digits (U+0BE6 - U+0BEF) can also legally be
+The Tamil digits (U+0BE6 - U+0BEF) can also legally be
 used in old-style Tamil numbers in which they would appear no more than
 one in a row, separated by characters that mean "times 10", "times 100",
 etc.  (See L<http://www.unicode.org/notes/tn21>.)
@@ -124,11 +140,12 @@
 =head3 Word characters
 
 A C<\w> matches a single alphanumeric character (an alphabetic character, or a
-decimal digit) or a connecting punctuation character, such as an
-underscore ("_").  It does not match a whole word.  To match a whole
-word, use C<\w+>.  This isn't the same thing as matching an English word, but
-in the ASCII range it is the same as a string of Perl-identifier
-characters.
+decimal digit); or a connecting punctuation character, such as an
+underscore ("_"); or a "mark" character (like some sort of accent) that
+attaches to one of those.  It does not match a whole word.  To match a
+whole word, use C<\w+>.  This isn't the same thing as matching an
+English word, but in the ASCII range it is the same as a string of
+Perl-identifier characters.
 
 =over
 
@@ -157,7 +174,7 @@
 C<\w> matches the platform's native underscore character plus whatever
 the locale considers to be alphanumeric.
 
-=item if Unicode rules are in effect or if on an EBCDIC platform ...
+=item if Unicode rules are in effect ...
 
 C<\w> matches exactly what C<\p{Word}> matches.
 
@@ -178,8 +195,9 @@
 
 Also, for a somewhat finer-grained set of characters that are in programming
 language identifiers beyond the ASCII range, you may wish to instead use the
-more customized Unicode properties, "ID_Start", ID_Continue", "XID_Start", and
-"XID_Continue".  See L<http://unicode.org/reports/tr31>.
+more customized L</Unicode Properties>, C<\p{ID_Start}>,
+C<\p{ID_Continue}>, C<\p{XID_Start}>, and C<\p{XID_Continue}>.  See
+L<http://unicode.org/reports/tr31>.
 
 Any character not matched by C<\w> is matched by C<\W>.
 
@@ -191,9 +209,11 @@
 
 =item If the C</a> modifier is in effect ...
 
-C<\s> matches the 5 characters [\t\n\f\r ]; that is, the horizontal tab,
-the newline, the form feed, the carriage return, and the space.  (Note
-that it doesn't match the vertical tab, C<\cK> on ASCII platforms.)
+In all Perl versions, C<\s> matches the 5 characters [\t\n\f\r ]; that
+is, the horizontal tab,
+the newline, the form feed, the carriage return, and the space.
+Starting in Perl v5.18, experimentally, it also matches the vertical tab, C<\cK>.
+See note C<[1]> below for a discussion of this.
 
 =item otherwise ...
 
@@ -210,11 +230,9 @@
 
 =item if locale rules are in effect ...
 
-C<\s> matches whatever the locale considers to be whitespace.  Note that
-this is likely to include the vertical space, unlike non-locale C<\s>
-matching.
+C<\s> matches whatever the locale considers to be whitespace.
 
-=item if Unicode rules are in effect or if on an EBCDIC platform ...
+=item if Unicode rules are in effect ...
 
 C<\s> matches exactly the characters shown with an "s" column in the
 table below.
@@ -221,7 +239,9 @@
 
 =item otherwise ...
 
-C<\s> matches [\t\n\f\r ].
+C<\s> matches [\t\n\f\r\cK ] and, starting, experimentally in Perl
+v5.18, the vertical tab, C<\cK>.
+(See note C<[1]> below for a discussion of this.)
 Note that this list doesn't include the non-breaking space.
 
 =back
@@ -235,68 +255,84 @@
 Any character not matched by C<\s> is matched by C<\S>.
 
 C<\h> matches any character considered horizontal whitespace;
-this includes the space and tab characters and several others
+this includes the platform's space and tab characters and several others
 listed in the table below.  C<\H> matches any character
-not considered horizontal whitespace.
+not considered horizontal whitespace.  They use the platform's native
+character set, and do not consider any locale that may otherwise be in
+use.
 
 C<\v> matches any character considered vertical whitespace;
-this includes the carriage return and line feed characters (newline)
+this includes the platform's carriage return and line feed characters (newline)
 plus several other characters, all listed in the table below.
 C<\V> matches any character not considered vertical whitespace.
+They use the platform's native character set, and do not consider any
+locale that may otherwise be in use.
 
 C<\R> matches anything that can be considered a newline under Unicode
 rules. It's not a character class, as it can match a multi-character
 sequence. Therefore, it cannot be used inside a bracketed character
-class; use C<\v> instead (vertical whitespace).
+class; use C<\v> instead (vertical whitespace).  It uses the platform's
+native character set, and does not consider any locale that may
+otherwise be in use.
 Details are discussed in L<perlrebackslash>.
 
 Note that unlike C<\s> (and C<\d> and C<\w>), C<\h> and C<\v> always match
-the same characters, without regard to other factors, such as whether the
-source string is in UTF-8 format.
+the same characters, without regard to other factors, such as the active
+locale or whether the source string is in UTF-8 format.
 
-One might think that C<\s> is equivalent to C<[\h\v]>. This is not true.
-For example, the vertical tab (C<"\x0b">) is not matched by C<\s>, it is
-however considered vertical whitespace.
+One might think that C<\s> is equivalent to C<[\h\v]>. This is indeed true
+starting in Perl v5.18, but prior to that, the sole difference was that the
+vertical tab (C<"\cK">) was not matched by C<\s>.
 
 The following table is a complete listing of characters matched by
 C<\s>, C<\h> and C<\v> as of Unicode 6.0.
 
-The first column gives the code point of the character (in hex format),
+The first column gives the Unicode code point of the character (in hex format),
 the second column gives the (Unicode) name. The third column indicates
-by which class(es) the character is matched (assuming no locale or EBCDIC code
-page is in effect that changes the C<\s> matching).
+by which class(es) the character is matched (assuming no locale is in
+effect that changes the C<\s> matching).
 
- 0x00009        CHARACTER TABULATION   h s
- 0x0000a              LINE FEED (LF)    vs
- 0x0000b             LINE TABULATION    v
- 0x0000c              FORM FEED (FF)    vs
- 0x0000d        CARRIAGE RETURN (CR)    vs
- 0x00020                       SPACE   h s
- 0x00085             NEXT LINE (NEL)    vs  [1]
- 0x000a0              NO-BREAK SPACE   h s  [1]
- 0x01680            OGHAM SPACE MARK   h s
- 0x0180e   MONGOLIAN VOWEL SEPARATOR   h s
- 0x02000                     EN QUAD   h s
- 0x02001                     EM QUAD   h s
- 0x02002                    EN SPACE   h s
- 0x02003                    EM SPACE   h s
- 0x02004          THREE-PER-EM SPACE   h s
- 0x02005           FOUR-PER-EM SPACE   h s
- 0x02006            SIX-PER-EM SPACE   h s
- 0x02007                FIGURE SPACE   h s
- 0x02008           PUNCTUATION SPACE   h s
- 0x02009                  THIN SPACE   h s
- 0x0200a                  HAIR SPACE   h s
- 0x02028              LINE SEPARATOR    vs
- 0x02029         PARAGRAPH SEPARATOR    vs
- 0x0202f       NARROW NO-BREAK SPACE   h s
- 0x0205f   MEDIUM MATHEMATICAL SPACE   h s
- 0x03000           IDEOGRAPHIC SPACE   h s
+ 0x0009        CHARACTER TABULATION   h s
+ 0x000a              LINE FEED (LF)    vs
+ 0x000b             LINE TABULATION    vs  [1]
+ 0x000c              FORM FEED (FF)    vs
+ 0x000d        CARRIAGE RETURN (CR)    vs
+ 0x0020                       SPACE   h s
+ 0x0085             NEXT LINE (NEL)    vs  [2]
+ 0x00a0              NO-BREAK SPACE   h s  [2]
+ 0x1680            OGHAM SPACE MARK   h s
+ 0x180e   MONGOLIAN VOWEL SEPARATOR   h s
+ 0x2000                     EN QUAD   h s
+ 0x2001                     EM QUAD   h s
+ 0x2002                    EN SPACE   h s
+ 0x2003                    EM SPACE   h s
+ 0x2004          THREE-PER-EM SPACE   h s
+ 0x2005           FOUR-PER-EM SPACE   h s
+ 0x2006            SIX-PER-EM SPACE   h s
+ 0x2007                FIGURE SPACE   h s
+ 0x2008           PUNCTUATION SPACE   h s
+ 0x2009                  THIN SPACE   h s
+ 0x200a                  HAIR SPACE   h s
+ 0x2028              LINE SEPARATOR    vs
+ 0x2029         PARAGRAPH SEPARATOR    vs
+ 0x202f       NARROW NO-BREAK SPACE   h s
+ 0x205f   MEDIUM MATHEMATICAL SPACE   h s
+ 0x3000           IDEOGRAPHIC SPACE   h s
 
 =over 4
 
 =item [1]
 
+Prior to Perl v5.18, C<\s> did not match the vertical tab.  The change
+in v5.18 is considered an experiment, which means it could be backed out
+in v5.20 or v5.22 if experience indicates that it breaks too much
+existing code.  If this change adversely affects you, send email to
+C<perlbug at perl.org>; if it affects you positively, email
+C<perlthanks at perl.org>.  In the meantime, C<[^\S\cK]> (obscurely)
+matches what C<\s> traditionally did.
+
+=item [2]
+
 NEXT LINE and NO-BREAK SPACE may or may not match C<\s> depending
 on the rules in effect.  See
 L<the beginning of this section|/Whitespace>.
@@ -303,20 +339,6 @@
 
 =back
 
-=head3 \N
-
-C<\N> is new in 5.12, and is experimental.  It, like the dot, matches any
-character that is not a newline. The difference is that C<\N> is not influenced
-by the I<single line> regular expression modifier (see L</The dot> above).  Note
-that the form C<\N{...}> may mean something completely different.  When the
-C<{...}> is a L<quantifier|perlre/Quantifiers>, it means to match a non-newline
-character that many times.  For example, C<\N{3}> means to match 3
-non-newlines; C<\N{5,}> means to match 5 or more non-newlines.  But if C<{...}>
-is not a legal quantifier, it is presumed to be a named character.  See
-L<charnames> for those.  For example, none of C<\N{COLON}>, C<\N{4F}>, and
-C<\N{F4}> contain legal quantifiers, so Perl will try to find characters whose
-names are respectively C<COLON>, C<4F>, and C<F4>.
-
 =head3 Unicode Properties
 
 C<\pP> and C<\p{Prop}> are character classes to match characters that fit given
@@ -329,7 +351,7 @@
 For instance, a match for a number can be written as C</\pN/> or as
 C</\p{Number}/>, or as C</\p{Number=True}/>.
 Lowercase letters are matched by the property I<Lowercase_Letter> which
-has as short form I<Ll>. They need the braces, so are written as C</\p{Ll}/> or
+has the short form I<Ll>. They need the braces, so are written as C</\p{Ll}/> or
 C</\p{Lowercase_Letter}/>, or C</\p{General_Category=Lowercase_Letter}/>
 (the underscores are optional).
 C</\pLl/> is valid, but means something different.
@@ -336,9 +358,9 @@
 It matches a two character string: a letter (Unicode property C<\pL>),
 followed by a lowercase C<l>.
 
-If neither the C</a> modifier nor locale rules are in effect, the use of
+If locale rules are not in effect, the use of
 a Unicode property will force the regular expression into using Unicode
-rules.
+rules, if it isn't already.
 
 Note that almost all properties are immune to case-insensitive matching.
 That is, adding a C</i> regular expression modifier does not change what
@@ -353,11 +375,11 @@
 and C<Titlecase>,
 all of which match C<Cased> under C</i> matching.
 (The difference between these sets is that some things, such as Roman
-Numerals, come in both upper and lower case so they are C<Cased>, but
+numerals, come in both upper and lower case, so they are C<Cased>, but
 aren't considered to be letters, so they aren't C<Cased_Letter>s. They're
 actually C<Letter_Number>s.)
 This set also includes its subsets C<PosixUpper> and C<PosixLower>, both
-of which under C</i> matching match C<PosixAlpha>.
+of which under C</i> match C<PosixAlpha>.
 
 For more details on Unicode properties, see L<perlunicode/Unicode
 Character Properties>; for a
@@ -367,6 +389,17 @@
 It is also possible to define your own properties. This is discussed in
 L<perlunicode/User-Defined Character Properties>.
 
+Unicode properties are defined (surprise!) only on Unicode code points.
+A warning is raised and all matches fail on non-Unicode code points
+(those above the legal Unicode maximum of 0x10FFFF).  This can be
+somewhat surprising,
+
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=True}      # Fails.
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=False}     # Also fails!
+
+Even though these two matches might be thought of as complements, they
+are so only on Unicode code points.
+
 =head4 Examples
 
  "a"  =~  /\w/      # Match, "a" is a 'word' character.
@@ -419,9 +452,10 @@
 
  -------
 
-* There is an exception to a bracketed character class matching only a
-single character.  When the class is to match caselessely under C</i>
-matching rules, and a character inside the class matches a
+* There is an exception to a bracketed character class matching a
+single character only.  When the class is to match caselessly under C</i>
+matching rules, and a character that is explicitly mentioned inside the
+class matches a
 multiple-character sequence caselessly under Unicode rules, the class
 (when not L<inverted|/Negation>) will also match that sequence.  For
 example, Unicode says that the letter C<LATIN SMALL LETTER SHARP S>
@@ -430,6 +464,18 @@
  'ss' =~ /\A\N{LATIN SMALL LETTER SHARP S}\z/i             # Matches
  'ss' =~ /\A[aeioust\N{LATIN SMALL LETTER SHARP S}]\z/i    # Matches
 
+For this to happen, the character must be explicitly specified, and not
+be part of a multi-character range (not even as one of its endpoints).
+(L</Character Ranges> will be explained shortly.)  Therefore,
+
+ 'ss' =~ /\A[\0-\x{ff}]\z/i        # Doesn't match
+ 'ss' =~ /\A[\0-\N{LATIN SMALL LETTER SHARP S}]\z/i    # No match
+ 'ss' =~ /\A[\xDF-\xDF]\z/i    # Matches on ASCII platforms, since \XDF
+                               # is LATIN SMALL LETTER SHARP S, and the
+                               # range is just a single element
+
+Note that it isn't a good idea to specify these types of ranges anyway.
+
 =head3 Special Characters Inside a Bracketed Character Class
 
 Most characters that are meta characters in regular expressions (that
@@ -488,7 +534,7 @@
 Examples:
 
  "+"   =~ /[+?*]/     #  Match, "+" in a character class is not special.
- "\cH" =~ /[\b]/      #  Match, \b inside in a character class
+ "\cH" =~ /[\b]/      #  Match, \b inside in a character class.
                       #  is equivalent to a backspace.
  "]"   =~ /[][]/      #  Match, as the character class contains.
                       #  both [ and ].
@@ -503,7 +549,7 @@
 If inside a bracketed character class you have two characters separated
 by a hyphen, it's treated as if all characters between the two were in
 the class. For instance, C<[0-9]> matches any ASCII digit, and C<[a-m]>
-matches any lowercase letter from the first half of the old ASCII alphabet.
+matches any lowercase letter from the first half of the ASCII alphabet.
 
 Note that the two characters on either side of the hyphen are not
 necessarily both letters or both digits. Any character is possible,
@@ -537,26 +583,27 @@
 It is also possible to instead list the characters you do not want to
 match. You can do so by using a caret (C<^>) as the first character in the
 character class. For instance, C<[^a-z]> matches any character that is not a
-lowercase ASCII letter, which therefore includes almost a hundred thousand
-Unicode letters.  The class is said to be "negated" or "inverted".
+lowercase ASCII letter, which therefore includes more than a million
+Unicode code points.  The class is said to be "negated" or "inverted".
 
 This syntax make the caret a special character inside a bracketed character
 class, but only if it is the first character of the class. So if you want
 the caret as one of the characters to match, either escape the caret or
-else not list it first.
+else don't list it first.
 
 In inverted bracketed character classes, Perl ignores the Unicode rules
-that normally say that a given character matches a sequence of multiple
-characters under caseless C</i> matching, which otherwise could be
-highly confusing:
+that normally say that certain characters should match a sequence of
+multiple characters under caseless C</i> matching.  Following those
+rules could lead to highly confusing situations:
 
- "ss" =~ /^[^\xDF]+$/ui;
+ "ss" =~ /^[^\xDF]+$/ui;   # Matches!
 
 This should match any sequences of characters that aren't C<\xDF> nor
 what C<\xDF> matches under C</i>.  C<"s"> isn't C<\xDF>, but Unicode
 says that C<"ss"> is what C<\xDF> matches under C</i>.  So which one
 "wins"? Do you fail the match because the string has C<ss> or accept it
-because it has an C<s> followed by another C<s>?
+because it has an C<s> followed by another C<s>?  Perl has chosen the
+latter.
 
 Examples:
 
@@ -622,7 +669,7 @@
 Perl recognizes the following POSIX character classes:
 
  alpha  Any alphabetical character ("[A-Za-z]").
- alnum  Any alphanumeric character. ("[A-Za-z0-9]")
+ alnum  Any alphanumeric character ("[A-Za-z0-9]").
  ascii  Any character in the ASCII character set.
  blank  A GNU extension, equal to a space or a horizontal tab ("\t").
  cntrl  Any control character.  See Note [2] below.
@@ -631,7 +678,8 @@
  lower  Any lowercase character ("[a-z]").
  print  Any printable character, including a space.  See Note [4] below.
  punct  Any graphical character excluding "word" characters.  Note [5].
- space  Any whitespace character. "\s" plus the vertical tab ("\cK").
+ space  Any whitespace character. "\s" including the vertical tab
+        ("\cK").
  upper  Any uppercase character ("[A-Z]").
  word   A Perl extension ("[A-Za-z0-9_]"), equivalent to "\w".
  xdigit Any hexadecimal digit ("[0-9a-fA-F]").
@@ -648,68 +696,9 @@
 appropriate characters in the full Unicode character set.  For example,
 C<\p{Alpha}> matches not just the ASCII alphabetic characters, but any
 character in the entire Unicode character set considered alphabetic.
-The column labelled "backslash sequence" is a (short) synonym for
-the Full-range Unicode form.
+An entry in the column labelled "backslash sequence" is a (short)
+equivalent.
 
-(Each of the counterparts has various synonyms as well.
-L<perluniprops/Properties accessible through \p{} and \P{}> lists all
-synonyms, plus all characters matched by each ASCII-range property.
-For example, C<\p{AHex}> is a synonym for C<\p{ASCII_Hex_Digit}>,
-and any C<\p> property name can be prefixed with "Is" such as C<\p{IsAlpha}>.)
-
-Both the C<\p> counterparts always assume Unicode rules are in effect.
-On ASCII platforms, this means they assume that the code points from 128
-to 255 are Latin-1, and that means that using them under locale rules is
-unwise unless the locale is guaranteed to be Latin-1 or UTF-8.  In contrast, the
-POSIX character classes are useful under locale rules.  They are
-affected by the actual rules in effect, as follows:
-
-=over
-
-=item If the C</a> modifier, is in effect ...
-
-Each of the POSIX classes matches exactly the same as their ASCII-range
-counterparts.
-
-=item otherwise ...
-
-=over
-
-=item For code points above 255 ...
-
-The POSIX class matches the same as its Full-range counterpart.
-
-=item For code points below 256 ...
-
-=over
-
-=item if locale rules are in effect ...
-
-The POSIX class matches according to the locale.
-
-=item if Unicode rules are in effect or if on an EBCDIC platform ...
-
-The POSIX class matches the same as the Full-range counterpart.
-
-=item otherwise ...
-
-The POSIX class matches the same as the ASCII range counterpart.
-
-=back
-
-=back
-
-=back
-
-Which rules apply are determined as described in
-L<perlre/Which character set modifier is in effect?>.
-
-It is proposed to change this behavior in a future release of Perl so that
-whether or not Unicode rules are in effect would not change the
-behavior:  Outside of locale or an EBCDIC code page, the POSIX classes
-would behave like their ASCII-range counterparts.  If you wish to
-comment on this proposal, send email to C<perl5-porters at perl.org>.
-
  [[:...:]]      ASCII-range          Full-range  backslash  Note
                  Unicode              Unicode     sequence
  -----------------------------------------------------
@@ -743,10 +732,6 @@
 In the ASCII range, characters whose code points are between 0 and 31 inclusive,
 plus 127 (C<DEL>) are control characters.
 
-On EBCDIC platforms, it is likely that the code page will define C<[[:cntrl:]]>
-to be the EBCDIC equivalents of the ASCII controls, plus the controls
-that in Unicode have code pointss from 128 through 159.
-
 =item [3]
 
 Any character that is I<graphical>, that is, visible. This class consists
@@ -766,11 +751,12 @@
 
 The similarly named property, C<\p{Punct}>, matches a somewhat different
 set in the ASCII range, namely
-C<[-!"#%&'()*,./:;?@[\\\]_{}]>.  That is, it is missing C<[$+E<lt>=E<gt>^`|~]>.
+C<[-!"#%&'()*,./:;?@[\\\]_{}]>.  That is, it is missing the nine
+characters C<[$+E<lt>=E<gt>^`|~]>.
 This is because Unicode splits what POSIX considers to be punctuation into two
 categories, Punctuation and Symbols.
 
-C<\p{XPosixPunct}> and (in Unicode mode) C<[[:punct:]]>, match what
+C<\p{XPosixPunct}> and (under Unicode rules) C<[[:punct:]]>, match what
 C<\p{PosixPunct}> matches in the ASCII range, plus what C<\p{Punct}>
 matches.  This is different than strictly matching according to
 C<\p{Punct}>.  Another way to say it is that
@@ -780,17 +766,74 @@
 
 =item [6]
 
-C<\p{SpacePerl}> and C<\p{Space}> differ only in that in non-locale
-matching, C<\p{Space}> additionally
-matches the vertical tab, C<\cK>.   Same for the two ASCII-only range forms.
+C<\p{SpacePerl}> and C<\p{Space}> match identically starting with Perl
+v5.18.  In earlier versions, these differ only in that in non-locale
+matching, C<\p{SpacePerl}> does not match the vertical tab, C<\cK>.
+Same for the two ASCII-only range forms.
 
 =back
 
-There are various other synonyms that can be used for these besides
-C<\p{HorizSpace}> and \C<\p{XPosixBlank}>.  For example,
-C<\p{PosixAlpha}> can be written as C<\p{Alpha}>.  All are listed
-in L<perluniprops/Properties accessible through \p{} and \P{}>.
+There are various other synonyms that can be used besides the names
+listed in the table.  For example, C<\p{PosixAlpha}> can be written as
+C<\p{Alpha}>.  All are listed in
+L<perluniprops/Properties accessible through \p{} and \P{}>,
+plus all characters matched by each ASCII-range property.
 
+Both the C<\p> counterparts always assume Unicode rules are in effect.
+On ASCII platforms, this means they assume that the code points from 128
+to 255 are Latin-1, and that means that using them under locale rules is
+unwise unless the locale is guaranteed to be Latin-1 or UTF-8.  In contrast, the
+POSIX character classes are useful under locale rules.  They are
+affected by the actual rules in effect, as follows:
+
+=over
+
+=item If the C</a> modifier, is in effect ...
+
+Each of the POSIX classes matches exactly the same as their ASCII-range
+counterparts.
+
+=item otherwise ...
+
+=over
+
+=item For code points above 255 ...
+
+The POSIX class matches the same as its Full-range counterpart.
+
+=item For code points below 256 ...
+
+=over
+
+=item if locale rules are in effect ...
+
+The POSIX class matches according to the locale, except that
+C<word> uses the platform's native underscore character, no matter what
+the locale is.
+
+=item if Unicode rules are in effect ...
+
+The POSIX class matches the same as the Full-range counterpart.
+
+=item otherwise ...
+
+The POSIX class matches the same as the ASCII range counterpart.
+
+=back
+
+=back
+
+=back
+
+Which rules apply are determined as described in
+L<perlre/Which character set modifier is in effect?>.
+
+It is proposed to change this behavior in a future release of Perl so that
+whether or not Unicode rules are in effect would not change the
+behavior:  Outside of locale, the POSIX classes
+would behave like their ASCII-range counterparts.  If you wish to
+comment on this proposal, send email to C<perl5-porters at perl.org>.
+
 =head4 Negation of POSIX character classes
 X<character class, negation>
 
@@ -821,11 +864,218 @@
  /[01[:lower:]]/          # Matches a character that is either a
                           # lowercase letter, or '0' or '1'.
  /[[:digit:][:^xdigit:]]/ # Matches a character that can be anything
-			  # except the letters 'a' to 'f'.  This is
-			  # because the main character class is composed
-			  # of two POSIX character classes that are ORed
-			  # together, one that matches any digit, and
-			  # the other that matches anything that isn't a
-			  # hex digit.  The result matches all
-			  # characters except the letters 'a' to 'f' and
-			  # 'A' to 'F'.
+                          # except the letters 'a' to 'f' and 'A' to
+                          # 'F'.  This is because the main character
+                          # class is composed of two POSIX character
+                          # classes that are ORed together, one that
+                          # matches any digit, and the other that
+                          # matches anything that isn't a hex digit.
+                          # The OR adds the digits, leaving only the
+                          # letters 'a' to 'f' and 'A' to 'F' excluded.
+
+=head3 Extended Bracketed Character Classes
+X<character class>
+X<set operations>
+
+This is a fancy bracketed character class that can be used for more
+readable and less error-prone classes, and to perform set operations,
+such as intersection. An example is
+
+ /(?[ \p{Thai} & \p{Digit} ])/
+
+This will match all the digit characters that are in the Thai script.
+
+This is an experimental feature available starting in 5.18, and is
+subject to change as we gain field experience with it.  Any attempt to
+use it will raise a warning, unless disabled via
+
+ no warnings "experimental::regex_sets";
+
+Comments on this feature are welcome; send email to
+C<perl5-porters at perl.org>.
+
+We can extend the example above:
+
+ /(?[ ( \p{Thai} + \p{Lao} ) & \p{Digit} ])/
+
+This matches digits that are in either the Thai or Laotian scripts.
+
+Notice the white space in these examples.  This construct always has
+the C<E<sol>x> modifier turned on.
+
+The available binary operators are:
+
+ &    intersection
+ +    union
+ |    another name for '+', hence means union
+ -    subtraction (the result matches the set consisting of those
+      code points matched by the first operand, excluding any that
+      are also matched by the second operand)
+ ^    symmetric difference (the union minus the intersection).  This
+      is like an exclusive or, in that the result is the set of code
+      points that are matched by either, but not both, of the
+      operands.
+
+There is one unary operator:
+
+ !    complement
+
+All the binary operators left associate, and are of equal precedence.
+The unary operator right associates, and has higher precedence.  Use
+parentheses to override the default associations.  Some feedback we've
+received indicates a desire for intersection to have higher precedence
+than union.  This is something that feedback from the field may cause us
+to change in future releases; you may want to parenthesize copiously to
+avoid such changes affecting your code, until this feature is no longer
+considered experimental.
+
+The main restriction is that everything is a metacharacter.  Thus,
+you cannot refer to single characters by doing something like this:
+
+ /(?[ a + b ])/ # Syntax error!
+
+The easiest way to specify an individual typable character is to enclose
+it in brackets:
+
+ /(?[ [a] + [b] ])/
+
+(This is the same thing as C<[ab]>.)  You could also have said the
+equivalent:
+
+ /(?[[ a b ]])/
+
+(You can, of course, specify single characters by using, C<\x{ }>,
+C<\N{ }>, etc.)
+
+This last example shows the use of this construct to specify an ordinary
+bracketed character class without additional set operations.  Note the
+white space within it; C<E<sol>x> is turned on even within bracketed
+character classes, except you can't have comments inside them.  Hence,
+
+ (?[ [#] ])
+
+matches the literal character "#".  To specify a literal white space character,
+you can escape it with a backslash, like:
+
+ /(?[ [ a e i o u \  ] ])/
+
+This matches the English vowels plus the SPACE character.
+All the other escapes accepted by normal bracketed character classes are
+accepted here as well; but unrecognized escapes that generate warnings
+in normal classes are fatal errors here.
+
+All warnings from these class elements are fatal, as well as some
+practices that don't currently warn.  For example you cannot say
+
+ /(?[ [ \xF ] ])/     # Syntax error!
+
+You have to have two hex digits after a braceless C<\x> (use a leading
+zero to make two).  These restrictions are to lower the incidence of
+typos causing the class to not match what you thought it would.
+
+The final difference between regular bracketed character classes and
+these, is that it is not possible to get these to match a
+multi-character fold.  Thus,
+
+ /(?[ [\xDF] ])/iu
+
+does not match the string C<ss>.
+
+You don't have to enclose POSIX class names inside double brackets,
+hence both of the following work:
+
+ /(?[ [:word:] - [:lower:] ])/
+ /(?[ [[:word:]] - [[:lower:]] ])/
+
+Any contained POSIX character classes, including things like C<\w> and C<\D>
+respect the C<E<sol>a> (and C<E<sol>aa>) modifiers.
+
+C<< (?[ ]) >> is a regex-compile-time construct.  Any attempt to use
+something which isn't knowable at the time the containing regular
+expression is compiled is a fatal error.  In practice, this means
+just three limitiations:
+
+=over 4
+
+=item 1
+
+This construct cannot be used within the scope of
+C<use locale> (or the C<E<sol>l> regex modifier).
+
+=item 2
+
+Any
+L<user-defined property|perlunicode/"User-Defined Character Properties">
+used must be already defined by the time the regular expression is
+compiled (but note that this construct can be used instead of such
+properties).
+
+=item 3
+
+A regular expression that otherwise would compile
+using C<E<sol>d> rules, and which uses this construct will instead
+use C<E<sol>u>.  Thus this construct tells Perl that you don't want
+C<E<sol>d> rules for the entire regular expression containing it.
+
+=back
+
+The C<E<sol>x> processing within this class is an extended form.
+Besides the characters that are considered white space in normal C</x>
+processing, there are 5 others, recommended by the Unicode standard:
+
+ U+0085 NEXT LINE
+ U+200E LEFT-TO-RIGHT MARK
+ U+200F RIGHT-TO-LEFT MARK
+ U+2028 LINE SEPARATOR
+ U+2029 PARAGRAPH SEPARATOR
+
+Note that skipping white space applies only to the interior of this
+construct.  There must not be any space between any of the characters
+that form the initial C<(?[>.  Nor may there be space between the
+closing C<])> characters.
+
+Just as in all regular expressions, the pattern can can be built up by
+including variables that are interpolated at regex compilation time.
+Care must be taken to ensure that you are getting what you expect.  For
+example:
+
+ my $thai_or_lao = '\p{Thai} + \p{Lao}';
+ ...
+ qr/(?[ \p{Digit} & $thai_or_lao ])/;
+
+compiles to
+
+ qr/(?[ \p{Digit} & \p{Thai} + \p{Lao} ])/;
+
+But this does not have the effect that someone reading the code would
+likely expect, as the intersection applies just to C<\p{Thai}>,
+excluding the Laotian.  Pitfalls like this can be avoided by
+parenthesizing the component pieces:
+
+ my $thai_or_lao = '( \p{Thai} + \p{Lao} )';
+
+But any modifiers will still apply to all the components:
+
+ my $lower = '\p{Lower} + \p{Digit}';
+ qr/(?[ \p{Greek} & $lower ])/i;
+
+matches upper case things.  You can avoid surprises by making the
+components into instances of this construct by compiling them:
+
+ my $thai_or_lao = qr/(?[ \p{Thai} + \p{Lao} ])/;
+ my $lower = qr/(?[ \p{Lower} + \p{Digit} ])/;
+
+When these are embedded in another pattern, what they match does not
+change, regardless of parenthesization or what modifiers are in effect
+in that outer pattern.
+
+Due to the way that Perl parses things, your parentheses and brackets
+may need to be balanced, even including comments.  If you run into any
+examples, please send them to C<perlbug at perl.org>, so that we can have a
+concrete example for this man page.
+
+We may change it so that things that remain legal uses in normal bracketed
+character classes might become illegal within this experimental
+construct.  One proposal, for example, is to forbid adjacent uses of the
+same character, as in C<(?[ [aa] ])>.  The motivation for such a change
+is that this usage is likely a typo, as the second "a" adds nothing.


Property changes on: vendor/perl/dist/pod/perlrecharclass.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlref.pod
===================================================================
--- vendor/perl/dist/pod/perlref.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlref.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,7 +24,7 @@
 automatically freeing the thing referred to when its reference count goes
 to zero.  (Reference counts for values in self-referential or
 cyclic data structures may not go to zero without a little help; see
-L<perlobj/"Two-Phased Garbage Collection"> for a detailed explanation.)
+L</"Circular References"> for a detailed explanation.)
 If that thing happens to be an object, the object is destructed.  See
 L<perlobj> for more about objects.  (In a sense, everything in Perl is an
 object, but we usually reserve the word for references to objects that
@@ -46,11 +46,18 @@
 X<reference, hard> X<hard reference>
 
 References are easy to use in Perl.  There is just one overriding
-principle: Perl does no implicit referencing or dereferencing.  When a
-scalar is holding a reference, it always behaves as a simple scalar.  It
-doesn't magically start being an array or hash or subroutine; you have to
+principle: in general, Perl does no implicit referencing or dereferencing.
+When a scalar is holding a reference, it always behaves as a simple scalar.
+It doesn't magically start being an array or hash or subroutine; you have to
 tell it explicitly to do so, by dereferencing it.
 
+That said, be aware that Perl version 5.14 introduces an exception
+to the rule, for syntactic convenience.  Experimental array and hash container
+function behavior allows array and hash references to be handled by Perl as
+if they had been explicitly syntactically dereferenced.  See
+L<perl5140delta/"Syntactical Enhancements">
+and L<perlfunc> for details.
+
 =head2 Making References
 X<reference, creation> X<referencing>
 
@@ -255,8 +262,11 @@
     $ioref     = *STDIN{IO};
     $globref   = *foo{GLOB};
     $formatref = *foo{FORMAT};
+    $globname  = *foo{NAME};    # "foo"
+    $pkgname   = *foo{PACKAGE}; # "main"
 
-All of these are self-explanatory except for C<*foo{IO}>.  It returns
+Most of these are self-explanatory, but C<*foo{IO}>
+deserves special attention.  It returns
 the IO handle, used for file handles (L<perlfunc/open>), sockets
 (L<perlfunc/socket> and L<perlfunc/socketpair>), and directory
 handles (L<perlfunc/opendir>).  For compatibility with previous
@@ -269,6 +279,13 @@
 anonymous scalar if $foo hasn't been used yet.  This might change in a
 future release.
 
+C<*foo{NAME}> and C<*foo{PACKAGE}> are the exception, in that they return
+strings, rather than references.  These return the package and name of the
+typeglob itself, rather than one that has been assigned to it.  So, after
+C<*foo=*Foo::bar>, C<*foo> will become "*Foo::bar" when used as a string,
+but C<*foo{PACKAGE}> and C<*foo{NAME}> will continue to produce "main" and
+"foo", respectively.
+
 C<*foo{IO}> is an alternative to the C<*HANDLE> mechanism given in
 L<perldata/"Typeglobs and Filehandles"> for passing filehandles
 into or out of subroutines, or storing into larger data structures.
@@ -458,6 +475,58 @@
 
     print "That yields ${\($n + 5)} widgets\n";
 
+=head2 Circular References
+X<circular reference> X<reference, circular>
+
+It is possible to create a "circular reference" in Perl, which can lead
+to memory leaks. A circular reference occurs when two references
+contain a reference to each other, like this:
+
+    my $foo = {};
+    my $bar = { foo => $foo };
+    $foo->{bar} = $bar;
+
+You can also create a circular reference with a single variable:
+
+    my $foo;
+    $foo = \$foo;
+
+In this case, the reference count for the variables will never reach 0,
+and the references will never be garbage-collected. This can lead to
+memory leaks.
+
+Because objects in Perl are implemented as references, it's possible to
+have circular references with objects as well. Imagine a TreeNode class
+where each node references its parent and child nodes. Any node with a
+parent will be part of a circular reference.
+
+You can break circular references by creating a "weak reference". A
+weak reference does not increment the reference count for a variable,
+which means that the object can go out of scope and be destroyed. You
+can weaken a reference with the C<weaken> function exported by the
+L<Scalar::Util> module.
+
+Here's how we can make the first example safer:
+
+    use Scalar::Util 'weaken';
+
+    my $foo = {};
+    my $bar = { foo => $foo };
+    $foo->{bar} = $bar;
+
+    weaken $foo->{bar};
+
+The reference from C<$foo> to C<$bar> has been weakened. When the
+C<$bar> variable goes out of scope, it will be garbage-collected. The
+next time you look at the value of the C<< $foo->{bar} >> key, it will
+be C<undef>.
+
+This action at a distance can be confusing, so you should be careful
+with your use of weaken. You should weaken the reference in the
+variable that will go out of scope I<first>. That way, the longer-lived
+variable will contain the expected reference until it goes out of
+scope.
+
 =head2 Symbolic references
 X<reference, symbolic> X<reference, soft>
 X<symbolic reference> X<soft reference>
@@ -478,7 +547,7 @@
     ${$name x 2} = 3;		# Sets $foofoo
     $name->[0] = 4;		# Sets $foo[0]
     @$name = ();		# Clears @foo
-    &$name();			# Calls &foo() (as in Perl 4)
+    &$name();			# Calls &foo()
     $pack = "THAT";
     ${"${pack}::$name"} = 5;	# Sets $THAT::foo without eval
 
@@ -510,16 +579,16 @@
 
 =head2 Not-so-symbolic references
 
-A new feature contributing to readability in perl version 5.001 is that the
-brackets around a symbolic reference behave more like quotes, just as they
-always have within a string.  That is,
+Brackets around a symbolic reference can simply
+serve to isolate an identifier or variable name from the rest of an
+expression, just as they always have within a string.  For example,
 
     $push = "pop on ";
     print "${push}over";
 
 has always meant to print "pop on over", even though push is
-a reserved word.  This has been generalized to work the same outside
-of quotes, so that
+a reserved word.  This is generalized to work the same
+without the enclosing double quotes, so that
 
     print ${push} . "over";
 
@@ -527,8 +596,7 @@
 
     print ${ push } . "over";
 
-will have the same effect.  (This would have been a syntax error in
-Perl 5.000, though Perl 4 allowed it in the spaceless form.)  This
+will have the same effect.  This
 construct is I<not> considered to be a symbolic reference when you're
 using strict refs:
 
@@ -536,9 +604,9 @@
     ${ bareword };	# Okay, means $bareword.
     ${ "bareword" };	# Error, symbolic reference.
 
-Similarly, because of all the subscripting that is done using single
-words, we've applied the same rule to any bareword that is used for
-subscripting a hash.  So now, instead of writing
+Similarly, because of all the subscripting that is done using single words,
+the same rule applies to any bareword that is used for subscripting a hash.
+So now, instead of writing
 
     $array{ "aaa" }{ "bbb" }{ "ccc" }
 
@@ -682,5 +750,5 @@
 in the F<t/op/ref.t> regression test in the Perl source directory.
 
 See also L<perldsc> and L<perllol> for how to use references to create
-complex data structures, and L<perltoot>, L<perlobj>, and L<perlbot>
+complex data structures, and L<perlootut> and L<perlobj>
 for how to use them to create objects.


Property changes on: vendor/perl/dist/pod/perlref.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlreftut.pod
===================================================================
--- vendor/perl/dist/pod/perlreftut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlreftut.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 One of the most important new features in Perl 5 was the capability to
 manage complicated data structures like multidimensional arrays and
 nested hashes.  To enable these, Perl 5 introduced a feature called
-`references', and using references is the key to managing complicated,
+'references', and using references is the key to managing complicated,
 structured data in Perl.  Unfortunately, there's a lot of funny syntax
 to learn, and the main manual page can be hard to follow.  The manual
 is quite complete, and sometimes people find that a problem, because
@@ -18,9 +18,9 @@
 
 =head1 Who Needs Complicated Data Structures?
 
-One problem that came up all the time in Perl 4 was how to represent a
-hash whose values were lists.  Perl 4 had hashes, of course, but the
-values had to be scalars; they couldn't be lists.
+One problem that comes up all the time is needing a hash whose values are
+lists.  Perl has hashes, of course, but the values have to be scalars;
+they can't be lists.
 
 Why would you want a hash of lists?  Let's take a simple example: You
 have a file of city and country names, like this:
@@ -47,8 +47,7 @@
 the input, iterate over the hash as usual, sorting each list of cities
 before you print it out.
 
-If hash values can't be lists, you lose.  In Perl 4, hash values can't
-be lists; they can only be strings.  You lose.  You'd probably have to
+If hash values couldn't be lists, you lose.  You'd probably have to
 combine all the cities into a single string somehow, and then when
 time came to write the output, you'd have to break the string into a
 list, sort the list, and turn it back into a string.  This is messy
@@ -402,8 +401,8 @@
 to push C<Athens> onto an array that doesn't exist, so it helpfully
 makes a new, empty, anonymous array for you, installs it into
 C<%table>, and then pushes C<Athens> onto it.  This is called
-`autovivification'--bringing things to life automatically.  Perl saw
-that they key wasn't in the hash, so it created a new hash entry
+'autovivification'--bringing things to life automatically.  Perl saw
+that the key wasn't in the hash, so it created a new hash entry
 automatically. Perl saw that you wanted to use the hash value as an
 array, so it created a new empty array and installed a reference to it
 in the hash automatically.  And as usual, Perl made the array one


Property changes on: vendor/perl/dist/pod/perlreftut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlreguts.pod
===================================================================
--- vendor/perl/dist/pod/perlreguts.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlreguts.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -182,9 +182,9 @@
 additional 4-byte (32-bit) bitmap indicating which POSIX char classes
 have been included.
 
-    regnode_charclass_class  U32 arg1;
-                             char bitmap[ANYOF_BITMAP_SIZE];
-                             char classflags[ANYOF_CLASSBITMAP_SIZE];
+   regnode_charclass_class  U32 arg1;
+                            char bitmap[ANYOF_BITMAP_SIZE];
+                            char classflags[ANYOF_CLASSBITMAP_SIZE];
 
 =back
 
@@ -354,20 +354,23 @@
 
 The call graph looks like this:
 
-    reg()                        # parse a top level regex, or inside of parens
-        regbranch()              # parse a single branch of an alternation
-            regpiece()           # parse a pattern followed by a quantifier
-                regatom()        # parse a simple pattern
-                    regclass()   #   used to handle a class
-                    reg()        #   used to handle a parenthesised subpattern
-                    ....
-            ...
-            regtail()            # finish off the branch
-        ...
-        regtail()                # finish off the branch sequence. Tie each
-                                 # branch's tail to the tail of the sequence
-                                 # (NEW) In Debug mode this is
-                                 # regtail_study().
+ reg()                        # parse a top level regex, or inside of
+                              # parens
+     regbranch()              # parse a single branch of an alternation
+         regpiece()           # parse a pattern followed by a quantifier
+             regatom()        # parse a simple pattern
+                 regclass()   #   used to handle a class
+                 reg()        #   used to handle a parenthesised
+                              #   subpattern
+                 ....
+         ...
+         regtail()            # finish off the branch
+     ...
+     regtail()                # finish off the branch sequence. Tie each
+                              # branch's tail to the tail of the
+                              # sequence
+                              # (NEW) In Debug mode this is
+                              # regtail_study().
 
 A grammar form might be something like this:
 
@@ -383,6 +386,52 @@
     piece : _piece
           | _piece quant
 
+=head3 Parsing complications
+
+The implication of the above description is that a pattern containing nested
+parentheses will result in a call graph which cycles through C<reg()>,
+C<regbranch()>, C<regpiece()>, C<regatom()>, C<reg()>, C<regbranch()> I<etc>
+multiple times, until the deepest level of nesting is reached. All the above
+routines return a pointer to a C<regnode>, which is usually the last regnode
+added to the program. However, one complication is that reg() returns NULL
+for parsing C<(?:)> syntax for embedded modifiers, setting the flag
+C<TRYAGAIN>. The C<TRYAGAIN> propagates upwards until it is captured, in
+some cases by by C<regatom()>, but otherwise unconditionally by
+C<regbranch()>. Hence it will never be returned by C<regbranch()> to
+C<reg()>. This flag permits patterns such as C<(?i)+> to be detected as
+errors (I<Quantifier follows nothing in regex; marked by <-- HERE in m/(?i)+
+<-- HERE />).
+
+Another complication is that the representation used for the program differs
+if it needs to store Unicode, but it's not always possible to know for sure
+whether it does until midway through parsing. The Unicode representation for
+the program is larger, and cannot be matched as efficiently. (See L</Unicode
+and Localisation Support> below for more details as to why.)  If the pattern
+contains literal Unicode, it's obvious that the program needs to store
+Unicode. Otherwise, the parser optimistically assumes that the more
+efficient representation can be used, and starts sizing on this basis.
+However, if it then encounters something in the pattern which must be stored
+as Unicode, such as an C<\x{...}> escape sequence representing a character
+literal, then this means that all previously calculated sizes need to be
+redone, using values appropriate for the Unicode representation. Currently,
+all regular expression constructions which can trigger this are parsed by code
+in C<regatom()>.
+
+To avoid wasted work when a restart is needed, the sizing pass is abandoned
+- C<regatom()> immediately returns NULL, setting the flag C<RESTART_UTF8>.
+(This action is encapsulated using the macro C<REQUIRE_UTF8>.) This restart
+request is propagated up the call chain in a similar fashion, until it is
+"caught" in C<Perl_re_op_compile()>, which marks the pattern as containing
+Unicode, and restarts the sizing pass. It is also possible for constructions
+within run-time code blocks to turn out to need Unicode representation.,
+which is signalled by C<S_compile_runtime_code()> returning false to
+C<Perl_re_op_compile()>.
+
+The restart was previously implemented using a C<longjmp> in C<regatom()>
+back to a C<setjmp> in C<Perl_re_op_compile()>, but this proved to be
+problematic as the latter is a large function containing many automatic
+variables, which interact badly with the emergent control flow of C<setjmp>.
+
 =head3 Debug Output
 
 In the 5.9.x development version of perl you can C<< use re Debug => 'PARSE' >>
@@ -489,11 +538,11 @@
                                       atom
  >)$<             34              tail~ BRANCH (28)
                   36              tsdy~ BRANCH (END) (31)
-                                      ~ attach to CLOSE1 (34) offset to 3
+                                     ~ attach to CLOSE1 (34) offset to 3
                                   tsdy~ EXACT <foo> (EXACT) (29)
-                                      ~ attach to CLOSE1 (34) offset to 5
+                                     ~ attach to CLOSE1 (34) offset to 5
                                   tsdy~ EXACT <bar> (EXACT) (32)
-                                      ~ attach to CLOSE1 (34) offset to 2
+                                     ~ attach to CLOSE1 (34) offset to 2
  >$<                        tail~ BRANCH (3)
                                 ~ BRANCH (9)
                                 ~ TAIL (25)
@@ -765,7 +814,7 @@
 The other structure is pointed to be the C<regexp> struct's
 C<pprivate> and is in addition to C<intflags> in the same struct
 considered to be the property of the regex engine which compiled the
-regular expression; 
+regular expression;
 
 The regexp structure contains all the data that perl needs to be aware of
 to properly work with the regular expression. It includes data about
@@ -792,31 +841,24 @@
 regex engine. Since it is specific to perl it is only of curiosity
 value to other engine implementations.
 
-    typedef struct regexp_internal {
-            regexp_paren_ofs *swap; /* Swap copy of *startp / *endp */
-            U32 *offsets;           /* offset annotations 20001228 MJD 
-                                       data about mapping the program to the 
-                                       string*/
-            regnode *regstclass;    /* Optional startclass as identified or constructed
-                                       by the optimiser */
-            struct reg_data *data;  /* Additional miscellaneous data used by the program.
-                                       Used to make it easier to clone and free arbitrary
-                                       data that the regops need. Often the ARG field of
-                                       a regop is an index into this structure */
-            regnode program[1];     /* Unwarranted chumminess with compiler. */
-    } regexp_internal;
+ typedef struct regexp_internal {
+         U32 *offsets;           /* offset annotations 20001228 MJD
+                                  * data about mapping the program to
+                                  * the string*/
+         regnode *regstclass;    /* Optional startclass as identified or
+                                  * constructed by the optimiser */
+         struct reg_data *data;  /* Additional miscellaneous data used
+                                  * by the program.  Used to make it
+                                  * easier to clone and free arbitrary
+                                  * data that the regops need. Often the
+                                  * ARG field of a regop is an index
+                                  * into this structure */
+         regnode program[1];     /* Unwarranted chumminess with
+                                  * compiler. */
+ } regexp_internal;
 
 =over 5
 
-=item C<swap>
-
-C<swap> formerly was an extra set of startp/endp stored in a
-C<regexp_paren_ofs> struct. This was used when the last successful match
-was from the same pattern as the current pattern, so that a partial
-match didn't overwrite the previous match's results, but it caused a
-problem with re-entrant code such as trying to build the UTF-8 swashes.
-Currently unused and left for backward compatibility with 5.10.0.
-
 =item C<offsets>
 
 Offsets holds a mapping of offset in the C<program>


Property changes on: vendor/perl/dist/pod/perlreguts.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perlrepository.pod
===================================================================
--- vendor/perl/dist/pod/perlrepository.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlrepository.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlrepository.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlrequick.pod
===================================================================
--- vendor/perl/dist/pod/perlrequick.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlrequick.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -162,8 +162,9 @@
     /[a^]at/;  # matches 'aat' or '^at'; here '^' is ordinary
 
 Perl has several abbreviations for common character classes. (These
-definitions are those that Perl uses in ASCII mode with the C</a> modifier.
-See L<perlrecharclass/Backslash sequences> for details.)
+definitions are those that Perl uses in ASCII-safe mode with the C</a> modifier.
+Otherwise they could match many more non-ASCII Unicode characters as
+well.  See L<perlrecharclass/Backslash sequences> for details.)
 
 =over 4
 


Property changes on: vendor/perl/dist/pod/perlrequick.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlreref.pod
===================================================================
--- vendor/perl/dist/pod/perlreref.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlreref.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -107,6 +107,7 @@
    \u  Titlecase next character
    \L  Lowercase until \E
    \U  Uppercase until \E
+   \F  Foldcase until \E
    \Q  Disable pattern metacharacters until \E
    \E  End modification
 
@@ -135,7 +136,7 @@
    \S      A non-whitespace character
    \h      An horizontal whitespace
    \H      A non horizontal whitespace
-   \N      A non newline (when not followed by '{NAME}'; experimental;
+   \N      A non newline (when not followed by '{NAME}';;
            not valid in a character class; equivalent to [^\n]; it's
            like '.' without /s modifier)
    \v      A vertical whitespace
@@ -176,7 +177,7 @@
  space   PosixSpace       XPosixSpace            [\s\cK]
          PerlSpace        XPerlSpace    \s       Perl's whitespace def'n
  upper   PosixUpper       XPosixUpper            Uppercase characters
- word    PerlWord         XPosixWord    \w       Alnum + Unicode marks +
+ word    PosixWord        XPosixWord    \w       Alnum + Unicode marks +
                                                    connectors, like '_'
                                                    (Perl extension)
  xdigit  ASCII_Hex_Digit  XPosixDigit            Hexadecimal digit,
@@ -299,6 +300,7 @@
    lcfirst     Lowercase first char of a string
    uc          Uppercase a string
    ucfirst     Titlecase first char of a string
+   fc          Foldcase a string
 
    pos         Return or set current match position
    quotemeta   Quote metacharacters
@@ -307,8 +309,9 @@
 
    split       Use a regex to split a string into parts
 
-The first four of these are like the escape sequences C<\L>, C<\l>,
-C<\U>, and C<\u>.  For Titlecase, see L</Titlecase>.
+The first five of these are like the escape sequences C<\L>, C<\l>,
+C<\U>, C<\u>, and C<\F>.  For Titlecase, see L</Titlecase>; For
+Foldcase, see L</Foldcase>.
 
 =head2 TERMINOLOGY
 
@@ -317,6 +320,12 @@
 Unicode concept which most often is equal to uppercase, but for
 certain characters like the German "sharp s" there is a difference.
 
+=head3 Foldcase
+
+Unicode form that is useful when comparing strings regardless of case,
+as certain characters have compex one-to-many case mappings. Primarily a
+variant of lowercase.
+
 =head1 AUTHOR
 
 Iain Truskett. Updated by the Perl 5 Porters.


Property changes on: vendor/perl/dist/pod/perlreref.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlretut.pod
===================================================================
--- vendor/perl/dist/pod/perlretut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlretut.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -781,7 +781,7 @@
 =head2 Relative backreferences
 
 Counting the opening parentheses to get the correct number for a
-backreference is errorprone as soon as there is more than one
+backreference is error-prone as soon as there is more than one
 capturing group.  A more convenient technique became available
 with Perl 5.10: relative backreferences. To refer to the immediately
 preceding capture group one now may write C<\g{-1}>, the next but
@@ -869,7 +869,7 @@
 
 =head2 Position information
 
-In addition to what was matched, Perl (since 5.6.0) also provides the
+In addition to what was matched, Perl also provides the
 positions of what was matched as contents of the C<@-> and C<@+>
 arrays. C<$-[0]> is the position of the start of the entire match and
 C<$+[0]> is the position of the end. Similarly, C<$-[n]> is the
@@ -1537,7 +1537,7 @@
 
 =head3 Global matching
 
-The final two modifiers we will disccuss here,
+The final two modifiers we will discuss here,
 C<//g> and C<//c>, concern multiple matches.
 The modifier C<//g> stands for global matching and allows the
 matching operator to match within a string as many times as possible.
@@ -1583,9 +1583,9 @@
 we wanted just the words, we could use
 
     @words = ($x =~ /(\w+)/g);  # matches,
-                                # $word[0] = 'cat'
-                                # $word[1] = 'dog'
-                                # $word[2] = 'house'
+                                # $words[0] = 'cat'
+                                # $words[1] = 'dog'
+                                # $words[2] = 'house'
 
 Closely associated with the C<//g> modifier is the C<\G> anchor.  The
 C<\G> anchor matches at the point where the previous C<//g> match left
@@ -1654,7 +1654,7 @@
 desired.
 
 (There are other regexp modifiers that are available, such as
-C<//o>, C<//d>, and C<//l>, but their specialized uses are beyond the
+C<//o>, but their specialized uses are beyond the
 scope of this introduction.  )
 
 =head3 Search and replace
@@ -1870,12 +1870,12 @@
 
 C<\Q>, C<\L>, C<\l>, C<\U>, C<\u> and C<\E> are actually part of
 double-quotish syntax, and not part of regexp syntax proper.  They will
-work if they appear in a regular expression embeddded directly in a
+work if they appear in a regular expression embedded directly in a
 program, but not when contained in a string that is interpolated in a
 pattern.
 
-With the advent of 5.6.0, Perl regexps can handle more than just the
-standard ASCII character set.  Perl now supports I<Unicode>, a standard
+Perl regexps can handle more than just the
+standard ASCII character set.  Perl supports I<Unicode>, a standard
 for representing the alphabets from virtually all of the world's written
 languages, and a host of symbols.  Perl's text strings are Unicode strings, so
 they can contain characters with a value (codepoint or character number) higher
@@ -1907,32 +1907,32 @@
 represent or match the astrological sign for the planet Mercury, we
 could use
 
-    use charnames ":full"; # use named chars with Unicode full names
     $x = "abc\N{MERCURY}def";
     $x =~ /\N{MERCURY}/;   # matches
 
-One can also use short names or restrict names to a certain alphabet:
+One can also use "short" names:
 
-    use charnames ':full';
     print "\N{GREEK SMALL LETTER SIGMA} is called sigma.\n";
-
-    use charnames ":short";
     print "\N{greek:Sigma} is an upper-case sigma.\n";
 
+You can also restrict names to a certain alphabet by specifying the
+L<charnames> pragma:
+
     use charnames qw(greek);
     print "\N{sigma} is Greek sigma\n";
 
-A list of full names can be found in F<NamesList.txt> in the Unicode standard
-(available at L<http://www.unicode.org/Public/UNIDATA/>).
+An index of character names is available on-line from the Unicode
+Consortium, L<http://www.unicode.org/charts/charindex.html>; explanatory
+material with links to other resources at
+L<http://www.unicode.org/standard/where>.
 
-The answer to requirement 2), as of 5.6.0, is that a regexp (mostly)
-uses Unicode characters.  (For messy backward compatibility reasons,
-most but not all semantics of a match will assume Unicode, unless,
-starting in Perl 5.14, you tell it to use full Unicode.  You can do this
-explicitly by using the C<//u> modifier, or you can ask Perl to use the
-modifier implicitly for all regexes in a scope by using C<use 5.012> (or
-higher) or C<use feature 'unicode_strings'>.)  If you want to handle
-Unicode properly, you should ensure that one of these is the case.)
+The answer to requirement 2) is that a regexp (mostly)
+uses Unicode characters.  The "mostly" is for messy backward
+compatibility reasons, but starting in Perl 5.14, any regex compiled in
+the scope of a C<use feature 'unicode_strings'> (which is automatically
+turned on within the scope of a C<use 5.012> or higher) will turn that
+"mostly" into "always".  If you want to handle Unicode properly, you
+should ensure that C<'unicode_strings'> is turned on.
 Internally, this is encoded to bytes using either UTF-8 or a native 8
 bit encoding, depending on the history of the string, but conceptually
 it is a sequence of characters, not bytes. See L<perlunitut> for a
@@ -1944,7 +1944,6 @@
 character class, which is the negation of the C<\p{name}> class.  For
 example, to match lower and uppercase characters,
 
-    use charnames ":full"; # use named chars with Unicode full names
     $x = "BOB";
     $x =~ /^\p{IsUpper}/;   # matches, uppercase char class
     $x =~ /^\P{IsUpper}/;   # doesn't match, char class sans uppercase
@@ -2619,23 +2618,23 @@
 code expression, we don't need the extra parentheses around the
 conditional.
 
-If you try to use code expressions with interpolating variables, Perl
-may surprise you:
+If you try to use code expressions where the code text is contained within
+an interpolated variable, rather than appearing literally in the pattern,
+Perl may surprise you:
 
     $bar = 5;
     $pat = '(?{ 1 })';
     /foo(?{ $bar })bar/; # compiles ok, $bar not interpolated
-    /foo(?{ 1 })$bar/;   # compile error!
+    /foo(?{ 1 })$bar/;   # compiles ok, $bar interpolated
     /foo${pat}bar/;      # compile error!
 
     $pat = qr/(?{ $foo = 1 })/;  # precompile code regexp
     /foo${pat}bar/;      # compiles ok
 
-If a regexp has (1) code expressions and interpolating variables, or
-(2) a variable that interpolates a code expression, Perl treats the
-regexp as an error. If the code expression is precompiled into a
-variable, however, interpolating is ok. The question is, why is this
-an error?
+If a regexp has a variable that interpolates a code expression, Perl
+treats the regexp as an error. If the code expression is precompiled into
+a variable, however, interpolating is ok. The question is, why is this an
+error?
 
 The reason is that variable interpolation and code expressions
 together pose a security risk.  The combination is dangerous because
@@ -2658,7 +2657,6 @@
     use re 'eval';       # throw caution out the door
     $bar = 5;
     $pat = '(?{ 1 })';
-    /foo(?{ 1 })$bar/;   # compiles ok
     /foo${pat}bar/;      # compiles ok
 
 Another form of code expression is the I<pattern code expression>.
@@ -2699,8 +2697,9 @@
 
 Note that the variables C<$z0> and C<$z1> are not substituted when the
 regexp is compiled, as happens for ordinary variables outside a code
-expression.  Rather, the code expressions are evaluated when Perl
-encounters them during the search for a match.
+expression.  Rather, the whole code block is parsed as perl code at the
+same time as perl is compiling the code containing the literal regexp
+pattern.
 
 The regexp without the C<//x> modifier is
 
@@ -2732,7 +2731,7 @@
 combination with embedded code.
 
    %count = ();
-   "supercalifragilisticexpialidoceous" =~
+   "supercalifragilisticexpialidocious" =~
        /([aeiou])(?{ $count{$1}++; })(*FAIL)/i;
    printf "%3d '%s'\n", $count{$_}, $_ for (sort keys %count);
 
@@ -2745,7 +2744,7 @@
 regexp engine proceeds until the entire string has been inspected.
 (It's remarkable that an alternative solution using something like
 
-   $count{lc($_)}++ for split('', "supercalifragilisticexpialidoceous");
+   $count{lc($_)}++ for split('', "supercalifragilisticexpialidocious");
    printf "%3d '%s'\n", $count2{$_}, $_ for ( qw{ a e i o u } );
 
 is considerably slower.)
@@ -2776,7 +2775,8 @@
 
 The C<re '/flags'> pragma (introduced in Perl
 5.14) turns on the given regular expression flags
-until the end of the lexical scope.  See C<re/"'/flags' mode"> for more
+until the end of the lexical scope.  See
+L<re/"'E<sol>flags' mode"> for more
 detail.
 
     use re 'debug';
@@ -2792,7 +2792,7 @@
 termcap color sequences.  Here is example output:
 
     % perl -e 'use re "debug"; "abc" =~ /a*b+c/;'
-    Compiling REx `a*b+c'
+    Compiling REx 'a*b+c'
     size 9 first at 1
        1: STAR(4)
        2:   EXACT <a>(0)
@@ -2800,11 +2800,11 @@
        5:   EXACT <b>(0)
        7: EXACT <c>(9)
        9: END(0)
-    floating `bc' at 0..2147483647 (checking floating) minlen 2
-    Guessing start of match, REx `a*b+c' against `abc'...
-    Found floating substr `bc' at offset 1...
+    floating 'bc' at 0..2147483647 (checking floating) minlen 2
+    Guessing start of match, REx 'a*b+c' against 'abc'...
+    Found floating substr 'bc' at offset 1...
     Guessed: match at offset 0
-    Matching REx `a*b+c' against `abc'
+    Matching REx 'a*b+c' against 'abc'
       Setting an EVAL scope, savestack=3
        0 <> <abc>             |  1:  STAR
                                EXACT <a> can match 1 times out of 32767...
@@ -2815,13 +2815,13 @@
        2 <ab> <c>             |  7:      EXACT <c>
        3 <abc> <>             |  9:      END
     Match successful!
-    Freeing REx: `a*b+c'
+    Freeing REx: 'a*b+c'
 
 If you have gotten this far into the tutorial, you can probably guess
 what the different parts of the debugging output tell you.  The first
 part
 
-    Compiling REx `a*b+c'
+    Compiling REx 'a*b+c'
     size 9 first at 1
        1: STAR(4)
        2:   EXACT <a>(0)
@@ -2835,15 +2835,15 @@
 i.e., C<PLUS(7)>.  The middle lines describe some heuristics and
 optimizations performed before a match:
 
-    floating `bc' at 0..2147483647 (checking floating) minlen 2
-    Guessing start of match, REx `a*b+c' against `abc'...
-    Found floating substr `bc' at offset 1...
+    floating 'bc' at 0..2147483647 (checking floating) minlen 2
+    Guessing start of match, REx 'a*b+c' against 'abc'...
+    Found floating substr 'bc' at offset 1...
     Guessed: match at offset 0
 
 Then the match is executed and the remaining lines describe the
 process:
 
-    Matching REx `a*b+c' against `abc'
+    Matching REx 'a*b+c' against 'abc'
       Setting an EVAL scope, savestack=3
        0 <> <abc>             |  1:  STAR
                                EXACT <a> can match 1 times out of 32767...
@@ -2854,7 +2854,7 @@
        2 <ab> <c>             |  7:      EXACT <c>
        3 <abc> <>             |  9:      END
     Match successful!
-    Freeing REx: `a*b+c'
+    Freeing REx: 'a*b+c'
 
 Each step is of the form S<C<< n <x> <y> >>>, with C<< <x> >> the
 part of the string matched and C<< <y> >> the part not yet


Property changes on: vendor/perl/dist/pod/perlretut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlrun.pod
===================================================================
--- vendor/perl/dist/pod/perlrun.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlrun.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -90,14 +90,15 @@
 
 The examples above use a relative path to the perl interpreter,
 getting whatever version is first in the user's path.  If you want
-a specific version of Perl, say, perl5.005_57, you should place
+a specific version of Perl, say, perl5.14.1, you should place
 that directly in the C<#!> line's path.
 
-If the C<#!> line does not contain the word "perl", the program named after
-the C<#!> is executed instead of the Perl interpreter.  This is slightly
-bizarre, but it helps people on machines that don't do C<#!>, because they
-can tell a program that their SHELL is F</usr/bin/perl>, and Perl will then
-dispatch the program to the correct interpreter for them.
+If the C<#!> line does not contain the word "perl" nor the word "indir"
+the program named after the C<#!> is executed instead of the Perl
+interpreter.  This is slightly bizarre, but it helps people on machines
+that don't do C<#!>, because they can tell a program that their SHELL is
+F</usr/bin/perl>, and Perl will then dispatch the program to the correct
+interpreter for them.
 
 After locating your program, Perl compiles the entire program to an
 internal form.  If there are any compilation errors, execution of the
@@ -143,8 +144,8 @@
 
 Put
 
-    $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !
-    $ exit++ + ++$status != 0 and $exit = $status = undef;
+ $ perl -mysw 'f$env("procedure")' 'p1' 'p2' 'p3' 'p4' 'p5' 'p6' 'p7' 'p8' !
+ $ exit++ + ++$status != 0 and $exit = $status = undef;
 
 at the top of your program, where B<-mysw> are any command line switches you
 want to pass to Perl.  You can now invoke the program directly, by saying
@@ -160,7 +161,7 @@
 on quoting than Unix shells.  You'll need to learn the special
 characters in your command-interpreter (C<*>, C<\> and C<"> are
 common) and how to protect whitespace and these characters to run
-one-liners (see B<-e> below).
+one-liners (see L<-e|/-e commandline> below).
 
 On some systems, you may have to change single-quotes to double ones,
 which you must I<not> do on Unix or Plan 9 systems.  You might also
@@ -204,12 +205,12 @@
 will stand in for whatever method works on your system.  You are
 advised to use a specific path if you care about a specific version.
 
-    #!/usr/local/bin/perl5.00554
+    #!/usr/local/bin/perl5.14
 
 or if you just want to be running at least version, place a statement
 like this at the top of your program:
 
-    use 5.005_54;
+    use 5.014;
 
 =head2 Command Switches
 X<perl, command switches> X<command switches>
@@ -282,13 +283,13 @@
     D    24   i + o
     A    32   the @ARGV elements are expected to be strings encoded
               in UTF-8
-    L    64   normally the "IOEioA" are unconditional,
-              the L makes them conditional on the locale environment
-              variables (the LC_ALL, LC_TYPE, and LANG, in the order
-              of decreasing precedence) -- if the variables indicate
+    L    64   normally the "IOEioA" are unconditional, the L makes
+              them conditional on the locale environment variables
+              (the LC_ALL, LC_TYPE, and LANG, in the order of
+              decreasing precedence) -- if the variables indicate
               UTF-8, then the selected "IOEioA" are in effect
-    a   256   Set ${^UTF8CACHE} to -1, to run the UTF-8 caching code in
-              debugging mode.
+    a   256   Set ${^UTF8CACHE} to -1, to run the UTF-8 caching
+              code in debugging mode.
 
 =for documenting_the_underdocumented
 perl.h gives W/128 as PERL_UNICODE_WIDESYSCALLS "/* for Sarathy */"
@@ -314,6 +315,7 @@
 the default C<open()> layer are UTF-8-fied I<but> only if the locale
 environment variables indicate a UTF-8 locale.  This behaviour follows
 the I<implicit> (and problematic) UTF-8 behaviour of Perl 5.8.0.
+(See L<perl581delta/UTF-8 no longer default under UTF-8 locales>.)
 
 You can use B<-C0> (or C<"0"> for C<PERL_UNICODE>) to explicitly
 disable all the above Unicode features.
@@ -393,19 +395,25 @@
       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)
+     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
+   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
+  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
+ 33554432  B  dump suBroutine definitions, including special Blocks
+              like BEGIN
 
 All these flags require B<-DDEBUGGING> when you compile the Perl
 executable (but see C<:opd> in L<Devel::Peek> or L<re/'debug' mode>
@@ -498,8 +506,10 @@
 modify the name of the old file to make a backup copy, following these
 rules:
 
-If no extension is supplied, no backup is made and the current file is
-overwritten.
+If no extension is supplied, and your system supports it, the original
+I<file> is kept open without a name while the output is redirected to
+a new file with the original I<filename>.  When perl exits, cleanly or not,
+the original I<file> is unlinked.
 
 If the extension doesn't contain a C<*>, then it is appended to the
 end of the current filename as a suffix.  If the extension does
@@ -512,20 +522,22 @@
 This allows you to add a prefix to the backup file, instead of (or in
 addition to) a suffix:
 
-    $ perl -pi'orig_*' -e 's/bar/baz/' fileA	# backup to 'orig_fileA'
+ $ perl -pi'orig_*' -e 's/bar/baz/' fileA  # backup to
+                                           # 'orig_fileA'
 
 Or even to place backup copies of the original files into another
 directory (provided the directory already exists):
 
-    $ perl -pi'old/*.orig' -e 's/bar/baz/' fileA # backup to 'old/fileA.orig'
+ $ perl -pi'old/*.orig' -e 's/bar/baz/' fileA  # backup to
+                                               # 'old/fileA.orig'
 
 These sets of one-liners are equivalent:
 
-    $ perl -pi -e 's/bar/baz/' fileA		# overwrite current file
-    $ perl -pi'*' -e 's/bar/baz/' fileA		# overwrite current file
+ $ perl -pi -e 's/bar/baz/' fileA          # overwrite current file
+ $ perl -pi'*' -e 's/bar/baz/' fileA       # overwrite current file
 
-    $ perl -pi'.orig' -e 's/bar/baz/' fileA	# backup to 'fileA.orig'
-    $ perl -pi'*.orig' -e 's/bar/baz/' fileA	# backup to 'fileA.orig'
+ $ perl -pi'.orig' -e 's/bar/baz/' fileA   # backup to 'fileA.orig'
+ $ perl -pi'*.orig' -e 's/bar/baz/' fileA  # backup to 'fileA.orig'
 
 From the shell, saying
 
@@ -669,7 +681,7 @@
 	...		# your program goes here
     }
 
-Note that the lines are not printed by default.  See B<-p> to have
+Note that the lines are not printed by default.  See L</-p> to have
 lines printed.  If a file named by an argument cannot be opened for
 some reason, Perl warns you about it and moves on to the next file.
 
@@ -967,9 +979,13 @@
 
 A list of directories in which to look for Perl library
 files before looking in the standard library and the current
-directory.  Any architecture-specific directories under the specified
-locations are automatically included if they exist, with this lookup
-done at interpreter startup time.
+directory.  Any architecture-specific and version-specific directories,
+such as F<version/archname/>, F<version/>, or F<archname/> under the
+specified locations are automatically included if they exist, with this
+lookup done at interpreter startup time.  In addition, any directories
+matching the entries in C<$Config{inc_version_list}> are added.
+(These typically would be for older compatible perl versions installed
+in the same directory tree.)
 
 If PERL5LIB is not defined, PERLLIB is used.  Directories are separated
 (like in PATH) by a colon on Unixish platforms and by a semicolon on
@@ -990,7 +1006,7 @@
 switches are allowed.  When running taint checks (either because the
 program was running setuid or setgid, or because the B<-T> or B<-t>
 switch was used), this variable is ignored.  If PERL5OPT begins with
-B<- T>, tainting will be enabled and subsequent options ignored.  If
+B<-T>, tainting will be enabled and subsequent options ignored.  If
 PERL5OPT begins with B<-t>, tainting will be enabled, a writable dot
 removed from @INC, and subsequent options honored.
 
@@ -1002,7 +1018,7 @@
 
 It is conventional to start layer names with a colon (for example, C<:perlio>) to
 emphasize their similarity to variable "attributes". But the code that parses
-layer specification strings,  which is also used to decode the PERLIO
+layer specification strings, which is also used to decode the PERLIO
 environment variable, treats the colon as a separator.
 
 An unset or empty PERLIO is equivalent to the default set of layers for
@@ -1011,7 +1027,7 @@
 
 The list becomes the default for I<all> Perl's IO. Consequently only built-in
 layers can appear in this list, as external layers (such as C<:encoding()>) need
-IO in  order to load them!. See L<"open pragma"|open> for how to add external
+IO in order to load them!  See L<"open pragma"|open> for how to add external
 encodings as defaults.
 
 Layers it makes sense to include in the PERLIO environment
@@ -1124,7 +1140,7 @@
 X<PERLIO_DEBUG>
 
 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
+subsystem will be logged to that file, which is opened in append mode.
 Typical uses are in Unix:
 
    % env PERLIO_DEBUG=/dev/tty perl script ...
@@ -1235,46 +1251,71 @@
 =item PERL_HASH_SEED
 X<PERL_HASH_SEED>
 
-(Since Perl 5.8.1.)  Used to randomize Perl's internal hash function.
-To emulate the pre-5.8.1 behaviour, set to an integer; C<"0"> means
-exactly the same order as in 5.8.0.  "Pre-5.8.1" means, among other
-things, that hash keys will always have the same ordering between
-different runs of Perl.
+(Since Perl 5.8.1, new semantics in Perl 5.18.0)  Used to override
+the randomization of Perl's internal hash function. The value is expressed
+in hexadecimal, and may include a leading 0x. Truncated patterns
+are treated as though they are suffixed with sufficient 0's as required.
 
-Most hashes by default return elements in the same order as in Perl 5.8.0.
-On a hash by hash basis, if pathological data is detected during a hash
-key insertion, then that hash will switch to an alternative random hash
-seed.
+If the option is provided, and C<PERL_PERTURB_KEYS> is NOT set, then
+a value of '0' implies C<PERL_PERTURB_KEYS=0> and any other value
+implies C<PERL_PERTURB_KEYS=2>.
 
-The default behaviour is to randomize unless the PERL_HASH_SEED is set.
-If Perl has been compiled with B<-DUSE_HASH_SEED_EXPLICIT>, the default
-behaviour is I<not> to randomize unless the PERL_HASH_SEED is set.
-
-If PERL_HASH_SEED is unset or set to a non-numeric string, Perl uses
-the pseudorandom seed supplied by the operating system and libraries.
-
 B<PLEASE NOTE: The hash seed is sensitive information>. Hashes are
 randomized to protect against local and remote attacks against Perl
 code. By manually setting a seed, this protection may be partially or
 completely lost.
 
-See L<perlsec/"Algorithmic Complexity Attacks"> and
+See L<perlsec/"Algorithmic Complexity Attacks"> and L</PERL_PERTURB_KEYS>
 L</PERL_HASH_SEED_DEBUG> for more information.
 
+=item PERL_PERTURB_KEYS
+X<PERL_PERTURB_KEYS>
+
+(Since Perl 5.18.0)  Set to C<"0"> or C<"NO"> then traversing keys
+will be repeatable from run to run for the same PERL_HASH_SEED.
+Insertion into a hash will not change the order, except to provide
+for more space in the hash. When combined with setting PERL_HASH_SEED
+this mode is as close to pre 5.18 behavior as you can get.
+
+When set to C<"1"> or C<"RANDOM"> then traversing keys will be randomized.
+Every time a hash is inserted into the key order will change in a random
+fashion. The order may not be repeatable in a following program run
+even if the PERL_HASH_SEED has been specified. This is the default
+mode for perl.
+
+When set to C<"2"> or C<"DETERMINISTIC"> then inserting keys into a hash
+will cause the key order to change, but in a way that is repeatable
+from program run to program run.
+
+B<NOTE:> Use of this option is considered insecure, and is intended only
+for debugging non-deterministic behavior in Perl's hash function. Do
+not use it in production.
+
+See L<perlsec/"Algorithmic Complexity Attacks"> and L</PERL_HASH_SEED>
+and L</PERL_HASH_SEED_DEBUG> for more information. You can get and set the
+key traversal mask for a specific hash by using the C<hash_traversal_mask()>
+function from L<Hash::Util>.
+
 =item PERL_HASH_SEED_DEBUG
 X<PERL_HASH_SEED_DEBUG>
 
-(Since Perl 5.8.1.)  Set to C<"1"> to display (to STDERR) the value of
-the hash seed at the beginning of execution.  This, combined with
-L</PERL_HASH_SEED> is intended to aid in debugging nondeterministic
-behaviour caused by hash randomization.
+(Since Perl 5.8.1.)  Set to C<"1"> to display (to STDERR) information
+about the hash function, seed, and what type of key traversal
+randomization is in effect at the beginning of execution.  This, combined
+with L</PERL_HASH_SEED> and L</PERL_PERTURB_KEYS> is intended to aid in
+debugging nondeterministic behaviour caused by hash randomization.
 
-B<Note that the hash seed is sensitive information>: by knowing it, one
-can craft a denial-of-service attack against Perl code, even remotely;
-see L<perlsec/"Algorithmic Complexity Attacks"> for more information.
-B<Do not disclose the hash seed> to people who don't need to know it.
-See also hash_seed() in L<Hash::Util>.
+B<Note> that any information about the hash function, especially the hash
+seed is B<sensitive information>: by knowing it, one can craft a denial-of-service
+attack against Perl code, even remotely; see L<perlsec/"Algorithmic Complexity Attacks">
+for more information. B<Do not disclose the hash seed> to people who
+don't need to know it. See also C<hash_seed()> and
+C<key_traversal_mask()> in L<Hash::Util>.
 
+An example output might be:
+
+    HASH_FUNCTION = ONE_AT_A_TIME_HARD HASH_SEED = 0x652e9b9349a7a032 PERTURB_KEYS = 1 (RANDOM)
+
 =item PERL_MEM_LOG
 X<PERL_MEM_LOG>
 


Property changes on: vendor/perl/dist/pod/perlrun.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlsec.pod
===================================================================
--- vendor/perl/dist/pod/perlsec.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlsec.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -93,7 +93,7 @@
 For example:
 
     $arg = shift;		# $arg is tainted
-    $hid = $arg, 'bar';		# $hid is also tainted
+    $hid = $arg . 'bar';	# $hid is also tainted
     $line = <>;			# Tainted
     $line = <STDIN>;		# Also tainted
     open FOO, "/home/me/bar" or die $!;
@@ -134,10 +134,8 @@
     @files = <*.c>;		# insecure (uses readdir() or similar)
     @files = glob('*.c');	# insecure (uses readdir() or similar)
 
-    # In Perl releases older than 5.6.0 the <*.c> and glob('*.c') would
-    # have used an external program to do the filename expansion; but in
-    # either case the result is tainted since the list of filenames comes
-    # from outside of the program.
+    # In either case, the results of glob are tainted, since the list of
+    # filenames comes from outside of the program.
 
     $bad = ($arg, 23);		# $bad will be tainted
     $arg, `true`;		# Insecure (although it isn't really)
@@ -170,6 +168,7 @@
 Or you may be able to use the following C<is_tainted()> function.
 
     sub is_tainted {
+        local $@;   # Don't pollute caller's value.
         return ! eval { eval("#" . substr(join("", @_), 0, 0)); 1 };
     }
 
@@ -455,41 +454,84 @@
 
 =item *
 
-Hash Function - the algorithm used to "order" hash elements has been
-changed several times during the development of Perl, mainly to be
-reasonably fast.  In Perl 5.8.1 also the security aspect was taken
-into account.
+Hash Algorithm - Hash algorithms like the one used in Perl are well
+known to be vulnerable to collision attacks on their hash function.
+Such attacks involve constructing a set of keys which collide into
+the same bucket producing inefficient behavior. Such attacks often
+depend on discovering the seed of the hash function used to map the
+keys to buckets. That seed is then used to brute-force a key set which
+can be used to mount a denial of service attack. In Perl 5.8.1 changes
+were introduced to harden Perl to such attacks, and then later in
+Perl 5.18.0 these features were enhanced and additional protections
+added.
 
-In Perls before 5.8.1 one could rather easily generate data that as
-hash keys would cause Perl to consume large amounts of time because
-internal structure of hashes would badly degenerate.  In Perl 5.8.1
-the hash function is randomly perturbed by a pseudorandom seed which
-makes generating such naughty hash keys harder.
-See L<perlrun/PERL_HASH_SEED> for more information.
+At the time of this writing, Perl 5.18.0 is considered to be
+well-hardened against algorithmic complexity attacks on its hash
+implementation. This is largely owed to the following measures
+mitigate attacks:
 
-In Perl 5.8.1 the random perturbation was done by default, but as of
-5.8.2 it is only used on individual hashes if the internals detect the
-insertion of pathological data. If one wants for some reason emulate the
-old behaviour (and expose oneself to DoS attacks) one can set the
-environment variable PERL_HASH_SEED to zero to disable the protection
-(or any other integer to force a known perturbation, rather than random). 
-One possible reason for wanting to emulate the old behaviour is that in the
-new behaviour consecutive runs of Perl will order hash keys differently,
-which may confuse some applications (like Data::Dumper: the outputs of two
-different runs are no longer identical).
+=over 4
 
-B<Perl has never guaranteed any ordering of the hash keys>, and the
-ordering has already changed several times during the lifetime of
-Perl 5.  Also, the ordering of hash keys has always been, and
-continues to be, affected by the insertion order.
+=item Hash Seed Randomization
 
+In order to make it impossible to know what seed to generate an attack
+key set for, this seed is randomly initialized at process start. This
+may be overridden by using the PERL_HASH_SEED environment variable, see
+L<perlrun/PERL_HASH_SEED>. This environment variable controls how
+items are actually stored, not how they are presented via
+C<keys>, C<values> and C<each>.
+
+=item Hash Traversal Randomization
+
+Independent of which seed is used in the hash function, C<keys>,
+C<values>, and C<each> return items in a per-hash randomized order.
+Modifying a hash by insertion will change the iteration order of that hash.
+This behavior can be overridden by using C<hash_traversal_mask()> from
+L<Hash::Util> or by using the PERL_PERTURB_KEYS environment variable,
+see L<perlrun/PERL_PERTURB_KEYS>. Note that this feature controls the
+"visible" order of the keys, and not the actual order they are stored in.
+
+=item Bucket Order Perturbance
+
+When items collide into a given hash bucket the order they are stored in
+the chain is no longer predictable in Perl 5.18. This has the intention
+to make it harder to observe a collisions. This behavior can be overridden by using
+the PERL_PERTURB_KEYS environment variable, see L<perlrun/PERL_PERTURB_KEYS>.
+
+=item New Default Hash Function
+
+The default hash function has been modified with the intention of making
+it harder to infer the hash seed.
+
+=item Alternative Hash Functions
+
+The source code includes multiple hash algorithms to choose from.  While we
+believe that the default perl hash is robust to attack, we have included the
+hash function Siphash as a fall-back option. At the time of release of
+Perl 5.18.0 Siphash is believed to be of cryptographic strength.  This is
+not the default as it is much slower than the default hash.
+
+=back
+
+Without compiling a special Perl, there is no way to get the exact same
+behavior of any versions prior to Perl 5.18.0. The closest one can get
+is by setting PERL_PERTURB_KEYS to 0 and setting the PERL_HASH_SEED
+to a known value. We do not advise those settings for production use
+due to the above security considerations.
+
+B<Perl has never guaranteed any ordering of the hash keys>, and
+the ordering has already changed several times during the lifetime of
+Perl 5.  Also, the ordering of hash keys has always been, and continues
+to be, affected by the insertion order and the history of changes made
+to the hash over its lifetime.
+
 Also note that while the order of the hash elements might be
-randomised, this "pseudoordering" should B<not> be used for
-applications like shuffling a list randomly (use List::Util::shuffle()
+randomized, this "pseudo-ordering" should B<not> be used for
+applications like shuffling a list randomly (use C<List::Util::shuffle()>
 for that, see L<List::Util>, a standard core module since Perl 5.8.0;
-or the CPAN module Algorithm::Numerical::Shuffle), or for generating
-permutations (use e.g. the CPAN modules Algorithm::Permute or
-Algorithm::FastPermute), or for any cryptographic applications.
+or the CPAN module C<Algorithm::Numerical::Shuffle>), or for generating
+permutations (use e.g. the CPAN modules C<Algorithm::Permute> or
+C<Algorithm::FastPermute>), or for any cryptographic applications.
 
 =item *
 


Property changes on: vendor/perl/dist/pod/perlsec.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlsource.pod
===================================================================
--- vendor/perl/dist/pod/perlsource.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlsource.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,18 +10,21 @@
 
 =head1 DESCRIPTION
 
-This document describes the layout of the Perl source tree. If you're hacking
-on the Perl core, this will help you find what you're looking for.
+This document describes the layout of the Perl source tree. If you're
+hacking on the Perl core, this will help you find what you're looking
+for.
 
 =head1 FINDING YOUR WAY AROUND
 
-The Perl source tree is big. Here's some of the thing you'll find in it:
+The Perl source tree is big. Here's some of the thing you'll find in
+it:
 
 =head2 C code
 
-The C source code and header files mostly live in the root of the source
-tree. There are a few platform-specific directories which contain C code. In
-addition, some of the modules shipped with Perl include C or XS code.
+The C source code and header files mostly live in the root of the
+source tree. There are a few platform-specific directories which
+contain C code. In addition, some of the modules shipped with Perl
+include C or XS code.
 
 See L<perlinterp> for more details on the files that make up the Perl
 interpreter, as well as details on how it works.
@@ -28,57 +31,58 @@
 
 =head2 Core modules
 
-Modules shipped as part of the Perl core live in four subdirectories. Two of
-these directories contain modules that live in the core, and two contain
-modules that can also be released separately on CPAN. Modules which can be
-released on cpan are known as "dual-life" modules.
+Modules shipped as part of the Perl core live in four subdirectories.
+Two of these directories contain modules that live in the core, and two
+contain modules that can also be released separately on CPAN. Modules
+which can be released on cpan are known as "dual-life" modules.
 
 =over 4
 
 =item * F<lib/>
 
-This directory contains pure-Perl modules which are only released as part of
-the core. This directory contains I<all> of the modules and their tests,
-unlike other core modules.
+This directory contains pure-Perl modules which are only released as
+part of the core. This directory contains I<all> of the modules and
+their tests, unlike other core modules.
 
 =item * F<ext/>
 
-This directory contains XS-using modules which are only released as part of
-the core. These modules generally have their F<Makefile.PL> and are laid out
-more like a typical CPAN module.
+This directory contains XS-using modules which are only released as
+part of the core. These modules generally have their F<Makefile.PL> and
+are laid out more like a typical CPAN module.
 
 =item * F<dist/>
 
 This directory is for dual-life modules where the blead source is
-canonical. Note that some modules in this directory may not yet have been
-released separately on CPAN.
+canonical. Note that some modules in this directory may not yet have
+been released separately on CPAN.
 
 =item * F<cpan/>
 
 This directory contains dual-life modules where the CPAN module is
-canonical. Do not patch these modules directly! Changes to these modules
-should be submitted to the maintainer of the CPAN module. Once those changes
-are applied and released, the new version of the module will be incorporated
-into the core.
+canonical. Do not patch these modules directly! Changes to these
+modules should be submitted to the maintainer of the CPAN module. Once
+those changes are applied and released, the new version of the module
+will be incorporated into the core.
 
 =back
 
-For some dual-life modules, it has not yet been determined if the CPAN version
-or the blead source is canonical. Until that is done, those modules should be
-in F<cpan/>.
+For some dual-life modules, it has not yet been determined if the CPAN
+version or the blead source is canonical. Until that is done, those
+modules should be in F<cpan/>.
 
 =head2 Tests
 
 The Perl core has an extensive test suite. If you add new tests (or new
-modules with tests), you may need to update the F<t/TEST> file so that the
-tests are run.
+modules with tests), you may need to update the F<t/TEST> file so that
+the tests are run.
 
 =over 4
 
 =item * Module tests
 
-Tests for core modules in the F<lib/> directory are right next to the module
-itself. For example, we have F<lib/strict.pm> and F<lib/strict.t>.
+Tests for core modules in the F<lib/> directory are right next to the
+module itself. For example, we have F<lib/strict.pm> and
+F<lib/strict.t>.
 
 Tests for modules in F<ext/> and the dual-life modules are in F<t/>
 subdirectories for each module, like a standard CPAN distribution.
@@ -85,14 +89,15 @@
 
 =item * F<t/base/>
 
-Tests for the absolute basic functionality of Perl. This includes C<if>, basic
-file reads and writes, simple regexes, etc. These are run first in the test
-suite and if any of them fail, something is I<really> broken.
+Tests for the absolute basic functionality of Perl. This includes
+C<if>, basic file reads and writes, simple regexes, etc. These are run
+first in the test suite and if any of them fail, something is I<really>
+broken.
 
 =item * F<t/cmd/>
 
-Tests for basic control structures, C<if/else>, C<while>,
-subroutines, etc.
+Tests for basic control structures, C<if/else>, C<while>, subroutines,
+etc.
 
 =item * F<t/comp/>
 
@@ -111,6 +116,13 @@
 Tests for perl's built in functions that don't fit into any of the
 other directories.
 
+=item * F<t/opbasic/>
+
+Tests for perl's built in functions which, like those in F<t/op/>, do not fit
+into any of the other directories, but which, in addition, cannot use
+F<t/test.pl>,as that program depends on functionality which the
+test file itself is testing.
+
 =item * F<t/re/>
 
 Tests for regex related functions or behaviour. (These used to live in
@@ -131,9 +143,9 @@
 
 =item * F<t/porting/>
 
-Tests the state of the source tree for various common errors. For example, it
-tests that everyone who is listed in the git log has a corresponding entry in
-the F<AUTHORS> file.
+Tests the state of the source tree for various common errors. For
+example, it tests that everyone who is listed in the git log has a
+corresponding entry in the F<AUTHORS> file.
 
 =item * F<t/lib/>
 
@@ -149,15 +161,15 @@
 
 =head2 Documentation
 
-All of the core documentation intended for end users lives in
-F<pod/>. Individual modules in F<lib/>, F<ext/>, F<dist/>, and F<cpan/>
-usually have their own documentation, either in the F<Module.pm> file or an
+All of the core documentation intended for end users lives in F<pod/>.
+Individual modules in F<lib/>, F<ext/>, F<dist/>, and F<cpan/> usually
+have their own documentation, either in the F<Module.pm> file or an
 accompanying F<Module.pod> file.
 
 Finally, documentation intended for core Perl developers lives in the
 F<Porting/> directory.
 
-=head2 Hacking toolks and documentation
+=head2 Hacking tools and documentation
 
 The F<Porting> directory contains a grab bag of code and documentation
 intended to help porters work on Perl. Some of the highlights include:
@@ -166,18 +178,19 @@
 
 =item * F<check*>
 
-These are scripts which will check the source things like ANSI C violations,
-POD encoding issues, etc.
+These are scripts which will check the source things like ANSI C
+violations, POD encoding issues, etc.
 
 =item * F<Maintainers>, F<Maintainers.pl>, and F<Maintainers.pm>
 
-These files contain information on who maintains which modules. Run C<perl
-Porting/Maintainers -M Module::Name> to find out more information about a
-dual-life module.
+These files contain information on who maintains which modules. Run
+C<perl Porting/Maintainers -M Module::Name> to find out more
+information about a dual-life module.
 
 =item * F<podtidy>
 
-Tidies a pod file. It's a good idea to run this on a pod file you've patched.
+Tidies a pod file. It's a good idea to run this on a pod file you've
+patched.
 
 =back
 
@@ -186,8 +199,8 @@
 The Perl build system starts with the F<Configure> script in the root
 directory.
 
-Platform-specific pieces of the build system also live in platform-specific
-directories like F<win32/>, F<vms/>, etc.
+Platform-specific pieces of the build system also live in
+platform-specific directories like F<win32/>, F<vms/>, etc.
 
 The F<Configure> script is ultimately responsible for generating a
 F<Makefile>.
@@ -195,21 +208,22 @@
 The build system that Perl uses is called metaconfig. This system is
 maintained separately from the Perl core.
 
-The metaconfig system has its own git repository. Please see its README file
-in L<http://perl5.git.perl.org/metaconfig.git/> for more details.
+The metaconfig system has its own git repository. Please see its README
+file in L<http://perl5.git.perl.org/metaconfig.git/> for more details.
 
-The F<Cross> directory contains various files related to cross-compiling
-Perl. See F<Cross/README> for more details.
+The F<Cross> directory contains various files related to
+cross-compiling Perl. See F<Cross/README> for more details.
 
 =head2 F<AUTHORS>
 
-This file everyone who's contributed to Perl. If you submit a patch, you
-should add your name to this file as part of the patch.
+This file lists everyone who's contributed to Perl. If you submit a
+patch, you should add your name to this file as part of the patch.
 
 =head2 F<MANIFEST>
 
-The F<MANIFEST> file in the root of the source tree contains a list of every
-file in the Perl core, as well as a brief description of each file.
+The F<MANIFEST> file in the root of the source tree contains a list of
+every file in the Perl core, as well as a brief description of each
+file.
 
 You can get an overview of all the files with this command:
 


Property changes on: vendor/perl/dist/pod/perlsource.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perlstyle.pod
===================================================================
--- vendor/perl/dist/pod/perlstyle.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlstyle.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlstyle.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlsub.pod
===================================================================
--- vendor/perl/dist/pod/perlsub.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlsub.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -217,9 +217,24 @@
 Not only does the C<&> form make the argument list optional, it also
 disables any prototype checking on arguments you do provide.  This
 is partly for historical reasons, and partly for having a convenient way
-to cheat if you know what you're doing.  See L<Prototypes> below.
+to cheat if you know what you're doing.  See L</Prototypes> below.
 X<&>
 
+Since Perl 5.16.0, the C<__SUB__> token is available under C<use feature
+'current_sub'> and C<use 5.16.0>.  It will evaluate to a reference to the
+currently-running sub, which allows for recursive calls without knowing
+your subroutine's name.
+
+    use 5.16.0;
+    my $factorial = sub {
+      my ($x) = @_;
+      return 1 if $x == 1;
+      return($x * __SUB__->( $x - 1 ) );
+    };
+
+The behaviour of C<__SUB__> within a regex code block (such as C</(?{...})/>)
+is subject to change.
+
 Subroutines whose names are in all upper case are reserved to the Perl
 core, as are modules whose names are in all lower case.  A subroutine in
 all capitals is a loosely-held convention meaning it will be called
@@ -439,11 +454,21 @@
 
 =head3 Persistent variables via state()
 
-Beginning with perl 5.9.4, you can declare variables with the C<state>
-keyword in place of C<my>. For that to work, though, you must have
+Beginning with Perl 5.10.0, you can declare variables with the C<state>
+keyword in place of C<my>.  For that to work, though, you must have
 enabled that feature beforehand, either by using the C<feature> pragma, or
-by using C<-E> on one-liners. (see L<feature>)
+by using C<-E> on one-liners (see L<feature>).  Beginning with Perl 5.16,
+the C<CORE::state> form does not require the
+C<feature> pragma.
 
+The C<state> keyword creates a lexical variable (following the same scoping
+rules as C<my>) that persists from one subroutine call to the next.  If a
+state variable resides inside an anonymous subroutine, then each copy of
+the subroutine has its own copy of the state variable.  However, the value
+of the state variable will still persist between calls to the same copy of
+the anonymous subroutine.  (Don't forget that C<sub { ... }> creates a new
+subroutine each time it is executed.)
+
 For example, the following code maintains a private counter, incremented
 each time the gimme_another() function is called:
 
@@ -450,6 +475,13 @@
     use feature 'state';
     sub gimme_another { state $x; return ++$x }
 
+And this example uses anonymous subroutines to create separate counters:
+
+    use feature 'state';
+    sub create_counter {
+	return sub { state $x; return ++$x }
+    }
+
 Also, since C<$x> is lexical, it can't be reached or modified by any Perl
 code outside.
 
@@ -554,7 +586,7 @@
 a local variable.  This is known as dynamic scoping.  Lexical scoping
 is done with C<my>, which works more like C's auto declarations.
 
-Some types of lvalues can be localized as well : hash and array elements
+Some types of lvalues can be localized as well: hash and array elements
 and slices, conditionals (provided that their result is always
 localizable), and symbolic references.  As for simple variables, this
 creates new, dynamically scoped values.
@@ -602,7 +634,7 @@
     { local $/ = undef; $slurp = <FILE>; }
 
 Note, however, that this restricts localization of some values ; for
-example, the following statement dies, as of perl 5.9.0, with an error
+example, the following statement dies, as of perl 5.10.0, with an error
 I<Modification of a read-only value attempted>, because the $1 variable is
 magical and read-only :
 
@@ -740,8 +772,7 @@
 
     my $val;
     sub canmod : lvalue {
-	# return $val; this doesn't work, don't say "return"
-	$val;
+	$val;  # or:  return $val;
     }
     sub nomod {
 	$val;
@@ -770,14 +801,9 @@
 
 =item Lvalue subroutines are EXPERIMENTAL
 
-They appear to be convenient, but there are several reasons to be
+They appear to be convenient, but there is at least one reason to be
 circumspect.
 
-You can't use the return keyword, you must pass out the value before
-falling out of subroutine scope. (see comment in example above).  This
-is usually not a problem, but it disallows an explicit return out of a
-deeply nested loop, which is sometimes a nice way out.
-
 They violate encapsulation.  A normal mutator can check the supplied
 argument before setting the attribute it is protecting, an lvalue
 subroutine never gets that chance.  Consider;
@@ -799,6 +825,107 @@
 
 =back
 
+=head2 Lexical Subroutines
+X<my sub> X<state sub> X<our sub> X<subroutine, lexical>
+
+B<WARNING>: Lexical subroutines are still experimental.  The feature may be
+modified or removed in future versions of Perl.
+
+Lexical subroutines are only available under the C<use feature
+'lexical_subs'> pragma, which produces a warning unless the
+"experimental::lexical_subs" warnings category is disabled.
+
+Beginning with Perl 5.18, you can declare a private subroutine with C<my>
+or C<state>.  As with state variables, the C<state> keyword is only
+available under C<use feature 'state'> or C<use 5.010> or higher.
+
+These subroutines are only visible within the block in which they are
+declared, and only after that declaration:
+
+    no warnings "experimental::lexical_subs";
+    use feature 'lexical_subs';
+
+    foo();		# calls the package/global subroutine
+    state sub foo {
+	foo();		# also calls the package subroutine
+    }
+    foo();		# calls "state" sub
+    my $ref = \&foo;	# take a reference to "state" sub
+
+    my sub bar { ... }
+    bar();		# calls "my" sub
+
+To use a lexical subroutine from inside the subroutine itself, you must
+predeclare it.  The C<sub foo {...}> subroutine definition syntax respects
+any previous C<my sub;> or C<state sub;> declaration.
+
+    my sub baz;		# predeclaration
+    sub baz {		# define the "my" sub
+	baz();		# recursive call
+    }
+
+=head3 C<state sub> vs C<my sub>
+
+What is the difference between "state" subs and "my" subs?  Each time that
+execution enters a block when "my" subs are declared, a new copy of each
+sub is created.  "State" subroutines persist from one execution of the
+containing block to the next.
+
+So, in general, "state" subroutines are faster.  But "my" subs are
+necessary if you want to create closures:
+
+    no warnings "experimental::lexical_subs";
+    use feature 'lexical_subs';
+
+    sub whatever {
+	my $x = shift;
+	my sub inner {
+	    ... do something with $x ...
+	}
+	inner();
+    }
+
+In this example, a new C<$x> is created when C<whatever> is called, and
+also a new C<inner>, which can see the new C<$x>.  A "state" sub will only
+see the C<$x> from the first call to C<whatever>.
+
+=head3 C<our> subroutines
+
+Like C<our $variable>, C<our sub> creates a lexical alias to the package
+subroutine of the same name.
+
+The two main uses for this are to switch back to using the package sub
+inside an inner scope:
+
+    no warnings "experimental::lexical_subs";
+    use feature 'lexical_subs';
+
+    sub foo { ... }
+
+    sub bar {
+	my sub foo { ... }
+	{
+	    # need to use the outer foo here
+	    our sub foo;
+	    foo();
+	}
+    }
+
+and to make a subroutine visible to other packages in the same scope:
+
+    package MySneakyModule;
+
+    no warnings "experimental::lexical_subs";
+    use feature 'lexical_subs';
+
+    our sub do_something { ... }
+
+    sub do_something_with_caller {
+	package DB;
+	() = caller 1;		# sets @DB::args
+	do_something(@args);	# uses MySneakyModule::do_something
+    }
+
 =head2 Passing Symbol Table Entries (typeglobs)
 X<typeglob> X<*>
 
@@ -893,7 +1020,7 @@
 a local alias.
 
     {
-        local *grow = \&shrink; # only until this block exists
+        local *grow = \&shrink; # only until this block exits
         grow();                 # really calls shrink()
 	move();			# if move() grow()s, it shrink()s too
     }
@@ -915,8 +1042,7 @@
     } 
     # interruptibility automatically restored here
 
-But it also works on lexically declared aggregates.  Prior to 5.005,
-this operation could on occasion misbehave.
+But it also works on lexically declared aggregates.
 
 =back
 
@@ -1081,8 +1207,8 @@
 
 Any backslashed prototype character represents an actual argument
 that must start with that character (optionally preceded by C<my>,
-C<our> or C<local>), with the exception of C<$>, which will accept a
-hash or array element even without a dollar sign, such as
+C<our> or C<local>), with the exception of C<$>, which will
+accept any scalar lvalue expression, such as C<$foo = 7> or
 C<< my_function()->[0] >>. The value passed as part of C<@_> will be a
 reference to the actual argument given in the subroutine call,
 obtained by applying C<\> to that argument.
@@ -1140,9 +1266,9 @@
 A semicolon (C<;>) separates mandatory arguments from optional arguments.
 It is redundant before C<@> or C<%>, which gobble up everything else.
 
-As the last character of a prototype, or just before a semicolon, you can
-use C<_> in place of C<$>: if this argument is not provided, C<$_> will be
-used instead.
+As the last character of a prototype, or just before a semicolon, a C<@>
+or a C<%>, you can use C<_> in place of C<$>: if this argument is not
+provided, C<$_> will be used instead.
 
 Note how the last three examples in the table above are treated
 specially by the parser.  C<mygrep()> is parsed as a true list
@@ -1153,8 +1279,12 @@
     mytime +2;
 
 you'll get C<mytime() + 2>, not C<mytime(2)>, which is how it would be parsed
-without a prototype.
+without a prototype.  If you want to force a unary function to have the
+same precedence as a list operator, add C<;> to the end of the prototype:
 
+    sub mygetprotobynumber($;);
+    mygetprotobynumber $a > $b; # parsed as mygetprotobynumber($a > $b)
+
 The interesting thing about C<&> is that you can generate new syntax with it,
 provided it's in the initial position:
 X<&>
@@ -1278,9 +1408,10 @@
     }
 
 If you redefine a subroutine that was eligible for inlining, you'll get
-a mandatory warning.  (You can use this warning to tell whether or not a
+a warning by default.  (You can use this warning to tell whether or not a
 particular subroutine is considered constant.)  The warning is
-considered severe enough not to be optional because previously compiled
+considered severe enough not to be affected by the B<-w>
+switch (or its absence) because previously compiled
 invocations of the function will still be using the old value of the
 function.  If you need to be able to redefine the subroutine, you need to
 ensure that it isn't inlined, either by dropping the C<()> prototype
@@ -1313,8 +1444,10 @@
 saying C<CORE::open()> always refers to the built-in C<open()>, even
 if the current package has imported some other subroutine called
 C<&open()> from elsewhere.  Even though it looks like a regular
-function call, it isn't: you can't take a reference to it, such as
-the incorrect C<\&CORE::open> might appear to produce.
+function call, it isn't: the CORE:: prefix in that case is part of Perl's
+syntax, and works for any keyword, regardless of what is in the CORE
+package.  Taking a reference to it, that is, C<\&CORE::open>, only works
+for some keywords.  See L<CORE>.
 
 Library modules should not in general export built-in names like C<open>
 or C<chdir> as part of their default C<@EXPORT> list, because these may
@@ -1430,9 +1563,8 @@
 is not passed as an ordinary argument because, er, well, just
 because, that's why.  (As an exception, a method call to a nonexistent
 C<import> or C<unimport> method is just skipped instead.  Also, if
-the AUTOLOAD subroutine is an XSUB, C<$AUTOLOAD> is not populated;
-instead, you should call L<< C<SvPVX>E<sol>C<SvCUR>|perlapi >> on the
-C<CV> for C<AUTOLOAD> to retrieve the method name.)
+the AUTOLOAD subroutine is an XSUB, there are other ways to retrieve the
+subroutine name.  See L<perlguts/Autoloading with XSUBs> for details.)
 
 
 Many C<AUTOLOAD> routines load in a definition for the requested
@@ -1461,7 +1593,7 @@
     who "am", "i";
     ls '-l';
 
-A more complete example of this is the standard Shell module, which
+A more complete example of this is the Shell module on CPAN, which
 can treat undefined subroutine calls as calls to external programs.
 
 Mechanisms are available to help modules writers split their modules
@@ -1518,4 +1650,4 @@
 See L<perlembed> if you'd like to learn about calling Perl subroutines from C.  
 See L<perlmod> to learn about bundling up your functions in separate files.
 See L<perlmodlib> to learn what library modules come standard on your system.
-See L<perltoot> to learn how to make object method calls.
+See L<perlootut> to learn how to make object method calls.


Property changes on: vendor/perl/dist/pod/perlsub.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlsyn.pod
===================================================================
--- vendor/perl/dist/pod/perlsyn.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlsyn.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,12 +6,13 @@
 =head1 DESCRIPTION
 
 A Perl program consists of a sequence of declarations and statements
-which run from the top to the bottom.  Loops, subroutines and other
+which run from the top to the bottom.  Loops, subroutines, and other
 control structures allow you to jump around within the code.
 
-Perl is a B<free-form> language, you can format and indent it however
-you like.  Whitespace mostly serves to separate tokens, unlike
-languages like Python where it is an important part of the syntax.
+Perl is a B<free-form> language: you can format and indent it however
+you like.  Whitespace serves mostly to separate tokens, unlike
+languages like Python where it is an important part of the syntax,
+or Fortran where it is immaterial.
 
 Many of Perl's syntactic elements are B<optional>.  Rather than
 requiring you to put parentheses around every function call and
@@ -31,7 +32,7 @@
 X<declaration> X<undef> X<undefined> X<uninitialized>
 
 The only things you need to declare in Perl are report formats and
-subroutines (and sometimes not even subroutines).  A variable holds
+subroutines (and sometimes not even subroutines).  A scalar variable holds
 the undefined value (C<undef>) until it has been assigned a defined
 value, which is anything other than C<undef>.  When used as a number,
 C<undef> is treated as C<0>; when used as a string, it is treated as
@@ -41,24 +42,23 @@
 C<undef> as a string or a number.  Well, usually.  Boolean contexts,
 such as:
 
-    my $a;
     if ($a) {}
 
 are exempt from warnings (because they care about truth rather than
 definedness).  Operators such as C<++>, C<-->, C<+=>,
-C<-=>, and C<.=>, that operate on undefined left values such as:
+C<-=>, and C<.=>, that operate on undefined variables such as:
 
-    my $a;
+    undef $a;
     $a++;
 
 are also always exempt from such warnings.
 
 A declaration can be put anywhere a statement can, but has no effect on
-the execution of the primary sequence of statements--declarations all
-take effect at compile time.  Typically all the declarations are put at
+the execution of the primary sequence of statements: declarations all
+take effect at compile time.  All declarations are typically put at
 the beginning or the end of the script.  However, if you're using
-lexically-scoped private variables created with C<my()>, you'll
-have to make sure
+lexically-scoped private variables created with C<my()>,
+C<state()>, or C<our()>, you'll have to make sure
 your format or subroutine definition is within the same block scope
 as the my if you expect to be able to access those private variables.
 
@@ -70,12 +70,22 @@
     sub myname;
     $me = myname $0 		or die "can't get myname";
 
-Note that myname() functions as a list operator, not as a unary operator;
-so be careful to use C<or> instead of C<||> in this case.  However, if
-you were to declare the subroutine as C<sub myname ($)>, then
-C<myname> would function as a unary operator, so either C<or> or
-C<||> would work.
+A bare declaration like that declares the function to be a list operator,
+not a unary operator, so you have to be careful to use parentheses (or
+C<or> instead of C<||>.)  The C<||> operator binds too tightly to use after
+list operators; it becomes part of the last element.  You can always use
+parentheses around the list operators arguments to turn the list operator
+back into something that behaves more like a function call.  Alternatively,
+you can use the prototype C<($)> to turn the subroutine into a unary
+operator:
 
+  sub myname ($);
+  $me = myname $0             || die "can't get myname";
+
+That now parses as you'd expect, but you still ought to get in the habit of
+using parentheses in that situation.  For more on prototypes, see
+L<perlsub>
+
 Subroutines declarations can also be loaded up with the C<require> statement
 or both loaded and imported into your namespace with a C<use> statement.
 See L<perlmod> for details on this.
@@ -97,23 +107,24 @@
 X<statement> X<semicolon> X<expression> X<;>
 
 The only kind of simple statement is an expression evaluated for its
-side effects.  Every simple statement must be terminated with a
+side-effects.  Every simple statement must be terminated with a
 semicolon, unless it is the final statement in a block, in which case
-the semicolon is optional.  (A semicolon is still encouraged if the
+the semicolon is optional.  But put the semicolon in anyway if the
 block takes up more than one line, because you may eventually add
-another line.)  Note that there are some operators like C<eval {}> and
-C<do {}> that look like compound statements, but aren't (they're just
-TERMs in an expression), and thus need an explicit termination if used
+another line.  Note that there are operators like C<eval {}>, C<sub {}>, and
+C<do {}> that I<look> like compound statements, but aren't--they're just
+TERMs in an expression--and thus need an explicit termination when used
 as the last item in a statement.
 
 =head2 Truth and Falsehood
 X<truth> X<falsehood> X<true> X<false> X<!> X<not> X<negation> X<0>
 
-The number 0, the strings C<'0'> and C<''>, the empty list C<()>, and
-C<undef> are all false in a boolean context. All other values are true.
+The number 0, the strings C<'0'> and C<"">, the empty list C<()>, and
+C<undef> are all false in a boolean context.  All other values are true.
 Negation of a true value by C<!> or C<not> returns a special false value.
-When evaluated as a string it is treated as C<''>, but as a number, it
-is treated as 0.
+When evaluated as a string it is treated as C<"">, but as a number, it
+is treated as 0.  Most Perl operators
+that return true or false behave this way.
 
 =head2 Statement Modifiers
 X<statement modifier> X<modifier> X<if> X<unless> X<while>
@@ -127,9 +138,9 @@
     unless EXPR
     while EXPR
     until EXPR
-    when EXPR
     for LIST
     foreach LIST
+    when EXPR
 
 The C<EXPR> following the modifier is referred to as the "condition".
 Its truth or falsehood determines how the modifier will behave.
@@ -136,31 +147,15 @@
 
 C<if> executes the statement once I<if> and only if the condition is
 true.  C<unless> is the opposite, it executes the statement I<unless>
-the condition is true (i.e., if the condition is false).
+the condition is true (that is, if the condition is false).
 
     print "Basset hounds got long ears" if length $ear >= 10;
     go_outside() and play() unless $is_raining;
 
-C<when> executes the statement I<when> C<$_> smart matches C<EXPR>, and
-then either C<break>s out if it's enclosed in a C<given> scope or skips
-to the C<next> element when it lies directly inside a C<for> loop.
-See also L</"Switch statements">.
-
-    given ($something) {
-        $abc    = 1 when /^abc/;
-        $just_a = 1 when /^a/;
-        $other  = 1;
-    }
-
-    for (@names) {
-	admin($_)   when [ qw/Alice Bob/ ];
-	regular($_) when [ qw/Chris David Ellen/ ];
-    }
-
-The C<foreach> modifier is an iterator: it executes the statement once
+The C<for(each)> modifier is an iterator: it executes the statement once
 for each item in the LIST (with C<$_> aliased to each item in turn).
 
-    print "Hello $_!\n" foreach qw(world Dolly nurse);
+    print "Hello $_!\n" for qw(world Dolly nurse);
 
 C<while> repeats the statement I<while> the condition is true.
 C<until> does the opposite, it repeats the statement I<until> the
@@ -172,14 +167,16 @@
 
 The C<while> and C<until> modifiers have the usual "C<while> loop"
 semantics (conditional evaluated first), except when applied to a
-C<do>-BLOCK (or to the deprecated C<do>-SUBROUTINE statement), in
+C<do>-BLOCK (or to the Perl4 C<do>-SUBROUTINE statement), in
 which case the block executes once before the conditional is
-evaluated.  This is so that you can write loops like:
+evaluated.
 
+This is so that you can write loops like:
+
     do {
 	$line = <STDIN>;
 	...
-    } until $line  eq ".\n";
+    } until !defined($line) || $line eq ".\n"
 
 See L<perlfunc/do>.  Note also that the loop control statements described
 later will I<NOT> work in this construct, because modifiers don't take
@@ -203,8 +200,9 @@
 	    } while $x++ <= $z;
     }
 
-B<NOTE:> The behaviour of a C<my> statement modified with a statement
-modifier conditional or loop construct (e.g. C<my $x if ...>) is
+B<NOTE:> The behaviour of a C<my>, C<state>, or
+C<our> modified with a statement modifier conditional
+or loop construct (for example, C<my $x if ...>) is
 B<undefined>.  The value of the C<my> variable may be C<undef>, any
 previously assigned value, or possibly anything else.  Don't rely on
 it.  Future versions of perl might do something different from the
@@ -211,9 +209,22 @@
 version of perl you try it out on.  Here be dragons.
 X<my>
 
+The C<when> modifier is an experimental feature that first appeared in Perl
+5.14.  To use it, you should include a C<use v5.14> declaration.
+(Technically, it requires only the C<switch> feature, but that aspect of it
+was not available before 5.14.)  Operative only from within a C<foreach>
+loop or a C<given> block, it executes the statement only if the smartmatch
+C<< $_ ~~ I<EXPR> >> is true.  If the statement executes, it is followed by
+a C<next> from inside a C<foreach> and C<break> from inside a C<given>.
+
+Under the current implementation, the C<foreach> loop can be
+anywhere within the C<when> modifier's dynamic scope, but must be
+within the C<given> block's lexical scope.  This restricted may
+be relaxed in a future release.  See L<"Switch Statements"> below.
+
 =head2 Compound Statements
 X<statement, compound> X<block> X<bracket, curly> X<curly bracket> X<brace>
-X<{> X<}> X<if> X<unless> X<while> X<until> X<foreach> X<for> X<continue>
+X<{> X<}> X<if> X<unless> X<given> X<while> X<until> X<foreach> X<for> X<continue>
 
 In Perl, a sequence of statements that defines a scope is called a block.
 Sometimes a block is delimited by the file containing it (in the case
@@ -227,36 +238,55 @@
 
     if (EXPR) BLOCK
     if (EXPR) BLOCK else BLOCK
+    if (EXPR) BLOCK elsif (EXPR) BLOCK ...
     if (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
+
     unless (EXPR) BLOCK
     unless (EXPR) BLOCK else BLOCK
+    unless (EXPR) BLOCK elsif (EXPR) BLOCK ...
     unless (EXPR) BLOCK elsif (EXPR) BLOCK ... else BLOCK
+
+    given (EXPR) BLOCK
+
     LABEL while (EXPR) BLOCK
     LABEL while (EXPR) BLOCK continue BLOCK
+
     LABEL until (EXPR) BLOCK
     LABEL until (EXPR) BLOCK continue BLOCK
+
     LABEL for (EXPR; EXPR; EXPR) BLOCK
+    LABEL for VAR (LIST) BLOCK
+    LABEL for VAR (LIST) BLOCK continue BLOCK
+
+    LABEL foreach (EXPR; EXPR; EXPR) BLOCK
     LABEL foreach VAR (LIST) BLOCK
     LABEL foreach VAR (LIST) BLOCK continue BLOCK
+
+    LABEL BLOCK
     LABEL BLOCK continue BLOCK
 
-Note that, unlike C and Pascal, these are defined in terms of BLOCKs,
+    PHASE BLOCK
+
+The experimental C<given> statement is I<not automatically enabled>; see 
+L</"Switch Statements"> below for how to do so, and the attendant caveats.
+
+Unlike in C and Pascal, in Perl these are all defined in terms of BLOCKs,
 not statements.  This means that the curly brackets are I<required>--no
 dangling statements allowed.  If you want to write conditionals without
-curly brackets there are several other ways to do it.  The following
+curly brackets, there are several other ways to do it.  The following
 all do the same thing:
 
-    if (!open(FOO)) { die "Can't open $FOO: $!"; }
+    if (!open(FOO)) { die "Can't open $FOO: $!" }
     die "Can't open $FOO: $!" unless open(FOO);
-    open(FOO) or die "Can't open $FOO: $!";	# FOO or bust!
-    open(FOO) ? 'hi mom' : die "Can't open $FOO: $!";
+    open(FOO)  || die "Can't open $FOO: $!";
+    open(FOO) ? () : die "Can't open $FOO: $!";
 			# a bit exotic, that last one
 
 The C<if> statement is straightforward.  Because BLOCKs are always
 bounded by curly brackets, there is never any ambiguity about which
 C<if> an C<else> goes with.  If you use C<unless> in place of C<if>,
-the sense of the test is reversed. Like C<if>, C<unless> can be followed
-by C<else>. C<unless> can even be followed by one or more C<elsif>
+the sense of the test is reversed.  Like C<if>, C<unless> can be followed
+by C<else>.  C<unless> can even be followed by one or more C<elsif>
 statements, though you may want to think twice before using that particular
 language construct, as everyone reading your code will have to think at least
 twice before they can understand what's going on.
@@ -279,8 +309,12 @@
 increment a loop variable, even when the loop has been continued via
 the C<next> statement.
 
+When a block is preceding by a compilation phase keyword such as C<BEGIN>,
+C<END>, C<INIT>, C<CHECK>, or C<UNITCHECK>, then the block will run only
+during the corresponding phase of execution.  See L<perlmod> for more details.
+
 Extension modules can also hook into the Perl parser to define new
-kinds of compound statement.  These are introduced by a keyword which
+kinds of compound statements.  These are introduced by a keyword which
 the extension recognizes, and the syntax following the keyword is
 defined entirely by the extension.  If you are an implementor, see
 L<perlapi/PL_keyword_plugin> for the mechanism.  If you are using such
@@ -323,7 +357,7 @@
 	# now process $_
     }
 
-which is Perl short-hand for the more explicitly written version:
+which is Perl shorthand for the more explicitly written version:
 
     LINE: while (defined($line = <ARGV>)) {
 	chomp($line);
@@ -336,7 +370,7 @@
 
 Note that if there were a C<continue> block on the above code, it would
 get executed only on lines discarded by the regex (since redo skips the
-continue block). A continue block is often used to reset line counters
+continue block).  A continue block is often used to reset line counters
 or C<m?pat?> one-time matches:
 
     # inspired by :1,$g/fred/s//WILMA/
@@ -354,12 +388,13 @@
 test is reversed, but the conditional is still tested before the first
 iteration.
 
-The loop control statements don't work in an C<if> or C<unless>, since
+Loop control statements don't work in an C<if> or C<unless>, since
 they aren't loops.  You can double the braces to make them such, though.
 
     if (/pattern/) {{
 	last if /fred/;
-	next if /barney/; # same effect as "last", but doesn't document as well
+	next if /barney/; # same effect as "last",
+			  # but doesn't document as well
 	# do something here
     }}
 
@@ -431,9 +466,7 @@
 X<my> X<local>
 
 The C<foreach> keyword is actually a synonym for the C<for> keyword, so
-you can use C<foreach> for readability or C<for> for brevity.  (Or because
-the Bourne shell is more familiar to you than I<csh>, so writing C<for>
-comes more naturally.)  If VAR is omitted, C<$_> is set to each value.
+you can use either.  If VAR is omitted, C<$_> is set to each value.
 X<$_>
 
 If any element of LIST is an lvalue, you can modify it by modifying
@@ -459,8 +492,9 @@
 	$elem *= 2;
     }
 
-    for $count (10,9,8,7,6,5,4,3,2,1,'BOOM') {
-	print $count, "\n"; sleep(1);
+    for $count (reverse(1..10), "BOOM") {
+	print $count, "\n";
+	sleep(1);
     }
 
     for (1..15) { print "Merry Christmas\n"; }
@@ -518,34 +552,349 @@
 	$nothing = 1;
     }
 
-Such constructs are quite frequently used, because older versions
-of Perl had no official C<switch> statement.
+You'll also find that C<foreach> loop used to create a topicalizer
+and a switch:
 
-=head2 Switch statements
+    SWITCH:
+    for ($var) {
+	if (/^abc/) { $abc = 1; last SWITCH; }
+	if (/^def/) { $def = 1; last SWITCH; }
+	if (/^xyz/) { $xyz = 1; last SWITCH; }
+	$nothing = 1;
+    }
+
+Such constructs are quite frequently used, both because older versions of
+Perl had no official C<switch> statement, and also because the new version
+described immediately below remains experimental and can sometimes be confusing.
+
+=head2 Switch Statements
+
 X<switch> X<case> X<given> X<when> X<default>
 
-Starting from Perl 5.10, you can say
+Starting from Perl 5.10.1 (well, 5.10.0, but it didn't work
+right), you can say
 
     use feature "switch";
 
-which enables a switch feature that is closely based on the
-Perl 6 proposal.
+to enable an experimental switch feature.  This is loosely based on an
+old version of a Perl 6 proposal, but it no longer resembles the Perl 6
+construct.   You also get the switch feature whenever you declare that your
+code prefers to run under a version of Perl that is 5.10 or later.  For
+example:
 
-The keywords C<given> and C<when> are analogous
-to C<switch> and C<case> in other languages, so the code
-above could be written as
+    use v5.14;
 
-    given($_) {
-	when (/^abc/) { $abc = 1; }
-	when (/^def/) { $def = 1; }
-	when (/^xyz/) { $xyz = 1; }
-	default { $nothing = 1; }
+Under the "switch" feature, Perl gains the experimental keywords
+C<given>, C<when>, C<default>, C<continue>, and C<break>.
+Starting from Perl 5.16, one can prefix the switch
+keywords with C<CORE::> to access the feature without a C<use feature>
+statement.  The keywords C<given> and
+C<when> are analogous to C<switch> and
+C<case> in other languages, so the code in the previous section could be
+rewritten as
+
+    use v5.10.1;
+    for ($var) {
+	when (/^abc/) { $abc = 1 }
+	when (/^def/) { $def = 1 }
+	when (/^xyz/) { $xyz = 1 }
+	default       { $nothing = 1 }
     }
 
-This construct is very flexible and powerful. For example:
+The C<foreach> is the non-experimental way to set a topicalizer.
+If you wish to use the highly experimental C<given>, that could be
+written like this:
 
+    use v5.10.1;
+    given ($var) {
+	when (/^abc/) { $abc = 1 }
+	when (/^def/) { $def = 1 }
+	when (/^xyz/) { $xyz = 1 }
+	default       { $nothing = 1 }
+    }
+
+As of 5.14, that can also be written this way:
+
+    use v5.14;
+    for ($var) {
+	$abc = 1 when /^abc/;
+	$def = 1 when /^def/;
+	$xyz = 1 when /^xyz/;
+	default { $nothing = 1 }
+    }
+
+Or if you don't care to play it safe, like this:
+
+    use v5.14;
+    given ($var) {
+	$abc = 1 when /^abc/;
+	$def = 1 when /^def/;
+	$xyz = 1 when /^xyz/;
+	default { $nothing = 1 }
+    }
+
+The arguments to C<given> and C<when> are in scalar context,
+and C<given> assigns the C<$_> variable its topic value.
+
+Exactly what the I<EXPR> argument to C<when> does is hard to describe
+precisely, but in general, it tries to guess what you want done.  Sometimes
+it is interpreted as C<< $_ ~~ I<EXPR> >>, and sometimes it is not.  It
+also behaves differently when lexically enclosed by a C<given> block than
+it does when dynamically enclosed by a C<foreach> loop.  The rules are far
+too difficult to understand to be described here.  See L</"Experimental Details
+on given and when"> later on.
+
+Due to an unfortunate bug in how C<given> was implemented between Perl 5.10
+and 5.16, under those implementations the version of C<$_> governed by
+C<given> is merely a lexically scoped copy of the original, not a
+dynamically scoped alias to the original, as it would be if it were a
+C<foreach> or under both the original and the current Perl 6 language
+specification.  This bug was fixed in Perl
+5.18.  If you really want a lexical C<$_>,
+specify that explicitly, but note that C<my $_>
+is now deprecated and will warn unless warnings
+have been disabled:
+
+    given(my $_ = EXPR) { ... }
+
+If your code still needs to run on older versions,
+stick to C<foreach> for your topicalizer and
+you will be less unhappy.
+
+=head2 Goto
+X<goto>
+
+Although not for the faint of heart, Perl does support a C<goto>
+statement.  There are three forms: C<goto>-LABEL, C<goto>-EXPR, and
+C<goto>-&NAME.  A loop's LABEL is not actually a valid target for
+a C<goto>; it's just the name of the loop.
+
+The C<goto>-LABEL form finds the statement labeled with LABEL and resumes
+execution there.  It may not be used to go into any construct that
+requires initialization, such as a subroutine or a C<foreach> loop.  It
+also can't be used to go into a construct that is optimized away.  It
+can be used to go almost anywhere else within the dynamic scope,
+including out of subroutines, but it's usually better to use some other
+construct such as C<last> or C<die>.  The author of Perl has never felt the
+need to use this form of C<goto> (in Perl, that is--C is another matter).
+
+The C<goto>-EXPR form expects a label name, whose scope will be resolved
+dynamically.  This allows for computed C<goto>s per FORTRAN, but isn't
+necessarily recommended if you're optimizing for maintainability:
+
+    goto(("FOO", "BAR", "GLARCH")[$i]);
+
+The C<goto>-&NAME form is highly magical, and substitutes a call to the
+named subroutine for the currently running subroutine.  This is used by
+C<AUTOLOAD()> subroutines that wish to load another subroutine and then
+pretend that the other subroutine had been called in the first place
+(except that any modifications to C<@_> in the current subroutine are
+propagated to the other subroutine.)  After the C<goto>, not even C<caller()>
+will be able to tell that this routine was called first.
+
+In almost all cases like this, it's usually a far, far better idea to use the
+structured control flow mechanisms of C<next>, C<last>, or C<redo> instead of
+resorting to a C<goto>.  For certain applications, the catch and throw pair of
+C<eval{}> and die() for exception processing can also be a prudent approach.
+
+=head2 The Ellipsis Statement
+X<...>
+X<... statement>
+X<ellipsis operator>
+X<elliptical statement>
+X<unimplemented statement>
+X<unimplemented operator>
+X<yada-yada>
+X<yada-yada operator>
+X<... operator>
+X<whatever operator>
+X<triple-dot operator>
+
+Beginning in Perl 5.12, Perl accepts an ellipsis, "C<...>", as a
+placeholder for code that you haven't implemented yet.  This form of
+ellipsis, the unimplemented statement, should not be confused with the
+binary flip-flop C<...> operator.  One is a statement and the other an
+operator.  (Perl doesn't usually confuse them because usually Perl can tell
+whether it wants an operator or a statement, but see below for exceptions.)
+
+When Perl 5.12 or later encounters an ellipsis statement, it parses this
+without error, but if and when you should actually try to execute it, Perl
+throws an exception with the text C<Unimplemented>:
+
+    use v5.12;
+    sub unimplemented { ... }
+    eval { unimplemented() };
+    if ($@ =~ /^Unimplemented at /) {
+	say "I found an ellipsis!";
+    }
+
+You can only use the elliptical statement to stand in for a
+complete statement.  These examples of how the ellipsis works:
+
+    use v5.12;
+    { ... }
+    sub foo { ... }
+    ...;
+    eval { ... };
+    sub somemeth {
+	my $self = shift;
+	...;
+    }
+    $x = do {
+	my $n;
+	...;
+	say "Hurrah!";
+	$n;
+    };
+
+The elliptical statement cannot stand in for an expression that
+is part of a larger statement, since the C<...> is also the three-dot
+version of the flip-flop operator (see L<perlop/"Range Operators">).
+
+These examples of attempts to use an ellipsis are syntax errors:
+
+    use v5.12;
+
+    print ...;
+    open(my $fh, ">", "/dev/passwd") or ...;
+    if ($condition && ... ) { say "Howdy" };
+
+There are some cases where Perl can't immediately tell the difference
+between an expression and a statement.  For instance, the syntax for a
+block and an anonymous hash reference constructor look the same unless
+there's something in the braces to give Perl a hint.  The ellipsis is a
+syntax error if Perl doesn't guess that the C<{ ... }> is a block.  In that
+case, it doesn't think the C<...> is an ellipsis because it's expecting an
+expression instead of a statement:
+
+    @transformed = map { ... } @input;  # syntax error
+
+You can use a C<;> inside your block to denote that the C<{ ...  }> is a
+block and not a hash reference constructor.  Now the ellipsis works:
+
+    @transformed = map {; ... } @input; # ; disambiguates
+
+    @transformed = map { ...; } @input; # ; disambiguates
+
+Note: Some folks colloquially refer to this bit of punctuation as a
+"yada-yada" or "triple-dot", but its true name
+is actually an ellipsis.  Perl does not yet
+accept the Unicode version, U+2026 HORIZONTAL ELLIPSIS, as an alias for
+C<...>, but someday it may.
+
+=head2 PODs: Embedded Documentation
+X<POD> X<documentation>
+
+Perl has a mechanism for intermixing documentation with source code.
+While it's expecting the beginning of a new statement, if the compiler
+encounters a line that begins with an equal sign and a word, like this
+
+    =head1 Here There Be Pods!
+
+Then that text and all remaining text up through and including a line
+beginning with C<=cut> will be ignored.  The format of the intervening
+text is described in L<perlpod>.
+
+This allows you to intermix your source code
+and your documentation text freely, as in
+
+    =item snazzle($)
+
+    The snazzle() function will behave in the most spectacular
+    form that you can possibly imagine, not even excepting
+    cybernetic pyrotechnics.
+
+    =cut back to the compiler, nuff of this pod stuff!
+
+    sub snazzle($) {
+	my $thingie = shift;
+	.........
+    }
+
+Note that pod translators should look at only paragraphs beginning
+with a pod directive (it makes parsing easier), whereas the compiler
+actually knows to look for pod escapes even in the middle of a
+paragraph.  This means that the following secret stuff will be
+ignored by both the compiler and the translators.
+
+    $a=3;
+    =secret stuff
+     warn "Neither POD nor CODE!?"
+    =cut back
+    print "got $a\n";
+
+You probably shouldn't rely upon the C<warn()> being podded out forever.
+Not all pod translators are well-behaved in this regard, and perhaps
+the compiler will become pickier.
+
+One may also use pod directives to quickly comment out a section
+of code.
+
+=head2 Plain Old Comments (Not!)
+X<comment> X<line> X<#> X<preprocessor> X<eval>
+
+Perl can process line directives, much like the C preprocessor.  Using
+this, one can control Perl's idea of filenames and line numbers in
+error or warning messages (especially for strings that are processed
+with C<eval()>).  The syntax for this mechanism is almost the same as for
+most C preprocessors: it matches the regular expression
+
+    # example: '# line 42 "new_filename.plx"'
+    /^\#   \s*
+      line \s+ (\d+)   \s*
+      (?:\s("?)([^"]+)\g2)? \s*
+     $/x
+
+with C<$1> being the line number for the next line, and C<$3> being
+the optional filename (specified with or without quotes).  Note that
+no whitespace may precede the C<< # >>, unlike modern C preprocessors.
+
+There is a fairly obvious gotcha included with the line directive:
+Debuggers and profilers will only show the last source line to appear
+at a particular line number in a given file.  Care should be taken not
+to cause line number collisions in code you'd like to debug later.
+
+Here are some examples that you should be able to type into your command
+shell:
+
+    % perl
+    # line 200 "bzzzt"
+    # the '#' on the previous line must be the first char on line
+    die 'foo';
+    __END__
+    foo at bzzzt line 201.
+
+    % perl
+    # line 200 "bzzzt"
+    eval qq[\n#line 2001 ""\ndie 'foo']; print $@;
+    __END__
+    foo at - line 2001.
+
+    % perl
+    eval qq[\n#line 200 "foo bar"\ndie 'foo']; print $@;
+    __END__
+    foo at foo bar line 200.
+
+    % perl
+    # line 345 "goop"
+    eval "\n#line " . __LINE__ . ' "' . __FILE__ ."\"\ndie 'foo'";
+    print $@;
+    __END__
+    foo at goop line 345.
+
+=head2 Experimental Details on given and when
+
+As previously mentioned, the "switch" feature is considered highly
+experimental; it is subject to change with little notice.  In particular,
+C<when> has tricky behaviours that are expected to change to become less
+tricky in the future.  Do not rely upon its current (mis)implementation.
+Before Perl 5.18, C<given> also had tricky behaviours that you should still
+beware of if your code must run on older versions of Perl.
+
+Here is a longer example of C<given>:
+
     use feature ":5.10";
-    given($foo) {
+    given ($foo) {
 	when (undef) {
 	    say '$foo is undefined';
 	}
@@ -567,102 +916,122 @@
 	}
     }
 
-C<given(EXPR)> will assign the value of EXPR to C<$_>
-within the lexical scope of the block, so it's similar to
+Before Perl 5.18, C<given(EXPR)> assigned the value of I<EXPR> to
+merely a lexically scoped I<B<copy>> (!) of C<$_>, not a dynamically
+scoped alias the way C<foreach> does.  That made it similar to
 
 	do { my $_ = EXPR; ... }
 
-except that the block is automatically broken out of by a
-successful C<when> or an explicit C<break>.
+except that the block was automatically broken out of by a successful
+C<when> or an explicit C<break>.  Because it was only a copy, and because
+it was only lexically scoped, not dynamically scoped, you could not do the
+things with it that you are used to in a C<foreach> loop.  In particular,
+it did not work for arbitrary function calls if those functions might try
+to access $_.  Best stick to C<foreach> for that.
 
-Most of the power comes from implicit smart matching:
+Most of the power comes from the implicit smartmatching that can
+sometimes apply.  Most of the time, C<when(EXPR)> is treated as an
+implicit smartmatch of C<$_>, that is, C<$_ ~~ EXPR>.  (See
+L<perlop/"Smartmatch Operator"> for more information on smartmatching.)
+But when I<EXPR> is one of the 10 exceptional cases (or things like them)
+listed below, it is used directly as a boolean.
 
-	when($foo)
+=over 4
 
-is exactly equivalent to
+=item 1.
 
-	when($_ ~~ $foo)
+A user-defined subroutine call or a method invocation.
 
-Most of the time, C<when(EXPR)> is treated as an implicit smart match of
-C<$_>, i.e. C<$_ ~~ EXPR>. (See L</"Smart matching in detail"> for more
-information on smart matching.) But when EXPR is one of the below
-exceptional cases, it is used directly as a boolean:
+=item 2.
 
-=over 4
+A regular expression match in the form of C</REGEX/>, C<$foo =~ /REGEX/>,
+or C<$foo =~ EXPR>.  Also, a negated regular expression match in
+the form C<!/REGEX/>, C<$foo !~ /REGEX/>, or C<$foo !~ EXPR>.
 
-=item *
+=item 3.
 
-a subroutine or method call
+A smart match that uses an explicit C<~~> operator, such as C<EXPR ~~ EXPR>.
 
-=item *
+=item 4.
 
-a regular expression match, i.e. C</REGEX/> or C<$foo =~ /REGEX/>,
-or a negated regular expression match (C<!/REGEX/> or C<$foo !~ /REGEX/>).
+A boolean comparison operator such as C<$_ E<lt> 10> or C<$x eq "abc">.  The
+relational operators that this applies to are the six numeric comparisons
+(C<< < >>, C<< > >>, C<< <= >>, C<< >= >>, C<< == >>, and C<< != >>), and
+the six string comparisons (C<lt>, C<gt>, C<le>, C<ge>, C<eq>, and C<ne>).
 
-=item *
+B<NOTE:> You will often have to use C<$c ~~ $_> because
+the default case uses C<$_ ~~ $c> , which is frequently
+the opposite of what you want.
 
-a comparison such as C<$_ E<lt> 10> or C<$x eq "abc">
-(or of course C<$_ ~~ $c>)
+=item 5.
 
-=item *
+At least the three builtin functions C<defined(...)>, C<exists(...)>, and
+C<eof(...)>.  We might someday add more of these later if we think of them.
 
-C<defined(...)>, C<exists(...)>, or C<eof(...)>
+=item 6.
 
-=item *
+A negated expression, whether C<!(EXPR)> or C<not(EXPR)>, or a logical
+exclusive-or, C<(EXPR1) xor (EXPR2)>.  The bitwise versions (C<~> and C<^>)
+are not included.
 
-a negated expression C<!(...)> or C<not (...)>, or a logical
-exclusive-or C<(...) xor (...)>.
+=item 7.
 
-=item *
+A filetest operator, with exactly 4 exceptions: C<-s>, C<-M>, C<-A>, and
+C<-C>, as these return numerical values, not boolean ones.  The C<-z>
+filetest operator is not included in the exception list.
 
-a filetest operator, with the exception of C<-s>, C<-M>, C<-A>, and C<-C>,
-that return numerical values, not boolean ones.
+=item 8.
 
-=item *
+The C<..> and C<...> flip-flop operators.  Note that the C<...> flip-flop
+operator is completely different from the C<...> elliptical statement
+just described.
 
-the C<..> and C<...> flip-flop operators.
-
 =back
 
-In those cases the value of EXPR is used directly as a boolean.
+In those 8 cases above, the value of EXPR is used directly as a boolean, so
+no smartmatching is done.  You may think of C<when> as a smartsmartmatch.
 
-Furthermore, Perl inspects the operands of the binary boolean operators to
-decide whether to use smart matching for each one by applying the above test to
-the operands:
+Furthermore, Perl inspects the operands of logical operators to
+decide whether to use smartmatching for each one by applying the
+above test to the operands:
 
 =over 4
 
-=item *
+=item 9.
 
-If EXPR is C<... && ...> or C<... and ...>, the test
-is applied recursively to both operands. If I<both>
-operands pass the test, then the expression is treated
-as boolean; otherwise, smart matching is used.
+If EXPR is C<EXPR1 && EXPR2> or C<EXPR1 and EXPR2>, the test is applied
+I<recursively> to both EXPR1 and EXPR2.
+Only if I<both> operands also pass the
+test, I<recursively>, will the expression be treated as boolean.  Otherwise,
+smartmatching is used.
 
-=item *
+=item 10.
 
-If EXPR is C<... || ...>, C<... // ...> or C<... or ...>, the test
-is applied recursively to the first operand (which may be a
-higher-precedence AND operator, for example). If the first operand
-is to use smart matching, then both operands will do so; if it is
-not, then the second argument will not be either.
+If EXPR is C<EXPR1 || EXPR2>, C<EXPR1 // EXPR2>, or C<EXPR1 or EXPR2>, the
+test is applied I<recursively> to EXPR1 only (which might itself be a
+higher-precedence AND operator, for example, and thus subject to the
+previous rule), not to EXPR2.  If EXPR1 is to use smartmatching, then EXPR2
+also does so, no matter what EXPR2 contains.  But if EXPR2 does not get to
+use smartmatching, then the second argument will not be either.  This is
+quite different from the C<&&> case just described, so be careful.
 
 =back
 
-These rules look complicated, but usually they will do what
-you want. For example:
+These rules are complicated, but the goal is for them to do what you want
+(even if you don't quite understand why they are doing it).  For example:
 
     when (/^\d+$/ && $_ < 75) { ... }
 
-will be treated as a boolean match because the rules say both a regex match and
-an explicit test on $_ will be treated as boolean.
+will be treated as a boolean match because the rules say both
+a regex match and an explicit test on C<$_> will be treated
+as boolean.
 
 Also:
 
     when ([qw(foo bar)] && /baz/) { ... }
 
-will use smart matching because only I<one> of the operands is a boolean; the
-other uses smart matching, and that wins.
+will use smartmatching because only I<one> of the operands is a boolean:
+the other uses smartmatching, and that wins.
 
 Further:
 
@@ -672,29 +1041,31 @@
 
     when (/^baz/ || [qw(foo bar)]) { ... }
 
-will test only the regex, which causes both operands to be treated as boolean.
-Watch out for this one, then, because an arrayref is always a true value, which
-makes it effectively redundant.
+will test only the regex, which causes both operands to be
+treated as boolean.  Watch out for this one, then, because an
+arrayref is always a true value, which makes it effectively
+redundant.  Not a good idea.
 
-Tautologous boolean operators are still going to be optimized away. Don't be
-tempted to write
+Tautologous boolean operators are still going to be optimized
+away.  Don't be tempted to write
 
-    when ('foo' or 'bar') { ... }
+    when ("foo" or "bar") { ... }
 
-This will optimize down to C<'foo'>, so C<'bar'> will never be considered (even
-though the rules say to use a smart match on C<'foo'>). For an alternation like
-this, an array ref will work, because this will instigate smart matching:
+This will optimize down to C<"foo">, so C<"bar"> will never be considered (even
+though the rules say to use a smartmatch
+on C<"foo">).  For an alternation like
+this, an array ref will work, because this will instigate smartmatching:
 
     when ([qw(foo bar)] { ... }
 
 This is somewhat equivalent to the C-style switch statement's fallthrough
-functionality (not to be confused with I<Perl's> fallthrough functionality - see
-below), wherein the same block is used for several C<case> statements.
+functionality (not to be confused with I<Perl's> fallthrough
+functionality--see below), wherein the same block is used for several
+C<case> statements.
 
-Another useful shortcut is that, if you use a literal array
-or hash as the argument to C<given>, it is turned into a
-reference. So C<given(@foo)> is the same as C<given(\@foo)>,
-for example.
+Another useful shortcut is that, if you use a literal array or hash as the
+argument to C<given>, it is turned into a reference.  So C<given(@foo)> is
+the same as C<given(\@foo)>, for example.
 
 C<default> behaves exactly like C<when(1 == 1)>, which is
 to say that it always matches.
@@ -712,29 +1083,29 @@
 
     given($foo) {
 	when (/x/) { say '$foo contains an x'; continue }
-	when (/y/) { say '$foo contains a y' }
-	default    { say '$foo does not contain a y' }
+	when (/y/) { say '$foo contains a y'            }
+	default    { say '$foo does not contain a y'    }
     }
 
 =head3 Return value
 
-When a C<given> statement is also a valid expression (e.g.
-when it's the last statement of a block), it evaluates to :
+When a C<given> statement is also a valid expression (for example,
+when it's the last statement of a block), it evaluates to:
 
 =over 4
 
 =item *
 
-an empty list as soon as an explicit C<break> is encountered.
+An empty list as soon as an explicit C<break> is encountered.
 
 =item *
 
-the value of the last evaluated expression of the successful
-C<when>/C<default> clause, if there's one.
+The value of the last evaluated expression of the successful
+C<when>/C<default> clause, if there happens to be one.
 
 =item *
 
-the value of the last evaluated expression of the C<given> block if no
+The value of the last evaluated expression of the C<given> block if no
 condition is true.
 
 =back
@@ -745,15 +1116,18 @@
 Note that, unlike C<if> and C<unless>, failed C<when> statements always
 evaluate to an empty list.
 
-    my $price = do { given ($item) {
-	when ([ 'pear', 'apple' ]) { 1 }
-	break when 'vote';      # My vote cannot be bought
-        1e10  when /Mona Lisa/;
-        'unknown';
-    } };
+    my $price = do {
+	given ($item) {
+	    when (["pear", "apple"]) { 1 }
+	    break when "vote";      # My vote cannot be bought
+	    1e10  when /Mona Lisa/;
+	    "unknown";
+	}
+    };
 
-Currently, C<given> blocks can't always be used as proper expressions. This
-may be addressed in a future version of perl.
+Currently, C<given> blocks can't always
+be used as proper expressions.  This
+may be addressed in a future version of Perl.
 
 =head3 Switching in a loop
 
@@ -761,6 +1135,7 @@
 For example, here's one way to count how many times a particular
 string occurs in an array:
 
+    use v5.10.1;
     my $count = 0;
     for (@array) {
 	when ("foo") { ++$count }
@@ -767,250 +1142,76 @@
     }
     print "\@array contains $count copies of 'foo'\n";
 
-At the end of all C<when> blocks, there is an implicit C<next>.
-You can override that with an explicit C<last> if you're only
-interested in the first match.
+Or in a more recent version:
 
-This doesn't work if you explicitly specify a loop variable,
-as in C<for $item (@array)>. You have to use the default
-variable C<$_>. (You can use C<for my $_ (@array)>.)
+    use v5.14;
+    my $count = 0;
+    for (@array) {
+	++$count when "foo";
+    }
+    print "\@array contains $count copies of 'foo'\n";
 
-=head3 Smart matching in detail
+At the end of all C<when> blocks, there is an implicit C<next>.
+You can override that with an explicit C<last> if you're
+interested in only the first match alone.
 
-The behaviour of a smart match depends on what type of thing its arguments
-are. The behaviour is determined by the following table: the first row
-that applies determines the match behaviour (which is thus mostly
-determined by the type of the right operand). Note that the smart match
-implicitly dereferences any non-blessed hash or array ref, so the "Hash"
-and "Array" entries apply in those cases. (For blessed references, the
-"Object" entries apply.)
+This doesn't work if you explicitly specify a loop variable, as
+in C<for $item (@array)>.  You have to use the default variable C<$_>.
 
-Note that the "Matching Code" column is not always an exact rendition.  For
-example, the smart match operator short-circuits whenever possible, but
-C<grep> does not.
-
-    $a      $b        Type of Match Implied    Matching Code
-    ======  =====     =====================    =============
-    Any     undef     undefined                !defined $a
-
-    Any     Object    invokes ~~ overloading on $object, or dies
-
-    Hash    CodeRef   sub truth for each key[1] !grep { !$b->($_) } keys %$a
-    Array   CodeRef   sub truth for each elt[1] !grep { !$b->($_) } @$a
-    Any     CodeRef   scalar sub truth          $b->($a)
-
-    Hash    Hash      hash keys identical (every key is found in both hashes)
-    Array   Hash      hash keys intersection   grep { exists $b->{$_} } @$a
-    Regex   Hash      hash key grep            grep /$a/, keys %$b
-    undef   Hash      always false (undef can't be a key)
-    Any     Hash      hash entry existence     exists $b->{$a}
-
-    Hash    Array     hash keys intersection   grep { exists $a->{$_} } @$b
-    Array   Array     arrays are comparable[2]
-    Regex   Array     array grep               grep /$a/, @$b
-    undef   Array     array contains undef     grep !defined, @$b
-    Any     Array     match against an array element[3]
-                                               grep $a ~~ $_, @$b
-
-    Hash    Regex     hash key grep            grep /$b/, keys %$a
-    Array   Regex     array grep               grep /$b/, @$a
-    Any     Regex     pattern match            $a =~ /$b/
-
-    Object  Any       invokes ~~ overloading on $object, or falls back:
-    Any     Num       numeric equality         $a == $b
-    Num     numish[4] numeric equality         $a == $b
-    undef   Any       undefined                !defined($b)
-    Any     Any       string equality          $a eq $b
-
- 1 - empty hashes or arrays will match.
- 2 - that is, each element smart-matches the element of same index in the
-     other array. [3]
- 3 - If a circular reference is found, we fall back to referential equality.
- 4 - either a real number, or a string that looks like a number
-
-=head3 Custom matching via overloading
-
-You can change the way that an object is matched by overloading
-the C<~~> operator. This may alter the usual smart match semantics.
-
-It should be noted that C<~~> will refuse to work on objects that
-don't overload it (in order to avoid relying on the object's
-underlying structure).
-
-Note also that smart match's matching rules take precedence over
-overloading, so if C<$obj> has smart match overloading, then
-
-    $obj ~~ X
-
-will not automatically invoke the overload method with X as an argument;
-instead the table above is consulted as normal, and based in the type of X,
-overloading may or may not be invoked.
-
-See L<overload>.
-
 =head3 Differences from Perl 6
 
-The Perl 5 smart match and C<given>/C<when> constructs are not
-absolutely identical to their Perl 6 analogues. The most visible
-difference is that, in Perl 5, parentheses are required around
-the argument to C<given()> and C<when()> (except when this last
-one is used as a statement modifier). Parentheses in Perl 6
-are always optional in a control construct such as C<if()>,
-C<while()>, or C<when()>; they can't be made optional in Perl
-5 without a great deal of potential confusion, because Perl 5
-would parse the expression
+The Perl 5 smartmatch and C<given>/C<when> constructs are not compatible
+with their Perl 6 analogues.  The most visible difference and least
+important difference is that, in Perl 5, parentheses are required around
+the argument to C<given()> and C<when()> (except when this last one is used
+as a statement modifier).  Parentheses in Perl 6 are always optional in a
+control construct such as C<if()>, C<while()>, or C<when()>; they can't be
+made optional in Perl 5 without a great deal of potential confusion,
+because Perl 5 would parse the expression
 
-  given $foo {
-    ...
-  }
+    given $foo {
+	...
+    }
 
 as though the argument to C<given> were an element of the hash
 C<%foo>, interpreting the braces as hash-element syntax.
 
-The table of smart matches is not identical to that proposed by the
-Perl 6 specification, mainly due to the differences between Perl 6's
-and Perl 5's data models.
+However, their are many, many other differences.  For example,
+this works in Perl 5:
 
-In Perl 6, C<when()> will always do an implicit smart match
-with its argument, whilst it is convenient in Perl 5 to
-suppress this implicit smart match in certain situations,
-as documented above. (The difference is largely because Perl 5
-does not, even internally, have a boolean type.)
+    use v5.12;
+    my @primary = ("red", "blue", "green");
 
-=head2 Goto
-X<goto>
+    if (@primary ~~ "red") {
+        say "primary smartmatches red";
+    }
 
-Although not for the faint of heart, Perl does support a C<goto>
-statement.  There are three forms: C<goto>-LABEL, C<goto>-EXPR, and
-C<goto>-&NAME.  A loop's LABEL is not actually a valid target for
-a C<goto>; it's just the name of the loop.
-
-The C<goto>-LABEL form finds the statement labeled with LABEL and resumes
-execution there.  It may not be used to go into any construct that
-requires initialization, such as a subroutine or a C<foreach> loop.  It
-also can't be used to go into a construct that is optimized away.  It
-can be used to go almost anywhere else within the dynamic scope,
-including out of subroutines, but it's usually better to use some other
-construct such as C<last> or C<die>.  The author of Perl has never felt the
-need to use this form of C<goto> (in Perl, that is--C is another matter).
-
-The C<goto>-EXPR form expects a label name, whose scope will be resolved
-dynamically.  This allows for computed C<goto>s per FORTRAN, but isn't
-necessarily recommended if you're optimizing for maintainability:
-
-    goto(("FOO", "BAR", "GLARCH")[$i]);
-
-The C<goto>-&NAME form is highly magical, and substitutes a call to the
-named subroutine for the currently running subroutine.  This is used by
-C<AUTOLOAD()> subroutines that wish to load another subroutine and then
-pretend that the other subroutine had been called in the first place
-(except that any modifications to C<@_> in the current subroutine are
-propagated to the other subroutine.)  After the C<goto>, not even C<caller()>
-will be able to tell that this routine was called first.
-
-In almost all cases like this, it's usually a far, far better idea to use the
-structured control flow mechanisms of C<next>, C<last>, or C<redo> instead of
-resorting to a C<goto>.  For certain applications, the catch and throw pair of
-C<eval{}> and die() for exception processing can also be a prudent approach.
-
-=head2 PODs: Embedded Documentation
-X<POD> X<documentation>
-
-Perl has a mechanism for intermixing documentation with source code.
-While it's expecting the beginning of a new statement, if the compiler
-encounters a line that begins with an equal sign and a word, like this
-
-    =head1 Here There Be Pods!
-
-Then that text and all remaining text up through and including a line
-beginning with C<=cut> will be ignored.  The format of the intervening
-text is described in L<perlpod>.
-
-This allows you to intermix your source code
-and your documentation text freely, as in
-
-    =item snazzle($)
-
-    The snazzle() function will behave in the most spectacular
-    form that you can possibly imagine, not even excepting
-    cybernetic pyrotechnics.
-
-    =cut back to the compiler, nuff of this pod stuff!
-
-    sub snazzle($) {
-	my $thingie = shift;
-	.........
+    if ("red" ~~ @primary) {
+        say "red smartmatches primary";
     }
 
-Note that pod translators should look at only paragraphs beginning
-with a pod directive (it makes parsing easier), whereas the compiler
-actually knows to look for pod escapes even in the middle of a
-paragraph.  This means that the following secret stuff will be
-ignored by both the compiler and the translators.
+    say "that's all, folks!";
 
-    $a=3;
-    =secret stuff
-     warn "Neither POD nor CODE!?"
-    =cut back
-    print "got $a\n";
+But it doesn't work at all in Perl 6.  Instead, you should
+use the (parallelizable) C<any> operator instead:
 
-You probably shouldn't rely upon the C<warn()> being podded out forever.
-Not all pod translators are well-behaved in this regard, and perhaps
-the compiler will become pickier.
+   if any(@primary) eq "red" {
+       say "primary smartmatches red";
+   }
 
-One may also use pod directives to quickly comment out a section
-of code.
+   if "red" eq any(@primary) {
+       say "red smartmatches primary";
+   }
 
-=head2 Plain Old Comments (Not!)
-X<comment> X<line> X<#> X<preprocessor> X<eval>
+The table of smartmatches in L<perlop/"Smartmatch Operator"> is not
+identical to that proposed by the Perl 6 specification, mainly due to
+differences between Perl 6's and Perl 5's data models, but also because
+the Perl 6 spec has changed since Perl 5 rushed into early adoption.
 
-Perl can process line directives, much like the C preprocessor.  Using
-this, one can control Perl's idea of filenames and line numbers in
-error or warning messages (especially for strings that are processed
-with C<eval()>).  The syntax for this mechanism is almost the same as for
-most C preprocessors: it matches the regular expression
+In Perl 6, C<when()> will always do an implicit smartmatch with its
+argument, while in Perl 5 it is convenient (albeit potentially confusing) to
+suppress this implicit smartmatch in various rather loosely-defined
+situations, as roughly outlined above.  (The difference is largely because
+Perl 5 does not have, even internally, a boolean type.)
 
-    # example: '# line 42 "new_filename.plx"'
-    /^\#   \s*
-      line \s+ (\d+)   \s*
-      (?:\s("?)([^"]+)\g2)? \s*
-     $/x
-
-with C<$1> being the line number for the next line, and C<$3> being
-the optional filename (specified with or without quotes). Note that
-no whitespace may precede the C<< # >>, unlike modern C preprocessors.
-
-There is a fairly obvious gotcha included with the line directive:
-Debuggers and profilers will only show the last source line to appear
-at a particular line number in a given file.  Care should be taken not
-to cause line number collisions in code you'd like to debug later.
-
-Here are some examples that you should be able to type into your command
-shell:
-
-    % perl
-    # line 200 "bzzzt"
-    # the `#' on the previous line must be the first char on line
-    die 'foo';
-    __END__
-    foo at bzzzt line 201.
-
-    % perl
-    # line 200 "bzzzt"
-    eval qq[\n#line 2001 ""\ndie 'foo']; print $@;
-    __END__
-    foo at - line 2001.
-
-    % perl
-    eval qq[\n#line 200 "foo bar"\ndie 'foo']; print $@;
-    __END__
-    foo at foo bar line 200.
-
-    % perl
-    # line 345 "goop"
-    eval "\n#line " . __LINE__ . ' "' . __FILE__ ."\"\ndie 'foo'";
-    print $@;
-    __END__
-    foo at goop line 345.
-
 =cut


Property changes on: vendor/perl/dist/pod/perlsyn.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlthrtut.pod
===================================================================
--- vendor/perl/dist/pod/perlthrtut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlthrtut.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,13 +7,13 @@
 =head1 DESCRIPTION
 
 This tutorial describes the use of Perl interpreter threads (sometimes
-referred to as I<ithreads>) that was first introduced in Perl 5.6.0.  In this
+referred to as I<ithreads>).  In this
 model, each thread runs in its own Perl interpreter, and any data sharing
 between threads must be explicit.  The user-level interface for I<ithreads>
 uses the L<threads> class.
 
 B<NOTE>: There was another older Perl threading flavor called the 5.005 model
-that used the L<Threads> class.  This old model was known to have problems, is
+that used the L<threads> class.  This old model was known to have problems, is
 deprecated, and was removed for release 5.10.  You are
 strongly encouraged to migrate any existing 5.005 threads code to the new
 model as soon as possible.
@@ -1043,7 +1043,7 @@
 guarantee that a signal sent to a multi-threaded Perl application
 will get intercepted by any particular thread.  (However, a recently
 added feature does provide the capability to send signals between
-threads.  See L<threads/"THREAD SIGNALLING> for more details.)
+threads.  See L<threads/THREAD SIGNALLING> for more details.)
 
 =head1 Thread-Safety of System Libraries
 
@@ -1090,7 +1090,7 @@
 L<http://search.cpan.org/search?module=threads%3A%3Ashared>
 
 Perl threads mailing list:
-L<http://lists.cpan.org/showlist.cgi?name=iThreads>
+L<http://lists.perl.org/list/ithreads.html>
 
 =head1 Bibliography
 


Property changes on: vendor/perl/dist/pod/perlthrtut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perltie.pod
===================================================================
--- vendor/perl/dist/pod/perltie.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perltie.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -870,11 +870,10 @@
 in some special way.  See nvi and the Apache module for examples.
 
 When tying a handle, the first argument to C<tie> should begin with an
-asterisk. So, if you are tying STDOUT, use C<*STDOUT>. If you have assigned
-it to a scalar variable, say C<$handle>, use C<*$handle>. C<tie $handle>
-works, too, but that is considered a bug and will be fixed in Perl 5.16. It
-is supposed to tie the scalar C<$handle>, not the handle inside it.
-C<tie $handle> emits a deprecation warning as of Perl 5.14.
+asterisk.  So, if you are tying STDOUT, use C<*STDOUT>.  If you have
+assigned it to a scalar variable, say C<$handle>, use C<*$handle>.
+C<tie $handle> ties the scalar variable C<$handle>, not the handle inside
+it.
 
 In our example we're going to create a shouting handle.
 


Property changes on: vendor/perl/dist/pod/perltie.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perltoc.pod
===================================================================
--- vendor/perl/dist/pod/perltoc.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perltoc.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perltoc.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perltodo.pod
===================================================================
--- vendor/perl/dist/pod/perltodo.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perltodo.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,1277 +4,7 @@
 
 =head1 DESCRIPTION
 
-This is a list of wishes for Perl. The most up to date version of this file
-is at L<http://perl5.git.perl.org/perl.git/blob_plain/HEAD:/pod/perltodo.pod>
-
-The tasks we think are smaller or easier are listed first. Anyone is welcome
-to work on any of these, but it's a good idea to first contact
-I<perl5-porters at perl.org> to avoid duplication of effort, and to learn from
-any previous attempts. By all means contact a pumpking privately first if you
-prefer.
-
-Whilst patches to make the list shorter are most welcome, ideas to add to
-the list are also encouraged. Check the perl5-porters archives for past
-ideas, and any discussion about them. One set of archives may be found at
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/>
-
-What can we offer you in return? Fame, fortune, and everlasting glory? Maybe
-not, but if your patch is incorporated, then we'll add your name to the
-F<AUTHORS> file, which ships in the official distribution. How many other
-programming languages offer you 1 line of immortality?
-
-=head1 Tasks that only need Perl knowledge
-
-=head2 Migrate t/ from custom TAP generation
-
-Many tests below F<t/> still generate TAP by "hand", rather than using library
-functions. As explained in L<perlhack/TESTING>, tests in F<t/> are
-written in a particular way to test that more complex constructions actually
-work before using them routinely. Hence they don't use C<Test::More>, but
-instead there is an intentionally simpler library, F<t/test.pl>. However,
-quite a few tests in F<t/> have not been refactored to use it. Refactoring
-any of these tests, one at a time, is a useful thing TODO.
-
-The subdirectories F<base>, F<cmd> and F<comp>, that contain the most
-basic tests, should be excluded from this task.
-
-=head2 Automate perldelta generation
-
-The perldelta file accompanying each release summaries the major changes.
-It's mostly manually generated currently, but some of that could be
-automated with a bit of perl, specifically the generation of
-
-=over
-
-=item Modules and Pragmata
-
-=item New Documentation
-
-=item New Tests
-
-=back
-
-See F<Porting/how_to_write_a_perldelta.pod> for details.
-
-=head2 Remove duplication of test setup.
-
-Schwern notes, that there's duplication of code - lots and lots of tests have
-some variation on the big block of C<$Is_Foo> checks.  We can safely put this
-into a file, change it to build an C<%Is> hash and require it.  Maybe just put
-it into F<test.pl>. Throw in the handy tainting subroutines.
-
-=head2 POD -E<gt> HTML conversion in the core still sucks
-
-Which is crazy given just how simple POD purports to be, and how simple HTML
-can be. It's not actually I<as> simple as it sounds, particularly with the
-flexibility POD allows for C<=item>, but it would be good to improve the
-visual appeal of the HTML generated, and to avoid it having any validation
-errors. See also L</make HTML install work>, as the layout of installation tree
-is needed to improve the cross-linking.
-
-The addition of C<Pod::Simple> and its related modules may make this task
-easier to complete.
-
-=head2 Make ExtUtils::ParseXS use strict;
-
-F<lib/ExtUtils/ParseXS.pm> contains this line
-
-    # use strict;  # One of these days...
-
-Simply uncomment it, and fix all the resulting issues :-)
-
-The more practical approach, to break the task down into manageable chunks, is
-to work your way though the code from bottom to top, or if necessary adding
-extra C<{ ... }> blocks, and turning on strict within them.
-
-=head2 Make Schwern poorer
-
-We should have tests for everything. When all the core's modules are tested,
-Schwern has promised to donate to $500 to TPF. We may need volunteers to
-hold him upside down and shake vigorously in order to actually extract the
-cash.
-
-=head2 Improve the coverage of the core tests
-
-Use Devel::Cover to ascertain the core modules' test coverage, then add
-tests that are currently missing.
-
-=head2 test B
-
-A full test suite for the B module would be nice.
-
-=head2 A decent benchmark
-
-C<perlbench> seems impervious to any recent changes made to the perl core. It
-would be useful to have a reasonable general benchmarking suite that roughly
-represented what current perl programs do, and measurably reported whether
-tweaks to the core improve, degrade or don't really affect performance, to
-guide people attempting to optimise the guts of perl. Gisle would welcome
-new tests for perlbench.
-
-=head2 fix tainting bugs
-
-Fix the bugs revealed by running the test suite with the C<-t> switch (via
-C<make test.taintwarn>).
-
-=head2 Dual life everything
-
-As part of the "dists" plan, anything that doesn't belong in the smallest perl
-distribution needs to be dual lifed. Anything else can be too. Figure out what
-changes would be needed to package that module and its tests up for CPAN, and
-do so. Test it with older perl releases, and fix the problems you find.
-
-To make a minimal perl distribution, it's useful to look at
-F<t/lib/commonsense.t>.
-
-=head2 POSIX memory footprint
-
-Ilya observed that use POSIX; eats memory like there's no tomorrow, and at
-various times worked to cut it down. There is probably still fat to cut out -
-for example POSIX passes Exporter some very memory hungry data structures.
-
-=head2 embed.pl/makedef.pl
-
-There is a script F<embed.pl> that generates several header files to prefix
-all of Perl's symbols in a consistent way, to provide some semblance of
-namespace support in C<C>. Functions are declared in F<embed.fnc>, variables
-in F<interpvar.h>. Quite a few of the functions and variables
-are conditionally declared there, using C<#ifdef>. However, F<embed.pl>
-doesn't understand the C macros, so the rules about which symbols are present
-when is duplicated in F<makedef.pl>. Writing things twice is bad, m'kay.
-It would be good to teach C<embed.pl> to understand the conditional
-compilation, and hence remove the duplication, and the mistakes it has caused.
-
-=head2 use strict; and AutoLoad
-
-Currently if you write
-
-    package Whack;
-    use AutoLoader 'AUTOLOAD';
-    use strict;
-    1;
-    __END__
-    sub bloop {
-        print join (' ', No, strict, here), "!\n";
-    }
-
-then C<use strict;> isn't in force within the autoloaded subroutines. It would
-be more consistent (and less surprising) to arrange for all lexical pragmas
-in force at the __END__ block to be in force within each autoloaded subroutine.
-
-There's a similar problem with SelfLoader.
-
-=head2 profile installman
-
-The F<installman> script is slow. All it is doing text processing, which we're
-told is something Perl is good at. So it would be nice to know what it is doing
-that is taking so much CPU, and where possible address it.
-
-=head2 enable lexical enabling/disabling of individual warnings
-
-Currently, warnings can only be enabled or disabled by category. There
-are times when it would be useful to quash a single warning, not a
-whole category.
-
-=head1 Tasks that need a little sysadmin-type knowledge
-
-Or if you prefer, tasks that you would learn from, and broaden your skills
-base...
-
-=head2 make HTML install work
-
-There is an C<installhtml> target in the Makefile. It's marked as
-"experimental". It would be good to get this tested, make it work reliably, and
-remove the "experimental" tag. This would include
-
-=over 4
-
-=item 1
-
-Checking that cross linking between various parts of the documentation works.
-In particular that links work between the modules (files with POD in F<lib/>)
-and the core documentation (files in F<pod/>)
-
-=item 2
-
-Work out how to split C<perlfunc> into chunks, preferably one per function
-group, preferably with general case code that could be used elsewhere.
-Challenges here are correctly identifying the groups of functions that go
-together, and making the right named external cross-links point to the right
-page. Things to be aware of are C<-X>, groups such as C<getpwnam> to
-C<endservent>, two or more C<=items> giving the different parameter lists, such
-as
-
-    =item substr EXPR,OFFSET,LENGTH,REPLACEMENT
-    =item substr EXPR,OFFSET,LENGTH
-    =item substr EXPR,OFFSET
-
-and different parameter lists having different meanings. (eg C<select>)
-
-=back
-
-=head2 compressed man pages
-
-Be able to install them. This would probably need a configure test to see how
-the system does compressed man pages (same directory/different directory?
-same filename/different filename), as well as tweaking the F<installman> script
-to compress as necessary.
-
-=head2 Add a code coverage target to the Makefile
-
-Make it easy for anyone to run Devel::Cover on the core's tests. The steps
-to do this manually are roughly
-
-=over 4
-
-=item *
-
-do a normal C<Configure>, but include Devel::Cover as a module to install
-(see L<INSTALL> for how to do this)
-
-=item *
-
-    make perl
-
-=item *
-
-    cd t; HARNESS_PERL_SWITCHES=-MDevel::Cover ./perl -I../lib harness
-
-=item *
-
-Process the resulting Devel::Cover database
-
-=back
-
-This just give you the coverage of the F<.pm>s. To also get the C level
-coverage you need to
-
-=over 4
-
-=item *
-
-Additionally tell C<Configure> to use the appropriate C compiler flags for
-C<gcov>
-
-=item *
-
-    make perl.gcov
-
-(instead of C<make perl>)
-
-=item *
-
-After running the tests run C<gcov> to generate all the F<.gcov> files.
-(Including down in the subdirectories of F<ext/>
-
-=item *
-
-(From the top level perl directory) run C<gcov2perl> on all the C<.gcov> files
-to get their stats into the cover_db directory.
-
-=item *
-
-Then process the Devel::Cover database
-
-=back
-
-It would be good to add a single switch to C<Configure> to specify that you
-wanted to perform perl level coverage, and another to specify C level
-coverage, and have C<Configure> and the F<Makefile> do all the right things
-automatically.
-
-=head2 Make Config.pm cope with differences between built and installed perl
-
-Quite often vendors ship a perl binary compiled with their (pay-for)
-compilers.  People install a free compiler, such as gcc. To work out how to
-build extensions, Perl interrogates C<%Config>, so in this situation
-C<%Config> describes compilers that aren't there, and extension building
-fails. This forces people into choosing between re-compiling perl themselves
-using the compiler they have, or only using modules that the vendor ships.
-
-It would be good to find a way teach C<Config.pm> about the installation setup,
-possibly involving probing at install time or later, so that the C<%Config> in
-a binary distribution better describes the installed machine, when the
-installed machine differs from the build machine in some significant way.
-
-=head2 linker specification files
-
-Some platforms mandate that you provide a list of a shared library's external
-symbols to the linker, so the core already has the infrastructure in place to
-do this for generating shared perl libraries. My understanding is that the
-GNU toolchain can accept an optional linker specification file, and restrict
-visibility just to symbols declared in that file. It would be good to extend
-F<makedef.pl> to support this format, and to provide a means within
-C<Configure> to enable it. This would allow Unix users to test that the
-export list is correct, and to build a perl that does not pollute the global
-namespace with private symbols, and will fail in the same way as msvc or mingw 
-builds or when using PERL_DL_NONLAZY=1.
-
-=head2 Cross-compile support
-
-Currently C<Configure> understands C<-Dusecrosscompile> option. This option
-arranges for building C<miniperl> for TARGET machine, so this C<miniperl> is
-assumed then to be copied to TARGET machine and used as a replacement of full
-C<perl> executable.
-
-This could be done little differently. Namely C<miniperl> should be built for
-HOST and then full C<perl> with extensions should be compiled for TARGET.
-This, however, might require extra trickery for %Config: we have one config
-first for HOST and then another for TARGET.  Tools like MakeMaker will be
-mightily confused.  Having around two different types of executables and
-libraries (HOST and TARGET) makes life interesting for Makefiles and
-shell (and Perl) scripts.  There is $Config{run}, normally empty, which
-can be used as an execution wrapper.  Also note that in some
-cross-compilation/execution environments the HOST and the TARGET do
-not see the same filesystem(s), the $Config{run} may need to do some
-file/directory copying back and forth.
-
-=head2 roffitall
-
-Make F<pod/roffitall> be updated by F<pod/buildtoc>.
-
-=head2 Split "linker" from "compiler"
-
-Right now, Configure probes for two commands, and sets two variables:
-
-=over 4
-
-=item * C<cc> (in F<cc.U>)
-
-This variable holds the name of a command to execute a C compiler which
-can resolve multiple global references that happen to have the same
-name.  Usual values are F<cc> and F<gcc>.
-Fervent ANSI compilers may be called F<c89>.  AIX has F<xlc>.
-
-=item * C<ld> (in F<dlsrc.U>)
-
-This variable indicates the program to be used to link
-libraries for dynamic loading.  On some systems, it is F<ld>.
-On ELF systems, it should be C<$cc>.  Mostly, we'll try to respect
-the hint file setting.
-
-=back
-
-There is an implicit historical assumption from around Perl5.000alpha
-something, that C<$cc> is also the correct command for linking object files
-together to make an executable. This may be true on Unix, but it's not true
-on other platforms, and there are a maze of work arounds in other places (such
-as F<Makefile.SH>) to cope with this.
-
-Ideally, we should create a new variable to hold the name of the executable
-linker program, probe for it in F<Configure>, and centralise all the special
-case logic there or in hints files.
-
-A small bikeshed issue remains - what to call it, given that C<$ld> is already
-taken (arguably for the wrong thing now, but on SunOS 4.1 it is the command
-for creating dynamically-loadable modules) and C<$link> could be confused with
-the Unix command line executable of the same name, which does something
-completely different. Andy Dougherty makes the counter argument "In parrot, I
-tried to call the command used to link object files and  libraries into an
-executable F<link>, since that's what my vaguely-remembered DOS and VMS
-experience suggested. I don't think any real confusion has ensued, so it's
-probably a reasonable name for perl5 to use."
-
-"Alas, I've always worried that introducing it would make things worse, 
-since now the module building utilities would have to look for 
-C<$Config{link}> and institute a fall-back plan if it weren't found."
-Although I can see that as confusing, given that C<$Config{d_link}> is true
-when (hard) links are available.
-
-=head2 Configure Windows using PowerShell
-
-Currently, Windows uses hard-coded config files based to build the
-config.h for compiling Perl.  Makefiles are also hard-coded and need to be 
-hand edited prior to building Perl. While this makes it easy to create a perl.exe 
-that works across multiple Windows versions, being able to accurately
-configure a perl.exe for a specific Windows versions and VS C++ would be
-a nice enhancement.  With PowerShell available on Windows XP and up, this 
-may now be possible.  Step 1 might be to investigate whether this is possible
-and use this to clean up our current makefile situation.  Step 2 would be to 
-see if there would be a way to use our existing metaconfig units to configure a
-Windows Perl or whether we go in a separate direction and make it so.  Of 
-course, we all know what step 3 is.
-
-=head2 decouple -g and -DDEBUGGING
-
-Currently F<Configure> automatically adds C<-DDEBUGGING> to the C compiler
-flags if it spots C<-g> in the optimiser flags. The pre-processor directive
-C<DEBUGGING> enables F<perl>'s command line C<-D> options, but in the process
-makes F<perl> slower. It would be good to disentangle this logic, so that
-C-level debugging with C<-g> and Perl level debugging with C<-D> can easily
-be enabled independently.
-
-=head1 Tasks that need a little C knowledge
-
-These tasks would need a little C knowledge, but don't need any specific
-background or experience with XS, or how the Perl interpreter works
-
-=head2 Weed out needless PERL_UNUSED_ARG
-
-The C code uses the macro C<PERL_UNUSED_ARG> to stop compilers warning about
-unused arguments. Often the arguments can't be removed, as there is an
-external constraint that determines the prototype of the function, so this
-approach is valid. However, there are some cases where C<PERL_UNUSED_ARG>
-could be removed. Specifically
-
-=over 4
-
-=item *
-
-The prototypes of (nearly all) static functions can be changed
-
-=item *
-
-Unused arguments generated by short cut macros are wasteful - the short cut
-macro used can be changed.
-
-=back
-
-=head2 Modernize the order of directories in @INC
-
-The way @INC is laid out by default, one cannot upgrade core (dual-life)
-modules without overwriting files. This causes problems for binary
-package builders.  One possible proposal is laid out in this
-message:
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2002-04/msg02380.html>
-
-=head2 -Duse32bit*
-
-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.14.
-
-=head2 Profile Perl - am I hot or not?
-
-The Perl source code is stable enough that it makes sense to profile it,
-identify and optimise the hotspots. It would be good to measure the
-performance of the Perl interpreter using free tools such as cachegrind,
-gprof, and dtrace, and work to reduce the bottlenecks they reveal.
-
-As part of this, the idea of F<pp_hot.c> is that it contains the I<hot> ops,
-the ops that are most commonly used. The idea is that by grouping them, their
-object code will be adjacent in the executable, so they have a greater chance
-of already being in the CPU cache (or swapped in) due to being near another op
-already in use.
-
-Except that it's not clear if these really are the most commonly used ops. So
-as part of exercising your skills with coverage and profiling tools you might
-want to determine what ops I<really> are the most commonly used. And in turn
-suggest evictions and promotions to achieve a better F<pp_hot.c>.
-
-One piece of Perl code that might make a good testbed is F<installman>.
-
-=head2 Allocate OPs from arenas
-
-Currently all new OP structures are individually malloc()ed and free()d.
-All C<malloc> implementations have space overheads, and are now as fast as
-custom allocates so it would both use less memory and less CPU to allocate
-the various OP structures from arenas. The SV arena code can probably be
-re-used for this.
-
-Note that Configuring perl with C<-Accflags=-DPL_OP_SLAB_ALLOC> will use
-Perl_Slab_alloc() to pack optrees into a contiguous block, which is
-probably superior to the use of OP arenas, esp. from a cache locality
-standpoint.  See L<Profile Perl - am I hot or not?>.
-
-=head2 Improve win32/wince.c
-
-Currently, numerous functions look virtually, if not completely,
-identical in both C<win32/wince.c> and C<win32/win32.c> files, which can't
-be good.
-
-=head2 Use secure CRT functions when building with VC8 on Win32
-
-Visual C++ 2005 (VC++ 8.x) deprecated a number of CRT functions on the basis
-that they were "unsafe" and introduced differently named secure versions of
-them as replacements, e.g. instead of writing
-
-    FILE* f = fopen(__FILE__, "r");
-
-one should now write
-
-    FILE* f;
-    errno_t err = fopen_s(&f, __FILE__, "r"); 
-
-Currently, the warnings about these deprecations have been disabled by adding
--D_CRT_SECURE_NO_DEPRECATE to the CFLAGS. It would be nice to remove that
-warning suppressant and actually make use of the new secure CRT functions.
-
-There is also a similar issue with POSIX CRT function names like fileno having
-been deprecated in favour of ISO C++ conformant names like _fileno. These
-warnings are also currently suppressed by adding -D_CRT_NONSTDC_NO_DEPRECATE. It
-might be nice to do as Microsoft suggest here too, although, unlike the secure
-functions issue, there is presumably little or no benefit in this case.
-
-=head2 Fix POSIX::access() and chdir() on Win32
-
-These functions currently take no account of DACLs and therefore do not behave
-correctly in situations where access is restricted by DACLs (as opposed to the
-read-only attribute).
-
-Furthermore, POSIX::access() behaves differently for directories having the
-read-only attribute set depending on what CRT library is being used. For
-example, the _access() function in the VC6 and VC7 CRTs (wrongly) claim that
-such directories are not writable, whereas in fact all directories are writable
-unless access is denied by DACLs. (In the case of directories, the read-only
-attribute actually only means that the directory cannot be deleted.) This CRT
-bug is fixed in the VC8 and VC9 CRTs (but, of course, the directory may still
-not actually be writable if access is indeed denied by DACLs).
-
-For the chdir() issue, see ActiveState bug #74552:
-L<http://bugs.activestate.com/show_bug.cgi?id=74552>
-
-Therefore, DACLs should be checked both for consistency across CRTs and for
-the correct answer.
-
-(Note that perl's -w operator should not be modified to check DACLs. It has
-been written so that it reflects the state of the read-only attribute, even
-for directories (whatever CRT is being used), for symmetry with chmod().)
-
-=head2 strcat(), strcpy(), strncat(), strncpy(), sprintf(), vsprintf()
-
-Maybe create a utility that checks after each libperl.a creation that
-none of the above (nor sprintf(), vsprintf(), or *SHUDDER* gets())
-ever creep back to libperl.a.
-
-  nm libperl.a | ./miniperl -alne '$o = $F[0] if /:$/; print "$o $F[1]" if $F[0] eq "U" && $F[1] =~ /^(?:strn?c(?:at|py)|v?sprintf|gets)$/'
-
-Note, of course, that this will only tell whether B<your> platform
-is using those naughty interfaces.
-
-=head2 -D_FORTIFY_SOURCE=2, -fstack-protector
-
-Recent glibcs support C<-D_FORTIFY_SOURCE=2> and recent gcc
-(4.1 onwards?) supports C<-fstack-protector>, both of which give
-protection against various kinds of buffer overflow problems.
-These should probably be used for compiling Perl whenever available,
-Configure and/or hints files should be adjusted to probe for the
-availability of these features and enable them as appropriate.
-
-=head2 Arenas for GPs? For MAGIC?
-
-C<struct gp> and C<struct magic> are both currently allocated by C<malloc>.
-It might be a speed or memory saving to change to using arenas. Or it might
-not. It would need some suitable benchmarking first. In particular, C<GP>s
-can probably be changed with minimal compatibility impact (probably nothing
-outside of the core, or even outside of F<gv.c> allocates them), but they
-probably aren't allocated/deallocated often enough for a speed saving. Whereas
-C<MAGIC> is allocated/deallocated more often, but in turn, is also something
-more externally visible, so changing the rules here may bite external code.
-
-=head2 Shared arenas
-
-Several SV body structs are now the same size, notably PVMG and PVGV, PVAV and
-PVHV, and PVCV and PVFM. It should be possible to allocate and return same
-sized bodies from the same actual arena, rather than maintaining one arena for
-each. This could save 4-6K per thread, of memory no longer tied up in the
-not-yet-allocated part of an arena.
-
-
-=head1 Tasks that need a knowledge of XS
-
-These tasks would need C knowledge, and roughly the level of knowledge of
-the perl API that comes from writing modules that use XS to interface to
-C.
-
-=head2 Write an XS cookbook
-
-Create pod/perlxscookbook.pod with short, task-focused 'recipes' in XS that
-demonstrate common tasks and good practices.  (Some of these might be
-extracted from perlguts.) The target audience should be XS novices, who need
-more examples than perlguts but something less overwhelming than perlapi.
-Recipes should provide "one pretty good way to do it" instead of TIMTOWTDI.
-
-Rather than focusing on interfacing Perl to C libraries, such a cookbook
-should probably focus on how to optimize Perl routines by re-writing them
-in XS.  This will likely be more motivating to those who mostly work in
-Perl but are looking to take the next step into XS.
-
-Deconstructing and explaining some simpler XS modules could be one way to
-bootstrap a cookbook.  (List::Util? Class::XSAccessor? Tree::Ternary_XS?)
-Another option could be deconstructing the implementation of some simpler
-functions in op.c.
-
-=head2 Allow XSUBs to inline themselves as OPs
-
-For a simple XSUB, often the subroutine dispatch takes more time than the
-XSUB itself. The tokeniser already has the ability to inline constant
-subroutines - it would be good to provide a way to inline other subroutines.
-
-Specifically, simplest approach looks to be to allow an XSUB to provide an
-alternative implementation of itself as a custom OP. A new flag bit in
-C<CvFLAGS()> would signal to the peephole optimiser to take an optree
-such as this:
-
-    b  <@> leave[1 ref] vKP/REFC ->(end)
-    1     <0> enter ->2
-    2     <;> nextstate(main 1 -e:1) v:{ ->3
-    a     <2> sassign vKS/2 ->b
-    8        <1> entersub[t2] sKS/TARG,1 ->9
-    -           <1> ex-list sK ->8
-    3              <0> pushmark s ->4
-    4              <$> const(IV 1) sM ->5
-    6              <1> rv2av[t1] lKM/1 ->7
-    5                 <$> gv(*a) s ->6
-    -              <1> ex-rv2cv sK ->-
-    7                 <$> gv(*x) s/EARLYCV ->8
-    -        <1> ex-rv2sv sKRM*/1 ->a
-    9           <$> gvsv(*b) s ->a
-
-perform the symbol table lookup of C<rv2cv> and C<gv(*x)>, locate the
-pointer to the custom OP that provides the direct implementation, and re-
-write the optree something like:
-
-    b  <@> leave[1 ref] vKP/REFC ->(end)
-    1     <0> enter ->2
-    2     <;> nextstate(main 1 -e:1) v:{ ->3
-    a     <2> sassign vKS/2 ->b
-    7        <1> custom_x -> 8
-    -           <1> ex-list sK ->7
-    3              <0> pushmark s ->4
-    4              <$> const(IV 1) sM ->5
-    6              <1> rv2av[t1] lKM/1 ->7
-    5                 <$> gv(*a) s ->6
-    -              <1> ex-rv2cv sK ->-
-    -                 <$> ex-gv(*x) s/EARLYCV ->7
-    -        <1> ex-rv2sv sKRM*/1 ->a
-    8           <$> gvsv(*b) s ->a
-
-I<i.e.> the C<gv(*)> OP has been nulled and spliced out of the execution
-path, and the C<entersub> OP has been replaced by the custom op.
-
-This approach should provide a measurable speed up to simple XSUBs inside
-tight loops. Initially one would have to write the OP alternative
-implementation by hand, but it's likely that this should be reasonably
-straightforward for the type of XSUB that would benefit the most. Longer
-term, once the run-time implementation is proven, it should be possible to
-progressively update ExtUtils::ParseXS to generate OP implementations for
-some XSUBs.
-
-=head2 Remove the use of SVs as temporaries in dump.c
-
-F<dump.c> contains debugging routines to dump out the contains of perl data
-structures, such as C<SV>s, C<AV>s and C<HV>s. Currently, the dumping code
-B<uses> C<SV>s for its temporary buffers, which was a logical initial
-implementation choice, as they provide ready made memory handling.
-
-However, they also lead to a lot of confusion when it happens that what you're
-trying to debug is seen by the code in F<dump.c>, correctly or incorrectly, as
-a temporary scalar it can use for a temporary buffer. It's also not possible
-to dump scalars before the interpreter is properly set up, such as during
-ithreads cloning. It would be good to progressively replace the use of scalars
-as string accumulation buffers with something much simpler, directly allocated
-by C<malloc>. The F<dump.c> code is (or should be) only producing 7 bit
-US-ASCII, so output character sets are not an issue.
-
-Producing and proving an internal simple buffer allocation would make it easier
-to re-write the internals of the PerlIO subsystem to avoid using C<SV>s for
-B<its> buffers, use of which can cause problems similar to those of F<dump.c>,
-at similar times.
-
-=head2 safely supporting POSIX SA_SIGINFO
-
-Some years ago Jarkko supplied patches to provide support for the POSIX
-SA_SIGINFO feature in Perl, passing the extra data to the Perl signal handler.
-
-Unfortunately, it only works with "unsafe" signals, because under safe
-signals, by the time Perl gets to run the signal handler, the extra
-information has been lost. Moreover, it's not easy to store it somewhere,
-as you can't call mutexs, or do anything else fancy, from inside a signal
-handler.
-
-So it strikes me that we could provide safe SA_SIGINFO support
-
-=over 4
-
-=item 1
-
-Provide global variables for two file descriptors
-
-=item 2
-
-When the first request is made via C<sigaction> for C<SA_SIGINFO>, create a
-pipe, store the reader in one, the writer in the other
-
-=item 3
-
-In the "safe" signal handler (C<Perl_csighandler()>/C<S_raise_signal()>), if
-the C<siginfo_t> pointer non-C<NULL>, and the writer file handle is open,
-
-=over 8
-
-=item 1
-
-serialise signal number, C<struct siginfo_t> (or at least the parts we care
-about) into a small auto char buff
-
-=item 2
-
-C<write()> that (non-blocking) to the writer fd
-
-=over 12
-
-=item 1
-
-if it writes 100%, flag the signal in a counter of "signals on the pipe" akin
-to the current per-signal-number counts
-
-=item 2
-
-if it writes 0%, assume the pipe is full. Flag the data as lost?
-
-=item 3
-
-if it writes partially, croak a panic, as your OS is broken.
-
-=back
-
-=back
-
-=item 4
-
-in the regular C<PERL_ASYNC_CHECK()> processing, if there are "signals on
-the pipe", read the data out, deserialise, build the Perl structures on
-the stack (code in C<Perl_sighandler()>, the "unsafe" handler), and call as
-usual.
-
-=back
-
-I think that this gets us decent C<SA_SIGINFO> support, without the current risk
-of running Perl code inside the signal handler context. (With all the dangers
-of things like C<malloc> corruption that that currently offers us)
-
-For more information see the thread starting with this message:
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-03/msg00305.html>
-
-=head2 autovivification
-
-Make all autovivification consistent w.r.t LVALUE/RVALUE and strict/no strict;
-
-This task is incremental - even a little bit of work on it will help.
-
-=head2 Unicode in Filenames
-
-chdir, chmod, chown, chroot, exec, glob, link, lstat, mkdir, open,
-opendir, qx, readdir, readlink, rename, rmdir, stat, symlink, sysopen,
-system, truncate, unlink, utime, -X.  All these could potentially accept
-Unicode filenames either as input or output (and in the case of system
-and qx Unicode in general, as input or output to/from the shell).
-Whether a filesystem - an operating system pair understands Unicode in
-filenames varies.
-
-Known combinations that have some level of understanding include
-Microsoft NTFS, Apple HFS+ (In Mac OS 9 and X) and Apple UFS (in Mac
-OS X), NFS v4 is rumored to be Unicode, and of course Plan 9.  How to
-create Unicode filenames, what forms of Unicode are accepted and used
-(UCS-2, UTF-16, UTF-8), what (if any) is the normalization form used,
-and so on, varies.  Finding the right level of interfacing to Perl
-requires some thought.  Remember that an OS does not implicate a
-filesystem.
-
-(The Windows -C command flag "wide API support" has been at least
-temporarily retired in 5.8.1, and the -C has been repurposed, see
-L<perlrun>.)
-
-Most probably the right way to do this would be this:
-L</"Virtualize operating system access">.
-
-=head2 Unicode in %ENV
-
-Currently the %ENV entries are always byte strings.
-See L</"Virtualize operating system access">.
-
-=head2 Unicode and glob()
-
-Currently glob patterns and filenames returned from File::Glob::glob()
-are always byte strings.  See L</"Virtualize operating system access">.
-
-=head2 use less 'memory'
-
-Investigate trade offs to switch out perl's choices on memory usage.
-Particularly perl should be able to give memory back.
-
-This task is incremental - even a little bit of work on it will help.
-
-=head2 Re-implement C<:unique> in a way that is actually thread-safe
-
-The old implementation made bad assumptions on several levels. A good 90%
-solution might be just to make C<:unique> work to share the string buffer
-of SvPVs. That way large constant strings can be shared between ithreads,
-such as the configuration information in F<Config>.
-
-=head2 Make tainting consistent
-
-Tainting would be easier to use if it didn't take documented shortcuts and
-allow taint to "leak" everywhere within an expression.
-
-=head2 readpipe(LIST)
-
-system() accepts a LIST syntax (and a PROGRAM LIST syntax) to avoid
-running a shell. readpipe() (the function behind qx//) could be similarly
-extended.
-
-=head2 Audit the code for destruction ordering assumptions
-
-Change 25773 notes
-
-    /* Need to check SvMAGICAL, as during global destruction it may be that
-       AvARYLEN(av) has been freed before av, and hence the SvANY() pointer
-       is now part of the linked list of SV heads, rather than pointing to
-       the original body.  */
-    /* FIXME - audit the code for other bugs like this one.  */
-
-adding the C<SvMAGICAL> check to
-
-    if (AvARYLEN(av) && SvMAGICAL(AvARYLEN(av))) {
-        MAGIC *mg = mg_find (AvARYLEN(av), PERL_MAGIC_arylen);
-
-Go through the core and look for similar assumptions that SVs have particular
-types, as all bets are off during global destruction.
-
-=head2 Extend PerlIO and PerlIO::Scalar
-
-PerlIO::Scalar doesn't know how to truncate().  Implementing this
-would require extending the PerlIO vtable.
-
-Similarly the PerlIO vtable doesn't know about formats (write()), or
-about stat(), or chmod()/chown(), utime(), or flock().
-
-(For PerlIO::Scalar it's hard to see what e.g. mode bits or ownership
-would mean.)
-
-PerlIO doesn't do directories or symlinks, either: mkdir(), rmdir(),
-opendir(), closedir(), seekdir(), rewinddir(), glob(); symlink(),
-readlink().
-
-See also L</"Virtualize operating system access">.
-
-=head2 -C on the #! line
-
-It should be possible to make -C work correctly if found on the #! line,
-given that all perl command line options are strict ASCII, and -C changes
-only the interpretation of non-ASCII characters, and not for the script file
-handle. To make it work needs some investigation of the ordering of function
-calls during startup, and (by implication) a bit of tweaking of that order.
-
-=head2 Organize error messages
-
-Perl's diagnostics (error messages, see L<perldiag>) could use
-reorganizing and formalizing so that each error message has its
-stable-for-all-eternity unique id, categorized by severity, type, and
-subsystem.  (The error messages would be listed in a datafile outside
-of the Perl source code, and the source code would only refer to the
-messages by the id.)  This clean-up and regularizing should apply
-for all croak() messages.
-
-This would enable all sorts of things: easier translation/localization
-of the messages (though please do keep in mind the caveats of
-L<Locale::Maketext> about too straightforward approaches to
-translation), filtering by severity, and instead of grepping for a
-particular error message one could look for a stable error id.  (Of
-course, changing the error messages by default would break all the
-existing software depending on some particular error message...)
-
-This kind of functionality is known as I<message catalogs>.  Look for
-inspiration for example in the catgets() system, possibly even use it
-if available-- but B<only> if available, all platforms will B<not>
-have catgets().
-
-For the really pure at heart, consider extending this item to cover
-also the warning messages (see L<perllexwarn>, C<warnings.pl>).
-
-=head1 Tasks that need a knowledge of the interpreter
-
-These tasks would need C knowledge, and knowledge of how the interpreter works,
-or a willingness to learn.
-
-=head2 forbid labels with keyword names
-
-Currently C<goto keyword> "computes" the label value:
-
-    $ perl -e 'goto print'
-    Can't find label 1 at -e line 1.
-
-It is controversial if the right way to avoid the confusion is to forbid
-labels with keyword names, or if it would be better to always treat
-bareword expressions after a "goto" as a label and never as a keyword.
-
-=head2 truncate() prototype
-
-The prototype of truncate() is currently C<$$>. It should probably
-be C<*$> instead. (This is changed in F<opcode.pl>)
-
-=head2 decapsulation of smart match argument
-
-Currently C<$foo ~~ $object> will die with the message "Smart matching a
-non-overloaded object breaks encapsulation". It would be nice to allow
-to bypass this by using explicitly the syntax C<$foo ~~ %$object> or
-C<$foo ~~ @$object>.
-
-=head2 error reporting of [$a ; $b]
-
-Using C<;> inside brackets is a syntax error, and we don't propose to change
-that by giving it any meaning. However, it's not reported very helpfully:
-
-    $ perl -e '$a = [$b; $c];'
-    syntax error at -e line 1, near "$b;"
-    syntax error at -e line 1, near "$c]"
-    Execution of -e aborted due to compilation errors.
-
-It should be possible to hook into the tokeniser or the lexer, so that when a
-C<;> is parsed where it is not legal as a statement terminator (ie inside
-C<{}> used as a hashref, C<[]> or C<()>) it issues an error something like
-I<';' isn't legal inside an expression - if you need multiple statements use a
-do {...} block>. See the thread starting at
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2008-09/msg00573.html>
-
-=head2 lexicals used only once
-
-This warns:
-
-    $ perl -we '$pie = 42'
-    Name "main::pie" used only once: possible typo at -e line 1.
-
-This does not:
-
-    $ perl -we 'my $pie = 42'
-
-Logically all lexicals used only once should warn, if the user asks for
-warnings.  An unworked RT ticket (#5087) has been open for almost seven
-years for this discrepancy.
-
-=head2 UTF-8 revamp
-
-The handling of Unicode is unclean in many places.  In the regex engine
-there are especially many problems.  The swash data structure could be
-replaced my something better.  Inversion lists and maps are likely
-candidates.  The whole Unicode database could be placed in-core for a
-huge speed-up.  Only minimal work was done on the optimizer when utf8
-was added, with the result that the synthetic start class often will
-fail to narrow down the possible choices when given non-Latin1 input.
-
-=head2 Properly Unicode safe tokeniser and pads.
-
-The tokeniser isn't actually very UTF-8 clean. C<use utf8;> is a hack -
-variable names are stored in stashes as raw bytes, without the utf-8 flag
-set. The pad API only takes a C<char *> pointer, so that's all bytes too. The
-tokeniser ignores the UTF-8-ness of C<PL_rsfp>, or any SVs returned from
-source filters.  All this could be fixed.
-
-=head2 state variable initialization in list context
-
-Currently this is illegal:
-
-    state ($a, $b) = foo(); 
-
-In Perl 6, C<state ($a) = foo();> and C<(state $a) = foo();> have different
-semantics, which is tricky to implement in Perl 5 as currently they produce
-the same opcode trees. The Perl 6 design is firm, so it would be good to
-implement the necessary code in Perl 5. There are comments in
-C<Perl_newASSIGNOP()> that show the code paths taken by various assignment
-constructions involving state variables.
-
-=head2 Implement $value ~~ 0 .. $range
-
-It would be nice to extend the syntax of the C<~~> operator to also
-understand numeric (and maybe alphanumeric) ranges.
-
-=head2 A does() built-in
-
-Like ref(), only useful. It would call the C<DOES> method on objects; it
-would also tell whether something can be dereferenced as an
-array/hash/etc., or used as a regexp, etc.
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-03/msg00481.html>
-
-=head2 Tied filehandles and write() don't mix
-
-There is no method on tied filehandles to allow them to be called back by
-formats.
-
-=head2 Propagate compilation hints to the debugger
-
-Currently a debugger started with -dE on the command-line doesn't see the
-features enabled by -E. More generally hints (C<$^H> and C<%^H>) aren't
-propagated to the debugger. Probably it would be a good thing to propagate
-hints from the innermost non-C<DB::> scope: this would make code eval'ed
-in the debugger see the features (and strictures, etc.) currently in
-scope.
-
-=head2 Attach/detach debugger from running program
-
-The old perltodo notes "With C<gdb>, you can attach the debugger to a running
-program if you pass the process ID. It would be good to do this with the Perl
-debugger on a running Perl program, although I'm not sure how it would be
-done." ssh and screen do this with named pipes in /tmp. Maybe we can too.
-
-=head2 LVALUE functions for lists
-
-The old perltodo notes that lvalue functions don't work for list or hash
-slices. This would be good to fix.
-
-=head2 regexp optimiser optional
-
-The regexp optimiser is not optional. It should configurable to be, to allow
-its performance to be measured, and its bugs to be easily demonstrated.
-
-=head2 C</w> regex modifier
-
-That flag would enable to match whole words, and also to interpolate
-arrays as alternations. With it, C</P/w> would be roughly equivalent to:
-
-    do { local $"='|'; /\b(?:P)\b/ }
-
-See
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-01/msg00400.html>
-for the discussion.
-
-=head2 optional optimizer
-
-Make the peephole optimizer optional. Currently it performs two tasks as
-it walks the optree - genuine peephole optimisations, and necessary fixups of
-ops. It would be good to find an efficient way to switch out the
-optimisations whilst keeping the fixups.
-
-=head2 You WANT *how* many
-
-Currently contexts are void, scalar and list. split has a special mechanism in
-place to pass in the number of return values wanted. It would be useful to
-have a general mechanism for this, backwards compatible and little speed hit.
-This would allow proposals such as short circuiting sort to be implemented
-as a module on CPAN.
-
-=head2 lexical aliases
-
-Allow lexical aliases (maybe via the syntax C<my \$alias = \$foo>.
-
-=head2 entersub XS vs Perl
-
-At the moment pp_entersub is huge, and has code to deal with entering both
-perl and XS subroutines. Subroutine implementations rarely change between 
-perl and XS at run time, so investigate using 2 ops to enter subs (one for
-XS, one for perl) and swap between if a sub is redefined.
-
-=head2 Self-ties
-
-Self-ties are currently illegal because they caused too many segfaults. Maybe
-the causes of these could be tracked down and self-ties on all types
-reinstated.
-
-=head2 Optimize away @_
-
-The old perltodo notes "Look at the "reification" code in C<av.c>".
-
-=head2 Virtualize operating system access
-
-Implement a set of "vtables" that virtualizes operating system access
-(open(), mkdir(), unlink(), readdir(), getenv(), etc.)  At the very
-least these interfaces should take SVs as "name" arguments instead of
-bare char pointers; probably the most flexible and extensible way
-would be for the Perl-facing interfaces to accept HVs.  The system
-needs to be per-operating-system and per-file-system
-hookable/filterable, preferably both from XS and Perl level
-(L<perlport/"Files and Filesystems"> is good reading at this point,
-in fact, all of L<perlport> is.)
-
-This has actually already been implemented (but only for Win32),
-take a look at F<iperlsys.h> and F<win32/perlhost.h>.  While all Win32
-variants go through a set of "vtables" for operating system access,
-non-Win32 systems currently go straight for the POSIX/Unix-style
-system/library call.  Similar system as for Win32 should be
-implemented for all platforms.  The existing Win32 implementation
-probably does not need to survive alongside this proposed new
-implementation, the approaches could be merged.
-
-What would this give us?  One often-asked-for feature this would
-enable is using Unicode for filenames, and other "names" like %ENV,
-usernames, hostnames, and so forth.
-(See L<perlunicode/"When Unicode Does Not Happen">.)
-
-But this kind of virtualization would also allow for things like
-virtual filesystems, virtual networks, and "sandboxes" (though as long
-as dynamic loading of random object code is allowed, not very safe
-sandboxes since external code of course know not of Perl's vtables).
-An example of a smaller "sandbox" is that this feature can be used to
-implement per-thread working directories: Win32 already does this.
-
-See also L</"Extend PerlIO and PerlIO::Scalar">.
-
-=head2 Investigate PADTMP hash pessimisation
-
-The peephole optimiser converts constants used for hash key lookups to shared
-hash key scalars. Under ithreads, something is undoing this work.
-See
-L<http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2007-09/msg00793.html>
-
-=head2 Store the current pad in the OP slab allocator
-
-=for clarification
-I hope that I got that "current pad" part correct
-
-Currently we leak ops in various cases of parse failure. I suggested that we
-could solve this by always using the op slab allocator, and walking it to
-free ops. Dave comments that as some ops are already freed during optree
-creation one would have to mark which ops are freed, and not double free them
-when walking the slab. He notes that one problem with this is that for some ops
-you have to know which pad was current at the time of allocation, which does
-change. I suggested storing a pointer to the current pad in the memory allocated
-for the slab, and swapping to a new slab each time the pad changes. Dave thinks
-that this would work.
-
-=head2 repack the optree
-
-Repacking the optree after execution order is determined could allow
-removal of NULL ops, and optimal ordering of OPs with respect to cache-line
-filling.  The slab allocator could be reused for this purpose.  I think that
-the best way to do this is to make it an optional step just before the
-completed optree is attached to anything else, and to use the slab allocator
-unchanged, so that freeing ops is identical whether or not this step runs.
-Note that the slab allocator allocates ops downwards in memory, so one would
-have to actually "allocate" the ops in reverse-execution order to get them
-contiguous in memory in execution order.
-
-See
-L<http://www.nntp.perl.org/group/perl.perl5.porters/2007/12/msg131975.html>
-
-Note that running this copy, and then freeing all the old location ops would
-cause their slabs to be freed, which would eliminate possible memory wastage if
-the previous suggestion is implemented, and we swap slabs more frequently.
-
-=head2 eliminate incorrect line numbers in warnings
-
-This code
-
-    use warnings;
-    my $undef;
-    
-    if ($undef == 3) {
-    } elsif ($undef == 0) {
-    }
-
-used to produce this output:
-
-    Use of uninitialized value in numeric eq (==) at wrong.pl line 4.
-    Use of uninitialized value in numeric eq (==) at wrong.pl line 4.
-
-where the line of the second warning was misreported - it should be line 5.
-Rafael fixed this - the problem arose because there was no nextstate OP
-between the execution of the C<if> and the C<elsif>, hence C<PL_curcop> still
-reports that the currently executing line is line 4. The solution was to inject
-a nextstate OPs for each C<elsif>, although it turned out that the nextstate
-OP needed to be a nulled OP, rather than a live nextstate OP, else other line
-numbers became misreported. (Jenga!)
-
-The problem is more general than C<elsif> (although the C<elsif> case is the
-most common and the most confusing). Ideally this code
-
-    use warnings;
-    my $undef;
-    
-    my $a = $undef + 1;
-    my $b
-      = $undef
-      + 1;
-
-would produce this output
-
-    Use of uninitialized value $undef in addition (+) at wrong.pl line 4.
-    Use of uninitialized value $undef in addition (+) at wrong.pl line 7.
-
-(rather than lines 4 and 5), but this would seem to require every OP to carry
-(at least) line number information.
-
-What might work is to have an optional line number in memory just before the
-BASEOP structure, with a flag bit in the op to say whether it's present.
-Initially during compile every OP would carry its line number. Then add a late
-pass to the optimiser (potentially combined with L</repack the optree>) which
-looks at the two ops on every edge of the graph of the execution path. If
-the line number changes, flags the destination OP with this information.
-Once all paths are traced, replace every op with the flag with a
-nextstate-light op (that just updates C<PL_curcop>), which in turn then passes
-control on to the true op. All ops would then be replaced by variants that
-do not store the line number. (Which, logically, why it would work best in
-conjunction with L</repack the optree>, as that is already copying/reallocating
-all the OPs)
-
-(Although I should note that we're not certain that doing this for the general
-case is worth it)
-
-=head2 optimize tail-calls
-
-Tail-calls present an opportunity for broadly applicable optimization;
-anywhere that C<< return foo(...) >> is called, the outer return can
-be replaced by a goto, and foo will return directly to the outer
-caller, saving (conservatively) 25% of perl's call&return cost, which
-is relatively higher than in C.  The scheme language is known to do
-this heavily.  B::Concise provides good insight into where this
-optimization is possible, ie anywhere entersub,leavesub op-sequence
-occurs.
-
- perl -MO=Concise,-exec,a,b,-main -e 'sub a{ 1 }; sub b {a()}; b(2)'
-
-Bottom line on this is probably a new pp_tailcall function which
-combines the code in pp_entersub, pp_leavesub.  This should probably
-be done 1st in XS, and using B::Generate to patch the new OP into the
-optrees.
-
-=head2 Add C<00dddd>
-
-It has been proposed that octal constants be specifiable through the syntax
-C<0oddddd>, parallel to the existing construct to specify hex constants
-C<0xddddd>
-
-=head1 Big projects
-
-Tasks that will get your name mentioned in the description of the "Highlights
-of 5.14"
-
-=head2 make ithreads more robust
-
-Generally make ithreads more robust. See also L</iCOW>
-
-This task is incremental - even a little bit of work on it will help, and
-will be greatly appreciated.
-
-One bit would be to determine how to clone directory handles on systems
-without a C<fchdir> function (in sv.c:Perl_dirp_dup).
-
-Fix Perl_sv_dup, et al so that threads can return objects.
-
-=head2 iCOW
-
-Sarathy and Arthur have a proposal for an improved Copy On Write which
-specifically will be able to COW new ithreads. If this can be implemented
-it would be a good thing.
-
-=head2 (?{...}) closures in regexps
-
-Fix (or rewrite) the implementation of the C</(?{...})/> closures.
-
-=head2 Add class set operations to regexp engine
-
-Apparently these are quite useful. Anyway, Jeffery Friedl wants them.
-
-demerphq has this on his todo list, but right at the bottom.  
-
-
-=head1 Tasks for microperl
-
-
-[ Each and every one of these may be obsolete, but they were listed
-  in the old Todo.micro file]
-
-
-=head2 make creating uconfig.sh automatic 
-
-=head2 make creating Makefile.micro automatic
-
-=head2 do away with fork/exec/wait?
-
-(system, popen should be enough?)
-
-=head2 some of the uconfig.sh really needs to be probed (using cc) in buildtime:
-
-(uConfigure? :-) native datatype widths and endianness come to mind
-
+We no longer install the Perl 5 to-do list as a manpage, as installing
+snapshot that becomes increasingly out of date isn't that useful to anyone.
+The current Perl 5 to-do list is maintained in the git repository, and can
+be viewed at L<http://perl5.git.perl.org/perl.git/blob/HEAD:/Porting/todo.pod>


Property changes on: vendor/perl/dist/pod/perltodo.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perltooc.pod
===================================================================
--- vendor/perl/dist/pod/perltooc.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perltooc.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,1342 +1,12 @@
+=encoding utf8
+
 =head1 NAME
 
-perltooc - Tom's OO Tutorial for Class Data in Perl
+perltooc - This document has been deleted
 
 =head1 DESCRIPTION
 
-When designing an object class, you are sometimes faced with the situation
-of wanting common state shared by all objects of that class.
-Such I<class attributes> act somewhat like global variables for the entire
-class, but unlike program-wide globals, class attributes have meaning only to
-the class itself.
+For information on OO programming with Perl, please see L<perlootut>
+and L<perlobj>.
 
-Here are a few examples where class attributes might come in handy:
-
-=over 4
-
-=item *
-
-to keep a count of the objects you've created, or how many are
-still extant.
-
-=item *
-
-to extract the name or file descriptor for a logfile used by a debugging
-method.
-
-=item *
-
-to access collective data, like the total amount of cash dispensed by
-all ATMs in a network in a given day.
-
-=item *
-
-to access the last object created by a class, or the most accessed object,
-or to retrieve a list of all objects.
-
-=back
-
-Unlike a true global, class attributes should not be accessed directly.
-Instead, their state should be inspected, and perhaps altered, only
-through the mediated access of I<class methods>.  These class attributes
-accessor methods are similar in spirit and function to accessors used
-to manipulate the state of instance attributes on an object.  They provide a
-clear firewall between interface and implementation.
-
-You should allow access to class attributes through either the class
-name or any object of that class.  If we assume that $an_object is of
-type Some_Class, and the &Some_Class::population_count method accesses
-class attributes, then these two invocations should both be possible,
-and almost certainly equivalent.
-
-    Some_Class->population_count()
-    $an_object->population_count()
-
-The question is, where do you store the state which that method accesses?
-Unlike more restrictive languages like C++, where these are called
-static data members, Perl provides no syntactic mechanism to declare
-class attributes, any more than it provides a syntactic mechanism to
-declare instance attributes.  Perl provides the developer with a broad
-set of powerful but flexible features that can be uniquely crafted to
-the particular demands of the situation.
-
-A class in Perl is typically implemented in a module.  A module consists
-of two complementary feature sets: a package for interfacing with the
-outside world, and a lexical file scope for privacy.  Either of these
-two mechanisms can be used to implement class attributes.  That means you
-get to decide whether to put your class attributes in package variables
-or to put them in lexical variables.
-
-And those aren't the only decisions to make.  If you choose to use package
-variables, you can make your class attribute accessor methods either ignorant
-of inheritance or sensitive to it.  If you choose lexical variables,
-you can elect to permit access to them from anywhere in the entire file
-scope, or you can limit direct data access exclusively to the methods
-implementing those attributes.
-
-=head1 Class Data in a Can
-
-One of the easiest ways to solve a hard problem is to let someone else
-do it for you!  In this case, Class::Data::Inheritable (available on a
-CPAN near you) offers a canned solution to the class data problem
-using closures.  So before you wade into this document, consider
-having a look at that module.
-
-
-=head1 Class Data as Package Variables
-
-Because a class in Perl is really just a package, using package variables
-to hold class attributes is the most natural choice.  This makes it simple
-for each class to have its own class attributes.  Let's say you have a class
-called Some_Class that needs a couple of different attributes that you'd
-like to be global to the entire class.  The simplest thing to do is to
-use package variables like $Some_Class::CData1 and $Some_Class::CData2
-to hold these attributes.  But we certainly don't want to encourage
-outsiders to touch those data directly, so we provide methods
-to mediate access.
-
-In the accessor methods below, we'll for now just ignore the first
-argument--that part to the left of the arrow on method invocation, which 
-is either a class name or an object reference.
-
-    package Some_Class;
-    sub CData1 {
-	shift;	# XXX: ignore calling class/object
-	$Some_Class::CData1 = shift if @_;
-	return $Some_Class::CData1;
-    } 
-    sub CData2 {
-	shift;	# XXX: ignore calling class/object
-	$Some_Class::CData2 = shift if @_;
-	return $Some_Class::CData2;
-    } 
-
-This technique is highly legible and should be completely straightforward
-to even the novice Perl programmer.  By fully qualifying the package
-variables, they stand out clearly when reading the code.  Unfortunately,
-if you misspell one of these, you've introduced an error that's hard
-to catch.  It's also somewhat disconcerting to see the class name itself
-hard-coded in so many places.
-
-Both these problems can be easily fixed.  Just add the C<use strict>
-pragma, then pre-declare your package variables.  (The C<our> operator
-will be new in 5.6, and will work for package globals just like C<my>
-works for scoped lexicals.)
-
-    package Some_Class;
-    use strict;
-    our($CData1, $CData2);   	# our() is new to perl5.6
-    sub CData1 {
-	shift;	# XXX: ignore calling class/object
-	$CData1 = shift if @_;
-	return $CData1;
-    } 
-    sub CData2 {
-	shift;	# XXX: ignore calling class/object
-	$CData2 = shift if @_;
-	return $CData2;
-    } 
-
-
-As with any other global variable, some programmers prefer to start their
-package variables with capital letters.  This helps clarity somewhat, but
-by no longer fully qualifying the package variables, their significance
-can be lost when reading the code.  You can fix this easily enough by
-choosing better names than were used here.
-
-=head2 Putting All Your Eggs in One Basket
-
-Just as the mindless enumeration of accessor methods for instance attributes
-grows tedious after the first few (see L<perltoot>), so too does the
-repetition begin to grate when listing out accessor methods for class
-data.  Repetition runs counter to the primary virtue of a programmer:
-Laziness, here manifesting as that innate urge every programmer feels
-to factor out duplicate code whenever possible.
-
-Here's what to do.  First, make just one hash to hold all class attributes.
-
-    package Some_Class;
-    use strict;
-    our %ClassData = (   	# our() is new to perl5.6
-	CData1 => "",
-	CData2 => "",
-    );
-
-Using closures (see L<perlref>) and direct access to the package symbol
-table (see L<perlmod>), now clone an accessor method for each key in
-the %ClassData hash.  Each of these methods is used to fetch or store
-values to the specific, named class attribute.
-
-    for my $datum (keys %ClassData) {
-	no strict "refs";	# to register new methods in package
-	*$datum = sub {
-	    shift;	# XXX: ignore calling class/object
-	    $ClassData{$datum} = shift if @_;
-	    return $ClassData{$datum};
-	} 
-    } 
-
-It's true that you could work out a solution employing an &AUTOLOAD
-method, but this approach is unlikely to prove satisfactory.  Your
-function would have to distinguish between class attributes and object
-attributes; it could interfere with inheritance; and it would have to
-careful about DESTROY.  Such complexity is uncalled for in most cases,
-and certainly in this one.
-
-You may wonder why we're rescinding strict refs for the loop.  We're
-manipulating the package's symbol table to introduce new function names
-using symbolic references (indirect naming), which the strict pragma
-would otherwise forbid.  Normally, symbolic references are a dodgy
-notion at best.  This isn't just because they can be used accidentally
-when you aren't meaning to.  It's also because for most uses
-to which beginning Perl programmers attempt to put symbolic references,
-we have much better approaches, like nested hashes or hashes of arrays.
-But there's nothing wrong with using symbolic references to manipulate
-something that is meaningful only from the perspective of the package
-symbol table, like method names or package variables.  In other
-words, when you want to refer to the symbol table, use symbol references.
-
-Clustering all the class attributes in one place has several advantages.
-They're easy to spot, initialize, and change.  The aggregation also
-makes them convenient to access externally, such as from a debugger
-or a persistence package.  The only possible problem is that we don't
-automatically know the name of each class's class object, should it have
-one.  This issue is addressed below in L<"The Eponymous Meta-Object">.
-
-=head2 Inheritance Concerns
-
-Suppose you have an instance of a derived class, and you access class
-data using an inherited method call.  Should that end up referring
-to the base class's attributes, or to those in the derived class?
-How would it work in the earlier examples?  The derived class inherits
-all the base class's methods, including those that access class attributes.
-But what package are the class attributes stored in?
-
-The answer is that, as written, class attributes are stored in the package into
-which those methods were compiled.  When you invoke the &CData1 method
-on the name of the derived class or on one of that class's objects, the
-version shown above is still run, so you'll access $Some_Class::CData1--or
-in the method cloning version, C<$Some_Class::ClassData{CData1}>.
-
-Think of these class methods as executing in the context of their base
-class, not in that of their derived class.  Sometimes this is exactly
-what you want.  If Feline subclasses Carnivore, then the population of
-Carnivores in the world should go up when a new Feline is born.
-But what if you wanted to figure out how many Felines you have apart
-from Carnivores?  The current approach doesn't support that.
-
-You'll have to decide on a case-by-case basis whether it makes any sense
-for class attributes to be package-relative.  If you want it to be so,
-then stop ignoring the first argument to the function.  Either it will
-be a package name if the method was invoked directly on a class name,
-or else it will be an object reference if the method was invoked on an
-object reference.  In the latter case, the ref() function provides the
-class of that object.
-
-    package Some_Class;
-    sub CData1 {
-	my $obclass = shift;	
-	my $class   = ref($obclass) || $obclass;
-	my $varname = $class . "::CData1";
-	no strict "refs"; 	# to access package data symbolically
-	$$varname = shift if @_;
-	return $$varname;
-    } 
-
-And then do likewise for all other class attributes (such as CData2,
-etc.) that you wish to access as package variables in the invoking package
-instead of the compiling package as we had previously.
-
-Once again we temporarily disable the strict references ban, because
-otherwise we couldn't use the fully-qualified symbolic name for
-the package global.  This is perfectly reasonable: since all package
-variables by definition live in a package, there's nothing wrong with
-accessing them via that package's symbol table.  That's what it's there
-for (well, somewhat).
-
-What about just using a single hash for everything and then cloning
-methods?  What would that look like?  The only difference would be the
-closure used to produce new method entries for the class's symbol table.
-
-    no strict "refs";	
-    *$datum = sub {
-	my $obclass = shift;	
-	my $class   = ref($obclass) || $obclass;
-	my $varname = $class . "::ClassData";
-	$varname->{$datum} = shift if @_;
-	return $varname->{$datum};
-    }
-
-=head2 The Eponymous Meta-Object
-
-It could be argued that the %ClassData hash in the previous example is
-neither the most imaginative nor the most intuitive of names.  Is there
-something else that might make more sense, be more useful, or both?
-
-As it happens, yes, there is.  For the "class meta-object", we'll use
-a package variable of the same name as the package itself.  Within the
-scope of a package Some_Class declaration, we'll use the eponymously
-named hash %Some_Class as that class's meta-object.  (Using an eponymously
-named hash is somewhat reminiscent of classes that name their constructors
-eponymously in the Python or C++ fashion.  That is, class Some_Class would
-use &Some_Class::Some_Class as a constructor, probably even exporting that
-name as well.  The StrNum class in Recipe 13.14 in I<The Perl Cookbook>
-does this, if you're looking for an example.)
-
-This predictable approach has many benefits, including having a well-known
-identifier to aid in debugging, transparent persistence,
-or checkpointing.  It's also the obvious name for monadic classes and
-translucent attributes, discussed later.
-
-Here's an example of such a class.  Notice how the name of the 
-hash storing the meta-object is the same as the name of the package
-used to implement the class.
-
-    package Some_Class;
-    use strict;
-
-    # create class meta-object using that most perfect of names
-    our %Some_Class = (   	# our() is new to perl5.6
-	CData1 => "",
-	CData2 => "",
-    );
-
-    # this accessor is calling-package-relative
-    sub CData1 {
-	my $obclass = shift;	
-	my $class   = ref($obclass) || $obclass;
-	no strict "refs"; 	# to access eponymous meta-object
-	$class->{CData1} = shift if @_;
-	return $class->{CData1};
-    }
-
-    # but this accessor is not
-    sub CData2 {
-	shift;			# XXX: ignore calling class/object
-	no strict "refs"; 	# to access eponymous meta-object
-	__PACKAGE__ -> {CData2} = shift if @_;
-	return __PACKAGE__ -> {CData2};
-    } 
-
-In the second accessor method, the __PACKAGE__ notation was used for
-two reasons.  First, to avoid hardcoding the literal package name
-in the code in case we later want to change that name.  Second, to
-clarify to the reader that what matters here is the package currently
-being compiled into, not the package of the invoking object or class.
-If the long sequence of non-alphabetic characters bothers you, you can
-always put the __PACKAGE__ in a variable first.
-
-    sub CData2 {
-	shift;			# XXX: ignore calling class/object
-	no strict "refs"; 	# to access eponymous meta-object
-	my $class = __PACKAGE__;
-	$class->{CData2} = shift if @_;
-	return $class->{CData2};
-    } 
-
-Even though we're using symbolic references for good not evil, some
-folks tend to become unnerved when they see so many places with strict
-ref checking disabled.  Given a symbolic reference, you can always
-produce a real reference (the reverse is not true, though).  So we'll
-create a subroutine that does this conversion for us.  If invoked as a
-function of no arguments, it returns a reference to the compiling class's
-eponymous hash.  Invoked as a class method, it returns a reference to
-the eponymous hash of its caller.  And when invoked as an object method,
-this function returns a reference to the eponymous hash for whatever
-class the object belongs to.
-
-    package Some_Class;
-    use strict;
-
-    our %Some_Class = (   	# our() is new to perl5.6
-	CData1 => "",
-	CData2 => "",
-    );
-
-    # tri-natured: function, class method, or object method
-    sub _classobj {
-	my $obclass = shift || __PACKAGE__;
-	my $class   = ref($obclass) || $obclass;
-	no strict "refs";   # to convert sym ref to real one
-	return \%$class;
-    } 
-
-    for my $datum (keys %{ _classobj() } ) { 
-	# turn off strict refs so that we can
-	# register a method in the symbol table
-	no strict "refs";    	
-	*$datum = sub {
-	    use strict "refs";
-	    my $self = shift->_classobj();
-	    $self->{$datum} = shift if @_;
-	    return $self->{$datum};
-	}
-    }
-
-=head2 Indirect References to Class Data
-
-A reasonably common strategy for handling class attributes is to store
-a reference to each package variable on the object itself.  This is
-a strategy you've probably seen before, such as in L<perltoot> and
-L<perlbot>, but there may be variations in the example below that you
-haven't thought of before.
-
-    package Some_Class;
-    our($CData1, $CData2);      	# our() is new to perl5.6
-
-    sub new {
-	my $obclass = shift;
-	return bless my $self = {
-	    ObData1 => "",
-	    ObData2 => "",
-	    CData1  => \$CData1,
-	    CData2  => \$CData2,
-	} => (ref $obclass || $obclass);
-    } 
-
-    sub ObData1 {
-	my $self = shift;
-	$self->{ObData1} = shift if @_;
-	return $self->{ObData1};
-    } 
-
-    sub ObData2 {
-	my $self = shift;
-	$self->{ObData2} = shift if @_;
-	return $self->{ObData2};
-    } 
-
-    sub CData1 {
-	my $self = shift;
-	my $dataref = ref $self
-			? $self->{CData1}
-			: \$CData1;
-	$$dataref = shift if @_;
-	return $$dataref;
-    } 
-
-    sub CData2 {
-	my $self = shift;
-	my $dataref = ref $self
-			? $self->{CData2}
-			: \$CData2;
-	$$dataref = shift if @_;
-	return $$dataref;
-    } 
-
-As written above, a derived class will inherit these methods, which
-will consequently access package variables in the base class's package.
-This is not necessarily expected behavior in all circumstances.  Here's an
-example that uses a variable meta-object, taking care to access the
-proper package's data.
-
-	package Some_Class;
-	use strict;
-
-	our %Some_Class = (   	# our() is new to perl5.6
-	    CData1 => "",
-	    CData2 => "",
-	);
-
-	sub _classobj {
-	    my $self  = shift;
-	    my $class = ref($self) || $self;
-	    no strict "refs";
-	    # get (hard) ref to eponymous meta-object
-	    return \%$class;
-	} 
-
-	sub new {
-	    my $obclass  = shift;
-	    my $classobj = $obclass->_classobj();
-	    bless my $self = {
-		ObData1 => "",
-		ObData2 => "",
-		CData1  => \$classobj->{CData1},
-		CData2  => \$classobj->{CData2},
-	    } => (ref $obclass || $obclass);
-	    return $self;
-	} 
-
-	sub ObData1 {
-	    my $self = shift;
-	    $self->{ObData1} = shift if @_;
-	    return $self->{ObData1};
-	} 
-
-	sub ObData2 {
-	    my $self = shift;
-	    $self->{ObData2} = shift if @_;
-	    return $self->{ObData2};
-	} 
-
-	sub CData1 {
-	    my $self = shift;
-	    $self = $self->_classobj() unless ref $self;
-	    my $dataref = $self->{CData1};
-	    $$dataref = shift if @_;
-	    return $$dataref;
-	} 
-
-	sub CData2 {
-	    my $self = shift;
-	    $self = $self->_classobj() unless ref $self;
-	    my $dataref = $self->{CData2};
-	    $$dataref = shift if @_;
-	    return $$dataref;
-	} 
-
-Not only are we now strict refs clean, using an eponymous meta-object
-seems to make the code cleaner.  Unlike the previous version, this one
-does something interesting in the face of inheritance: it accesses the
-class meta-object in the invoking class instead of the one into which
-the method was initially compiled.
-
-You can easily access data in the class meta-object, making
-it easy to dump the complete class state using an external mechanism such
-as when debugging or implementing a persistent class.  This works because
-the class meta-object is a package variable, has a well-known name, and
-clusters all its data together.  (Transparent persistence
-is not always feasible, but it's certainly an appealing idea.)
-
-There's still no check that object accessor methods have not been
-invoked on a class name.  If strict ref checking is enabled, you'd
-blow up.  If not, then you get the eponymous meta-object.  What you do
-with--or about--this is up to you.  The next two sections demonstrate
-innovative uses for this powerful feature.
-
-=head2 Monadic Classes
-
-Some of the standard modules shipped with Perl provide class interfaces
-without any attribute methods whatsoever.  The most commonly used module
-not numbered amongst the pragmata, the Exporter module, is a class with
-neither constructors nor attributes.  Its job is simply to provide a
-standard interface for modules wishing to export part of their namespace
-into that of their caller.  Modules use the Exporter's &import method by
-setting their inheritance list in their package's @ISA array to mention
-"Exporter".  But class Exporter provides no constructor, so you can't
-have several instances of the class.  In fact, you can't have any--it
-just doesn't make any sense.  All you get is its methods.  Its interface
-contains no statefulness, so state data is wholly superfluous.
-
-Another sort of class that pops up from time to time is one that supports
-a unique instance.  Such classes are called I<monadic classes>, or less
-formally, I<singletons> or I<highlander classes>.
-
-If a class is monadic, where do you store its state, that is,
-its attributes?  How do you make sure that there's never more than
-one instance?  While you could merely use a slew of package variables,
-it's a lot cleaner to use the eponymously named hash.  Here's a complete
-example of a monadic class:
-
-    package Cosmos;
-    %Cosmos = ();
-
-    # accessor method for "name" attribute
-    sub name {
-	my $self = shift;
-	$self->{name} = shift if @_;
-	return $self->{name};
-    } 
-
-    # read-only accessor method for "birthday" attribute
-    sub birthday {
-	my $self = shift;
-	die "can't reset birthday" if @_;  # XXX: croak() is better
-	return $self->{birthday};
-    } 
-
-    # accessor method for "stars" attribute
-    sub stars {
-	my $self = shift;
-	$self->{stars} = shift if @_;
-	return $self->{stars};
-    } 
-
-    # oh my - one of our stars just went out!
-    sub supernova {
-	my $self = shift;
-	my $count = $self->stars();
-	$self->stars($count - 1) if $count > 0;
-    } 
-
-    # constructor/initializer method - fix by reboot
-    sub bigbang { 
-	my $self = shift;
-	%$self = (
-	    name  	 => "the world according to tchrist",
-	    birthday 	 => time(),
-	    stars 	 => 0,
-	);
-	return $self;	    # yes, it's probably a class.  SURPRISE!
-    }
-
-    # After the class is compiled, but before any use or require 
-    # returns, we start off the universe with a bang.  
-    __PACKAGE__ -> bigbang();
-
-Hold on, that doesn't look like anything special.  Those attribute
-accessors look no different than they would if this were a regular class
-instead of a monadic one.  The crux of the matter is there's nothing
-that says that $self must hold a reference to a blessed object.  It merely
-has to be something you can invoke methods on.  Here the package name
-itself, Cosmos, works as an object.  Look at the &supernova method.  Is that
-a class method or an object method?  The answer is that static analysis
-cannot reveal the answer.  Perl doesn't care, and neither should you.
-In the three attribute methods, C<%$self> is really accessing the %Cosmos
-package variable.
-
-If like Stephen Hawking, you posit the existence of multiple, sequential,
-and unrelated universes, then you can invoke the &bigbang method yourself
-at any time to start everything all over again.  You might think of
-&bigbang as more of an initializer than a constructor, since the function
-doesn't allocate new memory; it only initializes what's already there.
-But like any other constructor, it does return a scalar value to use
-for later method invocations.
-
-Imagine that some day in the future, you decide that one universe just
-isn't enough.  You could write a new class from scratch, but you already
-have an existing class that does what you want--except that it's monadic,
-and you want more than just one cosmos.
-
-That's what code reuse via subclassing is all about.  Look how short
-the new code is:
-
-    package Multiverse;
-    use Cosmos;
-    @ISA = qw(Cosmos);
-
-    sub new {
-	my $protoverse = shift;
-	my $class      = ref($protoverse) || $protoverse;
-	my $self       = {};
-	return bless($self, $class)->bigbang();
-    } 
-    1;
-
-Because we were careful to be good little creators when we designed our
-Cosmos class, we can now reuse it without touching a single line of code
-when it comes time to write our Multiverse class.  The same code that
-worked when invoked as a class method continues to work perfectly well
-when invoked against separate instances of a derived class.
-
-The astonishing thing about the Cosmos class above is that the value
-returned by the &bigbang "constructor" is not a reference to a blessed
-object at all.  It's just the class's own name.  A class name is, for
-virtually all intents and purposes, a perfectly acceptable object.
-It has state, behavior, and identity, the three crucial components
-of an object system.  It even manifests inheritance, polymorphism,
-and encapsulation.  And what more can you ask of an object?
-
-To understand object orientation in Perl, it's important to recognize the
-unification of what other programming languages might think of as class
-methods and object methods into just plain methods.  "Class methods"
-and "object methods" are distinct only in the compartmentalizing mind
-of the Perl programmer, not in the Perl language itself.
-
-Along those same lines, a constructor is nothing special either, which
-is one reason why Perl has no pre-ordained name for them.  "Constructor"
-is just an informal term loosely used to describe a method that returns
-a scalar value that you can make further method calls against.  So long
-as it's either a class name or an object reference, that's good enough.
-It doesn't even have to be a reference to a brand new object.
-
-You can have as many--or as few--constructors as you want, and you can
-name them whatever you care to.  Blindly and obediently using new()
-for each and every constructor you ever write is to speak Perl with
-such a severe C++ accent that you do a disservice to both languages.
-There's no reason to insist that each class have but one constructor,
-or that a constructor be named new(), or that a constructor be
-used solely as a class method and not an object method.
-
-The next section shows how useful it can be to further distance ourselves
-from any formal distinction between class method calls and object method
-calls, both in constructors and in accessor methods.
-
-=head2 Translucent Attributes
-
-A package's eponymous hash can be used for more than just containing
-per-class, global state data.  It can also serve as a sort of template
-containing default settings for object attributes.  These default
-settings can then be used in constructors for initialization of a
-particular object.  The class's eponymous hash can also be used to
-implement I<translucent attributes>.  A translucent attribute is one
-that has a class-wide default.  Each object can set its own value for the
-attribute, in which case C<< $object->attribute() >> returns that value.
-But if no value has been set, then C<< $object->attribute() >> returns
-the class-wide default.
-
-We'll apply something of a copy-on-write approach to these translucent
-attributes.  If you're just fetching values from them, you get
-translucency.  But if you store a new value to them, that new value is
-set on the current object.  On the other hand, if you use the class as
-an object and store the attribute value directly on the class, then the
-meta-object's value changes, and later fetch operations on objects with
-uninitialized values for those attributes will retrieve the meta-object's
-new values.  Objects with their own initialized values, however, won't
-see any change.
-
-Let's look at some concrete examples of using these properties before we
-show how to implement them.  Suppose that a class named Some_Class
-had a translucent data attribute called "color".  First you set the color
-in the meta-object, then you create three objects using a constructor
-that happens to be named &spawn.
-
-    use Vermin;
-    Vermin->color("vermilion");
-
-    $ob1 = Vermin->spawn();   	# so that's where Jedi come from
-    $ob2 = Vermin->spawn();   
-    $ob3 = Vermin->spawn();  
-
-    print $obj3->color();  	# prints "vermilion"
-
-Each of these objects' colors is now "vermilion", because that's the
-meta-object's value for that attribute, and these objects do not have
-individual color values set.
-
-Changing the attribute on one object has no effect on other objects
-previously created.
-
-    $ob3->color("chartreuse");		
-    print $ob3->color();  	# prints "chartreuse"
-    print $ob1->color();  	# prints "vermilion", translucently
-
-If you now use $ob3 to spawn off another object, the new object will
-take the color its parent held, which now happens to be "chartreuse".
-That's because the constructor uses the invoking object as its template
-for initializing attributes.  When that invoking object is the
-class name, the object used as a template is the eponymous meta-object.
-When the invoking object is a reference to an instantiated object, the
-&spawn constructor uses that existing object as a template.  
-
-    $ob4 = $ob3->spawn();	# $ob3 now template, not %Vermin
-    print $ob4->color();  	# prints "chartreuse"
-
-Any actual values set on the template object will be copied to the
-new object.  But attributes undefined in the template object, being
-translucent, will remain undefined and consequently translucent in the
-new one as well.
-
-Now let's change the color attribute on the entire class:
-
-    Vermin->color("azure");	
-    print $ob1->color();  	# prints "azure"
-    print $ob2->color();  	# prints "azure"
-    print $ob3->color();  	# prints "chartreuse"
-    print $ob4->color();  	# prints "chartreuse"
-
-That color change took effect only in the first pair of objects, which
-were still translucently accessing the meta-object's values.  The second
-pair had per-object initialized colors, and so didn't change.
-
-One important question remains.  Changes to the meta-object are reflected
-in translucent attributes in the entire class, but what about
-changes to discrete objects?  If you change the color of $ob3, does the
-value of $ob4 see that change?  Or vice-versa.  If you change the color
-of $ob4, does then the value of $ob3 shift?
-
-    $ob3->color("amethyst");		
-    print $ob3->color();  	# prints "amethyst"
-    print $ob4->color();  	# hmm: "chartreuse" or "amethyst"?
-
-While one could argue that in certain rare cases it should, let's not
-do that.  Good taste aside, we want the answer to the question posed in
-the comment above to be "chartreuse", not "amethyst".  So we'll treat
-these attributes similar to the way process attributes like environment
-variables, user and group IDs, or the current working directory are
-treated across a fork().  You can change only yourself, but you will see
-those changes reflected in your unspawned children.  Changes to one object
-will propagate neither up to the parent nor down to any existing child objects.
-Those objects made later, however, will see the changes.
-
-If you have an object with an actual attribute value, and you want to
-make that object's attribute value translucent again, what do you do?
-Let's design the class so that when you invoke an accessor method with
-C<undef> as its argument, that attribute returns to translucency.
-
-    $ob4->color(undef);		# back to "azure"
-
-Here's a complete implementation of Vermin as described above.
-
-    package Vermin;
-
-    # here's the class meta-object, eponymously named.
-    # it holds all class attributes, and also all instance attributes 
-    # so the latter can be used for both initialization 
-    # and translucency.
-
-    our %Vermin = (   		# our() is new to perl5.6
-	PopCount => 0,		# capital for class attributes
-	color    => "beige",    # small for instance attributes		
-    );
-
-    # constructor method
-    # invoked as class method or object method
-    sub spawn {
-	my $obclass = shift;
-	my $class   = ref($obclass) || $obclass;
-	my $self = {};
-	bless($self, $class);
-	$class->{PopCount}++;
-	# init fields from invoking object, or omit if 
-	# invoking object is the class to provide translucency
-	%$self = %$obclass if ref $obclass;
-	return $self;
-    } 
-
-    # translucent accessor for "color" attribute
-    # invoked as class method or object method
-    sub color {
-	my $self  = shift;
-	my $class = ref($self) || $self;
-
-	# handle class invocation
-	unless (ref $self) {
-	    $class->{color} = shift if @_;
-	    return $class->{color}
-	}
-
-	# handle object invocation
-	$self->{color} = shift if @_;
-	if (defined $self->{color}) {  # not exists!
-	    return $self->{color};
-	} else {
-	    return $class->{color};
-	} 
-    } 
-
-    # accessor for "PopCount" class attribute
-    # invoked as class method or object method
-    # but uses object solely to locate meta-object
-    sub population {
-	my $obclass = shift;
-	my $class   = ref($obclass) || $obclass;
-	return $class->{PopCount};
-    } 
-
-    # instance destructor
-    # invoked only as object method
-    sub DESTROY {
-	my $self  = shift;
-	my $class = ref $self;
-	$class->{PopCount}--;
-    }
-
-Here are a couple of helper methods that might be convenient.  They aren't
-accessor methods at all.  They're used to detect accessibility of data
-attributes.  The &is_translucent method determines whether a particular
-object attribute is coming from the meta-object.  The &has_attribute
-method detects whether a class implements a particular property at all.
-It could also be used to distinguish undefined properties from non-existent
-ones.
-
-    # detect whether an object attribute is translucent
-    # (typically?) invoked only as object method
-    sub is_translucent {
-	my($self, $attr)  = @_;
-	return !defined $self->{$attr};  
-    }
-
-    # test for presence of attribute in class
-    # invoked as class method or object method
-    sub has_attribute {
-	my($self, $attr)  = @_;
-	my $class = ref($self) || $self;
-	return exists $class->{$attr};  
-    } 
-
-If you prefer to install your accessors more generically, you can make
-use of the upper-case versus lower-case convention to register into the
-package appropriate methods cloned from generic closures.
-
-    for my $datum (keys %{ +__PACKAGE__ }) {
-	*$datum = ($datum =~ /^[A-Z]/)
-	    ? sub {  # install class accessor
-		    my $obclass = shift;
-		    my $class   = ref($obclass) || $obclass;
-		    return $class->{$datum};
-		  }
-	    : sub { # install translucent accessor
-		    my $self  = shift;
-		    my $class = ref($self) || $self;
-		    unless (ref $self) {
-			$class->{$datum} = shift if @_;
-			return $class->{$datum}
-		    }
-		    $self->{$datum} = shift if @_;
-		    return defined $self->{$datum}
-			? $self  -> {$datum}
-			: $class -> {$datum}
-		  } 
-    }
-
-Translations of this closure-based approach into C++, Java, and Python
-have been left as exercises for the reader.  Be sure to send us mail as
-soon as you're done.
-
-=head1 Class Data as Lexical Variables
-
-=head2 Privacy and Responsibility 
-
-Unlike conventions used by some Perl programmers, in the previous
-examples, we didn't prefix the package variables used for class attributes
-with an underscore, nor did we do so for the names of the hash keys used
-for instance attributes.  You don't need little markers on data names to
-suggest nominal privacy on attribute variables or hash keys, because these
-are B<already> notionally private!  Outsiders have no business whatsoever
-playing with anything within a class save through the mediated access of
-its documented interface; in other words, through method invocations.
-And not even through just any method, either.  Methods that begin with
-an underscore are traditionally considered off-limits outside the class.
-If outsiders skip the documented method interface to poke around the
-internals of your class and end up breaking something, that's not your
-fault--it's theirs.
-
-Perl believes in individual responsibility rather than mandated control.
-Perl respects you enough to let you choose your own preferred level of
-pain, or of pleasure.  Perl believes that you are creative, intelligent,
-and capable of making your own decisions--and fully expects you to
-take complete responsibility for your own actions.  In a perfect world,
-these admonitions alone would suffice, and everyone would be intelligent,
-responsible, happy, and creative.  And careful.  One probably shouldn't
-forget careful, and that's a good bit harder to expect.  Even Einstein
-would take wrong turns by accident and end up lost in the wrong part
-of town.
-
-Some folks get the heebie-jeebies when they see package variables
-hanging out there for anyone to reach over and alter them.  Some folks
-live in constant fear that someone somewhere might do something wicked.
-The solution to that problem is simply to fire the wicked, of course.
-But unfortunately, it's not as simple as all that.  These cautious
-types are also afraid that they or others will do something not so
-much wicked as careless, whether by accident or out of desperation.
-If we fire everyone who ever gets careless, pretty soon there won't be
-anybody left to get any work done.
-
-Whether it's needless paranoia or sensible caution, this uneasiness can
-be a problem for some people.  We can take the edge off their discomfort
-by providing the option of storing class attributes as lexical variables
-instead of as package variables.  The my() operator is the source of
-all privacy in Perl, and it is a powerful form of privacy indeed.
-
-It is widely perceived, and indeed has often been written, that Perl
-provides no data hiding, that it affords the class designer no privacy
-nor isolation, merely a rag-tag assortment of weak and unenforceable
-social conventions instead.  This perception is demonstrably false and
-easily disproven.  In the next section, we show how to implement forms
-of privacy that are far stronger than those provided in nearly any
-other object-oriented language.
-
-=head2 File-Scoped Lexicals
-
-A lexical variable is visible only through the end of its static scope.
-That means that the only code able to access that variable is code
-residing textually below the my() operator through the end of its block
-if it has one, or through the end of the current file if it doesn't.
-
-Starting again with our simplest example given at the start of this
-document, we replace our() variables with my() versions.
-
-    package Some_Class;
-    my($CData1, $CData2);   # file scope, not in any package
-    sub CData1 {
-	shift;	# XXX: ignore calling class/object
-	$CData1 = shift if @_;
-	return $CData1;
-    } 
-    sub CData2 {
-	shift;	# XXX: ignore calling class/object
-	$CData2 = shift if @_;
-	return $CData2;
-    } 
-
-So much for that old $Some_Class::CData1 package variable and its brethren!
-Those are gone now, replaced with lexicals.  No one outside the
-scope can reach in and alter the class state without resorting to the
-documented interface.  Not even subclasses or superclasses of
-this one have unmediated access to $CData1.  They have to invoke the &CData1
-method against Some_Class or an instance thereof, just like anybody else.
-
-To be scrupulously honest, that last statement assumes you haven't packed
-several classes together into the same file scope, nor strewn your class
-implementation across several different files.  Accessibility of those
-variables is based uniquely on the static file scope.  It has nothing to
-do with the package.  That means that code in a different file but
-the same package (class) could not access those variables, yet code in the
-same file but a different package (class) could.  There are sound reasons
-why we usually suggest a one-to-one mapping between files and packages
-and modules and classes.  You don't have to stick to this suggestion if
-you really know what you're doing, but you're apt to confuse yourself
-otherwise, especially at first.
-
-If you'd like to aggregate your class attributes into one lexically scoped,
-composite structure, you're perfectly free to do so.
-
-    package Some_Class;
-    my %ClassData = (
-	CData1 => "",
-	CData2 => "",
-    );
-    sub CData1 {
-	shift;	# XXX: ignore calling class/object
-	$ClassData{CData1} = shift if @_;
-	return $ClassData{CData1};
-    } 
-    sub CData2 {
-	shift;	# XXX: ignore calling class/object
-	$ClassData{CData2} = shift if @_;
-	return $ClassData{CData2};
-    } 
-
-To make this more scalable as other class attributes are added, we can
-again register closures into the package symbol table to create accessor
-methods for them.
-
-    package Some_Class;
-    my %ClassData = (
-	CData1 => "",
-	CData2 => "",
-    );
-    for my $datum (keys %ClassData) { 
-	no strict "refs";
-	*$datum = sub { 
-	    shift;	# XXX: ignore calling class/object
-	    $ClassData{$datum} = shift if @_;
-	    return $ClassData{$datum};
-	};
-    }
-
-Requiring even your own class to use accessor methods like anybody else is
-probably a good thing.  But demanding and expecting that everyone else,
-be they subclass or superclass, friend or foe, will all come to your
-object through mediation is more than just a good idea.  It's absolutely
-critical to the model.  Let there be in your mind no such thing as
-"public" data, nor even "protected" data, which is a seductive but
-ultimately destructive notion.  Both will come back to bite at you.
-That's because as soon as you take that first step out of the solid
-position in which all state is considered completely private, save from the
-perspective of its own accessor methods, you have violated the envelope.
-And, having pierced that encapsulating envelope, you shall doubtless
-someday pay the price when future changes in the implementation break
-unrelated code.  Considering that avoiding this infelicitous outcome was
-precisely why you consented to suffer the slings and arrows of obsequious
-abstraction by turning to object orientation in the first place, such
-breakage seems unfortunate in the extreme.
-
-=head2 More Inheritance Concerns
-
-Suppose that Some_Class were used as a base class from which to derive
-Another_Class.  If you invoke a &CData method on the derived class or
-on an object of that class, what do you get?  Would the derived class
-have its own state, or would it piggyback on its base class's versions
-of the class attributes?
-
-The answer is that under the scheme outlined above, the derived class
-would B<not> have its own state data.  As before, whether you consider
-this a good thing or a bad one depends on the semantics of the classes
-involved.
-
-The cleanest, sanest, simplest way to address per-class state in a
-lexical is for the derived class to override its base class's version
-of the method that accesses the class attributes.  Since the actual method
-called is the one in the object's derived class if this exists, you
-automatically get per-class state this way.  Any urge to provide an
-unadvertised method to sneak out a reference to the %ClassData hash
-should be strenuously resisted.
-
-As with any other overridden method, the implementation in the
-derived class always has the option of invoking its base class's
-version of the method in addition to its own.  Here's an example:
-
-    package Another_Class;
-    @ISA = qw(Some_Class);
-
-    my %ClassData = (
-	CData1 => "",
-    );
-
-    sub CData1 {
-	my($self, $newvalue) = @_;
-	if (@_ > 1) { 
-	    # set locally first
-	    $ClassData{CData1} = $newvalue;  
-
-	    # then pass the buck up to the first 
-	    # overridden version, if there is one
-	    if ($self->can("SUPER::CData1")) { 
-		$self->SUPER::CData1($newvalue);
-	    }
-	}
-	return $ClassData{CData1};
-    }
-
-Those dabbling in multiple inheritance might be concerned
-about there being more than one override.  
-
-    for my $parent (@ISA) {
-	my $methname = $parent . "::CData1";
-	if ($self->can($methname)) { 
-	    $self->$methname($newvalue);
-	}
-    } 
-
-Because the &UNIVERSAL::can method returns a reference
-to the function directly, you can use this directly
-for a significant performance improvement:
-
-    for my $parent (@ISA) {
-	if (my $coderef = $self->can($parent . "::CData1")) {
-	    $self->$coderef($newvalue);
-	}
-    }
-
-If you override C<UNIVERSAL::can> in your own classes, be sure to return the
-reference appropriately.
-
-=head2 Locking the Door and Throwing Away the Key
-
-As currently implemented, any code within the same scope as the
-file-scoped lexical %ClassData can alter that hash directly.  Is that
-ok?  Is it acceptable or even desirable to allow other parts of the
-implementation of this class to access class attributes directly?
-
-That depends on how careful you want to be.  Think back to the Cosmos
-class.  If the &supernova method had directly altered $Cosmos::Stars or
-C<$Cosmos::Cosmos{stars}>, then we wouldn't have been able to reuse the
-class when it came to inventing a Multiverse.  So letting even the class
-itself access its own class attributes without the mediating intervention of
-properly designed accessor methods is probably not a good idea after all.
-
-Restricting access to class attributes from the class itself is usually
-not enforceable even in strongly object-oriented languages.  But in Perl,
-you can.
-
-Here's one way:
-
-    package Some_Class;
-
-    {  # scope for hiding $CData1
-	my $CData1;
-	sub CData1 {
-	    shift;	# XXX: unused
-	    $CData1 = shift if @_;
-	    return $CData1;
-	} 
-    }
-
-    {  # scope for hiding $CData2
-	my $CData2;
-	sub CData2 {
-	    shift;	# XXX: unused
-	    $CData2 = shift if @_;
-	    return $CData2;
-	} 
-    }
-
-No one--absolutely no one--is allowed to read or write the class
-attributes without the mediation of the managing accessor method, since
-only that method has access to the lexical variable it's managing.
-This use of mediated access to class attributes is a form of privacy far
-stronger than most OO languages provide.
-
-The repetition of code used to create per-datum accessor methods chafes
-at our Laziness, so we'll again use closures to create similar
-methods.
-
-    package Some_Class;
-
-    {  # scope for ultra-private meta-object for class attributes
-	my %ClassData = ( 
-	    CData1 => "",
-	    CData2 => "",
-	);
-
-	for my $datum (keys %ClassData ) { 
-	    no strict "refs";    
-	    *$datum = sub {
-		use strict "refs";    
-		my ($self, $newvalue) = @_;
-		$ClassData{$datum} = $newvalue if @_ > 1;
-		return $ClassData{$datum};
-	    }
-	}
-
-    }
-
-The closure above can be modified to take inheritance into account using
-the &UNIVERSAL::can method and SUPER as shown previously.
-
-=head2 Translucency Revisited
-
-The Vermin class demonstrates translucency using a package variable,
-eponymously named %Vermin, as its meta-object.  If you prefer to
-use absolutely no package variables beyond those necessary to appease
-inheritance or possibly the Exporter, this strategy is closed to you.
-That's too bad, because translucent attributes are an appealing
-technique, so it would be valuable to devise an implementation using
-only lexicals.
-
-There's a second reason why you might wish to avoid the eponymous
-package hash.  If you use class names with double-colons in them, you
-would end up poking around somewhere you might not have meant to poke.
-
-    package Vermin;
-    $class = "Vermin";
-    $class->{PopCount}++;	
-    # accesses $Vermin::Vermin{PopCount}
-
-    package Vermin::Noxious;
-    $class = "Vermin::Noxious";
-    $class->{PopCount}++;	
-    # accesses $Vermin::Noxious{PopCount}
-
-In the first case, because the class name had no double-colons, we got
-the hash in the current package.  But in the second case, instead of
-getting some hash in the current package, we got the hash %Noxious in
-the Vermin package.  (The noxious vermin just invaded another package and
-sprayed their data around it. :-) Perl doesn't support relative packages
-in its naming conventions, so any double-colons trigger a fully-qualified
-lookup instead of just looking in the current package.
-
-In practice, it is unlikely that the Vermin class had an existing
-package variable named %Noxious that you just blew away.  If you're
-still mistrustful, you could always stake out your own territory
-where you know the rules, such as using Eponymous::Vermin::Noxious or
-Hieronymus::Vermin::Boschious or Leave_Me_Alone::Vermin::Noxious as class
-names instead.  Sure, it's in theory possible that someone else has
-a class named Eponymous::Vermin with its own %Noxious hash, but this
-kind of thing is always true.  There's no arbiter of package names.
-It's always the case that globals like @Cwd::ISA would collide if more
-than one class uses the same Cwd package.
-
-If this still leaves you with an uncomfortable twinge of paranoia,
-we have another solution for you.  There's nothing that says that you
-have to have a package variable to hold a class meta-object, either for
-monadic classes or for translucent attributes.  Just code up the methods
-so that they access a lexical instead.
-
-Here's another implementation of the Vermin class with semantics identical
-to those given previously, but this time using no package variables.
-
-    package Vermin;
-
-
-    # Here's the class meta-object, eponymously named.
-    # It holds all class data, and also all instance data 
-    # so the latter can be used for both initialization 
-    # and translucency.  it's a template.
-    my %ClassData = (   		
-	PopCount => 0,		# capital for class attributes
-	color    => "beige",    # small for instance attributes		
-    );
-
-    # constructor method
-    # invoked as class method or object method
-    sub spawn {
-	my $obclass = shift;
-	my $class   = ref($obclass) || $obclass;
-	my $self = {};
-	bless($self, $class);
-	$ClassData{PopCount}++;
-	# init fields from invoking object, or omit if 
-	# invoking object is the class to provide translucency
-	%$self = %$obclass if ref $obclass;
-	return $self;
-    } 
-
-    # translucent accessor for "color" attribute
-    # invoked as class method or object method
-    sub color {
-	my $self  = shift;
-
-	# handle class invocation
-	unless (ref $self) {
-	    $ClassData{color} = shift if @_;
-	    return $ClassData{color}
-	}
-
-	# handle object invocation
-	$self->{color} = shift if @_;
-	if (defined $self->{color}) {  # not exists!
-	    return $self->{color};
-	} else {
-	    return $ClassData{color};
-	} 
-    } 
-
-    # class attribute accessor for "PopCount" attribute
-    # invoked as class method or object method
-    sub population {
-	return $ClassData{PopCount};
-    } 
-
-    # instance destructor; invoked only as object method
-    sub DESTROY {
-	$ClassData{PopCount}--;
-    }
-
-    # detect whether an object attribute is translucent
-    # (typically?) invoked only as object method
-    sub is_translucent {
-	my($self, $attr)  = @_;
-	$self = \%ClassData if !ref $self;
-	return !defined $self->{$attr};  
-    }
-
-    # test for presence of attribute in class
-    # invoked as class method or object method
-    sub has_attribute {
-	my($self, $attr)  = @_;
-	return exists $ClassData{$attr};  
-    } 
-
-=head1 NOTES
-
-Inheritance is a powerful but subtle device, best used only after careful
-forethought and design.  Aggregation instead of inheritance is often a
-better approach.
-
-You can't use file-scoped lexicals in conjunction with the SelfLoader
-or the AutoLoader, because they alter the lexical scope in which the
-module's methods wind up getting compiled.
-
-The usual mealy-mouthed package-munging doubtless applies to setting
-up names of object attributes.  For example, C<< $self->{ObData1} >>
-should probably be C<< $self->{ __PACKAGE__ . "_ObData1" } >>, but that
-would just confuse the examples.
-
-=head1 SEE ALSO
-
-L<perltoot>, L<perlobj>, L<perlmod>, and L<perlbot>.
-
-The Tie::SecureHash and Class::Data::Inheritable modules from CPAN are
-worth checking out.
-
-=head1 AUTHOR AND COPYRIGHT
-
-Copyright (c) 1999 Tom Christiansen.
-All rights reserved.
-
-This documentation is free; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain.  You are permitted and
-encouraged to use this code in your own programs for fun
-or for profit as you see fit.  A simple comment in the code giving
-credit would be courteous but is not required.
-
-=head1 ACKNOWLEDGEMENTS
-
-Russ Allbery, Jon Orwant, Randy Ray, Larry Rosler, Nat Torkington,
-and Stephen Warren all contributed suggestions and corrections to this
-piece.  Thanks especially to Damian Conway for his ideas and feedback,
-and without whose indirect prodding I might never have taken the time
-to show others how much Perl has to offer in the way of objects once
-you start thinking outside the tiny little box that today's "popular"
-object-oriented languages enforce.
-
-=head1 HISTORY
-
-Last edit: Sun Feb  4 20:50:28 EST 2001
+=cut


Property changes on: vendor/perl/dist/pod/perltooc.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/pod/perltoot.pod
===================================================================
--- vendor/perl/dist/pod/perltoot.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perltoot.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,1836 +1,12 @@
+=encoding utf8
+
 =head1 NAME
 
-perltoot - Tom's object-oriented tutorial for perl
+perltoot - This document has been deleted
 
 =head1 DESCRIPTION
 
-Object-oriented programming is a big seller these days.  Some managers
-would rather have objects than sliced bread.  Why is that?  What's so
-special about an object?  Just what I<is> an object anyway?
+For information on OO programming with Perl, please see L<perlootut>
+and L<perlobj>.
 
-An object is nothing but a way of tucking away complex behaviours into
-a neat little easy-to-use bundle.  (This is what professors call
-abstraction.) Smart people who have nothing to do but sit around for
-weeks on end figuring out really hard problems make these nifty
-objects that even regular people can use. (This is what professors call
-software reuse.)  Users (well, programmers) can play with this little
-bundle all they want, but they aren't to open it up and mess with the
-insides.  Just like an expensive piece of hardware, the contract says
-that you void the warranty if you muck with the cover.  So don't do that.
-
-The heart of objects is the class, a protected little private namespace
-full of data and functions.  A class is a set of related routines that
-addresses some problem area.  You can think of it as a user-defined type.
-The Perl package mechanism, also used for more traditional modules,
-is used for class modules as well.  Objects "live" in a class, meaning
-that they belong to some package.
-
-More often than not, the class provides the user with little bundles.
-These bundles are objects.  They know whose class they belong to,
-and how to behave.  Users ask the class to do something, like "give
-me an object."  Or they can ask one of these objects to do something.
-Asking a class to do something for you is calling a I<class method>.
-Asking an object to do something for you is calling an I<object method>.
-Asking either a class (usually) or an object (sometimes) to give you
-back an object is calling a I<constructor>, which is just a
-kind of method.
-
-That's all well and good, but how is an object different from any other
-Perl data type?  Just what is an object I<really>; that is, what's its
-fundamental type?  The answer to the first question is easy.  An object
-is different from any other data type in Perl in one and only one way:
-you may dereference it using not merely string or numeric subscripts
-as with simple arrays and hashes, but with named subroutine calls.
-In a word, with I<methods>.
-
-The answer to the second question is that it's a reference, and not just
-any reference, mind you, but one whose referent has been I<bless>()ed
-into a particular class (read: package).  What kind of reference?  Well,
-the answer to that one is a bit less concrete.  That's because in Perl
-the designer of the class can employ any sort of reference they'd like
-as the underlying intrinsic data type.  It could be a scalar, an array,
-or a hash reference.  It could even be a code reference.  But because
-of its inherent flexibility, an object is usually a hash reference.
-
-=head1 Creating a Class
-
-Before you create a class, you need to decide what to name it.  That's
-because the class (package) name governs the name of the file used to
-house it, just as with regular modules.  Then, that class (package)
-should provide one or more ways to generate objects.  Finally, it should
-provide mechanisms to allow users of its objects to indirectly manipulate
-these objects from a distance.
-
-For example, let's make a simple Person class module.  It gets stored in
-the file Person.pm.  If it were called a Happy::Person class, it would
-be stored in the file Happy/Person.pm, and its package would become
-Happy::Person instead of just Person.  (On a personal computer not
-running Unix or Plan 9, but something like Mac OS or VMS, the directory
-separator may be different, but the principle is the same.)  Do not assume
-any formal relationship between modules based on their directory names.
-This is merely a grouping convenience, and has no effect on inheritance,
-variable accessibility, or anything else.
-
-For this module we aren't going to use Exporter, because we're
-a well-behaved class module that doesn't export anything at all.
-In order to manufacture objects, a class needs to have a I<constructor
-method>.  A constructor gives you back not just a regular data type,
-but a brand-new object in that class.  This magic is taken care of by
-the bless() function, whose sole purpose is to enable its referent to
-be used as an object.  Remember: being an object really means nothing
-more than that methods may now be called against it.
-
-While a constructor may be named anything you'd like, most Perl
-programmers seem to like to call theirs new().  However, new() is not
-a reserved word, and a class is under no obligation to supply such.
-Some programmers have also been known to use a function with
-the same name as the class as the constructor.
-
-=head2 Object Representation
-
-By far the most common mechanism used in Perl to represent a Pascal
-record, a C struct, or a C++ class is an anonymous hash.  That's because a
-hash has an arbitrary number of data fields, each conveniently accessed by
-an arbitrary name of your own devising.
-
-If you were just doing a simple
-struct-like emulation, you would likely go about it something like this:
-
-    $rec = {
-        name  => "Jason",
-        age   => 23,
-        peers => [ "Norbert", "Rhys", "Phineas"],
-    };
-
-If you felt like it, you could add a bit of visual distinction
-by up-casing the hash keys:
-
-    $rec = {
-        NAME  => "Jason",
-        AGE   => 23,
-        PEERS => [ "Norbert", "Rhys", "Phineas"],
-    };
-
-And so you could get at C<< $rec->{NAME} >> to find "Jason", or
-C<< @{ $rec->{PEERS} } >> to get at "Norbert", "Rhys", and "Phineas".
-(Have you ever noticed how many 23-year-old programmers seem to
-be named "Jason" these days? :-)
-
-This same model is often used for classes, although it is not considered
-the pinnacle of programming propriety for folks from outside the
-class to come waltzing into an object, brazenly accessing its data
-members directly.  Generally speaking, an object should be considered
-an opaque cookie that you use I<object methods> to access.  Visually,
-methods look like you're dereffing a reference using a function name
-instead of brackets or braces.
-
-=head2 Class Interface
-
-Some languages provide a formal syntactic interface to a class's methods,
-but Perl does not.  It relies on you to read the documentation of each
-class.  If you try to call an undefined method on an object, Perl won't
-complain, but the program will trigger an exception while it's running.
-Likewise, if you call a method expecting a prime number as its argument
-with a non-prime one instead, you can't expect the compiler to catch this.
-(Well, you can expect it all you like, but it's not going to happen.)
-
-Let's suppose you have a well-educated user of your Person class,
-someone who has read the docs that explain the prescribed
-interface.  Here's how they might use the Person class:
-
-    use Person;
-
-    $him = Person->new();
-    $him->name("Jason");
-    $him->age(23);
-    $him->peers( "Norbert", "Rhys", "Phineas" );
-
-    push @All_Recs, $him;  # save object in array for later
-
-    printf "%s is %d years old.\n", $him->name, $him->age;
-    print "His peers are: ", join(", ", $him->peers), "\n";
-
-    printf "Last rec's name is %s\n", $All_Recs[-1]->name;
-
-As you can see, the user of the class doesn't know (or at least, has no
-business paying attention to the fact) that the object has one particular
-implementation or another.  The interface to the class and its objects
-is exclusively via methods, and that's all the user of the class should
-ever play with.
-
-=head2 Constructors and Instance Methods
-
-Still, I<someone> has to know what's in the object.  And that someone is
-the class.  It implements methods that the programmer uses to access
-the object.  Here's how to implement the Person class using the standard
-hash-ref-as-an-object idiom.  We'll make a class method called new() to
-act as the constructor, and three object methods called name(), age(), and
-peers() to get at per-object data hidden away in our anonymous hash.
-
-    package Person;
-    use strict;
-
-    ##################################################
-    ## the object constructor (simplistic version)  ##
-    ##################################################
-    sub new {
-        my $self  = {};
-        $self->{NAME}   = undef;
-        $self->{AGE}    = undef;
-        $self->{PEERS}  = [];
-        bless($self);           # but see below
-        return $self;
-    }
-
-    ##############################################
-    ## methods to access per-object data        ##
-    ##                                          ##
-    ## With args, they set the value.  Without  ##
-    ## any, they only retrieve it/them.         ##
-    ##############################################
-
-    sub name {
-        my $self = shift;
-        if (@_) { $self->{NAME} = shift }
-        return $self->{NAME};
-    }
-
-    sub age {
-        my $self = shift;
-        if (@_) { $self->{AGE} = shift }
-        return $self->{AGE};
-    }
-
-    sub peers {
-        my $self = shift;
-        if (@_) { @{ $self->{PEERS} } = @_ }
-        return @{ $self->{PEERS} };
-    }
-
-    1;  # so the require or use succeeds
-
-We've created three methods to access an object's data, name(), age(),
-and peers().  These are all substantially similar.  If called with an
-argument, they set the appropriate field; otherwise they return the
-value held by that field, meaning the value of that hash key.
-
-=head2 Planning for the Future: Better Constructors
-
-Even though at this point you may not even know what it means, someday
-you're going to worry about inheritance.  (You can safely ignore this
-for now and worry about it later if you'd like.)  To ensure that this
-all works out smoothly, you must use the double-argument form of bless().
-The second argument is the class into which the referent will be blessed.
-By not assuming our own class as the default second argument and instead
-using the class passed into us, we make our constructor inheritable.
-
-    sub new {
-        my $class = shift;
-        my $self  = {};
-        $self->{NAME}   = undef;
-        $self->{AGE}    = undef;
-        $self->{PEERS}  = [];
-        bless ($self, $class);
-        return $self;
-    }
-
-That's about all there is for constructors.  These methods bring objects
-to life, returning neat little opaque bundles to the user to be used in
-subsequent method calls.
-
-=head2 Destructors
-
-Every story has a beginning and an end.  The beginning of the object's
-story is its constructor, explicitly called when the object comes into
-existence.  But the ending of its story is the I<destructor>, a method
-implicitly called when an object leaves this life.  Any per-object
-clean-up code is placed in the destructor, which must (in Perl) be called
-DESTROY.
-
-If constructors can have arbitrary names, then why not destructors?
-Because while a constructor is explicitly called, a destructor is not.
-Destruction happens automatically via Perl's garbage collection (GC)
-system, which is a quick but somewhat lazy reference-based GC system.
-To know what to call, Perl insists that the destructor be named DESTROY.
-Perl's notion of the right time to call a destructor is not well-defined
-currently, which is why your destructors should not rely on when they are
-called.
-
-Why is DESTROY in all caps?  Perl on occasion uses purely uppercase
-function names as a convention to indicate that the function will
-be automatically called by Perl in some way.  Others that are called
-implicitly include BEGIN, END, AUTOLOAD, plus all methods used by
-tied objects, described in L<perltie>.
-
-In really good object-oriented programming languages, the user doesn't
-care when the destructor is called.  It just happens when it's supposed
-to.  In low-level languages without any GC at all, there's no way to
-depend on this happening at the right time, so the programmer must
-explicitly call the destructor to clean up memory and state, crossing
-their fingers that it's the right time to do so.   Unlike C++, an
-object destructor is nearly never needed in Perl, and even when it is,
-explicit invocation is uncalled for.  In the case of our Person class,
-we don't need a destructor because Perl takes care of simple matters
-like memory deallocation.
-
-The only situation where Perl's reference-based GC won't work is
-when there's a circularity in the data structure, such as:
-
-    $this->{WHATEVER} = $this;
-
-In that case, you must delete the self-reference manually if you expect
-your program not to leak memory.  While admittedly error-prone, this is
-the best we can do right now.  Nonetheless, rest assured that when your
-program is finished, its objects' destructors are all duly called.
-So you are guaranteed that an object I<eventually> gets properly
-destroyed, except in the unique case of a program that never exits.
-(If you're running Perl embedded in another application, this full GC
-pass happens a bit more frequently--whenever a thread shuts down.)
-
-=head2 Other Object Methods
-
-The methods we've talked about so far have either been constructors or
-else simple "data methods", interfaces to data stored in the object.
-These are a bit like an object's data members in the C++ world, except
-that strangers don't access them as data.  Instead, they should only
-access the object's data indirectly via its methods.  This is an
-important rule: in Perl, access to an object's data should I<only>
-be made through methods.
-
-Perl doesn't impose restrictions on who gets to use which methods.
-The public-versus-private distinction is by convention, not syntax.
-(Well, unless you use the Alias module described below in
-L<Data Members as Variables>.)  Occasionally you'll see method names beginning or ending
-with an underscore or two.  This marking is a convention indicating
-that the methods are private to that class alone and sometimes to its
-closest acquaintances, its immediate subclasses.  But this distinction
-is not enforced by Perl itself.  It's up to the programmer to behave.
-
-There's no reason to limit methods to those that simply access data.
-Methods can do anything at all.  The key point is that they're invoked
-against an object or a class.  Let's say we'd like object methods that
-do more than fetch or set one particular field.
-
-    sub exclaim {
-        my $self = shift;
-        return sprintf "Hi, I'm %s, age %d, working with %s",
-            $self->{NAME}, $self->{AGE}, join(", ", @{$self->{PEERS}});
-    }
-
-Or maybe even one like this:
-
-    sub happy_birthday {
-        my $self = shift;
-        return ++$self->{AGE};
-    }
-
-Some might argue that one should go at these this way:
-
-    sub exclaim {
-        my $self = shift;
-        return sprintf "Hi, I'm %s, age %d, working with %s",
-            $self->name, $self->age, join(", ", $self->peers);
-    }
-
-    sub happy_birthday {
-        my $self = shift;
-        return $self->age( $self->age() + 1 );
-    }
-
-But since these methods are all executing in the class itself, this
-may not be critical.  There are tradeoffs to be made.  Using direct
-hash access is faster (about an order of magnitude faster, in fact), and
-it's more convenient when you want to interpolate in strings.  But using
-methods (the external interface) internally shields not just the users of
-your class but even you yourself from changes in your data representation.
-
-=head1 Class Data
-
-What about "class data", data items common to each object in a class?
-What would you want that for?  Well, in your Person class, you might
-like to keep track of the total people alive.  How do you implement that?
-
-You I<could> make it a global variable called $Person::Census.  But about
-only reason you'd do that would be if you I<wanted> people to be able to
-get at your class data directly.  They could just say $Person::Census
-and play around with it.  Maybe this is ok in your design scheme.
-You might even conceivably want to make it an exported variable.  To be
-exportable, a variable must be a (package) global.  If this were a
-traditional module rather than an object-oriented one, you might do that.
-
-While this approach is expected in most traditional modules, it's
-generally considered rather poor form in most object modules.  In an
-object module, you should set up a protective veil to separate interface
-from implementation.  So provide a class method to access class data
-just as you provide object methods to access object data.
-
-So, you I<could> still keep $Census as a package global and rely upon
-others to honor the contract of the module and therefore not play around
-with its implementation.  You could even be supertricky and make $Census a
-tied object as described in L<perltie>, thereby intercepting all accesses.
-
-But more often than not, you just want to make your class data a
-file-scoped lexical.  To do so, simply put this at the top of the file:
-
-    my $Census = 0;
-
-Even though the scope of a my() normally expires when the block in which
-it was declared is done (in this case the whole file being required or
-used), Perl's deep binding of lexical variables guarantees that the
-variable will not be deallocated, remaining accessible to functions
-declared within that scope.  This doesn't work with global variables
-given temporary values via local(), though.
-
-Irrespective of whether you leave $Census a package global or make
-it instead a file-scoped lexical, you should make these
-changes to your Person::new() constructor:
-
-    sub new {
-        my $class = shift;
-        my $self  = {};
-        $Census++;
-        $self->{NAME}   = undef;
-        $self->{AGE}    = undef;
-        $self->{PEERS}  = [];
-        bless ($self, $class);
-        return $self;
-    }
-
-    sub population {
-        return $Census;
-    }
-
-Now that we've done this, we certainly do need a destructor so that
-when Person is destroyed, the $Census goes down.  Here's how
-this could be done:
-
-    sub DESTROY { --$Census }
-
-Notice how there's no memory to deallocate in the destructor?  That's
-something that Perl takes care of for you all by itself.
-
-Alternatively, you could use the Class::Data::Inheritable module from
-CPAN.
-
-
-=head2 Accessing Class Data
-
-It turns out that this is not really a good way to go about handling
-class data.  A good scalable rule is that I<you must never reference class
-data directly from an object method>.  Otherwise you aren't building a
-scalable, inheritable class.  The object must be the rendezvous point
-for all operations, especially from an object method.  The globals
-(class data) would in some sense be in the "wrong" package in your
-derived classes.  In Perl, methods execute in the context of the class
-they were defined in, I<not> that of the object that triggered them.
-Therefore, namespace visibility of package globals in methods is unrelated
-to inheritance.
-
-Got that?  Maybe not.  Ok, let's say that some other class "borrowed"
-(well, inherited) the DESTROY method as it was defined above.  When those
-objects are destroyed, the original $Census variable will be altered,
-not the one in the new class's package namespace.  Perhaps this is what
-you want, but probably it isn't.
-
-Here's how to fix this.  We'll store a reference to the data in the
-value accessed by the hash key "_CENSUS".  Why the underscore?  Well,
-mostly because an initial underscore already conveys strong feelings
-of magicalness to a C programmer.  It's really just a mnemonic device
-to remind ourselves that this field is special and not to be used as
-a public data member in the same way that NAME, AGE, and PEERS are.
-(Because we've been developing this code under the strict pragma, prior
-to perl version 5.004 we'll have to quote the field name.)
-
-    sub new {
-        my $class = shift;
-        my $self  = {};
-        $self->{NAME}     = undef;
-        $self->{AGE}      = undef;
-        $self->{PEERS}    = [];
-        # "private" data
-        $self->{"_CENSUS"} = \$Census;
-        bless ($self, $class);
-        ++ ${ $self->{"_CENSUS"} };
-        return $self;
-    }
-
-    sub population {
-        my $self = shift;
-        if (ref $self) {
-            return ${ $self->{"_CENSUS"} };
-        } else {
-            return $Census;
-        }
-    }
-
-    sub DESTROY {
-        my $self = shift;
-        -- ${ $self->{"_CENSUS"} };
-    }
-
-=head2 Debugging Methods
-
-It's common for a class to have a debugging mechanism.  For example,
-you might want to see when objects are created or destroyed.  To do that,
-add a debugging variable as a file-scoped lexical.  For this, we'll pull
-in the standard Carp module to emit our warnings and fatal messages.
-That way messages will come out with the caller's filename and
-line number instead of our own; if we wanted them to be from our own
-perspective, we'd just use die() and warn() directly instead of croak()
-and carp() respectively.
-
-    use Carp;
-    my $Debugging = 0;
-
-Now add a new class method to access the variable.
-
-    sub debug {
-        my $class = shift;
-        if (ref $class)  { confess "Class method called as object method" }
-        unless (@_ == 1) { confess "usage: CLASSNAME->debug(level)" }
-        $Debugging = shift;
-    }
-
-Now fix up DESTROY to murmur a bit as the moribund object expires:
-
-    sub DESTROY {
-        my $self = shift;
-        if ($Debugging) { carp "Destroying $self " . $self->name }
-        -- ${ $self->{"_CENSUS"} };
-    }
-
-One could conceivably make a per-object debug state.  That
-way you could call both of these:
-
-    Person->debug(1);   # entire class
-    $him->debug(1);     # just this object
-
-To do so, we need our debugging method to be a "bimodal" one, one that
-works on both classes I<and> objects.  Therefore, adjust the debug()
-and DESTROY methods as follows:
-
-    sub debug {
-        my $self = shift;
-        confess "usage: thing->debug(level)"    unless @_ == 1;
-        my $level = shift;
-        if (ref($self))  {
-            $self->{"_DEBUG"} = $level;		# just myself
-        } else {
-            $Debugging        = $level;         # whole class
-        }
-    }
-
-    sub DESTROY {
-        my $self = shift;
-        if ($Debugging || $self->{"_DEBUG"}) {
-            carp "Destroying $self " . $self->name;
-        }
-        -- ${ $self->{"_CENSUS"} };
-    }
-
-What happens if a derived class (which we'll call Employee) inherits
-methods from this Person base class?  Then C<< Employee->debug() >>, when called
-as a class method, manipulates $Person::Debugging not $Employee::Debugging.
-
-=head2 Class Destructors
-
-The object destructor handles the death of each distinct object.  But sometimes
-you want a bit of cleanup when the entire class is shut down, which
-currently only happens when the program exits.  To make such a
-I<class destructor>, create a function in that class's package named
-END.  This works just like the END function in traditional modules,
-meaning that it gets called whenever your program exits unless it execs
-or dies of an uncaught signal.  For example,
-
-    sub END {
-        if ($Debugging) {
-            print "All persons are going away now.\n";
-        }
-    }
-
-When the program exits, all the class destructors (END functions) are
-be called in the opposite order that they were loaded in (LIFO order).
-
-=head2 Documenting the Interface
-
-And there you have it: we've just shown you the I<implementation> of this
-Person class.  Its I<interface> would be its documentation.  Usually this
-means putting it in pod ("plain old documentation") format right there
-in the same file.  In our Person example, we would place the following
-docs anywhere in the Person.pm file.  Even though it looks mostly like
-code, it's not.  It's embedded documentation such as would be used by
-the pod2man, pod2html, or pod2text programs.  The Perl compiler ignores
-pods entirely, just as the translators ignore code.  Here's an example of
-some pods describing the informal interface:
-
-    =head1 NAME
-
-    Person - class to implement people
-
-    =head1 SYNOPSIS
-
-     use Person;
-
-     #################
-     # class methods #
-     #################
-     $ob    = Person->new;
-     $count = Person->population;
-
-     #######################
-     # object data methods #
-     #######################
-
-     ### get versions ###
-         $who   = $ob->name;
-         $years = $ob->age;
-         @pals  = $ob->peers;
-
-     ### set versions ###
-         $ob->name("Jason");
-         $ob->age(23);
-         $ob->peers( "Norbert", "Rhys", "Phineas" );
-
-     ########################
-     # other object methods #
-     ########################
-
-     $phrase = $ob->exclaim;
-     $ob->happy_birthday;
-
-    =head1 DESCRIPTION
-
-    The Person class implements dah dee dah dee dah....
-
-That's all there is to the matter of interface versus implementation.
-A programmer who opens up the module and plays around with all the private
-little shiny bits that were safely locked up behind the interface contract
-has voided the warranty, and you shouldn't worry about their fate.
-
-=head1 Aggregation
-
-Suppose you later want to change the class to implement better names.
-Perhaps you'd like to support both given names (called Christian names,
-irrespective of one's religion) and family names (called surnames), plus
-nicknames and titles.  If users of your Person class have been properly
-accessing it through its documented interface, then you can easily change
-the underlying implementation.  If they haven't, then they lose and
-it's their fault for breaking the contract and voiding their warranty.
-
-To do this, we'll make another class, this one called Fullname.  What's
-the Fullname class look like?  To answer that question, you have to
-first figure out how you want to use it.  How about we use it this way:
-
-    $him = Person->new();
-    $him->fullname->title("St");
-    $him->fullname->christian("Thomas");
-    $him->fullname->surname("Aquinas");
-    $him->fullname->nickname("Tommy");
-    printf "His normal name is %s\n", $him->name;
-    printf "But his real name is %s\n", $him->fullname->as_string;
-
-Ok.  To do this, we'll change Person::new() so that it supports
-a full name field this way:
-
-    sub new {
-        my $class = shift;
-        my $self  = {};
-        $self->{FULLNAME} = Fullname->new();
-        $self->{AGE}      = undef;
-        $self->{PEERS}    = [];
-        $self->{"_CENSUS"} = \$Census;
-        bless ($self, $class);
-        ++ ${ $self->{"_CENSUS"} };
-        return $self;
-    }
-
-    sub fullname {
-        my $self = shift;
-        return $self->{FULLNAME};
-    }
-
-Then to support old code, define Person::name() this way:
-
-    sub name {
-        my $self = shift;
-        return $self->{FULLNAME}->nickname(@_)
-          ||   $self->{FULLNAME}->christian(@_);
-    }
-
-Here's the Fullname class.  We'll use the same technique
-of using a hash reference to hold data fields, and methods
-by the appropriate name to access them:
-
-    package Fullname;
-    use strict;
-
-    sub new {
-        my $class = shift;
-        my $self  = {
-            TITLE       => undef,
-            CHRISTIAN   => undef,
-            SURNAME     => undef,
-            NICK        => undef,
-        };
-        bless ($self, $class);
-        return $self;
-    }
-
-    sub christian {
-        my $self = shift;
-        if (@_) { $self->{CHRISTIAN} = shift }
-        return $self->{CHRISTIAN};
-    }
-
-    sub surname {
-        my $self = shift;
-        if (@_) { $self->{SURNAME} = shift }
-        return $self->{SURNAME};
-    }
-
-    sub nickname {
-        my $self = shift;
-        if (@_) { $self->{NICK} = shift }
-        return $self->{NICK};
-    }
-
-    sub title {
-        my $self = shift;
-        if (@_) { $self->{TITLE} = shift }
-        return $self->{TITLE};
-    }
-
-    sub as_string {
-        my $self = shift;
-        my $name = join(" ", @$self{'CHRISTIAN', 'SURNAME'});
-        if ($self->{TITLE}) {
-            $name = $self->{TITLE} . " " . $name;
-        }
-        return $name;
-    }
-
-    1;
-
-Finally, here's the test program:
-
-    #!/usr/bin/perl -w
-    use strict;
-    use Person;
-    sub END { show_census() }
-
-    sub show_census ()  {
-        printf "Current population: %d\n", Person->population;
-    }
-
-    Person->debug(1);
-
-    show_census();
-
-    my $him = Person->new();
-
-    $him->fullname->christian("Thomas");
-    $him->fullname->surname("Aquinas");
-    $him->fullname->nickname("Tommy");
-    $him->fullname->title("St");
-    $him->age(1);
-
-    printf "%s is really %s.\n", $him->name, $him->fullname->as_string;
-    printf "%s's age: %d.\n", $him->name, $him->age;
-    $him->happy_birthday;
-    printf "%s's age: %d.\n", $him->name, $him->age;
-
-    show_census();
-
-=head1 Inheritance
-
-Object-oriented programming systems all support some notion of
-inheritance.  Inheritance means allowing one class to piggy-back on
-top of another one so you don't have to write the same code again and
-again.  It's about software reuse, and therefore related to Laziness,
-the principal virtue of a programmer.  (The import/export mechanisms in
-traditional modules are also a form of code reuse, but a simpler one than
-the true inheritance that you find in object modules.)
-
-Sometimes the syntax of inheritance is built into the core of the
-language, and sometimes it's not.  Perl has no special syntax for
-specifying the class (or classes) to inherit from.  Instead, it's all
-strictly in the semantics.  Each package can have a variable called @ISA,
-which governs (method) inheritance.  If you try to call a method on an
-object or class, and that method is not found in that object's package,
-Perl then looks to @ISA for other packages to go looking through in
-search of the missing method.
-
-Like the special per-package variables recognized by Exporter (such as
- at EXPORT, @EXPORT_OK, @EXPORT_FAIL, %EXPORT_TAGS, and $VERSION), the @ISA
-array I<must> be a package-scoped global and not a file-scoped lexical
-created via my().  Most classes have just one item in their @ISA array.
-In this case, we have what's called "single inheritance", or SI for short.
-
-Consider this class:
-
-    package Employee;
-    use Person;
-    @ISA = ("Person");
-    1;
-
-Not a lot to it, eh?  All it's doing so far is loading in another
-class and stating that this one will inherit methods from that
-other class if need be.  We have given it none of its own methods.
-We rely upon an Employee to behave just like a Person.
-
-Setting up an empty class like this is called the "empty subclass test";
-that is, making a derived class that does nothing but inherit from a
-base class.  If the original base class has been designed properly,
-then the new derived class can be used as a drop-in replacement for the
-old one.  This means you should be able to write a program like this:
-
-    use Employee;
-    my $empl = Employee->new();
-    $empl->name("Jason");
-    $empl->age(23);
-    printf "%s is age %d.\n", $empl->name, $empl->age;
-
-By proper design, we mean always using the two-argument form of bless(),
-avoiding direct access of global data, and not exporting anything.  If you
-look back at the Person::new() function we defined above, we were careful
-to do that.  There's a bit of package data used in the constructor,
-but the reference to this is stored on the object itself and all other
-methods access package data via that reference, so we should be ok.
-
-What do we mean by the Person::new() function? Isn't that actually
-a method?  Well, in principle, yes.  A method is just a function that
-expects as its first argument a class name (package) or object
-(blessed reference).   Person::new() is the function that both the
-C<< Person->new() >> method and the C<< Employee->new() >> method end
-up calling.  Understand that while a method call looks a lot like a
-function call, they aren't really quite the same, and if you treat them
-as the same, you'll very soon be left with nothing but broken programs.
-First, the actual underlying calling conventions are different: method
-calls get an extra argument.  Second, function calls don't do inheritance,
-but methods do.
-
-        Method Call             Resulting Function Call
-        -----------             ------------------------
-        Person->new()           Person::new("Person")
-        Employee->new()         Person::new("Employee")
-
-So don't use function calls when you mean to call a method.
-
-If an employee is just a Person, that's not all too very interesting.
-So let's add some other methods.  We'll give our employee
-data fields to access their salary, their employee ID, and their
-start date.
-
-If you're getting a little tired of creating all these nearly identical
-methods just to get at the object's data, do not despair.  Later,
-we'll describe several different convenience mechanisms for shortening
-this up.  Meanwhile, here's the straight-forward way:
-
-    sub salary {
-        my $self = shift;
-        if (@_) { $self->{SALARY} = shift }
-        return $self->{SALARY};
-    }
-
-    sub id_number {
-        my $self = shift;
-        if (@_) { $self->{ID} = shift }
-        return $self->{ID};
-    }
-
-    sub start_date {
-        my $self = shift;
-        if (@_) { $self->{START_DATE} = shift }
-        return $self->{START_DATE};
-    }
-
-=head2 Overridden Methods
-
-What happens when both a derived class and its base class have the same
-method defined?  Well, then you get the derived class's version of that
-method.  For example, let's say that we want the peers() method called on
-an employee to act a bit differently.  Instead of just returning the list
-of peer names, let's return slightly different strings.  So doing this:
-
-    $empl->peers("Peter", "Paul", "Mary");
-    printf "His peers are: %s\n", join(", ", $empl->peers);
-
-will produce:
-
-    His peers are: PEON=PETER, PEON=PAUL, PEON=MARY
-
-To do this, merely add this definition into the Employee.pm file:
-
-    sub peers {
-        my $self = shift;
-        if (@_) { @{ $self->{PEERS} } = @_ }
-        return map { "PEON=\U$_" } @{ $self->{PEERS} };
-    }
-
-There, we've just demonstrated the high-falutin' concept known in certain
-circles as I<polymorphism>.  We've taken on the form and behaviour of
-an existing object, and then we've altered it to suit our own purposes.
-This is a form of Laziness.  (Getting polymorphed is also what happens
-when the wizard decides you'd look better as a frog.)
-
-Every now and then you'll want to have a method call trigger both its
-derived class (also known as "subclass") version as well as its base class
-(also known as "superclass") version.  In practice, constructors and
-destructors are likely to want to do this, and it probably also makes
-sense in the debug() method we showed previously.
-
-To do this, add this to Employee.pm:
-
-    use Carp;
-    my $Debugging = 0;
-
-    sub debug {
-        my $self = shift;
-        confess "usage: thing->debug(level)"    unless @_ == 1;
-        my $level = shift;
-        if (ref($self))  {
-            $self->{"_DEBUG"} = $level;
-        } else {
-            $Debugging = $level;            # whole class
-        }
-        Person::debug($self, $Debugging);   # don't really do this
-    }
-
-As you see, we turn around and call the Person package's debug() function.
-But this is far too fragile for good design.  What if Person doesn't
-have a debug() function, but is inheriting I<its> debug() method
-from elsewhere?  It would have been slightly better to say
-
-    Person->debug($Debugging);
-
-But even that's got too much hard-coded.  It's somewhat better to say
-
-    $self->Person::debug($Debugging);
-
-Which is a funny way to say to start looking for a debug() method up
-in Person.  This strategy is more often seen on overridden object methods
-than on overridden class methods.
-
-There is still something a bit off here.  We've hard-coded our
-superclass's name.  This in particular is bad if you change which classes
-you inherit from, or add others.  Fortunately, the pseudoclass SUPER
-comes to the rescue here.
-
-    $self->SUPER::debug($Debugging);
-
-This way it starts looking in my class's @ISA.  This only makes sense
-from I<within> a method call, though.  Don't try to access anything
-in SUPER:: from anywhere else, because it doesn't exist outside
-an overridden method call. Note that C<SUPER> refers to the superclass of
-the current package, I<not> to the superclass of C<$self>.
-
-Things are getting a bit complicated here.  Have we done anything
-we shouldn't?  As before, one way to test whether we're designing
-a decent class is via the empty subclass test.  Since we already have
-an Employee class that we're trying to check, we'd better get a new
-empty subclass that can derive from Employee.  Here's one:
-
-    package Boss;
-    use Employee;        # :-)
-    @ISA = qw(Employee);
-
-And here's the test program:
-
-    #!/usr/bin/perl -w
-    use strict;
-    use Boss;
-    Boss->debug(1);
-
-    my $boss = Boss->new();
-
-    $boss->fullname->title("Don");
-    $boss->fullname->surname("Pichon Alvarez");
-    $boss->fullname->christian("Federico Jesus");
-    $boss->fullname->nickname("Fred");
-
-    $boss->age(47);
-    $boss->peers("Frank", "Felipe", "Faust");
-
-    printf "%s is age %d.\n", $boss->fullname->as_string, $boss->age;
-    printf "His peers are: %s\n", join(", ", $boss->peers);
-
-Running it, we see that we're still ok.  If you'd like to dump out your
-object in a nice format, somewhat like the way the 'x' command works in
-the debugger, you could use the Data::Dumper module from CPAN this way:
-
-    use Data::Dumper;
-    print "Here's the boss:\n";
-    print Dumper($boss);
-
-Which shows us something like this:
-
-    Here's the boss:
-    $VAR1 = bless( {
-	 _CENSUS => \1,
-	 FULLNAME => bless( {
-			      TITLE => 'Don',
-			      SURNAME => 'Pichon Alvarez',
-			      NICK => 'Fred',
-			      CHRISTIAN => 'Federico Jesus'
-			    }, 'Fullname' ),
-	 AGE => 47,
-	 PEERS => [
-		    'Frank',
-		    'Felipe',
-		    'Faust'
-		  ]
-       }, 'Boss' );
-
-Hm.... something's missing there.  What about the salary, start date,
-and ID fields?  Well, we never set them to anything, even undef, so they
-don't show up in the hash's keys.  The Employee class has no new() method
-of its own, and the new() method in Person doesn't know about Employees.
-(Nor should it: proper OO design dictates that a subclass be allowed to
-know about its immediate superclass, but never vice-versa.)  So let's
-fix up Employee::new() this way:
-
-    sub new {
-        my $class = shift;
-        my $self  = $class->SUPER::new();
-        $self->{SALARY}        = undef;
-        $self->{ID}            = undef;
-        $self->{START_DATE}    = undef;
-        bless ($self, $class);          # reconsecrate
-        return $self;
-    }
-
-Now if you dump out an Employee or Boss object, you'll find
-that new fields show up there now.
-
-=head2 Multiple Inheritance
-
-Ok, at the risk of confusing beginners and annoying OO gurus, it's
-time to confess that Perl's object system includes that controversial
-notion known as multiple inheritance, or MI for short.  All this means
-is that rather than having just one parent class who in turn might
-itself have a parent class, etc., that you can directly inherit from
-two or more parents.  It's true that some uses of MI can get you into
-trouble, although hopefully not quite so much trouble with Perl as with
-dubiously-OO languages like C++.
-
-The way it works is actually pretty simple: just put more than one package
-name in your @ISA array.  When it comes time for Perl to go finding
-methods for your object, it looks at each of these packages in order.
-Well, kinda.  It's actually a fully recursive, depth-first order by
-default (see L<mro> for alternate method resolution orders).
-Consider a bunch of @ISA arrays like this:
-
-    @First::ISA    = qw( Alpha );
-    @Second::ISA   = qw( Beta );
-    @Third::ISA    = qw( First Second );
-
-If you have an object of class Third:
-
-    my $ob = Third->new();
-    $ob->spin();
-
-How do we find a spin() method (or a new() method for that matter)?
-Because the search is depth-first, classes will be looked up
-in the following order: Third, First, Alpha, Second, and Beta.
-
-In practice, few class modules have been seen that actually
-make use of MI.  One nearly always chooses simple containership of
-one class within another over MI.  That's why our Person
-object I<contained> a Fullname object.  That doesn't mean
-it I<was> one.
-
-However, there is one particular area where MI in Perl is rampant:
-borrowing another class's class methods.  This is rather common,
-especially with some bundled "objectless" classes,
-like Exporter, DynaLoader, AutoLoader, and SelfLoader.  These classes
-do not provide constructors; they exist only so you may inherit their
-class methods.  (It's not entirely clear why inheritance was done
-here rather than traditional module importation.)
-
-For example, here is the POSIX module's @ISA:
-
-    package POSIX;
-    @ISA = qw(Exporter DynaLoader);
-
-The POSIX module isn't really an object module, but then,
-neither are Exporter or DynaLoader.  They're just lending their
-classes' behaviours to POSIX.
-
-Why don't people use MI for object methods much?  One reason is that
-it can have complicated side-effects.  For one thing, your inheritance
-graph (no longer a tree) might converge back to the same base class.
-Although Perl guards against recursive inheritance, merely having parents
-who are related to each other via a common ancestor, incestuous though
-it sounds, is not forbidden.  What if in our Third class shown above we
-wanted its new() method to also call both overridden constructors in its
-two parent classes?  The SUPER notation would only find the first one.
-Also, what about if the Alpha and Beta classes both had a common ancestor,
-like Nought?  If you kept climbing up the inheritance tree calling
-overridden methods, you'd end up calling Nought::new() twice,
-which might well be a bad idea.
-
-=head2 UNIVERSAL: The Root of All Objects
-
-Wouldn't it be convenient if all objects were rooted at some ultimate
-base class?  That way you could give every object common methods without
-having to go and add it to each and every @ISA.  Well, it turns out that
-you can.  You don't see it, but Perl tacitly and irrevocably assumes
-that there's an extra element at the end of @ISA: the class UNIVERSAL.
-In version 5.003, there were no predefined methods there, but you could put
-whatever you felt like into it.
-
-However, as of version 5.004 (or some subversive releases, like 5.003_08),
-UNIVERSAL has some methods in it already.  These are builtin to your Perl
-binary, so they don't take any extra time to load.  Predefined methods
-include isa(), can(), and VERSION().  isa() tells you whether an object or
-class "is" another one without having to traverse the hierarchy yourself:
-
-   $has_io = $fd->isa("IO::Handle");
-   $itza_handle = IO::Socket->isa("IO::Handle");
-
-The can() method, called against that object or class, reports back
-whether its string argument is a callable method name in that class.
-In fact, it gives you back a function reference to that method:
-
-   $his_print_method = $obj->can('as_string');
-
-Finally, the VERSION method checks whether the class (or the object's
-class) has a package global called $VERSION that's high enough, as in:
-
-    Some_Module->VERSION(3.0);
-    $his_vers = $ob->VERSION();
-
-However, we don't usually call VERSION ourselves.  (Remember that an all
-uppercase function name is a Perl convention that indicates that the
-function will be automatically used by Perl in some way.)  In this case,
-it happens when you say
-
-    use Some_Module 3.0;
-
-If you wanted to add version checking to your Person class explained
-above, just add this to Person.pm:
-
-    our $VERSION = '1.1';
-
-and then in Employee.pm you can say
-
-    use Person 1.1;
-
-And it would make sure that you have at least that version number or
-higher available.   This is not the same as loading in that exact version
-number.  No mechanism currently exists for concurrent installation of
-multiple versions of a module.  Lamentably.
-
-=head2 Deeper UNIVERSAL details
-
-It is also valid (though perhaps unwise in most cases) to put other
-packages' names in @UNIVERSAL::ISA.  These packages will also be
-implicitly inherited by all classes, just as UNIVERSAL itself is.
-However, neither UNIVERSAL nor any of its parents from the @ISA tree
-are explicit base classes of all objects.  To clarify, given the
-following:
-
-    @UNIVERSAL::ISA = ('REALLYUNIVERSAL');
-
-    package REALLYUNIVERSAL;
-    sub special_method { return "123" }
-
-    package Foo;
-    sub normal_method { return "321" }
-
-Calling Foo->special_method() will return "123", but calling
-Foo->isa('REALLYUNIVERSAL') or Foo->isa('UNIVERSAL') will return
-false.
-
-If your class is using an alternate mro like C3 (see
-L<mro>), method resolution within UNIVERSAL / @UNIVERSAL::ISA will
-still occur in the default depth-first left-to-right manner,
-after the class's C3 mro is exhausted.
-
-All of the above is made more intuitive by realizing what really
-happens during method lookup, which is roughly like this
-ugly pseudo-code:
-
-    get_mro(class) {
-        # recurses down the @ISA's starting at class,
-        # builds a single linear array of all
-        # classes to search in the appropriate order.
-        # The method resolution order (mro) to use
-        # for the ordering is whichever mro "class"
-        # has set on it (either default (depth first
-        # l-to-r) or C3 ordering).
-        # The first entry in the list is the class
-        # itself.
-    }
-
-    find_method(class, methname) {
-        foreach $class (get_mro(class)) {
-            if($class->has_method(methname)) {
-                return ref_to($class->$methname);
-            }
-        }
-        foreach $class (get_mro(UNIVERSAL)) {
-            if($class->has_method(methname)) {
-                return ref_to($class->$methname);
-            }
-        }
-        return undef;
-    }
-
-However the code that implements UNIVERSAL::isa does not
-search in UNIVERSAL itself, only in the package's actual
- at ISA.
-
-=head1 Alternate Object Representations
-
-Nothing requires objects to be implemented as hash references.  An object
-can be any sort of reference so long as its referent has been suitably
-blessed.  That means scalar, array, and code references are also fair
-game.
-
-A scalar would work if the object has only one datum to hold.  An array
-would work for most cases, but makes inheritance a bit dodgy because
-you have to invent new indices for the derived classes.
-
-=head2 Arrays as Objects
-
-If the user of your class honors the contract and sticks to the advertised
-interface, then you can change its underlying interface if you feel
-like it.  Here's another implementation that conforms to the same
-interface specification.  This time we'll use an array reference
-instead of a hash reference to represent the object.
-
-    package Person;
-    use strict;
-
-    my($NAME, $AGE, $PEERS) = ( 0 .. 2 );
-
-    ############################################
-    ## the object constructor (array version) ##
-    ############################################
-    sub new {
-        my $self = [];
-        $self->[$NAME]   = undef;  # this is unnecessary
-        $self->[$AGE]    = undef;  # as is this
-        $self->[$PEERS]  = [];     # but this isn't, really
-        bless($self);
-        return $self;
-    }
-
-    sub name {
-        my $self = shift;
-        if (@_) { $self->[$NAME] = shift }
-        return $self->[$NAME];
-    }
-
-    sub age {
-        my $self = shift;
-        if (@_) { $self->[$AGE] = shift }
-        return $self->[$AGE];
-    }
-
-    sub peers {
-        my $self = shift;
-        if (@_) { @{ $self->[$PEERS] } = @_ }
-        return @{ $self->[$PEERS] };
-    }
-
-    1;  # so the require or use succeeds
-
-You might guess that the array access would be a lot faster than the
-hash access, but they're actually comparable.  The array is a I<little>
-bit faster, but not more than ten or fifteen percent, even when you
-replace the variables above like $AGE with literal numbers, like 1.
-A bigger difference between the two approaches can be found in memory use.
-A hash representation takes up more memory than an array representation
-because you have to allocate memory for the keys as well as for the values.
-However, it really isn't that bad, especially since as of version 5.004,
-memory is only allocated once for a given hash key, no matter how many
-hashes have that key.  It's expected that sometime in the future, even
-these differences will fade into obscurity as more efficient underlying
-representations are devised.
-
-Still, the tiny edge in speed (and somewhat larger one in memory)
-is enough to make some programmers choose an array representation
-for simple classes.  There's still a little problem with
-scalability, though, because later in life when you feel
-like creating subclasses, you'll find that hashes just work
-out better.
-
-=head2 Closures as Objects
-
-Using a code reference to represent an object offers some fascinating
-possibilities.  We can create a new anonymous function (closure) who
-alone in all the world can see the object's data.  This is because we
-put the data into an anonymous hash that's lexically visible only to
-the closure we create, bless, and return as the object.  This object's
-methods turn around and call the closure as a regular subroutine call,
-passing it the field we want to affect.  (Yes,
-the double-function call is slow, but if you wanted fast, you wouldn't
-be using objects at all, eh? :-)
-
-Use would be similar to before:
-
-    use Person;
-    $him = Person->new();
-    $him->name("Jason");
-    $him->age(23);
-    $him->peers( [ "Norbert", "Rhys", "Phineas" ] );
-    printf "%s is %d years old.\n", $him->name, $him->age;
-    print "His peers are: ", join(", ", @{$him->peers}), "\n";
-
-but the implementation would be radically, perhaps even sublimely
-different:
-
-    package Person;
-
-    sub new {
-	 my $class  = shift;
-	 my $self = {
-	    NAME  => undef,
-	    AGE   => undef,
-	    PEERS => [],
-	 };
-	 my $closure = sub {
-	    my $field = shift;
-	    if (@_) { $self->{$field} = shift }
-	    return    $self->{$field};
-	};
-	bless($closure, $class);
-	return $closure;
-    }
-
-    sub name   { &{ $_[0] }("NAME",  @_[ 1 .. $#_ ] ) }
-    sub age    { &{ $_[0] }("AGE",   @_[ 1 .. $#_ ] ) }
-    sub peers  { &{ $_[0] }("PEERS", @_[ 1 .. $#_ ] ) }
-
-    1;
-
-Because this object is hidden behind a code reference, it's probably a bit
-mysterious to those whose background is more firmly rooted in standard
-procedural or object-based programming languages than in functional
-programming languages whence closures derive.  The object
-created and returned by the new() method is itself not a data reference
-as we've seen before.  It's an anonymous code reference that has within
-it access to a specific version (lexical binding and instantiation)
-of the object's data, which are stored in the private variable $self.
-Although this is the same function each time, it contains a different
-version of $self.
-
-When a method like C<$him-E<gt>name("Jason")> is called, its implicit
-zeroth argument is the invoking object--just as it is with all method
-calls.  But in this case, it's our code reference (something like a
-function pointer in C++, but with deep binding of lexical variables).
-There's not a lot to be done with a code reference beyond calling it, so
-that's just what we do when we say C<&{$_[0]}>.  This is just a regular
-function call, not a method call.  The initial argument is the string
-"NAME", and any remaining arguments are whatever had been passed to the
-method itself.
-
-Once we're executing inside the closure that had been created in new(),
-the $self hash reference suddenly becomes visible.  The closure grabs
-its first argument ("NAME" in this case because that's what the name()
-method passed it), and uses that string to subscript into the private
-hash hidden in its unique version of $self.
-
-Nothing under the sun will allow anyone outside the executing method to
-be able to get at this hidden data.  Well, nearly nothing.  You I<could>
-single step through the program using the debugger and find out the
-pieces while you're in the method, but everyone else is out of luck.
-
-There, if that doesn't excite the Scheme folks, then I just don't know
-what will.  Translation of this technique into C++, Java, or any other
-braindead-static language is left as a futile exercise for aficionados
-of those camps.
-
-You could even add a bit of nosiness via the caller() function and
-make the closure refuse to operate unless called via its own package.
-This would no doubt satisfy certain fastidious concerns of programming
-police and related puritans.
-
-If you were wondering when Hubris, the third principle virtue of a
-programmer, would come into play, here you have it. (More seriously,
-Hubris is just the pride in craftsmanship that comes from having written
-a sound bit of well-designed code.)
-
-=head1 AUTOLOAD: Proxy Methods
-
-Autoloading is a way to intercept calls to undefined methods.  An autoload
-routine may choose to create a new function on the fly, either loaded
-from disk or perhaps just eval()ed right there.  This define-on-the-fly
-strategy is why it's called autoloading.
-
-But that's only one possible approach.  Another one is to just
-have the autoloaded method itself directly provide the
-requested service.  When used in this way, you may think
-of autoloaded methods as "proxy" methods.
-
-When Perl tries to call an undefined function in a particular package
-and that function is not defined, it looks for a function in
-that same package called AUTOLOAD.  If one exists, it's called
-with the same arguments as the original function would have had.
-The fully-qualified name of the function is stored in that package's
-global variable $AUTOLOAD.  Once called, the function can do anything
-it would like, including defining a new function by the right name, and
-then doing a really fancy kind of C<goto> right to it, erasing itself
-from the call stack.
-
-What does this have to do with objects?  After all, we keep talking about
-functions, not methods.  Well, since a method is just a function with
-an extra argument and some fancier semantics about where it's found,
-we can use autoloading for methods, too.  Perl doesn't start looking
-for an AUTOLOAD method until it has exhausted the recursive hunt up
-through @ISA, though.  Some programmers have even been known to define
-a UNIVERSAL::AUTOLOAD method to trap unresolved method calls to any
-kind of object.
-
-=head2 Autoloaded Data Methods
-
-You probably began to get a little suspicious about the duplicated
-code way back earlier when we first showed you the Person class, and
-then later the Employee class.  Each method used to access the
-hash fields looked virtually identical.  This should have tickled
-that great programming virtue, Impatience, but for the time,
-we let Laziness win out, and so did nothing.  Proxy methods can cure
-this.
-
-Instead of writing a new function every time we want a new data field,
-we'll use the autoload mechanism to generate (actually, mimic) methods on
-the fly.  To verify that we're accessing a valid member, we will check
-against an C<_permitted> (pronounced "under-permitted") field, which
-is a reference to a file-scoped lexical (like a C file static) hash of permitted fields in this record
-called %fields.  Why the underscore?  For the same reason as the _CENSUS
-field we once used: as a marker that means "for internal use only".
-
-Here's what the module initialization code and class
-constructor will look like when taking this approach:
-
-    package Person;
-    use Carp;
-    our $AUTOLOAD;  # it's a package global
-
-    my %fields = (
-	name        => undef,
-	age         => undef,
-	peers       => undef,
-    );
-
-    sub new {
-	my $class = shift;
-	my $self  = {
-	    _permitted => \%fields,
-	    %fields,
-	};
-	bless $self, $class;
-	return $self;
-    }
-
-If we wanted our record to have default values, we could fill those in
-where current we have C<undef> in the %fields hash.
-
-Notice how we saved a reference to our class data on the object itself?
-Remember that it's important to access class data through the object
-itself instead of having any method reference %fields directly, or else
-you won't have a decent inheritance.
-
-The real magic, though, is going to reside in our proxy method, which
-will handle all calls to undefined methods for objects of class Person
-(or subclasses of Person).  It has to be called AUTOLOAD.  Again, it's
-all caps because it's called for us implicitly by Perl itself, not by
-a user directly.
-
-    sub AUTOLOAD {
-	my $self = shift;
-	my $type = ref($self)
-		    or croak "$self is not an object";
-
-	my $name = $AUTOLOAD;
-	$name =~ s/.*://;   # strip fully-qualified portion
-
-	unless (exists $self->{_permitted}->{$name} ) {
-	    croak "Can't access `$name' field in class $type";
-	}
-
-	if (@_) {
-	    return $self->{$name} = shift;
-	} else {
-	    return $self->{$name};
-	}
-    }
-
-Pretty nifty, eh?  All we have to do to add new data fields
-is modify %fields.  No new functions need be written.
-
-I could have avoided the C<_permitted> field entirely, but I
-wanted to demonstrate how to store a reference to class data on the
-object so you wouldn't have to access that class data
-directly from an object method.
-
-=head2 Inherited Autoloaded Data Methods
-
-But what about inheritance?  Can we define our Employee
-class similarly?  Yes, so long as we're careful enough.
-
-Here's how to be careful:
-
-    package Employee;
-    use Person;
-    use strict;
-    our @ISA = qw(Person);
-
-    my %fields = (
-	id          => undef,
-	salary      => undef,
-    );
-
-    sub new {
-	my $class = shift;
-	my $self  = $class->SUPER::new();
-	my($element);
-	foreach $element (keys %fields) {
-	    $self->{_permitted}->{$element} = $fields{$element};
-	}
-	@{$self}{keys %fields} = values %fields;
-	return $self;
-    }
-
-Once we've done this, we don't even need to have an
-AUTOLOAD function in the Employee package, because
-we'll grab Person's version of that via inheritance,
-and it will all work out just fine.
-
-=head1 Metaclassical Tools
-
-Even though proxy methods can provide a more convenient approach to making
-more struct-like classes than tediously coding up data methods as
-functions, it still leaves a bit to be desired.  For one thing, it means
-you have to handle bogus calls that you don't mean to trap via your proxy.
-It also means you have to be quite careful when dealing with inheritance,
-as detailed above.
-
-Perl programmers have responded to this by creating several different
-class construction classes.  These metaclasses are classes
-that create other classes.  A couple worth looking at are
-Class::Struct and Alias.  These and other related metaclasses can be
-found in the modules directory on CPAN.
-
-=head2 Class::Struct
-
-One of the older ones is Class::Struct.  In fact, its syntax and
-interface were sketched out long before perl5 even solidified into a
-real thing.  What it does is provide you a way to "declare" a class
-as having objects whose fields are of a specific type.  The function
-that does this is called, not surprisingly enough, struct().  Because
-structures or records are not base types in Perl, each time you want to
-create a class to provide a record-like data object, you yourself have
-to define a new() method, plus separate data-access methods for each of
-that record's fields.  You'll quickly become bored with this process.
-The Class::Struct::struct() function alleviates this tedium.
-
-Here's a simple example of using it:
-
-    use Class::Struct qw(struct);
-    use Jobbie;  # user-defined; see below
-
-    struct 'Fred' => {
-        one        => '$',
-        many       => '@',
-        profession => 'Jobbie',  # does not call Jobbie->new()
-    };
-
-    $ob = Fred->new(profession => Jobbie->new());
-    $ob->one("hmmmm");
-
-    $ob->many(0, "here");
-    $ob->many(1, "you");
-    $ob->many(2, "go");
-    print "Just set: ", $ob->many(2), "\n";
-
-    $ob->profession->salary(10_000);
-
-You can declare types in the struct to be basic Perl types, or
-user-defined types (classes).  User types will be initialized by calling
-that class's new() method.
-
-Take care that the C<Jobbie> object is not created automatically by the
-C<Fred> class's new() method, so you should specify a C<Jobbie> object
-when you create an instance of C<Fred>.
-
-Here's a real-world example of using struct generation.  Let's say you
-wanted to override Perl's idea of gethostbyname() and gethostbyaddr() so
-that they would return objects that acted like C structures.  We don't
-care about high-falutin' OO gunk.  All we want is for these objects to
-act like structs in the C sense.
-
-    use Socket;
-    use Net::hostent;
-    $h = gethostbyname("perl.com");  # object return
-    printf "perl.com's real name is %s, address %s\n",
-	$h->name, inet_ntoa($h->addr);
-
-Here's how to do this using the Class::Struct module.
-The crux is going to be this call:
-
-    struct 'Net::hostent' => [  	# note bracket
-	name       => '$',
-	aliases    => '@',
-	addrtype   => '$',
-	'length'   => '$',
-	addr_list  => '@',
-     ];
-
-Which creates object methods of those names and types.
-It even creates a new() method for us.
-
-We could also have implemented our object this way:
-
-    struct 'Net::hostent' => {  	# note brace
-	name       => '$',
-	aliases    => '@',
-	addrtype   => '$',
-	'length'   => '$',
-	addr_list  => '@',
-     };
-
-and then Class::Struct would have used an anonymous hash as the object
-type, instead of an anonymous array.  The array is faster and smaller,
-but the hash works out better if you eventually want to do inheritance.
-Since for this struct-like object we aren't planning on inheritance,
-this time we'll opt for better speed and size over better flexibility.
-
-Here's the whole implementation:
-
-    package Net::hostent;
-    use strict;
-
-    BEGIN {
-	use Exporter   ();
-	our @EXPORT      = qw(gethostbyname gethostbyaddr gethost);
-	our @EXPORT_OK   = qw(
-			       $h_name         @h_aliases
-			       $h_addrtype     $h_length
-			       @h_addr_list    $h_addr
-			   );
-	our %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
-    }
-    our @EXPORT_OK;
-
-    # Class::Struct forbids use of @ISA
-    sub import { goto &Exporter::import }
-
-    use Class::Struct qw(struct);
-    struct 'Net::hostent' => [
-       name        => '$',
-       aliases     => '@',
-       addrtype    => '$',
-       'length'    => '$',
-       addr_list   => '@',
-    ];
-
-    sub addr { shift->addr_list->[0] }
-
-    sub populate (@) {
-	return unless @_;
-	my $hob = new();  # Class::Struct made this!
-	$h_name     =    $hob->[0]              = $_[0];
-	@h_aliases  = @{ $hob->[1] } = split ' ', $_[1];
-	$h_addrtype =    $hob->[2]              = $_[2];
-	$h_length   =    $hob->[3]              = $_[3];
-	$h_addr     =                             $_[4];
-	@h_addr_list = @{ $hob->[4] } =         @_[ (4 .. $#_) ];
-	return $hob;
-    }
-
-    sub gethostbyname ($)  { populate(CORE::gethostbyname(shift)) }
-
-    sub gethostbyaddr ($;$) {
-	my ($addr, $addrtype);
-	$addr = shift;
-	require Socket unless @_;
-	$addrtype = @_ ? shift : Socket::AF_INET();
-	populate(CORE::gethostbyaddr($addr, $addrtype))
-    }
-
-    sub gethost($) {
-	if ($_[0] =~ /^\d+(?:\.\d+(?:\.\d+(?:\.\d+)?)?)?$/) {
-	   require Socket;
-	   &gethostbyaddr(Socket::inet_aton(shift));
-	} else {
-	   &gethostbyname;
-	}
-    }
-
-    1;
-
-We've snuck in quite a fair bit of other concepts besides just dynamic
-class creation, like overriding core functions, import/export bits,
-function prototyping, short-cut function call via C<&whatever>, and
-function replacement with C<goto &whatever>.  These all mostly make
-sense from the perspective of a traditional module, but as you can see,
-we can also use them in an object module.
-
-You can look at other object-based, struct-like overrides of core
-functions in the 5.004 release of Perl in File::stat, Net::hostent,
-Net::netent, Net::protoent, Net::servent, Time::gmtime, Time::localtime,
-User::grent, and User::pwent.  These modules have a final component
-that's all lowercase, by convention reserved for compiler pragmas,
-because they affect the compilation and change a builtin function.
-They also have the type names that a C programmer would most expect.
-
-=head2 Data Members as Variables
-
-If you're used to C++ objects, then you're accustomed to being able to
-get at an object's data members as simple variables from within a method.
-The Alias module provides for this, as well as a good bit more, such
-as the possibility of private methods that the object can call but folks
-outside the class cannot.
-
-Here's an example of creating a Person using the Alias module.
-When you update these magical instance variables, you automatically
-update value fields in the hash.  Convenient, eh?
-
-    package Person;
-
-    # this is the same as before...
-    sub new {
-	 my $class = shift;
-	 my $self = {
-	    NAME  => undef,
-	    AGE   => undef,
-	    PEERS => [],
-	};
-	bless($self, $class);
-	return $self;
-    }
-
-    use Alias qw(attr);
-    our ($NAME, $AGE, $PEERS);
-
-    sub name {
-	my $self = attr shift;
-	if (@_) { $NAME = shift; }
-	return    $NAME;
-    }
-
-    sub age {
-	my $self = attr shift;
-	if (@_) { $AGE = shift; }
-	return    $AGE;
-    }
-
-    sub peers {
-	my $self = attr shift;
-	if (@_) { @PEERS = @_; }
-	return    @PEERS;
-    }
-
-    sub exclaim {
-        my $self = attr shift;
-        return sprintf "Hi, I'm %s, age %d, working with %s",
-            $NAME, $AGE, join(", ", @PEERS);
-    }
-
-    sub happy_birthday {
-        my $self = attr shift;
-        return ++$AGE;
-    }
-
-The need for the C<our> declaration is because what Alias does
-is play with package globals with the same name as the fields.  To use
-globals while C<use strict> is in effect, you have to predeclare them.
-These package variables are localized to the block enclosing the attr()
-call just as if you'd used a local() on them.  However, that means that
-they're still considered global variables with temporary values, just
-as with any other local().
-
-It would be nice to combine Alias with
-something like Class::Struct or Class::MethodMaker.
-
-=head1 NOTES
-
-=head2 Object Terminology
-
-In the various OO literature, it seems that a lot of different words
-are used to describe only a few different concepts.  If you're not
-already an object programmer, then you don't need to worry about all
-these fancy words.  But if you are, then you might like to know how to
-get at the same concepts in Perl.
-
-For example, it's common to call an object an I<instance> of a class
-and to call those objects' methods I<instance methods>.  Data fields
-peculiar to each object are often called I<instance data> or I<object
-attributes>, and data fields common to all members of that class are
-I<class data>, I<class attributes>, or I<static data members>.
-
-Also, I<base class>, I<generic class>, and I<superclass> all describe
-the same notion, whereas I<derived class>, I<specific class>, and
-I<subclass> describe the other related one.
-
-C++ programmers have I<static methods> and I<virtual methods>,
-but Perl only has I<class methods> and I<object methods>.
-Actually, Perl only has methods.  Whether a method gets used
-as a class or object method is by usage only.  You could accidentally
-call a class method (one expecting a string argument) on an
-object (one expecting a reference), or vice versa.
-
-From the C++ perspective, all methods in Perl are virtual.
-This, by the way, is why they are never checked for function
-prototypes in the argument list as regular builtin and user-defined
-functions can be.
-
-Because a class is itself something of an object, Perl's classes can be
-taken as describing both a "class as meta-object" (also called I<object
-factory>) philosophy and the "class as type definition" (I<declaring>
-behaviour, not I<defining> mechanism) idea.  C++ supports the latter
-notion, but not the former.
-
-=head1 SEE ALSO
-
-The following manpages will doubtless provide more
-background for this one:
-L<perlmod>,
-L<perlref>,
-L<perlobj>,
-L<perlbot>,
-L<perltie>,
-and
-L<overload>.
-
-L<perlboot> is a kinder, gentler introduction to object-oriented
-programming.
-
-L<perltooc> provides more detail on class data.
-
-Some modules which might prove interesting are Class::Accessor,
-Class::Class, Class::Contract, Class::Data::Inheritable,
-Class::MethodMaker and Tie::SecureHash
-
-
-=head1 AUTHOR AND COPYRIGHT
-
-Copyright (c) 1997, 1998 Tom Christiansen 
-All rights reserved.
-
-This documentation is free; you can redistribute it and/or modify it
-under the same terms as Perl itself.
-
-Irrespective of its distribution, all code examples in this file
-are hereby placed into the public domain.  You are permitted and
-encouraged to use this code in your own programs for fun
-or for profit as you see fit.  A simple comment in the code giving
-credit would be courteous but is not required.
-
-=head1 COPYRIGHT
-
-=head2 Acknowledgments
-
-Thanks to
-Larry Wall,
-Roderick Schertler,
-Gurusamy Sarathy,
-Dean Roehrich,
-Raphael Manfredi,
-Brent Halsey,
-Greg Bacon,
-Brad Appleton,
-and many others for their helpful comments.
+=cut


Property changes on: vendor/perl/dist/pod/perltoot.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perltrap.pod
===================================================================
--- vendor/perl/dist/pod/perltrap.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perltrap.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -171,7 +171,7 @@
 =item *
 
 The switch statement is called C<given/when> and only available in
-perl 5.10 or newer. See L<perlsyn/"Switch statements">.
+perl 5.10 or newer.  See L<perlsyn/"Switch Statements">.
 
 =item *
 
@@ -347,1245 +347,6 @@
 
 =back
 
-=head2 Perl4 to Perl5 Traps
-
-Practicing Perl4 Programmers should take note of the following
-Perl4-to-Perl5 specific traps.
-
-They're crudely ordered according to the following list:
-
-=over 4
-
-=item Discontinuance, Deprecation, and BugFix traps
-
-Anything that's been fixed as a perl4 bug, removed as a perl4 feature
-or deprecated as a perl4 feature with the intent to encourage usage of
-some other perl5 feature.
-
-=item Parsing Traps
-
-Traps that appear to stem from the new parser.
-
-=item Numerical Traps
-
-Traps having to do with numerical or mathematical operators.
-
-=item General data type traps
-
-Traps involving perl standard data types.
-
-=item Context Traps - scalar, list contexts
-
-Traps related to context within lists, scalar statements/declarations.
-
-=item Precedence Traps
-
-Traps related to the precedence of parsing, evaluation, and execution of
-code.
-
-=item General Regular Expression Traps using s///, etc.
-
-Traps related to the use of pattern matching.
-
-=item Subroutine, Signal, Sorting Traps
-
-Traps related to the use of signals and signal handlers, general subroutines,
-and sorting, along with sorting subroutines.
-
-=item OS Traps
-
-OS-specific traps.
-
-=item DBM Traps
-
-Traps specific to the use of C<dbmopen()>, and specific dbm implementations.
-
-=item Unclassified Traps
-
-Everything else.
-
-=back
-
-If you find an example of a conversion trap that is not listed here,
-please submit it to <F<perlbug at perl.org>> for inclusion.
-Also note that at least some of these can be caught with the
-C<use warnings> pragma or the B<-w> switch.
-
-=head2 Discontinuance, Deprecation, and BugFix traps
-
-Anything that has been discontinued, deprecated, or fixed as
-a bug from perl4.
-
-=over 4
-
-=item * Symbols starting with "_" no longer forced into main
-
-Symbols starting with "_" are no longer forced into package main, except
-for C<$_> itself (and C<@_>, etc.).
-
-    package test;
-    $_legacy = 1;
-
-    package main;
-    print "\$_legacy is ",$_legacy,"\n";
-
-    # perl4 prints: $_legacy is 1
-    # perl5 prints: $_legacy is
-
-=item * Double-colon valid package separator in variable name
-
-Double-colon is now a valid package separator in a variable name.  Thus these
-behave differently in perl4 vs. perl5, because the packages don't exist.
-
-    $a=1;$b=2;$c=3;$var=4;
-    print "$a::$b::$c ";
-    print "$var::abc::xyz\n";
-
-    # perl4 prints: 1::2::3 4::abc::xyz
-    # perl5 prints: 3
-
-Given that C<::> is now the preferred package delimiter, it is debatable
-whether this should be classed as a bug or not.
-(The older package delimiter, ' ,is used here)
-
-    $x = 10;
-    print "x=${'x}\n";
-
-    # perl4 prints: x=10
-    # perl5 prints: Can't find string terminator "'" anywhere before EOF
-
-You can avoid this problem, and remain compatible with perl4, if you
-always explicitly include the package name:
-
-    $x = 10;
-    print "x=${main'x}\n";
-
-Also see precedence traps, for parsing C<$:>.
-
-=item * 2nd and 3rd args to C<splice()> are now in scalar context
-
-The second and third arguments of C<splice()> are now evaluated in scalar
-context (as the Camel says) rather than list context.
-
-    sub sub1{return(0,2) }          # return a 2-element list
-    sub sub2{ return(1,2,3)}        # return a 3-element list
-    @a1 = ("a","b","c","d","e");
-    @a2 = splice(@a1,&sub1,&sub2);
-    print join(' ', at a2),"\n";
-
-    # perl4 prints: a b
-    # perl5 prints: c d e
-
-=item * Can't do C<goto> into a block that is optimized away
-
-You can't do a C<goto> into a block that is optimized away.  Darn.
-
-    goto marker1;
-
-    for(1){
-    marker1:
-        print "Here I is!\n";
-    }
-
-    # perl4 prints: Here I is!
-    # perl5 errors: Can't "goto" into the middle of a foreach loop
-
-=item * Can't use whitespace as variable name or quote delimiter
-
-It is no longer syntactically legal to use whitespace as the name
-of a variable, or as a delimiter for any kind of quote construct.
-Double darn.
-
-    $a = ("foo bar");
-    $b = q baz ;
-    print "a is $a, b is $b\n";
-
-    # perl4 prints: a is foo bar, b is baz
-    # perl5 errors: Bareword found where operator expected
-
-=item * C<while/if BLOCK BLOCK> gone
-
-The archaic while/if BLOCK BLOCK syntax is no longer supported.
-
-    if { 1 } {
-        print "True!";
-    }
-    else {
-        print "False!";
-    }
-
-    # perl4 prints: True!
-    # perl5 errors: syntax error at test.pl line 1, near "if {"
-
-=item * C<**> binds tighter than unary minus
-
-The C<**> operator now binds more tightly than unary minus.
-It was documented to work this way before, but didn't.
-
-    print -4**2,"\n";
-
-    # perl4 prints: 16
-    # perl5 prints: -16
-
-=item * C<foreach> changed when iterating over a list
-
-The meaning of C<foreach{}> has changed slightly when it is iterating over a
-list which is not an array.  This used to assign the list to a
-temporary array, but no longer does so (for efficiency).  This means
-that you'll now be iterating over the actual values, not over copies of
-the values.  Modifications to the loop variable can change the original
-values.
-
-    @list = ('ab','abc','bcd','def');
-    foreach $var (grep(/ab/, at list)){
-        $var = 1;
-    }
-    print (join(':', at list));
-
-    # perl4 prints: ab:abc:bcd:def
-    # perl5 prints: 1:1:bcd:def
-
-To retain Perl4 semantics you need to assign your list
-explicitly to a temporary array and then iterate over that.  For
-example, you might need to change
-
-    foreach $var (grep(/ab/, at list)){
-
-to
-
-    foreach $var (@tmp = grep(/ab/, at list)){
-
-Otherwise changing $var will clobber the values of @list.  (This most often
-happens when you use C<$_> for the loop variable, and call subroutines in
-the loop that don't properly localize C<$_>.)
-
-=item * C<split> with no args behavior changed
-
-C<split> with no arguments now behaves like C<split ' '> (which doesn't
-return an initial null field if $_ starts with whitespace), it used to
-behave like C<split /\s+/> (which does).
-
-    $_ = ' hi mom';
-    print join(':', split);
-
-    # perl4 prints: :hi:mom
-    # perl5 prints: hi:mom
-
-=item * B<-e> behavior fixed
-
-Perl 4 would ignore any text which was attached to an B<-e> switch,
-always taking the code snippet from the following arg.  Additionally, it
-would silently accept an B<-e> switch without a following arg.  Both of
-these behaviors have been fixed.
-
-    perl -e'print "attached to -e"' 'print "separate arg"'
-
-    # perl4 prints: separate arg
-    # perl5 prints: attached to -e
-
-    perl -e
-
-    # perl4 prints:
-    # perl5 dies: No code specified for -e.
-
-=item * C<push> returns number of elements in resulting list
-
-In Perl 4 the return value of C<push> was undocumented, but it was
-actually the last value being pushed onto the target list.  In Perl 5
-the return value of C<push> is documented, but has changed, it is the
-number of elements in the resulting list.
-
-    @x = ('existing');
-    print push(@x, 'first new', 'second new');
-
-    # perl4 prints: second new
-    # perl5 prints: 3
-
-=item * Some error messages differ
-
-Some error messages will be different.
-
-=item * C<split()> honors subroutine args
-
-In Perl 4, if in list context the delimiters to the first argument of
-C<split()> were C<??>, the result would be placed in C<@_> as well as
-being returned.   Perl 5 has more respect for your subroutine arguments.
-
-=item * Bugs removed
-
-Some bugs may have been inadvertently removed.  :-)
-
-=back
-
-=head2 Parsing Traps
-
-Perl4-to-Perl5 traps from having to do with parsing.
-
-=over 4
-
-=item * Space between . and = triggers syntax error
-
-Note the space between . and =
-
-    $string . = "more string";
-    print $string;
-
-    # perl4 prints: more string
-    # perl5 prints: syntax error at - line 1, near ". ="
-
-=item * Better parsing in perl 5
-
-Better parsing in perl 5
-
-    sub foo {}
-    &foo
-    print("hello, world\n");
-
-    # perl4 prints: hello, world
-    # perl5 prints: syntax error
-
-=item * Function parsing
-
-"if it looks like a function, it is a function" rule.
-
-  print
-    ($foo == 1) ? "is one\n" : "is zero\n";
-
-    # perl4 prints: is zero
-    # perl5 warns: "Useless use of a constant in void context" if using -w
-
-=item * String interpolation of C<$#array> differs
-
-String interpolation of the C<$#array> construct differs when braces
-are to used around the name.
-
-    @a = (1..3);
-    print "${#a}";
-
-    # perl4 prints: 2
-    # perl5 fails with syntax error
-
-    @a = (1..3);
-    print "$#{a}";
-
-    # perl4 prints: {a}
-    # perl5 prints: 2
-
-=item * Perl guesses on C<map>, C<grep> followed by C<{> if it starts BLOCK or hash ref
-
-When perl sees C<map {> (or C<grep {>), it has to guess whether the C<{>
-starts a BLOCK or a hash reference. If it guesses wrong, it will report
-a syntax error near the C<}> and the missing (or unexpected) comma.
-
-Use unary C<+> before C<{> on a hash reference, and unary C<+> applied
-to the first thing in a BLOCK (after C<{>), for perl to guess right all
-the time. (See L<perlfunc/map>.)
-
-=back
-
-=head2 Numerical Traps
-
-Perl4-to-Perl5 traps having to do with numerical operators,
-operands, or output from same.
-
-=over 5
-
-=item * Formatted output and significant digits
-
-Formatted output and significant digits.  In general, Perl 5
-tries to be more precise.  For example, on a Solaris Sparc:
-
-    print 7.373504 - 0, "\n";
-    printf "%20.18f\n", 7.373504 - 0;
-
-    # Perl4 prints:
-    7.3750399999999996141
-    7.375039999999999614
-
-    # Perl5 prints:
-    7.373504
-    7.373503999999999614
-
-Notice how the first result looks better in Perl 5.
-
-Your results may vary, since your floating point formatting routines
-and even floating point format may be slightly different.
-
-=item * Auto-increment operator over signed int limit deleted
-
-This specific item has been deleted.  It demonstrated how the auto-increment
-operator would not catch when a number went over the signed int limit.  Fixed
-in version 5.003_04.  But always be wary when using large integers.
-If in doubt:
-
-   use Math::BigInt;
-
-=item * Assignment of return values from numeric equality tests doesn't work
-
-Assignment of return values from numeric equality tests
-does not work in perl5 when the test evaluates to false (0).
-Logical tests now return a null, instead of 0
-
-    $p = ($test == 1);
-    print $p,"\n";
-
-    # perl4 prints: 0
-    # perl5 prints:
-
-Also see L<"General Regular Expression Traps using s///, etc.">
-for another example of this new feature...
-
-=item * Bitwise string ops
-
-When bitwise operators which can operate upon either numbers or
-strings (C<& | ^ ~>) are given only strings as arguments, perl4 would
-treat the operands as bitstrings so long as the program contained a call
-to the C<vec()> function. perl5 treats the string operands as bitstrings.
-(See L<perlop/Bitwise String Operators> for more details.)
-
-    $fred = "10";
-    $barney = "12";
-    $betty = $fred & $barney;
-    print "$betty\n";
-    # Uncomment the next line to change perl4's behavior
-    # ($dummy) = vec("dummy", 0, 0);
-
-    # Perl4 prints:
-    8
-
-    # Perl5 prints:
-    10
-
-    # If vec() is used anywhere in the program, both print:
-    10
-
-=back
-
-=head2 General data type traps
-
-Perl4-to-Perl5 traps involving most data-types, and their usage
-within certain expressions and/or context.
-
-=over 5
-
-=item * Negative array subscripts now count from the end of array
-
-Negative array subscripts now count from the end of the array.
-
-    @a = (1, 2, 3, 4, 5);
-    print "The third element of the array is $a[3] also expressed as $a[-2] \n";
-
-    # perl4 prints: The third element of the array is 4 also expressed as
-    # perl5 prints: The third element of the array is 4 also expressed as 4
-
-=item * Setting C<$#array> lower now discards array elements
-
-Setting C<$#array> lower now discards array elements, and makes them
-impossible to recover.
-
-    @a = (a,b,c,d,e);
-    print "Before: ",join('', at a);
-    $#a =1;
-    print ", After: ",join('', at a);
-    $#a =3;
-    print ", Recovered: ",join('', at a),"\n";
-
-    # perl4 prints: Before: abcde, After: ab, Recovered: abcd
-    # perl5 prints: Before: abcde, After: ab, Recovered: ab
-
-=item * Hashes get defined before use
-
-Hashes get defined before use
-
-    local($s, at a,%h);
-    die "scalar \$s defined" if defined($s);
-    die "array \@a defined" if defined(@a);
-    die "hash \%h defined" if defined(%h);
-
-    # perl4 prints:
-    # perl5 dies: hash %h defined
-
-Perl will now generate a warning when it sees defined(@a) and
-defined(%h).
-
-=item * Glob assignment from localized variable to variable
-
-glob assignment from variable to variable will fail if the assigned
-variable is localized subsequent to the assignment
-
-    @a = ("This is Perl 4");
-    *b = *a;
-    local(@a);
-    print @b,"\n";
-
-    # perl4 prints: This is Perl 4
-    # perl5 prints:
-
-=item * Assigning C<undef> to glob
-
-Assigning C<undef> to a glob has no effect in Perl 5.   In Perl 4
-it undefines the associated scalar (but may have other side effects
-including SEGVs). Perl 5 will also warn if C<undef> is assigned to a
-typeglob. (Note that assigning C<undef> to a typeglob is different
-than calling the C<undef> function on a typeglob (C<undef *foo>), which
-has quite a few effects.
-
-    $foo = "bar";
-    *foo = undef;
-    print $foo;
-
-    # perl4 prints:
-    # perl4 warns: "Use of uninitialized variable" if using -w
-    # perl5 prints: bar
-    # perl5 warns: "Undefined value assigned to typeglob" if using -w
-
-=item * Changes in unary negation (of strings)
-
-Changes in unary negation (of strings)
-This change effects both the return value and what it
-does to auto(magic)increment.
-
-    $x = "aaa";
-    print ++$x," : ";
-    print -$x," : ";
-    print ++$x,"\n";
-
-    # perl4 prints: aab : -0 : 1
-    # perl5 prints: aab : -aab : aac
-
-=item * Modifying of constants prohibited
-
-perl 4 lets you modify constants:
-
-    $foo = "x";
-    &mod($foo);
-    for ($x = 0; $x < 3; $x++) {
-        &mod("a");
-    }
-    sub mod {
-        print "before: $_[0]";
-        $_[0] = "m";
-        print "  after: $_[0]\n";
-    }
-
-    # perl4:
-    # before: x  after: m
-    # before: a  after: m
-    # before: m  after: m
-    # before: m  after: m
-
-    # Perl5:
-    # before: x  after: m
-    # Modification of a read-only value attempted at foo.pl line 12.
-    # before: a
-
-=item * C<defined $var> behavior changed
-
-The behavior is slightly different for:
-
-    print "$x", defined $x
-
-    # perl 4: 1
-    # perl 5: <no output, $x is not called into existence>
-
-=item * Variable Suicide
-
-Variable suicide behavior is more consistent under Perl 5.
-Perl5 exhibits the same behavior for hashes and scalars,
-that perl4 exhibits for only scalars.
-
-    $aGlobal{ "aKey" } = "global value";
-    print "MAIN:", $aGlobal{"aKey"}, "\n";
-    $GlobalLevel = 0;
-    &test( *aGlobal );
-
-    sub test {
-        local( *theArgument ) = @_;
-        local( %aNewLocal ); # perl 4 != 5.001l,m
-        $aNewLocal{"aKey"} = "this should never appear";
-        print "SUB: ", $theArgument{"aKey"}, "\n";
-        $aNewLocal{"aKey"} = "level $GlobalLevel";   # what should print
-        $GlobalLevel++;
-        if( $GlobalLevel<4 ) {
-            &test( *aNewLocal );
-        }
-    }
-
-    # Perl4:
-    # MAIN:global value
-    # SUB: global value
-    # SUB: level 0
-    # SUB: level 1
-    # SUB: level 2
-
-    # Perl5:
-    # MAIN:global value
-    # SUB: global value
-    # SUB: this should never appear
-    # SUB: this should never appear
-    # SUB: this should never appear
-
-=back
-
-=head2 Context Traps - scalar, list contexts
-
-=over 5
-
-=item * Elements of argument lists for formats evaluated in list context
-
-The elements of argument lists for formats are now evaluated in list
-context.  This means you can interpolate list values now.
-
-    @fmt = ("foo","bar","baz");
-    format STDOUT=
-    @<<<<< @||||| @>>>>>
-    @fmt;
-    .
-    write;
-
-    # perl4 errors:  Please use commas to separate fields in file
-    # perl5 prints: foo     bar      baz
-
-=item * C<caller()> returns false value in scalar context if no caller present
-
-The C<caller()> function now returns a false value in a scalar context
-if there is no caller.  This lets library files determine if they're
-being required.
-
-    caller() ? (print "You rang?\n") : (print "Got a 0\n");
-
-    # perl4 errors: There is no caller
-    # perl5 prints: Got a 0
-
-=item * Comma operator in scalar context gives scalar context to args
-
-The comma operator in a scalar context is now guaranteed to give a
-scalar context to its last argument. It gives scalar or void context
-to any preceding arguments, depending on circumstances.
-
-    @y= ('a','b','c');
-    $x = (1, 2, @y);
-    print "x = $x\n";
-
-    # Perl4 prints:  x = c   # Interpolates array @y into the list
-    # Perl5 prints:  x = 3   # Evaluates array @y in scalar context
-
-=item * C<sprintf()> prototyped as C<($;@)>
-
-C<sprintf()> is prototyped as ($;@), so its first argument is given scalar
-context. Thus, if passed an array, it will probably not do what you want,
-unlike Perl 4:
-
-    @z = ('%s%s', 'foo', 'bar');
-    $x = sprintf(@z);
-    print $x;
-
-    # perl4 prints: foobar
-    # perl5 prints: 3
-
-C<printf()> works the same as it did in Perl 4, though:
-
-    @z = ('%s%s', 'foo', 'bar');
-    printf STDOUT (@z);
-
-    # perl4 prints: foobar
-    # perl5 prints: foobar
-
-=back
-
-=head2 Precedence Traps
-
-Perl4-to-Perl5 traps involving precedence order.
-
-Perl 4 has almost the same precedence rules as Perl 5 for the operators
-that they both have.  Perl 4 however, seems to have had some
-inconsistencies that made the behavior differ from what was documented.
-
-=over 5
-
-=item * LHS vs. RHS of any assignment operator
-
-LHS vs. RHS of any assignment operator.  LHS is evaluated first
-in perl4, second in perl5; this can affect the relationship
-between side-effects in sub-expressions.
-
-    @arr = ( 'left', 'right' );
-    $a{shift @arr} = shift @arr;
-    print join( ' ', keys %a );
-
-    # perl4 prints: left
-    # perl5 prints: right
-
-=item * Semantic errors introduced due to precedence
-
-These are now semantic errors because of precedence:
-
-    @list = (1,2,3,4,5);
-    %map = ("a",1,"b",2,"c",3,"d",4);
-    $n = shift @list + 2;   # first item in list plus 2
-    print "n is $n, ";
-    $m = keys %map + 2;     # number of items in hash plus 2
-    print "m is $m\n";
-
-    # perl4 prints: n is 3, m is 6
-    # perl5 errors and fails to compile
-
-=item * Precedence of assignment operators same as the precedence of assignment
-
-The precedence of assignment operators is now the same as the precedence
-of assignment.  Perl 4 mistakenly gave them the precedence of the associated
-operator.  So you now must parenthesize them in expressions like
-
-    /foo/ ? ($a += 2) : ($a -= 2);
-
-Otherwise
-
-    /foo/ ? $a += 2 : $a -= 2
-
-would be erroneously parsed as
-
-    (/foo/ ? $a += 2 : $a) -= 2;
-
-On the other hand,
-
-    $a += /foo/ ? 1 : 2;
-
-now works as a C programmer would expect.
-
-=item * C<open> requires parentheses around filehandle
-
-    open FOO || die;
-
-is now incorrect.  You need parentheses around the filehandle.
-Otherwise, perl5 leaves the statement as its default precedence:
-
-    open(FOO || die);
-
-    # perl4 opens or dies
-    # perl5 opens FOO, dying only if 'FOO' is false, i.e. never
-
-=item * C<$:> precedence over C<$::> gone
-
-perl4 gives the special variable, C<$:> precedence, where perl5
-treats C<$::> as main C<package>
-
-    $a = "x"; print "$::a";
-
-    # perl 4 prints: -:a
-    # perl 5 prints: x
-
-=item * Precedence of file test operators documented
-
-perl4 had buggy precedence for the file test operators vis-a-vis
-the assignment operators.  Thus, although the precedence table
-for perl4 leads one to believe C<-e $foo .= "q"> should parse as
-C<((-e $foo) .= "q")>, it actually parses as C<(-e ($foo .= "q"))>.
-In perl5, the precedence is as documented.
-
-    -e $foo .= "q"
-
-    # perl4 prints: no output
-    # perl5 prints: Can't modify -e in concatenation
-
-=item * C<keys>, C<each>, C<values> are regular named unary operators
-
-In perl4, keys(), each() and values() were special high-precedence operators
-that operated on a single hash, but in perl5, they are regular named unary
-operators.  As documented, named unary operators have lower precedence
-than the arithmetic and concatenation operators C<+ - .>, but the perl4
-variants of these operators actually bind tighter than C<+ - .>.
-Thus, for:
-
-    %foo = 1..10;
-    print keys %foo - 1
-
-    # perl4 prints: 4
-    # perl5 prints: Type of arg 1 to keys must be hash (not subtraction)
-
-The perl4 behavior was probably more useful, if less consistent.
-
-=back
-
-=head2 General Regular Expression Traps using s///, etc.
-
-All types of RE traps.
-
-=over 5
-
-=item * C<s'$lhs'$rhs'> interpolates on either side
-
-C<s'$lhs'$rhs'> now does no interpolation on either side.  It used to
-interpolate $lhs but not $rhs.  (And still does not match a literal
-'$' in string)
-
-    $a=1;$b=2;
-    $string = '1 2 $a $b';
-    $string =~ s'$a'$b';
-    print $string,"\n";
-
-    # perl4 prints: $b 2 $a $b
-    # perl5 prints: 1 2 $a $b
-
-=item * C<m//g> attaches its state to the searched string
-
-C<m//g> now attaches its state to the searched string rather than the
-regular expression.  (Once the scope of a block is left for the sub, the
-state of the searched string is lost)
-
-    $_ = "ababab";
-    while(m/ab/g){
-        &doit("blah");
-    }
-    sub doit{local($_) = shift; print "Got $_ "}
-
-    # perl4 prints: Got blah Got blah Got blah Got blah
-    # perl5 prints: infinite loop blah...
-
-=item * C<m//o> used within an anonymous sub
-
-Currently, if you use the C<m//o> qualifier on a regular expression
-within an anonymous sub, I<all> closures generated from that anonymous
-sub will use the regular expression as it was compiled when it was used
-the very first time in any such closure.  For instance, if you say
-
-    sub build_match {
-        my($left,$right) = @_;
-        return sub { $_[0] =~ /$left stuff $right/o; };
-    }
-    $good = build_match('foo','bar');
-    $bad = build_match('baz','blarch');
-    print $good->('foo stuff bar') ? "ok\n" : "not ok\n";
-    print $bad->('baz stuff blarch') ? "ok\n" : "not ok\n";
-    print $bad->('foo stuff bar') ? "not ok\n" : "ok\n";
-
-For most builds of Perl5, this will print:
-ok
-not ok
-not ok
-
-build_match() will always return a sub which matches the contents of
-$left and $right as they were the I<first> time that build_match()
-was called, not as they are in the current call.
-
-=item * C<$+> isn't set to whole match
-
-If no parentheses are used in a match, Perl4 sets C<$+> to
-the whole match, just like C<$&>. Perl5 does not.
-
-    "abcdef" =~ /b.*e/;
-    print "\$+ = $+\n";
-
-    # perl4 prints: bcde
-    # perl5 prints:
-
-=item * Substitution now returns null string if it fails
-
-substitution now returns the null string if it fails
-
-    $string = "test";
-    $value = ($string =~ s/foo//);
-    print $value, "\n";
-
-    # perl4 prints: 0
-    # perl5 prints:
-
-Also see L<Numerical Traps> for another example of this new feature.
-
-=item * C<s`lhs`rhs`> is now a normal substitution
-
-C<s`lhs`rhs`> (using backticks) is now a normal substitution, with no
-backtick expansion
-
-    $string = "";
-    $string =~ s`^`hostname`;
-    print $string, "\n";
-
-    # perl4 prints: <the local hostname>
-    # perl5 prints: hostname
-
-=item * Stricter parsing of variables in regular expressions
-
-Stricter parsing of variables used in regular expressions
-
-    s/^([^$grpc]*$grpc[$opt$plus$rep]?)//o;
-
-    # perl4: compiles w/o error
-    # perl5: with Scalar found where operator expected ..., near "$opt$plus"
-
-an added component of this example, apparently from the same script, is
-the actual value of the s'd string after the substitution.
-C<[$opt]> is a character class in perl4 and an array subscript in perl5
-
-    $grpc = 'a';
-    $opt  = 'r';
-    $_ = 'bar';
-    s/^([^$grpc]*$grpc[$opt]?)/foo/;
-    print;
-
-    # perl4 prints: foo
-    # perl5 prints: foobar
-
-=item * C<m?x?> matches only once
-
-Under perl5, C<m?x?> matches only once, like C<?x?>. Under perl4, it matched
-repeatedly, like C</x/> or C<m!x!>.
-
-    $test = "once";
-    sub match { $test =~ m?once?; }
-    &match();
-    if( &match() ) {
-        # m?x? matches more then once
-        print "perl4\n";
-    } else {
-        # m?x? matches only once
-        print "perl5\n";
-    }
-
-    # perl4 prints: perl4
-    # perl5 prints: perl5
-
-=item * Failed matches don't reset the match variables
-
-Unlike in Ruby, failed matches in Perl do not reset the match variables
-($1, $2, ..., C<$`>, ...).
-
-=back
-
-=head2 Subroutine, Signal, Sorting Traps
-
-The general group of Perl4-to-Perl5 traps having to do with
-Signals, Sorting, and their related subroutines, as well as
-general subroutine traps.  Includes some OS-Specific traps.
-
-=over 5
-
-=item * Barewords that used to look like strings look like subroutine calls
-
-Barewords that used to look like strings to Perl will now look like subroutine
-calls if a subroutine by that name is defined before the compiler sees them.
-
-    sub SeeYa { warn"Hasta la vista, baby!" }
-    $SIG{'TERM'} = SeeYa;
-    print "SIGTERM is now $SIG{'TERM'}\n";
-
-    # perl4 prints: SIGTERM is now main'SeeYa
-    # perl5 prints: SIGTERM is now main::1 (and warns "Hasta la vista, baby!")
-
-Use B<-w> to catch this one
-
-=item * Reverse is no longer allowed as the name of a sort subroutine
-
-reverse is no longer allowed as the name of a sort subroutine.
-
-    sub reverse{ print "yup "; $a <=> $b }
-    print sort reverse (2,1,3);
-
-    # perl4 prints: yup yup 123
-    # perl5 prints: 123
-    # perl5 warns (if using -w): Ambiguous call resolved as CORE::reverse()
-
-=item * C<warn()> won't let you specify a filehandle.
-
-Although it _always_ printed to STDERR, warn() would let you specify a
-filehandle in perl4.  With perl5 it does not.
-
-    warn STDERR "Foo!";
-
-    # perl4 prints: Foo!
-    # perl5 prints: String found where operator expected
-
-=back
-
-=head2 OS Traps
-
-=over 5
-
-=item * SysV resets signal handler correctly
-
-Under HPUX, and some other SysV OSes, one had to reset any signal handler,
-within  the signal handler function, each time a signal was handled with
-perl4.  With perl5, the reset is now done correctly.  Any code relying
-on the handler _not_ being reset will have to be reworked.
-
-Since version 5.002, Perl uses sigaction() under SysV.
-
-    sub gotit {
-        print "Got @_... ";
-    }
-    $SIG{'INT'} = 'gotit';
-
-    $| = 1;
-    $pid = fork;
-    if ($pid) {
-        kill('INT', $pid);
-        sleep(1);
-        kill('INT', $pid);
-    } else {
-        while (1) {sleep(10);}
-    }
-
-    # perl4 (HPUX) prints: Got INT...
-    # perl5 (HPUX) prints: Got INT... Got INT...
-
-=item * SysV C<seek()> appends correctly
-
-Under SysV OSes, C<seek()> on a file opened to append C<<< >> >>> now does
-the right thing w.r.t. the fopen() manpage. e.g., - When a file is opened
-for append,  it  is  impossible to overwrite information already in
-the file.
-
-    open(TEST,">>seek.test");
-    $start = tell TEST;
-    foreach(1 .. 9){
-        print TEST "$_ ";
-    }
-    $end = tell TEST;
-    seek(TEST,$start,0);
-    print TEST "18 characters here";
-
-    # perl4 (solaris) seek.test has: 18 characters here
-    # perl5 (solaris) seek.test has: 1 2 3 4 5 6 7 8 9 18 characters here
-
-
-
-=back
-
-=head2 Interpolation Traps
-
-Perl4-to-Perl5 traps having to do with how things get interpolated
-within certain expressions, statements, contexts, or whatever.
-
-=over 5
-
-=item * C<@> always interpolates an array in double-quotish strings
-
-@ now always interpolates an array in double-quotish strings.
-
-    print "To: someone at somewhere.com\n";
-
-    # perl4 prints: To:someone at somewhere.com
-    # perl < 5.6.1, error : In string, @somewhere now must be written as \@somewhere
-    # perl >= 5.6.1, warning : Possible unintended interpolation of @somewhere in string
-
-=item * Double-quoted strings may no longer end with an unescaped $
-
-Double-quoted strings may no longer end with an unescaped $.
-
-    $foo = "foo$";
-    print "foo is $foo\n";
-
-    # perl4 prints: foo is foo$
-    # perl5 errors: Final $ should be \$ or $name
-
-Note: perl5 DOES NOT error on the terminating @ in $bar
-
-=item * Arbitrary expressions are evaluated inside braces within double quotes
-
-Perl now sometimes evaluates arbitrary expressions inside braces that occur
-within double quotes (usually when the opening brace is preceded by C<$>
-or C<@>).
-
-    @www = "buz";
-    $foo = "foo";
-    $bar = "bar";
-    sub foo { return "bar" };
-    print "|@{w.w.w}|${main'foo}|";
-
-    # perl4 prints: |@{w.w.w}|foo|
-    # perl5 prints: |buz|bar|
-
-Note that you can C<use strict;> to ward off such trappiness under perl5.
-
-=item * C<$$x> now tries to dereference $x
-
-The construct "this is $$x" used to interpolate the pid at that point, but
-now tries to dereference $x.  C<$$> by itself still works fine, however.
-
-    $s = "a reference";
-    $x = *s;
-    print "this is $$x\n";
-
-    # perl4 prints: this is XXXx   (XXX is the current pid)
-    # perl5 prints: this is a reference
-
-=item * Creation of hashes on the fly with C<eval "EXPR"> requires protection
-
-Creation of hashes on the fly with C<eval "EXPR"> now requires either both
-C<$>'s to be protected in the specification of the hash name, or both curlies
-to be protected.  If both curlies are protected, the result will be compatible
-with perl4 and perl5.  This is a very common practice, and should be changed
-to use the block form of C<eval{}>  if possible.
-
-    $hashname = "foobar";
-    $key = "baz";
-    $value = 1234;
-    eval "\$$hashname{'$key'} = q|$value|";
-    (defined($foobar{'baz'})) ?  (print "Yup") : (print "Nope");
-
-    # perl4 prints: Yup
-    # perl5 prints: Nope
-
-Changing
-
-    eval "\$$hashname{'$key'} = q|$value|";
-
-to
-
-    eval "\$\$hashname{'$key'} = q|$value|";
-
-causes the following result:
-
-    # perl4 prints: Nope
-    # perl5 prints: Yup
-
-or, changing to
-
-    eval "\$$hashname\{'$key'\} = q|$value|";
-
-causes the following result:
-
-    # perl4 prints: Yup
-    # perl5 prints: Yup
-    # and is compatible for both versions
-
-
-=item * Bugs in earlier perl versions
-
-perl4 programs which unconsciously rely on the bugs in earlier perl versions.
-
-    perl -e '$bar=q/not/; print "This is $foo{$bar} perl5"'
-
-    # perl4 prints: This is not perl5
-    # perl5 prints: This is perl5
-
-=item * Array and hash brackets during interpolation
-
-You also have to be careful about array and hash brackets during
-interpolation.
-
-    print "$foo["
-
-    perl 4 prints: [
-    perl 5 prints: syntax error
-
-    print "$foo{"
-
-    perl 4 prints: {
-    perl 5 prints: syntax error
-
-Perl 5 is expecting to find an index or key name following the respective
-brackets, as well as an ending bracket of the appropriate type.  In order
-to mimic the behavior of Perl 4, you must escape the bracket like so.
-
-    print "$foo\[";
-    print "$foo\{";
-
-=item * Interpolation of C<\$$foo{bar}>
-
-Similarly, watch out for: C<\$$foo{bar}>
-
-    $foo = "baz";
-    print "\$$foo{bar}\n";
-
-    # perl4 prints: $baz{bar}
-    # perl5 prints: $
-
-Perl 5 is looking for C<$foo{bar}> which doesn't exist, but perl 4 is
-happy just to expand $foo to "baz" by itself.  Watch out for this
-especially in C<eval>'s.
-
-=item * C<qq()> string passed to C<eval> will not find string terminator
-
-C<qq()> string passed to C<eval>
-
-    eval qq(
-        foreach \$y (keys %\$x\) {
-            \$count++;
-        }
-    );
-
-    # perl4 runs this ok
-    # perl5 prints: Can't find string terminator ")"
-
-=back
-
-=head2 DBM Traps
-
-General DBM traps.
-
-=over 5
-
-=item * Perl5 must have been linked with same dbm/ndbm as the default for C<dbmopen()>
-
-Existing dbm databases created under perl4 (or any other dbm/ndbm tool)
-may cause the same script, run under perl5, to fail.  The build of perl5
-must have been linked with the same dbm/ndbm as the default for C<dbmopen()>
-to function properly without C<tie>'ing to an extension dbm implementation.
-
-    dbmopen (%dbm, "file", undef);
-    print "ok\n";
-
-    # perl4 prints: ok
-    # perl5 prints: ok (IFF linked with -ldbm or -lndbm)
-
-
-=item * DBM exceeding limit on the key/value size will cause perl5 to exit immediately
-
-Existing dbm databases created under perl4 (or any other dbm/ndbm tool)
-may cause the same script, run under perl5, to fail.  The error generated
-when exceeding the limit on the key/value size will cause perl5 to exit
-immediately.
-
-    dbmopen(DB, "testdb",0600) || die "couldn't open db! $!";
-    $DB{'trap'} = "x" x 1024;  # value too large for most dbm/ndbm
-    print "YUP\n";
-
-    # perl4 prints:
-    dbm store returned -1, errno 28, key "trap" at - line 3.
-    YUP
-
-    # perl5 prints:
-    dbm store returned -1, errno 28, key "trap" at - line 3.
-
-=back
-
-=head2 Unclassified Traps
-
-Everything else.
-
-=over 5
-
-=item * C<require>/C<do> trap using returned value
-
-If the file doit.pl has:
-
-    sub foo {
-        $rc = do "./do.pl";
-        return 8;
-    }
-    print &foo, "\n";
-
-And the do.pl file has the following single line:
-
-    return 3;
-
-Running doit.pl gives the following:
-
-    # perl 4 prints: 3 (aborts the subroutine early)
-    # perl 5 prints: 8
-
-Same behavior if you replace C<do> with C<require>.
-
-=item * C<split> on empty string with LIMIT specified
-
-    $string = '';
-    @list = split(/foo/, $string, 2)
-
-Perl4 returns a one element list containing the empty string but Perl5
-returns an empty list.
-
-=back
-
 As always, if any of these are ever officially declared as bugs,
 they'll be fixed and removed.
 


Property changes on: vendor/perl/dist/pod/perltrap.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlunicode.pod
===================================================================
--- vendor/perl/dist/pod/perlunicode.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlunicode.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,8 +28,10 @@
 selected if you use C<use 5.012> or higher.)  Failure to do this can
 trigger unexpected surprises.  See L</The "Unicode Bug"> below.
 
-This pragma doesn't affect I/O, and there are still several places
-where Unicode isn't fully supported, such as in filenames.
+This pragma doesn't affect I/O.  Nor does it change the internal
+representation of strings, only their interpretation.  There are still
+several places where Unicode isn't fully supported, such as in
+filenames.
 
 =item Input and Output Layers
 
@@ -72,8 +74,7 @@
 
 =head2 Byte and Character Semantics
 
-Beginning with version 5.6, Perl uses logically-wide characters to
-represent strings internally.
+Perl uses logically-wide characters to represent strings internally.
 
 Starting in Perl 5.14, Perl-level operations work with
 characters rather than bytes within the scope of a
@@ -90,18 +91,15 @@
 without additional information from the user, Perl decides in favor of
 compatibility and chooses to use byte semantics.
 
-When C<use locale> is in effect (which overrides
-C<use feature 'unicode_strings'> in the same scope), Perl uses the
-semantics associated
-with the current locale.  Otherwise, Perl uses the platform's native
+When C<use locale> (but not C<use locale ':not_characters'>) is in
+effect, Perl uses the semantics associated with the current locale.
+(C<use locale> overrides C<use feature 'unicode_strings'> in the same scope;
+while C<use locale ':not_characters'> effectively also selects
+C<use feature 'unicode_strings'> in its scope; see L<perllocale>.)
+Otherwise, Perl uses the platform's native
 byte semantics for characters whose code points are less than 256, and
-Unicode semantics for those greater than 255.  On EBCDIC platforms, this
-is almost seamless, as the EBCDIC code pages that Perl handles are
-equivalent to Unicode's first 256 code points.  (The exception is that
-EBCDIC regular expression case-insensitive matching rules are not as
-as robust as Unicode's.)   But on ASCII platforms, Perl uses US-ASCII
-(or Basic Latin in Unicode terminology) byte semantics, meaning that characters
-whose ordinal numbers are in the range 128 - 255 are undefined except for their
+Unicode semantics for those greater than 255.  That means that non-ASCII
+characters are undefined except for their
 ordinal numbers.  This means that none have case (upper and lower), nor are any
 a member of character classes, like C<[:alpha:]> or C<\w>.  (But all do belong
 to the C<\W> class or the Perl regular expression extension C<[:^alpha:]>.)
@@ -155,16 +153,18 @@
 above.  For characters below 0x100 you may get byte semantics instead of
 character semantics;  see L</The "Unicode Bug">.  On EBCDIC machines there is
 the additional problem that the value for such characters gives the EBCDIC
-character rather than the Unicode one.
+character rather than the Unicode one, thus it is more portable to use
+C<\N{U+...}> instead.
 
-Additionally, if you
+Additionally, you can use the C<\N{...}> notation and put the official
+Unicode character name within the braces, such as
+C<\N{WHITE SMILING FACE}>.  This automatically loads the L<charnames>
+module with the C<:full> and C<:short> options.  If you prefer different
+options for this module, you can instead, before the C<\N{...}>,
+explicitly load it with your desired options; for example,
 
-   use charnames ':full';
+   use charnames ':loose';
 
-you can use the C<\N{...}> notation and put the official Unicode
-character name within the braces, such as C<\N{WHITE SMILING FACE}>.
-See L<charnames>.
-
 =item *
 
 If an appropriate L<encoding> is specified, identifiers within the
@@ -260,11 +260,13 @@
 
 =item *
 
-You can define your own mappings to be used in C<lc()>,
-C<lcfirst()>, C<uc()>, and C<ucfirst()> (or their double-quoted string inlined
-versions such as C<\U>). See
-L<User-Defined Case-Mappings|/"User-Defined Case Mappings (for serious hackers only)">
-for more details.
+There is a CPAN module, L<Unicode::Casing>, which allows you to define
+your own mappings to be used in C<lc()>, C<lcfirst()>, C<uc()>,
+C<ucfirst()>, and C<fc> (or their double-quoted string inlined
+versions such as C<\U>).
+(Prior to Perl 5.16, this functionality was partially provided
+in the Perl core, but suffered from a number of insurmountable
+drawbacks, so the CPAN module was written instead.)
 
 =back
 
@@ -301,7 +303,8 @@
 take on more values than just True and False.  For example, the Bidi_Class (see
 L</"Bidirectional Character Types"> below), can take on several different
 values, such as Left, Right, Whitespace, and others.  To match these, one needs
-to specify the property name (Bidi_Class), AND the value being matched against
+to specify both the property name (Bidi_Class), AND the value being
+matched against
 (Left, Right, etc.).  This is done, as in the examples above, by having the
 two components separated by an equal sign (or interchangeably, a colon), like
 C<\p{Bidi_Class: Left}>.
@@ -364,6 +367,14 @@
 numerals, come in both upper and lower case so they are C<Cased>, but aren't considered
 letters, so they aren't C<Cased_Letter>s.)
 
+The result is undefined if you try to match a non-Unicode code point
+(that is, one above 0x10FFFF) against a Unicode property.  Currently, a
+warning is raised, and the match will fail.  In some cases, this is
+counterintuitive, as both these fail:
+
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=True}      # Fails.
+ chr(0x110000) =~ \p{ASCII_Hex_Digit=False}     # Fails!
+
 =head3 B<General_Category>
 
 Every Unicode character is assigned a general category, which is the "most
@@ -469,12 +480,64 @@
 written in Cyrillic, and Greek is written in, well, Greek; Japanese mainly in
 Hiragana or Katakana.  There are many more.
 
-The Unicode Script property gives what script a given character is in,
-and the property can be specified with the compound form like
-C<\p{Script=Hebrew}> (short: C<\p{sc=hebr}>).  Perl furnishes shortcuts for all
-script names.  You can omit everything up through the equals (or colon), and
-simply write C<\p{Latin}> or C<\P{Cyrillic}>.
+The Unicode Script and Script_Extensions properties give what script a
+given character is in.  Either property can be specified with the
+compound form like
+C<\p{Script=Hebrew}> (short: C<\p{sc=hebr}>), or
+C<\p{Script_Extensions=Javanese}> (short: C<\p{scx=java}>).
+In addition, Perl furnishes shortcuts for all
+C<Script> property names.  You can omit everything up through the equals
+(or colon), and simply write C<\p{Latin}> or C<\P{Cyrillic}>.
+(This is not true for C<Script_Extensions>, which is required to be
+written in the compound form.)
 
+The difference between these two properties involves characters that are
+used in multiple scripts.  For example the digits '0' through '9' are
+used in many parts of the world.  These are placed in a script named
+C<Common>.  Other characters are used in just a few scripts.  For
+example, the "KATAKANA-HIRAGANA DOUBLE HYPHEN" is used in both Japanese
+scripts, Katakana and Hiragana, but nowhere else.  The C<Script>
+property places all characters that are used in multiple scripts in the
+C<Common> script, while the C<Script_Extensions> property places those
+that are used in only a few scripts into each of those scripts; while
+still using C<Common> for those used in many scripts.  Thus both these
+match:
+
+ "0" =~ /\p{sc=Common}/     # Matches
+ "0" =~ /\p{scx=Common}/    # Matches
+
+and only the first of these match:
+
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{sc=Common}  # Matches
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{scx=Common} # No match
+
+And only the last two of these match:
+
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{sc=Hiragana}  # No match
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{sc=Katakana}  # No match
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{scx=Hiragana} # Matches
+ "\N{KATAKANA-HIRAGANA DOUBLE HYPHEN}" =~ /\p{scx=Katakana} # Matches
+
+C<Script_Extensions> is thus an improved C<Script>, in which there are
+fewer characters in the C<Common> script, and correspondingly more in
+other scripts.  It is new in Unicode version 6.0, and its data are likely
+to change significantly in later releases, as things get sorted out.
+
+(Actually, besides C<Common>, the C<Inherited> script, contains
+characters that are used in multiple scripts.  These are modifier
+characters which modify other characters, and inherit the script value
+of the controlling character.  Some of these are used in many scripts,
+and so go into C<Inherited> in both C<Script> and C<Script_Extensions>.
+Others are used in just a few scripts, so are in C<Inherited> in
+C<Script>, but not in C<Script_Extensions>.)
+
+It is worth stressing that there are several different sets of digits in
+Unicode that are equivalent to 0-9 and are matchable by C<\d> in a
+regular expression.  If they are used in a single language only, they
+are in that language's C<Script> and C<Script_Extension>.  If they are
+used in more than one script, they will be in C<sc=Common>, but only
+if they are used in many scripts should they be in C<scx=Common>.
+
 A complete list of scripts and their shortcuts is in L<perluniprops>.
 
 =head3 B<Use of "Is" Prefix>
@@ -496,20 +559,14 @@
 from this as well as several other blocks, like "Latin-1 Supplement",
 "Latin Extended-A", etc., but it does not contain all the characters from
 those blocks. It does not, for example, contain the digits 0-9, because
-those digits are shared across many scripts. The digits 0-9 and similar groups,
-like punctuation, are in the script called C<Common>.  There is also a
-script called C<Inherited> for characters that modify other characters,
-and inherit the script value of the controlling character.  (Note that
-there are several different sets of digits in Unicode that are
-equivalent to 0-9 and are matchable by C<\d> in a regular expression.
-If they are used in a single language only, they are in that language's
-script.  Only sets are used across several languages are in the
-C<Common> script.)
+those digits are shared across many scripts, and hence are in the
+C<Common> script.
 
 For more about scripts versus blocks, see UAX#24 "Unicode Script Property":
 L<http://www.unicode.org/reports/tr24>
 
-The Script property is likely to be the one you want to use when processing
+The C<Script> or C<Script_Extensions> properties are likely to be the
+ones you want to use when processing
 natural language; the Block property may occasionally be useful in working
 with the nuts and bolts of Unicode.
 
@@ -557,8 +614,9 @@
 the compound form.  And quite a few of these are actually recommended by Unicode
 (in L<http://www.unicode.org/reports/tr18>).
 
-This section gives some details on all extensions that aren't synonyms for
-compound-form Unicode properties (for those, you'll have to refer to the
+This section gives some details on all extensions that aren't just
+synonyms for compound-form Unicode properties
+(for those properties, you'll have to refer to the
 L<Unicode Standard|http://www.unicode.org/reports/tr44>.
 
 =over
@@ -658,7 +716,8 @@
 
 =item B<C<\p{PerlSpace}>>
 
-This is the same as C<\s>, restricted to ASCII, namely C<S<[ \f\n\r\t]>>.
+This is the same as C<\s>, restricted to ASCII, namely C<S<[ \f\n\r\t]>>
+and starting in Perl v5.18, experimentally, a vertical tab.
 
 Mnemonic: Perl's (original) space
 
@@ -719,6 +778,13 @@
 Mnemonic: Space, as modified by Perl.  (It doesn't include the vertical tab
 which both the Posix standard and Unicode consider white space.)
 
+=item B<C<\p{Title}>> and  B<C<\p{Titlecase}>>
+
+Under case-sensitive matching, these both match the same code points as
+C<\p{General Category=Titlecase_Letter}> (C<\p{gc=lt}>).  The difference
+is that under C</i> caseless matching, these match the same as
+C<\p{Cased}>, whereas C<\p{gc=lt}> matches C<\p{Cased_Letter>).
+
 =item B<C<\p{VertSpace}>>
 
 This is the same as C<\v>:  A character that changes the spacing vertically.
@@ -738,7 +804,9 @@
 =head2 User-Defined Character Properties
 
 You can define your own binary character properties by defining subroutines
-whose names begin with "In" or "Is".  The subroutines can be defined in any
+whose names begin with "In" or "Is".  (The experimental feature
+L<perlre/(?[ ])> provides an alternative which allows more complex
+definitions.)  The subroutines can be defined in any
 package.  The user-defined properties can be used in the regular expression
 C<\p> and C<\P> constructs; if you are using a user-defined property from a
 package other than the one you are in, you must specify its package in the
@@ -781,7 +849,8 @@
 =item *
 
 Something to include, prefixed by "+": a built-in character
-property (prefixed by "utf8::") or a user-defined character property,
+property (prefixed by "utf8::") or a fully qualified (including package
+name) user-defined character property,
 to represent all the characters in that property; two hexadecimal code
 points for a range; or a single hexadecimal code point.
 
@@ -788,7 +857,8 @@
 =item *
 
 Something to exclude, prefixed by "-": an existing character
-property (prefixed by "utf8::") or a user-defined character property,
+property (prefixed by "utf8::") or a fully qualified (including package
+name) user-defined character property,
 to represent all the characters in that property; two hexadecimal code
 points for a range; or a single hexadecimal code point.
 
@@ -795,7 +865,8 @@
 =item *
 
 Something to negate, prefixed "!": an existing character
-property (prefixed by "utf8::") or a user-defined character property,
+property (prefixed by "utf8::") or a fully qualified (including package
+name) user-defined character property,
 to represent all the characters in that property; two hexadecimal code
 points for a range; or a single hexadecimal code point.
 
@@ -802,7 +873,8 @@
 =item *
 
 Something to intersect with, prefixed by "&": an existing character
-property (prefixed by "utf8::") or a user-defined character property,
+property (prefixed by "utf8::") or a fully qualified (including package
+name) user-defined character property,
 for all the characters except the characters in the property; two
 hexadecimal code points for a range; or a single hexadecimal code point.
 
@@ -852,326 +924,188 @@
     END
     }
 
-Intersection is useful for getting the common characters matched by
-two (or more) classes.
+This will match all non-Unicode code points, since every one of them is
+not in Kana.  You can use intersection to exclude these, if desired, as
+this modified example shows:
 
-    sub InFooAndBar {
+    sub InNotKana {
         return <<'END';
-    +main::Foo
-    &main::Bar
+    !utf8::InHiragana
+    -utf8::InKatakana
+    +utf8::IsCn
+    &utf8::Any
     END
     }
 
-It's important to remember not to use "&" for the first set; that
-would be intersecting with nothing, resulting in an empty set.
+C<&utf8::Any> must be the last line in the definition.
 
-=head2 User-Defined Case Mappings (for serious hackers only)
+Intersection is used generally for getting the common characters matched
+by two (or more) classes.  It's important to remember not to use "&" for
+the first set; that would be intersecting with nothing, resulting in an
+empty set.
 
-B<This featured is deprecated and is scheduled to be removed in Perl
-5.16.>
-The CPAN module L<Unicode::Casing> provides better functionality
-without the drawbacks described below.
+(Note that official Unicode properties differ from these in that they
+automatically exclude non-Unicode code points and a warning is raised if
+a match is attempted on one of those.)
 
-You can define your own mappings to be used in C<lc()>,
-C<lcfirst()>, C<uc()>, and C<ucfirst()> (or their string-inlined versions,
-C<\L>, C<\l>, C<\U>, and C<\u>).  The mappings are currently only valid
-on strings encoded in UTF-8, but see below for a partial workaround for
-this restriction.
+=head2 User-Defined Case Mappings (for serious hackers only)
 
-The principle is similar to that of user-defined character
-properties: define subroutines that do the mappings.
-C<ToLower> is used for C<lc()>, C<\L>, C<lcfirst()>, and C<\l>; C<ToTitle> for
-C<ucfirst()> and C<\u>; and C<ToUpper> for C<uc()> and C<\U>.
+B<This feature has been removed as of Perl 5.16.>
+The CPAN module L<Unicode::Casing> provides better functionality without
+the drawbacks that this feature had.  If you are using a Perl earlier
+than 5.16, this feature was most fully documented in the 5.14 version of
+this pod:
+L<http://perldoc.perl.org/5.14.0/perlunicode.html#User-Defined-Case-Mappings-%28for-serious-hackers-only%29>
 
-C<ToUpper()> should look something like this:
+=head2 Character Encodings for Input and Output
 
-    sub ToUpper {
-        return <<END;
-    0061\t007A\t0041
-    0101\t\t0100
-    END
-    }
+See L<Encode>.
 
-This sample C<ToUpper()> has the effect of mapping "a-z" to "A-Z", 0x101
-to 0x100, and all other characters map to themselves.  The first
-returned line means to map the code point at 0x61 ("a") to 0x41 ("A"),
-the code point at 0x62 ("b") to 0x42 ("B"),  ..., 0x7A ("z") to 0x5A
-("Z").  The second line maps just the code point 0x101 to 0x100.  Since
-there are no other mappings defined, all other code points map to
-themselves.
+=head2 Unicode Regular Expression Support Level
 
-This mechanism is not well behaved as far as affecting other packages
-and scopes.  All non-threaded programs have exactly one uppercasing
-behavior, one lowercasing behavior, and one titlecasing behavior in
-effect for utf8-encoded strings for the duration of the program.  Each
-of these behaviors is irrevocably determined the first time the
-corresponding function is called to change a utf8-encoded string's case.
-If a corresponding C<To-> function has been defined in the package that
-makes that first call, the mapping defined by that function will be the
-mapping used for the duration of the program's execution across all
-packages and scopes.  If no corresponding C<To-> function has been
-defined in that package, the standard official mapping will be used for
-all packages and scopes, and any corresponding C<To-> function anywhere
-will be ignored.  Threaded programs have similar behavior.  If the
-program's casing behavior has been decided at the time of a thread's
-creation, the thread will inherit that behavior.  But, if the behavior
-hasn't been decided, the thread gets to decide for itself, and its
-decision does not affect other threads nor its creator.
+The following list of Unicode supported features for regular expressions describes
+all features currently directly supported by core Perl.  The references to "Level N"
+and the section numbers refer to the Unicode Technical Standard #18,
+"Unicode Regular Expressions", version 13, from August 2008.
 
-As shown by the example above, you have to furnish a complete mapping;
-you can't just override a couple of characters and leave the rest
-unchanged.  You can find all the official mappings in the directory
-C<$Config{privlib}>F</unicore/To/>.  The mapping data is returned as the
-here-document.  The C<utf8::ToSpecI<Foo>> hashes in those files are special
-exception mappings derived from
-C<$Config{privlib}>F</unicore/SpecialCasing.txt>.  (The "Digit" and
-"Fold" mappings that one can see in the directory are not directly
-user-accessible, one can use either the L<Unicode::UCD> module, or just match
-case-insensitively, which is what uses the "Fold" mapping.  Neither are user
-overridable.)
+=over 4
 
-If you have many mappings to change, you can take the official mapping data,
-change by hand the affected code points, and place the whole thing into your
-subroutine.  But this will only be valid on Perls that use the same Unicode
-version.  Another option would be to have your subroutine read the official
-mapping files and overwrite the affected code points.
+=item *
 
-If you have only a few mappings to change, starting in 5.14 you can use the
-following trick, here illustrated for Turkish.
+Level 1 - Basic Unicode Support
 
-    use Config;
-    use charnames ":full";
+ RL1.1   Hex Notation                     - done          [1]
+ RL1.2   Properties                       - done          [2][3]
+ RL1.2a  Compatibility Properties         - done          [4]
+ RL1.3   Subtraction and Intersection     - experimental  [5]
+ RL1.4   Simple Word Boundaries           - done          [6]
+ RL1.5   Simple Loose Matches             - done          [7]
+ RL1.6   Line Boundaries                  - MISSING       [8][9]
+ RL1.7   Supplementary Code Points        - done          [10]
 
-    sub ToUpper {
-        my $official = do "$Config{privlib}/unicore/To/Upper.pl";
-        $utf8::ToSpecUpper{'i'} =
-                           "\N{LATIN CAPITAL LETTER I WITH DOT ABOVE}";
-        return $official;
-    }
+=over 4
 
-This takes the official mappings and overrides just one, for "LATIN SMALL
-LETTER I".  The keys to the hash must be the bytes that form the UTF-8
-(on EBCDIC platforms, UTF-EBCDIC) of the character, as illustrated by
-the inverse function.
+=item [1]
 
-    sub ToLower {
-        my $official = do $lower;
-        $utf8::ToSpecLower{"\xc4\xb0"} = "i";
-        return $official;
-    }
+\x{...}
 
-This example is for an ASCII platform, and C<\xc4\xb0> is the string of
-bytes that together form the UTF-8 that represents C<\N{LATIN CAPITAL
-LETTER I WITH DOT ABOVE}>, C<U+0130>.  You can avoid having to figure out
-these bytes, and at the same time make it work on all platforms by
-instead writing:
+=item [2]
 
-    sub ToLower {
-        my $official = do $lower;
-        my $sequence = "\N{LATIN CAPITAL LETTER I WITH DOT ABOVE}";
-        utf8::encode($sequence);
-        $utf8::ToSpecLower{$sequence} = "i";
-        return $official;
-    }
+\p{...} \P{...}
 
-This works because C<utf8::encode()> takes the single character and
-converts it to the sequence of bytes that constitute it.  Note that we took
-advantage of the fact that C<"i"> is the same in UTF-8 or UTF_EBCIDIC as not;
-otherwise we would have had to write
+=item [3]
 
-        $utf8::ToSpecLower{$sequence} = "\N{LATIN SMALL LETTER I}";
+supports not only minimal list, but all Unicode character properties (see Unicode Character Properties above)
 
-in the ToLower example, and in the ToUpper example, use
+=item [4]
 
-        my $sequence = "\N{LATIN SMALL LETTER I}";
-        utf8::encode($sequence);
+\d \D \s \S \w \W \X [:prop:] [:^prop:]
 
-A big caveat to the above trick and to this whole mechanism in general,
-is that they work only on strings encoded in UTF-8.  You can partially
-get around this by using C<use subs>.  (But better to just convert to
-use L<Unicode::Casing>.)  For example:
-(The trick illustrated here does work in earlier releases, but only if all the
-characters you want to override have ordinal values of 256 or higher, or
-if you use the other tricks given just below.)
+=item [5]
 
-The mappings are in effect only for the package they are defined in, and only
-on scalars that have been marked as having Unicode characters, for example by
-using C<utf8::upgrade()>.  Although probably not advisable, you can
-cause the mappings to be used globally by importing into C<CORE::GLOBAL>
-(see L<CORE>).
+The experimental feature in v5.18 "(?[...])" accomplishes this.  See
+L<perlre/(?[ ])>.  If you don't want to use an experimental feature,
+you can use one of the following:
 
-You can partially get around the restriction that the source strings
-must be in utf8 by using C<use subs> (or by importing into C<CORE::GLOBAL>) by:
+=over 4
 
- use subs qw(uc ucfirst lc lcfirst);
+=item * Regular expression look-ahead
 
- sub uc($) {
-     my $string = shift;
-     utf8::upgrade($string);
-     return CORE::uc($string);
- }
+You can mimic class subtraction using lookahead.
+For example, what UTS#18 might write as
 
- sub lc($) {
-     my $string = shift;
-     utf8::upgrade($string);
+    [{Block=Greek}-[{UNASSIGNED}]]
 
-     # Unless an I is before a dot_above, it turns into a dotless i.
-     # (The character class with the combining classes matches non-above
-     # marks following the I.  Any number of these may be between the 'I' and
-     # the dot_above, and the dot_above will still apply to the 'I'.
-     use charnames ":full";
-     $string =~
-             s/I
-               (?! [^\p{ccc=0}\p{ccc=Above}]* \N{COMBINING DOT ABOVE} )
-              /\N{LATIN SMALL LETTER DOTLESS I}/gx;
+in Perl can be written as:
 
-     # But when the I is followed by a dot_above, remove the
-     # dot_above so the end result will be i.
-     $string =~ s/I
-                    ([^\p{ccc=0}\p{ccc=Above}]* )
-                    \N{COMBINING DOT ABOVE}
-                 /i$1/gx;
-     return CORE::lc($string);
- }
+    (?!\p{Unassigned})\p{Block=Greek}
+    (?=\p{Assigned})\p{Block=Greek}
 
-These examples (also for Turkish) make sure the input is in UTF-8, and then
-call the corresponding official function, which will use the C<ToUpper()> and
-C<ToLower()> functions you have defined.
-(For Turkish, there are other required functions: C<ucfirst>, C<lcfirst>,
-and C<ToTitle>. These are very similar to the ones given above.)
+But in this particular example, you probably really want
 
-The reason this is only a partial fix is that it doesn't affect the C<\l>,
-C<\L>, C<\u>, and C<\U> case-change operations in regular expressions,
-which still require the source to be encoded in utf8 (see L</The "Unicode
-Bug">). (Again, use L<Unicode::Casing> instead.)
+    \p{Greek}
 
-The C<lc()> example shows how you can add context-dependent casing. Note
-that context-dependent casing suffers from the problem that the string
-passed to the casing function may not have sufficient context to make
-the proper choice. Also, it will not be called for C<\l>, C<\L>, C<\u>,
-and C<\U>.
+which will match assigned characters known to be part of the Greek script.
 
-=head2 Character Encodings for Input and Output
+=item * CPAN module L<Unicode::Regex::Set>
 
-See L<Encode>.
+It does implement the full UTS#18 grouping, intersection, union, and
+removal (subtraction) syntax.
 
-=head2 Unicode Regular Expression Support Level
+=item * L</"User-Defined Character Properties">
 
-The following list of Unicode supported features for regular expressions describes
-all features currently directly supported by core Perl.  The references to "Level N"
-and the section numbers refer to the Unicode Technical Standard #18,
-"Unicode Regular Expressions", version 13, from August 2008.
+'+' for union, '-' for removal (set-difference), '&' for intersection
 
-=over 4
+=back
 
-=item *
+=item [6]
 
-Level 1 - Basic Unicode Support
+\b \B
 
-        RL1.1   Hex Notation                     - done          [1]
-        RL1.2   Properties                       - done          [2][3]
-        RL1.2a  Compatibility Properties         - done          [4]
-        RL1.3   Subtraction and Intersection     - MISSING       [5]
-        RL1.4   Simple Word Boundaries           - done          [6]
-        RL1.5   Simple Loose Matches             - done          [7]
-        RL1.6   Line Boundaries                  - MISSING       [8][9]
-        RL1.7   Supplementary Code Points        - done          [10]
+=item [7]
 
-        [1]  \x{...}
-        [2]  \p{...} \P{...}
-        [3]  supports not only minimal list, but all Unicode character
-             properties (see L</Unicode Character Properties>)
-        [4]  \d \D \s \S \w \W \X [:prop:] [:^prop:]
-        [5]  can use regular expression look-ahead [a] or
-             user-defined character properties [b] to emulate set
-             operations
-        [6]  \b \B
-        [7]  note that Perl does Full case-folding in matching (but with
-             bugs), not Simple: for example U+1F88 is equivalent to
-             U+1F00 U+03B9, not with 1F80.  This difference matters
-             mainly for certain Greek capital letters with certain
-             modifiers: the Full case-folding decomposes the letter,
-             while the Simple case-folding would map it to a single
-             character.
-        [8]  should do ^ and $ also on U+000B (\v in C), FF (\f), CR
-             (\r), CRLF (\r\n), NEL (U+0085), LS (U+2028), and PS
-             (U+2029); should also affect <>, $., and script line
-             numbers; should not split lines within CRLF [c] (i.e. there
-             is no empty line between \r and \n)
-	[9]  Linebreaking conformant with UAX#14 "Unicode Line Breaking
-	     Algorithm" is available through the Unicode::LineBreaking
-	     module.
-       [10]  UTF-8/UTF-EBDDIC used in Perl allows not only U+10000 to
-             U+10FFFF but also beyond U+10FFFF
+Note that Perl does Full case-folding in matching (but with bugs), not Simple: for example U+1F88 is equivalent to U+1F00 U+03B9, instead of just U+1F80.  This difference matters mainly for certain Greek capital letters with certain modifiers: the Full case-folding decomposes the letter, while the Simple case-folding would map it to a single character.
 
-[a] You can mimic class subtraction using lookahead.
-For example, what UTS#18 might write as
+=item [8]
 
-    [{Greek}-[{UNASSIGNED}]]
+Should do ^ and $ also on U+000B (\v in C), FF (\f), CR (\r), CRLF
+(\r\n), NEL (U+0085), LS (U+2028), and PS (U+2029); should also affect
+<>, $., and script line numbers; should not split lines within CRLF
+(i.e. there is no empty line between \r and \n).  For CRLF, try the
+C<:crlf> layer (see L<PerlIO>).
 
-in Perl can be written as:
+=item [9]
 
-    (?!\p{Unassigned})\p{InGreekAndCoptic}
-    (?=\p{Assigned})\p{InGreekAndCoptic}
+Linebreaking conformant with UAX#14 "Unicode Line Breaking Algorithm" is available through the Unicode::LineBreaking module.
 
-But in this particular example, you probably really want
+=item [10]
 
-    \p{GreekAndCoptic}
+UTF-8/UTF-EBDDIC used in Perl allows not only U+10000 to
+U+10FFFF but also beyond U+10FFFF
 
-which will match assigned characters known to be part of the Greek script.
+=back
 
-Also see the Unicode::Regex::Set module, it does implement the full
-UTS#18 grouping, intersection, union, and removal (subtraction) syntax.
-
-[b] '+' for union, '-' for removal (set-difference), '&' for intersection
-(see L</"User-Defined Character Properties">)
-
-[c] Try the C<:crlf> layer (see L<PerlIO>).
-
 =item *
 
 Level 2 - Extended Unicode Support
 
-        RL2.1   Canonical Equivalents           - MISSING       [10][11]
-        RL2.2   Default Grapheme Clusters       - MISSING       [12]
-        RL2.3   Default Word Boundaries         - MISSING       [14]
-        RL2.4   Default Loose Matches           - MISSING       [15]
-        RL2.5   Name Properties                 - MISSING       [16]
-        RL2.6   Wildcard Properties             - MISSING
+ RL2.1   Canonical Equivalents           - MISSING       [10][11]
+ RL2.2   Default Grapheme Clusters       - MISSING       [12]
+ RL2.3   Default Word Boundaries         - MISSING       [14]
+ RL2.4   Default Loose Matches           - MISSING       [15]
+ RL2.5   Name Properties                 - DONE
+ RL2.6   Wildcard Properties             - MISSING
 
-        [10] see UAX#15 "Unicode Normalization Forms"
-        [11] have Unicode::Normalize but not integrated to regexes
-        [12] have \X but we don't have a "Grapheme Cluster Mode"
-        [14] see UAX#29, Word Boundaries
-        [15] see UAX#21 "Case Mappings"
-        [16] missing loose match [e]
+ [10] see UAX#15 "Unicode Normalization Forms"
+ [11] have Unicode::Normalize but not integrated to regexes
+ [12] have \X but we don't have a "Grapheme Cluster Mode"
+ [14] see UAX#29, Word Boundaries
+ [15] This is covered in Chapter 3.13 (in Unicode 6.0)
 
-[e] C<\N{...}> allows namespaces (see L<charnames>).
-
 =item *
 
 Level 3 - Tailored Support
 
-        RL3.1   Tailored Punctuation            - MISSING
-        RL3.2   Tailored Grapheme Clusters      - MISSING       [17][18]
-        RL3.3   Tailored Word Boundaries        - MISSING
-        RL3.4   Tailored Loose Matches          - MISSING
-        RL3.5   Tailored Ranges                 - MISSING
-        RL3.6   Context Matching                - MISSING       [19]
-        RL3.7   Incremental Matches             - MISSING
+ RL3.1   Tailored Punctuation            - MISSING
+ RL3.2   Tailored Grapheme Clusters      - MISSING       [17][18]
+ RL3.3   Tailored Word Boundaries        - MISSING
+ RL3.4   Tailored Loose Matches          - MISSING
+ RL3.5   Tailored Ranges                 - MISSING
+ RL3.6   Context Matching                - MISSING       [19]
+ RL3.7   Incremental Matches             - MISSING
       ( RL3.8   Unicode Set Sharing )
-        RL3.9   Possible Match Sets             - MISSING
-        RL3.10  Folded Matching                 - MISSING       [20]
-        RL3.11  Submatchers                     - MISSING
+ RL3.9   Possible Match Sets             - MISSING
+ RL3.10  Folded Matching                 - MISSING       [20]
+ RL3.11  Submatchers                     - MISSING
 
-        [17] see UAX#10 "Unicode Collation Algorithms"
-        [18] have Unicode::Collate but not integrated to regexes
-        [19] have (?<=x) and (?=x), but look-aheads or look-behinds
-             should see outside of the target substring
-        [20] need insensitive matching for linguistic features other
-             than case; for example, hiragana to katakana, wide and
-             narrow, simplified Han to traditional Han (see UTR#30
-             "Character Foldings")
+ [17] see UAX#10 "Unicode Collation Algorithms"
+ [18] have Unicode::Collate but not integrated to regexes
+ [19] have (?<=x) and (?=x), but look-aheads or look-behinds
+      should see outside of the target substring
+ [20] need insensitive matching for linguistic features other
+      than case; for example, hiragana to katakana, wide and
+      narrow, simplified Han to traditional Han (see UTR#30
+      "Character Foldings")
 
 =back
 
@@ -1192,7 +1126,7 @@
 
 The following table is from Unicode 3.2.
 
- Code Points            1st Byte  2nd Byte  3rd Byte  4th Byte
+ Code Points            1st Byte  2nd Byte  3rd Byte 4th Byte
 
    U+0000..U+007F       00..7F
    U+0080..U+07FF     * C2..DF    80..BF
@@ -1199,7 +1133,7 @@
    U+0800..U+0FFF       E0      * A0..BF    80..BF
    U+1000..U+CFFF       E1..EC    80..BF    80..BF
    U+D000..U+D7FF       ED        80..9F    80..BF
-   U+D800..U+DFFF       +++++++ utf16 surrogates, not legal utf8 +++++++
+   U+D800..U+DFFF       +++++ utf16 surrogates, not legal utf8 +++++
    U+E000..U+FFFF       EE..EF    80..BF    80..BF
   U+10000..U+3FFFF      F0      * 90..BF    80..BF    80..BF
   U+40000..U+FFFFF      F1..F3    80..BF    80..BF    80..BF
@@ -1213,12 +1147,12 @@
 
 Another way to look at it is via bits:
 
- Code Points                    1st Byte   2nd Byte  3rd Byte  4th Byte
+                Code Points  1st Byte  2nd Byte  3rd Byte  4th Byte
 
-                    0aaaaaaa     0aaaaaaa
-            00000bbbbbaaaaaa     110bbbbb  10aaaaaa
-            ccccbbbbbbaaaaaa     1110cccc  10bbbbbb  10aaaaaa
-  00000dddccccccbbbbbbaaaaaa     11110ddd  10cccccc  10bbbbbb  10aaaaaa
+                   0aaaaaaa  0aaaaaaa
+           00000bbbbbaaaaaa  110bbbbb  10aaaaaa
+           ccccbbbbbbaaaaaa  1110cccc  10bbbbbb  10aaaaaa
+ 00000dddccccccbbbbbbaaaaaa  11110ddd  10cccccc  10bbbbbb  10aaaaaa
 
 As you can see, the continuation bytes all begin with "10", and the
 leading bits of the start byte tell how many bytes there are in the
@@ -1426,7 +1360,7 @@
 
 The following are such interfaces.  Also, see L</The "Unicode Bug">.
 For all of these interfaces Perl
-currently (as of 5.8.3) simply assumes byte strings both as arguments
+currently (as of v5.16.0) simply assumes byte strings both as arguments
 and results, or UTF-8 strings if the (problematic) C<encoding> pragma has been used.
 
 One reason that Perl does not attempt to resolve the role of Unicode in
@@ -1467,37 +1401,51 @@
 
 =head2 The "Unicode Bug"
 
-The term, the "Unicode bug" has been applied to an inconsistency
+The term, "Unicode bug" has been applied to an inconsistency
 on ASCII platforms with the
 Unicode code points in the Latin-1 Supplement block, that
 is, between 128 and 255.  Without a locale specified, unlike all other
 characters or code points, these characters have very different semantics in
 byte semantics versus character semantics, unless
-C<use feature 'unicode_strings'> is specified.
-(The lesson here is to specify C<unicode_strings> to avoid the
-headaches.)
+C<use feature 'unicode_strings'> is specified, directly or indirectly.
+(It is indirectly specified by a C<use v5.12> or higher.)
 
-In character semantics they are interpreted as Unicode code points, which means
+In character semantics these upper-Latin1 characters are interpreted as
+Unicode code points, which means
 they have the same semantics as Latin-1 (ISO-8859-1).
 
-In byte semantics, they are considered to be unassigned characters, meaning
-that the only semantics they have is their ordinal numbers, and that they are
+In byte semantics (without C<unicode_strings>), they are considered to
+be unassigned characters, meaning that the only semantics they have is
+their ordinal numbers, and that they are
 not members of various character classes.  None are considered to match C<\w>
 for example, but all match C<\W>.
 
-The behavior is known to have effects on these areas:
+Perl 5.12.0 added C<unicode_strings> to force character semantics on
+these code points in some circumstances, which fixed portions of the
+bug; Perl 5.14.0 fixed almost all of it; and Perl 5.16.0 fixed the
+remainder (so far as we know, anyway).  The lesson here is to enable
+C<unicode_strings> to avoid the headaches described below.
 
+The old, problematic behavior affects these areas:
+
 =over 4
 
 =item *
 
 Changing the case of a scalar, that is, using C<uc()>, C<ucfirst()>, C<lc()>,
-and C<lcfirst()>, or C<\L>, C<\U>, C<\u> and C<\l> in regular expression
-substitutions.
+and C<lcfirst()>, or C<\L>, C<\U>, C<\u> and C<\l> in double-quotish
+contexts, such as regular expression substitutions.
+Under C<unicode_strings> starting in Perl 5.12.0, character semantics are
+generally used.  See L<perlfunc/lc> for details on how this works
+in combination with various other pragmas.
 
 =item *
 
-Using caseless (C</i>) regular expression matching
+Using caseless (C</i>) regular expression matching.
+Starting in Perl 5.14.0, regular expressions compiled within
+the scope of C<unicode_strings> use character semantics
+even when executed or compiled into larger
+regular expressions outside the scope.
 
 =item *
 
@@ -1504,19 +1452,19 @@
 Matching any of several properties in regular expressions, namely C<\b>,
 C<\B>, C<\s>, C<\S>, C<\w>, C<\W>, and all the Posix character classes
 I<except> C<[[:ascii:]]>.
+Starting in Perl 5.14.0, regular expressions compiled within
+the scope of C<unicode_strings> use character semantics
+even when executed or compiled into larger
+regular expressions outside the scope.
 
 =item *
 
-In C<quotemeta> or its inline equivalent C<\Q>, no characters
-code points above 127 are quoted in UTF-8 encoded strings, but in
-byte encoded strings, code points between 128-255 are always quoted.
+In C<quotemeta> or its inline equivalent C<\Q>, no code points above 127
+are quoted in UTF-8 encoded strings, but in byte encoded strings, code
+points between 128-255 are always quoted.
+Starting in Perl 5.16.0, consistent quoting rules are used within the
+scope of C<unicode_strings>, as described in L<perlfunc/quotemeta>.
 
-=item *
-
-User-defined case change mappings.  You can create a C<ToUpper()> function, for
-example, which overrides Perl's built-in case mappings.  The scalar must be
-encoded in utf8 for your function to actually be invoked.
-
 =back
 
 This behavior can lead to unexpected results in which a string's semantics
@@ -1544,21 +1492,9 @@
 support seamlessly.  The result wasn't seamless: these characters were
 orphaned.
 
-Starting in Perl 5.14, C<use feature 'unicode_strings'> can be used to
-cause Perl to use Unicode semantics on all string operations within the
-scope of the feature subpragma.  Regular expressions compiled in its
-scope retain that behavior even when executed or compiled into larger
-regular expressions outside the scope.  (The pragma does not, however,
-affect the C<quotemeta> behavior.  Nor does it affect the deprecated
-user-defined case changing operations--these still require a UTF-8
-encoded string to operate.)
-
-In Perl 5.12, the subpragma affected casing changes, but not regular
-expressions.  See L<perlfunc/lc> for details on how this pragma works in
-combination with various others for casing.
-
-For earlier Perls, or when a string is passed to a function outside the
-subpragma's scope, a workaround is to always call C<utf8::upgrade($string)>,
+For Perls earlier than those described above, or when a string is passed
+to a function outside the subpragma's scope, a workaround is to always
+call C<utf8::upgrade($string)>,
 or to use the standard module L<Encode>.   Also, a scalar that has any characters
 whose ordinal is above 0x100, or which were specified using either of the
 C<\N{...}> notations, will automatically have character semantics.
@@ -1608,7 +1544,8 @@
 
 =item *
 
-C<utf8_to_uvchr(buf, lenp)> reads UTF-8 encoded bytes from a buffer and
+C<utf8_to_uvchr_buf(buf, bufend, lenp)> reads UTF-8 encoded bytes from a
+buffer and
 returns the Unicode character code point and, optionally, the length of
 the UTF-8 byte sequence.  It works appropriately on EBCDIC machines.
 
@@ -1632,13 +1569,13 @@
 
 =item *
 
-C<is_utf8_char(s)> returns true if the pointer points to a valid UTF-8
-character.
+C<is_utf8_string(buf, len)> returns true if C<len> bytes of the buffer
+are valid UTF-8.
 
 =item *
 
-C<is_utf8_string(buf, len)> returns true if C<len> bytes of the buffer
-are valid UTF-8.
+C<is_utf8_char_buf(buf, buf_end)> returns true if the pointer points to
+a valid UTF-8 character.
 
 =item *
 
@@ -1693,15 +1630,8 @@
 site L<http://www.unicode.org>).  These should replace the existing files in
 F<lib/unicore> in the Perl source tree.  Follow the instructions in
 F<README.perl> in that directory to change some of their names, and then build
-perl (see F<INSTALL>).
+perl (see L<INSTALL>).
 
-It is even possible to copy the built files to a different directory, and then
-change F<utf8_heavy.pl> in the directory C<$Config{privlib}> to point to the
-new directory, or maybe make a copy of that directory before making the change,
-and using C<@INC> or the C<-I> run-time flag to switch between versions at will
-(but because of caching, not in the middle of a process), but all this is
-beyond the scope of these instructions.
-
 =head1 BUGS
 
 =head2 Interaction with Locales
@@ -1815,13 +1745,13 @@
 your code. The examples are written such that the code will continue
 to work under 5.6, so you should be safe to try them out.
 
-=over 4
+=over 3
 
 =item *
 
 A filehandle that should read or write UTF-8
 
-  if ($] > 5.007) {
+  if ($] > 5.008) {
     binmode $fh, ":encoding(utf8)";
   }
 
@@ -1832,10 +1762,10 @@
 Be it Compress::Zlib, Apache::Request or any extension that has no
 mention of Unicode in the manpage, you need to make sure that the
 UTF8 flag is stripped off. Note that at the time of this writing
-(October 2002) the mentioned modules are not UTF-8-aware. Please
+(January 2012) the mentioned modules are not UTF-8-aware. Please
 check the documentation to verify if this is still true.
 
-  if ($] > 5.007) {
+  if ($] > 5.008) {
     require Encode;
     $val = Encode::encode_utf8($val); # make octets
   }
@@ -1847,7 +1777,7 @@
 If you believe the scalar comes back as UTF-8, you will most likely
 want the UTF8 flag restored:
 
-  if ($] > 5.007) {
+  if ($] > 5.008) {
     require Encode;
     $val = Encode::decode_utf8($val);
   }
@@ -1856,7 +1786,7 @@
 
 Same thing, if you are really sure it is UTF-8
 
-  if ($] > 5.007) {
+  if ($] > 5.008) {
     require Encode;
     Encode::_utf8_on($val);
   }
@@ -1869,7 +1799,7 @@
 a convenient way to replace all your fetchrow_array and
 fetchrow_hashref calls. A wrapper function will also make it easier to
 adapt to future enhancements in your database driver. Note that at the
-time of this writing (October 2002), the DBI has no standardized way
+time of this writing (January 2012), the DBI has no standardized way
 to deal with UTF-8 data. Please check the documentation to verify if
 that is still true.
 
@@ -1876,7 +1806,7 @@
   sub fetchrow {
     # $what is one of fetchrow_{array,hashref}
     my($self, $sth, $what) = @_;
-    if ($] < 5.007) {
+    if ($] < 5.008) {
       return $sth->$what;
     } else {
       require Encode;
@@ -1912,7 +1842,7 @@
 a drag to your program. If you recognize such a situation, just remove
 the UTF8 flag:
 
-  utf8::downgrade($val) if $] > 5.007;
+  utf8::downgrade($val) if $] > 5.008;
 
 =back
 


Property changes on: vendor/perl/dist/pod/perlunicode.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlunifaq.pod
===================================================================
--- vendor/perl/dist/pod/perlunifaq.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlunifaq.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -141,8 +141,8 @@
 Starting in Perl 5.14 (and partially in Perl 5.12), just put a
 C<use feature 'unicode_strings'> near the beginning of your program.
 Within its lexical scope you shouldn't have this problem.  It also is
-automatically enabled under C<use feature ':5.12'> or using C<-E> on the
-command line for Perl 5.12 or higher.
+automatically enabled under C<use feature ':5.12'> or C<use v5.12> or
+using C<-E> on the command line for Perl 5.12 or higher.
 
 The rationale for requiring this is to not break older programs that
 rely on the way things worked before Unicode came along.  Those older
@@ -149,8 +149,8 @@
 programs knew only about the ASCII character set, and so may not work
 properly for additional characters.  When a string is encoded in UTF-8,
 Perl assumes that the program is prepared to deal with Unicode, but when
-the string isn't, Perl assumes that only ASCII (unless it is an EBCDIC
-platform) is wanted, and so those characters that are not ASCII
+the string isn't, Perl assumes that only ASCII
+is wanted, and so those characters that are not ASCII
 characters aren't recognized as to what they would be in Unicode.
 C<use feature 'unicode_strings'> tells Perl to treat all characters as
 Unicode, whether the string is encoded in UTF-8 or not, thus avoiding
@@ -274,7 +274,8 @@
 but this is considered bad style. Especially C<_utf8_on> can be dangerous, for
 the same reason that C<:utf8> can.
 
-There are some shortcuts for oneliners; see C<-C> in L<perlrun>.
+There are some shortcuts for oneliners;
+see L<-C|perlrun/-C [numberE<sol>list]> in L<perlrun>.
 
 =head2 What's the difference between C<UTF-8> and C<utf8>?
 


Property changes on: vendor/perl/dist/pod/perlunifaq.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perluniintro.pod
===================================================================
--- vendor/perl/dist/pod/perluniintro.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perluniintro.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -93,25 +93,42 @@
 otherwise used blocks.  Secondly, there are special Unicode control
 characters that do not represent true characters.
 
-A common myth about Unicode is that it is "16-bit", that is,
-Unicode is only represented as C<0x10000> (or 65536) characters from
-C<0x0000> to C<0xFFFF>.  B<This is untrue.>  Since Unicode 2.0 (July
+When Unicode was first conceived, it was thought that all the world's
+characters could be represented using a 16-bit word; that is a maximum of
+C<0x10000> (or 65536) characters from C<0x0000> to C<0xFFFF> would be
+needed.  This soon proved to be false, and since Unicode 2.0 (July
 1996), Unicode has been defined all the way up to 21 bits (C<0x10FFFF>),
-and since Unicode 3.1 (March 2001), characters have been defined
-beyond C<0xFFFF>.  The first C<0x10000> characters are called the
-I<Plane 0>, or the I<Basic Multilingual Plane> (BMP).  With Unicode
-3.1, 17 (yes, seventeen) planes in all were defined--but they are
-nowhere near full of defined characters, yet.
+and Unicode 3.1 (March 2001) defined the first characters above C<0xFFFF>.
+The first C<0x10000> characters are called the I<Plane 0>, or the
+I<Basic Multilingual Plane> (BMP).  With Unicode 3.1, 17 (yes,
+seventeen) planes in all were defined--but they are nowhere near full of
+defined characters, yet.
 
-Another myth is about Unicode blocks--that they have something to
-do with languages--that each block would define the characters used
-by a language or a set of languages.  B<This is also untrue.>
+When a new language is being encoded, Unicode generally will choose a
+C<block> of consecutive unallocated code points for its characters.  So
+far, the number of code points in these blocks has always been evenly
+divisible by 16.  Extras in a block, not currently needed, are left
+unallocated, for future growth.  But there have been occasions when
+a later relase needed more code points than the available extras, and a
+new block had to allocated somewhere else, not contiguous to the initial
+one, to handle the overflow.  Thus, it became apparent early on that
+"block" wasn't an adequate organizing principal, and so the C<Script>
+property was created.  (Later an improved script property was added as
+well, the C<Script_Extensions> property.)  Those code points that are in
+overflow blocks can still
+have the same script as the original ones.  The script concept fits more
+closely with natural language: there is C<Latin> script, C<Greek>
+script, and so on; and there are several artificial scripts, like
+C<Common> for characters that are used in multiple scripts, such as
+mathematical symbols.  Scripts usually span varied parts of several
+blocks.  For more information about scripts, see L<perlunicode/Scripts>.
 The division into blocks exists, but it is almost completely
-accidental--an artifact of how the characters have been and
-still are allocated.  Instead, there is a concept called I<scripts>, which is
-more useful: there is C<Latin> script, C<Greek> script, and so on.  Scripts
-usually span varied parts of several blocks.  For more information about
-scripts, see L<perlunicode/Scripts>.
+accidental--an artifact of how the characters have been and still are
+allocated.  (Note that this paragraph has oversimplified things for the
+sake of this being an introduction.  Unicode doesn't really encode
+languages, but the writing systems for them--their scripts; and one
+script can be used by many languages.  Unicode also encodes things that
+aren't really about languages, such as symbols like C<BAGGAGE CLAIM>.)
 
 The Unicode code points are just abstract numbers.  To input and
 output these abstract numbers, the numbers must be I<encoded> or
@@ -120,7 +137,7 @@
 variable length encoding that encodes Unicode characters as 1 to 6
 bytes.  Other encodings
 include UTF-16 and UTF-32 and their big- and little-endian variants
-(UTF-8 is byte-order independent) The ISO/IEC 10646 defines the UCS-2
+(UTF-8 is byte-order independent).  The ISO/IEC 10646 defines the UCS-2
 and UCS-4 encoding forms.
 
 For more information about encodings--for instance, to learn what
@@ -128,25 +145,26 @@
 
 =head2 Perl's Unicode Support
 
-Starting from Perl 5.6.0, Perl has had the capacity to handle Unicode
-natively.  Perl 5.8.0, however, is the first recommended release for
+Starting from Perl v5.6.0, Perl has had the capacity to handle Unicode
+natively.  Perl v5.8.0, however, is the first recommended release for
 serious Unicode work.  The maintenance release 5.6.1 fixed many of the
 problems of the initial Unicode implementation, but for example
 regular expressions still do not work with Unicode in 5.6.1.
-Perl 5.14.0 is the first release where Unicode support is
+Perl v5.14.0 is the first release where Unicode support is
 (almost) seamlessly integrable without some gotchas (the exception being
-some differences in L<quotemeta|perlfunc/quotemeta>).   To enable this
+some differences in L<quotemeta|perlfunc/quotemeta>, which is fixed
+starting in Perl 5.16.0).   To enable this
 seamless support, you should C<use feature 'unicode_strings'> (which is
 automatically selected if you C<use 5.012> or higher).  See L<feature>.
 (5.14 also fixes a number of bugs and departures from the Unicode
 standard.)
 
-Before Perl 5.8.0, the use of C<use utf8> was used to declare
+Before Perl v5.8.0, the use of C<use utf8> was used to declare
 that operations in the current block or file would be Unicode-aware.
 This model was found to be wrong, or at least clumsy: the "Unicodeness"
 is now carried with the data, instead of being attached to the
 operations.
-Starting with Perl 5.8.0, only one case remains where an explicit C<use
+Starting with Perl v5.8.0, only one case remains where an explicit C<use
 utf8> is needed: if your Perl script itself is encoded in UTF-8, you can
 use UTF-8 in your identifier names, and in string and regular expression
 literals, by saying C<use utf8>.  This is not the default because
@@ -158,7 +176,7 @@
 strings of Unicode characters.  The general principle is that Perl tries
 to keep its data as eight-bit bytes for as long as possible, but as soon
 as Unicodeness cannot be avoided, the data is transparently upgraded
-to Unicode.  Prior to Perl 5.14, the upgrade was not completely
+to Unicode.  Prior to Perl v5.14.0, the upgrade was not completely
 transparent (see L<perlunicode/The "Unicode Bug">), and for backwards
 compatibility, full transparency is not gained unless C<use feature
 'unicode_strings'> (see L<feature>) or C<use 5.012> (or higher) is
@@ -253,10 +271,9 @@
 characters regardless of the numeric value, use C<pack("U", ...)>
 instead of C<\x..>, C<\x{...}>, or C<chr()>.
 
-You can also use the C<charnames> pragma to invoke characters
+You can invoke characters
 by name in double-quoted strings:
 
-    use charnames ':full';
     my $arabic_alef = "\N{ARABIC LETTER ALEF}";
 
 And, as mentioned above, you can also C<pack()> numbers into Unicode
@@ -287,8 +304,8 @@
 Note that Perl considers grapheme clusters to be separate characters, so for
 example
 
-    use charnames ':full';
-    print length("\N{LATIN CAPITAL LETTER A}\N{COMBINING ACUTE ACCENT}"), "\n";
+ print length("\N{LATIN CAPITAL LETTER A}\N{COMBINING ACUTE ACCENT}"),
+       "\n";
 
 will print 2, not 1.  The only exception is that regular expressions
 have C<\X> for matching an extended grapheme cluster.  (Thus C<\X> in a
@@ -398,7 +415,7 @@
 You can switch encodings on an already opened stream by using
 C<binmode()>; see L<perlfunc/binmode>.
 
-The C<:locale> does not currently (as of Perl 5.8.0) work with
+The C<:locale> does not currently work with
 C<open()> and C<binmode()>, only with the C<open> pragma.  The
 C<:utf8> and C<:encoding(...)> methods do work with all of C<open()>,
 C<binmode()>, and the C<open> pragma.
@@ -459,7 +476,7 @@
      join("",
        map { $_ > 255 ?                  # if wide character...
               sprintf("\\x{%04X}", $_) :  # \x{...}
-              chr($_) =~ /[[:cntrl:]]/ ?  # else if control character ...
+              chr($_) =~ /[[:cntrl:]]/ ?  # else if control character...
               sprintf("\\x%02X", $_) :    # \x..
               quotemeta(chr($_))          # else quoted or as themselves
          } unpack("W*", $_[0]));           # unpack Unicode characters
@@ -675,7 +692,7 @@
     my $unicode = chr(0x100);
     print length($unicode), "\n"; # will print 1
     require Encode;
-    print length(Encode::encode_utf8($unicode)), "\n"; # will print 2
+    print length(Encode::encode_utf8($unicode)),"\n"; # will print 2
     use bytes;
     print length($unicode), "\n"; # will also print 2
                                   # (the 0xC4 0x80 of the UTF-8)
@@ -785,18 +802,20 @@
 
 How Does Unicode Work With Traditional Locales?
 
-Perl tries to keep the two separated.  Code points that are above 255
-are treated as Unicode; those below 256, generally as locale.  This
-works reasonably well except in some case-insensitive regular expression
-pattern matches that in Unicode would cross the 255/256 boundary.  These
-are disallowed.
-Also, the C<\p{}> and C<\N{}> constructs silently assume Unicode values
-even for code points below 256.
-See also L<perlrun> for the
-description of the C<-C> switch and its environment counterpart,
-C<$ENV{PERL_UNICODE}> to see how to enable various Unicode features,
-for example by using locale settings.
+Starting in Perl 5.16, you can specify
 
+    use locale ':not_characters';
+
+to get Perl to work well with tradtional locales.  The catch is that you
+have to translate from the locale character set to/from Unicode
+yourself.  See L</Unicode IE<sol>O> above for how to
+
+    use open ':locale';
+
+to accomplish this, but full details are in L<perllocale/Unicode and
+UTF-8>, including gotchas that happen if you don't specifiy
+C<:not_characters>.
+
 =back
 
 =head2 Hexadecimal Notation


Property changes on: vendor/perl/dist/pod/perluniintro.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlunitut.pod
===================================================================
--- vendor/perl/dist/pod/perlunitut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlunitut.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlunitut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlutil.pod
===================================================================
--- vendor/perl/dist/pod/perlutil.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlutil.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -66,7 +66,7 @@
 F<splain> is an interface to L<perldiag> - paste in your error message
 to it, and it'll explain it for you.
 
-=item L<roffitall|roffitall>
+=item C<roffitall>
 
 The C<roffitall> utility is not installed on your system but lives in
 the F<pod/> directory of your Perl source kit; it converts all the
@@ -164,7 +164,7 @@
 please read through the documentation for F<perlbug> thoroughly before
 using it to submit a bug report.
 
-=item L<perlthanks|perlthanks>
+=item L<perlthanks|perlbug>
 
 This program provides an easy way to send a thank-you message back to the
 authors and maintainers of perl. It's just F<perlbug> installed under
@@ -209,13 +209,6 @@
 necessary to let C functions manipulate Perl values and creates the glue
 necessary to let Perl access those functions.
 
-=item L<dprofpp|dprofpp>
-
-Perl comes with a profiler, the F<Devel::DProf> module. The
-F<dprofpp> utility analyzes the output of this profiler and tells you
-which subroutines are taking up the most run time. See L<Devel::DProf>
-for more information.
-
 =item L<prove>
 
 F<prove> is a command-line interface to the test-running functionality
@@ -239,7 +232,7 @@
 
 B<piconv> is a Perl version of B<iconv>, a character encoding converter
 widely available for various Unixen today.  This script was primarily a
-technology demonstrator for Perl 5.8.0, but you can use piconv in the
+technology demonstrator for Perl v5.8.0, but you can use piconv in the
 place of iconv for virtually any case.
 
 =item L<ptar>
@@ -263,6 +256,11 @@
 This utility, that comes with the C<Digest::SHA> module, is used to print
 or verify SHA checksums.
 
+=item L<zipdetails>
+
+L<zipdetails> displays information about the internal record structure of the zip file.
+It is not concerned with displaying any details of the compressed data stored in the zip file.
+
 =back
 
 =head2 Installation
@@ -304,11 +302,10 @@
 L<perldoc|perldoc>, L<pod2man|pod2man>, L<perlpod>,
 L<pod2html|pod2html>, L<pod2usage|pod2usage>, L<podselect|podselect>,
 L<podchecker|podchecker>, L<splain|splain>, L<perldiag>,
-L<roffitall|roffitall>, L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>,
+C<roffitall|roffitall>, L<a2p|a2p>, L<s2p|s2p>, L<find2perl|find2perl>,
 L<File::Find|File::Find>, L<pl2pm|pl2pm>, L<perlbug|perlbug>,
-L<h2ph|h2ph>, L<c2ph|c2ph>, L<h2xs|h2xs>, L<dprofpp|dprofpp>,
-L<Devel::DProf>, L<enc2xs>, L<xsubpp>, L<cpan>, L<cpanp>, L<cpan2dist>,
-L<instmodsh>, L<piconv>, L<prove>, L<corelist>, L<ptar>, L<ptardiff>,
-L<shasum>
+L<h2ph|h2ph>, L<c2ph|c2ph>, L<h2xs|h2xs>, L<enc2xs>, L<xsubpp>,
+L<cpan>, L<cpanp>, L<cpan2dist>, L<instmodsh>, L<piconv>, L<prove>,
+L<corelist>, L<ptar>, L<ptardiff>, L<shasum>, L<zipdetails>
 
 =cut


Property changes on: vendor/perl/dist/pod/perlutil.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlvar.pod
===================================================================
--- vendor/perl/dist/pod/perlvar.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlvar.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,46 +6,46 @@
 
 =head2 The Syntax of Variable Names
 
-Variable names in Perl can have several formats. Usually, they
+Variable names in Perl can have several formats.  Usually, they
 must begin with a letter or underscore, in which case they can be
 arbitrarily long (up to an internal limit of 251 characters) and
 may contain letters, digits, underscores, or the special sequence
-C<::> or C<'>. In this case, the part before the last C<::> or
+C<::> or C<'>.  In this case, the part before the last C<::> or
 C<'> is taken to be a I<package qualifier>; see L<perlmod>.
 
 Perl variable names may also be a sequence of digits or a single
-punctuation or control character. These names are all reserved for
+punctuation or control character.  These names are all reserved for
 special uses by Perl; for example, the all-digits names are used
 to hold data captured by backreferences after a regular expression
-match. Perl has a special syntax for the single-control-character
+match.  Perl has a special syntax for the single-control-character
 names: It understands C<^X> (caret C<X>) to mean the control-C<X>
-character. For example, the notation C<$^W> (dollar-sign caret
+character.  For example, the notation C<$^W> (dollar-sign caret
 C<W>) is the scalar variable whose name is the single character
-control-C<W>. This is better than typing a literal control-C<W>
+control-C<W>.  This is better than typing a literal control-C<W>
 into your program.
 
-Since Perl 5.6, Perl variable names may be alphanumeric
+Since Perl v5.6.0, Perl variable names may be alphanumeric
 strings that begin with control characters (or better yet, a caret).
 These variables must be written in the form C<${^Foo}>; the braces
-are not optional. C<${^Foo}> denotes the scalar variable whose
-name is a control-C<F> followed by two C<o>'s. These variables are
+are not optional.  C<${^Foo}> denotes the scalar variable whose
+name is a control-C<F> followed by two C<o>'s.  These variables are
 reserved for future special uses by Perl, except for the ones that
-begin with C<^_> (control-underscore or caret-underscore). No
+begin with C<^_> (control-underscore or caret-underscore).  No
 control-character name that begins with C<^_> will acquire a special
 meaning in any future version of Perl; such names may therefore be
-used safely in programs. C<$^_> itself, however, I<is> reserved.
+used safely in programs.  C<$^_> itself, however, I<is> reserved.
 
 Perl identifiers that begin with digits, control characters, or
 punctuation characters are exempt from the effects of the C<package>
 declaration and are always forced to be in package C<main>; they are
-also exempt from C<strict 'vars'> errors. A few other names are also
+also exempt from C<strict 'vars'> errors.  A few other names are also
 exempt in these ways:
 
-	ENV      STDIN
-	INC      STDOUT
-	ARGV     STDERR
-	ARGVOUT
-	SIG
+    ENV      STDIN
+    INC      STDOUT
+    ARGV     STDERR
+    ARGVOUT
+    SIG
 
 In particular, the special C<${^_XYZ}> variables are always taken
 to be in package C<main>, regardless of any C<package> declarations
@@ -53,21 +53,21 @@
 
 =head1 SPECIAL VARIABLES
 
-The following names have special meaning to Perl. Most punctuation
+The following names have special meaning to Perl.  Most punctuation
 names have reasonable mnemonics, or analogs in the shells.
 Nevertheless, if you wish to use long variable names, you need only say:
 
-	use English;
+    use English;
 
-at the top of your program. This aliases all the short names to the long
-names in the current package. Some even have medium names, generally
-borrowed from B<awk>. To avoid a performance hit, if you don't need the
+at the top of your program.  This aliases all the short names to the long
+names in the current package.  Some even have medium names, generally
+borrowed from B<awk>.  To avoid a performance hit, if you don't need the
 C<$PREMATCH>, C<$MATCH>, or C<$POSTMATCH> it's best to use the C<English>
 module without them:
 
-	use English '-no_match_vars';
+    use English '-no_match_vars';
 
-Before you continue, note the sort order for variables. In general, we
+Before you continue, note the sort order for variables.  In general, we
 first list the variables in case-insensitive, almost-lexigraphical
 order (ignoring the C<{> or C<^> preceding words, as in C<${^UNICODE}>
 or C<$^T>), although C<$_> and C<@_> move up to the top of the pile.
@@ -83,20 +83,20 @@
 =item $_
 X<$_> X<$ARG>
 
-The default input and pattern-searching space. The following pairs are
+The default input and pattern-searching space.  The following pairs are
 equivalent:
 
-	while (<>) {...}    # equivalent only in while!
-	while (defined($_ = <>)) {...}
+    while (<>) {...}    # equivalent only in while!
+    while (defined($_ = <>)) {...}
 
-	/^Subject:/
-	$_ =~ /^Subject:/
+    /^Subject:/
+    $_ =~ /^Subject:/
 
-	tr/a-z/A-Z/
-	$_ =~ tr/a-z/A-Z/
+    tr/a-z/A-Z/
+    $_ =~ tr/a-z/A-Z/
 
-	chomp
-	chomp($_)
+    chomp
+    chomp($_)
 
 Here are the places where Perl will assume C<$_> even if you don't use it:
 
@@ -106,10 +106,12 @@
 
 The following functions use C<$_> as a default argument:
 
-abs, alarm, chomp, chop, chr, chroot, cos, defined, eval, exp, glob,
-hex, int, lc, lcfirst, length, log, lstat, mkdir, oct, ord, pos, print,
+abs, alarm, chomp, chop, chr, chroot,
+cos, defined, eval, evalbytes, exp, fc, glob, hex, int, lc,
+lcfirst, length, log, lstat, mkdir, oct, ord, pos, print, printf,
 quotemeta, readlink, readpipe, ref, require, reverse (in scalar context only),
-rmdir, sin, split (on its second argument), sqrt, stat, study, uc, ucfirst,
+rmdir, say, sin, split (for its second
+argument), sqrt, stat, study, uc, ucfirst,
 unlink, unpack.
 
 =item *
@@ -137,16 +139,26 @@
 
 =item *
 
-The default place to put an input record when a C<< <FH> >>
+The default place to put the next value or input record
+when a C<< <FH> >>, C<readline>, C<readdir> or C<each>
 operation's result is tested by itself as the sole criterion of a C<while>
-test. Outside a C<while> test, this will not happen.
+test.  Outside a C<while> test, this will not happen.
 
 =back
 
-As C<$_> is a global variable, this may lead in some cases to unwanted
-side-effects. As of perl 5.9.1, you can now use a lexical version of
-C<$_> by declaring it in a file or in a block with C<my>. Moreover,
-declaring C<our $_> restores the global C<$_> in the current scope.
+C<$_> is by default a global variable.  However, as
+of perl v5.10.0, you can use a lexical version of
+C<$_> by declaring it in a file or in a block with C<my>.  Moreover,
+declaring C<our $_> restores the global C<$_> in the current scope.  Though
+this seemed like a good idea at the time it was introduced, lexical C<$_>
+actually causes more problems than it solves.  If you call a function that
+expects to be passed information via C<$_>, it may or may not work,
+depending on how the function is written, there not being any easy way to
+solve this.  Just avoid lexical C<$_>, unless you are feeling particularly
+masochistic.  For this reason lexical C<$_> is still experimental and will
+produce a warning unless warnings have been disabled.  As with other
+experimental features, the behavior of lexical C<$_> is subject to change
+without notice, including change into a fatal error.
 
 Mnemonic: underline is understood in certain operations.
 
@@ -156,7 +168,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
+that subroutine.  Inside a subroutine, C<@_> is the default array for
 the array operators C<push>, C<pop>, C<shift>, and C<unshift>.
 
 See L<perlsub>.
@@ -168,13 +180,13 @@
 
 When an array or an array slice is interpolated into a double-quoted
 string or a similar context such as C</.../>, its elements are
-separated by this value. Default is a space. For example, this:
+separated by this value.  Default is a space.  For example, this:
 
-	print "The array is: @array\n";
+    print "The array is: @array\n";
 
 is equivalent to this:
 
-	print "The array is: " . join($", @array) . "\n";
+    print "The array is: " . join($", @array) . "\n";
 
 Mnemonic: works in double-quoted context.
 
@@ -185,76 +197,31 @@
 =item $$
 X<$$> X<$PID> X<$PROCESS_ID>
 
-The process number of the Perl running this script. You should
-consider this variable read-only, although it will be altered
+The process number of the Perl running this script.  Though you I<can> set
+this variable, doing so is generally discouraged, although it can be
+invaluable for some testing purposes.  It will be reset automatically
 across C<fork()> calls.
 
-Note for Linux users: on Linux, the C functions C<getpid()> and
-C<getppid()> return different values from different threads. In order to
-be portable, this behavior is not reflected by C<$$>, whose value remains
-consistent across threads. If you want to call the underlying C<getpid()>,
-you may use the CPAN module C<Linux::Pid>.
+Note for Linux and Debian GNU/kFreeBSD users: Before Perl v5.16.0 perl
+would emulate POSIX semantics on Linux systems using LinuxThreads, a
+partial implementation of POSIX Threads that has since been superseded
+by the Native POSIX Thread Library (NPTL).
 
-Mnemonic: same as shells.
+LinuxThreads is now obsolete on Linux, and caching C<getpid()>
+like this made embedding perl unnecessarily complex (since you'd have
+to manually update the value of $$), so now C<$$> and C<getppid()>
+will always return the same values as the underlying C library.
 
-=item $REAL_GROUP_ID
+Debian GNU/kFreeBSD systems also used LinuxThreads up until and
+including the 6.0 release, but after that moved to FreeBSD thread
+semantics, which are POSIX-like.
 
-=item $GID
+To see if your system is affected by this discrepancy check if
+C<getconf GNU_LIBPTHREAD_VERSION | grep -q NPTL> returns a false
+value. NTPL threads preserve the POSIX semantics.
 
-=item $(
-X<$(> X<$GID> X<$REAL_GROUP_ID>
+Mnemonic: same as shells.
 
-The real gid of this process. If you are on a machine that supports
-membership in multiple groups simultaneously, gives a space separated
-list of groups you are in. The first number is the one returned by
-C<getgid()>, and the subsequent ones by C<getgroups()>, one of which may be
-the same as the first number.
-
-However, a value assigned to C<$(> must be a single number used to
-set the real gid. So the value given by C<$(> should I<not> be assigned
-back to C<$(> without being forced numeric, such as by adding zero. Note
-that this is different to the effective gid (C<$)>) which does take a
-list.
-
-You can change both the real gid and the effective gid at the same
-time by using C<POSIX::setgid()>. Changes to C<$(> require a check to C<$!>
-to detect any possible errors after an attempted change.
-
-Mnemonic: parentheses are used to I<group> things. The real gid is the
-group you I<left>, if you're running setgid.
-
-=item $EFFECTIVE_GROUP_ID
-
-=item $EGID
-
-=item $)
-X<$)> X<$EGID> X<$EFFECTIVE_GROUP_ID>
-
-The effective gid of this process. If you are on a machine that
-supports membership in multiple groups simultaneously, gives a space
-separated list of groups you are in. The first number is the one
-returned by C<getegid()>, and the subsequent ones by C<getgroups()>,
-one of which may be the same as the first number.
-
-Similarly, a value assigned to C<$)> must also be a space-separated
-list of numbers. The first number sets the effective gid, and
-the rest (if any) are passed to C<setgroups()>. To get the effect of an
-empty list for C<setgroups()>, just repeat the new effective gid; that is,
-to force an effective gid of 5 and an effectively empty C<setgroups()>
-list, say C< $) = "5 5" >.
-
-You can change both the effective gid and the real gid at the same
-time by using C<POSIX::setgid()> (use only a single numeric argument).
-Changes to C<$)> require a check to C<$!> to detect any possible errors
-after an attempted change.
-
-C<< $< >>, C<< $> >>, C<$(> and C<$)> can be set only on
-machines that support the corresponding I<set[re][ug]id()> routine. C<$(>
-and C<$)> can be swapped only on machines supporting C<setregid()>.
-
-Mnemonic: parentheses are used to I<group> things. The effective gid
-is the group that's I<right> for you, if you're running setgid.
-
 =item $PROGRAM_NAME
 
 =item $0
@@ -263,14 +230,14 @@
 Contains the name of the program being executed.
 
 On some (but not all) operating systems assigning to C<$0> modifies
-the argument area that the C<ps> program sees. On some platforms you
+the argument area that the C<ps> program sees.  On some platforms you
 may have to use special C<ps> options or a different C<ps> to see the
-changes. Modifying the C<$0> is more useful as a way of indicating the
+changes.  Modifying the C<$0> is more useful as a way of indicating the
 current program state than it is for hiding the program you're
 running.
 
 Note that there are platform-specific limitations on the maximum
-length of C<$0>. In the most extreme case it may be limited to the
+length of C<$0>.  In the most extreme case it may be limited to the
 space occupied by the original C<$0>.
 
 In some platforms there may be arbitrary amount of padding, for
@@ -280,14 +247,14 @@
 for example with Linux 2.2).
 
 Note for BSD users: setting C<$0> does not completely remove "perl"
-from the ps(1) output. For example, setting C<$0> to C<"foobar"> may
+from the ps(1) output.  For example, setting C<$0> to C<"foobar"> may
 result in C<"perl: foobar (perl)"> (whether both the C<"perl: "> prefix
 and the " (perl)" suffix are shown depends on your exact BSD variant
-and version). This is an operating system feature, Perl cannot help it.
+and version).  This is an operating system feature, Perl cannot help it.
 
 In multithreaded scripts Perl coordinates the threads so that any
 thread may modify its copy of the C<$0> and the change becomes visible
-to ps(1) (assuming the operating system plays along). Note that
+to ps(1) (assuming the operating system plays along).  Note that
 the view of C<$0> the other threads have will not change since they
 have their own copies of it.
 
@@ -294,47 +261,74 @@
 If the program has been given to perl via the switches C<-e> or C<-E>,
 C<$0> will contain the string C<"-e">.
 
-On Linux as of perl 5.14 the legacy process name will be set with
+On Linux as of perl v5.14.0 the legacy process name will be set with
 C<prctl(2)>, in addition to altering the POSIX name via C<argv[0]> as
-perl has done since version 4.000. Now system utilities that read the
+perl has done since version 4.000.  Now system utilities that read the
 legacy process name such as ps, top and killall will recognize the
-name you set when assigning to C<$0>. The string you supply will be
+name you set when assigning to C<$0>.  The string you supply will be
 cut off at 16 bytes, this is a limitation imposed by Linux.
 
 Mnemonic: same as B<sh> and B<ksh>.
 
-=item $SUBSCRIPT_SEPARATOR
+=item $REAL_GROUP_ID
 
-=item $SUBSEP
+=item $GID
 
-=item $;
-X<$;> X<$SUBSEP> X<SUBSCRIPT_SEPARATOR>
+=item $(
+X<$(> X<$GID> X<$REAL_GROUP_ID>
 
-The subscript separator for multidimensional array emulation. If you
-refer to a hash element as
+The real gid of this process.  If you are on a machine that supports
+membership in multiple groups simultaneously, gives a space separated
+list of groups you are in.  The first number is the one returned by
+C<getgid()>, and the subsequent ones by C<getgroups()>, one of which may be
+the same as the first number.
 
-	$foo{$a,$b,$c}
+However, a value assigned to C<$(> must be a single number used to
+set the real gid.  So the value given by C<$(> should I<not> be assigned
+back to C<$(> without being forced numeric, such as by adding zero.  Note
+that this is different to the effective gid (C<$)>) which does take a
+list.
 
-it really means
+You can change both the real gid and the effective gid at the same
+time by using C<POSIX::setgid()>.  Changes
+to C<$(> require a check to C<$!>
+to detect any possible errors after an attempted change.
 
-	$foo{join($;, $a, $b, $c)}
+Mnemonic: parentheses are used to I<group> things.  The real gid is the
+group you I<left>, if you're running setgid.
 
-But don't put
+=item $EFFECTIVE_GROUP_ID
 
-	@foo{$a,$b,$c}	# a slice--note the @
+=item $EGID
 
-which means
+=item $)
+X<$)> X<$EGID> X<$EFFECTIVE_GROUP_ID>
 
-	($foo{$a},$foo{$b},$foo{$c})
+The effective gid of this process.  If you are on a machine that
+supports membership in multiple groups simultaneously, gives a space
+separated list of groups you are in.  The first number is the one
+returned by C<getegid()>, and the subsequent ones by C<getgroups()>,
+one of which may be the same as the first number.
 
-Default is "\034", the same as SUBSEP in B<awk>. If your keys contain
-binary data there might not be any safe value for C<$;>.
+Similarly, a value assigned to C<$)> must also be a space-separated
+list of numbers.  The first number sets the effective gid, and
+the rest (if any) are passed to C<setgroups()>.  To get the effect of an
+empty list for C<setgroups()>, just repeat the new effective gid; that is,
+to force an effective gid of 5 and an effectively empty C<setgroups()>
+list, say C< $) = "5 5" >.
 
-Consider using "real" multidimensional arrays as described
-in L<perllol>.
+You can change both the effective gid and the real gid at the same
+time by using C<POSIX::setgid()> (use only a single numeric argument).
+Changes to C<$)> require a check to C<$!> to detect any possible errors
+after an attempted change.
 
-Mnemonic: comma (the syntactic subscript separator) is a semi-semicolon.
+C<< $< >>, C<< $> >>, C<$(> and C<$)> can be set only on
+machines that support the corresponding I<set[re][ug]id()> routine.  C<$(>
+and C<$)> can be swapped only on machines supporting C<setregid()>.
 
+Mnemonic: parentheses are used to I<group> things.  The effective gid
+is the group that's I<right> for you, if you're running setgid.
+
 =item $REAL_USER_ID
 
 =item $UID
@@ -342,8 +336,8 @@
 =item $<
 X<< $< >> X<$UID> X<$REAL_USER_ID>
 
-The real uid of this process. You can change both the real uid and the
-effective uid at the same time by using C<POSIX::setuid()>. Since
+The real uid of this process.  You can change both the real uid and the
+effective uid at the same time by using C<POSIX::setuid()>.  Since
 changes to C<< $< >> require a system call, check C<$!> after a change
 attempt to detect any possible errors.
 
@@ -356,13 +350,13 @@
 =item $>
 X<< $> >> X<$EUID> X<$EFFECTIVE_USER_ID>
 
-The effective uid of this process. For example:
+The effective uid of this process.  For example:
 
-	$< = $>;            # set real to effective uid
-	($<,$>) = ($>,$<);  # swap real and effective uids
+    $< = $>;            # set real to effective uid
+    ($<,$>) = ($>,$<);  # swap real and effective uids
 
 You can change both the effective uid and the real uid at the same
-time by using C<POSIX::setuid()>. Changes to C<< $> >> require a check
+time by using C<POSIX::setuid()>.  Changes to C<< $> >> require a check
 to C<$!> to detect any possible errors after an attempted change.
 
 C<< $< >> and C<< $> >> can be swapped only on machines
@@ -370,55 +364,53 @@
 
 Mnemonic: it's the uid you went I<to>, if you're running setuid.
 
-=item $a
+=item $SUBSCRIPT_SEPARATOR
 
-=item $b
-X<$a> X<$b>
+=item $SUBSEP
 
-Special package variables when using C<sort()>, see L<perlfunc/sort>.
-Because of this specialness C<$a> and C<$b> don't need to be declared
-(using C<use vars>, or C<our()>) even when using the C<strict 'vars'>
-pragma. Don't lexicalize them with C<my $a> or C<my $b> if you want to
-be able to use them in the C<sort()> comparison block or function.
+=item $;
+X<$;> X<$SUBSEP> X<SUBSCRIPT_SEPARATOR>
 
-=item $COMPILING
+The subscript separator for multidimensional array emulation.  If you
+refer to a hash element as
 
-=item $^C
-X<$^C> X<$COMPILING>
+    $foo{$a,$b,$c}
 
-The current value of the flag associated with the B<-c> switch.
-Mainly of use with B<-MO=...> to allow code to alter its behavior
-when being compiled, such as for example to C<AUTOLOAD> at compile
-time rather than normal, deferred loading. Setting
-C<$^C = 1> is similar to calling C<B::minus_c>.
+it really means
 
-This variable was added in Perl 5.6.
+    $foo{join($;, $a, $b, $c)}
 
-=item $DEBUGGING
+But don't put
 
-=item $^D
-X<$^D> X<$DEBUGGING>
+    @foo{$a,$b,$c}	# a slice--note the @
 
-The current value of the debugging flags. May be read or set. Like its
-command-line equivalent, you can use numeric or symbolic values, eg
-C<$^D = 10> or C<$^D = "st">.
+which means
 
-Mnemonic: value of B<-D> switch.
+    ($foo{$a},$foo{$b},$foo{$c})
 
-=item ${^ENCODING}
-X<${^ENCODING}>
+Default is "\034", the same as SUBSEP in B<awk>.  If your keys contain
+binary data there might not be any safe value for C<$;>.
 
-The I<object reference> to the C<Encode> object that is used to convert
-the source code to Unicode. Thanks to this variable your Perl script
-does not have to be written in UTF-8. Default is I<undef>. The direct
-manipulation of this variable is highly discouraged.
+Consider using "real" multidimensional arrays as described
+in L<perllol>.
 
-This variable was added in Perl 5.8.2.
+Mnemonic: comma (the syntactic subscript separator) is a semi-semicolon.
 
+=item $a
+
+=item $b
+X<$a> X<$b>
+
+Special package variables when using C<sort()>, see L<perlfunc/sort>.
+Because of this specialness C<$a> and C<$b> don't need to be declared
+(using C<use vars>, or C<our()>) even when using the C<strict 'vars'>
+pragma.  Don't lexicalize them with C<my $a> or C<my $b> if you want to
+be able to use them in the C<sort()> comparison block or function.
+
 =item %ENV
 X<%ENV>
 
-The hash C<%ENV> contains your current environment. Setting a
+The hash C<%ENV> contains your current environment.  Setting a
 value in C<ENV> changes the environment for any child processes
 you subsequently C<fork()> off.
 
@@ -427,11 +419,12 @@
 =item $^F
 X<$^F> X<$SYSTEM_FD_MAX>
 
-The maximum system file descriptor, ordinarily 2. System file
+The maximum system file descriptor, ordinarily 2.  System file
 descriptors are passed to C<exec()>ed processes, while higher file
-descriptors are not. Also, during an C<open()>, system file descriptors are
+descriptors are not.  Also, during an
+C<open()>, system file descriptors are
 preserved even if the C<open()> fails (ordinary file descriptors are
-closed before the C<open()> is attempted). The close-on-exec
+closed before the C<open()> is attempted).  The close-on-exec
 status of a file descriptor will be decided according to the value of
 C<$^F> when the corresponding file, pipe, or socket was opened, not the
 time of the C<exec()>.
@@ -440,203 +433,43 @@
 X<@F>
 
 The array C<@F> contains the fields of each line read in when autosplit
-mode is turned on. See L<perlrun> for the B<-a> switch. This array
+mode is turned on.  See L<perlrun> for the B<-a> switch.  This array
 is package-specific, and must be declared or given a full package name
 if not in package main when running under C<strict 'vars'>.
 
-=item ${^GLOBAL_PHASE}
-X<${^GLOBAL_PHASE}>
-
-The current phase of the perl interpreter.
-
-Possible values are:
-
-=over 8
-
-=item CONSTRUCT
-
-The C<PerlInterpreter*> is being constructed via C<perl_construct>. This
-value is mostly there for completeness and for use via the
-underlying C variable C<PL_phase>. It's not really possible for Perl
-code to be executed unless construction of the interpreter is
-finished.
-
-=item START
-
-This is the global compile-time. That includes, basically, every
-C<BEGIN> block executed directly or indirectly from during the
-compile-time of the top-level program.
-
-This phase is not called "BEGIN" to avoid confusion with
-C<BEGIN>-blocks, as those are executed during compile-time of any
-compilation unit, not just the top-level program. A new, localised
-compile-time entered at run-time, for example by constructs as
-C<eval "use SomeModule"> are not global interpreter phases, and
-therefore aren't reflected by C<${^GLOBAL_PHASE}>.
-
-=item CHECK
-
-Execution of any C<CHECK> blocks.
-
-=item INIT
-
-Similar to "CHECK", but for C<INIT>-blocks, not C<CHECK> blocks.
-
-=item RUN
-
-The main run-time, i.e. the execution of C<PL_main_root>.
-
-=item END
-
-Execution of any C<END> blocks.
-
-=item DESTRUCT
-
-Global destruction.
-
-=back
-
-Also note that there's no value for UNITCHECK-blocks. That's because
-those are run for each compilation unit individually, and therefore is
-not a global interpreter phase.
-
-Not every program has to go through each of the possible phases, but
-transition from one phase to another can only happen in the order
-described in the above list.
-
-An example of all of the phases Perl code can see:
-
-    BEGIN { print "compile-time: ${^GLOBAL_PHASE}\n" }
-
-    INIT  { print "init-time: ${^GLOBAL_PHASE}\n" }
-
-    CHECK { print "check-time: ${^GLOBAL_PHASE}\n" }
-
-    {
-        package Print::Phase;
-
-        sub new {
-            my ($class, $time) = @_;
-            return bless \$time, $class;
-        }
-
-        sub DESTROY {
-            my $self = shift;
-            print "$$self: ${^GLOBAL_PHASE}\n";
-        }
-    }
-
-    print "run-time: ${^GLOBAL_PHASE}\n";
-
-    my $runtime = Print::Phase->new(
-        "lexical variables are garbage collected before END"
-    );
-
-    END   { print "end-time: ${^GLOBAL_PHASE}\n" }
-
-    our $destruct = Print::Phase->new(
-        "package variables are garbage collected after END"
-    );
-
-This will print out
-
-    compile-time: START
-    check-time: CHECK
-    init-time: INIT
-    run-time: RUN
-    lexical variables are garbage collected before END: RUN
-    end-time: END
-    package variables are garbage collected after END: DESTRUCT
-
-This variable was added in Perl 5.14.0.
-
-=item $^H
-X<$^H>
-
-WARNING: This variable is strictly for internal use only. Its availability,
-behavior, and contents are subject to change without notice.
-
-This variable contains compile-time hints for the Perl interpreter. At the
-end of compilation of a BLOCK the value of this variable is restored to the
-value when the interpreter started to compile the BLOCK.
-
-When perl begins to parse any block construct that provides a lexical scope
-(e.g., eval body, required file, subroutine body, loop body, or conditional
-block), the existing value of C<$^H> is saved, but its value is left unchanged.
-When the compilation of the block is completed, it regains the saved value.
-Between the points where its value is saved and restored, code that
-executes within BEGIN blocks is free to change the value of C<$^H>.
-
-This behavior provides the semantic of lexical scoping, and is used in,
-for instance, the C<use strict> pragma.
-
-The contents should be an integer; different bits of it are used for
-different pragmatic flags. Here's an example:
-
-	sub add_100 { $^H |= 0x100 }
-
-	sub foo {
-		BEGIN { add_100() }
-		bar->baz($boon);
-	}
-
-Consider what happens during execution of the BEGIN block. At this point
-the BEGIN block has already been compiled, but the body of C<foo()> is still
-being compiled. The new value of C<$^H> will therefore be visible only while
-the body of C<foo()> is being compiled.
-
-Substitution of C<BEGIN { add_100() }> block with:
-
-	BEGIN { require strict; strict->import('vars') }
-
-demonstrates how C<use strict 'vars'> is implemented. Here's a conditional
-version of the same lexical pragma:
-
-	BEGIN { require strict; strict->import('vars') if $condition }
-
-This variable was added in Perl 5.003.
-
-=item %^H
-X<%^H>
-
-The C<%^H> hash provides the same scoping semantic as C<$^H>. This makes it
-useful for implementation of lexically scoped pragmas. See L<perlpragma>.
-
-This variable was added in Perl 5.6.
-
 =item @INC
 X<@INC>
 
 The array C<@INC> contains the list of places that the C<do EXPR>,
-C<require>, or C<use> constructs look for their library files. It
+C<require>, or C<use> constructs look for their library files.  It
 initially consists of the arguments to any B<-I> command-line
 switches, followed by the default Perl library, probably
 F</usr/local/lib/perl>, followed by ".", to represent the current
-directory. ("." will not be appended if taint checks are enabled,
+directory.  ("." will not be appended if taint checks are enabled,
 either by C<-T> or by C<-t>.)  If you need to modify this at runtime,
 you should use the C<use lib> pragma to get the machine-dependent
 library properly loaded also:
 
-	use lib '/mypath/libdir/';
-	use SomeMod;
+    use lib '/mypath/libdir/';
+    use SomeMod;
 
 You can also insert hooks into the file inclusion system by putting Perl
-code directly into C<@INC>. Those hooks may be subroutine references, array
-references or blessed objects. See L<perlfunc/require> for details.
+code directly into C<@INC>.  Those hooks may be subroutine references,
+array references or blessed objects.  See L<perlfunc/require> for details.
 
 =item %INC
 X<%INC>
 
 The hash C<%INC> contains entries for each filename included via the
-C<do>, C<require>, or C<use> operators. The key is the filename
+C<do>, C<require>, or C<use> operators.  The key is the filename
 you specified (with module names converted to pathnames), and the
-value is the location of the file found. The C<require>
+value is the location of the file found.  The C<require>
 operator uses this hash to determine whether a particular file has
 already been included.
 
 If the file was loaded via a hook (e.g. a subroutine reference, see
 L<perlfunc/require> for a description of these hooks), this hook is
-by default inserted into C<%INC> in place of a filename. Note, however,
+by default inserted into C<%INC> in place of a filename.  Note, however,
 that the hook may have set the C<%INC> entry by itself to provide some more
 specific info.
 
@@ -645,7 +478,7 @@
 =item $^I
 X<$^I> X<$INPLACE_EDIT>
 
-The current value of the inplace-edit extension. Use C<undef> to disable
+The current value of the inplace-edit extension.  Use C<undef> to disable
 inplace editing.
 
 Mnemonic: value of B<-i> switch.
@@ -655,15 +488,15 @@
 
 By default, running out of memory is an untrappable, fatal error.
 However, if suitably built, Perl can use the contents of C<$^M>
-as an emergency memory pool after C<die()>ing. Suppose that your Perl
+as an emergency memory pool after C<die()>ing.  Suppose that your Perl
 were compiled with C<-DPERL_EMERGENCY_SBRK> and used Perl's malloc.
 Then
 
-	$^M = 'a' x (1 << 16);
+    $^M = 'a' x (1 << 16);
 
-would allocate a 64K buffer for use in an emergency. See the
+would allocate a 64K buffer for use in an emergency.  See the
 F<INSTALL> file in the Perl distribution for information on how to
-add custom C compilation flags when compiling perl. To discourage casual
+add custom C compilation flags when compiling perl.  To discourage casual
 use of this advanced feature, there is no L<English|English> long name for
 this variable.
 
@@ -675,183 +508,116 @@
 X<$^O> X<$OSNAME>
 
 The name of the operating system under which this copy of Perl was
-built, as determined during the configuration process. For examples
+built, as determined during the configuration process.  For examples
 see L<perlport/PLATFORMS>.
 
-The value is identical to C<$Config{'osname'}>. See also L<Config>
+The value is identical to C<$Config{'osname'}>.  See also L<Config>
 and the B<-V> command-line switch documented in L<perlrun>.
 
 In Windows platforms, C<$^O> is not very helpful: since it is always
 C<MSWin32>, it doesn't tell the difference between
-95/98/ME/NT/2000/XP/CE/.NET. Use C<Win32::GetOSName()> or
+95/98/ME/NT/2000/XP/CE/.NET.  Use C<Win32::GetOSName()> or
 Win32::GetOSVersion() (see L<Win32> and L<perlport>) to distinguish
 between the variants.
 
 This variable was added in Perl 5.003.
 
-=item ${^OPEN}
-X<${^OPEN}>
-
-An internal variable used by PerlIO. A string in two parts, separated
-by a C<\0> byte, the first part describes the input layers, the second
-part describes the output layers.
-
-This variable was added in Perl 5.8.2.
-
-=item $PERLDB
-
-=item $^P
-X<$^P> X<$PERLDB>
-
-The internal variable for debugging support. The meanings of the
-various bits are subject to change, but currently indicate:
-
-=over 6
-
-=item 0x01
-
-Debug subroutine enter/exit.
-
-=item 0x02
-
-Line-by-line debugging. Causes C<DB::DB()> subroutine to be called for each
-statement executed. Also causes saving source code lines (like 0x400).
-
-=item 0x04
-
-Switch off optimizations.
-
-=item 0x08
-
-Preserve more data for future interactive inspections.
-
-=item 0x10
-
-Keep info about source lines on which a subroutine is defined.
-
-=item 0x20
-
-Start with single-step on.
-
-=item 0x40
-
-Use subroutine address instead of name when reporting.
-
-=item 0x80
-
-Report C<goto &subroutine> as well.
-
-=item 0x100
-
-Provide informative "file" names for evals based on the place they were compiled.
-
-=item 0x200
-
-Provide informative names to anonymous subroutines based on the place they
-were compiled.
-
-=item 0x400
-
-Save source code lines into C<@{"_<$filename"}>.
-
-=back
-
-Some bits may be relevant at compile-time only, some at
-run-time only. This is a new mechanism and the details may change.
-See also L<perldebguts>.
-
 =item %SIG
 X<%SIG>
 
-The hash C<%SIG> contains signal handlers for signals. For example:
+The hash C<%SIG> contains signal handlers for signals.  For example:
 
-	sub handler {   # 1st argument is signal name
-		my($sig) = @_;
-		print "Caught a SIG$sig--shutting down\n";
-		close(LOG);
-		exit(0);
-		}
+    sub handler {   # 1st argument is signal name
+	my($sig) = @_;
+	print "Caught a SIG$sig--shutting down\n";
+	close(LOG);
+	exit(0);
+	}
 
-	$SIG{'INT'}  = \&handler;
-	$SIG{'QUIT'} = \&handler;
-	...
-	$SIG{'INT'}  = 'DEFAULT';   # restore default action
-	$SIG{'QUIT'} = 'IGNORE';    # ignore SIGQUIT
+    $SIG{'INT'}  = \&handler;
+    $SIG{'QUIT'} = \&handler;
+    ...
+    $SIG{'INT'}  = 'DEFAULT';   # restore default action
+    $SIG{'QUIT'} = 'IGNORE';    # ignore SIGQUIT
 
 Using a value of C<'IGNORE'> usually has the effect of ignoring the
-signal, except for the C<CHLD> signal. See L<perlipc> for more about
+signal, except for the C<CHLD> signal.  See L<perlipc> for more about
 this special case.
 
 Here are some other examples:
 
-	$SIG{"PIPE"} = "Plumber";   # assumes main::Plumber (not recommended)
-	$SIG{"PIPE"} = \&Plumber;   # just fine; assume current Plumber
-	$SIG{"PIPE"} = *Plumber;    # somewhat esoteric
-	$SIG{"PIPE"} = Plumber();   # oops, what did Plumber() return??
+    $SIG{"PIPE"} = "Plumber";   # assumes main::Plumber (not
+				# recommended)
+    $SIG{"PIPE"} = \&Plumber;   # just fine; assume current
+				# Plumber
+    $SIG{"PIPE"} = *Plumber;    # somewhat esoteric
+    $SIG{"PIPE"} = Plumber();   # oops, what did Plumber()
+				# return??
 
 Be sure not to use a bareword as the name of a signal handler,
 lest you inadvertently call it.
 
 If your system has the C<sigaction()> function then signal handlers
-are installed using it. This means you get reliable signal handling.
+are installed using it.  This means you get reliable signal handling.
 
-The default delivery policy of signals changed in Perl 5.8.0 from
+The default delivery policy of signals changed in Perl v5.8.0 from
 immediate (also known as "unsafe") to deferred, also known as "safe
-signals". See L<perlipc> for more information.
+signals".  See L<perlipc> for more information.
 
-Certain internal hooks can be also set using the C<%SIG> hash. The
+Certain internal hooks can be also set using the C<%SIG> hash.  The
 routine indicated by C<$SIG{__WARN__}> is called when a warning
-message is about to be printed. The warning message is passed as the
-first argument. The presence of a C<__WARN__> hook causes the
-ordinary printing of warnings to C<STDERR> to be suppressed. You can
+message is about to be printed.  The warning message is passed as the
+first argument.  The presence of a C<__WARN__> hook causes the
+ordinary printing of warnings to C<STDERR> to be suppressed.  You can
 use this to save warnings in a variable, or turn warnings into fatal
 errors, like this:
 
-	local $SIG{__WARN__} = sub { die $_[0] };
-	eval $proggie;
+    local $SIG{__WARN__} = sub { die $_[0] };
+    eval $proggie;
 
 As the C<'IGNORE'> hook is not supported by C<__WARN__>, you can
 disable warnings using the empty subroutine:
 
-	local $SIG{__WARN__} = sub {};
+    local $SIG{__WARN__} = sub {};
 
 The routine indicated by C<$SIG{__DIE__}> is called when a fatal
-exception is about to be thrown. The error message is passed as the
-first argument. When a C<__DIE__> hook routine returns, the exception
+exception is about to be thrown.  The error message is passed as the
+first argument.  When a C<__DIE__> hook routine returns, the exception
 processing continues as it would have in the absence of the hook,
-unless the hook routine itself exits via a C<goto>, a loop exit, or a
-C<die()>. The C<__DIE__> handler is explicitly disabled during the
-call, so that you can die from a C<__DIE__> handler. Similarly for
-C<__WARN__>.
+unless the hook routine itself exits via a C<goto &sub>, a loop exit,
+or a C<die()>.  The C<__DIE__> handler is explicitly disabled during
+the call, so that you can die from a C<__DIE__> handler.  Similarly
+for C<__WARN__>.
 
 Due to an implementation glitch, the C<$SIG{__DIE__}> hook is called
-even inside an C<eval()>. Do not use this to rewrite a pending
+even inside an C<eval()>.  Do not use this to rewrite a pending
 exception in C<$@>, or as a bizarre substitute for overriding
-C<CORE::GLOBAL::die()>. This strange action at a distance may be fixed
+C<CORE::GLOBAL::die()>.  This strange action at a distance may be fixed
 in a future release so that C<$SIG{__DIE__}> is only called if your
-program is about to exit, as was the original intent. Any other use is
+program is about to exit, as was the original intent.  Any other use is
 deprecated.
 
 C<__DIE__>/C<__WARN__> handlers are very special in one respect: they
-may be called to report (probable) errors found by the parser. In such
+may be called to report (probable) errors found by the parser.  In such
 a case the parser may be in inconsistent state, so any attempt to
 evaluate Perl code from such a handler will probably result in a
-segfault. This means that warnings or errors that result from parsing
+segfault.  This means that warnings or errors that result from parsing
 Perl should be used with extreme caution, like this:
 
-	require Carp if defined $^S;
-	Carp::confess("Something wrong") if defined &Carp::confess;
-	die "Something wrong, but could not load Carp to give backtrace...
-	   To see backtrace try starting Perl with -MCarp switch";
+    require Carp if defined $^S;
+    Carp::confess("Something wrong") if defined &Carp::confess;
+    die "Something wrong, but could not load Carp to give "
+      . "backtrace...\n\t"
+      . "To see backtrace try starting Perl with -MCarp switch";
 
 Here the first line will load C<Carp> I<unless> it is the parser who
-called the handler. The second line will print backtrace and die if
-C<Carp> was available. The third line will be executed only if C<Carp> was
+called the handler.  The second line will print backtrace and die if
+C<Carp> was available.  The third line will be executed only if C<Carp> was
 not available.
 
 Having to even think about the C<$^S> variable in your exception
-handlers is simply wrong. C<$SIG{__DIE__}> as currently implemented
-invites grievous and difficult to track down errors. Avoid it
+handlers is simply wrong.  C<$SIG{__DIE__}> as currently implemented
+invites grievous and difficult to track down errors.  Avoid it
 and use an C<END{}> or CORE::GLOBAL::die override instead.
 
 See L<perlfunc/die>, L<perlfunc/warn>, L<perlfunc/eval>, and
@@ -863,50 +629,9 @@
 X<$^T> X<$BASETIME>
 
 The time at which the program began running, in seconds since the
-epoch (beginning of 1970). The values returned by the B<-M>, B<-A>,
+epoch (beginning of 1970).  The values returned by the B<-M>, B<-A>,
 and B<-C> filetests are based on this value.
 
-=item ${^TAINT}
-X<${^TAINT}>
-
-Reflects if taint mode is on or off. 1 for on (the program was run with
-B<-T>), 0 for off, -1 when only taint warnings are enabled (i.e. with
-B<-t> or B<-TU>).
-
-This variable is read-only.
-
-This variable was added in Perl 5.8.
-
-=item ${^UNICODE}
-X<${^UNICODE}>
-
-Reflects certain Unicode settings of Perl. See L<perlrun>
-documentation for the C<-C> switch for more information about
-the possible values.
-
-This variable is set during Perl startup and is thereafter read-only.
-
-This variable was added in Perl 5.8.2.
-
-=item ${^UTF8CACHE}
-X<${^UTF8CACHE}>
-
-This variable controls the state of the internal UTF-8 offset caching code.
-1 for on (the default), 0 for off, -1 to debug the caching code by checking
-all its results against linear scans, and panicking on any discrepancy.
-
-This variable was added in Perl 5.8.9.
-
-=item ${^UTF8LOCALE}
-X<${^UTF8LOCALE}>
-
-This variable indicates whether a UTF-8 locale was detected by perl at
-startup. This information is used by perl when it's in
-adjust-utf8ness-to-locale mode (as when run with the C<-CL> command-line
-switch); see L<perlrun> for more info on this.
-
-This variable was added in Perl 5.8.8.
-
 =item $PERL_VERSION
 
 =item $^V
@@ -915,19 +640,19 @@
 The revision, version, and subversion of the Perl interpreter,
 represented as a C<version> object.
 
-This variable first appeared in perl 5.6.0; earlier versions of perl
-will see an undefined value. Before perl 5.10.0 C<$^V> was represented
+This variable first appeared in perl v5.6.0; earlier versions of perl
+will see an undefined value.  Before perl v5.10.0 C<$^V> was represented
 as a v-string.
 
 C<$^V> can be used to determine whether the Perl interpreter executing
-a script is in the right range of versions. For example:
+a script is in the right range of versions.  For example:
 
-	warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1
+    warn "Hashes not randomized!\n" if !$^V or $^V lt v5.8.1
 
 To convert C<$^V> into its string representation use C<sprintf()>'s
 C<"%vd"> conversion:
 
-	printf "version is v%vd\n", $^V;  # Perl's version
+    printf "version is v%vd\n", $^V;  # Perl's version
 
 See the documentation of C<use VERSION> and C<require VERSION>
 for a convenient way to fail if the running Perl interpreter is too old.
@@ -934,7 +659,7 @@
 
 See also C<$]> for an older representation of the Perl version.
 
-This variable was added in Perl 5.6.
+This variable was added in Perl v5.6.0.
 
 Mnemonic: use ^V for Version Control.
 
@@ -942,18 +667,18 @@
 X<${^WIN32_SLOPPY_STAT}> X<sitecustomize> X<sitecustomize.pl>
 
 If this variable is set to a true value, then C<stat()> on Windows will
-not try to open the file. This means that the link count cannot be
+not try to open the file.  This means that the link count cannot be
 determined and file attributes may be out of date if additional
-hardlinks to the file exist. On the other hand, not opening the file
+hardlinks to the file exist.  On the other hand, not opening the file
 is considerably faster, especially for files on network drives.
 
 This variable could be set in the F<sitecustomize.pl> file to
 configure the local Perl installation to use "sloppy" C<stat()> by
-default. See the documentation for B<-f> in
+default.  See the documentation for B<-f> in
 L<perlrun|perlrun/"Command Switches"> for more information about site
 customization.
 
-This variable was added in Perl 5.10.
+This variable was added in Perl v5.10.0.
 
 =item $EXECUTABLE_NAME
 
@@ -966,15 +691,15 @@
 Depending on the host operating system, the value of C<$^X> may be
 a relative or absolute pathname of the perl program file, or may
 be the string used to invoke perl but not the pathname of the
-perl program file. Also, most operating systems permit invoking
+perl program file.  Also, most operating systems permit invoking
 programs that are not in the PATH environment variable, so there
-is no guarantee that the value of C<$^X> is in PATH. For VMS, the
+is no guarantee that the value of C<$^X> is in PATH.  For VMS, the
 value may or may not include a version number.
 
 You usually can use the value of C<$^X> to re-invoke an independent
 copy of the same perl that is currently running, e.g.,
 
-	@first_run = `$^X -le "print int rand 100 for 1..100"`;
+    @first_run = `$^X -le "print int rand 100 for 1..100"`;
 
 But recall that not all operating systems support forking or
 capturing of the output of commands, so this complex statement
@@ -983,31 +708,31 @@
 It is not safe to use the value of C<$^X> as a path name of a file,
 as some operating systems that have a mandatory suffix on
 executable files do not require use of the suffix when invoking
-a command. To convert the value of C<$^X> to a path name, use the
+a command.  To convert the value of C<$^X> to a path name, use the
 following statements:
 
-	# Build up a set of file names (not command names).
-	use Config;
-	my $this_perl = $^X;
-	if ($^O ne 'VMS') {
-		$this_perl .= $Config{_exe}
-		  unless $this_perl =~ m/$Config{_exe}$/i;
-		}
+    # Build up a set of file names (not command names).
+    use Config;
+    my $this_perl = $^X;
+    if ($^O ne 'VMS') {
+	$this_perl .= $Config{_exe}
+	  unless $this_perl =~ m/$Config{_exe}$/i;
+	}
 
 Because many operating systems permit anyone with read access to
 the Perl program file to make a copy of it, patch the copy, and
 then execute the copy, the security-conscious Perl programmer
 should take care to invoke the installed copy of perl, not the
-copy referenced by C<$^X>. The following statements accomplish
+copy referenced by C<$^X>.  The following statements accomplish
 this goal, and produce a pathname that can be invoked as a
 command or referenced as a file.
 
-	use Config;
-	my $secure_perl_path = $Config{perlpath};
-	if ($^O ne 'VMS') {
-		$secure_perl_path .= $Config{_exe}
-			unless $secure_perl_path =~ m/$Config{_exe}$/i;
-		}
+    use Config;
+    my $secure_perl_path = $Config{perlpath};
+    if ($^O ne 'VMS') {
+	$secure_perl_path .= $Config{_exe}
+	    unless $secure_perl_path =~ m/$Config{_exe}$/i;
+	}
 
 =back
 
@@ -1014,12 +739,12 @@
 =head2 Variables related to regular expressions
 
 Most of the special variables related to regular expressions are side
-effects. Perl sets these variables when it has a successful match, so
-you should check the match result before using them. For instance:
+effects.  Perl sets these variables when it has a successful match, so
+you should check the match result before using them.  For instance:
 
-	if( /P(A)TT(ER)N/ ) {
-		print "I found $1 and $2\n";
-		}
+    if( /P(A)TT(ER)N/ ) {
+	print "I found $1 and $2\n";
+	}
 
 These variables are read-only and dynamically-scoped, unless we note
 otherwise.
@@ -1028,50 +753,50 @@
 their value is limited to the block that they are in, as demonstrated
 by this bit of code:
 
-	my $outer = 'Wallace and Grommit';
-	my $inner = 'Mutt and Jeff';
+    my $outer = 'Wallace and Grommit';
+    my $inner = 'Mutt and Jeff';
 
-	my $pattern = qr/(\S+) and (\S+)/;
+    my $pattern = qr/(\S+) and (\S+)/;
 
-	sub show_n { print "\$1 is $1; \$2 is $2\n" }
+    sub show_n { print "\$1 is $1; \$2 is $2\n" }
 
-	{
-	OUTER:
-		show_n() if $outer =~ m/$pattern/;
+    {
+    OUTER:
+	show_n() if $outer =~ m/$pattern/;
 
-		INNER: {
-			show_n() if $inner =~ m/$pattern/;
-			}
+	INNER: {
+	    show_n() if $inner =~ m/$pattern/;
+	    }
 
-		show_n();
-	}
+	show_n();
+    }
 
 The output shows that while in the C<OUTER> block, the values of C<$1>
-and C<$2> are from the match against C<$outer>. Inside the C<INNER>
+and C<$2> are from the match against C<$outer>.  Inside the C<INNER>
 block, the values of C<$1> and C<$2> are from the match against
 C<$inner>, but only until the end of the block (i.e. the dynamic
-scope). After the C<INNER> block completes, the values of C<$1> and
+scope).  After the C<INNER> block completes, the values of C<$1> and
 C<$2> return to the values for the match against C<$outer> even though
 we have not made another match:
 
-	$1 is Wallace; $2 is Grommit
-	$1 is Mutt; $2 is Jeff
-	$1 is Wallace; $2 is Grommit
+    $1 is Wallace; $2 is Grommit
+    $1 is Mutt; $2 is Jeff
+    $1 is Wallace; $2 is Grommit
 
 Due to an unfortunate accident of Perl's implementation, C<use
 English> imposes a considerable performance penalty on all regular
 expression matches in a program because it uses the C<$`>, C<$&>, and
 C<$'>, regardless of whether they occur in the scope of C<use
-English>. For that reason, saying C<use English> in libraries is
+English>.  For that reason, saying C<use English> in libraries is
 strongly discouraged unless you import it without the match variables:
 
-	use English '-no_match_vars'
+    use English '-no_match_vars'
 
 The C<Devel::NYTProf> and C<Devel::FindAmpersand>
 modules can help you find uses of these
 problematic match variables in your code.
 
-Since Perl 5.10, you can use the C</p> match operator flag and the
+Since Perl v5.10.0, you can use the C</p> match operator flag and the
 C<${^PREMATCH}>, C<${^MATCH}>, and C<${^POSTMATCH}> variables instead
 so you only suffer the performance penalties.
 
@@ -1098,9 +823,9 @@
 BLOCK).
 
 The use of this variable anywhere in a program imposes a considerable
-performance penalty on all regular expression matches. To avoid this
-penalty, you can extract the same substring by using L</@->. Starting
-with Perl 5.10, you can use the </p> match flag and the C<${^MATCH}>
+performance penalty on all regular expression matches.  To avoid this
+penalty, you can extract the same substring by using L</@->.  Starting
+with Perl v5.10.0, you can use the C</p> match flag and the C<${^MATCH}>
 variable to do the same thing for particular match operations.
 
 This variable is read-only and dynamically-scoped.
@@ -1115,7 +840,7 @@
 to return a defined value when the pattern was compiled or executed with
 the C</p> modifier.
 
-This variable was added in Perl 5.10.
+This variable was added in Perl v5.10.0.
 
 This variable is read-only and dynamically-scoped.
 
@@ -1129,9 +854,9 @@
 enclosed by the current BLOCK.
 
 The use of this variable anywhere in a program imposes a considerable
-performance penalty on all regular expression matches. To avoid this
-penalty, you can extract the same substring by using L</@->. Starting
-with Perl 5.10, you can use the </p> match flag and the
+performance penalty on all regular expression matches.  To avoid this
+penalty, you can extract the same substring by using L</@->.  Starting
+with Perl v5.10.0, you can use the C</p> match flag and the
 C<${^PREMATCH}> variable to do the same thing for particular match
 operations.
 
@@ -1147,7 +872,7 @@
 to return a defined value when the pattern was compiled or executed with
 the C</p> modifier.
 
-This variable was added in Perl 5.10
+This variable was added in Perl v5.10.0
 
 This variable is read-only and dynamically-scoped.
 
@@ -1158,16 +883,16 @@
 
 The string following whatever was matched by the last successful
 pattern match (not counting any matches hidden within a BLOCK or C<eval()>
-enclosed by the current BLOCK). Example:
+enclosed by the current BLOCK).  Example:
 
-	local $_ = 'abcdefghi';
-	/def/;
-	print "$`:$&:$'\n";  	# prints abc:def:ghi
+    local $_ = 'abcdefghi';
+    /def/;
+    print "$`:$&:$'\n";  	# prints abc:def:ghi
 
 The use of this variable anywhere in a program imposes a considerable
 performance penalty on all regular expression matches.
 To avoid this penalty, you can extract the same substring by
-using L</@->. Starting with Perl 5.10, you can use the </p> match flag
+using L</@->.  Starting with Perl v5.10.0, you can use the C</p> match flag
 and the C<${^POSTMATCH}> variable to do the same thing for particular
 match operations.
 
@@ -1183,7 +908,7 @@
 to return a defined value when the pattern was compiled or executed with
 the C</p> modifier.
 
-This variable was added in Perl 5.10.
+This variable was added in Perl v5.10.0.
 
 This variable is read-only and dynamically-scoped.
 
@@ -1194,9 +919,9 @@
 
 The text matched by the last bracket of the last successful search pattern.
 This is useful if you don't know which one of a set of alternative patterns
-matched. For example:
+matched.  For example:
 
-	/Version: (.*)|Revision: (.*)/ && ($rev = $+);
+    /Version: (.*)|Revision: (.*)/ && ($rev = $+);
 
 This variable is read-only and dynamically-scoped.
 
@@ -1212,15 +937,15 @@
 pattern.
 
 This is primarily used inside C<(?{...})> blocks for examining text
-recently matched. For example, to effectively capture text to a variable
+recently matched.  For example, to effectively capture text to a variable
 (in addition to C<$1>, C<$2>, etc.), replace C<(...)> with
 
-	(?:(...)(?{ $var = $^N }))
+    (?:(...)(?{ $var = $^N }))
 
 By setting and then using C<$var> in this way relieves you from having to
 worry about exactly which numbered set of parentheses they are.
 
-This variable was added in Perl 5.8.
+This variable was added in Perl v5.8.0.
 
 Mnemonic: the (possibly) Nested parenthesis that most recently closed.
 
@@ -1230,17 +955,17 @@
 X<@+> X<@LAST_MATCH_END>
 
 This array holds the offsets of the ends of the last successful
-submatches in the currently active dynamic scope. C<$+[0]> is
-the offset into the string of the end of the entire match. This
+submatches in the currently active dynamic scope.  C<$+[0]> is
+the offset into the string of the end of the entire match.  This
 is the same value as what the C<pos> function returns when called
-on the variable that was matched against. The I<n>th element
+on the variable that was matched against.  The I<n>th element
 of this array holds the offset of the I<n>th submatch, so
 C<$+[1]> is the offset past where C<$1> ends, C<$+[2]> the offset
-past where C<$2> ends, and so on. You can use C<$#+> to determine
-how many subgroups were in the last successful match. See the
+past where C<$2> ends, and so on.  You can use C<$#+> to determine
+how many subgroups were in the last successful match.  See the
 examples given for the C<@-> variable.
 
-This variable was added in Perl 5.6.
+This variable was added in Perl v5.6.0.
 
 =item %LAST_PAREN_MATCH
 
@@ -1253,7 +978,7 @@
 
 For example, C<$+{foo}> is equivalent to C<$1> after the following match:
 
-	'foo' =~ /(?<foo>foo)/;
+    'foo' =~ /(?<foo>foo)/;
 
 The keys of the C<%+> hash list only the names of buffers that have
 captured (and that are thus associated to defined values).
@@ -1262,12 +987,12 @@
 L<Tie::Hash::NamedCapture> module.
 
 B<Note:> C<%-> and C<%+> are tied views into a common internal hash
-associated with the last successful regular expression. Therefore mixing
+associated with the last successful regular expression.  Therefore mixing
 iterative access to them via C<each> may have unpredictable results.
 Likewise, if the last successful match changes, then the results may be
 surprising.
 
-This variable was added in Perl 5.10.
+This variable was added in Perl v5.10.0.
 
 This variable is read-only and dynamically-scoped.
 
@@ -1281,17 +1006,17 @@
 I<n>-th subpattern, or undef if the subpattern did not match.
 
 Thus, after a match against C<$_>, C<$&> coincides with C<substr $_, $-[0],
-$+[0] - $-[0]>. Similarly, $I<n> coincides with C<substr $_, $-[n],
+$+[0] - $-[0]>.  Similarly, $I<n> coincides with C<substr $_, $-[n],
 $+[n] - $-[n]> if C<$-[n]> is defined, and $+ coincides with
-C<substr $_, $-[$#-], $+[$#-] - $-[$#-]>. One can use C<$#-> to find the last
-matched subgroup in the last successful match. Contrast with
-C<$#+>, the number of subgroups in the regular expression. Compare
+C<substr $_, $-[$#-], $+[$#-] - $-[$#-]>.  One can use C<$#-> to find the
+last matched subgroup in the last successful match.  Contrast with
+C<$#+>, the number of subgroups in the regular expression.  Compare
 with C<@+>.
 
 This array holds the offsets of the beginnings of the last
 successful submatches in the currently active dynamic scope.
 C<$-[0]> is the offset into the string of the beginning of the
-entire match. The I<n>th element of this array holds the offset
+entire match.  The I<n>th element of this array holds the offset
 of the I<n>th submatch, so C<$-[1]> is the offset where C<$1>
 begins, C<$-[2]> the offset where C<$2> begins, and so on.
 
@@ -1313,7 +1038,7 @@
 
 =back
 
-This variable was added in Perl 5.6.
+This variable was added in Perl v5.6.0.
 
 =item %LAST_MATCH_START
 
@@ -1321,7 +1046,7 @@
 X<%-> X<%LAST_MATCH_START>
 
 Similar to C<%+>, this variable allows access to the named capture groups
-in the last successful match in the currently active dynamic scope. To
+in the last successful match in the currently active dynamic scope.  To
 each capture group name found in the regular expression, it associates a
 reference to an array containing the list of values captured by all
 buffers with that name (should there be several of them), in the order
@@ -1334,7 +1059,9 @@
             my $ary = $-{$bufname};
             foreach my $idx (0..$#$ary) {
                 print "\$-{$bufname}[$idx] : ",
-                      (defined($ary->[$idx]) ? "'$ary->[$idx]'" : "undef"),
+                      (defined($ary->[$idx])
+                          ? "'$ary->[$idx]'"
+                          : "undef"),
                       "\n";
             }
         }
@@ -1342,10 +1069,10 @@
 
 would print out:
 
-	$-{A}[0] : '1'
-	$-{A}[1] : '3'
-	$-{B}[0] : '2'
-	$-{B}[1] : '4'
+    $-{A}[0] : '1'
+    $-{A}[1] : '3'
+    $-{B}[0] : '2'
+    $-{B}[1] : '4'
 
 The keys of the C<%-> hash correspond to all buffer names found in
 the regular expression.
@@ -1354,12 +1081,12 @@
 L<Tie::Hash::NamedCapture> module.
 
 B<Note:> C<%-> and C<%+> are tied views into a common internal hash
-associated with the last successful regular expression. Therefore mixing
+associated with the last successful regular expression.  Therefore mixing
 iterative access to them via C<each> may have unpredictable results.
 Likewise, if the last successful match changes, then the results may be
 surprising.
 
-This variable was added in Perl 5.10
+This variable was added in Perl v5.10.0.
 
 This variable is read-only and dynamically-scoped.
 
@@ -1369,7 +1096,7 @@
 X<$^R> X<$LAST_REGEXP_CODE_RESULT>
 
 The result of evaluation of the last successful C<(?{ code })>
-regular expression assertion (see L<perlre>). May be written to.
+regular expression assertion (see L<perlre>).  May be written to.
 
 This variable was added in Perl 5.005.
 
@@ -1376,23 +1103,24 @@
 =item ${^RE_DEBUG_FLAGS}
 X<${^RE_DEBUG_FLAGS}>
 
-The current value of the regex debugging flags. Set to 0 for no debug output
-even when the C<re 'debug'> module is loaded. See L<re> for details.
+The current value of the regex debugging flags.  Set to 0 for no debug output
+even when the C<re 'debug'> module is loaded.  See L<re> for details.
 
-This variable was added in Perl 5.10.
+This variable was added in Perl v5.10.0.
 
 =item ${^RE_TRIE_MAXBUF}
 X<${^RE_TRIE_MAXBUF}>
 
 Controls how certain regex optimisations are applied and how much memory they
-utilize. This value by default is 65536 which corresponds to a 512kB temporary
-cache. Set this to a higher value to trade memory for speed when matching
-large alternations. Set it to a lower value if you want the optimisations to
+utilize.  This value by default is 65536 which corresponds to a 512kB
+temporary cache.  Set this to a higher value to trade
+memory for speed when matching large alternations.  Set
+it to a lower value if you want the optimisations to
 be as conservative of memory as possible but still occur, and set it to a
 negative value to prevent the optimisation and conserve the most memory.
 Under normal situations this variable should be of no interest to you.
 
-This variable was added in Perl 5.10.
+This variable was added in Perl v5.10.0.
 
 =back
 
@@ -1401,22 +1129,22 @@
 Variables that depend on the currently selected filehandle may be set
 by calling an appropriate object method on the C<IO::Handle> object,
 although this is less efficient than using the regular built-in
-variables. (Summary lines below for this contain the word HANDLE.)
+variables.  (Summary lines below for this contain the word HANDLE.)
 First you must say
 
-	use IO::Handle;
+    use IO::Handle;
 
 after which you may use either
 
-	method HANDLE EXPR
+    method HANDLE EXPR
 
 or more safely,
 
-	HANDLE->method(EXPR)
+    HANDLE->method(EXPR)
 
-Each method returns the old value of the C<IO::Handle> attribute. The
+Each method returns the old value of the C<IO::Handle> attribute.  The
 methods each take an optional EXPR, which, if supplied, specifies the
-new value for the C<IO::Handle> attribute in question. If not
+new value for the C<IO::Handle> attribute in question.  If not
 supplied, most methods do nothing to the current value--except for
 C<autoflush()>, which will assume a 1 for you, just to be different.
 
@@ -1423,28 +1151,28 @@
 Because loading in the C<IO::Handle> class is an expensive operation,
 you should learn how to use the regular built-in variables.
 
-A few of these variables are considered "read-only". This means that
+A few of these variables are considered "read-only".  This means that
 if you try to assign to this variable, either directly or indirectly
 through a reference, you'll raise a run-time exception.
 
 You should be very careful when modifying the default values of most
-special variables described in this document. In most cases you want
+special variables described in this document.  In most cases you want
 to localize these variables before changing them, since if you don't,
 the change may affect other modules which rely on the default values
-of the special variables that you have changed. This is one of the
+of the special variables that you have changed.  This is one of the
 correct ways to read the whole file at once:
 
-	open my $fh, "<", "foo" or die $!;
-	local $/; # enable localized slurp mode
-	my $content = <$fh>;
-	close $fh;
+    open my $fh, "<", "foo" or die $!;
+    local $/; # enable localized slurp mode
+    my $content = <$fh>;
+    close $fh;
 
 But the following code is quite bad:
 
-	open my $fh, "<", "foo" or die $!;
-	undef $/; # enable slurp mode
-	my $content = <$fh>;
-	close $fh;
+    open my $fh, "<", "foo" or die $!;
+    undef $/; # enable slurp mode
+    my $content = <$fh>;
+    close $fh;
 
 since some other module, may want to read data from some file in the
 default "line mode", so if the code we have just presented has been
@@ -1452,30 +1180,30 @@
 running inside the same Perl interpreter.
 
 Usually when a variable is localized you want to make sure that this
-change affects the shortest scope possible. So unless you are already
-inside some short C<{}> block, you should create one yourself. For
+change affects the shortest scope possible.  So unless you are already
+inside some short C<{}> block, you should create one yourself.  For
 example:
 
-	my $content = '';
-	open my $fh, "<", "foo" or die $!;
-	{
-		local $/;
-		$content = <$fh>;
-	}
-	close $fh;
+    my $content = '';
+    open my $fh, "<", "foo" or die $!;
+    {
+	local $/;
+	$content = <$fh>;
+    }
+    close $fh;
 
 Here is an example of how your own code can go broken:
 
-	for ( 1..3 ){
-		$\ = "\r\n";
-		nasty_break();
-		print "$_";
-	}
+    for ( 1..3 ){
+	$\ = "\r\n";
+	nasty_break();
+	print "$_";
+    }
 
-	sub nasty_break {
+    sub nasty_break {
 	$\ = "\f";
 	# do something with $_
-	}
+    }
 
 You probably expect this code to print the equivalent of
 
@@ -1486,11 +1214,11 @@
     "1\f2\f3\f"
 
 Why? Because C<nasty_break()> modifies C<$\> without localizing it
-first. The value you set in  C<nasty_break()> is still there when you
-return. The fix is to add C<local()> so the value doesn't leak out of
+first.  The value you set in  C<nasty_break()> is still there when you
+return.  The fix is to add C<local()> so the value doesn't leak out of
 C<nasty_break()>:
 
-        local $\ = "\f";
+    local $\ = "\f";
 
 It's easy to notice the problem in such a short example, but in more
 complicated code you are looking for trouble if you don't localize
@@ -1507,18 +1235,18 @@
 X<@ARGV>
 
 The array C<@ARGV> contains the command-line arguments intended for
-the script. C<$#ARGV> is generally the number of arguments minus
+the script.  C<$#ARGV> is generally the number of arguments minus
 one, because C<$ARGV[0]> is the first argument, I<not> the program's
-command name itself. See C<$0> for the command name.
+command name itself.  See L</$0> for the command name.
 
 =item ARGV
 X<ARGV>
 
 The special filehandle that iterates over command-line filenames in
-C<@ARGV>. Usually written as the null filehandle in the angle operator
-C<< <> >>. Note that currently C<ARGV> only has its magical effect
+C<@ARGV>.  Usually written as the null filehandle in the angle operator
+C<< <> >>.  Note that currently C<ARGV> only has its magical effect
 within the C<< <> >> operator; elsewhere it is just a plain filehandle
-corresponding to the last file opened by C<< <> >>. In particular,
+corresponding to the last file opened by C<< <> >>.  In particular,
 passing C<\*ARGV> as a parameter to a function that expects a filehandle
 may not cause your function to automatically read the contents of all the
 files in C<@ARGV>.
@@ -1527,11 +1255,11 @@
 X<ARGVOUT>
 
 The special filehandle that points to the currently open output file
-when doing edit-in-place processing with B<-i>. Useful when you have
-to do a lot of inserting and don't want to keep modifying C<$_>. See
+when doing edit-in-place processing with B<-i>.  Useful when you have
+to do a lot of inserting and don't want to keep modifying C<$_>.  See
 L<perlrun> for the B<-i> switch.
 
-=item Handle->output_field_separator( EXPR )
+=item IO::Handle->output_field_separator( EXPR )
 
 =item $OUTPUT_FIELD_SEPARATOR
 
@@ -1540,9 +1268,12 @@
 =item $,
 X<$,> X<$OFS> X<$OUTPUT_FIELD_SEPARATOR>
 
-The output field separator for the print operator. If defined, this
-value is printed between each of print's arguments. Default is C<undef>.
+The output field separator for the print operator.  If defined, this
+value is printed between each of print's arguments.  Default is C<undef>.
 
+You cannot call C<output_field_separator()> on a handle, only as a
+static method.  See L<IO::Handle|IO::Handle>.
+
 Mnemonic: what is printed when there is a "," in your print statement.
 
 =item HANDLE->input_line_number( EXPR )
@@ -1557,7 +1288,7 @@
 Current line number for the last filehandle accessed.
 
 Each filehandle in Perl counts the number of lines that have been read
-from it. (Depending on the value of C<$/>, Perl's idea of what
+from it.  (Depending on the value of C<$/>, Perl's idea of what
 constitutes a line may not match yours.)  When a line is read from a
 filehandle (via C<readline()> or C<< <> >>), or when C<tell()> or
 C<seek()> is called on it, C<$.> becomes an alias to the line counter
@@ -1564,13 +1295,13 @@
 for that filehandle.
 
 You can adjust the counter by assigning to C<$.>, but this will not
-actually move the seek pointer. I<Localizing C<$.> will not localize
-the filehandle's line count>. Instead, it will localize perl's notion
+actually move the seek pointer.  I<Localizing C<$.> will not localize
+the filehandle's line count>.  Instead, it will localize perl's notion
 of which filehandle C<$.> is currently aliased to.
 
 C<$.> is reset when the filehandle is closed, but B<not> when an open
-filehandle is reopened without an intervening C<close()>. For more
-details, see L<perlop/"IE<sol>O Operators">. Because C<< <> >> never does
+filehandle is reopened without an intervening C<close()>.  For more
+details, see L<perlop/"IE<sol>O Operators">.  Because C<< <> >> never does
 an explicit close, line numbers increase across C<ARGV> files (but see
 examples in L<perlfunc/eof>).
 
@@ -1580,7 +1311,7 @@
 
 Mnemonic: many programs use "." to mean the current line number.
 
-=item HANDLE->input_record_separator( EXPR )
+=item IO::Handle->input_record_separator( EXPR )
 
 =item $INPUT_RECORD_SEPARATOR
 
@@ -1589,15 +1320,15 @@
 =item $/
 X<$/> X<$RS> X<$INPUT_RECORD_SEPARATOR>
 
-The input record separator, newline by default. This influences Perl's
-idea of what a "line" is. Works like B<awk>'s RS variable, including
+The input record separator, newline by default.  This influences Perl's
+idea of what a "line" is.  Works like B<awk>'s RS variable, including
 treating empty lines as a terminator if set to the null string (an
-empty line cannot contain any spaces or tabs). You may set it to a
+empty line cannot contain any spaces or tabs).  You may set it to a
 multi-character string to match a multi-character terminator, or to
-C<undef> to read through the end of file. Setting it to C<"\n\n">
+C<undef> to read through the end of file.  Setting it to C<"\n\n">
 means something slightly different than setting to C<"">, if the file
-contains consecutive empty lines. Setting to C<""> will treat two or
-more consecutive empty lines as a single empty line. Setting to
+contains consecutive empty lines.  Setting to C<""> will treat two or
+more consecutive empty lines as a single empty line.  Setting to
 C<"\n\n"> will blindly assume that the next input character belongs to
 the next paragraph, even if it's a newline.
 
@@ -1605,37 +1336,38 @@
     local $_ = <FH>;    # whole file now here
     s/\n[ \t]+/ /g;
 
-Remember: the value of C<$/> is a string, not a regex. B<awk> has to
+Remember: the value of C<$/> is a string, not a regex.  B<awk> has to
 be better for something. :-)
 
 Setting C<$/> to a reference to an integer, scalar containing an
 integer, or scalar that's convertible to an integer will attempt to
 read records instead of lines, with the maximum record size being the
-referenced integer. So this:
+referenced integer number of characters.  So this:
 
     local $/ = \32768; # or \"32768", or \$var_containing_32768
     open my $fh, "<", $myfile or die $!;
     local $_ = <$fh>;
 
-will read a record of no more than 32768 bytes from FILE. If you're
+will read a record of no more than 32768 characters from $fh.  If you're
 not reading from a record-oriented file (or your OS doesn't have
 record-oriented files), then you'll likely get a full chunk of data
-with every read. If a record is larger than the record size you've
-set, you'll get the record back in pieces. Trying to set the record
+with every read.  If a record is larger than the record size you've
+set, you'll get the record back in pieces.  Trying to set the record
 size to zero or less will cause reading in the (rest of the) whole file.
 
-On VMS, record reads are done with the equivalent of C<sysread>,
-so it's best not to mix record and non-record reads on the same
-file. (This is unlikely to be a problem, because any file you'd
-want to read in record mode is probably unusable in line mode.)
-Non-VMS systems do normal I/O, so it's safe to mix record and
-non-record reads of a file.
+On VMS only, record reads bypass PerlIO layers and any associated
+buffering, so you must not mix record and non-record reads on the
+same filehandle.  Record mode mixes with line mode only when the
+same buffering layer is in use for both modes.
 
-See also L<perlport/"Newlines">. Also see C<$.>.
+You cannot call C<input_record_separator()> on a handle, only as a
+static method.  See L<IO::Handle|IO::Handle>.
 
+See also L<perlport/"Newlines">.  Also see L</$.>.
+
 Mnemonic: / delimits line boundaries when quoting poetry.
 
-=item Handle->output_record_separator( EXPR )
+=item IO::Handle->output_record_separator( EXPR )
 
 =item $OUTPUT_RECORD_SEPARATOR
 
@@ -1644,9 +1376,12 @@
 =item $\
 X<$\> X<$ORS> X<$OUTPUT_RECORD_SEPARATOR>
 
-The output record separator for the print operator. If defined, this
-value is printed after the last of print's arguments. Default is C<undef>.
+The output record separator for the print operator.  If defined, this
+value is printed after the last of print's arguments.  Default is C<undef>.
 
+You cannot call C<output_record_separator()> on a handle, only as a
+static method.  See L<IO::Handle|IO::Handle>.
+
 Mnemonic: you set C<$\> instead of adding "\n" at the end of the print.
 Also, it's just like C<$/>, but it's what you get "back" from Perl.
 
@@ -1658,25 +1393,36 @@
 X<$|> X<autoflush> X<flush> X<$OUTPUT_AUTOFLUSH>
 
 If set to nonzero, forces a flush right away and after every write or
-print on the currently selected output channel. Default is 0
+print on the currently selected output channel.  Default is 0
 (regardless of whether the channel is really buffered by the system or
 not; C<$|> tells you only whether you've asked Perl explicitly to
-flush after each write). STDOUT will typically be line buffered if
-output is to the terminal and block buffered otherwise. Setting this
+flush after each write).  STDOUT will typically be line buffered if
+output is to the terminal and block buffered otherwise.  Setting this
 variable is useful primarily when you are outputting to a pipe or
 socket, such as when you are running a Perl program under B<rsh> and
-want to see the output as it's happening. This has no effect on input
-buffering. See L<perlfunc/getc> for that. See L<perlfunc/select> on
-how to select the output channel. See also L<IO::Handle>.
+want to see the output as it's happening.  This has no effect on input
+buffering.  See L<perlfunc/getc> for that.  See L<perlfunc/select> on
+how to select the output channel.  See also L<IO::Handle>.
 
 Mnemonic: when you want your pipes to be piping hot.
 
+=item ${^LAST_FH}
+X<${^LAST_FH}>
+
+This read-only variable contains a reference to the last-read filehandle.
+This is set by C<< <HANDLE> >>, C<readline>, C<tell>, C<eof> and C<seek>.
+This is the same handle that C<$.> and C<tell> and C<eof> without arguments
+use.  It is also the handle used when Perl appends ", <STDIN> line 1" to
+an error or warning message.
+
+This variable was added in Perl v5.18.0.
+
 =back
 
 =head3 Variables related to formats
 
 The special variables for formats are a subset of those for
-filehandles. See L<perlform> for more information about Perl's
+filehandles.  See L<perlform> for more information about Perl's
 formats.
 
 =over 8
@@ -1688,12 +1434,12 @@
 
 The current value of the C<write()> accumulator for C<format()> lines.
 A format contains C<formline()> calls that put their result into
-C<$^A>. After calling its format, C<write()> prints out the contents
-of C<$^A> and empties. So you never really see the contents of C<$^A>
-unless you call C<formline()> yourself and then look at it. See
+C<$^A>.  After calling its format, C<write()> prints out the contents
+of C<$^A> and empties.  So you never really see the contents of C<$^A>
+unless you call C<formline()> yourself and then look at it.  See
 L<perlform> and L<perlfunc/"formline PICTURE,LIST">.
 
-=item HANDLE->format_formfeed(EXPR)
+=item IO::Handle->format_formfeed(EXPR)
 
 =item $FORMAT_FORMFEED
 
@@ -1700,8 +1446,11 @@
 =item $^L
 X<$^L> X<$FORMAT_FORMFEED>
 
-What formats output as a form feed. The default is C<\f>.
+What formats output as a form feed.  The default is C<\f>.
 
+You cannot call C<format_formfeed()> on a handle, only as a static
+method.  See L<IO::Handle|IO::Handle>.
+
 =item HANDLE->format_page_number(EXPR)
 
 =item $FORMAT_PAGE_NUMBER
@@ -1725,7 +1474,7 @@
 
 Mnemonic: lines_on_page - lines_printed.
 
-=item Handle->format_line_break_characters EXPR
+=item IO::Handle->format_line_break_characters EXPR
 
 =item $FORMAT_LINE_BREAK_CHARACTERS
 
@@ -1733,9 +1482,12 @@
 X<$:> X<FORMAT_LINE_BREAK_CHARACTERS>
 
 The current set of characters after which a string may be broken to
-fill continuation fields (starting with C<^>) in a format. The default is
+fill continuation fields (starting with C<^>) in a format.  The default is
 S<" \n-">, to break on a space, newline, or a hyphen.
 
+You cannot call C<format_line_break_characters()> on a handle, only as
+a static method.  See L<IO::Handle|IO::Handle>.
+
 Mnemonic: a "colon" in poetry is a part of a line.
 
 =item HANDLE->format_lines_per_page(EXPR)
@@ -1746,7 +1498,7 @@
 X<$=> X<$FORMAT_LINES_PER_PAGE>
 
 The current page length (printable lines) of the currently selected
-output channel. The default is 60.
+output channel.  The default is 60.
 
 Mnemonic: = has horizontal lines.
 
@@ -1758,9 +1510,9 @@
 X<$^> X<$FORMAT_TOP_NAME>
 
 The name of the current top-of-page format for the currently selected
-output channel. The default is the name of the filehandle with C<_TOP>
-appended. For example, the default format top name for the C<STDOUT>
-filehanlde is C<STDOUT_TOP>.
+output channel.  The default is the name of the filehandle with C<_TOP>
+appended.  For example, the default format top name for the C<STDOUT>
+filehandle is C<STDOUT_TOP>.
 
 Mnemonic: points to top of page.
 
@@ -1772,8 +1524,8 @@
 X<$~> X<$FORMAT_NAME>
 
 The name of the current report format for the currently selected
-output channel. The default format name is the same as the filehandle
-name. For example, the default format name for the C<STDOUT>
+output channel.  The default format name is the same as the filehandle
+name.  For example, the default format name for the C<STDOUT>
 filehandle is just C<STDOUT>.
 
 Mnemonic: brother to C<$^>.
@@ -1785,46 +1537,46 @@
 
 The variables C<$@>, C<$!>, C<$^E>, and C<$?> contain information
 about different types of error conditions that may appear during
-execution of a Perl program. The variables are shown ordered by
+execution of a Perl program.  The variables are shown ordered by
 the "distance" between the subsystem which reported the error and
-the Perl process. They correspond to errors detected by the Perl
+the Perl process.  They correspond to errors detected by the Perl
 interpreter, C library, operating system, or an external program,
 respectively.
 
 To illustrate the differences between these variables, consider the
-following Perl expression, which uses a single-quoted string. After
+following Perl expression, which uses a single-quoted string.  After
 execution of this statement, perl may have set all four special error
 variables:
 
-	eval q{
-		open my $pipe, "/cdrom/install |" or die $!;
-		my @res = <$pipe>;
-		close $pipe or die "bad pipe: $?, $!";
-	    };
+    eval q{
+	open my $pipe, "/cdrom/install |" or die $!;
+	my @res = <$pipe>;
+	close $pipe or die "bad pipe: $?, $!";
+    };
 
 When perl executes the C<eval()> expression, it translates the
 C<open()>, C<< <PIPE> >>, and C<close> calls in the C run-time library
-and thence to the operating system kernel. perl sets C<$!> to
+and thence to the operating system kernel.  perl sets C<$!> to
 the C library's C<errno> if one of these calls fails.
 
 C<$@> is set if the string to be C<eval>-ed did not compile (this may
 happen if C<open> or C<close> were imported with bad prototypes), or
-if Perl code executed during evaluation C<die()>d. In these cases the
+if Perl code executed during evaluation C<die()>d.  In these cases the
 value of C<$@> is the compile error, or the argument to C<die> (which
-will interpolate C<$!> and C<$?>). (See also L<Fatal>, though.)
+will interpolate C<$!> and C<$?>).  (See also L<Fatal>, though.)
 
 Under a few operating systems, C<$^E> may contain a more verbose error
-indicator, such as in this case, "CDROM tray not closed." Systems that
+indicator, such as in this case, "CDROM tray not closed."  Systems that
 do not support extended error messages leave C<$^E> the same as C<$!>.
 
 Finally, C<$?> may be set to non-0 value if the external program
-F</cdrom/install> fails. The upper eight bits reflect specific error
+F</cdrom/install> fails.  The upper eight bits reflect specific error
 conditions encountered by the program (the program's C<exit()> value).
 The lower eight bits reflect mode of failure, like signal death and
-core dump information. See C<wait(2)> for details. In contrast to
+core dump information.  See L<wait(2)> for details.  In contrast to
 C<$!> and C<$^E>, which are set only if error condition is detected,
 the variable C<$?> is set on each C<wait> or pipe C<close>,
-overwriting the old value. This is more like C<$@>, which on every
+overwriting the old value.  This is more like C<$@>, which on every
 C<eval()> is always set on failure and cleared on success.
 
 For more details, see the individual descriptions at C<$@>, C<$!>,
@@ -1837,7 +1589,7 @@
 
 The native status returned by the last pipe close, backtick (C<``>)
 command, successful call to C<wait()> or C<waitpid()>, or from the
-C<system()> operator. On POSIX-like systems this value can be decoded
+C<system()> operator.  On POSIX-like systems this value can be decoded
 with the WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED,
 WSTOPSIG and WIFCONTINUED functions provided by the L<POSIX> module.
 
@@ -1844,7 +1596,7 @@
 Under VMS this reflects the actual VMS exit status; i.e. it is the
 same as C<$?> when the pragma C<use vmsish 'status'> is in effect.
 
-This variable was added in Perl 5.8.9.
+This variable was added in Perl v5.10.0.
 
 =item $EXTENDED_OS_ERROR
 
@@ -1851,14 +1603,14 @@
 =item $^E
 X<$^E> X<$EXTENDED_OS_ERROR>
 
-Error information specific to the current operating system. At the
+Error information specific to the current operating system.  At the
 moment, this differs from C<$!> under only VMS, OS/2, and Win32 (and
-for MacPerl). On all other platforms, C<$^E> is always just the same
+for MacPerl).  On all other platforms, C<$^E> is always just the same
 as C<$!>.
 
 Under VMS, C<$^E> provides the VMS status value from the last system
-error. This is more specific information about the last system error
-than that provided by C<$!>. This is particularly important when C<$!>
+error.  This is more specific information about the last system error
+than that provided by C<$!>.  This is particularly important when C<$!>
 is set to B<EVMSERR>.
 
 Under OS/2, C<$^E> is set to the error code of the last call to OS/2
@@ -1866,8 +1618,8 @@
 
 Under Win32, C<$^E> always returns the last error information reported
 by the Win32 call C<GetLastError()> which describes the last error
-from within the Win32 API. Most Win32-specific code will report errors
-via C<$^E>. ANSI C and Unix-like calls set C<errno> and so most
+from within the Win32 API.  Most Win32-specific code will report errors
+via C<$^E>.  ANSI C and Unix-like calls set C<errno> and so most
 portable Perl code will report errors via C<$!>.
 
 Caveats mentioned in the description of C<$!> generally apply to
@@ -1885,8 +1637,8 @@
 Current state of the interpreter.
 
 	$^S         State
-	---------   -------------------
-	undef       Parsing module/eval
+	---------   -------------------------------------
+	undef       Parsing module, eval, or main program
 	true (1)    Executing an eval
 	false (0)   Otherwise
 
@@ -1893,6 +1645,10 @@
 The first state may happen in C<$SIG{__DIE__}> and C<$SIG{__WARN__}>
 handlers.
 
+The English name $EXCEPTIONS_BEING_CAUGHT is slightly misleading, because
+the C<undef> value does not indicate whether exceptions are being caught,
+since compilation of the main program does not catch exceptions.
+
 This variable was added in Perl 5.004.
 
 =item $WARNING
@@ -1911,9 +1667,11 @@
 X<${^WARNING_BITS}>
 
 The current set of warning checks enabled by the C<use warnings> pragma.
-See the documentation of C<warnings> for more details.
+It has the same scoping as the C<$^H> and C<%^H> variables.  The exact
+values are considered internal to the L<warnings> pragma and may change
+between versions of Perl.
 
-This variable was added in Perl 5.10.
+This variable was added in Perl v5.6.0.
 
 =item $OS_ERROR
 
@@ -1922,12 +1680,18 @@
 =item $!
 X<$!> X<$ERRNO> X<$OS_ERROR>
 
-If used numerically, yields the current value of the C C<errno>
-variable, or in other words, if a system or library call fails, it
-sets this variable. This means that the value of C<$!> is meaningful
-only I<immediately> after a B<failure>:
+When referenced, C<$!> retrieves the current value
+of the C C<errno> integer variable.
+If C<$!> is assigned a numerical value, that value is stored in C<errno>.
+When referenced as a string, C<$!> yields the system error string
+corresponding to C<errno>.
 
-	if (open my $fh, "<", $filename) {
+Many system or library calls set C<errno> if they fail,
+to indicate the cause of failure.  They usually do B<not>
+set C<errno> to zero if they succeed.  This means C<errno>,
+hence C<$!>, is meaningful only I<immediately> after a B<failure>:
+
+    if (open my $fh, "<", $filename) {
 		# Here $! is meaningless.
 		...
     }
@@ -1937,17 +1701,14 @@
 		# Already here $! might be meaningless.
     }
     # Since here we might have either success or failure,
-    # here $! is meaningless.
+    # $! is meaningless.
 
-The I<meaningless> stands for anything: zero, non-zero,
-C<undef>. A successful system or library call does B<not> set the
-variable to zero.
+Here, I<meaningless> means that C<$!> may be unrelated to the outcome
+of the C<open()> operator.  Assignment to C<$!> is similarly ephemeral.
+It can be used immediately before invoking the C<die()> operator,
+to set the exit value, or to inspect the system error string
+corresponding to error I<n>, or to restore C<$!> to a meaningful state.
 
-If used as a string, yields the corresponding system error string. You
-can assign a number to C<$!> to set I<errno> if, for instance, you
-want C<"$!"> to return the string for error I<n>, or you want to set
-the exit value for the C<die()> operator.
-
 Mnemonic: What just went bang?
 
 =item %OS_ERROR
@@ -1958,12 +1719,12 @@
 X<%!> X<%OS_ERROR> X<%ERRNO>
 
 Each element of C<%!> has a true value only if C<$!> is set to that
-value. For example, C<$!{ENOENT}> is true if and only if the current
+value.  For example, C<$!{ENOENT}> is true if and only if the current
 value of C<$!> is C<ENOENT>; that is, if the most recent error was "No
 such file or directory" (or its moral equivalent: not all operating
-systems give that exact error, and certainly not all languages). To
+systems give that exact error, and certainly not all languages).  To
 check if a particular key is meaningful on your system, use C<exists
-$!{the_key}>; for a list of legal keys, use C<keys %!>. See L<Errno>
+$!{the_key}>; for a list of legal keys, use C<keys %!>.  See L<Errno>
 for more information, and also see L</$!>.
 
 This variable was added in Perl 5.005.
@@ -1975,9 +1736,9 @@
 
 The status returned by the last pipe close, backtick (C<``>) command,
 successful call to C<wait()> or C<waitpid()>, or from the C<system()>
-operator. This is just the 16-bit status word returned by the
+operator.  This is just the 16-bit status word returned by the
 traditional Unix C<wait()> system call (or else is made up to look
-like it). Thus, the exit value of the subprocess is really (C<<< $? >>
+like it).  Thus, the exit value of the subprocess is really (C<<< $? >>
 8 >>>), and C<$? & 127> gives which signal, if any, the process died
 from, and C<$? & 128> reports whether there was a core dump.
 
@@ -1988,8 +1749,8 @@
 value of C<$?> will usually be wrong outside that handler.
 
 Inside an C<END> subroutine C<$?> contains the value that is going to be
-given to C<exit()>. You can modify C<$?> in an C<END> subroutine to
-change the exit status of your program. For example:
+given to C<exit()>.  You can modify C<$?> in an C<END> subroutine to
+change the exit status of your program.  For example:
 
     END {
 	$? = 1 if $? == 255;  # die would make it 255
@@ -2006,12 +1767,13 @@
 =item $@
 X<$@> X<$EVAL_ERROR>
 
-The Perl syntax error message from the last C<eval()> operator. If C<$@> is
+The Perl syntax error message from the
+last C<eval()> operator.  If C<$@> is
 the null string, the last C<eval()> parsed and executed correctly
 (although the operations you invoked may have failed in the normal
 fashion).
 
-Warning messages are not collected in this variable. You can, however,
+Warning messages are not collected in this variable.  You can, however,
 set up a routine to process warnings by setting C<$SIG{__WARN__}> as
 described in L</%SIG>.
 
@@ -2019,11 +1781,339 @@
 
 =back
 
+=head2 Variables related to the interpreter state
+
+These variables provide information about the current interpreter state.
+
+=over 8
+
+=item $COMPILING
+
+=item $^C
+X<$^C> X<$COMPILING>
+
+The current value of the flag associated with the B<-c> switch.
+Mainly of use with B<-MO=...> to allow code to alter its behavior
+when being compiled, such as for example to C<AUTOLOAD> at compile
+time rather than normal, deferred loading.  Setting
+C<$^C = 1> is similar to calling C<B::minus_c>.
+
+This variable was added in Perl v5.6.0.
+
+=item $DEBUGGING
+
+=item $^D
+X<$^D> X<$DEBUGGING>
+
+The current value of the debugging flags.  May be read or set.  Like its
+command-line equivalent, you can use numeric or symbolic values, eg
+C<$^D = 10> or C<$^D = "st">.
+
+Mnemonic: value of B<-D> switch.
+
+=item ${^ENCODING}
+X<${^ENCODING}>
+
+The I<object reference> to the C<Encode> object that is used to convert
+the source code to Unicode.  Thanks to this variable your Perl script
+does not have to be written in UTF-8.  Default is I<undef>.  The direct
+manipulation of this variable is highly discouraged.
+
+This variable was added in Perl 5.8.2.
+
+=item ${^GLOBAL_PHASE}
+X<${^GLOBAL_PHASE}>
+
+The current phase of the perl interpreter.
+
+Possible values are:
+
+=over 8
+
+=item CONSTRUCT
+
+The C<PerlInterpreter*> is being constructed via C<perl_construct>.  This
+value is mostly there for completeness and for use via the
+underlying C variable C<PL_phase>.  It's not really possible for Perl
+code to be executed unless construction of the interpreter is
+finished.
+
+=item START
+
+This is the global compile-time.  That includes, basically, every
+C<BEGIN> block executed directly or indirectly from during the
+compile-time of the top-level program.
+
+This phase is not called "BEGIN" to avoid confusion with
+C<BEGIN>-blocks, as those are executed during compile-time of any
+compilation unit, not just the top-level program.  A new, localised
+compile-time entered at run-time, for example by constructs as
+C<eval "use SomeModule"> are not global interpreter phases, and
+therefore aren't reflected by C<${^GLOBAL_PHASE}>.
+
+=item CHECK
+
+Execution of any C<CHECK> blocks.
+
+=item INIT
+
+Similar to "CHECK", but for C<INIT>-blocks, not C<CHECK> blocks.
+
+=item RUN
+
+The main run-time, i.e. the execution of C<PL_main_root>.
+
+=item END
+
+Execution of any C<END> blocks.
+
+=item DESTRUCT
+
+Global destruction.
+
+=back
+
+Also note that there's no value for UNITCHECK-blocks.  That's because
+those are run for each compilation unit individually, and therefore is
+not a global interpreter phase.
+
+Not every program has to go through each of the possible phases, but
+transition from one phase to another can only happen in the order
+described in the above list.
+
+An example of all of the phases Perl code can see:
+
+    BEGIN { print "compile-time: ${^GLOBAL_PHASE}\n" }
+
+    INIT  { print "init-time: ${^GLOBAL_PHASE}\n" }
+
+    CHECK { print "check-time: ${^GLOBAL_PHASE}\n" }
+
+    {
+        package Print::Phase;
+
+        sub new {
+            my ($class, $time) = @_;
+            return bless \$time, $class;
+        }
+
+        sub DESTROY {
+            my $self = shift;
+            print "$$self: ${^GLOBAL_PHASE}\n";
+        }
+    }
+
+    print "run-time: ${^GLOBAL_PHASE}\n";
+
+    my $runtime = Print::Phase->new(
+        "lexical variables are garbage collected before END"
+    );
+
+    END   { print "end-time: ${^GLOBAL_PHASE}\n" }
+
+    our $destruct = Print::Phase->new(
+        "package variables are garbage collected after END"
+    );
+
+This will print out
+
+    compile-time: START
+    check-time: CHECK
+    init-time: INIT
+    run-time: RUN
+    lexical variables are garbage collected before END: RUN
+    end-time: END
+    package variables are garbage collected after END: DESTRUCT
+
+This variable was added in Perl 5.14.0.
+
+=item $^H
+X<$^H>
+
+WARNING: This variable is strictly for
+internal use only.  Its availability,
+behavior, and contents are subject to change without notice.
+
+This variable contains compile-time hints for the Perl interpreter.  At the
+end of compilation of a BLOCK the value of this variable is restored to the
+value when the interpreter started to compile the BLOCK.
+
+When perl begins to parse any block construct that provides a lexical scope
+(e.g., eval body, required file, subroutine body, loop body, or conditional
+block), the existing value of C<$^H> is saved, but its value is left unchanged.
+When the compilation of the block is completed, it regains the saved value.
+Between the points where its value is saved and restored, code that
+executes within BEGIN blocks is free to change the value of C<$^H>.
+
+This behavior provides the semantic of lexical scoping, and is used in,
+for instance, the C<use strict> pragma.
+
+The contents should be an integer; different bits of it are used for
+different pragmatic flags.  Here's an example:
+
+    sub add_100 { $^H |= 0x100 }
+
+    sub foo {
+	BEGIN { add_100() }
+	bar->baz($boon);
+    }
+
+Consider what happens during execution of the BEGIN block.  At this point
+the BEGIN block has already been compiled, but the body of C<foo()> is still
+being compiled.  The new value of C<$^H>
+will therefore be visible only while
+the body of C<foo()> is being compiled.
+
+Substitution of C<BEGIN { add_100() }> block with:
+
+    BEGIN { require strict; strict->import('vars') }
+
+demonstrates how C<use strict 'vars'> is implemented.  Here's a conditional
+version of the same lexical pragma:
+
+    BEGIN {
+	require strict; strict->import('vars') if $condition
+    }
+
+This variable was added in Perl 5.003.
+
+=item %^H
+X<%^H>
+
+The C<%^H> hash provides the same scoping semantic as C<$^H>.  This makes
+it useful for implementation of lexically scoped pragmas.  See
+L<perlpragma>.
+
+When putting items into C<%^H>, in order to avoid conflicting with other
+users of the hash there is a convention regarding which keys to use.
+A module should use only keys that begin with the module's name (the
+name of its main package) and a "/" character.  For example, a module
+C<Foo::Bar> should use keys such as C<Foo::Bar/baz>.
+
+This variable was added in Perl v5.6.0.
+
+=item ${^OPEN}
+X<${^OPEN}>
+
+An internal variable used by PerlIO.  A string in two parts, separated
+by a C<\0> byte, the first part describes the input layers, the second
+part describes the output layers.
+
+This variable was added in Perl v5.8.0.
+
+=item $PERLDB
+
+=item $^P
+X<$^P> X<$PERLDB>
+
+The internal variable for debugging support.  The meanings of the
+various bits are subject to change, but currently indicate:
+
+=over 6
+
+=item 0x01
+
+Debug subroutine enter/exit.
+
+=item 0x02
+
+Line-by-line debugging.  Causes C<DB::DB()> subroutine to be called for
+each statement executed.  Also causes saving source code lines (like
+0x400).
+
+=item 0x04
+
+Switch off optimizations.
+
+=item 0x08
+
+Preserve more data for future interactive inspections.
+
+=item 0x10
+
+Keep info about source lines on which a subroutine is defined.
+
+=item 0x20
+
+Start with single-step on.
+
+=item 0x40
+
+Use subroutine address instead of name when reporting.
+
+=item 0x80
+
+Report C<goto &subroutine> as well.
+
+=item 0x100
+
+Provide informative "file" names for evals based on the place they were compiled.
+
+=item 0x200
+
+Provide informative names to anonymous subroutines based on the place they
+were compiled.
+
+=item 0x400
+
+Save source code lines into C<@{"_<$filename"}>.
+
+=back
+
+Some bits may be relevant at compile-time only, some at
+run-time only.  This is a new mechanism and the details may change.
+See also L<perldebguts>.
+
+=item ${^TAINT}
+X<${^TAINT}>
+
+Reflects if taint mode is on or off.  1 for on (the program was run with
+B<-T>), 0 for off, -1 when only taint warnings are enabled (i.e. with
+B<-t> or B<-TU>).
+
+This variable is read-only.
+
+This variable was added in Perl v5.8.0.
+
+=item ${^UNICODE}
+X<${^UNICODE}>
+
+Reflects certain Unicode settings of Perl.  See L<perlrun>
+documentation for the C<-C> switch for more information about
+the possible values.
+
+This variable is set during Perl startup and is thereafter read-only.
+
+This variable was added in Perl v5.8.2.
+
+=item ${^UTF8CACHE}
+X<${^UTF8CACHE}>
+
+This variable controls the state of the internal UTF-8 offset caching code.
+1 for on (the default), 0 for off, -1 to debug the caching code by checking
+all its results against linear scans, and panicking on any discrepancy.
+
+This variable was added in Perl v5.8.9.  It is subject to change or
+removal without notice, but is currently used to avoid recalculating the
+boundaries of multi-byte UTF-8-encoded characters.
+
+=item ${^UTF8LOCALE}
+X<${^UTF8LOCALE}>
+
+This variable indicates whether a UTF-8 locale was detected by perl at
+startup.  This information is used by perl when it's in
+adjust-utf8ness-to-locale mode (as when run with the C<-CL> command-line
+switch); see L<perlrun> for more info on this.
+
+This variable was added in Perl v5.8.8.
+
+=back
+
 =head2 Deprecated and removed variables
 
 Deprecating a variable announces the intent of the perl maintainers to
-eventually remove the variable from the langauge. It may still be
-available despite its status. Using a deprecated variable triggers
+eventually remove the variable from the language.  It may still be
+available despite its status.  Using a deprecated variable triggers
 a warning.
 
 Once a variable is removed, its use triggers an error telling you
@@ -2038,29 +2128,29 @@
 =item $#
 X<$#> X<$OFMT>
 
-C<$#> was a variable that you could be use to format printed numbers.
-After a deprecation cycle, its magic was removed in Perl 5.10 and
+C<$#> was a variable that could be used to format printed numbers.
+After a deprecation cycle, its magic was removed in Perl v5.10.0 and
 using it now triggers a warning: C<$# is no longer supported>.
 
 This is not the sigil you use in front of an array name to get the
-last index, like C<$#array>. That's still how you get the last index
-of an array in Perl. The two have nothing to do with each other.
+last index, like C<$#array>.  That's still how you get the last index
+of an array in Perl.  The two have nothing to do with each other.
 
 Deprecated in Perl 5.
 
-Removed in Perl 5.10.
+Removed in Perl v5.10.0.
 
 =item $*
 X<$*>
 
 C<$*> was a variable that you could use to enable multiline matching.
-After a deprecation cycle, its magic was removed in Perl 5.10.
+After a deprecation cycle, its magic was removed in Perl v5.10.0.
 Using it now triggers a warning: C<$* is no longer supported>.
 You should use the C</s> and C</m> regexp modifiers instead.
 
 Deprecated in Perl 5.
 
-Removed in Perl 5.10.
+Removed in Perl v5.10.0.
 
 =item $ARRAY_BASE
 
@@ -2068,7 +2158,7 @@
 X<$[> X<$ARRAY_BASE>
 
 This variable stores the index of the first element in an array, and
-of the first character in a substring. The default is 0, but you could
+of the first character in a substring.  The default is 0, but you could
 theoretically set it to 1 to make Perl behave more like B<awk> (or Fortran)
 when subscripting and when evaluating the index() and substr() functions.
 
@@ -2077,14 +2167,21 @@
 (That's why you can only assign compile-time constants to it.)
 Its use is highly discouraged.
 
-Prior to Perl 5.10, assignment to C<$[> could be seen from outer lexical
+Prior to Perl v5.10.0, assignment to C<$[> could be seen from outer lexical
 scopes in the same file, unlike other compile-time directives (such as
-L<strict>). Using local() on it would bind its value strictly to a lexical
-block. Now it is always lexically scoped.
+L<strict>).  Using local() on it would bind its value strictly to a lexical
+block.  Now it is always lexically scoped.
 
+As of Perl v5.16.0, it is implemented by the L<arybase> module.  See
+L<arybase> for more details on its behaviour.
+
+Under C<use v5.16>, or C<no feature "array_base">, C<$[> no longer has any
+effect, and always contains 0.  Assigning 0 to it is permitted, but any
+other value will produce an error.
+
 Mnemonic: [ begins subscripts.
 
-Deprecated in Perl 5.12.
+Deprecated in Perl v5.12.0.
 
 =item $OLD_PERL_VERSION
 
@@ -2091,10 +2188,10 @@
 =item $]
 X<$]> X<$OLD_PERL_VERSION>
 
-See C<$^V> for a more modern representation of the Perl version that allows
+See L</$^V> for a more modern representation of the Perl version that allows
 accurate string comparisons.
 
-The version + patchlevel / 1000 of the Perl interpreter. This variable
+The version + patchlevel / 1000 of the Perl interpreter.  This variable
 can be used to determine whether the Perl interpreter executing a
 script is in the right range of versions:
 
@@ -2108,8 +2205,6 @@
 
 Mnemonic: Is this version of perl in the right bracket?
 
-Deprecated in Perl 5.6.
-
 =back
 
 =cut


Property changes on: vendor/perl/dist/pod/perlvar.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pod/perlvms.pod
===================================================================
--- vendor/perl/dist/pod/perlvms.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlvms.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -409,7 +409,7 @@
 This allows the programmer to look at the execution stack and variables to
 find out the cause of the exception.  As the debugger is being invoked as
 the Perl interpreter is about to do a fatal exit, continuing the execution
-in debug mode is usally not practical.
+in debug mode is usually not practical.
 
 Starting Perl in the VMS debugger may change the program execution
 profile in a way that such problems are not reproduced.
@@ -704,7 +704,6 @@
 See L</"$?"> for a description of the encoding of the Unix value to
 produce a native VMS status containing it.
 
-
 =item dump
 
 Rather than causing Perl to abort and dump core, the C<dump>


Property changes on: vendor/perl/dist/pod/perlvms.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/perlxs.pod
===================================================================
--- vendor/perl/dist/pod/perlxs.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlxs.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlxs.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/perlxstut.pod
===================================================================
--- vendor/perl/dist/pod/perlxstut.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/perlxstut.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/perlxstut.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/pod/pod2html.PL
===================================================================
--- vendor/perl/dist/pod/pod2html.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/pod2html.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/pod2html.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/pod2latex.PL
===================================================================
--- vendor/perl/dist/pod/pod2latex.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/pod2latex.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/pod2latex.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/pod2man.PL
===================================================================
--- vendor/perl/dist/pod/pod2man.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/pod2man.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/pod2man.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/pod2text.PL
===================================================================
--- vendor/perl/dist/pod/pod2text.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/pod2text.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/pod2text.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/pod2usage.PL
===================================================================
--- vendor/perl/dist/pod/pod2usage.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/pod2usage.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/pod2usage.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/podchecker.PL
===================================================================
--- vendor/perl/dist/pod/podchecker.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/podchecker.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/podchecker.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/podselect.PL
===================================================================
--- vendor/perl/dist/pod/podselect.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/podselect.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/podselect.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/pod/roffitall
===================================================================
--- vendor/perl/dist/pod/roffitall	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/roffitall	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/roffitall
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pod/rofftoc
===================================================================
--- vendor/perl/dist/pod/rofftoc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/rofftoc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,3 @@
-# feed this into perl
-	eval 'exec perl -S $0 ${1+"$@"}'
-		if $running_under_some_shell;
-
 # Usage: rofftoc PerlTOC.xxx.raw
 #
 # Post-processes roffitall output. Called from roffitall to produce


Property changes on: vendor/perl/dist/pod/rofftoc
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/splitman
===================================================================
--- vendor/perl/dist/pod/splitman	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/splitman	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/splitman
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/pod/splitpod
===================================================================
--- vendor/perl/dist/pod/splitpod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod/splitpod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/pod/splitpod
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Deleted: vendor/perl/dist/pod.lst
===================================================================
--- vendor/perl/dist/pod.lst	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pod.lst	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,257 +0,0 @@
-# h	- Header
-# o	- Omit from toc
-# r	- top level READMEs to be copied/symlinked
-# g	- other autogenerated pods
-# a	- for auxiliary documentation
-# number - indent by
-# D	- this version's perldelta
-# d	- copied to this name
-
-h Overview
-
-  perl			Perl overview (this section)
-  perlintro		Perl introduction for beginners
-go perltoc		Perl documentation table of contents
-
-h Tutorials
-
-  perlreftut		Perl references short introduction
-  perldsc		Perl data structures intro
-  perllol		Perl data structures: arrays of arrays
-
-  perlrequick		Perl regular expressions quick start
-  perlretut		Perl regular expressions tutorial
-
-  perlboot		Perl OO tutorial for beginners
-  perltoot		Perl OO tutorial, part 1
-  perltooc		Perl OO tutorial, part 2
-  perlbot		Perl OO tricks and examples
-
-  perlperf		Perl Performance and Optimization Techniques
-
-  perlstyle		Perl style guide
-
-  perlcheat		Perl cheat sheet
-  perltrap		Perl traps for the unwary
-  perldebtut		Perl debugging tutorial
-
-  perlfaq		Perl frequently asked questions
-2 perlfaq1		General Questions About Perl
-2 perlfaq2		Obtaining and Learning about Perl
-2 perlfaq3		Programming Tools
-2 perlfaq4		Data Manipulation
-2 perlfaq5		Files and Formats
-2 perlfaq6		Regexes
-2 perlfaq7		Perl Language Issues
-2 perlfaq8		System Interaction
-2 perlfaq9		Networking
-
-h Reference Manual
-
-  perlsyn		Perl syntax
-  perldata		Perl data structures
-  perlop		Perl operators and precedence
-  perlsub		Perl subroutines
-  perlfunc		Perl built-in functions
-2 perlopentut		Perl open() tutorial
-2 perlpacktut		Perl pack() and unpack() tutorial
-  perlpod		Perl plain old documentation
-  perlpodspec		Perl plain old documentation format specification
-  perlpodstyle		Perl POD style guide
-  perlrun		Perl execution and options
-  perldiag		Perl diagnostic messages
-  perllexwarn		Perl warnings and their control
-  perldebug		Perl debugging
-  perlvar		Perl predefined variables
-  perlre		Perl regular expressions, the rest of the story
-  perlrebackslash	Perl regular expression backslash sequences
-  perlrecharclass	Perl regular expression character classes
-  perlreref		Perl regular expressions quick reference
-  perlref		Perl references, the rest of the story
-  perlform		Perl formats
-  perlobj		Perl objects
-  perltie		Perl objects hidden behind simple variables
-2 perldbmfilter		Perl DBM filters
-
-  perlipc		Perl interprocess communication
-  perlfork		Perl fork() information
-  perlnumber		Perl number semantics
-
-  perlthrtut		Perl threads tutorial
-
-  perlport		Perl portability guide
-  perllocale		Perl locale support
-  perluniintro		Perl Unicode introduction
-  perlunicode		Perl Unicode support
-  perlunifaq		Perl Unicode FAQ
-g perluniprops		Index of Unicode Version 6.0.0 properties in Perl
-  perlunitut		Perl Unicode tutorial
-  perlebcdic		Considerations for running Perl on EBCDIC platforms
-
-  perlsec		Perl security
-
-  perlmod		Perl modules: how they work
-g perlmodlib		Perl modules: how to write and use
-  perlmodstyle		Perl modules: how to write modules with style
-  perlmodinstall	Perl modules: how to install from CPAN
-  perlnewmod		Perl modules: preparing a new module for distribution
-  perlpragma		Perl modules: writing a user pragma
-
-  perlutil		utilities packaged with the Perl distribution
-
-  perlcompile		Perl compiler suite intro
-
-  perlfilter		Perl source filters
-
-  perlglossary		Perl Glossary
-
-h Internals and C Language Interface
-
-  perlembed		Perl ways to embed perl in your C or C++ application
-  perldebguts		Perl debugging guts and tips
-  perlxstut		Perl XS tutorial
-  perlxs		Perl XS application programming interface
-  perlclib		Internal replacements for standard C library functions
-  perlguts		Perl internal functions for those doing extensions
-  perlcall		Perl calling conventions from C
-  perlmroapi		Perl method resolution plugin interface
-  perlreapi		Perl regular expression plugin interface
-  perlreguts		Perl regular expression engine internals
-
-g perlapi		Perl API listing (autogenerated)
-g perlintern		Perl internal functions (autogenerated)
-  perliol		C API for Perl's implementation of IO in Layers
-  perlapio		Perl internal IO abstraction interface
-
-  perlhack		Perl hackers guide
-  perlsource		Guide to the Perl source tree
-  perlinterp		Overview of the Perl intepreter source and how it works
-  perlhacktut		Walk through the creation of a simple C code patch
-  perlhacktips		Tips for Perl core C code hacking
-  perlpolicy		Perl development policies
-  perlgit		Using git with the Perl repository
-
-h Miscellaneous
-
-  perlbook		Perl book information
-  perlcommunity		Perl community information
-  perltodo		Perl things to do
-
-  perldoc		Look up Perl documentation in Pod format
-
-  perlhist		Perl history records
-D perldelta		Perl changes since previous version
-d perl5142delta		Perl changes in version 5.14.2
-  perl5141delta		Perl changes in version 5.14.1
-  perl5140delta		Perl changes in version 5.14.0
-  perl51311delta	Perl changes in version 5.13.11
-  perl51310delta	Perl changes in version 5.13.10
-  perl5139delta		Perl changes in version 5.13.9
-  perl5138delta		Perl changes in version 5.13.8
-  perl5137delta		Perl changes in version 5.13.7
-  perl5136delta		Perl changes in version 5.13.6
-  perl5135delta		Perl changes in version 5.13.5
-  perl5134delta		Perl changes in version 5.13.4
-  perl5133delta		Perl changes in version 5.13.3
-  perl5132delta		Perl changes in version 5.13.2
-  perl5131delta		Perl changes in version 5.13.1
-  perl5130delta		Perl changes in version 5.13.0
-  perl5123delta		Perl changes in version 5.12.3
-  perl5122delta		Perl changes in version 5.12.2
-  perl5121delta		Perl changes in version 5.12.1
-  perl5120delta		Perl changes in version 5.12.0
-  perl5115delta		Perl changes in version 5.11.5
-  perl5114delta		Perl changes in version 5.11.4
-  perl5113delta		Perl changes in version 5.11.3
-  perl5112delta		Perl changes in version 5.11.2
-  perl5111delta		Perl changes in version 5.11.1
-  perl5110delta		Perl changes in version 5.11.0
-  perl5101delta		Perl changes in version 5.10.1
-  perl5100delta		Perl changes in version 5.10.0
-  perl595delta		Perl changes in version 5.9.5
-  perl594delta		Perl changes in version 5.9.4
-  perl593delta		Perl changes in version 5.9.3
-  perl592delta		Perl changes in version 5.9.2
-  perl591delta		Perl changes in version 5.9.1
-  perl590delta		Perl changes in version 5.9.0
-  perl589delta		Perl changes in version 5.8.9
-  perl588delta		Perl changes in version 5.8.8
-  perl587delta		Perl changes in version 5.8.7
-  perl586delta		Perl changes in version 5.8.6
-  perl585delta		Perl changes in version 5.8.5
-  perl584delta		Perl changes in version 5.8.4
-  perl583delta		Perl changes in version 5.8.3
-  perl582delta		Perl changes in version 5.8.2
-  perl581delta		Perl changes in version 5.8.1
-  perl58delta		Perl changes in version 5.8.0
-  perl573delta		Perl changes in version 5.7.3
-  perl572delta		Perl changes in version 5.7.2
-  perl571delta		Perl changes in version 5.7.1
-  perl570delta		Perl changes in version 5.7.0
-  perl561delta		Perl changes in version 5.6.1
-  perl56delta		Perl changes in version 5.6
-  perl5005delta		Perl changes in version 5.005
-  perl5004delta		Perl changes in version 5.004
-
-  perlartistic		Perl Artistic License
-  perlgpl		GNU General Public License
-
-ho Language-Specific
-
-ro perlcn		Perl for Simplified Chinese (in EUC-CN)
-ro perljp		Perl for Japanese (in EUC-JP)
-ro perlko		Perl for Korean (in EUC-KR)
-ro perltw		Perl for Traditional Chinese (in Big5)
-
-h Platform-Specific
-
-r perlaix		Perl notes for AIX
-r perlamiga		Perl notes for AmigaOS
-r perlbeos		Perl notes for BeOS
-r perlbs2000		Perl notes for POSIX-BC BS2000
-r perlce		Perl notes for WinCE
-r perlcygwin		Perl notes for Cygwin
-r perldgux		Perl notes for DG/UX
-r perldos		Perl notes for DOS
-r perlepoc		Perl notes for EPOC
-r perlfreebsd		Perl notes for FreeBSD
-r perlhaiku		Perl notes for Haiku
-r perlhpux		Perl notes for HP-UX
-r perlhurd		Perl notes for Hurd
-r perlirix		Perl notes for Irix
-r perllinux		Perl notes for Linux
-r perlmacos		Perl notes for Mac OS (Classic)
-r perlmacosx		Perl notes for Mac OS X
-r perlmpeix		Perl notes for MPE/iX
-r perlnetware		Perl notes for NetWare
-r perlopenbsd		Perl notes for OpenBSD
-r perlos2		Perl notes for OS/2
-r perlos390		Perl notes for OS/390
-r perlos400		Perl notes for OS/400
-r perlplan9		Perl notes for Plan 9
-r perlqnx		Perl notes for QNX
-r perlriscos		Perl notes for RISC OS
-r perlsolaris		Perl notes for Solaris
-r perlsymbian		Perl notes for Symbian
-r perltru64		Perl notes for Tru64
-r perluts		Perl notes for UTS
-r perlvmesa		Perl notes for VM/ESA
-  perlvms		Perl notes for VMS
-r perlvos		Perl notes for Stratus VOS
-r perlwin32		Perl notes for Windows
-
-aoh Auxiliary Documentation
-
-ao a2p
-ao c2ph
-ao dprofpp
-ao h2ph
-ao h2xs
-ao perlbug
-ao perldoc
-ao pl2pm
-ao pod2html
-ao pod2man
-ao s2p
-ao splain
-ao xsubpp

Modified: vendor/perl/dist/pp.c
===================================================================
--- vendor/perl/dist/pp.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -29,6 +29,7 @@
 #include "keywords.h"
 
 #include "reentr.h"
+#include "regcharclass.h"
 
 /* XXX I can't imagine anyone who doesn't have this actually _needs_
    it, since pid_t is an integral type.
@@ -71,14 +72,19 @@
     if (PL_op->op_flags & OPf_REF) {
 	PUSHs(TARG);
 	RETURN;
-    } else if (LVRET) {
+    } else if (PL_op->op_private & OPpMAYBE_LVSUB) {
+       const I32 flags = is_lvalue_sub();
+       if (flags && !(flags & OPpENTERSUB_INARGS)) {
 	if (GIMME == G_SCALAR)
+	    /* diag_listed_as: Can't return %s to lvalue scalar context */
 	    Perl_croak(aTHX_ "Can't return array to lvalue scalar context");
 	PUSHs(TARG);
 	RETURN;
+       }
     }
     gimme = GIMME_V;
     if (gimme == G_ARRAY) {
+        /* XXX see also S_pushav in pp_hot.c */
 	const I32 maxarg = AvFILL(MUTABLE_AV(TARG)) + 1;
 	EXTEND(SP, maxarg);
 	if (SvMAGICAL(TARG)) {
@@ -114,15 +120,24 @@
 	    SAVECLEARSV(PAD_SVl(PL_op->op_targ));
     if (PL_op->op_flags & OPf_REF)
 	RETURN;
-    else if (LVRET) {
+    else if (PL_op->op_private & OPpMAYBE_LVSUB) {
+      const I32 flags = is_lvalue_sub();
+      if (flags && !(flags & OPpENTERSUB_INARGS)) {
 	if (GIMME == G_SCALAR)
+	    /* diag_listed_as: Can't return %s to lvalue scalar context */
 	    Perl_croak(aTHX_ "Can't return hash to lvalue scalar context");
 	RETURN;
+      }
     }
     gimme = GIMME_V;
     if (gimme == G_ARRAY) {
 	RETURNOP(Perl_do_kv(aTHX));
     }
+    else if ((PL_op->op_private & OPpTRUEBOOL
+	  || (  PL_op->op_private & OPpMAYBE_TRUEBOOL
+	     && block_gimme() == G_VOID  ))
+	  && (!SvRMAGICAL(TARG) || !mg_find(TARG, PERL_MAGIC_tied)))
+	SETs(HvUSEDKEYS(TARG) ? &PL_sv_yes : sv_2mortal(newSViv(0)));
     else if (gimme == G_SCALAR) {
 	SV* const sv = Perl_hv_scalar(aTHX_ MUTABLE_HV(TARG));
 	SETs(sv);
@@ -130,53 +145,102 @@
     RETURN;
 }
 
+PP(pp_padcv)
+{
+    dVAR; dSP; dTARGET;
+    assert(SvTYPE(TARG) == SVt_PVCV);
+    XPUSHs(TARG);
+    RETURN;
+}
+
+PP(pp_introcv)
+{
+    dVAR; dTARGET;
+    SvPADSTALE_off(TARG);
+    return NORMAL;
+}
+
+PP(pp_clonecv)
+{
+    dVAR; dTARGET;
+    MAGIC * const mg =
+	mg_find(PadlistNAMESARRAY(CvPADLIST(find_runcv(NULL)))[ARGTARG],
+		PERL_MAGIC_proto);
+    assert(SvTYPE(TARG) == SVt_PVCV);
+    assert(mg);
+    assert(mg->mg_obj);
+    if (CvISXSUB(mg->mg_obj)) { /* constant */
+	/* XXX Should we clone it here? */
+	/* If this changes to use SAVECLEARSV, we can move the SAVECLEARSV
+	   to introcv and remove the SvPADSTALE_off. */
+	SAVEPADSVANDMORTALIZE(ARGTARG);
+	PAD_SVl(ARGTARG) = SvREFCNT_inc_simple_NN(mg->mg_obj);
+    }
+    else {
+	if (CvROOT(mg->mg_obj)) {
+	    assert(CvCLONE(mg->mg_obj));
+	    assert(!CvCLONED(mg->mg_obj));
+	}
+	cv_clone_into((CV *)mg->mg_obj,(CV *)TARG);
+	SAVECLEARSV(PAD_SVl(ARGTARG));
+    }
+    return NORMAL;
+}
+
 /* Translations. */
 
 static const char S_no_symref_sv[] =
     "Can't use string (\"%" SVf32 "\"%s) as %s ref while \"strict refs\" in use";
 
-PP(pp_rv2gv)
+/* In some cases this function inspects PL_op.  If this function is called
+   for new op types, more bool parameters may need to be added in place of
+   the checks.
+
+   When noinit is true, the absence of a gv will cause a retval of undef.
+   This is unrelated to the cv-to-gv assignment case.
+*/
+
+static SV *
+S_rv2gv(pTHX_ SV *sv, const bool vivify_sv, const bool strict,
+              const bool noinit)
 {
-    dVAR; dSP; dTOPss;
-
+    dVAR;
     if (!isGV(sv) || SvFAKE(sv)) SvGETMAGIC(sv);
     if (SvROK(sv)) {
-      wasref:
 	if (SvAMAGIC(sv)) {
 	    sv = amagic_deref_call(sv, to_gv_amg);
-	    SPAGAIN;
 	}
+      wasref:
 	sv = SvRV(sv);
 	if (SvTYPE(sv) == SVt_PVIO) {
 	    GV * const gv = MUTABLE_GV(sv_newmortal());
-	    gv_init(gv, 0, "", 0, 0);
+	    gv_init(gv, 0, "__ANONIO__", 10, 0);
 	    GvIOp(gv) = MUTABLE_IO(sv);
 	    SvREFCNT_inc_void_NN(sv);
 	    sv = MUTABLE_SV(gv);
 	}
 	else if (!isGV_with_GP(sv))
-	    DIE(aTHX_ "Not a GLOB reference");
+	    return (SV *)Perl_die(aTHX_ "Not a GLOB reference");
     }
     else {
 	if (!isGV_with_GP(sv)) {
-	    if (!SvOK(sv) && sv != &PL_sv_undef) {
+	    if (!SvOK(sv)) {
 		/* If this is a 'my' scalar and flag is set then vivify
 		 * NI-S 1999/05/07
 		 */
-		if (SvREADONLY(sv))
-		    Perl_croak_no_modify(aTHX);
-		if (PL_op->op_private & OPpDEREF) {
+		if (vivify_sv && sv != &PL_sv_undef) {
 		    GV *gv;
+		    if (SvREADONLY(sv))
+			Perl_croak_no_modify();
 		    if (cUNOP->op_targ) {
-			STRLEN len;
 			SV * const namesv = PAD_SV(cUNOP->op_targ);
-			const char * const name = SvPV(namesv, len);
 			gv = MUTABLE_GV(newSV(0));
-			gv_init(gv, CopSTASH(PL_curcop), name, len, 0);
+			gv_init_sv(gv, CopSTASH(PL_curcop), namesv, 0);
 		    }
 		    else {
 			const char * const name = CopSTASHPV(PL_curcop);
-			gv = newGVgen(name);
+			gv = newGVgen_flags(name,
+                                HvNAMEUTF8(CopSTASH(PL_curcop)) ? SVf_UTF8 : 0 );
 		    }
 		    prepare_SV_for_RV(sv);
 		    SvRV_set(sv, MUTABLE_SV(gv));
@@ -184,47 +248,60 @@
 		    SvSETMAGIC(sv);
 		    goto wasref;
 		}
-		if (PL_op->op_flags & OPf_REF ||
-		    PL_op->op_private & HINT_STRICT_REFS)
-		    DIE(aTHX_ PL_no_usym, "a symbol");
+		if (PL_op->op_flags & OPf_REF || strict)
+		    return (SV *)Perl_die(aTHX_ PL_no_usym, "a symbol");
 		if (ckWARN(WARN_UNINITIALIZED))
 		    report_uninit(sv);
-		RETSETUNDEF;
+		return &PL_sv_undef;
 	    }
-	    if ((PL_op->op_flags & OPf_SPECIAL) &&
-		!(PL_op->op_flags & OPf_MOD))
+	    if (noinit)
 	    {
-		SV * const temp = MUTABLE_SV(gv_fetchsv(sv, 0, SVt_PVGV));
-		if (!temp
-		    && (!is_gv_magical_sv(sv,0)
-			|| !(sv = MUTABLE_SV(gv_fetchsv(sv, GV_ADD,
-							SVt_PVGV))))) {
-		    RETSETUNDEF;
-		}
-		sv = temp;
+		if (!(sv = MUTABLE_SV(gv_fetchsv_nomg(
+		           sv, GV_ADDMG, SVt_PVGV
+		   ))))
+		    return &PL_sv_undef;
 	    }
 	    else {
-		if (PL_op->op_private & HINT_STRICT_REFS)
-		    DIE(aTHX_ S_no_symref_sv, sv, (SvPOK(sv) && SvCUR(sv)>32 ? "..." : ""), "a symbol");
+		if (strict)
+		    return
+		     (SV *)Perl_die(aTHX_
+		            S_no_symref_sv,
+		            sv,
+		            (SvPOKp(sv) && SvCUR(sv)>32 ? "..." : ""),
+		            "a symbol"
+		           );
 		if ((PL_op->op_private & (OPpLVAL_INTRO|OPpDONT_INIT_GV))
 		    == OPpDONT_INIT_GV) {
 		    /* We are the target of a coderef assignment.  Return
 		       the scalar unchanged, and let pp_sasssign deal with
 		       things.  */
-		    RETURN;
+		    return sv;
 		}
-		sv = MUTABLE_SV(gv_fetchsv(sv, GV_ADD, SVt_PVGV));
+		sv = MUTABLE_SV(gv_fetchsv_nomg(sv, GV_ADD, SVt_PVGV));
 	    }
 	    /* FAKE globs in the symbol table cause weird bugs (#77810) */
-	    if (sv) SvFAKE_off(sv);
+	    SvFAKE_off(sv);
 	}
     }
-    if (sv && SvFAKE(sv)) {
+    if (SvFAKE(sv) && !(PL_op->op_private & OPpALLOW_FAKE)) {
 	SV *newsv = sv_newmortal();
 	sv_setsv_flags(newsv, sv, 0);
 	SvFAKE_off(newsv);
 	sv = newsv;
     }
+    return sv;
+}
+
+PP(pp_rv2gv)
+{
+    dVAR; dSP; dTOPss;
+
+    sv = S_rv2gv(aTHX_
+          sv, PL_op->op_private & OPpDEREF,
+          PL_op->op_private & HINT_STRICT_REFS,
+          ((PL_op->op_flags & OPf_SPECIAL) && !(PL_op->op_flags & OPf_MOD))
+             || PL_op->op_type == OP_READLINE
+         );
     if (PL_op->op_private & OPpLVAL_INTRO)
 	save_gp(MUTABLE_GV(sv), !(PL_op->op_flags & OPf_SPECIAL));
     SETs(sv);
@@ -243,14 +320,14 @@
 
     if (PL_op->op_private & HINT_STRICT_REFS) {
 	if (SvOK(sv))
-	    Perl_die(aTHX_ S_no_symref_sv, sv, (SvPOK(sv) && SvCUR(sv)>32 ? "..." : ""), what);
+	    Perl_die(aTHX_ S_no_symref_sv, sv,
+		     (SvPOKp(sv) && SvCUR(sv)>32 ? "..." : ""), what);
 	else
 	    Perl_die(aTHX_ PL_no_usym, what);
     }
     if (!SvOK(sv)) {
 	if (
-	  PL_op->op_flags & OPf_REF &&
-	  PL_op->op_next->op_type != OP_BOOLKEYS
+	  PL_op->op_flags & OPf_REF
 	)
 	    Perl_die(aTHX_ PL_no_usym, what);
 	if (ckWARN(WARN_UNINITIALIZED))
@@ -265,10 +342,7 @@
     if ((PL_op->op_flags & OPf_SPECIAL) &&
 	!(PL_op->op_flags & OPf_MOD))
 	{
-	    gv = gv_fetchsv(sv, 0, type);
-	    if (!gv
-		&& (!is_gv_magical_sv(sv,0)
-		    || !(gv = gv_fetchsv(sv, GV_ADD, type))))
+	    if (!(gv = gv_fetchsv_nomg(sv, GV_ADDMG, type)))
 		{
 		    **spp = &PL_sv_undef;
 		    return NULL;
@@ -275,7 +349,7 @@
 		}
 	}
     else {
-	gv = gv_fetchsv(sv, GV_ADD, type);
+	gv = gv_fetchsv_nomg(sv, GV_ADD, type);
     }
     return gv;
 }
@@ -285,12 +359,10 @@
     dVAR; dSP; dTOPss;
     GV *gv = NULL;
 
-    if (!(PL_op->op_private & OPpDEREFed))
-	SvGETMAGIC(sv);
+    SvGETMAGIC(sv);
     if (SvROK(sv)) {
 	if (SvAMAGIC(sv)) {
 	    sv = amagic_deref_call(sv, to_sv_amg);
-	    SPAGAIN;
 	}
 
 	sv = SvRV(sv);
@@ -324,7 +396,7 @@
 		Perl_croak(aTHX_ "%s", PL_no_localize_ref);
 	}
 	else if (PL_op->op_private & OPpDEREF)
-	    vivify_ref(sv, PL_op->op_private & OPpDEREF);
+	    sv = vivify_ref(sv, PL_op->op_private & OPpDEREF);
     }
     SETs(sv);
     RETURN;
@@ -343,9 +415,7 @@
 	}
 	SETs(*sv);
     } else {
-	SETs(sv_2mortal(newSViv(
-	    AvFILL(MUTABLE_AV(av)) + CopARYBASE_get(PL_curcop)
-	)));
+	SETs(sv_2mortal(newSViv(AvFILL(MUTABLE_AV(av)))));
     }
     RETURN;
 }
@@ -355,7 +425,7 @@
     dVAR; dSP; dPOPss;
 
     if (PL_op->op_flags & OPf_MOD || LVRET) {
-	SV * const ret = sv_2mortal(newSV_type(SVt_PVLV));  /* Not TARG RT#67838 */
+	SV * const ret = sv_2mortal(newSV_type(SVt_PVLV));/* Not TARG RT#67838 */
 	sv_magic(ret, NULL, PERL_MAGIC_pos, NULL, 0);
 	LvTYPE(ret) = '.';
 	LvTARG(ret) = SvREFCNT_inc_simple(sv);
@@ -370,7 +440,7 @@
 		I32 i = mg->mg_len;
 		if (DO_UTF8(sv))
 		    sv_pos_b2u(sv, &i);
-		PUSHi(i + CopARYBASE_get(PL_curcop));
+		PUSHi(i);
 		RETURN;
 	    }
 	}
@@ -384,8 +454,9 @@
     GV *gv;
     HV *stash_unused;
     const I32 flags = (PL_op->op_flags & OPf_SPECIAL)
-	? 0
-	: ((PL_op->op_private & (OPpLVAL_INTRO|OPpMAY_RETURN_CONSTANT)) == OPpMAY_RETURN_CONSTANT)
+	? GV_ADDMG
+	: ((PL_op->op_private & (OPpLVAL_INTRO|OPpMAY_RETURN_CONSTANT))
+                                                    == OPpMAY_RETURN_CONSTANT)
 	    ? GV_ADD|GV_NOEXPAND
 	    : GV_ADD;
     /* We usually try to add a non-existent subroutine in case of AUTOLOAD. */
@@ -392,16 +463,7 @@
     /* (But not in defined().) */
 
     CV *cv = sv_2cv(TOPs, &stash_unused, &gv, flags);
-    if (cv) {
-	if (CvCLONE(cv))
-	    cv = MUTABLE_CV(sv_2mortal(MUTABLE_SV(cv_clone(cv))));
-	if ((PL_op->op_private & OPpLVAL_INTRO)) {
-	    if (gv && GvCV(gv) == cv && (gv = gv_autoload4(GvSTASH(gv), GvNAME(gv), GvNAMELEN(gv), FALSE)))
-		cv = GvCV(gv);
-	    if (!CvLVALUE(cv))
-		DIE(aTHX_ "Can't modify non-lvalue subroutine call");
-	}
-    }
+    if (cv) NOOP;
     else if ((flags == (GV_ADD|GV_NOEXPAND)) && gv && SvROK(gv)) {
 	cv = MUTABLE_CV(gv);
     }    
@@ -419,93 +481,29 @@
     GV *gv;
     SV *ret = &PL_sv_undef;
 
+    if (SvGMAGICAL(TOPs)) SETs(sv_mortalcopy(TOPs));
     if (SvPOK(TOPs) && SvCUR(TOPs) >= 7) {
 	const char * s = SvPVX_const(TOPs);
 	if (strnEQ(s, "CORE::", 6)) {
 	    const int code = keyword(s + 6, SvCUR(TOPs) - 6, 1);
-	    if (code < 0) {	/* Overridable. */
-#define MAX_ARGS_OP ((sizeof(I32) - 1) * 2)
-		int i = 0, n = 0, seen_question = 0, defgv = 0;
-		I32 oa;
-		char str[ MAX_ARGS_OP * 2 + 2 ]; /* One ';', one '\0' */
-
-		if (code == -KEY_chop || code == -KEY_chomp
-			|| code == -KEY_exec || code == -KEY_system)
-		    goto set;
-		if (code == -KEY_mkdir) {
-		    ret = newSVpvs_flags("_;$", SVs_TEMP);
-		    goto set;
-		}
-		if (code == -KEY_keys || code == -KEY_values || code == -KEY_each) {
-		    ret = newSVpvs_flags("+", SVs_TEMP);
-		    goto set;
-		}
-		if (code == -KEY_push || code == -KEY_unshift) {
-		    ret = newSVpvs_flags("+@", SVs_TEMP);
-		    goto set;
-		}
-		if (code == -KEY_pop || code == -KEY_shift) {
-		    ret = newSVpvs_flags(";+", SVs_TEMP);
-		    goto set;
-		}
-		if (code == -KEY_splice) {
-		    ret = newSVpvs_flags("+;$$@", SVs_TEMP);
-		    goto set;
-		}
-		if (code == -KEY_tied || code == -KEY_untie) {
-		    ret = newSVpvs_flags("\\[$@%*]", SVs_TEMP);
-		    goto set;
-		}
-		if (code == -KEY_tie) {
-		    ret = newSVpvs_flags("\\[$@%*]$@", SVs_TEMP);
-		    goto set;
-		}
-		if (code == -KEY_readpipe) {
-		    s = "CORE::backtick";
-		}
-		while (i < MAXO) {	/* The slow way. */
-		    if (strEQ(s + 6, PL_op_name[i])
-			|| strEQ(s + 6, PL_op_desc[i]))
-		    {
-			goto found;
-		    }
-		    i++;
-		}
-		goto nonesuch;		/* Should not happen... */
-	      found:
-		defgv = PL_opargs[i] & OA_DEFGV;
-		oa = PL_opargs[i] >> OASHIFT;
-		while (oa) {
-		    if (oa & OA_OPTIONAL && !seen_question && !defgv) {
-			seen_question = 1;
-			str[n++] = ';';
-		    }
-		    if ((oa & (OA_OPTIONAL - 1)) >= OA_AVREF
-			&& (oa & (OA_OPTIONAL - 1)) <= OA_SCALARREF
-			/* But globs are already references (kinda) */
-			&& (oa & (OA_OPTIONAL - 1)) != OA_FILEREF
-		    ) {
-			str[n++] = '\\';
-		    }
-		    str[n++] = ("?$@@%&*$")[oa & (OA_OPTIONAL - 1)];
-		    oa = oa >> 4;
-		}
-		if (defgv && str[n - 1] == '$')
-		    str[n - 1] = '_';
-		str[n++] = '\0';
-		ret = newSVpvn_flags(str, n - 1, SVs_TEMP);
+	    if (!code || code == -KEY_CORE)
+		DIE(aTHX_ "Can't find an opnumber for \"%"SVf"\"",
+		    SVfARG(newSVpvn_flags(
+			s+6, SvCUR(TOPs)-6,
+			(SvFLAGS(TOPs) & SVf_UTF8)|SVs_TEMP
+		    )));
+	    {
+		SV * const sv = core_prototype(NULL, s + 6, code, NULL);
+		if (sv) ret = sv;
 	    }
-	    else if (code)		/* Non-Overridable */
-		goto set;
-	    else {			/* None such */
-	      nonesuch:
-		DIE(aTHX_ "Can't find an opnumber for \"%s\"", s+6);
-	    }
+	    goto set;
 	}
     }
     cv = sv_2cv(TOPs, &stash, &gv, 0);
     if (cv && SvPOK(cv))
-	ret = newSVpvn_flags(SvPVX_const(cv), SvCUR(cv), SVs_TEMP);
+	ret = newSVpvn_flags(
+	    CvPROTO(cv), CvPROTOLEN(cv), SVs_TEMP | SvUTF8(cv)
+	);
   set:
     SETs(ret);
     RETURN;
@@ -585,7 +583,6 @@
 PP(pp_ref)
 {
     dVAR; dSP; dTARGET;
-    const char *pv;
     SV * const sv = POPs;
 
     if (sv)
@@ -594,8 +591,8 @@
     if (!sv || !SvROK(sv))
 	RETPUSHNO;
 
-    pv = sv_reftype(SvRV(sv),TRUE);
-    PUSHp(pv, strlen(pv));
+    (void)sv_ref(TARG,SvRV(sv),TRUE);
+    PUSHTARG;
     RETURN;
 }
 
@@ -605,6 +602,7 @@
     HV *stash;
 
     if (MAXARG == 1)
+      curstash:
 	stash = CopSTASH(PL_curcop);
     else {
 	SV * const ssv = POPs;
@@ -611,13 +609,14 @@
 	STRLEN len;
 	const char *ptr;
 
-	if (ssv && !SvGMAGICAL(ssv) && !SvAMAGIC(ssv) && SvROK(ssv))
+	if (!ssv) goto curstash;
+	if (!SvGMAGICAL(ssv) && !SvAMAGIC(ssv) && SvROK(ssv))
 	    Perl_croak(aTHX_ "Attempt to bless into a reference");
 	ptr = SvPV_const(ssv,len);
 	if (len == 0)
 	    Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
 			   "Explicit blessing to '' (assuming package main)");
-	stash = gv_stashpvn(ptr, len, GV_ADD);
+	stash = gv_stashpvn(ptr, len, GV_ADD|SvUTF8(ssv));
     }
 
     (void)sv_bless(TOPs, stash);
@@ -629,7 +628,8 @@
     dVAR; dSP;
 
     SV *sv = POPs;
-    const char * const elem = SvPV_nolen_const(sv);
+    STRLEN len;
+    const char * const elem = SvPV_const(sv, len);
     GV * const gv = MUTABLE_GV(POPs);
     SV * tmpRef = NULL;
 
@@ -639,41 +639,46 @@
 	const char * const second_letter = elem + 1;
 	switch (*elem) {
 	case 'A':
-	    if (strEQ(second_letter, "RRAY"))
+	    if (len == 5 && strEQ(second_letter, "RRAY"))
+	    {
 		tmpRef = MUTABLE_SV(GvAV(gv));
+		if (tmpRef && !AvREAL((const AV *)tmpRef)
+		 && AvREIFY((const AV *)tmpRef))
+		    av_reify(MUTABLE_AV(tmpRef));
+	    }
 	    break;
 	case 'C':
-	    if (strEQ(second_letter, "ODE"))
+	    if (len == 4 && strEQ(second_letter, "ODE"))
 		tmpRef = MUTABLE_SV(GvCVu(gv));
 	    break;
 	case 'F':
-	    if (strEQ(second_letter, "ILEHANDLE")) {
+	    if (len == 10 && strEQ(second_letter, "ILEHANDLE")) {
 		/* finally deprecated in 5.8.0 */
 		deprecate("*glob{FILEHANDLE}");
 		tmpRef = MUTABLE_SV(GvIOp(gv));
 	    }
 	    else
-		if (strEQ(second_letter, "ORMAT"))
+		if (len == 6 && strEQ(second_letter, "ORMAT"))
 		    tmpRef = MUTABLE_SV(GvFORM(gv));
 	    break;
 	case 'G':
-	    if (strEQ(second_letter, "LOB"))
+	    if (len == 4 && strEQ(second_letter, "LOB"))
 		tmpRef = MUTABLE_SV(gv);
 	    break;
 	case 'H':
-	    if (strEQ(second_letter, "ASH"))
+	    if (len == 4 && strEQ(second_letter, "ASH"))
 		tmpRef = MUTABLE_SV(GvHV(gv));
 	    break;
 	case 'I':
-	    if (*second_letter == 'O' && !elem[2])
+	    if (*second_letter == 'O' && !elem[2] && len == 2)
 		tmpRef = MUTABLE_SV(GvIOp(gv));
 	    break;
 	case 'N':
-	    if (strEQ(second_letter, "AME"))
+	    if (len == 4 && strEQ(second_letter, "AME"))
 		sv = newSVhek(GvNAME_HEK(gv));
 	    break;
 	case 'P':
-	    if (strEQ(second_letter, "ACKAGE")) {
+	    if (len == 7 && strEQ(second_letter, "ACKAGE")) {
 		const HV * const stash = GvSTASH(gv);
 		const HEK * const hek = stash ? HvNAME_HEK(stash) : NULL;
 		sv = hek ? newSVhek(hek) : newSVpvs("__ANON__");
@@ -680,7 +685,7 @@
 	    }
 	    break;
 	case 'S':
-	    if (strEQ(second_letter, "CALAR"))
+	    if (len == 6 && strEQ(second_letter, "CALAR"))
 		tmpRef = GvSVn(gv);
 	    break;
 	}
@@ -700,72 +705,16 @@
 PP(pp_study)
 {
     dVAR; dSP; dPOPss;
-    register unsigned char *s;
-    register I32 pos;
-    register I32 ch;
-    register I32 *sfirst;
-    register I32 *snext;
     STRLEN len;
 
-    if (sv == PL_lastscream) {
-	if (SvSCREAM(sv))
-	    RETPUSHYES;
-    }
-    s = (unsigned char*)(SvPV(sv, len));
-    pos = len;
-    if (pos <= 0 || !SvPOK(sv) || SvUTF8(sv)) {
-	/* No point in studying a zero length string, and not safe to study
-	   anything that doesn't appear to be a simple scalar (and hence might
-	   change between now and when the regexp engine runs without our set
-	   magic ever running) such as a reference to an object with overloaded
-	   stringification.  */
+    (void)SvPV(sv, len);
+    if (len == 0 || len > I32_MAX || !SvPOK(sv) || SvUTF8(sv) || SvVALID(sv)) {
+	/* Historically, study was skipped in these cases. */
 	RETPUSHNO;
     }
 
-    if (PL_lastscream) {
-	SvSCREAM_off(PL_lastscream);
-	SvREFCNT_dec(PL_lastscream);
-    }
-    PL_lastscream = SvREFCNT_inc_simple(sv);
-
-    s = (unsigned char*)(SvPV(sv, len));
-    pos = len;
-    if (pos <= 0)
-	RETPUSHNO;
-    if (pos > PL_maxscream) {
-	if (PL_maxscream < 0) {
-	    PL_maxscream = pos + 80;
-	    Newx(PL_screamfirst, 256, I32);
-	    Newx(PL_screamnext, PL_maxscream, I32);
-	}
-	else {
-	    PL_maxscream = pos + pos / 4;
-	    Renew(PL_screamnext, PL_maxscream, I32);
-	}
-    }
-
-    sfirst = PL_screamfirst;
-    snext = PL_screamnext;
-
-    if (!sfirst || !snext)
-	DIE(aTHX_ "do_study: out of memory");
-
-    for (ch = 256; ch; --ch)
-	*sfirst++ = -1;
-    sfirst -= 256;
-
-    while (--pos >= 0) {
-	register const I32 ch = s[pos];
-	if (sfirst[ch] >= 0)
-	    snext[pos] = sfirst[ch] - pos;
-	else
-	    snext[pos] = -pos;
-	sfirst[ch] = pos;
-    }
-
-    SvSCREAM_on(sv);
-    /* piggyback on m//g magic */
-    sv_magic(sv, NULL, PERL_MAGIC_regex_global, NULL, 0);
+    /* Make study a no-op. It's no longer useful and its existence
+       complicates matters elsewhere. */
     RETPUSHYES;
 }
 
@@ -782,13 +731,17 @@
 	sv = DEFSV;
 	EXTEND(SP,1);
     }
-    TARG = sv_newmortal();
     if(PL_op->op_type == OP_TRANSR) {
-	SV * const newsv = newSVsv(sv);
+	STRLEN len;
+	const char * const pv = SvPV(sv,len);
+	SV * const newsv = newSVpvn_flags(pv, len, SVs_TEMP|SvUTF8(sv));
 	do_trans(newsv);
-	mPUSHs(newsv);
+	PUSHs(newsv);
     }
-    else PUSHi(do_trans(sv));
+    else {
+	TARG = sv_newmortal();
+	PUSHi(do_trans(sv));
+    }
     RETURN;
 }
 
@@ -826,13 +779,11 @@
 	return;
     }
     else if (SvREADONLY(sv)) {
-        if (SvFAKE(sv)) {
-            /* SV is copy-on-write */
-	    sv_force_normal_flags(sv, 0);
-        }
-        if (SvREADONLY(sv))
-            Perl_croak_no_modify(aTHX);
+            Perl_croak_no_modify();
     }
+    else if (SvIsCOW(sv)) {
+	sv_force_normal_flags(sv, 0);
+    }
 
     if (PL_encoding) {
 	if (!SvUTF8(sv)) {
@@ -915,7 +866,7 @@
 		    SvIVX(retval) += rs_charlen;
 		}
 	    }
-	    s = SvPV_force_nolen(sv);
+	    s = SvPV_force_nomg_nolen(sv);
 	    SvCUR_set(sv, len);
 	    *SvEND(sv) = '\0';
 	    SvNIOK_off(sv);
@@ -1014,24 +965,35 @@
 	break;
     case SVt_PVCV:
 	if (cv_const_sv((const CV *)sv))
-	    Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "Constant subroutine %s undefined",
-			   CvANON((const CV *)sv) ? "(anonymous)"
-			   : GvENAME(CvGV((const CV *)sv)));
+	    Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
+                          "Constant subroutine %"SVf" undefined",
+			   SVfARG(CvANON((const CV *)sv)
+                             ? newSVpvs_flags("(anonymous)", SVs_TEMP)
+                             : sv_2mortal(newSVhek(
+                                CvNAMED(sv)
+                                 ? CvNAME_HEK((CV *)sv)
+                                 : GvENAME_HEK(CvGV((const CV *)sv))
+                               ))
+                           ));
 	/* FALLTHROUGH */
     case SVt_PVFM:
 	{
 	    /* let user-undef'd sub keep its identity */
 	    GV* const gv = CvGV((const CV *)sv);
+	    HEK * const hek = CvNAME_HEK((CV *)sv);
+	    if (hek) share_hek_hek(hek);
 	    cv_undef(MUTABLE_CV(sv));
-	    CvGV_set(MUTABLE_CV(sv), gv);
+	    if (gv) CvGV_set(MUTABLE_CV(sv), gv);
+	    else if (hek) {
+		SvANY((CV *)sv)->xcv_gv_u.xcv_hek = hek;
+		CvNAMED_on(sv);
+	    }
 	}
 	break;
     case SVt_PVGV:
-	if (SvFAKE(sv)) {
-	    SvSetMagicSV(sv, &PL_sv_undef);
-	    break;
-	}
-	else if (isGV_with_GP(sv)) {
+	assert(isGV_with_GP(sv));
+	assert(!SvFAKE(sv));
+	{
 	    GP *gp;
             HV *stash;
 
@@ -1069,7 +1031,6 @@
 
 	    break;
 	}
-	/* FALL THROUGH */
     default:
 	if (SvTYPE(sv) >= SVt_PV && SvPVX_const(sv) && SvLEN(sv)) {
 	    SvPV_free(sv);
@@ -1083,68 +1044,33 @@
     RETPUSHUNDEF;
 }
 
-PP(pp_predec)
-{
-    dVAR; dSP;
-    if (SvTYPE(TOPs) >= SVt_PVAV || isGV_with_GP(TOPs))
-	Perl_croak_no_modify(aTHX);
-    if (!SvREADONLY(TOPs) && SvIOK_notUV(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs)
-        && SvIVX(TOPs) != IV_MIN)
-    {
-	SvIV_set(TOPs, SvIVX(TOPs) - 1);
-	SvFLAGS(TOPs) &= ~(SVp_NOK|SVp_POK);
-    }
-    else
-	sv_dec(TOPs);
-    SvSETMAGIC(TOPs);
-    return NORMAL;
-}
-
 PP(pp_postinc)
 {
     dVAR; dSP; dTARGET;
-    if (SvTYPE(TOPs) >= SVt_PVAV || isGV_with_GP(TOPs))
-	Perl_croak_no_modify(aTHX);
+    const bool inc =
+	PL_op->op_type == OP_POSTINC || PL_op->op_type == OP_I_POSTINC;
+    if (SvTYPE(TOPs) >= SVt_PVAV || (isGV_with_GP(TOPs) && !SvFAKE(TOPs)))
+	Perl_croak_no_modify();
     if (SvROK(TOPs))
 	TARG = sv_newmortal();
     sv_setsv(TARG, TOPs);
-    if (!SvREADONLY(TOPs) && SvIOK_notUV(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs)
-        && SvIVX(TOPs) != IV_MAX)
+    if (!SvREADONLY(TOPs) && !SvGMAGICAL(TOPs) && SvIOK_notUV(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs)
+        && SvIVX(TOPs) != (inc ? IV_MAX : IV_MIN))
     {
-	SvIV_set(TOPs, SvIVX(TOPs) + 1);
+	SvIV_set(TOPs, SvIVX(TOPs) + (inc ? 1 : -1));
 	SvFLAGS(TOPs) &= ~(SVp_NOK|SVp_POK);
     }
-    else
+    else if (inc)
 	sv_inc_nomg(TOPs);
+    else sv_dec_nomg(TOPs);
     SvSETMAGIC(TOPs);
     /* special case for undef: see thread at 2003-03/msg00536.html in archive */
-    if (!SvOK(TARG))
+    if (inc && !SvOK(TARG))
 	sv_setiv(TARG, 0);
     SETs(TARG);
     return NORMAL;
 }
 
-PP(pp_postdec)
-{
-    dVAR; dSP; dTARGET;
-    if (SvTYPE(TOPs) >= SVt_PVAV || isGV_with_GP(TOPs))
-	Perl_croak_no_modify(aTHX);
-    if (SvROK(TOPs))
-	TARG = sv_newmortal();
-    sv_setsv(TARG, TOPs);
-    if (!SvREADONLY(TOPs) && SvIOK_notUV(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs)
-        && SvIVX(TOPs) != IV_MIN)
-    {
-	SvIV_set(TOPs, SvIVX(TOPs) - 1);
-	SvFLAGS(TOPs) &= ~(SVp_NOK|SVp_POK);
-    }
-    else
-	sv_dec_nomg(TOPs);
-    SvSETMAGIC(TOPs);
-    SETs(TARG);
-    return NORMAL;
-}
-
 /* Ordinary operators. */
 
 PP(pp_pow)
@@ -1160,11 +1086,7 @@
     /* For integer to integer power, we do the calculation by hand wherever
        we're sure it is safe; otherwise we call pow() and try to convert to
        integer afterwards. */
-    {
-	SvIV_please_nomg(svr);
-	if (SvIOK(svr)) {
-	    SvIV_please_nomg(svl);
-	    if (SvIOK(svl)) {
+    if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
 		UV power;
 		bool baseuok;
 		UV baseuv;
@@ -1222,8 +1144,8 @@
                     SvIV_please_nomg(svr);
                     RETURN;
 		} else {
-		    register unsigned int highbit = 8 * sizeof(UV);
-		    register unsigned int diff = 8 * sizeof(UV);
+		    unsigned int highbit = 8 * sizeof(UV);
+		    unsigned int diff = 8 * sizeof(UV);
 		    while (diff >>= 1) {
 			highbit -= diff;
 			if (baseuv >> highbit) {
@@ -1234,8 +1156,8 @@
 		    if (power * highbit <= 8 * sizeof(UV)) {
 			/* result will definitely fit in UV, so use UV math
 			   on same algorithm as above */
-			register UV result = 1;
-			register UV base = baseuv;
+			UV result = 1;
+			UV base = baseuv;
 			const bool odd_power = cBOOL(power & 1);
 			if (odd_power) {
 			    result *= base;
@@ -1262,8 +1184,6 @@
 			RETURN;
 		    } 
 		}
-	    }
-	}
     }
   float_it:
 #endif    
@@ -1327,14 +1247,12 @@
     svr = TOPs;
     svl = TOPm1s;
 #ifdef PERL_PRESERVE_IVUV
-    SvIV_please_nomg(svr);
-    if (SvIOK(svr)) {
+    if (SvIV_please_nomg(svr)) {
 	/* Unless the left argument is integer in range we are going to have to
 	   use NV maths. Hence only attempt to coerce the right argument if
 	   we know the left is integer.  */
 	/* Left operand is defined, so is it IV? */
-	SvIV_please_nomg(svl);
-	if (SvIOK(svl)) {
+	if (SvIV_please_nomg(svl)) {
 	    bool auvok = SvUOK(svl);
 	    bool buvok = SvUOK(svr);
 	    const UV topmask = (~ (UV)0) << (4 * sizeof (UV));
@@ -1472,10 +1390,7 @@
 #endif
 
 #ifdef PERL_TRY_UV_DIVIDE
-    SvIV_please_nomg(svr);
-    if (SvIOK(svr)) {
-        SvIV_please_nomg(svl);
-        if (SvIOK(svl)) {
+    if (SvIV_please_nomg(svr) && SvIV_please_nomg(svl)) {
             bool left_non_neg = SvUOK(svl);
             bool right_non_neg = SvUOK(svr);
             UV left;
@@ -1550,8 +1465,7 @@
                     RETURN;
                 } /* tried integer divide but it was not an integer result */
             } /* else (PERL_ABS(result) < 1.0) or (both UVs in range for NV) */
-        } /* left wasn't SvIOK */
-    } /* right wasn't SvIOK */
+    } /* one operand wasn't SvIOK */
 #endif /* PERL_TRY_UV_DIVIDE */
     {
 	NV right = SvNV_nomg(svr);
@@ -1583,8 +1497,7 @@
 	NV dleft  = 0.0;
 	SV * const svr = TOPs;
 	SV * const svl = TOPm1s;
-	SvIV_please_nomg(svr);
-        if (SvIOK(svr)) {
+        if (SvIV_please_nomg(svr)) {
             right_neg = !SvUOK(svr);
             if (!right_neg) {
                 right = SvUVX(svr);
@@ -1614,9 +1527,7 @@
         /* At this point use_double is only true if right is out of range for
            a UV.  In range NV has been rounded down to nearest UV and
            use_double false.  */
-        SvIV_please_nomg(svl);
-	if (!use_double && SvIOK(svl)) {
-            if (SvIOK(svl)) {
+	if (!use_double && SvIV_please_nomg(svl)) {
                 left_neg = !SvUOK(svl);
                 if (!left_neg) {
                     left = SvUVX(svl);
@@ -1629,7 +1540,6 @@
                         left = -aiv;
                     }
                 }
-            }
         }
 	else {
 	    dleft = SvNV_nomg(svl);
@@ -1702,7 +1612,7 @@
 PP(pp_repeat)
 {
     dVAR; dSP; dATARGET;
-    register IV count;
+    IV count;
     SV *sv;
 
     if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
@@ -1742,7 +1652,7 @@
 
     if (GIMME == G_ARRAY && PL_op->op_private & OPpREPEAT_DOLIST) {
 	dMARK;
-	static const char oom_list_extend[] = "Out of memory during list extend";
+	static const char* const oom_list_extend = "Out of memory during list extend";
 	const I32 items = SP - MARK;
 	const I32 max = items * count;
 
@@ -1749,7 +1659,7 @@
 	MEM_WRAP_CHECK_1(max, SV*, oom_list_extend);
 	/* Did the max computation overflow? */
 	if (items > 0 && max > 0 && (max < items || max < count))
-	   Perl_croak(aTHX_ oom_list_extend);
+	   Perl_croak(aTHX_ "%s", oom_list_extend);
 	MEXTEND(MARK, max);
 	if (count > 1) {
 	    while (SP > MARK) {
@@ -1794,7 +1704,7 @@
 	SV * const tmpstr = POPs;
 	STRLEN len;
 	bool isutf;
-	static const char oom_string_extend[] =
+	static const char* const oom_string_extend =
 	  "Out of memory during string extend";
 
 	if (TARG != tmpstr)
@@ -1807,7 +1717,7 @@
 	    else {
 		const STRLEN max = (UV)count * len;
 		if (len > MEM_SIZE_MAX / count)
-		     Perl_croak(aTHX_ oom_string_extend);
+		     Perl_croak(aTHX_ "%s", oom_string_extend);
 	        MEM_WRAP_CHECK_1(max, char, oom_string_extend);
 		SvGROW(TARG, max + 1);
 		repeatcpy(SvPVX(TARG) + len, SvPVX(TARG), len, count - 1);
@@ -1844,12 +1754,11 @@
 #ifdef PERL_PRESERVE_IVUV
     /* See comments in pp_add (in pp_hot.c) about Overflow, and how
        "bad things" happen if you rely on signed integers wrapping.  */
-    SvIV_please_nomg(svr);
-    if (SvIOK(svr)) {
+    if (SvIV_please_nomg(svr)) {
 	/* Unless the left argument is integer in range we are going to have to
 	   use NV maths. Hence only attempt to coerce the right argument if
 	   we know the left is integer.  */
-	register UV auv = 0;
+	UV auv = 0;
 	bool auvok = FALSE;
 	bool a_valid = 0;
 
@@ -1859,12 +1768,11 @@
 	    /* left operand is undef, treat as zero.  */
 	} else {
 	    /* Left operand is defined, so is it IV? */
-	    SvIV_please_nomg(svl);
-	    if (SvIOK(svl)) {
+	    if (SvIV_please_nomg(svl)) {
 		if ((auvok = SvUOK(svl)))
 		    auv = SvUVX(svl);
 		else {
-		    register const IV aiv = SvIVX(svl);
+		    const IV aiv = SvIVX(svl);
 		    if (aiv >= 0) {
 			auv = aiv;
 			auvok = 1;	/* Now acting as a sign flag.  */
@@ -1878,13 +1786,13 @@
 	if (a_valid) {
 	    bool result_good = 0;
 	    UV result;
-	    register UV buv;
+	    UV buv;
 	    bool buvok = SvUOK(svr);
 	
 	    if (buvok)
 		buv = SvUVX(svr);
 	    else {
-		register const IV biv = SvIVX(svr);
+		const IV biv = SvIVX(svr);
 		if (biv >= 0) {
 		    buv = biv;
 		    buvok = 1;
@@ -1998,518 +1906,174 @@
 PP(pp_lt)
 {
     dVAR; dSP;
+    SV *left, *right;
+
     tryAMAGICbin_MG(lt_amg, AMGf_set|AMGf_numeric);
-#ifdef PERL_PRESERVE_IVUV
-    SvIV_please_nomg(TOPs);
-    if (SvIOK(TOPs)) {
-	SvIV_please_nomg(TOPm1s);
-	if (SvIOK(TOPm1s)) {
-	    bool auvok = SvUOK(TOPm1s);
-	    bool buvok = SvUOK(TOPs);
-	
-	    if (!auvok && !buvok) { /* ## IV < IV ## */
-		const IV aiv = SvIVX(TOPm1s);
-		const IV biv = SvIVX(TOPs);
-		
-		SP--;
-		SETs(boolSV(aiv < biv));
-		RETURN;
-	    }
-	    if (auvok && buvok) { /* ## UV < UV ## */
-		const UV auv = SvUVX(TOPm1s);
-		const UV buv = SvUVX(TOPs);
-		
-		SP--;
-		SETs(boolSV(auv < buv));
-		RETURN;
-	    }
-	    if (auvok) { /* ## UV < IV ## */
-		UV auv;
-		const IV biv = SvIVX(TOPs);
-		SP--;
-		if (biv < 0) {
-		    /* As (a) is a UV, it's >=0, so it cannot be < */
-		    SETs(&PL_sv_no);
-		    RETURN;
-		}
-		auv = SvUVX(TOPs);
-		SETs(boolSV(auv < (UV)biv));
-		RETURN;
-	    }
-	    { /* ## IV < UV ## */
-		const IV aiv = SvIVX(TOPm1s);
-		UV buv;
-		
-		if (aiv < 0) {
-		    /* As (b) is a UV, it's >=0, so it must be < */
-		    SP--;
-		    SETs(&PL_sv_yes);
-		    RETURN;
-		}
-		buv = SvUVX(TOPs);
-		SP--;
-		SETs(boolSV((UV)aiv < buv));
-		RETURN;
-	    }
-	}
-    }
-#endif
-#ifndef NV_PRESERVES_UV
-#ifdef PERL_PRESERVE_IVUV
-    else
-#endif
-    if (SvROK(TOPs) && !SvAMAGIC(TOPs) && SvROK(TOPm1s) && !SvAMAGIC(TOPm1s)) {
-	SP--;
-	SETs(boolSV(SvRV(TOPs) < SvRV(TOPp1s)));
-	RETURN;
-    }
-#endif
-    {
-#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
-      dPOPTOPnnrl_nomg;
-      if (Perl_isnan(left) || Perl_isnan(right))
-	  RETSETNO;
-      SETs(boolSV(left < right));
-#else
-      dPOPnv_nomg;
-      SETs(boolSV(SvNV_nomg(TOPs) < value));
-#endif
-      RETURN;
-    }
+    right = POPs;
+    left  = TOPs;
+    SETs(boolSV(
+	(SvIOK_notUV(left) && SvIOK_notUV(right))
+	? (SvIVX(left) < SvIVX(right))
+	: (do_ncmp(left, right) == -1)
+    ));
+    RETURN;
 }
 
 PP(pp_gt)
 {
     dVAR; dSP;
+    SV *left, *right;
+
     tryAMAGICbin_MG(gt_amg, AMGf_set|AMGf_numeric);
-#ifdef PERL_PRESERVE_IVUV
-    SvIV_please_nomg(TOPs);
-    if (SvIOK(TOPs)) {
-	SvIV_please_nomg(TOPm1s);
-	if (SvIOK(TOPm1s)) {
-	    bool auvok = SvUOK(TOPm1s);
-	    bool buvok = SvUOK(TOPs);
-	
-	    if (!auvok && !buvok) { /* ## IV > IV ## */
-		const IV aiv = SvIVX(TOPm1s);
-		const IV biv = SvIVX(TOPs);
-
-		SP--;
-		SETs(boolSV(aiv > biv));
-		RETURN;
-	    }
-	    if (auvok && buvok) { /* ## UV > UV ## */
-		const UV auv = SvUVX(TOPm1s);
-		const UV buv = SvUVX(TOPs);
-		
-		SP--;
-		SETs(boolSV(auv > buv));
-		RETURN;
-	    }
-	    if (auvok) { /* ## UV > IV ## */
-		UV auv;
-		const IV biv = SvIVX(TOPs);
-
-		SP--;
-		if (biv < 0) {
-		    /* As (a) is a UV, it's >=0, so it must be > */
-		    SETs(&PL_sv_yes);
-		    RETURN;
-		}
-		auv = SvUVX(TOPs);
-		SETs(boolSV(auv > (UV)biv));
-		RETURN;
-	    }
-	    { /* ## IV > UV ## */
-		const IV aiv = SvIVX(TOPm1s);
-		UV buv;
-		
-		if (aiv < 0) {
-		    /* As (b) is a UV, it's >=0, so it cannot be > */
-		    SP--;
-		    SETs(&PL_sv_no);
-		    RETURN;
-		}
-		buv = SvUVX(TOPs);
-		SP--;
-		SETs(boolSV((UV)aiv > buv));
-		RETURN;
-	    }
-	}
-    }
-#endif
-#ifndef NV_PRESERVES_UV
-#ifdef PERL_PRESERVE_IVUV
-    else
-#endif
-    if (SvROK(TOPs) && !SvAMAGIC(TOPs) && SvROK(TOPm1s) && !SvAMAGIC(TOPm1s)) {
-        SP--;
-        SETs(boolSV(SvRV(TOPs) > SvRV(TOPp1s)));
-        RETURN;
-    }
-#endif
-    {
-#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
-      dPOPTOPnnrl_nomg;
-      if (Perl_isnan(left) || Perl_isnan(right))
-	  RETSETNO;
-      SETs(boolSV(left > right));
-#else
-      dPOPnv_nomg;
-      SETs(boolSV(SvNV_nomg(TOPs) > value));
-#endif
-      RETURN;
-    }
+    right = POPs;
+    left  = TOPs;
+    SETs(boolSV(
+	(SvIOK_notUV(left) && SvIOK_notUV(right))
+	? (SvIVX(left) > SvIVX(right))
+	: (do_ncmp(left, right) == 1)
+    ));
+    RETURN;
 }
 
 PP(pp_le)
 {
     dVAR; dSP;
+    SV *left, *right;
+
     tryAMAGICbin_MG(le_amg, AMGf_set|AMGf_numeric);
-#ifdef PERL_PRESERVE_IVUV
-    SvIV_please_nomg(TOPs);
-    if (SvIOK(TOPs)) {
-	SvIV_please_nomg(TOPm1s);
-	if (SvIOK(TOPm1s)) {
-	    bool auvok = SvUOK(TOPm1s);
-	    bool buvok = SvUOK(TOPs);
-	
-	    if (!auvok && !buvok) { /* ## IV <= IV ## */
-		const IV aiv = SvIVX(TOPm1s);
-		const IV biv = SvIVX(TOPs);
-		
-		SP--;
-		SETs(boolSV(aiv <= biv));
-		RETURN;
-	    }
-	    if (auvok && buvok) { /* ## UV <= UV ## */
-		UV auv = SvUVX(TOPm1s);
-		UV buv = SvUVX(TOPs);
-		
-		SP--;
-		SETs(boolSV(auv <= buv));
-		RETURN;
-	    }
-	    if (auvok) { /* ## UV <= IV ## */
-		UV auv;
-		const IV biv = SvIVX(TOPs);
+    right = POPs;
+    left  = TOPs;
+    SETs(boolSV(
+	(SvIOK_notUV(left) && SvIOK_notUV(right))
+	? (SvIVX(left) <= SvIVX(right))
+	: (do_ncmp(left, right) <= 0)
+    ));
+    RETURN;
+}
 
-		SP--;
-		if (biv < 0) {
-		    /* As (a) is a UV, it's >=0, so a cannot be <= */
-		    SETs(&PL_sv_no);
-		    RETURN;
-		}
-		auv = SvUVX(TOPs);
-		SETs(boolSV(auv <= (UV)biv));
-		RETURN;
-	    }
-	    { /* ## IV <= UV ## */
-		const IV aiv = SvIVX(TOPm1s);
-		UV buv;
+PP(pp_ge)
+{
+    dVAR; dSP;
+    SV *left, *right;
 
-		if (aiv < 0) {
-		    /* As (b) is a UV, it's >=0, so a must be <= */
-		    SP--;
-		    SETs(&PL_sv_yes);
-		    RETURN;
-		}
-		buv = SvUVX(TOPs);
-		SP--;
-		SETs(boolSV((UV)aiv <= buv));
-		RETURN;
-	    }
-	}
-    }
-#endif
-#ifndef NV_PRESERVES_UV
-#ifdef PERL_PRESERVE_IVUV
-    else
-#endif
-    if (SvROK(TOPs) && !SvAMAGIC(TOPs) && SvROK(TOPm1s) && !SvAMAGIC(TOPm1s)) {
-        SP--;
-        SETs(boolSV(SvRV(TOPs) <= SvRV(TOPp1s)));
-        RETURN;
-    }
-#endif
-    {
-#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
-      dPOPTOPnnrl_nomg;
-      if (Perl_isnan(left) || Perl_isnan(right))
-	  RETSETNO;
-      SETs(boolSV(left <= right));
-#else
-      dPOPnv_nomg;
-      SETs(boolSV(SvNV_nomg(TOPs) <= value));
-#endif
-      RETURN;
-    }
+    tryAMAGICbin_MG(ge_amg, AMGf_set|AMGf_numeric);
+    right = POPs;
+    left  = TOPs;
+    SETs(boolSV(
+	(SvIOK_notUV(left) && SvIOK_notUV(right))
+	? (SvIVX(left) >= SvIVX(right))
+	: ( (do_ncmp(left, right) & 2) == 0)
+    ));
+    RETURN;
 }
 
-PP(pp_ge)
+PP(pp_ne)
 {
     dVAR; dSP;
-    tryAMAGICbin_MG(ge_amg,AMGf_set|AMGf_numeric);
-#ifdef PERL_PRESERVE_IVUV
-    SvIV_please_nomg(TOPs);
-    if (SvIOK(TOPs)) {
-	SvIV_please_nomg(TOPm1s);
-	if (SvIOK(TOPm1s)) {
-	    bool auvok = SvUOK(TOPm1s);
-	    bool buvok = SvUOK(TOPs);
-	
-	    if (!auvok && !buvok) { /* ## IV >= IV ## */
-		const IV aiv = SvIVX(TOPm1s);
-		const IV biv = SvIVX(TOPs);
+    SV *left, *right;
 
-		SP--;
-		SETs(boolSV(aiv >= biv));
-		RETURN;
-	    }
-	    if (auvok && buvok) { /* ## UV >= UV ## */
-		const UV auv = SvUVX(TOPm1s);
-		const UV buv = SvUVX(TOPs);
+    tryAMAGICbin_MG(ne_amg, AMGf_set|AMGf_numeric);
+    right = POPs;
+    left  = TOPs;
+    SETs(boolSV(
+	(SvIOK_notUV(left) && SvIOK_notUV(right))
+	? (SvIVX(left) != SvIVX(right))
+	: (do_ncmp(left, right) != 0)
+    ));
+    RETURN;
+}
 
-		SP--;
-		SETs(boolSV(auv >= buv));
-		RETURN;
-	    }
-	    if (auvok) { /* ## UV >= IV ## */
-		UV auv;
-		const IV biv = SvIVX(TOPs);
+/* compare left and right SVs. Returns:
+ * -1: <
+ *  0: ==
+ *  1: >
+ *  2: left or right was a NaN
+ */
+I32
+Perl_do_ncmp(pTHX_ SV* const left, SV * const right)
+{
+    dVAR;
 
-		SP--;
-		if (biv < 0) {
-		    /* As (a) is a UV, it's >=0, so it must be >= */
-		    SETs(&PL_sv_yes);
-		    RETURN;
+    PERL_ARGS_ASSERT_DO_NCMP;
+#ifdef PERL_PRESERVE_IVUV
+    /* Fortunately it seems NaN isn't IOK */
+    if (SvIV_please_nomg(right) && SvIV_please_nomg(left)) {
+	    if (!SvUOK(left)) {
+		const IV leftiv = SvIVX(left);
+		if (!SvUOK(right)) {
+		    /* ## IV <=> IV ## */
+		    const IV rightiv = SvIVX(right);
+		    return (leftiv > rightiv) - (leftiv < rightiv);
 		}
-		auv = SvUVX(TOPs);
-		SETs(boolSV(auv >= (UV)biv));
-		RETURN;
-	    }
-	    { /* ## IV >= UV ## */
-		const IV aiv = SvIVX(TOPm1s);
-		UV buv;
-
-		if (aiv < 0) {
-		    /* As (b) is a UV, it's >=0, so a cannot be >= */
-		    SP--;
-		    SETs(&PL_sv_no);
-		    RETURN;
+		/* ## IV <=> UV ## */
+		if (leftiv < 0)
+		    /* As (b) is a UV, it's >=0, so it must be < */
+		    return -1;
+		{
+		    const UV rightuv = SvUVX(right);
+		    return ((UV)leftiv > rightuv) - ((UV)leftiv < rightuv);
 		}
-		buv = SvUVX(TOPs);
-		SP--;
-		SETs(boolSV((UV)aiv >= buv));
-		RETURN;
 	    }
-	}
-    }
-#endif
-#ifndef NV_PRESERVES_UV
-#ifdef PERL_PRESERVE_IVUV
-    else
-#endif
-    if (SvROK(TOPs) && !SvAMAGIC(TOPs) && SvROK(TOPm1s) && !SvAMAGIC(TOPm1s)) {
-        SP--;
-        SETs(boolSV(SvRV(TOPs) >= SvRV(TOPp1s)));
-        RETURN;
-    }
-#endif
-    {
-#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
-      dPOPTOPnnrl_nomg;
-      if (Perl_isnan(left) || Perl_isnan(right))
-	  RETSETNO;
-      SETs(boolSV(left >= right));
-#else
-      dPOPnv_nomg;
-      SETs(boolSV(SvNV_nomg(TOPs) >= value));
-#endif
-      RETURN;
-    }
-}
 
-PP(pp_ne)
-{
-    dVAR; dSP;
-    tryAMAGICbin_MG(ne_amg,AMGf_set|AMGf_numeric);
-#ifndef NV_PRESERVES_UV
-    if (SvROK(TOPs) && !SvAMAGIC(TOPs) && SvROK(TOPm1s) && !SvAMAGIC(TOPm1s)) {
-        SP--;
-	SETs(boolSV(SvRV(TOPs) != SvRV(TOPp1s)));
-	RETURN;
-    }
-#endif
-#ifdef PERL_PRESERVE_IVUV
-    SvIV_please_nomg(TOPs);
-    if (SvIOK(TOPs)) {
-	SvIV_please_nomg(TOPm1s);
-	if (SvIOK(TOPm1s)) {
-	    const bool auvok = SvUOK(TOPm1s);
-	    const bool buvok = SvUOK(TOPs);
-	
-	    if (auvok == buvok) { /* ## IV == IV or UV == UV ## */
-                /* Casting IV to UV before comparison isn't going to matter
-                   on 2s complement. On 1s complement or sign&magnitude
-                   (if we have any of them) it could make negative zero
-                   differ from normal zero. As I understand it. (Need to
-                   check - is negative zero implementation defined behaviour
-                   anyway?). NWC  */
-		const UV buv = SvUVX(POPs);
-		const UV auv = SvUVX(TOPs);
-
-		SETs(boolSV(auv != buv));
-		RETURN;
+	    if (SvUOK(right)) {
+		/* ## UV <=> UV ## */
+		const UV leftuv = SvUVX(left);
+		const UV rightuv = SvUVX(right);
+		return (leftuv > rightuv) - (leftuv < rightuv);
 	    }
-	    {			/* ## Mixed IV,UV ## */
-		IV iv;
-		UV uv;
-		
-		/* != is commutative so swap if needed (save code) */
-		if (auvok) {
-		    /* swap. top of stack (b) is the iv */
-		    iv = SvIVX(TOPs);
-		    SP--;
-		    if (iv < 0) {
-			/* As (a) is a UV, it's >0, so it cannot be == */
-			SETs(&PL_sv_yes);
-			RETURN;
-		    }
-		    uv = SvUVX(TOPs);
-		} else {
-		    iv = SvIVX(TOPm1s);
-		    SP--;
-		    if (iv < 0) {
-			/* As (b) is a UV, it's >0, so it cannot be == */
-			SETs(&PL_sv_yes);
-			RETURN;
-		    }
-		    uv = SvUVX(*(SP+1)); /* Do I want TOPp1s() ? */
+	    /* ## UV <=> IV ## */
+	    {
+		const IV rightiv = SvIVX(right);
+		if (rightiv < 0)
+		    /* As (a) is a UV, it's >=0, so it cannot be < */
+		    return 1;
+		{
+		    const UV leftuv = SvUVX(left);
+		    return (leftuv > (UV)rightiv) - (leftuv < (UV)rightiv);
 		}
-		SETs(boolSV((UV)iv != uv));
-		RETURN;
 	    }
-	}
+	    assert(0); /* NOTREACHED */
     }
 #endif
     {
+      NV const rnv = SvNV_nomg(right);
+      NV const lnv = SvNV_nomg(left);
+
 #if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
-      dPOPTOPnnrl_nomg;
-      if (Perl_isnan(left) || Perl_isnan(right))
-	  RETSETYES;
-      SETs(boolSV(left != right));
+      if (Perl_isnan(lnv) || Perl_isnan(rnv)) {
+	  return 2;
+       }
+      return (lnv > rnv) - (lnv < rnv);
 #else
-      dPOPnv_nomg;
-      SETs(boolSV(SvNV_nomg(TOPs) != value));
+      if (lnv < rnv)
+	return -1;
+      if (lnv > rnv)
+	return 1;
+      if (lnv == rnv)
+	return 0;
+      return 2;
 #endif
-      RETURN;
     }
 }
 
+
 PP(pp_ncmp)
 {
-    dVAR; dSP; dTARGET;
+    dVAR; dSP;
+    SV *left, *right;
+    I32 value;
     tryAMAGICbin_MG(ncmp_amg, AMGf_numeric);
-#ifndef NV_PRESERVES_UV
-    if (SvROK(TOPs) && !SvAMAGIC(TOPs) && SvROK(TOPm1s) && !SvAMAGIC(TOPm1s)) {
-	const UV right = PTR2UV(SvRV(POPs));
-	const UV left = PTR2UV(SvRV(TOPs));
-	SETi((left > right) - (left < right));
-	RETURN;
+    right = POPs;
+    left  = TOPs;
+    value = do_ncmp(left, right);
+    if (value == 2) {
+	SETs(&PL_sv_undef);
     }
-#endif
-#ifdef PERL_PRESERVE_IVUV
-    /* Fortunately it seems NaN isn't IOK */
-    SvIV_please_nomg(TOPs);
-    if (SvIOK(TOPs)) {
-	SvIV_please_nomg(TOPm1s);
-	if (SvIOK(TOPm1s)) {
-	    const bool leftuvok = SvUOK(TOPm1s);
-	    const bool rightuvok = SvUOK(TOPs);
-	    I32 value;
-	    if (!leftuvok && !rightuvok) { /* ## IV <=> IV ## */
-		const IV leftiv = SvIVX(TOPm1s);
-		const IV rightiv = SvIVX(TOPs);
-		
-		if (leftiv > rightiv)
-		    value = 1;
-		else if (leftiv < rightiv)
-		    value = -1;
-		else
-		    value = 0;
-	    } else if (leftuvok && rightuvok) { /* ## UV <=> UV ## */
-		const UV leftuv = SvUVX(TOPm1s);
-		const UV rightuv = SvUVX(TOPs);
-		
-		if (leftuv > rightuv)
-		    value = 1;
-		else if (leftuv < rightuv)
-		    value = -1;
-		else
-		    value = 0;
-	    } else if (leftuvok) { /* ## UV <=> IV ## */
-		const IV rightiv = SvIVX(TOPs);
-		if (rightiv < 0) {
-		    /* As (a) is a UV, it's >=0, so it cannot be < */
-		    value = 1;
-		} else {
-		    const UV leftuv = SvUVX(TOPm1s);
-		    if (leftuv > (UV)rightiv) {
-			value = 1;
-		    } else if (leftuv < (UV)rightiv) {
-			value = -1;
-		    } else {
-			value = 0;
-		    }
-		}
-	    } else { /* ## IV <=> UV ## */
-		const IV leftiv = SvIVX(TOPm1s);
-		if (leftiv < 0) {
-		    /* As (b) is a UV, it's >=0, so it must be < */
-		    value = -1;
-		} else {
-		    const UV rightuv = SvUVX(TOPs);
-		    if ((UV)leftiv > rightuv) {
-			value = 1;
-		    } else if ((UV)leftiv < rightuv) {
-			value = -1;
-		    } else {
-			value = 0;
-		    }
-		}
-	    }
-	    SP--;
-	    SETi(value);
-	    RETURN;
-	}
+    else {
+	dTARGET;
+	SETi(value);
     }
-#endif
-    {
-      dPOPTOPnnrl_nomg;
-      I32 value;
-
-#ifdef Perl_isnan
-      if (Perl_isnan(left) || Perl_isnan(right)) {
-	  SETs(&PL_sv_undef);
-	  RETURN;
-       }
-      value = (left > right) - (left < right);
-#else
-      if (left == right)
-	value = 0;
-      else if (left < right)
-	value = -1;
-      else if (left > right)
-	value = 1;
-      else {
-	SETs(&PL_sv_undef);
-	RETURN;
-      }
-#endif
-      SETi(value);
-      RETURN;
-    }
+    RETURN;
 }
 
 PP(pp_sle)
@@ -2603,7 +2167,7 @@
 	  const UV u = SvUV_nomg(left) & SvUV_nomg(right);
 	  SETu(u);
 	}
-	if (left_ro_nonnum)  SvNIOK_off(left);
+	if (left_ro_nonnum && left != TARG) SvNIOK_off(left);
 	if (right_ro_nonnum) SvNIOK_off(right);
       }
       else {
@@ -2637,7 +2201,7 @@
 	  const UV result = op_type == OP_BIT_OR ? (l | r) : (l ^ r);
 	  SETu(result);
 	}
-	if (left_ro_nonnum)  SvNIOK_off(left);
+	if (left_ro_nonnum && left != TARG) SvNIOK_off(left);
 	if (right_ro_nonnum) SvNIOK_off(right);
       }
       else {
@@ -2648,25 +2212,45 @@
     }
 }
 
+PERL_STATIC_INLINE bool
+S_negate_string(pTHX)
+{
+    dTARGET; dSP;
+    STRLEN len;
+    const char *s;
+    SV * const sv = TOPs;
+    if (!SvPOKp(sv) || SvNIOK(sv) || (!SvPOK(sv) && SvNIOKp(sv)))
+	return FALSE;
+    s = SvPV_nomg_const(sv, len);
+    if (isIDFIRST(*s)) {
+	sv_setpvs(TARG, "-");
+	sv_catsv(TARG, sv);
+    }
+    else if (*s == '+' || (*s == '-' && !looks_like_number(sv))) {
+	sv_setsv_nomg(TARG, sv);
+	*SvPV_force_nomg(TARG, len) = *s == '-' ? '+' : '-';
+    }
+    else return FALSE;
+    SETTARG; PUTBACK;
+    return TRUE;
+}
+
 PP(pp_negate)
 {
     dVAR; dSP; dTARGET;
     tryAMAGICun_MG(neg_amg, AMGf_numeric);
+    if (S_negate_string(aTHX)) return NORMAL;
     {
 	SV * const sv = TOPs;
-	const int flags = SvFLAGS(sv);
 
-        if( !SvNIOK( sv ) && looks_like_number( sv ) ){
-           SvIV_please( sv );
-        }   
-
-	if ((flags & SVf_IOK) || ((flags & (SVp_IOK | SVp_NOK)) == SVp_IOK)) {
-	    /* It's publicly an integer, or privately an integer-not-float */
+	if (SvIOK(sv)) {
+	    /* It's publicly an integer */
 	oops_its_an_int:
 	    if (SvIsUV(sv)) {
 		if (SvIVX(sv) == IV_MIN) {
 		    /* 2s complement assumption. */
-		    SETi(SvIVX(sv));	/* special case: -((UV)IV_MAX+1) == IV_MIN */
+                    SETi(SvIVX(sv));	/* special case: -((UV)IV_MAX+1) ==
+                                           IV_MIN */
 		    RETURN;
 		}
 		else if (SvUVX(sv) <= IV_MAX) {
@@ -2685,38 +2269,10 @@
 	    }
 #endif
 	}
-	if (SvNIOKp(sv))
+	if (SvNIOKp(sv) && (SvNIOK(sv) || !SvPOK(sv)))
 	    SETn(-SvNV_nomg(sv));
-	else if (SvPOKp(sv)) {
-	    STRLEN len;
-	    const char * const s = SvPV_nomg_const(sv, len);
-	    if (isIDFIRST(*s)) {
-		sv_setpvs(TARG, "-");
-		sv_catsv(TARG, sv);
-	    }
-	    else if (*s == '+' || *s == '-') {
-		sv_setsv_nomg(TARG, sv);
-		*SvPV_force_nomg(TARG, len) = *s == '-' ? '+' : '-';
-	    }
-	    else if (DO_UTF8(sv)) {
-		SvIV_please_nomg(sv);
-		if (SvIOK(sv))
-		    goto oops_its_an_int;
-		if (SvNOK(sv))
-		    sv_setnv(TARG, -SvNV_nomg(sv));
-		else {
-		    sv_setpvs(TARG, "-");
-		    sv_catsv(TARG, sv);
-		}
-	    }
-	    else {
-		SvIV_please_nomg(sv);
-		if (SvIOK(sv))
+	else if (SvPOKp(sv) && SvIV_please_nomg(sv))
 		  goto oops_its_an_int;
-		sv_setnv(TARG, -SvNV_nomg(sv));
-	    }
-	    SETTARG;
-	}
 	else
 	    SETn(-SvNV_nomg(sv));
     }
@@ -2748,8 +2304,8 @@
 	}
       }
       else {
-	register U8 *tmps;
-	register I32 anum;
+	U8 *tmps;
+	I32 anum;
 	STRLEN len;
 
 	(void)SvPV_nomg_const(sv,len); /* force check for uninit var */
@@ -2814,7 +2370,7 @@
 	}
 #ifdef LIBERAL
 	{
-	    register long *tmpl;
+	    long *tmpl;
 	    for ( ; anum && (unsigned long)tmps % sizeof(long); anum--, tmps++)
 		*tmps = ~*tmps;
 	    tmpl = (long*)tmps;
@@ -2866,7 +2422,7 @@
     }
 }
 
-#if defined(__GLIBC__) && IVSIZE == 8
+#if defined(__GLIBC__) && IVSIZE == 8 && !defined(PERL_DEBUG_READONLY_OPS)
 STATIC
 PP(pp_i_modulo_0)
 #else
@@ -2889,7 +2445,7 @@
      }
 }
 
-#if defined(__GLIBC__) && IVSIZE == 8
+#if defined(__GLIBC__) && IVSIZE == 8 && !defined(PERL_DEBUG_READONLY_OPS)
 STATIC
 PP(pp_i_modulo_1)
 
@@ -3067,6 +2623,7 @@
 {
     dVAR; dSP; dTARGET;
     tryAMAGICun_MG(neg_amg, 0);
+    if (S_negate_string(aTHX)) return NORMAL;
     {
 	SV * const sv = TOPs;
 	IV const i = SvIV_nomg(sv);
@@ -3125,6 +2682,7 @@
       if (neg_report) {
 	  if (op_type == OP_LOG ? (value <= 0.0) : (value < 0.0)) {
 	      SET_NUMERIC_STANDARD();
+	      /* diag_listed_as: Can't take log of %g */
 	      DIE(aTHX_ "Can't take %s of %"NVgf, neg_report, value);
 	  }
       }
@@ -3150,27 +2708,64 @@
 
 PP(pp_rand)
 {
-    dVAR; dSP; dTARGET;
-    NV value;
-    if (MAXARG < 1)
-	value = 1.0;
-    else
-	value = POPn;
-    if (value == 0.0)
-	value = 1.0;
+    dVAR;
     if (!PL_srand_called) {
 	(void)seedDrand01((Rand_seed_t)seed());
 	PL_srand_called = TRUE;
     }
-    value *= Drand01();
-    XPUSHn(value);
-    RETURN;
+    {
+	dSP;
+	NV value;
+	EXTEND(SP, 1);
+    
+	if (MAXARG < 1)
+	    value = 1.0;
+	else {
+	    SV * const sv = POPs;
+	    if(!sv)
+		value = 1.0;
+	    else
+		value = SvNV(sv);
+	}
+    /* 1 of 2 things can be carried through SvNV, SP or TARG, SP was carried */
+	if (value == 0.0)
+	    value = 1.0;
+	{
+	    dTARGET;
+	    PUSHs(TARG);
+	    PUTBACK;
+	    value *= Drand01();
+	    sv_setnv_mg(TARG, value);
+	}
+    }
+    return NORMAL;
 }
 
 PP(pp_srand)
 {
     dVAR; dSP; dTARGET;
-    const UV anum = (MAXARG < 1) ? seed() : POPu;
+    UV anum;
+
+    if (MAXARG >= 1 && (TOPs || POPs)) {
+        SV *top;
+        char *pv;
+        STRLEN len;
+        int flags;
+
+        top = POPs;
+        pv = SvPV(top, len);
+        flags = grok_number(pv, len, &anum);
+
+        if (!(flags & IS_NUMBER_IN_UV)) {
+            Perl_ck_warner_d(aTHX_ packWARN(WARN_OVERFLOW),
+                             "Integer overflow in srand");
+            anum = UV_MAX;
+        }
+    }
+    else {
+        anum = seed();
+    }
+
     (void)seedDrand01((Rand_seed_t)anum);
     PL_srand_called = TRUE;
     if (anum)
@@ -3318,35 +2913,16 @@
     dVAR; dSP; dTARGET;
     SV * const sv = TOPs;
 
-    if (SvGAMAGIC(sv)) {
-	/* For an overloaded or magic scalar, we can't know in advance if
-	   it's going to be UTF-8 or not. Also, we can't call sv_len_utf8 as
-	   it likes to cache the length. Maybe that should be a documented
-	   feature of it.
-	*/
-	STRLEN len;
-	const char *const p
-	    = sv_2pv_flags(sv, &len,
-			   SV_UNDEF_RETURNS_NULL|SV_CONST_RETURN|SV_GMAGIC);
-
-	if (!p) {
-	    if (!SvPADTMP(TARG)) {
-		sv_setsv(TARG, &PL_sv_undef);
-		SETTARG;
-	    }
-	    SETs(&PL_sv_undef);
-	}
-	else if (DO_UTF8(sv)) {
-	    SETi(utf8_length((U8*)p, (U8*)p + len));
-	}
+    SvGETMAGIC(sv);
+    if (SvOK(sv)) {
+	if (!IN_BYTES)
+	    SETi(sv_len_utf8_nomg(sv));
 	else
+	{
+	    STRLEN len;
+	    (void)SvPV_nomg_const(sv,len);
 	    SETi(len);
-    } else if (SvOK(sv)) {
-	/* Neither magic nor overloaded.  */
-	if (DO_UTF8(sv))
-	    SETi(sv_len_utf8(sv));
-	else
-	    SETi(sv_len(sv));
+	}
     } else {
 	if (!SvPADTMP(TARG)) {
 	    sv_setsv_nomg(TARG, &PL_sv_undef);
@@ -3357,92 +2933,29 @@
     RETURN;
 }
 
-PP(pp_substr)
+/* Returns false if substring is completely outside original string.
+   No length is indicated by len_iv = 0 and len_is_uv = 0.  len_is_uv must
+   always be true for an explicit 0.
+*/
+bool
+Perl_translate_substr_offsets(pTHX_ STRLEN curlen, IV pos1_iv,
+				    bool pos1_is_uv, IV len_iv,
+				    bool len_is_uv, STRLEN *posp,
+				    STRLEN *lenp)
 {
-    dVAR; dSP; dTARGET;
-    SV *sv;
-    STRLEN curlen;
-    STRLEN utf8_curlen;
-    SV *   pos_sv;
-    IV     pos1_iv;
-    int    pos1_is_uv;
-    IV     pos2_iv;
+    IV pos2_iv;
     int    pos2_is_uv;
-    SV *   len_sv;
-    IV     len_iv = 0;
-    int    len_is_uv = 1;
-    const I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
-    const char *tmps;
-    const IV arybase = CopARYBASE_get(PL_curcop);
-    SV *repl_sv = NULL;
-    const char *repl = NULL;
-    STRLEN repl_len;
-    const int num_args = PL_op->op_private & 7;
-    bool repl_need_utf8_upgrade = FALSE;
-    bool repl_is_utf8 = FALSE;
 
-    if (num_args > 2) {
-	if (num_args > 3) {
-	    repl_sv = POPs;
-	    repl = SvPV_const(repl_sv, repl_len);
-	    repl_is_utf8 = DO_UTF8(repl_sv) && SvCUR(repl_sv);
-	}
-	len_sv    = POPs;
-	len_iv    = SvIV(len_sv);
-	len_is_uv = SvIOK_UV(len_sv);
-    }
-    pos_sv     = POPs;
-    pos1_iv    = SvIV(pos_sv);
-    pos1_is_uv = SvIOK_UV(pos_sv);
-    sv = POPs;
-    PUTBACK;
-    if (repl_sv) {
-	if (repl_is_utf8) {
-	    if (!DO_UTF8(sv))
-		sv_utf8_upgrade(sv);
-	}
-	else if (DO_UTF8(sv))
-	    repl_need_utf8_upgrade = TRUE;
-    }
-    tmps = SvPV_const(sv, curlen);
-    if (DO_UTF8(sv)) {
-        utf8_curlen = sv_len_utf8(sv);
-	if (utf8_curlen == curlen)
-	    utf8_curlen = 0;
-	else
-	    curlen = utf8_curlen;
-    }
-    else
-	utf8_curlen = 0;
+    PERL_ARGS_ASSERT_TRANSLATE_SUBSTR_OFFSETS;
 
-    if ( (pos1_is_uv && arybase < 0) || (pos1_iv >= arybase) ) { /* pos >= $[ */
-	UV pos1_uv = pos1_iv-arybase;
-	/* Overflow can occur when $[ < 0 */
-	if (arybase < 0 && pos1_uv < (UV)pos1_iv)
-	    goto bound_fail;
-	pos1_iv = pos1_uv;
-	pos1_is_uv = 1;
+    if (!pos1_is_uv && pos1_iv < 0 && curlen) {
+	pos1_is_uv = curlen-1 > ~(UV)pos1_iv;
+	pos1_iv += curlen;
     }
-    else if (pos1_is_uv ? (UV)pos1_iv > 0 : pos1_iv > 0) {
-	goto bound_fail;  /* $[=3; substr($_,2,...) */
-    }
-    else { /* pos < $[ */
-	if (pos1_iv == 0) { /* $[=1; substr($_,0,...) */
-	    pos1_iv = curlen;
-	    pos1_is_uv = 1;
-	} else {
-	    if (curlen) {
-		pos1_is_uv = curlen-1 > ~(UV)pos1_iv;
-		pos1_iv += curlen;
-	   }
-	}
-    }
-    if (pos1_is_uv || pos1_iv > 0) {
-	if ((UV)pos1_iv > curlen)
-	    goto bound_fail;
-    }
+    if ((pos1_is_uv || pos1_iv > 0) && (UV)pos1_iv > curlen)
+	return FALSE;
 
-    if (num_args > 2) {
+    if (len_iv || len_is_uv) {
 	if (!len_is_uv && len_iv < 0) {
 	    pos2_iv = curlen + len_iv;
 	    if (curlen)
@@ -3469,7 +2982,7 @@
 
     if (!pos2_is_uv && pos2_iv < 0) {
 	if (!pos1_is_uv && pos1_iv < 0)
-	    goto bound_fail;
+	    return FALSE;
 	pos2_iv = 0;
     }
     else if (!pos1_is_uv && pos1_iv < 0)
@@ -3480,53 +2993,123 @@
     if ((UV)pos2_iv > curlen)
 	pos2_iv = curlen;
 
-    {
-	/* pos1_iv and pos2_iv both in 0..curlen, so the cast is safe */
-	const STRLEN pos = (STRLEN)( (UV)pos1_iv );
-	const STRLEN len = (STRLEN)( (UV)pos2_iv - (UV)pos1_iv );
-	STRLEN byte_len = len;
-	STRLEN byte_pos = utf8_curlen
-	    ? sv_pos_u2b_flags(sv, pos, &byte_len, SV_CONST_RETURN) : pos;
+    /* pos1_iv and pos2_iv both in 0..curlen, so the cast is safe */
+    *posp = (STRLEN)( (UV)pos1_iv );
+    *lenp = (STRLEN)( (UV)pos2_iv - (UV)pos1_iv );
 
-	if (lvalue && !repl) {
-	    SV * ret;
+    return TRUE;
+}
 
-	    if (!SvGMAGICAL(sv)) {
-		if (SvROK(sv)) {
-		    SvPV_force_nolen(sv);
-		    Perl_ck_warner(aTHX_ packWARN(WARN_SUBSTR),
-				   "Attempt to use reference as lvalue in substr");
-		}
-		if (isGV_with_GP(sv))
-		    SvPV_force_nolen(sv);
-		else if (SvOK(sv))	/* is it defined ? */
-		    (void)SvPOK_only_UTF8(sv);
-		else
-		    sv_setpvs(sv, ""); /* avoid lexical reincarnation */
-	    }
+PP(pp_substr)
+{
+    dVAR; dSP; dTARGET;
+    SV *sv;
+    STRLEN curlen;
+    STRLEN utf8_curlen;
+    SV *   pos_sv;
+    IV     pos1_iv;
+    int    pos1_is_uv;
+    SV *   len_sv;
+    IV     len_iv = 0;
+    int    len_is_uv = 0;
+    I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
+    const bool rvalue = (GIMME_V != G_VOID);
+    const char *tmps;
+    SV *repl_sv = NULL;
+    const char *repl = NULL;
+    STRLEN repl_len;
+    int num_args = PL_op->op_private & 7;
+    bool repl_need_utf8_upgrade = FALSE;
 
-	    ret = sv_2mortal(newSV_type(SVt_PVLV));  /* Not TARG RT#67838 */
-	    sv_magic(ret, NULL, PERL_MAGIC_substr, NULL, 0);
-	    LvTYPE(ret) = 'x';
-	    LvTARG(ret) = SvREFCNT_inc_simple(sv);
-	    LvTARGOFF(ret) = pos;
-	    LvTARGLEN(ret) = len;
+    if (num_args > 2) {
+	if (num_args > 3) {
+	  if(!(repl_sv = POPs)) num_args--;
+	}
+	if ((len_sv = POPs)) {
+	    len_iv    = SvIV(len_sv);
+	    len_is_uv = len_iv ? SvIOK_UV(len_sv) : 1;
+	}
+	else num_args--;
+    }
+    pos_sv     = POPs;
+    pos1_iv    = SvIV(pos_sv);
+    pos1_is_uv = SvIOK_UV(pos_sv);
+    sv = POPs;
+    if (PL_op->op_private & OPpSUBSTR_REPL_FIRST) {
+	assert(!repl_sv);
+	repl_sv = POPs;
+    }
+    PUTBACK;
+    if (lvalue && !repl_sv) {
+	SV * ret;
+	ret = sv_2mortal(newSV_type(SVt_PVLV));  /* Not TARG RT#67838 */
+	sv_magic(ret, NULL, PERL_MAGIC_substr, NULL, 0);
+	LvTYPE(ret) = 'x';
+	LvTARG(ret) = SvREFCNT_inc_simple(sv);
+	LvTARGOFF(ret) =
+	    pos1_is_uv || pos1_iv >= 0
+		? (STRLEN)(UV)pos1_iv
+		: (LvFLAGS(ret) |= 1, (STRLEN)(UV)-pos1_iv);
+	LvTARGLEN(ret) =
+	    len_is_uv || len_iv > 0
+		? (STRLEN)(UV)len_iv
+		: (LvFLAGS(ret) |= 2, (STRLEN)(UV)-len_iv);
 
-	    SPAGAIN;
-	    PUSHs(ret);    /* avoid SvSETMAGIC here */
-	    RETURN;
+	SPAGAIN;
+	PUSHs(ret);    /* avoid SvSETMAGIC here */
+	RETURN;
+    }
+    if (repl_sv) {
+	repl = SvPV_const(repl_sv, repl_len);
+	SvGETMAGIC(sv);
+	if (SvROK(sv))
+	    Perl_ck_warner(aTHX_ packWARN(WARN_SUBSTR),
+			    "Attempt to use reference as lvalue in substr"
+	    );
+	tmps = SvPV_force_nomg(sv, curlen);
+	if (DO_UTF8(repl_sv) && repl_len) {
+	    if (!DO_UTF8(sv)) {
+		sv_utf8_upgrade_nomg(sv);
+		curlen = SvCUR(sv);
+	    }
 	}
+	else if (DO_UTF8(sv))
+	    repl_need_utf8_upgrade = TRUE;
+    }
+    else tmps = SvPV_const(sv, curlen);
+    if (DO_UTF8(sv)) {
+        utf8_curlen = sv_or_pv_len_utf8(sv, tmps, curlen);
+	if (utf8_curlen == curlen)
+	    utf8_curlen = 0;
+	else
+	    curlen = utf8_curlen;
+    }
+    else
+	utf8_curlen = 0;
 
-	SvTAINTED_off(TARG);			/* decontaminate */
-	SvUTF8_off(TARG);			/* decontaminate */
+    {
+	STRLEN pos, len, byte_len, byte_pos;
 
+	if (!translate_substr_offsets(
+		curlen, pos1_iv, pos1_is_uv, len_iv, len_is_uv, &pos, &len
+	)) goto bound_fail;
+
+	byte_len = len;
+	byte_pos = utf8_curlen
+	    ? sv_or_pv_pos_u2b(sv, tmps, pos, &byte_len) : pos;
+
 	tmps += byte_pos;
-	sv_setpvn(TARG, tmps, byte_len);
+
+	if (rvalue) {
+	    SvTAINTED_off(TARG);			/* decontaminate */
+	    SvUTF8_off(TARG);			/* decontaminate */
+	    sv_setpvn(TARG, tmps, byte_len);
 #ifdef USE_LOCALE_COLLATE
-	sv_unmagic(TARG, PERL_MAGIC_collxfrm);
+	    sv_unmagic(TARG, PERL_MAGIC_collxfrm);
 #endif
-	if (utf8_curlen)
-	    SvUTF8_on(TARG);
+	    if (utf8_curlen)
+		SvUTF8_on(TARG);
+	}
 
 	if (repl) {
 	    SV* repl_sv_copy = NULL;
@@ -3535,23 +3118,22 @@
 		repl_sv_copy = newSVsv(repl_sv);
 		sv_utf8_upgrade(repl_sv_copy);
 		repl = SvPV_const(repl_sv_copy, repl_len);
-		repl_is_utf8 = DO_UTF8(repl_sv_copy) && SvCUR(sv);
 	    }
 	    if (!SvOK(sv))
 		sv_setpvs(sv, "");
 	    sv_insert_flags(sv, byte_pos, byte_len, repl, repl_len, 0);
-	    if (repl_is_utf8)
-		SvUTF8_on(sv);
 	    SvREFCNT_dec(repl_sv_copy);
 	}
     }
     SPAGAIN;
-    SvSETMAGIC(TARG);
-    PUSHs(TARG);
+    if (rvalue) {
+	SvSETMAGIC(TARG);
+	PUSHs(TARG);
+    }
     RETURN;
 
 bound_fail:
-    if (lvalue || repl)
+    if (repl)
 	Perl_croak(aTHX_ "substr outside of string");
     Perl_ck_warner(aTHX_ packWARN(WARN_SUBSTR), "substr outside of string");
     RETPUSHUNDEF;
@@ -3560,9 +3142,9 @@
 PP(pp_vec)
 {
     dVAR; dSP;
-    register const IV size   = POPi;
-    register const IV offset = POPi;
-    register SV * const src = POPs;
+    const IV size   = POPi;
+    const IV offset = POPi;
+    SV * const src = POPs;
     const I32 lvalue = PL_op->op_flags & OPf_MOD || LVRET;
     SV * ret;
 
@@ -3597,16 +3179,13 @@
     I32 retval;
     const char *big_p;
     const char *little_p;
-    const I32 arybase = CopARYBASE_get(PL_curcop);
     bool big_utf8;
     bool little_utf8;
     const bool is_index = PL_op->op_type == OP_INDEX;
+    const bool threeargs = MAXARG >= 3 && (TOPs || ((void)POPs,0));
 
-    if (MAXARG >= 3) {
-	/* arybase is in characters, like offset, so combine prior to the
-	   UTF-8 to bytes calculation.  */
-	offset = POPi - arybase;
-    }
+    if (threeargs)
+	offset = POPi;
     little = POPs;
     big = POPs;
     big_p = SvPV_const(big, biglen);
@@ -3676,7 +3255,7 @@
 	little_p = SvPVX(little);
     }
 
-    if (MAXARG < 3)
+    if (!threeargs)
 	offset = is_index ? 0 : biglen;
     else {
 	if (big_utf8 && offset > 0)
@@ -3701,7 +3280,7 @@
     }
     SvREFCNT_dec(temp);
  fail:
-    PUSHi(retval + arybase);
+    PUSHi(retval);
     RETURN;
 }
 
@@ -3742,18 +3321,26 @@
     dVAR; dSP; dTARGET;
     char *tmps;
     UV value;
+    SV *top = POPs;
 
-    if (((SvIOK_notUV(TOPs) && SvIV(TOPs) < 0)
+    SvGETMAGIC(top);
+    if (!IN_BYTES /* under bytes, chr(-1) eq chr(0xff), etc. */
+     && ((SvIOKp(top) && !SvIsUV(top) && SvIV_nomg(top) < 0)
 	 ||
-	 (SvNOK(TOPs) && SvNV(TOPs) < 0.0))) {
-	if (IN_BYTES) {
-	    value = POPu; /* chr(-1) eq chr(0xff), etc. */
-	} else {
-	    (void) POPs; /* Ignore the argument value. */
+	 ((SvNOKp(top) || (SvOK(top) && !SvIsUV(top)))
+	  && SvNV_nomg(top) < 0.0))) {
+	    if (ckWARN(WARN_UTF8)) {
+		if (SvGMAGICAL(top)) {
+		    SV *top2 = sv_newmortal();
+		    sv_setsv_nomg(top2, top);
+		    top = top2;
+		}
+		Perl_warner(aTHX_ packWARN(WARN_UTF8),
+			   "Invalid negative number (%"SVf") in chr", top);
+	    }
 	    value = UNICODE_REPLACEMENT;
-	}
     } else {
-	value = POPu;
+	value = SvUV_nomg(top);
     }
 
     SvUPGRADE(TARG,SVt_PV);
@@ -3779,8 +3366,10 @@
     if (PL_encoding && !IN_BYTES) {
         sv_recode_to_utf8(TARG, PL_encoding);
 	tmps = SvPVX(TARG);
-	if (SvCUR(TARG) == 0 || !is_utf8_string((U8*)tmps, SvCUR(TARG)) ||
-	    UNICODE_IS_REPLACEMENT(utf8_to_uvchr((U8*)tmps, NULL))) {
+	if (SvCUR(TARG) == 0
+	    || ! is_utf8_string((U8*)tmps, SvCUR(TARG))
+	    || UTF8_IS_REPLACEMENT((U8*) tmps, (U8*) tmps + SvCUR(TARG)))
+	{
 	    SvGROW(TARG, 2);
 	    tmps = SvPVX(TARG);
 	    SvCUR_set(TARG, 1);
@@ -3846,17 +3435,9 @@
 /* Generally UTF-8 and UTF-EBCDIC are indistinguishable at this level.  So 
  * most comments below say UTF-8, when in fact they mean UTF-EBCDIC as well */
 
-/* Below are several macros that generate code */
 /* Generates code to store a unicode codepoint c that is known to occupy
- * exactly two UTF-8 and UTF-EBCDIC bytes; it is stored into p and p+1. */
-#define STORE_UNI_TO_UTF8_TWO_BYTE(p, c)				    \
-    STMT_START {							    \
-	*(p) = UTF8_TWO_BYTE_HI(c);					    \
-	*((p)+1) = UTF8_TWO_BYTE_LO(c);					    \
-    } STMT_END
-
-/* Like STORE_UNI_TO_UTF8_TWO_BYTE, but advances p to point to the next
- * available byte after the two bytes */
+ * exactly two UTF-8 and UTF-EBCDIC bytes; it is stored into p and p+1,
+ * and p is advanced to point to the next available byte after the two bytes */
 #define CAT_UNI_TO_UTF8_TWO_BYTE(p, c)					    \
     STMT_START {							    \
 	*(p)++ = UTF8_TWO_BYTE_HI(c);					    \
@@ -3863,46 +3444,6 @@
 	*((p)++) = UTF8_TWO_BYTE_LO(c);					    \
     } STMT_END
 
-/* Generates code to store the upper case of latin1 character l which is known
- * to have its upper case be non-latin1 into the two bytes p and p+1.  There
- * are only two characters that fit this description, and this macro knows
- * about them, and that the upper case values fit into two UTF-8 or UTF-EBCDIC
- * bytes */
-#define STORE_NON_LATIN1_UC(p, l)					    \
-STMT_START {								    \
-    if ((l) == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS) {			    \
-	STORE_UNI_TO_UTF8_TWO_BYTE((p), LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS);  \
-    } else { /* Must be the following letter */								    \
-	STORE_UNI_TO_UTF8_TWO_BYTE((p), GREEK_CAPITAL_LETTER_MU);	    \
-    }									    \
-} STMT_END
-
-/* Like STORE_NON_LATIN1_UC, but advances p to point to the next available byte
- * after the character stored */
-#define CAT_NON_LATIN1_UC(p, l)						    \
-STMT_START {								    \
-    if ((l) == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS) {			    \
-	CAT_UNI_TO_UTF8_TWO_BYTE((p), LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS);    \
-    } else {								    \
-	CAT_UNI_TO_UTF8_TWO_BYTE((p), GREEK_CAPITAL_LETTER_MU);		    \
-    }									    \
-} STMT_END
-
-/* Generates code to add the two UTF-8 bytes (probably u) that are the upper
- * case of l into p and p+1.  u must be the result of toUPPER_LATIN1_MOD(l),
- * and must require two bytes to store it.  Advances p to point to the next
- * available position */
-#define CAT_TWO_BYTE_UNI_UPPER_MOD(p, l, u)				    \
-STMT_START {								    \
-    if ((u) != LATIN_SMALL_LETTER_Y_WITH_DIAERESIS) {			    \
-	CAT_UNI_TO_UTF8_TWO_BYTE((p), (u)); /* not special, just save it */ \
-    } else if (l == LATIN_SMALL_LETTER_SHARP_S) {			    \
-	*(p)++ = 'S'; *(p)++ = 'S'; /* upper case is 'SS' */		    \
-    } else {/* else is one of the other two special cases */		    \
-	CAT_NON_LATIN1_UC((p), (l));					    \
-    }									    \
-} STMT_END
-
 PP(pp_ucfirst)
 {
     /* Actually is both lcfirst() and ucfirst().  Only the first character
@@ -3928,6 +3469,7 @@
     STRLEN tculen;  /* tculen is the byte length of the freshly titlecased (or
 		     * lowercased) character stored in tmpbuf.  May be either
 		     * UTF-8 or not, but in either case is the number of bytes */
+    bool tainted = FALSE;
 
     SvGETMAGIC(source);
     if (SvOK(source)) {
@@ -3950,107 +3492,28 @@
 
     if (! slen) {   /* If empty */
 	need = 1; /* still need a trailing NUL */
+	ulen = 0;
     }
     else if (DO_UTF8(source)) {	/* Is the source utf8? */
 	doing_utf8 = TRUE;
-
-/* TODO: This is #ifdefd out because it has hard-coded the standard mappings,
- * and doesn't allow for the user to specify their own.  When code is added to
- * detect if there is a user-defined mapping in force here, and if so to use
- * that, then the code below can be compiled.  The detection would be a good
- * thing anyway, as currently the user-defined mappings only work on utf8
- * strings, and thus depend on the chosen internal storage method, which is a
- * bad thing */
-#ifdef GO_AHEAD_AND_BREAK_USER_DEFINED_CASE_MAPPINGS
-	if (UTF8_IS_INVARIANT(*s)) {
-
-	    /* An invariant source character is either ASCII or, in EBCDIC, an
-	     * ASCII equivalent or a caseless C1 control.  In both these cases,
-	     * the lower and upper cases of any character are also invariants
-	     * (and title case is the same as upper case).  So it is safe to
-	     * use the simple case change macros which avoid the overhead of
-	     * the general functions.  Note that if perl were to be extended to
-	     * do locale handling in UTF-8 strings, this wouldn't be true in,
-	     * for example, Lithuanian or Turkic.  */
-	    *tmpbuf = (op_type == OP_LCFIRST) ? toLOWER(*s) : toUPPER(*s);
-	    tculen = ulen = 1;
-	    need = slen + 1;
+        ulen = UTF8SKIP(s);
+        if (op_type == OP_UCFIRST) {
+	    _to_utf8_title_flags(s, tmpbuf, &tculen,
+				 cBOOL(IN_LOCALE_RUNTIME), &tainted);
 	}
-	else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
-	    U8 chr;
-
-	    /* Similarly, if the source character isn't invariant but is in the
-	     * latin1 range (or EBCDIC equivalent thereof), we have the case
-	     * changes compiled into perl, and can avoid the overhead of the
-	     * general functions.  In this range, the characters are stored as
-	     * two UTF-8 bytes, and it so happens that any changed-case version
-	     * is also two bytes (in both ASCIIish and EBCDIC machines). */
-	    tculen = ulen = 2;
-	    need = slen + 1;
-
-	    /* Convert the two source bytes to a single Unicode code point
-	     * value, change case and save for below */
-	    chr = TWO_BYTE_UTF8_TO_UNI(*s, *(s+1));
-	    if (op_type == OP_LCFIRST) {    /* lower casing is easy */
-		U8 lower = toLOWER_LATIN1(chr);
-		STORE_UNI_TO_UTF8_TWO_BYTE(tmpbuf, lower);
-	    }
-	    else {	/* ucfirst */
-		U8 upper = toUPPER_LATIN1_MOD(chr);
-
-		/* Most of the latin1 range characters are well-behaved.  Their
-		 * title and upper cases are the same, and are also in the
-		 * latin1 range.  The macro above returns their upper (hence
-		 * title) case, and all that need be done is to save the result
-		 * for below.  However, several characters are problematic, and
-		 * have to be handled specially.  The MOD in the macro name
-		 * above means that these tricky characters all get mapped to
-		 * the single character LATIN_SMALL_LETTER_Y_WITH_DIAERESIS.
-		 * This mapping saves some tests for the majority of the
-		 * characters */
-
-		if (upper != LATIN_SMALL_LETTER_Y_WITH_DIAERESIS) {
-
-		    /* Not tricky.  Just save it. */
-		    STORE_UNI_TO_UTF8_TWO_BYTE(tmpbuf, upper);
-		}
-		else if (chr == LATIN_SMALL_LETTER_SHARP_S) {
-
-		    /* This one is tricky because it is two characters long,
-		     * though the UTF-8 is still two bytes, so the stored
-		     * length doesn't change */
-		    *tmpbuf = 'S';  /* The UTF-8 is 'Ss' */
-		    *(tmpbuf + 1) = 's';
-		}
-		else {
-
-		    /* The other two have their title and upper cases the same,
-		     * but are tricky because the changed-case characters
-		     * aren't in the latin1 range.  They, however, do fit into
-		     * two UTF-8 bytes */
-		    STORE_NON_LATIN1_UC(tmpbuf, chr);    
-		}
-	    }
+        else {
+	    _to_utf8_lower_flags(s, tmpbuf, &tculen,
+				 cBOOL(IN_LOCALE_RUNTIME), &tainted);
 	}
-	else {
-#endif	/* end of dont want to break user-defined casing */
 
-	    /* Here, can't short-cut the general case */
-
-	    utf8_to_uvchr(s, &ulen);
-	    if (op_type == OP_UCFIRST) toTITLE_utf8(s, tmpbuf, &tculen);
-	    else toLOWER_utf8(s, tmpbuf, &tculen);
-
-	    /* we can't do in-place if the length changes.  */
-	    if (ulen != tculen) inplace = FALSE;
-	    need = slen + 1 - ulen + tculen;
-#ifdef GO_AHEAD_AND_BREAK_USER_DEFINED_CASE_MAPPINGS
-	}
-#endif
+        /* we can't do in-place if the length changes.  */
+        if (ulen != tculen) inplace = FALSE;
+        need = slen + 1 - ulen + tculen;
     }
     else { /* Non-zero length, non-UTF-8,  Need to consider locale and if
 	    * latin1 is treated as caseless.  Note that a locale takes
 	    * precedence */ 
+	ulen = 1;	/* Original character is 1 byte */
 	tculen = 1;	/* Most characters will require one byte, but this will
 			 * need to be overridden for the tricky ones */
 	need = slen + 1;
@@ -4073,44 +3536,42 @@
 					 * native function does */
 	}
 	else { /* is ucfirst non-UTF-8, not in locale, and cased latin1 */
-	    *tmpbuf = toUPPER_LATIN1_MOD(*s);
+	    UV title_ord = _to_upper_title_latin1(*s, tmpbuf, &tculen, 's');
+	    if (tculen > 1) {
+		assert(tculen == 2);
 
-	    /* tmpbuf now has the correct title case for all latin1 characters
-	     * except for the several ones that have tricky handling.  All
-	     * of these are mapped by the MOD to the letter below. */
-	    if (*tmpbuf == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS) {
-
-		/* The length is going to change, with all three of these, so
-		 * can't replace just the first character */
-		inplace = FALSE;
-
-		/* We use the original to distinguish between these tricky
-		 * cases */
-		if (*s == LATIN_SMALL_LETTER_SHARP_S) {
-		    /* Two character title case 'Ss', but can remain non-UTF-8 */
-		    need = slen + 2;
-		    *tmpbuf = 'S';
-		    *(tmpbuf + 1) = 's';   /* Assert: length(tmpbuf) >= 2 */
-		    tculen = 2;
+                /* If the result is an upper Latin1-range character, it can
+                 * still be represented in one byte, which is its ordinal */
+		if (UTF8_IS_DOWNGRADEABLE_START(*tmpbuf)) {
+		    *tmpbuf = (U8) title_ord;
+		    tculen = 1;
 		}
 		else {
+                    /* Otherwise it became more than one ASCII character (in
+                     * the case of LATIN_SMALL_LETTER_SHARP_S) or changed to
+                     * beyond Latin1, so the number of bytes changed, so can't
+                     * replace just the first character in place. */
+		    inplace = FALSE;
 
-		    /* The other two tricky ones have their title case outside
-		     * latin1.  It is the same as their upper case. */
-		    doing_utf8 = TRUE;
-		    STORE_NON_LATIN1_UC(tmpbuf, *s);
+                    /* If the result won't fit in a byte, the entire result
+                     * will have to be in UTF-8.  Assume worst case sizing in
+                     * conversion. (all latin1 characters occupy at most two
+                     * bytes in utf8) */
+		    if (title_ord > 255) {
+			doing_utf8 = TRUE;
+			convert_source_to_utf8 = TRUE;
+			need = slen * 2 + 1;
 
-		    /* The UTF-8 and UTF-EBCDIC lengths of both these characters
-		     * and their upper cases is 2. */
-		    tculen = ulen = 2;
-
-		    /* The entire result will have to be in UTF-8.  Assume worst
-		     * case sizing in conversion. (all latin1 characters occupy
-		     * at most two bytes in utf8) */
-		    convert_source_to_utf8 = TRUE;
-		    need = slen * 2 + 1;
+                        /* The (converted) UTF-8 and UTF-EBCDIC lengths of all
+                         * (both) characters whose title case is above 255 is
+                         * 2. */
+			ulen = 2;
+		    }
+                    else { /* LATIN_SMALL_LETTER_SHARP_S expands by 1 byte */
+			need = slen + 1 + 1;
+		    }
 		}
-	    } /* End of is one of the three special chars */
+	    }
 	} /* End of use Unicode (Latin1) semantics */
     } /* End of changing the case of the first character */
 
@@ -4175,6 +3636,11 @@
 	    Copy(tmpbuf, d, tculen, U8);
 	    SvCUR_set(dest, need - 1);
 	}
+
+	if (tainted) {
+	    TAINT;
+	    SvTAINTED_on(dest);
+	}
     }
     else {  /* Neither source nor dest are in or need to be UTF-8 */
 	if (slen) {
@@ -4280,6 +3746,7 @@
     if (DO_UTF8(source)) {
 	const U8 *const send = s + len;
 	U8 tmpbuf[UTF8_MAXBYTES+1];
+	bool tainted = FALSE;
 
 	/* All occurrences of these are to be moved to follow any other marks.
 	 * This is context-dependent.  We may not be passed enough context to
@@ -4294,7 +3761,11 @@
 	bool in_iota_subscript = FALSE;
 
 	while (s < send) {
-	    if (in_iota_subscript && ! is_utf8_mark(s)) {
+	    STRLEN u;
+	    STRLEN ulen;
+	    UV uv;
+	    if (in_iota_subscript && ! _is_utf8_mark(s)) {
+
 		/* A non-mark.  Time to output the iota subscript */
 #define GREEK_CAPITAL_LETTER_IOTA 0x0399
 #define COMBINING_GREEK_YPOGEGRAMMENI 0x0345
@@ -4301,63 +3772,37 @@
 
 		CAT_UNI_TO_UTF8_TWO_BYTE(d, GREEK_CAPITAL_LETTER_IOTA);
 		in_iota_subscript = FALSE;
-	    }
+            }
 
+            /* Then handle the current character.  Get the changed case value
+             * and copy it to the output buffer */
 
-/* See comments at the first instance in this file of this ifdef */
-#ifdef GO_AHEAD_AND_BREAK_USER_DEFINED_CASE_MAPPINGS
+            u = UTF8SKIP(s);
+            uv = _to_utf8_upper_flags(s, tmpbuf, &ulen,
+				      cBOOL(IN_LOCALE_RUNTIME), &tainted);
+            if (uv == GREEK_CAPITAL_LETTER_IOTA
+                && utf8_to_uvchr_buf(s, send, 0) == COMBINING_GREEK_YPOGEGRAMMENI)
+            {
+                in_iota_subscript = TRUE;
+            }
+            else {
+                if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
+                    /* If the eventually required minimum size outgrows the
+                     * available space, we need to grow. */
+                    const UV o = d - (U8*)SvPVX_const(dest);
 
-	    /* If the UTF-8 character is invariant, then it is in the range
-	     * known by the standard macro; result is only one byte long */
-	    if (UTF8_IS_INVARIANT(*s)) {
-		*d++ = toUPPER(*s);
-		s++;
-	    }
-	    else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
-
-		/* Likewise, if it fits in a byte, its case change is in our
-		 * table */
-		U8 orig = TWO_BYTE_UTF8_TO_UNI(*s, *s++);
-		U8 upper = toUPPER_LATIN1_MOD(orig);
-		CAT_TWO_BYTE_UNI_UPPER_MOD(d, orig, upper);
-		s++;
-	    }
-	    else {
-#else
-	    {
-#endif
-
-		/* Otherwise, need the general UTF-8 case.  Get the changed
-		 * case value and copy it to the output buffer */
-
-		const STRLEN u = UTF8SKIP(s);
-		STRLEN ulen;
-
-		const UV uv = toUPPER_utf8(s, tmpbuf, &ulen);
-		if (uv == GREEK_CAPITAL_LETTER_IOTA
-		    && utf8_to_uvchr(s, 0) == COMBINING_GREEK_YPOGEGRAMMENI)
-		{
-		    in_iota_subscript = TRUE;
-		}
-		else {
-		    if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
-			/* If the eventually required minimum size outgrows
-			 * the available space, we need to grow. */
-			const UV o = d - (U8*)SvPVX_const(dest);
-
-			/* If someone uppercases one million U+03B0s we
-			 * SvGROW() one million times.  Or we could try
-			 * guessing how much to allocate without allocating too
-			 * much.  Such is life.  See corresponding comment in
-			 * lc code for another option */
-			SvGROW(dest, min);
-			d = (U8*)SvPVX(dest) + o;
-		    }
-		    Copy(tmpbuf, d, ulen, U8);
-		    d += ulen;
-		}
-		s += u;
-	    }
+                    /* If someone uppercases one million U+03B0s we SvGROW()
+                     * one million times.  Or we could try guessing how much to
+                     * allocate without allocating too much.  Such is life.
+                     * See corresponding comment in lc code for another option
+                     * */
+                    SvGROW(dest, min);
+                    d = (U8*)SvPVX(dest) + o;
+                }
+                Copy(tmpbuf, d, ulen, U8);
+                d += ulen;
+            }
+            s += u;
 	}
 	if (in_iota_subscript) {
 	    CAT_UNI_TO_UTF8_TWO_BYTE(d, GREEK_CAPITAL_LETTER_IOTA);
@@ -4364,7 +3809,12 @@
 	}
 	SvUTF8_on(dest);
 	*d = '\0';
+
 	SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
+	if (tainted) {
+	    TAINT;
+	    SvTAINTED_on(dest);
+	}
     }
     else {	/* Not UTF-8 */
 	if (len) {
@@ -4387,7 +3837,9 @@
 	    else {
 		for (; s < send; d++, s++) {
 		    *d = toUPPER_LATIN1_MOD(*s);
-		    if (*d != LATIN_SMALL_LETTER_Y_WITH_DIAERESIS) continue;
+		    if (LIKELY(*d != LATIN_SMALL_LETTER_Y_WITH_DIAERESIS)) {
+                        continue;
+                    }
 
 		    /* The mainstream case is the tight loop above.  To avoid
 		     * extra tests in that, all three characters that require
@@ -4448,23 +3900,13 @@
 						(send -s) * 2 + 1);
 		    d = (U8*)SvPVX(dest) + len;
 
-		    /* And append the current character's upper case in UTF-8 */
-		    CAT_NON_LATIN1_UC(d, *s);
-
 		    /* Now process the remainder of the source, converting to
 		     * upper and UTF-8.  If a resulting byte is invariant in
 		     * UTF-8, output it as-is, otherwise convert to UTF-8 and
 		     * append it to the output. */
-
-		    s++;
 		    for (; s < send; s++) {
-			U8 upper = toUPPER_LATIN1_MOD(*s);
-			if UTF8_IS_INVARIANT(upper) {
-			    *d++ = upper;
-			}
-			else {
-			    CAT_TWO_BYTE_UNI_UPPER_MOD(d, *s, upper);
-			}
+			(void) _to_upper_title_latin1(*s, d, &len, 'S');
+			d += len;
 		    }
 
 		    /* Here have processed the whole source; no need to continue
@@ -4543,139 +3985,47 @@
     if (DO_UTF8(source)) {
 	const U8 *const send = s + len;
 	U8 tmpbuf[UTF8_MAXBYTES_CASE+1];
+	bool tainted = FALSE;
 
 	while (s < send) {
-/* See comments at the first instance in this file of this ifdef */
-#ifdef GO_AHEAD_AND_BREAK_USER_DEFINED_CASE_MAPPINGS
-	    if (UTF8_IS_INVARIANT(*s)) {
+	    const STRLEN u = UTF8SKIP(s);
+	    STRLEN ulen;
 
-		/* Invariant characters use the standard mappings compiled in.
-		 */
-		*d++ = toLOWER(*s);
-		s++;
-	    }
-	    else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
+	    _to_utf8_lower_flags(s, tmpbuf, &ulen,
+				 cBOOL(IN_LOCALE_RUNTIME), &tainted);
 
-		/* As do the ones in the Latin1 range */
-		U8 lower = toLOWER_LATIN1(TWO_BYTE_UTF8_TO_UNI(*s, *s++));
-		CAT_UNI_TO_UTF8_TWO_BYTE(d, lower);
-		s++;
-	    }
-	    else {
-#endif
-		/* Here, is utf8 not in Latin-1 range, have to go out and get
-		 * the mappings from the tables. */
+	    /* Here is where we would do context-sensitive actions.  See the
+	     * commit message for this comment for why there isn't any */
 
-		const STRLEN u = UTF8SKIP(s);
-		STRLEN ulen;
+	    if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
 
-#ifndef CONTEXT_DEPENDENT_CASING
-		toLOWER_utf8(s, tmpbuf, &ulen);
-#else
-/* This is ifdefd out because it needs more work and thought.  It isn't clear
- * that we should do it.
- * A minor objection is that this is based on a hard-coded rule from the
- *  Unicode standard, and may change, but this is not very likely at all.
- *  mktables should check and warn if it does.
- * More importantly, if the sigma occurs at the end of the string, we don't
- * have enough context to know whether it is part of a larger string or going
- * to be or not.  It may be that we are passed a subset of the context, via
- * a \U...\E, for example, and we could conceivably know the larger context if
- * code were changed to pass that in.  But, if the string passed in is an
- * intermediate result, and the user concatenates two strings together
- * after we have made a final sigma, that would be wrong.  If the final sigma
- * occurs in the middle of the string we are working on, then we know that it
- * should be a final sigma, but otherwise we can't be sure. */
+		/* If the eventually required minimum size outgrows the
+		 * available space, we need to grow. */
+		const UV o = d - (U8*)SvPVX_const(dest);
 
-		const UV uv = toLOWER_utf8(s, tmpbuf, &ulen);
+		/* If someone lowercases one million U+0130s we SvGROW() one
+		 * million times.  Or we could try guessing how much to
+		 * allocate without allocating too much.  Such is life.
+		 * Another option would be to grow an extra byte or two more
+		 * each time we need to grow, which would cut down the million
+		 * to 500K, with little waste */
+		SvGROW(dest, min);
+		d = (U8*)SvPVX(dest) + o;
+	    }
 
-		/* If the lower case is a small sigma, it may be that we need
-		 * to change it to a final sigma.  This happens at the end of 
-		 * a word that contains more than just this character, and only
-		 * when we started with a capital sigma. */
-		if (uv == UNICODE_GREEK_SMALL_LETTER_SIGMA &&
-		    s > send - len &&	/* Makes sure not the first letter */
-		    utf8_to_uvchr(s, 0) == UNICODE_GREEK_CAPITAL_LETTER_SIGMA
-		) {
-
-		    /* We use the algorithm in:
-		     * http://www.unicode.org/versions/Unicode5.0.0/ch03.pdf (C
-		     * is a CAPITAL SIGMA): If C is preceded by a sequence
-		     * consisting of a cased letter and a case-ignorable
-		     * sequence, and C is not followed by a sequence consisting
-		     * of a case ignorable sequence and then a cased letter,
-		     * then when lowercasing C, C becomes a final sigma */
-
-		    /* To determine if this is the end of a word, need to peek
-		     * ahead.  Look at the next character */
-		    const U8 *peek = s + u;
-
-		    /* Skip any case ignorable characters */
-		    while (peek < send && is_utf8_case_ignorable(peek)) {
-			peek += UTF8SKIP(peek);
-		    }
-
-		    /* If we reached the end of the string without finding any
-		     * non-case ignorable characters, or if the next such one
-		     * is not-cased, then we have met the conditions for it
-		     * being a final sigma with regards to peek ahead, and so
-		     * must do peek behind for the remaining conditions. (We
-		     * know there is stuff behind to look at since we tested
-		     * above that this isn't the first letter) */
-		    if (peek >= send || ! is_utf8_cased(peek)) {
-			peek = utf8_hop(s, -1);
-
-			/* Here are at the beginning of the first character
-			 * before the original upper case sigma.  Keep backing
-			 * up, skipping any case ignorable characters */
-			while (is_utf8_case_ignorable(peek)) {
-			    peek = utf8_hop(peek, -1);
-			}
-
-			/* Here peek points to the first byte of the closest
-			 * non-case-ignorable character before the capital
-			 * sigma.  If it is cased, then by the Unicode
-			 * algorithm, we should use a small final sigma instead
-			 * of what we have */
-			if (is_utf8_cased(peek)) {
-			    STORE_UNI_TO_UTF8_TWO_BYTE(tmpbuf,
-					UNICODE_GREEK_SMALL_LETTER_FINAL_SIGMA);
-			}
-		    }
-		}
-		else {	/* Not a context sensitive mapping */
-#endif	/* End of commented out context sensitive */
-		    if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
-
-			/* If the eventually required minimum size outgrows
-			 * the available space, we need to grow. */
-			const UV o = d - (U8*)SvPVX_const(dest);
-
-			/* If someone lowercases one million U+0130s we
-			 * SvGROW() one million times.  Or we could try
-			 * guessing how much to allocate without allocating too
-			 * much.  Such is life.  Another option would be to
-			 * grow an extra byte or two more each time we need to
-			 * grow, which would cut down the million to 500K, with
-			 * little waste */
-			SvGROW(dest, min);
-			d = (U8*)SvPVX(dest) + o;
-		    }
-#ifdef CONTEXT_DEPENDENT_CASING
-		}
-#endif
-		/* Copy the newly lowercased letter to the output buffer we're
-		 * building */
-		Copy(tmpbuf, d, ulen, U8);
-		d += ulen;
-		s += u;
-#ifdef GO_AHEAD_AND_BREAK_USER_DEFINED_CASE_MAPPINGS
-	    }
-#endif
+	    /* Copy the newly lowercased letter to the output buffer we're
+	     * building */
+	    Copy(tmpbuf, d, ulen, U8);
+	    d += ulen;
+	    s += u;
 	}   /* End of looping through the source string */
 	SvUTF8_on(dest);
 	*d = '\0';
 	SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
+	if (tainted) {
+	    TAINT;
+	    SvTAINTED_on(dest);
+	}
     } else {	/* Not utf8 */
 	if (len) {
 	    const U8 *const send = s + len;
@@ -4716,36 +4066,61 @@
     dVAR; dSP; dTARGET;
     SV * const sv = TOPs;
     STRLEN len;
-    register const char *s = SvPV_const(sv,len);
+    const char *s = SvPV_const(sv,len);
 
     SvUTF8_off(TARG);				/* decontaminate */
     if (len) {
-	register char *d;
+	char *d;
 	SvUPGRADE(TARG, SVt_PV);
 	SvGROW(TARG, (len * 2) + 1);
 	d = SvPVX(TARG);
 	if (DO_UTF8(sv)) {
 	    while (len) {
-		if (UTF8_IS_CONTINUED(*s)) {
-		    STRLEN ulen = UTF8SKIP(s);
-		    if (ulen > len)
-			ulen = len;
-		    len -= ulen;
-		    while (ulen--)
-			*d++ = *s++;
+		STRLEN ulen = UTF8SKIP(s);
+		bool to_quote = FALSE;
+
+		if (UTF8_IS_INVARIANT(*s)) {
+		    if (_isQUOTEMETA(*s)) {
+			to_quote = TRUE;
+		    }
 		}
-		else {
-		    if (!isALNUM(*s))
-			*d++ = '\\';
+		else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
+
+		    /* In locale, we quote all non-ASCII Latin1 chars.
+		     * Otherwise use the quoting rules */
+		    if (IN_LOCALE_RUNTIME
+			|| _isQUOTEMETA(TWO_BYTE_UTF8_TO_UNI(*s, *(s + 1))))
+		    {
+			to_quote = TRUE;
+		    }
+		}
+		else if (is_QUOTEMETA_high(s)) {
+		    to_quote = TRUE;
+		}
+
+		if (to_quote) {
+		    *d++ = '\\';
+		}
+		if (ulen > len)
+		    ulen = len;
+		len -= ulen;
+		while (ulen--)
 		    *d++ = *s++;
-		    len--;
-		}
 	    }
 	    SvUTF8_on(TARG);
 	}
+	else if (IN_UNI_8_BIT) {
+	    while (len--) {
+		if (_isQUOTEMETA(*s))
+		    *d++ = '\\';
+		*d++ = *s++;
+	    }
+	}
 	else {
+	    /* For non UNI_8_BIT (and hence in locale) just quote all \W
+	     * including everything above ASCII */
 	    while (len--) {
-		if (!isALNUM(*s))
+		if (!isWORDCHAR_A(*s))
 		    *d++ = '\\';
 		*d++ = *s++;
 	    }
@@ -4760,16 +4135,168 @@
     RETURN;
 }
 
+PP(pp_fc)
+{
+    dVAR;
+    dTARGET;
+    dSP;
+    SV *source = TOPs;
+    STRLEN len;
+    STRLEN min;
+    SV *dest;
+    const U8 *s;
+    const U8 *send;
+    U8 *d;
+    U8 tmpbuf[UTF8_MAXBYTES * UTF8_MAX_FOLD_CHAR_EXPAND + 1];
+    const bool full_folding = TRUE;
+    const U8 flags = ( full_folding      ? FOLD_FLAGS_FULL   : 0 )
+                   | ( IN_LOCALE_RUNTIME ? FOLD_FLAGS_LOCALE : 0 );
+
+    /* This is a facsimile of pp_lc, but with a thousand bugs thanks to me.
+     * You are welcome(?) -Hugmeir
+     */
+
+    SvGETMAGIC(source);
+
+    dest = TARG;
+
+    if (SvOK(source)) {
+        s = (const U8*)SvPV_nomg_const(source, len);
+    } else {
+        if (ckWARN(WARN_UNINITIALIZED))
+	    report_uninit(source);
+	s = (const U8*)"";
+	len = 0;
+    }
+
+    min = len + 1;
+
+    SvUPGRADE(dest, SVt_PV);
+    d = (U8*)SvGROW(dest, min);
+    (void)SvPOK_only(dest);
+
+    SETs(dest);
+
+    send = s + len;
+    if (DO_UTF8(source)) { /* UTF-8 flagged string. */
+        bool tainted = FALSE;
+        while (s < send) {
+            const STRLEN u = UTF8SKIP(s);
+            STRLEN ulen;
+
+            _to_utf8_fold_flags(s, tmpbuf, &ulen, flags, &tainted);
+
+            if (ulen > u && (SvLEN(dest) < (min += ulen - u))) {
+                const UV o = d - (U8*)SvPVX_const(dest);
+                SvGROW(dest, min);
+                d = (U8*)SvPVX(dest) + o;
+            }
+
+            Copy(tmpbuf, d, ulen, U8);
+            d += ulen;
+            s += u;
+        }
+        SvUTF8_on(dest);
+	if (tainted) {
+	    TAINT;
+	    SvTAINTED_on(dest);
+	}
+    } /* Unflagged string */
+    else if (len) {
+        /* For locale, bytes, and nothing, the behavior is supposed to be the
+         * same as lc().
+         */
+        if ( IN_LOCALE_RUNTIME ) { /* Under locale */
+            TAINT;
+            SvTAINTED_on(dest);
+            for (; s < send; d++, s++)
+                *d = toLOWER_LC(*s);
+        }
+        else if ( !IN_UNI_8_BIT ) { /* Under nothing, or bytes */
+            for (; s < send; d++, s++)
+                *d = toLOWER(*s);
+        }
+        else {
+            /* For ASCII and the Latin-1 range, there's only two troublesome
+             * folds, \x{DF} (\N{LATIN SMALL LETTER SHARP S}), which under full
+             * casefolding becomes 'ss', and \x{B5} (\N{MICRO SIGN}), which
+             * under any fold becomes \x{3BC} (\N{GREEK SMALL LETTER MU}) --
+             * For the rest, the casefold is their lowercase.  */
+            for (; s < send; d++, s++) {
+                if (*s == MICRO_SIGN) {
+                    /* \N{MICRO SIGN}'s casefold is \N{GREEK SMALL LETTER MU},
+                     * which is outside of the latin-1 range. There's a couple
+                     * of ways to deal with this -- khw discusses them in
+                     * pp_lc/uc, so go there :) What we do here is upgrade what
+                     * we had already casefolded, then enter an inner loop that
+                     * appends the rest of the characters as UTF-8. */
+                    len = d - (U8*)SvPVX_const(dest);
+                    SvCUR_set(dest, len);
+                    len = sv_utf8_upgrade_flags_grow(dest,
+                                                SV_GMAGIC|SV_FORCE_UTF8_UPGRADE,
+						/* The max expansion for latin1
+						 * chars is 1 byte becomes 2 */
+                                                (send -s) * 2 + 1);
+                    d = (U8*)SvPVX(dest) + len;
+
+                    CAT_UNI_TO_UTF8_TWO_BYTE(d, GREEK_SMALL_LETTER_MU);
+                    s++;
+                    for (; s < send; s++) {
+                        STRLEN ulen;
+                        UV fc = _to_uni_fold_flags(*s, tmpbuf, &ulen, flags);
+                        if UNI_IS_INVARIANT(fc) {
+                            if (full_folding
+                                && *s == LATIN_SMALL_LETTER_SHARP_S)
+                            {
+                                *d++ = 's';
+                                *d++ = 's';
+                            }
+                            else
+                                *d++ = (U8)fc;
+                        }
+                        else {
+                            Copy(tmpbuf, d, ulen, U8);
+                            d += ulen;
+                        }
+                    }
+                    break;
+                }
+                else if (full_folding && *s == LATIN_SMALL_LETTER_SHARP_S) {
+                    /* Under full casefolding, LATIN SMALL LETTER SHARP S
+                     * becomes "ss", which may require growing the SV. */
+                    if (SvLEN(dest) < ++min) {
+                        const UV o = d - (U8*)SvPVX_const(dest);
+                        SvGROW(dest, min);
+                        d = (U8*)SvPVX(dest) + o;
+                     }
+                    *(d)++ = 's';
+                    *d = 's';
+                }
+                else { /* If it's not one of those two, the fold is their lower
+                          case */
+                    *d = toLOWER_LATIN1(*s);
+                }
+             }
+        }
+    }
+    *d = '\0';
+    SvCUR_set(dest, d - (U8*)SvPVX_const(dest));
+
+    if (SvTAINTED(source))
+	SvTAINT(dest);
+    SvSETMAGIC(dest);
+    RETURN;
+}
+
 /* Arrays. */
 
 PP(pp_aslice)
 {
     dVAR; dSP; dMARK; dORIGMARK;
-    register AV *const av = MUTABLE_AV(POPs);
-    register const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
+    AV *const av = MUTABLE_AV(POPs);
+    const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
 
     if (SvTYPE(av) == SVt_PVAV) {
-	const I32 arybase = CopARYBASE_get(PL_curcop);
 	const bool localizing = PL_op->op_private & OPpLVAL_INTRO;
 	bool can_preserve = FALSE;
 
@@ -4781,7 +4308,7 @@
 	}
 
 	if (lval && localizing) {
-	    register SV **svp;
+	    SV **svp;
 	    I32 max = -1;
 	    for (svp = MARK + 1; svp <= SP; svp++) {
 		const I32 elem = SvIV(*svp);
@@ -4793,12 +4320,10 @@
 	}
 
 	while (++MARK <= SP) {
-	    register SV **svp;
+	    SV **svp;
 	    I32 elem = SvIV(*MARK);
 	    bool preeminent = TRUE;
 
-	    if (elem > 0)
-		elem -= arybase;
 	    if (localizing && can_preserve) {
 		/* If we can determine whether the element exist,
 		 * Try to preserve the existenceness of a tied array
@@ -4862,7 +4387,9 @@
 	return (SvTYPE(sv) == SVt_PVHV) ? Perl_do_kv(aTHX) : Perl_pp_akeys(aTHX);
     }
     else {
-	return (SvTYPE(sv) == SVt_PVHV) ? Perl_pp_each(aTHX) : Perl_pp_aeach(aTHX);
+	return (SvTYPE(sv) == SVt_PVHV)
+               ? Perl_pp_each(aTHX)
+               : Perl_pp_aeach(aTHX);
     }
 }
 
@@ -4884,7 +4411,7 @@
     }
 
     EXTEND(SP, 2);
-    mPUSHi(CopARYBASE_get(PL_curcop) + current);
+    mPUSHi(current);
     if (gimme == G_ARRAY) {
 	SV **const element = av_fetch(array, current, 0);
         PUSHs(element ? *element : &PL_sv_undef);
@@ -4907,13 +4434,12 @@
     }
     else if (gimme == G_ARRAY) {
         IV n = Perl_av_len(aTHX_ array);
-        IV i = CopARYBASE_get(PL_curcop);
+        IV i;
 
         EXTEND(SP, n + 1);
 
 	if (PL_op->op_type == OP_AKEYS || PL_op->op_type == OP_RKEYS) {
-	    n += i;
-	    for (;  i <= n;  i++) {
+	    for (i = 0;  i <= n;  i++) {
 		mPUSHi(i);
 	    }
 	}
@@ -4969,18 +4495,20 @@
     const I32 gimme = GIMME_V;
     const MAGIC *mg;
     HV *stash;
+    const bool sliced = !!(PL_op->op_private & OPpSLICE);
+    SV *unsliced_keysv = sliced ? NULL : POPs;
+    SV * const osv = POPs;
+    SV **mark = sliced ? PL_stack_base + POPMARK : &unsliced_keysv-1;
+    dORIGMARK;
+    const bool tied = SvRMAGICAL(osv)
+			    && mg_find((const SV *)osv, PERL_MAGIC_tied);
+    const bool can_preserve = SvCANEXISTDELETE(osv);
+    const U32 type = SvTYPE(osv);
+    SV ** const end = sliced ? SP : &unsliced_keysv;
 
-    if (PL_op->op_private & OPpSLICE) {
-	dMARK; dORIGMARK;
-	SV * const osv = POPs;
-	const bool tied = SvRMAGICAL(osv)
-			    && mg_find((const SV *)osv, PERL_MAGIC_tied);
-	const bool can_preserve = SvCANEXISTDELETE(osv)
-				    || mg_find((const SV *)osv, PERL_MAGIC_env);
-	const U32 type = SvTYPE(osv);
-	if (type == SVt_PVHV) {			/* hash element */
+    if (type == SVt_PVHV) {			/* hash element */
 	    HV * const hv = MUTABLE_HV(osv);
-	    while (++MARK <= SP) {
+	    while (++MARK <= end) {
 		SV * const keysv = *MARK;
 		SV *sv = NULL;
 		bool preeminent = TRUE;
@@ -4998,6 +4526,7 @@
 		    SvREFCNT_inc_simple_void(sv); /* De-mortalize */
 		}
 		if (preeminent) {
+		    if (!sv) DIE(aTHX_ PL_no_helem_sv, SVfARG(keysv));
 		    save_helem_flags(hv, keysv, &sv, SAVEf_KEEPOLDELEM);
 		    if (tied) {
 			*MARK = sv_mortalcopy(sv);
@@ -5010,11 +4539,11 @@
 		    *MARK = &PL_sv_undef;
 		}
 	    }
-	}
-	else if (type == SVt_PVAV) {                  /* array element */
+    }
+    else if (type == SVt_PVAV) {                  /* array element */
 	    if (PL_op->op_flags & OPf_SPECIAL) {
 		AV * const av = MUTABLE_AV(osv);
-		while (++MARK <= SP) {
+		while (++MARK <= end) {
 		    I32 idx = SvIV(*MARK);
 		    SV *sv = NULL;
 		    bool preeminent = TRUE;
@@ -5045,9 +4574,12 @@
 		    }
 		}
 	    }
-	}
-	else
+	    else
+		DIE(aTHX_ "panic: avhv_delete no longer supported");
+    }
+    else
 	    DIE(aTHX_ "Not a HASH reference");
+    if (sliced) {
 	if (gimme == G_VOID)
 	    SP = ORIGMARK;
 	else if (gimme == G_SCALAR) {
@@ -5059,81 +4591,8 @@
 	    SP = MARK;
 	}
     }
-    else {
-	SV * const keysv = POPs;
-	SV * const osv   = POPs;
-	const bool tied = SvRMAGICAL(osv)
-			    && mg_find((const SV *)osv, PERL_MAGIC_tied);
-	const bool can_preserve = SvCANEXISTDELETE(osv)
-				    || mg_find((const SV *)osv, PERL_MAGIC_env);
-	const U32 type = SvTYPE(osv);
-	SV *sv = NULL;
-	if (type == SVt_PVHV) {
-	    HV * const hv = MUTABLE_HV(osv);
-	    bool preeminent = TRUE;
-	    if (can_preserve)
-		preeminent = hv_exists_ent(hv, keysv, 0);
-	    if (tied) {
-		HE *he = hv_fetch_ent(hv, keysv, 1, 0);
-		if (he)
-		    sv = HeVAL(he);
-		else
-		    preeminent = FALSE;
-	    }
-	    else {
-		sv = hv_delete_ent(hv, keysv, 0, 0);
-		SvREFCNT_inc_simple_void(sv); /* De-mortalize */
-	    }
-	    if (preeminent) {
-		save_helem_flags(hv, keysv, &sv, SAVEf_KEEPOLDELEM);
-		if (tied) {
-		    SV *nsv = sv_mortalcopy(sv);
-		    mg_clear(sv);
-		    sv = nsv;
-		}
-	    }
-	    else
-		SAVEHDELETE(hv, keysv);
-	}
-	else if (type == SVt_PVAV) {
-	    if (PL_op->op_flags & OPf_SPECIAL) {
-		AV * const av = MUTABLE_AV(osv);
-		I32 idx = SvIV(keysv);
-		bool preeminent = TRUE;
-		if (can_preserve)
-		    preeminent = av_exists(av, idx);
-		if (tied) {
-		    SV **svp = av_fetch(av, idx, 1);
-		    if (svp)
-			sv = *svp;
-		    else
-			preeminent = FALSE;
-		}
-		else {
-		    sv = av_delete(av, idx, 0);
-		    SvREFCNT_inc_simple_void(sv); /* De-mortalize */
-		}
-		if (preeminent) {
-		    save_aelem_flags(av, idx, &sv, SAVEf_KEEPOLDELEM);
-		    if (tied) {
-			SV *nsv = sv_mortalcopy(sv);
-			mg_clear(sv);
-			sv = nsv;
-		    }
-		}
-		else
-		    SAVEADELETE(av, idx);
-	    }
-	    else
-		DIE(aTHX_ "panic: avhv_delete no longer supported");
-	}
-	else
-	    DIE(aTHX_ "Not a HASH reference");
-	if (!sv)
-	    sv = &PL_sv_undef;
-	if (gimme != G_VOID)
-	    PUSHs(sv);
-    }
+    else if (gimme != G_VOID)
+	PUSHs(unsliced_keysv);
 
     RETURN;
 }
@@ -5242,8 +4701,8 @@
 PP(pp_hslice)
 {
     dVAR; dSP; dMARK; dORIGMARK;
-    register HV * const hv = MUTABLE_HV(POPs);
-    register const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
+    HV * const hv = MUTABLE_HV(POPs);
+    const I32 lval = (PL_op->op_flags & OPf_MOD || LVRET);
     const bool localizing = PL_op->op_private & OPpLVAL_INTRO;
     bool can_preserve = FALSE;
 
@@ -5251,7 +4710,7 @@
         MAGIC *mg;
         HV *stash;
 
-	if (SvCANEXISTDELETE(hv) || mg_find((const SV *)hv, PERL_MAGIC_env))
+	if (SvCANEXISTDELETE(hv))
 	    can_preserve = TRUE;
     }
 
@@ -5273,7 +4732,7 @@
         svp = he ? &HeVAL(he) : NULL;
 
         if (lval) {
-            if (!svp || *svp == &PL_sv_undef) {
+            if (!svp || !*svp || *svp == &PL_sv_undef) {
                 DIE(aTHX_ PL_no_helem_sv, SVfARG(keysv));
             }
             if (localizing) {
@@ -5286,7 +4745,7 @@
 		    SAVEHDELETE(hv, keysv);
             }
         }
-        *MARK = svp ? *svp : &PL_sv_undef;
+        *MARK = svp && *svp ? *svp : &PL_sv_undef;
     }
     if (GIMME != G_ARRAY) {
 	MARK = ORIGMARK;
@@ -5318,19 +4777,16 @@
     SV ** const lastrelem = PL_stack_sp;
     SV ** const lastlelem = PL_stack_base + POPMARK;
     SV ** const firstlelem = PL_stack_base + POPMARK + 1;
-    register SV ** const firstrelem = lastlelem + 1;
-    const I32 arybase = CopARYBASE_get(PL_curcop);
+    SV ** const firstrelem = lastlelem + 1;
     I32 is_something_there = FALSE;
 
-    register const I32 max = lastrelem - lastlelem;
-    register SV **lelem;
+    const I32 max = lastrelem - lastlelem;
+    SV **lelem;
 
     if (GIMME != G_ARRAY) {
 	I32 ix = SvIV(*lastlelem);
 	if (ix < 0)
 	    ix += max;
-	else
-	    ix -= arybase;
 	if (ix < 0 || ix >= max)
 	    *firstlelem = &PL_sv_undef;
 	else
@@ -5348,8 +4804,6 @@
 	I32 ix = SvIV(*lelem);
 	if (ix < 0)
 	    ix += max;
-	else
-	    ix -= arybase;
 	if (ix < 0 || ix >= max)
 	    *lelem = &PL_sv_undef;
 	else {
@@ -5379,20 +4833,30 @@
 PP(pp_anonhash)
 {
     dVAR; dSP; dMARK; dORIGMARK;
-    HV* const hv = newHV();
+    HV* const hv = (HV *)sv_2mortal((SV *)newHV());
 
     while (MARK < SP) {
-	SV * const key = *++MARK;
-	SV * const val = newSV(0);
+	SV * const key =
+	    (MARK++, SvGMAGICAL(*MARK) ? sv_mortalcopy(*MARK) : *MARK);
+	SV *val;
 	if (MARK < SP)
-	    sv_setsv(val, *++MARK);
+	{
+	    MARK++;
+	    SvGETMAGIC(*MARK);
+	    val = newSV(0);
+	    sv_setsv(val, *MARK);
+	}
 	else
+	{
 	    Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "Odd number of elements in anonymous hash");
+	    val = newSV(0);
+	}
 	(void)hv_store_ent(hv,key,val,0);
     }
     SP = ORIGMARK;
-    mXPUSHs((PL_op->op_flags & OPf_SPECIAL)
-	    ? newRV_noinc(MUTABLE_SV(hv)) : MUTABLE_SV(hv));
+    if (PL_op->op_flags & OPf_SPECIAL)
+	mXPUSHs(newRV_inc(MUTABLE_SV(hv)));
+    else XPUSHs(MUTABLE_SV(hv));
     RETURN;
 }
 
@@ -5429,12 +4893,13 @@
 PP(pp_splice)
 {
     dVAR; dSP; dMARK; dORIGMARK;
-    register AV *ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
-    register SV **src;
-    register SV **dst;
-    register I32 i;
-    register I32 offset;
-    register I32 length;
+    int num_args = (SP - MARK);
+    AV *ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
+    SV **src;
+    SV **dst;
+    I32 i;
+    I32 offset;
+    I32 length;
     I32 newlen;
     I32 after;
     I32 diff;
@@ -5452,8 +4917,6 @@
 	offset = i = SvIV(*MARK);
 	if (offset < 0)
 	    offset += AvFILLp(ary) + 1;
-	else
-	    offset -= CopARYBASE_get(PL_curcop);
 	if (offset < 0)
 	    DIE(aTHX_ PL_no_aelem, i);
 	if (++MARK < SP) {
@@ -5472,7 +4935,8 @@
 	length = AvMAX(ary) + 1;
     }
     if (offset > AvFILLp(ary) + 1) {
-	Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "splice() offset past end of array" );
+	if (num_args > 2)
+	    Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "splice() offset past end of array" );
 	offset = AvFILLp(ary) + 1;
     }
     after = AvFILLp(ary) + 1 - (offset + length);
@@ -5632,7 +5096,7 @@
 PP(pp_push)
 {
     dVAR; dSP; dMARK; dORIGMARK; dTARGET;
-    register AV * const ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
+    AV * const ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
     const MAGIC * const mg = SvTIED_mg((const SV *)ary, PERL_MAGIC_tied);
 
     if (mg) {
@@ -5645,11 +5109,14 @@
 	SPAGAIN;
     }
     else {
+	if (SvREADONLY(ary) && MARK < SP) Perl_croak_no_modify();
 	PL_delaymagic = DM_DELAY;
 	for (++MARK; MARK <= SP; MARK++) {
-	    SV * const sv = newSV(0);
+	    SV *sv;
+	    if (*MARK) SvGETMAGIC(*MARK);
+	    sv = newSV(0);
 	    if (*MARK)
-		sv_setsv(sv, *MARK);
+		sv_setsv_nomg(sv, *MARK);
 	    av_store(ary, AvFILLp(ary)+1, sv);
 	}
 	if (PL_delaymagic & DM_ARRAY_ISA)
@@ -5682,7 +5149,7 @@
 PP(pp_unshift)
 {
     dVAR; dSP; dMARK; dORIGMARK; dTARGET;
-    register AV *ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
+    AV *ary = DEREF_PLAIN_ARRAY(MUTABLE_AV(*++MARK));
     const MAGIC * const mg = SvTIED_mg((const SV *)ary, PERL_MAGIC_tied);
 
     if (mg) {
@@ -5695,7 +5162,7 @@
 	SPAGAIN;
     }
     else {
-	register I32 i = 0;
+	I32 i = 0;
 	av_unshift(ary, SP - MARK);
 	while (MARK < SP) {
 	    SV * const sv = newSVsv(*++MARK);
@@ -5727,7 +5194,7 @@
 
 	    if (SvMAGICAL(av)) {
 		I32 i, j;
-		register SV *tmp = sv_newmortal();
+		SV *tmp = sv_newmortal();
 		/* For SvCANEXISTDELETE */
 		HV *stash;
 		const MAGIC *mg;
@@ -5734,12 +5201,12 @@
 		bool can_preserve = SvCANEXISTDELETE(av);
 
 		for (i = 0, j = av_len(av); i < j; ++i, --j) {
-		    register SV *begin, *end;
+		    SV *begin, *end;
 
 		    if (can_preserve) {
 			if (!av_exists(av, i)) {
 			    if (av_exists(av, j)) {
-				register SV *sv = av_delete(av, j, 0);
+				SV *sv = av_delete(av, j, 0);
 				begin = *av_fetch(av, i, TRUE);
 				sv_setsv_mg(begin, sv);
 			    }
@@ -5746,7 +5213,7 @@
 			    continue;
 			}
 			else if (!av_exists(av, j)) {
-			    register SV *sv = av_delete(av, i, 0);
+			    SV *sv = av_delete(av, i, 0);
 			    end = *av_fetch(av, j, TRUE);
 			    sv_setsv_mg(end, sv);
 			    continue;
@@ -5767,7 +5234,7 @@
 		    SV **end   = begin + AvFILLp(av);
 
 		    while (begin < end) {
-			register SV * const tmp = *begin;
+			SV * const tmp = *begin;
 			*begin++ = *end;
 			*end--   = tmp;
 		    }
@@ -5778,7 +5245,7 @@
 	    SV **oldsp = SP;
 	    MARK++;
 	    while (MARK < SP) {
-		register SV * const tmp = *MARK;
+		SV * const tmp = *MARK;
 		*MARK++ = *SP;
 		*SP--   = tmp;
 	    }
@@ -5787,9 +5254,9 @@
 	}
     }
     else {
-	register char *up;
-	register char *down;
-	register I32 tmp;
+	char *up;
+	char *down;
+	I32 tmp;
 	dTARGET;
 	STRLEN len;
 
@@ -5813,7 +5280,7 @@
 			continue;
 		    }
 		    else {
-			if (!utf8_to_uvchr(s, 0))
+			if (!utf8_to_uvchr_buf(s, send, 0))
 			    break;
 			up = (char*)s;
 			s += UTF8SKIP(s);
@@ -5846,18 +5313,20 @@
 {
     dVAR; dSP; dTARG;
     AV *ary;
-    register IV limit = POPi;			/* note, negative is forever */
+    IV limit = POPi;			/* note, negative is forever */
     SV * const sv = POPs;
     STRLEN len;
-    register const char *s = SvPV_const(sv, len);
+    const char *s = SvPV_const(sv, len);
     const bool do_utf8 = DO_UTF8(sv);
     const char *strend = s + len;
-    register PMOP *pm;
-    register REGEXP *rx;
-    register SV *dstr;
-    register const char *m;
+    PMOP *pm;
+    REGEXP *rx;
+    SV *dstr;
+    const char *m;
     I32 iters = 0;
-    const STRLEN slen = do_utf8 ? utf8_length((U8*)s, (U8*)strend) : (STRLEN)(strend - s);
+    const STRLEN slen = do_utf8
+                        ? utf8_length((U8*)s, (U8*)strend)
+                        : (STRLEN)(strend - s);
     I32 maxiters = slen + 10;
     I32 trailing_empty = 0;
     const char *orig;
@@ -5877,11 +5346,11 @@
     pm = (PMOP*)POPs;
 #endif
     if (!pm || !s)
-	DIE(aTHX_ "panic: pp_split");
+	DIE(aTHX_ "panic: pp_split, pm=%p, s=%p", pm, s);
     rx = PM_GETRE(pm);
 
     TAINT_IF(get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET &&
-	     (RX_EXTFLAGS(rx) & (RXf_WHITE | RXf_SKIPWHITE)));
+             (RX_EXTFLAGS(rx) & (RXf_WHITE | RXf_SKIPWHITE)));
 
     RX_MATCH_UTF8_set(rx, do_utf8);
 
@@ -5896,7 +5365,7 @@
 #endif
     else
 	ary = NULL;
-    if (ary && (gimme != G_ARRAY || (pm->op_pmflags & PMf_ONCE))) {
+    if (ary) {
 	realarray = 1;
 	PUTBACK;
 	av_extend(ary,0);
@@ -5912,7 +5381,7 @@
 		AvREAL_on(ary);
 		AvREIFY_off(ary);
 		for (i = AvFILLp(ary); i >= 0; i--)
-		    AvARRAY(ary)[i] = &PL_sv_undef;	/* don't free mere refs */
+		    AvARRAY(ary)[i] = &PL_sv_undef; /* don't free mere refs */
 	    }
 	    /* temporarily switch stacks */
 	    SAVESWITCHSTACK(PL_curstack, ary);
@@ -5923,7 +5392,7 @@
     orig = s;
     if (RX_EXTFLAGS(rx) & RXf_SKIPWHITE) {
 	if (do_utf8) {
-	    while (*s == ' ' || is_utf8_space((U8*)s))
+	    while (isSPACE_utf8(s))
 		s += UTF8SKIP(s);
 	}
 	else if (get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET) {
@@ -5948,9 +5417,9 @@
 	    m = s;
 	    /* this one uses 'm' and is a negative test */
 	    if (do_utf8) {
-		while (m < strend && !( *m == ' ' || is_utf8_space((U8*)m) )) {
+		while (m < strend && ! isSPACE_utf8(m) ) {
 		    const int t = UTF8SKIP(m);
-		    /* is_utf8_space returns FALSE for malform utf8 */
+		    /* isSPACE_utf8 returns FALSE for malform utf8 */
 		    if (strend - m < t)
 			m = strend;
 		    else
@@ -5957,7 +5426,8 @@
 			m += t;
 		}
 	    }
-	    else if (get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET) {
+	    else if (get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET)
+            {
 	        while (m < strend && !isSPACE_LC(*m))
 		    ++m;
             } else {
@@ -5987,10 +5457,11 @@
 
 	    /* this one uses 's' and is a positive test */
 	    if (do_utf8) {
-		while (s < strend && ( *s == ' ' || is_utf8_space((U8*)s) ))
+		while (s < strend && isSPACE_utf8(s) )
 	            s +=  UTF8SKIP(s);
 	    }
-	    else if (get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET) {
+	    else if (get_regex_charset(RX_EXTFLAGS(rx)) == REGEX_LOCALE_CHARSET)
+            {
 	        while (s < strend && isSPACE_LC(*s))
 		    ++s;
             } else {
@@ -6102,7 +5573,7 @@
 			trailing_empty = 0;
 		} else {
 		    dstr = newSVpvn_flags(s, m-s,
-					  (do_utf8 ? SVf_UTF8 : 0) | make_mortal);
+					 (do_utf8 ? SVf_UTF8 : 0) | make_mortal);
 		    XPUSHs(dstr);
 		}
 		/* The rx->minlen is in characters but we want to step
@@ -6126,7 +5597,7 @@
 			trailing_empty = 0;
 		} else {
 		    dstr = newSVpvn_flags(s, m-s,
-					  (do_utf8 ? SVf_UTF8 : 0) | make_mortal);
+					 (do_utf8 ? SVf_UTF8 : 0) | make_mortal);
 		    XPUSHs(dstr);
 		}
 		/* The rx->minlen is in characters but we want to step
@@ -6144,19 +5615,15 @@
 	{
 	    I32 rex_return;
 	    PUTBACK;
-	    rex_return = CALLREGEXEC(rx, (char*)s, (char*)strend, (char*)orig, 1 ,
-			    sv, NULL, 0);
+	    rex_return = CALLREGEXEC(rx, (char*)s, (char*)strend, (char*)orig, 1,
+				     sv, NULL, 0);
 	    SPAGAIN;
 	    if (rex_return == 0)
 		break;
 	    TAINT_IF(RX_MATCH_TAINTED(rx));
-	    if (RX_MATCH_COPIED(rx) && RX_SUBBEG(rx) != orig) {
-		m = s;
-		s = orig;
-		orig = RX_SUBBEG(rx);
-		s = orig + (m - s);
-		strend = s + (strend - m);
-	    }
+            /* we never pass the REXEC_COPY_STR flag, so it should
+             * never get copied */
+            assert(!RX_MATCH_COPIED(rx));
 	    m = RX_OFFS(rx)[0].start + orig;
 
 	    if (gimme_scalar) {
@@ -6294,9 +5761,9 @@
     dSP;
     dTOPss;
     SV *retsv = sv;
-    assert(SvTYPE(retsv) != SVt_PVCV);
     SvLOCK(sv);
-    if (SvTYPE(retsv) == SVt_PVAV || SvTYPE(retsv) == SVt_PVHV) {
+    if (SvTYPE(retsv) == SVt_PVAV || SvTYPE(retsv) == SVt_PVHV
+     || SvTYPE(retsv) == SVt_PVCV) {
 	retsv = refto(retsv);
     }
     SETs(retsv);
@@ -6323,32 +5790,170 @@
     DIE(aTHX_ "panic: unimplemented op %s (#%d) called", name,	op_type);
 }
 
-PP(pp_boolkeys)
+/* For sorting out arguments passed to a &CORE:: subroutine */
+PP(pp_coreargs)
 {
-    dVAR;
     dSP;
-    HV * const hv = (HV*)POPs;
-    
-    if (SvTYPE(hv) != SVt_PVHV) { XPUSHs(&PL_sv_no); RETURN; }
+    int opnum = SvIOK(cSVOP_sv) ? (int)SvUV(cSVOP_sv) : 0;
+    int defgv = PL_opargs[opnum] & OA_DEFGV ||opnum==OP_GLOB, whicharg = 0;
+    AV * const at_ = GvAV(PL_defgv);
+    SV **svp = at_ ? AvARRAY(at_) : NULL;
+    I32 minargs = 0, maxargs = 0, numargs = at_ ? AvFILLp(at_)+1 : 0;
+    I32 oa = opnum ? PL_opargs[opnum] >> OASHIFT : 0;
+    bool seen_question = 0;
+    const char *err = NULL;
+    const bool pushmark = PL_op->op_private & OPpCOREARGS_PUSHMARK;
 
-    if (SvRMAGICAL(hv)) {
-	MAGIC * const mg = mg_find((SV*)hv, PERL_MAGIC_tied);
-	if (mg) {
-            XPUSHs(magic_scalarpack(hv, mg));
+    /* Count how many args there are first, to get some idea how far to
+       extend the stack. */
+    while (oa) {
+	if ((oa & 7) == OA_LIST) { maxargs = I32_MAX; break; }
+	maxargs++;
+	if (oa & OA_OPTIONAL) seen_question = 1;
+	if (!seen_question) minargs++;
+	oa >>= 4;
+    }
+
+    if(numargs < minargs) err = "Not enough";
+    else if(numargs > maxargs) err = "Too many";
+    if (err)
+	/* diag_listed_as: Too many arguments for %s */
+	Perl_croak(aTHX_
+	  "%s arguments for %s", err,
+	   opnum ? PL_op_desc[opnum] : SvPV_nolen_const(cSVOP_sv)
+	);
+
+    /* Reset the stack pointer.  Without this, we end up returning our own
+       arguments in list context, in addition to the values we are supposed
+       to return.  nextstate usually does this on sub entry, but we need
+       to run the next op with the caller's hints, so we cannot have a
+       nextstate. */
+    SP = PL_stack_base + cxstack[cxstack_ix].blk_oldsp;
+
+    if(!maxargs) RETURN;
+
+    /* We do this here, rather than with a separate pushmark op, as it has
+       to come in between two things this function does (stack reset and
+       arg pushing).  This seems the easiest way to do it. */
+    if (pushmark) {
+	PUTBACK;
+	(void)Perl_pp_pushmark(aTHX);
+    }
+
+    EXTEND(SP, maxargs == I32_MAX ? numargs : maxargs);
+    PUTBACK; /* The code below can die in various places. */
+
+    oa = PL_opargs[opnum] >> OASHIFT;
+    for (; oa&&(numargs||!pushmark); (void)(numargs&&(++svp,--numargs))) {
+	whicharg++;
+	switch (oa & 7) {
+	case OA_SCALAR:
+	  try_defsv:
+	    if (!numargs && defgv && whicharg == minargs + 1) {
+		PUSHs(find_rundefsv2(
+		    find_runcv_where(FIND_RUNCV_level_eq, 1, NULL),
+		    cxstack[cxstack_ix].blk_oldcop->cop_seq
+		));
+	    }
+	    else PUSHs(numargs ? svp && *svp ? *svp : &PL_sv_undef : NULL);
+	    break;
+	case OA_LIST:
+	    while (numargs--) {
+		PUSHs(svp && *svp ? *svp : &PL_sv_undef);
+		svp++;
+	    }
 	    RETURN;
-        }	    
+	case OA_HVREF:
+	    if (!svp || !*svp || !SvROK(*svp)
+	     || SvTYPE(SvRV(*svp)) != SVt_PVHV)
+		DIE(aTHX_
+		/* diag_listed_as: Type of arg %d to &CORE::%s must be %s*/
+		 "Type of arg %d to &CORE::%s must be hash reference",
+		  whicharg, OP_DESC(PL_op->op_next)
+		);
+	    PUSHs(SvRV(*svp));
+	    break;
+	case OA_FILEREF:
+	    if (!numargs) PUSHs(NULL);
+	    else if(svp && *svp && SvROK(*svp) && isGV_with_GP(SvRV(*svp)))
+		/* no magic here, as the prototype will have added an extra
+		   refgen and we just want what was there before that */
+		PUSHs(SvRV(*svp));
+	    else {
+		const bool constr = PL_op->op_private & whicharg;
+		PUSHs(S_rv2gv(aTHX_
+		    svp && *svp ? *svp : &PL_sv_undef,
+		    constr, CopHINTS_get(PL_curcop) & HINT_STRICT_REFS,
+		    !constr
+		));
+	    }
+	    break;
+	case OA_SCALARREF:
+	  if (!numargs) goto try_defsv;
+	  else {
+	    const bool wantscalar =
+		PL_op->op_private & OPpCOREARGS_SCALARMOD;
+	    if (!svp || !*svp || !SvROK(*svp)
+	        /* We have to permit globrefs even for the \$ proto, as
+	           *foo is indistinguishable from ${\*foo}, and the proto-
+	           type permits the latter. */
+	     || SvTYPE(SvRV(*svp)) > (
+	             wantscalar       ? SVt_PVLV
+	           : opnum == OP_LOCK || opnum == OP_UNDEF
+	                              ? SVt_PVCV
+	           :                    SVt_PVHV
+	        )
+	       )
+		DIE(aTHX_
+		/* diag_listed_as: Type of arg %d to &CORE::%s must be %s*/
+		 "Type of arg %d to &CORE::%s must be %s",
+		  whicharg, PL_op_name[opnum],
+		  wantscalar
+		    ? "scalar reference"
+		    : opnum == OP_LOCK || opnum == OP_UNDEF
+		       ? "reference to one of [$@%&*]"
+		       : "reference to one of [$@%*]"
+		);
+	    PUSHs(SvRV(*svp));
+	    if (opnum == OP_UNDEF && SvRV(*svp) == (SV *)PL_defgv
+	     && cxstack[cxstack_ix].cx_type & CXp_HASARGS) {
+		/* Undo @_ localisation, so that sub exit does not undo
+		   part of our undeffing. */
+		PERL_CONTEXT *cx = &cxstack[cxstack_ix];
+		POP_SAVEARRAY();
+		cx->cx_type &= ~ CXp_HASARGS;
+		assert(!AvREAL(cx->blk_sub.argarray));
+	    }
+	  }
+	  break;
+	default:
+	    DIE(aTHX_ "panic: unknown OA_*: %x", (unsigned)(oa&7));
+	}
+	oa = oa >> 4;
     }
 
-    XPUSHs(boolSV(HvKEYS(hv) != 0));
     RETURN;
 }
 
+PP(pp_runcv)
+{
+    dSP;
+    CV *cv;
+    if (PL_op->op_private & OPpOFFBYONE) {
+	cv = find_runcv_where(FIND_RUNCV_level_eq, 1, NULL);
+    }
+    else cv = find_runcv(NULL);
+    XPUSHs(CvEVAL(cv) ? &PL_sv_undef : sv_2mortal(newRV((SV *)cv)));
+    RETURN;
+}
+
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pp.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pp.h
===================================================================
--- vendor/perl/dist/pp.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -67,7 +67,7 @@
 
 #define dSP		SV **sp = PL_stack_sp
 #define djSP		dSP
-#define dMARK		register SV **mark = PL_stack_base + POPMARK
+#define dMARK		SV **mark = PL_stack_base + POPMARK
 #define dORIGMARK	const I32 origmark = (I32)(mark - PL_stack_base)
 #define ORIGMARK	(PL_stack_base + origmark)
 
@@ -97,10 +97,11 @@
 Pops an SV off the stack.
 
 =for apidoc Amn|char*|POPp
-Pops a string off the stack. Deprecated. New code should use POPpx.
+Pops a string off the stack.
 
 =for apidoc Amn|char*|POPpx
-Pops a string off the stack.
+Pops a string off the stack.  Identical to POPp.  There are two names for
+historical reasons.
 
 =for apidoc Amn|char*|POPpbytex
 Pops a string off the stack which must consist of bytes i.e. characters < 256.
@@ -123,7 +124,7 @@
 #define RETURNX(x)	return (x, PUTBACK, NORMAL)
 
 #define POPs		(*sp--)
-#define POPp		(SvPVx(POPs, PL_na))		/* deprecated */
+#define POPp		POPpx
 #define POPpx		(SvPVx_nolen(POPs))
 #define POPpconstx	(SvPVx_nolen_const(POPs))
 #define POPpbytex	(SvPVbytex_nolen(POPs))
@@ -140,7 +141,7 @@
 #define TOPs		(*sp)
 #define TOPm1s		(*(sp-1))
 #define TOPp1s		(*(sp+1))
-#define TOPp		(SvPV(TOPs, PL_na))		/* deprecated */
+#define TOPp		TOPpx
 #define TOPpx		(SvPV_nolen(TOPs))
 #define TOPn		(SvNV(TOPs))
 #define TOPi		((IV)SvIV(TOPs))
@@ -277,16 +278,15 @@
 =cut
 */
 
-#define EXTEND(p,n)	STMT_START { if (PL_stack_max - p < (int)(n)) {		\
-			    sp = stack_grow(sp,p, (int) (n));		\
-			} } STMT_END
+#define EXTEND(p,n)    (void)(UNLIKELY(PL_stack_max - p < (int)(n)) &&         \
+			    (sp = stack_grow(sp,p, (int) (n))))
 
 /* Same thing, but update mark register too. */
-#define MEXTEND(p,n)	STMT_START {if (PL_stack_max - p < (int)(n)) {	\
-			    const int markoff = mark - PL_stack_base;	\
-			    sp = stack_grow(sp,p,(int) (n));		\
-			    mark = PL_stack_base + markoff;		\
-			} } STMT_END
+#define MEXTEND(p,n)   STMT_START {if (UNLIKELY(PL_stack_max - p < (int)(n))) {\
+                           const int markoff = mark - PL_stack_base;           \
+                           sp = stack_grow(sp,p,(int) (n));                    \
+                           mark = PL_stack_base + markoff;                     \
+                       } } STMT_END
 
 #define PUSHs(s)	(*++sp = (s))
 #define PUSHTARG	STMT_START { SvSETMAGIC(TARG); PUSHs(TARG); } STMT_END
@@ -295,7 +295,7 @@
 #define PUSHi(i)	STMT_START { sv_setiv(TARG, (IV)(i)); PUSHTARG; } STMT_END
 #define PUSHu(u)	STMT_START { sv_setuv(TARG, (UV)(u)); PUSHTARG; } STMT_END
 
-#define XPUSHs(s)	STMT_START { EXTEND(sp,1); (*++sp = (s)); } STMT_END
+#define XPUSHs(s)	(EXTEND(sp,1), *++sp = (s))
 #define XPUSHTARG	STMT_START { SvSETMAGIC(TARG); XPUSHs(TARG); } STMT_END
 #define XPUSHp(p,l)	STMT_START { sv_setpvn(TARG, (p), (l)); XPUSHTARG; } STMT_END
 #define XPUSHn(n)	STMT_START { sv_setnv(TARG, (NV)(n)); XPUSHTARG; } STMT_END
@@ -345,15 +345,7 @@
 #define dPOPXiirl(X)	IV right = POPi; IV left = CAT2(X,i)
 
 #define USE_LEFT(sv) \
-	(SvOK(sv) || SvGMAGICAL(sv) || !(PL_op->op_flags & OPf_STACKED))
-#define dPOPXnnrl_ul(X)	\
-    NV right = POPn;				\
-    SV *leftsv = CAT2(X,s);				\
-    NV left = USE_LEFT(leftsv) ? SvNV(leftsv) : 0.0
-#define dPOPXiirl_ul(X) \
-    IV right = POPi;					\
-    SV *leftsv = CAT2(X,s);				\
-    IV left = USE_LEFT(leftsv) ? SvIV(leftsv) : 0
+	(SvOK(sv) || !(PL_op->op_flags & OPf_STACKED))
 #define dPOPXiirl_ul_nomg(X) \
     IV right = (sp--, SvIV_nomg(TOPp1s));		\
     SV *leftsv = CAT2(X,s);				\
@@ -361,17 +353,13 @@
 
 #define dPOPPOPssrl	dPOPXssrl(POP)
 #define dPOPPOPnnrl	dPOPXnnrl(POP)
-#define dPOPPOPnnrl_ul	dPOPXnnrl_ul(POP)
 #define dPOPPOPiirl	dPOPXiirl(POP)
-#define dPOPPOPiirl_ul	dPOPXiirl_ul(POP)
 
 #define dPOPTOPssrl	dPOPXssrl(TOP)
 #define dPOPTOPnnrl	dPOPXnnrl(TOP)
-#define dPOPTOPnnrl_ul	dPOPXnnrl_ul(TOP)
 #define dPOPTOPnnrl_nomg \
     NV right = SvNV_nomg(TOPs); NV left = (sp--, SvNV_nomg(TOPs))
 #define dPOPTOPiirl	dPOPXiirl(TOP)
-#define dPOPTOPiirl_ul	dPOPXiirl_ul(TOP)
 #define dPOPTOPiirl_ul_nomg dPOPXiirl_ul_nomg(TOP)
 #define dPOPTOPiirl_nomg \
     IV right = SvIV_nomg(TOPs); IV left = (sp--, SvIV_nomg(TOPs))
@@ -400,7 +388,7 @@
 
 #define EXTEND_MORTAL(n) \
     STMT_START {							\
-	if (PL_tmps_ix + (n) >= PL_tmps_max)				\
+	if (UNLIKELY(PL_tmps_ix + (n) >= PL_tmps_max))			\
 	    tmps_grow(n);						\
     } STMT_END
 
@@ -410,6 +398,7 @@
 #define AMGf_unary	8
 #define AMGf_numeric	0x10	/* for Perl_try_amagic_bin */
 #define AMGf_set	0x20	/* for Perl_try_amagic_bin */
+#define AMGf_want_list	0x40
 
 
 /* do SvGETMAGIC on the stack args before checking for overload */
@@ -431,25 +420,45 @@
 /* No longer used in core. Use AMG_CALLunary instead */
 #define AMG_CALLun(sv,meth) AMG_CALLunary(sv, CAT2(meth,_amg))
 
-#define tryAMAGICunTARGET(meth, shift, jump)			\
+#define tryAMAGICunTARGETlist(meth, jump)			\
     STMT_START {						\
-	dATARGET;						\
 	dSP;							\
 	SV *tmpsv;						\
-	SV *arg= sp[shift];					\
+	SV *arg= *sp;						\
+        int gimme = GIMME_V;                                    \
 	if (SvAMAGIC(arg) &&					\
 	    (tmpsv = amagic_call(arg, &PL_sv_undef, meth,	\
-				 AMGf_noright | AMGf_unary))) {	\
+				 AMGf_want_list | AMGf_noright	\
+				|AMGf_unary))) {		\
 	    SPAGAIN;						\
-	    sp += shift;					\
-	    sv_setsv(TARG, tmpsv);				\
-	    if (opASSIGN)					\
-		sp--;						\
-	    SETTARG;						\
+            if (gimme == G_VOID) {                              \
+                (void)POPs; /* XXX ??? */                       \
+            }                                                   \
+            else if (gimme == G_ARRAY) {			\
+                int i;                                          \
+                I32 len;                                        \
+                assert(SvTYPE(tmpsv) == SVt_PVAV);              \
+                len = av_len((AV *)tmpsv) + 1;                  \
+                (void)POPs; /* get rid of the arg */            \
+                EXTEND(sp, len);                                \
+                for (i = 0; i < len; ++i)                       \
+                    PUSHs(av_shift((AV *)tmpsv));               \
+            }                                                   \
+            else { /* AMGf_want_scalar */                       \
+                dATARGET; /* just use the arg's location */     \
+                sv_setsv(TARG, tmpsv);                          \
+                if (opASSIGN)                                   \
+                    sp--;                                       \
+                SETTARG;                                        \
+            }                                                   \
 	    PUTBACK;						\
 	    if (jump) {						\
+	        OP *jump_o = NORMAL->op_next;                   \
+		while (jump_o->op_type == OP_NULL)		\
+		    jump_o = jump_o->op_next;			\
+		assert(jump_o->op_type == OP_ENTERSUB);		\
 		PL_markstack_ptr--;				\
-		return NORMAL->op_next->op_next;		\
+		return jump_o->op_next;				\
 	    }							\
 	    return NORMAL;					\
 	}							\
@@ -484,8 +493,8 @@
 
 #define SvCANEXISTDELETE(sv) \
  (!SvRMAGICAL(sv)            \
-  || ((mg = mg_find((const SV *) sv, PERL_MAGIC_tied))           \
-      && (stash = SvSTASH(SvRV(SvTIED_obj(MUTABLE_SV(sv), mg)))) \
+  || !(mg = mg_find((const SV *) sv, PERL_MAGIC_tied))           \
+  || (   (stash = SvSTASH(SvRV(SvTIED_obj(MUTABLE_SV(sv), mg)))) \
       && gv_fetchmethod_autoload(stash, "EXISTS", TRUE)          \
       && gv_fetchmethod_autoload(stash, "DELETE", TRUE)          \
      )                       \
@@ -492,6 +501,7 @@
   )
 
 #ifdef PERL_CORE
+
 /* These are just for Perl_tied_method(), which is not part of the public API.
    Use 0x04 rather than the next available bit, to help the compiler if the
    architecture can generate more efficient instructions.  */
@@ -498,6 +508,24 @@
 #  define TIED_METHOD_MORTALIZE_NOT_NEEDED	0x04
 #  define TIED_METHOD_ARGUMENTS_ON_STACK	0x08
 #  define TIED_METHOD_SAY			0x10
+
+/* Used in various places that need to dereference a glob or globref */
+#  define MAYBE_DEREF_GV_flags(sv,phlags)                          \
+    (                                                               \
+	(void)(phlags & SV_GMAGIC && (SvGETMAGIC(sv),0)),            \
+	isGV_with_GP(sv)                                              \
+	  ? (GV *)(sv)                                                \
+	  : SvROK(sv) && SvTYPE(SvRV(sv)) <= SVt_PVLV &&               \
+	    (SvGETMAGIC(SvRV(sv)), isGV_with_GP(SvRV(sv)))              \
+	     ? (GV *)SvRV(sv)                                            \
+	     : NULL                                                       \
+    )
+#  define MAYBE_DEREF_GV(sv)      MAYBE_DEREF_GV_flags(sv,SV_GMAGIC)
+#  define MAYBE_DEREF_GV_nomg(sv) MAYBE_DEREF_GV_flags(sv,0)
+
+#  define FIND_RUNCV_padid_eq	1
+#  define FIND_RUNCV_level_eq	2
+
 #endif
 
 /*
@@ -504,8 +532,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pp.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Deleted: vendor/perl/dist/pp.sym
===================================================================
--- vendor/perl/dist/pp.sym	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp.sym	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,409 +0,0 @@
-# -*- buffer-read-only: t -*-
-#
-# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-#   This file is built by opcode.pl from its data.  Any changes made here
-#   will be lost!
-#
-
-Perl_ck_anoncode
-Perl_ck_bitop
-Perl_ck_chdir
-Perl_ck_concat
-Perl_ck_defined
-Perl_ck_delete
-Perl_ck_die
-Perl_ck_eof
-Perl_ck_eval
-Perl_ck_exec
-Perl_ck_exists
-Perl_ck_exit
-Perl_ck_ftst
-Perl_ck_fun
-Perl_ck_glob
-Perl_ck_grep
-Perl_ck_index
-Perl_ck_join
-Perl_ck_lengthconst
-Perl_ck_lfun
-Perl_ck_listiob
-Perl_ck_match
-Perl_ck_method
-Perl_ck_null
-Perl_ck_open
-Perl_ck_readline
-Perl_ck_repeat
-Perl_ck_require
-Perl_ck_return
-Perl_ck_rfun
-Perl_ck_rvconst
-Perl_ck_sassign
-Perl_ck_select
-Perl_ck_shift
-Perl_ck_smartmatch
-Perl_ck_sort
-Perl_ck_spair
-Perl_ck_split
-Perl_ck_subr
-Perl_ck_substr
-Perl_ck_svconst
-Perl_ck_trunc
-Perl_ck_unpack
-Perl_pp_null
-Perl_pp_stub
-Perl_pp_scalar
-Perl_pp_pushmark
-Perl_pp_wantarray
-Perl_pp_const
-Perl_pp_gvsv
-Perl_pp_gv
-Perl_pp_gelem
-Perl_pp_padsv
-Perl_pp_padav
-Perl_pp_padhv
-Perl_pp_padany
-Perl_pp_pushre
-Perl_pp_rv2gv
-Perl_pp_rv2sv
-Perl_pp_av2arylen
-Perl_pp_rv2cv
-Perl_pp_anoncode
-Perl_pp_prototype
-Perl_pp_refgen
-Perl_pp_srefgen
-Perl_pp_ref
-Perl_pp_bless
-Perl_pp_backtick
-Perl_pp_glob
-Perl_pp_readline
-Perl_pp_rcatline
-Perl_pp_regcmaybe
-Perl_pp_regcreset
-Perl_pp_regcomp
-Perl_pp_match
-Perl_pp_qr
-Perl_pp_subst
-Perl_pp_substcont
-Perl_pp_trans
-Perl_pp_sassign
-Perl_pp_aassign
-Perl_pp_chop
-Perl_pp_schop
-Perl_pp_chomp
-Perl_pp_schomp
-Perl_pp_defined
-Perl_pp_undef
-Perl_pp_study
-Perl_pp_pos
-Perl_pp_preinc
-Perl_pp_predec
-Perl_pp_postinc
-Perl_pp_postdec
-Perl_pp_pow
-Perl_pp_multiply
-Perl_pp_i_multiply
-Perl_pp_divide
-Perl_pp_i_divide
-Perl_pp_modulo
-Perl_pp_i_modulo
-Perl_pp_repeat
-Perl_pp_add
-Perl_pp_i_add
-Perl_pp_subtract
-Perl_pp_i_subtract
-Perl_pp_concat
-Perl_pp_stringify
-Perl_pp_left_shift
-Perl_pp_right_shift
-Perl_pp_lt
-Perl_pp_i_lt
-Perl_pp_gt
-Perl_pp_i_gt
-Perl_pp_le
-Perl_pp_i_le
-Perl_pp_ge
-Perl_pp_i_ge
-Perl_pp_eq
-Perl_pp_i_eq
-Perl_pp_ne
-Perl_pp_i_ne
-Perl_pp_ncmp
-Perl_pp_i_ncmp
-Perl_pp_slt
-Perl_pp_sgt
-Perl_pp_sle
-Perl_pp_sge
-Perl_pp_seq
-Perl_pp_sne
-Perl_pp_scmp
-Perl_pp_bit_and
-Perl_pp_bit_xor
-Perl_pp_bit_or
-Perl_pp_negate
-Perl_pp_i_negate
-Perl_pp_not
-Perl_pp_complement
-Perl_pp_smartmatch
-Perl_pp_atan2
-Perl_pp_sin
-Perl_pp_cos
-Perl_pp_rand
-Perl_pp_srand
-Perl_pp_exp
-Perl_pp_log
-Perl_pp_sqrt
-Perl_pp_int
-Perl_pp_hex
-Perl_pp_oct
-Perl_pp_abs
-Perl_pp_length
-Perl_pp_substr
-Perl_pp_vec
-Perl_pp_index
-Perl_pp_rindex
-Perl_pp_sprintf
-Perl_pp_formline
-Perl_pp_ord
-Perl_pp_chr
-Perl_pp_crypt
-Perl_pp_ucfirst
-Perl_pp_lcfirst
-Perl_pp_uc
-Perl_pp_lc
-Perl_pp_quotemeta
-Perl_pp_rv2av
-Perl_pp_aelemfast
-Perl_pp_aelem
-Perl_pp_aslice
-Perl_pp_each
-Perl_pp_values
-Perl_pp_keys
-Perl_pp_delete
-Perl_pp_exists
-Perl_pp_rv2hv
-Perl_pp_helem
-Perl_pp_hslice
-Perl_pp_unpack
-Perl_pp_pack
-Perl_pp_split
-Perl_pp_join
-Perl_pp_list
-Perl_pp_lslice
-Perl_pp_anonlist
-Perl_pp_anonhash
-Perl_pp_splice
-Perl_pp_push
-Perl_pp_pop
-Perl_pp_shift
-Perl_pp_unshift
-Perl_pp_sort
-Perl_pp_reverse
-Perl_pp_grepstart
-Perl_pp_grepwhile
-Perl_pp_mapstart
-Perl_pp_mapwhile
-Perl_pp_range
-Perl_pp_flip
-Perl_pp_flop
-Perl_pp_and
-Perl_pp_or
-Perl_pp_xor
-Perl_pp_dor
-Perl_pp_cond_expr
-Perl_pp_andassign
-Perl_pp_orassign
-Perl_pp_dorassign
-Perl_pp_method
-Perl_pp_entersub
-Perl_pp_leavesub
-Perl_pp_leavesublv
-Perl_pp_caller
-Perl_pp_warn
-Perl_pp_die
-Perl_pp_reset
-Perl_pp_lineseq
-Perl_pp_nextstate
-Perl_pp_dbstate
-Perl_pp_unstack
-Perl_pp_enter
-Perl_pp_leave
-Perl_pp_scope
-Perl_pp_enteriter
-Perl_pp_iter
-Perl_pp_enterloop
-Perl_pp_leaveloop
-Perl_pp_return
-Perl_pp_last
-Perl_pp_next
-Perl_pp_redo
-Perl_pp_dump
-Perl_pp_goto
-Perl_pp_exit
-Perl_pp_setstate
-Perl_pp_method_named
-Perl_pp_entergiven
-Perl_pp_leavegiven
-Perl_pp_enterwhen
-Perl_pp_leavewhen
-Perl_pp_break
-Perl_pp_continue
-Perl_pp_open
-Perl_pp_close
-Perl_pp_pipe_op
-Perl_pp_fileno
-Perl_pp_umask
-Perl_pp_binmode
-Perl_pp_tie
-Perl_pp_untie
-Perl_pp_tied
-Perl_pp_dbmopen
-Perl_pp_dbmclose
-Perl_pp_sselect
-Perl_pp_select
-Perl_pp_getc
-Perl_pp_read
-Perl_pp_enterwrite
-Perl_pp_leavewrite
-Perl_pp_prtf
-Perl_pp_print
-Perl_pp_say
-Perl_pp_sysopen
-Perl_pp_sysseek
-Perl_pp_sysread
-Perl_pp_syswrite
-Perl_pp_send
-Perl_pp_recv
-Perl_pp_eof
-Perl_pp_tell
-Perl_pp_seek
-Perl_pp_truncate
-Perl_pp_fcntl
-Perl_pp_ioctl
-Perl_pp_flock
-Perl_pp_socket
-Perl_pp_sockpair
-Perl_pp_bind
-Perl_pp_connect
-Perl_pp_listen
-Perl_pp_accept
-Perl_pp_shutdown
-Perl_pp_gsockopt
-Perl_pp_ssockopt
-Perl_pp_getsockname
-Perl_pp_getpeername
-Perl_pp_lstat
-Perl_pp_stat
-Perl_pp_ftrread
-Perl_pp_ftrwrite
-Perl_pp_ftrexec
-Perl_pp_fteread
-Perl_pp_ftewrite
-Perl_pp_fteexec
-Perl_pp_ftis
-Perl_pp_ftsize
-Perl_pp_ftmtime
-Perl_pp_ftatime
-Perl_pp_ftctime
-Perl_pp_ftrowned
-Perl_pp_fteowned
-Perl_pp_ftzero
-Perl_pp_ftsock
-Perl_pp_ftchr
-Perl_pp_ftblk
-Perl_pp_ftfile
-Perl_pp_ftdir
-Perl_pp_ftpipe
-Perl_pp_ftsuid
-Perl_pp_ftsgid
-Perl_pp_ftsvtx
-Perl_pp_ftlink
-Perl_pp_fttty
-Perl_pp_fttext
-Perl_pp_ftbinary
-Perl_pp_chdir
-Perl_pp_chown
-Perl_pp_chroot
-Perl_pp_unlink
-Perl_pp_chmod
-Perl_pp_utime
-Perl_pp_rename
-Perl_pp_link
-Perl_pp_symlink
-Perl_pp_readlink
-Perl_pp_mkdir
-Perl_pp_rmdir
-Perl_pp_open_dir
-Perl_pp_readdir
-Perl_pp_telldir
-Perl_pp_seekdir
-Perl_pp_rewinddir
-Perl_pp_closedir
-Perl_pp_fork
-Perl_pp_wait
-Perl_pp_waitpid
-Perl_pp_system
-Perl_pp_exec
-Perl_pp_kill
-Perl_pp_getppid
-Perl_pp_getpgrp
-Perl_pp_setpgrp
-Perl_pp_getpriority
-Perl_pp_setpriority
-Perl_pp_time
-Perl_pp_tms
-Perl_pp_localtime
-Perl_pp_gmtime
-Perl_pp_alarm
-Perl_pp_sleep
-Perl_pp_shmget
-Perl_pp_shmctl
-Perl_pp_shmread
-Perl_pp_shmwrite
-Perl_pp_msgget
-Perl_pp_msgctl
-Perl_pp_msgsnd
-Perl_pp_msgrcv
-Perl_pp_semop
-Perl_pp_semget
-Perl_pp_semctl
-Perl_pp_require
-Perl_pp_dofile
-Perl_pp_entereval
-Perl_pp_leaveeval
-Perl_pp_entertry
-Perl_pp_leavetry
-Perl_pp_ghbyname
-Perl_pp_ghbyaddr
-Perl_pp_ghostent
-Perl_pp_gnbyname
-Perl_pp_gnbyaddr
-Perl_pp_gnetent
-Perl_pp_gpbyname
-Perl_pp_gpbynumber
-Perl_pp_gprotoent
-Perl_pp_gsbyname
-Perl_pp_gsbyport
-Perl_pp_gservent
-Perl_pp_shostent
-Perl_pp_snetent
-Perl_pp_sprotoent
-Perl_pp_sservent
-Perl_pp_ehostent
-Perl_pp_enetent
-Perl_pp_eprotoent
-Perl_pp_eservent
-Perl_pp_gpwnam
-Perl_pp_gpwuid
-Perl_pp_gpwent
-Perl_pp_spwent
-Perl_pp_epwent
-Perl_pp_ggrnam
-Perl_pp_ggrgid
-Perl_pp_ggrent
-Perl_pp_sgrent
-Perl_pp_egrent
-Perl_pp_getlogin
-Perl_pp_syscall
-Perl_pp_lock
-Perl_pp_once
-
-# ex: set ro:

Modified: vendor/perl/dist/pp_ctl.c
===================================================================
--- vendor/perl/dist/pp_ctl.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp_ctl.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -43,13 +43,20 @@
     dVAR;
     dSP;
     I32 cxix;
+    const PERL_CONTEXT *cx;
     EXTEND(SP, 1);
 
-    cxix = dopoptosub(cxstack_ix);
-    if (cxix < 0)
+    if (PL_op->op_private & OPpOFFBYONE) {
+	if (!(cx = caller_cx(1,NULL))) RETPUSHUNDEF;
+    }
+    else {
+      cxix = dopoptosub(cxstack_ix);
+      if (cxix < 0)
 	RETPUSHUNDEF;
+      cx = &cxstack[cxix];
+    }
 
-    switch (cxstack[cxix].blk_gimme) {
+    switch (cx->blk_gimme) {
     case G_ARRAY:
 	RETPUSHYES;
     case G_SCALAR:
@@ -62,9 +69,6 @@
 PP(pp_regcreset)
 {
     dVAR;
-    /* XXXX Should store the old value to allow for tie/overload - and
-       restore in regcomp, where marked with XXXX. */
-    PL_reginterp_cnt = 0;
     TAINT_NOT;
     return NORMAL;
 }
@@ -73,202 +77,131 @@
 {
     dVAR;
     dSP;
-    register PMOP *pm = (PMOP*)cLOGOP->op_other;
-    SV *tmpstr;
+    PMOP *pm = (PMOP*)cLOGOP->op_other;
+    SV **args;
+    int nargs;
     REGEXP *re = NULL;
+    REGEXP *new_re;
+    const regexp_engine *eng;
+    bool is_bare_re= FALSE;
 
+    if (PL_op->op_flags & OPf_STACKED) {
+	dMARK;
+	nargs = SP - MARK;
+	args  = ++MARK;
+    }
+    else {
+	nargs = 1;
+	args  = SP;
+    }
+
     /* prevent recompiling under /o and ithreads. */
 #if defined(USE_ITHREADS)
     if (pm->op_pmflags & PMf_KEEP && PM_GETRE(pm)) {
-	if (PL_op->op_flags & OPf_STACKED) {
-	    dMARK;
-	    SP = MARK;
-	}
-	else
-	    (void)POPs;
+	SP = args-1;
 	RETURN;
     }
 #endif
 
-#define tryAMAGICregexp(rx)			\
-    STMT_START {				\
-	SvGETMAGIC(rx);				\
-	if (SvROK(rx) && SvAMAGIC(rx)) {	\
-	    SV *sv = AMG_CALLunary(rx, regexp_amg); \
-	    if (sv) {				\
-		if (SvROK(sv))			\
-		    sv = SvRV(sv);		\
-		if (SvTYPE(sv) != SVt_REGEXP)	\
-		    Perl_croak(aTHX_ "Overloaded qr did not return a REGEXP"); \
-		rx = sv;			\
-	    }					\
-	}					\
-    } STMT_END
-	    
+    re = PM_GETRE(pm);
+    assert (re != (REGEXP*) &PL_sv_undef);
+    eng = re ? RX_ENGINE(re) : current_re_engine();
 
-    if (PL_op->op_flags & OPf_STACKED) {
-	/* multiple args; concatenate them */
-	dMARK; dORIGMARK;
-	tmpstr = PAD_SV(ARGTARG);
-	sv_setpvs(tmpstr, "");
-	while (++MARK <= SP) {
-	    SV *msv = *MARK;
-	    SV *sv;
+    /*
+     In the below logic: these are basically the same - check if this regcomp is part of a split.
 
-	    tryAMAGICregexp(msv);
+    (PL_op->op_pmflags & PMf_split )
+    (PL_op->op_next->op_type == OP_PUSHRE)
 
-	    if ((SvAMAGIC(tmpstr) || SvAMAGIC(msv)) &&
-		(sv = amagic_call(tmpstr, msv, concat_amg, AMGf_assign)))
-	    {
-	       sv_setsv(tmpstr, sv);
-	       continue;
-	    }
-	    sv_catsv_nomg(tmpstr, msv);
-	}
-    	SvSETMAGIC(tmpstr);
-	SP = ORIGMARK;
-    }
-    else {
-	tmpstr = POPs;
-	tryAMAGICregexp(tmpstr);
-    }
+    We could add a new mask for this and copy the PMf_split, if we did
+    some bit definition fiddling first.
 
-#undef tryAMAGICregexp
+    For now we leave this
+    */
 
-    if (SvROK(tmpstr)) {
-	SV * const sv = SvRV(tmpstr);
-	if (SvTYPE(sv) == SVt_REGEXP)
-	    re = (REGEXP*) sv;
-    }
-    else if (SvTYPE(tmpstr) == SVt_REGEXP)
-	re = (REGEXP*) tmpstr;
+    new_re = (eng->op_comp
+		    ? eng->op_comp
+		    : &Perl_re_op_compile
+	    )(aTHX_ args, nargs, pm->op_code_list, eng, re,
+		&is_bare_re,
+                (pm->op_pmflags & RXf_PMf_FLAGCOPYMASK),
+		pm->op_pmflags |
+		    (PL_op->op_flags & OPf_SPECIAL ? PMf_USE_RE_EVAL : 0));
 
-    if (re) {
-	/* The match's LHS's get-magic might need to access this op's reg-
-	   exp (as is sometimes the case with $';  see bug 70764).  So we
-	   must call get-magic now before we replace the regexp. Hopeful-
-	   ly this hack can be replaced with the approach described at
-	   http://www.nntp.perl.org/group/perl.perl5.porters/2007/03
-	   /msg122415.html some day. */
-	if(pm->op_type == OP_MATCH) {
-	 SV *lhs;
-	 const bool was_tainted = PL_tainted;
-	 if (pm->op_flags & OPf_STACKED)
-	    lhs = TOPs;
-	 else if (pm->op_private & OPpTARGET_MY)
-	    lhs = PAD_SV(pm->op_targ);
-	 else lhs = DEFSV;
-	 SvGETMAGIC(lhs);
-	 /* Restore the previous value of PL_tainted (which may have been
-	    modified by get-magic), to avoid incorrectly setting the
-	    RXf_TAINTED flag further down. */
-	 PL_tainted = was_tainted;
+    if (pm->op_pmflags & PMf_HAS_CV)
+	ReANY(new_re)->qr_anoncv
+			= (CV*) SvREFCNT_inc(PAD_SV(PL_op->op_targ));
+
+    if (is_bare_re) {
+	REGEXP *tmp;
+	/* The match's LHS's get-magic might need to access this op's regexp
+	   (e.g. $' =~ /$re/ while foo; see bug 70764).  So we must call
+	   get-magic now before we replace the regexp. Hopefully this hack can
+	   be replaced with the approach described at
+	   http://www.nntp.perl.org/group/perl.perl5.porters/2007/03/msg122415.html
+	   some day. */
+	if (pm->op_type == OP_MATCH) {
+	    SV *lhs;
+	    const bool was_tainted = TAINT_get;
+	    if (pm->op_flags & OPf_STACKED)
+		lhs = args[-1];
+	    else if (pm->op_private & OPpTARGET_MY)
+		lhs = PAD_SV(pm->op_targ);
+	    else lhs = DEFSV;
+	    SvGETMAGIC(lhs);
+	    /* Restore the previous value of PL_tainted (which may have been
+	       modified by get-magic), to avoid incorrectly setting the
+	       RXf_TAINTED flag with RX_TAINT_on further down. */
+	    TAINT_set(was_tainted);
+#if NO_TAINT_SUPPORT
+            PERL_UNUSED_VAR(was_tainted);
+#endif
 	}
+	tmp = reg_temp_copy(NULL, new_re);
+	ReREFCNT_dec(new_re);
+	new_re = tmp;
+    }
 
-	re = reg_temp_copy(NULL, re);
-	ReREFCNT_dec(PM_GETRE(pm));
-	PM_SETRE(pm, re);
+    if (re != new_re) {
+	ReREFCNT_dec(re);
+	PM_SETRE(pm, new_re);
     }
-    else {
-	STRLEN len = 0;
-	const char *t = SvOK(tmpstr) ? SvPV_nomg_const(tmpstr, len) : "";
 
-	re = PM_GETRE(pm);
-	assert (re != (REGEXP*) &PL_sv_undef);
 
-	/* Check against the last compiled regexp. */
-	if (!re || !RX_PRECOMP(re) || RX_PRELEN(re) != len ||
-	    memNE(RX_PRECOMP(re), t, len))
-	{
-	    const regexp_engine *eng = re ? RX_ENGINE(re) : NULL;
-            U32 pm_flags = pm->op_pmflags & RXf_PMf_COMPILETIME;
-	    if (re) {
-	        ReREFCNT_dec(re);
-#ifdef USE_ITHREADS
-		PM_SETRE(pm, (REGEXP*) &PL_sv_undef);
-#else
-		PM_SETRE(pm, NULL);	/* crucial if regcomp aborts */
-#endif
-	    } else if (PL_curcop->cop_hints_hash) {
-	        SV *ptr = cop_hints_fetch_pvs(PL_curcop, "regcomp", 0);
-                if (ptr && SvIOK(ptr) && SvIV(ptr))
-                    eng = INT2PTR(regexp_engine*,SvIV(ptr));
-	    }
-
-	    if (PL_op->op_flags & OPf_SPECIAL)
-		PL_reginterp_cnt = I32_MAX; /* Mark as safe.  */
-
-	    if (DO_UTF8(tmpstr)) {
-		assert (SvUTF8(tmpstr));
-	    } else if (SvUTF8(tmpstr)) {
-		/* Not doing UTF-8, despite what the SV says. Is this only if
-		   we're trapped in use 'bytes'?  */
-		/* Make a copy of the octet sequence, but without the flag on,
-		   as the compiler now honours the SvUTF8 flag on tmpstr.  */
-		STRLEN len;
-		const char *const p = SvPV(tmpstr, len);
-		tmpstr = newSVpvn_flags(p, len, SVs_TEMP);
-	    }
-	    else if (SvAMAGIC(tmpstr)) {
-		/* make a copy to avoid extra stringifies */
-		tmpstr = newSVpvn_flags(t, len, SVs_TEMP | SvUTF8(tmpstr));
-	    }
-
-	    /* If it is gmagical, create a mortal copy, but without calling
-	       get-magic, as we have already done that. */
-	    if(SvGMAGICAL(tmpstr)) {
-		SV *mortalcopy = sv_newmortal();
-		sv_setsv_flags(mortalcopy, tmpstr, 0);
-		tmpstr = mortalcopy;
-	    }
-
-	    if (eng)
-	        PM_SETRE(pm, CALLREGCOMP_ENG(eng, tmpstr, pm_flags));
-	    else
-	        PM_SETRE(pm, CALLREGCOMP(tmpstr, pm_flags));
-
-	    PL_reginterp_cnt = 0;	/* XXXX Be extra paranoid - needed
-					   inside tie/overload accessors.  */
-	}
-    }
-    
-    re = PM_GETRE(pm);
-
 #ifndef INCOMPLETE_TAINTS
-    if (PL_tainting) {
-	if (PL_tainted) {
-	    SvTAINTED_on((SV*)re);
-	    RX_EXTFLAGS(re) |= RXf_TAINTED;
-	}
+    if (TAINTING_get && TAINT_get) {
+	SvTAINTED_on((SV*)new_re);
+        RX_TAINT_on(new_re);
     }
 #endif
 
-    if (!RX_PRELEN(PM_GETRE(pm)) && PL_curpm)
-	pm = PL_curpm;
-
-
 #if !defined(USE_ITHREADS)
     /* can't change the optree at runtime either */
     /* PMf_KEEP is handled differently under threads to avoid these problems */
+    if (!RX_PRELEN(PM_GETRE(pm)) && PL_curpm)
+	pm = PL_curpm;
     if (pm->op_pmflags & PMf_KEEP) {
 	pm->op_private &= ~OPpRUNTIME;	/* no point compiling again */
 	cLOGOP->op_first->op_next = PL_op->op_next;
     }
 #endif
+
+    SP = args-1;
     RETURN;
 }
 
+
 PP(pp_substcont)
 {
     dVAR;
     dSP;
-    register PERL_CONTEXT *cx = &cxstack[cxstack_ix];
-    register PMOP * const pm = (PMOP*) cLOGOP->op_other;
-    register SV * const dstr = cx->sb_dstr;
-    register char *s = cx->sb_s;
-    register char *m = cx->sb_m;
+    PERL_CONTEXT *cx = &cxstack[cxstack_ix];
+    PMOP * const pm = (PMOP*) cLOGOP->op_other;
+    SV * const dstr = cx->sb_dstr;
+    char *s = cx->sb_s;
+    char *m = cx->sb_m;
     char *orig = cx->sb_orig;
-    register REGEXP * const rx = cx->sb_rx;
+    REGEXP * const rx = cx->sb_rx;
     SV *nsv = NULL;
     REGEXP *old = PM_GETRE(pm);
 
@@ -301,48 +234,50 @@
 	if (CxONCE(cx) || s < orig ||
 		!CALLREGEXEC(rx, s, cx->sb_strend, orig,
 			     (s == m) + RX_GOFS(rx), cx->sb_targ, NULL,
-			     ((cx->sb_rflags & REXEC_COPY_STR)
-			      ? (REXEC_IGNOREPOS|REXEC_NOT_FIRST)
-			      : (REXEC_COPY_STR|REXEC_IGNOREPOS|REXEC_NOT_FIRST))))
+                                (REXEC_IGNOREPOS|REXEC_NOT_FIRST)))
 	{
-	    SV * const targ = cx->sb_targ;
+	    SV *targ = cx->sb_targ;
 
 	    assert(cx->sb_strend >= s);
 	    if(cx->sb_strend > s) {
 		 if (DO_UTF8(dstr) && !SvUTF8(targ))
-		      sv_catpvn_utf8_upgrade(dstr, s, cx->sb_strend - s, nsv);
+		      sv_catpvn_nomg_utf8_upgrade(dstr, s, cx->sb_strend - s, nsv);
 		 else
-		      sv_catpvn(dstr, s, cx->sb_strend - s);
+		      sv_catpvn_nomg(dstr, s, cx->sb_strend - s);
 	    }
 	    if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
 		cx->sb_rxtainted |= SUBST_TAINT_PAT;
 
-#ifdef PERL_OLD_COPY_ON_WRITE
-	    if (SvIsCOW(targ)) {
-		sv_force_normal_flags(targ, SV_COW_DROP_PV);
-	    } else
-#endif
-	    {
-		SvPV_free(targ);
+	    if (pm->op_pmflags & PMf_NONDESTRUCT) {
+		PUSHs(dstr);
+		/* From here on down we're using the copy, and leaving the
+		   original untouched.  */
+		targ = dstr;
 	    }
-	    SvPV_set(targ, SvPVX(dstr));
-	    SvCUR_set(targ, SvCUR(dstr));
-	    SvLEN_set(targ, SvLEN(dstr));
-	    if (DO_UTF8(dstr))
-		SvUTF8_on(targ);
-	    SvPV_set(dstr, NULL);
+	    else {
+		if (SvIsCOW(targ)) {
+		    sv_force_normal_flags(targ, SV_COW_DROP_PV);
+		} else
+		{
+		    SvPV_free(targ);
+		}
+		SvPV_set(targ, SvPVX(dstr));
+		SvCUR_set(targ, SvCUR(dstr));
+		SvLEN_set(targ, SvLEN(dstr));
+		if (DO_UTF8(dstr))
+		    SvUTF8_on(targ);
+		SvPV_set(dstr, NULL);
 
-	    if (pm->op_pmflags & PMf_NONDESTRUCT)
-		PUSHs(targ);
-	    else
+		PL_tainted = 0;
 		mPUSHi(saviters - 1);
 
-	    (void)SvPOK_only_UTF8(targ);
+		(void)SvPOK_only_UTF8(targ);
+	    }
 
 	    /* update the taint state of various various variables in
 	     * preparation for final exit.
 	     * See "how taint works" above pp_subst() */
-	    if (PL_tainting) {
+	    if (TAINTING_get) {
 		if ((cx->sb_rxtainted & SUBST_TAINT_PAT) ||
 		    ((cx->sb_rxtainted & (SUBST_TAINT_STR|SUBST_TAINT_RETAINT))
 				    == (SUBST_TAINT_STR|SUBST_TAINT_RETAINT))
@@ -354,8 +289,10 @@
 		)
 		    SvTAINTED_on(TOPs);  /* taint return value */
 		/* needed for mg_set below */
-		PL_tainted = cBOOL(cx->sb_rxtainted &
-			    (SUBST_TAINT_STR|SUBST_TAINT_PAT|SUBST_TAINT_REPL));
+		TAINT_set(
+                    cBOOL(cx->sb_rxtainted &
+			  (SUBST_TAINT_STR|SUBST_TAINT_PAT|SUBST_TAINT_REPL))
+                );
 		SvTAINT(TARG);
 	    }
 	    /* PL_tainted must be correctly set for this mg_set */
@@ -363,8 +300,9 @@
 	    TAINT_NOT;
 	    LEAVE_SCOPE(cx->sb_oldsave);
 	    POPSUBST(cx);
+	    PERL_ASYNC_CHECK();
 	    RETURNOP(pm->op_next);
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 	}
 	cx->sb_iters = saviters;
     }
@@ -371,6 +309,7 @@
     if (RX_MATCH_COPIED(rx) && RX_SUBBEG(rx) != orig) {
 	m = s;
 	s = orig;
+        assert(!RX_SUBOFFSET(rx));
 	cx->sb_orig = orig = RX_SUBBEG(rx);
 	s = orig + (m - s);
 	cx->sb_strend = s + (cx->sb_strend - m);
@@ -378,13 +317,14 @@
     cx->sb_m = m = RX_OFFS(rx)[0].start + orig;
     if (m > s) {
 	if (DO_UTF8(dstr) && !SvUTF8(cx->sb_targ))
-	    sv_catpvn_utf8_upgrade(dstr, s, m - s, nsv);
+	    sv_catpvn_nomg_utf8_upgrade(dstr, s, m - s, nsv);
 	else
-	    sv_catpvn(dstr, s, m-s);
+	    sv_catpvn_nomg(dstr, s, m-s);
     }
     cx->sb_s = RX_OFFS(rx)[0].end + orig;
     { /* Update the pos() information. */
-	SV * const sv = cx->sb_targ;
+	SV * const sv
+	    = (pm->op_pmflags & PMf_NONDESTRUCT) ? cx->sb_dstr : cx->sb_targ;
 	MAGIC *mg;
 	SvUPGRADE(sv, SVt_PVMG);
 	if (!(mg = mg_find(sv, PERL_MAGIC_regex_global))) {
@@ -402,7 +342,7 @@
     /* update the taint state of various various variables in preparation
      * for calling the code block.
      * See "how taint works" above pp_subst() */
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
 	    cx->sb_rxtainted |= SUBST_TAINT_PAT;
 
@@ -414,7 +354,8 @@
 
 	if (cx->sb_iters > 1 && (cx->sb_rxtainted & 
 			(SUBST_TAINT_STR|SUBST_TAINT_PAT|SUBST_TAINT_REPL)))
-	    SvTAINTED_on(cx->sb_targ);
+	    SvTAINTED_on((pm->op_pmflags & PMf_NONDESTRUCT)
+			 ? cx->sb_dstr : cx->sb_targ);
 	TAINT_NOT;
     }
     rxres_save(&cx->sb_rxres, rx);
@@ -432,10 +373,10 @@
     PERL_UNUSED_CONTEXT;
 
     if (!p || p[1] < RX_NPARENS(rx)) {
-#ifdef PERL_OLD_COPY_ON_WRITE
-	i = 7 + RX_NPARENS(rx) * 2;
+#ifdef PERL_ANY_COW
+	i = 7 + (RX_NPARENS(rx)+1) * 2;
 #else
-	i = 6 + RX_NPARENS(rx) * 2;
+	i = 6 + (RX_NPARENS(rx)+1) * 2;
 #endif
 	if (!p)
 	    Newx(p, i, UV);
@@ -444,18 +385,20 @@
 	*rsp = (void*)p;
     }
 
+    /* what (if anything) to free on croak */
     *p++ = PTR2UV(RX_MATCH_COPIED(rx) ? RX_SUBBEG(rx) : NULL);
     RX_MATCH_COPIED_off(rx);
+    *p++ = RX_NPARENS(rx);
 
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
     *p++ = PTR2UV(RX_SAVED_COPY(rx));
     RX_SAVED_COPY(rx) = NULL;
 #endif
 
-    *p++ = RX_NPARENS(rx);
-
     *p++ = PTR2UV(RX_SUBBEG(rx));
     *p++ = (UV)RX_SUBLEN(rx);
+    *p++ = (UV)RX_SUBOFFSET(rx);
+    *p++ = (UV)RX_SUBCOFFSET(rx);
     for (i = 0; i <= RX_NPARENS(rx); ++i) {
 	*p++ = (UV)RX_OFFS(rx)[i].start;
 	*p++ = (UV)RX_OFFS(rx)[i].end;
@@ -474,8 +417,9 @@
     RX_MATCH_COPY_FREE(rx);
     RX_MATCH_COPIED_set(rx, *p);
     *p++ = 0;
+    RX_NPARENS(rx) = *p++;
 
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
     if (RX_SAVED_COPY(rx))
 	SvREFCNT_dec (RX_SAVED_COPY(rx));
     RX_SAVED_COPY(rx) = INT2PTR(SV*,*p);
@@ -482,10 +426,10 @@
     *p++ = 0;
 #endif
 
-    RX_NPARENS(rx) = *p++;
-
     RX_SUBBEG(rx) = INT2PTR(char*,*p++);
     RX_SUBLEN(rx) = (I32)(*p++);
+    RX_SUBOFFSET(rx) = (I32)*p++;
+    RX_SUBCOFFSET(rx) = (I32)*p++;
     for (i = 0; i <= RX_NPARENS(rx); ++i) {
 	RX_OFFS(rx)[i].start = (I32)(*p++);
 	RX_OFFS(rx)[i].end = (I32)(*p++);
@@ -501,78 +445,78 @@
     PERL_UNUSED_CONTEXT;
 
     if (p) {
+	void *tmp = INT2PTR(char*,*p);
 #ifdef PERL_POISON
-	void *tmp = INT2PTR(char*,*p);
-	Safefree(tmp);
-	if (*p)
-	    PoisonFree(*p, 1, sizeof(*p));
+#ifdef PERL_ANY_COW
+	U32 i = 9 + p[1] * 2;
 #else
-	Safefree(INT2PTR(char*,*p));
+	U32 i = 8 + p[1] * 2;
 #endif
-#ifdef PERL_OLD_COPY_ON_WRITE
-	if (p[1]) {
-	    SvREFCNT_dec (INT2PTR(SV*,p[1]));
-	}
 #endif
+
+#ifdef PERL_ANY_COW
+        SvREFCNT_dec (INT2PTR(SV*,p[2]));
+#endif
+#ifdef PERL_POISON
+        PoisonFree(p, i, sizeof(UV));
+#endif
+
+	Safefree(tmp);
 	Safefree(p);
 	*rsp = NULL;
     }
 }
 
+#define FORM_NUM_BLANK (1<<30)
+#define FORM_NUM_POINT (1<<29)
+
 PP(pp_formline)
 {
     dVAR; dSP; dMARK; dORIGMARK;
-    register SV * const tmpForm = *++MARK;
-    register U32 *fpc;
-    register char *t;
-    const char *f;
-    register I32 arg;
-    register SV *sv = NULL;
-    const char *item = NULL;
-    I32 itemsize  = 0;
-    I32 fieldsize = 0;
-    I32 lines = 0;
-    bool chopspace = (strchr(PL_chopset, ' ') != NULL);
-    const char *chophere = NULL;
-    char *linemark = NULL;
+    SV * const tmpForm = *++MARK;
+    SV *formsv;		    /* contains text of original format */
+    U32 *fpc;	    /* format ops program counter */
+    char *t;	    /* current append position in target string */
+    const char *f;	    /* current position in format string */
+    I32 arg;
+    SV *sv = NULL; /* current item */
+    const char *item = NULL;/* string value of current item */
+    I32 itemsize  = 0;	    /* length of current item, possibly truncated */
+    I32 fieldsize = 0;	    /* width of current field */
+    I32 lines = 0;	    /* number of lines that have been output */
+    bool chopspace = (strchr(PL_chopset, ' ') != NULL); /* does $: have space */
+    const char *chophere = NULL; /* where to chop current item */
+    STRLEN linemark = 0;    /* pos of start of line in output */
     NV value;
-    bool gotsome = FALSE;
+    bool gotsome = FALSE;   /* seen at least one non-blank item on this line */
     STRLEN len;
-    const STRLEN fudge = SvPOKp(tmpForm)
-			? (SvCUR(tmpForm) * (IN_BYTES ? 1 : 3) + 1) : 0;
+    STRLEN linemax;	    /* estimate of output size in bytes */
     bool item_is_utf8 = FALSE;
     bool targ_is_utf8 = FALSE;
-    SV * nsv = NULL;
     const char *fmt;
     MAGIC *mg = NULL;
+    U8 *source;		    /* source of bytes to append */
+    STRLEN to_copy;	    /* how may bytes to append */
+    char trans;		    /* what chars to translate */
 
-    if (SvTYPE(tmpForm) >= SVt_PVMG) {
-	/* This might, of course, still return NULL.  */
-	mg = mg_find(tmpForm, PERL_MAGIC_fm);
-    } else {
-	sv_upgrade(tmpForm, SVt_PVMG);
-    }
+    mg = doparseform(tmpForm);
 
-    if(!mg) {
-	if (SvREADONLY(tmpForm)) {
-	    SvREADONLY_off(tmpForm);
-	    mg = doparseform(tmpForm);
-	    SvREADONLY_on(tmpForm);
-	}
-	else
-	    mg = doparseform(tmpForm);
-	assert(mg);
-    }
     fpc = (U32*)mg->mg_ptr;
+    /* the actual string the format was compiled from.
+     * with overload etc, this may not match tmpForm */
+    formsv = mg->mg_obj;
 
+
     SvPV_force(PL_formtarget, len);
-    if (SvTAINTED(tmpForm))
+    if (SvTAINTED(tmpForm) || SvTAINTED(formsv))
 	SvTAINTED_on(PL_formtarget);
     if (DO_UTF8(PL_formtarget))
 	targ_is_utf8 = TRUE;
-    t = SvGROW(PL_formtarget, len + fudge + 1);  /* XXX SvCUR bad */
+    linemax = (SvCUR(formsv) * (IN_BYTES ? 1 : 3) + 1);
+    t = SvGROW(PL_formtarget, len + linemax + 1);
+    /* XXX from now onwards, SvCUR(PL_formtarget) is invalid */
     t += len;
-    f = SvPV_const(tmpForm, len);
+    f = SvPV_const(formsv, len);
 
     for (;;) {
 	DEBUG_f( {
@@ -606,31 +550,18 @@
 	} );
 	switch (*fpc++) {
 	case FF_LINEMARK:
-	    linemark = t;
+	    linemark = t - SvPVX(PL_formtarget);
 	    lines++;
 	    gotsome = FALSE;
 	    break;
 
 	case FF_LITERAL:
-	    arg = *fpc++;
-	    if (targ_is_utf8 && !SvUTF8(tmpForm)) {
-		SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
-		*t = '\0';
-		sv_catpvn_utf8_upgrade(PL_formtarget, f, arg, nsv);
-		t = SvEND(PL_formtarget);
-		f += arg;
-		break;
-	    }
-	    if (!targ_is_utf8 && DO_UTF8(tmpForm)) {
-		SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
-		*t = '\0';
-		sv_utf8_upgrade_flags_grow(PL_formtarget, SV_GMAGIC, fudge + 1);
-		t = SvEND(PL_formtarget);
-		targ_is_utf8 = TRUE;
-	    }
-	    while (arg--)
-		*t++ = *f++;
-	    break;
+	    to_copy = *fpc++;
+	    source = (U8 *)f;
+	    f += to_copy;
+	    trans = '~';
+	    item_is_utf8 = targ_is_utf8 ? !!DO_UTF8(formsv) : !!SvUTF8(formsv);
+	    goto append;
 
 	case FF_SKIP:
 	    f += *fpc++;
@@ -801,69 +732,17 @@
 	    break;
 
 	case FF_ITEM:
-	    {
-		const char *s = item;
-		arg = itemsize;
-		if (item_is_utf8) {
-		    if (!targ_is_utf8) {
-			SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
-			*t = '\0';
-			sv_utf8_upgrade_flags_grow(PL_formtarget, SV_GMAGIC,
-								    fudge + 1);
-			t = SvEND(PL_formtarget);
-			targ_is_utf8 = TRUE;
-		    }
-		    while (arg--) {
-			if (UTF8_IS_CONTINUED(*s)) {
-			    STRLEN skip = UTF8SKIP(s);
-			    switch (skip) {
-			    default:
-				Move(s,t,skip,char);
-				s += skip;
-				t += skip;
-				break;
-			    case 7: *t++ = *s++;
-			    case 6: *t++ = *s++;
-			    case 5: *t++ = *s++;
-			    case 4: *t++ = *s++;
-			    case 3: *t++ = *s++;
-			    case 2: *t++ = *s++;
-			    case 1: *t++ = *s++;
-			    }
-			}
-			else {
-			    if ( !((*t++ = *s++) & ~31) )
-				t[-1] = ' ';
-			}
-		    }
-		    break;
-		}
-		if (targ_is_utf8 && !item_is_utf8) {
-		    SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
-		    *t = '\0';
-		    sv_catpvn_utf8_upgrade(PL_formtarget, s, arg, nsv);
-		    for (; t < SvEND(PL_formtarget); t++) {
-#ifdef EBCDIC
-			const int ch = *t;
-			if (iscntrl(ch))
-#else
-			    if (!(*t & ~31))
-#endif
-				*t = ' ';
-		    }
-		    break;
-		}
-		while (arg--) {
-#ifdef EBCDIC
-		    const int ch = *t++ = *s++;
-		    if (iscntrl(ch))
-#else
-			if ( !((*t++ = *s++) & ~31) )
-#endif
-			    t[-1] = ' ';
-		}
-		break;
+	    to_copy = itemsize;
+	    source = (U8 *)item;
+	    trans = 1;
+	    if (item_is_utf8) {
+		/* convert to_copy from chars to bytes */
+		U8 *s = source;
+		while (to_copy--)
+		   s += UTF8SKIP(s);
+		to_copy = s - source;
 	    }
+	    goto append;
 
 	case FF_CHOP:
 	    {
@@ -883,73 +762,102 @@
 	    {
 		const bool oneline = fpc[-1] == FF_LINESNGL;
 		const char *s = item = SvPV_const(sv, len);
+		const char *const send = s + len;
+
 		item_is_utf8 = DO_UTF8(sv);
-		itemsize = len;
-		if (itemsize) {
-		    STRLEN to_copy = itemsize;
-		    const char *const send = s + len;
-		    const U8 *source = (const U8 *) s;
-		    U8 *tmp = NULL;
-
-		    gotsome = TRUE;
-		    chophere = s + itemsize;
-		    while (s < send) {
-			if (*s++ == '\n') {
-			    if (oneline) {
-				to_copy = s - SvPVX_const(sv) - 1;
-				chophere = s;
-				break;
-			    } else {
-				if (s == send) {
-				    itemsize--;
-				    to_copy--;
-				} else
-				    lines++;
-			    }
+		if (!len)
+		    break;
+		trans = 0;
+		gotsome = TRUE;
+		chophere = s + len;
+		source = (U8 *) s;
+		to_copy = len;
+		while (s < send) {
+		    if (*s++ == '\n') {
+			if (oneline) {
+			    to_copy = s - SvPVX_const(sv) - 1;
+			    chophere = s;
+			    break;
+			} else {
+			    if (s == send) {
+				to_copy--;
+			    } else
+				lines++;
 			}
 		    }
-		    if (targ_is_utf8 && !item_is_utf8) {
-			source = tmp = bytes_to_utf8(source, &to_copy);
-			SvCUR_set(PL_formtarget,
-				  t - SvPVX_const(PL_formtarget));
-		    } else {
-			if (item_is_utf8 && !targ_is_utf8) {
-			    /* Upgrade targ to UTF8, and then we reduce it to
-			       a problem we have a simple solution for.  */
-			    SvCUR_set(PL_formtarget,
-				      t - SvPVX_const(PL_formtarget));
-			    targ_is_utf8 = TRUE;
-			    /* Don't need get magic.  */
-			    sv_utf8_upgrade_nomg(PL_formtarget);
-			} else {
-			    SvCUR_set(PL_formtarget,
-				      t - SvPVX_const(PL_formtarget));
-			}
+		}
+	    }
 
-			/* Easy. They agree.  */
-			assert (item_is_utf8 == targ_is_utf8);
+	append:
+	    /* append to_copy bytes from source to PL_formstring.
+	     * item_is_utf8 implies source is utf8.
+	     * if trans, translate certain characters during the copy */
+	    {
+		U8 *tmp = NULL;
+		STRLEN grow = 0;
+
+		SvCUR_set(PL_formtarget,
+			  t - SvPVX_const(PL_formtarget));
+
+		if (targ_is_utf8 && !item_is_utf8) {
+		    source = tmp = bytes_to_utf8(source, &to_copy);
+		} else {
+		    if (item_is_utf8 && !targ_is_utf8) {
+			U8 *s;
+			/* Upgrade targ to UTF8, and then we reduce it to
+			   a problem we have a simple solution for.
+			   Don't need get magic.  */
+			sv_utf8_upgrade_nomg(PL_formtarget);
+			targ_is_utf8 = TRUE;
+			/* re-calculate linemark */
+			s = (U8*)SvPVX(PL_formtarget);
+			/* the bytes we initially allocated to append the
+			 * whole line may have been gobbled up during the
+			 * upgrade, so allocate a whole new line's worth
+			 * for safety */
+			grow = linemax;
+			while (linemark--)
+			    s += UTF8SKIP(s);
+			linemark = s - (U8*)SvPVX(PL_formtarget);
 		    }
-		    SvGROW(PL_formtarget,
-			   SvCUR(PL_formtarget) + to_copy + fudge + 1);
-		    t = SvPVX(PL_formtarget) + SvCUR(PL_formtarget);
+		    /* Easy. They agree.  */
+		    assert (item_is_utf8 == targ_is_utf8);
+		}
+		if (!trans)
+		    /* @* and ^* are the only things that can exceed
+		     * the linemax, so grow by the output size, plus
+		     * a whole new form's worth in case of any further
+		     * output */
+		    grow = linemax + to_copy;
+		if (grow)
+		    SvGROW(PL_formtarget, SvCUR(PL_formtarget) + grow + 1);
+		t = SvPVX(PL_formtarget) + SvCUR(PL_formtarget);
 
-		    Copy(source, t, to_copy, char);
-		    t += to_copy;
-		    SvCUR_set(PL_formtarget, SvCUR(PL_formtarget) + to_copy);
-		    if (item_is_utf8) {
-			if (SvGMAGICAL(sv)) {
-			    /* Mustn't call sv_pos_b2u() as it does a second
-			       mg_get(). Is this a bug? Do we need a _flags()
-			       variant? */
-			    itemsize = utf8_length(source, source + itemsize);
-			} else {
-			    sv_pos_b2u(sv, &itemsize);
-			}
-			assert(!tmp);
-		    } else if (tmp) {
-			Safefree(tmp);
+		Copy(source, t, to_copy, char);
+		if (trans) {
+		    /* blank out ~ or control chars, depending on trans.
+		     * works on bytes not chars, so relies on not
+		     * matching utf8 continuation bytes */
+		    U8 *s = (U8*)t;
+		    U8 *send = s + to_copy;
+		    while (s < send) {
+			const int ch = *s;
+			if (trans == '~' ? (ch == '~') :
+#ifdef EBCDIC
+			       iscntrl(ch)
+#else
+			       (!(ch & ~31))
+#endif
+			)
+			    *s = ' ';
+			s++;
 		    }
 		}
+
+		t += to_copy;
+		SvCUR_set(PL_formtarget, SvCUR(PL_formtarget) + to_copy);
+		if (tmp)
+		    Safefree(tmp);
 		break;
 	    }
 
@@ -957,11 +865,11 @@
 	    arg = *fpc++;
 #if defined(USE_LONG_DOUBLE)
 	    fmt = (const char *)
-		((arg & 256) ?
+		((arg & FORM_NUM_POINT) ?
 		 "%#0*.*" PERL_PRIfldbl : "%0*.*" PERL_PRIfldbl);
 #else
 	    fmt = (const char *)
-		((arg & 256) ?
+		((arg & FORM_NUM_POINT) ?
 		 "%#0*.*f"              : "%0*.*f");
 #endif
 	    goto ff_dec;
@@ -969,15 +877,15 @@
 	    arg = *fpc++;
 #if defined(USE_LONG_DOUBLE)
  	    fmt = (const char *)
-		((arg & 256) ? "%#*.*" PERL_PRIfldbl : "%*.*" PERL_PRIfldbl);
+		((arg & FORM_NUM_POINT) ? "%#*.*" PERL_PRIfldbl : "%*.*" PERL_PRIfldbl);
 #else
             fmt = (const char *)
-		((arg & 256) ? "%#*.*f"              : "%*.*f");
+		((arg & FORM_NUM_POINT) ? "%#*.*f"              : "%*.*f");
 #endif
 	ff_dec:
 	    /* If the field is marked with ^ and the value is undefined,
 	       blank it out. */
-	    if ((arg & 512) && !SvOK(sv)) {
+	    if ((arg & FORM_NUM_BLANK) && !SvOK(sv)) {
 		arg = fieldsize;
 		while (arg--)
 		    *t++ = ' ';
@@ -995,7 +903,8 @@
 	    /* Formats aren't yet marked for locales, so assume "yes". */
 	    {
 		STORE_NUMERIC_STANDARD_SET_LOCAL();
-		my_snprintf(t, SvLEN(PL_formtarget) - (t - SvPVX(PL_formtarget)), fmt, (int) fieldsize, (int) arg & 255, value);
+		arg &= ~(FORM_NUM_POINT|FORM_NUM_BLANK);
+		my_snprintf(t, SvLEN(PL_formtarget) - (t - SvPVX(PL_formtarget)), fmt, (int) fieldsize, (int) arg, value);
 		RESTORE_NUMERIC_STANDARD();
 	    }
 	    t += fieldsize;
@@ -1003,7 +912,7 @@
 
 	case FF_NEWLINE:
 	    f++;
-	    while (t-- > linemark && *t == ' ') ;
+	    while (t-- > (SvPVX(PL_formtarget) + linemark) && *t == ' ') ;
 	    t++;
 	    *t++ = '\n';
 	    break;
@@ -1012,18 +921,12 @@
 	    arg = *fpc++;
 	    if (gotsome) {
 		if (arg) {		/* repeat until fields exhausted? */
-		    *t = '\0';
-		    SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
-		    lines += FmLINES(PL_formtarget);
-		    if (targ_is_utf8)
-			SvUTF8_on(PL_formtarget);
-		    FmLINES(PL_formtarget) = lines;
-		    SP = ORIGMARK;
-		    RETURNOP(cLISTOP->op_first);
+		    fpc--;
+		    goto end;
 		}
 	    }
 	    else {
-		t = linemark;
+		t = SvPVX(PL_formtarget) + linemark;
 		lines--;
 	    }
 	    break;
@@ -1056,6 +959,8 @@
 		break;
 	    }
 	case FF_END:
+	end:
+	    assert(t < SvPVX_const(PL_formtarget) + SvLEN(PL_formtarget));
 	    *t = '\0';
 	    SvCUR_set(PL_formtarget, t - SvPVX_const(PL_formtarget));
 	    if (targ_is_utf8)
@@ -1062,7 +967,10 @@
 		SvUTF8_on(PL_formtarget);
 	    FmLINES(PL_formtarget) += lines;
 	    SP = ORIGMARK;
-	    RETPUSHYES;
+	    if (fpc[-1] == FF_BLANK)
+		RETURNOP(cLISTOP->op_first);
+	    else
+		RETPUSHYES;
 	}
     }
 }
@@ -1329,13 +1237,13 @@
 	SvGETMAGIC(right);
 
 	if (RANGE_IS_NUMERIC(left,right)) {
-	    register IV i, j;
+	    IV i, j;
 	    IV max;
-	    if ((SvOK(left) && SvNV(left) < IV_MIN) ||
-		(SvOK(right) && SvNV(right) > IV_MAX))
+	    if ((SvOK(left) && SvNV_nomg(left) < IV_MIN) ||
+		(SvOK(right) && SvNV_nomg(right) > IV_MAX))
 		DIE(aTHX_ "Range iterator outside integer range");
-	    i = SvIV(left);
-	    max = SvIV(right);
+	    i = SvIV_nomg(left);
+	    max = SvIV_nomg(right);
 	    if (max >= i) {
 		j = max - i + 1;
 		EXTEND_MORTAL(j);
@@ -1349,12 +1257,11 @@
 	    }
 	}
 	else {
-	    SV * const final = sv_mortalcopy(right);
-	    STRLEN len;
-	    const char * const tmps = SvPV_const(final, len);
+	    STRLEN len, llen;
+	    const char * const lpv = SvPV_nomg_const(left, llen);
+	    const char * const tmps = SvPV_nomg_const(right, len);
 
-	    SV *sv = sv_mortalcopy(left);
-	    SvPV_force_nolen(sv);
+	    SV *sv = newSVpvn_flags(lpv, llen, SvUTF8(left)|SVs_TEMP);
 	    while (!SvNIOKp(sv) && SvCUR(sv) <= len) {
 		XPUSHs(sv);
 	        if (strEQ(SvPVX_const(sv),tmps))
@@ -1411,15 +1318,15 @@
 };
 
 STATIC I32
-S_dopoptolabel(pTHX_ const char *label)
+S_dopoptolabel(pTHX_ const char *label, STRLEN len, U32 flags)
 {
     dVAR;
-    register I32 i;
+    I32 i;
 
     PERL_ARGS_ASSERT_DOPOPTOLABEL;
 
     for (i = cxstack_ix; i >= 0; i--) {
-	register const PERL_CONTEXT * const cx = &cxstack[i];
+	const PERL_CONTEXT * const cx = &cxstack[i];
 	switch (CxTYPE(cx)) {
 	case CXt_SUBST:
 	case CXt_SUB:
@@ -1426,6 +1333,7 @@
 	case CXt_FORMAT:
 	case CXt_EVAL:
 	case CXt_NULL:
+	    /* diag_listed_as: Exiting subroutine via %s */
 	    Perl_ck_warner(aTHX_ packWARN(WARN_EXITING), "Exiting %s via %s",
 			   context_name[CxTYPE(cx)], OP_NAME(PL_op));
 	    if (CxTYPE(cx) == CXt_NULL)
@@ -1436,8 +1344,20 @@
 	case CXt_LOOP_FOR:
 	case CXt_LOOP_PLAIN:
 	  {
-	    const char *cx_label = CxLABEL(cx);
-	    if (!cx_label || strNE(label, cx_label) ) {
+            STRLEN cx_label_len = 0;
+            U32 cx_label_flags = 0;
+	    const char *cx_label = CxLABEL_len_flags(cx, &cx_label_len, &cx_label_flags);
+	    if (!cx_label || !(
+                    ( (cx_label_flags & SVf_UTF8) != (flags & SVf_UTF8) ) ?
+                        (flags & SVf_UTF8)
+                            ? (bytes_cmp_utf8(
+                                        (const U8*)cx_label, cx_label_len,
+                                        (const U8*)label, len) == 0)
+                            : (bytes_cmp_utf8(
+                                        (const U8*)label, len,
+                                        (const U8*)cx_label, cx_label_len) == 0)
+                    : (len == cx_label_len && ((cx_label == label)
+                                    || memEQ(cx_label, label, len))) )) {
 		DEBUG_l(Perl_deb(aTHX_ "(poptolabel(): skipping label at cx=%ld %s)\n",
 			(long)i, cx_label));
 		continue;
@@ -1477,7 +1397,7 @@
 	return G_ARRAY;
     default:
 	Perl_croak(aTHX_ "panic: bad gimme: %d\n", cxstack[cxix].blk_gimme);
-	/* NOTREACHED */
+	assert(0); /* NOTREACHED */
 	return 0;
     }
 }
@@ -1495,6 +1415,20 @@
 	return 0;
 }
 
+/* only used by PUSHSUB */
+I32
+Perl_was_lvalue_sub(pTHX)
+{
+    dVAR;
+    const I32 cxix = dopoptosub(cxstack_ix-1);
+    assert(cxix >= 0);  /* We should only be called from inside subs */
+
+    if (CxLVAL(cxstack + cxix) && CvLVALUE(cxstack[cxix].blk_sub.cv))
+	return CxLVAL(cxstack + cxix);
+    else
+	return 0;
+}
+
 STATIC I32
 S_dopoptosub_at(pTHX_ const PERL_CONTEXT *cxstk, I32 startingblock)
 {
@@ -1504,12 +1438,18 @@
     PERL_ARGS_ASSERT_DOPOPTOSUB_AT;
 
     for (i = startingblock; i >= 0; i--) {
-	register const PERL_CONTEXT * const cx = &cxstk[i];
+	const PERL_CONTEXT * const cx = &cxstk[i];
 	switch (CxTYPE(cx)) {
 	default:
 	    continue;
+	case CXt_SUB:
+            /* in sub foo { /(?{...})/ }, foo ends up on the CX stack
+             * twice; the first for the normal foo() call, and the second
+             * for a faked up re-entry into the sub to execute the
+             * code block. Hide this faked entry from the world. */
+            if (cx->cx_type & CXp_SUB_RE_FAKE)
+                continue;
 	case CXt_EVAL:
-	case CXt_SUB:
 	case CXt_FORMAT:
 	    DEBUG_l( Perl_deb(aTHX_ "(dopoptosub_at(): found sub at cx=%ld)\n", (long)i));
 	    return i;
@@ -1524,7 +1464,7 @@
     dVAR;
     I32 i;
     for (i = startingblock; i >= 0; i--) {
-	register const PERL_CONTEXT *cx = &cxstack[i];
+	const PERL_CONTEXT *cx = &cxstack[i];
 	switch (CxTYPE(cx)) {
 	default:
 	    continue;
@@ -1542,7 +1482,7 @@
     dVAR;
     I32 i;
     for (i = startingblock; i >= 0; i--) {
-	register const PERL_CONTEXT * const cx = &cxstack[i];
+	const PERL_CONTEXT * const cx = &cxstack[i];
 	switch (CxTYPE(cx)) {
 	case CXt_SUBST:
 	case CXt_SUB:
@@ -1549,6 +1489,7 @@
 	case CXt_FORMAT:
 	case CXt_EVAL:
 	case CXt_NULL:
+	    /* diag_listed_as: Exiting subroutine via %s */
 	    Perl_ck_warner(aTHX_ packWARN(WARN_EXITING), "Exiting %s via %s",
 			   context_name[CxTYPE(cx)], OP_NAME(PL_op));
 	    if ((CxTYPE(cx)) == CXt_NULL)
@@ -1571,7 +1512,7 @@
     dVAR;
     I32 i;
     for (i = startingblock; i >= 0; i--) {
-	register const PERL_CONTEXT *cx = &cxstack[i];
+	const PERL_CONTEXT *cx = &cxstack[i];
 	switch (CxTYPE(cx)) {
 	default:
 	    continue;
@@ -1599,7 +1540,7 @@
     dVAR;
     I32 i;
     for (i = startingblock; i >= 0; i--) {
-	register const PERL_CONTEXT *cx = &cxstack[i];
+	const PERL_CONTEXT *cx = &cxstack[i];
 	switch (CxTYPE(cx)) {
 	default:
 	    continue;
@@ -1617,9 +1558,12 @@
     dVAR;
     I32 optype;
 
+    if (!PL_curstackinfo) /* can happen if die during thread cloning */
+	return;
+
     while (cxstack_ix > cxix) {
 	SV *sv;
-        register PERL_CONTEXT *cx = &cxstack[cxstack_ix];
+        PERL_CONTEXT *cx = &cxstack[cxstack_ix];
 	DEBUG_CX("UNWIND");						\
 	/* Note: we don't need to restore the base context info till the end. */
 	switch (CxTYPE(cx)) {
@@ -1659,8 +1603,8 @@
 
     if (PL_in_eval) {
 	if (PL_in_eval & EVAL_KEEPERR) {
-		Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "\t(in cleanup) %s",
-			       SvPV_nolen_const(err));
+		Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "\t(in cleanup) %"SVf,
+                                                    SVfARG(err));
 	}
 	else
 	    sv_catsv(ERRSV, err);
@@ -1719,6 +1663,11 @@
 	    sv_setsv(ERRSV, exceptsv);
 	}
 
+	if (in_eval & EVAL_KEEPERR) {
+	    Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "\t(in cleanup) %"SVf,
+			   SVfARG(exceptsv));
+	}
+
 	while ((cxix = dopoptoeval(cxstack_ix)) < 0
 	       && PL_curstackinfo->si_prev)
 	{
@@ -1729,7 +1678,7 @@
 	if (cxix >= 0) {
 	    I32 optype;
 	    SV *namesv;
-	    register PERL_CONTEXT *cx;
+	    PERL_CONTEXT *cx;
 	    SV **newsp;
 	    COP *oldcop;
 	    JMPENV *restartjmpenv;
@@ -1765,34 +1714,30 @@
 	    PL_curcop = oldcop;
 
 	    if (optype == OP_REQUIRE) {
-                const char* const msg = SvPVx_nolen_const(exceptsv);
                 (void)hv_store(GvHVn(PL_incgv),
-                               SvPVX_const(namesv), SvCUR(namesv),
+                               SvPVX_const(namesv),
+                               SvUTF8(namesv) ? -(I32)SvCUR(namesv) : (I32)SvCUR(namesv),
                                &PL_sv_undef, 0);
 		/* note that unlike pp_entereval, pp_require isn't
 		 * supposed to trap errors. So now that we've popped the
 		 * EVAL that pp_require pushed, and processed the error
 		 * message, rethrow the error */
-		Perl_croak(aTHX_ "%sCompilation failed in require",
-			   *msg ? msg : "Unknown error\n");
+		Perl_croak(aTHX_ "%"SVf"Compilation failed in require",
+			   SVfARG(exceptsv ? exceptsv : newSVpvs_flags("Unknown error\n",
+                                                                    SVs_TEMP)));
 	    }
-	    if (in_eval & EVAL_KEEPERR) {
-		Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "\t(in cleanup) %s",
-			       SvPV_nolen_const(exceptsv));
-	    }
-	    else {
+	    if (!(in_eval & EVAL_KEEPERR))
 		sv_setsv(ERRSV, exceptsv);
-	    }
 	    PL_restartjmpenv = restartjmpenv;
 	    PL_restartop = restartop;
 	    JMPENV_JUMP(3);
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 	}
     }
 
     write_to_stderr(exceptsv);
     my_failure_exit();
-    /* NOTREACHED */
+    assert(0); /* NOTREACHED */
 }
 
 PP(pp_xor)
@@ -1826,9 +1771,9 @@
 const PERL_CONTEXT *
 Perl_caller_cx(pTHX_ I32 count, const PERL_CONTEXT **dbcxp)
 {
-    register I32 cxix = dopoptosub(cxstack_ix);
-    register const PERL_CONTEXT *cx;
-    register const PERL_CONTEXT *ccstack = cxstack;
+    I32 cxix = dopoptosub(cxstack_ix);
+    const PERL_CONTEXT *cx;
+    const PERL_CONTEXT *ccstack = cxstack;
     const PERL_SI *top_si = PL_curstackinfo;
 
     for (;;) {
@@ -1868,16 +1813,20 @@
 {
     dVAR;
     dSP;
-    register const PERL_CONTEXT *cx;
+    const PERL_CONTEXT *cx;
     const PERL_CONTEXT *dbcx;
     I32 gimme;
-    const char *stashname;
+    const HEK *stash_hek;
     I32 count = 0;
+    bool has_arg = MAXARG && TOPs;
 
-    if (MAXARG)
+    if (MAXARG) {
+      if (has_arg)
 	count = POPi;
+      else (void)POPs;
+    }
 
-    cx = caller_cx(count, &dbcx);
+    cx = caller_cx(count + !!(PL_op->op_private & OPpOFFBYONE), &dbcx);
     if (!cx) {
 	if (GIMME != G_ARRAY) {
 	    EXTEND(SP, 1);
@@ -1886,14 +1835,18 @@
 	RETURN;
     }
 
-    stashname = CopSTASHPV(cx->blk_oldcop);
+    DEBUG_CX("CALLER");
+    assert(CopSTASH(cx->blk_oldcop));
+    stash_hek = SvTYPE(CopSTASH(cx->blk_oldcop)) == SVt_PVHV
+      ? HvNAME_HEK((HV*)CopSTASH(cx->blk_oldcop))
+      : NULL;
     if (GIMME != G_ARRAY) {
         EXTEND(SP, 1);
-	if (!stashname)
+	if (!stash_hek)
 	    PUSHs(&PL_sv_undef);
 	else {
 	    dTARGET;
-	    sv_setpv(TARG, stashname);
+	    sv_sethek(TARG, stash_hek);
 	    PUSHs(TARG);
 	}
 	RETURN;
@@ -1901,18 +1854,21 @@
 
     EXTEND(SP, 11);
 
-    if (!stashname)
+    if (!stash_hek)
 	PUSHs(&PL_sv_undef);
-    else
-	mPUSHs(newSVpv(stashname, 0));
+    else {
+	dTARGET;
+	sv_sethek(TARG, stash_hek);
+	PUSHTARG;
+    }
     mPUSHs(newSVpv(OutCopFILE(cx->blk_oldcop), 0));
     mPUSHi((I32)CopLINE(cx->blk_oldcop));
-    if (!MAXARG)
+    if (!has_arg)
 	RETURN;
     if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) {
 	GV * const cvgv = CvGV(dbcx->blk_sub.cv);
 	/* So is ccstack[dbcxix]. */
-	if (isGV(cvgv)) {
+	if (cvgv && isGV(cvgv)) {
 	    SV * const sv = newSV(0);
 	    gv_efullname3(sv, cvgv, NULL);
 	    mPUSHs(sv);
@@ -1935,7 +1891,9 @@
     if (CxTYPE(cx) == CXt_EVAL) {
 	/* eval STRING */
 	if (CxOLD_OP_TYPE(cx) == OP_ENTEREVAL) {
-	    PUSHs(cx->blk_eval.cur_text);
+	    PUSHs(newSVpvn_flags(SvPVX(cx->blk_eval.cur_text),
+				 SvCUR(cx->blk_eval.cur_text)-2,
+				 SvUTF8(cx->blk_eval.cur_text)|SVs_TEMP));
 	    PUSHs(&PL_sv_no);
 	}
 	/* require */
@@ -1959,8 +1917,7 @@
 	AV * const ary = cx->blk_sub.argarray;
 	const int off = AvARRAY(ary) - AvALLOC(ary);
 
-	if (!PL_dbargs || AvREAL(PL_dbargs))
-	    Perl_init_dbargs(aTHX);
+	Perl_init_dbargs(aTHX);
 
 	if (AvMAX(PL_dbargs) < AvFILLp(ary) + off)
 	    av_extend(PL_dbargs, AvFILLp(ary) + off);
@@ -1967,17 +1924,15 @@
 	Copy(AvALLOC(ary), AvARRAY(PL_dbargs), AvFILLp(ary) + 1 + off, SV*);
 	AvFILLp(PL_dbargs) = AvFILLp(ary) + off;
     }
-    /* XXX only hints propagated via op_private are currently
-     * visible (others are not easily accessible, since they
-     * use the global PL_hints) */
     mPUSHi(CopHINTS_get(cx->blk_oldcop));
     {
 	SV * mask ;
 	STRLEN * const old_warnings = cx->blk_oldcop->cop_warnings ;
 
-	if  (old_warnings == pWARN_NONE ||
-		(old_warnings == pWARN_STD && (PL_dowarn & G_WARN_ON) == 0))
+	if  (old_warnings == pWARN_NONE)
             mask = newSVpvn(WARN_NONEstring, WARNsize) ;
+	else if (old_warnings == pWARN_STD && (PL_dowarn & G_WARN_ON) == 0)
+            mask = &PL_sv_undef ;
         else if (old_warnings == pWARN_ALL ||
 		  (old_warnings == pWARN_STD && PL_dowarn & G_WARN_ON)) {
 	    /* Get the bit mask for $warnings::Bits{all}, because
@@ -2006,8 +1961,13 @@
 {
     dVAR;
     dSP;
-    const char * const tmps = (MAXARG < 1) ? (const char *)"" : POPpconstx;
-    sv_reset(tmps, CopSTASH(PL_curcop));
+    const char * tmps;
+    STRLEN len = 0;
+    if (MAXARG < 1 || (!TOPs && !POPs))
+	tmps = NULL, len = 0;
+    else
+	tmps = SvPVx_const(POPs, len);
+    sv_resetpvn(tmps, len, CopSTASH(PL_curcop));
     PUSHs(&PL_sv_yes);
     RETURN;
 }
@@ -2028,13 +1988,16 @@
 	    || SvIV(PL_DBsingle) || SvIV(PL_DBsignal) || SvIV(PL_DBtrace))
     {
 	dSP;
-	register PERL_CONTEXT *cx;
+	PERL_CONTEXT *cx;
 	const I32 gimme = G_ARRAY;
 	U8 hasargs;
 	GV * const gv = PL_DBgv;
-	register CV * const cv = GvCV(gv);
+	CV * cv = NULL;
 
-	if (!cv)
+        if (gv && isGV_with_GP(gv))
+            cv = GvCV(gv);
+
+	if (!cv || (!CvROOT(cv) && !CvXSUB(cv)))
 	    DIE(aTHX_ "No DB::DB routine defined");
 
 	if (CvDEPTH(cv) >= 1 && !(PL_debug & DEBUG_DB_RECURSE_FLAG))
@@ -2051,10 +2014,8 @@
 	SPAGAIN;
 
 	if (CvISXSUB(cv)) {
-	    CvDEPTH(cv)++;
 	    PUSHMARK(SP);
 	    (void)(*CvXSUB(cv))(aTHX_ cv);
-	    CvDEPTH(cv)--;
 	    FREETMPS;
 	    LEAVE;
 	    return NORMAL;
@@ -2064,8 +2025,12 @@
 	    PUSHSUB_DB(cx);
 	    cx->blk_sub.retop = PL_op->op_next;
 	    CvDEPTH(cv)++;
+	    if (CvDEPTH(cv) >= 2) {
+		PERL_STACK_OVERFLOW_CHECK();
+		pad_push(CvPADLIST(cv), CvDEPTH(cv));
+	    }
 	    SAVECOMPPAD();
-	    PAD_SET_CUR_NOSAVE(CvPADLIST(cv), 1);
+	    PAD_SET_CUR_NOSAVE(CvPADLIST(cv), CvDEPTH(cv));
 	    RETURNOP(CvSTART(cv));
 	}
     }
@@ -2073,10 +2038,89 @@
 	return NORMAL;
 }
 
+STATIC SV **
+S_adjust_stack_on_leave(pTHX_ SV **newsp, SV **sp, SV **mark, I32 gimme, U32 flags)
+{
+    bool padtmp = 0;
+    PERL_ARGS_ASSERT_ADJUST_STACK_ON_LEAVE;
+
+    if (flags & SVs_PADTMP) {
+	flags &= ~SVs_PADTMP;
+	padtmp = 1;
+    }
+    if (gimme == G_SCALAR) {
+	if (MARK < SP)
+	    *++newsp = ((SvFLAGS(*SP) & flags) || (padtmp && SvPADTMP(*SP)))
+			    ? *SP : sv_mortalcopy(*SP);
+	else {
+	    /* MEXTEND() only updates MARK, so reuse it instead of newsp. */
+	    MARK = newsp;
+	    MEXTEND(MARK, 1);
+	    *++MARK = &PL_sv_undef;
+	    return MARK;
+	}
+    }
+    else if (gimme == G_ARRAY) {
+	/* in case LEAVE wipes old return values */
+	while (++MARK <= SP) {
+	    if ((SvFLAGS(*MARK) & flags) || (padtmp && SvPADTMP(*MARK)))
+		*++newsp = *MARK;
+	    else {
+		*++newsp = sv_mortalcopy(*MARK);
+		TAINT_NOT;	/* Each item is independent */
+	    }
+	}
+	/* When this function was called with MARK == newsp, we reach this
+	 * point with SP == newsp. */
+    }
+
+    return newsp;
+}
+
+PP(pp_enter)
+{
+    dVAR; dSP;
+    PERL_CONTEXT *cx;
+    I32 gimme = GIMME_V;
+
+    ENTER_with_name("block");
+
+    SAVETMPS;
+    PUSHBLOCK(cx, CXt_BLOCK, SP);
+
+    RETURN;
+}
+
+PP(pp_leave)
+{
+    dVAR; dSP;
+    PERL_CONTEXT *cx;
+    SV **newsp;
+    PMOP *newpm;
+    I32 gimme;
+
+    if (PL_op->op_flags & OPf_SPECIAL) {
+	cx = &cxstack[cxstack_ix];
+	cx->blk_oldpm = PL_curpm;	/* fake block should preserve $1 et al */
+    }
+
+    POPBLOCK(cx,newpm);
+
+    gimme = OP_GIMME(PL_op, (cxstack_ix >= 0) ? gimme : G_SCALAR);
+
+    TAINT_NOT;
+    SP = adjust_stack_on_leave(newsp, SP, newsp, gimme, SVs_PADTMP|SVs_TEMP);
+    PL_curpm = newpm;	/* Don't pop $1 et al till now */
+
+    LEAVE_with_name("block");
+
+    RETURN;
+}
+
 PP(pp_enteriter)
 {
     dVAR; dSP; dMARK;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     const I32 gimme = GIMME_V;
     void *itervar; /* location of the iteration variable */
     U8 cxtype = CXt_LOOP_FOR;
@@ -2126,27 +2170,28 @@
 		   assumptions */
 		assert(CxTYPE(cx) == CXt_LOOP_LAZYIV);
 #ifdef NV_PRESERVES_UV
-		if ((SvOK(sv) && ((SvNV(sv) < (NV)IV_MIN) ||
-				  (SvNV(sv) > (NV)IV_MAX)))
+		if ((SvOK(sv) && ((SvNV_nomg(sv) < (NV)IV_MIN) ||
+				  (SvNV_nomg(sv) > (NV)IV_MAX)))
 			||
-		    (SvOK(right) && ((SvNV(right) > (NV)IV_MAX) ||
-				     (SvNV(right) < (NV)IV_MIN))))
+		    (SvOK(right) && ((SvNV_nomg(right) > (NV)IV_MAX) ||
+				     (SvNV_nomg(right) < (NV)IV_MIN))))
 #else
-		if ((SvOK(sv) && ((SvNV(sv) <= (NV)IV_MIN)
+		if ((SvOK(sv) && ((SvNV_nomg(sv) <= (NV)IV_MIN)
 				  ||
-		                  ((SvNV(sv) > 0) &&
-					((SvUV(sv) > (UV)IV_MAX) ||
-					 (SvNV(sv) > (NV)UV_MAX)))))
+		                  ((SvNV_nomg(sv) > 0) &&
+					((SvUV_nomg(sv) > (UV)IV_MAX) ||
+					 (SvNV_nomg(sv) > (NV)UV_MAX)))))
 			||
-		    (SvOK(right) && ((SvNV(right) <= (NV)IV_MIN)
+		    (SvOK(right) && ((SvNV_nomg(right) <= (NV)IV_MIN)
 				     ||
-				     ((SvNV(right) > 0) &&
-					((SvUV(right) > (UV)IV_MAX) ||
-					 (SvNV(right) > (NV)UV_MAX))))))
+				     ((SvNV_nomg(right) > 0) &&
+					((SvUV_nomg(right) > (UV)IV_MAX) ||
+					 (SvNV_nomg(right) > (NV)UV_MAX))
+				     ))))
 #endif
 		    DIE(aTHX_ "Range iterator outside integer range");
-		cx->blk_loop.state_u.lazyiv.cur = SvIV(sv);
-		cx->blk_loop.state_u.lazyiv.end = SvIV(right);
+		cx->blk_loop.state_u.lazyiv.cur = SvIV_nomg(sv);
+		cx->blk_loop.state_u.lazyiv.end = SvIV_nomg(right);
 #ifdef DEBUGGING
 		/* for correct -Dstv display */
 		cx->blk_oldsp = sp - PL_stack_base;
@@ -2198,7 +2243,7 @@
 PP(pp_enterloop)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     const I32 gimme = GIMME_V;
 
     ENTER_with_name("loop1");
@@ -2214,7 +2259,7 @@
 PP(pp_leaveloop)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     I32 gimme;
     SV **newsp;
     PMOP *newpm;
@@ -2226,21 +2271,7 @@
     newsp = PL_stack_base + cx->blk_loop.resetsp;
 
     TAINT_NOT;
-    if (gimme == G_VOID)
-	NOOP;
-    else if (gimme == G_SCALAR) {
-	if (mark < SP)
-	    *++newsp = sv_mortalcopy(*SP);
-	else
-	    *++newsp = &PL_sv_undef;
-    }
-    else {
-	while (mark < SP) {
-	    *++newsp = sv_mortalcopy(*++mark);
-	    TAINT_NOT;		/* Each item is independent */
-	}
-    }
-    SP = newsp;
+    SP = adjust_stack_on_leave(newsp, SP, MARK, gimme, 0);
     PUTBACK;
 
     POPLOOP(cx);	/* Stack values are safe: release loop vars ... */
@@ -2252,12 +2283,123 @@
     return NORMAL;
 }
 
+STATIC void
+S_return_lvalues(pTHX_ SV **mark, SV **sp, SV **newsp, I32 gimme,
+                       PERL_CONTEXT *cx, PMOP *newpm)
+{
+    const bool 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 ((SvPADTMP(TOPs) ||
+		     (SvFLAGS(TOPs) & (SVf_READONLY | SVf_FAKE))
+		       == SVf_READONLY
+		    ) &&
+		    !SvSMAGICAL(TOPs)) {
+		    what =
+			SvREADONLY(TOPs) ? (TOPs == &PL_sv_undef) ? "undef"
+			: "a readonly value" : "a temporary";
+		}
+		else goto copy_sv;
+	    }
+	    else {
+		/* sub:lvalue{} will take us here. */
+		what = "undef";
+	    }
+	    LEAVE;
+	    cxstack_ix--;
+	    POPSUB(cx,sv);
+	    PL_curpm = newpm;
+	    LEAVESUB(sv);
+	    Perl_croak(aTHX_
+	              "Can't return %s from lvalue subroutine", what
+	    );
+	}
+	if (MARK < SP) {
+	      copy_sv:
+		if (cx->blk_sub.cv && CvDEPTH(cx->blk_sub.cv) > 1) {
+		    if (!SvPADTMP(*SP)) {
+			*++newsp = SvREFCNT_inc(*SP);
+			FREETMPS;
+			sv_2mortal(*newsp);
+		    }
+		    else {
+			/* FREETMPS could clobber it */
+			SV *sv = SvREFCNT_inc(*SP);
+			FREETMPS;
+			*++newsp = sv_mortalcopy(sv);
+			SvREFCNT_dec(sv);
+		    }
+		}
+		else
+		    *++newsp =
+		      SvPADTMP(*SP)
+		       ? sv_mortalcopy(*SP)
+		       : !SvTEMP(*SP)
+		          ? sv_2mortal(SvREFCNT_inc_simple_NN(*SP))
+		          : *SP;
+	}
+	else {
+	    EXTEND(newsp,1);
+	    *++newsp = &PL_sv_undef;
+	}
+	if (CxLVAL(cx) & OPpDEREF) {
+	    SvGETMAGIC(TOPs);
+	    if (!SvOK(TOPs)) {
+		TOPs = vivify_ref(TOPs, CxLVAL(cx) & OPpDEREF);
+	    }
+	}
+    }
+    else if (gimme == G_ARRAY) {
+	assert (!(CxLVAL(cx) & OPpDEREF));
+	if (ref || !CxLVAL(cx))
+	    while (++MARK <= SP)
+		*++newsp =
+		       SvFLAGS(*MARK) & SVs_PADTMP
+		           ? sv_mortalcopy(*MARK)
+		     : SvTEMP(*MARK)
+		           ? *MARK
+		           : sv_2mortal(SvREFCNT_inc_simple_NN(*MARK));
+	else while (++MARK <= SP) {
+	    if (*MARK != &PL_sv_undef
+		    && (SvPADTMP(*MARK)
+		       || (SvFLAGS(*MARK) & (SVf_READONLY|SVf_FAKE))
+		             == SVf_READONLY
+		       )
+	    ) {
+		    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",
+			SvREADONLY(TOPs) ? "readonly value" : "temporary");
+	    }
+	    else
+		*++newsp =
+		    SvTEMP(*MARK)
+		       ? *MARK
+		       : sv_2mortal(SvREFCNT_inc_simple_NN(*MARK));
+	}
+    }
+    PL_stack_sp = newsp;
+}
+
 PP(pp_return)
 {
     dVAR; dSP; dMARK;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     bool popsub2 = FALSE;
     bool clear_errsv = FALSE;
+    bool lval = FALSE;
     I32 gimme;
     SV **newsp;
     PMOP *newpm;
@@ -2298,6 +2440,7 @@
     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;
@@ -2314,7 +2457,8 @@
 	{
 	    /* Unassume the success we assumed earlier. */
 	    (void)hv_delete(GvHVn(PL_incgv),
-			    SvPVX_const(namesv), SvCUR(namesv),
+			    SvPVX_const(namesv),
+                            SvUTF8(namesv) ? -(I32)SvCUR(namesv) : (I32)SvCUR(namesv),
 			    G_DISCARD);
 	    DIE(aTHX_ "%"SVf" did not return a true value", SVfARG(namesv));
 	}
@@ -2324,15 +2468,18 @@
 	retop = cx->blk_sub.retop;
 	break;
     default:
-	DIE(aTHX_ "panic: return");
+	DIE(aTHX_ "panic: return, type=%u", (unsigned) CxTYPE(cx));
     }
 
     TAINT_NOT;
-    if (gimme == G_SCALAR) {
+    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)) {
+		    if (SvTEMP(TOPs) && SvREFCNT(TOPs) == 1
+			 && !SvMAGICAL(TOPs)) {
 			*++newsp = SvREFCNT_inc(*SP);
 			FREETMPS;
 			sv_2mortal(*newsp);
@@ -2344,8 +2491,12 @@
 			SvREFCNT_dec(sv);
 		    }
 		}
+		else if (SvTEMP(*SP) && SvREFCNT(*SP) == 1
+			  && !SvMAGICAL(*SP)) {
+		    *++newsp = *SP;
+		}
 		else
-		    *++newsp = (SvTEMP(*SP)) ? *SP : sv_mortalcopy(*SP);
+		    *++newsp = sv_mortalcopy(*SP);
 	    }
 	    else
 		*++newsp = sv_mortalcopy(*SP);
@@ -2352,15 +2503,17 @@
 	}
 	else
 	    *++newsp = &PL_sv_undef;
-    }
-    else if (gimme == G_ARRAY) {
+      }
+      else if (gimme == G_ARRAY) {
 	while (++MARK <= SP) {
-	    *++newsp = (popsub2 && SvTEMP(*MARK))
+	    *++newsp = popsub2 && SvTEMP(*MARK) && SvREFCNT(*MARK) == 1
+			       && !SvGMAGICAL(*MARK)
 			? *MARK : sv_mortalcopy(*MARK);
 	    TAINT_NOT;		/* Each item is independent */
 	}
+      }
+      PL_stack_sp = newsp;
     }
-    PL_stack_sp = newsp;
 
     LEAVE;
     /* Stack values are safe: */
@@ -2379,34 +2532,91 @@
     return retop;
 }
 
-PP(pp_last)
+/* This duplicates parts of pp_leavesub, so that it can share code with
+ * pp_return */
+PP(pp_leavesublv)
 {
     dVAR; dSP;
-    I32 cxix;
-    register PERL_CONTEXT *cx;
-    I32 pop2 = 0;
-    I32 gimme;
-    I32 optype;
-    OP *nextop = NULL;
     SV **newsp;
     PMOP *newpm;
-    SV **mark;
-    SV *sv = NULL;
+    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;
+    cxstack_ix--;
+    POPSUB(cx,sv);	/* Stack values are safe: release CV and @_ ... */
+    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)
+{
+    dVAR;
+    I32 cxix;
     if (PL_op->op_flags & OPf_SPECIAL) {
 	cxix = dopoptoloop(cxstack_ix);
 	if (cxix < 0)
-	    DIE(aTHX_ "Can't \"last\" outside a loop block");
+	    /* diag_listed_as: Can't "last" outside a loop block */
+	    Perl_croak(aTHX_ "Can't \"%s\" outside a loop block", opname);
     }
     else {
-	cxix = dopoptolabel(cPVOP->op_pv);
+	dSP;
+	STRLEN label_len;
+	const char * const label =
+	    PL_op->op_flags & OPf_STACKED
+		? SvPV(TOPs,label_len)
+		: (label_len = strlen(cPVOP->op_pv), cPVOP->op_pv);
+	const U32 label_flags =
+	    PL_op->op_flags & OPf_STACKED
+		? SvUTF8(POPs)
+		: (cPVOP->op_private & OPpPV_IS_UTF8) ? SVf_UTF8 : 0;
+	PUTBACK;
+        cxix = dopoptolabel(label, label_len, label_flags);
 	if (cxix < 0)
-	    DIE(aTHX_ "Label not found for \"last %s\"", cPVOP->op_pv);
+	    /* diag_listed_as: Label not found for "last %s" */
+	    Perl_croak(aTHX_ "Label not found for \"%s %"SVf"\"",
+				       opname,
+                                       SVfARG(PL_op->op_flags & OPf_STACKED
+                                              && !SvGMAGICAL(TOPp1s)
+                                              ? TOPp1s
+                                              : newSVpvn_flags(label,
+                                                    label_len,
+                                                    label_flags | SVs_TEMP)));
     }
     if (cxix < cxstack_ix)
 	dounwind(cxix);
+    return cxix;
+}
 
+PP(pp_last)
+{
+    dVAR;
+    PERL_CONTEXT *cx;
+    I32 pop2 = 0;
+    I32 gimme;
+    I32 optype;
+    OP *nextop = NULL;
+    SV **newsp;
+    PMOP *newpm;
+    SV **mark;
+    SV *sv = NULL;
+
+    S_unwind_loop(aTHX_ "last");
+
     POPBLOCK(cx,newpm);
     cxstack_ix++; /* temporarily protect top context */
     mark = newsp;
@@ -2432,26 +2642,12 @@
 	nextop = cx->blk_sub.retop;
 	break;
     default:
-	DIE(aTHX_ "panic: last");
+	DIE(aTHX_ "panic: last, type=%u", (unsigned) CxTYPE(cx));
     }
 
     TAINT_NOT;
-    if (gimme == G_SCALAR) {
-	if (MARK < SP)
-	    *++newsp = ((pop2 == CXt_SUB) && SvTEMP(*SP))
-			? *SP : sv_mortalcopy(*SP);
-	else
-	    *++newsp = &PL_sv_undef;
-    }
-    else if (gimme == G_ARRAY) {
-	while (++MARK <= SP) {
-	    *++newsp = ((pop2 == CXt_SUB) && SvTEMP(*MARK))
-			? *MARK : sv_mortalcopy(*MARK);
-	    TAINT_NOT;		/* Each item is independent */
-	}
-    }
-    SP = newsp;
-    PUTBACK;
+    PL_stack_sp = adjust_stack_on_leave(newsp, PL_stack_sp, MARK, gimme,
+				pop2 == CXt_SUB ? SVs_TEMP : 0);
 
     LEAVE;
     cxstack_ix--;
@@ -2479,30 +2675,18 @@
 PP(pp_next)
 {
     dVAR;
-    I32 cxix;
-    register PERL_CONTEXT *cx;
-    I32 inner;
+    PERL_CONTEXT *cx;
+    const I32 inner = PL_scopestack_ix;
 
-    if (PL_op->op_flags & OPf_SPECIAL) {
-	cxix = dopoptoloop(cxstack_ix);
-	if (cxix < 0)
-	    DIE(aTHX_ "Can't \"next\" outside a loop block");
-    }
-    else {
-	cxix = dopoptolabel(cPVOP->op_pv);
-	if (cxix < 0)
-	    DIE(aTHX_ "Label not found for \"next %s\"", cPVOP->op_pv);
-    }
-    if (cxix < cxstack_ix)
-	dounwind(cxix);
+    S_unwind_loop(aTHX_ "next");
 
     /* clear off anything above the scope we're re-entering, but
      * save the rest until after a possible continue block */
-    inner = PL_scopestack_ix;
     TOPBLOCK(cx);
     if (PL_scopestack_ix < inner)
 	leave_scope(PL_scopestack[PL_scopestack_ix]);
     PL_curcop = cx->blk_oldcop;
+    PERL_ASYNC_CHECK();
     return (cx)->blk_loop.my_op->op_nextop;
 }
 
@@ -2509,25 +2693,11 @@
 PP(pp_redo)
 {
     dVAR;
-    I32 cxix;
-    register PERL_CONTEXT *cx;
+    const I32 cxix = S_unwind_loop(aTHX_ "redo");
+    PERL_CONTEXT *cx;
     I32 oldsave;
-    OP* redo_op;
+    OP* redo_op = cxstack[cxix].blk_loop.my_op->op_redoop;
 
-    if (PL_op->op_flags & OPf_SPECIAL) {
-	cxix = dopoptoloop(cxstack_ix);
-	if (cxix < 0)
-	    DIE(aTHX_ "Can't \"redo\" outside a loop block");
-    }
-    else {
-	cxix = dopoptolabel(cPVOP->op_pv);
-	if (cxix < 0)
-	    DIE(aTHX_ "Label not found for \"redo %s\"", cPVOP->op_pv);
-    }
-    if (cxix < cxstack_ix)
-	dounwind(cxix);
-
-    redo_op = cxstack[cxix].blk_loop.my_op->op_redoop;
     if (redo_op->op_type == OP_ENTER) {
 	/* pop one less context to avoid $x being freed in while (my $x..) */
 	cxstack_ix++;
@@ -2540,20 +2710,21 @@
     LEAVE_SCOPE(oldsave);
     FREETMPS;
     PL_curcop = cx->blk_oldcop;
+    PERL_ASYNC_CHECK();
     return redo_op;
 }
 
 STATIC OP *
-S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **oplimit)
+S_dofindlabel(pTHX_ OP *o, const char *label, STRLEN len, U32 flags, OP **opstack, OP **oplimit)
 {
     dVAR;
     OP **ops = opstack;
-    static const char too_deep[] = "Target of goto is too deeply nested";
+    static const char* const too_deep = "Target of goto is too deeply nested";
 
     PERL_ARGS_ASSERT_DOFINDLABEL;
 
     if (ops >= oplimit)
-	Perl_croak(aTHX_ too_deep);
+	Perl_croak(aTHX_ "%s", too_deep);
     if (o->op_type == OP_LEAVE ||
 	o->op_type == OP_SCOPE ||
 	o->op_type == OP_LEAVELOOP ||
@@ -2562,7 +2733,7 @@
     {
 	*ops++ = cUNOPo->op_first;
 	if (ops >= oplimit)
-	    Perl_croak(aTHX_ too_deep);
+	    Perl_croak(aTHX_ "%s", too_deep);
     }
     *ops = 0;
     if (o->op_flags & OPf_KIDS) {
@@ -2570,8 +2741,21 @@
 	/* First try all the kids at this level, since that's likeliest. */
 	for (kid = cUNOPo->op_first; kid; kid = kid->op_sibling) {
 	    if (kid->op_type == OP_NEXTSTATE || kid->op_type == OP_DBSTATE) {
-		const char *kid_label = CopLABEL(kCOP);
-		if (kid_label && strEQ(kid_label, label))
+                STRLEN kid_label_len;
+                U32 kid_label_flags;
+		const char *kid_label = CopLABEL_len_flags(kCOP,
+                                                    &kid_label_len, &kid_label_flags);
+		if (kid_label && (
+                    ( (kid_label_flags & SVf_UTF8) != (flags & SVf_UTF8) ) ?
+                        (flags & SVf_UTF8)
+                            ? (bytes_cmp_utf8(
+                                        (const U8*)kid_label, kid_label_len,
+                                        (const U8*)label, len) == 0)
+                            : (bytes_cmp_utf8(
+                                        (const U8*)label, len,
+                                        (const U8*)kid_label, kid_label_len) == 0)
+                    : ( len == kid_label_len && ((kid_label == label)
+                                    || memEQ(kid_label, label, len)))))
 		    return kid;
 	    }
 	}
@@ -2587,7 +2771,7 @@
 		else
 		    *ops++ = kid;
 	    }
-	    if ((o = dofindlabel(kid, label, ops, oplimit)))
+	    if ((o = dofindlabel(kid, label, len, flags, ops, oplimit)))
 		return o;
 	}
     }
@@ -2600,25 +2784,26 @@
     dVAR; dSP;
     OP *retop = NULL;
     I32 ix;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
 #define GOTO_DEPTH 64
     OP *enterops[GOTO_DEPTH];
     const char *label = NULL;
+    STRLEN label_len = 0;
+    U32 label_flags = 0;
     const bool do_dump = (PL_op->op_type == OP_DUMP);
-    static const char must_have_label[] = "goto must have label";
+    static const char* const must_have_label = "goto must have label";
 
     if (PL_op->op_flags & OPf_STACKED) {
 	SV * const sv = POPs;
+	SvGETMAGIC(sv);
 
 	/* This egregious kludge implements goto &subroutine */
 	if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVCV) {
 	    I32 cxix;
-	    register PERL_CONTEXT *cx;
+	    PERL_CONTEXT *cx;
 	    CV *cv = MUTABLE_CV(SvRV(sv));
-	    SV** mark;
-	    I32 items = 0;
+	    AV *arg = GvAV(PL_defgv);
 	    I32 oldsave;
-	    bool reified = 0;
 
 	retry:
 	    if (!CvROOT(cv) && !CvXSUB(cv)) {
@@ -2629,8 +2814,9 @@
 		    /* autoloaded stub? */
 		    if (cv != GvCV(gv) && (cv = GvCV(gv)))
 			goto retry;
-		    autogv = gv_autoload4(GvSTASH(gv), GvNAME(gv),
-					  GvNAMELEN(gv), FALSE);
+		    autogv = gv_autoload_pvn(GvSTASH(gv), GvNAME(gv),
+					  GvNAMELEN(gv),
+                                          GvNAMEUTF8(gv) ? SVf_UTF8 : 0);
 		    if (autogv && (cv = GvCV(autogv)))
 			goto retry;
 		    tmpstr = sv_newmortal();
@@ -2644,49 +2830,45 @@
 	    SvREFCNT_inc_simple_void(cv); /* avoid premature free during unwind */
 	    FREETMPS;
 	    cxix = dopoptosub(cxstack_ix);
-	    if (cxix < 0)
-		DIE(aTHX_ "Can't goto subroutine outside a subroutine");
-	    if (cxix < cxstack_ix)
+	    if (cxix < cxstack_ix) {
+                if (cxix < 0) {
+                    SvREFCNT_dec(cv);
+                    DIE(aTHX_ "Can't goto subroutine outside a subroutine");
+                }
 		dounwind(cxix);
+            }
 	    TOPBLOCK(cx);
 	    SPAGAIN;
 	    /* ban goto in eval: see <20050521150056.GC20213 at iabyn.com> */
 	    if (CxTYPE(cx) == CXt_EVAL) {
+		SvREFCNT_dec(cv);
 		if (CxREALEVAL(cx))
+		/* diag_listed_as: Can't goto subroutine from an eval-%s */
 		    DIE(aTHX_ "Can't goto subroutine from an eval-string");
 		else
+		/* diag_listed_as: Can't goto subroutine from an eval-%s */
 		    DIE(aTHX_ "Can't goto subroutine from an eval-block");
 	    }
 	    else if (CxMULTICALL(cx))
+	    {
+		SvREFCNT_dec(cv);
 		DIE(aTHX_ "Can't goto subroutine from a sort sub (or similar callback)");
+	    }
 	    if (CxTYPE(cx) == CXt_SUB && CxHASARGS(cx)) {
-		/* put @_ back onto stack */
 		AV* av = cx->blk_sub.argarray;
 
-		items = AvFILLp(av) + 1;
-		EXTEND(SP, items+1); /* @_ could have been extended. */
-		Copy(AvARRAY(av), SP + 1, items, SV*);
-		SvREFCNT_dec(GvAV(PL_defgv));
-		GvAV(PL_defgv) = cx->blk_sub.savearray;
-		CLEAR_ARGARRAY(av);
-		/* abandon @_ if it got reified */
-		if (AvREAL(av)) {
-		    reified = 1;
+		/* abandon the original @_ if it got reified or if it is
+		   the same as the current @_ */
+		if (AvREAL(av) || av == arg) {
 		    SvREFCNT_dec(av);
 		    av = newAV();
-		    av_extend(av, items-1);
 		    AvREIFY_only(av);
 		    PAD_SVl(0) = MUTABLE_SV(cx->blk_sub.argarray = av);
 		}
+		else CLEAR_ARGARRAY(av);
 	    }
-	    else if (CvISXSUB(cv)) {	/* put GvAV(defgv) back onto stack */
-		AV* const av = GvAV(PL_defgv);
-		items = AvFILLp(av) + 1;
-		EXTEND(SP, items+1); /* @_ could have been extended. */
-		Copy(AvARRAY(av), SP + 1, items, SV*);
-	    }
-	    mark = SP;
-	    SP += items;
+	    /* We donate this refcount later to the callee’s pad. */
+	    SvREFCNT_inc_simple_void(arg);
 	    if (CxTYPE(cx) == CXt_SUB &&
 		!(CvDEPTH(cx->blk_sub.cv) = cx->blk_sub.olddepth))
 		SvREFCNT_dec(cx->blk_sub.cv);
@@ -2693,6 +2875,20 @@
 	    oldsave = PL_scopestack[PL_scopestack_ix - 1];
 	    LEAVE_SCOPE(oldsave);
 
+	    /* A destructor called during LEAVE_SCOPE could have undefined
+	     * our precious cv.  See bug #99850. */
+	    if (!CvROOT(cv) && !CvXSUB(cv)) {
+		const GV * const gv = CvGV(cv);
+		SvREFCNT_dec(arg);
+		if (gv) {
+		    SV * const tmpstr = sv_newmortal();
+		    gv_efullname3(tmpstr, gv, NULL);
+		    DIE(aTHX_ "Goto undefined subroutine &%"SVf"",
+			       SVfARG(tmpstr));
+		}
+		DIE(aTHX_ "Goto undefined subroutine");
+	    }
+
 	    /* Now do some callish stuff. */
 	    SAVETMPS;
 	    SAVEFREESV(cv); /* later, undo the 'avoid premature free' hack */
@@ -2700,11 +2896,29 @@
 		OP* const retop = cx->blk_sub.retop;
 		SV **newsp;
 		I32 gimme;
-		if (reified) {
+		const SSize_t items = AvFILLp(arg) + 1;
+		SV** mark;
+
+                PERL_UNUSED_VAR(newsp);
+                PERL_UNUSED_VAR(gimme);
+
+		/* put GvAV(defgv) back onto stack */
+		EXTEND(SP, items+1); /* @_ could have been extended. */
+		Copy(AvARRAY(arg), SP + 1, items, SV*);
+		mark = SP;
+		SP += items;
+		if (AvREAL(arg)) {
 		    I32 index;
 		    for (index=0; index<items; index++)
-			sv_2mortal(SP[-index]);
+			SvREFCNT_inc_void(sv_2mortal(SP[-index]));
 		}
+		SvREFCNT_dec(arg);
+		if (CxTYPE(cx) == CXt_SUB && CxHASARGS(cx)) {
+		    /* Restore old @_ */
+		    arg = GvAV(PL_defgv);
+		    GvAV(PL_defgv) = cx->blk_sub.savearray;
+		    SvREFCNT_dec(arg);
+		}
 
 		/* XS subs don't have a CxSUB, so pop it */
 		POPBLOCK(cx, PL_curpm);
@@ -2713,15 +2927,11 @@
 		PUTBACK;
 		(void)(*CvXSUB(cv))(aTHX_ cv);
 		LEAVE;
+		PERL_ASYNC_CHECK();
 		return retop;
 	    }
 	    else {
-		AV* const padlist = CvPADLIST(cv);
-		if (CxTYPE(cx) == CXt_EVAL) {
-		    PL_in_eval = CxOLD_IN_EVAL(cx);
-		    PL_eval_root = cx->blk_eval.old_eval_root;
-		    cx->cx_type = CXt_SUB;
-		}
+		PADLIST * const padlist = CvPADLIST(cv);
 		cx->blk_sub.cv = cv;
 		cx->blk_sub.olddepth = CvDEPTH(cv);
 
@@ -2733,45 +2943,31 @@
 			sub_crush_depth(cv);
 		    pad_push(padlist, CvDEPTH(cv));
 		}
+		PL_curcop = cx->blk_oldcop;
 		SAVECOMPPAD();
 		PAD_SET_CUR_NOSAVE(padlist, CvDEPTH(cv));
 		if (CxHASARGS(cx))
 		{
-		    AV *const av = MUTABLE_AV(PAD_SVl(0));
-
-		    cx->blk_sub.savearray = GvAV(PL_defgv);
-		    GvAV(PL_defgv) = MUTABLE_AV(SvREFCNT_inc_simple(av));
 		    CX_CURPAD_SAVE(cx->blk_sub);
-		    cx->blk_sub.argarray = av;
 
-		    if (items >= AvMAX(av) + 1) {
-			SV **ary = AvALLOC(av);
-			if (AvARRAY(av) != ary) {
-			    AvMAX(av) += AvARRAY(av) - AvALLOC(av);
-			    AvARRAY(av) = ary;
-			}
-			if (items >= AvMAX(av) + 1) {
-			    AvMAX(av) = items - 1;
-			    Renew(ary,items+1,SV*);
-			    AvALLOC(av) = ary;
-			    AvARRAY(av) = ary;
-			}
+		    /* cx->blk_sub.argarray has no reference count, so we
+		       need something to hang on to our argument array so
+		       that cx->blk_sub.argarray does not end up pointing
+		       to freed memory as the result of undef *_.  So put
+		       it in the callee’s pad, donating our refer-
+		       ence count. */
+		    SvREFCNT_dec(PAD_SVl(0));
+		    PAD_SVl(0) = (SV *)(cx->blk_sub.argarray = arg);
+
+		    /* GvAV(PL_defgv) might have been modified on scope
+		       exit, so restore it. */
+		    if (arg != GvAV(PL_defgv)) {
+			AV * const av = GvAV(PL_defgv);
+			GvAV(PL_defgv) = (AV *)SvREFCNT_inc_simple(arg);
+			SvREFCNT_dec(av);
 		    }
-		    ++mark;
-		    Copy(mark,AvARRAY(av),items,SV*);
-		    AvFILLp(av) = items - 1;
-		    assert(!AvREAL(av));
-		    if (reified) {
-			/* transfer 'ownership' of refcnts to new @_ */
-			AvREAL_on(av);
-			AvREIFY_off(av);
-		    }
-		    while (items--) {
-			if (*mark)
-			    SvTEMP_off(*mark);
-			mark++;
-		    }
 		}
+		else SvREFCNT_dec(arg);
 		if (PERLDB_SUB) {	/* Checking curstash breaks DProf. */
 		    Perl_get_db_sub(aTHX_ NULL, cv);
 		    if (PERLDB_GOTO) {
@@ -2783,25 +2979,25 @@
 			}
 		    }
 		}
+		PERL_ASYNC_CHECK();
 		RETURNOP(CvSTART(cv));
 	    }
 	}
 	else {
-	    label = SvPV_nolen_const(sv);
-	    if (!(do_dump || *label))
-		DIE(aTHX_ must_have_label);
+	    label       = SvPV_nomg_const(sv, label_len);
+            label_flags = SvUTF8(sv);
 	}
     }
-    else if (PL_op->op_flags & OPf_SPECIAL) {
-	if (! do_dump)
-	    DIE(aTHX_ must_have_label);
+    else if (!(PL_op->op_flags & OPf_SPECIAL)) {
+ 	label       = cPVOP->op_pv;
+        label_flags = (cPVOP->op_private & OPpPV_IS_UTF8) ? SVf_UTF8 : 0;
+        label_len   = strlen(label);
     }
-    else
-	label = cPVOP->op_pv;
+    if (!(do_dump || label_len)) DIE(aTHX_ "%s", must_have_label);
 
     PERL_ASYNC_CHECK();
 
-    if (label && *label) {
+    if (label_len) {
 	OP *gotoprobe = NULL;
 	bool leaving_eval = FALSE;
 	bool in_block = FALSE;
@@ -2852,12 +3048,13 @@
 		DIE(aTHX_ "Can't \"goto\" out of a pseudo block");
 	    default:
 		if (ix)
-		    DIE(aTHX_ "panic: goto");
+		    DIE(aTHX_ "panic: goto, type=%u, ix=%ld",
+			CxTYPE(cx), (long) ix);
 		gotoprobe = PL_main_root;
 		break;
 	    }
 	    if (gotoprobe) {
-		retop = dofindlabel(gotoprobe, label,
+		retop = dofindlabel(gotoprobe, label, label_len, label_flags,
 				    enterops, enterops + GOTO_DEPTH);
 		if (retop)
 		    break;
@@ -2865,7 +3062,8 @@
 			gotoprobe->op_sibling->op_type == OP_UNSTACK &&
 			gotoprobe->op_sibling->op_sibling) {
 		    retop = dofindlabel(gotoprobe->op_sibling->op_sibling,
-					label, enterops, enterops + GOTO_DEPTH);
+					label, label_len, label_flags, enterops,
+					enterops + GOTO_DEPTH);
 		    if (retop)
 			break;
 		}
@@ -2873,7 +3071,9 @@
 	    PL_lastgotoprobe = gotoprobe;
 	}
 	if (!retop)
-	    DIE(aTHX_ "Can't find label %s", label);
+	    DIE(aTHX_ "Can't find label %"SVf,
+                            SVfARG(newSVpvn_flags(label, label_len,
+                                        SVs_TEMP | label_flags)));
 
 	/* if we're leaving an eval, check before we pop any frames
            that we're not going to punt, otherwise the error
@@ -2935,6 +3135,7 @@
 	PL_do_undump = FALSE;
     }
 
+    PERL_ASYNC_CHECK();
     RETURNOP(retop);
 }
 
@@ -2946,6 +3147,9 @@
 
     if (MAXARG < 1)
 	anum = 0;
+    else if (!TOPs) {
+	anum = 0; (void)POPs;
+    }
     else {
 	anum = SvIVx(POPs);
 #ifdef VMS
@@ -3042,7 +3246,7 @@
 	JMPENV_POP;
 	PL_op = oldop;
 	JMPENV_JUMP(ret);
-	/* NOTREACHED */
+	assert(0); /* NOTREACHED */
     }
     JMPENV_POP;
     PL_op = oldop;
@@ -3049,143 +3253,7 @@
     return NULL;
 }
 
-/* James Bond: Do you expect me to talk?
-   Auric Goldfinger: No, Mr. Bond. I expect you to die.
 
-   This code is an ugly hack, doesn't work with lexicals in subroutines that are
-   called more than once, and is only used by regcomp.c, for (?{}) blocks.
-
-   Currently it is not used outside the core code. Best if it stays that way.
-
-   Hence it's now deprecated, and will be removed.
-*/
-OP *
-Perl_sv_compile_2op(pTHX_ SV *sv, OP** startop, const char *code, PAD** padp)
-/* sv Text to convert to OP tree. */
-/* startop op_free() this to undo. */
-/* code Short string id of the caller. */
-{
-    PERL_ARGS_ASSERT_SV_COMPILE_2OP;
-    return Perl_sv_compile_2op_is_broken(aTHX_ sv, startop, code, padp);
-}
-
-/* Don't use this. It will go away without warning once the regexp engine is
-   refactored not to use it.  */
-OP *
-Perl_sv_compile_2op_is_broken(pTHX_ SV *sv, OP **startop, const char *code,
-			      PAD **padp)
-{
-    dVAR; dSP;				/* Make POPBLOCK work. */
-    PERL_CONTEXT *cx;
-    SV **newsp;
-    I32 gimme = G_VOID;
-    I32 optype;
-    OP dummy;
-    char tbuf[TYPE_DIGITS(long) + 12 + 10];
-    char *tmpbuf = tbuf;
-    char *safestr;
-    int runtime;
-    CV* runcv = NULL;	/* initialise to avoid compiler warnings */
-    STRLEN len;
-    bool need_catch;
-
-    PERL_ARGS_ASSERT_SV_COMPILE_2OP_IS_BROKEN;
-
-    ENTER_with_name("eval");
-    lex_start(sv, NULL, LEX_START_SAME_FILTER);
-    SAVETMPS;
-    /* switch to eval mode */
-
-    if (IN_PERL_COMPILETIME) {
-	SAVECOPSTASH_FREE(&PL_compiling);
-	CopSTASH_set(&PL_compiling, PL_curstash);
-    }
-    if (PERLDB_NAMEEVAL && CopLINE(PL_curcop)) {
-	SV * const sv = sv_newmortal();
-	Perl_sv_setpvf(aTHX_ sv, "_<(%.10seval %lu)[%s:%"IVdf"]",
-		       code, (unsigned long)++PL_evalseq,
-		       CopFILE(PL_curcop), (IV)CopLINE(PL_curcop));
-	tmpbuf = SvPVX(sv);
-	len = SvCUR(sv);
-    }
-    else
-	len = my_snprintf(tmpbuf, sizeof(tbuf), "_<(%.10s_eval %lu)", code,
-			  (unsigned long)++PL_evalseq);
-    SAVECOPFILE_FREE(&PL_compiling);
-    CopFILE_set(&PL_compiling, tmpbuf+2);
-    SAVECOPLINE(&PL_compiling);
-    CopLINE_set(&PL_compiling, 1);
-    /* XXX For C<eval "...">s within BEGIN {} blocks, this ends up
-       deleting the eval's FILEGV from the stash before gv_check() runs
-       (i.e. before run-time proper). To work around the coredump that
-       ensues, we always turn GvMULTI_on for any globals that were
-       introduced within evals. See force_ident(). GSAR 96-10-12 */
-    safestr = savepvn(tmpbuf, len);
-    SAVEDELETE(PL_defstash, safestr, len);
-    SAVEHINTS();
-#ifdef OP_IN_REGISTER
-    PL_opsave = op;
-#else
-    SAVEVPTR(PL_op);
-#endif
-
-    /* we get here either during compilation, or via pp_regcomp at runtime */
-    runtime = IN_PERL_RUNTIME;
-    if (runtime)
-    {
-	runcv = find_runcv(NULL);
-
-	/* At run time, we have to fetch the hints from PL_curcop. */
-	PL_hints = PL_curcop->cop_hints;
-	if (PL_hints & HINT_LOCALIZE_HH) {
-	    /* SAVEHINTS created a new HV in PL_hintgv, which we
-	       need to GC */
-	    SvREFCNT_dec(GvHV(PL_hintgv));
-	    GvHV(PL_hintgv) =
-	     refcounted_he_chain_2hv(PL_curcop->cop_hints_hash, 0);
-	    hv_magic(GvHV(PL_hintgv), NULL, PERL_MAGIC_hints);
-	}
-	SAVECOMPILEWARNINGS();
-	PL_compiling.cop_warnings = DUP_WARNINGS(PL_curcop->cop_warnings);
-	cophh_free(CopHINTHASH_get(&PL_compiling));
-	/* XXX Does this need to avoid copying a label? */
-	PL_compiling.cop_hints_hash
-	 = cophh_copy(PL_curcop->cop_hints_hash);
-    }
-
-    PL_op = &dummy;
-    PL_op->op_type = OP_ENTEREVAL;
-    PL_op->op_flags = 0;			/* Avoid uninit warning. */
-    PUSHBLOCK(cx, CXt_EVAL|(IN_PERL_COMPILETIME ? 0 : CXp_REAL), SP);
-    PUSHEVAL(cx, 0);
-    need_catch = CATCH_GET;
-    CATCH_SET(TRUE);
-
-    if (runtime)
-	(void) doeval(G_SCALAR, startop, runcv, PL_curcop->cop_seq);
-    else
-	(void) doeval(G_SCALAR, startop, PL_compcv, PL_cop_seqmax);
-    CATCH_SET(need_catch);
-    POPBLOCK(cx,PL_curpm);
-    POPEVAL(cx);
-
-    (*startop)->op_type = OP_NULL;
-    (*startop)->op_ppaddr = PL_ppaddr[OP_NULL];
-    /* XXX DAPM do this properly one year */
-    *padp = MUTABLE_AV(SvREFCNT_inc_simple(PL_comppad));
-    LEAVE_with_name("eval");
-    if (IN_PERL_COMPILETIME)
-	CopHINTS_set(&PL_compiling, PL_hints);
-#ifdef OP_IN_REGISTER
-    op = PL_opsave;
-#endif
-    PERL_UNUSED_VAR(newsp);
-    PERL_UNUSED_VAR(optype);
-
-    return PL_eval_start;
-}
-
-
 /*
 =for apidoc find_runcv
 
@@ -3201,8 +3269,16 @@
 CV*
 Perl_find_runcv(pTHX_ U32 *db_seqp)
 {
+    return Perl_find_runcv_where(aTHX_ 0, 0, db_seqp);
+}
+
+/* If this becomes part of the API, it might need a better name. */
+CV *
+Perl_find_runcv_where(pTHX_ U8 cond, IV arg, U32 *db_seqp)
+{
     dVAR;
     PERL_SI	 *si;
+    int		 level = 0;
 
     if (db_seqp)
 	*db_seqp = PL_curcop->cop_seq;
@@ -3210,20 +3286,36 @@
         I32 ix;
 	for (ix = si->si_cxix; ix >= 0; ix--) {
 	    const PERL_CONTEXT *cx = &(si->si_cxstack[ix]);
+	    CV *cv = NULL;
 	    if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) {
-		CV * const cv = cx->blk_sub.cv;
+		cv = cx->blk_sub.cv;
 		/* skip DB:: code */
 		if (db_seqp && PL_debstash && CvSTASH(cv) == PL_debstash) {
 		    *db_seqp = cx->blk_oldcop->cop_seq;
 		    continue;
 		}
-		return cv;
+                if (cx->cx_type & CXp_SUB_RE)
+                    continue;
 	    }
 	    else if (CxTYPE(cx) == CXt_EVAL && !CxTRYBLOCK(cx))
-		return PL_compcv;
+		cv = cx->blk_eval.cv;
+	    if (cv) {
+		switch (cond) {
+		case FIND_RUNCV_padid_eq:
+		    if (!CvPADLIST(cv)
+		     || PadlistNAMES(CvPADLIST(cv)) != INT2PTR(PADNAMELIST *, arg))
+			continue;
+		    return cv;
+		case FIND_RUNCV_level_eq:
+		    if (level++ != arg) continue;
+		    /* GERONIMO! */
+		default:
+		    return cv;
+		}
+	    }
 	}
     }
-    return PL_main_cv;
+    return cond == FIND_RUNCV_padid_eq ? NULL : PL_main_cv;
 }
 
 
@@ -3249,7 +3341,7 @@
     default:
 	JMPENV_POP;
 	JMPENV_JUMP(ret);
-	/* NOTREACHED */
+	assert(0); /* NOTREACHED */
     }
     JMPENV_POP;
     return ret;
@@ -3256,52 +3348,62 @@
 }
 
 
-/* Compile a require/do, an eval '', or a /(?{...})/.
- * In the last case, startop is non-null, and contains the address of
- * a pointer that should be set to the just-compiled code.
+/* Compile a require/do or an eval ''.
+ *
  * outside is the lexically enclosing CV (if any) that invoked us.
+ * seq     is the current COP scope value.
+ * hh      is the saved hints hash, if any.
+ *
  * Returns a bool indicating whether the compile was successful; if so,
- * PL_eval_start contains the first op of the compiled ocde; otherwise,
- * pushes undef (also croaks if startop != NULL).
+ * PL_eval_start contains the first op of the compiled code; otherwise,
+ * pushes undef.
+ *
+ * This function is called from two places: pp_require and pp_entereval.
+ * These can be distinguished by whether PL_op is entereval.
  */
 
 STATIC bool
-S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq)
+S_doeval(pTHX_ int gimme, CV* outside, U32 seq, HV *hh)
 {
     dVAR; dSP;
     OP * const saveop = PL_op;
-    bool in_require = (saveop && saveop->op_type == OP_REQUIRE);
+    bool clear_hints = saveop->op_type != OP_ENTEREVAL;
+    COP * const oldcurcop = PL_curcop;
+    bool in_require = (saveop->op_type == OP_REQUIRE);
     int yystatus;
+    CV *evalcv;
 
     PL_in_eval = (in_require
 		  ? (EVAL_INREQUIRE | (PL_in_eval & EVAL_INEVAL))
-		  : EVAL_INEVAL);
+		  : (EVAL_INEVAL |
+                        ((PL_op->op_private & OPpEVAL_RE_REPARSING)
+                            ? EVAL_RE_REPARSING : 0)));
 
     PUSHMARK(SP);
 
-    SAVESPTR(PL_compcv);
-    PL_compcv = MUTABLE_CV(newSV_type(SVt_PVCV));
-    CvEVAL_on(PL_compcv);
+    evalcv = MUTABLE_CV(newSV_type(SVt_PVCV));
+    CvEVAL_on(evalcv);
     assert(CxTYPE(&cxstack[cxstack_ix]) == CXt_EVAL);
-    cxstack[cxstack_ix].blk_eval.cv = PL_compcv;
+    cxstack[cxstack_ix].blk_eval.cv = evalcv;
+    cxstack[cxstack_ix].blk_gimme = gimme;
 
-    CvOUTSIDE_SEQ(PL_compcv) = seq;
-    CvOUTSIDE(PL_compcv) = MUTABLE_CV(SvREFCNT_inc_simple(outside));
+    CvOUTSIDE_SEQ(evalcv) = seq;
+    CvOUTSIDE(evalcv) = MUTABLE_CV(SvREFCNT_inc_simple(outside));
 
     /* set up a scratch pad */
 
-    CvPADLIST(PL_compcv) = pad_new(padnew_SAVE);
+    CvPADLIST(evalcv) = pad_new(padnew_SAVE);
     PL_op = NULL; /* avoid PL_op and PL_curpad referring to different CVs */
 
 
     if (!PL_madskills)
-	SAVEMORTALIZESV(PL_compcv);	/* must remain until end of current statement */
+	SAVEMORTALIZESV(evalcv);	/* must remain until end of current statement */
 
     /* make sure we compile in the right package */
 
     if (CopSTASH_ne(PL_curcop, PL_curstash)) {
-	SAVESPTR(PL_curstash);
-	PL_curstash = CopSTASH(PL_curcop);
+	SAVEGENERICSV(PL_curstash);
+	PL_curstash = (HV *)SvREFCNT_inc_simple(CopSTASH(PL_curcop));
     }
     /* XXX:ajgo do we really need to alloc an AV for begin/checkunit */
     SAVESPTR(PL_beginav);
@@ -3316,16 +3418,68 @@
     PL_madskills = 0;
 #endif
 
+    ENTER_with_name("evalcomp");
+    SAVESPTR(PL_compcv);
+    PL_compcv = evalcv;
+
     /* try to compile it */
 
     PL_eval_root = NULL;
     PL_curcop = &PL_compiling;
-    CopARYBASE_set(PL_curcop, 0);
-    if (saveop && (saveop->op_type != OP_REQUIRE) && (saveop->op_flags & OPf_SPECIAL))
+    if ((saveop->op_type != OP_REQUIRE) && (saveop->op_flags & OPf_SPECIAL))
 	PL_in_eval |= EVAL_KEEPERR;
     else
 	CLEAR_ERRSV();
 
+    SAVEHINTS();
+    if (clear_hints) {
+	PL_hints = 0;
+	hv_clear(GvHV(PL_hintgv));
+    }
+    else {
+	PL_hints = saveop->op_private & OPpEVAL_COPHH
+		     ? oldcurcop->cop_hints : saveop->op_targ;
+
+        /* making 'use re eval' not be in scope when compiling the
+         * qr/mabye_has_runtime_code_block/ ensures that we don't get
+         * infinite recursion when S_has_runtime_code() gives a false
+         * positive: the second time round, HINT_RE_EVAL isn't set so we
+         * don't bother calling S_has_runtime_code() */
+        if (PL_in_eval & EVAL_RE_REPARSING)
+            PL_hints &= ~HINT_RE_EVAL;
+
+	if (hh) {
+	    /* SAVEHINTS created a new HV in PL_hintgv, which we need to GC */
+	    SvREFCNT_dec(GvHV(PL_hintgv));
+	    GvHV(PL_hintgv) = hh;
+	}
+    }
+    SAVECOMPILEWARNINGS();
+    if (clear_hints) {
+	if (PL_dowarn & G_WARN_ALL_ON)
+	    PL_compiling.cop_warnings = pWARN_ALL ;
+	else if (PL_dowarn & G_WARN_ALL_OFF)
+	    PL_compiling.cop_warnings = pWARN_NONE ;
+	else
+	    PL_compiling.cop_warnings = pWARN_STD ;
+    }
+    else {
+	PL_compiling.cop_warnings =
+	    DUP_WARNINGS(oldcurcop->cop_warnings);
+	cophh_free(CopHINTHASH_get(&PL_compiling));
+	if (Perl_cop_fetch_label(aTHX_ oldcurcop, NULL, NULL)) {
+	    /* The label, if present, is the first entry on the chain. So rather
+	       than writing a blank label in front of it (which involves an
+	       allocation), just use the next entry in the chain.  */
+	    PL_compiling.cop_hints_hash
+		= cophh_copy(oldcurcop->cop_hints_hash->refcounted_he_next);
+	    /* Check the assumption that this removed the label.  */
+	    assert(Perl_cop_fetch_label(aTHX_ &PL_compiling, NULL, NULL) == NULL);
+	}
+	else
+	    PL_compiling.cop_hints_hash = cophh_copy(oldcurcop->cop_hints_hash);
+    }
+
     CALL_BLOCK_HOOKS(bhk_eval, saveop);
 
     /* note that yyparse() may raise an exception, e.g. C<BEGIN{die}>,
@@ -3335,11 +3489,13 @@
 
     if (yystatus || PL_parser->error_count || !PL_eval_root) {
 	SV **newsp;			/* Used by POPBLOCK. */
-	PERL_CONTEXT *cx = NULL;
+	PERL_CONTEXT *cx;
 	I32 optype;			/* Used by POPEVAL. */
-	SV *namesv = NULL;
-	const char *msg;
+	SV *namesv;
+        SV *errsv = NULL;
 
+	cx = NULL;
+	namesv = NULL;
 	PERL_UNUSED_VAR(newsp);
 	PERL_UNUSED_VAR(optype);
 
@@ -3352,16 +3508,14 @@
 		PL_eval_root = NULL;
 	    }
 	    SP = PL_stack_base + POPMARK;	/* pop original mark */
-	    if (!startop) {
-		POPBLOCK(cx,PL_curpm);
-		POPEVAL(cx);
-		namesv = cx->blk_eval.old_namesv;
-	    }
+	    POPBLOCK(cx,PL_curpm);
+	    POPEVAL(cx);
+	    namesv = cx->blk_eval.old_namesv;
+	    /* POPBLOCK renders LEAVE_with_name("evalcomp") unnecessary. */
+	    LEAVE_with_name("eval"); /* pp_entereval knows about this LEAVE.  */
 	}
-	if (yystatus != 3)
-	    LEAVE_with_name("eval"); /* pp_entereval knows about this LEAVE.  */
 
-	msg = SvPVx_nolen_const(ERRSV);
+	errsv = ERRSV;
 	if (in_require) {
 	    if (!cx) {
 		/* If cx is still NULL, it means that we didn't go in the
@@ -3371,47 +3525,34 @@
 		namesv = cx->blk_eval.old_namesv;
 	    }
 	    (void)hv_store(GvHVn(PL_incgv),
-			   SvPVX_const(namesv), SvCUR(namesv),
+			   SvPVX_const(namesv),
+                           SvUTF8(namesv) ? -(I32)SvCUR(namesv) : (I32)SvCUR(namesv),
 			   &PL_sv_undef, 0);
-	    Perl_croak(aTHX_ "%sCompilation failed in require",
-		       *msg ? msg : "Unknown error\n");
+	    Perl_croak(aTHX_ "%"SVf"Compilation failed in require",
+		       SVfARG(errsv
+                                ? errsv
+                                : newSVpvs_flags("Unknown error\n", SVs_TEMP)));
 	}
-	else if (startop) {
-	    if (yystatus != 3) {
-		POPBLOCK(cx,PL_curpm);
-		POPEVAL(cx);
-	    }
-	    Perl_croak(aTHX_ "%sCompilation failed in regexp",
-		       (*msg ? msg : "Unknown error\n"));
-	}
 	else {
-	    if (!*msg) {
-	        sv_setpvs(ERRSV, "Compilation error");
+	    if (!*(SvPV_nolen_const(errsv))) {
+	        sv_setpvs(errsv, "Compilation error");
 	    }
 	}
-	PUSHs(&PL_sv_undef);
+	if (gimme != G_ARRAY) PUSHs(&PL_sv_undef);
 	PUTBACK;
 	return FALSE;
     }
+    else
+	LEAVE_with_name("evalcomp");
+
     CopLINE_set(&PL_compiling, 0);
-    if (startop) {
-	*startop = PL_eval_root;
-    } else
-	SAVEFREEOP(PL_eval_root);
+    SAVEFREEOP(PL_eval_root);
+    cv_forget_slab(evalcv);
 
-    /* Set the context for this new optree.
-     * Propagate the context from the eval(). */
-    if ((gimme & G_WANT) == G_VOID)
-	scalarvoid(PL_eval_root);
-    else if ((gimme & G_WANT) == G_ARRAY)
-	list(PL_eval_root);
-    else
-	scalar(PL_eval_root);
-
     DEBUG_x(dump_eval());
 
     /* Register with debugger: */
-    if (PERLDB_INTER && saveop && saveop->op_type == OP_REQUIRE) {
+    if (PERLDB_INTER && saveop->op_type == OP_REQUIRE) {
 	CV * const cv = get_cvs("DB::postponed", 0);
 	if (cv) {
 	    dSP;
@@ -3430,7 +3571,7 @@
 
     /* compiled okay, so do it */
 
-    CvDEPTH(PL_compcv) = 1;
+    CvDEPTH(evalcv) = 1;
     SP = PL_stack_base + POPMARK;		/* pop original mark */
     PL_op = saveop;			/* The caller may need it. */
     PL_parser->lex_state = LEX_NOTPARSING;	/* $^S needs this. */
@@ -3453,7 +3594,7 @@
     }
 
 #if !defined(PERLIO_IS_STDIO) && !defined(USE_SFIO)
-    return PerlIO_openn(aTHX_ NULL, PERL_SCRIPT_MODE, -1, 0, 0, NULL, 1, &name);
+    return PerlIO_openn(aTHX_ ":", PERL_SCRIPT_MODE, -1, 0, 0, NULL, 1, &name);
 #else
     return PerlIO_open(p, PERL_SCRIPT_MODE);
 #endif
@@ -3487,7 +3628,7 @@
 PP(pp_require)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     SV *sv;
     const char *name;
     STRLEN len;
@@ -3495,6 +3636,9 @@
     STRLEN unixlen;
 #ifdef VMS
     int vms_unixname = 0;
+    char *unixnamebuf;
+    char *unixdir;
+    char *unixdirbuf;
 #endif
     const char *tryname = NULL;
     SV *namesv = NULL;
@@ -3507,11 +3651,12 @@
     SV *hook_sv = NULL;
     SV *encoding;
     OP *op;
+    int saved_errno;
 
     sv = POPs;
     if ( (SvNIOKp(sv) || SvVOK(sv)) && PL_op->op_type != OP_DOFILE) {
 	sv = sv_2mortal(new_version(sv));
-	if (!sv_derived_from(PL_patchlevel, "version"))
+	if (!Perl_sv_derived_from_pvn(aTHX_ PL_patchlevel, STR_WITH_LEN("version"), 0))
 	    upg_version(PL_patchlevel, TRUE);
 	if (cUNOP->op_first->op_type == OP_CONST && cUNOP->op_first->op_private & OPpCONST_NOVER) {
 	    if ( vcmp(sv,PL_patchlevel) <= 0 )
@@ -3579,7 +3724,9 @@
      * To prevent this, the key must be stored in UNIX format if the VMS
      * name can be translated to UNIX.
      */
-    if ((unixname = tounixspec(name, NULL)) != NULL) {
+    
+    if ((unixnamebuf = SvPVX(sv_2mortal(newSVpv("", VMS_MAXRSS-1))))
+        && (unixname = tounixspec(name, unixnamebuf)) != NULL) {
 	unixlen = strlen(unixname);
 	vms_unixname = 1;
     }
@@ -3604,6 +3751,8 @@
 	}
     }
 
+    LOADING_FILE_PROBE(unixname);
+
     /* prepare to compile file */
 
     if (path_is_absolute(name)) {
@@ -3611,7 +3760,7 @@
 	tryname = name;
 	tryrsfp = doopen_pm(sv);
     }
-    if (!tryrsfp) {
+    if (!tryrsfp && !(errno == EACCES && path_is_absolute(name))) {
 	AV * const ar = GvAVn(PL_incgv);
 	I32 i;
 #ifdef VMS
@@ -3754,8 +3903,8 @@
 		    }
 
 #ifdef VMS
-		    char *unixdir;
-		    if ((unixdir = tounixpath(dir, NULL)) == NULL)
+		    if (((unixdirbuf = SvPVX(sv_2mortal(newSVpv("", VMS_MAXRSS-1)))) == NULL)
+			|| ((unixdir = tounixpath(dir, unixdirbuf)) == NULL))
 			continue;
 		    sv_setpv(namesv, unixdir);
 		    sv_catpv(namesv, unixname);
@@ -3783,7 +3932,12 @@
 
 			memcpy(tmp, dir, dirlen);
 			tmp +=dirlen;
-			*tmp++ = '/';
+
+			/* Avoid '<dir>//<file>' */
+			if (!dirlen || *(tmp-1) != '/') {
+			    *tmp++ = '/';
+			}
+
 			/* name came from an SV, so it will have a '\0' at the
 			   end that we can copy as part of this memcpy().  */
 			memcpy(tmp, name, len + 1);
@@ -3799,49 +3953,70 @@
 		    if (tryrsfp) {
 			if (tryname[0] == '.' && tryname[1] == '/') {
 			    ++tryname;
-			    while (*++tryname == '/');
+			    while (*++tryname == '/') {}
 			}
 			break;
 		    }
-		    else if (errno == EMFILE)
-			/* no point in trying other paths if out of handles */
-			break;
+                    else if (errno == EMFILE || errno == EACCES) {
+                        /* no point in trying other paths if out of handles;
+                         * on the other hand, if we couldn't open one of the
+                         * files, then going on with the search could lead to
+                         * unexpected results; see perl #113422
+                         */
+                        break;
+                    }
 		  }
 		}
 	    }
 	}
     }
+    saved_errno = errno; /* sv_2mortal can realloc things */
     sv_2mortal(namesv);
     if (!tryrsfp) {
 	if (PL_op->op_type == OP_REQUIRE) {
-	    if(errno == EMFILE) {
+	    if(saved_errno == EMFILE || saved_errno == EACCES) {
 		/* diag_listed_as: Can't locate %s */
-		DIE(aTHX_ "Can't locate %s:   %s", name, Strerror(errno));
+		DIE(aTHX_ "Can't locate %s:   %s", name, Strerror(saved_errno));
 	    } else {
 	        if (namesv) {			/* did we lookup @INC? */
 		    AV * const ar = GvAVn(PL_incgv);
 		    I32 i;
+		    SV *const msg = newSVpvs_flags("", SVs_TEMP);
 		    SV *const inc = newSVpvs_flags("", SVs_TEMP);
 		    for (i = 0; i <= AvFILL(ar); i++) {
 			sv_catpvs(inc, " ");
 			sv_catsv(inc, *av_fetch(ar, i, TRUE));
 		    }
+		    if (len >= 4 && memEQ(name + len - 3, ".pm", 4)) {
+			const char *c, *e = name + len - 3;
+			sv_catpv(msg, " (you may need to install the ");
+			for (c = name; c < e; c++) {
+			    if (*c == '/') {
+				sv_catpvn(msg, "::", 2);
+			    }
+			    else {
+				sv_catpvn(msg, c, 1);
+			    }
+			}
+			sv_catpv(msg, " module)");
+		    }
+		    else if (len >= 2 && memEQ(name + len - 2, ".h", 3)) {
+			sv_catpv(msg, " (change .h to .ph maybe?) (did you run h2ph?)");
+		    }
+		    else if (len >= 3 && memEQ(name + len - 3, ".ph", 4)) {
+			sv_catpv(msg, " (did you run h2ph?)");
+		    }
 
 		    /* diag_listed_as: Can't locate %s */
 		    DIE(aTHX_
-			"Can't locate %s in @INC%s%s (@INC contains:%" SVf ")",
-			name,
-			(memEQ(name + len - 2, ".h", 3)
-			 ? " (change .h to .ph maybe?) (did you run h2ph?)" : ""),
-			(memEQ(name + len - 3, ".ph", 4)
-			 ? " (did you run h2ph?)" : ""),
-			inc
-			);
+			"Can't locate %s in @INC%" SVf " (@INC contains:%" SVf ")",
+			name, msg, inc);
 		}
 	    }
 	    DIE(aTHX_ "Can't locate %s", name);
 	}
 
+	CLEAR_ERRSV();
 	RETPUSHUNDEF;
     }
     else
@@ -3866,18 +4041,6 @@
     CopFILE_set(&PL_compiling, tryname);
     lex_start(NULL, tryrsfp, 0);
 
-    SAVEHINTS();
-    PL_hints = 0;
-    hv_clear(GvHV(PL_hintgv));
-
-    SAVECOMPILEWARNINGS();
-    if (PL_dowarn & G_WARN_ALL_ON)
-        PL_compiling.cop_warnings = pWARN_ALL ;
-    else if (PL_dowarn & G_WARN_ALL_OFF)
-        PL_compiling.cop_warnings = pWARN_NONE ;
-    else
-        PL_compiling.cop_warnings = pWARN_STD ;
-
     if (filter_sub || filter_cache) {
 	/* We can use the SvPV of the filter PVIO itself as our cache, rather
 	   than hanging another SV from it. In turn, filter_add() optionally
@@ -3903,7 +4066,7 @@
     encoding = PL_encoding;
     PL_encoding = NULL;
 
-    if (doeval(gimme, NULL, NULL, PL_curcop->cop_seq))
+    if (doeval(gimme, NULL, PL_curcop->cop_seq, NULL))
 	op = DOCATCH(PL_eval_start);
     else
 	op = PL_op->op_next;
@@ -3911,6 +4074,8 @@
     /* Restore encoding. */
     PL_encoding = encoding;
 
+    LOADED_FILE_PROBE(unixname);
+
     return op;
 }
 
@@ -3930,7 +4095,7 @@
 PP(pp_entereval)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     SV *sv;
     const I32 gimme = GIMME_V;
     const U32 was = PL_breakable_sub_gen;
@@ -3939,12 +4104,20 @@
     char *tmpbuf = tbuf;
     STRLEN len;
     CV* runcv;
-    U32 seq;
+    U32 seq, lex_flags = 0;
     HV *saved_hh = NULL;
+    const bool bytes = PL_op->op_private & OPpEVAL_BYTES;
 
     if (PL_op->op_private & OPpEVAL_HAS_HH) {
 	saved_hh = MUTABLE_HV(SvREFCNT_inc(POPs));
     }
+    else if (PL_hints & HINT_LOCALIZE_HH || (
+	        PL_op->op_private & OPpEVAL_COPHH
+	     && PL_curcop->cop_hints & HINT_LOCALIZE_HH
+	    )) {
+	saved_hh = cop_hints_2hv(PL_curcop, 0);
+	hv_magic(saved_hh, NULL, PERL_MAGIC_hints);
+    }
     sv = POPs;
     if (!SvPOK(sv)) {
 	/* make sure we've got a plain PV (no overload etc) before testing
@@ -3954,13 +4127,29 @@
 	const char * const p = SvPV_const(sv, len);
 
 	sv = newSVpvn_flags(p, len, SVs_TEMP | SvUTF8(sv));
+	lex_flags |= LEX_START_COPIED;
+
+	if (bytes && SvUTF8(sv))
+	    SvPVbyte_force(sv, len);
     }
+    else if (bytes && SvUTF8(sv)) {
+	/* Don't modify someone else's scalar */
+	STRLEN len;
+	sv = newSVsv(sv);
+	(void)sv_2mortal(sv);
+	SvPVbyte_force(sv,len);
+	lex_flags |= LEX_START_COPIED;
+    }
 
     TAINT_IF(SvTAINTED(sv));
     TAINT_PROPER("eval");
 
     ENTER_with_name("eval");
-    lex_start(sv, NULL, LEX_START_SAME_FILTER);
+    lex_start(sv, NULL, lex_flags | (PL_op->op_private & OPpEVAL_UNICODE
+			   ? LEX_IGNORE_UTF8_HINTS
+			   : bytes ? LEX_EVALBYTES : LEX_START_SAME_FILTER
+			)
+	     );
     SAVETMPS;
 
     /* switch to eval mode */
@@ -3979,32 +4168,6 @@
     CopFILE_set(&PL_compiling, tmpbuf+2);
     SAVECOPLINE(&PL_compiling);
     CopLINE_set(&PL_compiling, 1);
-    /* XXX For C<eval "...">s within BEGIN {} blocks, this ends up
-       deleting the eval's FILEGV from the stash before gv_check() runs
-       (i.e. before run-time proper). To work around the coredump that
-       ensues, we always turn GvMULTI_on for any globals that were
-       introduced within evals. See force_ident(). GSAR 96-10-12 */
-    SAVEHINTS();
-    PL_hints = PL_op->op_targ;
-    if (saved_hh) {
-	/* SAVEHINTS created a new HV in PL_hintgv, which we need to GC */
-	SvREFCNT_dec(GvHV(PL_hintgv));
-	GvHV(PL_hintgv) = saved_hh;
-    }
-    SAVECOMPILEWARNINGS();
-    PL_compiling.cop_warnings = DUP_WARNINGS(PL_curcop->cop_warnings);
-    cophh_free(CopHINTHASH_get(&PL_compiling));
-    if (Perl_fetch_cop_label(aTHX_ PL_curcop, NULL, NULL)) {
-	/* The label, if present, is the first entry on the chain. So rather
-	   than writing a blank label in front of it (which involves an
-	   allocation), just use the next entry in the chain.  */
-	PL_compiling.cop_hints_hash
-	    = cophh_copy(PL_curcop->cop_hints_hash->refcounted_he_next);
-	/* Check the assumption that this removed the label.  */
-	assert(Perl_fetch_cop_label(aTHX_ &PL_compiling, NULL, NULL) == NULL);
-    }
-    else
-	PL_compiling.cop_hints_hash = cophh_copy(PL_curcop->cop_hints_hash);
     /* special case: an eval '' executed within the DB package gets lexically
      * placed in the first non-DB CV rather than the current CV - this
      * allows the debugger to execute code, find lexicals etc, in the
@@ -4021,6 +4184,11 @@
     if ((PERLDB_LINE || PERLDB_SAVESRC) && PL_curstash != PL_debstash)
 	save_lines(CopFILEAV(&PL_compiling), PL_parser->linestr);
     else {
+	/* XXX For C<eval "...">s within BEGIN {} blocks, this ends up
+	   deleting the eval's FILEGV from the stash before gv_check() runs
+	   (i.e. before run-time proper). To work around the coredump that
+	   ensues, we always turn GvMULTI_on for any globals that were
+	   introduced within evals. See force_ident(). GSAR 96-10-12 */
 	char *const safestr = savepvn(tmpbuf, len);
 	SAVEDELETE(PL_defstash, safestr, len);
 	saved_delete = TRUE;
@@ -4028,7 +4196,7 @@
     
     PUTBACK;
 
-    if (doeval(gimme, NULL, runcv, seq)) {
+    if (doeval(gimme, runcv, seq, saved_hh)) {
 	if (was != PL_breakable_sub_gen /* Some subs defined here. */
 	    ? (PERLDB_LINE || PERLDB_SAVESRC)
 	    :  PERLDB_SAVESRC_NOSUBS) {
@@ -4055,15 +4223,15 @@
 PP(pp_leaveeval)
 {
     dVAR; dSP;
-    register SV **mark;
     SV **newsp;
     PMOP *newpm;
     I32 gimme;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     OP *retop;
     const U8 save_flags = PL_op -> op_flags;
     I32 optype;
     SV *namesv;
+    CV *evalcv;
 
     PERL_ASYNC_CHECK();
     POPBLOCK(cx,newpm);
@@ -4070,39 +4238,17 @@
     POPEVAL(cx);
     namesv = cx->blk_eval.old_namesv;
     retop = cx->blk_eval.retop;
+    evalcv = cx->blk_eval.cv;
 
     TAINT_NOT;
-    if (gimme == G_VOID)
-	MARK = newsp;
-    else if (gimme == G_SCALAR) {
-	MARK = newsp + 1;
-	if (MARK <= SP) {
-	    if (SvFLAGS(TOPs) & SVs_TEMP)
-		*MARK = TOPs;
-	    else
-		*MARK = sv_mortalcopy(TOPs);
-	}
-	else {
-	    MEXTEND(mark,0);
-	    *MARK = &PL_sv_undef;
-	}
-	SP = MARK;
-    }
-    else {
-	/* in case LEAVE wipes old return values */
-	for (mark = newsp + 1; mark <= SP; mark++) {
-	    if (!(SvFLAGS(*mark) & SVs_TEMP)) {
-		*mark = sv_mortalcopy(*mark);
-		TAINT_NOT;	/* Each item is independent */
-	    }
-	}
-    }
+    SP = adjust_stack_on_leave((gimme == G_VOID) ? SP : newsp, SP, newsp,
+				gimme, SVs_TEMP);
     PL_curpm = newpm;	/* Don't pop $1 et al till now */
 
 #ifdef DEBUGGING
-    assert(CvDEPTH(PL_compcv) == 1);
+    assert(CvDEPTH(evalcv) == 1);
 #endif
-    CvDEPTH(PL_compcv) = 0;
+    CvDEPTH(evalcv) = 0;
 
     if (optype == OP_REQUIRE &&
 	!(gimme == G_SCALAR ? SvTRUE(*SP) : SP > newsp))
@@ -4109,7 +4255,8 @@
     {
 	/* Unassume the success we assumed earlier. */
 	(void)hv_delete(GvHVn(PL_incgv),
-			SvPVX_const(namesv), SvCUR(namesv),
+			SvPVX_const(namesv),
+                        SvUTF8(namesv) ? -(I32)SvCUR(namesv) : (I32)SvCUR(namesv),
 			G_DISCARD);
 	retop = Perl_die(aTHX_ "%"SVf" did not return a true value",
 			       SVfARG(namesv));
@@ -4133,7 +4280,7 @@
     SV **newsp;
     PMOP *newpm;
     I32 gimme;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     I32 optype;
 	
     POPBLOCK(cx,newpm);
@@ -4184,7 +4331,7 @@
     SV **newsp;
     PMOP *newpm;
     I32 gimme;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     I32 optype;
 
     PERL_ASYNC_CHECK();
@@ -4193,33 +4340,7 @@
     PERL_UNUSED_VAR(optype);
 
     TAINT_NOT;
-    if (gimme == G_VOID)
-	SP = newsp;
-    else if (gimme == G_SCALAR) {
-	register SV **mark;
-	MARK = newsp + 1;
-	if (MARK <= SP) {
-	    if (SvFLAGS(TOPs) & (SVs_PADTMP|SVs_TEMP))
-		*MARK = TOPs;
-	    else
-		*MARK = sv_mortalcopy(TOPs);
-	}
-	else {
-	    MEXTEND(mark,0);
-	    *MARK = &PL_sv_undef;
-	}
-	SP = MARK;
-    }
-    else {
-	/* in case LEAVE wipes old return values */
-	register SV **mark;
-	for (mark = newsp + 1; mark <= SP; mark++) {
-	    if (!(SvFLAGS(*mark) & (SVs_PADTMP|SVs_TEMP))) {
-		*mark = sv_mortalcopy(*mark);
-		TAINT_NOT;	/* Each item is independent */
-	    }
-	}
-    }
+    SP = adjust_stack_on_leave(newsp, SP, newsp, gimme, SVs_PADTMP|SVs_TEMP);
     PL_curpm = newpm;	/* Don't pop $1 et al till now */
 
     LEAVE_with_name("eval_scope");
@@ -4230,13 +4351,21 @@
 PP(pp_entergiven)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     const I32 gimme = GIMME_V;
     
     ENTER_with_name("given");
     SAVETMPS;
 
-    sv_setsv(PAD_SV(PL_op->op_targ), POPs);
+    if (PL_op->op_targ) {
+	SAVEPADSVANDMORTALIZE(PL_op->op_targ);
+	SvREFCNT_dec(PAD_SVl(PL_op->op_targ));
+	PAD_SVl(PL_op->op_targ) = SvREFCNT_inc_NN(POPs);
+    }
+    else {
+	SAVE_DEFSV;
+	DEFSV_set(POPs);
+    }
 
     PUSHBLOCK(cx, CXt_GIVEN, SP);
     PUSHGIVEN(cx);
@@ -4247,7 +4376,7 @@
 PP(pp_leavegiven)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     I32 gimme;
     SV **newsp;
     PMOP *newpm;
@@ -4257,33 +4386,7 @@
     assert(CxTYPE(cx) == CXt_GIVEN);
 
     TAINT_NOT;
-    if (gimme == G_VOID)
-	SP = newsp;
-    else if (gimme == G_SCALAR) {
-	register SV **mark;
-	MARK = newsp + 1;
-	if (MARK <= SP) {
-	    if (SvFLAGS(TOPs) & (SVs_PADTMP|SVs_TEMP))
-		*MARK = TOPs;
-	    else
-		*MARK = sv_mortalcopy(TOPs);
-	}
-	else {
-	    MEXTEND(mark,0);
-	    *MARK = &PL_sv_undef;
-	}
-	SP = MARK;
-    }
-    else {
-	/* in case LEAVE wipes old return values */
-	register SV **mark;
-	for (mark = newsp + 1; mark <= SP; mark++) {
-	    if (!(SvFLAGS(*mark) & (SVs_PADTMP|SVs_TEMP))) {
-		*mark = sv_mortalcopy(*mark);
-		TAINT_NOT;	/* Each item is independent */
-	    }
-	}
-    }
+    SP = adjust_stack_on_leave(newsp, SP, newsp, gimme, SVs_PADTMP|SVs_TEMP);
     PL_curpm = newpm;	/* Don't pop $1 et al till now */
 
     LEAVE_with_name("given");
@@ -4339,7 +4442,7 @@
 PP(pp_smartmatch)
 {
     DEBUG_M(Perl_deb(aTHX_ "Starting smart match resolution\n"));
-    return do_smartmatch(NULL, NULL);
+    return do_smartmatch(NULL, NULL, 0);
 }
 
 /* This version of do_smartmatch() implements the
@@ -4346,7 +4449,7 @@
  * table of smart matches that is found in perlsyn.
  */
 STATIC OP *
-S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other)
+S_do_smartmatch(pTHX_ HV *seen_this, HV *seen_other, const bool copied)
 {
     dVAR;
     dSP;
@@ -4358,7 +4461,7 @@
     /* Take care only to invoke mg_get() once for each argument.
      * Currently we do this by copying the SV if it's magical. */
     if (d) {
-	if (SvGMAGICAL(d))
+	if (!copied && SvGMAGICAL(d))
 	    d = sv_mortalcopy(d);
     }
     else
@@ -4374,7 +4477,7 @@
 	DEBUG_M(Perl_deb(aTHX_ "    applying rule Any-Object\n"));
 	DEBUG_M(Perl_deb(aTHX_ "        attempting overload\n"));
 
-	tmpsv = amagic_call(d, e, smart_amg, 0);
+	tmpsv = amagic_call(d, e, smart_amg, AMGf_noleft);
 	if (tmpsv) {
 	    SPAGAIN;
 	    (void)POPs;
@@ -4669,7 +4772,7 @@
 			
 			PUTBACK;
 			DEBUG_M(Perl_deb(aTHX_ "        recursively comparing array element...\n"));
-			(void) do_smartmatch(seen_this, seen_other);
+			(void) do_smartmatch(seen_this, seen_other, 0);
 			SPAGAIN;
 			DEBUG_M(Perl_deb(aTHX_ "        recursion finished\n"));
 			
@@ -4731,7 +4834,7 @@
 		    PUTBACK;
 		    /* infinite recursion isn't supposed to happen here */
 		    DEBUG_M(Perl_deb(aTHX_ "        recursively testing array element...\n"));
-		    (void) do_smartmatch(NULL, NULL);
+		    (void) do_smartmatch(NULL, NULL, 1);
 		    SPAGAIN;
 		    DEBUG_M(Perl_deb(aTHX_ "        recursion finished\n"));
 		    if (SvTRUEx(POPs))
@@ -4821,7 +4924,7 @@
 PP(pp_enterwhen)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     const I32 gimme = GIMME_V;
 
     /* This is essentially an optimization: if the match
@@ -4833,7 +4936,7 @@
     if ((0 == (PL_op->op_flags & OPf_SPECIAL)) && !SvTRUEx(POPs))
 	RETURNOP(cLOGOP->op_other->op_next);
 
-    ENTER_with_name("eval");
+    ENTER_with_name("when");
     SAVETMPS;
 
     PUSHBLOCK(cx, CXt_WHEN, SP);
@@ -4845,43 +4948,76 @@
 PP(pp_leavewhen)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
+    I32 cxix;
+    PERL_CONTEXT *cx;
     I32 gimme;
     SV **newsp;
     PMOP *newpm;
 
+    cxix = dopoptogiven(cxstack_ix);
+    if (cxix < 0)
+	/* diag_listed_as: Can't "when" outside a topicalizer */
+	DIE(aTHX_ "Can't \"%s\" outside a topicalizer",
+	           PL_op->op_flags & OPf_SPECIAL ? "default" : "when");
+
     POPBLOCK(cx,newpm);
     assert(CxTYPE(cx) == CXt_WHEN);
 
-    SP = newsp;
-    PUTBACK;
-
+    TAINT_NOT;
+    SP = adjust_stack_on_leave(newsp, SP, newsp, gimme, SVs_PADTMP|SVs_TEMP);
     PL_curpm = newpm;   /* pop $1 et al */
 
-    LEAVE_with_name("eval");
-    return NORMAL;
+    LEAVE_with_name("when");
+
+    if (cxix < cxstack_ix)
+        dounwind(cxix);
+
+    cx = &cxstack[cxix];
+
+    if (CxFOREACH(cx)) {
+	/* clear off anything above the scope we're re-entering */
+	I32 inner = PL_scopestack_ix;
+
+	TOPBLOCK(cx);
+	if (PL_scopestack_ix < inner)
+	    leave_scope(PL_scopestack[PL_scopestack_ix]);
+	PL_curcop = cx->blk_oldcop;
+
+	PERL_ASYNC_CHECK();
+	return cx->blk_loop.my_op->op_nextop;
+    }
+    else {
+	PERL_ASYNC_CHECK();
+	RETURNOP(cx->blk_givwhen.leave_op);
+    }
 }
 
 PP(pp_continue)
 {
-    dVAR;   
+    dVAR; dSP;
     I32 cxix;
-    register PERL_CONTEXT *cx;
-    I32 inner;
+    PERL_CONTEXT *cx;
+    I32 gimme;
+    SV **newsp;
+    PMOP *newpm;
+
+    PERL_UNUSED_VAR(gimme);
     
     cxix = dopoptowhen(cxstack_ix); 
     if (cxix < 0)   
 	DIE(aTHX_ "Can't \"continue\" outside a when block");
+
     if (cxix < cxstack_ix)
         dounwind(cxix);
     
-    /* clear off anything above the scope we're re-entering */
-    inner = PL_scopestack_ix;
-    TOPBLOCK(cx);
-    if (PL_scopestack_ix < inner)
-        leave_scope(PL_scopestack[PL_scopestack_ix]);
-    PL_curcop = cx->blk_oldcop;
-    return cx->blk_givwhen.leave_op;
+    POPBLOCK(cx,newpm);
+    assert(CxTYPE(cx) == CXt_WHEN);
+
+    SP = newsp;
+    PL_curpm = newpm;   /* pop $1 et al */
+
+    LEAVE_with_name("when");
+    RETURNOP(cx->blk_givwhen.leave_op->op_next);
 }
 
 PP(pp_break)
@@ -4888,35 +5024,23 @@
 {
     dVAR;   
     I32 cxix;
-    register PERL_CONTEXT *cx;
-    I32 inner;
-    dSP;
+    PERL_CONTEXT *cx;
 
     cxix = dopoptogiven(cxstack_ix); 
-    if (cxix < 0) {
-	if (PL_op->op_flags & OPf_SPECIAL)
-	    DIE(aTHX_ "Can't use when() outside a topicalizer");
-	else
-	    DIE(aTHX_ "Can't \"break\" outside a given block");
-    }
-    if (CxFOREACH(&cxstack[cxix]) && (0 == (PL_op->op_flags & OPf_SPECIAL)))
+    if (cxix < 0)
+	DIE(aTHX_ "Can't \"break\" outside a given block");
+
+    cx = &cxstack[cxix];
+    if (CxFOREACH(cx))
 	DIE(aTHX_ "Can't \"break\" in a loop topicalizer");
 
     if (cxix < cxstack_ix)
         dounwind(cxix);
-    
-    /* clear off anything above the scope we're re-entering */
-    inner = PL_scopestack_ix;
+
+    /* Restore the sp at the time we entered the given block */
     TOPBLOCK(cx);
-    if (PL_scopestack_ix < inner)
-        leave_scope(PL_scopestack[PL_scopestack_ix]);
-    PL_curcop = cx->blk_oldcop;
 
-    if (CxFOREACH(cx))
-	return (cx)->blk_loop.my_op->op_nextop;
-    else
-	/* RETURNOP calls PUTBACK which restores the old old sp */
-	RETURNOP(cx->blk_givwhen.leave_op);
+    return cx->blk_givwhen.leave_op;
 }
 
 static MAGIC *
@@ -4923,21 +5047,22 @@
 S_doparseform(pTHX_ SV *sv)
 {
     STRLEN len;
-    register char *s = SvPV_force(sv, len);
-    register char * const send = s + len;
-    register char *base = NULL;
-    register I32 skipspaces = 0;
-    bool noblank   = FALSE;
-    bool repeat    = FALSE;
-    bool postspace = FALSE;
+    char *s = SvPV(sv, len);
+    char *send;
+    char *base = NULL; /* start of current field */
+    I32 skipspaces = 0; /* number of contiguous spaces seen */
+    bool noblank   = FALSE; /* ~ or ~~ seen on this line */
+    bool repeat    = FALSE; /* ~~ seen on this line */
+    bool postspace = FALSE; /* a text field may need right padding */
     U32 *fops;
-    register U32 *fpc;
-    U32 *linepc = NULL;
-    register I32 arg;
-    bool ischop;
-    bool unchopnum = FALSE;
+    U32 *fpc;
+    U32 *linepc = NULL;	    /* position of last FF_LINEMARK */
+    I32 arg;
+    bool ischop;	    /* it's a ^ rather than a @ */
+    bool unchopnum = FALSE; /* at least one @ (i.e. non-chop) num field seen */
     int maxops = 12; /* FF_LINEMARK + FF_END + 10 (\0 without preceding \n) */
-    MAGIC *mg;
+    MAGIC *mg = NULL;
+    SV *sv_copy;
 
     PERL_ARGS_ASSERT_DOPARSEFORM;
 
@@ -4944,6 +5069,40 @@
     if (len == 0)
 	Perl_croak(aTHX_ "Null picture in formline");
 
+    if (SvTYPE(sv) >= SVt_PVMG) {
+	/* This might, of course, still return NULL.  */
+	mg = mg_find(sv, PERL_MAGIC_fm);
+    } else {
+	sv_upgrade(sv, SVt_PVMG);
+    }
+
+    if (mg) {
+	/* still the same as previously-compiled string? */
+	SV *old = mg->mg_obj;
+	if ( !(!!SvUTF8(old) ^ !!SvUTF8(sv))
+	      && len == SvCUR(old)
+	      && strnEQ(SvPVX(old), SvPVX(sv), len)
+	) {
+	    DEBUG_f(PerlIO_printf(Perl_debug_log,"Re-using compiled format\n"));
+	    return mg;
+	}
+
+	DEBUG_f(PerlIO_printf(Perl_debug_log, "Re-compiling format\n"));
+	Safefree(mg->mg_ptr);
+	mg->mg_ptr = NULL;
+	SvREFCNT_dec(old);
+	mg->mg_obj = NULL;
+    }
+    else {
+	DEBUG_f(PerlIO_printf(Perl_debug_log, "Compiling format\n"));
+	mg = sv_magicext(sv, NULL, PERL_MAGIC_fm, &PL_vtbl_fm, NULL, 0);
+    }
+
+    sv_copy = newSVpvn_utf8(s, len, SvUTF8(sv));
+    s = SvPV(sv_copy, len); /* work on the copy, not the original */
+    send = s + len;
+
+
     /* estimate the buffer size needed */
     for (base = s; s <= send; s++) {
 	if (*s == '\n' || *s == '@' || *s == '^')
@@ -4971,10 +5130,10 @@
 	case '~':
 	    if (*s == '~') {
 		repeat = TRUE;
-		*s = ' ';
+		skipspaces++;
+		s++;
 	    }
 	    noblank = TRUE;
-	    s[-1] = ' ';
 	    /* FALL THROUGH */
 	case ' ': case '\t':
 	    skipspaces++;
@@ -4992,7 +5151,7 @@
 		if (postspace)
 		    *fpc++ = FF_SPACE;
 		*fpc++ = FF_LITERAL;
-		*fpc++ = (U16)arg;
+		*fpc++ = (U32)arg;
 	    }
 	    postspace = FALSE;
 	    if (s <= send)
@@ -4999,7 +5158,7 @@
 		skipspaces--;
 	    if (skipspaces) {
 		*fpc++ = FF_SKIP;
-		*fpc++ = (U16)skipspaces;
+		*fpc++ = (U32)skipspaces;
 	    }
 	    skipspaces = 0;
 	    if (s <= send)
@@ -5010,7 +5169,7 @@
 		    arg = fpc - linepc + 1;
 		else
 		    arg = 0;
-		*fpc++ = (U16)arg;
+		*fpc++ = (U32)arg;
 	    }
 	    if (s < send) {
 		linepc = fpc;
@@ -5033,12 +5192,12 @@
 	    arg = (s - base) - 1;
 	    if (arg) {
 		*fpc++ = FF_LITERAL;
-		*fpc++ = (U16)arg;
+		*fpc++ = (U32)arg;
 	    }
 
 	    base = s - 1;
 	    *fpc++ = FF_FETCH;
-	    if (*s == '*') {
+	    if (*s == '*') { /*  @* or ^*  */
 		s++;
 		*fpc++ = 2;  /* skip the @* or ^* */
 		if (ischop) {
@@ -5047,8 +5206,8 @@
 		} else
 		    *fpc++ = FF_LINEGLOB;
 	    }
-	    else if (*s == '#' || (*s == '.' && s[1] == '#')) {
-		arg = ischop ? 512 : 0;
+	    else if (*s == '#' || (*s == '.' && s[1] == '#')) { /* @###, ^### */
+		arg = ischop ? FORM_NUM_BLANK : 0;
 		base = s - 1;
 		while (*s == '#')
 		    s++;
@@ -5056,15 +5215,15 @@
                     const char * const f = ++s;
 		    while (*s == '#')
 			s++;
-		    arg |= 256 + (s - f);
+		    arg |= FORM_NUM_POINT + (s - f);
 		}
 		*fpc++ = s - base;		/* fieldsize for FETCH */
 		*fpc++ = FF_DECIMAL;
-                *fpc++ = (U16)arg;
+                *fpc++ = (U32)arg;
                 unchopnum |= ! ischop;
             }
             else if (*s == '0' && s[1] == '#') {  /* Zero padded decimals */
-                arg = ischop ? 512 : 0;
+                arg = ischop ? FORM_NUM_BLANK : 0;
 		base = s - 1;
                 s++;                                /* skip the '0' first */
                 while (*s == '#')
@@ -5073,14 +5232,14 @@
                     const char * const f = ++s;
                     while (*s == '#')
                         s++;
-                    arg |= 256 + (s - f);
+                    arg |= FORM_NUM_POINT + (s - f);
                 }
                 *fpc++ = s - base;                /* fieldsize for FETCH */
                 *fpc++ = FF_0DECIMAL;
-		*fpc++ = (U16)arg;
+		*fpc++ = (U32)arg;
                 unchopnum |= ! ischop;
 	    }
-	    else {
+	    else {				/* text field */
 		I32 prespace = 0;
 		bool ismore = FALSE;
 
@@ -5107,7 +5266,7 @@
 		*fpc++ = ischop ? FF_CHECKCHOP : FF_CHECKNL;
 
 		if (prespace)
-		    *fpc++ = (U16)prespace;
+		    *fpc++ = (U32)prespace; /* add SPACE or HALFSPACE */
 		*fpc++ = FF_ITEM;
 		if (ismore)
 		    *fpc++ = FF_MORE;
@@ -5124,16 +5283,10 @@
     assert (fpc <= fops + maxops); /* ensure our buffer estimate was valid */
     arg = fpc - fops;
 
-    /* If we pass the length in to sv_magicext() it will copy the buffer for us.
-       We don't need that, so by setting the length on return we "donate" the
-       buffer to the magic, avoiding an allocation. We could realloc() the
-       buffer to the exact size used, but that feels like it's not worth it
-       (particularly if the rumours are true and some realloc() implementations
-       don't shrink blocks). However, set the true length used in mg_len so that
-       mg_dup only allocates and copies what's actually needed.  */
-    mg = sv_magicext(sv, NULL, PERL_MAGIC_fm, &PL_vtbl_fm,
-		     (const char *const) fops, 0);
+    mg->mg_ptr = (char *) fops;
     mg->mg_len = arg * sizeof(U32);
+    mg->mg_obj = sv_copy;
+    mg->mg_flags |= MGf_REFCOUNTED;
 
     if (unchopnum && repeat)
         Perl_die(aTHX_ "Repeated format line will never terminate (~~ and @#)");
@@ -5151,9 +5304,9 @@
     bool res = FALSE;
     int intsize = fldsize - (value < 0 ? 1 : 0);
 
-    if (frcsize & 256)
+    if (frcsize & FORM_NUM_POINT)
         intsize--;
-    frcsize &= 255;
+    frcsize &= ~(FORM_NUM_POINT|FORM_NUM_BLANK);
     intsize -= frcsize;
 
     while (intsize--) pwr *= 10.0;
@@ -5184,6 +5337,7 @@
     char *prune_from = NULL;
     bool read_from_cache = FALSE;
     STRLEN umaxlen;
+    SV *err = NULL;
 
     PERL_ARGS_ASSERT_RUN_USER_FILTER;
 
@@ -5240,7 +5394,6 @@
        I'm going to use a mortal in case the upstream filter croaks.  */
     upstream = ((SvOK(buf_sv) && sv_len(buf_sv)) || SvGMAGICAL(buf_sv))
 	? sv_newmortal() : buf_sv;
-    SvTEMP_off(upstream);
     SvUPGRADE(upstream, SVt_PV);
 	
     if (filter_has_file) {
@@ -5252,14 +5405,11 @@
 	int count;
 
 	ENTER_with_name("call_filter_sub");
-	save_gp(PL_defgv, 0);
-	GvINTRO_off(PL_defgv);
-	SAVEGENERICSV(GvSV(PL_defgv));
+	SAVE_DEFSV;
 	SAVETMPS;
 	EXTEND(SP, 2);
 
 	DEFSV_set(upstream);
-	SvREFCNT_inc_simple_void_NN(upstream);
 	PUSHMARK(SP);
 	mPUSHi(0);
 	if (filter_state) {
@@ -5266,7 +5416,7 @@
 	    PUSHs(filter_state);
 	}
 	PUTBACK;
-	count = call_sv(filter_sub, G_SCALAR);
+	count = call_sv(filter_sub, G_SCALAR|G_EVAL);
 	SPAGAIN;
 
 	if (count > 0) {
@@ -5274,6 +5424,11 @@
 	    if (SvOK(out)) {
 		status = SvIV(out);
 	    }
+            else {
+                SV * const errsv = ERRSV;
+                if (SvTRUE_NN(errsv))
+                    err = newSVsv(errsv);
+            }
 	}
 
 	PUTBACK;
@@ -5281,7 +5436,8 @@
 	LEAVE_with_name("call_filter_sub");
     }
 
-    if(SvOK(upstream)) {
+    if (SvIsCOW(upstream)) sv_force_normal(upstream);
+    if(!err && SvOK(upstream)) {
 	got_p = SvPV(upstream, got_len);
 	if (umaxlen) {
 	    if (got_len > umaxlen) {
@@ -5295,7 +5451,7 @@
 	    }
 	}
     }
-    if (prune_from) {
+    if (!err && prune_from) {
 	/* Oh. Too long. Stuff some in our cache.  */
 	STRLEN cached_len = got_p + got_len - prune_from;
 	SV *const cache = datasv;
@@ -5324,7 +5480,8 @@
        have touched the SV upstream, so it may be undefined.  If we naively
        concatenate it then we get a warning about use of uninitialised value.
     */
-    if (upstream != buf_sv && (SvOK(upstream) || SvGMAGICAL(upstream))) {
+    if (!err && upstream != buf_sv &&
+        (SvOK(upstream) || SvGMAGICAL(upstream))) {
 	sv_catsv(buf_sv, upstream);
     }
 
@@ -5340,6 +5497,10 @@
 	}
 	filter_del(S_run_user_filter);
     }
+
+    if (err)
+        croak_sv(err);
+
     if (status == 0 && read_from_cache) {
 	/* If we read some data from the cache (and by getting here it implies
 	   that we emptied the cache) then we aren't yet at EOF, and mustn't
@@ -5379,8 +5540,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pp_ctl.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/pp_hot.c
===================================================================
--- vendor/perl/dist/pp_hot.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp_hot.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -74,6 +74,7 @@
     return NORMAL;
 }
 
+/* This is sometimes called directly by pp_coreargs and pp_grepstart. */
 PP(pp_pushmark)
 {
     dVAR;
@@ -84,9 +85,12 @@
 PP(pp_stringify)
 {
     dVAR; dSP; dTARGET;
-    sv_copypv(TARG,TOPs);
-    SETTARG;
-    RETURN;
+    SV * const sv = TOPs;
+    SETs(TARG);
+    sv_copypv(TARG, sv);
+    SvSETMAGIC(TARG);
+    /* no PUTBACK, SETs doesn't inc/dec SP */
+    return NORMAL;
 }
 
 PP(pp_gv)
@@ -98,31 +102,43 @@
 
 PP(pp_and)
 {
-    dVAR; dSP;
+    dVAR;
     PERL_ASYNC_CHECK();
-    if (!SvTRUE(TOPs))
-	RETURN;
-    else {
-        if (PL_op->op_type == OP_AND)
-	    --SP;
-	RETURNOP(cLOGOP->op_other);
+    {
+	/* SP is not used to remove a variable that is saved across the
+	  sv_2bool_flags call in SvTRUE_NN, if a RISC/CISC or low/high machine
+	  register or load/store vs direct mem ops macro is introduced, this
+	  should be a define block between direct PL_stack_sp and dSP operations,
+	  presently, using PL_stack_sp is bias towards CISC cpus */
+	SV * const sv = *PL_stack_sp;
+	if (!SvTRUE_NN(sv))
+	    return NORMAL;
+	else {
+	    if (PL_op->op_type == OP_AND)
+		--PL_stack_sp;
+	    return cLOGOP->op_other;
+	}
     }
 }
 
 PP(pp_sassign)
 {
-    dVAR; dSP; dPOPTOPssrl;
+    dVAR; dSP;
+    /* sassign keeps its args in the optree traditionally backwards.
+       So we pop them differently.
+    */
+    SV *left = POPs; SV *right = TOPs;
 
     if (PL_op->op_private & OPpASSIGN_BACKWARDS) {
 	SV * const temp = left;
 	left = right; right = temp;
     }
-    if (PL_tainting && PL_tainted && !SvTAINTED(left))
+    if (TAINTING_get && TAINT_get && !SvTAINTED(right))
 	TAINT_NOT;
     if (PL_op->op_private & OPpASSIGN_CV_TO_GV) {
-	SV * const cv = SvRV(left);
+	SV * const cv = SvRV(right);
 	const U32 cv_type = SvTYPE(cv);
-	const bool is_gv = isGV_with_GP(right);
+	const bool is_gv = isGV_with_GP(left);
 	const bool got_coderef = cv_type == SVt_PVCV || cv_type == SVt_PVFM;
 
 	if (!got_coderef) {
@@ -129,12 +145,12 @@
 	    assert(SvROK(cv));
 	}
 
-	/* Can do the optimisation if right (LVALUE) is not a typeglob,
-	   left (RVALUE) is a reference to something, and we're in void
+	/* Can do the optimisation if left (LVALUE) is not a typeglob,
+	   right (RVALUE) is a reference to something, and we're in void
 	   context. */
 	if (!got_coderef && !is_gv && GIMME_V == G_VOID) {
 	    /* Is the target symbol table currently empty?  */
-	    GV * const gv = gv_fetchsv(right, GV_NOINIT, SVt_PVGV);
+	    GV * const gv = gv_fetchsv_nomg(left, GV_NOINIT, SVt_PVGV);
 	    if (SvTYPE(gv) != SVt_PVGV && !SvOK(gv)) {
 		/* Good. Create a new proxy constant subroutine in the target.
 		   The gv becomes a(nother) reference to the constant.  */
@@ -144,7 +160,7 @@
 		SvPCS_IMPORTED_on(gv);
 		SvRV_set(gv, value);
 		SvREFCNT_inc_simple_void(value);
-		SETs(right);
+		SETs(left);
 		RETURN;
 	    }
 	}
@@ -152,7 +168,7 @@
 	/* Need to fix things up.  */
 	if (!is_gv) {
 	    /* Need to fix GV.  */
-	    right = MUTABLE_SV(gv_fetchsv(right, GV_ADD, SVt_PVGV));
+	    left = MUTABLE_SV(gv_fetchsv_nomg(left,GV_ADD, SVt_PVGV));
 	}
 
 	if (!got_coderef) {
@@ -166,9 +182,9 @@
 		   all sorts of fun as the reference to our new sub is
 		   donated to the GV that we're about to assign to.
 		*/
-		SvRV_set(left, MUTABLE_SV(newCONSTSUB(GvSTASH(right), NULL,
+		SvRV_set(right, MUTABLE_SV(newCONSTSUB(GvSTASH(left), NULL,
 						      SvRV(cv))));
-		SvREFCNT_dec(cv);
+		SvREFCNT_dec_NN(cv);
 		LEAVE_with_name("sassign_coderef");
 	    } else {
 		/* What can happen for the corner case *{"BONK"} = \&{"BONK"};
@@ -191,14 +207,21 @@
 		assert(CvFLAGS(source) & CVf_CONST);
 
 		SvREFCNT_inc_void(source);
-		SvREFCNT_dec(upgraded);
-		SvRV_set(left, MUTABLE_SV(source));
+		SvREFCNT_dec_NN(upgraded);
+		SvRV_set(right, MUTABLE_SV(source));
 	    }
 	}
 
     }
-    SvSetMagicSV(right, left);
-    SETs(right);
+    if (
+      SvTEMP(left) && !SvSMAGICAL(left) && SvREFCNT(left) == 1 &&
+      (!isGV_with_GP(left) || SvFAKE(left)) && ckWARN(WARN_MISC)
+    )
+	Perl_warner(aTHX_
+	    packWARN(WARN_MISC), "Useless assignment to a temporary"
+	);
+    SvSetMagicSV(left, right);
+    SETs(left);
     RETURN;
 }
 
@@ -261,8 +284,8 @@
 		report_uninit(right);
 	    sv_setpvs(left, "");
 	}
-	lbyte = (SvROK(left) && SvTYPE(SvRV(left)) == SVt_REGEXP)
-		    ?  !DO_UTF8(SvRV(left)) : !DO_UTF8(left);
+	SvPV_force_nomg_nolen(left);
+	lbyte = !DO_UTF8(left);
 	if (IN_BYTES)
 	    SvUTF8_off(TARG);
     }
@@ -294,29 +317,118 @@
   }
 }
 
+/* push the elements of av onto the stack.
+ * XXX Note that padav has similar code but without the mg_get().
+ * I suspect that the mg_get is no longer needed, but while padav
+ * differs, it can't share this function */
+
+STATIC void
+S_pushav(pTHX_ AV* const av)
+{
+    dSP;
+    const I32 maxarg = AvFILL(av) + 1;
+    EXTEND(SP, maxarg);
+    if (SvRMAGICAL(av)) {
+        U32 i;
+        for (i=0; i < (U32)maxarg; i++) {
+            SV ** const svp = av_fetch(av, i, FALSE);
+            /* See note in pp_helem, and bug id #27839 */
+            SP[i+1] = svp
+                ? SvGMAGICAL(*svp) ? (mg_get(*svp), *svp) : *svp
+                : &PL_sv_undef;
+        }
+    }
+    else {
+        Copy(AvARRAY(av), SP+1, maxarg, SV*);
+    }
+    SP += maxarg;
+    PUTBACK;
+}
+
+
+/* ($lex1, at lex2,...)   or my ($lex1, at lex2,...)  */
+
+PP(pp_padrange)
+{
+    dVAR; dSP;
+    PADOFFSET base = PL_op->op_targ;
+    int count = (int)(PL_op->op_private) & OPpPADRANGE_COUNTMASK;
+    int i;
+    if (PL_op->op_flags & OPf_SPECIAL) {
+        /* fake the RHS of my ($x,$y,..) = @_ */
+        PUSHMARK(SP);
+        S_pushav(aTHX_ GvAVn(PL_defgv));
+        SPAGAIN;
+    }
+
+    /* note, this is only skipped for compile-time-known void cxt */
+    if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) {
+        EXTEND(SP, count);
+        PUSHMARK(SP);
+        for (i = 0; i <count; i++)
+            *++SP = PAD_SV(base+i);
+    }
+    if (PL_op->op_private & OPpLVAL_INTRO) {
+        SV **svp = &(PAD_SVl(base));
+        const UV payload = (UV)(
+                      (base << (OPpPADRANGE_COUNTSHIFT + SAVE_TIGHT_SHIFT))
+                    | (count << SAVE_TIGHT_SHIFT)
+                    | SAVEt_CLEARPADRANGE);
+        assert(OPpPADRANGE_COUNTMASK + 1 == (1 <<OPpPADRANGE_COUNTSHIFT));
+        assert((payload >> (OPpPADRANGE_COUNTSHIFT+SAVE_TIGHT_SHIFT)) == base);
+        {
+            dSS_ADD;
+            SS_ADD_UV(payload);
+            SS_ADD_END(1);
+        }
+
+        for (i = 0; i <count; i++)
+            SvPADSTALE_off(*svp++); /* mark lexical as active */
+    }
+    RETURN;
+}
+
+
 PP(pp_padsv)
 {
-    dVAR; dSP; dTARGET;
-    XPUSHs(TARG);
-    if (PL_op->op_flags & OPf_MOD) {
-	if (PL_op->op_private & OPpLVAL_INTRO)
-	    if (!(PL_op->op_private & OPpPAD_STATE))
-		SAVECLEARSV(PAD_SVl(PL_op->op_targ));
-        if (PL_op->op_private & OPpDEREF) {
-	    PUTBACK;
-	    vivify_ref(PAD_SVl(PL_op->op_targ), PL_op->op_private & OPpDEREF);
-	    SPAGAIN;
+    dVAR; dSP;
+    EXTEND(SP, 1);
+    {
+	OP * const op = PL_op;
+	/* access PL_curpad once */
+	SV ** const padentry = &(PAD_SVl(op->op_targ));
+	{
+	    dTARG;
+	    TARG = *padentry;
+	    PUSHs(TARG);
+	    PUTBACK; /* no pop/push after this, TOPs ok */
 	}
+	if (op->op_flags & OPf_MOD) {
+	    if (op->op_private & OPpLVAL_INTRO)
+		if (!(op->op_private & OPpPAD_STATE))
+		    save_clearsv(padentry);
+	    if (op->op_private & OPpDEREF) {
+		/* TOPs is equivalent to TARG here.  Using TOPs (SP) rather
+		   than TARG reduces the scope of TARG, so it does not
+		   span the call to save_clearsv, resulting in smaller
+		   machine code. */
+		TOPs = vivify_ref(TOPs, op->op_private & OPpDEREF);
+	    }
+	}
+	return op->op_next;
     }
-    RETURN;
 }
 
 PP(pp_readline)
 {
     dVAR;
-    dSP; SvGETMAGIC(TOPs);
-    tryAMAGICunTARGET(iter_amg, 0, 0);
-    PL_last_in_gv = MUTABLE_GV(*PL_stack_sp--);
+    dSP;
+    if (TOPs) {
+	SvGETMAGIC(TOPs);
+	tryAMAGICunTARGETlist(iter_amg, 0);
+	PL_last_in_gv = MUTABLE_GV(*PL_stack_sp--);
+    }
+    else PL_last_in_gv = PL_argvgv, PL_stack_sp--;
     if (!isGV_with_GP(PL_last_in_gv)) {
 	if (SvROK(PL_last_in_gv) && isGV_with_GP(SvRV(PL_last_in_gv)))
 	    PL_last_in_gv = MUTABLE_GV(SvRV(PL_last_in_gv));
@@ -334,90 +446,35 @@
 PP(pp_eq)
 {
     dVAR; dSP;
+    SV *left, *right;
+
     tryAMAGICbin_MG(eq_amg, AMGf_set|AMGf_numeric);
-#ifndef NV_PRESERVES_UV
-    if (SvROK(TOPs) && !SvAMAGIC(TOPs) && SvROK(TOPm1s) && !SvAMAGIC(TOPm1s)) {
-        SP--;
-	SETs(boolSV(SvRV(TOPs) == SvRV(TOPp1s)));
-	RETURN;
-    }
-#endif
-#ifdef PERL_PRESERVE_IVUV
-    SvIV_please_nomg(TOPs);
-    if (SvIOK(TOPs)) {
-	/* Unless the left argument is integer in range we are going
-	   to have to use NV maths. Hence only attempt to coerce the
-	   right argument if we know the left is integer.  */
-      SvIV_please_nomg(TOPm1s);
-	if (SvIOK(TOPm1s)) {
-	    const bool auvok = SvUOK(TOPm1s);
-	    const bool buvok = SvUOK(TOPs);
-	
-	    if (auvok == buvok) { /* ## IV == IV or UV == UV ## */
-                /* Casting IV to UV before comparison isn't going to matter
-                   on 2s complement. On 1s complement or sign&magnitude
-                   (if we have any of them) it could to make negative zero
-                   differ from normal zero. As I understand it. (Need to
-                   check - is negative zero implementation defined behaviour
-                   anyway?). NWC  */
-		const UV buv = SvUVX(POPs);
-		const UV auv = SvUVX(TOPs);
-		
-		SETs(boolSV(auv == buv));
-		RETURN;
-	    }
-	    {			/* ## Mixed IV,UV ## */
-                SV *ivp, *uvp;
-		IV iv;
-		
-		/* == is commutative so doesn't matter which is left or right */
-		if (auvok) {
-		    /* top of stack (b) is the iv */
-                    ivp = *SP;
-                    uvp = *--SP;
-                } else {
-                    uvp = *SP;
-                    ivp = *--SP;
-                }
-                iv = SvIVX(ivp);
-		if (iv < 0)
-                    /* As uv is a UV, it's >0, so it cannot be == */
-                    SETs(&PL_sv_no);
-		else
-		    /* we know iv is >= 0 */
-		    SETs(boolSV((UV)iv == SvUVX(uvp)));
-		RETURN;
-	    }
-	}
-    }
-#endif
-    {
-#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
-      dPOPTOPnnrl_nomg;
-      if (Perl_isnan(left) || Perl_isnan(right))
-	  RETSETNO;
-      SETs(boolSV(left == right));
-#else
-      dPOPnv_nomg;
-      SETs(boolSV(SvNV_nomg(TOPs) == value));
-#endif
-      RETURN;
-    }
+    right = POPs;
+    left  = TOPs;
+    SETs(boolSV(
+	(SvIOK_notUV(left) && SvIOK_notUV(right))
+	? (SvIVX(left) == SvIVX(right))
+	: ( do_ncmp(left, right) == 0)
+    ));
+    RETURN;
 }
 
 PP(pp_preinc)
 {
     dVAR; dSP;
-    if (SvTYPE(TOPs) >= SVt_PVAV || isGV_with_GP(TOPs))
-	Perl_croak_no_modify(aTHX);
-    if (!SvREADONLY(TOPs) && SvIOK_notUV(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs)
-        && SvIVX(TOPs) != IV_MAX)
+    const bool inc =
+	PL_op->op_type == OP_PREINC || PL_op->op_type == OP_I_PREINC;
+    if (SvTYPE(TOPs) >= SVt_PVAV || (isGV_with_GP(TOPs) && !SvFAKE(TOPs)))
+	Perl_croak_no_modify();
+    if (!SvREADONLY(TOPs) && !SvGMAGICAL(TOPs) && SvIOK_notUV(TOPs) && !SvNOK(TOPs) && !SvPOK(TOPs)
+        && SvIVX(TOPs) != (inc ? IV_MAX : IV_MIN))
     {
-	SvIV_set(TOPs, SvIVX(TOPs) + 1);
+	SvIV_set(TOPs, SvIVX(TOPs) + (inc ? 1 : -1));
 	SvFLAGS(TOPs) &= ~(SVp_NOK|SVp_POK);
     }
     else /* Do all the PERL_PRESERVE_IVUV conditionals in sv_inc */
-	sv_inc(TOPs);
+	if (inc) sv_inc(TOPs);
+	else sv_dec(TOPs);
     SvSETMAGIC(TOPs);
     return NORMAL;
 }
@@ -438,7 +495,7 @@
 PP(pp_defined)
 {
     dVAR; dSP;
-    register SV* sv;
+    SV* sv;
     bool defined;
     const int op_type = PL_op->op_type;
     const bool is_dor = (op_type == OP_DOR || op_type == OP_DORASSIGN);
@@ -548,13 +605,11 @@
        unsigned code below is actually shorter than the old code. :-)
     */
 
-    SvIV_please_nomg(svr);
-
-    if (SvIOK(svr)) {
+    if (SvIV_please_nomg(svr)) {
 	/* Unless the left argument is integer in range we are going to have to
 	   use NV maths. Hence only attempt to coerce the right argument if
 	   we know the left is integer.  */
-	register UV auv = 0;
+	UV auv = 0;
 	bool auvok = FALSE;
 	bool a_valid = 0;
 
@@ -566,12 +621,11 @@
 	       lots of code to speed up what is probably a rarish case.  */
 	} else {
 	    /* Left operand is defined, so is it IV? */
-	    SvIV_please_nomg(svl);
-	    if (SvIOK(svl)) {
+	    if (SvIV_please_nomg(svl)) {
 		if ((auvok = SvUOK(svl)))
 		    auv = SvUVX(svl);
 		else {
-		    register const IV aiv = SvIVX(svl);
+		    const IV aiv = SvIVX(svl);
 		    if (aiv >= 0) {
 			auv = aiv;
 			auvok = 1;	/* Now acting as a sign flag.  */
@@ -585,13 +639,13 @@
 	if (a_valid) {
 	    bool result_good = 0;
 	    UV result;
-	    register UV buv;
+	    UV buv;
 	    bool buvok = SvUOK(svr);
 	
 	    if (buvok)
 		buv = SvUVX(svr);
 	    else {
-		register const IV biv = SvIVX(svr);
+		const IV biv = SvIVX(svr);
 		if (biv >= 0) {
 		    buv = biv;
 		    buvok = 1;
@@ -664,7 +718,7 @@
 PP(pp_aelemfast)
 {
     dVAR; dSP;
-    AV * const av = PL_op->op_flags & OPf_SPECIAL
+    AV * const av = PL_op->op_type == OP_AELEMFAST_LEX
 	? MUTABLE_AV(PAD_SV(PL_op->op_targ)) : GvAVn(cGVOP_gv);
     const U32 lval = PL_op->op_flags & OPf_MOD;
     SV** const svp = av_fetch(av, PL_op->op_private, lval);
@@ -710,7 +764,7 @@
 PP(pp_print)
 {
     dVAR; dSP; dMARK; dORIGMARK;
-    register PerlIO *fp;
+    PerlIO *fp;
     MAGIC *mg;
     GV * const gv
 	= (PL_op->op_flags & OPf_STACKED) ? MUTABLE_GV(*++MARK) : PL_defoutgv;
@@ -810,44 +864,20 @@
     const bool is_pp_rv2av = PL_op->op_type == OP_RV2AV;
     const svtype type = is_pp_rv2av ? SVt_PVAV : SVt_PVHV;
 
-    if (!(PL_op->op_private & OPpDEREFed))
-	SvGETMAGIC(sv);
+    SvGETMAGIC(sv);
     if (SvROK(sv)) {
 	if (SvAMAGIC(sv)) {
 	    sv = amagic_deref_call(sv, is_pp_rv2av ? to_av_amg : to_hv_amg);
-	    SPAGAIN;
 	}
 	sv = SvRV(sv);
 	if (SvTYPE(sv) != type)
+	    /* diag_listed_as: Not an ARRAY reference */
 	    DIE(aTHX_ "Not %s reference", is_pp_rv2av ? an_array : a_hash);
-	if (PL_op->op_flags & OPf_REF) {
-	    SETs(sv);
-	    RETURN;
-	}
-	else if (LVRET) {
-	    if (gimme != G_ARRAY)
-		goto croak_cant_return;
-	    SETs(sv);
-	    RETURN;
-	}
 	else if (PL_op->op_flags & OPf_MOD
 		&& PL_op->op_private & OPpLVAL_INTRO)
 	    Perl_croak(aTHX_ "%s", PL_no_localize_ref);
     }
-    else {
-	if (SvTYPE(sv) == type) {
-	    if (PL_op->op_flags & OPf_REF) {
-		SETs(sv);
-		RETURN;
-	    }
-	    else if (LVRET) {
-		if (gimme != G_ARRAY)
-		    goto croak_cant_return;
-		SETs(sv);
-		RETURN;
-	    }
-	}
-	else {
+    else if (SvTYPE(sv) != type) {
 	    GV *gv;
 	
 	    if (!isGV_with_GP(sv)) {
@@ -862,17 +892,19 @@
 	    sv = is_pp_rv2av ? MUTABLE_SV(GvAVn(gv)) : MUTABLE_SV(GvHVn(gv));
 	    if (PL_op->op_private & OPpLVAL_INTRO)
 		sv = is_pp_rv2av ? MUTABLE_SV(save_ary(gv)) : MUTABLE_SV(save_hash(gv));
-	    if (PL_op->op_flags & OPf_REF) {
+    }
+    if (PL_op->op_flags & OPf_REF) {
 		SETs(sv);
 		RETURN;
-	    }
-	    else if (LVRET) {
+    }
+    else if (PL_op->op_private & OPpMAYBE_LVSUB) {
+	      const I32 flags = is_lvalue_sub();
+	      if (flags && !(flags & OPpENTERSUB_INARGS)) {
 		if (gimme != G_ARRAY)
 		    goto croak_cant_return;
 		SETs(sv);
 		RETURN;
-	    }
-	}
+	      }
     }
 
     if (is_pp_rv2av) {
@@ -881,23 +913,10 @@
 	   (until such time as we get tools that can do blame annotation across
 	   whitespace changes.  */
 	if (gimme == G_ARRAY) {
-	    const I32 maxarg = AvFILL(av) + 1;
-	    (void)POPs;			/* XXXX May be optimized away? */
-	    EXTEND(SP, maxarg);
-	    if (SvRMAGICAL(av)) {
-		U32 i;
-		for (i=0; i < (U32)maxarg; i++) {
-		    SV ** const svp = av_fetch(av, i, FALSE);
-		    /* See note in pp_helem, and bug id #27839 */
-		    SP[i+1] = svp
-			? SvGMAGICAL(*svp) ? (mg_get(*svp), *svp) : *svp
-			: &PL_sv_undef;
-		}
-	    }
-	    else {
-		Copy(AvARRAY(av), SP+1, maxarg, SV*);
-	    }
-	    SP += maxarg;
+            SP--;
+            PUTBACK;
+            S_pushav(aTHX_ av);
+            SPAGAIN;
 	}
 	else if (gimme == G_SCALAR) {
 	    dTARGET;
@@ -910,6 +929,11 @@
 	    *PL_stack_sp = sv;
 	    return Perl_do_kv(aTHX);
 	}
+	else if ((PL_op->op_private & OPpTRUEBOOL
+	      || (  PL_op->op_private & OPpMAYBE_TRUEBOOL
+		 && block_gimme() == G_VOID  ))
+	      && (!SvRMAGICAL(sv) || !mg_find(sv, PERL_MAGIC_tied)))
+	    SETs(HvUSEDKEYS(sv) ? &PL_sv_yes : sv_2mortal(newSViv(0)));
 	else if (gimme == G_SCALAR) {
 	    dTARGET;
 	    TARG = Perl_hv_scalar(aTHX_ MUTABLE_HV(sv));
@@ -926,22 +950,19 @@
 }
 
 STATIC void
-S_do_oddball(pTHX_ HV *hash, SV **relem, SV **firstrelem)
+S_do_oddball(pTHX_ SV **oddkey, SV **firstkey)
 {
     dVAR;
 
     PERL_ARGS_ASSERT_DO_ODDBALL;
 
-    if (*relem) {
-	SV *tmpstr;
-        const HE *didstore;
-
+    if (*oddkey) {
         if (ckWARN(WARN_MISC)) {
 	    const char *err;
-	    if (relem == firstrelem &&
-		SvROK(*relem) &&
-		(SvTYPE(SvRV(*relem)) == SVt_PVAV ||
-		 SvTYPE(SvRV(*relem)) == SVt_PVHV))
+	    if (oddkey == firstkey &&
+		SvROK(*oddkey) &&
+		(SvTYPE(SvRV(*oddkey)) == SVt_PVAV ||
+		 SvTYPE(SvRV(*oddkey)) == SVt_PVHV))
 	    {
 		err = "Reference found where even-sized list expected";
 	    }
@@ -950,15 +971,6 @@
 	    Perl_warner(aTHX_ packWARN(WARN_MISC), "%s", err);
 	}
 
-        tmpstr = newSV(0);
-        didstore = hv_store_ent(hash,*relem,tmpstr,0);
-        if (SvMAGICAL(hash)) {
-            if (SvSMAGICAL(tmpstr))
-                mg_set(tmpstr);
-            if (!didstore)
-                sv_2mortal(tmpstr);
-        }
-        TAINT_NOT;
     }
 }
 
@@ -970,21 +982,22 @@
     SV **firstrelem = PL_stack_base + POPMARK + 1;
     SV **firstlelem = lastrelem + 1;
 
-    register SV **relem;
-    register SV **lelem;
+    SV **relem;
+    SV **lelem;
 
-    register SV *sv;
-    register AV *ary;
+    SV *sv;
+    AV *ary;
 
     I32 gimme;
     HV *hash;
     I32 i;
     int magic;
-    int duplicates = 0;
-    SV **firsthashrelem = NULL;	/* "= 0" keeps gcc 2.95 quiet  */
+    U32 lval = 0;
 
     PL_delaymagic = DM_DELAY;		/* catch simultaneous items */
     gimme = GIMME_V;
+    if (gimme == G_ARRAY)
+        lval = PL_op->op_flags & OPf_MOD || LVRET;
 
     /* If there's a common identifier on both sides we have to take
      * special care that assigning the identifier on the left doesn't
@@ -999,7 +1012,7 @@
 	    || SvMAGICAL(sv)
 	    || ! (SvTYPE(sv) == SVt_PVAV || SvTYPE(sv) == SVt_PVHV)
 	    || (SvTYPE(sv) == SVt_PVAV && AvFILL((AV*)sv) != -1)
-	    || (SvTYPE(sv) == SVt_PVHV && HvKEYS((HV*)sv) != 0)
+	    || (SvTYPE(sv) == SVt_PVHV && HvUSEDKEYS((HV*)sv) != 0)
 	    )
     ) {
 	EXTEND_MORTAL(lastrelem - firstrelem + 1);
@@ -1014,9 +1027,11 @@
 		    Perl_croak(aTHX_ "panic: attempt to copy freed scalar %p",
 			       (void*)sv);
 		}
-		/* Specifically *not* sv_mortalcopy(), as that will steal TEMPs,
-		   and we need a second copy of a temp here.  */
-		*relem = sv_2mortal(newSVsv(sv));
+		/* Not newSVsv(), as it does not allow copy-on-write,
+		   resulting in wasteful copies.  We need a second copy of
+		   a temp here, hence the SV_NOSTEAL.  */
+		*relem = sv_mortalcopy_flags(sv,SV_GMAGIC|SV_DO_COW_SVSETSV
+					       |SV_NOSTEAL);
 	    }
 	}
     }
@@ -1033,6 +1048,8 @@
 	case SVt_PVAV:
 	    ary = MUTABLE_AV(sv);
 	    magic = SvMAGICAL(ary) != 0;
+	    ENTER;
+	    SAVEFREESV(SvREFCNT_inc_simple_NN(sv));
 	    av_clear(ary);
 	    av_extend(ary, lastrelem - relem);
 	    i = 0;
@@ -1039,46 +1056,67 @@
 	    while (relem <= lastrelem) {	/* gobble up all the rest */
 		SV **didstore;
 		assert(*relem);
+		SvGETMAGIC(*relem); /* before newSV, in case it dies */
 		sv = newSV(0);
-		sv_setsv(sv, *relem);
+		sv_setsv_nomg(sv, *relem);
 		*(relem++) = sv;
 		didstore = av_store(ary,i++,sv);
 		if (magic) {
+		    if (!didstore)
+			sv_2mortal(sv);
 		    if (SvSMAGICAL(sv))
 			mg_set(sv);
-		    if (!didstore)
-			sv_2mortal(sv);
 		}
 		TAINT_NOT;
 	    }
 	    if (PL_delaymagic & DM_ARRAY_ISA)
 		SvSETMAGIC(MUTABLE_SV(ary));
+	    LEAVE;
 	    break;
 	case SVt_PVHV: {				/* normal hash */
 		SV *tmpstr;
+                int odd;
+                int duplicates = 0;
 		SV** topelem = relem;
+                SV **firsthashrelem = relem;
 
 		hash = MUTABLE_HV(sv);
 		magic = SvMAGICAL(hash) != 0;
+
+                odd = ((lastrelem - firsthashrelem)&1)? 0 : 1;
+                if ( odd ) {
+                    do_oddball(lastrelem, firsthashrelem);
+                    /* we have firstlelem to reuse, it's not needed anymore
+		     */
+                    *(lastrelem+1) = &PL_sv_undef;
+                }
+
+		ENTER;
+		SAVEFREESV(SvREFCNT_inc_simple_NN(sv));
 		hv_clear(hash);
-		firsthashrelem = relem;
-
-		while (relem < lastrelem) {	/* gobble up all the rest */
+		while (relem < lastrelem+odd) {	/* gobble up all the rest */
 		    HE *didstore;
-		    sv = *relem ? *relem : &PL_sv_no;
+                    assert(*relem);
+		    /* Copy the key if aassign is called in lvalue context,
+		       to avoid having the next op modify our rhs.  Copy
+		       it also if it is gmagical, lest it make the
+		       hv_store_ent call below croak, leaking the value. */
+		    sv = lval || SvGMAGICAL(*relem)
+			 ? sv_mortalcopy(*relem)
+			 : *relem;
 		    relem++;
-		    tmpstr = newSV(0);
-		    if (*relem)
-			sv_setsv(tmpstr,*relem);	/* value */
-		    relem++;
-		    if (gimme != G_VOID) {
+                    assert(*relem);
+		    SvGETMAGIC(*relem);
+                    tmpstr = newSV(0);
+		    sv_setsv_nomg(tmpstr,*relem++);	/* value */
+		    if (gimme == G_ARRAY) {
 			if (hv_exists_ent(hash, sv, 0))
 			    /* key overwrites an existing entry */
 			    duplicates += 2;
-			else
-			if (gimme == G_ARRAY) {
+			else {
 			    /* copy element back: possibly to an earlier
-			     * stack location if we encountered dups earlier */
+			     * stack location if we encountered dups earlier,
+			     * possibly to a later stack location if odd */
 			    *topelem++ = sv;
 			    *topelem++ = tmpstr;
 			}
@@ -1085,17 +1123,28 @@
 		    }
 		    didstore = hv_store_ent(hash,sv,tmpstr,0);
 		    if (magic) {
-			if (SvSMAGICAL(tmpstr))
-			    mg_set(tmpstr);
-			if (!didstore)
-			    sv_2mortal(tmpstr);
-		    }
+			if (!didstore) sv_2mortal(tmpstr);
+			SvSETMAGIC(tmpstr);
+                    }
 		    TAINT_NOT;
 		}
-		if (relem == lastrelem) {
-		    do_oddball(hash, relem, firstrelem);
-		    relem++;
-		}
+		LEAVE;
+                if (duplicates && gimme == G_ARRAY) {
+                    /* at this point we have removed the duplicate key/value
+                     * pairs from the stack, but the remaining values may be
+                     * wrong; i.e. with (a 1 a 2 b 3) on the stack we've removed
+                     * the (a 2), but the stack now probably contains
+                     * (a <freed> b 3), because { hv_save(a,1); hv_save(a,2) }
+                     * obliterates the earlier key. So refresh all values. */
+                    lastrelem -= duplicates;
+                    relem = firsthashrelem;
+                    while (relem < lastrelem+odd) {
+                        HE *he;
+                        he = hv_fetch_ent(hash, *relem++, 0, 0);
+                        *relem++ = (he ? HeVAL(he) : &PL_sv_undef);
+                    }
+                }
+                if (odd && gimme == G_ARRAY) lastrelem++;
 	    }
 	    break;
 	default:
@@ -1105,6 +1154,14 @@
 		break;
 	    }
 	    if (relem <= lastrelem) {
+		if (
+		  SvTEMP(sv) && !SvSMAGICAL(sv) && SvREFCNT(sv) == 1 &&
+		  (!isGV_with_GP(sv) || SvFAKE(sv)) && ckWARN(WARN_MISC)
+		)
+		    Perl_warner(aTHX_
+		       packWARN(WARN_MISC),
+		      "Useless assignment to a temporary"
+		    );
 		sv_setsv(sv, *relem);
 		*(relem++) = sv;
 	    }
@@ -1115,71 +1172,83 @@
 	}
     }
     if (PL_delaymagic & ~DM_DELAY) {
+	/* Will be used to set PL_tainting below */
+	UV tmp_uid  = PerlProc_getuid();
+	UV tmp_euid = PerlProc_geteuid();
+	UV tmp_gid  = PerlProc_getgid();
+	UV tmp_egid = PerlProc_getegid();
+
 	if (PL_delaymagic & DM_UID) {
 #ifdef HAS_SETRESUID
-	    (void)setresuid((PL_delaymagic & DM_RUID) ? PL_uid  : (Uid_t)-1,
-			    (PL_delaymagic & DM_EUID) ? PL_euid : (Uid_t)-1,
+	    (void)setresuid((PL_delaymagic & DM_RUID) ? PL_delaymagic_uid  : (Uid_t)-1,
+			    (PL_delaymagic & DM_EUID) ? PL_delaymagic_euid : (Uid_t)-1,
 			    (Uid_t)-1);
 #else
 #  ifdef HAS_SETREUID
-	    (void)setreuid((PL_delaymagic & DM_RUID) ? PL_uid  : (Uid_t)-1,
-			   (PL_delaymagic & DM_EUID) ? PL_euid : (Uid_t)-1);
+	    (void)setreuid((PL_delaymagic & DM_RUID) ? PL_delaymagic_uid  : (Uid_t)-1,
+			   (PL_delaymagic & DM_EUID) ? PL_delaymagic_euid : (Uid_t)-1);
 #  else
 #    ifdef HAS_SETRUID
 	    if ((PL_delaymagic & DM_UID) == DM_RUID) {
-		(void)setruid(PL_uid);
+		(void)setruid(PL_delaymagic_uid);
 		PL_delaymagic &= ~DM_RUID;
 	    }
 #    endif /* HAS_SETRUID */
 #    ifdef HAS_SETEUID
 	    if ((PL_delaymagic & DM_UID) == DM_EUID) {
-		(void)seteuid(PL_euid);
+		(void)seteuid(PL_delaymagic_euid);
 		PL_delaymagic &= ~DM_EUID;
 	    }
 #    endif /* HAS_SETEUID */
 	    if (PL_delaymagic & DM_UID) {
-		if (PL_uid != PL_euid)
+		if (PL_delaymagic_uid != PL_delaymagic_euid)
 		    DIE(aTHX_ "No setreuid available");
-		(void)PerlProc_setuid(PL_uid);
+		(void)PerlProc_setuid(PL_delaymagic_uid);
 	    }
 #  endif /* HAS_SETREUID */
 #endif /* HAS_SETRESUID */
-	    PL_uid = PerlProc_getuid();
-	    PL_euid = PerlProc_geteuid();
+	    tmp_uid  = PerlProc_getuid();
+	    tmp_euid = PerlProc_geteuid();
 	}
 	if (PL_delaymagic & DM_GID) {
 #ifdef HAS_SETRESGID
-	    (void)setresgid((PL_delaymagic & DM_RGID) ? PL_gid  : (Gid_t)-1,
-			    (PL_delaymagic & DM_EGID) ? PL_egid : (Gid_t)-1,
+	    (void)setresgid((PL_delaymagic & DM_RGID) ? PL_delaymagic_gid  : (Gid_t)-1,
+			    (PL_delaymagic & DM_EGID) ? PL_delaymagic_egid : (Gid_t)-1,
 			    (Gid_t)-1);
 #else
 #  ifdef HAS_SETREGID
-	    (void)setregid((PL_delaymagic & DM_RGID) ? PL_gid  : (Gid_t)-1,
-			   (PL_delaymagic & DM_EGID) ? PL_egid : (Gid_t)-1);
+	    (void)setregid((PL_delaymagic & DM_RGID) ? PL_delaymagic_gid  : (Gid_t)-1,
+			   (PL_delaymagic & DM_EGID) ? PL_delaymagic_egid : (Gid_t)-1);
 #  else
 #    ifdef HAS_SETRGID
 	    if ((PL_delaymagic & DM_GID) == DM_RGID) {
-		(void)setrgid(PL_gid);
+		(void)setrgid(PL_delaymagic_gid);
 		PL_delaymagic &= ~DM_RGID;
 	    }
 #    endif /* HAS_SETRGID */
 #    ifdef HAS_SETEGID
 	    if ((PL_delaymagic & DM_GID) == DM_EGID) {
-		(void)setegid(PL_egid);
+		(void)setegid(PL_delaymagic_egid);
 		PL_delaymagic &= ~DM_EGID;
 	    }
 #    endif /* HAS_SETEGID */
 	    if (PL_delaymagic & DM_GID) {
-		if (PL_gid != PL_egid)
+		if (PL_delaymagic_gid != PL_delaymagic_egid)
 		    DIE(aTHX_ "No setregid available");
-		(void)PerlProc_setgid(PL_gid);
+		(void)PerlProc_setgid(PL_delaymagic_gid);
 	    }
 #  endif /* HAS_SETREGID */
 #endif /* HAS_SETRESGID */
-	    PL_gid = PerlProc_getgid();
-	    PL_egid = PerlProc_getegid();
+	    tmp_gid  = PerlProc_getgid();
+	    tmp_egid = PerlProc_getegid();
 	}
-	PL_tainting |= (PL_uid && (PL_euid != PL_uid || PL_egid != PL_gid));
+	TAINTING_set( TAINTING_get | (tmp_uid && (tmp_euid != tmp_uid || tmp_egid != tmp_gid)) );
+#ifdef NO_TAINT_SUPPORT
+        PERL_UNUSED_VAR(tmp_uid);
+        PERL_UNUSED_VAR(tmp_euid);
+        PERL_UNUSED_VAR(tmp_gid);
+        PERL_UNUSED_VAR(tmp_egid);
+#endif
     }
     PL_delaymagic = 0;
 
@@ -1188,35 +1257,19 @@
     else if (gimme == G_SCALAR) {
 	dTARGET;
 	SP = firstrelem;
-	SETi(lastrelem - firstrelem + 1 - duplicates);
+	SETi(lastrelem - firstrelem + 1);
     }
     else {
-	if (ary)
+	if (ary || hash)
+	    /* note that in this case *firstlelem may have been overwritten
+	       by sv_undef in the odd hash case */
 	    SP = lastrelem;
-	else if (hash) {
-	    if (duplicates) {
-		/* at this point we have removed the duplicate key/value
-		 * pairs from the stack, but the remaining values may be
-		 * wrong; i.e. with (a 1 a 2 b 3) on the stack we've removed
-		 * the (a 2), but the stack now probably contains
-		 * (a <freed> b 3), because { hv_save(a,1); hv_save(a,2) }
-		 * obliterates the earlier key. So refresh all values. */
-		lastrelem -= duplicates;
-		relem = firsthashrelem;
-		while (relem < lastrelem) {
-		    HE *he;
-		    sv = *relem++;
-		    he = hv_fetch_ent(hash, sv, 0, 0);
-		    *relem++ = (he ? HeVAL(he) : &PL_sv_undef);
-		}
-	    }
-	    SP = lastrelem;
-	}
-	else
+	else {
 	    SP = firstrelem + (lastlelem - firstlelem);
-	lelem = firstlelem + (relem - firstrelem);
-	while (relem <= SP)
-	    *relem++ = (lelem <= lastlelem) ? *lelem++ : &PL_sv_undef;
+            lelem = firstlelem + (relem - firstrelem);
+            while (relem <= SP)
+                *relem++ = (lelem <= lastlelem) ? *lelem++ : &PL_sv_undef;
+        }
     }
 
     RETURN;
@@ -1225,10 +1278,12 @@
 PP(pp_qr)
 {
     dVAR; dSP;
-    register PMOP * const pm = cPMOP;
+    PMOP * const pm = cPMOP;
     REGEXP * rx = PM_GETRE(pm);
     SV * const pkg = rx ? CALLREG_PACKAGE(rx) : NULL;
     SV * const rv = sv_newmortal();
+    CV **cvp;
+    CV *cv;
 
     SvUPGRADE(rv, SVt_IV);
     /* For a subroutine describing itself as "This is a hacky workaround" I'm
@@ -1240,13 +1295,19 @@
     SvRV_set(rv, MUTABLE_SV(reg_temp_copy(NULL, rx)));
     SvROK_on(rv);
 
+    cvp = &( ReANY((REGEXP *)SvRV(rv))->qr_anoncv);
+    if ((cv = *cvp) && CvCLONE(*cvp)) {
+	*cvp = cv_clone(cv);
+	SvREFCNT_dec_NN(cv);
+    }
+
     if (pkg) {
 	HV *const stash = gv_stashsv(pkg, GV_ADD);
-	SvREFCNT_dec(pkg);
+	SvREFCNT_dec_NN(pkg);
 	(void)sv_bless(rv, stash);
     }
 
-    if (RX_EXTFLAGS(rx) & RXf_TAINTED) {
+    if (RX_ISTAINTED(rx)) {
         SvTAINTED_on(rv);
         SvTAINTED_on(SvRV(rv));
     }
@@ -1257,15 +1318,15 @@
 PP(pp_match)
 {
     dVAR; dSP; dTARG;
-    register PMOP *pm = cPMOP;
+    PMOP *pm = cPMOP;
     PMOP *dynpm = pm;
-    register const char *t;
-    register const char *s;
+    const char *t;
+    const char *s;
     const char *strend;
     I32 global;
     U8 r_flags = REXEC_CHECKED;
     const char *truebase;			/* Start of string  */
-    register REGEXP *rx = PM_GETRE(pm);
+    REGEXP *rx = PM_GETRE(pm);
     bool rxtainted;
     const I32 gimme = GIMME;
     STRLEN len;
@@ -1287,18 +1348,21 @@
     PUTBACK;				/* EVAL blocks need stack_sp. */
     /* Skip get-magic if this is a qr// clone, because regcomp has
        already done it. */
-    s = ((struct regexp *)SvANY(rx))->mother_re
+    s = ReANY(rx)->mother_re
 	 ? SvPV_nomg_const(TARG, len)
 	 : SvPV_const(TARG, len);
     if (!s)
 	DIE(aTHX_ "panic: pp_match");
     strend = s + len;
-    rxtainted = ((RX_EXTFLAGS(rx) & RXf_TAINTED) ||
-		 (PL_tainted && (pm->op_pmflags & PMf_RETAINT)));
+    rxtainted = (RX_ISTAINTED(rx) ||
+		 (TAINT_get && (pm->op_pmflags & PMf_RETAINT)));
     TAINT_NOT;
 
     RX_MATCH_UTF8_set(rx, DO_UTF8(TARG));
 
+    /* We need to know this in case we fail out early - pos() must be reset */
+    global = dynpm->op_pmflags & PMf_GLOBAL;
+
     /* PMdf_USED is set after a ?? matches once */
     if (
 #ifdef USE_ITHREADS
@@ -1307,27 +1371,27 @@
         pm->op_pmflags & PMf_USED
 #endif
     ) {
-      failure:
-	if (gimme == G_ARRAY)
-	    RETURN;
-	RETPUSHNO;
+        DEBUG_r(PerlIO_printf(Perl_debug_log, "?? already matched once"));
+	goto nope;
     }
 
-
-
-    /* empty pattern special-cased to use last successful pattern if possible */
-    if (!RX_PRELEN(rx) && PL_curpm) {
+    /* empty pattern special-cased to use last successful pattern if
+       possible, except for qr// */
+    if (!ReANY(rx)->mother_re && !RX_PRELEN(rx)
+     && PL_curpm) {
 	pm = PL_curpm;
 	rx = PM_GETRE(pm);
     }
 
-    if (RX_MINLEN(rx) > (I32)len)
-	goto failure;
+    if (RX_MINLEN(rx) > (I32)len) {
+        DEBUG_r(PerlIO_printf(Perl_debug_log, "String shorter than min possible regex match\n"));
+	goto nope;
+    }
 
     truebase = t = s;
 
     /* XXXX What part of this is needed with true \G-support? */
-    if ((global = dynpm->op_pmflags & PMf_GLOBAL)) {
+    if (global) {
 	RX_OFFS(rx)[0].start = -1;
 	if (SvTYPE(TARG) >= SVt_PVMG && SvMAGIC(TARG)) {
 	    MAGIC* const mg = mg_find(TARG, PERL_MAGIC_regex_global);
@@ -1346,23 +1410,29 @@
 	    }
 	}
     }
-    /* XXX: comment out !global get safe $1 vars after a
-       match, BUT be aware that this leads to dramatic slowdowns on
-       /g matches against large strings.  So far a solution to this problem
-       appears to be quite tricky.
-       Test for the unsafe vars are TODO for now. */
-    if (       (!global && RX_NPARENS(rx))
-	    || SvTEMP(TARG) || SvAMAGIC(TARG) || PL_sawampersand
-	    || (RX_EXTFLAGS(rx) & (RXf_EVAL_SEEN|RXf_PMf_KEEPCOPY)))
-	r_flags |= REXEC_COPY_STR;
-    if (SvSCREAM(TARG))
-	r_flags |= REXEC_SCREAM;
+#ifdef PERL_SAWAMPERSAND
+    if (       RX_NPARENS(rx)
+            || PL_sawampersand
+            || (RX_EXTFLAGS(rx) & (RXf_EVAL_SEEN|RXf_PMf_KEEPCOPY))
+    )
+#endif
+    {
+	r_flags |= (REXEC_COPY_STR|REXEC_COPY_SKIP_PRE);
+        /* in @a =~ /(.)/g, we iterate multiple times, but copy the buffer
+         * only on the first iteration. Therefore we need to copy $' as well
+         * as $&, to make the rest of the string available for captures in
+         * subsequent iterations */
+        if (! (global && gimme == G_ARRAY))
+            r_flags |= REXEC_COPY_SKIP_POST;
+    };
 
   play_it_again:
     if (global && RX_OFFS(rx)[0].start != -1) {
 	t = s = RX_OFFS(rx)[0].end + truebase - RX_GOFS(rx);
-	if ((s + RX_MINLEN(rx)) > strend || s < truebase)
+	if ((s + RX_MINLEN(rx)) > strend || s < truebase) {
+	    DEBUG_r(PerlIO_printf(Perl_debug_log, "Regex match can't succeed, so not even tried\n"));
 	    goto nope;
+	}
 	if (update_minmatch++)
 	    minmatch = had_zerolen;
     }
@@ -1374,31 +1444,26 @@
 
 	if (!s)
 	    goto nope;
+#ifdef PERL_SAWAMPERSAND
 	if ( (RX_EXTFLAGS(rx) & RXf_CHECK_ALL)
 	     && !PL_sawampersand
 	     && !(RX_EXTFLAGS(rx) & RXf_PMf_KEEPCOPY)
-	     && ((RX_EXTFLAGS(rx) & RXf_NOSCAN)
-		 || !((RX_EXTFLAGS(rx) & RXf_INTUIT_TAIL)
-		      && (r_flags & REXEC_SCREAM)))
 	     && !SvROK(TARG))	/* Cannot trust since INTUIT cannot guess ^ */
 	    goto yup;
+#endif
     }
-    if (CALLREGEXEC(rx, (char*)s, (char *)strend, (char*)truebase,
-                    minmatch, TARG, NUM2PTR(void*, gpos), r_flags))
-    {
-	PL_curpm = pm;
-	if (dynpm->op_pmflags & PMf_ONCE) {
+    if (!CALLREGEXEC(rx, (char*)s, (char *)strend, (char*)truebase,
+		     minmatch, TARG, NUM2PTR(void*, gpos), r_flags))
+	goto ret_no;
+
+    PL_curpm = pm;
+    if (dynpm->op_pmflags & PMf_ONCE) {
 #ifdef USE_ITHREADS
-            SvREADONLY_on(PL_regex_pad[dynpm->op_pmoffset]);
+	SvREADONLY_on(PL_regex_pad[dynpm->op_pmoffset]);
 #else
-	    dynpm->op_pmflags |= PMf_USED;
+	dynpm->op_pmflags |= PMf_USED;
 #endif
-        }
-	goto gotcha;
     }
-    else
-	goto ret_no;
-    /*NOTREACHED*/
 
   gotcha:
     if (rxtainted)
@@ -1418,7 +1483,10 @@
 		s = RX_OFFS(rx)[i].start + truebase;
 	        if (RX_OFFS(rx)[i].end < 0 || RX_OFFS(rx)[i].start < 0 ||
 		    len < 0 || len > strend - s)
-		    DIE(aTHX_ "panic: pp_match start/end pointers");
+		    DIE(aTHX_ "panic: pp_match start/end pointers, i=%ld, "
+			"start=%ld, end=%ld, s=%p, strend=%p, len=%"UVuf,
+			(long) i, (long) RX_OFFS(rx)[i].start,
+			(long)RX_OFFS(rx)[i].end, s, strend, (UV) len);
 		sv_setpvn(*SP, s, len);
 		if (DO_UTF8(TARG) && is_utf8_string((U8*)s, len))
 		    SvUTF8_on(*SP);
@@ -1484,7 +1552,9 @@
 	RETPUSHYES;
     }
 
+#ifdef PERL_SAWAMPERSAND
 yup:					/* Confirmed by INTUIT */
+#endif
     if (rxtainted)
 	RX_MATCH_TAINTED_on(rx);
     TAINT_IF(RX_MATCH_TAINTED(rx));
@@ -1503,6 +1573,8 @@
     if (global) {
 	/* FIXME - should rx->subbeg be const char *?  */
 	RX_SUBBEG(rx) = (char *) truebase;
+	RX_SUBOFFSET(rx) = 0;
+	RX_SUBCOFFSET(rx) = 0;
 	RX_OFFS(rx)[0].start = s - truebase;
 	if (RX_MATCH_UTF8(rx)) {
 	    char * const t = (char*)utf8_hop((U8*)s, RX_MINLENRET(rx));
@@ -1514,10 +1586,13 @@
 	RX_SUBLEN(rx) = strend - truebase;
 	goto gotcha;
     }
-    if (PL_sawampersand || RX_EXTFLAGS(rx) & RXf_PMf_KEEPCOPY) {
+#ifdef PERL_SAWAMPERSAND
+    if (PL_sawampersand || RX_EXTFLAGS(rx) & RXf_PMf_KEEPCOPY)
+#endif
+    {
 	I32 off;
-#ifdef PERL_OLD_COPY_ON_WRITE
-	if (SvIsCOW(TARG) || (SvFLAGS(TARG) & CAN_COW_MASK) == CAN_COW_FLAGS) {
+#ifdef PERL_ANY_COW
+	if (SvCANCOW(TARG)) {
 	    if (DEBUG_C_TEST) {
 		PerlIO_printf(Perl_debug_log,
 			      "Copy on write: pp_match $& capture, type %d, truebase=%p, t=%p, difference %d\n",
@@ -1533,22 +1608,26 @@
 	{
 
 	    RX_SUBBEG(rx) = savepvn(t, strend - t);
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
 	    RX_SAVED_COPY(rx) = NULL;
 #endif
 	}
 	RX_SUBLEN(rx) = strend - t;
+	RX_SUBOFFSET(rx) = 0;
+	RX_SUBCOFFSET(rx) = 0;
 	RX_MATCH_COPIED_on(rx);
 	off = RX_OFFS(rx)[0].start = s - t;
 	RX_OFFS(rx)[0].end = off + RX_MINLENRET(rx);
     }
+#ifdef PERL_SAWAMPERSAND
     else {			/* startp/endp are used by @- @+. */
 	RX_OFFS(rx)[0].start = s - truebase;
 	RX_OFFS(rx)[0].end = s - truebase + RX_MINLENRET(rx);
     }
-    /* including RX_NPARENS(rx) in the below code seems highly suspicious.
-       -dmq */
-    RX_NPARENS(rx) = RX_LASTPAREN(rx) = RX_LASTCLOSEPAREN(rx) = 0;	/* used by @-, @+, and $^N */
+#endif
+    /* match via INTUIT shouldn't have any captures. Let @-, @+, $^N know */
+    assert(!RX_NPARENS(rx));
+    RX_LASTPAREN(rx) = RX_LASTCLOSEPAREN(rx) = 0;
     LEAVE_SCOPE(oldsave);
     RETPUSHYES;
 
@@ -1571,12 +1650,12 @@
 Perl_do_readline(pTHX)
 {
     dVAR; dSP; dTARGETSTACKED;
-    register SV *sv;
+    SV *sv;
     STRLEN tmplen = 0;
     STRLEN offset;
     PerlIO *fp;
-    register IO * const io = GvIO(PL_last_in_gv);
-    register const I32 type = PL_op->op_type;
+    IO * const io = GvIO(PL_last_in_gv);
+    const I32 type = PL_op->op_type;
     const I32 gimme = GIMME_V;
 
     if (io) {
@@ -1601,6 +1680,7 @@
 		    if (av_len(GvAVn(PL_last_in_gv)) < 0) {
 			IoFLAGS(io) &= ~IOf_START;
 			do_open(PL_last_in_gv,"-",1,FALSE,O_RDONLY,0,NULL);
+			SvTAINTED_off(GvSVn(PL_last_in_gv)); /* previous tainting irrelevant */
 			sv_setpvs(GvSVn(PL_last_in_gv), "-");
 			SvSETMAGIC(GvSV(PL_last_in_gv));
 			fp = IoIFP(io);
@@ -1626,7 +1706,7 @@
 	    && ckWARN2(WARN_GLOB, WARN_CLOSED))
 	{
 	    if (type == OP_GLOB)
-		Perl_warner(aTHX_ packWARN(WARN_GLOB),
+		Perl_ck_warner_d(aTHX_ packWARN(WARN_GLOB),
 			    "glob failed (can't start child: %s)",
 			    Strerror(errno));
 	    else
@@ -1649,16 +1729,16 @@
 	    mg_get(sv);
 	if (SvROK(sv)) {
 	    if (type == OP_RCATLINE)
-		SvPV_force_nolen(sv);
+		SvPV_force_nomg_nolen(sv);
 	    else
 		sv_unref(sv);
 	}
 	else if (isGV_with_GP(sv)) {
-	    SvPV_force_nolen(sv);
+	    SvPV_force_nomg_nolen(sv);
 	}
 	SvUPGRADE(sv, SVt_PV);
 	tmplen = SvLEN(sv);	/* remember if already alloced */
-	if (!tmplen && !SvREADONLY(sv)) {
+	if (!tmplen && !SvREADONLY(sv) && !SvIsCOW(sv)) {
             /* try short-buffering it. Please update t/op/readline.t
 	     * if you change the growth length.
 	     */
@@ -1667,7 +1747,7 @@
 	offset = 0;
 	if (type == OP_RCATLINE && SvOK(sv)) {
 	    if (!SvPOK(sv)) {
-		SvPV_force_nolen(sv);
+		SvPV_force_nomg_nolen(sv);
 	    }
 	    offset = SvCUR(sv);
 	}
@@ -1739,7 +1819,7 @@
 		}
 	    }
 	    for (t1 = SvPVX_const(sv); *t1; t1++)
-		if (!isALPHA(*t1) && !isDIGIT(*t1) &&
+		if (!isALPHANUMERIC(*t1) &&
 		    strchr("$&*(){}[]'\";\\|?<>~`", *t1))
 			break;
 	    if (*t1 && PerlLIO_lstat(SvPVX_const(sv), &PL_statbuf) < 0) {
@@ -1776,31 +1856,6 @@
     }
 }
 
-PP(pp_enter)
-{
-    dVAR; dSP;
-    register PERL_CONTEXT *cx;
-    I32 gimme = OP_GIMME(PL_op, -1);
-
-    if (gimme == -1) {
-	if (cxstack_ix >= 0) {
-	    /* If this flag is set, we're just inside a return, so we should
-	     * store the caller's context */
-	    gimme = (PL_op->op_flags & OPf_SPECIAL)
-		? block_gimme()
-		: cxstack[cxstack_ix].blk_gimme;
-	} else
-	    gimme = G_SCALAR;
-    }
-
-    ENTER_with_name("block");
-
-    SAVETMPS;
-    PUSHBLOCK(cx, CXt_BLOCK, SP);
-
-    RETURN;
-}
-
 PP(pp_helem)
 {
     dVAR; dSP;
@@ -1811,7 +1866,6 @@
     const U32 lval = PL_op->op_flags & OPf_MOD || LVRET;
     const U32 defer = PL_op->op_private & OPpLVAL_DEFER;
     SV *sv;
-    const U32 hash = (SvIsCOW_shared_hash(keysv)) ? SvSHARED_HASH(keysv) : 0;
     const bool localizing = PL_op->op_private & OPpLVAL_INTRO;
     bool preeminent = TRUE;
 
@@ -1826,14 +1880,14 @@
 	 * Try to preserve the existenceness of a tied hash
 	 * element by using EXISTS and DELETE if possible.
 	 * Fallback to FETCH and STORE otherwise. */
-	if (SvCANEXISTDELETE(hv) || mg_find((const SV *)hv, PERL_MAGIC_env))
+	if (SvCANEXISTDELETE(hv))
 	    preeminent = hv_exists_ent(hv, keysv, 0);
     }
 
-    he = hv_fetch_ent(hv, keysv, lval && !defer, hash);
+    he = hv_fetch_ent(hv, keysv, lval && !defer, 0);
     svp = he ? &HeVAL(he) : NULL;
     if (lval) {
-	if (!svp || *svp == &PL_sv_undef) {
+	if (!svp || !*svp || *svp == &PL_sv_undef) {
 	    SV* lv;
 	    SV* key2;
 	    if (!defer) {
@@ -1843,7 +1897,7 @@
 	    sv_upgrade(lv, SVt_PVLV);
 	    LvTYPE(lv) = 'y';
 	    sv_magic(lv, key2 = newSVsv(keysv), PERL_MAGIC_defelem, NULL, 0);
-	    SvREFCNT_dec(key2);	/* sv_magic() increments refcount */
+	    SvREFCNT_dec_NN(key2);	/* sv_magic() increments refcount */
 	    LvTARG(lv) = SvREFCNT_inc_simple(hv);
 	    LvTARGLEN(lv) = 1;
 	    PUSHs(lv);
@@ -1858,10 +1912,12 @@
 	    else
 		SAVEHDELETE(hv, keysv);
 	}
-	else if (PL_op->op_private & OPpDEREF)
-	    vivify_ref(*svp, PL_op->op_private & OPpDEREF);
+	else if (PL_op->op_private & OPpDEREF) {
+	    PUSHs(vivify_ref(*svp, PL_op->op_private & OPpDEREF));
+	    RETURN;
+	}
     }
-    sv = (svp ? *svp : &PL_sv_undef);
+    sv = (svp && *svp ? *svp : &PL_sv_undef);
     /* Originally this did a conditional C<sv = sv_mortalcopy(sv)>; this
      * was to make C<local $tied{foo} = $tied{foo}> possible.
      * However, it seems no longer to be needed for that purpose, and
@@ -1880,111 +1936,61 @@
     RETURN;
 }
 
-PP(pp_leave)
-{
-    dVAR; dSP;
-    register PERL_CONTEXT *cx;
-    SV **newsp;
-    PMOP *newpm;
-    I32 gimme;
-
-    if (PL_op->op_flags & OPf_SPECIAL) {
-	cx = &cxstack[cxstack_ix];
-	cx->blk_oldpm = PL_curpm;	/* fake block should preserve $1 et al */
-    }
-
-    POPBLOCK(cx,newpm);
-
-    gimme = OP_GIMME(PL_op, (cxstack_ix >= 0) ? gimme : G_SCALAR);
-
-    TAINT_NOT;
-    if (gimme == G_VOID)
-	SP = newsp;
-    else if (gimme == G_SCALAR) {
-	register SV **mark;
-	MARK = newsp + 1;
-	if (MARK <= SP) {
-	    if (SvFLAGS(TOPs) & (SVs_PADTMP|SVs_TEMP))
-		*MARK = TOPs;
-	    else
-		*MARK = sv_mortalcopy(TOPs);
-	} else {
-	    MEXTEND(mark,0);
-	    *MARK = &PL_sv_undef;
-	}
-	SP = MARK;
-    }
-    else if (gimme == G_ARRAY) {
-	/* in case LEAVE wipes old return values */
-	register SV **mark;
-	for (mark = newsp + 1; mark <= SP; mark++) {
-	    if (!(SvFLAGS(*mark) & (SVs_PADTMP|SVs_TEMP))) {
-		*mark = sv_mortalcopy(*mark);
-		TAINT_NOT;	/* Each item is independent */
-	    }
-	}
-    }
-    PL_curpm = newpm;	/* Don't pop $1 et al till now */
-
-    LEAVE_with_name("block");
-
-    RETURN;
-}
-
 PP(pp_iter)
 {
     dVAR; dSP;
-    register PERL_CONTEXT *cx;
-    SV *sv, *oldsv;
+    PERL_CONTEXT *cx;
+    SV *oldsv;
     SV **itersvp;
-    AV *av = NULL; /* used for LOOP_FOR on arrays and the stack */
-    bool av_is_stack = FALSE;
 
     EXTEND(SP, 1);
     cx = &cxstack[cxstack_ix];
-    if (!CxTYPE_is_LOOP(cx))
-	DIE(aTHX_ "panic: pp_iter");
+    itersvp = CxITERVAR(cx);
 
-    itersvp = CxITERVAR(cx);
-    if (CxTYPE(cx) == CXt_LOOP_LAZYSV) {
-	    /* string increment */
-	    SV* cur = cx->blk_loop.state_u.lazysv.cur;
-	    SV *end = cx->blk_loop.state_u.lazysv.end;
-	    /* If the maximum is !SvOK(), pp_enteriter substitutes PL_sv_no.
-	       It has SvPVX of "" and SvCUR of 0, which is what we want.  */
-	    STRLEN maxlen = 0;
-	    const char *max = SvPV_const(end, maxlen);
-	    if (!SvNIOK(cur) && SvCUR(cur) <= maxlen) {
-		if (SvREFCNT(*itersvp) == 1 && !SvMAGICAL(*itersvp)) {
-		    /* safe to reuse old SV */
-		    sv_setsv(*itersvp, cur);
-		}
-		else
-		{
-		    /* we need a fresh SV every time so that loop body sees a
-		     * completely new SV for closures/references to work as
-		     * they used to */
-		    oldsv = *itersvp;
-		    *itersvp = newSVsv(cur);
-		    SvREFCNT_dec(oldsv);
-		}
-		if (strEQ(SvPVX_const(cur), max))
-		    sv_setiv(cur, 0); /* terminate next time */
-		else
-		    sv_inc(cur);
-		RETPUSHYES;
-	    }
-	    RETPUSHNO;
+    switch (CxTYPE(cx)) {
+
+    case CXt_LOOP_LAZYSV: /* string increment */
+    {
+        SV* cur = cx->blk_loop.state_u.lazysv.cur;
+        SV *end = cx->blk_loop.state_u.lazysv.end;
+        /* If the maximum is !SvOK(), pp_enteriter substitutes PL_sv_no.
+           It has SvPVX of "" and SvCUR of 0, which is what we want.  */
+        STRLEN maxlen = 0;
+        const char *max = SvPV_const(end, maxlen);
+        if (SvNIOK(cur) || SvCUR(cur) > maxlen)
+            RETPUSHNO;
+
+        oldsv = *itersvp;
+        if (SvREFCNT(oldsv) == 1 && !SvMAGICAL(oldsv)) {
+            /* safe to reuse old SV */
+            sv_setsv(oldsv, cur);
+        }
+        else
+        {
+            /* we need a fresh SV every time so that loop body sees a
+             * completely new SV for closures/references to work as
+             * they used to */
+            *itersvp = newSVsv(cur);
+            SvREFCNT_dec_NN(oldsv);
+        }
+        if (strEQ(SvPVX_const(cur), max))
+            sv_setiv(cur, 0); /* terminate next time */
+        else
+            sv_inc(cur);
+        break;
     }
-    else if (CxTYPE(cx) == CXt_LOOP_LAZYIV) {
-	/* integer increment */
-	if (cx->blk_loop.state_u.lazyiv.cur > cx->blk_loop.state_u.lazyiv.end)
+
+    case CXt_LOOP_LAZYIV: /* integer increment */
+    {
+        IV cur = cx->blk_loop.state_u.lazyiv.cur;
+	if (cur > cx->blk_loop.state_u.lazyiv.end)
 	    RETPUSHNO;
 
+        oldsv = *itersvp;
 	/* don't risk potential race */
-	if (SvREFCNT(*itersvp) == 1 && !SvMAGICAL(*itersvp)) {
+	if (SvREFCNT(oldsv) == 1 && !SvMAGICAL(oldsv)) {
 	    /* safe to reuse old SV */
-	    sv_setiv(*itersvp, cx->blk_loop.state_u.lazyiv.cur++);
+	    sv_setiv(oldsv, cur);
 	}
 	else
 	{
@@ -1991,81 +1997,79 @@
 	    /* we need a fresh SV every time so that loop body sees a
 	     * completely new SV for closures/references to work as they
 	     * used to */
-	    oldsv = *itersvp;
-	    *itersvp = newSViv(cx->blk_loop.state_u.lazyiv.cur++);
-	    SvREFCNT_dec(oldsv);
+	    *itersvp = newSViv(cur);
+	    SvREFCNT_dec_NN(oldsv);
 	}
 
-	/* Handle end of range at IV_MAX */
-	if ((cx->blk_loop.state_u.lazyiv.cur == IV_MIN) &&
-	    (cx->blk_loop.state_u.lazyiv.end == IV_MAX))
-	{
-	    cx->blk_loop.state_u.lazyiv.cur++;
-	    cx->blk_loop.state_u.lazyiv.end++;
-	}
-
-	RETPUSHYES;
+	if (cur == IV_MAX) {
+	    /* Handle end of range at IV_MAX */
+	    cx->blk_loop.state_u.lazyiv.end = IV_MIN;
+	} else
+	    ++cx->blk_loop.state_u.lazyiv.cur;
+        break;
     }
 
-    /* iterate array */
-    assert(CxTYPE(cx) == CXt_LOOP_FOR);
-    av = cx->blk_loop.state_u.ary.ary;
-    if (!av) {
-	av_is_stack = TRUE;
-	av = PL_curstack;
-    }
-    if (PL_op->op_private & OPpITER_REVERSED) {
-	if (cx->blk_loop.state_u.ary.ix <= (av_is_stack
-				    ? cx->blk_loop.resetsp + 1 : 0))
-	    RETPUSHNO;
+    case CXt_LOOP_FOR: /* iterate array */
+    {
 
-	if (SvMAGICAL(av) || AvREIFY(av)) {
-	    SV * const * const svp = av_fetch(av, --cx->blk_loop.state_u.ary.ix, FALSE);
-	    sv = svp ? *svp : NULL;
-	}
-	else {
-	    sv = AvARRAY(av)[--cx->blk_loop.state_u.ary.ix];
-	}
-    }
-    else {
-	if (cx->blk_loop.state_u.ary.ix >= (av_is_stack ? cx->blk_oldsp :
-				    AvFILL(av)))
-	    RETPUSHNO;
+        AV *av = cx->blk_loop.state_u.ary.ary;
+        SV *sv;
+        bool av_is_stack = FALSE;
+        IV ix;
 
-	if (SvMAGICAL(av) || AvREIFY(av)) {
-	    SV * const * const svp = av_fetch(av, ++cx->blk_loop.state_u.ary.ix, FALSE);
-	    sv = svp ? *svp : NULL;
-	}
-	else {
-	    sv = AvARRAY(av)[++cx->blk_loop.state_u.ary.ix];
-	}
-    }
+        if (!av) {
+            av_is_stack = TRUE;
+            av = PL_curstack;
+        }
+        if (PL_op->op_private & OPpITER_REVERSED) {
+            ix = --cx->blk_loop.state_u.ary.ix;
+            if (ix <= (av_is_stack ? cx->blk_loop.resetsp : -1))
+                RETPUSHNO;
+        }
+        else {
+            ix = ++cx->blk_loop.state_u.ary.ix;
+            if (ix > (av_is_stack ? cx->blk_oldsp : AvFILL(av)))
+                RETPUSHNO;
+        }
 
-    if (sv && SvIS_FREED(sv)) {
-	*itersvp = NULL;
-	Perl_croak(aTHX_ "Use of freed value in iteration");
+        if (SvMAGICAL(av) || AvREIFY(av)) {
+            SV * const * const svp = av_fetch(av, ix, FALSE);
+            sv = svp ? *svp : NULL;
+        }
+        else {
+            sv = AvARRAY(av)[ix];
+        }
+
+        if (sv) {
+            if (SvIS_FREED(sv)) {
+                *itersvp = NULL;
+                Perl_croak(aTHX_ "Use of freed value in iteration");
+            }
+            SvTEMP_off(sv);
+            SvREFCNT_inc_simple_void_NN(sv);
+        }
+        else
+            sv = &PL_sv_undef;
+
+        if (!av_is_stack && sv == &PL_sv_undef) {
+            SV *lv = newSV_type(SVt_PVLV);
+            LvTYPE(lv) = 'y';
+            sv_magic(lv, NULL, PERL_MAGIC_defelem, NULL, 0);
+            LvTARG(lv) = SvREFCNT_inc_simple(av);
+            LvTARGOFF(lv) = ix;
+            LvTARGLEN(lv) = (STRLEN)UV_MAX;
+            sv = lv;
+        }
+
+        oldsv = *itersvp;
+        *itersvp = sv;
+        SvREFCNT_dec(oldsv);
+        break;
     }
 
-    if (sv) {
-	SvTEMP_off(sv);
-	SvREFCNT_inc_simple_void_NN(sv);
+    default:
+	DIE(aTHX_ "panic: pp_iter, type=%u", CxTYPE(cx));
     }
-    else
-	sv = &PL_sv_undef;
-    if (!av_is_stack && sv == &PL_sv_undef) {
-	SV *lv = newSV_type(SVt_PVLV);
-	LvTYPE(lv) = 'y';
-	sv_magic(lv, NULL, PERL_MAGIC_defelem, NULL, 0);
-	LvTARG(lv) = SvREFCNT_inc_simple(av);
-	LvTARGOFF(lv) = cx->blk_loop.state_u.ary.ix;
-	LvTARGLEN(lv) = (STRLEN)UV_MAX;
-	sv = lv;
-    }
-
-    oldsv = *itersvp;
-    *itersvp = sv;
-    SvREFCNT_dec(oldsv);
-
     RETPUSHYES;
 }
 
@@ -2072,21 +2076,25 @@
 /*
 A description of how taint works in pattern matching and substitution.
 
-While the pattern is being assembled/concatenated and them compiled,
-PL_tainted will get set if any component of the pattern is tainted, e.g.
-/.*$tainted/.  At the end of pattern compilation, the RXf_TAINTED flag
-is set on the pattern if PL_tainted is set.
+This is all conditional on NO_TAINT_SUPPORT not being defined. Under
+NO_TAINT_SUPPORT, taint-related operations should become no-ops.
 
+While the pattern is being assembled/concatenated and then compiled,
+PL_tainted will get set (via TAINT_set) if any component of the pattern
+is tainted, e.g. /.*$tainted/.  At the end of pattern compilation,
+the RXf_TAINTED flag is set on the pattern if PL_tainted is set (via
+TAINT_get).
+
 When the pattern is copied, e.g. $r = qr/..../, the SV holding the ref to
 the pattern is marked as tainted. This means that subsequent usage, such
-as /x$r/, will set PL_tainted, and thus RXf_TAINTED, on the new pattern too.
+as /x$r/, will set PL_tainted using TAINT_set, and thus RXf_TAINTED,
+on the new pattern too.
 
-During execution of a pattern, locale-variant ops such as ALNUML set the
-local flag RF_tainted. At the end of execution, the engine sets the
-RXf_TAINTED_SEEN on the pattern if RF_tainted got set, or clears it
-otherwise.
+At the start of execution of a pattern, the RXf_TAINTED_SEEN flag on the
+regex is cleared; during execution, locale-variant ops such as POSIXL may
+set RXf_TAINTED_SEEN.
 
-In addition, RXf_TAINTED_SEEN is used post-execution by the get magic code
+RXf_TAINTED_SEEN is used post-execution by the get magic code
 of $1 et al to indicate whether the returned value should be tainted.
 It is the responsibility of the caller of the pattern (i.e. pp_match,
 pp_subst etc) to set this flag for any other circumstances where $1 needs
@@ -2139,34 +2147,34 @@
 PP(pp_subst)
 {
     dVAR; dSP; dTARG;
-    register PMOP *pm = cPMOP;
+    PMOP *pm = cPMOP;
     PMOP *rpm = pm;
-    register char *s;
+    char *s;
     char *strend;
-    register char *m;
+    char *m;
     const char *c;
-    register char *d;
+    char *d;
     STRLEN clen;
     I32 iters = 0;
     I32 maxiters;
-    register I32 i;
+    I32 i;
     bool once;
     U8 rxtainted = 0; /* holds various SUBST_TAINT_* flag bits.
 			See "how taint works" above */
     char *orig;
     U8 r_flags;
-    register REGEXP *rx = PM_GETRE(pm);
+    REGEXP *rx = PM_GETRE(pm);
     STRLEN len;
     int force_on_match = 0;
     const I32 oldsave = PL_savestack_ix;
     STRLEN slen;
-    bool doutf8 = FALSE;
-#ifdef PERL_OLD_COPY_ON_WRITE
+    bool doutf8 = FALSE; /* whether replacement is in utf8 */
+#ifdef PERL_ANY_COW
     bool is_cow;
 #endif
     SV *nsv = NULL;
     /* known replacement string? */
-    register SV *dstr = (pm->op_pmflags & PMf_CONST) ? POPs : NULL;
+    SV *dstr = (pm->op_pmflags & PMf_CONST) ? POPs : NULL;
 
     PERL_ASYNC_CHECK();
 
@@ -2179,12 +2187,8 @@
 	EXTEND(SP,1);
     }
 
-    /* In non-destructive replacement mode, duplicate target scalar so it
-     * remains unchanged. */
-    if (rpm->op_pmflags & PMf_NONDESTRUCT)
-	TARG = sv_2mortal(newSVsv(TARG));
-
-#ifdef PERL_OLD_COPY_ON_WRITE
+    SvGETMAGIC(TARG); /* must come before cow check */
+#ifdef PERL_ANY_COW
     /* Awooga. Awooga. "bool" types that are actually char are dangerous,
        because they make integers such as 256 "false".  */
     is_cow = SvIsCOW(TARG) ? TRUE : FALSE;
@@ -2192,20 +2196,19 @@
     if (SvIsCOW(TARG))
 	sv_force_normal_flags(TARG,0);
 #endif
-    if (
-#ifdef PERL_OLD_COPY_ON_WRITE
-	!is_cow &&
+    if (!(rpm->op_pmflags & PMf_NONDESTRUCT)
+#ifdef PERL_ANY_COW
+	&& !is_cow
 #endif
-	(SvREADONLY(TARG)
-	 || ( ((SvTYPE(TARG) == SVt_PVGV && isGV_with_GP(TARG))
-	       || SvTYPE(TARG) > SVt_PVLV)
-	     && !(SvTYPE(TARG) == SVt_PVGV && SvFAKE(TARG)))))
-	Perl_croak_no_modify(aTHX);
+	&& (SvREADONLY(TARG)
+	    || ( ((SvTYPE(TARG) == SVt_PVGV && isGV_with_GP(TARG))
+		  || SvTYPE(TARG) > SVt_PVLV)
+		 && !(SvTYPE(TARG) == SVt_PVGV && SvFAKE(TARG)))))
+	Perl_croak_no_modify();
     PUTBACK;
 
-  setup_match:
-    s = SvPV_mutable(TARG, len);
-    if (!SvPOKp(TARG) || SvTYPE(TARG) == SVt_PVGV)
+    s = SvPV_nomg(TARG, len);
+    if (!SvPOKp(TARG) || SvTYPE(TARG) == SVt_PVGV || SvVOK(TARG))
 	force_on_match = 1;
 
     /* only replace once? */
@@ -2212,10 +2215,10 @@
     once = !(rpm->op_pmflags & PMf_GLOBAL);
 
     /* See "how taint works" above */
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	rxtainted  = (
 	    (SvTAINTED(TARG) ? SUBST_TAINT_STR : 0)
-	  | ((RX_EXTFLAGS(rx) & RXf_TAINTED) ? SUBST_TAINT_PAT : 0)
+	  | (RX_ISTAINTED(rx) ? SUBST_TAINT_PAT : 0)
 	  | ((pm->op_pmflags & PMf_RETAINT) ? SUBST_TAINT_RETAINT : 0)
 	  | ((once && !(rpm->op_pmflags & PMf_NONDESTRUCT))
 		? SUBST_TAINT_BOOLRET : 0));
@@ -2226,7 +2229,7 @@
 
   force_it:
     if (!pm || !s)
-	DIE(aTHX_ "panic: pp_subst");
+	DIE(aTHX_ "panic: pp_subst, pm=%p, s=%p", pm, s);
 
     strend = s + len;
     slen = RX_MATCH_UTF8(rx) ? utf8_length((U8*)s, (U8*)strend) : len;
@@ -2234,16 +2237,23 @@
 				   position, once with zero-length,
 				   second time with non-zero. */
 
-    if (!RX_PRELEN(rx) && PL_curpm) {
+    if (!RX_PRELEN(rx) && PL_curpm
+     && !ReANY(rx)->mother_re) {
 	pm = PL_curpm;
 	rx = PM_GETRE(pm);
     }
-    r_flags = (RX_NPARENS(rx) || SvTEMP(TARG) || PL_sawampersand
-	    || (RX_EXTFLAGS(rx) & (RXf_EVAL_SEEN|RXf_PMf_KEEPCOPY)) )
-	       ? REXEC_COPY_STR : 0;
-    if (SvSCREAM(TARG))
-	r_flags |= REXEC_SCREAM;
 
+#ifdef PERL_SAWAMPERSAND
+    r_flags = (    RX_NPARENS(rx)
+                || PL_sawampersand
+                || (RX_EXTFLAGS(rx) & (RXf_EVAL_SEEN|RXf_PMf_KEEPCOPY))
+              )
+          ? REXEC_COPY_STR
+          : 0;
+#else
+    r_flags = REXEC_COPY_STR;
+#endif
+
     orig = m = s;
     if (RX_EXTFLAGS(rx) & RXf_USE_INTUIT) {
 	PL_bostr = orig;
@@ -2254,10 +2264,7 @@
 	/* How to do it in subst? */
 /*	if ( (RX_EXTFLAGS(rx) & RXf_CHECK_ALL)
 	     && !PL_sawampersand
-	     && !(RX_EXTFLAGS(rx) & RXf_KEEPCOPY)
-	     && ((RX_EXTFLAGS(rx) & RXf_NOSCAN)
-		 || !((RX_EXTFLAGS(rx) & RXf_INTUIT_TAIL)
-		      && (r_flags & REXEC_SCREAM))))
+	     && !(RX_EXTFLAGS(rx) & RXf_KEEPCOPY))
 	    goto yup;
 */
     }
@@ -2272,27 +2279,10 @@
 	RETURN;
     }
 
+    PL_curpm = pm;
+
     /* known replacement string? */
     if (dstr) {
-	if (SvTAINTED(dstr))
-	    rxtainted |= SUBST_TAINT_REPL;
-
-	/* Upgrade the source if the replacement is utf8 but the source is not,
-	 * but only if it matched; see
-	 * http://www.nntp.perl.org/group/perl.perl5.porters/2010/04/msg158809.html
-	 */
-	if (DO_UTF8(dstr) && ! DO_UTF8(TARG)) {
-	    char * const orig_pvx =  SvPVX(TARG);
-	    const STRLEN new_len = sv_utf8_upgrade_nomg(TARG);
-
-	    /* If the lengths are the same, the pattern contains only
-	     * invariants, can keep going; otherwise, various internal markers
-	     * could be off, so redo */
-	    if (new_len != len || orig_pvx != SvPVX(TARG)) {
-		goto setup_match;
-	    }
-	}
-
 	/* replacement needing upgrading? */
 	if (DO_UTF8(TARG) && !doutf8) {
 	     nsv = sv_newmortal();
@@ -2308,6 +2298,9 @@
 	    c = SvPV_const(dstr, clen);
 	    doutf8 = DO_UTF8(dstr);
 	}
+
+	if (SvTAINTED(dstr))
+	    rxtainted |= SUBST_TAINT_REPL;
     }
     else {
 	c = NULL;
@@ -2316,28 +2309,29 @@
     
     /* can do inplace substitution? */
     if (c
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
 	&& !is_cow
 #endif
-	&& (I32)clen <= RX_MINLENRET(rx) && (once || !(r_flags & REXEC_COPY_STR))
-	&& !(RX_EXTFLAGS(rx) & RXf_LOOKBEHIND_SEEN)
-	&& (!doutf8 || SvUTF8(TARG)))
+        && (I32)clen <= RX_MINLENRET(rx)
+        && (once || !(r_flags & REXEC_COPY_STR))
+        && !(RX_EXTFLAGS(rx) & RXf_NO_INPLACE_SUBST)
+	&& (!doutf8 || SvUTF8(TARG))
+	&& !(rpm->op_pmflags & PMf_NONDESTRUCT))
     {
 
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
 	if (SvIsCOW(TARG)) {
-	    assert (!force_on_match);
+	  if (!force_on_match)
 	    goto have_a_cow;
+	  assert(SvVOK(TARG));
 	}
 #endif
 	if (force_on_match) {
 	    force_on_match = 0;
-	    s = SvPV_force(TARG, len);
+	    s = SvPV_force_nomg(TARG, len);
 	    goto force_it;
 	}
 	d = s;
-	PL_curpm = pm;
-	SvSCREAM_off(TARG);	/* disable possible screamer */
 	if (once) {
 	    if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
 		rxtainted |= SUBST_TAINT_PAT;
@@ -2374,7 +2368,7 @@
 		sv_chop(TARG, d);
 	    }
 	    SPAGAIN;
-	    PUSHs(rpm->op_pmflags & PMf_NONDESTRUCT ? TARG : &PL_sv_yes);
+	    PUSHs(&PL_sv_yes);
 	}
 	else {
 	    do {
@@ -2403,28 +2397,34 @@
 		Move(s, d, i+1, char);		/* include the NUL */
 	    }
 	    SPAGAIN;
-	    if (rpm->op_pmflags & PMf_NONDESTRUCT)
-		PUSHs(TARG);
-	    else
-		mPUSHi((I32)iters);
+	    mPUSHi((I32)iters);
 	}
     }
     else {
+	bool first;
+	SV *repl;
 	if (force_on_match) {
 	    force_on_match = 0;
-	    s = SvPV_force(TARG, len);
+	    if (rpm->op_pmflags & PMf_NONDESTRUCT) {
+		/* I feel that it should be possible to avoid this mortal copy
+		   given that the code below copies into a new destination.
+		   However, I suspect it isn't worth the complexity of
+		   unravelling the C<goto force_it> for the small number of
+		   cases where it would be viable to drop into the copy code. */
+		TARG = sv_2mortal(newSVsv(TARG));
+	    }
+	    s = SvPV_force_nomg(TARG, len);
 	    goto force_it;
 	}
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
       have_a_cow:
 #endif
 	if (RX_MATCH_TAINTED(rx)) /* run time pattern taint, eg locale */
 	    rxtainted |= SUBST_TAINT_PAT;
-	dstr = newSVpvn_utf8(m, s-m, DO_UTF8(TARG));
-	SAVEFREESV(dstr);
-	PL_curpm = pm;
+	repl = dstr;
+	dstr = newSVpvn_flags(m, s-m, SVs_TEMP | (DO_UTF8(TARG) ? SVf_UTF8 : 0));
 	if (!c) {
-	    register PERL_CONTEXT *cx;
+	    PERL_CONTEXT *cx;
 	    SPAGAIN;
 	    /* note that a whole bunch of local vars are saved here for
 	     * use by pp_substcont: here's a list of them in case you're
@@ -2435,6 +2435,7 @@
 	    RETURNOP(cPMOP->op_pmreplrootu.op_pmreplroot);
 	}
 	r_flags |= REXEC_IGNOREPOS | REXEC_NOT_FIRST;
+	first = TRUE;
 	do {
 	    if (iters++ > maxiters)
 		DIE(aTHX_ "Substitution loop");
@@ -2443,58 +2444,74 @@
 	    if (RX_MATCH_COPIED(rx) && RX_SUBBEG(rx) != orig) {
 		m = s;
 		s = orig;
+                assert(RX_SUBOFFSET(rx) == 0);
 		orig = RX_SUBBEG(rx);
 		s = orig + (m - s);
 		strend = s + (strend - m);
 	    }
 	    m = RX_OFFS(rx)[0].start + orig;
-	    if (doutf8 && !SvUTF8(dstr))
-		sv_catpvn_utf8_upgrade(dstr, s, m - s, nsv);
-            else
-		sv_catpvn(dstr, s, m-s);
+	    sv_catpvn_nomg_maybeutf8(dstr, s, m - s, DO_UTF8(TARG));
 	    s = RX_OFFS(rx)[0].end + orig;
-	    if (clen)
-		sv_catpvn(dstr, c, clen);
+	    if (first) {
+		/* replacement already stringified */
+	      if (clen)
+		sv_catpvn_nomg_maybeutf8(dstr, c, clen, doutf8);
+	      first = FALSE;
+	    }
+	    else {
+		if (PL_encoding) {
+		    if (!nsv) nsv = sv_newmortal();
+		    sv_copypv(nsv, repl);
+		    if (!DO_UTF8(nsv)) sv_recode_to_utf8(nsv, PL_encoding);
+		    sv_catsv(dstr, nsv);
+		}
+		else sv_catsv(dstr, repl);
+		if (SvTAINTED(repl))
+		    rxtainted |= SUBST_TAINT_REPL;
+	    }
 	    if (once)
 		break;
 	} while (CALLREGEXEC(rx, s, strend, orig, s == m,
 			     TARG, NULL, r_flags));
-	if (doutf8 && !DO_UTF8(TARG))
-	    sv_catpvn_utf8_upgrade(dstr, s, strend - s, nsv);
-	else
-	    sv_catpvn(dstr, s, strend - s);
+	sv_catpvn_nomg_maybeutf8(dstr, s, strend - s, DO_UTF8(TARG));
 
-#ifdef PERL_OLD_COPY_ON_WRITE
-	/* The match may make the string COW. If so, brilliant, because that's
-	   just saved us one malloc, copy and free - the regexp has donated
-	   the old buffer, and we malloc an entirely new one, rather than the
-	   regexp malloc()ing a buffer and copying our original, only for
-	   us to throw it away here during the substitution.  */
-	if (SvIsCOW(TARG)) {
-	    sv_force_normal_flags(TARG, SV_COW_DROP_PV);
-	} else
+	if (rpm->op_pmflags & PMf_NONDESTRUCT) {
+	    /* From here on down we're using the copy, and leaving the original
+	       untouched.  */
+	    TARG = dstr;
+	    SPAGAIN;
+	    PUSHs(dstr);
+	} else {
+#ifdef PERL_ANY_COW
+	    /* The match may make the string COW. If so, brilliant, because
+	       that's just saved us one malloc, copy and free - the regexp has
+	       donated the old buffer, and we malloc an entirely new one, rather
+	       than the regexp malloc()ing a buffer and copying our original,
+	       only for us to throw it away here during the substitution.  */
+	    if (SvIsCOW(TARG)) {
+		sv_force_normal_flags(TARG, SV_COW_DROP_PV);
+	    } else
 #endif
-	{
-	    SvPV_free(TARG);
-	}
-	SvPV_set(TARG, SvPVX(dstr));
-	SvCUR_set(TARG, SvCUR(dstr));
-	SvLEN_set(TARG, SvLEN(dstr));
-	doutf8 |= DO_UTF8(dstr);
-	SvPV_set(dstr, NULL);
+	    {
+		SvPV_free(TARG);
+	    }
+	    SvPV_set(TARG, SvPVX(dstr));
+	    SvCUR_set(TARG, SvCUR(dstr));
+	    SvLEN_set(TARG, SvLEN(dstr));
+	    SvFLAGS(TARG) |= SvUTF8(dstr);
+	    SvPV_set(dstr, NULL);
 
-	SPAGAIN;
-	if (rpm->op_pmflags & PMf_NONDESTRUCT)
-	    PUSHs(TARG);
-	else
+	    SPAGAIN;
 	    mPUSHi((I32)iters);
+	}
     }
-    (void)SvPOK_only_UTF8(TARG);
-    if (doutf8)
-	SvUTF8_on(TARG);
 
+    if (!(rpm->op_pmflags & PMf_NONDESTRUCT)) {
+	(void)SvPOK_only_UTF8(TARG);
+    }
+
     /* See "how taint works" above */
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	if ((rxtainted & SUBST_TAINT_PAT) ||
 	    ((rxtainted & (SUBST_TAINT_STR|SUBST_TAINT_RETAINT)) ==
 				(SUBST_TAINT_STR|SUBST_TAINT_RETAINT))
@@ -2509,8 +2526,9 @@
 	    SvTAINTED_off(TOPs);  /* may have got tainted earlier */
 
 	/* needed for mg_set below */
-	PL_tainted =
-	  cBOOL(rxtainted & (SUBST_TAINT_STR|SUBST_TAINT_PAT|SUBST_TAINT_REPL));
+	TAINT_set(
+	  cBOOL(rxtainted & (SUBST_TAINT_STR|SUBST_TAINT_PAT|SUBST_TAINT_REPL))
+        );
 	SvTAINT(TARG);
     }
     SvSETMAGIC(TARG); /* PL_tainted must be correctly set for this mg_set */
@@ -2578,7 +2596,7 @@
     SV **newsp;
     PMOP *newpm;
     I32 gimme;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     SV *sv;
 
     if (CxMULTICALL(&cxstack[cxstack_ix]))
@@ -2592,7 +2610,8 @@
 	MARK = newsp + 1;
 	if (MARK <= SP) {
 	    if (cx->blk_sub.cv && CvDEPTH(cx->blk_sub.cv) > 1) {
-		if (SvTEMP(TOPs)) {
+		if (SvTEMP(TOPs) && SvREFCNT(TOPs) == 1
+		     && !SvMAGICAL(TOPs)) {
 		    *MARK = SvREFCNT_inc(TOPs);
 		    FREETMPS;
 		    sv_2mortal(*MARK);
@@ -2601,11 +2620,15 @@
 		    sv = SvREFCNT_inc(TOPs);	/* FREETMPS could clobber it */
 		    FREETMPS;
 		    *MARK = sv_mortalcopy(sv);
-		    SvREFCNT_dec(sv);
+		    SvREFCNT_dec_NN(sv);
 		}
 	    }
+	    else if (SvTEMP(TOPs) && SvREFCNT(TOPs) == 1
+		     && !SvMAGICAL(TOPs)) {
+		*MARK = TOPs;
+	    }
 	    else
-		*MARK = SvTEMP(TOPs) ? TOPs : sv_mortalcopy(TOPs);
+		*MARK = sv_mortalcopy(TOPs);
 	}
 	else {
 	    MEXTEND(MARK, 0);
@@ -2615,7 +2638,8 @@
     }
     else if (gimme == G_ARRAY) {
 	for (MARK = newsp + 1; MARK <= SP; MARK++) {
-	    if (!SvTEMP(*MARK)) {
+	    if (!SvTEMP(*MARK) || SvREFCNT(*MARK) != 1
+		 || SvMAGICAL(*MARK)) {
 		*MARK = sv_mortalcopy(*MARK);
 		TAINT_NOT;	/* Each item is independent */
 	    }
@@ -2632,202 +2656,12 @@
     return cx->blk_sub.retop;
 }
 
-/* This duplicates the above code because the above code must not
- * get any slower by more conditions */
-PP(pp_leavesublv)
-{
-    dVAR; dSP;
-    SV **mark;
-    SV **newsp;
-    PMOP *newpm;
-    I32 gimme;
-    register PERL_CONTEXT *cx;
-    SV *sv;
-
-    if (CxMULTICALL(&cxstack[cxstack_ix]))
-	return 0;
-
-    POPBLOCK(cx,newpm);
-    cxstack_ix++; /* temporarily protect top context */
-
-    TAINT_NOT;
-
-    if (CxLVAL(cx) & OPpENTERSUB_INARGS) {
-	/* We are an argument to a function or grep().
-	 * This kind of lvalueness was legal before lvalue
-	 * subroutines too, so be backward compatible:
-	 * cannot report errors.  */
-
-	/* Scalar context *is* possible, on the LHS of -> only,
-	 * as in f()->meth().  But this is not an lvalue. */
-	if (gimme == G_SCALAR)
-	    goto temporise;
-	if (gimme == G_ARRAY) {
-	    mark = newsp + 1;
-	    /* We want an array here, but padav will have left us an arrayref for an lvalue,
-	     * so we need to expand it */
-	    if(SvTYPE(*mark) == SVt_PVAV) {
-		AV *const av = MUTABLE_AV(*mark);
-		const I32 maxarg = AvFILL(av) + 1;
-		(void)POPs; /* get rid of the array ref */
-		EXTEND(SP, maxarg);
-		if (SvRMAGICAL(av)) {
-		    U32 i;
-		    for (i=0; i < (U32)maxarg; i++) {
-			SV ** const svp = av_fetch(av, i, FALSE);
-			SP[i+1] = svp
-			    ? SvGMAGICAL(*svp) ? (mg_get(*svp), *svp) : *svp
-			    : &PL_sv_undef;
-		    }
-		}
-		else {
-		    Copy(AvARRAY(av), SP+1, maxarg, SV*);
-		}
-		SP += maxarg;
-		PUTBACK;
-	    }
-	    if (!CvLVALUE(cx->blk_sub.cv))
-		goto temporise_array;
-	    EXTEND_MORTAL(SP - newsp);
-	    for (mark = newsp + 1; mark <= SP; mark++) {
-		if (SvTEMP(*mark))
-		    NOOP;
-		else if (SvFLAGS(*mark) & (SVs_PADTMP | SVf_READONLY))
-		    *mark = sv_mortalcopy(*mark);
-		else {
-		    /* Can be a localized value subject to deletion. */
-		    PL_tmps_stack[++PL_tmps_ix] = *mark;
-		    SvREFCNT_inc_void(*mark);
-		}
-	    }
-	}
-    }
-    else if (CxLVAL(cx)) {     /* Leave it as it is if we can. */
-	/* Here we go for robustness, not for speed, so we change all
-	 * the refcounts so the caller gets a live guy. Cannot set
-	 * TEMP, so sv_2mortal is out of question. */
-	if (!CvLVALUE(cx->blk_sub.cv)) {
-	    LEAVE;
-	    cxstack_ix--;
-	    POPSUB(cx,sv);
-	    PL_curpm = newpm;
-	    LEAVESUB(sv);
-	    DIE(aTHX_ "Can't modify non-lvalue subroutine call");
-	}
-	if (gimme == G_SCALAR) {
-	    MARK = newsp + 1;
-	    EXTEND_MORTAL(1);
-	    if (MARK == SP) {
-		/* Temporaries are bad unless they happen to have set magic
-		 * attached, such as the elements of a tied hash or array */
-		if ((SvFLAGS(TOPs) & (SVs_TEMP | SVs_PADTMP) ||
-		     (SvFLAGS(TOPs) & (SVf_READONLY | SVf_FAKE))
-		       == SVf_READONLY
-		    ) &&
-		    !SvSMAGICAL(TOPs)) {
-		    LEAVE;
-		    cxstack_ix--;
-		    POPSUB(cx,sv);
-		    PL_curpm = newpm;
-		    LEAVESUB(sv);
-		    DIE(aTHX_ "Can't return %s from lvalue subroutine",
-			SvREADONLY(TOPs) ? (TOPs == &PL_sv_undef) ? "undef"
-			: "a readonly value" : "a temporary");
-		}
-		else {                  /* Can be a localized value
-					 * subject to deletion. */
-		    PL_tmps_stack[++PL_tmps_ix] = *mark;
-		    SvREFCNT_inc_void(*mark);
-		}
-	    }
-	    else {			/* Should not happen? */
-		LEAVE;
-		cxstack_ix--;
-		POPSUB(cx,sv);
-		PL_curpm = newpm;
-		LEAVESUB(sv);
-		DIE(aTHX_ "%s returned from lvalue subroutine in scalar context",
-		    (MARK > SP ? "Empty array" : "Array"));
-	    }
-	    SP = MARK;
-	}
-	else if (gimme == G_ARRAY) {
-	    EXTEND_MORTAL(SP - newsp);
-	    for (mark = newsp + 1; mark <= SP; mark++) {
-		if (*mark != &PL_sv_undef
-		    && SvFLAGS(*mark) & (SVs_TEMP | SVs_PADTMP | SVf_READONLY)) {
-		    /* Might be flattened array after $#array =  */
-		    PUTBACK;
-		    LEAVE;
-		    cxstack_ix--;
-		    POPSUB(cx,sv);
-		    PL_curpm = newpm;
-		    LEAVESUB(sv);
-		    DIE(aTHX_ "Can't return a %s from lvalue subroutine",
-			SvREADONLY(TOPs) ? "readonly value" : "temporary");
-		}
-		else {
-		    /* Can be a localized value subject to deletion. */
-		    PL_tmps_stack[++PL_tmps_ix] = *mark;
-		    SvREFCNT_inc_void(*mark);
-		}
-	    }
-	}
-    }
-    else {
-	if (gimme == G_SCALAR) {
-	  temporise:
-	    MARK = newsp + 1;
-	    if (MARK <= SP) {
-		if (cx->blk_sub.cv && CvDEPTH(cx->blk_sub.cv) > 1) {
-		    if (SvTEMP(TOPs)) {
-			*MARK = SvREFCNT_inc(TOPs);
-			FREETMPS;
-			sv_2mortal(*MARK);
-		    }
-		    else {
-			sv = SvREFCNT_inc(TOPs); /* FREETMPS could clobber it */
-			FREETMPS;
-			*MARK = sv_mortalcopy(sv);
-			SvREFCNT_dec(sv);
-		    }
-		}
-		else
-		    *MARK = SvTEMP(TOPs) ? TOPs : sv_mortalcopy(TOPs);
-	    }
-	    else {
-		MEXTEND(MARK, 0);
-		*MARK = &PL_sv_undef;
-	    }
-	    SP = MARK;
-	}
-	else if (gimme == G_ARRAY) {
-	  temporise_array:
-	    for (MARK = newsp + 1; MARK <= SP; MARK++) {
-		if (!SvTEMP(*MARK)) {
-		    *MARK = sv_mortalcopy(*MARK);
-		    TAINT_NOT;  /* Each item is independent */
-		}
-	    }
-	}
-    }
-    PUTBACK;
-
-    LEAVE;
-    cxstack_ix--;
-    POPSUB(cx,sv);	/* Stack values are safe: release CV and @_ ... */
-    PL_curpm = newpm;	/* ... and pop $1 et al */
-
-    LEAVESUB(sv);
-    return cx->blk_sub.retop;
-}
-
 PP(pp_entersub)
 {
     dVAR; dSP; dPOPss;
     GV *gv;
-    register CV *cv;
-    register PERL_CONTEXT *cx;
+    CV *cv;
+    PERL_CONTEXT *cx;
     I32 gimme;
     const bool hasargs = (PL_op->op_flags & OPf_STACKED) != 0;
 
@@ -2836,8 +2670,6 @@
     switch (SvTYPE(sv)) {
 	/* This is overwhelming the most common case:  */
     case SVt_PVGV:
-	if (!isGV_with_GP(sv))
-	    DIE(aTHX_ "Not a CODE reference");
       we_have_a_glob:
 	if (!(cv = GvCVu((const GV *)sv))) {
 	    HV *stash;
@@ -2870,11 +2702,11 @@
 	else {
 	    const char *sym;
 	    STRLEN len;
+	    if (!SvOK(sv))
+		DIE(aTHX_ PL_no_usym, "a subroutine");
 	    sym = SvPV_nomg_const(sv, len);
-	    if (!sym)
-		DIE(aTHX_ PL_no_usym, "a subroutine");
 	    if (PL_op->op_private & HINT_STRICT_REFS)
-		DIE(aTHX_ "Can't use string (\"%.32s\"%s) as a subroutine ref while \"strict refs\" in use", sym, len>32 ? "..." : "");
+		DIE(aTHX_ "Can't use string (\"%" SVf32 "\"%s) as a subroutine ref while \"strict refs\" in use", sv, len>32 ? "..." : "");
 	    cv = get_cvn_flags(sym, len, GV_ADD|SvUTF8(sv));
 	    break;
 	}
@@ -2902,8 +2734,12 @@
 	SV* sub_name;
 
 	/* anonymous or undef'd function leaves us no recourse */
-	if (CvANON(cv) || !(gv = CvGV(cv)))
+	if (CvANON(cv) || !(gv = CvGV(cv))) {
+	    if (CvNAMED(cv))
+		DIE(aTHX_ "Undefined subroutine &%"HEKf" called",
+			   HEKfARG(CvNAME_HEK(cv)));
 	    DIE(aTHX_ "Undefined subroutine called");
+	}
 
 	/* autoloaded stub? */
 	if (cv != GvCV(gv)) {
@@ -2912,13 +2748,13 @@
 	/* should call AUTOLOAD now? */
 	else {
 try_autoload:
-	    if ((autogv = gv_autoload4(GvSTASH(gv), GvNAME(gv), GvNAMELEN(gv),
-				   FALSE)))
+	    if ((autogv = gv_autoload_pvn(GvSTASH(gv), GvNAME(gv), GvNAMELEN(gv),
+				   GvNAMEUTF8(gv) ? SVf_UTF8 : 0)))
 	    {
 		cv = GvCV(autogv);
 	    }
-	    /* sorry */
 	    else {
+	       sorry:
 		sub_name = sv_newmortal();
 		gv_efullname3(sub_name, gv, NULL);
 		DIE(aTHX_ "Undefined subroutine &%"SVf" called", SVfARG(sub_name));
@@ -2925,7 +2761,7 @@
 	    }
 	}
 	if (!cv)
-	    DIE(aTHX_ "Not a CODE reference");
+	    goto sorry;
 	goto retry;
     }
 
@@ -2950,17 +2786,12 @@
     if (!(CvISXSUB(cv))) {
 	/* This path taken at least 75% of the time   */
 	dMARK;
-	register I32 items = SP - MARK;
-	AV* const padlist = CvPADLIST(cv);
+	I32 items = SP - MARK;
+	PADLIST * const padlist = CvPADLIST(cv);
 	PUSHBLOCK(cx, CXt_SUB, MARK);
 	PUSHSUB(cx);
 	cx->blk_sub.retop = PL_op->op_next;
 	CvDEPTH(cv)++;
-	/* XXX This would be a natural place to set C<PL_compcv = cv> so
-	 * that eval'' ops within this sub know the correct lexical space.
-	 * Owing the speed considerations, we choose instead to search for
-	 * the cv using find_runcv() when calling doeval().
-	 */
 	if (CvDEPTH(cv) >= 2) {
 	    PERL_STACK_OVERFLOW_CHECK();
 	    pad_push(padlist, CvDEPTH(cv));
@@ -2982,19 +2813,14 @@
 	    cx->blk_sub.argarray = av;
 	    ++MARK;
 
-	    if (items > AvMAX(av) + 1) {
-		SV **ary = AvALLOC(av);
-		if (AvARRAY(av) != ary) {
-		    AvMAX(av) += AvARRAY(av) - AvALLOC(av);
-		    AvARRAY(av) = ary;
-		}
-		if (items > AvMAX(av) + 1) {
-		    AvMAX(av) = items - 1;
-		    Renew(ary,items,SV*);
-		    AvALLOC(av) = ary;
-		    AvARRAY(av) = ary;
-		}
-	    }
+	    if (items - 1 > AvMAX(av)) {
+                SV **ary = AvALLOC(av);
+                AvMAX(av) = items - 1;
+                Renew(ary, items, SV*);
+                AvALLOC(av) = ary;
+                AvARRAY(av) = ary;
+            }
+
 	    Copy(MARK,AvARRAY(av),items,SV*);
 	    AvFILLp(av) = items - 1;
 	
@@ -3004,6 +2830,9 @@
 		MARK++;
 	    }
 	}
+	if ((cx->blk_u16 & OPpENTERSUB_LVAL_MASK) == OPpLVAL_INTRO &&
+	    !CvLVALUE(cv))
+	    DIE(aTHX_ "Can't modify non-lvalue subroutine call");
 	/* warning must come *after* we fully set up the context
 	 * stuff so that __WARN__ handlers can safely dounwind()
 	 * if they want to
@@ -3018,6 +2847,12 @@
 
 	PUTBACK;
 
+	if (((PL_op->op_private
+	       & PUSHSUB_GET_LVALUE_MASK(Perl_is_lvalue_sub)
+             ) & OPpENTERSUB_LVAL_MASK) == OPpLVAL_INTRO &&
+	    !CvLVALUE(cv))
+	    DIE(aTHX_ "Can't modify non-lvalue subroutine call");
+
 	if (!hasargs) {
 	    /* Need to copy @_ to stack. Alternative may be to
 	     * switch stack to @_, and copy return values
@@ -3066,8 +2901,15 @@
     if (CvANON(cv))
 	Perl_warner(aTHX_ packWARN(WARN_RECURSION), "Deep recursion on anonymous subroutine");
     else {
-	SV* const tmpstr = sv_newmortal();
-	gv_efullname3(tmpstr, CvGV(cv), NULL);
+        HEK *const hek = CvNAME_HEK(cv);
+        SV *tmpstr;
+        if (hek) {
+            tmpstr = sv_2mortal(newSVhek(hek));
+        }
+        else {
+            tmpstr = sv_newmortal();
+            gv_efullname3(tmpstr, CvGV(cv), NULL);
+        }
 	Perl_warner(aTHX_ packWARN(WARN_RECURSION), "Deep recursion on subroutine \"%"SVf"\"",
 		    SVfARG(tmpstr));
     }
@@ -3090,8 +2932,6 @@
 	Perl_warner(aTHX_ packWARN(WARN_MISC),
 		    "Use of reference \"%"SVf"\" as array index",
 		    SVfARG(elemsv));
-    if (elem > 0)
-	elem -= CopARYBASE_get(PL_curcop);
     if (SvTYPE(av) != SVt_PVAV)
 	RETPUSHUNDEF;
 
@@ -3142,8 +2982,10 @@
 	    else
 		SAVEADELETE(av, elem);
 	}
-	else if (PL_op->op_private & OPpDEREF)
-	    vivify_ref(*svp, PL_op->op_private & OPpDEREF);
+	else if (PL_op->op_private & OPpDEREF) {
+	    PUSHs(vivify_ref(*svp, PL_op->op_private & OPpDEREF));
+	    RETURN;
+	}
     }
     sv = (svp ? *svp : &PL_sv_undef);
     if (!lval && SvRMAGICAL(av) && SvGMAGICAL(sv)) /* see note in pp_helem() */
@@ -3152,7 +2994,7 @@
     RETURN;
 }
 
-void
+SV*
 Perl_vivify_ref(pTHX_ SV *sv, U32 to_what)
 {
     PERL_ARGS_ASSERT_VIVIFY_REF;
@@ -3160,7 +3002,7 @@
     SvGETMAGIC(sv);
     if (!SvOK(sv)) {
 	if (SvREADONLY(sv))
-	    Perl_croak_no_modify(aTHX);
+	    Perl_croak_no_modify();
 	prepare_SV_for_RV(sv);
 	switch (to_what) {
 	case OPpDEREF_SV:
@@ -3175,7 +3017,16 @@
 	}
 	SvROK_on(sv);
 	SvSETMAGIC(sv);
+	SvGETMAGIC(sv);
     }
+    if (SvGMAGICAL(sv)) {
+	/* copy the sv without magic to prevent magic from being
+	   executed twice */
+	SV* msv = sv_newmortal();
+	sv_setsv_nomg(msv, sv);
+	return msv;
+    }
+    return sv;
 }
 
 PP(pp_method)
@@ -3212,14 +3063,17 @@
     SV* ob;
     GV* gv;
     HV* stash;
-    const char* packname = NULL;
     SV *packsv = NULL;
-    STRLEN packlen;
-    SV * const sv = *(PL_stack_base + TOPMARK + 1);
+    SV * const sv = PL_stack_base + TOPMARK == PL_stack_sp
+	? (Perl_croak(aTHX_ "Can't call method \"%"SVf"\" without a "
+			    "package or object reference", SVfARG(meth)),
+	   (SV *)NULL)
+	: *(PL_stack_base + TOPMARK + 1);
 
     PERL_ARGS_ASSERT_METHOD_COMMON;
 
     if (!sv)
+       undefined:
 	Perl_croak(aTHX_ "Can't call method \"%"SVf"\" on an undefined value",
 		   SVfARG(meth));
 
@@ -3226,42 +3080,48 @@
     SvGETMAGIC(sv);
     if (SvROK(sv))
 	ob = MUTABLE_SV(SvRV(sv));
+    else if (!SvOK(sv)) goto undefined;
     else {
+	/* this isn't a reference */
 	GV* iogv;
-
-	/* this isn't a reference */
-        if(SvOK(sv) && (packname = SvPV_const(sv, packlen))) {
-          const HE* const he = hv_fetch_ent(PL_stashcache, sv, 0, 0);
-          if (he) { 
+        STRLEN packlen;
+        const char * const packname = SvPV_nomg_const(sv, packlen);
+        const bool packname_is_utf8 = !!SvUTF8(sv);
+        const HE* const he =
+	    (const HE *)hv_common(
+                PL_stashcache, NULL, packname, packlen,
+                packname_is_utf8 ? HVhek_UTF8 : 0, 0, NULL, 0
+	    );
+	  
+        if (he) { 
             stash = INT2PTR(HV*,SvIV(HeVAL(he)));
+            DEBUG_o(Perl_deb(aTHX_ "PL_stashcache hit %p for '%"SVf"'\n",
+                             stash, sv));
             goto fetch;
-          }
         }
 
-	if (!SvOK(sv) ||
-	    !(packname) ||
-	    !(iogv = gv_fetchsv(sv, 0, SVt_PVIO)) ||
+	if (!(iogv = gv_fetchpvn_flags(
+	        packname, packlen, SVf_UTF8 * packname_is_utf8, SVt_PVIO
+	     )) ||
 	    !(ob=MUTABLE_SV(GvIO(iogv))))
 	{
 	    /* this isn't the name of a filehandle either */
-	    if (!packname ||
-		((UTF8_IS_START(*packname) && DO_UTF8(sv))
-		    ? !isIDFIRST_utf8((U8*)packname)
-		    : !isIDFIRST(*packname)
-		))
+	    if (!packlen)
 	    {
-		Perl_croak(aTHX_ "Can't call method \"%"SVf"\" %s",
-			   SVfARG(meth),
-			   SvOK(sv) ? "without a package or object reference"
-				    : "on an undefined value");
+		Perl_croak(aTHX_ "Can't call method \"%"SVf"\" "
+				 "without a package or object reference",
+				  SVfARG(meth));
 	    }
 	    /* assume it's a package name */
-	    stash = gv_stashpvn(packname, packlen, 0);
+	    stash = gv_stashpvn(packname, packlen, packname_is_utf8 ? SVf_UTF8 : 0);
 	    if (!stash)
 		packsv = sv;
             else {
 	        SV* const ref = newSViv(PTR2IV(stash));
-	        (void)hv_store(PL_stashcache, packname, packlen, ref, 0);
+	        (void)hv_store(PL_stashcache, packname,
+                                packname_is_utf8 ? -(I32)packlen : (I32)packlen, ref, 0);
+                DEBUG_o(Perl_deb(aTHX_ "PL_stashcache caching %p for '%"SVf"'\n",
+                                 stash, sv));
 	    }
 	    goto fetch;
 	}
@@ -3276,10 +3136,10 @@
 		     && (ob = MUTABLE_SV(GvIO((const GV *)ob)))
 		     && SvOBJECT(ob))))
     {
-	const char * const name = SvPV_nolen_const(meth);
-	Perl_croak(aTHX_ "Can't call method \"%s\" on unblessed reference",
-		   (SvSCREAM(meth) && strEQ(name,"isa")) ? "DOES" :
-		   name);
+	Perl_croak(aTHX_ "Can't call method \"%"SVf"\" on unblessed reference",
+		   SVfARG((SvSCREAM(meth) && strEQ(SvPV_nolen_const(meth),"isa"))
+                                        ? newSVpvs_flags("DOES", SVs_TEMP)
+                                        : meth));
     }
 
     stash = SvSTASH(ob);
@@ -3300,9 +3160,8 @@
 	}
     }
 
-    gv = gv_fetchmethod_flags(stash ? stash : MUTABLE_HV(packsv),
-			      SvPV_nolen_const(meth),
-			      GV_AUTOLOAD | GV_CROAK);
+    gv = gv_fetchmethod_sv_flags(stash ? stash : MUTABLE_HV(packsv),
+			             meth, GV_AUTOLOAD | GV_CROAK);
 
     assert(gv);
 
@@ -3313,8 +3172,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pp_hot.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pp_pack.c
===================================================================
--- vendor/perl/dist/pp_pack.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp_pack.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -920,7 +920,7 @@
  * returns char pointer to char after match, or NULL
  */
 STATIC const char *
-S_group_end(pTHX_ register const char *patptr, register const char *patend, char ender)
+S_group_end(pTHX_ const char *patptr, const char *patend, char ender)
 {
     PERL_ARGS_ASSERT_GROUP_END;
 
@@ -951,7 +951,7 @@
  * Advances char pointer to 1st non-digit char and returns number
  */
 STATIC const char *
-S_get_num(pTHX_ register const char *patptr, I32 *lenptr )
+S_get_num(pTHX_ const char *patptr, I32 *lenptr )
 {
   I32 len = *patptr++ - '0';
 
@@ -1189,10 +1189,22 @@
 /*
 =for apidoc unpackstring
 
-The engine implementing unpack() Perl function. C<unpackstring> puts the
-extracted list items on the stack and returns the number of elements.
-Issue C<PUTBACK> before and C<SPAGAIN> after the call to this function.
+The engine implementing the unpack() Perl function.
 
+Using the template pat..patend, this function unpacks the string
+s..strend into a number of mortal SVs, which it pushes onto the perl
+argument (@_) stack (so you will need to issue a C<PUTBACK> before and
+C<SPAGAIN> after the call to this function). It returns the number of
+pushed elements.
+
+The strend and patend pointers should point to the byte following the last
+character of each string.
+
+Although this function returns its values on the perl argument stack, it
+doesn't take any parameters from that stack (and thus in particular
+there's no need to do a PUSHMARK before calling it, unlike L</call_pv> for
+example).
+
 =cut */
 
 I32
@@ -1470,7 +1482,7 @@
 		if (utf8 && (symptr->flags & FLAG_WAS_UTF8)) {
 		    for (ptr = s+len-1; ptr >= s; ptr--)
 			if (*ptr != 0 && !UTF8_IS_CONTINUATION(*ptr) &&
-			    !is_utf8_space((U8 *) ptr)) break;
+			    !isSPACE_utf8(ptr)) break;
 		    if (ptr >= s) ptr += UTF8SKIP(ptr);
 		    else ptr++;
 		    if (ptr > s+len)
@@ -1690,10 +1702,10 @@
 		    len = UTF8SKIP(result);
 		    if (!uni_to_bytes(aTHX_ &ptr, strend,
 				      (char *) &result[1], len-1, 'U')) break;
-		    auv = utf8n_to_uvuni(result, len, &retlen, ckWARN(WARN_UTF8) ? 0 : UTF8_ALLOW_ANYUV);
+		    auv = utf8n_to_uvuni(result, len, &retlen, UTF8_ALLOW_DEFAULT);
 		    s = ptr;
 		} else {
-		    auv = utf8n_to_uvuni((U8*)s, strend - s, &retlen, ckWARN(WARN_UTF8) ? 0 : UTF8_ALLOW_ANYUV);
+		    auv = utf8n_to_uvuni((U8*)s, strend - s, &retlen, UTF8_ALLOW_DEFAULT);
 		    if (retlen == (STRLEN) -1 || retlen == 0)
 			Perl_croak(aTHX_ "Malformed UTF-8 string in unpack");
 		    s += retlen;
@@ -2234,7 +2246,7 @@
 
         if (symptr->flags & FLAG_SLASH){
             if (SP - PL_stack_base - start_sp_offset <= 0)
-                Perl_croak(aTHX_ "'/' must follow a numeric type in unpack");
+		break;
             if( next_symbol(symptr) ){
               if( symptr->howlen == e_number )
 		Perl_croak(aTHX_ "Count after length/code in unpack" );
@@ -2395,7 +2407,7 @@
 */
 
 void
-Perl_packlist(pTHX_ SV *cat, const char *pat, const char *patend, register SV **beglist, SV **endlist )
+Perl_packlist(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist )
 {
     dVAR;
     tempsym_t sym;
@@ -2455,7 +2467,8 @@
     if (m != marks + sym_ptr->level+1) {
 	Safefree(marks);
 	Safefree(to_start);
-	Perl_croak(aTHX_ "panic: marks beyond string end");
+	Perl_croak(aTHX_ "panic: marks beyond string end, m=%p, marks=%p, "
+		   "level=%d", m, marks, sym_ptr->level);
     }
     for (group=sym_ptr; group; group = group->previous)
 	group->strbeg = marks[group->level] - to_start;
@@ -2557,18 +2570,7 @@
 		if (lookahead.howlen == e_number) count = lookahead.length;
 		else {
 		    if (items > 0) {
-			if (SvGAMAGIC(*beglist)) {
-			    /* Avoid reading the active data more than once
-			       by copying it to a temporary.  */
-			    STRLEN len;
-			    const char *const pv = SvPV_const(*beglist, len);
-			    SV *const temp
-				= newSVpvn_flags(pv, len,
-						 SVs_TEMP | SvUTF8(*beglist));
-			    *beglist = temp;
-			}
-			count = DO_UTF8(*beglist) ?
-			    sv_len_utf8(*beglist) : sv_len(*beglist);
+			count = sv_len_utf8(*beglist);
 		    }
 		    else count = 0;
 		    if (lookahead.code == 'Z') count++;
@@ -2789,7 +2791,9 @@
 		GROWING(0, cat, start, cur, len);
 		if (!uni_to_bytes(aTHX_ &aptr, end, cur, fromlen,
 				  datumtype | TYPE_IS_PACK))
-		    Perl_croak(aTHX_ "panic: predicted utf8 length not available");
+		    Perl_croak(aTHX_ "panic: predicted utf8 length not available, "
+			       "for '%c', aptr=%p end=%p cur=%p, fromlen=%"UVuf,
+			       (int)datumtype, aptr, end, cur, (UV)fromlen);
 		cur += fromlen;
 		len -= fromlen;
 	    } else if (utf8) {
@@ -3107,23 +3111,7 @@
 		NV anv;
 		fromstr = NEXTFROM;
 		anv = SvNV(fromstr);
-#ifdef __VOS__
-		/* VOS does not automatically map a floating-point overflow
-		   during conversion from double to float into infinity, so we
-		   do it by hand.  This code should either be generalized for
-		   any OS that needs it, or removed if and when VOS implements
-		   posix-976 (suggestion to support mapping to infinity).
-		   Paul.Green at stratus.com 02-04-02.  */
-{
-extern const float _float_constants[];
-		if (anv > FLT_MAX)
-		    afloat = _float_constants[0];   /* single prec. inf. */
-		else if (anv < -FLT_MAX)
-		    afloat = _float_constants[0];   /* single prec. inf. */
-		else afloat = (float) anv;
-}
-#else /* __VOS__ */
-# if defined(VMS) && !defined(__IEEE_FP)
+# if defined(VMS) && !defined(_IEEE_FP)
 		/* IEEE fp overflow shenanigans are unavailable on VAX and optional
 		 * on Alpha; fake it if we don't have them.
 		 */
@@ -3135,7 +3123,6 @@
 # else
 		afloat = (float)anv;
 # endif
-#endif /* __VOS__ */
 		DO_BO_PACK_N(afloat, float);
 		PUSH_VAR(utf8, cur, afloat);
 	    }
@@ -3146,23 +3133,7 @@
 		NV anv;
 		fromstr = NEXTFROM;
 		anv = SvNV(fromstr);
-#ifdef __VOS__
-		/* VOS does not automatically map a floating-point overflow
-		   during conversion from long double to double into infinity,
-		   so we do it by hand.  This code should either be generalized
-		   for any OS that needs it, or removed if and when VOS
-		   implements posix-976 (suggestion to support mapping to
-		   infinity).  Paul.Green at stratus.com 02-04-02.  */
-{
-extern const double _double_constants[];
-		if (anv > DBL_MAX)
-		    adouble = _double_constants[0];   /* double prec. inf. */
-		else if (anv < -DBL_MAX)
-		    adouble = _double_constants[0];   /* double prec. inf. */
-		else adouble = (double) anv;
-}
-#else /* __VOS__ */
-# if defined(VMS) && !defined(__IEEE_FP)
+# if defined(VMS) && !defined(_IEEE_FP)
 		/* IEEE fp overflow shenanigans are unavailable on VAX and optional
 		 * on Alpha; fake it if we don't have them.
 		 */
@@ -3174,7 +3145,6 @@
 # else
 		adouble = (double)anv;
 # endif
-#endif /* __VOS__ */
 		DO_BO_PACK_N(adouble, double);
 		PUSH_VAR(utf8, cur, adouble);
 	    }
@@ -3566,7 +3536,7 @@
 	    from_utf8 = DO_UTF8(fromstr);
 	    if (from_utf8) {
 		aend = aptr + fromlen;
-		fromlen = sv_len_utf8(fromstr);
+		fromlen = sv_len_utf8_nomg(fromstr);
 	    } else aend = NULL; /* Unused, but keep compilers happy */
 	    GROWING(utf8, cat, start, cur, (fromlen+2) / 3 * 4 + (fromlen+len-1)/len * 2);
 	    while (fromlen > 0) {
@@ -3584,7 +3554,9 @@
 				      'u' | TYPE_IS_PACK)) {
 			*cur = '\0';
 			SvCUR_set(cat, cur - start);
-			Perl_croak(aTHX_ "panic: string is shorter than advertised");
+			Perl_croak(aTHX_ "panic: string is shorter than advertised, "
+				   "aptr=%p, aend=%p, buffer=%p, todo=%ld",
+				   aptr, aend, buffer, (long) todo);
 		    }
 		    end = doencodes(hunk, buffer, todo);
 		} else {
@@ -3610,11 +3582,11 @@
 PP(pp_pack)
 {
     dVAR; dSP; dMARK; dORIGMARK; dTARGET;
-    register SV *cat = TARG;
+    SV *cat = TARG;
     STRLEN fromlen;
     SV *pat_sv = *++MARK;
-    register const char *pat = SvPV_const(pat_sv, fromlen);
-    register const char *patend = pat + fromlen;
+    const char *pat = SvPV_const(pat_sv, fromlen);
+    const char *patend = pat + fromlen;
 
     MARK++;
     sv_setpvs(cat, "");
@@ -3632,8 +3604,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pp_pack.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/pp_proto.h
===================================================================
--- vendor/perl/dist/pp_proto.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp_proto.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,7 +27,6 @@
 PERL_CALLCONV OP *Perl_pp_bit_and(pTHX);
 PERL_CALLCONV OP *Perl_pp_bit_or(pTHX);
 PERL_CALLCONV OP *Perl_pp_bless(pTHX);
-PERL_CALLCONV OP *Perl_pp_boolkeys(pTHX);
 PERL_CALLCONV OP *Perl_pp_break(pTHX);
 PERL_CALLCONV OP *Perl_pp_caller(pTHX);
 PERL_CALLCONV OP *Perl_pp_chdir(pTHX);
@@ -35,6 +34,7 @@
 PERL_CALLCONV OP *Perl_pp_chown(pTHX);
 PERL_CALLCONV OP *Perl_pp_chr(pTHX);
 PERL_CALLCONV OP *Perl_pp_chroot(pTHX);
+PERL_CALLCONV OP *Perl_pp_clonecv(pTHX);
 PERL_CALLCONV OP *Perl_pp_close(pTHX);
 PERL_CALLCONV OP *Perl_pp_closedir(pTHX);
 PERL_CALLCONV OP *Perl_pp_complement(pTHX);
@@ -42,6 +42,7 @@
 PERL_CALLCONV OP *Perl_pp_cond_expr(pTHX);
 PERL_CALLCONV OP *Perl_pp_const(pTHX);
 PERL_CALLCONV OP *Perl_pp_continue(pTHX);
+PERL_CALLCONV OP *Perl_pp_coreargs(pTHX);
 PERL_CALLCONV OP *Perl_pp_crypt(pTHX);
 PERL_CALLCONV OP *Perl_pp_dbmopen(pTHX);
 PERL_CALLCONV OP *Perl_pp_dbstate(pTHX);
@@ -65,6 +66,7 @@
 PERL_CALLCONV OP *Perl_pp_exec(pTHX);
 PERL_CALLCONV OP *Perl_pp_exists(pTHX);
 PERL_CALLCONV OP *Perl_pp_exit(pTHX);
+PERL_CALLCONV OP *Perl_pp_fc(pTHX);
 PERL_CALLCONV OP *Perl_pp_fileno(pTHX);
 PERL_CALLCONV OP *Perl_pp_flip(pTHX);
 PERL_CALLCONV OP *Perl_pp_flock(pTHX);
@@ -117,6 +119,7 @@
 PERL_CALLCONV OP *Perl_pp_i_subtract(pTHX);
 PERL_CALLCONV OP *Perl_pp_index(pTHX);
 PERL_CALLCONV OP *Perl_pp_int(pTHX);
+PERL_CALLCONV OP *Perl_pp_introcv(pTHX);
 PERL_CALLCONV OP *Perl_pp_ioctl(pTHX);
 PERL_CALLCONV OP *Perl_pp_iter(pTHX);
 PERL_CALLCONV OP *Perl_pp_join(pTHX);
@@ -162,14 +165,14 @@
 PERL_CALLCONV OP *Perl_pp_ord(pTHX);
 PERL_CALLCONV OP *Perl_pp_pack(pTHX);
 PERL_CALLCONV OP *Perl_pp_padav(pTHX);
+PERL_CALLCONV OP *Perl_pp_padcv(pTHX);
 PERL_CALLCONV OP *Perl_pp_padhv(pTHX);
+PERL_CALLCONV OP *Perl_pp_padrange(pTHX);
 PERL_CALLCONV OP *Perl_pp_padsv(pTHX);
 PERL_CALLCONV OP *Perl_pp_pipe_op(pTHX);
 PERL_CALLCONV OP *Perl_pp_pos(pTHX);
-PERL_CALLCONV OP *Perl_pp_postdec(pTHX);
 PERL_CALLCONV OP *Perl_pp_postinc(pTHX);
 PERL_CALLCONV OP *Perl_pp_pow(pTHX);
-PERL_CALLCONV OP *Perl_pp_predec(pTHX);
 PERL_CALLCONV OP *Perl_pp_preinc(pTHX);
 PERL_CALLCONV OP *Perl_pp_print(pTHX);
 PERL_CALLCONV OP *Perl_pp_prototype(pTHX);
@@ -200,6 +203,7 @@
 PERL_CALLCONV OP *Perl_pp_right_shift(pTHX);
 PERL_CALLCONV OP *Perl_pp_rkeys(pTHX);
 PERL_CALLCONV OP *Perl_pp_rmdir(pTHX);
+PERL_CALLCONV OP *Perl_pp_runcv(pTHX);
 PERL_CALLCONV OP *Perl_pp_rv2av(pTHX);
 PERL_CALLCONV OP *Perl_pp_rv2cv(pTHX);
 PERL_CALLCONV OP *Perl_pp_rv2gv(pTHX);


Property changes on: vendor/perl/dist/pp_proto.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/pp_sort.c
===================================================================
--- vendor/perl/dist/pp_sort.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp_sort.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -185,8 +185,8 @@
 dynprep(pTHX_ gptr *list1, gptr *list2, size_t nmemb, const SVCOMPARE_t cmp)
 {
     I32 sense;
-    register gptr *b, *p, *q, *t, *p2;
-    register gptr *last, *r;
+    gptr *b, *p, *q, *t, *p2;
+    gptr *last, *r;
     IV runs = 0;
 
     b = list1;
@@ -354,7 +354,7 @@
     dVAR;
     IV i, run, offset;
     I32 sense, level;
-    register gptr *f1, *f2, *t, *b, *p;
+    gptr *f1, *f2, *t, *b, *p;
     int iwhich;
     gptr *aux;
     gptr *p1;
@@ -392,7 +392,7 @@
 	    list1 = which[iwhich];		/* area where runs are now */
 	    list2 = which[++iwhich];		/* area for merged runs */
 	    do {
-		register gptr *l1, *l2, *tp2;
+		gptr *l1, *l2, *tp2;
 		offset = stackp->offset;
 		f1 = p1 = list1 + offset;		/* start of first run */
 		p = tp2 = list2 + offset;	/* where merged run will go */
@@ -422,7 +422,7 @@
 		    ** and -1 when equality should look high.
 		    */
 
-		    register gptr *q;
+		    gptr *q;
 		    if (cmp(aTHX_ *f1, *f2) <= 0) {
 			q = f2; b = f1; t = l1;
 			sense = -1;
@@ -763,7 +763,7 @@
 STATIC void /* the standard unstable (u) quicksort (qsort) */
 S_qsortsvu(pTHX_ SV ** array, size_t num_elts, SVCOMPARE_t compare)
 {
-   register SV * temp;
+   SV * temp;
    struct partition_stack_entry partition_stack[QSORT_MAX_STACK];
    int next_stack_entry = 0;
    int part_left;
@@ -783,10 +783,10 @@
 
    /* Inoculate large partitions against quadratic behavior */
    if (num_elts > QSORT_PLAY_SAFE) {
-      register size_t n;
-      register SV ** const q = array;
+      size_t n;
+      SV ** const q = array;
       for (n = num_elts; n > 1; ) {
-         register const size_t j = (size_t)(n-- * Drand01());
+         const size_t j = (size_t)(n-- * Drand01());
          temp = q[j];
          q[j] = q[n];
          q[n] = temp;
@@ -1350,8 +1350,8 @@
 {
     dVAR;
     if ((flags & SORTf_STABLE) != 0) {
-	 register gptr **pp, *q;
-	 register size_t n, j, i;
+	 gptr **pp, *q;
+	 size_t n, j, i;
 	 gptr *small[SMALLSORT], **indir, tmp;
 	 SVCOMPARE_t savecmp;
 	 if (nmemb <= 1) return;     /* sorted trivially */
@@ -1432,7 +1432,7 @@
 
 Sort an array. Here is an example:
 
-    sortsv(AvARRAY(av), av_len(av)+1, Perl_sv_cmp_locale);
+    sortsv(AvARRAY(av), av_top_index(av)+1, Perl_sv_cmp_locale);
 
 Currently this always uses mergesort. See sortsv_flags for a more
 flexible routine.
@@ -1473,8 +1473,8 @@
 PP(pp_sort)
 {
     dVAR; dSP; dMARK; dORIGMARK;
-    register SV **p1 = ORIGMARK+1, **p2;
-    register I32 max, i;
+    SV **p1 = ORIGMARK+1, **p2;
+    I32 max, i;
     AV* av = NULL;
     HV *stash;
     GV *gv;
@@ -1516,7 +1516,9 @@
 	    stash = CopSTASH(PL_curcop);
 	}
 	else {
-	    cv = sv_2cv(*++MARK, &stash, &gv, 0);
+	    GV *autogv = NULL;
+	    cv = sv_2cv(*++MARK, &stash, &gv, GV_ADD);
+	  check_cv:
 	    if (cv && SvPOK(cv)) {
 		const char * const proto = SvPV_nolen_const(MUTABLE_SV(cv));
 		if (proto && strEQ(proto, "$$")) {
@@ -1523,15 +1525,31 @@
 		    hasargs = TRUE;
 		}
 	    }
-	    if (!(cv && CvROOT(cv))) {
-		if (cv && CvISXSUB(cv)) {
-		    is_xsub = 1;
+	    if (cv && CvISXSUB(cv) && CvXSUB(cv)) {
+		is_xsub = 1;
+	    }
+	    else if (!(cv && CvROOT(cv))) {
+		if (gv) {
+		    goto autoload;
 		}
-		else if (gv) {
+		else if (!CvANON(cv) && (gv = CvGV(cv))) {
+		  if (cv != GvCV(gv)) cv = GvCV(gv);
+		 autoload:
+		  if (!autogv && (
+			autogv = gv_autoload_pvn(
+			    GvSTASH(gv), GvNAME(gv), GvNAMELEN(gv),
+			    GvNAMEUTF8(gv) ? SVf_UTF8 : 0
+			)
+		     )) {
+		    cv = GvCVu(autogv);
+		    goto check_cv;
+		  }
+		  else {
 		    SV *tmpstr = sv_newmortal();
 		    gv_efullname3(tmpstr, gv, NULL);
 		    DIE(aTHX_ "Undefined sort subroutine \"%"SVf"\" called",
 			SVfARG(tmpstr));
+		  }
 		}
 		else {
 		    DIE(aTHX_ "Undefined subroutine in sort");
@@ -1568,7 +1586,7 @@
 	}
 	else {
 	    if (SvREADONLY(av))
-		Perl_croak_no_modify(aTHX);
+		Perl_croak_no_modify();
 	    else
 		SvREADONLY_on(av);
 	    p1 = p2 = AvARRAY(av);
@@ -1649,7 +1667,7 @@
 		if (CvDEPTH(cv)) SvREFCNT_inc_simple_void_NN(cv);
 		PUSHSUB(cx);
 		if (!is_xsub) {
-		    AV* const padlist = CvPADLIST(cv);
+		    PADLIST * const padlist = CvPADLIST(cv);
 
 		    if (++CvDEPTH(cv) >= 2) {
 			PERL_STACK_OVERFLOW_CHECK();
@@ -1745,7 +1763,10 @@
     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;
 
@@ -1754,9 +1775,21 @@
     PL_stack_sp = PL_stack_base;
     PL_op = PL_sortcop;
     CALLRUNOPS(aTHX);
-    if (PL_stack_sp != PL_stack_base + 1)
-	Perl_croak(aTHX_ "Sort subroutine didn't return single value");
-    result = SvIV(*PL_stack_sp);
+    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;
+    }
     while (PL_scopestack_ix > oldscopeix) {
 	LEAVE;
     }
@@ -1774,6 +1807,9 @@
     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;
 
@@ -1802,9 +1838,15 @@
     PL_stack_sp = PL_stack_base;
     PL_op = PL_sortcop;
     CALLRUNOPS(aTHX);
-    if (PL_stack_sp != PL_stack_base + 1)
-	Perl_croak(aTHX_ "Sort subroutine didn't return single value");
-    result = SvIV(*PL_stack_sp);
+    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;
     while (PL_scopestack_ix > oldscopeix) {
 	LEAVE;
     }
@@ -1852,6 +1894,14 @@
 
     PERL_ARGS_ASSERT_SV_NCMP;
 
+#if defined(NAN_COMPARE_BROKEN) && defined(Perl_isnan)
+    if (Perl_isnan(nv1) || Perl_isnan(nv2)) {
+#else
+    if (nv1 != nv1 || nv2 != nv2) {
+#endif
+	if (ckWARN(WARN_UNINITIALIZED)) report_uninit(NULL);
+	return 0;
+    }
     return nv1 < nv2 ? -1 : nv1 > nv2 ? 1 : 0;
 }
 
@@ -1874,7 +1924,7 @@
 #define SORT_NORMAL_RETURN_VALUE(val)  (((val) > 0) ? 1 : ((val) ? -1 : 0))
 
 static I32
-S_amagic_ncmp(pTHX_ register SV *const a, register SV *const b)
+S_amagic_ncmp(pTHX_ SV *const a, SV *const b)
 {
     dVAR;
     SV * const tmpsv = tryCALL_AMAGICbin(a,b,ncmp_amg);
@@ -1895,7 +1945,7 @@
 }
 
 static I32
-S_amagic_i_ncmp(pTHX_ register SV *const a, register SV *const b)
+S_amagic_i_ncmp(pTHX_ SV *const a, SV *const b)
 {
     dVAR;
     SV * const tmpsv = tryCALL_AMAGICbin(a,b,ncmp_amg);
@@ -1916,7 +1966,7 @@
 }
 
 static I32
-S_amagic_cmp(pTHX_ register SV *const str1, register SV *const str2)
+S_amagic_cmp(pTHX_ SV *const str1, SV *const str2)
 {
     dVAR;
     SV * const tmpsv = tryCALL_AMAGICbin(str1,str2,scmp_amg);
@@ -1937,7 +1987,7 @@
 }
 
 static I32
-S_amagic_cmp_locale(pTHX_ register SV *const str1, register SV *const str2)
+S_amagic_cmp_locale(pTHX_ SV *const str1, SV *const str2)
 {
     dVAR;
     SV * const tmpsv = tryCALL_AMAGICbin(str1,str2,scmp_amg);
@@ -1961,8 +2011,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pp_sort.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/pp_sys.c
===================================================================
--- vendor/perl/dist/pp_sys.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/pp_sys.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -49,10 +49,6 @@
 #   include <shadow.h>
 #endif
 
-#ifdef I_SYS_WAIT
-# include <sys/wait.h>
-#endif
-
 #ifdef I_SYS_RESOURCE
 # include <sys/resource.h>
 #endif
@@ -252,6 +248,7 @@
     if (setresuid(euid, ruid, (Uid_t)-1))
 #endif
 #endif
+	/* diag_listed_as: entering effective %s failed */
 	Perl_croak(aTHX_ "entering effective uid failed");
 #endif
 
@@ -265,6 +262,7 @@
     if (setresgid(egid, rgid, (Gid_t)-1))
 #endif
 #endif
+	/* diag_listed_as: entering effective %s failed */
 	Perl_croak(aTHX_ "entering effective gid failed");
 #endif
 
@@ -277,6 +275,7 @@
     if (setresuid(ruid, euid, (Uid_t)-1))
 #endif
 #endif
+	/* diag_listed_as: leaving effective %s failed */
 	Perl_croak(aTHX_ "leaving effective uid failed");
 
 #ifdef HAS_SETREGID
@@ -286,6 +285,7 @@
     if (setresgid(rgid, egid, (Gid_t)-1))
 #endif
 #endif
+	/* diag_listed_as: leaving effective %s failed */
 	Perl_croak(aTHX_ "leaving effective gid failed");
 
     return res;
@@ -359,22 +359,28 @@
     dVAR;
     OP *result;
     dSP;
-    /* make a copy of the pattern, to ensure that magic is called once
-     * and only once */
-    TOPm1s = sv_2mortal(newSVsv(TOPm1s));
+    GV * const gv = (PL_op->op_flags & OPf_SPECIAL) ? NULL : (GV *)POPs;
 
-    tryAMAGICunTARGET(iter_amg, -1, (PL_op->op_flags & OPf_SPECIAL));
+    PUTBACK;
 
+    /* make a copy of the pattern if it is gmagical, to ensure that magic
+     * is called once and only once */
+    if (SvGMAGICAL(TOPs)) TOPs = sv_2mortal(newSVsv(TOPs));
+
+    tryAMAGICunTARGETlist(iter_amg, (PL_op->op_flags & OPf_SPECIAL));
+
     if (PL_op->op_flags & OPf_SPECIAL) {
 	/* call Perl-level glob function instead. Stack args are:
-	 * MARK, wildcard, csh_glob context index
+	 * MARK, wildcard
 	 * and following OPs should be: gv(CORE::GLOBAL::glob), entersub
 	 * */
 	return NORMAL;
     }
-    /* stack args are: wildcard, gv(_GEN_n) */
+    if (PL_globhook) {
+	PL_globhook(aTHX);
+	return NORMAL;
+    }
 
-
     /* Note that we only ever get here if File::Glob fails to load
      * without at the same time croaking, for some reason, or if
      * perl was built with PERL_EXTERNAL_GLOB */
@@ -382,7 +388,7 @@
     ENTER_with_name("glob");
 
 #ifndef VMS
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	/*
 	 * The external globbing program may use things we can't control,
 	 * so for security reasons we must assume the worst.
@@ -393,7 +399,7 @@
 #endif /* !VMS */
 
     SAVESPTR(PL_last_in_gv);	/* We don't want this to be permanent. */
-    PL_last_in_gv = MUTABLE_GV(*PL_stack_sp--);
+    PL_last_in_gv = gv;
 
     SAVESPTR(PL_rs);		/* This is not permanent, either. */
     PL_rs = newSVpvs_flags("\000", SVs_TEMP);
@@ -419,7 +425,6 @@
 {
     dVAR; dSP; dMARK;
     SV *exsv;
-    const char *pv;
     STRLEN len;
     if (SP - MARK > 1) {
 	dTARGET;
@@ -434,20 +439,30 @@
     }
     else {
 	exsv = TOPs;
+	if (SvGMAGICAL(exsv)) exsv = sv_mortalcopy(exsv);
     }
 
-    if (SvROK(exsv) || (pv = SvPV_const(exsv, len), len)) {
+    if (SvROK(exsv) || (SvPV_const(exsv, len), len)) {
 	/* well-formed exception supplied */
     }
-    else if (SvROK(ERRSV)) {
-	exsv = ERRSV;
-    }
-    else if (SvPOK(ERRSV) && SvCUR(ERRSV)) {
-	exsv = sv_mortalcopy(ERRSV);
+    else {
+      SV * const errsv = ERRSV;
+      SvGETMAGIC(errsv);
+      if (SvROK(errsv)) {
+	if (SvGMAGICAL(errsv)) {
+	    exsv = sv_newmortal();
+	    sv_setsv_nomg(exsv, errsv);
+	}
+	else exsv = errsv;
+      }
+      else if (SvPOKp(errsv) ? SvCUR(errsv) : SvNIOKp(errsv)) {
+	exsv = sv_newmortal();
+	sv_setsv_nomg(exsv, errsv);
 	sv_catpvs(exsv, "\t...caught");
-    }
-    else {
+      }
+      else {
 	exsv = newSVpvs_flags("Warning: something's wrong", SVs_TEMP);
+      }
     }
     if (SvROK(exsv) && !PL_warnhook)
 	 Perl_warn(aTHX_ "%"SVf, SVfARG(exsv));
@@ -459,7 +474,6 @@
 {
     dVAR; dSP; dMARK;
     SV *exsv;
-    const char *pv;
     STRLEN len;
 #ifdef VMS
     VMSISH_HUSHED  = VMSISH_HUSHED || (PL_op->op_private & OPpHUSH_VMSISH);
@@ -474,36 +488,40 @@
 	exsv = TOPs;
     }
 
-    if (SvROK(exsv) || (pv = SvPV_const(exsv, len), len)) {
+    if (SvROK(exsv) || (SvPV_const(exsv, len), len)) {
 	/* well-formed exception supplied */
     }
-    else if (SvROK(ERRSV)) {
-	exsv = ERRSV;
-	if (sv_isobject(exsv)) {
-	    HV * const stash = SvSTASH(SvRV(exsv));
-	    GV * const gv = gv_fetchmethod(stash, "PROPAGATE");
-	    if (gv) {
-		SV * const file = sv_2mortal(newSVpv(CopFILE(PL_curcop),0));
-		SV * const line = sv_2mortal(newSVuv(CopLINE(PL_curcop)));
-		EXTEND(SP, 3);
-		PUSHMARK(SP);
-		PUSHs(exsv);
-		PUSHs(file);
-		PUSHs(line);
-		PUTBACK;
-		call_sv(MUTABLE_SV(GvCV(gv)),
-			G_SCALAR|G_EVAL|G_KEEPERR);
-		exsv = sv_mortalcopy(*PL_stack_sp--);
+    else {
+	SV * const errsv = ERRSV;
+	SvGETMAGIC(errsv);
+	if (SvROK(errsv)) {
+	    exsv = errsv;
+	    if (sv_isobject(exsv)) {
+		HV * const stash = SvSTASH(SvRV(exsv));
+		GV * const gv = gv_fetchmethod(stash, "PROPAGATE");
+		if (gv) {
+		    SV * const file = sv_2mortal(newSVpv(CopFILE(PL_curcop),0));
+		    SV * const line = sv_2mortal(newSVuv(CopLINE(PL_curcop)));
+		    EXTEND(SP, 3);
+		    PUSHMARK(SP);
+		    PUSHs(exsv);
+		    PUSHs(file);
+		    PUSHs(line);
+		    PUTBACK;
+		    call_sv(MUTABLE_SV(GvCV(gv)),
+			    G_SCALAR|G_EVAL|G_KEEPERR);
+		    exsv = sv_mortalcopy(*PL_stack_sp--);
+		}
 	    }
 	}
+	else if (SvPOK(errsv) && SvCUR(errsv)) {
+	    exsv = sv_mortalcopy(errsv);
+	    sv_catpvs(exsv, "\t...propagated");
+	}
+	else {
+	    exsv = newSVpvs_flags("Died", SVs_TEMP);
+	}
     }
-    else if (SvPOK(ERRSV) && SvCUR(ERRSV)) {
-	exsv = sv_mortalcopy(ERRSV);
-	sv_catpvs(exsv, "\t...propagated");
-    }
-    else {
-	exsv = newSVpvs_flags("Died", SVs_TEMP);
-    }
     return die_sv(exsv);
 }
 
@@ -513,6 +531,9 @@
 Perl_tied_method(pTHX_ const char *const methname, SV **sp, SV *const sv,
 		 const MAGIC *const mg, const U32 flags, U32 argc, ...)
 {
+    SV **orig_sp = sp;
+    I32 ret_args;
+
     PERL_ARGS_ASSERT_TIED_METHOD;
 
     /* Ensure that our flag bits do not overlap.  */
@@ -520,10 +541,15 @@
     assert((TIED_METHOD_ARGUMENTS_ON_STACK & G_WANT) == 0);
     assert((TIED_METHOD_SAY & G_WANT) == 0);
 
+    PUTBACK; /* sp is at *foot* of args, so this pops args from old stack */
+    PUSHSTACKi(PERLSI_MAGIC);
+    EXTEND(SP, argc+1); /* object + args */
     PUSHMARK(sp);
     PUSHs(SvTIED_obj(sv, mg));
-    if (flags & TIED_METHOD_ARGUMENTS_ON_STACK)
+    if (flags & TIED_METHOD_ARGUMENTS_ON_STACK) {
+	Copy(orig_sp + 2, sp + 1, argc, SV*); /* copy args to new stack */
 	sp += argc;
+    }
     else if (argc) {
 	const U32 mortalize_not_needed
 	    = flags & TIED_METHOD_MORTALIZE_NOT_NEEDED;
@@ -546,7 +572,17 @@
 	SAVEGENERICSV(PL_ors_sv);
 	PL_ors_sv = newSVpvs("\n");
     }
-    call_method(methname, flags & G_WANT);
+    ret_args = call_method(methname, flags & G_WANT);
+    SPAGAIN;
+    orig_sp = sp;
+    POPSTACK;
+    SPAGAIN;
+    if (ret_args) { /* copy results back to original stack */
+	EXTEND(sp, ret_args);
+	Copy(orig_sp - ret_args + 1, sp + 1, ret_args, SV*);
+	sp += ret_args;
+	PUTBACK;
+    }
     LEAVE_with_name("call_tied_method");
     return NORMAL;
 }
@@ -580,8 +616,8 @@
 
 	if (IoDIRP(io))
 	    Perl_ck_warner_d(aTHX_ packWARN2(WARN_IO, WARN_DEPRECATED),
-			     "Opening dirhandle %s also as a file",
-			     GvENAME(gv));
+			     "Opening dirhandle %"HEKf" also as a file",
+			     HEKfARG(GvENAME_HEK(gv)));
 
 	mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
 	if (mg) {
@@ -615,7 +651,8 @@
 PP(pp_close)
 {
     dVAR; dSP;
-    GV * const gv = (MAXARG == 0) ? PL_defoutgv : MUTABLE_GV(POPs);
+    GV * const gv =
+	MAXARG == 0 || (!TOPs && !POPs) ? PL_defoutgv : MUTABLE_GV(POPs);
 
     if (MAXARG == 0)
 	EXTEND(SP, 1);
@@ -638,8 +675,8 @@
 #ifdef HAS_PIPE
     dVAR;
     dSP;
-    register IO *rstio;
-    register IO *wstio;
+    IO *rstio;
+    IO *wstio;
     int fd[2];
 
     GV * const wgv = MUTABLE_GV(POPs);
@@ -732,7 +769,7 @@
     dTARGET;
     Mode_t anum;
 
-    if (MAXARG < 1) {
+    if (MAXARG < 1 || (!TOPs && !POPs)) {
 	anum = PerlLIO_umask(022);
 	/* setting it to 022 between the two calls to umask avoids
 	 * to have a window where the umask is set to 0 -- meaning
@@ -748,7 +785,7 @@
     /* Only DIE if trying to restrict permissions on "user" (self).
      * Otherwise it's harmless and more useful to just return undef
      * since 'group' and 'other' concepts probably don't exist here. */
-    if (MAXARG >= 1 && (POPi & 0700))
+    if (MAXARG >= 1 && (TOPs||POPs) && (POPi & 0700))
 	DIE(aTHX_ "umask not implemented");
     XPUSHs(&PL_sv_undef);
 #endif
@@ -830,19 +867,29 @@
 
     switch(SvTYPE(varsv)) {
 	case SVt_PVHV:
+	{
+	    HE *entry;
 	    methname = "TIEHASH";
+	    if (HvLAZYDEL(varsv) && (entry = HvEITER((HV *)varsv))) {
+		HvLAZYDEL_off(varsv);
+		hv_free_ent((HV *)varsv, entry);
+	    }
 	    HvEITER_set(MUTABLE_HV(varsv), 0);
 	    break;
+	}
 	case SVt_PVAV:
 	    methname = "TIEARRAY";
+	    if (!AvREAL(varsv)) {
+		if (!AvREIFY(varsv))
+		    Perl_croak(aTHX_ "Cannot tie unreifiable array");
+		av_clear((AV *)varsv);
+		AvREIFY_off(varsv);
+		AvREAL_on(varsv);
+	    }
 	    break;
 	case SVt_PVGV:
 	case SVt_PVLV:
-	    if (isGV_with_GP(varsv)) {
-		if (SvFAKE(varsv) && !(GvFLAGS(varsv) & GVf_TIEWARNED)) {
-		    deprecate("tie on a handle without *");
-		    GvFLAGS(varsv) |= GVf_TIEWARNED;
-		}
+	    if (isGV_with_GP(varsv) && !SvFAKE(varsv)) {
 		methname = "TIEHANDLE";
 		how = PERL_MAGIC_tiedscalar;
 		/* For tied filehandles, we apply tiedscalar magic to the IO
@@ -875,10 +922,8 @@
 	 * wrong error message, and worse case, supreme action at a distance.
 	 * (Sorry obfuscation writers. You're not going to be given this one.)
 	 */
-	STRLEN len;
-	const char *name = SvPV_nomg_const(*MARK, len);
-	stash = gv_stashpvn(name, len, 0);
-	if (!stash || !(gv = gv_fetchmethod(stash, methname))) {
+       stash = gv_stashsv(*MARK, 0);
+       if (!stash || !(gv = gv_fetchmethod(stash, methname))) {
 	    DIE(aTHX_ "Can't locate object method \"%s\" via package \"%"SVf"\"",
 		 methname, SVfARG(SvOK(*MARK) ? *MARK : &PL_sv_no));
 	}
@@ -919,14 +964,8 @@
     const char how = (SvTYPE(sv) == SVt_PVHV || SvTYPE(sv) == SVt_PVAV)
 		? PERL_MAGIC_tied : PERL_MAGIC_tiedscalar;
 
-    if (isGV_with_GP(sv)) {
-      if (SvFAKE(sv) && !(GvFLAGS(sv) & GVf_TIEWARNED)) {
-	deprecate("untie on a handle without *");
-	GvFLAGS(sv) |= GVf_TIEWARNED;
-      }
-      if (!(sv = MUTABLE_SV(GvIOp(sv))))
+    if (isGV_with_GP(sv) && !SvFAKE(sv) && !(sv = MUTABLE_SV(GvIOp(sv))))
 	RETPUSHYES;
-    }
 
     if ((mg = SvTIED_mg(sv, how))) {
 	SV * const obj = SvRV(SvTIED_obj(sv, mg));
@@ -963,20 +1002,11 @@
     const char how = (SvTYPE(sv) == SVt_PVHV || SvTYPE(sv) == SVt_PVAV)
 		? PERL_MAGIC_tied : PERL_MAGIC_tiedscalar;
 
-    if (isGV_with_GP(sv)) {
-      if (SvFAKE(sv) && !(GvFLAGS(sv) & GVf_TIEWARNED)) {
-	deprecate("tied on a handle without *");
-	GvFLAGS(sv) |= GVf_TIEWARNED;
-      }
-      if (!(sv = MUTABLE_SV(GvIOp(sv))))
+    if (isGV_with_GP(sv) && !SvFAKE(sv) && !(sv = MUTABLE_SV(GvIOp(sv))))
 	RETPUSHUNDEF;
-    }
 
     if ((mg = SvTIED_mg(sv, how))) {
-	SV *osv = SvTIED_obj(sv, mg);
-	if (osv == mg->mg_obj)
-	    osv = sv_mortalcopy(osv);
-	PUSHs(osv);
+	PUSHs(SvTIED_obj(sv, mg));
 	RETURN;
     }
     RETPUSHUNDEF;
@@ -1009,7 +1039,10 @@
     if (SvIV(right))
 	mPUSHu(O_RDWR|O_CREAT);
     else
+    {
 	mPUSHu(O_RDWR);
+	if (!SvOK(right)) right = &PL_sv_no;
+    }
     PUSHs(right);
     PUTBACK;
     call_sv(MUTABLE_SV(GvCV(gv)), G_SCALAR);
@@ -1039,10 +1072,10 @@
 {
 #ifdef HAS_SELECT
     dVAR; dSP; dTARGET;
-    register I32 i;
-    register I32 j;
-    register char *s;
-    register SV *sv;
+    I32 i;
+    I32 j;
+    char *s;
+    SV *sv;
     NV value;
     I32 maxlen = 0;
     I32 nfound;
@@ -1066,17 +1099,18 @@
     SP -= 4;
     for (i = 1; i <= 3; i++) {
 	SV * const sv = SP[i];
+	SvGETMAGIC(sv);
 	if (!SvOK(sv))
 	    continue;
-	if (SvREADONLY(sv)) {
-	    if (SvIsCOW(sv))
+	if (SvIsCOW(sv))
 		sv_force_normal_flags(sv, 0);
-	    if (SvREADONLY(sv) && !(SvPOK(sv) && SvCUR(sv) == 0))
-		Perl_croak_no_modify(aTHX);
-	}
+	if (SvREADONLY(sv) && !(SvPOK(sv) && SvCUR(sv) == 0))
+		Perl_croak_no_modify();
 	if (!SvPOK(sv)) {
-	    Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "Non-string passed as bitmask");
-	    SvPV_force_nolen(sv);	/* force string conversion */
+	    if (!SvPOKp(sv))
+		Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
+				    "Non-string passed as bitmask");
+	    SvPV_force_nomg_nolen(sv);	/* force string conversion */
 	}
 	j = SvCUR(sv);
 	if (maxlen < j)
@@ -1213,7 +1247,8 @@
 Perl_setdefout(pTHX_ GV *gv)
 {
     dVAR;
-    SvREFCNT_inc_simple_void(gv);
+    PERL_ARGS_ASSERT_SETDEFOUT;
+    SvREFCNT_inc_simple_void_NN(gv);
     SvREFCNT_dec(PL_defoutgv);
     PL_defoutgv = gv;
 }
@@ -1224,21 +1259,20 @@
     HV *hv;
     GV * const newdefout = (PL_op->op_private > 0) ? (MUTABLE_GV(POPs)) : NULL;
     GV * egv = GvEGVx(PL_defoutgv);
+    GV * const *gvp;
 
     if (!egv)
 	egv = PL_defoutgv;
     hv = isGV_with_GP(egv) ? GvSTASH(egv) : NULL;
-    if (! hv)
-	XPUSHs(&PL_sv_undef);
-    else {
-	GV * const * const gvp = (GV**)hv_fetch(hv, GvNAME(egv), GvNAMELEN(egv), FALSE);
-	if (gvp && *gvp == egv) {
+    gvp = hv && HvENAME(hv)
+		? (GV**)hv_fetch(hv, GvNAME(egv), HEK_UTF8(GvNAME_HEK(egv)) ? -GvNAMELEN(egv) : GvNAMELEN(egv), FALSE)
+		: NULL;
+    if (gvp && *gvp == egv) {
 	    gv_efullname4(TARG, PL_defoutgv, NULL, TRUE);
 	    XPUSHTARG;
-	}
-	else {
+    }
+    else {
 	    mXPUSHs(newRV(MUTABLE_SV(egv)));
-	}
     }
 
     if (newdefout) {
@@ -1253,7 +1287,8 @@
 PP(pp_getc)
 {
     dVAR; dSP; dTARGET;
-    GV * const gv = (MAXARG==0) ? PL_stdingv : MUTABLE_GV(POPs);
+    GV * const gv =
+	MAXARG==0 || (!TOPs && !POPs) ? PL_stdingv : MUTABLE_GV(POPs);
     IO *const io = GvIO(gv);
 
     if (MAXARG == 0)
@@ -1298,7 +1333,7 @@
 S_doform(pTHX_ CV *cv, GV *gv, OP *retop)
 {
     dVAR;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     const I32 gimme = GIMME_V;
 
     PERL_ARGS_ASSERT_DOFORM;
@@ -1311,8 +1346,12 @@
 
     PUSHBLOCK(cx, CXt_FORMAT, PL_stack_sp);
     PUSHFORMAT(cx, retop);
+    if (CvDEPTH(cv) >= 2) {
+	PERL_STACK_OVERFLOW_CHECK();
+	pad_push(CvPADLIST(cv), CvDEPTH(cv));
+    }
     SAVECOMPPAD();
-    PAD_SET_CUR_NOSAVE(CvPADLIST(cv), 1);
+    PAD_SET_CUR_NOSAVE(CvPADLIST(cv), CvDEPTH(cv));
 
     setdefout(gv);	    /* locally select filehandle so $% et al work */
     return CvSTART(cv);
@@ -1322,8 +1361,8 @@
 {
     dVAR;
     dSP;
-    register GV *gv;
-    register IO *io;
+    GV *gv;
+    IO *io;
     GV *fgv;
     CV *cv = NULL;
     SV *tmpsv = NULL;
@@ -1346,23 +1385,16 @@
     else
 	fgv = gv;
 
-    if (!fgv)
-	goto not_a_format_reference;
+    assert(fgv);
 
     cv = GvFORM(fgv);
     if (!cv) {
-	const char *name;
 	tmpsv = sv_newmortal();
 	gv_efullname4(tmpsv, fgv, NULL, FALSE);
-	name = SvPV_nolen_const(tmpsv);
-	if (name && *name)
-	    DIE(aTHX_ "Undefined format \"%s\" called", name);
-
-	not_a_format_reference:
-	DIE(aTHX_ "Not a format reference");
+	DIE(aTHX_ "Undefined format \"%"SVf"\" called", SVfARG(tmpsv));
     }
     IoFLAGS(io) &= ~IOf_DIDTOP;
-    return doform(cv,gv,PL_op->op_next);
+    RETURNOP(doform(cv,gv,PL_op->op_next));
 }
 
 PP(pp_leavewrite)
@@ -1369,12 +1401,12 @@
 {
     dVAR; dSP;
     GV * const gv = cxstack[cxstack_ix].blk_format.gv;
-    register IO * const io = GvIOp(gv);
+    IO * const io = GvIOp(gv);
     PerlIO *ofp;
     PerlIO *fp;
     SV **newsp;
     I32 gimme;
-    register PERL_CONTEXT *cx;
+    PERL_CONTEXT *cx;
     OP *retop;
 
     if (!io || !(ofp = IoOFP(io)))
@@ -1395,7 +1427,8 @@
 		SV *topname;
 		if (!IoFMT_NAME(io))
 		    IoFMT_NAME(io) = savepv(GvNAME(gv));
-		topname = sv_2mortal(Perl_newSVpvf(aTHX_ "%s_TOP", GvNAME(gv)));
+		topname = sv_2mortal(Perl_newSVpvf(aTHX_ "%"HEKf"_TOP",
+                                        HEKfARG(GvNAME_HEK(gv))));
 		topgv = gv_fetchsv(topname, 0, SVt_PVFM);
 		if ((topgv && GvFORM(topgv)) ||
 		  !gv_fetchpvs("top", GV_NOTQUAL, SVt_PVFM))
@@ -1431,7 +1464,7 @@
 	    }
 	}
 	if (IoLINES_LEFT(io) >= 0 && IoPAGE(io) > 0)
-	    do_print(PL_formfeed, ofp);
+	    do_print(GvSV(gv_fetchpvs("\f", GV_ADD, SVt_PV)), ofp);
 	IoLINES_LEFT(io) = IoPAGE_LEN(io);
 	IoPAGE(io)++;
 	PL_formtarget = PL_toptarget;
@@ -1442,13 +1475,8 @@
 	cv = GvFORM(fgv);
 	if (!cv) {
 	    SV * const sv = sv_newmortal();
-	    const char *name;
 	    gv_efullname4(sv, fgv, NULL, FALSE);
-	    name = SvPV_nolen_const(sv);
-	    if (name && *name)
-		DIE(aTHX_ "Undefined top format \"%s\" called", name);
-	    else
-		DIE(aTHX_ "Undefined top format called");
+	    DIE(aTHX_ "Undefined top format \"%"SVf"\" called", SVfARG(sv));
 	}
 	return doform(cv, gv, PL_op);
     }
@@ -1457,11 +1485,11 @@
     POPBLOCK(cx,PL_curpm);
     POPFORMAT(cx);
     retop = cx->blk_sub.retop;
+    SP = newsp; /* ignore retval of formline */
     LEAVE;
 
-    fp = IoOFP(io);
-    if (!fp) {
-	if (IoIFP(io))
+    if (!io || !(fp = IoOFP(io))) {
+	if (io && IoIFP(io))
 	    report_wrongway_fh(gv, '<');
 	else
 	    report_evil_fh(gv);
@@ -1482,12 +1510,9 @@
 	    PUSHs(&PL_sv_yes);
 	}
     }
-    /* bad_ofp: */
     PL_formtarget = PL_bodytarget;
-    PUTBACK;
-    PERL_UNUSED_VAR(newsp);
     PERL_UNUSED_VAR(gimme);
-    return retop;
+    RETURNOP(retop);
 }
 
 PP(pp_prtf)
@@ -1494,12 +1519,14 @@
 {
     dVAR; dSP; dMARK; dORIGMARK;
     PerlIO *fp;
-    SV *sv;
 
     GV * const gv
 	= (PL_op->op_flags & OPf_STACKED) ? MUTABLE_GV(*++MARK) : PL_defoutgv;
     IO *const io = GvIO(gv);
 
+    /* Treat empty list as "" */
+    if (MARK == SP) XPUSHs(&PL_sv_no);
+
     if (io) {
 	const MAGIC * const mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar);
 	if (mg) {
@@ -1516,7 +1543,6 @@
 	}
     }
 
-    sv = newSV(0);
     if (!io) {
 	report_evil_fh(gv);
 	SETERRNO(EBADF,RMS_IFI);
@@ -1531,6 +1557,7 @@
 	goto just_say_no;
     }
     else {
+	SV *sv = sv_newmortal();
 	do_sprintf(sv, SP - MARK, MARK + 1);
 	if (!do_print(sv, fp))
 	    goto just_say_no;
@@ -1539,13 +1566,11 @@
 	    if (PerlIO_flush(fp) == EOF)
 		goto just_say_no;
     }
-    SvREFCNT_dec(sv);
     SP = ORIGMARK;
     PUSHs(&PL_sv_yes);
     RETURN;
 
   just_say_no:
-    SvREFCNT_dec(sv);
     SP = ORIGMARK;
     PUSHs(&PL_sv_undef);
     RETURN;
@@ -1555,7 +1580,7 @@
 {
     dVAR;
     dSP;
-    const int perm = (MAXARG > 3) ? POPi : 0666;
+    const int perm = (MAXARG > 3 && (TOPs || POPs)) ? POPi : 0666;
     const int mode = POPi;
     SV * const sv = POPs;
     GV * const gv = MUTABLE_GV(POPs);
@@ -1577,12 +1602,12 @@
 PP(pp_sysread)
 {
     dVAR; dSP; dMARK; dORIGMARK; dTARGET;
-    int offset;
+    SSize_t offset;
     IO *io;
     char *buffer;
+    STRLEN orig_size;
     SSize_t length;
     SSize_t count;
-    Sock_size_t bufsize;
     SV *bufsv;
     STRLEN blen;
     int fp_utf8;
@@ -1612,6 +1637,8 @@
     if (! SvOK(bufsv))
 	sv_setpvs(bufsv, "");
     length = SvIVx(*++MARK);
+    if (length < 0)
+	DIE(aTHX_ "Negative length");
     SETERRNO(0,0);
     if (MARK < SP)
 	offset = SvIVx(*++MARK);
@@ -1633,18 +1660,20 @@
 	buffer = SvPV_force(bufsv, blen);
 	buffer_utf8 = !IN_BYTES && SvUTF8(bufsv);
     }
-    if (length < 0)
-	DIE(aTHX_ "Negative length");
-    wanted = length;
+    if (DO_UTF8(bufsv)) {
+	blen = sv_len_utf8_nomg(bufsv);
+    }
 
     charstart = TRUE;
     charskip  = 0;
     skip = 0;
+    wanted = length;
 
 #ifdef HAS_SOCKET
     if (PL_op->op_type == OP_RECV) {
+	Sock_size_t bufsize;
 	char namebuf[MAXPATHLEN];
-#if (defined(VMS_DO_SOCKETS) && defined(DECCRTL_SOCKETS)) || defined(MPE) || defined(__QNXNTO__)
+#if (defined(VMS_DO_SOCKETS) && defined(DECCRTL_SOCKETS)) || defined(__QNXNTO__)
 	bufsize = sizeof (struct sockaddr_in);
 #else
 	bufsize = sizeof namebuf;
@@ -1662,10 +1691,6 @@
 	/* MSG_TRUNC can give oversized count; quietly lose it */
 	if (count > length)
 	    count = length;
-#ifdef EPOC
-        /* Bogus return without padding */
-	bufsize = sizeof (struct sockaddr_in);
-#endif
 	SvCUR_set(bufsv, count);
 	*SvEND(bufsv) = '\0';
 	(void)SvPOK_only(bufsv);
@@ -1681,24 +1706,20 @@
 	RETURN;
     }
 #endif
-    if (DO_UTF8(bufsv)) {
-	/* offset adjust in characters not bytes */
-	blen = sv_len_utf8(bufsv);
-    }
     if (offset < 0) {
-	if (-offset > (int)blen)
+	if (-offset > (SSize_t)blen)
 	    DIE(aTHX_ "Offset outside string");
 	offset += blen;
     }
     if (DO_UTF8(bufsv)) {
 	/* convert offset-as-chars to offset-as-bytes */
-	if (offset >= (int)blen)
+	if (offset >= (SSize_t)blen)
 	    offset += SvCUR(bufsv) - blen;
 	else
 	    offset = utf8_hop((U8 *)buffer,offset) - (U8 *) buffer;
     }
  more_bytes:
-    bufsize = SvCUR(bufsv);
+    orig_size = SvCUR(bufsv);
     /* Allocating length + offset + 1 isn't perfect in the case of reading
        bytes from a byte file handle into a UTF8 buffer, but it won't harm us
        unduly.
@@ -1705,8 +1726,8 @@
        (should be 2 * length + offset + 1, or possibly something longer if
        PL_encoding is true) */
     buffer  = SvGROW(bufsv, (STRLEN)(length+offset+1));
-    if (offset > 0 && (Sock_size_t)offset > bufsize) { /* Zero any newly allocated space */
-    	Zero(buffer+bufsize, offset-bufsize, char);
+    if (offset > 0 && offset > (SSize_t)orig_size) { /* Zero any newly allocated space */
+    	Zero(buffer+orig_size, offset-orig_size, char);
     }
     buffer = buffer + offset;
     if (!buffer_utf8) {
@@ -1740,6 +1761,7 @@
     else
 #ifdef HAS_SOCKET__bad_code_maybe
     if (IoTYPE(io) == IoTYPE_SOCKET) {
+	Sock_size_t bufsize;
 	char namebuf[MAXPATHLEN];
 #if defined(VMS_DO_SOCKETS) && defined(DECCRTL_SOCKETS)
 	bufsize = sizeof (struct sockaddr_in);
@@ -1916,15 +1938,9 @@
 		blen_chars = orig_blen_bytes;
 	    } else {
 		/* The SV really is UTF-8.  */
-		if (SvGMAGICAL(bufsv) || SvAMAGIC(bufsv)) {
-		    /* Don't call sv_len_utf8 again because it will call magic
-		       or overloading a second time, and we might get back a
-		       different result.  */
-		    blen_chars = utf8_length((U8*)buffer, (U8*)buffer + blen);
-		} else {
-		    /* It's safe, and it may well be cached.  */
-		    blen_chars = sv_len_utf8(bufsv);
-		}
+		/* Don't call sv_len_utf8 on a magical or overloaded
+		   scalar, as we might get back a different result.  */
+		blen_chars = sv_or_pv_len_utf8(bufsv, buffer, blen);
 	    }
 	} else {
 	    blen_chars = blen;
@@ -2090,7 +2106,7 @@
     GV *gv;
     IO *io;
 
-    if (MAXARG != 0)
+    if (MAXARG != 0 && (TOPs || POPs))
 	PL_last_in_gv = MUTABLE_GV(POPs);
     else
 	EXTEND(SP, 1);
@@ -2186,14 +2202,14 @@
     /* XXX Configure probe for the signedness of the length type of *truncate() needed? XXX */
     SETERRNO(0,0);
     {
+	SV * const sv = POPs;
 	int result = 1;
 	GV *tmpgv;
 	IO *io;
 
-	if (PL_op->op_flags & OPf_SPECIAL) {
-	    tmpgv = gv_fetchsv(POPs, 0, SVt_PVIO);
-
-	do_ftruncate_gv:
+	if (PL_op->op_flags & OPf_SPECIAL
+	               ? (tmpgv = gv_fetchsv(sv, 0, SVt_PVIO), 1)
+	               : !!(tmpgv = MAYBE_DEREF_GV(sv)) ) {
 	    io = GvIO(tmpgv);
 	    if (!io)
 		result = 0;
@@ -2215,24 +2231,12 @@
 		}
 	    }
 	}
-	else {
-	    SV * const sv = POPs;
-	    const char *name;
-
-	    if (isGV_with_GP(sv)) {
-	        tmpgv = MUTABLE_GV(sv);		/* *main::FRED for example */
-		goto do_ftruncate_gv;
-	    }
-	    else if (SvROK(sv) && isGV_with_GP(SvRV(sv))) {
-	        tmpgv = MUTABLE_GV(SvRV(sv));	/* \*main::FRED for example */
-		goto do_ftruncate_gv;
-	    }
-	    else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVIO) {
+	else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVIO) {
 		io = MUTABLE_IO(SvRV(sv)); /* *main::FRED{IO} for example */
 		goto do_ftruncate_io;
-	    }
-
-	    name = SvPV_nolen_const(sv);
+	}
+	else {
+	    const char * const name = SvPV_nomg_const_nolen(sv);
 	    TAINT_PROPER("truncate");
 #ifdef HAS_TRUNCATE
 	    if (truncate(name, len) < 0)
@@ -2340,7 +2344,7 @@
     dVAR; dSP; dTARGET;
     I32 value;
     const int argtype = POPi;
-    GV * const gv = (MAXARG == 0) ? PL_last_in_gv : MUTABLE_GV(POPs);
+    GV * const gv = MUTABLE_GV(POPs);
     IO *const io = GvIO(gv);
     PerlIO *const fp = io ? IoIFP(io) : NULL;
 
@@ -2372,7 +2376,7 @@
     const int type = POPi;
     const int domain = POPi;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = gv ? GvIOn(gv) : NULL;
+    IO * const io = gv ? GvIOn(gv) : NULL;
     int fd;
 
     if (!io) {
@@ -2403,10 +2407,6 @@
     fcntl(fd, F_SETFD, fd > PL_maxsysfd);	/* ensure close-on-exec */
 #endif
 
-#ifdef EPOC
-    setbuf( IoIFP(io), NULL); /* EPOC gets confused about sockets */
-#endif
-
     RETPUSHYES;
 }
 #endif
@@ -2420,8 +2420,8 @@
     const int domain = POPi;
     GV * const gv2 = MUTABLE_GV(POPs);
     GV * const gv1 = MUTABLE_GV(POPs);
-    register IO * const io1 = gv1 ? GvIOn(gv1) : NULL;
-    register IO * const io2 = gv2 ? GvIOn(gv2) : NULL;
+    IO * const io1 = gv1 ? GvIOn(gv1) : NULL;
+    IO * const io2 = gv2 ? GvIOn(gv2) : NULL;
     int fd[2];
 
     if (!io1)
@@ -2475,7 +2475,7 @@
     /* OK, so on what platform does bind modify addr?  */
     const char *addr;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
     STRLEN len;
     const int op_type = PL_op->op_type;
 
@@ -2503,7 +2503,7 @@
     dVAR; dSP;
     const int backlog = POPi;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = gv ? GvIOn(gv) : NULL;
+    IO * const io = gv ? GvIOn(gv) : NULL;
 
     if (!io || !IoIFP(io))
 	goto nuts;
@@ -2522,10 +2522,10 @@
 PP(pp_accept)
 {
     dVAR; dSP; dTARGET;
-    register IO *nstio;
-    register IO *gstio;
+    IO *nstio;
+    IO *gstio;
     char namebuf[MAXPATHLEN];
-#if (defined(VMS_DO_SOCKETS) && defined(DECCRTL_SOCKETS)) || defined(MPE) || defined(__QNXNTO__)
+#if (defined(VMS_DO_SOCKETS) && defined(DECCRTL_SOCKETS)) || defined(__QNXNTO__)
     Sock_size_t len = sizeof (struct sockaddr_in);
 #else
     Sock_size_t len = sizeof namebuf;
@@ -2573,10 +2573,6 @@
     fcntl(fd, F_SETFD, fd > PL_maxsysfd);	/* ensure close-on-exec */
 #endif
 
-#ifdef EPOC
-    len = sizeof (struct sockaddr_in); /* EPOC somehow truncates info */
-    setbuf( IoIFP(nstio), NULL); /* EPOC gets confused about sockets */
-#endif
 #ifdef __SCO_VERSION__
     len = sizeof (struct sockaddr_in); /* OpenUNIX 8 somehow truncates info */
 #endif
@@ -2598,7 +2594,7 @@
     dVAR; dSP; dTARGET;
     const int how = POPi;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
 
     if (!io || !IoIFP(io))
 	goto nuts;
@@ -2620,7 +2616,7 @@
     const unsigned int optname = (unsigned int) POPi;
     const unsigned int lvl = (unsigned int) POPi;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
     int fd;
     Sock_size_t len;
 
@@ -2689,7 +2685,7 @@
     dVAR; dSP;
     const int optype = PL_op->op_type;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
     Sock_size_t len;
     SV *sv;
     int fd;
@@ -2751,59 +2747,60 @@
     dVAR;
     dSP;
     GV *gv = NULL;
-    IO *io;
+    IO *io = NULL;
     I32 gimme;
     I32 max = 13;
+    SV* sv;
 
-    if (PL_op->op_flags & OPf_REF) {
-	gv = cGVOP_gv;
+    if (PL_op->op_flags & OPf_REF ? (gv = cGVOP_gv, 1)
+                                  : !!(sv=POPs, gv = MAYBE_DEREF_GV(sv))) {
 	if (PL_op->op_type == OP_LSTAT) {
 	    if (gv != PL_defgv) {
 	    do_fstat_warning_check:
 		Perl_ck_warner(aTHX_ packWARN(WARN_IO),
-			       "lstat() on filehandle %s", gv ? GvENAME(gv) : "");
+			       "lstat() on filehandle%s%"SVf,
+				gv ? " " : "",
+				SVfARG(gv
+                                        ? sv_2mortal(newSVhek(GvENAME_HEK(gv)))
+                                        : &PL_sv_no));
 	    } else if (PL_laststype != OP_LSTAT)
+		/* diag_listed_as: The stat preceding %s wasn't an lstat */
 		Perl_croak(aTHX_ "The stat preceding lstat() wasn't an lstat");
 	}
 
-      do_fstat:
 	if (gv != PL_defgv) {
+	    bool havefp;
+          do_fstat_have_io:
+	    havefp = FALSE;
 	    PL_laststype = OP_STAT;
-	    PL_statgv = gv;
+	    PL_statgv = gv ? gv : (GV *)io;
 	    sv_setpvs(PL_statname, "");
             if(gv) {
                 io = GvIO(gv);
-                do_fstat_have_io:
-                if (io) {
+	    }
+            if (io) {
                     if (IoIFP(io)) {
                         PL_laststatval = 
                             PerlLIO_fstat(PerlIO_fileno(IoIFP(io)), &PL_statcache);   
+                        havefp = TRUE;
                     } else if (IoDIRP(io)) {
                         PL_laststatval =
                             PerlLIO_fstat(my_dirfd(IoDIRP(io)), &PL_statcache);
+                        havefp = TRUE;
                     } else {
                         PL_laststatval = -1;
                     }
-	        }
             }
+	    else PL_laststatval = -1;
+	    if (PL_laststatval < 0 && !havefp) report_evil_fh(gv);
         }
 
 	if (PL_laststatval < 0) {
-	    report_evil_fh(gv);
 	    max = 0;
 	}
     }
     else {
-	SV* const sv = POPs;
-	if (isGV_with_GP(sv)) {
-	    gv = MUTABLE_GV(sv);
-	    goto do_fstat;
-	} else if(SvROK(sv) && isGV_with_GP(SvRV(sv))) {
-            gv = MUTABLE_GV(SvRV(sv));
-            if (PL_op->op_type == OP_LSTAT)
-                goto do_fstat_warning_check;
-            goto do_fstat;
-        } else if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVIO) { 
+	if (SvROK(sv) && SvTYPE(SvRV(sv)) == SVt_PVIO) { 
             io = MUTABLE_IO(SvRV(sv));
             if (PL_op->op_type == OP_LSTAT)
                 goto do_fstat_warning_check;
@@ -2810,7 +2807,8 @@
             goto do_fstat_have_io; 
         }
         
-	sv_setpv(PL_statname, SvPV_nolen_const(sv));
+	SvTAINTED_off(PL_statname); /* previous tainting irrelevant */
+	sv_setpv(PL_statname, SvPV_nomg_const_nolen(sv));
 	PL_statgv = NULL;
 	PL_laststype = PL_op->op_type;
 	if (PL_op->op_type == OP_LSTAT)
@@ -2834,7 +2832,15 @@
 	EXTEND(SP, max);
 	EXTEND_MORTAL(max);
 	mPUSHi(PL_statcache.st_dev);
+#if ST_INO_SIZE > IVSIZE
+	mPUSHn(PL_statcache.st_ino);
+#else
+#   if ST_INO_SIGN <= 0
 	mPUSHi(PL_statcache.st_ino);
+#   else
+	mPUSHu(PL_statcache.st_ino);
+#   endif
+#endif
 	mPUSHu(PL_statcache.st_mode);
 	mPUSHu(PL_statcache.st_nlink);
 #if Uid_t_size > IVSIZE
@@ -2885,62 +2891,85 @@
     RETURN;
 }
 
+/* All filetest ops avoid manipulating the perl stack pointer in their main
+   bodies (since commit d2c4d2d1e22d3125), and return using either
+   S_ft_return_false() or S_ft_return_true().  These two helper functions are
+   the only two which manipulate the perl stack.  To ensure that no stack
+   manipulation macros are used, the filetest ops avoid defining a local copy
+   of the stack pointer with dSP.  */
+
+/* If the next filetest is stacked up with this one
+   (PL_op->op_private & OPpFT_STACKING), we leave
+   the original argument on the stack for success,
+   and skip the stacked operators on failure.
+   The next few macros/functions take care of this.
+*/
+
+static OP *
+S_ft_return_false(pTHX_ SV *ret) {
+    OP *next = NORMAL;
+    dSP;
+
+    if (PL_op->op_flags & OPf_REF) XPUSHs(ret);
+    else			   SETs(ret);
+    PUTBACK;
+
+    if (PL_op->op_private & OPpFT_STACKING) {
+        while (OP_IS_FILETEST(next->op_type)
+               && next->op_private & OPpFT_STACKED)
+            next = next->op_next;
+    }
+    return next;
+}
+
+PERL_STATIC_INLINE OP *
+S_ft_return_true(pTHX_ SV *ret) {
+    dSP;
+    if (PL_op->op_flags & OPf_REF)
+        XPUSHs(PL_op->op_private & OPpFT_STACKING ? (SV *)cGVOP_gv : (ret));
+    else if (!(PL_op->op_private & OPpFT_STACKING))
+        SETs(ret);
+    PUTBACK;
+    return NORMAL;
+}
+
+#define FT_RETURNNO	return S_ft_return_false(aTHX_ &PL_sv_no)
+#define FT_RETURNUNDEF	return S_ft_return_false(aTHX_ &PL_sv_undef)
+#define FT_RETURNYES	return S_ft_return_true(aTHX_ &PL_sv_yes)
+
 #define tryAMAGICftest_MG(chr) STMT_START { \
-	if ( (SvFLAGS(TOPs) & (SVf_ROK|SVs_GMG)) \
-		&& S_try_amagic_ftest(aTHX_ chr)) \
-	    return NORMAL; \
+	if ( (SvFLAGS(*PL_stack_sp) & (SVf_ROK|SVs_GMG)) \
+		&& PL_op->op_flags & OPf_KIDS) {     \
+	    OP *next = S_try_amagic_ftest(aTHX_ chr);	\
+	    if (next) return next;			  \
+	}						   \
     } STMT_END
 
-STATIC bool
+STATIC OP *
 S_try_amagic_ftest(pTHX_ char chr) {
     dVAR;
-    dSP;
-    SV* const arg = TOPs;
+    SV *const arg = *PL_stack_sp;
 
     assert(chr != '?');
-    SvGETMAGIC(arg);
+    if (!(PL_op->op_private & OPpFT_STACKING)) SvGETMAGIC(arg);
 
-    if ((PL_op->op_flags & OPf_KIDS)
-	    && SvAMAGIC(TOPs))
+    if (SvAMAGIC(arg))
     {
 	const char tmpchr = chr;
-	const OP *next;
 	SV * const tmpsv = amagic_call(arg,
 				newSVpvn_flags(&tmpchr, 1, SVs_TEMP),
 				ftest_amg, AMGf_unary);
 
 	if (!tmpsv)
-	    return FALSE;
+	    return NULL;
 
-	SPAGAIN;
-
-	next = PL_op->op_next;
-	if (next->op_type >= OP_FTRREAD &&
-	    next->op_type <= OP_FTBINARY &&
-	    next->op_private & OPpFT_STACKED
-	) {
-	    if (SvTRUE(tmpsv))
-		/* leave the object alone */
-		return TRUE;
-	}
-
-	SETs(tmpsv);
-	PUTBACK;
-	return TRUE;
+	return SvTRUE(tmpsv)
+            ? S_ft_return_true(aTHX_ tmpsv) : S_ft_return_false(aTHX_ tmpsv);
     }
-    return FALSE;
+    return NULL;
 }
 
 
-/* This macro is used by the stacked filetest operators :
- * if the previous filetest failed, short-circuit and pass its value.
- * Else, discard it from the stack and continue. --rgs
- */
-#define STACKED_FTEST_CHECK if (PL_op->op_private & OPpFT_STACKED) { \
-	if (!SvTRUE(TOPs)) { RETURN; } \
-	else { (void)POPs; PUTBACK; } \
-    }
-
 PP(pp_ftrread)
 {
     dVAR;
@@ -2964,7 +2993,6 @@
 
     bool effective = FALSE;
     char opchar = '?';
-    dSP;
 
     switch (PL_op->op_type) {
     case OP_FTRREAD:	opchar = 'R'; break;
@@ -2976,8 +3004,6 @@
     }
     tryAMAGICftest_MG(opchar);
 
-    STACKED_FTEST_CHECK;
-
     switch (PL_op->op_type) {
     case OP_FTRREAD:
 #if !(defined(HAS_ACCESS) && defined(R_OK))
@@ -3030,7 +3056,7 @@
 
     if (use_access) {
 #if defined(HAS_ACCESS) || defined (PERL_EFF_ACCESS)
-	const char *name = POPpx;
+	const char *name = SvPV_nolen(*PL_stack_sp);
 	if (effective) {
 #  ifdef PERL_EFF_ACCESS
 	    result = PERL_EFF_ACCESS(name, access_mode);
@@ -3047,20 +3073,19 @@
 #  endif
 	}
 	if (result == 0)
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	if (result < 0)
-	    RETPUSHUNDEF;
-	RETPUSHNO;
+	    FT_RETURNUNDEF;
+	FT_RETURNNO;
 #endif
     }
 
     result = my_stat_flags(0);
-    SPAGAIN;
     if (result < 0)
-	RETPUSHUNDEF;
+	FT_RETURNUNDEF;
     if (cando(stat_mode, effective, &PL_statcache))
-	RETPUSHYES;
-    RETPUSHNO;
+	FT_RETURNYES;
+    FT_RETURNNO;
 }
 
 PP(pp_ftis)
@@ -3069,7 +3094,6 @@
     I32 result;
     const int op_type = PL_op->op_type;
     char opchar = '?';
-    dSP;
 
     switch (op_type) {
     case OP_FTIS:	opchar = 'e'; break;
@@ -3080,14 +3104,11 @@
     }
     tryAMAGICftest_MG(opchar);
 
-    STACKED_FTEST_CHECK;
-
     result = my_stat_flags(0);
-    SPAGAIN;
     if (result < 0)
-	RETPUSHUNDEF;
+	FT_RETURNUNDEF;
     if (op_type == OP_FTIS)
-	RETPUSHYES;
+	FT_RETURNYES;
     {
 	/* You can't dTARGET inside OP_FTIS, because you'll get
 	   "panic: pad_sv po" - the op is not flagged to have a target.  */
@@ -3095,23 +3116,28 @@
 	switch (op_type) {
 	case OP_FTSIZE:
 #if Off_t_size > IVSIZE
-	    PUSHn(PL_statcache.st_size);
+	    sv_setnv(TARG, (NV)PL_statcache.st_size);
 #else
-	    PUSHi(PL_statcache.st_size);
+	    sv_setiv(TARG, (IV)PL_statcache.st_size);
 #endif
 	    break;
 	case OP_FTMTIME:
-	    PUSHn( (((NV)PL_basetime - PL_statcache.st_mtime)) / 86400.0 );
+	    sv_setnv(TARG,
+		    ((NV)PL_basetime - PL_statcache.st_mtime) / 86400.0 );
 	    break;
 	case OP_FTATIME:
-	    PUSHn( (((NV)PL_basetime - PL_statcache.st_atime)) / 86400.0 );
+	    sv_setnv(TARG,
+		    ((NV)PL_basetime - PL_statcache.st_atime) / 86400.0 );
 	    break;
 	case OP_FTCTIME:
-	    PUSHn( (((NV)PL_basetime - PL_statcache.st_ctime)) / 86400.0 );
+	    sv_setnv(TARG,
+		    ((NV)PL_basetime - PL_statcache.st_ctime) / 86400.0 );
 	    break;
 	}
+	SvSETMAGIC(TARG);
+	return SvTRUE_nomg(TARG)
+            ? S_ft_return_true(aTHX_ TARG) : S_ft_return_false(aTHX_ TARG);
     }
-    RETURN;
 }
 
 PP(pp_ftrowned)
@@ -3119,7 +3145,6 @@
     dVAR;
     I32 result;
     char opchar = '?';
-    dSP;
 
     switch (PL_op->op_type) {
     case OP_FTROWNED:	opchar = 'O'; break;
@@ -3137,215 +3162,185 @@
     }
     tryAMAGICftest_MG(opchar);
 
-    STACKED_FTEST_CHECK;
-
     /* I believe that all these three are likely to be defined on most every
        system these days.  */
 #ifndef S_ISUID
     if(PL_op->op_type == OP_FTSUID) {
-	if ((PL_op->op_flags & OPf_REF) == 0 && (PL_op->op_private & OPpFT_STACKED) == 0)
-	    (void) POPs;
-	RETPUSHNO;
+	FT_RETURNNO;
     }
 #endif
 #ifndef S_ISGID
     if(PL_op->op_type == OP_FTSGID) {
-	if ((PL_op->op_flags & OPf_REF) == 0 && (PL_op->op_private & OPpFT_STACKED) == 0)
-	    (void) POPs;
-	RETPUSHNO;
+	FT_RETURNNO;
     }
 #endif
 #ifndef S_ISVTX
     if(PL_op->op_type == OP_FTSVTX) {
-	if ((PL_op->op_flags & OPf_REF) == 0 && (PL_op->op_private & OPpFT_STACKED) == 0)
-	    (void) POPs;
-	RETPUSHNO;
+	FT_RETURNNO;
     }
 #endif
 
     result = my_stat_flags(0);
-    SPAGAIN;
     if (result < 0)
-	RETPUSHUNDEF;
+	FT_RETURNUNDEF;
     switch (PL_op->op_type) {
     case OP_FTROWNED:
-	if (PL_statcache.st_uid == PL_uid)
-	    RETPUSHYES;
+	if (PL_statcache.st_uid == PerlProc_getuid())
+	    FT_RETURNYES;
 	break;
     case OP_FTEOWNED:
-	if (PL_statcache.st_uid == PL_euid)
-	    RETPUSHYES;
+	if (PL_statcache.st_uid == PerlProc_geteuid())
+	    FT_RETURNYES;
 	break;
     case OP_FTZERO:
 	if (PL_statcache.st_size == 0)
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
     case OP_FTSOCK:
 	if (S_ISSOCK(PL_statcache.st_mode))
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
     case OP_FTCHR:
 	if (S_ISCHR(PL_statcache.st_mode))
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
     case OP_FTBLK:
 	if (S_ISBLK(PL_statcache.st_mode))
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
     case OP_FTFILE:
 	if (S_ISREG(PL_statcache.st_mode))
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
     case OP_FTDIR:
 	if (S_ISDIR(PL_statcache.st_mode))
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
     case OP_FTPIPE:
 	if (S_ISFIFO(PL_statcache.st_mode))
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
 #ifdef S_ISUID
     case OP_FTSUID:
 	if (PL_statcache.st_mode & S_ISUID)
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
 #endif
 #ifdef S_ISGID
     case OP_FTSGID:
 	if (PL_statcache.st_mode & S_ISGID)
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
 #endif
 #ifdef S_ISVTX
     case OP_FTSVTX:
 	if (PL_statcache.st_mode & S_ISVTX)
-	    RETPUSHYES;
+	    FT_RETURNYES;
 	break;
 #endif
     }
-    RETPUSHNO;
+    FT_RETURNNO;
 }
 
 PP(pp_ftlink)
 {
     dVAR;
-    dSP;
     I32 result;
 
     tryAMAGICftest_MG('l');
     result = my_lstat_flags(0);
-    SPAGAIN;
 
     if (result < 0)
-	RETPUSHUNDEF;
+	FT_RETURNUNDEF;
     if (S_ISLNK(PL_statcache.st_mode))
-	RETPUSHYES;
-    RETPUSHNO;
+	FT_RETURNYES;
+    FT_RETURNNO;
 }
 
 PP(pp_fttty)
 {
     dVAR;
-    dSP;
     int fd;
     GV *gv;
-    SV *tmpsv = NULL;
     char *name = NULL;
     STRLEN namelen;
 
     tryAMAGICftest_MG('t');
 
-    STACKED_FTEST_CHECK;
-
     if (PL_op->op_flags & OPf_REF)
 	gv = cGVOP_gv;
-    else if (isGV_with_GP(TOPs))
-	gv = MUTABLE_GV(POPs);
-    else if (SvROK(TOPs) && isGV(SvRV(TOPs)))
-	gv = MUTABLE_GV(SvRV(POPs));
     else {
-	tmpsv = POPs;
+      SV *tmpsv = *PL_stack_sp;
+      if (!(gv = MAYBE_DEREF_GV_nomg(tmpsv))) {
 	name = SvPV_nomg(tmpsv, namelen);
 	gv = gv_fetchpvn_flags(name, namelen, SvUTF8(tmpsv), SVt_PVIO);
+      }
     }
 
     if (GvIO(gv) && IoIFP(GvIOp(gv)))
 	fd = PerlIO_fileno(IoIFP(GvIOp(gv)));
-    else if (tmpsv && SvOK(tmpsv)) {
-	if (isDIGIT(*name))
+    else if (name && isDIGIT(*name))
 	    fd = atoi(name);
-	else 
-	    RETPUSHUNDEF;
-    }
     else
-	RETPUSHUNDEF;
+	FT_RETURNUNDEF;
     if (PerlLIO_isatty(fd))
-	RETPUSHYES;
-    RETPUSHNO;
+	FT_RETURNYES;
+    FT_RETURNNO;
 }
 
-#if defined(atarist) /* this will work with atariST. Configure will
-			make guesses for other systems. */
-# define FILE_base(f) ((f)->_base)
-# define FILE_ptr(f) ((f)->_ptr)
-# define FILE_cnt(f) ((f)->_cnt)
-# define FILE_bufsiz(f) ((f)->_cnt + ((f)->_ptr - (f)->_base))
-#endif
-
 PP(pp_fttext)
 {
     dVAR;
-    dSP;
     I32 i;
     I32 len;
     I32 odd = 0;
     STDCHAR tbuf[512];
-    register STDCHAR *s;
-    register IO *io;
-    register SV *sv;
+    STDCHAR *s;
+    IO *io;
+    SV *sv = NULL;
     GV *gv;
     PerlIO *fp;
 
     tryAMAGICftest_MG(PL_op->op_type == OP_FTTEXT ? 'T' : 'B');
 
-    STACKED_FTEST_CHECK;
-
     if (PL_op->op_flags & OPf_REF)
 	gv = cGVOP_gv;
-    else if (isGV_with_GP(TOPs))
-	gv = MUTABLE_GV(POPs);
-    else if (SvROK(TOPs) && isGV(SvRV(TOPs)))
-	gv = MUTABLE_GV(SvRV(POPs));
-    else
-	gv = NULL;
+    else if ((PL_op->op_private & (OPpFT_STACKED|OPpFT_AFTER_t))
+	     == OPpFT_STACKED)
+	gv = PL_defgv;
+    else {
+	sv = *PL_stack_sp;
+	gv = MAYBE_DEREF_GV_nomg(sv);
+    }
 
     if (gv) {
-	EXTEND(SP, 1);
 	if (gv == PL_defgv) {
 	    if (PL_statgv)
-		io = GvIO(PL_statgv);
+		io = SvTYPE(PL_statgv) == SVt_PVIO
+		    ? (IO *)PL_statgv
+		    : GvIO(PL_statgv);
 	    else {
-		sv = PL_statname;
 		goto really_filename;
 	    }
 	}
 	else {
 	    PL_statgv = gv;
-	    PL_laststatval = -1;
 	    sv_setpvs(PL_statname, "");
 	    io = GvIO(PL_statgv);
 	}
+	PL_laststatval = -1;
+	PL_laststype = OP_STAT;
 	if (io && IoIFP(io)) {
 	    if (! PerlIO_has_base(IoIFP(io)))
 		DIE(aTHX_ "-T and -B not implemented on filehandles");
 	    PL_laststatval = PerlLIO_fstat(PerlIO_fileno(IoIFP(io)), &PL_statcache);
 	    if (PL_laststatval < 0)
-		RETPUSHUNDEF;
+		FT_RETURNUNDEF;
 	    if (S_ISDIR(PL_statcache.st_mode)) { /* handle NFS glitch */
 		if (PL_op->op_type == OP_FTTEXT)
-		    RETPUSHNO;
+		    FT_RETURNNO;
 		else
-		    RETPUSHYES;
+		    FT_RETURNYES;
             }
 	    if (PerlIO_get_cnt(IoIFP(io)) <= 0) {
 		i = PerlIO_getc(IoIFP(io));
@@ -3353,7 +3348,7 @@
 		    (void)PerlIO_ungetc(IoIFP(io),i);
 	    }
 	    if (PerlIO_get_cnt(IoIFP(io)) <= 0)	/* null file is anything */
-		RETPUSHYES;
+		FT_RETURNYES;
 	    len = PerlIO_get_bufsiz(IoIFP(io));
 	    s = (STDCHAR *) PerlIO_get_base(IoIFP(io));
 	    /* sfio can have large buffers - limit to 512 */
@@ -3361,27 +3356,31 @@
 		len = 512;
 	}
 	else {
-	    report_evil_fh(cGVOP_gv);
 	    SETERRNO(EBADF,RMS_IFI);
-	    RETPUSHUNDEF;
+	    report_evil_fh(gv);
+	    SETERRNO(EBADF,RMS_IFI);
+	    FT_RETURNUNDEF;
 	}
     }
     else {
-	sv = POPs;
+	sv_setpv(PL_statname, SvPV_nomg_const_nolen(sv));
       really_filename:
 	PL_statgv = NULL;
-	PL_laststype = OP_STAT;
-	sv_setpv(PL_statname, SvPV_nomg_const_nolen(sv));
 	if (!(fp = PerlIO_open(SvPVX_const(PL_statname), "r"))) {
+	    if (!gv) {
+		PL_laststatval = -1;
+		PL_laststype = OP_STAT;
+	    }
 	    if (ckWARN(WARN_NEWLINE) && strchr(SvPV_nolen_const(PL_statname),
 					       '\n'))
 		Perl_warner(aTHX_ packWARN(WARN_NEWLINE), PL_warn_nl, "open");
-	    RETPUSHUNDEF;
+	    FT_RETURNUNDEF;
 	}
+	PL_laststype = OP_STAT;
 	PL_laststatval = PerlLIO_fstat(PerlIO_fileno(fp), &PL_statcache);
 	if (PL_laststatval < 0)	{
 	    (void)PerlIO_close(fp);
-	    RETPUSHUNDEF;
+	    FT_RETURNUNDEF;
 	}
 	PerlIO_binmode(aTHX_ fp, '<', O_BINARY, NULL);
 	len = PerlIO_read(fp, tbuf, sizeof(tbuf));
@@ -3388,8 +3387,8 @@
 	(void)PerlIO_close(fp);
 	if (len <= 0) {
 	    if (S_ISDIR(PL_statcache.st_mode) && PL_op->op_type == OP_FTTEXT)
-		RETPUSHNO;		/* special case NFS directories */
-	    RETPUSHYES;		/* null file is anything */
+		FT_RETURNNO;		/* special case NFS directories */
+	    FT_RETURNYES;		/* null file is anything */
 	}
 	s = tbuf;
     }
@@ -3443,9 +3442,9 @@
     }
 
     if ((odd * 3 > len) == (PL_op->op_type == OP_FTTEXT)) /* allow 1/3 odd */
-	RETPUSHNO;
+	FT_RETURNNO;
     else
-	RETPUSHYES;
+	FT_RETURNYES;
 }
 
 /* File calls. */
@@ -3461,15 +3460,8 @@
 	if (PL_op->op_flags & OPf_SPECIAL) {
 	    gv = gv_fetchsv(sv, 0, SVt_PVIO);
 	}
-        else if (isGV_with_GP(sv)) {
-	    gv = MUTABLE_GV(sv);
-        }
-	else if (SvROK(sv) && isGV_with_GP(SvRV(sv))) {
-            gv = MUTABLE_GV(SvRV(sv));
-        }
-        else {
-	    tmps = SvPV_nolen_const(sv);
-	}
+        else if (!(gv = MAYBE_DEREF_GV(sv)))
+		tmps = SvPV_nomg_const_nolen(sv);
     }
 
     if( !gv && (!tmps || !*tmps) ) {
@@ -3566,7 +3558,7 @@
 	if (same_dirent(tmps2, tmps))	/* can always rename to same name */
 	    anum = 1;
 	else {
-	    if (PL_euid || PerlLIO_stat(tmps2, &PL_statbuf) < 0 || !S_ISDIR(PL_statbuf.st_mode))
+	    if (PerlProc_geteuid() || PerlLIO_stat(tmps2, &PL_statbuf) < 0 || !S_ISDIR(PL_statbuf.st_mode))
 		(void)UNLINK(tmps2);
 	    if (!(anum = link(tmps, tmps2)))
 		anum = UNLINK(tmps);
@@ -3768,7 +3760,7 @@
     STRLEN len;
     const char *tmps;
     bool copy = FALSE;
-    const int mode = (MAXARG > 1) ? POPi : 0777;
+    const int mode = (MAXARG > 1 && (TOPs||((void)POPs,0))) ? POPi : 0777;
 
     TRIMSLASHES(tmps,len,copy);
 
@@ -3816,7 +3808,7 @@
     dVAR; dSP;
     const char * const dirname = POPpconstx;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
 
     if (!io)
 	goto nope;
@@ -3823,8 +3815,8 @@
 
     if ((IoIFP(io) || IoOFP(io)))
 	Perl_ck_warner_d(aTHX_ packWARN2(WARN_IO, WARN_DEPRECATED),
-			 "Opening filehandle %s also as a directory",
-			 GvENAME(gv));
+			 "Opening filehandle %"HEKf" also as a directory",
+			     HEKfARG(GvENAME_HEK(gv)) );
     if (IoDIRP(io))
 	PerlDir_close(IoDIRP(io));
     if (!(IoDIRP(io) = PerlDir_open(dirname)))
@@ -3854,12 +3846,13 @@
     SV *sv;
     const I32 gimme = GIMME;
     GV * const gv = MUTABLE_GV(POPs);
-    register const Direntry_t *dp;
-    register IO * const io = GvIOn(gv);
+    const Direntry_t *dp;
+    IO * const io = GvIOn(gv);
 
     if (!io || !IoDIRP(io)) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_IO),
-		       "readdir() attempted on invalid dirhandle %s", GvENAME(gv));
+		       "readdir() attempted on invalid dirhandle %"HEKf,
+                            HEKfARG(GvENAME_HEK(gv)));
         goto nope;
     }
 
@@ -3906,11 +3899,12 @@
     long telldir (DIR *);
 # endif
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
 
     if (!io || !IoDIRP(io)) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_IO),
-		       "telldir() attempted on invalid dirhandle %s", GvENAME(gv));
+		       "telldir() attempted on invalid dirhandle %"HEKf,
+                            HEKfARG(GvENAME_HEK(gv)));
         goto nope;
     }
 
@@ -3931,11 +3925,12 @@
     dVAR; dSP;
     const long along = POPl;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
 
     if (!io || !IoDIRP(io)) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_IO),
-		       "seekdir() attempted on invalid dirhandle %s", GvENAME(gv));
+		       "seekdir() attempted on invalid dirhandle %"HEKf,
+                                HEKfARG(GvENAME_HEK(gv)));
         goto nope;
     }
     (void)PerlDir_seek(IoDIRP(io), along);
@@ -3955,11 +3950,12 @@
 #if defined(HAS_REWINDDIR) || defined(rewinddir)
     dVAR; dSP;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
 
     if (!io || !IoDIRP(io)) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_IO),
-		       "rewinddir() attempted on invalid dirhandle %s", GvENAME(gv));
+		       "rewinddir() attempted on invalid dirhandle %"HEKf,
+                                HEKfARG(GvENAME_HEK(gv)));
 	goto nope;
     }
     (void)PerlDir_rewind(IoDIRP(io));
@@ -3978,11 +3974,12 @@
 #if defined(Direntry_t) && defined(HAS_READDIR)
     dVAR; dSP;
     GV * const gv = MUTABLE_GV(POPs);
-    register IO * const io = GvIOn(gv);
+    IO * const io = GvIOn(gv);
 
     if (!io || !IoDIRP(io)) {
 	Perl_ck_warner(aTHX_ packWARN(WARN_IO),
-		       "closedir() attempted on invalid dirhandle %s", GvENAME(gv));
+		       "closedir() attempted on invalid dirhandle %"HEKf,
+                                HEKfARG(GvENAME_HEK(gv)));
         goto nope;
     }
 #ifdef VOID_CLOSEDIR
@@ -4012,22 +4009,34 @@
 #ifdef HAS_FORK
     dVAR; dSP; dTARGET;
     Pid_t childpid;
+#if defined(HAS_SIGPROCMASK) && !defined(PERL_MICRO)
+    sigset_t oldmask, newmask;
+#endif
 
     EXTEND(SP, 1);
     PERL_FLUSHALL_FOR_CHILD;
+#if defined(HAS_SIGPROCMASK) && !defined(PERL_MICRO)
+    sigfillset(&newmask);
+    sigprocmask(SIG_SETMASK, &newmask, &oldmask);
+#endif
     childpid = PerlProc_fork();
+    if (childpid == 0) {
+	int sig;
+	PL_sig_pending = 0;
+	if (PL_psig_pend)
+	    for (sig = 1; sig < SIG_SIZE; sig++)
+		PL_psig_pend[sig] = 0;
+    }
+#if defined(HAS_SIGPROCMASK) && !defined(PERL_MICRO)
+    {
+	dSAVE_ERRNO;
+	sigprocmask(SIG_SETMASK, &oldmask, NULL);
+	RESTORE_ERRNO;
+    }
+#endif
     if (childpid < 0)
-	RETSETUNDEF;
+	RETPUSHUNDEF;
     if (!childpid) {
-	GV * const tmpgv = gv_fetchpvs("$", GV_ADD|GV_NOTQUAL, SVt_PV);
-	if (tmpgv) {
-            SvREADONLY_off(GvSV(tmpgv));
-	    sv_setiv(GvSV(tmpgv), (IV)PerlProc_getpid());
-            SvREADONLY_on(GvSV(tmpgv));
-        }
-#ifdef THREADS_HAVE_PIDS
-	PL_ppid = (IV)getppid();
-#endif
 #ifdef PERL_USES_PL_PIDSTATUS
 	hv_clear(PL_pidstatus);	/* no kids, so don't wait for 'em */
 #endif
@@ -4043,7 +4052,7 @@
     PERL_FLUSHALL_FOR_CHILD;
     childpid = PerlProc_fork();
     if (childpid == -1)
-	RETSETUNDEF;
+	RETPUSHUNDEF;
     PUSHi(childpid);
     RETURN;
 #  else
@@ -4121,11 +4130,11 @@
     I32 value;
     int result;
 
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	TAINT_ENV();
 	while (++MARK <= SP) {
 	    (void)SvPV_nolen_const(*MARK);      /* stringify for taint check */
-	    if (PL_tainted)
+	    if (TAINT_get)
 		break;
 	}
 	MARK = ORIGMARK;
@@ -4137,9 +4146,17 @@
 	Pid_t childpid;
 	int pp[2];
 	I32 did_pipes = 0;
+#if (defined(HAS_SIGPROCMASK) && !defined(PERL_MICRO))
+	sigset_t newset, oldset;
+#endif
 
 	if (PerlProc_pipe(pp) >= 0)
 	    did_pipes = 1;
+#if (defined(HAS_SIGPROCMASK) && !defined(PERL_MICRO))
+	sigemptyset(&newset);
+	sigaddset(&newset, SIGCHLD);
+	sigprocmask(SIG_BLOCK, &newset, &oldset);
+#endif
 	while ((childpid = PerlProc_fork()) == -1) {
 	    if (errno != EAGAIN) {
 		value = -1;
@@ -4149,6 +4166,9 @@
 		    PerlLIO_close(pp[0]);
 		    PerlLIO_close(pp[1]);
 		}
+#if (defined(HAS_SIGPROCMASK) && !defined(PERL_MICRO))
+		sigprocmask(SIG_SETMASK, &oldset, NULL);
+#endif
 		RETURN;
 	    }
 	    sleep(5);
@@ -4167,6 +4187,9 @@
 		result = wait4pid(childpid, &status, 0);
 	    } while (result == -1 && errno == EINTR);
 #ifndef PERL_MICRO
+#ifdef HAS_SIGPROCMASK
+	    sigprocmask(SIG_SETMASK, &oldset, NULL);
+#endif
 	    (void)rsignal_restore(SIGINT, &ihand);
 	    (void)rsignal_restore(SIGQUIT, &qhand);
 #endif
@@ -4189,7 +4212,7 @@
 		PerlLIO_close(pp[0]);
 		if (n) {			/* Error */
 		    if (n != sizeof(int))
-			DIE(aTHX_ "panic: kid popen errno read");
+			DIE(aTHX_ "panic: kid popen errno read, n=%u", n);
 		    errno = errkid;		/* Propagate errno from kid */
 		    STATUS_NATIVE_CHILD_SET(-1);
 		}
@@ -4197,6 +4220,9 @@
 	    XPUSHi(STATUS_CURRENT);
 	    RETURN;
 	}
+#if (defined(HAS_SIGPROCMASK) && !defined(PERL_MICRO))
+	sigprocmask(SIG_SETMASK, &oldset, NULL);
+#endif
 	if (did_pipes) {
 	    PerlLIO_close(pp[0]);
 #if defined(HAS_FCNTL) && defined(F_SETFD)
@@ -4251,11 +4277,11 @@
     dVAR; dSP; dMARK; dORIGMARK; dTARGET;
     I32 value;
 
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	TAINT_ENV();
 	while (++MARK <= SP) {
 	    (void)SvPV_nolen_const(*MARK);      /* stringify for taint check */
-	    if (PL_tainted)
+	    if (TAINT_get)
 		break;
 	}
 	MARK = ORIGMARK;
@@ -4270,25 +4296,13 @@
 #ifdef VMS
 	value = (I32)vms_do_aexec(NULL, MARK, SP);
 #else
-#  ifdef __OPEN_VM
-	{
-	   (void ) do_aspawn(NULL, MARK, SP);
-	   value = 0;
-	}
-#  else
 	value = (I32)do_aexec(NULL, MARK, SP);
-#  endif
 #endif
     else {
 #ifdef VMS
 	value = (I32)vms_do_exec(SvPVx_nolen(sv_mortalcopy(*SP)));
 #else
-#  ifdef __OPEN_VM
-	(void) do_spawn(SvPVx_nolen(sv_mortalcopy(*SP)));
-	value = 0;
-#  else
 	value = (I32)do_exec(SvPVx_nolen(sv_mortalcopy(*SP)));
-#  endif
 #endif
     }
 
@@ -4301,14 +4315,7 @@
 {
 #ifdef HAS_GETPPID
     dVAR; dSP; dTARGET;
-#   ifdef THREADS_HAVE_PIDS
-    if (PL_ppid != 1 && getppid() == 1)
-	/* maybe the parent process has died. Refresh ppid cache */
-	PL_ppid = 1;
-    XPUSHi( PL_ppid );
-#   else
     XPUSHi( getppid() );
-#   endif
     RETURN;
 #else
     DIE(aTHX_ PL_no_func, "getppid");
@@ -4320,7 +4327,8 @@
 #ifdef HAS_GETPGRP
     dVAR; dSP; dTARGET;
     Pid_t pgrp;
-    const Pid_t pid = (MAXARG < 1) ? 0 : SvIVx(POPs);
+    const Pid_t pid =
+	(MAXARG < 1) ? 0 : TOPs ? SvIVx(POPs) : ((void)POPs, 0);
 
 #ifdef BSD_GETPGRP
     pgrp = (I32)BSD_GETPGRP(pid);
@@ -4342,15 +4350,12 @@
     dVAR; dSP; dTARGET;
     Pid_t pgrp;
     Pid_t pid;
-    if (MAXARG < 2) {
-	pgrp = 0;
+    pgrp = MAXARG == 2 && (TOPs||POPs) ? POPi : 0;
+    if (MAXARG > 0) pid = TOPs && TOPi;
+    else {
 	pid = 0;
 	XPUSHi(-1);
     }
-    else {
-	pgrp = POPi;
-	pid = TOPi;
-    }
 
     TAINT_PROPER("setpgrp");
 #ifdef BSD_SETPGRP
@@ -4479,7 +4484,7 @@
 	{"Jan", "Feb", "Mar", "Apr", "May", "Jun",
 	 "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
 
-    if (MAXARG < 1) {
+    if (MAXARG < 1 || (!TOPs && ((void)POPs, 1))) {
 	time_t now;
 	(void)time(&now);
 	when = (Time64_T)now;
@@ -4488,6 +4493,7 @@
 	NV input = Perl_floor(POPn);
 	when = (Time64_T)input;
 	if (when != input) {
+	    /* diag_listed_as: gmtime(%f) too large */
 	    Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
 			   "%s(%.0" NVff ") too large", opname, input);
 	}
@@ -4494,11 +4500,13 @@
     }
 
     if ( TIME_LOWER_BOUND > when ) {
+	/* diag_listed_as: gmtime(%f) too small */
 	Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
 		       "%s(%.0" NVff ") too small", opname, when);
 	err = NULL;
     }
     else if( when > TIME_UPPER_BOUND ) {
+	/* diag_listed_as: gmtime(%f) too small */
 	Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
 		       "%s(%.0" NVff ") too large", opname, when);
 	err = NULL;
@@ -4579,7 +4587,7 @@
     Time_t when;
 
     (void)time(&lasttime);
-    if (MAXARG < 1)
+    if (MAXARG < 1 || (!TOPs && !POPs))
 	PerlProc_pause();
     else {
 	duration = POPi;
@@ -4690,8 +4698,8 @@
 #if defined(HAS_GETHOSTBYNAME) || defined(HAS_GETHOSTBYADDR) || defined(HAS_GETHOSTENT)
     dVAR; dSP;
     I32 which = PL_op->op_type;
-    register char **elem;
-    register SV *sv;
+    char **elem;
+    SV *sv;
 #ifndef HAS_GETHOST_PROTOS /* XXX Do we need individual probes? */
     struct hostent *gethostbyaddr(Netdb_host_t, Netdb_hlen_t, int);
     struct hostent *gethostbyname(Netdb_name_t);
@@ -4780,7 +4788,7 @@
 #if defined(HAS_GETNETBYNAME) || defined(HAS_GETNETBYADDR) || defined(HAS_GETNETENT)
     dVAR; dSP;
     I32 which = PL_op->op_type;
-    register SV *sv;
+    SV *sv;
 #ifndef HAS_GETNET_PROTOS /* XXX Do we need individual probes? */
     struct netent *getnetbyaddr(Netdb_net_t, int);
     struct netent *getnetbyname(Netdb_name_t);
@@ -4853,7 +4861,7 @@
 #if defined(HAS_GETPROTOBYNAME) || defined(HAS_GETPROTOBYNUMBER) || defined(HAS_GETPROTOENT)
     dVAR; dSP;
     I32 which = PL_op->op_type;
-    register SV *sv;
+    SV *sv;
 #ifndef HAS_GETPROTO_PROTOS /* XXX Do we need individual probes? */
     struct protoent *getprotobyname(Netdb_name_t);
     struct protoent *getprotobynumber(int);
@@ -4913,7 +4921,7 @@
 #if defined(HAS_GETSERVBYNAME) || defined(HAS_GETSERVBYPORT) || defined(HAS_GETSERVENT)
     dVAR; dSP;
     I32 which = PL_op->op_type;
-    register SV *sv;
+    SV *sv;
 #ifndef HAS_GETSERV_PROTOS /* XXX Do we need individual probes? */
     struct servent *getservbyname(Netdb_name_t, Netdb_name_t);
     struct servent *getservbyport(int, Netdb_name_t);
@@ -5090,7 +5098,7 @@
 #ifdef HAS_PASSWD
     dVAR; dSP;
     I32 which = PL_op->op_type;
-    register SV *sv;
+    SV *sv;
     struct passwd *pwent  = NULL;
     /*
      * We currently support only the SysV getsp* shadow password interface.
@@ -5414,12 +5422,12 @@
 {
 #ifdef HAS_SYSCALL
     dVAR; dSP; dMARK; dORIGMARK; dTARGET;
-    register I32 items = SP - MARK;
+    I32 items = SP - MARK;
     unsigned long a[20];
-    register I32 i = 0;
-    I32 retval = -1;
+    I32 i = 0;
+    IV retval = -1;
 
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	while (++MARK <= SP) {
 	    if (SvTAINTED(*MARK)) {
 		TAINT;
@@ -5473,30 +5481,6 @@
     case 8:
 	retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7]);
 	break;
-#ifdef atarist
-    case 9:
-	retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8]);
-	break;
-    case 10:
-	retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]);
-	break;
-    case 11:
-	retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],
-	  a[10]);
-	break;
-    case 12:
-	retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],
-	  a[10],a[11]);
-	break;
-    case 13:
-	retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],
-	  a[10],a[11],a[12]);
-	break;
-    case 14:
-	retval = syscall(a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],
-	  a[10],a[11],a[12],a[13]);
-	break;
-#endif /* atarist */
     }
     SP = ORIGMARK;
     PUSHi(retval);
@@ -5631,8 +5615,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/pp_sys.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/proto.h
===================================================================
--- vendor/perl/dist/proto.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/proto.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,38 +23,81 @@
 	assert(stash)
 
 PERL_CALLCONV const char *	Perl_PerlIO_context_layers(pTHX_ const char *mode);
-PERL_CALLCONV void	Perl__append_range_to_invlist(pTHX_ HV* const invlist, const UV start, const UV end)
+PERL_CALLCONV_NO_RET void	Perl_croak_memory_wrap(void)
+			__attribute__noreturn__;
+
+PERL_CALLCONV void*	Perl_Slab_Alloc(pTHX_ size_t sz)
+			__attribute__malloc__
+			__attribute__warn_unused_result__;
+
+PERL_CALLCONV void	Perl_Slab_Free(pTHX_ void *op)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST	\
-	assert(invlist)
+#define PERL_ARGS_ASSERT_SLAB_FREE	\
+	assert(op)
 
-PERL_CALLCONV HV*	Perl__new_invlist(pTHX_ IV initial_size)
+PERL_CALLCONV bool	Perl__is_uni_FOO(pTHX_ const U8 classnum, const UV c)
 			__attribute__warn_unused_result__;
 
-PERL_CALLCONV HV*	Perl__swash_inversion_hash(pTHX_ SV* const swash)
+PERL_CALLCONV bool	Perl__is_uni_perl_idcont(pTHX_ UV c)
+			__attribute__warn_unused_result__;
+
+PERL_CALLCONV bool	Perl__is_uni_perl_idstart(pTHX_ UV c)
+			__attribute__warn_unused_result__;
+
+PERL_CALLCONV bool	Perl__is_utf8_FOO(pTHX_ const U8 classnum, const U8 *p)
 			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__IS_UTF8_FOO	\
+	assert(p)
+
+PERL_CALLCONV bool	Perl__is_utf8_mark(pTHX_ const U8 *p)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH	\
-	assert(swash)
+#define PERL_ARGS_ASSERT__IS_UTF8_MARK	\
+	assert(p)
 
-PERL_CALLCONV HV*	Perl__swash_to_invlist(pTHX_ SV* const swash)
+PERL_CALLCONV bool	Perl__is_utf8_perl_idcont(pTHX_ const U8 *p)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT__SWASH_TO_INVLIST	\
-	assert(swash)
+#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT	\
+	assert(p)
 
-PERL_CALLCONV UV	Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, U8 flags)
+PERL_CALLCONV bool	Perl__is_utf8_perl_idstart(pTHX_ const U8 *p)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART	\
+	assert(p)
+
+PERL_CALLCONV UV	Perl__to_uni_fold_flags(pTHX_ UV c, U8 *p, STRLEN *lenp, const U8 flags)
 			__attribute__nonnull__(pTHX_2)
 			__attribute__nonnull__(pTHX_3);
 #define PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS	\
 	assert(p); assert(lenp)
 
-PERL_CALLCONV UV	Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags)
+PERL_CALLCONV UV	Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags, bool* tainted_ptr)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS	\
 	assert(p); assert(ustrp)
 
+PERL_CALLCONV UV	Perl__to_utf8_lower_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS	\
+	assert(p); assert(ustrp)
+
+PERL_CALLCONV UV	Perl__to_utf8_title_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS	\
+	assert(p); assert(ustrp)
+
+PERL_CALLCONV UV	Perl__to_utf8_upper_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS	\
+	assert(p); assert(ustrp)
+
 PERL_CALLCONV PADOFFSET	Perl_allocmy(pTHX_ const char *const name, const STRLEN len, const U32 flags)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_ALLOCMY	\
@@ -71,6 +114,7 @@
 #define PERL_ARGS_ASSERT_AMAGIC_DEREF_CALL	\
 	assert(ref)
 
+PERL_CALLCONV bool	Perl_amagic_is_enabled(pTHX_ int method);
 PERL_CALLCONV I32	Perl_apply(pTHX_ I32 type, SV** mark, SV** sp)
 			__attribute__nonnull__(pTHX_2)
 			__attribute__nonnull__(pTHX_3);
@@ -124,6 +168,13 @@
 #define PERL_ARGS_ASSERT_AV_EXTEND	\
 	assert(av)
 
+PERL_CALLCONV void	Perl_av_extend_guts(pTHX_ AV *av, I32 key, SSize_t *maxp, SV ***allocp, SV ***arrayp)
+			__attribute__nonnull__(pTHX_3)
+			__attribute__nonnull__(pTHX_4)
+			__attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_AV_EXTEND_GUTS	\
+	assert(maxp); assert(allocp); assert(arrayp)
+
 PERL_CALLCONV SV**	Perl_av_fetch(pTHX_ AV *av, I32 key, I32 lval)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
@@ -179,6 +230,16 @@
 #define PERL_ARGS_ASSERT_AV_STORE	\
 	assert(av)
 
+/* PERL_CALLCONV I32	Perl_av_tindex(pTHX_ AV *av)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1); */
+
+PERL_STATIC_INLINE I32	S_av_top_index(pTHX_ AV *av)
+			__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	\
@@ -298,10 +359,10 @@
 #define PERL_ARGS_ASSERT_CK_BITOP	\
 	assert(o)
 
-PERL_CALLCONV OP *	Perl_ck_chdir(pTHX_ OP *o)
+PERL_CALLCONV OP *	Perl_ck_cmp(pTHX_ OP *o)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_CHDIR	\
+#define PERL_ARGS_ASSERT_CK_CMP	\
 	assert(o)
 
 PERL_CALLCONV OP *	Perl_ck_concat(pTHX_ OP *o)
@@ -334,6 +395,13 @@
 #define PERL_ARGS_ASSERT_CK_EACH	\
 	assert(o)
 
+PERL_CALLCONV OP*	Perl_ck_entersub_args_core(pTHX_ OP *entersubop, GV *namegv, SV *protosv)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_CORE	\
+	assert(entersubop); assert(namegv); assert(protosv)
+
 PERL_CALLCONV OP*	Perl_ck_entersub_args_list(pTHX_ OP *entersubop)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_CK_ENTERSUB_ARGS_LIST	\
@@ -419,6 +487,12 @@
 #define PERL_ARGS_ASSERT_CK_JOIN	\
 	assert(o)
 
+PERL_CALLCONV OP *	Perl_ck_length(pTHX_ OP *o)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CK_LENGTH	\
+	assert(o)
+
 PERL_CALLCONV OP *	Perl_ck_lfun(pTHX_ OP *o)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
@@ -551,16 +625,16 @@
 #define PERL_ARGS_ASSERT_CK_SVCONST	\
 	assert(o)
 
-PERL_CALLCONV OP *	Perl_ck_trunc(pTHX_ OP *o)
+PERL_CALLCONV OP *	Perl_ck_tell(pTHX_ OP *o)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_TRUNC	\
+#define PERL_ARGS_ASSERT_CK_TELL	\
 	assert(o)
 
-PERL_CALLCONV OP *	Perl_ck_unpack(pTHX_ OP *o)
+PERL_CALLCONV OP *	Perl_ck_trunc(pTHX_ OP *o)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CK_UNPACK	\
+#define PERL_ARGS_ASSERT_CK_TRUNC	\
 	assert(o)
 
 PERL_CALLCONV void	Perl_ck_warner(pTHX_ U32 err, const char* pat, ...)
@@ -580,27 +654,55 @@
 PERL_CALLCONV OP*	Perl_convert(pTHX_ I32 optype, I32 flags, OP* o)
 			__attribute__warn_unused_result__;
 
+PERL_CALLCONV const char *	Perl_cop_fetch_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_COP_FETCH_LABEL	\
+	assert(cop)
+
+PERL_CALLCONV void	Perl_cop_store_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_COP_STORE_LABEL	\
+	assert(cop); assert(label)
+
+PERL_CALLCONV SV *	Perl_core_prototype(pTHX_ SV *sv, const char *name, const int code, int * const opnum)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CORE_PROTOTYPE	\
+	assert(name)
+
+PERL_CALLCONV OP *	Perl_coresub_op(pTHX_ SV *const coreargssv, const int code, const int opnum)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CORESUB_OP	\
+	assert(coreargssv)
+
 PERL_CALLCONV PERL_CONTEXT*	Perl_create_eval_scope(pTHX_ U32 flags);
-PERL_CALLCONV void	Perl_croak(pTHX_ const char* pat, ...)
+PERL_CALLCONV_NO_RET void	Perl_croak(pTHX_ const char* pat, ...)
 			__attribute__noreturn__
 			__attribute__format__null_ok__(__printf__,pTHX_1,pTHX_2);
 
-PERL_CALLCONV void	Perl_croak_no_modify(pTHX)
+PERL_CALLCONV_NO_RET void	Perl_croak_no_mem(void)
 			__attribute__noreturn__;
 
-PERL_CALLCONV void	Perl_croak_sv(pTHX_ SV *baseex)
+PERL_CALLCONV_NO_RET void	Perl_croak_no_modify(void)
+			__attribute__noreturn__;
+
+PERL_CALLCONV_NO_RET void	Perl_croak_popstack(void)
+			__attribute__noreturn__;
+
+PERL_CALLCONV_NO_RET void	Perl_croak_sv(pTHX_ SV *baseex)
 			__attribute__noreturn__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_CROAK_SV	\
 	assert(baseex)
 
-PERL_CALLCONV void	Perl_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
+PERL_CALLCONV_NO_RET void	Perl_croak_xs_usage(const CV *const cv, const char *const params)
 			__attribute__noreturn__
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
+			__attribute__nonnull__(1)
+			__attribute__nonnull__(2);
 #define PERL_ARGS_ASSERT_CROAK_XS_USAGE	\
 	assert(cv); assert(params)
 
+PERL_CALLCONV regexp_engine const *	Perl_current_re_engine(pTHX);
 PERL_CALLCONV const char *	Perl_custom_op_desc(pTHX_ const OP *o)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
@@ -625,9 +727,9 @@
 #define PERL_ARGS_ASSERT_CUSTOM_OP_XOP	\
 	assert(o)
 
-PERL_CALLCONV void	Perl_cv_ckproto_len(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len)
+PERL_CALLCONV void	Perl_cv_ckproto_len_flags(pTHX_ const CV* cv, const GV* gv, const char* p, const STRLEN len, const U32 flags)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN	\
+#define PERL_ARGS_ASSERT_CV_CKPROTO_LEN_FLAGS	\
 	assert(cv)
 
 PERL_CALLCONV CV*	Perl_cv_clone(pTHX_ CV* proto)
@@ -635,9 +737,20 @@
 #define PERL_ARGS_ASSERT_CV_CLONE	\
 	assert(proto)
 
+PERL_CALLCONV CV*	Perl_cv_clone_into(pTHX_ CV* proto, CV *target)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CV_CLONE_INTO	\
+	assert(proto); assert(target)
+
 PERL_CALLCONV SV*	Perl_cv_const_sv(pTHX_ const CV *const cv)
 			__attribute__warn_unused_result__;
 
+PERL_CALLCONV void	Perl_cv_forget_slab(pTHX_ CV *cv)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_CV_FORGET_SLAB	\
+	assert(cv)
+
 PERL_CALLCONV void	Perl_cv_get_call_checker(pTHX_ CV *cv, Perl_call_checker *ckfun_p, SV **ckobj_p)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
@@ -709,7 +822,7 @@
 #define PERL_ARGS_ASSERT_DIE_SV	\
 	assert(baseex)
 
-PERL_CALLCONV void	Perl_die_unwind(pTHX_ SV* msv)
+PERL_CALLCONV_NO_RET void	Perl_die_unwind(pTHX_ SV* msv)
 			__attribute__noreturn__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_DIE_UNWIND	\
@@ -776,6 +889,13 @@
 #define PERL_ARGS_ASSERT_DO_MAGIC_DUMP	\
 	assert(file); assert(mg)
 
+PERL_CALLCONV I32	Perl_do_ncmp(pTHX_ SV *const left, SV *const right)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_DO_NCMP	\
+	assert(left); assert(right)
+
 PERL_CALLCONV void	Perl_do_op_dump(pTHX_ I32 level, PerlIO *file, const OP *o)
 			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_DO_OP_DUMP	\
@@ -841,7 +961,7 @@
 #define PERL_ARGS_ASSERT_DO_TRANS	\
 	assert(sv)
 
-PERL_CALLCONV UV	Perl_do_vecget(pTHX_ SV* sv, I32 offset, I32 size)
+PERL_CALLCONV UV	Perl_do_vecget(pTHX_ SV* sv, SSize_t offset, int size)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_DO_VECGET	\
 	assert(sv)
@@ -950,11 +1070,6 @@
 #define PERL_ARGS_ASSERT_FEATURE_IS_ENABLED	\
 	assert(name)
 
-PERL_CALLCONV const char *	Perl_fetch_cop_label(pTHX_ COP *const cop, STRLEN *len, U32 *flags)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FETCH_COP_LABEL	\
-	assert(cop)
-
 PERL_CALLCONV SV*	Perl_filter_add(pTHX_ filter_t funcp, SV* datasv);
 PERL_CALLCONV void	Perl_filter_del(pTHX_ filter_t funcp)
 			__attribute__nonnull__(pTHX_1);
@@ -967,10 +1082,24 @@
 #define PERL_ARGS_ASSERT_FILTER_READ	\
 	assert(buf_sv)
 
+PERL_CALLCONV void	Perl_finalize_optree(pTHX_ OP* o)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FINALIZE_OPTREE	\
+	assert(o)
+
+PERL_CALLCONV CV *	Perl_find_lexical_cv(pTHX_ PADOFFSET off);
 PERL_CALLCONV CV*	Perl_find_runcv(pTHX_ U32 *db_seqp)
 			__attribute__warn_unused_result__;
 
+PERL_CALLCONV CV*	Perl_find_runcv_where(pTHX_ U8 cond, IV arg, U32 *db_seqp)
+			__attribute__warn_unused_result__;
+
 PERL_CALLCONV SV*	Perl_find_rundefsv(pTHX);
+PERL_CALLCONV SV*	Perl_find_rundefsv2(pTHX_ CV *cv, U32 seq)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FIND_RUNDEFSV2	\
+	assert(cv)
+
 PERL_CALLCONV PADOFFSET	Perl_find_rundefsvoffset(pTHX)
 			__attribute__deprecated__;
 
@@ -1041,8 +1170,10 @@
 #define PERL_ARGS_ASSERT_GET_DB_SUB	\
 	assert(cv)
 
-PERL_CALLCONV UV	Perl_get_hash_seed(pTHX)
-			__attribute__warn_unused_result__;
+PERL_CALLCONV void	Perl_get_hash_seed(pTHX_ unsigned char * const seed_buffer)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_HASH_SEED	\
+	assert(seed_buffer)
 
 PERL_CALLCONV HV*	Perl_get_hv(pTHX_ const char *name, I32 flags)
 			__attribute__nonnull__(pTHX_1);
@@ -1122,12 +1253,28 @@
 /* PERL_CALLCONV GV*	Perl_gv_HVadd(pTHX_ GV *gv); */
 /* PERL_CALLCONV GV*	Perl_gv_IOadd(pTHX_ GV* gv); */
 PERL_CALLCONV GV*	Perl_gv_add_by_type(pTHX_ GV *gv, svtype type);
-PERL_CALLCONV GV*	Perl_gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method)
+/* PERL_CALLCONV GV*	gv_autoload4(pTHX_ HV* stash, const char* name, STRLEN len, I32 method)
 			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_2); */
+
+PERL_CALLCONV GV*	Perl_gv_autoload_pv(pTHX_ HV* stash, const char* namepv, U32 flags)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_AUTOLOAD4	\
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PV	\
+	assert(namepv)
+
+PERL_CALLCONV GV*	Perl_gv_autoload_pvn(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_PVN	\
 	assert(name)
 
+PERL_CALLCONV GV*	Perl_gv_autoload_sv(pTHX_ HV* stash, SV* namesv, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_AUTOLOAD_SV	\
+	assert(namesv)
+
 PERL_CALLCONV void	Perl_gv_check(pTHX_ const HV* stash)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_GV_CHECK	\
@@ -1172,16 +1319,42 @@
 #define PERL_ARGS_ASSERT_GV_FETCHFILE_FLAGS	\
 	assert(name)
 
-PERL_CALLCONV GV*	Perl_gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
+/* PERL_CALLCONV GV*	gv_fetchmeth(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
+			__attribute__nonnull__(pTHX_2); */
+
+/* PERL_CALLCONV GV*	gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
+			__attribute__nonnull__(pTHX_2); */
+
+PERL_CALLCONV GV*	Perl_gv_fetchmeth_pv(pTHX_ HV* stash, const char* name, I32 level, U32 flags)
 			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_FETCHMETH	\
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_PV	\
 	assert(name)
 
-PERL_CALLCONV GV*	Perl_gv_fetchmeth_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level)
+PERL_CALLCONV GV*	Perl_gv_fetchmeth_pv_autoload(pTHX_ HV* stash, const char* name, I32 level, U32 flags)
 			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_FETCHMETH_AUTOLOAD	\
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_PV_AUTOLOAD	\
 	assert(name)
 
+PERL_CALLCONV GV*	Perl_gv_fetchmeth_pvn(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN	\
+	assert(name)
+
+PERL_CALLCONV GV*	Perl_gv_fetchmeth_pvn_autoload(pTHX_ HV* stash, const char* name, STRLEN len, I32 level, U32 flags)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_PVN_AUTOLOAD	\
+	assert(name)
+
+PERL_CALLCONV GV*	Perl_gv_fetchmeth_sv(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_SV	\
+	assert(namesv)
+
+PERL_CALLCONV GV*	Perl_gv_fetchmeth_sv_autoload(pTHX_ HV* stash, SV* namesv, I32 level, U32 flags)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETH_SV_AUTOLOAD	\
+	assert(namesv)
+
 /* PERL_CALLCONV GV*	Perl_gv_fetchmethod(pTHX_ HV* stash, const char* name)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2); */
@@ -1194,12 +1367,24 @@
 #define PERL_ARGS_ASSERT_GV_FETCHMETHOD_AUTOLOAD	\
 	assert(stash); assert(name)
 
-PERL_CALLCONV GV*	Perl_gv_fetchmethod_flags(pTHX_ HV* stash, const char* name, U32 flags)
+PERL_CALLCONV GV*	Perl_gv_fetchmethod_pv_flags(pTHX_ HV* stash, const char* name, U32 flags)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_FLAGS	\
+#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PV_FLAGS	\
 	assert(stash); assert(name)
 
+PERL_CALLCONV GV*	Perl_gv_fetchmethod_pvn_flags(pTHX_ HV* stash, const char* name, const STRLEN len, U32 flags)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_PVN_FLAGS	\
+	assert(stash); assert(name)
+
+PERL_CALLCONV GV*	Perl_gv_fetchmethod_sv_flags(pTHX_ HV* stash, SV* namesv, U32 flags)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GV_FETCHMETHOD_SV_FLAGS	\
+	assert(stash); assert(namesv)
+
 PERL_CALLCONV GV*	Perl_gv_fetchpv(pTHX_ const char *nambeg, I32 add, const svtype sv_type)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_GV_FETCHPV	\
@@ -1236,12 +1421,28 @@
 PERL_CALLCONV CV*	Perl_gv_handler(pTHX_ HV* stash, I32 id)
 			__attribute__warn_unused_result__;
 
-PERL_CALLCONV void	Perl_gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
+/* PERL_CALLCONV void	gv_init(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
 			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_3); */
+
+PERL_CALLCONV void	Perl_gv_init_pv(pTHX_ GV* gv, HV* stash, const char* name, U32 flags)
+			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_3);
-#define PERL_ARGS_ASSERT_GV_INIT	\
+#define PERL_ARGS_ASSERT_GV_INIT_PV	\
 	assert(gv); assert(name)
 
+PERL_CALLCONV void	Perl_gv_init_pvn(pTHX_ GV* gv, HV* stash, const char* name, STRLEN len, U32 flags)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GV_INIT_PVN	\
+	assert(gv); assert(name)
+
+PERL_CALLCONV void	Perl_gv_init_sv(pTHX_ GV* gv, HV* stash, SV* namesv, U32 flags)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GV_INIT_SV	\
+	assert(gv); assert(namesv)
+
 PERL_CALLCONV void	Perl_gv_name_set(pTHX_ GV* gv, const char *name, U32 len, U32 flags)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
@@ -1353,7 +1554,7 @@
 #define PERL_ARGS_ASSERT_HV_FILL	\
 	assert(hv)
 
-PERL_CALLCONV void	Perl_hv_free_ent(pTHX_ HV *hv, HE *entryK)
+PERL_CALLCONV void	Perl_hv_free_ent(pTHX_ HV *hv, HE *entry)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_HV_FREE_ENT	\
 	assert(hv)
@@ -1435,6 +1636,11 @@
 #define PERL_ARGS_ASSERT_HV_PLACEHOLDERS_SET	\
 	assert(hv)
 
+PERL_CALLCONV void	Perl_hv_rand_set(pTHX_ HV *hv, U32 new_xhv_rand)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_HV_RAND_SET	\
+	assert(hv)
+
 PERL_CALLCONV I32*	Perl_hv_riter_p(pTHX_ HV *hv)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
@@ -1474,6 +1680,7 @@
 #define PERL_ARGS_ASSERT_INIT_ARGV_SYMBOLS	\
 	assert(argv)
 
+PERL_CALLCONV void	Perl_init_constants(pTHX);
 PERL_CALLCONV void	Perl_init_dbargs(pTHX);
 PERL_CALLCONV void	Perl_init_debugger(pTHX);
 PERL_CALLCONV int	Perl_init_i18nl10n(pTHX_ int printwarn);
@@ -1501,208 +1708,229 @@
 #define PERL_ARGS_ASSERT_IO_CLOSE	\
 	assert(io)
 
+PERL_STATIC_INLINE bool	S_isALNUM_lazy(pTHX_ const char* p)
+			__attribute__deprecated__
+			__attribute__warn_unused_result__
+			__attribute__pure__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_ISALNUM_LAZY	\
+	assert(p)
+
+PERL_STATIC_INLINE bool	S_isIDFIRST_lazy(pTHX_ const char* p)
+			__attribute__deprecated__
+			__attribute__warn_unused_result__
+			__attribute__pure__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_ISIDFIRST_LAZY	\
+	assert(p)
+
 PERL_CALLCONV bool	Perl_is_ascii_string(const U8 *s, STRLEN len)
 			__attribute__nonnull__(1);
 #define PERL_ARGS_ASSERT_IS_ASCII_STRING	\
 	assert(s)
 
-PERL_CALLCONV bool	Perl_is_gv_magical_sv(pTHX_ SV *const name_sv, U32 flags)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_GV_MAGICAL_SV	\
-	assert(name_sv)
-
 PERL_CALLCONV I32	Perl_is_lvalue_sub(pTHX)
 			__attribute__warn_unused_result__;
 
 PERL_CALLCONV bool	Perl_is_uni_alnum(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_alnum_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
+PERL_CALLCONV bool	Perl_is_uni_alnumc(pTHX_ UV c)
+			__attribute__deprecated__
+			__attribute__warn_unused_result__
+			__attribute__pure__;
+
+PERL_CALLCONV bool	Perl_is_uni_alnumc_lc(pTHX_ UV c)
+			__attribute__deprecated__
+			__attribute__warn_unused_result__
+			__attribute__pure__;
+
 PERL_CALLCONV bool	Perl_is_uni_alpha(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_alpha_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_ascii(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_ascii_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
+PERL_CALLCONV bool	Perl_is_uni_blank(pTHX_ UV c)
+			__attribute__deprecated__
+			__attribute__warn_unused_result__
+			__attribute__pure__;
+
+PERL_CALLCONV bool	Perl_is_uni_blank_lc(pTHX_ UV c)
+			__attribute__deprecated__
+			__attribute__warn_unused_result__
+			__attribute__pure__;
+
 PERL_CALLCONV bool	Perl_is_uni_cntrl(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_cntrl_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_digit(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_digit_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_graph(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_graph_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_idfirst(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_idfirst_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_lower(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_lower_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_print(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_print_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_punct(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_punct_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_space(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_space_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_upper(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_upper_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_xdigit(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV bool	Perl_is_uni_xdigit_lc(pTHX_ UV c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
-PERL_CALLCONV bool	Perl_is_utf8_X_L(pTHX_ const U8 *p)
+PERL_CALLCONV bool	Perl_is_utf8_alnum(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_L	\
+#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM	\
 	assert(p)
 
-PERL_CALLCONV bool	Perl_is_utf8_X_LV(pTHX_ const U8 *p)
+PERL_CALLCONV bool	Perl_is_utf8_alnumc(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_LV	\
+#define PERL_ARGS_ASSERT_IS_UTF8_ALNUMC	\
 	assert(p)
 
-PERL_CALLCONV bool	Perl_is_utf8_X_LVT(pTHX_ const U8 *p)
+PERL_CALLCONV bool	Perl_is_utf8_alpha(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_LVT	\
+#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA	\
 	assert(p)
 
-PERL_CALLCONV bool	Perl_is_utf8_X_LV_LVT_V(pTHX_ const U8 *p)
+PERL_CALLCONV bool	Perl_is_utf8_ascii(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_LV_LVT_V	\
+#define PERL_ARGS_ASSERT_IS_UTF8_ASCII	\
 	assert(p)
 
-PERL_CALLCONV bool	Perl_is_utf8_X_T(pTHX_ const U8 *p)
+PERL_CALLCONV bool	Perl_is_utf8_blank(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_T	\
+#define PERL_ARGS_ASSERT_IS_UTF8_BLANK	\
 	assert(p)
 
-PERL_CALLCONV bool	Perl_is_utf8_X_V(pTHX_ const U8 *p)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_V	\
-	assert(p)
-
-PERL_CALLCONV bool	Perl_is_utf8_X_begin(pTHX_ const U8 *p)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_BEGIN	\
-	assert(p)
-
-PERL_CALLCONV bool	Perl_is_utf8_X_extend(pTHX_ const U8 *p)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_EXTEND	\
-	assert(p)
-
-PERL_CALLCONV bool	Perl_is_utf8_X_non_hangul(pTHX_ const U8 *p)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_NON_HANGUL	\
-	assert(p)
-
-PERL_CALLCONV bool	Perl_is_utf8_X_prepend(pTHX_ const U8 *p)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_X_PREPEND	\
-	assert(p)
-
-PERL_CALLCONV bool	Perl_is_utf8_alnum(pTHX_ const U8 *p)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_ALNUM	\
-	assert(p)
-
-PERL_CALLCONV bool	Perl_is_utf8_alpha(pTHX_ const U8 *p)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_ALPHA	\
-	assert(p)
-
-PERL_CALLCONV bool	Perl_is_utf8_ascii(pTHX_ const U8 *p)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_UTF8_ASCII	\
-	assert(p)
-
 PERL_CALLCONV STRLEN	Perl_is_utf8_char(const U8 *s)
+			__attribute__deprecated__
 			__attribute__nonnull__(1);
 #define PERL_ARGS_ASSERT_IS_UTF8_CHAR	\
 	assert(s)
 
+PERL_CALLCONV STRLEN	Perl_is_utf8_char_buf(const U8 *buf, const U8 *buf_end)
+			__attribute__nonnull__(1)
+			__attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF	\
+	assert(buf); assert(buf_end)
+
 PERL_CALLCONV bool	Perl_is_utf8_cntrl(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_CNTRL	\
@@ -1709,6 +1937,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_digit(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_DIGIT	\
@@ -1715,6 +1944,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_graph(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_GRAPH	\
@@ -1721,6 +1951,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_idcont(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_IDCONT	\
@@ -1727,6 +1958,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_idfirst(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_IDFIRST	\
@@ -1733,6 +1965,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_lower(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_LOWER	\
@@ -1739,6 +1972,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_mark(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_MARK	\
@@ -1745,6 +1979,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_perl_space(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE	\
@@ -1751,6 +1986,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_perl_word(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD	\
@@ -1757,6 +1993,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_posix_digit(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT	\
@@ -1763,6 +2000,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_print(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_PRINT	\
@@ -1769,6 +2007,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_punct(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_PUNCT	\
@@ -1775,6 +2014,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_space(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_SPACE	\
@@ -1785,7 +2025,7 @@
 #define PERL_ARGS_ASSERT_IS_UTF8_STRING	\
 	assert(s)
 
-/* PERL_CALLCONV bool	Perl_is_utf8_string_loc(const U8 *s, STRLEN len, const U8 **p)
+/* PERL_CALLCONV bool	Perl_is_utf8_string_loc(const U8 *s, STRLEN len, const U8 **ep)
 			__attribute__nonnull__(1); */
 #define PERL_ARGS_ASSERT_IS_UTF8_STRING_LOC	\
 	assert(s)
@@ -1796,6 +2036,7 @@
 	assert(s)
 
 PERL_CALLCONV bool	Perl_is_utf8_upper(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_UPPER	\
@@ -1802,6 +2043,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_xdigit(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_XDIGIT	\
@@ -1808,6 +2050,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_xidcont(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_XIDCONT	\
@@ -1814,6 +2057,7 @@
 	assert(p)
 
 PERL_CALLCONV bool	Perl_is_utf8_xidfirst(pTHX_ const U8 *p)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_IS_UTF8_XIDFIRST	\
@@ -1897,6 +2141,12 @@
 #define PERL_ARGS_ASSERT_MAGIC_CLEAR_ALL_ENV	\
 	assert(sv); assert(mg)
 
+PERL_CALLCONV int	Perl_magic_cleararylen_p(pTHX_ SV* sv, MAGIC* mg)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MAGIC_CLEARARYLEN_P	\
+	assert(sv); assert(mg)
+
 PERL_CALLCONV int	Perl_magic_clearenv(pTHX_ SV* sv, MAGIC* mg)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
@@ -1932,6 +2182,13 @@
 #define PERL_ARGS_ASSERT_MAGIC_CLEARSIG	\
 	assert(sv); assert(mg)
 
+PERL_CALLCONV int	Perl_magic_copycallchecker(pTHX_ SV* sv, MAGIC *mg, SV *nsv, const char *name, I32 namlen)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_MAGIC_COPYCALLCHECKER	\
+	assert(sv); assert(mg); assert(nsv)
+
 PERL_CALLCONV void	Perl_magic_dump(pTHX_ const MAGIC *mg);
 PERL_CALLCONV int	Perl_magic_existspack(pTHX_ SV* sv, const MAGIC* mg)
 			__attribute__nonnull__(pTHX_1)
@@ -2023,12 +2280,6 @@
 #define PERL_ARGS_ASSERT_MAGIC_KILLBACKREFS	\
 	assert(sv); assert(mg)
 
-PERL_CALLCONV U32	Perl_magic_len(pTHX_ SV* sv, MAGIC* mg)
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_LEN	\
-	assert(sv); assert(mg)
-
 PERL_CALLCONV SV*	Perl_magic_methcall(pTHX_ SV *sv, const MAGIC *mg, const char *meth, U32 flags, U32 argc, ...)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
@@ -2055,13 +2306,6 @@
 #define PERL_ARGS_ASSERT_MAGIC_REGDATUM_GET	\
 	assert(sv); assert(mg)
 
-PERL_CALLCONV int	Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg)
-			__attribute__noreturn__
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_REGDATUM_SET	\
-	assert(sv); assert(mg)
-
 PERL_CALLCONV SV*	Perl_magic_scalarpack(pTHX_ HV *hv, MAGIC *mg)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
@@ -2080,12 +2324,6 @@
 #define PERL_ARGS_ASSERT_MAGIC_SET_ALL_ENV	\
 	assert(sv); assert(mg)
 
-PERL_CALLCONV int	Perl_magic_setamagic(pTHX_ SV* sv, MAGIC* mg)
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MAGIC_SETAMAGIC	\
-	assert(sv); assert(mg)
-
 PERL_CALLCONV int	Perl_magic_setarylen(pTHX_ SV* sv, MAGIC* mg)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
@@ -2249,6 +2487,7 @@
 	assert(sv)
 
 PERL_CALLCONV U32	Perl_mg_length(pTHX_ SV* sv)
+			__attribute__deprecated__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_MG_LENGTH	\
 	assert(sv)
@@ -2279,7 +2518,6 @@
 #define PERL_ARGS_ASSERT_MINI_MKTIME	\
 	assert(ptm)
 
-PERL_CALLCONV OP*	Perl_mod(pTHX_ OP* o, I32 type);
 PERL_CALLCONV int	Perl_mode_from_discipline(pTHX_ const char* s, STRLEN len);
 PERL_CALLCONV void *	Perl_more_bodies(pTHX_ const svtype sv_type, const size_t body_size, const size_t arena_size);
 PERL_CALLCONV const char*	Perl_moreswitches(pTHX_ const char* s)
@@ -2341,11 +2579,6 @@
 #define PERL_ARGS_ASSERT_MRO_SET_PRIVATE_DATA	\
 	assert(smeta); assert(which); assert(data)
 
-PERL_CALLCONV void	Perl_munge_qwlist_to_paren_list(pTHX_ OP* qwlist)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_MUNGE_QWLIST_TO_PAREN_LIST	\
-	assert(qwlist)
-
 PERL_CALLCONV NV	Perl_my_atof(pTHX_ const char *s)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_MY_ATOF	\
@@ -2364,10 +2597,10 @@
 
 PERL_CALLCONV void	Perl_my_clearenv(pTHX);
 PERL_CALLCONV int	Perl_my_dirfd(pTHX_ DIR* dir);
-PERL_CALLCONV void	Perl_my_exit(pTHX_ U32 status)
+PERL_CALLCONV_NO_RET void	Perl_my_exit(pTHX_ U32 status)
 			__attribute__noreturn__;
 
-PERL_CALLCONV void	Perl_my_failure_exit(pTHX)
+PERL_CALLCONV_NO_RET void	Perl_my_failure_exit(pTHX)
 			__attribute__noreturn__;
 
 PERL_CALLCONV I32	Perl_my_fflush_all(pTHX);
@@ -2374,13 +2607,6 @@
 PERL_CALLCONV Pid_t	Perl_my_fork(void);
 /* PERL_CALLCONV I32	Perl_my_lstat(pTHX); */
 PERL_CALLCONV I32	Perl_my_lstat_flags(pTHX_ const U32 flags);
-PERL_CALLCONV I32	Perl_my_pclose(pTHX_ PerlIO* ptr);
-PERL_CALLCONV PerlIO*	Perl_my_popen(pTHX_ const char* cmd, const char* mode)
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_MY_POPEN	\
-	assert(cmd); assert(mode)
-
 PERL_CALLCONV PerlIO*	Perl_my_popen_list(pTHX_ const char* mode, int n, SV ** args)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_3);
@@ -2430,6 +2656,7 @@
 			__attribute__warn_unused_result__;
 
 PERL_CALLCONV CV*	Perl_newATTRSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block);
+PERL_CALLCONV CV*	Perl_newATTRSUB_flags(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block, U32 flags);
 /* PERL_CALLCONV AV*	Perl_newAV(pTHX)
 			__attribute__warn_unused_result__; */
 
@@ -2452,6 +2679,7 @@
 	assert(first)
 
 PERL_CALLCONV CV*	Perl_newCONSTSUB(pTHX_ HV* stash, const char* name, SV* sv);
+PERL_CALLCONV CV*	Perl_newCONSTSUB_flags(pTHX_ HV* stash, const char* name, STRLEN len, U32 flags, SV* sv);
 PERL_CALLCONV OP*	Perl_newCVREF(pTHX_ I32 flags, OP* o)
 			__attribute__malloc__
 			__attribute__warn_unused_result__;
@@ -2487,11 +2715,14 @@
 			__attribute__malloc__
 			__attribute__warn_unused_result__;
 
-PERL_CALLCONV GV*	Perl_newGVgen(pTHX_ const char* pack)
+/* PERL_CALLCONV GV*	newGVgen(pTHX_ const char* pack)
+			__attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV GV*	Perl_newGVgen_flags(pTHX_ const char* pack, U32 flags)
 			__attribute__malloc__
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_NEWGVGEN	\
+#define PERL_ARGS_ASSERT_NEWGVGEN_FLAGS	\
 	assert(pack)
 
 /* PERL_CALLCONV HV*	Perl_newHV(pTHX)
@@ -2535,6 +2766,11 @@
 			__attribute__malloc__
 			__attribute__warn_unused_result__;
 
+PERL_CALLCONV CV *	Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_NEWMYSUB	\
+	assert(o)
+
 PERL_CALLCONV OP*	Perl_newNULLLIST(pTHX)
 			__attribute__malloc__
 			__attribute__warn_unused_result__;
@@ -2586,6 +2822,11 @@
 			__attribute__malloc__
 			__attribute__warn_unused_result__;
 
+PERL_CALLCONV CV*	Perl_newSTUB(pTHX_ GV *gv, bool fake)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_NEWSTUB	\
+	assert(gv)
+
 /* PERL_CALLCONV CV*	Perl_newSUB(pTHX_ I32 floor, OP* o, OP* proto, OP* block); */
 PERL_CALLCONV SV*	Perl_newSV(pTHX_ const STRLEN len)
 			__attribute__malloc__
@@ -2689,6 +2930,12 @@
 #define PERL_ARGS_ASSERT_NEWXS_FLAGS	\
 	assert(subaddr); assert(filename)
 
+PERL_CALLCONV CV *	Perl_newXS_len_flags(pTHX_ const char *name, STRLEN len, XSUBADDR_t subaddr, const char *const filename, const char *const proto, SV **const_svp, U32 flags)
+			__attribute__nonnull__(pTHX_3)
+			__attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_NEWXS_LEN_FLAGS	\
+	assert(subaddr); assert(filename)
+
 PERL_CALLCONV void	Perl_new_collate(pTHX_ const char* newcoll);
 PERL_CALLCONV void	Perl_new_ctype(pTHX_ const char* newctype)
 			__attribute__nonnull__(pTHX_1);
@@ -2765,7 +3012,8 @@
 #define PERL_ARGS_ASSERT_OP_LINKLIST	\
 	assert(o)
 
-PERL_CALLCONV OP*	Perl_op_lvalue(pTHX_ OP* o, I32 type);
+/* PERL_CALLCONV OP*	op_lvalue(pTHX_ OP* o, I32 type); */
+PERL_CALLCONV OP*	Perl_op_lvalue_flags(pTHX_ OP* o, I32 type, U32 flags);
 PERL_CALLCONV void	Perl_op_null(pTHX_ OP* o)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_OP_NULL	\
@@ -2775,6 +3023,7 @@
 PERL_CALLCONV void	Perl_op_refcnt_lock(pTHX);
 PERL_CALLCONV void	Perl_op_refcnt_unlock(pTHX);
 PERL_CALLCONV OP*	Perl_op_scope(pTHX_ OP* o);
+PERL_CALLCONV OP*	Perl_op_unscope(pTHX_ OP* o);
 PERL_CALLCONV void	Perl_pack_cat(pTHX_ SV *cat, const char *pat, const char *patend, SV **beglist, SV **endlist, SV ***next_in_list, U32 flags)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
@@ -2799,27 +3048,46 @@
 #define PERL_ARGS_ASSERT_PACKLIST	\
 	assert(cat); assert(pat); assert(patend); assert(beglist); assert(endlist)
 
-PERL_CALLCONV PADOFFSET	Perl_pad_add_anon(pTHX_ SV* sv, OPCODE op_type)
+PERL_CALLCONV PADOFFSET	Perl_pad_add_anon(pTHX_ CV* func, I32 optype)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_PAD_ADD_ANON	\
-	assert(sv)
+	assert(func)
 
-PERL_CALLCONV PADOFFSET	Perl_pad_add_name(pTHX_ const char *name, const STRLEN len, const U32 flags, HV *typestash, HV *ourstash)
+PERL_CALLCONV PADOFFSET	Perl_pad_add_name_pv(pTHX_ const char *name, const U32 flags, HV *typestash, HV *ourstash)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_NAME	\
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PV	\
 	assert(name)
 
+PERL_CALLCONV PADOFFSET	Perl_pad_add_name_pvn(pTHX_ const char *namepv, STRLEN namelen, U32 flags, HV *typestash, HV *ourstash)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_PVN	\
+	assert(namepv)
+
+PERL_CALLCONV PADOFFSET	Perl_pad_add_name_sv(pTHX_ SV *name, U32 flags, HV *typestash, HV *ourstash)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV	\
+	assert(name)
+
 PERL_CALLCONV PADOFFSET	Perl_pad_alloc(pTHX_ I32 optype, U32 tmptype);
 PERL_CALLCONV void	Perl_pad_block_start(pTHX_ int full);
 PERL_CALLCONV HV*	Perl_pad_compname_type(pTHX_ const PADOFFSET po)
 			__attribute__warn_unused_result__;
 
-PERL_CALLCONV PADOFFSET	Perl_pad_findmy(pTHX_ const char* name, STRLEN len, U32 flags)
-			__attribute__warn_unused_result__
+PERL_CALLCONV PADOFFSET	Perl_pad_findmy_pv(pTHX_ const char* name, U32 flags)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_FINDMY	\
+#define PERL_ARGS_ASSERT_PAD_FINDMY_PV	\
 	assert(name)
 
+PERL_CALLCONV PADOFFSET	Perl_pad_findmy_pvn(pTHX_ const char* namepv, STRLEN namelen, U32 flags)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_FINDMY_PVN	\
+	assert(namepv)
+
+PERL_CALLCONV PADOFFSET	Perl_pad_findmy_sv(pTHX_ SV* name, U32 flags)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PAD_FINDMY_SV	\
+	assert(name)
+
 PERL_CALLCONV void	Perl_pad_fixup_inner_anons(pTHX_ PADLIST *padlist, CV *old_cv, CV *new_cv)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
@@ -2828,7 +3096,7 @@
 	assert(padlist); assert(old_cv); assert(new_cv)
 
 PERL_CALLCONV void	Perl_pad_free(pTHX_ PADOFFSET po);
-PERL_CALLCONV void	Perl_pad_leavemy(pTHX);
+PERL_CALLCONV OP *	Perl_pad_leavemy(pTHX);
 PERL_CALLCONV PADLIST*	Perl_pad_new(pTHX_ int flags)
 			__attribute__malloc__
 			__attribute__warn_unused_result__;
@@ -2840,6 +3108,11 @@
 
 PERL_CALLCONV void	Perl_pad_swipe(pTHX_ PADOFFSET po, bool refadjust);
 PERL_CALLCONV void	Perl_pad_tidy(pTHX_ padtidy_type type);
+PERL_CALLCONV PAD **	Perl_padlist_store(pTHX_ PADLIST *padlist, I32 key, PAD *val)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PADLIST_STORE	\
+	assert(padlist)
+
 PERL_CALLCONV OP*	Perl_parse_arithexpr(pTHX_ U32 flags);
 PERL_CALLCONV OP*	Perl_parse_barestmt(pTHX_ U32 flags);
 PERL_CALLCONV OP*	Perl_parse_block(pTHX_ U32 flags);
@@ -2887,7 +3160,7 @@
 	assert(my_perl)
 
 PERL_CALLCONV void	Perl_pmop_dump(pTHX_ PMOP* pm);
-PERL_CALLCONV OP*	Perl_pmruntime(pTHX_ OP *o, OP *expr, bool isreg)
+PERL_CALLCONV OP*	Perl_pmruntime(pTHX_ OP *o, OP *expr, bool isreg, I32 floor)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_PMRUNTIME	\
@@ -2979,7 +3252,7 @@
 #define PERL_ARGS_ASSERT_QERROR	\
 	assert(err)
 
-PERL_CALLCONV REGEXP*	Perl_re_compile(pTHX_ SV * const pattern, U32 flags)
+PERL_CALLCONV REGEXP*	Perl_re_compile(pTHX_ SV * const pattern, U32 orig_rx_flags)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_RE_COMPILE	\
 	assert(pattern)
@@ -2996,10 +3269,23 @@
 #define PERL_ARGS_ASSERT_RE_INTUIT_STRING	\
 	assert(r)
 
+PERL_CALLCONV REGEXP*	Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count, OP *expr, const regexp_engine* eng, REGEXP *old_re, bool *is_bare_re, U32 rx_flags, U32 pm_flags)
+			__attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_RE_OP_COMPILE	\
+	assert(eng)
+
 PERL_CALLCONV Malloc_t	Perl_realloc(Malloc_t where, MEM_SIZE nbytes)
 			__attribute__malloc__
 			__attribute__warn_unused_result__;
 
+PERL_CALLCONV void	Perl_reentrant_free(pTHX);
+PERL_CALLCONV void	Perl_reentrant_init(pTHX);
+PERL_CALLCONV void*	Perl_reentrant_retry(const char *f, ...)
+			__attribute__nonnull__(1);
+#define PERL_ARGS_ASSERT_REENTRANT_RETRY	\
+	assert(f)
+
+PERL_CALLCONV void	Perl_reentrant_size(pTHX);
 /* PERL_CALLCONV OP*	Perl_ref(pTHX_ OP* o, I32 type); */
 PERL_CALLCONV HV *	Perl_refcounted_he_chain_2hv(pTHX_ const struct refcounted_he *c, U32 flags);
 PERL_CALLCONV SV *	Perl_refcounted_he_fetch_pv(pTHX_ const struct refcounted_he *chain, const char *key, U32 hash, U32 flags)
@@ -3112,11 +3398,6 @@
 #define PERL_ARGS_ASSERT_REGDUMP	\
 	assert(r)
 
-PERL_CALLCONV void	Perl_regdump(pTHX_ const regexp* r)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGDUMP	\
-	assert(r)
-
 PERL_CALLCONV I32	Perl_regexec_flags(pTHX_ REGEXP *const rx, char *stringarg, char *strend, char *strbeg, I32 minend, SV *sv, void *data, U32 flags)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
@@ -3141,7 +3422,7 @@
 #define PERL_ARGS_ASSERT_REGPROP	\
 	assert(sv); assert(o)
 
-PERL_CALLCONV void	Perl_repeatcpy(char* to, const char* from, I32 len, I32 count)
+PERL_CALLCONV void	Perl_repeatcpy(char* to, const char* from, I32 len, IV count)
 			__attribute__nonnull__(1)
 			__attribute__nonnull__(2);
 #define PERL_ARGS_ASSERT_REPEATCPY	\
@@ -3399,10 +3680,7 @@
 
 PERL_CALLCONV char*	Perl_savesharedpvn(pTHX_ const char *const pv, const STRLEN len)
 			__attribute__malloc__
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SAVESHAREDPVN	\
-	assert(pv)
+			__attribute__warn_unused_result__;
 
 PERL_CALLCONV char*	Perl_savesharedsvpv(pTHX_ SV *sv)
 			__attribute__malloc__
@@ -3480,7 +3758,11 @@
 PERL_CALLCONV void	Perl_set_numeric_local(pTHX);
 PERL_CALLCONV void	Perl_set_numeric_radix(pTHX);
 PERL_CALLCONV void	Perl_set_numeric_standard(pTHX);
-PERL_CALLCONV void	Perl_setdefout(pTHX_ GV* gv);
+PERL_CALLCONV void	Perl_setdefout(pTHX_ GV* gv)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SETDEFOUT	\
+	assert(gv)
+
 PERL_CALLCONV HEK*	Perl_share_hek(pTHX_ const char* str, I32 len, U32 hash)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SHARE_HEK	\
@@ -3509,19 +3791,6 @@
 	assert(tmpglob); assert(io)
 
 PERL_CALLCONV I32	Perl_start_subparse(pTHX_ I32 is_format, U32 flags);
-PERL_CALLCONV bool	Perl_stashpv_hvname_match(pTHX_ const COP *c, const HV *hv)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_STASHPV_HVNAME_MATCH	\
-	assert(c); assert(hv)
-
-PERL_CALLCONV void	Perl_store_cop_label(pTHX_ COP *const cop, const char *label, STRLEN len, U32 flags)
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_STORE_COP_LABEL	\
-	assert(cop); assert(label)
-
 PERL_CALLCONV NV	Perl_str_to_version(pTHX_ SV *sv)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
@@ -3569,7 +3838,7 @@
 #define PERL_ARGS_ASSERT_SV_2PV_NOLEN	\
 	assert(sv)
 
-PERL_CALLCONV char*	Perl_sv_2pvbyte(pTHX_ SV *const sv, STRLEN *const lp)
+PERL_CALLCONV char*	Perl_sv_2pvbyte(pTHX_ SV *sv, STRLEN *const lp)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_2PVBYTE	\
 	assert(sv)
@@ -3580,7 +3849,7 @@
 #define PERL_ARGS_ASSERT_SV_2PVBYTE_NOLEN	\
 	assert(sv)
 
-PERL_CALLCONV char*	Perl_sv_2pvutf8(pTHX_ SV *const sv, STRLEN *const lp)
+PERL_CALLCONV char*	Perl_sv_2pvutf8(pTHX_ SV *sv, STRLEN *const lp)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_2PVUTF8	\
 	assert(sv)
@@ -3692,29 +3961,22 @@
 PERL_CALLCONV I32	Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags);
 PERL_CALLCONV I32	Perl_sv_cmp_locale(pTHX_ SV *const sv1, SV *const sv2);
 PERL_CALLCONV I32	Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2, const U32 flags);
-PERL_CALLCONV OP*	Perl_sv_compile_2op(pTHX_ SV *sv, OP **startop, const char *code, PAD **padp)
-			__attribute__deprecated__
+/* PERL_CALLCONV void	Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_3)
-			__attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_SV_COMPILE_2OP	\
-	assert(sv); assert(startop); assert(code); assert(padp)
+			__attribute__nonnull__(pTHX_2); */
+#define PERL_ARGS_ASSERT_SV_COPYPV	\
+	assert(dsv); assert(ssv)
 
-PERL_CALLCONV OP*	Perl_sv_compile_2op_is_broken(pTHX_ SV *sv, OP **startop, const char *code, PAD **padp)
+PERL_CALLCONV void	Perl_sv_copypv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_3)
-			__attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_SV_COMPILE_2OP_IS_BROKEN	\
-	assert(sv); assert(startop); assert(code); assert(padp)
-
-PERL_CALLCONV void	Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv)
-			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_COPYPV	\
+#define PERL_ARGS_ASSERT_SV_COPYPV_FLAGS	\
 	assert(dsv); assert(ssv)
 
+/* PERL_CALLCONV void	Perl_sv_copypv_nomg(pTHX_ SV *const dsv, SV *const ssv)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2); */
+
 PERL_CALLCONV void	Perl_sv_dec(pTHX_ SV *const sv);
 PERL_CALLCONV void	Perl_sv_dec_nomg(pTHX_ SV *const sv);
 PERL_CALLCONV void	Perl_sv_del_backref(pTHX_ SV *const tsv, SV *const sv)
@@ -3730,6 +3992,27 @@
 #define PERL_ARGS_ASSERT_SV_DERIVED_FROM	\
 	assert(sv); assert(name)
 
+PERL_CALLCONV bool	Perl_sv_derived_from_pv(pTHX_ SV* sv, const char *const name, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DERIVED_FROM_PV	\
+	assert(sv); assert(name)
+
+PERL_CALLCONV bool	Perl_sv_derived_from_pvn(pTHX_ SV* sv, const char *const name, const STRLEN len, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DERIVED_FROM_PVN	\
+	assert(sv); assert(name)
+
+PERL_CALLCONV bool	Perl_sv_derived_from_sv(pTHX_ SV* sv, SV *namesv, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DERIVED_FROM_SV	\
+	assert(sv); assert(namesv)
+
 PERL_CALLCONV bool	Perl_sv_destroyable(pTHX_ SV *sv);
 PERL_CALLCONV bool	Perl_sv_does(pTHX_ SV* sv, const char *const name)
 			__attribute__warn_unused_result__
@@ -3738,6 +4021,27 @@
 #define PERL_ARGS_ASSERT_SV_DOES	\
 	assert(sv); assert(name)
 
+PERL_CALLCONV bool	Perl_sv_does_pv(pTHX_ SV* sv, const char *const name, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DOES_PV	\
+	assert(sv); assert(name)
+
+PERL_CALLCONV bool	Perl_sv_does_pvn(pTHX_ SV* sv, const char *const name, const STRLEN len, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DOES_PVN	\
+	assert(sv); assert(name)
+
+PERL_CALLCONV bool	Perl_sv_does_sv(pTHX_ SV* sv, SV* namesv, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_DOES_SV	\
+	assert(sv); assert(namesv)
+
 PERL_CALLCONV void	Perl_sv_dump(pTHX_ SV* sv)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_DUMP	\
@@ -3756,7 +4060,7 @@
 	assert(sv)
 
 PERL_CALLCONV void	Perl_sv_free(pTHX_ SV *const sv);
-PERL_CALLCONV void	Perl_sv_free2(pTHX_ SV *const sv)
+PERL_CALLCONV void	Perl_sv_free2(pTHX_ SV *const sv, const U32 refcnt)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_FREE2	\
 	assert(sv)
@@ -3800,6 +4104,11 @@
 
 PERL_CALLCONV STRLEN	Perl_sv_len(pTHX_ SV *const sv);
 PERL_CALLCONV STRLEN	Perl_sv_len_utf8(pTHX_ SV *const sv);
+PERL_CALLCONV STRLEN	Perl_sv_len_utf8_nomg(pTHX_ SV *const sv)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_LEN_UTF8_NOMG	\
+	assert(sv)
+
 PERL_CALLCONV void	Perl_sv_magic(pTHX_ SV *const sv, SV *const obj, const int how, const char *const name, const I32 namlen)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_MAGIC	\
@@ -3810,8 +4119,12 @@
 #define PERL_ARGS_ASSERT_SV_MAGICEXT	\
 	assert(sv)
 
-PERL_CALLCONV SV*	Perl_sv_mortalcopy(pTHX_ SV *const oldsv)
+/* PERL_CALLCONV SV*	Perl_sv_mortalcopy(pTHX_ SV *const oldsv)
 			__attribute__malloc__
+			__attribute__warn_unused_result__; */
+
+PERL_CALLCONV SV*	Perl_sv_mortalcopy_flags(pTHX_ SV *const oldsv, U32 flags)
+			__attribute__malloc__
 			__attribute__warn_unused_result__;
 
 PERL_CALLCONV SV*	Perl_sv_newmortal(pTHX)
@@ -3908,6 +4221,11 @@
 #define PERL_ARGS_ASSERT_SV_RECODE_TO_UTF8	\
 	assert(sv); assert(encoding)
 
+PERL_CALLCONV SV*	Perl_sv_ref(pTHX_ SV *dst, const SV *const sv, const int ob)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_REF	\
+	assert(sv)
+
 PERL_CALLCONV const char*	Perl_sv_reftype(pTHX_ const SV *const sv, const int ob)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
@@ -3926,11 +4244,17 @@
 #define PERL_ARGS_ASSERT_SV_RESET	\
 	assert(s)
 
+PERL_CALLCONV void	Perl_sv_resetpvn(pTHX_ const char* s, STRLEN len, HV *const stash);
 PERL_CALLCONV SV*	Perl_sv_rvweaken(pTHX_ SV *const sv)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_RVWEAKEN	\
 	assert(sv)
 
+PERL_CALLCONV void	Perl_sv_sethek(pTHX_ SV *const sv, const HEK *const hek)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SV_SETHEK	\
+	assert(sv)
+
 PERL_CALLCONV void	Perl_sv_setiv(pTHX_ SV *const sv, const IV num)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_SETIV	\
@@ -4165,6 +4489,12 @@
 #define PERL_ARGS_ASSERT_SV_VCATPVFN	\
 	assert(sv); assert(pat)
 
+PERL_CALLCONV void	Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen, va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted, const U32 flags)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_VCATPVFN_FLAGS	\
+	assert(sv); assert(pat)
+
 PERL_CALLCONV void	Perl_sv_vsetpvf(pTHX_ SV *const sv, const char *const pat, va_list *const args)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
@@ -4190,6 +4520,7 @@
 	assert(swash); assert(ptr)
 
 PERL_CALLCONV SV*	Perl_swash_init(pTHX_ const char* pkg, const char* name, SV* listsv, I32 minbits, I32 none)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
 			__attribute__nonnull__(pTHX_3);
@@ -4236,6 +4567,7 @@
 	assert(p); assert(lenp)
 
 PERL_CALLCONV U32	Perl_to_uni_lower_lc(pTHX_ U32 c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
@@ -4246,6 +4578,7 @@
 	assert(p); assert(lenp)
 
 PERL_CALLCONV U32	Perl_to_uni_title_lc(pTHX_ U32 c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
@@ -4256,6 +4589,7 @@
 	assert(p); assert(lenp)
 
 PERL_CALLCONV U32	Perl_to_uni_upper_lc(pTHX_ U32 c)
+			__attribute__deprecated__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
@@ -4270,22 +4604,24 @@
 /* PERL_CALLCONV UV	Perl_to_utf8_fold(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2); */
+#define PERL_ARGS_ASSERT_TO_UTF8_FOLD	\
+	assert(p); assert(ustrp)
 
-PERL_CALLCONV UV	Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+/* PERL_CALLCONV UV	Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
+			__attribute__nonnull__(pTHX_2); */
 #define PERL_ARGS_ASSERT_TO_UTF8_LOWER	\
 	assert(p); assert(ustrp)
 
-PERL_CALLCONV UV	Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+/* PERL_CALLCONV UV	Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
+			__attribute__nonnull__(pTHX_2); */
 #define PERL_ARGS_ASSERT_TO_UTF8_TITLE	\
 	assert(p); assert(ustrp)
 
-PERL_CALLCONV UV	Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+/* PERL_CALLCONV UV	Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
+			__attribute__nonnull__(pTHX_2); */
 #define PERL_ARGS_ASSERT_TO_UTF8_UPPER	\
 	assert(p); assert(ustrp)
 
@@ -4358,15 +4694,29 @@
 	assert(s); assert(len)
 
 PERL_CALLCONV UV	Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
+			__attribute__deprecated__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_UTF8_TO_UVCHR	\
 	assert(s)
 
+PERL_CALLCONV UV	Perl_utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF	\
+	assert(s); assert(send)
+
 PERL_CALLCONV UV	Perl_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
+			__attribute__deprecated__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_UTF8_TO_UVUNI	\
 	assert(s)
 
+PERL_CALLCONV UV	Perl_utf8_to_uvuni_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_UTF8_TO_UVUNI_BUF	\
+	assert(s); assert(send)
+
 PERL_CALLCONV UV	Perl_utf8n_to_uvuni(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_UTF8N_TO_UVUNI	\
@@ -4387,6 +4737,11 @@
 #define PERL_ARGS_ASSERT_UVUNI_TO_UTF8_FLAGS	\
 	assert(d)
 
+PERL_CALLCONV UV	Perl_valid_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVUNI	\
+	assert(s)
+
 PERL_CALLCONV int	Perl_vcmp(pTHX_ SV *lhv, SV *rhv)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
@@ -4393,7 +4748,7 @@
 #define PERL_ARGS_ASSERT_VCMP	\
 	assert(lhv); assert(rhv)
 
-PERL_CALLCONV void	Perl_vcroak(pTHX_ const char* pat, va_list* args)
+PERL_CALLCONV_NO_RET void	Perl_vcroak(pTHX_ const char* pat, va_list* args)
 			__attribute__noreturn__;
 
 PERL_CALLCONV void	Perl_vdeb(pTHX_ const char* pat, va_list* args)
@@ -4411,7 +4766,8 @@
 #define PERL_ARGS_ASSERT_VIVIFY_DEFELEM	\
 	assert(sv)
 
-PERL_CALLCONV void	Perl_vivify_ref(pTHX_ SV* sv, U32 to_what)
+PERL_CALLCONV SV*	Perl_vivify_ref(pTHX_ SV* sv, U32 to_what)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_VIVIFY_REF	\
 	assert(sv)
@@ -4485,16 +4841,38 @@
 #define PERL_ARGS_ASSERT_WARNER	\
 	assert(pat)
 
+PERL_CALLCONV I32	Perl_was_lvalue_sub(pTHX)
+			__attribute__warn_unused_result__;
+
 PERL_CALLCONV void	Perl_watch(pTHX_ char** addr)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_WATCH	\
 	assert(addr)
 
-PERL_CALLCONV I32	Perl_whichsig(pTHX_ const char* sig)
+/* PERL_CALLCONV I32	whichsig(pTHX_ const char* sig)
+			__attribute__nonnull__(pTHX_1); */
+
+PERL_CALLCONV I32	Perl_whichsig_pv(pTHX_ const char* sig)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_WHICHSIG	\
+#define PERL_ARGS_ASSERT_WHICHSIG_PV	\
 	assert(sig)
 
+PERL_CALLCONV I32	Perl_whichsig_pvn(pTHX_ const char* sig, STRLEN len)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_WHICHSIG_PVN	\
+	assert(sig)
+
+PERL_CALLCONV I32	Perl_whichsig_sv(pTHX_ SV* sigsv)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_WHICHSIG_SV	\
+	assert(sigsv)
+
+PERL_CALLCONV void	Perl_wrap_op_checker(pTHX_ Optype opcode, Perl_check_t new_checker, Perl_check_t *old_checker_p)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_WRAP_OP_CHECKER	\
+	assert(new_checker); assert(old_checker_p)
+
 PERL_CALLCONV void	Perl_write_to_stderr(pTHX_ SV* msv)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_WRITE_TO_STDERR	\
@@ -4516,6 +4894,16 @@
 #define PERL_ARGS_ASSERT_YYERROR	\
 	assert(s)
 
+PERL_CALLCONV int	Perl_yyerror_pv(pTHX_ const char *const s, U32 flags)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_YYERROR_PV	\
+	assert(s)
+
+PERL_CALLCONV int	Perl_yyerror_pvn(pTHX_ const char *const s, STRLEN len, U32 flags)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_YYERROR_PVN	\
+	assert(s)
+
 PERL_CALLCONV int	Perl_yylex(pTHX);
 PERL_CALLCONV int	Perl_yyparse(pTHX_ int gramtype);
 PERL_CALLCONV void	Perl_yyunlex(pTHX);
@@ -4541,6 +4929,11 @@
 #define PERL_ARGS_ASSERT_UVCHR_TO_UTF8	\
 	assert(d)
 
+/* PERL_CALLCONV UV	Perl_valid_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
+			__attribute__nonnull__(pTHX_1); */
+#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR	\
+	assert(s)
+
 #endif
 #if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
 PERL_CALLCONV Signal_t	Perl_csighandler(int sig);
@@ -4567,9 +4960,6 @@
 #endif
 #if !(defined(PERL_MAD))
 PERL_CALLCONV void	Perl_newFORM(pTHX_ I32 floor, OP* o, OP* block);
-PERL_CALLCONV void	Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
-			__attribute__noreturn__;
-
 PERL_CALLCONV void	Perl_package(pTHX_ OP* o)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_PACKAGE	\
@@ -4581,14 +4971,14 @@
 	assert(idop)
 
 #endif
-#if !(defined(USE_ITHREADS))
-#  if defined(PERL_IN_OP_C)
-STATIC void	S_forget_pmop(pTHX_ PMOP *const o)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FORGET_PMOP	\
-	assert(o)
+#if !(defined(_MSC_VER))
+PERL_CALLCONV_NO_RET int	Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg)
+			__attribute__noreturn__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MAGIC_REGDATUM_SET	\
+	assert(sv); assert(mg)
 
-#  endif
 #endif
 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
 PERL_CALLCONV char*	Perl_my_bzero(char* loc, I32 len)
@@ -4677,6 +5067,15 @@
 
 #  endif
 #endif
+#if !defined(PERL_IMPLICIT_SYS)
+PERL_CALLCONV I32	Perl_my_pclose(pTHX_ PerlIO* ptr);
+PERL_CALLCONV PerlIO*	Perl_my_popen(pTHX_ const char* cmd, const char* mode)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MY_POPEN	\
+	assert(cmd); assert(mode)
+
+#endif
 #if !defined(PERL_IS_MINIPERL)
 #  if defined(PERL_IN_PERL_C)
 STATIC SV *	S_incpush_if_exists(pTHX_ AV *const av, SV *dir, SV *const stem)
@@ -4866,6 +5265,11 @@
 #define PERL_ARGS_ASSERT_UVCHR_TO_UTF8	\
 	assert(d)
 
+PERL_CALLCONV UV	Perl_valid_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR	\
+	assert(s)
+
 #endif
 #if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
 PERL_CALLCONV I32	Perl_do_ipcctl(pTHX_ I32 optype, SV** mark, SV** sp)
@@ -4944,17 +5348,14 @@
 #endif
 #if defined(MYSWAP)
 PERL_CALLCONV long	Perl_my_htonl(pTHX_ long l)
-			__attribute__malloc__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV long	Perl_my_ntohl(pTHX_ long l)
-			__attribute__malloc__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
 PERL_CALLCONV short	Perl_my_swap(pTHX_ short s)
-			__attribute__malloc__
 			__attribute__warn_unused_result__
 			__attribute__pure__;
 
@@ -4962,6 +5363,48 @@
 #if defined(NO_MATHOMS)
 /* PERL_CALLCONV void	Perl_sv_nounlocking(pTHX_ SV *sv); */
 #endif
+#if defined(PERL_ANY_COW)
+PERL_CALLCONV SV*	Perl_sv_setsv_cow(pTHX_ SV* dstr, SV* sstr)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_SV_SETSV_COW	\
+	assert(sstr)
+
+#endif
+#if defined(PERL_CORE)
+PERL_CALLCONV void	Perl_opslab_force_free(pTHX_ OPSLAB *slab)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_OPSLAB_FORCE_FREE	\
+	assert(slab)
+
+PERL_CALLCONV void	Perl_opslab_free(pTHX_ OPSLAB *slab)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_OPSLAB_FREE	\
+	assert(slab)
+
+PERL_CALLCONV void	Perl_opslab_free_nopad(pTHX_ OPSLAB *slab)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_OPSLAB_FREE_NOPAD	\
+	assert(slab)
+
+PERL_CALLCONV void	Perl_parser_free_nexttoke_ops(pTHX_ yy_parser *parser, OPSLAB *slab)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_PARSER_FREE_NEXTTOKE_OPS	\
+	assert(parser); assert(slab)
+
+#  if defined(PERL_DEBUG_READONLY_OPS)
+PERL_CALLCONV void	Perl_Slab_to_ro(pTHX_ OPSLAB *slab)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SLAB_TO_RO	\
+	assert(slab)
+
+PERL_CALLCONV void	Perl_Slab_to_rw(pTHX_ OPSLAB *const slab)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_SLAB_TO_RW	\
+	assert(slab)
+
+#  endif
+#endif
 #if defined(PERL_CR_FILTER)
 #  if defined(PERL_IN_TOKE_C)
 STATIC I32	S_cr_textfilter(pTHX_ int idx, SV *sv, int maxlen);
@@ -4973,16 +5416,6 @@
 #  endif
 #endif
 #if defined(PERL_DEBUG_READONLY_OPS)
-#  if defined(PERL_IN_OP_C)
-#    if defined(PL_OP_SLAB_ALLOC)
-STATIC void	S_Slab_to_rw(pTHX_ void *op)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SLAB_TO_RW	\
-	assert(op)
-
-#    endif
-#  endif
-#  if defined(PL_OP_SLAB_ALLOC)
 PERL_CALLCONV PADOFFSET	Perl_op_refcnt_dec(pTHX_ OP *o)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_OP_REFCNT_DEC	\
@@ -4989,14 +5422,10 @@
 	assert(o)
 
 PERL_CALLCONV OP *	Perl_op_refcnt_inc(pTHX_ OP *o);
-PERL_CALLCONV void	Perl_pending_Slabs_to_ro(pTHX);
-#  endif
 #endif
 #if defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)
 /* PERL_CALLCONV bool	Perl_do_exec(pTHX_ const char* cmd)
 			__attribute__nonnull__(pTHX_1); */
-#define PERL_ARGS_ASSERT_DO_EXEC	\
-	assert(cmd)
 
 #endif
 #if defined(PERL_DONT_CREATE_GVSV)
@@ -5026,7 +5455,7 @@
 #  endif
 #endif
 #if defined(PERL_IMPLICIT_CONTEXT)
-PERL_CALLCONV void	Perl_croak_nocontext(const char* pat, ...)
+PERL_CALLCONV_NO_RET void	Perl_croak_nocontext(const char* pat, ...)
 			__attribute__noreturn__
 			__attribute__format__null_ok__(__printf__,1,2);
 
@@ -5209,27 +5638,6 @@
 	assert(sv)
 
 #endif
-#if defined(PERL_IN_DQUOTE_STATIC_C)
-STATIC char	S_grok_bslash_c(pTHX_ const char source, const bool utf8, const bool output_warning)
-			__attribute__warn_unused_result__;
-
-STATIC bool	S_grok_bslash_o(pTHX_ const char* s, UV* uv, STRLEN* len, const char** error_msg, const bool output_warning)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_3)
-			__attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_GROK_BSLASH_O	\
-	assert(s); assert(uv); assert(len); assert(error_msg)
-
-PERL_STATIC_INLINE I32	S_regcurly(pTHX_ const char *s)
-			__attribute__warn_unused_result__
-			__attribute__pure__
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGCURLY	\
-	assert(s)
-
-#endif
 #if defined(PERL_IN_DUMP_C)
 STATIC CV*	S_deb_curcv(pTHX_ const I32 ix);
 STATIC void	S_debprof(pTHX_ const OP *o)
@@ -5242,9 +5650,7 @@
 #define PERL_ARGS_ASSERT_PM_DESCRIPTION	\
 	assert(pm)
 
-STATIC void	S_sequence(pTHX_ const OP *o);
 STATIC UV	S_sequence_num(pTHX_ const OP *o);
-STATIC void	S_sequence_tail(pTHX_ const OP *o);
 #  if defined(PERL_MAD)
 STATIC void	S_xmldump_attr(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
 			__attribute__format__(__printf__,pTHX_3,pTHX_4)
@@ -5255,7 +5661,7 @@
 
 #  endif
 #endif
-#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+#if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_SCOPE_C)
 PERL_CALLCONV void	Perl_hv_kill_backrefs(pTHX_ HV *hv)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_HV_KILL_BACKREFS	\
@@ -5263,14 +5669,9 @@
 
 #endif
 #if defined(PERL_IN_GV_C)
-STATIC HV*	S_gv_get_super_pkg(pTHX_ const char* name, I32 namelen)
+STATIC void	S_gv_init_svtype(pTHX_ GV *gv, const svtype sv_type)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_GET_SUPER_PKG	\
-	assert(name)
-
-STATIC void	S_gv_init_sv(pTHX_ GV *gv, const svtype sv_type)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_INIT_SV	\
+#define PERL_ARGS_ASSERT_GV_INIT_SVTYPE	\
 	assert(gv)
 
 STATIC void	S_gv_magicalize_isa(pTHX_ GV *gv)
@@ -5278,11 +5679,6 @@
 #define PERL_ARGS_ASSERT_GV_MAGICALIZE_ISA	\
 	assert(gv)
 
-STATIC void	S_gv_magicalize_overload(pTHX_ GV *gv)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_GV_MAGICALIZE_OVERLOAD	\
-	assert(gv)
-
 STATIC HV*	S_require_tie_mod(pTHX_ GV *gv, const char *varpv, SV* namesv, const char *methpv, const U32 flags)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
@@ -5311,17 +5707,23 @@
 #define PERL_ARGS_ASSERT_HFREEENTRIES	\
 	assert(hv)
 
-STATIC void	S_hsplit(pTHX_ HV *hv)
+STATIC void	S_hsplit(pTHX_ HV *hv, STRLEN const oldsize, STRLEN newsize)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_HSPLIT	\
 	assert(hv)
 
-STATIC struct xpvhv_aux*	S_hv_auxinit(HV *hv)
-			__attribute__nonnull__(1);
+STATIC struct xpvhv_aux*	S_hv_auxinit(pTHX_ HV *hv)
+			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_HV_AUXINIT	\
 	assert(hv)
 
 STATIC SV*	S_hv_delete_common(pTHX_ HV *hv, SV *keysv, const char *key, STRLEN klen, int k_flags, I32 d_flags, U32 hash);
+STATIC SV*	S_hv_free_ent_ret(pTHX_ HV *hv, HE *entry)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HV_FREE_ENT_RET	\
+	assert(hv); assert(entry)
+
 STATIC void	S_hv_magic_check(HV *hv, bool *needs_copy, bool *needs_store)
 			__attribute__nonnull__(1)
 			__attribute__nonnull__(2)
@@ -5329,7 +5731,7 @@
 #define PERL_ARGS_ASSERT_HV_MAGIC_CHECK	\
 	assert(hv); assert(needs_copy); assert(needs_store)
 
-STATIC void	S_hv_notallowed(pTHX_ int flags, const char *key, I32 klen, const char *msg)
+PERL_STATIC_NO_RET void	S_hv_notallowed(pTHX_ int flags, const char *key, I32 klen, const char *msg)
 			__attribute__noreturn__
 			__attribute__nonnull__(pTHX_2)
 			__attribute__nonnull__(pTHX_4);
@@ -5340,6 +5742,7 @@
 			__attribute__malloc__
 			__attribute__warn_unused_result__;
 
+STATIC U32	S_ptr_hash(PTRV u);
 STATIC SV *	S_refcounted_he_value(pTHX_ const struct refcounted_he *he)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_REFCOUNTED_HE_VALUE	\
@@ -5367,6 +5770,14 @@
 	assert(sv)
 
 #endif
+#if defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
+PERL_CALLCONV SV*	Perl_hfree_next_entry(pTHX_ HV *hv, STRLEN *indexp)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_HFREE_NEXT_ENTRY	\
+	assert(hv); assert(indexp)
+
+#endif
 #if defined(PERL_IN_LOCALE_C)
 #  if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
 STATIC char*	S_stdize_locale(pTHX_ char* locs)
@@ -5399,8 +5810,16 @@
 
 STATIC void	S_unwind_handler_stack(pTHX_ const void *p);
 #endif
+#if defined(PERL_IN_MG_C) || defined(PERL_IN_PP_C)
+PERL_CALLCONV bool	Perl_translate_substr_offsets(pTHX_ STRLEN curlen, IV pos1_iv, bool pos1_is_uv, IV len_iv, bool len_is_uv, STRLEN *posp, STRLEN *lenp)
+			__attribute__nonnull__(pTHX_6)
+			__attribute__nonnull__(pTHX_7);
+#define PERL_ARGS_ASSERT_TRANSLATE_SUBSTR_OFFSETS	\
+	assert(posp); assert(lenp)
+
+#endif
 #if defined(PERL_IN_MRO_C)
-STATIC void	S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, const STRLEN len, HV * const exceptions)
+STATIC void	S_mro_clean_isarev(pTHX_ HV * const isa, const char * const name, const STRLEN len, HV * const exceptions, U32 flags)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_MRO_CLEAN_ISAREV	\
@@ -5423,7 +5842,8 @@
 STATIC NV	S_mulexp10(NV value, I32 exponent);
 #endif
 #if defined(PERL_IN_OP_C)
-STATIC void	S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs, bool for_my)
+PERL_STATIC_INLINE bool	S_aassign_common_vars(pTHX_ OP* o);
+STATIC void	S_apply_attrs(pTHX_ HV *stash, SV *target, OP *attrs)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_APPLY_ATTRS	\
@@ -5436,13 +5856,20 @@
 #define PERL_ARGS_ASSERT_APPLY_ATTRS_MY	\
 	assert(stash); assert(target); assert(imopsp)
 
-STATIC void	S_bad_type(pTHX_ I32 n, const char *t, const char *name, const OP *kid)
+STATIC void	S_bad_type_pv(pTHX_ I32 n, const char *t, const char *name, U32 flags, const OP *kid)
 			__attribute__nonnull__(pTHX_2)
 			__attribute__nonnull__(pTHX_3)
-			__attribute__nonnull__(pTHX_4);
-#define PERL_ARGS_ASSERT_BAD_TYPE	\
+			__attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_BAD_TYPE_PV	\
 	assert(t); assert(name); assert(kid)
 
+STATIC void	S_bad_type_sv(pTHX_ I32 n, const char *t, SV *namesv, U32 flags, const OP *kid)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3)
+			__attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_BAD_TYPE_SV	\
+	assert(t); assert(namesv); assert(kid)
+
 STATIC void	S_cop_free(pTHX_ COP *cop)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_COP_FREE	\
@@ -5453,6 +5880,11 @@
 #define PERL_ARGS_ASSERT_DUP_ATTRLIST	\
 	assert(o)
 
+STATIC void	S_finalize_op(pTHX_ OP* o)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FINALIZE_OP	\
+	assert(o)
+
 STATIC void	S_find_and_forget_pmops(pTHX_ OP *o)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_FIND_AND_FORGET_PMOPS	\
@@ -5464,12 +5896,22 @@
 	assert(o)
 
 STATIC OP*	S_force_list(pTHX_ OP* arg);
+STATIC void	S_forget_pmop(pTHX_ PMOP *const o)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FORGET_PMOP	\
+	assert(o)
+
 STATIC OP*	S_gen_constant_list(pTHX_ OP* o);
-STATIC const char*	S_gv_ename(pTHX_ GV *gv)
+STATIC SV*	S_gv_ename(pTHX_ GV *gv)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_GV_ENAME	\
 	assert(gv)
 
+STATIC void	S_inplace_aassign(pTHX_ OP* o)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INPLACE_AASSIGN	\
+	assert(o)
+
 STATIC bool	S_is_handle_constructor(const OP *o, I32 numargs)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(1);
@@ -5476,11 +5918,6 @@
 #define PERL_ARGS_ASSERT_IS_HANDLE_CONSTRUCTOR	\
 	assert(o)
 
-STATIC OP*	S_is_inplace_av(pTHX_ OP* o, OP* oright)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_IS_INPLACE_AV	\
-	assert(o)
-
 STATIC I32	S_is_list_assignment(pTHX_ const OP *o)
 			__attribute__warn_unused_result__;
 
@@ -5511,7 +5948,7 @@
 #define PERL_ARGS_ASSERT_NEW_LOGOP	\
 	assert(firstp); assert(otherp)
 
-STATIC void	S_no_bareword_allowed(pTHX_ const OP *o)
+STATIC void	S_no_bareword_allowed(pTHX_ OP *o)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_NO_BAREWORD_ALLOWED	\
 	assert(o)
@@ -5522,11 +5959,16 @@
 #define PERL_ARGS_ASSERT_NO_FH_ALLOWED	\
 	assert(o)
 
-STATIC OP*	S_opt_scalarhv(pTHX_ OP* rep_op)
+PERL_STATIC_INLINE OP*	S_op_integerize(pTHX_ OP *o)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_OPT_SCALARHV	\
-	assert(rep_op)
+#define PERL_ARGS_ASSERT_OP_INTEGERIZE	\
+	assert(o)
 
+PERL_STATIC_INLINE OP*	S_op_std_init(pTHX_ OP *o)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_OP_STD_INIT	\
+	assert(o)
+
 STATIC OP*	S_pmtrans(pTHX_ OP* o, OP* expr, OP* repl)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
@@ -5534,10 +5976,10 @@
 #define PERL_ARGS_ASSERT_PMTRANS	\
 	assert(o); assert(expr); assert(repl)
 
-STATIC void	S_process_special_blocks(pTHX_ const char *const fullname, GV *const gv, CV *const cv)
-			__attribute__nonnull__(pTHX_1)
+STATIC void	S_process_special_blocks(pTHX_ I32 floor, const char *const fullname, GV *const gv, CV *const cv)
 			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_3);
+			__attribute__nonnull__(pTHX_3)
+			__attribute__nonnull__(pTHX_4);
 #define PERL_ARGS_ASSERT_PROCESS_SPECIAL_BLOCKS	\
 	assert(fullname); assert(gv); assert(cv)
 
@@ -5544,10 +5986,7 @@
 STATIC OP*	S_ref_array_or_hash(pTHX_ OP* cond);
 STATIC OP*	S_refkids(pTHX_ OP* o, I32 type);
 STATIC bool	S_scalar_mod_type(const OP *o, I32 type)
-			__attribute__warn_unused_result__
-			__attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_SCALAR_MOD_TYPE	\
-	assert(o)
+			__attribute__warn_unused_result__;
 
 STATIC OP*	S_scalarboolean(pTHX_ OP *o)
 			__attribute__nonnull__(pTHX_1);
@@ -5567,46 +6006,60 @@
 #define PERL_ARGS_ASSERT_SIMPLIFY_SORT	\
 	assert(o)
 
-STATIC OP*	S_too_few_arguments(pTHX_ OP *o, const char* name)
+STATIC OP*	S_too_few_arguments_pv(pTHX_ OP *o, const char* name, U32 flags)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS	\
+#define PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_PV	\
 	assert(o); assert(name)
 
-STATIC OP*	S_too_many_arguments(pTHX_ OP *o, const char* name)
+STATIC OP*	S_too_few_arguments_sv(pTHX_ OP *o, SV* namesv, U32 flags)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS	\
+#define PERL_ARGS_ASSERT_TOO_FEW_ARGUMENTS_SV	\
+	assert(o); assert(namesv)
+
+STATIC OP*	S_too_many_arguments_pv(pTHX_ OP *o, const char* name, U32 flags)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_PV	\
 	assert(o); assert(name)
 
-#  if defined(USE_ITHREADS)
-STATIC void	S_forget_pmop(pTHX_ PMOP *const o, U32 flags)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_FORGET_PMOP	\
-	assert(o)
+STATIC OP*	S_too_many_arguments_sv(pTHX_ OP *o, SV* namesv, U32 flags)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_TOO_MANY_ARGUMENTS_SV	\
+	assert(o); assert(namesv)
 
-#  endif
 #endif
+#if defined(PERL_IN_OP_C) || defined(PERL_IN_SV_C)
+PERL_CALLCONV void	Perl_report_redefined_cv(pTHX_ const SV *name, const CV *old_cv, SV * const *new_const_svp)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REPORT_REDEFINED_CV	\
+	assert(name); assert(old_cv)
+
+#endif
 #if defined(PERL_IN_PAD_C)
-STATIC PADOFFSET	S_pad_add_name_sv(pTHX_ SV *namesv, const U32 flags, HV *typestash, HV *ourstash)
+STATIC PADOFFSET	S_pad_alloc_name(pTHX_ SV *namesv, U32 flags, HV *typestash, HV *ourstash)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_PAD_ADD_NAME_SV	\
+#define PERL_ARGS_ASSERT_PAD_ALLOC_NAME	\
 	assert(namesv)
 
-STATIC void	S_pad_check_dup(pTHX_ SV *name, const U32 flags, const HV *ourstash)
+STATIC void	S_pad_check_dup(pTHX_ SV *name, U32 flags, const HV *ourstash)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_PAD_CHECK_DUP	\
 	assert(name)
 
-STATIC PADOFFSET	S_pad_findlex(pTHX_ const char *name, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
+STATIC PADOFFSET	S_pad_findlex(pTHX_ const char *namepv, STRLEN namelen, U32 flags, const CV* cv, U32 seq, int warn, SV** out_capture, SV** out_name_sv, int *out_flags)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_6)
-			__attribute__nonnull__(pTHX_7);
+			__attribute__nonnull__(pTHX_4)
+			__attribute__nonnull__(pTHX_8)
+			__attribute__nonnull__(pTHX_9);
 #define PERL_ARGS_ASSERT_PAD_FINDLEX	\
-	assert(name); assert(cv); assert(out_name_sv); assert(out_flags)
+	assert(namepv); assert(cv); assert(out_name_sv); assert(out_flags)
 
 STATIC void	S_pad_reset(pTHX);
 #endif
@@ -5638,25 +6091,30 @@
 	assert(argv)
 
 STATIC void	S_init_predump_symbols(pTHX);
-STATIC void	S_my_exit_jump(pTHX)
+STATIC SV*	S_mayberelocate(pTHX_ const char *const dir, STRLEN len, U32 flags)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_MAYBERELOCATE	\
+	assert(dir)
+
+PERL_STATIC_NO_RET void	S_minus_v(pTHX)
 			__attribute__noreturn__;
 
+PERL_STATIC_NO_RET void	S_my_exit_jump(pTHX)
+			__attribute__noreturn__;
+
 STATIC void	S_nuke_stacks(pTHX);
-STATIC int	S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript, PerlIO **rsfpp)
+STATIC PerlIO *	S_open_script(pTHX_ const char *scriptname, bool dosearch, bool *suidscript)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_3)
-			__attribute__nonnull__(pTHX_4);
+			__attribute__nonnull__(pTHX_3);
 #define PERL_ARGS_ASSERT_OPEN_SCRIPT	\
-	assert(scriptname); assert(suidscript); assert(rsfpp)
+	assert(scriptname); assert(suidscript)
 
 STATIC void*	S_parse_body(pTHX_ char **env, XSINIT_t xsinit);
-STATIC void	S_run_body(pTHX_ I32 oldscope)
+PERL_STATIC_NO_RET void	S_run_body(pTHX_ I32 oldscope)
 			__attribute__noreturn__;
 
-STATIC void	S_usage(pTHX_ const char *name)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_USAGE	\
-	assert(name)
+PERL_STATIC_NO_RET void	S_usage(pTHX)
+			__attribute__noreturn__;
 
 #endif
 #if defined(PERL_IN_PP_C)
@@ -5685,6 +6143,13 @@
 
 #endif
 #if defined(PERL_IN_PP_CTL_C)
+STATIC SV **	S_adjust_stack_on_leave(pTHX_ SV **newsp, SV **sp, SV **mark, I32 gimme, U32 flags)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_ADJUST_STACK_ON_LEAVE	\
+	assert(newsp); assert(sp); assert(mark)
+
 STATIC PerlIO *	S_check_type_and_open(pTHX_ SV *name)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
@@ -5696,17 +6161,17 @@
 #define PERL_ARGS_ASSERT_DESTROY_MATCHER	\
 	assert(matcher)
 
-STATIC OP*	S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other);
+STATIC OP*	S_do_smartmatch(pTHX_ HV* seen_this, HV* seen_other, const bool copied);
 STATIC OP*	S_docatch(pTHX_ OP *o)
 			__attribute__warn_unused_result__;
 
-STATIC bool	S_doeval(pTHX_ int gimme, OP** startop, CV* outside, U32 seq);
-STATIC OP*	S_dofindlabel(pTHX_ OP *o, const char *label, OP **opstack, OP **oplimit)
+STATIC bool	S_doeval(pTHX_ int gimme, CV* outside, U32 seq, HV* hh);
+STATIC OP*	S_dofindlabel(pTHX_ OP *o, const char *label, STRLEN len, U32 flags, OP **opstack, OP **oplimit)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_3)
-			__attribute__nonnull__(pTHX_4);
+			__attribute__nonnull__(pTHX_5)
+			__attribute__nonnull__(pTHX_6);
 #define PERL_ARGS_ASSERT_DOFINDLABEL	\
 	assert(o); assert(label); assert(opstack); assert(oplimit)
 
@@ -5721,7 +6186,7 @@
 STATIC I32	S_dopoptogiven(pTHX_ I32 startingblock)
 			__attribute__warn_unused_result__;
 
-STATIC I32	S_dopoptolabel(pTHX_ const char *label)
+STATIC I32	S_dopoptolabel(pTHX_ const char *label, STRLEN len, U32 flags)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_DOPOPTOLABEL	\
@@ -5785,12 +6250,11 @@
 
 #endif
 #if defined(PERL_IN_PP_HOT_C)
-STATIC void	S_do_oddball(pTHX_ HV *hash, SV **relem, SV **firstrelem)
+STATIC void	S_do_oddball(pTHX_ SV **oddkey, SV **firstkey)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_3);
+			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_DO_ODDBALL	\
-	assert(hash); assert(relem); assert(firstrelem)
+	assert(oddkey); assert(firstkey)
 
 STATIC SV*	S_method_common(pTHX_ SV* meth, U32* hashp)
 			__attribute__warn_unused_result__
@@ -5958,13 +6422,24 @@
 
 #endif
 #if defined(PERL_IN_REGCOMP_C)
-STATIC void	S_add_alternate(pTHX_ AV** alternate_ptr, U8* string, STRLEN len)
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_ADD_ALTERNATE	\
-	assert(alternate_ptr); assert(string)
+STATIC void	S__append_range_to_invlist(pTHX_ SV* const invlist, const UV start, const UV end)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST	\
+	assert(invlist)
 
-PERL_STATIC_INLINE HV*	S_add_cp_to_invlist(pTHX_ HV* invlist, const UV cp)
+PERL_STATIC_INLINE UV*	S__invlist_array_init(pTHX_ SV* const invlist, const bool will_have_0)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_ARRAY_INIT	\
+	assert(invlist)
+
+STATIC SV*	S__new_invlist_C_array(pTHX_ UV* list)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__NEW_INVLIST_C_ARRAY	\
+	assert(list)
+
+PERL_STATIC_INLINE SV*	S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp)
 			__attribute__warn_unused_result__;
 
 STATIC U32	S_add_data(struct RExC_state_t *pRExC_state, U32 n, const char *s)
@@ -5974,14 +6449,13 @@
 #define PERL_ARGS_ASSERT_ADD_DATA	\
 	assert(pRExC_state); assert(s)
 
-STATIC HV*	S_add_range_to_invlist(pTHX_ HV* invlist, const UV start, const UV end)
-			__attribute__warn_unused_result__;
+PERL_STATIC_INLINE void	S_alloc_maybe_populate_EXACT(pTHX_ struct RExC_state_t *pRExC_state, regnode *node, I32 *flagp, STRLEN len, UV code_point)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_ALLOC_MAYBE_POPULATE_EXACT	\
+	assert(pRExC_state); assert(node); assert(flagp)
 
-STATIC void	S_checkposixcc(pTHX_ struct RExC_state_t *pRExC_state)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_CHECKPOSIXCC	\
-	assert(pRExC_state)
-
 STATIC void	S_cl_and(struct regnode_charclass_class *cl, const struct regnode_charclass_class *and_with)
 			__attribute__nonnull__(1)
 			__attribute__nonnull__(2);
@@ -6013,69 +6487,134 @@
 #define PERL_ARGS_ASSERT_CL_OR	\
 	assert(pRExC_state); assert(cl); assert(or_with)
 
-PERL_STATIC_INLINE UV*	S_invlist_array(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE U8	S_compute_EXACTish(pTHX_ struct RExC_state_t *pRExC_state)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_COMPUTE_EXACTISH	\
+	assert(pRExC_state)
+
+STATIC bool	S_could_it_be_a_POSIX_class(pTHX_ struct RExC_state_t *pRExC_state)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_COULD_IT_BE_A_POSIX_CLASS	\
+	assert(pRExC_state)
+
+PERL_STATIC_INLINE UV*	S_get_invlist_iter_addr(pTHX_ SV* invlist)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR	\
+	assert(invlist)
+
+PERL_STATIC_INLINE IV*	S_get_invlist_previous_index_addr(pTHX_ SV* invlist)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_PREVIOUS_INDEX_ADDR	\
+	assert(invlist)
+
+PERL_STATIC_INLINE UV*	S_get_invlist_version_id_addr(pTHX_ SV* invlist)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_VERSION_ID_ADDR	\
+	assert(invlist)
+
+PERL_STATIC_INLINE UV*	S_get_invlist_zero_addr(pTHX_ SV* invlist)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_GET_INVLIST_ZERO_ADDR	\
+	assert(invlist)
+
+STATIC bool	S_grok_bslash_N(pTHX_ struct RExC_state_t *pRExC_state, regnode** nodep, UV *valuep, I32 *flagp, U32 depth, bool in_char_class, const bool strict)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_GROK_BSLASH_N	\
+	assert(pRExC_state); assert(flagp)
+
+STATIC regnode*	S_handle_regex_sets(pTHX_ struct RExC_state_t *pRExC_state, SV ** return_invlist, I32 *flagp, U32 depth, char * const oregcomp_parse)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_3)
+			__attribute__nonnull__(pTHX_5);
+#define PERL_ARGS_ASSERT_HANDLE_REGEX_SETS	\
+	assert(pRExC_state); assert(flagp); assert(oregcomp_parse)
+
+PERL_STATIC_INLINE UV*	S_invlist_array(pTHX_ SV* const invlist)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_INVLIST_ARRAY	\
 	assert(invlist)
 
-PERL_STATIC_INLINE void	S_invlist_destroy(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE SV*	S_invlist_clone(pTHX_ SV* const invlist)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INVLIST_DESTROY	\
+#define PERL_ARGS_ASSERT_INVLIST_CLONE	\
 	assert(invlist)
 
-STATIC void	S_invlist_extend(pTHX_ HV* const invlist, const UV len)
+STATIC void	S_invlist_extend(pTHX_ SV* const invlist, const UV len)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_INVLIST_EXTEND	\
 	assert(invlist)
 
-STATIC HV*	S_invlist_intersection(pTHX_ HV* const a, HV* const b)
+PERL_STATIC_INLINE UV	S_invlist_highest(pTHX_ SV* const invlist)
 			__attribute__warn_unused_result__
-			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_INVLIST_INTERSECTION	\
-	assert(a); assert(b)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_HIGHEST	\
+	assert(invlist)
 
-PERL_STATIC_INLINE UV	S_invlist_len(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE bool	S_invlist_is_iterating(pTHX_ SV* const invlist)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INVLIST_LEN	\
+#define PERL_ARGS_ASSERT_INVLIST_IS_ITERATING	\
 	assert(invlist)
 
-PERL_STATIC_INLINE UV	S_invlist_max(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE void	S_invlist_iterfinish(pTHX_ SV* invlist)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_ITERFINISH	\
+	assert(invlist)
+
+PERL_STATIC_INLINE void	S_invlist_iterinit(pTHX_ SV* invlist)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_ITERINIT	\
+	assert(invlist)
+
+STATIC bool	S_invlist_iternext(pTHX_ SV* invlist, UV* start, UV* end)
 			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_INVLIST_ITERNEXT	\
+	assert(invlist); assert(start); assert(end)
+
+PERL_STATIC_INLINE UV	S_invlist_max(pTHX_ SV* const invlist)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_INVLIST_MAX	\
 	assert(invlist)
 
-PERL_STATIC_INLINE void	S_invlist_set_len(pTHX_ HV* const invlist, const UV len)
+PERL_STATIC_INLINE IV	S_invlist_previous_index(pTHX_ SV* const invlist)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_INVLIST_PREVIOUS_INDEX	\
+	assert(invlist)
+
+PERL_STATIC_INLINE void	S_invlist_set_len(pTHX_ SV* const invlist, const UV len)
+			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_INVLIST_SET_LEN	\
 	assert(invlist)
 
-PERL_STATIC_INLINE void	S_invlist_set_max(pTHX_ HV* const invlist, const UV max)
+PERL_STATIC_INLINE void	S_invlist_set_previous_index(pTHX_ SV* const invlist, const IV index)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_INVLIST_SET_MAX	\
+#define PERL_ARGS_ASSERT_INVLIST_SET_PREVIOUS_INDEX	\
 	assert(invlist)
 
-PERL_STATIC_INLINE void	S_invlist_trim(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE void	S_invlist_trim(pTHX_ SV* const invlist)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_INVLIST_TRIM	\
 	assert(invlist)
 
-STATIC HV*	S_invlist_union(pTHX_ HV* const a, HV* const b)
-			__attribute__warn_unused_result__
+STATIC U32	S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, UV *min_subtract, bool *has_exactf_sharp_s, U32 flags, regnode *val, U32 depth)
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_INVLIST_UNION	\
-	assert(a); assert(b)
-
-STATIC U32	S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, I32 *min, U32 flags, regnode *val, U32 depth)
-			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_3);
+			__attribute__nonnull__(pTHX_3)
+			__attribute__nonnull__(pTHX_4);
 #define PERL_ARGS_ASSERT_JOIN_EXACT	\
-	assert(pRExC_state); assert(scan); assert(min)
+	assert(pRExC_state); assert(scan); assert(min_subtract); assert(has_exactf_sharp_s)
 
 STATIC I32	S_make_trie(pTHX_ struct RExC_state_t *pRExC_state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth)
 			__attribute__nonnull__(pTHX_1)
@@ -6098,7 +6637,12 @@
 #define PERL_ARGS_ASSERT_NEXTCHAR	\
 	assert(pRExC_state)
 
-STATIC void	S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...)
+STATIC void	S_parse_lparen_question_flags(pTHX_ struct RExC_state_t *pRExC_state)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_PARSE_LPAREN_QUESTION_FLAGS	\
+	assert(pRExC_state)
+
+PERL_STATIC_NO_RET void	S_re_croak2(pTHX_ const char* pat1, const char* pat2, ...)
 			__attribute__noreturn__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
@@ -6111,11 +6655,6 @@
 #define PERL_ARGS_ASSERT_REG	\
 	assert(pRExC_state); assert(flagp)
 
-STATIC regnode*	S_reg_namedseq(pTHX_ struct RExC_state_t *pRExC_state, UV *valuep, I32 *flagp, U32 depth)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REG_NAMEDSEQ	\
-	assert(pRExC_state)
-
 STATIC regnode*	S_reg_node(pTHX_ struct RExC_state_t *pRExC_state, U8 op)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_REG_NODE	\
@@ -6153,10 +6692,11 @@
 #define PERL_ARGS_ASSERT_REGBRANCH	\
 	assert(pRExC_state); assert(flagp)
 
-STATIC regnode*	S_regclass(pTHX_ struct RExC_state_t *pRExC_state, U32 depth)
-			__attribute__nonnull__(pTHX_1);
+STATIC regnode*	S_regclass(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, U32 depth, const bool stop_at_1, bool allow_multi_fold, const bool silence_non_portable, SV** ret_invlist)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_REGCLASS	\
-	assert(pRExC_state)
+	assert(pRExC_state); assert(flagp)
 
 STATIC void	S_reginsert(pTHX_ struct RExC_state_t *pRExC_state, U8 op, regnode *opnd, U32 depth)
 			__attribute__nonnull__(pTHX_1)
@@ -6164,6 +6704,13 @@
 #define PERL_ARGS_ASSERT_REGINSERT	\
 	assert(pRExC_state); assert(opnd)
 
+STATIC char *	S_regpatws(struct RExC_state_t *pRExC_state, char *p, const bool recognize_comment)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(1)
+			__attribute__nonnull__(2);
+#define PERL_ARGS_ASSERT_REGPATWS	\
+	assert(pRExC_state); assert(p)
+
 STATIC regnode*	S_regpiece(pTHX_ struct RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
@@ -6170,7 +6717,7 @@
 #define PERL_ARGS_ASSERT_REGPIECE	\
 	assert(pRExC_state); assert(flagp)
 
-STATIC I32	S_regpposixcc(pTHX_ struct RExC_state_t *pRExC_state, I32 value)
+PERL_STATIC_INLINE I32	S_regpposixcc(pTHX_ struct RExC_state_t *pRExC_state, I32 value, const bool strict)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_REGPPOSIXCC	\
 	assert(pRExC_state)
@@ -6202,35 +6749,169 @@
 #define PERL_ARGS_ASSERT_SCAN_COMMIT	\
 	assert(pRExC_state); assert(data); assert(minlenp)
 
-PERL_STATIC_INLINE U8	S_set_regclass_bit(pTHX_ struct RExC_state_t* pRExC_state, regnode* node, const U8 value, HV** invlist_ptr, AV** alternate_ptr)
+STATIC I32	S_study_chunk(pTHX_ struct RExC_state_t *pRExC_state, regnode **scanp, I32 *minlenp, I32 *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U8* recursed, struct regnode_charclass_class *and_withp, U32 flags, U32 depth)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3)
 			__attribute__nonnull__(pTHX_4)
 			__attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_SET_REGCLASS_BIT	\
-	assert(pRExC_state); assert(node); assert(invlist_ptr); assert(alternate_ptr)
+#define PERL_ARGS_ASSERT_STUDY_CHUNK	\
+	assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last)
 
-STATIC U8	S_set_regclass_bit_fold(pTHX_ struct RExC_state_t *pRExC_state, regnode* node, const U8 value, HV** invlist_ptr, AV** alternate_ptr)
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
+PERL_STATIC_INLINE UV*	S__get_invlist_len_addr(pTHX_ SV* invlist)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__GET_INVLIST_LEN_ADDR	\
+	assert(invlist)
+
+PERL_CALLCONV SV*	Perl__get_swash_invlist(pTHX_ SV* const swash)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__GET_SWASH_INVLIST	\
+	assert(swash)
+
+PERL_STATIC_INLINE bool	S__invlist_contains_cp(pTHX_ SV* const invlist, const UV cp)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_CONTAINS_CP	\
+	assert(invlist)
+
+PERL_CALLCONV SV*	Perl__invlist_contents(pTHX_ SV* const invlist)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_CONTENTS	\
+	assert(invlist)
+
+PERL_STATIC_INLINE UV	S__invlist_len(pTHX_ SV* const invlist)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_LEN	\
+	assert(invlist)
+
+PERL_CALLCONV IV	Perl__invlist_search(pTHX_ SV* const invlist, const UV cp)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_SEARCH	\
+	assert(invlist)
+
+PERL_CALLCONV HV*	Perl__swash_inversion_hash(pTHX_ SV* const swash)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_INVERSION_HASH	\
+	assert(swash)
+
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C) || defined(PERL_IN_TOKE_C)
+PERL_CALLCONV SV*	Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV* listsv, I32 minbits, I32 none, SV* invlist, U8* const flags_p)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_4)
-			__attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_SET_REGCLASS_BIT_FOLD	\
-	assert(pRExC_state); assert(node); assert(invlist_ptr); assert(alternate_ptr)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__CORE_SWASH_INIT	\
+	assert(pkg); assert(name); assert(listsv)
 
-STATIC I32	S_study_chunk(pTHX_ struct RExC_state_t *pRExC_state, regnode **scanp, I32 *minlenp, I32 *deltap, regnode *last, struct scan_data_t *data, I32 stopparen, U8* recursed, struct regnode_charclass_class *and_withp, U32 flags, U32 depth)
+#endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C)
+STATIC char*	S_form_short_octal_warning(pTHX_ const char * const s, const STRLEN len)
+			__attribute__warn_unused_result__
+			__attribute__pure__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_FORM_SHORT_OCTAL_WARNING	\
+	assert(s)
+
+STATIC char	S_grok_bslash_c(pTHX_ const char source, const bool utf8, const bool output_warning)
+			__attribute__warn_unused_result__;
+
+STATIC bool	S_grok_bslash_o(pTHX_ char** s, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
-			__attribute__nonnull__(pTHX_3)
-			__attribute__nonnull__(pTHX_4)
-			__attribute__nonnull__(pTHX_5);
-#define PERL_ARGS_ASSERT_STUDY_CHUNK	\
-	assert(pRExC_state); assert(scanp); assert(minlenp); assert(deltap); assert(last)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GROK_BSLASH_O	\
+	assert(s); assert(uv); assert(error_msg)
 
+PERL_STATIC_INLINE bool	S_grok_bslash_x(pTHX_ char** s, UV* uv, const char** error_msg, const bool output_warning, const bool strict, const bool silence_non_portable, const bool utf8)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_GROK_BSLASH_X	\
+	assert(s); assert(uv); assert(error_msg)
+
+PERL_STATIC_INLINE I32	S_regcurly(pTHX_ const char *s, const bool rbrace_must_be_escaped)
+			__attribute__warn_unused_result__
+			__attribute__pure__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_REGCURLY	\
+	assert(s)
+
 #endif
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+PERL_CALLCONV SV*	Perl__add_range_to_invlist(pTHX_ SV* invlist, const UV start, const UV end)
+			__attribute__warn_unused_result__;
+
+/* PERL_CALLCONV void	_invlist_intersection(pTHX_ SV* const a, SV* const b, SV** i)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3); */
+
+PERL_CALLCONV void	Perl__invlist_intersection_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** i)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT__INVLIST_INTERSECTION_MAYBE_COMPLEMENT_2ND	\
+	assert(b); assert(i)
+
+PERL_CALLCONV void	Perl__invlist_invert(pTHX_ SV* const invlist)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_INVERT	\
+	assert(invlist)
+
+PERL_CALLCONV void	Perl__invlist_invert_prop(pTHX_ SV* const invlist)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__INVLIST_INVERT_PROP	\
+	assert(invlist)
+
+PERL_CALLCONV void	Perl__invlist_populate_swatch(pTHX_ SV* const invlist, const UV start, const UV end, U8* swatch)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT__INVLIST_POPULATE_SWATCH	\
+	assert(invlist); assert(swatch)
+
+/* PERL_CALLCONV void	_invlist_subtract(pTHX_ SV* const a, SV* const b, SV** result)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3); */
+
+/* PERL_CALLCONV void	_invlist_union(pTHX_ SV* const a, SV* const b, SV** output)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3); */
+
+PERL_CALLCONV void	Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** output)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND	\
+	assert(b); assert(output)
+
+PERL_CALLCONV SV*	Perl__new_invlist(pTHX_ IV initial_size)
+			__attribute__warn_unused_result__;
+
+PERL_CALLCONV SV*	Perl__swash_to_invlist(pTHX_ SV* const swash)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT__SWASH_TO_INVLIST	\
+	assert(swash)
+
+#endif
 #if defined(PERL_IN_REGEXEC_C)
-STATIC char*	S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo)
+STATIC SV*	S_core_regclass_swash(pTHX_ const regexp *prog, const struct regnode *node, bool doinit, SV **listsvp)
 			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_CORE_REGCLASS_SWASH	\
+	assert(node)
+
+STATIC char*	S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, const char *strend, regmatch_info *reginfo, bool is_utf_pat)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
 			__attribute__nonnull__(pTHX_3)
@@ -6238,6 +6919,15 @@
 #define PERL_ARGS_ASSERT_FIND_BYCLASS	\
 	assert(prog); assert(c); assert(s); assert(strend)
 
+STATIC bool	S_isFOO_lc(pTHX_ const U8 classnum, const U8 character)
+			__attribute__warn_unused_result__;
+
+STATIC bool	S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_ISFOO_UTF8_LC	\
+	assert(character)
+
 STATIC I32	S_reg_check_named_buff_matched(pTHX_ const regexp *rex, const regnode *scan)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
@@ -6245,12 +6935,17 @@
 #define PERL_ARGS_ASSERT_REG_CHECK_NAMED_BUFF_MATCHED	\
 	assert(rex); assert(scan)
 
-STATIC char*	S_regcppop(pTHX_ const regexp *rex)
+STATIC void	S_regcppop(pTHX_ regexp *rex, U32 *maxopenparen_p)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_REGCPPOP	\
+	assert(rex); assert(maxopenparen_p)
+
+STATIC CHECKPOINT	S_regcppush(pTHX_ const regexp *rex, I32 parenfloor, U32 maxopenparen)
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_REGCPPOP	\
+#define PERL_ARGS_ASSERT_REGCPPUSH	\
 	assert(rex)
 
-STATIC CHECKPOINT	S_regcppush(pTHX_ I32 parenfloor);
 STATIC U8*	S_reghop3(U8 *s, I32 off, const U8 *lim)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(1)
@@ -6265,7 +6960,7 @@
 #define PERL_ARGS_ASSERT_REGHOPMAYBE3	\
 	assert(s); assert(lim)
 
-STATIC bool	S_reginclass(pTHX_ const regexp * const prog, const regnode * const n, const U8 * const p, STRLEN *lenp, bool const do_utf8sv_is_utf8)
+STATIC bool	S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8 * const p, bool const utf8_target)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_2)
 			__attribute__nonnull__(pTHX_3);
@@ -6272,28 +6967,30 @@
 #define PERL_ARGS_ASSERT_REGINCLASS	\
 	assert(n); assert(p)
 
-STATIC I32	S_regmatch(pTHX_ regmatch_info *reginfo, regnode *prog)
+STATIC I32	S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
 #define PERL_ARGS_ASSERT_REGMATCH	\
-	assert(reginfo); assert(prog)
+	assert(reginfo); assert(startpos); assert(prog)
 
-STATIC I32	S_regrepeat(pTHX_ const regexp *prog, const regnode *p, I32 max, int depth)
+STATIC I32	S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p, I32 max, int depth, bool is_utf8_pat)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
-			__attribute__nonnull__(pTHX_2);
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
 #define PERL_ARGS_ASSERT_REGREPEAT	\
-	assert(prog); assert(p)
+	assert(prog); assert(startposp); assert(p)
 
-STATIC I32	S_regtry(pTHX_ regmatch_info *reginfo, char **startpos)
+STATIC I32	S_regtry(pTHX_ regmatch_info *reginfo, char **startposp)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_REGTRY	\
-	assert(reginfo); assert(startpos)
+	assert(reginfo); assert(startposp)
 
-STATIC void	S_to_byte_substr(pTHX_ regexp * prog)
+STATIC bool	S_to_byte_substr(pTHX_ regexp * prog)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_TO_BYTE_SUBSTR	\
 	assert(prog)
@@ -6431,7 +7128,7 @@
 #define PERL_ARGS_ASSERT_SV_POS_U2B_MIDWAY	\
 	assert(start); assert(send)
 
-STATIC void	S_sv_unglob(pTHX_ SV *const sv)
+PERL_STATIC_INLINE void	S_sv_unglob(pTHX_ SV *const sv, U32 flags)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SV_UNGLOB	\
 	assert(sv)
@@ -6455,9 +7152,6 @@
 #define PERL_ARGS_ASSERT_UTF8_MG_POS_CACHE_UPDATE	\
 	assert(sv); assert(mgp)
 
-STATIC SV *	S_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ, const SV *const keyname, I32 aindex, int subscript_type)
-			__attribute__warn_unused_result__;
-
 STATIC I32	S_visit(pTHX_ SVFUNC_t f, const U32 flags, const U32 mask)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_VISIT	\
@@ -6494,6 +7188,11 @@
 
 #  endif
 #endif
+#if defined(PERL_IN_SV_C) || defined (PERL_IN_OP_C)
+PERL_CALLCONV SV *	Perl_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ, const SV *const keyname, I32 aindex, int subscript_type)
+			__attribute__warn_unused_result__;
+
+#endif
 #if defined(PERL_IN_TOKE_C)
 STATIC int	S_ao(pTHX_ int toketype);
 STATIC void	S_check_uni(pTHX);
@@ -6522,6 +7221,7 @@
 #define PERL_ARGS_ASSERT_FORCE_IDENT	\
 	assert(s)
 
+STATIC void	S_force_ident_maybe_lex(pTHX_ char pit);
 STATIC void	S_force_next(pTHX_ I32 type);
 STATIC char*	S_force_strict_version(pTHX_ char *s)
 			__attribute__nonnull__(pTHX_1);
@@ -6538,6 +7238,13 @@
 #define PERL_ARGS_ASSERT_FORCE_WORD	\
 	assert(start)
 
+PERL_STATIC_INLINE SV*	S_get_and_check_backslash_N_name(pTHX_ const char* s, const char* const e)
+			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME	\
+	assert(s); assert(e)
+
 STATIC void	S_incline(pTHX_ const char *s)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_INCLINE	\
@@ -6558,7 +7265,7 @@
 #define PERL_ARGS_ASSERT_LOP	\
 	assert(s)
 
-STATIC void	S_missingterm(pTHX_ char *s)
+PERL_STATIC_NO_RET void	S_missingterm(pTHX_ char *s)
 			__attribute__noreturn__;
 
 STATIC SV*	S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, STRLEN keylen, SV *sv, SV *pv, const char *type, STRLEN typelen)
@@ -6572,6 +7279,14 @@
 #define PERL_ARGS_ASSERT_NO_OP	\
 	assert(what)
 
+STATIC void	S_parse_ident(pTHX_ char **s, char **d, char * const e, int allow_package, bool is_utf8)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT_PARSE_IDENT	\
+	assert(s); assert(d); assert(e)
+
+STATIC int	S_pending_ident(pTHX);
 STATIC void	S_readpipe_override(pTHX);
 STATIC char*	S_scan_const(pTHX_ char *start)
 			__attribute__warn_unused_result__
@@ -6610,7 +7325,7 @@
 #define PERL_ARGS_ASSERT_SCAN_PAT	\
 	assert(start)
 
-STATIC char*	S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims)
+STATIC char*	S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims, int re_reparse, bool deprecate_escaped_matching)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_SCAN_STR	\
@@ -6668,7 +7383,7 @@
 	assert(sv)
 
 STATIC void	S_update_debugger_info(pTHX_ SV *orig_sv, const char *const buf, STRLEN len);
-STATIC int	S_yywarn(pTHX_ const char *const s)
+STATIC int	S_yywarn(pTHX_ const char *const s, U32 flags)
 			__attribute__nonnull__(pTHX_1);
 #define PERL_ARGS_ASSERT_YYWARN	\
 	assert(s)
@@ -6694,7 +7409,7 @@
 #  endif
 #endif
 #if defined(PERL_IN_UNIVERSAL_C)
-STATIC bool	S_isa_lookup(pTHX_ HV *stash, const char * const name)
+STATIC bool	S_isa_lookup(pTHX_ HV *stash, const char * const name, STRLEN len, U32 flags)
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_ISA_LOOKUP	\
@@ -6702,13 +7417,21 @@
 
 #endif
 #if defined(PERL_IN_UTF8_C)
-STATIC STRLEN	S_is_utf8_char_slow(const U8 *s, const STRLEN len)
+STATIC UV	S_check_locale_boundary_crossing(pTHX_ const U8* const p, const UV result, U8* const ustrp, STRLEN *lenp)
 			__attribute__warn_unused_result__
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_3)
+			__attribute__nonnull__(pTHX_4);
+#define PERL_ARGS_ASSERT_CHECK_LOCALE_BOUNDARY_CROSSING	\
+	assert(p); assert(ustrp); assert(lenp)
+
+PERL_STATIC_INLINE STRLEN	S_is_utf8_char_slow(const U8 *s, const STRLEN len)
+			__attribute__warn_unused_result__
 			__attribute__nonnull__(1);
 #define PERL_ARGS_ASSERT_IS_UTF8_CHAR_SLOW	\
 	assert(s)
 
-STATIC bool	S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const char * const swashname)
+PERL_STATIC_INLINE bool	S_is_utf8_common(pTHX_ const U8 *const p, SV **swash, const char * const swashname)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1)
 			__attribute__nonnull__(pTHX_2)
@@ -6716,13 +7439,32 @@
 #define PERL_ARGS_ASSERT_IS_UTF8_COMMON	\
 	assert(p); assert(swash); assert(swashname)
 
-STATIC SV*	S_swash_get(pTHX_ SV* swash, UV start, UV span)
+STATIC SV*	S_swatch_get(pTHX_ SV* swash, UV start, UV span)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SWASH_GET	\
+#define PERL_ARGS_ASSERT_SWATCH_GET	\
 	assert(swash)
 
+STATIC U8	S_to_lower_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp)
+			__attribute__warn_unused_result__;
+
 #endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
+PERL_CALLCONV UV	Perl__to_upper_title_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const char S_or_s)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__TO_UPPER_TITLE_LATIN1	\
+	assert(p); assert(lenp)
+
+#endif
+#if defined(PERL_IN_UTF8_C) || defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C)
+PERL_CALLCONV UV	Perl__to_fold_latin1(pTHX_ const U8 c, U8 *p, STRLEN *lenp, const bool flags)
+			__attribute__nonnull__(pTHX_2)
+			__attribute__nonnull__(pTHX_3);
+#define PERL_ARGS_ASSERT__TO_FOLD_LATIN1	\
+	assert(p); assert(lenp)
+
+#endif
 #if defined(PERL_IN_UTIL_C)
 STATIC bool	S_ckwarn_common(pTHX_ U32 w);
 STATIC const COP*	S_closest_cop(pTHX_ const COP *cop, const OP *o)
@@ -6737,9 +7479,6 @@
 #define PERL_ARGS_ASSERT_WITH_QUEUED_ERRORS	\
 	assert(ex)
 
-STATIC char *	S_write_no_mem(pTHX)
-			__attribute__noreturn__;
-
 #  if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
 STATIC void	S_mem_log_common(enum mem_log_type mlt, const UV n, const UV typesize, const char *type_name, const SV *sv, Malloc_t oldalloc, Malloc_t newalloc, const char *filename, const int linenumber, const char *funcname)
 			__attribute__nonnull__(4)
@@ -6773,9 +7512,6 @@
 #define PERL_ARGS_ASSERT_NEWMADSV	\
 	assert(sv)
 
-PERL_CALLCONV OP *	Perl_newMYSUB(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs, OP *block)
-			__attribute__noreturn__;
-
 PERL_CALLCONV TOKEN*	Perl_newTOKEN(pTHX_ I32 optype, YYSTYPE lval, MADPROP* madprop);
 PERL_CALLCONV void	Perl_op_getmad(pTHX_ OP* from, OP* o, char slot);
 PERL_CALLCONV void	Perl_op_getmad_weak(pTHX_ OP* from, OP* o, char slot);
@@ -6948,27 +7684,9 @@
 #if defined(PERL_NEED_MY_LETOHS)
 PERL_CALLCONV short	Perl_my_letohs(short n);
 #endif
-#if defined(PERL_OLD_COPY_ON_WRITE)
-PERL_CALLCONV SV*	Perl_sv_setsv_cow(pTHX_ SV* dstr, SV* sstr)
-			__attribute__nonnull__(pTHX_2);
-#define PERL_ARGS_ASSERT_SV_SETSV_COW	\
-	assert(sstr)
-
-#endif
 #if defined(PERL_USES_PL_PIDSTATUS) && defined(PERL_IN_UTIL_C)
 STATIC void	S_pidgone(pTHX_ Pid_t pid, int status);
 #endif
-#if defined(PL_OP_SLAB_ALLOC)
-PERL_CALLCONV void*	Perl_Slab_Alloc(pTHX_ size_t sz)
-			__attribute__malloc__
-			__attribute__warn_unused_result__;
-
-PERL_CALLCONV void	Perl_Slab_Free(pTHX_ void *op)
-			__attribute__nonnull__(pTHX_1);
-#define PERL_ARGS_ASSERT_SLAB_FREE	\
-	assert(op)
-
-#endif
 #if defined(UNLINK_ALL_VERSIONS)
 PERL_CALLCONV I32	Perl_unlnk(pTHX_ const char* f)
 			__attribute__nonnull__(pTHX_1);
@@ -6977,6 +7695,11 @@
 
 #endif
 #if defined(USE_ITHREADS)
+PERL_CALLCONV PADOFFSET	Perl_alloccopstash(pTHX_ HV *hv)
+			__attribute__nonnull__(pTHX_1);
+#define PERL_ARGS_ASSERT_ALLOCCOPSTASH	\
+	assert(hv)
+
 PERL_CALLCONV void*	Perl_any_dup(pTHX_ void* v, const PerlInterpreter* proto_perl)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_2);
@@ -7050,7 +7773,7 @@
 #define PERL_ARGS_ASSERT_NEWPADOP	\
 	assert(sv)
 
-PERL_CALLCONV AV*	Perl_padlist_dup(pTHX_ AV *const srcpad, CLONE_PARAMS *const param)
+PERL_CALLCONV PADLIST *	Perl_padlist_dup(pTHX_ PADLIST *srcpad, CLONE_PARAMS *param)
 			__attribute__warn_unused_result__
 			__attribute__nonnull__(pTHX_2);
 #define PERL_ARGS_ASSERT_PADLIST_DUP	\
@@ -7183,15 +7906,13 @@
 	assert(vbuf)
 
 #endif
-#if defined(USE_REENTRANT_API)
-PERL_CALLCONV void	Perl_reentrant_free(pTHX);
-PERL_CALLCONV void	Perl_reentrant_init(pTHX);
-PERL_CALLCONV void*	Perl_reentrant_retry(const char *f, ...)
+#if defined(WIN32)
+PERL_CALLCONV_NO_RET void	win32_croak_not_implemented(const char * fname)
+			__attribute__noreturn__
 			__attribute__nonnull__(1);
-#define PERL_ARGS_ASSERT_REENTRANT_RETRY	\
-	assert(f)
+#define PERL_ARGS_ASSERT_WIN32_CROAK_NOT_IMPLEMENTED	\
+	assert(fname)
 
-PERL_CALLCONV void	Perl_reentrant_size(pTHX);
 #endif
 #if defined(WIN32) || defined(__SYMBIAN32__) || defined(VMS)
 PERL_CALLCONV int	Perl_do_aspawn(pTHX_ SV* really, SV** mark, SV** sp)
@@ -7211,6 +7932,14 @@
 	assert(cmd)
 
 #endif
+#if defined(_MSC_VER)
+PERL_CALLCONV int	Perl_magic_regdatum_set(pTHX_ SV* sv, MAGIC* mg)
+			__attribute__nonnull__(pTHX_1)
+			__attribute__nonnull__(pTHX_2);
+#define PERL_ARGS_ASSERT_MAGIC_REGDATUM_SET	\
+	assert(sv); assert(mg)
+
+#endif
 #ifdef PERL_CORE
 #  include "pp_proto.h"
 #endif


Property changes on: vendor/perl/dist/proto.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/qnx/ar
===================================================================
--- vendor/perl/dist/qnx/ar	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/qnx/ar	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/qnx/ar
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/qnx/cpp
===================================================================
--- vendor/perl/dist/qnx/cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/qnx/cpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/qnx/cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/qnx/qnx.c
===================================================================
--- vendor/perl/dist/qnx/qnx.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/qnx/qnx.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/qnx/qnx.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/reentr.c
===================================================================
--- vendor/perl/dist/reentr.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/reentr.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -300,10 +300,10 @@
 void*
 Perl_reentrant_retry(const char *f, ...)
 {
-    dTHX;
     void *retptr = NULL;
     va_list ap;
 #ifdef USE_REENTRANT_API
+    dTHX;
     /* Easier to special case this here than in embed.pl. (Look at what it
        generates for proto.h) */
     PERL_ARGS_ASSERT_REENTRANT_RETRY;


Property changes on: vendor/perl/dist/reentr.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/reentr.h
===================================================================
--- vendor/perl/dist/reentr.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/reentr.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/reentr.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Deleted: vendor/perl/dist/reentr.pl
===================================================================
--- vendor/perl/dist/reentr.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/reentr.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,1154 +0,0 @@
-#!/usr/bin/perl -w
-# 
-# Regenerate (overwriting only if changed):
-#
-#    reentr.h
-#    reentr.c
-#
-# from information stored in the DATA section of this file.
-#
-# With the -U option, it also unconditionally regenerates the relevant
-# metaconfig units:
-#
-#    d_${func}_r.U
-#
-# Also accepts the standard regen_lib -q and -v args.
-#
-# This script is normally invoked from regen.pl.
-
-BEGIN {
-    # Get function prototypes
-    require 'regen_lib.pl';
-}
-
-use strict;
-use Getopt::Std;
-my %opts;
-getopts('Uv', \%opts);
-
-my %map = (
-	   V => "void",
-	   A => "char*",	# as an input argument
-	   B => "char*",	# as an output argument 
-	   C => "const char*",	# as a read-only input argument
-	   I => "int",
-	   L => "long",
-	   W => "size_t",
-	   H => "FILE**",
-	   E => "int*",
-	  );
-
-# (See the definitions after __DATA__.)
-# In func|inc|type|... a "S" means "type*", and a "R" means "type**".
-# (The "types" are often structs, such as "struct passwd".)
-#
-# After the prototypes one can have |X=...|Y=... to define more types.
-# A commonly used extra type is to define D to be equal to "type_data",
-# for example "struct_hostent_data to" go with "struct hostent".
-#
-# Example #1: I_XSBWR means int  func_r(X, type, char*, size_t, type**)
-# Example #2: S_SBIE  means type func_r(type, char*, int, int*)
-# Example #3: S_CBI   means type func_r(const char*, char*, int)
-
-
-# safer_unlink 'reentr.h';
-my $h = safer_open("reentr.h-new");
-select $h;
-print <<EOF;
-/* -*- buffer-read-only: t -*-
- *
- *    reentr.h
- *
- *    Copyright (C) 2002, 2003, 2005, 2006, 2007 by Larry Wall and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- *  !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
- *  This file is built by reentr.pl from data in reentr.pl.
- */
-
-#ifndef REENTR_H
-#define REENTR_H
-
-/* If compiling for a threaded perl, we will macro-wrap the system/library
- * interfaces (e.g. getpwent()) which have threaded versions
- * (e.g. getpwent_r()), which will handle things correctly for
- * the Perl interpreter, but otherwise (for XS) the wrapping does
- * not take place.  See L<perlxs/Thread-aware system interfaces>.
- */
-
-#ifndef PERL_REENTR_API
-# if defined(PERL_CORE) || defined(PERL_EXT)
-#  define PERL_REENTR_API 1
-# else
-#  define PERL_REENTR_API 0
-# endif
-#endif
-
-#ifdef USE_REENTRANT_API
- 
-/* Deprecations: some platforms have the said reentrant interfaces
- * but they are declared obsolete and are not to be used.  Often this
- * means that the platform has threadsafed the interfaces (hopefully).
- * All this is OS version dependent, so we are of course fooling ourselves.
- * If you know of more deprecations on some platforms, please add your own
- * (by editing reentr.pl, mind!) */
-
-#ifdef __hpux
-#   undef HAS_CRYPT_R
-#   undef HAS_DRAND48_R
-#   undef HAS_ENDGRENT_R
-#   undef HAS_ENDPWENT_R
-#   undef HAS_GETGRENT_R
-#   undef HAS_GETPWENT_R
-#   undef HAS_SETLOCALE_R
-#   undef HAS_SRAND48_R
-#   undef HAS_STRERROR_R
-#   define NETDB_R_OBSOLETE
-#endif
-
-#if defined(__osf__) && defined(__alpha) /* Tru64 aka Digital UNIX */
-#   undef HAS_CRYPT_R
-#   undef HAS_STRERROR_R
-#   define NETDB_R_OBSOLETE
-#endif
-
-/*
- * As of OpenBSD 3.7, reentrant functions are now working, they just are
- * incompatible with everyone else.  To make OpenBSD happy, we have to
- * memzero out certain structures before calling the functions.
- */
-#if defined(__OpenBSD__)
-#    define REENTR_MEMZERO(a,b) memzero(a,b)
-#else
-#    define REENTR_MEMZERO(a,b) 0
-#endif 
-
-#ifdef NETDB_R_OBSOLETE
-#   undef HAS_ENDHOSTENT_R
-#   undef HAS_ENDNETENT_R
-#   undef HAS_ENDPROTOENT_R
-#   undef HAS_ENDSERVENT_R
-#   undef HAS_GETHOSTBYADDR_R
-#   undef HAS_GETHOSTBYNAME_R
-#   undef HAS_GETHOSTENT_R
-#   undef HAS_GETNETBYADDR_R
-#   undef HAS_GETNETBYNAME_R
-#   undef HAS_GETNETENT_R
-#   undef HAS_GETPROTOBYNAME_R
-#   undef HAS_GETPROTOBYNUMBER_R
-#   undef HAS_GETPROTOENT_R
-#   undef HAS_GETSERVBYNAME_R
-#   undef HAS_GETSERVBYPORT_R
-#   undef HAS_GETSERVENT_R
-#   undef HAS_SETHOSTENT_R
-#   undef HAS_SETNETENT_R
-#   undef HAS_SETPROTOENT_R
-#   undef HAS_SETSERVENT_R
-#endif
-
-#ifdef I_PWD
-#   include <pwd.h>
-#endif
-#ifdef I_GRP
-#   include <grp.h>
-#endif
-#ifdef I_NETDB
-#   include <netdb.h>
-#endif
-#ifdef I_STDLIB
-#   include <stdlib.h>	/* drand48_data */
-#endif
-#ifdef I_CRYPT
-#   ifdef I_CRYPT
-#       include <crypt.h>
-#   endif
-#endif
-#ifdef HAS_GETSPNAM_R
-#   ifdef I_SHADOW
-#       include <shadow.h>
-#   endif
-#endif
-
-EOF
-
-my %seenh; # the different prototypes signatures for this function
-my %seena; # the different prototypes signatures for this function in order
-my @seenf; # all the seen functions
-my %seenp; # the different prototype signatures for all functions
-my %seent; # the return type of this function
-my %seens; # the type of this function's "S"
-my %seend; # the type of this function's "D"
-my %seenm; # all the types
-my %seenu; # the length of the argument list of this function
-
-while (<DATA>) { # Read in the protypes.
-    next if /^\s+$/;
-    chomp;
-    my ($func, $hdr, $type, @p) = split(/\s*\|\s*/, $_, -1);
-    my $u;
-    # Split off the real function name and the argument list.
-    ($func, $u) = split(' ', $func);
-    $seenu{$func} = defined $u ? length $u : 0;
-    my $FUNC = uc $func; # for output.
-    push @seenf, $func;
-    my %m = %map;
-    if ($type) {
-	$m{S} = "$type*";
-	$m{R} = "$type**";
-    }
-
-    # Set any special mapping variables (like X=x_t)
-    if (@p) {
-	while ($p[-1] =~ /=/) {
-	    my ($k, $v) = ($p[-1] =~ /^([A-Za-z])\s*=\s*(.*)/);
-	    $m{$k} = $v;
-	    pop @p;
-	}
-    }
-
-    # If given the -U option open up the metaconfig unit for this function.
-    if ($opts{U} && open(U, ">d_${func}_r.U"))  {
-    	binmode U;
-	select U;
-    }
-
-    if ($opts{U}) {
-	# The metaconfig units needs prerequisite dependencies.
-	my $prereqs  = '';
-	my $prereqh  = '';
-	my $prereqsh = '';
-	if ($hdr ne 'stdio') { # There's no i_stdio.
-	    $prereqs  = "i_$hdr";
-	    $prereqh  = "$hdr.h";
-	    $prereqsh = "\$$prereqs $prereqh";
-	}
-	my @prereq = qw(Inlibc Protochk Hasproto i_systypes usethreads);
-	push @prereq, $prereqs;
-        my $hdrs = "\$i_systypes sys/types.h define stdio.h $prereqsh";
-        if ($hdr eq 'time') {
-	    $hdrs .= " \$i_systime sys/time.h";
-	    push @prereq, 'i_systime';
-	}
-	# Output the metaconfig unit header.
-	print <<EOF;
-?RCS: \$Id: reentr.pl,v 1.1.1.2 2011-02-17 12:49:38 laffer1 Exp ${func}_r.U,v $
-?RCS:
-?RCS: Copyright (c) 2002,2003 Jarkko Hietaniemi
-?RCS:
-?RCS: You may distribute under the terms of either the GNU General Public
-?RCS: License or the Artistic License, as specified in the README file.
-?RCS:
-?RCS: Generated by the reentr.pl from the Perl 5.8 distribution.
-?RCS:
-?MAKE:d_${func}_r ${func}_r_proto: @prereq
-?MAKE:	-pick add \$@ %<
-?S:d_${func}_r:
-?S:	This variable conditionally defines the HAS_${FUNC}_R symbol,
-?S:	which indicates to the C program that the ${func}_r()
-?S:	routine is available.
-?S:.
-?S:${func}_r_proto:
-?S:	This variable encodes the prototype of ${func}_r.
-?S:	It is zero if d_${func}_r is undef, and one of the
-?S:	REENTRANT_PROTO_T_ABC macros of reentr.h if d_${func}_r
-?S:	is defined.
-?S:.
-?C:HAS_${FUNC}_R:
-?C:	This symbol, if defined, indicates that the ${func}_r routine
-?C:	is available to ${func} re-entrantly.
-?C:.
-?C:${FUNC}_R_PROTO:
-?C:	This symbol encodes the prototype of ${func}_r.
-?C:	It is zero if d_${func}_r is undef, and one of the
-?C:	REENTRANT_PROTO_T_ABC macros of reentr.h if d_${func}_r
-?C:	is defined.
-?C:.
-?H:#\$d_${func}_r HAS_${FUNC}_R	   /**/
-?H:#define ${FUNC}_R_PROTO \$${func}_r_proto	   /**/
-?H:.
-?T:try hdrs d_${func}_r_proto
-?LINT:set d_${func}_r
-?LINT:set ${func}_r_proto
-: see if ${func}_r exists
-set ${func}_r d_${func}_r
-eval \$inlibc
-case "\$d_${func}_r" in
-"\$define")
-EOF
-	print <<EOF;
-	hdrs="$hdrs"
-	case "\$d_${func}_r_proto:\$usethreads" in
-	":define")	d_${func}_r_proto=define
-		set d_${func}_r_proto ${func}_r \$hdrs
-		eval \$hasproto ;;
-	*)	;;
-	esac
-	case "\$d_${func}_r_proto" in
-	define)
-EOF
-    }
-    for my $p (@p) {
-        my ($r, $a) = ($p =~ /^(.)_(.+)/);
-	my $v = join(", ", map { $m{$_} } split '', $a);
-	if ($opts{U}) {
-	    print <<EOF ;
-	case "\$${func}_r_proto" in
-	''|0) try='$m{$r} ${func}_r($v);'
-	./protochk "extern \$try" \$hdrs && ${func}_r_proto=$p ;;
-	esac
-EOF
-        }
-        $seenh{$func}->{$p}++;
-        push @{$seena{$func}}, $p;
-        $seenp{$p}++;
-        $seent{$func} = $type;
-        $seens{$func} = $m{S};
-        $seend{$func} = $m{D};
-	$seenm{$func} = \%m;
-    }
-    if ($opts{U}) {
-	print <<EOF;
-	case "\$${func}_r_proto" in
-	''|0)	d_${func}_r=undef
- 	        ${func}_r_proto=0
-		echo "Disabling ${func}_r, cannot determine prototype." >&4 ;;
-	* )	case "\$${func}_r_proto" in
-		REENTRANT_PROTO*) ;;
-		*) ${func}_r_proto="REENTRANT_PROTO_\$${func}_r_proto" ;;
-		esac
-		echo "Prototype: \$try" ;;
-	esac
-	;;
-	*)	case "\$usethreads" in
-		define) echo "${func}_r has no prototype, not using it." >&4 ;;
-		esac
-		d_${func}_r=undef
-		${func}_r_proto=0
-		;;
-	esac
-	;;
-*)	${func}_r_proto=0
-	;;
-esac
-
-EOF
-	close(U);		    
-    }
-}
-
-close DATA;
-
-# Prepare to continue writing the reentr.h.
-
-select $h;
-
-{
-    # Write out all the known prototype signatures.
-    my $i = 1;
-    for my $p (sort keys %seenp) {
-	print "#define REENTRANT_PROTO_${p}	${i}\n";
-	$i++;
-    }
-}
-
-my @struct; # REENTR struct members
-my @size;   # struct member buffer size initialization code
-my @init;   # struct member buffer initialization (malloc) code
-my @free;   # struct member buffer release (free) code
-my @wrap;   # the wrapper (foo(a) -> foo_r(a,...)) cpp code
-my @define; # defines for optional features
-
-sub ifprotomatch {
-    my $FUNC = shift;
-    join " || ", map { "${FUNC}_R_PROTO == REENTRANT_PROTO_$_" } @_;
-}
-
-sub pushssif {
-    push @struct, @_;
-    push @size, @_;
-    push @init, @_;
-    push @free, @_;
-}
-
-sub pushinitfree {
-    my $func = shift;
-    push @init, <<EOF;
-	Newx(PL_reentrant_buffer->_${func}_buffer, PL_reentrant_buffer->_${func}_size, char);
-EOF
-    push @free, <<EOF;
-	Safefree(PL_reentrant_buffer->_${func}_buffer);
-EOF
-}
-
-sub define {
-    my ($n, $p, @F) = @_;
-    my @H;
-    my $H = uc $F[0];
-    push @define, <<EOF;
-/* The @F using \L$n? */
-
-EOF
-    my $GENFUNC;
-    for my $func (@F) {
-	my $FUNC = uc $func;
-	my $HAS = "${FUNC}_R_HAS_$n";
-	push @H, $HAS;
-	my @h = grep { /$p/ } @{$seena{$func}};
-	unless (defined $GENFUNC) {
-	    $GENFUNC = $FUNC;
-	    $GENFUNC =~ s/^GET//;
-	}
-	if (@h) {
-	    push @define, "#if defined(HAS_${FUNC}_R) && (" . join(" || ", map { "${FUNC}_R_PROTO == REENTRANT_PROTO_$_" } @h) . ")\n";
-
-	    push @define, <<EOF;
-#   define $HAS
-#else
-#   undef  $HAS
-#endif
-EOF
-        }
-    }
-    return if @F == 1;
-    push @define, <<EOF;
-
-/* Any of the @F using \L$n? */
-
-EOF
-    push @define, "#if (" . join(" || ", map { "defined($_)" } @H) . ")\n";
-    push @define, <<EOF;
-#   define USE_${GENFUNC}_$n
-#else
-#   undef  USE_${GENFUNC}_$n
-#endif
-
-EOF
-}
-
-define('BUFFER',  'B',
-       qw(getgrent getgrgid getgrnam));
-
-define('PTR',  'R',
-       qw(getgrent getgrgid getgrnam));
-define('PTR',  'R',
-       qw(getpwent getpwnam getpwuid));
-define('PTR',  'R',
-       qw(getspent getspnam));
-
-define('FPTR', 'H',
-       qw(getgrent getgrgid getgrnam setgrent endgrent));
-define('FPTR', 'H',
-       qw(getpwent getpwnam getpwuid setpwent endpwent));
-
-define('BUFFER',  'B',
-       qw(getpwent getpwgid getpwnam));
-
-define('PTR', 'R',
-       qw(gethostent gethostbyaddr gethostbyname));
-define('PTR', 'R',
-       qw(getnetent getnetbyaddr getnetbyname));
-define('PTR', 'R',
-       qw(getprotoent getprotobyname getprotobynumber));
-define('PTR', 'R',
-       qw(getservent getservbyname getservbyport));
-
-define('BUFFER', 'B',
-       qw(gethostent gethostbyaddr gethostbyname));
-define('BUFFER', 'B',
-       qw(getnetent getnetbyaddr getnetbyname));
-define('BUFFER', 'B',
-       qw(getprotoent getprotobyname getprotobynumber));
-define('BUFFER', 'B',
-       qw(getservent getservbyname getservbyport));
-
-define('ERRNO', 'E',
-       qw(gethostent gethostbyaddr gethostbyname));
-define('ERRNO', 'E',
-       qw(getnetent getnetbyaddr getnetbyname));
-
-# The following loop accumulates the "ssif" (struct, size, init, free)
-# sections that declare the struct members (in reentr.h), and the buffer
-# size initialization, buffer initialization (malloc), and buffer
-# release (free) code (in reentr.c).
-#
-# The loop also contains a lot of intrinsic logic about groups of
-# functions (since functions of certain kind operate the same way).
-
-for my $func (@seenf) {
-    my $FUNC = uc $func;
-    my $ifdef = "#ifdef HAS_${FUNC}_R\n";
-    my $endif = "#endif /* HAS_${FUNC}_R */\n";
-    if (exists $seena{$func}) {
-	my @p = @{$seena{$func}};
-	if ($func =~ /^(asctime|ctime|getlogin|setlocale|strerror|ttyname)$/) {
-	    pushssif $ifdef;
-	    push @struct, <<EOF;
-	char*	_${func}_buffer;
-	size_t	_${func}_size;
-EOF
-	    push @size, <<EOF;
-	PL_reentrant_buffer->_${func}_size = REENTRANTSMALLSIZE;
-EOF
-	    pushinitfree $func;
-	    pushssif $endif;
-	}
-        elsif ($func =~ /^(crypt)$/) {
-	    pushssif $ifdef;
-	    push @struct, <<EOF;
-#if CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD
-	$seend{$func} _${func}_data;
-#else
-	$seent{$func} *_${func}_struct_buffer;
-#endif
-EOF
-    	    push @init, <<EOF;
-#if CRYPT_R_PROTO != REENTRANT_PROTO_B_CCD
-	PL_reentrant_buffer->_${func}_struct_buffer = 0;
-#endif
-EOF
-    	    push @free, <<EOF;
-#if CRYPT_R_PROTO != REENTRANT_PROTO_B_CCD
-	Safefree(PL_reentrant_buffer->_${func}_struct_buffer);
-#endif
-EOF
-	    pushssif $endif;
-	}
-        elsif ($func =~ /^(drand48|gmtime|localtime|random|srandom)$/) {
-	    pushssif $ifdef;
-	    push @struct, <<EOF;
-	$seent{$func} _${func}_struct;
-EOF
-	    if ($1 eq 'drand48') {
-	        push @struct, <<EOF;
-	double	_${func}_double;
-EOF
-	    } elsif ($1 eq 'random') {
-	    push @struct, <<EOF;
-#   if RANDOM_R_PROTO == REENTRANT_PROTO_I_iS
-	int	_${func}_retval;
-#   endif
-#   if RANDOM_R_PROTO == REENTRANT_PROTO_I_lS
-	long	_${func}_retval;
-#   endif
-#   if RANDOM_R_PROTO == REENTRANT_PROTO_I_St
-	int32_t	_${func}_retval;
-#   endif
-EOF
-	    }
-	    pushssif $endif;
-	}
-        elsif ($func =~ /^(getgrnam|getpwnam|getspnam)$/) {
-	    pushssif $ifdef;
-	    # 'genfunc' can be read either as 'generic' or 'genre',
-	    # it represents a group of functions.
-	    my $genfunc = $func;
-	    $genfunc =~ s/nam/ent/g;
-	    $genfunc =~ s/^get//;
-	    my $GENFUNC = uc $genfunc;
-	    push @struct, <<EOF;
-	$seent{$func}	_${genfunc}_struct;
-	char*	_${genfunc}_buffer;
-	size_t	_${genfunc}_size;
-EOF
-            push @struct, <<EOF;
-#   ifdef USE_${GENFUNC}_PTR
-	$seent{$func}*	_${genfunc}_ptr;
-#   endif
-EOF
-	    push @struct, <<EOF;
-#   ifdef USE_${GENFUNC}_FPTR
-	FILE*	_${genfunc}_fptr;
-#   endif
-EOF
-	    push @init, <<EOF;
-#   ifdef USE_${GENFUNC}_FPTR
-	PL_reentrant_buffer->_${genfunc}_fptr = NULL;
-#   endif
-EOF
-	    my $sc = $genfunc eq 'grent' ?
-		    '_SC_GETGR_R_SIZE_MAX' : '_SC_GETPW_R_SIZE_MAX';
-	    my $sz = "_${genfunc}_size";
-	    push @size, <<EOF;
-#   if defined(HAS_SYSCONF) && defined($sc) && !defined(__GLIBC__)
-	PL_reentrant_buffer->$sz = sysconf($sc);
-	if (PL_reentrant_buffer->$sz == (size_t) -1)
-		PL_reentrant_buffer->$sz = REENTRANTUSUALSIZE;
-#   else
-#       if defined(__osf__) && defined(__alpha) && defined(SIABUFSIZ)
-	PL_reentrant_buffer->$sz = SIABUFSIZ;
-#       else
-#           ifdef __sgi
-	PL_reentrant_buffer->$sz = BUFSIZ;
-#           else
-	PL_reentrant_buffer->$sz = REENTRANTUSUALSIZE;
-#           endif
-#       endif
-#   endif 
-EOF
-	    pushinitfree $genfunc;
-	    pushssif $endif;
-	}
-        elsif ($func =~ /^(gethostbyname|getnetbyname|getservbyname|getprotobyname)$/) {
-	    pushssif $ifdef;
-	    my $genfunc = $func;
-	    $genfunc =~ s/byname/ent/;
-	    $genfunc =~ s/^get//;
-	    my $GENFUNC = uc $genfunc;
-	    my $D = ifprotomatch($FUNC, grep {/D/} @p);
-	    my $d = $seend{$func};
-	    $d =~ s/\*$//; # snip: we need need the base type.
-	    push @struct, <<EOF;
-	$seent{$func}	_${genfunc}_struct;
-#   if $D
-	$d	_${genfunc}_data;
-#   else
-	char*	_${genfunc}_buffer;
-	size_t	_${genfunc}_size;
-#   endif
-#   ifdef USE_${GENFUNC}_PTR
-	$seent{$func}*	_${genfunc}_ptr;
-#   endif
-EOF
-    	    push @struct, <<EOF;
-#   ifdef USE_${GENFUNC}_ERRNO
-	int	_${genfunc}_errno;
-#   endif 
-EOF
-	    push @size, <<EOF;
-#if   !($D)
-	PL_reentrant_buffer->_${genfunc}_size = REENTRANTUSUALSIZE;
-#endif
-EOF
-	    push @init, <<EOF;
-#if   !($D)
-	Newx(PL_reentrant_buffer->_${genfunc}_buffer, PL_reentrant_buffer->_${genfunc}_size, char);
-#endif
-EOF
-	    push @free, <<EOF;
-#if   !($D)
-	Safefree(PL_reentrant_buffer->_${genfunc}_buffer);
-#endif
-EOF
-	    pushssif $endif;
-	}
-        elsif ($func =~ /^(readdir|readdir64)$/) {
-	    pushssif $ifdef;
-	    my $R = ifprotomatch($FUNC, grep {/R/} @p);
-	    push @struct, <<EOF;
-	$seent{$func}*	_${func}_struct;
-	size_t	_${func}_size;
-#   if $R
-	$seent{$func}*	_${func}_ptr;
-#   endif
-EOF
-	    push @size, <<EOF;
-	/* This is the size Solaris recommends.
-	 * (though we go static, should use pathconf() instead) */
-	PL_reentrant_buffer->_${func}_size = sizeof($seent{$func}) + MAXPATHLEN + 1;
-EOF
-    	    push @init, <<EOF;
-	PL_reentrant_buffer->_${func}_struct = ($seent{$func}*)safemalloc(PL_reentrant_buffer->_${func}_size);
-EOF
-	    push @free, <<EOF;
-	Safefree(PL_reentrant_buffer->_${func}_struct);
-EOF
-	    pushssif $endif;
-	}
-
-	push @wrap, $ifdef;
-
-	push @wrap, <<EOF;
-#  if defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-#   undef $func
-EOF
-
-        # Write out what we have learned.
-	
-        my @v = 'a'..'z';
-        my $v = join(", ", @v[0..$seenu{$func}-1]);
-	for my $p (@p) {
-	    my ($r, $a) = split '_', $p;
-	    my $test = $r eq 'I' ? ' == 0' : '';
-	    my $true  = 1;
-	    my $genfunc = $func;
-	    if ($genfunc =~ /^(?:get|set|end)(pw|gr|host|net|proto|serv|sp)/) {
-		$genfunc = "${1}ent";
-	    } elsif ($genfunc eq 'srand48') {
-		$genfunc = "drand48";
-	    }
-	    my $b = $a;
-	    my $w = '';
-	    substr($b, 0, $seenu{$func}) = '';
-	    if ($func =~ /^random$/) {
-		$true = "PL_reentrant_buffer->_random_retval";
-	    } elsif ($b =~ /R/) {
-		$true = "PL_reentrant_buffer->_${genfunc}_ptr";
-	    } elsif ($b =~ /T/ && $func eq 'drand48') {
-		$true = "PL_reentrant_buffer->_${genfunc}_double";
-	    } elsif ($b =~ /S/) {
-		if ($func =~ /^readdir/) {
-		    $true = "PL_reentrant_buffer->_${genfunc}_struct";
-		} else {
-		    $true = "&PL_reentrant_buffer->_${genfunc}_struct";
-		}
-	    } elsif ($b =~ /B/) {
-		$true = "PL_reentrant_buffer->_${genfunc}_buffer";
-	    }
-	    if (length $b) {
-		$w = join ", ",
-		         map {
-			     $_ eq 'R' ?
-				 "&PL_reentrant_buffer->_${genfunc}_ptr" :
-			     $_ eq 'E' ?
-				 "&PL_reentrant_buffer->_${genfunc}_errno" :
-			     $_ eq 'B' ?
-				 "PL_reentrant_buffer->_${genfunc}_buffer" :
-			     $_ =~ /^[WI]$/ ?
-				 "PL_reentrant_buffer->_${genfunc}_size" :
-			     $_ eq 'H' ?
-				 "&PL_reentrant_buffer->_${genfunc}_fptr" :
-			     $_ eq 'D' ?
-				 "&PL_reentrant_buffer->_${genfunc}_data" :
-			     $_ eq 'S' ?
-				 ($func =~ /^readdir\d*$/ ?
-				  "PL_reentrant_buffer->_${genfunc}_struct" :
-				  $func =~ /^crypt$/ ?
-				  "PL_reentrant_buffer->_${genfunc}_struct_buffer" :
-				  "&PL_reentrant_buffer->_${genfunc}_struct") :
-			     $_ eq 'T' && $func eq 'drand48' ?
-				 "&PL_reentrant_buffer->_${genfunc}_double" :
-			     $_ =~ /^[ilt]$/ && $func eq 'random' ?
-				 "&PL_reentrant_buffer->_random_retval" :
-				 $_
-			 } split '', $b;
-		$w = ", $w" if length $v;
-	    }
-
-	    my $call = "${func}_r($v$w)";
-	    if ($func eq 'localtime') {
-		$call = "L_R_TZSET $call";
-	    }
-
-            # Must make OpenBSD happy
-            my $memzero = '';
-            if($p =~ /D$/ &&
-                ($genfunc eq 'protoent' || $genfunc eq 'servent')) {
-                $memzero = 'REENTR_MEMZERO(&PL_reentrant_buffer->_' . $genfunc . '_data, sizeof(PL_reentrant_buffer->_' . $genfunc . '_data)),';
-            }
-	    push @wrap, <<EOF;
-#   if !defined($func) && ${FUNC}_R_PROTO == REENTRANT_PROTO_$p
-EOF
-	    if ($r eq 'V' || $r eq 'B') {
-	        push @wrap, <<EOF;
-#       define $func($v) $call
-EOF
-	    } else {
-		if ($func =~ /^get/) {
-		    my $rv = $v ? ", $v" : "";
-		    if ($r eq 'I') {
-			push @wrap, <<EOF;
-#       define $func($v) ($memzero(PL_reentrant_retint = $call)$test ? $true : ((PL_reentrant_retint == ERANGE) ? ($seent{$func} *) Perl_reentrant_retry("$func"$rv) : 0))
-EOF
-		    } else {
-			push @wrap, <<EOF;
-#       define $func($v) ($call$test ? $true : ((errno == ERANGE) ? ($seent{$func} *) Perl_reentrant_retry("$func"$rv) : 0))
-EOF
-                    }
-		} else {
-		    push @wrap, <<EOF;
-#       define $func($v) ($call$test ? $true : 0)
-EOF
-		}
-	    }
-	    push @wrap, <<EOF;  # !defined(xxx) && XXX_R_PROTO == REENTRANT_PROTO_Y_TS
-#   endif
-EOF
-	}
-
-	    push @wrap, <<EOF;  # defined(PERL_REENTR_API) && (PERL_REENTR_API+0 == 1)
-#  endif
-EOF
-
-	push @wrap, $endif, "\n";
-    }
-}
-
-local $" = '';
-
-print <<EOF;
-
-/* Defines for indicating which special features are supported. */
-
- at define
-typedef struct {
- at struct
-    int dummy; /* cannot have empty structs */
-} REENTR;
-
-/* The wrappers. */
-
- at wrap
-
-#endif /* USE_REENTRANT_API */
- 
-#endif
-
-/* ex: set ro: */
-EOF
-
-safer_close($h);
-rename_if_different('reentr.h-new', 'reentr.h');
-
-# Prepare to write the reentr.c.
-
-# safer_unlink 'reentr.c';
-my $c = safer_open("reentr.c-new");
-select $c;
-print <<EOF;
-/* -*- buffer-read-only: t -*-
- *
- *    reentr.c
- *
- *    Copyright (C) 2002, 2003, 2005, 2006, 2007 by Larry Wall and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- *  !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
- *  This file is built by reentr.pl from data in reentr.pl.
- *
- * "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!"
- *
- * 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
- * that other files like pp_sys.c calling those library functions need not
- * care about the differences between various platforms' idiosyncrasies
- * regarding these reentrant interfaces.  
- */
-
-#include "EXTERN.h"
-#define PERL_IN_REENTR_C
-#include "perl.h"
-#include "reentr.h"
-
-void
-Perl_reentrant_size(pTHX) {
-#ifdef USE_REENTRANT_API
-#define REENTRANTSMALLSIZE	 256	/* Make something up. */
-#define REENTRANTUSUALSIZE	4096	/* Make something up. */
- at size
-#endif /* USE_REENTRANT_API */
-}
-
-void
-Perl_reentrant_init(pTHX) {
-#ifdef USE_REENTRANT_API
-	Newx(PL_reentrant_buffer, 1, REENTR);
-	Perl_reentrant_size(aTHX);
- at init
-#endif /* USE_REENTRANT_API */
-}
-
-void
-Perl_reentrant_free(pTHX) {
-#ifdef USE_REENTRANT_API
- at free
-	Safefree(PL_reentrant_buffer);
-#endif /* USE_REENTRANT_API */
-}
-
-void*
-Perl_reentrant_retry(const char *f, ...)
-{
-    dTHX;
-    void *retptr = NULL;
-    va_list ap;
-#ifdef USE_REENTRANT_API
-    /* Easier to special case this here than in embed.pl. (Look at what it
-       generates for proto.h) */
-    PERL_ARGS_ASSERT_REENTRANT_RETRY;
-#endif
-    va_start(ap, f);
-    {
-#ifdef USE_REENTRANT_API
-#  if defined(USE_HOSTENT_BUFFER) || defined(USE_GRENT_BUFFER) || defined(USE_NETENT_BUFFER) || defined(USE_PWENT_BUFFER) || defined(USE_PROTOENT_BUFFER) || defined(USE_SERVENT_BUFFER)
-    void *p0;
-#  endif
-#  if defined(USE_SERVENT_BUFFER)
-    void *p1;
-#  endif
-#  if defined(USE_HOSTENT_BUFFER)
-    size_t asize;
-#  endif
-#  if defined(USE_HOSTENT_BUFFER) || defined(USE_NETENT_BUFFER) || defined(USE_PROTOENT_BUFFER) || defined(USE_SERVENT_BUFFER)
-    int anint;
-#  endif
-
-    switch (PL_op->op_type) {
-#ifdef USE_HOSTENT_BUFFER
-    case OP_GHBYADDR:
-    case OP_GHBYNAME:
-    case OP_GHOSTENT:
-	{
-#ifdef PERL_REENTRANT_MAXSIZE
-	    if (PL_reentrant_buffer->_hostent_size <=
-		PERL_REENTRANT_MAXSIZE / 2)
-#endif
-	    {
-		PL_reentrant_buffer->_hostent_size *= 2;
-		Renew(PL_reentrant_buffer->_hostent_buffer,
-		      PL_reentrant_buffer->_hostent_size, char);
-		switch (PL_op->op_type) {
-	        case OP_GHBYADDR:
-		    p0    = va_arg(ap, void *);
-		    asize = va_arg(ap, size_t);
-		    anint  = va_arg(ap, int);
-		    retptr = gethostbyaddr(p0, asize, anint); break;
-	        case OP_GHBYNAME:
-		    p0 = va_arg(ap, void *);
-		    retptr = gethostbyname((char *)p0); break;
-	        case OP_GHOSTENT:
-		    retptr = gethostent(); break;
-	        default:
-		    SETERRNO(ERANGE, LIB_INVARG);
-		    break;
-	        }
-	    }
-	}
-	break;
-#endif
-#ifdef USE_GRENT_BUFFER
-    case OP_GGRNAM:
-    case OP_GGRGID:
-    case OP_GGRENT:
-	{
-#ifdef PERL_REENTRANT_MAXSIZE
-	    if (PL_reentrant_buffer->_grent_size <=
-		PERL_REENTRANT_MAXSIZE / 2)
-#endif
-	    {
-		Gid_t gid;
-		PL_reentrant_buffer->_grent_size *= 2;
-		Renew(PL_reentrant_buffer->_grent_buffer,
-		      PL_reentrant_buffer->_grent_size, char);
-		switch (PL_op->op_type) {
-	        case OP_GGRNAM:
-		    p0 = va_arg(ap, void *);
-		    retptr = getgrnam((char *)p0); break;
-	        case OP_GGRGID:
-#if Gid_t_size < INTSIZE
-		    gid = (Gid_t)va_arg(ap, int);
-#else
-		    gid = va_arg(ap, Gid_t);
-#endif
-		    retptr = getgrgid(gid); break;
-	        case OP_GGRENT:
-		    retptr = getgrent(); break;
-	        default:
-		    SETERRNO(ERANGE, LIB_INVARG);
-		    break;
-	        }
-	    }
-	}
-	break;
-#endif
-#ifdef USE_NETENT_BUFFER
-    case OP_GNBYADDR:
-    case OP_GNBYNAME:
-    case OP_GNETENT:
-	{
-#ifdef PERL_REENTRANT_MAXSIZE
-	    if (PL_reentrant_buffer->_netent_size <=
-		PERL_REENTRANT_MAXSIZE / 2)
-#endif
-	    {
-		Netdb_net_t net;
-		PL_reentrant_buffer->_netent_size *= 2;
-		Renew(PL_reentrant_buffer->_netent_buffer,
-		      PL_reentrant_buffer->_netent_size, char);
-		switch (PL_op->op_type) {
-	        case OP_GNBYADDR:
-		    net = va_arg(ap, Netdb_net_t);
-		    anint = va_arg(ap, int);
-		    retptr = getnetbyaddr(net, anint); break;
-	        case OP_GNBYNAME:
-		    p0 = va_arg(ap, void *);
-		    retptr = getnetbyname((char *)p0); break;
-	        case OP_GNETENT:
-		    retptr = getnetent(); break;
-	        default:
-		    SETERRNO(ERANGE, LIB_INVARG);
-		    break;
-	        }
-	    }
-	}
-	break;
-#endif
-#ifdef USE_PWENT_BUFFER
-    case OP_GPWNAM:
-    case OP_GPWUID:
-    case OP_GPWENT:
-	{
-#ifdef PERL_REENTRANT_MAXSIZE
-	    if (PL_reentrant_buffer->_pwent_size <=
-		PERL_REENTRANT_MAXSIZE / 2)
-#endif
-	    {
-		Uid_t uid;
-		PL_reentrant_buffer->_pwent_size *= 2;
-		Renew(PL_reentrant_buffer->_pwent_buffer,
-		      PL_reentrant_buffer->_pwent_size, char);
-		switch (PL_op->op_type) {
-	        case OP_GPWNAM:
-		    p0 = va_arg(ap, void *);
-		    retptr = getpwnam((char *)p0); break;
-	        case OP_GPWUID:
-#if Uid_t_size < INTSIZE
-		    uid = (Uid_t)va_arg(ap, int);
-#else
-		    uid = va_arg(ap, Uid_t);
-#endif
-		    retptr = getpwuid(uid); break;
-	        case OP_GPWENT:
-		    retptr = getpwent(); break;
-	        default:
-		    SETERRNO(ERANGE, LIB_INVARG);
-		    break;
-	        }
-	    }
-	}
-	break;
-#endif
-#ifdef USE_PROTOENT_BUFFER
-    case OP_GPBYNAME:
-    case OP_GPBYNUMBER:
-    case OP_GPROTOENT:
-	{
-#ifdef PERL_REENTRANT_MAXSIZE
-	    if (PL_reentrant_buffer->_protoent_size <=
-		PERL_REENTRANT_MAXSIZE / 2)
-#endif
-	    {
-		PL_reentrant_buffer->_protoent_size *= 2;
-		Renew(PL_reentrant_buffer->_protoent_buffer,
-		      PL_reentrant_buffer->_protoent_size, char);
-		switch (PL_op->op_type) {
-	        case OP_GPBYNAME:
-		    p0 = va_arg(ap, void *);
-		    retptr = getprotobyname((char *)p0); break;
-	        case OP_GPBYNUMBER:
-		    anint = va_arg(ap, int);
-		    retptr = getprotobynumber(anint); break;
-	        case OP_GPROTOENT:
-		    retptr = getprotoent(); break;
-	        default:
-		    SETERRNO(ERANGE, LIB_INVARG);
-		    break;
-	        }
-	    }
-	}
-	break;
-#endif
-#ifdef USE_SERVENT_BUFFER
-    case OP_GSBYNAME:
-    case OP_GSBYPORT:
-    case OP_GSERVENT:
-	{
-#ifdef PERL_REENTRANT_MAXSIZE
-	    if (PL_reentrant_buffer->_servent_size <=
-		PERL_REENTRANT_MAXSIZE / 2)
-#endif
-	    {
-		PL_reentrant_buffer->_servent_size *= 2;
-		Renew(PL_reentrant_buffer->_servent_buffer,
-		      PL_reentrant_buffer->_servent_size, char);
-		switch (PL_op->op_type) {
-	        case OP_GSBYNAME:
-		    p0 = va_arg(ap, void *);
-		    p1 = va_arg(ap, void *);
-		    retptr = getservbyname((char *)p0, (char *)p1); break;
-	        case OP_GSBYPORT:
-		    anint = va_arg(ap, int);
-		    p0 = va_arg(ap, void *);
-		    retptr = getservbyport(anint, (char *)p0); break;
-	        case OP_GSERVENT:
-		    retptr = getservent(); break;
-	        default:
-		    SETERRNO(ERANGE, LIB_INVARG);
-		    break;
-	        }
-	    }
-	}
-	break;
-#endif
-    default:
-	/* Not known how to retry, so just fail. */
-	break;
-    }
-#else
-    PERL_UNUSED_ARG(f);
-#endif
-    }
-    va_end(ap);
-    return retptr;
-}
-
-/* ex: set ro: */
-EOF
-
-safer_close($c);
-rename_if_different('reentr.c-new', 'reentr.c');
-
-__DATA__
-asctime S	|time	|const struct tm|B_SB|B_SBI|I_SB|I_SBI
-crypt CC	|crypt	|struct crypt_data|B_CCS|B_CCD|D=CRYPTD*
-ctermid	B	|stdio	|		|B_B
-ctime S		|time	|const time_t	|B_SB|B_SBI|I_SB|I_SBI
-drand48		|stdlib	|struct drand48_data	|I_ST|T=double*
-endgrent	|grp	|		|I_H|V_H
-endhostent	|netdb	|		|I_D|V_D|D=struct hostent_data*
-endnetent	|netdb	|		|I_D|V_D|D=struct netent_data*
-endprotoent	|netdb	|		|I_D|V_D|D=struct protoent_data*
-endpwent	|pwd	|		|I_H|V_H
-endservent	|netdb	|		|I_D|V_D|D=struct servent_data*
-getgrent	|grp	|struct group	|I_SBWR|I_SBIR|S_SBW|S_SBI|I_SBI|I_SBIH
-getgrgid T	|grp	|struct group	|I_TSBWR|I_TSBIR|I_TSBI|S_TSBI|T=gid_t
-getgrnam C	|grp	|struct group	|I_CSBWR|I_CSBIR|S_CBI|I_CSBI|S_CSBI
-gethostbyaddr CWI	|netdb	|struct hostent	|I_CWISBWRE|S_CWISBWIE|S_CWISBIE|S_TWISBIE|S_CIISBIE|S_CSBIE|S_TSBIE|I_CWISD|I_CIISD|I_CII|I_TsISBWRE|D=struct hostent_data*|T=const void*|s=socklen_t
-gethostbyname C	|netdb	|struct hostent	|I_CSBWRE|S_CSBIE|I_CSD|D=struct hostent_data*
-gethostent	|netdb	|struct hostent	|I_SBWRE|I_SBIE|S_SBIE|S_SBI|I_SBI|I_SD|D=struct hostent_data*
-getlogin	|unistd	|char		|I_BW|I_BI|B_BW|B_BI
-getnetbyaddr LI	|netdb	|struct netent	|I_UISBWRE|I_LISBI|S_TISBI|S_LISBI|I_TISD|I_LISD|I_IISD|I_uISBWRE|D=struct netent_data*|T=in_addr_t|U=unsigned long|u=uint32_t
-getnetbyname C	|netdb	|struct netent	|I_CSBWRE|I_CSBI|S_CSBI|I_CSD|D=struct netent_data*
-getnetent	|netdb	|struct netent	|I_SBWRE|I_SBIE|S_SBIE|S_SBI|I_SBI|I_SD|D=struct netent_data*
-getprotobyname C|netdb	|struct protoent|I_CSBWR|S_CSBI|I_CSD|D=struct protoent_data*
-getprotobynumber I	|netdb	|struct protoent|I_ISBWR|S_ISBI|I_ISD|D=struct protoent_data*
-getprotoent	|netdb	|struct protoent|I_SBWR|I_SBI|S_SBI|I_SD|D=struct protoent_data*
-getpwent	|pwd	|struct passwd	|I_SBWR|I_SBIR|S_SBW|S_SBI|I_SBI|I_SBIH
-getpwnam C	|pwd	|struct passwd	|I_CSBWR|I_CSBIR|S_CSBI|I_CSBI
-getpwuid T	|pwd	|struct passwd	|I_TSBWR|I_TSBIR|I_TSBI|S_TSBI|T=uid_t
-getservbyname CC|netdb	|struct servent	|I_CCSBWR|S_CCSBI|I_CCSD|D=struct servent_data*
-getservbyport IC|netdb	|struct servent	|I_ICSBWR|S_ICSBI|I_ICSD|D=struct servent_data*
-getservent	|netdb	|struct servent	|I_SBWR|I_SBI|S_SBI|I_SD|D=struct servent_data*
-getspnam C	|shadow	|struct spwd	|I_CSBWR|S_CSBI
-gmtime T	|time	|struct tm	|S_TS|I_TS|T=const time_t*
-localtime T	|time	|struct tm	|S_TS|I_TS|T=const time_t*
-random		|stdlib	|struct random_data|I_iS|I_lS|I_St|i=int*|l=long*|t=int32_t*
-readdir T	|dirent	|struct dirent	|I_TSR|I_TS|T=DIR*
-readdir64 T	|dirent	|struct dirent64|I_TSR|I_TS|T=DIR*
-setgrent	|grp	|		|I_H|V_H
-sethostent I	|netdb	|		|I_ID|V_ID|D=struct hostent_data*
-setlocale IC	|locale	|		|I_ICBI
-setnetent I	|netdb	|		|I_ID|V_ID|D=struct netent_data*
-setprotoent I	|netdb	|		|I_ID|V_ID|D=struct protoent_data*
-setpwent	|pwd	|		|I_H|V_H
-setservent I	|netdb	|		|I_ID|V_ID|D=struct servent_data*
-srand48 L	|stdlib	|struct drand48_data	|I_LS
-srandom	T	|stdlib	|struct random_data|I_TS|T=unsigned int
-strerror I	|string	|		|I_IBW|I_IBI|B_IBW
-tmpnam B	|stdio	|		|B_B
-ttyname	I	|unistd	|		|I_IBW|I_IBI|B_IBI

Modified: vendor/perl/dist/regcharclass.h
===================================================================
--- vendor/perl/dist/regcharclass.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regcharclass.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
  *
  *    regcharclass.h
  *
- *    Copyright (C) 2007 by Larry Wall and others
+ *    Copyright (C) 2007, 2011 by Larry Wall and others
  *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
@@ -12,17 +12,15 @@
  * Any changes made here will be lost!
  */
 
+
+#ifndef H_REGCHARCLASS   /* Guard against nested #includes */
+#define H_REGCHARCLASS 1
+
 /*
 	LNBREAK: Line Break: \R
 
 	"\x0D\x0A"      # CRLF - Network (Windows) line ending
-	0x0A            # LF  | LINE FEED
-	0x0B            # VT  | VERTICAL TAB
-	0x0C            # FF  | FORM FEED
-	0x0D            # CR  | CARRIAGE RETURN
-	0x85            # NEL | NEXT LINE
-	0x2028          # LINE SEPARATOR
-	0x2029          # PARAGRAPH SEPARATOR
+	\p{VertSpace}
 */
 /*** GENERATED CODE ***/
 #define is_LNBREAK(s,is_utf8)                                               \
@@ -32,9 +30,7 @@
 : ( is_utf8 ) ?                                                             \
     ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
-    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
-	( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-    : 0 )                                                                   \
+    : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
 : ( 0x85 == ((U8*)s)[0] ) )
 
 /*** GENERATED CODE ***/
@@ -46,9 +42,7 @@
     : ( is_utf8 ) ?                                                         \
 	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
 	    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
-	: ( 0xE2 == ((U8*)s)[0] ) ?                                         \
-	    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-	: 0 )                                                               \
+	: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
     : ( 0x85 == ((U8*)s)[0] ) )                                             \
 : ((e)-(s) > 1) ?                                                           \
     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
@@ -71,9 +65,7 @@
     ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                     \
 : ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
     ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                     \
-: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
-    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: 0 )
+: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
 
 /*** GENERATED CODE ***/
 #define is_LNBREAK_utf8_safe(s,e)                                           \
@@ -83,16 +75,12 @@
 	( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
     : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
-    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
-	( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-    : 0 )                                                                   \
+    : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
 : ((e)-(s) > 1) ?                                                           \
     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
     : ( 0x0D == ((U8*)s)[0] ) ?                                             \
 	( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
-    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
-	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
-    : 0 )                                                                   \
+    : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )      \
 : ((e)-(s) > 0) ?                                                           \
     ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D )                          \
 : 0 )
@@ -99,18 +87,18 @@
 
 /*** GENERATED CODE ***/
 #define is_LNBREAK_latin1(s)                                                \
-( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                        \
+( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
 : ( 0x0D == ((U8*)s)[0] ) ?                                                 \
     ( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                     \
-: ( 0x85 == ((U8*)s)[0] ) )
+: 0 )
 
 /*** GENERATED CODE ***/
 #define is_LNBREAK_latin1_safe(s,e)                                         \
 ( ((e)-(s) > 1) ?                                                           \
-    ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) ? 1                    \
+    ( ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0C ) || 0x85 == ((U8*)s)[0] ) ? 1\
     : ( 0x0D == ((U8*)s)[0] ) ?                                             \
 	( ( 0x0A == ((U8*)s)[1] ) ? 2 : 1 )                                 \
-    : ( 0x85 == ((U8*)s)[0] ) )                                             \
+    : 0 )                                                                   \
 : ((e)-(s) > 0) ?                                                           \
     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )\
 : 0 )
@@ -118,25 +106,7 @@
 /*
 	HORIZWS: Horizontal Whitespace: \h \H
 
-	0x09            # HT
-	0x20            # SPACE
-	0xa0            # NBSP
-	0x1680          # OGHAM SPACE MARK
-	0x180e          # MONGOLIAN VOWEL SEPARATOR
-	0x2000          # EN QUAD
-	0x2001          # EM QUAD
-	0x2002          # EN SPACE
-	0x2003          # EM SPACE
-	0x2004          # THREE-PER-EM SPACE
-	0x2005          # FOUR-PER-EM SPACE
-	0x2006          # SIX-PER-EM SPACE
-	0x2007          # FIGURE SPACE
-	0x2008          # PUNCTUATION SPACE
-	0x2009          # THIN SPACE
-	0x200A          # HAIR SPACE
-	0x202f          # NARROW NO-BREAK SPACE
-	0x205f          # MEDIUM MATHEMATICAL SPACE
-	0x3000          # IDEOGRAPHIC SPACE
+	\p{HorizSpace}
 */
 /*** GENERATED CODE ***/
 #define is_HORIZWS(s,is_utf8)                                               \
@@ -147,18 +117,12 @@
     : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
 	( ( 0x9A == ((U8*)s)[1] ) ?                                         \
 	    ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
-	: ( 0xA0 == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 )                             \
-	: 0 )                                                               \
+	: ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
     : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
 	( ( 0x80 == ((U8*)s)[1] ) ?                                         \
 	    ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
-	: ( 0x81 == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 )                             \
-	: 0 )                                                               \
-    : ( 0xE3 == ((U8*)s)[0] ) ?                                             \
-	( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
-    : 0 )                                                                   \
+	: ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
 : ( 0xA0 == ((U8*)s)[0] ) )
 
 /*** GENERATED CODE ***/
@@ -171,18 +135,12 @@
 	: ( 0xE1 == ((U8*)s)[0] ) ?                                         \
 	    ( ( 0x9A == ((U8*)s)[1] ) ?                                     \
 		( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                         \
-	    : ( 0xA0 == ((U8*)s)[1] ) ?                                     \
-		( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 )                         \
-	    : 0 )                                                           \
+	    : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )\
 	: ( 0xE2 == ((U8*)s)[0] ) ?                                         \
 	    ( ( 0x80 == ((U8*)s)[1] ) ?                                     \
 		( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
-	    : ( 0x81 == ((U8*)s)[1] ) ?                                     \
-		( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 )                         \
-	    : 0 )                                                           \
-	: ( 0xE3 == ((U8*)s)[0] ) ?                                         \
-	    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-	: 0 )                                                               \
+	    : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )\
+	: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
     : ( 0xA0 == ((U8*)s)[0] ) )                                             \
 : ((e)-(s) > 1) ?                                                           \
     ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
@@ -204,18 +162,12 @@
 : ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
     ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
 	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
-    : ( 0xA0 == ((U8*)s)[1] ) ?                                             \
-	( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 )                                 \
-    : 0 )                                                                   \
+    : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )      \
 : ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
     ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
-	( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
-    : ( 0x81 == ((U8*)s)[1] ) ?                                             \
-	( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 )                                 \
-    : 0 )                                                                   \
-: ( 0xE3 == ((U8*)s)[0] ) ?                                                 \
-    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )      \
-: 0 )
+	( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )      \
+    : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )      \
+: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
 
 /*** GENERATED CODE ***/
 #define is_HORIZWS_utf8_safe(s,e)                                           \
@@ -226,23 +178,15 @@
     : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
 	( ( 0x9A == ((U8*)s)[1] ) ?                                         \
 	    ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
-	: ( 0xA0 == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x8E == ((U8*)s)[2] ) ? 3 : 0 )                             \
-	: 0 )                                                               \
+	: ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
     : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
 	( ( 0x80 == ((U8*)s)[1] ) ?                                         \
 	    ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
-	: ( 0x81 == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x9F == ((U8*)s)[2] ) ? 3 : 0 )                             \
-	: 0 )                                                               \
-    : ( 0xE3 == ((U8*)s)[0] ) ?                                             \
-	( ( ( 0x80 == ((U8*)s)[1] ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
-    : 0 )                                                                   \
+	: ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
 : ((e)-(s) > 1) ?                                                           \
     ( ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] ) ? 1                    \
-    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
-	( ( 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
-    : 0 )                                                                   \
+    : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 2 : 0 )      \
 : ((e)-(s) > 0) ?                                                           \
     ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] )                          \
 : 0 )
@@ -249,15 +193,41 @@
 
 /*** GENERATED CODE ***/
 #define is_HORIZWS_latin1(s)                                                \
-( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] )
+( ((U8*)s)[0] == 0x09 || ( ( ((U8*)s)[0] & 0x7F ) == 0x20 ) )
 
 /*** GENERATED CODE ***/
 #define is_HORIZWS_latin1_safe(s,e)                                         \
 ( ((e)-(s) > 0) ?                                                           \
-    ( 0x09 == ((U8*)s)[0] || 0x20 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] )   \
+    ( ((U8*)s)[0] == 0x09 || ( ( ((U8*)s)[0] & 0x7F ) == 0x20 ) )           \
 : 0 )
 
 /*** GENERATED CODE ***/
+#define is_HORIZWS_high(s)                                                  \
+( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
+	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
+    : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )      \
+: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
+	( ( ( ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )      \
+    : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )      \
+: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
+
+/*** GENERATED CODE ***/
+#define is_HORIZWS_high_safe(s,e)                                           \
+( ((e)-(s) > 2) ?                                                           \
+    ( ( 0xE1 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x9A == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
+	: ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x80 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
+	: ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
+: 0 )
+
+/*** GENERATED CODE ***/
 #define is_HORIZWS_cp(cp)                                                   \
 ( 0x09 == cp || ( 0x09 < cp &&                                              \
 ( 0x20 == cp || ( 0x20 < cp &&                                              \
@@ -266,19 +236,20 @@
 ( 0x180E == cp || ( 0x180E < cp &&                                          \
 ( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp &&                      \
 ( 0x202F == cp || ( 0x202F < cp &&                                          \
-( 0x205F == cp || ( 0x205F < cp &&                                          \
-0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
+( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
 
+/*** GENERATED CODE ***/
+#define is_HORIZWS_cp_high(cp)                                              \
+( 0x1680 == cp || ( 0x1680 < cp &&                                          \
+( 0x180E == cp || ( 0x180E < cp &&                                          \
+( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp &&                      \
+( 0x202F == cp || ( 0x202F < cp &&                                          \
+( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) )
+
 /*
 	VERTWS: Vertical Whitespace: \v \V
 
-	0x0A            # LF
-	0x0B            # VT
-	0x0C            # FF
-	0x0D            # CR
-	0x85            # NEL
-	0x2028          # LINE SEPARATOR
-	0x2029          # PARAGRAPH SEPARATOR
+	\p{VertSpace}
 */
 /*** GENERATED CODE ***/
 #define is_VERTWS(s,is_utf8)                                                \
@@ -286,9 +257,7 @@
 : ( is_utf8 ) ?                                                             \
     ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
-    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
-	( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-    : 0 )                                                                   \
+    : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
 : ( 0x85 == ((U8*)s)[0] ) )
 
 /*** GENERATED CODE ***/
@@ -298,9 +267,7 @@
     : ( is_utf8 ) ?                                                         \
 	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
 	    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
-	: ( 0xE2 == ((U8*)s)[0] ) ?                                         \
-	    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-	: 0 )                                                               \
+	: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
     : ( 0x85 == ((U8*)s)[0] ) )                                             \
 : ((e)-(s) > 1) ?                                                           \
     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
@@ -319,9 +286,7 @@
 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                        \
 : ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
     ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                     \
-: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
-    ( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-: 0 )
+: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
 
 /*** GENERATED CODE ***/
 #define is_VERTWS_utf8_safe(s,e)                                            \
@@ -329,19 +294,23 @@
     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
     : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
 	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
-    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
-	( ( ( 0x80 == ((U8*)s)[1] ) && ( 0xA8 == ((U8*)s)[2] || 0xA9 == ((U8*)s)[2] ) ) ? 3 : 0 )\
-    : 0 )                                                                   \
+    : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
 : ((e)-(s) > 1) ?                                                           \
     ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) ? 1                    \
-    : ( 0xC2 == ((U8*)s)[0] ) ?                                             \
-	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
-    : 0 )                                                                   \
+    : ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )      \
 : ((e)-(s) > 0) ?                                                           \
     ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D )                          \
 : 0 )
 
 /*** GENERATED CODE ***/
+#define is_VERTWS_high(s)                                                   \
+( ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
+
+/*** GENERATED CODE ***/
+#define is_VERTWS_high_safe(s,e)                                            \
+( ( ( ( ((e)-(s) > 2) && ( 0xE2 == ((U8*)s)[0] ) ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )
+
+/*** GENERATED CODE ***/
 #define is_VERTWS_latin1(s)                                                 \
 ( ( 0x0A <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x85 == ((U8*)s)[0] )
 
@@ -355,171 +324,599 @@
 #define is_VERTWS_cp(cp)                                                    \
 ( ( 0x0A <= cp && cp <= 0x0D ) || ( 0x0D < cp &&                            \
 ( 0x85 == cp || ( 0x85 < cp &&                                              \
+( 0x2028 == cp || 0x2029 == cp ) ) ) ) )
+
+/*** GENERATED CODE ***/
+#define is_VERTWS_cp_high(cp)                                               \
+( 0x2028 == cp || 0x2029 == cp )
+
+/*
+	XDIGIT: Hexadecimal digits
+
+	\p{XDigit}
+*/
+/*** GENERATED CODE ***/
+#define is_XDIGIT_utf8(s)                                                   \
+( ( ( 0x30 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x39 ) || ( 0x41 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x46 ) || ( 0x61 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x66 ) ) ? 1\
+: ( 0xEF == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0xBC == ((U8*)s)[1] ) ?                                             \
+	( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\
+    : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\
+: 0 )
+
+/*** GENERATED CODE ***/
+#define is_XDIGIT_high(s)                                                   \
+( ( 0xEF == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0xBC == ((U8*)s)[1] ) ?                                             \
+	( ( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x99 ) || ( 0xA1 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA6 ) ) ? 3 : 0 )\
+    : ( ( 0xBD == ((U8*)s)[1] ) && ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )\
+: 0 )
+
+/*** GENERATED CODE ***/
+#define is_XDIGIT_cp_high(cp)                                               \
+( ( 0xFF10 <= cp && cp <= 0xFF19 ) || ( 0xFF19 < cp &&                      \
+( ( 0xFF21 <= cp && cp <= 0xFF26 ) || ( 0xFF41 <= cp && cp <= 0xFF46 ) ) ) )
+
+/*
+	XPERLSPACE: \p{XPerlSpace}
+
+	\p{XPerlSpace}
+*/
+/*** GENERATED CODE ***/
+#define is_XPERLSPACE(s,is_utf8)                                            \
+( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
+: ( is_utf8 ) ?                                                             \
+    ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x85 == ((U8*)s)[1] || 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x9A == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                             \
+	: ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0xE2 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x80 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0x80 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
+	: ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )\
+: ( 0x85 == ((U8*)s)[0] || 0xA0 == ((U8*)s)[0] ) )
+
+/*** GENERATED CODE ***/
+#define is_XPERLSPACE_utf8(s)                                               \
+( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
+: ( 0xC2 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x85 == ((U8*)s)[1] || 0xA0 == ((U8*)s)[1] ) ? 2 : 0 )              \
+: ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
+	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
+    : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )      \
+: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
+	( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
+    : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )      \
+: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
+
+/*** GENERATED CODE ***/
+#define is_XPERLSPACE_high(s)                                               \
+( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x9A == ((U8*)s)[1] ) ?                                             \
+	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
+    : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8E == ((U8*)s)[2] ) ) ? 3 : 0 )      \
+: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
+	( ( ( ((U8*)s)[2] <= 0x8A ) || ( ((U8*)s)[2] & 0xFE ) == 0xA8 || 0xAF == ((U8*)s)[2] ) ? 3 : 0 )\
+    : ( ( 0x81 == ((U8*)s)[1] ) && ( 0x9F == ((U8*)s)[2] ) ) ? 3 : 0 )      \
+: ( ( ( 0xE3 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( 0x80 == ((U8*)s)[2] ) ) ? 3 : 0 )
+
+/*** GENERATED CODE ***/
+#define is_XPERLSPACE_cp_high(cp)                                           \
+( 0x1680 == cp || ( 0x1680 < cp &&                                          \
+( 0x180E == cp || ( 0x180E < cp &&                                          \
+( ( 0x2000 <= cp && cp <= 0x200A ) || ( 0x200A < cp &&                      \
 ( 0x2028 == cp || ( 0x2028 < cp &&                                          \
-0x2029 == cp ) ) ) ) ) )
+( 0x2029 == cp || ( 0x2029 < cp &&                                          \
+( 0x202F == cp || ( 0x202F < cp &&                                          \
+( 0x205F == cp || 0x3000 == cp ) ) ) ) ) ) ) ) ) ) ) ) )
 
 /*
-	TRICKYFOLD: Problematic fold case letters.
+	REPLACEMENT: Unicode REPLACEMENT CHARACTER
 
-	0x00DF	# LATIN SMALL LETTER SHARP S
-	0x0390	# GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-	0x03B0	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-	0x1E9E  # LATIN CAPITAL LETTER SHARP S, because maps to same as 00DF
-	0x1FD3  # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; maps same as 0390
-	0x1FE3  # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; maps same as 03B0
+	0xFFFD
 */
 /*** GENERATED CODE ***/
-#define is_TRICKYFOLD(s,is_utf8)                                            \
-( ( is_utf8 ) ?                                                             \
-    ( ( 0xC3 == ((U8*)s)[0] ) ?                                             \
-	( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 )                                 \
-    : ( 0xCE == ((U8*)s)[0] ) ?                                             \
-	( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 )          \
-    : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
-	( ( 0xBA == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x9E == ((U8*)s)[2] ) ? 3 : 0 )                             \
-	: ( 0xBF == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x93 == ((U8*)s)[2] || 0xA3 == ((U8*)s)[2] ) ? 3 : 0 )      \
-	: 0 )                                                               \
+#define is_REPLACEMENT_utf8_safe(s,e)                                       \
+( ( ( ( ((e)-(s) > 2) && ( 0xEF == ((U8*)s)[0] ) ) && ( 0xBF == ((U8*)s)[1] ) ) && ( 0xBD == ((U8*)s)[2] ) ) ? 3 : 0 )
+
+/*
+	NONCHAR: Non character code points
+
+	\p{Nchar}
+*/
+/*** GENERATED CODE ***/
+#define is_NONCHAR_utf8(s)                                                  \
+( ( 0xEF == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0xB7 == ((U8*)s)[1] ) ?                                             \
+	( ( 0x90 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ? 3 : 0 )          \
+    : ( ( 0xBF == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0xBE ) ) ? 3 : 0 )      \
+: ( 0xF0 == ((U8*)s)[0] ) ?                                                 \
+    ( ( ( ( ((U8*)s)[1] == 0x9F || ( ( ((U8*)s)[1] & 0xEF ) == 0xAF ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
+: ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF3 ) ?                          \
+    ( ( ( ( ( ((U8*)s)[1] & 0xCF ) == 0x8F ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )\
+: ( ( ( ( 0xF4 == ((U8*)s)[0] ) && ( 0x8F == ((U8*)s)[1] ) ) && ( 0xBF == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xBE ) ) ? 4 : 0 )
+
+/*
+	SURROGATE: Surrogate characters
+
+	\p{Gc=Cs}
+*/
+/*** GENERATED CODE ***/
+#define is_SURROGATE_utf8(s)                                                \
+( ( ( 0xED == ((U8*)s)[0] ) && ( ((U8*)s)[1] >= 0xA0 ) ) ? 3 : 0 )
+
+/*
+	GCB_L: Grapheme_Cluster_Break=L
+
+	\p{_X_GCB_L}
+*/
+/*** GENERATED CODE ***/
+#define is_GCB_L_utf8(s)                                                    \
+( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x84 == ((U8*)s)[1] ) ?                                             \
+	3                                                                   \
+    : ( ( 0x85 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x9F ) ) ? 3 : 0 )      \
+: ( ( ( 0xEA == ((U8*)s)[0] ) && ( 0xA5 == ((U8*)s)[1] ) ) && ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ) ? 3 : 0 )
+
+/*
+	GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
+
+	\p{_X_LV_LVT_V}
+*/
+/*** GENERATED CODE ***/
+#define is_GCB_LV_LVT_V_utf8(s)                                             \
+( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x85 == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 )                                 \
+    : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 )      \
+: ( 0xEA == ((U8*)s)[0] ) ?                                                 \
+    ( ( ((U8*)s)[1] >= 0xB0 ) ?                                             \
+	3                                                                   \
     : 0 )                                                                   \
-: ( 0xDF == ((U8*)s)[0] ) )
+: ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ?                          \
+    3                                                                       \
+: ( 0xED == ((U8*)s)[0] ) ?                                                 \
+    ( ( ((U8*)s)[1] <= 0x9D ) ?                                             \
+	3                                                                   \
+    : ( 0x9E == ((U8*)s)[1] ) ?                                             \
+	( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 )  \
+    : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )      \
+: 0 )
 
+/*
+	GCB_Prepend: Grapheme_Cluster_Break=Prepend
+
+	\p{_X_GCB_Prepend}
+*/
 /*** GENERATED CODE ***/
-#define is_TRICKYFOLD_safe(s,e,is_utf8)                                     \
-( ((e)-(s) > 2) ?                                                           \
-    ( ( is_utf8 ) ?                                                         \
-	( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 )                             \
-	: ( 0xCE == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 )      \
-	: ( 0xE1 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0xBA == ((U8*)s)[1] ) ?                                     \
-		( ( 0x9E == ((U8*)s)[2] ) ? 3 : 0 )                         \
-	    : ( 0xBF == ((U8*)s)[1] ) ?                                     \
-		( ( 0x93 == ((U8*)s)[2] || 0xA3 == ((U8*)s)[2] ) ? 3 : 0 )  \
-	    : 0 )                                                           \
-	: 0 )                                                               \
-    : ( 0xDF == ((U8*)s)[0] ) )                                             \
-: ((e)-(s) > 1) ?                                                           \
-    ( ( is_utf8 ) ?                                                         \
-	( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x9F == ((U8*)s)[1] ) ? 2 : 0 )                             \
-	: ( 0xCE == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x90 == ((U8*)s)[1] || 0xB0 == ((U8*)s)[1] ) ? 2 : 0 )      \
-	: 0 )                                                               \
-    : ( 0xDF == ((U8*)s)[0] ) )                                             \
-: ((e)-(s) > 0) ?                                                           \
-    ( ( !( is_utf8 ) ) ?                                                    \
-	( 0xDF == ((U8*)s)[0] )                                             \
+#define is_GCB_Prepend_utf8(s)                                              \
+( 0 )
+
+/*
+	GCB_RI: Grapheme_Cluster_Break=RI
+
+	\p{_X_RI}
+*/
+/*** GENERATED CODE ***/
+#define is_GCB_RI_utf8(s)                                                   \
+( ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
+
+/*
+	GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
+
+	\p{_X_Special_Begin_Start}
+*/
+/*** GENERATED CODE ***/
+#define is_GCB_SPECIAL_BEGIN_START_utf8(s)                                  \
+( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( ( ((U8*)s)[1] & 0xFC ) == 0x84 ) ?                                  \
+	3                                                                   \
     : 0 )                                                                   \
+: ( 0xEA == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0xA5 == ((U8*)s)[1] ) ?                                             \
+	( ( 0xA0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBC ) ? 3 : 0 )          \
+    : ( ((U8*)s)[1] >= 0xB0 ) ?                                             \
+	3                                                                   \
+    : 0 )                                                                   \
+: ( 0xEB == ((U8*)s)[0] || 0xEC == ((U8*)s)[0] ) ?                          \
+    3                                                                       \
+: ( 0xED == ((U8*)s)[0] ) ?                                                 \
+    ( ( ((U8*)s)[1] <= 0x9D ) ?                                             \
+	3                                                                   \
+    : ( 0x9E == ((U8*)s)[1] ) ?                                             \
+	( ( ( ((U8*)s)[2] <= 0xA3 ) || ( ((U8*)s)[2] >= 0xB0 ) ) ? 3 : 0 )  \
+    : ( ( 0x9F == ((U8*)s)[1] ) && ( ( ((U8*)s)[2] <= 0x86 ) || ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ) ? 3 : 0 )\
+: ( ( ( ( 0xF0 == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x87 == ((U8*)s)[2] ) ) && ( ((U8*)s)[3] >= 0xA6 ) ) ? 4 : 0 )
+
+/*
+	GCB_T: Grapheme_Cluster_Break=T
+
+	\p{_X_GCB_T}
+*/
+/*** GENERATED CODE ***/
+#define is_GCB_T_utf8(s)                                                    \
+( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x86 == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] >= 0xA8 ) ? 3 : 0 )                                 \
+    : ( 0x87 == ((U8*)s)[1] ) ?                                             \
+	3                                                                   \
+    : 0 )                                                                   \
+: ( ( ( 0xED == ((U8*)s)[0] ) && ( 0x9F == ((U8*)s)[1] ) ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xBB ) ) ? 3 : 0 )
+
+/*
+	GCB_V: Grapheme_Cluster_Break=V
+
+	\p{_X_GCB_V}
+*/
+/*** GENERATED CODE ***/
+#define is_GCB_V_utf8(s)                                                    \
+( ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x85 == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] >= 0xA0 ) ? 3 : 0 )                                 \
+    : ( ( 0x86 == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0xA7 ) ) ? 3 : 0 )      \
+: ( 0xED == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x9E == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] >= 0xB0 ) ? 3 : 0 )                                 \
+    : ( ( 0x9F == ((U8*)s)[1] ) && ( ((U8*)s)[2] <= 0x86 ) ) ? 3 : 0 )      \
 : 0 )
 
+/*
+	QUOTEMETA: Meta-characters that \Q should quote
+
+	\p{_Perl_Quotemeta}
+*/
 /*** GENERATED CODE ***/
-#define is_TRICKYFOLD_cp(cp)                                                \
-( 0xDF == cp || ( 0xDF < cp &&                                              \
-( 0x390 == cp || ( 0x390 < cp &&                                            \
-( 0x3B0 == cp || ( 0x3B0 < cp &&                                            \
-( 0x1E9E == cp || ( 0x1E9E < cp &&                                          \
-( 0x1FD3 == cp || ( 0x1FD3 < cp &&                                          \
-0x1FE3 == cp ) ) ) ) ) ) ) ) ) )
+#define is_QUOTEMETA_high(s)                                                \
+( ( 0xCD == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x8F == ((U8*)s)[1] ) ? 2 : 0 )                                     \
+: ( 0xE1 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x85 == ((U8*)s)[1] ) ?                                             \
+	( ( 0x9F == ((U8*)s)[2] || 0xA0 == ((U8*)s)[2] ) ? 3 : 0 )          \
+    : ( 0x9A == ((U8*)s)[1] ) ?                                             \
+	( ( 0x80 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
+    : ( 0x9E == ((U8*)s)[1] ) ?                                             \
+	( ( ( ((U8*)s)[2] & 0xFE ) == 0xB4 ) ? 3 : 0 )                      \
+    : ( ( 0xA0 == ((U8*)s)[1] ) && ( 0x8B <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x8E ) ) ? 3 : 0 )\
+: ( 0xE2 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] <= 0xBE ) ? 3 : 0 )                                 \
+    : ( 0x81 == ((U8*)s)[1] ) ?                                             \
+	( ( ( 0x81 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0x93 ) || ( 0x95 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xAF ) ) ? 3 : 0 )\
+    : ( 0x86 == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] >= 0x90 ) ? 3 : 0 )                                 \
+    : ( ( 0x87 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x90 ) || ( 0x94 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0x9C ) || ( 0x9F <= ((U8*)s)[1] && ((U8*)s)[1] <= 0xAF ) || ( ((U8*)s)[1] & 0xFE ) == 0xB8 ) ?\
+	3                                                                   \
+    : ( 0x91 == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] <= 0x9F ) ? 3 : 0 )                                 \
+    : ( 0x9D == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] <= 0xB5 ) ? 3 : 0 )                                 \
+    : ( ( 0x9E == ((U8*)s)[1] ) && ( ((U8*)s)[2] >= 0x94 ) ) ? 3 : 0 )      \
+: ( 0xE3 == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0x80 == ((U8*)s)[1] ) ?                                             \
+	( ( ( ((U8*)s)[2] <= 0x83 ) || ( 0x88 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xA0 ) || 0xB0 == ((U8*)s)[2] ) ? 3 : 0 )\
+    : ( ( 0x85 == ((U8*)s)[1] ) && ( 0xA4 == ((U8*)s)[2] ) ) ? 3 : 0 )      \
+: ( 0xEF == ((U8*)s)[0] ) ?                                                 \
+    ( ( 0xB4 == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] >= 0xBE ) ? 3 : 0 )                                 \
+    : ( 0xB8 == ((U8*)s)[1] ) ?                                             \
+	( ( ((U8*)s)[2] <= 0x8F ) ? 3 : 0 )                                 \
+    : ( 0xB9 == ((U8*)s)[1] ) ?                                             \
+	( ( 0x85 == ((U8*)s)[2] || 0x86 == ((U8*)s)[2] ) ? 3 : 0 )          \
+    : ( 0xBB == ((U8*)s)[1] ) ?                                             \
+	( ( 0xBF == ((U8*)s)[2] ) ? 3 : 0 )                                 \
+    : ( 0xBE == ((U8*)s)[1] ) ?                                             \
+	( ( 0xA0 == ((U8*)s)[2] ) ? 3 : 0 )                                 \
+    : ( ( 0xBF == ((U8*)s)[1] ) && ( 0xB0 <= ((U8*)s)[2] && ((U8*)s)[2] <= 0xB8 ) ) ? 3 : 0 )\
+: ( 0xF0 == ((U8*)s)[0] ) ?                                                 \
+    ( ( ( ( 0x9D == ((U8*)s)[1] ) && ( 0x85 == ((U8*)s)[2] ) ) && ( 0xB3 <= ((U8*)s)[3] && ((U8*)s)[3] <= 0xBA ) ) ? 4 : 0 )\
+: ( ( 0xF3 == ((U8*)s)[0] ) && ( 0xA0 == ((U8*)s)[1] ) ) ? 4 : 0 )
 
+/*
+	MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
+
+	do regen/regcharclass_multi_char_folds.pl
+	&regcharclass_multi_char_folds::multi_char_folds(1)
+*/
 /*** GENERATED CODE ***/
-#define what_TRICKYFOLD(s,is_utf8)                                          \
-( ( is_utf8 ) ?                                                             \
-    ( ( 0xC3 == ((U8*)s)[0] ) ?                                             \
-	( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 )                              \
+#define is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e)                             \
+( ( 0x61 == ((U8*)s)[0] ) ?                                                 \
+	( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x66 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x66 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )      \
+	: ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0x68 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x69 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x6A == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x73 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0x74 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ?                      \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0xCA == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
     : ( 0xCE == ((U8*)s)[0] ) ?                                             \
-	( ( 0x90 == ((U8*)s)[1] ) ? 0x390                                   \
-	: ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 )                             \
+	( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ?                              \
+	    ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ?                  \
+	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
+		( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 )                         \
+	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+    : ( 0xCF == ((U8*)s)[0] ) ?                                             \
+	( ( 0x81 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0x85 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0xCC == ((U8*)s)[2] ) ?                                     \
+		( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 )                         \
+	    : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0x89 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
+		( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 )                         \
+	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+    : ( 0xD5 == ((U8*)s)[0] ) ?                                             \
+	( ( 0xA5 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0xB4 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
+	: ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
     : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
-	( ( 0xBA == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x9E == ((U8*)s)[2] ) ? 0x1E9E : 0 )                        \
-	: ( 0xBF == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x93 == ((U8*)s)[2] ) ? 0x1FD3                              \
-	    : ( 0xA3 == ((U8*)s)[2] ) ? 0x1FE3 : 0 )                        \
+	( ( 0xBC == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
+	: ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
+    : 0 )
+
+
+/*** GENERATED CODE ***/
+#define is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e)                             \
+( ((e)-(s) > 3) ?                                                           \
+    ( ( 0x61 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x66 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x66 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )      \
+	: ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0x68 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x69 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x6A == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x73 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0x74 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ?                      \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0xCA == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0xCE == ((U8*)s)[0] ) ?                                             \
+	( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ?                              \
+	    ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ?                  \
+	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
+		( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 )                         \
+	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( ( ( 0xB9 == ((U8*)s)[1] ) && ( 0xCD == ((U8*)s)[2] ) ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+    : ( 0xCF == ((U8*)s)[0] ) ?                                             \
+	( ( 0x81 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0x85 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0xCC == ((U8*)s)[2] ) ?                                     \
+		( ( 0x93 == ((U8*)s)[3] ) ? 4 : 0 )                         \
+	    : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0x89 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
+		( ( 0x82 == ((U8*)s)[3] ) ? 4 : 0 )                         \
+	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+    : ( 0xD5 == ((U8*)s)[0] ) ?                                             \
+	( ( 0xA5 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0xB4 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
+	: ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+    : 0 )                                                                   \
+: ((e)-(s) > 2) ?                                                           \
+    ( ( 0x61 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x66 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x66 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )      \
+	: ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0x68 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x69 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x6A == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x73 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0x74 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ?                      \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( ( ( 0xCA == ((U8*)s)[0] ) && ( 0xBC == ((U8*)s)[1] ) ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )\
+: ((e)-(s) > 1) ?                                                           \
+    ( ( 0x66 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x66 == ((U8*)s)[1] || 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )\
+    : ( ( 0x73 == ((U8*)s)[0] ) && ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ) ? 2 : 0 )\
+: 0 )
+
+
+/*** GENERATED CODE ***/
+#define is_MULTI_CHAR_FOLD_utf8_safe(s,e)                                   \
+( ((e)-(s) > 5) ?                                                           \
+    ( ( 0x61 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCA == ((U8*)s)[1] ) && ( 0xBE == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x66 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x66 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0x69 == ((U8*)s)[2] || 0x6C == ((U8*)s)[2] ) ? 3 : 2 )      \
+	: ( 0x69 == ((U8*)s)[1] || 0x6C == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0x68 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0xB1 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x69 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x87 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x6A == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8C == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x73 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x73 == ((U8*)s)[1] || 0x74 == ((U8*)s)[1] ) ? 2 : 0 )          \
+    : ( 0x74 == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x88 == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0x77 == ((U8*)s)[0] || 0x79 == ((U8*)s)[0] ) ?                      \
+	( ( ( 0xCC == ((U8*)s)[1] ) && ( 0x8A == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0xCA == ((U8*)s)[0] ) ?                                             \
+	( ( ( 0xBC == ((U8*)s)[1] ) && ( 0x6E == ((U8*)s)[2] ) ) ? 3 : 0 )  \
+    : ( 0xCE == ((U8*)s)[0] ) ?                                             \
+	( ( ( ((U8*)s)[1] & 0xFD ) == 0xAC ) ?                              \
+	    ( ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0xB1 == ((U8*)s)[1] || 0xB7 == ((U8*)s)[1] ) ?                  \
+	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
+		( ( 0x82 == ((U8*)s)[3] ) ?                                 \
+		    ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
+		: 0 )                                                       \
+	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0xB9 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0xCC == ((U8*)s)[2] ) ?                                     \
+		( ( 0x88 == ((U8*)s)[3] ) ?                                 \
+		    ( ( 0xCC == ((U8*)s)[4] ) ?                             \
+			( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 )      \
+		    : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
+		: 0 )                                                       \
+	    : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
 	: 0 )                                                               \
+    : ( 0xCF == ((U8*)s)[0] ) ?                                             \
+	( ( 0x81 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xCC == ((U8*)s)[2] ) && ( 0x93 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0x85 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0xCC == ((U8*)s)[2] ) ?                                     \
+		( ( 0x88 == ((U8*)s)[3] ) ?                                 \
+		    ( ( 0xCC == ((U8*)s)[4] ) ?                             \
+			( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 0 )      \
+		    : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 0 )\
+		: ( 0x93 == ((U8*)s)[3] ) ?                                 \
+		    ( ( 0xCC == ((U8*)s)[4] ) ?                             \
+			( ( ( ((U8*)s)[5] & 0xFE ) == 0x80 ) ? 6 : 4 )      \
+		    : ( ( 0xCD == ((U8*)s)[4] ) && ( 0x82 == ((U8*)s)[5] ) ) ? 6 : 4 )\
+		: 0 )                                                       \
+	    : ( ( 0xCD == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0x89 == ((U8*)s)[1] ) ?                                         \
+	    ( ( 0xCD == ((U8*)s)[2] ) ?                                     \
+		( ( 0x82 == ((U8*)s)[3] ) ?                                 \
+		    ( ( ( 0xCE == ((U8*)s)[4] ) && ( 0xB9 == ((U8*)s)[5] ) ) ? 6 : 4 )\
+		: 0 )                                                       \
+	    : ( ( 0xCE == ((U8*)s)[2] ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( ( ( 0x8E == ((U8*)s)[1] ) && ( 0xCE == ((U8*)s)[2] ) ) && ( 0xB9 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+    : ( 0xD5 == ((U8*)s)[0] ) ?                                             \
+	( ( 0xA5 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xD6 == ((U8*)s)[2] ) && ( 0x82 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+	: ( 0xB4 == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( 0xD5 == ((U8*)s)[2] ) && ( ( ( ((U8*)s)[3] & 0xF7 ) == 0xA5 ) || ((U8*)s)[3] == 0xAB || ((U8*)s)[3] == 0xB6 ) ) ? 4 : 0 )\
+	: ( ( ( 0xBE == ((U8*)s)[1] ) && ( 0xD5 == ((U8*)s)[2] ) ) && ( 0xB6 == ((U8*)s)[3] ) ) ? 4 : 0 )\
+    : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
+	( ( 0xBC == ((U8*)s)[1] ) ?                                         \
+	    ( ( ( ( ( ((U8*)s)[2] & 0xD8 ) == 0x80 ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
+	: ( ( ( ( 0xBD == ((U8*)s)[1] ) && ( ( ( ((U8*)s)[2] & 0xF8 ) == 0xA0 ) || ( ( ((U8*)s)[2] & 0xFB ) == 0xB0 ) || ((U8*)s)[2] == 0xBC ) ) && ( 0xCE == ((U8*)s)[3] ) ) && ( 0xB9 == ((U8*)s)[4] ) ) ? 5 : 0 )\
     : 0 )                                                                   \
-: ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 )
+: ((e)-(s) > 4) ? is_MULTI_CHAR_FOLD_utf8_safe_part0(s,e) : is_MULTI_CHAR_FOLD_utf8_safe_part1(s,e) )
 
+/*
+	MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
+
+	&regcharclass_multi_char_folds::multi_char_folds(0)
+*/
 /*** GENERATED CODE ***/
-#define what_TRICKYFOLD_safe(s,e,is_utf8)                                   \
+#define is_MULTI_CHAR_FOLD_latin1_safe(s,e)                                 \
 ( ((e)-(s) > 2) ?                                                           \
-    ( ( is_utf8 ) ?                                                         \
-	( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 )                          \
-	: ( 0xCE == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x90 == ((U8*)s)[1] ) ? 0x390                               \
-	    : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 )                         \
-	: ( 0xE1 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0xBA == ((U8*)s)[1] ) ?                                     \
-		( ( 0x9E == ((U8*)s)[2] ) ? 0x1E9E : 0 )                    \
-	    : ( 0xBF == ((U8*)s)[1] ) ?                                     \
-		( ( 0x93 == ((U8*)s)[2] ) ? 0x1FD3                          \
-		: ( 0xA3 == ((U8*)s)[2] ) ? 0x1FE3 : 0 )                    \
-	    : 0 )                                                           \
-	: 0 )                                                               \
-    : ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 )                                  \
+    ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ?                                  \
+	( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) ?                              \
+	    ( ( ( ( ((U8*)s)[2] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[2] & 0xDF ) == 0x4C ) ) ? 3 : 2 )\
+	: ( ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
+    : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
 : ((e)-(s) > 1) ?                                                           \
-    ( ( is_utf8 ) ?                                                         \
-	( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x9F == ((U8*)s)[1] ) ? 0xDF : 0 )                          \
-	: ( 0xCE == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x90 == ((U8*)s)[1] ) ? 0x390                               \
-	    : ( 0xB0 == ((U8*)s)[1] ) ? 0x3B0 : 0 )                         \
-	: 0 )                                                               \
-    : ( 0xDF == ((U8*)s)[0] ) ? 0xDF : 0 )                                  \
+    ( ( ( ((U8*)s)[0] & 0xDF ) == 0x46 ) ?                                  \
+	( ( ( ( ((U8*)s)[1] & 0xDF ) == 0x46 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x49 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x4C ) ) ? 2 : 0 )\
+    : ( ( ( ((U8*)s)[0] & 0xDF ) == 0x53 ) && ( ( ( ((U8*)s)[1] & 0xDF ) == 0x53 ) || ( ( ((U8*)s)[1] & 0xDF ) == 0x54 ) ) ) ? 2 : 0 )\
+: 0 )
+
+/*
+	PATWS: pattern white space
+
+	\p{PatWS}
+*/
+/*** GENERATED CODE ***/
+#define is_PATWS(s,is_utf8)                                                 \
+( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
+: ( is_utf8 ) ?                                                             \
+    ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
+    : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+: ( 0x85 == ((U8*)s)[0] ) )
+
+/*** GENERATED CODE ***/
+#define is_PATWS_safe(s,e,is_utf8)                                          \
+( ((e)-(s) > 2) ?                                                           \
+    ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
+    : ( is_utf8 ) ?                                                         \
+	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
+	    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
+	: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+    : ( 0x85 == ((U8*)s)[0] ) )                                             \
+: ((e)-(s) > 1) ?                                                           \
+    ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
+    : ( is_utf8 ) ?                                                         \
+	( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
+    : ( 0x85 == ((U8*)s)[0] ) )                                             \
 : ((e)-(s) > 0) ?                                                           \
-    ( ( ( !( is_utf8 ) ) && ( 0xDF == ((U8*)s)[0] ) ) ? 0xDF : 0 )          \
+    ( ( ( 0x09 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0x0D ) || 0x20 == ((U8*)s)[0] ) ? 1\
+    : ( !( is_utf8 ) ) ?                                                    \
+	( 0x85 == ((U8*)s)[0] )                                             \
+    : 0 )                                                                   \
 : 0 )
 
 /*** GENERATED CODE ***/
-#define what_len_TRICKYFOLD(s,is_utf8,len)                                  \
+#define is_PATWS_non_low(s,is_utf8)                                         \
 ( ( is_utf8 ) ?                                                             \
-    ( ( 0xC3 == ((U8*)s)[0] ) ?                                             \
-	( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 )                       \
-    : ( 0xCE == ((U8*)s)[0] ) ?                                             \
-	( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390                            \
-	: ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 )                      \
-    : ( 0xE1 == ((U8*)s)[0] ) ?                                             \
-	( ( 0xBA == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x9E == ((U8*)s)[2] ) ? len=3, 0x1E9E : 0 )                 \
-	: ( 0xBF == ((U8*)s)[1] ) ?                                         \
-	    ( ( 0x93 == ((U8*)s)[2] ) ? len=3, 0x1FD3                       \
-	    : ( 0xA3 == ((U8*)s)[2] ) ? len=3, 0x1FE3 : 0 )                 \
-	: 0 )                                                               \
-    : 0 )                                                                   \
-: ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 )
+    ( ( 0xC2 == ((U8*)s)[0] ) ?                                             \
+	( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                                 \
+    : ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+: ( 0x85 == ((U8*)s)[0] ) )
 
 /*** GENERATED CODE ***/
-#define what_len_TRICKYFOLD_safe(s,e,is_utf8,len)                           \
+#define is_PATWS_non_low_safe(s,e,is_utf8)                                  \
 ( ((e)-(s) > 2) ?                                                           \
     ( ( is_utf8 ) ?                                                         \
-	( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 )                   \
-	: ( 0xCE == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390                        \
-	    : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 )                  \
-	: ( 0xE1 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0xBA == ((U8*)s)[1] ) ?                                     \
-		( ( 0x9E == ((U8*)s)[2] ) ? len=3, 0x1E9E : 0 )             \
-	    : ( 0xBF == ((U8*)s)[1] ) ?                                     \
-		( ( 0x93 == ((U8*)s)[2] ) ? len=3, 0x1FD3                   \
-		: ( 0xA3 == ((U8*)s)[2] ) ? len=3, 0x1FE3 : 0 )             \
-	    : 0 )                                                           \
-	: 0 )                                                               \
-    : ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 )                           \
+	( ( 0xC2 == ((U8*)s)[0] ) ?                                         \
+	    ( ( 0x85 == ((U8*)s)[1] ) ? 2 : 0 )                             \
+	: ( ( ( 0xE2 == ((U8*)s)[0] ) && ( 0x80 == ((U8*)s)[1] ) ) && ( ( ((U8*)s)[2] & 0xFE ) == 0x8E || ( ((U8*)s)[2] & 0xFE ) == 0xA8 ) ) ? 3 : 0 )\
+    : ( 0x85 == ((U8*)s)[0] ) )                                             \
 : ((e)-(s) > 1) ?                                                           \
     ( ( is_utf8 ) ?                                                         \
-	( ( 0xC3 == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x9F == ((U8*)s)[1] ) ? len=2, 0xDF : 0 )                   \
-	: ( 0xCE == ((U8*)s)[0] ) ?                                         \
-	    ( ( 0x90 == ((U8*)s)[1] ) ? len=2, 0x390                        \
-	    : ( 0xB0 == ((U8*)s)[1] ) ? len=2, 0x3B0 : 0 )                  \
-	: 0 )                                                               \
-    : ( 0xDF == ((U8*)s)[0] ) ? len=1, 0xDF : 0 )                           \
-: ((e)-(s) > 0) ?                                                           \
-    ( ( ( !( is_utf8 ) ) && ( 0xDF == ((U8*)s)[0] ) ) ? len=1, 0xDF : 0 )   \
-: 0 )
+	( ( ( 0xC2 == ((U8*)s)[0] ) && ( 0x85 == ((U8*)s)[1] ) ) ? 2 : 0 )  \
+    : ( 0x85 == ((U8*)s)[0] ) )                                             \
+: ( ((e)-(s) > 0) && ( !( is_utf8 ) ) ) ? ( 0x85 == ((U8*)s)[0] ) : 0 )
 
+/*** GENERATED CODE ***/
+#define is_PATWS_cp(cp)                                                     \
+( ( 0x09 <= cp && cp <= 0x0D ) || ( 0x0D < cp &&                            \
+( 0x20 == cp || ( 0x20 < cp &&                                              \
+( 0x85 == cp || ( 0x85 < cp &&                                              \
+( 0x200E == cp || ( 0x200E < cp &&                                          \
+( 0x200F == cp || ( 0x200F < cp &&                                          \
+( 0x2028 == cp || 0x2029 == cp ) ) ) ) ) ) ) ) ) ) )
 
+
+#endif /* H_REGCHARCLASS */
+
 /* ex: set ro: */


Property changes on: vendor/perl/dist/regcharclass.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/regcomp.c
===================================================================
--- vendor/perl/dist/regcomp.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regcomp.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -81,12 +81,20 @@
 #define REG_COMP_C
 #ifdef PERL_IN_XSUB_RE
 #  include "re_comp.h"
+extern const struct regexp_engine my_reg_engine;
 #else
 #  include "regcomp.h"
 #endif
 
 #include "dquote_static.c"
+#include "charclass_invlists.h"
+#include "inline_invlist.c"
+#include "unicode_constants.h"
 
+#define HAS_NONLATIN1_FOLD_CLOSURE(i) _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(i)
+#define IS_NON_FINAL_FOLD(c) _IS_NON_FINAL_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c)
+#define IS_IN_SOME_FOLD_L1(c) _IS_IN_SOME_FOLD_ONLY_FOR_USE_BY_REGCOMP_DOT_C(c)
+
 #ifdef op
 #undef op
 #endif /* op */
@@ -104,8 +112,10 @@
 #define	STATIC	static
 #endif
 
+
 typedef struct RExC_state_t {
-    U32		flags;			/* are we folding, multilining? */
+    U32		flags;			/* RXf_* are we folding, multilining? */
+    U32		pm_flags;		/* PMf_* stuff from the calling PMOP */
     char	*precomp;		/* uncompiled string. */
     REGEXP	*rx_sv;			/* The SV that is the regexp. */
     regexp	*rx;                    /* perl core regexp structure */
@@ -126,7 +136,6 @@
     I32		nestroot;		/* root parens we are in - used by accept */
     I32		extralen;
     I32		seen_zerolen;
-    I32		seen_evals;
     regnode	**open_parens;		/* pointers to open parens */
     regnode	**close_parens;		/* pointers to close parens */
     regnode	*opend;			/* END node in program */
@@ -144,10 +153,16 @@
     I32		in_lookbehind;
     I32		contains_locale;
     I32		override_recoding;
+    I32		in_multi_char_class;
+    struct reg_code_block *code_blocks;	/* positions of literal (?{})
+					    within pattern */
+    int		num_code_blocks;	/* size of code_blocks[] */
+    int		code_index;		/* next code_blocks[] slot */
 #if ADD_TO_REGEXEC
     char 	*starttry;		/* -Dr: where regtry was called. */
 #define RExC_starttry	(pRExC_state->starttry)
 #endif
+    SV		*runtime_code_qr;	/* qr with the runtime code blocks */
 #ifdef DEBUGGING
     const char  *lastparse;
     I32         lastnum;
@@ -159,6 +174,7 @@
 } RExC_state_t;
 
 #define RExC_flags	(pRExC_state->flags)
+#define RExC_pm_flags	(pRExC_state->pm_flags)
 #define RExC_precomp	(pRExC_state->precomp)
 #define RExC_rx_sv	(pRExC_state->rx_sv)
 #define RExC_rx		(pRExC_state->rx)
@@ -181,7 +197,6 @@
 #define RExC_nestroot   (pRExC_state->nestroot)
 #define RExC_extralen	(pRExC_state->extralen)
 #define RExC_seen_zerolen	(pRExC_state->seen_zerolen)
-#define RExC_seen_evals	(pRExC_state->seen_evals)
 #define RExC_utf8	(pRExC_state->utf8)
 #define RExC_uni_semantics	(pRExC_state->uni_semantics)
 #define RExC_orig_utf8	(pRExC_state->orig_utf8)
@@ -193,12 +208,13 @@
 #define RExC_recurse_count	(pRExC_state->recurse_count)
 #define RExC_in_lookbehind	(pRExC_state->in_lookbehind)
 #define RExC_contains_locale	(pRExC_state->contains_locale)
-#define RExC_override_recoding	(pRExC_state->override_recoding)
+#define RExC_override_recoding (pRExC_state->override_recoding)
+#define RExC_in_multi_char_class (pRExC_state->in_multi_char_class)
 
 
 #define	ISMULT1(c)	((c) == '*' || (c) == '+' || (c) == '?')
 #define	ISMULT2(s)	((*s) == '*' || (*s) == '+' || (*s) == '?' || \
-	((*s) == '{' && regcurly(s)))
+	((*s) == '{' && regcurly(s, FALSE)))
 
 #ifdef SPSTART
 #undef SPSTART		/* dratted cpp namespace... */
@@ -209,12 +225,15 @@
 #define	WORST		0	/* Worst case. */
 #define	HASWIDTH	0x01	/* Known to match non-null strings. */
 
-/* Simple enough to be STAR/PLUS operand, in an EXACT node must be a single
- * character, and if utf8, must be invariant.  Note that this is not the same thing as REGNODE_SIMPLE */
+/* Simple enough to be STAR/PLUS operand; in an EXACTish node must be a single
+ * character.  (There needs to be a case: in the switch statement in regexec.c
+ * for any node marked SIMPLE.)  Note that this is not the same thing as
+ * REGNODE_SIMPLE */
 #define	SIMPLE		0x02
-#define	SPSTART		0x04	/* Starts with * or +. */
-#define TRYAGAIN	0x08	/* Weeded out a declaration. */
-#define POSTPONED	0x10    /* (?1),(?&name), (??{...}) or similar */
+#define	SPSTART		0x04	/* Starts with * or + */
+#define POSTPONED	0x08    /* (?1),(?&name), (??{...}) or similar */
+#define TRYAGAIN	0x10	/* Weeded out a declaration. */
+#define RESTART_UTF8    0x20    /* Restart, need to calcuate sizes as UTF-8 */
 
 #define REG_NODE_NUM(x) ((x) ? (int)((x)-RExC_emit_start) : -1)
 
@@ -233,12 +252,18 @@
 #define PAREN_SET(u8str,paren) PBYTE(u8str,paren) |= PBITVAL(paren)
 #define PAREN_UNSET(u8str,paren) PBYTE(u8str,paren) &= (~PBITVAL(paren))
 
-/* If not already in utf8, do a longjmp back to the beginning */
-#define UTF8_LONGJMP 42 /* Choose a value not likely to ever conflict */
 #define REQUIRE_UTF8	STMT_START {                                       \
-                                     if (! UTF) JMPENV_JUMP(UTF8_LONGJMP); \
+                                     if (!UTF) {                           \
+                                         *flagp = RESTART_UTF8;            \
+                                         return NULL;                      \
+                                     }                                     \
                         } STMT_END
 
+/* This converts the named class defined in regcomp.h to its equivalent class
+ * number defined in handy.h. */
+#define namedclass_to_classnum(class)  ((int) ((class) / 2))
+#define classnum_to_namedclass(classnum)  ((classnum) * 2)
+
 /* About scan_data_t.
 
   During optimisation we recurse through the regexp program performing
@@ -277,8 +302,8 @@
     string can occur infinitely far to the right.
   
   - minlenp
-    A pointer to the minimum length of the pattern that the string 
-    was found inside. This is important as in the case of positive 
+    A pointer to the minimum number of characters of the pattern that the
+    string was found inside. This is important as in the case of positive
     lookahead or positive lookbehind we can have multiple patterns 
     involved. Consider
     
@@ -379,19 +404,25 @@
 #define SCF_SEEN_ACCEPT         0x8000 
 
 #define UTF cBOOL(RExC_utf8)
+
+/* The enums for all these are ordered so things work out correctly */
 #define LOC (get_regex_charset(RExC_flags) == REGEX_LOCALE_CHARSET)
+#define DEPENDS_SEMANTICS (get_regex_charset(RExC_flags) == REGEX_DEPENDS_CHARSET)
 #define UNI_SEMANTICS (get_regex_charset(RExC_flags) == REGEX_UNICODE_CHARSET)
-#define DEPENDS_SEMANTICS (get_regex_charset(RExC_flags) == REGEX_DEPENDS_CHARSET)
 #define AT_LEAST_UNI_SEMANTICS (get_regex_charset(RExC_flags) >= REGEX_UNICODE_CHARSET)
 #define ASCII_RESTRICTED (get_regex_charset(RExC_flags) == REGEX_ASCII_RESTRICTED_CHARSET)
-#define MORE_ASCII_RESTRICTED (get_regex_charset(RExC_flags) == REGEX_ASCII_MORE_RESTRICTED_CHARSET)
 #define AT_LEAST_ASCII_RESTRICTED (get_regex_charset(RExC_flags) >= REGEX_ASCII_RESTRICTED_CHARSET)
+#define ASCII_FOLD_RESTRICTED (get_regex_charset(RExC_flags) == REGEX_ASCII_MORE_RESTRICTED_CHARSET)
 
 #define FOLD cBOOL(RExC_flags & RXf_PMf_FOLD)
 
-#define OOB_UNICODE		12345678
 #define OOB_NAMEDCLASS		-1
 
+/* There is no code point that is out-of-bounds, so this is problematic.  But
+ * its only current use is to initialize a variable that is always set before
+ * looked at. */
+#define OOB_UNICODE		0xDEADBEEF
+
 #define CHR_SVLEN(sv) (UTF ? sv_len_utf8(sv) : SvCUR(sv))
 #define CHR_DIST(a,b) (UTF ? utf8_distance(a,b) : a - b)
 
@@ -419,7 +450,7 @@
     IV len = RExC_end - RExC_precomp;					\
 									\
     if (!SIZE_ONLY)							\
-	SAVEDESTRUCTOR_X(clear_re,(void*)RExC_rx_sv);			\
+	SAVEFREESV(RExC_rx_sv);						\
     if (len > RegexLengthToShowInErrorMessages) {			\
 	/* chop 10 shorter than the max, to ensure meaning of "..." */	\
 	len = RegexLengthToShowInErrorMessages - 10;			\
@@ -450,7 +481,7 @@
  */
 #define	vFAIL(m) STMT_START {				\
     if (!SIZE_ONLY)					\
-	SAVEDESTRUCTOR_X(clear_re,(void*)RExC_rx_sv);	\
+	SAVEFREESV(RExC_rx_sv);				\
     Simple_vFAIL(m);					\
 } STMT_END
 
@@ -468,7 +499,7 @@
  */
 #define	vFAIL2(m,a1) STMT_START {			\
     if (!SIZE_ONLY)					\
-	SAVEDESTRUCTOR_X(clear_re,(void*)RExC_rx_sv);	\
+	SAVEFREESV(RExC_rx_sv);				\
     Simple_vFAIL2(m, a1);				\
 } STMT_END
 
@@ -487,7 +518,7 @@
  */
 #define	vFAIL3(m,a1,a2) STMT_START {			\
     if (!SIZE_ONLY)					\
-	SAVEDESTRUCTOR_X(clear_re,(void*)RExC_rx_sv);	\
+	SAVEFREESV(RExC_rx_sv);				\
     Simple_vFAIL3(m, a1, a2);				\
 } STMT_END
 
@@ -500,6 +531,19 @@
 	    (int)offset, RExC_precomp, RExC_precomp + offset);	\
 } STMT_END
 
+#define	vFAIL4(m,a1,a2,a3) STMT_START {			\
+    if (!SIZE_ONLY)					\
+	SAVEFREESV(RExC_rx_sv);				\
+    Simple_vFAIL4(m, a1, a2, a3);			\
+} STMT_END
+
+/* m is not necessarily a "literal string", in this macro */
+#define reg_warn_non_literal_string(loc, m) STMT_START {                \
+    const IV offset = loc - RExC_precomp;                               \
+    Perl_warner(aTHX_ packWARN(WARN_REGEXP), "%s" REPORT_LOCATION,      \
+            m, (int)offset, RExC_precomp, RExC_precomp + offset);       \
+} STMT_END
+
 #define	ckWARNreg(loc,m) STMT_START {					\
     const IV offset = loc - RExC_precomp;				\
     Perl_ck_warner(aTHX_ packWARN(WARN_REGEXP), m REPORT_LOCATION,	\
@@ -506,6 +550,19 @@
 	    (int)offset, RExC_precomp, RExC_precomp + offset);		\
 } STMT_END
 
+#define	vWARN_dep(loc, m) STMT_START {				        \
+    const IV offset = loc - RExC_precomp;				\
+    Perl_warner(aTHX_ packWARN(WARN_DEPRECATED), m REPORT_LOCATION,	\
+	    (int)offset, RExC_precomp, RExC_precomp + offset);	        \
+} STMT_END
+
+#define	ckWARNdep(loc,m) STMT_START {				        \
+    const IV offset = loc - RExC_precomp;				\
+    Perl_ck_warner_d(aTHX_ packWARN(WARN_DEPRECATED),	                \
+	    m REPORT_LOCATION,						\
+	    (int)offset, RExC_precomp, RExC_precomp + offset);		\
+} STMT_END
+
 #define	ckWARNregdep(loc,m) STMT_START {				\
     const IV offset = loc - RExC_precomp;				\
     Perl_ck_warner_d(aTHX_ packWARN2(WARN_DEPRECATED, WARN_REGEXP),	\
@@ -665,8 +722,6 @@
     PerlIO_printf(Perl_debug_log,"\n");                              \
 });
 
-static void clear_re(pTHX_ void *r);
-
 /* Mark that we cannot extend a found fixed substring at this point.
    Update the longest found anchored substring and the longest found
    floating substrings if needed. */
@@ -689,7 +744,7 @@
 		    |= ((data->flags & SF_BEFORE_EOL) << SF_FIX_SHIFT_EOL);
 	    else
 		data->flags &= ~SF_FIX_BEFORE_EOL;
-	    data->minlen_fixed=minlenp;	
+	    data->minlen_fixed=minlenp;
 	    data->lookbehind_fixed=0;
 	}
 	else { /* *data->longest == data->longest_float */
@@ -696,7 +751,7 @@
 	    data->offset_float_min = l ? data->last_start_min : data->pos_min;
 	    data->offset_float_max = (l
 				      ? data->last_start_max
-				      : data->pos_min + data->pos_delta);
+				      : (data->pos_delta == I32_MAX ? I32_MAX : data->pos_min + data->pos_delta));
 	    if (is_inf || (U32)data->offset_float_max > (U32)I32_MAX)
 		data->offset_float_max = I32_MAX;
 	    if (data->flags & SF_BEFORE_EOL)
@@ -722,6 +777,17 @@
     DEBUG_STUDYDATA("commit: ",data,0);
 }
 
+/* These macros set, clear and test whether the synthetic start class ('ssc',
+ * given by the parameter) matches an empty string (EOS).  This uses the
+ * 'next_off' field in the node, to save a bit in the flags field.  The ssc
+ * stands alone, so there is never a next_off, so this field is otherwise
+ * unused.  The EOS information is used only for compilation, but theoretically
+ * it could be passed on to the execution code.  This could be used to store
+ * more than one bit of information, but only this one is currently used. */
+#define SET_SSC_EOS(node)   STMT_START { (node)->next_off = TRUE; } STMT_END
+#define CLEAR_SSC_EOS(node) STMT_START { (node)->next_off = FALSE; } STMT_END
+#define TEST_SSC_EOS(node)  cBOOL((node)->next_off)
+
 /* Can match anything (initialization) */
 STATIC void
 S_cl_anything(const RExC_state_t *pRExC_state, struct regnode_charclass_class *cl)
@@ -729,8 +795,8 @@
     PERL_ARGS_ASSERT_CL_ANYTHING;
 
     ANYOF_BITMAP_SETALL(cl);
-    cl->flags = ANYOF_CLASS|ANYOF_EOS|ANYOF_UNICODE_ALL
-		|ANYOF_LOC_NONBITMAP_FOLD|ANYOF_NON_UTF8_LATIN1_ALL;
+    cl->flags = ANYOF_UNICODE_ALL;
+    SET_SSC_EOS(cl);
 
     /* If any portion of the regex is to operate under locale rules,
      * initialization includes it.  The reason this isn't done for all regexes
@@ -741,7 +807,7 @@
      * necessary. */
     if (RExC_contains_locale) {
 	ANYOF_CLASS_SETALL(cl);	    /* /l uses class */
-	cl->flags |= ANYOF_LOCALE;
+	cl->flags |= ANYOF_LOCALE|ANYOF_CLASS|ANYOF_LOC_FOLD;
     }
     else {
 	ANYOF_CLASS_ZERO(cl);	    /* Only /l uses class now */
@@ -756,7 +822,7 @@
 
     PERL_ARGS_ASSERT_CL_IS_ANYTHING;
 
-    for (value = 0; value <= ANYOF_MAX; value += 2)
+    for (value = 0; value < ANYOF_MAX; value += 2)
 	if (ANYOF_CLASS_TEST(cl, value) && ANYOF_CLASS_TEST(cl, value + 1))
 	    return 1;
     if (!(cl->flags & ANYOF_UNICODE_ALL))
@@ -790,14 +856,14 @@
 {
     PERL_ARGS_ASSERT_CL_AND;
 
-    assert(and_with->type == ANYOF);
+    assert(PL_regkind[and_with->type] == ANYOF);
 
     /* I (khw) am not sure all these restrictions are necessary XXX */
     if (!(ANYOF_CLASS_TEST_ANY_SET(and_with))
 	&& !(ANYOF_CLASS_TEST_ANY_SET(cl))
 	&& (and_with->flags & ANYOF_LOCALE) == (cl->flags & ANYOF_LOCALE)
-	&& !(and_with->flags & ANYOF_LOC_NONBITMAP_FOLD)
-	&& !(cl->flags & ANYOF_LOC_NONBITMAP_FOLD)) {
+	&& !(and_with->flags & ANYOF_LOC_FOLD)
+	&& !(cl->flags & ANYOF_LOC_FOLD)) {
 	int i;
 
 	if (and_with->flags & ANYOF_INVERT)
@@ -930,8 +996,8 @@
 	 *   (OK1(i) | OK1(i')) | (!OK1(i) & !OK1(i'))
 	 */
 	else if ( (or_with->flags & ANYOF_LOCALE) == (cl->flags & ANYOF_LOCALE)
-	     && !(or_with->flags & ANYOF_LOC_NONBITMAP_FOLD)
-	     && !(cl->flags & ANYOF_LOC_NONBITMAP_FOLD) ) {
+	     && !(or_with->flags & ANYOF_LOC_FOLD)
+	     && !(cl->flags & ANYOF_LOC_FOLD) ) {
 	    int i;
 
 	    for (i = 0; i < ANYOF_BITMAP_SIZE; i++)
@@ -957,18 +1023,16 @@
     } else {    /* 'or_with' is not inverted */
 	/* (B1 | CL1) | (B2 | CL2) = (B1 | B2) | (CL1 | CL2)) */
 	if ( (or_with->flags & ANYOF_LOCALE) == (cl->flags & ANYOF_LOCALE)
-	     && (!(or_with->flags & ANYOF_LOC_NONBITMAP_FOLD)
-		 || (cl->flags & ANYOF_LOC_NONBITMAP_FOLD)) ) {
+	     && (!(or_with->flags & ANYOF_LOC_FOLD)
+		 || (cl->flags & ANYOF_LOC_FOLD)) ) {
 	    int i;
 
 	    /* OR char bitmap and class bitmap separately */
 	    for (i = 0; i < ANYOF_BITMAP_SIZE; i++)
 		cl->bitmap[i] |= or_with->bitmap[i];
-	    if (ANYOF_CLASS_TEST_ANY_SET(or_with)) {
-		for (i = 0; i < ANYOF_CLASSBITMAP_SIZE; i++)
-		    cl->classflags[i] |= or_with->classflags[i];
-		cl->flags |= ANYOF_CLASS;
-	    }
+            if (or_with->flags & ANYOF_CLASS) {
+                ANYOF_CLASS_OR(or_with, cl);
+            }
 	}
 	else { /* XXXX: logic is complicated, leave it along for a moment. */
 	    cl_anything(pRExC_state, cl);
@@ -1361,44 +1425,47 @@
     *(d++) = uv;
 */
 
-#define TRIE_STORE_REVCHAR                                                 \
+#define TRIE_STORE_REVCHAR(val)                                            \
     STMT_START {                                                           \
 	if (UTF) {							   \
-	    SV *zlopp = newSV(2);					   \
+            SV *zlopp = newSV(7); /* XXX: optimize me */                   \
 	    unsigned char *flrbbbbb = (unsigned char *) SvPVX(zlopp);	   \
-	    unsigned const char *const kapow = uvuni_to_utf8(flrbbbbb, uvc & 0xFF); \
+            unsigned const char *const kapow = uvuni_to_utf8(flrbbbbb, val); \
 	    SvCUR_set(zlopp, kapow - flrbbbbb);				   \
 	    SvPOK_on(zlopp);						   \
 	    SvUTF8_on(zlopp);						   \
 	    av_push(revcharmap, zlopp);					   \
 	} else {							   \
-	    char ooooff = (char)uvc;					   	   \
+            char ooooff = (char)val;                                           \
 	    av_push(revcharmap, newSVpvn(&ooooff, 1));			   \
 	}								   \
         } STMT_END
 
-#define TRIE_READ_CHAR STMT_START {                                           \
-    wordlen++;                                                                \
-    if ( UTF ) {                                                              \
-	if ( folder ) {                                                       \
-	    if ( foldlen > 0 ) {                                              \
-	       uvc = utf8n_to_uvuni( scan, UTF8_MAXLEN, &len, uniflags );     \
-	       foldlen -= len;                                                \
-	       scan += len;                                                   \
-	       len = 0;                                                       \
-	    } else {                                                          \
-		uvc = utf8n_to_uvuni( (const U8*)uc, UTF8_MAXLEN, &len, uniflags);\
-		uvc = to_uni_fold( uvc, foldbuf, &foldlen );                  \
-		foldlen -= UNISKIP( uvc );                                    \
-		scan = foldbuf + UNISKIP( uvc );                              \
-	    }                                                                 \
-	} else {                                                              \
-	    uvc = utf8n_to_uvuni( (const U8*)uc, UTF8_MAXLEN, &len, uniflags);\
-	}                                                                     \
-    } else {                                                                  \
-	uvc = (U32)*uc;                                                       \
-	len = 1;                                                              \
-    }                                                                         \
+#define TRIE_READ_CHAR STMT_START {                                                     \
+    wordlen++;                                                                          \
+    if ( UTF ) {                                                                        \
+        /* if it is UTF then it is either already folded, or does not need folding */   \
+        uvc = utf8n_to_uvuni( (const U8*) uc, UTF8_MAXLEN, &len, uniflags);             \
+    }                                                                                   \
+    else if (folder == PL_fold_latin1) {                                                \
+        /* if we use this folder we have to obey unicode rules on latin-1 data */       \
+        if ( foldlen > 0 ) {                                                            \
+           uvc = utf8n_to_uvuni( (const U8*) scan, UTF8_MAXLEN, &len, uniflags );       \
+           foldlen -= len;                                                              \
+           scan += len;                                                                 \
+           len = 0;                                                                     \
+        } else {                                                                        \
+            len = 1;                                                                    \
+            uvc = _to_fold_latin1( (U8) *uc, foldbuf, &foldlen, 1);                     \
+            skiplen = UNISKIP(uvc);                                                     \
+            foldlen -= skiplen;                                                         \
+            scan = foldbuf + skiplen;                                                   \
+        }                                                                               \
+    } else {                                                                            \
+        /* raw data, will be folded later if needed */                                  \
+        uvc = (U32)*uc;                                                                 \
+        len = 1;                                                                        \
+    }                                                                                   \
 } STMT_END
 
 
@@ -1515,10 +1582,14 @@
 #endif
 
     switch (flags) {
+        case EXACT: break;
 	case EXACTFA:
+        case EXACTFU_SS:
+        case EXACTFU_TRICKYFOLD:
 	case EXACTFU: folder = PL_fold_latin1; break;
 	case EXACTF:  folder = PL_fold; break;
 	case EXACTFL: folder = PL_fold_locale; break;
+        default: Perl_croak( aTHX_ "panic! In trie construction, unknown node type %u %s", (unsigned) flags, PL_reg_name[flags] );
     }
 
     trie = (reg_trie_data *) PerlMemShared_calloc( 1, sizeof(reg_trie_data) );
@@ -1527,7 +1598,7 @@
     trie->wordcount = word_count;
     RExC_rxi->data->data[ data_slot ] = (void*)trie;
     trie->charmap = (U16 *) PerlMemShared_calloc( 256, sizeof(U16) );
-    if (!(UTF && folder))
+    if (flags == EXACT)
 	trie->bitmap = (char *) PerlMemShared_calloc( ANYOF_BITMAP_SIZE, 1 );
     trie->wordinfo = (reg_trie_wordinfo *) PerlMemShared_calloc(
                        trie->wordcount+1, sizeof(reg_trie_wordinfo));
@@ -1540,7 +1611,7 @@
     if (!SvIOK(re_trie_maxbuff)) {
         sv_setiv(re_trie_maxbuff, RE_TRIE_MAXBUF_INIT);
     }
-    DEBUG_OPTIMISE_r({
+    DEBUG_TRIE_COMPILE_r({
                 PerlIO_printf( Perl_debug_log,
                   "%*smake_trie start==%d, first==%d, last==%d, tail==%d depth=%d\n",
                   (int)depth * 2 + 2, "", 
@@ -1582,11 +1653,12 @@
      */
 
     for ( cur = first ; cur < last ; cur = regnext( cur ) ) {
-        regnode * const noper = NEXTOPER( cur );
+        regnode *noper = NEXTOPER( cur );
         const U8 *uc = (U8*)STRING( noper );
-        const U8 * const e  = uc + STR_LEN( noper );
+        const U8 *e  = uc + STR_LEN( noper );
         STRLEN foldlen = 0;
         U8 foldbuf[ UTF8_MAXBYTES_CASE + 1 ];
+        STRLEN skiplen = 0;
         const U8 *scan = (U8*)NULL;
         U32 wordlen      = 0;         /* required init */
         STRLEN chars = 0;
@@ -1593,31 +1665,49 @@
         bool set_bit = trie->bitmap ? 1 : 0; /*store the first char in the bitmap?*/
 
         if (OP(noper) == NOTHING) {
-            trie->minlen= 0;
-            continue;
+            regnode *noper_next= regnext(noper);
+            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) */
+
+        if ( set_bit ) { /* bitmap only alloced when !(UTF&&Folding) */
             TRIE_BITMAP_SET(trie,*uc); /* store the raw first byte
                                           regardless of encoding */
-
+            if (OP( noper ) == EXACTFU_SS) {
+                /* false positives are ok, so just set this */
+                TRIE_BITMAP_SET(trie,0xDF);
+            }
+        }
         for ( ; uc < e ; uc += len ) {
             TRIE_CHARCOUNT(trie)++;
             TRIE_READ_CHAR;
             chars++;
             if ( uvc < 256 ) {
+                if ( folder ) {
+                    U8 folded= folder[ (U8) uvc ];
+                    if ( !trie->charmap[ folded ] ) {
+                        trie->charmap[ folded ]=( ++trie->uniquecharcount );
+                        TRIE_STORE_REVCHAR( folded );
+                    }
+                }
                 if ( !trie->charmap[ uvc ] ) {
                     trie->charmap[ uvc ]=( ++trie->uniquecharcount );
-                    if ( folder )
-                        trie->charmap[ folder[ uvc ] ] = trie->charmap[ uvc ];
-                    TRIE_STORE_REVCHAR;
+                    TRIE_STORE_REVCHAR( uvc );
                 }
                 if ( set_bit ) {
 		    /* store the codepoint in the bitmap, and its folded
 		     * equivalent. */
-                    TRIE_BITMAP_SET(trie,uvc);
+                    TRIE_BITMAP_SET(trie, uvc);
 
 		    /* store the folded codepoint */
-		    if ( folder ) TRIE_BITMAP_SET(trie,folder[ uvc ]);
+                    if ( folder ) TRIE_BITMAP_SET(trie, folder[(U8) uvc ]);
 
 		    if ( !UTF ) {
 			/* store first byte of utf8 representation of
@@ -1640,18 +1730,29 @@
 
                 if ( !SvTRUE( *svpp ) ) {
                     sv_setiv( *svpp, ++trie->uniquecharcount );
-                    TRIE_STORE_REVCHAR;
+                    TRIE_STORE_REVCHAR(uvc);
                 }
             }
         }
         if( cur == first ) {
-            trie->minlen=chars;
-            trie->maxlen=chars;
+            trie->minlen = chars;
+            trie->maxlen = chars;
         } else if (chars < trie->minlen) {
-            trie->minlen=chars;
+            trie->minlen = chars;
         } else if (chars > trie->maxlen) {
-            trie->maxlen=chars;
+            trie->maxlen = chars;
         }
+        if (OP( noper ) == EXACTFU_SS) {
+            /* XXX: workaround - 'ss' could match "\x{DF}" so minlen could be 1 and not 2*/
+	    if (trie->minlen > 1)
+                trie->minlen= 1;
+        }
+	if (OP( noper ) == EXACTFU_TRICKYFOLD) {
+	    /* XXX: workround - things like "\x{1FBE}\x{0308}\x{0301}" can match "\x{0390}" 
+	     *		      - We assume that any such sequence might match a 2 byte string */
+            if (trie->minlen > 2 )
+                trie->minlen= 2;
+        }
 
     } /* end first pass */
     DEBUG_TRIE_COMPILE_r(
@@ -1705,7 +1806,7 @@
         DEBUG_TRIE_COMPILE_MORE_r( PerlIO_printf( Perl_debug_log, 
             "%*sCompiling trie using list compiler\n",
             (int)depth * 2 + 2, ""));
-	
+
 	trie->states = (reg_trie_state *)
 	    PerlMemShared_calloc( TRIE_CHARCOUNT(trie) + 2,
 				  sizeof(reg_trie_state) );
@@ -1714,9 +1815,9 @@
 
         for ( cur = first ; cur < last ; cur = regnext( cur ) ) {
 
-	    regnode * const noper = NEXTOPER( cur );
+            regnode *noper   = NEXTOPER( cur );
 	    U8 *uc           = (U8*)STRING( noper );
-	    const U8 * const e = uc + STR_LEN( noper );
+            const U8 *e      = uc + STR_LEN( noper );
 	    U32 state        = 1;         /* required init */
 	    U16 charid       = 0;         /* sanity init */
 	    U8 *scan         = (U8*)NULL; /* sanity init */
@@ -1723,7 +1824,17 @@
 	    STRLEN foldlen   = 0;         /* required init */
             U32 wordlen      = 0;         /* required init */
 	    U8 foldbuf[ UTF8_MAXBYTES_CASE + 1 ];
+            STRLEN skiplen   = 0;
 
+            if (OP(noper) == NOTHING) {
+                regnode *noper_next= regnext(noper);
+                if (noper_next != tail && OP(noper_next) == flags) {
+                    noper = noper_next;
+                    uc= (U8*)STRING(noper);
+                    e= uc + STR_LEN(noper);
+                }
+            }
+
             if (OP(noper) != NOTHING) {
                 for ( ; uc < e ; uc += len ) {
 
@@ -1911,9 +2022,9 @@
 
         for ( cur = first ; cur < last ; cur = regnext( cur ) ) {
 
-	    regnode * const noper   = NEXTOPER( cur );
+            regnode *noper   = NEXTOPER( cur );
 	    const U8 *uc     = (U8*)STRING( noper );
-	    const U8 * const e = uc + STR_LEN( noper );
+            const U8 *e      = uc + STR_LEN( noper );
 
             U32 state        = 1;         /* required init */
 
@@ -1923,8 +2034,18 @@
 
             STRLEN foldlen   = 0;         /* required init */
             U32 wordlen      = 0;         /* required init */
+            STRLEN skiplen   = 0;
             U8 foldbuf[ UTF8_MAXBYTES_CASE + 1 ];
 
+            if (OP(noper) == NOTHING) {
+                regnode *noper_next= regnext(noper);
+                if (noper_next != tail && OP(noper_next) == flags) {
+                    noper = noper_next;
+                    uc= (U8*)STRING(noper);
+                    e= uc + STR_LEN(noper);
+                }
+            }
+
             if ( OP(noper) != NOTHING ) {
                 for ( ; uc < e ; uc += len ) {
 
@@ -2362,7 +2483,7 @@
     RExC_rxi->data->data[ data_slot + TRIE_WORDS_OFFSET ] = (void*)trie_words;
     RExC_rxi->data->data[ data_slot + 3 ] = (void*)revcharmap;
 #else
-    SvREFCNT_dec(revcharmap);
+    SvREFCNT_dec_NN(revcharmap);
 #endif
     return trie->jump 
            ? MADE_JUMP_TRIE 
@@ -2503,15 +2624,99 @@
    }});
 
 
+/* The below joins as many adjacent EXACTish nodes as possible into a single
+ * one.  The regop may be changed if the node(s) contain certain sequences that
+ * require special handling.  The joining is only done if:
+ * 1) there is room in the current conglomerated node to entirely contain the
+ *    next one.
+ * 2) they are the exact same node type
+ *
+ * The adjacent nodes actually may be separated by NOTHING-kind nodes, and
+ * these get optimized out
+ *
+ * If a node is to match under /i (folded), the number of characters it matches
+ * can be different than its character length if it contains a multi-character
+ * fold.  *min_subtract is set to the total delta of the input nodes.
+ *
+ * And *has_exactf_sharp_s is set to indicate whether or not the node is EXACTF
+ * and contains LATIN SMALL LETTER SHARP S
+ *
+ * This is as good a place as any to discuss the design of handling these
+ * multi-character fold sequences.  It's been wrong in Perl for a very long
+ * time.  There are three code points in Unicode whose multi-character folds
+ * were long ago discovered to mess things up.  The previous designs for
+ * dealing with these involved assigning a special node for them.  This
+ * approach doesn't work, as evidenced by this example:
+ *      "\xDFs" =~ /s\xDF/ui    # Used to fail before these patches
+ * Both these fold to "sss", but if the pattern is parsed to create a node that
+ * would match just the \xDF, it won't be able to handle the case where a
+ * successful match would have to cross the node's boundary.  The new approach
+ * that hopefully generally solves the problem generates an EXACTFU_SS node
+ * that is "sss".
+ *
+ * It turns out that there are problems with all multi-character folds, and not
+ * just these three.  Now the code is general, for all such cases, but the
+ * three still have some special handling.  The approach taken is:
+ * 1)   This routine examines each EXACTFish node that could contain multi-
+ *      character fold sequences.  It returns in *min_subtract how much to
+ *      subtract from the the actual length of the string to get a real minimum
+ *      match length; it is 0 if there are no multi-char folds.  This delta is
+ *      used by the caller to adjust the min length of the match, and the delta
+ *      between min and max, so that the optimizer doesn't reject these
+ *      possibilities based on size constraints.
+ * 2)   Certain of these sequences require special handling by the trie code,
+ *      so, if found, this code changes the joined node type to special ops:
+ *      EXACTFU_TRICKYFOLD and EXACTFU_SS.
+ * 3)   For the sequence involving the Sharp s (\xDF), the node type EXACTFU_SS
+ *      is used for an EXACTFU node that contains at least one "ss" sequence in
+ *      it.  For non-UTF-8 patterns and strings, this is the only case where
+ *      there is a possible fold length change.  That means that a regular
+ *      EXACTFU node without UTF-8 involvement doesn't have to concern itself
+ *      with length changes, and so can be processed faster.  regexec.c takes
+ *      advantage of this.  Generally, an EXACTFish node that is in UTF-8 is
+ *      pre-folded by regcomp.c.  This saves effort in regex matching.
+ *      However, the pre-folding isn't done for non-UTF8 patterns because the
+ *      fold of the MICRO SIGN requires UTF-8, and we don't want to slow things
+ *      down by forcing the pattern into UTF8 unless necessary.  Also what
+ *      EXACTF and EXACTFL nodes fold to isn't known until runtime.  The fold
+ *      possibilities for the non-UTF8 patterns are quite simple, except for
+ *      the sharp s.  All the ones that don't involve a UTF-8 target string are
+ *      members of a fold-pair, and arrays are set up for all of them so that
+ *      the other member of the pair can be found quickly.  Code elsewhere in
+ *      this file makes sure that in EXACTFU nodes, the sharp s gets folded to
+ *      'ss', even if the pattern isn't UTF-8.  This avoids the issues
+ *      described in the next item.
+ * 4)   A problem remains for the sharp s in EXACTF nodes.  Whether it matches
+ *      'ss' or not is not knowable at compile time.  It will match iff the
+ *      target string is in UTF-8, unlike the EXACTFU nodes, where it always
+ *      matches; and the EXACTFL and EXACTFA nodes where it never does.  Thus
+ *      it can't be folded to "ss" at compile time, unlike EXACTFU does (as
+ *      described in item 3).  An assumption that the optimizer part of
+ *      regexec.c (probably unwittingly) makes is that a character in the
+ *      pattern corresponds to at most a single character in the target string.
+ *      (And I do mean character, and not byte here, unlike other parts of the
+ *      documentation that have never been updated to account for multibyte
+ *      Unicode.)  This assumption is wrong only in this case, as all other
+ *      cases are either 1-1 folds when no UTF-8 is involved; or is true by
+ *      virtue of having this file pre-fold UTF-8 patterns.   I'm
+ *      reluctant to try to change this assumption, so instead the code punts.
+ *      This routine examines EXACTF nodes for the sharp s, and returns a
+ *      boolean indicating whether or not the node is an EXACTF node that
+ *      contains a sharp s.  When it is true, the caller sets a flag that later
+ *      causes the optimizer in this file to not set values for the floating
+ *      and fixed string lengths, and thus avoids the optimizer code in
+ *      regexec.c that makes the invalid assumption.  Thus, there is no
+ *      optimization based on string lengths for EXACTF nodes that contain the
+ *      sharp s.  This only happens for /id rules (which means the pattern
+ *      isn't in UTF-8).
+ */
 
-
-
-#define JOIN_EXACT(scan,min,flags) \
+#define JOIN_EXACT(scan,min_subtract,has_exactf_sharp_s, flags) \
     if (PL_regkind[OP(scan)] == EXACT) \
-        join_exact(pRExC_state,(scan),(min),(flags),NULL,depth+1)
+        join_exact(pRExC_state,(scan),(min_subtract),has_exactf_sharp_s, (flags),NULL,depth+1)
 
 STATIC U32
-S_join_exact(pTHX_ RExC_state_t *pRExC_state, regnode *scan, I32 *min, U32 flags,regnode *val, U32 depth) {
+S_join_exact(pTHX_ RExC_state_t *pRExC_state, regnode *scan, UV *min_subtract, bool *has_exactf_sharp_s, U32 flags,regnode *val, U32 depth) {
     /* Merge several consecutive EXACTish nodes into one. */
     regnode *n = regnext(scan);
     U32 stringok = 1;
@@ -2531,13 +2736,15 @@
     PERL_UNUSED_ARG(val);
 #endif
     DEBUG_PEEP("join",scan,depth);
-    
-    /* Skip NOTHING, merge EXACT*. */
-    while (n &&
-           ( PL_regkind[OP(n)] == NOTHING ||
-             (stringok && (OP(n) == OP(scan))))
+
+    /* Look through the subsequent nodes in the chain.  Skip NOTHING, merge
+     * EXACT ones that are mergeable to the current one. */
+    while (n
+           && (PL_regkind[OP(n)] == NOTHING
+               || (stringok && OP(n) == OP(scan)))
            && NEXT_OFF(n)
-           && NEXT_OFF(scan) + NEXT_OFF(n) < I16_MAX) {
+           && NEXT_OFF(scan) + NEXT_OFF(n) < I16_MAX)
+    {
         
         if (OP(n) == TAIL || n > next)
             stringok = 0;
@@ -2554,12 +2761,16 @@
         else if (stringok) {
             const unsigned int oldl = STR_LEN(scan);
             regnode * const nnext = regnext(n);
+
+            /* XXX I (khw) kind of doubt that this works on platforms where
+             * U8_MAX is above 255 because of lots of other assumptions */
+            /* Don't join if the sum can't fit into a single node */
+            if (oldl + STR_LEN(n) > U8_MAX)
+                break;
             
             DEBUG_PEEP("merg",n,depth);
-            
             merged++;
-            if (oldl + STR_LEN(n) > U8_MAX)
-                break;
+
             NEXT_OFF(scan) += NEXT_OFF(n);
             STR_LEN(scan) += STR_LEN(n);
             next = n + NODE_SZ_STR(n);
@@ -2585,75 +2796,169 @@
 	}
 #endif
     }
-#define GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA_AND_TONOS   0x0390
-#define IOTA_D_T	GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA_AND_TONOS
-#define GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA_AND_TONOS	0x03B0
-#define UPSILON_D_T	GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA_AND_TONOS
 
-    if (UTF
-	&& ( OP(scan) == EXACTF || OP(scan) == EXACTFU || OP(scan) == EXACTFA)
-	&& ( STR_LEN(scan) >= 6 ) )
-    {
-    /*
-    Two problematic code points in Unicode casefolding of EXACT nodes:
-    
-    U+0390 - GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-    U+03B0 - GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-    
-    which casefold to
-    
-    Unicode                      UTF-8
-    
-    U+03B9 U+0308 U+0301         0xCE 0xB9 0xCC 0x88 0xCC 0x81
-    U+03C5 U+0308 U+0301         0xCF 0x85 0xCC 0x88 0xCC 0x81
-    
-    This means that in case-insensitive matching (or "loose matching",
-    as Unicode calls it), an EXACTF of length six (the UTF-8 encoded byte
-    length of the above casefolded versions) can match a target string
-    of length two (the byte length of UTF-8 encoded U+0390 or U+03B0).
-    This would rather mess up the minimum length computation.
-    
-    What we'll do is to look for the tail four bytes, and then peek
-    at the preceding two bytes to see whether we need to decrease
-    the minimum length by four (six minus two).
-    
-    Thanks to the design of UTF-8, there cannot be false matches:
-    A sequence of valid UTF-8 bytes cannot be a subsequence of
-    another valid sequence of UTF-8 bytes.
-    
-    */
-         char * const s0 = STRING(scan), *s, *t;
-         char * const s1 = s0 + STR_LEN(scan) - 1;
-         char * const s2 = s1 - 4;
-#ifdef EBCDIC /* RD tunifold greek 0390 and 03B0 */
-	 const char t0[] = "\xaf\x49\xaf\x42";
-#else
-         const char t0[] = "\xcc\x88\xcc\x81";
-#endif
-         const char * const t1 = t0 + 3;
-    
-         for (s = s0 + 2;
-              s < s2 && (t = ninstr(s, s1, t0, t1));
-              s = t + 4) {
-#ifdef EBCDIC
-	      if (((U8)t[-1] == 0x68 && (U8)t[-2] == 0xB4) ||
-		  ((U8)t[-1] == 0x46 && (U8)t[-2] == 0xB5))
-#else
-              if (((U8)t[-1] == 0xB9 && (U8)t[-2] == 0xCE) ||
-                  ((U8)t[-1] == 0x85 && (U8)t[-2] == 0xCF))
-#endif
-                   *min -= 4;
-         }
+    *min_subtract = 0;
+    *has_exactf_sharp_s = FALSE;
+
+    /* Here, all the adjacent mergeable EXACTish nodes have been merged.  We
+     * can now analyze for sequences of problematic code points.  (Prior to
+     * this final joining, sequences could have been split over boundaries, and
+     * hence missed).  The sequences only happen in folding, hence for any
+     * non-EXACT EXACTish node */
+    if (OP(scan) != EXACT) {
+        const U8 * const s0 = (U8*) STRING(scan);
+        const U8 * s = s0;
+        const U8 * const s_end = s0 + STR_LEN(scan);
+
+	/* One pass is made over the node's string looking for all the
+	 * possibilities.  to avoid some tests in the loop, there are two main
+	 * cases, for UTF-8 patterns (which can't have EXACTF nodes) and
+	 * non-UTF-8 */
+	if (UTF) {
+
+            /* Examine the string for a multi-character fold sequence.  UTF-8
+             * patterns have all characters pre-folded by the time this code is
+             * executed */
+            while (s < s_end - 1) /* Can stop 1 before the end, as minimum
+                                     length sequence we are looking for is 2 */
+	    {
+                int count = 0;
+                int len = is_MULTI_CHAR_FOLD_utf8_safe(s, s_end);
+                if (! len) {    /* Not a multi-char fold: get next char */
+                    s += UTF8SKIP(s);
+                    continue;
+                }
+
+                /* Nodes with 'ss' require special handling, except for EXACTFL
+                 * and EXACTFA for which there is no multi-char fold to this */
+                if (len == 2 && *s == 's' && *(s+1) == 's'
+                    && OP(scan) != EXACTFL && OP(scan) != EXACTFA)
+                {
+                    count = 2;
+                    OP(scan) = EXACTFU_SS;
+                    s += 2;
+                }
+                else if (len == 6   /* len is the same in both ASCII and EBCDIC for these */
+                         && (memEQ(s, GREEK_SMALL_LETTER_IOTA_UTF8
+                                      COMBINING_DIAERESIS_UTF8
+                                      COMBINING_ACUTE_ACCENT_UTF8,
+                                   6)
+                             || memEQ(s, GREEK_SMALL_LETTER_UPSILON_UTF8
+                                         COMBINING_DIAERESIS_UTF8
+                                         COMBINING_ACUTE_ACCENT_UTF8,
+                                     6)))
+                {
+                    count = 3;
+
+                    /* These two folds require special handling by trie's, so
+                     * change the node type to indicate this.  If EXACTFA and
+                     * EXACTFL were ever to be handled by trie's, this would
+                     * have to be changed.  If this node has already been
+                     * changed to EXACTFU_SS in this loop, leave it as is.  (I
+                     * (khw) think it doesn't matter in regexec.c for UTF
+                     * patterns, but no need to change it */
+                    if (OP(scan) == EXACTFU) {
+                        OP(scan) = EXACTFU_TRICKYFOLD;
+                    }
+                    s += 6;
+                }
+                else { /* Here is a generic multi-char fold. */
+                    const U8* multi_end  = s + len;
+
+                    /* Count how many characters in it.  In the case of /l and
+                     * /aa, no folds which contain ASCII code points are
+                     * allowed, so check for those, and skip if found.  (In
+                     * EXACTFL, no folds are allowed to any Latin1 code point,
+                     * not just ASCII.  But there aren't any of these
+                     * currently, nor ever likely, so don't take the time to
+                     * test for them.  The code that generates the
+                     * is_MULTI_foo() macros croaks should one actually get put
+                     * into Unicode .) */
+                    if (OP(scan) != EXACTFL && OP(scan) != EXACTFA) {
+                        count = utf8_length(s, multi_end);
+                        s = multi_end;
+                    }
+                    else {
+                        while (s < multi_end) {
+                            if (isASCII(*s)) {
+                                s++;
+                                goto next_iteration;
+                            }
+                            else {
+                                s += UTF8SKIP(s);
+                            }
+                            count++;
+                        }
+                    }
+                }
+
+                /* The delta is how long the sequence is minus 1 (1 is how long
+                 * the character that folds to the sequence is) */
+                *min_subtract += count - 1;
+            next_iteration: ;
+	    }
+	}
+	else if (OP(scan) != EXACTFL && OP(scan) != EXACTFA) {
+
+            /* Here, the pattern is not UTF-8.  Look for the multi-char folds
+             * that are all ASCII.  As in the above case, EXACTFL and EXACTFA
+             * nodes can't have multi-char folds to this range (and there are
+             * no existing ones in the upper latin1 range).  In the EXACTF
+             * case we look also for the sharp s, which can be in the final
+             * position.  Otherwise we can stop looking 1 byte earlier because
+             * have to find at least two characters for a multi-fold */
+	    const U8* upper = (OP(scan) == EXACTF) ? s_end : s_end -1;
+
+            /* The below is perhaps overboard, but this allows us to save a
+             * test each time through the loop at the expense of a mask.  This
+             * is because on both EBCDIC and ASCII machines, 'S' and 's' differ
+             * by a single bit.  On ASCII they are 32 apart; on EBCDIC, they
+             * are 64.  This uses an exclusive 'or' to find that bit and then
+             * inverts it to form a mask, with just a single 0, in the bit
+             * position where 'S' and 's' differ. */
+            const U8 S_or_s_mask = (U8) ~ ('S' ^ 's');
+            const U8 s_masked = 's' & S_or_s_mask;
+
+	    while (s < upper) {
+                int len = is_MULTI_CHAR_FOLD_latin1_safe(s, s_end);
+                if (! len) {    /* Not a multi-char fold. */
+                    if (*s == LATIN_SMALL_LETTER_SHARP_S && OP(scan) == EXACTF)
+                    {
+                        *has_exactf_sharp_s = TRUE;
+                    }
+                    s++;
+                    continue;
+                }
+
+                if (len == 2
+                    && ((*s & S_or_s_mask) == s_masked)
+                    && ((*(s+1) & S_or_s_mask) == s_masked))
+                {
+
+                    /* EXACTF nodes need to know that the minimum length
+                     * changed so that a sharp s in the string can match this
+                     * ss in the pattern, but they remain EXACTF nodes, as they
+                     * won't match this unless the target string is is UTF-8,
+                     * which we don't know until runtime */
+                    if (OP(scan) != EXACTF) {
+                        OP(scan) = EXACTFU_SS;
+                    }
+		}
+
+                *min_subtract += len - 1;
+                s += len;
+	    }
+	}
     }
-    
+
 #ifdef DEBUGGING
-    /* Allow dumping */
+    /* Allow dumping but overwriting the collection of skipped
+     * ops and/or strings with fake optimized ops */
     n = scan + NODE_SZ_STR(scan);
     while (n <= stop) {
-        if (PL_regkind[OP(n)] != NOTHING || OP(n) == NOTHING) {
-            OP(n) = OPTIMIZED;
-            NEXT_OFF(n) = 0;
-        }
+	OP(n) = OPTIMIZED;
+	FLAGS(n) = 0;
+	NEXT_OFF(n) = 0;
         n++;
     }
 #endif
@@ -2686,34 +2991,6 @@
 
 #define SCAN_COMMIT(s, data, m) scan_commit(s, data, m, is_inf)
 
-#define CASE_SYNST_FNC(nAmE)                                       \
-case nAmE:                                                         \
-    if (flags & SCF_DO_STCLASS_AND) {                              \
-	    for (value = 0; value < 256; value++)                  \
-		if (!is_ ## nAmE ## _cp(value))                       \
-		    ANYOF_BITMAP_CLEAR(data->start_class, value);  \
-    }                                                              \
-    else {                                                         \
-	    for (value = 0; value < 256; value++)                  \
-		if (is_ ## nAmE ## _cp(value))                        \
-		    ANYOF_BITMAP_SET(data->start_class, value);	   \
-    }                                                              \
-    break;                                                         \
-case N ## nAmE:                                                    \
-    if (flags & SCF_DO_STCLASS_AND) {                              \
-	    for (value = 0; value < 256; value++)                   \
-		if (is_ ## nAmE ## _cp(value))                         \
-		    ANYOF_BITMAP_CLEAR(data->start_class, value);   \
-    }                                                               \
-    else {                                                          \
-	    for (value = 0; value < 256; value++)                   \
-		if (!is_ ## nAmE ## _cp(value))                        \
-		    ANYOF_BITMAP_SET(data->start_class, value);	    \
-    }                                                               \
-    break
-
-
-
 STATIC I32
 S_study_chunk(pTHX_ RExC_state_t *pRExC_state, regnode **scanp,
                         I32 *minlenp, I32 *deltap,
@@ -2732,7 +3009,8 @@
 			/* and_withp: Valid if flags & SCF_DO_STCLASS_OR */
 {
     dVAR;
-    I32 min = 0, pars = 0, code;
+    I32 min = 0;    /* There must be at least this number of characters to match */
+    I32 pars = 0, code;
     regnode *scan = *scanp, *next;
     I32 delta = 0;
     int is_inf = (flags & SCF_DO_SUBSTR) && (data->flags & SF_IS_INF);
@@ -2759,11 +3037,19 @@
 
   fake_study_recurse:
     while ( scan && OP(scan) != END && scan < last ){
+        UV min_subtract = 0;    /* How mmany chars to subtract from the minimum
+                                   node length to get a real minimum (because
+                                   the folded version may be shorter) */
+	bool has_exactf_sharp_s = FALSE;
 	/* Peephole optimizer: */
 	DEBUG_STUDYDATA("Peep:", data,depth);
 	DEBUG_PEEP("Peep",scan,depth);
-        JOIN_EXACT(scan,&min,0);
 
+        /* Its not clear to khw or hv why this is done here, and not in the
+         * clauses that deal with EXACT nodes.  khw's guess is that it's
+         * because of a previous design */
+        JOIN_EXACT(scan,&min_subtract, &has_exactf_sharp_s, 0);
+
 	/* Follow the next-chain of the current node and optimize
 	   away all the NOTHINGs from it.  */
 	if (OP(scan) != CURLYX) {
@@ -2774,7 +3060,7 @@
 	    int off = (reg_off_by_arg[OP(scan)] ? ARG(scan) : NEXT_OFF(scan));
 	    int noff;
 	    regnode *n = scan;
-	
+
 	    /* Skip NOTHING and LONGJMP. */
 	    while ((n = regnext(n))
 		   && ((PL_regkind[OP(n)] == NOTHING && (noff = NEXT_OFF(n)))
@@ -2796,7 +3082,7 @@
 	    next = regnext(scan);
 	    code = OP(scan);
 	    /* demq: the op(next)==code check is to see if we have "branch-branch" AFAICT */
-	
+
 	    if (OP(next) == code || code == IFTHEN) {
 	        /* NOTE - There is similar code to this block below for handling
 	           TRIE nodes on a re-study.  If you change stuff here check there
@@ -2804,7 +3090,7 @@
 		I32 max1 = 0, min1 = I32_MAX, num = 0;
 		struct regnode_charclass_class accum;
 		regnode * const startbranch=scan;
-		
+
 		if (flags & SCF_DO_SUBSTR)
 		    SCAN_COMMIT(pRExC_state, data, minlenp); /* Cannot merge strings after this. */
 		if (flags & SCF_DO_STCLASS)
@@ -2842,10 +3128,11 @@
 					  stopparen, recursed, NULL, f,depth+1);
 		    if (min1 > minnext)
 			min1 = minnext;
-		    if (max1 < minnext + deltanext)
+		    if (deltanext == I32_MAX) {
+			is_inf = is_inf_internal = 1;
+			max1 = I32_MAX;
+		    } else if (max1 < minnext + deltanext)
 			max1 = minnext + deltanext;
-		    if (deltanext == I32_MAX)
-			is_inf = is_inf_internal = 1;
 		    scan = next;
 		    if (data_fake.flags & (SF_HAS_PAR|SF_IN_PAR))
 			pars++;
@@ -2868,12 +3155,18 @@
 		    min1 = 0;
 		if (flags & SCF_DO_SUBSTR) {
 		    data->pos_min += min1;
-		    data->pos_delta += max1 - min1;
+		    if (data->pos_delta >= I32_MAX - (max1 - min1))
+		        data->pos_delta = I32_MAX;
+		    else
+		        data->pos_delta += max1 - min1;
 		    if (max1 != min1 || is_inf)
 			data->longest = &(data->longest_float);
 		}
 		min += min1;
-		delta += max1 - min1;
+		if (delta == I32_MAX || I32_MAX - delta - (max1 - min1) < 0)
+		    delta = I32_MAX;
+		else
+		    delta += max1 - min1;
 		if (flags & SCF_DO_STCLASS_OR) {
 		    cl_or(pRExC_state, data->start_class, &accum);
 		    if (min1) {
@@ -2896,7 +3189,7 @@
 			StructCopy(&accum, data->start_class,
 				   struct regnode_charclass_class);
 			flags |= SCF_DO_STCLASS_OR;
-			data->start_class->flags |= ANYOF_EOS;
+                        SET_SSC_EOS(data->start_class);
 		    }
 		}
 
@@ -2941,7 +3234,7 @@
 		  a nested if into a case structure of sorts.
 
 		*/
-		
+
 		    int made=0;
 		    if (!re_trie_maxbuff) {
 			re_trie_maxbuff = get_sv(RE_TRIE_MAXBUF_NAME, 1);
@@ -2953,7 +3246,7 @@
                         regnode *first = (regnode *)NULL;
                         regnode *last = (regnode *)NULL;
                         regnode *tail = scan;
-                        U8 optype = 0;
+                        U8 trietype = 0;
                         U32 count=0;
 
 #ifdef DEBUGGING
@@ -2973,7 +3266,7 @@
                         }
 
                         
-                        DEBUG_OPTIMISE_r({
+                        DEBUG_TRIE_COMPILE_r({
                             regprop(RExC_rx, mysv, tail );
                             PerlIO_printf( Perl_debug_log, "%*s%s%s\n",
                                 (int)depth * 2 + 2, "", 
@@ -2984,37 +3277,66 @@
                         
                         /*
 
-                           step through the branches, cur represents each
-                           branch, noper is the first thing to be matched
-                           as part of that branch and noper_next is the
-                           regnext() of that node. if noper is an EXACT
-                           and noper_next is the same as scan (our current
-                           position in the regex) then the EXACT branch is
-                           a possible optimization target. Once we have
-                           two or more consecutive such branches we can
-                           create a trie of the EXACT's contents and stich
-                           it in place. If the sequence represents all of
-                           the branches we eliminate the whole thing and
-                           replace it with a single TRIE. If it is a
-                           subsequence then we need to stitch it in. This
-                           means the first branch has to remain, and needs
-                           to be repointed at the item on the branch chain
-                           following the last branch optimized. This could
-                           be either a BRANCH, in which case the
-                           subsequence is internal, or it could be the
-                           item following the branch sequence in which
-                           case the subsequence is at the end.
+                            Step through the branches
+                                cur represents each branch,
+                                noper is the first thing to be matched as part of that branch
+                                noper_next is the regnext() of that node.
 
+                            We normally handle a case like this /FOO[xyz]|BAR[pqr]/
+                            via a "jump trie" but we also support building with NOJUMPTRIE,
+                            which restricts the trie logic to structures like /FOO|BAR/.
+
+                            If noper is a trieable nodetype then the branch is a possible optimization
+                            target. If we are building under NOJUMPTRIE then we require that noper_next
+                            is the same as scan (our current position in the regex program).
+
+                            Once we have two or more consecutive such branches we can create a
+                            trie of the EXACT's contents and stitch it in place into the program.
+
+                            If the sequence represents all of the branches in the alternation we
+                            replace the entire thing with a single TRIE node.
+
+                            Otherwise when it is a subsequence we need to stitch it in place and
+                            replace only the relevant branches. This means the first branch has
+                            to remain as it is used by the alternation logic, and its next pointer,
+                            and needs to be repointed at the item on the branch chain following
+                            the last branch we have optimized away.
+
+                            This could be either a BRANCH, in which case the subsequence is internal,
+                            or it could be the item following the branch sequence in which case the
+                            subsequence is at the end (which does not necessarily mean the first node
+                            is the start of the alternation).
+
+                            TRIE_TYPE(X) is a define which maps the optype to a trietype.
+
+                                optype          |  trietype
+                                ----------------+-----------
+                                NOTHING         | NOTHING
+                                EXACT           | EXACT
+                                EXACTFU         | EXACTFU
+                                EXACTFU_SS      | EXACTFU
+                                EXACTFU_TRICKYFOLD | EXACTFU
+                                EXACTFA         | 0
+
+
                         */
+#define TRIE_TYPE(X) ( ( NOTHING == (X) ) ? NOTHING :   \
+                       ( EXACT == (X) )   ? EXACT :        \
+                       ( EXACTFU == (X) || EXACTFU_SS == (X) || EXACTFU_TRICKYFOLD == (X) ) ? EXACTFU :        \
+                       0 )
 
                         /* dont use tail as the end marker for this traverse */
                         for ( cur = startbranch ; cur != scan ; cur = regnext( cur ) ) {
                             regnode * const noper = NEXTOPER( cur );
+                            U8 noper_type = OP( noper );
+                            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;
 #endif
 
-                            DEBUG_OPTIMISE_r({
+                            DEBUG_TRIE_COMPILE_r({
                                 regprop(RExC_rx, mysv, cur);
                                 PerlIO_printf( Perl_debug_log, "%*s- %s (%d)",
                                    (int)depth * 2 + 2,"", SvPV_nolen_const( mysv ), REG_NODE_NUM(cur) );
@@ -3028,60 +3350,92 @@
                                   PerlIO_printf( Perl_debug_log,"\t=> %s\t",
                                     SvPV_nolen_const(mysv));
                                 }
-                                PerlIO_printf( Perl_debug_log, "(First==%d,Last==%d,Cur==%d)\n",
-                                   REG_NODE_NUM(first), REG_NODE_NUM(last), REG_NODE_NUM(cur) );
+                                PerlIO_printf( Perl_debug_log, "(First==%d,Last==%d,Cur==%d,tt==%s,nt==%s,nnt==%s)\n",
+                                   REG_NODE_NUM(first), REG_NODE_NUM(last), REG_NODE_NUM(cur),
+				   PL_reg_name[trietype], PL_reg_name[noper_trietype], PL_reg_name[noper_next_trietype] 
+				);
                             });
-                            if ( (((first && optype!=NOTHING) ? OP( noper ) == optype
-                                         : PL_regkind[ OP( noper ) ] == EXACT )
-                                  || OP(noper) == NOTHING )
+
+                            /* Is noper a trieable nodetype that can be merged with the
+                             * current trie (if there is one)? */
+                            if ( noper_trietype
+                                  &&
+                                  (
+                                        ( noper_trietype == NOTHING)
+                                        || ( trietype == NOTHING )
+                                        || ( trietype == noper_trietype )
+                                  )
 #ifdef NOJUMPTRIE
                                   && noper_next == tail
 #endif
                                   && count < U16_MAX)
                             {
-                                count++;
-                                if ( !first || optype == NOTHING ) {
-                                    if (!first) first = cur;
-                                    optype = OP( noper );
+                                /* Handle mergable triable node
+                                 * Either we are the first node in a new trieable sequence,
+                                 * in which case we do some bookkeeping, otherwise we update
+                                 * the end pointer. */
+                                if ( !first ) {
+                                    first = cur;
+				    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_trietype = noper_next_type ? TRIE_TYPE( noper_next_type ) :0;
+#endif
+
+                                        if ( noper_next_trietype ) {
+					    trietype = noper_next_trietype;
+                                        } else if (noper_next_type)  {
+                                            /* a NOTHING regop is 1 regop wide. We need at least two
+                                             * for a trie so we can't merge this in */
+                                            first = NULL;
+                                        }
+                                    } else {
+                                        trietype = noper_trietype;
+                                    }
                                 } else {
+                                    if ( trietype == NOTHING )
+                                        trietype = noper_trietype;
                                     last = cur;
                                 }
-                            } else {
-/* 
-    Currently the trie logic handles case insensitive matching properly only
-    when the pattern is UTF-8 and the node is EXACTFU (thus forcing unicode
-    semantics).
-
-    If/when this is fixed the following define can be swapped
-    in below to fully enable trie logic.
-
-#define TRIE_TYPE_IS_SAFE 1
-
-*/
-#define TRIE_TYPE_IS_SAFE ((UTF && optype == EXACTFU) || optype==EXACT)
-
-                                if ( last && TRIE_TYPE_IS_SAFE ) {
-                                    make_trie( pRExC_state, 
-                                            startbranch, first, cur, tail, count, 
-                                            optype, depth+1 );
+				if (first)
+				    count++;
+                            } /* end handle mergable triable node */
+                            else {
+                                /* handle unmergable node -
+                                 * noper may either be a triable node which can not be tried
+                                 * together with the current trie, or a non triable node */
+                                if ( last ) {
+                                    /* If last is set and trietype is not NOTHING then we have found
+                                     * at least two triable branch sequences in a row of a similar
+                                     * trietype so we can turn them into a trie. If/when we
+                                     * allow NOTHING to start a trie sequence this condition will be
+                                     * required, and it isn't expensive so we leave it in for now. */
+                                    if ( trietype && trietype != NOTHING )
+                                        make_trie( pRExC_state,
+                                                startbranch, first, cur, tail, count,
+                                                trietype, depth+1 );
+                                    last = NULL; /* note: we clear/update first, trietype etc below, so we dont do it here */
                                 }
-                                if ( PL_regkind[ OP( noper ) ] == EXACT
+                                if ( noper_trietype
 #ifdef NOJUMPTRIE
                                      && noper_next == tail
 #endif
                                 ){
+                                    /* noper is triable, so we can start a new trie sequence */
                                     count = 1;
                                     first = cur;
-                                    optype = OP( noper );
-                                } else {
+                                    trietype = noper_trietype;
+                                } else if (first) {
+                                    /* if we already saw a first but the current node is not triable then we have
+                                     * to reset the first information. */
                                     count = 0;
                                     first = NULL;
-                                    optype = 0;
+                                    trietype = 0;
                                 }
-                                last = NULL;
-                            }
-                        }
-                        DEBUG_OPTIMISE_r({
+                            } /* end handle unmergable node */
+                        } /* loop over branches */
+                        DEBUG_TRIE_COMPILE_r({
                             regprop(RExC_rx, mysv, cur);
                             PerlIO_printf( Perl_debug_log,
                               "%*s- %s (%d) <SCAN FINISHED>\n", (int)depth * 2 + 2,
@@ -3088,24 +3442,48 @@
                               "", SvPV_nolen_const( mysv ),REG_NODE_NUM(cur));
 
                         });
-                        
-                        if ( last && TRIE_TYPE_IS_SAFE ) {
-                            made= make_trie( pRExC_state, startbranch, first, scan, tail, count, optype, depth+1 );
-#ifdef TRIE_STUDY_OPT	
-                            if ( ((made == MADE_EXACT_TRIE && 
-                                 startbranch == first) 
-                                 || ( first_non_open == first )) && 
-                                 depth==0 ) {
-                                flags |= SCF_TRIE_RESTUDY;
-                                if ( startbranch == first 
-                                     && scan == tail ) 
-                                {
-                                    RExC_seen &=~REG_TOP_LEVEL_BRANCHES;
+                        if ( last && trietype ) {
+                            if ( trietype != NOTHING ) {
+                                /* the last branch of the sequence was part of a trie,
+                                 * so we have to construct it here outside of the loop
+                                 */
+                                made= make_trie( pRExC_state, startbranch, first, scan, tail, count, trietype, depth+1 );
+#ifdef TRIE_STUDY_OPT
+                                if ( ((made == MADE_EXACT_TRIE &&
+                                     startbranch == first)
+                                     || ( first_non_open == first )) &&
+                                     depth==0 ) {
+                                    flags |= SCF_TRIE_RESTUDY;
+                                    if ( startbranch == first
+                                         && scan == tail )
+                                    {
+                                        RExC_seen &=~REG_TOP_LEVEL_BRANCHES;
+                                    }
                                 }
+#endif
+                            } else {
+                                /* at this point we know whatever we have is a NOTHING sequence/branch
+                                 * AND if 'startbranch' is 'first' then we can turn the whole thing into a NOTHING
+                                 */
+                                if ( startbranch == first ) {
+                                    regnode *opt;
+                                    /* the entire thing is a NOTHING sequence, something like this:
+                                     * (?:|) So we can turn it into a plain NOTHING op. */
+                                    DEBUG_TRIE_COMPILE_r({
+                                        regprop(RExC_rx, mysv, cur);
+                                        PerlIO_printf( Perl_debug_log,
+                                          "%*s- %s (%d) <NOTHING BRANCH SEQUENCE>\n", (int)depth * 2 + 2,
+                                          "", SvPV_nolen_const( mysv ),REG_NODE_NUM(cur));
+
+                                    });
+                                    OP(startbranch)= NOTHING;
+                                    NEXT_OFF(startbranch)= tail - startbranch;
+                                    for ( opt= startbranch + 1; opt < tail ; opt++ )
+                                        OP(opt)= OPTIMIZED;
+                                }
                             }
-#endif
-                        }
-                    }
+                        } /* end if ( last) */
+                    } /* TRIE_MAXBUF is non zero */
                     
                 } /* do trie */
                 
@@ -3178,8 +3556,8 @@
 	    UV uc;
 	    if (UTF) {
 		const U8 * const s = (U8*)STRING(scan);
+		uc = utf8_to_uvchr_buf(s, s + l, NULL);
 		l = utf8_length(s, s + l);
-		uc = utf8_to_uvchr(s, NULL);
 	    } else {
 		uc = *((U8*)STRING(scan));
 	    }
@@ -3219,9 +3597,9 @@
 		 * utf8 string, so accept a possible false positive for
 		 * latin1-range folds */
 		if (uc >= 0x100 ||
-		    (!(data->start_class->flags & (ANYOF_CLASS | ANYOF_LOCALE))
+		    (!(data->start_class->flags & ANYOF_LOCALE)
 		    && !ANYOF_BITMAP_TEST(data->start_class, uc)
-		    && (!(data->start_class->flags & ANYOF_LOC_NONBITMAP_FOLD)
+		    && (!(data->start_class->flags & ANYOF_LOC_FOLD)
 			|| !ANYOF_BITMAP_TEST(data->start_class, PL_fold_latin1[uc])))
                     )
 		{
@@ -3242,12 +3620,12 @@
 		     * elsewhere that does compute the fold settles down, it
 		     * can be extracted out and re-used here */
 		    for (i = 0; i < 256; i++){
-			if (_HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(i)) {
+			if (HAS_NONLATIN1_FOLD_CLOSURE(i)) {
 			    ANYOF_BITMAP_SET(data->start_class, i);
 			}
 		    }
 		}
-		data->start_class->flags &= ~ANYOF_EOS;
+                CLEAR_SSC_EOS(data->start_class);
 		if (uc < 0x100)
 		  data->start_class->flags &= ~ANYOF_UNICODE_ALL;
 	    }
@@ -3257,7 +3635,7 @@
 		    ANYOF_BITMAP_SET(data->start_class, uc);
 		else
 		    data->start_class->flags |= ANYOF_UNICODE_ALL;
-		data->start_class->flags &= ~ANYOF_EOS;
+                CLEAR_SSC_EOS(data->start_class);
 		cl_and(data->start_class, and_withp);
 	    }
 	    flags &= ~SCF_DO_STCLASS;
@@ -3273,17 +3651,30 @@
 	    }
 	    if (UTF) {
 		const U8 * const s = (U8 *)STRING(scan);
+		uc = utf8_to_uvchr_buf(s, s + l, NULL);
 		l = utf8_length(s, s + l);
-		uc = utf8_to_uvchr(s, NULL);
 	    }
-	    min += l;
-	    if (flags & SCF_DO_SUBSTR)
-		data->pos_min += l;
+	    if (has_exactf_sharp_s) {
+		RExC_seen |= REG_SEEN_EXACTF_SHARP_S;
+	    }
+	    min += l - min_subtract;
+            assert (min >= 0);
+            delta += min_subtract;
+	    if (flags & SCF_DO_SUBSTR) {
+		data->pos_min += l - min_subtract;
+		if (data->pos_min < 0) {
+                    data->pos_min = 0;
+                }
+                data->pos_delta += min_subtract;
+		if (min_subtract) {
+		    data->longest = &(data->longest_float);
+		}
+	    }
 	    if (flags & SCF_DO_STCLASS_AND) {
 		/* Check whether it is compatible with what we know already! */
 		int compat = 1;
 		if (uc >= 0x100 ||
-		 (!(data->start_class->flags & (ANYOF_CLASS | ANYOF_LOCALE))
+		 (!(data->start_class->flags & ANYOF_LOCALE)
 		  && !ANYOF_BITMAP_TEST(data->start_class, uc)
 		  && !ANYOF_BITMAP_TEST(data->start_class, PL_fold_latin1[uc])))
 		{
@@ -3293,13 +3684,12 @@
 		ANYOF_BITMAP_ZERO(data->start_class);
 		if (compat) {
 		    ANYOF_BITMAP_SET(data->start_class, uc);
-		    data->start_class->flags &= ~ANYOF_EOS;
-		    data->start_class->flags |= ANYOF_LOC_NONBITMAP_FOLD;
+                    CLEAR_SSC_EOS(data->start_class);
 		    if (OP(scan) == EXACTFL) {
 			/* XXX This set is probably no longer necessary, and
 			 * probably wrong as LOCALE now is on in the initial
 			 * state */
-			data->start_class->flags |= ANYOF_LOCALE;
+			data->start_class->flags |= ANYOF_LOCALE|ANYOF_LOC_FOLD;
 		    }
 		    else {
 
@@ -3306,8 +3696,22 @@
 			/* Also set the other member of the fold pair.  In case
 			 * that unicode semantics is called for at runtime, use
 			 * the full latin1 fold.  (Can't do this for locale,
-			 * because not known until runtime */
+			 * because not known until runtime) */
 			ANYOF_BITMAP_SET(data->start_class, PL_fold_latin1[uc]);
+
+                        /* All other (EXACTFL handled above) folds except under
+                         * /iaa that include s, S, and sharp_s also may include
+                         * the others */
+			if (OP(scan) != EXACTFA) {
+			    if (uc == 's' || uc == 'S') {
+				ANYOF_BITMAP_SET(data->start_class,
+					         LATIN_SMALL_LETTER_SHARP_S);
+			    }
+			    else if (uc == LATIN_SMALL_LETTER_SHARP_S) {
+				ANYOF_BITMAP_SET(data->start_class, 's');
+				ANYOF_BITMAP_SET(data->start_class, 'S');
+			    }
+			}
 		    }
 		}
 		else if (uc >= 0x100) {
@@ -3320,7 +3724,7 @@
 		}
 	    }
 	    else if (flags & SCF_DO_STCLASS_OR) {
-		if (data->start_class->flags & ANYOF_LOC_NONBITMAP_FOLD) {
+		if (data->start_class->flags & ANYOF_LOC_FOLD) {
 		    /* false positive possible if the class is case-folded.
 		       Assume that the locale settings are the same... */
 		    if (uc < 0x100) {
@@ -3332,9 +3736,22 @@
                              * run-time */
                             ANYOF_BITMAP_SET(data->start_class,
 					     PL_fold_latin1[uc]);
+
+			    /* All folds except under /iaa that include s, S,
+			     * and sharp_s also may include the others */
+			    if (OP(scan) != EXACTFA) {
+				if (uc == 's' || uc == 'S') {
+				    ANYOF_BITMAP_SET(data->start_class,
+					           LATIN_SMALL_LETTER_SHARP_S);
+				}
+				else if (uc == LATIN_SMALL_LETTER_SHARP_S) {
+				    ANYOF_BITMAP_SET(data->start_class, 's');
+				    ANYOF_BITMAP_SET(data->start_class, 'S');
+				}
+			    }
                         }
 		    }
-		    data->start_class->flags &= ~ANYOF_EOS;
+                    CLEAR_SSC_EOS(data->start_class);
 		}
 		cl_and(data->start_class, and_withp);
 	    }
@@ -3451,7 +3868,7 @@
 			StructCopy(&this_class, data->start_class,
 				   struct regnode_charclass_class);
 			flags |= SCF_DO_STCLASS_OR;
-			data->start_class->flags |= ANYOF_EOS;
+                        SET_SSC_EOS(data->start_class);
 		    }
 		} else {		/* Non-zero len */
 		    if (flags & SCF_DO_STCLASS_OR) {
@@ -3470,16 +3887,21 @@
 		    && data && !(data->flags & (SF_HAS_PAR|SF_IN_PAR))
 		    && maxcount <= REG_INFTY/3) /* Complement check for big count */
 		{
+		    /* Fatal warnings may leak the regexp without this: */
+		    SAVEFREESV(RExC_rx_sv);
 		    ckWARNreg(RExC_parse,
 			      "Quantifier unexpected on zero-length expression");
+		    (void)ReREFCNT_inc(RExC_rx_sv);
 		}
 
 		min += minnext * mincount;
-		is_inf_internal |= ((maxcount == REG_INFTY
-				     && (minnext + deltanext) > 0)
-				    || deltanext == I32_MAX);
+		is_inf_internal |= deltanext == I32_MAX
+				     || (maxcount == REG_INFTY && minnext + deltanext > 0);
 		is_inf |= is_inf_internal;
-		delta += (minnext + deltanext) * maxcount - minnext * mincount;
+		if (is_inf)
+		    delta = I32_MAX;
+		else
+		    delta += (minnext + deltanext) * maxcount - minnext * mincount;
 
 		/* Try powerful optimization CURLYX => CURLYN. */
 		if (  OP(oscan) == CURLYX && data
@@ -3531,6 +3953,7 @@
 		      && !(data->flags & SF_HAS_EVAL)
 		      && !deltanext	/* atom is fixed width */
 		      && minnext != 0	/* CURLYM can't handle zero width */
+                      && ! (RExC_seen & REG_SEEN_EXACTF_SHARP_S) /* Nor \xDF */
 		) {
 		    /* XXXX How to optimize if data == 0? */
 		    /* Optimize to a simpler form.  */
@@ -3663,7 +4086,16 @@
 		    }
 		    /* It is counted once already... */
 		    data->pos_min += minnext * (mincount - counted);
-		    data->pos_delta += - counted * deltanext +
+#if 0
+PerlIO_printf(Perl_debug_log, "counted=%d deltanext=%d I32_MAX=%d minnext=%d maxcount=%d mincount=%d\n",
+    counted, deltanext, I32_MAX, minnext, maxcount, mincount);
+if (deltanext != I32_MAX)
+PerlIO_printf(Perl_debug_log, "LHS=%d RHS=%d\n", -counted * deltanext + (minnext + deltanext) * maxcount - minnext * mincount, I32_MAX - data->pos_delta);
+#endif
+		    if (deltanext == I32_MAX || -counted * deltanext + (minnext + deltanext) * maxcount - minnext * mincount >= I32_MAX - data->pos_delta)
+		        data->pos_delta = I32_MAX;
+		    else
+		        data->pos_delta += - counted * deltanext +
 			(minnext + deltanext) * maxcount - minnext * mincount;
 		    if (mincount != maxcount) {
 			 /* Cannot extend fixed substrings found inside
@@ -3698,7 +4130,7 @@
 			NEXT_OFF(oscan) += NEXT_OFF(next);
 		}
 		continue;
-	    default:			/* REF, ANYOFV, and CLUMP only? */
+	    default:			/* REF, and CLUMP only? */
 		if (flags & SCF_DO_SUBSTR) {
 		    SCAN_COMMIT(pRExC_state,data,minlenp);	/* Cannot expect anything... */
 		    data->longest = &(data->longest_float);
@@ -3713,7 +4145,7 @@
 	else if (OP(scan) == LNBREAK) {
 	    if (flags & SCF_DO_STCLASS) {
 		int value = 0;
-		data->start_class->flags &= ~ANYOF_EOS;	/* No match on empty */
+                CLEAR_SSC_EOS(data->start_class); /* No match on empty */
     	        if (flags & SCF_DO_STCLASS_AND) {
                     for (value = 0; value < 256; value++)
                         if (!is_VERTWS_cp(value))
@@ -3728,8 +4160,8 @@
 		    cl_and(data->start_class, and_withp);
 		flags &= ~SCF_DO_STCLASS;
             }
-	    min += 1;
-	    delta += 1;
+	    min++;
+	    delta++;    /* Because of the 2 char string cr-lf */
             if (flags & SCF_DO_SUBSTR) {
     	        SCAN_COMMIT(pRExC_state,data,minlenp);	/* Cannot expect anything... */
     	        data->pos_min += 1;
@@ -3737,18 +4169,6 @@
 		data->longest = &(data->longest_float);
     	    }
 	}
-	else if (OP(scan) == FOLDCHAR) {
-	    int d = ARG(scan) == LATIN_SMALL_LETTER_SHARP_S ? 1 : 2;
-	    flags &= ~SCF_DO_STCLASS;
-            min += 1;
-            delta += d;
-            if (flags & SCF_DO_SUBSTR) {
-	        SCAN_COMMIT(pRExC_state,data,minlenp);	/* Cannot expect anything... */
-	        data->pos_min += 1;
-	        data->pos_delta += d;
-		data->longest = &(data->longest_float);
-	    }
-	}
 	else if (REGNODE_SIMPLE(OP(scan))) {
 	    int value = 0;
 
@@ -3758,15 +4178,20 @@
 	    }
 	    min++;
 	    if (flags & SCF_DO_STCLASS) {
-		data->start_class->flags &= ~ANYOF_EOS;	/* No match on empty */
+                int loop_max = 256;
+                CLEAR_SSC_EOS(data->start_class); /* No match on empty */
 
 		/* Some of the logic below assumes that switching
 		   locale on will only add false positives. */
 		switch (PL_regkind[OP(scan)]) {
+                    U8 classnum;
+
 		case SANY:
 		default:
-		  do_default:
-		    /* Perl_croak(aTHX_ "panic: unexpected simple REx opcode %d", OP(scan)); */
+#ifdef DEBUGGING
+                   Perl_croak(aTHX_ "panic: unexpected simple REx opcode %d", OP(scan));
+#endif
+                 do_default:
 		    if (flags & SCF_DO_STCLASS_OR) /* Allow everything */
 			cl_anything(pRExC_state, data->start_class);
 		    break;
@@ -3775,7 +4200,7 @@
 			goto do_default;
 		    if (flags & SCF_DO_STCLASS_OR) { /* Everything but \n */
 			value = (ANYOF_BITMAP_TEST(data->start_class,'\n')
-				 || ANYOF_CLASS_TEST_ANY_SET(data->start_class));
+				|| ANYOF_CLASS_TEST_ANY_SET(data->start_class));
 			cl_anything(pRExC_state, data->start_class);
 		    }
 		    if (flags & SCF_DO_STCLASS_AND || !value)
@@ -3789,200 +4214,77 @@
 			cl_or(pRExC_state, data->start_class,
 			      (struct regnode_charclass_class*)scan);
 		    break;
-		case ALNUM:
+		case POSIXA:
+                    loop_max = 128;
+                    /* FALL THROUGH */
+		case POSIXL:
+		case POSIXD:
+		case POSIXU:
+                    classnum = FLAGS(scan);
 		    if (flags & SCF_DO_STCLASS_AND) {
 			if (!(data->start_class->flags & ANYOF_LOCALE)) {
-			    ANYOF_CLASS_CLEAR(data->start_class,ANYOF_NALNUM);
-                            if (OP(scan) == ALNUMU) {
-                                for (value = 0; value < 256; value++) {
-                                    if (!isWORDCHAR_L1(value)) {
-                                        ANYOF_BITMAP_CLEAR(data->start_class, value);
-                                    }
+			    ANYOF_CLASS_CLEAR(data->start_class, classnum_to_namedclass(classnum) + 1);
+                            for (value = 0; value < loop_max; value++) {
+                                if (! _generic_isCC(UNI_TO_NATIVE(value), classnum)) {
+                                    ANYOF_BITMAP_CLEAR(data->start_class, UNI_TO_NATIVE(value));
                                 }
-                            } else {
-                                for (value = 0; value < 256; value++) {
-                                    if (!isALNUM(value)) {
-                                        ANYOF_BITMAP_CLEAR(data->start_class, value);
-                                    }
-                                }
                             }
 			}
 		    }
 		    else {
-			if (data->start_class->flags & ANYOF_LOCALE)
-			    ANYOF_CLASS_SET(data->start_class,ANYOF_ALNUM);
+			if (data->start_class->flags & ANYOF_LOCALE) {
+			    ANYOF_CLASS_SET(data->start_class, classnum_to_namedclass(classnum));
+                        }
+                        else {
 
 			/* Even if under locale, set the bits for non-locale
 			 * in case it isn't a true locale-node.  This will
 			 * create false positives if it truly is locale */
-                        if (OP(scan) == ALNUMU) {
-                            for (value = 0; value < 256; value++) {
-                                if (isWORDCHAR_L1(value)) {
-                                    ANYOF_BITMAP_SET(data->start_class, value);
-                                }
+                        for (value = 0; value < loop_max; value++) {
+                            if (_generic_isCC(UNI_TO_NATIVE(value), classnum)) {
+                                ANYOF_BITMAP_SET(data->start_class, UNI_TO_NATIVE(value));
                             }
-                        } else {
-                            for (value = 0; value < 256; value++) {
-                                if (isALNUM(value)) {
-                                    ANYOF_BITMAP_SET(data->start_class, value);
-                                }
-                            }
                         }
+                        }
 		    }
 		    break;
-		case NALNUM:
+		case NPOSIXA:
+                    loop_max = 128;
+                    /* FALL THROUGH */
+		case NPOSIXL:
+		case NPOSIXU:
+		case NPOSIXD:
+                    classnum = FLAGS(scan);
 		    if (flags & SCF_DO_STCLASS_AND) {
 			if (!(data->start_class->flags & ANYOF_LOCALE)) {
-			    ANYOF_CLASS_CLEAR(data->start_class,ANYOF_ALNUM);
-                            if (OP(scan) == NALNUMU) {
-                                for (value = 0; value < 256; value++) {
-                                    if (isWORDCHAR_L1(value)) {
-                                        ANYOF_BITMAP_CLEAR(data->start_class, value);
-                                    }
+			    ANYOF_CLASS_CLEAR(data->start_class, classnum_to_namedclass(classnum));
+                            for (value = 0; value < loop_max; value++) {
+                                if (_generic_isCC(UNI_TO_NATIVE(value), classnum)) {
+                                    ANYOF_BITMAP_CLEAR(data->start_class, UNI_TO_NATIVE(value));
                                 }
-                            } else {
-                                for (value = 0; value < 256; value++) {
-                                    if (isALNUM(value)) {
-                                        ANYOF_BITMAP_CLEAR(data->start_class, value);
-                                    }
-                                }
-			    }
+                            }
 			}
 		    }
 		    else {
-			if (data->start_class->flags & ANYOF_LOCALE)
-			    ANYOF_CLASS_SET(data->start_class,ANYOF_NALNUM);
+			if (data->start_class->flags & ANYOF_LOCALE) {
+			    ANYOF_CLASS_SET(data->start_class, classnum_to_namedclass(classnum) + 1);
+                        }
+                        else {
 
 			/* Even if under locale, set the bits for non-locale in
 			 * case it isn't a true locale-node.  This will create
 			 * false positives if it truly is locale */
-			if (OP(scan) == NALNUMU) {
-			    for (value = 0; value < 256; value++) {
-				if (! isWORDCHAR_L1(value)) {
-				    ANYOF_BITMAP_SET(data->start_class, value);
-				}
-			    }
-			} else {
-			    for (value = 0; value < 256; value++) {
-				if (! isALNUM(value)) {
-				    ANYOF_BITMAP_SET(data->start_class, value);
-				}
-			    }
-			}
-		    }
-		    break;
-		case SPACE:
-		    if (flags & SCF_DO_STCLASS_AND) {
-			if (!(data->start_class->flags & ANYOF_LOCALE)) {
-			    ANYOF_CLASS_CLEAR(data->start_class,ANYOF_NSPACE);
-			    if (OP(scan) == SPACEU) {
-                                for (value = 0; value < 256; value++) {
-                                    if (!isSPACE_L1(value)) {
-                                        ANYOF_BITMAP_CLEAR(data->start_class, value);
-                                    }
-                                }
-                            } else {
-                                for (value = 0; value < 256; value++) {
-                                    if (!isSPACE(value)) {
-                                        ANYOF_BITMAP_CLEAR(data->start_class, value);
-                                    }
-                                }
+                        for (value = 0; value < loop_max; value++) {
+                            if (! _generic_isCC(UNI_TO_NATIVE(value), classnum)) {
+                                ANYOF_BITMAP_SET(data->start_class, UNI_TO_NATIVE(value));
                             }
-			}
-		    }
-		    else {
-                        if (data->start_class->flags & ANYOF_LOCALE) {
-			    ANYOF_CLASS_SET(data->start_class,ANYOF_SPACE);
                         }
-                        if (OP(scan) == SPACEU) {
-                            for (value = 0; value < 256; value++) {
-                                if (isSPACE_L1(value)) {
-                                    ANYOF_BITMAP_SET(data->start_class, value);
-                                }
-                            }
-                        } else {
-                            for (value = 0; value < 256; value++) {
-                                if (isSPACE(value)) {
-                                    ANYOF_BITMAP_SET(data->start_class, value);
-                                }
-                            }
-			}
-		    }
-		    break;
-		case NSPACE:
-		    if (flags & SCF_DO_STCLASS_AND) {
-			if (!(data->start_class->flags & ANYOF_LOCALE)) {
-			    ANYOF_CLASS_CLEAR(data->start_class,ANYOF_SPACE);
-                            if (OP(scan) == NSPACEU) {
-                                for (value = 0; value < 256; value++) {
-                                    if (isSPACE_L1(value)) {
-                                        ANYOF_BITMAP_CLEAR(data->start_class, value);
-                                    }
-                                }
-                            } else {
-                                for (value = 0; value < 256; value++) {
-                                    if (isSPACE(value)) {
-                                        ANYOF_BITMAP_CLEAR(data->start_class, value);
-                                    }
-                                }
-                            }
-			}
-		    }
-		    else {
-			if (data->start_class->flags & ANYOF_LOCALE)
-			    ANYOF_CLASS_SET(data->start_class,ANYOF_NSPACE);
-                        if (OP(scan) == NSPACEU) {
-                            for (value = 0; value < 256; value++) {
-                                if (!isSPACE_L1(value)) {
-                                    ANYOF_BITMAP_SET(data->start_class, value);
-                                }
-                            }
+                        if (PL_regkind[OP(scan)] == NPOSIXD) {
+                            data->start_class->flags |= ANYOF_NON_UTF8_LATIN1_ALL;
                         }
-                        else {
-                            for (value = 0; value < 256; value++) {
-                                if (!isSPACE(value)) {
-                                    ANYOF_BITMAP_SET(data->start_class, value);
-                                }
-                            }
                         }
 		    }
 		    break;
-		case DIGIT:
-		    if (flags & SCF_DO_STCLASS_AND) {
-			if (!(data->start_class->flags & ANYOF_LOCALE)) {
-                            ANYOF_CLASS_CLEAR(data->start_class,ANYOF_NDIGIT);
-			    for (value = 0; value < 256; value++)
-				if (!isDIGIT(value))
-				    ANYOF_BITMAP_CLEAR(data->start_class, value);
-			}
-		    }
-		    else {
-			if (data->start_class->flags & ANYOF_LOCALE)
-			    ANYOF_CLASS_SET(data->start_class,ANYOF_DIGIT);
-			for (value = 0; value < 256; value++)
-			    if (isDIGIT(value))
-				ANYOF_BITMAP_SET(data->start_class, value);
-		    }
-		    break;
-		case NDIGIT:
-		    if (flags & SCF_DO_STCLASS_AND) {
-			if (!(data->start_class->flags & ANYOF_LOCALE))
-                            ANYOF_CLASS_CLEAR(data->start_class,ANYOF_DIGIT);
-			for (value = 0; value < 256; value++)
-			    if (isDIGIT(value))
-				ANYOF_BITMAP_CLEAR(data->start_class, value);
-		    }
-		    else {
-			if (data->start_class->flags & ANYOF_LOCALE)
-			    ANYOF_CLASS_SET(data->start_class,ANYOF_NDIGIT);
-			for (value = 0; value < 256; value++)
-			    if (!isDIGIT(value))
-				ANYOF_BITMAP_SET(data->start_class, value);
-		    }
-		    break;
-		CASE_SYNST_FNC(VERTWS);
-		CASE_SYNST_FNC(HORIZWS);
-		
 		}
 		if (flags & SCF_DO_STCLASS_OR)
 		    cl_and(data->start_class, and_withp);
@@ -3993,11 +4295,39 @@
 	    data->flags |= (OP(scan) == MEOL
 			    ? SF_BEFORE_MEOL
 			    : SF_BEFORE_SEOL);
+	    SCAN_COMMIT(pRExC_state, data, minlenp);
+
 	}
 	else if (  PL_regkind[OP(scan)] == BRANCHJ
 		 /* Lookbehind, or need to calculate parens/evals/stclass: */
 		   && (scan->flags || data || (flags & SCF_DO_STCLASS))
 		   && (OP(scan) == IFMATCH || OP(scan) == UNLESSM)) {
+            if ( OP(scan) == UNLESSM &&
+                 scan->flags == 0 &&
+                 OP(NEXTOPER(NEXTOPER(scan))) == NOTHING &&
+                 OP(regnext(NEXTOPER(NEXTOPER(scan)))) == SUCCEED
+            ) {
+                regnode *opt;
+                regnode *upto= regnext(scan);
+                DEBUG_PARSE_r({
+                    SV * const mysv_val=sv_newmortal();
+                    DEBUG_STUDYDATA("OPFAIL",data,depth);
+
+                    /*DEBUG_PARSE_MSG("opfail");*/
+                    regprop(RExC_rx, mysv_val, upto);
+                    PerlIO_printf(Perl_debug_log, "~ replace with OPFAIL pointed at %s (%"IVdf") offset %"IVdf"\n",
+                                  SvPV_nolen_const(mysv_val),
+                                  (IV)REG_NODE_NUM(upto),
+                                  (IV)(upto - scan)
+                    );
+                });
+                OP(scan) = OPFAIL;
+                NEXT_OFF(scan) = upto - scan;
+                for (opt= scan + 1; opt < upto ; opt++)
+                    OP(opt) = OPTIMIZED;
+                scan= upto;
+                continue;
+            }
             if ( !PERL_ENABLE_POSITIVE_ASSERTION_STUDY 
                 || OP(scan) == UNLESSM )
             {
@@ -4057,11 +4387,11 @@
 			cl_init(pRExC_state, data->start_class);
 		    }  else {
 			/* AND before and after: combine and continue */
-			const int was = (data->start_class->flags & ANYOF_EOS);
+			const int was = TEST_SSC_EOS(data->start_class);
 
 			cl_and(data->start_class, &intrnl);
 			if (was)
-			    data->start_class->flags |= ANYOF_EOS;
+                            SET_SSC_EOS(data->start_class);
 		    }
                 }
 	    }
@@ -4129,11 +4459,11 @@
                 *minnextp += min;
 
                 if (f & SCF_DO_STCLASS_AND) {
-                    const int was = (data->start_class->flags & ANYOF_EOS);
+                    const int was = TEST_SSC_EOS(data.start_class);
 
                     cl_and(data->start_class, &intrnl);
                     if (was)
-                        data->start_class->flags |= ANYOF_EOS;
+                        SET_SSC_EOS(data->start_class);
                 }
                 if (data) {
                     if (data_fake.flags & (SF_HAS_PAR|SF_IN_PAR))
@@ -4145,7 +4475,7 @@
                         if (RExC_rx->minlen<*minnextp)
                             RExC_rx->minlen=*minnextp;
                         SCAN_COMMIT(pRExC_state, &data_fake, minnextp);
-                        SvREFCNT_dec(data_fake.last_found);
+                        SvREFCNT_dec_NN(data_fake.last_found);
                         
                         if ( data_fake.minlen_fixed != minlenp ) 
                         {
@@ -4162,8 +4492,6 @@
                         }
                     }
                 }
-
-
 	    }
 #endif
 	}
@@ -4285,10 +4613,11 @@
                     
                     if (min1 > (I32)(minnext + trie->minlen))
                         min1 = minnext + trie->minlen;
-                    if (max1 < (I32)(minnext + deltanext + trie->maxlen))
+                    if (deltanext == I32_MAX) {
+                        is_inf = is_inf_internal = 1;
+                        max1 = I32_MAX;
+                    } else if (max1 < (I32)(minnext + deltanext + trie->maxlen))
                         max1 = minnext + deltanext + trie->maxlen;
-                    if (deltanext == I32_MAX)
-                        is_inf = is_inf_internal = 1;
                     
                     if (data_fake.flags & (SF_HAS_PAR|SF_IN_PAR))
                         pars++;
@@ -4338,7 +4667,7 @@
                     StructCopy(&accum, data->start_class,
                                struct regnode_charclass_class);
                     flags |= SCF_DO_STCLASS_OR;
-                    data->start_class->flags |= ANYOF_EOS;
+                    SET_SSC_EOS(data->start_class);
                 }
             }
             scan= tail;
@@ -4363,7 +4692,7 @@
     	        flags &= ~SCF_DO_SUBSTR; 
 	}
 #endif /* old or new */
-#endif /* TRIE_STUDY_OPT */	
+#endif /* TRIE_STUDY_OPT */
 
 	/* Else: zero-length, ignore. */
 	scan = regnext(scan);
@@ -4454,81 +4783,708 @@
 
 
 #ifdef TRIE_STUDY_OPT
-#define CHECK_RESTUDY_GOTO                                  \
+#define CHECK_RESTUDY_GOTO_butfirst(dOsomething)            \
+    STMT_START {                                            \
         if (                                                \
               (data.flags & SCF_TRIE_RESTUDY)               \
               && ! restudied++                              \
-        )     goto reStudy
+        ) {                                                 \
+            dOsomething;                                    \
+            goto reStudy;                                   \
+        }                                                   \
+    } STMT_END
 #else
-#define CHECK_RESTUDY_GOTO
+#define CHECK_RESTUDY_GOTO_butfirst
 #endif        
 
 /*
- - pregcomp - compile a regular expression into internal code
+ * pregcomp - compile a regular expression into internal code
  *
- * We can't allocate space until we know how big the compiled form will be,
- * but we can't compile it (and thus know how big it is) until we've got a
- * place to put the code.  So we cheat:  we compile it twice, once with code
- * generation turned off and size counting turned on, and once "for real".
- * This also means that we don't allocate space until we are sure that the
- * thing really will compile successfully, and we never have to move the
- * code and thus invalidate pointers into it.  (Note that it has to be in
- * one piece because free() must be able to free it all.) [NB: not true in perl]
- *
- * Beware that the optimization-preparation code in here knows about some
- * of the structure of the compiled regexp.  [I'll say.]
+ * Decides which engine's compiler to call based on the hint currently in
+ * scope
  */
 
+#ifndef PERL_IN_XSUB_RE 
 
+/* return the currently in-scope regex engine (or the default if none)  */
 
-#ifndef PERL_IN_XSUB_RE
-#define RE_ENGINE_PTR &PL_core_reg_engine
-#else
-extern const struct regexp_engine my_reg_engine;
-#define RE_ENGINE_PTR &my_reg_engine
-#endif
+regexp_engine const *
+Perl_current_re_engine(pTHX)
+{
+    dVAR;
 
-#ifndef PERL_IN_XSUB_RE 
+    if (IN_PERL_COMPILETIME) {
+	HV * const table = GvHV(PL_hintgv);
+	SV **ptr;
+
+	if (!table)
+	    return &PL_core_reg_engine;
+	ptr = hv_fetchs(table, "regcomp", FALSE);
+	if ( !(ptr && SvIOK(*ptr) && SvIV(*ptr)))
+	    return &PL_core_reg_engine;
+	return INT2PTR(regexp_engine*,SvIV(*ptr));
+    }
+    else {
+	SV *ptr;
+	if (!PL_curcop->cop_hints_hash)
+	    return &PL_core_reg_engine;
+	ptr = cop_hints_fetch_pvs(PL_curcop, "regcomp", 0);
+	if ( !(ptr && SvIOK(ptr) && SvIV(ptr)))
+	    return &PL_core_reg_engine;
+	return INT2PTR(regexp_engine*,SvIV(ptr));
+    }
+}
+
+
 REGEXP *
 Perl_pregcomp(pTHX_ SV * const pattern, const U32 flags)
 {
     dVAR;
-    HV * const table = GvHV(PL_hintgv);
+    regexp_engine const *eng = current_re_engine();
+    GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_PREGCOMP;
 
-    /* Dispatch a request to compile a regexp to correct 
-       regexp engine. */
-    if (table) {
-        SV **ptr= hv_fetchs(table, "regcomp", FALSE);
-        GET_RE_DEBUG_FLAGS_DECL;
-        if (ptr && SvIOK(*ptr) && SvIV(*ptr)) {
-            const regexp_engine *eng=INT2PTR(regexp_engine*,SvIV(*ptr));
-            DEBUG_COMPILE_r({
-                PerlIO_printf(Perl_debug_log, "Using engine %"UVxf"\n",
-                    SvIV(*ptr));
-            });            
-            return CALLREGCOMP_ENG(eng, pattern, flags);
-        } 
-    }
-    return Perl_re_compile(aTHX_ pattern, flags);
+    /* Dispatch a request to compile a regexp to correct regexp engine. */
+    DEBUG_COMPILE_r({
+	PerlIO_printf(Perl_debug_log, "Using engine %"UVxf"\n",
+			PTR2UV(eng));
+    });
+    return CALLREGCOMP_ENG(eng, pattern, flags);
 }
 #endif
 
+/* public(ish) entry point for the perl core's own regex compiling code.
+ * It's actually a wrapper for Perl_re_op_compile that only takes an SV
+ * pattern rather than a list of OPs, and uses the internal engine rather
+ * than the current one */
+
 REGEXP *
-Perl_re_compile(pTHX_ SV * const pattern, U32 orig_pm_flags)
+Perl_re_compile(pTHX_ SV * const pattern, U32 rx_flags)
 {
+    SV *pat = pattern; /* defeat constness! */
+    PERL_ARGS_ASSERT_RE_COMPILE;
+    return Perl_re_op_compile(aTHX_ &pat, 1, NULL,
+#ifdef PERL_IN_XSUB_RE
+                                &my_reg_engine,
+#else
+                                &PL_core_reg_engine,
+#endif
+                                NULL, NULL, rx_flags, 0);
+}
+
+
+/* upgrade pattern pat_p of length plen_p to UTF8, and if there are code
+ * blocks, recalculate the indices. Update pat_p and plen_p in-place to
+ * point to the realloced string and length.
+ *
+ * This is essentially a copy of Perl_bytes_to_utf8() with the code index
+ * stuff added */
+
+static void
+S_pat_upgrade_to_utf8(pTHX_ RExC_state_t * const pRExC_state,
+		    char **pat_p, STRLEN *plen_p, int num_code_blocks)
+{
+    U8 *const src = (U8*)*pat_p;
+    U8 *dst;
+    int n=0;
+    STRLEN s = 0, d = 0;
+    bool do_end = 0;
+    GET_RE_DEBUG_FLAGS_DECL;
+
+    DEBUG_PARSE_r(PerlIO_printf(Perl_debug_log,
+        "UTF8 mismatch! Converting to utf8 for resizing and compile\n"));
+
+    Newx(dst, *plen_p * 2 + 1, U8);
+
+    while (s < *plen_p) {
+        const UV uv = NATIVE_TO_ASCII(src[s]);
+        if (UNI_IS_INVARIANT(uv))
+            dst[d]   = (U8)UTF_TO_NATIVE(uv);
+        else {
+            dst[d++] = (U8)UTF8_EIGHT_BIT_HI(uv);
+            dst[d]   = (U8)UTF8_EIGHT_BIT_LO(uv);
+        }
+        if (n < num_code_blocks) {
+            if (!do_end && pRExC_state->code_blocks[n].start == s) {
+                pRExC_state->code_blocks[n].start = d;
+                assert(dst[d] == '(');
+                do_end = 1;
+            }
+            else if (do_end && pRExC_state->code_blocks[n].end == s) {
+                pRExC_state->code_blocks[n].end = d;
+                assert(dst[d] == ')');
+                do_end = 0;
+                n++;
+            }
+        }
+        s++;
+        d++;
+    }
+    dst[d] = '\0';
+    *plen_p = d;
+    *pat_p = (char*) dst;
+    SAVEFREEPV(*pat_p);
+    RExC_orig_utf8 = RExC_utf8 = 1;
+}
+
+
+
+/* S_concat_pat(): concatenate a list of args to the pattern string pat,
+ * while recording any code block indices, and handling overloading,
+ * nested qr// objects etc.  If pat is null, it will allocate a new
+ * string, or just return the first arg, if there's only one.
+ *
+ * Returns the malloced/updated pat.
+ * patternp and pat_count is the array of SVs to be concatted;
+ * oplist is the optional list of ops that generated the SVs;
+ * recompile_p is a pointer to a boolean that will be set if
+ *   the regex will need to be recompiled.
+ * delim, if non-null is an SV that will be inserted between each element
+ */
+
+static SV*
+S_concat_pat(pTHX_ RExC_state_t * const pRExC_state,
+                SV *pat, SV ** const patternp, int pat_count,
+                OP *oplist, bool *recompile_p, SV *delim)
+{
+    SV **svp;
+    int n = 0;
+    bool use_delim = FALSE;
+    bool alloced = FALSE;
+
+    /* if we know we have at least two args, create an empty string,
+     * then concatenate args to that. For no args, return an empty string */
+    if (!pat && pat_count != 1) {
+        pat = newSVpvn("", 0);
+        SAVEFREESV(pat);
+        alloced = TRUE;
+    }
+
+    for (svp = patternp; svp < patternp + pat_count; svp++) {
+        SV *sv;
+        SV *rx  = NULL;
+        STRLEN orig_patlen = 0;
+        bool code = 0;
+        SV *msv = use_delim ? delim : *svp;
+
+        /* if we've got a delimiter, we go round the loop twice for each
+         * svp slot (except the last), using the delimiter the second
+         * time round */
+        if (use_delim) {
+            svp--;
+            use_delim = FALSE;
+        }
+        else if (delim)
+            use_delim = TRUE;
+
+        if (SvTYPE(msv) == SVt_PVAV) {
+            /* we've encountered an interpolated array within
+             * the pattern, e.g. /... at a..../. Expand the list of elements,
+             * then recursively append elements.
+             * The code in this block is based on S_pushav() */
+
+            AV *const av = (AV*)msv;
+            const I32 maxarg = AvFILL(av) + 1;
+            SV **array;
+
+            if (oplist) {
+                assert(oplist->op_type == OP_PADAV
+                    || oplist->op_type == OP_RV2AV); 
+                oplist = oplist->op_sibling;;
+            }
+
+            if (SvRMAGICAL(av)) {
+                U32 i;
+
+                Newx(array, maxarg, SV*);
+                SAVEFREEPV(array);
+                for (i=0; i < (U32)maxarg; i++) {
+                    SV ** const svp = av_fetch(av, i, FALSE);
+                    array[i] = svp ? *svp : &PL_sv_undef;
+                }
+            }
+            else
+                array = AvARRAY(av);
+
+            pat = S_concat_pat(aTHX_ pRExC_state, pat,
+                                array, maxarg, NULL, recompile_p,
+                                /* $" */
+                                GvSV((gv_fetchpvs("\"", GV_ADDMULTI, SVt_PV))));
+
+            continue;
+        }
+
+
+        /* we make the assumption here that each op in the list of
+         * op_siblings maps to one SV pushed onto the stack,
+         * except for code blocks, with have both an OP_NULL and
+         * and OP_CONST.
+         * This allows us to match up the list of SVs against the
+         * list of OPs to find the next code block.
+         *
+         * Note that       PUSHMARK PADSV PADSV ..
+         * is optimised to
+         *                 PADRANGE PADSV  PADSV  ..
+         * so the alignment still works. */
+
+        if (oplist) {
+            if (oplist->op_type == OP_NULL
+                && (oplist->op_flags & OPf_SPECIAL))
+            {
+                assert(n < pRExC_state->num_code_blocks);
+                pRExC_state->code_blocks[n].start = pat ? SvCUR(pat) : 0;
+                pRExC_state->code_blocks[n].block = oplist;
+                pRExC_state->code_blocks[n].src_regex = NULL;
+                n++;
+                code = 1;
+                oplist = oplist->op_sibling; /* skip CONST */
+                assert(oplist);
+            }
+            oplist = oplist->op_sibling;;
+        }
+
+	/* apply magic and QR overloading to arg */
+
+        SvGETMAGIC(msv);
+        if (SvROK(msv) && SvAMAGIC(msv)) {
+            SV *sv = AMG_CALLunary(msv, regexp_amg);
+            if (sv) {
+                if (SvROK(sv))
+                    sv = SvRV(sv);
+                if (SvTYPE(sv) != SVt_REGEXP)
+                    Perl_croak(aTHX_ "Overloaded qr did not return a REGEXP");
+                msv = sv;
+            }
+        }
+
+        /* try concatenation overload ... */
+        if (pat && (SvAMAGIC(pat) || SvAMAGIC(msv)) &&
+                (sv = amagic_call(pat, msv, concat_amg, AMGf_assign)))
+        {
+            sv_setsv(pat, sv);
+            /* overloading involved: all bets are off over literal
+             * code. Pretend we haven't seen it */
+            pRExC_state->num_code_blocks -= n;
+            n = 0;
+        }
+        else  {
+            /* ... or failing that, try "" overload */
+            while (SvAMAGIC(msv)
+                    && (sv = AMG_CALLunary(msv, string_amg))
+                    && sv != msv
+                    &&  !(   SvROK(msv)
+                          && SvROK(sv)
+                          && SvRV(msv) == SvRV(sv))
+            ) {
+                msv = sv;
+                SvGETMAGIC(msv);
+            }
+            if (SvROK(msv) && SvTYPE(SvRV(msv)) == SVt_REGEXP)
+                msv = SvRV(msv);
+
+            if (pat) {
+                /* this is a partially unrolled
+                 *     sv_catsv_nomg(pat, msv);
+                 * that allows us to adjust code block indices if
+                 * needed */
+                STRLEN dlen;
+                char *dst = SvPV_force_nomg(pat, dlen);
+                orig_patlen = dlen;
+                if (SvUTF8(msv) && !SvUTF8(pat)) {
+                    S_pat_upgrade_to_utf8(aTHX_ pRExC_state, &dst, &dlen, n);
+                    sv_setpvn(pat, dst, dlen);
+                    SvUTF8_on(pat);
+                }
+                sv_catsv_nomg(pat, msv);
+                rx = msv;
+            }
+            else
+                pat = msv;
+
+            if (code)
+                pRExC_state->code_blocks[n-1].end = SvCUR(pat)-1;
+        }
+
+        /* extract any code blocks within any embedded qr//'s */
+        if (rx && SvTYPE(rx) == SVt_REGEXP
+            && RX_ENGINE((REGEXP*)rx)->op_comp)
+        {
+
+            RXi_GET_DECL(ReANY((REGEXP *)rx), ri);
+            if (ri->num_code_blocks) {
+                int i;
+                /* the presence of an embedded qr// with code means
+                 * we should always recompile: the text of the
+                 * qr// may not have changed, but it may be a
+                 * different closure than last time */
+                *recompile_p = 1;
+                Renew(pRExC_state->code_blocks,
+                    pRExC_state->num_code_blocks + ri->num_code_blocks,
+                    struct reg_code_block);
+                pRExC_state->num_code_blocks += ri->num_code_blocks;
+
+                for (i=0; i < ri->num_code_blocks; i++) {
+                    struct reg_code_block *src, *dst;
+                    STRLEN offset =  orig_patlen
+                        + ReANY((REGEXP *)rx)->pre_prefix;
+                    assert(n < pRExC_state->num_code_blocks);
+                    src = &ri->code_blocks[i];
+                    dst = &pRExC_state->code_blocks[n];
+                    dst->start	    = src->start + offset;
+                    dst->end	    = src->end   + offset;
+                    dst->block	    = src->block;
+                    dst->src_regex  = (REGEXP*) SvREFCNT_inc( (SV*)
+                                            src->src_regex
+                                                ? src->src_regex
+                                                : (REGEXP*)rx);
+                    n++;
+                }
+            }
+        }
+    }
+    /* avoid calling magic multiple times on a single element e.g. =~ $qr */
+    if (alloced)
+        SvSETMAGIC(pat);
+
+    return pat;
+}
+
+
+
+/* see if there are any run-time code blocks in the pattern.
+ * False positives are allowed */
+
+static bool
+S_has_runtime_code(pTHX_ RExC_state_t * const pRExC_state,
+		    char *pat, STRLEN plen)
+{
+    int n = 0;
+    STRLEN s;
+
+    for (s = 0; s < plen; s++) {
+	if (n < pRExC_state->num_code_blocks
+	    && s == pRExC_state->code_blocks[n].start)
+	{
+	    s = pRExC_state->code_blocks[n].end;
+	    n++;
+	    continue;
+	}
+	/* TODO ideally should handle [..], (#..), /#.../x to reduce false
+	 * positives here */
+	if (pat[s] == '(' && s+2 <= plen && pat[s+1] == '?' &&
+	    (pat[s+2] == '{'
+                || (s + 2 <= plen && pat[s+2] == '?' && pat[s+3] == '{'))
+	)
+	    return 1;
+    }
+    return 0;
+}
+
+/* Handle run-time code blocks. We will already have compiled any direct
+ * or indirect literal code blocks. Now, take the pattern 'pat' and make a
+ * copy of it, but with any literal code blocks blanked out and
+ * appropriate chars escaped; then feed it into
+ *
+ *    eval "qr'modified_pattern'"
+ *
+ * For example,
+ *
+ *       a\bc(?{"this was literal"})def'ghi\\jkl(?{"this is runtime"})mno
+ *
+ * becomes
+ *
+ *    qr'a\\bc_______________________def\'ghi\\\\jkl(?{"this is runtime"})mno'
+ *
+ * After eval_sv()-ing that, grab any new code blocks from the returned qr
+ * and merge them with any code blocks of the original regexp.
+ *
+ * If the pat is non-UTF8, while the evalled qr is UTF8, don't merge;
+ * instead, just save the qr and return FALSE; this tells our caller that
+ * the original pattern needs upgrading to utf8.
+ */
+
+static bool
+S_compile_runtime_code(pTHX_ RExC_state_t * const pRExC_state,
+    char *pat, STRLEN plen)
+{
+    SV *qr;
+
+    GET_RE_DEBUG_FLAGS_DECL;
+
+    if (pRExC_state->runtime_code_qr) {
+	/* this is the second time we've been called; this should
+	 * only happen if the main pattern got upgraded to utf8
+	 * during compilation; re-use the qr we compiled first time
+	 * round (which should be utf8 too)
+	 */
+	qr = pRExC_state->runtime_code_qr;
+	pRExC_state->runtime_code_qr = NULL;
+	assert(RExC_utf8 && SvUTF8(qr));
+    }
+    else {
+	int n = 0;
+	STRLEN s;
+	char *p, *newpat;
+	int newlen = plen + 6; /* allow for "qr''x\0" extra chars */
+	SV *sv, *qr_ref;
+	dSP;
+
+	/* determine how many extra chars we need for ' and \ escaping */
+	for (s = 0; s < plen; s++) {
+	    if (pat[s] == '\'' || pat[s] == '\\')
+		newlen++;
+	}
+
+	Newx(newpat, newlen, char);
+	p = newpat;
+	*p++ = 'q'; *p++ = 'r'; *p++ = '\'';
+
+	for (s = 0; s < plen; s++) {
+	    if (n < pRExC_state->num_code_blocks
+		&& s == pRExC_state->code_blocks[n].start)
+	    {
+		/* blank out literal code block */
+		assert(pat[s] == '(');
+		while (s <= pRExC_state->code_blocks[n].end) {
+		    *p++ = '_';
+		    s++;
+		}
+		s--;
+		n++;
+		continue;
+	    }
+	    if (pat[s] == '\'' || pat[s] == '\\')
+		*p++ = '\\';
+	    *p++ = pat[s];
+	}
+	*p++ = '\'';
+	if (pRExC_state->pm_flags & RXf_PMf_EXTENDED)
+	    *p++ = 'x';
+	*p++ = '\0';
+	DEBUG_COMPILE_r({
+	    PerlIO_printf(Perl_debug_log,
+		"%sre-parsing pattern for runtime code:%s %s\n",
+		PL_colors[4],PL_colors[5],newpat);
+	});
+
+	sv = newSVpvn_flags(newpat, p-newpat-1, RExC_utf8 ? SVf_UTF8 : 0);
+	Safefree(newpat);
+
+	ENTER;
+	SAVETMPS;
+	save_re_context();
+	PUSHSTACKi(PERLSI_REQUIRE);
+        /* G_RE_REPARSING causes the toker to collapse \\ into \ when
+         * parsing qr''; normally only q'' does this. It also alters
+         * hints handling */
+	eval_sv(sv, G_SCALAR|G_RE_REPARSING);
+	SvREFCNT_dec_NN(sv);
+	SPAGAIN;
+	qr_ref = POPs;
+	PUTBACK;
+	{
+	    SV * const errsv = ERRSV;
+	    if (SvTRUE_NN(errsv))
+	    {
+		Safefree(pRExC_state->code_blocks);
+                /* use croak_sv ? */
+		Perl_croak_nocontext("%s", SvPV_nolen_const(errsv));
+	    }
+	}
+	assert(SvROK(qr_ref));
+	qr = SvRV(qr_ref);
+	assert(SvTYPE(qr) == SVt_REGEXP && RX_ENGINE((REGEXP*)qr)->op_comp);
+	/* the leaving below frees the tmp qr_ref.
+	 * Give qr a life of its own */
+	SvREFCNT_inc(qr);
+	POPSTACK;
+	FREETMPS;
+	LEAVE;
+
+    }
+
+    if (!RExC_utf8 && SvUTF8(qr)) {
+	/* first time through; the pattern got upgraded; save the
+	 * qr for the next time through */
+	assert(!pRExC_state->runtime_code_qr);
+	pRExC_state->runtime_code_qr = qr;
+	return 0;
+    }
+
+
+    /* extract any code blocks within the returned qr//  */
+
+
+    /* merge the main (r1) and run-time (r2) code blocks into one */
+    {
+	RXi_GET_DECL(ReANY((REGEXP *)qr), r2);
+	struct reg_code_block *new_block, *dst;
+	RExC_state_t * const r1 = pRExC_state; /* convenient alias */
+	int i1 = 0, i2 = 0;
+
+	if (!r2->num_code_blocks) /* we guessed wrong */
+	{
+	    SvREFCNT_dec_NN(qr);
+	    return 1;
+	}
+
+	Newx(new_block,
+	    r1->num_code_blocks + r2->num_code_blocks,
+	    struct reg_code_block);
+	dst = new_block;
+
+	while (    i1 < r1->num_code_blocks
+		|| i2 < r2->num_code_blocks)
+	{
+	    struct reg_code_block *src;
+	    bool is_qr = 0;
+
+	    if (i1 == r1->num_code_blocks) {
+		src = &r2->code_blocks[i2++];
+		is_qr = 1;
+	    }
+	    else if (i2 == r2->num_code_blocks)
+		src = &r1->code_blocks[i1++];
+	    else if (  r1->code_blocks[i1].start
+	             < r2->code_blocks[i2].start)
+	    {
+		src = &r1->code_blocks[i1++];
+		assert(src->end < r2->code_blocks[i2].start);
+	    }
+	    else {
+		assert(  r1->code_blocks[i1].start
+		       > r2->code_blocks[i2].start);
+		src = &r2->code_blocks[i2++];
+		is_qr = 1;
+		assert(src->end < r1->code_blocks[i1].start);
+	    }
+
+	    assert(pat[src->start] == '(');
+	    assert(pat[src->end]   == ')');
+	    dst->start	    = src->start;
+	    dst->end	    = src->end;
+	    dst->block	    = src->block;
+	    dst->src_regex  = is_qr ? (REGEXP*) SvREFCNT_inc( (SV*) qr)
+				    : src->src_regex;
+	    dst++;
+	}
+	r1->num_code_blocks += r2->num_code_blocks;
+	Safefree(r1->code_blocks);
+	r1->code_blocks = new_block;
+    }
+
+    SvREFCNT_dec_NN(qr);
+    return 1;
+}
+
+
+STATIC bool
+S_setup_longest(pTHX_ RExC_state_t *pRExC_state, SV* sv_longest, SV** rx_utf8, SV** rx_substr, I32* rx_end_shift, I32 lookbehind, I32 offset, I32 *minlen, STRLEN longest_length, bool eol, bool meol)
+{
+    /* This is the common code for setting up the floating and fixed length
+     * string data extracted from Perl_re_op_compile() below.  Returns a boolean
+     * as to whether succeeded or not */
+
+    I32 t,ml;
+
+    if (! (longest_length
+           || (eol /* Can't have SEOL and MULTI */
+               && (! meol || (RExC_flags & RXf_PMf_MULTILINE)))
+          )
+            /* See comments for join_exact for why REG_SEEN_EXACTF_SHARP_S */
+        || (RExC_seen & REG_SEEN_EXACTF_SHARP_S))
+    {
+        return FALSE;
+    }
+
+    /* copy the information about the longest from the reg_scan_data
+        over to the program. */
+    if (SvUTF8(sv_longest)) {
+        *rx_utf8 = sv_longest;
+        *rx_substr = NULL;
+    } else {
+        *rx_substr = sv_longest;
+        *rx_utf8 = NULL;
+    }
+    /* end_shift is how many chars that must be matched that
+        follow this item. We calculate it ahead of time as once the
+        lookbehind offset is added in we lose the ability to correctly
+        calculate it.*/
+    ml = minlen ? *(minlen) : (I32)longest_length;
+    *rx_end_shift = ml - offset
+        - longest_length + (SvTAIL(sv_longest) != 0)
+        + lookbehind;
+
+    t = (eol/* Can't have SEOL and MULTI */
+         && (! meol || (RExC_flags & RXf_PMf_MULTILINE)));
+    fbm_compile(sv_longest, t ? FBMcf_TAIL : 0);
+
+    return TRUE;
+}
+
+/*
+ * Perl_re_op_compile - the perl internal RE engine's function to compile a
+ * regular expression into internal code.
+ * The pattern may be passed either as:
+ *    a list of SVs (patternp plus pat_count)
+ *    a list of OPs (expr)
+ * If both are passed, the SV list is used, but the OP list indicates
+ * which SVs are actually pre-compiled code blocks
+ *
+ * The SVs in the list have magic and qr overloading applied to them (and
+ * the list may be modified in-place with replacement SVs in the latter
+ * case).
+ *
+ * If the pattern hasn't changed from old_re, then old_re will be
+ * returned.
+ *
+ * eng is the current engine. If that engine has an op_comp method, then
+ * handle directly (i.e. we assume that op_comp was us); otherwise, just
+ * do the initial concatenation of arguments and pass on to the external
+ * engine.
+ *
+ * If is_bare_re is not null, set it to a boolean indicating whether the
+ * arg list reduced (after overloading) to a single bare regex which has
+ * been returned (i.e. /$qr/).
+ *
+ * orig_rx_flags contains RXf_* flags. See perlreapi.pod for more details.
+ *
+ * pm_flags contains the PMf_* flags, typically based on those from the
+ * pm_flags field of the related PMOP. Currently we're only interested in
+ * PMf_HAS_CV, PMf_IS_QR, PMf_USE_RE_EVAL.
+ *
+ * We can't allocate space until we know how big the compiled form will be,
+ * but we can't compile it (and thus know how big it is) until we've got a
+ * place to put the code.  So we cheat:  we compile it twice, once with code
+ * generation turned off and size counting turned on, and once "for real".
+ * This also means that we don't allocate space until we are sure that the
+ * thing really will compile successfully, and we never have to move the
+ * code and thus invalidate pointers into it.  (Note that it has to be in
+ * one piece because free() must be able to free it all.) [NB: not true in perl]
+ *
+ * Beware that the optimization-preparation code in here knows about some
+ * of the structure of the compiled regexp.  [I'll say.]
+ */
+
+REGEXP *
+Perl_re_op_compile(pTHX_ SV ** const patternp, int pat_count,
+		    OP *expr, const regexp_engine* eng, REGEXP *old_re,
+		     bool *is_bare_re, U32 orig_rx_flags, U32 pm_flags)
+{
     dVAR;
     REGEXP *rx;
     struct regexp *r;
-    register regexp_internal *ri;
+    regexp_internal *ri;
     STRLEN plen;
-    char  *exp;
-    char* xend;
+    char *exp;
     regnode *scan;
     I32 flags;
     I32 minlen = 0;
-    U32 pm_flags;
+    U32 rx_flags;
+    SV *pat;
+    SV *code_blocksv = NULL;
+    SV** new_patternp = patternp;
 
     /* these are all flags - maybe they should be turned
      * into a single int with different bit masks */
@@ -4535,85 +5491,239 @@
     I32 sawlookahead = 0;
     I32 sawplus = 0;
     I32 sawopen = 0;
-    bool used_setjump = FALSE;
-    regex_charset initial_charset = get_regex_charset(orig_pm_flags);
-
-    U8 jump_ret = 0;
-    dJMPENV;
+    regex_charset initial_charset = get_regex_charset(orig_rx_flags);
+    bool recompile = 0;
+    bool runtime_code = 0;
     scan_data_t data;
     RExC_state_t RExC_state;
     RExC_state_t * const pRExC_state = &RExC_state;
 #ifdef TRIE_STUDY_OPT    
-    int restudied;
+    int restudied = 0;
     RExC_state_t copyRExC_state;
 #endif    
     GET_RE_DEBUG_FLAGS_DECL;
 
-    PERL_ARGS_ASSERT_RE_COMPILE;
+    PERL_ARGS_ASSERT_RE_OP_COMPILE;
 
     DEBUG_r(if (!PL_colorset) reginitcolors());
 
-    RExC_utf8 = RExC_orig_utf8 = SvUTF8(pattern);
-    RExC_uni_semantics = 0;
-    RExC_contains_locale = 0;
+#ifndef PERL_IN_XSUB_RE
+    /* Initialize these here instead of as-needed, as is quick and avoids
+     * having to test them each time otherwise */
+    if (! PL_AboveLatin1) {
+	PL_AboveLatin1 = _new_invlist_C_array(AboveLatin1_invlist);
+	PL_ASCII = _new_invlist_C_array(ASCII_invlist);
+	PL_Latin1 = _new_invlist_C_array(Latin1_invlist);
 
-    /****************** LONG JUMP TARGET HERE***********************/
-    /* Longjmp back to here if have to switch in midstream to utf8 */
-    if (! RExC_orig_utf8) {
-	JMPENV_PUSH(jump_ret);
-	used_setjump = TRUE;
+	PL_L1Posix_ptrs[_CC_ALPHANUMERIC]
+                                = _new_invlist_C_array(L1PosixAlnum_invlist);
+	PL_Posix_ptrs[_CC_ALPHANUMERIC]
+                                = _new_invlist_C_array(PosixAlnum_invlist);
+
+	PL_L1Posix_ptrs[_CC_ALPHA]
+                                = _new_invlist_C_array(L1PosixAlpha_invlist);
+	PL_Posix_ptrs[_CC_ALPHA] = _new_invlist_C_array(PosixAlpha_invlist);
+
+	PL_Posix_ptrs[_CC_BLANK] = _new_invlist_C_array(PosixBlank_invlist);
+	PL_XPosix_ptrs[_CC_BLANK] = _new_invlist_C_array(XPosixBlank_invlist);
+
+        /* Cased is the same as Alpha in the ASCII range */
+	PL_L1Posix_ptrs[_CC_CASED] =  _new_invlist_C_array(L1Cased_invlist);
+	PL_Posix_ptrs[_CC_CASED] =  _new_invlist_C_array(PosixAlpha_invlist);
+
+	PL_Posix_ptrs[_CC_CNTRL] = _new_invlist_C_array(PosixCntrl_invlist);
+	PL_XPosix_ptrs[_CC_CNTRL] = _new_invlist_C_array(XPosixCntrl_invlist);
+
+	PL_Posix_ptrs[_CC_DIGIT] = _new_invlist_C_array(PosixDigit_invlist);
+	PL_L1Posix_ptrs[_CC_DIGIT] = _new_invlist_C_array(PosixDigit_invlist);
+
+	PL_L1Posix_ptrs[_CC_GRAPH] = _new_invlist_C_array(L1PosixGraph_invlist);
+	PL_Posix_ptrs[_CC_GRAPH] = _new_invlist_C_array(PosixGraph_invlist);
+
+	PL_L1Posix_ptrs[_CC_LOWER] = _new_invlist_C_array(L1PosixLower_invlist);
+	PL_Posix_ptrs[_CC_LOWER] = _new_invlist_C_array(PosixLower_invlist);
+
+	PL_L1Posix_ptrs[_CC_PRINT] = _new_invlist_C_array(L1PosixPrint_invlist);
+	PL_Posix_ptrs[_CC_PRINT] = _new_invlist_C_array(PosixPrint_invlist);
+
+	PL_L1Posix_ptrs[_CC_PUNCT] = _new_invlist_C_array(L1PosixPunct_invlist);
+	PL_Posix_ptrs[_CC_PUNCT] = _new_invlist_C_array(PosixPunct_invlist);
+
+	PL_Posix_ptrs[_CC_SPACE] = _new_invlist_C_array(PerlSpace_invlist);
+	PL_XPosix_ptrs[_CC_SPACE] = _new_invlist_C_array(XPerlSpace_invlist);
+	PL_Posix_ptrs[_CC_PSXSPC] = _new_invlist_C_array(PosixSpace_invlist);
+	PL_XPosix_ptrs[_CC_PSXSPC] = _new_invlist_C_array(XPosixSpace_invlist);
+
+	PL_L1Posix_ptrs[_CC_UPPER] = _new_invlist_C_array(L1PosixUpper_invlist);
+	PL_Posix_ptrs[_CC_UPPER] = _new_invlist_C_array(PosixUpper_invlist);
+
+        PL_XPosix_ptrs[_CC_VERTSPACE] = _new_invlist_C_array(VertSpace_invlist);
+
+	PL_Posix_ptrs[_CC_WORDCHAR] = _new_invlist_C_array(PosixWord_invlist);
+	PL_L1Posix_ptrs[_CC_WORDCHAR]
+                                = _new_invlist_C_array(L1PosixWord_invlist);
+
+	PL_Posix_ptrs[_CC_XDIGIT] = _new_invlist_C_array(PosixXDigit_invlist);
+	PL_XPosix_ptrs[_CC_XDIGIT] = _new_invlist_C_array(XPosixXDigit_invlist);
+
+        PL_HasMultiCharFold = _new_invlist_C_array(_Perl_Multi_Char_Folds_invlist);
     }
+#endif
 
-    if (jump_ret == 0) {    /* First time through */
-	exp = SvPV(pattern, plen);
-	xend = exp + plen;
-	/* ignore the utf8ness if the pattern is 0 length */
-	if (plen == 0) {
-	    RExC_utf8 = RExC_orig_utf8 = 0;
+    pRExC_state->code_blocks = NULL;
+    pRExC_state->num_code_blocks = 0;
+
+    if (is_bare_re)
+	*is_bare_re = FALSE;
+
+    if (expr && (expr->op_type == OP_LIST ||
+		(expr->op_type == OP_NULL && expr->op_targ == OP_LIST))) {
+	/* allocate code_blocks if needed */
+	OP *o;
+	int ncode = 0;
+
+	for (o = cLISTOPx(expr)->op_first; o; o = o->op_sibling)
+	    if (o->op_type == OP_NULL && (o->op_flags & OPf_SPECIAL))
+		ncode++; /* count of DO blocks */
+	if (ncode) {
+	    pRExC_state->num_code_blocks = ncode;
+	    Newx(pRExC_state->code_blocks, ncode, struct reg_code_block);
 	}
+    }
 
-        DEBUG_COMPILE_r({
+    if (!pat_count) {
+        /* compile-time pattern with just OP_CONSTs and DO blocks */
+
+        int n;
+        OP *o;
+
+        /* find how many CONSTs there are */
+        assert(expr);
+        n = 0;
+        if (expr->op_type == OP_CONST)
+            n = 1;
+        else
+            for (o = cLISTOPx(expr)->op_first; o; o = o->op_sibling) {
+                if (o->op_type == OP_CONST)
+                    n++;
+            }
+
+        /* fake up an SV array */
+
+        assert(!new_patternp);
+        Newx(new_patternp, n, SV*);
+        SAVEFREEPV(new_patternp);
+        pat_count = n;
+
+        n = 0;
+        if (expr->op_type == OP_CONST)
+            new_patternp[n] = cSVOPx_sv(expr);
+        else
+            for (o = cLISTOPx(expr)->op_first; o; o = o->op_sibling) {
+                if (o->op_type == OP_CONST)
+                    new_patternp[n++] = cSVOPo_sv;
+            }
+
+    }
+
+    DEBUG_PARSE_r(PerlIO_printf(Perl_debug_log,
+        "Assembling pattern from %d elements%s\n", pat_count,
+            orig_rx_flags & RXf_SPLIT ? " for split" : ""));
+
+    /* set expr to the first arg op */
+
+    if (pRExC_state->num_code_blocks
+         && expr->op_type != OP_CONST)
+    {
+            expr = cLISTOPx(expr)->op_first;
+            assert(   expr->op_type == OP_PUSHMARK
+                   || (expr->op_type == OP_NULL && expr->op_targ == OP_PUSHMARK)
+                   || expr->op_type == OP_PADRANGE);
+            expr = expr->op_sibling;
+    }
+
+    pat = S_concat_pat(aTHX_ pRExC_state, NULL, new_patternp, pat_count,
+                        expr, &recompile, NULL);
+
+    /* handle bare (possibly after overloading) regex: foo =~ $re */
+    {
+        SV *re = pat;
+        if (SvROK(re))
+            re = SvRV(re);
+        if (SvTYPE(re) == SVt_REGEXP) {
+            if (is_bare_re)
+                *is_bare_re = TRUE;
+            SvREFCNT_inc(re);
+            Safefree(pRExC_state->code_blocks);
+            DEBUG_PARSE_r(PerlIO_printf(Perl_debug_log,
+                "Precompiled pattern%s\n",
+                    orig_rx_flags & RXf_SPLIT ? " for split" : ""));
+
+            return (REGEXP*)re;
+        }
+    }
+
+    exp = SvPV_nomg(pat, plen);
+
+    if (!eng->op_comp) {
+	if ((SvUTF8(pat) && IN_BYTES)
+		|| SvGMAGICAL(pat) || SvAMAGIC(pat))
+	{
+	    /* make a temporary copy; either to convert to bytes,
+	     * or to avoid repeating get-magic / overloaded stringify */
+	    pat = newSVpvn_flags(exp, plen, SVs_TEMP |
+					(IN_BYTES ? 0 : SvUTF8(pat)));
+	}
+	Safefree(pRExC_state->code_blocks);
+	return CALLREGCOMP_ENG(eng, pat, orig_rx_flags);
+    }
+
+    /* ignore the utf8ness if the pattern is 0 length */
+    RExC_utf8 = RExC_orig_utf8 = (plen == 0 || IN_BYTES) ? 0 : SvUTF8(pat);
+    RExC_uni_semantics = 0;
+    RExC_contains_locale = 0;
+    pRExC_state->runtime_code_qr = NULL;
+
+    DEBUG_COMPILE_r({
             SV *dsv= sv_newmortal();
-            RE_PV_QUOTED_DECL(s, RExC_utf8,
-                dsv, exp, plen, 60);
+            RE_PV_QUOTED_DECL(s, RExC_utf8, dsv, exp, plen, 60);
             PerlIO_printf(Perl_debug_log, "%sCompiling REx%s %s\n",
-                           PL_colors[4],PL_colors[5],s);
+                          PL_colors[4],PL_colors[5],s);
         });
-    }
-    else {  /* longjumped back */
-        STRLEN len = plen;
 
-        /* If the cause for the longjmp was other than changing to utf8, pop
-         * our own setjmp, and longjmp to the correct handler */
-	if (jump_ret != UTF8_LONGJMP) {
-	    JMPENV_POP;
-	    JMPENV_JUMP(jump_ret);
-	}
+  redo_first_pass:
+    /* we jump here if we upgrade the pattern to utf8 and have to
+     * recompile */
 
-	GET_RE_DEBUG_FLAGS;
+    if ((pm_flags & PMf_USE_RE_EVAL)
+		/* this second condition covers the non-regex literal case,
+		 * i.e.  $foo =~ '(?{})'. */
+		|| (IN_PERL_COMPILETIME && (PL_hints & HINT_RE_EVAL))
+    )
+	runtime_code = S_has_runtime_code(aTHX_ pRExC_state, exp, plen);
 
-        /* It's possible to write a regexp in ascii that represents Unicode
-        codepoints outside of the byte range, such as via \x{100}. If we
-        detect such a sequence we have to convert the entire pattern to utf8
-        and then recompile, as our sizing calculation will have been based
-        on 1 byte == 1 character, but we will need to use utf8 to encode
-        at least some part of the pattern, and therefore must convert the whole
-        thing.
-        -- dmq */
-        DEBUG_PARSE_r(PerlIO_printf(Perl_debug_log,
-	    "UTF8 mismatch! Converting to utf8 for resizing and compile\n"));
-        exp = (char*)Perl_bytes_to_utf8(aTHX_ (U8*)SvPV(pattern, plen), &len);
-        xend = exp + len;
-        RExC_orig_utf8 = RExC_utf8 = 1;
-        SAVEFREEPV(exp);
+    /* return old regex if pattern hasn't changed */
+    /* XXX: note in the below we have to check the flags as well as the pattern.
+     *
+     * Things get a touch tricky as we have to compare the utf8 flag independently
+     * from the compile flags.
+     */
+
+    if (   old_re
+        && !recompile
+        && !!RX_UTF8(old_re) == !!RExC_utf8
+        && ( RX_COMPFLAGS(old_re) == ( orig_rx_flags & RXf_PMf_FLAGCOPYMASK ) )
+	&& RX_PRECOMP(old_re)
+	&& RX_PRELEN(old_re) == plen
+        && memEQ(RX_PRECOMP(old_re), exp, plen)
+	&& !runtime_code /* with runtime code, always recompile */ )
+    {
+        Safefree(pRExC_state->code_blocks);
+        return old_re;
     }
 
-#ifdef TRIE_STUDY_OPT
-    restudied = 0;
-#endif
+    rx_flags = orig_rx_flags;
 
-    pm_flags = orig_pm_flags;
-
     if (initial_charset == REGEX_LOCALE_CHARSET) {
 	RExC_contains_locale = 1;
     }
@@ -4621,24 +5731,40 @@
 
 	/* Set to use unicode semantics if the pattern is in utf8 and has the
 	 * 'depends' charset specified, as it means unicode when utf8  */
-	set_regex_charset(&pm_flags, REGEX_UNICODE_CHARSET);
+	set_regex_charset(&rx_flags, REGEX_UNICODE_CHARSET);
     }
 
     RExC_precomp = exp;
-    RExC_flags = pm_flags;
+    RExC_flags = rx_flags;
+    RExC_pm_flags = pm_flags;
+
+    if (runtime_code) {
+	if (TAINTING_get && TAINT_get)
+	    Perl_croak(aTHX_ "Eval-group in insecure regular expression");
+
+	if (!S_compile_runtime_code(aTHX_ pRExC_state, exp, plen)) {
+	    /* whoops, we have a non-utf8 pattern, whilst run-time code
+	     * got compiled as utf8. Try again with a utf8 pattern */
+            S_pat_upgrade_to_utf8(aTHX_ pRExC_state, &exp, &plen,
+                                    pRExC_state->num_code_blocks);
+            goto redo_first_pass;
+	}
+    }
+    assert(!pRExC_state->runtime_code_qr);
+
     RExC_sawback = 0;
 
     RExC_seen = 0;
     RExC_in_lookbehind = 0;
     RExC_seen_zerolen = *exp == '^' ? -1 : 0;
-    RExC_seen_evals = 0;
     RExC_extralen = 0;
     RExC_override_recoding = 0;
+    RExC_in_multi_char_class = 0;
 
     /* First pass: determine size, legality. */
     RExC_parse = exp;
     RExC_start = exp;
-    RExC_end = xend;
+    RExC_end = exp + plen;
     RExC_naughty = 0;
     RExC_npar = 1;
     RExC_nestroot = 0;
@@ -4654,22 +5780,47 @@
 #endif
     RExC_recurse = NULL;
     RExC_recurse_count = 0;
+    pRExC_state->code_index = 0;
 
 #if 0 /* REGC() is (currently) a NOP at the first pass.
        * Clever compilers notice this and complain. --jhi */
     REGC((U8)REG_MAGIC, (char*)RExC_emit);
 #endif
-    DEBUG_PARSE_r(PerlIO_printf(Perl_debug_log, "Starting first pass (sizing)\n"));
+    DEBUG_PARSE_r(
+	PerlIO_printf(Perl_debug_log, "Starting first pass (sizing)\n");
+        RExC_lastnum=0;
+        RExC_lastparse=NULL;
+    );
+    /* reg may croak on us, not giving us a chance to free
+       pRExC_state->code_blocks.  We cannot SAVEFREEPV it now, as we may
+       need it to survive as long as the regexp (qr/(?{})/).
+       We must check that code_blocksv is not already set, because we may
+       have jumped back to restart the sizing pass. */
+    if (pRExC_state->code_blocks && !code_blocksv) {
+	code_blocksv = newSV_type(SVt_PV);
+	SAVEFREESV(code_blocksv);
+	SvPV_set(code_blocksv, (char *)pRExC_state->code_blocks);
+	SvLEN_set(code_blocksv, 1); /*sufficient to make sv_clear free it*/
+    }
     if (reg(pRExC_state, 0, &flags,1) == NULL) {
-	RExC_precomp = NULL;
-	return(NULL);
+        /* It's possible to write a regexp in ascii that represents Unicode
+        codepoints outside of the byte range, such as via \x{100}. If we
+        detect such a sequence we have to convert the entire pattern to utf8
+        and then recompile, as our sizing calculation will have been based
+        on 1 byte == 1 character, but we will need to use utf8 to encode
+        at least some part of the pattern, and therefore must convert the whole
+        thing.
+        -- dmq */
+        if (flags & RESTART_UTF8) {
+            S_pat_upgrade_to_utf8(aTHX_ pRExC_state, &exp, &plen,
+                                    pRExC_state->num_code_blocks);
+            goto redo_first_pass;
+        }
+        Perl_croak(aTHX_ "panic: reg returned NULL to re_op_compile for sizing pass, flags=%#X", flags);
     }
+    if (code_blocksv)
+	SvLEN_set(code_blocksv,0); /* no you can't have it, sv_clear */
 
-    /* Here, finished first pass.  Get rid of any added setjmp */
-    if (used_setjump) {
-	JMPENV_POP;
-    }
-
     DEBUG_PARSE_r({
         PerlIO_printf(Perl_debug_log, 
             "Required size %"IVdf" nodes\n"
@@ -4681,9 +5832,9 @@
 
     /* The first pass could have found things that force Unicode semantics */
     if ((RExC_utf8 || RExC_uni_semantics)
-	 && get_regex_charset(pm_flags) == REGEX_DEPENDS_CHARSET)
+	 && get_regex_charset(rx_flags) == REGEX_DEPENDS_CHARSET)
     {
-	set_regex_charset(&pm_flags, REGEX_UNICODE_CHARSET);
+	set_regex_charset(&rx_flags, REGEX_UNICODE_CHARSET);
     }
 
     /* Small enough for pointer-storage convention?
@@ -4699,7 +5850,7 @@
        of zeroing when in debug mode, thus anything assigned has to 
        happen after that */
     rx = (REGEXP*) newSV_type(SVt_REGEXP);
-    r = (struct regexp*)SvANY(rx);
+    r = ReANY(rx);
     Newxc(ri, sizeof(regexp_internal) + (unsigned)RExC_size * sizeof(regnode),
 	 char, regexp_internal);
     if ( r == NULL || ri == NULL )
@@ -4714,9 +5865,24 @@
 
     /* non-zero initialization begins here */
     RXi_SET( r, ri );
-    r->engine= RE_ENGINE_PTR;
-    r->extflags = pm_flags;
+    r->engine= eng;
+    r->extflags = rx_flags;
+    RXp_COMPFLAGS(r) = orig_rx_flags & RXf_PMf_FLAGCOPYMASK;
+
+    if (pm_flags & PMf_IS_QR) {
+	ri->code_blocks = pRExC_state->code_blocks;
+	ri->num_code_blocks = pRExC_state->num_code_blocks;
+    }
+    else
     {
+	int n;
+	for (n = 0; n < pRExC_state->num_code_blocks; n++)
+	    if (pRExC_state->code_blocks[n].src_regex)
+		SAVEFREESV(pRExC_state->code_blocks[n].src_regex);
+	SAVEFREEPV(pRExC_state->code_blocks);
+    }
+
+    {
         bool has_p     = ((r->extflags & RXf_PMf_KEEPCOPY) == RXf_PMf_KEEPCOPY);
         bool has_charset = (get_regex_charset(r->extflags) != REGEX_DEPENDS_CHARSET);
 
@@ -4745,9 +5911,10 @@
             + (sizeof(STD_PAT_MODS) - 1)
             + (sizeof("(?:)") - 1);
 
-        p = sv_grow(MUTABLE_SV(rx), wraplen + 1); /* +1 for the ending NUL */
-	SvPOK_on(rx);
-	SvFLAGS(rx) |= SvUTF8(pattern);
+        Newx(p, wraplen + 1, char); /* +1 for the ending NUL */
+	r->xpv_len_u.xpvlenu_pv = p;
+	if (RExC_utf8)
+	    SvFLAGS(rx) |= SVf_UTF8;
         *p++='('; *p++='?';
 
         /* If a default, cover it using the caret */
@@ -4780,7 +5947,7 @@
             *p++ = '\n';
         *p++ = ')';
         *p = 0;
-	SvCUR_set(rx, p - SvPVX_const(rx));
+	SvCUR_set(rx, p - RX_WRAPPED(rx));
     }
 
     r->intflags = 0;
@@ -4807,21 +5974,21 @@
     RExC_rxi = ri;
 
     /* Second pass: emit code. */
-    RExC_flags = pm_flags;	/* don't let top level (?i) bleed */
+    RExC_flags = rx_flags;	/* don't let top level (?i) bleed */
+    RExC_pm_flags = pm_flags;
     RExC_parse = exp;
-    RExC_end = xend;
+    RExC_end = exp + plen;
     RExC_naughty = 0;
     RExC_npar = 1;
     RExC_emit_start = ri->program;
     RExC_emit = ri->program;
     RExC_emit_bound = ri->program + RExC_size + 1;
+    pRExC_state->code_index = 0;
 
-    /* Store the count of eval-groups for security checks: */
-    RExC_rx->seen_evals = RExC_seen_evals;
     REGC((U8)REG_MAGIC, (char*) RExC_emit++);
     if (reg(pRExC_state, 0, &flags,1) == NULL) {
 	ReREFCNT_dec(rx);   
-	return(NULL);
+        Perl_croak(aTHX_ "panic: reg returned NULL to re_op_compile for generation pass, flags=%#X", flags);
     }
     /* XXXX To minimize changes to RE engine we always allocate
        3-units-long substrs field. */
@@ -4848,11 +6015,6 @@
             RExC_seen |= REG_TOP_LEVEL_BRANCHES;
         else
             RExC_seen &= ~REG_TOP_LEVEL_BRANCHES;
-        if (data.last_found) {
-            SvREFCNT_dec(data.longest_fixed);
-	    SvREFCNT_dec(data.longest_float);
-	    SvREFCNT_dec(data.last_found);
-	}
 	StructCopy(&zero_scan_data, &data, scan_data_t);
     }
 #else
@@ -4911,7 +6073,7 @@
 		    sawplus = 1;
 		else
 		    first += regarglen[OP(first)];
-		
+
 		first = NEXTOPER(first);
 		first_next= regnext(first);
 	}
@@ -4926,7 +6088,7 @@
 	    else
 		ri->regstclass = first;
 	}
-#ifdef TRIE_STCLASS	
+#ifdef TRIE_STCLASS
 	else if (PL_regkind[OP(first)] == TRIE &&
 	        ((reg_trie_data *)ri->data->data[ ARG(first) ])->minlen>0) 
 	{
@@ -4947,7 +6109,7 @@
             make_trie_failtable(pRExC_state, (regnode *)first, trie_op, 0);
 	    ri->regstclass = trie_op;
 	}
-#endif	
+#endif
 	else if (REGNODE_SIMPLE(OP(first)))
 	    ri->regstclass = first;
 	else if (PL_regkind[OP(first)] == BOUND ||
@@ -4970,7 +6132,7 @@
 	else if ((!sawopen || !RExC_sawback) &&
 	    (OP(first) == STAR &&
 	    PL_regkind[OP(NEXTOPER(first))] == REG_ANY) &&
-	    !(r->extflags & RXf_ANCH) && !(RExC_seen & REG_SEEN_EVAL))
+	    !(r->extflags & RXf_ANCH) && !pRExC_state->num_code_blocks)
 	{
 	    /* turn .* into ^.* with an implied $*=1 */
 	    const int type =
@@ -4983,7 +6145,7 @@
 	    goto again;
 	}
 	if (sawplus && !sawlookahead && (!sawopen || !RExC_sawback)
-	    && !(RExC_seen & REG_SEEN_EVAL)) /* May examine pos and $& */
+	    && !pRExC_state->num_code_blocks) /* May examine pos and $& */
 	    /* x+ must match at the 1st pos of run of x's */
 	    r->intflags |= PREGf_SKIP;
 
@@ -5013,11 +6175,15 @@
 	* it happens that c_offset_min has been invalidated, since the
 	* earlier string may buy us something the later one won't.]
 	*/
-	
+
 	data.longest_fixed = newSVpvs("");
 	data.longest_float = newSVpvs("");
 	data.last_found = newSVpvs("");
 	data.longest = &(data.longest_fixed);
+	ENTER_with_name("study_chunk");
+	SAVEFREESV(data.longest_fixed);
+	SAVEFREESV(data.longest_float);
+	SAVEFREESV(data.last_found);
 	first = scan;
 	if (!ri->regstclass) {
 	    cl_init(pRExC_state, &ch_class);
@@ -5031,10 +6197,10 @@
             &data, -1, NULL, NULL,
             SCF_DO_SUBSTR | SCF_WHILEM_VISITED_POS | stclass_flag,0);
 
-	
-        CHECK_RESTUDY_GOTO;
 
+        CHECK_RESTUDY_GOTO_butfirst(LEAVE_with_name("study_chunk"));
 
+
 	if ( RExC_npar == 1 && data.longest == &(data.longest_fixed)
 	     && data.last_start_min == 0 && data.last_end > 0
 	     && !RExC_seen_zerolen
@@ -5042,102 +6208,58 @@
 	     && (!(RExC_seen & REG_SEEN_GPOS) || (r->extflags & RXf_ANCH_GPOS)))
 	    r->extflags |= RXf_CHECK_ALL;
 	scan_commit(pRExC_state, &data,&minlen,0);
-	SvREFCNT_dec(data.last_found);
 
-        /* Note that code very similar to this but for anchored string 
-           follows immediately below, changes may need to be made to both. 
-           Be careful. 
-         */
 	longest_float_length = CHR_SVLEN(data.longest_float);
-	if (longest_float_length
-	    || (data.flags & SF_FL_BEFORE_EOL
-		&& (!(data.flags & SF_FL_BEFORE_MEOL)
-		    || (RExC_flags & RXf_PMf_MULTILINE)))) 
+
+        if (! ((SvCUR(data.longest_fixed)  /* ok to leave SvCUR */
+                   && data.offset_fixed == data.offset_float_min
+                   && SvCUR(data.longest_fixed) == SvCUR(data.longest_float)))
+            && S_setup_longest (aTHX_ pRExC_state,
+                                    data.longest_float,
+                                    &(r->float_utf8),
+                                    &(r->float_substr),
+                                    &(r->float_end_shift),
+                                    data.lookbehind_float,
+                                    data.offset_float_min,
+                                    data.minlen_float,
+                                    longest_float_length,
+                                    cBOOL(data.flags & SF_FL_BEFORE_EOL),
+                                    cBOOL(data.flags & SF_FL_BEFORE_MEOL)))
         {
-            I32 t,ml;
-
-	    if (SvCUR(data.longest_fixed)  /* ok to leave SvCUR */
-		&& data.offset_fixed == data.offset_float_min
-		&& SvCUR(data.longest_fixed) == SvCUR(data.longest_float))
-		    goto remove_float;		/* As in (a)+. */
-
-            /* copy the information about the longest float from the reg_scan_data
-               over to the program. */
-	    if (SvUTF8(data.longest_float)) {
-		r->float_utf8 = data.longest_float;
-		r->float_substr = NULL;
-	    } else {
-		r->float_substr = data.longest_float;
-		r->float_utf8 = NULL;
-	    }
-	    /* float_end_shift is how many chars that must be matched that 
-	       follow this item. We calculate it ahead of time as once the
-	       lookbehind offset is added in we lose the ability to correctly
-	       calculate it.*/
-	    ml = data.minlen_float ? *(data.minlen_float) 
-	                           : (I32)longest_float_length;
-	    r->float_end_shift = ml - data.offset_float_min
-	        - longest_float_length + (SvTAIL(data.longest_float) != 0)
-	        + data.lookbehind_float;
 	    r->float_min_offset = data.offset_float_min - data.lookbehind_float;
 	    r->float_max_offset = data.offset_float_max;
 	    if (data.offset_float_max < I32_MAX) /* Don't offset infinity */
 	        r->float_max_offset -= data.lookbehind_float;
-	    
-	    t = (data.flags & SF_FL_BEFORE_EOL /* Can't have SEOL and MULTI */
-		       && (!(data.flags & SF_FL_BEFORE_MEOL)
-			   || (RExC_flags & RXf_PMf_MULTILINE)));
-	    fbm_compile(data.longest_float, t ? FBMcf_TAIL : 0);
+	    SvREFCNT_inc_simple_void_NN(data.longest_float);
 	}
 	else {
-	  remove_float:
 	    r->float_substr = r->float_utf8 = NULL;
-	    SvREFCNT_dec(data.longest_float);
 	    longest_float_length = 0;
 	}
 
-        /* Note that code very similar to this but for floating string 
-           is immediately above, changes may need to be made to both. 
-           Be careful. 
-         */
 	longest_fixed_length = CHR_SVLEN(data.longest_fixed);
-	if (longest_fixed_length
-	    || (data.flags & SF_FIX_BEFORE_EOL /* Cannot have SEOL and MULTI */
-		&& (!(data.flags & SF_FIX_BEFORE_MEOL)
-		    || (RExC_flags & RXf_PMf_MULTILINE)))) 
+
+        if (S_setup_longest (aTHX_ pRExC_state,
+                                data.longest_fixed,
+                                &(r->anchored_utf8),
+                                &(r->anchored_substr),
+                                &(r->anchored_end_shift),
+                                data.lookbehind_fixed,
+                                data.offset_fixed,
+                                data.minlen_fixed,
+                                longest_fixed_length,
+                                cBOOL(data.flags & SF_FIX_BEFORE_EOL),
+                                cBOOL(data.flags & SF_FIX_BEFORE_MEOL)))
         {
-            I32 t,ml;
-
-            /* copy the information about the longest fixed 
-               from the reg_scan_data over to the program. */
-	    if (SvUTF8(data.longest_fixed)) {
-		r->anchored_utf8 = data.longest_fixed;
-		r->anchored_substr = NULL;
-	    } else {
-		r->anchored_substr = data.longest_fixed;
-		r->anchored_utf8 = NULL;
-	    }
-	    /* fixed_end_shift is how many chars that must be matched that 
-	       follow this item. We calculate it ahead of time as once the
-	       lookbehind offset is added in we lose the ability to correctly
-	       calculate it.*/
-            ml = data.minlen_fixed ? *(data.minlen_fixed) 
-                                   : (I32)longest_fixed_length;
-            r->anchored_end_shift = ml - data.offset_fixed
-	        - longest_fixed_length + (SvTAIL(data.longest_fixed) != 0)
-	        + data.lookbehind_fixed;
 	    r->anchored_offset = data.offset_fixed - data.lookbehind_fixed;
-
-	    t = (data.flags & SF_FIX_BEFORE_EOL /* Can't have SEOL and MULTI */
-		 && (!(data.flags & SF_FIX_BEFORE_MEOL)
-		     || (RExC_flags & RXf_PMf_MULTILINE)));
-	    fbm_compile(data.longest_fixed, t ? FBMcf_TAIL : 0);
+	    SvREFCNT_inc_simple_void_NN(data.longest_fixed);
 	}
 	else {
 	    r->anchored_substr = r->anchored_utf8 = NULL;
-	    SvREFCNT_dec(data.longest_fixed);
 	    longest_fixed_length = 0;
 	}
+	LEAVE_with_name("study_chunk");
+
 	if (ri->regstclass
 	    && (OP(ri->regstclass) == REG_ANY || OP(ri->regstclass) == SANY))
 	    ri->regstclass = NULL;
@@ -5144,11 +6266,11 @@
 
 	if ((!(r->anchored_substr || r->anchored_utf8) || r->anchored_offset)
 	    && stclass_flag
-	    && !(data.start_class->flags & ANYOF_EOS)
+	    && ! TEST_SSC_EOS(data.start_class)
 	    && !cl_is_anything(data.start_class))
 	{
 	    const U32 n = add_data(pRExC_state, 1, "f");
-	    data.start_class->flags |= ANYOF_IS_SYNTHETIC;
+	    OP(data.start_class) = ANYOF_SYNTHETIC;
 
 	    Newx(RExC_rxi->data->data[n], 1,
 		struct regnode_charclass_class);
@@ -5199,7 +6321,7 @@
 	I32 fake;
 	struct regnode_charclass_class ch_class;
 	I32 last_close = 0;
-	
+
 	DEBUG_PARSE_r(PerlIO_printf(Perl_debug_log, "\nMulti Top Level\n"));
 
 	scan = ri->program + 1;
@@ -5211,16 +6333,16 @@
 	minlen = study_chunk(pRExC_state, &scan, &minlen, &fake, scan + RExC_size,
 	    &data, -1, NULL, NULL, SCF_DO_STCLASS_AND|SCF_WHILEM_VISITED_POS,0);
         
-        CHECK_RESTUDY_GOTO;
+        CHECK_RESTUDY_GOTO_butfirst(NOOP);
 
 	r->check_substr = r->check_utf8 = r->anchored_substr = r->anchored_utf8
 		= r->float_substr = r->float_utf8 = NULL;
 
-	if (!(data.start_class->flags & ANYOF_EOS)
+	if (! TEST_SSC_EOS(data.start_class)
 	    && !cl_is_anything(data.start_class))
 	{
 	    const U32 n = add_data(pRExC_state, 1, "f");
-	    data.start_class->flags |= ANYOF_IS_SYNTHETIC;
+	    OP(data.start_class) = ANYOF_SYNTHETIC;
 
 	    Newx(RExC_rxi->data->data[n], 1,
 		struct regnode_charclass_class);
@@ -5250,47 +6372,41 @@
     if (RExC_seen & REG_SEEN_GPOS)
 	r->extflags |= RXf_GPOS_SEEN;
     if (RExC_seen & REG_SEEN_LOOKBEHIND)
-	r->extflags |= RXf_LOOKBEHIND_SEEN;
-    if (RExC_seen & REG_SEEN_EVAL)
+        r->extflags |= RXf_NO_INPLACE_SUBST; /* inplace might break the lookbehind */
+    if (pRExC_state->num_code_blocks)
 	r->extflags |= RXf_EVAL_SEEN;
     if (RExC_seen & REG_SEEN_CANY)
 	r->extflags |= RXf_CANY_SEEN;
     if (RExC_seen & REG_SEEN_VERBARG)
+    {
 	r->intflags |= PREGf_VERBARG_SEEN;
+        r->extflags |= RXf_NO_INPLACE_SUBST; /* don't understand this! Yves */
+    }
     if (RExC_seen & REG_SEEN_CUTGROUP)
 	r->intflags |= PREGf_CUTGROUP_SEEN;
+    if (pm_flags & PMf_USE_RE_EVAL)
+	r->intflags |= PREGf_USE_RE_EVAL;
     if (RExC_paren_names)
         RXp_PAREN_NAMES(r) = MUTABLE_HV(SvREFCNT_inc(RExC_paren_names));
     else
         RXp_PAREN_NAMES(r) = NULL;
 
-#ifdef STUPID_PATTERN_CHECKS            
-    if (RX_PRELEN(rx) == 0)
-        r->extflags |= RXf_NULL;
-    if (r->extflags & RXf_SPLIT && RX_PRELEN(rx) == 1 && RX_PRECOMP(rx)[0] == ' ')
-        /* XXX: this should happen BEFORE we compile */
-        r->extflags |= (RXf_SKIPWHITE|RXf_WHITE); 
-    else if (RX_PRELEN(rx) == 3 && memEQ("\\s+", RX_PRECOMP(rx), 3))
-        r->extflags |= RXf_WHITE;
-    else if (RX_PRELEN(rx) == 1 && RXp_PRECOMP(rx)[0] == '^')
-        r->extflags |= RXf_START_ONLY;
-#else
-    if (r->extflags & RXf_SPLIT && RX_PRELEN(rx) == 1 && RX_PRECOMP(rx)[0] == ' ')
-            /* XXX: this should happen BEFORE we compile */
-            r->extflags |= (RXf_SKIPWHITE|RXf_WHITE); 
-    else {
+    {
         regnode *first = ri->program + 1;
         U8 fop = OP(first);
+        regnode *next = NEXTOPER(first);
+        U8 nop = OP(next);
 
-        if (PL_regkind[fop] == NOTHING && OP(NEXTOPER(first)) == END)
+        if (PL_regkind[fop] == NOTHING && nop == END)
             r->extflags |= RXf_NULL;
-        else if (PL_regkind[fop] == BOL && OP(NEXTOPER(first)) == END)
+        else if (PL_regkind[fop] == BOL && nop == END)
             r->extflags |= RXf_START_ONLY;
-        else if (fop == PLUS && OP(NEXTOPER(first)) == SPACE
-			     && OP(regnext(first)) == END)
-            r->extflags |= RXf_WHITE;    
+        else if (fop == PLUS && PL_regkind[nop] == POSIXD && FLAGS(next) == _CC_SPACE && OP(regnext(first)) == END)
+            r->extflags |= RXf_WHITE;
+        else if ( r->extflags & RXf_SPLIT && fop == EXACT && STR_LEN(first) == 1 && *(STRING(first)) == ' ' && OP(regnext(first)) == END )
+            r->extflags |= (RXf_SKIPWHITE|RXf_WHITE);
+
     }
-#endif
 #ifdef DEBUGGING
     if (RExC_paren_names) {
         ri->name_list_idx = add_data( pRExC_state, 1, "a" );
@@ -5326,12 +6442,18 @@
         PerlIO_printf(Perl_debug_log, "\n");
     });
 #endif
+
+#ifdef USE_ITHREADS
+    /* under ithreads the ?pat? PMf_USED flag on the pmop is simulated
+     * by setting the regexp SV to readonly-only instead. If the
+     * pattern's been recompiled, the USEDness should remain. */
+    if (old_re && SvREADONLY(old_re))
+        SvREADONLY_on(rx);
+#endif
     return rx;
 }
 
-#undef RE_ENGINE_PTR
 
-
 SV*
 Perl_reg_named_buff(pTHX_ REGEXP * const rx, SV * const key, SV * const value,
                     const U32 flags)
@@ -5343,7 +6465,7 @@
     if (flags & RXapif_FETCH) {
         return reg_named_buff_fetch(rx, key, flags);
     } else if (flags & (RXapif_STORE | RXapif_DELETE | RXapif_CLEAR)) {
-        Perl_croak_no_modify(aTHX);
+        Perl_croak_no_modify();
         return NULL;
     } else if (flags & RXapif_EXISTS) {
         return reg_named_buff_exists(rx, key, flags)
@@ -5382,7 +6504,7 @@
 {
     AV *retarray = NULL;
     SV *ret;
-    struct regexp *const rx = (struct regexp *)SvANY(r);
+    struct regexp *const rx = ReANY(r);
 
     PERL_ARGS_ASSERT_REG_NAMED_BUFF_FETCH;
 
@@ -5405,7 +6527,8 @@
                     if (!retarray)
                         return ret;
                 } else {
-                    ret = newSVsv(&PL_sv_undef);
+                    if (retarray)
+                        ret = newSVsv(&PL_sv_undef);
                 }
                 if (retarray)
                     av_push(retarray, ret);
@@ -5421,7 +6544,7 @@
 Perl_reg_named_buff_exists(pTHX_ REGEXP * const r, SV * const key,
                            const U32 flags)
 {
-    struct regexp *const rx = (struct regexp *)SvANY(r);
+    struct regexp *const rx = ReANY(r);
 
     PERL_ARGS_ASSERT_REG_NAMED_BUFF_EXISTS;
 
@@ -5431,7 +6554,7 @@
         } else {
 	    SV *sv = CALLREG_NAMED_BUFF_FETCH(r, key, flags);
             if (sv) {
-		SvREFCNT_dec(sv);
+		SvREFCNT_dec_NN(sv);
                 return TRUE;
             } else {
                 return FALSE;
@@ -5445,7 +6568,7 @@
 SV*
 Perl_reg_named_buff_firstkey(pTHX_ REGEXP * const r, const U32 flags)
 {
-    struct regexp *const rx = (struct regexp *)SvANY(r);
+    struct regexp *const rx = ReANY(r);
 
     PERL_ARGS_ASSERT_REG_NAMED_BUFF_FIRSTKEY;
 
@@ -5461,7 +6584,7 @@
 SV*
 Perl_reg_named_buff_nextkey(pTHX_ REGEXP * const r, const U32 flags)
 {
-    struct regexp *const rx = (struct regexp *)SvANY(r);
+    struct regexp *const rx = ReANY(r);
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_REG_NAMED_BUFF_NEXTKEY;
@@ -5497,7 +6620,7 @@
     SV *ret;
     AV *av;
     I32 length;
-    struct regexp *const rx = (struct regexp *)SvANY(r);
+    struct regexp *const rx = ReANY(r);
 
     PERL_ARGS_ASSERT_REG_NAMED_BUFF_SCALAR;
 
@@ -5508,7 +6631,7 @@
             ret = CALLREG_NAMED_BUFF_ALL(r, (flags | RXapif_REGNAMES));
             av = MUTABLE_AV(SvRV(ret));
             length = av_len(av);
-	    SvREFCNT_dec(ret);
+	    SvREFCNT_dec_NN(ret);
             return newSViv(length + 1);
         } else {
             Perl_croak(aTHX_ "panic: Unknown flags %d in named_buff_scalar", (int)flags);
@@ -5521,7 +6644,7 @@
 SV*
 Perl_reg_named_buff_all(pTHX_ REGEXP * const r, const U32 flags)
 {
-    struct regexp *const rx = (struct regexp *)SvANY(r);
+    struct regexp *const rx = ReANY(r);
     AV *av = newAV();
 
     PERL_ARGS_ASSERT_REG_NAMED_BUFF_ALL;
@@ -5557,47 +6680,67 @@
 Perl_reg_numbered_buff_fetch(pTHX_ REGEXP * const r, const I32 paren,
 			     SV * const sv)
 {
-    struct regexp *const rx = (struct regexp *)SvANY(r);
+    struct regexp *const rx = ReANY(r);
     char *s = NULL;
     I32 i = 0;
     I32 s1, t1;
+    I32 n = paren;
 
     PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_FETCH;
         
-    if (!rx->subbeg) {
-        sv_setsv(sv,&PL_sv_undef);
-        return;
-    } 
-    else               
-    if (paren == RX_BUFF_IDX_PREMATCH && rx->offs[0].start != -1) {
-        /* $` */
+    if ( (    n == RX_BUFF_IDX_CARET_PREMATCH
+           || n == RX_BUFF_IDX_CARET_FULLMATCH
+           || n == RX_BUFF_IDX_CARET_POSTMATCH
+         )
+         && !(rx->extflags & RXf_PMf_KEEPCOPY)
+    )
+        goto ret_undef;
+
+    if (!rx->subbeg)
+        goto ret_undef;
+
+    if (n == RX_BUFF_IDX_CARET_FULLMATCH)
+        /* no need to distinguish between them any more */
+        n = RX_BUFF_IDX_FULLMATCH;
+
+    if ((n == RX_BUFF_IDX_PREMATCH || n == RX_BUFF_IDX_CARET_PREMATCH)
+        && rx->offs[0].start != -1)
+    {
+        /* $`, ${^PREMATCH} */
 	i = rx->offs[0].start;
 	s = rx->subbeg;
     }
     else 
-    if (paren == RX_BUFF_IDX_POSTMATCH && rx->offs[0].end != -1) {
-        /* $' */
-	s = rx->subbeg + rx->offs[0].end;
-	i = rx->sublen - rx->offs[0].end;
+    if ((n == RX_BUFF_IDX_POSTMATCH || n == RX_BUFF_IDX_CARET_POSTMATCH)
+        && rx->offs[0].end != -1)
+    {
+        /* $', ${^POSTMATCH} */
+	s = rx->subbeg - rx->suboffset + rx->offs[0].end;
+	i = rx->sublen + rx->suboffset - rx->offs[0].end;
     } 
     else
-    if ( 0 <= paren && paren <= (I32)rx->nparens &&
-        (s1 = rx->offs[paren].start) != -1 &&
-        (t1 = rx->offs[paren].end) != -1)
+    if ( 0 <= n && n <= (I32)rx->nparens &&
+        (s1 = rx->offs[n].start) != -1 &&
+        (t1 = rx->offs[n].end) != -1)
     {
-        /* $& $1 ... */
+        /* $&, ${^MATCH},  $1 ... */
         i = t1 - s1;
-        s = rx->subbeg + s1;
+        s = rx->subbeg + s1 - rx->suboffset;
     } else {
-        sv_setsv(sv,&PL_sv_undef);
-        return;
+        goto ret_undef;
     }          
+
+    assert(s >= rx->subbeg);
     assert(rx->sublen >= (s - rx->subbeg) + i );
     if (i >= 0) {
-        const int oldtainted = PL_tainted;
+#if NO_TAINT_SUPPORT
+        sv_setpvn(sv, s, i);
+#else
+        const int oldtainted = TAINT_get;
         TAINT_NOT;
         sv_setpvn(sv, s, i);
-        PL_tainted = oldtainted;
+        TAINT_set(oldtainted);
+#endif
         if ( (rx->extflags & RXf_CANY_SEEN)
             ? (RXp_MATCH_UTF8(rx)
                         && (!i || is_utf8_string((U8*)s, i)))
@@ -5607,12 +6750,12 @@
         }
         else
             SvUTF8_off(sv);
-        if (PL_tainting) {
+        if (TAINTING_get) {
             if (RXp_MATCH_TAINTED(rx)) {
                 if (SvTYPE(sv) >= SVt_PVMG) {
                     MAGIC* const mg = SvMAGIC(sv);
                     MAGIC* mgt;
-                    PL_tainted = 1;
+                    TAINT;
                     SvMAGIC_set(sv, mg->mg_moremagic);
                     SvTAINT(sv);
                     if ((mgt = SvMAGIC(sv))) {
@@ -5620,7 +6763,7 @@
                         SvMAGIC_set(sv, mg);
                     }
                 } else {
-                    PL_tainted = 1;
+                    TAINT;
                     SvTAINT(sv);
                 }
             } else 
@@ -5627,6 +6770,7 @@
                 SvTAINTED_off(sv);
         }
     } else {
+      ret_undef:
         sv_setsv(sv,&PL_sv_undef);
         return;
     }
@@ -5643,7 +6787,7 @@
     PERL_UNUSED_ARG(value);
 
     if (!PL_localizing)
-        Perl_croak_no_modify(aTHX);
+        Perl_croak_no_modify();
 }
 
 I32
@@ -5650,7 +6794,7 @@
 Perl_reg_numbered_buff_length(pTHX_ REGEXP * const r, const SV * const sv,
                               const I32 paren)
 {
-    struct regexp *const rx = (struct regexp *)SvANY(r);
+    struct regexp *const rx = ReANY(r);
     I32 i;
     I32 s1, t1;
 
@@ -5657,9 +6801,13 @@
     PERL_ARGS_ASSERT_REG_NUMBERED_BUFF_LENGTH;
 
     /* Some of this code was originally in C<Perl_magic_len> in F<mg.c> */
-	switch (paren) {
-      /* $` / ${^PREMATCH} */
-      case RX_BUFF_IDX_PREMATCH:
+    switch (paren) {
+      case RX_BUFF_IDX_CARET_PREMATCH: /* ${^PREMATCH} */
+         if (!(rx->extflags & RXf_PMf_KEEPCOPY))
+            goto warn_undef;
+        /*FALLTHROUGH*/
+
+      case RX_BUFF_IDX_PREMATCH:       /* $` */
         if (rx->offs[0].start != -1) {
 			i = rx->offs[0].start;
 			if (i > 0) {
@@ -5669,8 +6817,11 @@
 			}
 	    }
         return 0;
-      /* $' / ${^POSTMATCH} */
-      case RX_BUFF_IDX_POSTMATCH:
+
+      case RX_BUFF_IDX_CARET_POSTMATCH: /* ${^POSTMATCH} */
+         if (!(rx->extflags & RXf_PMf_KEEPCOPY))
+            goto warn_undef;
+      case RX_BUFF_IDX_POSTMATCH:       /* $' */
 	    if (rx->offs[0].end != -1) {
 			i = rx->sublen - rx->offs[0].end;
 			if (i > 0) {
@@ -5680,6 +6831,12 @@
 			}
 	    }
         return 0;
+
+      case RX_BUFF_IDX_CARET_FULLMATCH: /* ${^MATCH} */
+         if (!(rx->extflags & RXf_PMf_KEEPCOPY))
+            goto warn_undef;
+        /*FALLTHROUGH*/
+
       /* $& / ${^MATCH}, $1, $2, ... */
       default:
 	    if (paren <= (I32)rx->nparens &&
@@ -5689,6 +6846,7 @@
             i = t1 - s1;
             goto getlen;
         } else {
+          warn_undef:
             if (ckWARN(WARN_UNINITIALIZED))
                 report_uninit((const SV *)sv);
             return 0;
@@ -5696,7 +6854,7 @@
     }
   getlen:
     if (i > 0 && RXp_MATCH_UTF8(rx)) {
-        const char * const s = rx->subbeg + s1;
+        const char * const s = rx->subbeg - rx->suboffset + s1;
         const U8 *ep;
         STRLEN el;
 
@@ -5742,13 +6900,15 @@
 	if (UTF)
 	    do {
 		RExC_parse += UTF8SKIP(RExC_parse);
-	    } while (isALNUM_utf8((U8*)RExC_parse));
+	    } while (isWORDCHAR_utf8((U8*)RExC_parse));
 	else
 	    do {
 		RExC_parse++;
-	    } while (isALNUM(*RExC_parse));
+	    } while (isWORDCHAR(*RExC_parse));
+    } else {
+	RExC_parse++; /* so the <- from the vFAIL is after the offending character */
+        vFAIL("Group name must start with a non-digit word character");
     }
-
     if ( flags ) {
         SV* sv_name
 	    = newSVpvn_flags(name_start, (int)(RExC_parse - name_start),
@@ -5769,9 +6929,10 @@
             return sv_dat;
         }
         else {
-            Perl_croak(aTHX_ "panic: bad flag in reg_scan_name");
+            Perl_croak(aTHX_ "panic: bad flag %lx in reg_scan_name",
+		       (unsigned long) flags);
         }
-        /* NOT REACHED */
+        assert(0); /* NOT REACHED */
     }
     return NULL;
 }
@@ -5824,22 +6985,77 @@
 
 /* This section of code defines the inversion list object and its methods.  The
  * interfaces are highly subject to change, so as much as possible is static to
- * this file.  An inversion list is here implemented as a malloc'd C array with
- * some added info.  More will be coming when functionality is added later.
+ * this file.  An inversion list is here implemented as a malloc'd C UV array
+ * with some added info that is placed as UVs at the beginning in a header
+ * portion.  An inversion list for Unicode is an array of code points, sorted
+ * by ordinal number.  The zeroth element is the first code point in the list.
+ * The 1th element is the first element beyond that not in the list.  In other
+ * words, the first range is
+ *  invlist[0]..(invlist[1]-1)
+ * The other ranges follow.  Thus every element whose index is divisible by two
+ * marks the beginning of a range that is in the list, and every element not
+ * divisible by two marks the beginning of a range not in the list.  A single
+ * element inversion list that contains the single code point N generally
+ * consists of two elements
+ *  invlist[0] == N
+ *  invlist[1] == N+1
+ * (The exception is when N is the highest representable value on the
+ * machine, in which case the list containing just it would be a single
+ * element, itself.  By extension, if the last range in the list extends to
+ * infinity, then the first element of that range will be in the inversion list
+ * at a position that is divisible by two, and is the final element in the
+ * list.)
+ * Taking the complement (inverting) an inversion list is quite simple, if the
+ * first element is 0, remove it; otherwise add a 0 element at the beginning.
+ * This implementation reserves an element at the beginning of each inversion
+ * list to contain 0 when the list contains 0, and contains 1 otherwise.  The
+ * actual beginning of the list is either that element if 0, or the next one if
+ * 1.
  *
- * It is currently implemented as an HV to the outside world, but is actually
- * an SV pointing to an array of UVs that the SV thinks are bytes.  This allows
- * us to have an array of UV whose memory management is automatically handled
- * by the existing facilities for SV's.
+ * More about inversion lists can be found in "Unicode Demystified"
+ * Chapter 13 by Richard Gillam, published by Addison-Wesley.
+ * More will be coming when functionality is added later.
  *
+ * The inversion list data structure is currently implemented as an SV pointing
+ * to an array of UVs that the SV thinks are bytes.  This allows us to have an
+ * array of UV whose memory management is automatically handled by the existing
+ * facilities for SV's.
+ *
  * Some of the methods should always be private to the implementation, and some
  * should eventually be made public */
 
+/* The header definitions are in F<inline_invlist.c> */
+#define TO_INTERNAL_SIZE(x) (((x) + HEADER_LENGTH) * sizeof(UV))
+#define FROM_INTERNAL_SIZE(x) (((x)/ sizeof(UV)) - HEADER_LENGTH)
+
 #define INVLIST_INITIAL_LEN 10
 
 PERL_STATIC_INLINE UV*
-S_invlist_array(pTHX_ HV* const invlist)
+S__invlist_array_init(pTHX_ SV* const invlist, const bool will_have_0)
 {
+    /* Returns a pointer to the first element in the inversion list's array.
+     * This is called upon initialization of an inversion list.  Where the
+     * array begins depends on whether the list has the code point U+0000
+     * in it or not.  The other parameter tells it whether the code that
+     * follows this call is about to put a 0 in the inversion list or not.
+     * The first element is either the element with 0, if 0, or the next one,
+     * if 1 */
+
+    UV* zero = get_invlist_zero_addr(invlist);
+
+    PERL_ARGS_ASSERT__INVLIST_ARRAY_INIT;
+
+    /* Must be empty */
+    assert(! *_get_invlist_len_addr(invlist));
+
+    /* 1^1 = 0; 1^0 = 1 */
+    *zero = 1 ^ will_have_0;
+    return zero + *zero;
+}
+
+PERL_STATIC_INLINE UV*
+S_invlist_array(pTHX_ SV* const invlist)
+{
     /* Returns the pointer to the inversion list's array.  Every time the
      * length changes, this needs to be called in case malloc or realloc moved
      * it */
@@ -5846,58 +7062,107 @@
 
     PERL_ARGS_ASSERT_INVLIST_ARRAY;
 
-    return (UV *) SvPVX(invlist);
+    /* Must not be empty.  If these fail, you probably didn't check for <len>
+     * being non-zero before trying to get the array */
+    assert(*_get_invlist_len_addr(invlist));
+    assert(*get_invlist_zero_addr(invlist) == 0
+	   || *get_invlist_zero_addr(invlist) == 1);
+
+    /* The array begins either at the element reserved for zero if the
+     * list contains 0 (that element will be set to 0), or otherwise the next
+     * element (in which case the reserved element will be set to 1). */
+    return (UV *) (get_invlist_zero_addr(invlist)
+		   + *get_invlist_zero_addr(invlist));
 }
 
-PERL_STATIC_INLINE UV
-S_invlist_len(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE void
+S_invlist_set_len(pTHX_ SV* const invlist, const UV len)
 {
-    /* Returns the current number of elements in the inversion list's array */
+    /* Sets the current number of elements stored in the inversion list */
 
-    PERL_ARGS_ASSERT_INVLIST_LEN;
+    PERL_ARGS_ASSERT_INVLIST_SET_LEN;
 
-    return SvCUR(invlist) / sizeof(UV);
+    *_get_invlist_len_addr(invlist) = len;
+
+    assert(len <= SvLEN(invlist));
+
+    SvCUR_set(invlist, TO_INTERNAL_SIZE(len));
+    /* If the list contains U+0000, that element is part of the header,
+     * and should not be counted as part of the array.  It will contain
+     * 0 in that case, and 1 otherwise.  So we could flop 0=>1, 1=>0 and
+     * subtract:
+     *	SvCUR_set(invlist,
+     *		  TO_INTERNAL_SIZE(len
+     *				   - (*get_invlist_zero_addr(inv_list) ^ 1)));
+     * But, this is only valid if len is not 0.  The consequences of not doing
+     * this is that the memory allocation code may think that 1 more UV is
+     * being used than actually is, and so might do an unnecessary grow.  That
+     * seems worth not bothering to make this the precise amount.
+     *
+     * Note that when inverting, SvCUR shouldn't change */
 }
 
-PERL_STATIC_INLINE UV
-S_invlist_max(pTHX_ HV* const invlist)
+PERL_STATIC_INLINE IV*
+S_get_invlist_previous_index_addr(pTHX_ SV* invlist)
 {
-    /* Returns the maximum number of elements storable in the inversion list's
-     * array, without having to realloc() */
+    /* Return the address of the UV that is reserved to hold the cached index
+     * */
 
-    PERL_ARGS_ASSERT_INVLIST_MAX;
+    PERL_ARGS_ASSERT_GET_INVLIST_PREVIOUS_INDEX_ADDR;
 
-    return SvLEN(invlist) / sizeof(UV);
+    return (IV *) (SvPVX(invlist) + (INVLIST_PREVIOUS_INDEX_OFFSET * sizeof (UV)));
 }
 
-PERL_STATIC_INLINE void
-S_invlist_set_len(pTHX_ HV* const invlist, const UV len)
+PERL_STATIC_INLINE IV
+S_invlist_previous_index(pTHX_ SV* const invlist)
 {
-    /* Sets the current number of elements stored in the inversion list */
+    /* Returns cached index of previous search */
 
-    PERL_ARGS_ASSERT_INVLIST_SET_LEN;
+    PERL_ARGS_ASSERT_INVLIST_PREVIOUS_INDEX;
 
-    SvCUR_set(invlist, len * sizeof(UV));
+    return *get_invlist_previous_index_addr(invlist);
 }
 
 PERL_STATIC_INLINE void
-S_invlist_set_max(pTHX_ HV* const invlist, const UV max)
+S_invlist_set_previous_index(pTHX_ SV* const invlist, const IV index)
 {
+    /* Caches <index> for later retrieval */
 
-    /* Sets the maximum number of elements storable in the inversion list
-     * without having to realloc() */
+    PERL_ARGS_ASSERT_INVLIST_SET_PREVIOUS_INDEX;
 
-    PERL_ARGS_ASSERT_INVLIST_SET_MAX;
+    assert(index == 0 || index < (int) _invlist_len(invlist));
 
-    if (max < invlist_len(invlist)) {
-	Perl_croak(aTHX_ "panic: Can't make max size '%"UVuf"' less than current length %"UVuf" in inversion list", invlist_max(invlist), invlist_len(invlist));
-    }
+    *get_invlist_previous_index_addr(invlist) = index;
+}
 
-    SvLEN_set(invlist, max * sizeof(UV));
+PERL_STATIC_INLINE UV
+S_invlist_max(pTHX_ SV* const invlist)
+{
+    /* Returns the maximum number of elements storable in the inversion list's
+     * array, without having to realloc() */
+
+    PERL_ARGS_ASSERT_INVLIST_MAX;
+
+    return SvLEN(invlist) == 0  /* This happens under _new_invlist_C_array */
+           ? _invlist_len(invlist)
+           : FROM_INTERNAL_SIZE(SvLEN(invlist));
 }
 
+PERL_STATIC_INLINE UV*
+S_get_invlist_zero_addr(pTHX_ SV* invlist)
+{
+    /* Return the address of the UV that is reserved to hold 0 if the inversion
+     * list contains 0.  This has to be the last element of the heading, as the
+     * list proper starts with either it if 0, or the next element if not.
+     * (But we force it to contain either 0 or 1) */
+
+    PERL_ARGS_ASSERT_GET_INVLIST_ZERO_ADDR;
+
+    return (UV *) (SvPVX(invlist) + (INVLIST_ZERO_OFFSET * sizeof (UV)));
+}
+
 #ifndef PERL_IN_XSUB_RE
-HV*
+SV*
 Perl__new_invlist(pTHX_ IV initial_size)
 {
 
@@ -5905,37 +7170,76 @@
      * space to store 'initial_size' elements.  If that number is negative, a
      * system default is used instead */
 
+    SV* new_list;
+
     if (initial_size < 0) {
 	initial_size = INVLIST_INITIAL_LEN;
     }
 
     /* Allocate the initial space */
-    return (HV *) newSV(initial_size * sizeof(UV));
+    new_list = newSV(TO_INTERNAL_SIZE(initial_size));
+    invlist_set_len(new_list, 0);
+
+    /* Force iterinit() to be used to get iteration to work */
+    *get_invlist_iter_addr(new_list) = UV_MAX;
+
+    /* This should force a segfault if a method doesn't initialize this
+     * properly */
+    *get_invlist_zero_addr(new_list) = UV_MAX;
+
+    *get_invlist_previous_index_addr(new_list) = 0;
+    *get_invlist_version_id_addr(new_list) = INVLIST_VERSION_ID;
+#if HEADER_LENGTH != 5
+#   error Need to regenerate INVLIST_VERSION_ID by running perl -E 'say int(rand 2**31-1)', and then changing the #if to the new length
+#endif
+
+    return new_list;
 }
 #endif
 
-PERL_STATIC_INLINE void
-S_invlist_destroy(pTHX_ HV* const invlist)
+STATIC SV*
+S__new_invlist_C_array(pTHX_ UV* list)
 {
-   /* Inversion list destructor */
+    /* Return a pointer to a newly constructed inversion list, initialized to
+     * point to <list>, which has to be in the exact correct inversion list
+     * form, including internal fields.  Thus this is a dangerous routine that
+     * should not be used in the wrong hands */
 
-    PERL_ARGS_ASSERT_INVLIST_DESTROY;
+    SV* invlist = newSV_type(SVt_PV);
 
-    SvREFCNT_dec(invlist);
+    PERL_ARGS_ASSERT__NEW_INVLIST_C_ARRAY;
+
+    SvPV_set(invlist, (char *) list);
+    SvLEN_set(invlist, 0);  /* Means we own the contents, and the system
+			       shouldn't touch it */
+    SvCUR_set(invlist, TO_INTERNAL_SIZE(_invlist_len(invlist)));
+
+    if (*get_invlist_version_id_addr(invlist) != INVLIST_VERSION_ID) {
+        Perl_croak(aTHX_ "panic: Incorrect version for previously generated inversion list");
+    }
+
+    /* Initialize the iteration pointer.
+     * XXX This could be done at compile time in charclass_invlists.h, but I
+     * (khw) am not confident that the suffixes for specifying the C constant
+     * UV_MAX are portable, e.g.  'ull' on a 32 bit machine that is configured
+     * to use 64 bits; might need a Configure probe */
+    invlist_iterfinish(invlist);
+
+    return invlist;
 }
 
 STATIC void
-S_invlist_extend(pTHX_ HV* const invlist, const UV new_max)
+S_invlist_extend(pTHX_ SV* const invlist, const UV new_max)
 {
     /* Grow the maximum size of an inversion list */
 
     PERL_ARGS_ASSERT_INVLIST_EXTEND;
 
-    SvGROW((SV *)invlist, new_max * sizeof(UV));
+    SvGROW((SV *)invlist, TO_INTERNAL_SIZE(new_max));
 }
 
 PERL_STATIC_INLINE void
-S_invlist_trim(pTHX_ HV* const invlist)
+S_invlist_trim(pTHX_ SV* const invlist)
 {
     PERL_ARGS_ASSERT_INVLIST_TRIM;
 
@@ -5945,27 +7249,25 @@
     SvPV_shrink_to_cur((SV *) invlist);
 }
 
-/* An element is in an inversion list iff its index is even numbered: 0, 2, 4,
- * etc */
+#define _invlist_union_complement_2nd(a, b, output) _invlist_union_maybe_complement_2nd(a, b, TRUE, output)
 
-#define ELEMENT_IN_INVLIST_SET(i) (! ((i) & 1))
-
-#ifndef PERL_IN_XSUB_RE
-void
-Perl__append_range_to_invlist(pTHX_ HV* const invlist, const UV start, const UV end)
+STATIC void
+S__append_range_to_invlist(pTHX_ SV* const invlist, const UV start, const UV end)
 {
    /* Subject to change or removal.  Append the range from 'start' to 'end' at
     * the end of the inversion list.  The range must be above any existing
     * ones. */
 
-    UV* array = invlist_array(invlist);
+    UV* array;
     UV max = invlist_max(invlist);
-    UV len = invlist_len(invlist);
+    UV len = _invlist_len(invlist);
 
     PERL_ARGS_ASSERT__APPEND_RANGE_TO_INVLIST;
 
-    if (len > 0) {
-
+    if (len == 0) { /* Empty lists must be initialized */
+        array = _invlist_array_init(invlist, start == 0);
+    }
+    else {
 	/* Here, the existing list is non-empty. The current max entry in the
 	 * list is generally the first value not in the set, except when the
 	 * set extends to the end of permissible values, in which case it is
@@ -5973,10 +7275,13 @@
 	 * append out-of-order */
 
 	UV final_element = len - 1;
+	array = invlist_array(invlist);
 	if (array[final_element] > start
-	    || ELEMENT_IN_INVLIST_SET(final_element))
+	    || ELEMENT_RANGE_MATCHES_INVLIST(final_element))
 	{
-	    Perl_croak(aTHX_ "panic: attempting to append to an inversion list, but wasn't at the end of the list");
+	    Perl_croak(aTHX_ "panic: attempting to append to an inversion list, but wasn't at the end of the list, final=%"UVuf", start=%"UVuf", match=%c",
+		       array[final_element], start,
+		       ELEMENT_RANGE_MATCHES_INVLIST(final_element) ? 't' : 'f');
 	}
 
 	/* Here, it is a legal append.  If the new range begins with the first
@@ -5989,7 +7294,7 @@
 	    }
 	    else {
 		/* But if the end is the maximum representable on the machine,
-		 * just let the range that this would extend have no end */
+		 * just let the range that this would extend to have no end */
 		invlist_set_len(invlist, len - 1);
 	    }
 	    return;
@@ -6004,11 +7309,14 @@
      * moved */
     if (max < len) {
 	invlist_extend(invlist, len);
+	invlist_set_len(invlist, len);	/* Have to set len here to avoid assert
+					   failure in invlist_array() */
 	array = invlist_array(invlist);
     }
+    else {
+	invlist_set_len(invlist, len);
+    }
 
-    invlist_set_len(invlist, len);
-
     /* The next item on the list starts the range, the one after that is
      * one past the new range.  */
     array[len - 2] = start;
@@ -6021,12 +7329,200 @@
 	invlist_set_len(invlist, len - 1);
     }
 }
-#endif
 
-STATIC HV*
-S_invlist_union(pTHX_ HV* const a, HV* const b)
+#ifndef PERL_IN_XSUB_RE
+
+IV
+Perl__invlist_search(pTHX_ SV* const invlist, const UV cp)
 {
-    /* Return a new inversion list which is the union of two inversion lists.
+    /* Searches the inversion list for the entry that contains the input code
+     * point <cp>.  If <cp> is not in the list, -1 is returned.  Otherwise, the
+     * return value is the index into the list's array of the range that
+     * contains <cp> */
+
+    IV low = 0;
+    IV mid;
+    IV high = _invlist_len(invlist);
+    const IV highest_element = high - 1;
+    const UV* array;
+
+    PERL_ARGS_ASSERT__INVLIST_SEARCH;
+
+    /* If list is empty, return failure. */
+    if (high == 0) {
+	return -1;
+    }
+
+    /* (We can't get the array unless we know the list is non-empty) */
+    array = invlist_array(invlist);
+
+    mid = invlist_previous_index(invlist);
+    assert(mid >=0 && mid <= highest_element);
+
+    /* <mid> contains the cache of the result of the previous call to this
+     * function (0 the first time).  See if this call is for the same result,
+     * or if it is for mid-1.  This is under the theory that calls to this
+     * function will often be for related code points that are near each other.
+     * And benchmarks show that caching gives better results.  We also test
+     * here if the code point is within the bounds of the list.  These tests
+     * replace others that would have had to be made anyway to make sure that
+     * the array bounds were not exceeded, and these give us extra information
+     * at the same time */
+    if (cp >= array[mid]) {
+        if (cp >= array[highest_element]) {
+            return highest_element;
+        }
+
+        /* Here, array[mid] <= cp < array[highest_element].  This means that
+         * the final element is not the answer, so can exclude it; it also
+         * means that <mid> is not the final element, so can refer to 'mid + 1'
+         * safely */
+        if (cp < array[mid + 1]) {
+            return mid;
+        }
+        high--;
+        low = mid + 1;
+    }
+    else { /* cp < aray[mid] */
+        if (cp < array[0]) { /* Fail if outside the array */
+            return -1;
+        }
+        high = mid;
+        if (cp >= array[mid - 1]) {
+            goto found_entry;
+        }
+    }
+
+    /* Binary search.  What we are looking for is <i> such that
+     *	array[i] <= cp < array[i+1]
+     * The loop below converges on the i+1.  Note that there may not be an
+     * (i+1)th element in the array, and things work nonetheless */
+    while (low < high) {
+	mid = (low + high) / 2;
+        assert(mid <= highest_element);
+	if (array[mid] <= cp) { /* cp >= array[mid] */
+	    low = mid + 1;
+
+	    /* We could do this extra test to exit the loop early.
+	    if (cp < array[low]) {
+		return mid;
+	    }
+	    */
+	}
+	else { /* cp < array[mid] */
+	    high = mid;
+	}
+    }
+
+  found_entry:
+    high--;
+    invlist_set_previous_index(invlist, high);
+    return high;
+}
+
+void
+Perl__invlist_populate_swatch(pTHX_ SV* const invlist, const UV start, const UV end, U8* swatch)
+{
+    /* populates a swatch of a swash the same way swatch_get() does in utf8.c,
+     * but is used when the swash has an inversion list.  This makes this much
+     * faster, as it uses a binary search instead of a linear one.  This is
+     * intimately tied to that function, and perhaps should be in utf8.c,
+     * except it is intimately tied to inversion lists as well.  It assumes
+     * that <swatch> is all 0's on input */
+
+    UV current = start;
+    const IV len = _invlist_len(invlist);
+    IV i;
+    const UV * array;
+
+    PERL_ARGS_ASSERT__INVLIST_POPULATE_SWATCH;
+
+    if (len == 0) { /* Empty inversion list */
+        return;
+    }
+
+    array = invlist_array(invlist);
+
+    /* Find which element it is */
+    i = _invlist_search(invlist, start);
+
+    /* We populate from <start> to <end> */
+    while (current < end) {
+        UV upper;
+
+	/* The inversion list gives the results for every possible code point
+	 * after the first one in the list.  Only those ranges whose index is
+	 * even are ones that the inversion list matches.  For the odd ones,
+	 * and if the initial code point is not in the list, we have to skip
+	 * forward to the next element */
+        if (i == -1 || ! ELEMENT_RANGE_MATCHES_INVLIST(i)) {
+            i++;
+            if (i >= len) { /* Finished if beyond the end of the array */
+                return;
+            }
+            current = array[i];
+	    if (current >= end) {   /* Finished if beyond the end of what we
+				       are populating */
+                if (LIKELY(end < UV_MAX)) {
+                    return;
+                }
+
+                /* We get here when the upper bound is the maximum
+                 * representable on the machine, and we are looking for just
+                 * that code point.  Have to special case it */
+                i = len;
+                goto join_end_of_list;
+            }
+        }
+        assert(current >= start);
+
+	/* The current range ends one below the next one, except don't go past
+	 * <end> */
+        i++;
+        upper = (i < len && array[i] < end) ? array[i] : end;
+
+	/* Here we are in a range that matches.  Populate a bit in the 3-bit U8
+	 * for each code point in it */
+        for (; current < upper; current++) {
+            const STRLEN offset = (STRLEN)(current - start);
+            swatch[offset >> 3] |= 1 << (offset & 7);
+        }
+
+    join_end_of_list:
+
+	/* Quit if at the end of the list */
+        if (i >= len) {
+
+	    /* But first, have to deal with the highest possible code point on
+	     * the platform.  The previous code assumes that <end> is one
+	     * beyond where we want to populate, but that is impossible at the
+	     * platform's infinity, so have to handle it specially */
+            if (UNLIKELY(end == UV_MAX && ELEMENT_RANGE_MATCHES_INVLIST(len-1)))
+	    {
+                const STRLEN offset = (STRLEN)(end - start);
+                swatch[offset >> 3] |= 1 << (offset & 7);
+            }
+            return;
+        }
+
+	/* Advance to the next range, which will be for code points not in the
+	 * inversion list */
+        current = array[i];
+    }
+
+    return;
+}
+
+void
+Perl__invlist_union_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** output)
+{
+    /* Take the union of two inversion lists and point <output> to it.  *output
+     * SHOULD BE DEFINED upon input, and if it points to one of the two lists,
+     * the reference count to that list will be decremented.  The first list,
+     * <a>, may be NULL, in which case a copy of the second list is returned.
+     * If <complement_b> is TRUE, the union is taken of the complement
+     * (inversion) of <b> instead of b itself.
+     *
      * The basis for this comes from "Unicode Demystified" Chapter 13 by
      * Richard Gillam, published by Addison-Wesley, and explained at some
      * length there.  The preface says to incorporate its examples into your
@@ -6037,14 +7533,15 @@
      * XXX A potential performance improvement is to keep track as we go along
      * if only one of the inputs contributes to the result, meaning the other
      * is a subset of that one.  In that case, we can skip the final copy and
-     * return the larger of the input lists */
+     * return the larger of the input lists, but then outside code might need
+     * to keep track of whether to free the input list or not */
 
-    UV* array_a = invlist_array(a);   /* a's array */
-    UV* array_b = invlist_array(b);
-    UV len_a = invlist_len(a);	/* length of a's array */
-    UV len_b = invlist_len(b);
+    UV* array_a;    /* a's array */
+    UV* array_b;
+    UV len_a;	    /* length of a's array */
+    UV len_b;
 
-    HV* u;			/* the resulting union */
+    SV* u;			/* the resulting union */
     UV* array_u;
     UV len_u;
 
@@ -6060,13 +7557,82 @@
      */
     UV count = 0;
 
-    PERL_ARGS_ASSERT_INVLIST_UNION;
+    PERL_ARGS_ASSERT__INVLIST_UNION_MAYBE_COMPLEMENT_2ND;
+    assert(a != b);
 
+    /* If either one is empty, the union is the other one */
+    if (a == NULL || ((len_a = _invlist_len(a)) == 0)) {
+	if (*output == a) {
+            if (a != NULL) {
+                SvREFCNT_dec_NN(a);
+            }
+	}
+	if (*output != b) {
+	    *output = invlist_clone(b);
+            if (complement_b) {
+                _invlist_invert(*output);
+            }
+	} /* else *output already = b; */
+	return;
+    }
+    else if ((len_b = _invlist_len(b)) == 0) {
+	if (*output == b) {
+	    SvREFCNT_dec_NN(b);
+	}
+
+        /* The complement of an empty list is a list that has everything in it,
+         * so the union with <a> includes everything too */
+        if (complement_b) {
+            if (a == *output) {
+                SvREFCNT_dec_NN(a);
+            }
+            *output = _new_invlist(1);
+            _append_range_to_invlist(*output, 0, UV_MAX);
+        }
+        else if (*output != a) {
+            *output = invlist_clone(a);
+        }
+        /* else *output already = a; */
+	return;
+    }
+
+    /* Here both lists exist and are non-empty */
+    array_a = invlist_array(a);
+    array_b = invlist_array(b);
+
+    /* If are to take the union of 'a' with the complement of b, set it
+     * up so are looking at b's complement. */
+    if (complement_b) {
+
+	/* To complement, we invert: if the first element is 0, remove it.  To
+	 * do this, we just pretend the array starts one later, and clear the
+	 * flag as we don't have to do anything else later */
+        if (array_b[0] == 0) {
+            array_b++;
+            len_b--;
+            complement_b = FALSE;
+        }
+        else {
+
+            /* But if the first element is not zero, we unshift a 0 before the
+             * array.  The data structure reserves a space for that 0 (which
+             * should be a '1' right now), so physical shifting is unneeded,
+             * but temporarily change that element to 0.  Before exiting the
+             * routine, we must restore the element to '1' */
+            array_b--;
+            len_b++;
+            array_b[0] = 0;
+        }
+    }
+
     /* Size the union for the worst case: that the sets are completely
      * disjoint */
     u = _new_invlist(len_a + len_b);
-    array_u = invlist_array(u);
 
+    /* Will contain U+0000 if either component does */
+    array_u = _invlist_array_init(u, (len_a > 0 && array_a[0] == 0)
+				      || (len_b > 0 && array_b[0] == 0));
+
     /* Go through each list item by item, stopping when exhausted one of
      * them */
     while (i_a < len_a && i_b < len_b) {
@@ -6085,14 +7651,15 @@
 	 * be seamlessly merged.  (In a tie and both are in the set or both not
 	 * in the set, it doesn't matter which we take first.) */
 	if (array_a[i_a] < array_b[i_b]
-	    || (array_a[i_a] == array_b[i_b] && ELEMENT_IN_INVLIST_SET(i_a)))
+	    || (array_a[i_a] == array_b[i_b]
+		&& ELEMENT_RANGE_MATCHES_INVLIST(i_a)))
 	{
-	    cp_in_set = ELEMENT_IN_INVLIST_SET(i_a);
+	    cp_in_set = ELEMENT_RANGE_MATCHES_INVLIST(i_a);
 	    cp= array_a[i_a++];
 	}
 	else {
-	    cp_in_set = ELEMENT_IN_INVLIST_SET(i_b);
-	    cp= array_b[i_b++];
+	    cp_in_set = ELEMENT_RANGE_MATCHES_INVLIST(i_b);
+	    cp = array_b[i_b++];
 	}
 
 	/* Here, have chosen which of the two inputs to look at.  Only output
@@ -6115,9 +7682,9 @@
     /* Here, we are finished going through at least one of the lists, which
      * means there is something remaining in at most one.  We check if the list
      * that hasn't been exhausted is positioned such that we are in the middle
-     * of a range in its set or not.  (We are in the set if the next item in
-     * the array marks the beginning of something not in the set)   If in the
-     * set, we decrement 'count'; if 0, there is potentially more to output.
+     * of a range in its set or not.  (i_a and i_b point to the element beyond
+     * the one we care about.) If in the set, we decrement 'count'; if 0, there
+     * is potentially more to output.
      * There are four cases:
      *	1) Both weren't in their sets, count is 0, and remains 0.  What's left
      *	   in the union is entirely from the non-exhausted set.
@@ -6127,12 +7694,12 @@
      *	   that
      *	3) the exhausted was in its set, non-exhausted isn't, count is 1.
      *	   Nothing further should be output because the union includes
-     *	   everything from the exhausted set.  Not decrementing insures that.
+     *	   everything from the exhausted set.  Not decrementing ensures that.
      *	4) the exhausted wasn't in its set, non-exhausted is, count is 1;
      *	   decrementing to 0 insures that we look at the remainder of the
      *	   non-exhausted set */
-    if ((i_a != len_a && ! ELEMENT_IN_INVLIST_SET(i_a))
-	|| (i_b != len_b && ! ELEMENT_IN_INVLIST_SET(i_b)))
+    if ((i_a != len_a && PREV_RANGE_MATCHES_INVLIST(i_a))
+	|| (i_b != len_b && PREV_RANGE_MATCHES_INVLIST(i_b)))
     {
 	count--;
     }
@@ -6149,7 +7716,7 @@
 
     /* Set result to final length, which can change the pointer to array_u, so
      * re-find it */
-    if (len_u != invlist_len(u)) {
+    if (len_u != _invlist_len(u)) {
 	invlist_set_len(u, len_u);
 	invlist_trim(u);
 	array_u = invlist_array(u);
@@ -6171,27 +7738,45 @@
 	}
     }
 
-    return u;
+    /* If we've changed b, restore it */
+    if (complement_b) {
+        array_b[0] = 1;
+    }
+
+    /*  We may be removing a reference to one of the inputs */
+    if (a == *output || b == *output) {
+        assert(! invlist_is_iterating(*output));
+	SvREFCNT_dec_NN(*output);
+    }
+
+    *output = u;
+    return;
 }
 
-STATIC HV*
-S_invlist_intersection(pTHX_ HV* const a, HV* const b)
+void
+Perl__invlist_intersection_maybe_complement_2nd(pTHX_ SV* const a, SV* const b, bool complement_b, SV** i)
 {
-    /* Return the intersection of two inversion lists.  The basis for this
-     * comes from "Unicode Demystified" Chapter 13 by Richard Gillam, published
-     * by Addison-Wesley, and explained at some length there.  The preface says
-     * to incorporate its examples into your code at your own risk.
+    /* Take the intersection of two inversion lists and point <i> to it.  *i
+     * SHOULD BE DEFINED upon input, and if it points to one of the two lists,
+     * the reference count to that list will be decremented.
+     * If <complement_b> is TRUE, the result will be the intersection of <a>
+     * and the complement (or inversion) of <b> instead of <b> directly.
      *
+     * The basis for this comes from "Unicode Demystified" Chapter 13 by
+     * Richard Gillam, published by Addison-Wesley, and explained at some
+     * length there.  The preface says to incorporate its examples into your
+     * code at your own risk.  In fact, it had bugs
+     *
      * The algorithm is like a merge sort, and is essentially the same as the
      * union above
      */
 
-    UV* array_a = invlist_array(a);   /* a's array */
-    UV* array_b = invlist_array(b);
-    UV len_a = invlist_len(a);	/* length of a's array */
-    UV len_b = invlist_len(b);
+    UV* array_a;		/* a's array */
+    UV* array_b;
+    UV len_a;	/* length of a's array */
+    UV len_b;
 
-    HV* r;		     /* the resulting intersection */
+    SV* r;		     /* the resulting intersection */
     UV* array_r;
     UV len_r;
 
@@ -6207,13 +7792,79 @@
      */
     UV count = 0;
 
-    PERL_ARGS_ASSERT_INVLIST_INTERSECTION;
+    PERL_ARGS_ASSERT__INVLIST_INTERSECTION_MAYBE_COMPLEMENT_2ND;
+    assert(a != b);
 
+    /* Special case if either one is empty */
+    len_a = _invlist_len(a);
+    if ((len_a == 0) || ((len_b = _invlist_len(b)) == 0)) {
+
+        if (len_a != 0 && complement_b) {
+
+            /* Here, 'a' is not empty, therefore from the above 'if', 'b' must
+             * be empty.  Here, also we are using 'b's complement, which hence
+             * must be every possible code point.  Thus the intersection is
+             * simply 'a'. */
+            if (*i != a) {
+                *i = invlist_clone(a);
+
+                if (*i == b) {
+                    SvREFCNT_dec_NN(b);
+                }
+            }
+            /* else *i is already 'a' */
+            return;
+        }
+
+        /* Here, 'a' or 'b' is empty and not using the complement of 'b'.  The
+         * intersection must be empty */
+	if (*i == a) {
+	    SvREFCNT_dec_NN(a);
+	}
+	else if (*i == b) {
+	    SvREFCNT_dec_NN(b);
+	}
+	*i = _new_invlist(0);
+	return;
+    }
+
+    /* Here both lists exist and are non-empty */
+    array_a = invlist_array(a);
+    array_b = invlist_array(b);
+
+    /* If are to take the intersection of 'a' with the complement of b, set it
+     * up so are looking at b's complement. */
+    if (complement_b) {
+
+	/* To complement, we invert: if the first element is 0, remove it.  To
+	 * do this, we just pretend the array starts one later, and clear the
+	 * flag as we don't have to do anything else later */
+        if (array_b[0] == 0) {
+            array_b++;
+            len_b--;
+            complement_b = FALSE;
+        }
+        else {
+
+            /* But if the first element is not zero, we unshift a 0 before the
+             * array.  The data structure reserves a space for that 0 (which
+             * should be a '1' right now), so physical shifting is unneeded,
+             * but temporarily change that element to 0.  Before exiting the
+             * routine, we must restore the element to '1' */
+            array_b--;
+            len_b++;
+            array_b[0] = 0;
+        }
+    }
+
     /* Size the intersection for the worst case: that the intersection ends up
      * fragmenting everything to be completely disjoint */
     r= _new_invlist(len_a + len_b);
-    array_r = invlist_array(r);
 
+    /* Will contain U+0000 iff both components do */
+    array_r = _invlist_array_init(r, len_a > 0 && array_a[0] == 0
+				     && len_b > 0 && array_b[0] == 0);
+
     /* Go through each list item by item, stopping when exhausted one of
      * them */
     while (i_a < len_a && i_b < len_b) {
@@ -6221,25 +7872,26 @@
 		       array */
 	bool cp_in_set;	/* Is it in the input list's set or not */
 
-	/* We need to take one or the other of the two inputs for the union.
-	 * Since we are merging two sorted lists, we take the smaller of the
-	 * next items.  In case of a tie, we take the one that is not in its
-	 * set first (a difference from the union algorithm).  If we took one
-	 * in the set first, it would increment the count, possibly to 2 which
-	 * would cause it to be output as starting a range in the intersection,
-	 * and the next time through we would take that same number, and output
-	 * it again as ending the set.  By doing it the opposite of this, we
-	 * there is no possibility that the count will be momentarily
-	 * incremented to 2.  (In a tie and both are in the set or both not in
-	 * the set, it doesn't matter which we take first.) */
+	/* We need to take one or the other of the two inputs for the
+	 * intersection.  Since we are merging two sorted lists, we take the
+	 * smaller of the next items.  In case of a tie, we take the one that
+	 * is not in its set first (a difference from the union algorithm).  If
+	 * we took one in the set first, it would increment the count, possibly
+	 * to 2 which would cause it to be output as starting a range in the
+	 * intersection, and the next time through we would take that same
+	 * number, and output it again as ending the set.  By doing it the
+	 * opposite of this, there is no possibility that the count will be
+	 * momentarily incremented to 2.  (In a tie and both are in the set or
+	 * both not in the set, it doesn't matter which we take first.) */
 	if (array_a[i_a] < array_b[i_b]
-	    || (array_a[i_a] == array_b[i_b] && ! ELEMENT_IN_INVLIST_SET(i_a)))
+	    || (array_a[i_a] == array_b[i_b]
+		&& ! ELEMENT_RANGE_MATCHES_INVLIST(i_a)))
 	{
-	    cp_in_set = ELEMENT_IN_INVLIST_SET(i_a);
+	    cp_in_set = ELEMENT_RANGE_MATCHES_INVLIST(i_a);
 	    cp= array_a[i_a++];
 	}
 	else {
-	    cp_in_set = ELEMENT_IN_INVLIST_SET(i_b);
+	    cp_in_set = ELEMENT_RANGE_MATCHES_INVLIST(i_b);
 	    cp= array_b[i_b++];
 	}
 
@@ -6260,25 +7912,38 @@
 	}
     }
 
-    /* Here, we are finished going through at least one of the sets, which
-     * means there is something remaining in at most one.  See the comments in
-     * the union code */
-    if ((i_a != len_a && ! ELEMENT_IN_INVLIST_SET(i_a))
-	|| (i_b != len_b && ! ELEMENT_IN_INVLIST_SET(i_b)))
+    /* Here, we are finished going through at least one of the lists, which
+     * means there is something remaining in at most one.  We check if the list
+     * that has been exhausted is positioned such that we are in the middle
+     * of a range in its set or not.  (i_a and i_b point to elements 1 beyond
+     * the ones we care about.)  There are four cases:
+     *	1) Both weren't in their sets, count is 0, and remains 0.  There's
+     *	   nothing left in the intersection.
+     *	2) Both were in their sets, count is 2 and perhaps is incremented to
+     *	   above 2.  What should be output is exactly that which is in the
+     *	   non-exhausted set, as everything it has is also in the intersection
+     *	   set, and everything it doesn't have can't be in the intersection
+     *	3) The exhausted was in its set, non-exhausted isn't, count is 1, and
+     *	   gets incremented to 2.  Like the previous case, the intersection is
+     *	   everything that remains in the non-exhausted set.
+     *	4) the exhausted wasn't in its set, non-exhausted is, count is 1, and
+     *	   remains 1.  And the intersection has nothing more. */
+    if ((i_a == len_a && PREV_RANGE_MATCHES_INVLIST(i_a))
+	|| (i_b == len_b && PREV_RANGE_MATCHES_INVLIST(i_b)))
     {
-	count--;
+	count++;
     }
 
     /* The final length is what we've output so far plus what else is in the
-     * intersection.  Only one of the subexpressions below will be non-zero */
+     * intersection.  At most one of the subexpressions below will be non-zero */
     len_r = i_r;
-    if (count == 2) {
+    if (count >= 2) {
 	len_r += (len_a - i_a) + (len_b - i_b);
     }
 
     /* Set result to final length, which can change the pointer to array_r, so
      * re-find it */
-    if (len_r != invlist_len(r)) {
+    if (len_r != _invlist_len(r)) {
 	invlist_set_len(r, len_r);
 	invlist_trim(r);
 	array_r = invlist_array(r);
@@ -6285,7 +7950,7 @@
     }
 
     /* Finish outputting any remaining */
-    if (count == 2) { /* Only one of will have a non-zero copy count */
+    if (count >= 2) { /* At most one will have a non-zero copy count */
 	IV copy_count;
 	if ((copy_count = len_a - i_a) > 0) {
 	    Copy(array_a + i_a, array_r + i_r, copy_count, UV);
@@ -6295,11 +7960,23 @@
 	}
     }
 
-    return r;
+    /* If we've changed b, restore it */
+    if (complement_b) {
+        array_b[0] = 1;
+    }
+
+    /*  We may be removing a reference to one of the inputs */
+    if (a == *i || b == *i) {
+        assert(! invlist_is_iterating(*i));
+	SvREFCNT_dec_NN(*i);
+    }
+
+    *i = r;
+    return;
 }
 
-STATIC HV*
-S_add_range_to_invlist(pTHX_ HV* invlist, const UV start, const UV end)
+SV*
+Perl__add_range_to_invlist(pTHX_ SV* invlist, const UV start, const UV end)
 {
     /* Add the range from 'start' to 'end' inclusive to the inversion list's
      * set.  A pointer to the inversion list is returned.  This may actually be
@@ -6307,8 +7984,7 @@
      * passed in inversion list can be NULL, in which case a new one is created
      * with just the one range in it */
 
-    HV* range_invlist;
-    HV* added_invlist;
+    SV* range_invlist;
     UV len;
 
     if (invlist == NULL) {
@@ -6316,13 +7992,14 @@
 	len = 0;
     }
     else {
-	len = invlist_len(invlist);
+	len = _invlist_len(invlist);
     }
 
-    /* If comes after the final entry, can just append it to the end */
+    /* If comes after the final entry actually in the list, can just append it
+     * to the end, */
     if (len == 0
-	|| start >= invlist_array(invlist)
-				    [invlist_len(invlist) - 1])
+	|| (! ELEMENT_RANGE_MATCHES_INVLIST(len - 1)
+            && start >= invlist_array(invlist)[len - 1]))
     {
 	_append_range_to_invlist(invlist, start, end);
 	return invlist;
@@ -6333,24 +8010,573 @@
     range_invlist = _new_invlist(2);
     _append_range_to_invlist(range_invlist, start, end);
 
-    added_invlist = invlist_union(invlist, range_invlist);
+    _invlist_union(invlist, range_invlist, &invlist);
 
-    /* The passed in list can be freed, as well as our temporary */
-    invlist_destroy(range_invlist);
-    if (invlist != added_invlist) {
-	invlist_destroy(invlist);
+    /* The temporary can be freed */
+    SvREFCNT_dec_NN(range_invlist);
+
+    return invlist;
+}
+
+#endif
+
+PERL_STATIC_INLINE SV*
+S_add_cp_to_invlist(pTHX_ SV* invlist, const UV cp) {
+    return _add_range_to_invlist(invlist, cp, cp);
+}
+
+#ifndef PERL_IN_XSUB_RE
+void
+Perl__invlist_invert(pTHX_ SV* const invlist)
+{
+    /* Complement the input inversion list.  This adds a 0 if the list didn't
+     * have a zero; removes it otherwise.  As described above, the data
+     * structure is set up so that this is very efficient */
+
+    UV* len_pos = _get_invlist_len_addr(invlist);
+
+    PERL_ARGS_ASSERT__INVLIST_INVERT;
+
+    assert(! invlist_is_iterating(invlist));
+
+    /* The inverse of matching nothing is matching everything */
+    if (*len_pos == 0) {
+	_append_range_to_invlist(invlist, 0, UV_MAX);
+	return;
     }
 
-    return added_invlist;
+    /* The exclusive or complents 0 to 1; and 1 to 0.  If the result is 1, the
+     * zero element was a 0, so it is being removed, so the length decrements
+     * by 1; and vice-versa.  SvCUR is unaffected */
+    if (*get_invlist_zero_addr(invlist) ^= 1) {
+	(*len_pos)--;
+    }
+    else {
+	(*len_pos)++;
+    }
 }
 
-PERL_STATIC_INLINE HV*
-S_add_cp_to_invlist(pTHX_ HV* invlist, const UV cp) {
-    return add_range_to_invlist(invlist, cp, cp);
+void
+Perl__invlist_invert_prop(pTHX_ SV* const invlist)
+{
+    /* Complement the input inversion list (which must be a Unicode property,
+     * all of which don't match above the Unicode maximum code point.)  And
+     * Perl has chosen to not have the inversion match above that either.  This
+     * adds a 0x110000 if the list didn't end with it, and removes it if it did
+     */
+
+    UV len;
+    UV* array;
+
+    PERL_ARGS_ASSERT__INVLIST_INVERT_PROP;
+
+    _invlist_invert(invlist);
+
+    len = _invlist_len(invlist);
+
+    if (len != 0) { /* If empty do nothing */
+	array = invlist_array(invlist);
+	if (array[len - 1] != PERL_UNICODE_MAX + 1) {
+	    /* Add 0x110000.  First, grow if necessary */
+	    len++;
+	    if (invlist_max(invlist) < len) {
+		invlist_extend(invlist, len);
+		array = invlist_array(invlist);
+	    }
+	    invlist_set_len(invlist, len);
+	    array[len - 1] = PERL_UNICODE_MAX + 1;
+	}
+	else {  /* Remove the 0x110000 */
+	    invlist_set_len(invlist, len - 1);
+	}
+    }
+
+    return;
 }
+#endif
 
+PERL_STATIC_INLINE SV*
+S_invlist_clone(pTHX_ SV* const invlist)
+{
+
+    /* Return a new inversion list that is a copy of the input one, which is
+     * unchanged */
+
+    /* Need to allocate extra space to accommodate Perl's addition of a
+     * trailing NUL to SvPV's, since it thinks they are always strings */
+    SV* new_invlist = _new_invlist(_invlist_len(invlist) + 1);
+    STRLEN length = SvCUR(invlist);
+
+    PERL_ARGS_ASSERT_INVLIST_CLONE;
+
+    SvCUR_set(new_invlist, length); /* This isn't done automatically */
+    Copy(SvPVX(invlist), SvPVX(new_invlist), length, char);
+
+    return new_invlist;
+}
+
+PERL_STATIC_INLINE UV*
+S_get_invlist_iter_addr(pTHX_ SV* invlist)
+{
+    /* Return the address of the UV that contains the current iteration
+     * position */
+
+    PERL_ARGS_ASSERT_GET_INVLIST_ITER_ADDR;
+
+    return (UV *) (SvPVX(invlist) + (INVLIST_ITER_OFFSET * sizeof (UV)));
+}
+
+PERL_STATIC_INLINE UV*
+S_get_invlist_version_id_addr(pTHX_ SV* invlist)
+{
+    /* Return the address of the UV that contains the version id. */
+
+    PERL_ARGS_ASSERT_GET_INVLIST_VERSION_ID_ADDR;
+
+    return (UV *) (SvPVX(invlist) + (INVLIST_VERSION_ID_OFFSET * sizeof (UV)));
+}
+
+PERL_STATIC_INLINE void
+S_invlist_iterinit(pTHX_ SV* invlist)	/* Initialize iterator for invlist */
+{
+    PERL_ARGS_ASSERT_INVLIST_ITERINIT;
+
+    *get_invlist_iter_addr(invlist) = 0;
+}
+
+PERL_STATIC_INLINE void
+S_invlist_iterfinish(pTHX_ SV* invlist)
+{
+    /* Terminate iterator for invlist.  This is to catch development errors.
+     * Any iteration that is interrupted before completed should call this
+     * function.  Functions that add code points anywhere else but to the end
+     * of an inversion list assert that they are not in the middle of an
+     * iteration.  If they were, the addition would make the iteration
+     * problematical: if the iteration hadn't reached the place where things
+     * were being added, it would be ok */
+
+    PERL_ARGS_ASSERT_INVLIST_ITERFINISH;
+
+    *get_invlist_iter_addr(invlist) = UV_MAX;
+}
+
+STATIC bool
+S_invlist_iternext(pTHX_ SV* invlist, UV* start, UV* end)
+{
+    /* An C<invlist_iterinit> call on <invlist> must be used to set this up.
+     * This call sets in <*start> and <*end>, the next range in <invlist>.
+     * Returns <TRUE> if successful and the next call will return the next
+     * range; <FALSE> if was already at the end of the list.  If the latter,
+     * <*start> and <*end> are unchanged, and the next call to this function
+     * will start over at the beginning of the list */
+
+    UV* pos = get_invlist_iter_addr(invlist);
+    UV len = _invlist_len(invlist);
+    UV *array;
+
+    PERL_ARGS_ASSERT_INVLIST_ITERNEXT;
+
+    if (*pos >= len) {
+	*pos = UV_MAX;	/* Force iterinit() to be required next time */
+	return FALSE;
+    }
+
+    array = invlist_array(invlist);
+
+    *start = array[(*pos)++];
+
+    if (*pos >= len) {
+	*end = UV_MAX;
+    }
+    else {
+	*end = array[(*pos)++] - 1;
+    }
+
+    return TRUE;
+}
+
+PERL_STATIC_INLINE bool
+S_invlist_is_iterating(pTHX_ SV* const invlist)
+{
+    PERL_ARGS_ASSERT_INVLIST_IS_ITERATING;
+
+    return *(get_invlist_iter_addr(invlist)) < UV_MAX;
+}
+
+PERL_STATIC_INLINE UV
+S_invlist_highest(pTHX_ SV* const invlist)
+{
+    /* Returns the highest code point that matches an inversion list.  This API
+     * has an ambiguity, as it returns 0 under either the highest is actually
+     * 0, or if the list is empty.  If this distinction matters to you, check
+     * for emptiness before calling this function */
+
+    UV len = _invlist_len(invlist);
+    UV *array;
+
+    PERL_ARGS_ASSERT_INVLIST_HIGHEST;
+
+    if (len == 0) {
+	return 0;
+    }
+
+    array = invlist_array(invlist);
+
+    /* The last element in the array in the inversion list always starts a
+     * range that goes to infinity.  That range may be for code points that are
+     * matched in the inversion list, or it may be for ones that aren't
+     * matched.  In the latter case, the highest code point in the set is one
+     * less than the beginning of this range; otherwise it is the final element
+     * of this range: infinity */
+    return (ELEMENT_RANGE_MATCHES_INVLIST(len - 1))
+           ? UV_MAX
+           : array[len - 1] - 1;
+}
+
+#ifndef PERL_IN_XSUB_RE
+SV *
+Perl__invlist_contents(pTHX_ SV* const invlist)
+{
+    /* Get the contents of an inversion list into a string SV so that they can
+     * be printed out.  It uses the format traditionally done for debug tracing
+     */
+
+    UV start, end;
+    SV* output = newSVpvs("\n");
+
+    PERL_ARGS_ASSERT__INVLIST_CONTENTS;
+
+    assert(! invlist_is_iterating(invlist));
+
+    invlist_iterinit(invlist);
+    while (invlist_iternext(invlist, &start, &end)) {
+	if (end == UV_MAX) {
+	    Perl_sv_catpvf(aTHX_ output, "%04"UVXf"\tINFINITY\n", start);
+	}
+	else if (end != start) {
+	    Perl_sv_catpvf(aTHX_ output, "%04"UVXf"\t%04"UVXf"\n",
+		    start,       end);
+	}
+	else {
+	    Perl_sv_catpvf(aTHX_ output, "%04"UVXf"\n", start);
+	}
+    }
+
+    return output;
+}
+#endif
+
+#ifdef PERL_ARGS_ASSERT__INVLIST_DUMP
+void
+Perl__invlist_dump(pTHX_ SV* const invlist, const char * const header)
+{
+    /* Dumps out the ranges in an inversion list.  The string 'header'
+     * if present is output on a line before the first range */
+
+    UV start, end;
+
+    PERL_ARGS_ASSERT__INVLIST_DUMP;
+
+    if (header && strlen(header)) {
+	PerlIO_printf(Perl_debug_log, "%s\n", header);
+    }
+    if (invlist_is_iterating(invlist)) {
+        PerlIO_printf(Perl_debug_log, "Can't dump because is in middle of iterating\n");
+        return;
+    }
+
+    invlist_iterinit(invlist);
+    while (invlist_iternext(invlist, &start, &end)) {
+	if (end == UV_MAX) {
+	    PerlIO_printf(Perl_debug_log, "0x%04"UVXf" .. INFINITY\n", start);
+	}
+	else if (end != start) {
+	    PerlIO_printf(Perl_debug_log, "0x%04"UVXf" .. 0x%04"UVXf"\n",
+		                                 start,         end);
+	}
+	else {
+	    PerlIO_printf(Perl_debug_log, "0x%04"UVXf"\n", start);
+	}
+    }
+}
+#endif
+
+#if 0
+bool
+S__invlistEQ(pTHX_ SV* const a, SV* const b, bool complement_b)
+{
+    /* Return a boolean as to if the two passed in inversion lists are
+     * identical.  The final argument, if TRUE, says to take the complement of
+     * the second inversion list before doing the comparison */
+
+    UV* array_a = invlist_array(a);
+    UV* array_b = invlist_array(b);
+    UV len_a = _invlist_len(a);
+    UV len_b = _invlist_len(b);
+
+    UV i = 0;		    /* current index into the arrays */
+    bool retval = TRUE;     /* Assume are identical until proven otherwise */
+
+    PERL_ARGS_ASSERT__INVLISTEQ;
+
+    /* If are to compare 'a' with the complement of b, set it
+     * up so are looking at b's complement. */
+    if (complement_b) {
+
+        /* The complement of nothing is everything, so <a> would have to have
+         * just one element, starting at zero (ending at infinity) */
+        if (len_b == 0) {
+            return (len_a == 1 && array_a[0] == 0);
+        }
+        else if (array_b[0] == 0) {
+
+            /* Otherwise, to complement, we invert.  Here, the first element is
+             * 0, just remove it.  To do this, we just pretend the array starts
+             * one later, and clear the flag as we don't have to do anything
+             * else later */
+
+            array_b++;
+            len_b--;
+            complement_b = FALSE;
+        }
+        else {
+
+            /* But if the first element is not zero, we unshift a 0 before the
+             * array.  The data structure reserves a space for that 0 (which
+             * should be a '1' right now), so physical shifting is unneeded,
+             * but temporarily change that element to 0.  Before exiting the
+             * routine, we must restore the element to '1' */
+            array_b--;
+            len_b++;
+            array_b[0] = 0;
+        }
+    }
+
+    /* Make sure that the lengths are the same, as well as the final element
+     * before looping through the remainder.  (Thus we test the length, final,
+     * and first elements right off the bat) */
+    if (len_a != len_b || array_a[len_a-1] != array_b[len_a-1]) {
+        retval = FALSE;
+    }
+    else for (i = 0; i < len_a - 1; i++) {
+        if (array_a[i] != array_b[i]) {
+            retval = FALSE;
+            break;
+        }
+    }
+
+    if (complement_b) {
+        array_b[0] = 1;
+    }
+    return retval;
+}
+#endif
+
+#undef HEADER_LENGTH
+#undef INVLIST_INITIAL_LENGTH
+#undef TO_INTERNAL_SIZE
+#undef FROM_INTERNAL_SIZE
+#undef INVLIST_LEN_OFFSET
+#undef INVLIST_ZERO_OFFSET
+#undef INVLIST_ITER_OFFSET
+#undef INVLIST_VERSION_ID
+#undef INVLIST_PREVIOUS_INDEX_OFFSET
+
 /* End of inversion list object */
 
+STATIC void
+S_parse_lparen_question_flags(pTHX_ struct RExC_state_t *pRExC_state)
+{
+    /* This parses the flags that are in either the '(?foo)' or '(?foo:bar)'
+     * constructs, and updates RExC_flags with them.  On input, RExC_parse
+     * should point to the first flag; it is updated on output to point to the
+     * final ')' or ':'.  There needs to be at least one flag, or this will
+     * abort */
+
+    /* for (?g), (?gc), and (?o) warnings; warning
+       about (?c) will warn about (?g) -- japhy    */
+
+#define WASTED_O  0x01
+#define WASTED_G  0x02
+#define WASTED_C  0x04
+#define WASTED_GC (0x02|0x04)
+    I32 wastedflags = 0x00;
+    U32 posflags = 0, negflags = 0;
+    U32 *flagsp = &posflags;
+    char has_charset_modifier = '\0';
+    regex_charset cs;
+    bool has_use_defaults = FALSE;
+    const char* const seqstart = RExC_parse - 1; /* Point to the '?' */
+
+    PERL_ARGS_ASSERT_PARSE_LPAREN_QUESTION_FLAGS;
+
+    /* '^' as an initial flag sets certain defaults */
+    if (UCHARAT(RExC_parse) == '^') {
+        RExC_parse++;
+        has_use_defaults = TRUE;
+        STD_PMMOD_FLAGS_CLEAR(&RExC_flags);
+        set_regex_charset(&RExC_flags, (RExC_utf8 || RExC_uni_semantics)
+                                        ? REGEX_UNICODE_CHARSET
+                                        : REGEX_DEPENDS_CHARSET);
+    }
+
+    cs = get_regex_charset(RExC_flags);
+    if (cs == REGEX_DEPENDS_CHARSET
+        && (RExC_utf8 || RExC_uni_semantics))
+    {
+        cs = REGEX_UNICODE_CHARSET;
+    }
+
+    while (*RExC_parse) {
+        /* && strchr("iogcmsx", *RExC_parse) */
+        /* (?g), (?gc) and (?o) are useless here
+           and must be globally applied -- japhy */
+        switch (*RExC_parse) {
+
+            /* Code for the imsx flags */
+            CASE_STD_PMMOD_FLAGS_PARSE_SET(flagsp);
+
+            case LOCALE_PAT_MOD:
+                if (has_charset_modifier) {
+                    goto excess_modifier;
+                }
+                else if (flagsp == &negflags) {
+                    goto neg_modifier;
+                }
+                cs = REGEX_LOCALE_CHARSET;
+                has_charset_modifier = LOCALE_PAT_MOD;
+                RExC_contains_locale = 1;
+                break;
+            case UNICODE_PAT_MOD:
+                if (has_charset_modifier) {
+                    goto excess_modifier;
+                }
+                else if (flagsp == &negflags) {
+                    goto neg_modifier;
+                }
+                cs = REGEX_UNICODE_CHARSET;
+                has_charset_modifier = UNICODE_PAT_MOD;
+                break;
+            case ASCII_RESTRICT_PAT_MOD:
+                if (flagsp == &negflags) {
+                    goto neg_modifier;
+                }
+                if (has_charset_modifier) {
+                    if (cs != REGEX_ASCII_RESTRICTED_CHARSET) {
+                        goto excess_modifier;
+                    }
+                    /* Doubled modifier implies more restricted */
+                    cs = REGEX_ASCII_MORE_RESTRICTED_CHARSET;
+                }
+                else {
+                    cs = REGEX_ASCII_RESTRICTED_CHARSET;
+                }
+                has_charset_modifier = ASCII_RESTRICT_PAT_MOD;
+                break;
+            case DEPENDS_PAT_MOD:
+                if (has_use_defaults) {
+                    goto fail_modifiers;
+                }
+                else if (flagsp == &negflags) {
+                    goto neg_modifier;
+                }
+                else if (has_charset_modifier) {
+                    goto excess_modifier;
+                }
+
+                /* The dual charset means unicode semantics if the
+                 * pattern (or target, not known until runtime) are
+                 * utf8, or something in the pattern indicates unicode
+                 * semantics */
+                cs = (RExC_utf8 || RExC_uni_semantics)
+                     ? REGEX_UNICODE_CHARSET
+                     : REGEX_DEPENDS_CHARSET;
+                has_charset_modifier = DEPENDS_PAT_MOD;
+                break;
+            excess_modifier:
+                RExC_parse++;
+                if (has_charset_modifier == ASCII_RESTRICT_PAT_MOD) {
+                    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
+                }
+                else if (has_charset_modifier == *(RExC_parse - 1)) {
+                    vFAIL2("Regexp modifier \"%c\" may not appear twice", *(RExC_parse - 1));
+                }
+                else {
+                    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
+                }
+                /*NOTREACHED*/
+            neg_modifier:
+                RExC_parse++;
+                vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"", *(RExC_parse - 1));
+                /*NOTREACHED*/
+            case ONCE_PAT_MOD: /* 'o' */
+            case GLOBAL_PAT_MOD: /* 'g' */
+                if (SIZE_ONLY && ckWARN(WARN_REGEXP)) {
+                    const I32 wflagbit = *RExC_parse == 'o' ? WASTED_O : WASTED_G;
+                    if (! (wastedflags & wflagbit) ) {
+                        wastedflags |= wflagbit;
+                        vWARN5(
+                            RExC_parse + 1,
+                            "Useless (%s%c) - %suse /%c modifier",
+                            flagsp == &negflags ? "?-" : "?",
+                            *RExC_parse,
+                            flagsp == &negflags ? "don't " : "",
+                            *RExC_parse
+                        );
+                    }
+                }
+                break;
+
+            case CONTINUE_PAT_MOD: /* 'c' */
+                if (SIZE_ONLY && ckWARN(WARN_REGEXP)) {
+                    if (! (wastedflags & WASTED_C) ) {
+                        wastedflags |= WASTED_GC;
+                        vWARN3(
+                            RExC_parse + 1,
+                            "Useless (%sc) - %suse /gc modifier",
+                            flagsp == &negflags ? "?-" : "?",
+                            flagsp == &negflags ? "don't " : ""
+                        );
+                    }
+                }
+                break;
+            case KEEPCOPY_PAT_MOD: /* 'p' */
+                if (flagsp == &negflags) {
+                    if (SIZE_ONLY)
+                        ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
+                } else {
+                    *flagsp |= RXf_PMf_KEEPCOPY;
+                }
+                break;
+            case '-':
+                /* A flag is a default iff it is following a minus, so
+                 * if there is a minus, it means will be trying to
+                 * re-specify a default which is an error */
+                if (has_use_defaults || flagsp == &negflags) {
+                    goto fail_modifiers;
+                }
+                flagsp = &negflags;
+                wastedflags = 0;  /* reset so (?g-c) warns twice */
+                break;
+            case ':':
+            case ')':
+                RExC_flags |= posflags;
+                RExC_flags &= ~negflags;
+                set_regex_charset(&RExC_flags, cs);
+                return;
+                /*NOTREACHED*/
+            default:
+            fail_modifiers:
+                RExC_parse++;
+                vFAIL3("Sequence (%.*s...) not recognized",
+                       RExC_parse-seqstart, seqstart);
+                /*NOTREACHED*/
+        }
+
+        ++RExC_parse;
+    }
+}
+
 /*
  - reg - regular expression, i.e. main body or parenthesized thing
  *
@@ -6367,16 +8593,24 @@
 #define REGTAIL_STUDY(x,y,z) regtail((x),(y),(z),depth+1)
 #endif
 
+/* Returns NULL, setting *flagp to TRYAGAIN at the end of (?) that only sets
+   flags. Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan
+   needs to be restarted.
+   Otherwise would only return NULL if regbranch() returns NULL, which
+   cannot happen.  */
 STATIC regnode *
 S_reg(pTHX_ RExC_state_t *pRExC_state, I32 paren, I32 *flagp,U32 depth)
-    /* paren: Parenthesized? 0=top, 1=(, inside: changed to letter. */
+    /* paren: Parenthesized? 0=top; 1,2=inside '(': changed to letter.
+     * 2 is like 1, but indicates that nextchar() has been called to advance
+     * RExC_parse beyond the '('.  Things like '(?' are indivisible tokens, and
+     * this flag alerts us to the need to check for that */
 {
     dVAR;
-    register regnode *ret;		/* Will be the head of the group. */
-    register regnode *br;
-    register regnode *lastbr;
-    register regnode *ender = NULL;
-    register I32 parno = 0;
+    regnode *ret;		/* Will be the head of the group. */
+    regnode *br;
+    regnode *lastbr;
+    regnode *ender = NULL;
+    I32 parno = 0;
     I32 flags;
     U32 oregflags = RExC_flags;
     bool have_branch = 0;
@@ -6384,15 +8618,6 @@
     I32 freeze_paren = 0;
     I32 after_freeze = 0;
 
-    /* for (?g), (?gc), and (?o) warnings; warning
-       about (?c) will warn about (?g) -- japhy    */
-
-#define WASTED_O  0x01
-#define WASTED_G  0x02
-#define WASTED_C  0x04
-#define WASTED_GC (0x02|0x04)
-    I32 wastedflags = 0x00;
-
     char * parse_start = RExC_parse; /* MJD */
     char * const oregcomp_parse = RExC_parse;
 
@@ -6406,6 +8631,13 @@
 
     /* Make an OPEN node, if parenthesized. */
     if (paren) {
+
+        /* Under /x, space and comments can be gobbled up between the '(' and
+         * here (if paren ==2).  The forms '(*VERB' and '(?...' disallow such
+         * intervening space, as the sequence is a token, and a token should be
+         * indivisible */
+        bool has_intervening_patws = paren == 2 && *(RExC_parse - 1) != '(';
+
         if ( *RExC_parse == '*') { /* (*VERB:ARG) */
 	    char *start_verb = RExC_parse;
 	    STRLEN verb_len = 0;
@@ -6413,6 +8645,10 @@
 	    unsigned char op = 0;
 	    int argok = 1;
 	    int internal_argval = 0; /* internal_argval is only useful if !argok */
+
+            if (has_intervening_patws && SIZE_ONLY) {
+                ckWARNregdep(RExC_parse + 1, "In '(*VERB...)', splitting the initial '(*' is deprecated");
+            }
 	    while ( *RExC_parse && *RExC_parse != ')' ) {
 	        if ( *RExC_parse == ':' ) {
 	            start_arg = RExC_parse + 1;
@@ -6514,7 +8750,9 @@
 	if (*RExC_parse == '?') { /* (?...) */
 	    bool is_logical = 0;
 	    const char * const seqstart = RExC_parse;
-            bool has_use_defaults = FALSE;
+            if (has_intervening_patws && SIZE_ONLY) {
+                ckWARNregdep(RExC_parse + 1, "In '(?...)', splitting the initial '(?' is deprecated");
+            }
 
 	    RExC_parse++;
 	    paren = *RExC_parse++;
@@ -6547,7 +8785,7 @@
 		    ret = reganode(pRExC_state,
 				   ((! FOLD)
 				     ? NREF
-				     : (MORE_ASCII_RESTRICTED)
+				     : (ASCII_FOLD_RESTRICTED)
 				       ? NREFFA
                                        : (AT_LEAST_UNI_SEMANTICS)
                                          ? NREFFU
@@ -6638,8 +8876,9 @@
                             SvIV_set(sv_dat, 1);
                         }
 #ifdef DEBUGGING
+			/* Yes this does cause a memory leak in debugging Perls */
                         if (!av_store(RExC_paren_name_list, RExC_npar, SvREFCNT_inc(svname)))
-                            SvREFCNT_dec(svname);
+                            SvREFCNT_dec_NN(svname);
 #endif
 
                         /*sv_dump(sv_dat);*/
@@ -6675,8 +8914,12 @@
 	    case '@':           /* (?@...) */
 		vFAIL2("Sequence (?%c...) not implemented", (int)paren);
 		break;
-	    case '#':           /* (?#...) */
-		while (*RExC_parse && *RExC_parse != ')')
+            case '#':           /* (?#...) */
+                /* XXX As soon as we disallow separating the '?' and '*' (by
+                 * spaces or (?#...) comment), it is believed that this case
+                 * will be unreachable and can be removed.  See
+                 * [perl #117327] */
+                while (*RExC_parse && *RExC_parse != ')')
 		    RExC_parse++;
 		if (*RExC_parse != ')')
 		    FAIL("Sequence (?#... not terminated");
@@ -6703,7 +8946,7 @@
     		     num = sv_dat ? *((I32 *)SvPVX(sv_dat)) : 0;
                 }
                 goto gen_recurse_regop;
-                /* NOT REACHED */
+                assert(0); /* NOT REACHED */
             case '+':
                 if (!(RExC_parse[0] >= '1' && RExC_parse[0] <= '9')) {
                     RExC_parse++;
@@ -6729,7 +8972,7 @@
 			RExC_parse++;
 	        if (*RExC_parse!=')') 
 	            vFAIL("Expecting close bracket");
-			
+
               gen_recurse_regop:
                 if ( paren == '-' ) {
                     /*
@@ -6773,7 +9016,7 @@
                 nextchar(pRExC_state);
                 return ret;
             } /* named and numeric backreferences */
-            /* NOT REACHED */
+            assert(0); /* NOT REACHED */
 
 	    case '?':           /* (??...) */
 		is_logical = 1;
@@ -6787,67 +9030,51 @@
 		/* FALL THROUGH */
 	    case '{':           /* (?{...}) */
 	    {
-		I32 count = 1;
 		U32 n = 0;
-		char c;
-		char *s = RExC_parse;
+		struct reg_code_block *cb;
 
 		RExC_seen_zerolen++;
-		RExC_seen |= REG_SEEN_EVAL;
-		while (count && (c = *RExC_parse)) {
-		    if (c == '\\') {
-			if (RExC_parse[1])
-			    RExC_parse++;
-		    }
-		    else if (c == '{')
-			count++;
-		    else if (c == '}')
-			count--;
-		    RExC_parse++;
+
+		if (   !pRExC_state->num_code_blocks
+		    || pRExC_state->code_index >= pRExC_state->num_code_blocks
+		    || pRExC_state->code_blocks[pRExC_state->code_index].start
+			!= (STRLEN)((RExC_parse -3 - (is_logical ? 1 : 0))
+			    - RExC_start)
+		) {
+		    if (RExC_pm_flags & PMf_USE_RE_EVAL)
+			FAIL("panic: Sequence (?{...}): no code block found\n");
+		    FAIL("Eval-group not allowed at runtime, use re 'eval'");
 		}
-		if (*RExC_parse != ')') {
-		    RExC_parse = s;		
-		    vFAIL("Sequence (?{...}) not terminated or not {}-balanced");
-		}
+		/* this is a pre-compiled code block (?{...}) */
+		cb = &pRExC_state->code_blocks[pRExC_state->code_index];
+		RExC_parse = RExC_start + cb->end;
 		if (!SIZE_ONLY) {
-		    PAD *pad;
-		    OP_4tree *sop, *rop;
-		    SV * const sv = newSVpvn(s, RExC_parse - 1 - s);
-
-		    ENTER;
-		    Perl_save_re_context(aTHX);
-		    rop = Perl_sv_compile_2op_is_broken(aTHX_ sv, &sop, "re", &pad);
-		    sop->op_private |= OPpREFCOUNTED;
-		    /* re_dup will OpREFCNT_inc */
-		    OpREFCNT_set(sop, 1);
-		    LEAVE;
-
-		    n = add_data(pRExC_state, 3, "nop");
-		    RExC_rxi->data->data[n] = (void*)rop;
-		    RExC_rxi->data->data[n+1] = (void*)sop;
-		    RExC_rxi->data->data[n+2] = (void*)pad;
-		    SvREFCNT_dec(sv);
+		    OP *o = cb->block;
+		    if (cb->src_regex) {
+			n = add_data(pRExC_state, 2, "rl");
+			RExC_rxi->data->data[n] =
+			    (void*)SvREFCNT_inc((SV*)cb->src_regex);
+			RExC_rxi->data->data[n+1] = (void*)o;
+		    }
+		    else {
+			n = add_data(pRExC_state, 1,
+			       (RExC_pm_flags & PMf_HAS_CV) ? "L" : "l");
+			RExC_rxi->data->data[n] = (void*)o;
+		    }
 		}
-		else {						/* First pass */
-		    if (PL_reginterp_cnt < ++RExC_seen_evals
-			&& IN_PERL_RUNTIME)
-			/* No compiled RE interpolated, has runtime
-			   components ===> unsafe.  */
-			FAIL("Eval-group not allowed at runtime, use re 'eval'");
-		    if (PL_tainting && PL_tainted)
-			FAIL("Eval-group in insecure regular expression");
-#if PERL_VERSION > 8
-		    if (IN_PERL_COMPILETIME)
-			PL_cv_has_eval = 1;
-#endif
-		}
+		pRExC_state->code_index++;
+		nextchar(pRExC_state);
 
-		nextchar(pRExC_state);
 		if (is_logical) {
+                    regnode *eval;
 		    ret = reg_node(pRExC_state, LOGICAL);
-		    if (!SIZE_ONLY)
+                    eval = reganode(pRExC_state, EVAL, n);
+		    if (!SIZE_ONLY) {
 			ret->flags = 2;
-                    REGTAIL(pRExC_state, ret, reganode(pRExC_state, EVAL, n));
+                        /* for later propagation into (??{}) return value */
+                        eval->flags = (U8) (RExC_flags & RXf_PMf_COMPILETIME);
+                    }
+                    REGTAIL(pRExC_state, ret, eval);
                     /* deal with the length of this later - MJD */
 		    return ret;
 		}
@@ -6864,11 +9091,18 @@
 			|| RExC_parse[1] == '<'
 			|| RExC_parse[1] == '{') { /* Lookahead or eval. */
 			I32 flag;
-			
+                        regnode *tail;
+
 			ret = reg_node(pRExC_state, LOGICAL);
 			if (!SIZE_ONLY)
 			    ret->flags = 1;
-                        REGTAIL(pRExC_state, ret, reg(pRExC_state, 1, &flag,depth+1));
+                        
+                        tail = reg(pRExC_state, 1, &flag, depth+1);
+                        if (flag & RESTART_UTF8) {
+                            *flagp = RESTART_UTF8;
+                            return NULL;
+                        }
+                        REGTAIL(pRExC_state, ret, tail);
 			goto insert_if;
 		    }
 		}
@@ -6936,9 +9170,14 @@
 		  insert_if:
                     REGTAIL(pRExC_state, ret, reganode(pRExC_state, IFTHEN, 0));
                     br = regbranch(pRExC_state, &flags, 1,depth+1);
-		    if (br == NULL)
-			br = reganode(pRExC_state, LONGJMP, 0);
-		    else
+		    if (br == NULL) {
+                        if (flags & RESTART_UTF8) {
+                            *flagp = RESTART_UTF8;
+                            return NULL;
+                        }
+                        FAIL2("panic: regbranch returned NULL, flags=%#X",
+                              flags);
+                    } else
                         REGTAIL(pRExC_state, br, reganode(pRExC_state, LONGJMP, 0));
 		    c = *nextchar(pRExC_state);
 		    if (flags&HASWIDTH)
@@ -6947,7 +9186,14 @@
 		        if (is_define) 
 		            vFAIL("(?(DEFINE)....) does not allow branches");
 			lastbr = reganode(pRExC_state, IFTHEN, 0); /* Fake one for optimizer. */
-                        regbranch(pRExC_state, &flags, 1,depth+1);
+                        if (!regbranch(pRExC_state, &flags, 1,depth+1)) {
+                            if (flags & RESTART_UTF8) {
+                                *flagp = RESTART_UTF8;
+                                return NULL;
+                            }
+                            FAIL2("panic: regbranch returned NULL, flags=%#X",
+                                  flags);
+                        }
                         REGTAIL(pRExC_state, ret, lastbr);
 		 	if (flags&HASWIDTH)
 			    *flagp |= HASWIDTH;
@@ -6974,189 +9220,27 @@
 		    vFAIL2("Unknown switch condition (?(%.2s", RExC_parse);
 		}
 	    }
+	    case '[':           /* (?[ ... ]) */
+                return handle_regex_sets(pRExC_state, NULL, flagp, depth,
+                                         oregcomp_parse);
             case 0:
 		RExC_parse--; /* for vFAIL to print correctly */
                 vFAIL("Sequence (? incomplete");
                 break;
-            case DEFAULT_PAT_MOD:   /* Use default flags with the exceptions
-				       that follow */
-                has_use_defaults = TRUE;
-                STD_PMMOD_FLAGS_CLEAR(&RExC_flags);
-		set_regex_charset(&RExC_flags, (RExC_utf8 || RExC_uni_semantics)
-						? REGEX_UNICODE_CHARSET
-						: REGEX_DEPENDS_CHARSET);
-                goto parse_flags;
-	    default:
+	    default: /* e.g., (?i) */
 	        --RExC_parse;
-	        parse_flags:      /* (?i) */  
-	    {
-                U32 posflags = 0, negflags = 0;
-	        U32 *flagsp = &posflags;
-                char has_charset_modifier = '\0';
-		regex_charset cs = (RExC_utf8 || RExC_uni_semantics)
-				    ? REGEX_UNICODE_CHARSET
-				    : REGEX_DEPENDS_CHARSET;
-
-		while (*RExC_parse) {
-		    /* && strchr("iogcmsx", *RExC_parse) */
-		    /* (?g), (?gc) and (?o) are useless here
-		       and must be globally applied -- japhy */
-                    switch (*RExC_parse) {
-	            CASE_STD_PMMOD_FLAGS_PARSE_SET(flagsp);
-                    case LOCALE_PAT_MOD:
-                        if (has_charset_modifier) {
-			    goto excess_modifier;
-			}
-			else if (flagsp == &negflags) {
-                            goto neg_modifier;
-                        }
-			cs = REGEX_LOCALE_CHARSET;
-                        has_charset_modifier = LOCALE_PAT_MOD;
-			RExC_contains_locale = 1;
-                        break;
-                    case UNICODE_PAT_MOD:
-                        if (has_charset_modifier) {
-			    goto excess_modifier;
-			}
-			else if (flagsp == &negflags) {
-                            goto neg_modifier;
-                        }
-			cs = REGEX_UNICODE_CHARSET;
-                        has_charset_modifier = UNICODE_PAT_MOD;
-                        break;
-                    case ASCII_RESTRICT_PAT_MOD:
-                        if (flagsp == &negflags) {
-                            goto neg_modifier;
-                        }
-                        if (has_charset_modifier) {
-                            if (cs != REGEX_ASCII_RESTRICTED_CHARSET) {
-                                goto excess_modifier;
-                            }
-			    /* Doubled modifier implies more restricted */
-                            cs = REGEX_ASCII_MORE_RESTRICTED_CHARSET;
-                        }
-			else {
-			    cs = REGEX_ASCII_RESTRICTED_CHARSET;
-			}
-                        has_charset_modifier = ASCII_RESTRICT_PAT_MOD;
-                        break;
-                    case DEPENDS_PAT_MOD:
-                        if (has_use_defaults) {
-                            goto fail_modifiers;
-			}
-			else if (flagsp == &negflags) {
-                            goto neg_modifier;
-			}
-			else if (has_charset_modifier) {
-			    goto excess_modifier;
-                        }
-
-			/* The dual charset means unicode semantics if the
-			 * pattern (or target, not known until runtime) are
-			 * utf8, or something in the pattern indicates unicode
-			 * semantics */
-			cs = (RExC_utf8 || RExC_uni_semantics)
-			     ? REGEX_UNICODE_CHARSET
-			     : REGEX_DEPENDS_CHARSET;
-                        has_charset_modifier = DEPENDS_PAT_MOD;
-                        break;
-		    excess_modifier:
-			RExC_parse++;
-			if (has_charset_modifier == ASCII_RESTRICT_PAT_MOD) {
-			    vFAIL2("Regexp modifier \"%c\" may appear a maximum of twice", ASCII_RESTRICT_PAT_MOD);
-			}
-			else if (has_charset_modifier == *(RExC_parse - 1)) {
-			    vFAIL2("Regexp modifier \"%c\" may not appear twice", *(RExC_parse - 1));
-			}
-			else {
-			    vFAIL3("Regexp modifiers \"%c\" and \"%c\" are mutually exclusive", has_charset_modifier, *(RExC_parse - 1));
-			}
-			/*NOTREACHED*/
-		    neg_modifier:
-			RExC_parse++;
-			vFAIL2("Regexp modifier \"%c\" may not appear after the \"-\"", *(RExC_parse - 1));
-			/*NOTREACHED*/
-                    case ONCE_PAT_MOD: /* 'o' */
-                    case GLOBAL_PAT_MOD: /* 'g' */
-			if (SIZE_ONLY && ckWARN(WARN_REGEXP)) {
-			    const I32 wflagbit = *RExC_parse == 'o' ? WASTED_O : WASTED_G;
-			    if (! (wastedflags & wflagbit) ) {
-				wastedflags |= wflagbit;
-				vWARN5(
-				    RExC_parse + 1,
-				    "Useless (%s%c) - %suse /%c modifier",
-				    flagsp == &negflags ? "?-" : "?",
-				    *RExC_parse,
-				    flagsp == &negflags ? "don't " : "",
-				    *RExC_parse
-				);
-			    }
-			}
-			break;
-		        
-		    case CONTINUE_PAT_MOD: /* 'c' */
-			if (SIZE_ONLY && ckWARN(WARN_REGEXP)) {
-			    if (! (wastedflags & WASTED_C) ) {
-				wastedflags |= WASTED_GC;
-				vWARN3(
-				    RExC_parse + 1,
-				    "Useless (%sc) - %suse /gc modifier",
-				    flagsp == &negflags ? "?-" : "?",
-				    flagsp == &negflags ? "don't " : ""
-				);
-			    }
-			}
-			break;
-	            case KEEPCOPY_PAT_MOD: /* 'p' */
-                        if (flagsp == &negflags) {
-                            if (SIZE_ONLY)
-                                ckWARNreg(RExC_parse + 1,"Useless use of (?-p)");
-                        } else {
-                            *flagsp |= RXf_PMf_KEEPCOPY;
-                        }
-	                break;
-                    case '-':
-                        /* A flag is a default iff it is following a minus, so
-                         * if there is a minus, it means will be trying to
-                         * re-specify a default which is an error */
-                        if (has_use_defaults || flagsp == &negflags) {
-            fail_modifiers:
-                            RExC_parse++;
-		            vFAIL3("Sequence (%.*s...) not recognized", RExC_parse-seqstart, seqstart);
-		            /*NOTREACHED*/
-		        }
-			flagsp = &negflags;
-		        wastedflags = 0;  /* reset so (?g-c) warns twice */
-		        break;
-                    case ':':
-		        paren = ':';
-		        /*FALLTHROUGH*/
-                    case ')':
-                        RExC_flags |= posflags;
-                        RExC_flags &= ~negflags;
-			set_regex_charset(&RExC_flags, cs);
-                        if (paren != ':') {
-                            oregflags |= posflags;
-                            oregflags &= ~negflags;
-			    set_regex_charset(&oregflags, cs);
-                        }
-                        nextchar(pRExC_state);
-		        if (paren != ':') {
-		            *flagp = TRYAGAIN;
-		            return NULL;
-		        } else {
-                            ret = NULL;
-		            goto parse_rest;
-		        }
-		        /*NOTREACHED*/
-                    default:
-		        RExC_parse++;
-		        vFAIL3("Sequence (%.*s...) not recognized", RExC_parse-seqstart, seqstart);
-		        /*NOTREACHED*/
-                    }                           
-		    ++RExC_parse;
-		}
-	    }} /* one for the default block, one for the switch */
+              parse_flags:
+		parse_lparen_question_flags(pRExC_state);
+                if (UCHARAT(RExC_parse) != ':') {
+                    nextchar(pRExC_state);
+                    *flagp = TRYAGAIN;
+                    return NULL;
+                }
+                paren = ':';
+                nextchar(pRExC_state);
+                ret = NULL;
+                goto parse_rest;
+            } /* end switch */
 	}
 	else {                  /* (...) */
 	  capturing_parens:
@@ -7191,8 +9275,13 @@
 
     /*     branch_len = (paren != 0); */
 
-    if (br == NULL)
-	return(NULL);
+    if (br == NULL) {
+        if (flags & RESTART_UTF8) {
+            *flagp = RESTART_UTF8;
+            return NULL;
+        }
+        FAIL2("panic: regbranch returned NULL, flags=%#X", flags);
+    }
     if (*RExC_parse == '|') {
 	if (!SIZE_ONLY && RExC_extralen) {
 	    reginsert(pRExC_state, BRANCHJ, br, depth+1);
@@ -7231,8 +9320,13 @@
         }
         br = regbranch(pRExC_state, &flags, 0, depth+1);
 
-	if (br == NULL)
-	    return(NULL);
+	if (br == NULL) {
+            if (flags & RESTART_UTF8) {
+                *flagp = RESTART_UTF8;
+                return NULL;
+            }
+            FAIL2("panic: regbranch returned NULL, flags=%#X", flags);
+        }
         REGTAIL(pRExC_state, lastbr, br);               /* BRANCH -> BRANCH. */
 	lastbr = br;
 	*flagp |= flags & (SPSTART | HASWIDTH | POSTPONED);
@@ -7244,7 +9338,7 @@
 	case ':':
 	    ender = reg_node(pRExC_state, TAIL);
 	    break;
-	case 1:
+	case 1: case 2:
 	    ender = reganode(pRExC_state, CLOSE, parno);
 	    if (!SIZE_ONLY && RExC_seen & REG_SEEN_RECURSE) {
 		DEBUG_OPTIMISE_MORE_r(PerlIO_printf(Perl_debug_log,
@@ -7274,9 +9368,24 @@
             }
 	    break;
 	}
+        DEBUG_PARSE_r(if (!SIZE_ONLY) {
+            SV * const mysv_val1=sv_newmortal();
+            SV * const mysv_val2=sv_newmortal();
+            DEBUG_PARSE_MSG("lsbr");
+            regprop(RExC_rx, mysv_val1, lastbr);
+            regprop(RExC_rx, mysv_val2, ender);
+            PerlIO_printf(Perl_debug_log, "~ tying lastbr %s (%"IVdf") to ender %s (%"IVdf") offset %"IVdf"\n",
+                          SvPV_nolen_const(mysv_val1),
+                          (IV)REG_NODE_NUM(lastbr),
+                          SvPV_nolen_const(mysv_val2),
+                          (IV)REG_NODE_NUM(ender),
+                          (IV)(ender - lastbr)
+            );
+        });
         REGTAIL(pRExC_state, lastbr, ender);
 
 	if (have_branch && !SIZE_ONLY) {
+            char is_nothing= 1;
 	    if (depth==1)
 	        RExC_seen |= REG_TOP_LEVEL_BRANCHES;
 
@@ -7285,11 +9394,44 @@
 		const U8 op = PL_regkind[OP(br)];
 		if (op == BRANCH) {
                     REGTAIL_STUDY(pRExC_state, NEXTOPER(br), ender);
+                    if (OP(NEXTOPER(br)) != NOTHING || regnext(NEXTOPER(br)) != ender)
+                        is_nothing= 0;
 		}
 		else if (op == BRANCHJ) {
                     REGTAIL_STUDY(pRExC_state, NEXTOPER(NEXTOPER(br)), ender);
+                    /* for now we always disable this optimisation * /
+                    if (OP(NEXTOPER(NEXTOPER(br))) != NOTHING || regnext(NEXTOPER(NEXTOPER(br))) != ender)
+                    */
+                        is_nothing= 0;
 		}
 	    }
+            if (is_nothing) {
+                br= PL_regkind[OP(ret)] != BRANCH ? regnext(ret) : ret;
+                DEBUG_PARSE_r(if (!SIZE_ONLY) {
+                    SV * const mysv_val1=sv_newmortal();
+                    SV * const mysv_val2=sv_newmortal();
+                    DEBUG_PARSE_MSG("NADA");
+                    regprop(RExC_rx, mysv_val1, ret);
+                    regprop(RExC_rx, mysv_val2, ender);
+                    PerlIO_printf(Perl_debug_log, "~ converting ret %s (%"IVdf") to ender %s (%"IVdf") offset %"IVdf"\n",
+                                  SvPV_nolen_const(mysv_val1),
+                                  (IV)REG_NODE_NUM(ret),
+                                  SvPV_nolen_const(mysv_val2),
+                                  (IV)REG_NODE_NUM(ender),
+                                  (IV)(ender - ret)
+                    );
+                });
+                OP(br)= NOTHING;
+                if (OP(ender) == TAIL) {
+                    NEXT_OFF(br)= 0;
+                    RExC_emit= br + 1;
+                } else {
+                    regnode *opt;
+                    for ( opt= br + 1; opt < ender ; opt++ )
+                        OP(opt)= OPTIMIZED;
+                    NEXT_OFF(br)= ender - br;
+                }
+            }
 	}
     }
 
@@ -7313,7 +9455,8 @@
 
     /* Check for proper termination. */
     if (paren) {
-	RExC_flags = oregflags;
+        /* restore original flags, but keep (?p) */
+	RExC_flags = oregflags | (RExC_flags & RXf_PMf_KEEPCOPY);
 	if (RExC_parse >= RExC_end || *nextchar(pRExC_state) != ')') {
 	    RExC_parse = oregcomp_parse;
 	    vFAIL("Unmatched (");
@@ -7326,7 +9469,7 @@
 	}
 	else
 	    FAIL("Junk on end of regexp");	/* "Can't happen". */
-	/* NOTREACHED */
+	assert(0); /* NOTREACHED */
     }
 
     if (RExC_in_lookbehind) {
@@ -7341,14 +9484,17 @@
  - regbranch - one alternative of an | operator
  *
  * Implements the concatenation operator.
+ *
+ * Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan needs to be
+ * restarted.
  */
 STATIC regnode *
 S_regbranch(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, I32 first, U32 depth)
 {
     dVAR;
-    register regnode *ret;
-    register regnode *chain = NULL;
-    register regnode *latest;
+    regnode *ret;
+    regnode *chain = NULL;
+    regnode *latest;
     I32 flags = 0, c = 0;
     GET_RE_DEBUG_FLAGS_DECL;
 
@@ -7366,7 +9512,7 @@
             Set_Node_Length(ret, 1);
         }
     }
-	
+
     if (!first && SIZE_ONLY)
 	RExC_extralen += 1;			/* BRANCHJ */
 
@@ -7380,7 +9526,11 @@
 	if (latest == NULL) {
 	    if (flags & TRYAGAIN)
 		continue;
-	    return(NULL);
+            if (flags & RESTART_UTF8) {
+                *flagp = RESTART_UTF8;
+                return NULL;
+            }
+            FAIL2("panic: regpiece returned NULL, flags=%#X", flags);
 	}
 	else if (ret == NULL)
 	    ret = latest;
@@ -7414,20 +9564,31 @@
  * both the endmarker for their branch list and the body of the last branch.
  * It might seem that this node could be dispensed with entirely, but the
  * endmarker role is not redundant.
+ *
+ * Returns NULL, setting *flagp to TRYAGAIN if regatom() returns NULL with
+ * TRYAGAIN.
+ * Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan needs to be
+ * restarted.
  */
 STATIC regnode *
 S_regpiece(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
 {
     dVAR;
-    register regnode *ret;
-    register char op;
-    register char *next;
+    regnode *ret;
+    char op;
+    char *next;
     I32 flags;
     const char * const origparse = RExC_parse;
     I32 min;
     I32 max = REG_INFTY;
+#ifdef RE_TRACK_PATTERN_OFFSETS
     char *parse_start;
+#endif
     const char *maxpos = NULL;
+
+    /* Save the original in case we change the emitted regop to a FAIL. */
+    regnode * const orig_emit = RExC_emit;
+
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_REGPIECE;
@@ -7436,16 +9597,20 @@
 
     ret = regatom(pRExC_state, &flags,depth+1);
     if (ret == NULL) {
-	if (flags & TRYAGAIN)
-	    *flagp |= TRYAGAIN;
+	if (flags & (TRYAGAIN|RESTART_UTF8))
+	    *flagp |= flags & (TRYAGAIN|RESTART_UTF8);
+        else
+            FAIL2("panic: regatom returned NULL, flags=%#X", flags);
 	return(NULL);
     }
 
     op = *RExC_parse;
 
-    if (op == '{' && regcurly(RExC_parse)) {
+    if (op == '{' && regcurly(RExC_parse, FALSE)) {
 	maxpos = NULL;
+#ifdef RE_TRACK_PATTERN_OFFSETS
         parse_start = RExC_parse; /* MJD */
+#endif
 	next = RExC_parse + 1;
 	while (isDIGIT(*next) || *next == ',') {
 	    if (*next == ',') {
@@ -7472,7 +9637,24 @@
 		vFAIL2("Quantifier in {,} bigger than %d", REG_INFTY - 1);
 	    RExC_parse = next;
 	    nextchar(pRExC_state);
+            if (max < min) {    /* If can't match, warn and optimize to fail
+                                   unconditionally */
+                if (SIZE_ONLY) {
+                    ckWARNreg(RExC_parse, "Quantifier {n,m} with n > m can't match");
 
+                    /* We can't back off the size because we have to reserve
+                     * enough space for all the things we are about to throw
+                     * away, but we can shrink it by the ammount we are about
+                     * to re-use here */
+                    RExC_size = PREVOPER(RExC_size) - regarglen[(U8)OPFAIL];
+                }
+                else {
+                    RExC_emit = orig_emit;
+                }
+                ret = reg_node(pRExC_state, OPFAIL);
+                return ret;
+            }
+
 	do_curly:
 	    if ((flags&SIMPLE)) {
 		RExC_naughty += 2 + RExC_naughty / 2;
@@ -7509,8 +9691,6 @@
 		*flagp = WORST;
 	    if (max > 0)
 		*flagp |= HASWIDTH;
-	    if (max < min)
-		vFAIL("Can't do {n,m} with n > m");
 	    if (!SIZE_ONLY) {
 		ARG1_SET(ret, (U16)min);
 		ARG2_SET(ret, (U16)max);
@@ -7541,7 +9721,9 @@
       vFAIL("Regexp *+ operand could be empty");
 #endif
 
+#ifdef RE_TRACK_PATTERN_OFFSETS
     parse_start = RExC_parse;
+#endif
     nextchar(pRExC_state);
 
     *flagp = (op != '+') ? (WORST|SPSTART|HASWIDTH) : (WORST|HASWIDTH);
@@ -7570,10 +9752,12 @@
     }
   nest_check:
     if (!SIZE_ONLY && !(flags&(HASWIDTH|POSTPONED)) && max > REG_INFTY/3) {
+	SAVEFREESV(RExC_rx_sv); /* in case of fatal warnings */
 	ckWARN3reg(RExC_parse,
 		   "%.*s matches null string many times",
 		   (int)(RExC_parse >= origparse ? RExC_parse - origparse : 0),
 		   origparse);
+	(void)ReREFCNT_inc(RExC_rx_sv);
     }
 
     if (RExC_parse < RExC_end && *RExC_parse == '?') {
@@ -7604,86 +9788,100 @@
     return(ret);
 }
 
-
-/* reg_namedseq(pRExC_state,UVp, UV depth)
+STATIC bool
+S_grok_bslash_N(pTHX_ RExC_state_t *pRExC_state, regnode** node_p, UV *valuep, I32 *flagp, U32 depth, bool in_char_class,
+        const bool strict   /* Apply stricter parsing rules? */
+    )
+{
    
-   This is expected to be called by a parser routine that has 
-   recognized '\N' and needs to handle the rest. RExC_parse is
-   expected to point at the first char following the N at the time
-   of the call.
+ /* This is expected to be called by a parser routine that has recognized '\N'
+   and needs to handle the rest. RExC_parse is expected to point at the first
+   char following the N at the time of the call.  On successful return,
+   RExC_parse has been updated to point to just after the sequence identified
+   by this routine, and <*flagp> has been updated.
 
-   The \N may be inside (indicated by valuep not being NULL) or outside a
+   The \N may be inside (indicated by the boolean <in_char_class>) or outside a
    character class.
 
    \N may begin either a named sequence, or if outside a character class, mean
    to match a non-newline.  For non single-quoted regexes, the tokenizer has
-   attempted to decide which, and in the case of a named sequence converted it
+   attempted to decide which, and in the case of a named sequence, converted it
    into one of the forms: \N{} (if the sequence is null), or \N{U+c1.c2...},
    where c1... are the characters in the sequence.  For single-quoted regexes,
    the tokenizer passes the \N sequence through unchanged; this code will not
-   attempt to determine this nor expand those.  The net effect is that if the
-   beginning of the passed-in pattern isn't '{U+' or there is no '}', it
-   signals that this \N occurrence means to match a non-newline.
-   
+   attempt to determine this nor expand those, instead raising a syntax error.
+   The net effect is that if the beginning of the passed-in pattern isn't '{U+'
+   or there is no '}', it signals that this \N occurrence means to match a
+   non-newline.
+
    Only the \N{U+...} form should occur in a character class, for the same
    reason that '.' inside a character class means to just match a period: it
    just doesn't make sense.
-   
-   If valuep is non-null then it is assumed that we are parsing inside 
-   of a charclass definition and the first codepoint in the resolved
-   string is returned via *valuep and the routine will return NULL. 
-   In this mode if a multichar string is returned from the charnames 
-   handler, a warning will be issued, and only the first char in the 
-   sequence will be examined. If the string returned is zero length
-   then the value of *valuep is undefined and NON-NULL will 
-   be returned to indicate failure. (This will NOT be a valid pointer 
-   to a regnode.)
-   
-   If valuep is null then it is assumed that we are parsing normal text and a
-   new EXACT node is inserted into the program containing the resolved string,
-   and a pointer to the new node is returned.  But if the string is zero length
-   a NOTHING node is emitted instead.
 
-   On success RExC_parse is set to the char following the endbrace.
-   Parsing failures will generate a fatal error via vFAIL(...)
+   The function raises an error (via vFAIL), and doesn't return for various
+   syntax errors.  Otherwise it returns TRUE and sets <node_p> or <valuep> on
+   success; it returns FALSE otherwise. Returns FALSE, setting *flagp to
+   RESTART_UTF8 if the sizing scan needs to be restarted. Such a restart is
+   only possible if node_p is non-NULL.
+
+
+   If <valuep> is non-null, it means the caller can accept an input sequence
+   consisting of a just a single code point; <*valuep> is set to that value
+   if the input is such.
+
+   If <node_p> is non-null it signifies that the caller can accept any other
+   legal sequence (i.e., one that isn't just a single code point).  <*node_p>
+   is set as follows:
+    1) \N means not-a-NL: points to a newly created REG_ANY node;
+    2) \N{}:              points to a new NOTHING node;
+    3) otherwise:         points to a new EXACT node containing the resolved
+                          string.
+   Note that FALSE is returned for single code point sequences if <valuep> is
+   null.
  */
-STATIC regnode *
-S_reg_namedseq(pTHX_ RExC_state_t *pRExC_state, UV *valuep, I32 *flagp, U32 depth)
-{
+
     char * endbrace;    /* '}' following the name */
-    regnode *ret = NULL;
     char* p;
+    char *endchar;	/* Points to '.' or '}' ending cur char in the input
+                           stream */
+    bool has_multiple_chars; /* true if the input stream contains a sequence of
+                                more than one character */
 
     GET_RE_DEBUG_FLAGS_DECL;
  
-    PERL_ARGS_ASSERT_REG_NAMEDSEQ;
+    PERL_ARGS_ASSERT_GROK_BSLASH_N;
 
     GET_RE_DEBUG_FLAGS;
 
+    assert(cBOOL(node_p) ^ cBOOL(valuep));  /* Exactly one should be set */
+
     /* The [^\n] meaning of \N ignores spaces and comments under the /x
      * modifier.  The other meaning does not */
     p = (RExC_flags & RXf_PMf_EXTENDED)
 	? regwhite( pRExC_state, RExC_parse )
 	: RExC_parse;
-   
+
     /* Disambiguate between \N meaning a named character versus \N meaning
      * [^\n].  The former is assumed when it can't be the latter. */
-    if (*p != '{' || regcurly(p)) {
+    if (*p != '{' || regcurly(p, FALSE)) {
 	RExC_parse = p;
-	if (valuep) {
+	if (! node_p) {
 	    /* no bare \N in a charclass */
-	    vFAIL("\\N in a character class must be a named character: \\N{...}");
-	}
+            if (in_char_class) {
+                vFAIL("\\N in a character class must be a named character: \\N{...}");
+            }
+            return FALSE;
+        }
 	nextchar(pRExC_state);
-	ret = reg_node(pRExC_state, REG_ANY);
+	*node_p = reg_node(pRExC_state, REG_ANY);
 	*flagp |= HASWIDTH|SIMPLE;
 	RExC_naughty++;
 	RExC_parse--;
-        Set_Node_Length(ret, 1); /* MJD */
-	return ret;
+        Set_Node_Length(*node_p, 1); /* MJD */
+	return TRUE;
     }
 
-    /* Here, we have decided it should be a named sequence */
+    /* Here, we have decided it should be a named character or sequence */
 
     /* The test above made sure that the next real character is a '{', but
      * under the /x modifier, it could be separated by space (or a comment and
@@ -7705,44 +9903,53 @@
     }
 
     if (endbrace == RExC_parse) {   /* empty: \N{} */
-	if (! valuep) {
-	    RExC_parse = endbrace + 1;  
-	    return reg_node(pRExC_state,NOTHING);
+        bool ret = TRUE;
+	if (node_p) {
+	    *node_p = reg_node(pRExC_state,NOTHING);
 	}
-
-	if (SIZE_ONLY) {
-	    ckWARNreg(RExC_parse,
-		    "Ignoring zero length \\N{} in character class"
-	    );
-	    RExC_parse = endbrace + 1;  
+        else if (in_char_class) {
+            if (SIZE_ONLY && in_char_class) {
+                if (strict) {
+                    RExC_parse++;   /* Position after the "}" */
+                    vFAIL("Zero length \\N{}");
+                }
+                else {
+                    ckWARNreg(RExC_parse,
+                              "Ignoring zero length \\N{} in character class");
+                }
+            }
+            ret = FALSE;
 	}
-	*valuep = 0;
-	return (regnode *) &RExC_parse; /* Invalid regnode pointer */
+        else {
+            return FALSE;
+        }
+        nextchar(pRExC_state);
+        return ret;
     }
 
-    REQUIRE_UTF8;	/* named sequences imply Unicode semantics */
+    RExC_uni_semantics = 1; /* Unicode named chars imply Unicode semantics */
     RExC_parse += 2;	/* Skip past the 'U+' */
 
-    if (valuep) {   /* In a bracketed char class */
-	/* We only pay attention to the first char of 
-	multichar strings being returned. I kinda wonder
+    endchar = RExC_parse + strcspn(RExC_parse, ".}");
+
+    /* Code points are separated by dots.  If none, there is only one code
+     * point, and is terminated by the brace */
+    has_multiple_chars = (endchar < endbrace);
+
+    if (valuep && (! has_multiple_chars || in_char_class)) {
+	/* We only pay attention to the first char of
+        multichar strings being returned in char classes. I kinda wonder
 	if this makes sense as it does change the behaviour
 	from earlier versions, OTOH that behaviour was broken
 	as well. XXX Solution is to recharacterize as
 	[rest-of-class]|multi1|multi2... */
 
-	STRLEN length_of_hex;
-	I32 flags = PERL_SCAN_ALLOW_UNDERSCORES
+	STRLEN length_of_hex = (STRLEN)(endchar - RExC_parse);
+	I32 grok_hex_flags = PERL_SCAN_ALLOW_UNDERSCORES
 	    | PERL_SCAN_DISALLOW_PREFIX
 	    | (SIZE_ONLY ? PERL_SCAN_SILENT_ILLDIGIT : 0);
-    
-	char * endchar = RExC_parse + strcspn(RExC_parse, ".}");
-	if (endchar < endbrace) {
-	    ckWARNreg(endchar, "Using just the first character returned by \\N{} in character class");
-	}
 
-	length_of_hex = (STRLEN)(endchar - RExC_parse);
-	*valuep = grok_hex(RExC_parse, &length_of_hex, &flags, NULL);
+	*valuep = grok_hex(RExC_parse, &length_of_hex, &grok_hex_flags, NULL);
 
 	/* The tokenizer should have guaranteed validity, but it's possible to
 	 * bypass it by using single quoting, so check */
@@ -7754,17 +9961,34 @@
 			    ? UTF8SKIP(RExC_parse)
 			    : 1;
 	    /* Guard against malformed utf8 */
-	    if (RExC_parse >= endchar) RExC_parse = endchar;
+	    if (RExC_parse >= endchar) {
+                RExC_parse = endchar;
+            }
 	    vFAIL("Invalid hexadecimal number in \\N{U+...}");
-	}    
+	}
 
-	RExC_parse = endbrace + 1;
-	if (endchar == endbrace) return NULL;
+        if (in_char_class && has_multiple_chars) {
+            if (strict) {
+                RExC_parse = endbrace;
+                vFAIL("\\N{} in character class restricted to one character");
+            }
+            else {
+                ckWARNreg(endchar, "Using just the first character returned by \\N{} in character class");
+            }
+        }
 
-        ret = (regnode *) &RExC_parse;	/* Invalid regnode pointer */
+        RExC_parse = endbrace + 1;
     }
-    else {	/* Not a char class */
+    else if (! node_p || ! has_multiple_chars) {
 
+        /* Here, the input is legal, but not according to the caller's
+         * options.  We fail without advancing the parse, so that the
+         * caller can try again */
+        RExC_parse = p;
+        return FALSE;
+    }
+    else {
+
 	/* What is done here is to convert this to a sub-pattern of the form
 	 * (?:\x{char1}\x{char2}...)
 	 * and then call reg recursively.  That way, it retains its atomicness,
@@ -7776,16 +10000,11 @@
 
 	SV * substitute_parse = newSVpvn_flags("?:", 2, SVf_UTF8|SVs_TEMP);
 	STRLEN len;
-	char *endchar;	    /* Points to '.' or '}' ending cur char in the input
-			       stream */
 	char *orig_end = RExC_end;
+        I32 flags;
 
 	while (RExC_parse < endbrace) {
 
-	    /* Code points are separated by dots.  If none, there is only one
-	     * code point, and is terminated by the brace */
-	    endchar = RExC_parse + strcspn(RExC_parse, ".}");
-
 	    /* Convert to notation the rest of the code understands */
 	    sv_catpv(substitute_parse, "\\x{");
 	    sv_catpvn(substitute_parse, RExC_parse, endchar - RExC_parse);
@@ -7793,6 +10012,7 @@
 
 	    /* Point to the beginning of the next character in the sequence. */
 	    RExC_parse = endchar + 1;
+	    endchar = RExC_parse + strcspn(RExC_parse, ".}");
 	}
 	sv_catpv(substitute_parse, ")");
 
@@ -7807,16 +10027,24 @@
 	/* The values are Unicode, and therefore not subject to recoding */
 	RExC_override_recoding = 1;
 
-	ret = reg(pRExC_state, 1, flagp, depth+1);
+	if (!(*node_p = reg(pRExC_state, 1, &flags, depth+1))) {
+            if (flags & RESTART_UTF8) {
+                *flagp = RESTART_UTF8;
+                return FALSE;
+            }
+            FAIL2("panic: reg returned NULL to grok_bslash_N, flags=%#X",
+                  flags);
+        } 
+	*flagp |= flags&(HASWIDTH|SPSTART|SIMPLE|POSTPONED);
 
 	RExC_parse = endbrace;
 	RExC_end = orig_end;
 	RExC_override_recoding = 0;
 
-	nextchar(pRExC_state);
+        nextchar(pRExC_state);
     }
 
-    return ret;
+    return TRUE;
 }
 
 
@@ -7853,7 +10081,109 @@
     return uv;
 }
 
+PERL_STATIC_INLINE U8
+S_compute_EXACTish(pTHX_ RExC_state_t *pRExC_state)
+{
+    U8 op;
 
+    PERL_ARGS_ASSERT_COMPUTE_EXACTISH;
+
+    if (! FOLD) {
+        return EXACT;
+    }
+
+    op = get_regex_charset(RExC_flags);
+    if (op >= REGEX_ASCII_RESTRICTED_CHARSET) {
+        op--; /* /a is same as /u, and map /aa's offset to what /a's would have
+                 been, so there is no hole */
+    }
+
+    return op + EXACTF;
+}
+
+PERL_STATIC_INLINE void
+S_alloc_maybe_populate_EXACT(pTHX_ RExC_state_t *pRExC_state, regnode *node, I32* flagp, STRLEN len, UV code_point)
+{
+    /* This knows the details about sizing an EXACTish node, setting flags for
+     * it (by setting <*flagp>, and potentially populating it with a single
+     * character.
+     *
+     * If <len> (the length in bytes) is non-zero, this function assumes that
+     * the node has already been populated, and just does the sizing.  In this
+     * case <code_point> should be the final code point that has already been
+     * placed into the node.  This value will be ignored except that under some
+     * circumstances <*flagp> is set based on it.
+     *
+     * If <len> is zero, the function assumes that the node is to contain only
+     * the single character given by <code_point> and calculates what <len>
+     * should be.  In pass 1, it sizes the node appropriately.  In pass 2, it
+     * additionally will populate the node's STRING with <code_point>, if <len>
+     * is 0.  In both cases <*flagp> is appropriately set
+     *
+     * It knows that under FOLD, the Latin Sharp S and UTF characters above
+     * 255, must be folded (the former only when the rules indicate it can
+     * match 'ss') */
+
+    bool len_passed_in = cBOOL(len != 0);
+    U8 character[UTF8_MAXBYTES_CASE+1];
+
+    PERL_ARGS_ASSERT_ALLOC_MAYBE_POPULATE_EXACT;
+
+    if (! len_passed_in) {
+        if (UTF) {
+            if (FOLD && (! LOC || code_point > 255)) {
+                _to_uni_fold_flags(NATIVE_TO_UNI(code_point),
+                                   character,
+                                   &len,
+                                   FOLD_FLAGS_FULL | ((LOC)
+                                                     ? FOLD_FLAGS_LOCALE
+                                                     : (ASCII_FOLD_RESTRICTED)
+                                                       ? FOLD_FLAGS_NOMIX_ASCII
+                                                       : 0));
+            }
+            else {
+                uvchr_to_utf8( character, code_point);
+                len = UTF8SKIP(character);
+            }
+        }
+        else if (! FOLD
+                 || code_point != LATIN_SMALL_LETTER_SHARP_S
+                 || ASCII_FOLD_RESTRICTED
+                 || ! AT_LEAST_UNI_SEMANTICS)
+        {
+            *character = (U8) code_point;
+            len = 1;
+        }
+        else {
+            *character = 's';
+            *(character + 1) = 's';
+            len = 2;
+        }
+    }
+
+    if (SIZE_ONLY) {
+        RExC_size += STR_SZ(len);
+    }
+    else {
+        RExC_emit += STR_SZ(len);
+        STR_LEN(node) = len;
+        if (! len_passed_in) {
+            Copy((char *) character, STRING(node), len, char);
+        }
+    }
+
+    *flagp |= HASWIDTH;
+
+    /* A single character node is SIMPLE, except for the special-cased SHARP S
+     * under /di. */
+    if ((len == 1 || (UTF && len == UNISKIP(code_point)))
+        && (code_point != LATIN_SMALL_LETTER_SHARP_S
+            || ! FOLD || ! DEPENDS_SEMANTICS))
+    {
+        *flagp |= SIMPLE;
+    }
+}
+
 /*
  - regatom - the lowest level
 
@@ -7869,11 +10199,55 @@
    sequence, we return.
 
    Note: we have to be careful with escapes, as they can be both literal
-   and special, and in the case of \10 and friends can either, depending
-   on context. Specifically there are two separate switches for handling
+   and special, and in the case of \10 and friends, context determines which.
+
+   A summary of the code structure is:
+
+   switch (first_byte) {
+	cases for each special:
+	    handle this special;
+	    break;
+	case '\\':
+	    switch (2nd byte) {
+		cases for each unambiguous special:
+		    handle this special;
+		    break;
+		cases for each ambigous special/literal:
+		    disambiguate;
+		    if (special)  handle here
+		    else goto defchar;
+		default: // unambiguously literal:
+		    goto defchar;
+	    }
+	default:  // is a literal char
+	    // FALL THROUGH
+	defchar:
+	    create EXACTish node for literal;
+	    while (more input and node isn't full) {
+		switch (input_byte) {
+		   cases for each special;
+                       make sure parse pointer is set so that the next call to
+                           regatom will see this special first
+                       goto loopdone; // EXACTish node terminated by prev. char
+		   default:
+		       append char to EXACTISH node;
+		}
+	        get next input byte;
+	    }
+        loopdone:
+   }
+   return the generated node;
+
+   Specifically there are two separate switches for handling
    escape sequences, with the one for handling literal escapes requiring
    a dummy entry for all of the special escapes that are actually handled
    by the other.
+
+   Returns NULL, setting *flagp to TRYAGAIN if reg() returns NULL with
+   TRYAGAIN.  
+   Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan needs to be
+   restarted.
+   Otherwise does not return NULL.
 */
 
 STATIC regnode *
@@ -7880,14 +10254,18 @@
 S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
 {
     dVAR;
-    register regnode *ret = NULL;
-    I32 flags;
+    regnode *ret = NULL;
+    I32 flags = 0;
     char *parse_start = RExC_parse;
     U8 op;
+    int invert = 0;
+
     GET_RE_DEBUG_FLAGS_DECL;
-    DEBUG_PARSE("atom");
+
     *flagp = WORST;		/* Tentatively. */
 
+    DEBUG_PARSE("atom");
+
     PERL_ARGS_ASSERT_REGATOM;
 
 tryagain:
@@ -7928,19 +10306,28 @@
     case '[':
     {
 	char * const oregcomp_parse = ++RExC_parse;
-        ret = regclass(pRExC_state,depth+1);
+        ret = regclass(pRExC_state, flagp,depth+1,
+                       FALSE, /* means parse the whole char class */
+                       TRUE, /* allow multi-char folds */
+                       FALSE, /* don't silence non-portable warnings. */
+                       NULL);
 	if (*RExC_parse != ']') {
 	    RExC_parse = oregcomp_parse;
 	    vFAIL("Unmatched [");
 	}
+        if (ret == NULL) {
+            if (*flagp & RESTART_UTF8)
+                return NULL;
+            FAIL2("panic: regclass returned NULL to regatom, flags=%#X",
+                  *flagp);
+        }
 	nextchar(pRExC_state);
-	*flagp |= HASWIDTH|SIMPLE;
         Set_Node_Length(ret, RExC_parse - oregcomp_parse + 1); /* MJD */
 	break;
     }
     case '(':
 	nextchar(pRExC_state);
-        ret = reg(pRExC_state, 1, &flags,depth+1);
+        ret = reg(pRExC_state, 2, &flags,depth+1);
 	if (ret == NULL) {
 		if (flags & TRYAGAIN) {
 		    if (RExC_parse == RExC_end) {
@@ -7950,7 +10337,11 @@
 		    }
 		    goto tryagain;
 		}
-		return(NULL);
+                if (flags & RESTART_UTF8) {
+                    *flagp = RESTART_UTF8;
+                    return NULL;
+                }
+                FAIL2("panic: reg returned NULL to regatom, flags=%#X", flags);
 	}
 	*flagp |= flags&(HASWIDTH|SPSTART|SIMPLE|POSTPONED);
 	break;
@@ -7964,7 +10355,7 @@
 				/* Supposed to be caught earlier. */
 	break;
     case '{':
-	if (!regcurly(RExC_parse)) {
+	if (!regcurly(RExC_parse, FALSE)) {
 	    RExC_parse++;
 	    goto defchar;
 	}
@@ -7989,6 +10380,7 @@
 	   literal text handling code.
 	*/
 	switch ((U8)*++RExC_parse) {
+            U8 arg;
 	/* Special Escapes */
 	case 'A':
 	    RExC_seen_zerolen++;
@@ -8029,201 +10421,98 @@
 	    ret = reg_node(pRExC_state, CLUMP);
 	    *flagp |= HASWIDTH;
 	    goto finish_meta_pat;
+
+	case 'W':
+            invert = 1;
+            /* FALLTHROUGH */
 	case 'w':
-	    switch (get_regex_charset(RExC_flags)) {
-		case REGEX_LOCALE_CHARSET:
-		    op = ALNUML;
-		    break;
-		case REGEX_UNICODE_CHARSET:
-		    op = ALNUMU;
-		    break;
-		case REGEX_ASCII_RESTRICTED_CHARSET:
-		case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
-		    op = ALNUMA;
-		    break;
-		case REGEX_DEPENDS_CHARSET:
-		    op = ALNUM;
-		    break;
-		default:
-		    goto bad_charset;
-            }
-	    ret = reg_node(pRExC_state, op);
-	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
-	case 'W':
-	    switch (get_regex_charset(RExC_flags)) {
-		case REGEX_LOCALE_CHARSET:
-		    op = NALNUML;
-		    break;
-		case REGEX_UNICODE_CHARSET:
-		    op = NALNUMU;
-		    break;
-		case REGEX_ASCII_RESTRICTED_CHARSET:
-		case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
-		    op = NALNUMA;
-		    break;
-		case REGEX_DEPENDS_CHARSET:
-		    op = NALNUM;
-		    break;
-		default:
-		    goto bad_charset;
-            }
-	    ret = reg_node(pRExC_state, op);
-	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
+            arg = ANYOF_WORDCHAR;
+            goto join_posix;
+
 	case 'b':
 	    RExC_seen_zerolen++;
 	    RExC_seen |= REG_SEEN_LOOKBEHIND;
-	    switch (get_regex_charset(RExC_flags)) {
-		case REGEX_LOCALE_CHARSET:
-		    op = BOUNDL;
-		    break;
-		case REGEX_UNICODE_CHARSET:
-		    op = BOUNDU;
-		    break;
-		case REGEX_ASCII_RESTRICTED_CHARSET:
-		case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
-		    op = BOUNDA;
-		    break;
-		case REGEX_DEPENDS_CHARSET:
-		    op = BOUND;
-		    break;
-		default:
-		    goto bad_charset;
+	    op = BOUND + get_regex_charset(RExC_flags);
+            if (op > BOUNDA) {  /* /aa is same as /a */
+                op = BOUNDA;
             }
 	    ret = reg_node(pRExC_state, op);
 	    FLAGS(ret) = get_regex_charset(RExC_flags);
 	    *flagp |= SIMPLE;
 	    if (! SIZE_ONLY && (U8) *(RExC_parse + 1) == '{') {
-		ckWARNregdep(RExC_parse, "\"\\b{\" is deprecated; use \"\\b\\{\" instead");
+		ckWARNdep(RExC_parse, "\"\\b{\" is deprecated; use \"\\b\\{\" or \"\\b[{]\" instead");
 	    }
 	    goto finish_meta_pat;
 	case 'B':
 	    RExC_seen_zerolen++;
 	    RExC_seen |= REG_SEEN_LOOKBEHIND;
-	    switch (get_regex_charset(RExC_flags)) {
-		case REGEX_LOCALE_CHARSET:
-		    op = NBOUNDL;
-		    break;
-		case REGEX_UNICODE_CHARSET:
-		    op = NBOUNDU;
-		    break;
-		case REGEX_ASCII_RESTRICTED_CHARSET:
-		case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
-		    op = NBOUNDA;
-		    break;
-		case REGEX_DEPENDS_CHARSET:
-		    op = NBOUND;
-		    break;
-		default:
-		    goto bad_charset;
+	    op = NBOUND + get_regex_charset(RExC_flags);
+            if (op > NBOUNDA) { /* /aa is same as /a */
+                op = NBOUNDA;
             }
 	    ret = reg_node(pRExC_state, op);
 	    FLAGS(ret) = get_regex_charset(RExC_flags);
 	    *flagp |= SIMPLE;
 	    if (! SIZE_ONLY && (U8) *(RExC_parse + 1) == '{') {
-		ckWARNregdep(RExC_parse, "\"\\B{\" is deprecated; use \"\\B\\{\" instead");
+		ckWARNdep(RExC_parse, "\"\\B{\" is deprecated; use \"\\B\\{\" or \"\\B[{]\" instead");
 	    }
 	    goto finish_meta_pat;
-	case 's':
-	    switch (get_regex_charset(RExC_flags)) {
-		case REGEX_LOCALE_CHARSET:
-		    op = SPACEL;
-		    break;
-		case REGEX_UNICODE_CHARSET:
-		    op = SPACEU;
-		    break;
-		case REGEX_ASCII_RESTRICTED_CHARSET:
-		case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
-		    op = SPACEA;
-		    break;
-		case REGEX_DEPENDS_CHARSET:
-		    op = SPACE;
-		    break;
-		default:
-		    goto bad_charset;
-            }
-	    ret = reg_node(pRExC_state, op);
+
+	case 'D':
+            invert = 1;
+            /* FALLTHROUGH */
+	case 'd':
+            arg = ANYOF_DIGIT;
+            goto join_posix;
+
+	case 'R':
+	    ret = reg_node(pRExC_state, LNBREAK);
 	    *flagp |= HASWIDTH|SIMPLE;
 	    goto finish_meta_pat;
+
+	case 'H':
+            invert = 1;
+            /* FALLTHROUGH */
+	case 'h':
+	    arg = ANYOF_BLANK;
+            op = POSIXU;
+            goto join_posix_op_known;
+
+	case 'V':
+            invert = 1;
+            /* FALLTHROUGH */
+	case 'v':
+	    arg = ANYOF_VERTWS;
+            op = POSIXU;
+            goto join_posix_op_known;
+
 	case 'S':
-	    switch (get_regex_charset(RExC_flags)) {
-		case REGEX_LOCALE_CHARSET:
-		    op = NSPACEL;
-		    break;
-		case REGEX_UNICODE_CHARSET:
-		    op = NSPACEU;
-		    break;
-		case REGEX_ASCII_RESTRICTED_CHARSET:
-		case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
-		    op = NSPACEA;
-		    break;
-		case REGEX_DEPENDS_CHARSET:
-		    op = NSPACE;
-		    break;
-		default:
-		    goto bad_charset;
+            invert = 1;
+            /* FALLTHROUGH */
+	case 's':
+            arg = ANYOF_SPACE;
+
+        join_posix:
+
+	    op = POSIXD + get_regex_charset(RExC_flags);
+            if (op > POSIXA) {  /* /aa is same as /a */
+                op = POSIXA;
             }
-	    ret = reg_node(pRExC_state, op);
-	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
-	case 'd':
-	    switch (get_regex_charset(RExC_flags)) {
-		case REGEX_LOCALE_CHARSET:
-		    op = DIGITL;
-		    break;
-		case REGEX_ASCII_RESTRICTED_CHARSET:
-		case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
-		    op = DIGITA;
-		    break;
-		case REGEX_DEPENDS_CHARSET: /* No difference between these */
-		case REGEX_UNICODE_CHARSET:
-		    op = DIGIT;
-		    break;
-		default:
-		    goto bad_charset;
+
+        join_posix_op_known:
+
+            if (invert) {
+                op += NPOSIXD - POSIXD;
             }
+
 	    ret = reg_node(pRExC_state, op);
-	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
-	case 'D':
-	    switch (get_regex_charset(RExC_flags)) {
-		case REGEX_LOCALE_CHARSET:
-		    op = NDIGITL;
-		    break;
-		case REGEX_ASCII_RESTRICTED_CHARSET:
-		case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
-		    op = NDIGITA;
-		    break;
-		case REGEX_DEPENDS_CHARSET: /* No difference between these */
-		case REGEX_UNICODE_CHARSET:
-		    op = NDIGIT;
-		    break;
-		default:
-		    goto bad_charset;
+            if (! SIZE_ONLY) {
+                FLAGS(ret) = namedclass_to_classnum(arg);
             }
-	    ret = reg_node(pRExC_state, op);
+
 	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
-	case 'R':
-	    ret = reg_node(pRExC_state, LNBREAK);
-	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
-	case 'h':
-	    ret = reg_node(pRExC_state, HORIZWS);
-	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
-	case 'H':
-	    ret = reg_node(pRExC_state, NHORIZWS);
-	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
-	case 'v':
-	    ret = reg_node(pRExC_state, VERTWS);
-	    *flagp |= HASWIDTH|SIMPLE;
-	    goto finish_meta_pat;
-	case 'V':
-	    ret = reg_node(pRExC_state, NVERTWS);
-	    *flagp |= HASWIDTH|SIMPLE;
+            /* FALL THROUGH */
+
          finish_meta_pat:	    
 	    nextchar(pRExC_state);
             Set_Node_Length(ret, 2); /* MJD */
@@ -8230,48 +10519,52 @@
 	    break;	    
 	case 'p':
 	case 'P':
-	    {	
-		char* const oldregxend = RExC_end;
+	    {
 #ifdef DEBUGGING
 		char* parse_start = RExC_parse - 2;
 #endif
 
-		if (RExC_parse[1] == '{') {
-		  /* a lovely hack--pretend we saw [\pX] instead */
-		    RExC_end = strchr(RExC_parse, '}');
-		    if (!RExC_end) {
-		        const U8 c = (U8)*RExC_parse;
-			RExC_parse += 2;
-			RExC_end = oldregxend;
-			vFAIL2("Missing right brace on \\%c{}", c);
-		    }
-		    RExC_end++;
-		}
-		else {
-		    RExC_end = RExC_parse + 2;
-		    if (RExC_end > oldregxend)
-			RExC_end = oldregxend;
-		}
 		RExC_parse--;
 
-                ret = regclass(pRExC_state,depth+1);
+                ret = regclass(pRExC_state, flagp,depth+1,
+                               TRUE, /* means just parse this element */
+                               FALSE, /* don't allow multi-char folds */
+                               FALSE, /* don't silence non-portable warnings.
+                                         It would be a bug if these returned
+                                         non-portables */
+                               NULL);
+                /* regclass() can only return RESTART_UTF8 if multi-char folds
+                   are allowed.  */
+                if (!ret)
+                    FAIL2("panic: regclass returned NULL to regatom, flags=%#X",
+                          *flagp);
 
-		RExC_end = oldregxend;
 		RExC_parse--;
 
 		Set_Node_Offset(ret, parse_start + 2);
 		Set_Node_Cur_Length(ret);
 		nextchar(pRExC_state);
-		*flagp |= HASWIDTH|SIMPLE;
 	    }
 	    break;
         case 'N': 
-            /* Handle \N and \N{NAME} here and not below because it can be
-            multicharacter. join_exact() will join them up later on. 
-            Also this makes sure that things like /\N{BLAH}+/ and 
-            \N{BLAH} being multi char Just Happen. dmq*/
+            /* Handle \N and \N{NAME} with multiple code points here and not
+             * below because it can be multicharacter. join_exact() will join
+             * them up later on.  Also this makes sure that things like
+             * /\N{BLAH}+/ and \N{BLAH} being multi char Just Happen. dmq.
+             * The options to the grok function call causes it to fail if the
+             * sequence is just a single code point.  We then go treat it as
+             * just another character in the current EXACT node, and hence it
+             * gets uniform treatment with all the other characters.  The
+             * special treatment for quantifiers is not needed for such single
+             * character sequences */
             ++RExC_parse;
-            ret= reg_namedseq(pRExC_state, NULL, flagp, depth);
+            if (! grok_bslash_N(pRExC_state, &ret, NULL, flagp, depth, FALSE,
+                                FALSE /* not strict */ )) {
+                if (*flagp & RESTART_UTF8)
+                    return NULL;
+                RExC_parse--;
+                goto defchar;
+            }
             break;
 	case 'k':    /* Handle \k<NAME> and \k'NAME' */
 	parse_named_seq:
@@ -8301,7 +10594,7 @@
                 ret = reganode(pRExC_state,
                                ((! FOLD)
                                  ? NREF
-				 : (MORE_ASCII_RESTRICTED)
+				 : (ASCII_FOLD_RESTRICTED)
 				   ? NREFFA
                                    : (AT_LEAST_UNI_SEMANTICS)
                                      ? NREFFU
@@ -8351,6 +10644,7 @@
                         vFAIL("Reference to nonexistent or unclosed group");
                 }
 		if (!isg && num > 9 && num >= RExC_npar)
+                    /* Probably a character specified in octal, e.g. \35 */
 		    goto defchar;
 		else {
 		    char * const parse_start = RExC_parse - 1; /* MJD */
@@ -8371,7 +10665,7 @@
 		    ret = reganode(pRExC_state,
 				   ((! FOLD)
 				     ? REF
-				     : (MORE_ASCII_RESTRICTED)
+				     : (ASCII_FOLD_RESTRICTED)
 				       ? REFFA
                                        : (AT_LEAST_UNI_SEMANTICS)
                                          ? REFFU
@@ -8415,43 +10709,64 @@
 	    RExC_parse++;
 
 	defchar: {
-	    typedef enum {
-		generic_char = 0,
-		char_s,
-		upsilon_1,
-		upsilon_2,
-		iota_1,
-		iota_2,
-	    } char_state;
-	    char_state latest_char_state = generic_char;
-	    register STRLEN len;
-	    register UV ender;
-	    register char *p;
+	    STRLEN len = 0;
+	    UV ender;
+	    char *p;
 	    char *s;
+#define MAX_NODE_STRING_SIZE 127
+	    char foldbuf[MAX_NODE_STRING_SIZE+UTF8_MAXBYTES_CASE];
+	    char *s0;
+	    U8 upper_parse = MAX_NODE_STRING_SIZE;
 	    STRLEN foldlen;
-	    U8 tmpbuf[UTF8_MAXBYTES_CASE+1], *foldbuf;
-	    regnode * orig_emit;
+            U8 node_type;
+            bool next_is_quantifier;
+            char * oldp = NULL;
 
+            /* If a folding node contains only code points that don't
+             * participate in folds, it can be changed into an EXACT node,
+             * which allows the optimizer more things to look for */
+            bool maybe_exact;
+
 	    ender = 0;
-	    orig_emit = RExC_emit; /* Save the original output node position in
-				      case we need to output a different node
-				      type */
-	    ret = reg_node(pRExC_state,
-			   (U8) ((! FOLD) ? EXACT
-					  : (LOC)
-					     ? EXACTFL
-					     : (MORE_ASCII_RESTRICTED)
-					       ? EXACTFA
-					       : (AT_LEAST_UNI_SEMANTICS)
-					         ? EXACTFU
-					         : EXACTF)
-		    );
-	    s = STRING(ret);
-	    for (len = 0, p = RExC_parse - 1;
-	      len < 127 && p < RExC_end;
-	      len++)
+            node_type = compute_EXACTish(pRExC_state);
+	    ret = reg_node(pRExC_state, node_type);
+
+            /* In pass1, folded, we use a temporary buffer instead of the
+             * actual node, as the node doesn't exist yet */
+	    s = (SIZE_ONLY && FOLD) ? foldbuf : STRING(ret);
+
+            s0 = s;
+
+	reparse:
+
+            /* We do the EXACTFish to EXACT node only if folding, and not if in
+             * locale, as whether a character folds or not isn't known until
+             * runtime */
+            maybe_exact = FOLD && ! LOC;
+
+	    /* XXX The node can hold up to 255 bytes, yet this only goes to
+             * 127.  I (khw) do not know why.  Keeping it somewhat less than
+             * 255 allows us to not have to worry about overflow due to
+             * converting to utf8 and fold expansion, but that value is
+             * 255-UTF8_MAXBYTES_CASE.  join_exact() may join adjacent nodes
+             * split up by this limit into a single one using the real max of
+             * 255.  Even at 127, this breaks under rare circumstances.  If
+             * folding, we do not want to split a node at a character that is a
+             * non-final in a multi-char fold, as an input string could just
+             * happen to want to match across the node boundary.  The join
+             * would solve that problem if the join actually happens.  But a
+             * series of more than two nodes in a row each of 127 would cause
+             * the first join to succeed to get to 254, but then there wouldn't
+             * be room for the next one, which could at be one of those split
+             * multi-char folds.  I don't know of any fool-proof solution.  One
+             * could back off to end with only a code point that isn't such a
+             * non-final, but it is possible for there not to be any in the
+             * entire node. */
+	    for (p = RExC_parse - 1;
+	         len < upper_parse && p < RExC_end;
+	         len++)
 	    {
-		char * const oldp = p;
+		oldp = p;
 
 		if (RExC_flags & RXf_PMf_EXTENDED)
 		    p = regwhite( pRExC_state, p );
@@ -8487,7 +10802,6 @@
 		    case 'g': case 'G':   /* generic-backref, pos assertion */
 		    case 'h': case 'H':   /* HORIZWS */
 		    case 'k': case 'K':   /* named backref, keep marker */
-		    case 'N':             /* named char sequence */
 		    case 'p': case 'P':   /* Unicode property */
 		              case 'R':   /* LNBREAK */
 		    case 's': case 'S':   /* space class */
@@ -8505,6 +10819,25 @@
 			ender = '\n';
 			p++;
 			break;
+		    case 'N': /* Handle a single-code point named character. */
+                        /* The options cause it to fail if a multiple code
+                         * point sequence.  Handle those in the switch() above
+                         * */
+                        RExC_parse = p + 1;
+                        if (! grok_bslash_N(pRExC_state, NULL, &ender,
+                                            flagp, depth, FALSE,
+                                            FALSE /* not strict */ ))
+                        {
+                            if (*flagp & RESTART_UTF8)
+                                FAIL("panic: grok_bslash_N set RESTART_UTF8");
+                            RExC_parse = p = oldp;
+                            goto loopdone;
+                        }
+                        p = RExC_parse;
+                        if (ender > 0xff) {
+                            REQUIRE_UTF8;
+                        }
+                        break;
 		    case 'r':
 			ender = '\r';
 			p++;
@@ -8527,25 +10860,24 @@
 			break;
 		    case 'o':
 			{
-			    STRLEN brace_len = len;
 			    UV result;
 			    const char* error_msg;
 
-			    bool valid = grok_bslash_o(p,
+			    bool valid = grok_bslash_o(&p,
 						       &result,
-						       &brace_len,
 						       &error_msg,
-						       1);
-			    p += brace_len;
+						       TRUE, /* out warnings */
+                                                       FALSE, /* not strict */
+                                                       TRUE, /* Output warnings
+                                                                for non-
+                                                                portables */
+                                                       UTF);
 			    if (! valid) {
 				RExC_parse = p;	/* going to die anyway; point
 						   to exact spot of failure */
 				vFAIL(error_msg);
 			    }
-			    else
-			    {
-				ender = result;
-			    }
+                            ender = result;
 			    if (PL_encoding && ender < 0x100) {
 				goto recode_encoding;
 			    }
@@ -8555,38 +10887,41 @@
 			    break;
 			}
 		    case 'x':
-			if (*++p == '{') {
-			    char* const e = strchr(p, '}');
-	
-			    if (!e) {
-				RExC_parse = p + 1;
-				vFAIL("Missing right brace on \\x{}");
+			{
+                            UV result = UV_MAX; /* initialize to erroneous
+                                                   value */
+			    const char* error_msg;
+
+			    bool valid = grok_bslash_x(&p,
+						       &result,
+						       &error_msg,
+						       TRUE, /* out warnings */
+                                                       FALSE, /* not strict */
+                                                       TRUE, /* Output warnings
+                                                                for non-
+                                                                portables */
+                                                       UTF);
+			    if (! valid) {
+				RExC_parse = p;	/* going to die anyway; point
+						   to exact spot of failure */
+				vFAIL(error_msg);
 			    }
-			    else {
-                                I32 flags = PERL_SCAN_ALLOW_UNDERSCORES
-                                    | PERL_SCAN_DISALLOW_PREFIX;
-                                STRLEN numlen = e - p - 1;
-				ender = grok_hex(p + 1, &numlen, &flags, NULL);
-				if (ender > 0xff)
-				    REQUIRE_UTF8;
-				p = e + 1;
+                            ender = result;
+
+			    if (PL_encoding && ender < 0x100) {
+				goto recode_encoding;
 			    }
+			    if (ender > 0xff) {
+				REQUIRE_UTF8;
+			    }
+			    break;
 			}
-			else {
-                            I32 flags = PERL_SCAN_DISALLOW_PREFIX;
-			    STRLEN numlen = 2;
-			    ender = grok_hex(p, &numlen, &flags, NULL);
-			    p += numlen;
-			}
-			if (PL_encoding && ender < 0x100)
-			    goto recode_encoding;
-			break;
 		    case 'c':
 			p++;
 			ender = grok_bslash_c(*p++, UTF, SIZE_ONLY);
 			break;
 		    case '0': case '1': case '2': case '3':case '4':
-		    case '5': case '6': case '7': case '8':case '9':
+		    case '5': case '6': case '7':
 			if (*p == '0' ||
 			    (isDIGIT(p[1]) && atoi(p) >= RExC_npar))
 			{
@@ -8597,8 +10932,18 @@
 				REQUIRE_UTF8;
 			    }
 			    p += numlen;
+                            if (SIZE_ONLY   /* like \08, \178 */
+                                && numlen < 3
+                                && p < RExC_end
+                                && isDIGIT(*p) && ckWARN(WARN_REGEXP))
+                            {
+				reg_warn_non_literal_string(
+                                         p + 1,
+                                         form_short_octal_warning(p, numlen));
+                            }
 			}
-			else {
+                        else {  /* Not to be treated as an octal constant, go
+                                   find backref */
 			    --p;
 			    goto loopdone;
 			}
@@ -8619,17 +10964,27 @@
 			    FAIL("Trailing \\");
 			/* FALL THROUGH */
 		    default:
-			if (!SIZE_ONLY&& isALPHA(*p)) {
+			if (!SIZE_ONLY&& isALPHANUMERIC(*p)) {
 			    /* Include any { following the alpha to emphasize
 			     * that it could be part of an escape at some point
 			     * in the future */
-			    int len = (*(p + 1) == '{') ? 2 : 1;
+			    int len = (isALPHA(*p) && *(p + 1) == '{') ? 2 : 1;
 			    ckWARN3reg(p + len, "Unrecognized escape \\%.*s passed through", len, p);
 			}
 			goto normal_default;
-		    }
+		    } /* End of switch on '\' */
 		    break;
-		default:
+		default:    /* A literal character */
+
+                    if (! SIZE_ONLY
+                        && RExC_flags & RXf_PMf_EXTENDED
+                        && ckWARN(WARN_DEPRECATED)
+                        && is_PATWS_non_low(p, UTF))
+                    {
+                        vWARN_dep(p + ((UTF) ? UTF8SKIP(p) : 1),
+                                "Escape literal pattern white space under /x");
+                    }
+
 		  normal_default:
 		    if (UTF8_IS_START(*p) && UTF) {
 			STRLEN numlen;
@@ -8642,346 +10997,308 @@
 		    break;
 		} /* End of switch on the literal */
 
-		/* Certain characters are problematic because their folded
-		 * length is so different from their original length that it
-		 * isn't handleable by the optimizer.  They are therefore not
-		 * placed in an EXACTish node; and are here handled specially.
-		 * (Even if the optimizer handled LATIN_SMALL_LETTER_SHARP_S,
-		 * putting it in a special node keeps regexec from having to
-		 * deal with a non-utf8 multi-char fold */
-		if (FOLD
-		    && (ender > 255 || (! MORE_ASCII_RESTRICTED && ! LOC)))
+		/* Here, have looked at the literal character and <ender>
+		 * contains its ordinal, <p> points to the character after it
+		 */
+
+		if ( RExC_flags & RXf_PMf_EXTENDED)
+		    p = regwhite( pRExC_state, p );
+
+                /* If the next thing is a quantifier, it applies to this
+                 * character only, which means that this character has to be in
+                 * its own node and can't just be appended to the string in an
+                 * existing node, so if there are already other characters in
+                 * the node, close the node with just them, and set up to do
+                 * this character again next time through, when it will be the
+                 * only thing in its new node */
+                if ((next_is_quantifier = (p < RExC_end && ISMULT2(p))) && len)
 		{
-		    /* We look for either side of the fold.  For example \xDF
-		     * folds to 'ss'.  We look for both the single character
-		     * \xDF and the sequence 'ss'.  When we find something that
-		     * could be one of those, we stop and flush whatever we
-		     * have output so far into the EXACTish node that was being
-		     * built.  Then restore the input pointer to what it was.
-		     * regatom will return that EXACT node, and will be called
-		     * again, positioned so the first character is the one in
-		     * question, which we return in a different node type.
-		     * The multi-char folds are a sequence, so the occurrence
-		     * of the first character in that sequence doesn't
-		     * necessarily mean that what follows is the rest of the
-		     * sequence.  We keep track of that with a state machine,
-		     * with the state being set to the latest character
-		     * processed before the current one.  Most characters will
-		     * set the state to 0, but if one occurs that is part of a
-		     * potential tricky fold sequence, the state is set to that
-		     * character, and the next loop iteration sees if the state
-		     * should progress towards the final folded-from character,
-		     * or if it was a false alarm.  If it turns out to be a
-		     * false alarm, the character(s) will be output in a new
-		     * EXACTish node, and join_exact() will later combine them.
-		     * In the case of the 'ss' sequence, which is more common
-		     * and more easily checked, some look-ahead is done to
-		     * save time by ruling-out some false alarms */
-		    switch (ender) {
-			default:
-			    latest_char_state = generic_char;
-			    break;
-			case 's':
-			case 'S':
-			case 0x17F: /* LATIN SMALL LETTER LONG S */
-			     if (AT_LEAST_UNI_SEMANTICS) {
-				if (latest_char_state == char_s) {  /* 'ss' */
-				    ender = LATIN_SMALL_LETTER_SHARP_S;
-				    goto do_tricky;
-				}
-				else if (p < RExC_end) {
+                    p = oldp;
+                    goto loopdone;
+                }
 
-				    /* Look-ahead at the next character.  If it
-				     * is also an s, we handle as a sharp s
-				     * tricky regnode.  */
-				    if (*p == 's' || *p == 'S') {
+		if (FOLD) {
+                    if (UTF
+                            /* See comments for join_exact() as to why we fold
+                             * this non-UTF at compile time */
+                        || (node_type == EXACTFU
+                            && ender == LATIN_SMALL_LETTER_SHARP_S))
+                    {
 
-					/* But first flush anything in the
-					 * EXACTish buffer */
-					if (len != 0) {
-					    p = oldp;
-					    goto loopdone;
-					}
-					p++;	/* Account for swallowing this
-						   's' up */
-					ender = LATIN_SMALL_LETTER_SHARP_S;
-					goto do_tricky;
-				    }
-					/* Here, the next character is not a
-					 * literal 's', but still could
-					 * evaluate to one if part of a \o{},
-					 * \x or \OCTAL-DIGIT.  The minimum
-					 * length required for that is 4, eg
-					 * \x53 or \123 */
-				    else if (*p == '\\'
-					     && p < RExC_end - 4
-					     && (isDIGIT(*(p + 1))
-						 || *(p + 1) == 'x'
-						 || *(p + 1) == 'o' ))
-				    {
 
-					/* Here, it could be an 's', too much
-					 * bother to figure it out here.  Flush
-					 * the buffer if any; when come back
-					 * here, set the state so know that the
-					 * previous char was an 's' */
-					if (len != 0) {
-					    latest_char_state = generic_char;
-					    p = oldp;
-					    goto loopdone;
-					}
-					latest_char_state = char_s;
-					break;
-				    }
-				}
-			    }
+                        /* Prime the casefolded buffer.  Locale rules, which
+                         * apply only to code points < 256, aren't known until
+                         * execution, so for them, just output the original
+                         * character using utf8.  If we start to fold non-UTF
+                         * patterns, be sure to update join_exact() */
+                        if (LOC && ender < 256) {
+                            if (UNI_IS_INVARIANT(ender)) {
+                                *s = (U8) ender;
+                                foldlen = 1;
+                            } else {
+                                *s = UTF8_TWO_BYTE_HI(ender);
+                                *(s + 1) = UTF8_TWO_BYTE_LO(ender);
+                                foldlen = 2;
+                            }
+                        }
+                        else {
+                            UV folded = _to_uni_fold_flags(
+                                           ender,
+                                           (U8 *) s,
+                                           &foldlen,
+                                           FOLD_FLAGS_FULL
+                                           | ((LOC) ?  FOLD_FLAGS_LOCALE
+                                                    : (ASCII_FOLD_RESTRICTED)
+                                                      ? FOLD_FLAGS_NOMIX_ASCII
+                                                      : 0)
+                                            );
 
-			    /* Here, can't be an 'ss' sequence, or at least not
-			     * one that could fold to/from the sharp ss */
-			    latest_char_state = generic_char;
-			    break;
-			case 0x03C5:	/* First char in upsilon series */
-			    if (p < RExC_end - 4) { /* Need >= 4 bytes left */
-				latest_char_state = upsilon_1;
-				if (len != 0) {
-				    p = oldp;
-				    goto loopdone;
-				}
-			    }
-			    else {
-				latest_char_state = generic_char;
-			    }
-			    break;
-			case 0x03B9:	/* First char in iota series */
-			    if (p < RExC_end - 4) {
-				latest_char_state = iota_1;
-				if (len != 0) {
-				    p = oldp;
-				    goto loopdone;
-				}
-			    }
-			    else {
-				latest_char_state = generic_char;
-			    }
-			    break;
-			case 0x0308:
-			    if (latest_char_state == upsilon_1) {
-				latest_char_state = upsilon_2;
-			    }
-			    else if (latest_char_state == iota_1) {
-				latest_char_state = iota_2;
-			    }
-			    else {
-				latest_char_state = generic_char;
-			    }
-			    break;
-			case 0x301:
-			    if (latest_char_state == upsilon_2) {
-				ender = GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA_AND_TONOS;
-				goto do_tricky;
-			    }
-			    else if (latest_char_state == iota_2) {
-				ender = GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA_AND_TONOS;
-				goto do_tricky;
-			    }
-			    latest_char_state = generic_char;
-			    break;
+                            /* If this node only contains non-folding code
+                             * points so far, see if this new one is also
+                             * non-folding */
+                            if (maybe_exact) {
+                                if (folded != ender) {
+                                    maybe_exact = FALSE;
+                                }
+                                else {
+                                    /* Here the fold is the original; we have
+                                     * to check further to see if anything
+                                     * folds to it */
+                                    if (! PL_utf8_foldable) {
+                                        SV* swash = swash_init("utf8",
+                                                           "_Perl_Any_Folds",
+                                                           &PL_sv_undef, 1, 0);
+                                        PL_utf8_foldable =
+                                                    _get_swash_invlist(swash);
+                                        SvREFCNT_dec_NN(swash);
+                                    }
+                                    if (_invlist_contains_cp(PL_utf8_foldable,
+                                                             ender))
+                                    {
+                                        maybe_exact = FALSE;
+                                    }
+                                }
+                            }
+                            ender = folded;
+                        }
+			s += foldlen;
 
-			/* These are the tricky fold characters.  Flush any
-			 * buffer first. */
-			case GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA_AND_TONOS:
-			case GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA_AND_TONOS:
-			case LATIN_SMALL_LETTER_SHARP_S:
-			case LATIN_CAPITAL_LETTER_SHARP_S:
-			case 0x1FD3:
-			case 0x1FE3:
-			    if (len != 0) {
-				p = oldp;
-				goto loopdone;
-			    }
-			    /* FALL THROUGH */
-			do_tricky: {
-			    char* const oldregxend = RExC_end;
-			    U8 tmpbuf[UTF8_MAXBYTES+1];
+			/* The loop increments <len> each time, as all but this
+			 * path (and the one just below for UTF) through it add
+			 * a single byte to the EXACTish node.  But this one
+			 * has changed len to be the correct final value, so
+			 * subtract one to cancel out the increment that
+			 * follows */
+			len += foldlen - 1;
+                    }
+                    else {
+                        *(s++) = (char) ender;
+                        maybe_exact &= ! IS_IN_SOME_FOLD_L1(ender);
+                    }
+		}
+		else if (UTF) {
+                    const STRLEN unilen = reguni(pRExC_state, ender, s);
+                    if (unilen > 0) {
+                       s   += unilen;
+                       len += unilen;
+                    }
 
-			    /* Here, we know we need to generate a special
-			     * regnode, and 'ender' contains the tricky
-			     * character.  What's done is to pretend it's in a
-			     * [bracketed] class, and let the code that deals
-			     * with those handle it, as that code has all the
-			     * intelligence necessary.  First save the current
-			     * parse state, get rid of the already allocated
-			     * but empty EXACT node that the ANYOFV node will
-			     * replace, and point the parse to a buffer which
-			     * we fill with the character we want the regclass
-			     * code to think is being parsed */
-			    RExC_emit = orig_emit;
-			    RExC_parse = (char *) tmpbuf;
-			    if (UTF) {
-				U8 *d = uvchr_to_utf8(tmpbuf, ender);
-				*d = '\0';
-				RExC_end = (char *) d;
-			    }
-			    else {  /* ender above 255 already excluded */
-				tmpbuf[0] = (U8) ender;
-				tmpbuf[1] = '\0';
-				RExC_end = RExC_parse + 1;
-			    }
+		    /* See comment just above for - 1 */
+		    len--;
+		}
+		else {
+		    REGC((char)ender, s++);
+                }
 
-			    ret = regclass(pRExC_state,depth+1);
+		if (next_is_quantifier) {
 
-			    /* Here, have parsed the buffer.  Reset the parse to
-			     * the actual input, and return */
-			    RExC_end = oldregxend;
-			    RExC_parse = p - 1;
+                    /* Here, the next input is a quantifier, and to get here,
+                     * the current character is the only one in the node.
+                     * Also, here <len> doesn't include the final byte for this
+                     * character */
+                    len++;
+                    goto loopdone;
+		}
 
-			    Set_Node_Offset(ret, RExC_parse);
-			    Set_Node_Cur_Length(ret);
-			    nextchar(pRExC_state);
-			    *flagp |= HASWIDTH|SIMPLE;
-			    return ret;
-			}
-		    }
+	    } /* End of loop through literal characters */
+
+            /* Here we have either exhausted the input or ran out of room in
+             * the node.  (If we encountered a character that can't be in the
+             * node, transfer is made directly to <loopdone>, and so we
+             * wouldn't have fallen off the end of the loop.)  In the latter
+             * case, we artificially have to split the node into two, because
+             * we just don't have enough space to hold everything.  This
+             * creates a problem if the final character participates in a
+             * multi-character fold in the non-final position, as a match that
+             * should have occurred won't, due to the way nodes are matched,
+             * and our artificial boundary.  So back off until we find a non-
+             * problematic character -- one that isn't at the beginning or
+             * middle of such a fold.  (Either it doesn't participate in any
+             * folds, or appears only in the final position of all the folds it
+             * does participate in.)  A better solution with far fewer false
+             * positives, and that would fill the nodes more completely, would
+             * be to actually have available all the multi-character folds to
+             * test against, and to back-off only far enough to be sure that
+             * this node isn't ending with a partial one.  <upper_parse> is set
+             * further below (if we need to reparse the node) to include just
+             * up through that final non-problematic character that this code
+             * identifies, so when it is set to less than the full node, we can
+             * skip the rest of this */
+            if (FOLD && p < RExC_end && upper_parse == MAX_NODE_STRING_SIZE) {
+
+                const STRLEN full_len = len;
+
+		assert(len >= MAX_NODE_STRING_SIZE);
+
+                /* Here, <s> points to the final byte of the final character.
+                 * Look backwards through the string until find a non-
+                 * problematic character */
+
+		if (! UTF) {
+
+                    /* These two have no multi-char folds to non-UTF characters
+                     */
+                    if (ASCII_FOLD_RESTRICTED || LOC) {
+                        goto loopdone;
+                    }
+
+                    while (--s >= s0 && IS_NON_FINAL_FOLD(*s)) { }
+                    len = s - s0 + 1;
 		}
+                else {
+                    if (!  PL_NonL1NonFinalFold) {
+                        PL_NonL1NonFinalFold = _new_invlist_C_array(
+                                        NonL1_Perl_Non_Final_Folds_invlist);
+                    }
 
-		if ( RExC_flags & RXf_PMf_EXTENDED)
-		    p = regwhite( pRExC_state, p );
-		if (UTF && FOLD) {
-		    /* Prime the casefolded buffer.  Locale rules, which apply
-		     * only to code points < 256, aren't known until execution,
-		     * so for them, just output the original character using
-		     * utf8 */
-		    if (LOC && ender < 256) {
-			if (UNI_IS_INVARIANT(ender)) {
-			    *tmpbuf = (U8) ender;
-			    foldlen = 1;
-			} else {
-			    *tmpbuf = UTF8_TWO_BYTE_HI(ender);
-			    *(tmpbuf + 1) = UTF8_TWO_BYTE_LO(ender);
-			    foldlen = 2;
-			}
-		    }
-		    else if (isASCII(ender)) {	/* Note: Here can't also be LOC
-						 */
-			ender = toLOWER(ender);
-			*tmpbuf = (U8) ender;
-			foldlen = 1;
-		    }
-		    else if (! MORE_ASCII_RESTRICTED && ! LOC) {
+                    /* Point to the first byte of the final character */
+                    s = (char *) utf8_hop((U8 *) s, -1);
 
-			/* Locale and /aa require more selectivity about the
-			 * fold, so are handled below.  Otherwise, here, just
-			 * use the fold */
-			ender = toFOLD_uni(ender, tmpbuf, &foldlen);
-		    }
-		    else {
-			/* Under locale rules or /aa we are not to mix,
-			 * respectively, ords < 256 or ASCII with non-.  So
-			 * reject folds that mix them, using only the
-			 * non-folded code point.  So do the fold to a
-			 * temporary, and inspect each character in it. */
-			U8 trialbuf[UTF8_MAXBYTES_CASE+1];
-			U8* s = trialbuf;
-			UV tmpender = toFOLD_uni(ender, trialbuf, &foldlen);
-			U8* e = s + foldlen;
-			bool fold_ok = TRUE;
+                    while (s >= s0) {   /* Search backwards until find
+                                           non-problematic char */
+                        if (UTF8_IS_INVARIANT(*s)) {
 
-			while (s < e) {
-			    if (isASCII(*s)
-				|| (LOC && (UTF8_IS_INVARIANT(*s)
-					   || UTF8_IS_DOWNGRADEABLE_START(*s))))
-			    {
-				fold_ok = FALSE;
-				break;
-			    }
-			    s += UTF8SKIP(s);
-			}
-			if (fold_ok) {
-			    Copy(trialbuf, tmpbuf, foldlen, U8);
-			    ender = tmpender;
-			}
-			else {
-			    uvuni_to_utf8(tmpbuf, ender);
-			    foldlen = UNISKIP(ender);
-			}
-		    }
+                            /* There are no ascii characters that participate
+                             * in multi-char folds under /aa.  In EBCDIC, the
+                             * non-ascii invariants are all control characters,
+                             * so don't ever participate in any folds. */
+                            if (ASCII_FOLD_RESTRICTED
+                                || ! IS_NON_FINAL_FOLD(*s))
+                            {
+                                break;
+                            }
+                        }
+                        else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
+
+                            /* No Latin1 characters participate in multi-char
+                             * folds under /l */
+                            if (LOC
+                                || ! IS_NON_FINAL_FOLD(TWO_BYTE_UTF8_TO_UNI(
+                                                                *s, *(s+1))))
+                            {
+                                break;
+                            }
+                        }
+                        else if (! _invlist_contains_cp(
+                                        PL_NonL1NonFinalFold,
+                                        valid_utf8_to_uvchr((U8 *) s, NULL)))
+                        {
+                            break;
+                        }
+
+                        /* Here, the current character is problematic in that
+                         * it does occur in the non-final position of some
+                         * fold, so try the character before it, but have to
+                         * special case the very first byte in the string, so
+                         * we don't read outside the string */
+                        s = (s == s0) ? s -1 : (char *) utf8_hop((U8 *) s, -1);
+                    } /* End of loop backwards through the string */
+
+                    /* If there were only problematic characters in the string,
+                     * <s> will point to before s0, in which case the length
+                     * should be 0, otherwise include the length of the
+                     * non-problematic character just found */
+                    len = (s < s0) ? 0 : s - s0 + UTF8SKIP(s);
 		}
-		if (p < RExC_end && ISMULT2(p)) { /* Back off on ?+*. */
-		    if (len)
-			p = oldp;
-		    else if (UTF) {
-			 if (FOLD) {
-			      /* Emit all the Unicode characters. */
-			      STRLEN numlen;
-			      for (foldbuf = tmpbuf;
-				   foldlen;
-				   foldlen -= numlen) {
-				   ender = utf8_to_uvchr(foldbuf, &numlen);
-				   if (numlen > 0) {
-					const STRLEN unilen = reguni(pRExC_state, ender, s);
-					s       += unilen;
-					len     += unilen;
-					/* In EBCDIC the numlen
-					 * and unilen can differ. */
-					foldbuf += numlen;
-					if (numlen >= foldlen)
-					     break;
-				   }
-				   else
-					break; /* "Can't happen." */
-			      }
-			 }
-			 else {
-			      const STRLEN unilen = reguni(pRExC_state, ender, s);
-			      if (unilen > 0) {
-				   s   += unilen;
-				   len += unilen;
-			      }
-			 }
-		    }
-		    else {
-			len++;
-			REGC((char)ender, s++);
-		    }
-		    break;
-		}
-		if (UTF) {
-		     if (FOLD) {
-		          /* Emit all the Unicode characters. */
-			  STRLEN numlen;
-			  for (foldbuf = tmpbuf;
-			       foldlen;
-			       foldlen -= numlen) {
-			       ender = utf8_to_uvchr(foldbuf, &numlen);
-			       if (numlen > 0) {
-				    const STRLEN unilen = reguni(pRExC_state, ender, s);
-				    len     += unilen;
-				    s       += unilen;
-				    /* In EBCDIC the numlen
-				     * and unilen can differ. */
-				    foldbuf += numlen;
-				    if (numlen >= foldlen)
-					 break;
-			       }
-			       else
-				    break;
-			  }
-		     }
-		     else {
-			  const STRLEN unilen = reguni(pRExC_state, ender, s);
-			  if (unilen > 0) {
-			       s   += unilen;
-			       len += unilen;
-			  }
-		     }
-		     len--;
-		}
-		else {
-		    REGC((char)ender, s++);
-		}
-	    }
+
+                /* Here, have found the final character, if any, that is
+                 * non-problematic as far as ending the node without splitting
+                 * it across a potential multi-char fold.  <len> contains the
+                 * number of bytes in the node up-to and including that
+                 * character, or is 0 if there is no such character, meaning
+                 * the whole node contains only problematic characters.  In
+                 * this case, give up and just take the node as-is.  We can't
+                 * do any better */
+                if (len == 0) {
+                    len = full_len;
+                } else {
+
+                    /* Here, the node does contain some characters that aren't
+                     * problematic.  If one such is the final character in the
+                     * node, we are done */
+                    if (len == full_len) {
+                        goto loopdone;
+                    }
+                    else if (len + ((UTF) ? UTF8SKIP(s) : 1) == full_len) {
+
+                        /* If the final character is problematic, but the
+                         * penultimate is not, back-off that last character to
+                         * later start a new node with it */
+                        p = oldp;
+                        goto loopdone;
+                    }
+
+                    /* Here, the final non-problematic character is earlier
+                     * in the input than the penultimate character.  What we do
+                     * is reparse from the beginning, going up only as far as
+                     * this final ok one, thus guaranteeing that the node ends
+                     * in an acceptable character.  The reason we reparse is
+                     * that we know how far in the character is, but we don't
+                     * know how to correlate its position with the input parse.
+                     * An alternate implementation would be to build that
+                     * correlation as we go along during the original parse,
+                     * but that would entail extra work for every node, whereas
+                     * this code gets executed only when the string is too
+                     * large for the node, and the final two characters are
+                     * problematic, an infrequent occurrence.  Yet another
+                     * possible strategy would be to save the tail of the
+                     * string, and the next time regatom is called, initialize
+                     * with that.  The problem with this is that unless you
+                     * back off one more character, you won't be guaranteed
+                     * regatom will get called again, unless regbranch,
+                     * regpiece ... are also changed.  If you do back off that
+                     * extra character, so that there is input guaranteed to
+                     * force calling regatom, you can't handle the case where
+                     * just the first character in the node is acceptable.  I
+                     * (khw) decided to try this method which doesn't have that
+                     * pitfall; if performance issues are found, we can do a
+                     * combination of the current approach plus that one */
+                    upper_parse = len;
+                    len = 0;
+                    s = s0;
+                    goto reparse;
+                }
+	    }   /* End of verifying node ends with an appropriate char */
+
 	loopdone:   /* Jumped to when encounters something that shouldn't be in
 		       the node */
+
+            /* If 'maybe_exact' is still set here, means there are no
+             * code points in the node that participate in folds */
+            if (FOLD && maybe_exact) {
+                OP(ret) = EXACT;
+            }
+
+            /* I (khw) don't know if you can get here with zero length, but the
+             * old code handled this situation by creating a zero-length EXACT
+             * node.  Might as well be NOTHING instead */
+            if (len == 0) {
+                OP(ret) = NOTHING;
+            }
+            else{
+                alloc_maybe_populate_EXACT(pRExC_state, ret, flagp, len, ender);
+            }
+
 	    RExC_parse = p - 1;
             Set_Node_Cur_Length(ret); /* MJD */
 	    nextchar(pRExC_state);
@@ -8991,27 +11308,12 @@
 		if (iv < 0)
 		    vFAIL("Internal disaster");
 	    }
-	    if (len > 0)
-		*flagp |= HASWIDTH;
-	    if (len == 1 && UNI_IS_INVARIANT(ender))
-		*flagp |= SIMPLE;
-		
-	    if (SIZE_ONLY)
-		RExC_size += STR_SZ(len);
-	    else {
-		STR_LEN(ret) = len;
-		RExC_emit += STR_SZ(len);
-            }
-	}
+
+	} /* End of label 'defchar:' */
 	break;
-    }
+    } /* End of giant switch on input character */
 
     return(ret);
-
-/* Jumped to when an unrecognized character set is encountered */
-bad_charset:
-    Perl_croak(aTHX_ "panic: Unknown regex character set encoding: %u", get_regex_charset(RExC_flags));
-    return(NULL);
 }
 
 STATIC char *
@@ -9041,6 +11343,40 @@
     return p;
 }
 
+STATIC char *
+S_regpatws( RExC_state_t *pRExC_state, char *p , const bool recognize_comment )
+{
+    /* Returns the next non-pattern-white space, non-comment character (the
+     * latter only if 'recognize_comment is true) in the string p, which is
+     * ended by RExC_end.  If there is no line break ending a comment,
+     * RExC_seen has added the REG_SEEN_RUN_ON_COMMENT flag; */
+    const char *e = RExC_end;
+
+    PERL_ARGS_ASSERT_REGPATWS;
+
+    while (p < e) {
+        STRLEN len;
+	if ((len = is_PATWS_safe(p, e, UTF))) {
+	    p += len;
+        }
+	else if (recognize_comment && *p == '#') {
+            bool ended = 0;
+	    do {
+                p++;
+                if (is_LNBREAK_safe(p, e, UTF)) {
+		    ended = 1;
+		    break;
+		}
+	    } while (p < e);
+	    if (!ended)
+	        RExC_seen |= REG_SEEN_RUN_ON_COMMENT;
+	}
+	else
+	    break;
+    }
+    return p;
+}
+
 /* Parse POSIX character classes: [[:foo:]], [[=foo=]], [[.foo.]].
    Character classes ([:foo:]) can also be negated ([:^foo:]).
    Returns a named class id (ANYOF_XXX) if successful, -1 otherwise.
@@ -9051,8 +11387,8 @@
 #define POSIXCC_NOTYET(c) ((c) == '=' || (c) == '.')
 #define POSIXCC(c) (POSIXCC_DONE(c) || POSIXCC_NOTYET(c))
 
-STATIC I32
-S_regpposixcc(pTHX_ RExC_state_t *pRExC_state, I32 value)
+PERL_STATIC_INLINE I32
+S_regpposixcc(pTHX_ RExC_state_t *pRExC_state, I32 value, const bool strict)
 {
     dVAR;
     I32 namedclass = OOB_NAMEDCLASS;
@@ -9061,15 +11397,27 @@
 
     if (value == '[' && RExC_parse + 1 < RExC_end &&
 	/* I smell either [: or [= or [. -- POSIX has been here, right? */
-	POSIXCC(UCHARAT(RExC_parse))) {
+	POSIXCC(UCHARAT(RExC_parse)))
+    {
 	const char c = UCHARAT(RExC_parse);
 	char* const s = RExC_parse++;
-	
+
 	while (RExC_parse < RExC_end && UCHARAT(RExC_parse) != c)
 	    RExC_parse++;
-	if (RExC_parse == RExC_end)
+	if (RExC_parse == RExC_end) {
+            if (strict) {
+
+                /* Try to give a better location for the error (than the end of
+                 * the string) by looking for the matching ']' */
+                RExC_parse = s;
+                while (RExC_parse < RExC_end && UCHARAT(RExC_parse) != ']') {
+                    RExC_parse++;
+                }
+                vFAIL2("Unmatched '%c' in POSIX class", c);
+            }
 	    /* Grandfather lone [:, [=, [. */
 	    RExC_parse = s;
+        }
 	else {
 	    const char* const t = RExC_parse++; /* skip over the c */
 	    assert(*t == c);
@@ -9085,8 +11433,10 @@
 		    /* Initially switch on the length of the name.  */
 		    switch (skip) {
 		    case 4:
-			if (memEQ(posixcc, "word", 4)) /* this is not POSIX, this is the Perl \w */
-			    namedclass = complement ? ANYOF_NALNUM : ANYOF_ALNUM;
+                        if (memEQ(posixcc, "word", 4)) /* this is not POSIX,
+                                                          this is the Perl \w
+                                                        */
+			    namedclass = ANYOF_WORDCHAR;
 			break;
 		    case 5:
 			/* Names all of length 5.  */
@@ -9096,51 +11446,51 @@
 			switch (posixcc[4]) {
 			case 'a':
 			    if (memEQ(posixcc, "alph", 4)) /* alpha */
-				namedclass = complement ? ANYOF_NALPHA : ANYOF_ALPHA;
+				namedclass = ANYOF_ALPHA;
 			    break;
 			case 'e':
 			    if (memEQ(posixcc, "spac", 4)) /* space */
-				namedclass = complement ? ANYOF_NPSXSPC : ANYOF_PSXSPC;
+				namedclass = ANYOF_PSXSPC;
 			    break;
 			case 'h':
 			    if (memEQ(posixcc, "grap", 4)) /* graph */
-				namedclass = complement ? ANYOF_NGRAPH : ANYOF_GRAPH;
+				namedclass = ANYOF_GRAPH;
 			    break;
 			case 'i':
 			    if (memEQ(posixcc, "asci", 4)) /* ascii */
-				namedclass = complement ? ANYOF_NASCII : ANYOF_ASCII;
+				namedclass = ANYOF_ASCII;
 			    break;
 			case 'k':
 			    if (memEQ(posixcc, "blan", 4)) /* blank */
-				namedclass = complement ? ANYOF_NBLANK : ANYOF_BLANK;
+				namedclass = ANYOF_BLANK;
 			    break;
 			case 'l':
 			    if (memEQ(posixcc, "cntr", 4)) /* cntrl */
-				namedclass = complement ? ANYOF_NCNTRL : ANYOF_CNTRL;
+				namedclass = ANYOF_CNTRL;
 			    break;
 			case 'm':
 			    if (memEQ(posixcc, "alnu", 4)) /* alnum */
-				namedclass = complement ? ANYOF_NALNUMC : ANYOF_ALNUMC;
+				namedclass = ANYOF_ALPHANUMERIC;
 			    break;
 			case 'r':
 			    if (memEQ(posixcc, "lowe", 4)) /* lower */
-				namedclass = complement ? ANYOF_NLOWER : ANYOF_LOWER;
+				namedclass = (FOLD) ? ANYOF_CASED : ANYOF_LOWER;
 			    else if (memEQ(posixcc, "uppe", 4)) /* upper */
-				namedclass = complement ? ANYOF_NUPPER : ANYOF_UPPER;
+				namedclass = (FOLD) ? ANYOF_CASED : ANYOF_UPPER;
 			    break;
 			case 't':
 			    if (memEQ(posixcc, "digi", 4)) /* digit */
-				namedclass = complement ? ANYOF_NDIGIT : ANYOF_DIGIT;
+				namedclass = ANYOF_DIGIT;
 			    else if (memEQ(posixcc, "prin", 4)) /* print */
-				namedclass = complement ? ANYOF_NPRINT : ANYOF_PRINT;
+				namedclass = ANYOF_PRINT;
 			    else if (memEQ(posixcc, "punc", 4)) /* punct */
-				namedclass = complement ? ANYOF_NPUNCT : ANYOF_PUNCT;
+				namedclass = ANYOF_PUNCT;
 			    break;
 			}
 			break;
 		    case 6:
 			if (memEQ(posixcc, "xdigit", 6))
-			    namedclass = complement ? ANYOF_NXDIGIT : ANYOF_XDIGIT;
+			    namedclass = ANYOF_XDIGIT;
 			break;
 		    }
 
@@ -9147,6 +11497,12 @@
 		    if (namedclass == OOB_NAMEDCLASS)
 			Simple_vFAIL3("POSIX class [:%.*s:] unknown",
 				      t - s - 1, s + 1);
+
+                    /* The #defines are structured so each complement is +1 to
+                     * the normal one */
+                    if (complement) {
+                        namedclass++;
+                    }
 		    assert (posixcc[skip] == ':');
 		    assert (posixcc[skip+1] == ']');
 		} else if (!SIZE_ONLY) {
@@ -9156,11 +11512,16 @@
 		       the class closes */
 		    while (UCHARAT(RExC_parse) && UCHARAT(RExC_parse) != ']')
 			RExC_parse++;
-		    Simple_vFAIL3("POSIX syntax [%c %c] is reserved for future extensions", c, c);
+		    vFAIL3("POSIX syntax [%c %c] is reserved for future extensions", c, c);
 		}
 	    } else {
 		/* Maternal grandfather:
 		 * "[:" ending in ":" but not in ":]" */
+                if (strict) {
+                    vFAIL("Unmatched '[' in POSIX class");
+                }
+
+                /* Grandfather lone [:, [=, [. */
 		RExC_parse = s;
 	    }
 	}
@@ -9169,347 +11530,644 @@
     return namedclass;
 }
 
-STATIC void
-S_checkposixcc(pTHX_ RExC_state_t *pRExC_state)
+STATIC bool
+S_could_it_be_a_POSIX_class(pTHX_ RExC_state_t *pRExC_state)
 {
-    dVAR;
+    /* This applies some heuristics at the current parse position (which should
+     * be at a '[') to see if what follows might be intended to be a [:posix:]
+     * class.  It returns true if it really is a posix class, of course, but it
+     * also can return true if it thinks that what was intended was a posix
+     * class that didn't quite make it.
+     *
+     * It will return true for
+     *      [:alphanumerics:
+     *      [:alphanumerics]  (as long as the ] isn't followed immediately by a
+     *                         ')' indicating the end of the (?[
+     *      [:any garbage including %^&$ punctuation:]
+     *
+     * This is designed to be called only from S_handle_regex_sets; it could be
+     * easily adapted to be called from the spot at the beginning of regclass()
+     * that checks to see in a normal bracketed class if the surrounding []
+     * have been omitted ([:word:] instead of [[:word:]]).  But doing so would
+     * change long-standing behavior, so I (khw) didn't do that */
+    char* p = RExC_parse + 1;
+    char first_char = *p;
 
-    PERL_ARGS_ASSERT_CHECKPOSIXCC;
+    PERL_ARGS_ASSERT_COULD_IT_BE_A_POSIX_CLASS;
 
-    if (POSIXCC(UCHARAT(RExC_parse))) {
-	const char *s = RExC_parse;
-	const char  c = *s++;
+    assert(*(p - 1) == '[');
 
-	while (isALNUM(*s))
-	    s++;
-	if (*s && c == *s && s[1] == ']') {
-	    ckWARN3reg(s+2,
-		       "POSIX syntax [%c %c] belongs inside character classes",
-		       c, c);
+    if (! POSIXCC(first_char)) {
+        return FALSE;
+    }
 
-	    /* [[=foo=]] and [[.foo.]] are still future. */
-	    if (POSIXCC_NOTYET(c)) {
-		/* adjust RExC_parse so the error shows after
-		   the class closes */
-		while (UCHARAT(RExC_parse) && UCHARAT(RExC_parse++) != ']')
-		    NOOP;
-		Simple_vFAIL3("POSIX syntax [%c %c] is reserved for future extensions", c, c);
-	    }
-	}
+    p++;
+    while (p < RExC_end && isWORDCHAR(*p)) p++;
+
+    if (p >= RExC_end) {
+        return FALSE;
     }
-}
 
-/* No locale test, and always Unicode semantics */
-#define _C_C_T_NOLOC_(NAME,TEST,WORD)                                          \
-ANYOF_##NAME:                                                                  \
-	for (value = 0; value < 256; value++)                                  \
-	    if (TEST)                                                          \
-	    stored += set_regclass_bit(pRExC_state, ret, (U8) value, &l1_fold_invlist, &unicode_alternate);  \
-    yesno = '+';                                                               \
-    what = WORD;                                                               \
-    break;                                                                     \
-case ANYOF_N##NAME:                                                            \
-	for (value = 0; value < 256; value++)                                  \
-	    if (!TEST)                                                         \
-	    stored += set_regclass_bit(pRExC_state, ret, (U8) value, &l1_fold_invlist, &unicode_alternate);  \
-    yesno = '!';                                                               \
-    what = WORD;                                                               \
-    break
+    if (p - RExC_parse > 2    /* Got at least 1 word character */
+        && (*p == first_char
+            || (*p == ']' && p + 1 < RExC_end && *(p + 1) != ')')))
+    {
+        return TRUE;
+    }
 
-/* Like the above, but there are differences if we are in uni-8-bit or not, so
- * there are two tests passed in, to use depending on that. There aren't any
- * cases where the label is different from the name, so no need for that
- * parameter */
-#define _C_C_T_(NAME, TEST_8, TEST_7, WORD)                                    \
-ANYOF_##NAME:                                                                  \
-    if (LOC) ANYOF_CLASS_SET(ret, ANYOF_##NAME);                               \
-    else if (UNI_SEMANTICS) {                                                  \
-        for (value = 0; value < 256; value++) {                                \
-            if (TEST_8(value)) stored +=                                       \
-                      set_regclass_bit(pRExC_state, ret, (U8) value, &l1_fold_invlist, &unicode_alternate);  \
-        }                                                                      \
-    }                                                                          \
-    else {                                                                     \
-        for (value = 0; value < 128; value++) {                                \
-            if (TEST_7(UNI_TO_NATIVE(value))) stored +=                        \
-		set_regclass_bit(pRExC_state, ret,                     \
-			           (U8) UNI_TO_NATIVE(value), &l1_fold_invlist, &unicode_alternate);                 \
-        }                                                                      \
-    }                                                                          \
-    yesno = '+';                                                               \
-    what = WORD;                                                               \
-    break;                                                                     \
-case ANYOF_N##NAME:                                                            \
-    if (LOC) ANYOF_CLASS_SET(ret, ANYOF_N##NAME);                              \
-    else if (UNI_SEMANTICS) {                                                  \
-        for (value = 0; value < 256; value++) {                                \
-            if (! TEST_8(value)) stored +=                                     \
-		    set_regclass_bit(pRExC_state, ret, (U8) value, &l1_fold_invlist, &unicode_alternate);    \
-        }                                                                      \
-    }                                                                          \
-    else {                                                                     \
-        for (value = 0; value < 128; value++) {                                \
-            if (! TEST_7(UNI_TO_NATIVE(value))) stored += set_regclass_bit(  \
-			pRExC_state, ret, (U8) UNI_TO_NATIVE(value), &l1_fold_invlist, &unicode_alternate);    \
-        }                                                                      \
-	if (AT_LEAST_ASCII_RESTRICTED) {                                       \
-	    for (value = 128; value < 256; value++) {                          \
-             stored += set_regclass_bit(                                     \
-			   pRExC_state, ret, (U8) UNI_TO_NATIVE(value), &l1_fold_invlist, &unicode_alternate); \
-	    }                                                                  \
-	    ANYOF_FLAGS(ret) |= ANYOF_UNICODE_ALL;                             \
-	}                                                                      \
-	else {                                                                 \
-	    /* For a non-ut8 target string with DEPENDS semantics, all above   \
-	     * ASCII Latin1 code points match the complement of any of the     \
-	     * classes.  But in utf8, they have their Unicode semantics, so    \
-	     * can't just set them in the bitmap, or else regexec.c will think \
-	     * they matched when they shouldn't. */                            \
-	    ANYOF_FLAGS(ret) |= ANYOF_NON_UTF8_LATIN1_ALL;                     \
-	}                                                                      \
-    }                                                                          \
-    yesno = '!';                                                               \
-    what = WORD;                                                               \
-    break
+    p = (char *) memchr(RExC_parse, ']', RExC_end - RExC_parse);
 
-STATIC U8
-S_set_regclass_bit_fold(pTHX_ RExC_state_t *pRExC_state, regnode* node, const U8 value, HV** invlist_ptr, AV** alternate_ptr)
+    return (p
+            && p - RExC_parse > 2 /* [:] evaluates to colon;
+                                      [::] is a bad posix class. */
+            && first_char == *(p - 1));
+}
+
+STATIC regnode *
+S_handle_regex_sets(pTHX_ RExC_state_t *pRExC_state, SV** return_invlist, I32 *flagp, U32 depth,
+                   char * const oregcomp_parse)
 {
+    /* Handle the (?[...]) construct to do set operations */
 
-    /* Handle the setting of folds in the bitmap for non-locale ANYOF nodes.
-     * Locale folding is done at run-time, so this function should not be
-     * called for nodes that are for locales.
+    U8 curchar;
+    UV start, end;	/* End points of code point ranges */
+    SV* result_string;
+    char *save_end, *save_parse;
+    SV* final;
+    STRLEN len;
+    regnode* node;
+    AV* stack;
+    const bool save_fold = FOLD;
+
+    GET_RE_DEBUG_FLAGS_DECL;
+
+    PERL_ARGS_ASSERT_HANDLE_REGEX_SETS;
+
+    if (LOC) {
+        vFAIL("(?[...]) not valid in locale");
+    }
+    RExC_uni_semantics = 1;
+
+    /* This will return only an ANYOF regnode, or (unlikely) something smaller
+     * (such as EXACT).  Thus we can skip most everything if just sizing.  We
+     * call regclass to handle '[]' so as to not have to reinvent its parsing
+     * rules here (throwing away the size it computes each time).  And, we exit
+     * upon an unescaped ']' that isn't one ending a regclass.  To do both
+     * these things, we need to realize that something preceded by a backslash
+     * is escaped, so we have to keep track of backslashes */
+    if (SIZE_ONLY) {
+
+        Perl_ck_warner_d(aTHX_
+            packWARN(WARN_EXPERIMENTAL__REGEX_SETS),
+            "The regex_sets feature is experimental" REPORT_LOCATION,
+            (int) (RExC_parse - RExC_precomp) , RExC_precomp, RExC_parse);
+
+        while (RExC_parse < RExC_end) {
+            SV* current = NULL;
+            RExC_parse = regpatws(pRExC_state, RExC_parse,
+                                TRUE); /* means recognize comments */
+            switch (*RExC_parse) {
+                default:
+                    break;
+                case '\\':
+                    /* Skip the next byte (which could cause us to end up in
+                     * the middle of a UTF-8 character, but since none of those
+                     * are confusable with anything we currently handle in this
+                     * switch (invariants all), it's safe.  We'll just hit the
+                     * default: case next time and keep on incrementing until
+                     * we find one of the invariants we do handle. */
+                    RExC_parse++;
+                    break;
+                case '[':
+                {
+                    /* If this looks like it is a [:posix:] class, leave the
+                     * parse pointer at the '[' to fool regclass() into
+                     * thinking it is part of a '[[:posix:]]'.  That function
+                     * will use strict checking to force a syntax error if it
+                     * doesn't work out to a legitimate class */
+                    bool is_posix_class
+                                    = could_it_be_a_POSIX_class(pRExC_state);
+                    if (! is_posix_class) {
+                        RExC_parse++;
+                    }
+
+                    /* regclass() can only return RESTART_UTF8 if multi-char
+                       folds are allowed.  */
+                    if (!regclass(pRExC_state, flagp,depth+1,
+                                  is_posix_class, /* parse the whole char
+                                                     class only if not a
+                                                     posix class */
+                                  FALSE, /* don't allow multi-char folds */
+                                  TRUE, /* silence non-portable warnings. */
+                                  &current))
+                        FAIL2("panic: regclass returned NULL to handle_sets, flags=%#X",
+                              *flagp);
+
+                    /* function call leaves parse pointing to the ']', except
+                     * if we faked it */
+                    if (is_posix_class) {
+                        RExC_parse--;
+                    }
+
+                    SvREFCNT_dec(current);   /* In case it returned something */
+                    break;
+                }
+
+                case ']':
+                    RExC_parse++;
+                    if (RExC_parse < RExC_end
+                        && *RExC_parse == ')')
+                    {
+                        node = reganode(pRExC_state, ANYOF, 0);
+                        RExC_size += ANYOF_SKIP;
+                        nextchar(pRExC_state);
+                        Set_Node_Length(node,
+                                RExC_parse - oregcomp_parse + 1); /* MJD */
+                        return node;
+                    }
+                    goto no_close;
+            }
+            RExC_parse++;
+        }
+
+        no_close:
+        FAIL("Syntax error in (?[...])");
+    }
+
+    /* Pass 2 only after this.  Everything in this construct is a
+     * metacharacter.  Operands begin with either a '\' (for an escape
+     * sequence), or a '[' for a bracketed character class.  Any other
+     * character should be an operator, or parenthesis for grouping.  Both
+     * types of operands are handled by calling regclass() to parse them.  It
+     * is called with a parameter to indicate to return the computed inversion
+     * list.  The parsing here is implemented via a stack.  Each entry on the
+     * stack is a single character representing one of the operators, or the
+     * '('; or else a pointer to an operand inversion list. */
+
+#define IS_OPERAND(a)  (! SvIOK(a))
+
+    /* The stack starts empty.  It is a syntax error if the first thing parsed
+     * is a binary operator; everything else is pushed on the stack.  When an
+     * operand is parsed, the top of the stack is examined.  If it is a binary
+     * operator, the item before it should be an operand, and both are replaced
+     * by the result of doing that operation on the new operand and the one on
+     * the stack.   Thus a sequence of binary operands is reduced to a single
+     * one before the next one is parsed.
      *
-     * This function sets the bit corresponding to the fold of the input
-     * 'value', if not already set.  The fold of 'f' is 'F', and the fold of
-     * 'F' is 'f'.
+     * A unary operator may immediately follow a binary in the input, for
+     * example
+     *      [a] + ! [b]
+     * When an operand is parsed and the top of the stack is a unary operator,
+     * the operation is performed, and then the stack is rechecked to see if
+     * this new operand is part of a binary operation; if so, it is handled as
+     * above.
      *
-     * It also knows about the characters that are in the bitmap that have
-     * folds that are matchable only outside it, and sets the appropriate lists
-     * and flags.
-     *
-     * It returns the number of bits that actually changed from 0 to 1 */
+     * A '(' is simply pushed on the stack; it is valid only if the stack is
+     * empty, or the top element of the stack is an operator or another '('
+     * (for which the parenthesized expression will become an operand).  By the
+     * time the corresponding ')' is parsed everything in between should have
+     * been parsed and evaluated to a single operand (or else is a syntax
+     * error), and is handled as a regular operand */
 
-    U8 stored = 0;
-    U8 fold;
+    sv_2mortal((SV *)(stack = newAV()));
 
-    PERL_ARGS_ASSERT_SET_REGCLASS_BIT_FOLD;
+    while (RExC_parse < RExC_end) {
+        I32 top_index = av_tindex(stack);
+        SV** top_ptr;
+        SV* current = NULL;
 
-    fold = (AT_LEAST_UNI_SEMANTICS) ? PL_fold_latin1[value]
-                                    : PL_fold[value];
+        /* Skip white space */
+        RExC_parse = regpatws(pRExC_state, RExC_parse,
+                                TRUE); /* means recognize comments */
+        if (RExC_parse >= RExC_end) {
+            Perl_croak(aTHX_ "panic: Read past end of '(?[ ])'");
+        }
+        if ((curchar = UCHARAT(RExC_parse)) == ']') {
+            break;
+        }
 
-    /* It assumes the bit for 'value' has already been set */
-    if (fold != value && ! ANYOF_BITMAP_TEST(node, fold)) {
-        ANYOF_BITMAP_SET(node, fold);
-        stored++;
-    }
-    if (_HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(value) && (! isASCII(value) || ! MORE_ASCII_RESTRICTED)) {
-	/* Certain Latin1 characters have matches outside the bitmap.  To get
-	 * here, 'value' is one of those characters.   None of these matches is
-	 * valid for ASCII characters under /aa, which have been excluded by
-	 * the 'if' above.  The matches fall into three categories:
-	 * 1) They are singly folded-to or -from an above 255 character, as
-	 *    LATIN SMALL LETTER Y WITH DIAERESIS and LATIN CAPITAL LETTER Y
-	 *    WITH DIAERESIS;
-	 * 2) They are part of a multi-char fold with another character in the
-	 *    bitmap, only LATIN SMALL LETTER SHARP S => "ss" fits that bill;
-	 * 3) They are part of a multi-char fold with a character not in the
-	 *    bitmap, such as various ligatures.
-	 * We aren't dealing fully with multi-char folds, except we do deal
-	 * with the pattern containing a character that has a multi-char fold
-	 * (not so much the inverse).
-	 * For types 1) and 3), the matches only happen when the target string
-	 * is utf8; that's not true for 2), and we set a flag for it.
-	 *
-	 * The code below adds to the passed in inversion list the single fold
-	 * closures for 'value'.  The values are hard-coded here so that an
-	 * innocent-looking character class, like /[ks]/i won't have to go out
-	 * to disk to find the possible matches.  XXX It would be better to
-	 * generate these via regen, in case a new version of the Unicode
-	 * standard adds new mappings, though that is not really likely. */
-	switch (value) {
-	    case 'k':
-	    case 'K':
-		/* KELVIN SIGN */
-		*invlist_ptr = add_cp_to_invlist(*invlist_ptr, 0x212A);
-		break;
-	    case 's':
-	    case 'S':
-		/* LATIN SMALL LETTER LONG S */
-		*invlist_ptr = add_cp_to_invlist(*invlist_ptr, 0x017F);
-		break;
-	    case MICRO_SIGN:
-		*invlist_ptr = add_cp_to_invlist(*invlist_ptr,
-						 GREEK_SMALL_LETTER_MU);
-		*invlist_ptr = add_cp_to_invlist(*invlist_ptr,
-						 GREEK_CAPITAL_LETTER_MU);
-		break;
-	    case LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE:
-	    case LATIN_SMALL_LETTER_A_WITH_RING_ABOVE:
-		/* ANGSTROM SIGN */
-		*invlist_ptr = add_cp_to_invlist(*invlist_ptr, 0x212B);
-		if (DEPENDS_SEMANTICS) {    /* See DEPENDS comment below */
-		    *invlist_ptr = add_cp_to_invlist(*invlist_ptr,
-						     PL_fold_latin1[value]);
-		}
-		break;
-	    case LATIN_SMALL_LETTER_Y_WITH_DIAERESIS:
-		*invlist_ptr = add_cp_to_invlist(*invlist_ptr,
-					LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS);
-		break;
-	    case LATIN_SMALL_LETTER_SHARP_S:
-		*invlist_ptr = add_cp_to_invlist(*invlist_ptr,
-					LATIN_CAPITAL_LETTER_SHARP_S);
+        switch (curchar) {
 
-		/* Under /a, /d, and /u, this can match the two chars "ss" */
-		if (! MORE_ASCII_RESTRICTED) {
-		    add_alternate(alternate_ptr, (U8 *) "ss", 2);
+            case '?':
+                if (av_tindex(stack) >= 0   /* This makes sure that we can
+                                               safely subtract 1 from
+                                               RExC_parse in the next clause.
+                                               If we have something on the
+                                               stack, we have parsed something
+                                             */
+                    && UCHARAT(RExC_parse - 1) == '('
+                    && RExC_parse < RExC_end)
+                {
+                    /* If is a '(?', could be an embedded '(?flags:(?[...])'.
+                     * This happens when we have some thing like
+                     *
+                     *   my $thai_or_lao = qr/(?[ \p{Thai} + \p{Lao} ])/;
+                     *   ...
+                     *   qr/(?[ \p{Digit} & $thai_or_lao ])/;
+                     *
+                     * Here we would be handling the interpolated
+                     * '$thai_or_lao'.  We handle this by a recursive call to
+                     * ourselves which returns the inversion list the
+                     * interpolated expression evaluates to.  We use the flags
+                     * from the interpolated pattern. */
+                    U32 save_flags = RExC_flags;
+                    const char * const save_parse = ++RExC_parse;
 
-		    /* And under /u or /a, it can match even if the target is
-		     * not utf8 */
-		    if (AT_LEAST_UNI_SEMANTICS) {
-			ANYOF_FLAGS(node) |= ANYOF_NONBITMAP_NON_UTF8;
-		    }
-		}
-		break;
-	    case 'F': case 'f':
-	    case 'I': case 'i':
-	    case 'L': case 'l':
-	    case 'T': case 't':
-	    case 'A': case 'a':
-	    case 'H': case 'h':
-	    case 'J': case 'j':
-	    case 'N': case 'n':
-	    case 'W': case 'w':
-	    case 'Y': case 'y':
-                /* These all are targets of multi-character folds from code
-                 * points that require UTF8 to express, so they can't match
-                 * unless the target string is in UTF-8, so no action here is
-                 * necessary, as regexec.c properly handles the general case
-                 * for UTF-8 matching */
-		break;
-	    default:
-		/* Use deprecated warning to increase the chances of this
-		 * being output */
-		ckWARN2regdep(RExC_parse, "Perl folding rules are not up-to-date for 0x%x; please use the perlbug utility to report;", value);
-		break;
-	}
-    }
-    else if (DEPENDS_SEMANTICS
-	    && ! isASCII(value)
-	    && PL_fold_latin1[value] != value)
-    {
-	   /* Under DEPENDS rules, non-ASCII Latin1 characters match their
-	    * folds only when the target string is in UTF-8.  We add the fold
-	    * here to the list of things to match outside the bitmap, which
-	    * won't be looked at unless it is UTF8 (or else if something else
-	    * says to look even if not utf8, but those things better not happen
-	    * under DEPENDS semantics. */
-	*invlist_ptr = add_cp_to_invlist(*invlist_ptr, PL_fold_latin1[value]);
-    }
+                    parse_lparen_question_flags(pRExC_state);
 
-    return stored;
-}
+                    if (RExC_parse == save_parse  /* Makes sure there was at
+                                                     least one flag (or this
+                                                     embedding wasn't compiled)
+                                                   */
+                        || RExC_parse >= RExC_end - 4
+                        || UCHARAT(RExC_parse) != ':'
+                        || UCHARAT(++RExC_parse) != '('
+                        || UCHARAT(++RExC_parse) != '?'
+                        || UCHARAT(++RExC_parse) != '[')
+                    {
 
+                        /* In combination with the above, this moves the
+                         * pointer to the point just after the first erroneous
+                         * character (or if there are no flags, to where they
+                         * should have been) */
+                        if (RExC_parse >= RExC_end - 4) {
+                            RExC_parse = RExC_end;
+                        }
+                        else if (RExC_parse != save_parse) {
+                            RExC_parse += (UTF) ? UTF8SKIP(RExC_parse) : 1;
+                        }
+                        vFAIL("Expecting '(?flags:(?[...'");
+                    }
+                    RExC_parse++;
+                    (void) handle_regex_sets(pRExC_state, &current, flagp,
+                                                    depth+1, oregcomp_parse);
 
-PERL_STATIC_INLINE U8
-S_set_regclass_bit(pTHX_ RExC_state_t *pRExC_state, regnode* node, const U8 value, HV** invlist_ptr, AV** alternate_ptr)
-{
-    /* This inline function sets a bit in the bitmap if not already set, and if
-     * appropriate, its fold, returning the number of bits that actually
-     * changed from 0 to 1 */
+                    /* Here, 'current' contains the embedded expression's
+                     * inversion list, and RExC_parse points to the trailing
+                     * ']'; the next character should be the ')' which will be
+                     * paired with the '(' that has been put on the stack, so
+                     * the whole embedded expression reduces to '(operand)' */
+                    RExC_parse++;
 
-    U8 stored;
+                    RExC_flags = save_flags;
+                    goto handle_operand;
+                }
+                /* FALL THROUGH */
 
-    PERL_ARGS_ASSERT_SET_REGCLASS_BIT;
+            default:
+                RExC_parse += (UTF) ? UTF8SKIP(RExC_parse) : 1;
+                vFAIL("Unexpected character");
 
-    if (ANYOF_BITMAP_TEST(node, value)) {   /* Already set */
-	return 0;
+            case '\\':
+                /* regclass() can only return RESTART_UTF8 if multi-char
+                   folds are allowed.  */
+                if (!regclass(pRExC_state, flagp,depth+1,
+                              TRUE, /* means parse just the next thing */
+                              FALSE, /* don't allow multi-char folds */
+                              FALSE, /* don't silence non-portable warnings.  */
+                              &current))
+                    FAIL2("panic: regclass returned NULL to handle_sets, flags=%#X",
+                          *flagp);
+                /* regclass() will return with parsing just the \ sequence,
+                 * leaving the parse pointer at the next thing to parse */
+                RExC_parse--;
+                goto handle_operand;
+
+            case '[':   /* Is a bracketed character class */
+            {
+                bool is_posix_class = could_it_be_a_POSIX_class(pRExC_state);
+
+                if (! is_posix_class) {
+                    RExC_parse++;
+                }
+
+                /* regclass() can only return RESTART_UTF8 if multi-char
+                   folds are allowed.  */
+                if(!regclass(pRExC_state, flagp,depth+1,
+                             is_posix_class, /* parse the whole char class
+                                                only if not a posix class */
+                             FALSE, /* don't allow multi-char folds */
+                             FALSE, /* don't silence non-portable warnings.  */
+                             &current))
+                    FAIL2("panic: regclass returned NULL to handle_sets, flags=%#X",
+                          *flagp);
+                /* function call leaves parse pointing to the ']', except if we
+                 * faked it */
+                if (is_posix_class) {
+                    RExC_parse--;
+                }
+
+                goto handle_operand;
+            }
+
+            case '&':
+            case '|':
+            case '+':
+            case '-':
+            case '^':
+                if (top_index < 0
+                    || ( ! (top_ptr = av_fetch(stack, top_index, FALSE)))
+                    || ! IS_OPERAND(*top_ptr))
+                {
+                    RExC_parse++;
+                    vFAIL2("Unexpected binary operator '%c' with no preceding operand", curchar);
+                }
+                av_push(stack, newSVuv(curchar));
+                break;
+
+            case '!':
+                av_push(stack, newSVuv(curchar));
+                break;
+
+            case '(':
+                if (top_index >= 0) {
+                    top_ptr = av_fetch(stack, top_index, FALSE);
+                    assert(top_ptr);
+                    if (IS_OPERAND(*top_ptr)) {
+                        RExC_parse++;
+                        vFAIL("Unexpected '(' with no preceding operator");
+                    }
+                }
+                av_push(stack, newSVuv(curchar));
+                break;
+
+            case ')':
+            {
+                SV* lparen;
+                if (top_index < 1
+                    || ! (current = av_pop(stack))
+                    || ! IS_OPERAND(current)
+                    || ! (lparen = av_pop(stack))
+                    || IS_OPERAND(lparen)
+                    || SvUV(lparen) != '(')
+                {
+                    SvREFCNT_dec(current);
+                    RExC_parse++;
+                    vFAIL("Unexpected ')'");
+                }
+                top_index -= 2;
+                SvREFCNT_dec_NN(lparen);
+
+                /* FALL THROUGH */
+            }
+
+              handle_operand:
+
+                /* Here, we have an operand to process, in 'current' */
+
+                if (top_index < 0) {    /* Just push if stack is empty */
+                    av_push(stack, current);
+                }
+                else {
+                    SV* top = av_pop(stack);
+                    SV *prev = NULL;
+                    char current_operator;
+
+                    if (IS_OPERAND(top)) {
+                        SvREFCNT_dec_NN(top);
+                        SvREFCNT_dec_NN(current);
+                        vFAIL("Operand with no preceding operator");
+                    }
+                    current_operator = (char) SvUV(top);
+                    switch (current_operator) {
+                        case '(':   /* Push the '(' back on followed by the new
+                                       operand */
+                            av_push(stack, top);
+                            av_push(stack, current);
+                            SvREFCNT_inc(top);  /* Counters the '_dec' done
+                                                   just after the 'break', so
+                                                   it doesn't get wrongly freed
+                                                 */
+                            break;
+
+                        case '!':
+                            _invlist_invert(current);
+
+                            /* Unlike binary operators, the top of the stack,
+                             * now that this unary one has been popped off, may
+                             * legally be an operator, and we now have operand
+                             * for it. */
+                            top_index--;
+                            SvREFCNT_dec_NN(top);
+                            goto handle_operand;
+
+                        case '&':
+                            prev = av_pop(stack);
+                            _invlist_intersection(prev,
+                                                   current,
+                                                   &current);
+                            av_push(stack, current);
+                            break;
+
+                        case '|':
+                        case '+':
+                            prev = av_pop(stack);
+                            _invlist_union(prev, current, &current);
+                            av_push(stack, current);
+                            break;
+
+                        case '-':
+                            prev = av_pop(stack);;
+                            _invlist_subtract(prev, current, &current);
+                            av_push(stack, current);
+                            break;
+
+                        case '^':   /* The union minus the intersection */
+                        {
+                            SV* i = NULL;
+                            SV* u = NULL;
+                            SV* element;
+
+                            prev = av_pop(stack);
+                            _invlist_union(prev, current, &u);
+                            _invlist_intersection(prev, current, &i);
+                            /* _invlist_subtract will overwrite current
+                                without freeing what it already contains */
+                            element = current;
+                            _invlist_subtract(u, i, &current);
+                            av_push(stack, current);
+                            SvREFCNT_dec_NN(i);
+                            SvREFCNT_dec_NN(u);
+                            SvREFCNT_dec_NN(element);
+                            break;
+                        }
+
+                        default:
+                            Perl_croak(aTHX_ "panic: Unexpected item on '(?[ ])' stack");
+                }
+                SvREFCNT_dec_NN(top);
+                SvREFCNT_dec(prev);
+            }
+        }
+
+        RExC_parse += (UTF) ? UTF8SKIP(RExC_parse) : 1;
     }
 
-    ANYOF_BITMAP_SET(node, value);
-    stored = 1;
+    if (av_tindex(stack) < 0   /* Was empty */
+        || ((final = av_pop(stack)) == NULL)
+        || ! IS_OPERAND(final)
+        || av_tindex(stack) >= 0)  /* More left on stack */
+    {
+        vFAIL("Incomplete expression within '(?[ ])'");
+    }
 
-    if (FOLD && ! LOC) {	/* Locale folds aren't known until runtime */
-	stored += set_regclass_bit_fold(pRExC_state, node, value, invlist_ptr, alternate_ptr);
+    /* Here, 'final' is the resultant inversion list from evaluating the
+     * expression.  Return it if so requested */
+    if (return_invlist) {
+        *return_invlist = final;
+        return END;
     }
 
-    return stored;
-}
+    /* Otherwise generate a resultant node, based on 'final'.  regclass() is
+     * expecting a string of ranges and individual code points */
+    invlist_iterinit(final);
+    result_string = newSVpvs("");
+    while (invlist_iternext(final, &start, &end)) {
+        if (start == end) {
+            Perl_sv_catpvf(aTHX_ result_string, "\\x{%"UVXf"}", start);
+        }
+        else {
+            Perl_sv_catpvf(aTHX_ result_string, "\\x{%"UVXf"}-\\x{%"UVXf"}",
+                                                     start,          end);
+        }
+    }
 
-STATIC void
-S_add_alternate(pTHX_ AV** alternate_ptr, U8* string, STRLEN len)
-{
-    /* Adds input 'string' with length 'len' to the ANYOF node's unicode
-     * alternate list, pointed to by 'alternate_ptr'.  This is an array of
-     * the multi-character folds of characters in the node */
-    SV *sv;
+    save_parse = RExC_parse;
+    RExC_parse = SvPV(result_string, len);
+    save_end = RExC_end;
+    RExC_end = RExC_parse + len;
 
-    PERL_ARGS_ASSERT_ADD_ALTERNATE;
+    /* We turn off folding around the call, as the class we have constructed
+     * already has all folding taken into consideration, and we don't want
+     * regclass() to add to that */
+    RExC_flags &= ~RXf_PMf_FOLD;
+    /* regclass() can only return RESTART_UTF8 if multi-char folds are allowed.
+     */
+    node = regclass(pRExC_state, flagp,depth+1,
+                    FALSE, /* means parse the whole char class */
+                    FALSE, /* don't allow multi-char folds */
+                    TRUE, /* silence non-portable warnings.  The above may very
+                             well have generated non-portable code points, but
+                             they're valid on this machine */
+                    NULL);
+    if (!node)
+        FAIL2("panic: regclass returned NULL to handle_sets, flags=%#"UVxf,
+                    PTR2UV(flagp));
+    if (save_fold) {
+        RExC_flags |= RXf_PMf_FOLD;
+    }
+    RExC_parse = save_parse + 1;
+    RExC_end = save_end;
+    SvREFCNT_dec_NN(final);
+    SvREFCNT_dec_NN(result_string);
 
-    if (! *alternate_ptr) {
-	*alternate_ptr = newAV();
-    }
-    sv = newSVpvn_utf8((char*)string, len, TRUE);
-    av_push(*alternate_ptr, sv);
-    return;
+    nextchar(pRExC_state);
+    Set_Node_Length(node, RExC_parse - oregcomp_parse + 1); /* MJD */
+    return node;
 }
+#undef IS_OPERAND
 
-/*
-   parse a class specification and produce either an ANYOF node that
-   matches the pattern or perhaps will be optimized into an EXACTish node
-   instead. The node contains a bit map for the first 256 characters, with the
-   corresponding bit set if that character is in the list.  For characters
-   above 255, a range list is used */
+/* The names of properties whose definitions are not known at compile time are
+ * stored in this SV, after a constant heading.  So if the length has been
+ * changed since initialization, then there is a run-time definition. */
+#define HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION (SvCUR(listsv) != initial_listsv_len)
 
 STATIC regnode *
-S_regclass(pTHX_ RExC_state_t *pRExC_state, U32 depth)
+S_regclass(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth,
+                 const bool stop_at_1,  /* Just parse the next thing, don't
+                                           look for a full character class */
+                 bool allow_multi_folds,
+                 const bool silence_non_portable,   /* Don't output warnings
+                                                       about too large
+                                                       characters */
+                 SV** ret_invlist)  /* Return an inversion list, not a node */
 {
+    /* parse a bracketed class specification.  Most of these will produce an
+     * ANYOF node; but something like [a] will produce an EXACT node; [aA], an
+     * EXACTFish node; [[:ascii:]], a POSIXA node; etc.  It is more complex
+     * under /i with multi-character folds: it will be rewritten following the
+     * paradigm of this example, where the <multi-fold>s are characters which
+     * fold to multiple character sequences:
+     *      /[abc\x{multi-fold1}def\x{multi-fold2}ghi]/i
+     * gets effectively rewritten as:
+     *      /(?:\x{multi-fold1}|\x{multi-fold2}|[abcdefghi]/i
+     * reg() gets called (recursively) on the rewritten version, and this
+     * function will return what it constructs.  (Actually the <multi-fold>s
+     * aren't physically removed from the [abcdefghi], it's just that they are
+     * ignored in the recursion by means of a flag:
+     * <RExC_in_multi_char_class>.)
+     *
+     * ANYOF nodes contain a bit map for the first 256 characters, with the
+     * corresponding bit set if that character is in the list.  For characters
+     * above 255, a range list or swash is used.  There are extra bits for \w,
+     * etc. in locale ANYOFs, as what these match is not determinable at
+     * compile time
+     *
+     * Returns NULL, setting *flagp to RESTART_UTF8 if the sizing scan needs
+     * to be restarted.  This can only happen if ret_invlist is non-NULL.
+     */
+
     dVAR;
-    register UV nextvalue;
-    register IV prevvalue = OOB_UNICODE;
-    register IV range = 0;
-    UV value = 0; /* XXX:dmq: needs to be referenceable (unfortunately) */
-    register regnode *ret;
+    UV prevvalue = OOB_UNICODE, save_prevvalue = OOB_UNICODE;
+    IV range = 0;
+    UV value = OOB_UNICODE, save_value = OOB_UNICODE;
+    regnode *ret;
     STRLEN numlen;
-    IV namedclass;
+    IV namedclass = OOB_NAMEDCLASS;
     char *rangebegin = NULL;
     bool need_class = 0;
-    bool allow_full_fold = TRUE;   /* Assume wants multi-char folding */
     SV *listsv = NULL;
     STRLEN initial_listsv_len = 0; /* Kind of a kludge to see if it is more
 				      than just initialized.  */
+    SV* properties = NULL;    /* Code points that match \p{} \P{} */
+    SV* posixes = NULL;     /* Code points that match classes like, [:word:],
+                               extended beyond the Latin1 range */
+    UV element_count = 0;   /* Number of distinct elements in the class.
+			       Optimizations may be possible if this is tiny */
+    AV * multi_char_matches = NULL; /* Code points that fold to more than one
+                                       character; used under /i */
     UV n;
+    char * stop_ptr = RExC_end;    /* where to stop parsing */
+    const bool skip_white = cBOOL(ret_invlist); /* ignore unescaped white
+                                                   space? */
+    const bool strict = cBOOL(ret_invlist); /* Apply strict parsing rules? */
 
-    /* code points this node matches that can't be stored in the bitmap */
-    HV* nonbitmap = NULL;
+    /* Unicode properties are stored in a swash; this holds the current one
+     * being parsed.  If this swash is the only above-latin1 component of the
+     * character class, an optimization is to pass it directly on to the
+     * execution engine.  Otherwise, it is set to NULL to indicate that there
+     * are other things in the class that have to be dealt with at execution
+     * time */
+    SV* swash = NULL;		/* Code points that match \p{} \P{} */
 
-    /* The items that are to match that aren't stored in the bitmap, but are a
-     * result of things that are stored there.  This is the fold closure of
-     * such a character, either because it has DEPENDS semantics and shouldn't
-     * be matched unless the target string is utf8, or is a code point that is
-     * too large for the bit map, as for example, the fold of the MICRO SIGN is
-     * above 255.  This all is solely for performance reasons.  By having this
-     * code know the outside-the-bitmap folds that the bitmapped characters are
-     * involved with, we don't have to go out to disk to find the list of
-     * matches, unless the character class includes code points that aren't
-     * storable in the bit map.  That means that a character class with an 's'
-     * in it, for example, doesn't need to go out to disk to find everything
-     * that matches.  A 2nd list is used so that the 'nonbitmap' list is kept
-     * empty unless there is something whose fold we don't know about, and will
-     * have to go out to the disk to find. */
-    HV* l1_fold_invlist = NULL;
+    /* Set if a component of this character class is user-defined; just passed
+     * on to the engine */
+    bool has_user_defined_property = FALSE;
 
-    /* List of multi-character folds that are matched by this node */
-    AV* unicode_alternate  = NULL;
+    /* inversion list of code points this node matches only when the target
+     * string is in UTF-8.  (Because is under /d) */
+    SV* depends_list = NULL;
+
+    /* inversion list of code points this node matches.  For much of the
+     * function, it includes only those that match regardless of the utf8ness
+     * of the target string */
+    SV* cp_list = NULL;
+
 #ifdef EBCDIC
+    /* In a range, counts how many 0-2 of the ends of it came from literals,
+     * not escapes.  Thus we can tell if 'A' was input vs \x{C1} */
     UV literal_endpoint = 0;
 #endif
-    UV stored = 0;  /* how many chars stored in the bitmap */
+    bool invert = FALSE;    /* Is this class to be complemented */
 
+    /* Is there any thing like \W or [:^digit:] that matches above the legal
+     * Unicode range? */
+    bool runtime_posix_matches_above_Unicode = FALSE;
+
     regnode * const orig_emit = RExC_emit; /* Save the original RExC_emit in
         case we need to change the emitted regop to an EXACT. */
     const char * orig_parse = RExC_parse;
+    const I32 orig_size = RExC_size;
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_REGCLASS;
@@ -9522,60 +12180,89 @@
     /* Assume we are going to generate an ANYOF node. */
     ret = reganode(pRExC_state, ANYOF, 0);
 
-
-    if (!SIZE_ONLY) {
-	ANYOF_FLAGS(ret) = 0;
-    }
-
-    if (UCHARAT(RExC_parse) == '^') {	/* Complement of range. */
-	RExC_naughty++;
-	RExC_parse++;
-	if (!SIZE_ONLY)
-	    ANYOF_FLAGS(ret) |= ANYOF_INVERT;
-
-        /* We have decided to not allow multi-char folds in inverted character
-         * classes, due to the confusion that can happen, even with classes
-         * that are designed for a non-Unicode world:  You have the peculiar
-         * case that:
-            "s s" =~ /^[^\xDF]+$/i => Y
-            "ss"  =~ /^[^\xDF]+$/i => N
-         *
-         * See [perl #89750] */
-        allow_full_fold = FALSE;
-    }
-
     if (SIZE_ONLY) {
 	RExC_size += ANYOF_SKIP;
 	listsv = &PL_sv_undef; /* For code scanners: listsv always non-NULL. */
     }
     else {
+        ANYOF_FLAGS(ret) = 0;
+
  	RExC_emit += ANYOF_SKIP;
 	if (LOC) {
 	    ANYOF_FLAGS(ret) |= ANYOF_LOCALE;
 	}
-	ANYOF_BITMAP_ZERO(ret);
-	listsv = newSVpvs("# comment\n");
+	listsv = newSVpvs_flags("# comment\n", SVs_TEMP);
 	initial_listsv_len = SvCUR(listsv);
+        SvTEMP_off(listsv); /* Grr, TEMPs and mortals are conflated.  */
     }
 
-    nextvalue = RExC_parse < RExC_end ? UCHARAT(RExC_parse) : 0;
+    if (skip_white) {
+        RExC_parse = regpatws(pRExC_state, RExC_parse,
+                              FALSE /* means don't recognize comments */);
+    }
 
-    if (!SIZE_ONLY && POSIXCC(nextvalue))
-	checkposixcc(pRExC_state);
+    if (UCHARAT(RExC_parse) == '^') {	/* Complement of range. */
+	RExC_parse++;
+        invert = TRUE;
+        allow_multi_folds = FALSE;
+        RExC_naughty++;
+        if (skip_white) {
+            RExC_parse = regpatws(pRExC_state, RExC_parse,
+                                  FALSE /* means don't recognize comments */);
+        }
+    }
 
-    /* allow 1st char to be ] (allowing it to be - is dealt with later) */
+    /* Check that they didn't say [:posix:] instead of [[:posix:]] */
+    if (!SIZE_ONLY && RExC_parse < RExC_end && POSIXCC(UCHARAT(RExC_parse))) {
+	const char *s = RExC_parse;
+	const char  c = *s++;
+
+	while (isWORDCHAR(*s))
+	    s++;
+	if (*s && c == *s && s[1] == ']') {
+	    SAVEFREESV(RExC_rx_sv);
+	    ckWARN3reg(s+2,
+		       "POSIX syntax [%c %c] belongs inside character classes",
+		       c, c);
+	    (void)ReREFCNT_inc(RExC_rx_sv);
+	}
+    }
+
+    /* If the caller wants us to just parse a single element, accomplish this
+     * by faking the loop ending condition */
+    if (stop_at_1 && RExC_end > RExC_parse) {
+        stop_ptr = RExC_parse + 1;
+    }
+
+    /* allow 1st char to be ']' (allowing it to be '-' is dealt with later) */
     if (UCHARAT(RExC_parse) == ']')
 	goto charclassloop;
 
 parseit:
-    while (RExC_parse < RExC_end && UCHARAT(RExC_parse) != ']') {
+    while (1) {
+        if  (RExC_parse >= stop_ptr) {
+            break;
+        }
 
+        if (skip_white) {
+            RExC_parse = regpatws(pRExC_state, RExC_parse,
+                                  FALSE /* means don't recognize comments */);
+        }
+
+        if  (UCHARAT(RExC_parse) == ']') {
+            break;
+        }
+
     charclassloop:
 
 	namedclass = OOB_NAMEDCLASS; /* initialize as illegal */
+        save_value = value;
+        save_prevvalue = prevvalue;
 
-	if (!range)
+	if (!range) {
 	    rangebegin = RExC_parse;
+	    element_count++;
+	}
 	if (UTF) {
 	    value = utf8n_to_uvchr((U8*)RExC_parse,
 				   RExC_end - RExC_parse,
@@ -9585,10 +12272,13 @@
 	else
 	    value = UCHARAT(RExC_parse++);
 
-	nextvalue = RExC_parse < RExC_end ? UCHARAT(RExC_parse) : 0;
-	if (value == '[' && POSIXCC(nextvalue))
-	    namedclass = regpposixcc(pRExC_state, value);
-	else if (value == '\\') {
+        if (value == '['
+            && RExC_parse < RExC_end
+            && POSIXCC(UCHARAT(RExC_parse)))
+        {
+            namedclass = regpposixcc(pRExC_state, value, strict);
+        }
+        else if (value == '\\') {
 	    if (UTF) {
 		value = utf8n_to_uvchr((U8*)RExC_parse,
 				   RExC_end - RExC_parse,
@@ -9597,14 +12287,21 @@
 	    }
 	    else
 		value = UCHARAT(RExC_parse++);
+
 	    /* Some compilers cannot handle switching on 64-bit integer
 	     * values, therefore value cannot be an UV.  Yes, this will
 	     * be a problem later if we want switch on Unicode.
 	     * A similar issue a little bit later when switching on
 	     * namedclass. --jhi */
-	    switch ((I32)value) {
-	    case 'w':	namedclass = ANYOF_ALNUM;	break;
-	    case 'W':	namedclass = ANYOF_NALNUM;	break;
+
+            /* If the \ is escaping white space when white space is being
+             * skipped, it means that that white space is wanted literally, and
+             * is already in 'value'.  Otherwise, need to translate the escape
+             * into what it signifies. */
+            if (! skip_white || ! is_PATWS_cp(value)) switch ((I32)value) {
+
+	    case 'w':	namedclass = ANYOF_WORDCHAR;	break;
+	    case 'W':	namedclass = ANYOF_NWORDCHAR;	break;
 	    case 's':	namedclass = ANYOF_SPACE;	break;
 	    case 'S':	namedclass = ANYOF_NSPACE;	break;
 	    case 'd':	namedclass = ANYOF_DIGIT;	break;
@@ -9620,11 +12317,14 @@
                     if this makes sense as it does change the behaviour
                     from earlier versions, OTOH that behaviour was broken
                     as well. */
-                    UV v; /* value is register so we cant & it /grrr */
-                    if (reg_namedseq(pRExC_state, &v, NULL, depth)) {
+                    if (! grok_bslash_N(pRExC_state, NULL, &value, flagp, depth,
+                                      TRUE, /* => charclass */
+                                      strict))
+                    {
+                        if (*flagp & RESTART_UTF8)
+                            FAIL("panic: grok_bslash_N set RESTART_UTF8");
                         goto parseit;
                     }
-                    value= v; 
                 }
                 break;
 	    case 'p':
@@ -9631,6 +12331,10 @@
 	    case 'P':
 		{
 		char *e;
+
+                /* We will handle any undefined properties ourselves */
+                U8 swash_init_flags = _CORE_SWASH_INIT_RETURN_IF_UNDEF;
+
 		if (RExC_parse >= RExC_end)
 		    vFAIL2("Empty \\%c{}", (U8)value);
 		if (*RExC_parse == '{') {
@@ -9651,35 +12355,106 @@
 		    n = 1;
 		}
 		if (!SIZE_ONLY) {
+                    SV* invlist;
+                    char* name;
+
 		    if (UCHARAT(RExC_parse) == '^') {
 			 RExC_parse++;
 			 n--;
-			 value = value == 'p' ? 'P' : 'p'; /* toggle */
+                         /* toggle.  (The rhs xor gets the single bit that
+                          * differs between P and p; the other xor inverts just
+                          * that bit) */
+                         value ^= 'P' ^ 'p';
+
 			 while (isSPACE(UCHARAT(RExC_parse))) {
 			      RExC_parse++;
 			      n--;
 			 }
 		    }
+                    /* Try to get the definition of the property into
+                     * <invlist>.  If /i is in effect, the effective property
+                     * will have its name be <__NAME_i>.  The design is
+                     * discussed in commit
+                     * 2f833f5208e26b208886e51e09e2c072b5eabb46 */
+                    Newx(name, n + sizeof("_i__\n"), char);
 
-		    /* Add the property name to the list.  If /i matching, give
-		     * a different name which consists of the normal name
-		     * sandwiched between two underscores and '_i'.  The design
-		     * is discussed in the commit message for this. */
-		    Perl_sv_catpvf(aTHX_ listsv, "%cutf8::%s%.*s%s\n",
-					(value=='p' ? '+' : '!'),
-					(FOLD) ? "__" : "",
-					(int)n,
-					RExC_parse,
-					(FOLD) ? "_i" : ""
-				    );
+                    sprintf(name, "%s%.*s%s\n",
+                                    (FOLD) ? "__" : "",
+                                    (int)n,
+                                    RExC_parse,
+                                    (FOLD) ? "_i" : ""
+                    );
+
+                    /* Look up the property name, and get its swash and
+                     * inversion list, if the property is found  */
+                    if (swash) {
+                        SvREFCNT_dec_NN(swash);
+                    }
+                    swash = _core_swash_init("utf8", name, &PL_sv_undef,
+                                             1, /* binary */
+                                             0, /* not tr/// */
+                                             NULL, /* No inversion list */
+                                             &swash_init_flags
+                                            );
+                    if (! swash || ! (invlist = _get_swash_invlist(swash))) {
+                        if (swash) {
+                            SvREFCNT_dec_NN(swash);
+                            swash = NULL;
+                        }
+
+                        /* Here didn't find it.  It could be a user-defined
+                         * property that will be available at run-time.  If we
+                         * accept only compile-time properties, is an error;
+                         * otherwise add it to the list for run-time look up */
+                        if (ret_invlist) {
+                            RExC_parse = e + 1;
+                            vFAIL3("Property '%.*s' is unknown", (int) n, name);
+                        }
+                        Perl_sv_catpvf(aTHX_ listsv, "%cutf8::%s\n",
+                                        (value == 'p' ? '+' : '!'),
+                                        name);
+                        has_user_defined_property = TRUE;
+
+                        /* We don't know yet, so have to assume that the
+                         * property could match something in the Latin1 range,
+                         * hence something that isn't utf8.  Note that this
+                         * would cause things in <depends_list> to match
+                         * inappropriately, except that any \p{}, including
+                         * this one forces Unicode semantics, which means there
+                         * is <no depends_list> */
+                        ANYOF_FLAGS(ret) |= ANYOF_NONBITMAP_NON_UTF8;
+                    }
+                    else {
+
+                        /* Here, did get the swash and its inversion list.  If
+                         * the swash is from a user-defined property, then this
+                         * whole character class should be regarded as such */
+                        has_user_defined_property =
+                                    (swash_init_flags
+                                     & _CORE_SWASH_INIT_USER_DEFINED_PROPERTY);
+
+                        /* Invert if asking for the complement */
+                        if (value == 'P') {
+			    _invlist_union_complement_2nd(properties,
+                                                          invlist,
+                                                          &properties);
+
+                            /* The swash can't be used as-is, because we've
+			     * inverted things; delay removing it to here after
+			     * have copied its invlist above */
+                            SvREFCNT_dec_NN(swash);
+                            swash = NULL;
+                        }
+                        else {
+                            _invlist_union(properties, invlist, &properties);
+			}
+		    }
+		    Safefree(name);
 		}
 		RExC_parse = e + 1;
+                namedclass = ANYOF_UNIPROP;  /* no official name, but it's
+                                                named */
 
-		/* The \p could match something in the Latin1 range, hence
-		 * something that isn't utf8 */
-		ANYOF_FLAGS(ret) |= ANYOF_NONBITMAP_NON_UTF8;
-		namedclass = ANYOF_MAX;  /* no official name, but it's named */
-
 		/* \p means they want Unicode semantics */
 		RExC_uni_semantics = 1;
 		}
@@ -9695,12 +12470,14 @@
 		RExC_parse--;	/* function expects to be pointed at the 'o' */
 		{
 		    const char* error_msg;
-		    bool valid = grok_bslash_o(RExC_parse,
+		    bool valid = grok_bslash_o(&RExC_parse,
 					       &value,
-					       &numlen,
 					       &error_msg,
-					       SIZE_ONLY);
-		    RExC_parse += numlen;
+                                               SIZE_ONLY,   /* warnings in pass
+                                                               1 only */
+                                               strict,
+                                               silence_non_portable,
+                                               UTF);
 		    if (! valid) {
 			vFAIL(error_msg);
 		    }
@@ -9710,23 +12487,20 @@
 		}
 		break;
 	    case 'x':
-		if (*RExC_parse == '{') {
-                    I32 flags = PERL_SCAN_ALLOW_UNDERSCORES
-                        | PERL_SCAN_DISALLOW_PREFIX;
-		    char * const e = strchr(RExC_parse++, '}');
-                    if (!e)
-                        vFAIL("Missing right brace on \\x{}");
-
-		    numlen = e - RExC_parse;
-		    value = grok_hex(RExC_parse, &numlen, &flags, NULL);
-		    RExC_parse = e + 1;
+		RExC_parse--;	/* function expects to be pointed at the 'x' */
+		{
+		    const char* error_msg;
+		    bool valid = grok_bslash_x(&RExC_parse,
+					       &value,
+					       &error_msg,
+					       TRUE, /* Output warnings */
+                                               strict,
+                                               silence_non_portable,
+                                               UTF);
+                    if (! valid) {
+			vFAIL(error_msg);
+		    }
 		}
-		else {
-                    I32 flags = PERL_SCAN_DISALLOW_PREFIX;
-		    numlen = 2;
-		    value = grok_hex(RExC_parse, &numlen, &flags, NULL);
-		    RExC_parse += numlen;
-		}
 		if (PL_encoding && value < 0x100)
 		    goto recode_encoding;
 		break;
@@ -9738,9 +12512,27 @@
 		{
 		    /* Take 1-3 octal digits */
 		    I32 flags = PERL_SCAN_SILENT_ILLDIGIT;
-		    numlen = 3;
-		    value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
+                    numlen = (strict) ? 4 : 3;
+                    value = grok_oct(--RExC_parse, &numlen, &flags, NULL);
 		    RExC_parse += numlen;
+                    if (numlen != 3) {
+                        if (strict) {
+                            RExC_parse += (UTF) ? UTF8SKIP(RExC_parse) : 1;
+                            vFAIL("Need exactly 3 octal digits");
+                        }
+                        else if (! SIZE_ONLY /* like \08, \178 */
+                                 && numlen < 3
+                                 && RExC_parse < RExC_end
+                                 && isDIGIT(*RExC_parse)
+                                 && ckWARN(WARN_REGEXP))
+                        {
+                            SAVEFREESV(RExC_rx_sv);
+                            reg_warn_non_literal_string(
+                                 RExC_parse + 1,
+                                 form_short_octal_warning(RExC_parse, numlen));
+                            (void)ReREFCNT_inc(RExC_rx_sv);
+                        }
+                    }
 		    if (PL_encoding && value < 0x100)
 			goto recode_encoding;
 		    break;
@@ -9749,172 +12541,373 @@
 		if (! RExC_override_recoding) {
 		    SV* enc = PL_encoding;
 		    value = reg_recode((const char)(U8)value, &enc);
-		    if (!enc && SIZE_ONLY)
-			ckWARNreg(RExC_parse,
+		    if (!enc) {
+                        if (strict) {
+                            vFAIL("Invalid escape in the specified encoding");
+                        }
+                        else if (SIZE_ONLY) {
+                            ckWARNreg(RExC_parse,
 				  "Invalid escape in the specified encoding");
+                        }
+                    }
 		    break;
 		}
 	    default:
 		/* Allow \_ to not give an error */
-		if (!SIZE_ONLY && isALNUM(value) && value != '_') {
-		    ckWARN2reg(RExC_parse,
-			       "Unrecognized escape \\%c in character class passed through",
-			       (int)value);
+		if (!SIZE_ONLY && isWORDCHAR(value) && value != '_') {
+                    if (strict) {
+                        vFAIL2("Unrecognized escape \\%c in character class",
+                               (int)value);
+                    }
+                    else {
+                        SAVEFREESV(RExC_rx_sv);
+                        ckWARN2reg(RExC_parse,
+                            "Unrecognized escape \\%c in character class passed through",
+                            (int)value);
+                        (void)ReREFCNT_inc(RExC_rx_sv);
+                    }
 		}
 		break;
-	    }
-	} /* end of \blah */
+	    }   /* End of switch on char following backslash */
+	} /* end of handling backslash escape sequences */
 #ifdef EBCDIC
-	else
-	    literal_endpoint++;
+        else
+            literal_endpoint++;
 #endif
 
+        /* Here, we have the current token in 'value' */
+
+        /* What matches in a locale is not known until runtime.  This includes
+         * what the Posix classes (like \w, [:space:]) match.  Room must be
+         * reserved (one time per class) to store such classes, either if Perl
+         * is compiled so that locale nodes always should have this space, or
+         * if there is such class info to be stored.  The space will contain a
+         * bit for each named class that is to be matched against.  This isn't
+         * needed for \p{} and pseudo-classes, as they are not affected by
+         * locale, and hence are dealt with separately */
+        if (LOC
+            && ! need_class
+            && (ANYOF_LOCALE == ANYOF_CLASS
+                || (namedclass > OOB_NAMEDCLASS && namedclass < ANYOF_MAX)))
+        {
+            need_class = 1;
+            if (SIZE_ONLY) {
+                RExC_size += ANYOF_CLASS_SKIP - ANYOF_SKIP;
+            }
+            else {
+                RExC_emit += ANYOF_CLASS_SKIP - ANYOF_SKIP;
+                ANYOF_CLASS_ZERO(ret);
+            }
+            ANYOF_FLAGS(ret) |= ANYOF_CLASS;
+        }
+
 	if (namedclass > OOB_NAMEDCLASS) { /* this is a named class \blah */
 
-	    /* What matches in a locale is not known until runtime, so need to
-	     * (one time per class) allocate extra space to pass to regexec.
-	     * The space will contain a bit for each named class that is to be
-	     * matched against.  This isn't needed for \p{} and pseudo-classes,
-	     * as they are not affected by locale, and hence are dealt with
-	     * separately */
-	    if (LOC && namedclass < ANYOF_MAX && ! need_class) {
-		need_class = 1;
-		if (SIZE_ONLY) {
-		    RExC_size += ANYOF_CLASS_SKIP - ANYOF_SKIP;
-		}
-		else {
-		    RExC_emit += ANYOF_CLASS_SKIP - ANYOF_SKIP;
-		    ANYOF_CLASS_ZERO(ret);
-		}
-		ANYOF_FLAGS(ret) |= ANYOF_CLASS;
-	    }
-
 	    /* a bad range like a-\d, a-[:digit:].  The '-' is taken as a
 	     * literal, as is the character that began the false range, i.e.
 	     * the 'a' in the examples */
 	    if (range) {
 		if (!SIZE_ONLY) {
-		    const int w =
-			RExC_parse >= rangebegin ?
-			RExC_parse - rangebegin : 0;
-		    ckWARN4reg(RExC_parse,
-			       "False [] range \"%*.*s\"",
-			       w, w, rangebegin);
-
-		    stored +=
-                         set_regclass_bit(pRExC_state, ret, '-', &l1_fold_invlist, &unicode_alternate);
-		    if (prevvalue < 256) {
-			stored +=
-                         set_regclass_bit(pRExC_state, ret, (U8) prevvalue, &l1_fold_invlist, &unicode_alternate);
-		    }
-		    else {
-			nonbitmap = add_cp_to_invlist(nonbitmap, prevvalue);
-		    }
+		    const int w = (RExC_parse >= rangebegin)
+                                  ? RExC_parse - rangebegin
+                                  : 0;
+                    if (strict) {
+                        vFAIL4("False [] range \"%*.*s\"", w, w, rangebegin);
+                    }
+                    else {
+                        SAVEFREESV(RExC_rx_sv); /* in case of fatal warnings */
+                        ckWARN4reg(RExC_parse,
+                                "False [] range \"%*.*s\"",
+                                w, w, rangebegin);
+                        (void)ReREFCNT_inc(RExC_rx_sv);
+                        cp_list = add_cp_to_invlist(cp_list, '-');
+                        cp_list = add_cp_to_invlist(cp_list, prevvalue);
+                    }
 		}
 
 		range = 0; /* this was not a true range */
+                element_count += 2; /* So counts for three values */
 	    }
 
+	    if (! SIZE_ONLY) {
+                U8 classnum = namedclass_to_classnum(namedclass);
+                if (namedclass >= ANYOF_MAX) {  /* If a special class */
+                    if (namedclass != ANYOF_UNIPROP) { /* UNIPROP = \p and \P */
 
-    
-	    if (!SIZE_ONLY) {
-		const char *what = NULL;
-		char yesno = 0;
+                        /* Here, should be \h, \H, \v, or \V.  Neither /d nor
+                         * /l make a difference in what these match.  There
+                         * would be problems if these characters had folds
+                         * other than themselves, as cp_list is subject to
+                         * folding. */
+                        if (classnum != _CC_VERTSPACE) {
+                            assert(   namedclass == ANYOF_HORIZWS
+                                   || namedclass == ANYOF_NHORIZWS);
 
-		/* Possible truncation here but in some 64-bit environments
-		 * the compiler gets heartburn about switch on 64-bit values.
-		 * A similar issue a little earlier when switching on value.
-		 * --jhi */
-		switch ((I32)namedclass) {
-		
-		case _C_C_T_(ALNUMC, isALNUMC_L1, isALNUMC, "XPosixAlnum");
-		case _C_C_T_(ALPHA, isALPHA_L1, isALPHA, "XPosixAlpha");
-		case _C_C_T_(BLANK, isBLANK_L1, isBLANK, "XPosixBlank");
-		case _C_C_T_(CNTRL, isCNTRL_L1, isCNTRL, "XPosixCntrl");
-		case _C_C_T_(GRAPH, isGRAPH_L1, isGRAPH, "XPosixGraph");
-		case _C_C_T_(LOWER, isLOWER_L1, isLOWER, "XPosixLower");
-		case _C_C_T_(PRINT, isPRINT_L1, isPRINT, "XPosixPrint");
-		case _C_C_T_(PSXSPC, isPSXSPC_L1, isPSXSPC, "XPosixSpace");
-		case _C_C_T_(PUNCT, isPUNCT_L1, isPUNCT, "XPosixPunct");
-		case _C_C_T_(UPPER, isUPPER_L1, isUPPER, "XPosixUpper");
-                /* \s, \w match all unicode if utf8. */
-                case _C_C_T_(SPACE, isSPACE_L1, isSPACE, "SpacePerl");
-                case _C_C_T_(ALNUM, isWORDCHAR_L1, isALNUM, "Word");
-		case _C_C_T_(XDIGIT, isXDIGIT_L1, isXDIGIT, "XPosixXDigit");
-		case _C_C_T_NOLOC_(VERTWS, is_VERTWS_latin1(&value), "VertSpace");
-		case _C_C_T_NOLOC_(HORIZWS, is_HORIZWS_latin1(&value), "HorizSpace");
-		case ANYOF_ASCII:
-		    if (LOC)
-			ANYOF_CLASS_SET(ret, ANYOF_ASCII);
-		    else {
-			for (value = 0; value < 128; value++)
-			    stored +=
-                              set_regclass_bit(pRExC_state, ret, (U8) ASCII_TO_NATIVE(value), &l1_fold_invlist, &unicode_alternate);
-		    }
-		    yesno = '+';
-		    what = NULL;	/* Doesn't match outside ascii, so
-					   don't want to add +utf8:: */
-		    break;
-		case ANYOF_NASCII:
-		    if (LOC)
-			ANYOF_CLASS_SET(ret, ANYOF_NASCII);
-		    else {
-			for (value = 128; value < 256; value++)
-			    stored +=
-                              set_regclass_bit(pRExC_state, ret, (U8) ASCII_TO_NATIVE(value), &l1_fold_invlist, &unicode_alternate);
-		    }
-		    ANYOF_FLAGS(ret) |= ANYOF_UNICODE_ALL;
-		    yesno = '!';
-		    what = "ASCII";
-		    break;		
-		case ANYOF_DIGIT:
-		    if (LOC)
-			ANYOF_CLASS_SET(ret, ANYOF_DIGIT);
-		    else {
-			/* consecutive digits assumed */
-			for (value = '0'; value <= '9'; value++)
-			    stored +=
-                              set_regclass_bit(pRExC_state, ret, (U8) value, &l1_fold_invlist, &unicode_alternate);
-		    }
-		    yesno = '+';
-		    what = "Digit";
-		    break;
-		case ANYOF_NDIGIT:
-		    if (LOC)
-			ANYOF_CLASS_SET(ret, ANYOF_NDIGIT);
-		    else {
-			/* consecutive digits assumed */
-			for (value = 0; value < '0'; value++)
-			    stored +=
-                              set_regclass_bit(pRExC_state, ret, (U8) value, &l1_fold_invlist, &unicode_alternate);
-			for (value = '9' + 1; value < 256; value++)
-			    stored +=
-                              set_regclass_bit(pRExC_state, ret, (U8) value, &l1_fold_invlist, &unicode_alternate);
-		    }
-		    yesno = '!';
-		    what = "Digit";
-		    if (AT_LEAST_ASCII_RESTRICTED ) {
-			ANYOF_FLAGS(ret) |= ANYOF_UNICODE_ALL;
-		    }
-		    break;		
-		case ANYOF_MAX:
-		    /* this is to handle \p and \P */
-		    break;
-		default:
-		    vFAIL("Invalid [::] class");
-		    break;
-		}
-		if (what && ! (AT_LEAST_ASCII_RESTRICTED)) {
-		    /* Strings such as "+utf8::isWord\n" */
-		    Perl_sv_catpvf(aTHX_ listsv, "%cutf8::Is%s\n", yesno, what);
-		}
+                            /* It turns out that \h is just a synonym for
+                             * XPosixBlank */
+                            classnum = _CC_BLANK;
+                        }
 
-		continue;
+                        _invlist_union_maybe_complement_2nd(
+                                cp_list,
+                                PL_XPosix_ptrs[classnum],
+                                cBOOL(namedclass % 2), /* Complement if odd
+                                                          (NHORIZWS, NVERTWS)
+                                                        */
+                                &cp_list);
+                    }
+                }
+                else if (classnum == _CC_ASCII) {
+#ifdef HAS_ISASCII
+                    if (LOC) {
+                        ANYOF_CLASS_SET(ret, namedclass);
+                    }
+                    else
+#endif  /* Not isascii(); just use the hard-coded definition for it */
+                        _invlist_union_maybe_complement_2nd(
+                                posixes,
+                                PL_ASCII,
+                                cBOOL(namedclass % 2), /* Complement if odd
+                                                          (NASCII) */
+                                &posixes);
+                }
+                else {  /* Garden variety class */
+
+                    /* The ascii range inversion list */
+                    SV* ascii_source = PL_Posix_ptrs[classnum];
+
+                    /* The full Latin1 range inversion list */
+                    SV* l1_source = PL_L1Posix_ptrs[classnum];
+
+                    /* This code is structured into two major clauses.  The
+                     * first is for classes whose complete definitions may not
+                     * already be known.  It not, the Latin1 definition
+                     * (guaranteed to already known) is used plus code is
+                     * generated to load the rest at run-time (only if needed).
+                     * If the complete definition is known, it drops down to
+                     * the second clause, where the complete definition is
+                     * known */
+
+                    if (classnum < _FIRST_NON_SWASH_CC) {
+
+                        /* Here, the class has a swash, which may or not
+                         * already be loaded */
+
+                        /* The name of the property to use to match the full
+                         * eXtended Unicode range swash for this character
+                         * class */
+                        const char *Xname = swash_property_names[classnum];
+
+                        /* If returning the inversion list, we can't defer
+                         * getting this until runtime */
+                        if (ret_invlist && !  PL_utf8_swash_ptrs[classnum]) {
+                            PL_utf8_swash_ptrs[classnum] =
+                                _core_swash_init("utf8", Xname, &PL_sv_undef,
+                                             1, /* binary */
+                                             0, /* not tr/// */
+                                             NULL, /* No inversion list */
+                                             NULL  /* No flags */
+                                            );
+                            assert(PL_utf8_swash_ptrs[classnum]);
+                        }
+                        if ( !  PL_utf8_swash_ptrs[classnum]) {
+                            if (namedclass % 2 == 0) { /* A non-complemented
+                                                          class */
+                                /* If not /a matching, there are code points we
+                                 * don't know at compile time.  Arrange for the
+                                 * unknown matches to be loaded at run-time, if
+                                 * needed */
+                                if (! AT_LEAST_ASCII_RESTRICTED) {
+                                    Perl_sv_catpvf(aTHX_ listsv, "+utf8::%s\n",
+                                                                 Xname);
+                                }
+                                if (LOC) {  /* Under locale, set run-time
+                                               lookup */
+                                    ANYOF_CLASS_SET(ret, namedclass);
+                                }
+                                else {
+                                    /* Add the current class's code points to
+                                     * the running total */
+                                    _invlist_union(posixes,
+                                                   (AT_LEAST_ASCII_RESTRICTED)
+                                                        ? ascii_source
+                                                        : l1_source,
+                                                   &posixes);
+                                }
+                            }
+                            else {  /* A complemented class */
+                                if (AT_LEAST_ASCII_RESTRICTED) {
+                                    /* Under /a should match everything above
+                                     * ASCII, plus the complement of the set's
+                                     * ASCII matches */
+                                    _invlist_union_complement_2nd(posixes,
+                                                                  ascii_source,
+                                                                  &posixes);
+                                }
+                                else {
+                                    /* Arrange for the unknown matches to be
+                                     * loaded at run-time, if needed */
+                                    Perl_sv_catpvf(aTHX_ listsv, "!utf8::%s\n",
+                                                                 Xname);
+                                    runtime_posix_matches_above_Unicode = TRUE;
+                                    if (LOC) {
+                                        ANYOF_CLASS_SET(ret, namedclass);
+                                    }
+                                    else {
+
+                                        /* We want to match everything in
+                                         * Latin1, except those things that
+                                         * l1_source matches */
+                                        SV* scratch_list = NULL;
+                                        _invlist_subtract(PL_Latin1, l1_source,
+                                                          &scratch_list);
+
+                                        /* Add the list from this class to the
+                                         * running total */
+                                        if (! posixes) {
+                                            posixes = scratch_list;
+                                        }
+                                        else {
+                                            _invlist_union(posixes,
+                                                           scratch_list,
+                                                           &posixes);
+                                            SvREFCNT_dec_NN(scratch_list);
+                                        }
+                                        if (DEPENDS_SEMANTICS) {
+                                            ANYOF_FLAGS(ret)
+                                                  |= ANYOF_NON_UTF8_LATIN1_ALL;
+                                        }
+                                    }
+                                }
+                            }
+                            goto namedclass_done;
+                        }
+
+                        /* Here, there is a swash loaded for the class.  If no
+                         * inversion list for it yet, get it */
+                        if (! PL_XPosix_ptrs[classnum]) {
+                            PL_XPosix_ptrs[classnum]
+                             = _swash_to_invlist(PL_utf8_swash_ptrs[classnum]);
+                        }
+                    }
+
+                    /* Here there is an inversion list already loaded for the
+                     * entire class */
+
+                    if (namedclass % 2 == 0) {  /* A non-complemented class,
+                                                   like ANYOF_PUNCT */
+                        if (! LOC) {
+                            /* For non-locale, just add it to any existing list
+                             * */
+                            _invlist_union(posixes,
+                                           (AT_LEAST_ASCII_RESTRICTED)
+                                               ? ascii_source
+                                               : PL_XPosix_ptrs[classnum],
+                                           &posixes);
+                        }
+                        else {  /* Locale */
+                            SV* scratch_list = NULL;
+
+                            /* For above Latin1 code points, we use the full
+                             * Unicode range */
+                            _invlist_intersection(PL_AboveLatin1,
+                                                  PL_XPosix_ptrs[classnum],
+                                                  &scratch_list);
+                            /* And set the output to it, adding instead if
+                             * there already is an output.  Checking if
+                             * 'posixes' is NULL first saves an extra clone.
+                             * Its reference count will be decremented at the
+                             * next union, etc, or if this is the only
+                             * instance, at the end of the routine */
+                            if (! posixes) {
+                                posixes = scratch_list;
+                            }
+                            else {
+                                _invlist_union(posixes, scratch_list, &posixes);
+                                SvREFCNT_dec_NN(scratch_list);
+                            }
+
+#ifndef HAS_ISBLANK
+                            if (namedclass != ANYOF_BLANK) {
+#endif
+                                /* Set this class in the node for runtime
+                                 * matching */
+                                ANYOF_CLASS_SET(ret, namedclass);
+#ifndef HAS_ISBLANK
+                            }
+                            else {
+                                /* No isblank(), use the hard-coded ASCII-range
+                                 * blanks, adding them to the running total. */
+
+                                _invlist_union(posixes, ascii_source, &posixes);
+                            }
+#endif
+                        }
+                    }
+                    else {  /* A complemented class, like ANYOF_NPUNCT */
+                        if (! LOC) {
+                            _invlist_union_complement_2nd(
+                                                posixes,
+                                                (AT_LEAST_ASCII_RESTRICTED)
+                                                    ? ascii_source
+                                                    : PL_XPosix_ptrs[classnum],
+                                                &posixes);
+                            /* Under /d, everything in the upper half of the
+                             * Latin1 range matches this complement */
+                            if (DEPENDS_SEMANTICS) {
+                                ANYOF_FLAGS(ret) |= ANYOF_NON_UTF8_LATIN1_ALL;
+                            }
+                        }
+                        else {  /* Locale */
+                            SV* scratch_list = NULL;
+                            _invlist_subtract(PL_AboveLatin1,
+                                              PL_XPosix_ptrs[classnum],
+                                              &scratch_list);
+                            if (! posixes) {
+                                posixes = scratch_list;
+                            }
+                            else {
+                                _invlist_union(posixes, scratch_list, &posixes);
+                                SvREFCNT_dec_NN(scratch_list);
+                            }
+#ifndef HAS_ISBLANK
+                            if (namedclass != ANYOF_NBLANK) {
+#endif
+                                ANYOF_CLASS_SET(ret, namedclass);
+#ifndef HAS_ISBLANK
+                            }
+                            else {
+                                /* Get the list of all code points in Latin1
+                                 * that are not ASCII blanks, and add them to
+                                 * the running total */
+                                _invlist_subtract(PL_Latin1, ascii_source,
+                                                  &scratch_list);
+                                _invlist_union(posixes, scratch_list, &posixes);
+                                SvREFCNT_dec_NN(scratch_list);
+                            }
+#endif
+                        }
+                    }
+                }
+              namedclass_done:
+		continue;   /* Go get next character */
 	    }
 	} /* end of namedclass \blah */
 
+        /* Here, we have a single value.  If 'range' is set, it is the ending
+         * of a range--check its validity.  Later, we will handle each
+         * individual code point in the range.  If 'range' isn't set, this
+         * could be the beginning of a range, so check for that by looking
+         * ahead to see if the next real character to be processed is the range
+         * indicator--the minus sign */
+
+        if (skip_white) {
+            RExC_parse = regpatws(pRExC_state, RExC_parse,
+                                FALSE /* means don't recognize comments */);
+        }
+
 	if (range) {
-	    if (prevvalue > (IV)value) /* b-a */ {
+	    if (prevvalue > value) /* b-a */ {
 		const int w = RExC_parse - rangebegin;
 		Simple_vFAIL4("Invalid [] range \"%*.*s\"", w, w, rangebegin);
 		range = 0; /* not a valid range */
@@ -9921,32 +12914,53 @@
 	    }
 	}
 	else {
-	    prevvalue = value; /* save the beginning of the range */
-	    if (RExC_parse+1 < RExC_end
-		&& *RExC_parse == '-'
-		&& RExC_parse[1] != ']')
-	    {
-		RExC_parse++;
+            prevvalue = value; /* save the beginning of the potential range */
+            if (! stop_at_1     /* Can't be a range if parsing just one thing */
+                && *RExC_parse == '-')
+            {
+                char* next_char_ptr = RExC_parse + 1;
+                if (skip_white) {   /* Get the next real char after the '-' */
+                    next_char_ptr = regpatws(pRExC_state,
+                                             RExC_parse + 1,
+                                             FALSE); /* means don't recognize
+                                                        comments */
+                }
 
-		/* a bad range like \w-, [:word:]- ? */
-		if (namedclass > OOB_NAMEDCLASS) {
-		    if (ckWARN(WARN_REGEXP)) {
-			const int w =
-			    RExC_parse >= rangebegin ?
-			    RExC_parse - rangebegin : 0;
-			vWARN4(RExC_parse,
-			       "False [] range \"%*.*s\"",
-			       w, w, rangebegin);
-		    }
-		    if (!SIZE_ONLY)
-			stored +=
-                            set_regclass_bit(pRExC_state, ret, '-', &l1_fold_invlist, &unicode_alternate);
-		} else
-		    range = 1;	/* yeah, it's a range! */
-		continue;	/* but do it the next time */
+                /* If the '-' is at the end of the class (just before the ']',
+                 * it is a literal minus; otherwise it is a range */
+                if (next_char_ptr < RExC_end && *next_char_ptr != ']') {
+                    RExC_parse = next_char_ptr;
+
+                    /* a bad range like \w-, [:word:]- ? */
+                    if (namedclass > OOB_NAMEDCLASS) {
+                        if (strict || ckWARN(WARN_REGEXP)) {
+                            const int w =
+                                RExC_parse >= rangebegin ?
+                                RExC_parse - rangebegin : 0;
+                            if (strict) {
+                                vFAIL4("False [] range \"%*.*s\"",
+                                    w, w, rangebegin);
+                            }
+                            else {
+                                vWARN4(RExC_parse,
+                                    "False [] range \"%*.*s\"",
+                                    w, w, rangebegin);
+                            }
+                        }
+                        if (!SIZE_ONLY) {
+                            cp_list = add_cp_to_invlist(cp_list, '-');
+                        }
+                        element_count++;
+                    } else
+                        range = 1;	/* yeah, it's a range! */
+                    continue;	/* but do it the next time */
+                }
 	    }
 	}
 
+        /* Here, <prevvalue> is the beginning of the range, if any; or <value>
+         * if not */
+
 	/* non-Latin1 code point implies unicode semantics.  Must be set in
 	 * pass1 so is there for the whole of pass 2 */
 	if (value > 255) {
@@ -9953,448 +12967,988 @@
 	    RExC_uni_semantics = 1;
 	}
 
-	/* now is the next time */
-	if (!SIZE_ONLY) {
-	    if (prevvalue < 256) {
-	        const IV ceilvalue = value < 256 ? value : 255;
-		IV i;
-#ifdef EBCDIC
-		/* In EBCDIC [\x89-\x91] should include
-		 * the \x8e but [i-j] should not. */
-		if (literal_endpoint == 2 &&
-		    ((isLOWER(prevvalue) && isLOWER(ceilvalue)) ||
-		     (isUPPER(prevvalue) && isUPPER(ceilvalue))))
-		{
-		    if (isLOWER(prevvalue)) {
-			for (i = prevvalue; i <= ceilvalue; i++)
-			    if (isLOWER(i) && !ANYOF_BITMAP_TEST(ret,i)) {
-				stored +=
-                                  set_regclass_bit(pRExC_state, ret, (U8) i, &l1_fold_invlist, &unicode_alternate);
-			    }
-		    } else {
-			for (i = prevvalue; i <= ceilvalue; i++)
-			    if (isUPPER(i) && !ANYOF_BITMAP_TEST(ret,i)) {
-				stored +=
-                                  set_regclass_bit(pRExC_state, ret, (U8) i, &l1_fold_invlist, &unicode_alternate);
-			    }
-		    }
-		}
-		else
+        /* Ready to process either the single value, or the completed range.
+         * For single-valued non-inverted ranges, we consider the possibility
+         * of multi-char folds.  (We made a conscious decision to not do this
+         * for the other cases because it can often lead to non-intuitive
+         * results.  For example, you have the peculiar case that:
+         *  "s s" =~ /^[^\xDF]+$/i => Y
+         *  "ss"  =~ /^[^\xDF]+$/i => N
+         *
+         * See [perl #89750] */
+        if (FOLD && allow_multi_folds && value == prevvalue) {
+            if (value == LATIN_SMALL_LETTER_SHARP_S
+                || (value > 255 && _invlist_contains_cp(PL_HasMultiCharFold,
+                                                        value)))
+            {
+                /* Here <value> is indeed a multi-char fold.  Get what it is */
+
+                U8 foldbuf[UTF8_MAXBYTES_CASE];
+                STRLEN foldlen;
+
+                UV folded = _to_uni_fold_flags(
+                                value,
+                                foldbuf,
+                                &foldlen,
+                                FOLD_FLAGS_FULL
+                                | ((LOC) ?  FOLD_FLAGS_LOCALE
+                                            : (ASCII_FOLD_RESTRICTED)
+                                              ? FOLD_FLAGS_NOMIX_ASCII
+                                              : 0)
+                                );
+
+                /* Here, <folded> should be the first character of the
+                 * multi-char fold of <value>, with <foldbuf> containing the
+                 * whole thing.  But, if this fold is not allowed (because of
+                 * the flags), <fold> will be the same as <value>, and should
+                 * be processed like any other character, so skip the special
+                 * handling */
+                if (folded != value) {
+
+                    /* Skip if we are recursed, currently parsing the class
+                     * again.  Otherwise add this character to the list of
+                     * multi-char folds. */
+                    if (! RExC_in_multi_char_class) {
+                        AV** this_array_ptr;
+                        AV* this_array;
+                        STRLEN cp_count = utf8_length(foldbuf,
+                                                      foldbuf + foldlen);
+                        SV* multi_fold = sv_2mortal(newSVpvn("", 0));
+
+                        Perl_sv_catpvf(aTHX_ multi_fold, "\\x{%"UVXf"}", value);
+
+
+                        if (! multi_char_matches) {
+                            multi_char_matches = newAV();
+                        }
+
+                        /* <multi_char_matches> is actually an array of arrays.
+                         * There will be one or two top-level elements: [2],
+                         * and/or [3].  The [2] element is an array, each
+                         * element thereof is a character which folds to two
+                         * characters; likewise for [3].  (Unicode guarantees a
+                         * maximum of 3 characters in any fold.)  When we
+                         * rewrite the character class below, we will do so
+                         * such that the longest folds are written first, so
+                         * that it prefers the longest matching strings first.
+                         * This is done even if it turns out that any
+                         * quantifier is non-greedy, out of programmer
+                         * laziness.  Tom Christiansen has agreed that this is
+                         * ok.  This makes the test for the ligature 'ffi' come
+                         * before the test for 'ff' */
+                        if (av_exists(multi_char_matches, cp_count)) {
+                            this_array_ptr = (AV**) av_fetch(multi_char_matches,
+                                                             cp_count, FALSE);
+                            this_array = *this_array_ptr;
+                        }
+                        else {
+                            this_array = newAV();
+                            av_store(multi_char_matches, cp_count,
+                                     (SV*) this_array);
+                        }
+                        av_push(this_array, multi_fold);
+                    }
+
+                    /* This element should not be processed further in this
+                     * class */
+                    element_count--;
+                    value = save_value;
+                    prevvalue = save_prevvalue;
+                    continue;
+                }
+            }
+        }
+
+        /* Deal with this element of the class */
+	if (! SIZE_ONLY) {
+#ifndef EBCDIC
+            cp_list = _add_range_to_invlist(cp_list, prevvalue, value);
+#else
+            SV* this_range = _new_invlist(1);
+            _append_range_to_invlist(this_range, prevvalue, value);
+
+            /* In EBCDIC, the ranges 'A-Z' and 'a-z' are each not contiguous.
+             * If this range was specified using something like 'i-j', we want
+             * to include only the 'i' and the 'j', and not anything in
+             * between, so exclude non-ASCII, non-alphabetics from it.
+             * However, if the range was specified with something like
+             * [\x89-\x91] or [\x89-j], all code points within it should be
+             * included.  literal_endpoint==2 means both ends of the range used
+             * a literal character, not \x{foo} */
+	    if (literal_endpoint == 2
+                && (prevvalue >= 'a' && value <= 'z')
+                    || (prevvalue >= 'A' && value <= 'Z'))
+            {
+                _invlist_intersection(this_range, PL_Posix_ptrs[_CC_ALPHA],
+                                      &this_range);
+            }
+            _invlist_union(cp_list, this_range, &cp_list);
+            literal_endpoint = 0;
 #endif
-		      for (i = prevvalue; i <= ceilvalue; i++) {
-			stored += set_regclass_bit(pRExC_state, ret, (U8) i, &l1_fold_invlist, &unicode_alternate);
-	              }
-	  }
-	  if (value > 255) {
-	    const UV prevnatvalue  = NATIVE_TO_UNI(prevvalue);
-	    const UV natvalue      = NATIVE_TO_UNI(value);
-	    nonbitmap = add_range_to_invlist(nonbitmap, prevnatvalue, natvalue);
-	}
-#ifdef EBCDIC
-	    literal_endpoint = 0;
+        }
+
+	range = 0; /* this range (if it was one) is done now */
+    } /* End of loop through all the text within the brackets */
+
+    /* If anything in the class expands to more than one character, we have to
+     * deal with them by building up a substitute parse string, and recursively
+     * calling reg() on it, instead of proceeding */
+    if (multi_char_matches) {
+	SV * substitute_parse = newSVpvn_flags("?:", 2, SVs_TEMP);
+        I32 cp_count;
+	STRLEN len;
+	char *save_end = RExC_end;
+	char *save_parse = RExC_parse;
+        bool first_time = TRUE;     /* First multi-char occurrence doesn't get
+                                       a "|" */
+        I32 reg_flags;
+
+        assert(! invert);
+#if 0   /* Have decided not to deal with multi-char folds in inverted classes,
+           because too confusing */
+        if (invert) {
+            sv_catpv(substitute_parse, "(?:");
+        }
 #endif
+
+        /* Look at the longest folds first */
+        for (cp_count = av_len(multi_char_matches); cp_count > 0; cp_count--) {
+
+            if (av_exists(multi_char_matches, cp_count)) {
+                AV** this_array_ptr;
+                SV* this_sequence;
+
+                this_array_ptr = (AV**) av_fetch(multi_char_matches,
+                                                 cp_count, FALSE);
+                while ((this_sequence = av_pop(*this_array_ptr)) !=
+                                                                &PL_sv_undef)
+                {
+                    if (! first_time) {
+                        sv_catpv(substitute_parse, "|");
+                    }
+                    first_time = FALSE;
+
+                    sv_catpv(substitute_parse, SvPVX(this_sequence));
+                }
+            }
         }
 
-	range = 0; /* this range (if it was one) is done now */
+        /* If the character class contains anything else besides these
+         * multi-character folds, have to include it in recursive parsing */
+        if (element_count) {
+            sv_catpv(substitute_parse, "|[");
+            sv_catpvn(substitute_parse, orig_parse, RExC_parse - orig_parse);
+            sv_catpv(substitute_parse, "]");
+        }
+
+        sv_catpv(substitute_parse, ")");
+#if 0
+        if (invert) {
+            /* This is a way to get the parse to skip forward a whole named
+             * sequence instead of matching the 2nd character when it fails the
+             * first */
+            sv_catpv(substitute_parse, "(*THEN)(*SKIP)(*FAIL)|.)");
+        }
+#endif
+
+	RExC_parse = SvPV(substitute_parse, len);
+	RExC_end = RExC_parse + len;
+        RExC_in_multi_char_class = 1;
+        RExC_emit = (regnode *)orig_emit;
+
+	ret = reg(pRExC_state, 1, &reg_flags, depth+1);
+
+	*flagp |= reg_flags&(HASWIDTH|SIMPLE|SPSTART|POSTPONED|RESTART_UTF8);
+
+	RExC_parse = save_parse;
+	RExC_end = save_end;
+	RExC_in_multi_char_class = 0;
+        SvREFCNT_dec_NN(multi_char_matches);
+        return ret;
     }
 
+    /* If the character class contains only a single element, it may be
+     * optimizable into another node type which is smaller and runs faster.
+     * Check if this is the case for this class */
+    if (element_count == 1 && ! ret_invlist) {
+        U8 op = END;
+        U8 arg = 0;
 
+        if (namedclass > OOB_NAMEDCLASS) { /* this is a named class, like \w or
+                                              [:digit:] or \p{foo} */
 
+            /* All named classes are mapped into POSIXish nodes, with its FLAG
+             * argument giving which class it is */
+            switch ((I32)namedclass) {
+                case ANYOF_UNIPROP:
+                    break;
+
+                /* These don't depend on the charset modifiers.  They always
+                 * match under /u rules */
+                case ANYOF_NHORIZWS:
+                case ANYOF_HORIZWS:
+                    namedclass = ANYOF_BLANK + namedclass - ANYOF_HORIZWS;
+                    /* FALLTHROUGH */
+
+                case ANYOF_NVERTWS:
+                case ANYOF_VERTWS:
+                    op = POSIXU;
+                    goto join_posix;
+
+                /* The actual POSIXish node for all the rest depends on the
+                 * charset modifier.  The ones in the first set depend only on
+                 * ASCII or, if available on this platform, locale */
+                case ANYOF_ASCII:
+                case ANYOF_NASCII:
+#ifdef HAS_ISASCII
+                    op = (LOC) ? POSIXL : POSIXA;
+#else
+                    op = POSIXA;
+#endif
+                    goto join_posix;
+
+                case ANYOF_NCASED:
+                case ANYOF_LOWER:
+                case ANYOF_NLOWER:
+                case ANYOF_UPPER:
+                case ANYOF_NUPPER:
+                    /* under /a could be alpha */
+                    if (FOLD) {
+                        if (ASCII_RESTRICTED) {
+                            namedclass = ANYOF_ALPHA + (namedclass % 2);
+                        }
+                        else if (! LOC) {
+                            break;
+                        }
+                    }
+                    /* FALLTHROUGH */
+
+                /* The rest have more possibilities depending on the charset.
+                 * We take advantage of the enum ordering of the charset
+                 * modifiers to get the exact node type, */
+                default:
+                    op = POSIXD + get_regex_charset(RExC_flags);
+                    if (op > POSIXA) { /* /aa is same as /a */
+                        op = POSIXA;
+                    }
+#ifndef HAS_ISBLANK
+                    if (op == POSIXL
+                        && (namedclass == ANYOF_BLANK
+                            || namedclass == ANYOF_NBLANK))
+                    {
+                        op = POSIXA;
+                    }
+#endif
+
+                join_posix:
+                    /* The odd numbered ones are the complements of the
+                     * next-lower even number one */
+                    if (namedclass % 2 == 1) {
+                        invert = ! invert;
+                        namedclass--;
+                    }
+                    arg = namedclass_to_classnum(namedclass);
+                    break;
+            }
+        }
+        else if (value == prevvalue) {
+
+            /* Here, the class consists of just a single code point */
+
+            if (invert) {
+                if (! LOC && value == '\n') {
+                    op = REG_ANY; /* Optimize [^\n] */
+                    *flagp |= HASWIDTH|SIMPLE;
+                    RExC_naughty++;
+                }
+            }
+            else if (value < 256 || UTF) {
+
+                /* Optimize a single value into an EXACTish node, but not if it
+                 * would require converting the pattern to UTF-8. */
+                op = compute_EXACTish(pRExC_state);
+            }
+        } /* Otherwise is a range */
+        else if (! LOC) {   /* locale could vary these */
+            if (prevvalue == '0') {
+                if (value == '9') {
+                    arg = _CC_DIGIT;
+                    op = POSIXA;
+                }
+            }
+        }
+
+        /* Here, we have changed <op> away from its initial value iff we found
+         * an optimization */
+        if (op != END) {
+
+            /* Throw away this ANYOF regnode, and emit the calculated one,
+             * which should correspond to the beginning, not current, state of
+             * the parse */
+            const char * cur_parse = RExC_parse;
+            RExC_parse = (char *)orig_parse;
+            if ( SIZE_ONLY) {
+                if (! LOC) {
+
+                    /* To get locale nodes to not use the full ANYOF size would
+                     * require moving the code above that writes the portions
+                     * of it that aren't in other nodes to after this point.
+                     * e.g.  ANYOF_CLASS_SET */
+                    RExC_size = orig_size;
+                }
+            }
+            else {
+                RExC_emit = (regnode *)orig_emit;
+                if (PL_regkind[op] == POSIXD) {
+                    if (invert) {
+                        op += NPOSIXD - POSIXD;
+                    }
+                }
+            }
+
+            ret = reg_node(pRExC_state, op);
+
+            if (PL_regkind[op] == POSIXD || PL_regkind[op] == NPOSIXD) {
+                if (! SIZE_ONLY) {
+                    FLAGS(ret) = arg;
+                }
+                *flagp |= HASWIDTH|SIMPLE;
+            }
+            else if (PL_regkind[op] == EXACT) {
+                alloc_maybe_populate_EXACT(pRExC_state, ret, flagp, 0, value);
+            }
+
+            RExC_parse = (char *) cur_parse;
+
+            SvREFCNT_dec(posixes);
+            SvREFCNT_dec(cp_list);
+            return ret;
+        }
+    }
+
     if (SIZE_ONLY)
         return ret;
-    /****** !SIZE_ONLY AFTER HERE *********/
+    /****** !SIZE_ONLY (Pass 2) AFTER HERE *********/
 
-    /* If folding and there are code points above 255, we calculate all
-     * characters that could fold to or from the ones already on the list */
-    if (FOLD && nonbitmap) {
-	UV i;
+    /* If folding, we calculate all characters that could fold to or from the
+     * ones already on the list */
+    if (FOLD && cp_list) {
+	UV start, end;	/* End points of code point ranges */
 
-	HV* fold_intersection;
-	UV* fold_list;
+	SV* fold_intersection = NULL;
 
-	/* This is a list of all the characters that participate in folds
-	    * (except marks, etc in multi-char folds */
-	if (! PL_utf8_foldable) {
-	    SV* swash = swash_init("utf8", "Cased", &PL_sv_undef, 1, 0);
-	    PL_utf8_foldable = _swash_to_invlist(swash);
-	}
+        /* If the highest code point is within Latin1, we can use the
+         * compiled-in Alphas list, and not have to go out to disk.  This
+         * yields two false positives, the masculine and feminine ordinal
+         * indicators, which are weeded out below using the
+         * IS_IN_SOME_FOLD_L1() macro */
+        if (invlist_highest(cp_list) < 256) {
+            _invlist_intersection(PL_L1Posix_ptrs[_CC_ALPHA], cp_list,
+                                                           &fold_intersection);
+        }
+        else {
 
-	/* This is a hash that for a particular fold gives all characters
-	    * that are involved in it */
-	if (! PL_utf8_foldclosures) {
+            /* Here, there are non-Latin1 code points, so we will have to go
+             * fetch the list of all the characters that participate in folds
+             */
+            if (! PL_utf8_foldable) {
+                SV* swash = swash_init("utf8", "_Perl_Any_Folds",
+                                       &PL_sv_undef, 1, 0);
+                PL_utf8_foldable = _get_swash_invlist(swash);
+                SvREFCNT_dec_NN(swash);
+            }
 
-	    /* If we were unable to find any folds, then we likely won't be
-	     * able to find the closures.  So just create an empty list.
-	     * Folding will effectively be restricted to the non-Unicode rules
-	     * hard-coded into Perl.  (This case happens legitimately during
-	     * compilation of Perl itself before the Unicode tables are
-	     * generated) */
-	    if (invlist_len(PL_utf8_foldable) == 0) {
-		PL_utf8_foldclosures = _new_invlist(0);
-	    } else {
-		/* If the folds haven't been read in, call a fold function
-		    * to force that */
-		if (! PL_utf8_tofold) {
-		    U8 dummy[UTF8_MAXBYTES+1];
-		    STRLEN dummy_len;
-		    to_utf8_fold((U8*) "A", dummy, &dummy_len);
-		}
-		PL_utf8_foldclosures = _swash_inversion_hash(PL_utf8_tofold);
-	    }
-	}
+            /* This is a hash that for a particular fold gives all characters
+             * that are involved in it */
+            if (! PL_utf8_foldclosures) {
 
-	/* Only the characters in this class that participate in folds need
-	    * be checked.  Get the intersection of this class and all the
-	    * possible characters that are foldable.  This can quickly narrow
-	    * down a large class */
-	fold_intersection = invlist_intersection(PL_utf8_foldable, nonbitmap);
+                /* If we were unable to find any folds, then we likely won't be
+                 * able to find the closures.  So just create an empty list.
+                 * Folding will effectively be restricted to the non-Unicode
+                 * rules hard-coded into Perl.  (This case happens legitimately
+                 * during compilation of Perl itself before the Unicode tables
+                 * are generated) */
+                if (_invlist_len(PL_utf8_foldable) == 0) {
+                    PL_utf8_foldclosures = newHV();
+                }
+                else {
+                    /* If the folds haven't been read in, call a fold function
+                     * to force that */
+                    if (! PL_utf8_tofold) {
+                        U8 dummy[UTF8_MAXBYTES+1];
 
+                        /* This string is just a short named one above \xff */
+                        to_utf8_fold((U8*) HYPHEN_UTF8, dummy, NULL);
+                        assert(PL_utf8_tofold); /* Verify that worked */
+                    }
+                    PL_utf8_foldclosures =
+                                    _swash_inversion_hash(PL_utf8_tofold);
+                }
+            }
+
+            /* Only the characters in this class that participate in folds need
+             * be checked.  Get the intersection of this class and all the
+             * possible characters that are foldable.  This can quickly narrow
+             * down a large class */
+            _invlist_intersection(PL_utf8_foldable, cp_list,
+                                  &fold_intersection);
+        }
+
 	/* Now look at the foldable characters in this class individually */
-	fold_list = invlist_array(fold_intersection);
-	for (i = 0; i < invlist_len(fold_intersection); i++) {
+	invlist_iterinit(fold_intersection);
+	while (invlist_iternext(fold_intersection, &start, &end)) {
 	    UV j;
 
-	    /* The next entry is the beginning of the range that is in the
-	     * class */
-	    UV start = fold_list[i++];
+            /* Locale folding for Latin1 characters is deferred until runtime */
+            if (LOC && start < 256) {
+                start = 256;
+            }
 
-
-	    /* The next entry is the beginning of the next range, which
-		* isn't in the class, so the end of the current range is one
-		* less than that */
-	    UV end = fold_list[i] - 1;
-
 	    /* Look at every character in the range */
 	    for (j = start; j <= end; j++) {
 
-		/* Get its fold */
 		U8 foldbuf[UTF8_MAXBYTES_CASE+1];
 		STRLEN foldlen;
-		const UV f =
-                    _to_uni_fold_flags(j, foldbuf, &foldlen, allow_full_fold);
+                SV** listp;
 
-		if (foldlen > (STRLEN)UNISKIP(f)) {
+                if (j < 256) {
 
-		    /* Any multicharacter foldings (disallowed in
-			* lookbehind patterns) require the following
-			* transform: [ABCDEF] -> (?:[ABCabcDEFd]|pq|rst) where
-			* E folds into "pq" and F folds into "rst", all other
-			* characters fold to single characters.  We save away
-			* these multicharacter foldings, to be later saved as
-			* part of the additional "s" data. */
-		    if (! RExC_in_lookbehind) {
-			U8* loc = foldbuf;
-			U8* e = foldbuf + foldlen;
+                    /* We have the latin1 folding rules hard-coded here so that
+                     * an innocent-looking character class, like /[ks]/i won't
+                     * have to go out to disk to find the possible matches.
+                     * XXX It would be better to generate these via regen, in
+                     * case a new version of the Unicode standard adds new
+                     * mappings, though that is not really likely, and may be
+                     * caught by the default: case of the switch below. */
 
-			/* If any of the folded characters of this are in
-			    * the Latin1 range, tell the regex engine that
-			    * this can match a non-utf8 target string.  The
-			    * only multi-byte fold whose source is in the
-			    * Latin1 range (U+00DF) applies only when the
-			    * target string is utf8, or under unicode rules */
-			if (j > 255 || AT_LEAST_UNI_SEMANTICS) {
-			    while (loc < e) {
+                    if (IS_IN_SOME_FOLD_L1(j)) {
 
-				/* Can't mix ascii with non- under /aa */
-				if (MORE_ASCII_RESTRICTED
-				    && (isASCII(*loc) != isASCII(j)))
-				{
-				    goto end_multi_fold;
-				}
-				if (UTF8_IS_INVARIANT(*loc)
-				    || UTF8_IS_DOWNGRADEABLE_START(*loc))
-				{
-				    /* Can't mix above and below 256 under
-					* LOC */
-				    if (LOC) {
-					goto end_multi_fold;
-				    }
-				    ANYOF_FLAGS(ret)
-					    |= ANYOF_NONBITMAP_NON_UTF8;
-				    break;
-				}
-				loc += UTF8SKIP(loc);
-			    }
-			}
+                        /* ASCII is always matched; non-ASCII is matched only
+                         * under Unicode rules */
+                        if (isASCII(j) || AT_LEAST_UNI_SEMANTICS) {
+                            cp_list =
+                                add_cp_to_invlist(cp_list, PL_fold_latin1[j]);
+                        }
+                        else {
+                            depends_list =
+                             add_cp_to_invlist(depends_list, PL_fold_latin1[j]);
+                        }
+                    }
 
-			add_alternate(&unicode_alternate, foldbuf, foldlen);
-		    end_multi_fold: ;
-		    }
+                    if (HAS_NONLATIN1_FOLD_CLOSURE(j)
+                        && (! isASCII(j) || ! ASCII_FOLD_RESTRICTED))
+                    {
+                        /* Certain Latin1 characters have matches outside
+                         * Latin1.  To get here, <j> is one of those
+                         * characters.   None of these matches is valid for
+                         * ASCII characters under /aa, which is why the 'if'
+                         * just above excludes those.  These matches only
+                         * happen when the target string is utf8.  The code
+                         * below adds the single fold closures for <j> to the
+                         * inversion list. */
+                        switch (j) {
+                            case 'k':
+                            case 'K':
+                                cp_list =
+                                    add_cp_to_invlist(cp_list, KELVIN_SIGN);
+                                break;
+                            case 's':
+                            case 'S':
+                                cp_list = add_cp_to_invlist(cp_list,
+                                                    LATIN_SMALL_LETTER_LONG_S);
+                                break;
+                            case MICRO_SIGN:
+                                cp_list = add_cp_to_invlist(cp_list,
+                                                    GREEK_CAPITAL_LETTER_MU);
+                                cp_list = add_cp_to_invlist(cp_list,
+                                                    GREEK_SMALL_LETTER_MU);
+                                break;
+                            case LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE:
+                            case LATIN_SMALL_LETTER_A_WITH_RING_ABOVE:
+                                cp_list =
+                                    add_cp_to_invlist(cp_list, ANGSTROM_SIGN);
+                                break;
+                            case LATIN_SMALL_LETTER_Y_WITH_DIAERESIS:
+                                cp_list = add_cp_to_invlist(cp_list,
+                                        LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS);
+                                break;
+                            case LATIN_SMALL_LETTER_SHARP_S:
+                                cp_list = add_cp_to_invlist(cp_list,
+                                                LATIN_CAPITAL_LETTER_SHARP_S);
+                                break;
+                            case 'F': case 'f':
+                            case 'I': case 'i':
+                            case 'L': case 'l':
+                            case 'T': case 't':
+                            case 'A': case 'a':
+                            case 'H': case 'h':
+                            case 'J': case 'j':
+                            case 'N': case 'n':
+                            case 'W': case 'w':
+                            case 'Y': case 'y':
+                                /* These all are targets of multi-character
+                                 * folds from code points that require UTF8 to
+                                 * express, so they can't match unless the
+                                 * target string is in UTF-8, so no action here
+                                 * is necessary, as regexec.c properly handles
+                                 * the general case for UTF-8 matching and
+                                 * multi-char folds */
+                                break;
+                            default:
+                                /* Use deprecated warning to increase the
+                                 * chances of this being output */
+                                ckWARN2regdep(RExC_parse, "Perl folding rules are not up-to-date for 0x%"UVXf"; please use the perlbug utility to report;", j);
+                                break;
+                        }
+                    }
+                    continue;
+                }
 
-		    /* This is special-cased, as it is the only letter which
-		     * has both a multi-fold and single-fold in Latin1.  All
-		     * the other chars that have single and multi-folds are
-		     * always in utf8, and the utf8 folding algorithm catches
-		     * them */
-		    if (! LOC && j == LATIN_CAPITAL_LETTER_SHARP_S) {
-			stored += set_regclass_bit(pRExC_state,
-					ret,
-					LATIN_SMALL_LETTER_SHARP_S,
-					&l1_fold_invlist, &unicode_alternate);
-		    }
-		}
-		else {
-		    /* Single character fold.  Add everything in its fold
-			* closure to the list that this node should match */
-		    SV** listp;
+                /* Here is an above Latin1 character.  We don't have the rules
+                 * hard-coded for it.  First, get its fold.  This is the simple
+                 * fold, as the multi-character folds have been handled earlier
+                 * and separated out */
+		_to_uni_fold_flags(j, foldbuf, &foldlen,
+                                               ((LOC)
+                                               ? FOLD_FLAGS_LOCALE
+                                               : (ASCII_FOLD_RESTRICTED)
+                                                  ? FOLD_FLAGS_NOMIX_ASCII
+                                                  : 0));
 
-		    /* The fold closures data structure is a hash with the
-			* keys being every character that is folded to, like
-			* 'k', and the values each an array of everything that
-			* folds to its key.  e.g. [ 'k', 'K', KELVIN_SIGN ] */
-		    if ((listp = hv_fetch(PL_utf8_foldclosures,
-				    (char *) foldbuf, foldlen, FALSE)))
-		    {
-			AV* list = (AV*) *listp;
-			IV k;
-			for (k = 0; k <= av_len(list); k++) {
-			    SV** c_p = av_fetch(list, k, FALSE);
-			    UV c;
-			    if (c_p == NULL) {
-				Perl_croak(aTHX_ "panic: invalid PL_utf8_foldclosures structure");
-			    }
-			    c = SvUV(*c_p);
+                /* Single character fold of above Latin1.  Add everything in
+                 * its fold closure to the list that this node should match.
+                 * The fold closures data structure is a hash with the keys
+                 * being the UTF-8 of every character that is folded to, like
+                 * 'k', and the values each an array of all code points that
+                 * fold to its key.  e.g. [ 'k', 'K', KELVIN_SIGN ].
+                 * Multi-character folds are not included */
+                if ((listp = hv_fetch(PL_utf8_foldclosures,
+                                      (char *) foldbuf, foldlen, FALSE)))
+                {
+                    AV* list = (AV*) *listp;
+                    IV k;
+                    for (k = 0; k <= av_len(list); k++) {
+                        SV** c_p = av_fetch(list, k, FALSE);
+                        UV c;
+                        if (c_p == NULL) {
+                            Perl_croak(aTHX_ "panic: invalid PL_utf8_foldclosures structure");
+                        }
+                        c = SvUV(*c_p);
 
-			    /* /aa doesn't allow folds between ASCII and
-				* non-; /l doesn't allow them between above
-				* and below 256 */
-			    if ((MORE_ASCII_RESTRICTED
-				 && (isASCII(c) != isASCII(j)))
-				    || (LOC && ((c < 256) != (j < 256))))
-			    {
-				continue;
-			    }
+                        /* /aa doesn't allow folds between ASCII and non-; /l
+                         * doesn't allow them between above and below 256 */
+                        if ((ASCII_FOLD_RESTRICTED
+                                  && (isASCII(c) != isASCII(j)))
+                            || (LOC && ((c < 256) != (j < 256))))
+                        {
+                            continue;
+                        }
 
-			    if (c < 256 && AT_LEAST_UNI_SEMANTICS) {
-				stored += set_regclass_bit(pRExC_state,
-					ret,
-					(U8) c,
-					&l1_fold_invlist, &unicode_alternate);
-			    }
-				/* It may be that the code point is already
-				    * in this range or already in the bitmap,
-				    * in which case we need do nothing */
-			    else if ((c < start || c > end)
-					&& (c > 255
-					    || ! ANYOF_BITMAP_TEST(ret, c)))
-			    {
-				nonbitmap = add_cp_to_invlist(nonbitmap, c);
-			    }
-			}
-		    }
-		}
-	    }
+                        /* Folds involving non-ascii Latin1 characters
+                         * under /d are added to a separate list */
+                        if (isASCII(c) || c > 255 || AT_LEAST_UNI_SEMANTICS)
+                        {
+                            cp_list = add_cp_to_invlist(cp_list, c);
+                        }
+                        else {
+                          depends_list = add_cp_to_invlist(depends_list, c);
+                        }
+                    }
+                }
+            }
 	}
-	invlist_destroy(fold_intersection);
+	SvREFCNT_dec_NN(fold_intersection);
     }
 
-    /* Combine the two lists into one. */
-    if (l1_fold_invlist) {
-	if (nonbitmap) {
-	    HV* temp = invlist_union(nonbitmap, l1_fold_invlist);
-	    invlist_destroy(nonbitmap);
-	    nonbitmap = temp;
-	    invlist_destroy(l1_fold_invlist);
-	}
-	else {
-	    nonbitmap = l1_fold_invlist;
-	}
+    /* And combine the result (if any) with any inversion list from posix
+     * classes.  The lists are kept separate up to now because we don't want to
+     * fold the classes (folding of those is automatically handled by the swash
+     * fetching code) */
+    if (posixes) {
+        if (! DEPENDS_SEMANTICS) {
+            if (cp_list) {
+                _invlist_union(cp_list, posixes, &cp_list);
+                SvREFCNT_dec_NN(posixes);
+            }
+            else {
+                cp_list = posixes;
+            }
+        }
+        else {
+            /* Under /d, we put into a separate list the Latin1 things that
+             * match only when the target string is utf8 */
+            SV* nonascii_but_latin1_properties = NULL;
+            _invlist_intersection(posixes, PL_Latin1,
+                                  &nonascii_but_latin1_properties);
+            _invlist_subtract(nonascii_but_latin1_properties, PL_ASCII,
+                              &nonascii_but_latin1_properties);
+            _invlist_subtract(posixes, nonascii_but_latin1_properties,
+                              &posixes);
+            if (cp_list) {
+                _invlist_union(cp_list, posixes, &cp_list);
+                SvREFCNT_dec_NN(posixes);
+            }
+            else {
+                cp_list = posixes;
+            }
+
+            if (depends_list) {
+                _invlist_union(depends_list, nonascii_but_latin1_properties,
+                               &depends_list);
+                SvREFCNT_dec_NN(nonascii_but_latin1_properties);
+            }
+            else {
+                depends_list = nonascii_but_latin1_properties;
+            }
+        }
     }
 
+    /* And combine the result (if any) with any inversion list from properties.
+     * The lists are kept separate up to now so that we can distinguish the two
+     * in regards to matching above-Unicode.  A run-time warning is generated
+     * if a Unicode property is matched against a non-Unicode code point. But,
+     * we allow user-defined properties to match anything, without any warning,
+     * and we also suppress the warning if there is a portion of the character
+     * class that isn't a Unicode property, and which matches above Unicode, \W
+     * or [\x{110000}] for example.
+     * (Note that in this case, unlike the Posix one above, there is no
+     * <depends_list>, because having a Unicode property forces Unicode
+     * semantics */
+    if (properties) {
+        bool warn_super = ! has_user_defined_property;
+        if (cp_list) {
+
+            /* If it matters to the final outcome, see if a non-property
+             * component of the class matches above Unicode.  If so, the
+             * warning gets suppressed.  This is true even if just a single
+             * such code point is specified, as though not strictly correct if
+             * another such code point is matched against, the fact that they
+             * are using above-Unicode code points indicates they should know
+             * the issues involved */
+            if (warn_super) {
+                bool non_prop_matches_above_Unicode =
+                            runtime_posix_matches_above_Unicode
+                            | (invlist_highest(cp_list) > PERL_UNICODE_MAX);
+                if (invert) {
+                    non_prop_matches_above_Unicode =
+                                            !  non_prop_matches_above_Unicode;
+                }
+                warn_super = ! non_prop_matches_above_Unicode;
+            }
+
+            _invlist_union(properties, cp_list, &cp_list);
+            SvREFCNT_dec_NN(properties);
+        }
+        else {
+            cp_list = properties;
+        }
+
+        if (warn_super) {
+            OP(ret) = ANYOF_WARN_SUPER;
+        }
+    }
+
     /* Here, we have calculated what code points should be in the character
-     * class.   Now we can see about various optimizations.  Fold calculation
-     * needs to take place before inversion.  Otherwise /[^k]/i would invert to
-     * include K, which under /i would match k. */
+     * class.
+     *
+     * Now we can see about various optimizations.  Fold calculation (which we
+     * did above) needs to take place before inversion.  Otherwise /[^k]/i
+     * would invert to include K, which under /i would match k, which it
+     * shouldn't.  Therefore we can't invert folded locale now, as it won't be
+     * folded until runtime */
 
-    /* Optimize inverted simple patterns (e.g. [^a-z]).  Note that we haven't
-     * set the FOLD flag yet, so this this does optimize those.  It doesn't
-     * optimize locale.  Doing so perhaps could be done as long as there is
-     * nothing like \w in it; some thought also would have to be given to the
-     * interaction with above 0x100 chars */
-    if (! LOC
-	&& (ANYOF_FLAGS(ret) & ANYOF_FLAGS_ALL) == ANYOF_INVERT
-	&& ! unicode_alternate
-	&& ! nonbitmap
-	&& SvCUR(listsv) == initial_listsv_len)
+    /* Optimize inverted simple patterns (e.g. [^a-z]) when everything is known
+     * at compile time.  Besides not inverting folded locale now, we can't
+     * invert if there are things such as \w, which aren't known until runtime
+     * */
+    if (invert
+        && ! (LOC && (FOLD || (ANYOF_FLAGS(ret) & ANYOF_CLASS)))
+	&& ! depends_list
+	&& ! HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION)
     {
-	for (value = 0; value < ANYOF_BITMAP_SIZE; ++value)
-	    ANYOF_BITMAP(ret)[value] ^= 0xFF;
-	stored = 256 - stored;
+        _invlist_invert(cp_list);
 
-	/* The inversion means that everything above 255 is matched; and at the
-	 * same time we clear the invert flag */
-	ANYOF_FLAGS(ret) = ANYOF_UNICODE_ALL;
+        /* Any swash can't be used as-is, because we've inverted things */
+        if (swash) {
+            SvREFCNT_dec_NN(swash);
+            swash = NULL;
+        }
+
+	/* Clear the invert flag since have just done it here */
+	invert = FALSE;
     }
 
-    /* Folding in the bitmap is taken care of above, but not for locale (for
-     * which we have to wait to see what folding is in effect at runtime), and
-     * for things not in the bitmap.  Set run-time fold flag for these */
-    if (FOLD && (LOC || nonbitmap || unicode_alternate)) {
-	ANYOF_FLAGS(ret) |= ANYOF_LOC_NONBITMAP_FOLD;
+    if (ret_invlist) {
+        *ret_invlist = cp_list;
+        SvREFCNT_dec(swash);
+
+        /* Discard the generated node */
+        if (SIZE_ONLY) {
+            RExC_size = orig_size;
+        }
+        else {
+            RExC_emit = orig_emit;
+        }
+        return orig_emit;
     }
 
-    /* A single character class can be "optimized" into an EXACTish node.
-     * Note that since we don't currently count how many characters there are
-     * outside the bitmap, we are XXX missing optimization possibilities for
-     * them.  This optimization can't happen unless this is a truly single
-     * character class, which means that it can't be an inversion into a
-     * many-character class, and there must be no possibility of there being
-     * things outside the bitmap.  'stored' (only) for locales doesn't include
-     * \w, etc, so have to make a special test that they aren't present
-     *
-     * Similarly A 2-character class of the very special form like [bB] can be
-     * optimized into an EXACTFish node, but only for non-locales, and for
-     * characters which only have the two folds; so things like 'fF' and 'Ii'
-     * wouldn't work because they are part of the fold of 'LATIN SMALL LIGATURE
-     * FI'. */
-    if (! nonbitmap
-	&& ! unicode_alternate
-	&& SvCUR(listsv) == initial_listsv_len
-	&& ! (ANYOF_FLAGS(ret) & (ANYOF_INVERT|ANYOF_UNICODE_ALL))
-        && (((stored == 1 && ((! (ANYOF_FLAGS(ret) & ANYOF_LOCALE))
-                              || (! ANYOF_CLASS_TEST_ANY_SET(ret)))))
-	    || (stored == 2 && ((! (ANYOF_FLAGS(ret) & ANYOF_LOCALE))
-				 && (! _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(value))
-				 /* If the latest code point has a fold whose
-				  * bit is set, it must be the only other one */
-				&& ((prevvalue = PL_fold_latin1[value]) != (IV)value)
-				 && ANYOF_BITMAP_TEST(ret, prevvalue)))))
+    /* If we didn't do folding, it's because some information isn't available
+     * until runtime; set the run-time fold flag for these.  (We don't have to
+     * worry about properties folding, as that is taken care of by the swash
+     * fetching) */
+    if (FOLD && LOC)
     {
-        /* Note that the information needed to decide to do this optimization
-         * is not currently available until the 2nd pass, and that the actually
-	 * used EXACTish node takes less space than the calculated ANYOF node,
-	 * and hence the amount of space calculated in the first pass is larger
-         * than actually used, so this optimization doesn't gain us any space.
-	 * But an EXACT node is faster than an ANYOF node, and can be combined
-	 * with any adjacent EXACT nodes later by the optimizer for further
-	 * gains.  The speed of executing an EXACTF is similar to an ANYOF
-	 * node, so the optimization advantage comes from the ability to join
-	 * it to adjacent EXACT nodes */
+       ANYOF_FLAGS(ret) |= ANYOF_LOC_FOLD;
+    }
 
+    /* Some character classes are equivalent to other nodes.  Such nodes take
+     * up less room and generally fewer operations to execute than ANYOF nodes.
+     * Above, we checked for and optimized into some such equivalents for
+     * certain common classes that are easy to test.  Getting to this point in
+     * the code means that the class didn't get optimized there.  Since this
+     * code is only executed in Pass 2, it is too late to save space--it has
+     * been allocated in Pass 1, and currently isn't given back.  But turning
+     * things into an EXACTish node can allow the optimizer to join it to any
+     * adjacent such nodes.  And if the class is equivalent to things like /./,
+     * expensive run-time swashes can be avoided.  Now that we have more
+     * complete information, we can find things necessarily missed by the
+     * earlier code.  I (khw) am not sure how much to look for here.  It would
+     * be easy, but perhaps too slow, to check any candidates against all the
+     * node types they could possibly match using _invlistEQ(). */
+
+    if (cp_list
+        && ! invert
+        && ! depends_list
+        && ! (ANYOF_FLAGS(ret) & ANYOF_CLASS)
+        && ! HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION)
+    {
+        UV start, end;
+        U8 op = END;  /* The optimzation node-type */
         const char * cur_parse= RExC_parse;
-	U8 op;
-        RExC_emit = (regnode *)orig_emit;
-        RExC_parse = (char *)orig_parse;
 
-	if (stored == 1) {
+        invlist_iterinit(cp_list);
+        if (! invlist_iternext(cp_list, &start, &end)) {
 
-	    /* A locale node with one point can be folded; all the other cases
-	     * with folding will have two points, since we calculate them above
-	     */
-	    if (ANYOF_FLAGS(ret) & ANYOF_LOC_NONBITMAP_FOLD) {
-		 op = EXACTFL;
-	    }
-	    else {
-		op = EXACT;
-	    }
-	}   /* else 2 chars in the bit map: the folds of each other */
-	else if (AT_LEAST_UNI_SEMANTICS || !isASCII(value)) {
+            /* Here, the list is empty.  This happens, for example, when a
+             * Unicode property is the only thing in the character class, and
+             * it doesn't match anything.  (perluniprops.pod notes such
+             * properties) */
+            op = OPFAIL;
+            *flagp |= HASWIDTH|SIMPLE;
+        }
+        else if (start == end) {    /* The range is a single code point */
+            if (! invlist_iternext(cp_list, &start, &end)
 
-	    /* To join adjacent nodes, they must be the exact EXACTish type.
-	     * Try to use the most likely type, by using EXACTFU if the regex
-	     * calls for them, or is required because the character is
-	     * non-ASCII */
-	    op = EXACTFU;
-	}
-	else {    /* Otherwise, more likely to be EXACTF type */
-	    op = EXACTF;
-	}
+                    /* Don't do this optimization if it would require changing
+                     * the pattern to UTF-8 */
+                && (start < 256 || UTF))
+            {
+                /* Here, the list contains a single code point.  Can optimize
+                 * into an EXACT node */
 
-	ret = reg_node(pRExC_state, op);
-        RExC_parse = (char *)cur_parse;
-	if (UTF && ! NATIVE_IS_INVARIANT(value)) {
-	    *STRING(ret)= UTF8_EIGHT_BIT_HI((U8) value);
-	    *(STRING(ret) + 1)= UTF8_EIGHT_BIT_LO((U8) value);
-	    STR_LEN(ret)= 2;
-	    RExC_emit += STR_SZ(2);
-	}
-	else {
-	    *STRING(ret)= (char)value;
-	    STR_LEN(ret)= 1;
-	    RExC_emit += STR_SZ(1);
-	}
-	SvREFCNT_dec(listsv);
-        return ret;
+                value = start;
+
+                if (! FOLD) {
+                    op = EXACT;
+                }
+                else if (LOC) {
+
+                    /* A locale node under folding with one code point can be
+                     * an EXACTFL, as its fold won't be calculated until
+                     * runtime */
+                    op = EXACTFL;
+                }
+                else {
+
+                    /* Here, we are generally folding, but there is only one
+                     * code point to match.  If we have to, we use an EXACT
+                     * node, but it would be better for joining with adjacent
+                     * nodes in the optimization pass if we used the same
+                     * EXACTFish node that any such are likely to be.  We can
+                     * do this iff the code point doesn't participate in any
+                     * folds.  For example, an EXACTF of a colon is the same as
+                     * an EXACT one, since nothing folds to or from a colon. */
+                    if (value < 256) {
+                        if (IS_IN_SOME_FOLD_L1(value)) {
+                            op = EXACT;
+                        }
+                    }
+                    else {
+                        if (! PL_utf8_foldable) {
+                            SV* swash = swash_init("utf8", "_Perl_Any_Folds",
+                                                &PL_sv_undef, 1, 0);
+                            PL_utf8_foldable = _get_swash_invlist(swash);
+                            SvREFCNT_dec_NN(swash);
+                        }
+                        if (_invlist_contains_cp(PL_utf8_foldable, value)) {
+                            op = EXACT;
+                        }
+                    }
+
+                    /* If we haven't found the node type, above, it means we
+                     * can use the prevailing one */
+                    if (op == END) {
+                        op = compute_EXACTish(pRExC_state);
+                    }
+                }
+            }
+        }
+        else if (start == 0) {
+            if (end == UV_MAX) {
+                op = SANY;
+                *flagp |= HASWIDTH|SIMPLE;
+                RExC_naughty++;
+            }
+            else if (end == '\n' - 1
+                    && invlist_iternext(cp_list, &start, &end)
+                    && start == '\n' + 1 && end == UV_MAX)
+            {
+                op = REG_ANY;
+                *flagp |= HASWIDTH|SIMPLE;
+                RExC_naughty++;
+            }
+        }
+        invlist_iterfinish(cp_list);
+
+        if (op != END) {
+            RExC_parse = (char *)orig_parse;
+            RExC_emit = (regnode *)orig_emit;
+
+            ret = reg_node(pRExC_state, op);
+
+            RExC_parse = (char *)cur_parse;
+
+            if (PL_regkind[op] == EXACT) {
+                alloc_maybe_populate_EXACT(pRExC_state, ret, flagp, 0, value);
+            }
+
+            SvREFCNT_dec_NN(cp_list);
+            return ret;
+        }
     }
 
-    if (nonbitmap) {
-	UV* nonbitmap_array = invlist_array(nonbitmap);
-	UV nonbitmap_len = invlist_len(nonbitmap);
-	UV i;
+    /* Here, <cp_list> contains all the code points we can determine at
+     * compile time that match under all conditions.  Go through it, and
+     * for things that belong in the bitmap, put them there, and delete from
+     * <cp_list>.  While we are at it, see if everything above 255 is in the
+     * list, and if so, set a flag to speed up execution */
+    ANYOF_BITMAP_ZERO(ret);
+    if (cp_list) {
 
-	/*  Here have the full list of items to match that aren't in the
-	 *  bitmap.  Convert to the structure that the rest of the code is
-	 *  expecting.   XXX That rest of the code should convert to this
-	 *  structure */
-	for (i = 0; i < nonbitmap_len; i++) {
+	/* This gets set if we actually need to modify things */
+	bool change_invlist = FALSE;
 
-	    /* The next entry is the beginning of the range that is in the
-	     * class */
-	    UV start = nonbitmap_array[i++];
-	    UV end;
+	UV start, end;
 
-	    /* The next entry is the beginning of the next range, which isn't
-	     * in the class, so the end of the current range is one less than
-	     * that.  But if there is no next range, it means that the range
-	     * begun by 'start' extends to infinity, which for this platform
-	     * ends at UV_MAX */
-	    if (i == nonbitmap_len) {
-		end = UV_MAX;
+	/* Start looking through <cp_list> */
+	invlist_iterinit(cp_list);
+	while (invlist_iternext(cp_list, &start, &end)) {
+	    UV high;
+	    int i;
+
+            if (end == UV_MAX && start <= 256) {
+                ANYOF_FLAGS(ret) |= ANYOF_UNICODE_ALL;
+            }
+
+	    /* Quit if are above what we should change */
+	    if (start > 255) {
+		break;
 	    }
-	    else {
-		end = nonbitmap_array[i] - 1;
-	    }
 
-	    if (start == end) {
-		Perl_sv_catpvf(aTHX_ listsv, "%04"UVxf"\n", start);
+	    change_invlist = TRUE;
+
+	    /* Set all the bits in the range, up to the max that we are doing */
+	    high = (end < 255) ? end : 255;
+	    for (i = start; i <= (int) high; i++) {
+		if (! ANYOF_BITMAP_TEST(ret, i)) {
+		    ANYOF_BITMAP_SET(ret, i);
+		    prevvalue = value;
+		    value = i;
+		}
 	    }
-	    else {
-		/* The \t sets the whole range */
-		Perl_sv_catpvf(aTHX_ listsv, "%04"UVxf"\t%04"UVxf"\n",
-			/* XXX EBCDIC */
-				   start, end);
-	    }
 	}
-	invlist_destroy(nonbitmap);
+	invlist_iterfinish(cp_list);
+
+        /* Done with loop; remove any code points that are in the bitmap from
+         * <cp_list> */
+	if (change_invlist) {
+	    _invlist_subtract(cp_list, PL_Latin1, &cp_list);
+	}
+
+	/* If have completely emptied it, remove it completely */
+	if (_invlist_len(cp_list) == 0) {
+	    SvREFCNT_dec_NN(cp_list);
+	    cp_list = NULL;
+	}
     }
 
-    if (SvCUR(listsv) == initial_listsv_len && ! unicode_alternate) {
+    if (invert) {
+        ANYOF_FLAGS(ret) |= ANYOF_INVERT;
+    }
+
+    /* Here, the bitmap has been populated with all the Latin1 code points that
+     * always match.  Can now add to the overall list those that match only
+     * when the target string is UTF-8 (<depends_list>). */
+    if (depends_list) {
+	if (cp_list) {
+	    _invlist_union(cp_list, depends_list, &cp_list);
+	    SvREFCNT_dec_NN(depends_list);
+	}
+	else {
+	    cp_list = depends_list;
+	}
+    }
+
+    /* If there is a swash and more than one element, we can't use the swash in
+     * the optimization below. */
+    if (swash && element_count > 1) {
+	SvREFCNT_dec_NN(swash);
+	swash = NULL;
+    }
+
+    if (! cp_list
+	&& ! HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION)
+    {
 	ARG_SET(ret, ANYOF_NONBITMAP_EMPTY);
-	SvREFCNT_dec(listsv);
-	SvREFCNT_dec(unicode_alternate);
     }
     else {
-
+	/* av[0] stores the character class description in its textual form:
+	 *       used later (regexec.c:Perl_regclass_swash()) to initialize the
+	 *       appropriate swash, and is also useful for dumping the regnode.
+	 * av[1] if NULL, is a placeholder to later contain the swash computed
+	 *       from av[0].  But if no further computation need be done, the
+	 *       swash is stored there now.
+	 * av[2] stores the cp_list inversion list for use in addition or
+	 *       instead of av[0]; used only if av[1] is NULL
+	 * av[3] is set if any component of the class is from a user-defined
+	 *       property; used only if av[1] is NULL */
 	AV * const av = newAV();
 	SV *rv;
-	/* The 0th element stores the character class description
-	 * in its textual form: used later (regexec.c:Perl_regclass_swash())
-	 * to initialize the appropriate swash (which gets stored in
-	 * the 1st element), and also useful for dumping the regnode.
-	 * The 2nd element stores the multicharacter foldings,
-	 * used later (regexec.c:S_reginclass()). */
-	av_store(av, 0, listsv);
-	av_store(av, 1, NULL);
 
-        /* Store any computed multi-char folds only if we are allowing
-         * them */
-        if (allow_full_fold) {
-            av_store(av, 2, MUTABLE_SV(unicode_alternate));
-            if (unicode_alternate) { /* This node is variable length */
-                OP(ret) = ANYOFV;
-            }
-        }
-        else {
-            av_store(av, 2, NULL);
-        }
+	av_store(av, 0, (HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION)
+			? SvREFCNT_inc(listsv) : &PL_sv_undef);
+	if (swash) {
+	    av_store(av, 1, swash);
+	    SvREFCNT_dec_NN(cp_list);
+	}
+	else {
+	    av_store(av, 1, NULL);
+	    if (cp_list) {
+		av_store(av, 2, cp_list);
+		av_store(av, 3, newSVuv(has_user_defined_property));
+	    }
+	}
+
 	rv = newRV_noinc(MUTABLE_SV(av));
 	n = add_data(pRExC_state, 1, "s");
 	RExC_rxi->data->data[n] = (void*)rv;
 	ARG_SET(ret, n);
     }
+
+    *flagp |= HASWIDTH|SIMPLE;
     return ret;
 }
-#undef _C_C_T_
+#undef HAS_NONLOCALE_RUNTIME_PROPERTY_DEFINITION
 
 
 /* reg_skipcomment()
@@ -10451,8 +14005,11 @@
     PERL_ARGS_ASSERT_NEXTCHAR;
 
     for (;;) {
-	if (*RExC_parse == '(' && RExC_parse[1] == '?' &&
-		RExC_parse[2] == '#') {
+	if (RExC_end - RExC_parse >= 3
+	    && *RExC_parse == '('
+	    && RExC_parse[1] == '?'
+	    && RExC_parse[2] == '#')
+	{
 	    while (*RExC_parse != ')') {
 		if (RExC_parse == RExC_end)
 		    FAIL("Sequence (?#... not terminated");
@@ -10482,7 +14039,7 @@
 S_reg_node(pTHX_ RExC_state_t *pRExC_state, U8 op)
 {
     dVAR;
-    register regnode *ptr;
+    regnode *ptr;
     regnode * const ret = RExC_emit;
     GET_RE_DEBUG_FLAGS_DECL;
 
@@ -10494,7 +14051,8 @@
 	return(ret);
     }
     if (RExC_emit >= RExC_emit_bound)
-        Perl_croak(aTHX_ "panic: reg_node overrun trying to emit %d", op);
+        Perl_croak(aTHX_ "panic: reg_node overrun trying to emit %d, %p>=%p",
+		   op, RExC_emit, RExC_emit_bound);
 
     NODE_ALIGN_FILL(ret);
     ptr = ret;
@@ -10523,7 +14081,7 @@
 S_reganode(pTHX_ RExC_state_t *pRExC_state, U8 op, U32 arg)
 {
     dVAR;
-    register regnode *ptr;
+    regnode *ptr;
     regnode * const ret = RExC_emit;
     GET_RE_DEBUG_FLAGS_DECL;
 
@@ -10536,7 +14094,7 @@
 	   We can't do this:
 	   
 	   assert(2==regarglen[op]+1); 
-	
+
 	   Anything larger than this has to allocate the extra amount.
 	   If we changed this to be:
 	   
@@ -10549,7 +14107,8 @@
 	return(ret);
     }
     if (RExC_emit >= RExC_emit_bound)
-        Perl_croak(aTHX_ "panic: reg_node overrun trying to emit %d", op);
+        Perl_croak(aTHX_ "panic: reg_node overrun trying to emit %d, %p>=%p",
+		   op, RExC_emit, RExC_emit_bound);
 
     NODE_ALIGN_FILL(ret);
     ptr = ret;
@@ -10594,9 +14153,9 @@
 S_reginsert(pTHX_ RExC_state_t *pRExC_state, U8 op, regnode *opnd, U32 depth)
 {
     dVAR;
-    register regnode *src;
-    register regnode *dst;
-    register regnode *place;
+    regnode *src;
+    regnode *dst;
+    regnode *place;
     const int offset = regarglen[(U8)op];
     const int size = NODE_STEP_REGNODE + offset;
     GET_RE_DEBUG_FLAGS_DECL;
@@ -10682,7 +14241,7 @@
 S_regtail(pTHX_ RExC_state_t *pRExC_state, regnode *p, const regnode *val,U32 depth)
 {
     dVAR;
-    register regnode *scan;
+    regnode *scan;
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_REGTAIL;
@@ -10741,7 +14300,7 @@
 S_regtail_study(pTHX_ RExC_state_t *pRExC_state, regnode *p, const regnode *val,U32 depth)
 {
     dVAR;
-    register regnode *scan;
+    regnode *scan;
     U8 exact = PSEUDO;
 #ifdef EXPERIMENTAL_INPLACESCAN
     I32 min = 0;
@@ -10760,9 +14319,11 @@
     for (;;) {
         regnode * const temp = regnext(scan);
 #ifdef EXPERIMENTAL_INPLACESCAN
-        if (PL_regkind[OP(scan)] == EXACT)
-            if (join_exact(pRExC_state,scan,&min,1,val,depth+1))
+        if (PL_regkind[OP(scan)] == EXACT) {
+	    bool has_exactf_sharp_s;	/* Unexamined in this routine */
+            if (join_exact(pRExC_state,scan,&min, &has_exactf_sharp_s, 1,val,depth+1))
                 return EXACT;
+	}
 #endif
         if ( exact ) {
             switch (OP(scan)) {
@@ -10770,6 +14331,8 @@
                 case EXACTF:
                 case EXACTFA:
                 case EXACTFU:
+                case EXACTFU_SS:
+                case EXACTFU_TRICKYFOLD:
                 case EXACTFL:
                         if( exact == PSEUDO )
                             exact= OP(scan);
@@ -10978,7 +14541,53 @@
 {
 #ifdef DEBUGGING
     dVAR;
-    register int k;
+    int k;
+
+    /* Should be synchronized with * ANYOF_ #xdefines in regcomp.h */
+    static const char * const anyofs[] = {
+#if _CC_WORDCHAR != 0 || _CC_DIGIT != 1 || _CC_ALPHA != 2 || _CC_LOWER != 3 \
+    || _CC_UPPER != 4 || _CC_PUNCT != 5 || _CC_PRINT != 6                   \
+    || _CC_ALPHANUMERIC != 7 || _CC_GRAPH != 8 || _CC_CASED != 9            \
+    || _CC_SPACE != 10 || _CC_BLANK != 11 || _CC_XDIGIT != 12               \
+    || _CC_PSXSPC != 13 || _CC_CNTRL != 14 || _CC_ASCII != 15               \
+    || _CC_VERTSPACE != 16
+  #error Need to adjust order of anyofs[]
+#endif
+        "[\\w]",
+        "[\\W]",
+        "[\\d]",
+        "[\\D]",
+        "[:alpha:]",
+        "[:^alpha:]",
+        "[:lower:]",
+        "[:^lower:]",
+        "[:upper:]",
+        "[:^upper:]",
+        "[:punct:]",
+        "[:^punct:]",
+        "[:print:]",
+        "[:^print:]",
+        "[:alnum:]",
+        "[:^alnum:]",
+        "[:graph:]",
+        "[:^graph:]",
+        "[:cased:]",
+        "[:^cased:]",
+        "[\\s]",
+        "[\\S]",
+        "[:blank:]",
+        "[:^blank:]",
+        "[:xdigit:]",
+        "[:^xdigit:]",
+        "[:space:]",
+        "[:^space:]",
+        "[:cntrl:]",
+        "[:^cntrl:]",
+        "[:ascii:]",
+        "[:^ascii:]",
+        "[\\v]",
+        "[\\V]"
+    };
     RXi_GET_DECL(prog,progi);
     GET_RE_DEBUG_FLAGS_DECL;
     
@@ -11094,55 +14703,20 @@
 			   SVfARG((MUTABLE_SV(progi->data->data[ ARG( o ) ]))));
     } else if (k == LOGICAL)
 	Perl_sv_catpvf(aTHX_ sv, "[%d]", o->flags);	/* 2: embedded, otherwise 1 */
-    else if (k == FOLDCHAR)
-	Perl_sv_catpvf(aTHX_ sv, "[0x%"UVXf"]", PTR2UV(ARG(o)) );
     else if (k == ANYOF) {
 	int i, rangestart = -1;
 	const U8 flags = ANYOF_FLAGS(o);
 	int do_sep = 0;
 
-	/* Should be synchronized with * ANYOF_ #xdefines in regcomp.h */
-	static const char * const anyofs[] = {
-	    "\\w",
-	    "\\W",
-	    "\\s",
-	    "\\S",
-	    "\\d",
-	    "\\D",
-	    "[:alnum:]",
-	    "[:^alnum:]",
-	    "[:alpha:]",
-	    "[:^alpha:]",
-	    "[:ascii:]",
-	    "[:^ascii:]",
-	    "[:cntrl:]",
-	    "[:^cntrl:]",
-	    "[:graph:]",
-	    "[:^graph:]",
-	    "[:lower:]",
-	    "[:^lower:]",
-	    "[:print:]",
-	    "[:^print:]",
-	    "[:punct:]",
-	    "[:^punct:]",
-	    "[:upper:]",
-	    "[:^upper:]",
-	    "[:xdigit:]",
-	    "[:^xdigit:]",
-	    "[:space:]",
-	    "[:^space:]",
-	    "[:blank:]",
-	    "[:^blank:]"
-	};
 
 	if (flags & ANYOF_LOCALE)
 	    sv_catpvs(sv, "{loc}");
-	if (flags & ANYOF_LOC_NONBITMAP_FOLD)
+	if (flags & ANYOF_LOC_FOLD)
 	    sv_catpvs(sv, "{i}");
 	Perl_sv_catpvf(aTHX_ sv, "[%s", PL_colors[0]);
 	if (flags & ANYOF_INVERT)
 	    sv_catpvs(sv, "^");
-	
+
 	/* output what the standard cp 0-255 bitmap matches */
 	for (i = 0; i <= 256; i++) {
 	    if (i < 256 && ANYOF_BITMAP_TEST(o,i)) {
@@ -11186,72 +14760,100 @@
 	    sv_catpvs(sv, "{outside bitmap}");
 
 	if (ANYOF_NONBITMAP(o)) {
-	    SV *lv;
-	    SV * const sw = regclass_swash(prog, o, FALSE, &lv, 0);
-	
-	    if (lv) {
+	    SV *lv; /* Set if there is something outside the bit map */
+	    SV * const sw = regclass_swash(prog, o, FALSE, &lv, NULL);
+            bool byte_output = FALSE;   /* If something in the bitmap has been
+                                           output */
+
+	    if (lv && lv != &PL_sv_undef) {
 		if (sw) {
 		    U8 s[UTF8_MAXBYTES_CASE+1];
 
-		    for (i = 0; i <= 256; i++) { /* just the first 256 */
+		    for (i = 0; i <= 256; i++) { /* Look at chars in bitmap */
 			uvchr_to_utf8(s, i);
-			
-			if (i < 256 && swash_fetch(sw, s, TRUE)) {
+
+			if (i < 256
+                            && ! ANYOF_BITMAP_TEST(o, i)    /* Don't duplicate
+                                                               things already
+                                                               output as part
+                                                               of the bitmap */
+                            && swash_fetch(sw, s, TRUE))
+                        {
 			    if (rangestart == -1)
 				rangestart = i;
 			} else if (rangestart != -1) {
+                            byte_output = TRUE;
 			    if (i <= rangestart + 3)
 				for (; rangestart < i; rangestart++) {
-				    const U8 * const e = uvchr_to_utf8(s,rangestart);
-				    U8 *p;
-				    for(p = s; p < e; p++)
-					put_byte(sv, *p);
+				    put_byte(sv, rangestart);
 				}
 			    else {
-				const U8 *e = uvchr_to_utf8(s,rangestart);
-				U8 *p;
-				for (p = s; p < e; p++)
-				    put_byte(sv, *p);
+				put_byte(sv, rangestart);
 				sv_catpvs(sv, "-");
-				e = uvchr_to_utf8(s, i-1);
-				for (p = s; p < e; p++)
-				    put_byte(sv, *p);
-				}
-				rangestart = -1;
+				put_byte(sv, i-1);
 			    }
+			    rangestart = -1;
 			}
-			
-		    sv_catpvs(sv, "..."); /* et cetera */
+		    }
 		}
 
 		{
 		    char *s = savesvpv(lv);
 		    char * const origs = s;
-		
+
 		    while (*s && *s != '\n')
 			s++;
-		
+
 		    if (*s == '\n') {
 			const char * const t = ++s;
-			
+
+                        if (byte_output) {
+                            sv_catpvs(sv, " ");
+                        }
+
 			while (*s) {
-			    if (*s == '\n')
+			    if (*s == '\n') {
+
+                                /* Truncate very long output */
+				if (s - origs > 256) {
+				    Perl_sv_catpvf(aTHX_ sv,
+						   "%.*s...",
+					           (int) (s - origs - 1),
+						   t);
+				    goto out_dump;
+				}
 				*s = ' ';
+			    }
+			    else if (*s == '\t') {
+				*s = '-';
+			    }
 			    s++;
 			}
 			if (s[-1] == ' ')
 			    s[-1] = 0;
-			
+
 			sv_catpv(sv, t);
 		    }
-		
+
+		out_dump:
+
 		    Safefree(origs);
 		}
+		SvREFCNT_dec_NN(lv);
 	    }
 	}
 
 	Perl_sv_catpvf(aTHX_ sv, "%s]", PL_colors[1]);
     }
+    else if (k == POSIXD || k == NPOSIXD) {
+        U8 index = FLAGS(o) * 2;
+        if (index > (sizeof(anyofs) / sizeof(anyofs[0]))) {
+            Perl_sv_catpvf(aTHX_ sv, "[illegal type=%d])", index);
+        }
+        else {
+            sv_catpv(sv, anyofs[index]);
+        }
+    }
     else if (k == BRANCHJ && (OP(o) == UNLESSM || OP(o) == IFMATCH))
 	Perl_sv_catpvf(aTHX_ sv, "[%d]", -(o->flags));
 #else
@@ -11266,7 +14868,7 @@
 Perl_re_intuit_string(pTHX_ REGEXP * const r)
 {				/* Assume that RE_INTUIT is set */
     dVAR;
-    struct regexp *const prog = (struct regexp *)SvANY(r);
+    struct regexp *const prog = ReANY(r);
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_RE_INTUIT_STRING;
@@ -11314,7 +14916,7 @@
 Perl_pregfree2(pTHX_ REGEXP *rx)
 {
     dVAR;
-    struct regexp *const r = (struct regexp *)SvANY(rx);
+    struct regexp *const r = ReANY(rx);
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_PREGFREE2;
@@ -11324,6 +14926,7 @@
     } else {
         CALLREGFREE_PVT(rx); /* free the private data */
         SvREFCNT_dec(RXp_PAREN_NAMES(r));
+	Safefree(r->xpv_len_u.xpvlenu_pv);
     }        
     if (r->substrs) {
         SvREFCNT_dec(r->anchored_substr);
@@ -11333,10 +14936,12 @@
 	Safefree(r->substrs);
     }
     RX_MATCH_COPY_FREE(rx);
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
     SvREFCNT_dec(r->saved_copy);
 #endif
     Safefree(r->offs);
+    SvREFCNT_dec(r->qr_anoncv);
+    rx->sv_u.svu_rx = 0;
 }
 
 /*  reg_temp_copy()
@@ -11360,29 +14965,47 @@
 Perl_reg_temp_copy (pTHX_ REGEXP *ret_x, REGEXP *rx)
 {
     struct regexp *ret;
-    struct regexp *const r = (struct regexp *)SvANY(rx);
-    register const I32 npar = r->nparens+1;
+    struct regexp *const r = ReANY(rx);
+    const bool islv = ret_x && SvTYPE(ret_x) == SVt_PVLV;
 
     PERL_ARGS_ASSERT_REG_TEMP_COPY;
 
     if (!ret_x)
 	ret_x = (REGEXP*) newSV_type(SVt_REGEXP);
-    ret = (struct regexp *)SvANY(ret_x);
+    else {
+	SvOK_off((SV *)ret_x);
+	if (islv) {
+	    /* For PVLVs, SvANY points to the xpvlv body while sv_u points
+	       to the regexp.  (For SVt_REGEXPs, sv_upgrade has already
+	       made both spots point to the same regexp body.) */
+	    REGEXP *temp = (REGEXP *)newSV_type(SVt_REGEXP);
+	    assert(!SvPVX(ret_x));
+	    ret_x->sv_u.svu_rx = temp->sv_any;
+	    temp->sv_any = NULL;
+	    SvFLAGS(temp) = (SvFLAGS(temp) & ~SVTYPEMASK) | SVt_NULL;
+	    SvREFCNT_dec_NN(temp);
+	    /* SvCUR still resides in the xpvlv struct, so the regexp copy-
+	       ing below will not set it. */
+	    SvCUR_set(ret_x, SvCUR(rx));
+	}
+    }
+    /* This ensures that SvTHINKFIRST(sv) is true, and hence that
+       sv_force_normal(sv) is called.  */
+    SvFAKE_on(ret_x);
+    ret = ReANY(ret_x);
     
-    (void)ReREFCNT_inc(rx);
-    /* We can take advantage of the existing "copied buffer" mechanism in SVs
-       by pointing directly at the buffer, but flagging that the allocated
-       space in the copy is zero. As we've just done a struct copy, it's now
-       a case of zero-ing that, rather than copying the current length.  */
-    SvPV_set(ret_x, RX_WRAPPED(rx));
-    SvFLAGS(ret_x) |= SvFLAGS(rx) & (SVf_POK|SVp_POK|SVf_UTF8);
+    SvFLAGS(ret_x) |= SvUTF8(rx);
+    /* We share the same string buffer as the original regexp, on which we
+       hold a reference count, incremented when mother_re is set below.
+       The string pointer is copied here, being part of the regexp struct.
+     */
     memcpy(&(ret->xpv_cur), &(r->xpv_cur),
 	   sizeof(regexp) - STRUCT_OFFSET(regexp, xpv_cur));
-    SvLEN_set(ret_x, 0);
-    SvSTASH_set(ret_x, NULL);
-    SvMAGIC_set(ret_x, NULL);
-    Newx(ret->offs, npar, regexp_paren_pair);
-    Copy(r->offs, ret->offs, npar, regexp_paren_pair);
+    if (r->offs) {
+        const I32 npar = r->nparens+1;
+        Newx(ret->offs, npar, regexp_paren_pair);
+        Copy(r->offs, ret->offs, npar, regexp_paren_pair);
+    }
     if (r->substrs) {
         Newx(ret->substrs, 1, struct reg_substr_data);
 	StructCopy(r->substrs, ret->substrs, struct reg_substr_data);
@@ -11396,10 +15019,11 @@
 	   anchored or float namesakes, and don't hold a second reference.  */
     }
     RX_MATCH_COPIED_off(ret_x);
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
     ret->saved_copy = NULL;
 #endif
-    ret->mother_re = rx;
+    ret->mother_re = ReREFCNT_inc(r->mother_re ? r->mother_re : rx);
+    SvREFCNT_inc_void(ret->qr_anoncv);
     
     return ret_x;
 }
@@ -11421,7 +15045,7 @@
 Perl_regfree_internal(pTHX_ REGEXP * const rx)
 {
     dVAR;
-    struct regexp *const r = (struct regexp *)SvANY(rx);
+    struct regexp *const r = ReANY(rx);
     RXi_GET_DECL(r,ri);
     GET_RE_DEBUG_FLAGS_DECL;
 
@@ -11442,16 +15066,21 @@
     if (ri->u.offsets)
         Safefree(ri->u.offsets);             /* 20010421 MJD */
 #endif
+    if (ri->code_blocks) {
+	int n;
+	for (n = 0; n < ri->num_code_blocks; n++)
+	    SvREFCNT_dec(ri->code_blocks[n].src_regex);
+	Safefree(ri->code_blocks);
+    }
+
     if (ri->data) {
 	int n = ri->data->count;
-	PAD* new_comppad = NULL;
-	PAD* old_comppad;
-	PADOFFSET refcnt;
 
 	while (--n >= 0) {
           /* If you add a ->what type here, update the comment in regcomp.h */
 	    switch (ri->data->what[n]) {
 	    case 'a':
+	    case 'r':
 	    case 's':
 	    case 'S':
 	    case 'u':
@@ -11460,27 +15089,8 @@
 	    case 'f':
 		Safefree(ri->data->data[n]);
 		break;
-	    case 'p':
-		new_comppad = MUTABLE_AV(ri->data->data[n]);
-		break;
-	    case 'o':
-		if (new_comppad == NULL)
-		    Perl_croak(aTHX_ "panic: pregfree comppad");
-		PAD_SAVE_LOCAL(old_comppad,
-		    /* Watch out for global destruction's random ordering. */
-		    (SvTYPE(new_comppad) == SVt_PVAV) ? new_comppad : NULL
-		);
-		OP_REFCNT_LOCK;
-		refcnt = OpREFCNT_dec((OP_4tree*)ri->data->data[n]);
-		OP_REFCNT_UNLOCK;
-		if (!refcnt)
-                    op_free((OP_4tree*)ri->data->data[n]);
-
-		PAD_RESTORE_LOCAL(old_comppad);
-		SvREFCNT_dec(MUTABLE_SV(new_comppad));
-		new_comppad = NULL;
-		break;
-	    case 'n':
+	    case 'l':
+	    case 'L':
 	        break;
             case 'T':	        
                 { /* Aho Corasick add-on structure for a trie node.
@@ -11556,8 +15166,8 @@
 {
     dVAR;
     I32 npar;
-    const struct regexp *r = (const struct regexp *)SvANY(sstr);
-    struct regexp *ret = (struct regexp *)SvANY(dstr);
+    const struct regexp *r = ReANY(sstr);
+    struct regexp *ret = ReANY(dstr);
     
     PERL_ARGS_ASSERT_RE_DUP_GUTS;
 
@@ -11564,10 +15174,6 @@
     npar = r->nparens+1;
     Newx(ret->offs, npar, regexp_paren_pair);
     Copy(r->offs, ret->offs, npar, regexp_paren_pair);
-    if(ret->swap) {
-        /* no need to copy these */
-        Newx(ret->swap, npar, regexp_paren_pair);
-    }
 
     if (ret->substrs) {
 	/* Do it this way to avoid reading from *r after the StructCopy().
@@ -11608,6 +15214,7 @@
     }
 
     RXp_PAREN_NAMES(ret) = hv_dup_inc(RXp_PAREN_NAMES(ret), param);
+    ret->qr_anoncv = MUTABLE_CV(sv_dup_inc((const SV *)ret->qr_anoncv, param));
 
     if (ret->pprivate)
 	RXi_SET(ret,CALLREGDUPE_PVT(dstr,param));
@@ -11616,24 +15223,18 @@
 	ret->subbeg  = SAVEPVN(ret->subbeg, ret->sublen);
     else
 	ret->subbeg = NULL;
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
     ret->saved_copy = NULL;
 #endif
 
-    if (ret->mother_re) {
-	if (SvPVX_const(dstr) == SvPVX_const(ret->mother_re)) {
-	    /* Our storage points directly to our mother regexp, but that's
+    /* Whether mother_re be set or no, we need to copy the string.  We
+       cannot refrain from copying it when the storage points directly to
+       our mother regexp, because that's
 	       1: a buffer in a different thread
 	       2: something we no longer hold a reference on
 	       so we need to copy it locally.  */
-	    /* Note we need to sue SvCUR() on our mother_re, because it, in
-	       turn, may well be pointing to its own mother_re.  */
-	    SvPV_set(dstr, SAVEPVN(SvPVX_const(ret->mother_re),
-				   SvCUR(ret->mother_re)+1));
-	    SvLEN_set(dstr, SvCUR(ret->mother_re)+1);
-	}
-	ret->mother_re      = NULL;
-    }
+    RX_WRAPPED(dstr) = SAVEPVN(RX_WRAPPED(sstr), SvCUR(sstr)+1);
+    ret->mother_re   = NULL;
     ret->gofs = 0;
 }
 #endif /* PERL_IN_XSUB_RE */
@@ -11656,20 +15257,32 @@
 Perl_regdupe_internal(pTHX_ REGEXP * const rx, CLONE_PARAMS *param)
 {
     dVAR;
-    struct regexp *const r = (struct regexp *)SvANY(rx);
+    struct regexp *const r = ReANY(rx);
     regexp_internal *reti;
-    int len, npar;
+    int len;
     RXi_GET_DECL(r,ri);
 
     PERL_ARGS_ASSERT_REGDUPE_INTERNAL;
     
-    npar = r->nparens+1;
     len = ProgLen(ri);
     
     Newxc(reti, sizeof(regexp_internal) + len*sizeof(regnode), char, regexp_internal);
     Copy(ri->program, reti->program, len+1, regnode);
-    
 
+    reti->num_code_blocks = ri->num_code_blocks;
+    if (ri->code_blocks) {
+	int n;
+	Newxc(reti->code_blocks, ri->num_code_blocks, struct reg_code_block,
+		struct reg_code_block);
+	Copy(ri->code_blocks, reti->code_blocks, ri->num_code_blocks,
+		struct reg_code_block);
+	for (n = 0; n < ri->num_code_blocks; n++)
+	     reti->code_blocks[n].src_regex = (REGEXP*)
+		    sv_dup_inc((SV*)(ri->code_blocks[n].src_regex), param);
+    }
+    else
+	reti->code_blocks = NULL;
+
     reti->regstclass = NULL;
 
     if (ri->data) {
@@ -11685,12 +15298,11 @@
 	for (i = 0; i < count; i++) {
 	    d->what[i] = ri->data->what[i];
 	    switch (d->what[i]) {
-	        /* legal options are one of: sSfpontTua
-	           see also regcomp.h and pregfree() */
+	        /* see also regcomp.h and regfree_internal() */
 	    case 'a': /* actually an AV, but the dup function is identical.  */
+	    case 'r':
 	    case 's':
 	    case 'S':
-	    case 'p': /* actually an AV, but the dup function is identical.  */
 	    case 'u': /* actually an HV, but the dup function is identical.  */
 		d->data[i] = sv_dup_inc((const SV *)ri->data->data[i], param);
 		break;
@@ -11701,13 +15313,6 @@
 			    struct regnode_charclass_class);
 		reti->regstclass = (regnode*)d->data[i];
 		break;
-	    case 'o':
-		/* Compiled op trees are readonly and in shared memory,
-		   and can thus be shared without duplication. */
-		OP_REFCNT_LOCK;
-		d->data[i] = (void*)OpREFCNT_inc((OP*)ri->data->data[i]);
-		OP_REFCNT_UNLOCK;
-		break;
 	    case 'T':
 		/* Trie stclasses are readonly and can thus be shared
 		 * without duplication. We free the stclass in pregfree
@@ -11720,7 +15325,8 @@
 		((reg_trie_data*)ri->data->data[i])->refcount++;
 		OP_REFCNT_UNLOCK;
 		/* Fall through */
-	    case 'n':
+	    case 'l':
+	    case 'L':
 		d->data[i] = ri->data->data[i];
 		break;
             default:
@@ -11755,10 +15361,10 @@
  - regnext - dig the "next" pointer out of a node
  */
 regnode *
-Perl_regnext(pTHX_ register regnode *p)
+Perl_regnext(pTHX_ regnode *p)
 {
     dVAR;
-    register I32 offset;
+    I32 offset;
 
     if (!p)
 	return(NULL);
@@ -11775,7 +15381,7 @@
 }
 #endif
 
-STATIC void	
+STATIC void
 S_re_croak2(pTHX_ const char* pat1,const char* pat2,...)
 {
     va_list args;
@@ -11830,15 +15436,15 @@
 
     Copy(&PL_reg_state, state, 1, struct re_save_state);
 
-    PL_reg_start_tmp = 0;
-    PL_reg_start_tmpl = 0;
     PL_reg_oldsaved = NULL;
     PL_reg_oldsavedlen = 0;
+    PL_reg_oldsavedoffset = 0;
+    PL_reg_oldsavedcoffset = 0;
     PL_reg_maxiter = 0;
     PL_reg_leftiter = 0;
     PL_reg_poscache = NULL;
     PL_reg_poscache_size = 0;
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
     PL_nrs = NULL;
 #endif
 
@@ -11864,13 +15470,6 @@
 }
 #endif
 
-static void
-clear_re(pTHX_ void *r)
-{
-    dVAR;
-    ReREFCNT_dec((REGEXP *)r);
-}
-
 #ifdef DEBUGGING
 
 STATIC void
@@ -11886,8 +15485,11 @@
 
        EO, or Eight Ones, is an 8-bit EBCDIC character code represented as all
        ones (binary 1111 1111, hexadecimal FF). It is similar, but not
-       identical, to the ASCII delete (DEL) or rubout control character.
-       ) So the old condition can be simplified to !isPRINT(c)  */
+       identical, to the ASCII delete (DEL) or rubout control character. ...
+       it is typically mapped to hexadecimal code 9F, in order to provide a
+       unique character mapping in both directions)
+
+       So the old condition can be simplified to !isPRINT(c)  */
     if (!isPRINT(c)) {
 	if (c < 256) {
 	    Perl_sv_catpvf(aTHX_ sv, "\\x%02x", c);
@@ -11919,8 +15521,8 @@
 	    SV* sv, I32 indent, U32 depth)
 {
     dVAR;
-    register U8 op = PSEUDO;	/* Arbitrary non-END op. */
-    register const regnode *next;
+    U8 op = PSEUDO;	/* Arbitrary non-END op. */
+    const regnode *next;
     const regnode *optstart= NULL;
     
     RXi_GET_DECL(r,ri);
@@ -11952,7 +15554,7 @@
 		goto after_print;
 	} else
 	    CLEAR_OPTSTART;
-	
+
 	regprop(r, sv, node);
 	PerlIO_printf(Perl_debug_log, "%4"IVdf":%*s%s", (IV)(node - start),
 		      (int)(2*indent + 1), "", SvPVX_const(sv));
@@ -11971,9 +15573,9 @@
 	if (PL_regkind[(U8)op] == BRANCHJ) {
 	    assert(next);
 	    {
-                register const regnode *nnode = (OP(next) == LONGJMP
-					     ? regnext((regnode *)next)
-					     : next);
+                const regnode *nnode = (OP(next) == LONGJMP
+                                       ? regnext((regnode *)next)
+                                       : next);
                 if (last && nnode > last)
                     nnode = last;
                 DUMPUNTIL(NEXTOPER(NEXTOPER(node)), nnode);
@@ -12000,7 +15602,7 @@
             sv_setpvs(sv, "");
 	    for (word_idx= 0; word_idx < (I32)trie->wordcount; word_idx++) {
 		SV ** const elem_ptr = av_fetch(trie_words,word_idx,0);
-		
+
                 PerlIO_printf(Perl_debug_log, "%*s%s ",
                    (int)(2*(indent+3)), "",
                     elem_ptr ? pv_pretty(sv, SvPV_nolen_const(*elem_ptr), SvCUR(*elem_ptr), 60,
@@ -12073,8 +15675,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/regcomp.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/regcomp.h
===================================================================
--- vendor/perl/dist/regcomp.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regcomp.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,9 +9,6 @@
  */
 #include "regcharclass.h"
 
-typedef OP OP_4tree;			/* Will be redefined later. */
-
-
 /* Convert branch sequences to more efficient trie ops? */
 #define PERL_ENABLE_TRIE_OPTIMISATION 1
 
@@ -121,6 +118,8 @@
                                    Used to make it easier to clone and free arbitrary
                                    data that the regops need. Often the ARG field of
                                    a regop is an index into this structure */
+	struct reg_code_block *code_blocks;/* positions of literal (?{}) */
+	int num_code_blocks;	/* size of code_blocks[] */
 	regnode program[1];	/* Unwarranted chumminess with compiler. */
 } regexp_internal;
 
@@ -138,6 +137,7 @@
 #define PREGf_NAUGHTY		0x00000004 /* how exponential is this pattern? */
 #define PREGf_VERBARG_SEEN	0x00000008
 #define PREGf_CUTGROUP_SEEN	0x00000010
+#define PREGf_USE_RE_EVAL	0x00000020 /* compiled with "use re 'eval'" */
 
 
 /* this is where the old regcomp.h started */
@@ -178,7 +178,6 @@
 
 
 #define ANYOF_BITMAP_SIZE	32	/* 256 b/(8 b/B) */
-#define ANYOF_CLASSBITMAP_SIZE	 4	/* up to 32 (8*4) named classes */
 
 /* also used by trie */
 struct regnode_charclass {
@@ -196,7 +195,7 @@
     U16 next_off;
     U32 arg1;					/* used as ptr in S_regclass */
     char bitmap[ANYOF_BITMAP_SIZE];		/* both compile-time */
-    char classflags[ANYOF_CLASSBITMAP_SIZE];	/* and run-time */
+    U32 classflags;	                        /* and run-time */
 };
 
 /* XXX fix this description.
@@ -307,26 +306,24 @@
  * ANYOF_NONBITMAP_NON_UTF8 bit is also set. */
 #define ANYOF_NONBITMAP(node)	(ARG(node) != ANYOF_NONBITMAP_EMPTY)
 
-/* Flags for node->flags of ANYOF.  These are in short supply, so some games
- * are done to share them, as described below.  If necessary, the ANYOF_LOCALE
- * and ANYOF_CLASS bits could be shared with a space penalty for locale nodes,
- * but this isn't quite so easy, as the optimizer also uses ANYOF_CLASS.
- * Once the planned change to compile all the above-latin1 code points is done,
- * then the UNICODE_ALL bit can be freed up, with a small performance penalty.
- * If flags need to be added that are applicable to the synthetic start class
- * only, with some work, they could be put in the next-node field, or in an
- * unused bit of the classflags field. */
+/* Flags for node->flags of ANYOF.  These are in short supply, but there is one
+ * currently available.  If more than this are needed, the ANYOF_LOCALE and
+ * ANYOF_CLASS bits could be shared, making a space penalty for all locale nodes.
+ * Also, the UNICODE_ALL bit could be freed up by resorting to creating a swash
+ * containing everything above 255.  This introduces a performance penalty.
+ * Better would be to split it off into a separate node, which actually would
+ * improve performance a bit by allowing regexec.c to test for a UTF-8
+ * character being above 255 without having to call a function nor calculate
+ * its code point value.  However, this solution might need to have a second
+ * node type, ANYOF_SYNTHETIC_ABOVE_LATIN1_ALL */
 
 #define ANYOF_LOCALE		 0x01	    /* /l modifier */
 
 /* The fold is calculated and stored in the bitmap where possible at compile
- * time.  However there are two cases where it isn't possible.  These share
- * this bit:  1) under locale, where the actual folding varies depending on
- * what the locale is at the time of execution; and 2) where the folding is
- * specified in a swash, not the bitmap, such as characters which aren't
- * specified in the bitmap, or properties that aren't looked at at compile time
- */
-#define ANYOF_LOC_NONBITMAP_FOLD 0x02
+ * time.  However under locale, the actual folding varies depending on
+ * what the locale is at the time of execution, so it has to be deferred until
+ * then */
+#define ANYOF_LOC_FOLD           0x02
 
 #define ANYOF_INVERT		 0x04
 
@@ -333,23 +330,13 @@
 /* Set if this is a struct regnode_charclass_class vs a regnode_charclass.  This
  * is used for runtime \d, \w, [:posix:], ..., which are used only in locale
  * and the optimizer's synthetic start class.  Non-locale \d, etc are resolved
- * at compile-time */
-#define ANYOF_CLASS	 0x08
-#define ANYOF_LARGE      ANYOF_CLASS    /* Same; name retained for back compat */
+ * at compile-time.  Could be shared with ANYOF_LOCALE, forcing all locale
+ * nodes to be large */
+#define ANYOF_CLASS	         0x08
+#define ANYOF_LARGE       ANYOF_CLASS   /* Same; name retained for back compat */
 
-/* EOS, meaning that it can match an empty string too, is used for the
- * synthetic start class only. */
-#define ANYOF_EOS		0x10
+/* Unused: 0x10.  When using, be sure to change ANYOF_FLAGS_ALL below */
 
-/* ? Is this node the synthetic start class (ssc).  This bit is shared with
- * ANYOF_EOS, as the latter is used only for the ssc, and then not used by
- * regexec.c.  And, the code is structured so that if it is set, the ssc is
- * not used, so it is guaranteed to be 0 for the ssc by the time regexec.c
- * gets executed, and 0 for a non-ssc ANYOF node, as it only ever gets set for
- * a potential ssc candidate.  Thus setting it to 1 after it has been
- * determined that the ssc will be used is not ambiguous */
-#define ANYOF_IS_SYNTHETIC	ANYOF_EOS
-
 /* Can match something outside the bitmap that isn't in utf8 */
 #define ANYOF_NONBITMAP_NON_UTF8 0x20
 
@@ -360,7 +347,7 @@
  * in utf8. */
 #define ANYOF_NON_UTF8_LATIN1_ALL 0x80
 
-#define ANYOF_FLAGS_ALL		0xff
+#define ANYOF_FLAGS_ALL		(0xff & ~0x10)
 
 /* These are the flags that ANYOF_INVERT being set or not doesn't affect
  * whether they are operative or not.  e.g., the node still has LOCALE
@@ -367,56 +354,74 @@
  * regardless of being inverted; whereas ANYOF_UNICODE_ALL means something
  * different if inverted */
 #define INVERSION_UNAFFECTED_FLAGS (ANYOF_LOCALE                        \
-	                           |ANYOF_LOC_NONBITMAP_FOLD            \
+	                           |ANYOF_LOC_FOLD                      \
 	                           |ANYOF_CLASS                         \
-	                           |ANYOF_EOS                           \
 	                           |ANYOF_NONBITMAP_NON_UTF8)
 
 /* Character classes for node->classflags of ANYOF */
 /* Should be synchronized with a table in regprop() */
-/* 2n should pair with 2n+1 */
+/* 2n should be the normal one, paired with its complement at 2n+1 */
 
-#define ANYOF_ALNUM	 0	/* \w, PL_utf8_alnum, utf8::IsWord, ALNUM */
-#define ANYOF_NALNUM	 1
-#define ANYOF_SPACE	 2	/* \s */
-#define ANYOF_NSPACE	 3
-#define ANYOF_DIGIT	 4	/* \d */
-#define ANYOF_NDIGIT	 5
-#define ANYOF_ALNUMC	 6	/* [[:alnum:]] isalnum(3), utf8::IsAlnum, ALNUMC */
-#define ANYOF_NALNUMC	 7
-#define ANYOF_ALPHA	 8
-#define ANYOF_NALPHA	 9
-#define ANYOF_ASCII	10
-#define ANYOF_NASCII	11
-#define ANYOF_CNTRL	12
-#define ANYOF_NCNTRL	13
-#define ANYOF_GRAPH	14
-#define ANYOF_NGRAPH	15
-#define ANYOF_LOWER	16
-#define ANYOF_NLOWER	17
-#define ANYOF_PRINT	18
-#define ANYOF_NPRINT	19
-#define ANYOF_PUNCT	20
-#define ANYOF_NPUNCT	21
-#define ANYOF_UPPER	22
-#define ANYOF_NUPPER	23
-#define ANYOF_XDIGIT	24
-#define ANYOF_NXDIGIT	25
-#define ANYOF_PSXSPC	26	/* POSIX space: \s plus the vertical tab */
-#define ANYOF_NPSXSPC	27
-#define ANYOF_BLANK	28	/* GNU extension: space and tab: non-vertical space */
-#define ANYOF_NBLANK	29
+#define ANYOF_ALPHA    ((_CC_ALPHA) * 2)
+#define ANYOF_NALPHA   ((ANYOF_ALPHA) + 1)
+#define ANYOF_ALPHANUMERIC   ((_CC_ALPHANUMERIC) * 2)    /* [[:alnum:]] isalnum(3), utf8::IsAlnum */
+#define ANYOF_NALPHANUMERIC  ((ANYOF_ALPHANUMERIC) + 1)
+#define ANYOF_ASCII    ((_CC_ASCII) * 2)
+#define ANYOF_NASCII   ((ANYOF_ASCII) + 1)
+#define ANYOF_BLANK    ((_CC_BLANK) * 2)     /* GNU extension: space and tab: non-vertical space */
+#define ANYOF_NBLANK   ((ANYOF_BLANK) + 1)
+#define ANYOF_CASED    ((_CC_CASED) * 2)    /* Pseudo class for [:lower:] or
+                                               [:upper:] under /i */
+#define ANYOF_NCASED   ((ANYOF_CASED) + 1)
+#define ANYOF_CNTRL    ((_CC_CNTRL) * 2)
+#define ANYOF_NCNTRL   ((ANYOF_CNTRL) + 1)
+#define ANYOF_DIGIT    ((_CC_DIGIT) * 2)     /* \d */
+#define ANYOF_NDIGIT   ((ANYOF_DIGIT) + 1)
+#define ANYOF_GRAPH    ((_CC_GRAPH) * 2)
+#define ANYOF_NGRAPH   ((ANYOF_GRAPH) + 1)
+#define ANYOF_LOWER    ((_CC_LOWER) * 2)
+#define ANYOF_NLOWER   ((ANYOF_LOWER) + 1)
+#define ANYOF_PRINT    ((_CC_PRINT) * 2)
+#define ANYOF_NPRINT   ((ANYOF_PRINT) + 1)
+#define ANYOF_PSXSPC   ((_CC_PSXSPC) * 2)    /* POSIX space: \s plus the vertical tab */
+#define ANYOF_NPSXSPC  ((ANYOF_PSXSPC) + 1)
+#define ANYOF_PUNCT    ((_CC_PUNCT) * 2)
+#define ANYOF_NPUNCT   ((ANYOF_PUNCT) + 1)
+#define ANYOF_SPACE    ((_CC_SPACE) * 2)     /* \s */
+#define ANYOF_NSPACE   ((ANYOF_SPACE) + 1)
+#define ANYOF_UPPER    ((_CC_UPPER) * 2)
+#define ANYOF_NUPPER   ((ANYOF_UPPER) + 1)
+#define ANYOF_WORDCHAR ((_CC_WORDCHAR) * 2)  /* \w, PL_utf8_alnum, utf8::IsWord, ALNUM */
+#define ANYOF_NWORDCHAR   ((ANYOF_WORDCHAR) + 1)
+#define ANYOF_XDIGIT   ((_CC_XDIGIT) * 2)
+#define ANYOF_NXDIGIT  ((ANYOF_XDIGIT) + 1)
 
-#define ANYOF_MAX	32
-
-/* pseudo classes, not stored in the class bitmap, but used as flags
+/* pseudo classes below this, not stored in the class bitmap, but used as flags
    during compilation of char classes */
 
-#define ANYOF_VERTWS	(ANYOF_MAX+1)
-#define ANYOF_NVERTWS	(ANYOF_MAX+2)
-#define ANYOF_HORIZWS	(ANYOF_MAX+3)
-#define ANYOF_NHORIZWS	(ANYOF_MAX+4)
+#define ANYOF_VERTWS    ((_CC_VERTSPACE) * 2)
+#define ANYOF_NVERTWS   ((ANYOF_VERTWS)+1)
 
+/* It is best if this is the last one, as all above it are stored as bits in a
+ * bitmap, and it isn't part of that bitmap */
+#if _CC_VERTSPACE != _HIGHEST_REGCOMP_DOT_H_SYNC
+#   error Problem with handy.h _HIGHEST_REGCOMP_DOT_H_SYNC #define
+#endif
+
+#define ANYOF_MAX      (ANYOF_VERTWS) /* So upper loop limit is written:
+                                       *       '< ANYOF_MAX'
+                                       * Hence doesn't include VERTWS, as that
+                                       * is a pseudo class */
+#if (ANYOF_MAX > 32)   /* Must fit in 32-bit word */
+#   error Problem with handy.h _CC_foo #defines
+#endif
+
+#define ANYOF_HORIZWS	((ANYOF_MAX)+2) /* = (ANYOF_NVERTWS + 1) */
+#define ANYOF_NHORIZWS	((ANYOF_MAX)+3)
+
+#define ANYOF_UNIPROP   ((ANYOF_MAX)+4)  /* Used to indicate a Unicode
+                                            property: \p{} or \P{} */
+
 /* Backward source code compatibility. */
 
 #define ANYOF_ALNUML	 ANYOF_ALNUM
@@ -423,6 +428,8 @@
 #define ANYOF_NALNUML	 ANYOF_NALNUM
 #define ANYOF_SPACEL	 ANYOF_SPACE
 #define ANYOF_NSPACEL	 ANYOF_NSPACE
+#define ANYOF_ALNUM ANYOF_WORDCHAR
+#define ANYOF_NALNUM ANYOF_NWORDCHAR
 
 /* Utility macros for the bitmap and classes of ANYOF */
 
@@ -433,16 +440,18 @@
 
 #define ANYOF_BIT(c)		(1 << ((c) & 7))
 
-#define ANYOF_CLASS_BYTE(p, c)	(((struct regnode_charclass_class*)(p))->classflags[((c) >> 3) & 3])
-#define ANYOF_CLASS_SET(p, c)	(ANYOF_CLASS_BYTE(p, c) |=  ANYOF_BIT(c))
-#define ANYOF_CLASS_CLEAR(p, c)	(ANYOF_CLASS_BYTE(p, c) &= ~ANYOF_BIT(c))
-#define ANYOF_CLASS_TEST(p, c)	(ANYOF_CLASS_BYTE(p, c) &   ANYOF_BIT(c))
+#define ANYOF_CLASS_SET(p, c)	(((struct regnode_charclass_class*) (p))->classflags |= (1U << (c)))
+#define ANYOF_CLASS_CLEAR(p, c)	(((struct regnode_charclass_class*) (p))->classflags &= ~ (1U <<(c)))
+#define ANYOF_CLASS_TEST(p, c)	(((struct regnode_charclass_class*) (p))->classflags & (1U << (c)))
 
-#define ANYOF_CLASS_ZERO(ret)	Zero(((struct regnode_charclass_class*)(ret))->classflags, ANYOF_CLASSBITMAP_SIZE, char)
-#define ANYOF_CLASS_SETALL(ret)		\
-	memset (((struct regnode_charclass_class*)(ret))->classflags, 255, ANYOF_CLASSBITMAP_SIZE)
+#define ANYOF_CLASS_ZERO(ret)	STMT_START { ((struct regnode_charclass_class*) (ret))->classflags = 0; } STMT_END
+
+/* Shifts a bit to get, eg. 0x4000_0000, then subtracts 1 to get 0x3FFF_FFFF */
+#define ANYOF_CLASS_SETALL(ret) STMT_START { ((struct regnode_charclass_class*) (ret))->classflags = ((1U << ((ANYOF_MAX) - 1))) - 1; } STMT_END
+
+#define ANYOF_CLASS_OR(source, dest) STMT_START { (dest)->classflags |= source->classflags ; } STMT_END
+
 #define ANYOF_BITMAP_ZERO(ret)	Zero(((struct regnode_charclass*)(ret))->bitmap, ANYOF_BITMAP_SIZE, char)
-
 #define ANYOF_BITMAP(p)		(((struct regnode_charclass*)(p))->bitmap)
 #define ANYOF_BITMAP_BYTE(p, c)	(ANYOF_BITMAP(p)[(((U8)(c)) >> 3) & 31])
 #define ANYOF_BITMAP_SET(p, c)	(ANYOF_BITMAP_BYTE(p, c) |=  ANYOF_BIT(c))
@@ -460,12 +469,9 @@
 #define ANYOF_SKIP		((ANYOF_SIZE - 1)/sizeof(regnode))
 #define ANYOF_CLASS_SKIP	((ANYOF_CLASS_SIZE - 1)/sizeof(regnode))
 
-#if ANYOF_CLASSBITMAP_SIZE != 4
-#   error ANYOF_CLASSBITMAP_SIZE is expected to be 4
-#endif
-#define ANYOF_CLASS_TEST_ANY_SET(p) ((ANYOF_FLAGS(p) & ANYOF_CLASS)         \
-	&& memNE (((struct regnode_charclass_class*)(p))->classflags,	    \
-		    "\0\0\0\0", ANYOF_CLASSBITMAP_SIZE))
+#define ANYOF_CLASS_TEST_ANY_SET(p)                               \
+        ((ANYOF_FLAGS(p) & ANYOF_CLASS)                           \
+	 && (((struct regnode_charclass_class*)(p))->classflags))
 /*#define ANYOF_CLASS_ADD_SKIP	(ANYOF_CLASS_SKIP - ANYOF_SKIP)
  * */
 
@@ -484,7 +490,7 @@
 #define REG_SEEN_ZERO_LEN	0x00000001
 #define REG_SEEN_LOOKBEHIND	0x00000002
 #define REG_SEEN_GPOS		0x00000004
-#define REG_SEEN_EVAL		0x00000008
+/* spare */
 #define REG_SEEN_CANY		0x00000010
 #define REG_SEEN_SANY		REG_SEEN_CANY /* src bckwrd cmpt */
 #define REG_SEEN_RECURSE        0x00000020
@@ -492,6 +498,7 @@
 #define REG_SEEN_VERBARG        0x00000080
 #define REG_SEEN_CUTGROUP       0x00000100
 #define REG_SEEN_RUN_ON_COMMENT 0x00000200
+#define REG_SEEN_EXACTF_SHARP_S 0x00000400
 
 START_EXTERN_C
 
@@ -518,8 +525,9 @@
         Perl_reg_named_buff_iter,
         Perl_reg_qr_package,
 #if defined(USE_ITHREADS)        
-        Perl_regdupe_internal
+        Perl_regdupe_internal,
 #endif        
+        Perl_re_op_compile
 };
 #endif /* DOINIT */
 #endif /* PLUGGABLE_RE_EXTENSION */
@@ -532,9 +540,9 @@
  * The character describes the function of the corresponding .data item:
  *   a - AV for paren_name_list under DEBUGGING
  *   f - start-class data for regstclass optimization
- *   n - Root of op tree for (?{EVAL}) item
- *   o - Start op for (?{EVAL}) item
- *   p - Pad for (?{EVAL}) item
+ *   l - start op for literal (?{EVAL}) item
+ *   L - start op for literal (?{EVAL}) item, with separate CV (qr//)
+ *   r - pointer to an embedded code-containing qr, e.g. /ab$qr/
  *   s - swash for Unicode-style character class, and the multicharacter
  *       strings resulting from casefolding the single-character entries
  *       in the character class
@@ -571,10 +579,10 @@
 #define check_offset_max substrs->data[2].max_offset
 #define check_end_shift substrs->data[2].end_shift
 
-#define RX_ANCHORED_SUBSTR(rx)	(((struct regexp *)SvANY(rx))->anchored_substr)
-#define RX_ANCHORED_UTF8(rx)	(((struct regexp *)SvANY(rx))->anchored_utf8)
-#define RX_FLOAT_SUBSTR(rx)	(((struct regexp *)SvANY(rx))->float_substr)
-#define RX_FLOAT_UTF8(rx)	(((struct regexp *)SvANY(rx))->float_utf8)
+#define RX_ANCHORED_SUBSTR(rx)	(ReANY(rx)->anchored_substr)
+#define RX_ANCHORED_UTF8(rx)	(ReANY(rx)->anchored_utf8)
+#define RX_FLOAT_SUBSTR(rx)	(ReANY(rx)->float_substr)
+#define RX_FLOAT_UTF8(rx)	(ReANY(rx)->float_utf8)
 
 /* trie related stuff */
 
@@ -821,11 +829,9 @@
     if (re_debug_flags & RE_DEBUG_EXTRA_GPOS) x )
 
 /* initialization */
-/* get_sv() can return NULL during global destruction.  re_debug_flags can get
- * clobbered by a longjmp, so must be initialized */
+/* get_sv() can return NULL during global destruction. */
 #define GET_RE_DEBUG_FLAGS DEBUG_r({ \
         SV * re_debug_flags_sv = NULL; \
-        re_debug_flags = 0;            \
         re_debug_flags_sv = get_sv(RE_DEBUG_FLAGS, 1); \
         if (re_debug_flags_sv) { \
             if (!SvIOK(re_debug_flags_sv)) \
@@ -836,7 +842,8 @@
 
 #ifdef DEBUGGING
 
-#define GET_RE_DEBUG_FLAGS_DECL VOL IV re_debug_flags = 0; GET_RE_DEBUG_FLAGS;
+#define GET_RE_DEBUG_FLAGS_DECL VOL IV re_debug_flags  = 0; \
+        PERL_UNUSED_VAR(re_debug_flags); GET_RE_DEBUG_FLAGS;
 
 #define RE_PV_COLOR_DECL(rpv,rlen,isuni,dsv,pv,l,m,c1,c2) \
     const char * const rpv =                          \
@@ -877,8 +884,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/regcomp.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Deleted: vendor/perl/dist/regcomp.pl
===================================================================
--- vendor/perl/dist/regcomp.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regcomp.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,243 +0,0 @@
-#!/usr/bin/perl
-# 
-# Regenerate (overwriting only if changed):
-#
-#    regnodes.h
-#
-# from information stored in
-#
-#    regcomp.sym
-#    regexp.h
-#
-# Accepts the standard regen_lib -q and -v args.
-#
-# This script is normally invoked from regen.pl.
-
-BEGIN {
-    # Get function prototypes
-    require 'regen_lib.pl';
-}
-#use Fatal qw(open close rename chmod unlink);
-use strict;
-use warnings;
-
-open DESC, 'regcomp.sym';
-
-my $ind = 0;
-my (@name, at rest, at type, at code, at args, at longj);
-my ($desc,$lastregop);
-while (<DESC>) {
-    s/#.*$//;
-    next if /^\s*$/;
-    s/\s*\z//;
-    if (/^-+\s*$/) {
-        $lastregop= $ind;
-        next;
-    }
-    unless ($lastregop) {
-        $ind++;
-        ($name[$ind], $desc, $rest[$ind]) = split /\t+/, $_, 3;  
-        ($type[$ind], $code[$ind], $args[$ind], $longj[$ind]) 
-          = split /[,\s]\s*/, $desc, 4;
-    } else {
-        my ($type, at lists)=split /\s*\t+\s*/, $_;
-        die "No list? $type" if !@lists;
-        foreach my $list (@lists) {
-            my ($names,$special)=split /:/, $list , 2;
-            $special ||= "";
-            foreach my $name (split /,/,$names) {
-                my $real= $name eq 'resume' 
-                        ? "resume_$type" 
-                        : "${type}_$name";
-                my @suffix;
-                if (!$special) {
-                   @suffix=("");
-                } elsif ($special=~/\d/) {
-                    @suffix=(1..$special);
-                } elsif ($special eq 'FAIL') {
-                    @suffix=("","_fail");
-                } else {
-                    die "unknown :type ':$special'";
-                }
-                foreach my $suffix (@suffix) {
-                    $ind++;
-                    $name[$ind]="$real$suffix";
-                    $type[$ind]=$type;
-                    $rest[$ind]="state for $type";
-                }
-            }
-        }
-        
-    }
-}
-# use fixed width to keep the diffs between regcomp.pl recompiles
-# as small as possible.
-my ($width,$rwidth,$twidth)=(22,12,9);
-$lastregop ||= $ind;
-my $tot = $ind;
-close DESC;
-die "Too many regexp/state opcodes! Maximum is 256, but there are $lastregop in file!"
-    if $lastregop>256;
-
-my $tmp_h = 'regnodes.h-new';
-
-unlink $tmp_h if -f $tmp_h;
-
-my $out = safer_open($tmp_h);
-
-printf $out <<EOP,
-/* -*- buffer-read-only: t -*-
-   !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-   This file is built by regcomp.pl from regcomp.sym.
-   Any changes made here will be lost!
-*/
-
-/* Regops and State definitions */
-
-#define %*s\t%d
-#define %*s\t%d
-
-EOP
-    -$width, REGNODE_MAX        => $lastregop - 1,
-    -$width, REGMATCH_STATE_MAX => $tot - 1
-;
-
-
-for ($ind=1; $ind <= $lastregop ; $ind++) {
-  my $oind = $ind - 1;
-  printf $out "#define\t%*s\t%d\t/* %#04x %s */\n",
-    -$width, $name[$ind], $ind-1, $ind-1, $rest[$ind];
-}
-print $out "\t/* ------------ States ------------- */\n";
-for ( ; $ind <= $tot ; $ind++) {
-  printf $out "#define\t%*s\t(REGNODE_MAX + %d)\t/* %s */\n",
-    -$width, $name[$ind], $ind - $lastregop, $rest[$ind];
-}
-
-print $out <<EOP;
-
-/* PL_regkind[] What type of regop or state is this. */
-
-#ifndef DOINIT
-EXTCONST U8 PL_regkind[];
-#else
-EXTCONST U8 PL_regkind[] = {
-EOP
-
-$ind = 0;
-while (++$ind <= $tot) {
-  printf $out "\t%*s\t/* %*s */\n",
-             -1-$twidth, "$type[$ind],", -$width, $name[$ind];
-  print $out "\t/* ------------ States ------------- */\n"
-    if $ind == $lastregop and $lastregop != $tot;
-}
-
-print $out <<EOP;
-};
-#endif
-
-/* regarglen[] - How large is the argument part of the node (in regnodes) */
-
-#ifdef REG_COMP_C
-static const U8 regarglen[] = {
-EOP
-
-$ind = 0;
-while (++$ind <= $lastregop) {
-  my $size = 0;
-  $size = "EXTRA_SIZE(struct regnode_$args[$ind])" if $args[$ind];
-  
-  printf $out "\t%*s\t/* %*s */\n",
-	-37, "$size,",-$rwidth,$name[$ind];
-}
-
-print $out <<EOP;
-};
-
-/* reg_off_by_arg[] - Which argument holds the offset to the next node */
-
-static const char reg_off_by_arg[] = {
-EOP
-
-$ind = 0;
-while (++$ind <= $lastregop) {
-  my $size = $longj[$ind] || 0;
-
-  printf $out "\t%d,\t/* %*s */\n",
-	$size, -$rwidth, $name[$ind]
-}
-
-print $out <<EOP;
-};
-
-#endif /* REG_COMP_C */
-
-/* reg_name[] - Opcode/state names in string form, for debugging */
-
-#ifndef DOINIT
-EXTCONST char * PL_reg_name[];
-#else
-EXTCONST char * const PL_reg_name[] = {
-EOP
-
-$ind = 0;
-my $ofs = 1;
-my $sym = "";
-while (++$ind <= $tot) {
-  my $size = $longj[$ind] || 0;
-
-  printf $out "\t%*s\t/* $sym%#04x */\n",
-	-3-$width,qq("$name[$ind]",), $ind - $ofs;
-  if ($ind == $lastregop and $lastregop != $tot) {
-    print $out "\t/* ------------ States ------------- */\n";
-    $ofs = $lastregop;
-    $sym = 'REGNODE_MAX +';
-  }
-    
-}
-
-print $out <<EOP;
-};
-#endif /* DOINIT */
-
-/* PL_reg_extflags_name[] - Opcode/state names in string form, for debugging */
-
-#ifndef DOINIT
-EXTCONST char * PL_reg_extflags_name[];
-#else
-EXTCONST char * const PL_reg_extflags_name[] = {
-EOP
-
-open my $fh,"<","regexp.h" or die "Can't read regexp.h: $!";
-my %rxfv;
-my $val = 0;
-my %reverse;
-while (<$fh>) {
-    if (/#define\s+(RXf_\w+)\s+(0x[A-F\d]+)/i) {
-	my $newval = eval $2;
-	if($val & $newval) {
-	    die sprintf "Both $1 and $reverse{$newval} use %08X", $newval;
-	}
-        $val|=$newval;
-        $rxfv{$1}= $newval;
-	$reverse{$newval} = $1;
-    }
-}    
-my %vrxf=reverse %rxfv;
-printf $out "\t/* Bits in extflags defined: %032b */\n",$val;
-for (0..31) {
-    my $n=$vrxf{2**$_}||"UNUSED_BIT_$_";
-    $n=~s/^RXf_(PMf_)?//;
-    printf $out qq(\t%-20s/* 0x%08x */\n), 
-        qq("$n",),2**$_;
-}  
- 
-print $out <<EOP;
-};
-#endif /* DOINIT */
-
-/* ex: set ro: */
-EOP
-safer_close($out);
-
-rename_if_different $tmp_h, 'regnodes.h';

Modified: vendor/perl/dist/regcomp.sym
===================================================================
--- vendor/perl/dist/regcomp.sym	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regcomp.sym	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,9 @@
 #
 # File has two sections, divided by a line of dashes '-'. 
 #
-# Empty rows after #-comment are removed from input are ignored
+# Lines beginning with # are ignored, except for those that start with #*
+# which are included in pod/perldebguts.pod.  # within a line may be part
+# of a description.
 #
 # First section is for regops, second section is for regmatch-states
 #
@@ -9,7 +11,8 @@
 # Note that the order in this file is important.
 #
 # Format for first section: 
-# NAME \s+ TYPE, arg-description [flags] [num-args] [longjump-len] ; DESCRIPTION
+# NAME \s+ TYPE, arg-description [num-args] [flags] [longjump-len] ; DESCRIPTION
+#   flag <S> means is REGNODE_SIMPLE; flag <V> means is REGNODE_VARIES
 #
 #
 # run perl regen.pl after editing this file
@@ -30,11 +33,16 @@
 EOL         EOL,        no        ; Match "" at end of line.
 MEOL        EOL,        no        ; Same, assuming multiline.
 SEOL        EOL,        no        ; Same, assuming singleline.
+# The regops that have varieties that vary depending on the character set regex
+# modifiers have to ordered thusly: /d, /l, /u, /a, /aa.  This is because code
+# in regcomp.c uses the enum value of the modifier as an offset from the /d
+# version.  The complements must come after the non-complements.
+# BOUND, POSIX and their complements are affected, as well as EXACTF.
 BOUND       BOUND,      no        ; Match "" at any word boundary using native charset semantics for non-utf8
 BOUNDL      BOUND,      no        ; Match "" at any locale word boundary
 BOUNDU      BOUND,      no        ; Match "" at any word boundary using Unicode semantics
 BOUNDA      BOUND,      no         ; Match "" at any word boundary using ASCII semantics
-# All NBOUND nodes are required by a line regexec.c to be greater than all BOUND ones
+# All NBOUND nodes are required by code in regexec.c to be greater than all BOUND ones
 NBOUND      NBOUND,     no        ; Match "" at any word non-boundary using native charset semantics for non-utf8
 NBOUNDL     NBOUND,     no        ; Match "" at any locale word non-boundary
 NBOUNDU     NBOUND,     no        ; Match "" at any word non-boundary using Unicode semantics
@@ -47,71 +55,66 @@
 SANY        REG_ANY,    no 0 S    ; Match any one character.
 CANY        REG_ANY,    no 0 S    ; Match any one byte.
 ANYOF       ANYOF,      sv 0 S    ; Match character in (or not in) this class, single char match only
-ANYOFV      ANYOF,      sv 0 V    ; Match character in (or not in) this class, can match-multiple chars
-ALNUM       ALNUM,      no 0 S    ; Match any alphanumeric character using native charset semantics for non-utf8
-ALNUML      ALNUM,      no 0 S    ; Match any alphanumeric char in locale
-ALNUMU      ALNUM,      no 0 S    ; Match any alphanumeric char using Unicode semantics
-ALNUMA      ALNUM,      no 0 S    ; Match [A-Za-z_0-9]
-NALNUM      NALNUM,     no 0 S    ; Match any non-alphanumeric character using native charset semantics for non-utf8
-NALNUML     NALNUM,     no 0 S    ; Match any non-alphanumeric char in locale
-NALNUMU     NALNUM,     no 0 S    ; Match any non-alphanumeric char using Unicode semantics
-NALNUMA     NALNUM,     no 0 S    ; Match [^A-Za-z_0-9]
-SPACE       SPACE,      no 0 S    ; Match any whitespace character using native charset semantics for non-utf8
-SPACEL      SPACE,      no 0 S    ; Match any whitespace char in locale
-SPACEU      SPACE,      no 0 S    ; Match any whitespace char using Unicode semantics
-SPACEA      SPACE,      no 0 S    ; Match [ \t\n\f\r]
-NSPACE      NSPACE,     no 0 S    ; Match any non-whitespace character using native charset semantics for non-utf8
-NSPACEL     NSPACE,     no 0 S    ; Match any non-whitespace char in locale
-NSPACEU     NSPACE,     no 0 S    ; Match any non-whitespace char using Unicode semantics
-NSPACEA     NSPACE,     no 0 S    ; Match [^ \t\n\f\r]
-DIGIT       DIGIT,      no 0 S    ; Match any numeric character using native charset semantics for non-utf8
-DIGITL      DIGIT,      no 0 S    ; Match any numeric character in locale
-DIGITA      DIGIT,      no 0 S    ; Match [0-9]
-NDIGIT      NDIGIT,     no 0 S    ; Match any non-numeric character using native charset semantics for non-utf8
-NDIGITL     NDIGIT,     no 0 S    ; Match any non-numeric character in locale
-NDIGITA     NDIGIT,     no 0 S    ; Match [^0-9]
+ANYOF_WARN_SUPER ANYOF, sv 0 S    ; Match character in (or not in) this class, warn (if enabled) upon matching a char above Unicode max;
+ANYOF_SYNTHETIC ANYOF,  sv 0 S    ; Synthetic start class
+
+# Order of the below is important.  See ordering comment above.
+POSIXD      POSIXD,     none 0 S   ; Some [[:class:]] under /d; the FLAGS field gives which one
+POSIXL      POSIXD,     none 0 S   ; Some [[:class:]] under /l; the FLAGS field gives which one
+POSIXU      POSIXD,     none 0 S   ; Some [[:class:]] under /u; the FLAGS field gives which one
+POSIXA      POSIXD,     none 0 S   ; Some [[:class:]] under /a; the FLAGS field gives which one
+NPOSIXD     NPOSIXD,    none 0 S   ; complement of POSIXD, [[:^class:]]
+NPOSIXL     NPOSIXD,    none 0 S   ; complement of POSIXL, [[:^class:]]
+NPOSIXU     NPOSIXD,    none 0 S   ; complement of POSIXU, [[:^class:]]
+NPOSIXA     NPOSIXD,    none 0 S   ; complement of POSIXA, [[:^class:]]
+# End of order is important
+
 CLUMP       CLUMP,      no 0 V    ; Match any extended grapheme cluster sequence
 
 #* Alternation
 
-# BRANCH        The set of branches constituting a single choice are hooked
-#               together with their "next" pointers, since precedence prevents
-#               anything being concatenated to any individual branch.  The
-#               "next" pointer of the last BRANCH in a choice points to the
-#               thing following the whole choice.  This is also where the
-#               final "next" pointer of each individual branch points; each
-#               branch starts with the operand node of a BRANCH node.
-#
+#* BRANCH        The set of branches constituting a single choice are
+#*               hooked together with their "next" pointers, since
+#*               precedence prevents anything being concatenated to
+#*               any individual branch.  The "next" pointer of the last
+#*               BRANCH in a choice points to the thing following the
+#*               whole choice.  This is also where the final "next"
+#*               pointer of each individual branch points; each branch
+#*               starts with the operand node of a BRANCH node.
+#*
 BRANCH      BRANCH,     node 0 V  ; Match this alternative, or the next...
 
 #*Back pointer
 
-# BACK          Normal "next" pointers all implicitly point forward; BACK
-#               exists to make loop structures possible.
-# not used
+#* BACK          Normal "next" pointers all implicitly point forward;
+#*               BACK exists to make loop structures possible.
+#* not used
 BACK        BACK,       no 0 V    ; Match "", "next" ptr points backward.
 
 #*Literals
+# NOTE: the relative ordering of these types is important do not change it
 
 EXACT       EXACT,      str       ; Match this string (preceded by length).
-EXACTF      EXACT,      str       ; Match this string, folded, native charset semantics for non-utf8 (prec. by length).
-EXACTFL     EXACT,      str       ; Match this string, folded in locale (w/len).
-EXACTFU     EXACT,      str	  ; Match this string, folded, Unicode semantics for non-utf8 (prec. by length).
-EXACTFA     EXACT,      str	  ; Match this string, folded, Unicode semantics for non-utf8, but no ASCII-range character matches outside ASCII (prec. by length),.
+EXACTF      EXACT,      str       ; Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len).
+EXACTFL     EXACT,      str       ; Match this string (not guaranteed to be folded) using /il rules (w/len).
+EXACTFU     EXACT,      str	  ; Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len).
+EXACTFA     EXACT,      str	  ; Match this string (not guaranteed to be folded) using /iaa rules (w/len).
+EXACTFU_SS  EXACT,      str	  ; Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len).
+EXACTFU_TRICKYFOLD EXACT,  str	  ; Match this folded UTF-8 string using /iu rules
 
 #*Do nothing types
 
 NOTHING     NOTHING,    no        ; Match empty string.
-# A variant of above which delimits a group, thus stops optimizations
+#*A variant of above which delimits a group, thus stops optimizations
 TAIL        NOTHING,    no        ; Match empty string. Can jump here from outside.
 
 #*Loops
 
-# STAR,PLUS    '?', and complex '*' and '+', are implemented as circular
-#               BRANCH structures using BACK.  Simple cases (one character
-#               per match) are implemented with STAR and PLUS for speed
-#               and to minimize recursive plunges.
-#
+#* STAR,PLUS    '?', and complex '*' and '+', are implemented as
+#*               circular BRANCH structures using BACK.  Simple cases
+#*               (one character per match) are implemented with STAR
+#*               and PLUS for speed and to minimize recursive plunges.
+#*
 STAR        STAR,       node 0 V  ; Match this (simple) thing 0 or more times.
 PLUS        PLUS,       node 0 V  ; Match this (simple) thing 1 or more times.
 
@@ -120,12 +123,12 @@
 CURLYM      CURLY,      no 2 V    ; Capture this medium-complex thing {n,m} times. 
 CURLYX      CURLY,      sv 2 V    ; Match this complex thing {n,m} times.
 
-# This terminator creates a loop structure for CURLYX
+#*This terminator creates a loop structure for CURLYX
 WHILEM      WHILEM,     no 0 V    ; Do curly processing and see if rest matches.
 
 #*Buffer related
 
-# OPEN,CLOSE,GROUPP     ...are numbered at compile time.
+#*OPEN,CLOSE,GROUPP     ...are numbered at compile time.
 OPEN        OPEN,       num 1     ; Mark this point in input as start of #n.
 CLOSE       CLOSE,      num 1     ; Analogous to OPEN.
 
@@ -138,7 +141,8 @@
 REFFU       REF,        num 1 V   ; Match already matched string, folded using unicode semantics for non-utf8
 REFFA       REF,        num 1 V   ; Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII
 
-#*Named references.  Code in regcomp.c assumes that these all are after the numbered references
+#*Named references.  Code in regcomp.c assumes that these all are after
+#*the numbered references
 NREF        REF,        no-sv 1 V ; Match some already matched string
 NREFF       REF,        no-sv 1 V ; Match already matched string, folded using native charset semantics for non-utf8
 NREFFL      REF,        no-sv 1 V ; Match already matched string, folded in loc.
@@ -148,7 +152,7 @@
 IFMATCH     BRANCHJ,    off 1 . 2 ; Succeeds if the following matches.
 UNLESSM     BRANCHJ,    off 1 . 2 ; Fails if the following matches.
 SUSPEND     BRANCHJ,    off 1 V 1 ; "Independent" sub-RE.
-IFTHEN      BRANCHJ,    off 1 V 1 ; Switch, should be preceded by switcher .
+IFTHEN      BRANCHJ,    off 1 V 1 ; Switch, should be preceded by switcher.
 GROUPP      GROUPP,     num 1     ; Whether the group matched.
 
 #*Support for long RE
@@ -165,13 +169,14 @@
 MINMOD      MINMOD,     no        ; Next operator is not greedy.
 LOGICAL     LOGICAL,    no        ; Next opcode should set the flag only.
 
-# This is not used yet
+#*This is not used yet
 RENUM       BRANCHJ,    off 1 . 1 ; Group with independently numbered parens.
 
 #*Trie Related
 
-# Behave the same as A|LIST|OF|WORDS would. The '..C' variants have  
-# inline charclass data (ascii only), the 'C' store it in the structure.
+#* Behave the same as A|LIST|OF|WORDS would. The '..C' variants
+#* have inline charclass data (ascii only), the 'C' store it in the
+#* structure.
 # NOTE: the relative order of the TRIE-like regops  is significant
 
 TRIE        TRIE,       trie 1    ; Match many EXACT(F[ALU]?)? at once. flags==type
@@ -209,14 +214,7 @@
 
 #*New charclass like patterns
 LNBREAK     LNBREAK,    none      ; generic newline pattern
-VERTWS      VERTWS,     none 0 S  ; vertical whitespace         (Perl 6)
-NVERTWS     NVERTWS,    none 0 S  ; not vertical whitespace     (Perl 6)
-HORIZWS     HORIZWS,    none 0 S  ; horizontal whitespace       (Perl 6)
-NHORIZWS    NHORIZWS,   none 0 S  ; not horizontal whitespace   (Perl 6)
 
-FOLDCHAR    FOLDCHAR,   codepoint 1 ; codepoint with tricky case folding properties.
-
-
 # NEW STUFF SOMEWHERE ABOVE THIS LINE
 
 ################################################################################
@@ -223,20 +221,20 @@
 
 #*SPECIAL  REGOPS
 
-# This is not really a node, but an optimized away piece of a "long" node.
-# To simplify debugging output, we mark it as if it were a node
+#* This is not really a node, but an optimized away piece of a "long"
+#* node.  To simplify debugging output, we mark it as if it were a node
 OPTIMIZED   NOTHING,    off       ; Placeholder for dump.
 
-# Special opcode with the property that no opcode in a compiled program
-# will ever be of this type. Thus it can be used as a flag value that
-# no other opcode has been seen. END is used similarly, in that an END
-# node cant be optimized. So END implies "unoptimizable" and PSEUDO mean
-# "not seen anything to optimize yet".
+#* Special opcode with the property that no opcode in a compiled program
+#* will ever be of this type. Thus it can be used as a flag value that
+#* no other opcode has been seen. END is used similarly, in that an END
+#* node cant be optimized. So END implies "unoptimizable" and PSEUDO
+#* mean "not seen anything to optimize yet".
 PSEUDO      PSEUDO,     off       ; Pseudo opcode for internal use.
 
 -------------------------------------------------------------------------------
 # Format for second section:
-# REGOP \t typelist [ \t typelist] [# Comment]
+# REGOP \t typelist [ \t typelist]
 # typelist= namelist
 #         = namelist:FAIL
 #         = name:count


Property changes on: vendor/perl/dist/regcomp.sym
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/regen/embed.pl
===================================================================
--- vendor/perl/dist/regen/embed.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/embed.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,6 @@
 #
 #    embed.h
 #    embedvar.h
-#    global.sym
 #    perlapi.c
 #    perlapi.h
 #    proto.h
@@ -28,6 +27,7 @@
 BEGIN {
     # Get function prototypes
     require 'regen/regen_lib.pl';
+    require 'regen/embed_lib.pl';
 }
 
 my $SPLINT = 0; # Turn true for experimental splint support http://www.splint.org
@@ -40,173 +40,35 @@
 # implicit interpreter context argument.
 #
 
-sub do_not_edit ($)
-{
-    my $file = shift;
+sub full_name ($$) { # Returns the function name with potentially the
+		     # prefixes 'S_' or 'Perl_'
+    my ($func, $flags) = @_;
 
-    return read_only_top(lang => ($file =~ /\.[ch]$/ ? 'C' : 'Perl'),
-			 file => $file, style => '*', by => 'regen/embed.pl',
-			 from => ['data in embed.fnc', 'regen/embed.pl',
-				  'regen/opcodes', 'intrpvar.h', 'perlvars.h'],
-			 final => "\nEdit those files and run 'make regen_headers' to effect changes.\n",
-			 copyright => [1993 .. 2009]);
-} # do_not_edit
-
-open IN, "embed.fnc" or die $!;
-
-my @embed;
-my (%has_va, %has_nocontext);
-
-while (<IN>) {
-    chomp;
-    next if /^:/;
-    next if /^$/;
-    while (s|\\$||) {
-	$_ .= <IN>;
-	chomp;
-    }
-    s/\s+$//;
-    my @args;
-    if (/^\s*(#|$)/) {
-	@args = $_;
-    }
-    else {
-	@args = split /\s*\|\s*/, $_;
-	my $func = $args[2];
-	if ($func) {
-	    ++$has_va{$func} if $args[-1] =~ /\.\.\./;
-	    ++$has_nocontext{$1} if $func =~ /(.*)_nocontext/;
-	}
-    }
-    if (@args == 1 && $args[0] !~ /^#\s*(?:if|ifdef|ifndef|else|endif)/) {
-	die "Illegal line $. '$args[0]' in embed.fnc";
-    }
-    push @embed, \@args;
+    return "S_$func" if $flags =~ /[si]/;
+    return "Perl_$func" if $flags =~ /[bp]/;
+    return $func;
 }
 
-open IN, 'regen/opcodes' or die $!;
-{
-    my %syms;
+sub open_print_header {
+    my ($file, $quote) = @_;
 
-    while (<IN>) {
-	chop;
-	next unless $_;
-	next if /^#/;
-	my (undef, undef, $check) = split /\t+/, $_;
-	++$syms{$check};
-    }
-
-    foreach (keys %syms) {
-	# These are all indirectly referenced by globals.c.
-	push @embed, ['pR', 'OP *', $_, 'NN OP *o'];
-    }
+    return open_new($file, '>',
+		    { file => $file, style => '*', by => 'regen/embed.pl',
+		      from => ['data in embed.fnc', 'regen/embed.pl',
+			       'regen/opcodes', 'intrpvar.h', 'perlvars.h'],
+		      final => "\nEdit those files and run 'make regen_headers' to effect changes.\n",
+		      copyright => [1993 .. 2009], quote => $quote });
 }
-close IN;
 
-my (@core, @ext, @api);
-{
-    # Cluster entries in embed.fnc that have the same #ifdef guards.
-    # Also, split out at the top level the three classes of functions.
-    my @state;
-    my %groups;
-    my $current;
-    foreach (@embed) {
-	if (@$_ > 1) {
-	    push @$current, $_;
-	    next;
-	}
-	$_->[0] =~ s/^#\s+/#/;
-	$_->[0] =~ /^\S*/;
-	$_->[0] =~ s/^#ifdef\s+(\S+)/#if defined($1)/;
-	$_->[0] =~ s/^#ifndef\s+(\S+)/#if !defined($1)/;
-	if ($_->[0] =~ /^#if\s*(.*)/) {
-	    push @state, $1;
-	} elsif ($_->[0] =~ /^#else\s*$/) {
-	    die "Unmatched #else in embed.fnc" unless @state;
-	    $state[-1] = "!($state[-1])";
-	} elsif ($_->[0] =~ m!^#endif\s*(?:/\*.*\*/)?$!) {
-	    die "Unmatched #endif in embed.fnc" unless @state;
-	    pop @state;
-	} else {
-	    die "Unhandled pre-processor directive '$_->[0]' in embed.fnc";
-	}
-	$current = \%groups;
-	# Nested #if blocks are effectively &&ed together
-	# For embed.fnc, ordering withing the && isn't relevant, so we can
-	# sort them to try to group more functions together.
-	my @sorted = sort @state;
-	while (my $directive = shift @sorted) {
-	    $current->{$directive} ||= {};
-	    $current = $current->{$directive};
-	}
-	$current->{''} ||= [];
-	$current = $current->{''};
-    }
+my ($embed, $core, $ext, $api) = setup_embed();
 
-    sub add_level {
-	my ($level, $indent, $wanted) = @_;
-	my $funcs = $level->{''};
-	my @entries;
-	if ($funcs) {
-	    if (!defined $wanted) {
-		@entries = @$funcs;
-	    } else {
-		foreach (@$funcs) {
-		    if ($_->[0] =~ /A/) {
-			push @entries, $_ if $wanted eq 'A';
-		    } elsif ($_->[0] =~ /E/) {
-			push @entries, $_ if $wanted eq 'E';
-		    } else {
-			push @entries, $_ if $wanted eq '';
-		    }
-		}
-	    }
-	    @entries = sort {$a->[2] cmp $b->[2]} @entries;
-	}
-	foreach (sort grep {length $_} keys %$level) {
-	    my @conditional = add_level($level->{$_}, $indent . '  ', $wanted);
-	    push @entries,
-		["#${indent}if $_"], @conditional, ["#${indent}endif"]
-		    if @conditional;
-	}
-	return @entries;
-    }
-    @core = add_level(\%groups, '', '');
-    @ext = add_level(\%groups, '', 'E');
-    @api = add_level(\%groups, '', 'A');
-
-    @embed = add_level(\%groups, '');
-}
-
-# walk table providing an array of components in each line to
-# subroutine, printing the result
-sub walk_table (&@) {
-    my ($function, $filename) = @_;
-    my $F;
-    if (ref $filename) {	# filehandle
-	$F = $filename;
-    }
-    else {
-	$F = safer_open("$filename-new", $filename);
-	print $F do_not_edit ($filename);
-    }
-    foreach (@embed) {
-	my @outs = &{$function}(@$_);
-	# $function->(@args) is not 5.003
-	print $F @outs;
-    }
-    unless (ref $filename) {
-	read_only_bottom_close_and_rename($F);
-    }
-}
-
 # generate proto.h
 {
-    my $pr = safer_open('proto.h-new', 'proto.h');
-    print $pr do_not_edit ("proto.h"), "START_EXTERN_C\n";
+    my $pr = open_print_header("proto.h");
+    print $pr "START_EXTERN_C\n";
     my $ret;
 
-    foreach (@embed) {
+    foreach (@$embed) {
 	if (@$_ == 1) {
 	    print $pr "$_->[0]\n";
 	    next;
@@ -223,6 +85,16 @@
 	my @names_of_nn;
 	my $func;
 
+	if (! $can_ignore && $retval eq 'void') {
+	    warn "It is nonsensical to require the return value of a void function ($plain_func) to be checked";
+	}
+
+	my $scope_type_flag_count = 0;
+	$scope_type_flag_count++ if $flags =~ /s/;
+	$scope_type_flag_count++ if $flags =~ /i/;
+	$scope_type_flag_count++ if $flags =~ /p/;
+	warn "$plain_func: i, p, and s flags are all mutually exclusive"
+						   if $scope_type_flag_count > 1;
 	my $splint_flags = "";
 	if ( $SPLINT && !$commented_out ) {
 	    $splint_flags .= '/*@noreturn@*/ ' if $never_returns;
@@ -232,20 +104,24 @@
 	}
 
 	if ($flags =~ /([si])/) {
-	    my $type = ($1 eq 's') ? "STATIC" : "PERL_STATIC_INLINE";
-	    warn "$func: i and s flags are mutually exclusive"
-					    if $flags =~ /s/ && $flags =~ /i/;
+	    my $type;
+	    if ($never_returns) {
+		$type = $1 eq 's' ? "PERL_STATIC_NO_RET" : "PERL_STATIC_INLINE_NO_RET";
+	    }
+	    else {
+		$type = $1 eq 's' ? "STATIC" : "PERL_STATIC_INLINE";
+	    }
 	    $retval = "$type $splint_flags$retval";
-	    $func = "S_$plain_func";
 	}
 	else {
-	    $retval = "PERL_CALLCONV $splint_flags$retval";
-	    if ($flags =~ /[bp]/) {
-		$func = "Perl_$plain_func";
-	    } else {
-		$func = $plain_func;
+	    if ($never_returns) {
+		$retval = "PERL_CALLCONV_NO_RET $splint_flags$retval";
 	    }
+	    else {
+		$retval = "PERL_CALLCONV $splint_flags$retval";
+	    }
 	}
+	$func = full_name($plain_func, $flags);
 	$ret = "$retval\t$func(";
 	if ( $has_context ) {
 	    $ret .= @args ? "pTHX_ " : "pTHX";
@@ -340,59 +216,28 @@
     read_only_bottom_close_and_rename($pr);
 }
 
-# generates global.sym (API export list)
-{
-  my %seen;
-  sub write_global_sym {
-      if (@_ > 1) {
-	  my ($flags,$retval,$func, at args) = @_;
-	  if ($flags =~ /[AX]/ && $flags !~ /[xm]/
-	      || $flags =~ /b/) { # public API, so export
-	      # If a function is defined twice, for example before and after
-	      # an #else, only export its name once.
-	      return '' if $seen{$func}++;
-	      $func = "Perl_$func" if $flags =~ /[pbX]/;
-	      return "$func\n";
-	  }
-      }
-      return '';
-  }
-}
-
 warn "$unflagged_pointers pointer arguments to clean up\n" if $unflagged_pointers;
-walk_table(\&write_global_sym, "global.sym");
 
-sub readvars(\%$$@) {
-    my ($syms, $file,$pre,$keep_pre) = @_;
+sub readvars {
+    my ($file, $pre) = @_;
     local (*FILE, $_);
+    my %seen;
     open(FILE, "< $file")
 	or die "embed.pl: Can't open $file: $!\n";
     while (<FILE>) {
 	s/[ \t]*#.*//;		# Delete comments.
-	if (/PERLVARA?I?S?C?\($pre(\w+)/) {
-	    my $sym = $1;
-	    $sym = $pre . $sym if $keep_pre;
-	    warn "duplicate symbol $sym while processing $file line $.\n"
-		if exists $$syms{$sym};
-	    $$syms{$sym} = $pre || 1;
+	if (/PERLVARA?I?C?\($pre,\s*(\w+)/) {
+	    warn "duplicate symbol $1 while processing $file line $.\n"
+		if $seen{$1}++;
 	}
     }
     close(FILE);
+    return sort keys %seen;
 }
 
-my %intrp;
-my %globvar;
+my @intrp = readvars 'intrpvar.h','I';
+my @globvar = readvars 'perlvars.h','G';
 
-readvars %intrp,  'intrpvar.h','I';
-readvars %globvar, 'perlvars.h','G';
-
-my $sym;
-
-sub undefine ($) {
-    my ($sym) = @_;
-    "#undef  $sym\n";
-}
-
 sub hide {
     my ($from, $to, $indent) = @_;
     $indent = '' unless defined $indent;
@@ -400,25 +245,14 @@
     "#${indent}define $from" . "\t" x ($t < 3 ? 3 - $t : 1) . "$to\n";
 }
 
-sub bincompat_var ($$) {
-    my ($pfx, $sym) = @_;
-    my $arg = ($pfx eq 'G' ? 'NULL' : 'aTHX');
-    undefine("PL_$sym") . hide("PL_$sym", "(*Perl_${pfx}${sym}_ptr($arg))");
-}
-
 sub multon ($$$) {
     my ($sym,$pre,$ptr) = @_;
     hide("PL_$sym", "($ptr$pre$sym)");
 }
 
-sub multoff ($$) {
-    my ($sym,$pre) = @_;
-    return hide("PL_$pre$sym", "PL_$sym");
-}
+my $em = open_print_header('embed.h');
 
-my $em = safer_open('embed.h-new', 'embed.h');
-
-print $em do_not_edit ("embed.h"), <<'END';
+print $em <<'END';
 /* (Doing namespace management portably in C is really gross.) */
 
 /* By defining PERL_NO_SHORT_NAMES (not done by default) the short forms
@@ -451,12 +285,7 @@
 	unless ($flags =~ /[om]/) {
 	    my $args = scalar @args;
 	    if ($flags =~ /n/) {
-		if ($flags =~ /s/) {
-		    $ret = hide($func,"S_$func");
-		}
-		elsif ($flags =~ /p/) {
-		    $ret = hide($func,"Perl_$func");
-		}
+		$ret = hide($func, full_name($func, $flags));
 	    }
 	    elsif ($args and $args[$args-1] =~ /\.\.\./) {
 		if ($flags =~ /p/) {
@@ -463,7 +292,7 @@
 		    # we're out of luck for varargs functions under CPP
 		    # So we can only do these macros for no implicit context:
 		    $ret = "#ifndef PERL_IMPLICIT_CONTEXT\n"
-			. hide($func,"Perl_$func") . "#endif\n";
+			. hide($func, full_name($func, $flags)) . "#endif\n";
 		}
 	    }
 	    else {
@@ -471,12 +300,7 @@
 		$ret = "#define $func($alist)";
 		my $t = int(length($ret) / 8);
 		$ret .=  "\t" x ($t < 4 ? 4 - $t : 1);
-		if ($flags =~ /[si]/) {
-		    $ret .= "S_$func(aTHX";
-		}
-		elsif ($flags =~ /p/) {
-		    $ret .= "Perl_$func(aTHX";
-		}
+		$ret .= full_name($func, $flags) . "(aTHX";
 		$ret .= "_ " if $alist;
 		$ret .= $alist . ")\n";
 	    }
@@ -498,9 +322,9 @@
     print $em "#endif\n" if $guard;
 }
 
-embed_h('', \@api);
-embed_h('#if defined(PERL_CORE) || defined(PERL_EXT)', \@ext);
-embed_h('#ifdef PERL_CORE', \@core);
+embed_h('', $api);
+embed_h('#if defined(PERL_CORE) || defined(PERL_EXT)', $ext);
+embed_h('#ifdef PERL_CORE', $core);
 
 print $em <<'END';
 
@@ -526,18 +350,33 @@
 #  define perl_atexit(a,b)		call_atexit(a,b)
 END
 
-walk_table {
-    my ($flags,$retval,$func, at args) = @_;
-    return unless $func;
-    return unless $flags =~ /O/;
+foreach (@$embed) {
+    my ($flags, $retval, $func, @args) = @$_;
+    next unless $func;
+    next unless $flags =~ /O/;
 
     my $alist = join ",", @az[0..$#args];
     my $ret = "#  define perl_$func($alist)";
     my $t = (length $ret) >> 3;
     $ret .=  "\t" x ($t < 5 ? 5 - $t : 1);
-    "$ret$func($alist)\n";
-} $em;
+    print $em "$ret$func($alist)\n";
+}
 
+my @nocontext;
+{
+    my (%has_va, %has_nocontext);
+    foreach (@$embed) {
+	next unless @$_ > 1;
+	++$has_va{$_->[2]} if $_->[-1] =~ /\.\.\./;
+	++$has_nocontext{$1} if $_->[2] =~ /(.*)_nocontext/;
+    }
+
+    @nocontext = sort grep {
+	$has_nocontext{$_}
+	    && !/printf/ # Not clear to me why these are skipped but they are.
+    } keys %has_va;
+}
+
 print $em <<'END';
 
 /* varargs functions can't be handled with CPP macros. :-(
@@ -548,9 +387,7 @@
 #if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_SHORT_NAMES)
 END
 
-foreach (sort keys %has_va) {
-    next unless $has_nocontext{$_};
-    next if /printf/; # Not clear to me why these are skipped but they are.
+foreach (@nocontext) {
     print $em hide($_, "Perl_${_}_nocontext", "  ");
 }
 
@@ -563,9 +400,7 @@
 /* undefined symbols, point them back at the usual ones */
 END
 
-foreach (sort keys %has_va) {
-    next unless $has_nocontext{$_};
-    next if /printf/; # Not clear to me why these are skipped but they are.
+foreach (@nocontext) {
     print $em hide("Perl_${_}_nocontext", "Perl_$_", "  ");
 }
 
@@ -575,9 +410,9 @@
 
 read_only_bottom_close_and_rename($em);
 
-$em = safer_open('embedvar.h-new', 'embedvar.h');
+$em = open_print_header('embedvar.h');
 
-print $em do_not_edit ("embedvar.h"), <<'END';
+print $em <<'END';
 /* (Doing namespace management portably in C is really gross.) */
 
 /*
@@ -604,28 +439,20 @@
 
 END
 
-for $sym (sort keys %intrp) {
+my $sym;
+
+for $sym (@intrp) {
+    if ($sym eq 'sawampersand') {
+	print $em "#ifndef PL_sawampersand\n";
+    }
     print $em multon($sym,'I','vTHX->');
+    if ($sym eq 'sawampersand') {
+	print $em "#endif\n";
+    }
 }
 
 print $em <<'END';
 
-#else	/* !MULTIPLICITY */
-
-/* case 1 above */
-
-END
-
-for $sym (sort keys %intrp) {
-    print $em multoff($sym,'I');
-}
-
-print $em <<'END';
-
-END
-
-print $em <<'END';
-
 #endif	/* MULTIPLICITY */
 
 #if defined(PERL_GLOBAL_STRUCT)
@@ -632,32 +459,23 @@
 
 END
 
-for $sym (sort keys %globvar) {
+for $sym (@globvar) {
+    print $em "#ifdef OS2\n" if $sym eq 'sh_path';
     print $em multon($sym,   'G','my_vars->');
     print $em multon("G$sym",'', 'my_vars->');
+    print $em "#endif\n" if $sym eq 'sh_path';
 }
 
 print $em <<'END';
 
-#else /* !PERL_GLOBAL_STRUCT */
-
-END
-
-for $sym (sort keys %globvar) {
-    print $em multoff($sym,'G');
-}
-
-print $em <<'END';
-
 #endif /* PERL_GLOBAL_STRUCT */
 END
 
 read_only_bottom_close_and_rename($em);
 
-my $capi = safer_open('perlapi.c-new', 'perlapi.c');
-my $capih = safer_open('perlapi.h-new', 'perlapi.h');
+my $capih = open_print_header('perlapi.h');
 
-print $capih do_not_edit ("perlapi.h"), <<'EOT';
+print $capih <<'EOT';
 /* declare accessor functions for Perl variables */
 #ifndef __perlapi_h__
 #define __perlapi_h__
@@ -670,14 +488,11 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#undef PERLVARISC
-#define PERLVAR(v,t)	EXTERN_C t* Perl_##v##_ptr(pTHX);
-#define PERLVARA(v,n,t)	typedef t PL_##v##_t[n];			\
-			EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
-#define PERLVARI(v,t,i)	PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v, const t)
-#define PERLVARISC(v,i)	typedef const char PL_##v##_t[sizeof(i)];	\
-			EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHX);
+#define PERLVAR(p,v,t)	EXTERN_C t* Perl_##p##v##_ptr(pTHX);
+#define PERLVARA(p,v,n,t)	typedef t PL_##v##_t[n];		\
+			EXTERN_C PL_##v##_t* Perl_##p##v##_ptr(pTHX);
+#define PERLVARI(p,v,t,i)	PERLVAR(p,v,t)
+#define PERLVARIC(p,v,t,i) PERLVAR(p,v, const t)
 
 #include "perlvars.h"
 
@@ -685,7 +500,6 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#undef PERLVARISC
 
 END_EXTERN_C
 
@@ -708,11 +522,10 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#define PERLVAR(v,t)	(void*)Perl_##v##_ptr,
-#define PERLVARA(v,n,t)	PERLVAR(v,t)
-#define PERLVARI(v,t,i)	PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
-#define PERLVARISC(v,i) PERLVAR(v,char)
+#define PERLVAR(p,v,t)		(void*)Perl_##p##v##_ptr,
+#define PERLVARA(p,v,n,t)	PERLVAR(p,v,t)
+#define PERLVARI(p,v,t,i)	PERLVAR(p,v,t)
+#define PERLVARIC(p,v,t,i)	PERLVAR(p,v,t)
 
 /* In Tru64 (__DEC && __osf__) the cc option -std1 causes that one
  * cannot cast between void pointers and function pointers without
@@ -737,7 +550,6 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#undef PERLVARISC
 };
 #endif	/* DOINIT */
 
@@ -749,8 +561,9 @@
 
 EOT
 
-foreach $sym (sort keys %globvar) {
-    print $capih bincompat_var('G',$sym);
+foreach $sym (@globvar) {
+    print $capih
+	"#undef  PL_$sym\n" . hide("PL_$sym", "(*Perl_G${sym}_ptr(NULL))");
 }
 
 print $capih <<'EOT';
@@ -763,9 +576,9 @@
 
 read_only_bottom_close_and_rename($capih);
 
-my $warning = do_not_edit ("perlapi.c");
-$warning =~ s! \*/\n! *
+my $capi = open_print_header('perlapi.c', <<'EOQ');
  *
+ *
  * Up to the threshold of the door there mounted a flight of twenty-seven
  * broad stairs, hewn by some unknown art of the same black stone.  This
  * was the only entrance to the tower; ...
@@ -773,9 +586,9 @@
  *     [p.577 of _The Lord of the Rings_, III/x: "The Voice of Saruman"]
  *
  */
-!;
+EOQ
 
-print $capi $warning, <<'EOT';
+print $capi <<'EOT';
 #include "EXTERN.h"
 #include "perl.h"
 #include "perlapi.h"
@@ -786,21 +599,18 @@
 START_EXTERN_C
 
 #undef PERLVARI
-#define PERLVARI(v,t,i) PERLVAR(v,t)
+#define PERLVARI(p,v,t,i) PERLVAR(p,v,t)
 
 #undef PERLVAR
 #undef PERLVARA
-#define PERLVAR(v,t)	t* Perl_##v##_ptr(pTHX)				\
+#define PERLVAR(p,v,t)		t* Perl_##p##v##_ptr(pTHX)		\
 			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
-#define PERLVARA(v,n,t)	PL_##v##_t* Perl_##v##_ptr(pTHX)		\
+#define PERLVARA(p,v,n,t)	PL_##v##_t* Perl_##p##v##_ptr(pTHX)	\
 			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
 #undef PERLVARIC
-#undef PERLVARISC
-#define PERLVARIC(v,t,i)	\
-			const t* Perl_##v##_ptr(pTHX)		\
+#define PERLVARIC(p,v,t,i)	\
+			const t* Perl_##p##v##_ptr(pTHX)		\
 			{ PERL_UNUSED_CONTEXT; return (const t *)&(PL_##v); }
-#define PERLVARISC(v,i)	PL_##v##_t* Perl_##v##_ptr(pTHX)	\
-			{ dVAR; PERL_UNUSED_CONTEXT; return &(PL_##v); }
 #include "perlvars.h"
 
 #undef PERLVAR
@@ -807,7 +617,6 @@
 #undef PERLVARA
 #undef PERLVARI
 #undef PERLVARIC
-#undef PERLVARISC
 
 END_EXTERN_C
 


Property changes on: vendor/perl/dist/regen/embed.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/keywords.pl
===================================================================
--- vendor/perl/dist/regen/keywords.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/keywords.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,15 +13,13 @@
 
 require 'regen/regen_lib.pl';
 
-my $h = safer_open('keywords.h-new', 'keywords.h');
-my $c = safer_open('keywords.c-new', 'keywords.c');
+my $h = open_new('keywords.h', '>',
+		 { by => 'regen/keywords.pl', from => 'its data',
+		   file => 'keywords.h', style => '*',
+		   copyright => [1994 .. 1997, 1999 .. 2002, 2005 .. 2007]});
+my $c = open_new('keywords.c', '>',
+		 { by => 'regen/keywords.pl', from => 'its data', style => '*'});
 
-print $h read_only_top(lang => 'C', by => 'regen/keywords.pl',
-		       from => 'its data', file => 'keywords.h', style => '*',
-		       copyright => [1994 .. 1997, 1999 .. 2002, 2005 .. 2007]);
-print $c read_only_top(lang => 'C', by => 'regen/keywords.pl',
-		       from => 'its data', style => '*');
-
 my %by_strength;
 
 my $keynum = 0;
@@ -35,6 +33,8 @@
     push @{$by_strength{$strength}}, $keyword;
 }
 
+# If this hash changes, make sure the equivalent hash in
+# dist/B-Deparse/Deparse.pm is also updated.
 my %feature_kw = (
 	given   => 'switch',
 	when    => 'switch',
@@ -45,6 +45,12 @@
 	say     => 'say',
 
 	state	=> 'state',
+
+	evalbytes=>'evalbytes',
+
+	__SUB__ => '__SUB__',
+
+	fc      => 'fc',
 	);
 
 my %pos = map { ($_ => 1) } @{$by_strength{'+'}};
@@ -64,6 +70,7 @@
 #define PERL_IN_KEYWORDS_C
 #include "perl.h"
 #include "keywords.h"
+#include "feature.h"
 
 I32
 Perl_keyword (pTHX_ const char *name, I32 len, bool all_keywords)
@@ -91,7 +98,7 @@
   elsif (my $feature = $feature_kw{$k}) {
     $feature =~ s/([\\"])/\\$1/g;
     return <<END;
-return (all_keywords || FEATURE_IS_ENABLED("$feature") ? ${sign}KEY_$k : 0);
+return (all_keywords || FEATURE_\U$feature\E_IS_ENABLED ? ${sign}KEY_$k : 0);
 END
   }
   return <<END;
@@ -101,6 +108,10 @@
 
 read_only_bottom_close_and_rename($_, [$0]) foreach $c, $h;
 
+
+# coresub_op in op.c expects __FILE__, __LINE__ and __PACKAGE__ to be the
+# first three.
+
 __END__
 
  NULL
@@ -109,6 +120,7 @@
 -__PACKAGE__
 +__DATA__
 +__END__
+-__SUB__
 +AUTOLOAD
 +BEGIN
 +UNITCHECK
@@ -161,10 +173,12 @@
 -eof
 -eq
 +eval
+-evalbytes
 -exec
 +exists
 -exit
 -exp
+-fc
 -fcntl
 -fileno
 -flock


Property changes on: vendor/perl/dist/regen/keywords.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/mk_PL_charclass.pl
===================================================================
--- vendor/perl/dist/regen/mk_PL_charclass.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/mk_PL_charclass.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,13 @@
 #!perl -w
-use 5.012;
+use v5.15.8;
 use strict;
 use warnings;
 require 'regen/regen_lib.pl';
 
-# This program outputs the 256 lines that form the guts of the PL_charclass
-# table.  The output should be used to manually replace the table contents in
-# l1_charclass_tab.h.  Each line is a bit map of properties that the Unicode
+# This program outputs l1_charclass_tab.h, which defines the guts of the
+# PL_charclass table.  Each line is a bit map of properties that the Unicode
 # code point at the corresponding position in the table array has.  The first
-# line corresponds to code point U+0000, NULL, the last line to U=00FF.  For
+# line corresponds to code point U+0000, NULL, the last line to U+00FF.  For
 # an application to see if the code point "i" has a particular property, it
 # just does
 #    'PL_charclass[i] & BIT'
@@ -19,98 +18,163 @@
 # character (ISO-8859-1 including the C0 and C1 controls).  A property without
 # these suffixes does not have different forms for both ranges.
 
-# The data in the table is pretty well set in stone, so that this program need
-# be run only when adding new properties to it.
+# This program need be run only when adding new properties to it, or upon a
+# new Unicode release, to make sure things haven't been changed by it.
 
 my @properties = qw(
-    ALNUMC_A
-    ALNUMC_L1
-    ALPHA_A
-    ALPHA_L1
-    BLANK_A
-    BLANK_L1
+    NONLATIN1_FOLD
+    ALPHANUMERIC
+    ALPHA
+    ASCII
+    BLANK
+    CASED
     CHARNAME_CONT
-    CNTRL_A
-    CNTRL_L1
-    DIGIT_A
-    GRAPH_A
-    GRAPH_L1
-    IDFIRST_A
-    IDFIRST_L1
-    LOWER_A
-    LOWER_L1
-    OCTAL_A
-    PRINT_A
-    PRINT_L1
-    PSXSPC_A
-    PSXSPC_L1
-    PUNCT_A
-    PUNCT_L1
-    SPACE_A
-    SPACE_L1
-    UPPER_A
-    UPPER_L1
-    WORDCHAR_A
-    WORDCHAR_L1
-    XDIGIT_A
+    CNTRL
+    DIGIT
+    GRAPH
+    IDFIRST
+    LOWER
+    NON_FINAL_FOLD
+    PRINT
+    PSXSPC
+    PUNCT
+    QUOTEMETA
+    SPACE
+    UPPER
+    WORDCHAR
+    XDIGIT
+    VERTSPACE
+    IS_IN_SOME_FOLD
+    BACKSLASH_FOO_LBRACE_IS_META
 );
 
 # Read in the case fold mappings.
 my %folded_closure;
-my $file="lib/unicore/CaseFolding.txt";
-open my $fh, "<", $file or die "Failed to read '$file': $!";
-while (<$fh>) {
-    chomp;
+my @hex_non_final_folds;
+my @folds;
+use Unicode::UCD;
 
-    # Lines look like (without the initial '#'
-    #0130; F; 0069 0307; # LATIN CAPITAL LETTER I WITH DOT ABOVE
-    my ($line, $comment) = split / \s+ \# \s+ /x, $_;
-    next if $line eq "" || substr($line, 0, 1) eq '#';
-    my ($hex_from, $fold_type, @folded) = split /[\s;]+/, $line;
+BEGIN { # Have to do this at compile time because using user-defined \p{property}
 
-    my $from = hex $hex_from;
+    # Use the Unicode data file if we are on an ASCII platform (which its data
+    # is for), and it is in the modern format (starting in Unicode 3.1.0) and
+    # it is available.  This avoids being affected by potential bugs
+    # introduced by other layers of Perl
+    my $file="lib/unicore/CaseFolding.txt";
 
-    # Perl only deals with C and F folds
-    next if $fold_type ne 'C' and $fold_type ne 'F';
+    if (ord('A') == 65
+        && pack("C*", split /\./, Unicode::UCD::UnicodeVersion()) ge v3.1.0
+        && open my $fh, "<", $file)
+    {
+        @folds = <$fh>;
+    }
+    else {
+        my ($invlist_ref, $invmap_ref, undef, $default)
+                                    = Unicode::UCD::prop_invmap('Case_Folding');
+        for my $i (0 .. @$invlist_ref - 1 - 1) {
+            next if $invmap_ref->[$i] == $default;
+            my $adjust = -1;
+            for my $j ($invlist_ref->[$i] .. $invlist_ref->[$i+1] -1) {
+                $adjust++;
 
-    # Get each code point in the range that participates in this line's fold.
-    # The hash has keys of each code point in the range, and values of what it
-    # folds to and what folds to it
-    foreach my $hex_fold (@folded) {
-        my $fold = hex $hex_fold;
-        push @{$folded_closure{$fold}}, $from if $fold < 256;
-        push @{$folded_closure{$from}}, $fold if $from < 256;
+                # Single-code point maps go to a 'C' type
+                if (! ref $invmap_ref->[$i]) {
+                    push @folds, sprintf("%04X; C; %04X\n",
+                                        $j,
+                                        $invmap_ref->[$i] + $adjust);
+                }
+                else {  # Multi-code point maps go to 'F'.  prop_invmap()
+                        # guarantees that no adjustment is needed for these,
+                        # as the range will contain just one element
+                    push @folds, sprintf("%04X; F; %s\n",
+                                        $j,
+                                        join " ", map { sprintf "%04X", $_ }
+                                                        @{$invmap_ref->[$i]});
+                }
+            }
+        }
     }
+
+    for (@folds) {
+        chomp;
+
+        # Lines look like (without the initial '#'
+        #0130; F; 0069 0307; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+        # Get rid of comments, ignore blank or comment-only lines
+        my $line = $_ =~ s/ (?: \s* \# .* )? $ //rx;
+        next unless length $line;
+        my ($hex_from, $fold_type, @folded) = split /[\s;]+/, $line;
+
+        my $from = hex $hex_from;
+
+        # Perl only deals with C and F folds
+        next if $fold_type ne 'C' and $fold_type ne 'F';
+
+        # Get each code point in the range that participates in this line's fold.
+        # The hash has keys of each code point in the range, and values of what it
+        # folds to and what folds to it
+        for my $i (0 .. @folded - 1) {
+            my $hex_fold = $folded[$i];
+            my $fold = hex $hex_fold;
+            push @{$folded_closure{$fold}}, $from if $fold < 256;
+            push @{$folded_closure{$from}}, $fold if $from < 256;
+
+            if ($i < @folded-1
+                && $fold < 256
+                && ! grep { $_ eq $hex_fold } @hex_non_final_folds)
+            {
+                push @hex_non_final_folds, $hex_fold;
+
+                # Also add the upper case, which in the latin1 range folds to
+                # $fold
+                push @hex_non_final_folds, sprintf "%04X", ord uc chr $fold;
+            }
+        }
+    }
+
+    # Now having read all the lines, combine them into the full closure of each
+    # code point in the range by adding lists together that share a common
+    # element
+    foreach my $folded (keys %folded_closure) {
+        foreach my $from (grep { $_ < 256 } @{$folded_closure{$folded}}) {
+            push @{$folded_closure{$from}}, @{$folded_closure{$folded}};
+        }
+    }
 }
 
-# Now having read all the lines, combine them into the full closure of each
-# code point in the range by adding lists together that share a common element
-foreach my $folded (keys %folded_closure) {
-    foreach my $from (grep { $_ < 256 } @{$folded_closure{$folded}}) {
-        push @{$folded_closure{$from}}, @{$folded_closure{$folded}};
+sub Is_Non_Latin1_Fold {
+    my @return;
+
+    foreach my $folded (keys %folded_closure) {
+        push @return, sprintf("%X", $folded), if grep { $_ > 255 }
+                                                     @{$folded_closure{$folded}};
     }
+    return join("\n", @return) . "\n";
 }
 
+sub Is_Non_Final_Fold {
+    return join("\n", @hex_non_final_folds) . "\n";
+}
+
 my @bits;   # Bit map for each code point
 
-foreach my $folded (keys %folded_closure) {
-    $bits[$folded] = "_CC_NONLATIN1_FOLD" if grep { $_ > 255 }
-                                                @{$folded_closure{$folded}};
-}
-
+# For each character, calculate which properties it matches.
 for my $ord (0..255) {
     my $char = chr($ord);
     utf8::upgrade($char);   # Important to use Unicode semantics!
+
+    # Look at all the properties we care about here.
     for my $property (@properties) {
         my $name = $property;
 
-        # The property name that corresponds to this doesn't have a suffix.
+        # Remove the suffix to get the actual property name.
+        # Currently the suffixes are '_L1', '_A', and none.
         # If is a latin1 version, no further checking is needed.
         if (! ($name =~ s/_L1$//)) {
 
-            # Here, isn't an L1.  It's either a special one or the suffix ends
-            # in _A.  In the latter case, it's automatically false for
-            # non-ascii.  The one current special is valid over the whole range.
+            # Here, isn't an _L1.  If its _A, it's automatically false for
+            # non-ascii.  The only current ones (besides ASCII) without a
+            # suffix are valid over the whole range.
             next if $name =~ s/_A$// && $ord >= 128;
 
         }
@@ -121,20 +185,33 @@
             # just \pP outside it.
             $re = qr/\p{Punct}|[^\P{Symbol}\P{ASCII}]/;
         } elsif ($name eq 'CHARNAME_CONT') {;
-            $re = qr/[-\w ():\xa0]/;
+            $re = qr/\p{_Perl_Charname_Continue}/,
         } elsif ($name eq 'SPACE') {;
-            $re = qr/\s/;
+            $re = qr/\p{XPerlSpace}/;
         } elsif ($name eq 'IDFIRST') {
             $re = qr/[_\p{Alpha}]/;
         } elsif ($name eq 'PSXSPC') {
             $re = qr/[\v\p{Space}]/;
         } elsif ($name eq 'WORDCHAR') {
-            $re = qr/\w/;
-        } elsif ($name eq 'ALNUMC') {
+            $re = qr/\p{XPosixWord}/;
+        } elsif ($name eq 'ALPHANUMERIC') {
             # Like \w, but no underscore
             $re = qr/\p{Alnum}/;
-        } elsif ($name eq 'OCTAL') {
-            $re = qr/[0-7]/;
+        } elsif ($name eq 'QUOTEMETA') {
+            $re = qr/\p{_Perl_Quotemeta}/;
+        } elsif ($name eq 'NONLATIN1_FOLD') {
+            $re = qr/\p{Is_Non_Latin1_Fold}/;
+        } elsif ($name eq 'NON_FINAL_FOLD') {
+            $re = qr/\p{Is_Non_Final_Fold}/;
+        } elsif ($name eq 'IS_IN_SOME_FOLD') {
+            $re = qr/\p{_Perl_Any_Folds}/;
+        } elsif ($name eq 'BACKSLASH_FOO_LBRACE_IS_META') {
+
+            # This is true for FOO where FOO is the varying character in:
+            # \a{, \b{, \c{, ...
+            # and the sequence has non-literal meaning to Perl; so it is true
+            # for 'x' because \x{ is special, but not 'a' because \a{ isn't.
+            $re = qr/[gkNopPx]/;
         } else {    # The remainder have the same name and values as Unicode
             $re = eval "qr/\\p{$name}/";
             use Carp;
@@ -143,7 +220,7 @@
         #print "$ord, $name $property, $re\n";
         if ($char =~ $re) {  # Add this property if matches
             $bits[$ord] .= '|' if $bits[$ord];
-            $bits[$ord] .= "_CC_$property";
+            $bits[$ord] .= "(1U<<_CC_$property)";
         }
     }
     #print __LINE__, " $ord $char $bits[$ord]\n";
@@ -222,8 +299,9 @@
                 APC
             );
 
-my $out_fh = safer_open('l1_char_class_tab.h-new', 'l1_char_class_tab.h');
-print $out_fh read_only_top(lang => 'C', style => '*', by => $0, from => $file);
+my $out_fh = open_new('l1_char_class_tab.h', '>',
+		      {style => '*', by => $0,
+                      from => "property definitions"});
 
 # Output the table using fairly short names for each char.
 for my $ord (0..255) {


Property changes on: vendor/perl/dist/regen/mk_PL_charclass.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/opcode.pl
===================================================================
--- vendor/perl/dist/regen/opcode.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/opcode.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,9 +20,15 @@
     require 'regen/regen_lib.pl';
 }
 
-my $oc = safer_open('opcode.h-new', 'opcode.h');
-my $on = safer_open('opnames.h-new', 'opnames.h');
+my $oc = open_new('opcode.h', '>',
+		  {by => 'regen/opcode.pl', from => 'its data',
+		   file => 'opcode.h', style => '*',
+		   copyright => [1993 .. 2007]});
 
+my $on = open_new('opnames.h', '>',
+		  { by => 'regen/opcode.pl', from => 'its data', style => '*',
+		    file => 'opnames.h', copyright => [1999 .. 2008] });
+
 # Read data.
 
 my %seen;
@@ -38,8 +44,10 @@
     $args = '' unless defined $args;
 
     warn qq[Description "$desc" duplicates $seen{$desc}\n]
-     if $seen{$desc} and $key ne "transr";
+     if $seen{$desc} and $key !~ "transr|(?:intro|clone)cv";
     die qq[Opcode "$key" duplicates $seen{$key}\n] if $seen{$key};
+    die qq[Opcode "freed" is reserved for the slab allocator\n]
+	if $key eq 'freed';
     $seen{$desc} = qq[description of opcode "$key"];
     $seen{$key} = qq[opcode "$key"];
 
@@ -110,13 +118,12 @@
 		 Perl_pp_chop => [qw(chop chomp)],
 		 Perl_pp_schop => [qw(schop schomp)],
 		 Perl_pp_bind => {connect => '#ifdef HAS_SOCKET'},
-		 Perl_pp_preinc => ['i_preinc'],
-		 Perl_pp_predec => ['i_predec'],
-		 Perl_pp_postinc => ['i_postinc'],
-		 Perl_pp_postdec => ['i_postdec'],
+		 Perl_pp_preinc => ['i_preinc', 'predec', 'i_predec'],
+		 Perl_pp_postinc => ['i_postinc', 'postdec', 'i_postdec'],
 		 Perl_pp_ehostent => [qw(enetent eprotoent eservent
 					 spwent epwent sgrent egrent)],
 		 Perl_pp_shostent => [qw(snetent sprotoent sservent)],
+		 Perl_pp_aelemfast => ['aelemfast_lex'],
 		);
 
 while (my ($func, $names) = splice @raw_alias, 0, 2) {
@@ -138,10 +145,7 @@
 
 # Emit defines.
 
-print $oc read_only_top(lang => 'C', by => 'regen/opcode.pl', from => 'its data',
-			file => 'opcode.h', style => '*',
-			copyright => [1993 .. 2007]),
-    "#ifndef PERL_GLOBAL_STRUCT_INIT\n\n";
+print $oc    "#ifndef PERL_GLOBAL_STRUCT_INIT\n\n";
 
 {
     my $last_cond = '';
@@ -178,10 +182,7 @@
     unimplemented();
 }
 
-print $on read_only_top(lang => 'C', by => 'regen/opcode.pl',
-			from => 'its data', style => '*',
-			file => 'opnames.h', copyright => [1999 .. 2008]),
-    "typedef enum opcode {\n";
+print $on "typedef enum opcode {\n";
 
 my $i = 0;
 for (@ops) {
@@ -190,6 +191,7 @@
 print $on "\t", tab(3,"OP_max"), "\n";
 print $on "} opcode;\n";
 print $on "\n#define MAXO ", scalar @ops, "\n";
+print $on "#define OP_FREED MAXO\n";
 
 # Emit op names and descriptions.
 
@@ -207,6 +209,7 @@
 }
 
 print $oc <<'END';
+	"freed",
 };
 #endif
 
@@ -226,6 +229,7 @@
 }
 
 print $oc <<'END';
+	"freed op",
 };
 #endif
 
@@ -348,9 +352,12 @@
     'u' => 128,		# defaults to $_
 );
 
-my %OP_IS_SOCKET;
-my %OP_IS_FILETEST;
-my %OP_IS_FT_ACCESS;
+my %OP_IS_SOCKET;	# /Fs/
+my %OP_IS_FILETEST;	# /F-/
+my %OP_IS_FT_ACCESS;	# /F-+/
+my %OP_IS_NUMCOMPARE;	# /S</
+my %OP_IS_DIRHOP;	# /Fd/
+
 my $OCSHIFT = 8;
 my $OASHIFT = 12;
 
@@ -369,6 +376,10 @@
     $argsum |= $opclass{$flags} << $OCSHIFT;
     my $argshift = $OASHIFT;
     for my $arg (split(' ',$args{$op})) {
+	if ($arg =~ s/^D//) {
+	    # handle 1st, just to put D 1st.
+	    $OP_IS_DIRHOP{$op}   = $opnum{$op};
+	}
 	if ($arg =~ /^F/) {
 	    # record opnums of these opnames
 	    $OP_IS_SOCKET{$op}   = $opnum{$op} if $arg =~ s/s//;
@@ -375,6 +386,9 @@
 	    $OP_IS_FILETEST{$op} = $opnum{$op} if $arg =~ s/-//;
 	    $OP_IS_FT_ACCESS{$op} = $opnum{$op} if $arg =~ s/\+//;
         }
+	elsif ($arg =~ /^S</) {
+	    $OP_IS_NUMCOMPARE{$op} = $opnum{$op} if $arg =~ s/<//;
+	}
 	my $argnum = ($arg =~ s/\?//) ? 8 : 0;
         die "op = $op, arg = $arg\n"
 	    unless exists $argnum{$arg};
@@ -402,14 +416,17 @@
 
 print $on <<'EO_OP_IS_COMMENT';
 
-/* the OP_IS_(SOCKET|FILETEST) macros are optimized to a simple range
-    check because all the member OPs are contiguous in opcode.pl
-    <OPS> table.  opcode.pl verifies the range contiguity.  */
+/* the OP_IS_* macros are optimized to a simple range check because
+    all the member OPs are contiguous in regen/opcodes table.
+    opcode.pl verifies the range contiguity, or generates an OR-equals
+    expression */
 EO_OP_IS_COMMENT
 
 gen_op_is_macro( \%OP_IS_SOCKET, 'OP_IS_SOCKET');
 gen_op_is_macro( \%OP_IS_FILETEST, 'OP_IS_FILETEST');
 gen_op_is_macro( \%OP_IS_FT_ACCESS, 'OP_IS_FILETEST_ACCESS');
+gen_op_is_macro( \%OP_IS_NUMCOMPARE, 'OP_IS_NUMCOMPARE');
+gen_op_is_macro( \%OP_IS_DIRHOP, 'OP_IS_DIRHOP');
 
 sub gen_op_is_macro {
     my ($op_is, $macname) = @_;
@@ -430,21 +447,20 @@
 	if ( $op_is->{$last} - $op_is->{$first} == scalar @rest + 1) {
 	    
 	    # contiguous ops -> optimized version
-	    print $on "(op) >= OP_" . uc($first) . " && (op) <= OP_" . uc($last);
-	    print $on ")\n";
+	    print $on "(op) >= OP_" . uc($first)
+		. " && (op) <= OP_" . uc($last);
 	}
 	else {
 	    print $on join(" || \\\n\t ",
-			  map { "(op) == OP_" . uc() } sort keys %$op_is);
-	    print $on ")\n";
+			   map { "(op) == OP_" . uc() } sort keys %$op_is);
 	}
+	print $on ")\n";
     }
 }
 
-my $pp = safer_open('pp_proto.h-new', 'pp_proto.h');
+my $pp = open_new('pp_proto.h', '>',
+		  { by => 'opcode.pl', from => 'its data' });
 
-print $pp read_only_top(lang => 'C', by => 'opcode.pl', from => 'its data');
-
 {
     my %funcs;
     for (@ops) {


Property changes on: vendor/perl/dist/regen/opcode.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/opcodes
===================================================================
--- vendor/perl/dist/regen/opcodes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/opcodes	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,6 +30,7 @@
 # scalar      - S            list     - L            array     - A
 # hash        - H            sub (CV) - C            file      - F
 # socket      - Fs           filetest - F-           filetest_access - F-+
+# num-compare - S<           dirhandle - DF
 
 # reference - R
 # "?" denotes an optional operand.
@@ -88,7 +89,8 @@
 subst		substitution (s///)	ck_match	dis/	S
 substcont	substitution iterator	ck_null		dis|	
 trans		transliteration (tr///)	ck_match	is"	S
-# transr (the /r version) is further down.
+# y///r
+transr		transliteration (tr///)	ck_match	is"	S
 
 # Lvalue operators.
 # sassign is special-cased for op class
@@ -101,9 +103,9 @@
 chomp		chomp			ck_spair	mTs%	L
 schomp		scalar chomp		ck_null		sTu%	S?
 defined		defined operator	ck_defined	isu%	S?
-undef		undef operator		ck_lfun		s%	S?
+undef		undef operator		ck_fun		s%	R?
 study		study			ck_fun		su%	S?
-pos		match position		ck_lfun		stu%	S?
+pos		match position		ck_fun		stu%	R?
 
 preinc		preincrement (++)		ck_lfun		dIs1	S
 i_preinc	integer preincrement (++)	ck_lfun		dis1	S
@@ -124,7 +126,7 @@
 i_divide	integer division (/)	ck_null		ifsT2	S S
 modulo		modulus (%)		ck_null		IifsT2	S S
 i_modulo	integer modulus (%)	ck_null		ifsT2	S S
-repeat		repeat (x)		ck_repeat	mt2	L S
+repeat		repeat (x)		ck_repeat	fmt2	L S
 
 add		addition (+)		ck_null		IfsT2	S S
 i_add		integer addition (+)	ck_null		ifsT2	S S
@@ -136,20 +138,20 @@
 left_shift	left bitshift (<<)	ck_bitop	fsT2	S S
 right_shift	right bitshift (>>)	ck_bitop	fsT2	S S
 
-lt		numeric lt (<)		ck_null		Iifs2	S S
-i_lt		integer lt (<)		ck_null		ifs2	S S
-gt		numeric gt (>)		ck_null		Iifs2	S S
-i_gt		integer gt (>)		ck_null		ifs2	S S
-le		numeric le (<=)		ck_null		Iifs2	S S
-i_le		integer le (<=)		ck_null		ifs2	S S
-ge		numeric ge (>=)		ck_null		Iifs2	S S
-i_ge		integer ge (>=)		ck_null		ifs2	S S
-eq		numeric eq (==)		ck_null		Iifs2	S S
-i_eq		integer eq (==)		ck_null		ifs2	S S
-ne		numeric ne (!=)		ck_null		Iifs2	S S
-i_ne		integer ne (!=)		ck_null		ifs2	S S
-ncmp		numeric comparison (<=>)	ck_null		Iifst2	S S
-i_ncmp		integer comparison (<=>)	ck_null		ifst2	S S
+lt		numeric lt (<)		ck_cmp		Iifs2	S S<
+i_lt		integer lt (<)		ck_cmp		ifs2	S S<
+gt		numeric gt (>)		ck_cmp		Iifs2	S S<
+i_gt		integer gt (>)		ck_cmp		ifs2	S S<
+le		numeric le (<=)		ck_cmp		Iifs2	S S<
+i_le		integer le (<=)		ck_cmp		ifs2	S S<
+ge		numeric ge (>=)		ck_cmp		Iifs2	S S<
+i_ge		integer ge (>=)		ck_cmp		ifs2	S S<
+eq		numeric eq (==)		ck_null		Iifs2	S S<
+i_eq		integer eq (==)		ck_null		ifs2	S S<
+ne		numeric ne (!=)		ck_null		Iifs2	S S<
+i_ne		integer ne (!=)		ck_null		ifs2	S S<
+ncmp		numeric comparison (<=>)	ck_null		Iifst2	S S<
+i_ncmp		integer comparison (<=>)	ck_null		ifst2	S S<
 
 slt		string lt		ck_null		ifs2	S S
 sgt		string gt		ck_null		ifs2	S S
@@ -190,7 +192,7 @@
 
 # String stuff.
 
-length		length			ck_fun		ifsTu%	S?
+length		length			ck_length	ifsTu%	S?
 substr		substr			ck_substr	st@	S S S? S?
 vec		vec			ck_fun		ist@	S S S
 
@@ -197,7 +199,7 @@
 index		index			ck_index	isT@	S S S?
 rindex		rindex			ck_index	isT@	S S S?
 
-sprintf		sprintf			ck_fun		fmst@	S L
+sprintf		sprintf			ck_lfun		fmst@	S L
 formline	formline		ck_fun		ms@	S L
 ord		ord			ck_fun		ifsTu%	S?
 chr		chr			ck_fun		fsTu%	S?
@@ -212,6 +214,7 @@
 
 rv2av		array dereference	ck_rvconst	dt1	
 aelemfast	constant array element	ck_null		s$	A S
+aelemfast_lex	constant lexical array element	ck_null		d0	A S
 aelem		array element		ck_null		s2	A S
 aslice		array slice		ck_null		m@	A L
 
@@ -229,12 +232,11 @@
 rv2hv		hash dereference	ck_rvconst	dt1	
 helem		hash element		ck_null		s2	H S
 hslice		hash slice		ck_null		m@	H L
-boolkeys	boolkeys		ck_fun		%	H
 
 # Explosives and implosives.
 
-unpack		unpack			ck_unpack	@	S S?
-pack		pack			ck_fun		mst@	S L
+unpack		unpack			ck_fun		u@	S S?
+pack		pack			ck_fun		fmst@	S L
 split		split			ck_split	t@	S S S
 join		join or string		ck_join		mst@	S L
 
@@ -346,8 +348,8 @@
 syswrite	syswrite		ck_fun		imst@	F S S? S?
 
 eof		eof			ck_eof		is%	F?
-tell		tell			ck_fun		st%	F?
-seek		seek			ck_fun		s@	F S S
+tell		tell			ck_tell		st%	F?
+seek		seek			ck_tell		s@	F S S
 # truncate really behaves as if it had both "S S" and "F S"
 truncate	truncate		ck_trunc	is@	S S
 
@@ -377,8 +379,8 @@
 
 # Stat calls.  OP_IS_FILETEST wants them consecutive.
 
-lstat		lstat			ck_ftst		u-	F
-stat		stat			ck_ftst		u-	F
+lstat		lstat			ck_ftst		u-	F?
+stat		stat			ck_ftst		u-	F?
 ftrread		-R			ck_ftst		isu-	F-+
 ftrwrite	-W			ck_ftst		isu-	F-+
 ftrexec		-X			ck_ftst		isu-	F-+
@@ -410,7 +412,7 @@
 # File calls.
 
 # chdir really behaves as if it had both "S?" and "F?"
-chdir		chdir			ck_chdir	isT%	S?
+chdir		chdir			ck_trunc	isT%	S?
 chown		chown			ck_fun		imsT@	L
 chroot		chroot			ck_fun		isTu%	S?
 unlink		unlink			ck_fun		imsTu@	L
@@ -426,11 +428,11 @@
 # Directory calls.
 
 open_dir	opendir			ck_fun		is@	F S
-readdir		readdir			ck_fun		%	F
-telldir		telldir			ck_fun		st%	F
-seekdir		seekdir			ck_fun		s@	F S
-rewinddir	rewinddir		ck_fun		s%	F
-closedir	closedir		ck_fun		is%	F
+readdir		readdir			ck_fun		%	DF
+telldir		telldir			ck_fun		st%	DF
+seekdir		seekdir			ck_fun		s@	DF S
+rewinddir	rewinddir		ck_fun		s%	DF
+closedir	closedir		ck_fun		is%	DF
 
 # Process control.
 
@@ -480,9 +482,8 @@
 require		require			ck_require	du%	S?
 dofile		do "file"		ck_fun		d1	S
 hintseval	eval hints		ck_svconst	s$
-entereval	eval "string"		ck_eval		d%	S
+entereval	eval "string"		ck_eval		du%	S?
 leaveeval	eval "string" exit	ck_null		1	S
-#evalonce	eval constant string	ck_null		d1	S
 entertry	eval {block}		ck_eval		d|	
 leavetry	eval {block} exit	ck_null		@	
 
@@ -538,5 +539,15 @@
 rkeys		keys on reference			ck_each		t%	S
 rvalues		values on reference			ck_each		t%	S
 
-# y///r
-transr		transliteration (tr///)	ck_match	is"	S
+# For CORE:: subs
+coreargs	CORE:: subroutine	ck_null		$	
+
+runcv		__SUB__			ck_null		s0
+
+# fc and \F
+fc		fc			ck_fun		fstu%	S?
+
+padcv		private subroutine	ck_null		d0
+introcv		private subroutine	ck_null		d0
+clonecv		private subroutine	ck_null		d0
+padrange	list of private variables	ck_null		d0


Property changes on: vendor/perl/dist/regen/opcodes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/overload.pl
===================================================================
--- vendor/perl/dist/regen/overload.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/overload.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,14 +30,17 @@
   push @names, $name;
 }
 
-my $c = safer_open('overload.c-new', 'overload.c');
-my $h = safer_open('overload.h-new', 'overload.h');
+my ($c, $h) = map {
+    open_new($_, '>',
+	     { by => 'regen/overload.pl', file => $_, style => '*',
+	       copyright => [1997, 1998, 2000, 2001, 2005 .. 2007, 2011] });
+} 'overload.c', 'overload.h';
+
 mkdir("lib/overload", 0777) unless -d 'lib/overload';
-my $p = safer_open('lib/overload/numbers.pm-new', 'lib/overload/numbers.pm');
+my $p = open_new('lib/overload/numbers.pm', '>',
+		 { by => 'regen/overload.pl',
+		   file => 'lib/overload/numbers.pm', copyright => [2008] });
 
-print $p read_only_top(lang => 'Perl', by => 'regen/overload.pl',
-		       file => 'lib/overload/numbers.pm', copyright => [2008]);
-
 {
 local $" = "\n    ";
 print $p <<"EOF";
@@ -57,14 +60,6 @@
 EOF
 }
 
-for ([$c, 'overload.c'], [$h, 'overload.h']) {
-    my ($handle, $file) = @$_;
-    print $handle read_only_top(lang => 'C', by => 'regen/overload.pl',
-				file => $file, style => '*',
-				copyright => [1997, 1998, 2000, 2001,
-					     2005 .. 2007, 2011]);
-}
-
 print $h "enum {\n";
 
 for (0..$#enums) {
@@ -203,5 +198,3 @@
 smart		(~~
 ftest           (-X
 regexp          (qr
-# Note: Perl_Gv_AMupdate() assumes that DESTROY is the last entry
-DESTROY		DESTROY


Property changes on: vendor/perl/dist/regen/overload.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/reentr.pl
===================================================================
--- vendor/perl/dist/regen/reentr.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/reentr.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -50,13 +50,17 @@
 # Example #2: S_SBIE  means type func_r(type, char*, int, int*)
 # Example #3: S_CBI   means type func_r(const char*, char*, int)
 
+sub open_print_header {
+    my ($file, $quote) = @_;
+    return open_new($file, '>',
+		    { by => 'regen/reentr.pl',
+		      from => 'data in regen/reentr.pl',
+		      file => $file, style => '*',
+		      copyright => [2002, 2003, 2005 .. 2007],
+		      quote => $quote });
+}
 
-my $h = safer_open('reentr.h-new', 'reentr.h');
-print $h read_only_top(lang => 'C', by => 'regen/reentr.pl',
-		       from => 'data in regen/reentr.pl',
-		       file => 'reentr.h', style => '*',
-		       copyright => [2002, 2003, 2005 .. 2007]);
-
+my $h = open_print_header('reentr.h');
 print $h <<EOF;
 #ifndef REENTR_H
 #define REENTR_H
@@ -222,7 +226,7 @@
 	}
 	# Output the metaconfig unit header.
 	print U <<"EOF";
-?RCS: \$Id: reentr.pl,v 1.1.1.1 2011-05-18 13:33:26 laffer1 Exp ${func}_r.U,v $
+?RCS: \$Id: d_${func}_r.U,v $
 ?RCS:
 ?RCS: Copyright (c) 2002,2003 Jarkko Hietaniemi
 ?RCS:
@@ -782,15 +786,10 @@
 
 # Prepare to write the reentr.c.
 
-my $c = safer_open('reentr.c-new', 'reentr.c');
-my $top = read_only_top(lang => 'C', by => 'regen/reentr.pl',
-			from => 'data in regen/reentr.pl',
-			file => 'reentr.c', style => '*',
-			copyright => [2002, 2003, 2005 .. 2007]);
-
-$top =~ s! \*/\n! *
+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\!"
+ *  wield the One, and you know that well, so do not trouble to say we!"
  *
  * This file contains a collection of automatically created wrappers
  * (created by running reentr.pl) for reentrant (thread-safe) versions of
@@ -799,9 +798,9 @@
  * care about the differences between various platforms' idiosyncrasies
  * regarding these reentrant interfaces.  
  */
-!s;
+EOQ
 
-print $c $top, <<"EOF";
+print $c <<"EOF";
 #include "EXTERN.h"
 #define PERL_IN_REENTR_C
 #include "perl.h"
@@ -836,10 +835,10 @@
 void*
 Perl_reentrant_retry(const char *f, ...)
 {
-    dTHX;
     void *retptr = NULL;
     va_list ap;
 #ifdef USE_REENTRANT_API
+    dTHX;
     /* Easier to special case this here than in embed.pl. (Look at what it
        generates for proto.h) */
     PERL_ARGS_ASSERT_REENTRANT_RETRY;


Property changes on: vendor/perl/dist/regen/reentr.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/regcharclass.pl
===================================================================
--- vendor/perl/dist/regen/regcharclass.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/regcharclass.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,4 @@
+#!perl
 package CharClass::Matcher;
 use strict;
 use 5.008;
@@ -4,11 +5,15 @@
 use warnings;
 use warnings FATAL => 'all';
 use Text::Wrap qw(wrap);
-use Encode;
 use Data::Dumper;
 $Data::Dumper::Useqq= 1;
 our $hex_fmt= "0x%02X";
 
+sub DEBUG () { 0 }
+$|=1 if DEBUG;
+
+sub ASCII_PLATFORM { (ord('A') == 65) }
+
 require 'regen/regen_lib.pl';
 
 =head1 NAME
@@ -23,37 +28,48 @@
 
 Dynamically generates macros for detecting special charclasses
 in latin-1, utf8, and codepoint forms. Macros can be set to return
-the length (in bytes) of the matched codepoint, or the codepoint itself.
+the length (in bytes) of the matched codepoint, and/or the codepoint itself.
 
-To regenerate regcharclass.h, run this script from perl-root. No arguments
+To regenerate F<regcharclass.h>, run this script from perl-root. No arguments
 are necessary.
 
-Using WHATEVER as an example the following macros will be produced:
+Using WHATEVER as an example the following macros can be produced, depending
+on the input parameters (how to get each is described by internal comments at
+the C<__DATA__> line):
 
 =over 4
 
-=item is_WHATEVER(s,is_utf8)
+=item C<is_WHATEVER(s,is_utf8)>
 
-=item is_WHATEVER_safe(s,e,is_utf8)
+=item C<is_WHATEVER_safe(s,e,is_utf8)>
 
-Do a lookup as appropriate based on the is_utf8 flag. When possible
-comparisons involving octect<128 are done before checking the is_utf8
+Do a lookup as appropriate based on the C<is_utf8> flag. When possible
+comparisons involving octect<128 are done before checking the C<is_utf8>
 flag, hopefully saving time.
 
-=item is_WHATEVER_utf8(s)
+The version without the C<_safe> suffix should be used only when the input is
+known to be well-formed.
 
-=item is_WHATEVER_utf8_safe(s,e)
+=item C<is_WHATEVER_utf8(s)>
 
+=item C<is_WHATEVER_utf8_safe(s,e)>
+
 Do a lookup assuming the string is encoded in (normalized) UTF8.
 
-=item is_WHATEVER_latin1(s)
+The version without the C<_safe> suffix should be used only when the input is
+known to be well-formed.
 
-=item is_WHATEVER_latin1_safe(s,e)
+=item C<is_WHATEVER_latin1(s)>
 
+=item C<is_WHATEVER_latin1_safe(s,e)>
+
 Do a lookup assuming the string is encoded in latin-1 (aka plan octets).
 
-=item is_WHATEVER_cp(cp)
+The version without the C<_safe> suffix should be used only when it is known
+that C<s> contains at least one character.
 
+=item C<is_WHATEVER_cp(cp)>
+
 Check to see if the string matches a given codepoint (hypothetically a
 U32). The condition is constructed as as to "break out" as early as
 possible if the codepoint is out of range of the condition.
@@ -65,12 +81,35 @@
 Thus if the character is X+1 only two comparisons will be done. Making
 matching lookups slower, but non-matching faster.
 
+=item C<what_len_WHATEVER_FOO(arg1, ..., len)>
+
+A variant form of each of the macro types described above can be generated, in
+which the code point is returned by the macro, and an extra parameter (in the
+final position) is added, which is a pointer for the macro to set the byte
+length of the returned code point.
+
+These forms all have a C<what_len> prefix instead of the C<is_>, for example
+C<what_len_WHATEVER_safe(s,e,is_utf8,len)> and
+C<what_len_WHATEVER_utf8(s,len)>.
+
+These forms should not be used I<except> on small sets of mostly widely
+separated code points; otherwise the code generated is inefficient.  For these
+cases, it is best to use the C<is_> forms, and then find the code point with
+C<utf8_to_uvchr_buf>().  This program can fail with a "deep recursion"
+message on the worst of the inappropriate sets.  Examine the generated macro
+to see if it is acceptable.
+
+=item C<what_WHATEVER_FOO(arg1, ...)>
+
+A variant form of each of the C<is_> macro types described above can be generated, in
+which the code point and not the length is returned by the macro.  These have
+the same caveat as L</what_len_WHATEVER_FOO(arg1, ..., len)>, plus they should
+not be used where the set contains a NULL, as 0 is returned for two different
+cases: a) the set doesn't include the input code point; b) the set does
+include it, and it is a NULL.
+
 =back
 
-Additionally it is possible to generate C<what_> variants that return
-the codepoint read instead of the number of octets read, this can be
-done by suffixing '-cp' to the type description.
-
 =head2 CODE FORMAT
 
 perltidy  -st -bt=1 -bbt=0 -pt=0 -sbt=1 -ce -nwls== "%f"
@@ -78,7 +117,7 @@
 
 =head1 AUTHOR
 
-Author: Yves Orton (demerphq) 2007
+Author: Yves Orton (demerphq) 2007.  Maintained by Perl5 Porters.
 
 =head1 BUGS
 
@@ -107,14 +146,16 @@
 # represent the string in some given encoding with specific conditions.
 #
 # $cp - list of codepoints that make up the string.
-# $n  - list of octets that make up the string if all codepoints < 128
+# $n  - list of octets that make up the string if all codepoints are invariant
+#       regardless of if the string is in UTF-8 or not.
 # $l  - list of octets that make up the string in latin1 encoding if all
-#       codepoints < 256, and at least one codepoint is >127.
-# $u  - list of octets that make up the string in utf8 if any codepoint >127
+#       codepoints < 256, and at least one codepoint is UTF-8 variant.
+# $u  - list of octets that make up the string in utf8 if any codepoint is
+#       UTF-8 variant
 #
 #   High CP | Defined
 #-----------+----------
-#   0 - 127 : $n
+#   0 - 127 : $n            (127/128 are the values for ASCII platforms)
 # 128 - 255 : $l, $u
 # 256 - ... : $u
 #
@@ -123,24 +164,37 @@
     my $str= shift;
     my $max= 0;
     my @cp;
+    my @cp_high;
+    my $only_has_invariants = 1;
     for my $ch ( split //, $str ) {
         my $cp= ord $ch;
         push @cp, $cp;
+        push @cp_high, $cp if $cp > 255;
         $max= $cp if $max < $cp;
+        if (! ASCII_PLATFORM && $only_has_invariants) {
+            if ($cp > 255) {
+                $only_has_invariants = 0;
+            }
+            else {
+                my $temp = chr($cp);
+                utf8::upgrade($temp);
+                my @utf8 = unpack "U0C*", $temp;
+                $only_has_invariants = (@utf8 == 1 && $utf8[0] == $cp);
+            }
+        }
     }
     my ( $n, $l, $u );
-    if ( $max < 128 ) {
+    $only_has_invariants = $max < 128 if ASCII_PLATFORM;
+    if ($only_has_invariants) {
         $n= [@cp];
     } else {
         $l= [@cp] if $max && $max < 256;
 
-        my $copy= $str;    # must copy string, FB_CROAK makes encode destructive
-        $u= eval { Encode::encode( "utf8", $copy, Encode::FB_CROAK ) };
-        # $u is utf8 but with the utf8 flag OFF
-        # therefore "C*" gets us the values of the bytes involved.
-        $u= [ unpack "C*", $u ] if defined $u;
+        $u= $str;
+        utf8::upgrade($u);
+        $u= [ unpack "U0C*", $u ] if defined $u;
     }
-    return ( \@cp, $n, $l, $u );
+    return ( \@cp, \@cp_high, $n, $l, $u );
 }
 
 #
@@ -152,14 +206,42 @@
 
 sub __clean {
     my ( $expr )= @_;
+
+    #return $expr;
+
     our $parens;
     $parens= qr/ (?> \( (?> (?: (?> [^()]+ ) | (??{ $parens }) )* ) \) ) /x;
 
-    #print "$parens\n$expr\n";
+    ## remove redundant parens
     1 while $expr =~ s/ \( \s* ( $parens ) \s* \) /$1/gx;
-    1 while $expr =~ s/ \( \s* ($parens) \s* \? \s*
-        \( \s* ($parens) \s* \? \s* ($parens|[^:]+?) \s* : \s* ($parens|[^)]+?) \s* \)
-        \s* : \s* \4 \s* \)/( ( $1 && $2 ) ? $3 : 0 )/gx;
+
+
+    # repeatedly simplify conditions like
+    #       ( (cond1) ? ( (cond2) ? X : Y ) : Y )
+    # into
+    #       ( ( (cond1) && (cond2) ) ? X : Y )
+    # Also similarly handles expressions like:
+    #       : (cond1) ? ( (cond2) ? X : Y ) : Y )
+    # Note the inclusion of the close paren in ([:()]) and the open paren in ([()]) is
+    # purely to ensure we have a balanced set of parens in the expression which makes
+    # it easier to understand the pattern in an editor that understands paren's, we do
+    # not expect either of these cases to actually fire. - Yves
+    1 while $expr =~ s/
+        ([:()])  \s*
+            ($parens) \s*
+            \? \s*
+                \( \s* ($parens) \s*
+                    \? \s* ($parens|[^()?:\s]+?) \s*
+                    :  \s* ($parens|[^()?:\s]+?) \s*
+                \) \s*
+            : \s* \5 \s*
+        ([()])
+    /$1 ( $2 && $3 ) ? $4 : $5 $6/gx;
+    #$expr=~s/\(\(U8\*\)s\)\[(\d+)\]/S$1/g if length $expr > 8000;
+    #$expr=~s/\s+//g if length $expr > 8000;
+
+    die "Expression too long" if length $expr > 8000;
+
     return $expr;
 }
 
@@ -224,7 +306,7 @@
 #
 # Each string is then stored in the 'strs' subhash as a hash record
 # made up of the results of __uni_latin1, using the keynames
-# 'low','latin1','utf8', as well as the synthesized 'LATIN1' and
+# 'low','latin1','utf8', as well as the synthesized 'LATIN1', 'high', and
 # 'UTF8' which hold a merge of 'low' and their lowercase equivelents.
 #
 # Size data is tracked per type in the 'size' subhash.
@@ -247,23 +329,70 @@
         my $str= $txt;
         if ( $str =~ /^[""]/ ) {
             $str= eval $str;
+        } elsif ($str =~ / - /x ) { # A range:  Replace this element on the
+                                    # list with its expansion
+            my ($lower, $upper) = $str =~ / 0x (.+?) \s* - \s* 0x (.+) /x;
+            die "Format must be like '0xDEAD - 0xBEAF'; instead was '$str'" if ! defined $lower || ! defined $upper;
+            foreach my $cp (hex $lower .. hex $upper) {
+                push @{$opt{txt}}, sprintf "0x%X", $cp;
+            }
+            next;
+        } elsif ($str =~ s/ ^ N (?= 0x ) //x ) {
+            # Otherwise undocumented, a leading N means is already in the
+            # native character set; don't convert.
+            $str= chr eval $str;
         } elsif ( $str =~ /^0x/ ) {
-            $str= chr eval $str;
-        } elsif ( /\S/ ) {
+            $str= eval $str;
+
+            # Convert from Unicode/ASCII to native, if necessary
+            $str = utf8::unicode_to_native($str) if ! ASCII_PLATFORM
+                                                    && $str <= 0xFF;
+            $str = chr $str;
+        } elsif ( $str =~ / \s* \\p \{ ( .*? ) \} /x) {
+            my $property = $1;
+            use Unicode::UCD qw(prop_invlist);
+
+            my @invlist = prop_invlist($property, '_perl_core_internal_ok');
+            if (! @invlist) {
+
+                # An empty return could mean an unknown property, or merely
+                # that it is empty.  Call in scalar context to differentiate
+                my $count = prop_invlist($property, '_perl_core_internal_ok');
+                die "$property not found" unless defined $count;
+            }
+
+            # Replace this element on the list with the property's expansion
+            for (my $i = 0; $i < @invlist; $i += 2) {
+                foreach my $cp ($invlist[$i] .. $invlist[$i+1] - 1) {
+
+                    # prop_invlist() returns native values; add leading 'N'
+                    # to indicate that.
+                    push @{$opt{txt}}, sprintf "N0x%X", $cp;
+                }
+            }
+            next;
+        } elsif ($str =~ / ^ do \s+ ( .* ) /x) {
+            die "do '$1' failed: $!$@" if ! do $1 or $@;
+            next;
+        } elsif ($str =~ / ^ & \s* ( .* ) /x) { # user-furnished sub() call
+            my @results = eval "$1";
+            die "eval '$1' failed: $@" if $@;
+            push @{$opt{txt}}, @results;
+            next;
+        } else {
             die "Unparsable line: $txt\n";
-        } else {
-            next;
         }
-        my ( $cp, $low, $latin1, $utf8 )= __uni_latin1( $str );
+        my ( $cp, $cp_high, $low, $latin1, $utf8 )= __uni_latin1( $str );
         my $UTF8= $low   || $utf8;
         my $LATIN1= $low || $latin1;
+        my $high = (scalar grep { $_ < 256 } @$cp) ? 0 : $utf8;
         #die Dumper($txt,$cp,$low,$latin1,$utf8)
         #    if $txt=~/NEL/ or $utf8 and @$utf8>3;
 
-        @{ $self->{strs}{$str} }{qw( str txt low utf8 latin1 cp UTF8 LATIN1 )}=
-          ( $str, $txt, $low, $utf8, $latin1, $cp, $UTF8, $LATIN1 );
+        @{ $self->{strs}{$str} }{qw( str txt low utf8 latin1 high cp cp_high UTF8 LATIN1 )}=
+          ( $str, $txt, $low, $utf8, $latin1, $high, $cp, $cp_high, $UTF8, $LATIN1 );
         my $rec= $self->{strs}{$str};
-        foreach my $key ( qw(low utf8 latin1 cp UTF8 LATIN1) ) {
+        foreach my $key ( qw(low utf8 latin1 high cp cp_high UTF8 LATIN1) ) {
             $self->{size}{$key}{ 0 + @{ $self->{strs}{$str}{$key} } }++
               if $self->{strs}{$str}{$key};
         }
@@ -308,6 +437,22 @@
     return 0 + keys( %trie ) ? \%trie : undef;
 }
 
+sub pop_count ($) {
+    my $word = shift;
+
+    # This returns a list of the positions of the bits in the input word that
+    # are 1.
+
+    my @positions;
+    my $position = 0;
+    while ($word) {
+        push @positions, $position if $word & 1;
+        $position++;
+        $word >>= 1;
+    }
+    return @positions;
+}
+
 # my $optree= _optree()
 #
 # recursively convert a trie to an optree where every node represents
@@ -325,8 +470,12 @@
     $else= 0  unless defined $else;
     $depth= 0 unless defined $depth;
 
-    my @conds= sort { $a <=> $b } grep { length $_ } keys %$trie;
-    if ( $trie->{''} ) {
+    # if we have an emptry string as a key it means we are in an
+    # accepting state and unless we can match further on should
+    # return the value of the '' key.
+    if (exists $trie->{''} ) {
+        # we can now update the "else" value, anything failing to match
+        # after this point should return the value from this.
         if ( $ret_type eq 'cp' ) {
             $else= $self->{strs}{ $trie->{''} }{cp}[0];
             $else= sprintf "$self->{val_fmt}", $else if $else > 9;
@@ -338,37 +487,54 @@
             $else= "len=$depth, $else";
         }
     }
+    # extract the meaningful keys from the trie, filter out '' as
+    # it means we are an accepting state (end of sequence).
+    my @conds= sort { $a <=> $b } grep { length $_ } keys %$trie;
+
+    # if we havent any keys there is no further we can match and we
+    # can return the "else" value.
     return $else if !@conds;
-    my $node= {};
-    my $root= $node;
-    my ( $yes_res, $as_code, @cond );
-    my $test= $test_type eq 'cp' ? "cp" : "((U8*)s)[$depth]";
-    my $Update= sub {
-        $node->{vals}= [@cond];
+
+
+    my $test= $test_type =~ /^cp/ ? "cp" : "((U8*)s)[$depth]";
+    # first we loop over the possible keys/conditions and find out what they look like
+    # we group conditions with the same optree together.
+    my %dmp_res;
+    my @res_order;
+    local $Data::Dumper::Sortkeys=1;
+    foreach my $cond ( @conds ) {
+
+        # get the optree for this child/condition
+        my $res= $self->_optree( $trie->{$cond}, $test_type, $ret_type, $else, $depth + 1 );
+        # convert it to a string with Dumper
+        my $res_code= Dumper( $res );
+
+        push @{$dmp_res{$res_code}{vals}}, $cond;
+        if (!$dmp_res{$res_code}{optree}) {
+            $dmp_res{$res_code}{optree}= $res;
+            push @res_order, $res_code;
+        }
+    }
+
+    # now that we have deduped the optrees we construct a new optree containing the merged
+    # results.
+    my %root;
+    my $node= \%root;
+    foreach my $res_code_idx (0 .. $#res_order) {
+        my $res_code= $res_order[$res_code_idx];
+        $node->{vals}= $dmp_res{$res_code}{vals};
         $node->{test}= $test;
-        $node->{yes}= $yes_res;
+        $node->{yes}= $dmp_res{$res_code}{optree};
         $node->{depth}= $depth;
-        $node->{no}= shift;
-    };
-    while ( @conds ) {
-        my $cond= shift @conds;
-        my $res=
-          $self->_optree( $trie->{$cond}, $test_type, $ret_type, $else,
-            $depth + 1 );
-        my $res_code= Dumper( $res );
-        if ( !$yes_res || $res_code ne $as_code ) {
-            if ( $yes_res ) {
-                $Update->( {} );
-                $node= $node->{no};
-            }
-            ( $yes_res, $as_code )= ( $res, $res_code );
-            @cond= ( $cond );
+        if ($res_code_idx < $#res_order) {
+            $node= $node->{no}= {};
         } else {
-            push @cond, $cond;
+            $node->{no}= $else;
         }
     }
-    $Update->( $else );
-    return $root;
+
+    # return the optree.
+    return \%root;
 }
 
 # my $optree= optree(%opts);
@@ -380,7 +546,7 @@
     my %opt= @_;
     my $trie= $self->make_trie( $opt{type}, $opt{max_depth} );
     $opt{ret_type} ||= 'len';
-    my $test_type= $opt{type} eq 'cp' ? 'cp' : 'depth';
+    my $test_type= $opt{type} =~ /^cp/ ? 'cp' : 'depth';
     return $self->_optree( $trie, $test_type, $opt{ret_type}, $opt{else}, 0 );
 }
 
@@ -409,9 +575,11 @@
     } elsif ( $latin1 ) {
         $else= __cond_join( "!( is_utf8 )", $latin1, $else );
     }
-    my $low= $self->make_trie( 'low', $opt{max_depth} );
-    if ( $low ) {
-        $else= $self->_optree( $low, $test_type, $opt{ret_type}, $else, 0 );
+    if ($opt{type} eq 'generic') {
+        my $low= $self->make_trie( 'low', $opt{max_depth} );
+        if ( $low ) {
+            $else= $self->_optree( $low, $test_type, $opt{ret_type}, $else, 0 );
+        }
     }
 
     return $else;
@@ -428,11 +596,11 @@
     my $type= $opt{type};
 
     die "Can't do a length_optree on type 'cp', makes no sense."
-      if $type eq 'cp';
+      if $type =~ /^cp/;
 
     my ( @size, $method );
 
-    if ( $type eq 'generic' ) {
+    if ( $type =~ /generic/ ) {
         $method= 'generic_optree';
         my %sizes= (
             %{ $self->{size}{low}    || {} },
@@ -454,19 +622,276 @@
     return $else;
 }
 
+sub calculate_mask(@) {
+    # Look at the input list of byte values.  This routine returns an array of
+    # mask/base pairs to generate that list.
+
+    my @list = @_;
+    my $list_count = @list;
+
+    # Consider a set of byte values, A, B, C ....  If we want to determine if
+    # <c> is one of them, we can write c==A || c==B || c==C ....  If the
+    # values are consecutive, we can shorten that to A<=c && c<=Z, which uses
+    # far fewer branches.  If only some of them are consecutive we can still
+    # save some branches by creating range tests for just those that are
+    # consecutive. _cond_as_str() does this work for looking for ranges.
+    #
+    # Another approach is to look at the bit patterns for A, B, C .... and see
+    # if they have some commonalities.  That's what this function does.  For
+    # example, consider a set consisting of the bytes
+    # 0xF0, 0xF1, 0xF2, and 0xF3.  We could write:
+    #   0xF0 <= c && c <= 0xF4
+    # But the following mask/compare also works, and has just one test:
+    #   (c & 0xFC) == 0xF0
+    # The reason it works is that the set consists of exactly those bytes
+    # whose first 4 bits are 1, and the next two are 0.  (The value of the
+    # other 2 bits is immaterial in determining if a byte is in the set or
+    # not.)  The mask masks out those 2 irrelevant bits, and the comparison
+    # makes sure that the result matches all bytes which match those 6
+    # material bits exactly.  In other words, the set of bytes contains
+    # exactly those whose bottom two bit positions are either 0 or 1.  The
+    # same principle applies to bit positions that are not necessarily
+    # adjacent.  And it can be applied to bytes that differ in 1 through all 8
+    # bit positions.  In order to be a candidate for this optimization, the
+    # number of bytes in the set must be a power of 2.
+    #
+    # Consider a different example, the set 0x53, 0x54, 0x73, and 0x74.  That
+    # requires 4 tests using either ranges or individual values, and even
+    # though the number in the set is a power of 2, it doesn't qualify for the
+    # mask optimization described above because the number of bits that are
+    # different is too large for that.  However, the set can be expressed as
+    # two branches with masks thusly:
+    #   (c & 0xDF) == 0x53 || (c & 0xDF) == 0x54
+    # a branch savings of 50%.  This is done by splitting the set into two
+    # subsets each of which has 2 elements, and within each set the values
+    # differ by 1 byte.
+    #
+    # This function attempts to find some way to save some branches using the
+    # mask technique.  If not, it returns an empty list; if so, it
+    # returns a list consisting of
+    #   [ [compare1, mask1], [compare2, mask2], ...
+    #     [compare_n, undef], [compare_m, undef], ...
+    #   ]
+    # The <mask> is undef in the above for those bytes that must be tested
+    # for individually.
+    #
+    # This function does not attempt to find the optimal set.  To do so would
+    # probably require testing all possible combinations, and keeping track of
+    # the current best one.
+    #
+    # There are probably much better algorithms, but this is the one I (khw)
+    # came up with.  We start with doing a bit-wise compare of every byte in
+    # the set with every other byte.  The results are sorted into arrays of
+    # all those that differ by the same bit positions.  These are stored in a
+    # hash with the each key being the bits they differ in.  Here is the hash
+    # for the 0x53, 0x54, 0x73, 0x74 set:
+    # {
+    #    4 => {
+    #            "0,1,2,5" => [
+    #                            83,
+    #                            116,
+    #                            84,
+    #                            115
+    #                        ]
+    #        },
+    #    3 => {
+    #            "0,1,2" => [
+    #                        83,
+    #                        84,
+    #                        115,
+    #                        116
+    #                        ]
+    #        }
+    #    1 => {
+    #            5 => [
+    #                    83,
+    #                    115,
+    #                    84,
+    #                    116
+    #                ]
+    #        },
+    # }
+    #
+    # The set consisting of values which differ in the 4 bit positions 0, 1,
+    # 2, and 5 from some other value in the set consists of all 4 values.
+    # Likewise all 4 values differ from some other value in the 3 bit
+    # positions 0, 1, and 2; and all 4 values differ from some other value in
+    # the single bit position 5.  The keys at the uppermost level in the above
+    # hash, 1, 3, and 4, give the number of bit positions that each sub-key
+    # below it has.  For example, the 4 key could have as its value an array
+    # consisting of "0,1,2,5", "0,1,2,6", and "3,4,6,7", if the inputs were
+    # such.  The best optimization will group the most values into a single
+    # mask.  The most values will be the ones that differ in the most
+    # positions, the ones with the largest value for the topmost key.  These
+    # keys, are thus just for convenience of sorting by that number, and do
+    # not have any bearing on the core of the algorithm.
+    #
+    # We start with an element from largest number of differing bits.  The
+    # largest in this case is 4 bits, and there is only one situation in this
+    # set which has 4 differing bits, "0,1,2,5".  We look for any subset of
+    # this set which has 16 values that differ in these 4 bits.  There aren't
+    # any, because there are only 4 values in the entire set.  We then look at
+    # the next possible thing, which is 3 bits differing in positions "0,1,2".
+    # We look for a subset that has 8 values that differ in these 3 bits.
+    # Again there are none.  So we go to look for the next possible thing,
+    # which is a subset of 2**1 values that differ only in bit position 5.  83
+    # and 115 do, so we calculate a mask and base for those and remove them
+    # from every set.  Since there is only the one set remaining, we remove
+    # them from just this one.  We then look to see if there is another set of
+    # 2 values that differ in bit position 5.  84 and 116 do, so we calculate
+    # a mask and base for those and remove them from every set (again only
+    # this set remains in this example).  The set is now empty, and there are
+    # no more sets to look at, so we are done.
+
+    if ($list_count == 256) {   # All 256 is trivially masked
+        return (0, 0);
+    }
+
+    my %hash;
+
+    # Generate bits-differing lists for each element compared against each
+    # other element
+    for my $i (0 .. $list_count - 2) {
+        for my $j ($i + 1 .. $list_count - 1) {
+            my @bits_that_differ = pop_count($list[$i] ^ $list[$j]);
+            my $differ_count = @bits_that_differ;
+            my $key = join ",", @bits_that_differ;
+            push @{$hash{$differ_count}{$key}}, $list[$i] unless grep { $_ == $list[$i] } @{$hash{$differ_count}{$key}};
+            push @{$hash{$differ_count}{$key}}, $list[$j];
+        }
+    }
+
+    print STDERR __LINE__, ": calculate_mask() called:  List of values grouped by differing bits: ", Dumper \%hash if DEBUG;
+
+    my @final_results;
+    foreach my $count (reverse sort { $a <=> $b } keys %hash) {
+        my $need = 2 ** $count;     # Need 8 values for 3 differing bits, etc
+        foreach my $bits (sort keys $hash{$count}) {
+
+            print STDERR __LINE__, ": For $count bit(s) difference ($bits), need $need; have ", scalar @{$hash{$count}{$bits}}, "\n" if DEBUG;
+
+            # Look only as long as there are at least as many elements in the
+            # subset as are needed
+            while ((my $cur_count = @{$hash{$count}{$bits}}) >= $need) {
+
+                print STDERR __LINE__, ": Looking at bit positions ($bits): ", Dumper $hash{$count}{$bits} if DEBUG;
+
+                # Start with the first element in it
+                my $try_base = $hash{$count}{$bits}[0];
+                my @subset = $try_base;
+
+                # If it succeeds, we return a mask and a base to compare
+                # against the masked value.  That base will be the AND of
+                # every element in the subset.  Initialize to the one element
+                # we have so far.
+                my $compare = $try_base;
+
+                # We are trying to find a subset of this that has <need>
+                # elements that differ in the bit positions given by the
+                # string $bits, which is comma separated.
+                my @bits = split ",", $bits;
+
+                TRY: # Look through the remainder of the list for other
+                     # elements that differ only by these bit positions.
+
+                for (my $i = 1; $i < $cur_count; $i++) {
+                    my $try_this = $hash{$count}{$bits}[$i];
+                    my @positions = pop_count($try_base ^ $try_this);
+
+                    print STDERR __LINE__, ": $try_base vs $try_this: is (", join(',', @positions), ") a subset of ($bits)?" if DEBUG;;
+
+                    foreach my $pos (@positions) {
+                        unless (grep { $pos == $_ } @bits) {
+                            print STDERR "  No\n" if DEBUG;
+                            my $remaining = $cur_count - $i - 1;
+                            if ($remaining && @subset + $remaining < $need) {
+                                print STDERR __LINE__, ": Can stop trying $try_base, because even if all the remaining $remaining values work, they wouldn't add up to the needed $need when combined with the existing ", scalar @subset, " ones\n" if DEBUG;
+                                last TRY;
+                            }
+                            next TRY;
+                        }
+                    }
+
+                    print STDERR "  Yes\n" if DEBUG;
+                    push @subset, $try_this;
+
+                    # Add this to the mask base, in case it ultimately
+                    # succeeds,
+                    $compare &= $try_this;
+                }
+
+                print STDERR __LINE__, ": subset (", join(", ", @subset), ") has ", scalar @subset, " elements; needs $need\n" if DEBUG;
+
+                if (@subset < $need) {
+                    shift @{$hash{$count}{$bits}};
+                    next;   # Try with next value
+                }
+
+                # Create the mask
+                my $mask = 0;
+                foreach my $position (@bits) {
+                    $mask |= 1 << $position;
+                }
+                $mask = ~$mask & 0xFF;
+                push @final_results, [$compare, $mask];
+
+                printf STDERR "%d: Got it: compare=%d=0x%X; mask=%X\n", __LINE__, $compare, $compare, $mask if DEBUG;
+
+                # These values are now spoken for.  Remove them from future
+                # consideration
+                foreach my $remove_count (sort keys %hash) {
+                    foreach my $bits (sort keys %{$hash{$remove_count}}) {
+                        foreach my $to_remove (@subset) {
+                            @{$hash{$remove_count}{$bits}} = grep { $_ != $to_remove } @{$hash{$remove_count}{$bits}};
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    # Any values that remain in the list are ones that have to be tested for
+    # individually.
+    my @individuals;
+    foreach my $count (reverse sort { $a <=> $b } keys %hash) {
+        foreach my $bits (sort keys $hash{$count}) {
+            foreach my $remaining (@{$hash{$count}{$bits}}) {
+
+                # If we already know about this value, just ignore it.
+                next if grep { $remaining == $_ } @individuals;
+
+                # Otherwise it needs to be returned as something to match
+                # individually
+                push @final_results, [$remaining, undef];
+                push @individuals, $remaining;
+            }
+        }
+    }
+
+    # Sort by increasing numeric value
+    @final_results = sort { $a->[0] <=> $b->[0] } @final_results;
+
+    print STDERR __LINE__, ": Final return: ", Dumper \@final_results if DEBUG;
+
+    return @final_results;
+}
+
 # _cond_as_str
 # turn a list of conditions into a text expression
 # - merges ranges of conditions, and joins the result with ||
 sub _cond_as_str {
-    my ( $self, $op, $combine )= @_;
+    my ( $self, $op, $combine, $opts_ref )= @_;
     my $cond= $op->{vals};
     my $test= $op->{test};
+    my $is_cp_ret = $opts_ref->{ret_type} eq "cp";
     return "( $test )" if !defined $cond;
 
-    # rangify the list
+    # rangify the list.
     my @ranges;
     my $Update= sub {
-        if ( @ranges ) {
+        # We skip this if there are optimizations that
+        # we can apply (below) to the individual ranges
+        if ( ($is_cp_ret || $combine) && @ranges && ref $ranges[-1]) {
             if ( $ranges[-1][0] == $ranges[-1][1] ) {
                 $ranges[-1]= $ranges[-1][0];
             } elsif ( $ranges[-1][0] + 1 == $ranges[-1][1] ) {
@@ -475,25 +900,170 @@
             }
         }
     };
-    for my $cond ( @$cond ) {
-        if ( !@ranges || $cond != $ranges[-1][1] + 1 ) {
+    for my $condition ( @$cond ) {
+        if ( !@ranges || $condition != $ranges[-1][1] + 1 ) {
             $Update->();
-            push @ranges, [ $cond, $cond ];
+            push @ranges, [ $condition, $condition ];
         } else {
             $ranges[-1][1]++;
         }
     }
     $Update->();
+
     return $self->_combine( $test, @ranges )
       if $combine;
-    @ranges= map {
-        ref $_
-          ? sprintf(
-            "( $self->{val_fmt} <= $test && $test <= $self->{val_fmt} )",
-            @$_ )
-          : sprintf( "$self->{val_fmt} == $test", $_ );
-    } @ranges;
-    return "( " . join( " || ", @ranges ) . " )";
+
+    if ($is_cp_ret) {
+        @ranges= map {
+            ref $_
+            ? sprintf(
+                "( $self->{val_fmt} <= $test && $test <= $self->{val_fmt} )",
+                @$_ )
+            : sprintf( "$self->{val_fmt} == $test", $_ );
+        } @ranges;
+
+        return "( " . join( " || ", @ranges ) . " )";
+    }
+
+    # If the input set has certain characteristics, we can optimize tests
+    # for it.  This doesn't apply if returning the code point, as we want
+    # each element of the set individually.  The code above is for this
+    # simpler case.
+
+    return 1 if @$cond == 256;  # If all bytes match, is trivially true
+
+    my @masks;
+    if (@ranges > 1) {
+
+        # See if the entire set shares optimizable characterstics, and if so,
+        # return the optimization.  We delay checking for this on sets with
+        # just a single range, as there may be better optimizations available
+        # in that case.
+        @masks = calculate_mask(@$cond);
+
+        # Stringify the output of calculate_mask()
+        if (@masks) {
+            my @return;
+            foreach my $mask_ref (@masks) {
+                if (defined $mask_ref->[1]) {
+                    push @return, sprintf "( ( $test & $self->{val_fmt} ) == $self->{val_fmt} )", $mask_ref->[1], $mask_ref->[0];
+                }
+                else {  # An undefined mask means to use the value as-is
+                    push @return, sprintf "$test == $self->{val_fmt}", $mask_ref->[0];
+                }
+            }
+
+            # The best possible case below for specifying this set of values via
+            # ranges is 1 branch per range.  If our mask method yielded better
+            # results, there is no sense trying something that is bound to be
+            # worse.
+            if (@return < @ranges) {
+                return "( " . join( " || ", @return ) . " )";
+            }
+
+            @masks = @return;
+        }
+    }
+
+    # Here, there was no entire-class optimization that was clearly better
+    # than doing things by ranges.  Look at each range.
+    my $range_count_extra = 0;
+    for (my $i = 0; $i < @ranges; $i++) {
+        if (! ref $ranges[$i]) {    # Trivial case: no range
+            $ranges[$i] = sprintf "$self->{val_fmt} == $test", $ranges[$i];
+        }
+        elsif ($ranges[$i]->[0] == $ranges[$i]->[1]) {
+            $ranges[$i] =           # Trivial case: single element range
+                    sprintf "$self->{val_fmt} == $test", $ranges[$i]->[0];
+        }
+        else {
+            my $output = "";
+
+            # Well-formed UTF-8 continuation bytes on ascii platforms must be
+            # in the range 0x80 .. 0xBF.  If we know that the input is
+            # well-formed (indicated by not trying to be 'safe'), we can omit
+            # tests that verify that the input is within either of these
+            # bounds.  (No legal UTF-8 character can begin with anything in
+            # this range, so we don't have to worry about this being a
+            # continuation byte or not.)
+            if (ASCII_PLATFORM
+                && ! $opts_ref->{safe}
+                && $opts_ref->{type} =~ / ^ (?: utf8 | high ) $ /xi)
+            {
+                my $lower_limit_is_80 = ($ranges[$i]->[0] == 0x80);
+                my $upper_limit_is_BF = ($ranges[$i]->[1] == 0xBF);
+
+                # If the range is the entire legal range, it matches any legal
+                # byte, so we can omit both tests.  (This should happen only
+                # if the number of ranges is 1.)
+                if ($lower_limit_is_80 && $upper_limit_is_BF) {
+                    return 1;
+                }
+                elsif ($lower_limit_is_80) { # Just use the upper limit test
+                    $output = sprintf("( $test <= $self->{val_fmt} )",
+                                        $ranges[$i]->[1]);
+                }
+                elsif ($upper_limit_is_BF) { # Just use the lower limit test
+                    $output = sprintf("( $test >= $self->{val_fmt} )",
+                                    $ranges[$i]->[0]);
+                }
+            }
+
+            # If we didn't change to omit a test above, see if the number of
+            # elements is a power of 2 (only a single bit in the
+            # representation of its count will be set) and if so, it may be
+            # that a mask/compare optimization is possible.
+            if ($output eq ""
+                && pop_count($ranges[$i]->[1] - $ranges[$i]->[0] + 1) == 1)
+            {
+                my @list;
+                push @list, $_  for ($ranges[$i]->[0] .. $ranges[$i]->[1]);
+                my @this_masks = calculate_mask(@list);
+
+                # Use the mask if there is just one for the whole range.
+                # Otherwise there is no savings over the two branches that can
+                # define the range.
+                if (@this_masks == 1 && defined $this_masks[0][1]) {
+                    $output = sprintf "( $test & $self->{val_fmt} ) == $self->{val_fmt}", $this_masks[0][1], $this_masks[0][0];
+                }
+            }
+
+            if ($output ne "") {  # Prefer any optimization
+                $ranges[$i] = $output;
+            }
+            else {
+                # No optimization happened.  We need a test that the code
+                # point is within both bounds.  But, if the bounds are
+                # adjacent code points, it is cleaner to say
+                # 'first == test || second == test'
+                # than it is to say
+                # 'first <= test && test <= second'
+
+                $range_count_extra++;   # This range requires 2 branches to
+                                        # represent
+                if ($ranges[$i]->[0] + 1 == $ranges[$i]->[1]) {
+                    $ranges[$i] = "( "
+                                .  join( " || ", ( map
+                                    { sprintf "$self->{val_fmt} == $test", $_ }
+                                    @{$ranges[$i]} ) )
+                                . " )";
+                }
+                else {  # Full bounds checking
+                    $ranges[$i] = sprintf("( $self->{val_fmt} <= $test && $test <= $self->{val_fmt} )", $ranges[$i]->[0], $ranges[$i]->[1]);
+                }
+            }
+        }
+    }
+
+    # We have generated the list of bytes in two ways; one trying to use masks
+    # to cut the number of branches down, and the other to look at individual
+    # ranges (some of which could be cut down by using a mask for just it).
+    # We return whichever method uses the fewest branches.
+    return "( "
+           . join( " || ", (@masks && @masks < @ranges + $range_count_extra)
+                            ? @masks
+                            : @ranges)
+           . " )";
 }
 
 # _combine
@@ -514,8 +1084,13 @@
         $gtv= sprintf "$self->{val_fmt}", $item;
     }
     if ( @cond ) {
-        return "( $cstr || ( $gtv < $test &&\n"
-          . $self->_combine( $test, @cond ) . " ) )";
+        my $combine= $self->_combine( $test, @cond );
+        if (@cond >1) {
+            return "( $cstr || ( $gtv < $test &&\n"
+                   . $combine . " ) )";
+        } else {
+            return "( $cstr || $combine )";
+        }
     } else {
         return $cstr;
     }
@@ -524,13 +1099,18 @@
 # _render()
 # recursively convert an optree to text with reasonably neat formatting
 sub _render {
-    my ( $self, $op, $combine, $brace )= @_;
+    my ( $self, $op, $combine, $brace, $opts_ref, $def, $submacros )= @_;
+    return 0 if ! defined $op;  # The set is empty
     if ( !ref $op ) {
         return $op;
     }
-    my $cond= $self->_cond_as_str( $op, $combine );
-    my $yes= $self->_render( $op->{yes}, $combine, 1 );
-    my $no= $self->_render( $op->{no},   $combine, 0 );
+    my $cond= $self->_cond_as_str( $op, $combine, $opts_ref );
+    #no warnings 'recursion';   # This would allow really really inefficient
+                                # code to be generated.  See pod
+    my $yes= $self->_render( $op->{yes}, $combine, 1, $opts_ref, $def, $submacros );
+    return $yes if $cond eq '1';
+
+    my $no= $self->_render( $op->{no},   $combine, 0, $opts_ref, $def, $submacros );
     return "( $cond )" if $yes eq '1' and $no eq '0';
     my ( $lb, $rb )= $brace ? ( "( ", " )" ) : ( "", "" );
     return "$lb$cond ? $yes : $no$rb"
@@ -544,7 +1124,13 @@
         $yes= " " . $yes;
     }
 
-    return "$lb$cond ?$yes$ind: $no$rb";
+    my $str= "$lb$cond ?$yes$ind: $no$rb";
+    if (length $str > 6000) {
+        push @$submacros, sprintf "#define $def\n( %s )", "_part" . (my $yes_idx= 0+@$submacros), $yes;
+        push @$submacros, sprintf "#define $def\n( %s )", "_part" . (my $no_idx= 0+@$submacros), $no;
+        return sprintf "%s%s ? $def : $def%s", $lb, $cond, "_part$yes_idx", "_part$no_idx", $rb;
+    }
+    return $str;
 }
 
 # $expr=render($op,$combine)
@@ -555,9 +1141,12 @@
 # longer lists such as that resulting from type 'cp' output.
 # Currently only used for type 'cp' macros.
 sub render {
-    my ( $self, $op, $combine )= @_;
-    my $str= "( " . $self->_render( $op, $combine ) . " )";
-    return __clean( $str );
+    my ( $self, $op, $combine, $opts_ref, $def_fmt )= @_;
+    
+    my @submacros;
+    my $macro= sprintf "#define $def_fmt\n( %s )", "", $self->_render( $op, $combine, 0, $opts_ref, $def_fmt, \@submacros );
+
+    return join "\n\n", map { "/*** GENERATED CODE ***/\n" . __macro( __clean( $_ ) ) } @submacros, $macro;
 }
 
 # make_macro
@@ -564,7 +1153,7 @@
 # make a macro of a given type.
 # calls into make_trie and (generic_|length_)optree as needed
 # Opts are:
-# type     : 'cp','generic','low','latin1','utf8','LATIN1','UTF8'
+# type     : 'cp','cp_high', 'generic','high','low','latin1','utf8','LATIN1','UTF8'
 # ret_type : 'cp' or 'len'
 # safe     : add length guards to macro
 #
@@ -583,30 +1172,30 @@
     my %opts= @_;
     my $type= $opts{type} || 'generic';
     die "Can't do a 'cp' on multi-codepoint character class '$self->{op}'"
-      if $type eq 'cp'
+      if $type =~ /^cp/
       and $self->{has_multi};
-    my $ret_type= $opts{ret_type} || ( $opts{type} eq 'cp' ? 'cp' : 'len' );
+    my $ret_type= $opts{ret_type} || ( $opts{type} =~ /^cp/ ? 'cp' : 'len' );
     my $method;
     if ( $opts{safe} ) {
         $method= 'length_optree';
-    } elsif ( $type eq 'generic' ) {
+    } elsif ( $type =~ /generic/ ) {
         $method= 'generic_optree';
     } else {
         $method= 'optree';
     }
-    my $optree= $self->$method( %opts, type => $type, ret_type => $ret_type );
-    my $text= $self->render( $optree, $type eq 'cp' );
-    my @args= $type eq 'cp' ? 'cp' : 's';
+    my @args= $type =~ /^cp/ ? 'cp' : 's';
     push @args, "e" if $opts{safe};
-    push @args, "is_utf8" if $type eq 'generic';
+    push @args, "is_utf8" if $type =~ /generic/;
     push @args, "len" if $ret_type eq 'both';
     my $pfx= $ret_type eq 'both'    ? 'what_len_' : 
              $ret_type eq 'cp'      ? 'what_'     : 'is_';
-    my $ext= $type     eq 'generic' ? ''          : '_' . lc( $type );
+    my $ext= $type     =~ /generic/ ? ''          : '_' . lc( $type );
+    $ext .= '_non_low' if $type eq 'generic_non_low';
     $ext .= "_safe" if $opts{safe};
     my $argstr= join ",", @args;
-    return "/*** GENERATED CODE ***/\n"
-      . __macro( "#define $pfx$self->{op}$ext($argstr)\n$text" );
+    my $def_fmt="$pfx$self->{op}$ext%s($argstr)";
+    my $optree= $self->$method( %opts, type => $type, ret_type => $ret_type );
+    return $self->render( $optree, ($type =~ /^cp/) ? 1 : 0, \%opts, $def_fmt );
 }
 
 # if we arent being used as a module (highly likely) then process
@@ -621,26 +1210,43 @@
     if ( $path eq '-' ) {
         $out_fh= \*STDOUT;
     } else {
-	$out_fh = safer_open( "$path-new", $path );
+	$out_fh = open_new( $path );
     }
     print $out_fh read_only_top( lang => 'C', by => $0,
 				 file => 'regcharclass.h', style => '*',
-				 copyright => [2007] );
+				 copyright => [2007, 2011] );
+    print $out_fh "\n#ifndef H_REGCHARCLASS   /* Guard against nested #includes */\n#define H_REGCHARCLASS 1\n\n";
 
-    my ( $op, $title, @txt, @types, @mods );
+    my ( $op, $title, @txt, @types, %mods );
     my $doit= sub {
         return unless $op;
+
+        # Skip if to compile on a different platform.
+        return if delete $mods{only_ascii_platform} && ! ASCII_PLATFORM;
+        return if delete $mods{only_ebcdic_platform} && ord 'A' != 193;
+
         print $out_fh "/*\n\t$op: $title\n\n";
         print $out_fh join "\n", ( map { "\t$_" } @txt ), "*/", "";
         my $obj= __PACKAGE__->new( op => $op, title => $title, txt => \@txt );
 
-        #die Dumper(\@types,\@mods);
+        #die Dumper(\@types,\%mods);
 
+        my @mods;
+        push @mods, 'safe' if delete $mods{safe};
+        unshift @mods, 'fast' if delete $mods{fast} || ! @mods; # Default to 'fast'
+                                                                # do this one
+                                                                # first, as
+                                                                # traditional
+        if (%mods) {
+            die "Unknown modifiers: ", join ", ", map { "'$_'" } sort keys %mods;
+        }
+
         foreach my $type_spec ( @types ) {
             my ( $type, $ret )= split /-/, $type_spec;
             $ret ||= 'len';
             foreach my $mod ( @mods ) {
-                next if $mod eq 'safe' and $type eq 'cp';
+                next if $mod eq 'safe' and $type =~ /^cp/;
+                delete $mods{$mod};
                 my $macro= $obj->make_macro(
                     type     => $type,
                     ret_type => $ret,
@@ -652,22 +1258,26 @@
     };
 
     while ( <DATA> ) {
-        s/^\s*#//;
+        s/^ \s* (?: \# .* ) ? $ //x;    # squeeze out comment and blanks
         next unless /\S/;
         chomp;
-        if ( /^([A-Z]+)/ ) {
-            $doit->();
+        if ( /^[A-Z]/ ) {
+            $doit->();  # This starts a new definition; do the previous one
             ( $op, $title )= split /\s*:\s*/, $_, 2;
             @txt= ();
         } elsif ( s/^=>// ) {
             my ( $type, $modifier )= split /:/, $_;
             @types= split ' ', $type;
-            @mods= split ' ',  $modifier;
+            undef %mods;
+            map { $mods{$_} = 1 } split ' ',  $modifier;
         } else {
             push @txt, "$_";
         }
     }
     $doit->();
+
+    print $out_fh "\n#endif /* H_REGCHARCLASS */\n";
+
     if($path eq '-') {
 	print $out_fh "/* ex: set ro: */\n";
     } else {
@@ -675,65 +1285,217 @@
     }
 }
 
+# The form of the input is a series of definitions to make macros for.
+# The first line gives the base name of the macro, followed by a colon, and
+# then text to be used in comments associated with the macro that are its
+# title or description.  In all cases the first (perhaps only) parameter to
+# the macro is a pointer to the first byte of the code point it is to test to
+# see if it is in the class determined by the macro.  In the case of non-UTF8,
+# the code point consists only of a single byte.
 #
-# Valid types: generic, LATIN1, UTF8, low, latin1, utf8
-# default return value is octects read.
-# append -cp to make it codepoint matched.
-# modifiers come after the colon, valid possibilities
-# being 'fast' and 'safe'.
+# The second line must begin with a '=>' and be followed by the types of
+# macro(s) to be generated; these are specified below.  A colon follows the
+# types, followed by the modifiers, also specified below.  At least one
+# modifier is required.
 #
+# The subsequent lines give what code points go into the class defined by the
+# macro.  Multiple characters may be specified via a string like "\x0D\x0A",
+# enclosed in quotes.  Otherwise the lines consist of one of:
+#   1)  a single Unicode code point, prefaced by 0x
+#   2)  a single range of Unicode code points separated by a minus (and
+#       optional space)
+#   3)  a single Unicode property specified in the standard Perl form
+#       "\p{...}"
+#   4)  a line like 'do path'.  This will do a 'do' on the file given by
+#       'path'.  It is assumed that this does nothing but load subroutines
+#       (See item 5 below).  The reason 'require path' is not used instead is
+#       because 'do' doesn't assume that path is in @INC.
+#   5)  a subroutine call
+#           &pkg::foo(arg1, ...)
+#       where pkg::foo was loaded by a 'do' line (item 4).  The subroutine
+#       returns an array of entries of forms like items 1-3 above.  This
+#       allows more complex inputs than achievable from the other input types.
+#
+# A blank line or one whose first non-blank character is '#' is a comment.
+# The definition of the macro is terminated by a line unlike those described.
+#
+# Valid types:
+#   low         generate a macro whose name is 'is_BASE_low' and defines a
+#               class that includes only ASCII-range chars.  (BASE is the
+#               input macro base name.)
+#   latin1      generate a macro whose name is 'is_BASE_latin1' and defines a
+#               class that includes only upper-Latin1-range chars.  It is not
+#               designed to take a UTF-8 input parameter.
+#   high        generate a macro whose name is 'is_BASE_high' and defines a
+#               class that includes all relevant code points that are above
+#               the Latin1 range.  This is for very specialized uses only.
+#               It is designed to take only an input UTF-8 parameter.
+#   utf8        generate a macro whose name is 'is_BASE_utf8' and defines a
+#               class that includes all relevant characters that aren't ASCII.
+#               It is designed to take only an input UTF-8 parameter.
+#   LATIN1      generate a macro whose name is 'is_BASE_latin1' and defines a
+#               class that includes both ASCII and upper-Latin1-range chars.
+#               It is not designed to take a UTF-8 input parameter.
+#   UTF8        generate a macro whose name is 'is_BASE_utf8' and defines a
+#               class that can include any code point, adding the 'low' ones
+#               to what 'utf8' works on.  It is designed to take only an input
+#               UTF-8 parameter.
+#   generic     generate a macro whose name is 'is_BASE".  It has a 2nd,
+#               boolean, parameter which indicates if the first one points to
+#               a UTF-8 string or not.  Thus it works in all circumstances.
+#   generic_non_low generate a macro whose name is 'is_BASE_non_low".  It has
+#               a 2nd, boolean, parameter which indicates if the first one
+#               points to a UTF-8 string or not.  It excludes any ASCII-range
+#               matches, but otherwise it works in all circumstances.
+#   cp          generate a macro whose name is 'is_BASE_cp' and defines a
+#               class that returns true if the UV parameter is a member of the
+#               class; false if not.
+#   cp_high     like cp, but it is assumed that it is known that the UV
+#               parameter is above Latin1.  The name of the generated macro is
+#               'is_BASE_cp_high'.  This is different from high-cp, derived
+#               below.
+# A macro of the given type is generated for each type listed in the input.
+# The default return value is the number of octets read to generate the match.
+# Append "-cp" to the type to have it instead return the matched codepoint.
+#               The macro name is changed to 'what_BASE...'.  See pod for
+#               caveats
+# Appending '-both" instead adds an extra parameter to the end of the argument
+#               list, which is a pointer as to where to store the number of
+#               bytes matched, while also returning the code point.  The macro
+#               name is changed to 'what_len_BASE...'.  See pod for caveats
+#
+# Valid modifiers:
+#   safe        The input string is not necessarily valid UTF-8.  In
+#               particular an extra parameter (always the 2nd) to the macro is
+#               required, which points to one beyond the end of the string.
+#               The macro will make sure not to read off the end of the
+#               string.  In the case of non-UTF8, it makes sure that the
+#               string has at least one byte in it.  The macro name has
+#               '_safe' appended to it.
+#   fast        The input string is valid UTF-8.  No bounds checking is done,
+#               and the macro can make assumptions that lead to faster
+#               execution.
+#   only_ascii_platform   Skip this definition if this program is being run on
+#               a non-ASCII platform.
+#   only_ebcdic_platform  Skip this definition if this program is being run on
+#               a non-EBCDIC platform.
+# No modifier need be specified; fast is assumed for this case.  If both
+# 'fast', and 'safe' are specified, two macros will be created for each
+# 'type'.
+#
+# If run on a non-ASCII platform will automatically convert the Unicode input
+# to native.  The documentation above is slightly wrong in this case.  'low'
+# actually refers to code points whose UTF-8 representation is the same as the
+# non-UTF-8 version (invariants); and 'latin1' refers to all the rest of the
+# code points less than 256.
+
 1; # in the unlikely case we are being used as a module
 
 __DATA__
+# This is no longer used, but retained in case it is needed some day.
+# TRICKYFOLD: Problematic fold case letters.  When adding to this list, also should add them to regcomp.c and fold_grind.t
+# => generic cp generic-cp generic-both :fast safe
+# 0x00DF	# LATIN SMALL LETTER SHARP S
+# 0x0390	# GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
+# 0x03B0	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
+# 0x1E9E  # LATIN CAPITAL LETTER SHARP S, because maps to same as 00DF
+# 0x1FD3  # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; maps same as 0390
+# 0x1FE3  # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; maps same as 03B0
+
 LNBREAK: Line Break: \R
 => generic UTF8 LATIN1 :fast safe
 "\x0D\x0A"      # CRLF - Network (Windows) line ending
-0x0A            # LF  | LINE FEED
-0x0B            # VT  | VERTICAL TAB
-0x0C            # FF  | FORM FEED
-0x0D            # CR  | CARRIAGE RETURN
-0x85            # NEL | NEXT LINE
-0x2028          # LINE SEPARATOR
-0x2029          # PARAGRAPH SEPARATOR
+\p{VertSpace}
 
 HORIZWS: Horizontal Whitespace: \h \H
-=> generic UTF8 LATIN1 cp :fast safe
-0x09            # HT
-0x20            # SPACE
-0xa0            # NBSP
-0x1680          # OGHAM SPACE MARK
-0x180e          # MONGOLIAN VOWEL SEPARATOR
-0x2000          # EN QUAD
-0x2001          # EM QUAD
-0x2002          # EN SPACE
-0x2003          # EM SPACE
-0x2004          # THREE-PER-EM SPACE
-0x2005          # FOUR-PER-EM SPACE
-0x2006          # SIX-PER-EM SPACE
-0x2007          # FIGURE SPACE
-0x2008          # PUNCTUATION SPACE
-0x2009          # THIN SPACE
-0x200A          # HAIR SPACE
-0x202f          # NARROW NO-BREAK SPACE
-0x205f          # MEDIUM MATHEMATICAL SPACE
-0x3000          # IDEOGRAPHIC SPACE
+=> generic UTF8 LATIN1 high cp cp_high :fast safe
+\p{HorizSpace}
 
 VERTWS: Vertical Whitespace: \v \V
-=> generic UTF8 LATIN1 cp :fast safe
-0x0A            # LF
-0x0B            # VT
-0x0C            # FF
-0x0D            # CR
-0x85            # NEL
-0x2028          # LINE SEPARATOR
-0x2029          # PARAGRAPH SEPARATOR
+=> generic UTF8 high LATIN1 cp cp_high :fast safe
+\p{VertSpace}
 
+XDIGIT: Hexadecimal digits
+=> UTF8 high cp_high :fast
+\p{XDigit}
 
-TRICKYFOLD: Problematic fold case letters.
-=> generic cp generic-cp generic-both :fast safe
-0x00DF	# LATIN SMALL LETTER SHARP S
-0x0390	# GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
-0x03B0	# GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
-0x1E9E  # LATIN CAPITAL LETTER SHARP S, because maps to same as 00DF
-0x1FD3  # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA; maps same as 0390
-0x1FE3  # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA; maps same as 03B0
+XPERLSPACE: \p{XPerlSpace}
+=> generic UTF8 high cp_high :fast
+\p{XPerlSpace}
+
+REPLACEMENT: Unicode REPLACEMENT CHARACTER
+=> UTF8 :safe
+0xFFFD
+
+NONCHAR: Non character code points
+=> UTF8 :fast
+\p{Nchar}
+
+SURROGATE: Surrogate characters
+=> UTF8 :fast
+\p{Gc=Cs}
+
+GCB_L: Grapheme_Cluster_Break=L
+=> UTF8 :fast
+\p{_X_GCB_L}
+
+GCB_LV_LVT_V: Grapheme_Cluster_Break=(LV or LVT or V)
+=> UTF8 :fast
+\p{_X_LV_LVT_V}
+
+GCB_Prepend: Grapheme_Cluster_Break=Prepend
+=> UTF8 :fast
+\p{_X_GCB_Prepend}
+
+GCB_RI: Grapheme_Cluster_Break=RI
+=> UTF8 :fast
+\p{_X_RI}
+
+GCB_SPECIAL_BEGIN_START: Grapheme_Cluster_Break=special_begin_starts
+=> UTF8 :fast
+\p{_X_Special_Begin_Start}
+
+GCB_T: Grapheme_Cluster_Break=T
+=> UTF8 :fast
+\p{_X_GCB_T}
+
+GCB_V: Grapheme_Cluster_Break=V
+=> UTF8 :fast
+\p{_X_GCB_V}
+
+# This program was run with this enabled, and the results copied to utf8.h;
+# then this was commented out because it takes so long to figure out these 2
+# million code points.  The results would not change unless utf8.h decides it
+# wants a maximum other than 4 bytes, or this program creates better
+# optimizations
+#UTF8_CHAR: Matches utf8 from 1 to 4 bytes
+#=> UTF8 :safe only_ascii_platform
+#0x0 - 0x1FFFFF
+
+# This hasn't been commented out, because we haven't an EBCDIC platform to run
+# it on, and the 3 types of EBCDIC allegedly supported by Perl would have
+# different results
+UTF8_CHAR: Matches utf8 from 1 to 5 bytes
+=> UTF8 :safe only_ebcdic_platform
+0x0 - 0x3FFFFF:
+
+QUOTEMETA: Meta-characters that \Q should quote
+=> high :fast
+\p{_Perl_Quotemeta}
+
+MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
+=> UTF8 :safe
+do regen/regcharclass_multi_char_folds.pl
+
+# 1 => All folds
+&regcharclass_multi_char_folds::multi_char_folds(1)
+
+MULTI_CHAR_FOLD: multi-char strings that are folded to by a single character
+=> LATIN1 :safe
+
+&regcharclass_multi_char_folds::multi_char_folds(0)
+# 0 => Latin1-only
+
+PATWS: pattern white space
+=> generic generic_non_low cp : fast safe
+\p{PatWS}


Property changes on: vendor/perl/dist/regen/regcharclass.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/regcomp.pl
===================================================================
--- vendor/perl/dist/regen/regcomp.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/regcomp.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,6 +2,7 @@
 # 
 # Regenerate (overwriting only if changed):
 #
+#    pod/perldebguts.pod
 #    regnodes.h
 #
 # from information stored in
@@ -9,6 +10,9 @@
 #    regcomp.sym
 #    regexp.h
 #
+# pod/perldebguts.pod is not completely regenerated.  Only the table of
+# regexp nodes is replaced; other parts remain unchanged.
+#
 # Accepts the standard regen_lib -q and -v args.
 #
 # This script is normally invoked from regen.pl.
@@ -22,11 +26,15 @@
 open DESC, 'regcomp.sym';
 
 my $ind = 0;
-my (@name, at rest, at type, at code, at args, at flags, at longj);
-my ($desc,$lastregop);
+my (@name, at rest, at type, at code, at args, at flags, at longj, at cmnt);
+my ($longest_name_length,$desc,$lastregop) = 0;
 while (<DESC>) {
-    s/#.*$//;
-    next if /^\s*$/;
+    # Special pod comments
+    if (/^#\* ?/) { $cmnt[$ind] .= "# $'"; }
+    # Truly blank lines possibly surrounding pod comments
+    elsif (/^\s*$/) { $cmnt[$ind] .= "\n" }
+
+    next if /^(?:#|\s*$)/;
     chomp; # No \z in 5.004
     s/\s*$//;
     if (/^-+\s*$/) {
@@ -34,9 +42,11 @@
         next;
     }
     unless ($lastregop) {
-        ($name[$ind], $desc, $rest[$ind]) = /^(\S+)\s+([^\t]+)\s*;\s*(.*)/;
+        ($name[$ind], $desc, $rest[$ind]) = /^(\S+)\s+([^\t]+?)\s*;\s*(.*)/;
         ($type[$ind], $code[$ind], $args[$ind], $flags[$ind], $longj[$ind])
           = split /[,\s]\s*/, $desc;
+        $longest_name_length = length $name[$ind]
+          if length $name[$ind] > $longest_name_length;
         ++$ind;
     } else {
         my ($type, at lists)=split /\s+/, $_;
@@ -125,10 +135,8 @@
 EOP
 }
 
-my $out = safer_open('regnodes.h-new', 'regnodes.h');
-
-print $out read_only_top(lang => 'C', by => 'regen/regcomp.pl',
-			 from => 'regcomp.sym');
+my $out = open_new('regnodes.h', '>',
+		   { by => 'regen/regcomp.pl', from => 'regcomp.sym' });
 printf $out <<EOP,
 /* Regops and State definitions */
 
@@ -255,15 +263,20 @@
 
         # optional leading '_'.  Return symbol in $1, and strip it from
         # rest of line
-        if (s/ \#define \s+ ( _? RXf_ \w+ ) \s+ //xi) {
+        if (s/ \# \s* define \s+ ( _? RXf_ \w+ ) \s+ //xi) {
             chomp;
             my $define = $1;
-            s: / \s* \* .*? \* \s* / : :x;    # Replace comments by a blank
+            my $orig= $_;
+            s{ /\* .*? \*/ }{ }x;    # Replace comments by a blank
 
             # Replace any prior defined symbols by their values
             foreach my $key (keys %definitions) {
                 s/\b$key\b/$definitions{$key}/g;
             }
+
+	    # Remove the U suffix from unsigned int literals
+	    s/\b([0-9]+)U\b/$1/g;
+
             my $newval = eval $_;   # Get numeric definition
 
             $definitions{$define} = $newval;
@@ -270,7 +283,12 @@
 
             next unless $_ =~ /<</; # Bit defines use left shift
             if($val & $newval) {
-                die sprintf "Both $define and $reverse{$newval} use %08X", $newval;
+                my @names=($define, $reverse{$newval});
+                s/PMf_// for @names;
+                if ($names[0] ne $names[1]) {
+                    die sprintf "ERROR: both $define and $reverse{$newval} use 0x%08X (%s:%s)", $newval, $orig, $_;
+                }
+                next;
             }
             $val|=$newval;
             $rxfv{$define}= $newval;
@@ -280,9 +298,11 @@
 }
 my %vrxf=reverse %rxfv;
 printf $out "\t/* Bits in extflags defined: %s */\n", unpack 'B*', pack 'N', $val;
+my %multibits;
 for (0..31) {
     my $power_of_2 = 2**$_;
     my $n=$vrxf{$power_of_2};
+    my $extra = "";
     if (! $n) {
 
         # Here, there was no name that matched exactly the bit.  It could be
@@ -297,16 +317,17 @@
             # that name, and all the bits it matches
             foreach my $name (keys %rxfv) {
                 if ($rxfv{$name} & $power_of_2) {
-                    $n = $name;
-                    $power_of_2 = $rxfv{$name};
+                    $n = $name . ( $multibits{$name}++ );
+                    $extra= sprintf qq{ : "%s" - 0x%08x}, $name, $rxfv{$name}
+                        if $power_of_2 != $rxfv{$name};
                     last;
                 }
             }
         }
     }
-    $n=~s/^RXf_(PMf_)?//;
-    printf $out qq(\t%-20s/* 0x%08x */\n), 
-        qq("$n",),$power_of_2;
+    s/\bRXf_(PMf_)?// for $n, $extra;
+    printf $out qq(\t%-20s/* 0x%08x%s */\n),
+        qq("$n",),$power_of_2, $extra;
 }  
  
 print $out <<EOP;
@@ -326,3 +347,51 @@
 EOC
 
 read_only_bottom_close_and_rename($out);
+
+my $guts = open_new('pod/perldebguts.pod', '>');
+
+my $code;
+my $name_fmt = '<' x ($longest_name_length-1);
+my $descr_fmt = '<' x (58-$longest_name_length);
+eval <<EOD;
+format GuTS =
+ ^*~~
+ \$cmnt[\$_]
+ ^$name_fmt ^<<<<<<<<< ^$descr_fmt~~
+ \$name[\$_], \$code,  \$rest[\$_]
+.
+EOD
+
+select +(select($guts), do {
+    $~ = "GuTS";
+
+    open my $oldguts, "pod/perldebguts.pod"
+        or die "$0 cannot open pod/perldebguts.pod for reading: $!";
+    while(<$oldguts>) {
+        print;
+        last if /=for regcomp.pl begin/;
+    }
+
+    print <<'end';
+
+ # TYPE arg-description [num-args] [longjump-len] DESCRIPTION
+end
+    for (0..$lastregop-1) {
+        $code = "$code[$_] ".($args[$_]||"");
+        $code .= " $longj[$_]" if $longj[$_];
+        if ($cmnt[$_] ||= "") {
+            # Trim multiple blanks
+            $cmnt[$_] =~ s/^\n\n+/\n/; $cmnt[$_] =~ s/\n\n+$/\n\n/
+        }
+        write;
+    }
+    print "\n";
+
+    while(<$oldguts>) {
+        last if /=for regcomp.pl end/;
+    }
+    do { print } while <$oldguts>;
+
+})[0];
+
+close_and_rename($guts);


Property changes on: vendor/perl/dist/regen/regcomp.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/regen_lib.pl
===================================================================
--- vendor/perl/dist/regen/regen_lib.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/regen_lib.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -32,54 +32,54 @@
   return $cnt;
 }
 
-sub safer_rename_silent {
-  my ($from, $to) = @_;
-
-  # Some dosish systems can't rename over an existing file:
-  safer_unlink $to;
-  chmod 0600, $from if $Needs_Write;
-  rename $from, $to;
-}
-
-sub rename_if_different {
-  my ($from, $to) = @_;
-
-  if ($TAP) {
-      my $not = compare($from, $to) ? 'not ' : '';
-      print STDOUT $not . "ok - $0 $to\n";
-      safer_unlink($from);
-      return;
-  }
-  if (compare($from, $to) == 0) {
-      warn "no changes between '$from' & '$to'\n" if $Verbose > 0;
-      safer_unlink($from);
-      return;
-  }
-  warn "changed '$from' to '$to'\n" if $Verbose > 0;
-  push @Changed, $to unless $Verbose < 0;
-  safer_rename_silent($from, $to) or die "renaming $from to $to: $!";
-}
-
-# Saf*er*, but not totally safe. And assumes always open for output.
-sub safer_open {
-    my ($name, $final_name) = @_;
-    if (-f $name) {
-	unlink $name or die "$name exists but can't unlink: $!";
+# Open a new file.
+sub open_new {
+    my ($final_name, $mode, $header) = @_;
+    my $name = $final_name . '-new';
+    my $lang = $final_name =~ /\.(?:c|h|tab|act)$/ ? 'C' : 'Perl';
+    my $fh = gensym;
+    if (!defined $mode or $mode eq '>') {
+	if (-f $name) {
+	    unlink $name or die "$name exists but can't unlink: $!";
+	}
+	open $fh, ">$name" or die "Can't create $name: $!";
+    } elsif ($mode eq '>>') {
+	open $fh, ">>$name" or die "Can't append to $name: $!";
+    } else {
+	die "Unhandled open mode '$mode#";
     }
-    my $fh = gensym;
-    open $fh, ">$name" or die "Can't create $name: $!";
     *{$fh}->{name} = $name;
-    if (defined $final_name) {
-	*{$fh}->{final_name} = $final_name;
-	*{$fh}->{lang} = ($final_name =~ /\.(?:c|h|tab|act)$/ ? 'C' : 'Perl');
-    }
+    *{$fh}->{final_name} = $final_name;
+    *{$fh}->{lang} = $lang;
     binmode $fh;
+    print {$fh} read_only_top(lang => $lang, %$header) if $header;
     $fh;
 }
 
-sub safer_close {
+sub close_and_rename {
     my $fh = shift;
-    close $fh or die 'Error closing ' . *{$fh}->{name} . ": $!";
+    my $name = *{$fh}->{name};
+    close $fh or die "Error closing $name: $!";
+    my $final_name = *{$fh}->{final_name};
+
+    if ($TAP) {
+	my $not = compare($name, $final_name) ? 'not ' : '';
+	print STDOUT $not . "ok - $0 $final_name\n";
+	safer_unlink($name);
+	return;
+    }
+    if (compare($name, $final_name) == 0) {
+	warn "no changes between '$name' & '$final_name'\n" if $Verbose > 0;
+	safer_unlink($name);
+	return;
+    }
+    warn "changed '$name' to '$final_name'\n" if $Verbose > 0;
+    push @Changed, $final_name unless $Verbose < 0;
+
+    # Some dosish systems can't rename over an existing file:
+    safer_unlink $final_name;
+    chmod 0600, $name if $Needs_Write;
+    rename $name, $final_name or die "renaming $name to $final_name: $!";
 }
 
 sub read_only_top {
@@ -129,11 +129,16 @@
 	? wrap('# ', '# ', $raw) . "\n" : wrap('/* ', $style, $raw) . " */\n\n";
     $cooked =~ tr/\0/ /; # Don't break Larry's name etc
     $cooked =~ s/ +$//mg; # Remove all trailing spaces
+    $cooked =~ s! \*/\n!$args{quote}!s if $args{quote};
     return $cooked;
 }
 
-sub read_only_bottom {
-    my ($sources, $lang) = @_;
+sub read_only_bottom_close_and_rename {
+    my ($fh, $sources) = @_;
+    my $name = *{$fh}->{name};
+    my $lang = *{$fh}->{lang};
+    die "No final name specified at open time for $name"
+	unless *{$fh}->{final_name};
 
     my $comment;
     if ($sources) {
@@ -152,20 +157,9 @@
 	$comment =~ s! \* !/* !;
 	$comment .= " */";
     }
-    return "$comment\n";
-}
+    print $fh "\n$comment\n";
 
-sub read_only_bottom_close_and_rename {
-    my ($fh, $sources) = @_;
-    my $name = *{$fh}->{name};
-    my $lang = *{$fh}->{lang};
-    die "No final name specified at open time for $name"
-	unless *{$fh}->{final_name};
-
-    print $fh "\n", read_only_bottom($sources, $lang);
-
-    safer_close($fh);
-    rename_if_different($name, *{$fh}->{final_name});
+    close_and_rename($fh);
 }
 
 sub tab {


Property changes on: vendor/perl/dist/regen/regen_lib.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/uconfig_h.pl
===================================================================
--- vendor/perl/dist/regen/uconfig_h.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/uconfig_h.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,9 +22,6 @@
 my $command = 'sh ./config_h.SH';
 system $command and die "`$command` failed, \$?=$?";
 
-open FH, ">>$uconfig_h_new" or die "Can't append to $uconfig_h_new: $!";
+my $fh = open_new($uconfig_h, '>>');
 
-print FH "\n", read_only_bottom([$ENV{CONFIG_SH}, 'config_h.SH']);
-
-safer_close(*FH);
-rename_if_different($uconfig_h_new, $uconfig_h);
+read_only_bottom_close_and_rename($fh, [$ENV{CONFIG_SH}, 'config_h.SH']);


Property changes on: vendor/perl/dist/regen/uconfig_h.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen/warnings.pl
===================================================================
--- vendor/perl/dist/regen/warnings.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen/warnings.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -53,11 +53,11 @@
 			   }],
        	'severe'	=> [ 5.008, { 	
 				'inplace'	=> [ 5.008, DEFAULT_ON],
-	 			'internal'	=> [ 5.008, DEFAULT_ON],
+	 			'internal'	=> [ 5.008, DEFAULT_OFF],
          			'debugging'	=> [ 5.008, DEFAULT_ON],
          			'malloc'	=> [ 5.008, DEFAULT_ON],
 	 		   }],
-        'deprecated'	=> [ 5.008, DEFAULT_OFF],
+        'deprecated'	=> [ 5.008, DEFAULT_ON],
        	'void'		=> [ 5.008, DEFAULT_OFF],
        	'recursion'	=> [ 5.008, DEFAULT_OFF],
        	'redefine'	=> [ 5.008, DEFAULT_OFF],
@@ -66,7 +66,7 @@
        	'once'		=> [ 5.008, DEFAULT_OFF],
        	'misc'		=> [ 5.008, DEFAULT_OFF],
        	'regexp'	=> [ 5.008, DEFAULT_OFF],
-       	'glob'		=> [ 5.008, DEFAULT_OFF],
+       	'glob'		=> [ 5.008, DEFAULT_ON],
        	'untie'		=> [ 5.008, DEFAULT_OFF],
 	'substr'	=> [ 5.008, DEFAULT_OFF],
 	'taint'		=> [ 5.008, DEFAULT_OFF],
@@ -84,11 +84,22 @@
        	'unpack'	=> [ 5.008, DEFAULT_OFF],
        	'threads'	=> [ 5.008, DEFAULT_OFF],
        	'imprecision'	=> [ 5.011, DEFAULT_OFF],
+       	'experimental'	=> [ 5.017, {
+                                'experimental::lexical_subs' =>
+                                    [ 5.017, DEFAULT_ON ],
+                                'experimental::regex_sets' =>
+                                    [ 5.017, DEFAULT_ON ],
+                                'experimental::lexical_topic' =>
+                                    [ 5.017, DEFAULT_ON ],
+                                'experimental::smartmatch' =>
+                                    [ 5.017, DEFAULT_ON ],
+                        }],
 
        	 #'default'	=> [ 5.008, DEFAULT_ON ],
   	}],
 } ;
 
+my @def ;
 my %list ;
 my %Value ;
 my %ValueToName ;
@@ -151,6 +162,8 @@
 	my ($ver, $rest) = @{ $v } ;
 	if (ref $rest)
 	  { push (@{ $list{$k} }, walk ($rest)) }
+	elsif ($rest == DEFAULT_ON)
+	  { push @def, $NameToValue{uc $k} }
 
 	push @list, @{ $list{$k} } ;
     }
@@ -260,11 +273,11 @@
     exit ;
 }
 
-my $warn = safer_open('warnings.h-new', 'warnings.h');
-my $pm = safer_open('lib/warnings.pm-new', 'lib/warnings.pm');
+my ($warn, $pm) = map {
+    open_new($_, '>', { by => 'regen/warnings.pl' });
+} 'warnings.h', 'lib/warnings.pm';
 
-print $pm read_only_top(lang => 'Perl', by => 'regen/warnings.pl');
-print $warn read_only_top(lang => 'C', by => 'regen/warnings.pl'), <<'EOM';
+print $warn <<'EOM';
 
 #define Off(x)			((x) / 8)
 #define Bit(x)			(1 << ((x) % 8))
@@ -310,7 +323,8 @@
     my ($name, $version) = @{ $ValueToName{$k} };
     print $warn "\n/* Warnings Categories added in Perl $version */\n\n"
         if $last_ver != $version ;
-    print $warn tab(5, "#define WARN_$name"), "$k\n" ;
+    $name =~ y/:/_/;
+    print $warn tab(5, "#define WARN_$name"), " $k\n" ;
     $last_ver = $version ;
 }
 print $warn "\n" ;
@@ -416,6 +430,8 @@
 
 print $pm "  );\n\n" ;
 print $pm '$NONE     = "', ('\0' x $warn_size) , "\";\n" ;
+print $pm '$DEFAULT  = "', mkHex($warn_size, map $_ * 2, @def),
+			   '", # [', mkRange(@def), "]\n" ;
 print $pm '$LAST_BIT = ' . "$index ;\n" ;
 print $pm '$BYTES    = ' . "$warn_size ;\n" ;
 while (<DATA>) {
@@ -427,7 +443,7 @@
 __END__
 package warnings;
 
-our $VERSION = '1.12';
+our $VERSION = '1.18';
 
 # Verify that we're called correctly so that warnings will work.
 # see also strict.pm.
@@ -469,7 +485,8 @@
 
 The C<warnings> pragma is a replacement for the command line flag C<-w>,
 but the pragma is limited to the enclosing block, while the flag is global.
-See L<perllexwarn> for more information.
+See L<perllexwarn> for more information and the list of built-in warning
+categories.
 
 If no import list is supplied, all possible warnings are either enabled
 or disabled.
@@ -635,7 +652,7 @@
 {
     shift;
 
-    my $mask = ${^WARNING_BITS} ;
+    my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
 
     if (vec($mask, $Offsets{'all'}, 1)) {
         $mask |= $Bits{'all'} ;
@@ -651,7 +668,7 @@
     shift;
 
     my $catmask ;
-    my $mask = ${^WARNING_BITS} ;
+    my $mask = ${^WARNING_BITS} // ($^W ? $Bits{all} : $DEFAULT) ;
 
     if (vec($mask, $Offsets{'all'}, 1)) {
         $mask |= $Bits{'all'} ;
@@ -730,8 +747,11 @@
         $i = _error_loc(); # see where Carp will allocate the error
     }
 
-    # Defaulting this to 0 reduces complexity in code paths below.
-    my $callers_bitmask = (caller($i))[9] || 0 ;
+    # Default to 0 if caller returns nothing.  Default to $DEFAULT if it
+    # explicitly returns undef.
+    my(@callers_bitmask) = (caller($i))[9] ;
+    my $callers_bitmask =
+	 @callers_bitmask ? $callers_bitmask[0] // $DEFAULT : 0 ;
 
     my @results;
     foreach my $type (FATAL, NORMAL) {
@@ -809,6 +829,6 @@
 
 # These are not part of any public interface, so we can delete them to save
 # space.
-delete $warnings::{$_} foreach qw(NORMAL FATAL MESSAGE);
+delete @warnings::{qw(NORMAL FATAL MESSAGE)};
 
 1;


Property changes on: vendor/perl/dist/regen/warnings.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/regen.pl
===================================================================
--- vendor/perl/dist/regen.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,6 +16,7 @@
 # Which scripts to run.
 
 my @scripts = qw(
+mg_vtable.pl
 opcode.pl
 overload.pl
 reentr.pl
@@ -22,6 +23,7 @@
 regcomp.pl
 warnings.pl
 embed.pl
+feature.pl
 );
 
 my $tap = $ARGV[0] && $ARGV[0] eq '--tap' ? '# ' : '';


Property changes on: vendor/perl/dist/regen.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Deleted: vendor/perl/dist/regen_lib.pl
===================================================================
--- vendor/perl/dist/regen_lib.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen_lib.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,70 +0,0 @@
-#!/usr/bin/perl -w
-use strict;
-use vars qw($Needs_Write $Verbose @Changed);
-use File::Compare;
-use Symbol;
-
-# Common functions needed by the regen scripts
-
-$Needs_Write = $^O eq 'cygwin' || $^O eq 'os2' || $^O eq 'MSWin32';
-
-$Verbose = 0;
- at ARGV = grep { not($_ eq '-q' and $Verbose = -1) }
-  grep { not($_ eq '-v' and $Verbose = 1) } @ARGV;
-
-END {
-  print STDOUT "Changed: @Changed\n" if @Changed;
-}
-
-sub safer_unlink {
-  my @names = @_;
-  my $cnt = 0;
-
-  my $name;
-  foreach $name (@names) {
-    next unless -e $name;
-    chmod 0777, $name if $Needs_Write;
-    ( CORE::unlink($name) and ++$cnt
-      or warn "Couldn't unlink $name: $!\n" );
-  }
-  return $cnt;
-}
-
-sub safer_rename_silent {
-  my ($from, $to) = @_;
-
-  # Some dosish systems can't rename over an existing file:
-  safer_unlink $to;
-  chmod 0600, $from if $Needs_Write;
-  rename $from, $to;
-}
-
-sub rename_if_different {
-  my ($from, $to) = @_;
-
-  if (compare($from, $to) == 0) {
-      warn "no changes between '$from' & '$to'\n" if $Verbose > 0;
-      safer_unlink($from);
-      return;
-  }
-  warn "changed '$from' to '$to'\n" if $Verbose > 0;
-  push @Changed, $to unless $Verbose < 0;
-  safer_rename_silent($from, $to) or die "renaming $from to $to: $!";
-}
-
-# Saf*er*, but not totally safe. And assumes always open for output.
-sub safer_open {
-    my $name = shift;
-    my $fh = gensym;
-    open $fh, ">$name" or die "Can't create $name: $!";
-    *{$fh}->{SCALAR} = $name;
-    binmode $fh;
-    $fh;
-}
-
-sub safer_close {
-    my $fh = shift;
-    close $fh or die 'Error closing ' . *{$fh}->{SCALAR} . ": $!";
-}
-
-1;

Modified: vendor/perl/dist/regen_perly.pl
===================================================================
--- vendor/perl/dist/regen_perly.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regen_perly.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 #
 # regen_perly.pl, DAPM 12-Feb-04
 #
-# Copyright (c) 2004, 2005 Larry Wall
+# Copyright (c) 2004, 2005, 2006, 2009, 2010, 2011 Larry Wall
 #
 # Given an input file perly.y, run bison on it and produce
 # the following output files:
@@ -73,16 +73,21 @@
 Could not find a version of bison in your path. Please install bison.
 EOF
 
-unless ($version =~ /\b(1\.875[a-z]?|2\.[0134])\b/) { die <<EOF; }
+# Don't change this to add new bison versions without testing that the generated
+# files actually work :-) Win32 in particular may not like them. :-(
+unless ($version =~ /\b(1\.875[a-z]?|2\.[0134567])\b/) { die <<EOF; }
 
 You have the wrong version of bison in your path; currently 1.875
-2.0, 2.1, 2.3 or 2.4 is required.  Try installing
-    http://ftp.gnu.org/gnu/bison/bison-2.4.1.tar.gz
+2.0, 2.1, 2.3, 2.4, 2.5, 2.6 or 2.7 is required.  Try installing
+    http://ftp.gnu.org/gnu/bison/bison-2.5.1.tar.gz
 or similar.  Your bison identifies itself as:
 
 $version
 EOF
 
+# bison's version number, not the entire string, is most useful later on.
+$version = $1;
+
 # creates $tmpc_file and $tmph_file
 my_system("$bison -d -o $tmpc_file $y_file");
 
@@ -95,15 +100,16 @@
 
 my ($actlines, $tablines) = extract($clines);
 
+our %tokens;
 $tablines .= make_type_tab($y_file, $tablines);
 
-my $read_only = read_only_top(lang => 'C', by => $0, from => $y_file);
+my ($act_fh, $tab_fh, $h_fh) = map {
+    open_new($_, '>', { by => $0, from => $y_file });
+} $act_file, $tab_file, $h_file;
 
-my $act_fh = safer_open("$act_file-new", $act_file);
-print $act_fh $read_only, $actlines;
+print $act_fh $actlines;
 
-my $tab_fh = safer_open("$tab_file-new", $tab_file);
-print $tab_fh $read_only, $tablines;
+print $tab_fh $tablines;
 
 unlink $tmpc_file;
 
@@ -112,18 +118,35 @@
 # C<#line 188 "perlytmp.h"> gets picked up by make depend, so remove them.
 
 open my $tmph_fh, '<', $tmph_file or die "Can't open $tmph_file: $!\n";
-my $h_fh = safer_open("$h_file-new", $h_file);
 
-print $h_fh $read_only;
-
 my $endcore_done = 0;
-# Token macros need to be generated manually on bison 2.4
-my $gather_tokens = ($version =~ /\b2\.4\b/ ? undef : 0);
+# Token macros need to be generated manually from bison 2.4 on
+my $gather_tokens = $version >= 2.4 ? undef : 0;
 my $tokens;
 while (<$tmph_fh>) {
+    # bison 2.6 adds header guards, which break things because of where we
+    # insert #ifdef PERL_CORE, so strip them because they aren't important
+    next if /YY_PERLYTMP_H/;
+
     print $h_fh "#ifdef PERL_CORE\n" if $. == 1;
     if (!$endcore_done and /YYSTYPE_IS_DECLARED/) {
-	print $h_fh "#endif /* PERL_CORE */\n";
+	print $h_fh <<h;
+#ifdef PERL_IN_TOKE_C
+static bool
+S_is_opval_token(int type) {
+    switch (type) {
+h
+	print $h_fh <<i for sort grep $tokens{$_} eq 'opval', keys %tokens;
+    case $_:
+i
+	print $h_fh <<j;
+	return 1;
+    }
+    return 0;
+}
+#endif /* PERL_IN_TOKE_C */
+#endif /* PERL_CORE */
+j
 	$endcore_done = 1;
     }
     next if /^#line \d+ ".*"/;
@@ -243,6 +266,7 @@
 
 sub make_type_tab {
     my ($y_file, $tablines) = @_;
+    my %just_tokens;
     my %tokens;
     my %types;
     my $default_token;
@@ -262,16 +286,22 @@
 	}
 
 	next unless /^%(token|type)/;
-	s/^%(token|type)\s+<(\w+)>\s+//
+	s/^%((token)|type)\s+<(\w+)>\s+//
 	    or die "$y_file: unparseable token/type line: $_";
-	$tokens{$_} = $2 for (split ' ', $_);
-	$types{$2} = 1;
+	for (split ' ', $_) {
+	    $tokens{$_} = $3;
+	    if ($2) {
+		$just_tokens{$_} = $3;
+	    }
+	}
+	$types{$3} = 1;
     }
+    *tokens = \%just_tokens; # perly.h needs this
     die "$y_file: no __DEFAULT__ token defined\n" unless $default_token;
     $types{$default_token} = 1;
 
     $tablines =~ /^\Qstatic const char *const yytname[] =\E\n
-	    {\n
+	    \{\n
 	    (.*?)
 	    ^};
 	    /xsm
@@ -281,7 +311,7 @@
 		{ "toketype_" .
 		    (defined $tokens{$1} ? $tokens{$1} : $default_token)
 		}ge;
-    $fields =~ s/, \s* 0 \s* $//x
+    $fields =~ s/, \s* (?:0|YY_NULL) \s* $//x
 	or die "make_type_tab: couldn't delete trailing ',0'\n";
 
     return 


Property changes on: vendor/perl/dist/regen_perly.pl
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/regexec.c
===================================================================
--- vendor/perl/dist/regexec.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regexec.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -37,6 +37,16 @@
 #include "re_top.h"
 #endif
 
+/* At least one required character in the target string is expressible only in
+ * UTF-8. */
+static const char* const non_utf8_target_but_utf8_required
+                = "Can't match, because target string needs to be in UTF-8\n";
+
+#define NON_UTF8_TARGET_BUT_UTF8_REQUIRED(target) STMT_START { \
+    DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log, "%s", non_utf8_target_but_utf8_required));\
+    goto target; \
+} STMT_END
+
 /*
  * pregcomp and pregexec -- regsub and regerror are not used in perl
  *
@@ -80,24 +90,19 @@
 #  include "regcomp.h"
 #endif
 
-#define RF_tainted	1	/* tainted information used? e.g. locale */
-#define RF_warned	2		/* warned about big count? */
+#include "inline_invlist.c"
+#include "unicode_constants.h"
 
-#define RF_utf8		8		/* Pattern contains multibyte chars? */
+#define HAS_NONLATIN1_FOLD_CLOSURE(i) _HAS_NONLATIN1_FOLD_CLOSURE_ONLY_FOR_USE_BY_REGCOMP_DOT_C_AND_REGEXEC_DOT_C(i)
 
-#define UTF_PATTERN ((PL_reg_flags & RF_utf8) != 0)
-
-#define RS_init		1		/* eval environment created */
-#define RS_set		2		/* replsv value is set */
-
 #ifndef STATIC
 #define	STATIC	static
 #endif
 
-/* Valid for non-utf8 strings, non-ANYOFV nodes only: avoids the reginclass
+/* Valid for non-utf8 strings: avoids the reginclass
  * call if there are no complications: i.e., if everything matchable is
  * straight forward in the bitmap */
-#define REGINCLASS(prog,p,c)  (ANYOF_FLAGS(p) ? reginclass(prog,p,c,0,0)   \
+#define REGINCLASS(prog,p,c)  (ANYOF_FLAGS(p) ? reginclass(prog,p,c,0)   \
 					      : ANYOF_BITMAP_TEST(p,*(c)))
 
 /*
@@ -121,145 +126,57 @@
 #define HOP3(pos,off,lim) (PL_reg_match_utf8 ? reghop3((U8*)(pos), off, (U8*)(lim)) : (U8*)(pos + off))
 #define HOP3c(pos,off,lim) ((char*)HOP3(pos,off,lim))
 
-/* these are unrolled below in the CCC_TRY_XXX defined */
-#define LOAD_UTF8_CHARCLASS(class,str) STMT_START { \
-    if (!CAT2(PL_utf8_,class)) { bool ok; ENTER; save_re_context(); ok=CAT2(is_utf8_,class)((const U8*)str); assert(ok); LEAVE; } } STMT_END
 
-/* Doesn't do an assert to verify that is correct */
-#define LOAD_UTF8_CHARCLASS_NO_CHECK(class) STMT_START { \
-    if (!CAT2(PL_utf8_,class)) { bool throw_away; ENTER; save_re_context(); throw_away = CAT2(is_utf8_,class)((const U8*)" "); LEAVE; } } STMT_END
+#define NEXTCHR_EOS -10 /* nextchr has fallen off the end */
+#define NEXTCHR_IS_EOS (nextchr < 0)
 
-#define LOAD_UTF8_CHARCLASS_ALNUM() LOAD_UTF8_CHARCLASS(alnum,"a")
-#define LOAD_UTF8_CHARCLASS_DIGIT() LOAD_UTF8_CHARCLASS(digit,"0")
-#define LOAD_UTF8_CHARCLASS_SPACE() LOAD_UTF8_CHARCLASS(space," ")
+#define SET_nextchr \
+    nextchr = ((locinput < PL_regeol) ? UCHARAT(locinput) : NEXTCHR_EOS)
 
-#define LOAD_UTF8_CHARCLASS_GCB()  /* Grapheme cluster boundaries */        \
-	LOAD_UTF8_CHARCLASS(X_begin, " ");                                  \
-	LOAD_UTF8_CHARCLASS(X_non_hangul, "A");                             \
-	/* These are utf8 constants, and not utf-ebcdic constants, so the   \
-	    * assert should likely and hopefully fail on an EBCDIC machine */ \
-	LOAD_UTF8_CHARCLASS(X_extend, "\xcc\x80"); /* U+0300 */             \
-									    \
-	/* No asserts are done for these, in case called on an early        \
-	    * Unicode version in which they map to nothing */               \
-	LOAD_UTF8_CHARCLASS_NO_CHECK(X_prepend);/* U+0E40 "\xe0\xb9\x80" */ \
-	LOAD_UTF8_CHARCLASS_NO_CHECK(X_L);	    /* U+1100 "\xe1\x84\x80" */ \
-	LOAD_UTF8_CHARCLASS_NO_CHECK(X_LV);     /* U+AC00 "\xea\xb0\x80" */ \
-	LOAD_UTF8_CHARCLASS_NO_CHECK(X_LVT);    /* U+AC01 "\xea\xb0\x81" */ \
-	LOAD_UTF8_CHARCLASS_NO_CHECK(X_LV_LVT_V);/* U+AC01 "\xea\xb0\x81" */\
-	LOAD_UTF8_CHARCLASS_NO_CHECK(X_T);      /* U+11A8 "\xe1\x86\xa8" */ \
-	LOAD_UTF8_CHARCLASS_NO_CHECK(X_V)       /* U+1160 "\xe1\x85\xa0" */  
+#define SET_locinput(p) \
+    locinput = (p);  \
+    SET_nextchr
 
-#define PLACEHOLDER	/* Something for the preprocessor to grab onto */
 
-/* The actual code for CCC_TRY, which uses several variables from the routine
- * it's callable from.  It is designed to be the bulk of a case statement.
- * FUNC is the macro or function to call on non-utf8 targets that indicate if
- *      nextchr matches the class.
- * UTF8_TEST is the whole test string to use for utf8 targets
- * LOAD is what to use to test, and if not present to load in the swash for the
- *	class
- * POS_OR_NEG is either empty or ! to complement the results of FUNC or
- *	UTF8_TEST test.
- * The logic is: Fail if we're at the end-of-string; otherwise if the target is
- * utf8 and a variant, load the swash if necessary and test using the utf8
- * test.  Advance to the next character if test is ok, otherwise fail; If not
- * utf8 or an invariant under utf8, use the non-utf8 test, and fail if it
- * fails, or advance to the next character */
+#define LOAD_UTF8_CHARCLASS(swash_ptr, property_name) STMT_START {            \
+        if (!swash_ptr) {                                                     \
+            U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;                       \
+            swash_ptr = _core_swash_init("utf8", property_name, &PL_sv_undef, \
+                                         1, 0, NULL, &flags);                 \
+            assert(swash_ptr);                                                \
+        }                                                                     \
+    } STMT_END
 
-#define _CCC_TRY_CODE(POS_OR_NEG, FUNC, UTF8_TEST, CLASS, STR)                \
-    if (locinput >= PL_regeol) {                                              \
-	sayNO;                                                                \
-    }                                                                         \
-    if (utf8_target && UTF8_IS_CONTINUED(nextchr)) {                          \
-	LOAD_UTF8_CHARCLASS(CLASS, STR);                                      \
-	if (POS_OR_NEG (UTF8_TEST)) {                                         \
-	    sayNO;                                                            \
-	}                                                                     \
-	locinput += PL_utf8skip[nextchr];                                     \
-	nextchr = UCHARAT(locinput);                                          \
-	break;                                                                \
-    }                                                                         \
-    if (POS_OR_NEG (FUNC(nextchr))) {                                         \
-	sayNO;                                                                \
-    }                                                                         \
-    nextchr = UCHARAT(++locinput);                                            \
-    break;
+/* If in debug mode, we test that a known character properly matches */
+#ifdef DEBUGGING
+#   define LOAD_UTF8_CHARCLASS_DEBUG_TEST(swash_ptr,                          \
+                                          property_name,                      \
+                                          utf8_char_in_property)              \
+        LOAD_UTF8_CHARCLASS(swash_ptr, property_name);                        \
+        assert(swash_fetch(swash_ptr, (U8 *) utf8_char_in_property, TRUE));
+#else
+#   define LOAD_UTF8_CHARCLASS_DEBUG_TEST(swash_ptr,                          \
+                                          property_name,                      \
+                                          utf8_char_in_property)              \
+        LOAD_UTF8_CHARCLASS(swash_ptr, property_name)
+#endif
 
-/* Handle the non-locale cases for a character class and its complement.  It
- * calls _CCC_TRY_CODE with a ! to complement the test for the character class.
- * This is because that code fails when the test succeeds, so we want to have
- * the test fail so that the code succeeds.  The swash is stored in a
- * predictable PL_ place */
-#define _CCC_TRY_NONLOCALE(NAME,  NNAME,  FUNC,                               \
-	                   CLASS, STR)                                        \
-    case NAME:                                                                \
-	_CCC_TRY_CODE( !, FUNC,                                               \
-		          cBOOL(swash_fetch(CAT2(PL_utf8_,CLASS),             \
-			                    (U8*)locinput, TRUE)),            \
-		          CLASS, STR)                                         \
-    case NNAME:                                                               \
-	_CCC_TRY_CODE(  PLACEHOLDER , FUNC,                                   \
-		          cBOOL(swash_fetch(CAT2(PL_utf8_,CLASS),             \
-			                    (U8*)locinput, TRUE)),            \
-		          CLASS, STR)                                         \
+#define LOAD_UTF8_CHARCLASS_ALNUM() LOAD_UTF8_CHARCLASS_DEBUG_TEST(           \
+                                        PL_utf8_swash_ptrs[_CC_WORDCHAR],     \
+                                        swash_property_names[_CC_WORDCHAR],   \
+                                        GREEK_SMALL_LETTER_IOTA_UTF8)
 
-/* Generate the case statements for both locale and non-locale character
- * classes in regmatch for classes that don't have special unicode semantics.
- * Locales don't use an immediate swash, but an intermediary special locale
- * function that is called on the pointer to the current place in the input
- * string.  That function will resolve to needing the same swash.  One might
- * think that because we don't know what the locale will match, we shouldn't
- * check with the swash loading function that it loaded properly; ie, that we
- * should use LOAD_UTF8_CHARCLASS_NO_CHECK for those, but what is passed to the
- * regular LOAD_UTF8_CHARCLASS is in non-locale terms, and so locale is
- * irrelevant here */
-#define CCC_TRY(NAME,  NNAME,  FUNC,                                          \
-	        NAMEL, NNAMEL, LCFUNC, LCFUNC_utf8,                           \
-	        NAMEA, NNAMEA, FUNCA,                                         \
-		CLASS, STR)                                                   \
-    case NAMEL:                                                               \
-	PL_reg_flags |= RF_tainted;                                           \
-	_CCC_TRY_CODE( !, LCFUNC, LCFUNC_utf8((U8*)locinput), CLASS, STR)     \
-    case NNAMEL:                                                              \
-	PL_reg_flags |= RF_tainted;                                           \
-	_CCC_TRY_CODE( PLACEHOLDER, LCFUNC, LCFUNC_utf8((U8*)locinput),       \
-		       CLASS, STR)                                            \
-    case NAMEA:                                                               \
-	if (locinput >= PL_regeol || ! FUNCA(nextchr)) {                      \
-	    sayNO;                                                            \
-	}                                                                     \
-	/* Matched a utf8-invariant, so don't have to worry about utf8 */     \
-	nextchr = UCHARAT(++locinput);                                        \
-	break;                                                                \
-    case NNAMEA:                                                              \
-	if (locinput >= PL_regeol || FUNCA(nextchr)) {                        \
-	    sayNO;                                                            \
-	}                                                                     \
-	if (utf8_target) {                                                    \
-	    locinput += PL_utf8skip[nextchr];                                 \
-	    nextchr = UCHARAT(locinput);                                      \
-	}                                                                     \
-	else {                                                                \
-	    nextchr = UCHARAT(++locinput);                                    \
-	}                                                                     \
-	break;                                                                \
-    /* Generate the non-locale cases */                                       \
-    _CCC_TRY_NONLOCALE(NAME, NNAME, FUNC, CLASS, STR)
+#define LOAD_UTF8_CHARCLASS_GCB()  /* Grapheme cluster boundaries */          \
+    STMT_START {                                                              \
+	LOAD_UTF8_CHARCLASS_DEBUG_TEST(PL_utf8_X_regular_begin,               \
+                                       "_X_regular_begin",                    \
+                                       GREEK_SMALL_LETTER_IOTA_UTF8);         \
+	LOAD_UTF8_CHARCLASS_DEBUG_TEST(PL_utf8_X_extend,                      \
+                                       "_X_extend",                           \
+                                       COMBINING_GRAVE_ACCENT_UTF8);          \
+    } STMT_END
 
-/* This is like CCC_TRY, but has an extra set of parameters for generating case
- * statements to handle separate Unicode semantics nodes */
-#define CCC_TRY_U(NAME,  NNAME,  FUNC,                                         \
-		  NAMEL, NNAMEL, LCFUNC, LCFUNC_utf8,                          \
-	          NAMEU, NNAMEU, FUNCU,                                        \
-	          NAMEA, NNAMEA, FUNCA,                                        \
-	          CLASS, STR)                                                  \
-    CCC_TRY(NAME, NNAME, FUNC,                                                 \
-	    NAMEL, NNAMEL, LCFUNC, LCFUNC_utf8,                                \
-	    NAMEA, NNAMEA, FUNCA,                                              \
-	    CLASS, STR)                                                        \
-    _CCC_TRY_NONLOCALE(NAMEU, NNAMEU, FUNCU, CLASS, STR)
-
+#define PLACEHOLDER	/* Something for the preprocessor to grab onto */
 /* TODO: Combine JUMPABLE and HAS_TEXT to cache OP(rn) */
 
 /* for use after a quantifier and before an EXACT-like node -- japhy */
@@ -289,13 +206,13 @@
 /* Currently these are only used when PL_regkind[OP(rn)] == EXACT so
    we don't need this definition. */
 #define IS_TEXT(rn)   ( OP(rn)==EXACT   || OP(rn)==REF   || OP(rn)==NREF   )
-#define IS_TEXTF(rn)  ( (OP(rn)==EXACTFU || OP(rn)==EXACTFA ||  OP(rn)==EXACTF)  || OP(rn)==REFF  || OP(rn)==NREFF )
+#define IS_TEXTF(rn)  ( OP(rn)==EXACTFU || OP(rn)==EXACTFU_SS || OP(rn)==EXACTFU_TRICKYFOLD || OP(rn)==EXACTFA || OP(rn)==EXACTF || OP(rn)==REFF  || OP(rn)==NREFF )
 #define IS_TEXTFL(rn) ( OP(rn)==EXACTFL || OP(rn)==REFFL || OP(rn)==NREFFL )
 
 #else
 /* ... so we use this as its faster. */
 #define IS_TEXT(rn)   ( OP(rn)==EXACT   )
-#define IS_TEXTFU(rn)  ( OP(rn)==EXACTFU || OP(rn) == EXACTFA)
+#define IS_TEXTFU(rn)  ( OP(rn)==EXACTFU || OP(rn)==EXACTFU_SS || OP(rn)==EXACTFU_TRICKYFOLD || OP(rn) == EXACTFA)
 #define IS_TEXTF(rn)  ( OP(rn)==EXACTF  )
 #define IS_TEXTFL(rn) ( OP(rn)==EXACTFL )
 
@@ -318,55 +235,76 @@
     } \
 } STMT_END 
 
+/* These constants are for finding GCB=LV and GCB=LVT in the CLUMP regnode.
+ * These are for the pre-composed Hangul syllables, which are all in a
+ * contiguous block and arranged there in such a way so as to facilitate
+ * alorithmic determination of their characteristics.  As such, they don't need
+ * a swash, but can be determined by simple arithmetic.  Almost all are
+ * GCB=LVT, but every 28th one is a GCB=LV */
+#define SBASE 0xAC00    /* Start of block */
+#define SCount 11172    /* Length of block */
+#define TCount 28
 
 static void restore_pos(pTHX_ void *arg);
 
-#define REGCP_PAREN_ELEMS 4
-#define REGCP_OTHER_ELEMS 5
+#define REGCP_PAREN_ELEMS 3
+#define REGCP_OTHER_ELEMS 3
 #define REGCP_FRAME_ELEMS 1
 /* REGCP_FRAME_ELEMS are not part of the REGCP_OTHER_ELEMS and
  * are needed for the regexp context stack bookkeeping. */
 
 STATIC CHECKPOINT
-S_regcppush(pTHX_ I32 parenfloor)
+S_regcppush(pTHX_ const regexp *rex, I32 parenfloor, U32 maxopenparen)
 {
     dVAR;
     const int retval = PL_savestack_ix;
-    const int paren_elems_to_push = (PL_regsize - parenfloor) * REGCP_PAREN_ELEMS;
+    const int paren_elems_to_push =
+                (maxopenparen - parenfloor) * REGCP_PAREN_ELEMS;
     const UV total_elems = paren_elems_to_push + REGCP_OTHER_ELEMS;
     const UV elems_shifted = total_elems << SAVE_TIGHT_SHIFT;
-    int p;
+    I32 p;
     GET_RE_DEBUG_FLAGS_DECL;
 
+    PERL_ARGS_ASSERT_REGCPPUSH;
+
     if (paren_elems_to_push < 0)
-	Perl_croak(aTHX_ "panic: paren_elems_to_push < 0");
+	Perl_croak(aTHX_ "panic: paren_elems_to_push, %i < 0",
+		   paren_elems_to_push);
 
     if ((elems_shifted >> SAVE_TIGHT_SHIFT) != total_elems)
 	Perl_croak(aTHX_ "panic: paren_elems_to_push offset %"UVuf
 		   " out of range (%lu-%ld)",
-		   total_elems, (unsigned long)PL_regsize, (long)parenfloor);
+		   total_elems,
+                   (unsigned long)maxopenparen,
+                   (long)parenfloor);
 
     SSGROW(total_elems + REGCP_FRAME_ELEMS);
     
-    for (p = PL_regsize; p > parenfloor; p--) {
+    DEBUG_BUFFERS_r(
+	if ((int)maxopenparen > (int)parenfloor)
+	    PerlIO_printf(Perl_debug_log,
+		"rex=0x%"UVxf" offs=0x%"UVxf": saving capture indices:\n",
+		PTR2UV(rex),
+		PTR2UV(rex->offs)
+	    );
+    );
+    for (p = parenfloor+1; p <= (I32)maxopenparen;  p++) {
 /* REGCP_PARENS_ELEMS are pushed per pairs of parentheses. */
-	SSPUSHINT(PL_regoffs[p].end);
-	SSPUSHINT(PL_regoffs[p].start);
-	SSPUSHPTR(PL_reg_start_tmp[p]);
-	SSPUSHINT(p);
+	SSPUSHINT(rex->offs[p].end);
+	SSPUSHINT(rex->offs[p].start);
+	SSPUSHINT(rex->offs[p].start_tmp);
 	DEBUG_BUFFERS_r(PerlIO_printf(Perl_debug_log,
-	  "     saving \\%"UVuf" %"IVdf"(%"IVdf")..%"IVdf"\n",
-		      (UV)p, (IV)PL_regoffs[p].start,
-		      (IV)(PL_reg_start_tmp[p] - PL_bostr),
-		      (IV)PL_regoffs[p].end
+	    "    \\%"UVuf": %"IVdf"(%"IVdf")..%"IVdf"\n",
+	    (UV)p,
+	    (IV)rex->offs[p].start,
+	    (IV)rex->offs[p].start_tmp,
+	    (IV)rex->offs[p].end
 	));
     }
 /* REGCP_OTHER_ELEMS are pushed in any case, parentheses or no. */
-    SSPUSHPTR(PL_regoffs);
-    SSPUSHINT(PL_regsize);
-    SSPUSHINT(*PL_reglastparen);
-    SSPUSHINT(*PL_reglastcloseparen);
-    SSPUSHPTR(PL_reginput);
+    SSPUSHINT(maxopenparen);
+    SSPUSHINT(rex->lastparen);
+    SSPUSHINT(rex->lastcloseparen);
     SSPUSHUV(SAVEt_REGCONTEXT | elems_shifted); /* Magic cookie. */
 
     return retval;
@@ -388,12 +326,19 @@
 	        (IV)(cp), (IV)PL_savestack_ix));                \
     regcpblow(cp)
 
-STATIC char *
-S_regcppop(pTHX_ const regexp *rex)
+#define UNWIND_PAREN(lp, lcp)               \
+    for (n = rex->lastparen; n > lp; n--)   \
+        rex->offs[n].end = -1;              \
+    rex->lastparen = n;                     \
+    rex->lastcloseparen = lcp;
+
+
+STATIC void
+S_regcppop(pTHX_ regexp *rex, U32 *maxopenparen_p)
 {
     dVAR;
     UV i;
-    char *input;
+    U32 paren;
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_REGCPPOP;
@@ -402,38 +347,38 @@
     i = SSPOPUV;
     assert((i & SAVE_MASK) == SAVEt_REGCONTEXT); /* Check that the magic cookie is there. */
     i >>= SAVE_TIGHT_SHIFT; /* Parentheses elements to pop. */
-    input = (char *) SSPOPPTR;
-    *PL_reglastcloseparen = SSPOPINT;
-    *PL_reglastparen = SSPOPINT;
-    PL_regsize = SSPOPINT;
-    PL_regoffs=(regexp_paren_pair *) SSPOPPTR;
+    rex->lastcloseparen = SSPOPINT;
+    rex->lastparen = SSPOPINT;
+    *maxopenparen_p = SSPOPINT;
 
     i -= REGCP_OTHER_ELEMS;
     /* Now restore the parentheses context. */
+    DEBUG_BUFFERS_r(
+	if (i || rex->lastparen + 1 <= rex->nparens)
+	    PerlIO_printf(Perl_debug_log,
+		"rex=0x%"UVxf" offs=0x%"UVxf": restoring capture indices to:\n",
+		PTR2UV(rex),
+		PTR2UV(rex->offs)
+	    );
+    );
+    paren = *maxopenparen_p;
     for ( ; i > 0; i -= REGCP_PAREN_ELEMS) {
 	I32 tmps;
-	U32 paren = (U32)SSPOPINT;
-	PL_reg_start_tmp[paren] = (char *) SSPOPPTR;
-	PL_regoffs[paren].start = SSPOPINT;
+	rex->offs[paren].start_tmp = SSPOPINT;
+	rex->offs[paren].start = SSPOPINT;
 	tmps = SSPOPINT;
-	if (paren <= *PL_reglastparen)
-	    PL_regoffs[paren].end = tmps;
-	DEBUG_BUFFERS_r(
-	    PerlIO_printf(Perl_debug_log,
-			  "     restoring \\%"UVuf" to %"IVdf"(%"IVdf")..%"IVdf"%s\n",
-			  (UV)paren, (IV)PL_regoffs[paren].start,
-			  (IV)(PL_reg_start_tmp[paren] - PL_bostr),
-			  (IV)PL_regoffs[paren].end,
-			  (paren > *PL_reglastparen ? "(no)" : ""));
+	if (paren <= rex->lastparen)
+	    rex->offs[paren].end = tmps;
+	DEBUG_BUFFERS_r( PerlIO_printf(Perl_debug_log,
+	    "    \\%"UVuf": %"IVdf"(%"IVdf")..%"IVdf"%s\n",
+	    (UV)paren,
+	    (IV)rex->offs[paren].start,
+	    (IV)rex->offs[paren].start_tmp,
+	    (IV)rex->offs[paren].end,
+	    (paren > rex->lastparen ? "(skipped)" : ""));
 	);
+	paren--;
     }
-    DEBUG_BUFFERS_r(
-	if (*PL_reglastparen + 1 <= rex->nparens) {
-	    PerlIO_printf(Perl_debug_log,
-			  "     restoring \\%"IVdf"..\\%"IVdf" to undef\n",
-			  (IV)(*PL_reglastparen + 1), (IV)rex->nparens);
-	}
-    );
 #if 1
     /* It would seem that the similar code in regtry()
      * already takes care of this, and in fact it is in
@@ -444,17 +389,127 @@
      * this code seems to be necessary or otherwise
      * this erroneously leaves $1 defined: "1" =~ /^(?:(\d)x)?\d$/
      * --jhi updated by dapm */
-    for (i = *PL_reglastparen + 1; i <= rex->nparens; i++) {
-	if (i > PL_regsize)
-	    PL_regoffs[i].start = -1;
-	PL_regoffs[i].end = -1;
+    for (i = rex->lastparen + 1; i <= rex->nparens; i++) {
+	if (i > *maxopenparen_p)
+	    rex->offs[i].start = -1;
+	rex->offs[i].end = -1;
+	DEBUG_BUFFERS_r( PerlIO_printf(Perl_debug_log,
+	    "    \\%"UVuf": %s   ..-1 undeffing\n",
+	    (UV)i,
+	    (i > *maxopenparen_p) ? "-1" : "  "
+	));
     }
 #endif
-    return input;
 }
 
+/* restore the parens and associated vars at savestack position ix,
+ * but without popping the stack */
+
+STATIC void
+S_regcp_restore(pTHX_ regexp *rex, I32 ix, U32 *maxopenparen_p)
+{
+    I32 tmpix = PL_savestack_ix;
+    PL_savestack_ix = ix;
+    regcppop(rex, maxopenparen_p);
+    PL_savestack_ix = tmpix;
+}
+
 #define regcpblow(cp) LEAVE_SCOPE(cp)	/* Ignores regcppush()ed data. */
 
+STATIC bool
+S_isFOO_lc(pTHX_ const U8 classnum, const U8 character)
+{
+    /* Returns a boolean as to whether or not 'character' is a member of the
+     * Posix character class given by 'classnum' that should be equivalent to a
+     * value in the typedef '_char_class_number'.
+     *
+     * Ideally this could be replaced by a just an array of function pointers
+     * to the C library functions that implement the macros this calls.
+     * However, to compile, the precise function signatures are required, and
+     * these may vary from platform to to platform.  To avoid having to figure
+     * out what those all are on each platform, I (khw) am using this method,
+     * which adds an extra layer of function call overhead (unless the C
+     * optimizer strips it away).  But we don't particularly care about
+     * performance with locales anyway. */
+
+    switch ((_char_class_number) classnum) {
+        case _CC_ENUM_ALPHANUMERIC: return isALPHANUMERIC_LC(character);
+        case _CC_ENUM_ALPHA:     return isALPHA_LC(character);
+        case _CC_ENUM_ASCII:     return isASCII_LC(character);
+        case _CC_ENUM_BLANK:     return isBLANK_LC(character);
+        case _CC_ENUM_CASED:     return isLOWER_LC(character)
+                                        || isUPPER_LC(character);
+        case _CC_ENUM_CNTRL:     return isCNTRL_LC(character);
+        case _CC_ENUM_DIGIT:     return isDIGIT_LC(character);
+        case _CC_ENUM_GRAPH:     return isGRAPH_LC(character);
+        case _CC_ENUM_LOWER:     return isLOWER_LC(character);
+        case _CC_ENUM_PRINT:     return isPRINT_LC(character);
+        case _CC_ENUM_PSXSPC:    return isPSXSPC_LC(character);
+        case _CC_ENUM_PUNCT:     return isPUNCT_LC(character);
+        case _CC_ENUM_SPACE:     return isSPACE_LC(character);
+        case _CC_ENUM_UPPER:     return isUPPER_LC(character);
+        case _CC_ENUM_WORDCHAR:  return isWORDCHAR_LC(character);
+        case _CC_ENUM_XDIGIT:    return isXDIGIT_LC(character);
+        default:    /* VERTSPACE should never occur in locales */
+            Perl_croak(aTHX_ "panic: isFOO_lc() has an unexpected character class '%d'", classnum);
+    }
+
+    assert(0); /* NOTREACHED */
+    return FALSE;
+}
+
+STATIC bool
+S_isFOO_utf8_lc(pTHX_ const U8 classnum, const U8* character)
+{
+    /* Returns a boolean as to whether or not the (well-formed) UTF-8-encoded
+     * 'character' is a member of the Posix character class given by 'classnum'
+     * that should be equivalent to a value in the typedef
+     * '_char_class_number'.
+     *
+     * This just calls isFOO_lc on the code point for the character if it is in
+     * the range 0-255.  Outside that range, all characters avoid Unicode
+     * rules, ignoring any locale.  So use the Unicode function if this class
+     * requires a swash, and use the Unicode macro otherwise. */
+
+    PERL_ARGS_ASSERT_ISFOO_UTF8_LC;
+
+    if (UTF8_IS_INVARIANT(*character)) {
+        return isFOO_lc(classnum, *character);
+    }
+    else if (UTF8_IS_DOWNGRADEABLE_START(*character)) {
+        return isFOO_lc(classnum,
+                        TWO_BYTE_UTF8_TO_UNI(*character, *(character + 1)));
+    }
+
+    if (classnum < _FIRST_NON_SWASH_CC) {
+
+        /* Initialize the swash unless done already */
+        if (! PL_utf8_swash_ptrs[classnum]) {
+            U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
+            PL_utf8_swash_ptrs[classnum] = _core_swash_init("utf8",
+                swash_property_names[classnum], &PL_sv_undef, 1, 0, NULL, &flags);
+        }
+
+        return cBOOL(swash_fetch(PL_utf8_swash_ptrs[classnum], (U8 *)
+                                 character,
+                                 TRUE /* is UTF */ ));
+    }
+
+    switch ((_char_class_number) classnum) {
+        case _CC_ENUM_SPACE:
+        case _CC_ENUM_PSXSPC:    return is_XPERLSPACE_high(character);
+
+        case _CC_ENUM_BLANK:     return is_HORIZWS_high(character);
+        case _CC_ENUM_XDIGIT:    return is_XDIGIT_high(character);
+        case _CC_ENUM_VERTSPACE: return is_VERTWS_high(character);
+        default:                 return 0;  /* Things like CNTRL are always
+                                               below 256 */
+    }
+
+    assert(0); /* NOTREACHED */
+    return FALSE;
+}
+
 /*
  * pregexec and friends
  */
@@ -464,12 +519,15 @@
  - pregexec - match a regexp against a string
  */
 I32
-Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, register char *strend,
+Perl_pregexec(pTHX_ REGEXP * const prog, char* stringarg, char *strend,
 	 char *strbeg, I32 minend, SV *screamer, U32 nosave)
-/* strend: pointer to null at end of string */
-/* strbeg: real beginning of string */
-/* minend: end of match must be >=minend after stringarg. */
-/* nosave: For optimizations. */
+/* stringarg: the point in the string at which to begin matching */
+/* strend:    pointer to null at end of string */
+/* strbeg:    real beginning of string */
+/* minend:    end of match must be >= minend bytes after stringarg. */
+/* screamer:  SV being matched: only used for utf8 flag, pos() etc; string
+ *            itself is accessed via the pointers above */
+/* nosave:    For optimizations. */
 {
     PERL_ARGS_ASSERT_PREGEXEC;
 
@@ -513,7 +571,7 @@
 
 /* A failure to find a constant substring means that there is no need to make
    an expensive call to REx engine, thus we celebrate a failure.  Similarly,
-   finding a substring too deep into the string means that less calls to
+   finding a substring too deep into the string means that fewer calls to
    regtry() should be needed.
 
    REx compiler's optimizer found 4 possible hints:
@@ -534,20 +592,22 @@
 		     char *strend, const U32 flags, re_scream_pos_data *data)
 {
     dVAR;
-    struct regexp *const prog = (struct regexp *)SvANY(rx);
-    register I32 start_shift = 0;
+    struct regexp *const prog = ReANY(rx);
+    I32 start_shift = 0;
     /* Should be nonnegative! */
-    register I32 end_shift   = 0;
-    register char *s;
-    register SV *check;
+    I32 end_shift   = 0;
+    char *s;
+    SV *check;
     char *strbeg;
     char *t;
     const bool utf8_target = (sv && SvUTF8(sv)) ? 1 : 0; /* if no sv we have to assume bytes */
     I32 ml_anch;
-    register char *other_last = NULL;	/* other substr checked before this */
+    char *other_last = NULL;	/* other substr checked before this */
     char *check_at = NULL;		/* check substr found at this pos */
+    char *checked_upto = NULL;          /* how far into the string we have already checked using find_byclass*/
     const I32 multiline = prog->extflags & RXf_PMf_MULTILINE;
     RXi_GET_DECL(prog,progi);
+    bool is_utf8_pat;
 #ifdef DEBUGGING
     const char * const i_strpos = strpos;
 #endif
@@ -554,12 +614,13 @@
     GET_RE_DEBUG_FLAGS_DECL;
 
     PERL_ARGS_ASSERT_RE_INTUIT_START;
+    PERL_UNUSED_ARG(flags);
+    PERL_UNUSED_ARG(data);
 
     RX_MATCH_UTF8_set(rx,utf8_target);
 
-    if (RX_UTF8(rx)) {
-	PL_reg_flags |= RF_utf8;
-    }
+    is_utf8_pat = cBOOL(RX_UTF8(rx));
+
     DEBUG_EXECUTE_r( 
         debug_start_match(rx, utf8_target, strpos, strend,
             sv ? "Guessing start of match in sv for"
@@ -572,8 +633,22 @@
 			      "String too short... [re_intuit_start]\n"));
 	goto fail;
     }
-                
-    strbeg = (sv && SvPOK(sv)) ? strend - SvCUR(sv) : strpos;
+
+    /* XXX we need to pass strbeg as a separate arg: the following is
+     * guesswork and can be wrong... */
+    if (sv && SvPOK(sv)) {
+        char * p   = SvPVX(sv);
+        STRLEN cur = SvCUR(sv); 
+        if (p <= strpos && strpos < p + cur) {
+            strbeg = p;
+            assert(p <= strend && strend <= p + cur);
+        }
+        else
+            strbeg = strend - cur;
+    }
+    else 
+        strbeg = strpos;
+
     PL_regeol = strend;
     if (utf8_target) {
 	if (!prog->check_utf8 && prog->check_substr)
@@ -580,15 +655,13 @@
 	    to_utf8_substr(prog);
 	check = prog->check_utf8;
     } else {
-	if (!prog->check_substr && prog->check_utf8)
-	    to_byte_substr(prog);
+	if (!prog->check_substr && prog->check_utf8) {
+	    if (! to_byte_substr(prog)) {
+                NON_UTF8_TARGET_BUT_UTF8_REQUIRED(fail);
+            }
+        }
 	check = prog->check_substr;
     }
-    if (check == &PL_sv_undef) {
-	DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log,
-		"Non-utf8 string cannot match utf8 check string\n"));
-	goto fail;
-    }
     if (prog->extflags & RXf_ANCH) {	/* Match at beg-of-str or after \n */
 	ml_anch = !( (prog->extflags & RXf_ANCH_SINGLE)
 		     || ( (prog->extflags & RXf_ANCH_BOL)
@@ -603,8 +676,12 @@
 	      DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log, "Not at start...\n"));
 	      goto fail;
 	  }
-	  if (prog->check_offset_min == prog->check_offset_max &&
-	      !(prog->extflags & RXf_CANY_SEEN)) {
+	  if (prog->check_offset_min == prog->check_offset_max
+              && !(prog->extflags & RXf_CANY_SEEN)
+              && ! multiline)   /* /m can cause \n's to match that aren't
+                                   accounted for in the string max length.
+                                   See [perl #115242] */
+          {
 	    /* Substring at constant offset from beg-of-str... */
 	    I32 slen;
 
@@ -672,6 +749,8 @@
     {
         I32 srch_start_shift = start_shift;
         I32 srch_end_shift = end_shift;
+        U8* start_point;
+        U8* end_point;
         if (srch_start_shift < 0 && strbeg - s > srch_start_shift) {
 	    srch_end_shift -= ((strbeg - s) - srch_start_shift); 
 	    srch_start_shift = strbeg - s;
@@ -684,27 +763,6 @@
             (IV)prog->check_end_shift);
     });       
         
-    if (flags & REXEC_SCREAM) {
-	I32 p = -1;			/* Internal iterator of scream. */
-	I32 * const pp = data ? data->scream_pos : &p;
-
-	if (PL_screamfirst[BmRARE(check)] >= 0
-	    || ( BmRARE(check) == '\n'
-		 && (BmPREVIOUS(check) == SvCUR(check) - 1)
-		 && SvTAIL(check) ))
-	    s = screaminstr(sv, check,
-			    srch_start_shift + (s - strbeg), srch_end_shift, pp, 0);
-	else
-	    goto fail_finish;
-	/* we may be pointing at the wrong string */
-	if (s && RXp_MATCH_COPIED(prog))
-	    s = strbeg + (s - SvPVX_const(sv));
-	if (data)
-	    *data->scream_olds = s;
-    }
-    else {
-        U8* start_point;
-        U8* end_point;
         if (prog->extflags & RXf_CANY_SEEN) {
             start_point= (U8*)(s + srch_start_shift);
             end_point= (U8*)(strend - srch_end_shift);
@@ -722,7 +780,6 @@
 	s = fbm_instr( start_point, end_point,
 		      check, multiline ? FBMrf_MULTILINE : 0);
     }
-    }
     /* Update the count-of-usability, remove useless subpatterns,
 	unshift s.  */
 
@@ -1060,12 +1117,17 @@
         else 
             endpos= strend;
 		    
-        DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log, "start_shift: %"IVdf" check_at: %"IVdf" s: %"IVdf" endpos: %"IVdf"\n",
-				      (IV)start_shift, (IV)(check_at - strbeg), (IV)(s - strbeg), (IV)(endpos - strbeg)));
-	
+        if (checked_upto < s)
+           checked_upto = s;
+        DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log, "start_shift: %"IVdf" check_at: %"IVdf" s: %"IVdf" endpos: %"IVdf" checked_upto: %"IVdf"\n",
+                                      (IV)start_shift, (IV)(check_at - strbeg), (IV)(s - strbeg), (IV)(endpos - strbeg), (IV)(checked_upto- strbeg)));
+
 	t = s;
-        s = find_byclass(prog, progi->regstclass, s, endpos, NULL);
-	if (!s) {
+        s = find_byclass(prog, progi->regstclass, checked_upto, endpos,
+                            NULL, is_utf8_pat);
+	if (s) {
+	    checked_upto = s;
+	} else {
 #ifdef DEBUGGING
 	    const char *what = NULL;
 #endif
@@ -1078,6 +1140,9 @@
 				   "This position contradicts STCLASS...\n") );
 	    if ((prog->extflags & RXf_ANCH) && !ml_anch)
 		goto fail;
+	    checked_upto = HOPBACKc(endpos, start_shift);
+	    DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log, "start_shift: %"IVdf" check_at: %"IVdf" endpos: %"IVdf" checked_upto: %"IVdf"\n",
+                                      (IV)start_shift, (IV)(check_at - strbeg), (IV)(endpos - strbeg), (IV)(checked_upto- strbeg)));
 	    /* Contradict one of substrings */
 	    if (prog->anchored_substr || prog->anchored_utf8) {
 		if ((utf8_target ? prog->anchored_utf8 : prog->anchored_substr) == check) {
@@ -1157,58 +1222,61 @@
 
 #define DECL_TRIE_TYPE(scan) \
     const enum { trie_plain, trie_utf8, trie_utf8_fold, trie_latin_utf8_fold } \
-		    trie_type = (scan->flags != EXACT) \
-		              ? (utf8_target ? trie_utf8_fold : (UTF_PATTERN ? trie_latin_utf8_fold : trie_plain)) \
-                              : (utf8_target ? trie_utf8 : trie_plain)
+                    trie_type = ((scan->flags == EXACT) \
+                              ? (utf8_target ? trie_utf8 : trie_plain) \
+                              : (utf8_target ? trie_utf8_fold : trie_latin_utf8_fold))
 
-#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uscan, len,  \
-uvc, charid, foldlen, foldbuf, uniflags) STMT_START {                       \
-    switch (trie_type) {                                                    \
-    case trie_utf8_fold:                                                    \
-	if ( foldlen>0 ) {                                                  \
-	    uvc = utf8n_to_uvuni( uscan, UTF8_MAXLEN, &len, uniflags ); \
-	    foldlen -= len;                                                 \
-	    uscan += len;                                                   \
-	    len=0;                                                          \
-	} else {                                                            \
-	    uvc = utf8n_to_uvuni( (U8*)uc, UTF8_MAXLEN, &len, uniflags ); \
-	    uvc = to_uni_fold( uvc, foldbuf, &foldlen );                    \
-	    foldlen -= UNISKIP( uvc );                                      \
-	    uscan = foldbuf + UNISKIP( uvc );                               \
-	}                                                                   \
-	break;                                                              \
-    case trie_latin_utf8_fold:                                              \
-	if ( foldlen>0 ) {                                                  \
-	    uvc = utf8n_to_uvuni( uscan, UTF8_MAXLEN, &len, uniflags );     \
-	    foldlen -= len;                                                 \
-	    uscan += len;                                                   \
-	    len=0;                                                          \
-	} else {                                                            \
-	    len = 1;                                                        \
-	    uvc = to_uni_fold( *(U8*)uc, foldbuf, &foldlen );               \
-	    foldlen -= UNISKIP( uvc );                                      \
-	    uscan = foldbuf + UNISKIP( uvc );                               \
-	}                                                                   \
-	break;                                                              \
-    case trie_utf8:                                                         \
-	uvc = utf8n_to_uvuni( (U8*)uc, UTF8_MAXLEN, &len, uniflags );       \
-	break;                                                              \
-    case trie_plain:                                                        \
-	uvc = (UV)*uc;                                                      \
-	len = 1;                                                            \
-    }                                                                       \
-    if (uvc < 256) {                                                        \
-	charid = trie->charmap[ uvc ];                                      \
-    }                                                                       \
-    else {                                                                  \
-	charid = 0;                                                         \
-	if (widecharmap) {                                                  \
-	    SV** const svpp = hv_fetch(widecharmap,                         \
-			(char*)&uvc, sizeof(UV), 0);                        \
-	    if (svpp)                                                       \
-		charid = (U16)SvIV(*svpp);                                  \
-	}                                                                   \
-    }                                                                       \
+#define REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc, uscan, len, uvc, charid, foldlen, foldbuf, uniflags) \
+STMT_START {                               \
+    STRLEN skiplen;                                                                 \
+    switch (trie_type) {                                                            \
+    case trie_utf8_fold:                                                            \
+        if ( foldlen>0 ) {                                                          \
+            uvc = utf8n_to_uvuni( (const U8*) uscan, UTF8_MAXLEN, &len, uniflags ); \
+            foldlen -= len;                                                         \
+            uscan += len;                                                           \
+            len=0;                                                                  \
+        } else {                                                                    \
+            uvc = to_utf8_fold( (const U8*) uc, foldbuf, &foldlen );                \
+            len = UTF8SKIP(uc);                                                     \
+            skiplen = UNISKIP( uvc );                                               \
+            foldlen -= skiplen;                                                     \
+            uscan = foldbuf + skiplen;                                              \
+        }                                                                           \
+        break;                                                                      \
+    case trie_latin_utf8_fold:                                                      \
+        if ( foldlen>0 ) {                                                          \
+            uvc = utf8n_to_uvuni( (const U8*) uscan, UTF8_MAXLEN, &len, uniflags ); \
+            foldlen -= len;                                                         \
+            uscan += len;                                                           \
+            len=0;                                                                  \
+        } else {                                                                    \
+            len = 1;                                                                \
+            uvc = _to_fold_latin1( (U8) *uc, foldbuf, &foldlen, 1);                 \
+            skiplen = UNISKIP( uvc );                                               \
+            foldlen -= skiplen;                                                     \
+            uscan = foldbuf + skiplen;                                              \
+        }                                                                           \
+        break;                                                                      \
+    case trie_utf8:                                                                 \
+        uvc = utf8n_to_uvuni( (const U8*) uc, UTF8_MAXLEN, &len, uniflags );        \
+        break;                                                                      \
+    case trie_plain:                                                                \
+        uvc = (UV)*uc;                                                              \
+        len = 1;                                                                    \
+    }                                                                               \
+    if (uvc < 256) {                                                                \
+        charid = trie->charmap[ uvc ];                                              \
+    }                                                                               \
+    else {                                                                          \
+        charid = 0;                                                                 \
+        if (widecharmap) {                                                          \
+            SV** const svpp = hv_fetch(widecharmap,                                 \
+                        (char*)&uvc, sizeof(UV), 0);                                \
+            if (svpp)                                                               \
+                charid = (U16)SvIV(*svpp);                                          \
+        }                                                                           \
+    }                                                                               \
 } STMT_END
 
 #define REXEC_FBC_EXACTISH_SCAN(CoNd)                     \
@@ -1224,9 +1292,9 @@
 
 #define REXEC_FBC_UTF8_SCAN(CoDe)                     \
 STMT_START {                                          \
-    while (s + (uskip = UTF8SKIP(s)) <= strend) {     \
+    while (s < strend) {                              \
 	CoDe                                          \
-	s += uskip;                                   \
+	s += UTF8SKIP(s);                             \
     }                                                 \
 } STMT_END
 
@@ -1241,7 +1309,7 @@
 #define REXEC_FBC_UTF8_CLASS_SCAN(CoNd)               \
 REXEC_FBC_UTF8_SCAN(                                  \
     if (CoNd) {                                       \
-	if (tmp && (!reginfo || regtry(reginfo, &s)))  \
+	if (tmp && (!reginfo || regtry(reginfo, &s))) \
 	    goto got_it;                              \
 	else                                          \
 	    tmp = doevery;                            \
@@ -1274,24 +1342,6 @@
 	REXEC_FBC_CLASS_SCAN(CoNd);                            \
     }
     
-#define REXEC_FBC_CSCAN_PRELOAD(UtFpReLoAd,CoNdUtF8,CoNd)      \
-    if (utf8_target) {                                             \
-	UtFpReLoAd;                                            \
-	REXEC_FBC_UTF8_CLASS_SCAN(CoNdUtF8);                   \
-    }                                                          \
-    else {                                                     \
-	REXEC_FBC_CLASS_SCAN(CoNd);                            \
-    }
-
-#define REXEC_FBC_CSCAN_TAINT(CoNdUtF8,CoNd)                   \
-    PL_reg_flags |= RF_tainted;                                \
-    if (utf8_target) {                                             \
-	REXEC_FBC_UTF8_CLASS_SCAN(CoNdUtF8);                   \
-    }                                                          \
-    else {                                                     \
-	REXEC_FBC_CLASS_SCAN(CoNd);                            \
-    }
-
 #define DUMP_EXEC_POS(li,s,doutf8) \
     dump_exec_pos(li,s,(PL_regeol),(PL_bostr),(PL_reg_starttry),doutf8)
 
@@ -1382,581 +1432,611 @@
 
 STATIC char *
 S_find_byclass(pTHX_ regexp * prog, const regnode *c, char *s, 
-    const char *strend, regmatch_info *reginfo)
+    const char *strend, regmatch_info *reginfo, bool is_utf8_pat)
 {
-	dVAR;
-	const I32 doevery = (prog->intflags & PREGf_SKIP) == 0;
-	char *pat_string;   /* The pattern's exactish string */
-	char *pat_end;	    /* ptr to end char of pat_string */
-	re_fold_t folder;	/* Function for computing non-utf8 folds */
-	const U8 *fold_array;   /* array for folding ords < 256 */
-	STRLEN ln;
-	STRLEN lnc;
-	register STRLEN uskip;
-	U8 c1;
-	U8 c2;
-	char *e;
-	register I32 tmp = 1;	/* Scratch variable? */
-	register const bool utf8_target = PL_reg_match_utf8;
-	UV utf8_fold_flags = 0;
-        RXi_GET_DECL(prog,progi);
+    dVAR;
+    const I32 doevery = (prog->intflags & PREGf_SKIP) == 0;
+    char *pat_string;   /* The pattern's exactish string */
+    char *pat_end;	    /* ptr to end char of pat_string */
+    re_fold_t folder;	/* Function for computing non-utf8 folds */
+    const U8 *fold_array;   /* array for folding ords < 256 */
+    STRLEN ln;
+    STRLEN lnc;
+    U8 c1;
+    U8 c2;
+    char *e;
+    I32 tmp = 1;	/* Scratch variable? */
+    const bool utf8_target = PL_reg_match_utf8;
+    UV utf8_fold_flags = 0;
+    bool to_complement = FALSE; /* Invert the result?  Taking the xor of this
+                                   with a result inverts that result, as 0^1 =
+                                   1 and 1^1 = 0 */
+    _char_class_number classnum;
 
-	PERL_ARGS_ASSERT_FIND_BYCLASS;
-        
-	/* We know what class it must start with. */
-	switch (OP(c)) {
-	case ANYOFV:
-	case ANYOF:
-	    if (utf8_target || OP(c) == ANYOFV) {
-		STRLEN inclasslen = strend - s;
-		REXEC_FBC_UTF8_CLASS_SCAN(
-                          reginclass(prog, c, (U8*)s, &inclasslen, utf8_target));
-	    }
-	    else {
-		REXEC_FBC_CLASS_SCAN(REGINCLASS(prog, c, (U8*)s));
-	    }
-	    break;
-	case CANY:
-	    REXEC_FBC_SCAN(
-	        if (tmp && (!reginfo || regtry(reginfo, &s)))
-		    goto got_it;
-		else
-		    tmp = doevery;
-	    );
-	    break;
+    RXi_GET_DECL(prog,progi);
 
-	case EXACTFA:
-	    if (UTF_PATTERN || utf8_target) {
-		utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII;
-		goto do_exactf_utf8;
-	    }
-	    fold_array = PL_fold_latin1;    /* Latin1 folds are not affected by */
-	    folder = foldEQ_latin1;	    /* /a, except the sharp s one which */
-	    goto do_exactf_non_utf8;	    /* isn't dealt with by these */
+    PERL_ARGS_ASSERT_FIND_BYCLASS;
 
-	case EXACTFU:
-	    if (UTF_PATTERN || utf8_target) {
-		utf8_fold_flags = 0;
-		goto do_exactf_utf8;
-	    }
-	    fold_array = PL_fold_latin1;
-	    folder = foldEQ_latin1;
-	    /* XXX This uses the full utf8 fold because if the pattern contains
-	     * 'ss' it could match LATIN_SMALL_LETTER SHARP_S in the string.
-	     * There could be a new node type, say EXACTFU_SS, which is
-	     * generated by regcomp only if there is an 'ss', and then every
-	     * other case could goto do_exactf_non_utf8;*/
-	    goto do_exactf_utf8;
+    /* We know what class it must start with. */
+    switch (OP(c)) {
+    case ANYOF:
+    case ANYOF_SYNTHETIC:
+    case ANYOF_WARN_SUPER:
+        if (utf8_target) {
+            REXEC_FBC_UTF8_CLASS_SCAN(
+                      reginclass(prog, c, (U8*)s, utf8_target));
+        }
+        else {
+            REXEC_FBC_CLASS_SCAN(REGINCLASS(prog, c, (U8*)s));
+        }
+        break;
+    case CANY:
+        REXEC_FBC_SCAN(
+            if (tmp && (!reginfo || regtry(reginfo, &s)))
+                goto got_it;
+            else
+                tmp = doevery;
+        );
+        break;
 
-	case EXACTF:
-	    if (UTF_PATTERN || utf8_target) {
-		utf8_fold_flags = 0;
-		goto do_exactf_utf8;
-	    }
-	    fold_array = PL_fold;
-	    folder = foldEQ;
-	    goto do_exactf_non_utf8;
+    case EXACTFA:
+        if (is_utf8_pat || utf8_target) {
+            utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII;
+            goto do_exactf_utf8;
+        }
+        fold_array = PL_fold_latin1;    /* Latin1 folds are not affected by */
+        folder = foldEQ_latin1;	        /* /a, except the sharp s one which */
+        goto do_exactf_non_utf8;	/* isn't dealt with by these */
 
-	case EXACTFL:
-	    if (UTF_PATTERN || utf8_target) {
-		utf8_fold_flags = FOLDEQ_UTF8_LOCALE;
-		goto do_exactf_utf8;
-	    }
-	    fold_array = PL_fold_locale;
-	    folder = foldEQ_locale;
+    case EXACTF:
+        if (utf8_target) {
 
-	    /* FALL THROUGH */
+            /* regcomp.c already folded this if pattern is in UTF-8 */
+            utf8_fold_flags = 0;
+            goto do_exactf_utf8;
+        }
+        fold_array = PL_fold;
+        folder = foldEQ;
+        goto do_exactf_non_utf8;
 
-	do_exactf_non_utf8: /* Neither pattern nor string are UTF8 */
+    case EXACTFL:
+        if (is_utf8_pat || utf8_target) {
+            utf8_fold_flags = FOLDEQ_UTF8_LOCALE;
+            goto do_exactf_utf8;
+        }
+        fold_array = PL_fold_locale;
+        folder = foldEQ_locale;
+        goto do_exactf_non_utf8;
 
-	    /* The idea in the non-utf8 EXACTF* cases is to first find the
-	     * first character of the EXACTF* node and then, if necessary,
-	     * case-insensitively compare the full text of the node.  c1 is the
-	     * first character.  c2 is its fold.  This logic will not work for
-	     * Unicode semantics and the german sharp ss, which hence should
-	     * not be compiled into a node that gets here. */
-	    pat_string = STRING(c);
-	    ln  = STR_LEN(c);	/* length to match in octets/bytes */
+    case EXACTFU_SS:
+        if (is_utf8_pat) {
+            utf8_fold_flags = FOLDEQ_S2_ALREADY_FOLDED;
+        }
+        goto do_exactf_utf8;
 
-	    e = HOP3c(strend, -((I32)ln), s);
+    case EXACTFU_TRICKYFOLD:
+    case EXACTFU:
+        if (is_utf8_pat || utf8_target) {
+            utf8_fold_flags = is_utf8_pat ? FOLDEQ_S2_ALREADY_FOLDED : 0;
+            goto do_exactf_utf8;
+        }
 
-	    if (!reginfo && e < s) {
-		e = s;			/* Due to minlen logic of intuit() */
-	    }
+        /* Any 'ss' in the pattern should have been replaced by regcomp,
+         * so we don't have to worry here about this single special case
+         * in the Latin1 range */
+        fold_array = PL_fold_latin1;
+        folder = foldEQ_latin1;
 
-	    c1 = *pat_string;
-	    c2 = fold_array[c1];
-	    if (c1 == c2) { /* If char and fold are the same */
-		REXEC_FBC_EXACTISH_SCAN(*(U8*)s == c1);
-	    }
-	    else {
-		REXEC_FBC_EXACTISH_SCAN(*(U8*)s == c1 || *(U8*)s == c2);
-	    }
-	    break;
+        /* FALL THROUGH */
 
-	do_exactf_utf8:
+    do_exactf_non_utf8: /* Neither pattern nor string are UTF8, and there
+                           are no glitches with fold-length differences
+                           between the target string and pattern */
 
-	    /* If one of the operands is in utf8, we can't use the simpler
-	     * folding above, due to the fact that many different characters
-	     * can have the same fold, or portion of a fold, or different-
-	     * length fold */
-	    pat_string = STRING(c);
-	    ln  = STR_LEN(c);	/* length to match in octets/bytes */
-	    pat_end = pat_string + ln;
-	    lnc = (UTF_PATTERN) /* length to match in characters */
-		    ? utf8_length((U8 *) pat_string, (U8 *) pat_end)
-		    : ln;
+        /* The idea in the non-utf8 EXACTF* cases is to first find the
+         * first character of the EXACTF* node and then, if necessary,
+         * case-insensitively compare the full text of the node.  c1 is the
+         * first character.  c2 is its fold.  This logic will not work for
+         * Unicode semantics and the german sharp ss, which hence should
+         * not be compiled into a node that gets here. */
+        pat_string = STRING(c);
+        ln  = STR_LEN(c);	/* length to match in octets/bytes */
 
-	    e = HOP3c(strend, -((I32)lnc), s);
+        /* We know that we have to match at least 'ln' bytes (which is the
+         * same as characters, since not utf8).  If we have to match 3
+         * characters, and there are only 2 availabe, we know without
+         * trying that it will fail; so don't start a match past the
+         * required minimum number from the far end */
+        e = HOP3c(strend, -((I32)ln), s);
 
-	    if (!reginfo && e < s) {
-		e = s;			/* Due to minlen logic of intuit() */
-	    }
+        if (!reginfo && e < s) {
+            e = s;			/* Due to minlen logic of intuit() */
+        }
 
-	    while (s <= e) {
-		char *my_strend= (char *)strend;
-		if (foldEQ_utf8_flags(s, &my_strend, 0,  utf8_target,
-		      pat_string, NULL, ln, cBOOL(UTF_PATTERN), utf8_fold_flags)
-		    && (!reginfo || regtry(reginfo, &s)) )
-		{
-		    goto got_it;
-		}
-		s += UTF8SKIP(s);
-	    }
-	    break;
-	case BOUNDL:
-	    PL_reg_flags |= RF_tainted;
-	    FBC_BOUND(isALNUM_LC,
-		      isALNUM_LC_uvchr(UNI_TO_NATIVE(tmp)),
-		      isALNUM_LC_utf8((U8*)s));
-	    break;
-	case NBOUNDL:
-	    PL_reg_flags |= RF_tainted;
-	    FBC_NBOUND(isALNUM_LC,
-		       isALNUM_LC_uvchr(UNI_TO_NATIVE(tmp)),
-		       isALNUM_LC_utf8((U8*)s));
-	    break;
-	case BOUND:
-	    FBC_BOUND(isWORDCHAR,
-		      isALNUM_uni(tmp),
-		      cBOOL(swash_fetch(PL_utf8_alnum, (U8*)s, utf8_target)));
-	    break;
-	case BOUNDA:
-	    FBC_BOUND_NOLOAD(isWORDCHAR_A,
-			     isWORDCHAR_A(tmp),
-			     isWORDCHAR_A((U8*)s));
-	    break;
-	case NBOUND:
-	    FBC_NBOUND(isWORDCHAR,
-		       isALNUM_uni(tmp),
-		       cBOOL(swash_fetch(PL_utf8_alnum, (U8*)s, utf8_target)));
-	    break;
-	case NBOUNDA:
-	    FBC_NBOUND_NOLOAD(isWORDCHAR_A,
-			      isWORDCHAR_A(tmp),
-			      isWORDCHAR_A((U8*)s));
-	    break;
-	case BOUNDU:
-	    FBC_BOUND(isWORDCHAR_L1,
-		      isALNUM_uni(tmp),
-		      cBOOL(swash_fetch(PL_utf8_alnum, (U8*)s, utf8_target)));
-	    break;
-	case NBOUNDU:
-	    FBC_NBOUND(isWORDCHAR_L1,
-		       isALNUM_uni(tmp),
-		       cBOOL(swash_fetch(PL_utf8_alnum, (U8*)s, utf8_target)));
-	    break;
-	case ALNUML:
-	    REXEC_FBC_CSCAN_TAINT(
-		isALNUM_LC_utf8((U8*)s),
-		isALNUM_LC(*s)
-	    );
-	    break;
-	case ALNUMU:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_ALNUM(),
-		swash_fetch(PL_utf8_alnum,(U8*)s, utf8_target),
-                isWORDCHAR_L1((U8) *s)
-	    );
-	    break;
-	case ALNUM:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_ALNUM(),
-		swash_fetch(PL_utf8_alnum,(U8*)s, utf8_target),
-                isWORDCHAR((U8) *s)
-	    );
-	    break;
-	case ALNUMA:
-	    /* Don't need to worry about utf8, as it can match only a single
-	     * byte invariant character */
-	    REXEC_FBC_CLASS_SCAN( isWORDCHAR_A(*s));
-	    break;
-	case NALNUMU:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_ALNUM(),
-		!swash_fetch(PL_utf8_alnum,(U8*)s, utf8_target),
-                ! isWORDCHAR_L1((U8) *s)
-	    );
-	    break;
-	case NALNUM:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_ALNUM(),
-		!swash_fetch(PL_utf8_alnum, (U8*)s, utf8_target),
-                ! isALNUM(*s)
-	    );
-	    break;
-	case NALNUMA:
-	    REXEC_FBC_CSCAN(
-		!isWORDCHAR_A(*s),
-		!isWORDCHAR_A(*s)
-	    );
-	    break;
-	case NALNUML:
-	    REXEC_FBC_CSCAN_TAINT(
-		!isALNUM_LC_utf8((U8*)s),
-		!isALNUM_LC(*s)
-	    );
-	    break;
-	case SPACEU:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_SPACE(),
-		*s == ' ' || swash_fetch(PL_utf8_space,(U8*)s, utf8_target),
-                isSPACE_L1((U8) *s)
-	    );
-	    break;
-	case SPACE:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_SPACE(),
-		*s == ' ' || swash_fetch(PL_utf8_space,(U8*)s, utf8_target),
-                isSPACE((U8) *s)
-	    );
-	    break;
-	case SPACEA:
-	    /* Don't need to worry about utf8, as it can match only a single
-	     * byte invariant character */
-	    REXEC_FBC_CLASS_SCAN( isSPACE_A(*s));
-	    break;
-	case SPACEL:
-	    REXEC_FBC_CSCAN_TAINT(
-		isSPACE_LC_utf8((U8*)s),
-		isSPACE_LC(*s)
-	    );
-	    break;
-	case NSPACEU:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_SPACE(),
-		!( *s == ' ' || swash_fetch(PL_utf8_space,(U8*)s, utf8_target)),
-                ! isSPACE_L1((U8) *s)
-	    );
-	    break;
-	case NSPACE:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_SPACE(),
-		!(*s == ' ' || swash_fetch(PL_utf8_space,(U8*)s, utf8_target)),
-                ! isSPACE((U8) *s)
-	    );
-	    break;
-	case NSPACEA:
-	    REXEC_FBC_CSCAN(
-		!isSPACE_A(*s),
-		!isSPACE_A(*s)
-	    );
-	    break;
-	case NSPACEL:
-	    REXEC_FBC_CSCAN_TAINT(
-		!isSPACE_LC_utf8((U8*)s),
-		!isSPACE_LC(*s)
-	    );
-	    break;
-	case DIGIT:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_DIGIT(),
-		swash_fetch(PL_utf8_digit,(U8*)s, utf8_target),
-		isDIGIT(*s)
-	    );
-	    break;
-	case DIGITA:
-	    /* Don't need to worry about utf8, as it can match only a single
-	     * byte invariant character */
-	    REXEC_FBC_CLASS_SCAN( isDIGIT_A(*s));
-	    break;
-	case DIGITL:
-	    REXEC_FBC_CSCAN_TAINT(
-		isDIGIT_LC_utf8((U8*)s),
-		isDIGIT_LC(*s)
-	    );
-	    break;
-	case NDIGIT:
-	    REXEC_FBC_CSCAN_PRELOAD(
-		LOAD_UTF8_CHARCLASS_DIGIT(),
-		!swash_fetch(PL_utf8_digit,(U8*)s, utf8_target),
-		!isDIGIT(*s)
-	    );
-	    break;
-	case NDIGITA:
-	    REXEC_FBC_CSCAN(
-		!isDIGIT_A(*s),
-		!isDIGIT_A(*s)
-	    );
-	    break;
-	case NDIGITL:
-	    REXEC_FBC_CSCAN_TAINT(
-		!isDIGIT_LC_utf8((U8*)s),
-		!isDIGIT_LC(*s)
-	    );
-	    break;
-	case LNBREAK:
-	    REXEC_FBC_CSCAN(
-		is_LNBREAK_utf8(s),
-		is_LNBREAK_latin1(s)
-	    );
-	    break;
-	case VERTWS:
-	    REXEC_FBC_CSCAN(
-		is_VERTWS_utf8(s),
-		is_VERTWS_latin1(s)
-	    );
-	    break;
-	case NVERTWS:
-	    REXEC_FBC_CSCAN(
-		!is_VERTWS_utf8(s),
-		!is_VERTWS_latin1(s)
-	    );
-	    break;
-	case HORIZWS:
-	    REXEC_FBC_CSCAN(
-		is_HORIZWS_utf8(s),
-		is_HORIZWS_latin1(s)
-	    );
-	    break;
-	case NHORIZWS:
-	    REXEC_FBC_CSCAN(
-		!is_HORIZWS_utf8(s),
-		!is_HORIZWS_latin1(s)
-	    );	    
-	    break;
-	case AHOCORASICKC:
-	case AHOCORASICK: 
-	    {
-	        DECL_TRIE_TYPE(c);
-                /* what trie are we using right now */
-        	reg_ac_data *aho
-        	    = (reg_ac_data*)progi->data->data[ ARG( c ) ];
-        	reg_trie_data *trie
-		    = (reg_trie_data*)progi->data->data[ aho->trie ];
-		HV *widecharmap = MUTABLE_HV(progi->data->data[ aho->trie + 1 ]);
+        c1 = *pat_string;
+        c2 = fold_array[c1];
+        if (c1 == c2) { /* If char and fold are the same */
+            REXEC_FBC_EXACTISH_SCAN(*(U8*)s == c1);
+        }
+        else {
+            REXEC_FBC_EXACTISH_SCAN(*(U8*)s == c1 || *(U8*)s == c2);
+        }
+        break;
 
-		const char *last_start = strend - trie->minlen;
+    do_exactf_utf8:
+    {
+        unsigned expansion;
+
+        /* If one of the operands is in utf8, we can't use the simpler folding
+         * above, due to the fact that many different characters can have the
+         * same fold, or portion of a fold, or different- length fold */
+        pat_string = STRING(c);
+        ln  = STR_LEN(c);	/* length to match in octets/bytes */
+        pat_end = pat_string + ln;
+        lnc = is_utf8_pat       /* length to match in characters */
+                ? utf8_length((U8 *) pat_string, (U8 *) pat_end)
+                : ln;
+
+        /* We have 'lnc' characters to match in the pattern, but because of
+         * multi-character folding, each character in the target can match
+         * up to 3 characters (Unicode guarantees it will never exceed
+         * this) if it is utf8-encoded; and up to 2 if not (based on the
+         * fact that the Latin 1 folds are already determined, and the
+         * only multi-char fold in that range is the sharp-s folding to
+         * 'ss'.  Thus, a pattern character can match as little as 1/3 of a
+         * string character.  Adjust lnc accordingly, rounding up, so that
+         * if we need to match at least 4+1/3 chars, that really is 5. */
+        expansion = (utf8_target) ? UTF8_MAX_FOLD_CHAR_EXPAND : 2;
+        lnc = (lnc + expansion - 1) / expansion;
+
+        /* As in the non-UTF8 case, if we have to match 3 characters, and
+         * only 2 are left, it's guaranteed to fail, so don't start a
+         * match that would require us to go beyond the end of the string
+         */
+        e = HOP3c(strend, -((I32)lnc), s);
+
+        if (!reginfo && e < s) {
+            e = s;			/* Due to minlen logic of intuit() */
+        }
+
+        /* XXX Note that we could recalculate e to stop the loop earlier,
+         * as the worst case expansion above will rarely be met, and as we
+         * go along we would usually find that e moves further to the left.
+         * This would happen only after we reached the point in the loop
+         * where if there were no expansion we should fail.  Unclear if
+         * worth the expense */
+
+        while (s <= e) {
+            char *my_strend= (char *)strend;
+            if (foldEQ_utf8_flags(s, &my_strend, 0,  utf8_target,
+                  pat_string, NULL, ln, is_utf8_pat, utf8_fold_flags)
+                && (!reginfo || regtry(reginfo, &s)) )
+            {
+                goto got_it;
+            }
+            s += (utf8_target) ? UTF8SKIP(s) : 1;
+        }
+        break;
+    }
+    case BOUNDL:
+        RXp_MATCH_TAINTED_on(prog);
+        FBC_BOUND(isWORDCHAR_LC,
+                  isWORDCHAR_LC_uvchr(UNI_TO_NATIVE(tmp)),
+                  isWORDCHAR_LC_utf8((U8*)s));
+        break;
+    case NBOUNDL:
+        RXp_MATCH_TAINTED_on(prog);
+        FBC_NBOUND(isWORDCHAR_LC,
+                   isWORDCHAR_LC_uvchr(UNI_TO_NATIVE(tmp)),
+                   isWORDCHAR_LC_utf8((U8*)s));
+        break;
+    case BOUND:
+        FBC_BOUND(isWORDCHAR,
+                  isWORDCHAR_uni(tmp),
+                  cBOOL(swash_fetch(PL_utf8_swash_ptrs[_CC_WORDCHAR], (U8*)s, utf8_target)));
+        break;
+    case BOUNDA:
+        FBC_BOUND_NOLOAD(isWORDCHAR_A,
+                         isWORDCHAR_A(tmp),
+                         isWORDCHAR_A((U8*)s));
+        break;
+    case NBOUND:
+        FBC_NBOUND(isWORDCHAR,
+                   isWORDCHAR_uni(tmp),
+                   cBOOL(swash_fetch(PL_utf8_swash_ptrs[_CC_WORDCHAR], (U8*)s, utf8_target)));
+        break;
+    case NBOUNDA:
+        FBC_NBOUND_NOLOAD(isWORDCHAR_A,
+                          isWORDCHAR_A(tmp),
+                          isWORDCHAR_A((U8*)s));
+        break;
+    case BOUNDU:
+        FBC_BOUND(isWORDCHAR_L1,
+                  isWORDCHAR_uni(tmp),
+                  cBOOL(swash_fetch(PL_utf8_swash_ptrs[_CC_WORDCHAR], (U8*)s, utf8_target)));
+        break;
+    case NBOUNDU:
+        FBC_NBOUND(isWORDCHAR_L1,
+                   isWORDCHAR_uni(tmp),
+                   cBOOL(swash_fetch(PL_utf8_swash_ptrs[_CC_WORDCHAR], (U8*)s, utf8_target)));
+        break;
+    case LNBREAK:
+        REXEC_FBC_CSCAN(is_LNBREAK_utf8_safe(s, strend),
+                        is_LNBREAK_latin1_safe(s, strend)
+        );
+        break;
+
+    /* The argument to all the POSIX node types is the class number to pass to
+     * _generic_isCC() to build a mask for searching in PL_charclass[] */
+
+    case NPOSIXL:
+        to_complement = 1;
+        /* FALLTHROUGH */
+
+    case POSIXL:
+        RXp_MATCH_TAINTED_on(prog);
+        REXEC_FBC_CSCAN(to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(c), (U8 *) s)),
+                        to_complement ^ cBOOL(isFOO_lc(FLAGS(c), *s)));
+        break;
+
+    case NPOSIXD:
+        to_complement = 1;
+        /* FALLTHROUGH */
+
+    case POSIXD:
+        if (utf8_target) {
+            goto posix_utf8;
+        }
+        goto posixa;
+
+    case NPOSIXA:
+        if (utf8_target) {
+            /* The complement of something that matches only ASCII matches all
+             * UTF-8 variant code points, plus everything in ASCII that isn't
+             * in the class */
+            REXEC_FBC_UTF8_CLASS_SCAN(! UTF8_IS_INVARIANT(*s)
+                                      || ! _generic_isCC_A(*s, FLAGS(c)));
+            break;
+        }
+
+        to_complement = 1;
+        /* FALLTHROUGH */
+
+    case POSIXA:
+      posixa:
+        /* Don't need to worry about utf8, as it can match only a single
+         * byte invariant character. */
+        REXEC_FBC_CLASS_SCAN(
+                        to_complement ^ cBOOL(_generic_isCC_A(*s, FLAGS(c))));
+        break;
+
+    case NPOSIXU:
+        to_complement = 1;
+        /* FALLTHROUGH */
+
+    case POSIXU:
+        if (! utf8_target) {
+            REXEC_FBC_CLASS_SCAN(to_complement ^ cBOOL(_generic_isCC(*s,
+                                                                    FLAGS(c))));
+        }
+        else {
+
+      posix_utf8:
+            classnum = (_char_class_number) FLAGS(c);
+            if (classnum < _FIRST_NON_SWASH_CC) {
+                while (s < strend) {
+
+                    /* We avoid loading in the swash as long as possible, but
+                     * should we have to, we jump to a separate loop.  This
+                     * extra 'if' statement is what keeps this code from being
+                     * just a call to REXEC_FBC_UTF8_CLASS_SCAN() */
+                    if (UTF8_IS_ABOVE_LATIN1(*s)) {
+                        goto found_above_latin1;
+                    }
+                    if ((UTF8_IS_INVARIANT(*s)
+                         && to_complement ^ cBOOL(_generic_isCC((U8) *s,
+                                                                classnum)))
+                        || (UTF8_IS_DOWNGRADEABLE_START(*s)
+                            && to_complement ^ cBOOL(
+                                _generic_isCC(TWO_BYTE_UTF8_TO_UNI(*s, *(s + 1)),
+                                              classnum))))
+                    {
+                        if (tmp && (!reginfo || regtry(reginfo, &s)))
+                            goto got_it;
+                        else {
+                            tmp = doevery;
+                        }
+                    }
+                    else {
+                        tmp = 1;
+                    }
+                    s += UTF8SKIP(s);
+                }
+            }
+            else switch (classnum) {    /* These classes are implemented as
+                                           macros */
+                case _CC_ENUM_SPACE: /* XXX would require separate code if we
+                                        revert the change of \v matching this */
+                    /* FALL THROUGH */
+
+                case _CC_ENUM_PSXSPC:
+                    REXEC_FBC_UTF8_CLASS_SCAN(
+                                        to_complement ^ cBOOL(isSPACE_utf8(s)));
+                    break;
+
+                case _CC_ENUM_BLANK:
+                    REXEC_FBC_UTF8_CLASS_SCAN(
+                                        to_complement ^ cBOOL(isBLANK_utf8(s)));
+                    break;
+
+                case _CC_ENUM_XDIGIT:
+                    REXEC_FBC_UTF8_CLASS_SCAN(
+                                       to_complement ^ cBOOL(isXDIGIT_utf8(s)));
+                    break;
+
+                case _CC_ENUM_VERTSPACE:
+                    REXEC_FBC_UTF8_CLASS_SCAN(
+                                       to_complement ^ cBOOL(isVERTWS_utf8(s)));
+                    break;
+
+                case _CC_ENUM_CNTRL:
+                    REXEC_FBC_UTF8_CLASS_SCAN(
+                                        to_complement ^ cBOOL(isCNTRL_utf8(s)));
+                    break;
+
+                default:
+                    Perl_croak(aTHX_ "panic: find_byclass() node %d='%s' has an unexpected character class '%d'", OP(c), PL_reg_name[OP(c)], classnum);
+                    assert(0); /* NOTREACHED */
+            }
+        }
+        break;
+
+      found_above_latin1:   /* Here we have to load a swash to get the result
+                               for the current code point */
+        if (! PL_utf8_swash_ptrs[classnum]) {
+            U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
+            PL_utf8_swash_ptrs[classnum] =
+                    _core_swash_init("utf8", swash_property_names[classnum],
+                                     &PL_sv_undef, 1, 0, NULL, &flags);
+        }
+
+        /* This is a copy of the loop above for swash classes, though using the
+         * FBC macro instead of being expanded out.  Since we've loaded the
+         * swash, we don't have to check for that each time through the loop */
+        REXEC_FBC_UTF8_CLASS_SCAN(
+                to_complement ^ cBOOL(_generic_utf8(
+                                      classnum,
+                                      s,
+                                      swash_fetch(PL_utf8_swash_ptrs[classnum],
+                                                  (U8 *) s, TRUE))));
+        break;
+
+    case AHOCORASICKC:
+    case AHOCORASICK:
+        {
+            DECL_TRIE_TYPE(c);
+            /* what trie are we using right now */
+            reg_ac_data *aho = (reg_ac_data*)progi->data->data[ ARG( c ) ];
+            reg_trie_data *trie = (reg_trie_data*)progi->data->data[ aho->trie ];
+            HV *widecharmap = MUTABLE_HV(progi->data->data[ aho->trie + 1 ]);
+
+            const char *last_start = strend - trie->minlen;
 #ifdef DEBUGGING
-		const char *real_start = s;
+            const char *real_start = s;
 #endif
-		STRLEN maxlen = trie->maxlen;
-		SV *sv_points;
-		U8 **points; /* map of where we were in the input string
-		                when reading a given char. For ASCII this
-		                is unnecessary overhead as the relationship
-		                is always 1:1, but for Unicode, especially
-		                case folded Unicode this is not true. */
-		U8 foldbuf[ UTF8_MAXBYTES_CASE + 1 ];
-		U8 *bitmap=NULL;
+            STRLEN maxlen = trie->maxlen;
+            SV *sv_points;
+            U8 **points; /* map of where we were in the input string
+                            when reading a given char. For ASCII this
+                            is unnecessary overhead as the relationship
+                            is always 1:1, but for Unicode, especially
+                            case folded Unicode this is not true. */
+            U8 foldbuf[ UTF8_MAXBYTES_CASE + 1 ];
+            U8 *bitmap=NULL;
 
 
-                GET_RE_DEBUG_FLAGS_DECL;
+            GET_RE_DEBUG_FLAGS_DECL;
 
-                /* We can't just allocate points here. We need to wrap it in
-                 * an SV so it gets freed properly if there is a croak while
-                 * running the match */
-                ENTER;
-	        SAVETMPS;
-                sv_points=newSV(maxlen * sizeof(U8 *));
-                SvCUR_set(sv_points,
-                    maxlen * sizeof(U8 *));
-                SvPOK_on(sv_points);
-                sv_2mortal(sv_points);
-                points=(U8**)SvPV_nolen(sv_points );
-                if ( trie_type != trie_utf8_fold 
-                     && (trie->bitmap || OP(c)==AHOCORASICKC) ) 
-                {
-                    if (trie->bitmap) 
-                        bitmap=(U8*)trie->bitmap;
-                    else
-                        bitmap=(U8*)ANYOF_BITMAP(c);
-                }
-                /* this is the Aho-Corasick algorithm modified a touch
-                   to include special handling for long "unknown char" 
-                   sequences. The basic idea being that we use AC as long
-                   as we are dealing with a possible matching char, when
-                   we encounter an unknown char (and we have not encountered
-                   an accepting state) we scan forward until we find a legal 
-                   starting char. 
-                   AC matching is basically that of trie matching, except
-                   that when we encounter a failing transition, we fall back
-                   to the current states "fail state", and try the current char 
-                   again, a process we repeat until we reach the root state, 
-                   state 1, or a legal transition. If we fail on the root state 
-                   then we can either terminate if we have reached an accepting 
-                   state previously, or restart the entire process from the beginning 
-                   if we have not.
+            /* We can't just allocate points here. We need to wrap it in
+             * an SV so it gets freed properly if there is a croak while
+             * running the match */
+            ENTER;
+            SAVETMPS;
+            sv_points=newSV(maxlen * sizeof(U8 *));
+            SvCUR_set(sv_points,
+                maxlen * sizeof(U8 *));
+            SvPOK_on(sv_points);
+            sv_2mortal(sv_points);
+            points=(U8**)SvPV_nolen(sv_points );
+            if ( trie_type != trie_utf8_fold
+                 && (trie->bitmap || OP(c)==AHOCORASICKC) )
+            {
+                if (trie->bitmap)
+                    bitmap=(U8*)trie->bitmap;
+                else
+                    bitmap=(U8*)ANYOF_BITMAP(c);
+            }
+            /* this is the Aho-Corasick algorithm modified a touch
+               to include special handling for long "unknown char" sequences.
+               The basic idea being that we use AC as long as we are dealing
+               with a possible matching char, when we encounter an unknown char
+               (and we have not encountered an accepting state) we scan forward
+               until we find a legal starting char.
+               AC matching is basically that of trie matching, except that when
+               we encounter a failing transition, we fall back to the current
+               states "fail state", and try the current char again, a process
+               we repeat until we reach the root state, state 1, or a legal
+               transition. If we fail on the root state then we can either
+               terminate if we have reached an accepting state previously, or
+               restart the entire process from the beginning if we have not.
 
-                 */
-                while (s <= last_start) {
-                    const U32 uniflags = UTF8_ALLOW_DEFAULT;
-                    U8 *uc = (U8*)s;
-                    U16 charid = 0;
-                    U32 base = 1;
-                    U32 state = 1;
-                    UV uvc = 0;
-                    STRLEN len = 0;
-                    STRLEN foldlen = 0;
-                    U8 *uscan = (U8*)NULL;
-                    U8 *leftmost = NULL;
-#ifdef DEBUGGING                    
-                    U32 accepted_word= 0;
+             */
+            while (s <= last_start) {
+                const U32 uniflags = UTF8_ALLOW_DEFAULT;
+                U8 *uc = (U8*)s;
+                U16 charid = 0;
+                U32 base = 1;
+                U32 state = 1;
+                UV uvc = 0;
+                STRLEN len = 0;
+                STRLEN foldlen = 0;
+                U8 *uscan = (U8*)NULL;
+                U8 *leftmost = NULL;
+#ifdef DEBUGGING
+                U32 accepted_word= 0;
 #endif
-                    U32 pointpos = 0;
+                U32 pointpos = 0;
 
-                    while ( state && uc <= (U8*)strend ) {
-                        int failed=0;
-                        U32 word = aho->states[ state ].wordnum;
+                while ( state && uc <= (U8*)strend ) {
+                    int failed=0;
+                    U32 word = aho->states[ state ].wordnum;
 
-                        if( state==1 ) {
-                            if ( bitmap ) {
-                                DEBUG_TRIE_EXECUTE_r(
-                                    if ( uc <= (U8*)last_start && !BITMAP_TEST(bitmap,*uc) ) {
-                                        dump_exec_pos( (char *)uc, c, strend, real_start, 
-                                            (char *)uc, utf8_target );
-                                        PerlIO_printf( Perl_debug_log,
-                                            " Scanning for legal start char...\n");
-                                    }
-                                );
-				if (utf8_target) {
-				    while ( uc <= (U8*)last_start && !BITMAP_TEST(bitmap,*uc) ) {
-					uc += UTF8SKIP(uc);
-				    }
-				} else {
-				    while ( uc <= (U8*)last_start  && !BITMAP_TEST(bitmap,*uc) ) {
-					uc++;
-				    }
-				}
-                                s= (char *)uc;
+                    if( state==1 ) {
+                        if ( bitmap ) {
+                            DEBUG_TRIE_EXECUTE_r(
+                                if ( uc <= (U8*)last_start && !BITMAP_TEST(bitmap,*uc) ) {
+                                    dump_exec_pos( (char *)uc, c, strend, real_start,
+                                        (char *)uc, utf8_target );
+                                    PerlIO_printf( Perl_debug_log,
+                                        " Scanning for legal start char...\n");
+                                }
+                            );
+                            if (utf8_target) {
+                                while ( uc <= (U8*)last_start && !BITMAP_TEST(bitmap,*uc) ) {
+                                    uc += UTF8SKIP(uc);
+                                }
+                            } else {
+                                while ( uc <= (U8*)last_start  && !BITMAP_TEST(bitmap,*uc) ) {
+                                    uc++;
+                                }
                             }
-                            if (uc >(U8*)last_start) break;
+                            s= (char *)uc;
                         }
-                                            
-                        if ( word ) {
-                            U8 *lpos= points[ (pointpos - trie->wordinfo[word].len) % maxlen ];
-                            if (!leftmost || lpos < leftmost) {
-                                DEBUG_r(accepted_word=word);
-                                leftmost= lpos;
-                            }
-                            if (base==0) break;
-                            
+                        if (uc >(U8*)last_start) break;
+                    }
+
+                    if ( word ) {
+                        U8 *lpos= points[ (pointpos - trie->wordinfo[word].len) % maxlen ];
+                        if (!leftmost || lpos < leftmost) {
+                            DEBUG_r(accepted_word=word);
+                            leftmost= lpos;
                         }
-                        points[pointpos++ % maxlen]= uc;
-			REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
-					     uscan, len, uvc, charid, foldlen,
-					     foldbuf, uniflags);
+                        if (base==0) break;
+
+                    }
+                    points[pointpos++ % maxlen]= uc;
+                    if (foldlen || uc < (U8*)strend) {
+                        REXEC_TRIE_READ_CHAR(trie_type, trie,
+                                         widecharmap, uc,
+                                         uscan, len, uvc, charid, foldlen,
+                                         foldbuf, uniflags);
                         DEBUG_TRIE_EXECUTE_r({
-                            dump_exec_pos( (char *)uc, c, strend, real_start, 
-                                s,   utf8_target );
+                            dump_exec_pos( (char *)uc, c, strend,
+                                        real_start, s, utf8_target);
                             PerlIO_printf(Perl_debug_log,
                                 " Charid:%3u CP:%4"UVxf" ",
                                  charid, uvc);
                         });
+                    }
+                    else {
+                        len = 0;
+                        charid = 0;
+                    }
 
-                        do {
+
+                    do {
 #ifdef DEBUGGING
-                            word = aho->states[ state ].wordnum;
+                        word = aho->states[ state ].wordnum;
 #endif
-                            base = aho->states[ state ].trans.base;
+                        base = aho->states[ state ].trans.base;
 
-                            DEBUG_TRIE_EXECUTE_r({
-                                if (failed) 
-                                    dump_exec_pos( (char *)uc, c, strend, real_start, 
-                                        s,   utf8_target );
-                                PerlIO_printf( Perl_debug_log,
-                                    "%sState: %4"UVxf", word=%"UVxf,
-                                    failed ? " Fail transition to " : "",
-                                    (UV)state, (UV)word);
-                            });
-                            if ( base ) {
-                                U32 tmp;
-				I32 offset;
-                                if (charid &&
-				     ( ((offset = base + charid
-					- 1 - trie->uniquecharcount)) >= 0)
-                                     && ((U32)offset < trie->lasttrans)
-                                     && trie->trans[offset].check == state
-                                     && (tmp=trie->trans[offset].next))
-                                {
-                                    DEBUG_TRIE_EXECUTE_r(
-                                        PerlIO_printf( Perl_debug_log," - legal\n"));
-                                    state = tmp;
-                                    break;
-                                }
-                                else {
-                                    DEBUG_TRIE_EXECUTE_r(
-                                        PerlIO_printf( Perl_debug_log," - fail\n"));
-                                    failed = 1;
-                                    state = aho->fail[state];
-                                }
+                        DEBUG_TRIE_EXECUTE_r({
+                            if (failed)
+                                dump_exec_pos( (char *)uc, c, strend, real_start,
+                                    s,   utf8_target );
+                            PerlIO_printf( Perl_debug_log,
+                                "%sState: %4"UVxf", word=%"UVxf,
+                                failed ? " Fail transition to " : "",
+                                (UV)state, (UV)word);
+                        });
+                        if ( base ) {
+                            U32 tmp;
+                            I32 offset;
+                            if (charid &&
+                                 ( ((offset = base + charid
+                                    - 1 - trie->uniquecharcount)) >= 0)
+                                 && ((U32)offset < trie->lasttrans)
+                                 && trie->trans[offset].check == state
+                                 && (tmp=trie->trans[offset].next))
+                            {
+                                DEBUG_TRIE_EXECUTE_r(
+                                    PerlIO_printf( Perl_debug_log," - legal\n"));
+                                state = tmp;
+                                break;
                             }
                             else {
-                                /* we must be accepting here */
                                 DEBUG_TRIE_EXECUTE_r(
-                                        PerlIO_printf( Perl_debug_log," - accepting\n"));
+                                    PerlIO_printf( Perl_debug_log," - fail\n"));
                                 failed = 1;
-                                break;
+                                state = aho->fail[state];
                             }
-                        } while(state);
-                        uc += len;
-                        if (failed) {
-                            if (leftmost)
-                                break;
-                            if (!state) state = 1;
                         }
-                    }
-                    if ( aho->states[ state ].wordnum ) {
-                        U8 *lpos = points[ (pointpos - trie->wordinfo[aho->states[ state ].wordnum].len) % maxlen ];
-                        if (!leftmost || lpos < leftmost) {
-                            DEBUG_r(accepted_word=aho->states[ state ].wordnum);
-                            leftmost = lpos;
+                        else {
+                            /* we must be accepting here */
+                            DEBUG_TRIE_EXECUTE_r(
+                                    PerlIO_printf( Perl_debug_log," - accepting\n"));
+                            failed = 1;
+                            break;
                         }
+                    } while(state);
+                    uc += len;
+                    if (failed) {
+                        if (leftmost)
+                            break;
+                        if (!state) state = 1;
                     }
-                    if (leftmost) {
-                        s = (char*)leftmost;
-                        DEBUG_TRIE_EXECUTE_r({
-                            PerlIO_printf( 
-                                Perl_debug_log,"Matches word #%"UVxf" at position %"IVdf". Trying full pattern...\n",
-                                (UV)accepted_word, (IV)(s - real_start)
-                            );
-                        });
-                        if (!reginfo || regtry(reginfo, &s)) {
-                            FREETMPS;
-		            LEAVE;
-                            goto got_it;
-                        }
-                        s = HOPc(s,1);
-                        DEBUG_TRIE_EXECUTE_r({
-                            PerlIO_printf( Perl_debug_log,"Pattern failed. Looking for new start point...\n");
-                        });
-                    } else {
-                        DEBUG_TRIE_EXECUTE_r(
-                            PerlIO_printf( Perl_debug_log,"No match.\n"));
-                        break;
+                }
+                if ( aho->states[ state ].wordnum ) {
+                    U8 *lpos = points[ (pointpos - trie->wordinfo[aho->states[ state ].wordnum].len) % maxlen ];
+                    if (!leftmost || lpos < leftmost) {
+                        DEBUG_r(accepted_word=aho->states[ state ].wordnum);
+                        leftmost = lpos;
                     }
                 }
-                FREETMPS;
-                LEAVE;
-	    }
-	    break;
-	default:
-	    Perl_croak(aTHX_ "panic: unknown regstclass %d", (int)OP(c));
-	    break;
-	}
-	return 0;
-      got_it:
-	return s;
+                if (leftmost) {
+                    s = (char*)leftmost;
+                    DEBUG_TRIE_EXECUTE_r({
+                        PerlIO_printf(
+                            Perl_debug_log,"Matches word #%"UVxf" at position %"IVdf". Trying full pattern...\n",
+                            (UV)accepted_word, (IV)(s - real_start)
+                        );
+                    });
+                    if (!reginfo || regtry(reginfo, &s)) {
+                        FREETMPS;
+                        LEAVE;
+                        goto got_it;
+                    }
+                    s = HOPc(s,1);
+                    DEBUG_TRIE_EXECUTE_r({
+                        PerlIO_printf( Perl_debug_log,"Pattern failed. Looking for new start point...\n");
+                    });
+                } else {
+                    DEBUG_TRIE_EXECUTE_r(
+                        PerlIO_printf( Perl_debug_log,"No match.\n"));
+                    break;
+                }
+            }
+            FREETMPS;
+            LEAVE;
+        }
+        break;
+    default:
+        Perl_croak(aTHX_ "panic: unknown regstclass %d", (int)OP(c));
+        break;
+    }
+    return 0;
+  got_it:
+    return s;
 }
 
 
@@ -1964,21 +2044,25 @@
  - regexec_flags - match a regexp against a string
  */
 I32
-Perl_regexec_flags(pTHX_ REGEXP * const rx, char *stringarg, register char *strend,
+Perl_regexec_flags(pTHX_ REGEXP * const rx, char *stringarg, char *strend,
 	      char *strbeg, I32 minend, SV *sv, void *data, U32 flags)
-/* strend: pointer to null at end of string */
-/* strbeg: real beginning of string */
-/* minend: end of match must be >=minend after stringarg. */
-/* data: May be used for some additional optimizations. 
-         Currently its only used, with a U32 cast, for transmitting 
-         the ganch offset when doing a /g match. This will change */
-/* nosave: For optimizations. */
+/* stringarg: the point in the string at which to begin matching */
+/* strend:    pointer to null at end of string */
+/* strbeg:    real beginning of string */
+/* minend:    end of match must be >= minend bytes after stringarg. */
+/* sv:        SV being matched: only used for utf8 flag, pos() etc; string
+ *            itself is accessed via the pointers above */
+/* data:      May be used for some additional optimizations.
+              Currently its only used, with a U32 cast, for transmitting
+              the ganch offset when doing a /g match. This will change */
+/* nosave:    For optimizations. */
+
 {
     dVAR;
-    struct regexp *const prog = (struct regexp *)SvANY(rx);
-    /*register*/ char *s;
-    register regnode *c;
-    /*register*/ char *startpos = stringarg;
+    struct regexp *const prog = ReANY(rx);
+    char *s;
+    regnode *c;
+    char *startpos = stringarg;
     I32 minlen;		/* must match at least this many chars */
     I32 dontbother = 0;	/* how many characters not to try at end */
     I32 end_shift = 0;			/* Same for the end. */		/* CC */
@@ -2023,13 +2107,12 @@
 	Perl_croak(aTHX_ "corrupted regexp program");
     }
 
-    PL_reg_flags = 0;
-    PL_reg_eval_set = 0;
+    RX_MATCH_TAINTED_off(rx);
+    PL_reg_state.re_state_eval_setup_done = FALSE;
     PL_reg_maxiter = 0;
 
-    if (RX_UTF8(rx))
-	PL_reg_flags |= RF_utf8;
-
+    reginfo.is_utf8_pat = cBOOL(RX_UTF8(rx));
+    reginfo.warned = FALSE;
     /* Mark beginning of line for ^ and lookbehind. */
     reginfo.bol = startpos; /* XXX not used ??? */
     PL_bostr  = strbeg;
@@ -2084,12 +2167,18 @@
            was from this regex we don't want a subsequent partially
            successful match to clobber the old results.
            So when we detect this possibility we add a swap buffer
-           to the re, and switch the buffer each match. If we fail
-           we switch it back, otherwise we leave it swapped.
+           to the re, and switch the buffer each match. If we fail,
+           we switch it back; otherwise we leave it swapped.
         */
         swap = prog->offs;
         /* do we need a save destructor here for eval dies? */
         Newxz(prog->offs, (prog->nparens + 1), regexp_paren_pair);
+	DEBUG_BUFFERS_r(PerlIO_printf(Perl_debug_log,
+	    "rex=0x%"UVxf" saving  offs: orig=0x%"UVxf" new=0x%"UVxf"\n",
+	    PTR2UV(prog),
+	    PTR2UV(swap),
+	    PTR2UV(prog->offs)
+	));
     }
     if (!(flags & REXEC_CHECKED) && (prog->check_substr != NULL || prog->check_utf8 != NULL)) {
 	re_scream_pos_data d;
@@ -2173,8 +2262,8 @@
                     /*XXX: The s-- is almost definitely wrong here under unicode - demeprhq*/
 		    s--;
 		}
-                /* We can use a more efficient search as newlines are the same in unicode as they are in latin */
-		while (s < end) {
+		/* We can use a more efficient search as newlines are the same in unicode as they are in latin */
+		while (s <= end) { /* note it could be possible to match at the end of the string */
 		    if (*s++ == '\n') {	/* don't need PL_utf8skip here */
 			if (regtry(&reginfo, &s))
 			    goto got_it;
@@ -2198,16 +2287,16 @@
     /* Messy cases:  unanchored match. */
     if ((prog->anchored_substr || prog->anchored_utf8) && prog->intflags & PREGf_SKIP) {
 	/* we have /x+whatever/ */
-	/* it must be a one character string (XXXX Except UTF_PATTERN?) */
+	/* it must be a one character string (XXXX Except is_utf8_pat?) */
 	char ch;
 #ifdef DEBUGGING
 	int did_match = 0;
 #endif
-	if (!(utf8_target ? prog->anchored_utf8 : prog->anchored_substr))
-	    utf8_target ? to_utf8_substr(prog) : to_byte_substr(prog);
-	ch = SvPVX_const(utf8_target ? prog->anchored_utf8 : prog->anchored_substr)[0];
-
 	if (utf8_target) {
+            if (! prog->anchored_utf8) {
+                to_utf8_substr(prog);
+            }
+            ch = SvPVX_const(prog->anchored_utf8)[0];
 	    REXEC_FBC_SCAN(
 		if (*s == ch) {
 		    DEBUG_EXECUTE_r( did_match = 1 );
@@ -2217,8 +2306,15 @@
 			s += UTF8SKIP(s);
 		}
 	    );
+
 	}
 	else {
+            if (! prog->anchored_substr) {
+                if (! to_byte_substr(prog)) {
+                    NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
+                }
+            }
+            ch = SvPVX_const(prog->anchored_substr)[0];
 	    REXEC_FBC_SCAN(
 		if (*s == ch) {
 		    DEBUG_EXECUTE_r( did_match = 1 );
@@ -2247,23 +2343,40 @@
 	int did_match = 0;
 #endif
 	if (prog->anchored_substr || prog->anchored_utf8) {
-	    if (!(utf8_target ? prog->anchored_utf8 : prog->anchored_substr))
-		utf8_target ? to_utf8_substr(prog) : to_byte_substr(prog);
-	    must = utf8_target ? prog->anchored_utf8 : prog->anchored_substr;
+	    if (utf8_target) {
+                if (! prog->anchored_utf8) {
+                    to_utf8_substr(prog);
+                }
+                must = prog->anchored_utf8;
+            }
+            else {
+                if (! prog->anchored_substr) {
+                    if (! to_byte_substr(prog)) {
+                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
+                    }
+                }
+                must = prog->anchored_substr;
+            }
 	    back_max = back_min = prog->anchored_offset;
 	} else {
-	    if (!(utf8_target ? prog->float_utf8 : prog->float_substr))
-		utf8_target ? to_utf8_substr(prog) : to_byte_substr(prog);
-	    must = utf8_target ? prog->float_utf8 : prog->float_substr;
+	    if (utf8_target) {
+                if (! prog->float_utf8) {
+                    to_utf8_substr(prog);
+                }
+                must = prog->float_utf8;
+            }
+            else {
+                if (! prog->float_substr) {
+                    if (! to_byte_substr(prog)) {
+                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
+                    }
+                }
+                must = prog->float_substr;
+            }
 	    back_max = prog->float_max_offset;
 	    back_min = prog->float_min_offset;
 	}
-	
 	    
-	if (must == &PL_sv_undef)
-	    /* could not downgrade utf8 check substring, so must fail */
-	    goto phooey;
-
         if (back_min<0) {
 	    last = strend;
 	} else {
@@ -2282,15 +2395,9 @@
 	dontbother = end_shift;
 	strend = HOPc(strend, -dontbother);
 	while ( (s <= last) &&
-		((flags & REXEC_SCREAM)
-		 ? (s = screaminstr(sv, must, HOP3c(s, back_min, (back_min<0 ? strbeg : strend)) - strbeg,
-				    end_shift, &scream_pos, 0))
-		 : (s = fbm_instr((unsigned char*)HOP3(s, back_min, (back_min<0 ? strbeg : strend)),
+		(s = fbm_instr((unsigned char*)HOP3(s, back_min, (back_min<0 ? strbeg : strend)),
 				  (unsigned char*)strend, must,
-				  multiline ? FBMrf_MULTILINE : 0))) ) {
-	    /* we may be pointing at the wrong string */
-	    if ((flags & REXEC_SCREAM) && RXp_MATCH_COPIED(prog))
-		s = strbeg + (s - SvPVX_const(sv));
+				  multiline ? FBMrf_MULTILINE : 0)) ) {
 	    DEBUG_EXECUTE_r( did_match = 1 );
 	    if (HOPc(s, -back_max) > last1) {
 		last1 = HOPc(s, -back_min);
@@ -2306,7 +2413,11 @@
 		while (s <= last1) {
 		    if (regtry(&reginfo, &s))
 			goto got_it;
-		    s += UTF8SKIP(s);
+                    if (s >= last1) {
+                        s++; /* to break out of outer loop */
+                        break;
+                    }
+                    s += UTF8SKIP(s);
 		}
 	    }
 	    else {
@@ -2346,7 +2457,7 @@
 		     quoted, (int)(strend - s));
 	    }
 	});
-        if (find_byclass(prog, c, s, strend, &reginfo))
+        if (find_byclass(prog, c, s, strend, &reginfo, reginfo.is_utf8_pat))
 	    goto got_it;
 	DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log, "Contradicts stclass... [regexec_flags]\n"));
     }
@@ -2354,48 +2465,97 @@
 	dontbother = 0;
 	if (prog->float_substr != NULL || prog->float_utf8 != NULL) {
 	    /* Trim the end. */
-	    char *last;
+	    char *last= NULL;
 	    SV* float_real;
+	    STRLEN len;
+	    const char *little;
 
-	    if (!(utf8_target ? prog->float_utf8 : prog->float_substr))
-		utf8_target ? to_utf8_substr(prog) : to_byte_substr(prog);
-	    float_real = utf8_target ? prog->float_utf8 : prog->float_substr;
+	    if (utf8_target) {
+                if (! prog->float_utf8) {
+                    to_utf8_substr(prog);
+                }
+                float_real = prog->float_utf8;
+            }
+            else {
+                if (! prog->float_substr) {
+                    if (! to_byte_substr(prog)) {
+                        NON_UTF8_TARGET_BUT_UTF8_REQUIRED(phooey);
+                    }
+                }
+                float_real = prog->float_substr;
+            }
 
-	    if (flags & REXEC_SCREAM) {
-		last = screaminstr(sv, float_real, s - strbeg,
-				   end_shift, &scream_pos, 1); /* last one */
-		if (!last)
-		    last = scream_olds; /* Only one occurrence. */
-		/* we may be pointing at the wrong string */
-		else if (RXp_MATCH_COPIED(prog))
-		    s = strbeg + (s - SvPVX_const(sv));
-	    }
-	    else {
-		STRLEN len;
-                const char * const little = SvPV_const(float_real, len);
-
-		if (SvTAIL(float_real)) {
-		    if (memEQ(strend - len + 1, little, len - 1))
-			last = strend - len + 1;
-		    else if (!multiline)
-			last = memEQ(strend - len, little, len)
-			    ? strend - len : NULL;
-		    else
+            little = SvPV_const(float_real, len);
+	    if (SvTAIL(float_real)) {
+                    /* This means that float_real contains an artificial \n on
+                     * the end due to the presence of something like this:
+                     * /foo$/ where we can match both "foo" and "foo\n" at the
+                     * end of the string.  So we have to compare the end of the
+                     * string first against the float_real without the \n and
+                     * then against the full float_real with the string.  We
+                     * have to watch out for cases where the string might be
+                     * smaller than the float_real or the float_real without
+                     * the \n. */
+		    char *checkpos= strend - len;
+		    DEBUG_OPTIMISE_r(
+			PerlIO_printf(Perl_debug_log,
+			    "%sChecking for float_real.%s\n",
+			    PL_colors[4], PL_colors[5]));
+		    if (checkpos + 1 < strbeg) {
+                        /* can't match, even if we remove the trailing \n
+                         * string is too short to match */
+			DEBUG_EXECUTE_r(
+			    PerlIO_printf(Perl_debug_log,
+				"%sString shorter than required trailing substring, cannot match.%s\n",
+				PL_colors[4], PL_colors[5]));
+			goto phooey;
+		    } else if (memEQ(checkpos + 1, little, len - 1)) {
+                        /* can match, the end of the string matches without the
+                         * "\n" */
+			last = checkpos + 1;
+		    } else if (checkpos < strbeg) {
+                        /* cant match, string is too short when the "\n" is
+                         * included */
+			DEBUG_EXECUTE_r(
+			    PerlIO_printf(Perl_debug_log,
+				"%sString does not contain required trailing substring, cannot match.%s\n",
+				PL_colors[4], PL_colors[5]));
+			goto phooey;
+		    } else if (!multiline) {
+                        /* non multiline match, so compare with the "\n" at the
+                         * end of the string */
+			if (memEQ(checkpos, little, len)) {
+			    last= checkpos;
+			} else {
+			    DEBUG_EXECUTE_r(
+				PerlIO_printf(Perl_debug_log,
+				    "%sString does not contain required trailing substring, cannot match.%s\n",
+				    PL_colors[4], PL_colors[5]));
+			    goto phooey;
+			}
+		    } else {
+                        /* multiline match, so we have to search for a place
+                         * where the full string is located */
 			goto find_last;
-		} else {
+		    }
+	    } else {
 		  find_last:
 		    if (len)
 			last = rninstr(s, strend, little, little + len);
 		    else
 			last = strend;	/* matching "$" */
-		}
 	    }
-	    if (last == NULL) {
+	    if (!last) {
+                /* at one point this block contained a comment which was
+                 * probably incorrect, which said that this was a "should not
+                 * happen" case.  Even if it was true when it was written I am
+                 * pretty sure it is not anymore, so I have removed the comment
+                 * and replaced it with this one. Yves */
 		DEBUG_EXECUTE_r(
 		    PerlIO_printf(Perl_debug_log,
-			"%sCan't trim the tail, match fails (should not happen)%s\n",
-	                PL_colors[4], PL_colors[5]));
-		goto phooey; /* Should not happen! */
+			"String does not contain required substring, cannot match.\n"
+	            ));
+		goto phooey;
 	    }
 	    dontbother = strend - last + prog->float_min_offset;
 	}
@@ -2424,10 +2584,17 @@
     goto phooey;
 
 got_it:
+    DEBUG_BUFFERS_r(
+	if (swap)
+	    PerlIO_printf(Perl_debug_log,
+		"rex=0x%"UVxf" freeing offs: 0x%"UVxf"\n",
+		PTR2UV(prog),
+		PTR2UV(swap)
+	    );
+    );
     Safefree(swap);
-    RX_MATCH_TAINTED_set(rx, PL_reg_flags & RF_tainted);
 
-    if (PL_reg_eval_set)
+    if (PL_reg_state.re_state_eval_setup_done)
 	restore_pos(aTHX_ prog);
     if (RXp_PAREN_NAMES(prog)) 
         (void)hv_iterinit(RXp_PAREN_NAMES(prog));
@@ -2434,31 +2601,117 @@
 
     /* make sure $`, $&, $', and $digit will work later */
     if ( !(flags & REXEC_NOT_FIRST) ) {
-	RX_MATCH_COPY_FREE(rx);
 	if (flags & REXEC_COPY_STR) {
-	    const I32 i = PL_regeol - startpos + (stringarg - strbeg);
-#ifdef PERL_OLD_COPY_ON_WRITE
-	    if ((SvIsCOW(sv)
-		 || (SvFLAGS(sv) & CAN_COW_MASK) == CAN_COW_FLAGS)) {
+#ifdef PERL_ANY_COW
+	    if (SvCANCOW(sv)) {
 		if (DEBUG_C_TEST) {
 		    PerlIO_printf(Perl_debug_log,
 				  "Copy on write: regexp capture, type %d\n",
 				  (int) SvTYPE(sv));
 		}
+                RX_MATCH_COPY_FREE(rx);
 		prog->saved_copy = sv_setsv_cow(prog->saved_copy, sv);
 		prog->subbeg = (char *)SvPVX_const(prog->saved_copy);
 		assert (SvPOKp(prog->saved_copy));
+                prog->sublen  = PL_regeol - strbeg;
+                prog->suboffset = 0;
+                prog->subcoffset = 0;
 	    } else
 #endif
 	    {
-		RX_MATCH_COPIED_on(rx);
-		s = savepvn(strbeg, i);
-		prog->subbeg = s;
+                I32 min = 0;
+                I32 max = PL_regeol - strbeg;
+                I32 sublen;
+
+                if (    (flags & REXEC_COPY_SKIP_POST)
+                    && !(RX_EXTFLAGS(rx) & RXf_PMf_KEEPCOPY) /* //p */
+                    && !(PL_sawampersand & SAWAMPERSAND_RIGHT)
+                ) { /* don't copy $' part of string */
+                    U32 n = 0;
+                    max = -1;
+                    /* calculate the right-most part of the string covered
+                     * by a capture. Due to look-ahead, this may be to
+                     * the right of $&, so we have to scan all captures */
+                    while (n <= prog->lastparen) {
+                        if (prog->offs[n].end > max)
+                            max = prog->offs[n].end;
+                        n++;
+                    }
+                    if (max == -1)
+                        max = (PL_sawampersand & SAWAMPERSAND_LEFT)
+                                ? prog->offs[0].start
+                                : 0;
+                    assert(max >= 0 && max <= PL_regeol - strbeg);
+                }
+
+                if (    (flags & REXEC_COPY_SKIP_PRE)
+                    && !(RX_EXTFLAGS(rx) & RXf_PMf_KEEPCOPY) /* //p */
+                    && !(PL_sawampersand & SAWAMPERSAND_LEFT)
+                ) { /* don't copy $` part of string */
+                    U32 n = 0;
+                    min = max;
+                    /* calculate the left-most part of the string covered
+                     * by a capture. Due to look-behind, this may be to
+                     * the left of $&, so we have to scan all captures */
+                    while (min && n <= prog->lastparen) {
+                        if (   prog->offs[n].start != -1
+                            && prog->offs[n].start < min)
+                        {
+                            min = prog->offs[n].start;
+                        }
+                        n++;
+                    }
+                    if ((PL_sawampersand & SAWAMPERSAND_RIGHT)
+                        && min >  prog->offs[0].end
+                    )
+                        min = prog->offs[0].end;
+
+                }
+
+                assert(min >= 0 && min <= max && min <= PL_regeol - strbeg);
+                sublen = max - min;
+
+                if (RX_MATCH_COPIED(rx)) {
+                    if (sublen > prog->sublen)
+                        prog->subbeg =
+                                (char*)saferealloc(prog->subbeg, sublen+1);
+                }
+                else
+                    prog->subbeg = (char*)safemalloc(sublen+1);
+                Copy(strbeg + min, prog->subbeg, sublen, char);
+                prog->subbeg[sublen] = '\0';
+                prog->suboffset = min;
+                prog->sublen = sublen;
+                RX_MATCH_COPIED_on(rx);
 	    }
-	    prog->sublen = i;
+            prog->subcoffset = prog->suboffset;
+            if (prog->suboffset && utf8_target) {
+                /* Convert byte offset to chars.
+                 * XXX ideally should only compute this if @-/@+
+                 * has been seen, a la PL_sawampersand ??? */
+
+                /* If there's a direct correspondence between the
+                 * string which we're matching and the original SV,
+                 * then we can use the utf8 len cache associated with
+                 * the SV. In particular, it means that under //g,
+                 * sv_pos_b2u() will use the previously cached
+                 * position to speed up working out the new length of
+                 * subcoffset, rather than counting from the start of
+                 * the string each time. This stops
+                 *   $x = "\x{100}" x 1E6; 1 while $x =~ /(.)/g;
+                 * from going quadratic */
+                if (SvPOKp(sv) && SvPVX(sv) == strbeg)
+                    sv_pos_b2u(sv, &(prog->subcoffset));
+                else
+                    prog->subcoffset = utf8_length((U8*)strbeg,
+                                        (U8*)(strbeg+prog->suboffset));
+            }
 	}
 	else {
+            RX_MATCH_COPY_FREE(rx);
 	    prog->subbeg = strbeg;
+	    prog->suboffset = 0;
+	    prog->subcoffset = 0;
 	    prog->sublen = PL_regeol - strbeg;	/* strend may have been modified */
 	}
     }
@@ -2468,28 +2721,44 @@
 phooey:
     DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log, "%sMatch failed%s\n",
 			  PL_colors[4], PL_colors[5]));
-    if (PL_reg_eval_set)
+    if (PL_reg_state.re_state_eval_setup_done)
 	restore_pos(aTHX_ prog);
     if (swap) {
         /* we failed :-( roll it back */
+	DEBUG_BUFFERS_r(PerlIO_printf(Perl_debug_log,
+	    "rex=0x%"UVxf" rolling back offs: freeing=0x%"UVxf" restoring=0x%"UVxf"\n",
+	    PTR2UV(prog),
+	    PTR2UV(prog->offs),
+	    PTR2UV(swap)
+	));
         Safefree(prog->offs);
         prog->offs = swap;
     }
-
     return 0;
 }
 
 
+/* Set which rex is pointed to by PL_reg_state, handling ref counting.
+ * Do inc before dec, in case old and new rex are the same */
+#define SET_reg_curpm(Re2) \
+    if (PL_reg_state.re_state_eval_setup_done) {    \
+	(void)ReREFCNT_inc(Re2);		    \
+	ReREFCNT_dec(PM_GETRE(PL_reg_curpm));	    \
+	PM_SETRE((PL_reg_curpm), (Re2));	    \
+    }
+
+
 /*
  - regtry - try match at specific point
  */
 STATIC I32			/* 0 failure, 1 success */
-S_regtry(pTHX_ regmatch_info *reginfo, char **startpos)
+S_regtry(pTHX_ regmatch_info *reginfo, char **startposp)
 {
     dVAR;
     CHECKPOINT lastcp;
     REGEXP *const rx = reginfo->prog;
-    regexp *const prog = (struct regexp *)SvANY(rx);
+    regexp *const prog = ReANY(rx);
+    I32 result;
     RXi_GET_DECL(prog,progi);
     GET_RE_DEBUG_FLAGS_DECL;
 
@@ -2497,22 +2766,12 @@
 
     reginfo->cutpoint=NULL;
 
-    if ((prog->extflags & RXf_EVAL_SEEN) && !PL_reg_eval_set) {
+    if ((prog->extflags & RXf_EVAL_SEEN)
+	&& !PL_reg_state.re_state_eval_setup_done)
+    {
 	MAGIC *mg;
 
-	PL_reg_eval_set = RS_init;
-	DEBUG_EXECUTE_r(DEBUG_s(
-	    PerlIO_printf(Perl_debug_log, "  setting stack tmpbase at %"IVdf"\n",
-			  (IV)(PL_stack_sp - PL_stack_base));
-	    ));
-	SAVESTACK_CXPOS();
-	cxstack[cxstack_ix].blk_oldsp = PL_stack_sp - PL_stack_base;
-	/* Otherwise OP_NEXTSTATE will free whatever on stack now.  */
-	SAVETMPS;
-	/* Apparently this is not needed, judging by wantarray. */
-	/* SAVEI8(cxstack[cxstack_ix].blk_gimme);
-	   cxstack[cxstack_ix].blk_gimme = G_SCALAR; */
-
+	PL_reg_state.re_state_eval_setup_done = TRUE;
 	if (reginfo->sv) {
 	    /* Make $_ available to executed code. */
 	    if (reginfo->sv != DEFSV) {
@@ -2548,16 +2807,7 @@
             }
 #endif      
         }
-#ifdef USE_ITHREADS
-	/* It seems that non-ithreads works both with and without this code.
-	   So for efficiency reasons it seems best not to have the code
-	   compiled when it is not needed.  */
-	/* This is safe against NULLs: */
-	ReREFCNT_dec(PM_GETRE(PL_reg_curpm));
-	/* PM_reg_curpm owns a reference to this regexp.  */
-	(void)ReREFCNT_inc(rx);
-#endif
-	PM_SETRE(PL_reg_curpm, rx);
+	SET_reg_curpm(rx);
 	PL_reg_oldcurpm = PL_curpm;
 	PL_curpm = PL_reg_curpm;
 	if (RXp_MATCH_COPIED(prog)) {
@@ -2566,7 +2816,9 @@
 		$` inside (?{}) could fail... */
 	    PL_reg_oldsaved = prog->subbeg;
 	    PL_reg_oldsavedlen = prog->sublen;
-#ifdef PERL_OLD_COPY_ON_WRITE
+	    PL_reg_oldsavedoffset = prog->suboffset;
+	    PL_reg_oldsavedcoffset = prog->suboffset;
+#ifdef PERL_ANY_COW
 	    PL_nrs = prog->saved_copy;
 #endif
 	    RXp_MATCH_COPIED_off(prog);
@@ -2574,32 +2826,24 @@
 	else
 	    PL_reg_oldsaved = NULL;
 	prog->subbeg = PL_bostr;
+	prog->suboffset = 0;
+	prog->subcoffset = 0;
 	prog->sublen = PL_regeol - PL_bostr; /* strend may have been modified */
     }
-    DEBUG_EXECUTE_r(PL_reg_starttry = *startpos);
-    prog->offs[0].start = *startpos - PL_bostr;
-    PL_reginput = *startpos;
-    PL_reglastparen = &prog->lastparen;
-    PL_reglastcloseparen = &prog->lastcloseparen;
+#ifdef DEBUGGING
+    PL_reg_starttry = *startposp;
+#endif
+    prog->offs[0].start = *startposp - PL_bostr;
     prog->lastparen = 0;
     prog->lastcloseparen = 0;
-    PL_regsize = 0;
-    PL_regoffs = prog->offs;
-    if (PL_reg_start_tmpl <= prog->nparens) {
-	PL_reg_start_tmpl = prog->nparens*3/2 + 3;
-        if(PL_reg_start_tmp)
-            Renew(PL_reg_start_tmp, PL_reg_start_tmpl, char*);
-        else
-            Newx(PL_reg_start_tmp, PL_reg_start_tmpl, char*);
-    }
 
     /* XXXX What this code is doing here?!!!  There should be no need
-       to do this again and again, PL_reglastparen should take care of
+       to do this again and again, prog->lastparen should take care of
        this!  --ilya*/
 
     /* Tests pat.t#187 and split.t#{13,14} seem to depend on this code.
      * Actually, the code in regcppop() (which Ilya may be meaning by
-     * PL_reglastparen), is not needed at all by the test suite
+     * prog->lastparen), is not needed at all by the test suite
      * (op/regexp, op/pat, op/split), but that code is needed otherwise
      * this erroneously leaves $1 defined: "1" =~ /^(?:(\d)x)?\d$/
      * Meanwhile, this code *is* needed for the
@@ -2608,9 +2852,9 @@
      * --jhi updated by dapm */
 #if 1
     if (prog->nparens) {
-	regexp_paren_pair *pp = PL_regoffs;
-	register I32 i;
-	for (i = prog->nparens; i > (I32)*PL_reglastparen; i--) {
+	regexp_paren_pair *pp = prog->offs;
+	I32 i;
+	for (i = prog->nparens; i > (I32)prog->lastparen; i--) {
 	    ++pp;
 	    pp->start = -1;
 	    pp->end = -1;
@@ -2618,12 +2862,13 @@
     }
 #endif
     REGCP_SET(lastcp);
-    if (regmatch(reginfo, progi->program + 1)) {
-	PL_regoffs[0].end = PL_reginput - PL_bostr;
+    result = regmatch(reginfo, *startposp, progi->program + 1);
+    if (result != -1) {
+	prog->offs[0].end = result;
 	return 1;
     }
     if (reginfo->cutpoint)
-        *startpos= reginfo->cutpoint;
+        *startposp= reginfo->cutpoint;
     REGCP_UNWIND(lastcp);
     return 0;
 }
@@ -2649,6 +2894,8 @@
 
 #define CHRTEST_UNINIT -1001 /* c1/c2 haven't been calculated yet */
 #define CHRTEST_VOID   -1000 /* the c1/c2 "next char" test should be skipped */
+#define CHRTEST_NOT_A_CP_1 -999
+#define CHRTEST_NOT_A_CP_2 -998
 
 #define SLAB_FIRST(s) (&(s)->states[0])
 #define SLAB_LAST(s)  (&(s)->states[PERL_REGMATCH_SLAB_SLOTS-1])
@@ -2675,7 +2922,8 @@
 
 /* push a new state then goto it */
 
-#define PUSH_STATE_GOTO(state, node) \
+#define PUSH_STATE_GOTO(state, node, input) \
+    pushinput = input; \
     scan = node; \
     st->resume_state = state; \
     goto push_state;
@@ -2682,7 +2930,8 @@
 
 /* push a new state with success backtracking, then goto it */
 
-#define PUSH_YES_STATE_GOTO(state, node) \
+#define PUSH_YES_STATE_GOTO(state, node, input) \
+    pushinput = input; \
     scan = node; \
     st->resume_state = state; \
     goto push_yes_state;
@@ -2689,6 +2938,7 @@
 
 
 
+
 /*
 
 regmatch() - main matching routine
@@ -2754,7 +3004,7 @@
 	// push a yes backtrack state with a resume value of
 	// IFMATCH_A/IFMATCH_A_fail, then continue execution at the
 	// first node of A:
-	PUSH_YES_STATE_GOTO(IFMATCH_A, A);
+	PUSH_YES_STATE_GOTO(IFMATCH_A, A, newinput);
 	// NOTREACHED
 
     case IFMATCH_A: // we have successfully executed A; now continue with B
@@ -2791,8 +3041,8 @@
 want to claim it, populate any ST.foo fields in it with values you wish to
 save, then do one of
 
-	PUSH_STATE_GOTO(resume_state, node);
-	PUSH_YES_STATE_GOTO(resume_state, node);
+	PUSH_STATE_GOTO(resume_state, node, newinput);
+	PUSH_YES_STATE_GOTO(resume_state, node, newinput);
 
 which sets that backtrack state's resume value to 'resume_state', pushes a
 new free entry to the top of the backtrack stack, then goes to 'node'.
@@ -2955,8 +3205,8 @@
     PERL_ARGS_ASSERT_REG_CHECK_NAMED_BUFF_MATCHED;
 
     for ( n=0; n<SvIVX(sv_dat); n++ ) {
-        if ((I32)*PL_reglastparen >= nums[n] &&
-            PL_regoffs[nums[n]].end != -1)
+        if ((I32)rex->lastparen >= nums[n] &&
+            rex->offs[nums[n]].end != -1)
         {
             return nums[n];
         }
@@ -2982,34 +3232,286 @@
 	Safefree(osl);
     }
 }
+static bool
+S_setup_EXACTISH_ST_c1_c2(pTHX_ const regnode * const text_node, int *c1p,
+        U8* c1_utf8, int *c2p, U8* c2_utf8, bool is_utf8_pat)
+{
+    /* This function determines if there are one or two characters that match
+     * the first character of the passed-in EXACTish node <text_node>, and if
+     * so, returns them in the passed-in pointers.
+     *
+     * If it determines that no possible character in the target string can
+     * match, it returns FALSE; otherwise TRUE.  (The FALSE situation occurs if
+     * the first character in <text_node> requires UTF-8 to represent, and the
+     * target string isn't in UTF-8.)
+     *
+     * If there are more than two characters that could match the beginning of
+     * <text_node>, or if more context is required to determine a match or not,
+     * it sets both *<c1p> and *<c2p> to CHRTEST_VOID.
+     *
+     * The motiviation behind this function is to allow the caller to set up
+     * tight loops for matching.  If <text_node> is of type EXACT, there is
+     * only one possible character that can match its first character, and so
+     * the situation is quite simple.  But things get much more complicated if
+     * folding is involved.  It may be that the first character of an EXACTFish
+     * node doesn't participate in any possible fold, e.g., punctuation, so it
+     * can be matched only by itself.  The vast majority of characters that are
+     * in folds match just two things, their lower and upper-case equivalents.
+     * But not all are like that; some have multiple possible matches, or match
+     * sequences of more than one character.  This function sorts all that out.
+     *
+     * Consider the patterns A*B or A*?B where A and B are arbitrary.  In a
+     * loop of trying to match A*, we know we can't exit where the thing
+     * following it isn't a B.  And something can't be a B unless it is the
+     * beginning of B.  By putting a quick test for that beginning in a tight
+     * loop, we can rule out things that can't possibly be B without having to
+     * break out of the loop, thus avoiding work.  Similarly, if A is a single
+     * character, we can make a tight loop matching A*, using the outputs of
+     * this function.
+     *
+     * If the target string to match isn't in UTF-8, and there aren't
+     * complications which require CHRTEST_VOID, *<c1p> and *<c2p> are set to
+     * the one or two possible octets (which are characters in this situation)
+     * that can match.  In all cases, if there is only one character that can
+     * match, *<c1p> and *<c2p> will be identical.
+     *
+     * If the target string is in UTF-8, the buffers pointed to by <c1_utf8>
+     * and <c2_utf8> will contain the one or two UTF-8 sequences of bytes that
+     * can match the beginning of <text_node>.  They should be declared with at
+     * least length UTF8_MAXBYTES+1.  (If the target string isn't in UTF-8, it is
+     * undefined what these contain.)  If one or both of the buffers are
+     * invariant under UTF-8, *<c1p>, and *<c2p> will also be set to the
+     * corresponding invariant.  If variant, the corresponding *<c1p> and/or
+     * *<c2p> will be set to a negative number(s) that shouldn't match any code
+     * point (unless inappropriately coerced to unsigned).   *<c1p> will equal
+     * *<c2p> if and only if <c1_utf8> and <c2_utf8> are the same. */
 
+    const bool utf8_target = PL_reg_match_utf8;
 
-#define SETREX(Re1,Re2) \
-    if (PL_reg_eval_set) PM_SETRE((PL_reg_curpm), (Re2)); \
-    Re1 = (Re2)
+    UV c1 = CHRTEST_NOT_A_CP_1;
+    UV c2 = CHRTEST_NOT_A_CP_2;
+    bool use_chrtest_void = FALSE;
 
-STATIC I32			/* 0 failure, 1 success */
-S_regmatch(pTHX_ regmatch_info *reginfo, regnode *prog)
+    /* Used when we have both utf8 input and utf8 output, to avoid converting
+     * to/from code points */
+    bool utf8_has_been_setup = FALSE;
+
+    dVAR;
+
+    U8 *pat = (U8*)STRING(text_node);
+
+    if (OP(text_node) == EXACT) {
+
+        /* In an exact node, only one thing can be matched, that first
+         * character.  If both the pat and the target are UTF-8, we can just
+         * copy the input to the output, avoiding finding the code point of
+         * that character */
+        if (!is_utf8_pat) {
+            c2 = c1 = *pat;
+        }
+        else if (utf8_target) {
+            Copy(pat, c1_utf8, UTF8SKIP(pat), U8);
+            Copy(pat, c2_utf8, UTF8SKIP(pat), U8);
+            utf8_has_been_setup = TRUE;
+        }
+        else {
+            c2 = c1 = valid_utf8_to_uvchr(pat, NULL);
+        }
+    }
+    else /* an EXACTFish node */
+         if ((is_utf8_pat
+                    && is_MULTI_CHAR_FOLD_utf8_safe(pat,
+                                                    pat + STR_LEN(text_node)))
+             || (!is_utf8_pat
+                    && is_MULTI_CHAR_FOLD_latin1_safe(pat,
+                                                    pat + STR_LEN(text_node))))
+    {
+        /* Multi-character folds require more context to sort out.  Also
+         * PL_utf8_foldclosures used below doesn't handle them, so have to be
+         * handled outside this routine */
+        use_chrtest_void = TRUE;
+    }
+    else { /* an EXACTFish node which doesn't begin with a multi-char fold */
+        c1 = is_utf8_pat ? valid_utf8_to_uvchr(pat, NULL) : *pat;
+        if (c1 > 256) {
+            /* Load the folds hash, if not already done */
+            SV** listp;
+            if (! PL_utf8_foldclosures) {
+                if (! PL_utf8_tofold) {
+                    U8 dummy[UTF8_MAXBYTES+1];
+
+                    /* Force loading this by folding an above-Latin1 char */
+                    to_utf8_fold((U8*) HYPHEN_UTF8, dummy, NULL);
+                    assert(PL_utf8_tofold); /* Verify that worked */
+                }
+                PL_utf8_foldclosures = _swash_inversion_hash(PL_utf8_tofold);
+            }
+
+            /* The fold closures data structure is a hash with the keys being
+             * the UTF-8 of every character that is folded to, like 'k', and
+             * the values each an array of all code points that fold to its
+             * key.  e.g. [ 'k', 'K', KELVIN_SIGN ].  Multi-character folds are
+             * not included */
+            if ((! (listp = hv_fetch(PL_utf8_foldclosures,
+                                     (char *) pat,
+                                     UTF8SKIP(pat),
+                                     FALSE))))
+            {
+                /* Not found in the hash, therefore there are no folds
+                 * containing it, so there is only a single character that
+                 * could match */
+                c2 = c1;
+            }
+            else {  /* Does participate in folds */
+                AV* list = (AV*) *listp;
+                if (av_len(list) != 1) {
+
+                    /* If there aren't exactly two folds to this, it is outside
+                     * the scope of this function */
+                    use_chrtest_void = TRUE;
+                }
+                else {  /* There are two.  Get them */
+                    SV** c_p = av_fetch(list, 0, FALSE);
+                    if (c_p == NULL) {
+                        Perl_croak(aTHX_ "panic: invalid PL_utf8_foldclosures structure");
+                    }
+                    c1 = SvUV(*c_p);
+
+                    c_p = av_fetch(list, 1, FALSE);
+                    if (c_p == NULL) {
+                        Perl_croak(aTHX_ "panic: invalid PL_utf8_foldclosures structure");
+                    }
+                    c2 = SvUV(*c_p);
+
+                    /* Folds that cross the 255/256 boundary are forbidden if
+                     * EXACTFL, or EXACTFA and one is ASCIII.  Since the
+                     * pattern character is above 256, and its only other match
+                     * is below 256, the only legal match will be to itself.
+                     * We have thrown away the original, so have to compute
+                     * which is the one above 255 */
+                    if ((c1 < 256) != (c2 < 256)) {
+                        if (OP(text_node) == EXACTFL
+                            || (OP(text_node) == EXACTFA
+                                && (isASCII(c1) || isASCII(c2))))
+                        {
+                            if (c1 < 256) {
+                                c1 = c2;
+                            }
+                            else {
+                                c2 = c1;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        else /* Here, c1 is < 255 */
+             if (utf8_target
+                 && HAS_NONLATIN1_FOLD_CLOSURE(c1)
+                 && OP(text_node) != EXACTFL
+                 && (OP(text_node) != EXACTFA || ! isASCII(c1)))
+        {
+            /* Here, there could be something above Latin1 in the target which
+             * folds to this character in the pattern.  All such cases except
+             * LATIN SMALL LETTER Y WITH DIAERESIS have more than two characters
+             * involved in their folds, so are outside the scope of this
+             * function */
+            if (UNLIKELY(c1 == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS)) {
+                c2 = LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS;
+            }
+            else {
+                use_chrtest_void = TRUE;
+            }
+        }
+        else { /* Here nothing above Latin1 can fold to the pattern character */
+            switch (OP(text_node)) {
+
+                case EXACTFL:   /* /l rules */
+                    c2 = PL_fold_locale[c1];
+                    break;
+
+                case EXACTF:
+                    if (! utf8_target) {    /* /d rules */
+                        c2 = PL_fold[c1];
+                        break;
+                    }
+                    /* FALLTHROUGH */
+                    /* /u rules for all these.  This happens to work for
+                     * EXACTFA as nothing in Latin1 folds to ASCII */
+                case EXACTFA:
+                case EXACTFU_TRICKYFOLD:
+                case EXACTFU_SS:
+                case EXACTFU:
+                    c2 = PL_fold_latin1[c1];
+                    break;
+
+		default:
+                    Perl_croak(aTHX_ "panic: Unexpected op %u", OP(text_node));
+                    assert(0); /* NOTREACHED */
+            }
+        }
+    }
+
+    /* Here have figured things out.  Set up the returns */
+    if (use_chrtest_void) {
+        *c2p = *c1p = CHRTEST_VOID;
+    }
+    else if (utf8_target) {
+        if (! utf8_has_been_setup) {    /* Don't have the utf8; must get it */
+            uvchr_to_utf8(c1_utf8, c1);
+            uvchr_to_utf8(c2_utf8, c2);
+        }
+
+        /* Invariants are stored in both the utf8 and byte outputs; Use
+         * negative numbers otherwise for the byte ones.  Make sure that the
+         * byte ones are the same iff the utf8 ones are the same */
+        *c1p = (UTF8_IS_INVARIANT(*c1_utf8)) ? *c1_utf8 : CHRTEST_NOT_A_CP_1;
+        *c2p = (UTF8_IS_INVARIANT(*c2_utf8))
+                ? *c2_utf8
+                : (c1 == c2)
+                  ? CHRTEST_NOT_A_CP_1
+                  : CHRTEST_NOT_A_CP_2;
+    }
+    else if (c1 > 255) {
+       if (c2 > 255) {  /* both possibilities are above what a non-utf8 string
+                           can represent */
+           return FALSE;
+       }
+
+       *c1p = *c2p = c2;    /* c2 is the only representable value */
+    }
+    else {  /* c1 is representable; see about c2 */
+       *c1p = c1;
+       *c2p = (c2 < 256) ? c2 : c1;
+    }
+
+    return TRUE;
+}
+
+/* returns -1 on failure, $+[0] on success */
+STATIC I32
+S_regmatch(pTHX_ regmatch_info *reginfo, char *startpos, regnode *prog)
 {
 #if PERL_VERSION < 9 && !defined(PERL_CORE)
     dMY_CXT;
 #endif
     dVAR;
-    register const bool utf8_target = PL_reg_match_utf8;
+    const bool utf8_target = PL_reg_match_utf8;
     const U32 uniflags = UTF8_ALLOW_DEFAULT;
     REGEXP *rex_sv = reginfo->prog;
-    regexp *rex = (struct regexp *)SvANY(rex_sv);
+    regexp *rex = ReANY(rex_sv);
     RXi_GET_DECL(rex,rexi);
     I32	oldsave;
     /* the current state. This is a cached copy of PL_regmatch_state */
-    register regmatch_state *st;
+    regmatch_state *st;
     /* cache heavy used fields of st in registers */
-    register regnode *scan;
-    register regnode *next;
-    register U32 n = 0;	/* general value; init to avoid compiler warning */
-    register I32 ln = 0; /* len or last;  init to avoid compiler warning */
-    register char *locinput = PL_reginput;
-    register I32 nextchr;   /* is always set to UCHARAT(locinput) */
+    regnode *scan;
+    regnode *next;
+    U32 n = 0;	/* general value; init to avoid compiler warning */
+    I32 ln = 0; /* len or last;  init to avoid compiler warning */
+    char *locinput = startpos;
+    char *pushinput; /* where to continue after a PUSH */
+    I32 nextchr;   /* is always set to UCHARAT(locinput) */
 
     bool result = 0;	    /* return value of S_regmatch */
     int depth = 0;	    /* depth of backtrack stack */
@@ -3027,7 +3529,7 @@
     U32 state_num;
     bool no_final = 0;      /* prevent failure from backtracking? */
     bool do_cutgroup = 0;   /* no_final only until next branch/trie entry */
-    char *startpoint = PL_reginput;
+    char *startpoint = locinput;
     SV *popmark = NULL;     /* are we looking for a mark? */
     SV *sv_commit = NULL;   /* last mark name seen in failure */
     SV *sv_yes_mark = NULL; /* last mark name we have seen 
@@ -3049,10 +3551,29 @@
 			        false: plain (?=foo)
 				true:  used as a condition: (?(?=foo))
 			    */
+    PAD* last_pad = NULL;
+    dMULTICALL;
+    I32 gimme = G_SCALAR;
+    CV *caller_cv = NULL;	/* who called us */
+    CV *last_pushed_cv = NULL;	/* most recently called (?{}) CV */
+    CHECKPOINT runops_cp;	/* savestack position before executing EVAL */
+    U32 maxopenparen = 0;       /* max '(' index seen so far */
+    int to_complement;  /* Invert the result? */
+    _char_class_number classnum;
+    bool is_utf8_pat = reginfo->is_utf8_pat;
+
 #ifdef DEBUGGING
     GET_RE_DEBUG_FLAGS_DECL;
 #endif
 
+    /* shut up 'may be used uninitialized' compiler warnings for dMULTICALL */
+    multicall_oldcatch = 0;
+    multicall_cv = NULL;
+    cx = NULL;
+    PERL_UNUSED_VAR(multicall_cop);
+    PERL_UNUSED_VAR(newsp);
+
+
     PERL_ARGS_ASSERT_REGMATCH;
 
     DEBUG_OPTIMISE_r( DEBUG_EXECUTE_r({
@@ -3077,7 +3598,7 @@
 	st = PL_regmatch_state = S_push_slab(aTHX);
 
     /* Note that nextchr is a byte even in UTF */
-    nextchr = UCHARAT(locinput);
+    SET_nextchr;
     scan = prog;
     while (scan != NULL) {
 
@@ -3101,13 +3622,13 @@
 	state_num = OP(scan);
 
       reenter_switch:
+        to_complement = 0;
 
-	assert(PL_reglastparen == &rex->lastparen);
-	assert(PL_reglastcloseparen == &rex->lastcloseparen);
-	assert(PL_regoffs == rex->offs);
+        SET_nextchr;
+        assert(nextchr < 256 && (nextchr >= 0 || nextchr == NEXTCHR_EOS));
 
 	switch (state_num) {
-	case BOL:
+	case BOL: /*  /^../  */
 	    if (locinput == PL_bostr)
 	    {
 		/* reginfo->till = reginfo->bol; */
@@ -3114,100 +3635,92 @@
 		break;
 	    }
 	    sayNO;
-	case MBOL:
+
+	case MBOL: /*  /^../m  */
 	    if (locinput == PL_bostr ||
-		((nextchr || locinput < PL_regeol) && locinput[-1] == '\n'))
+		(!NEXTCHR_IS_EOS && locinput[-1] == '\n'))
 	    {
 		break;
 	    }
 	    sayNO;
-	case SBOL:
+
+	case SBOL: /*  /^../s  */
 	    if (locinput == PL_bostr)
 		break;
 	    sayNO;
-	case GPOS:
+
+	case GPOS: /*  \G  */
 	    if (locinput == reginfo->ganch)
 		break;
 	    sayNO;
 
-	case KEEPS:
+	case KEEPS: /*   \K  */
 	    /* update the startpoint */
-	    st->u.keeper.val = PL_regoffs[0].start;
-	    PL_reginput = locinput;
-	    PL_regoffs[0].start = locinput - PL_bostr;
-	    PUSH_STATE_GOTO(KEEPS_next, next);
-	    /*NOT-REACHED*/
+	    st->u.keeper.val = rex->offs[0].start;
+	    rex->offs[0].start = locinput - PL_bostr;
+	    PUSH_STATE_GOTO(KEEPS_next, next, locinput);
+	    assert(0); /*NOTREACHED*/
 	case KEEPS_next_fail:
 	    /* rollback the start point change */
-	    PL_regoffs[0].start = st->u.keeper.val;
+	    rex->offs[0].start = st->u.keeper.val;
 	    sayNO_SILENT;
-	    /*NOT-REACHED*/
-	case EOL:
+	    assert(0); /*NOTREACHED*/
+
+	case EOL: /* /..$/  */
 		goto seol;
-	case MEOL:
-	    if ((nextchr || locinput < PL_regeol) && nextchr != '\n')
+
+	case MEOL: /* /..$/m  */
+	    if (!NEXTCHR_IS_EOS && nextchr != '\n')
 		sayNO;
 	    break;
-	case SEOL:
+
+	case SEOL: /* /..$/s  */
 	  seol:
-	    if ((nextchr || locinput < PL_regeol) && nextchr != '\n')
+	    if (!NEXTCHR_IS_EOS && nextchr != '\n')
 		sayNO;
 	    if (PL_regeol - locinput > 1)
 		sayNO;
 	    break;
-	case EOS:
-	    if (PL_regeol != locinput)
+
+	case EOS: /*  \z  */
+	    if (!NEXTCHR_IS_EOS)
 		sayNO;
 	    break;
-	case SANY:
-	    if (!nextchr && locinput >= PL_regeol)
+
+	case SANY: /*  /./s  */
+	    if (NEXTCHR_IS_EOS)
 		sayNO;
- 	    if (utf8_target) {
-	        locinput += PL_utf8skip[nextchr];
-		if (locinput > PL_regeol)
- 		    sayNO;
- 		nextchr = UCHARAT(locinput);
- 	    }
- 	    else
- 		nextchr = UCHARAT(++locinput);
-	    break;
-	case CANY:
-	    if (!nextchr && locinput >= PL_regeol)
+            goto increment_locinput;
+
+	case CANY: /*  \C  */
+	    if (NEXTCHR_IS_EOS)
 		sayNO;
-	    nextchr = UCHARAT(++locinput);
+	    locinput++;
 	    break;
-	case REG_ANY:
-	    if ((!nextchr && locinput >= PL_regeol) || nextchr == '\n')
+
+	case REG_ANY: /*  /./  */
+	    if ((NEXTCHR_IS_EOS) || nextchr == '\n')
 		sayNO;
-	    if (utf8_target) {
-		locinput += PL_utf8skip[nextchr];
-		if (locinput > PL_regeol)
-		    sayNO;
-		nextchr = UCHARAT(locinput);
-	    }
-	    else
-		nextchr = UCHARAT(++locinput);
-	    break;
+            goto increment_locinput;
 
+
 #undef  ST
 #define ST st->u.trie
-        case TRIEC:
+        case TRIEC: /* (ab|cd) with known charclass */
             /* In this case the charclass data is available inline so
                we can fail fast without a lot of extra overhead. 
              */
-            if (scan->flags == EXACT || !utf8_target) {
-                if(!ANYOF_BITMAP_TEST(scan, *locinput)) {
-                    DEBUG_EXECUTE_r(
-                        PerlIO_printf(Perl_debug_log,
-                    	          "%*s  %sfailed to match trie start class...%s\n",
-                    	          REPORT_CODE_OFF+depth*2, "", PL_colors[4], PL_colors[5])
-                    );
-                    sayNO_SILENT;
-                    /* NOTREACHED */
-                }        	        
+            if(!NEXTCHR_IS_EOS && !ANYOF_BITMAP_TEST(scan, nextchr)) {
+                DEBUG_EXECUTE_r(
+                    PerlIO_printf(Perl_debug_log,
+                              "%*s  %sfailed to match trie start class...%s\n",
+                              REPORT_CODE_OFF+depth*2, "", PL_colors[4], PL_colors[5])
+                );
+                sayNO_SILENT;
+                assert(0); /* NOTREACHED */
             }
             /* FALL THROUGH */
-	case TRIE:
+	case TRIE:  /* (ab|cd)  */
 	    /* the basic plan of execution of the trie is:
 	     * At the beginning, run though all the states, and
 	     * find the longest-matching word. Also remember the position
@@ -3216,7 +3729,7 @@
 	     *    ab|a|x|abcd|abc
 	     * when matched against the string "abcde", will generate
 	     * accept states for all words except 3, with the longest
-	     * matching word being 4, and the shortest being 1 (with
+	     * matching word being 4, and the shortest being 2 (with
 	     * the position being after char 1 of the string).
 	     *
 	     * Then for each matching word, in word order (i.e. 1,2,4,5),
@@ -3262,9 +3775,9 @@
 		HV * widecharmap = MUTABLE_HV(rexi->data->data[ ARG( scan ) + 1 ]);
                 U32 state = trie->startstate;
 
-        	if (trie->bitmap && trie_type != trie_utf8_fold &&
-        	    !TRIE_BITMAP_TEST(trie,*locinput)
-        	) {
+                if (   trie->bitmap
+                    && (NEXTCHR_IS_EOS || !TRIE_BITMAP_TEST(trie, nextchr)))
+                {
         	    if (trie->states[ state ].wordnum) {
         	         DEBUG_EXECUTE_r(
                             PerlIO_printf(Perl_debug_log,
@@ -3293,7 +3806,6 @@
 		U32 charcount = 0; /* how many input chars we have matched */
 		U32 accepted = 0; /* have we seen any accepting states? */
 
-		ST.B = next;
 		ST.jump = trie->jump;
 		ST.me = scan;
 		ST.firstpos = NULL;
@@ -3338,7 +3850,7 @@
 		    });
 
 		    /* read a char and goto next state */
-		    if ( base ) {
+		    if ( base && (foldlen || uc < (U8*)PL_regeol)) {
 			I32 offset;
 			REXEC_TRIE_READ_CHAR(trie_type, trie, widecharmap, uc,
 					     uscan, len, uvc, charid, foldlen,
@@ -3392,14 +3904,14 @@
 		);
 		goto trie_first_try; /* jump into the fail handler */
 	    }}
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 	case TRIE_next_fail: /* we failed - try next alternative */
+        {
+            U8 *uc;
             if ( ST.jump) {
                 REGCP_UNWIND(ST.cp);
-	        for (n = *PL_reglastparen; n > ST.lastparen; n--)
-		    PL_regoffs[n].end = -1;
-	        *PL_reglastparen = n;
+                UNWIND_PAREN(ST.lastparen, ST.lastcloseparen);
 	    }
 	    if (!--ST.accepted) {
 	        DEBUG_EXECUTE_r({
@@ -3414,10 +3926,10 @@
 	    {
 		/* Find next-highest word to process.  Note that this code
 		 * is O(N^2) per trie run (O(N) per branch), so keep tight */
-		register U16 min = 0;
-		register U16 word;
-		register U16 const nextword = ST.nextword;
-		register reg_trie_wordinfo * const wordinfo
+		U16 min = 0;
+		U16 word;
+		U16 const nextword = ST.nextword;
+		reg_trie_wordinfo * const wordinfo
 		    = ((reg_trie_data*)rexi->data->data[ARG(ST.me)])->wordinfo;
 		for (word=ST.topword; word; word=wordinfo[word].prev) {
 		    if (word > nextword && (!min || word < min))
@@ -3433,7 +3945,8 @@
             }
 
             if ( ST.jump) {
-                ST.lastparen = *PL_reglastparen;
+                ST.lastparen = rex->lastparen;
+                ST.lastcloseparen = rex->lastcloseparen;
 	        REGCP_SET(ST.cp);
             }
 
@@ -3440,7 +3953,6 @@
 	    /* find start char of end of current word */
 	    {
 		U32 chars; /* how many chars to skip */
-		U8 *uc = ST.firstpos;
 		reg_trie_data * const trie
 		    = (reg_trie_data*)rexi->data->data[ARG(ST.me)];
 
@@ -3448,6 +3960,7 @@
 			    >=  ST.firstchars);
 		chars = (trie->wordinfo[ST.nextword].len - trie->prefixlen)
 			    - ST.firstchars;
+		uc = ST.firstpos;
 
 		if (ST.longfold) {
 		    /* the hard option - fold each char in turn and find
@@ -3487,12 +4000,11 @@
 		    else
 			uc += chars;
 		}
-		PL_reginput = (char *)uc;
 	    }
 
-	    scan = (ST.jump && ST.jump[ST.nextword]) 
-			? ST.me + ST.jump[ST.nextword]
-			: ST.B;
+	    scan = ST.me + ((ST.jump && ST.jump[ST.nextword])
+			    ? ST.jump[ST.nextword]
+			    : NEXT_OFF(ST.me));
 
 	    DEBUG_EXECUTE_r({
 		PerlIO_printf( Perl_debug_log,
@@ -3505,8 +4017,8 @@
 	    });
 
 	    if (ST.accepted > 1 || has_cutgroup) {
-		PUSH_STATE_GOTO(TRIE_next, scan);
-		/* NOTREACHED */
+		PUSH_STATE_GOTO(TRIE_next, scan, (char*)uc);
+		assert(0); /* NOTREACHED */
 	    }
 	    /* only one choice left - just continue */
 	    DEBUG_EXECUTE_r({
@@ -3528,89 +4040,114 @@
 		    PL_colors[5] );
 	    });
 
-	    locinput = PL_reginput;
-	    nextchr = UCHARAT(locinput);
+	    locinput = (char*)uc;
 	    continue; /* execute rest of RE */
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
+        }
 #undef  ST
 
-	case EXACT: {
+	case EXACT: {            /*  /abc/        */
 	    char *s = STRING(scan);
 	    ln = STR_LEN(scan);
-	    if (utf8_target != UTF_PATTERN) {
+	    if (utf8_target != is_utf8_pat) {
 		/* The target and the pattern have differing utf8ness. */
 		char *l = locinput;
 		const char * const e = s + ln;
 
 		if (utf8_target) {
-		    /* The target is utf8, the pattern is not utf8. */
+                    /* The target is utf8, the pattern is not utf8.
+                     * Above-Latin1 code points can't match the pattern;
+                     * invariants match exactly, and the other Latin1 ones need
+                     * to be downgraded to a single byte in order to do the
+                     * comparison.  (If we could be confident that the target
+                     * is not malformed, this could be refactored to have fewer
+                     * tests by just assuming that if the first bytes match, it
+                     * is an invariant, but there are tests in the test suite
+                     * dealing with (??{...}) which violate this) */
 		    while (s < e) {
-			STRLEN ulen;
-			if (l >= PL_regeol)
-			     sayNO;
-			if (NATIVE_TO_UNI(*(U8*)s) !=
-			    utf8n_to_uvuni((U8*)l, UTF8_MAXBYTES, &ulen,
-					    uniflags))
-			     sayNO;
-			l += ulen;
-			s ++;
+			if (l >= PL_regeol || UTF8_IS_ABOVE_LATIN1(* (U8*) l)) {
+                            sayNO;
+                        }
+                        if (UTF8_IS_INVARIANT(*(U8*)l)) {
+			    if (*l != *s) {
+                                sayNO;
+                            }
+                            l++;
+                        }
+                        else {
+                            if (TWO_BYTE_UTF8_TO_UNI(*l, *(l+1)) != * (U8*) s) {
+                                sayNO;
+                            }
+                            l += 2;
+                        }
+			s++;
 		    }
 		}
 		else {
 		    /* The target is not utf8, the pattern is utf8. */
 		    while (s < e) {
-			STRLEN ulen;
-			if (l >= PL_regeol)
-			    sayNO;
-			if (NATIVE_TO_UNI(*((U8*)l)) !=
-			    utf8n_to_uvuni((U8*)s, UTF8_MAXBYTES, &ulen,
-					   uniflags))
-			    sayNO;
-			s += ulen;
-			l ++;
+                        if (l >= PL_regeol || UTF8_IS_ABOVE_LATIN1(* (U8*) s))
+                        {
+                            sayNO;
+                        }
+                        if (UTF8_IS_INVARIANT(*(U8*)s)) {
+			    if (*s != *l) {
+                                sayNO;
+                            }
+                            s++;
+                        }
+                        else {
+                            if (TWO_BYTE_UTF8_TO_UNI(*s, *(s+1)) != * (U8*) l) {
+                                sayNO;
+                            }
+                            s += 2;
+                        }
+			l++;
 		    }
 		}
 		locinput = l;
-		nextchr = UCHARAT(locinput);
-		break;
 	    }
-	    /* The target and the pattern have the same utf8ness. */
-	    /* Inline the first character, for speed. */
-	    if (UCHARAT(s) != nextchr)
-		sayNO;
-	    if (PL_regeol - locinput < ln)
-		sayNO;
-	    if (ln > 1 && memNE(s, locinput, ln))
-		sayNO;
-	    locinput += ln;
-	    nextchr = UCHARAT(locinput);
+            else {
+                /* The target and the pattern have the same utf8ness. */
+                /* Inline the first character, for speed. */
+                if (PL_regeol - locinput < ln
+                    || UCHARAT(s) != nextchr
+                    || (ln > 1 && memNE(s, locinput, ln)))
+                {
+                    sayNO;
+                }
+                locinput += ln;
+            }
 	    break;
 	    }
-	case EXACTFL: {
+
+	case EXACTFL: {          /*  /abc/il      */
 	    re_fold_t folder;
 	    const U8 * fold_array;
 	    const char * s;
 	    U32 fold_utf8_flags;
 
-	    PL_reg_flags |= RF_tainted;
-	    folder = foldEQ_locale;
-	    fold_array = PL_fold_locale;
+            RX_MATCH_TAINTED_on(reginfo->prog);
+            folder = foldEQ_locale;
+            fold_array = PL_fold_locale;
 	    fold_utf8_flags = FOLDEQ_UTF8_LOCALE;
 	    goto do_exactf;
 
-	case EXACTFU:
+	case EXACTFU_SS:         /*  /\x{df}/iu   */
+	case EXACTFU_TRICKYFOLD: /*  /\x{390}/iu  */
+	case EXACTFU:            /*  /abc/iu      */
 	    folder = foldEQ_latin1;
 	    fold_array = PL_fold_latin1;
-	    fold_utf8_flags = 0;
+	    fold_utf8_flags = is_utf8_pat ? FOLDEQ_S1_ALREADY_FOLDED : 0;
 	    goto do_exactf;
 
-	case EXACTFA:
+	case EXACTFA:            /*  /abc/iaa     */
 	    folder = foldEQ_latin1;
 	    fold_array = PL_fold_latin1;
 	    fold_utf8_flags = FOLDEQ_UTF8_NOMIX_ASCII;
 	    goto do_exactf;
 
-	case EXACTF:
+	case EXACTF:             /*  /abc/i       */
 	    folder = foldEQ;
 	    fold_array = PL_fold;
 	    fold_utf8_flags = 0;
@@ -3619,24 +4156,25 @@
 	    s = STRING(scan);
 	    ln = STR_LEN(scan);
 
-	    if (utf8_target || UTF_PATTERN) {
-	      /* Either target or the pattern are utf8. */
+	    if (utf8_target || is_utf8_pat || state_num == EXACTFU_SS) {
+	      /* Either target or the pattern are utf8, or has the issue where
+	       * the fold lengths may differ. */
 		const char * const l = locinput;
 		char *e = PL_regeol;
 
-		if (! foldEQ_utf8_flags(s, 0,  ln, cBOOL(UTF_PATTERN),
-			       l, &e, 0,  utf8_target, fold_utf8_flags))
+		if (! foldEQ_utf8_flags(s, 0,  ln, is_utf8_pat,
+			                l, &e, 0,  utf8_target, fold_utf8_flags))
 		{
 		    sayNO;
 		}
 		locinput = e;
-		nextchr = UCHARAT(locinput);
 		break;
 	    }
 
 	    /* Neither the target nor the pattern are utf8 */
-	    if (UCHARAT(s) != nextchr &&
-		UCHARAT(s) != fold_array[nextchr])
+	    if (UCHARAT(s) != nextchr
+                && !NEXTCHR_IS_EOS
+		&& UCHARAT(s) != fold_array[nextchr])
 	    {
 		sayNO;
 	    }
@@ -3645,7 +4183,6 @@
 	    if (ln > 1 && ! folder(s, locinput, ln))
 		sayNO;
 	    locinput += ln;
-	    nextchr = UCHARAT(locinput);
 	    break;
 	}
 
@@ -3652,16 +4189,16 @@
 	/* XXX Could improve efficiency by separating these all out using a
 	 * macro or in-line function.  At that point regcomp.c would no longer
 	 * have to set the FLAGS fields of these */
-	case BOUNDL:
-	case NBOUNDL:
-	    PL_reg_flags |= RF_tainted;
+	case BOUNDL:  /*  /\b/l  */
+	case NBOUNDL: /*  /\B/l  */
+            RX_MATCH_TAINTED_on(reginfo->prog);
 	    /* FALL THROUGH */
-	case BOUND:
-	case BOUNDU:
-	case BOUNDA:
-	case NBOUND:
-	case NBOUNDU:
-	case NBOUNDA:
+	case BOUND:   /*  /\b/   */
+	case BOUNDU:  /*  /\b/u  */
+	case BOUNDA:  /*  /\b/a  */
+	case NBOUND:  /*  /\B/   */
+	case NBOUNDU: /*  /\B/u  */
+	case NBOUNDA: /*  /\B/a  */
 	    /* was last char in word? */
 	    if (utf8_target
 		&& FLAGS(scan) != REGEX_ASCII_RESTRICTED_CHARSET
@@ -3675,13 +4212,18 @@
 		    ln = utf8n_to_uvchr(r, UTF8SKIP(r), 0, uniflags);
 		}
 		if (FLAGS(scan) != REGEX_LOCALE_CHARSET) {
-		    ln = isALNUM_uni(ln);
-		    LOAD_UTF8_CHARCLASS_ALNUM();
-		    n = swash_fetch(PL_utf8_alnum, (U8*)locinput, utf8_target);
+		    ln = isWORDCHAR_uni(ln);
+                    if (NEXTCHR_IS_EOS)
+                        n = 0;
+                    else {
+                        LOAD_UTF8_CHARCLASS_ALNUM();
+                        n = swash_fetch(PL_utf8_swash_ptrs[_CC_WORDCHAR], (U8*)locinput,
+                                                                utf8_target);
+                    }
 		}
 		else {
-		    ln = isALNUM_LC_uvchr(UNI_TO_NATIVE(ln));
-		    n = isALNUM_LC_utf8((U8*)locinput);
+		    ln = isWORDCHAR_LC_uvchr(UNI_TO_NATIVE(ln));
+		    n = NEXTCHR_IS_EOS ? 0 : isWORDCHAR_LC_utf8((U8*)locinput);
 		}
 	    }
 	    else {
@@ -3702,20 +4244,20 @@
 		switch (FLAGS(scan)) {
 		    case REGEX_UNICODE_CHARSET:
 			ln = isWORDCHAR_L1(ln);
-			n = isWORDCHAR_L1(nextchr);
+			n = NEXTCHR_IS_EOS ? 0 : isWORDCHAR_L1(nextchr);
 			break;
 		    case REGEX_LOCALE_CHARSET:
-			ln = isALNUM_LC(ln);
-			n = isALNUM_LC(nextchr);
+			ln = isWORDCHAR_LC(ln);
+			n = NEXTCHR_IS_EOS ? 0 : isWORDCHAR_LC(nextchr);
 			break;
 		    case REGEX_DEPENDS_CHARSET:
-			ln = isALNUM(ln);
-			n = isALNUM(nextchr);
+			ln = isWORDCHAR(ln);
+			n = NEXTCHR_IS_EOS ? 0 : isWORDCHAR(nextchr);
 			break;
 		    case REGEX_ASCII_RESTRICTED_CHARSET:
 		    case REGEX_ASCII_MORE_RESTRICTED_CHARSET:
 			ln = isWORDCHAR_A(ln);
-			n = isWORDCHAR_A(nextchr);
+			n = NEXTCHR_IS_EOS ? 0 : isWORDCHAR_A(nextchr);
 			break;
 		    default:
 			Perl_croak(aTHX_ "panic: Unexpected FLAGS %u in op %u", FLAGS(scan), OP(scan));
@@ -3727,106 +4269,237 @@
 	    if (((!ln) == (!n)) == (OP(scan) < NBOUND))
 		    sayNO;
 	    break;
-	case ANYOFV:
-	case ANYOF:
-	    if (utf8_target || state_num == ANYOFV) {
-	        STRLEN inclasslen = PL_regeol - locinput;
-		if (locinput >= PL_regeol)
-		    sayNO;
 
-	        if (!reginclass(rex, scan, (U8*)locinput, &inclasslen, utf8_target))
+	case ANYOF:  /*  /[abc]/       */
+	case ANYOF_WARN_SUPER:
+            if (NEXTCHR_IS_EOS)
+                sayNO;
+	    if (utf8_target) {
+	        if (!reginclass(rex, scan, (U8*)locinput, utf8_target))
 		    sayNO;
-		locinput += inclasslen;
-		nextchr = UCHARAT(locinput);
-		break;
+		locinput += UTF8SKIP(locinput);
 	    }
 	    else {
-		if (nextchr < 0)
-		    nextchr = UCHARAT(locinput);
-		if (!nextchr && locinput >= PL_regeol)
-		    sayNO;
 		if (!REGINCLASS(rex, scan, (U8*)locinput))
 		    sayNO;
-		nextchr = UCHARAT(++locinput);
-		break;
+		locinput++;
 	    }
 	    break;
-	/* Special char classes - The defines start on line 129 or so */
-        CCC_TRY_U(ALNUM,  NALNUM,  isWORDCHAR,
-		  ALNUML, NALNUML, isALNUM_LC, isALNUM_LC_utf8,
-		  ALNUMU, NALNUMU, isWORDCHAR_L1,
-		  ALNUMA, NALNUMA, isWORDCHAR_A,
-		  alnum, "a");
 
-        CCC_TRY_U(SPACE,  NSPACE,  isSPACE,
-		  SPACEL, NSPACEL, isSPACE_LC, isSPACE_LC_utf8,
-		  SPACEU, NSPACEU, isSPACE_L1,
-		  SPACEA, NSPACEA, isSPACE_A,
-		  space, " ");
+        /* The argument (FLAGS) to all the POSIX node types is the class number
+         * */
 
-        CCC_TRY(DIGIT,  NDIGIT,  isDIGIT,
-		DIGITL, NDIGITL, isDIGIT_LC, isDIGIT_LC_utf8,
-		DIGITA, NDIGITA, isDIGIT_A,
-		digit, "0");
+        case NPOSIXL:   /* \W or [:^punct:] etc. under /l */
+            to_complement = 1;
+            /* FALLTHROUGH */
 
+        case POSIXL:    /* \w or [:punct:] etc. under /l */
+            if (NEXTCHR_IS_EOS)
+                sayNO;
+
+            /* The locale hasn't influenced the outcome before this, so defer
+             * tainting until now */
+            RX_MATCH_TAINTED_on(reginfo->prog);
+
+            /* Use isFOO_lc() for characters within Latin1.  (Note that
+             * UTF8_IS_INVARIANT works even on non-UTF-8 strings, or else
+             * wouldn't be invariant) */
+            if (UTF8_IS_INVARIANT(nextchr) || ! utf8_target) {
+                if (! (to_complement ^ cBOOL(isFOO_lc(FLAGS(scan), (U8) nextchr)))) {
+                    sayNO;
+                }
+            }
+            else if (UTF8_IS_DOWNGRADEABLE_START(nextchr)) {
+                if (! (to_complement ^ cBOOL(isFOO_lc(FLAGS(scan),
+                                        (U8) TWO_BYTE_UTF8_TO_UNI(nextchr,
+                                                            *(locinput + 1))))))
+                {
+                    sayNO;
+                }
+            }
+            else { /* Here, must be an above Latin-1 code point */
+                goto utf8_posix_not_eos;
+            }
+
+            /* Here, must be utf8 */
+            locinput += UTF8SKIP(locinput);
+            break;
+
+        case NPOSIXD:   /* \W or [:^punct:] etc. under /d */
+            to_complement = 1;
+            /* FALLTHROUGH */
+
+        case POSIXD:    /* \w or [:punct:] etc. under /d */
+            if (utf8_target) {
+                goto utf8_posix;
+            }
+            goto posixa;
+
+        case NPOSIXA:   /* \W or [:^punct:] etc. under /a */
+
+            if (NEXTCHR_IS_EOS) {
+                sayNO;
+            }
+
+            /* All UTF-8 variants match */
+            if (! UTF8_IS_INVARIANT(nextchr)) {
+                goto increment_locinput;
+            }
+
+            to_complement = 1;
+            /* FALLTHROUGH */
+
+        case POSIXA:    /* \w or [:punct:] etc. under /a */
+
+          posixa:
+            /* We get here through POSIXD, NPOSIXD, and NPOSIXA when not in
+             * UTF-8, and also from NPOSIXA even in UTF-8 when the current
+             * character is a single byte */
+
+            if (NEXTCHR_IS_EOS
+                || ! (to_complement ^ cBOOL(_generic_isCC_A(nextchr,
+                                                            FLAGS(scan)))))
+            {
+                sayNO;
+            }
+
+            /* Here we are either not in utf8, or we matched a utf8-invariant,
+             * so the next char is the next byte */
+            locinput++;
+            break;
+
+        case NPOSIXU:   /* \W or [:^punct:] etc. under /u */
+            to_complement = 1;
+            /* FALLTHROUGH */
+
+        case POSIXU:    /* \w or [:punct:] etc. under /u */
+          utf8_posix:
+            if (NEXTCHR_IS_EOS) {
+                sayNO;
+            }
+          utf8_posix_not_eos:
+
+            /* Use _generic_isCC() for characters within Latin1.  (Note that
+             * UTF8_IS_INVARIANT works even on non-UTF-8 strings, or else
+             * wouldn't be invariant) */
+            if (UTF8_IS_INVARIANT(nextchr) || ! utf8_target) {
+                if (! (to_complement ^ cBOOL(_generic_isCC(nextchr,
+                                                           FLAGS(scan)))))
+                {
+                    sayNO;
+                }
+                locinput++;
+            }
+            else if (UTF8_IS_DOWNGRADEABLE_START(nextchr)) {
+                if (! (to_complement
+                       ^ cBOOL(_generic_isCC(TWO_BYTE_UTF8_TO_UNI(nextchr,
+                                                               *(locinput + 1)),
+                                              FLAGS(scan)))))
+                {
+                    sayNO;
+                }
+                locinput += 2;
+            }
+            else {  /* Handle above Latin-1 code points */
+                classnum = (_char_class_number) FLAGS(scan);
+                if (classnum < _FIRST_NON_SWASH_CC) {
+
+                    /* Here, uses a swash to find such code points.  Load if if
+                     * not done already */
+                    if (! PL_utf8_swash_ptrs[classnum]) {
+                        U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
+                        PL_utf8_swash_ptrs[classnum]
+                                = _core_swash_init("utf8",
+                                        swash_property_names[classnum],
+                                        &PL_sv_undef, 1, 0, NULL, &flags);
+                    }
+                    if (! (to_complement
+                           ^ cBOOL(swash_fetch(PL_utf8_swash_ptrs[classnum],
+                                               (U8 *) locinput, TRUE))))
+                    {
+                        sayNO;
+                    }
+                }
+                else {  /* Here, uses macros to find above Latin-1 code points */
+                    switch (classnum) {
+                        case _CC_ENUM_SPACE:    /* XXX would require separate
+                                                   code if we revert the change
+                                                   of \v matching this */
+                        case _CC_ENUM_PSXSPC:
+                            if (! (to_complement
+                                        ^ cBOOL(is_XPERLSPACE_high(locinput))))
+                            {
+                                sayNO;
+                            }
+                            break;
+                        case _CC_ENUM_BLANK:
+                            if (! (to_complement
+                                            ^ cBOOL(is_HORIZWS_high(locinput))))
+                            {
+                                sayNO;
+                            }
+                            break;
+                        case _CC_ENUM_XDIGIT:
+                            if (! (to_complement
+                                            ^ cBOOL(is_XDIGIT_high(locinput))))
+                            {
+                                sayNO;
+                            }
+                            break;
+                        case _CC_ENUM_VERTSPACE:
+                            if (! (to_complement
+                                            ^ cBOOL(is_VERTWS_high(locinput))))
+                            {
+                                sayNO;
+                            }
+                            break;
+                        default:    /* The rest, e.g. [:cntrl:], can't match
+                                       above Latin1 */
+                            if (! to_complement) {
+                                sayNO;
+                            }
+                            break;
+                    }
+                }
+                locinput += UTF8SKIP(locinput);
+            }
+            break;
+
 	case CLUMP: /* Match \X: logical Unicode character.  This is defined as
 		       a Unicode extended Grapheme Cluster */
 	    /* From http://www.unicode.org/reports/tr29 (5.2 version).  An
 	      extended Grapheme Cluster is:
 
-	       CR LF
-	       | Prepend* Begin Extend*
-	       | .
+            CR LF
+            | Prepend* Begin Extend*
+            | .
 
-	       Begin is (Hangul-syllable | ! Control)
-	       Extend is (Grapheme_Extend | Spacing_Mark)
-	       Control is [ GCB_Control CR LF ]
+            Begin is:           ( Special_Begin | ! Control )
+            Special_Begin is:   ( Regional-Indicator+ | Hangul-syllable )
+            Extend is:          ( Grapheme_Extend | Spacing_Mark )
+            Control is:         [ GCB_Control | CR | LF ]
+            Hangul-syllable is: ( T+ | ( L* ( L | ( LVT | ( V | LV ) V* ) T* ) ))
 
-	       The discussion below shows how the code for CLUMP is derived
-	       from this regex.  Note that most of these concepts are from
-	       property values of the Grapheme Cluster Boundary (GCB) property.
-	       No code point can have multiple property values for a given
-	       property.  Thus a code point in Prepend can't be in Control, but
-	       it must be in !Control.  This is why Control above includes
-	       GCB_Control plus CR plus LF.  The latter two are used in the GCB
-	       property separately, and so can't be in GCB_Control, even though
-	       they logically are controls.  Control is not the same as gc=cc,
-	       but includes format and other characters as well.
+               If we create a 'Regular_Begin' = Begin - Special_Begin, then
+               we can rewrite
 
-	       The Unicode definition of Hangul-syllable is:
-		   L+
-		   | (L* ( ( V | LV ) V* | LVT ) T*)
-		   | T+ 
-		  )
-	       Each of these is a value for the GCB property, and hence must be
-	       disjoint, so the order they are tested is immaterial, so the
-	       above can safely be changed to
-		   T+
-		   | L+
-		   | (L* ( LVT | ( V | LV ) V*) T*)
+                   Begin is ( Regular_Begin + Special Begin )
 
-	       The last two terms can be combined like this:
-		   L* ( L
-		        | (( LVT | ( V | LV ) V*) T*))
+               It turns out that 98.4% of all Unicode code points match
+               Regular_Begin.  Doing it this way eliminates a table match in
+               the previous implementation for almost all Unicode code points.
 
-	       And refactored into this:
-		   L* (L | LVT T* | V  V* T* | LV  V* T*)
-
-	       That means that if we have seen any L's at all we can quit
-	       there, but if the next character is a LVT, a V or and LV we
-	       should keep going.
-
 	       There is a subtlety with Prepend* which showed up in testing.
 	       Note that the Begin, and only the Begin is required in:
 	        | Prepend* Begin Extend*
-	       Also, Begin contains '! Control'.  A Prepend must be a '!
-	       Control', which means it must be a Begin.  What it comes down to
-	       is that if we match Prepend* and then find no suitable Begin
-	       afterwards, that if we backtrack the last Prepend, that one will
-	       be a suitable Begin.
+	       Also, Begin contains '! Control'.  A Prepend must be a
+	       '!  Control', which means it must also be a Begin.  What it
+	       comes down to is that if we match Prepend* and then find no
+	       suitable Begin afterwards, that if we backtrack the last
+	       Prepend, that one will be a suitable Begin.
 	    */
 
-	    if (locinput >= PL_regeol)
+	    if (NEXTCHR_IS_EOS)
 		sayNO;
 	    if  (! utf8_target) {
 
@@ -3833,34 +4506,41 @@
 		/* Match either CR LF  or '.', as all the other possibilities
 		 * require utf8 */
 		locinput++;	    /* Match the . or CR */
-		if (nextchr == '\r'
+		if (nextchr == '\r' /* And if it was CR, and the next is LF,
+				       match the LF */
 		    && locinput < PL_regeol
-		    && UCHARAT(locinput) == '\n') locinput++;
+		    && UCHARAT(locinput) == '\n')
+                {
+                    locinput++;
+                }
 	    }
 	    else {
 
 		/* Utf8: See if is ( CR LF ); already know that locinput <
 		 * PL_regeol, so locinput+1 is in bounds */
-		if (nextchr == '\r' && UCHARAT(locinput + 1) == '\n') {
+		if ( nextchr == '\r' && locinput+1 < PL_regeol
+                     && UCHARAT(locinput + 1) == '\n')
+                {
 		    locinput += 2;
 		}
 		else {
+                    STRLEN len;
+
 		    /* In case have to backtrack to beginning, then match '.' */
 		    char *starting = locinput;
 
 		    /* In case have to backtrack the last prepend */
-		    char *previous_prepend = 0;
+		    char *previous_prepend = NULL;
 
 		    LOAD_UTF8_CHARCLASS_GCB();
 
-		    /* Match (prepend)* */
-		    while (locinput < PL_regeol
-			   && swash_fetch(PL_utf8_X_prepend,
-					  (U8*)locinput, utf8_target))
-		    {
-			previous_prepend = locinput;
-			locinput += UTF8SKIP(locinput);
-		    }
+                    /* Match (prepend)*   */
+                    while (locinput < PL_regeol
+                           && (len = is_GCB_Prepend_utf8(locinput)))
+                    {
+                        previous_prepend = locinput;
+                        locinput += len;
+                    }
 
 		    /* As noted above, if we matched a prepend character, but
 		     * the next thing won't match, back off the last prepend we
@@ -3867,8 +4547,10 @@
 		     * matched, as it is guaranteed to match the begin */
 		    if (previous_prepend
 			&& (locinput >=  PL_regeol
-			    || ! swash_fetch(PL_utf8_X_begin,
-					     (U8*)locinput, utf8_target)))
+			    || (! swash_fetch(PL_utf8_X_regular_begin,
+					     (U8*)locinput, utf8_target)
+			         && ! is_GCB_SPECIAL_BEGIN_START_utf8(locinput)))
+                        )
 		    {
 			locinput = previous_prepend;
 		    }
@@ -3878,111 +4560,107 @@
 		     * moved locinput forward, we tested the result just above
 		     * and it either passed, or we backed off so that it will
 		     * now pass */
-		    if (! swash_fetch(PL_utf8_X_begin, (U8*)locinput, utf8_target)) {
+		    if (swash_fetch(PL_utf8_X_regular_begin,
+                                    (U8*)locinput, utf8_target)) {
+                        locinput += UTF8SKIP(locinput);
+                    }
+                    else if (! is_GCB_SPECIAL_BEGIN_START_utf8(locinput)) {
 
 			/* Here did not match the required 'Begin' in the
 			 * second term.  So just match the very first
 			 * character, the '.' of the final term of the regex */
 			locinput = starting + UTF8SKIP(starting);
+                        goto exit_utf8;
 		    } else {
 
-			/* Here is the beginning of a character that can have
-			 * an extender.  It is either a hangul syllable, or a
-			 * non-control */
-			if (swash_fetch(PL_utf8_X_non_hangul,
-					(U8*)locinput, utf8_target))
-			{
+                        /* Here is a special begin.  It can be composed of
+                         * several individual characters.  One possibility is
+                         * RI+ */
+                        if ((len = is_GCB_RI_utf8(locinput))) {
+                            locinput += len;
+                            while (locinput < PL_regeol
+                                   && (len = is_GCB_RI_utf8(locinput)))
+                            {
+                                locinput += len;
+                            }
+                        } else if ((len = is_GCB_T_utf8(locinput))) {
+                            /* Another possibility is T+ */
+                            locinput += len;
+                            while (locinput < PL_regeol
+                                && (len = is_GCB_T_utf8(locinput)))
+                            {
+                                locinput += len;
+                            }
+                        } else {
 
-			    /* Here not a Hangul syllable, must be a
-			     * ('!  * Control') */
-			    locinput += UTF8SKIP(locinput);
-			} else {
+                            /* Here, neither RI+ nor T+; must be some other
+                             * Hangul.  That means it is one of the others: L,
+                             * LV, LVT or V, and matches:
+                             * L* (L | LVT T* | V * V* T* | LV  V* T*) */
 
-			    /* Here is a Hangul syllable.  It can be composed
-			     * of several individual characters.  One
-			     * possibility is T+ */
-			    if (swash_fetch(PL_utf8_X_T,
-					    (U8*)locinput, utf8_target))
-			    {
-				while (locinput < PL_regeol
-					&& swash_fetch(PL_utf8_X_T,
-							(U8*)locinput, utf8_target))
-				{
-				    locinput += UTF8SKIP(locinput);
-				}
-			    } else {
+                            /* Match L*           */
+                            while (locinput < PL_regeol
+                                   && (len = is_GCB_L_utf8(locinput)))
+                            {
+                                locinput += len;
+                            }
 
-				/* Here, not T+, but is a Hangul.  That means
-				 * it is one of the others: L, LV, LVT or V,
-				 * and matches:
-				 * L* (L | LVT T* | V  V* T* | LV  V* T*) */
+                            /* Here, have exhausted L*.  If the next character
+                             * is not an LV, LVT nor V, it means we had to have
+                             * at least one L, so matches L+ in the original
+                             * equation, we have a complete hangul syllable.
+                             * Are done. */
 
-				/* Match L*           */
-				while (locinput < PL_regeol
-					&& swash_fetch(PL_utf8_X_L,
-							(U8*)locinput, utf8_target))
-				{
-				    locinput += UTF8SKIP(locinput);
-				}
+                            if (locinput < PL_regeol
+                                && is_GCB_LV_LVT_V_utf8(locinput))
+                            {
+                                /* Otherwise keep going.  Must be LV, LVT or V.
+                                 * See if LVT, by first ruling out V, then LV */
+                                if (! is_GCB_V_utf8(locinput)
+                                        /* All but every TCount one is LV */
+                                    && (valid_utf8_to_uvchr((U8 *) locinput,
+                                                                         NULL)
+                                                                        - SBASE)
+                                        % TCount != 0)
+                                {
+                                    locinput += UTF8SKIP(locinput);
+                                } else {
 
-				/* Here, have exhausted L*.  If the next
-				 * character is not an LV, LVT nor V, it means
-				 * we had to have at least one L, so matches L+
-				 * in the original equation, we have a complete
-				 * hangul syllable.  Are done. */
+                                    /* Must be  V or LV.  Take it, then match
+                                     * V*     */
+                                    locinput += UTF8SKIP(locinput);
+                                    while (locinput < PL_regeol
+                                           && (len = is_GCB_V_utf8(locinput)))
+                                    {
+                                        locinput += len;
+                                    }
+                                }
 
-				if (locinput < PL_regeol
-				    && swash_fetch(PL_utf8_X_LV_LVT_V,
-						    (U8*)locinput, utf8_target))
-				{
+                                /* And any of LV, LVT, or V can be followed
+                                 * by T*            */
+                                while (locinput < PL_regeol
+                                       && (len = is_GCB_T_utf8(locinput)))
+                                {
+                                    locinput += len;
+                                }
+                            }
+                        }
+                    }
 
-				    /* Otherwise keep going.  Must be LV, LVT
-				     * or V.  See if LVT */
-				    if (swash_fetch(PL_utf8_X_LVT,
-						    (U8*)locinput, utf8_target))
-				    {
-					locinput += UTF8SKIP(locinput);
-				    } else {
-
-					/* Must be  V or LV.  Take it, then
-					 * match V*     */
-					locinput += UTF8SKIP(locinput);
-					while (locinput < PL_regeol
-						&& swash_fetch(PL_utf8_X_V,
-							 (U8*)locinput, utf8_target))
-					{
-					    locinput += UTF8SKIP(locinput);
-					}
-				    }
-
-				    /* And any of LV, LVT, or V can be followed
-				     * by T*            */
-				    while (locinput < PL_regeol
-					   && swash_fetch(PL_utf8_X_T,
-							   (U8*)locinput,
-							   utf8_target))
-				    {
-					locinput += UTF8SKIP(locinput);
-				    }
-				}
-			    }
-			}
-
-			/* Match any extender */
-			while (locinput < PL_regeol
-				&& swash_fetch(PL_utf8_X_extend,
-						(U8*)locinput, utf8_target))
-			{
-			    locinput += UTF8SKIP(locinput);
-			}
-		    }
+                    /* Match any extender */
+                    while (locinput < PL_regeol
+                            && swash_fetch(PL_utf8_X_extend,
+                                            (U8*)locinput, utf8_target))
+                    {
+                        locinput += UTF8SKIP(locinput);
+                    }
 		}
+            exit_utf8:
 		if (locinput > PL_regeol) sayNO;
 	    }
-	    nextchr = UCHARAT(locinput);
 	    break;
             
-	case NREFFL:
+	case NREFFL:  /*  /\g{name}/il  */
 	{   /* The capture buffer cases.  The ones beginning with N for the
 	       named buffers just convert to the equivalent numbered and
 	       pretend they were called as the corresponding numbered buffer
@@ -3995,7 +4673,7 @@
 	    const U8 *fold_array;
 	    UV utf8_fold_flags;
 
-	    PL_reg_flags |= RF_tainted;
+            RX_MATCH_TAINTED_on(reginfo->prog);
 	    folder = foldEQ_locale;
 	    fold_array = PL_fold_locale;
 	    type = REFFL;
@@ -4002,7 +4680,7 @@
 	    utf8_fold_flags = FOLDEQ_UTF8_LOCALE;
 	    goto do_nref;
 
-	case NREFFA:
+	case NREFFA:  /*  /\g{name}/iaa  */
 	    folder = foldEQ_latin1;
 	    fold_array = PL_fold_latin1;
 	    type = REFFA;
@@ -4009,7 +4687,7 @@
 	    utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII;
 	    goto do_nref;
 
-	case NREFFU:
+	case NREFFU:  /*  /\g{name}/iu  */
 	    folder = foldEQ_latin1;
 	    fold_array = PL_fold_latin1;
 	    type = REFFU;
@@ -4016,7 +4694,7 @@
 	    utf8_fold_flags = 0;
 	    goto do_nref;
 
-	case NREFF:
+	case NREFF:  /*  /\g{name}/i  */
 	    folder = foldEQ;
 	    fold_array = PL_fold;
 	    type = REFF;
@@ -4023,7 +4701,7 @@
 	    utf8_fold_flags = 0;
 	    goto do_nref;
 
-	case NREF:
+	case NREF:  /*  /\g{name}/   */
 	    type = REF;
 	    folder = NULL;
 	    fold_array = NULL;
@@ -4039,32 +4717,32 @@
 	    }
 	    goto do_nref_ref_common;
 
-	case REFFL:
-	    PL_reg_flags |= RF_tainted;
+	case REFFL:  /*  /\1/il  */
+            RX_MATCH_TAINTED_on(reginfo->prog);
 	    folder = foldEQ_locale;
 	    fold_array = PL_fold_locale;
 	    utf8_fold_flags = FOLDEQ_UTF8_LOCALE;
 	    goto do_ref;
 
-	case REFFA:
+	case REFFA:  /*  /\1/iaa  */
 	    folder = foldEQ_latin1;
 	    fold_array = PL_fold_latin1;
 	    utf8_fold_flags = FOLDEQ_UTF8_NOMIX_ASCII;
 	    goto do_ref;
 
-	case REFFU:
+	case REFFU:  /*  /\1/iu  */
 	    folder = foldEQ_latin1;
 	    fold_array = PL_fold_latin1;
 	    utf8_fold_flags = 0;
 	    goto do_ref;
 
-	case REFF:
+	case REFF:  /*  /\1/i  */
 	    folder = foldEQ;
 	    fold_array = PL_fold;
 	    utf8_fold_flags = 0;
 	    goto do_ref;
 
-        case REF:
+        case REF:  /*  /\1/    */
 	    folder = NULL;
 	    fold_array = NULL;
 	    utf8_fold_flags = 0;
@@ -4074,11 +4752,11 @@
 	    n = ARG(scan);  /* which paren pair */
 
 	  do_nref_ref_common:
-	    ln = PL_regoffs[n].start;
+	    ln = rex->offs[n].start;
 	    PL_reg_leftiter = PL_reg_maxiter;		/* Void cache */
-	    if (*PL_reglastparen < n || ln == -1)
+	    if (rex->lastparen < n || ln == -1)
 		sayNO;			/* Do not match unless seen CLOSEn. */
-	    if (ln == PL_regoffs[n].end)
+	    if (ln == rex->offs[n].end)
 		break;
 
 	    s = PL_bostr + ln;
@@ -4090,24 +4768,24 @@
 		/* This call case insensitively compares the entire buffer
 		    * at s, with the current input starting at locinput, but
 		    * not going off the end given by PL_regeol, and returns in
-		    * limit upon success, how much of the current input was
+		    * <limit> upon success, how much of the current input was
 		    * matched */
-		if (! foldEQ_utf8_flags(s, NULL, PL_regoffs[n].end - ln, utf8_target,
+		if (! foldEQ_utf8_flags(s, NULL, rex->offs[n].end - ln, utf8_target,
 				    locinput, &limit, 0, utf8_target, utf8_fold_flags))
 		{
 		    sayNO;
 		}
 		locinput = limit;
-		nextchr = UCHARAT(locinput);
 		break;
 	    }
 
 	    /* Not utf8:  Inline the first character, for speed. */
-	    if (UCHARAT(s) != nextchr &&
+	    if (!NEXTCHR_IS_EOS &&
+                UCHARAT(s) != nextchr &&
 		(type == REF ||
 		 UCHARAT(s) != fold_array[nextchr]))
 		sayNO;
-	    ln = PL_regoffs[n].end - ln;
+	    ln = rex->offs[n].end - ln;
 	    if (locinput + ln > PL_regeol)
 		sayNO;
 	    if (ln > 1 && (type == REF
@@ -4115,15 +4793,18 @@
 			   : ! folder(s, locinput, ln)))
 		sayNO;
 	    locinput += ln;
-	    nextchr = UCHARAT(locinput);
 	    break;
 	}
-	case NOTHING:
-	case TAIL:
+
+	case NOTHING: /* null op; e.g. the 'nothing' following
+                       * the '*' in m{(a+|b)*}' */
 	    break;
-	case BACK:
+	case TAIL: /* placeholder while compiling (A|B|C) */
 	    break;
 
+	case BACK: /* ??? doesn't appear to be used ??? */
+	    break;
+
 #undef  ST
 #define ST st->u.eval
 	{
@@ -4133,7 +4814,7 @@
             regexp_internal *rei;
             regnode *startpoint;
 
-	case GOSTART:
+	case GOSTART: /*  (?R)  */
 	case GOSUB: /*    /(...(?1))/   /(...(?&foo))/   */
 	    if (cur_eval && cur_eval->locinput==locinput) {
                 if (cur_eval->u.eval.close_paren == (U32)ARG(scan)) 
@@ -4148,7 +4829,6 @@
 	    re_sv = rex_sv;
             re = rex;
             rei = rexi;
-            (void)ReREFCNT_inc(rex_sv);
             if (OP(scan)==GOSUB) {
                 startpoint = scan + ARG2L(scan);
                 ST.close_paren = ARG(scan);
@@ -4157,7 +4837,8 @@
                 ST.close_paren = 0;
             }
             goto eval_recurse_doit;
-            /* NOTREACHED */
+            assert(0); /* NOTREACHED */
+
         case EVAL:  /*   /(?{A})B/   /(??{A})B/  and /(?(?{A})X|Y)B/   */        
             if (cur_eval && cur_eval->locinput==locinput) {
 		if ( ++nochange_depth > max_nochange_depth )
@@ -4167,14 +4848,20 @@
             }    
 	    {
 		/* execute the code in the {...} */
+
 		dSP;
-		SV ** const before = SP;
-		OP_4tree * const oop = PL_op;
+		IV before;
+		OP * const oop = PL_op;
 		COP * const ocurcop = PL_curcop;
-		PAD *old_comppad;
+		OP *nop;
 		char *saved_regeol = PL_regeol;
 		struct re_save_state saved_state;
+		CV *newcv;
 
+		/* save *all* paren positions */
+		regcppush(rex, 0, maxopenparen);
+		REGCP_SET(runops_cp);
+
 		/* To not corrupt the existing regex state while executing the
 		 * eval we would normally put it on the save stack, like with
 		 * save_re_context. However, re-evals have a weird scoping so we
@@ -4191,21 +4878,107 @@
 		 */
 		Copy(&PL_reg_state, &saved_state, 1, struct re_save_state);
 
+		if (!caller_cv)
+		    caller_cv = find_runcv(NULL);
+
 		n = ARG(scan);
-		PL_op = (OP_4tree*)rexi->data->data[n];
+
+		if (rexi->data->what[n] == 'r') { /* code from an external qr */
+		    newcv = (ReANY(
+						(REGEXP*)(rexi->data->data[n])
+					    ))->qr_anoncv
+					;
+		    nop = (OP*)rexi->data->data[n+1];
+		}
+		else if (rexi->data->what[n] == 'l') { /* literal code */
+		    newcv = caller_cv;
+		    nop = (OP*)rexi->data->data[n];
+		    assert(CvDEPTH(newcv));
+		}
+		else {
+		    /* literal with own CV */
+		    assert(rexi->data->what[n] == 'L');
+		    newcv = rex->qr_anoncv;
+		    nop = (OP*)rexi->data->data[n];
+		}
+
+		/* normally if we're about to execute code from the same
+		 * CV that we used previously, we just use the existing
+		 * CX stack entry. However, its possible that in the
+		 * meantime we may have backtracked, popped from the save
+		 * stack, and undone the SAVECOMPPAD(s) associated with
+		 * PUSH_MULTICALL; in which case PL_comppad no longer
+		 * points to newcv's pad. */
+		if (newcv != last_pushed_cv || PL_comppad != last_pad)
+		{
+                    U8 flags = (CXp_SUB_RE |
+                                ((newcv == caller_cv) ? CXp_SUB_RE_FAKE : 0));
+		    if (last_pushed_cv) {
+			CHANGE_MULTICALL_FLAGS(newcv, flags);
+		    }
+		    else {
+			PUSH_MULTICALL_FLAGS(newcv, flags);
+		    }
+		    last_pushed_cv = newcv;
+		}
+		else {
+                    /* these assignments are just to silence compiler
+                     * warnings */
+		    multicall_cop = NULL;
+		    newsp = NULL;
+		}
+		last_pad = PL_comppad;
+
+		/* the initial nextstate you would normally execute
+		 * at the start of an eval (which would cause error
+		 * messages to come from the eval), may be optimised
+		 * away from the execution path in the regex code blocks;
+		 * so manually set PL_curcop to it initially */
+		{
+		    OP *o = cUNOPx(nop)->op_first;
+		    assert(o->op_type == OP_NULL);
+		    if (o->op_targ == OP_SCOPE) {
+			o = cUNOPo->op_first;
+		    }
+		    else {
+			assert(o->op_targ == OP_LEAVE);
+			o = cUNOPo->op_first;
+			assert(o->op_type == OP_ENTER);
+			o = o->op_sibling;
+		    }
+
+		    if (o->op_type != OP_STUB) {
+			assert(    o->op_type == OP_NEXTSTATE
+				|| o->op_type == OP_DBSTATE
+				|| (o->op_type == OP_NULL
+				    &&  (  o->op_targ == OP_NEXTSTATE
+					|| o->op_targ == OP_DBSTATE
+					)
+				    )
+			);
+			PL_curcop = (COP*)o;
+		    }
+		}
+		nop = nop->op_next;
+
 		DEBUG_STATE_r( PerlIO_printf(Perl_debug_log, 
-		    "  re_eval 0x%"UVxf"\n", PTR2UV(PL_op)) );
-		PAD_SAVE_LOCAL(old_comppad, (PAD*)rexi->data->data[n + 2]);
-		PL_regoffs[0].end = PL_reg_magic->mg_len = locinput - PL_bostr;
+		    "  re EVAL PL_op=0x%"UVxf"\n", PTR2UV(nop)) );
 
+		rex->offs[0].end = PL_reg_magic->mg_len = locinput - PL_bostr;
+
                 if (sv_yes_mark) {
                     SV *sv_mrk = get_sv("REGMARK", 1);
                     sv_setsv(sv_mrk, sv_yes_mark);
                 }
 
+		/* we don't use MULTICALL here as we want to call the
+		 * first op of the block of interest, rather than the
+		 * first op of the sub */
+		before = (IV)(SP-PL_stack_base);
+		PL_op = nop;
 		CALLRUNOPS(aTHX);			/* Scalar context. */
 		SPAGAIN;
-		if (SP == before)
+		if ((IV)(SP-PL_stack_base) == before)
 		    ret = &PL_sv_undef;   /* protect against empty (?{}) blocks. */
 		else {
 		    ret = POPs;
@@ -4212,78 +4985,91 @@
 		    PUTBACK;
 		}
 
+		/* before restoring everything, evaluate the returned
+		 * value, so that 'uninit' warnings don't use the wrong
+		 * PL_op or pad. Also need to process any magic vars
+		 * (e.g. $1) *before* parentheses are restored */
+
+		PL_op = NULL;
+
+                re_sv = NULL;
+		if (logical == 0)        /*   (?{})/   */
+		    sv_setsv(save_scalar(PL_replgv), ret); /* $^R */
+		else if (logical == 1) { /*   /(?(?{...})X|Y)/    */
+		    sw = cBOOL(SvTRUE(ret));
+		    logical = 0;
+		}
+		else {                   /*  /(??{})  */
+		    /*  if its overloaded, let the regex compiler handle
+		     *  it; otherwise extract regex, or stringify  */
+		    if (!SvAMAGIC(ret)) {
+			SV *sv = ret;
+			if (SvROK(sv))
+			    sv = SvRV(sv);
+			if (SvTYPE(sv) == SVt_REGEXP)
+			    re_sv = (REGEXP*) sv;
+			else if (SvSMAGICAL(sv)) {
+			    MAGIC *mg = mg_find(sv, PERL_MAGIC_qr);
+			    if (mg)
+				re_sv = (REGEXP *) mg->mg_obj;
+			}
+
+			/* force any magic, undef warnings here */
+			if (!re_sv) {
+			    ret = sv_mortalcopy(ret);
+			    (void) SvPV_force_nolen(ret);
+			}
+		    }
+
+		}
+
 		Copy(&saved_state, &PL_reg_state, 1, struct re_save_state);
 
+		/* *** Note that at this point we don't restore
+		 * PL_comppad, (or pop the CxSUB) on the assumption it may
+		 * be used again soon. This is safe as long as nothing
+		 * in the regexp code uses the pad ! */
 		PL_op = oop;
-		PAD_RESTORE_LOCAL(old_comppad);
 		PL_curcop = ocurcop;
 		PL_regeol = saved_regeol;
-		if (!logical) {
-		    /* /(?{...})/ */
-		    sv_setsv(save_scalar(PL_replgv), ret);
+		S_regcp_restore(aTHX_ rex, runops_cp, &maxopenparen);
+
+		if (logical != 2)
 		    break;
-		}
 	    }
-	    if (logical == 2) { /* Postponed subexpression: /(??{...})/ */
+
+		/* only /(??{})/  from now on */
 		logical = 0;
 		{
 		    /* extract RE object from returned value; compiling if
 		     * necessary */
-		    MAGIC *mg = NULL;
-		    REGEXP *rx = NULL;
 
-		    if (SvROK(ret)) {
-			SV *const sv = SvRV(ret);
-
-			if (SvTYPE(sv) == SVt_REGEXP) {
-			    rx = (REGEXP*) sv;
-			} else if (SvSMAGICAL(sv)) {
-			    mg = mg_find(sv, PERL_MAGIC_qr);
-			    assert(mg);
-			}
-		    } else if (SvTYPE(ret) == SVt_REGEXP) {
-			rx = (REGEXP*) ret;
-		    } else if (SvSMAGICAL(ret)) {
-			if (SvGMAGICAL(ret)) {
-			    /* I don't believe that there is ever qr magic
-			       here.  */
-			    assert(!mg_find(ret, PERL_MAGIC_qr));
-			    sv_unmagic(ret, PERL_MAGIC_qr);
-			}
-			else {
-			    mg = mg_find(ret, PERL_MAGIC_qr);
-			    /* testing suggests mg only ends up non-NULL for
-			       scalars who were upgraded and compiled in the
-			       else block below. In turn, this is only
-			       triggered in the "postponed utf8 string" tests
-			       in t/op/pat.t  */
-			}
+		    if (re_sv) {
+			re_sv = reg_temp_copy(NULL, re_sv);
 		    }
-
-		    if (mg) {
-			rx = (REGEXP *) mg->mg_obj; /*XXX:dmq*/
-			assert(rx);
-		    }
-		    if (rx) {
-			rx = reg_temp_copy(NULL, rx);
-		    }
 		    else {
 			U32 pm_flags = 0;
-			const I32 osize = PL_regsize;
 
-			if (DO_UTF8(ret)) {
-			    assert (SvUTF8(ret));
-			} else if (SvUTF8(ret)) {
-			    /* Not doing UTF-8, despite what the SV says. Is
-			       this only if we're trapped in use 'bytes'?  */
-			    /* Make a copy of the octet sequence, but without
-			       the flag on, as the compiler now honours the
-			       SvUTF8 flag on ret.  */
+			if (SvUTF8(ret) && IN_BYTES) {
+			    /* In use 'bytes': make a copy of the octet
+			     * sequence, but without the flag on */
 			    STRLEN len;
 			    const char *const p = SvPV(ret, len);
 			    ret = newSVpvn_flags(p, len, SVs_TEMP);
 			}
-			rx = CALLREGCOMP(ret, pm_flags);
+			if (rex->intflags & PREGf_USE_RE_EVAL)
+			    pm_flags |= PMf_USE_RE_EVAL;
+
+			/* if we got here, it should be an engine which
+			 * supports compiling code blocks and stuff */
+			assert(rex->engine && rex->engine->op_comp);
+                        assert(!(scan->flags & ~RXf_PMf_COMPILETIME));
+			re_sv = rex->engine->op_comp(aTHX_ &ret, 1, NULL,
+				    rex->engine, NULL, NULL,
+                                    /* copy /msix etc to inner pattern */
+                                    scan->flags,
+                                    pm_flags);
+
 			if (!(SvFLAGS(ret)
 			      & (SVs_TEMP | SVs_PADTMP | SVf_READONLY
 				 | SVs_GMG))) {
@@ -4290,16 +5076,21 @@
 			    /* This isn't a first class regexp. Instead, it's
 			       caching a regexp onto an existing, Perl visible
 			       scalar.  */
-			    sv_magic(ret, MUTABLE_SV(rx), PERL_MAGIC_qr, 0, 0);
+			    sv_magic(ret, MUTABLE_SV(re_sv), PERL_MAGIC_qr, 0, 0);
 			}
-			PL_regsize = osize;
+			/* safe to do now that any $1 etc has been
+			 * interpolated into the new pattern string and
+			 * compiled */
+			S_regcp_restore(aTHX_ rex, runops_cp, &maxopenparen);
 		    }
-		    re_sv = rx;
-		    re = (struct regexp *)SvANY(rx);
+		    SAVEFREESV(re_sv);
+		    re = ReANY(re_sv);
 		}
                 RXp_MATCH_COPIED_off(re);
                 re->subbeg = rex->subbeg;
                 re->sublen = rex->sublen;
+                re->suboffset = rex->suboffset;
+                re->subcoffset = rex->subcoffset;
 		rei = RXi_GET(re);
                 DEBUG_EXECUTE_r(
                     debug_start_match(re_sv, utf8_target, locinput, PL_regeol,
@@ -4307,44 +5098,29 @@
 		);		
 		startpoint = rei->program + 1;
                	ST.close_paren = 0; /* only used for GOSUB */
-               	/* borrowed from regtry */
-                if (PL_reg_start_tmpl <= re->nparens) {
-                    PL_reg_start_tmpl = re->nparens*3/2 + 3;
-                    if(PL_reg_start_tmp)
-                        Renew(PL_reg_start_tmp, PL_reg_start_tmpl, char*);
-                    else
-                        Newx(PL_reg_start_tmp, PL_reg_start_tmpl, char*);
-                }               	
 
         eval_recurse_doit: /* Share code with GOSUB below this line */                		
 		/* run the pattern returned from (??{...}) */
-		ST.cp = regcppush(0);	/* Save *all* the positions. */
+
+                /* Save *all* the positions. */
+		ST.cp = regcppush(rex, 0, maxopenparen);
 		REGCP_SET(ST.lastcp);
 		
-		PL_regoffs = re->offs; /* essentially NOOP on GOSUB */
-		
-		/* see regtry, specifically PL_reglast(?:close)?paren is a pointer! (i dont know why) :dmq */
-		PL_reglastparen = &re->lastparen;
-		PL_reglastcloseparen = &re->lastcloseparen;
 		re->lastparen = 0;
 		re->lastcloseparen = 0;
 
-		PL_reginput = locinput;
-		PL_regsize = 0;
+		maxopenparen = 0;
 
 		/* XXXX This is too dramatic a measure... */
 		PL_reg_maxiter = 0;
 
-		ST.toggle_reg_flags = PL_reg_flags;
-		if (RX_UTF8(re_sv))
-		    PL_reg_flags |= RF_utf8;
-		else
-		    PL_reg_flags &= ~RF_utf8;
-		ST.toggle_reg_flags ^= PL_reg_flags; /* diff of old and new */
+		ST.saved_utf8_pat = is_utf8_pat;
+		is_utf8_pat = cBOOL(RX_UTF8(re_sv));
 
 		ST.prev_rex = rex_sv;
 		ST.prev_curlyx = cur_curlyx;
-		SETREX(rex_sv,re_sv);
+		rex_sv = re_sv;
+		SET_reg_curpm(rex_sv);
 		rex = re;
 		rexi = rei;
 		cur_curlyx = NULL;
@@ -4352,32 +5128,21 @@
 		ST.prev_eval = cur_eval;
 		cur_eval = st;
 		/* now continue from first node in postoned RE */
-		PUSH_YES_STATE_GOTO(EVAL_AB, startpoint);
-		/* NOTREACHED */
-	    }
-	    /* logical is 1,   /(?(?{...})X|Y)/ */
-	    sw = cBOOL(SvTRUE(ret));
-	    logical = 0;
-	    break;
+		PUSH_YES_STATE_GOTO(EVAL_AB, startpoint, locinput);
+		assert(0); /* NOTREACHED */
 	}
 
 	case EVAL_AB: /* cleanup after a successful (??{A})B */
 	    /* note: this is called twice; first after popping B, then A */
-	    PL_reg_flags ^= ST.toggle_reg_flags; 
-	    ReREFCNT_dec(rex_sv);
-	    SETREX(rex_sv,ST.prev_rex);
-	    rex = (struct regexp *)SvANY(rex_sv);
+            is_utf8_pat = ST.saved_utf8_pat;
+	    rex_sv = ST.prev_rex;
+	    SET_reg_curpm(rex_sv);
+	    rex = ReANY(rex_sv);
 	    rexi = RXi_GET(rex);
 	    regcpblow(ST.cp);
 	    cur_eval = ST.prev_eval;
 	    cur_curlyx = ST.prev_curlyx;
 
-	    /* rex was changed so update the pointer in PL_reglastparen and PL_reglastcloseparen */
-	    PL_reglastparen = &rex->lastparen;
-	    PL_reglastcloseparen = &rex->lastcloseparen;
-	    /* also update PL_regoffs */
-	    PL_regoffs = rex->offs;
-	    
 	    /* XXXX This is too dramatic a measure... */
 	    PL_reg_maxiter = 0;
             if ( nochange_depth )
@@ -4387,18 +5152,14 @@
 
 	case EVAL_AB_fail: /* unsuccessfully ran A or B in (??{A})B */
 	    /* note: this is called twice; first after popping B, then A */
-	    PL_reg_flags ^= ST.toggle_reg_flags; 
-	    ReREFCNT_dec(rex_sv);
-	    SETREX(rex_sv,ST.prev_rex);
-	    rex = (struct regexp *)SvANY(rex_sv);
+            is_utf8_pat = ST.saved_utf8_pat;
+	    rex_sv = ST.prev_rex;
+	    SET_reg_curpm(rex_sv);
+	    rex = ReANY(rex_sv);
 	    rexi = RXi_GET(rex); 
-	    /* rex was changed so update the pointer in PL_reglastparen and PL_reglastcloseparen */
-	    PL_reglastparen = &rex->lastparen;
-	    PL_reglastcloseparen = &rex->lastcloseparen;
 
-	    PL_reginput = locinput;
 	    REGCP_UNWIND(ST.lastcp);
-	    regcppop(rex);
+	    regcppop(rex, &maxopenparen);
 	    cur_eval = ST.prev_eval;
 	    cur_curlyx = ST.prev_curlyx;
 	    /* XXXX This is too dramatic a measure... */
@@ -4408,27 +5169,47 @@
 	    sayNO_SILENT;
 #undef ST
 
-	case OPEN:
+	case OPEN: /*  (  */
 	    n = ARG(scan);  /* which paren pair */
-	    PL_reg_start_tmp[n] = locinput;
-	    if (n > PL_regsize)
-		PL_regsize = n;
+	    rex->offs[n].start_tmp = locinput - PL_bostr;
+	    if (n > maxopenparen)
+		maxopenparen = n;
+	    DEBUG_BUFFERS_r(PerlIO_printf(Perl_debug_log,
+		"rex=0x%"UVxf" offs=0x%"UVxf": \\%"UVuf": set %"IVdf" tmp; maxopenparen=%"UVuf"\n",
+		PTR2UV(rex),
+		PTR2UV(rex->offs),
+		(UV)n,
+		(IV)rex->offs[n].start_tmp,
+		(UV)maxopenparen
+	    ));
             lastopen = n;
 	    break;
-	case CLOSE:
+
+/* XXX really need to log other places start/end are set too */
+#define CLOSE_CAPTURE \
+    rex->offs[n].start = rex->offs[n].start_tmp; \
+    rex->offs[n].end = locinput - PL_bostr; \
+    DEBUG_BUFFERS_r(PerlIO_printf(Perl_debug_log, \
+	"rex=0x%"UVxf" offs=0x%"UVxf": \\%"UVuf": set %"IVdf"..%"IVdf"\n", \
+	PTR2UV(rex), \
+	PTR2UV(rex->offs), \
+	(UV)n, \
+	(IV)rex->offs[n].start, \
+	(IV)rex->offs[n].end \
+    ))
+
+	case CLOSE:  /*  )  */
 	    n = ARG(scan);  /* which paren pair */
-	    PL_regoffs[n].start = PL_reg_start_tmp[n] - PL_bostr;
-	    PL_regoffs[n].end = locinput - PL_bostr;
-	    /*if (n > PL_regsize)
-		PL_regsize = n;*/
-	    if (n > *PL_reglastparen)
-		*PL_reglastparen = n;
-	    *PL_reglastcloseparen = n;
+	    CLOSE_CAPTURE;
+	    if (n > rex->lastparen)
+		rex->lastparen = n;
+	    rex->lastcloseparen = n;
             if (cur_eval && cur_eval->u.eval.close_paren == n) {
 	        goto fake_end;
 	    }    
 	    break;
-        case ACCEPT:
+
+        case ACCEPT:  /*  (*ACCEPT)  */
             if (ARG(scan)){
                 regnode *cursor;
                 for (cursor=scan;
@@ -4438,14 +5219,10 @@
                     if ( OP(cursor)==CLOSE ){
                         n = ARG(cursor);
                         if ( n <= lastopen ) {
-                            PL_regoffs[n].start
-				= PL_reg_start_tmp[n] - PL_bostr;
-                            PL_regoffs[n].end = locinput - PL_bostr;
-                            /*if (n > PL_regsize)
-                            PL_regsize = n;*/
-                            if (n > *PL_reglastparen)
-                                *PL_reglastparen = n;
-                            *PL_reglastcloseparen = n;
+			    CLOSE_CAPTURE;
+                            if (n > rex->lastparen)
+                                rex->lastparen = n;
+                            rex->lastcloseparen = n;
                             if ( n == ARG(scan) || (cur_eval &&
                                 cur_eval->u.eval.close_paren == n))
                                 break;
@@ -4455,22 +5232,27 @@
             }
 	    goto fake_end;
 	    /*NOTREACHED*/	    
-	case GROUPP:
+
+	case GROUPP:  /*  (?(1))  */
 	    n = ARG(scan);  /* which paren pair */
-	    sw = cBOOL(*PL_reglastparen >= n && PL_regoffs[n].end != -1);
+	    sw = cBOOL(rex->lastparen >= n && rex->offs[n].end != -1);
 	    break;
-	case NGROUPP:
+
+	case NGROUPP:  /*  (?(<name>))  */
 	    /* reg_check_named_buff_matched returns 0 for no match */
 	    sw = cBOOL(0 < reg_check_named_buff_matched(rex,scan));
 	    break;
-        case INSUBP:
+
+        case INSUBP:   /*  (?(R))  */
             n = ARG(scan);
             sw = (cur_eval && (!n || cur_eval->u.eval.close_paren == n));
             break;
-        case DEFINEP:
+
+        case DEFINEP:  /*  (?(DEFINE))  */
             sw = 0;
             break;
-	case IFTHEN:
+
+	case IFTHEN:   /*  (?(cond)A|B)  */
 	    PL_reg_leftiter = PL_reg_maxiter;		/* Void cache */
 	    if (sw)
 		next = NEXTOPER(NEXTOPER(scan));
@@ -4480,7 +5262,8 @@
 		    next = NEXTOPER(NEXTOPER(next));
 	    }
 	    break;
-	case LOGICAL:
+
+	case LOGICAL:  /* modifier for EVAL and IFMATCH */
 	    logical = scan->flags;
 	    break;
 
@@ -4579,9 +5362,9 @@
 		next += ARG(next);
 
 	    /* XXXX Probably it is better to teach regpush to support
-	       parenfloor > PL_regsize... */
-	    if (parenfloor > (I32)*PL_reglastparen)
-		parenfloor = *PL_reglastparen; /* Pessimization... */
+	       parenfloor > maxopenparen ... */
+	    if (parenfloor > (I32)rex->lastparen)
+		parenfloor = rex->lastparen; /* Pessimization... */
 
 	    ST.prev_curlyx= cur_curlyx;
 	    cur_curlyx = st;
@@ -4597,21 +5380,20 @@
 	    ST.count = -1;	/* this will be updated by WHILEM */
 	    ST.lastloc = NULL;  /* this will be updated by WHILEM */
 
-	    PL_reginput = locinput;
-	    PUSH_YES_STATE_GOTO(CURLYX_end, PREVOPER(next));
-	    /* NOTREACHED */
+	    PUSH_YES_STATE_GOTO(CURLYX_end, PREVOPER(next), locinput);
+	    assert(0); /* NOTREACHED */
 	}
 
 	case CURLYX_end: /* just finished matching all of A*B */
 	    cur_curlyx = ST.prev_curlyx;
 	    sayYES;
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 	case CURLYX_end_fail: /* just failed to match all of A*B */
 	    regcpblow(ST.cp);
 	    cur_curlyx = ST.prev_curlyx;
 	    sayNO;
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 
 #undef ST
@@ -4631,7 +5413,6 @@
 	    ST.cache_offset = 0;
 	    ST.cache_mask = 0;
 	    
-	    PL_reginput = locinput;
 
 	    DEBUG_EXECUTE_r( PerlIO_printf(Perl_debug_log,
 		  "%*s  whilem: matched %ld out of %d..%d\n",
@@ -4641,12 +5422,13 @@
 	    /* First just match a string of min A's. */
 
 	    if (n < min) {
-		ST.cp = regcppush(cur_curlyx->u.curlyx.parenfloor);
+		ST.cp = regcppush(rex, cur_curlyx->u.curlyx.parenfloor,
+                                    maxopenparen);
 		cur_curlyx->u.curlyx.lastloc = locinput;
 		REGCP_SET(ST.lastcp);
 
-		PUSH_STATE_GOTO(WHILEM_A_pre, A);
-		/* NOTREACHED */
+		PUSH_STATE_GOTO(WHILEM_A_pre, A, locinput);
+		assert(0); /* NOTREACHED */
 	    }
 
 	    /* If degenerate A matches "", assume A done. */
@@ -4717,30 +5499,33 @@
 	    if (cur_curlyx->u.curlyx.minmod) {
 		ST.save_curlyx = cur_curlyx;
 		cur_curlyx = cur_curlyx->u.curlyx.prev_curlyx;
-		ST.cp = regcppush(ST.save_curlyx->u.curlyx.parenfloor);
+		ST.cp = regcppush(rex, ST.save_curlyx->u.curlyx.parenfloor,
+                            maxopenparen);
 		REGCP_SET(ST.lastcp);
-		PUSH_YES_STATE_GOTO(WHILEM_B_min, ST.save_curlyx->u.curlyx.B);
-		/* NOTREACHED */
+		PUSH_YES_STATE_GOTO(WHILEM_B_min, ST.save_curlyx->u.curlyx.B,
+                                    locinput);
+		assert(0); /* NOTREACHED */
 	    }
 
 	    /* Prefer A over B for maximal matching. */
 
 	    if (n < max) { /* More greed allowed? */
-		ST.cp = regcppush(cur_curlyx->u.curlyx.parenfloor);
+		ST.cp = regcppush(rex, cur_curlyx->u.curlyx.parenfloor,
+                            maxopenparen);
 		cur_curlyx->u.curlyx.lastloc = locinput;
 		REGCP_SET(ST.lastcp);
-		PUSH_STATE_GOTO(WHILEM_A_max, A);
-		/* NOTREACHED */
+		PUSH_STATE_GOTO(WHILEM_A_max, A, locinput);
+		assert(0); /* NOTREACHED */
 	    }
 	    goto do_whilem_B_max;
 	}
-	/* NOTREACHED */
+	assert(0); /* NOTREACHED */
 
 	case WHILEM_B_min: /* just matched B in a minimal match */
 	case WHILEM_B_max: /* just matched B in a maximal match */
 	    cur_curlyx = ST.save_curlyx;
 	    sayYES;
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 	case WHILEM_B_max_fail: /* just failed to match B in a maximal match */
 	    cur_curlyx = ST.save_curlyx;
@@ -4747,22 +5532,21 @@
 	    cur_curlyx->u.curlyx.lastloc = ST.save_lastloc;
 	    cur_curlyx->u.curlyx.count--;
 	    CACHEsayNO;
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 	case WHILEM_A_min_fail: /* just failed to match A in a minimal match */
 	    /* FALL THROUGH */
 	case WHILEM_A_pre_fail: /* just failed to match even minimal A */
 	    REGCP_UNWIND(ST.lastcp);
-	    regcppop(rex);
+	    regcppop(rex, &maxopenparen);
 	    cur_curlyx->u.curlyx.lastloc = ST.save_lastloc;
 	    cur_curlyx->u.curlyx.count--;
 	    CACHEsayNO;
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 	case WHILEM_A_max_fail: /* just failed to match A in a maximal match */
 	    REGCP_UNWIND(ST.lastcp);
-	    regcppop(rex);	/* Restore some previous $<digit>s? */
-	    PL_reginput = locinput;
+	    regcppop(rex, &maxopenparen); /* Restore some previous $<digit>s? */
 	    DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log,
 		"%*s  whilem: failed, trying continuation...\n",
 		REPORT_CODE_OFF+depth*2, "")
@@ -4770,11 +5554,12 @@
 	  do_whilem_B_max:
 	    if (cur_curlyx->u.curlyx.count >= REG_INFTY
 		&& ckWARN(WARN_REGEXP)
-		&& !(PL_reg_flags & RF_warned))
+		&& !reginfo->warned)
 	    {
-		PL_reg_flags |= RF_warned;
-		Perl_warner(aTHX_ packWARN(WARN_REGEXP), "%s limit (%d) exceeded",
-		     "Complex regular subexpression recursion",
+                reginfo->warned	= TRUE;
+		Perl_warner(aTHX_ packWARN(WARN_REGEXP),
+		     "Complex regular subexpression recursion limit (%d) "
+		     "exceeded",
 		     REG_INFTY - 1);
 	    }
 
@@ -4781,24 +5566,25 @@
 	    /* now try B */
 	    ST.save_curlyx = cur_curlyx;
 	    cur_curlyx = cur_curlyx->u.curlyx.prev_curlyx;
-	    PUSH_YES_STATE_GOTO(WHILEM_B_max, ST.save_curlyx->u.curlyx.B);
-	    /* NOTREACHED */
+	    PUSH_YES_STATE_GOTO(WHILEM_B_max, ST.save_curlyx->u.curlyx.B,
+                                locinput);
+	    assert(0); /* NOTREACHED */
 
 	case WHILEM_B_min_fail: /* just failed to match B in a minimal match */
 	    cur_curlyx = ST.save_curlyx;
 	    REGCP_UNWIND(ST.lastcp);
-	    regcppop(rex);
+	    regcppop(rex, &maxopenparen);
 
 	    if (cur_curlyx->u.curlyx.count >= /*max*/ARG2(cur_curlyx->u.curlyx.me)) {
 		/* Maximum greed exceeded */
 		if (cur_curlyx->u.curlyx.count >= REG_INFTY
 		    && ckWARN(WARN_REGEXP)
-		    && !(PL_reg_flags & RF_warned))
+                    && !reginfo->warned)
 		{
-		    PL_reg_flags |= RF_warned;
+                    reginfo->warned	= TRUE;
 		    Perl_warner(aTHX_ packWARN(WARN_REGEXP),
-			"%s limit (%d) exceeded",
-			"Complex regular subexpression recursion",
+			"Complex regular subexpression recursion "
+			"limit (%d) exceeded",
 			REG_INFTY - 1);
 		}
 		cur_curlyx->u.curlyx.count--;
@@ -4809,13 +5595,14 @@
 		"%*s  trying longer...\n", REPORT_CODE_OFF+depth*2, "")
 	    );
 	    /* Try grabbing another A and see if it helps. */
-	    PL_reginput = locinput;
 	    cur_curlyx->u.curlyx.lastloc = locinput;
-	    ST.cp = regcppush(cur_curlyx->u.curlyx.parenfloor);
+	    ST.cp = regcppush(rex, cur_curlyx->u.curlyx.parenfloor,
+                            maxopenparen);
 	    REGCP_SET(ST.lastcp);
 	    PUSH_STATE_GOTO(WHILEM_A_min,
-		/*A*/ NEXTOPER(ST.save_curlyx->u.curlyx.me) + EXTRA_STEP_2ARGS);
-	    /* NOTREACHED */
+		/*A*/ NEXTOPER(ST.save_curlyx->u.curlyx.me) + EXTRA_STEP_2ARGS,
+                locinput);
+	    assert(0); /* NOTREACHED */
 
 #undef  ST
 #define ST st->u.branch
@@ -4829,24 +5616,25 @@
 
 	case BRANCH:	    /*  /(...|A|...)/ */
 	    scan = NEXTOPER(scan); /* scan now points to inner node */
-	    ST.lastparen = *PL_reglastparen;
+	    ST.lastparen = rex->lastparen;
+	    ST.lastcloseparen = rex->lastcloseparen;
 	    ST.next_branch = next;
 	    REGCP_SET(ST.cp);
-	    PL_reginput = locinput;
 
 	    /* Now go into the branch */
 	    if (has_cutgroup) {
-	        PUSH_YES_STATE_GOTO(BRANCH_next, scan);    
+	        PUSH_YES_STATE_GOTO(BRANCH_next, scan, locinput);
 	    } else {
-	        PUSH_STATE_GOTO(BRANCH_next, scan);
+	        PUSH_STATE_GOTO(BRANCH_next, scan, locinput);
 	    }
-	    /* NOTREACHED */
-        case CUTGROUP:
-            PL_reginput = locinput;
+	    assert(0); /* NOTREACHED */
+
+        case CUTGROUP:  /*  /(*THEN)/  */
             sv_yes_mark = st->u.mark.mark_name = scan->flags ? NULL :
                 MUTABLE_SV(rexi->data->data[ ARG( scan ) ]);
-            PUSH_STATE_GOTO(CUTGROUP_next,next);
-            /* NOTREACHED */
+            PUSH_STATE_GOTO(CUTGROUP_next, next, locinput);
+            assert(0); /* NOTREACHED */
+
         case CUTGROUP_next_fail:
             do_cutgroup = 1;
             no_final = 1;
@@ -4853,10 +5641,12 @@
             if (st->u.mark.mark_name)
                 sv_commit = st->u.mark.mark_name;
             sayNO;	    
-            /* NOTREACHED */
+            assert(0); /* NOTREACHED */
+
         case BRANCH_next:
             sayYES;
-            /* NOTREACHED */
+            assert(0); /* NOTREACHED */
+
 	case BRANCH_next_fail: /* that branch failed; try the next, if any */
 	    if (do_cutgroup) {
 	        do_cutgroup = 0;
@@ -4863,10 +5653,7 @@
 	        no_final = 0;
 	    }
 	    REGCP_UNWIND(ST.cp);
-	    for (n = *PL_reglastparen; n > ST.lastparen; n--)
-		PL_regoffs[n].end = -1;
-	    *PL_reglastparen = n;
-	    /*dmq: *PL_reglastcloseparen = n; */
+            UNWIND_PAREN(ST.lastparen, ST.lastcloseparen);
 	    scan = ST.next_branch;
 	    /* no more branches? */
 	    if (!scan || (OP(scan) != BRANCH && OP(scan) != BRANCHJ)) {
@@ -4880,9 +5667,9 @@
 		sayNO_SILENT;
             }
 	    continue; /* execute next BRANCH[J] op */
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
     
-	case MINMOD:
+	case MINMOD: /* next op will be non-greedy, e.g. A*?  */
 	    minmod = 1;
 	    break;
 
@@ -4900,13 +5687,14 @@
 	    ST.me = scan;
 	    scan = NEXTOPER(scan) + NODE_STEP_REGNODE;
 
+	    ST.lastparen      = rex->lastparen;
+	    ST.lastcloseparen = rex->lastcloseparen;
+
 	    /* if paren positive, emulate an OPEN/CLOSE around A */
 	    if (ST.me->flags) {
 		U32 paren = ST.me->flags;
-		if (paren > PL_regsize)
-		    PL_regsize = paren;
-		if (paren > *PL_reglastparen)
-		    *PL_reglastparen = paren;
+		if (paren > maxopenparen)
+		    maxopenparen = paren;
 		scan += NEXT_OFF(scan); /* Skip former OPEN. */
 	    }
 	    ST.A = scan;
@@ -4922,26 +5710,22 @@
 		goto curlym_do_B;
 
 	  curlym_do_A: /* execute the A in /A{m,n}B/  */
-	    PL_reginput = locinput;
-	    PUSH_YES_STATE_GOTO(CURLYM_A, ST.A); /* match A */
-	    /* NOTREACHED */
+	    PUSH_YES_STATE_GOTO(CURLYM_A, ST.A, locinput); /* match A */
+	    assert(0); /* NOTREACHED */
 
 	case CURLYM_A: /* we've just matched an A */
-	    locinput = st->locinput;
-	    nextchr = UCHARAT(locinput);
-
 	    ST.count++;
 	    /* after first match, determine A's length: u.curlym.alen */
 	    if (ST.count == 1) {
 		if (PL_reg_match_utf8) {
-		    char *s = locinput;
-		    while (s < PL_reginput) {
+		    char *s = st->locinput;
+		    while (s < locinput) {
 			ST.alen++;
 			s += UTF8SKIP(s);
 		    }
 		}
 		else {
-		    ST.alen = PL_reginput - locinput;
+		    ST.alen = locinput - st->locinput;
 		}
 		if (ST.alen == 0)
 		    ST.count = ST.minmod ? ARG1(ST.me) : ARG2(ST.me);
@@ -4953,8 +5737,6 @@
 			  (IV) ST.count, (IV)ST.alen)
 	    );
 
-	    locinput = PL_reginput;
-	                
 	    if (cur_eval && cur_eval->u.eval.close_paren && 
 	        cur_eval->u.eval.close_paren == (U32)ST.me->flags) 
 	        goto fake_end;
@@ -4975,7 +5757,6 @@
 		sayNO;
 
 	  curlym_do_B: /* execute the B in /A{m,n}B/  */
-	    PL_reginput = locinput;
 	    if (ST.c1 == CHRTEST_UNINIT) {
 		/* calculate c1 and c2 for possible match of 1st char
 		 * following curly */
@@ -4993,17 +5774,13 @@
 	            	if this changes back then the macro for 
 	            	IS_TEXT and friends need to change.
 	             */
-		    if (PL_regkind[OP(text_node)] == EXACT)
-		    {
-		        
-			ST.c1 = (U8)*STRING(text_node);
-			switch (OP(text_node)) {
-			    case EXACTF: ST.c2 = PL_fold[ST.c1]; break;
-			    case EXACTFA:
-			    case EXACTFU: ST.c2 = PL_fold_latin1[ST.c1]; break;
-			    case EXACTFL: ST.c2 = PL_fold_locale[ST.c1]; break;
-			    default: ST.c2 = ST.c1;
-			}
+		    if (PL_regkind[OP(text_node)] == EXACT) {
+                        if (! S_setup_EXACTISH_ST_c1_c2(aTHX_
+                           text_node, &ST.c1, ST.c1_utf8, &ST.c2, ST.c2_utf8,
+                           is_utf8_pat))
+                        {
+                            sayNO;
+                        }
 		    }
 		}
 	    }
@@ -5014,32 +5791,50 @@
 		    (int)(REPORT_CODE_OFF+(depth*2)),
 		    "", (IV)ST.count)
 		);
-	    if (ST.c1 != CHRTEST_VOID
-		    && UCHARAT(PL_reginput) != ST.c1
-		    && UCHARAT(PL_reginput) != ST.c2)
-	    {
-		/* simulate B failing */
-		DEBUG_OPTIMISE_r(
-		    PerlIO_printf(Perl_debug_log,
-		        "%*s  CURLYM Fast bail c1=%"IVdf" c2=%"IVdf"\n",
-		        (int)(REPORT_CODE_OFF+(depth*2)),"",
-		        (IV)ST.c1,(IV)ST.c2
-		));
-		state_num = CURLYM_B_fail;
-		goto reenter_switch;
-	    }
+	    if (! NEXTCHR_IS_EOS && ST.c1 != CHRTEST_VOID) {
+                if (! UTF8_IS_INVARIANT(nextchr) && utf8_target) {
+                    if (memNE(locinput, ST.c1_utf8, UTF8SKIP(locinput))
+                        && memNE(locinput, ST.c2_utf8, UTF8SKIP(locinput)))
+                    {
+                        /* simulate B failing */
+                        DEBUG_OPTIMISE_r(
+                            PerlIO_printf(Perl_debug_log,
+                                "%*s  CURLYM Fast bail next target=U+%"UVXf" c1=U+%"UVXf" c2=U+%"UVXf"\n",
+                                (int)(REPORT_CODE_OFF+(depth*2)),"",
+                                valid_utf8_to_uvchr((U8 *) locinput, NULL),
+                                valid_utf8_to_uvchr(ST.c1_utf8, NULL),
+                                valid_utf8_to_uvchr(ST.c2_utf8, NULL))
+                        );
+                        state_num = CURLYM_B_fail;
+                        goto reenter_switch;
+                    }
+                }
+                else if (nextchr != ST.c1 && nextchr != ST.c2) {
+                    /* simulate B failing */
+                    DEBUG_OPTIMISE_r(
+                        PerlIO_printf(Perl_debug_log,
+                            "%*s  CURLYM Fast bail next target=U+%X c1=U+%X c2=U+%X\n",
+                            (int)(REPORT_CODE_OFF+(depth*2)),"",
+                            (int) nextchr, ST.c1, ST.c2)
+                    );
+                    state_num = CURLYM_B_fail;
+                    goto reenter_switch;
+                }
+            }
 
 	    if (ST.me->flags) {
-		/* mark current A as captured */
+		/* emulate CLOSE: mark current A as captured */
 		I32 paren = ST.me->flags;
 		if (ST.count) {
-		    PL_regoffs[paren].start
-			= HOPc(PL_reginput, -ST.alen) - PL_bostr;
-		    PL_regoffs[paren].end = PL_reginput - PL_bostr;
-		    /*dmq: *PL_reglastcloseparen = paren; */
+		    rex->offs[paren].start
+			= HOPc(locinput, -ST.alen) - PL_bostr;
+		    rex->offs[paren].end = locinput - PL_bostr;
+		    if ((U32)paren > rex->lastparen)
+			rex->lastparen = paren;
+		    rex->lastcloseparen = paren;
 		}
 		else
-		    PL_regoffs[paren].end = -1;
+		    rex->offs[paren].end = -1;
 		if (cur_eval && cur_eval->u.eval.close_paren &&
 		    cur_eval->u.eval.close_paren == (U32)ST.me->flags) 
 		{
@@ -5050,11 +5845,12 @@
 	        }
 	    }
 	    
-	    PUSH_STATE_GOTO(CURLYM_B, ST.B); /* match B */
-	    /* NOTREACHED */
+	    PUSH_STATE_GOTO(CURLYM_B, ST.B, locinput); /* match B */
+	    assert(0); /* NOTREACHED */
 
 	case CURLYM_B_fail: /* just failed to match a B */
 	    REGCP_UNWIND(ST.cp);
+            UNWIND_PAREN(ST.lastparen, ST.lastcloseparen);
 	    if (ST.minmod) {
 		I32 max = ARG2(ST.me);
 		if (max != REG_INFTY && ST.count == max)
@@ -5065,7 +5861,7 @@
 	    if (ST.count == ARG1(ST.me) /* min */)
 		sayNO;
 	    ST.count--;
-	    locinput = HOPc(locinput, -ST.alen);
+	    SET_locinput(HOPc(locinput, -ST.alen));
 	    goto curlym_do_B; /* try to match B */
 
 #undef ST
@@ -5074,32 +5870,39 @@
 #define CURLY_SETPAREN(paren, success) \
     if (paren) { \
 	if (success) { \
-	    PL_regoffs[paren].start = HOPc(locinput, -1) - PL_bostr; \
-	    PL_regoffs[paren].end = locinput - PL_bostr; \
-	    *PL_reglastcloseparen = paren; \
+	    rex->offs[paren].start = HOPc(locinput, -1) - PL_bostr; \
+	    rex->offs[paren].end = locinput - PL_bostr; \
+	    if (paren > rex->lastparen) \
+		rex->lastparen = paren; \
+	    rex->lastcloseparen = paren; \
 	} \
-	else \
-	    PL_regoffs[paren].end = -1; \
+	else { \
+	    rex->offs[paren].end = -1; \
+	    rex->lastparen      = ST.lastparen; \
+	    rex->lastcloseparen = ST.lastcloseparen; \
+	} \
     }
 
-	case STAR:		/*  /A*B/ where A is width 1 */
+        case STAR:		/*  /A*B/ where A is width 1 char */
 	    ST.paren = 0;
 	    ST.min = 0;
 	    ST.max = REG_INFTY;
 	    scan = NEXTOPER(scan);
 	    goto repeat;
-	case PLUS:		/*  /A+B/ where A is width 1 */
+
+        case PLUS:		/*  /A+B/ where A is width 1 char */
 	    ST.paren = 0;
 	    ST.min = 1;
 	    ST.max = REG_INFTY;
 	    scan = NEXTOPER(scan);
 	    goto repeat;
-	case CURLYN:		/*  /(A){m,n}B/ where A is width 1 */
-	    ST.paren = scan->flags;	/* Which paren to set */
-	    if (ST.paren > PL_regsize)
-		PL_regsize = ST.paren;
-	    if (ST.paren > *PL_reglastparen)
-		*PL_reglastparen = ST.paren;
+
+	case CURLYN:		/*  /(A){m,n}B/ where A is width 1 char */
+            ST.paren = scan->flags;	/* Which paren to set */
+            ST.lastparen      = rex->lastparen;
+	    ST.lastcloseparen = rex->lastcloseparen;
+	    if (ST.paren > maxopenparen)
+		maxopenparen = ST.paren;
 	    ST.min = ARG1(scan);  /* min to match */
 	    ST.max = ARG2(scan);  /* max to match */
 	    if (cur_eval && cur_eval->u.eval.close_paren &&
@@ -5109,7 +5912,8 @@
 	    }
             scan = regnext(NEXTOPER(scan) + NODE_STEP_REGNODE);
 	    goto repeat;
-	case CURLY:		/*  /A{m,n}B/ where A is width 1 */
+
+	case CURLY:		/*  /A{m,n}B/ where A is width 1 char */
 	    ST.paren = 0;
 	    ST.min = ARG1(scan);  /* min to match */
 	    ST.max = ARG2(scan);  /* max to match */
@@ -5124,10 +5928,11 @@
 	    * of the quantifier and the EXACT-like node.  -- japhy
 	    */
 
-	    if (ST.min > ST.max) /* XXX make this a compile-time check? */
-		sayNO;
-	    if (HAS_TEXT(next) || JUMPABLE(next)) {
-		U8 *s;
+	    assert(ST.min <= ST.max);
+            if (! HAS_TEXT(next) && ! JUMPABLE(next)) {
+                ST.c1 = ST.c2 = CHRTEST_VOID;
+            }
+            else {
 		regnode *text_node = next;
 
 		if (! HAS_TEXT(text_node)) 
@@ -5138,10 +5943,8 @@
 		else {
 		    if ( PL_regkind[OP(text_node)] != EXACT ) {
 			ST.c1 = ST.c2 = CHRTEST_VOID;
-			goto assume_ok_easy;
 		    }
-		    else
-			s = (U8*)STRING(text_node);
+		    else {
                     
                     /*  Currently we only get here when 
                         
@@ -5149,58 +5952,27 @@
                     
                         if this changes back then the macro for IS_TEXT and 
                         friends need to change. */
-		    if (!UTF_PATTERN) {
-			ST.c1 = *s;
-			switch (OP(text_node)) {
-			    case EXACTF: ST.c2 = PL_fold[ST.c1]; break;
-			    case EXACTFA:
-			    case EXACTFU: ST.c2 = PL_fold_latin1[ST.c1]; break;
-			    case EXACTFL: ST.c2 = PL_fold_locale[ST.c1]; break;
-			    default: ST.c2 = ST.c1; break;
-			}
-		    }
-		    else { /* UTF_PATTERN */
-			if (IS_TEXTFU(text_node) || IS_TEXTF(text_node)) {
-			     STRLEN ulen1, ulen2;
-			     U8 tmpbuf1[UTF8_MAXBYTES_CASE+1];
-			     U8 tmpbuf2[UTF8_MAXBYTES_CASE+1];
-
-			     to_utf8_lower((U8*)s, tmpbuf1, &ulen1);
-			     to_utf8_upper((U8*)s, tmpbuf2, &ulen2);
-#ifdef EBCDIC
-			     ST.c1 = utf8n_to_uvchr(tmpbuf1, UTF8_MAXLEN, 0,
-						    ckWARN(WARN_UTF8) ?
-                                                    0 : UTF8_ALLOW_ANY);
-			     ST.c2 = utf8n_to_uvchr(tmpbuf2, UTF8_MAXLEN, 0,
-                                                    ckWARN(WARN_UTF8) ?
-                                                    0 : UTF8_ALLOW_ANY);
-#else
-			     ST.c1 = utf8n_to_uvuni(tmpbuf1, UTF8_MAXBYTES, 0,
-						    uniflags);
-			     ST.c2 = utf8n_to_uvuni(tmpbuf2, UTF8_MAXBYTES, 0,
-						    uniflags);
-#endif
-			}
-			else {
-			    ST.c2 = ST.c1 = utf8n_to_uvchr(s, UTF8_MAXBYTES, 0,
-						     uniflags);
-			}
-		    }
+                        if (! S_setup_EXACTISH_ST_c1_c2(aTHX_
+                           text_node, &ST.c1, ST.c1_utf8, &ST.c2, ST.c2_utf8,
+                           is_utf8_pat))
+                        {
+                            sayNO;
+                        }
+                    }
 		}
 	    }
-	    else
-		ST.c1 = ST.c2 = CHRTEST_VOID;
-	assume_ok_easy:
 
 	    ST.A = scan;
 	    ST.B = next;
-	    PL_reginput = locinput;
 	    if (minmod) {
+                char *li = locinput;
 		minmod = 0;
-		if (ST.min && regrepeat(rex, ST.A, ST.min, depth) < ST.min)
+		if (ST.min &&
+                        regrepeat(rex, &li, ST.A, ST.min, depth, is_utf8_pat)
+                            < ST.min)
 		    sayNO;
+                SET_locinput(li);
 		ST.count = ST.min;
-		locinput = PL_reginput;
 		REGCP_SET(ST.cp);
 		if (ST.c1 == CHRTEST_VOID)
 		    goto curly_try_B_min;
@@ -5218,7 +5990,7 @@
 		else if (utf8_target) {
 		    int m = ST.max - ST.min;
 		    for (ST.maxpos = locinput;
-			 m >0 && ST.maxpos + UTF8SKIP(ST.maxpos) <= PL_regeol; m--)
+			 m >0 && ST.maxpos < PL_regeol; m--)
 			ST.maxpos += UTF8SKIP(ST.maxpos);
 		}
 		else {
@@ -5230,10 +6002,14 @@
 
 	    }
 	    else {
-		ST.count = regrepeat(rex, ST.A, ST.max, depth);
-		locinput = PL_reginput;
+                /* avoid taking address of locinput, so it can remain
+                 * a register var */
+                char *li = locinput;
+		ST.count = regrepeat(rex, &li, ST.A, ST.max, depth,
+                                        is_utf8_pat);
 		if (ST.count < ST.min)
 		    sayNO;
+                SET_locinput(li);
 		if ((ST.count > ST.min)
 		    && (PL_regkind[OP(ST.B)] == EOL) && (OP(ST.B) != MEOL))
 		{
@@ -5243,22 +6019,22 @@
 		    /* ...except that $ and \Z can match before *and* after
 		       newline at the end.  Consider "\n\n" =~ /\n+\Z\n/.
 		       We may back off by one in this case. */
-		    if (UCHARAT(PL_reginput - 1) == '\n' && OP(ST.B) != EOS)
+		    if (UCHARAT(locinput - 1) == '\n' && OP(ST.B) != EOS)
 			ST.min--;
 		}
 		REGCP_SET(ST.cp);
 		goto curly_try_B_max;
 	    }
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 
 	case CURLY_B_min_known_fail:
 	    /* failed to find B in a non-greedy match where c1,c2 valid */
-	    if (ST.paren && ST.count)
-		PL_regoffs[ST.paren].end = -1;
 
-	    PL_reginput = locinput;	/* Could be reset... */
 	    REGCP_UNWIND(ST.cp);
+            if (ST.paren) {
+                UNWIND_PAREN(ST.lastparen, ST.lastcloseparen);
+            }
 	    /* Couldn't or didn't -- move forward. */
 	    ST.oldloc = locinput;
 	    if (utf8_target)
@@ -5273,31 +6049,26 @@
 		if (utf8_target) {
 		    n = (ST.oldloc == locinput) ? 0 : 1;
 		    if (ST.c1 == ST.c2) {
-			STRLEN len;
 			/* set n to utf8_distance(oldloc, locinput) */
-			while (locinput <= ST.maxpos &&
-			       utf8n_to_uvchr((U8*)locinput,
-					      UTF8_MAXBYTES, &len,
-					      uniflags) != (UV)ST.c1) {
-			    locinput += len;
+			while (locinput <= ST.maxpos
+                              && memNE(locinput, ST.c1_utf8, UTF8SKIP(locinput)))
+                        {
+			    locinput += UTF8SKIP(locinput);
 			    n++;
 			}
 		    }
 		    else {
 			/* set n to utf8_distance(oldloc, locinput) */
-			while (locinput <= ST.maxpos) {
-			    STRLEN len;
-			    const UV c = utf8n_to_uvchr((U8*)locinput,
-						  UTF8_MAXBYTES, &len,
-						  uniflags);
-			    if (c == (UV)ST.c1 || c == (UV)ST.c2)
-				break;
-			    locinput += len;
+			while (locinput <= ST.maxpos
+                              && memNE(locinput, ST.c1_utf8, UTF8SKIP(locinput))
+                              && memNE(locinput, ST.c2_utf8, UTF8SKIP(locinput)))
+                        {
+			    locinput += UTF8SKIP(locinput);
 			    n++;
 			}
 		    }
 		}
-		else {
+		else {  /* Not utf8_target */
 		    if (ST.c1 == ST.c2) {
 			while (locinput <= ST.maxpos &&
 			       UCHARAT(locinput) != ST.c1)
@@ -5313,34 +6084,43 @@
 		}
 		if (locinput > ST.maxpos)
 		    sayNO;
-		/* PL_reginput == oldloc now */
 		if (n) {
+                    /* In /a{m,n}b/, ST.oldloc is at "a" x m, locinput is
+                     * at b; check that everything between oldloc and
+                     * locinput matches */
+                    char *li = ST.oldloc;
 		    ST.count += n;
-		    if (regrepeat(rex, ST.A, n, depth) < n)
+		    if (regrepeat(rex, &li, ST.A, n, depth, is_utf8_pat) < n)
 			sayNO;
+                    assert(n == REG_INFTY || locinput == li);
 		}
-		PL_reginput = locinput;
 		CURLY_SETPAREN(ST.paren, ST.count);
 		if (cur_eval && cur_eval->u.eval.close_paren && 
 		    cur_eval->u.eval.close_paren == (U32)ST.paren) {
 		    goto fake_end;
 	        }
-		PUSH_STATE_GOTO(CURLY_B_min_known, ST.B);
+		PUSH_STATE_GOTO(CURLY_B_min_known, ST.B, locinput);
 	    }
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 
 	case CURLY_B_min_fail:
 	    /* failed to find B in a non-greedy match where c1,c2 invalid */
-	    if (ST.paren && ST.count)
-		PL_regoffs[ST.paren].end = -1;
 
 	    REGCP_UNWIND(ST.cp);
+            if (ST.paren) {
+                UNWIND_PAREN(ST.lastparen, ST.lastcloseparen);
+            }
 	    /* failed -- move forward one */
-	    PL_reginput = locinput;
-	    if (regrepeat(rex, ST.A, 1, depth)) {
+            {
+                char *li = locinput;
+                if (!regrepeat(rex, &li, ST.A, 1, depth, is_utf8_pat)) {
+                    sayNO;
+                }
+                locinput = li;
+            }
+            {
 		ST.count++;
-		locinput = PL_reginput;
 		if (ST.count <= ST.max || (ST.max == REG_INFTY &&
 			ST.count > 0)) /* count overflow ? */
 		{
@@ -5350,11 +6130,11 @@
 		        cur_eval->u.eval.close_paren == (U32)ST.paren) {
                         goto fake_end;
                     }
-		    PUSH_STATE_GOTO(CURLY_B_min, ST.B);
+		    PUSH_STATE_GOTO(CURLY_B_min, ST.B, locinput);
 		}
 	    }
-	    sayNO;
-	    /* NOTREACHED */
+            sayNO;
+	    assert(0); /* NOTREACHED */
 
 
 	curly_try_B_max:
@@ -5364,63 +6144,70 @@
                 goto fake_end;
             }
 	    {
-		UV c = 0;
-		if (ST.c1 != CHRTEST_VOID)
-		    c = utf8_target ? utf8n_to_uvchr((U8*)PL_reginput,
-					   UTF8_MAXBYTES, 0, uniflags)
-				: (UV) UCHARAT(PL_reginput);
+		bool could_match = locinput < PL_regeol;
+
 		/* If it could work, try it. */
-		if (ST.c1 == CHRTEST_VOID || c == (UV)ST.c1 || c == (UV)ST.c2) {
+                if (ST.c1 != CHRTEST_VOID && could_match) {
+                    if (! UTF8_IS_INVARIANT(UCHARAT(locinput)) && utf8_target)
+                    {
+                        could_match = memEQ(locinput,
+                                            ST.c1_utf8,
+                                            UTF8SKIP(locinput))
+                                    || memEQ(locinput,
+                                             ST.c2_utf8,
+                                             UTF8SKIP(locinput));
+                    }
+                    else {
+                        could_match = UCHARAT(locinput) == ST.c1
+                                      || UCHARAT(locinput) == ST.c2;
+                    }
+                }
+                if (ST.c1 == CHRTEST_VOID || could_match) {
 		    CURLY_SETPAREN(ST.paren, ST.count);
-		    PUSH_STATE_GOTO(CURLY_B_max, ST.B);
-		    /* NOTREACHED */
+		    PUSH_STATE_GOTO(CURLY_B_max, ST.B, locinput);
+		    assert(0); /* NOTREACHED */
 		}
 	    }
 	    /* FALL THROUGH */
+
 	case CURLY_B_max_fail:
 	    /* failed to find B in a greedy match */
-	    if (ST.paren && ST.count)
-		PL_regoffs[ST.paren].end = -1;
 
 	    REGCP_UNWIND(ST.cp);
+            if (ST.paren) {
+                UNWIND_PAREN(ST.lastparen, ST.lastcloseparen);
+            }
 	    /*  back up. */
 	    if (--ST.count < ST.min)
 		sayNO;
-	    PL_reginput = locinput = HOPc(locinput, -1);
+	    locinput = HOPc(locinput, -1);
 	    goto curly_try_B_max;
 
 #undef ST
 
-	case END:
+	case END: /*  last op of main pattern  */
 	    fake_end:
 	    if (cur_eval) {
 		/* we've just finished A in /(??{A})B/; now continue with B */
-		I32 tmpix;
-		st->u.eval.toggle_reg_flags
-			    = cur_eval->u.eval.toggle_reg_flags;
-		PL_reg_flags ^= st->u.eval.toggle_reg_flags; 
+                st->u.eval.saved_utf8_pat = is_utf8_pat;
+		is_utf8_pat = cur_eval->u.eval.saved_utf8_pat;
 
 		st->u.eval.prev_rex = rex_sv;		/* inner */
-		SETREX(rex_sv,cur_eval->u.eval.prev_rex);
-		rex = (struct regexp *)SvANY(rex_sv);
+
+                /* Save *all* the positions. */
+		st->u.eval.cp = regcppush(rex, 0, maxopenparen);
+		rex_sv = cur_eval->u.eval.prev_rex;
+		SET_reg_curpm(rex_sv);
+		rex = ReANY(rex_sv);
 		rexi = RXi_GET(rex);
 		cur_curlyx = cur_eval->u.eval.prev_curlyx;
-		(void)ReREFCNT_inc(rex_sv);
-		st->u.eval.cp = regcppush(0);	/* Save *all* the positions. */
 
-		/* rex was changed so update the pointer in PL_reglastparen and PL_reglastcloseparen */
-		PL_reglastparen = &rex->lastparen;
-		PL_reglastcloseparen = &rex->lastcloseparen;
-
 		REGCP_SET(st->u.eval.lastcp);
-		PL_reginput = locinput;
 
 		/* Restore parens of the outer rex without popping the
 		 * savestack */
-		tmpix = PL_savestack_ix;
-		PL_savestack_ix = cur_eval->u.eval.lastcp;
-		regcppop(rex);
-		PL_savestack_ix = tmpix;
+		S_regcp_restore(aTHX_ rex, cur_eval->u.eval.lastcp,
+                                        &maxopenparen);
 
 		st->u.eval.prev_eval = cur_eval;
 		cur_eval = cur_eval->u.eval.prev_eval;
@@ -5430,8 +6217,8 @@
                 if ( nochange_depth )
 	            nochange_depth--;
 
-                PUSH_YES_STATE_GOTO(EVAL_AB,
-			st->u.eval.prev_eval->u.eval.B); /* match B */
+                PUSH_YES_STATE_GOTO(EVAL_AB, st->u.eval.prev_eval->u.eval.B,
+                                    locinput); /* match B */
 	    }
 
 	    if (locinput < reginfo->till) {
@@ -5444,7 +6231,6 @@
                				      
 		sayNO_SILENT;		/* Cannot match: too short. */
 	    }
-	    PL_reginput = locinput;	/* put where regtry can find it */
 	    sayYES;			/* Success! */
 
 	case SUCCEED: /* successful SUSPEND/UNLESSM/IFMATCH/CURLYM */
@@ -5452,15 +6238,17 @@
 	    PerlIO_printf(Perl_debug_log,
 		"%*s  %ssubpattern success...%s\n",
 		REPORT_CODE_OFF+depth*2, "", PL_colors[4], PL_colors[5]));
-	    PL_reginput = locinput;	/* put where regtry can find it */
 	    sayYES;			/* Success! */
 
 #undef  ST
 #define ST st->u.ifmatch
 
+        {
+            char *newstart;
+
 	case SUSPEND:	/* (?>A) */
 	    ST.wanted = 1;
-	    PL_reginput = locinput;
+	    newstart = locinput;
 	    goto do_ifmatch;	
 
 	case UNLESSM:	/* -ve lookaround: (?!A), or with flags, (?<!A) */
@@ -5485,10 +6273,10 @@
 			next = NULL;
 		    break;
 		}
-		PL_reginput = s;
+		newstart = s;
 	    }
 	    else
-		PL_reginput = locinput;
+		newstart = locinput;
 
 	  do_ifmatch:
 	    ST.me = scan;
@@ -5496,8 +6284,9 @@
 	    logical = 0; /* XXX: reset state of logical once it has been saved into ST */
 	    
 	    /* execute body of (?...A) */
-	    PUSH_YES_STATE_GOTO(IFMATCH_A, NEXTOPER(NEXTOPER(scan)));
-	    /* NOTREACHED */
+	    PUSH_YES_STATE_GOTO(IFMATCH_A, NEXTOPER(NEXTOPER(scan)), newstart);
+	    assert(0); /* NOTREACHED */
+        }
 
 	case IFMATCH_A_fail: /* body of (?...A) failed */
 	    ST.wanted = !ST.wanted;
@@ -5510,11 +6299,9 @@
 	    else if (!ST.wanted)
 		sayNO;
 
-	    if (OP(ST.me) == SUSPEND)
-		locinput = PL_reginput;
-	    else {
-		locinput = PL_reginput = st->locinput;
-		nextchr = UCHARAT(locinput);
+	    if (OP(ST.me) != SUSPEND) {
+                /* restore old position except for (?>...) */
+		locinput = st->locinput;
 	    }
 	    scan = ST.me + ARG(ST.me);
 	    if (scan == ST.me)
@@ -5523,40 +6310,46 @@
 
 #undef ST
 
-	case LONGJMP:
+	case LONGJMP: /*  alternative with many branches compiles to
+                       * (BRANCHJ; EXACT ...; LONGJMP ) x N */
 	    next = scan + ARG(scan);
 	    if (next == scan)
 		next = NULL;
 	    break;
-	case COMMIT:
+
+	case COMMIT:  /*  (*COMMIT)  */
 	    reginfo->cutpoint = PL_regeol;
 	    /* FALLTHROUGH */
-	case PRUNE:
-	    PL_reginput = locinput;
+
+	case PRUNE:   /*  (*PRUNE)   */
 	    if (!scan->flags)
 	        sv_yes_mark = sv_commit = MUTABLE_SV(rexi->data->data[ ARG( scan ) ]);
-	    PUSH_STATE_GOTO(COMMIT_next,next);
-	    /* NOTREACHED */
+	    PUSH_STATE_GOTO(COMMIT_next, next, locinput);
+	    assert(0); /* NOTREACHED */
+
 	case COMMIT_next_fail:
 	    no_final = 1;    
 	    /* FALLTHROUGH */	    
-	case OPFAIL:
+
+	case OPFAIL:   /* (*FAIL)  */
 	    sayNO;
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 
 #define ST st->u.mark
-        case MARKPOINT:
+        case MARKPOINT: /*  (*MARK:foo)  */
             ST.prev_mark = mark_state;
             ST.mark_name = sv_commit = sv_yes_mark 
                 = MUTABLE_SV(rexi->data->data[ ARG( scan ) ]);
             mark_state = st;
-            ST.mark_loc = PL_reginput = locinput;
-            PUSH_YES_STATE_GOTO(MARKPOINT_next,next);
-            /* NOTREACHED */
+            ST.mark_loc = locinput;
+            PUSH_YES_STATE_GOTO(MARKPOINT_next, next, locinput);
+            assert(0); /* NOTREACHED */
+
         case MARKPOINT_next:
             mark_state = ST.prev_mark;
             sayYES;
-            /* NOTREACHED */
+            assert(0); /* NOTREACHED */
+
         case MARKPOINT_next_fail:
             if (popmark && sv_eq(ST.mark_name,popmark)) 
             {
@@ -5576,14 +6369,14 @@
             sv_yes_mark = mark_state ? 
                 mark_state->u.mark.mark_name : NULL;
             sayNO;
-            /* NOTREACHED */
-        case SKIP:
-            PL_reginput = locinput;
+            assert(0); /* NOTREACHED */
+
+        case SKIP:  /*  (*SKIP)  */
             if (scan->flags) {
                 /* (*SKIP) : if we fail we cut here*/
                 ST.mark_name = NULL;
                 ST.mark_loc = locinput;
-                PUSH_STATE_GOTO(SKIP_next,next);    
+                PUSH_STATE_GOTO(SKIP_next,next, locinput);
             } else {
                 /* (*SKIP:NAME) : if there is a (*MARK:NAME) fail where it was, 
                    otherwise do nothing.  Meaning we need to scan 
@@ -5596,7 +6389,7 @@
                                 find ) ) 
                     {
                         ST.mark_name = find;
-                        PUSH_STATE_GOTO( SKIP_next, next );
+                        PUSH_STATE_GOTO( SKIP_next, next, locinput);
                     }
                     cur = cur->u.mark.prev_mark;
                 }
@@ -5603,6 +6396,7 @@
             }    
             /* Didn't find our (*MARK:NAME) so ignore this (*SKIP:NAME) */
             break;    
+
 	case SKIP_next_fail:
 	    if (ST.mark_name) {
 	        /* (*CUT:NAME) - Set up to search for the name as we 
@@ -5620,62 +6414,34 @@
             } 
             no_final = 1; 
             sayNO;
-            /* NOTREACHED */
+            assert(0); /* NOTREACHED */
 #undef ST
-        case FOLDCHAR:
-            n = ARG(scan);
-            if ( n == (U32)what_len_TRICKYFOLD(locinput,utf8_target,ln) ) {
-                locinput += ln;
-            } else if ( LATIN_SMALL_LETTER_SHARP_S == n && !utf8_target && !UTF_PATTERN ) {
-                sayNO;
-            } else  {
-                U8 folded[UTF8_MAXBYTES_CASE+1];
-                STRLEN foldlen;
-                const char * const l = locinput;
-                char *e = PL_regeol;
-                to_uni_fold(n, folded, &foldlen);
 
-		if (! foldEQ_utf8((const char*) folded, 0,  foldlen, 1,
-                	       l, &e, 0,  utf8_target)) {
-                        sayNO;
-                }
-                locinput = e;
-            } 
-            nextchr = UCHARAT(locinput);  
-            break;
-        case LNBREAK:
-            if ((n=is_LNBREAK(locinput,utf8_target))) {
+        case LNBREAK: /* \R */
+            if ((n=is_LNBREAK_safe(locinput, PL_regeol, utf8_target))) {
                 locinput += n;
-                nextchr = UCHARAT(locinput);
             } else
                 sayNO;
             break;
 
-#define CASE_CLASS(nAmE)                              \
-        case nAmE:                                    \
-            if ((n=is_##nAmE(locinput,utf8_target))) {    \
-                locinput += n;                        \
-                nextchr = UCHARAT(locinput);          \
-            } else                                    \
-                sayNO;                                \
-            break;                                    \
-        case N##nAmE:                                 \
-            if ((n=is_##nAmE(locinput,utf8_target))) {    \
-                sayNO;                                \
-            } else {                                  \
-                locinput += UTF8SKIP(locinput);       \
-                nextchr = UCHARAT(locinput);          \
-            }                                         \
-            break
-
-        CASE_CLASS(VERTWS);
-        CASE_CLASS(HORIZWS);
-#undef CASE_CLASS
-
 	default:
 	    PerlIO_printf(Perl_error_log, "%"UVxf" %d\n",
 			  PTR2UV(scan), OP(scan));
 	    Perl_croak(aTHX_ "regexp memory corruption");
+
+        /* this is a point to jump to in order to increment
+         * locinput by one character */
+        increment_locinput:
+            assert(!NEXTCHR_IS_EOS);
+            if (utf8_target) {
+                locinput += PL_utf8skip[nextchr];
+                /* locinput is allowed to go 1 char off the end, but not 2+ */
+                if (locinput > PL_regeol)
+                    sayNO;
+            }
+            else
+                locinput++;
+            break;
 	    
 	} /* end switch */ 
 
@@ -5682,7 +6448,7 @@
         /* switch break jumps here */
 	scan = next; /* prepare to execute the next op and ... */
 	continue;    /* ... jump back to the top, reusing st */
-	/* NOTREACHED */
+	assert(0); /* NOTREACHED */
 
       push_yes_state:
 	/* push a state that backtracks on success */
@@ -5722,11 +6488,10 @@
 		newst = S_push_slab(aTHX);
 	    PL_regmatch_state = newst;
 
-	    locinput = PL_reginput;
-	    nextchr = UCHARAT(locinput);
+	    locinput = pushinput;
 	    st = newst;
 	    continue;
-	    /* NOTREACHED */
+	    assert(0); /* NOTREACHED */
 	}
     }
 
@@ -5774,10 +6539,8 @@
 	yes_state = st->u.yes.prev_yes_state;
 	PL_regmatch_state = st;
         
-        if (no_final) {
+        if (no_final)
             locinput= st->locinput;
-            nextchr = UCHARAT(locinput);
-        }
 	state_num = st->resume_state + no_final;
 	goto reenter_switch;
     }
@@ -5785,7 +6548,7 @@
     DEBUG_EXECUTE_r(PerlIO_printf(Perl_debug_log, "%sMatch successful!%s\n",
 			  PL_colors[4], PL_colors[5]));
 
-    if (PL_reg_eval_set) {
+    if (PL_reg_state.re_state_eval_setup_done) {
 	/* each successfully executed (?{...}) block does the equivalent of
 	 *   local $^R = do {...}
 	 * When popping the save stack, all these locals would be undone;
@@ -5822,7 +6585,6 @@
 	}
 	PL_regmatch_state = st;
 	locinput= st->locinput;
-	nextchr = UCHARAT(locinput);
 
 	DEBUG_STATE_pp("pop");
 	depth--;
@@ -5851,30 +6613,46 @@
         sv_setsv(sv_mrk, sv_yes_mark);
     }
 
+
+    if (last_pushed_cv) {
+	dSP;
+	POP_MULTICALL;
+        PERL_UNUSED_VAR(SP);
+    }
+
     /* clean up; in particular, free all slabs above current one */
     LEAVE_SCOPE(oldsave);
 
-    return result;
+    assert(!result ||  locinput - PL_bostr >= 0);
+    return result ?  locinput - PL_bostr : -1;
 }
 
 /*
  - regrepeat - repeatedly match something simple, report how many
+ *
+ * What 'simple' means is a node which can be the operand of a quantifier like
+ * '+', or {1,3}
+ *
+ * startposp - pointer a pointer to the start position.  This is updated
+ *             to point to the byte following the highest successful
+ *             match.
+ * p         - the regnode to be repeatedly matched against.
+ * max       - maximum number of things to match.
+ * depth     - (for debugging) backtracking depth.
  */
-/*
- * [This routine now assumes that it will only match on things of length 1.
- * That was true before, but now we assume scan - reginput is the count,
- * rather than incrementing count on every character.  [Er, except utf8.]]
- */
 STATIC I32
-S_regrepeat(pTHX_ const regexp *prog, const regnode *p, I32 max, int depth)
+S_regrepeat(pTHX_ regexp *prog, char **startposp, const regnode *p,
+                I32 max, int depth, bool is_utf8_pat)
 {
     dVAR;
-    register char *scan;
-    register I32 c;
-    register char *loceol = PL_regeol;
-    register I32 hardcount = 0;
-    register bool utf8_target = PL_reg_match_utf8;
+    char *scan;     /* Pointer to current position in target string */
+    I32 c;
+    char *loceol = PL_regeol;   /* local version */
+    I32 hardcount = 0;  /* How many matches so far */
+    bool utf8_target = PL_reg_match_utf8;
+    int to_complement = 0;  /* Invert the result? */
     UV utf8_flags;
+    _char_class_number classnum;
 #ifndef DEBUGGING
     PERL_UNUSED_ARG(depth);
 #endif
@@ -5881,15 +6659,38 @@
 
     PERL_ARGS_ASSERT_REGREPEAT;
 
-    scan = PL_reginput;
+    scan = *startposp;
     if (max == REG_INFTY)
 	max = I32_MAX;
-    else if (max < loceol - scan)
+    else if (! utf8_target && loceol - scan > max)
 	loceol = scan + max;
+
+    /* Here, for the case of a non-UTF-8 target we have adjusted <loceol> down
+     * to the maximum of how far we should go in it (leaving it set to the real
+     * end, if the maximum permissible would take us beyond that).  This allows
+     * us to make the loop exit condition that we haven't gone past <loceol> to
+     * also mean that we haven't exceeded the max permissible count, saving a
+     * test each time through the loop.  But it assumes that the OP matches a
+     * single byte, which is true for most of the OPs below when applied to a
+     * non-UTF-8 target.  Those relatively few OPs that don't have this
+     * characteristic will have to compensate.
+     *
+     * There is no adjustment for UTF-8 targets, as the number of bytes per
+     * character varies.  OPs will have to test both that the count is less
+     * than the max permissible (using <hardcount> to keep track), and that we
+     * are still within the bounds of the string (using <loceol>.  A few OPs
+     * match a single byte no matter what the encoding.  They can omit the max
+     * test if, for the UTF-8 case, they do the adjustment that was skipped
+     * above.
+     *
+     * Thus, the code above sets things up for the common case; and exceptional
+     * cases need extra work; the common case is to make sure <scan> doesn't
+     * go past <loceol>, and for UTF-8 to also use <hardcount> to make sure the
+     * count doesn't exceed the maximum permissible */
+
     switch (OP(p)) {
     case REG_ANY:
 	if (utf8_target) {
-	    loceol = PL_regeol;
 	    while (scan < loceol && hardcount < max && *scan != '\n') {
 		scan += UTF8SKIP(scan);
 		hardcount++;
@@ -5901,7 +6702,6 @@
 	break;
     case SANY:
         if (utf8_target) {
-	    loceol = PL_regeol;
 	    while (scan < loceol && hardcount < max) {
 	        scan += UTF8SKIP(scan);
 		hardcount++;
@@ -5910,35 +6710,69 @@
 	else
 	    scan = loceol;
 	break;
-    case CANY:
-	scan = loceol;
+    case CANY:  /* Move <scan> forward <max> bytes, unless goes off end */
+        if (utf8_target && loceol - scan > max) {
+
+            /* <loceol> hadn't been adjusted in the UTF-8 case */
+            scan +=  max;
+        }
+        else {
+            scan = loceol;
+        }
 	break;
     case EXACT:
-	/* To get here, EXACTish nodes must have *byte* length == 1.  That
-	 * means they match only characters in the string that can be expressed
-	 * as a single byte.  For non-utf8 strings, that means a simple match.
-	 * For utf8 strings, the character matched must be an invariant, or
-	 * downgradable to a single byte.  The pattern's utf8ness is
-	 * irrelevant, as since it's a single byte, it either isn't utf8, or if
-	 * it is, it's an invariant */
+        assert(STR_LEN(p) == is_utf8_pat ? UTF8SKIP(STRING(p)) : 1);
 
 	c = (U8)*STRING(p);
-	assert(! UTF_PATTERN || UNI_IS_INVARIANT(c));
 
-	if (! utf8_target || UNI_IS_INVARIANT(c)) {
+        /* Can use a simple loop if the pattern char to match on is invariant
+         * under UTF-8, or both target and pattern aren't UTF-8.  Note that we
+         * can use UTF8_IS_INVARIANT() even if the pattern isn't UTF-8, as it's
+         * true iff it doesn't matter if the argument is in UTF-8 or not */
+        if (UTF8_IS_INVARIANT(c) || (! utf8_target && ! is_utf8_pat)) {
+            if (utf8_target && loceol - scan > max) {
+                /* We didn't adjust <loceol> because is UTF-8, but ok to do so,
+                 * since here, to match at all, 1 char == 1 byte */
+                loceol = scan + max;
+            }
 	    while (scan < loceol && UCHARAT(scan) == c) {
 		scan++;
 	    }
 	}
-	else {
+	else if (is_utf8_pat) {
+            if (utf8_target) {
+                STRLEN scan_char_len;
 
-	    /* Here, the string is utf8, and the pattern char is different
-	     * in utf8 than not, so can't compare them directly.  Outside the
-	     * loop, find find the two utf8 bytes that represent c, and then
-	     * look for those in sequence in the utf8 string */
+                /* When both target and pattern are UTF-8, we have to do
+                 * string EQ */
+                while (hardcount < max
+                       && scan < loceol
+                       && (scan_char_len = UTF8SKIP(scan)) <= STR_LEN(p)
+                       && memEQ(scan, STRING(p), scan_char_len))
+                {
+                    scan += scan_char_len;
+                    hardcount++;
+                }
+            }
+            else if (! UTF8_IS_ABOVE_LATIN1(c)) {
+
+                /* Target isn't utf8; convert the character in the UTF-8
+                 * pattern to non-UTF8, and do a simple loop */
+                c = TWO_BYTE_UTF8_TO_UNI(c, *(STRING(p) + 1));
+                while (scan < loceol && UCHARAT(scan) == c) {
+                    scan++;
+                }
+            } /* else pattern char is above Latin1, can't possibly match the
+                 non-UTF-8 target */
+        }
+        else {
+
+            /* Here, the string must be utf8; pattern isn't, and <c> is
+             * different in utf8 than not, so can't compare them directly.
+             * Outside the loop, find the two utf8 bytes that represent c, and
+             * then look for those in sequence in the utf8 string */
 	    U8 high = UTF8_TWO_BYTE_HI(c);
 	    U8 low = UTF8_TWO_BYTE_LO(c);
-	    loceol = PL_regeol;
 
 	    while (hardcount < max
 		    && scan + 1 < loceol
@@ -5950,79 +6784,92 @@
 	    }
 	}
 	break;
+
     case EXACTFA:
 	utf8_flags = FOLDEQ_UTF8_NOMIX_ASCII;
 	goto do_exactf;
 
     case EXACTFL:
-	PL_reg_flags |= RF_tainted;
+        RXp_MATCH_TAINTED_on(prog);
 	utf8_flags = FOLDEQ_UTF8_LOCALE;
 	goto do_exactf;
 
     case EXACTF:
+	    utf8_flags = 0;
+	    goto do_exactf;
+
+    case EXACTFU_SS:
+    case EXACTFU_TRICKYFOLD:
     case EXACTFU:
-	utf8_flags = 0;
+	utf8_flags = is_utf8_pat ? FOLDEQ_S2_ALREADY_FOLDED : 0;
 
-	/* The comments for the EXACT case above apply as well to these fold
-	 * ones */
+    do_exactf: {
+        int c1, c2;
+        U8 c1_utf8[UTF8_MAXBYTES+1], c2_utf8[UTF8_MAXBYTES+1];
 
-    do_exactf:
-	c = (U8)*STRING(p);
-	assert(! UTF_PATTERN || UNI_IS_INVARIANT(c));
+        assert(STR_LEN(p) == is_utf8_pat ? UTF8SKIP(STRING(p)) : 1);
 
-	if (utf8_target) { /* Use full Unicode fold matching */
-	    char *tmpeol = loceol;
-	    while (hardcount < max
-		    && foldEQ_utf8_flags(scan, &tmpeol, 0, utf8_target,
-				   STRING(p), NULL, 1, cBOOL(UTF_PATTERN), utf8_flags))
-	    {
-		scan = tmpeol;
-		tmpeol = loceol;
-		hardcount++;
-	    }
-
-	    /* XXX Note that the above handles properly the German sharp s in
-	     * the pattern matching ss in the string.  But it doesn't handle
-	     * properly cases where the string contains say 'LIGATURE ff' and
-	     * the pattern is 'f+'.  This would require, say, a new function or
-	     * revised interface to foldEQ_utf8(), in which the maximum number
-	     * of characters to match could be passed and it would return how
-	     * many actually did.  This is just one of many cases where
-	     * multi-char folds don't work properly, and so the fix is being
-	     * deferred */
+        if (S_setup_EXACTISH_ST_c1_c2(aTHX_ p, &c1, c1_utf8, &c2, c2_utf8,
+                                        is_utf8_pat))
+        {
+            if (c1 == CHRTEST_VOID) {
+                /* Use full Unicode fold matching */
+                char *tmpeol = PL_regeol;
+                STRLEN pat_len = is_utf8_pat ? UTF8SKIP(STRING(p)) : 1;
+                while (hardcount < max
+                        && foldEQ_utf8_flags(scan, &tmpeol, 0, utf8_target,
+                                             STRING(p), NULL, pat_len,
+                                             is_utf8_pat, utf8_flags))
+                {
+                    scan = tmpeol;
+                    tmpeol = PL_regeol;
+                    hardcount++;
+                }
+            }
+            else if (utf8_target) {
+                if (c1 == c2) {
+                    while (scan < loceol
+                           && hardcount < max
+                           && memEQ(scan, c1_utf8, UTF8SKIP(scan)))
+                    {
+                        scan += UTF8SKIP(scan);
+                        hardcount++;
+                    }
+                }
+                else {
+                    while (scan < loceol
+                           && hardcount < max
+                           && (memEQ(scan, c1_utf8, UTF8SKIP(scan))
+                               || memEQ(scan, c2_utf8, UTF8SKIP(scan))))
+                    {
+                        scan += UTF8SKIP(scan);
+                        hardcount++;
+                    }
+                }
+            }
+            else if (c1 == c2) {
+                while (scan < loceol && UCHARAT(scan) == c1) {
+                    scan++;
+                }
+            }
+            else {
+                while (scan < loceol &&
+                    (UCHARAT(scan) == c1 || UCHARAT(scan) == c2))
+                {
+                    scan++;
+                }
+            }
 	}
-	else {
-	    U8 folded;
-
-	    /* Here, the string isn't utf8 and c is a single byte; and either
-	     * the pattern isn't utf8 or c is an invariant, so its utf8ness
-	     * doesn't affect c.  Can just do simple comparisons for exact or
-	     * fold matching. */
-	    switch (OP(p)) {
-		case EXACTF: folded = PL_fold[c]; break;
-		case EXACTFA:
-		case EXACTFU: folded = PL_fold_latin1[c]; break;
-		case EXACTFL: folded = PL_fold_locale[c]; break;
-		default: Perl_croak(aTHX_ "panic: Unexpected op %u", OP(p));
-	    }
-	    while (scan < loceol &&
-		   (UCHARAT(scan) == c || UCHARAT(scan) == folded))
-	    {
-		scan++;
-	    }
-	}
 	break;
-    case ANYOFV:
+    }
     case ANYOF:
-	if (utf8_target || OP(p) == ANYOFV) {
-	    STRLEN inclasslen;
-	    loceol = PL_regeol;
-	    inclasslen = loceol - scan;
+    case ANYOF_WARN_SUPER:
+	if (utf8_target) {
 	    while (hardcount < max
-		   && ((inclasslen = loceol - scan) > 0)
-		   && reginclass(prog, p, (U8*)scan, &inclasslen, utf8_target))
+                   && scan < loceol
+		   && reginclass(prog, p, (U8*)scan, utf8_target))
 	    {
-		scan += inclasslen;
+		scan += UTF8SKIP(scan);
 		hardcount++;
 	    }
 	} else {
@@ -6030,359 +6877,261 @@
 		scan++;
 	}
 	break;
-    case ALNUMU:
-	if (utf8_target) {
-    utf8_wordchar:
-	    loceol = PL_regeol;
-	    LOAD_UTF8_CHARCLASS_ALNUM();
-	    while (hardcount < max && scan < loceol &&
-                   swash_fetch(PL_utf8_alnum, (U8*)scan, utf8_target))
+
+    /* The argument (FLAGS) to all the POSIX node types is the class number */
+
+    case NPOSIXL:
+        to_complement = 1;
+        /* FALLTHROUGH */
+
+    case POSIXL:
+        RXp_MATCH_TAINTED_on(prog);
+	if (! utf8_target) {
+	    while (scan < loceol && to_complement ^ cBOOL(isFOO_lc(FLAGS(p),
+                                                                   *scan)))
             {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-        } else {
-            while (scan < loceol && isWORDCHAR_L1((U8) *scan)) {
-                scan++;
+		scan++;
             }
-	}
-	break;
-    case ALNUM:
-	if (utf8_target)
-	    goto utf8_wordchar;
-	while (scan < loceol && isALNUM((U8) *scan)) {
-	    scan++;
-	}
-	break;
-    case ALNUMA:
-	while (scan < loceol && isWORDCHAR_A((U8) *scan)) {
-	    scan++;
-	}
-	break;
-    case ALNUML:
-	PL_reg_flags |= RF_tainted;
-	if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol &&
-		   isALNUM_LC_utf8((U8*)scan)) {
-		scan += UTF8SKIP(scan);
+	} else {
+	    while (hardcount < max && scan < loceol
+                   && to_complement ^ cBOOL(isFOO_utf8_lc(FLAGS(p),
+                                                                  (U8 *) scan)))
+            {
+                scan += UTF8SKIP(scan);
 		hardcount++;
 	    }
-	} else {
-	    while (scan < loceol && isALNUM_LC(*scan))
-		scan++;
 	}
 	break;
-    case NALNUMU:
-	if (utf8_target) {
 
-    utf8_Nwordchar:
+    case POSIXD:
+        if (utf8_target) {
+            goto utf8_posix;
+        }
+        /* FALLTHROUGH */
 
-	    loceol = PL_regeol;
-	    LOAD_UTF8_CHARCLASS_ALNUM();
-	    while (hardcount < max && scan < loceol &&
-                   ! swash_fetch(PL_utf8_alnum, (U8*)scan, utf8_target))
-            {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-        } else {
-            while (scan < loceol && ! isWORDCHAR_L1((U8) *scan)) {
-                scan++;
-            }
-	}
-	break;
-    case NALNUM:
-	if (utf8_target)
-	    goto utf8_Nwordchar;
-	while (scan < loceol && ! isALNUM((U8) *scan)) {
+    case POSIXA:
+        if (utf8_target && loceol - scan > max) {
+
+            /* We didn't adjust <loceol> at the beginning of this routine
+             * because is UTF-8, but it is actually ok to do so, since here, to
+             * match, 1 char == 1 byte. */
+            loceol = scan + max;
+        }
+        while (scan < loceol && _generic_isCC_A((U8) *scan, FLAGS(p))) {
 	    scan++;
 	}
 	break;
-    case NALNUMA:
-	if (utf8_target) {
-	    while (scan < loceol && ! isWORDCHAR_A((U8) *scan)) {
-		scan += UTF8SKIP(scan);
-	    }
-	}
-	else {
-	    while (scan < loceol && ! isWORDCHAR_A((U8) *scan)) {
-		scan++;
-	    }
-	}
-	break;
-    case NALNUML:
-	PL_reg_flags |= RF_tainted;
-	if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol &&
-		   !isALNUM_LC_utf8((U8*)scan)) {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && !isALNUM_LC(*scan))
-		scan++;
-	}
-	break;
-    case SPACEU:
-	if (utf8_target) {
 
-    utf8_space:
+    case NPOSIXD:
+        if (utf8_target) {
+            to_complement = 1;
+            goto utf8_posix;
+        }
+        /* FALL THROUGH */
 
-	    loceol = PL_regeol;
-	    LOAD_UTF8_CHARCLASS_SPACE();
-	    while (hardcount < max && scan < loceol &&
-		   (*scan == ' ' ||
-                    swash_fetch(PL_utf8_space,(U8*)scan, utf8_target)))
-            {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	    break;
-	}
-	else {
-            while (scan < loceol && isSPACE_L1((U8) *scan)) {
+    case NPOSIXA:
+        if (! utf8_target) {
+            while (scan < loceol && ! _generic_isCC_A((U8) *scan, FLAGS(p))) {
                 scan++;
             }
-	    break;
-	}
-    case SPACE:
-	if (utf8_target)
-	    goto utf8_space;
+        }
+        else {
 
-	while (scan < loceol && isSPACE((U8) *scan)) {
-	    scan++;
-	}
-	break;
-    case SPACEA:
-	while (scan < loceol && isSPACE_A((U8) *scan)) {
-	    scan++;
-	}
-	break;
-    case SPACEL:
-	PL_reg_flags |= RF_tainted;
-	if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol &&
-		   isSPACE_LC_utf8((U8*)scan)) {
-		scan += UTF8SKIP(scan);
+            /* The complement of something that matches only ASCII matches all
+             * UTF-8 variant code points, plus everything in ASCII that isn't
+             * in the class. */
+	    while (hardcount < max && scan < loceol
+                   && (! UTF8_IS_INVARIANT(*scan)
+                       || ! _generic_isCC_A((U8) *scan, FLAGS(p))))
+            {
+                scan += UTF8SKIP(scan);
 		hardcount++;
 	    }
-	} else {
-	    while (scan < loceol && isSPACE_LC(*scan))
-		scan++;
-	}
-	break;
-    case NSPACEU:
-	if (utf8_target) {
+        }
+        break;
 
-    utf8_Nspace:
+    case NPOSIXU:
+        to_complement = 1;
+        /* FALLTHROUGH */
 
-	    loceol = PL_regeol;
-	    LOAD_UTF8_CHARCLASS_SPACE();
-	    while (hardcount < max && scan < loceol &&
-		   ! (*scan == ' ' ||
-                      swash_fetch(PL_utf8_space,(U8*)scan, utf8_target)))
+    case POSIXU:
+	if (! utf8_target) {
+            while (scan < loceol && to_complement
+                                ^ cBOOL(_generic_isCC((U8) *scan, FLAGS(p))))
             {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	    break;
+                scan++;
+            }
 	}
 	else {
-            while (scan < loceol && ! isSPACE_L1((U8) *scan)) {
-                scan++;
+      utf8_posix:
+            classnum = (_char_class_number) FLAGS(p);
+            if (classnum < _FIRST_NON_SWASH_CC) {
+
+                /* Here, a swash is needed for above-Latin1 code points.
+                 * Process as many Latin1 code points using the built-in rules.
+                 * Go to another loop to finish processing upon encountering
+                 * the first Latin1 code point.  We could do that in this loop
+                 * as well, but the other way saves having to test if the swash
+                 * has been loaded every time through the loop: extra space to
+                 * save a test. */
+                while (hardcount < max && scan < loceol) {
+                    if (UTF8_IS_INVARIANT(*scan)) {
+                        if (! (to_complement ^ cBOOL(_generic_isCC((U8) *scan,
+                                                                   classnum))))
+                        {
+                            break;
+                        }
+                        scan++;
+                    }
+                    else if (UTF8_IS_DOWNGRADEABLE_START(*scan)) {
+                        if (! (to_complement
+                              ^ cBOOL(_generic_isCC(TWO_BYTE_UTF8_TO_UNI(*scan,
+                                                                   *(scan + 1)),
+                                                    classnum))))
+                        {
+                            break;
+                        }
+                        scan += 2;
+                    }
+                    else {
+                        goto found_above_latin1;
+                    }
+
+                    hardcount++;
+                }
             }
+            else {
+                /* For these character classes, the knowledge of how to handle
+                 * every code point is compiled in to Perl via a macro.  This
+                 * code is written for making the loops as tight as possible.
+                 * It could be refactored to save space instead */
+                switch (classnum) {
+                    case _CC_ENUM_SPACE:    /* XXX would require separate code
+                                               if we revert the change of \v
+                                               matching this */
+                        /* FALL THROUGH */
+                    case _CC_ENUM_PSXSPC:
+                        while (hardcount < max
+                               && scan < loceol
+                               && (to_complement ^ cBOOL(isSPACE_utf8(scan))))
+                        {
+                            scan += UTF8SKIP(scan);
+                            hardcount++;
+                        }
+                        break;
+                    case _CC_ENUM_BLANK:
+                        while (hardcount < max
+                               && scan < loceol
+                               && (to_complement ^ cBOOL(isBLANK_utf8(scan))))
+                        {
+                            scan += UTF8SKIP(scan);
+                            hardcount++;
+                        }
+                        break;
+                    case _CC_ENUM_XDIGIT:
+                        while (hardcount < max
+                               && scan < loceol
+                               && (to_complement ^ cBOOL(isXDIGIT_utf8(scan))))
+                        {
+                            scan += UTF8SKIP(scan);
+                            hardcount++;
+                        }
+                        break;
+                    case _CC_ENUM_VERTSPACE:
+                        while (hardcount < max
+                               && scan < loceol
+                               && (to_complement ^ cBOOL(isVERTWS_utf8(scan))))
+                        {
+                            scan += UTF8SKIP(scan);
+                            hardcount++;
+                        }
+                        break;
+                    case _CC_ENUM_CNTRL:
+                        while (hardcount < max
+                               && scan < loceol
+                               && (to_complement ^ cBOOL(isCNTRL_utf8(scan))))
+                        {
+                            scan += UTF8SKIP(scan);
+                            hardcount++;
+                        }
+                        break;
+                    default:
+                        Perl_croak(aTHX_ "panic: regrepeat() node %d='%s' has an unexpected character class '%d'", OP(p), PL_reg_name[OP(p)], classnum);
+                }
+            }
 	}
-	break;
-    case NSPACE:
-	if (utf8_target)
-	    goto utf8_Nspace;
+        break;
 
-	while (scan < loceol && ! isSPACE((U8) *scan)) {
-	    scan++;
-	}
-	break;
-    case NSPACEA:
-	if (utf8_target) {
-	    while (scan < loceol && ! isSPACE_A((U8) *scan)) {
-		scan += UTF8SKIP(scan);
-	    }
-	}
-	else {
-	    while (scan < loceol && ! isSPACE_A((U8) *scan)) {
-		scan++;
-	    }
-	}
-	break;
-    case NSPACEL:
-	PL_reg_flags |= RF_tainted;
-	if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol &&
-		   !isSPACE_LC_utf8((U8*)scan)) {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && !isSPACE_LC(*scan))
-		scan++;
-	}
-	break;
-    case DIGIT:
-	if (utf8_target) {
-	    loceol = PL_regeol;
-	    LOAD_UTF8_CHARCLASS_DIGIT();
-	    while (hardcount < max && scan < loceol &&
-		   swash_fetch(PL_utf8_digit, (U8*)scan, utf8_target)) {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && isDIGIT(*scan))
-		scan++;
-	}
-	break;
-    case DIGITA:
-	while (scan < loceol && isDIGIT_A((U8) *scan)) {
-	    scan++;
-	}
-	break;
-    case DIGITL:
-	PL_reg_flags |= RF_tainted;
-	if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol &&
-		   isDIGIT_LC_utf8((U8*)scan)) {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && isDIGIT_LC(*scan))
-		scan++;
-	}
-	break;
-    case NDIGIT:
-	if (utf8_target) {
-	    loceol = PL_regeol;
-	    LOAD_UTF8_CHARCLASS_DIGIT();
-	    while (hardcount < max && scan < loceol &&
-		   !swash_fetch(PL_utf8_digit, (U8*)scan, utf8_target)) {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && !isDIGIT(*scan))
-		scan++;
-	}
-	break;
-    case NDIGITA:
-	if (utf8_target) {
-	    while (scan < loceol && ! isDIGIT_A((U8) *scan)) {
-		scan += UTF8SKIP(scan);
-	    }
-	}
-	else {
-	    while (scan < loceol && ! isDIGIT_A((U8) *scan)) {
-		scan++;
-	    }
-	}
-	break;
-    case NDIGITL:
-	PL_reg_flags |= RF_tainted;
-	if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol &&
-		   !isDIGIT_LC_utf8((U8*)scan)) {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && !isDIGIT_LC(*scan))
-		scan++;
-	}
-	break;
+      found_above_latin1:   /* Continuation of POSIXU and NPOSIXU */
+
+        /* Load the swash if not already present */
+        if (! PL_utf8_swash_ptrs[classnum]) {
+            U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
+            PL_utf8_swash_ptrs[classnum] = _core_swash_init(
+                                        "utf8", swash_property_names[classnum],
+                                        &PL_sv_undef, 1, 0, NULL, &flags);
+        }
+
+        while (hardcount < max && scan < loceol
+               && to_complement ^ cBOOL(_generic_utf8(
+                                       classnum,
+                                       scan,
+                                       swash_fetch(PL_utf8_swash_ptrs[classnum],
+                                                   (U8 *) scan,
+                                                   TRUE))))
+        {
+            scan += UTF8SKIP(scan);
+            hardcount++;
+        }
+        break;
+
     case LNBREAK:
         if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol && (c=is_LNBREAK_utf8(scan))) {
+	    while (hardcount < max && scan < loceol &&
+                    (c=is_LNBREAK_utf8_safe(scan, loceol))) {
 		scan += c;
 		hardcount++;
 	    }
 	} else {
-	    /*
-	      LNBREAK can match two latin chars, which is ok,
-	      because we have a null terminated string, but we
-	      have to use hardcount in this situation
-	    */
-	    while (scan < loceol && (c=is_LNBREAK_latin1(scan)))  {
+            /* LNBREAK can match one or two latin chars, which is ok, but we
+             * have to use hardcount in this situation, and throw away the
+             * adjustment to <loceol> done before the switch statement */
+            loceol = PL_regeol;
+	    while (scan < loceol && (c=is_LNBREAK_latin1_safe(scan, loceol))) {
 		scan+=c;
 		hardcount++;
 	    }
-	}	
+	}
 	break;
-    case HORIZWS:
-        if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol && (c=is_HORIZWS_utf8(scan))) {
-		scan += c;
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && is_HORIZWS_latin1(scan)) 
-		scan++;		
-	}	
-	break;
-    case NHORIZWS:
-        if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol && !is_HORIZWS_utf8(scan)) {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && !is_HORIZWS_latin1(scan))
-		scan++;
 
-	}	
-	break;
-    case VERTWS:
-        if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol && (c=is_VERTWS_utf8(scan))) {
-		scan += c;
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && is_VERTWS_latin1(scan)) 
-		scan++;
+    case BOUND:
+    case BOUNDA:
+    case BOUNDL:
+    case BOUNDU:
+    case EOS:
+    case GPOS:
+    case KEEPS:
+    case NBOUND:
+    case NBOUNDA:
+    case NBOUNDL:
+    case NBOUNDU:
+    case OPFAIL:
+    case SBOL:
+    case SEOL:
+        /* These are all 0 width, so match right here or not at all. */
+        break;
 
-	}	
-	break;
-    case NVERTWS:
-        if (utf8_target) {
-	    loceol = PL_regeol;
-	    while (hardcount < max && scan < loceol && !is_VERTWS_utf8(scan)) {
-		scan += UTF8SKIP(scan);
-		hardcount++;
-	    }
-	} else {
-	    while (scan < loceol && !is_VERTWS_latin1(scan)) 
-		scan++;
-          
-	}	
-	break;
+    default:
+        Perl_croak(aTHX_ "panic: regrepeat() called with unrecognized node type %d='%s'", OP(p), PL_reg_name[OP(p)]);
+        assert(0); /* NOTREACHED */
 
-    default:		/* Called on something of 0 width. */
-	break;		/* So match right here or not at all. */
     }
 
     if (hardcount)
 	c = hardcount;
     else
-	c = scan - PL_reginput;
-    PL_reginput = scan;
+	c = scan - *startposp;
+    *startposp = scan;
 
     DEBUG_r({
 	GET_RE_DEBUG_FLAGS_DECL;
@@ -6401,20 +7150,42 @@
 
 #if !defined(PERL_IN_XSUB_RE) || defined(PLUGGABLE_RE_EXTENSION)
 /*
-- regclass_swash - prepare the utf8 swash
-*/
-
+- regclass_swash - prepare the utf8 swash.  Wraps the shared core version to
+create a copy so that changes the caller makes won't change the shared one.
+If <altsvp> is non-null, will return NULL in it, for back-compat.
+ */
 SV *
-Perl_regclass_swash(pTHX_ const regexp *prog, register const regnode* node, bool doinit, SV** listsvp, SV **altsvp)
+Perl_regclass_swash(pTHX_ const regexp *prog, const regnode* node, bool doinit, SV** listsvp, SV **altsvp)
 {
+    PERL_ARGS_ASSERT_REGCLASS_SWASH;
+
+    if (altsvp) {
+        *altsvp = NULL;
+    }
+
+    return newSVsv(core_regclass_swash(prog, node, doinit, listsvp));
+}
+#endif
+
+STATIC SV *
+S_core_regclass_swash(pTHX_ const regexp *prog, const regnode* node, bool doinit, SV** listsvp)
+{
+    /* Returns the swash for the input 'node' in the regex 'prog'.
+     * If <doinit> is true, will attempt to create the swash if not already
+     *	  done.
+     * If <listsvp> is non-null, will return the swash initialization string in
+     *	  it.
+     * Tied intimately to how regcomp.c sets up the data structure */
+
     dVAR;
     SV *sw  = NULL;
     SV *si  = NULL;
-    SV *alt = NULL;
+    SV*  invlist = NULL;
+
     RXi_GET_DECL(prog,progi);
     const struct reg_data * const data = prog ? progi->data : NULL;
 
-    PERL_ARGS_ASSERT_REGCLASS_SWASH;
+    PERL_ARGS_ASSERT_CORE_REGCLASS_SWASH;
 
     assert(ANYOF_NONBITMAP(node));
 
@@ -6425,34 +7196,65 @@
 	    SV * const rv = MUTABLE_SV(data->data[n]);
 	    AV * const av = MUTABLE_AV(SvRV(rv));
 	    SV **const ary = AvARRAY(av);
-	    SV **a, **b;
+	    U8 swash_init_flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
 	
-	    /* See the end of regcomp.c:S_regclass() for
-	     * documentation of these array elements. */
+	    si = *ary;	/* ary[0] = the string to initialize the swash with */
 
-	    si = *ary;
-	    a  = SvROK(ary[1]) ? &ary[1] : NULL;
-	    b  = SvTYPE(ary[2]) == SVt_PVAV ? &ary[2] : NULL;
+	    /* Elements 2 and 3 are either both present or both absent. [2] is
+	     * any inversion list generated at compile time; [3] indicates if
+	     * that inversion list has any user-defined properties in it. */
+	    if (av_len(av) >= 2) {
+		invlist = ary[2];
+		if (SvUV(ary[3])) {
+                    swash_init_flags |= _CORE_SWASH_INIT_USER_DEFINED_PROPERTY;
+                }
+	    }
+	    else {
+		invlist = NULL;
+	    }
 
-	    if (a)
-		sw = *a;
+	    /* Element [1] is reserved for the set-up swash.  If already there,
+	     * return it; if not, create it and store it there */
+	    if (SvROK(ary[1])) {
+		sw = ary[1];
+	    }
 	    else if (si && doinit) {
-		sw = swash_init("utf8", "", si, 1, 0);
+
+		sw = _core_swash_init("utf8", /* the utf8 package */
+				      "", /* nameless */
+				      si,
+				      1, /* binary */
+				      0, /* not from tr/// */
+				      invlist,
+				      &swash_init_flags);
 		(void)av_store(av, 1, sw);
 	    }
-	    if (b)
-	        alt = *b;
 	}
     }
 	
-    if (listsvp)
-	*listsvp = si;
-    if (altsvp)
-	*altsvp  = alt;
+    if (listsvp) {
+	SV* matches_string = newSVpvn("", 0);
 
+	/* Use the swash, if any, which has to have incorporated into it all
+	 * possibilities */
+	if ((! sw || (invlist = _get_swash_invlist(sw)) == NULL)
+            && (si && si != &PL_sv_undef))
+        {
+
+	    /* If no swash, use the input initialization string, if available */
+	    sv_catsv(matches_string, si);
+	}
+
+	/* Add the inversion list to whatever we have.  This may have come from
+	 * the swash, or from an input parameter */
+	if (invlist) {
+	    sv_catsv(matches_string, _invlist_contents(invlist));
+	}
+	*listsvp = matches_string;
+    }
+
     return sw;
 }
-#endif
 
 /*
  - reginclass - determine if a character falls into a character class
@@ -6459,15 +7261,9 @@
  
   n is the ANYOF regnode
   p is the target string
-  lenp is pointer to the maximum number of bytes of how far to go in p
-    (This is assumed wthout checking to always be at least the current
-    character's size)
   utf8_target tells whether p is in UTF-8.
 
-  Returns true if matched; false otherwise.  If lenp is not NULL, on return
-  from a successful match, the value it points to will be updated to how many
-  bytes in p were matched.  If there was no match, the value is undefined,
-  possibly changed from the input.
+  Returns true if matched; false otherwise.
 
   Note that this can be a synthetic start class, a combination of various
   nodes, so things you think might be mutually exclusive, such as locale,
@@ -6476,19 +7272,19 @@
  */
 
 STATIC bool
-S_reginclass(pTHX_ const regexp * const prog, register const regnode * const n, register const U8* const p, STRLEN* lenp, register const bool utf8_target)
+S_reginclass(pTHX_ regexp * const prog, const regnode * const n, const U8* const p, const bool utf8_target)
 {
     dVAR;
     const char flags = ANYOF_FLAGS(n);
     bool match = FALSE;
     UV c = *p;
-    STRLEN c_len = 0;
-    STRLEN maxlen;
 
     PERL_ARGS_ASSERT_REGINCLASS;
 
-    /* If c is not already the code point, get it */
-    if (utf8_target && !UTF8_IS_INVARIANT(c)) {
+    /* If c is not already the code point, get it.  Note that
+     * UTF8_IS_INVARIANT() works even if not in UTF-8 */
+    if (! UTF8_IS_INVARIANT(c) && utf8_target) {
+        STRLEN c_len = 0;
 	c = utf8n_to_uvchr(p, UTF8_MAXBYTES, &c_len,
 		(UTF8_ALLOW_DEFAULT & UTF8_ALLOW_ANYUV)
 		| UTF8_ALLOW_FFFF | UTF8_CHECK_ONLY);
@@ -6497,22 +7293,7 @@
 	if (c_len == (STRLEN)-1)
 	    Perl_croak(aTHX_ "Malformed UTF-8 character (fatal)");
     }
-    else {
-	c_len = 1;
-    }
 
-    /* Use passed in max length, or one character if none passed in or less
-     * than one character.  And assume will match just one character.  This is
-     * overwritten later if matched more. */
-    if (lenp) {
-	maxlen = (*lenp > c_len) ? *lenp : c_len;
-	*lenp = c_len;
-
-    }
-    else {
-	maxlen = c_len;
-    }
-
     /* If this character is potentially in the bitmap, check it */
     if (c < 256) {
 	if (ANYOF_BITMAP_TEST(n, c))
@@ -6523,55 +7304,64 @@
 	{
 	    match = TRUE;
 	}
-
 	else if (flags & ANYOF_LOCALE) {
-	    PL_reg_flags |= RF_tainted;
+	    RXp_MATCH_TAINTED_on(prog);
 
-	    if ((flags & ANYOF_LOC_NONBITMAP_FOLD)
+	    if ((flags & ANYOF_LOC_FOLD)
 		 && ANYOF_BITMAP_TEST(n, PL_fold_locale[c]))
 	    {
 		match = TRUE;
 	    }
-	    else if (ANYOF_CLASS_TEST_ANY_SET(n) &&
-		     ((ANYOF_CLASS_TEST(n, ANYOF_ALNUM)   &&  isALNUM_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NALNUM)  && !isALNUM_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_SPACE)   &&  isSPACE_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NSPACE)  && !isSPACE_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_DIGIT)   &&  isDIGIT_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NDIGIT)  && !isDIGIT_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_ALNUMC)  &&  isALNUMC_LC(c)) ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NALNUMC) && !isALNUMC_LC(c)) ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_ALPHA)   &&  isALPHA_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NALPHA)  && !isALPHA_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_ASCII)   &&  isASCII(c))     ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NASCII)  && !isASCII(c))     ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_CNTRL)   &&  isCNTRL_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NCNTRL)  && !isCNTRL_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_GRAPH)   &&  isGRAPH_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NGRAPH)  && !isGRAPH_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_LOWER)   &&  isLOWER_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NLOWER)  && !isLOWER_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_PRINT)   &&  isPRINT_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NPRINT)  && !isPRINT_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_PUNCT)   &&  isPUNCT_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NPUNCT)  && !isPUNCT_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_UPPER)   &&  isUPPER_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NUPPER)  && !isUPPER_LC(c))  ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_XDIGIT)  &&  isXDIGIT(c))    ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NXDIGIT) && !isXDIGIT(c))    ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_PSXSPC)  &&  isPSXSPC(c))    ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NPSXSPC) && !isPSXSPC(c))    ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_BLANK)   &&  isBLANK(c))     ||
-		      (ANYOF_CLASS_TEST(n, ANYOF_NBLANK)  && !isBLANK(c))
-		     ) /* How's that for a conditional? */
-	    ) {
-		match = TRUE;
+	    else if (ANYOF_CLASS_TEST_ANY_SET(n)) {
+
+                /* The data structure is arranged so bits 0, 2, 4, ... are set
+                 * if the class includes the Posix character class given by
+                 * bit/2; and 1, 3, 5, ... are set if the class includes the
+                 * complemented Posix class given by int(bit/2).  So we loop
+                 * through the bits, each time changing whether we complement
+                 * the result or not.  Suppose for the sake of illustration
+                 * that bits 0-3 mean respectively, \w, \W, \s, \S.  If bit 0
+                 * is set, it means there is a match for this ANYOF node if the
+                 * character is in the class given by the expression (0 / 2 = 0
+                 * = \w).  If it is in that class, isFOO_lc() will return 1,
+                 * and since 'to_complement' is 0, the result will stay TRUE,
+                 * and we exit the loop.  Suppose instead that bit 0 is 0, but
+                 * bit 1 is 1.  That means there is a match if the character
+                 * matches \W.  We won't bother to call isFOO_lc() on bit 0,
+                 * but will on bit 1.  On the second iteration 'to_complement'
+                 * will be 1, so the exclusive or will reverse things, so we
+                 * are testing for \W.  On the third iteration, 'to_complement'
+                 * will be 0, and we would be testing for \s; the fourth
+                 * iteration would test for \S, etc.
+                 *
+                 * Note that this code assumes that all the classes are closed
+                 * under folding.  For example, if a character matches \w, then
+                 * its fold does too; and vice versa.  This should be true for
+                 * any well-behaved locale for all the currently defined Posix
+                 * classes, except for :lower: and :upper:, which are handled
+                 * by the pseudo-class :cased: which matches if either of the
+                 * other two does.  To get rid of this assumption, an outer
+                 * loop could be used below to iterate over both the source
+                 * character, and its fold (if different) */
+
+                int count = 0;
+                int to_complement = 0;
+                while (count < ANYOF_MAX) {
+                    if (ANYOF_CLASS_TEST(n, count)
+                        && to_complement ^ cBOOL(isFOO_lc(count/2, (U8) c)))
+                    {
+                        match = TRUE;
+                        break;
+                    }
+                    count++;
+                    to_complement ^= 1;
+                }
 	    }
 	}
     }
 
     /* If the bitmap didn't (or couldn't) match, and something outside the
-     * bitmap could match, try that.  Locale nodes specifiy completely the
+     * bitmap could match, try that.  Locale nodes specify completely the
      * behavior of code points in the bit map (otherwise, a utf8 target would
      * cause them to be treated as Unicode and not locale), except in
      * the very unlikely event when this node is a synthetic start class, which
@@ -6588,182 +7378,47 @@
 		     || (utf8_target
 		         && (c >=256
 			     || (! (flags & ANYOF_LOCALE))
-			     || (flags & ANYOF_IS_SYNTHETIC)))))
+			     || OP(n) == ANYOF_SYNTHETIC))))
 	{
-	    AV *av;
-	    SV * const sw = regclass_swash(prog, n, TRUE, 0, (SV**)&av);
-
+	    SV * const sw = core_regclass_swash(prog, n, TRUE, 0);
 	    if (sw) {
 		U8 * utf8_p;
 		if (utf8_target) {
 		    utf8_p = (U8 *) p;
-		} else {
-
-		    /* Not utf8.  Convert as much of the string as available up
-		     * to the limit of how far the (single) character in the
-		     * pattern can possibly match (no need to go further).  If
-		     * the node is a straight ANYOF or not folding, it can't
-		     * match more than one.  Otherwise, It can match up to how
-		     * far a single char can fold to.  Since not utf8, each
-		     * character is a single byte, so the max it can be in
-		     * bytes is the same as the max it can be in characters */
-		    STRLEN len = (OP(n) == ANYOF
-				  || ! (flags & ANYOF_LOC_NONBITMAP_FOLD))
-				  ? 1
-				  : (maxlen < UTF8_MAX_FOLD_CHAR_EXPAND)
-				    ? maxlen
-				    : UTF8_MAX_FOLD_CHAR_EXPAND;
+		} else { /* Convert to utf8 */
+		    STRLEN len = 1;
 		    utf8_p = bytes_to_utf8(p, &len);
 		}
 
-		if (swash_fetch(sw, utf8_p, TRUE))
+		if (swash_fetch(sw, utf8_p, TRUE)) {
 		    match = TRUE;
-		else if (flags & ANYOF_LOC_NONBITMAP_FOLD) {
+                }
 
-		    /* Here, we need to test if the fold of the target string
-		     * matches.  The non-multi char folds have all been moved to
-                     * the compilation phase, and the multi-char folds have
-                     * been stored by regcomp into 'av'; we linearly check to
-                     * see if any match the target string (folded).   We know
-                     * that the originals were each one character, but we don't
-                     * currently know how many characters/bytes each folded to,
-                     * except we do know that there are small limits imposed by
-                     * Unicode.  XXX A performance enhancement would be to have
-                     * regcomp.c store the max number of chars/bytes that are
-                     * in an av entry, as, say the 0th element.  Even better
-                     * would be to have a hash of the few characters that can
-                     * start a multi-char fold to the max number of chars of
-                     * those folds.
-		     *
-		     * If there is a match, we will need to advance (if lenp is
-		     * specified) the match pointer in the target string.  But
-		     * what we are comparing here isn't that string directly,
-		     * but its fold, whose length may differ from the original.
-		     * As we go along in constructing the fold, therefore, we
-		     * create a map so that we know how many bytes in the
-		     * source to advance given that we have matched a certain
-		     * number of bytes in the fold.  This map is stored in
-		     * 'map_fold_len_back'.  Let n mean the number of bytes in
-		     * the fold of the first character that we are folding.
-		     * Then map_fold_len_back[n] is set to the number of bytes
-		     * in that first character.  Similarly let m be the
-		     * corresponding number for the second character to be
-		     * folded.  Then map_fold_len_back[n+m] is set to the
-		     * number of bytes occupied by the first two source
-		     * characters. ... */
-		    U8 map_fold_len_back[UTF8_MAXBYTES_CASE+1] = { 0 };
-		    U8 folded[UTF8_MAXBYTES_CASE+1];
-		    STRLEN foldlen = 0; /* num bytes in fold of 1st char */
-		    STRLEN total_foldlen = 0; /* num bytes in fold of all
-						  chars */
-
-		    if (OP(n) == ANYOF || maxlen == 1 || ! lenp || ! av) {
-
-			/* Here, only need to fold the first char of the target
-			 * string.  It the source wasn't utf8, is 1 byte long */
-			to_utf8_fold(utf8_p, folded, &foldlen);
-			total_foldlen = foldlen;
-			map_fold_len_back[foldlen] = (utf8_target)
-						     ? UTF8SKIP(utf8_p)
-						     : 1;
-		    }
-		    else {
-
-			/* Here, need to fold more than the first char.  Do so
-			 * up to the limits */
-			U8* source_ptr = utf8_p;    /* The source for the fold
-						       is the regex target
-						       string */
-			U8* folded_ptr = folded;
-			U8* e = utf8_p + maxlen;    /* Can't go beyond last
-						       available byte in the
-						       target string */
-			U8 i;
-			for (i = 0;
-			     i < UTF8_MAX_FOLD_CHAR_EXPAND && source_ptr < e;
-			     i++)
-			{
-
-			    /* Fold the next character */
-			    U8 this_char_folded[UTF8_MAXBYTES_CASE+1];
-			    STRLEN this_char_foldlen;
-			    to_utf8_fold(source_ptr,
-				         this_char_folded,
-					 &this_char_foldlen);
-
-			    /* Bail if it would exceed the byte limit for
-			     * folding a single char. */
-			    if (this_char_foldlen + folded_ptr - folded >
-							    UTF8_MAXBYTES_CASE)
-			    {
-				break;
-			    }
-
-			    /* Add the fold of this character */
-			    Copy(this_char_folded,
-				 folded_ptr,
-				 this_char_foldlen,
-				 U8);
-			    source_ptr += UTF8SKIP(source_ptr);
-			    folded_ptr += this_char_foldlen;
-			    total_foldlen = folded_ptr - folded;
-
-			    /* Create map from the number of bytes in the fold
-			     * back to the number of bytes in the source.  If
-			     * the source isn't utf8, the byte count is just
-			     * the number of characters so far */
-			    map_fold_len_back[total_foldlen]
-						      = (utf8_target)
-							? source_ptr - utf8_p
-							: i + 1;
-			}
-			*folded_ptr = '\0';
-		    }
-
-
-		    /* Do the linear search to see if the fold is in the list
-		     * of multi-char folds. */
-		    if (av) {
-		        I32 i;
-			for (i = 0; i <= av_len(av); i++) {
-			    SV* const sv = *av_fetch(av, i, FALSE);
-			    STRLEN len;
-			    const char * const s = SvPV_const(sv, len);
-
-			    if (len <= total_foldlen
-				&& memEQ(s, (char*)folded, len)
-
-				   /* If 0, means matched a partial char. See
-				    * [perl #90536] */
-				&& map_fold_len_back[len])
-			    {
-
-				/* Advance the target string ptr to account for
-				 * this fold, but have to translate from the
-				 * folded length to the corresponding source
-				 * length. */
-				if (lenp) {
-				    *lenp = map_fold_len_back[len];
-				}
-				match = TRUE;
-				break;
-			    }
-			}
-		    }
-		}
-
 		/* If we allocated a string above, free it */
 		if (! utf8_target) Safefree(utf8_p);
 	    }
 	}
+
+        if (UNICODE_IS_SUPER(c)
+            && OP(n) == ANYOF_WARN_SUPER
+            && ckWARN_d(WARN_NON_UNICODE))
+        {
+            Perl_warner(aTHX_ packWARN(WARN_NON_UNICODE),
+                "Code point 0x%04"UVXf" is not Unicode, all \\p{} matches fail; all \\P{} matches succeed", c);
+        }
     }
 
-    return (flags & ANYOF_INVERT) ? !match : match;
+    /* The xor complements the return if to invert: 1^1 = 0, 1^0 = 1 */
+    return cBOOL(flags & ANYOF_INVERT) ^ match;
 }
 
 STATIC U8 *
 S_reghop3(U8 *s, I32 off, const U8* lim)
 {
+    /* return the position 'off' UTF-8 characters away from 's', forward if
+     * 'off' >= 0, backwards if negative.  But don't go outside of position
+     * 'lim', which better be < s  if off < 0 */
+
     dVAR;
 
     PERL_ARGS_ASSERT_REGHOP3;
@@ -6854,24 +7509,29 @@
 {
     dVAR;
     regexp * const rex = (regexp *)arg;
-    if (PL_reg_eval_set) {
+    if (PL_reg_state.re_state_eval_setup_done) {
 	if (PL_reg_oldsaved) {
 	    rex->subbeg = PL_reg_oldsaved;
 	    rex->sublen = PL_reg_oldsavedlen;
-#ifdef PERL_OLD_COPY_ON_WRITE
+	    rex->suboffset = PL_reg_oldsavedoffset;
+	    rex->subcoffset = PL_reg_oldsavedcoffset;
+#ifdef PERL_ANY_COW
 	    rex->saved_copy = PL_nrs;
 #endif
 	    RXp_MATCH_COPIED_on(rex);
 	}
 	PL_reg_magic->mg_len = PL_reg_oldpos;
-	PL_reg_eval_set = 0;
+	PL_reg_state.re_state_eval_setup_done = FALSE;
 	PL_curpm = PL_reg_oldcurpm;
     }	
 }
 
 STATIC void
-S_to_utf8_substr(pTHX_ register regexp *prog)
+S_to_utf8_substr(pTHX_ regexp *prog)
 {
+    /* Converts substr fields in prog from bytes to UTF-8, calling fbm_compile
+     * on the converted value */
+
     int i = 1;
 
     PERL_ARGS_ASSERT_TO_UTF8_SUBSTR;
@@ -6883,8 +7543,7 @@
 	    prog->substrs->data[i].utf8_substr = sv;
 	    sv_utf8_upgrade(sv);
 	    if (SvVALID(prog->substrs->data[i].substr)) {
-		const U8 flags = BmFLAGS(prog->substrs->data[i].substr);
-		if (flags & FBMcf_TAIL) {
+		if (SvTAIL(prog->substrs->data[i].substr)) {
 		    /* Trim the trailing \n that fbm_compile added last
 		       time.  */
 		    SvCUR_set(sv, SvCUR(sv) - 1);
@@ -6891,8 +7550,9 @@
 		    /* Whilst this makes the SV technically "invalid" (as its
 		       buffer is no longer followed by "\0") when fbm_compile()
 		       adds the "\n" back, a "\0" is restored.  */
-		}
-		fbm_compile(sv, flags);
+		    fbm_compile(sv, FBMcf_TAIL);
+		} else
+		    fbm_compile(sv, 0);
 	    }
 	    if (prog->substrs->data[i].substr == prog->check_substr)
 		prog->check_utf8 = sv;
@@ -6900,9 +7560,12 @@
     } while (i--);
 }
 
-STATIC void
-S_to_byte_substr(pTHX_ register regexp *prog)
+STATIC bool
+S_to_byte_substr(pTHX_ regexp *prog)
 {
+    /* Converts substr fields in prog from UTF-8 to bytes, calling fbm_compile
+     * on the converted value; returns FALSE if can't be converted. */
+
     dVAR;
     int i = 1;
 
@@ -6912,26 +7575,25 @@
 	if (prog->substrs->data[i].utf8_substr
 	    && !prog->substrs->data[i].substr) {
 	    SV* sv = newSVsv(prog->substrs->data[i].utf8_substr);
-	    if (sv_utf8_downgrade(sv, TRUE)) {
-		if (SvVALID(prog->substrs->data[i].utf8_substr)) {
-		    const U8 flags
-			= BmFLAGS(prog->substrs->data[i].utf8_substr);
-		    if (flags & FBMcf_TAIL) {
-			/* Trim the trailing \n that fbm_compile added last
-			   time.  */
-			SvCUR_set(sv, SvCUR(sv) - 1);
-		    }
-		    fbm_compile(sv, flags);
-		}	    
-	    } else {
-		SvREFCNT_dec(sv);
-		sv = &PL_sv_undef;
-	    }
+	    if (! sv_utf8_downgrade(sv, TRUE)) {
+                return FALSE;
+            }
+            if (SvVALID(prog->substrs->data[i].utf8_substr)) {
+                if (SvTAIL(prog->substrs->data[i].utf8_substr)) {
+                    /* Trim the trailing \n that fbm_compile added last
+                        time.  */
+                    SvCUR_set(sv, SvCUR(sv) - 1);
+                    fbm_compile(sv, FBMcf_TAIL);
+                } else
+                    fbm_compile(sv, 0);
+            }
 	    prog->substrs->data[i].substr = sv;
 	    if (prog->substrs->data[i].utf8_substr == prog->check_utf8)
 		prog->check_substr = sv;
 	}
     } while (i--);
+
+    return TRUE;
 }
 
 /*
@@ -6938,8 +7600,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/regexec.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/regexp.h
===================================================================
--- vendor/perl/dist/regexp.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regexp.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,6 +18,8 @@
 /* we don't want to include this stuff if we are inside of
    an external regex engine based on the core one - like re 'debug'*/
 
+#include "utf8.h"
+
 struct regnode {
     U8	flags;
     U8  type;
@@ -44,17 +46,45 @@
     struct reg_substr_datum data[3];	/* Actual array */
 };
 
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
 #define SV_SAVED_COPY   SV *saved_copy; /* If non-NULL, SV which is COW from original */
 #else
 #define SV_SAVED_COPY
 #endif
 
+/* offsets within a string of a particular /(.)/ capture */
+
 typedef struct regexp_paren_pair {
     I32 start;
     I32 end;
+    /* 'start_tmp' records a new opening position before the matching end
+     * has been found, so that the old start and end values are still
+     * valid, e.g.
+     *	  "abc" =~ /(.(?{print "[$1]"}))+/
+     *outputs [][a][b]
+     * This field is not part of the API.  */
+    I32 start_tmp;
 } regexp_paren_pair;
 
+#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
+#define _invlist_union(a, b, output) _invlist_union_maybe_complement_2nd(a, b, FALSE, output)
+#define _invlist_intersection(a, b, output) _invlist_intersection_maybe_complement_2nd(a, b, FALSE, output)
+
+/* Subtracting b from a leaves in a everything that was there that isn't in b,
+ * that is the intersection of a with b's complement */
+#define _invlist_subtract(a, b, output) _invlist_intersection_maybe_complement_2nd(a, b, TRUE, output)
+#endif
+
+/* record the position of a (?{...}) within a pattern */
+
+struct reg_code_block {
+    STRLEN start;
+    STRLEN end;
+    OP     *block;
+    REGEXP *src_regex;
+};
+
+
 /*
   The regexp/REGEXP struct, see L<perlreapi> for further documentation
   on the individual fields. The struct is ordered so that the most
@@ -74,8 +104,8 @@
 	/* Information about the match that the perl core uses to */	\
 	/* manage things */						\
 	U32 extflags;	/* Flags used both externally and internally */	\
-	I32 minlen;	/* mininum possible length of string to match */\
-	I32 minlenret;	/* mininum possible length of $& */		\
+	I32 minlen;	/* mininum possible number of chars in string to match */\
+	I32 minlenret;	/* mininum possible number of chars in $& */		\
 	U32 gofs;	/* chars left of pos that we search from */	\
 	/* substring data about strings that must appear in the */	\
 	/* final match, used for optimisations */			\
@@ -89,7 +119,6 @@
 	/* during matching */						\
 	U32 lastparen;			/* last open paren matched */	\
 	U32 lastcloseparen;		/* last close paren matched */	\
-	regexp_paren_pair *swap;	/* Unused: 5.10.1 and later */	\
 	/* Array of offsets for (@-) and (@+) */			\
 	regexp_paren_pair *offs;					\
 	/* saved or original string so \digit works forever. */		\
@@ -96,11 +125,15 @@
 	char *subbeg;							\
 	SV_SAVED_COPY	/* If non-NULL, SV which is COW from original */\
 	I32 sublen;	/* Length of string pointed by subbeg */	\
+	I32 suboffset;	/* byte offset of subbeg from logical start of str */ \
+	I32 subcoffset;	/* suboffset equiv, but in chars (for @-/@+) */ \
 	/* Information about the match that isn't often used */		\
 	/* offset from wrapped to the start of precomp */		\
 	PERL_BITFIELD32 pre_prefix:4;					\
-	/* number of eval groups in the pattern - for security checks */\
-	PERL_BITFIELD32 seen_evals:28
+        /* original flags used to compile the pattern, may differ */    \
+        /* from extflags in various ways */                             \
+        PERL_BITFIELD32 compflags:9;                                    \
+	CV *qr_anoncv	/* the anon sub wrapped round qr/(?{..})/ */
 
 typedef struct regexp {
 	_XPV_HEAD;
@@ -143,6 +176,10 @@
 #ifdef USE_ITHREADS
     void*   (*dupe) (pTHX_ REGEXP * const rx, CLONE_PARAMS *param);
 #endif
+    REGEXP* (*op_comp) (pTHX_ SV ** const patternp, int pat_count,
+		    OP *expr, const struct regexp_engine* eng,
+		    REGEXP *VOL old_re,
+		    bool *is_bare_re, U32 orig_rx_flags, U32 pm_flags);
 } regexp_engine;
 
 /*
@@ -150,9 +187,12 @@
   paren name. >= 1 is reserved for actual numbered captures, i.e. $1,
   $2 etc.
 */
-#define RX_BUFF_IDX_PREMATCH  -2 /* $` / ${^PREMATCH}  */
-#define RX_BUFF_IDX_POSTMATCH -1 /* $' / ${^POSTMATCH} */
-#define RX_BUFF_IDX_FULLMATCH      0 /* $& / ${^MATCH}     */
+#define RX_BUFF_IDX_CARET_PREMATCH  -5 /* ${^PREMATCH}  */
+#define RX_BUFF_IDX_CARET_POSTMATCH -4 /* ${^POSTMATCH} */
+#define RX_BUFF_IDX_CARET_FULLMATCH -3 /* ${^MATCH}     */
+#define RX_BUFF_IDX_PREMATCH        -2 /* $` */
+#define RX_BUFF_IDX_POSTMATCH       -1 /* $' */
+#define RX_BUFF_IDX_FULLMATCH        0 /* $& */
 
 /*
   Flags that are passed to the named_buff and named_buff_iter
@@ -296,11 +336,22 @@
 
 /* Leave some space, so future bit allocations can go either in the shared or
  * unshared area without affecting binary compatibility */
-#define RXf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT+1)
+#define RXf_BASE_SHIFT (_RXf_PMf_SHIFT_NEXT)
 
-/* embed.pl doesn't yet know how to handle static inline functions, so
-   manually decorate them here with gcc-style attributes.
+/*
+  Set in Perl_pmruntime if op_flags & OPf_SPECIAL, i.e. split. Will
+  be used by regex engines to check whether they should set
+  RXf_SKIPWHITE
 */
+#define RXf_SPLIT                (1<<(RXf_BASE_SHIFT-1))
+#if RXf_SPLIT != RXf_PMf_SPLIT
+#   error "RXf_SPLIT does not match RXf_PMf_SPLIT"
+#endif
+
+/* Manually decorate this function with gcc-style attributes just to
+ * avoid having to restructure the header files and their called order,
+ * as proto.h would have to be included before this file, and isn't */
+
 PERL_STATIC_INLINE const char *
 get_regex_charset_name(const U32 flags, STRLEN* const lenp)
     __attribute__warn_unused_result__;
@@ -326,7 +377,6 @@
         default:
 	    return "?";	    /* Unknown */
     }
-    return "?";	    /* Unknown */
 }
 
 /* Anchor and GPOS related stuff */
@@ -342,7 +392,7 @@
 #define RXf_ANCH_SINGLE         (RXf_ANCH_SBOL|RXf_ANCH_GPOS)
 
 /* What we have seen */
-#define RXf_LOOKBEHIND_SEEN	(1<<(RXf_BASE_SHIFT+6))
+#define RXf_NO_INPLACE_SUBST    (1<<(RXf_BASE_SHIFT+6))
 #define RXf_EVAL_SEEN   	(1<<(RXf_BASE_SHIFT+7))
 #define RXf_CANY_SEEN   	(1<<(RXf_BASE_SHIFT+8))
 
@@ -357,14 +407,6 @@
 #define RXf_USE_INTUIT_NOML	(1<<(RXf_BASE_SHIFT+12))
 #define RXf_USE_INTUIT_ML	(1<<(RXf_BASE_SHIFT+13))
 #define RXf_INTUIT_TAIL 	(1<<(RXf_BASE_SHIFT+14))
-
-/*
-  Set in Perl_pmruntime if op_flags & OPf_SPECIAL, i.e. split. Will
-  be used by regex engines to check whether they should set
-  RXf_SKIPWHITE
-*/
-#define RXf_SPLIT		(1<<(RXf_BASE_SHIFT+15))
-
 #define RXf_USE_INTUIT		(RXf_USE_INTUIT_NOML|RXf_USE_INTUIT_ML)
 
 /* Copy and tainted info */
@@ -378,9 +420,9 @@
 
 /* Flags indicating special patterns */
 #define RXf_START_ONLY		(1<<(RXf_BASE_SHIFT+19)) /* Pattern is /^/ */
-#define RXf_SKIPWHITE		(1<<(RXf_BASE_SHIFT+20)) /* Pattern is for a split / / */
+#define RXf_SKIPWHITE                (1<<(RXf_BASE_SHIFT+20)) /* Pattern is for a split " " */
 #define RXf_WHITE		(1<<(RXf_BASE_SHIFT+21)) /* Pattern is /\s+/ */
-#define RXf_NULL		(1<<(RXf_BASE_SHIFT+22)) /* Pattern is // */
+#define RXf_NULL		(1U<<(RXf_BASE_SHIFT+22)) /* Pattern is // */
 #if RXf_BASE_SHIFT+22 > 31
 #   error Too many RXf_PMf bits used.  See regnodes.h for any spare in middle
 #endif
@@ -391,11 +433,25 @@
  *
  */
 
+#if NO_TAINT_SUPPORT
+#   define RX_ISTAINTED(prog)    0
+#   define RX_TAINT_on(prog)     NOOP
+#   define RXp_MATCH_TAINTED(prog) 0
+#   define RX_MATCH_TAINTED(prog)  0
+#   define RXp_MATCH_TAINTED_on(prog) NOOP
+#   define RX_MATCH_TAINTED_on(prog)  NOOP
+#   define RX_MATCH_TAINTED_off(prog) NOOP
+#else
+#   define RX_ISTAINTED(prog)    (RX_EXTFLAGS(prog) & RXf_TAINTED)
+#   define RX_TAINT_on(prog)     (RX_EXTFLAGS(prog) |= RXf_TAINTED)
+#   define RXp_MATCH_TAINTED(prog)    (RXp_EXTFLAGS(prog) & RXf_TAINTED_SEEN)
+#   define RX_MATCH_TAINTED(prog)     (RX_EXTFLAGS(prog)  & RXf_TAINTED_SEEN)
+#   define RXp_MATCH_TAINTED_on(prog) (RXp_EXTFLAGS(prog) |= RXf_TAINTED_SEEN)
+#   define RX_MATCH_TAINTED_on(prog)  (RX_EXTFLAGS(prog)  |= RXf_TAINTED_SEEN)
+#   define RX_MATCH_TAINTED_off(prog) (RX_EXTFLAGS(prog)  &= ~RXf_TAINTED_SEEN)
+#endif
+
 #define RX_HAS_CUTGROUP(prog) ((prog)->intflags & PREGf_CUTGROUP_SEEN)
-#define RXp_MATCH_TAINTED(prog)	(RXp_EXTFLAGS(prog) & RXf_TAINTED_SEEN)
-#define RX_MATCH_TAINTED(prog)	(RX_EXTFLAGS(prog) & RXf_TAINTED_SEEN)
-#define RX_MATCH_TAINTED_on(prog) (RX_EXTFLAGS(prog) |= RXf_TAINTED_SEEN)
-#define RX_MATCH_TAINTED_off(prog) (RX_EXTFLAGS(prog) &= ~RXf_TAINTED_SEEN)
 #define RX_MATCH_TAINTED_set(prog, t) ((t) \
 				       ? RX_MATCH_TAINTED_on(prog) \
 				       : RX_MATCH_TAINTED_off(prog))
@@ -411,71 +467,41 @@
 					 : RX_MATCH_COPIED_off(prog))
 
 #define RXp_EXTFLAGS(rx)	((rx)->extflags)
+#define RXp_COMPFLAGS(rx)        ((rx)->compflags)
 
 /* For source compatibility. We used to store these explicitly.  */
-#define RX_PRECOMP(prog)	(RX_WRAPPED(prog) + ((struct regexp *)SvANY(prog))->pre_prefix)
-#define RX_PRECOMP_const(prog)	(RX_WRAPPED_const(prog) + ((struct regexp *)SvANY(prog))->pre_prefix)
+#define RX_PRECOMP(prog)	(RX_WRAPPED(prog) + ReANY(prog)->pre_prefix)
+#define RX_PRECOMP_const(prog)	(RX_WRAPPED_const(prog) + ReANY(prog)->pre_prefix)
 /* FIXME? Are we hardcoding too much here and constraining plugin extension
    writers? Specifically, the value 1 assumes that the wrapped version always
    has exactly one character at the end, a ')'. Will that always be true?  */
-#define RX_PRELEN(prog)		(RX_WRAPLEN(prog) - ((struct regexp *)SvANY(prog))->pre_prefix - 1)
-#define RX_WRAPPED(prog)	SvPVX(prog)
-#define RX_WRAPPED_const(prog)	SvPVX_const(prog)
+#define RX_PRELEN(prog)		(RX_WRAPLEN(prog) - ReANY(prog)->pre_prefix - 1)
+#define RX_WRAPPED(prog)	ReANY(prog)->xpv_len_u.xpvlenu_pv
+#define RX_WRAPPED_const(prog)	((const char *)RX_WRAPPED(prog))
 #define RX_WRAPLEN(prog)	SvCUR(prog)
-#define RX_CHECK_SUBSTR(prog)	(((struct regexp *)SvANY(prog))->check_substr)
+#define RX_CHECK_SUBSTR(prog)	(ReANY(prog)->check_substr)
 #define RX_REFCNT(prog)		SvREFCNT(prog)
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#  define RX_EXTFLAGS(prog)						\
-    (*({								\
-	const REGEXP *const _rx_extflags = (prog);			\
-	assert(SvTYPE(_rx_extflags) == SVt_REGEXP);			\
-	&RXp_EXTFLAGS(SvANY(_rx_extflags));				\
-    }))
-#  define RX_ENGINE(prog)						\
-    (*({								\
-	const REGEXP *const _rx_engine = (prog);			\
-	assert(SvTYPE(_rx_engine) == SVt_REGEXP);			\
-	&SvANY(_rx_engine)->engine;					\
-    }))
-#  define RX_SUBBEG(prog)						\
-    (*({								\
-	const REGEXP *const _rx_subbeg = (prog);			\
-	assert(SvTYPE(_rx_subbeg) == SVt_REGEXP);			\
-	&SvANY(_rx_subbeg)->subbeg;					\
-    }))
-#  define RX_OFFS(prog)							\
-    (*({								\
-	const REGEXP *const _rx_offs = (prog);				\
-	assert(SvTYPE(_rx_offs) == SVt_REGEXP);				\
-	&SvANY(_rx_offs)->offs;						\
-    }))
-#  define RX_NPARENS(prog)						\
-    (*({								\
-	const REGEXP *const _rx_nparens = (prog);			\
-	assert(SvTYPE(_rx_nparens) == SVt_REGEXP);			\
-	&SvANY(_rx_nparens)->nparens;					\
-    }))
-#else
-#  define RX_EXTFLAGS(prog)	RXp_EXTFLAGS((struct regexp *)SvANY(prog))
-#  define RX_ENGINE(prog)	(((struct regexp *)SvANY(prog))->engine)
-#  define RX_SUBBEG(prog)	(((struct regexp *)SvANY(prog))->subbeg)
-#  define RX_OFFS(prog)		(((struct regexp *)SvANY(prog))->offs)
-#  define RX_NPARENS(prog)	(((struct regexp *)SvANY(prog))->nparens)
-#endif
-#define RX_SUBLEN(prog)		(((struct regexp *)SvANY(prog))->sublen)
-#define RX_MINLEN(prog)		(((struct regexp *)SvANY(prog))->minlen)
-#define RX_MINLENRET(prog)	(((struct regexp *)SvANY(prog))->minlenret)
-#define RX_GOFS(prog)		(((struct regexp *)SvANY(prog))->gofs)
-#define RX_LASTPAREN(prog)	(((struct regexp *)SvANY(prog))->lastparen)
-#define RX_LASTCLOSEPAREN(prog)	(((struct regexp *)SvANY(prog))->lastcloseparen)
-#define RX_SEEN_EVALS(prog)	(((struct regexp *)SvANY(prog))->seen_evals)
-#define RX_SAVED_COPY(prog)	(((struct regexp *)SvANY(prog))->saved_copy)
+#define RX_EXTFLAGS(prog)	RXp_EXTFLAGS(ReANY(prog))
+#define RX_COMPFLAGS(prog)        RXp_COMPFLAGS(ReANY(prog))
+#define RX_ENGINE(prog)		(ReANY(prog)->engine)
+#define RX_SUBBEG(prog)		(ReANY(prog)->subbeg)
+#define RX_SUBOFFSET(prog)	(ReANY(prog)->suboffset)
+#define RX_SUBCOFFSET(prog)	(ReANY(prog)->subcoffset)
+#define RX_OFFS(prog)		(ReANY(prog)->offs)
+#define RX_NPARENS(prog)	(ReANY(prog)->nparens)
+#define RX_SUBLEN(prog)		(ReANY(prog)->sublen)
+#define RX_MINLEN(prog)		(ReANY(prog)->minlen)
+#define RX_MINLENRET(prog)	(ReANY(prog)->minlenret)
+#define RX_GOFS(prog)		(ReANY(prog)->gofs)
+#define RX_LASTPAREN(prog)	(ReANY(prog)->lastparen)
+#define RX_LASTCLOSEPAREN(prog)	(ReANY(prog)->lastcloseparen)
+#define RX_SAVED_COPY(prog)	(ReANY(prog)->saved_copy)
 
 #endif /* PLUGGABLE_RE_EXTENSION */
 
 /* Stuff that needs to be included in the pluggable extension goes below here */
 
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
 #define RX_MATCH_COPY_FREE(rx) \
 	STMT_START {if (RX_SAVED_COPY(rx)) { \
 	    SV_CHECK_THINKFIRST_COW_DROP(RX_SAVED_COPY(rx)); \
@@ -508,6 +534,11 @@
 #define REXEC_SCREAM	0x04		/* use scream table. */
 #define REXEC_IGNOREPOS	0x08		/* \G matches at start. */
 #define REXEC_NOT_FIRST	0x10		/* This is another iteration of //g. */
+                                    /* under REXEC_COPY_STR, it's ok for the
+                                     * engine (modulo PL_sawamperand etc)
+                                     * to skip copying ... */
+#define REXEC_COPY_SKIP_PRE  0x20   /* ...the $` part of the string, or */
+#define REXEC_COPY_SKIP_POST 0x40   /* ...the $' part of the string */
 
 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
 #  define ReREFCNT_inc(re)						\
@@ -528,6 +559,7 @@
 #  define ReREFCNT_dec(re)	SvREFCNT_dec(re)
 #  define ReREFCNT_inc(re)	((REGEXP *) SvREFCNT_inc(re))
 #endif
+#define ReANY(re)		S_ReANY((const REGEXP *)(re))
 
 /* FIXME for plugins. */
 
@@ -549,6 +581,8 @@
     SV *sv;
     char *ganch;
     char *cutpoint;
+    bool is_utf8_pat;
+    bool warned; /* we have issued a recursion warning; no need for more */
 } regmatch_info;
  
 
@@ -580,6 +614,7 @@
 	    /* this first element must match u.yes */
 	    struct regmatch_state *prev_yes_state;
 	    U32 lastparen;
+	    U32 lastcloseparen;
 	    CHECKPOINT cp;
 	    
         } branchlike;
@@ -588,6 +623,7 @@
 	    /* the first elements must match u.branchlike */
 	    struct regmatch_state *prev_yes_state;
 	    U32 lastparen;
+	    U32 lastcloseparen;
 	    CHECKPOINT cp;
 	    
 	    regnode *next_branch; /* next branch node */
@@ -597,17 +633,17 @@
 	    /* the first elements must match u.branchlike */
 	    struct regmatch_state *prev_yes_state;
 	    U32 lastparen;
+	    U32 lastcloseparen;
 	    CHECKPOINT cp;
 
 	    U32		accepted; /* how many accepting states left */
+	    bool	longfold;/* saw a fold with a 1->n char mapping */
 	    U16         *jump;  /* positive offsets from me */
-	    regnode	*B;	/* node following the trie */
 	    regnode	*me;	/* Which node am I - needed for jump tries*/
 	    U8		*firstpos;/* pos in string of first trie match */
 	    U32		firstchars;/* len in chars of firstpos from start */
 	    U16		nextword;/* next word to try */
 	    U16		topword; /* longest accepted word */
-	    bool	longfold;/* saw a fold with a 1->n char mapping */
 	} trie;
 
         /* special types - these members are used to store state for special
@@ -618,9 +654,7 @@
 	    struct regmatch_state *prev_eval;
 	    struct regmatch_state *prev_curlyx;
 	    REGEXP	*prev_rex;
-	    U32		toggle_reg_flags; /* what bits in PL_reg_flags to
-					    flip when transitioning between
-					    inner and outer rexen */
+	    bool	saved_utf8_pat; /* saved copy of is_utf8_pat */
 	    CHECKPOINT	cp;	/* remember current savestack indexes */
 	    CHECKPOINT	lastcp;
 	    U32        close_paren; /* which close bracket is our end */
@@ -678,24 +712,32 @@
 	struct {
 	    /* this first element must match u.yes */
 	    struct regmatch_state *prev_yes_state;
-	    I32 c1, c2;		/* case fold search */
+	    int c1, c2;		/* case fold search */
 	    CHECKPOINT cp;
+	    U32 lastparen;
+	    U32 lastcloseparen;
 	    I32 alen;		/* length of first-matched A string */
 	    I32 count;
 	    bool minmod;
 	    regnode *A, *B;	/* the nodes corresponding to /A*B/  */
 	    regnode *me;	/* the curlym node */
+            U8 c1_utf8[UTF8_MAXBYTES+1];  /* */
+            U8 c2_utf8[UTF8_MAXBYTES+1];
 	} curlym;
 
 	struct {
 	    U32 paren;
 	    CHECKPOINT cp;
-	    I32 c1, c2;		/* case fold search */
+	    U32 lastparen;
+	    U32 lastcloseparen;
+	    int c1, c2;		/* case fold search */
 	    char *maxpos;	/* highest possible point in string to match */
 	    char *oldloc;	/* the previous locinput */
 	    int count;
 	    int min, max;	/* {m,n} */
 	    regnode *A, *B;	/* the nodes corresponding to /A*B/  */
+            U8 c1_utf8[UTF8_MAXBYTES+1];  /* */
+            U8 c2_utf8[UTF8_MAXBYTES+1];
 	} curly; /* and CURLYN/PLUS/STAR */
 
     } u;
@@ -713,16 +755,8 @@
     struct regmatch_slab *prev, *next;
 } regmatch_slab;
 
-#define PL_reg_flags		PL_reg_state.re_state_reg_flags
 #define PL_bostr		PL_reg_state.re_state_bostr
-#define PL_reginput		PL_reg_state.re_state_reginput
 #define PL_regeol		PL_reg_state.re_state_regeol
-#define PL_regoffs		PL_reg_state.re_state_regoffs
-#define PL_reglastparen		PL_reg_state.re_state_reglastparen
-#define PL_reglastcloseparen	PL_reg_state.re_state_reglastcloseparen
-#define PL_reg_start_tmp	PL_reg_state.re_state_reg_start_tmp
-#define PL_reg_start_tmpl	PL_reg_state.re_state_reg_start_tmpl
-#define PL_reg_eval_set		PL_reg_state.re_state_reg_eval_set
 #define PL_reg_match_utf8	PL_reg_state.re_state_reg_match_utf8
 #define PL_reg_magic		PL_reg_state.re_state_reg_magic
 #define PL_reg_oldpos		PL_reg_state.re_state_reg_oldpos
@@ -730,39 +764,35 @@
 #define PL_reg_curpm		PL_reg_state.re_state_reg_curpm
 #define PL_reg_oldsaved		PL_reg_state.re_state_reg_oldsaved
 #define PL_reg_oldsavedlen	PL_reg_state.re_state_reg_oldsavedlen
+#define PL_reg_oldsavedoffset	PL_reg_state.re_state_reg_oldsavedoffset
+#define PL_reg_oldsavedcoffset	PL_reg_state.re_state_reg_oldsavedcoffset
 #define PL_reg_maxiter		PL_reg_state.re_state_reg_maxiter
 #define PL_reg_leftiter		PL_reg_state.re_state_reg_leftiter
 #define PL_reg_poscache		PL_reg_state.re_state_reg_poscache
 #define PL_reg_poscache_size	PL_reg_state.re_state_reg_poscache_size
-#define PL_regsize		PL_reg_state.re_state_regsize
 #define PL_reg_starttry		PL_reg_state.re_state_reg_starttry
 #define PL_nrs			PL_reg_state.re_state_nrs
 
 struct re_save_state {
-    U32 re_state_reg_flags;		/* from regexec.c */
-    U32 re_state_reg_start_tmpl;	/* from regexec.c */
-    I32 re_state_reg_eval_set;		/* from regexec.c */
+    bool re_state_eval_setup_done;	/* from regexec.c */
     bool re_state_reg_match_utf8;	/* from regexec.c */
+    /* Space for U8 */
+    I32 re_state_reg_oldpos;		/* from regexec.c */
+    I32 re_state_reg_maxiter;		/* max wait until caching pos */
+    I32 re_state_reg_leftiter;		/* wait until caching pos */
     char *re_state_bostr;
-    char *re_state_reginput;		/* String-input pointer. */
     char *re_state_regeol;		/* End of input, for $ check. */
-    regexp_paren_pair *re_state_regoffs;  /* Pointer to start/end pairs */
-    U32 *re_state_reglastparen;		/* Similarly for lastparen. */
-    U32 *re_state_reglastcloseparen;	/* Similarly for lastcloseparen. */
-    char **re_state_reg_start_tmp;	/* from regexec.c */
     MAGIC *re_state_reg_magic;		/* from regexec.c */
     PMOP *re_state_reg_oldcurpm;	/* from regexec.c */
     PMOP *re_state_reg_curpm;		/* from regexec.c */
     char *re_state_reg_oldsaved;	/* old saved substr during match */
     STRLEN re_state_reg_oldsavedlen;	/* old length of saved substr during match */
+    STRLEN re_state_reg_oldsavedoffset;	/* old offset of saved substr during match */
+    STRLEN re_state_reg_oldsavedcoffset;/* old coffset of saved substr during match */
     STRLEN re_state_reg_poscache_size;	/* size of pos cache of WHILEM */
-    I32 re_state_reg_oldpos;		/* from regexec.c */
-    I32 re_state_reg_maxiter;		/* max wait until caching pos */
-    I32 re_state_reg_leftiter;		/* wait until caching pos */
-    U32 re_state_regsize;		/* from regexec.c */
     char *re_state_reg_poscache;	/* cache of pos of WHILEM */
     char *re_state_reg_starttry;	/* from regexec.c */
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
     SV *re_state_nrs;			/* was placeholder: unused since 5.8.0 (5.7.2 patch #12027 for bug ID 20010815.012). Used to save rx->saved_copy */
 #endif
 };
@@ -774,8 +804,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/regexp.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/regnodes.h
===================================================================
--- vendor/perl/dist/regnodes.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/regnodes.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,8 +6,8 @@
 
 /* Regops and State definitions */
 
-#define REGNODE_MAX           	111
-#define REGMATCH_STATE_MAX    	151
+#define REGNODE_MAX           	95
+#define REGMATCH_STATE_MAX    	135
 
 #define	END                   	0	/* 0000 End of program. */
 #define	SUCCEED               	1	/* 0x01 Return from a subroutine, basically. */
@@ -31,96 +31,80 @@
 #define	SANY                  	19	/* 0x13 Match any one character. */
 #define	CANY                  	20	/* 0x14 Match any one byte. */
 #define	ANYOF                 	21	/* 0x15 Match character in (or not in) this class, single char match only */
-#define	ANYOFV                	22	/* 0x16 Match character in (or not in) this class, can match-multiple chars */
-#define	ALNUM                 	23	/* 0x17 Match any alphanumeric character using native charset semantics for non-utf8 */
-#define	ALNUML                	24	/* 0x18 Match any alphanumeric char in locale */
-#define	ALNUMU                	25	/* 0x19 Match any alphanumeric char using Unicode semantics */
-#define	ALNUMA                	26	/* 0x1a Match [A-Za-z_0-9] */
-#define	NALNUM                	27	/* 0x1b Match any non-alphanumeric character using native charset semantics for non-utf8 */
-#define	NALNUML               	28	/* 0x1c Match any non-alphanumeric char in locale */
-#define	NALNUMU               	29	/* 0x1d Match any non-alphanumeric char using Unicode semantics */
-#define	NALNUMA               	30	/* 0x1e Match [^A-Za-z_0-9] */
-#define	SPACE                 	31	/* 0x1f Match any whitespace character using native charset semantics for non-utf8 */
-#define	SPACEL                	32	/* 0x20 Match any whitespace char in locale */
-#define	SPACEU                	33	/* 0x21 Match any whitespace char using Unicode semantics */
-#define	SPACEA                	34	/* 0x22 Match [ \t\n\f\r] */
-#define	NSPACE                	35	/* 0x23 Match any non-whitespace character using native charset semantics for non-utf8 */
-#define	NSPACEL               	36	/* 0x24 Match any non-whitespace char in locale */
-#define	NSPACEU               	37	/* 0x25 Match any non-whitespace char using Unicode semantics */
-#define	NSPACEA               	38	/* 0x26 Match [^ \t\n\f\r] */
-#define	DIGIT                 	39	/* 0x27 Match any numeric character using native charset semantics for non-utf8 */
-#define	DIGITL                	40	/* 0x28 Match any numeric character in locale */
-#define	DIGITA                	41	/* 0x29 Match [0-9] */
-#define	NDIGIT                	42	/* 0x2a Match any non-numeric character using native charset semantics for non-utf8 */
-#define	NDIGITL               	43	/* 0x2b Match any non-numeric character in locale */
-#define	NDIGITA               	44	/* 0x2c Match [^0-9] */
-#define	CLUMP                 	45	/* 0x2d Match any extended grapheme cluster sequence */
-#define	BRANCH                	46	/* 0x2e Match this alternative, or the next... */
-#define	BACK                  	47	/* 0x2f Match "", "next" ptr points backward. */
-#define	EXACT                 	48	/* 0x30 Match this string (preceded by length). */
-#define	EXACTF                	49	/* 0x31 Match this string, folded, native charset semantics for non-utf8 (prec. by length). */
-#define	EXACTFL               	50	/* 0x32 Match this string, folded in locale (w/len). */
-#define	EXACTFU               	51	/* 0x33 Match this string, folded, Unicode semantics for non-utf8 (prec. by length). */
-#define	EXACTFA               	52	/* 0x34 Match this string, folded, Unicode semantics for non-utf8, but no ASCII-range character matches outside ASCII (prec. by length),. */
-#define	NOTHING               	53	/* 0x35 Match empty string. */
-#define	TAIL                  	54	/* 0x36 Match empty string. Can jump here from outside. */
-#define	STAR                  	55	/* 0x37 Match this (simple) thing 0 or more times. */
-#define	PLUS                  	56	/* 0x38 Match this (simple) thing 1 or more times. */
-#define	CURLY                 	57	/* 0x39 Match this simple thing {n,m} times. */
-#define	CURLYN                	58	/* 0x3a Capture next-after-this simple thing */
-#define	CURLYM                	59	/* 0x3b Capture this medium-complex thing {n,m} times. */
-#define	CURLYX                	60	/* 0x3c Match this complex thing {n,m} times. */
-#define	WHILEM                	61	/* 0x3d Do curly processing and see if rest matches. */
-#define	OPEN                  	62	/* 0x3e Mark this point in input as start of */
-#define	CLOSE                 	63	/* 0x3f Analogous to OPEN. */
-#define	REF                   	64	/* 0x40 Match some already matched string */
-#define	REFF                  	65	/* 0x41 Match already matched string, folded using native charset semantics for non-utf8 */
-#define	REFFL                 	66	/* 0x42 Match already matched string, folded in loc. */
-#define	REFFU                 	67	/* 0x43 Match already matched string, folded using unicode semantics for non-utf8 */
-#define	REFFA                 	68	/* 0x44 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
-#define	NREF                  	69	/* 0x45 Match some already matched string */
-#define	NREFF                 	70	/* 0x46 Match already matched string, folded using native charset semantics for non-utf8 */
-#define	NREFFL                	71	/* 0x47 Match already matched string, folded in loc. */
-#define	NREFFU                	72	/* 0x48 Match already matched string, folded using unicode semantics for non-utf8 */
-#define	NREFFA                	73	/* 0x49 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
-#define	IFMATCH               	74	/* 0x4a Succeeds if the following matches. */
-#define	UNLESSM               	75	/* 0x4b Fails if the following matches. */
-#define	SUSPEND               	76	/* 0x4c "Independent" sub-RE. */
-#define	IFTHEN                	77	/* 0x4d Switch, should be preceded by switcher . */
-#define	GROUPP                	78	/* 0x4e Whether the group matched. */
-#define	LONGJMP               	79	/* 0x4f Jump far away. */
-#define	BRANCHJ               	80	/* 0x50 BRANCH with long offset. */
-#define	EVAL                  	81	/* 0x51 Execute some Perl code. */
-#define	MINMOD                	82	/* 0x52 Next operator is not greedy. */
-#define	LOGICAL               	83	/* 0x53 Next opcode should set the flag only. */
-#define	RENUM                 	84	/* 0x54 Group with independently numbered parens. */
-#define	TRIE                  	85	/* 0x55 Match many EXACT(F[ALU]?)? at once. flags==type */
-#define	TRIEC                 	86	/* 0x56 Same as TRIE, but with embedded charclass data */
-#define	AHOCORASICK           	87	/* 0x57 Aho Corasick stclass. flags==type */
-#define	AHOCORASICKC          	88	/* 0x58 Same as AHOCORASICK, but with embedded charclass data */
-#define	GOSUB                 	89	/* 0x59 recurse to paren arg1 at (signed) ofs arg2 */
-#define	GOSTART               	90	/* 0x5a recurse to start of pattern */
-#define	NGROUPP               	91	/* 0x5b Whether the group matched. */
-#define	INSUBP                	92	/* 0x5c Whether we are in a specific recurse. */
-#define	DEFINEP               	93	/* 0x5d Never execute directly. */
-#define	ENDLIKE               	94	/* 0x5e Used only for the type field of verbs */
-#define	OPFAIL                	95	/* 0x5f Same as (?!) */
-#define	ACCEPT                	96	/* 0x60 Accepts the current matched string. */
-#define	VERB                  	97	/* 0x61 Used only for the type field of verbs */
-#define	PRUNE                 	98	/* 0x62 Pattern fails at this startpoint if no-backtracking through this */
-#define	MARKPOINT             	99	/* 0x63 Push the current location for rollback by cut. */
-#define	SKIP                  	100	/* 0x64 On failure skip forward (to the mark) before retrying */
-#define	COMMIT                	101	/* 0x65 Pattern fails outright if backtracking through this */
-#define	CUTGROUP              	102	/* 0x66 On failure go to the next alternation in the group */
-#define	KEEPS                 	103	/* 0x67 $& begins here. */
-#define	LNBREAK               	104	/* 0x68 generic newline pattern */
-#define	VERTWS                	105	/* 0x69 vertical whitespace         (Perl 6) */
-#define	NVERTWS               	106	/* 0x6a not vertical whitespace     (Perl 6) */
-#define	HORIZWS               	107	/* 0x6b horizontal whitespace       (Perl 6) */
-#define	NHORIZWS              	108	/* 0x6c not horizontal whitespace   (Perl 6) */
-#define	FOLDCHAR              	109	/* 0x6d codepoint with tricky case folding properties. */
-#define	OPTIMIZED             	110	/* 0x6e Placeholder for dump. */
-#define	PSEUDO                	111	/* 0x6f Pseudo opcode for internal use. */
+#define	ANYOF_WARN_SUPER      	22	/* 0x16 Match character in (or not in) this class, warn (if enabled) upon matching a char above Unicode max; */
+#define	ANYOF_SYNTHETIC       	23	/* 0x17 Synthetic start class */
+#define	POSIXD                	24	/* 0x18 Some [[:class:]] under /d; the FLAGS field gives which one */
+#define	POSIXL                	25	/* 0x19 Some [[:class:]] under /l; the FLAGS field gives which one */
+#define	POSIXU                	26	/* 0x1a Some [[:class:]] under /u; the FLAGS field gives which one */
+#define	POSIXA                	27	/* 0x1b Some [[:class:]] under /a; the FLAGS field gives which one */
+#define	NPOSIXD               	28	/* 0x1c complement of POSIXD, [[:^class:]] */
+#define	NPOSIXL               	29	/* 0x1d complement of POSIXL, [[:^class:]] */
+#define	NPOSIXU               	30	/* 0x1e complement of POSIXU, [[:^class:]] */
+#define	NPOSIXA               	31	/* 0x1f complement of POSIXA, [[:^class:]] */
+#define	CLUMP                 	32	/* 0x20 Match any extended grapheme cluster sequence */
+#define	BRANCH                	33	/* 0x21 Match this alternative, or the next... */
+#define	BACK                  	34	/* 0x22 Match "", "next" ptr points backward. */
+#define	EXACT                 	35	/* 0x23 Match this string (preceded by length). */
+#define	EXACTF                	36	/* 0x24 Match this non-UTF-8 string (not guaranteed to be folded) using /id rules (w/len). */
+#define	EXACTFL               	37	/* 0x25 Match this string (not guaranteed to be folded) using /il rules (w/len). */
+#define	EXACTFU               	38	/* 0x26 Match this string (folded iff in UTF-8, length in folding doesn't change if not in UTF-8) using /iu rules (w/len). */
+#define	EXACTFA               	39	/* 0x27 Match this string (not guaranteed to be folded) using /iaa rules (w/len). */
+#define	EXACTFU_SS            	40	/* 0x28 Match this string (folded iff in UTF-8, length in folding may change even if not in UTF-8) using /iu rules (w/len). */
+#define	EXACTFU_TRICKYFOLD    	41	/* 0x29 Match this folded UTF-8 string using /iu rules */
+#define	NOTHING               	42	/* 0x2a Match empty string. */
+#define	TAIL                  	43	/* 0x2b Match empty string. Can jump here from outside. */
+#define	STAR                  	44	/* 0x2c Match this (simple) thing 0 or more times. */
+#define	PLUS                  	45	/* 0x2d Match this (simple) thing 1 or more times. */
+#define	CURLY                 	46	/* 0x2e Match this simple thing {n,m} times. */
+#define	CURLYN                	47	/* 0x2f Capture next-after-this simple thing */
+#define	CURLYM                	48	/* 0x30 Capture this medium-complex thing {n,m} times. */
+#define	CURLYX                	49	/* 0x31 Match this complex thing {n,m} times. */
+#define	WHILEM                	50	/* 0x32 Do curly processing and see if rest matches. */
+#define	OPEN                  	51	/* 0x33 Mark this point in input as start of #n. */
+#define	CLOSE                 	52	/* 0x34 Analogous to OPEN. */
+#define	REF                   	53	/* 0x35 Match some already matched string */
+#define	REFF                  	54	/* 0x36 Match already matched string, folded using native charset semantics for non-utf8 */
+#define	REFFL                 	55	/* 0x37 Match already matched string, folded in loc. */
+#define	REFFU                 	56	/* 0x38 Match already matched string, folded using unicode semantics for non-utf8 */
+#define	REFFA                 	57	/* 0x39 Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
+#define	NREF                  	58	/* 0x3a Match some already matched string */
+#define	NREFF                 	59	/* 0x3b Match already matched string, folded using native charset semantics for non-utf8 */
+#define	NREFFL                	60	/* 0x3c Match already matched string, folded in loc. */
+#define	NREFFU                	61	/* 0x3d Match already matched string, folded using unicode semantics for non-utf8 */
+#define	NREFFA                	62	/* 0x3e Match already matched string, folded using unicode semantics for non-utf8, no mixing ASCII, non-ASCII */
+#define	IFMATCH               	63	/* 0x3f Succeeds if the following matches. */
+#define	UNLESSM               	64	/* 0x40 Fails if the following matches. */
+#define	SUSPEND               	65	/* 0x41 "Independent" sub-RE. */
+#define	IFTHEN                	66	/* 0x42 Switch, should be preceded by switcher. */
+#define	GROUPP                	67	/* 0x43 Whether the group matched. */
+#define	LONGJMP               	68	/* 0x44 Jump far away. */
+#define	BRANCHJ               	69	/* 0x45 BRANCH with long offset. */
+#define	EVAL                  	70	/* 0x46 Execute some Perl code. */
+#define	MINMOD                	71	/* 0x47 Next operator is not greedy. */
+#define	LOGICAL               	72	/* 0x48 Next opcode should set the flag only. */
+#define	RENUM                 	73	/* 0x49 Group with independently numbered parens. */
+#define	TRIE                  	74	/* 0x4a Match many EXACT(F[ALU]?)? at once. flags==type */
+#define	TRIEC                 	75	/* 0x4b Same as TRIE, but with embedded charclass data */
+#define	AHOCORASICK           	76	/* 0x4c Aho Corasick stclass. flags==type */
+#define	AHOCORASICKC          	77	/* 0x4d Same as AHOCORASICK, but with embedded charclass data */
+#define	GOSUB                 	78	/* 0x4e recurse to paren arg1 at (signed) ofs arg2 */
+#define	GOSTART               	79	/* 0x4f recurse to start of pattern */
+#define	NGROUPP               	80	/* 0x50 Whether the group matched. */
+#define	INSUBP                	81	/* 0x51 Whether we are in a specific recurse. */
+#define	DEFINEP               	82	/* 0x52 Never execute directly. */
+#define	ENDLIKE               	83	/* 0x53 Used only for the type field of verbs */
+#define	OPFAIL                	84	/* 0x54 Same as (?!) */
+#define	ACCEPT                	85	/* 0x55 Accepts the current matched string. */
+#define	VERB                  	86	/* 0x56 Used only for the type field of verbs */
+#define	PRUNE                 	87	/* 0x57 Pattern fails at this startpoint if no-backtracking through this */
+#define	MARKPOINT             	88	/* 0x58 Push the current location for rollback by cut. */
+#define	SKIP                  	89	/* 0x59 On failure skip forward (to the mark) before retrying */
+#define	COMMIT                	90	/* 0x5a Pattern fails outright if backtracking through this */
+#define	CUTGROUP              	91	/* 0x5b On failure go to the next alternation in the group */
+#define	KEEPS                 	92	/* 0x5c $& begins here. */
+#define	LNBREAK               	93	/* 0x5d generic newline pattern */
+#define	OPTIMIZED             	94	/* 0x5e Placeholder for dump. */
+#define	PSEUDO                	95	/* 0x5f Pseudo opcode for internal use. */
 	/* ------------ States ------------- */
 #define	TRIE_next             	(REGNODE_MAX + 1)	/* state for TRIE */
 #define	TRIE_next_fail        	(REGNODE_MAX + 2)	/* state for TRIE */
@@ -191,29 +175,16 @@
 	REG_ANY,  	/* SANY                   */
 	REG_ANY,  	/* CANY                   */
 	ANYOF,    	/* ANYOF                  */
-	ANYOF,    	/* ANYOFV                 */
-	ALNUM,    	/* ALNUM                  */
-	ALNUM,    	/* ALNUML                 */
-	ALNUM,    	/* ALNUMU                 */
-	ALNUM,    	/* ALNUMA                 */
-	NALNUM,   	/* NALNUM                 */
-	NALNUM,   	/* NALNUML                */
-	NALNUM,   	/* NALNUMU                */
-	NALNUM,   	/* NALNUMA                */
-	SPACE,    	/* SPACE                  */
-	SPACE,    	/* SPACEL                 */
-	SPACE,    	/* SPACEU                 */
-	SPACE,    	/* SPACEA                 */
-	NSPACE,   	/* NSPACE                 */
-	NSPACE,   	/* NSPACEL                */
-	NSPACE,   	/* NSPACEU                */
-	NSPACE,   	/* NSPACEA                */
-	DIGIT,    	/* DIGIT                  */
-	DIGIT,    	/* DIGITL                 */
-	DIGIT,    	/* DIGITA                 */
-	NDIGIT,   	/* NDIGIT                 */
-	NDIGIT,   	/* NDIGITL                */
-	NDIGIT,   	/* NDIGITA                */
+	ANYOF,    	/* ANYOF_WARN_SUPER       */
+	ANYOF,    	/* ANYOF_SYNTHETIC        */
+	POSIXD,   	/* POSIXD                 */
+	POSIXD,   	/* POSIXL                 */
+	POSIXD,   	/* POSIXU                 */
+	POSIXD,   	/* POSIXA                 */
+	NPOSIXD,  	/* NPOSIXD                */
+	NPOSIXD,  	/* NPOSIXL                */
+	NPOSIXD,  	/* NPOSIXU                */
+	NPOSIXD,  	/* NPOSIXA                */
 	CLUMP,    	/* CLUMP                  */
 	BRANCH,   	/* BRANCH                 */
 	BACK,     	/* BACK                   */
@@ -222,6 +193,8 @@
 	EXACT,    	/* EXACTFL                */
 	EXACT,    	/* EXACTFU                */
 	EXACT,    	/* EXACTFA                */
+	EXACT,    	/* EXACTFU_SS             */
+	EXACT,    	/* EXACTFU_TRICKYFOLD     */
 	NOTHING,  	/* NOTHING                */
 	NOTHING,  	/* TAIL                   */
 	STAR,     	/* STAR                   */
@@ -274,11 +247,6 @@
 	VERB,     	/* CUTGROUP               */
 	KEEPS,    	/* KEEPS                  */
 	LNBREAK,  	/* LNBREAK                */
-	VERTWS,   	/* VERTWS                 */
-	NVERTWS,  	/* NVERTWS                */
-	HORIZWS,  	/* HORIZWS                */
-	NHORIZWS, 	/* NHORIZWS               */
-	FOLDCHAR, 	/* FOLDCHAR               */
 	NOTHING,  	/* OPTIMIZED              */
 	PSEUDO,   	/* PSEUDO                 */
 	/* ------------ States ------------- */
@@ -351,29 +319,16 @@
 	0,                                   	/* SANY         */
 	0,                                   	/* CANY         */
 	0,                                   	/* ANYOF        */
-	0,                                   	/* ANYOFV       */
-	0,                                   	/* ALNUM        */
-	0,                                   	/* ALNUML       */
-	0,                                   	/* ALNUMU       */
-	0,                                   	/* ALNUMA       */
-	0,                                   	/* NALNUM       */
-	0,                                   	/* NALNUML      */
-	0,                                   	/* NALNUMU      */
-	0,                                   	/* NALNUMA      */
-	0,                                   	/* SPACE        */
-	0,                                   	/* SPACEL       */
-	0,                                   	/* SPACEU       */
-	0,                                   	/* SPACEA       */
-	0,                                   	/* NSPACE       */
-	0,                                   	/* NSPACEL      */
-	0,                                   	/* NSPACEU      */
-	0,                                   	/* NSPACEA      */
-	0,                                   	/* DIGIT        */
-	0,                                   	/* DIGITL       */
-	0,                                   	/* DIGITA       */
-	0,                                   	/* NDIGIT       */
-	0,                                   	/* NDIGITL      */
-	0,                                   	/* NDIGITA      */
+	0,                                   	/* ANYOF_WARN_SUPER */
+	0,                                   	/* ANYOF_SYNTHETIC */
+	0,                                   	/* POSIXD       */
+	0,                                   	/* POSIXL       */
+	0,                                   	/* POSIXU       */
+	0,                                   	/* POSIXA       */
+	0,                                   	/* NPOSIXD      */
+	0,                                   	/* NPOSIXL      */
+	0,                                   	/* NPOSIXU      */
+	0,                                   	/* NPOSIXA      */
 	0,                                   	/* CLUMP        */
 	0,                                   	/* BRANCH       */
 	0,                                   	/* BACK         */
@@ -382,6 +337,8 @@
 	0,                                   	/* EXACTFL      */
 	0,                                   	/* EXACTFU      */
 	0,                                   	/* EXACTFA      */
+	0,                                   	/* EXACTFU_SS   */
+	0,                                   	/* EXACTFU_TRICKYFOLD */
 	0,                                   	/* NOTHING      */
 	0,                                   	/* TAIL         */
 	0,                                   	/* STAR         */
@@ -434,11 +391,6 @@
 	EXTRA_SIZE(struct regnode_1),        	/* CUTGROUP     */
 	0,                                   	/* KEEPS        */
 	0,                                   	/* LNBREAK      */
-	0,                                   	/* VERTWS       */
-	0,                                   	/* NVERTWS      */
-	0,                                   	/* HORIZWS      */
-	0,                                   	/* NHORIZWS     */
-	EXTRA_SIZE(struct regnode_1),        	/* FOLDCHAR     */
 	0,                                   	/* OPTIMIZED    */
 	0,                                   	/* PSEUDO       */
 };
@@ -468,29 +420,16 @@
 	0,	/* SANY         */
 	0,	/* CANY         */
 	0,	/* ANYOF        */
-	0,	/* ANYOFV       */
-	0,	/* ALNUM        */
-	0,	/* ALNUML       */
-	0,	/* ALNUMU       */
-	0,	/* ALNUMA       */
-	0,	/* NALNUM       */
-	0,	/* NALNUML      */
-	0,	/* NALNUMU      */
-	0,	/* NALNUMA      */
-	0,	/* SPACE        */
-	0,	/* SPACEL       */
-	0,	/* SPACEU       */
-	0,	/* SPACEA       */
-	0,	/* NSPACE       */
-	0,	/* NSPACEL      */
-	0,	/* NSPACEU      */
-	0,	/* NSPACEA      */
-	0,	/* DIGIT        */
-	0,	/* DIGITL       */
-	0,	/* DIGITA       */
-	0,	/* NDIGIT       */
-	0,	/* NDIGITL      */
-	0,	/* NDIGITA      */
+	0,	/* ANYOF_WARN_SUPER */
+	0,	/* ANYOF_SYNTHETIC */
+	0,	/* POSIXD       */
+	0,	/* POSIXL       */
+	0,	/* POSIXU       */
+	0,	/* POSIXA       */
+	0,	/* NPOSIXD      */
+	0,	/* NPOSIXL      */
+	0,	/* NPOSIXU      */
+	0,	/* NPOSIXA      */
 	0,	/* CLUMP        */
 	0,	/* BRANCH       */
 	0,	/* BACK         */
@@ -499,6 +438,8 @@
 	0,	/* EXACTFL      */
 	0,	/* EXACTFU      */
 	0,	/* EXACTFA      */
+	0,	/* EXACTFU_SS   */
+	0,	/* EXACTFU_TRICKYFOLD */
 	0,	/* NOTHING      */
 	0,	/* TAIL         */
 	0,	/* STAR         */
@@ -551,11 +492,6 @@
 	0,	/* CUTGROUP     */
 	0,	/* KEEPS        */
 	0,	/* LNBREAK      */
-	0,	/* VERTWS       */
-	0,	/* NVERTWS      */
-	0,	/* HORIZWS      */
-	0,	/* NHORIZWS     */
-	0,	/* FOLDCHAR     */
 	0,	/* OPTIMIZED    */
 	0,	/* PSEUDO       */
 };
@@ -590,96 +526,80 @@
 	"SANY",                  	/* 0x13 */
 	"CANY",                  	/* 0x14 */
 	"ANYOF",                 	/* 0x15 */
-	"ANYOFV",                	/* 0x16 */
-	"ALNUM",                 	/* 0x17 */
-	"ALNUML",                	/* 0x18 */
-	"ALNUMU",                	/* 0x19 */
-	"ALNUMA",                	/* 0x1a */
-	"NALNUM",                	/* 0x1b */
-	"NALNUML",               	/* 0x1c */
-	"NALNUMU",               	/* 0x1d */
-	"NALNUMA",               	/* 0x1e */
-	"SPACE",                 	/* 0x1f */
-	"SPACEL",                	/* 0x20 */
-	"SPACEU",                	/* 0x21 */
-	"SPACEA",                	/* 0x22 */
-	"NSPACE",                	/* 0x23 */
-	"NSPACEL",               	/* 0x24 */
-	"NSPACEU",               	/* 0x25 */
-	"NSPACEA",               	/* 0x26 */
-	"DIGIT",                 	/* 0x27 */
-	"DIGITL",                	/* 0x28 */
-	"DIGITA",                	/* 0x29 */
-	"NDIGIT",                	/* 0x2a */
-	"NDIGITL",               	/* 0x2b */
-	"NDIGITA",               	/* 0x2c */
-	"CLUMP",                 	/* 0x2d */
-	"BRANCH",                	/* 0x2e */
-	"BACK",                  	/* 0x2f */
-	"EXACT",                 	/* 0x30 */
-	"EXACTF",                	/* 0x31 */
-	"EXACTFL",               	/* 0x32 */
-	"EXACTFU",               	/* 0x33 */
-	"EXACTFA",               	/* 0x34 */
-	"NOTHING",               	/* 0x35 */
-	"TAIL",                  	/* 0x36 */
-	"STAR",                  	/* 0x37 */
-	"PLUS",                  	/* 0x38 */
-	"CURLY",                 	/* 0x39 */
-	"CURLYN",                	/* 0x3a */
-	"CURLYM",                	/* 0x3b */
-	"CURLYX",                	/* 0x3c */
-	"WHILEM",                	/* 0x3d */
-	"OPEN",                  	/* 0x3e */
-	"CLOSE",                 	/* 0x3f */
-	"REF",                   	/* 0x40 */
-	"REFF",                  	/* 0x41 */
-	"REFFL",                 	/* 0x42 */
-	"REFFU",                 	/* 0x43 */
-	"REFFA",                 	/* 0x44 */
-	"NREF",                  	/* 0x45 */
-	"NREFF",                 	/* 0x46 */
-	"NREFFL",                	/* 0x47 */
-	"NREFFU",                	/* 0x48 */
-	"NREFFA",                	/* 0x49 */
-	"IFMATCH",               	/* 0x4a */
-	"UNLESSM",               	/* 0x4b */
-	"SUSPEND",               	/* 0x4c */
-	"IFTHEN",                	/* 0x4d */
-	"GROUPP",                	/* 0x4e */
-	"LONGJMP",               	/* 0x4f */
-	"BRANCHJ",               	/* 0x50 */
-	"EVAL",                  	/* 0x51 */
-	"MINMOD",                	/* 0x52 */
-	"LOGICAL",               	/* 0x53 */
-	"RENUM",                 	/* 0x54 */
-	"TRIE",                  	/* 0x55 */
-	"TRIEC",                 	/* 0x56 */
-	"AHOCORASICK",           	/* 0x57 */
-	"AHOCORASICKC",          	/* 0x58 */
-	"GOSUB",                 	/* 0x59 */
-	"GOSTART",               	/* 0x5a */
-	"NGROUPP",               	/* 0x5b */
-	"INSUBP",                	/* 0x5c */
-	"DEFINEP",               	/* 0x5d */
-	"ENDLIKE",               	/* 0x5e */
-	"OPFAIL",                	/* 0x5f */
-	"ACCEPT",                	/* 0x60 */
-	"VERB",                  	/* 0x61 */
-	"PRUNE",                 	/* 0x62 */
-	"MARKPOINT",             	/* 0x63 */
-	"SKIP",                  	/* 0x64 */
-	"COMMIT",                	/* 0x65 */
-	"CUTGROUP",              	/* 0x66 */
-	"KEEPS",                 	/* 0x67 */
-	"LNBREAK",               	/* 0x68 */
-	"VERTWS",                	/* 0x69 */
-	"NVERTWS",               	/* 0x6a */
-	"HORIZWS",               	/* 0x6b */
-	"NHORIZWS",              	/* 0x6c */
-	"FOLDCHAR",              	/* 0x6d */
-	"OPTIMIZED",             	/* 0x6e */
-	"PSEUDO",                	/* 0x6f */
+	"ANYOF_WARN_SUPER",      	/* 0x16 */
+	"ANYOF_SYNTHETIC",       	/* 0x17 */
+	"POSIXD",                	/* 0x18 */
+	"POSIXL",                	/* 0x19 */
+	"POSIXU",                	/* 0x1a */
+	"POSIXA",                	/* 0x1b */
+	"NPOSIXD",               	/* 0x1c */
+	"NPOSIXL",               	/* 0x1d */
+	"NPOSIXU",               	/* 0x1e */
+	"NPOSIXA",               	/* 0x1f */
+	"CLUMP",                 	/* 0x20 */
+	"BRANCH",                	/* 0x21 */
+	"BACK",                  	/* 0x22 */
+	"EXACT",                 	/* 0x23 */
+	"EXACTF",                	/* 0x24 */
+	"EXACTFL",               	/* 0x25 */
+	"EXACTFU",               	/* 0x26 */
+	"EXACTFA",               	/* 0x27 */
+	"EXACTFU_SS",            	/* 0x28 */
+	"EXACTFU_TRICKYFOLD",    	/* 0x29 */
+	"NOTHING",               	/* 0x2a */
+	"TAIL",                  	/* 0x2b */
+	"STAR",                  	/* 0x2c */
+	"PLUS",                  	/* 0x2d */
+	"CURLY",                 	/* 0x2e */
+	"CURLYN",                	/* 0x2f */
+	"CURLYM",                	/* 0x30 */
+	"CURLYX",                	/* 0x31 */
+	"WHILEM",                	/* 0x32 */
+	"OPEN",                  	/* 0x33 */
+	"CLOSE",                 	/* 0x34 */
+	"REF",                   	/* 0x35 */
+	"REFF",                  	/* 0x36 */
+	"REFFL",                 	/* 0x37 */
+	"REFFU",                 	/* 0x38 */
+	"REFFA",                 	/* 0x39 */
+	"NREF",                  	/* 0x3a */
+	"NREFF",                 	/* 0x3b */
+	"NREFFL",                	/* 0x3c */
+	"NREFFU",                	/* 0x3d */
+	"NREFFA",                	/* 0x3e */
+	"IFMATCH",               	/* 0x3f */
+	"UNLESSM",               	/* 0x40 */
+	"SUSPEND",               	/* 0x41 */
+	"IFTHEN",                	/* 0x42 */
+	"GROUPP",                	/* 0x43 */
+	"LONGJMP",               	/* 0x44 */
+	"BRANCHJ",               	/* 0x45 */
+	"EVAL",                  	/* 0x46 */
+	"MINMOD",                	/* 0x47 */
+	"LOGICAL",               	/* 0x48 */
+	"RENUM",                 	/* 0x49 */
+	"TRIE",                  	/* 0x4a */
+	"TRIEC",                 	/* 0x4b */
+	"AHOCORASICK",           	/* 0x4c */
+	"AHOCORASICKC",          	/* 0x4d */
+	"GOSUB",                 	/* 0x4e */
+	"GOSTART",               	/* 0x4f */
+	"NGROUPP",               	/* 0x50 */
+	"INSUBP",                	/* 0x51 */
+	"DEFINEP",               	/* 0x52 */
+	"ENDLIKE",               	/* 0x53 */
+	"OPFAIL",                	/* 0x54 */
+	"ACCEPT",                	/* 0x55 */
+	"VERB",                  	/* 0x56 */
+	"PRUNE",                 	/* 0x57 */
+	"MARKPOINT",             	/* 0x58 */
+	"SKIP",                  	/* 0x59 */
+	"COMMIT",                	/* 0x5a */
+	"CUTGROUP",              	/* 0x5b */
+	"KEEPS",                 	/* 0x5c */
+	"LNBREAK",               	/* 0x5d */
+	"OPTIMIZED",             	/* 0x5e */
+	"PSEUDO",                	/* 0x5f */
 	/* ------------ States ------------- */
 	"TRIE_next",             	/* REGNODE_MAX +0x01 */
 	"TRIE_next_fail",        	/* REGNODE_MAX +0x02 */
@@ -730,16 +650,16 @@
 EXTCONST char * PL_reg_extflags_name[];
 #else
 EXTCONST char * const PL_reg_extflags_name[] = {
-	/* Bits in extflags defined: 11111111111111111111111011111111 */
+	/* Bits in extflags defined: 11111110111111111111111111111111 */
 	"MULTILINE",        /* 0x00000001 */
 	"SINGLELINE",       /* 0x00000002 */
 	"FOLD",             /* 0x00000004 */
 	"EXTENDED",         /* 0x00000008 */
 	"KEEPCOPY",         /* 0x00000010 */
-	"CHARSET",          /* 0x000000e0 */
-	"CHARSET",          /* 0x000000e0 */
-	"CHARSET",          /* 0x000000e0 */
-	"UNUSED_BIT_8",     /* 0x00000100 */
+	"CHARSET0",         /* 0x00000020 : "CHARSET" - 0x000000e0 */
+	"CHARSET1",         /* 0x00000040 : "CHARSET" - 0x000000e0 */
+	"CHARSET2",         /* 0x00000080 : "CHARSET" - 0x000000e0 */
+	"SPLIT",            /* 0x00000100 */
 	"ANCH_BOL",         /* 0x00000200 */
 	"ANCH_MBOL",        /* 0x00000400 */
 	"ANCH_SBOL",        /* 0x00000800 */
@@ -746,7 +666,7 @@
 	"ANCH_GPOS",        /* 0x00001000 */
 	"GPOS_SEEN",        /* 0x00002000 */
 	"GPOS_FLOAT",       /* 0x00004000 */
-	"LOOKBEHIND_SEEN",  /* 0x00008000 */
+	"NO_INPLACE_SUBST", /* 0x00008000 */
 	"EVAL_SEEN",        /* 0x00010000 */
 	"CANY_SEEN",        /* 0x00020000 */
 	"NOSCAN",           /* 0x00040000 */
@@ -755,7 +675,7 @@
 	"USE_INTUIT_NOML",  /* 0x00200000 */
 	"USE_INTUIT_ML",    /* 0x00400000 */
 	"INTUIT_TAIL",      /* 0x00800000 */
-	"SPLIT",            /* 0x01000000 */
+	"UNUSED_BIT_24",    /* 0x01000000 */
 	"COPY_DONE",        /* 0x02000000 */
 	"TAINTED_SEEN",     /* 0x04000000 */
 	"TAINTED",          /* 0x08000000 */
@@ -773,9 +693,9 @@
 EXTCONST U8 PL_varies[] __attribute__deprecated__;
 #else
 EXTCONST U8 PL_varies[] __attribute__deprecated__ = {
-    ANYOFV, CLUMP, BRANCH, BACK, STAR, PLUS, CURLY, CURLYN, CURLYM, CURLYX,
-    WHILEM, REF, REFF, REFFL, REFFU, REFFA, NREF, NREFF, NREFFL, NREFFU,
-    NREFFA, SUSPEND, IFTHEN, BRANCHJ,
+    CLUMP, BRANCH, BACK, STAR, PLUS, CURLY, CURLYN, CURLYM, CURLYX, WHILEM,
+    REF, REFF, REFFL, REFFU, REFFA, NREF, NREFF, NREFFL, NREFFU, NREFFA,
+    SUSPEND, IFTHEN, BRANCHJ,
     0
 };
 #endif /* DOINIT */
@@ -784,7 +704,7 @@
 EXTCONST U8 PL_varies_bitmask[];
 #else
 EXTCONST U8 PL_varies_bitmask[] = {
-    0x00, 0x00, 0x40, 0x00, 0x00, 0xE0, 0x80, 0x3F, 0xFF, 0x33, 0x01, 0x00, 0x00, 0x00
+    0x00, 0x00, 0x00, 0x00, 0x07, 0xF0, 0xE7, 0x7F, 0x26, 0x00, 0x00, 0x00
 };
 #endif /* DOINIT */
 
@@ -796,10 +716,8 @@
 EXTCONST U8 PL_simple[] __attribute__deprecated__;
 #else
 EXTCONST U8 PL_simple[] __attribute__deprecated__ = {
-    REG_ANY, SANY, CANY, ANYOF, ALNUM, ALNUML, ALNUMU, ALNUMA, NALNUM,
-    NALNUML, NALNUMU, NALNUMA, SPACE, SPACEL, SPACEU, SPACEA, NSPACE,
-    NSPACEL, NSPACEU, NSPACEA, DIGIT, DIGITL, DIGITA, NDIGIT, NDIGITL,
-    NDIGITA, VERTWS, NVERTWS, HORIZWS, NHORIZWS,
+    REG_ANY, SANY, CANY, ANYOF, ANYOF_WARN_SUPER, ANYOF_SYNTHETIC, POSIXD,
+    POSIXL, POSIXU, POSIXA, NPOSIXD, NPOSIXL, NPOSIXU, NPOSIXA,
     0
 };
 #endif /* DOINIT */
@@ -808,7 +726,7 @@
 EXTCONST U8 PL_simple_bitmask[];
 #else
 EXTCONST U8 PL_simple_bitmask[] = {
-    0x00, 0x00, 0xBC, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E
+    0x00, 0x00, 0xFC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
 };
 #endif /* DOINIT */
 


Property changes on: vendor/perl/dist/regnodes.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/run.c
===================================================================
--- vendor/perl/dist/run.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/run.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,7 +30,7 @@
  *  Now we are come to the lands where you were foaled, and every stone you
  *  know.  Run now!  Hope is in speed!'                    --Gandalf
  *
- *     [p.600 of _The Lord of the Rings_, III/xi: "The Palant\xEDr"]
+ *     [p.600 of _The Lord of the Rings_, III/xi: "The Palantír"]
  */
 
 int
@@ -37,9 +37,12 @@
 Perl_runops_standard(pTHX)
 {
     dVAR;
-    register OP *op = PL_op;
+    OP *op = PL_op;
+    OP_ENTRY_PROBE(OP_NAME(op));
     while ((PL_op = op = op->op_ppaddr(aTHX))) {
+        OP_ENTRY_PROBE(OP_NAME(op));
     }
+    PERL_ASYNC_CHECK();
 
     TAINT_NOT;
     return 0;
@@ -49,8 +52,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/run.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/runtests.SH
===================================================================
--- vendor/perl/dist/runtests.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/runtests.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 case $PERL_CONFIG_SH in
 '')
     if test ! -f config.sh; then


Property changes on: vendor/perl/dist/runtests.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/scope.c
===================================================================
--- vendor/perl/dist/scope.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/scope.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -160,11 +160,13 @@
     /* XXX should tmps_floor live in cxstack? */
     const I32 myfloor = PL_tmps_floor;
     while (PL_tmps_ix > myfloor) {      /* clean up after last statement */
-	SV* const sv = PL_tmps_stack[PL_tmps_ix];
-	PL_tmps_stack[PL_tmps_ix--] = NULL;
+	SV* const sv = PL_tmps_stack[PL_tmps_ix--];
+#ifdef PERL_POISON
+	PoisonWith(PL_tmps_stack + PL_tmps_ix + 1, 1, SV *, 0xAB);
+#endif
 	if (sv && sv != &PL_sv_undef) {
 	    SvTEMP_off(sv);
-	    SvREFCNT_dec(sv);		/* note, can modify tmps_ix!!! */
+	    SvREFCNT_dec_NN(sv);		/* note, can modify tmps_ix!!! */
 	}
     }
 }
@@ -174,7 +176,7 @@
 {
     dVAR;
     SV * osv;
-    register SV *sv;
+    SV *sv;
 
     PERL_ARGS_ASSERT_SAVE_SCALAR_AT;
 
@@ -181,7 +183,7 @@
     osv = *sptr;
     sv  = (flags & SAVEf_KEEPOLDELEM) ? osv : (*sptr = newSV(0));
 
-    if (SvTYPE(osv) >= SVt_PVMG && SvMAGIC(osv) && SvTYPE(osv) != SVt_PVGV) {
+    if (SvTYPE(osv) >= SVt_PVMG && SvMAGIC(osv)) {
 	if (SvGMAGICAL(osv)) {
 	    SvFLAGS(osv) |= (SvFLAGS(osv) &
 	       (SVp_IOK|SVp_NOK|SVp_POK)) >> PRIVSHIFT;
@@ -197,10 +199,11 @@
 Perl_save_pushptrptr(pTHX_ void *const ptr1, void *const ptr2, const int type)
 {
     dVAR;
-    SSCHECK(3);
-    SSPUSHPTR(ptr1);
-    SSPUSHPTR(ptr2);
-    SSPUSHUV(type);
+    dSS_ADD;
+    SS_ADD_PTR(ptr1);
+    SS_ADD_PTR(ptr2);
+    SS_ADD_UV(type);
+    SS_ADD_END(3);
 }
 
 SV *
@@ -211,9 +214,11 @@
 
     PERL_ARGS_ASSERT_SAVE_SCALAR;
 
-    PL_localizing = 1;
-    SvGETMAGIC(*sptr);
-    PL_localizing = 0;
+    if (SvGMAGICAL(*sptr)) {
+        PL_localizing = 1;
+        (void)mg_get(*sptr);
+        PL_localizing = 0;
+    }
     save_pushptrptr(SvREFCNT_inc_simple(gv), SvREFCNT_inc(*sptr), SAVEt_SV);
     return save_scalar_at(sptr, SAVEf_SETMAGIC); /* XXX - FIXME - see #60360 */
 }
@@ -262,14 +267,15 @@
 Perl_save_set_svflags(pTHX_ SV* sv, U32 mask, U32 val)
 {
     dVAR;
+    dSS_ADD;
 
     PERL_ARGS_ASSERT_SAVE_SET_SVFLAGS;
 
-    SSCHECK(4);
-    SSPUSHPTR(sv);
-    SSPUSHINT(mask);
-    SSPUSHINT(val);
-    SSPUSHUV(SAVEt_SET_SVFLAGS);
+    SS_ADD_PTR(sv);
+    SS_ADD_INT(mask);
+    SS_ADD_INT(val);
+    SS_ADD_UV(SAVEt_SET_SVFLAGS);
+    SS_ADD_END(4);
 }
 
 void
@@ -283,22 +289,22 @@
 
     if (empty) {
 	GP *gp = Perl_newGP(aTHX_ gv);
+	HV * const stash = GvSTASH(gv);
+	bool isa_changed = 0;
 
-	if (GvCVu(gv))
-            mro_method_changed_in(GvSTASH(gv)); /* taking a method out of circulation ("local")*/
+	if (stash && HvENAME(stash)) {
+	    if (GvNAMELEN(gv) == 3 && strnEQ(GvNAME(gv), "ISA", 3))
+		isa_changed = TRUE;
+	    else if (GvCVu(gv))
+		/* taking a method out of circulation ("local")*/
+                mro_method_changed_in(stash);
+	}
 	if (GvIOp(gv) && (IoFLAGS(GvIOp(gv)) & IOf_ARGV)) {
 	    gp->gp_io = newIO();
 	    IoFLAGS(gp->gp_io) |= IOf_ARGV|IOf_START;
 	}
-#ifdef PERL_DONT_CREATE_GVSV
-	if (gv == PL_errgv) {
-	    /* We could scatter this logic everywhere by changing the
-	       definition of ERRSV from GvSV() to GvSVn(), but it seems more
-	       efficient to do this check once here.  */
-	    gp->gp_sv = newSV(0);
-	}
-#endif
 	GvGP_set(gv,gp);
+	if (isa_changed) mro_isa_changed_in(stash);
     }
     else {
 	gp_ref(GvGP(gv));
@@ -317,7 +323,7 @@
 
     if (!AvREAL(oav) && AvREIFY(oav))
 	av_reify(oav);
-    save_pushptrptr(gv, oav, SAVEt_AV);
+    save_pushptrptr(SvREFCNT_inc_simple_NN(gv), oav, SAVEt_AV);
 
     GvAV(gv) = NULL;
     av = GvAVn(gv);
@@ -334,7 +340,9 @@
 
     PERL_ARGS_ASSERT_SAVE_HASH;
 
-    save_pushptrptr(gv, (ohv = GvHVn(gv)), SAVEt_HV);
+    save_pushptrptr(
+	SvREFCNT_inc_simple_NN(gv), (ohv = GvHVn(gv)), SAVEt_HV
+    );
 
     GvHV(gv) = NULL;
     hv = GvHVn(gv);
@@ -344,10 +352,10 @@
 }
 
 void
-Perl_save_item(pTHX_ register SV *item)
+Perl_save_item(pTHX_ SV *item)
 {
     dVAR;
-    register SV * const sv = newSVsv(item);
+    SV * const sv = newSVsv(item);
 
     PERL_ARGS_ASSERT_SAVE_ITEM;
 
@@ -360,12 +368,13 @@
 Perl_save_bool(pTHX_ bool *boolp)
 {
     dVAR;
+    dSS_ADD;
 
     PERL_ARGS_ASSERT_SAVE_BOOL;
 
-    SSCHECK(2);
-    SSPUSHPTR(boolp);
-    SSPUSHUV(SAVEt_BOOL | (*boolp << 8));
+    SS_ADD_PTR(boolp);
+    SS_ADD_UV(SAVEt_BOOL | (*boolp << 8));
+    SS_ADD_END(2);
 }
 
 void
@@ -372,10 +381,12 @@
 Perl_save_pushi32ptr(pTHX_ const I32 i, void *const ptr, const int type)
 {
     dVAR;
-    SSCHECK(3);
-    SSPUSHINT(i);
-    SSPUSHPTR(ptr);
-    SSPUSHUV(type);
+    dSS_ADD;
+
+    SS_ADD_INT(i);
+    SS_ADD_PTR(ptr);
+    SS_ADD_UV(type);
+    SS_ADD_END(3);
 }
 
 void
@@ -382,16 +393,21 @@
 Perl_save_int(pTHX_ int *intp)
 {
     dVAR;
-    const UV shifted = (UV)*intp << SAVE_TIGHT_SHIFT;
+    const int i = *intp;
+    UV type = ((UV)((UV)i << SAVE_TIGHT_SHIFT) | SAVEt_INT_SMALL);
+    int size = 2;
+    dSS_ADD;
 
     PERL_ARGS_ASSERT_SAVE_INT;
 
-    if ((int)(shifted >> SAVE_TIGHT_SHIFT) == *intp) {
-	SSCHECK(2);
-	SSPUSHPTR(intp);
-	SSPUSHUV(SAVEt_INT_SMALL | shifted);
-    } else
-	save_pushi32ptr(*intp, intp, SAVEt_INT);
+    if ((int)(type >> SAVE_TIGHT_SHIFT) != i) {
+        SS_ADD_INT(i);
+        type = SAVEt_INT;
+        size++;
+    }
+    SS_ADD_PTR(intp);
+    SS_ADD_UV(type);
+    SS_ADD_END(size);
 }
 
 void
@@ -398,12 +414,13 @@
 Perl_save_I8(pTHX_ I8 *bytep)
 {
     dVAR;
+    dSS_ADD;
 
     PERL_ARGS_ASSERT_SAVE_I8;
 
-    SSCHECK(2);
-    SSPUSHPTR(bytep);
-    SSPUSHUV(SAVEt_I8 | ((UV)*bytep << 8));
+    SS_ADD_PTR(bytep);
+    SS_ADD_UV(SAVEt_I8 | ((UV)*bytep << 8));
+    SS_ADD_END(2);
 }
 
 void
@@ -410,12 +427,13 @@
 Perl_save_I16(pTHX_ I16 *intp)
 {
     dVAR;
+    dSS_ADD;
 
     PERL_ARGS_ASSERT_SAVE_I16;
 
-    SSCHECK(2);
-    SSPUSHPTR(intp);
-    SSPUSHUV(SAVEt_I16 | ((UV)*intp << 8));
+    SS_ADD_PTR(intp);
+    SS_ADD_UV(SAVEt_I16 | ((UV)*intp << 8));
+    SS_ADD_END(2);
 }
 
 void
@@ -422,16 +440,21 @@
 Perl_save_I32(pTHX_ I32 *intp)
 {
     dVAR;
-    const UV shifted = (UV)*intp << SAVE_TIGHT_SHIFT;
+    const I32 i = *intp;
+    UV type = ((I32)((U32)i << SAVE_TIGHT_SHIFT) | SAVEt_I32_SMALL);
+    int size = 2;
+    dSS_ADD;
 
     PERL_ARGS_ASSERT_SAVE_I32;
 
-    if ((I32)(shifted >> SAVE_TIGHT_SHIFT) == *intp) {
-	SSCHECK(2);
-	SSPUSHPTR(intp);
-	SSPUSHUV(SAVEt_I32_SMALL | shifted);
-    } else
-	save_pushi32ptr(*intp, intp, SAVEt_I32);
+    if ((I32)(type >> SAVE_TIGHT_SHIFT) != i) {
+        SS_ADD_INT(i);
+        type = SAVEt_I32;
+        size++;
+    }
+    SS_ADD_PTR(intp);
+    SS_ADD_UV(type);
+    SS_ADD_END(size);
 }
 
 /* Cannot use save_sptr() to store a char* since the SV** cast will
@@ -471,12 +494,14 @@
 Perl_save_padsv_and_mortalize(pTHX_ PADOFFSET off)
 {
     dVAR;
-    SSCHECK(4);
+    dSS_ADD;
+
     ASSERT_CURPAD_ACTIVE("save_padsv");
-    SSPUSHPTR(SvREFCNT_inc_simple_NN(PL_curpad[off]));
-    SSPUSHPTR(PL_comppad);
-    SSPUSHLONG((long)off);
-    SSPUSHUV(SAVEt_PADSV_AND_MORTALIZE);
+    SS_ADD_PTR(SvREFCNT_inc_simple_NN(PL_curpad[off]));
+    SS_ADD_PTR(PL_comppad);
+    SS_ADD_UV((UV)off);
+    SS_ADD_UV(SAVEt_PADSV_AND_MORTALIZE);
+    SS_ADD_END(4);
 }
 
 void
@@ -503,9 +528,10 @@
 Perl_save_pushptr(pTHX_ void *const ptr, const int type)
 {
     dVAR;
-    SSCHECK(2);
-    SSPUSHPTR(ptr);
-    SSPUSHUV(type);
+    dSS_ADD;
+    SS_ADD_PTR(ptr);
+    SS_ADD_UV(type);
+    SS_ADD_END(2);
 }
 
 void
@@ -518,13 +544,17 @@
     PERL_ARGS_ASSERT_SAVE_CLEARSV;
 
     ASSERT_CURPAD_ACTIVE("save_clearsv");
-    if ((offset_shifted >> SAVE_TIGHT_SHIFT) != offset)
+    SvPADSTALE_off(*svp); /* mark lexical as active */
+    if ((offset_shifted >> SAVE_TIGHT_SHIFT) != offset) {
 	Perl_croak(aTHX_ "panic: pad offset %"UVuf" out of range (%p-%p)",
 		   offset, svp, PL_curpad);
+    }
 
-    SSCHECK(1);
-    SSPUSHUV(offset_shifted | SAVEt_CLEARSV);
-    SvPADSTALE_off(*svp); /* mark lexical as active */
+    {
+        dSS_ADD;
+        SS_ADD_UV(offset_shifted | SAVEt_CLEARSV);
+        SS_ADD_END(1);
+    }
 }
 
 void
@@ -567,13 +597,14 @@
 Perl_save_destructor(pTHX_ DESTRUCTORFUNC_NOCONTEXT_t f, void* p)
 {
     dVAR;
+    dSS_ADD;
 
     PERL_ARGS_ASSERT_SAVE_DESTRUCTOR;
 
-    SSCHECK(3);
-    SSPUSHDPTR(f);
-    SSPUSHPTR(p);
-    SSPUSHUV(SAVEt_DESTRUCTOR);
+    SS_ADD_DPTR(f);
+    SS_ADD_PTR(p);
+    SS_ADD_UV(SAVEt_DESTRUCTOR);
+    SS_ADD_END(3);
 }
 
 void
@@ -580,10 +611,12 @@
 Perl_save_destructor_x(pTHX_ DESTRUCTORFUNC_t f, void* p)
 {
     dVAR;
-    SSCHECK(3);
-    SSPUSHDXPTR(f);
-    SSPUSHPTR(p);
-    SSPUSHUV(SAVEt_DESTRUCTOR_X);
+    dSS_ADD;
+
+    SS_ADD_DXPTR(f);
+    SS_ADD_PTR(p);
+    SS_ADD_UV(SAVEt_DESTRUCTOR_X);
+    SS_ADD_END(3);
 }
 
 void
@@ -592,8 +625,10 @@
     dVAR;
     COPHH *save_cophh = cophh_copy(CopHINTHASH_get(&PL_compiling));
     if (PL_hints & HINT_LOCALIZE_HH) {
-	save_pushptri32ptr(GvHV(PL_hintgv), PL_hints, save_cophh, SAVEt_HINTS);
-	GvHV(PL_hintgv) = hv_copy_hints_hv(GvHV(PL_hintgv));
+	HV *oldhh = GvHV(PL_hintgv);
+	save_pushptri32ptr(oldhh, PL_hints, save_cophh, SAVEt_HINTS);
+	GvHV(PL_hintgv) = NULL; /* in case copying dies */
+	GvHV(PL_hintgv) = hv_copy_hints_hv(oldhh);
     } else {
 	save_pushi32ptr(PL_hints, save_cophh, SAVEt_HINTS);
     }
@@ -603,11 +638,12 @@
 S_save_pushptri32ptr(pTHX_ void *const ptr1, const I32 i, void *const ptr2,
 			const int type)
 {
-    SSCHECK(4);
-    SSPUSHPTR(ptr1);
-    SSPUSHINT(i);
-    SSPUSHPTR(ptr2);
-    SSPUSHUV(type);
+    dSS_ADD;
+    SS_ADD_PTR(ptr1);
+    SS_ADD_INT(i);
+    SS_ADD_PTR(ptr2);
+    SS_ADD_UV(type);
+    SS_ADD_END(4);
 }
 
 void
@@ -621,9 +657,10 @@
     SvGETMAGIC(*sptr);
     save_pushptri32ptr(SvREFCNT_inc_simple(av), idx, SvREFCNT_inc(*sptr),
 		       SAVEt_AELEM);
-    /* if it gets reified later, the restore will have the wrong refcnt */
+    /* The array needs to hold a reference count on its new element, so it
+       must be AvREAL. */
     if (!AvREAL(av) && AvREIFY(av))
-	SvREFCNT_inc_void(*sptr);
+	av_reify(av);
     save_scalar_at(sptr, flags); /* XXX - FIXME - see #60360 */
     if (flags & SAVEf_KEEPOLDELEM)
 	return;
@@ -645,11 +682,14 @@
     PERL_ARGS_ASSERT_SAVE_HELEM_FLAGS;
 
     SvGETMAGIC(*sptr);
-    SSCHECK(4);
-    SSPUSHPTR(SvREFCNT_inc_simple(hv));
-    SSPUSHPTR(newSVsv(key));
-    SSPUSHPTR(SvREFCNT_inc(*sptr));
-    SSPUSHUV(SAVEt_HELEM);
+    {
+        dSS_ADD;
+        SS_ADD_PTR(SvREFCNT_inc_simple(hv));
+        SS_ADD_PTR(newSVsv(key));
+        SS_ADD_PTR(SvREFCNT_inc(*sptr));
+        SS_ADD_UV(SAVEt_HELEM);
+        SS_ADD_END(4);
+    }
     save_scalar_at(sptr, flags);
     if (flags & SAVEf_KEEPOLDELEM)
 	return;
@@ -678,14 +718,15 @@
 Perl_save_alloc(pTHX_ I32 size, I32 pad)
 {
     dVAR;
-    register const I32 start = pad + ((char*)&PL_savestack[PL_savestack_ix]
-				- (char*)PL_savestack);
+    const I32 start = pad + ((char*)&PL_savestack[PL_savestack_ix]
+                          - (char*)PL_savestack);
     const UV elems = 1 + ((size + pad - 1) / sizeof(*PL_savestack));
     const UV elems_shifted = elems << SAVE_TIGHT_SHIFT;
 
     if ((elems_shifted >> SAVE_TIGHT_SHIFT) != elems)
-	Perl_croak(aTHX_ "panic: save_alloc elems %"UVuf" out of range (%ld-%ld)",
-		   elems, size, pad);
+	Perl_croak(aTHX_
+            "panic: save_alloc elems %"UVuf" out of range (%"IVdf"-%"IVdf")",
+		   elems, (IV)size, (IV)pad);
 
     SSGROW(elems + 1);
 
@@ -694,262 +735,366 @@
     return start;
 }
 
+
+
+#define ARG0_SV  MUTABLE_SV(arg0.any_ptr)
+#define ARG0_AV  MUTABLE_AV(arg0.any_ptr)
+#define ARG0_HV  MUTABLE_HV(arg0.any_ptr)
+#define ARG0_PTR arg0.any_ptr
+#define ARG0_PV  (char*)(arg0.any_ptr)
+#define ARG0_PVP (char**)(arg0.any_ptr)
+#define ARG0_I32 (arg0.any_i32)
+
+#define ARG1_SV  MUTABLE_SV(arg1.any_ptr)
+#define ARG1_AV  MUTABLE_AV(arg1.any_ptr)
+#define ARG1_GV  MUTABLE_GV(arg1.any_ptr)
+#define ARG1_SVP (SV**)(arg1.any_ptr)
+#define ARG1_PVP (char**)(arg1.any_ptr)
+#define ARG1_PTR arg1.any_ptr
+#define ARG1_PV  (char*)(arg1.any_ptr)
+#define ARG1_I32 (arg1.any_i32)
+
+#define ARG2_SV  MUTABLE_SV(arg2.any_ptr)
+#define ARG2_AV  MUTABLE_AV(arg2.any_ptr)
+#define ARG2_HV  MUTABLE_HV(arg2.any_ptr)
+#define ARG2_GV  MUTABLE_GV(arg2.any_ptr)
+#define ARG2_PV  (char*)(arg2.any_ptr)
+
 void
 Perl_leave_scope(pTHX_ I32 base)
 {
     dVAR;
-    register SV *sv;
-    register SV *value;
-    register GV *gv;
-    register AV *av;
-    register HV *hv;
-    void* ptr;
-    register char* str;
-    I32 i;
+
     /* Localise the effects of the TAINT_NOT inside the loop.  */
-    const bool was = PL_tainted;
+    bool was = TAINT_get;
 
+    ANY arg0, arg1, arg2;
+
+    /* these initialisations are logically unnecessary, but they shut up
+     * spurious 'may be used uninitialized' compiler warnings */
+    arg0.any_ptr = NULL;
+    arg1.any_ptr = NULL;
+    arg2.any_ptr = NULL;
+
     if (base < -1)
-	Perl_croak(aTHX_ "panic: corrupt saved stack index");
+	Perl_croak(aTHX_ "panic: corrupt saved stack index %ld", (long) base);
     DEBUG_l(Perl_deb(aTHX_ "savestack: releasing items %ld -> %ld\n",
 			(long)PL_savestack_ix, (long)base));
     while (PL_savestack_ix > base) {
-	UV uv = SSPOPUV;
-	const U8 type = (U8)uv & SAVE_MASK;
+	UV uv;
+	U8 type;
+
+        SV *refsv;
+        SV **svp;
+
 	TAINT_NOT;
 
+        {
+            I32 ix = PL_savestack_ix - 1;
+            ANY *p = &PL_savestack[ix];
+            uv = p->any_uv;
+            type = (U8)uv & SAVE_MASK;
+            if (type > SAVEt_ARG0_MAX) {
+                ANY *p0 = p;
+                arg0 = *--p;
+                if (type > SAVEt_ARG1_MAX) {
+                    arg1 = *--p;
+                    if (type > SAVEt_ARG2_MAX) {
+                        arg2 = *--p;
+                    }
+                }
+                ix -= (p0 - p);
+            }
+            PL_savestack_ix = ix;
+        }
+
 	switch (type) {
 	case SAVEt_ITEM:			/* normal string */
-	    value = MUTABLE_SV(SSPOPPTR);
-	    sv = MUTABLE_SV(SSPOPPTR);
-	    sv_replace(sv,value);
-	    PL_localizing = 2;
-	    SvSETMAGIC(sv);
-	    PL_localizing = 0;
+	    sv_replace(ARG1_SV, ARG0_SV);
+            if (SvSMAGICAL(ARG1_SV)) {
+                PL_localizing = 2;
+                mg_set(ARG1_SV);
+                PL_localizing = 0;
+            }
 	    break;
+
+	    /* This would be a mathom, but Perl_save_svref() calls a static
+	       function, S_save_scalar_at(), so has to stay in this file.  */
+	case SAVEt_SVREF:			/* scalar reference */
+	    svp = ARG1_SVP;
+	    refsv = NULL; /* what to refcnt_dec */
+	    goto restore_sv;
+
 	case SAVEt_SV:				/* scalar reference */
-	    value = MUTABLE_SV(SSPOPPTR);
-	    gv = MUTABLE_GV(SSPOPPTR);
-	    ptr = &GvSV(gv);
-	    av = MUTABLE_AV(gv); /* what to refcnt_dec */
+	    svp = &GvSV(ARG1_GV);
+	    refsv = ARG1_SV; /* what to refcnt_dec */
 	restore_sv:
-	    sv = *(SV**)ptr;
-	    *(SV**)ptr = value;
+        {
+	    SV * const sv = *svp;
+	    *svp = ARG0_SV;
 	    SvREFCNT_dec(sv);
-	    PL_localizing = 2;
-	    SvSETMAGIC(value);
-	    PL_localizing = 0;
-	    SvREFCNT_dec(value);
-	    if (av) /* actually an av, hv or gv */
-		SvREFCNT_dec(av);
+            if (SvSMAGICAL(ARG0_SV)) {
+                PL_localizing = 2;
+                mg_set(ARG0_SV);
+                PL_localizing = 0;
+            }
+	    SvREFCNT_dec_NN(ARG0_SV);
+	    SvREFCNT_dec(refsv);
 	    break;
+        }
 	case SAVEt_GENERIC_PVREF:		/* generic pv */
-	    ptr = SSPOPPTR;
-	    str = (char*)SSPOPPTR;
-	    if (*(char**)ptr != str) {
-		Safefree(*(char**)ptr);
-		*(char**)ptr = str;
+	    if (*ARG0_PVP != ARG1_PV) {
+		Safefree(*ARG0_PVP);
+		*ARG0_PVP = ARG1_PV;
 	    }
 	    break;
 	case SAVEt_SHARED_PVREF:		/* shared pv */
-	    str = (char*)SSPOPPTR;
-	    ptr = SSPOPPTR;
-	    if (*(char**)ptr != str) {
+	    if (*ARG1_PVP != ARG0_PV) {
 #ifdef NETWARE
-		PerlMem_free(*(char**)ptr);
+		PerlMem_free(*ARG1_PVP);
 #else
-		PerlMemShared_free(*(char**)ptr);
+		PerlMemShared_free(*ARG1_PVP);
 #endif
-		*(char**)ptr = str;
+		*ARG1_PVP = ARG0_PV;
 	    }
 	    break;
 	case SAVEt_GVSV:			/* scalar slot in GV */
-	    value = MUTABLE_SV(SSPOPPTR);
-	    gv = MUTABLE_GV(SSPOPPTR);
-	    ptr = &GvSV(gv);
+	    svp = &GvSV(ARG1_GV);
 	    goto restore_svp;
 	case SAVEt_GENERIC_SVREF:		/* generic sv */
-	    value = MUTABLE_SV(SSPOPPTR);
-	    ptr = SSPOPPTR;
+            svp = ARG1_SVP;
 	restore_svp:
-	    sv = *(SV**)ptr;
-	    *(SV**)ptr = value;
+        {
+	    SV * const sv = *svp;
+	    *svp = ARG0_SV;
 	    SvREFCNT_dec(sv);
-	    SvREFCNT_dec(value);
+	    SvREFCNT_dec(ARG0_SV);
 	    break;
+        }
+	case SAVEt_GVSLOT:			/* any slot in GV */
+        {
+            HV *const hv = GvSTASH(ARG2_GV);
+	    svp = ARG1_SVP;
+	    if (hv && HvENAME(hv) && (
+		    (ARG0_SV && SvTYPE(ARG0_SV) == SVt_PVCV)
+		 || (*svp && SvTYPE(*svp) == SVt_PVCV)
+	       ))
+	    {
+		if ((char *)svp < (char *)GvGP(ARG2_GV)
+		 || (char *)svp > (char *)GvGP(ARG2_GV) + sizeof(struct gp)
+		 || GvREFCNT(ARG2_GV) > 1)
+		    PL_sub_generation++;
+		else mro_method_changed_in(hv);
+	    }
+	    goto restore_svp;
+        }
 	case SAVEt_AV:				/* array reference */
-	    av = MUTABLE_AV(SSPOPPTR);
-	    gv = MUTABLE_GV(SSPOPPTR);
-	    SvREFCNT_dec(GvAV(gv));
-	    GvAV(gv) = av;
-	    if (SvMAGICAL(av)) {
-		PL_localizing = 2;
-		SvSETMAGIC(MUTABLE_SV(av));
-		PL_localizing = 0;
-	    }
+	    SvREFCNT_dec(GvAV(ARG1_GV));
+	    GvAV(ARG1_GV) = ARG0_AV;
+            if (SvSMAGICAL(ARG0_SV)) {
+                PL_localizing = 2;
+                mg_set(ARG0_SV);
+                PL_localizing = 0;
+            }
+	    SvREFCNT_dec_NN(ARG1_GV);
 	    break;
 	case SAVEt_HV:				/* hash reference */
-	    hv = MUTABLE_HV(SSPOPPTR);
-	    gv = MUTABLE_GV(SSPOPPTR);
-	    SvREFCNT_dec(GvHV(gv));
-	    GvHV(gv) = hv;
-	    if (SvMAGICAL(hv)) {
-		PL_localizing = 2;
-		SvSETMAGIC(MUTABLE_SV(hv));
-		PL_localizing = 0;
-	    }
+	    SvREFCNT_dec(GvHV(ARG1_GV));
+	    GvHV(ARG1_GV) = ARG0_HV;
+            if (SvSMAGICAL(ARG0_SV)) {
+                PL_localizing = 2;
+                mg_set(ARG0_SV);
+                PL_localizing = 0;
+            }
+	    SvREFCNT_dec_NN(ARG1_GV);
 	    break;
 	case SAVEt_INT_SMALL:
-	    ptr = SSPOPPTR;
-	    *(int*)ptr = (int)(uv >> SAVE_TIGHT_SHIFT);
+	    *(int*)ARG0_PTR = (int)(uv >> SAVE_TIGHT_SHIFT);
 	    break;
 	case SAVEt_INT:				/* int reference */
-	    ptr = SSPOPPTR;
-	    *(int*)ptr = (int)SSPOPINT;
+	    *(int*)ARG0_PTR = (int)ARG1_I32;
 	    break;
 	case SAVEt_BOOL:			/* bool reference */
-	    ptr = SSPOPPTR;
-	    *(bool*)ptr = cBOOL(uv >> 8);
+	    *(bool*)ARG0_PTR = cBOOL(uv >> 8);
+#ifdef NO_TAINT_SUPPORT
+            PERL_UNUSED_VAR(was);
+#else
+	    if (ARG0_PTR == &(TAINT_get)) {
+		/* If we don't update <was>, to reflect what was saved on the
+		 * stack for PL_tainted, then we will overwrite this attempt to
+		 * restore it when we exit this routine.  Note that this won't
+		 * work if this value was saved in a wider-than necessary type,
+		 * such as I32 */
+		was = *(bool*)ARG0_PTR;
+	    }
+#endif
 	    break;
 	case SAVEt_I32_SMALL:
-	    ptr = SSPOPPTR;
-	    *(I32*)ptr = (I32)(uv >> SAVE_TIGHT_SHIFT);
+	    *(I32*)ARG0_PTR = (I32)(uv >> SAVE_TIGHT_SHIFT);
 	    break;
 	case SAVEt_I32:				/* I32 reference */
-	    ptr = SSPOPPTR;
 #ifdef PERL_DEBUG_READONLY_OPS
-	    {
-		const I32 val = SSPOPINT;
-		if (*(I32*)ptr != val)
-		    *(I32*)ptr = val;
-	    }
-#else
-	    *(I32*)ptr = (I32)SSPOPINT;
+            if (*(I32*)ARG0_PTR != ARG1_I32)
 #endif
+                *(I32*)ARG0_PTR = ARG1_I32;
 	    break;
 	case SAVEt_SPTR:			/* SV* reference */
-	    ptr = SSPOPPTR;
-	    *(SV**)ptr = MUTABLE_SV(SSPOPPTR);
+	    *(SV**)(ARG0_PTR)= ARG1_SV;
 	    break;
 	case SAVEt_VPTR:			/* random* reference */
 	case SAVEt_PPTR:			/* char* reference */
-	    ptr = SSPOPPTR;
-	    *(char**)ptr = (char*)SSPOPPTR;
+	    *ARG0_PVP = ARG1_PV;
 	    break;
 	case SAVEt_HPTR:			/* HV* reference */
-	    ptr = SSPOPPTR;
-	    *(HV**)ptr = MUTABLE_HV(SSPOPPTR);
+	    *(HV**)ARG0_PTR = MUTABLE_HV(ARG1_PTR);
 	    break;
 	case SAVEt_APTR:			/* AV* reference */
-	    ptr = SSPOPPTR;
-	    *(AV**)ptr = MUTABLE_AV(SSPOPPTR);
+	    *(AV**)ARG0_PTR = ARG1_AV;
 	    break;
 	case SAVEt_GP:				/* scalar reference */
-	    ptr = SSPOPPTR;
-	    gv = MUTABLE_GV(SSPOPPTR);
-	    gp_free(gv);
-	    GvGP_set(gv, (GP*)ptr);
-            /* putting a method back into circulation ("local")*/
-	    if (GvCVu(gv) && (hv=GvSTASH(gv)) && HvENAME_get(hv))
-                mro_method_changed_in(hv);
-	    SvREFCNT_dec(gv);
+        {
+            HV *hv;
+            /* possibly taking a method out of circulation */	
+	    const bool had_method = !!GvCVu(ARG1_GV);
+	    gp_free(ARG1_GV);
+	    GvGP_set(ARG1_GV, (GP*)ARG0_PTR);
+	    if ((hv=GvSTASH(ARG1_GV)) && HvENAME_get(hv)) {
+	        if (   GvNAMELEN(ARG1_GV) == 3
+                    && strnEQ(GvNAME(ARG1_GV), "ISA", 3)
+                )
+	            mro_isa_changed_in(hv);
+                else if (had_method || GvCVu(ARG1_GV))
+                    /* putting a method back into circulation ("local")*/	
+                    gv_method_changed(ARG1_GV);
+	    }
+	    SvREFCNT_dec_NN(ARG1_GV);
 	    break;
+        }
 	case SAVEt_FREESV:
-	    ptr = SSPOPPTR;
-	    SvREFCNT_dec(MUTABLE_SV(ptr));
+	    SvREFCNT_dec(ARG0_SV);
 	    break;
 	case SAVEt_FREECOPHH:
-	    ptr = SSPOPPTR;
-	    cophh_free((COPHH *)ptr);
+	    cophh_free((COPHH *)ARG0_PTR);
 	    break;
 	case SAVEt_MORTALIZESV:
-	    ptr = SSPOPPTR;
-	    sv_2mortal(MUTABLE_SV(ptr));
+	    sv_2mortal(ARG0_SV);
 	    break;
 	case SAVEt_FREEOP:
-	    ptr = SSPOPPTR;
-	    ASSERT_CURPAD_LEGAL("SAVEt_FREEOP"); /* XXX DAPM tmp */
-	    op_free((OP*)ptr);
+	    ASSERT_CURPAD_LEGAL("SAVEt_FREEOP");
+	    op_free((OP*)ARG0_PTR);
 	    break;
 	case SAVEt_FREEPV:
-	    ptr = SSPOPPTR;
-	    Safefree(ptr);
+	    Safefree(ARG0_PTR);
 	    break;
+
+        {
+          SV **svp;
+          I32 i;
+          SV *sv;
+
+        case SAVEt_CLEARPADRANGE:
+            i = (I32)((uv >> SAVE_TIGHT_SHIFT) & OPpPADRANGE_COUNTMASK);
+	    svp = &PL_curpad[uv >>
+                    (OPpPADRANGE_COUNTSHIFT + SAVE_TIGHT_SHIFT)] + i - 1;
+            goto clearsv;
 	case SAVEt_CLEARSV:
-	    ptr = (void*)&PL_curpad[uv >> SAVE_TIGHT_SHIFT];
-	    sv = *(SV**)ptr;
+	    svp = &PL_curpad[uv >> SAVE_TIGHT_SHIFT];
+            i = 1;
+          clearsv:
+            for (; i; i--, svp--) {
+                sv = *svp;
 
-	    DEBUG_Xv(PerlIO_printf(Perl_debug_log,
-	     "Pad 0x%"UVxf"[0x%"UVxf"] clearsv: %ld sv=0x%"UVxf"<%"IVdf"> %s\n",
-		PTR2UV(PL_comppad), PTR2UV(PL_curpad),
-		(long)((SV **)ptr-PL_curpad), PTR2UV(sv), (IV)SvREFCNT(sv),
-		(SvREFCNT(sv) <= 1 && !SvOBJECT(sv)) ? "clear" : "abandon"
-	    ));
+                DEBUG_Xv(PerlIO_printf(Perl_debug_log,
+             "Pad 0x%"UVxf"[0x%"UVxf"] clearsv: %ld sv=0x%"UVxf"<%"IVdf"> %s\n",
+                    PTR2UV(PL_comppad), PTR2UV(PL_curpad),
+                    (long)(svp-PL_curpad), PTR2UV(sv), (IV)SvREFCNT(sv),
+                    (SvREFCNT(sv) <= 1 && !SvOBJECT(sv)) ? "clear" : "abandon"
+                ));
 
-	    /* Can clear pad variable in place? */
-	    if (SvREFCNT(sv) <= 1 && !SvOBJECT(sv)) {
-		/*
-		 * if a my variable that was made readonly is going out of
-		 * scope, we want to remove the readonlyness so that it can
-		 * go out of scope quietly
-		 */
-		if (SvPADMY(sv) && !SvFAKE(sv))
-		    SvREADONLY_off(sv);
+                /* Can clear pad variable in place? */
+                if (SvREFCNT(sv) <= 1 && !SvOBJECT(sv)) {
+                    /*
+                     * if a my variable that was made readonly is going out of
+                     * scope, we want to remove the readonlyness so that it can
+                     * go out of scope quietly
+                     */
+                    if (SvPADMY(sv) && !SvFAKE(sv))
+                        SvREADONLY_off(sv);
 
-		if (SvTHINKFIRST(sv))
-		    sv_force_normal_flags(sv, SV_IMMEDIATE_UNREF);
-		if (SvMAGICAL(sv))
-		    mg_free(sv);
+                    if (SvTHINKFIRST(sv))
+                        sv_force_normal_flags(sv, SV_IMMEDIATE_UNREF
+                                                 |SV_COW_DROP_PV);
+                    if (SvTYPE(sv) == SVt_PVHV)
+                        Perl_hv_kill_backrefs(aTHX_ MUTABLE_HV(sv));
+                    if (SvMAGICAL(sv))
+                    {
+                      sv_unmagic(sv, PERL_MAGIC_backref);
+                      if (SvTYPE(sv) != SVt_PVCV)
+                        mg_free(sv);
+                    }
 
-		switch (SvTYPE(sv)) {
-		case SVt_NULL:
-		    break;
-		case SVt_PVAV:
-		    av_clear(MUTABLE_AV(sv));
-		    break;
-		case SVt_PVHV:
-		    hv_clear(MUTABLE_HV(sv));
-		    break;
-		case SVt_PVCV:
-		    Perl_croak(aTHX_ "panic: leave_scope pad code");
-		default:
-		    SvOK_off(sv);
-		    break;
-		}
-		SvPADSTALE_on(sv); /* mark as no longer live */
-	    }
-	    else {	/* Someone has a claim on this, so abandon it. */
-		const U32 padflags = SvFLAGS(sv) & (SVs_PADMY|SVs_PADTMP);
-		switch (SvTYPE(sv)) {	/* Console ourselves with a new value */
-		case SVt_PVAV:	*(SV**)ptr = MUTABLE_SV(newAV());	break;
-		case SVt_PVHV:	*(SV**)ptr = MUTABLE_SV(newHV());	break;
-		default:	*(SV**)ptr = newSV(0);		break;
-		}
-		SvREFCNT_dec(sv);	/* Cast current value to the winds. */
-		/* preserve pad nature, but also mark as not live
-		 * for any closure capturing */
-		SvFLAGS(*(SV**)ptr) |= padflags | SVs_PADSTALE;
-	    }
+                    switch (SvTYPE(sv)) {
+                    case SVt_NULL:
+                        break;
+                    case SVt_PVAV:
+                        av_clear(MUTABLE_AV(sv));
+                        break;
+                    case SVt_PVHV:
+                        hv_clear(MUTABLE_HV(sv));
+                        break;
+                    case SVt_PVCV:
+                    {
+                        HEK * const hek = CvNAME_HEK((CV *)sv);
+                        assert(hek);
+                        share_hek_hek(hek);
+                        cv_undef((CV *)sv);
+                        CvNAME_HEK_set(sv, hek);
+                        break;
+                    }
+                    default:
+                        SvOK_off(sv);
+                        break;
+                    }
+                    SvPADSTALE_on(sv); /* mark as no longer live */
+                }
+                else {	/* Someone has a claim on this, so abandon it. */
+                    assert(  SvFLAGS(sv) & SVs_PADMY);
+                    assert(!(SvFLAGS(sv) & SVs_PADTMP));
+                    switch (SvTYPE(sv)) {	/* Console ourselves with a new value */
+                    case SVt_PVAV:	*svp = MUTABLE_SV(newAV());	break;
+                    case SVt_PVHV:	*svp = MUTABLE_SV(newHV());	break;
+                    case SVt_PVCV:
+                    {
+                        /* Create a stub */
+                        *svp = newSV_type(SVt_PVCV);
+
+                        /* Share name */
+                        assert(CvNAMED(sv));
+                        CvNAME_HEK_set(*svp,
+                            share_hek_hek(CvNAME_HEK((CV *)sv)));
+                        break;
+                    }
+                    default:	*svp = newSV(0);		break;
+                    }
+                    SvREFCNT_dec_NN(sv); /* Cast current value to the winds. */
+                    /* preserve pad nature, but also mark as not live
+                     * for any closure capturing */
+                    SvFLAGS(*svp) |= (SVs_PADMY|SVs_PADSTALE);
+                }
+            }
 	    break;
+        }
 	case SAVEt_DELETE:
-	    ptr = SSPOPPTR;
-	    hv = MUTABLE_HV(ptr);
-	    i = SSPOPINT;
-	    ptr = SSPOPPTR;
-	    (void)hv_delete(hv, (char*)ptr, i, G_DISCARD);
-	    SvREFCNT_dec(hv);
-	    Safefree(ptr);
+	    (void)hv_delete(ARG0_HV, ARG2_PV, ARG1_I32, G_DISCARD);
+	    SvREFCNT_dec(ARG0_HV);
+	    Safefree(arg2.any_ptr);
 	    break;
 	case SAVEt_ADELETE:
-	    ptr = SSPOPPTR;
-	    av = MUTABLE_AV(ptr);
-	    i = SSPOPINT;
-	    (void)av_delete(av, i, G_DISCARD);
-	    SvREFCNT_dec(av);
+	    (void)av_delete(ARG0_AV, ARG1_I32, G_DISCARD);
+	    SvREFCNT_dec(ARG0_AV);
 	    break;
 	case SAVEt_DESTRUCTOR_X:
-	    ptr = SSPOPPTR;
-	    (*SSPOPDXPTR)(aTHX_ ptr);
+	    (*arg1.any_dxptr)(aTHX_ ARG0_PTR);
 	    break;
 	case SAVEt_REGCONTEXT:
 	    /* regexp must have croaked */
@@ -957,81 +1102,66 @@
 	    PL_savestack_ix -= uv >> SAVE_TIGHT_SHIFT;
 	    break;
 	case SAVEt_STACK_POS:		/* Position on Perl stack */
-	    i = SSPOPINT;
-	    PL_stack_sp = PL_stack_base + i;
+	    PL_stack_sp = PL_stack_base + arg0.any_i32;
 	    break;
 	case SAVEt_STACK_CXPOS:         /* blk_oldsp on context stack */
-	    i = SSPOPINT;
-	    cxstack[i].blk_oldsp = SSPOPINT;
+	    cxstack[ARG0_I32].blk_oldsp = ARG1_I32;
 	    break;
 	case SAVEt_AELEM:		/* array element */
-	    value = MUTABLE_SV(SSPOPPTR);
-	    i = SSPOPINT;
-	    av = MUTABLE_AV(SSPOPPTR);
-	    ptr = av_fetch(av,i,1);
-	    if (!AvREAL(av) && AvREIFY(av)) /* undo reify guard */
-		SvREFCNT_dec(value);
-	    if (ptr) {
-		sv = *(SV**)ptr;
+	    svp = av_fetch(ARG2_AV, ARG1_I32, 1);
+	    if (!AvREAL(ARG2_AV) && AvREIFY(ARG2_AV)) /* undo reify guard */
+		SvREFCNT_dec(ARG0_SV);
+	    if (svp) {
+		SV * const sv = *svp;
 		if (sv && sv != &PL_sv_undef) {
-		    if (SvTIED_mg((const SV *)av, PERL_MAGIC_tied))
+		    if (SvTIED_mg((const SV *)ARG2_AV, PERL_MAGIC_tied))
 			SvREFCNT_inc_void_NN(sv);
+                    refsv = ARG2_SV;
 		    goto restore_sv;
 		}
 	    }
-	    SvREFCNT_dec(av);
-	    SvREFCNT_dec(value);
+	    SvREFCNT_dec(ARG2_AV);
+	    SvREFCNT_dec(ARG0_SV);
 	    break;
 	case SAVEt_HELEM:		/* hash element */
-	    value = MUTABLE_SV(SSPOPPTR);
-	    sv = MUTABLE_SV(SSPOPPTR);
-	    hv = MUTABLE_HV(SSPOPPTR);
-	    ptr = hv_fetch_ent(hv, sv, 1, 0);
-	    SvREFCNT_dec(sv);
-	    if (ptr) {
-		const SV * const oval = HeVAL((HE*)ptr);
+        {
+	    HE * const he = hv_fetch_ent(ARG2_HV, ARG1_SV, 1, 0);
+	    SvREFCNT_dec(ARG1_SV);
+	    if (he) {
+		const SV * const oval = HeVAL(he);
 		if (oval && oval != &PL_sv_undef) {
-		    ptr = &HeVAL((HE*)ptr);
-		    if (SvTIED_mg((const SV *)hv, PERL_MAGIC_tied))
-			SvREFCNT_inc_void(*(SV**)ptr);
-		    av = MUTABLE_AV(hv); /* what to refcnt_dec */
+		    svp = &HeVAL(he);
+		    if (SvTIED_mg((const SV *)ARG2_HV, PERL_MAGIC_tied))
+			SvREFCNT_inc_void(*svp);
+		    refsv = ARG2_SV; /* what to refcnt_dec */
 		    goto restore_sv;
 		}
 	    }
-	    SvREFCNT_dec(hv);
-	    SvREFCNT_dec(value);
+	    SvREFCNT_dec(ARG2_HV);
+	    SvREFCNT_dec(ARG0_SV);
 	    break;
+        }
 	case SAVEt_OP:
-	    PL_op = (OP*)SSPOPPTR;
+	    PL_op = (OP*)ARG0_PTR;
 	    break;
 	case SAVEt_HINTS:
-	    if ((PL_hints & HINT_LOCALIZE_HH) && GvHV(PL_hintgv)) {
-		SvREFCNT_dec(MUTABLE_SV(GvHV(PL_hintgv)));
+	    if ((PL_hints & HINT_LOCALIZE_HH)) {
+	      while (GvHV(PL_hintgv)) {
+		HV *hv = GvHV(PL_hintgv);
 		GvHV(PL_hintgv) = NULL;
+		SvREFCNT_dec(MUTABLE_SV(hv));
+	      }
 	    }
 	    cophh_free(CopHINTHASH_get(&PL_compiling));
-	    CopHINTHASH_set(&PL_compiling, (COPHH*)SSPOPPTR);
-	    *(I32*)&PL_hints = (I32)SSPOPINT;
+	    CopHINTHASH_set(&PL_compiling, (COPHH*)ARG0_PTR);
+	    *(I32*)&PL_hints = ARG1_I32;
 	    if (PL_hints & HINT_LOCALIZE_HH) {
 		SvREFCNT_dec(MUTABLE_SV(GvHV(PL_hintgv)));
 		GvHV(PL_hintgv) = MUTABLE_HV(SSPOPPTR);
-		assert(GvHV(PL_hintgv));
-	    } else if (!GvHV(PL_hintgv)) {
-		/* Need to add a new one manually, else gv_fetchpv() can
-		   add one in this code:
-		   
-		   if (SvTYPE(gv) == SVt_PVGV) {
-		       if (add) {
-		       GvMULTI_on(gv);
-		       gv_init_sv(gv, sv_type);
-		       if (*name=='!' && sv_type == SVt_PVHV && len==1)
-			   require_errno(gv);
-		       }
-		       return gv;
-		   }
-
-		   and it won't have the magic set.  */
-
+	    }
+	    if (!GvHV(PL_hintgv)) {
+		/* Need to add a new one manually, else rv2hv can
+		   add one via GvHVn and it won't have the magic set.  */
 		HV *const hv = newHV();
 		hv_magic(hv, NULL, PERL_MAGIC_hints);
 		GvHV(PL_hintgv) = hv;
@@ -1039,7 +1169,7 @@
 	    assert(GvHV(PL_hintgv));
 	    break;
 	case SAVEt_COMPPAD:
-	    PL_comppad = (PAD*)SSPOPPTR;
+	    PL_comppad = (PAD*)ARG0_PTR;
 	    if (PL_comppad)
 		PL_curpad = AvARRAY(PL_comppad);
 	    else
@@ -1047,83 +1177,53 @@
 	    break;
 	case SAVEt_PADSV_AND_MORTALIZE:
 	    {
-		const PADOFFSET off = (PADOFFSET)SSPOPLONG;
 		SV **svp;
-		ptr = SSPOPPTR;
-		assert (ptr);
-		svp = AvARRAY((PAD*)ptr) + off;
+		assert (ARG1_PTR);
+		svp = AvARRAY((PAD*)ARG1_PTR) + (PADOFFSET)arg0.any_uv;
 		/* This mortalizing used to be done by POPLOOP() via itersave.
 		   But as we have all the information here, we can do it here,
 		   save even having to have itersave in the struct.  */
 		sv_2mortal(*svp);
-		*svp = MUTABLE_SV(SSPOPPTR);
+		*svp = ARG2_SV;
 	    }
 	    break;
 	case SAVEt_SAVESWITCHSTACK:
 	    {
 		dSP;
-		AV *const t = MUTABLE_AV(SSPOPPTR);
-		AV *const f = MUTABLE_AV(SSPOPPTR);
-		SWITCHSTACK(t,f);
-		PL_curstackinfo->si_stack = f;
+		SWITCHSTACK(ARG0_AV, ARG1_AV);
+		PL_curstackinfo->si_stack = ARG1_AV;
 	    }
 	    break;
 	case SAVEt_SET_SVFLAGS:
-	    {
-		const U32 val  = (U32)SSPOPINT;
-		const U32 mask = (U32)SSPOPINT;
-		sv = MUTABLE_SV(SSPOPPTR);
-		SvFLAGS(sv) &= ~mask;
-		SvFLAGS(sv) |= val;
-	    }
+            SvFLAGS(ARG2_SV) &= ~((U32)ARG1_I32);
+            SvFLAGS(ARG2_SV) |= (U32)ARG0_I32;
 	    break;
 
-	    /* This would be a mathom, but Perl_save_svref() calls a static
-	       function, S_save_scalar_at(), so has to stay in this file.  */
-	case SAVEt_SVREF:			/* scalar reference */
-	    value = MUTABLE_SV(SSPOPPTR);
-	    ptr = SSPOPPTR;
-	    av = NULL; /* what to refcnt_dec */
-	    goto restore_sv;
-
 	    /* These are only saved in mathoms.c */
 	case SAVEt_NSTAB:
-	    gv = MUTABLE_GV(SSPOPPTR);
-	    (void)sv_clear(MUTABLE_SV(gv));
+	    (void)sv_clear(ARG0_SV);
 	    break;
 	case SAVEt_LONG:			/* long reference */
-	    ptr = SSPOPPTR;
-	    *(long*)ptr = (long)SSPOPLONG;
+	    *(long*)ARG0_PTR = arg1.any_long;
 	    break;
 	case SAVEt_IV:				/* IV reference */
-	    ptr = SSPOPPTR;
-	    *(IV*)ptr = (IV)SSPOPIV;
+	    *(IV*)ARG0_PTR = arg1.any_iv;
 	    break;
 
 	case SAVEt_I16:				/* I16 reference */
-	    ptr = SSPOPPTR;
-	    *(I16*)ptr = (I16)(uv >> 8);
+	    *(I16*)ARG0_PTR = (I16)(uv >> 8);
 	    break;
 	case SAVEt_I8:				/* I8 reference */
-	    ptr = SSPOPPTR;
-	    *(I8*)ptr = (I8)(uv >> 8);
+	    *(I8*)ARG0_PTR = (I8)(uv >> 8);
 	    break;
 	case SAVEt_DESTRUCTOR:
-	    ptr = SSPOPPTR;
-	    (*SSPOPDPTR)(ptr);
+	    (*arg1.any_dptr)(ARG0_PTR);
 	    break;
-	case SAVEt_COP_ARYBASE:
-	    ptr = SSPOPPTR;
-	    i = SSPOPINT;
-	    CopARYBASE_set((COP *)ptr, i);
-	    break;
 	case SAVEt_COMPILE_WARNINGS:
-	    ptr = SSPOPPTR;
-
 	    if (!specialWARN(PL_compiling.cop_warnings))
 		PerlMemShared_free(PL_compiling.cop_warnings);
 
-	    PL_compiling.cop_warnings = (STRLEN*)ptr;
+	    PL_compiling.cop_warnings = (STRLEN*)ARG0_PTR;
 	    break;
 	case SAVEt_RE_STATE:
 	    {
@@ -1133,9 +1233,6 @@
 		     - SAVESTACK_ALLOC_FOR_RE_SAVE_STATE);
 		PL_savestack_ix -= SAVESTACK_ALLOC_FOR_RE_SAVE_STATE;
 
-		if (PL_reg_start_tmp != state->re_state_reg_start_tmp) {
-		    Safefree(PL_reg_start_tmp);
-		}
 		if (PL_reg_poscache != state->re_state_reg_poscache) {
 		    Safefree(PL_reg_poscache);
 		}
@@ -1143,17 +1240,14 @@
 	    }
 	    break;
 	case SAVEt_PARSER:
-	    ptr = SSPOPPTR;
-	    parser_free((yy_parser *) ptr);
+	    parser_free((yy_parser *) ARG0_PTR);
 	    break;
 	default:
-	    Perl_croak(aTHX_ "panic: leave_scope inconsistency");
+	    Perl_croak(aTHX_ "panic: leave_scope inconsistency %u", type);
 	}
     }
 
-    PL_tainted = was;
-
-    PERL_ASYNC_CHECK();
+    TAINT_set(was);
 }
 
 void
@@ -1166,6 +1260,7 @@
 #ifdef DEBUGGING
     PerlIO_printf(Perl_debug_log, "CX %ld = %s\n", (long)(cx - cxstack), PL_block_type[CxTYPE(cx)]);
     if (CxTYPE(cx) != CXt_SUBST) {
+	const char *gimme_text;
 	PerlIO_printf(Perl_debug_log, "BLK_OLDSP = %ld\n", (long)cx->blk_oldsp);
 	PerlIO_printf(Perl_debug_log, "BLK_OLDCOP = 0x%"UVxf"\n",
 		      PTR2UV(cx->blk_oldcop));
@@ -1173,7 +1268,21 @@
 	PerlIO_printf(Perl_debug_log, "BLK_OLDSCOPESP = %ld\n", (long)cx->blk_oldscopesp);
 	PerlIO_printf(Perl_debug_log, "BLK_OLDPM = 0x%"UVxf"\n",
 		      PTR2UV(cx->blk_oldpm));
-	PerlIO_printf(Perl_debug_log, "BLK_GIMME = %s\n", cx->blk_gimme ? "LIST" : "SCALAR");
+	switch (cx->blk_gimme) {
+	    case G_VOID:
+		gimme_text = "VOID";
+		break;
+	    case G_SCALAR:
+		gimme_text = "SCALAR";
+		break;
+	    case G_ARRAY:
+		gimme_text = "LIST";
+		break;
+	    default:
+		gimme_text = "UNKNOWN";
+		break;
+	}
+	PerlIO_printf(Perl_debug_log, "BLK_GIMME = %s\n", gimme_text);
     }
     switch (CxTYPE(cx)) {
     case CXt_NULL:
@@ -1270,8 +1379,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/scope.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/scope.h
===================================================================
--- vendor/perl/dist/scope.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/scope.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,58 +8,78 @@
  *
  */
 
-#define SAVEt_ITEM		0
-#define SAVEt_SV		1
-#define SAVEt_AV		2
-#define SAVEt_HV		3
-#define SAVEt_INT		4
-#define SAVEt_LONG		5
-#define SAVEt_I32		6
-#define SAVEt_IV		7
-#define SAVEt_SPTR		8
-#define SAVEt_APTR		9
-#define SAVEt_HPTR		10
-#define SAVEt_PPTR		11
-#define SAVEt_NSTAB		12
-#define SAVEt_SVREF		13
-#define SAVEt_GP		14
-#define SAVEt_FREESV		15
-#define SAVEt_FREEOP		16
-#define SAVEt_FREEPV		17
-#define SAVEt_CLEARSV		18
-#define SAVEt_DELETE		19
-#define SAVEt_DESTRUCTOR	20
-#define SAVEt_REGCONTEXT	21
-#define SAVEt_STACK_POS		22
-#define SAVEt_I16		23
-#define SAVEt_AELEM		24
-#define SAVEt_HELEM		25
-#define SAVEt_OP		26
-#define SAVEt_HINTS		27
-#define SAVEt_ALLOC		28
-#define SAVEt_GENERIC_SVREF	29
-#define SAVEt_DESTRUCTOR_X	30
-#define SAVEt_VPTR		31
-#define SAVEt_I8		32
-#define SAVEt_COMPPAD		33
-#define SAVEt_GENERIC_PVREF	34
-#define SAVEt_PADSV_AND_MORTALIZE	35
-#define SAVEt_MORTALIZESV	36
-#define SAVEt_SHARED_PVREF	37
-#define SAVEt_BOOL		38
-#define SAVEt_SET_SVFLAGS	39
-#define SAVEt_SAVESWITCHSTACK	40
-#define SAVEt_COP_ARYBASE	41
-#define SAVEt_RE_STATE		42
-#define SAVEt_COMPILE_WARNINGS	43
-#define SAVEt_STACK_CXPOS	44
-#define SAVEt_PARSER		45
-#define SAVEt_ADELETE		46
-#define SAVEt_I32_SMALL		47
-#define SAVEt_INT_SMALL		48
-#define SAVEt_GVSV		49
-#define SAVEt_FREECOPHH		50
+/* *** these are ordered by number of of auto-popped args */
 
+/* zero args */
+
+#define SAVEt_ALLOC		0
+#define SAVEt_CLEARPADRANGE	1
+#define SAVEt_CLEARSV		2
+#define SAVEt_REGCONTEXT	3
+#define SAVEt_RE_STATE		4
+
+#define SAVEt_ARG0_MAX		4
+
+/* one arg */
+
+#define SAVEt_BOOL		5
+#define SAVEt_COMPILE_WARNINGS	6
+#define SAVEt_COMPPAD		7
+#define SAVEt_FREECOPHH		8
+#define SAVEt_FREEOP		9
+#define SAVEt_FREEPV		10
+#define SAVEt_FREESV		11
+#define SAVEt_I16		12
+#define SAVEt_I32_SMALL		13
+#define SAVEt_I8		14
+#define SAVEt_INT_SMALL		15
+#define SAVEt_MORTALIZESV	16
+#define SAVEt_NSTAB		17
+#define SAVEt_OP		18
+#define SAVEt_PARSER		19
+#define SAVEt_STACK_POS		20
+
+#define SAVEt_ARG1_MAX		20
+
+/* two args */
+
+#define SAVEt_ADELETE		21
+#define SAVEt_APTR		22
+#define SAVEt_AV		23
+#define SAVEt_DESTRUCTOR	24
+#define SAVEt_DESTRUCTOR_X	25
+#define SAVEt_GENERIC_PVREF	26
+#define SAVEt_GENERIC_SVREF	27
+#define SAVEt_GP		28
+#define SAVEt_GVSV		29
+#define SAVEt_HINTS		30
+#define SAVEt_HPTR		31
+#define SAVEt_HV		32
+#define SAVEt_I32		33
+#define SAVEt_INT		34
+#define SAVEt_ITEM		35
+#define SAVEt_IV		36
+#define SAVEt_LONG		37
+#define SAVEt_PPTR		38
+#define SAVEt_SAVESWITCHSTACK	39
+#define SAVEt_SHARED_PVREF	40
+#define SAVEt_SPTR		41
+#define SAVEt_STACK_CXPOS	42
+#define SAVEt_SV		43
+#define SAVEt_SVREF		44
+#define SAVEt_VPTR		45
+
+#define SAVEt_ARG2_MAX		45
+
+/* three args */
+
+#define SAVEt_AELEM		46
+#define SAVEt_DELETE		47
+#define SAVEt_HELEM		48
+#define SAVEt_PADSV_AND_MORTALIZE 49
+#define SAVEt_SET_SVFLAGS	50
+#define SAVEt_GVSLOT		51
+
 #define SAVEf_SETMAGIC		1
 #define SAVEf_KEEPOLDELEM	2
 
@@ -73,8 +93,12 @@
 #define SCOPE_SAVES_SIGNAL_MASK 0
 #endif
 
-#define SSCHECK(need) if (PL_savestack_ix + (I32)(need) > PL_savestack_max) savestack_grow()
-#define SSGROW(need) if (PL_savestack_ix + (I32)(need) > PL_savestack_max) savestack_grow_cnt(need)
+/* the maximum number of entries that might be pushed using the SS_ADD*
+ * macros */
+#define SS_MAXPUSH 4
+
+#define SSCHECK(need) if (PL_savestack_ix + (I32)(need) + SS_MAXPUSH > PL_savestack_max) savestack_grow()
+#define SSGROW(need) if (PL_savestack_ix + (I32)(need) + SS_MAXPUSH > PL_savestack_max) savestack_grow_cnt(need + SS_MAXPUSH)
 #define SSPUSHINT(i) (PL_savestack[PL_savestack_ix++].any_i32 = (I32)(i))
 #define SSPUSHLONG(i) (PL_savestack[PL_savestack_ix++].any_long = (long)(i))
 #define SSPUSHBOOL(p) (PL_savestack[PL_savestack_ix++].any_bool = (p))
@@ -83,6 +107,40 @@
 #define SSPUSHPTR(p) (PL_savestack[PL_savestack_ix++].any_ptr = (void*)(p))
 #define SSPUSHDPTR(p) (PL_savestack[PL_savestack_ix++].any_dptr = (p))
 #define SSPUSHDXPTR(p) (PL_savestack[PL_savestack_ix++].any_dxptr = (p))
+
+/* SS_ADD*: newer, faster versions of the above. Don't mix the two sets of
+ * macros. These are fast because they save reduce accesses to the PL_
+ * vars and move the size check to the end. Doing the check last means
+ * that values in registers will have been pushed and no longer needed, so
+ * don't need saving around the call to grow. Also, tail-call elimination
+ * of the grow() can be done. These changes reduce the code of something
+ * like save_pushptrptr() to half its former size.
+ * Of course, doing the size check *after* pushing means we must always
+ * ensure there are SS_MAXPUSH free slots on the savestack
+ *
+ * These are for internal core use only and are subject to change */
+
+#define dSS_ADD \
+    I32 ix = PL_savestack_ix;     \
+    ANY *ssp = &PL_savestack[ix];
+
+#define SS_ADD_END(need) \
+    assert((need) <= SS_MAXPUSH);                               \
+    ix += (need);                                               \
+    PL_savestack_ix = ix;                                       \
+    assert(ix <= PL_savestack_max);                             \
+    if ((ix + SS_MAXPUSH) > PL_savestack_max) savestack_grow(); \
+    assert(PL_savestack_ix + SS_MAXPUSH <= PL_savestack_max);
+
+#define SS_ADD_INT(i)   ((ssp++)->any_i32 = (I32)(i))
+#define SS_ADD_LONG(i)  ((ssp++)->any_long = (long)(i))
+#define SS_ADD_BOOL(p)  ((ssp++)->any_bool = (p))
+#define SS_ADD_IV(i)    ((ssp++)->any_iv = (IV)(i))
+#define SS_ADD_UV(u)    ((ssp++)->any_uv = (UV)(u))
+#define SS_ADD_PTR(p)   ((ssp++)->any_ptr = (void*)(p))
+#define SS_ADD_DPTR(p)  ((ssp++)->any_dptr = (p))
+#define SS_ADD_DXPTR(p) ((ssp++)->any_dxptr = (p))
+
 #define SSPOPINT (PL_savestack[--PL_savestack_ix].any_i32)
 #define SSPOPLONG (PL_savestack[--PL_savestack_ix].any_long)
 #define SSPOPBOOL (PL_savestack[--PL_savestack_ix].any_bool)
@@ -92,6 +150,7 @@
 #define SSPOPDPTR (PL_savestack[--PL_savestack_ix].any_dptr)
 #define SSPOPDXPTR (PL_savestack[--PL_savestack_ix].any_dxptr)
 
+
 /*
 =head1 Callback Functions
 
@@ -163,7 +222,9 @@
 #define ENTER_with_name(name) ENTER
 #define LEAVE_with_name(name) LEAVE
 #endif
-#define LEAVE_SCOPE(old) if (PL_savestack_ix > old) leave_scope(old)
+#define LEAVE_SCOPE(old) STMT_START { \
+	if (PL_savestack_ix > old) leave_scope(old); \
+    } STMT_END
 
 #define SAVEI8(i)	save_I8((I8*)&(i))
 #define SAVEI16(i)	save_I16((I16*)&(i))
@@ -199,10 +260,11 @@
 	  save_destructor_x((DESTRUCTORFUNC_t)(f), (void*)(p))
 
 #define SAVESTACK_POS() \
-    STMT_START {				\
-	SSCHECK(2);				\
-	SSPUSHINT(PL_stack_sp - PL_stack_base);	\
-	SSPUSHUV(SAVEt_STACK_POS);		\
+    STMT_START {				   \
+        dSS_ADD;                                   \
+        SS_ADD_INT(PL_stack_sp - PL_stack_base);   \
+        SS_ADD_UV(SAVEt_STACK_POS);                \
+        SS_ADD_END(2);                             \
     } STMT_END
 
 #define SAVEOP()	save_op()
@@ -218,8 +280,6 @@
 	PL_curstackinfo->si_stack = (t);		\
     } STMT_END
 
-#define SAVECOPARYBASE(c) save_pushi32ptr(CopARYBASE_get(c), c, SAVEt_COP_ARYBASE);
-
 /* Need to do the cop warnings like this, rather than a "SAVEFREESHAREDPV",
    because realloc() means that the value can actually change. Possibly
    could have done savefreesharedpvREF, but this way actually seems cleaner,
@@ -228,23 +288,23 @@
 #define SAVECOMPILEWARNINGS() save_pushptr(PL_compiling.cop_warnings, SAVEt_COMPILE_WARNINGS)
 
 #define SAVESTACK_CXPOS() \
-    STMT_START {                                  \
-        SSCHECK(3);                               \
-        SSPUSHINT(cxstack[cxstack_ix].blk_oldsp); \
-        SSPUSHINT(cxstack_ix);                    \
-        SSPUSHUV(SAVEt_STACK_CXPOS);              \
+    STMT_START {                                   \
+        dSS_ADD;                                   \
+        SS_ADD_INT(cxstack[cxstack_ix].blk_oldsp); \
+        SS_ADD_INT(cxstack_ix);                    \
+        SS_ADD_UV(SAVEt_STACK_CXPOS);              \
+        SS_ADD_END(3);                             \
     } STMT_END
 
 #define SAVEPARSER(p) save_pushptr((p), SAVEt_PARSER)
 
 #ifdef USE_ITHREADS
-#  define SAVECOPSTASH(c)	SAVEPPTR(CopSTASHPV(c))
-#  define SAVECOPSTASH_FREE(c)	SAVESHAREDPV(CopSTASHPV(c))
+#  define SAVECOPSTASH_FREE(c)	SAVEIV((c)->cop_stashoff)
 #  define SAVECOPFILE(c)	SAVEPPTR(CopFILE(c))
 #  define SAVECOPFILE_FREE(c)	SAVESHAREDPV(CopFILE(c))
 #else
-#  define SAVECOPSTASH(c)	SAVESPTR(CopSTASH(c))
-#  define SAVECOPSTASH_FREE(c)	SAVECOPSTASH(c)	/* XXX not refcounted */
+#  /* XXX not refcounted */
+#  define SAVECOPSTASH_FREE(c)	SAVESPTR(CopSTASH(c))
 #  define SAVECOPFILE(c)	SAVESPTR(CopFILEGV(c))
 #  define SAVECOPFILE_FREE(c)	SAVEGENERICSV(CopFILEGV(c))
 #endif
@@ -273,7 +333,14 @@
 
 #define save_freesv(op)		save_pushptr((void *)(op), SAVEt_FREESV)
 #define save_mortalizesv(op)	save_pushptr((void *)(op), SAVEt_MORTALIZESV)
-#define save_freeop(op)		save_pushptr((void *)(op), SAVEt_FREEOP)
+
+# define save_freeop(op)                    \
+STMT_START {                                 \
+      OP * const _o = (OP *)(op);             \
+      assert(!_o->op_savefree);               \
+      _o->op_savefree = 1;                     \
+      save_pushptr((void *)(_o), SAVEt_FREEOP); \
+    } STMT_END
 #define save_freepv(pv)		save_pushptr((void *)(pv), SAVEt_FREEPV)
 #define save_op()		save_pushptr((void *)(PL_op), SAVEt_OP)
 
@@ -281,8 +348,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/scope.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/sv.c
===================================================================
--- vendor/perl/dist/sv.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/sv.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -66,8 +66,6 @@
 #ifdef PERL_OLD_COPY_ON_WRITE
 #define SV_COW_NEXT_SV(sv)	INT2PTR(SV *,SvUVX(sv))
 #define SV_COW_NEXT_SV_SET(current,next)	SvUV_set(current, PTR2UV(next))
-/* This is a pessimistic view. Scalar must be purely a read-write PV to copy-
-   on-write.  */
 #endif
 
 /* ============================================================================
@@ -133,10 +131,12 @@
 			dump all remaining SVs (debugging aid)
 
     sv_clean_objs() / do_clean_objs(),do_clean_named_objs(),
-		      do_clean_named_io_objs()
+		      do_clean_named_io_objs(),do_curse()
 			Attempt to free all objects pointed to by RVs,
-			and try to do the same for all objects indirectly
-			referenced by typeglobs too.  Called once from
+			try to do the same for all objects indir-
+			ectly referenced by typeglobs too, and
+			then do a final sweep, cursing any
+			objects that remain.  Called once from
 			perl_destruct(), prior to calling sv_clean_all()
 			below.
 
@@ -182,7 +182,9 @@
 #endif
 
 #ifdef DEBUG_LEAKING_SCALARS
-#  define FREE_SV_DEBUG_FILE(sv) Safefree((sv)->sv_debug_file)
+#  define FREE_SV_DEBUG_FILE(sv) STMT_START { \
+	if ((sv)->sv_debug_file) PerlMemShared_free((sv)->sv_debug_file); \
+    } STMT_END
 #  define DEBUG_SV_SERIAL(sv)						    \
     DEBUG_m(PerlIO_printf(Perl_debug_log, "0x%"UVxf": (%05ld) del_SV\n",    \
 	    PTR2UV(sv), (long)(sv)->sv_debug_serial))
@@ -275,7 +277,7 @@
 	    );
     sv->sv_debug_inpad = 0;
     sv->sv_debug_parent = NULL;
-    sv->sv_debug_file = PL_curcop ? savepv(CopFILE(PL_curcop)): NULL;
+    sv->sv_debug_file = PL_curcop ? savesharedpv(CopFILE(PL_curcop)): NULL;
 
     sv->sv_debug_serial = PL_sv_serial++;
 
@@ -365,8 +367,8 @@
 {
     dVAR;
     SV *const sva = MUTABLE_SV(ptr);
-    register SV* sv;
-    register SV* svend;
+    SV* sv;
+    SV* svend;
 
     PERL_ARGS_ASSERT_SV_ADD_ARENA;
 
@@ -410,10 +412,10 @@
     PERL_ARGS_ASSERT_VISIT;
 
     for (sva = PL_sv_arenaroot; sva; sva = MUTABLE_SV(SvANY(sva))) {
-	register const SV * const svend = &sva[SvREFCNT(sva)];
-	register SV* sv;
+	const SV * const svend = &sva[SvREFCNT(sva)];
+	SV* sv;
 	for (sv = sva + 1; sv < svend; ++sv) {
-	    if (SvTYPE(sv) != SVTYPEMASK
+	    if (SvTYPE(sv) != (svtype)SVTYPEMASK
 		    && (sv->sv_flags & mask) == flags
 		    && SvREFCNT(sv))
 	    {
@@ -432,7 +434,7 @@
 static void
 do_report_used(pTHX_ SV *const sv)
 {
-    if (SvTYPE(sv) != SVTYPEMASK) {
+    if (SvTYPE(sv) != (svtype)SVTYPEMASK) {
 	PerlIO_printf(Perl_debug_log, "****\n");
 	sv_dump(sv);
     }
@@ -442,7 +444,7 @@
 /*
 =for apidoc sv_report_used
 
-Dump the contents of all SVs not yet freed. (Debugging aid).
+Dump the contents of all SVs not yet freed (debugging aid).
 
 =cut
 */
@@ -475,12 +477,10 @@
 	    } else {
 		SvROK_off(ref);
 		SvRV_set(ref, NULL);
-		SvREFCNT_dec(target);
+		SvREFCNT_dec_NN(target);
 	    }
 	}
     }
-
-    /* XXX Might want to check arrays, etc. */
 }
 
 
@@ -505,27 +505,27 @@
 	DEBUG_D((PerlIO_printf(Perl_debug_log,
 		"Cleaning named glob SV object:\n "), sv_dump(obj)));
 	GvSV(sv) = NULL;
-	SvREFCNT_dec(obj);
+	SvREFCNT_dec_NN(obj);
     }
     if ( ((obj = MUTABLE_SV(GvAV(sv)) )) && SvOBJECT(obj)) {
 	DEBUG_D((PerlIO_printf(Perl_debug_log,
 		"Cleaning named glob AV object:\n "), sv_dump(obj)));
 	GvAV(sv) = NULL;
-	SvREFCNT_dec(obj);
+	SvREFCNT_dec_NN(obj);
     }
     if ( ((obj = MUTABLE_SV(GvHV(sv)) )) && SvOBJECT(obj)) {
 	DEBUG_D((PerlIO_printf(Perl_debug_log,
 		"Cleaning named glob HV object:\n "), sv_dump(obj)));
 	GvHV(sv) = NULL;
-	SvREFCNT_dec(obj);
+	SvREFCNT_dec_NN(obj);
     }
     if ( ((obj = MUTABLE_SV(GvCV(sv)) )) && SvOBJECT(obj)) {
 	DEBUG_D((PerlIO_printf(Perl_debug_log,
 		"Cleaning named glob CV object:\n "), sv_dump(obj)));
 	GvCV_set(sv, NULL);
-	SvREFCNT_dec(obj);
+	SvREFCNT_dec_NN(obj);
     }
-    SvREFCNT_dec(sv); /* undo the inc above */
+    SvREFCNT_dec_NN(sv); /* undo the inc above */
 }
 
 /* clear any IO slots in a GV which hold objects (except stderr, defout);
@@ -546,13 +546,12 @@
 	DEBUG_D((PerlIO_printf(Perl_debug_log,
 		"Cleaning named glob IO object:\n "), sv_dump(obj)));
 	GvIOp(sv) = NULL;
-	SvREFCNT_dec(obj);
+	SvREFCNT_dec_NN(obj);
     }
-    SvREFCNT_dec(sv); /* undo the inc above */
+    SvREFCNT_dec_NN(sv); /* undo the inc above */
 }
 
 /* Void wrapper to pass to visit() */
-/* XXX
 static void
 do_curse(pTHX_ SV * const sv) {
     if ((PL_stderrgv && GvGP(PL_stderrgv) && (SV*)GvIO(PL_stderrgv) == sv)
@@ -560,12 +559,11 @@
 	return;
     (void)curse(sv, 0);
 }
-*/
 
 /*
 =for apidoc sv_clean_objs
 
-Attempt to destroy all objects not yet freed
+Attempt to destroy all objects not yet freed.
 
 =cut
 */
@@ -584,9 +582,7 @@
     visit(do_clean_named_io_objs, SVt_PVGV|SVpgv_GP, SVTYPEMASK|SVp_POK|SVpgv_GP);
     /* And if there are some very tenacious barnacles clinging to arrays,
        closures, or what have you.... */
-    /* XXX This line breaks Tk and Gtk2. See [perl #82542].
     visit(do_curse, SVs_OBJECT, SVs_OBJECT);
-    */
     olddef = PL_defoutgv;
     PL_defoutgv = NULL; /* disable skip of PL_defoutgv */
     if (olddef && isGV_with_GP(olddef))
@@ -611,7 +607,7 @@
     }
     DEBUG_D((PerlIO_printf(Perl_debug_log, "Cleaning loops: SV at 0x%"UVxf"\n", PTR2UV(sv)) ));
     SvFLAGS(sv) |= SVf_BREAK;
-    SvREFCNT_dec(sv);
+    SvREFCNT_dec_NN(sv);
 }
 
 /*
@@ -618,7 +614,7 @@
 =for apidoc sv_clean_all
 
 Decrement the refcnt of each remaining SV, possibly triggering a
-cleanup. This function may have to be called multiple times to free
+cleanup.  This function may have to be called multiple times to free
 SVs which are in complex self-referential hierarchies.
 
 =cut
@@ -674,7 +670,7 @@
 /*
 =for apidoc sv_free_arenas
 
-Deallocate the memory used by all arenas. Note that all the individual SV
+Deallocate the memory used by all arenas.  Note that all the individual SV
 heads and bodies within the arenas must already have been freed.
 
 =cut
@@ -897,12 +893,10 @@
       NOARENA /* IVS don't need an arena  */, 0
     },
 
-    /* 8 bytes on most ILP32 with IEEE doubles */
     { sizeof(NV), sizeof(NV),
       STRUCT_OFFSET(XPVNV, xnv_u),
       SVt_NV, FALSE, HADNV, HASARENA, FIT_ARENA(0, sizeof(NV)) },
 
-    /* 8 bytes on most ILP32 with IEEE doubles */
     { sizeof(XPV) - STRUCT_OFFSET(XPV, xpv_cur),
       copy_length(XPV, xpv_len) - STRUCT_OFFSET(XPV, xpv_cur),
       + STRUCT_OFFSET(XPV, xpv_cur),
@@ -909,7 +903,6 @@
       SVt_PV, FALSE, NONV, HASARENA,
       FIT_ARENA(0, sizeof(XPV) - STRUCT_OFFSET(XPV, xpv_cur)) },
 
-    /* 12 */
     { sizeof(XPVIV) - STRUCT_OFFSET(XPV, xpv_cur),
       copy_length(XPVIV, xiv_u) - STRUCT_OFFSET(XPV, xpv_cur),
       + STRUCT_OFFSET(XPV, xpv_cur),
@@ -916,7 +909,6 @@
       SVt_PVIV, FALSE, NONV, HASARENA,
       FIT_ARENA(0, sizeof(XPVIV) - STRUCT_OFFSET(XPV, xpv_cur)) },
 
-    /* 20 */
     { sizeof(XPVNV) - STRUCT_OFFSET(XPV, xpv_cur),
       copy_length(XPVNV, xnv_u) - STRUCT_OFFSET(XPV, xpv_cur),
       + STRUCT_OFFSET(XPV, xpv_cur),
@@ -923,11 +915,9 @@
       SVt_PVNV, FALSE, HADNV, HASARENA,
       FIT_ARENA(0, sizeof(XPVNV) - STRUCT_OFFSET(XPV, xpv_cur)) },
 
-    /* 28 */
     { sizeof(XPVMG), copy_length(XPVMG, xnv_u), 0, SVt_PVMG, FALSE, HADNV,
       HASARENA, FIT_ARENA(0, sizeof(XPVMG)) },
 
-    /* something big */
     { sizeof(regexp),
       sizeof(regexp),
       0,
@@ -935,11 +925,9 @@
       FIT_ARENA(0, sizeof(regexp))
     },
 
-    /* 48 */
     { sizeof(XPVGV), sizeof(XPVGV), 0, SVt_PVGV, TRUE, HADNV,
       HASARENA, FIT_ARENA(0, sizeof(XPVGV)) },
     
-    /* 64 */
     { sizeof(XPVLV), sizeof(XPVLV), 0, SVt_PVLV, TRUE, HADNV,
       HASARENA, FIT_ARENA(0, sizeof(XPVLV)) },
 
@@ -955,7 +943,6 @@
       SVt_PVHV, TRUE, NONV, HASARENA,
       FIT_ARENA(0, sizeof(XPVHV)) },
 
-    /* 56 */
     { sizeof(XPVCV),
       sizeof(XPVCV),
       0,
@@ -968,7 +955,6 @@
       SVt_PVFM, TRUE, NONV, NOARENA,
       FIT_ARENA(20, sizeof(XPVFM)) },
 
-    /* XPVIO is 84 bytes, fits 48x */
     { sizeof(XPVIO),
       sizeof(XPVIO),
       0,
@@ -1141,13 +1127,16 @@
 
 Upgrade an SV to a more complex form.  Generally adds a new body type to the
 SV, then copies across as much information as possible from the old body.
-You generally want to use the C<SvUPGRADE> macro wrapper. See also C<svtype>.
+It croaks if the SV is already in a more complex form than requested.  You
+generally want to use the C<SvUPGRADE> macro wrapper, which checks the type
+before calling C<sv_upgrade>, and hence does not croak.  See also
+C<svtype>.
 
 =cut
 */
 
 void
-Perl_sv_upgrade(pTHX_ register SV *const sv, svtype new_type)
+Perl_sv_upgrade(pTHX_ SV *const sv, svtype new_type)
 {
     dVAR;
     void*	old_body;
@@ -1172,7 +1161,7 @@
        no longer need to unshare so as to free up the IVX slot for its proper
        purpose. So it's safe to move the early return earlier.  */
 
-    if (new_type != SVt_PV && SvIsCOW(sv)) {
+    if (new_type > SVt_PVMG && SvIsCOW(sv)) {
 	sv_force_normal_flags(sv, 0);
     }
 
@@ -1257,12 +1246,12 @@
 	assert(!SvPAD_TYPED(sv));
 	break;
     default:
-	if (old_type_details->cant_upgrade)
+	if (UNLIKELY(old_type_details->cant_upgrade))
 	    Perl_croak(aTHX_ "Can't upgrade %s (%" UVuf ") to %" UVuf,
 		       sv_reftype(sv, 0), (UV) old_type, (UV) new_type);
     }
 
-    if (old_type > new_type)
+    if (UNLIKELY(old_type > new_type))
 	Perl_croak(aTHX_ "sv_upgrade from type %d down to type %d",
 		(int)old_type, (int)new_type);
 
@@ -1340,11 +1329,6 @@
 	}
 	break;
 
-
-    case SVt_REGEXP:
-	/* This ensures that SvTHINKFIRST(sv) is true, and hence that
-	   sv_force_normal_flags(sv) is called.  */
-	SvFAKE_on(sv);
     case SVt_PVIV:
 	/* XXX Is this still needed?  Was it ever needed?   Surely as there is
 	   no route from NV to PVIV, NOK can never be true  */
@@ -1355,6 +1339,7 @@
     case SVt_PVGV:
     case SVt_PVCV:
     case SVt_PVLV:
+    case SVt_REGEXP:
     case SVt_PVMG:
     case SVt_PVNV:
     case SVt_PV:
@@ -1401,7 +1386,7 @@
 	    SvNV_set(sv, 0);
 #endif
 
-	if (new_type == SVt_PVIO) {
+	if (UNLIKELY(new_type == SVt_PVIO)) {
 	    IO * const io = MUTABLE_IO(sv);
 	    GV *iogv = gv_fetchpvs("IO::File::", GV_ADD, SVt_PVHV);
 
@@ -1408,12 +1393,15 @@
 	    SvOBJECT_on(io);
 	    /* Clear the stashcache because a new IO could overrule a package
 	       name */
+            DEBUG_o(Perl_deb(aTHX_ "sv_upgrade clearing PL_stashcache\n"));
 	    hv_clear(PL_stashcache);
 
 	    SvSTASH_set(io, MUTABLE_HV(SvREFCNT_inc(GvHV(iogv))));
 	    IoPAGE_LEN(sv) = 60;
 	}
-	if (old_type < SVt_PV) {
+	if (UNLIKELY(new_type == SVt_REGEXP))
+	    sv->sv_u.svu_rx = (regexp *)new_body;
+	else if (old_type < SVt_PV) {
 	    /* referant will be NULL unless the old type was SVt_IV emulating
 	       SVt_RV */
 	    sv->sv_u.svu_rv = referant;
@@ -1441,7 +1429,7 @@
 /*
 =for apidoc sv_backoff
 
-Remove any string offset. You should normally use the C<SvOOK_off> macro
+Remove any string offset.  You should normally use the C<SvOOK_off> macro
 wrapper instead.
 
 =cut
@@ -1448,7 +1436,7 @@
 */
 
 int
-Perl_sv_backoff(pTHX_ register SV *const sv)
+Perl_sv_backoff(pTHX_ SV *const sv)
 {
     STRLEN delta;
     const char * const s = SvPVX_const(sv);
@@ -1480,9 +1468,9 @@
 */
 
 char *
-Perl_sv_grow(pTHX_ register SV *const sv, register STRLEN newlen)
+Perl_sv_grow(pTHX_ SV *const sv, STRLEN newlen)
 {
-    register char *s;
+    char *s;
 
     PERL_ARGS_ASSERT_SV_GROW;
 
@@ -1514,7 +1502,10 @@
 #endif
     }
     else
+    {
+	if (SvIsCOW(sv)) sv_force_normal(sv);
 	s = SvPVX_mutable(sv);
+    }
 
     if (newlen > SvLEN(sv)) {		/* need more room? */
 	STRLEN minlen = SvCUR(sv);
@@ -1556,7 +1547,7 @@
 */
 
 void
-Perl_sv_setiv(pTHX_ register SV *const sv, const IV i)
+Perl_sv_setiv(pTHX_ SV *const sv, const IV i)
 {
     dVAR;
 
@@ -1599,7 +1590,7 @@
 */
 
 void
-Perl_sv_setiv_mg(pTHX_ register SV *const sv, const IV i)
+Perl_sv_setiv_mg(pTHX_ SV *const sv, const IV i)
 {
     PERL_ARGS_ASSERT_SV_SETIV_MG;
 
@@ -1617,17 +1608,20 @@
 */
 
 void
-Perl_sv_setuv(pTHX_ register SV *const sv, const UV u)
+Perl_sv_setuv(pTHX_ SV *const sv, const UV u)
 {
     PERL_ARGS_ASSERT_SV_SETUV;
 
-    /* With these two if statements:
+    /* With the if statement to ensure that integers are stored as IVs whenever
+       possible:
        u=1.49  s=0.52  cu=72.49  cs=10.64  scripts=270  tests=20865
 
        without
        u=1.35  s=0.47  cu=73.45  cs=11.43  scripts=270  tests=20865
 
-       If you wish to remove them, please benchmark to see what the effect is
+       If you wish to remove the following if statement, so that this routine
+       (and its callers) always return UVs, please benchmark to see what the
+       effect is. Modern CPUs may be different. Or may not :-)
     */
     if (u <= (UV)IV_MAX) {
        sv_setiv(sv, (IV)u);
@@ -1647,7 +1641,7 @@
 */
 
 void
-Perl_sv_setuv_mg(pTHX_ register SV *const sv, const UV u)
+Perl_sv_setuv_mg(pTHX_ SV *const sv, const UV u)
 {
     PERL_ARGS_ASSERT_SV_SETUV_MG;
 
@@ -1665,7 +1659,7 @@
 */
 
 void
-Perl_sv_setnv(pTHX_ register SV *const sv, const NV num)
+Perl_sv_setnv(pTHX_ SV *const sv, const NV num)
 {
     dVAR;
 
@@ -1709,7 +1703,7 @@
 */
 
 void
-Perl_sv_setnv_mg(pTHX_ register SV *const sv, const NV num)
+Perl_sv_setnv_mg(pTHX_ SV *const sv, const NV num)
 {
     PERL_ARGS_ASSERT_SV_SETNV_MG;
 
@@ -1733,7 +1727,7 @@
 
      if (DO_UTF8(sv)) {
           dsv = newSVpvs_flags("", SVs_TEMP);
-          pv = sv_uni_display(dsv, sv, 10, 0);
+          pv = sv_uni_display(dsv, sv, 10, UNI_DISPLAY_ISPRINT);
      } else {
 	  char *d = tmpbuf;
 	  const char * const limit = tmpbuf + sizeof(tmpbuf) - 8;
@@ -1787,10 +1781,12 @@
 
     if (PL_op)
 	Perl_warner(aTHX_ packWARN(WARN_NUMERIC),
+		    /* diag_listed_as: Argument "%s" isn't numeric%s */
 		    "Argument \"%s\" isn't numeric in %s", pv,
 		    OP_DESC(PL_op));
     else
 	Perl_warner(aTHX_ packWARN(WARN_NUMERIC),
+		    /* diag_listed_as: Argument "%s" isn't numeric%s */
 		    "Argument \"%s\" isn't numeric", pv);
 }
 
@@ -1799,7 +1795,8 @@
 
 Test if the content of an SV looks like a number (or is a number).
 C<Inf> and C<Infinity> are treated as numbers (so will not issue a
-non-numeric warning), even if your atof() doesn't grok them.
+non-numeric warning), even if your atof() doesn't grok them.  Get-magic is
+ignored.
 
 =cut
 */
@@ -1807,17 +1804,14 @@
 I32
 Perl_looks_like_number(pTHX_ SV *const sv)
 {
-    register const char *sbegin;
+    const char *sbegin;
     STRLEN len;
 
     PERL_ARGS_ASSERT_LOOKS_LIKE_NUMBER;
 
-    if (SvPOK(sv)) {
-	sbegin = SvPVX_const(sv);
-	len = SvCUR(sv);
+    if (SvPOK(sv) || SvPOKp(sv)) {
+	sbegin = SvPV_nomg_const(sv, len);
     }
-    else if (SvPOKp(sv))
-	sbegin = SvPV_const(sv, len);
     else
 	return SvFLAGS(sv) & (SVf_NOK|SVp_NOK|SVf_IOK|SVp_IOK);
     return grok_number(sbegin, len, NULL);
@@ -1826,21 +1820,16 @@
 STATIC bool
 S_glob_2number(pTHX_ GV * const gv)
 {
-    const U32 wasfake = SvFLAGS(gv) & SVf_FAKE;
-    SV *const buffer = sv_newmortal();
-
     PERL_ARGS_ASSERT_GLOB_2NUMBER;
 
-    /* FAKE globs can get coerced, so need to turn this off temporarily if it
-       is on.  */
-    SvFAKE_off(gv);
-    gv_efullname3(buffer, gv, "*");
-    SvFLAGS(gv) |= wasfake;
-
     /* We know that all GVs stringify to something that is not-a-number,
 	so no need to test that.  */
     if (ckWARN(WARN_NUMERIC))
+    {
+	SV *const buffer = sv_newmortal();
+	gv_efullname3(buffer, gv, "*");
 	not_a_number(buffer);
+    }
     /* We just want something true to return, so that S_sv_2iuv_common
 	can tail call us and return true.  */
     return TRUE;
@@ -1931,7 +1920,7 @@
 
 /* For sv_2nv these three cases are "SvNOK and don't bother casting"  */
 STATIC int
-S_sv_2iuv_non_preserve(pTHX_ register SV *const sv
+S_sv_2iuv_non_preserve(pTHX_ SV *const sv
 #  ifdef DEBUGGING
 		       , I32 numtype
 #  endif
@@ -2079,7 +2068,7 @@
 				  SvUVX(sv)));
 	}
     }
-    else if (SvPOKp(sv) && SvLEN(sv)) {
+    else if (SvPOKp(sv)) {
 	UV value;
 	const int numtype = grok_number(SvPVX_const(sv), SvCUR(sv), &value);
 	/* We want to avoid a possible problem when we cache an IV/ a UV which
@@ -2242,7 +2231,7 @@
 	if (isGV_with_GP(sv))
 	    return glob_2number(MUTABLE_GV(sv));
 
-	if (!(SvFLAGS(sv) & SVs_PADTMP)) {
+	if (!SvPADTMP(sv)) {
 	    if (!PL_localizing && ckWARN(WARN_UNINITIALIZED))
 		report_uninit(sv);
 	}
@@ -2266,27 +2255,45 @@
 */
 
 IV
-Perl_sv_2iv_flags(pTHX_ register SV *const sv, const I32 flags)
+Perl_sv_2iv_flags(pTHX_ SV *const sv, const I32 flags)
 {
     dVAR;
+
     if (!sv)
 	return 0;
-    if (SvGMAGICAL(sv) || (SvTYPE(sv) == SVt_PVGV && SvVALID(sv))) {
-	/* FBMs use the same flag bit as SVf_IVisUV, so must let them
-	   cache IVs just in case. In practice it seems that they never
-	   actually anywhere accessible by user Perl code, let alone get used
-	   in anything other than a string context.  */
-	if (flags & SV_GMAGIC)
-	    mg_get(sv);
-	if (SvIOKp(sv))
-	    return SvIVX(sv);
-	if (SvNOKp(sv)) {
-	    return I_V(SvNVX(sv));
+
+    if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
+	mg_get(sv);
+
+    if (SvROK(sv)) {
+	if (SvAMAGIC(sv)) {
+	    SV * tmpstr;
+	    if (flags & SV_SKIP_OVERLOAD)
+		return 0;
+	    tmpstr = AMG_CALLunary(sv, numer_amg);
+	    if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
+		return SvIV(tmpstr);
+	    }
 	}
-	if (SvPOKp(sv) && SvLEN(sv)) {
+	return PTR2IV(SvRV(sv));
+    }
+
+    if (SvVALID(sv) || isREGEXP(sv)) {
+	/* FBMs use the space for SvIVX and SvNVX for other purposes, and use
+	   the same flag bit as SVf_IVisUV, so must not let them cache IVs.
+	   In practice they are extremely unlikely to actually get anywhere
+	   accessible by user Perl code - the only way that I'm aware of is when
+	   a constant subroutine which is used as the second argument to index.
+
+	   Regexps have no SvIVX and SvNVX fields.
+	*/
+	assert(isREGEXP(sv) || SvPOKp(sv));
+	{
 	    UV value;
+	    const char * const ptr =
+		isREGEXP(sv) ? RX_WRAPPED((REGEXP*)sv) : SvPVX_const(sv);
 	    const int numtype
-		= grok_number(SvPVX_const(sv), SvCUR(sv), &value);
+		= grok_number(ptr, SvCUR(sv), &value);
 
 	    if ((numtype & (IS_NUMBER_IN_UV | IS_NUMBER_NOT_INT))
 		== IS_NUMBER_IN_UV) {
@@ -2303,30 +2310,16 @@
 		if (ckWARN(WARN_NUMERIC))
 		    not_a_number(sv);
 	    }
-	    return I_V(Atof(SvPVX_const(sv)));
+	    return I_V(Atof(ptr));
 	}
-        if (SvROK(sv)) {
-	    goto return_rok;
-	}
-	assert(SvTYPE(sv) >= SVt_PVMG);
-	/* This falls through to the report_uninit inside S_sv_2iuv_common.  */
-    } else if (SvTHINKFIRST(sv)) {
-	if (SvROK(sv)) {
-	return_rok:
-	    if (SvAMAGIC(sv)) {
-		SV * tmpstr;
-		if (flags & SV_SKIP_OVERLOAD)
-		    return 0;
-		tmpstr = AMG_CALLunary(sv, numer_amg);
-		if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
-		    return SvIV(tmpstr);
-		}
-	    }
-	    return PTR2IV(SvRV(sv));
-	}
+    }
+
+    if (SvTHINKFIRST(sv)) {
+#ifdef PERL_OLD_COPY_ON_WRITE
 	if (SvIsCOW(sv)) {
 	    sv_force_normal_flags(sv, 0);
 	}
+#endif
 	if (SvREADONLY(sv) && !SvOK(sv)) {
 	    if (ckWARN(WARN_UNINITIALIZED))
 		report_uninit(sv);
@@ -2333,10 +2326,12 @@
 	    return 0;
 	}
     }
+
     if (!SvIOKp(sv)) {
 	if (S_sv_2iuv_common(aTHX_ sv))
 	    return 0;
     }
+
     DEBUG_c(PerlIO_printf(Perl_debug_log, "0x%"UVxf" 2iv(%"IVdf")\n",
 	PTR2UV(sv),SvIVX(sv)));
     return SvIsUV(sv) ? (IV)SvUVX(sv) : SvIVX(sv);
@@ -2353,24 +2348,40 @@
 */
 
 UV
-Perl_sv_2uv_flags(pTHX_ register SV *const sv, const I32 flags)
+Perl_sv_2uv_flags(pTHX_ SV *const sv, const I32 flags)
 {
     dVAR;
+
     if (!sv)
 	return 0;
-    if (SvGMAGICAL(sv) || (SvTYPE(sv) == SVt_PVGV && SvVALID(sv))) {
-	/* FBMs use the same flag bit as SVf_IVisUV, so must let them
-	   cache IVs just in case.  */
-	if (flags & SV_GMAGIC)
-	    mg_get(sv);
-	if (SvIOKp(sv))
-	    return SvUVX(sv);
-	if (SvNOKp(sv))
-	    return U_V(SvNVX(sv));
-	if (SvPOKp(sv) && SvLEN(sv)) {
+
+    if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
+	mg_get(sv);
+
+    if (SvROK(sv)) {
+	if (SvAMAGIC(sv)) {
+	    SV *tmpstr;
+	    if (flags & SV_SKIP_OVERLOAD)
+		return 0;
+	    tmpstr = AMG_CALLunary(sv, numer_amg);
+	    if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
+		return SvUV(tmpstr);
+	    }
+	}
+	return PTR2UV(SvRV(sv));
+    }
+
+    if (SvVALID(sv) || isREGEXP(sv)) {
+	/* FBMs use the space for SvIVX and SvNVX for other purposes, and use
+	   the same flag bit as SVf_IVisUV, so must not let them cache IVs.  
+	   Regexps have no SvIVX and SvNVX fields. */
+	assert(isREGEXP(sv) || SvPOKp(sv));
+	{
 	    UV value;
+	    const char * const ptr =
+		isREGEXP(sv) ? RX_WRAPPED((REGEXP*)sv) : SvPVX_const(sv);
 	    const int numtype
-		= grok_number(SvPVX_const(sv), SvCUR(sv), &value);
+		= grok_number(ptr, SvCUR(sv), &value);
 
 	    if ((numtype & (IS_NUMBER_IN_UV | IS_NUMBER_NOT_INT))
 		== IS_NUMBER_IN_UV) {
@@ -2382,30 +2393,16 @@
 		if (ckWARN(WARN_NUMERIC))
 		    not_a_number(sv);
 	    }
-	    return U_V(Atof(SvPVX_const(sv)));
+	    return U_V(Atof(ptr));
 	}
-        if (SvROK(sv)) {
-	    goto return_rok;
-	}
-	assert(SvTYPE(sv) >= SVt_PVMG);
-	/* This falls through to the report_uninit inside S_sv_2iuv_common.  */
-    } else if (SvTHINKFIRST(sv)) {
-	if (SvROK(sv)) {
-	return_rok:
-	    if (SvAMAGIC(sv)) {
-		SV *tmpstr;
-		if (flags & SV_SKIP_OVERLOAD)
-		    return 0;
-		tmpstr = AMG_CALLunary(sv, numer_amg);
-		if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
-		    return SvUV(tmpstr);
-		}
-	    }
-	    return PTR2UV(SvRV(sv));
-	}
+    }
+
+    if (SvTHINKFIRST(sv)) {
+#ifdef PERL_OLD_COPY_ON_WRITE
 	if (SvIsCOW(sv)) {
 	    sv_force_normal_flags(sv, 0);
 	}
+#endif
 	if (SvREADONLY(sv) && !SvOK(sv)) {
 	    if (ckWARN(WARN_UNINITIALIZED))
 		report_uninit(sv);
@@ -2412,6 +2409,7 @@
 	    return 0;
 	}
     }
+
     if (!SvIOKp(sv)) {
 	if (S_sv_2iuv_common(aTHX_ sv))
 	    return 0;
@@ -2426,7 +2424,7 @@
 =for apidoc sv_2nv_flags
 
 Return the num value of an SV, doing any necessary string or integer
-conversion. If flags includes SV_GMAGIC, does an mg_get() first.
+conversion.  If flags includes SV_GMAGIC, does an mg_get() first.
 Normally used via the C<SvNV(sv)> and C<SvNVx(sv)> macros.
 
 =cut
@@ -2433,23 +2431,27 @@
 */
 
 NV
-Perl_sv_2nv_flags(pTHX_ register SV *const sv, const I32 flags)
+Perl_sv_2nv_flags(pTHX_ SV *const sv, const I32 flags)
 {
     dVAR;
     if (!sv)
 	return 0.0;
-    if (SvGMAGICAL(sv) || (SvTYPE(sv) == SVt_PVGV && SvVALID(sv))) {
-	/* FBMs use the same flag bit as SVf_IVisUV, so must let them
-	   cache IVs just in case.  */
+    if (SvGMAGICAL(sv) || SvVALID(sv) || isREGEXP(sv)) {
+	/* FBMs use the space for SvIVX and SvNVX for other purposes, and use
+	   the same flag bit as SVf_IVisUV, so must not let them cache NVs.
+	   Regexps have no SvIVX and SvNVX fields.  */
+	const char *ptr;
 	if (flags & SV_GMAGIC)
 	    mg_get(sv);
 	if (SvNOKp(sv))
 	    return SvNVX(sv);
-	if ((SvPOKp(sv) && SvLEN(sv)) && !SvIOKp(sv)) {
+	if (SvPOKp(sv) && !SvIOKp(sv)) {
+	    ptr = SvPVX_const(sv);
+	  grokpv:
 	    if (!SvIOKp(sv) && ckWARN(WARN_NUMERIC) &&
-		!grok_number(SvPVX_const(sv), SvCUR(sv), NULL))
+		!grok_number(ptr, SvCUR(sv), NULL))
 		not_a_number(sv);
-	    return Atof(SvPVX_const(sv));
+	    return Atof(ptr);
 	}
 	if (SvIOKp(sv)) {
 	    if (SvIsUV(sv))
@@ -2460,6 +2462,10 @@
         if (SvROK(sv)) {
 	    goto return_rok;
 	}
+	if (isREGEXP(sv)) {
+	    ptr = RX_WRAPPED((REGEXP *)sv);
+	    goto grokpv;
+	}
 	assert(SvTYPE(sv) >= SVt_PVMG);
 	/* This falls through to the report_uninit near the end of the
 	   function. */
@@ -2477,9 +2483,11 @@
 	    }
 	    return PTR2NV(SvRV(sv));
 	}
+#ifdef PERL_OLD_COPY_ON_WRITE
 	if (SvIsCOW(sv)) {
 	    sv_force_normal_flags(sv, 0);
 	}
+#endif
 	if (SvREADONLY(sv) && !SvOK(sv)) {
 	    if (ckWARN(WARN_UNINITIALIZED))
 		report_uninit(sv);
@@ -2529,7 +2537,7 @@
 	    SvNOKp_on(sv);
 #endif
     }
-    else if (SvPOKp(sv) && SvLEN(sv)) {
+    else if (SvPOKp(sv)) {
 	UV value;
 	const int numtype = grok_number(SvPVX_const(sv), SvCUR(sv), &value);
 	if (!SvIOKp(sv) && !numtype && ckWARN(WARN_NUMERIC))
@@ -2625,7 +2633,7 @@
 	    return 0.0;
 	}
 
-	if (!PL_localizing && !(SvFLAGS(sv) & SVs_PADTMP) && ckWARN(WARN_UNINITIALIZED))
+	if (!PL_localizing && !SvPADTMP(sv) && ckWARN(WARN_UNINITIALIZED))
 	    report_uninit(sv);
 	assert (SvTYPE(sv) >= SVt_NV);
 	/* Typically the caller expects that sv_any is not NULL now.  */
@@ -2662,7 +2670,7 @@
 */
 
 SV *
-Perl_sv_2num(pTHX_ register SV *const sv)
+Perl_sv_2num(pTHX_ SV *const sv)
 {
     PERL_ARGS_ASSERT_SV_2NUM;
 
@@ -2715,19 +2723,18 @@
 =for apidoc sv_2pv_flags
 
 Returns a pointer to the string value of an SV, and sets *lp to its length.
-If flags includes SV_GMAGIC, does an mg_get() first. Coerces sv to a string
-if necessary.
-Normally invoked via the C<SvPV_flags> macro. C<sv_2pv()> and C<sv_2pv_nomg>
-usually end up here too.
+If flags includes SV_GMAGIC, does an mg_get() first.  Coerces sv to a
+string if necessary.  Normally invoked via the C<SvPV_flags> macro.
+C<sv_2pv()> and C<sv_2pv_nomg> usually end up here too.
 
 =cut
 */
 
 char *
-Perl_sv_2pv_flags(pTHX_ register SV *const sv, STRLEN *const lp, const I32 flags)
+Perl_sv_2pv_flags(pTHX_ SV *const sv, STRLEN *const lp, const I32 flags)
 {
     dVAR;
-    register char *s;
+    char *s;
 
     if (!sv) {
 	if (lp)
@@ -2734,191 +2741,143 @@
 	    *lp = 0;
 	return (char *)"";
     }
-    if (SvGMAGICAL(sv)) {
-	if (flags & SV_GMAGIC)
-	    mg_get(sv);
-	if (SvPOKp(sv)) {
-	    if (lp)
-		*lp = SvCUR(sv);
-	    if (flags & SV_MUTABLE_RETURN)
-		return SvPVX_mutable(sv);
-	    if (flags & SV_CONST_RETURN)
-		return (char *)SvPVX_const(sv);
-	    return SvPVX(sv);
-	}
-	if (SvIOKp(sv) || SvNOKp(sv)) {
-	    char tbuf[64];  /* Must fit sprintf/Gconvert of longest IV/NV */
-	    STRLEN len;
+    if (SvGMAGICAL(sv) && (flags & SV_GMAGIC))
+	mg_get(sv);
+    if (SvROK(sv)) {
+	if (SvAMAGIC(sv)) {
+	    SV *tmpstr;
+	    if (flags & SV_SKIP_OVERLOAD)
+		return NULL;
+	    tmpstr = AMG_CALLunary(sv, string_amg);
+	    TAINT_IF(tmpstr && SvTAINTED(tmpstr));
+	    if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
+		/* Unwrap this:  */
+		/* char *pv = lp ? SvPV(tmpstr, *lp) : SvPV_nolen(tmpstr);
+		 */
 
-	    if (SvIOKp(sv)) {
-		len = SvIsUV(sv)
-		    ? my_snprintf(tbuf, sizeof(tbuf), "%"UVuf, (UV)SvUVX(sv))
-		    : my_snprintf(tbuf, sizeof(tbuf), "%"IVdf, (IV)SvIVX(sv));
-	    } else if(SvNVX(sv) == 0.0) {
-		    tbuf[0] = '0';
-		    tbuf[1] = 0;
-		    len = 1;
-	    } else {
-		Gconvert(SvNVX(sv), NV_DIG, 0, tbuf);
-		len = strlen(tbuf);
-	    }
-	    assert(!SvROK(sv));
-	    {
-		dVAR;
-
-		SvUPGRADE(sv, SVt_PV);
-		if (lp)
-		    *lp = len;
-		s = SvGROW_mutable(sv, len + 1);
-		SvCUR_set(sv, len);
-		SvPOKp_on(sv);
-		return (char*)memcpy(s, tbuf, len + 1);
-	    }
-	}
-        if (SvROK(sv)) {
-	    goto return_rok;
-	}
-	assert(SvTYPE(sv) >= SVt_PVMG);
-	/* This falls through to the report_uninit near the end of the
-	   function. */
-    } else if (SvTHINKFIRST(sv)) {
-	if (SvROK(sv)) {
-	return_rok:
-            if (SvAMAGIC(sv)) {
-		SV *tmpstr;
-		if (flags & SV_SKIP_OVERLOAD)
-		    return NULL;
-		tmpstr = AMG_CALLunary(sv, string_amg);
-		TAINT_IF(tmpstr && SvTAINTED(tmpstr));
-		if (tmpstr && (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) {
-		    /* Unwrap this:  */
-		    /* char *pv = lp ? SvPV(tmpstr, *lp) : SvPV_nolen(tmpstr);
-		     */
-
-		    char *pv;
-		    if ((SvFLAGS(tmpstr) & (SVf_POK)) == SVf_POK) {
-			if (flags & SV_CONST_RETURN) {
-			    pv = (char *) SvPVX_const(tmpstr);
-			} else {
-			    pv = (flags & SV_MUTABLE_RETURN)
-				? SvPVX_mutable(tmpstr) : SvPVX(tmpstr);
-			}
-			if (lp)
-			    *lp = SvCUR(tmpstr);
+		char *pv;
+		if ((SvFLAGS(tmpstr) & (SVf_POK)) == SVf_POK) {
+		    if (flags & SV_CONST_RETURN) {
+			pv = (char *) SvPVX_const(tmpstr);
 		    } else {
-			pv = sv_2pv_flags(tmpstr, lp, flags);
+			pv = (flags & SV_MUTABLE_RETURN)
+			    ? SvPVX_mutable(tmpstr) : SvPVX(tmpstr);
 		    }
-		    if (SvUTF8(tmpstr))
-			SvUTF8_on(sv);
-		    else
-			SvUTF8_off(sv);
-		    return pv;
+		    if (lp)
+			*lp = SvCUR(tmpstr);
+		} else {
+		    pv = sv_2pv_flags(tmpstr, lp, flags);
 		}
+		if (SvUTF8(tmpstr))
+		    SvUTF8_on(sv);
+		else
+		    SvUTF8_off(sv);
+		return pv;
 	    }
-	    {
-		STRLEN len;
-		char *retval;
-		char *buffer;
-		SV *const referent = SvRV(sv);
+	}
+	{
+	    STRLEN len;
+	    char *retval;
+	    char *buffer;
+	    SV *const referent = SvRV(sv);
 
-		if (!referent) {
-		    len = 7;
-		    retval = buffer = savepvn("NULLREF", len);
-		} else if (SvTYPE(referent) == SVt_REGEXP) {
-		    REGEXP * const re = (REGEXP *)MUTABLE_PTR(referent);
-		    I32 seen_evals = 0;
+	    if (!referent) {
+		len = 7;
+		retval = buffer = savepvn("NULLREF", len);
+	    } else if (SvTYPE(referent) == SVt_REGEXP &&
+		       (!(PL_curcop->cop_hints & HINT_NO_AMAGIC) ||
+			amagic_is_enabled(string_amg))) {
+		REGEXP * const re = (REGEXP *)MUTABLE_PTR(referent);
 
-		    assert(re);
+		assert(re);
 			
-		    /* If the regex is UTF-8 we want the containing scalar to
-		       have an UTF-8 flag too */
-		    if (RX_UTF8(re))
-			SvUTF8_on(sv);
-		    else
-			SvUTF8_off(sv);	
+		/* If the regex is UTF-8 we want the containing scalar to
+		   have an UTF-8 flag too */
+		if (RX_UTF8(re))
+		    SvUTF8_on(sv);
+		else
+		    SvUTF8_off(sv);	
 
-		    if ((seen_evals = RX_SEEN_EVALS(re)))
-			PL_reginterp_cnt += seen_evals;
-
-		    if (lp)
-			*lp = RX_WRAPLEN(re);
+		if (lp)
+		    *lp = RX_WRAPLEN(re);
  
-		    return RX_WRAPPED(re);
-		} else {
-		    const char *const typestr = sv_reftype(referent, 0);
-		    const STRLEN typelen = strlen(typestr);
-		    UV addr = PTR2UV(referent);
-		    const char *stashname = NULL;
-		    STRLEN stashnamelen = 0; /* hush, gcc */
-		    const char *buffer_end;
+		return RX_WRAPPED(re);
+	    } else {
+		const char *const typestr = sv_reftype(referent, 0);
+		const STRLEN typelen = strlen(typestr);
+		UV addr = PTR2UV(referent);
+		const char *stashname = NULL;
+		STRLEN stashnamelen = 0; /* hush, gcc */
+		const char *buffer_end;
 
-		    if (SvOBJECT(referent)) {
-			const HEK *const name = HvNAME_HEK(SvSTASH(referent));
+		if (SvOBJECT(referent)) {
+		    const HEK *const name = HvNAME_HEK(SvSTASH(referent));
 
-			if (name) {
-			    stashname = HEK_KEY(name);
-			    stashnamelen = HEK_LEN(name);
+		    if (name) {
+			stashname = HEK_KEY(name);
+			stashnamelen = HEK_LEN(name);
 
-			    if (HEK_UTF8(name)) {
-				SvUTF8_on(sv);
-			    } else {
-				SvUTF8_off(sv);
-			    }
+			if (HEK_UTF8(name)) {
+			    SvUTF8_on(sv);
 			} else {
-			    stashname = "__ANON__";
-			    stashnamelen = 8;
+			    SvUTF8_off(sv);
 			}
-			len = stashnamelen + 1 /* = */ + typelen + 3 /* (0x */
-			    + 2 * sizeof(UV) + 2 /* )\0 */;
 		    } else {
-			len = typelen + 3 /* (0x */
-			    + 2 * sizeof(UV) + 2 /* )\0 */;
+			stashname = "__ANON__";
+			stashnamelen = 8;
 		    }
+		    len = stashnamelen + 1 /* = */ + typelen + 3 /* (0x */
+			+ 2 * sizeof(UV) + 2 /* )\0 */;
+		} else {
+		    len = typelen + 3 /* (0x */
+			+ 2 * sizeof(UV) + 2 /* )\0 */;
+		}
 
-		    Newx(buffer, len, char);
-		    buffer_end = retval = buffer + len;
+		Newx(buffer, len, char);
+		buffer_end = retval = buffer + len;
 
-		    /* Working backwards  */
-		    *--retval = '\0';
-		    *--retval = ')';
-		    do {
-			*--retval = PL_hexdigit[addr & 15];
-		    } while (addr >>= 4);
-		    *--retval = 'x';
-		    *--retval = '0';
-		    *--retval = '(';
+		/* Working backwards  */
+		*--retval = '\0';
+		*--retval = ')';
+		do {
+		    *--retval = PL_hexdigit[addr & 15];
+		} while (addr >>= 4);
+		*--retval = 'x';
+		*--retval = '0';
+		*--retval = '(';
 
-		    retval -= typelen;
-		    memcpy(retval, typestr, typelen);
+		retval -= typelen;
+		memcpy(retval, typestr, typelen);
 
-		    if (stashname) {
-			*--retval = '=';
-			retval -= stashnamelen;
-			memcpy(retval, stashname, stashnamelen);
-		    }
-		    /* retval may not necessarily have reached the start of the
-		       buffer here.  */
-		    assert (retval >= buffer);
+		if (stashname) {
+		    *--retval = '=';
+		    retval -= stashnamelen;
+		    memcpy(retval, stashname, stashnamelen);
+		}
+		/* retval may not necessarily have reached the start of the
+		   buffer here.  */
+		assert (retval >= buffer);
 
-		    len = buffer_end - retval - 1; /* -1 for that \0  */
-		}
-		if (lp)
-		    *lp = len;
-		SAVEFREEPV(buffer);
-		return retval;
+		len = buffer_end - retval - 1; /* -1 for that \0  */
 	    }
-	}
-	if (SvREADONLY(sv) && !SvOK(sv)) {
 	    if (lp)
-		*lp = 0;
-	    if (flags & SV_UNDEF_RETURNS_NULL)
-		return NULL;
-	    if (ckWARN(WARN_UNINITIALIZED))
-		report_uninit(sv);
-	    return (char *)"";
+		*lp = len;
+	    SAVEFREEPV(buffer);
+	    return retval;
 	}
     }
-    if (SvIOK(sv) || ((SvIOKp(sv) && !SvNOKp(sv)))) {
+
+    if (SvPOKp(sv)) {
+	if (lp)
+	    *lp = SvCUR(sv);
+	if (flags & SV_MUTABLE_RETURN)
+	    return SvPVX_mutable(sv);
+	if (flags & SV_CONST_RETURN)
+	    return (char *)SvPVX_const(sv);
+	return SvPVX(sv);
+    }
+
+    if (SvIOK(sv)) {
 	/* I'm assuming that if both IV and NV are equally valid then
 	   converting the IV is going to be more efficient */
 	const U32 isUIOK = SvIsUV(sv);
@@ -2936,7 +2895,7 @@
 	s += len;
 	*s = '\0';
     }
-    else if (SvNOKp(sv)) {
+    else if (SvNOK(sv)) {
 	if (SvTYPE(sv) < SVt_PVNV)
 	    sv_upgrade(sv, SVt_PVNV);
 	if (SvNVX(sv) == 0.0) {
@@ -2957,42 +2916,36 @@
 	    *--s = '\0';
 #endif
     }
-    else {
-	if (isGV_with_GP(sv)) {
-	    GV *const gv = MUTABLE_GV(sv);
-	    const U32 wasfake = SvFLAGS(gv) & SVf_FAKE;
-	    SV *const buffer = sv_newmortal();
+    else if (isGV_with_GP(sv)) {
+	GV *const gv = MUTABLE_GV(sv);
+	SV *const buffer = sv_newmortal();
 
-	    /* FAKE globs can get coerced, so need to turn this off temporarily
-	       if it is on.  */
-	    SvFAKE_off(gv);
-	    gv_efullname3(buffer, gv, "*");
-	    SvFLAGS(gv) |= wasfake;
+	gv_efullname3(buffer, gv, "*");
 
-	    if (SvPOK(buffer)) {
-		if (lp) {
-		    *lp = SvCUR(buffer);
-		}
-		return SvPVX(buffer);
-	    }
-	    else {
-		if (lp)
-		    *lp = 0;
-		return (char *)"";
-	    }
-	}
-
+	assert(SvPOK(buffer));
+	if (SvUTF8(buffer))
+	    SvUTF8_on(sv);
 	if (lp)
+	    *lp = SvCUR(buffer);
+	return SvPVX(buffer);
+    }
+    else if (isREGEXP(sv)) {
+	if (lp) *lp = RX_WRAPLEN((REGEXP *)sv);
+	return RX_WRAPPED((REGEXP *)sv);
+    }
+    else {
+	if (lp)
 	    *lp = 0;
 	if (flags & SV_UNDEF_RETURNS_NULL)
 	    return NULL;
-	if (!PL_localizing && !(SvFLAGS(sv) & SVs_PADTMP) && ckWARN(WARN_UNINITIALIZED))
+	if (!PL_localizing && !SvPADTMP(sv) && ckWARN(WARN_UNINITIALIZED))
 	    report_uninit(sv);
-	if (SvTYPE(sv) < SVt_PV)
-	    /* Typically the caller expects that sv_any is not NULL now.  */
+	/* Typically the caller expects that sv_any is not NULL now.  */
+	if (!SvREADONLY(sv) && SvTYPE(sv) < SVt_PV)
 	    sv_upgrade(sv, SVt_PV);
 	return (char *)"";
     }
+
     {
 	const STRLEN len = s - SvPVX_const(sv);
 	if (lp) 
@@ -3020,17 +2973,37 @@
 string.  Mostly uses sv_2pv_flags to do its work, except when that
 would lose the UTF-8'ness of the PV.
 
+=for apidoc sv_copypv_nomg
+
+Like sv_copypv, but doesn't invoke get magic first.
+
+=for apidoc sv_copypv_flags
+
+Implementation of sv_copypv and sv_copypv_nomg.  Calls get magic iff flags
+include SV_GMAGIC.
+
 =cut
 */
 
 void
-Perl_sv_copypv(pTHX_ SV *const dsv, register SV *const ssv)
+Perl_sv_copypv(pTHX_ SV *const dsv, SV *const ssv)
 {
+    PERL_ARGS_ASSERT_SV_COPYPV;
+
+    sv_copypv_flags(dsv, ssv, 0);
+}
+
+void
+Perl_sv_copypv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags)
+{
     STRLEN len;
-    const char * const s = SvPV_const(ssv,len);
+    const char *s;
 
-    PERL_ARGS_ASSERT_SV_COPYPV;
+    PERL_ARGS_ASSERT_SV_COPYPV_FLAGS;
 
+    if ((flags & SV_GMAGIC) && SvGMAGICAL(ssv))
+	mg_get(ssv);
+    s = SvPV_nomg_const(ssv,len);
     sv_setpvn(dsv,s,len);
     if (SvUTF8(ssv))
 	SvUTF8_on(dsv);
@@ -3051,11 +3024,17 @@
 */
 
 char *
-Perl_sv_2pvbyte(pTHX_ register SV *const sv, STRLEN *const lp)
+Perl_sv_2pvbyte(pTHX_ SV *sv, STRLEN *const lp)
 {
     PERL_ARGS_ASSERT_SV_2PVBYTE;
 
-    SvGETMAGIC(sv);
+    if (((SvREADONLY(sv) || SvFAKE(sv)) && !SvIsCOW(sv))
+     || isGV_with_GP(sv) || SvROK(sv)) {
+	SV *sv2 = sv_newmortal();
+	sv_copypv(sv2,sv);
+	sv = sv2;
+    }
+    else SvGETMAGIC(sv);
     sv_utf8_downgrade(sv,0);
     return lp ? SvPV_nomg(sv,*lp) : SvPV_nomg_nolen(sv);
 }
@@ -3072,12 +3051,17 @@
 */
 
 char *
-Perl_sv_2pvutf8(pTHX_ register SV *const sv, STRLEN *const lp)
+Perl_sv_2pvutf8(pTHX_ SV *sv, STRLEN *const lp)
 {
     PERL_ARGS_ASSERT_SV_2PVUTF8;
 
-    sv_utf8_upgrade(sv);
-    return lp ? SvPV(sv,*lp) : SvPV_nolen(sv);
+    if (((SvREADONLY(sv) || SvFAKE(sv)) && !SvIsCOW(sv))
+     || isGV_with_GP(sv) || SvROK(sv))
+	sv = sv_mortalcopy(sv);
+    else
+        SvGETMAGIC(sv);
+    sv_utf8_upgrade_nomg(sv);
+    return lp ? SvPV_nomg(sv,*lp) : SvPV_nomg_nolen(sv);
 }
 
 
@@ -3091,7 +3075,7 @@
 =for apidoc sv_2bool_flags
 
 This function is only used by sv_true() and friends,  and only if
-the latter's argument is neither SvPOK, SvIOK nor SvNOK. If the flags
+the latter's argument is neither SvPOK, SvIOK nor SvNOK.  If the flags
 contain SV_GMAGIC, then it does an mg_get() first.
 
 
@@ -3099,7 +3083,7 @@
 */
 
 bool
-Perl_sv_2bool_flags(pTHX_ register SV *const sv, const I32 flags)
+Perl_sv_2bool_flags(pTHX_ SV *const sv, const I32 flags)
 {
     dVAR;
 
@@ -3117,30 +3101,7 @@
 	}
 	return SvRV(sv) != 0;
     }
-    if (SvPOKp(sv)) {
-	register XPV* const Xpvtmp = (XPV*)SvANY(sv);
-	if (Xpvtmp &&
-		(*sv->sv_u.svu_pv > '0' ||
-		Xpvtmp->xpv_cur > 1 ||
-		(Xpvtmp->xpv_cur && *sv->sv_u.svu_pv != '0')))
-	    return 1;
-	else
-	    return 0;
-    }
-    else {
-	if (SvIOKp(sv))
-	    return SvIVX(sv) != 0;
-	else {
-	    if (SvNOKp(sv))
-		return SvNVX(sv) != 0.0;
-	    else {
-		if (isGV_with_GP(sv))
-		    return TRUE;
-		else
-		    return FALSE;
-	    }
-	}
-    }
+    return SvTRUE_common(sv, isGV_with_GP(sv) ? 1 : 0);
 }
 
 /*
@@ -3153,12 +3114,12 @@
 if the whole string is the same in UTF-8 as not.
 Returns the number of bytes in the converted string
 
-This is not as a general purpose byte encoding to Unicode interface:
+This is not a general purpose byte encoding to Unicode interface:
 use the Encode extension for that.
 
 =for apidoc sv_utf8_upgrade_nomg
 
-Like sv_utf8_upgrade, but doesn't do magic on C<sv>
+Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
 
 =for apidoc sv_utf8_upgrade_flags
 
@@ -3165,13 +3126,14 @@
 Converts the PV of an SV to its UTF-8-encoded form.
 Forces the SV to string form if it is not already.
 Always sets the SvUTF8 flag to avoid future validity checks even
-if all the bytes are invariant in UTF-8. If C<flags> has C<SV_GMAGIC> bit set,
+if all the bytes are invariant in UTF-8.
+If C<flags> has C<SV_GMAGIC> bit set,
 will C<mg_get> on C<sv> if appropriate, else not.
 Returns the number of bytes in the converted string
 C<sv_utf8_upgrade> and
 C<sv_utf8_upgrade_nomg> are implemented in terms of this function.
 
-This is not as a general purpose byte encoding to Unicode interface:
+This is not a general purpose byte encoding to Unicode interface:
 use the Encode extension for that.
 
 =cut
@@ -3208,7 +3170,7 @@
 */
 
 STRLEN
-Perl_sv_utf8_upgrade_flags_grow(pTHX_ register SV *const sv, const I32 flags, STRLEN extra)
+Perl_sv_utf8_upgrade_flags_grow(pTHX_ SV *const sv, const I32 flags, STRLEN extra)
 {
     dVAR;
 
@@ -3216,7 +3178,7 @@
 
     if (sv == &PL_sv_undef)
 	return 0;
-    if (!SvPOK(sv)) {
+    if (!SvPOK_nog(sv)) {
 	STRLEN len = 0;
 	if (SvREADONLY(sv) && (SvPOKp(sv) || SvIOKp(sv) || SvNOKp(sv))) {
 	    (void) sv_2pv_flags(sv,&len, flags);
@@ -3275,6 +3237,7 @@
 	/* utf8 conversion not needed because all are invariants.  Mark as
 	 * UTF-8 even if no variant - saves scanning loop */
 	SvUTF8_on(sv);
+	if (extra) SvGROW(sv, SvCUR(sv) + extra);
 	return SvCUR(sv);
 
 must_be_utf8:
@@ -3473,7 +3436,7 @@
 in this case, either returns false or, if C<fail_ok> is not
 true, croaks.
 
-This is not as a general purpose Unicode to byte encoding interface:
+This is not a general purpose Unicode to byte encoding interface:
 use the Encode extension for that.
 
 =cut
@@ -3480,7 +3443,7 @@
 */
 
 bool
-Perl_sv_utf8_downgrade(pTHX_ register SV *const sv, const bool fail_ok)
+Perl_sv_utf8_downgrade(pTHX_ SV *const sv, const bool fail_ok)
 {
     dVAR;
 
@@ -3540,15 +3503,12 @@
 */
 
 void
-Perl_sv_utf8_encode(pTHX_ register SV *const sv)
+Perl_sv_utf8_encode(pTHX_ SV *const sv)
 {
     PERL_ARGS_ASSERT_SV_UTF8_ENCODE;
 
-    if (SvIsCOW(sv)) {
-        sv_force_normal_flags(sv, 0);
-    }
     if (SvREADONLY(sv)) {
-	Perl_croak_no_modify(aTHX);
+	sv_force_normal_flags(sv, 0);
     }
     (void) sv_utf8_upgrade(sv);
     SvUTF8_off(sv);
@@ -3559,8 +3519,8 @@
 
 If the PV of the SV is an octet sequence in UTF-8
 and contains a multiple-byte character, the C<SvUTF8> flag is turned on
-so that it looks like a character. If the PV contains only single-byte
-characters, the C<SvUTF8> flag stays being off.
+so that it looks like a character.  If the PV contains only single-byte
+characters, the C<SvUTF8> flag stays off.
 Scans PV for validity and returns false if the PV is invalid UTF-8.
 
 =cut
@@ -3567,7 +3527,7 @@
 */
 
 bool
-Perl_sv_utf8_decode(pTHX_ register SV *const sv)
+Perl_sv_utf8_decode(pTHX_ SV *const sv)
 {
     PERL_ARGS_ASSERT_SV_UTF8_DECODE;
 
@@ -3585,7 +3545,7 @@
          * we want to make sure everything inside is valid utf8 first.
          */
         c = start = (const U8 *) SvPVX_const(sv);
-	if (!is_utf8_string(c, SvCUR(sv)+1))
+	if (!is_utf8_string(c, SvCUR(sv)))
 	    return FALSE;
         e = (const U8 *) SvEND(sv);
         while (c < e) {
@@ -3620,7 +3580,7 @@
 
 Copies the contents of the source SV C<ssv> into the destination SV
 C<dsv>.  The source SV may be destroyed if it is mortal, so don't use this
-function if the source SV needs to be reused. Does not handle 'set' magic.
+function if the source SV needs to be reused.  Does not handle 'set' magic.
 Loosely speaking, it performs a copy-by-value, obliterating any previous
 content of the destination.
 
@@ -3632,12 +3592,13 @@
 
 Copies the contents of the source SV C<ssv> into the destination SV
 C<dsv>.  The source SV may be destroyed if it is mortal, so don't use this
-function if the source SV needs to be reused. Does not handle 'set' magic.
+function if the source SV needs to be reused.  Does not handle 'set' magic.
 Loosely speaking, it performs a copy-by-value, obliterating any previous
 content of the destination.
 If the C<flags> parameter has the C<SV_GMAGIC> bit set, will C<mg_get> on
-C<ssv> if appropriate, else not. If the C<flags> parameter has the
-C<NOSTEAL> bit set then the buffers of temps will not be stolen. <sv_setsv>
+C<ssv> if appropriate, else not.  If the C<flags>
+parameter has the C<NOSTEAL> bit set then the
+buffers of temps will not be stolen.  <sv_setsv>
 and C<sv_setsv_nomg> are implemented in terms of this function.
 
 You probably want to use one of the assortment of wrappers, such as
@@ -3670,14 +3631,15 @@
 	    }
 	    SvUPGRADE(dstr, SVt_PVGV);
 	    (void)SvOK_off(dstr);
-	    /* FIXME - why are we doing this, then turning it off and on again
-	       below?  */
+	    /* We have to turn this on here, even though we turn it off
+	       below, as GvSTASH will fail an assertion otherwise. */
 	    isGV_with_GP_on(dstr);
 	}
 	GvSTASH(dstr) = GvSTASH(sstr);
 	if (GvSTASH(dstr))
 	    Perl_sv_add_backref(aTHX_ MUTABLE_SV(GvSTASH(dstr)), dstr);
-	gv_name_set(MUTABLE_GV(dstr), name, len, GV_ADD);
+        gv_name_set(MUTABLE_GV(dstr), name, len,
+                        GV_ADD | (GvNAMEUTF8(sstr) ? SVf_UTF8 : 0 ));
 	SvFAKE_on(dstr);	/* can coerce to non-glob */
     }
 
@@ -3705,7 +3667,7 @@
         mro_changes = 1;
     }
 
-    /* We don’t need to check the name of the destination if it was not a
+    /* We don't need to check the name of the destination if it was not a
        glob to begin with. */
     if(dtype == SVt_PVGV) {
         const char * const name = GvNAME((const GV *)dstr);
@@ -3714,7 +3676,6 @@
          /* The stash may have been detached from the symbol table, so
             check its name. */
          && GvSTASH(dstr) && HvENAME(GvSTASH(dstr))
-         && GvAV((const GV *)sstr)
         )
             mro_changes = 2;
         else {
@@ -3735,7 +3696,7 @@
     }
 
     gp_free(MUTABLE_GV(dstr));
-    isGV_with_GP_off(dstr);
+    isGV_with_GP_off(dstr); /* SvOK_off does not like globs. */
     (void)SvOK_off(dstr);
     isGV_with_GP_on(dstr);
     GvINTRO_off(dstr);		/* one-shot flag */
@@ -3749,6 +3710,7 @@
 	}
     GvMULTI_on(dstr);
     if(mro_changes == 2) {
+      if (GvAV((const GV *)sstr)) {
 	MAGIC *mg;
 	SV * const sref = (SV *)GvAV((const GV *)dstr);
 	if (SvSMAGICAL(sref) && (mg = mg_find(sref, PERL_MAGIC_isa))) {
@@ -3760,7 +3722,8 @@
 	    av_push((AV *)mg->mg_obj, SvREFCNT_inc_simple_NN(dstr));
 	}
 	else sv_magic(sref, dstr, PERL_MAGIC_isa, NULL, 0);
-	mro_isa_changed_in(GvSTASH(dstr));
+      }
+      mro_isa_changed_in(GvSTASH(dstr));
     }
     else if(mro_changes == 3) {
 	HV * const stash = GvHV(dstr);
@@ -3777,8 +3740,8 @@
 static void
 S_glob_assign_ref(pTHX_ SV *const dstr, SV *const sstr)
 {
-    SV * const sref = SvREFCNT_inc(SvRV(sstr));
-    SV *dref = NULL;
+    SV * const sref = SvRV(sstr);
+    SV *dref;
     const int intro = GvINTRO(dstr);
     SV **location;
     U8 import_flag = 0;
@@ -3824,54 +3787,62 @@
 		    GvCVGEN(dstr) = 0; /* Switch off cacheness. */
 		}
 	    }
-	    SAVEGENERICSV(*location);
+	    /* SAVEt_GVSLOT takes more room on the savestack and has more
+	       overhead in leave_scope than SAVEt_GENERIC_SV.  But for CVs
+	       leave_scope needs access to the GV so it can reset method
+	       caches.  We must use SAVEt_GVSLOT whenever the type is
+	       SVt_PVCV, even if the stash is anonymous, as the stash may
+	       gain a name somehow before leave_scope. */
+	    if (stype == SVt_PVCV) {
+		/* There is no save_pushptrptrptr.  Creating it for this
+		   one call site would be overkill.  So inline the ss add
+		   routines here. */
+                dSS_ADD;
+		SS_ADD_PTR(dstr);
+		SS_ADD_PTR(location);
+		SS_ADD_PTR(SvREFCNT_inc(*location));
+		SS_ADD_UV(SAVEt_GVSLOT);
+		SS_ADD_END(4);
+	    }
+	    else SAVEGENERICSV(*location);
 	}
-	else
-	    dref = *location;
+	dref = *location;
 	if (stype == SVt_PVCV && (*location != sref || GvCVGEN(dstr))) {
 	    CV* const cv = MUTABLE_CV(*location);
 	    if (cv) {
 		if (!GvCVGEN((const GV *)dstr) &&
-		    (CvROOT(cv) || CvXSUB(cv)))
+		    (CvROOT(cv) || CvXSUB(cv)) &&
+		    /* redundant check that avoids creating the extra SV
+		       most of the time: */
+		    (CvCONST(cv) || ckWARN(WARN_REDEFINE)))
 		    {
-			/* Redefining a sub - warning is mandatory if
-			   it was a const and its value changed. */
-			if (CvCONST(cv)	&& CvCONST((const CV *)sref)
-			    && cv_const_sv(cv)
-			    == cv_const_sv((const CV *)sref)) {
-			    NOOP;
-			    /* They are 2 constant subroutines generated from
-			       the same constant. This probably means that
-			       they are really the "same" proxy subroutine
-			       instantiated in 2 places. Most likely this is
-			       when a constant is exported twice.  Don't warn.
-			    */
-			}
-			else if (ckWARN(WARN_REDEFINE)
-				 || (CvCONST(cv)
-				     && (!CvCONST((const CV *)sref)
-					 || sv_cmp(cv_const_sv(cv),
-						   cv_const_sv((const CV *)
-							       sref))))) {
-			    Perl_warner(aTHX_ packWARN(WARN_REDEFINE),
-					(const char *)
-					(CvCONST(cv)
-					 ? "Constant subroutine %s::%s redefined"
-					 : "Subroutine %s::%s redefined"),
-					HvNAME_get(GvSTASH((const GV *)dstr)),
-					GvENAME(MUTABLE_GV(dstr)));
-			}
+			SV * const new_const_sv =
+			    CvCONST((const CV *)sref)
+				 ? cv_const_sv((const CV *)sref)
+				 : NULL;
+			report_redefined_cv(
+			   sv_2mortal(Perl_newSVpvf(aTHX_
+				"%"HEKf"::%"HEKf,
+				HEKfARG(
+				 HvNAME_HEK(GvSTASH((const GV *)dstr))
+				),
+				HEKfARG(GvENAME_HEK(MUTABLE_GV(dstr)))
+			   )),
+			   cv,
+			   CvCONST((const CV *)sref) ? &new_const_sv : NULL
+			);
 		    }
 		if (!intro)
-		    cv_ckproto_len(cv, (const GV *)dstr,
-				   SvPOK(sref) ? SvPVX_const(sref) : NULL,
-				   SvPOK(sref) ? SvCUR(sref) : 0);
+		    cv_ckproto_len_flags(cv, (const GV *)dstr,
+				   SvPOK(sref) ? CvPROTO(sref) : NULL,
+				   SvPOK(sref) ? CvPROTOLEN(sref) : 0,
+                                   SvPOK(sref) ? SvUTF8(sref) : 0);
 	    }
 	    GvCVGEN(dstr) = 0; /* Switch off cacheness. */
 	    GvASSUMECV_on(dstr);
-	    if(GvSTASH(dstr)) mro_method_changed_in(GvSTASH(dstr)); /* sub foo { 1 } sub bar { 2 } *bar = \&foo */
+	    if(GvSTASH(dstr)) gv_method_changed(dstr); /* sub foo { 1 } sub bar { 2 } *bar = \&foo */
 	}
-	*location = sref;
+	*location = SvREFCNT_inc_simple_NN(sref);
 	if (import_flag && !(GvFLAGS(dstr) & import_flag)
 	    && CopSTASH_ne(PL_curcop, GvSTASH(dstr))) {
 	    GvFLAGS(dstr) |= import_flag;
@@ -3936,27 +3907,48 @@
 		mg = mg_find(sref, PERL_MAGIC_isa);
 	    }
 	    /* Since the *ISA assignment could have affected more than
-	       one stash, don’t call mro_isa_changed_in directly, but let
+	       one stash, don't call mro_isa_changed_in directly, but let
 	       magic_clearisa do it for us, as it already has the logic for
 	       dealing with globs vs arrays of globs. */
 	    assert(mg);
 	    Perl_magic_clearisa(aTHX_ NULL, mg);
 	}
+        else if (stype == SVt_PVIO) {
+            DEBUG_o(Perl_deb(aTHX_ "glob_assign_ref clearing PL_stashcache\n"));
+            /* It's a cache. It will rebuild itself quite happily.
+               It's a lot of effort to work out exactly which key (or keys)
+               might be invalidated by the creation of the this file handle.
+            */
+            hv_clear(PL_stashcache);
+        }
 	break;
     }
-    SvREFCNT_dec(dref);
+    if (!intro) SvREFCNT_dec(dref);
     if (SvTAINTED(sstr))
 	SvTAINT(dstr);
     return;
 }
 
+/* Work around compiler warnings about unsigned >= THRESHOLD when thres-
+   hold is 0. */
+#if SV_COW_THRESHOLD
+# define GE_COW_THRESHOLD(len)		((len) >= SV_COW_THRESHOLD)
+#else
+# define GE_COW_THRESHOLD(len)		1
+#endif
+#if SV_COWBUF_THRESHOLD
+# define GE_COWBUF_THRESHOLD(len)	((len) >= SV_COWBUF_THRESHOLD)
+#else
+# define GE_COWBUF_THRESHOLD(len)	1
+#endif
+
 void
-Perl_sv_setsv_flags(pTHX_ SV *dstr, register SV* sstr, const I32 flags)
+Perl_sv_setsv_flags(pTHX_ SV *dstr, SV* sstr, const I32 flags)
 {
     dVAR;
-    register U32 sflags;
-    register int dtype;
-    register svtype stype;
+    U32 sflags;
+    int dtype;
+    svtype stype;
 
     PERL_ARGS_ASSERT_SV_SETSV_FLAGS;
 
@@ -3977,13 +3969,6 @@
     stype = SvTYPE(sstr);
     dtype = SvTYPE(dstr);
 
-    (void)SvAMAGIC_off(dstr);
-    if ( SvVOK(dstr) )
-    {
-	/* need to nuke the magic */
-	mg_free(dstr);
-    }
-
     /* There's a lot of redundancy below but we're going for speed here */
 
     switch (stype) {
@@ -4051,15 +4036,6 @@
 	}
 	goto undef_sstr;
 
-    case SVt_PVFM:
-#ifdef PERL_OLD_COPY_ON_WRITE
-	if ((SvFLAGS(sstr) & CAN_COW_MASK) == CAN_COW_FLAGS) {
-	    if (dtype < SVt_PVIV)
-		sv_upgrade(dstr, SVt_PVIV);
-	    break;
-	}
-	/* Fall through */
-#endif
     case SVt_PV:
 	if (dtype < SVt_PV)
 	    sv_upgrade(dstr, SVt_PV);
@@ -4076,6 +4052,7 @@
 	{
 	const char * const type = sv_reftype(sstr,0);
 	if (PL_op)
+	    /* diag_listed_as: Bizarre copy of %s */
 	    Perl_croak(aTHX_ "Bizarre copy of %s in %s", type, OP_DESC(PL_op));
 	else
 	    Perl_croak(aTHX_ "Bizarre copy of %s", type);
@@ -4083,15 +4060,22 @@
 	break;
 
     case SVt_REGEXP:
+      upgregexp:
 	if (dtype < SVt_REGEXP)
+	{
+	    if (dtype >= SVt_PV) {
+		SvPV_free(dstr);
+		SvPV_set(dstr, 0);
+		SvLEN_set(dstr, 0);
+		SvCUR_set(dstr, 0);
+	    }
 	    sv_upgrade(dstr, SVt_REGEXP);
+	}
 	break;
 
 	/* case SVt_BIND: */
     case SVt_PVLV:
     case SVt_PVGV:
-	/* SvVALID means that this PVGV is playing at being an FBM.  */
-
     case SVt_PVMG:
 	if (SvGMAGICAL(sstr) && (flags & SV_GMAGIC)) {
 	    mg_get(sstr);
@@ -4103,7 +4087,10 @@
 		    return;
 	}
 	if (stype == SVt_PVLV)
+	{
+	    if (isREGEXP(sstr)) goto upgregexp;
 	    SvUPGRADE(dstr, SVt_PVNV);
+	}
 	else
 	    SvUPGRADE(dstr, (svtype)stype);
     }
@@ -4113,7 +4100,7 @@
     dtype = SvTYPE(dstr);
     sflags = SvFLAGS(sstr);
 
-    if (dtype == SVt_PVCV || dtype == SVt_PVFM) {
+    if (dtype == SVt_PVCV) {
 	/* Assigning to a subroutine sets the prototype.  */
 	if (SvOK(sstr)) {
 	    STRLEN len;
@@ -4124,12 +4111,15 @@
             SvCUR_set(dstr, len);
 	    SvPOK_only(dstr);
 	    SvFLAGS(dstr) |= sflags & SVf_UTF8;
+	    CvAUTOLOAD_off(dstr);
 	} else {
 	    SvOK_off(dstr);
 	}
-    } else if (dtype == SVt_PVAV || dtype == SVt_PVHV) {
+    }
+    else if (dtype == SVt_PVAV || dtype == SVt_PVHV || dtype == SVt_PVFM) {
 	const char * const type = sv_reftype(dstr,0);
 	if (PL_op)
+	    /* diag_listed_as: Cannot copy to %s */
 	    Perl_croak(aTHX_ "Cannot copy to %s in %s", type, OP_DESC(PL_op));
 	else
 	    Perl_croak(aTHX_ "Cannot copy to %s", type);
@@ -4175,7 +4165,7 @@
 			   "Undefined value assigned to typeglob");
 	}
 	else {
-	    GV *gv = gv_fetchsv(sstr, GV_ADD, SVt_PVGV);
+	    GV *gv = gv_fetchsv_nomg(sstr, GV_ADD, SVt_PVGV);
 	    if (dstr != (const SV *)gv) {
 		const char * const name = GvNAME((const GV *)dstr);
 		const STRLEN len = GvNAMELEN(dstr);
@@ -4211,11 +4201,14 @@
 	    }
 	}
     }
-    else if (dtype == SVt_REGEXP && stype == SVt_REGEXP) {
+    else if ((dtype == SVt_REGEXP || dtype == SVt_PVLV)
+	  && (stype == SVt_REGEXP || isREGEXP(sstr))) {
 	reg_temp_copy((REGEXP*)dstr, (REGEXP*)sstr);
     }
     else if (sflags & SVp_POK) {
         bool isSwipe = 0;
+	const STRLEN cur = SvCUR(sstr);
+	const STRLEN len = SvLEN(sstr);
 
 	/*
 	 * Check to see if we can just swipe the string.  If so, it's a
@@ -4238,13 +4231,20 @@
 	       shared hash keys then we don't do the COW setup, even if the
 	       source scalar is a shared hash key scalar.  */
             (((flags & SV_COW_SHARED_HASH_KEYS)
-	       ? (sflags & (SVf_FAKE|SVf_READONLY)) != (SVf_FAKE|SVf_READONLY)
+	       ? !(sflags & SVf_IsCOW)
+#ifdef PERL_NEW_COPY_ON_WRITE
+		|| (len &&
+		    ((!GE_COWBUF_THRESHOLD(cur) && SvLEN(dstr) > cur)
+		   /* If this is a regular (non-hek) COW, only so many COW
+		      "copies" are possible. */
+		    || CowREFCNT(sstr) == SV_COW_REFCNT_MAX))
+#endif
 	       : 1 /* If making a COW copy is forbidden then the behaviour we
 		       desire is as if the source SV isn't actually already
 		       COW, even if it is.  So we act as if the source flags
 		       are not COW, rather than actually testing them.  */
 	      )
-#ifndef PERL_OLD_COPY_ON_WRITE
+#ifndef PERL_ANY_COW
 	     /* The change that added SV_COW_SHARED_HASH_KEYS makes the logic
 		when PERL_OLD_COPY_ON_WRITE is defined a little wrong.
 		Conceptually PERL_OLD_COPY_ON_WRITE being defined should
@@ -4254,31 +4254,43 @@
 		in a newer implementation.  */
 	     /* If we are COW and dstr is a suitable target then we drop down
 		into the else and make dest a COW of us.  */
-	     || (SvFLAGS(dstr) & CAN_COW_MASK) != CAN_COW_FLAGS
+	     || (SvFLAGS(dstr) & SVf_BREAK)
 #endif
 	     )
             &&
             !(isSwipe =
+#ifdef PERL_NEW_COPY_ON_WRITE
+				/* slated for free anyway (and not COW)? */
+                 (sflags & (SVs_TEMP|SVf_IsCOW)) == SVs_TEMP &&
+#else
                  (sflags & SVs_TEMP) &&   /* slated for free anyway? */
+#endif
                  !(sflags & SVf_OOK) &&   /* and not involved in OOK hack? */
 	         (!(flags & SV_NOSTEAL)) &&
 					/* and we're allowed to steal temps */
                  SvREFCNT(sstr) == 1 &&   /* and no other references to it? */
-                 SvLEN(sstr))             /* and really is a string */
-#ifdef PERL_OLD_COPY_ON_WRITE
+                 len)             /* and really is a string */
+#ifdef PERL_ANY_COW
             && ((flags & SV_COW_SHARED_HASH_KEYS)
 		? (!((sflags & CAN_COW_MASK) == CAN_COW_FLAGS
+# ifdef PERL_OLD_COPY_ON_WRITE
 		     && (SvFLAGS(dstr) & CAN_COW_MASK) == CAN_COW_FLAGS
-		     && SvTYPE(sstr) >= SVt_PVIV && SvTYPE(sstr) != SVt_PVFM))
+		     && SvTYPE(sstr) >= SVt_PVIV
+# else
+		     && !(SvFLAGS(dstr) & SVf_BREAK)
+		     && !(sflags & SVf_IsCOW)
+		     && GE_COW_THRESHOLD(cur) && cur+1 < len
+		     && (GE_COWBUF_THRESHOLD(cur) || SvLEN(dstr) < cur+1)
+# endif
+		    ))
 		: 1)
 #endif
             ) {
             /* Failed the swipe test, and it's not a shared hash key either.
                Have to copy the string.  */
-	    STRLEN len = SvCUR(sstr);
-            SvGROW(dstr, len + 1);	/* inlined from sv_setpvn */
-            Move(SvPVX_const(sstr),SvPVX(dstr),len,char);
-            SvCUR_set(dstr, len);
+            SvGROW(dstr, cur + 1);	/* inlined from sv_setpvn */
+            Move(SvPVX_const(sstr),SvPVX(dstr),cur,char);
+            SvCUR_set(dstr, cur);
             *SvEND(dstr) = '\0';
         } else {
             /* If PERL_OLD_COPY_ON_WRITE is not defined, then isSwipe will always
@@ -4290,15 +4302,17 @@
                 sv_dump(sstr);
                 sv_dump(dstr);
             }
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
             if (!isSwipe) {
-                if ((sflags & (SVf_FAKE | SVf_READONLY))
-                    != (SVf_FAKE | SVf_READONLY)) {
-                    SvREADONLY_on(sstr);
-                    SvFAKE_on(sstr);
+                if (!(sflags & SVf_IsCOW)) {
+                    SvIsCOW_on(sstr);
+# ifdef PERL_OLD_COPY_ON_WRITE
                     /* Make the source SV into a loop of 1.
                        (about to become 2) */
                     SV_COW_NEXT_SV_SET(sstr, sstr);
+# else
+		    CowREFCNT(sstr) = 0;
+# endif
                 }
             }
 #endif
@@ -4309,15 +4323,17 @@
 
             if (!isSwipe) {
                 /* making another shared SV.  */
-                STRLEN cur = SvCUR(sstr);
-                STRLEN len = SvLEN(sstr);
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
                 if (len) {
+# ifdef PERL_OLD_COPY_ON_WRITE
 		    assert (SvTYPE(dstr) >= SVt_PVIV);
                     /* SvIsCOW_normal */
                     /* splice us in between source and next-after-source.  */
                     SV_COW_NEXT_SV_SET(dstr, SV_COW_NEXT_SV(sstr));
                     SV_COW_NEXT_SV_SET(sstr, dstr);
+# else
+		    CowREFCNT(sstr)++;
+# endif
                     SvPV_set(dstr, SvPVX_mutable(sstr));
                 } else
 #endif
@@ -4332,8 +4348,7 @@
 		}
                 SvLEN_set(dstr, len);
                 SvCUR_set(dstr, cur);
-                SvREADONLY_on(dstr);
-                SvFAKE_on(dstr);
+                SvIsCOW_on(dstr);
             }
             else
                 {	/* Passes the swipe test.  */
@@ -4382,15 +4397,7 @@
     }
     else {
 	if (isGV_with_GP(sstr)) {
-	    /* This stringification rule for globs is spread in 3 places.
-	       This feels bad. FIXME.  */
-	    const U32 wasfake = sflags & SVf_FAKE;
-
-	    /* FAKE globs can get coerced, so need to turn this off
-	       temporarily if it is on.  */
-	    SvFAKE_off(sstr);
 	    gv_efullname3(dstr, MUTABLE_GV(sstr), "*");
-	    SvFLAGS(sstr) |= wasfake;
 	}
 	else
 	    (void)SvOK_off(dstr);
@@ -4408,7 +4415,7 @@
 */
 
 void
-Perl_sv_setsv_mg(pTHX_ SV *const dstr, register SV *const sstr)
+Perl_sv_setsv_mg(pTHX_ SV *const dstr, SV *const sstr)
 {
     PERL_ARGS_ASSERT_SV_SETSV_MG;
 
@@ -4416,13 +4423,18 @@
     SvSETMAGIC(dstr);
 }
 
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
+# ifdef PERL_OLD_COPY_ON_WRITE
+#  define SVt_COW SVt_PVIV
+# else
+#  define SVt_COW SVt_PV
+# endif
 SV *
 Perl_sv_setsv_cow(pTHX_ SV *dstr, SV *sstr)
 {
     STRLEN cur = SvCUR(sstr);
     STRLEN len = SvLEN(sstr);
-    register char *new_pv;
+    char *new_pv;
 
     PERL_ARGS_ASSERT_SV_SETSV_COW;
 
@@ -4438,18 +4450,20 @@
 	if (SvTHINKFIRST(dstr))
 	    sv_force_normal_flags(dstr, SV_COW_DROP_PV);
 	else if (SvPVX_const(dstr))
-	    Safefree(SvPVX_const(dstr));
+	    Safefree(SvPVX_mutable(dstr));
     }
     else
 	new_SV(dstr);
-    SvUPGRADE(dstr, SVt_PVIV);
+    SvUPGRADE(dstr, SVt_COW);
 
     assert (SvPOK(sstr));
     assert (SvPOKp(sstr));
+# ifdef PERL_OLD_COPY_ON_WRITE
     assert (!SvIOK(sstr));
     assert (!SvIOKp(sstr));
     assert (!SvNOK(sstr));
     assert (!SvNOKp(sstr));
+# endif
 
     if (SvIsCOW(sstr)) {
 
@@ -4460,22 +4474,34 @@
 	    new_pv = HEK_KEY(share_hek_hek(SvSHARED_HEK_FROM_PV(SvPVX_const(sstr))));
 	    goto common_exit;
 	}
+# ifdef PERL_OLD_COPY_ON_WRITE
 	SV_COW_NEXT_SV_SET(dstr, SV_COW_NEXT_SV(sstr));
+# else
+	assert(SvCUR(sstr)+1 < SvLEN(sstr));
+	assert(CowREFCNT(sstr) < SV_COW_REFCNT_MAX);
+# endif
     } else {
 	assert ((SvFLAGS(sstr) & CAN_COW_MASK) == CAN_COW_FLAGS);
-	SvUPGRADE(sstr, SVt_PVIV);
-	SvREADONLY_on(sstr);
-	SvFAKE_on(sstr);
+	SvUPGRADE(sstr, SVt_COW);
+	SvIsCOW_on(sstr);
 	DEBUG_C(PerlIO_printf(Perl_debug_log,
 			      "Fast copy on write: Converting sstr to COW\n"));
+# ifdef PERL_OLD_COPY_ON_WRITE
 	SV_COW_NEXT_SV_SET(dstr, sstr);
+# else
+	CowREFCNT(sstr) = 0;	
+# endif
     }
+# ifdef PERL_OLD_COPY_ON_WRITE
     SV_COW_NEXT_SV_SET(sstr, dstr);
+# else
+    CowREFCNT(sstr)++;	
+# endif
     new_pv = SvPVX_mutable(sstr);
 
   common_exit:
     SvPV_set(dstr, new_pv);
-    SvFLAGS(dstr) = (SVt_PVIV|SVf_POK|SVp_POK|SVf_FAKE|SVf_READONLY);
+    SvFLAGS(dstr) = (SVt_COW|SVf_POK|SVp_POK|SVf_IsCOW);
     if (SvUTF8(sstr))
 	SvUTF8_on(dstr);
     SvLEN_set(dstr, len);
@@ -4498,10 +4524,10 @@
 */
 
 void
-Perl_sv_setpvn(pTHX_ register SV *const sv, register const char *const ptr, register const STRLEN len)
+Perl_sv_setpvn(pTHX_ SV *const sv, const char *const ptr, const STRLEN len)
 {
     dVAR;
-    register char *dptr;
+    char *dptr;
 
     PERL_ARGS_ASSERT_SV_SETPVN;
 
@@ -4514,7 +4540,8 @@
         /* len is STRLEN which is unsigned, need to copy to signed */
 	const IV iv = len;
 	if (iv < 0)
-	    Perl_croak(aTHX_ "panic: sv_setpvn called with negative strlen");
+	    Perl_croak(aTHX_ "panic: sv_setpvn called with negative strlen %"
+		       IVdf, iv);
     }
     SvUPGRADE(sv, SVt_PV);
 
@@ -4524,6 +4551,7 @@
     SvCUR_set(sv, len);
     (void)SvPOK_only_UTF8(sv);		/* validate pointer */
     SvTAINT(sv);
+    if (SvTYPE(sv) == SVt_PVCV) CvAUTOLOAD_off(sv);
 }
 
 /*
@@ -4535,7 +4563,7 @@
 */
 
 void
-Perl_sv_setpvn_mg(pTHX_ register SV *const sv, register const char *const ptr, register const STRLEN len)
+Perl_sv_setpvn_mg(pTHX_ SV *const sv, const char *const ptr, const STRLEN len)
 {
     PERL_ARGS_ASSERT_SV_SETPVN_MG;
 
@@ -4553,10 +4581,10 @@
 */
 
 void
-Perl_sv_setpv(pTHX_ register SV *const sv, register const char *const ptr)
+Perl_sv_setpv(pTHX_ SV *const sv, const char *const ptr)
 {
     dVAR;
-    register STRLEN len;
+    STRLEN len;
 
     PERL_ARGS_ASSERT_SV_SETPV;
 
@@ -4573,6 +4601,7 @@
     SvCUR_set(sv, len);
     (void)SvPOK_only_UTF8(sv);		/* validate pointer */
     SvTAINT(sv);
+    if (SvTYPE(sv) == SVt_PVCV) CvAUTOLOAD_off(sv);
 }
 
 /*
@@ -4584,7 +4613,7 @@
 */
 
 void
-Perl_sv_setpv_mg(pTHX_ register SV *const sv, register const char *const ptr)
+Perl_sv_setpv_mg(pTHX_ SV *const sv, const char *const ptr)
 {
     PERL_ARGS_ASSERT_SV_SETPV_MG;
 
@@ -4592,6 +4621,53 @@
     SvSETMAGIC(sv);
 }
 
+void
+Perl_sv_sethek(pTHX_ SV *const sv, const HEK *const hek)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT_SV_SETHEK;
+
+    if (!hek) {
+	return;
+    }
+
+    if (HEK_LEN(hek) == HEf_SVKEY) {
+	sv_setsv(sv, *(SV**)HEK_KEY(hek));
+        return;
+    } else {
+	const int flags = HEK_FLAGS(hek);
+	if (flags & HVhek_WASUTF8) {
+	    STRLEN utf8_len = HEK_LEN(hek);
+	    char *as_utf8 = (char *)bytes_to_utf8((U8*)HEK_KEY(hek), &utf8_len);
+	    sv_usepvn_flags(sv, as_utf8, utf8_len, SV_HAS_TRAILING_NUL);
+	    SvUTF8_on(sv);
+            return;
+        } else if (flags & HVhek_UNSHARED) {
+	    sv_setpvn(sv, HEK_KEY(hek), HEK_LEN(hek));
+	    if (HEK_UTF8(hek))
+		SvUTF8_on(sv);
+	    else SvUTF8_off(sv);
+            return;
+	}
+        {
+	    SV_CHECK_THINKFIRST_COW_DROP(sv);
+	    SvUPGRADE(sv, SVt_PV);
+	    Safefree(SvPVX(sv));
+	    SvPV_set(sv,(char *)HEK_KEY(share_hek_hek(hek)));
+	    SvCUR_set(sv, HEK_LEN(hek));
+	    SvLEN_set(sv, 0);
+	    SvIsCOW_on(sv);
+	    SvPOK_on(sv);
+	    if (HEK_UTF8(hek))
+		SvUTF8_on(sv);
+	    else SvUTF8_off(sv);
+            return;
+	}
+    }
+}
+
+
 /*
 =for apidoc sv_usepvn_flags
 
@@ -4598,16 +4674,18 @@
 Tells an SV to use C<ptr> to find its string value.  Normally the
 string is stored inside the SV but sv_usepvn allows the SV to use an
 outside string.  The C<ptr> should point to memory that was allocated
-by C<malloc>.  The string length, C<len>, must be supplied.  By default
+by C<malloc>.  It must be the start of a mallocked block
+of memory, and not a pointer to the middle of it.  The
+string length, C<len>, must be supplied.  By default
 this function will realloc (i.e. move) the memory pointed to by C<ptr>,
 so that pointer should not be freed or used by the programmer after
 giving it to sv_usepvn, and neither should any pointers from "behind"
 that pointer (e.g. ptr + 1) be used.
 
-If C<flags> & SV_SMAGIC is true, will call SvSETMAGIC. If C<flags> &
+If C<flags> & SV_SMAGIC is true, will call SvSETMAGIC.  If C<flags> &
 SV_HAS_TRAILING_NUL is true, then C<ptr[len]> must be NUL, and the realloc
-will be skipped. (i.e. the buffer is actually at least 1 byte longer than
-C<len>, and already meets the requirements for storing in C<SvPVX>)
+will be skipped (i.e. the buffer is actually at least 1 byte longer than
+C<len>, and already meets the requirements for storing in C<SvPVX>).
 
 =cut
 */
@@ -4681,7 +4759,7 @@
    (which it can do by means other than releasing copy-on-write Svs)
    or by changing the other copy-on-write SVs in the loop.  */
 STATIC void
-S_sv_release_COW(pTHX_ register SV *sv, const char *pvx, SV *after)
+S_sv_release_COW(pTHX_ SV *sv, const char *pvx, SV *after)
 {
     PERL_ARGS_ASSERT_SV_RELEASE_COW;
 
@@ -4693,8 +4771,7 @@
             /* The SV we point to points back to us (there were only two of us
                in the loop.)
                Hence other SV is no longer copy on write either.  */
-            SvFAKE_off(after);
-            SvREADONLY_off(after);
+            SvIsCOW_off(after);
         } else {
             /* We need to follow the pointers around the loop.  */
             SV *next;
@@ -4715,14 +4792,17 @@
 /*
 =for apidoc sv_force_normal_flags
 
-Undo various types of fakery on an SV: if the PV is a shared string, make
+Undo various types of fakery on an SV, where fakery means
+"more than" a string: if the PV is a shared string, make
 a private copy; if we're a ref, stop refing; if we're a glob, downgrade to
 an xpvmg; if we're a copy-on-write scalar, this is the on-write time when
-we do the copy, and is also used locally. If C<SV_COW_DROP_PV> is set
+we do the copy, and is also used locally; if this is a
+vstring, drop the vstring magic.  If C<SV_COW_DROP_PV> is set
 then a copy-on-write scalar drops its PV buffer (if any) and becomes
-SvPOK_off rather than making a copy. (Used where this scalar is about to be
-set to some other value.) In addition, the C<flags> parameter gets passed to
-C<sv_unref_flags()> when unreffing. C<sv_force_normal> calls this function
+SvPOK_off rather than making a copy.  (Used where this
+scalar is about to be set to some other value.)  In addition,
+the C<flags> parameter gets passed to C<sv_unref_flags()>
+when unreffing.  C<sv_force_normal> calls this function
 with flags set to 0.
 
 =cut
@@ -4729,32 +4809,48 @@
 */
 
 void
-Perl_sv_force_normal_flags(pTHX_ register SV *const sv, const U32 flags)
+Perl_sv_force_normal_flags(pTHX_ SV *const sv, const U32 flags)
 {
     dVAR;
 
     PERL_ARGS_ASSERT_SV_FORCE_NORMAL_FLAGS;
 
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
     if (SvREADONLY(sv)) {
-	if (SvFAKE(sv)) {
-	    const char * const pvx = SvPVX_const(sv);
-	    const STRLEN len = SvLEN(sv);
-	    const STRLEN cur = SvCUR(sv);
-	    /* next COW sv in the loop.  If len is 0 then this is a shared-hash
-	       key scalar, so we mustn't attempt to call SV_COW_NEXT_SV(), as
-	       we'll fail an assertion.  */
-	    SV * const next = len ? SV_COW_NEXT_SV(sv) : 0;
+	if (IN_PERL_RUNTIME)
+	    Perl_croak_no_modify();
+    }
+    else if (SvIsCOW(sv)) {
+	const char * const pvx = SvPVX_const(sv);
+	const STRLEN len = SvLEN(sv);
+	const STRLEN cur = SvCUR(sv);
+# ifdef PERL_OLD_COPY_ON_WRITE
+	/* next COW sv in the loop.  If len is 0 then this is a shared-hash
+	   key scalar, so we mustn't attempt to call SV_COW_NEXT_SV(), as
+	   we'll fail an assertion.  */
+	SV * const next = len ? SV_COW_NEXT_SV(sv) : 0;
+# endif
 
-            if (DEBUG_C_TEST) {
+        if (DEBUG_C_TEST) {
                 PerlIO_printf(Perl_debug_log,
                               "Copy on write: Force normal %ld\n",
                               (long) flags);
                 sv_dump(sv);
-            }
-            SvFAKE_off(sv);
-            SvREADONLY_off(sv);
+        }
+        SvIsCOW_off(sv);
+# ifdef PERL_NEW_COPY_ON_WRITE
+	if (len && CowREFCNT(sv) == 0)
+	    /* We own the buffer ourselves. */
+	    NOOP;
+	else
+# endif
+	{
+		
             /* This SV doesn't own the buffer, so need to Newx() a new one:  */
+# ifdef PERL_NEW_COPY_ON_WRITE
+	    /* Must do this first, since the macro uses SvPVX. */
+	    if (len) CowREFCNT(sv)--;
+# endif
             SvPV_set(sv, NULL);
             SvLEN_set(sv, 0);
             if (flags & SV_COW_DROP_PV) {
@@ -4767,7 +4863,9 @@
                 *SvEND(sv) = '\0';
             }
 	    if (len) {
+# ifdef PERL_OLD_COPY_ON_WRITE
 		sv_release_COW(sv, pvx, next);
+# endif
 	    } else {
 		unshare_hek(SvSHARED_HEK_FROM_PV(pvx));
 	    }
@@ -4775,37 +4873,42 @@
                 sv_dump(sv);
             }
 	}
-	else if (IN_PERL_RUNTIME)
-	    Perl_croak_no_modify(aTHX);
     }
 #else
     if (SvREADONLY(sv)) {
-	if (SvFAKE(sv) && !isGV_with_GP(sv)) {
+	if (IN_PERL_RUNTIME)
+	    Perl_croak_no_modify();
+    }
+    else
+	if (SvIsCOW(sv)) {
 	    const char * const pvx = SvPVX_const(sv);
 	    const STRLEN len = SvCUR(sv);
-	    SvFAKE_off(sv);
-	    SvREADONLY_off(sv);
+	    SvIsCOW_off(sv);
 	    SvPV_set(sv, NULL);
 	    SvLEN_set(sv, 0);
-	    SvGROW(sv, len + 1);
-	    Move(pvx,SvPVX(sv),len,char);
-	    *SvEND(sv) = '\0';
+	    if (flags & SV_COW_DROP_PV) {
+		/* OK, so we don't need to copy our buffer.  */
+		SvPOK_off(sv);
+	    } else {
+		SvGROW(sv, len + 1);
+		Move(pvx,SvPVX(sv),len,char);
+		*SvEND(sv) = '\0';
+	    }
 	    unshare_hek(SvSHARED_HEK_FROM_PV(pvx));
 	}
-	else if (IN_PERL_RUNTIME)
-	    Perl_croak_no_modify(aTHX);
-    }
 #endif
     if (SvROK(sv))
 	sv_unref_flags(sv, flags);
     else if (SvFAKE(sv) && isGV_with_GP(sv))
-	sv_unglob(sv);
-    else if (SvFAKE(sv) && SvTYPE(sv) == SVt_REGEXP) {
+	sv_unglob(sv, flags);
+    else if (SvFAKE(sv) && isREGEXP(sv)) {
 	/* Need to downgrade the REGEXP to a simple(r) scalar. This is analogous
 	   to sv_unglob. We only need it here, so inline it.  */
-	const svtype new_type = SvMAGIC(sv) || SvSTASH(sv) ? SVt_PVMG : SVt_PV;
+	const bool islv = SvTYPE(sv) == SVt_PVLV;
+	const svtype new_type =
+	  islv ? SVt_NULL : SvMAGIC(sv) || SvSTASH(sv) ? SVt_PVMG : SVt_PV;
 	SV *const temp = newSV_type(new_type);
-	void *const temp_p = SvANY(sv);
+	regexp *const temp_p = ReANY((REGEXP *)sv);
 
 	if (new_type == SVt_PVMG) {
 	    SvMAGIC_set(temp, SvMAGIC(sv));
@@ -4813,32 +4916,41 @@
 	    SvSTASH_set(temp, SvSTASH(sv));
 	    SvSTASH_set(sv, NULL);
 	}
-	SvCUR_set(temp, SvCUR(sv));
-	/* Remember that SvPVX is in the head, not the body. */
-	if (SvLEN(temp)) {
-	    SvLEN_set(temp, SvLEN(sv));
-	    /* This signals "buffer is owned by someone else" in sv_clear,
-	       which is the least effort way to stop it freeing the buffer.
-	    */
-	    SvLEN_set(sv, SvLEN(sv)+1);
-	} else {
-	    /* Their buffer is already owned by someone else. */
-	    SvPVX(sv) = savepvn(SvPVX(sv), SvCUR(sv));
-	    SvLEN_set(temp, SvCUR(sv)+1);
+	if (!islv) SvCUR_set(temp, SvCUR(sv));
+	/* Remember that SvPVX is in the head, not the body.  But
+	   RX_WRAPPED is in the body. */
+	assert(ReANY((REGEXP *)sv)->mother_re);
+	/* Their buffer is already owned by someone else. */
+	if (flags & SV_COW_DROP_PV) {
+	    /* SvLEN is already 0.  For SVt_REGEXP, we have a brand new
+	       zeroed body.  For SVt_PVLV, it should have been set to 0
+	       before turning into a regexp. */
+	    assert(!SvLEN(islv ? sv : temp));
+	    sv->sv_u.svu_pv = 0;
 	}
+	else {
+	    sv->sv_u.svu_pv = savepvn(RX_WRAPPED((REGEXP *)sv), SvCUR(sv));
+	    SvLEN_set(islv ? sv : temp, SvCUR(sv)+1);
+	    SvPOK_on(sv);
+	}
 
 	/* Now swap the rest of the bodies. */
 
-	SvFLAGS(sv) &= ~(SVf_FAKE|SVTYPEMASK);
-	SvFLAGS(sv) |= new_type;
-	SvANY(sv) = SvANY(temp);
+	SvFAKE_off(sv);
+	if (!islv) {
+	    SvFLAGS(sv) &= ~SVTYPEMASK;
+	    SvFLAGS(sv) |= new_type;
+	    SvANY(sv) = SvANY(temp);
+	}
 
 	SvFLAGS(temp) &= ~(SVTYPEMASK);
 	SvFLAGS(temp) |= SVt_REGEXP|SVf_FAKE;
 	SvANY(temp) = temp_p;
+	temp->sv_u.svu_rx = (regexp *)temp_p;
 
-	SvREFCNT_dec(temp);
+	SvREFCNT_dec_NN(temp);
     }
+    else if (SvVOK(sv)) sv_unmagic(sv, PERL_MAGIC_vstring);
 }
 
 /*
@@ -4845,23 +4957,30 @@
 =for apidoc sv_chop
 
 Efficient removal of characters from the beginning of the string buffer.
-SvPOK(sv) must be true and the C<ptr> must be a pointer to somewhere inside
-the string buffer.  The C<ptr> becomes the first character of the adjusted
-string. Uses the "OOK hack".
+SvPOK(sv), or at least SvPOKp(sv), must be true and the C<ptr> must be a
+pointer to somewhere inside the string buffer.  The C<ptr> becomes the first
+character of the adjusted string.  Uses the "OOK hack".  On return, only
+SvPOK(sv) and SvPOKp(sv) among the OK flags will be true.
+
 Beware: after this function returns, C<ptr> and SvPVX_const(sv) may no longer
 refer to the same chunk of data.
 
+The unfortunate similarity of this function's name to that of Perl's C<chop>
+operator is strictly coincidental.  This function works from the left;
+C<chop> works from the right.
+
 =cut
 */
 
 void
-Perl_sv_chop(pTHX_ register SV *const sv, register const char *const ptr)
+Perl_sv_chop(pTHX_ SV *const sv, const char *const ptr)
 {
     STRLEN delta;
     STRLEN old_delta;
     U8 *p;
 #ifdef DEBUGGING
-    const U8 *real_start;
+    const U8 *evacp;
+    STRLEN evacn;
 #endif
     STRLEN max_delta;
 
@@ -4874,17 +4993,13 @@
 	/* Nothing to do.  */
 	return;
     }
-    /* SvPVX(sv) may move in SV_CHECK_THINKFIRST(sv), but after this line,
-       nothing uses the value of ptr any more.  */
     max_delta = SvLEN(sv) ? SvLEN(sv) : SvCUR(sv);
-    if (ptr <= SvPVX_const(sv))
+    if (delta > max_delta)
 	Perl_croak(aTHX_ "panic: sv_chop ptr=%p, start=%p, end=%p",
 		   ptr, SvPVX_const(sv), SvPVX_const(sv) + max_delta);
+    /* SvPVX(sv) may move in SV_CHECK_THINKFIRST(sv), so don't use ptr any more */
     SV_CHECK_THINKFIRST(sv);
-    if (delta > max_delta)
-	Perl_croak(aTHX_ "panic: sv_chop ptr=%p (was %p), start=%p, end=%p",
-		   SvPVX_const(sv) + delta, ptr, SvPVX_const(sv),
-		   SvPVX_const(sv) + max_delta);
+    SvPOK_only_UTF8(sv);
 
     if (!SvOOK(sv)) {
 	if (!SvLEN(sv)) { /* make copy of shared string */
@@ -4894,7 +5009,7 @@
 	    Move(pvx,SvPVX(sv),len,char);
 	    *SvEND(sv) = '\0';
 	}
-	SvFLAGS(sv) |= SVf_OOK;
+	SvOOK_on(sv);
 	old_delta = 0;
     } else {
 	SvOOK_offset(sv, old_delta);
@@ -4905,12 +5020,18 @@
 
     p = (U8 *)SvPVX_const(sv);
 
-    delta += old_delta;
-
 #ifdef DEBUGGING
-    real_start = p - delta;
+    /* how many bytes were evacuated?  we will fill them with sentinel
+       bytes, except for the part holding the new offset of course. */
+    evacn = delta;
+    if (old_delta)
+	evacn += (old_delta < 0x100 ? 1 : 1 + sizeof(STRLEN));
+    assert(evacn);
+    assert(evacn <= delta + old_delta);
+    evacp = p - evacn;
 #endif
 
+    delta += old_delta;
     assert(delta);
     if (delta < 0x100) {
 	*--p = (U8) delta;
@@ -4923,7 +5044,7 @@
 #ifdef DEBUGGING
     /* Fill the preceding buffer with sentinals to verify that no-one is
        using it.  */
-    while (p > real_start) {
+    while (p > evacp) {
 	--p;
 	*p = (U8)PTR2UV(p);
     }
@@ -4943,8 +5064,9 @@
 Concatenates the string onto the end of the string which is in the SV.  The
 C<len> indicates number of bytes to copy.  If the SV has the UTF-8
 status set, then the bytes appended should be valid UTF-8.
-If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get> on C<dsv> if
-appropriate, else not. C<sv_catpvn> and C<sv_catpvn_nomg> are implemented
+If C<flags> has the C<SV_SMAGIC> bit set, will
+C<mg_set> on C<dsv> afterwards if appropriate.
+C<sv_catpvn> and C<sv_catpvn_nomg> are implemented
 in terms of this function.
 
 =cut
@@ -4951,7 +5073,7 @@
 */
 
 void
-Perl_sv_catpvn_flags(pTHX_ register SV *const dsv, register const char *sstr, register const STRLEN slen, const I32 flags)
+Perl_sv_catpvn_flags(pTHX_ SV *const dsv, const char *sstr, const STRLEN slen, const I32 flags)
 {
     dVAR;
     STRLEN dlen;
@@ -4958,12 +5080,43 @@
     const char * const dstr = SvPV_force_flags(dsv, dlen, flags);
 
     PERL_ARGS_ASSERT_SV_CATPVN_FLAGS;
+    assert((flags & (SV_CATBYTES|SV_CATUTF8)) != (SV_CATBYTES|SV_CATUTF8));
 
-    SvGROW(dsv, dlen + slen + 1);
-    if (sstr == dstr)
+    if (!(flags & SV_CATBYTES) || !SvUTF8(dsv)) {
+      if (flags & SV_CATUTF8 && !SvUTF8(dsv)) {
+	 sv_utf8_upgrade_flags_grow(dsv, 0, slen + 1);
+	 dlen = SvCUR(dsv);
+      }
+      else SvGROW(dsv, dlen + slen + 1);
+      if (sstr == dstr)
 	sstr = SvPVX_const(dsv);
-    Move(sstr, SvPVX(dsv) + dlen, slen, char);
-    SvCUR_set(dsv, SvCUR(dsv) + slen);
+      Move(sstr, SvPVX(dsv) + dlen, slen, char);
+      SvCUR_set(dsv, SvCUR(dsv) + slen);
+    }
+    else {
+	/* We inline bytes_to_utf8, to avoid an extra malloc. */
+	const char * const send = sstr + slen;
+	U8 *d;
+
+	/* Something this code does not account for, which I think is
+	   impossible; it would require the same pv to be treated as
+	   bytes *and* utf8, which would indicate a bug elsewhere. */
+	assert(sstr != dstr);
+
+	SvGROW(dsv, dlen + slen * 2 + 1);
+	d = (U8 *)SvPVX(dsv) + dlen;
+
+	while (sstr < send) {
+	    const UV uv = NATIVE_TO_ASCII((U8)*sstr++);
+	    if (UNI_IS_INVARIANT(uv))
+		*d++ = (U8)UTF_TO_NATIVE(uv);
+	    else {
+		*d++ = (U8)UTF8_EIGHT_BIT_HI(uv);
+		*d++ = (U8)UTF8_EIGHT_BIT_LO(uv);
+	    }
+	}
+	SvCUR_set(dsv, d-(const U8 *)SvPVX(dsv));
+    }
     *SvEND(dsv) = '\0';
     (void)SvPOK_only_UTF8(dsv);		/* validate pointer */
     SvTAINT(dsv);
@@ -4974,61 +5127,41 @@
 /*
 =for apidoc sv_catsv
 
-Concatenates the string from SV C<ssv> onto the end of the string in
-SV C<dsv>.  Modifies C<dsv> but not C<ssv>.  Handles 'get' magic, but
-not 'set' magic.  See C<sv_catsv_mg>.
+Concatenates the string from SV C<ssv> onto the end of the string in SV
+C<dsv>.  If C<ssv> is null, does nothing; otherwise modifies only C<dsv>.
+Handles 'get' magic on both SVs, but no 'set' magic.  See C<sv_catsv_mg> and
+C<sv_catsv_nomg>.
 
 =for apidoc sv_catsv_flags
 
-Concatenates the string from SV C<ssv> onto the end of the string in
-SV C<dsv>.  Modifies C<dsv> but not C<ssv>.  If C<flags> has C<SV_GMAGIC>
-bit set, will C<mg_get> on the SVs if appropriate, else not. C<sv_catsv>
-and C<sv_catsv_nomg> are implemented in terms of this function.
+Concatenates the string from SV C<ssv> onto the end of the string in SV
+C<dsv>.  If C<ssv> is null, does nothing; otherwise modifies only C<dsv>.
+If C<flags> include C<SV_GMAGIC> bit set, will call C<mg_get> on both SVs if
+appropriate.  If C<flags> include C<SV_SMAGIC>, C<mg_set> will be called on
+the modified SV afterward, if appropriate.  C<sv_catsv>, C<sv_catsv_nomg>,
+and C<sv_catsv_mg> are implemented in terms of this function.
 
 =cut */
 
 void
-Perl_sv_catsv_flags(pTHX_ SV *const dsv, register SV *const ssv, const I32 flags)
+Perl_sv_catsv_flags(pTHX_ SV *const dsv, SV *const ssv, const I32 flags)
 {
     dVAR;
  
     PERL_ARGS_ASSERT_SV_CATSV_FLAGS;
 
-   if (ssv) {
+    if (ssv) {
 	STRLEN slen;
 	const char *spv = SvPV_flags_const(ssv, slen, flags);
 	if (spv) {
-	    /*  sutf8 and dutf8 were type bool, but under USE_ITHREADS,
-		gcc version 2.95.2 20000220 (Debian GNU/Linux) for
-		Linux xxx 2.2.17 on sparc64 with gcc -O2, we erroneously
-		get dutf8 = 0x20000000, (i.e.  SVf_UTF8) even though
-		dsv->sv_flags doesn't have that bit set.
-		Andy Dougherty  12 Oct 2001
-	    */
-	    const I32 sutf8 = DO_UTF8(ssv);
-	    I32 dutf8;
-
-	    if (SvGMAGICAL(dsv) && (flags & SV_GMAGIC))
-		mg_get(dsv);
-	    dutf8 = DO_UTF8(dsv);
-
-	    if (dutf8 != sutf8) {
-		if (dutf8) {
-		    /* Not modifying source SV, so taking a temporary copy. */
-		    SV* const csv = newSVpvn_flags(spv, slen, SVs_TEMP);
-
-		    sv_utf8_upgrade(csv);
-		    spv = SvPV_const(csv, slen);
-		}
-		else
-		    /* Leave enough space for the cat that's about to happen */
-		    sv_utf8_upgrade_flags_grow(dsv, 0, slen);
-	    }
-	    sv_catpvn_nomg(dsv, spv, slen);
-	}
+            if (flags & SV_GMAGIC)
+                SvGETMAGIC(dsv);
+	    sv_catpvn_flags(dsv, spv, slen,
+			    DO_UTF8(ssv) ? SV_CATUTF8 : SV_CATBYTES);
+            if (flags & SV_SMAGIC)
+                SvSETMAGIC(dsv);
+        }
     }
-    if (flags & SV_SMAGIC)
-	SvSETMAGIC(dsv);
 }
 
 /*
@@ -5041,10 +5174,10 @@
 =cut */
 
 void
-Perl_sv_catpv(pTHX_ register SV *const sv, register const char *ptr)
+Perl_sv_catpv(pTHX_ SV *const sv, const char *ptr)
 {
     dVAR;
-    register STRLEN len;
+    STRLEN len;
     STRLEN tlen;
     char *junk;
 
@@ -5068,8 +5201,8 @@
 
 Concatenates the string onto the end of the string which is in the SV.
 If the SV has the UTF-8 status set, then the bytes appended should
-be valid UTF-8.  If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get>
-on the SVs if appropriate, else not.
+be valid UTF-8.  If C<flags> has the C<SV_SMAGIC> bit set, will C<mg_set>
+on the modified SV if appropriate.
 
 =cut
 */
@@ -5090,7 +5223,7 @@
 */
 
 void
-Perl_sv_catpv_mg(pTHX_ register SV *const sv, register const char *const ptr)
+Perl_sv_catpv_mg(pTHX_ SV *const sv, const char *const ptr)
 {
     PERL_ARGS_ASSERT_SV_CATPV_MG;
 
@@ -5109,7 +5242,7 @@
 In 5.9.3, newSV() replaces the older NEWSV() API, and drops the first
 parameter, I<x>, a debug aid which allowed callers to identify themselves.
 This aid has been superseded by a new build option, PERL_MEM_LOG (see
-L<perlhack/PERL_MEM_LOG>).  The older API is still there for use in XS
+L<perlhacktips/PERL_MEM_LOG>).  The older API is still there for use in XS
 modules supporting older perls.
 
 =cut
@@ -5119,7 +5252,7 @@
 Perl_newSV(pTHX_ const STRLEN len)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     new_SV(sv);
     if (len) {
@@ -5131,7 +5264,7 @@
 /*
 =for apidoc sv_magicext
 
-Adds magic to an SV, upgrading it if necessary. Applies the
+Adds magic to an SV, upgrading it if necessary.  Applies the
 supplied vtable and returns a pointer to the magic added.
 
 Note that C<sv_magicext> will allow things that C<sv_magic> will not.
@@ -5216,8 +5349,6 @@
     mg->mg_virtual = (MGVTBL *) vtable;
 
     mg_magical(sv);
-    if (SvGMAGICAL(sv))
-	SvFLAGS(sv) &= ~(SVf_IOK|SVf_NOK|SVf_POK);
     return mg;
 }
 
@@ -5224,8 +5355,9 @@
 /*
 =for apidoc sv_magic
 
-Adds magic to an SV. First upgrades C<sv> to type C<SVt_PVMG> if necessary,
-then adds a new magic item of type C<how> to the head of the magic list.
+Adds magic to an SV.  First upgrades C<sv> to type C<SVt_PVMG> if
+necessary, then adds a new magic item of type C<how> to the head of the
+magic list.
 
 See C<sv_magicext> (which C<sv_magic> now calls) for a description of the
 handling of the C<name> and C<namlen> arguments.
@@ -5237,34 +5369,45 @@
 */
 
 void
-Perl_sv_magic(pTHX_ register SV *const sv, SV *const obj, const int how, 
+Perl_sv_magic(pTHX_ SV *const sv, SV *const obj, const int how,
              const char *const name, const I32 namlen)
 {
     dVAR;
     const MGVTBL *vtable;
     MAGIC* mg;
+    unsigned int flags;
+    unsigned int vtable_index;
 
     PERL_ARGS_ASSERT_SV_MAGIC;
 
-#ifdef PERL_OLD_COPY_ON_WRITE
+    if (how < 0 || (unsigned)how > C_ARRAY_LENGTH(PL_magic_data)
+	|| ((flags = PL_magic_data[how]),
+	    (vtable_index = flags & PERL_MAGIC_VTABLE_MASK)
+	    > magic_vtable_max))
+	Perl_croak(aTHX_ "Don't know how to handle magic of type \\%o", how);
+
+    /* PERL_MAGIC_ext is reserved for use by extensions not perl internals.
+       Useful for attaching extension internal data to perl vars.
+       Note that multiple extensions may clash if magical scalars
+       etc holding private data from one are passed to another. */
+
+    vtable = (vtable_index == magic_vtable_max)
+	? NULL : PL_magic_vtables + vtable_index;
+
+#ifdef PERL_ANY_COW
     if (SvIsCOW(sv))
         sv_force_normal_flags(sv, 0);
 #endif
     if (SvREADONLY(sv)) {
 	if (
-	    /* its okay to attach magic to shared strings; the subsequent
-	     * upgrade to PVMG will unshare the string */
-	    !(SvFAKE(sv) && SvTYPE(sv) < SVt_PVMG)
+	    /* its okay to attach magic to shared strings */
+	    !SvIsCOW(sv)
 
 	    && IN_PERL_RUNTIME
-	    && how != PERL_MAGIC_regex_global
-	    && how != PERL_MAGIC_bm
-	    && how != PERL_MAGIC_fm
-	    && how != PERL_MAGIC_sv
-	    && how != PERL_MAGIC_backref
+	    && !PERL_MAGIC_TYPE_READONLY_ACCEPTABLE(how)
 	   )
 	{
-	    Perl_croak_no_modify(aTHX);
+	    Perl_croak_no_modify();
 	}
     }
     if (SvMAGICAL(sv) || (how == PERL_MAGIC_taint && SvTYPE(sv) >= SVt_PVMG)) {
@@ -5272,138 +5415,12 @@
 	    /* sv_magic() refuses to add a magic of the same 'how' as an
 	       existing one
 	     */
-	    if (how == PERL_MAGIC_taint) {
+	    if (how == PERL_MAGIC_taint)
 		mg->mg_len |= 1;
-		/* Any scalar which already had taint magic on which someone
-		   (erroneously?) did SvIOK_on() or similar will now be
-		   incorrectly sporting public "OK" flags.  */
-		SvFLAGS(sv) &= ~(SVf_IOK|SVf_NOK|SVf_POK);
-	    }
 	    return;
 	}
     }
 
-    switch (how) {
-    case PERL_MAGIC_sv:
-	vtable = &PL_vtbl_sv;
-	break;
-    case PERL_MAGIC_overload:
-        vtable = &PL_vtbl_amagic;
-        break;
-    case PERL_MAGIC_overload_elem:
-        vtable = &PL_vtbl_amagicelem;
-        break;
-    case PERL_MAGIC_overload_table:
-        vtable = &PL_vtbl_ovrld;
-        break;
-    case PERL_MAGIC_bm:
-	vtable = &PL_vtbl_bm;
-	break;
-    case PERL_MAGIC_regdata:
-	vtable = &PL_vtbl_regdata;
-	break;
-    case PERL_MAGIC_regdatum:
-	vtable = &PL_vtbl_regdatum;
-	break;
-    case PERL_MAGIC_env:
-	vtable = &PL_vtbl_env;
-	break;
-    case PERL_MAGIC_fm:
-	vtable = &PL_vtbl_fm;
-	break;
-    case PERL_MAGIC_envelem:
-	vtable = &PL_vtbl_envelem;
-	break;
-    case PERL_MAGIC_regex_global:
-	vtable = &PL_vtbl_mglob;
-	break;
-    case PERL_MAGIC_isa:
-	vtable = &PL_vtbl_isa;
-	break;
-    case PERL_MAGIC_isaelem:
-	vtable = &PL_vtbl_isaelem;
-	break;
-    case PERL_MAGIC_nkeys:
-	vtable = &PL_vtbl_nkeys;
-	break;
-    case PERL_MAGIC_dbfile:
-	vtable = NULL;
-	break;
-    case PERL_MAGIC_dbline:
-	vtable = &PL_vtbl_dbline;
-	break;
-#ifdef USE_LOCALE_COLLATE
-    case PERL_MAGIC_collxfrm:
-        vtable = &PL_vtbl_collxfrm;
-        break;
-#endif /* USE_LOCALE_COLLATE */
-    case PERL_MAGIC_tied:
-	vtable = &PL_vtbl_pack;
-	break;
-    case PERL_MAGIC_tiedelem:
-    case PERL_MAGIC_tiedscalar:
-	vtable = &PL_vtbl_packelem;
-	break;
-    case PERL_MAGIC_qr:
-	vtable = &PL_vtbl_regexp;
-	break;
-    case PERL_MAGIC_sig:
-	vtable = &PL_vtbl_sig;
-	break;
-    case PERL_MAGIC_sigelem:
-	vtable = &PL_vtbl_sigelem;
-	break;
-    case PERL_MAGIC_taint:
-	vtable = &PL_vtbl_taint;
-	break;
-    case PERL_MAGIC_uvar:
-	vtable = &PL_vtbl_uvar;
-	break;
-    case PERL_MAGIC_vec:
-	vtable = &PL_vtbl_vec;
-	break;
-    case PERL_MAGIC_arylen_p:
-    case PERL_MAGIC_rhash:
-    case PERL_MAGIC_symtab:
-    case PERL_MAGIC_vstring:
-    case PERL_MAGIC_checkcall:
-	vtable = NULL;
-	break;
-    case PERL_MAGIC_utf8:
-	vtable = &PL_vtbl_utf8;
-	break;
-    case PERL_MAGIC_substr:
-	vtable = &PL_vtbl_substr;
-	break;
-    case PERL_MAGIC_defelem:
-	vtable = &PL_vtbl_defelem;
-	break;
-    case PERL_MAGIC_arylen:
-	vtable = &PL_vtbl_arylen;
-	break;
-    case PERL_MAGIC_pos:
-	vtable = &PL_vtbl_pos;
-	break;
-    case PERL_MAGIC_backref:
-	vtable = &PL_vtbl_backref;
-	break;
-    case PERL_MAGIC_hintselem:
-	vtable = &PL_vtbl_hintselem;
-	break;
-    case PERL_MAGIC_hints:
-	vtable = &PL_vtbl_hints;
-	break;
-    case PERL_MAGIC_ext:
-	/* Reserved for use by extensions not perl internals.	        */
-	/* Useful for attaching extension internal data to perl vars.	*/
-	/* Note that multiple extensions may clash if magical scalars	*/
-	/* etc holding private data from one are passed to another.	*/
-	vtable = NULL;
-	break;
-    default:
-	Perl_croak(aTHX_ "Don't know how to handle magic of type \\%o", how);
-    }
-
     /* Rest of work is done else where */
     mg = sv_magicext(sv,obj,how,vtable,name,namlen);
 
@@ -5418,7 +5435,7 @@
     }
 }
 
-int
+static int
 S_sv_unmagicext_flags(pTHX_ SV *const sv, const int type, MGVTBL *vtbl, const U32 flags)
 {
     MAGIC* mg;
@@ -5497,7 +5514,7 @@
 Weaken a reference: set the C<SvWEAKREF> flag on this RV; give the
 referred-to SV C<PERL_MAGIC_backref> magic if it hasn't already; and
 push a back-reference to this RV onto the array of backreferences
-associated with that magic. If the RV is magical, set magic will be
+associated with that magic.  If the RV is magical, set magic will be
 called after the RV is cleared.
 
 =cut
@@ -5518,10 +5535,11 @@
 	Perl_ck_warner(aTHX_ packWARN(WARN_MISC), "Reference is already weak");
 	return sv;
     }
+    else if (SvREADONLY(sv)) croak_no_modify();
     tsv = SvRV(sv);
     Perl_sv_add_backref(aTHX_ tsv, sv);
     SvWEAKREF_on(sv);
-    SvREFCNT_dec(tsv);
+    SvREFCNT_dec_NN(tsv);
     return sv;
 }
 
@@ -5532,16 +5550,13 @@
  * store it directly in the HvAUX or mg_obj slot, avoiding the need to
  * allocate an AV. (Whether the slot holds an AV tells us whether this is
  * active.)
- *
- * If an HV's backref is stored in magic, it is moved back to HvAUX.
  */
 
 /* A discussion about the backreferences array and its refcount:
  *
  * The AV holding the backreferences is pointed to either as the mg_obj of
- * PERL_MAGIC_backref, or in the specific case of a HV that has the hv_aux
- * structure, from the xhv_backreferences field. (A HV without hv_aux will
- * have the standard magic instead.) The array is created with a refcount
+ * PERL_MAGIC_backref, or in the specific case of a HV, from the
+ * xhv_backreferences field. The array is created with a refcount
  * of 2. This means that if during global destruction the array gets
  * picked on before its parent to have its refcount decremented by the
  * random zapper, it won't actually be freed, meaning it's still there for
@@ -5569,21 +5584,6 @@
 
     if (SvTYPE(tsv) == SVt_PVHV) {
 	svp = (SV**)Perl_hv_backreferences_p(aTHX_ MUTABLE_HV(tsv));
-
-	if (!*svp) {
-	    if ((mg = mg_find(tsv, PERL_MAGIC_backref))) {
-		/* Aha. They've got it stowed in magic instead.
-		 * Move it back to xhv_backreferences */
-		*svp = mg->mg_obj;
-		/* Stop mg_free decreasing the reference count.  */
-		mg->mg_obj = NULL;
-		/* Stop mg_free even calling the destructor, given that
-		   there's no AV to free up.  */
-		mg->mg_virtual = 0;
-		sv_unmagic(tsv, PERL_MAGIC_backref);
-		mg = NULL;
-	    }
-	}
     } else {
 	if (! ((mg =
 	    (SvMAGICAL(tsv) ? mg_find(tsv, PERL_MAGIC_backref) : NULL))))
@@ -5641,17 +5641,52 @@
 
     PERL_ARGS_ASSERT_SV_DEL_BACKREF;
 
-    if (SvTYPE(tsv) == SVt_PVHV && SvOOK(tsv)) {
-	svp = (SV**)Perl_hv_backreferences_p(aTHX_ MUTABLE_HV(tsv));
+    if (SvTYPE(tsv) == SVt_PVHV) {
+	if (SvOOK(tsv))
+	    svp = (SV**)Perl_hv_backreferences_p(aTHX_ MUTABLE_HV(tsv));
     }
-    if (!svp || !*svp) {
+    else if (SvIS_FREED(tsv) && PL_phase == PERL_PHASE_DESTRUCT) {
+	/* It's possible for the the last (strong) reference to tsv to have
+	   become freed *before* the last thing holding a weak reference.
+	   If both survive longer than the backreferences array, then when
+	   the referent's reference count drops to 0 and it is freed, it's
+	   not able to chase the backreferences, so they aren't NULLed.
+
+	   For example, a CV holds a weak reference to its stash. If both the
+	   CV and the stash survive longer than the backreferences array,
+	   and the CV gets picked for the SvBREAK() treatment first,
+	   *and* it turns out that the stash is only being kept alive because
+	   of an our variable in the pad of the CV, then midway during CV
+	   destruction the stash gets freed, but CvSTASH() isn't set to NULL.
+	   It ends up pointing to the freed HV. Hence it's chased in here, and
+	   if this block wasn't here, it would hit the !svp panic just below.
+
+	   I don't believe that "better" destruction ordering is going to help
+	   here - during global destruction there's always going to be the
+	   chance that something goes out of order. We've tried to make it
+	   foolproof before, and it only resulted in evolutionary pressure on
+	   fools. Which made us look foolish for our hubris. :-(
+	*/
+	return;
+    }
+    else {
 	MAGIC *const mg
 	    = SvMAGICAL(tsv) ? mg_find(tsv, PERL_MAGIC_backref) : NULL;
 	svp =  mg ? &(mg->mg_obj) : NULL;
     }
 
-    if (!svp || !*svp)
-	Perl_croak(aTHX_ "panic: del_backref");
+    if (!svp)
+	Perl_croak(aTHX_ "panic: del_backref, svp=0");
+    if (!*svp) {
+	/* It's possible that sv is being freed recursively part way through the
+	   freeing of tsv. If this happens, the backreferences array of tsv has
+	   already been freed, and so svp will be NULL. If this is the case,
+	   we should not panic. Instead, nothing needs doing, so return.  */
+	if (PL_phase == PERL_PHASE_DESTRUCT && SvREFCNT(tsv) == 0)
+	    return;
+	Perl_croak(aTHX_ "panic: del_backref, *svp=%p phase=%s refcnt=%" UVuf,
+		   *svp, PL_phase_names[PL_phase], (UV)SvREFCNT(tsv));
+    }
 
     if (SvTYPE(*svp) == SVt_PVAV) {
 #ifdef DEBUGGING
@@ -5703,10 +5738,13 @@
 	assert(count ==1);
 	AvFILLp(av) = fill-1;
     }
+    else if (SvIS_FREED(*svp) && PL_phase == PERL_PHASE_DESTRUCT) {
+	/* freed AV; skip */
+    }
     else {
 	/* optimisation: only a single backref, stored directly */
 	if (*svp != sv)
-	    Perl_croak(aTHX_ "panic: del_backref");
+	    Perl_croak(aTHX_ "panic: del_backref, *svp=%p, sv=%p", *svp, sv);
 	*svp = NULL;
     }
 
@@ -5724,7 +5762,7 @@
     if (!av)
 	return;
 
-    /* after multiple passes through Perl_sv_clean_all() for a thinngy
+    /* after multiple passes through Perl_sv_clean_all() for a thingy
      * that has badly leaked, the backref array may have gotten freed,
      * since we only protect it against 1 round of cleanup */
     if (SvIS_FREED(av)) {
@@ -5797,7 +5835,7 @@
     }
     if (is_array) {
 	AvFILLp(av) = -1;
-	SvREFCNT_dec(av); /* remove extra count added by sv_add_backref() */
+	SvREFCNT_dec_NN(av); /* remove extra count added by sv_add_backref() */
     }
     return;
 }
@@ -5805,12 +5843,13 @@
 /*
 =for apidoc sv_insert
 
-Inserts a string at the specified offset/length within the SV. Similar to
-the Perl substr() function. Handles get magic.
+Inserts a string at the specified offset/length within the SV.  Similar to
+the Perl substr() function.  Handles get magic.
 
 =for apidoc sv_insert_flags
 
-Same as C<sv_insert>, but the extra C<flags> are passed the C<SvPV_force_flags> that applies to C<bigstr>.
+Same as C<sv_insert>, but the extra C<flags> are passed to the
+C<SvPV_force_flags> that applies to C<bigstr>.
 
 =cut
 */
@@ -5819,17 +5858,17 @@
 Perl_sv_insert_flags(pTHX_ SV *const bigstr, const STRLEN offset, const STRLEN len, const char *const little, const STRLEN littlelen, const U32 flags)
 {
     dVAR;
-    register char *big;
-    register char *mid;
-    register char *midend;
-    register char *bigend;
-    register I32 i;
+    char *big;
+    char *mid;
+    char *midend;
+    char *bigend;
+    SSize_t i;		/* better be sizeof(STRLEN) or bad things happen */
     STRLEN curlen;
 
     PERL_ARGS_ASSERT_SV_INSERT_FLAGS;
 
     if (!bigstr)
-	Perl_croak(aTHX_ "Can't modify non-existent substring");
+	Perl_croak(aTHX_ "Can't modify nonexistent substring");
     SvPV_force_flags(bigstr, curlen, flags);
     (void)SvPOK_only_UTF8(bigstr);
     if (offset + len > curlen) {
@@ -5865,7 +5904,8 @@
     bigend = big + SvCUR(bigstr);
 
     if (midend > bigend)
-	Perl_croak(aTHX_ "panic: sv_insert");
+	Perl_croak(aTHX_ "panic: sv_insert, midend=%p, bigend=%p",
+		   midend, bigend);
 
     if (mid - big > bigend - midend) {	/* faster to shorten from end */
 	if (littlelen) {
@@ -5913,7 +5953,7 @@
 */
 
 void
-Perl_sv_replace(pTHX_ register SV *const sv, register SV *const nsv)
+Perl_sv_replace(pTHX_ SV *const sv, SV *const nsv)
 {
     dVAR;
     const U32 refcnt = SvREFCNT(sv);
@@ -5987,7 +6027,6 @@
 STATIC void
 S_anonymise_cv_maybe(pTHX_ GV *gv, CV* cv)
 {
-    char *stash;
     SV *gvname;
     GV *anongv;
 
@@ -5999,24 +6038,25 @@
     assert(GvGP(gv));
     assert(!CvANON(cv));
     assert(CvGV(cv) == gv);
+    assert(!CvNAMED(cv));
 
     /* will the CV shortly be freed by gp_free() ? */
     if (GvCV(gv) == cv && GvGP(gv)->gp_refcnt < 2 && SvREFCNT(cv) < 2) {
-	SvANY(cv)->xcv_gv = NULL;
+	SvANY(cv)->xcv_gv_u.xcv_gv = NULL;
 	return;
     }
 
     /* if not, anonymise: */
-    stash  = GvSTASH(gv) && HvNAME(GvSTASH(gv))
-              ? HvENAME(GvSTASH(gv)) : NULL;
-    gvname = Perl_newSVpvf(aTHX_ "%s::__ANON__",
-					stash ? stash : "__ANON__");
+    gvname = (GvSTASH(gv) && HvNAME(GvSTASH(gv)) && HvENAME(GvSTASH(gv)))
+                    ? newSVhek(HvENAME_HEK(GvSTASH(gv)))
+                    : newSVpvn_flags( "__ANON__", 8, 0 );
+    sv_catpvs(gvname, "::__ANON__");
     anongv = gv_fetchsv(gvname, GV_ADDMULTI, SVt_PVCV);
-    SvREFCNT_dec(gvname);
+    SvREFCNT_dec_NN(gvname);
 
     CvANON_on(cv);
     CvCVGV_RC_on(cv);
-    SvANY(cv)->xcv_gv = MUTABLE_GV(SvREFCNT_inc(anongv));
+    SvANY(cv)->xcv_gv_u.xcv_gv = MUTABLE_GV(SvREFCNT_inc(anongv));
 }
 
 
@@ -6024,10 +6064,10 @@
 =for apidoc sv_clear
 
 Clear an SV: call any destructors, free up any memory used by the body,
-and free the body itself. The SV's head is I<not> freed, although
+and free the body itself.  The SV's head is I<not> freed, although
 its type is set to all 1's so that it won't inadvertently be assumed
 to be live during global destruction etc.
-This function should only be called when REFCNT is zero. Most of the time
+This function should only be called when REFCNT is zero.  Most of the time
 you'll want to call C<sv_free()> (or its macro wrapper C<SvREFCNT_dec>)
 instead.
 
@@ -6043,7 +6083,8 @@
     const struct body_details *sv_type_details;
     SV* iter_sv = NULL;
     SV* next_sv = NULL;
-    register SV *sv = orig_sv;
+    SV *sv = orig_sv;
+    STRLEN hash_index;
 
     PERL_ARGS_ASSERT_SV_CLEAR;
 
@@ -6056,7 +6097,7 @@
 	type = SvTYPE(sv);
 
 	assert(SvREFCNT(sv) == 0);
-	assert(SvTYPE(sv) != SVTYPEMASK);
+	assert(SvTYPE(sv) != (svtype)SVTYPEMASK);
 
 	if (type <= SVt_IV) {
 	    /* See the comment in sv.h about the collusion between this
@@ -6069,15 +6110,21 @@
 	    goto free_head;
 	}
 
-	if (SvOBJECT(sv)) {
-	    if (!curse(sv, 1)) goto get_next_sv;
-	}
+	assert(!SvOBJECT(sv) || type >= SVt_PVMG); /* objs are always >= MG */
+
 	if (type >= SVt_PVMG) {
+	    if (SvOBJECT(sv)) {
+		if (!curse(sv, 1)) goto get_next_sv;
+		type = SvTYPE(sv); /* destructor may have changed it */
+	    }
 	    /* Free back-references before magic, in case the magic calls
 	     * Perl code that has weak references to sv. */
-	    if (type == SVt_PVHV)
+	    if (type == SVt_PVHV) {
 		Perl_hv_kill_backrefs(aTHX_ MUTABLE_HV(sv));
-	    if (type == SVt_PVMG && SvPAD_OUR(sv)) {
+		if (SvMAGIC(sv))
+		    mg_free(sv);
+	    }
+	    else if (type == SVt_PVMG && SvPAD_OUR(sv)) {
 		SvREFCNT_dec(SvOURSTASH(sv));
 	    } else if (SvMAGIC(sv)) {
 		/* Free back-references before other types of magic. */
@@ -6084,6 +6131,7 @@
 		sv_unmagic(sv, PERL_MAGIC_backref);
 		mg_free(sv);
 	    }
+	    SvMAGICAL_off(sv);
 	    if (type == SVt_PVMG && SvPAD_TYPED(sv))
 		SvREFCNT_dec(SvSTASH(sv));
 	}
@@ -6104,9 +6152,12 @@
 	    Safefree(IoTOP_NAME(sv));
 	    Safefree(IoFMT_NAME(sv));
 	    Safefree(IoBOTTOM_NAME(sv));
+	    if ((const GV *)sv == PL_statgv)
+		PL_statgv = NULL;
 	    goto freescalar;
 	case SVt_REGEXP:
 	    /* FIXME for plugins */
+	  freeregexp:
 	    pregfree2((REGEXP*) sv);
 	    goto freescalar;
 	case SVt_PVCV:
@@ -6122,7 +6173,39 @@
 	    if (PL_last_swash_hv == (const HV *)sv) {
 		PL_last_swash_hv = NULL;
 	    }
+	    if (HvTOTALKEYS((HV*)sv) > 0) {
+		const char *name;
+		/* this statement should match the one at the beginning of
+		 * hv_undef_flags() */
+		if (   PL_phase != PERL_PHASE_DESTRUCT
+		    && (name = HvNAME((HV*)sv)))
+		{
+		    if (PL_stashcache) {
+                    DEBUG_o(Perl_deb(aTHX_ "sv_clear clearing PL_stashcache for '%"SVf"'\n",
+                                     sv));
+			(void)hv_delete(PL_stashcache, name,
+			    HvNAMEUTF8((HV*)sv) ? -HvNAMELEN_get((HV*)sv) : HvNAMELEN_get((HV*)sv), G_DISCARD);
+                    }
+		    hv_name_set((HV*)sv, NULL, 0, 0);
+		}
+
+		/* save old iter_sv in unused SvSTASH field */
+		assert(!SvOBJECT(sv));
+		SvSTASH(sv) = (HV*)iter_sv;
+		iter_sv = sv;
+
+		/* save old hash_index in unused SvMAGIC field */
+		assert(!SvMAGICAL(sv));
+		assert(!SvMAGIC(sv));
+		((XPVMG*) SvANY(sv))->xmg_u.xmg_hash_index = hash_index;
+		hash_index = 0;
+
+		next_sv = Perl_hfree_next_entry(aTHX_ (HV*)sv, &hash_index);
+		goto get_next_sv; /* process this new sv */
+	    }
+	    /* free empty hash */
 	    Perl_hv_undef_flags(aTHX_ MUTABLE_HV(sv), HV_NAME_SETALL);
+	    assert(!HvARRAY((HV*)sv));
 	    break;
 	case SVt_PVAV:
 	    {
@@ -6151,6 +6234,7 @@
 	    }
 	    else if (LvTYPE(sv) != 't') /* unless tie: unrefcnted fake SV**  */
 		SvREFCNT_dec(LvTARG(sv));
+	    if (isREGEXP(sv)) goto freeregexp;
 	case SVt_PVGV:
 	    if (isGV_with_GP(sv)) {
 		if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
@@ -6168,8 +6252,13 @@
 	    /* FIXME. There are probably more unreferenced pointers to SVs
 	     * in the interpreter struct that we should check and tidy in
 	     * a similar fashion to this:  */
+	    /* See also S_sv_unglob, which does the same thing. */
 	    if ((const GV *)sv == PL_last_in_gv)
 		PL_last_in_gv = NULL;
+	    else if ((const GV *)sv == PL_statgv)
+		PL_statgv = NULL;
+            else if ((const GV *)sv == PL_stderrgv)
+                PL_stderrgv = NULL;
 	case SVt_PVMG:
 	case SVt_PVNV:
 	case SVt_PVIV:
@@ -6193,7 +6282,7 @@
 			next_sv = target;
 		}
 	    }
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
 	    else if (SvPVX_const(sv)
 		     && !(SvTYPE(sv) == SVt_PVIO
 		     && !(IoFLAGS(sv) & IOf_FAKE_DIRP)))
@@ -6204,15 +6293,25 @@
 			sv_dump(sv);
 		    }
 		    if (SvLEN(sv)) {
+# ifdef PERL_OLD_COPY_ON_WRITE
 			sv_release_COW(sv, SvPVX_const(sv), SV_COW_NEXT_SV(sv));
+# else
+			if (CowREFCNT(sv)) {
+			    CowREFCNT(sv)--;
+			    SvLEN_set(sv, 0);
+			}
+# endif
 		    } else {
 			unshare_hek(SvSHARED_HEK_FROM_PV(SvPVX_const(sv)));
 		    }
 
-		    SvFAKE_off(sv);
-		} else if (SvLEN(sv)) {
-		    Safefree(SvPVX_const(sv));
 		}
+# ifdef PERL_OLD_COPY_ON_WRITE
+		else
+# endif
+		if (SvLEN(sv)) {
+		    Safefree(SvPVX_mutable(sv));
+		}
 	    }
 #else
 	    else if (SvPVX_const(sv) && SvLEN(sv)
@@ -6219,9 +6318,8 @@
 		     && !(SvTYPE(sv) == SVt_PVIO
 		     && !(IoFLAGS(sv) & IOf_FAKE_DIRP)))
 		Safefree(SvPVX_mutable(sv));
-	    else if (SvPVX_const(sv) && SvREADONLY(sv) && SvFAKE(sv)) {
+	    else if (SvPVX_const(sv) && SvIsCOW(sv)) {
 		unshare_hek(SvSHARED_HEK_FROM_PV(SvPVX_const(sv)));
-		SvFAKE_off(sv);
 	    }
 #endif
 	    break;
@@ -6271,6 +6369,28 @@
 		    Safefree(AvALLOC(av));
 		    goto free_body;
 		}
+	    } else if (SvTYPE(iter_sv) == SVt_PVHV) {
+		sv = Perl_hfree_next_entry(aTHX_ (HV*)iter_sv, &hash_index);
+		if (!sv && !HvTOTALKEYS((HV *)iter_sv)) {
+		    /* no more elements of current HV to free */
+		    sv = iter_sv;
+		    type = SvTYPE(sv);
+		    /* Restore previous values of iter_sv and hash_index,
+		     * squirrelled away */
+		    assert(!SvOBJECT(sv));
+		    iter_sv = (SV*)SvSTASH(sv);
+		    assert(!SvMAGICAL(sv));
+		    hash_index = ((XPVMG*) SvANY(sv))->xmg_u.xmg_hash_index;
+#ifdef DEBUGGING
+		    /* perl -DA does not like rubbish in SvMAGIC. */
+		    SvMAGIC_set(sv, 0);
+#endif
+
+		    /* free any remaining detritus from the hash struct */
+		    Perl_hv_undef_flags(aTHX_ MUTABLE_HV(sv), HV_NAME_SETALL);
+		    assert(!HvARRAY((HV*)sv));
+		    goto free_body;
+		}
 	    }
 
 	    /* unrolled SvREFCNT_dec and sv_free2 follows: */
@@ -6291,9 +6411,9 @@
 		continue;
 	    }
 #endif
-	    if (SvREADONLY(sv) && SvIMMORTAL(sv)) {
+	    if (SvIMMORTAL(sv)) {
 		/* make sure SvREFCNT(sv)==0 happens very seldom */
-		SvREFCNT(sv) = (~(U32)0)/2;
+		SvREFCNT(sv) = SvREFCNT_IMMORTAL;
 		continue;
 	    }
 	    break;
@@ -6318,18 +6438,38 @@
 	dSP;
 	HV* stash;
 	do {
-	    CV* destructor;
-	    stash = SvSTASH(sv);
-	    destructor = StashHANDLER(stash,DESTROY);
-	    if (destructor
+	  stash = SvSTASH(sv);
+	  assert(SvTYPE(stash) == SVt_PVHV);
+	  if (HvNAME(stash)) {
+	    CV* destructor = NULL;
+	    if (!SvOBJECT(stash)) destructor = (CV *)SvSTASH(stash);
+	    if (!destructor) {
+		GV * const gv =
+		    gv_fetchmeth_autoload(stash, "DESTROY", 7, 0);
+		if (gv) destructor = GvCV(gv);
+		if (!SvOBJECT(stash))
+		    SvSTASH(stash) =
+			destructor ? (HV *)destructor : ((HV *)0)+1;
+	    }
+	    assert(!destructor || destructor == ((CV *)0)+1
+		|| SvTYPE(destructor) == SVt_PVCV);
+	    if (destructor && destructor != ((CV *)0)+1
 		/* A constant subroutine can have no side effects, so
 		   don't bother calling it.  */
 		&& !CvCONST(destructor)
-		/* Don't bother calling an empty destructor */
+		/* Don't bother calling an empty destructor or one that
+		   returns immediately. */
 		&& (CvISXSUB(destructor)
 		|| (CvSTART(destructor)
 		    && (CvSTART(destructor)->op_next->op_type
-					!= OP_LEAVESUB))))
+					!= OP_LEAVESUB)
+		    && (CvSTART(destructor)->op_next->op_type
+					!= OP_PUSHMARK
+			|| CvSTART(destructor)->op_next->op_next->op_type
+					!= OP_RETURN
+		       )
+		   ))
+	       )
 	    {
 		SV* const tmpref = newRV(sv);
 		SvREADONLY_on(tmpref); /* DESTROY() could be naughty */
@@ -6350,8 +6490,9 @@
 		    SvRV_set(tmpref, NULL);
 		    SvROK_off(tmpref);
 		}
-		SvREFCNT_dec(tmpref);
+		SvREFCNT_dec_NN(tmpref);
 	    }
+	  }
 	} while (SvOBJECT(sv) && SvSTASH(sv) != stash);
 
 
@@ -6358,8 +6499,8 @@
 	if (check_refcnt && SvREFCNT(sv)) {
 	    if (PL_in_clean_objs)
 		Perl_croak(aTHX_
-		    "DESTROY created new reference to dead object '%s'",
-		    HvNAME_get(stash));
+		  "DESTROY created new reference to dead object '%"HEKf"'",
+		   HEKfARG(HvNAME_HEK(stash)));
 	    /* DESTROY gave object new lease on life */
 	    return FALSE;
 	}
@@ -6366,10 +6507,12 @@
     }
 
     if (SvOBJECT(sv)) {
-	SvREFCNT_dec(SvSTASH(sv)); /* possibly of changed persuasion */
+	HV * const stash = SvSTASH(sv);
+	/* Curse before freeing the stash, as freeing the stash could cause
+	   a recursive call into S_curse. */
 	SvOBJECT_off(sv);	/* Curse the object. */
-	if (SvTYPE(sv) != SVt_PVIO)
-	    --PL_sv_objcount;/* XXX Might want something more general */
+	SvSTASH_set(sv,0);	/* SvREFCNT_dec may try to read this */
+	SvREFCNT_dec(stash); /* possibly of changed persuasion */
     }
     return TRUE;
 }
@@ -6377,7 +6520,7 @@
 /*
 =for apidoc sv_newref
 
-Increment an SV's reference count. Use the C<SvREFCNT_inc()> wrapper
+Increment an SV's reference count.  Use the C<SvREFCNT_inc()> wrapper
 instead.
 
 =cut
@@ -6406,87 +6549,97 @@
 void
 Perl_sv_free(pTHX_ SV *const sv)
 {
-    dVAR;
-    if (!sv)
-	return;
-    if (SvREFCNT(sv) == 0) {
-	if (SvFLAGS(sv) & SVf_BREAK)
-	    /* this SV's refcnt has been artificially decremented to
-	     * trigger cleanup */
-	    return;
-	if (PL_in_clean_all) /* All is fair */
-	    return;
-	if (SvREADONLY(sv) && SvIMMORTAL(sv)) {
-	    /* make sure SvREFCNT(sv)==0 happens very seldom */
-	    SvREFCNT(sv) = (~(U32)0)/2;
-	    return;
-	}
-	if (ckWARN_d(WARN_INTERNAL)) {
-#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
-	    Perl_dump_sv_child(aTHX_ sv);
-#else
-  #ifdef DEBUG_LEAKING_SCALARS
-	    sv_dump(sv);
-  #endif
-#ifdef DEBUG_LEAKING_SCALARS_ABORT
-	    if (PL_warnhook == PERL_WARNHOOK_FATAL
-		|| ckDEAD(packWARN(WARN_INTERNAL))) {
-		/* Don't let Perl_warner cause us to escape our fate:  */
-		abort();
-	    }
-#endif
-	    /* This may not return:  */
-	    Perl_warner(aTHX_ packWARN(WARN_INTERNAL),
-                        "Attempt to free unreferenced scalar: SV 0x%"UVxf
-                        pTHX__FORMAT, PTR2UV(sv) pTHX__VALUE);
-#endif
-	}
-#ifdef DEBUG_LEAKING_SCALARS_ABORT
-	abort();
-#endif
-	return;
-    }
-    if (--(SvREFCNT(sv)) > 0)
-	return;
-    Perl_sv_free2(aTHX_ sv);
+    SvREFCNT_dec(sv);
 }
 
+
+/* Private helper function for SvREFCNT_dec().
+ * Called with rc set to original SvREFCNT(sv), where rc == 0 or 1 */
+
 void
-Perl_sv_free2(pTHX_ SV *const sv)
+Perl_sv_free2(pTHX_ SV *const sv, const U32 rc)
 {
     dVAR;
 
     PERL_ARGS_ASSERT_SV_FREE2;
 
+    if (rc == 1) {
+        /* normal case */
+        SvREFCNT(sv) = 0;
+
 #ifdef DEBUGGING
-    if (SvTEMP(sv)) {
-	Perl_ck_warner_d(aTHX_ packWARN(WARN_DEBUGGING),
-			 "Attempt to free temp prematurely: SV 0x%"UVxf
-			 pTHX__FORMAT, PTR2UV(sv) pTHX__VALUE);
-	return;
+        if (SvTEMP(sv)) {
+            Perl_ck_warner_d(aTHX_ packWARN(WARN_DEBUGGING),
+                             "Attempt to free temp prematurely: SV 0x%"UVxf
+                             pTHX__FORMAT, PTR2UV(sv) pTHX__VALUE);
+            return;
+        }
+#endif
+        if (SvIMMORTAL(sv)) {
+            /* make sure SvREFCNT(sv)==0 happens very seldom */
+            SvREFCNT(sv) = SvREFCNT_IMMORTAL;
+            return;
+        }
+        sv_clear(sv);
+        if (! SvREFCNT(sv)) /* may have have been resurrected */
+            del_SV(sv);
+        return;
     }
+
+    /* handle exceptional cases */
+
+    assert(rc == 0);
+
+    if (SvFLAGS(sv) & SVf_BREAK)
+        /* this SV's refcnt has been artificially decremented to
+         * trigger cleanup */
+        return;
+    if (PL_in_clean_all) /* All is fair */
+        return;
+    if (SvIMMORTAL(sv)) {
+        /* make sure SvREFCNT(sv)==0 happens very seldom */
+        SvREFCNT(sv) = SvREFCNT_IMMORTAL;
+        return;
+    }
+    if (ckWARN_d(WARN_INTERNAL)) {
+#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
+        Perl_dump_sv_child(aTHX_ sv);
+#else
+    #ifdef DEBUG_LEAKING_SCALARS
+        sv_dump(sv);
+    #endif
+#ifdef DEBUG_LEAKING_SCALARS_ABORT
+        if (PL_warnhook == PERL_WARNHOOK_FATAL
+            || ckDEAD(packWARN(WARN_INTERNAL))) {
+            /* Don't let Perl_warner cause us to escape our fate:  */
+            abort();
+        }
 #endif
-    if (SvREADONLY(sv) && SvIMMORTAL(sv)) {
-	/* make sure SvREFCNT(sv)==0 happens very seldom */
-	SvREFCNT(sv) = (~(U32)0)/2;
-	return;
+        /* This may not return:  */
+        Perl_warner(aTHX_ packWARN(WARN_INTERNAL),
+                    "Attempt to free unreferenced scalar: SV 0x%"UVxf
+                    pTHX__FORMAT, PTR2UV(sv) pTHX__VALUE);
+#endif
     }
-    sv_clear(sv);
-    if (! SvREFCNT(sv))
-	del_SV(sv);
+#ifdef DEBUG_LEAKING_SCALARS_ABORT
+    abort();
+#endif
+
 }
 
+
 /*
 =for apidoc sv_len
 
-Returns the length of the string in the SV. Handles magic and type
-coercion.  See also C<SvCUR>, which gives raw access to the xpv_cur slot.
+Returns the length of the string in the SV.  Handles magic and type
+coercion and sets the UTF8 flag appropriately.  See also C<SvCUR>, which
+gives raw access to the xpv_cur slot.
 
 =cut
 */
 
 STRLEN
-Perl_sv_len(pTHX_ register SV *const sv)
+Perl_sv_len(pTHX_ SV *const sv)
 {
     STRLEN len;
 
@@ -6493,10 +6646,7 @@
     if (!sv)
 	return 0;
 
-    if (SvGMAGICAL(sv))
-	len = mg_length(sv);
-    else
-        (void)SvPV_const(sv, len);
+    (void)SvPV_const(sv, len);
     return len;
 }
 
@@ -6504,7 +6654,7 @@
 =for apidoc sv_len_utf8
 
 Returns the number of characters in the string in an SV, counting wide
-UTF-8 bytes as a single character. Handles magic and type coercion.
+UTF-8 bytes as a single character.  Handles magic and type coercion.
 
 =cut
 */
@@ -6519,19 +6669,25 @@
  */
 
 STRLEN
-Perl_sv_len_utf8(pTHX_ register SV *const sv)
+Perl_sv_len_utf8(pTHX_ SV *const sv)
 {
     if (!sv)
 	return 0;
 
-    if (SvGMAGICAL(sv))
-	return mg_length(sv);
-    else
-    {
-	STRLEN len;
-	const U8 *s = (U8*)SvPV_const(sv, len);
+    SvGETMAGIC(sv);
+    return sv_len_utf8_nomg(sv);
+}
 
-	if (PL_utf8cache) {
+STRLEN
+Perl_sv_len_utf8_nomg(pTHX_ SV * const sv)
+{
+    dVAR;
+    STRLEN len;
+    const U8 *s = (U8*)SvPV_nomg_const(sv, len);
+
+    PERL_ARGS_ASSERT_SV_LEN_UTF8_NOMG;
+
+    if (PL_utf8cache && SvUTF8(sv)) {
 	    STRLEN ulen;
 	    MAGIC *mg = SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_utf8) : NULL;
 
@@ -6557,9 +6713,8 @@
 		utf8_mg_len_cache_update(sv, &mg, ulen);
 	    }
 	    return ulen;
-	}
-	return Perl_utf8_length(aTHX_ s, s + len);
     }
+    return SvUTF8(sv) ? Perl_utf8_length(aTHX_ s, s + len) : len;
 }
 
 /* Walk forwards to find the byte corresponding to the passed in UTF-8
@@ -6647,7 +6802,7 @@
     if (!uoffset)
 	return 0;
 
-    if (!SvREADONLY(sv)
+    if (!SvREADONLY(sv) && !SvGMAGICAL(sv) && SvPOK(sv)
 	&& PL_utf8cache
 	&& (*mgp || (SvTYPE(sv) >= SVt_PVMG &&
 		     (*mgp = mg_find(sv, PERL_MAGIC_utf8))))) {
@@ -6730,7 +6885,7 @@
 	boffset = real_boffset;
     }
 
-    if (PL_utf8cache) {
+    if (PL_utf8cache && !SvGMAGICAL(sv) && SvPOK(sv)) {
 	if (at_end)
 	    utf8_mg_len_cache_update(sv, mgp, uoffset);
 	else
@@ -6746,7 +6901,8 @@
 Converts the value pointed to by offsetp from a count of UTF-8 chars from
 the start of the string, to a count of the equivalent number of bytes; if
 lenp is non-zero, it does the same to lenp, but this time starting from
-the offset, rather than from the start of the string. Handles type coercion.
+the offset, rather than from the start
+of the string.  Handles type coercion.
 I<flags> is passed to C<SvPV_flags>, and usually should be
 C<SV_GMAGIC|SV_CONST_RETURN> to handle magic.
 
@@ -6802,7 +6958,7 @@
 Converts the value pointed to by offsetp from a count of UTF-8 chars from
 the start of the string, to a count of the equivalent number of bytes; if
 lenp is non-zero, it does the same to lenp, but this time starting from
-the offset, rather than from the start of the string. Handles magic and
+the offset, rather than from the start of the string.  Handles magic and
 type coercion.
 
 Use C<sv_pos_u2b_flags> in preference, which correctly handles strings longer
@@ -6821,7 +6977,7 @@
 /* This function is subject to size and sign problems */
 
 void
-Perl_sv_pos_u2b(pTHX_ register SV *const sv, I32 *const offsetp, I32 *const lenp)
+Perl_sv_pos_u2b(pTHX_ SV *const sv, I32 *const offsetp, I32 *const lenp)
 {
     PERL_ARGS_ASSERT_SV_POS_U2B;
 
@@ -6841,7 +6997,7 @@
 			   const STRLEN ulen)
 {
     PERL_ARGS_ASSERT_UTF8_MG_LEN_CACHE_UPDATE;
-    if (SvREADONLY(sv))
+    if (SvREADONLY(sv) || SvGMAGICAL(sv) || !SvPOK(sv))
 	return;
 
     if (!*mgp && (SvTYPE(sv) < SVt_PVMG ||
@@ -6948,7 +7104,6 @@
 	   calculation in bytes simply because we always know the byte
 	   length.  squareroot has the same ordering as the positive value,
 	   so don't bother with the actual square root.  */
-	const float existing = THREEWAY_SQUARE(0, cache[3], cache[1], blen);
 	if (byte > cache[1]) {
 	    /* New position is after the existing pair of pairs.  */
 	    const float keep_earlier
@@ -6957,18 +7112,14 @@
 		= THREEWAY_SQUARE(0, cache[1], byte, blen);
 
 	    if (keep_later < keep_earlier) {
-		if (keep_later < existing) {
-		    cache[2] = cache[0];
-		    cache[3] = cache[1];
-		    cache[0] = utf8;
-		    cache[1] = byte;
-		}
+                cache[2] = cache[0];
+                cache[3] = cache[1];
+                cache[0] = utf8;
+                cache[1] = byte;
 	    }
 	    else {
-		if (keep_earlier < existing) {
-		    cache[0] = utf8;
-		    cache[1] = byte;
-		}
+                cache[0] = utf8;
+                cache[1] = byte;
 	    }
 	}
 	else if (byte > cache[3]) {
@@ -6979,16 +7130,12 @@
 		= THREEWAY_SQUARE(0, byte, cache[1], blen);
 
 	    if (keep_later < keep_earlier) {
-		if (keep_later < existing) {
-		    cache[2] = utf8;
-		    cache[3] = byte;
-		}
+                cache[2] = utf8;
+                cache[3] = byte;
 	    }
 	    else {
-		if (keep_earlier < existing) {
-		    cache[0] = utf8;
-		    cache[1] = byte;
-		}
+                cache[0] = utf8;
+                cache[1] = byte;
 	    }
 	}
 	else {
@@ -6999,18 +7146,14 @@
 		= THREEWAY_SQUARE(0, byte, cache[1], blen);
 
 	    if (keep_later < keep_earlier) {
-		if (keep_later < existing) {
-		    cache[2] = utf8;
-		    cache[3] = byte;
-		}
+                cache[2] = utf8;
+                cache[3] = byte;
 	    }
 	    else {
-		if (keep_earlier < existing) {
-		    cache[0] = cache[2];
-		    cache[1] = cache[3];
-		    cache[2] = utf8;
-		    cache[3] = byte;
-		}
+                cache[0] = cache[2];
+                cache[1] = cache[3];
+                cache[2] = utf8;
+                cache[3] = byte;
 	    }
 	}
     }
@@ -7060,7 +7203,7 @@
  *
  */
 void
-Perl_sv_pos_b2u(pTHX_ register SV *const sv, I32 *const offsetp)
+Perl_sv_pos_b2u(pTHX_ SV *const sv, I32 *const offsetp)
 {
     const U8* s;
     const STRLEN byte = *offsetp;
@@ -7078,7 +7221,8 @@
     s = (const U8*)SvPV_const(sv, blen);
 
     if (blen < byte)
-	Perl_croak(aTHX_ "panic: sv_pos_b2u: bad byte offset");
+	Perl_croak(aTHX_ "panic: sv_pos_b2u: bad byte offset, blen=%"UVuf
+		   ", byte=%"UVuf, (UV)blen, (UV)byte);
 
     send = s + byte;
 
@@ -7173,20 +7317,20 @@
 =for apidoc sv_eq
 
 Returns a boolean indicating whether the strings in the two SVs are
-identical. Is UTF-8 and 'use bytes' aware, handles get magic, and will
+identical.  Is UTF-8 and 'use bytes' aware, handles get magic, and will
 coerce its args to strings if necessary.
 
 =for apidoc sv_eq_flags
 
 Returns a boolean indicating whether the strings in the two SVs are
-identical. Is UTF-8 and 'use bytes' aware and coerces its args to strings
-if necessary. If the flags include SV_GMAGIC, it handles get-magic, too.
+identical.  Is UTF-8 and 'use bytes' aware and coerces its args to strings
+if necessary.  If the flags include SV_GMAGIC, it handles get-magic, too.
 
 =cut
 */
 
 I32
-Perl_sv_eq_flags(pTHX_ register SV *sv1, register SV *sv2, const U32 flags)
+Perl_sv_eq_flags(pTHX_ SV *sv1, SV *sv2, const U32 flags)
 {
     dVAR;
     const char *pv1;
@@ -7194,7 +7338,6 @@
     const char *pv2;
     STRLEN cur2;
     I32  eq     = 0;
-    char *tpv   = NULL;
     SV* svrecode = NULL;
 
     if (!sv1) {
@@ -7236,7 +7379,7 @@
 	      }
 	      /* Now both are in UTF-8. */
 	      if (cur1 != cur2) {
-		   SvREFCNT_dec(svrecode);
+		   SvREFCNT_dec_NN(svrecode);
 		   return FALSE;
 	      }
 	 }
@@ -7258,8 +7401,6 @@
 	eq = (pv1 == pv2) || memEQ(pv1, pv2, cur1);
 	
     SvREFCNT_dec(svrecode);
-    if (tpv)
-	Safefree(tpv);
 
     return eq;
 }
@@ -7269,7 +7410,7 @@
 
 Compares the strings in two SVs.  Returns -1, 0, or 1 indicating whether the
 string in C<sv1> is less than, equal to, or greater than the string in
-C<sv2>. Is UTF-8 and 'use bytes' aware, handles get magic, and will
+C<sv2>.  Is UTF-8 and 'use bytes' aware, handles get magic, and will
 coerce its args to strings if necessary.  See also C<sv_cmp_locale>.
 
 =for apidoc sv_cmp_flags
@@ -7276,8 +7417,8 @@
 
 Compares the strings in two SVs.  Returns -1, 0, or 1 indicating whether the
 string in C<sv1> is less than, equal to, or greater than the string in
-C<sv2>. Is UTF-8 and 'use bytes' aware and will coerce its args to strings
-if necessary. If the flags include SV_GMAGIC, it handles get magic. See
+C<sv2>.  Is UTF-8 and 'use bytes' aware and will coerce its args to strings
+if necessary.  If the flags include SV_GMAGIC, it handles get magic.  See
 also C<sv_cmp_locale_flags>.
 
 =cut
@@ -7284,19 +7425,18 @@
 */
 
 I32
-Perl_sv_cmp(pTHX_ register SV *const sv1, register SV *const sv2)
+Perl_sv_cmp(pTHX_ SV *const sv1, SV *const sv2)
 {
     return sv_cmp_flags(sv1, sv2, SV_GMAGIC);
 }
 
 I32
-Perl_sv_cmp_flags(pTHX_ register SV *const sv1, register SV *const sv2,
+Perl_sv_cmp_flags(pTHX_ SV *const sv1, SV *const sv2,
 		  const U32 flags)
 {
     dVAR;
     STRLEN cur1, cur2;
     const char *pv1, *pv2;
-    char *tpv = NULL;
     I32  cmp;
     SV *svrecode = NULL;
 
@@ -7360,8 +7500,6 @@
     }
 
     SvREFCNT_dec(svrecode);
-    if (tpv)
-	Safefree(tpv);
 
     return cmp;
 }
@@ -7369,27 +7507,27 @@
 /*
 =for apidoc sv_cmp_locale
 
-Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
+Compares the strings in two SVs in a locale-aware manner.  Is UTF-8 and
 'use bytes' aware, handles get magic, and will coerce its args to strings
 if necessary.  See also C<sv_cmp>.
 
 =for apidoc sv_cmp_locale_flags
 
-Compares the strings in two SVs in a locale-aware manner. Is UTF-8 and
-'use bytes' aware and will coerce its args to strings if necessary. If the
-flags contain SV_GMAGIC, it handles get magic. See also C<sv_cmp_flags>.
+Compares the strings in two SVs in a locale-aware manner.  Is UTF-8 and
+'use bytes' aware and will coerce its args to strings if necessary.  If the
+flags contain SV_GMAGIC, it handles get magic.  See also C<sv_cmp_flags>.
 
 =cut
 */
 
 I32
-Perl_sv_cmp_locale(pTHX_ register SV *const sv1, register SV *const sv2)
+Perl_sv_cmp_locale(pTHX_ SV *const sv1, SV *const sv2)
 {
     return sv_cmp_locale_flags(sv1, sv2, SV_GMAGIC);
 }
 
 I32
-Perl_sv_cmp_locale_flags(pTHX_ register SV *const sv1, register SV *const sv2,
+Perl_sv_cmp_locale_flags(pTHX_ SV *const sv1, SV *const sv2,
 			 const U32 flags)
 {
     dVAR;
@@ -7444,12 +7582,12 @@
 /*
 =for apidoc sv_collxfrm
 
-This calls C<sv_collxfrm_flags> with the SV_GMAGIC flag. See
+This calls C<sv_collxfrm_flags> with the SV_GMAGIC flag.  See
 C<sv_collxfrm_flags>.
 
 =for apidoc sv_collxfrm_flags
 
-Add Collate Transform magic to an SV if it doesn't already have it. If the
+Add Collate Transform magic to an SV if it doesn't already have it.  If the
 flags contain SV_GMAGIC, it handles get-magic.
 
 Any scalar variable may carry PERL_MAGIC_collxfrm magic that contains the
@@ -7526,29 +7664,111 @@
 static char *
 S_sv_gets_read_record(pTHX_ SV *const sv, PerlIO *const fp, I32 append)
 {
-    I32 bytesread;
-    const U32 recsize = SvUV(SvRV(PL_rs)); /* RsRECORD() guarantees > 0. */
+    SSize_t bytesread;
+    const STRLEN recsize = SvUV(SvRV(PL_rs)); /* RsRECORD() guarantees > 0. */
       /* Grab the size of the record we're getting */
-    char *const buffer = SvGROW(sv, (STRLEN)(recsize + append + 1)) + append;
+    char *buffer = SvGROW(sv, (STRLEN)(recsize + append + 1)) + append;
+    
+    /* Go yank in */
 #ifdef VMS
+#include <rms.h>
     int fd;
-#endif
+    Stat_t st;
 
-    /* Go yank in */
-#ifdef VMS
-    /* VMS wants read instead of fread, because fread doesn't respect */
-    /* RMS record boundaries. This is not necessarily a good thing to be */
-    /* doing, but we've got no other real choice - except avoid stdio
-       as implementation - perhaps write a :vms layer ?
-    */
+    /* With a true, record-oriented file on VMS, we need to use read directly
+     * to ensure that we respect RMS record boundaries.  The user is responsible
+     * for providing a PL_rs value that corresponds to the FAB$W_MRS (maximum
+     * record size) field.  N.B. This is likely to produce invalid results on
+     * varying-width character data when a record ends mid-character.
+     */
     fd = PerlIO_fileno(fp);
-    if (fd != -1) {
+    if (fd != -1
+	&& PerlLIO_fstat(fd, &st) == 0
+	&& (st.st_fab_rfm == FAB$C_VAR
+	    || st.st_fab_rfm == FAB$C_VFC
+	    || st.st_fab_rfm == FAB$C_FIX)) {
+
 	bytesread = PerlLIO_read(fd, buffer, recsize);
     }
-    else /* in-memory file from PerlIO::Scalar */
+    else /* in-memory file from PerlIO::Scalar
+          * or not a record-oriented file
+          */
 #endif
     {
 	bytesread = PerlIO_read(fp, buffer, recsize);
+
+	/* At this point, the logic in sv_get() means that sv will
+	   be treated as utf-8 if the handle is utf8.
+	*/
+	if (PerlIO_isutf8(fp) && bytesread > 0) {
+	    char *bend = buffer + bytesread;
+	    char *bufp = buffer;
+	    size_t charcount = 0;
+	    bool charstart = TRUE;
+	    STRLEN skip = 0;
+
+	    while (charcount < recsize) {
+		/* count accumulated characters */
+		while (bufp < bend) {
+		    if (charstart) {
+			skip = UTF8SKIP(bufp);
+		    }
+		    if (bufp + skip > bend) {
+			/* partial at the end */
+			charstart = FALSE;
+			break;
+		    }
+		    else {
+			++charcount;
+			bufp += skip;
+			charstart = TRUE;
+		    }
+		}
+
+		if (charcount < recsize) {
+		    STRLEN readsize;
+		    STRLEN bufp_offset = bufp - buffer;
+		    SSize_t morebytesread;
+
+		    /* originally I read enough to fill any incomplete
+		       character and the first byte of the next
+		       character if needed, but if there's many
+		       multi-byte encoded characters we're going to be
+		       making a read call for every character beyond
+		       the original read size.
+
+		       So instead, read the rest of the character if
+		       any, and enough bytes to match at least the
+		       start bytes for each character we're going to
+		       read.
+		    */
+		    if (charstart)
+			readsize = recsize - charcount;
+		    else 
+			readsize = skip - (bend - bufp) + recsize - charcount - 1;
+		    buffer = SvGROW(sv, append + bytesread + readsize + 1) + append;
+		    bend = buffer + bytesread;
+		    morebytesread = PerlIO_read(fp, bend, readsize);
+		    if (morebytesread <= 0) {
+			/* we're done, if we still have incomplete
+			   characters the check code in sv_gets() will
+			   warn about them.
+
+			   I'd originally considered doing
+			   PerlIO_ungetc() on all but the lead
+			   character of the incomplete character, but
+			   read() doesn't do that, so I don't.
+			*/
+			break;
+		    }
+
+		    /* prepare to scan some more */
+		    bytesread += morebytesread;
+		    bend = buffer + bytesread;
+		    bufp = buffer + bufp_offset;
+		}
+	    }
+	}
     }
 
     if (bytesread < 0)
@@ -7562,20 +7782,23 @@
 =for apidoc sv_gets
 
 Get a line from the filehandle and store it into the SV, optionally
-appending to the currently-stored string.
+appending to the currently-stored string. If C<append> is not 0, the
+line is appended to the SV instead of overwriting it. C<append> should
+be set to the byte offset that the appended string should start at
+in the SV (typically, C<SvCUR(sv)> is a suitable choice).
 
 =cut
 */
 
 char *
-Perl_sv_gets(pTHX_ register SV *const sv, register PerlIO *const fp, I32 append)
+Perl_sv_gets(pTHX_ SV *const sv, PerlIO *const fp, I32 append)
 {
     dVAR;
     const char *rsptr;
     STRLEN rslen;
-    register STDCHAR rslast;
-    register STDCHAR *bp;
-    register I32 cnt;
+    STDCHAR rslast;
+    STDCHAR *bp;
+    I32 cnt;
     I32 i = 0;
     I32 rspara = 0;
 
@@ -7590,8 +7813,6 @@
        Swings and roundabouts.  */
     SvUPGRADE(sv, SVt_PV);
 
-    SvSCREAM_off(sv);
-
     if (append) {
 	if (PerlIO_isutf8(fp)) {
 	    if (!SvUTF8(sv)) {
@@ -7684,7 +7905,7 @@
      * We're going to steal some values from the stdio struct
      * and put EVERYTHING in the innermost loop into registers.
      */
-    register STDCHAR *ptr;
+    STDCHAR *ptr;
     STRLEN bpx;
     I32 shortbuffered;
 
@@ -7830,7 +8051,7 @@
 
 screamer2:
 	if (rslen) {
-            register const STDCHAR * const bpe = buf + sizeof(buf);
+            const STDCHAR * const bpe = buf + sizeof(buf);
 	    bp = buf;
 	    while ((i = PerlIO_getc(fp)) != EOF && (*bp++ = (STDCHAR)i) != rslast && bp < bpe)
 		; /* keep reading */
@@ -7850,9 +8071,9 @@
 	if (cnt < 0)
 	    cnt = 0;  /* we do need to re-set the sv even when cnt <= 0 */
 	if (append)
-	     sv_catpvn(sv, (char *) buf, cnt);
+            sv_catpvn_nomg(sv, (char *) buf, cnt);
 	else
-	     sv_setpvn(sv, (char *) buf, cnt);
+            sv_setpvn(sv, (char *) buf, cnt);   /* "nomg" is implied */
 
 	if (i != EOF &&			/* joy */
 	    (!rslen ||
@@ -7897,13 +8118,13 @@
 =for apidoc sv_inc
 
 Auto-increment of the value in the SV, doing string to numeric conversion
-if necessary. Handles 'get' magic and operator overloading.
+if necessary.  Handles 'get' magic and operator overloading.
 
 =cut
 */
 
 void
-Perl_sv_inc(pTHX_ register SV *const sv)
+Perl_sv_inc(pTHX_ SV *const sv)
 {
     if (!sv)
 	return;
@@ -7915,26 +8136,26 @@
 =for apidoc sv_inc_nomg
 
 Auto-increment of the value in the SV, doing string to numeric conversion
-if necessary. Handles operator overloading. Skips handling 'get' magic.
+if necessary.  Handles operator overloading.  Skips handling 'get' magic.
 
 =cut
 */
 
 void
-Perl_sv_inc_nomg(pTHX_ register SV *const sv)
+Perl_sv_inc_nomg(pTHX_ SV *const sv)
 {
     dVAR;
-    register char *d;
+    char *d;
     int flags;
 
     if (!sv)
 	return;
     if (SvTHINKFIRST(sv)) {
-	if (SvIsCOW(sv))
+	if (SvIsCOW(sv) || isGV_with_GP(sv))
 	    sv_force_normal_flags(sv, 0);
 	if (SvREADONLY(sv)) {
 	    if (IN_PERL_RUNTIME)
-		Perl_croak_no_modify(aTHX);
+		Perl_croak_no_modify();
 	}
 	if (SvROK(sv)) {
 	    IV i;
@@ -7977,6 +8198,7 @@
 	const NV was = SvNVX(sv);
 	if (NV_OVERFLOWS_INTEGERS_AT &&
 	    was >= NV_OVERFLOWS_INTEGERS_AT) {
+	    /* diag_listed_as: Lost precision when %s %f by 1 */
 	    Perl_ck_warner(aTHX_ packWARN(WARN_IMPRECISION),
 			   "Lost precision when incrementing %" NVff " by 1",
 			   was);
@@ -8078,13 +8300,13 @@
 =for apidoc sv_dec
 
 Auto-decrement of the value in the SV, doing string to numeric conversion
-if necessary. Handles 'get' magic and operator overloading.
+if necessary.  Handles 'get' magic and operator overloading.
 
 =cut
 */
 
 void
-Perl_sv_dec(pTHX_ register SV *const sv)
+Perl_sv_dec(pTHX_ SV *const sv)
 {
     dVAR;
     if (!sv)
@@ -8097,13 +8319,13 @@
 =for apidoc sv_dec_nomg
 
 Auto-decrement of the value in the SV, doing string to numeric conversion
-if necessary. Handles operator overloading. Skips handling 'get' magic.
+if necessary.  Handles operator overloading.  Skips handling 'get' magic.
 
 =cut
 */
 
 void
-Perl_sv_dec_nomg(pTHX_ register SV *const sv)
+Perl_sv_dec_nomg(pTHX_ SV *const sv)
 {
     dVAR;
     int flags;
@@ -8111,11 +8333,11 @@
     if (!sv)
 	return;
     if (SvTHINKFIRST(sv)) {
-	if (SvIsCOW(sv))
+	if (SvIsCOW(sv) || isGV_with_GP(sv))
 	    sv_force_normal_flags(sv, 0);
 	if (SvREADONLY(sv)) {
 	    if (IN_PERL_RUNTIME)
-		Perl_croak_no_modify(aTHX);
+		Perl_croak_no_modify();
 	}
 	if (SvROK(sv)) {
 	    IV i;
@@ -8161,6 +8383,7 @@
 	    const NV was = SvNVX(sv);
 	    if (NV_OVERFLOWS_INTEGERS_AT &&
 		was <= -NV_OVERFLOWS_INTEGERS_AT) {
+		/* diag_listed_as: Lost precision when %s %f by 1 */
 		Perl_ck_warner(aTHX_ packWARN(WARN_IMPRECISION),
 			       "Lost precision when decrementing %" NVff " by 1",
 			       was);
@@ -8228,7 +8451,7 @@
 =for apidoc sv_mortalcopy
 
 Creates a new SV which is a copy of the original SV (using C<sv_setsv>).
-The new SV is marked as mortal. It will be destroyed "soon", either by an
+The new SV is marked as mortal.  It will be destroyed "soon", either by an
 explicit call to FREETMPS, or by an implicit call at places such as
 statement boundaries.  See also C<sv_newmortal> and C<sv_2mortal>.
 
@@ -8241,13 +8464,15 @@
  * permanent location. */
 
 SV *
-Perl_sv_mortalcopy(pTHX_ SV *const oldstr)
+Perl_sv_mortalcopy_flags(pTHX_ SV *const oldstr, U32 flags)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
+    if (flags & SV_GMAGIC)
+	SvGETMAGIC(oldstr); /* before new_SV, in case it dies */
     new_SV(sv);
-    sv_setsv(sv,oldstr);
+    sv_setsv_flags(sv,oldstr,flags & ~SV_GMAGIC);
     PUSH_EXTEND_MORTAL__SV_C(sv);
     SvTEMP_on(sv);
     return sv;
@@ -8257,7 +8482,7 @@
 =for apidoc sv_newmortal
 
 Creates a new null SV which is mortal.  The reference count of the SV is
-set to 1. It will be destroyed "soon", either by an explicit call to
+set to 1.  It will be destroyed "soon", either by an explicit call to
 FREETMPS, or by an implicit call at places such as statement boundaries.
 See also C<sv_mortalcopy> and C<sv_2mortal>.
 
@@ -8268,7 +8493,7 @@
 Perl_sv_newmortal(pTHX)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     new_SV(sv);
     SvFLAGS(sv) = SVs_TEMP;
@@ -8286,7 +8511,8 @@
 C<len> bytes long.  If the C<s> argument is NULL the new SV will be undefined.
 Currently the only flag bits accepted are C<SVf_UTF8> and C<SVs_TEMP>.
 If C<SVs_TEMP> is set, then C<sv_2mortal()> is called on the result before
-returning. If C<SVf_UTF8> is set, C<s> is considered to be in UTF-8 and the
+returning.  If C<SVf_UTF8> is set, C<s>
+is considered to be in UTF-8 and the
 C<SVf_UTF8> flag will be set on the new SV.
 C<newSVpvn_utf8()> is a convenience wrapper for this function, defined as
 
@@ -8300,7 +8526,7 @@
 Perl_newSVpvn_flags(pTHX_ const char *const s, const STRLEN len, const U32 flags)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     /* All the flags we don't support must be zero.
        And we're new code so I'm going to assert this from the start.  */
@@ -8331,7 +8557,7 @@
 Marks an existing SV as mortal.  The SV will be destroyed "soon", either
 by an explicit call to FREETMPS, or by an implicit call at places such as
 statement boundaries.  SvTEMP() is turned on which means that the SV's
-string buffer can be "stolen" if this SV is copied. See also C<sv_newmortal>
+string buffer can be "stolen" if this SV is copied.  See also C<sv_newmortal>
 and C<sv_mortalcopy>.
 
 =cut
@@ -8338,12 +8564,12 @@
 */
 
 SV *
-Perl_sv_2mortal(pTHX_ register SV *const sv)
+Perl_sv_2mortal(pTHX_ SV *const sv)
 {
     dVAR;
     if (!sv)
 	return NULL;
-    if (SvREADONLY(sv) && SvIMMORTAL(sv))
+    if (SvIMMORTAL(sv))
 	return sv;
     PUSH_EXTEND_MORTAL__SV_C(sv);
     SvTEMP_on(sv);
@@ -8364,7 +8590,7 @@
 Perl_newSVpv(pTHX_ const char *const s, const STRLEN len)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     new_SV(sv);
     sv_setpvn(sv, s, len || s == NULL ? len : strlen(s));
@@ -8374,22 +8600,24 @@
 /*
 =for apidoc newSVpvn
 
-Creates a new SV and copies a string into it.  The reference count for the
-SV is set to 1.  Note that if C<len> is zero, Perl will create a zero length
-string.  You are responsible for ensuring that the source string is at least
-C<len> bytes long.  If the C<s> argument is NULL the new SV will be undefined.
+Creates a new SV and copies a buffer into it, which may contain NUL characters
+(C<\0>) and other binary data.  The reference count for the SV is set to 1.
+Note that if C<len> is zero, Perl will create a zero length (Perl) string.  You
+are responsible for ensuring that the source buffer is at least
+C<len> bytes long.  If the C<buffer> argument is NULL the new SV will be
+undefined.
 
 =cut
 */
 
 SV *
-Perl_newSVpvn(pTHX_ const char *const s, const STRLEN len)
+Perl_newSVpvn(pTHX_ const char *const buffer, const STRLEN len)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     new_SV(sv);
-    sv_setpvn(sv,s,len);
+    sv_setpvn(sv,buffer,len);
     return sv;
 }
 
@@ -8397,7 +8625,7 @@
 =for apidoc newSVhek
 
 Creates a new SV from the hash key structure.  It will generate scalars that
-point to the shared string table where possible. Returns a new (undefined)
+point to the shared string table where possible.  Returns a new (undefined)
 SV if the hek is NULL.
 
 =cut
@@ -8429,15 +8657,10 @@
 	    sv_usepvn_flags(sv, as_utf8, utf8_len, SV_HAS_TRAILING_NUL);
 	    SvUTF8_on (sv);
 	    return sv;
-	} else if (flags & (HVhek_REHASH|HVhek_UNSHARED)) {
-	    /* We don't have a pointer to the hv, so we have to replicate the
-	       flag into every HEK. This hv is using custom a hasing
-	       algorithm. Hence we can't return a shared string scalar, as
-	       that would contain the (wrong) hash value, and might get passed
-	       into an hv routine with a regular hash.
-	       Similarly, a hash that isn't using shared hash keys has to have
+        } else if (flags & HVhek_UNSHARED) {
+            /* A hash that isn't using shared hash keys has to have
 	       the flag in every key so that we know not to try to call
-	       share_hek_kek on it.  */
+	       share_hek_hek on it.  */
 
 	    SV * const sv = newSVpvn (HEK_KEY(hek), HEK_LEN(hek));
 	    if (HEK_UTF8(hek))
@@ -8455,8 +8678,7 @@
 	    SvPV_set(sv, (char *)HEK_KEY(share_hek_hek(hek)));
 	    SvCUR_set(sv, HEK_LEN(hek));
 	    SvLEN_set(sv, 0);
-	    SvREADONLY_on(sv);
-	    SvFAKE_on(sv);
+	    SvIsCOW_on(sv);
 	    SvPOK_on(sv);
 	    if (HEK_UTF8(hek))
 		SvUTF8_on(sv);
@@ -8469,10 +8691,12 @@
 =for apidoc newSVpvn_share
 
 Creates a new SV with its SvPVX_const pointing to a shared string in the string
-table. If the string does not already exist in the table, it is created
-first.  Turns on READONLY and FAKE. If the C<hash> parameter is non-zero, that
-value is used; otherwise the hash is computed. The string's hash can be later
-be retrieved from the SV with the C<SvSHARED_HASH()> macro. The idea here is
+table.  If the string does not already exist in the table, it is
+created first.  Turns on the SvIsCOW flag (or READONLY
+and FAKE in 5.16 and earlier).  If the C<hash> parameter
+is non-zero, that value is used; otherwise the hash is computed.
+The string's hash can later be retrieved from the SV
+with the C<SvSHARED_HASH()> macro.  The idea here is
 that as the string table is used for shared hash keys these strings will have
 SvPVX_const == HeKEY and hash lookup will avoid string compare.
 
@@ -8483,7 +8707,7 @@
 Perl_newSVpvn_share(pTHX_ const char *src, I32 len, U32 hash)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
     bool is_utf8 = FALSE;
     const char *const orig_src = src;
 
@@ -8503,8 +8727,7 @@
     SvPV_set(sv, sharepvn(src, is_utf8?-len:len, hash));
     SvCUR_set(sv, len);
     SvLEN_set(sv, 0);
-    SvREADONLY_on(sv);
-    SvFAKE_on(sv);
+    SvIsCOW_on(sv);
     SvPOK_on(sv);
     if (is_utf8)
         SvUTF8_on(sv);
@@ -8539,7 +8762,7 @@
 Perl_newSVpvf_nocontext(const char *const pat, ...)
 {
     dTHX;
-    register SV *sv;
+    SV *sv;
     va_list args;
 
     PERL_ARGS_ASSERT_NEWSVPVF_NOCONTEXT;
@@ -8563,7 +8786,7 @@
 SV *
 Perl_newSVpvf(pTHX_ const char *const pat, ...)
 {
-    register SV *sv;
+    SV *sv;
     va_list args;
 
     PERL_ARGS_ASSERT_NEWSVPVF;
@@ -8580,7 +8803,7 @@
 Perl_vnewSVpvf(pTHX_ const char *const pat, va_list *const args)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     PERL_ARGS_ASSERT_VNEWSVPVF;
 
@@ -8602,7 +8825,7 @@
 Perl_newSVnv(pTHX_ const NV n)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     new_SV(sv);
     sv_setnv(sv,n);
@@ -8622,7 +8845,7 @@
 Perl_newSViv(pTHX_ const IV i)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     new_SV(sv);
     sv_setiv(sv,i);
@@ -8642,7 +8865,7 @@
 Perl_newSVuv(pTHX_ const UV u)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     new_SV(sv);
     sv_setuv(sv,u);
@@ -8661,7 +8884,7 @@
 SV *
 Perl_newSV_type(pTHX_ const svtype type)
 {
-    register SV *sv;
+    SV *sv;
 
     new_SV(sv);
     sv_upgrade(sv, type);
@@ -8681,7 +8904,7 @@
 Perl_newRV_noinc(pTHX_ SV *const tmpRef)
 {
     dVAR;
-    register SV *sv = newSV_type(SVt_IV);
+    SV *sv = newSV_type(SVt_IV);
 
     PERL_ARGS_ASSERT_NEWRV_NOINC;
 
@@ -8709,28 +8932,29 @@
 =for apidoc newSVsv
 
 Creates a new SV which is an exact duplicate of the original SV.
-(Uses C<sv_setsv>).
+(Uses C<sv_setsv>.)
 
 =cut
 */
 
 SV *
-Perl_newSVsv(pTHX_ register SV *const old)
+Perl_newSVsv(pTHX_ SV *const old)
 {
     dVAR;
-    register SV *sv;
+    SV *sv;
 
     if (!old)
 	return NULL;
-    if (SvTYPE(old) == SVTYPEMASK) {
+    if (SvTYPE(old) == (svtype)SVTYPEMASK) {
 	Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL), "semi-panic: attempt to dup freed string");
 	return NULL;
     }
+    /* Do this here, otherwise we leak the new SV if this croaks. */
+    SvGETMAGIC(old);
     new_SV(sv);
-    /* SV_GMAGIC is the default for sv_setv()
-       SV_NOSTEAL prevents TEMP buffers being, well, stolen, and saves games
+    /* SV_NOSTEAL prevents TEMP buffers being, well, stolen, and saves games
        with SvTEMP_off and SvTEMP_on round a call to sv_setsv.  */
-    sv_setsv_flags(sv, old, SV_GMAGIC | SV_NOSTEAL);
+    sv_setsv_flags(sv, old, SV_NOSTEAL);
     return sv;
 }
 
@@ -8744,17 +8968,24 @@
 */
 
 void
-Perl_sv_reset(pTHX_ register const char *s, HV *const stash)
+Perl_sv_reset(pTHX_ const char *s, HV *const stash)
 {
+    PERL_ARGS_ASSERT_SV_RESET;
+
+    sv_resetpvn(*s ? s : NULL, strlen(s), stash);
+}
+
+void
+Perl_sv_resetpvn(pTHX_ const char *s, STRLEN len, HV * const stash)
+{
     dVAR;
     char todo[PERL_UCHAR_MAX+1];
+    const char *send;
 
-    PERL_ARGS_ASSERT_SV_RESET;
-
     if (!stash)
 	return;
 
-    if (!*s) {		/* reset ?? searches */
+    if (!s) {		/* reset ?? searches */
 	MAGIC * const mg = mg_find((const SV *)stash, PERL_MAGIC_symtab);
 	if (mg) {
 	    const U32 count = mg->mg_len / sizeof(PMOP**);
@@ -8779,7 +9010,8 @@
 	return;
 
     Zero(todo, 256, char);
-    while (*s) {
+    send = s + len;
+    while (s < send) {
 	I32 max;
 	I32 i = (unsigned char)*s;
 	if (s[1] == '-') {
@@ -8795,8 +9027,8 @@
 		 entry;
 		 entry = HeNEXT(entry))
 	    {
-		register GV *gv;
-		register SV *sv;
+		GV *gv;
+		SV *sv;
 
 		if (!todo[(U8)*HeKEY(entry)])
 		    continue;
@@ -8844,6 +9076,9 @@
 GV; or the recursive result if we're an RV; or the IO slot of the symbol
 named after the PV if we're a string.
 
+'Get' magic is ignored on the sv passed in, but will be called on
+C<SvRV(sv)> if sv is an RV.
+
 =cut
 */
 
@@ -8865,7 +9100,8 @@
 	    gv = MUTABLE_GV(sv);
 	    io = GvIO(gv);
 	    if (!io)
-		Perl_croak(aTHX_ "Bad filehandle: %s", GvNAME(gv));
+		Perl_croak(aTHX_ "Bad filehandle: %"HEKf,
+                                    HEKfARG(GvNAME_HEK(gv)));
 	    break;
 	}
 	/* FALL THROUGH */
@@ -8872,15 +9108,23 @@
     default:
 	if (!SvOK(sv))
 	    Perl_croak(aTHX_ PL_no_usym, "filehandle");
-	if (SvROK(sv))
+	if (SvROK(sv)) {
+	    SvGETMAGIC(SvRV(sv));
 	    return sv_2io(SvRV(sv));
-	gv = gv_fetchsv(sv, 0, SVt_PVIO);
+	}
+	gv = gv_fetchsv_nomg(sv, 0, SVt_PVIO);
 	if (gv)
 	    io = GvIO(gv);
 	else
 	    io = 0;
-	if (!io)
-	    Perl_croak(aTHX_ "Bad filehandle: %"SVf, SVfARG(sv));
+	if (!io) {
+	    SV *newsv = sv;
+	    if (SvGMAGICAL(sv)) {
+		newsv = sv_newmortal();
+		sv_setsv_nomg(newsv, sv);
+	    }
+	    Perl_croak(aTHX_ "Bad filehandle: %"SVf, SVfARG(newsv));
+	}
 	break;
     }
     return io;
@@ -8920,22 +9164,11 @@
 	*st = NULL;
 	*gvp = NULL;
 	return NULL;
-    case SVt_PVGV:
-	if (isGV_with_GP(sv)) {
-	    gv = MUTABLE_GV(sv);
-	    *gvp = gv;
-	    *st = GvESTASH(gv);
-	    goto fix_gv;
-	}
-	/* FALL THROUGH */
-
     default:
+	SvGETMAGIC(sv);
 	if (SvROK(sv)) {
-	    SvGETMAGIC(sv);
 	    if (SvAMAGIC(sv))
 		sv = amagic_deref_call(sv, to_cv_amg);
-	    /* At this point I'd like to do SPAGAIN, but really I need to
-	       force it upon my callers. Hmmm. This is a mess... */
 
 	    sv = SvRV(sv);
 	    if (SvTYPE(sv) == SVt_PVCV) {
@@ -8944,17 +9177,17 @@
 		*st = CvSTASH(cv);
 		return cv;
 	    }
-	    else if(isGV_with_GP(sv))
+	    else if(SvGETMAGIC(sv), isGV_with_GP(sv))
 		gv = MUTABLE_GV(sv);
 	    else
 		Perl_croak(aTHX_ "Not a subroutine reference");
 	}
 	else if (isGV_with_GP(sv)) {
-	    SvGETMAGIC(sv);
 	    gv = MUTABLE_GV(sv);
 	}
-	else
-	    gv = gv_fetchsv(sv, lref, SVt_PVCV); /* Calls get magic */
+	else {
+	    gv = gv_fetchsv_nomg(sv, lref, SVt_PVCV);
+	}
 	*gvp = gv;
 	if (!gv) {
 	    *st = NULL;
@@ -8966,22 +9199,11 @@
 	    return NULL;
 	}
 	*st = GvESTASH(gv);
-    fix_gv:
-	if (lref && !GvCVu(gv)) {
-	    SV *tmpsv;
-	    ENTER;
-	    tmpsv = newSV(0);
-	    gv_efullname3(tmpsv, gv, NULL);
+	if (lref & ~GV_ADDMG && !GvCVu(gv)) {
 	    /* XXX this is probably not what they think they're getting.
 	     * It has the same effect as "sub name;", i.e. just a forward
 	     * declaration! */
-	    newSUB(start_subparse(FALSE, 0),
-		   newSVOP(OP_CONST, 0, tmpsv),
-		   NULL, NULL);
-	    LEAVE;
-	    if (!GvCVu(gv))
-		Perl_croak(aTHX_ "Unable to create sub named \"%"SVf"\"",
-			   SVfARG(SvOK(sv) ? sv : &PL_sv_no));
+	    newSTUB(gv,0);
 	}
 	return GvCVu(gv);
     }
@@ -8998,12 +9220,12 @@
 */
 
 I32
-Perl_sv_true(pTHX_ register SV *const sv)
+Perl_sv_true(pTHX_ SV *const sv)
 {
     if (!sv)
 	return 0;
     if (SvPOK(sv)) {
-	register const XPV* const tXpv = (XPV*)SvANY(sv);
+	const XPV* const tXpv = (XPV*)SvANY(sv);
 	if (tXpv &&
 		(tXpv->xpv_cur > 1 ||
 		(tXpv->xpv_cur && *sv->sv_u.svu_pv != '0')))
@@ -9028,13 +9250,13 @@
 
 Get a sensible string out of the SV somehow.
 A private implementation of the C<SvPV_force> macro for compilers which
-can't cope with complex macro expressions. Always use the macro instead.
+can't cope with complex macro expressions.  Always use the macro instead.
 
 =for apidoc sv_pvn_force_flags
 
 Get a sensible string out of the SV somehow.
 If C<flags> has C<SV_GMAGIC> bit set, will C<mg_get> on C<sv> if
-appropriate, else not. C<sv_pvn_force> and C<sv_pvn_force_nomg> are
+appropriate, else not.  C<sv_pvn_force> and C<sv_pvn_force_nomg> are
 implemented in terms of this function.
 You normally want to use the various wrapper macros instead: see
 C<SvPV_force> and C<SvPV_force_nomg>
@@ -9049,6 +9271,7 @@
 
     PERL_ARGS_ASSERT_SV_PVN_FORCE_FLAGS;
 
+    if (flags & SV_GMAGIC) SvGETMAGIC(sv);
     if (SvTHINKFIRST(sv) && !SvROK(sv))
         sv_force_normal_flags(sv, 0);
 
@@ -9068,12 +9291,15 @@
 	    else
 		Perl_croak(aTHX_ "Can't coerce readonly %s to string", ref);
 	}
-	if ((SvTYPE(sv) > SVt_PVLV && SvTYPE(sv) != SVt_PVFM)
+	if (SvTYPE(sv) > SVt_PVLV
 	    || isGV_with_GP(sv))
 	    /* diag_listed_as: Can't coerce %s to %s in %s */
 	    Perl_croak(aTHX_ "Can't coerce %s to string in %s", sv_reftype(sv,0),
 		OP_DESC(PL_op));
-	s = sv_2pv_flags(sv, &len, flags);
+	s = sv_2pv_flags(sv, &len, flags &~ SV_GMAGIC);
+	if (!s) {
+	  s = (char *)"";
+	}
 	if (lp)
 	    *lp = len;
 
@@ -9093,6 +9319,7 @@
 				  PTR2UV(sv),SvPVX_const(sv)));
 	}
     }
+    (void)SvPOK_only_UTF8(sv);
     return SvPVX_mutable(sv);
 }
 
@@ -9099,7 +9326,8 @@
 /*
 =for apidoc sv_pvbyten_force
 
-The backend for the C<SvPVbytex_force> macro. Always use the macro instead.
+The backend for the C<SvPVbytex_force> macro.  Always use the macro
+instead.
 
 =cut
 */
@@ -9118,7 +9346,8 @@
 /*
 =for apidoc sv_pvutf8n_force
 
-The backend for the C<SvPVutf8x_force> macro. Always use the macro instead.
+The backend for the C<SvPVutf8x_force> macro.  Always use the macro
+instead.
 
 =cut
 */
@@ -9128,8 +9357,8 @@
 {
     PERL_ARGS_ASSERT_SV_PVUTF8N_FORCE;
 
-    sv_pvn_force(sv,lp);
-    sv_utf8_upgrade(sv);
+    sv_pvn_force(sv,0);
+    sv_utf8_upgrade_nomg(sv);
     *lp = SvCUR(sv);
     return SvPVX(sv);
 }
@@ -9146,12 +9375,8 @@
 Perl_sv_reftype(pTHX_ const SV *const sv, const int ob)
 {
     PERL_ARGS_ASSERT_SV_REFTYPE;
-
-    /* The fact that I don't need to downcast to char * everywhere, only in ?:
-       inside return suggests a const propagation bug in g++.  */
     if (ob && SvOBJECT(sv)) {
-	char * const name = HvNAME_get(SvSTASH(sv));
-	return name ? name : (char *) "__ANON__";
+	return SvPV_nolen_const(sv_ref(NULL, sv, ob));
     }
     else {
 	switch (SvTYPE(sv)) {
@@ -9189,6 +9414,34 @@
 }
 
 /*
+=for apidoc sv_ref
+
+Returns a SV describing what the SV passed in is a reference to.
+
+=cut
+*/
+
+SV *
+Perl_sv_ref(pTHX_ SV *dst, const SV *const sv, const int ob)
+{
+    PERL_ARGS_ASSERT_SV_REF;
+
+    if (!dst)
+        dst = sv_newmortal();
+
+    if (ob && SvOBJECT(sv)) {
+	HvNAME_get(SvSTASH(sv))
+                    ? sv_sethek(dst, HvNAME_HEK(SvSTASH(sv)))
+                    : sv_setpvn(dst, "__ANON__", 8);
+    }
+    else {
+        const char * reftype = sv_reftype(sv, 0);
+        sv_setpv(dst, reftype);
+    }
+    return dst;
+}
+
+/*
 =for apidoc sv_isobject
 
 Returns a boolean indicating whether the SV is an RV pointing to a blessed
@@ -9247,10 +9500,10 @@
 /*
 =for apidoc newSVrv
 
-Creates a new SV for the RV, C<rv>, to point to.  If C<rv> is not an RV then
-it will be upgraded to one.  If C<classname> is non-null then the new SV will
-be blessed in the specified package.  The new SV is returned and its
-reference count is 1.
+Creates a new SV for the existing RV, C<rv>, to point to.  If C<rv> is not an
+RV then it will be upgraded to one.  If C<classname> is non-null then the new
+SV will be blessed in the specified package.  The new SV is returned and its
+reference count is 1. The reference count 1 is owned by C<rv>.
 
 =cut
 */
@@ -9266,7 +9519,6 @@
     new_SV(sv);
 
     SV_CHECK_THINKFIRST_COW_DROP(rv);
-    (void)SvAMAGIC_off(rv);
 
     if (SvTYPE(rv) >= SVt_PVMG) {
 	const U32 refcnt = SvREFCNT(rv);
@@ -9437,27 +9689,16 @@
         Perl_croak(aTHX_ "Can't bless non-reference value");
     tmpRef = SvRV(sv);
     if (SvFLAGS(tmpRef) & (SVs_OBJECT|SVf_READONLY)) {
-	if (SvIsCOW(tmpRef))
-	    sv_force_normal_flags(tmpRef, 0);
-	if (SvREADONLY(tmpRef))
-	    Perl_croak_no_modify(aTHX);
+	if (SvREADONLY(tmpRef) && !SvIsCOW(tmpRef))
+	    Perl_croak_no_modify();
 	if (SvOBJECT(tmpRef)) {
-	    if (SvTYPE(tmpRef) != SVt_PVIO)
-		--PL_sv_objcount;
 	    SvREFCNT_dec(SvSTASH(tmpRef));
 	}
     }
     SvOBJECT_on(tmpRef);
-    if (SvTYPE(tmpRef) != SVt_PVIO)
-	++PL_sv_objcount;
     SvUPGRADE(tmpRef, SVt_PVMG);
     SvSTASH_set(tmpRef, MUTABLE_HV(SvREFCNT_inc_simple(stash)));
 
-    if (Gv_AMG(stash))
-	SvAMAGIC_on(sv);
-    else
-	(void)SvAMAGIC_off(sv);
-
     if(SvSMAGICAL(tmpRef))
         if(mg_find(tmpRef, PERL_MAGIC_ext) || mg_find(tmpRef, PERL_MAGIC_uvar))
             mg_set(tmpRef);
@@ -9467,23 +9708,24 @@
     return sv;
 }
 
-/* Downgrades a PVGV to a PVMG. If it’s actually a PVLV, we leave the type
+/* Downgrades a PVGV to a PVMG. If it's actually a PVLV, we leave the type
  * as it is after unglobbing it.
  */
 
-STATIC void
-S_sv_unglob(pTHX_ SV *const sv)
+PERL_STATIC_INLINE void
+S_sv_unglob(pTHX_ SV *const sv, U32 flags)
 {
     dVAR;
     void *xpvmg;
     HV *stash;
-    SV * const temp = sv_newmortal();
+    SV * const temp = flags & SV_COW_DROP_PV ? NULL : sv_newmortal();
 
     PERL_ARGS_ASSERT_SV_UNGLOB;
 
     assert(SvTYPE(sv) == SVt_PVGV || SvTYPE(sv) == SVt_PVLV);
     SvFAKE_off(sv);
-    gv_efullname3(temp, MUTABLE_GV(sv), "*");
+    if (!(flags & SV_COW_DROP_PV))
+	gv_efullname3(temp, MUTABLE_GV(sv), "*");
 
     if (GvGP(sv)) {
         if(GvCVu((const GV *)sv) && (stash = GvSTASH(MUTABLE_GV(sv)))
@@ -9514,7 +9756,13 @@
 
     /* Intentionally not calling any local SET magic, as this isn't so much a
        set operation as merely an internal storage change.  */
-    sv_setsv_flags(sv, temp, 0);
+    if (flags & SV_COW_DROP_PV) SvOK_off(sv);
+    else sv_setsv_flags(sv, temp, 0);
+
+    if ((const GV *)sv == PL_last_in_gv)
+	PL_last_in_gv = NULL;
+    else if ((const GV *)sv == PL_statgv)
+	PL_statgv = NULL;
 }
 
 /*
@@ -9549,7 +9797,7 @@
     /* You can't have a || SvREADONLY(target) here, as $a = $$a, where $a was
        assigned to as BEGIN {$a = \"Foo"} will fail.  */
     if (SvREFCNT(target) != 1 || (flags & SV_IMMEDIATE_UNREF))
-	SvREFCNT_dec(target);
+	SvREFCNT_dec_NN(target);
     else /* XXX Hack, but hard to make $a=$a->[1] work otherwise */
 	sv_2mortal(target);	/* Schedule for freeing later */
 }
@@ -9557,7 +9805,8 @@
 /*
 =for apidoc sv_untaint
 
-Untaint an SV. Use C<SvTAINTED_off> instead.
+Untaint an SV.  Use C<SvTAINTED_off> instead.
+
 =cut
 */
 
@@ -9576,7 +9825,8 @@
 /*
 =for apidoc sv_tainted
 
-Test an SV for taintedness. Use C<SvTAINTED> instead.
+Test an SV for taintedness.  Use C<SvTAINTED> instead.
+
 =cut
 */
 
@@ -9796,7 +10046,7 @@
 (including, but not limited to, SVs with a UTF-8 PV formatted with %s,
 and characters >255 formatted with %c), the original SV might get
 upgraded to UTF-8.  Handles 'get' magic, but not 'set' magic.  See
-C<sv_catpvf_mg>. If the original SV was UTF-8, the pattern should be
+C<sv_catpvf_mg>.  If the original SV was UTF-8, the pattern should be
 valid UTF-8; if the original SV was bytes, the pattern should be too.
 
 =cut */
@@ -9889,7 +10139,7 @@
     PERL_ARGS_ASSERT_SV_VSETPVFN;
 
     sv_setpvs(sv, "");
-    sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax, maybe_tainted);
+    sv_vcatpvfn_flags(sv, pat, patlen, args, svargs, svmax, maybe_tainted, 0);
 }
 
 
@@ -9963,6 +10213,8 @@
 /*
 =for apidoc sv_vcatpvfn
 
+=for apidoc sv_vcatpvfn_flags
+
 Processes its arguments like C<vsprintf> and appends the formatted output
 to an SV.  Uses an array of SVs if the C style variable argument list is
 missing (NULL).  When running with taint checks enabled, indicates via
@@ -9969,12 +10221,13 @@
 C<maybe_tainted> if results are untrustworthy (often due to the use of
 locales).
 
+If called as C<sv_vcatpvfn> or flags include C<SV_GMAGIC>, calls get magic.
+
 Usually used via one of its frontends C<sv_vcatpvf> and C<sv_vcatpvf_mg>.
 
 =cut
 */
 
-
 #define VECTORIZE_ARGS	vecsv = va_arg(*args, SV*);\
 			vecstr = (U8*)SvPV_const(vecsv,veclen);\
 			vec_utf8 = DO_UTF8(vecsv);
@@ -9985,6 +10238,16 @@
 Perl_sv_vcatpvfn(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
                  va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted)
 {
+    PERL_ARGS_ASSERT_SV_VCATPVFN;
+
+    sv_vcatpvfn_flags(sv, pat, patlen, args, svargs, svmax, maybe_tainted, SV_GMAGIC|SV_SMAGIC);
+}
+
+void
+Perl_sv_vcatpvfn_flags(pTHX_ SV *const sv, const char *const pat, const STRLEN patlen,
+                       va_list *const args, SV **const svargs, const I32 svmax, bool *const maybe_tainted,
+                       const U32 flags)
+{
     dVAR;
     char *p;
     char *q;
@@ -10003,11 +10266,14 @@
     /* large enough for "%#.#f" --chip */
     /* what about long double NVs? --jhi */
 
-    PERL_ARGS_ASSERT_SV_VCATPVFN;
+    PERL_ARGS_ASSERT_SV_VCATPVFN_FLAGS;
     PERL_UNUSED_ARG(maybe_tainted);
 
+    if (flags & SV_GMAGIC)
+        SvGETMAGIC(sv);
+
     /* no matter what, this is a string now */
-    (void)SvPV_force(sv, origlen);
+    (void)SvPV_force_nomg(sv, origlen);
 
     /* special-case "", "%s", and "%-p" (SVf - see below) */
     if (patlen == 0)
@@ -10015,10 +10281,12 @@
     if (patlen == 2 && pat[0] == '%' && pat[1] == 's') {
 	if (args) {
 	    const char * const s = va_arg(*args, char*);
-	    sv_catpv(sv, s ? s : nullstr);
+	    sv_catpv_nomg(sv, s ? s : nullstr);
 	}
 	else if (svix < svmax) {
-	    sv_catsv(sv, *svargs);
+	    /* we want get magic on the source but not the target. sv_catsv can't do that, though */
+	    SvGETMAGIC(*svargs);
+	    sv_catsv_nomg(sv, *svargs);
 	}
 	else
 	    S_vcatpvfn_missing_argument(aTHX);
@@ -10027,7 +10295,7 @@
     if (args && patlen == 3 && pat[0] == '%' &&
 		pat[1] == '-' && pat[2] == 'p') {
 	argsv = MUTABLE_SV(va_arg(*args, void*));
-	sv_catsv(sv, argsv);
+	sv_catsv_nomg(sv, argsv);
 	return;
     }
 
@@ -10050,7 +10318,7 @@
 		if (digits && digits < sizeof(ebuf) - NV_DIG - 10) {
 		     /* 0, point, slack */
 		    Gconvert(nv, (int)digits, 0, ebuf);
-		    sv_catpv(sv, ebuf);
+		    sv_catpv_nomg(sv, ebuf);
 		    if (*ebuf)	/* May return an empty string for digits==0 */
 			return;
 		}
@@ -10058,7 +10326,7 @@
 		STRLEN l;
 
 		if ((p = F0convert(nv, ebuf + sizeof ebuf, &l))) {
-		    sv_catpvn(sv, p, l);
+		    sv_catpvn_nomg(sv, p, l);
 		    return;
 		}
 	    }
@@ -10129,9 +10397,9 @@
 	for (q = p; q < patend && *q != '%'; ++q) ;
 	if (q > p) {
 	    if (has_utf8 && !pat_utf8)
-		sv_catpvn_utf8_upgrade(sv, p, q - p, nsv);
+		sv_catpvn_nomg_utf8_upgrade(sv, p, q - p, nsv);
 	    else
-		sv_catpvn(sv, p, q - p);
+		sv_catpvn_nomg(sv, p, q - p);
 	    p = q;
 	}
 	if (q++ >= patend)
@@ -10163,9 +10431,12 @@
 		%p		include pointer address (standard)	
 		%-p	(SVf)	include an SV (previously %_)
 		%-<num>p	include an SV with precision <num>	
-		%<num>p		reserved for future extensions
+		%2p		include a HEK
+		%3p		include a HEK with precision of 256
+		%<num>p		(where num != 2 or 3) reserved for future
+				extensions
 
-	Robin Barker 2005-07-14
+	Robin Barker 2005-07-14 (but modified since)
 
 		%1p	(VDf)	removed.  RMB 2007-10-19
 */
@@ -10187,6 +10458,14 @@
 			is_utf8 = TRUE;
 		    goto string;
 		}
+		else if (n==2 || n==3) {	/* HEKf */
+		    HEK * const hek = va_arg(*args, HEK *);
+		    eptr = HEK_KEY(hek);
+		    elen = HEK_LEN(hek);
+		    if (HEK_UTF8(hek)) is_utf8 = TRUE;
+		    if (n==3) precis = 256, has_precis = TRUE;
+		    goto string;
+		}
 		else if (n) {
 		    Perl_ck_warner_d(aTHX_ packWARN(WARN_INTERNAL),
 				     "internal %%<num>p might conflict with future printf extensions");
@@ -10339,21 +10618,21 @@
 		 * back into v-string notation and then let the
 		 * vectorize happen normally
 		 */
-		if (sv_derived_from(vecsv, "version")) {
-		    char *version = savesvpv(vecsv);
+		if (sv_isobject(vecsv) && sv_derived_from(vecsv, "version")) {
 		    if ( hv_exists(MUTABLE_HV(SvRV(vecsv)), "alpha", 5 ) ) {
-			Perl_warner(aTHX_ packWARN(WARN_INTERNAL),
+			Perl_ck_warner_d(aTHX_ packWARN(WARN_PRINTF),
 			"vector argument not supported with alpha versions");
-			goto unknown;
+			goto vdblank;
 		    }
 		    vecsv = sv_newmortal();
-		    scan_vstring(version, version + veclen, vecsv);
+		    scan_vstring((char *)vecstr, (char *)vecstr + veclen,
+				 vecsv);
 		    vecstr = (U8*)SvPV_const(vecsv, veclen);
 		    vec_utf8 = DO_UTF8(vecsv);
-		    Safefree(version);
 		}
 	    }
 	    else {
+	      vdblank:
 		vecstr = (U8*)"";
 		veclen = 0;
 	    }
@@ -10364,7 +10643,7 @@
 	switch (*q) {
 #ifdef WIN32
 	case 'I':			/* Ix, I32x, and I64x */
-#  ifdef WIN64
+#  ifdef USE_64_BIT_INT
 	    if (q[1] == '6' && q[2] == '4') {
 		q += 3;
 		intsize = 'q';
@@ -10375,7 +10654,7 @@
 		q += 3;
 		break;
 	    }
-#  ifdef WIN64
+#  ifdef USE_64_BIT_INT
 	    intsize = 'q';
 #  endif
 	    q++;
@@ -10482,16 +10761,17 @@
 		if (DO_UTF8(argsv)) {
 		    STRLEN old_precis = precis;
 		    if (has_precis && precis < elen) {
-			STRLEN ulen = sv_len_utf8(argsv);
-			I32 p = precis > ulen ? ulen : precis;
-			sv_pos_u2b(argsv, &p, 0); /* sticks at end */
-			precis = p;
+			STRLEN ulen = sv_or_pv_len_utf8(argsv, eptr, elen);
+			STRLEN p = precis > ulen ? ulen : precis;
+			precis = sv_or_pv_pos_u2b(argsv, eptr, p, 0);
+							/* sticks at end */
 		    }
 		    if (width) { /* fudge width (can't fudge elen) */
 			if (has_precis && precis < elen)
 			    width += precis - old_precis;
 			else
-			    width += elen - sv_len_utf8(argsv);
+			    width +=
+				elen - sv_or_pv_len_utf8(argsv,eptr,elen);
 		    }
 		    is_utf8 = TRUE;
 		}
@@ -10974,7 +11254,7 @@
 		}
 	    }
 	    else
-		sv_setuv_mg(argsv, (UV)i);
+		sv_setuv_mg(argsv, has_utf8 ? (UV)sv_len_utf8(sv) : (UV)i);
 	    continue;	/* not "break" */
 
 	    /* UNKNOWN */
@@ -10994,7 +11274,7 @@
 		    sv_catpvs(msg, "\"%");
 		    for (f = fmtstart; f < fmtend; f++) {
 			if (isPRINT(*f)) {
-			    sv_catpvn(msg, f, 1);
+			    sv_catpvn_nomg(msg, f, 1);
 			} else {
 			    Perl_sv_catpvf(aTHX_ msg,
 					   "\\%03"UVof, (UV)*f & 0xFF);
@@ -11045,13 +11325,13 @@
 
 	have = esignlen + zeros + elen;
 	if (have < zeros)
-	    Perl_croak_nocontext("%s", PL_memory_wrap);
+	    Perl_croak_memory_wrap();
 
 	need = (have > width ? have : width);
 	gap = need - have;
 
 	if (need >= (((STRLEN)~0) - SvCUR(sv) - dotstrlen - 1))
-	    Perl_croak_nocontext("%s", PL_memory_wrap);
+	    Perl_croak_memory_wrap();
 	SvGROW(sv, SvCUR(sv) + need + dotstrlen + 1);
 	p = SvEND(sv);
 	if (esignlen && fill == '0') {
@@ -11112,7 +11392,7 @@
 
 The foo_dup() functions make an exact copy of an existing foo thingy.
 During the course of a cloning, a hash table is used to map old addresses
-to new addresses. The table is created and manipulated with the
+to new addresses.  The table is created and manipulated with the
 ptr_table_* functions.
 
 =cut
@@ -11196,7 +11476,6 @@
     parser->multi_open	= proto->multi_open;
     parser->multi_start	= proto->multi_start;
     parser->multi_end	= proto->multi_end;
-    parser->pending_ident = proto->pending_ident;
     parser->preambled	= proto->preambled;
     parser->sublex_info	= proto->sublex_info; /* XXX not quite right */
     parser->linestr	= sv_dup_inc(proto->linestr, param);
@@ -11299,10 +11578,10 @@
 
 #ifdef HAS_FCHDIR
     DIR *pwd;
-    register const Direntry_t *dirent;
+    const Direntry_t *dirent;
     char smallbuf[256];
     char *name = NULL;
-    STRLEN len = -1;
+    STRLEN len = 0;
     long pos;
 #endif
 
@@ -11691,6 +11970,7 @@
 {
     PERL_ARGS_ASSERT_RVPV_DUP;
 
+    assert(!isREGEXP(sstr));
     if (SvROK(sstr)) {
 	if (SvWEAKREF(sstr)) {
 	    SvRV_set(dstr, sv_dup(SvRV_const(sstr), param));
@@ -11708,12 +11988,9 @@
 	if (SvLEN(sstr)) {
 	    /* Normal PV - clone whole allocated space */
 	    SvPV_set(dstr, SAVEPVN(SvPVX_const(sstr), SvLEN(sstr)-1));
-	    if (SvREADONLY(sstr) && SvFAKE(sstr)) {
-		/* Not that normal - actually sstr is copy on write.
-		   But we are a true, independent SV, so:  */
-		SvREADONLY_off(dstr);
-		SvFAKE_off(dstr);
-	    }
+	    /* sstr may not be that normal, but actually copy on write.
+	       But we are a true, independent SV, so:  */
+	    SvIsCOW_off(dstr);
 	}
 	else {
 	    /* Special case - not normally malloced for some reason */
@@ -11720,7 +11997,7 @@
 	    if (isGV_with_GP(sstr)) {
 		/* Don't need to do anything here.  */
 	    }
-	    else if ((SvREADONLY(sstr) && SvFAKE(sstr))) {
+	    else if ((SvIsCOW(sstr))) {
 		/* A "shared" PV - clone it as "shared" PV */
 		SvPV_set(dstr,
 			 HEK_KEY(hek_dup(SvSHARED_HEK_FROM_PV(SvPVX_const(sstr)),
@@ -11762,7 +12039,7 @@
 
     PERL_ARGS_ASSERT_SV_DUP_COMMON;
 
-    if (SvTYPE(sstr) == SVTYPEMASK) {
+    if (SvTYPE(sstr) == (svtype)SVTYPEMASK) {
 #ifdef DEBUG_LEAKING_SCALARS_ABORT
 	abort();
 #endif
@@ -11780,11 +12057,33 @@
 	    const HEK * const hvname = HvNAME_HEK(sstr);
 	    if (hvname) {
 		/** don't clone stashes if they already exist **/
-		dstr = MUTABLE_SV(gv_stashpvn(HEK_KEY(hvname), HEK_LEN(hvname), 0));
+		dstr = MUTABLE_SV(gv_stashpvn(HEK_KEY(hvname), HEK_LEN(hvname),
+                                                HEK_UTF8(hvname) ? SVf_UTF8 : 0));
 		ptr_table_store(PL_ptr_table, sstr, dstr);
 		return dstr;
 	    }
         }
+	else if (SvTYPE(sstr) == SVt_PVGV && !SvFAKE(sstr)) {
+	    HV *stash = GvSTASH(sstr);
+	    const HEK * hvname;
+	    if (stash && (hvname = HvNAME_HEK(stash))) {
+		/** don't clone GVs if they already exist **/
+		SV **svp;
+		stash = gv_stashpvn(HEK_KEY(hvname), HEK_LEN(hvname),
+				    HEK_UTF8(hvname) ? SVf_UTF8 : 0);
+		svp = hv_fetch(
+			stash, GvNAME(sstr),
+			GvNAMEUTF8(sstr)
+			    ? -GvNAMELEN(sstr)
+			    :  GvNAMELEN(sstr),
+			0
+		      );
+		if (svp && *svp && SvTYPE(*svp) == SVt_PVGV) {
+		    ptr_table_store(PL_ptr_table, sstr, *svp);
+		    return *svp;
+		}
+	    }
+        }
     }
 
     /* create anew and remember what it is */
@@ -11796,7 +12095,7 @@
     dstr->sv_debug_inpad = sstr->sv_debug_inpad;
     dstr->sv_debug_parent = (SV*)sstr;
     FREE_SV_DEBUG_FILE(dstr);
-    dstr->sv_debug_file = savepv(sstr->sv_debug_file);
+    dstr->sv_debug_file = savesharedpv(sstr->sv_debug_file);
 #endif
 
     ptr_table_store(PL_ptr_table, sstr, dstr);
@@ -11884,6 +12183,7 @@
 
 	    if (sv_type != SVt_PVAV && sv_type != SVt_PVHV
 		&& !isGV_with_GP(dstr)
+		&& !isREGEXP(dstr)
 		&& !(sv_type == SVt_PVIO && !(IoFLAGS(dstr) & IOf_FAKE_DIRP)))
 		Perl_rvpv_dup(aTHX_ dstr, sstr, param);
 
@@ -11897,8 +12197,9 @@
 		    SvOURSTASH_set(dstr, hv_dup_inc(SvOURSTASH(dstr), param));
 		} else if (SvMAGIC(dstr))
 		    SvMAGIC_set(dstr, mg_dup(SvMAGIC(dstr), param));
-		if (SvSTASH(dstr))
+		if (SvOBJECT(dstr) && SvSTASH(dstr))
 		    SvSTASH_set(dstr, hv_dup_inc(SvSTASH(dstr), param));
+		else SvSTASH_set(dstr, 0); /* don't copy DESTROY cache */
 	    }
 
 	    /* The cast silences a GCC warning about unhandled types.  */
@@ -11912,7 +12213,9 @@
 	    case SVt_PVMG:
 		break;
 	    case SVt_REGEXP:
+	      duprex:
 		/* FIXME for plugins */
+		dstr->sv_u.svu_rx = ((REGEXP *)dstr)->sv_any;
 		re_dup_guts((REGEXP*) sstr, (REGEXP*) dstr, param);
 		break;
 	    case SVt_PVLV:
@@ -11923,6 +12226,7 @@
 		    LvTARG(dstr) = MUTABLE_SV(he_dup((HE*)LvTARG(dstr), 0, param));
 		else
 		    LvTARG(dstr) = sv_dup_inc(LvTARG(dstr), param);
+		if (isREGEXP(sstr)) goto duprex;
 	    case SVt_PVGV:
 		/* non-GP case already handled above */
 		if(isGV_with_GP(sstr)) {
@@ -12021,8 +12325,7 @@
 			const struct xpvhv_aux * const saux = HvAUX(sstr);
 			struct xpvhv_aux * const daux = HvAUX(dstr);
 			/* This flag isn't copied.  */
-			/* SvOOK_on(hv) attacks the IV flags.  */
-			SvFLAGS(dstr) |= SVf_OOK;
+			SvOOK_on(dstr);
 
 			if (saux->xhv_name_count) {
 			    HEK ** const sname = saux->xhv_name_u.xhvnameu_names;
@@ -12073,6 +12376,7 @@
                         daux->xhv_mro_meta = saux->xhv_mro_meta
                             ? mro_meta_dup(saux->xhv_mro_meta, param)
                             : 0;
+			daux->xhv_super = NULL;
 
 			/* Record stashes for possible cloning in Perl_clone(). */
 			if (HvNAME(sstr))
@@ -12097,14 +12401,20 @@
 		    OP_REFCNT_LOCK;
 		    CvROOT(dstr) = OpREFCNT_inc(CvROOT(dstr));
 		    OP_REFCNT_UNLOCK;
-		    CvFILE(dstr) = SAVEPV(CvFILE(dstr));
+		    CvSLABBED_off(dstr);
 		} else if (CvCONST(dstr)) {
 		    CvXSUBANY(dstr).any_ptr =
 			sv_dup_inc((const SV *)CvXSUBANY(dstr).any_ptr, param);
 		}
+		assert(!CvSLABBED(dstr));
+		if (CvDYNFILE(dstr)) CvFILE(dstr) = SAVEPV(CvFILE(dstr));
+		if (CvNAMED(dstr))
+		    SvANY((CV *)dstr)->xcv_gv_u.xcv_hek =
+			share_hek_hek(CvNAME_HEK((CV *)sstr));
 		/* don't dup if copying back - CvGV isn't refcounted, so the
 		 * duped GV may never be freed. A bit of a hack! DAPM */
-		SvANY(MUTABLE_CV(dstr))->xcv_gv =
+		else
+		  SvANY(MUTABLE_CV(dstr))->xcv_gv_u.xcv_gv =
 		    CvCVGV_RC(dstr)
 		    ? gv_dup_inc(CvGV(sstr), param)
 		    : (param->flags & CLONEf_JOIN_IN)
@@ -12121,9 +12431,6 @@
 	}
     }
 
-    if (SvOBJECT(dstr) && SvTYPE(dstr) != SVt_PVIO)
-	++PL_sv_objcount;
-
     return dstr;
  }
 
@@ -12190,6 +12497,7 @@
 	    Perl_croak(aTHX_ "Cloning substitution context is unimplemented");
 	}
 	else {
+	    ncx->blk_oldcop = (COP*)any_dup(ncx->blk_oldcop, param->proto_perl);
 	    switch (CxTYPE(ncx)) {
 	    case CXt_SUB:
 		ncx->blk_sub.cv		= (ncx->blk_sub.olddepth == 0
@@ -12208,6 +12516,7 @@
 		ncx->blk_eval.old_namesv = sv_dup_inc(ncx->blk_eval.old_namesv,
 						      param);
 		ncx->blk_eval.cur_text	= sv_dup(ncx->blk_eval.cur_text, param);
+		ncx->blk_eval.cv = cv_dup(ncx->blk_eval.cv, param);
 		break;
 	    case CXt_LOOP_LAZYSV:
 		ncx->blk_loop.state_u.lazysv.end
@@ -12241,6 +12550,8 @@
 		break;
 	    case CXt_BLOCK:
 	    case CXt_NULL:
+	    case CXt_WHEN:
+	    case CXt_GIVEN:
 		break;
 	    }
 	}
@@ -12368,6 +12679,7 @@
 	TOPUV(nss,ix) = uv;
 	switch (type) {
 	case SAVEt_CLEARSV:
+	case SAVEt_CLEARPADRANGE:
 	    break;
 	case SAVEt_HELEM:		/* hash element */
 	    sv = (const SV *)POPPTR(ss,ix);
@@ -12397,6 +12709,14 @@
 	    ptr = POPPTR(ss,ix);
 	    TOPPTR(nss,ix) = svp_dup_inc((SV**)ptr, proto_perl);/* XXXXX */
 	    break;
+        case SAVEt_GVSLOT:		/* any slot in GV */
+	    sv = (const SV *)POPPTR(ss,ix);
+	    TOPPTR(nss,ix) = sv_dup_inc(sv, param);
+	    ptr = POPPTR(ss,ix);
+	    TOPPTR(nss,ix) = svp_dup_inc((SV**)ptr, proto_perl);/* XXXXX */
+	    sv = (const SV *)POPPTR(ss,ix);
+	    TOPPTR(nss,ix) = sv_dup_inc(sv, param);
+	    break;
         case SAVEt_HV:				/* hash reference */
         case SAVEt_AV:				/* array reference */
 	    sv = (const SV *) POPPTR(ss,ix);
@@ -12420,7 +12740,6 @@
 	    TOPLONG(nss,ix) = longval;
 	    break;
 	case SAVEt_I32:				/* I32 reference */
-	case SAVEt_COP_ARYBASE:			/* call CopARYBASE_set */
 	    ptr = POPPTR(ss,ix);
 	    TOPPTR(nss,ix) = any_dup(ptr, proto_perl);
 	    i = POPINT(ss,ix);
@@ -12583,33 +12902,9 @@
 
 		new_state->re_state_bostr
 		    = pv_dup(old_state->re_state_bostr);
-		new_state->re_state_reginput
-		    = pv_dup(old_state->re_state_reginput);
 		new_state->re_state_regeol
 		    = pv_dup(old_state->re_state_regeol);
-		new_state->re_state_regoffs
-		    = (regexp_paren_pair*)
-			any_dup(old_state->re_state_regoffs, proto_perl);
-		new_state->re_state_reglastparen
-		    = (U32*) any_dup(old_state->re_state_reglastparen, 
-			      proto_perl);
-		new_state->re_state_reglastcloseparen
-		    = (U32*)any_dup(old_state->re_state_reglastcloseparen,
-			      proto_perl);
-		/* XXX This just has to be broken. The old save_re_context
-		   code did SAVEGENERICPV(PL_reg_start_tmp);
-		   PL_reg_start_tmp is char **.
-		   Look above to what the dup code does for
-		   SAVEt_GENERIC_PVREF
-		   It can never have worked.
-		   So this is merely a faithful copy of the exiting bug:  */
-		new_state->re_state_reg_start_tmp
-		    = (char **) pv_dup((char *)
-				      old_state->re_state_reg_start_tmp);
-		/* I assume that it only ever "worked" because no-one called
-		   (pseudo)fork while the regexp engine had re-entered itself.
-		*/
-#ifdef PERL_OLD_COPY_ON_WRITE
+#ifdef PERL_ANY_COW
 		new_state->re_state_nrs
 		    = sv_dup(old_state->re_state_nrs, param);
 #endif
@@ -12696,19 +12991,19 @@
 The pseudo-fork code uses COPY_STACKS while the
 threads->create doesn't.
 
-CLONEf_KEEP_PTR_TABLE
+CLONEf_KEEP_PTR_TABLE -
 perl_clone keeps a ptr_table with the pointer of the old
 variable as a key and the new variable as a value,
 this allows it to check if something has been cloned and not
 clone it again but rather just use the value and increase the
-refcount. If KEEP_PTR_TABLE is not set then perl_clone will kill
+refcount.  If KEEP_PTR_TABLE is not set then perl_clone will kill
 the ptr_table using the function
 C<ptr_table_free(PL_ptr_table); PL_ptr_table = NULL;>,
 reason to keep it around is if you want to dup some of your own
 variable who are outside the graph perl scans, example of this
-code is in threads.xs create
+code is in threads.xs create.
 
-CLONEf_CLONE_HOST
+CLONEf_CLONE_HOST -
 This is a win32 thing, it is ignored on unix, it tells perls
 win32host code (which is c++) to clone itself, this is needed on
 win32 if you want to run two threads at the same time,
@@ -12785,6 +13080,7 @@
     PoisonNew(my_perl, 1, PerlInterpreter);
     PL_op = NULL;
     PL_curcop = NULL;
+    PL_defstash = NULL; /* may be used by perl malloc() */
     PL_markstack = 0;
     PL_scopestack = 0;
     PL_scopestack_name = 0;
@@ -12814,6 +13110,7 @@
     PL_Proc		= ipP;
 #endif		/* PERL_IMPLICIT_SYS */
 
+
     param->flags = flags;
     /* Nothing in the core code uses this, but we make it available to
        extensions (using mg_dup).  */
@@ -12823,6 +13120,7 @@
     param->new_perl = my_perl;
     param->unreferenced = NULL;
 
+
     INIT_TRACK_MEMPOOL(my_perl->Imemory_debug_header, my_perl);
 
     PL_body_arenas = NULL;
@@ -12829,15 +13127,237 @@
     Zero(&PL_body_roots, 1, PL_body_roots);
     
     PL_sv_count		= 0;
-    PL_sv_objcount	= 0;
     PL_sv_root		= NULL;
     PL_sv_arenaroot	= NULL;
 
     PL_debug		= proto_perl->Idebug;
 
-    PL_hash_seed	= proto_perl->Ihash_seed;
-    PL_rehash_seed	= proto_perl->Irehash_seed;
+    /* dbargs array probably holds garbage */
+    PL_dbargs		= NULL;
 
+    PL_compiling = proto_perl->Icompiling;
+
+    /* pseudo environmental stuff */
+    PL_origargc		= proto_perl->Iorigargc;
+    PL_origargv		= proto_perl->Iorigargv;
+
+#if !NO_TAINT_SUPPORT
+    /* Set tainting stuff before PerlIO_debug can possibly get called */
+    PL_tainting		= proto_perl->Itainting;
+    PL_taint_warn	= proto_perl->Itaint_warn;
+#else
+    PL_tainting         = FALSE;
+    PL_taint_warn	= FALSE;
+#endif
+
+    PL_minus_c		= proto_perl->Iminus_c;
+
+    PL_localpatches	= proto_perl->Ilocalpatches;
+    PL_splitstr		= proto_perl->Isplitstr;
+    PL_minus_n		= proto_perl->Iminus_n;
+    PL_minus_p		= proto_perl->Iminus_p;
+    PL_minus_l		= proto_perl->Iminus_l;
+    PL_minus_a		= proto_perl->Iminus_a;
+    PL_minus_E		= proto_perl->Iminus_E;
+    PL_minus_F		= proto_perl->Iminus_F;
+    PL_doswitches	= proto_perl->Idoswitches;
+    PL_dowarn		= proto_perl->Idowarn;
+#ifdef PERL_SAWAMPERSAND
+    PL_sawampersand	= proto_perl->Isawampersand;
+#endif
+    PL_unsafe		= proto_perl->Iunsafe;
+    PL_perldb		= proto_perl->Iperldb;
+    PL_perl_destruct_level = proto_perl->Iperl_destruct_level;
+    PL_exit_flags       = proto_perl->Iexit_flags;
+
+    /* XXX time(&PL_basetime) when asked for? */
+    PL_basetime		= proto_perl->Ibasetime;
+
+    PL_maxsysfd		= proto_perl->Imaxsysfd;
+    PL_statusvalue	= proto_perl->Istatusvalue;
+#ifdef VMS
+    PL_statusvalue_vms	= proto_perl->Istatusvalue_vms;
+#else
+    PL_statusvalue_posix = proto_perl->Istatusvalue_posix;
+#endif
+
+    /* RE engine related */
+    Zero(&PL_reg_state, 1, struct re_save_state);
+    PL_regmatch_slab	= NULL;
+
+    PL_sub_generation	= proto_perl->Isub_generation;
+
+    /* funky return mechanisms */
+    PL_forkprocess	= proto_perl->Iforkprocess;
+
+    /* internal state */
+    PL_maxo		= proto_perl->Imaxo;
+
+    PL_main_start	= proto_perl->Imain_start;
+    PL_eval_root	= proto_perl->Ieval_root;
+    PL_eval_start	= proto_perl->Ieval_start;
+
+    PL_filemode		= proto_perl->Ifilemode;
+    PL_lastfd		= proto_perl->Ilastfd;
+    PL_oldname		= proto_perl->Ioldname;		/* XXX not quite right */
+    PL_Argv		= NULL;
+    PL_Cmd		= NULL;
+    PL_gensym		= proto_perl->Igensym;
+
+    PL_laststatval	= proto_perl->Ilaststatval;
+    PL_laststype	= proto_perl->Ilaststype;
+    PL_mess_sv		= NULL;
+
+    PL_profiledata	= NULL;
+
+    PL_generation	= proto_perl->Igeneration;
+
+    PL_in_clean_objs	= proto_perl->Iin_clean_objs;
+    PL_in_clean_all	= proto_perl->Iin_clean_all;
+
+    PL_delaymagic_uid	= proto_perl->Idelaymagic_uid;
+    PL_delaymagic_euid	= proto_perl->Idelaymagic_euid;
+    PL_delaymagic_gid	= proto_perl->Idelaymagic_gid;
+    PL_delaymagic_egid	= proto_perl->Idelaymagic_egid;
+    PL_nomemok		= proto_perl->Inomemok;
+    PL_an		= proto_perl->Ian;
+    PL_evalseq		= proto_perl->Ievalseq;
+    PL_origenviron	= proto_perl->Iorigenviron;	/* XXX not quite right */
+    PL_origalen		= proto_perl->Iorigalen;
+
+    PL_sighandlerp	= proto_perl->Isighandlerp;
+
+    PL_runops		= proto_perl->Irunops;
+
+    PL_subline		= proto_perl->Isubline;
+
+#ifdef FCRYPT
+    PL_cryptseen	= proto_perl->Icryptseen;
+#endif
+
+    PL_hints		= proto_perl->Ihints;
+
+#ifdef USE_LOCALE_COLLATE
+    PL_collation_ix	= proto_perl->Icollation_ix;
+    PL_collation_standard	= proto_perl->Icollation_standard;
+    PL_collxfrm_base	= proto_perl->Icollxfrm_base;
+    PL_collxfrm_mult	= proto_perl->Icollxfrm_mult;
+#endif /* USE_LOCALE_COLLATE */
+
+#ifdef USE_LOCALE_NUMERIC
+    PL_numeric_standard	= proto_perl->Inumeric_standard;
+    PL_numeric_local	= proto_perl->Inumeric_local;
+#endif /* !USE_LOCALE_NUMERIC */
+
+    /* Did the locale setup indicate UTF-8? */
+    PL_utf8locale	= proto_perl->Iutf8locale;
+    /* Unicode features (see perlrun/-C) */
+    PL_unicode		= proto_perl->Iunicode;
+
+    /* Pre-5.8 signals control */
+    PL_signals		= proto_perl->Isignals;
+
+    /* times() ticks per second */
+    PL_clocktick	= proto_perl->Iclocktick;
+
+    /* Recursion stopper for PerlIO_find_layer */
+    PL_in_load_module	= proto_perl->Iin_load_module;
+
+    /* sort() routine */
+    PL_sort_RealCmp	= proto_perl->Isort_RealCmp;
+
+    /* Not really needed/useful since the reenrant_retint is "volatile",
+     * but do it for consistency's sake. */
+    PL_reentrant_retint	= proto_perl->Ireentrant_retint;
+
+    /* Hooks to shared SVs and locks. */
+    PL_sharehook	= proto_perl->Isharehook;
+    PL_lockhook		= proto_perl->Ilockhook;
+    PL_unlockhook	= proto_perl->Iunlockhook;
+    PL_threadhook	= proto_perl->Ithreadhook;
+    PL_destroyhook	= proto_perl->Idestroyhook;
+    PL_signalhook	= proto_perl->Isignalhook;
+
+    PL_globhook		= proto_perl->Iglobhook;
+
+    /* swatch cache */
+    PL_last_swash_hv	= NULL;	/* reinits on demand */
+    PL_last_swash_klen	= 0;
+    PL_last_swash_key[0]= '\0';
+    PL_last_swash_tmps	= (U8*)NULL;
+    PL_last_swash_slen	= 0;
+
+    PL_srand_called	= proto_perl->Isrand_called;
+
+    if (flags & CLONEf_COPY_STACKS) {
+	/* next allocation will be PL_tmps_stack[PL_tmps_ix+1] */
+	PL_tmps_ix		= proto_perl->Itmps_ix;
+	PL_tmps_max		= proto_perl->Itmps_max;
+	PL_tmps_floor		= proto_perl->Itmps_floor;
+
+	/* next push_scope()/ENTER sets PL_scopestack[PL_scopestack_ix]
+	 * NOTE: unlike the others! */
+	PL_scopestack_ix	= proto_perl->Iscopestack_ix;
+	PL_scopestack_max	= proto_perl->Iscopestack_max;
+
+	/* next SSPUSHFOO() sets PL_savestack[PL_savestack_ix]
+	 * NOTE: unlike the others! */
+	PL_savestack_ix		= proto_perl->Isavestack_ix;
+	PL_savestack_max	= proto_perl->Isavestack_max;
+    }
+
+    PL_start_env	= proto_perl->Istart_env;	/* XXXXXX */
+    PL_top_env		= &PL_start_env;
+
+    PL_op		= proto_perl->Iop;
+
+    PL_Sv		= NULL;
+    PL_Xpv		= (XPV*)NULL;
+    my_perl->Ina	= proto_perl->Ina;
+
+    PL_statbuf		= proto_perl->Istatbuf;
+    PL_statcache	= proto_perl->Istatcache;
+
+#ifdef HAS_TIMES
+    PL_timesbuf		= proto_perl->Itimesbuf;
+#endif
+
+#if !NO_TAINT_SUPPORT
+    PL_tainted		= proto_perl->Itainted;
+#else
+    PL_tainted          = FALSE;
+#endif
+    PL_curpm		= proto_perl->Icurpm;	/* XXX No PMOP ref count */
+
+    PL_chopset		= proto_perl->Ichopset;	/* XXX never deallocated */
+
+    PL_restartjmpenv	= proto_perl->Irestartjmpenv;
+    PL_restartop	= proto_perl->Irestartop;
+    PL_in_eval		= proto_perl->Iin_eval;
+    PL_delaymagic	= proto_perl->Idelaymagic;
+    PL_phase		= proto_perl->Iphase;
+    PL_localizing	= proto_perl->Ilocalizing;
+
+    PL_hv_fetch_ent_mh	= NULL;
+    PL_modcount		= proto_perl->Imodcount;
+    PL_lastgotoprobe	= NULL;
+    PL_dumpindent	= proto_perl->Idumpindent;
+
+    PL_efloatbuf	= NULL;		/* reinits on demand */
+    PL_efloatsize	= 0;			/* reinits on demand */
+
+    /* regex stuff */
+
+    PL_regdummy		= proto_perl->Iregdummy;
+    PL_colorset		= 0;		/* reinits PL_colors[] */
+    /*PL_colors[6]	= {0,0,0,0,0,0};*/
+
+    /* Pluggable optimizer */
+    PL_peepp		= proto_perl->Ipeepp;
+    PL_rpeepp		= proto_perl->Irpeepp;
+    /* op_free() hook */
+    PL_opfreehook	= proto_perl->Iopfreehook;
+
 #ifdef USE_REENTRANT_API
     /* XXX: things like -Dm will segfault here in perlio, but doing
      *  PERL_SET_CONTEXT(proto_perl);
@@ -12850,36 +13370,11 @@
     PL_ptr_table = ptr_table_new();
 
     /* initialize these special pointers as early as possible */
-    SvANY(&PL_sv_undef)		= NULL;
-    SvREFCNT(&PL_sv_undef)	= (~(U32)0)/2;
-    SvFLAGS(&PL_sv_undef)	= SVf_READONLY|SVt_NULL;
+    init_constants();
     ptr_table_store(PL_ptr_table, &proto_perl->Isv_undef, &PL_sv_undef);
-
-    SvANY(&PL_sv_no)		= new_XPVNV();
-    SvREFCNT(&PL_sv_no)		= (~(U32)0)/2;
-    SvFLAGS(&PL_sv_no)		= SVp_IOK|SVf_IOK|SVp_NOK|SVf_NOK
-				  |SVp_POK|SVf_POK|SVf_READONLY|SVt_PVNV;
-    SvPV_set(&PL_sv_no, savepvn(PL_No, 0));
-    SvCUR_set(&PL_sv_no, 0);
-    SvLEN_set(&PL_sv_no, 1);
-    SvIV_set(&PL_sv_no, 0);
-    SvNV_set(&PL_sv_no, 0);
     ptr_table_store(PL_ptr_table, &proto_perl->Isv_no, &PL_sv_no);
-
-    SvANY(&PL_sv_yes)		= new_XPVNV();
-    SvREFCNT(&PL_sv_yes)	= (~(U32)0)/2;
-    SvFLAGS(&PL_sv_yes)		= SVp_IOK|SVf_IOK|SVp_NOK|SVf_NOK
-				  |SVp_POK|SVf_POK|SVf_READONLY|SVt_PVNV;
-    SvPV_set(&PL_sv_yes, savepvn(PL_Yes, 1));
-    SvCUR_set(&PL_sv_yes, 1);
-    SvLEN_set(&PL_sv_yes, 2);
-    SvIV_set(&PL_sv_yes, 1);
-    SvNV_set(&PL_sv_yes, 1);
     ptr_table_store(PL_ptr_table, &proto_perl->Isv_yes, &PL_sv_yes);
 
-    /* dbargs array probably holds garbage */
-    PL_dbargs		= NULL;
-
     /* create (a non-shared!) shared string table */
     PL_strtab		= newHV();
     HvSHAREKEYS_off(PL_strtab);
@@ -12886,12 +13381,7 @@
     hv_ksplit(PL_strtab, HvTOTALKEYS(proto_perl->Istrtab));
     ptr_table_store(PL_ptr_table, proto_perl->Istrtab, PL_strtab);
 
-    PL_compiling = proto_perl->Icompiling;
-
-    /* These two PVs will be free'd special way so must set them same way op.c does */
-    PL_compiling.cop_stashpv = savesharedpv(PL_compiling.cop_stashpv);
-    ptr_table_store(PL_ptr_table, proto_perl->Icompiling.cop_stashpv, PL_compiling.cop_stashpv);
-
+    /* This PV will be free'd special way so must set it same way op.c does */
     PL_compiling.cop_file    = savesharedpv(PL_compiling.cop_file);
     ptr_table_store(PL_ptr_table, proto_perl->Icompiling.cop_file, PL_compiling.cop_file);
 
@@ -12899,15 +13389,7 @@
     PL_compiling.cop_warnings = DUP_WARNINGS(PL_compiling.cop_warnings);
     CopHINTHASH_set(&PL_compiling, cophh_copy(CopHINTHASH_get(&PL_compiling)));
     PL_curcop		= (COP*)any_dup(proto_perl->Icurcop, proto_perl);
-#ifdef PERL_DEBUG_READONLY_OPS
-    PL_slabs = NULL;
-    PL_slab_count = 0;
-#endif
 
-    /* pseudo environmental stuff */
-    PL_origargc		= proto_perl->Iorigargc;
-    PL_origargv		= proto_perl->Iorigargv;
-
     param->stashes      = newAV();  /* Setup array of objects to call clone on */
     /* This makes no difference to the implementation, as it always pushes
        and shifts pointers to other SVs without changing their reference
@@ -12921,10 +13403,6 @@
 	param->unreferenced = newAV();
     }
 
-    /* Set tainting stuff before PerlIO_debug can possibly get called */
-    PL_tainting		= proto_perl->Itainting;
-    PL_taint_warn	= proto_perl->Itaint_warn;
-
 #ifdef PERLIO_LAYERS
     /* Clone PerlIO tables as soon as we can handle general xx_dup() */
     PerlIO_clone(aTHX_ proto_perl, param);
@@ -12938,39 +13416,13 @@
     PL_warnhook		= sv_dup_inc(proto_perl->Iwarnhook, param);
 
     /* switches */
-    PL_minus_c		= proto_perl->Iminus_c;
     PL_patchlevel	= sv_dup_inc(proto_perl->Ipatchlevel, param);
     PL_apiversion	= sv_dup_inc(proto_perl->Iapiversion, param);
-    PL_localpatches	= proto_perl->Ilocalpatches;
-    PL_splitstr		= proto_perl->Isplitstr;
-    PL_minus_n		= proto_perl->Iminus_n;
-    PL_minus_p		= proto_perl->Iminus_p;
-    PL_minus_l		= proto_perl->Iminus_l;
-    PL_minus_a		= proto_perl->Iminus_a;
-    PL_minus_E		= proto_perl->Iminus_E;
-    PL_minus_F		= proto_perl->Iminus_F;
-    PL_doswitches	= proto_perl->Idoswitches;
-    PL_dowarn		= proto_perl->Idowarn;
-    PL_sawampersand	= proto_perl->Isawampersand;
-    PL_unsafe		= proto_perl->Iunsafe;
     PL_inplace		= SAVEPV(proto_perl->Iinplace);
     PL_e_script		= sv_dup_inc(proto_perl->Ie_script, param);
-    PL_perldb		= proto_perl->Iperldb;
-    PL_perl_destruct_level = proto_perl->Iperl_destruct_level;
-    PL_exit_flags       = proto_perl->Iexit_flags;
 
     /* magical thingies */
-    /* XXX time(&PL_basetime) when asked for? */
-    PL_basetime		= proto_perl->Ibasetime;
-    PL_formfeed		= sv_dup(proto_perl->Iformfeed, param);
 
-    PL_maxsysfd		= proto_perl->Imaxsysfd;
-    PL_statusvalue	= proto_perl->Istatusvalue;
-#ifdef VMS
-    PL_statusvalue_vms	= proto_perl->Istatusvalue_vms;
-#else
-    PL_statusvalue_posix = proto_perl->Istatusvalue_posix;
-#endif
     PL_encoding		= sv_dup(proto_perl->Iencoding, param);
 
     sv_setpvs(PERL_DEBUG_PAD(0), "");	/* For regex debugging. */
@@ -12978,11 +13430,6 @@
     sv_setpvs(PERL_DEBUG_PAD(2), "");	/* even without DEBUGGING. */
 
    
-    /* RE engine related */
-    Zero(&PL_reg_state, 1, struct re_save_state);
-    PL_reginterp_cnt	= 0;
-    PL_regmatch_slab	= NULL;
-    
     /* Clone the regex array */
     /* ORANGE FIXME for plugins, probably in the SV dup code.
        newSViv(PTR2IV(CALLREGDUPE(
@@ -12991,6 +13438,15 @@
     PL_regex_padav = av_dup_inc(proto_perl->Iregex_padav, param);
     PL_regex_pad = AvARRAY(PL_regex_padav);
 
+    PL_stashpadmax	= proto_perl->Istashpadmax;
+    PL_stashpadix	= proto_perl->Istashpadix ;
+    Newx(PL_stashpad, PL_stashpadmax, HV *);
+    {
+	PADOFFSET o = 0;
+	for (; o < PL_stashpadmax; ++o)
+	    PL_stashpad[o] = hv_dup(proto_perl->Istashpad[o], param);
+    }
+
     /* shortcuts to various I/O objects */
     PL_ofsgv            = gv_dup_inc(proto_perl->Iofsgv, param);
     PL_stdingv		= gv_dup(proto_perl->Istdingv, param);
@@ -13016,7 +13472,7 @@
 
     /* symbol tables */
     PL_defstash		= hv_dup_inc(proto_perl->Idefstash, param);
-    PL_curstash		= hv_dup(proto_perl->Icurstash, param);
+    PL_curstash		= hv_dup_inc(proto_perl->Icurstash, param);
     PL_debstash		= hv_dup(proto_perl->Idebstash, param);
     PL_globalstash	= hv_dup(proto_perl->Iglobalstash, param);
     PL_curstname	= sv_dup_inc(proto_perl->Icurstname, param);
@@ -13030,17 +13486,11 @@
     PL_checkav		= av_dup_inc(proto_perl->Icheckav, param);
     PL_initav		= av_dup_inc(proto_perl->Iinitav, param);
 
-    PL_sub_generation	= proto_perl->Isub_generation;
     PL_isarev		= hv_dup_inc(proto_perl->Iisarev, param);
 
-    /* funky return mechanisms */
-    PL_forkprocess	= proto_perl->Iforkprocess;
-
     /* subprocess state */
     PL_fdpid		= av_dup_inc(proto_perl->Ifdpid, param);
 
-    /* internal state */
-    PL_maxo		= proto_perl->Imaxo;
     if (proto_perl->Iop_mask)
 	PL_op_mask	= SAVEPVN(proto_perl->Iop_mask, PL_maxo);
     else
@@ -13052,23 +13502,11 @@
     OP_REFCNT_LOCK;
     PL_main_root	= OpREFCNT_inc(proto_perl->Imain_root);
     OP_REFCNT_UNLOCK;
-    PL_main_start	= proto_perl->Imain_start;
-    PL_eval_root	= proto_perl->Ieval_root;
-    PL_eval_start	= proto_perl->Ieval_start;
 
     /* runtime control stuff */
     PL_curcopdb		= (COP*)any_dup(proto_perl->Icurcopdb, proto_perl);
 
-    PL_filemode		= proto_perl->Ifilemode;
-    PL_lastfd		= proto_perl->Ilastfd;
-    PL_oldname		= proto_perl->Ioldname;		/* XXX not quite right */
-    PL_Argv		= NULL;
-    PL_Cmd		= NULL;
-    PL_gensym		= proto_perl->Igensym;
     PL_preambleav	= av_dup_inc(proto_perl->Ipreambleav, param);
-    PL_laststatval	= proto_perl->Ilaststatval;
-    PL_laststype	= proto_perl->Ilaststype;
-    PL_mess_sv		= NULL;
 
     PL_ors_sv		= sv_dup_inc(proto_perl->Iors_sv, param);
 
@@ -13101,8 +13539,6 @@
     PL_custom_op_descs  = hv_dup_inc(proto_perl->Icustom_op_descs,param);
     PL_custom_ops	= hv_dup_inc(proto_perl->Icustom_ops, param);
 
-    PL_profiledata	= NULL;
-
     PL_compcv			= cv_dup(proto_perl->Icompcv, param);
 
     PAD_CLONE_VARS(proto_perl, param);
@@ -13111,30 +13547,12 @@
     sys_intern_dup(&proto_perl->Isys_intern, &PL_sys_intern);
 #endif
 
-    /* more statics moved here */
-    PL_generation	= proto_perl->Igeneration;
     PL_DBcv		= cv_dup(proto_perl->IDBcv, param);
 
-    PL_in_clean_objs	= proto_perl->Iin_clean_objs;
-    PL_in_clean_all	= proto_perl->Iin_clean_all;
-
-    PL_uid		= proto_perl->Iuid;
-    PL_euid		= proto_perl->Ieuid;
-    PL_gid		= proto_perl->Igid;
-    PL_egid		= proto_perl->Iegid;
-    PL_nomemok		= proto_perl->Inomemok;
-    PL_an		= proto_perl->Ian;
-    PL_evalseq		= proto_perl->Ievalseq;
-    PL_origenviron	= proto_perl->Iorigenviron;	/* XXX not quite right */
-    PL_origalen		= proto_perl->Iorigalen;
 #ifdef PERL_USES_PL_PIDSTATUS
     PL_pidstatus	= newHV();			/* XXX flag for cloning? */
 #endif
     PL_osname		= SAVEPV(proto_perl->Iosname);
-    PL_sighandlerp	= proto_perl->Isighandlerp;
-
-    PL_runops		= proto_perl->Irunops;
-
     PL_parser		= parser_dup(proto_perl->Iparser, param);
 
     /* XXX this only works if the saved cop has already been cloned */
@@ -13144,56 +13562,36 @@
 				    proto_perl);
     }
 
-    PL_subline		= proto_perl->Isubline;
     PL_subname		= sv_dup_inc(proto_perl->Isubname, param);
 
-#ifdef FCRYPT
-    PL_cryptseen	= proto_perl->Icryptseen;
-#endif
-
-    PL_hints		= proto_perl->Ihints;
-
-    PL_amagic_generation	= proto_perl->Iamagic_generation;
-
 #ifdef USE_LOCALE_COLLATE
-    PL_collation_ix	= proto_perl->Icollation_ix;
     PL_collation_name	= SAVEPV(proto_perl->Icollation_name);
-    PL_collation_standard	= proto_perl->Icollation_standard;
-    PL_collxfrm_base	= proto_perl->Icollxfrm_base;
-    PL_collxfrm_mult	= proto_perl->Icollxfrm_mult;
 #endif /* USE_LOCALE_COLLATE */
 
 #ifdef USE_LOCALE_NUMERIC
     PL_numeric_name	= SAVEPV(proto_perl->Inumeric_name);
-    PL_numeric_standard	= proto_perl->Inumeric_standard;
-    PL_numeric_local	= proto_perl->Inumeric_local;
     PL_numeric_radix_sv	= sv_dup_inc(proto_perl->Inumeric_radix_sv, param);
 #endif /* !USE_LOCALE_NUMERIC */
 
-    /* utf8 character classes */
-    PL_utf8_alnum	= sv_dup_inc(proto_perl->Iutf8_alnum, param);
-    PL_utf8_ascii	= sv_dup_inc(proto_perl->Iutf8_ascii, param);
-    PL_utf8_alpha	= sv_dup_inc(proto_perl->Iutf8_alpha, param);
-    PL_utf8_space	= sv_dup_inc(proto_perl->Iutf8_space, param);
-    PL_utf8_cntrl	= sv_dup_inc(proto_perl->Iutf8_cntrl, param);
-    PL_utf8_graph	= sv_dup_inc(proto_perl->Iutf8_graph, param);
-    PL_utf8_digit	= sv_dup_inc(proto_perl->Iutf8_digit, param);
-    PL_utf8_upper	= sv_dup_inc(proto_perl->Iutf8_upper, param);
-    PL_utf8_lower	= sv_dup_inc(proto_perl->Iutf8_lower, param);
-    PL_utf8_print	= sv_dup_inc(proto_perl->Iutf8_print, param);
-    PL_utf8_punct	= sv_dup_inc(proto_perl->Iutf8_punct, param);
-    PL_utf8_xdigit	= sv_dup_inc(proto_perl->Iutf8_xdigit, param);
+    /* Unicode inversion lists */
+    PL_ASCII		= sv_dup_inc(proto_perl->IASCII, param);
+    PL_Latin1		= sv_dup_inc(proto_perl->ILatin1, param);
+
+    PL_NonL1NonFinalFold = sv_dup_inc(proto_perl->INonL1NonFinalFold, param);
+    PL_HasMultiCharFold= sv_dup_inc(proto_perl->IHasMultiCharFold, param);
+
+    /* utf8 character class swashes */
+    for (i = 0; i < POSIX_SWASH_COUNT; i++) {
+        PL_utf8_swash_ptrs[i] = sv_dup_inc(proto_perl->Iutf8_swash_ptrs[i], param);
+    }
+    for (i = 0; i < POSIX_CC_COUNT; i++) {
+        PL_Posix_ptrs[i] = sv_dup_inc(proto_perl->IPosix_ptrs[i], param);
+        PL_L1Posix_ptrs[i] = sv_dup_inc(proto_perl->IL1Posix_ptrs[i], param);
+        PL_XPosix_ptrs[i] = sv_dup_inc(proto_perl->IXPosix_ptrs[i], param);
+    }
     PL_utf8_mark	= sv_dup_inc(proto_perl->Iutf8_mark, param);
-    PL_utf8_X_begin	= sv_dup_inc(proto_perl->Iutf8_X_begin, param);
+    PL_utf8_X_regular_begin	= sv_dup_inc(proto_perl->Iutf8_X_regular_begin, param);
     PL_utf8_X_extend	= sv_dup_inc(proto_perl->Iutf8_X_extend, param);
-    PL_utf8_X_prepend	= sv_dup_inc(proto_perl->Iutf8_X_prepend, param);
-    PL_utf8_X_non_hangul	= sv_dup_inc(proto_perl->Iutf8_X_non_hangul, param);
-    PL_utf8_X_L	= sv_dup_inc(proto_perl->Iutf8_X_L, param);
-    PL_utf8_X_LV	= sv_dup_inc(proto_perl->Iutf8_X_LV, param);
-    PL_utf8_X_LVT	= sv_dup_inc(proto_perl->Iutf8_X_LVT, param);
-    PL_utf8_X_T	= sv_dup_inc(proto_perl->Iutf8_X_T, param);
-    PL_utf8_X_V	= sv_dup_inc(proto_perl->Iutf8_X_V, param);
-    PL_utf8_X_LV_LVT_V	= sv_dup_inc(proto_perl->Iutf8_X_LV_LVT_V, param);
     PL_utf8_toupper	= sv_dup_inc(proto_perl->Iutf8_toupper, param);
     PL_utf8_totitle	= sv_dup_inc(proto_perl->Iutf8_totitle, param);
     PL_utf8_tolower	= sv_dup_inc(proto_perl->Iutf8_tolower, param);
@@ -13200,53 +13598,17 @@
     PL_utf8_tofold	= sv_dup_inc(proto_perl->Iutf8_tofold, param);
     PL_utf8_idstart	= sv_dup_inc(proto_perl->Iutf8_idstart, param);
     PL_utf8_xidstart	= sv_dup_inc(proto_perl->Iutf8_xidstart, param);
+    PL_utf8_perl_idstart = sv_dup_inc(proto_perl->Iutf8_perl_idstart, param);
+    PL_utf8_perl_idcont = sv_dup_inc(proto_perl->Iutf8_perl_idcont, param);
     PL_utf8_idcont	= sv_dup_inc(proto_perl->Iutf8_idcont, param);
     PL_utf8_xidcont	= sv_dup_inc(proto_perl->Iutf8_xidcont, param);
-    PL_utf8_foldable	= hv_dup_inc(proto_perl->Iutf8_foldable, param);
+    PL_utf8_foldable	= sv_dup_inc(proto_perl->Iutf8_foldable, param);
+    PL_utf8_charname_begin = sv_dup_inc(proto_perl->Iutf8_charname_begin, param);
+    PL_utf8_charname_continue = sv_dup_inc(proto_perl->Iutf8_charname_continue, param);
+    PL_ASCII		= sv_dup_inc(proto_perl->IASCII, param);
+    PL_AboveLatin1	= sv_dup_inc(proto_perl->IAboveLatin1, param);
+    PL_Latin1		= sv_dup_inc(proto_perl->ILatin1, param);
 
-    /* Did the locale setup indicate UTF-8? */
-    PL_utf8locale	= proto_perl->Iutf8locale;
-    /* Unicode features (see perlrun/-C) */
-    PL_unicode		= proto_perl->Iunicode;
-
-    /* Pre-5.8 signals control */
-    PL_signals		= proto_perl->Isignals;
-
-    /* times() ticks per second */
-    PL_clocktick	= proto_perl->Iclocktick;
-
-    /* Recursion stopper for PerlIO_find_layer */
-    PL_in_load_module	= proto_perl->Iin_load_module;
-
-    /* sort() routine */
-    PL_sort_RealCmp	= proto_perl->Isort_RealCmp;
-
-    /* Not really needed/useful since the reenrant_retint is "volatile",
-     * but do it for consistency's sake. */
-    PL_reentrant_retint	= proto_perl->Ireentrant_retint;
-
-    /* Hooks to shared SVs and locks. */
-    PL_sharehook	= proto_perl->Isharehook;
-    PL_lockhook		= proto_perl->Ilockhook;
-    PL_unlockhook	= proto_perl->Iunlockhook;
-    PL_threadhook	= proto_perl->Ithreadhook;
-    PL_destroyhook	= proto_perl->Idestroyhook;
-    PL_signalhook	= proto_perl->Isignalhook;
-
-#ifdef THREADS_HAVE_PIDS
-    PL_ppid		= proto_perl->Ippid;
-#endif
-
-    /* swatch cache */
-    PL_last_swash_hv	= NULL;	/* reinits on demand */
-    PL_last_swash_klen	= 0;
-    PL_last_swash_key[0]= '\0';
-    PL_last_swash_tmps	= (U8*)NULL;
-    PL_last_swash_slen	= 0;
-
-    PL_glob_index	= proto_perl->Iglob_index;
-    PL_srand_called	= proto_perl->Isrand_called;
-
     if (proto_perl->Ipsig_pend) {
 	Newxz(PL_psig_pend, SIG_SIZE, int);
     }
@@ -13265,13 +13627,7 @@
 	PL_psig_name	= (SV**)NULL;
     }
 
-    /* intrpvar.h stuff */
-
     if (flags & CLONEf_COPY_STACKS) {
-	/* next allocation will be PL_tmps_stack[PL_tmps_ix+1] */
-	PL_tmps_ix		= proto_perl->Itmps_ix;
-	PL_tmps_max		= proto_perl->Itmps_max;
-	PL_tmps_floor		= proto_perl->Itmps_floor;
 	Newx(PL_tmps_stack, PL_tmps_max, SV*);
 	sv_dup_inc_multiple(proto_perl->Itmps_stack, PL_tmps_stack,
 			    PL_tmps_ix+1, param);
@@ -13288,8 +13644,6 @@
 
 	/* next push_scope()/ENTER sets PL_scopestack[PL_scopestack_ix]
 	 * NOTE: unlike the others! */
-	PL_scopestack_ix	= proto_perl->Iscopestack_ix;
-	PL_scopestack_max	= proto_perl->Iscopestack_max;
 	Newxz(PL_scopestack, PL_scopestack_max, I32);
 	Copy(proto_perl->Iscopestack, PL_scopestack, PL_scopestack_ix, I32);
 
@@ -13297,6 +13651,11 @@
 	Newxz(PL_scopestack_name, PL_scopestack_max, const char *);
 	Copy(proto_perl->Iscopestack_name, PL_scopestack_name, PL_scopestack_ix, const char *);
 #endif
+        /* reset stack AV to correct length before its duped via
+         * PL_curstackinfo */
+        AvFILLp(proto_perl->Icurstack) =
+                            proto_perl->Istack_sp - proto_perl->Istack_base;
+
 	/* NOTE: si_dup() looks at PL_markstack */
 	PL_curstackinfo		= si_dup(proto_perl->Icurstackinfo, param);
 
@@ -13310,10 +13669,6 @@
 						   - proto_perl->Istack_base);
 	PL_stack_max		= PL_stack_base + AvMAX(PL_curstack);
 
-	/* next SSPUSHFOO() sets PL_savestack[PL_savestack_ix]
-	 * NOTE: unlike the others! */
-	PL_savestack_ix		= proto_perl->Isavestack_ix;
-	PL_savestack_max	= proto_perl->Isavestack_max;
 	/*Newxz(PL_savestack, PL_savestack_max, ANY);*/
 	PL_savestack		= ss_dup(proto_perl, param);
     }
@@ -13322,73 +13677,23 @@
 	ENTER;			/* perl_destruct() wants to LEAVE; */
     }
 
-    PL_start_env	= proto_perl->Istart_env;	/* XXXXXX */
-    PL_top_env		= &PL_start_env;
-
-    PL_op		= proto_perl->Iop;
-
-    PL_Sv		= NULL;
-    PL_Xpv		= (XPV*)NULL;
-    my_perl->Ina	= proto_perl->Ina;
-
-    PL_statbuf		= proto_perl->Istatbuf;
-    PL_statcache	= proto_perl->Istatcache;
     PL_statgv		= gv_dup(proto_perl->Istatgv, param);
     PL_statname		= sv_dup_inc(proto_perl->Istatname, param);
-#ifdef HAS_TIMES
-    PL_timesbuf		= proto_perl->Itimesbuf;
-#endif
 
-    PL_tainted		= proto_perl->Itainted;
-    PL_curpm		= proto_perl->Icurpm;	/* XXX No PMOP ref count */
     PL_rs		= sv_dup_inc(proto_perl->Irs, param);
     PL_last_in_gv	= gv_dup(proto_perl->Ilast_in_gv, param);
     PL_defoutgv		= gv_dup_inc(proto_perl->Idefoutgv, param);
-    PL_chopset		= proto_perl->Ichopset;	/* XXX never deallocated */
     PL_toptarget	= sv_dup_inc(proto_perl->Itoptarget, param);
     PL_bodytarget	= sv_dup_inc(proto_perl->Ibodytarget, param);
     PL_formtarget	= sv_dup(proto_perl->Iformtarget, param);
 
-    PL_restartjmpenv	= proto_perl->Irestartjmpenv;
-    PL_restartop	= proto_perl->Irestartop;
-    PL_in_eval		= proto_perl->Iin_eval;
-    PL_delaymagic	= proto_perl->Idelaymagic;
-    PL_phase		= proto_perl->Iphase;
-    PL_localizing	= proto_perl->Ilocalizing;
-
     PL_errors		= sv_dup_inc(proto_perl->Ierrors, param);
-    PL_hv_fetch_ent_mh	= NULL;
-    PL_modcount		= proto_perl->Imodcount;
-    PL_lastgotoprobe	= NULL;
-    PL_dumpindent	= proto_perl->Idumpindent;
 
     PL_sortcop		= (OP*)any_dup(proto_perl->Isortcop, proto_perl);
     PL_sortstash	= hv_dup(proto_perl->Isortstash, param);
     PL_firstgv		= gv_dup(proto_perl->Ifirstgv, param);
     PL_secondgv		= gv_dup(proto_perl->Isecondgv, param);
-    PL_efloatbuf	= NULL;		/* reinits on demand */
-    PL_efloatsize	= 0;			/* reinits on demand */
 
-    /* regex stuff */
-
-    PL_screamfirst	= NULL;
-    PL_screamnext	= NULL;
-    PL_maxscream	= -1;			/* reinits on demand */
-    PL_lastscream	= NULL;
-
-
-    PL_regdummy		= proto_perl->Iregdummy;
-    PL_colorset		= 0;		/* reinits PL_colors[] */
-    /*PL_colors[6]	= {0,0,0,0,0,0};*/
-
-
-
-    /* Pluggable optimizer */
-    PL_peepp		= proto_perl->Ipeepp;
-    PL_rpeepp		= proto_perl->Irpeepp;
-    /* op_free() hook */
-    PL_opfreehook	= proto_perl->Iopfreehook;
-
     PL_stashcache       = newHV();
 
     PL_watchaddr	= (char **) ptr_table_fetch(PL_ptr_table,
@@ -13485,7 +13790,7 @@
 	} while (++svp <= last);
 	AvREAL_off(unreferenced);
     }
-    SvREFCNT_dec(unreferenced);
+    SvREFCNT_dec_NN(unreferenced);
 }
 
 void
@@ -13549,6 +13854,38 @@
 
 #endif /* USE_ITHREADS */
 
+void
+Perl_init_constants(pTHX)
+{
+    SvREFCNT(&PL_sv_undef)	= SvREFCNT_IMMORTAL;
+    SvFLAGS(&PL_sv_undef)	= SVf_READONLY|SVt_NULL;
+    SvANY(&PL_sv_undef)		= NULL;
+
+    SvANY(&PL_sv_no)		= new_XPVNV();
+    SvREFCNT(&PL_sv_no)		= SvREFCNT_IMMORTAL;
+    SvFLAGS(&PL_sv_no)		= SVt_PVNV|SVf_READONLY
+				  |SVp_IOK|SVf_IOK|SVp_NOK|SVf_NOK
+				  |SVp_POK|SVf_POK;
+
+    SvANY(&PL_sv_yes)		= new_XPVNV();
+    SvREFCNT(&PL_sv_yes)	= SvREFCNT_IMMORTAL;
+    SvFLAGS(&PL_sv_yes)		= SVt_PVNV|SVf_READONLY
+				  |SVp_IOK|SVf_IOK|SVp_NOK|SVf_NOK
+				  |SVp_POK|SVf_POK;
+
+    SvPV_set(&PL_sv_no, (char*)PL_No);
+    SvCUR_set(&PL_sv_no, 0);
+    SvLEN_set(&PL_sv_no, 0);
+    SvIV_set(&PL_sv_no, 0);
+    SvNV_set(&PL_sv_no, 0);
+
+    SvPV_set(&PL_sv_yes, (char*)PL_Yes);
+    SvCUR_set(&PL_sv_yes, 1);
+    SvLEN_set(&PL_sv_yes, 0);
+    SvIV_set(&PL_sv_yes, 1);
+    SvNV_set(&PL_sv_yes, 1);
+}
+
 /*
 =head1 Unicode Support
 
@@ -13561,7 +13898,7 @@
 If the sv already is UTF-8 (or if it is not POK), or if the encoding
 is not a reference, nothing is done to the sv.  If the encoding is not
 an C<Encode::XS> Encoding object, bad things will happen.
-(See F<lib/encoding.pm> and L<Encode>).
+(See F<lib/encoding.pm> and L<Encode>.)
 
 The PV of the sv is returned.
 
@@ -13584,8 +13921,8 @@
 	save_re_context();
 	PUSHMARK(sp);
 	EXTEND(SP, 3);
-	XPUSHs(encoding);
-	XPUSHs(sv);
+	PUSHs(encoding);
+	PUSHs(sv);
 /*
   NI-S 2002/07/09
   Passing sv_yes is wrong - it needs to be or'ed set of constants
@@ -13631,7 +13968,7 @@
 from the position which (PV + *offset) pointed to.  The dsv will be
 concatenated the decoded UTF-8 string from ssv.  Decoding will terminate
 when the string tstr appears in decoding output or the input ends on
-the PV of the ssv. The value which the offset points will be modified
+the PV of the ssv.  The value which the offset points will be modified
 to the last input position on the ssv.
 
 Returns TRUE if the terminator was found, else returns FALSE.
@@ -13655,12 +13992,12 @@
 	save_re_context();
 	PUSHMARK(sp);
 	EXTEND(SP, 6);
-	XPUSHs(encoding);
-	XPUSHs(dsv);
-	XPUSHs(ssv);
+	PUSHs(encoding);
+	PUSHs(dsv);
+	PUSHs(ssv);
 	offsv = newSViv(*offset);
-	mXPUSHs(offsv);
-	mXPUSHp(tstr, tlen);
+	mPUSHs(offsv);
+	mPUSHp(tstr, tlen);
 	PUTBACK;
 	call_method("cat_decode", G_SCALAR);
 	SPAGAIN;
@@ -13693,7 +14030,7 @@
 S_find_hash_subscript(pTHX_ const HV *const hv, const SV *const val)
 {
     dVAR;
-    register HE **array;
+    HE **array;
     I32 i;
 
     PERL_ARGS_ASSERT_FIND_HASH_SUBSCRIPT;
@@ -13704,8 +14041,8 @@
 
     array = HvARRAY(hv);
 
-    for (i=HvMAX(hv); i>0; i--) {
-	register HE *entry;
+    for (i=HvMAX(hv); i>=0; i--) {
+	HE *entry;
 	for (entry = array[i]; entry; entry = HeNEXT(entry)) {
 	    if (HeVAL(entry) != val)
 		continue;
@@ -13747,7 +14084,7 @@
     return -1;
 }
 
-/* S_varname(): return the name of a variable, optionally with a subscript.
+/* varname(): return the name of a variable, optionally with a subscript.
  * If gv is non-zero, use the name of that global, along with gvtype (one
  * of "$", "@", "%"); otherwise use the name of the lexical at pad offset
  * targ.  Depending on the value of the subscript_type flag, return:
@@ -13758,13 +14095,13 @@
 #define FUV_SUBSCRIPT_HASH	3	/* "$foo{keyname}" */
 #define FUV_SUBSCRIPT_WITHIN	4	/* "within @foo"   */
 
-STATIC SV*
-S_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ,
+SV*
+Perl_varname(pTHX_ const GV *const gv, const char gvtype, PADOFFSET targ,
 	const SV *const keyname, I32 aindex, int subscript_type)
 {
 
     SV * const name = sv_newmortal();
-    if (gv) {
+    if (gv && isGV(gv)) {
 	char buffer[2];
 	buffer[0] = gvtype;
 	buffer[1] = 0;
@@ -13783,15 +14120,17 @@
 	}
     }
     else {
-	CV * const cv = find_runcv(NULL);
+	CV * const cv = gv ? ((CV *)gv) : find_runcv(NULL);
 	SV *sv;
 	AV *av;
 
+	assert(!cv || SvTYPE(cv) == SVt_PVCV || SvTYPE(cv) == SVt_PVFM);
+
 	if (!cv || !CvPADLIST(cv))
 	    return NULL;
-	av = MUTABLE_AV((*av_fetch(CvPADLIST(cv), 0, FALSE)));
+	av = *PadlistARRAY(CvPADLIST(cv));
 	sv = *av_fetch(av, targ, FALSE);
-	sv_setpvn(name, SvPV_nolen_const(sv), SvCUR(sv));
+	sv_setsv_flags(name, sv, 0);
     }
 
     if (subscript_type == FUV_SUBSCRIPT_HASH) {
@@ -13798,8 +14137,9 @@
 	SV * const sv = newSV(0);
 	*SvPVX(name) = '$';
 	Perl_sv_catpvf(aTHX_ name, "{%s}",
-	    pv_display(sv,SvPVX_const(keyname), SvCUR(keyname), 0, 32));
-	SvREFCNT_dec(sv);
+	    pv_pretty(sv, SvPVX_const(keyname), SvCUR(keyname), 32, NULL, NULL,
+		    PERL_PV_PRETTY_DUMP | PERL_PV_ESCAPE_UNI_DETECT ));
+	SvREFCNT_dec_NN(sv);
     }
     else if (subscript_type == FUV_SUBSCRIPT_ARRAY) {
 	*SvPVX(name) = '$';
@@ -13817,12 +14157,12 @@
 /*
 =for apidoc find_uninit_var
 
-Find the name of the undefined variable (if any) that caused the operator o
+Find the name of the undefined variable (if any) that caused the operator
 to issue a "Use of uninitialized value" warning.
-If match is true, only return a name if it's value matches uninit_sv.
+If match is true, only return a name if its value matches uninit_sv.
 So roughly speaking, if a unary operator (such as OP_COS) generates a
 warning, then following the direct child of the op may yield an
-OP_PADSV or OP_GV that gives the name of the undefined variable. On the
+OP_PADSV or OP_GV that gives the name of the undefined variable.  On the
 other hand, with OP_ADD there are two branches to follow, so we only print
 the variable name if we get an exact match.
 
@@ -13854,8 +14194,16 @@
     case OP_PADAV:
     case OP_PADHV:
       {
-	const bool pad  = (obase->op_type == OP_PADAV || obase->op_type == OP_PADHV);
-	const bool hash = (obase->op_type == OP_PADHV || obase->op_type == OP_RV2HV);
+	const bool pad  = (    obase->op_type == OP_PADAV
+                            || obase->op_type == OP_PADHV
+                            || obase->op_type == OP_PADRANGE
+                          );
+
+	const bool hash = (    obase->op_type == OP_PADHV
+                            || obase->op_type == OP_RV2HV
+                            || (obase->op_type == OP_PADRANGE
+                                && SvTYPE(PAD_SVl(obase->op_targ)) == SVt_PVHV)
+                          );
 	I32 index = 0;
 	SV *keysv = NULL;
 	int subscript_type = FUV_SUBSCRIPT_WITHIN;
@@ -13872,9 +14220,11 @@
 		    break;
 		sv = hash ? MUTABLE_SV(GvHV(gv)): MUTABLE_SV(GvAV(gv));
 	    }
-	    else /* @{expr}, %{expr} */
+	    else if (obase == PL_op) /* @{expr}, %{expr} */
 		return find_uninit_var(cUNOPx(obase)->op_first,
 						    uninit_sv, match);
+	    else /* @{expr}, %{expr} as a sub-expression */
+		return NULL;
 	}
 
 	/* attempt to find a match within the aggregate */
@@ -13896,6 +14246,19 @@
 				    keysv, index, subscript_type);
       }
 
+    case OP_RV2SV:
+	if (cUNOPx(obase)->op_first->op_type == OP_GV) {
+	    /* $global */
+	    gv = cGVOPx_gv(cUNOPx(obase)->op_first);
+	    if (!gv || !GvSTASH(gv))
+		break;
+	    if (match && (GvSV(gv) != uninit_sv))
+		break;
+	    return varname(gv, '$', 0, NULL, 0, FUV_SUBSCRIPT_NONE);
+	}
+	/* ${expr} */
+	return find_uninit_var(cUNOPx(obase)->op_first, uninit_sv, 1);
+
     case OP_PADSV:
 	if (match && PAD_SVl(obase->op_targ) != uninit_sv)
 	    break;
@@ -13908,21 +14271,20 @@
 	    break;
 	return varname(gv, '$', 0, NULL, 0, FUV_SUBSCRIPT_NONE);
 
+    case OP_AELEMFAST_LEX:
+	if (match) {
+	    SV **svp;
+	    AV *av = MUTABLE_AV(PAD_SV(obase->op_targ));
+	    if (!av || SvRMAGICAL(av))
+		break;
+	    svp = av_fetch(av, (I32)obase->op_private, FALSE);
+	    if (!svp || *svp != uninit_sv)
+		break;
+	}
+	return varname(NULL, '$', obase->op_targ,
+		       NULL, (I32)obase->op_private, FUV_SUBSCRIPT_ARRAY);
     case OP_AELEMFAST:
-	if (obase->op_flags & OPf_SPECIAL) { /* lexical array */
-	    if (match) {
-		SV **svp;
-		AV *av = MUTABLE_AV(PAD_SV(obase->op_targ));
-		if (!av || SvRMAGICAL(av))
-		    break;
-		svp = av_fetch(av, (I32)obase->op_private, FALSE);
-		if (!svp || *svp != uninit_sv)
-		    break;
-	    }
-	    return varname(NULL, '$', obase->op_targ,
-		    NULL, (I32)obase->op_private, FUV_SUBSCRIPT_ARRAY);
-	}
-	else {
+	{
 	    gv = cGVOPx_gv(obase);
 	    if (!gv)
 		break;
@@ -13949,6 +14311,9 @@
 
     case OP_AELEM:
     case OP_HELEM:
+    {
+	bool negate = FALSE;
+
 	if (PL_op == obase)
 	    /* $a[uninit_expr] or $h{uninit_expr} */
 	    return find_uninit_var(cBINOPx(obase)->op_last, uninit_sv, match);
@@ -13974,18 +14339,32 @@
 	if (!sv)
 	    break;
 
+	if (kid && kid->op_type == OP_NEGATE) {
+	    negate = TRUE;
+	    kid = cUNOPx(kid)->op_first;
+	}
+
 	if (kid && kid->op_type == OP_CONST && SvOK(cSVOPx_sv(kid))) {
 	    /* index is constant */
+	    SV* kidsv;
+	    if (negate) {
+		kidsv = sv_2mortal(newSVpvs("-"));
+		sv_catsv(kidsv, cSVOPx_sv(kid));
+	    }
+	    else
+		kidsv = cSVOPx_sv(kid);
 	    if (match) {
 		if (SvMAGICAL(sv))
 		    break;
 		if (obase->op_type == OP_HELEM) {
-		    HE* he = hv_fetch_ent(MUTABLE_HV(sv), cSVOPx_sv(kid), 0, 0);
+		    HE* he = hv_fetch_ent(MUTABLE_HV(sv), kidsv, 0, 0);
 		    if (!he || HeVAL(he) != uninit_sv)
 			break;
 		}
 		else {
-		    SV * const * const svp = av_fetch(MUTABLE_AV(sv), SvIV(cSVOPx_sv(kid)), FALSE);
+		    SV * const * const svp = av_fetch(MUTABLE_AV(sv),
+			negate ? - SvIV(cSVOPx_sv(kid)) : SvIV(cSVOPx_sv(kid)),
+			FALSE);
 		    if (!svp || *svp != uninit_sv)
 			break;
 		}
@@ -13992,10 +14371,11 @@
 	    }
 	    if (obase->op_type == OP_HELEM)
 		return varname(gv, '%', o->op_targ,
-			    cSVOPx_sv(kid), 0, FUV_SUBSCRIPT_HASH);
+			    kidsv, 0, FUV_SUBSCRIPT_HASH);
 	    else
 		return varname(gv, '@', o->op_targ, NULL,
-			    SvIV(cSVOPx_sv(kid)), FUV_SUBSCRIPT_ARRAY);
+		    negate ? - SvIV(cSVOPx_sv(kid)) : SvIV(cSVOPx_sv(kid)),
+		    FUV_SUBSCRIPT_ARRAY);
 	}
 	else  {
 	    /* index is an expression;
@@ -14021,6 +14401,7 @@
 		o->op_targ, NULL, 0, FUV_SUBSCRIPT_WITHIN);
 	}
 	break;
+    }
 
     case OP_AASSIGN:
 	/* only examine RHS */
@@ -14028,7 +14409,9 @@
 
     case OP_OPEN:
 	o = cUNOPx(obase)->op_first;
-	if (o->op_type == OP_PUSHMARK)
+	if (   o->op_type == OP_PUSHMARK
+	   || (o->op_type == OP_NULL && o->op_targ == OP_PUSHMARK)
+        )
 	    o = o->op_sibling;
 
 	if (!o->op_sibling) {
@@ -14051,6 +14434,7 @@
 
     /* ops where $_ may be an implicit arg */
     case OP_TRANS:
+    case OP_TRANSR:
     case OP_SUBST:
     case OP_MATCH:
 	if ( !(obase->op_flags & OPf_STACKED)) {
@@ -14071,13 +14455,15 @@
 	match = 1; /* print etc can return undef on defined args */
 	/* skip filehandle as it can't produce 'undef' warning  */
 	o = cUNOPx(obase)->op_first;
-	if ((obase->op_flags & OPf_STACKED) && o->op_type == OP_PUSHMARK)
+	if ((obase->op_flags & OPf_STACKED)
+            &&
+               (   o->op_type == OP_PUSHMARK
+               || (o->op_type == OP_NULL && o->op_targ == OP_PUSHMARK)))
 	    o = o->op_sibling->op_sibling;
 	goto do_op2;
 
 
     case OP_ENTEREVAL: /* could be eval $undef or $x='$undef'; eval $x */
-    case OP_RV2SV:
     case OP_CUSTOM: /* XS or custom code could trigger random warnings */
 
 	/* the following ops are capable of returning PL_sv_undef even for
@@ -14194,8 +14580,15 @@
 	if (!o)
 	    break;
 
-	/* if all except one arg are constant, or have no side-effects,
-	 * or are optimized away, then it's unambiguous */
+	/* This loop checks all the kid ops, skipping any that cannot pos-
+	 * sibly be responsible for the uninitialized value; i.e., defined
+	 * constants and ops that return nothing.  If there is only one op
+	 * left that is not skipped, then we *know* it is responsible for
+	 * the uninitialized value.  If there is more than one op left, we
+	 * have to look for an exact match in the while() loop below.
+         * Note that we skip padrange, because the individual pad ops that
+         * it replaced are still in the tree, so we work on them instead.
+	 */
 	o2 = NULL;
 	for (kid=o; kid; kid = kid->op_sibling) {
 	    if (kid) {
@@ -14203,12 +14596,7 @@
 		if ( (type == OP_CONST && SvOK(cSVOPx_sv(kid)))
 		  || (type == OP_NULL  && ! (kid->op_flags & OPf_KIDS))
 		  || (type == OP_PUSHMARK)
-		  || (
-		      /* @$a and %$a, but not @a or %a */
-		        (type == OP_RV2AV || type == OP_RV2HV)
-		     && cUNOPx(kid)->op_first
-		     && cUNOPx(kid)->op_first->op_type != OP_GV
-		     )
+		  || (type == OP_PADRANGE)
 		)
 		continue;
 	    }
@@ -14237,7 +14625,7 @@
 /*
 =for apidoc report_uninit
 
-Print appropriate "Use of uninitialized variable" warning
+Print appropriate "Use of uninitialized variable" warning.
 
 =cut
 */
@@ -14248,13 +14636,14 @@
     dVAR;
     if (PL_op) {
 	SV* varname = NULL;
-	if (uninit_sv) {
+	if (uninit_sv && PL_curpad) {
 	    varname = find_uninit_var(PL_op, uninit_sv,0);
 	    if (varname)
 		sv_insert(varname, 0, 0, " ", 1);
 	}
-	Perl_warner(aTHX_ packWARN(WARN_UNINITIALIZED), PL_warn_uninit,
-		varname ? SvPV_nolen_const(varname) : "",
+	/* 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 ", OP_DESC(PL_op));
     }
     else
@@ -14266,8 +14655,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/sv.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/sv.h
===================================================================
--- vendor/perl/dist/sv.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/sv.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,27 +19,102 @@
 An enum of flags for Perl types.  These are found in the file B<sv.h>
 in the C<svtype> enum.  Test these flags with the C<SvTYPE> macro.
 
-=for apidoc AmU||SVt_PV
-Pointer type flag for scalars.  See C<svtype>.
+The types are:
 
+    SVt_NULL
+    SVt_BIND (unused)
+    SVt_IV
+    SVt_NV
+    SVt_RV
+    SVt_PV
+    SVt_PVIV
+    SVt_PVNV
+    SVt_PVMG
+    SVt_REGEXP
+    SVt_PVGV
+    SVt_PVLV
+    SVt_PVAV
+    SVt_PVHV
+    SVt_PVCV
+    SVt_PVFM
+    SVt_PVIO
+
+These are most easily explained from the bottom up.
+
+SVt_PVIO is for I/O objects, SVt_PVFM for formats, SVt_PVCV for
+subroutines, SVt_PVHV for hashes and SVt_PVAV for arrays.
+
+All the others are scalar types, that is, things that can be bound to a
+C<$> variable.  For these, the internal types are mostly orthogonal to
+types in the Perl language.
+
+Hence, checking C<< SvTYPE(sv) < SVt_PVAV >> is the best way to see whether
+something is a scalar.
+
+SVt_PVGV represents a typeglob.  If !SvFAKE(sv), then it is a real,
+incoercible typeglob.  If SvFAKE(sv), then it is a scalar to which a
+typeglob has been assigned.  Assigning to it again will stop it from being
+a typeglob.  SVt_PVLV represents a scalar that delegates to another scalar
+behind the scenes.  It is used, e.g., for the return value of C<substr> and
+for tied hash and array elements.  It can hold any scalar value, including
+a typeglob. SVt_REGEXP is for regular expressions.
+
+SVt_PVMG represents a "normal" scalar (not a typeglob, regular expression,
+or delegate).  Since most scalars do not need all the internal fields of a
+PVMG, we save memory by allocating smaller structs when possible.  All the
+other types are just simpler forms of SVt_PVMG, with fewer internal fields.
+ SVt_NULL can only hold undef.  SVt_IV can hold undef, an integer, or a
+reference.  (SVt_RV is an alias for SVt_IV, which exists for backward
+compatibility.)  SVt_NV can hold any of those or a double.  SVt_PV can only
+hold undef or a string.  SVt_PVIV is a superset of SVt_PV and SVt_IV.
+SVt_PVNV is similar.  SVt_PVMG can hold anything SVt_PVNV can hold, but it
+can, but does not have to, be blessed or magical.
+
+=for apidoc AmU||SVt_NULL
+Type flag for scalars.  See L</svtype>.
+
 =for apidoc AmU||SVt_IV
-Integer type flag for scalars.  See C<svtype>.
+Type flag for scalars.  See L</svtype>.
 
 =for apidoc AmU||SVt_NV
-Double type flag for scalars.  See C<svtype>.
+Type flag for scalars.  See L</svtype>.
 
+=for apidoc AmU||SVt_PV
+Type flag for scalars.  See L</svtype>.
+
+=for apidoc AmU||SVt_PVIV
+Type flag for scalars.  See L</svtype>.
+
+=for apidoc AmU||SVt_PVNV
+Type flag for scalars.  See L</svtype>.
+
 =for apidoc AmU||SVt_PVMG
-Type flag for blessed scalars.  See C<svtype>.
+Type flag for scalars.  See L</svtype>.
 
+=for apidoc AmU||SVt_REGEXP
+Type flag for regular expressions.  See L</svtype>.
+
+=for apidoc AmU||SVt_PVGV
+Type flag for typeglobs.  See L</svtype>.
+
+=for apidoc AmU||SVt_PVLV
+Type flag for scalars.  See L</svtype>.
+
 =for apidoc AmU||SVt_PVAV
-Type flag for arrays.  See C<svtype>.
+Type flag for arrays.  See L</svtype>.
 
 =for apidoc AmU||SVt_PVHV
-Type flag for hashes.  See C<svtype>.
+Type flag for hashes.  See L</svtype>.
 
 =for apidoc AmU||SVt_PVCV
-Type flag for code refs.  See C<svtype>.
+Type flag for subroutines.  See L</svtype>.
 
+=for apidoc AmU||SVt_PVFM
+Type flag for formats.  See L</svtype>.
+
+=for apidoc AmU||SVt_PVIO
+Type flag for I/O objects.  See L</svtype>.
+
 =cut
 */
 
@@ -65,6 +140,11 @@
 	SVt_LAST	/* keep last in enum. used to size arrays */
 } svtype;
 
+/* *** any alterations to the SV types above need to be reflected in
+ * SVt_MASK and the various PL_valid_types_* tables */
+
+#define SVt_MASK 0xf	/* smallest bitmask that covers all types */
+
 #ifndef PERL_CORE
 /* Although Fast Boyer Moore tables are now being stored in PVGVs, for most
    purposes eternal code wanting to consider PVBM probably needs to think of
@@ -103,6 +183,7 @@
 	IV      svu_iv;			\
 	UV      svu_uv;			\
 	SV*     svu_rv;		/* pointer to another SV */		\
+	struct regexp* svu_rx;		\
 	SV**    svu_array;		\
 	HE**	svu_hash;		\
 	GP*	svu_gp;			\
@@ -163,7 +244,7 @@
 Returns the value of the object's reference count.
 
 =for apidoc Am|SV*|SvREFCNT_inc|SV* sv
-Increments the reference count of the given SV.
+Increments the reference count of the given SV, returning the SV.
 
 All of the following SvREFCNT_inc* macros are optimized versions of
 SvREFCNT_inc, and can be replaced with SvREFCNT_inc.
@@ -203,8 +284,13 @@
 and faster.
 
 =for apidoc Am|void|SvREFCNT_dec|SV* sv
-Decrements the reference count of the given SV.
+Decrements the reference count of the given SV. I<sv> may be NULL.
 
+=for apidoc Am|void|SvREFCNT_dec_NN|SV* sv
+Same as SvREFCNT_dec, but can only be used if you know I<sv>
+is not NULL.  Since we don't have to check the NULLness, it's faster
+and smaller.
+
 =for apidoc Am|svtype|SvTYPE|SV* sv
 Returns the type of the SV.  See C<svtype>.
 
@@ -219,42 +305,10 @@
 #define SvFLAGS(sv)	(sv)->sv_flags
 #define SvREFCNT(sv)	(sv)->sv_refcnt
 
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#  define SvREFCNT_inc(sv)		\
-    ({					\
-	SV * const _sv = MUTABLE_SV(sv);	\
-	if (_sv)			\
-	     (SvREFCNT(_sv))++;		\
-	_sv;				\
-    })
-#  define SvREFCNT_inc_simple(sv)	\
-    ({					\
-	if (sv)				\
-	     (SvREFCNT(sv))++;		\
-	MUTABLE_SV(sv);				\
-    })
-#  define SvREFCNT_inc_NN(sv)		\
-    ({					\
-	SV * const _sv = MUTABLE_SV(sv);	\
-	SvREFCNT(_sv)++;		\
-	_sv;				\
-    })
-#  define SvREFCNT_inc_void(sv)		\
-    ({					\
-	SV * const _sv = MUTABLE_SV(sv);	\
-	if (_sv)			\
-	    (void)(SvREFCNT(_sv)++);	\
-    })
-#else
-#  define SvREFCNT_inc(sv)	\
-	((PL_Sv=MUTABLE_SV(sv)) ? (++(SvREFCNT(PL_Sv)),PL_Sv) : NULL)
-#  define SvREFCNT_inc_simple(sv) \
-	((sv) ? (SvREFCNT(sv)++,MUTABLE_SV(sv)) : NULL)
-#  define SvREFCNT_inc_NN(sv) \
-	(PL_Sv=MUTABLE_SV(sv),++(SvREFCNT(PL_Sv)),PL_Sv)
-#  define SvREFCNT_inc_void(sv) \
-	(void)((PL_Sv=MUTABLE_SV(sv)) ? ++(SvREFCNT(PL_Sv)) : 0)
-#endif
+#define SvREFCNT_inc(sv)		S_SvREFCNT_inc(MUTABLE_SV(sv))
+#define SvREFCNT_inc_simple(sv)		SvREFCNT_inc(sv)
+#define SvREFCNT_inc_NN(sv)		S_SvREFCNT_inc_NN(MUTABLE_SV(sv))
+#define SvREFCNT_inc_void(sv)		S_SvREFCNT_inc_void(MUTABLE_SV(sv))
 
 /* These guys don't need the curly blocks */
 #define SvREFCNT_inc_simple_void(sv)	STMT_START { if (sv) SvREFCNT(sv)++; } STMT_END
@@ -262,22 +316,8 @@
 #define SvREFCNT_inc_void_NN(sv)	(void)(++SvREFCNT(MUTABLE_SV(sv)))
 #define SvREFCNT_inc_simple_void_NN(sv)	(void)(++SvREFCNT(MUTABLE_SV(sv)))
 
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#  define SvREFCNT_dec(sv)		\
-    ({					\
-	SV * const _sv = MUTABLE_SV(sv);	\
-	if (_sv) {			\
-	    if (SvREFCNT(_sv)) {	\
-		if (--(SvREFCNT(_sv)) == 0) \
-		    Perl_sv_free2(aTHX_ _sv);	\
-	    } else {			\
-		sv_free(_sv);		\
-	    }				\
-	}				\
-    })
-#else
-#define SvREFCNT_dec(sv)	sv_free(MUTABLE_SV(sv))
-#endif
+#define SvREFCNT_dec(sv)	S_SvREFCNT_dec(aTHX_ MUTABLE_SV(sv))
+#define SvREFCNT_dec_NN(sv)	S_SvREFCNT_dec_NN(aTHX_ MUTABLE_SV(sv))
 
 #define SVTYPEMASK	0xff
 #define SvTYPE(sv)	((svtype)((sv)->sv_flags & SVTYPEMASK))
@@ -287,7 +327,10 @@
    them all by using a consistent macro.  */
 #define SvIS_FREED(sv)	((sv)->sv_flags == SVTYPEMASK)
 
-#define SvUPGRADE(sv, mt) (SvTYPE(sv) >= (mt) || (sv_upgrade(sv, mt), 1))
+/* this is defined in this peculiar way to avoid compiler warnings.
+ * See the <20121213131428.GD1842 at iabyn.com> thread in p5p */
+#define SvUPGRADE(sv, mt) \
+    ((void)(SvTYPE(sv) >= (mt) || (sv_upgrade(sv, mt),1)))
 
 #define SVf_IOK		0x00000100  /* has valid public integer value */
 #define SVf_NOK		0x00000200  /* has valid public numeric value */
@@ -297,17 +340,18 @@
 #define SVp_IOK		0x00001000  /* has valid non-public integer value */
 #define SVp_NOK		0x00002000  /* has valid non-public numeric value */
 #define SVp_POK		0x00004000  /* has valid non-public pointer value */
-#define SVp_SCREAM	0x00008000  /* has been studied? */
+#define SVp_SCREAM	0x00008000  /* method name is DOES */
 #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
 				       subroutine in another package. Set the
-				       CvIMPORTED_CV_ON() if it needs to be
+				       GvIMPORTED_CV_on() if it needs to be
 				       expanded to a real GV */
-
-#define SVs_PADSTALE	0x00010000  /* lexical has gone out of scope */
-#define SVpad_STATE	0x00010000  /* pad name is a "state" var */
-#define SVs_PADTMP	0x00020000  /* in use as tmp */
+#define SVf_IsCOW	0x00010000  /* copy on write (shared hash key if
+				       SvLEN == 0) */
+#define SVs_PADTMP	0x00020000  /* in use as tmp; only if ! SVs_PADMY */
+#define SVs_PADSTALE	0x00020000  /* lexical has gone out of scope;
+					only valid for SVs_PADMY */
 #define SVpad_TYPED	0x00020000  /* pad name is a Typed Lexical */
 #define SVs_PADMY	0x00040000  /* in use a "my" variable */
 #define SVpad_OUR	0x00040000  /* pad name is "our" instead of "my" */
@@ -317,20 +361,14 @@
 #define SVs_SMG		0x00400000  /* has magical set method */
 #define SVs_RMG		0x00800000  /* has random magical methods */
 
-#define SVf_FAKE	0x01000000  /* 0: glob or lexical is just a copy
+#define SVf_FAKE	0x01000000  /* 0: glob is just a copy
 				       1: SV head arena wasn't malloc()ed
-				       2: in conjunction with SVf_READONLY
-					  marks a shared hash key scalar
-					  (SvLEN == 0) or a copy on write
-					  string (SvLEN != 0) [SvIsCOW(sv)]
-				       3: For PVCV, whether CvUNIQUE(cv)
+				       2: For PVCV, whether CvUNIQUE(cv)
 					  refers to an eval or once only
 					  [CvEVAL(cv), CvSPECIAL(cv)]
-				       4: On a pad name SV, that slot in the
+				       3: On a pad name SV, that slot in the
 					  frame AV is a REFCNT'ed reference
 					  to a lexical from "outside". */
-#define SVphv_REHASH	SVf_FAKE    /* 5: On a PVHV, hash values are being
-					  recalculated */
 #define SVf_OOK		0x02000000  /* has valid offset value. For a PVHV this
 				       means that a hv_aux struct is present
 				       after the main array */
@@ -343,7 +381,7 @@
 
 
 
-#define SVf_THINKFIRST	(SVf_READONLY|SVf_ROK|SVf_FAKE)
+#define SVf_THINKFIRST	(SVf_READONLY|SVf_ROK|SVf_FAKE|SVs_RMG|SVf_IsCOW)
 
 #define SVf_OK		(SVf_IOK|SVf_NOK|SVf_POK|SVf_ROK| \
 			 SVp_IOK|SVp_NOK|SVp_POK|SVpgv_GP)
@@ -367,8 +405,21 @@
 
 /* PVHV */
 #define SVphv_SHAREKEYS 0x20000000  /* PVHV keys live on shared string table */
-/* PVNV, PVMG, presumably only inside pads */
-#define SVpad_NAME	0x40000000  /* This SV is a name in the PAD, so
+
+/* PVNV, PVMG only, and only used in pads. Should be safe to test on any scalar
+   SV, as the core is careful to avoid setting both.
+
+   SVf_POK, SVp_POK also set:
+   0x00004400   Normal
+   0x0000C400   method name for DOES (SvSCREAM)
+   0x40004400   FBM compiled (SvVALID)
+   0x4000C400   pad name.
+
+   0x00008000   GV with GP
+   0x00008800   RV with PCS imported
+*/
+#define SVpad_NAME	(SVp_SCREAM|SVpbm_VALID)
+				    /* This SV is a name in the PAD, so
 				       SVpad_TYPED, SVpad_OUR and SVpad_STATE
 				       apply */
 /* PVAV */
@@ -378,11 +429,10 @@
 /* This is only set true on a PVGV when it's playing "PVBM", but is tested for
    on any regular scalar (anything <= PVLV) */
 #define SVpbm_VALID	0x40000000
-/* ??? */
+/* Only used in toke.c on an SV stored in PL_lex_repl */
 #define SVrepl_EVAL	0x40000000  /* Replacement part of s///e */
 
 /* IV, PVIV, PVNV, PVMG, PVGV and (I assume) PVLV  */
-/* Presumably IVs aren't stored in pads */
 #define SVf_IVisUV	0x80000000  /* use XPVUV instead of XPVIV */
 /* PVAV */
 #define SVpav_REIFY 	0x80000000  /* can become real */
@@ -392,13 +442,20 @@
 #define SVpbm_TAIL	0x80000000
 /* RV upwards. However, SVf_ROK and SVp_IOK are exclusive  */
 #define SVprv_WEAKREF   0x80000000  /* Weak reference */
+/* pad name vars only */
+#define SVpad_STATE	0x80000000  /* pad name is a "state" var */
 
 #define _XPV_HEAD							\
     HV*		xmg_stash;	/* class package */			\
     union _xmgu	xmg_u;							\
     STRLEN	xpv_cur;	/* length of svu_pv as a C string */    \
-    STRLEN	xpv_len 	/* allocated size */
+    union {								\
+	STRLEN	xpvlenu_len; 	/* allocated size */			\
+	char *	xpvlenu_pv;	/* regexp string */			\
+    } xpv_len_u	
 
+#define xpv_len	xpv_len_u.xpvlenu_len
+
 union _xnvu {
     NV	    xnv_nv;		/* numeric value, if any */
     HV *    xgv_stash;
@@ -407,8 +464,7 @@
 	U32 xhigh;
     }	    xpad_cop_seq;	/* used by pad.c for cop_sequence */
     struct {
-	U32 xbm_previous;	/* how many characters in string before rare? */
-	U8  xbm_flags;
+	I32 xbm_useful;
 	U8  xbm_rare;		/* rarest character in string */
     }	    xbm_s;		/* fields from PVBM */
 };
@@ -416,7 +472,6 @@
 union _xivu {
     IV	    xivu_iv;		/* integer value */
     UV	    xivu_uv;
-    I32	    xivu_i32;		/* BmUSEFUL */
     HEK *   xivu_namehek;	/* xpvlv, xpvgv: GvNAME */
 };
 
@@ -423,6 +478,7 @@
 union _xmgu {
     MAGIC*  xmg_magic;		/* linked list of magicalness */
     HV*	    xmg_ourstash;	/* Stash for our (when SvPAD_OUR is true) */
+    STRLEN  xmg_hash_index;	/* used while freeing hash entries */
 };
 
 struct xpv {
@@ -465,6 +521,7 @@
     SV*		xlv_targ;
     char	xlv_type;	/* k=keys .=pos x=substr v=vec /=join/re
 				 * y=alem/helem/iter t=tie T=tied HE */
+    char	xlv_flags;	/* 1 = negative offset  2 = negative len */
 };
 
 /* This structure works in 3 ways - regular scalar, GV with GP, or fast
@@ -475,8 +532,6 @@
     union _xnvu xnv_u;
 };
 
-/* This structure must match XPVCV in cv.h */
-
 typedef U16 cv_flags_t;
 
 #define _XPVCV_COMMON								\
@@ -489,19 +544,24 @@
 	OP *	xcv_root;							\
 	void	(*xcv_xsub) (pTHX_ CV*);					\
     }		xcv_root_u;							\
-    GV *	xcv_gv;								\
+    union {								\
+	GV *	xcv_gv;							\
+	HEK *	xcv_hek;						\
+    }		xcv_gv_u;						\
     char *	xcv_file;							\
-    AV *	xcv_padlist;							\
+    PADLIST *	xcv_padlist;							\
     CV *	xcv_outside;							\
     U32		xcv_outside_seq; /* the COP sequence (at the point of our	\
 				  * compilation) in the lexically enclosing	\
 				  * sub */					\
-    cv_flags_t	xcv_flags
+    cv_flags_t	xcv_flags;						\
+    I32	xcv_depth	/* >= 2 indicates recursive call */
 
+/* This structure must match XPVCV in cv.h */
+
 struct xpvfm {
     _XPV_HEAD;
     _XPVCV_COMMON;
-    IV		xfm_lines;
 };
 
 
@@ -592,13 +652,17 @@
 Tells an SV that it is an integer and disables all other OK bits.
 
 =for apidoc Am|void|SvIOK_only_UV|SV* sv
-Tells and SV that it is an unsigned integer and disables all other OK bits.
+Tells an SV that it is an unsigned integer and disables all other OK bits.
 
 =for apidoc Am|bool|SvIOK_UV|SV* sv
-Returns a boolean indicating whether the SV contains an unsigned integer.
+Returns a boolean indicating whether the SV contains an integer that must be
+interpreted as unsigned.  A non-negative integer whose value is within the
+range of both an IV and a UV may be be flagged as either SvUOK or SVIOK.
 
 =for apidoc Am|bool|SvUOK|SV* sv
-Returns a boolean indicating whether the SV contains an unsigned integer.
+Returns a boolean indicating whether the SV contains an integer that must be
+interpreted as unsigned.  A non-negative integer whose value is within the
+range of both an IV and a UV may be be flagged as either SvUOK or SVIOK.
 
 =for apidoc Am|bool|SvIOK_notUV|SV* sv
 Returns a boolean indicating whether the SV contains a signed integer.
@@ -654,20 +718,24 @@
 
 =for apidoc Am|IV|SvIVX|SV* sv
 Returns the raw value in the SV's IV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvIV()>.
+Only use when you are sure SvIOK is true.  See also C<SvIV()>.
 
 =for apidoc Am|UV|SvUVX|SV* sv
 Returns the raw value in the SV's UV slot, without checks or conversions.
-Only use when you are sure SvIOK is true. See also C<SvUV()>.
+Only use when you are sure SvIOK is true.  See also C<SvUV()>.
 
 =for apidoc Am|NV|SvNVX|SV* sv
 Returns the raw value in the SV's NV slot, without checks or conversions.
-Only use when you are sure SvNOK is true. See also C<SvNV()>.
+Only use when you are sure SvNOK is true.  See also C<SvNV()>.
 
 =for apidoc Am|char*|SvPVX|SV* sv
 Returns a pointer to the physical string in the SV.  The SV must contain a
-string.
+string. Prior to 5.9.3 it is not safe to execute this macro unless the SV's
+type >= SVt_PV.
 
+This is also used to store the name of an autoloaded subroutine in an XS
+AUTOLOAD routine.  See L<perlguts/Autoloading with XSUBs>.
+
 =for apidoc Am|STRLEN|SvCUR|SV* sv
 Returns the length of the string which is in the SV.  See C<SvLEN>.
 
@@ -676,9 +744,14 @@
 attributable to C<SvOOK>.  See C<SvCUR>.
 
 =for apidoc Am|char*|SvEND|SV* sv
-Returns a pointer to the last character in the string which is in the SV.
+Returns a pointer to the spot just after the last character in
+the string which is in the SV, where there is usually a trailing
+null (even though Perl scalars do not strictly require it).
 See C<SvCUR>.  Access the character as *(SvEND(sv)).
 
+Warning: If C<SvCUR> is equal to C<SvLEN>, then C<SvEND> points to
+unallocated memory.
+
 =for apidoc Am|HV*|SvSTASH|SV* sv
 Returns the stash of the SV.
 
@@ -692,8 +765,13 @@
 Set the value of the NV pointer in sv to val.  See C<SvIV_set>.
 
 =for apidoc Am|void|SvPV_set|SV* sv|char* val
-Set the value of the PV pointer in sv to val.  See C<SvIV_set>.
+Set the value of the PV pointer in sv to val.  See also C<SvIV_set>.
 
+Beware that the existing pointer may be involved in copy-on-write or other
+mischief, so do C<SvOOK_off(sv)> and use C<sv_force_normal> or
+C<SvPV_force> (or check the SvIsCOW flag) first to make sure this
+modification is safe.
+
 =for apidoc Am|void|SvUV_set|SV* sv|UV val
 Set the value of the UV pointer in sv to val.  See C<SvIV_set>.
 
@@ -721,17 +799,10 @@
 #define SvNIOK_off(sv)		(SvFLAGS(sv) &= ~(SVf_IOK|SVf_NOK| \
 						  SVp_IOK|SVp_NOK|SVf_IVisUV))
 
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#define assert_not_ROK(sv)	({assert(!SvROK(sv) || !SvRV(sv));}),
-#define assert_not_glob(sv)	({assert(!isGV_with_GP(sv));}),
-#else
-#define assert_not_ROK(sv)	
-#define assert_not_glob(sv)	
-#endif
+#define assert_not_ROK(sv)	assert_(!SvROK(sv) || !SvRV(sv))
+#define assert_not_glob(sv)	assert_(!isGV_with_GP(sv))
 
-#define SvOK(sv)		((SvTYPE(sv) == SVt_BIND)		\
-				 ? (SvFLAGS(SvRV(sv)) & SVf_OK)		\
-				 : (SvFLAGS(sv) & SVf_OK))
+#define SvOK(sv)		(SvFLAGS(sv) & SVf_OK || isREGEXP(sv))
 #define SvOK_off(sv)		(assert_not_ROK(sv) assert_not_glob(sv)	\
 				 SvFLAGS(sv) &=	~(SVf_OK|		\
 						  SVf_IVisUV|SVf_UTF8),	\
@@ -779,9 +850,10 @@
 
 /*
 =for apidoc Am|U32|SvUTF8|SV* sv
-Returns a U32 value indicating whether the SV contains UTF-8 encoded data.
-Call this after SvPV() in case any call to string overloading updates the
-internal flag.
+Returns a U32 value indicating the UTF-8 status of an SV.  If things are set-up
+properly, this indicates whether or not the SV contains UTF-8 encoded data.
+You should use this I<after> a call to SvPV() or one of its variants, in
+case any call to string overloading updates the internal flag.
 
 =for apidoc Am|void|SvUTF8_on|SV *sv
 Turn on the UTF-8 status of an SV (the data is not changed, just the flag).
@@ -788,7 +860,8 @@
 Do not use frivolously.
 
 =for apidoc Am|void|SvUTF8_off|SV *sv
-Unsets the UTF-8 status of an SV.
+Unsets the UTF-8 status of an SV (the data is not changed, just the flag).
+Do not use frivolously.
 
 =for apidoc Am|void|SvPOK_only_UTF8|SV* sv
 Tells an SV that it is a string and disables all other OK bits,
@@ -823,7 +896,7 @@
 				 ? mg_find(sv,PERL_MAGIC_vstring) : NULL)
 
 #define SvOOK(sv)		(SvFLAGS(sv) & SVf_OOK)
-#define SvOOK_on(sv)		((void)SvIOK_off(sv), SvFLAGS(sv) |= SVf_OOK)
+#define SvOOK_on(sv)		(SvFLAGS(sv) |= SVf_OOK)
 #define SvOOK_off(sv)		((void)(SvOOK(sv) && sv_backoff(sv)))
 
 #define SvFAKE(sv)		(SvFLAGS(sv) & SVf_FAKE)
@@ -850,29 +923,49 @@
 #define SvRMAGICAL_on(sv)	(SvFLAGS(sv) |= SVs_RMG)
 #define SvRMAGICAL_off(sv)	(SvFLAGS(sv) &= ~SVs_RMG)
 
-#define SvAMAGIC(sv)		(SvROK(sv) && (SvFLAGS(SvRV(sv)) & SVf_AMAGIC))
-#if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#  define SvAMAGIC_on(sv)	({ SV * const kloink = sv;		\
-				   assert(SvROK(kloink));		\
-				   SvFLAGS(SvRV(kloink)) |= SVf_AMAGIC;	\
-				})
-#  define SvAMAGIC_off(sv)	({ SV * const kloink = sv;		\
-				   if(SvROK(kloink))			\
-					SvFLAGS(SvRV(kloink)) &= ~SVf_AMAGIC;\
-				})
-#else
-#  define SvAMAGIC_on(sv)	(SvFLAGS(SvRV(sv)) |= SVf_AMAGIC)
-#  define SvAMAGIC_off(sv) \
-	(SvROK(sv) && (SvFLAGS(SvRV(sv)) &= ~SVf_AMAGIC))
-#endif
+#define SvAMAGIC(sv)		(SvROK(sv) && SvOBJECT(SvRV(sv)) &&	\
+				 HvAMAGIC(SvSTASH(SvRV(sv))))
 
+/* To be used on the stashes themselves: */
+#define HvAMAGIC(hv)		(SvFLAGS(hv) & SVf_AMAGIC)
+#define HvAMAGIC_on(hv)		(SvFLAGS(hv) |= SVf_AMAGIC)
+#define HvAMAGIC_off(hv)	(SvFLAGS(hv) &=~ SVf_AMAGIC)
+
+
+#define SvPOK_nog(sv)		((SvFLAGS(sv) & (SVf_POK|SVs_GMG)) == SVf_POK)
+#define SvIOK_nog(sv)		((SvFLAGS(sv) & (SVf_IOK|SVs_GMG)) == SVf_IOK)
+#define SvUOK_nog(sv)		((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV|SVs_GMG)) == (SVf_IOK|SVf_IVisUV))
+#define SvNOK_nog(sv)		((SvFLAGS(sv) & (SVf_NOK|SVs_GMG)) == SVf_NOK)
+#define SvNIOK_nog(sv)		(SvNIOK(sv) && !(SvFLAGS(sv) & SVs_GMG))
+
+#define SvPOK_nogthink(sv)	((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST|SVs_GMG)) == SVf_POK)
+#define SvIOK_nogthink(sv)	((SvFLAGS(sv) & (SVf_IOK|SVf_THINKFIRST|SVs_GMG)) == SVf_IOK)
+#define SvUOK_nogthink(sv)	((SvFLAGS(sv) & (SVf_IOK|SVf_IVisUV|SVf_THINKFIRST|SVs_GMG)) == (SVf_IOK|SVf_IVisUV))
+#define SvNOK_nogthink(sv)	((SvFLAGS(sv) & (SVf_NOK|SVf_THINKFIRST|SVs_GMG)) == SVf_NOK)
+#define SvNIOK_nogthink(sv)	(SvNIOK(sv) && !(SvFLAGS(sv) & (SVf_THINKFIRST|SVs_GMG)))
+
+#define SvPOK_utf8_nog(sv)	((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVs_GMG)) == (SVf_POK|SVf_UTF8))
+#define SvPOK_utf8_nogthink(sv)	((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_THINKFIRST|SVs_GMG)) == (SVf_POK|SVf_UTF8))
+
+#define SvPOK_byte_nog(sv)	((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVs_GMG)) == SVf_POK)
+#define SvPOK_byte_nogthink(sv)	((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_THINKFIRST|SVs_GMG)) == SVf_POK)
+
+#define SvPOK_pure_nogthink(sv) \
+    ((SvFLAGS(sv) & (SVf_POK|SVf_IOK|SVf_NOK|SVf_ROK|SVpgv_GP|SVf_THINKFIRST|SVs_GMG)) == SVf_POK)
+#define SvPOK_utf8_pure_nogthink(sv) \
+    ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_IOK|SVf_NOK|SVf_ROK|SVpgv_GP|SVf_THINKFIRST|SVs_GMG)) == (SVf_POK|SVf_UTF8))
+#define SvPOK_byte_pure_nogthink(sv) \
+    ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_IOK|SVf_NOK|SVf_ROK|SVpgv_GP|SVf_THINKFIRST|SVs_GMG)) == SVf_POK)
+
 /*
 =for apidoc Am|U32|SvGAMAGIC|SV* sv
 
-Returns true if the SV has get magic or overloading. If either is true then
+Returns true if the SV has get magic or
+overloading.  If either is true then
 the scalar is active data, and has the potential to return a new value every
-time it is accessed. Hence you must be careful to only read it once per user
-logical operation and work with that returned value. If neither is true then
+time it is accessed.  Hence you must be careful to
+only read it once per user logical operation and work
+with that returned value.  If neither is true then
 the scalar's value cannot change unless written to.
 
 =cut
@@ -880,7 +973,10 @@
 
 #define SvGAMAGIC(sv)           (SvGMAGICAL(sv) || SvAMAGIC(sv))
 
-#define Gv_AMG(stash)           (PL_amagic_generation && Gv_AMupdate(stash, FALSE))
+#define Gv_AMG(stash) \
+	(HvNAME(stash) && Gv_AMupdate(stash,FALSE) \
+	    ? 1					    \
+	    : (HvAMAGIC_off(stash), 0))
 
 #define SvWEAKREF(sv)		((SvFLAGS(sv) & (SVf_ROK|SVprv_WEAKREF)) \
 				  == (SVf_ROK|SVprv_WEAKREF))
@@ -892,19 +988,46 @@
 #define SvPCS_IMPORTED_on(sv)	(SvFLAGS(sv) |=  (SVf_ROK|SVprv_PCS_IMPORTED))
 #define SvPCS_IMPORTED_off(sv)	(SvFLAGS(sv) &= ~(SVf_ROK|SVprv_PCS_IMPORTED))
 
-#define SvTHINKFIRST(sv)	(SvFLAGS(sv) & SVf_THINKFIRST)
+/*
+=for apidoc m|U32|SvTHINKFIRST|SV *sv
 
-#define SvPADSTALE(sv)		(SvFLAGS(sv) & SVs_PADSTALE)
-#define SvPADSTALE_on(sv)	(SvFLAGS(sv) |= SVs_PADSTALE)
-#define SvPADSTALE_off(sv)	(SvFLAGS(sv) &= ~SVs_PADSTALE)
+A quick flag check to see whether an sv should be passed to sv_force_normal
+to be "downgraded" before SvIVX or SvPVX can be modified directly.
 
-#define SvPADTMP(sv)		(SvFLAGS(sv) & SVs_PADTMP)
-#define SvPADTMP_on(sv)		(SvFLAGS(sv) |= SVs_PADTMP)
-#define SvPADTMP_off(sv)	(SvFLAGS(sv) &= ~SVs_PADTMP)
+For example, if your scalar is a reference and you want to modify the SvIVX
+slot, you can't just do SvROK_off, as that will leak the referent.
 
+This is used internally by various sv-modifying functions, such as
+sv_setsv, sv_setiv and sv_pvn_force.
+
+One case that this does not handle is a gv without SvFAKE set.  After
+
+    if (SvTHINKFIRST(gv)) sv_force_normal(gv);
+
+it will still be a gv.
+
+SvTHINKFIRST sometimes produces false positives.  In those cases
+sv_force_normal does nothing.
+
+=cut
+*/
+
+#define SvTHINKFIRST(sv)	(SvFLAGS(sv) & SVf_THINKFIRST)
+
 #define SvPADMY(sv)		(SvFLAGS(sv) & SVs_PADMY)
 #define SvPADMY_on(sv)		(SvFLAGS(sv) |= SVs_PADMY)
 
+/* SVs_PADTMP and SVs_PADSTALE share the same bit, mediated by SVs_PADMY */
+
+#define SvPADTMP(sv)	((SvFLAGS(sv) & (SVs_PADMY|SVs_PADTMP)) == SVs_PADTMP)
+#define SvPADSTALE(sv)	((SvFLAGS(sv) & (SVs_PADMY|SVs_PADSTALE)) \
+				    == (SVs_PADMY|SVs_PADSTALE))
+
+#define SvPADTMP_on(sv)		S_SvPADTMP_on(MUTABLE_SV(sv))
+#define SvPADTMP_off(sv)	S_SvPADTMP_off(MUTABLE_SV(sv))
+#define SvPADSTALE_on(sv)	S_SvPADSTALE_on(MUTABLE_SV(sv))
+#define SvPADSTALE_off(sv)	S_SvPADSTALE_off(MUTABLE_SV(sv))
+
 #define SvTEMP(sv)		(SvFLAGS(sv) & SVs_TEMP)
 #define SvTEMP_on(sv)		(SvFLAGS(sv) |= SVs_TEMP)
 #define SvTEMP_off(sv)		(SvFLAGS(sv) &= ~SVs_TEMP)
@@ -1003,9 +1126,6 @@
 	    ((XPVMG*) SvANY(sv))->xmg_u.xmg_ourstash = st;	\
 	} STMT_END
 
-#ifdef PERL_DEBUG_COW
-#else
-#endif
 #define SvRVx(sv) SvRV(sv)
 
 #ifdef PERL_DEBUG_COW
@@ -1018,7 +1138,7 @@
 #  define SvRV_const(sv) (0 + (sv)->sv_u.svu_rv)
 /* Don't test the core XS code yet.  */
 #  if defined (PERL_CORE) && PERL_DEBUG_COW > 1
-#    define SvPVX(sv) (0 + (assert(!SvREADONLY(sv)), (sv)->sv_u.svu_pv))
+#    define SvPVX(sv) (0 + (assert_(!SvREADONLY(sv)) (sv)->sv_u.svu_pv))
 #  else
 #  define SvPVX(sv) SvPVX_mutable(sv)
 #  endif
@@ -1026,13 +1146,8 @@
 #  define SvLEN(sv) (0 + ((XPV*) SvANY(sv))->xpv_len)
 #  define SvEND(sv) ((sv)->sv_u.svu_pv + ((XPV*)SvANY(sv))->xpv_cur)
 
-#  ifdef DEBUGGING
-#    define SvMAGIC(sv)	(0 + *(assert(SvTYPE(sv) >= SVt_PVMG), &((XPVMG*)  SvANY(sv))->xmg_u.xmg_magic))
-#    define SvSTASH(sv)	(0 + *(assert(SvTYPE(sv) >= SVt_PVMG), &((XPVMG*)  SvANY(sv))->xmg_stash))
-#  else
-#    define SvMAGIC(sv)	(0 + ((XPVMG*)  SvANY(sv))->xmg_u.xmg_magic)
-#    define SvSTASH(sv)	(0 + ((XPVMG*)  SvANY(sv))->xmg_stash)
-#  endif
+#  define SvMAGIC(sv)	(0 + *(assert_(SvTYPE(sv) >= SVt_PVMG) &((XPVMG*)  SvANY(sv))->xmg_u.xmg_magic))
+#  define SvSTASH(sv)	(0 + *(assert_(SvTYPE(sv) >= SVt_PVMG) &((XPVMG*)  SvANY(sv))->xmg_stash))
 #else
 #  define SvLEN(sv) ((XPV*) SvANY(sv))->xpv_len
 #  define SvEND(sv) ((sv)->sv_u.svu_pv + ((XPV*)SvANY(sv))->xpv_cur)
@@ -1041,9 +1156,7 @@
 /* These get expanded inside other macros that already use a variable _sv  */
 #    define SvPVX(sv)							\
 	(*({ SV *const _svpvx = MUTABLE_SV(sv);				\
-	    assert(SvTYPE(_svpvx) >= SVt_PV);				\
-	    assert(SvTYPE(_svpvx) != SVt_PVAV);				\
-	    assert(SvTYPE(_svpvx) != SVt_PVHV);				\
+	    assert(PL_valid_types_PVX[SvTYPE(_svpvx) & SVt_MASK]);	\
 	    assert(!isGV_with_GP(_svpvx));				\
 	    assert(!(SvTYPE(_svpvx) == SVt_PVIO				\
 		     && !(IoFLAGS(_svpvx) & IOf_FAKE_DIRP)));		\
@@ -1051,9 +1164,8 @@
 	 }))
 #    define SvCUR(sv)							\
 	(*({ const SV *const _svcur = (const SV *)(sv);			\
-	    assert(SvTYPE(_svcur) >= SVt_PV);				\
-	    assert(SvTYPE(_svcur) != SVt_PVAV);				\
-	    assert(SvTYPE(_svcur) != SVt_PVHV);				\
+	    assert(PL_valid_types_PVX[SvTYPE(_svcur) & SVt_MASK]	\
+		|| SvTYPE(_svcur) == SVt_REGEXP);			\
 	    assert(!isGV_with_GP(_svcur));				\
 	    assert(!(SvTYPE(_svcur) == SVt_PVIO				\
 		     && !(IoFLAGS(_svcur) & IOf_FAKE_DIRP)));		\
@@ -1061,47 +1173,25 @@
 	 }))
 #    define SvIVX(sv)							\
 	(*({ const SV *const _svivx = (const SV *)(sv);			\
-	    assert(SvTYPE(_svivx) == SVt_IV || SvTYPE(_svivx) >= SVt_PVIV); \
-	    assert(SvTYPE(_svivx) != SVt_PVAV);				\
-	    assert(SvTYPE(_svivx) != SVt_PVHV);				\
-	    assert(SvTYPE(_svivx) != SVt_PVCV);				\
-	    assert(SvTYPE(_svivx) != SVt_PVFM);				\
-	    assert(SvTYPE(_svivx) != SVt_PVIO);				\
-	    assert(SvTYPE(_svivx) != SVt_REGEXP);			\
+	    assert(PL_valid_types_IVX[SvTYPE(_svivx) & SVt_MASK]);	\
 	    assert(!isGV_with_GP(_svivx));				\
 	    &(((XPVIV*) MUTABLE_PTR(SvANY(_svivx)))->xiv_iv);		\
 	 }))
 #    define SvUVX(sv)							\
 	(*({ const SV *const _svuvx = (const SV *)(sv);			\
-	    assert(SvTYPE(_svuvx) == SVt_IV || SvTYPE(_svuvx) >= SVt_PVIV); \
-	    assert(SvTYPE(_svuvx) != SVt_PVAV);				\
-	    assert(SvTYPE(_svuvx) != SVt_PVHV);				\
-	    assert(SvTYPE(_svuvx) != SVt_PVCV);				\
-	    assert(SvTYPE(_svuvx) != SVt_PVFM);				\
-	    assert(SvTYPE(_svuvx) != SVt_PVIO);				\
-	    assert(SvTYPE(_svuvx) != SVt_REGEXP);			\
+	    assert(PL_valid_types_IVX[SvTYPE(_svuvx) & SVt_MASK]);	\
 	    assert(!isGV_with_GP(_svuvx));				\
 	    &(((XPVUV*) MUTABLE_PTR(SvANY(_svuvx)))->xuv_uv);		\
 	 }))
 #    define SvNVX(sv)							\
 	(*({ const SV *const _svnvx = (const SV *)(sv);			\
-	    assert(SvTYPE(_svnvx) == SVt_NV || SvTYPE(_svnvx) >= SVt_PVNV); \
-	    assert(SvTYPE(_svnvx) != SVt_PVAV);				\
-	    assert(SvTYPE(_svnvx) != SVt_PVHV);				\
-	    assert(SvTYPE(_svnvx) != SVt_PVCV);				\
-	    assert(SvTYPE(_svnvx) != SVt_PVFM);				\
-	    assert(SvTYPE(_svnvx) != SVt_PVIO);				\
-	    assert(SvTYPE(_svnvx) != SVt_REGEXP);			\
+	    assert(PL_valid_types_NVX[SvTYPE(_svnvx) & SVt_MASK]);	\
 	    assert(!isGV_with_GP(_svnvx));				\
 	    &(((XPVNV*) MUTABLE_PTR(SvANY(_svnvx)))->xnv_u.xnv_nv);	\
 	 }))
 #    define SvRV(sv)							\
 	(*({ SV *const _svrv = MUTABLE_SV(sv);				\
-	    assert(SvTYPE(_svrv) >= SVt_PV || SvTYPE(_svrv) == SVt_IV);	\
-	    assert(SvTYPE(_svrv) != SVt_PVAV);				\
-	    assert(SvTYPE(_svrv) != SVt_PVHV);				\
-	    assert(SvTYPE(_svrv) != SVt_PVCV);				\
-	    assert(SvTYPE(_svrv) != SVt_PVFM);				\
+	    assert(PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]);	\
 	    assert(!isGV_with_GP(_svrv));				\
 	    assert(!(SvTYPE(_svrv) == SVt_PVIO				\
 		     && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP)));		\
@@ -1109,11 +1199,7 @@
 	 }))
 #    define SvRV_const(sv)						\
 	({ const SV *const _svrv = (const SV *)(sv);			\
-	    assert(SvTYPE(_svrv) >= SVt_PV || SvTYPE(_svrv) == SVt_IV);	\
-	    assert(SvTYPE(_svrv) != SVt_PVAV);				\
-	    assert(SvTYPE(_svrv) != SVt_PVHV);				\
-	    assert(SvTYPE(_svrv) != SVt_PVCV);				\
-	    assert(SvTYPE(_svrv) != SVt_PVFM);				\
+	    assert(PL_valid_types_RV[SvTYPE(_svrv) & SVt_MASK]);	\
 	    assert(!isGV_with_GP(_svrv));				\
 	    assert(!(SvTYPE(_svrv) == SVt_PVIO				\
 		     && !(IoFLAGS(_svrv) & IOf_FAKE_DIRP)));		\
@@ -1171,43 +1257,34 @@
 	STMT_START {if (!SvIOKp(sv) && (SvNOK(sv) || SvPOK(sv))) \
 		(void) SvIV(sv); } STMT_END
 #define SvIV_please_nomg(sv) \
-	STMT_START {if (!SvIOKp(sv) && (SvNOK(sv) || SvPOK(sv))) \
-		(void) SvIV_nomg(sv); } STMT_END
+	(!SvIOKp(sv) && (SvNOK(sv) || SvPOK(sv)) \
+	    ? (SvIV_nomg(sv), SvIOK(sv))	  \
+	    : SvIOK(sv))
 #define SvIV_set(sv, val) \
-	STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
-		assert(SvTYPE(sv) != SVt_PVAV);		\
-		assert(SvTYPE(sv) != SVt_PVHV);		\
-		assert(SvTYPE(sv) != SVt_PVCV);		\
+	STMT_START { \
+		assert(PL_valid_types_IV_set[SvTYPE(sv) & SVt_MASK]);	\
 		assert(!isGV_with_GP(sv));		\
 		(((XPVIV*)  SvANY(sv))->xiv_iv = (val)); } STMT_END
 #define SvNV_set(sv, val) \
-	STMT_START { assert(SvTYPE(sv) == SVt_NV || SvTYPE(sv) >= SVt_PVNV); \
-	    assert(SvTYPE(sv) != SVt_PVAV); assert(SvTYPE(sv) != SVt_PVHV); \
-	    assert(SvTYPE(sv) != SVt_PVCV); assert(SvTYPE(sv) != SVt_PVFM); \
-		assert(SvTYPE(sv) != SVt_PVIO);		\
+	STMT_START { \
+		assert(PL_valid_types_NV_set[SvTYPE(sv) & SVt_MASK]);	\
 		assert(!isGV_with_GP(sv));		\
 		(((XPVNV*)SvANY(sv))->xnv_u.xnv_nv = (val)); } STMT_END
 #define SvPV_set(sv, val) \
-	STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
-		assert(SvTYPE(sv) != SVt_PVAV);		\
-		assert(SvTYPE(sv) != SVt_PVHV);		\
+	STMT_START { \
+		assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]);	\
 		assert(!isGV_with_GP(sv));		\
 		assert(!(SvTYPE(sv) == SVt_PVIO		\
 		     && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
 		((sv)->sv_u.svu_pv = (val)); } STMT_END
 #define SvUV_set(sv, val) \
-	STMT_START { assert(SvTYPE(sv) == SVt_IV || SvTYPE(sv) >= SVt_PVIV); \
-		assert(SvTYPE(sv) != SVt_PVAV);		\
-		assert(SvTYPE(sv) != SVt_PVHV);		\
-		assert(SvTYPE(sv) != SVt_PVCV);		\
+	STMT_START { \
+		assert(PL_valid_types_IV_set[SvTYPE(sv) & SVt_MASK]);	\
 		assert(!isGV_with_GP(sv));		\
 		(((XPVUV*)SvANY(sv))->xuv_uv = (val)); } STMT_END
 #define SvRV_set(sv, val) \
-        STMT_START { assert(SvTYPE(sv) >=  SVt_PV || SvTYPE(sv) ==  SVt_IV); \
-		assert(SvTYPE(sv) != SVt_PVAV);		\
-		assert(SvTYPE(sv) != SVt_PVHV);		\
-		assert(SvTYPE(sv) != SVt_PVCV);		\
-		assert(SvTYPE(sv) != SVt_PVFM);		\
+        STMT_START { \
+		assert(PL_valid_types_RV[SvTYPE(sv) & SVt_MASK]);	\
 		assert(!isGV_with_GP(sv));		\
 		assert(!(SvTYPE(sv) == SVt_PVIO		\
 		     && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
@@ -1219,17 +1296,16 @@
         STMT_START { assert(SvTYPE(sv) >= SVt_PVMG); \
                 (((XPVMG*)  SvANY(sv))->xmg_stash = (val)); } STMT_END
 #define SvCUR_set(sv, val) \
-	STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
-		assert(SvTYPE(sv) != SVt_PVAV);		\
-		assert(SvTYPE(sv) != SVt_PVHV);		\
+	STMT_START { \
+		assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]	\
+			|| SvTYPE(sv) == SVt_REGEXP);	\
 		assert(!isGV_with_GP(sv));		\
 		assert(!(SvTYPE(sv) == SVt_PVIO		\
 		     && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
 		(((XPV*)  SvANY(sv))->xpv_cur = (val)); } STMT_END
 #define SvLEN_set(sv, val) \
-	STMT_START { assert(SvTYPE(sv) >= SVt_PV); \
-		assert(SvTYPE(sv) != SVt_PVAV);	\
-		assert(SvTYPE(sv) != SVt_PVHV);	\
+	STMT_START { \
+		assert(PL_valid_types_PVX[SvTYPE(sv) & SVt_MASK]);	\
 		assert(!isGV_with_GP(sv));	\
 		assert(!(SvTYPE(sv) == SVt_PVIO		\
 		     && !(IoFLAGS(sv) & IOf_FAKE_DIRP))); \
@@ -1280,51 +1356,44 @@
 		 } STMT_END
 #endif
 
-#define PERL_FBM_TABLE_OFFSET 1	/* Number of bytes between EOS and table */
+#ifndef PERL_CORE
+#  define BmFLAGS(sv)		(SvTAIL(sv) ? FBMcf_TAIL : 0)
+#endif
 
-/* SvPOKp not SvPOK in the assertion because the string can be tainted! eg
-   perl -T -e '/$^X/'
-*/
 #if defined (DEBUGGING) && defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
-#  define BmFLAGS(sv)							\
-	(*({ SV *const _bmflags = MUTABLE_SV(sv);			\
-		assert(SvTYPE(_bmflags) == SVt_PVGV);			\
-		assert(SvVALID(_bmflags));				\
-	    &(((XPVGV*) SvANY(_bmflags))->xnv_u.xbm_s.xbm_flags);	\
-	 }))
 #  define BmRARE(sv)							\
 	(*({ SV *const _bmrare = MUTABLE_SV(sv);			\
-		assert(SvTYPE(_bmrare) == SVt_PVGV);			\
+		assert(SvTYPE(_bmrare) == SVt_PVMG);			\
 		assert(SvVALID(_bmrare));				\
-	    &(((XPVGV*) SvANY(_bmrare))->xnv_u.xbm_s.xbm_rare);		\
+	    &(((XPVMG*) SvANY(_bmrare))->xnv_u.xbm_s.xbm_rare);		\
 	 }))
 #  define BmUSEFUL(sv)							\
 	(*({ SV *const _bmuseful = MUTABLE_SV(sv);			\
-	    assert(SvTYPE(_bmuseful) == SVt_PVGV);			\
+	    assert(SvTYPE(_bmuseful) == SVt_PVMG);			\
 	    assert(SvVALID(_bmuseful));					\
 	    assert(!SvIOK(_bmuseful));					\
-	    &(((XPVGV*) SvANY(_bmuseful))->xiv_u.xivu_i32);		\
+	    &(((XPVMG*) SvANY(_bmuseful))->xnv_u.xbm_s.xbm_useful);	\
 	 }))
 #  define BmPREVIOUS(sv)						\
     (*({ SV *const _bmprevious = MUTABLE_SV(sv);			\
-		assert(SvTYPE(_bmprevious) == SVt_PVGV);		\
+		assert(SvTYPE(_bmprevious) == SVt_PVMG);		\
 		assert(SvVALID(_bmprevious));				\
-	    &(((XPVGV*) SvANY(_bmprevious))->xnv_u.xbm_s.xbm_previous);	\
+	    &(((XPVMG*) SvANY(_bmprevious))->xiv_u.xivu_uv);		\
 	 }))
 #else
-#  define BmFLAGS(sv)		((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_flags
-#  define BmRARE(sv)		((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_rare
-#  define BmUSEFUL(sv)		((XPVGV*) SvANY(sv))->xiv_u.xivu_i32
-#  define BmPREVIOUS(sv)	((XPVGV*) SvANY(sv))->xnv_u.xbm_s.xbm_previous
+#  define BmRARE(sv)		((XPVMG*) SvANY(sv))->xnv_u.xbm_s.xbm_rare
+#  define BmUSEFUL(sv)		((XPVMG*) SvANY(sv))->xnv_u.xbm_s.xbm_useful
+#  define BmPREVIOUS(sv)	((XPVMG*) SvANY(sv))->xiv_u.xivu_uv
 
 #endif
 
-#define FmLINES(sv)	((XPVFM*)  SvANY(sv))->xfm_lines
+#define FmLINES(sv)	((XPVIV*)  SvANY(sv))->xiv_iv
 
 #define LvTYPE(sv)	((XPVLV*)  SvANY(sv))->xlv_type
 #define LvTARG(sv)	((XPVLV*)  SvANY(sv))->xlv_targ
 #define LvTARGOFF(sv)	((XPVLV*)  SvANY(sv))->xlv_targoff
 #define LvTARGLEN(sv)	((XPVLV*)  SvANY(sv))->xlv_targlen
+#define LvFLAGS(sv)	((XPVLV*)  SvANY(sv))->xlv_flags
 
 #define IoIFP(sv)	(sv)->sv_u.svu_fp
 #define IoOFP(sv)	((XPVIO*)  SvANY(sv))->xio_ofp
@@ -1357,7 +1426,7 @@
 
 /*
 =for apidoc Am|bool|SvTAINTED|SV* sv
-Checks to see if an SV is tainted. Returns TRUE if it is, FALSE if
+Checks to see if an SV is tainted.  Returns TRUE if it is, FALSE if
 not.
 
 =for apidoc Am|void|SvTAINTED_on|SV* sv
@@ -1364,8 +1433,8 @@
 Marks an SV as tainted if tainting is enabled.
 
 =for apidoc Am|void|SvTAINTED_off|SV* sv
-Untaints an SV. Be I<very> careful with this routine, as it short-circuits
-some of Perl's fundamental security features. XS module authors should not
+Untaints an SV.  Be I<very> careful with this routine, as it short-circuits
+some of Perl's fundamental security features.  XS module authors should not
 use this function unless they fully understand all the implications of
 unconditionally untainting the value. Untainting should be done in the
 standard perl fashion, via a carefully crafted regexp, rather than directly
@@ -1372,7 +1441,11 @@
 untainting variables.
 
 =for apidoc Am|void|SvTAINT|SV* sv
-Taints an SV if tainting is enabled.
+Taints an SV if tainting is enabled, and if some input to the current
+expression is tainted--usually a variable, but possibly also implicit
+inputs such as locale settings.  C<SvTAINT> propagates that taintedness to
+the outputs of an expression in a pessimistic fashion; i.e., without paying
+attention to precisely which outputs are influenced by which inputs.
 
 =cut
 */
@@ -1379,14 +1452,18 @@
 
 #define sv_taint(sv)	  sv_magic((sv), NULL, PERL_MAGIC_taint, NULL, 0)
 
-#define SvTAINTED(sv)	  (SvMAGICAL(sv) && sv_tainted(sv))
-#define SvTAINTED_on(sv)  STMT_START{ if(PL_tainting){sv_taint(sv);}   }STMT_END
-#define SvTAINTED_off(sv) STMT_START{ if(PL_tainting){sv_untaint(sv);} }STMT_END
+#if NO_TAINT_SUPPORT
+#   define SvTAINTED(sv) 0
+#else
+#   define SvTAINTED(sv)	  (SvMAGICAL(sv) && sv_tainted(sv))
+#endif
+#define SvTAINTED_on(sv)  STMT_START{ if(TAINTING_get){sv_taint(sv);}   }STMT_END
+#define SvTAINTED_off(sv) STMT_START{ if(TAINTING_get){sv_untaint(sv);} }STMT_END
 
 #define SvTAINT(sv)			\
     STMT_START {			\
-	if (PL_tainting) {		\
-	    if (PL_tainted)		\
+	if (TAINTING_get) {		\
+	    if (TAINT_get)		\
 		SvTAINTED_on(sv);	\
 	}				\
     } STMT_END
@@ -1393,39 +1470,50 @@
 
 /*
 =for apidoc Am|char*|SvPV_force|SV* sv|STRLEN len
-Like C<SvPV> but will force the SV into containing just a string
-(C<SvPOK_only>).  You want force if you are going to update the C<SvPVX>
-directly.
+Like C<SvPV> but will force the SV into containing a string (C<SvPOK>), and
+only a string (C<SvPOK_only>), by hook or by crook.  You need force if you are
+going to update the C<SvPVX> directly.  Processes get magic.
 
+Note that coercing an arbitrary scalar into a plain PV will potentially
+strip useful data from it. For example if the SV was C<SvROK>, then the
+referent will have its reference count decremented, and the SV itself may
+be converted to an C<SvPOK> scalar with a string buffer containing a value
+such as C<"ARRAY(0x1234)">.
+
 =for apidoc Am|char*|SvPV_force_nomg|SV* sv|STRLEN len
-Like C<SvPV> but will force the SV into containing just a string
-(C<SvPOK_only>).  You want force if you are going to update the C<SvPVX>
-directly. Doesn't process magic.
+Like C<SvPV_force>, but doesn't process get magic.
 
 =for apidoc Am|char*|SvPV|SV* sv|STRLEN len
 Returns a pointer to the string in the SV, or a stringified form of
 the SV if the SV does not contain a string.  The SV may cache the
-stringified version becoming C<SvPOK>.  Handles 'get' magic. See also
+stringified version becoming C<SvPOK>.  Handles 'get' magic.  See also
 C<SvPVx> for a version which guarantees to evaluate sv only once.
 
+Note that there is no guarantee that the return value of C<SvPV()> is
+equal to C<SvPVX(sv)>, or that C<SvPVX(sv)> contains valid data, or that
+successive calls to C<SvPV(sv)) will return the same pointer value each
+time. This is due to the way that things like overloading and
+Copy-On-Write are handled.  In these cases, the return value may point to
+a temporary buffer or similar.  If you absolutely need the SvPVX field to
+be valid (for example, if you intend to write to it), then see
+L</SvPV_force>.
+
 =for apidoc Am|char*|SvPVx|SV* sv|STRLEN len
 A version of C<SvPV> which guarantees to evaluate C<sv> only once.
 Only use this if C<sv> is an expression with side effects, otherwise use the
-more efficient C<SvPVX>.
+more efficient C<SvPV>.
 
 =for apidoc Am|char*|SvPV_nomg|SV* sv|STRLEN len
 Like C<SvPV> but doesn't process magic.
 
 =for apidoc Am|char*|SvPV_nolen|SV* sv
-Returns a pointer to the string in the SV, or a stringified form of
-the SV if the SV does not contain a string.  The SV may cache the
-stringified form becoming C<SvPOK>.  Handles 'get' magic.
+Like C<SvPV> but doesn't set a length variable.
 
 =for apidoc Am|char*|SvPV_nomg_nolen|SV* sv
 Like C<SvPV_nolen> but doesn't process magic.
 
 =for apidoc Am|IV|SvIV|SV* sv
-Coerces the given SV to an integer and returns it. See C<SvIVx> for a
+Coerces the given SV to an integer and returns it.  See C<SvIVx> for a
 version which guarantees to evaluate sv only once.
 
 =for apidoc Am|IV|SvIV_nomg|SV* sv
@@ -1432,12 +1520,13 @@
 Like C<SvIV> but doesn't process magic.
 
 =for apidoc Am|IV|SvIVx|SV* sv
-Coerces the given SV to an integer and returns it. Guarantees to evaluate
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to an integer and returns it.
+Guarantees to evaluate C<sv> only once.  Only use
+this if C<sv> is an expression with side effects,
 otherwise use the more efficient C<SvIV>.
 
 =for apidoc Am|NV|SvNV|SV* sv
-Coerce the given SV to a double and return it. See C<SvNVx> for a version
+Coerce the given SV to a double and return it.  See C<SvNVx> for a version
 which guarantees to evaluate sv only once.
 
 =for apidoc Am|NV|SvNV_nomg|SV* sv
@@ -1444,8 +1533,9 @@
 Like C<SvNV> but doesn't process magic.
 
 =for apidoc Am|NV|SvNVx|SV* sv
-Coerces the given SV to a double and returns it. Guarantees to evaluate
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to a double and returns it.
+Guarantees to evaluate C<sv> only once.  Only use
+this if C<sv> is an expression with side effects,
 otherwise use the more efficient C<SvNV>.
 
 =for apidoc Am|UV|SvUV|SV* sv
@@ -1456,8 +1546,9 @@
 Like C<SvUV> but doesn't process magic.
 
 =for apidoc Am|UV|SvUVx|SV* sv
-Coerces the given SV to an unsigned integer and returns it. Guarantees to
-C<sv> only once. Only use this if C<sv> is an expression with side effects,
+Coerces the given SV to an unsigned integer and
+returns it.  Guarantees to evaluate C<sv> only once.  Only
+use this if C<sv> is an expression with side effects,
 otherwise use the more efficient C<SvUV>.
 
 =for apidoc Am|bool|SvTRUE|SV* sv
@@ -1509,9 +1600,9 @@
 otherwise.
 
 =for apidoc Am|bool|SvIsCOW|SV* sv
-Returns a boolean indicating whether the SV is Copy-On-Write. (either shared
+Returns a boolean indicating whether the SV is Copy-On-Write (either shared
 hash key scalars, or full Copy On Write scalars if 5.9.0 is configured for
-COW)
+COW).
 
 =for apidoc Am|bool|SvIsCOW_shared_hash|SV* sv
 Returns a boolean indicating whether the SV is Copy-On-Write shared hash key
@@ -1531,15 +1622,15 @@
 
 =for apidoc Amdb|STRLEN|sv_utf8_upgrade_nomg|NN SV *sv
 
-Like sv_utf8_upgrade, but doesn't do magic on C<sv>
+Like sv_utf8_upgrade, but doesn't do magic on C<sv>.
 
 =cut
 */
 
 /* Let us hope that bitmaps for UV and IV are the same */
-#define SvIV(sv) (SvIOK(sv) ? SvIVX(sv) : sv_2iv(sv))
-#define SvUV(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv(sv))
-#define SvNV(sv) (SvNOK(sv) ? SvNVX(sv) : sv_2nv(sv))
+#define SvIV(sv) (SvIOK_nog(sv) ? SvIVX(sv) : sv_2iv(sv))
+#define SvUV(sv) (SvUOK_nog(sv) ? SvUVX(sv) : sv_2uv(sv))
+#define SvNV(sv) (SvNOK_nog(sv) ? SvNVX(sv) : sv_2nv(sv))
 
 #define SvIV_nomg(sv) (SvIOK(sv) ? SvIVX(sv) : sv_2iv_flags(sv, 0))
 #define SvUV_nomg(sv) (SvIOK(sv) ? SvUVX(sv) : sv_2uv_flags(sv, 0))
@@ -1547,23 +1638,23 @@
 
 /* ----*/
 
-#define SvPV(sv, lp) SvPV_flags(sv, lp, SV_GMAGIC)
-#define SvPV_const(sv, lp) SvPV_flags_const(sv, lp, SV_GMAGIC)
+#define SvPV(sv, lp)         SvPV_flags(sv, lp, SV_GMAGIC)
+#define SvPV_const(sv, lp)   SvPV_flags_const(sv, lp, SV_GMAGIC)
 #define SvPV_mutable(sv, lp) SvPV_flags_mutable(sv, lp, SV_GMAGIC)
 
 #define SvPV_flags(sv, lp, flags) \
-    ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+    (SvPOK_nog(sv) \
      ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pv_flags(sv, &lp, flags))
 #define SvPV_flags_const(sv, lp, flags) \
-    ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+    (SvPOK_nog(sv) \
      ? ((lp = SvCUR(sv)), SvPVX_const(sv)) : \
      (const char*) sv_2pv_flags(sv, &lp, flags|SV_CONST_RETURN))
 #define SvPV_flags_const_nolen(sv, flags) \
-    ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+    (SvPOK_nog(sv) \
      ? SvPVX_const(sv) : \
      (const char*) sv_2pv_flags(sv, 0, flags|SV_CONST_RETURN))
 #define SvPV_flags_mutable(sv, lp, flags) \
-    ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+    (SvPOK_nog(sv) \
      ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) : \
      sv_2pv_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
 
@@ -1575,26 +1666,28 @@
 #define SvPV_force_nomg_nolen(sv) SvPV_force_flags_nolen(sv, 0)
 
 #define SvPV_force_flags(sv, lp, flags) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
-    ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags))
+    (SvPOK_pure_nogthink(sv) \
+     ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvn_force_flags(sv, &lp, flags))
+
 #define SvPV_force_flags_nolen(sv, flags) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
-    ? SvPVX(sv) : sv_pvn_force_flags(sv, 0, flags))
+    (SvPOK_pure_nogthink(sv) \
+     ? SvPVX(sv) : sv_pvn_force_flags(sv, 0, flags))
+
 #define SvPV_force_flags_mutable(sv, lp, flags) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_THINKFIRST)) == SVf_POK \
-    ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \
+    (SvPOK_pure_nogthink(sv) \
+     ? ((lp = SvCUR(sv)), SvPVX_mutable(sv)) \
      : sv_pvn_force_flags(sv, &lp, flags|SV_MUTABLE_RETURN))
 
 #define SvPV_nolen(sv) \
-    ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+    (SvPOK_nog(sv) \
      ? SvPVX(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC))
 
 #define SvPV_nomg_nolen(sv) \
-    ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+    (SvPOK_nog(sv) \
      ? SvPVX(sv) : sv_2pv_flags(sv, 0, 0))
 
 #define SvPV_nolen_const(sv) \
-    ((SvFLAGS(sv) & (SVf_POK)) == SVf_POK \
+    (SvPOK_nog(sv) \
      ? SvPVX_const(sv) : sv_2pv_flags(sv, 0, SV_GMAGIC|SV_CONST_RETURN))
 
 #define SvPV_nomg(sv, lp) SvPV_flags(sv, lp, 0)
@@ -1604,33 +1697,31 @@
 /* ----*/
 
 #define SvPVutf8(sv, lp) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK|SVf_UTF8) \
+    (SvPOK_utf8_nog(sv) \
      ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvutf8(sv, &lp))
 
 #define SvPVutf8_force(sv, lp) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_THINKFIRST)) == (SVf_POK|SVf_UTF8) \
+    (SvPOK_utf8_pure_nogthink(sv) \
      ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvutf8n_force(sv, &lp))
 
-
 #define SvPVutf8_nolen(sv) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK|SVf_UTF8)\
+    (SvPOK_utf8_nog(sv) \
      ? SvPVX(sv) : sv_2pvutf8(sv, 0))
 
 /* ----*/
 
 #define SvPVbyte(sv, lp) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK) \
+    (SvPOK_byte_nog(sv) \
      ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_2pvbyte(sv, &lp))
 
 #define SvPVbyte_force(sv, lp) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8|SVf_THINKFIRST)) == (SVf_POK) \
+    (SvPOK_byte_pure_nogthink(sv) \
      ? ((lp = SvCUR(sv)), SvPVX(sv)) : sv_pvbyten_force(sv, &lp))
 
 #define SvPVbyte_nolen(sv) \
-    ((SvFLAGS(sv) & (SVf_POK|SVf_UTF8)) == (SVf_POK)\
+    (SvPOK_byte_nog(sv) \
      ? SvPVX(sv) : sv_2pvbyte(sv, 0))
 
-
     
 /* define FOOx(): idempotent versions of FOO(). If possible, use a local
  * var to evaluate the arg once; failing that, use a global if possible;
@@ -1641,6 +1732,20 @@
 #define SvPVutf8x_force(sv, lp) sv_pvutf8n_force(sv, &lp)
 #define SvPVbytex_force(sv, lp) sv_pvbyten_force(sv, &lp)
 
+#define SvTRUE(sv)        ((sv) && (SvGMAGICAL(sv) ? sv_2bool(sv) : SvTRUE_common(sv, sv_2bool_nomg(sv))))
+#define SvTRUE_nomg(sv)   ((sv) && (                                SvTRUE_common(sv, sv_2bool_nomg(sv))))
+#define SvTRUE_NN(sv)              (SvGMAGICAL(sv) ? sv_2bool(sv) : SvTRUE_common(sv, sv_2bool_nomg(sv)))
+#define SvTRUE_nomg_NN(sv) (                                        SvTRUE_common(sv, sv_2bool_nomg(sv)))
+#define SvTRUE_common(sv,fallback) (			\
+      !SvOK(sv)						\
+	? 0						\
+    : SvPOK(sv)						\
+	? SvPVXtrue(sv)					\
+    : (SvFLAGS(sv) & (SVf_IOK|SVf_NOK))			\
+	? (   (SvIOK(sv) && SvIVX(sv) != 0)		\
+	   || (SvNOK(sv) && SvNVX(sv) != 0.0))		\
+    : (fallback))
+
 #if defined(__GNUC__) && !defined(PERL_GCC_BRACE_GROUPS_FORBIDDEN)
 
 #  define SvIVx(sv) ({SV *_sv = MUTABLE_SV(sv); SvIV(_sv); })
@@ -1653,39 +1758,8 @@
 #  define SvPVutf8x(sv, lp) ({SV *_sv = (sv); SvPVutf8(_sv, lp); })
 #  define SvPVbytex(sv, lp) ({SV *_sv = (sv); SvPVbyte(_sv, lp); })
 #  define SvPVbytex_nolen(sv) ({SV *_sv = (sv); SvPVbyte_nolen(_sv); })
-#  define SvTRUE(sv) (						\
-    !sv								\
-    ? 0								\
-    :    SvPOK(sv)						\
-	?   (({XPV *nxpv = (XPV*)SvANY(sv);			\
-	     nxpv &&						\
-	     (nxpv->xpv_cur > 1 ||				\
-	      (nxpv->xpv_cur && *(sv)->sv_u.svu_pv != '0')); })	\
-	     ? 1						\
-	     : 0)						\
-	:							\
-	    SvIOK(sv)						\
-	    ? SvIVX(sv) != 0					\
-	    :   SvNOK(sv)					\
-		? SvNVX(sv) != 0.0				\
-		: sv_2bool(sv) )
-#  define SvTRUE_nomg(sv) (					\
-    !sv								\
-    ? 0								\
-    :    SvPOK(sv)						\
-	?   (({XPV *nxpv = (XPV*)SvANY(sv);			\
-	     nxpv &&						\
-	     (nxpv->xpv_cur > 1 ||				\
-	      (nxpv->xpv_cur && *(sv)->sv_u.svu_pv != '0')); })	\
-	     ? 1						\
-	     : 0)						\
-	:							\
-	    SvIOK(sv)						\
-	    ? SvIVX(sv) != 0					\
-	    :   SvNOK(sv)					\
-		? SvNVX(sv) != 0.0				\
-		: sv_2bool_flags(sv,0) )
-#  define SvTRUEx(sv) ({SV *_sv = (sv); SvTRUE(_sv); })
+#  define SvTRUEx(sv)      ({SV *_sv = (sv); SvTRUE(_sv); })
+#  define SvTRUEx_nomg(sv) ({SV *_sv = (sv); SvTRUE_nomg(_sv); })
 
 #else /* __GNUC__ */
 
@@ -1702,41 +1776,24 @@
 #  define SvPVutf8x(sv, lp) ((PL_Sv = (sv)), SvPVutf8(PL_Sv, lp))
 #  define SvPVbytex(sv, lp) ((PL_Sv = (sv)), SvPVbyte(PL_Sv, lp))
 #  define SvPVbytex_nolen(sv) ((PL_Sv = (sv)), SvPVbyte_nolen(PL_Sv))
-#  define SvTRUE(sv) (						\
-    !sv								\
-    ? 0								\
-    :    SvPOK(sv)						\
-	?   ((PL_Xpv = (XPV*)SvANY(PL_Sv = (sv))) &&		\
-	     (PL_Xpv->xpv_cur > 1 ||				\
-	      (PL_Xpv->xpv_cur && *PL_Sv->sv_u.svu_pv != '0'))	\
-	     ? 1						\
-	     : 0)						\
-	:							\
-	    SvIOK(sv)						\
-	    ? SvIVX(sv) != 0					\
-	    :   SvNOK(sv)					\
-		? SvNVX(sv) != 0.0				\
-		: sv_2bool(sv) )
-#  define SvTRUE_nomg(sv) (					\
-    !sv								\
-    ? 0								\
-    :    SvPOK(sv)						\
-	?   ((PL_Xpv = (XPV*)SvANY(PL_Sv = (sv))) &&		\
-	     (PL_Xpv->xpv_cur > 1 ||				\
-	      (PL_Xpv->xpv_cur && *PL_Sv->sv_u.svu_pv != '0'))	\
-	     ? 1						\
-	     : 0)						\
-	:							\
-	    SvIOK(sv)						\
-	    ? SvIVX(sv) != 0					\
-	    :   SvNOK(sv)					\
-		? SvNVX(sv) != 0.0				\
-		: sv_2bool_flags(sv,0) )
-#  define SvTRUEx(sv) ((PL_Sv = (sv)), SvTRUE(PL_Sv))
+#  define SvTRUEx(sv)      ((PL_Sv = (sv)), SvTRUE(PL_Sv))
+#  define SvTRUEx_nomg(sv) ((PL_Sv = (sv)), SvTRUE_nomg(PL_Sv))
 #endif /* __GNU__ */
 
-#define SvIsCOW(sv)		((SvFLAGS(sv) & (SVf_FAKE | SVf_READONLY)) == \
-				    (SVf_FAKE | SVf_READONLY))
+#define SvPVXtrue(sv)	(					\
+    ((XPV*)SvANY((sv))) 					\
+     && (							\
+	((XPV*)SvANY((sv)))->xpv_cur > 1			\
+	|| (							\
+	    ((XPV*)SvANY((sv)))->xpv_cur			\
+	    && *(sv)->sv_u.svu_pv != '0'				\
+	)							\
+    )								\
+)
+
+#define SvIsCOW(sv)		(SvFLAGS(sv) & SVf_IsCOW)
+#define SvIsCOW_on(sv)		(SvFLAGS(sv) |= SVf_IsCOW)
+#define SvIsCOW_off(sv)		(SvFLAGS(sv) &= ~SVf_IsCOW)
 #define SvIsCOW_shared_hash(sv)	(SvIsCOW(sv) && SvLEN(sv) == 0)
 
 #define SvSHARED_HEK_FROM_PV(pvx) \
@@ -1765,6 +1822,12 @@
 /* if (after resolving magic etc), the SV is found to be overloaded,
  * don't call the overload magic, just return as-is */
 #define SV_SKIP_OVERLOAD	8192
+/* It is not yet clear whether we want this as an API, or what the
+ * constants should be named. */
+#ifdef PERL_CORE
+# define SV_CATBYTES		16384
+# define SV_CATUTF8		32768
+#endif
 
 /* The core is safe for this COW optimisation. XS code on CPAN may not be.
    So only default to doing the COW setup if we're in the core.
@@ -1799,18 +1862,40 @@
     ((SvIsCOW(sv) ? sv_force_normal_flags(sv, 0) : (void) 0), 0)
 #  define SvIsCOW_normal(sv)	(SvIsCOW(sv) && SvLEN(sv))
 #  define SvRELEASE_IVX_(sv)	SvRELEASE_IVX(sv),
+#  define SvCANCOW(sv) \
+	(SvIsCOW(sv) || (SvFLAGS(sv) & CAN_COW_MASK) == CAN_COW_FLAGS)
+/* This is a pessimistic view. Scalar must be purely a read-write PV to copy-
+   on-write.  */
+#  define CAN_COW_MASK	(SVs_OBJECT|SVs_GMG|SVs_SMG|SVs_RMG|SVf_IOK|SVf_NOK| \
+			 SVf_POK|SVf_ROK|SVp_IOK|SVp_NOK|SVp_POK|SVf_FAKE| \
+			 SVf_OOK|SVf_BREAK|SVf_READONLY)
 #else
 #  define SvRELEASE_IVX(sv)   0
 /* This little game brought to you by the need to shut this warning up:
-mg.c: In function `Perl_magic_get':
+mg.c: In function 'Perl_magic_get':
 mg.c:1024: warning: left-hand operand of comma expression has no effect
 */
 #  define SvRELEASE_IVX_(sv)  /**/
+#  ifdef PERL_NEW_COPY_ON_WRITE
+#   define SvCANCOW(sv)					    \
+	(SvIsCOW(sv)					     \
+	 ? SvLEN(sv) ? CowREFCNT(sv) != SV_COW_REFCNT_MAX : 1 \
+	 : (SvFLAGS(sv) & CAN_COW_MASK) == CAN_COW_FLAGS       \
+			    && SvCUR(sv)+1 < SvLEN(sv))
+   /* Note: To allow 256 COW "copies", a refcnt of 0 means 1. */
+#   define CowREFCNT(sv)	(*(U8 *)(SvPVX(sv)+SvLEN(sv)-1))
+#   define SV_COW_REFCNT_MAX	((1 << sizeof(U8)*8) - 1)
+#   ifndef SV_COW_THRESHOLD
+#    define SV_COW_THRESHOLD	0	/* min string length for cow */
+#   endif
+#   ifndef SV_COWBUF_THRESHOLD
+#    define SV_COWBUF_THRESHOLD	1250	/* min string length for cow */
+#   endif				/* over existing buffer */
+#   define CAN_COW_MASK	(SVf_POK|SVf_ROK|SVp_POK|SVf_FAKE| \
+			 SVf_OOK|SVf_BREAK|SVf_READONLY)
+#  endif
 #endif /* PERL_OLD_COPY_ON_WRITE */
 
-#define CAN_COW_MASK	(SVs_OBJECT|SVs_GMG|SVs_SMG|SVs_RMG|SVf_IOK|SVf_NOK| \
-			 SVf_POK|SVf_ROK|SVp_IOK|SVp_NOK|SVp_POK|SVf_FAKE| \
-			 SVf_OOK|SVf_BREAK|SVf_READONLY)
 #define CAN_COW_FLAGS	(SVp_POK|SVf_POK)
 
 #define SV_CHECK_THINKFIRST(sv) if (SvTHINKFIRST(sv)) \
@@ -1835,8 +1920,9 @@
 #define sv_catsv_nomg(dsv, ssv) sv_catsv_flags(dsv, ssv, 0)
 #define sv_catsv_mg(dsv, ssv) sv_catsv_flags(dsv, ssv, SV_GMAGIC|SV_SMAGIC)
 #define sv_catpvn(dsv, sstr, slen) sv_catpvn_flags(dsv, sstr, slen, SV_GMAGIC)
-#define sv_catpvn_mg(sv, sstr, slen) \
-	sv_catpvn_flags(sv, sstr, slen, SV_GMAGIC|SV_SMAGIC);
+#define sv_catpvn_mg(sv, sstr, slen) sv_catpvn_flags(sv, sstr, slen, SV_GMAGIC|SV_SMAGIC);
+#define sv_copypv(dsv, ssv) sv_copypv_flags(dsv, ssv, SV_GMAGIC)
+#define sv_copypv_nomg(dsv, ssv) sv_copypv_flags(dsv, ssv, 0)
 #define sv_2pv(sv, lp) sv_2pv_flags(sv, lp, SV_GMAGIC)
 #define sv_2pv_nolen(sv) sv_2pv(sv, 0)
 #define sv_2pvbyte_nolen(sv) sv_2pvbyte(sv, 0)
@@ -1852,12 +1938,15 @@
 #define sv_cmp_locale(sv1, sv2) sv_cmp_locale_flags(sv1, sv2, SV_GMAGIC)
 #define sv_collxfrm(sv, nxp) sv_cmp_flags(sv, nxp, SV_GMAGIC)
 #define sv_2bool(sv) sv_2bool_flags(sv, SV_GMAGIC)
+#define sv_2bool_nomg(sv) sv_2bool_flags(sv, 0)
 #define sv_insert(bigstr, offset, len, little, littlelen)		\
 	Perl_sv_insert_flags(aTHX_ (bigstr),(offset), (len), (little),	\
 			     (littlelen), SV_GMAGIC)
+#define sv_mortalcopy(sv) \
+	Perl_sv_mortalcopy_flags(aTHX_ sv, SV_GMAGIC|SV_DO_COW_SVSETSV)
 
 /* Should be named SvCatPVN_utf8_upgrade? */
-#define sv_catpvn_utf8_upgrade(dsv, sstr, slen, nsv)	\
+#define sv_catpvn_nomg_utf8_upgrade(dsv, sstr, slen, nsv)	\
 	STMT_START {					\
 	    if (!(nsv))					\
 		nsv = newSVpvn_flags(sstr, slen, SVs_TEMP);	\
@@ -1865,9 +1954,19 @@
 		sv_setpvn(nsv, sstr, slen);		\
 	    SvUTF8_off(nsv);				\
 	    sv_utf8_upgrade(nsv);			\
-	    sv_catsv(dsv, nsv);	\
+	    sv_catsv_nomg(dsv, nsv);			\
 	} STMT_END
+#define sv_catpvn_nomg_maybeutf8(dsv, sstr, slen, is_utf8) \
+	sv_catpvn_flags(dsv, sstr, slen, (is_utf8)?SV_CATUTF8:SV_CATBYTES)
 
+#ifdef PERL_CORE
+# define sv_or_pv_len_utf8(sv, pv, bytelen)	      \
+    (SvGAMAGIC(sv)				       \
+	? utf8_length((U8 *)(pv), (U8 *)(pv)+(bytelen))	\
+	: sv_len_utf8(sv))
+# define sv_or_pv_pos_u2b(sv,s,p,lp) S_sv_or_pv_pos_u2b(aTHX_ sv,s,p,lp)
+#endif
+
 /*
 =for apidoc Am|SV*|newRV_inc|SV* sv
 
@@ -1885,11 +1984,14 @@
 =head1 Magical Functions
 
 =for apidoc Am|void|SvGETMAGIC|SV* sv
-Invokes C<mg_get> on an SV if it has 'get' magic.  This macro evaluates its
+Invokes C<mg_get> on an SV if it has 'get' magic.  For example, this
+will call C<FETCH> on a tied variable.  This macro evaluates its
 argument more than once.
 
 =for apidoc Am|void|SvSETMAGIC|SV* sv
-Invokes C<mg_set> on an SV if it has 'set' magic.  This macro evaluates its
+Invokes C<mg_set> on an SV if it has 'set' magic.  This is necessary
+after modifying a scalar, in case it is a magical variable like C<$|>
+or a tied variable (it calls C<STORE>).  This macro evaluates its
 argument more than once.
 
 =for apidoc Am|void|SvSetSV|SV* dsb|SV* ssv
@@ -1898,7 +2000,7 @@
 
 =for apidoc Am|void|SvSetSV_nosteal|SV* dsv|SV* ssv
 Calls a non-destructive version of C<sv_setsv> if dsv is not the same as
-ssv. May evaluate arguments more than once.
+ssv.  May evaluate arguments more than once.
 
 =for apidoc Am|void|SvSetMagicSV|SV* dsb|SV* ssv
 Like C<SvSetSV>, but does any set magic required afterwards.
@@ -1924,7 +2026,8 @@
 Expands the character buffer in the SV so that it has room for the
 indicated number of bytes (remember to reserve space for an extra trailing
 NUL character).  Calls C<sv_grow> to perform the expansion if necessary.
-Returns a pointer to the character buffer.
+Returns a pointer to the character buffer. SV must be of type >= SVt_PV. One
+alternative is to call C<sv_grow> if you are not sure of the type of SV.
 
 =cut
 */
@@ -1934,7 +2037,7 @@
 #define SvUNLOCK(sv) PL_unlockhook(aTHX_ sv)
 #define SvDESTROYABLE(sv) PL_destroyhook(aTHX_ sv)
 
-#define SvGETMAGIC(x) STMT_START { if (SvGMAGICAL(x)) mg_get(x); } STMT_END
+#define SvGETMAGIC(x) ((void)(SvGMAGICAL(x) && mg_get(x)))
 #define SvSETMAGIC(x) STMT_START { if (SvSMAGICAL(x)) mg_set(x); } STMT_END
 
 #define SvSetSV_and(dst,src,finally) \
@@ -1969,8 +2072,25 @@
 #define SvPEEK(sv) ""
 #endif
 
-#define SvIMMORTAL(sv) ((sv)==&PL_sv_undef || (sv)==&PL_sv_yes || (sv)==&PL_sv_no || (sv)==&PL_sv_placeholder)
+#define SvIMMORTAL(sv) (SvREADONLY(sv) && ((sv)==&PL_sv_undef || (sv)==&PL_sv_yes || (sv)==&PL_sv_no || (sv)==&PL_sv_placeholder))
 
+#ifdef DEBUGGING
+   /* exercise the immortal resurrection code in sv_free2() */
+#  define SvREFCNT_IMMORTAL 1000
+#else
+#  define SvREFCNT_IMMORTAL ((~(U32)0)/2)
+#endif
+
+/*
+=for apidoc Am|SV *|boolSV|bool b
+
+Returns a true SV if C<b> is a true value, or a false SV if C<b> is 0.
+
+See also C<PL_sv_yes> and C<PL_sv_no>.
+
+=cut
+*/
+
 #define boolSV(b) ((b) ? &PL_sv_yes : &PL_sv_no)
 
 #define isGV(sv) (SvTYPE(sv) == SVt_PVGV)
@@ -1991,9 +2111,18 @@
 	assert (!SvIOKp(sv));					       \
 	(SvFLAGS(sv) &= ~SVpgv_GP);				       \
     } STMT_END
+#define isREGEXP(sv) \
+    (SvTYPE(sv) == SVt_REGEXP				      \
+     || (SvFLAGS(sv) & (SVTYPEMASK|SVp_POK|SVpgv_GP|SVf_FAKE)) \
+	 == (SVt_PVLV|SVf_FAKE))
 
 
-#define SvGROW(sv,len) (SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX(sv))
+#ifdef PERL_NEW_COPY_ON_WRITE
+# define SvGROW(sv,len) \
+	(SvIsCOW(sv) || SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX(sv))
+#else
+# define SvGROW(sv,len) (SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX(sv))
+#endif
 #define SvGROW_mutable(sv,len) \
     (SvLEN(sv) < (len) ? sv_grow(sv,len) : SvPVX_mutable(sv))
 #define Sv_Grow sv_grow
@@ -2023,13 +2152,25 @@
 #define newSVpvn_utf8(s, len, u) newSVpvn_flags((s), (len), (u) ? SVf_UTF8 : 0)
 
 /*
+=for apidoc Amx|SV*|newSVpadname|PADNAME *pn
+
+Creates a new SV containing the pad name.  This is currently identical
+to C<newSVsv>, but pad names may cease being SVs at some point, so
+C<newSVpadname> is preferable.
+
+=cut
+*/
+
+#define newSVpadname(pn) newSVsv(pn)
+
+/*
 =for apidoc Am|void|SvOOK_offset|NN SV*sv|STRLEN len
 
 Reads into I<len> the offset from SvPVX back to the true start of the
 allocated buffer, which will be non-zero if C<sv_chop> has been used to
-efficiently remove characters from start of the buffer. Implemented as a
+efficiently remove characters from start of the buffer.  Implemented as a
 macro, which takes the address of I<len>, which must be of type C<STRLEN>.
-Evaluates I<sv> more than once. Sets I<len> to 0 if C<SvOOK(sv)> is false.
+Evaluates I<sv> more than once.  Sets I<len> to 0 if C<SvOOK(sv)> is false.
 
 =cut
 */
@@ -2042,23 +2183,23 @@
 #  define SvOOK_offset(sv, offset) STMT_START {				\
 	assert(sizeof(offset) == sizeof(STRLEN));			\
 	if (SvOOK(sv)) {						\
-	    const U8 *crash = (U8*)SvPVX_const(sv);			\
-	    offset = *--crash;						\
- 	    if (!offset) {						\
-		crash -= sizeof(STRLEN);				\
-		Copy(crash, (U8 *)&offset, sizeof(STRLEN), U8);		\
+	    const U8 *_crash = (U8*)SvPVX_const(sv);			\
+	    (offset) = *--_crash;					\
+	    if (!(offset)) {						\
+		_crash -= sizeof(STRLEN);				\
+		Copy(_crash, (U8 *)&(offset), sizeof(STRLEN), U8);	\
 	    }								\
 	    {								\
 		/* Validate the preceding buffer's sentinels to		\
 		   verify that no-one is using it.  */			\
-		const U8 *const bonk = (U8 *) SvPVX_const(sv) - offset;	\
-		while (crash > bonk) {					\
-		    --crash;						\
-		    assert (*crash == (U8)PTR2UV(crash));		\
+		const U8 *const _bonk = (U8*)SvPVX_const(sv) - (offset);\
+		while (_crash > _bonk) {				\
+		    --_crash;						\
+		    assert (*_crash == (U8)PTR2UV(_crash));		\
 		}							\
 	    }								\
 	} else {							\
-	    offset = 0;							\
+	    (offset) = 0;						\
 	}								\
     } STMT_END
 #else
@@ -2066,13 +2207,13 @@
 #  define SvOOK_offset(sv, offset) STMT_START {				\
 	assert(sizeof(offset) == sizeof(STRLEN));			\
 	if (SvOOK(sv)) {						\
-	    offset = ((U8*)SvPVX_const(sv))[-1];			\
-	    if (!offset) {						\
+	    (offset) = ((U8*)SvPVX_const(sv))[-1];			\
+	    if (!(offset)) {						\
 		Copy(SvPVX_const(sv) - 1 - sizeof(STRLEN),		\
-		     (U8 *)&offset, sizeof(STRLEN), U8);		\
+		     (U8*)&(offset), sizeof(STRLEN), U8);		\
 	    }								\
 	} else {							\
-	    offset = 0;							\
+	    (offset) = 0;						\
 	}								\
     } STMT_END
 #endif
@@ -2083,8 +2224,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/sv.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlApp.cpp
===================================================================
--- vendor/perl/dist/symbian/PerlApp.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlApp.cpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlApp.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlApp.h
===================================================================
--- vendor/perl/dist/symbian/PerlApp.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlApp.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlApp.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlApp.hrh
===================================================================
--- vendor/perl/dist/symbian/PerlApp.hrh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlApp.hrh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlApp.hrh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlAppAif.rss
===================================================================
--- vendor/perl/dist/symbian/PerlAppAif.rss	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlAppAif.rss	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlAppAif.rss
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/symbian/PerlBase.cpp
===================================================================
--- vendor/perl/dist/symbian/PerlBase.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlBase.cpp	2013-12-01 21:45:02 UTC (rev 6430)
@@ -364,7 +364,9 @@
 #else
     dTHX;
     for (i = 0; i < nUtf8; i+= UTF8SKIP(pUtf8 + i)) {
-        unsigned long u = utf8_to_uvchr((U8*)(pUtf8 + i), 0);
+        unsigned long u = utf8_to_uvchr_buf((U8*)(pUtf8 + i),
+                                            (U8*)(pUtf8 + nUtf8),
+                                            0);
         if (u > 0xFF) {
             iConsole->Printf(_L("(keycode > 0xFF)\n"));
             buf[i] = 0;
@@ -401,7 +403,7 @@
     dTHX;
     if (is_utf8_string((U8*)buf, n)) {
         for (int i = 0; i < n; i += UTF8SKIP(buf + i)) {
-            TChar u = utf8_to_uvchr((U8*)(buf + i), 0);
+            TChar u = valid_utf8_to_uvchr((U8*)(buf + i), 0);
             iConsole->Printf(_L("%c"), u);
             wrote++;
         }


Property changes on: vendor/perl/dist/symbian/PerlBase.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlBase.h
===================================================================
--- vendor/perl/dist/symbian/PerlBase.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlBase.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlBase.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlBase.pod
===================================================================
--- vendor/perl/dist/symbian/PerlBase.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlBase.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlBase.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlRecog.cpp
===================================================================
--- vendor/perl/dist/symbian/PerlRecog.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlRecog.cpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlRecog.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlRecog.mmp
===================================================================
--- vendor/perl/dist/symbian/PerlRecog.mmp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlRecog.mmp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlRecog.mmp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUi.cpp
===================================================================
--- vendor/perl/dist/symbian/PerlUi.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUi.cpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUi.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUi.h
===================================================================
--- vendor/perl/dist/symbian/PerlUi.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUi.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUi.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUi.hrh
===================================================================
--- vendor/perl/dist/symbian/PerlUi.hrh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUi.hrh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUi.hrh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUiS60.rss
===================================================================
--- vendor/perl/dist/symbian/PerlUiS60.rss	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUiS60.rss	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUiS60.rss
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUiS80.rss
===================================================================
--- vendor/perl/dist/symbian/PerlUiS80.rss	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUiS80.rss	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUiS80.rss
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUiS90.rss
===================================================================
--- vendor/perl/dist/symbian/PerlUiS90.rss	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUiS90.rss	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUiS90.rss
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUiUIQ.rss
===================================================================
--- vendor/perl/dist/symbian/PerlUiUIQ.rss	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUiUIQ.rss	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUiUIQ.rss
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUtil.cpp
===================================================================
--- vendor/perl/dist/symbian/PerlUtil.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUtil.cpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUtil.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUtil.h
===================================================================
--- vendor/perl/dist/symbian/PerlUtil.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUtil.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUtil.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/PerlUtil.pod
===================================================================
--- vendor/perl/dist/symbian/PerlUtil.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/PerlUtil.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/PerlUtil.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/README
===================================================================
--- vendor/perl/dist/symbian/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/TODO
===================================================================
--- vendor/perl/dist/symbian/TODO	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/TODO	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/TODO
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/bld.inf
===================================================================
--- vendor/perl/dist/symbian/bld.inf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/bld.inf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/bld.inf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/config.pl
===================================================================
--- vendor/perl/dist/symbian/config.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/config.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/config.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/symbian/config.sh
===================================================================
--- vendor/perl/dist/symbian/config.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/config.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,12 @@
 #!\\bin\\sh
-PERL_CONFIG_SH='true'
+Author=''
 _a='.a'
 _o='.o'
 afs='false'
 afsroot='/afs'
 alignbytes='4'
+aphostname='localhost'
 apiversion='5.005'
-aphostname='localhost'
 ar=':'
 archlib='\\system\\libs\\perl\\x.y.z\\thumb-symbian'
 archlibexp='\\system\\libs\\perl\\x.y.z\\thumb-symbian'
@@ -13,8 +13,9 @@
 archname='thumb-symbian'
 asctime_r_proto='0'
 bin='\\system\\apps\\perl'
+bincompat5005='n'
 binexp='\\system\\apps\\perl'
-bincompat5005='n'
+bootstrap_charset='undef'
 byteorder='1234'
 castflags='0'
 cc='gcc'
@@ -46,6 +47,7 @@
 d_PRIu64='undef'
 d_PRIx64='undef'
 d_SCNfldbl='undef'
+d__fwalk='undef'
 d_access='undef'
 d_accessx='undef'
 d_aintl='undef'
@@ -65,9 +67,9 @@
 d_attribute_warn_unused_result='undef'
 d_bcmp='undef'
 d_bcopy='undef'
+d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
-d_bsd='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
 d_bzero='undef'
@@ -85,11 +87,11 @@
 d_const='define'
 d_copysignl='undef'
 d_cplusplus='undef'
+d_crypt='undef'
 d_crypt_r='undef'
-d_crypt='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
-d_ctermid='undef'
 d_ctime64='undef'
 d_ctime_r='undef'
 d_cuserid='undef'
@@ -104,12 +106,12 @@
 d_dlopen='undef'
 d_dlsymun='undef'
 d_dosuid='undef'
+d_drand48_r='undef'
 d_drand48proto='undef'
-d_drand48_r='undef'
 d_dup2='undef'
 d_eaccess='undef'
+d_endgrent='undef'
 d_endgrent_r='undef'
-d_endgrent='undef'
 d_endhent='undef'
 d_endhostent_r='undef'
 d_endnent='undef'
@@ -116,8 +118,8 @@
 d_endnetent_r='undef'
 d_endpent='undef'
 d_endprotoent_r='undef'
+d_endpwent='undef'
 d_endpwent_r='undef'
-d_endpwent='undef'
 d_endsent='undef'
 d_endservent_r='undef'
 d_eofnblk='undef'
@@ -126,23 +128,23 @@
 d_fchdir='undef'
 d_fchmod='undef'
 d_fchown='undef'
+d_fcntl='undef'
 d_fcntl_can_lock='undef'
-d_fcntl='undef'
 d_fd_macros='undef'
+d_fd_set='undef'
 d_fds_bits='undef'
-d_fd_set='undef'
 d_fgetpos='undef'
+d_finite='undef'
 d_finitel='undef'
-d_finite='undef'
 d_flexfnam='define'
+d_flock='undef'
 d_flockproto='undef'
-d_flock='undef'
 d_fork='undef'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
 d_fpclassify='undef'
 d_fpclassl='undef'
-d_fp_class='undef'
-d_fpclass='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -153,9 +155,8 @@
 d_fsync='undef'
 d_ftello='undef'
 d_ftime='undef'
+d_futimes='undef'
 d_futimesat='undef'
-d_futimes='undef'
-d__fwalk='undef'
 d_gdbm_ndbm_h_uses_prototypes='undef'
 d_gdbmndbm_h_uses_prototypes='undef'
 d_getaddrinfo='undef'
@@ -162,8 +163,8 @@
 d_getcwd='define'
 d_getespwnam='undef'
 d_getfsstat='undef'
+d_getgrent='undef'
 d_getgrent_r='undef'
-d_getgrent='undef'
 d_getgrgid_r='undef'
 d_getgrnam_r='undef'
 d_getgrps='undef'
@@ -176,10 +177,10 @@
 d_gethostent_r='undef'
 d_gethostprotos='define'
 d_getitimer='undef'
+d_getlogin='undef'
 d_getlogin_r='undef'
-d_getlogin='undef'
+d_getmnt='undef'
 d_getmntent='undef'
-d_getmnt='undef'
 d_getnameinfo='undef'
 d_getnbyaddr='undef'
 d_getnbyname='undef'
@@ -202,8 +203,8 @@
 d_getprotoent_r='undef'
 d_getprotoprotos='define'
 d_getprpwnam='undef'
+d_getpwent='undef'
 d_getpwent_r='undef'
-d_getpwent='undef'
 d_getpwnam_r='undef'
 d_getpwuid_r='undef'
 d_getsbyname='define'
@@ -214,8 +215,8 @@
 d_getservent_r='undef'
 d_getservprotos='define'
 d_getspent='undef'
+d_getspnam='undef'
 d_getspnam_r='undef'
-d_getspnam='undef'
 d_gettimeod='define'
 d_gmtime64='undef'
 d_gmtime_r='undef'
@@ -230,11 +231,16 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='undef'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='undef'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='undef'
+d_isnan='undef'
 d_isnanl='undef'
-d_isnan='undef'
 d_killpg='undef'
 d_lchown='undef'
 d_ldbl_dig='undef'
@@ -241,8 +247,8 @@
 d_libm_lib_version='undef'
 d_link='undef'
 d_localtime64='undef'
+d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
-d_localtime_r='undef'
 d_locconv='undef'
 d_lockf='undef'
 d_longdbl='undef'
@@ -263,26 +269,26 @@
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkstemp='undef'
 d_mkstemps='undef'
-d_mkstemp='undef'
 d_mktime64='undef'
 d_mktime='undef'
 d_mmap='undef'
+d_modfl='undef'
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
-d_modfl='undef'
 d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
 d_msg_ctrunc='undef'
 d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
 d_msg_oob='undef'
 d_msg_peek='undef'
 d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
 d_msgrcv='undef'
 d_msgsnd='undef'
-d_msg='undef'
 d_msync='undef'
 d_munmap='undef'
 d_mymalloc='undef'
@@ -393,7 +399,9 @@
 d_sin6_scope_id='undef'
 d_sitearch='define'
 d_sitecustomize='undef'
+d_sitecustomize='undef'
 d_snprintf='undef'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -409,8 +417,8 @@
 d_sresuproto='undef'
 d_statblks='undef'
 d_statfs_f_flags='undef'
+d_statfs_s='undef'
 d_static_inline='undef'
-d_statfs_s='undef'
 d_statvfs='undef'
 d_stdio_cnt_lval='undef'
 d_stdio_ptr_lval='undef'
@@ -465,7 +473,6 @@
 d_union_semun='undef'
 d_unordered='undef'
 d_unsetenv='undef'
-d_sitecustomize='undef'
 d_usleep='define'
 d_usleepproto='undef'
 d_ustat='undef'
@@ -597,6 +604,7 @@
 i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='undef'
 i_stdlib='define'
 i_string='define'
@@ -653,10 +661,10 @@
 ivdformat='"ld"'
 ivsize='4'
 ivtype='long'
-lib_ext='.a'
+ld=':'
 lddlflags=''
-ld=':'
 ldflags=''
+lib_ext='.a'
 libc='stdlib'
 libm_lib_version='0'
 libperl='libperl.a'
@@ -682,11 +690,11 @@
 netdb_name_type='const char *'
 netdb_net_type='unsigned long'
 nroff='nroff'
+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'
 nv_preserves_uv_bits='0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
-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'
 nvsize='8'
 nvtype='double'
 o_nonblock='O_NONBLOCK'
@@ -698,7 +706,7 @@
 osvers='7.0s'
 otherlibdirs=''
 package=''
-path_sep=';';
+path_sep=';'
 perl_static_inline='static'
 phostname='hostname'
 pidtype='int'
@@ -749,8 +757,8 @@
 setprotoent_r_proto='0'
 setpwent_r_proto='0'
 setservent_r_proto='0'
+sh=':'
 shmattype='void *'
-sh=':'
 shortsize=2
 sig_name_init='0'
 sig_num_init='0'
@@ -771,6 +779,8 @@
 srandom_r_proto='0'
 src=''
 ssizetype=int
+st_ino_sign='1'
+st_ino_size='4'
 startperl=''
 stdchar=char
 stdio_base='((fp)->_IO_read_base)'
@@ -807,6 +817,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='undef'
 uselongdouble='undef'
 usemallocwrap='define'
@@ -814,6 +825,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='define'
 useposix='true'
@@ -831,16 +843,18 @@
 uvsize='4'
 uvtype='unsigned long'
 uvuformat='"lu"'
+uvxformat='"lx"'
 vaproto='undef'
+vendorarch=''
+vendorarchexp=''
+vendorlib=''
 vendorlib_stem=''
-vendorlib=''
 vendorlibexp=''
-vendorarch=''
-vendorarchexp=''
 vendorprefix=''
 vendorprefixexp=''
 version='x.y.z'
-uvxformat='"lx"'
 versiononly='undef'
 voidflags=1
 xs_apiversion='5.008'
+zip=''
+PERL_CONFIG_SH='true'


Property changes on: vendor/perl/dist/symbian/config.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/cwd.pl
===================================================================
--- vendor/perl/dist/symbian/cwd.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/cwd.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/cwd.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/demo_pl
===================================================================
--- vendor/perl/dist/symbian/demo_pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/demo_pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/demo_pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/ext/Moped/Msg/Msg.mmp
===================================================================
--- vendor/perl/dist/symbian/ext/Moped/Msg/Msg.mmp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/ext/Moped/Msg/Msg.mmp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/ext/Moped/Msg/Msg.mmp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pkg
===================================================================
--- vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pkg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pkg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pkg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pm
===================================================================
--- vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/ext/Moped/Msg/Msg.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/ext/Moped/Msg/Msg.xs
===================================================================
--- vendor/perl/dist/symbian/ext/Moped/Msg/Msg.xs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/ext/Moped/Msg/Msg.xs	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/ext/Moped/Msg/Msg.xs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/ext/Moped/Msg/README
===================================================================
--- vendor/perl/dist/symbian/ext/Moped/Msg/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/ext/Moped/Msg/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/ext/Moped/Msg/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/ext/Moped/Msg/bld.inf
===================================================================
--- vendor/perl/dist/symbian/ext/Moped/Msg/bld.inf	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/ext/Moped/Msg/bld.inf	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/ext/Moped/Msg/bld.inf
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/ext/Moped/Msg/location.pl
===================================================================
--- vendor/perl/dist/symbian/ext/Moped/Msg/location.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/ext/Moped/Msg/location.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/ext/Moped/Msg/location.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/find_writeable_data.pl
===================================================================
--- vendor/perl/dist/symbian/find_writeable_data.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/find_writeable_data.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/find_writeable_data.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/hexdump.pl
===================================================================
--- vendor/perl/dist/symbian/hexdump.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/hexdump.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/hexdump.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/install.cfg
===================================================================
--- vendor/perl/dist/symbian/install.cfg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/install.cfg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/install.cfg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/makesis.pl
===================================================================
--- vendor/perl/dist/symbian/makesis.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/makesis.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/makesis.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/port.pl
===================================================================
--- vendor/perl/dist/symbian/port.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/port.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/port.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/sanity.pl
===================================================================
--- vendor/perl/dist/symbian/sanity.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/sanity.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/sanity.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/sdk.pl
===================================================================
--- vendor/perl/dist/symbian/sdk.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/sdk.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/sdk.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/sisify.pl
===================================================================
--- vendor/perl/dist/symbian/sisify.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/sisify.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/sisify.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/symbian_dll.cpp
===================================================================
--- vendor/perl/dist/symbian/symbian_dll.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/symbian_dll.cpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/symbian_dll.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/symbian_proto.h
===================================================================
--- vendor/perl/dist/symbian/symbian_proto.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/symbian_proto.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/symbian_proto.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/symbian_stubs.c
===================================================================
--- vendor/perl/dist/symbian/symbian_stubs.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/symbian_stubs.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/symbian_stubs.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/symbian_stubs.h
===================================================================
--- vendor/perl/dist/symbian/symbian_stubs.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/symbian_stubs.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/symbian_stubs.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/symbian_utils.cpp
===================================================================
--- vendor/perl/dist/symbian/symbian_utils.cpp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/symbian_utils.cpp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/symbian_utils.cpp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/symbianish.h
===================================================================
--- vendor/perl/dist/symbian/symbianish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/symbianish.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/symbianish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/uid.pl
===================================================================
--- vendor/perl/dist/symbian/uid.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/uid.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/uid.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/version.pl
===================================================================
--- vendor/perl/dist/symbian/version.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/version.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/version.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/symbian/xsbuild.pl
===================================================================
--- vendor/perl/dist/symbian/xsbuild.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/symbian/xsbuild.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/symbian/xsbuild.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/01use.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/01use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/01use.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/01use.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/02alsoworks.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/02alsoworks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/02alsoworks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/02alsoworks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/02works.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/02works.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/02works.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/02works.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/02works_taint.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/02works_taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/02works_taint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/02works_taint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/03diffname.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/03diffname.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/03diffname.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/03diffname.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/04acmedir.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/04acmedir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/04acmedir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/04acmedir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/04acmedir_single.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/04acmedir_single.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/04acmedir_single.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/04acmedir_single.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/04acmepath.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/04acmepath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/04acmepath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/04acmepath.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/04acmepath_single.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/04acmepath_single.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/04acmepath_single.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/04acmepath_single.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/05postpath.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/05postpath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/05postpath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/05postpath.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/06multipath.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/06multipath.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/06multipath.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/06multipath.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/07instantiate.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/07instantiate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/07instantiate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/07instantiate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/08nothing.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/08nothing.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/08nothing.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/08nothing.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/09require.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/09require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/09require.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/09require.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/10innerpack.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/10innerpack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/10innerpack.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/10innerpack.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/10innerpack_inner.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/10innerpack_inner.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/10innerpack_inner.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/10innerpack_inner.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/10innerpack_noinner.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/10innerpack_noinner.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/10innerpack_noinner.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/10innerpack_noinner.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/10innerpack_override.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/10innerpack_override.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/10innerpack_override.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/10innerpack_override.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/11usetwice.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/11usetwice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/11usetwice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/11usetwice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/12only.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/12only.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/12only.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/12only.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/12onlyarray.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/12onlyarray.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/12onlyarray.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/12onlyarray.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/12onlyregex.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/12onlyregex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/12onlyregex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/12onlyregex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/13except.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/13except.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/13except.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/13except.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/13exceptarray.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/13exceptarray.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/13exceptarray.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/13exceptarray.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/13exceptregex.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/13exceptregex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/13exceptregex.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/13exceptregex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/14package.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/14package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/14package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/14package.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/15topicsafe.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/15topicsafe.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/15topicsafe.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/15topicsafe.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/16different_extension.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/16different_extension.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/16different_extension.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/16different_extension.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/17devel_inner_package.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/17devel_inner_package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/17devel_inner_package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/17devel_inner_package.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/18skipped_package.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/18skipped_package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/18skipped_package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/18skipped_package.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/19can_ok_clobber.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/19can_ok_clobber.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/19can_ok_clobber.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/19can_ok_clobber.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/20dodgy_files.t
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/20dodgy_files.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/20dodgy_files.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/20dodgy_files.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/acme/Acme/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/acme/Acme/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/acme/Acme/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/acme/Acme/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/Acme/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/Acme/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/Acme/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/Acme/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Bar.plugin
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Bar.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Bar.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Bar.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Foo.plugin
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Foo.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Foo.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Foo.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Quux/Foo.plugin
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Quux/Foo.plugin	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Quux/Foo.plugin	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/ExtTest/Plugin/Quux/Foo.plugin
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/InnerTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/InnerTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/InnerTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/InnerTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux/Foo.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/MyOtherTest/Plugin/Quux.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Extend/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Extend/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Extend/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Extend/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Bar.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Bar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Bar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Bar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Quux/Foo.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Quux/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Quux/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/MyTest/Plugin/Quux/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/No/Middle.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/No/Middle.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/No/Middle.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/No/Middle.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/-Dodgy.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/-Dodgy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/-Dodgy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/-Dodgy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/Foo.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/Foo.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/Foo.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/OddTest/Plugin/Foo.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/Module_Pluggable/lib/TA/C/A/I.pm
===================================================================
--- vendor/perl/dist/t/Module_Pluggable/lib/TA/C/A/I.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/Module_Pluggable/lib/TA/C/A/I.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/Module_Pluggable/lib/TA/C/A/I.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/README
===================================================================
--- vendor/perl/dist/t/README	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/README	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/README
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/TEST
===================================================================
--- vendor/perl/dist/t/TEST	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/TEST	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 # This is written in a peculiar style, since we're trying to avoid
 # most of the constructs we'll be testing for.  (This comment is
-# probably obsolete on the avoidance side, though still currrent
+# probably obsolete on the avoidance side, though still current
 # on the peculiarity side.)
 
 # t/TEST and t/harness need to share code. The logical way to do this would be
@@ -23,8 +23,8 @@
      '../ext/File-Glob/t' => '-I.. -MTestInit', # FIXME - tests assume t/
      );
 
-# "not absolute" is the the default, as it saves some fakery within TestInit
-# which can peturb tests, and takes CPU. Working with the upstream author of
+# "not absolute" is the default, as it saves some fakery within TestInit
+# which can perturb tests, and takes CPU. Working with the upstream author of
 # any of these, to figure out how to remove them from this list, considered
 # "a good thing".
 my %abs = (
@@ -42,7 +42,6 @@
 	   '../cpan/IPC-SysV' => 1,
 	   '../cpan/Locale-Codes' => 1,
 	   '../cpan/Log-Message' => 1,
-	   '../cpan/Math-Complex' => 1,
 	   '../cpan/Module-Build' => 1,
 	   '../cpan/Module-Load' => 1,
 	   '../cpan/Module-Load-Conditional' => 1,
@@ -52,7 +51,6 @@
 	   '../cpan/Pod-Simple' => 1,
 	   '../cpan/Term-UI' => 1,
 	   '../cpan/Test-Simple' => 1,
-	   '../cpan/Tie-File' => 1,
 	   '../cpan/podlators' => 1,
 	   '../dist/Cwd' => 1,
 	   '../dist/ExtUtils-Command' => 1,
@@ -59,6 +57,7 @@
 	   '../dist/ExtUtils-Install' => 1,
 	   '../dist/ExtUtils-Manifest' => 1,
 	   '../dist/ExtUtils-ParseXS' => 1,
+	   '../dist/Tie-File' => 1,
 	  );
 
 my %temp_no_core =
@@ -75,7 +74,6 @@
      '../cpan/podlators' => 1,
      '../cpan/Test-Simple' => 1,
      '../cpan/Tie-RefHash' => 1,
-     '../cpan/Time-HiRes' => 1,
      '../cpan/Unicode-Collate' => 1,
      '../cpan/Unicode-Normalize' => 1,
     );
@@ -83,7 +81,12 @@
 # delete env vars that may influence the results
 # but allow override via *_TEST env var if wanted
 # (e.g. PERL5OPT_TEST=-d:NYTProf)
-for my $envname (qw(PERL5LIB PERLLIB PERL5OPT)) {
+my @bad_env_vars = qw(
+    PERL5LIB PERLLIB PERL5OPT
+    PERL_YAML_BACKEND PERL_JSON_BACKEND
+);
+
+for my $envname (@bad_env_vars) {
     my $override = $ENV{"${envname}_TEST"};
     if (defined $override) {
 	warn "$0: $envname=$override\n";
@@ -157,10 +160,13 @@
 
 # check leakage for embedders
 $ENV{PERL_DESTRUCT_LEVEL} = 2 unless exists $ENV{PERL_DESTRUCT_LEVEL};
+# check existence of all symbols
+$ENV{PERL_DL_NONLAZY} = 1 unless exists $ENV{PERL_DL_NONLAZY};
 
 $ENV{EMXSHELL} = 'sh';        # For OS/2
 
 if ($show_elapsed_time) { require Time::HiRes }
+my %timings = (); # testname => [@et] pairs if $show_elapsed_time.
 
 my %skip = (
 	    '.' => 1,
@@ -172,20 +178,24 @@
 	   );
 
 # Roll your own File::Find!
-sub _find_tests {
-    my($dir) = @_;
-    opendir DIR, $dir or die "Trouble opening $dir: $!";
-    foreach my $f (sort { $a cmp $b } readdir DIR) {
-	next if $skip{$f};
+sub _find_tests { our @found=(); push @ARGV, _find_files('\.t$', $_[0]) }
+sub _find_files {
+    my($patt, @dirs) = @_;
+    for my $dir (@dirs) {
+	opendir DIR, $dir or die "Trouble opening $dir: $!";
+	foreach my $f (sort { $a cmp $b } readdir DIR) {
+	    next if $skip{$f};
 
-	my $fullpath = "$dir/$f";
-
-	if (-d $fullpath) {
-	    _find_tests($fullpath);
-	} elsif ($f =~ /\.t$/) {
-	    push @ARGV, $fullpath;
+	    my $fullpath = "$dir/$f";
+	    
+	    if (-d $fullpath) {
+		_find_files($patt, $fullpath);
+	    } elsif ($f =~ /$patt/) {
+		push @found, $fullpath;
+	    }
 	}
     }
+    @found;
 }
 
 
@@ -292,12 +302,13 @@
 
         if ($ENV{PERL_VALGRIND}) {
             my $perl_supp = $options->{return_dir} ? "$options->{return_dir}/perl.supp" : "perl.supp";
-            my $valgrind = $ENV{VALGRIND} // 'valgrind';
+            my $valgrind_exe = $ENV{VALGRIND} // 'valgrind';
             my $vg_opts = $ENV{VG_OPTS}
-              //  "--suppressions=$perl_supp --leak-check=yes "
-                . "--leak-resolution=high --show-reachable=yes "
+              // '--log-fd=3 '
+		  . "--suppressions=$perl_supp --leak-check=yes "
+		  . "--leak-resolution=high --show-reachable=yes "
                   . "--num-callers=50 --track-origins=yes";
-            $perl = "$valgrind --log-fd=3 $vg_opts $perl";
+            $perl = "$valgrind_exe $vg_opts $perl";
             $redir = "3>$Valgrind_Log";
             if ($options->{run_dir}) {
                 $Valgrind_Log = "$options->{run_dir}/$Valgrind_Log";
@@ -307,7 +318,6 @@
         my $args = "$options->{testswitch} $options->{switch} $options->{utf8}";
         $cmd = $perl . _quote_args($args) . " $test $redir";
     }
-
     return $cmd;
 }
 
@@ -420,10 +430,13 @@
     # then comp, to validate that require works
     # then run, to validate that -M works
     # then we know we can -MTestInit for everything else, making life simpler
-    foreach my $dir (qw(base comp run cmd io re op uni mro)) {
+    foreach my $dir (qw(base comp run cmd io re opbasic op uni mro)) {
 	_find_tests($dir);
     }
-    _find_tests("lib") unless $::core;
+    unless ($::core) {
+	_find_tests('porting');
+	_find_tests("lib"); 
+    }
     # Config.pm may be broken for make minitest. And this is only a refinement
     # for skipping tests on non-default builds, so it is allowed to fail.
     # What we want to to is make a list of extensions which we did not build.
@@ -453,9 +466,9 @@
     push @ARGV, _tests_from_manifest($extensions, $known_extensions);
     unless ($::core) {
 	_find_tests('x2p');
-	_find_tests('porting');
 	_find_tests('japh') if $::torture;
 	_find_tests('t/benchmark') if $::benchmark or $ENV{PERL_BENCHMARK};
+	_find_tests('bigmem') if $ENV{PERL_TEST_MEMORY};
     }
 }
 
@@ -511,22 +524,33 @@
     }
     my $maxlen = 0;
     foreach (@::path_to_name{@tests}) {
-	s/\.\w+\z/./;
+	s/\.\w+\z/ /; # space gives easy doubleclick to select fname
 	my $len = length ;
 	$maxlen = $len if $len > $maxlen;
     }
     # + 3 : we want three dots between the test name and the "ok"
     my $dotdotdot = $maxlen + 3 ;
-    my $valgrind = 0;
+    my $grind_ct = 0;		# count of non-empty valgrind reports
     my $total_files = @tests;
     my $good_files = 0;
     my $tested_files  = 0;
     my $totmax = 0;
     my %failed_tests;
+    my $toolnm;		# valgrind, cachegrind, perf
 
     while (my $test = shift @tests) {
-        my $test_start_time = $show_elapsed_time ? Time::HiRes::time() : 0;
-
+        my ($test_start_time, @starttimes) = 0;
+	if ($show_elapsed_time) {
+	    $test_start_time = Time::HiRes::time();
+	    # times() reports usage by TEST, but we want usage of each
+	    # testprog it calls, so record accumulated times now,
+	    # subtract them out afterwards.  Ideally, we'd take times
+	    # in BEGIN/END blocks (giving better visibility of self vs
+	    # children of each testprog), but that would require some
+	    # IPC to send results back here, or a completely different
+	    # collection scheme (Storable isn't tuned for incremental use)
+	    @starttimes = times;
+	}
 	if ($test =~ /^$/) {
 	    next;
 	}
@@ -541,7 +565,7 @@
 	    }
 	}
 	my $te = $::path_to_name{$test} . '.'
-		    x ($dotdotdot - length($::path_to_name{$test}));
+		    x ($dotdotdot - length($::path_to_name{$test})) .' ';
 
 	if ($^O ne 'VMS') {  # defer printing on VMS due to piping bug
 	    print $te;
@@ -562,9 +586,9 @@
 	    next if /^\s*$/; # skip blank lines
 	    if (/^1..$/ && ($^O eq 'VMS')) {
 		# VMS pipe bug inserts blank lines.
-		my $l2 = <RESULTS>;
+		my $l2 = <$results>;
 		if ($l2 =~ /^\s*$/) {
-		    $l2 = <RESULTS>;
+		    $l2 = <$results>;
 		}
 		$_ = '1..' . $l2;
 	    }
@@ -615,7 +639,7 @@
 
 			    # SKIP is essentially the same as TODO for t/TEST
 			    # this still conforms to TAP:
-			    # http://search.cpan.org/dist/TAP/TAP.pm
+			    # http://testanything.org/wiki/index.php/TAP_specification
 			    $extra and $istodo = $extra =~ /#\s*(?:TODO|SKIP)\b/;
 			    $istodo = 1 if $todo{$num};
 
@@ -649,7 +673,9 @@
 	}
 
 	if ($ENV{PERL_VALGRIND}) {
-	    my @valgrind;
+	    $toolnm = $ENV{VALGRIND};
+	    $toolnm =~ s|.*/||;  # keep basename
+	    my @valgrind;	# gets content of file
 	    if (-e $Valgrind_Log) {
 		if (open(V, $Valgrind_Log)) {
 		    @valgrind = <V>;
@@ -658,11 +684,17 @@
 		    warn "$0: Failed to open '$Valgrind_Log': $!\n";
 		}
 	    }
-	    if ($ENV{VG_OPTS} =~ /cachegrind/) {
-		if (rename $Valgrind_Log, "$test.valgrind") {
-		    $valgrind = $valgrind + 1;
+	    if ($ENV{VG_OPTS} =~ /(cachegrind)/ or $toolnm =~ /(perf)/) {
+		$toolnm = $1;
+		if ($toolnm eq 'perf') {
+		    # append perfs subcommand, not just stat
+		    my ($sub) = split /\s/, $ENV{VG_OPTS};
+		    $toolnm .= "-$sub";
+		}
+		if (rename $Valgrind_Log, "$test.$toolnm") {
+		    $grind_ct++;
 		} else {
-		    warn "$0: Failed to create '$test.valgrind': $!\n";
+		    warn "$0: Failed to create '$test.$toolnm': $!\n";
 		}
 	    }
 	    elsif (@valgrind) {
@@ -683,7 +715,7 @@
 		}
 		if ($errors or $leaks) {
 		    if (rename $Valgrind_Log, "$test.valgrind") {
-			$valgrind = $valgrind + 1;
+			$grind_ct = $grind_ct + 1;
 		    } else {
 			warn "$0: Failed to create '$test.valgrind': $!\n";
 		    }
@@ -727,13 +759,18 @@
 	}
 	else {
 	    if ($max) {
-		my $elapsed;
+		my ($elapsed, $etms) = ("", 0);
 		if ( $show_elapsed_time ) {
-		    $elapsed = sprintf( " %8.0f ms", (Time::HiRes::time() - $test_start_time) * 1000 );
+		    $etms = (Time::HiRes::time() - $test_start_time) * 1000;
+		    $elapsed = sprintf(" %8.0f ms", $etms);
+
+		    my (@endtimes) = times;
+		    $endtimes[$_] -= $starttimes[$_] for 0..$#endtimes;
+		    splice @endtimes, 0, 2;    # drop self/harness times
+		    $_ *= 1000 for @endtimes;  # and scale to ms
+		    $timings{$test} = [$etms, at endtimes];
+		    $elapsed .= sprintf(" %5.0f ms", $_) for @endtimes;
 		}
-		else {
-		    $elapsed = "";
-		}
 		print "${te}ok$elapsed\n";
 		$good_files = $good_files + 1;
 	    }
@@ -797,13 +834,68 @@
 	}
     }
     my ($user,$sys,$cuser,$csys) = times;
-    print sprintf("u=%.2f  s=%.2f  cu=%.2f  cs=%.2f  scripts=%d  tests=%d\n",
-	$user,$sys,$cuser,$csys,$tested_files,$totmax);
+    my $tot = sprintf("u=%.2f  s=%.2f  cu=%.2f  cs=%.2f  scripts=%d  tests=%d",
+		      $user,$sys,$cuser,$csys,$tested_files,$totmax);
+    print "$tot\n";
+    if ($good_files) {
+	if (-d $show_elapsed_time) {
+	    # HARNESS_TIMER = <a-directory>.  Save timings etc to
+	    # storable file there.  NB: the test cds to ./t/, so
+	    # relative path must account for that, ie ../../perf
+	    # points to dir next to source tree.
+	    require Storable;
+	    my @dt = localtime;
+	    $dt[5] += 1900; $dt[4] += 1; # fix year, month
+	    my $fn = "$show_elapsed_time/".join('-', @dt[5,4,3,2,1]).".ttimes";
+	    Storable::store({ perf => \%timings,
+			      gather_conf_platform_info(),
+			      total => $tot,
+			    }, $fn);
+	    print "wrote storable file: $fn\n";
+	}
+    }
     if ($ENV{PERL_VALGRIND}) {
-	my $s = $valgrind == 1 ? '' : 's';
-	print "$valgrind valgrind report$s created.\n", ;
+	my $s = $grind_ct == 1 ? '' : 's';
+	print "$grind_ct valgrind report$s created.\n", ;
+	if ($toolnm eq 'cachegrind') {
+	    # cachegrind leaves a lot of cachegrind.out.$pid litter
+	    # around the tree, find and delete them
+	    unlink _find_files('cachegrind.out.\d+$',
+			     qw ( ../t ../cpan ../ext ../dist/ ));
+	}
     }
 }
 exit ($::bad_files != 0);
 
+# Collect platform, config data that should allow comparing
+# performance data between different machines.  With enough data,
+# and/or clever statistical analysis, it should be possible to
+# determine the effect of config choices, more memory, etc
+
+sub gather_conf_platform_info {
+    # currently rather quick & dirty, and subject to change
+    # for both content and format.
+    require Config;
+    my (%conf, @platform) = ();
+    $conf{$_} = $Config::Config{$_} for
+	grep /cc|git|config_arg\d+/, keys %Config::Config;
+    if (-f '/proc/cpuinfo') {
+	open my $fh, '/proc/cpuinfo' or warn "$!: /proc/cpuinfo\n";
+	@platform = grep /name|cpu/, <$fh>;
+	chomp $_ for @platform;
+    }
+    unshift @platform, $^O;
+
+    return (
+	conf => \%conf,
+	platform => {cpu => \@platform,
+		     mem => [ grep s/\s+/ /,
+			      grep chomp, `free` ],
+		     load => [ grep chomp, `uptime` ],
+	},
+	host => (grep chomp, `hostname -f`),
+	version => '0.03', # bump for conf, platform, or data collection changes
+	);
+}
+
 # ex: set ts=8 sts=4 sw=4 noet:


Property changes on: vendor/perl/dist/t/TEST
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/TestInit.pm
===================================================================
--- vendor/perl/dist/t/TestInit.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/TestInit.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/TestInit.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/base/cond.t
===================================================================
--- vendor/perl/dist/t/base/cond.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/base/cond.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/base/cond.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/base/if.t
===================================================================
--- vendor/perl/dist/t/base/if.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/base/if.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/base/if.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/base/lex.t
===================================================================
--- vendor/perl/dist/t/base/lex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/base/lex.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!./perl
 
-print "1..57\n";
+print "1..85\n";
 
 $x = 'x';
 
@@ -152,7 +152,7 @@
 #  print "ok 32\n";
 
   # These next two tests are trying to make sure that
-  # $^FOO is always global; it doesn't make sense to `my' it.
+  # $^FOO is always global; it doesn't make sense to 'my' it.
   # 
 
   eval 'my $^X;';
@@ -197,7 +197,7 @@
     local $_ = "not ok ";
     eval q{
 	s/^not /<<EOT/e and T '^main:\(eval \d+\):2$', $test++;
-# fuggedaboudit
+# uggedaboudit
 EOT
         print $_, $test++, "\n";
 	T('^main:\(eval \d+\):6$', $test++);
@@ -273,3 +273,130 @@
 @a = (1,2,3);
 print "not " unless($a[~~2] == 3);
 print "ok 57\n";
+
+$_ = "";
+eval 's/(?:)/"${\q||}".<<\END/e;
+ok 58 - heredoc after "" in s/// in eval
+END
+';
+print $_ || "not ok 58\n";
+
+$_ = "";
+eval 's|(?:)|"${\<<\END}"
+ok 59 - heredoc in "" in multiline s///e in eval
+END
+|e
+';
+print $_ || "not ok 59\n";
+
+$_ = "";
+eval "s/(?:)/<<foo/e #\0
+ok 60 - null on same line as heredoc in s/// in eval
+foo
+";
+print $_ || "not ok 60\n";
+
+$_ = "";
+eval ' s/(?:)/"${\<<END}"/e;
+ok 61 - heredoc in "" in single-line s///e in eval
+END
+';
+print $_ || "not ok 61\n";
+
+$_ = "";
+s|(?:)|"${\<<END}"
+ok 62 - heredoc in "" in multiline s///e outside eval
+END
+|e;
+print $_ || "not ok 62\n";
+
+$_ = "not ok 63 - s/// in s/// pattern\n";
+s/${s|||;\""}not //;
+print;
+
+/(?{print <<END
+ok 64 - here-doc in re-eval
+END
+})/;
+
+eval '/(?{print <<END
+ok 65 - here-doc in re-eval in string eval
+END
+})/';
+
+eval 'print qq ;ok 66 - eval ending with semicolon\n;'
+  or print "not ok 66 - eval ending with semicolon\n";
+
+print "not " unless qr/(?{<<END})/ eq '(?^:(?{<<END}))';
+foo
+END
+print "ok 67 - here-doc in single-line re-eval\n";
+
+$_ = qr/(?{"${<<END}"
+foo
+END
+})/;
+print "not " unless /foo/;
+print "ok 68 - here-doc in quotes in multiline re-eval\n";
+
+eval 's//<<END/e if 0; $_ = "a
+END
+b"';
+print "not " if $_ =~ /\n\n/;
+print "ok 69 - eval 's//<<END/' does not leave extra newlines\n";
+
+$_ = a;
+eval "s/a/'b\0'#/e";
+print 'not ' unless $_ eq "b\0";
+print "ok 70 - # after null in s/// repl\n";
+
+s//"#" . <<END/e;
+foo
+END
+print "ok 71 - s//'#' . <<END/e\n";
+
+eval "s//3}->{3/e";
+print "not " unless $@;
+print "ok 72 - s//3}->{3/e\n";
+
+$_ = "not ok 73";
+$x{3} = "not ";
+eval 's/${\%x}{3}//e';
+print "$_ - s//\${\\%x}{3}/e\n";
+
+eval 's/${foo#}//e';
+print "not " unless $@;
+print "ok 74 - s/\${foo#}//e\n";
+
+eval 'warn ({$_ => 1} + 1) if 0';
+print "not " if $@;
+print "ok 75 - listop({$_ => 1} + 1)\n";
+print "# $@" if $@;
+
+$test = 76;
+for(qw< require goto last next redo dump >) {
+    eval "sub { $_ foo << 2 }";
+    print "not " if $@;
+    print "ok ", $test++, " - [perl #105924] $_ WORD << ...\n";
+    print "# $@" if $@;
+}
+
+# http://rt.perl.org/rt3/Ticket/Display.html?id=56880
+my $counter = 0;
+eval 'v23: $counter++; goto v23 unless $counter == 2';
+print "not " unless $counter == 2;
+print "ok 82 - Use v[0-9]+ as a label\n";
+$counter = 0;
+eval 'v23 : $counter++; goto v23 unless $counter == 2';
+print "not " unless $counter == 2;
+print "ok 83 - Use v[0-9]+ as a label with space before colon\n";
+ 
+my $output = "";
+eval "package v10::foo; sub test2 { return 'v10::foo' }
+      package v10; sub test { return v10::foo::test2(); }
+      package main; \$output = v10::test(); "; 
+print "not " unless $output eq 'v10::foo';
+print "ok 84 - call a function in package v10::foo\n";
+
+print "not " unless (1?v65:"bar") eq 'A';
+print "ok 85 - colon detection after vstring does not break ? vstring :\n";


Property changes on: vendor/perl/dist/t/base/lex.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/base/num.t
===================================================================
--- vendor/perl/dist/t/base/num.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/base/num.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/base/num.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/base/pat.t
===================================================================
--- vendor/perl/dist/t/base/pat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/base/pat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/base/pat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/base/rs.t
===================================================================
--- vendor/perl/dist/t/base/rs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/base/rs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/base/rs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/base/term.t
===================================================================
--- vendor/perl/dist/t/base/term.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/base/term.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/base/term.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/base/while.t
===================================================================
--- vendor/perl/dist/t/base/while.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/base/while.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/base/while.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/benchmark/rt26188-speed-up-keys-on-empty-hash.t
===================================================================
--- vendor/perl/dist/t/benchmark/rt26188-speed-up-keys-on-empty-hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/benchmark/rt26188-speed-up-keys-on-empty-hash.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -81,10 +81,3 @@
 about_as_fast_ok( $res, 'lex_big', 'big', "Checking the list of hash keys in an empty hash, global vs. lexical");
 
 __END__
-
-# code written
-    /* quick bailout if the hash is empty anyway.
-       I don't know if placeholders are included in the KEYS count, so a defensive check
-    */
-    if (! HvKEYS(hv) && !(flags & HV_ITERNEXT_WANTPLACEHOLDERS) )
-        return NULL;


Property changes on: vendor/perl/dist/t/benchmark/rt26188-speed-up-keys-on-empty-hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/cmd/elsif.t
===================================================================
--- vendor/perl/dist/t/cmd/elsif.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/cmd/elsif.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/cmd/elsif.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/cmd/for.t
===================================================================
--- vendor/perl/dist/t/cmd/for.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/cmd/for.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!./perl
 
-print "1..118\n";
+print "1..14\n";
 
 for ($i = 0; $i <= 10; $i++) {
     $x[$i] = $i;
@@ -95,576 +95,3 @@
     print $x == 1 ? "ok" : "not ok", " 14 - double destroy, x=$x\n";
 }
 
-# A lot of tests to check that reversed for works.
-my $test = 14;
-sub is {
-    my ($got, $expected, $name) = @_;
-    ++$test;
-    if ($got eq $expected) {
-	print "ok $test # $name\n";
-	return 1;
-    }
-    print "not ok $test # $name\n";
-    print "# got '$got', expected '$expected'\n";
-    return 0;
-}
-
- at array = ('A', 'B', 'C');
-for (@array) {
-    $r .= $_;
-}
-is ($r, 'ABC', 'Forwards for array');
-$r = '';
-for (1,2,3) {
-    $r .= $_;
-}
-is ($r, '123', 'Forwards for list');
-$r = '';
-for (map {$_} @array) {
-    $r .= $_;
-}
-is ($r, 'ABC', 'Forwards for array via map');
-$r = '';
-for (map {$_} 1,2,3) {
-    $r .= $_;
-}
-is ($r, '123', 'Forwards for list via map');
-$r = '';
-for (1 .. 3) {
-    $r .= $_;
-}
-is ($r, '123', 'Forwards for list via ..');
-$r = '';
-for ('A' .. 'C') {
-    $r .= $_;
-}
-is ($r, 'ABC', 'Forwards for list via ..');
-
-$r = '';
-for (reverse @array) {
-    $r .= $_;
-}
-is ($r, 'CBA', 'Reverse for array');
-$r = '';
-for (reverse 1,2,3) {
-    $r .= $_;
-}
-is ($r, '321', 'Reverse for list');
-$r = '';
-for (reverse map {$_} @array) {
-    $r .= $_;
-}
-is ($r, 'CBA', 'Reverse for array via map');
-$r = '';
-for (reverse map {$_} 1,2,3) {
-    $r .= $_;
-}
-is ($r, '321', 'Reverse for list via map');
-$r = '';
-for (reverse 1 .. 3) {
-    $r .= $_;
-}
-is ($r, '321', 'Reverse for list via ..');
-$r = '';
-for (reverse 'A' .. 'C') {
-    $r .= $_;
-}
-is ($r, 'CBA', 'Reverse for list via ..');
-
-$r = '';
-for my $i (@array) {
-    $r .= $i;
-}
-is ($r, 'ABC', 'Forwards for array with var');
-$r = '';
-for my $i (1,2,3) {
-    $r .= $i;
-}
-is ($r, '123', 'Forwards for list with var');
-$r = '';
-for my $i (map {$_} @array) {
-    $r .= $i;
-}
-is ($r, 'ABC', 'Forwards for array via map with var');
-$r = '';
-for my $i (map {$_} 1,2,3) {
-    $r .= $i;
-}
-is ($r, '123', 'Forwards for list via map with var');
-$r = '';
-for my $i (1 .. 3) {
-    $r .= $i;
-}
-is ($r, '123', 'Forwards for list via .. with var');
-$r = '';
-for my $i ('A' .. 'C') {
-    $r .= $i;
-}
-is ($r, 'ABC', 'Forwards for list via .. with var');
-
-$r = '';
-for my $i (reverse @array) {
-    $r .= $i;
-}
-is ($r, 'CBA', 'Reverse for array with var');
-$r = '';
-for my $i (reverse 1,2,3) {
-    $r .= $i;
-}
-is ($r, '321', 'Reverse for list with var');
-$r = '';
-for my $i (reverse map {$_} @array) {
-    $r .= $i;
-}
-is ($r, 'CBA', 'Reverse for array via map with var');
-$r = '';
-for my $i (reverse map {$_} 1,2,3) {
-    $r .= $i;
-}
-is ($r, '321', 'Reverse for list via map with var');
-$r = '';
-for my $i (reverse 1 .. 3) {
-    $r .= $i;
-}
-is ($r, '321', 'Reverse for list via .. with var');
-$r = '';
-for my $i (reverse 'A' .. 'C') {
-    $r .= $i;
-}
-is ($r, 'CBA', 'Reverse for list via .. with var');
-
-# For some reason the generate optree is different when $_ is implicit.
-$r = '';
-for $_ (@array) {
-    $r .= $_;
-}
-is ($r, 'ABC', 'Forwards for array with explicit $_');
-$r = '';
-for $_ (1,2,3) {
-    $r .= $_;
-}
-is ($r, '123', 'Forwards for list with explicit $_');
-$r = '';
-for $_ (map {$_} @array) {
-    $r .= $_;
-}
-is ($r, 'ABC', 'Forwards for array via map with explicit $_');
-$r = '';
-for $_ (map {$_} 1,2,3) {
-    $r .= $_;
-}
-is ($r, '123', 'Forwards for list via map with explicit $_');
-$r = '';
-for $_ (1 .. 3) {
-    $r .= $_;
-}
-is ($r, '123', 'Forwards for list via .. with var with explicit $_');
-$r = '';
-for $_ ('A' .. 'C') {
-    $r .= $_;
-}
-is ($r, 'ABC', 'Forwards for list via .. with var with explicit $_');
-
-$r = '';
-for $_ (reverse @array) {
-    $r .= $_;
-}
-is ($r, 'CBA', 'Reverse for array with explicit $_');
-$r = '';
-for $_ (reverse 1,2,3) {
-    $r .= $_;
-}
-is ($r, '321', 'Reverse for list with explicit $_');
-$r = '';
-for $_ (reverse map {$_} @array) {
-    $r .= $_;
-}
-is ($r, 'CBA', 'Reverse for array via map with explicit $_');
-$r = '';
-for $_ (reverse map {$_} 1,2,3) {
-    $r .= $_;
-}
-is ($r, '321', 'Reverse for list via map with explicit $_');
-$r = '';
-for $_ (reverse 1 .. 3) {
-    $r .= $_;
-}
-is ($r, '321', 'Reverse for list via .. with var with explicit $_');
-$r = '';
-for $_ (reverse 'A' .. 'C') {
-    $r .= $_;
-}
-is ($r, 'CBA', 'Reverse for list via .. with var with explicit $_');
-
-# I don't think that my is that different from our in the optree. But test a
-# few:
-$r = '';
-for our $i (reverse @array) {
-    $r .= $i;
-}
-is ($r, 'CBA', 'Reverse for array with our var');
-$r = '';
-for our $i (reverse 1,2,3) {
-    $r .= $i;
-}
-is ($r, '321', 'Reverse for list with our var');
-$r = '';
-for our $i (reverse map {$_} @array) {
-    $r .= $i;
-}
-is ($r, 'CBA', 'Reverse for array via map with our var');
-$r = '';
-for our $i (reverse map {$_} 1,2,3) {
-    $r .= $i;
-}
-is ($r, '321', 'Reverse for list via map with our var');
-$r = '';
-for our $i (reverse 1 .. 3) {
-    $r .= $i;
-}
-is ($r, '321', 'Reverse for list via .. with our var');
-$r = '';
-for our $i (reverse 'A' .. 'C') {
-    $r .= $i;
-}
-is ($r, 'CBA', 'Reverse for list via .. with our var');
-
-
-$r = '';
-for (1, reverse @array) {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for array with leading value');
-$r = '';
-for ('A', reverse 1,2,3) {
-    $r .= $_;
-}
-is ($r, 'A321', 'Reverse for list with leading value');
-$r = '';
-for (1, reverse map {$_} @array) {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for array via map with leading value');
-$r = '';
-for ('A', reverse map {$_} 1,2,3) {
-    $r .= $_;
-}
-is ($r, 'A321', 'Reverse for list via map with leading value');
-$r = '';
-for ('A', reverse 1 .. 3) {
-    $r .= $_;
-}
-is ($r, 'A321', 'Reverse for list via .. with leading value');
-$r = '';
-for (1, reverse 'A' .. 'C') {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for list via .. with leading value');
-
-$r = '';
-for (reverse (@array), 1) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for array with trailing value');
-$r = '';
-for (reverse (1,2,3), 'A') {
-    $r .= $_;
-}
-is ($r, '321A', 'Reverse for list with trailing value');
-$r = '';
-for (reverse (map {$_} @array), 1) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for array via map with trailing value');
-$r = '';
-for (reverse (map {$_} 1,2,3), 'A') {
-    $r .= $_;
-}
-is ($r, '321A', 'Reverse for list via map with trailing value');
-$r = '';
-for (reverse (1 .. 3), 'A') {
-    $r .= $_;
-}
-is ($r, '321A', 'Reverse for list via .. with trailing value');
-$r = '';
-for (reverse ('A' .. 'C'), 1) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for list via .. with trailing value');
-
-
-$r = '';
-for $_ (1, reverse @array) {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for array with leading value with explicit $_');
-$r = '';
-for $_ ('A', reverse 1,2,3) {
-    $r .= $_;
-}
-is ($r, 'A321', 'Reverse for list with leading value with explicit $_');
-$r = '';
-for $_ (1, reverse map {$_} @array) {
-    $r .= $_;
-}
-is ($r, '1CBA',
-    'Reverse for array via map with leading value with explicit $_');
-$r = '';
-for $_ ('A', reverse map {$_} 1,2,3) {
-    $r .= $_;
-}
-is ($r, 'A321', 'Reverse for list via map with leading value with explicit $_');
-$r = '';
-for $_ ('A', reverse 1 .. 3) {
-    $r .= $_;
-}
-is ($r, 'A321', 'Reverse for list via .. with leading value with explicit $_');
-$r = '';
-for $_ (1, reverse 'A' .. 'C') {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for list via .. with leading value with explicit $_');
-
-$r = '';
-for $_ (reverse (@array), 1) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for array with trailing value with explicit $_');
-$r = '';
-for $_ (reverse (1,2,3), 'A') {
-    $r .= $_;
-}
-is ($r, '321A', 'Reverse for list with trailing value with explicit $_');
-$r = '';
-for $_ (reverse (map {$_} @array), 1) {
-    $r .= $_;
-}
-is ($r, 'CBA1',
-    'Reverse for array via map with trailing value with explicit $_');
-$r = '';
-for $_ (reverse (map {$_} 1,2,3), 'A') {
-    $r .= $_;
-}
-is ($r, '321A',
-    'Reverse for list via map with trailing value with explicit $_');
-$r = '';
-for $_ (reverse (1 .. 3), 'A') {
-    $r .= $_;
-}
-is ($r, '321A', 'Reverse for list via .. with trailing value with explicit $_');
-$r = '';
-for $_ (reverse ('A' .. 'C'), 1) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for list via .. with trailing value with explicit $_');
-
-$r = '';
-for my $i (1, reverse @array) {
-    $r .= $i;
-}
-is ($r, '1CBA', 'Reverse for array with leading value and var');
-$r = '';
-for my $i ('A', reverse 1,2,3) {
-    $r .= $i;
-}
-is ($r, 'A321', 'Reverse for list with leading value and var');
-$r = '';
-for my $i (1, reverse map {$_} @array) {
-    $r .= $i;
-}
-is ($r, '1CBA', 'Reverse for array via map with leading value and var');
-$r = '';
-for my $i ('A', reverse map {$_} 1,2,3) {
-    $r .= $i;
-}
-is ($r, 'A321', 'Reverse for list via map with leading value and var');
-$r = '';
-for my $i ('A', reverse 1 .. 3) {
-    $r .= $i;
-}
-is ($r, 'A321', 'Reverse for list via .. with leading value and var');
-$r = '';
-for my $i (1, reverse 'A' .. 'C') {
-    $r .= $i;
-}
-is ($r, '1CBA', 'Reverse for list via .. with leading value and var');
-
-$r = '';
-for my $i (reverse (@array), 1) {
-    $r .= $i;
-}
-is ($r, 'CBA1', 'Reverse for array with trailing value and var');
-$r = '';
-for my $i (reverse (1,2,3), 'A') {
-    $r .= $i;
-}
-is ($r, '321A', 'Reverse for list with trailing value and var');
-$r = '';
-for my $i (reverse (map {$_} @array), 1) {
-    $r .= $i;
-}
-is ($r, 'CBA1', 'Reverse for array via map with trailing value and var');
-$r = '';
-for my $i (reverse (map {$_} 1,2,3), 'A') {
-    $r .= $i;
-}
-is ($r, '321A', 'Reverse for list via map with trailing value and var');
-$r = '';
-for my $i (reverse (1 .. 3), 'A') {
-    $r .= $i;
-}
-is ($r, '321A', 'Reverse for list via .. with trailing value and var');
-$r = '';
-for my $i (reverse ('A' .. 'C'), 1) {
-    $r .= $i;
-}
-is ($r, 'CBA1', 'Reverse for list via .. with trailing value and var');
-
-
-$r = '';
-for (reverse 1, @array) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for value and array');
-$r = '';
-for (reverse map {$_} 1, @array) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for value and array via map');
-$r = '';
-for (reverse 1 .. 3, @array) {
-    $r .= $_;
-}
-is ($r, 'CBA321', 'Reverse for .. and array');
-$r = '';
-for (reverse 'X' .. 'Z', @array) {
-    $r .= $_;
-}
-is ($r, 'CBAZYX', 'Reverse for .. and array');
-$r = '';
-for (reverse map {$_} 1 .. 3, @array) {
-    $r .= $_;
-}
-is ($r, 'CBA321', 'Reverse for .. and array via map');
-$r = '';
-for (reverse map {$_} 'X' .. 'Z', @array) {
-    $r .= $_;
-}
-is ($r, 'CBAZYX', 'Reverse for .. and array via map');
-
-$r = '';
-for (reverse (@array, 1)) {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for array and value');
-$r = '';
-for (reverse (map {$_} @array, 1)) {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for array and value via map');
-
-$r = '';
-for $_ (reverse 1, @array) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for value and array with explicit $_');
-$r = '';
-for $_ (reverse map {$_} 1, @array) {
-    $r .= $_;
-}
-is ($r, 'CBA1', 'Reverse for value and array via map with explicit $_');
-$r = '';
-for $_ (reverse 1 .. 3, @array) {
-    $r .= $_;
-}
-is ($r, 'CBA321', 'Reverse for .. and array with explicit $_');
-$r = '';
-for $_ (reverse 'X' .. 'Z', @array) {
-    $r .= $_;
-}
-is ($r, 'CBAZYX', 'Reverse for .. and array with explicit $_');
-$r = '';
-for $_ (reverse map {$_} 1 .. 3, @array) {
-    $r .= $_;
-}
-is ($r, 'CBA321', 'Reverse for .. and array via map with explicit $_');
-$r = '';
-for $_ (reverse map {$_} 'X' .. 'Z', @array) {
-    $r .= $_;
-}
-is ($r, 'CBAZYX', 'Reverse for .. and array via map with explicit $_');
-
-$r = '';
-for $_ (reverse (@array, 1)) {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for array and value with explicit $_');
-$r = '';
-for $_ (reverse (map {$_} @array, 1)) {
-    $r .= $_;
-}
-is ($r, '1CBA', 'Reverse for array and value via map with explicit $_');
-
-
-$r = '';
-for my $i (reverse 1, @array) {
-    $r .= $i;
-}
-is ($r, 'CBA1', 'Reverse for value and array with var');
-$r = '';
-for my $i (reverse map {$_} 1, @array) {
-    $r .= $i;
-}
-is ($r, 'CBA1', 'Reverse for value and array via map with var');
-$r = '';
-for my $i (reverse 1 .. 3, @array) {
-    $r .= $i;
-}
-is ($r, 'CBA321', 'Reverse for .. and array with var');
-$r = '';
-for my $i (reverse 'X' .. 'Z', @array) {
-    $r .= $i;
-}
-is ($r, 'CBAZYX', 'Reverse for .. and array with var');
-$r = '';
-for my $i (reverse map {$_} 1 .. 3, @array) {
-    $r .= $i;
-}
-is ($r, 'CBA321', 'Reverse for .. and array via map with var');
-$r = '';
-for my $i (reverse map {$_} 'X' .. 'Z', @array) {
-    $r .= $i;
-}
-is ($r, 'CBAZYX', 'Reverse for .. and array via map with var');
-
-$r = '';
-for my $i (reverse (@array, 1)) {
-    $r .= $i;
-}
-is ($r, '1CBA', 'Reverse for array and value with var');
-$r = '';
-for my $i (reverse (map {$_} @array, 1)) {
-    $r .= $i;
-}
-is ($r, '1CBA', 'Reverse for array and value via map with var');
-
-TODO: {
-    $test++;
-    local $TODO = "RT #1085: what should be output of perl -we 'print do { foreach (1, 2) { 1; } }'";
-    if (do {17; foreach (1, 2) { 1; } } != 17) {
-        print "not ";
-    }
-    print "ok $test # TODO $TODO\n";
-}
-
-TODO: {
-    $test++;
-    no warnings 'reserved';
-    local $TODO = "RT #2166: foreach spuriously autovivifies";
-    my %h;
-    foreach (@h{a, b}) {}
-    if(keys(%h)) {
-        print "not ";
-    }
-    print "ok $test # TODO $TODO\n";
-}


Property changes on: vendor/perl/dist/t/cmd/for.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/cmd/mod.t
===================================================================
--- vendor/perl/dist/t/cmd/mod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/cmd/mod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/cmd/mod.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/cmd/subval.t
===================================================================
--- vendor/perl/dist/t/cmd/subval.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/cmd/subval.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/cmd/subval.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/cmd/switch.t
===================================================================
--- vendor/perl/dist/t/cmd/switch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/cmd/switch.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/cmd/switch.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/cmd/while.t
===================================================================
--- vendor/perl/dist/t/cmd/while.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/cmd/while.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/cmd/while.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/bproto.t
===================================================================
--- vendor/perl/dist/t/comp/bproto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/bproto.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
     @INC = '../lib';
 }
 
-print "1..10\n";
+print "1..16\n";
 
 my $i = 1;
 
@@ -21,6 +21,12 @@
     printf "ok %d\n",$i++;
 }
 
+sub test_too_few {
+    eval $_[0];
+    print "not " unless $@ =~ /^Not enough arguments/;
+    printf "ok %d\n",$i++;
+}
+
 sub test_no_error {
     eval $_[0];
     print "not " if $@;
@@ -29,10 +35,16 @@
 
 test_too_many($_) for split /\n/,
 q[	defined(&foo, $bar);
+	pos(1,$b);
 	undef(&foo, $bar);
 	uc($bar,$bar);
 ];
 
+test_too_few($_) for split /\n/,
+q[	unpack;
+	pack;
+];
+
 test_no_error($_) for split /\n/,
 q[	scalar(&foo,$bar);
 	defined &foo, &foo, &foo;
@@ -41,4 +53,7 @@
 	grep(not($bar), $bar);
 	grep(not($bar, $bar), $bar);
 	grep((not $bar, $bar, $bar), $bar);
+        __FILE__();
+        __LINE__();
+        __PACKAGE__();
 ];


Property changes on: vendor/perl/dist/t/comp/bproto.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/comp/cmdopt.t
===================================================================
--- vendor/perl/dist/t/comp/cmdopt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/cmdopt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/cmdopt.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/comp/colon.t
===================================================================
--- vendor/perl/dist/t/comp/colon.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/colon.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/colon.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/cpp.aux
===================================================================
--- vendor/perl/dist/t/comp/cpp.aux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/cpp.aux	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/cpp.aux
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/comp/cpp.t
===================================================================
--- vendor/perl/dist/t/comp/cpp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/cpp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/cpp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/comp/decl.t
===================================================================
--- vendor/perl/dist/t/comp/decl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/decl.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/decl.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/final_line_num.t
===================================================================
--- vendor/perl/dist/t/comp/final_line_num.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/final_line_num.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/final_line_num.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/fold.t
===================================================================
--- vendor/perl/dist/t/comp/fold.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/fold.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 # we've not yet verified that use works.
 # use strict;
 
-print "1..19\n";
+print "1..26\n";
 my $test = 0;
 
 # Historically constant folding was performed by evaluating the ops, and if
@@ -118,3 +118,34 @@
  ok scalar $jing =~ (0 || y/fo//),
    'lone y/// is not bound via =~ after || folding';
 }
+
+# [perl #78064] or print
+package other { # hide the "ok" sub
+ BEGIN { $^W = 0 }
+ print 0 ? not_ok : ok;
+ print " ", ++$test, " - print followed by const ? BEAR : BEAR\n";
+ print 1 ? ok : not_ok;
+ print " ", ++$test, " - print followed by const ? BEAR : BEAR (again)\n";
+ print 1 && ok;
+ print " ", ++$test, " - print followed by const && BEAR\n";
+ print 0 || ok;
+ print " ", ++$test, " - print followed by const || URSINE\n";
+ BEGIN { $^W = 1 }
+}
+
+# or stat
+print "not " unless stat(1 ? INSTALL : 0) eq stat("INSTALL");
+print "ok ", ++$test, " - stat(const ? word : ....)\n";
+# in case we are in t/
+print "not " unless stat(1 ? TEST : 0) eq stat("TEST");
+print "ok ", ++$test, " - stat(const ? word : ....)\n";
+
+# or truncate
+my $n = "for_fold_dot_t$$";
+open F, ">$n" or die "open: $!";
+print F "bralh blah blah \n";
+close F or die "close $!";
+eval "truncate 1 ? $n : 0, 0;";
+print "not " unless -z $n;
+print "ok ", ++$test, " - truncate(const ? word : ...)\n";
+unlink $n;


Property changes on: vendor/perl/dist/t/comp/fold.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/form_scope.t
===================================================================
--- vendor/perl/dist/t/comp/form_scope.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/form_scope.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,8 @@
 #!./perl
-#
-# Tests bug #22977.  Test case from Dave Mitchell.
 
-print "1..2\n";
+print "1..14\n";
 
+# Tests bug #22977.  Test case from Dave Mitchell.
 sub f ($);
 sub f ($) {
 my $test = $_[0];
@@ -16,3 +15,146 @@
 
 f(1);
 f(2);
+
+# A bug caused by the fix for #22977/50528
+sub foo {
+  sub bar {
+    # Fill the pad with alphabet soup, to give the closed-over variable a
+    # high padoffset (more likely to trigger the bug and crash).
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    my $x;
+    format STDOUT2 =
+@<<<<<<
+"ok 3".$x # $x is not available, but this should not crash
+.
+  }
+}
+*STDOUT = *STDOUT2{FORMAT};
+undef *bar;
+write;
+
+# A regression introduced in 5.10; format cloning would close over the
+# variables in the currently-running sub (the main CV in this test) if the
+# outer sub were an inactive closure.
+sub baz {
+  my $a;
+  sub {
+    $a;
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t)}
+    my $x;
+    format STDOUT3 =
+@<<<<<<<<<<<<<<<<<<<<<<<<<
+defined $x ? "not ok 4 - $x" : "ok 4"
+.
+  }
+}
+*STDOUT = *STDOUT3{FORMAT};
+{
+  local $^W = 1;
+  my $w;
+  local $SIG{__WARN__} = sub { $w = shift };
+  write;
+  print "not " unless $w =~ /^Variable "\$x" is not available at/;
+  print "ok 5 - closure var not available when outer sub is inactive\n";
+}
+
+# Formats inside closures should close over the topmost clone of the outer
+# sub on the call stack.
+# Tests will be out of sequence if the wrong sub is used.
+sub make_closure {
+  my $arg = shift;
+  sub {
+    shift == 0 and &$next(1), return;
+    my $x = "ok $arg";
+    format STDOUT4 =
+@<<<<<<<
+$x
+.
+    sub { write }->(); # separate sub, so as not to rely on it being the
+  }                    # currently-running sub
+}
+*STDOUT = *STDOUT4{FORMAT};
+$clo1 = make_closure 6;
+$clo2 = make_closure 7;
+$next = $clo1;
+&$clo2(0);
+$next = $clo2;
+&$clo1(0);
+
+# Cloning a format whose outside has been undefined
+sub x {
+    {my ($a,$b,$c,$d,$e,$f,$g,$h,$i,$j,$k,$l,$m,$n,$o,$p,$q,$r,$s,$t,$u)}
+    my $z;
+    format STDOUT6 =
+@<<<<<<<<<<<<<<<<<<<<<<<<<
+defined $z ? "not ok 8 - $z" : "ok 8"
+.
+}
+undef &x;
+*STDOUT = *STDOUT6{FORMAT};
+{
+  local $^W = 1;
+  my $w;
+  local $SIG{__WARN__} = sub { $w = shift };
+  write;
+  print "not " unless $w =~ /^Variable "\$z" is not available at/;
+  print "ok 9 - closure var not available when outer sub is undefined\n";
+}
+
+format STDOUT7 =
+@<<<<<<<<<<<<<<<<<<<<<<<<<<<
+do { my $x = "ok 10 - closure inside format"; sub { $x }->() }
+.
+*STDOUT = *STDOUT7{FORMAT};
+write;
+
+$testn = 12;
+format STDOUT8 =
+@<<<< - recursive formats
+do { my $t = "ok " . $testn--; write if $t =~ 12; $t}
+.
+*STDOUT = *STDOUT8{FORMAT};
+write;
+
+sub _13 {
+    my $x;
+format STDOUT13 =
+@* - formats closing over redefined subs
+ref \$x eq 'SCALAR' ? "ok 13" : "not ok 13";
+.
+}
+undef &_13;
+eval 'sub _13 { my @x; write }';
+*STDOUT = *STDOUT13{FORMAT};
+_13();
+
+# This is a variation of bug #22977, which crashes or fails an assertion
+# up to 5.16.
+# Keep this test last if you want test numbers to be sane.
+BEGIN { \&END }
+END {
+  my $test = "ok 14";
+  *STDOUT = *STDOUT5{FORMAT};
+  write;
+  format STDOUT5 =
+@<<<<<<<
+$test
+.
+}


Property changes on: vendor/perl/dist/t/comp/form_scope.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/comp/hints.aux
===================================================================
--- vendor/perl/dist/t/comp/hints.aux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/hints.aux	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/hints.aux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/hints.t
===================================================================
--- vendor/perl/dist/t/comp/hints.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/hints.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,9 +4,10 @@
 
 BEGIN {
     @INC = qw(. ../lib);
+    chdir 't';
 }
 
-BEGIN { print "1..24\n"; }
+BEGIN { print "1..31\n"; }
 BEGIN {
     print "not " if exists $^H{foo};
     print "ok 1 - \$^H{foo} doesn't exist initially\n";
@@ -62,10 +63,12 @@
     }
     # op_entereval should keep the pragmas it was compiled with
     eval q*
+      BEGIN {
 	print "not " if $^H{foo} ne "a";
 	print "ok 13 - \$^H{foo} is 'a' at eval-\"\" time\n";
 	print "not " unless $^H & 0x00020000;
 	print "ok 14 - \$^H contains HINT_LOCALIZE_HH at eval\"\"-time\n";
+      }
     *;
 }
 BEGIN {
@@ -84,7 +87,9 @@
     BEGIN{$^H{x}=1};
     for my $tno (15..16) {
         eval q(
-            print $^H{x}==1 && !$^H{y} ? "ok $tno\n" : "not ok $tno\n";
+            BEGIN {
+                print $^H{x}==1 && !$^H{y} ? "ok $tno\n" : "not ok $tno\n";
+            }
             $^H{y} = 1;
         );
         if ($@) {
@@ -124,8 +129,146 @@
 	"ok 23 - \$^H{foo} correct after /unicode/i (res=$res)\n";
 }
 
+# [perl #106282] Crash when tying %^H
+# Tying %^H should not result in a crash when the hint hash is cloned.
+# Hints should also be copied properly to inner scopes.  See also
+# [rt.cpan.org #73402].
+eval q`
+    # Do something naughty enough, and you get your module mentioned in the
+    # test suite. :-)
+    package namespace::clean::_TieHintHash;
 
+    sub TIEHASH  { bless[] }
+    sub STORE    { $_[0][0]{$_[1]} = $_[2] }
+    sub FETCH    { $_[0][0]{$_[1]} }
+    sub FIRSTKEY { my $a = scalar keys %{$_[0][0]}; each %{$_[0][0]} }
+    sub NEXTKEY  { each %{$_[0][0]} }
 
+    package main;
+
+    BEGIN {
+	$^H{foo} = "bar"; # activate localisation magic
+	tie( %^H, 'namespace::clean::_TieHintHash' ); # sabotage %^H
+	$^H{foo} = "bar"; # create an element in the tied hash
+    }
+    { # clone the tied hint hash on scope entry
+	BEGIN {
+	    print "not " x ($^H{foo} ne 'bar'),
+		  "ok 24 - tied hint hash is copied to inner scope\n";
+	    %^H = ();
+	    tie( %^H, 'namespace::clean::_TieHintHash' );
+	    $^H{foo} = "bar";
+	}
+	{
+	    BEGIN{
+		print
+		  "not " x ($^H{foo} ne 'bar'),
+		  "ok 25 - tied empty hint hash is copied to inner scope\n"
+	    }    
+	}
+	1;
+    }
+    1;
+` or warn $@;
+print "ok 26 - no crash when cloning a tied hint hash\n";
+
+{
+    my $w;
+    local $SIG{__WARN__} = sub { $w = shift };
+    eval q`
+	package namespace::clean::_TieHintHasi;
+    
+	sub TIEHASH  { bless[] }
+	sub STORE    { $_[0][0]{$_[1]} = $_[2] }
+	sub FETCH    { $_[0][0]{$_[1]} }
+	sub FIRSTKEY { my $a = scalar keys %{$_[0][0]}; each %{$_[0][0]} }
+      # Intentionally commented out:
+      #  sub NEXTKEY  { each %{$_[0][0]} }
+    
+	package main;
+    
+	BEGIN {
+    	    $^H{foo} = "bar"; # activate localisation magic
+    	    tie( %^H, 'namespace::clean::_TieHintHasi' ); # sabotage %^H
+    	    $^H{foo} = "bar"; # create an element in the tied hash
+	}
+	{ ; } # clone the tied hint hash
+    `;
+    print "not " if $w;
+    print "ok 27 - double-freeing explosive tied hints hash\n";
+    print "# got: $w" if $w;
+}
+
+# Setting ${^WARNING_HINTS} to its own value should not change things.
+{
+    my $w;
+    local $SIG{__WARN__} = sub { $w++ };
+    BEGIN {
+	# should have no effect:
+	my $x = ${^WARNING_BITS};
+	${^WARNING_BITS} = $x;
+    }
+    {
+	local $^W = 1;
+	() = 1 + undef;
+    }
+    print "# ", $w//'no', " warnings\nnot " unless $w == 1;
+    print "ok 28 - ",
+          "setting \${^WARNING_BITS} to its own value has no effect\n";
+}
+
+# [perl #112326]
+# this code could cause a crash, due to PL_hints continuing to point to th
+# hints hash currently being freed
+
+{
+    package Foo;
+    my @h = qw(a 1 b 2);
+    BEGIN {
+	$^H{FOO} = bless {};
+    }
+    sub DESTROY {
+	@h = %^H;
+	delete $INC{strict}; require strict; # boom!
+    }
+    my $h = join ':', %h;
+    # this isn't the main point of the test; the main point is that
+    # it doesn't crash!
+    print "not " if $h ne '';
+    print "ok 29 - #112326\n";
+}
+
+
+# [perl #112444]
+# A destructor called while %^H is freed should not be able to stop %^H
+# from being magical (due to *^H{HASH} being undef).
+{
+    BEGIN {
+	# Make sure %^H is clear and not localised, to begin with
+	%^H = ();
+	$^H = 0;
+    }
+    DESTROY { %^H }
+    {
+	{
+	    BEGIN {
+		$^H{foom} = bless[];
+	    }
+	} # scope exit triggers destructor, which autovivifies a non-
+	  # magical %^H
+	BEGIN {
+	    # Here we have the %^H created by DESTROY, which is
+	    # not localised
+	    $^H{112444} = 'baz';
+	}
+    } # %^H leaks on scope exit
+    BEGIN { @keez = keys %^H }
+}
+print "not " if @keez;
+print "ok 30 - %^H does not leak when autovivified in destructor\n";
+print "# keys are: @keez\n" if @keez;
+
+
 # Add new tests above this require, in case it fails.
 require './test.pl';
 
@@ -135,7 +278,7 @@
     stderr => 1
 );
 print "not " if length $result;
-print "ok 24 - double-freeing hints hash\n";
+print "ok 31 - double-freeing hints hash\n";
 print "# got: $result\n" if length $result;
 
 __END__


Property changes on: vendor/perl/dist/t/comp/hints.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/line_debug.t
===================================================================
--- vendor/perl/dist/t/comp/line_debug.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/line_debug.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/line_debug.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/comp/line_debug_0.aux
===================================================================
--- vendor/perl/dist/t/comp/line_debug_0.aux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/line_debug_0.aux	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/line_debug_0.aux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/comp/multiline.t
===================================================================
--- vendor/perl/dist/t/comp/multiline.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/multiline.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/multiline.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/comp/opsubs.t
===================================================================
--- vendor/perl/dist/t/comp/opsubs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/opsubs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/opsubs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/our.t
===================================================================
--- vendor/perl/dist/t/comp/our.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/our.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/our.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/package.t
===================================================================
--- vendor/perl/dist/t/comp/package.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/package.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/package.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/package_block.t
===================================================================
--- vendor/perl/dist/t/comp/package_block.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/package_block.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/package_block.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/parser.t
===================================================================
--- vendor/perl/dist/t/comp/parser.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/parser.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 # Checks if the parser behaves correctly in edge cases
 # (including weird syntax errors)
 
-print "1..123\n";
+print "1..154\n";
 
 sub failed {
     my ($got, $expected, $name) = @_;
@@ -69,6 +69,13 @@
 like( $@, qr/^Missing braces on \\N/,
     'syntax error in string with incomplete \N' );
 
+eval q/"\o{"/;
+like( $@, qr/^Missing right brace on \\o/,
+    'syntax error in string with incomplete \o' );
+eval q/"\ofoo"/;
+like( $@, qr/^Missing braces on \\o/,
+    'syntax error in string with incomplete \o' );
+
 eval "a.b.c.d.e.f;sub";
 like( $@, qr/^Illegal declaration of anonymous subroutine/,
     'found by Markov chain stress testing' );
@@ -125,11 +132,11 @@
     is("${a}[", "A[", "interpolation, qq//");
     my @b=("B");
     is("@{b}{", "B{", "interpolation, qq//");
-    is(qr/${a}{/, '(?^:A{)', "interpolation, qr//");
+    is(qr/${a}\{/, '(?^:A\{)', "interpolation, qr//");
     my $c = "A{";
-    $c =~ /${a}{/;
+    $c =~ /${a}\{/;
     is($&, 'A{', "interpolation, m//");
-    $c =~ s/${a}{/foo/;
+    $c =~ s/${a}\{/foo/;
     is($c, 'foo', "interpolation, s/...//");
     $c =~ s/foo/${a}{/;
     is($c, 'A{', "interpolation, s//.../");
@@ -311,9 +318,9 @@
   eval qq[ %$xFC ];
   like($@, qr/Identifier too long/, "too long id in % sigil ctx");
 
-  eval qq[ \\&$xFC ]; # take a ref since I don't want to call it
-  is($@, "", "252 character & sigil ident ok");
-  eval qq[ \\&$xFD ];
+  eval qq[ \\&$xFB ]; # take a ref since I don't want to call it
+  is($@, "", "251 character & sigil ident ok");
+  eval qq[ \\&$xFC ];
   like($@, qr/Identifier too long/, "too long id in & sigil ctx");
 
   eval qq[ *$xFC ];
@@ -341,6 +348,12 @@
   is(defined &zlonk, '', 'but no body defined');
 }
 
+# [perl #113016] CORE::print::foo
+sub CORE'print'foo { 43 } # apostrophes intentional; do not tempt fate
+sub CORE'foo'bar { 43 }
+is CORE::print::foo, 43, 'CORE::print::foo is not CORE::print ::foo';
+is scalar eval "CORE::foo'bar", 43, "CORE::foo'bar is not an error";
+
 # bug #71748
 eval q{
 	$_ = "";
@@ -353,8 +366,92 @@
 };
 is($@, "", "multiline whitespace inside substitute expression");
 
-# Add new tests HERE:
+eval '@A =~ s/a/b/; # compilation error
+      sub tahi {}
+      sub rua;
+      sub toru ($);
+      sub wha :lvalue;
+      sub rima ($%&*$&*\$%\*&$%*&) :method;
+      sub ono :lvalue { die }
+      sub whitu (_) { die }
+      sub waru ($;) :method { die }
+      sub iwa { die }
+      BEGIN { }';
+is $::{tahi}, undef, 'empty sub decl ignored after compilation error';
+is $::{rua}, undef, 'stub decl ignored after compilation error';
+is $::{toru}, undef, 'stub+proto decl ignored after compilation error';
+is $::{wha}, undef, 'stub+attr decl ignored after compilation error';
+is $::{rima}, undef, 'stub+proto+attr ignored after compilation error';
+is $::{ono}, undef, 'sub decl with attr ignored after compilation error';
+is $::{whitu}, undef, 'sub decl w proto ignored after compilation error';
+is $::{waru}, undef, 'sub w attr+proto ignored after compilation error';
+is $::{iwa}, undef, 'non-empty sub decl ignored after compilation error';
+is *BEGIN{CODE}, undef, 'BEGIN leaves no stub after compilation error';
 
+$test = $test + 1;
+"ok $test - format inside re-eval" =~ /(?{
+    format =
+@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+$_
+.
+write
+}).*/;
+
+eval '
+"${;
+
+=pod
+
+=cut
+
+}";
+';
+is $@, "", 'pod inside string in string eval';
+"${;
+
+=pod
+
+=cut
+
+}";
+print "ok ", ++$test, " - pod inside string outside of string eval\n";
+
+like "blah blah blah\n", qr/${\ <<END
+blah blah blah
+END
+ }/, 'here docs in multiline quoted construct';
+like "blah blah blah\n", eval q|qr/${\ <<END
+blah blah blah
+END
+ }/|, 'here docs in multiline quoted construct in string eval';
+
+# Unterminated here-docs in subst in eval; used to crash
+eval 's/${<<END}//';
+eval 's//${<<END}/';
+print "ok ", ++$test, " - unterminated here-docs in s/// in string eval\n";
+
+sub 'Hello'_he_said (_);
+is prototype "Hello::_he_said", '_', 'initial tick in sub declaration';
+
+{
+    my @x = 'string';
+    is(eval q{ "$x[0]->strung" }, 'string->strung',
+	'literal -> after an array subscript within ""');
+    @x = ['string'];
+    # this used to give "string"
+    like("$x[0]-> [0]", qr/^ARRAY\([^)]*\)-> \[0]\z/,
+	'literal -> [0] after an array subscript within ""');
+}
+
+eval 'no if $] >= 5.17.4 warnings => "deprecated"';
+is 1,1, ' no crash for "no ... syntax error"';
+
+for my $pkg(()){}
+$pkg = 3;
+is $pkg, 3, '[perl #114942] for my $foo()){} $foo';
+
+# Add new tests HERE (above this line)
+
 # bug #74022: Loop on characters in \p{OtherIDContinue}
 # This test hangs if it fails.
 eval chr 0x387;
@@ -437,15 +534,16 @@
 check(qr/^Great hail!.*no more\.$/, 61, "Overflow both small buffer checks");
 EOSTANZA
 
-{
-    my @x = 'string';
-    is(eval q{ "$x[0]->strung" }, 'string->strung',
-	'literal -> after an array subscript within ""');
-    @x = ['string'];
-    # this used to give "string"
-    like("$x[0]-> [0]", qr/^ARRAY\([^)]*\)-> \[0]\z/,
-	'literal -> [0] after an array subscript within ""');
-}
+#line 531 parser.t
+<<EOU; check('parser\.t', 531, 'on same line as heredoc');
+EOU
+s//<<EOV/e if 0;
+EOV
+check('parser\.t', 535, 'after here-doc in quotes');
+<<EOW;
+${check('parser\.t', 537, 'first line of interp in here-doc');;
+  check('parser\.t', 538, 'second line of interp in here-doc');}
+EOW
 
 __END__
 # Don't add new tests HERE. See note above


Property changes on: vendor/perl/dist/t/comp/parser.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/proto.t
===================================================================
--- vendor/perl/dist/t/comp/proto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/proto.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
 # strict
 use strict;
 
-print "1..172\n";
+print "1..180\n";
 
 my $i = 1;
 
@@ -409,10 +409,26 @@
 print "# CORE::open => ($p)\nnot " if ($p = prototype('CORE::open')) ne '*;$@';
 print "ok ", $i++, "\n";
 
-print "# CORE:Foo => ($p), \$@ => `$@'\nnot " 
+print "# CORE::Foo => ($p), \$@ => '$@'\nnot " 
     if defined ($p = eval { prototype('CORE::Foo') or 1 }) or $@ !~ /^Can't find an opnumber/;
 print "ok ", $i++, "\n";
 
+eval { prototype("CORE::a\0b") };
+print "# CORE::a\\0b: \$@ => '$@'\nnot " 
+    if $@ !~ /^Can't find an opnumber for "a\0b"/;
+print "ok ", $i++, "\n";
+
+eval { prototype("CORE::\x{100}") };
+print "# CORE::\\x{100}: => ($p), \$@ => '$@'\nnot " 
+    if $@ !~ /^Can't find an opnumber for "\x{100}"/;
+print "ok ", $i++, "\n";
+
+"CORE::Foo" =~ /(.*)/;
+print "# \$1 containing CORE::Foo => ($p), \$@ => '$@'\nnot " 
+    if defined ($p = eval { prototype($1) or 1 })
+    or $@ !~ /^Can't find an opnumber/;
+print "ok ", $i++, " - \$1 containing CORE::Foo\n";
+
 # correctly note too-short parameter lists that don't end with '$',
 #  a possible regression.
 
@@ -544,6 +560,10 @@
     sreftest my $sref, $i++;
     sreftest($helem{$i}, $i++);
     sreftest $aelem[0], $i++;
+    sreftest sub { [0] }->()[0], $i++;
+    sreftest my $a = 'quidgley', $i++;
+    print "not " if eval 'return 1; sreftest(3+4)';
+    print "ok ", $i++, ' - \$ with invalid argument', "\n";
 }
 
 # test single term
@@ -587,14 +607,6 @@
   }
 }
 
-# Not $$;$;$
-print "not " unless prototype "CORE::substr" eq '$$;$$';
-print "ok ", $i++, "\n";
-
-# recv takes a scalar reference for its second argument
-print "not " unless prototype "CORE::recv" eq '*\\$$$';
-print "ok ", $i++, "\n";
-
 {
     my $myvar;
     my @myarray;
@@ -606,6 +618,8 @@
 
     print "not " unless myref($myvar)   =~ /^SCALAR\(/;
     print "ok ", $i++, "\n";
+    print "not " unless myref($myvar=7) =~ /^SCALAR\(/;
+    print "ok ", $i++, "\n";
     print "not " unless myref(@myarray) =~ /^ARRAY\(/;
     print "ok ", $i++, "\n";
     print "not " unless myref(%myhash)  =~ /^HASH\(/;
@@ -702,6 +716,17 @@
  unless eval 'sub uniproto9 (;+) {} uniproto9 $_, 1' or warn $@;
 print "ok ", $i++, "\n";
 
+# Test that a trailing semicolon makes a sub have listop precedence
+sub unilist ($;)  { $_[0]+1 }
+sub unilist2(_;)  { $_[0]+1 }
+sub unilist3(;$;) { $_[0]+1 }
+print "not " unless (unilist 0 || 5) == 6;
+print "ok ", $i++, "\n";
+print "not " unless (unilist2 0 || 5) == 6;
+print "ok ", $i++, "\n";
+print "not " unless (unilist3 0 || 5) == 6;
+print "ok ", $i++, "\n";
+
 {
   # Lack of prototype on a subroutine definition should override any prototype
   # on the declaration.


Property changes on: vendor/perl/dist/t/comp/proto.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/redef.t
===================================================================
--- vendor/perl/dist/t/comp/redef.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/redef.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/redef.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/require.t
===================================================================
--- vendor/perl/dist/t/comp/require.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/require.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,7 +22,7 @@
 
 my $Is_EBCDIC = (ord('A') == 193) ? 1 : 0;
 my $Is_UTF8   = (${^OPEN} || "") =~ /:utf8/;
-my $total_tests = 51;
+my $total_tests = 54;
 if ($Is_EBCDIC || $Is_UTF8) { $total_tests -= 3; }
 print "1..$total_tests\n";
 
@@ -36,61 +36,66 @@
 
 eval {require 5.005};
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 5.005 try 1\n";
 
 eval { require 5.005 };
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 5.005 try 2\n";
 
 eval { require 5.005; };
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 5.005 try 3\n";
 
 eval {
     require 5.005
 };
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 5.005 try 4\n";
 
 # new style version numbers
 
 eval { require v5.5.630; };
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 5.5.630\n";
 
+sub v5 { die }
+eval { require v5; };
+print "# $@\nnot " if $@;
+print "ok ",$i++," - require v5 ignores sub named v5\n";
+
 eval { require 10.0.2; };
 print "# $@\nnot " unless $@ =~ /^Perl v10\.0\.2 required/;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 10.0.2\n";
 
 my $ver = 5.005_63;
 eval { require $ver; };
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 5.005_63\n";
 
 # check inaccurate fp
 $ver = 10.2;
 eval { require $ver; };
 print "# $@\nnot " unless $@ =~ /^Perl v10\.200.0 required/;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 10.2\n";
 
 $ver = 10.000_02;
 eval { require $ver; };
 print "# $@\nnot " unless $@ =~ /^Perl v10\.0\.20 required/;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 10.000_02\n";
 
 print "not " unless 5.5.1 gt v5.5;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - 5.5.1 gt v5.5\n";
 
 {
     print "not " unless v5.5.640 eq "\x{5}\x{5}\x{280}";
-    print "ok ",$i++,"\n";
+    print "ok ",$i++," - v5.5.640 eq \\x{5}\\x{5}\\x{280}\n";
 
     print "not " unless v7.15 eq "\x{7}\x{f}";
-    print "ok ",$i++,"\n";
+    print "ok ",$i++," - v7.15 eq \\x{7}\\x{f}\n";
 
     print "not "
       unless v1.20.300.4000.50000.600000 eq "\x{1}\x{14}\x{12c}\x{fa0}\x{c350}\x{927c0}";
-    print "ok ",$i++,"\n";
+    print "ok ",$i++," - v1.20.300.4000.50000.600000 eq ...\n";
 }
 
 # "use 5.11.0" (and higher) loads strictures.
@@ -97,13 +102,13 @@
 # check that this doesn't happen with require
 eval 'require 5.11.0; ${"foo"} = "bar";';
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require 5.11.0\n";
 eval 'BEGIN {require 5.11.0} ${"foo"} = "bar";';
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++,"\ - BEGIN { require 5.11.0}\n";
 
 # interaction with pod (see the eof)
-write_file('bleah.pm', "print 'ok $i\n'; 1;\n");
+write_file('bleah.pm', "print 'ok $i - require bleah.pm\n'; 1;\n");
 require "bleah.pm";
 $i++;
 
@@ -110,10 +115,10 @@
 # run-time failure in require
 do_require "0;\n";
 print "# $@\nnot " unless $@ =~ /did not return a true/;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - require returning 0\n";
 
 print "not " if exists $INC{'bleah.pm'};
-print "ok ",$i++,"\n";
+print "ok ",$i++," - %INC not updated\n";
 
 my $flag_file = 'bleah.flg';
 # run-time error in require
@@ -120,14 +125,14 @@
 for my $expected_compile (1,0) {
     write_file($flag_file, 1);
     print "not " unless -e $flag_file;
-    print "ok ",$i++,"\n";
+    print "ok ",$i++," - exp $expected_compile; bleah.flg\n";
     write_file('bleah.pm', "unlink '$flag_file' or die; \$a=0; \$b=1/\$a; 1;\n");
     print "# $@\nnot " if eval { require 'bleah.pm' };
-    print "ok ",$i++,"\n";
+    print "ok ",$i++," - exp $expected_compile; require bleah.pm with flag file\n";
     print "not " unless -e $flag_file xor $expected_compile;
-    print "ok ",$i++,"\n";
+    print "ok ",$i++," - exp $expected_compile; -e flag_file\n";
     print "not " unless exists $INC{'bleah.pm'};
-    print "ok ",$i++,"\n";
+    print "ok ",$i++," - exp $expected_compile; exists \$INC{'bleah.pm}\n";
 }
 
 # compile-time failure in require
@@ -135,31 +140,31 @@
 # bison says 'parse error' instead of 'syntax error',
 # various yaccs may or may not capitalize 'syntax'.
 print "# $@\nnot " unless $@ =~ /(syntax|parse) error/mi;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - syntax error\n";
 
 # previous failure cached in %INC
 print "not " unless exists $INC{'bleah.pm'};
-print "ok ",$i++,"\n";
+print "ok ",$i++," - cached %INC\n";
 write_file($flag_file, 1);
 write_file('bleah.pm', "unlink '$flag_file'; 1");
 print "# $@\nnot " if eval { require 'bleah.pm' };
-print "ok ",$i++,"\n";
+print "ok ",$i++," - eval { require 'bleah.pm' }\n";
 print "# $@\nnot " unless $@ =~ /Compilation failed/i;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - Compilation failed\n";
 print "not " unless -e $flag_file;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - -e flag_file\n";
 print "not " unless exists $INC{'bleah.pm'};
-print "ok ",$i++,"\n";
+print "ok ",$i++," - \$INC{'bleah.pm'}\n";
 
 # successful require
 do_require "1";
 print "# $@\nnot " if $@;
-print "ok ",$i++,"\n";
+print "ok ",$i++," - do_require '1';\n";
 
 # do FILE shouldn't see any outside lexicals
-my $x = "ok $i\n";
+my $x = "ok $i - bleah.do\n";
 write_file("bleah.do", <<EOT);
-\$x = "not ok $i\\n";
+\$x = "not ok $i - bleah.do\\n";
 EOT
 do "bleah.do" or die $@;
 dofile();
@@ -189,9 +194,9 @@
 eval { require $r };
 $i++;
 if($@ =~ /Can't locate threads in \@INC/) {
-    print "ok $i\n";
+    print "ok $i - RT #24404\n";
 } else {
-    print "not ok $i\n";
+    print "not ok - RT #24404$i\n";
 }
 
 
@@ -199,15 +204,15 @@
 delete $INC{"bleah.pm"}; ++$::i;
 eval { CORE::require bleah; };
 if ($@ =~ /^This is an expected error/) {
-    print "ok $i\n";
+    print "ok $i - expected error\n";
 } else {
-    print "not ok $i\n";
+    print "not ok $i - expected error\n";
 }
 
 sub write_file_not_thing {
     my ($file, $thing, $test) = @_;
     write_file($file, <<"EOT");
-    print "not ok $test\n";
+    print "not ok $test - write_file_not_thing $file\n";
     die "The $thing file should not be loaded";
 EOT
 }
@@ -226,18 +231,18 @@
     if ($ccflags =~ /(?:^|\s)-DPERL_DISABLE_PMC\b/) {
 	print "# .pmc files are ignored, so test that\n";
 	write_file_not_thing('krunch.pmc', '.pmc', $pmc_older);
-	write_file('urkkk.pm', qq(print "ok $simple\n"));
+	write_file('urkkk.pm', qq(print "ok $simple - urkkk.pm branch A\n"));
 	write_file('whap.pmc', qq(die "This is not an expected error"));
 
 	print "# Sleeping for 2 seconds before creating some more files\n";
 	sleep 2;
 
-	write_file('krunch.pm', qq(print "ok $pmc_older\n"));
+	write_file('krunch.pm', qq(print "ok $pmc_older - krunch.pm branch A\n"));
 	write_file_not_thing('urkkk.pmc', '.pmc', $simple);
 	write_file('whap.pm', qq(die "This is an expected error"));
     } else {
 	print "# .pmc files should be loaded, so test that\n";
-	write_file('krunch.pmc', qq(print "ok $pmc_older\n";));
+	write_file('krunch.pmc', qq(print "ok $pmc_older - krunch.pm branch B\n";));
 	write_file_not_thing('urkkk.pm', '.pm', $simple);
 	write_file('whap.pmc', qq(die "This is an expected error"));
 
@@ -245,7 +250,7 @@
 	sleep 2;
 
 	write_file_not_thing('krunch.pm', '.pm', $pmc_older);
-	write_file('urkkk.pmc', qq(print "ok $simple\n";));
+	write_file('urkkk.pmc', qq(print "ok $simple - urkkk.pm branch B\n";));
 	write_file_not_thing('whap.pm', '.pm', $pmc_dies);
     }
     require urkkk;
@@ -253,26 +258,48 @@
     eval {CORE::require whap; 1} and die;
 
     if ($@ =~ /^This is an expected error/) {
-	print "ok $pmc_dies\n";
+	print "ok $pmc_dies - pmc_dies\n";
     } else {
-	print "not ok $pmc_dies\n";
+	print "not ok $pmc_dies - pmc_dies\n";
     }
 }
 
 # Test "require func()" with abs path when there is no .pmc file.
 ++$::i;
-require Cwd;
-require File::Spec::Functions;
-eval {
- CORE::require(File::Spec::Functions::catfile(Cwd::getcwd(),"bleah.pm"));
-};
-if ($@ =~ /^This is an expected error/) {
-    print "ok $i\n";
+if (defined &DynaLoader::boot_DynaLoader) {
+    require Cwd;
+    require File::Spec::Functions;
+    eval {
+     CORE::require(File::Spec::Functions::catfile(Cwd::getcwd(),"bleah.pm"));
+    };
+    if ($@ =~ /^This is an expected error/) {
+	print "ok $i - require(func())\n";
+    } else {
+	print "not ok $i - require(func())\n";
+    }
 } else {
-    print "not ok $i\n";
+    print "ok $i # SKIP Cwd may not be available in miniperl\n";
 }
 
+{
+    BEGIN { ${^OPEN} = ":utf8\0"; }
+    %INC = ();
+    write_file('bleah.pm',"package F; \$x = '\xD1\x9E';\n");
+    eval { require "bleah.pm" };
+    $i++;
+    my $not = $F::x eq "\xD1\x9E" ? "" : "not ";
+    print "${not}ok $i - require ignores I/O layers\n";
+}
 
+{
+    BEGIN { ${^OPEN} = ":utf8\0"; }
+    %INC = ();
+    write_file('bleah.pm',"require re; re->import('/x'); 1;\n");
+    my $not = eval 'use bleah; "ab" =~ /a b/' ? "" : "not ";
+    $i++;
+    print "${not}ok $i - require does not localise %^H at run time\n";
+}
+
 ##########################################
 # What follows are UTF-8 specific tests. #
 # Add generic tests before this point.   #


Property changes on: vendor/perl/dist/t/comp/require.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/retainedlines.t
===================================================================
--- vendor/perl/dist/t/comp/retainedlines.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/retainedlines.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 # we've not yet verified that use works.
 # use strict;
 
-print "1..73\n";
+print "1..74\n";
 my $test = 0;
 
 sub failed {
@@ -24,7 +24,7 @@
     return;
 }
 
-sub is {
+sub is($$$) {
     my ($got, $expect, $name) = @_;
     $test = $test + 1;
     if (defined $expect) {
@@ -157,4 +157,7 @@
   eval qq{#line 42 "hash-line-eval"\n labadalabada()\n};
   is $::{"_<hash-line-eval"}[42], " labadalabada()\n",
    '#line 42 "foo" in a string eval updates @{"_<foo"}';
+  eval qq{#line 42 "figgle"\n#line 85 "doggo"\n labadalabada()\n};
+  is $::{"_<doggo"}[85], " labadalabada()\n",
+   'subsequent #line 42 "foo" in a string eval updates @{"_<foo"}';
 }


Property changes on: vendor/perl/dist/t/comp/retainedlines.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/script.t
===================================================================
--- vendor/perl/dist/t/comp/script.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/script.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/script.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/comp/term.t
===================================================================
--- vendor/perl/dist/t/comp/term.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/term.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/term.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/uproto.t
===================================================================
--- vendor/perl/dist/t/comp/uproto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/uproto.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!perl
 
-print "1..39\n";
+print "1..43\n";
 my $test = 0;
 
 sub failed {
@@ -19,10 +19,10 @@
 }
 
 sub like {
-    my ($got, $pattern) = @_;
+    my ($got, $pattern, $name) = @_;
     $test = $test + 1;
     if (defined $got && $got =~ $pattern) {
-	print "ok $test\n";
+	print "ok $test - $name\n";
 	# Principle of least surprise - maintain the expected interface, even
 	# though we aren't using it here (yet).
 	return 1;
@@ -31,17 +31,17 @@
 }
 
 sub is {
-    my ($got, $expect) = @_;
+    my ($got, $expect, $name) = @_;
     $test = $test + 1;
     if (defined $expect) {
 	if (defined $got && $got eq $expect) {
-	    print "ok $test\n";
+	    print "ok $test - $name\n";
 	    return 1;
 	}
 	failed($got, "'$expect'", $name);
     } else {
 	if (!defined $got) {
-	    print "ok $test\n";
+	    print "ok $test - $name\n";
 	    return 1;
 	}
 	failed($got, 'undef', $name);
@@ -72,7 +72,11 @@
 like( $@, qr/Too many arguments for main::f at/ );
 
 {
+    # We have not tested require/use/no yet, so we must avoid this:
+    #    no warnings 'deprecated';
+    BEGIN { $SIG{__WARN__} = sub {} }
     my $_ = "quarante-deux";
+    BEGIN { $SIG{__WARN__} = undef }
     $foo = "FOO";
     $bar = "BAR";
     f("FOO quarante-deux", $foo);
@@ -97,7 +101,9 @@
 g();
 g;
 undef $expected; &g; # $_ not passed
+BEGIN { $SIG{__WARN__} = sub {} }
 { $expected = my $_ = "bar"; g() }
+BEGIN { $SIG{__WARN__} = undef }
 
 eval q{ sub wrong1 (_$); wrong1(1,2) };
 like( $@, qr/Malformed prototype for main::wrong1/, 'wrong1' );
@@ -120,6 +126,21 @@
 mymkdir($expected = "foo");
 $expected = "foo 493"; mymkdir foo => 0755;
 
+sub mylist (_@) { is("@_", $expected, "mylist") }
+$expected = "foo";
+$_ = "foo";
+mylist();
+$expected = "10 11 12 13";
+mylist(10, 11 .. 13);
+
+sub mylist2 (_%) { is("@_", $expected, "mylist2") }
+$expected = "foo";
+$_ = "foo";
+mylist2();
+$expected = "10 a 1";
+my %hash = (a => 1);
+mylist2(10, %hash);
+
 # $_ says modifiable, it's not passed by copy
 
 sub double(_) { $_[0] *= 2 }
@@ -127,7 +148,9 @@
 double();
 is( $_, 42, '$_ is modifiable' );
 {
+    BEGIN { $SIG{__WARN__} = sub {} }
     my $_ = 22;
+    BEGIN { $SIG{__WARN__} = undef }
     double();
     is( $_, 44, 'my $_ is modifiable' );
 }


Property changes on: vendor/perl/dist/t/comp/uproto.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/comp/use.t
===================================================================
--- vendor/perl/dist/t/comp/use.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/use.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     $INC{"feature.pm"} = 1; # so we don't attempt to load feature.pm
 }
 
-print "1..73\n";
+print "1..84\n";
 
 # Can't require test.pl, as we're testing the use/require mechanism here.
 
@@ -22,6 +22,8 @@
 	$result = $got ne $expected;
     } elsif ($type eq 'like') {
 	$result = $got =~ $expected;
+    } elsif ($type eq 'ok') {
+	$result = not not $got;
     } else {
 	die "Unexpected type '$type'$name";
     }
@@ -46,6 +48,8 @@
 	    print "# Expected not '$expected'\n";
 	} elsif ($type eq 'like') {
 	    print "# Expected $expected\n";
+	} elsif ($type eq 'ok') {
+	    print "# Expected a true value\n";
 	}
     }
     $test = $test + 1;
@@ -61,6 +65,9 @@
 sub isnt ($$;$) {
     _ok ('isnt', @_);
 }
+sub ok($;$) {
+    _ok ('ok', shift, undef, @_);
+}
 
 eval "use 5";           # implicit semicolon
 is ($@, '');
@@ -134,9 +141,35 @@
 # and they are properly scoped
 eval '{use 5.11.0;} ${"foo"} = "bar";';
 is ($@, "");
+eval 'no strict; use 5.012; ${"foo"} = "bar"';
+is $@, "", 'explicit "no strict" overrides later ver decl';
+eval 'use strict; use 5.01; ${"foo"} = "bar"';
+like $@, qr/^Can't use string/,
+    'explicit use strict overrides later use 5.01';
+eval 'use strict "subs"; use 5.012; ${"foo"} = "bar"';
+like $@, qr/^Can't use string/,
+    'explicit use strict "subs" does not stop ver decl from enabling refs';
+eval 'use 5.012; use 5.01; ${"foo"} = "bar"';
+is $@, "", 'use 5.01 overrides implicit strict from prev ver decl';
+eval 'no strict "subs"; use 5.012; ${"foo"} = "bar"';
+ok $@, 'no strict subs allows ver decl to enable refs';
+eval 'no strict "subs"; use 5.012; $nonexistent_pack_var';
+ok $@, 'no strict subs allows ver decl to enable vars';
+eval 'no strict "refs"; use 5.012; fancy_bareword';
+ok $@, 'no strict refs allows ver decl to enable subs';
+eval 'no strict "refs"; use 5.012; $nonexistent_pack_var';
+ok $@, 'no strict refs allows ver decl to enable subs';
+eval 'no strict "vars"; use 5.012; ${"foo"} = "bar"';
+ok $@, 'no strict vars allows ver decl to enable refs';
+eval 'no strict "vars"; use 5.012; ursine_word';
+ok $@, 'no strict vars allows ver decl to enable subs';
 
+
 { use test_use }	# check that subparse saves pending tokens
 
+use test_use { () };
+is ref $test_use::got[0], 'HASH', 'use parses arguments in term lexing cx';
+
 local $test_use::VERSION = 1.0;
 
 eval "use test_use 0.9";


Property changes on: vendor/perl/dist/t/comp/use.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/comp/utf.t
===================================================================
--- vendor/perl/dist/t/comp/utf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/comp/utf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/comp/utf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/harness
===================================================================
--- vendor/perl/dist/t/harness	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/harness	2013-12-01 21:45:02 UTC (rev 6430)
@@ -125,16 +125,16 @@
     #     ]
     # };
 
-    # but for now, run all directories in sequence. In particular, it would be
-    # nice to get the tests in t/op/*.t able to run in parallel.
+    # but for now, run all directories in sequence.
 
     unless (@tests) {
 	my @seq = <base/*.t>;
 
-	my @next = qw(comp run cmd io re op uni mro lib porting);
+	my @next = qw(comp run cmd io re opbasic op uni mro lib porting);
 	push @next, 'japh' if $torture;
 	push @next, 'win32' if $^O eq 'MSWin32';
 	push @next, 'benchmark' if $ENV{PERL_BENCHMARK};
+	push @next, 'bigmem' if $ENV{PERL_TEST_MEMORY};
 	# Hopefully TAP::Parser::Scheduler will support this syntax soon.
 	# my $next = { par => '{' . join (',', @next) . '}/*.t' };
 	my $next = { par => [


Property changes on: vendor/perl/dist/t/harness
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/io/argv.t
===================================================================
--- vendor/perl/dist/t/io/argv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/argv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/argv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/io/binmode.t
===================================================================
--- vendor/perl/dist/t/io/binmode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/binmode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/binmode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/io/bom.t
===================================================================
--- vendor/perl/dist/t/io/bom.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/bom.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/bom.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/io/crlf.t
===================================================================
--- vendor/perl/dist/t/io/crlf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/crlf.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,8 +12,10 @@
 
 my $file = tempfile();
 
+my $ungetc_count = 8200;    # Somewhat over the likely buffer size
+
 {
-    plan(tests => 16);
+    plan(tests => 16 + 2 * $ungetc_count);
     ok(open(FOO,">:crlf",$file));
     ok(print FOO 'a'.((('a' x 14).qq{\n}) x 2000) || close(FOO));
     ok(open(FOO,"<:crlf",$file));
@@ -42,6 +44,16 @@
 	$/ = "\n";
 	$s = <$fh>.<$fh>;
 	is($s, "\nxxy\n");
+
+        for my $i (0 .. $ungetc_count - 1) {
+            my $j = $i % 256;
+            is($fh->ungetc($j), $j, "ungetc of $j returns itself");
+        }
+
+        for (my $i = $ungetc_count - 1; $i >= 0; $i--) {
+            my $j = $i % 256;
+            is(ord($fh->getc()), $j, "getc gets back $j");
+        }
     }
 
     ok(close(FOO));


Property changes on: vendor/perl/dist/t/io/crlf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/io/crlf_through.t
===================================================================
--- vendor/perl/dist/t/io/crlf_through.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/crlf_through.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/crlf_through.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/io/data.t
===================================================================
--- vendor/perl/dist/t/io/data.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/data.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/data.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/io/defout.t
===================================================================
--- vendor/perl/dist/t/io/defout.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/defout.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/defout.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/io/dup.t
===================================================================
--- vendor/perl/dist/t/io/dup.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/dup.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/dup.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/io/eintr.t
===================================================================
--- vendor/perl/dist/t/io/eintr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/eintr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -49,9 +49,11 @@
 # Also skip on release builds, to avoid other possibly problematic
 # platforms
 
-if ($^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'freebsd' || 
-     ($^O eq 'solaris' && $Config{osvers} eq '2.8')
-	|| ((int($]*1000) & 1) == 0)
+my ($osmajmin) = $Config{osvers} =~ /^(\d+\.\d+)/;
+if ($^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O =~ /freebsd/ || $^O eq 'midnightbsd' ||
+     ($^O eq 'solaris' && $Config{osvers} eq '2.8') || $^O eq 'nto' ||
+     ($^O eq 'darwin' && $osmajmin < 9) ||
+    ((int($]*1000) & 1) == 0)
 ) {
 	skip_all('various portability issues');
 	exit 0;


Property changes on: vendor/perl/dist/t/io/eintr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/io/errno.t
===================================================================
--- vendor/perl/dist/t/io/errno.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/errno.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -34,8 +34,6 @@
 		for my $rs_code ('', '$/=undef', '$/=\2', '$/=\1024') {
 		    TODO:
 		    {
-			local $::TODO = "We get RMS\$_IOP at EOF on VMS when \$/ is undef"
-			    if $^O eq 'VMS' && $rs_code eq '$/=undef';
 			is( runperl( prog => "$rs_code; $test_prog",
 						 stdin => $test_in, stderr => 1),
 				$test_in,


Property changes on: vendor/perl/dist/t/io/errno.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/io/errnosig.t
===================================================================
--- vendor/perl/dist/t/io/errnosig.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/errnosig.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/errnosig.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/io/fflush.t
===================================================================
--- vendor/perl/dist/t/io/fflush.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/fflush.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/fflush.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/io/fs.t
===================================================================
--- vendor/perl/dist/t/io/fs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/fs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -46,7 +46,7 @@
 my $skip_mode_checks =
     $^O eq 'cygwin' && $ENV{CYGWIN} !~ /ntsec/;
 
-plan tests => 51;
+plan tests => 52;
 
 my $tmpdir = tempfile();
 my $tmpdir1 = tempfile();
@@ -72,7 +72,7 @@
 umask(022);
 
 SKIP: {
-    skip "bogus umask", 1 if ($^O eq 'MSWin32') || ($^O eq 'NetWare') || ($^O eq 'epoc');
+    skip "bogus umask", 1 if ($^O eq 'MSWin32') || ($^O eq 'NetWare');
 
     is((umask(0)&0777), 022, 'umask'),
 }
@@ -275,7 +275,7 @@
 		is( $atime, 500000001,          'atime' );
 		is( $mtime, 500000000 + $delta, 'mtime' );
 	    }
-	    elsif ($^O eq 'beos' || $^O eq 'haiku') {
+	    elsif ($^O eq 'haiku') {
             SKIP: {
 		    skip "atime not updated", 1;
 		}
@@ -372,7 +372,7 @@
 
     SKIP: {
         if ($^O eq 'vos') {
-	    skip ("# TODO - hit VOS bug posix-973 - cannot resize an open file below the current file pos.", 5);
+	    skip ("# TODO - hit VOS bug posix-973 - cannot resize an open file below the current file pos.", 6);
 	}
 
 	is(-s $tmpfile, 200, "fh resize to 200 working (filename check)");
@@ -407,6 +407,14 @@
 	is(-s $tmpfile, 100, "fh resize by IO slot working");
 
 	close FH;
+
+	my $n = "for_fs_dot_t$$";
+	open FH, ">$n" or die "open $n: $!";
+	print FH "bloh blah bla\n";
+	close FH or die "close $n: $!";
+	eval "truncate $n, 0; 1" or die;
+	ok !-z $n, 'truncate(word) does not fall back to file name';
+	unlink $n;
     }
 }
 


Property changes on: vendor/perl/dist/t/io/fs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/io/inplace.t
===================================================================
--- vendor/perl/dist/t/io/inplace.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/inplace.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,9 +35,9 @@
 
 SKIP:
 {
-    # based on code, dosish and epoc systems can't do no-backup inplace
+    # based on code, dosish systems can't do no-backup inplace
     # edits
-    $^O =~ /^(MSWin32|cygwin|uwin|dos|epoc|os2)$/
+    $^O =~ /^(MSWin32|cygwin|uwin|dos|os2)$/
 	and skip("Can't inplace edit without backups on $^O", 4);
     
     our @ifiles = ( tempfile(), tempfile(), tempfile() );


Property changes on: vendor/perl/dist/t/io/inplace.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/io/iofile.t
===================================================================
--- vendor/perl/dist/t/io/iofile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/iofile.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/iofile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/io/iprefix.t
===================================================================
--- vendor/perl/dist/t/io/iprefix.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/iprefix.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/iprefix.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/io/layers.t
===================================================================
--- vendor/perl/dist/t/io/layers.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/layers.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,7 +35,7 @@
 } else {
     $UTF8_STDIN = 0;
 }
-my $NTEST = 55 - (($DOSISH || !$FASTSTDIO) ? 7 : 0) - ($DOSISH ? 7 : 0)
+my $NTEST = 60 - (($DOSISH || !$FASTSTDIO) ? 7 : 0) - ($DOSISH ? 7 : 0)
     + $UTF8_STDIN;
 
 sub PerlIO::F_UTF8 () { 0x00008000 } # from perliol.h
@@ -227,4 +227,27 @@
 open(UTF, "<:raw:encoding(utf8)", '$afile') or die \$!;
 print ref *PerlIO::Layer::NoWarnings{CODE};
 EOT
+
+    # [perl #97956] Not calling FETCH all the time on tied variables
+    my $f;
+    sub TIESCALAR { bless [] }
+    sub FETCH { ++$f; $_[0][0] = $_[1] }
+    sub STORE { $_[0][0] }
+    tie my $t, "";
+    $t = *f;
+    $f = 0; PerlIO::get_layers $t;
+    is $f, 1, '1 fetch on tied glob';
+    $t = \*f;
+    $f = 0; PerlIO::get_layers $t;
+    is $f, 1, '1 fetch on tied globref';
+    $t = *f;
+    $f = 0; PerlIO::get_layers \$t;
+    is $f, 1, '1 fetch on referenced tied glob';
+    $t = '';
+    $f = 0; PerlIO::get_layers $t;
+    is $f, 1, '1 fetch on tied string';
+
+    # No distinction between nums and strings
+    open "12", "<:crlf", "test.pl" or die "$0 cannot open test.pl: $!";
+    ok PerlIO::get_layers(12), 'str/num arguments are treated identically';
 }


Property changes on: vendor/perl/dist/t/io/layers.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/io/nargv.t
===================================================================
--- vendor/perl/dist/t/io/nargv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/nargv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/nargv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/io/open.t
===================================================================
--- vendor/perl/dist/t/io/open.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/open.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 use warnings;
 use Config;
 
-plan tests => 114;
+plan tests => 121;
 
 my $Perl = which_perl();
 
@@ -105,7 +105,16 @@
 ok( !eval { open my $f, '<&', $afile; 1; },    '<& on a non-filehandle' );
 like( $@, qr/Bad filehandle:\s+$afile/,          '       right error' );
 
+ok( !eval { *some_glob = 1; open my $f, '<&', *some_glob; 1; },    '<& on a non-filehandle glob' );
+like( $@, qr/Bad filehandle:\s+some_glob/,          '       right error' );
 
+{
+    use utf8;
+    use open qw( :utf8 :std );
+    ok( !eval { use utf8; *ǡfilḛ = 1; open my $f, '<&', *ǡfilḛ; 1; },    '<& on a non-filehandle glob' );
+    like( $@, qr/Bad filehandle:\s+ǡfilḛ/u,          '       right error' );
+}
+
 # local $file tests
 {
     unlink($afile) if -f $afile;
@@ -224,6 +233,10 @@
 
     # used to try to open a file [perl #17830]
     ok( open(my $stdin,  "<&", fileno STDIN),   'dup fileno(STDIN) into lexical fh') or _diag $!;
+
+    fileno(STDIN) =~ /(.)/;
+    ok open($stdin, "<&", $1), 'open ... "<&", $magical_fileno',
+	||  _diag $!;
 }
 
 SKIP: {
@@ -258,7 +271,7 @@
 
     open($fh1{k}, "TEST");
     gimme($fh1{k});
-    like($@, qr/<\$fh1{...}> line 1\./, "autoviv fh package helem");
+    like($@, qr/<\$fh1\{...}> line 1\./, "autoviv fh package helem");
 
     my @fh2;
     open($fh2[0], "TEST");
@@ -268,7 +281,12 @@
     my %fh3;
     open($fh3{k}, "TEST");
     gimme($fh3{k});
-    like($@, qr/<\$fh3{...}> line 1\./, "autoviv fh lexical helem");
+    like($@, qr/<\$fh3\{...}> line 1\./, "autoviv fh lexical helem");
+
+    local $/ = *F;  # used to cause an assertion failure
+    gimme($fh3{k});
+    like($@, qr/<\$fh3\{...}> chunk 2\./,
+	'<...> line 1 when $/ is set to a glob');
 }
     
 SKIP: {
@@ -309,6 +327,15 @@
 
 eval { open $99, "foo" };
 like($@, qr/Modification of a read-only value attempted/, "readonly fh");
+# But we do not want that exception applying to close(), since it does not
+# modify the fh.
+eval {
+   no warnings "uninitialized";
+   # make sure $+ is undefined
+   "a" =~ /(b)?/;
+   close $+
+};
+is($@, '', 'no "Modification of a read-only value" when closing');
 
 # [perl#73626] mg_get wasn't run on the pipe arg
 


Property changes on: vendor/perl/dist/t/io/open.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/io/openpid.t
===================================================================
--- vendor/perl/dist/t/io/openpid.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/openpid.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/openpid.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/io/perlio.t
===================================================================
--- vendor/perl/dist/t/io/perlio.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/perlio.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 	skip_all_without_perlio();
 }
 
-plan tests => 42;
+plan tests => 45;
 
 use_ok('PerlIO');
 
@@ -132,7 +132,7 @@
 SKIP: {
     eval { require PerlIO::scalar };
     unless (find PerlIO::Layer 'scalar') {
-	skip("PerlIO::scalar not found", 9);
+	skip("PerlIO::scalar not found", 11);
     }
     my $var;
     ok( open(my $x,"+<",\$var), 'magic in-memory file via 3 arg open with \\$var');
@@ -168,10 +168,10 @@
     }
 
 
-{ local $TODO = 'fails well back into 5.8.x';
+    { local $TODO = 'fails well back into 5.8.x';
 
 	
-sub read_fh_and_return_final_rv {
+      sub read_fh_and_return_final_rv {
 	my ($fh) = @_;
 	my $buf = '';
 	my $rv;
@@ -180,20 +180,42 @@
 		next if $rv;
 	}
 	return $rv
-}
+      }
 
-open(my $no_perlio, '<', \'ab') or die; 
-open(my $perlio, '<:crlf', \'ab') or die; 
+      open(my $no_perlio, '<', \'ab') or die; 
+      open(my $perlio, '<:crlf', \'ab') or die; 
 
-is(read_fh_and_return_final_rv($perlio), read_fh_and_return_final_rv($no_perlio), "RT#69332 - perlio should return the same value as nonperlio after EOF");
+      is(read_fh_and_return_final_rv($perlio),
+         read_fh_and_return_final_rv($no_perlio),
+        "RT#69332 - perlio should return the same value as nonperlio after EOF");
 
-close ($perlio);
-close ($no_perlio);
+      close ($perlio);
+      close ($no_perlio);
+    }
+
+    { # [perl #92258]
+        open my $fh, "<", \(my $f = *f);
+        is join("", <$fh>), '*main::f', 'reading from a glob copy';
+        is ref \$f, 'GLOB', 'the glob copy is unaffected';
+    }
+
 }
 
+{
+    # see RT #75722, RT #96008
+    fresh_perl_like(<<'EOP',
+unshift @INC, sub {
+    return undef unless caller eq "main";
+    open my $fh, "<", \1;
+    $fh;
+};
+require Symbol; # doesn't matter whether it exists or not
+EOP
+		    qr/\ARecursive call to Perl_load_module in PerlIO_find_layer at/s,
+		    {stderr => 1},
+		    'Mutal recursion between Perl_load_module and PerlIO_find_layer croaks');
 }
 
-
 END {
     unlink_all $txt;
     unlink_all $bin;


Property changes on: vendor/perl/dist/t/io/perlio.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/io/perlio_fail.t
===================================================================
--- vendor/perl/dist/t/io/perlio_fail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/perlio_fail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/perlio_fail.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/io/perlio_leaks.t
===================================================================
--- vendor/perl/dist/t/io/perlio_leaks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/perlio_leaks.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/perlio_leaks.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/io/perlio_open.t
===================================================================
--- vendor/perl/dist/t/io/perlio_open.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/perlio_open.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/perlio_open.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/io/pipe.t
===================================================================
--- vendor/perl/dist/t/io/pipe.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/pipe.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,11 +27,7 @@
 next_test();
 close PIPE;
 
-SKIP: {
-    # Technically this should be TODO.  Someone try it if you happen to
-    # have a vmesa machine.
-    skip "Doesn't work here yet", 6 if $^O eq 'vmesa';
-
+{
     if (open(PIPE, "-|")) {
 	while(<PIPE>) {
 	    s/^not //;
@@ -153,11 +149,9 @@
     SKIP: {
         # Sfio doesn't report failure when closing a broken pipe
         # that has pending output.  Go figure.
-        # BeOS will not write to broken pipes, either.
         # Nor does POSIX-BC.
         skip "Won't report failure on broken pipe", 1
-          if $Config{d_sfio} || $^O eq 'beos' ||
-             $^O eq 'posix-bc';
+          if $Config{d_sfio} || $^O eq 'posix-bc';
 
         local $SIG{PIPE} = 'IGNORE';
         open NIL, qq{|$Perl -e "exit 0"} or die "open failed: $!";
@@ -171,9 +165,7 @@
         }
     }
 
-    SKIP: {
-        skip "Don't work yet", 9 if $^O eq 'vmesa';
-
+    {
         # check that errno gets forced to 0 if the piped program exited 
         # non-zero
         open NIL, qq{|$Perl -e "exit 23";} or die "fork failed: $!";
@@ -182,9 +174,8 @@
         is($!, '',      '       errno');
         isnt($?, 0,     '       status');
 
-        SKIP: {
-            skip "Don't work yet", 6 if $^O eq 'mpeix';
-
+	# Former skip block:
+        {
             # check that status for the correct process is collected
             my $zombie;
             unless( $zombie = fork ) {


Property changes on: vendor/perl/dist/t/io/pipe.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/io/print.t
===================================================================
--- vendor/perl/dist/t/io/print.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/print.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 use strict 'vars';
 
-print "1..21\n";
+print "1..24\n";
 
 my $foo = 'STDOUT';
 print $foo "ok 1\n";
@@ -66,3 +66,13 @@
     map print(+()), ('')x68;
     print "ok 21\n";
 }
+
+# printf with %n
+my $n = "abc";
+printf "ok 22%n - not really a test; just printing\n", substr $n,1,1;
+print "not " x ($n ne "a5c") . "ok 23 - printf with %n (got $n)\n";
+
+# [perl #77094] printf with empty list
+() = ("not ");
+printf +();
+print "ok 24 - printf +() does not steal stack items\n";


Property changes on: vendor/perl/dist/t/io/print.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/io/pvbm.t
===================================================================
--- vendor/perl/dist/t/io/pvbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/pvbm.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/pvbm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/io/read.t
===================================================================
--- vendor/perl/dist/t/io/read.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/read.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/read.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/io/say.t
===================================================================
--- vendor/perl/dist/t/io/say.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/say.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,7 +16,7 @@
 use strict 'vars';
 use feature "say";
 
-say "1..12";
+say "1..13";
 
 my $foo = 'STDOUT';
 say $foo "ok 1";
@@ -53,3 +53,8 @@
     local $, = "\nnot ok 13"; # how to fool Test::Harness
     say "ok 12";
 }
+
+{
+    no feature 'say';
+    CORE::say "ok 13 - CORE::say without feature.pm";
+}


Property changes on: vendor/perl/dist/t/io/say.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/io/tell.t
===================================================================
--- vendor/perl/dist/t/io/tell.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/tell.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-print "1..28\n";
+print "1..35\n";
 
 $TST = 'TST';
 
@@ -160,3 +160,24 @@
 { print "ok 28$todo\n"; } else { print "not ok 28$todo\n"; }
 close $tst;
 
+open FH, "test.pl";
+$fh = *FH; # coercible glob
+$not = "not " x! (tell $fh == 0);
+print "${not}ok 29 - tell on coercible glob\n";
+$not = "not " x! (tell == 0);
+print "${not}ok 30 - argless tell after tell \$coercible\n";
+tell *$fh;
+$not = "not " x! (tell == 0);
+print "${not}ok 31 - argless tell after tell *\$coercible\n";
+eof $fh;
+$not = "not " x! (tell == 0);
+print "${not}ok 32 - argless tell after eof \$coercible\n";
+eof *$fh;
+$not = "not " x! (tell == 0);
+print "${not}ok 33 - argless tell after eof *\$coercible\n";
+seek $fh,0,0;
+$not = "not " x! (tell == 0);
+print "${not}ok 34 - argless tell after seek \$coercible...\n";
+seek *$fh,0,0;
+$not = "not " x! (tell == 0);
+print "${not}ok 35 - argless tell after seek *\$coercible...\n";


Property changes on: vendor/perl/dist/t/io/tell.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/io/through.t
===================================================================
--- vendor/perl/dist/t/io/through.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/through.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/io/through.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/io/utf8.t
===================================================================
--- vendor/perl/dist/t/io/utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/io/utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 no utf8; # needed for use utf8 not griping about the raw octets
 
 
-plan(tests => 55);
+plan(tests => 61);
 
 $| = 1;
 
@@ -348,3 +348,41 @@
 	  "<:utf8 rcatline must warn about bad utf8");
     close F;
 }
+
+{
+    # fixed record reads
+    open F, ">:utf8", $a_file;
+    print F "foo\xE4";
+    print F "bar\xFE";
+    print F "\xC0\xC8\xCC\xD2";
+    print F "a\xE4ab";
+    print F "a\xE4a";
+    close F;
+    open F, "<:utf8", $a_file;
+    local $/ = \4;
+    my $line = <F>;
+    is($line, "foo\xE4", "readline with \$/ = \\4");
+    $line .= <F>;
+    is($line, "foo\xE4bar\xFE", "rcatline with \$/ = \\4");
+    $line = <F>;
+    is($line, "\xC0\xC8\xCC\xD2", "readline with several encoded characters");
+    $line = <F>;
+    is($line, "a\xE4ab", "readline with another boundary condition");
+    $line = <F>;
+    is($line, "a\xE4a", "readline with boundary condition");
+    close F;
+
+    # badly encoded at EOF
+    open F, ">:raw", $a_file;
+    print F "foo\xEF\xAC"; # truncated \x{FB04} small ligature ffl
+    close F;
+
+    use warnings 'utf8';
+    open F, "<:utf8", $a_file;
+    undef $@;
+    local $SIG{__WARN__} = sub { $@ = shift };
+    $line = <F>;
+
+    like( $@, qr/utf8 "\\xEF" does not map to Unicode .+ <F> chunk 1/,
+	  "<:utf8 readline (fixed) must warn about bad utf8");
+}


Property changes on: vendor/perl/dist/t/io/utf8.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/japh/abigail.t
===================================================================
--- vendor/perl/dist/t/japh/abigail.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/japh/abigail.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/japh/abigail.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/1_compile.t
===================================================================
--- vendor/perl/dist/t/lib/1_compile.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/1_compile.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,9 +7,9 @@
 BEGIN {
     chdir 't';
     @INC = '../lib';
+    require './test.pl';
 }
 
-use strict;
 use warnings;
 use File::Spec::Functions;
 
@@ -27,28 +27,22 @@
 
 @Core_Modules = sort @Core_Modules;
 
-print "1..".(1+ at Core_Modules)."\n";
+plan tests => 1+ at Core_Modules;
 
-my $message
-  = "ok 1 - All modules should have tests # TODO Make Schwern Poorer\n";
-if (@Core_Modules) {
-  print "not $message";
-} else {
-  print $message;
-}
-print <<'EOREWARD';
-# http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-04/msg01223.html
-# 20010421230349.P2946 at blackrider.blackstar.co.uk
-EOREWARD
+cmp_ok(@Core_Modules, '>', 0, "All modules should have tests");
+note("http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2001-04/msg01223.html");
+note("20010421230349.P2946\@blackrider.blackstar.co.uk");
 
-my $test_num = 2;
-
 foreach my $module (@Core_Modules) {
-    my $todo = '';
-    $todo = "# TODO $module needs porting on $^O" if $module eq 'ByteLoader' && $^O eq 'VMS';
-    print "# $module compile failed\nnot " unless compile_module($module);
-    print "ok $test_num $todo\n";
-    $test_num++;
+    if ($module eq 'ByteLoader' && $^O eq 'VMS') {
+        TODO: {
+            local $TODO = "$module needs porting on $^O";
+            ok(compile_module($module), "compile $module");
+        }
+    }
+    else {
+        ok(compile_module($module), "compile $module");
+    }
 }
 
 # We do this as a separate process else we'll blow the hell
@@ -60,7 +54,6 @@
     my $lib     = '-I' . catdir(updir(), 'lib');
 
     my $out = scalar `$^X $lib $compmod $module`;
-    print "# $out";
     return $out =~ /^ok/;
 }
 


Property changes on: vendor/perl/dist/t/lib/1_compile.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Cname.pm
===================================================================
--- vendor/perl/dist/t/lib/Cname.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Cname.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Cname.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Dev/Null.pm
===================================================================
--- vendor/perl/dist/t/lib/Dev/Null.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Dev/Null.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Dev/Null.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Devel/switchd.pm
===================================================================
--- vendor/perl/dist/t/lib/Devel/switchd.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Devel/switchd.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Devel/switchd.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Devel/switchd_empty.pm
===================================================================
--- vendor/perl/dist/t/lib/Devel/switchd_empty.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Devel/switchd_empty.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Devel/switchd_empty.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Dummy.pm
===================================================================
--- vendor/perl/dist/t/lib/Dummy.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Dummy.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Dummy.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Filter/Simple/ExportTest.pm
===================================================================
--- vendor/perl/dist/t/lib/Filter/Simple/ExportTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Filter/Simple/ExportTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Filter/Simple/ExportTest.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Filter/Simple/FilterOnlyTest.pm
===================================================================
--- vendor/perl/dist/t/lib/Filter/Simple/FilterOnlyTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Filter/Simple/FilterOnlyTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Filter/Simple/FilterOnlyTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Filter/Simple/FilterTest.pm
===================================================================
--- vendor/perl/dist/t/lib/Filter/Simple/FilterTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Filter/Simple/FilterTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Filter/Simple/FilterTest.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Filter/Simple/ImportTest.pm
===================================================================
--- vendor/perl/dist/t/lib/Filter/Simple/ImportTest.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Filter/Simple/ImportTest.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Filter/Simple/ImportTest.pm
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/HasSigDie.pm
===================================================================
--- vendor/perl/dist/t/lib/HasSigDie.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/HasSigDie.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/HasSigDie.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/MakeMaker/Test/NoXS.pm
===================================================================
--- vendor/perl/dist/t/lib/MakeMaker/Test/NoXS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/MakeMaker/Test/NoXS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/MakeMaker/Test/NoXS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/BFD.pm
===================================================================
--- vendor/perl/dist/t/lib/MakeMaker/Test/Setup/BFD.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/MakeMaker/Test/Setup/BFD.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/BFD.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/MPV.pm
===================================================================
--- vendor/perl/dist/t/lib/MakeMaker/Test/Setup/MPV.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/MakeMaker/Test/Setup/MPV.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/MPV.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/PL_FILES.pm
===================================================================
--- vendor/perl/dist/t/lib/MakeMaker/Test/Setup/PL_FILES.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/MakeMaker/Test/Setup/PL_FILES.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/PL_FILES.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Problem.pm
===================================================================
--- vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Problem.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Problem.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Problem.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Recurs.pm
===================================================================
--- vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Recurs.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Recurs.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/Recurs.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/XS.pm
===================================================================
--- vendor/perl/dist/t/lib/MakeMaker/Test/Setup/XS.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/MakeMaker/Test/Setup/XS.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/MakeMaker/Test/Setup/XS.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/MakeMaker/Test/Utils.pm
===================================================================
--- vendor/perl/dist/t/lib/MakeMaker/Test/Utils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/MakeMaker/Test/Utils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/MakeMaker/Test/Utils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Math/BigFloat/Subclass.pm
===================================================================
--- vendor/perl/dist/t/lib/Math/BigFloat/Subclass.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Math/BigFloat/Subclass.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Math/BigFloat/Subclass.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Math/BigInt/BareCalc.pm
===================================================================
--- vendor/perl/dist/t/lib/Math/BigInt/BareCalc.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Math/BigInt/BareCalc.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Math/BigInt/BareCalc.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Math/BigInt/Scalar.pm
===================================================================
--- vendor/perl/dist/t/lib/Math/BigInt/Scalar.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Math/BigInt/Scalar.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Math/BigInt/Scalar.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Math/BigInt/Subclass.pm
===================================================================
--- vendor/perl/dist/t/lib/Math/BigInt/Subclass.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Math/BigInt/Subclass.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Math/BigInt/Subclass.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Math/BigRat/Test.pm
===================================================================
--- vendor/perl/dist/t/lib/Math/BigRat/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Math/BigRat/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Math/BigRat/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/NoExporter.pm
===================================================================
--- vendor/perl/dist/t/lib/NoExporter.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/NoExporter.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/NoExporter.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Parse/CPAN/Meta/Test.pm
===================================================================
--- vendor/perl/dist/t/lib/Parse/CPAN/Meta/Test.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Parse/CPAN/Meta/Test.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Parse/CPAN/Meta/Test.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Sans_mypragma.pm
===================================================================
--- vendor/perl/dist/t/lib/Sans_mypragma.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Sans_mypragma.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Sans_mypragma.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Builder/NoOutput.pm
===================================================================
--- vendor/perl/dist/t/lib/Test/Builder/NoOutput.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Builder/NoOutput.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Builder/NoOutput.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/Catch.pm
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/Catch.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/Catch.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/Catch.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/death.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/death.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/death.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/death.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_in_eval.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_in_eval.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_in_eval.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_in_eval.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_with_handler.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_with_handler.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_with_handler.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/death_with_handler.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/exit.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/exit.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/exit.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/exit.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/extras.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/extras.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/extras.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/extras.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/five_fail.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/five_fail.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/five_fail.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/five_fail.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/last_minute_death.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/last_minute_death.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/last_minute_death.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/last_minute_death.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/one_fail.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/one_fail.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/one_fail.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/one_fail.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/pre_plan_death.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/pre_plan_death.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/pre_plan_death.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/pre_plan_death.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/require.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/require.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/require.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/require.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/success.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/success.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/success.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/success.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few_fail.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few_fail.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few_fail.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/too_few_fail.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/Test/Simple/sample_tests/two_fail.plx
===================================================================
--- vendor/perl/dist/t/lib/Test/Simple/sample_tests/two_fail.plx	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/Test/Simple/sample_tests/two_fail.plx	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/Test/Simple/sample_tests/two_fail.plx
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/TieIn.pm
===================================================================
--- vendor/perl/dist/t/lib/TieIn.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/TieIn.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/TieIn.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/TieOut.pm
===================================================================
--- vendor/perl/dist/t/lib/TieOut.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/TieOut.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/TieOut.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/charnames/alias
===================================================================
--- vendor/perl/dist/t/lib/charnames/alias	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/charnames/alias	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,6 @@
-Tests for use charnames with aliases.
-(With the exception of the first test, which otherwise would need its own file)
+Tests for use charnames with compilation errors and aliases.
 __END__
-# unsupported pragma
+# NAME illegal :pragma
 use warnings;
 use charnames ":scoobydoo";
 "Here: \N{e_ACUTE}!\n";
@@ -9,15 +8,39 @@
 OPTIONS regex
 unsupported special ':scoobydoo' in charnames at
 ########
-# wrong type of alias (missing colon)
+# NAME autoload doesn't get vianame
+print "Here: \N{DIGIT ONE}\n";
+charnames::vianame("DIGIT TWO");
+EXPECT
+OPTIONS regex
+Undefined subroutine &charnames::vianame called at - line \d+.
+Here: 1
+########
+# NAME autoload doesn't get viacode
+print "Here: \N{DIGIT THREE}\n";
+charnames::viacode(0x34);
+EXPECT
+OPTIONS regex
+Undefined subroutine &charnames::viacode called at - line \d+.
+Here: 3
+########
+# NAME autoload doesn't get string_vianame
+print "Here: \N{DIGIT FOUR}\n";
+charnames::string_vianame("DIGIT FIVE");
+EXPECT
+OPTIONS regex
+Undefined subroutine &charnames::string_vianame called at - line \d+.
+Here: 4
+########
+# NAME wrong type of alias (missing colon)
 no warnings;
 use charnames "alias";
 "Here: \N{e_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'e_ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
 ########
-# alias without an argument
+# NAME alias without an argument
 use warnings;
 use charnames ":alias";
 "Here: \N{e_ACUTE}!\n";
@@ -25,7 +48,7 @@
 OPTIONS regex
 :alias needs an argument in charnames at
 ########
-# reversed sequence
+# NAME reversed sequence
 use warnings;
 use charnames ":alias" => ":full";
 "Here: \N{e_ACUTE}!\n";
@@ -33,42 +56,52 @@
 OPTIONS regex
 :alias cannot use existing pragma :full \(reversed order\?\) at
 ########
-# alias with hashref but no :full
+# NAME alias with hashref but with :short
 use warnings;
-use charnames ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
+no warnings 'void';
+use charnames ":short", ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
 "Here: \N{e_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'LATIN SMALL LETTER E WITH ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
 ########
-# alias with hashref but with :short
+# NAME alias with hashref to :full OK
 use warnings;
 no warnings 'void';
-use charnames ":short", ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
+use charnames ":full", ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
 "Here: \N{e_ACUTE}!\n";
 EXPECT
 OPTIONS regex
-Unknown charname 'LATIN SMALL LETTER E WITH ACUTE' at
+$
 ########
-# alias with hashref to :full OK
+# NAME alias with hashref to :loose OK
 use warnings;
 no warnings 'void';
-use charnames ":full", ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
+use charnames ":loose", ":alias" => { e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE" };
 "Here: \N{e_ACUTE}!\n";
 EXPECT
 OPTIONS regex
 $
 ########
-# alias with hashref to :short but using :full
+# NAME alias with :loose requires :full type name
 use warnings;
 no warnings 'void';
+use charnames ":loose", ":alias" => { e_ACUTE => "latin SMALL LETTER E WITH ACUTE" };
+"Here: \N{e_ACUTE}!\n";
+EXPECT
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
+########
+# NAME alias with hashref to :short but using :full
+use warnings;
+no warnings 'void';
 use charnames ":full", ":alias" => { e_ACUTE => "LATIN:e WITH ACUTE" };
 "Here: \N{e_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'LATIN:e WITH ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
 ########
-# alias with hashref to :short OK
+# NAME alias with hashref to :short OK
 use warnings;
 no warnings 'void';
 use charnames ":short", ":alias" => { e_ACUTE => "LATIN:e WITH ACUTE" };
@@ -77,7 +110,7 @@
 OPTIONS regex
 $
 ########
-# alias with bad hashref
+# NAME alias with bad hashref
 use warnings;
 no warnings 'void';
 use charnames ":short", ":alias" => "e_ACUTE";
@@ -86,7 +119,7 @@
 OPTIONS regex
 unicore/e_ACUTE_alias.pl cannot be used as alias file for charnames at
 ########
-# alias with arrayref
+# NAME alias with arrayref
 use warnings;
 no warnings 'void';
 use charnames ":short", ":alias" => [ e_ACUTE => "LATIN:e WITH ACUTE" ];
@@ -95,7 +128,7 @@
 OPTIONS regex
 Only HASH reference supported as argument to :alias at
 ########
-# alias with bad hashref
+# NAME alias with bad hashref
 no warnings;
 use charnames ":short", ":alias" => { e_ACUTE => "LATIN:e WITH ACUTE", "a_ACUTE" };
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
@@ -103,7 +136,7 @@
 OPTIONS regex
 Unknown charname 'a_ACUTE' at
 ########
-# alias with hashref two aliases
+# NAME alias with hashref two aliases
 use warnings;
 no warnings 'void';
 use charnames ":short", ":alias" => {
@@ -112,10 +145,10 @@
     };
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname '' at
+OPTIONS regex fatal
+Unknown charname 'a_ACUTE' at - line \d+, within string
 ########
-# alias with hashref two aliases
+# NAME alias with hashref two aliases
 use warnings;
 no warnings 'void';
 use charnames ":short", ":alias" => {
@@ -127,7 +160,7 @@
 OPTIONS regex
 $
 ########
-# alias with hashref using mixed aliases
+# NAME alias with hashref using mixed aliases
 use warnings;
 use charnames ":short", ":alias" => {
     e_ACUTE => "LATIN:e WITH ACUTE",
@@ -135,10 +168,10 @@
     };
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'LATIN SMALL LETTER A WITH ACUT' at
+OPTIONS regex fatal
+Unknown charname 'a_ACUTE' at - line \d+, within string
 ########
-# alias with hashref using mixed aliases
+# NAME alias with hashref using mixed aliases
 use warnings;
 use charnames ":short", ":alias" => {
     e_ACUTE => "LATIN:e WITH ACUTE",
@@ -146,10 +179,10 @@
     };
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'LATIN SMALL LETTER A WITH ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'a_ACUTE' at - line \d+, within string
 ########
-# alias with hashref using mixed aliases
+# NAME alias with hashref using mixed aliases
 use warnings;
 no warnings 'void';
 use charnames ":full", ":alias" => {
@@ -158,19 +191,19 @@
     };
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'LATIN:e WITH ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
 ########
-# alias with nonexisting file
+# NAME alias with nonexisting file
 use warnings;
 no warnings 'void';
-use charnames ":full", ":alias" => "xyzzy";
+use charnames ":full", ":alias" => "non_existing_xyzzy";
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
 OPTIONS regex
-unicore/xyzzy_alias.pl cannot be used as alias file for charnames at
+unicore/non_existing_xyzzy_alias.pl cannot be used as alias file for charnames at
 ########
-# alias with bad file name
+# NAME alias with bad file name
 use warnings;
 no warnings 'void';
 use charnames ":full", ":alias" => "xy 7-";
@@ -177,9 +210,9 @@
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
 OPTIONS regex
-Charnames alias files can only have identifier characters at
+Charnames alias file names can only have identifier characters at
 ########
-# alias with non_absolute (existing) file name (which it should /not/ use)
+# NAME alias with non_absolute (existing) file name (which it should /not/ use)
 use warnings;
 no warnings 'void';
 use charnames ":full", ":alias" => "perl";
@@ -188,7 +221,7 @@
 OPTIONS regex
 unicore/perl_alias.pl cannot be used as alias file for charnames at
 ########
-# alias with bad file
+# NAME alias with bad file
 --FILE-- ../../lib/unicore/xyzzy_alias.pl
 #!perl
 0;
@@ -201,7 +234,7 @@
 OPTIONS regex
 unicore/xyzzy_alias.pl did not return a \(valid\) list of alias pairs at
 ########
-# alias with file with empty list
+# NAME alias with file with empty list
 --FILE-- ../../lib/unicore/xyzzy_alias.pl
 #!perl
 ();
@@ -211,10 +244,10 @@
 use charnames ":full", ":alias" => "xyzzy";
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'e_ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
 ########
-# alias with file OK but file has :short aliases
+# NAME alias with file OK but file has :short aliases
 --FILE-- ../../lib/unicore/xyzzy_alias.pl
 #!perl
 (   e_ACUTE => "LATIN:e WITH ACUTE",
@@ -226,10 +259,10 @@
 use charnames ":full", ":alias" => "xyzzy";
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'LATIN:e WITH ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
 ########
-# alias with :short and file OK
+# NAME alias with :short and file OK
 --FILE-- ../../lib/unicore/xyzzy_alias.pl
 #!perl
 (   e_ACUTE => "LATIN:e WITH ACUTE",
@@ -244,7 +277,7 @@
 OPTIONS regex
 $
 ########
-# alias with :short and file OK has :long aliases
+# NAME alias with :short and file OK has :long aliases
 --FILE-- ../../lib/unicore/xyzzy_alias.pl
 #!perl
 (   e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE",
@@ -256,10 +289,10 @@
 use charnames ":short", ":alias" => "xyzzy";
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'LATIN SMALL LETTER E WITH ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
 ########
-# alias with file implicit :full but file has :short aliases
+# NAME alias with file implicit :full but file has :short aliases
 --FILE-- ../../lib/unicore/xyzzy_alias.pl
 #!perl
 (   e_ACUTE => "LATIN:e WITH ACUTE",
@@ -271,10 +304,10 @@
 use charnames ":alias" => ":xyzzy";
 "Here: \N{e_ACUTE}\N{a_ACUTE}!\n";
 EXPECT
-OPTIONS regex
-Unknown charname 'LATIN:e WITH ACUTE' at
+OPTIONS regex fatal
+Unknown charname 'e_ACUTE' at - line \d+, within string
 ########
-# alias with file implicit :full and file has :long aliases
+# NAME alias with file implicit :full and file has :long aliases
 --FILE-- ../../lib/unicore/xyzzy_alias.pl
 #!perl
 (   e_ACUTE => "LATIN SMALL LETTER E WITH ACUTE",
@@ -289,7 +322,7 @@
 OPTIONS regex
 $
 ########
-# charnames with no import still works for runtime functions
+# NAME charnames with no import still works for runtime functions
 use warnings;
 no warnings 'void';
 use charnames ();
@@ -298,3 +331,76 @@
 EXPECT
 OPTIONS regex
 $
+########
+# NAME no extraneous warning [perl #11560]
+use warnings;
+use charnames ();
+print charnames::viacode(0x80), "\n";
+EXPECT
+OPTIONS regex
+PADDING CHARACTER
+########
+# NAME various wrong characters in :alias are errors
+# Below, one of the EXPECT regexes matches both the UTF-8 and non-UTF-8 form.
+# This is because under some circumstances the message gets output as UTF-8.
+use charnames ":full", ":alias" => {
+                            "4e_ACUTE" => "LATIN SMALL LETTER E WITH ACUTE",
+                            "e_A,CUTE" => "LATIN SMALL LETTER E WITH ACUTE",
+                            "e_ACUT\x{d7}E" => "LATIN SMALL LETTER E WITH ACUTE",
+                    };
+EXPECT
+OPTIONS regex
+Invalid character in charnames alias definition; marked by <-- HERE in '4<-- HERE e_ACUTE'
+Invalid character in charnames alias definition; marked by <-- HERE in 'e_A,<-- HERE CUTE'
+Invalid character in charnames alias definition; marked by <-- HERE in 'e_ACUT(?:\x{d7}|\x{C3}\x{97})<-- HERE E'
+########
+# RT#73022
+# NAME \N{...} interprets ... as octets rather than UTF-8
+use utf8;
+use open qw( :utf8 :std );
+use charnames ":full", ":alias" => { "自転車に乗る人" => "BICYCLIST" };
+print "ok\n" if "\N{自転車に乗る人}" eq "\x{1F6B4}";
+EXPECT
+ok
+########
+# NAME Misspelled \N{} UTF-8 names are errors
+use utf8;
+use open qw( :utf8 :std );
+use charnames ":full", ":alias" => { "自転車に乗る人" => "BICYCLIST" };
+print "ok\n" if "\N{転車に乗る人}" eq "\x{1F6B4}";
+EXPECT
+OPTIONS regex
+Unknown charname '転車に乗る人' at - line \d+, within string
+########
+# NAME various wrong UTF-8 characters in :alias are errors
+# First has a punctuation, KATAKANA MIDDLE DOT, in it; second begins with a
+# digit: ARABIC-INDIC DIGIT FOUR
+use utf8;
+use open qw( :utf8 :std );
+use charnames ":full", ":alias" => { "自転車・に乗る人" => "BICYCLIST",
+                                     "٤転車に乗る人" => "BICYCLIST",
+                                    };
+print "ok\n" if "\N{自転車・に乗る人}" eq "\x{1F6B4}";
+print "ok\n" if "\N{٤転車に乗る人}" eq "\x{1F6B4}";
+EXPECT
+OPTIONS regex
+Invalid character in charnames alias definition; marked by <-- HERE in '٤<-- HERE 転車に乗る人'
+Invalid character in charnames alias definition; marked by <-- HERE in '自転車・<-- HERE に乗る人' at - line \d+
+########
+# NAME trailing and sequences of multiple spaces in :alias names are deprectated
+use charnames ":alias" => { "TOO  MANY SPACES" => "NO ENTRY SIGN",
+                            "TRAILING SPACE " => "FACE WITH NO GOOD GESTURE"
+                          };
+print "ok\n" if "\N{TOO  MANY SPACES}" eq "\x{1F6AB}";
+print "ok\n" if "\N{TRAILING SPACE }" eq "\x{1F645}";
+no warnings 'deprecated';
+print "ok\n" if "\N{TOO  MANY SPACES}" eq "\x{1F6AB}";
+print "ok\n" if "\N{TRAILING SPACE }" eq "\x{1F645}";
+EXPECT
+OPTIONS regex
+A sequence of multiple spaces in a charnames alias definition is deprecated; marked by <-- HERE in 'TOO   <-- HERE MANY SPACES' at - line \d+.
+Trailing white-space in a charnames alias definition is deprecated; marked by <-- HERE in 'TRAILING SPACE  <-- HERE ' at - line \d+.
+ok
+ok
+ok
+ok


Property changes on: vendor/perl/dist/t/lib/charnames/alias
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/common.pl
===================================================================
--- vendor/perl/dist/t/lib/common.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/common.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
-# This code is used by lib/charnames.t, lib/feature.t, lib/subs.t,
-# lib/strict.t and lib/warnings.t
+# This code is used by lib/charnames.t, lib/croak.t, lib/feature.t,
+# lib/subs.t, lib/strict.t and lib/warnings.t
 #
 # On input, $::local_tests is the number of tests in the caller; or
 # 'no_plan' if unknown, in which case it is the caller's responsibility
@@ -54,11 +54,11 @@
 }
 
 $^X = rel2abs($^X);
+ at INC = map { rel2abs($_) } @INC;
 my $tempdir = tempfile;
 
 mkdir $tempdir, 0700 or die "Can't mkdir '$tempdir': $!";
 chdir $tempdir or die die "Can't chdir '$tempdir': $!";
-unshift @INC, '../../lib';
 my $cleanup = 1;
 
 END {


Property changes on: vendor/perl/dist/t/lib/common.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/commonsense.t
===================================================================
--- vendor/perl/dist/t/lib/commonsense.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/commonsense.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,21 +1,26 @@
 #!./perl
 
-chdir 't' if -d 't';
- at INC = '../lib';
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
+
+plan( tests => 1);
+
 require Config; import Config;
+
 if (($Config{'extensions'} !~ /\bFcntl\b/) ){
-  print "Bail out! Perl configured without Fcntl module\n";
-  exit 0;
+  BAIL_OUT("Perl configured without Fcntl module");
 }
-if (($Config{'extensions'} !~ /\bIO\b/) ){
-  print "Bail out! Perl configured without IO module\n";
-  exit 0;
+##Finds IO submodules when using \b
+if (($Config{'extensions'} !~ /\bIO\s/) ){
+  BAIL_OUT("Perl configured without IO module");
 }
 # hey, DOS users do not need this kind of common sense ;-)
 if ($^O ne 'dos' && ($Config{'extensions'} !~ /\bFile\/Glob\b/) ){
-  print "Bail out! Perl configured without File::Glob module\n";
-  exit 0;
+  BAIL_OUT("Perl configured without File::Glob module");
 }
 
-print "1..1\nok 1\n";
+pass('common sense');
 


Property changes on: vendor/perl/dist/t/lib/commonsense.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compmod.pl
===================================================================
--- vendor/perl/dist/t/lib/compmod.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compmod.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compmod.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/CompTestUtils.pm
===================================================================
--- vendor/perl/dist/t/lib/compress/CompTestUtils.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/CompTestUtils.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/CompTestUtils.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/any.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/any.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/any.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/any.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/anyunc.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/anyunc.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/anyunc.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/anyunc.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/destroy.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/destroy.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/destroy.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/destroy.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/encode.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/encode.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/encode.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/encode.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/generic.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/generic.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/generic.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/generic.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/merge.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/merge.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/merge.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/merge.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/multi.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/multi.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/multi.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/multi.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/newtied.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/newtied.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/newtied.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/newtied.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/oneshot.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/oneshot.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/oneshot.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/oneshot.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/prime.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/prime.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/prime.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/prime.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/tied.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/tied.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/tied.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/tied.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/truncate.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/truncate.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/truncate.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/truncate.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/compress/zlib-generic.pl
===================================================================
--- vendor/perl/dist/t/lib/compress/zlib-generic.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/compress/zlib-generic.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/compress/zlib-generic.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/contains_bad_pod.xr
===================================================================
--- vendor/perl/dist/t/lib/contains_bad_pod.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/contains_bad_pod.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/contains_bad_pod.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/contains_pod.xr
===================================================================
--- vendor/perl/dist/t/lib/contains_pod.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/contains_pod.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/contains_pod.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/croak.t
===================================================================
--- vendor/perl/dist/t/lib/croak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/croak.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,20 +1,7 @@
 #!./perl
-# So far, it seems, there is no place to test all the Perl_croak() calls in the
-# C code. So this is a start. It's likely that it needs refactoring to be data
-# driven. Data driven code exists in various other tests - best plan would be to
-# investigate whether any common code library already exists, and if not,
-# refactor the "donor" test code into a common code library.
 
-BEGIN {
-    chdir 't' if -d 't';
-    @INC = '../lib';
-    require './test.pl';
-    plan( tests => 1 );
-}
+chdir 't' if -d 't';
+ at INC = '../lib';
 
-use strict;
-
-fresh_perl_is(<<'EOF', 'No such hook: _HUNGRY at - line 1.', {}, 'Perl_magic_setsig');
-$SIG{_HUNGRY} = \&mmm_pie;
-warn "Mmm, pie";
-EOF
+$FATAL = 1; # we expect all the tests to croak
+require "../t/lib/common.pl";


Property changes on: vendor/perl/dist/t/lib/croak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/cygwin.t
===================================================================
--- vendor/perl/dist/t/lib/cygwin.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/cygwin.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/cygwin.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/dbmt_common.pl
===================================================================
--- vendor/perl/dist/t/lib/dbmt_common.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dbmt_common.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -43,7 +43,7 @@
 }
 SKIP: {
     skip "different file permission semantics on $^O", 1
-	if $^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin';
+	if $^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin' || $^O eq 'vos';
     my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
 	$blksize,$blocks) = stat($Dfile);
     is($mode & 0777, 0640);


Property changes on: vendor/perl/dist/t/lib/dbmt_common.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/deprecate/Deprecated.pm
===================================================================
--- vendor/perl/dist/t/lib/deprecate/Deprecated.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/deprecate/Deprecated.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/deprecate/Deprecated.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/deprecate/Optionally.pm
===================================================================
--- vendor/perl/dist/t/lib/deprecate/Optionally.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/deprecate/Optionally.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/deprecate/Optionally.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/deprecate.t
===================================================================
--- vendor/perl/dist/t/lib/deprecate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/deprecate.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/deprecate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/V.pm
===================================================================
--- vendor/perl/dist/t/lib/dprof/V.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/V.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/V.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test1_t
===================================================================
--- vendor/perl/dist/t/lib/dprof/test1_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test1_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test1_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test1_v
===================================================================
--- vendor/perl/dist/t/lib/dprof/test1_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test1_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test1_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test2_t
===================================================================
--- vendor/perl/dist/t/lib/dprof/test2_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test2_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test2_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test2_v
===================================================================
--- vendor/perl/dist/t/lib/dprof/test2_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test2_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test2_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test3_t
===================================================================
--- vendor/perl/dist/t/lib/dprof/test3_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test3_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test3_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test3_v
===================================================================
--- vendor/perl/dist/t/lib/dprof/test3_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test3_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test3_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test4_t
===================================================================
--- vendor/perl/dist/t/lib/dprof/test4_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test4_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test4_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test4_v
===================================================================
--- vendor/perl/dist/t/lib/dprof/test4_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test4_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test4_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test5_t
===================================================================
--- vendor/perl/dist/t/lib/dprof/test5_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test5_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test5_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test5_v
===================================================================
--- vendor/perl/dist/t/lib/dprof/test5_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test5_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test5_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test6_t
===================================================================
--- vendor/perl/dist/t/lib/dprof/test6_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test6_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test6_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test6_v
===================================================================
--- vendor/perl/dist/t/lib/dprof/test6_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test6_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test6_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test7_t
===================================================================
--- vendor/perl/dist/t/lib/dprof/test7_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test7_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test7_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test7_v
===================================================================
--- vendor/perl/dist/t/lib/dprof/test7_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test7_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test7_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test8_t
===================================================================
--- vendor/perl/dist/t/lib/dprof/test8_t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test8_t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test8_t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/dprof/test8_v
===================================================================
--- vendor/perl/dist/t/lib/dprof/test8_v	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/dprof/test8_v	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/dprof/test8_v
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/feature/bundle
===================================================================
--- vendor/perl/dist/t/lib/feature/bundle	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/feature/bundle	2013-12-01 21:45:02 UTC (rev 6430)
@@ -67,3 +67,53 @@
 EXPECT
 OPTIONS regex
 ^Feature bundle "5.8.8" is not supported by Perl \d+\.\d+\.\d+ at - line \d+
+########
+# :default
+BEGIN { *say = *state = *given = sub { print "custom sub\n" }; }
+use feature ":default";
+say "yes";
+state my $foo;
+given a => chance;
+EXPECT
+custom sub
+custom sub
+custom sub
+########
+# :default and $[
+# SKIP ? not defined DynaLoader::boot_DynaLoader
+no feature;
+use feature ":default";
+$[ = 1;
+print qw[a b c][2], "\n";
+use feature ":5.16"; # should not disable anything; no feature ':all' does that
+print qw[a b c][2], "\n";
+no feature ':all';
+print qw[a b c][2], "\n";
+use feature ":5.16";
+print qw[a b c][2], "\n";
+EXPECT
+Use of assignment to $[ is deprecated at - line 4.
+b
+b
+c
+c
+########
+# "no feature"
+use feature ':5.16'; # turns array_base off
+no feature; # resets to :default, thus turns array_base on
+$[ = 1;
+print qw[a b c][2], "\n";
+EXPECT
+Use of assignment to $[ is deprecated at - line 4.
+b
+########
+# "no feature 'all"
+$[ = 1;
+print qw[a b c][2], "\n";
+no feature ':all'; # turns array_base (and everything else) off
+$[ = 1;
+print qw[a b c][2], "\n";
+EXPECT
+Use of assignment to $[ is deprecated at - line 2.
+Assigning non-zero to $[ is no longer possible at - line 5.
+b


Property changes on: vendor/perl/dist/t/lib/feature/bundle
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/feature/implicit
===================================================================
--- vendor/perl/dist/t/lib/feature/implicit	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/feature/implicit	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,16 +21,10 @@
 ########
 # VERSION requirement, decimal notation
 use 5.009005;
-say defined $INC{"feature.pm"} ? "Helloworld" : "Good bye";
+say "Helloworld";
 EXPECT
 Helloworld
 ########
-# VERSION requirement, doesn't load anything for < 5.9.5
-use 5.8.8;
-print "<".$INC{"feature.pm"}.">\n";
-EXPECT
-<>
-########
 # VERSION requirement, doesn't load anything with require
 require 5.9.5;
 print "<".$INC{"feature.pm"}.">\n";
@@ -64,3 +58,67 @@
 # no implicit features with 'no'
 eval "no " . ($]+1); print $@;
 EXPECT
+########
+# lower version after higher version
+sub evalbytes { print "evalbytes sub\n" }
+sub say { print "say sub\n" }
+use 5.015;
+evalbytes "say 'yes'";
+use 5.014;
+evalbytes;
+use 5;
+say "no"
+EXPECT
+yes
+evalbytes sub
+say sub
+########
+# No $[ under 5.15
+# SKIP ? not defined DynaLoader::boot_DynaLoader
+use v5.14;
+no warnings 'deprecated';
+$[ = 1;
+print qw[a b c][2], "\n";
+use v5.15;
+print qw[a b c][2], "\n";
+EXPECT
+b
+c
+########
+# $[ under < 5.10
+# SKIP ? not defined DynaLoader::boot_DynaLoader
+use feature 'say'; # make sure it is loaded and modifies %^H; we are test-
+use v5.8.8;        # ing to make sure it does not disable $[
+no warnings 'deprecated';
+$[ = 1;
+print qw[a b c][2], "\n";
+EXPECT
+b
+########
+# $[ under < 5.10 after use v5.15
+# SKIP ? not defined DynaLoader::boot_DynaLoader
+use v5.15;
+use v5.8.8;
+no warnings 'deprecated';
+$[ = 1;
+print qw[a b c][2], "\n";
+EXPECT
+b
+########
+# Implicit unicode_string feature
+use v5.14;
+print 'ss' =~ /\xdf/i ? "ok\n" : "nok\n";
+use v5.8.8;
+print 'ss' =~ /\xdf/i ? "ok\n" : "nok\n";
+EXPECT
+ok
+nok
+########
+# Implicit unicode_eval feature
+use v5.15;
+print eval "use utf8; q|\xc5\xbf|" eq "\xc5\xbf" ? "ok\n" : "nok\n";
+use v5.8.8;
+print eval "use utf8; q|\xc5\xbf|" eq "\x{17f}" ? "ok\n" : "nok\n";
+EXPECT
+ok
+ok


Property changes on: vendor/perl/dist/t/lib/feature/implicit
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/feature/nonesuch
===================================================================
--- vendor/perl/dist/t/lib/feature/nonesuch	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/feature/nonesuch	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/feature/nonesuch
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/feature/say
===================================================================
--- vendor/perl/dist/t/lib/feature/say	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/feature/say	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/feature/say
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/feature/switch
===================================================================
--- vendor/perl/dist/t/lib/feature/switch	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/feature/switch	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 
 __END__
 # No switch; given should be a bareword.
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 print STDOUT given;
 EXPECT
 Unquoted string "given" may clash with future reserved word at - line 3.
@@ -10,7 +10,7 @@
 given
 ########
 # No switch; when should be a bareword.
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 print STDOUT when;
 EXPECT
 Unquoted string "when" may clash with future reserved word at - line 3.
@@ -17,7 +17,7 @@
 when
 ########
 # No switch; default should be a bareword.
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 print STDOUT default;
 EXPECT
 Unquoted string "default" may clash with future reserved word at - line 3.
@@ -24,7 +24,7 @@
 default
 ########
 # No switch; break should be a bareword.
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 print STDOUT break;
 EXPECT
 Unquoted string "break" may clash with future reserved word at - line 3.
@@ -33,23 +33,22 @@
 # No switch; but continue is still a keyword
 print STDOUT continue;
 EXPECT
-syntax error at - line 2, near "STDOUT continue"
-Execution of - aborted due to compilation errors.
+Can't "continue" outside a when block at - line 2.
 ########
 # Use switch; so given is a keyword
-use feature 'switch';
+use feature 'switch'; no warnings 'experimental::smartmatch';
 given("okay\n") { print }
 EXPECT
 okay
 ########
 # Use switch; so when is a keyword
-use feature 'switch';
+use feature 'switch'; no warnings 'experimental::smartmatch';
 given(1) { when(1) { print "okay" } }
 EXPECT
 okay
 ########
 # Use switch; so default is a keyword
-use feature 'switch';
+use feature 'switch'; no warnings 'experimental::smartmatch';
 given(1) { default { print "okay" } }
 EXPECT
 okay
@@ -60,14 +59,8 @@
 EXPECT
 Can't "break" outside a given block at - line 3.
 ########
-# Use switch; so continue is a keyword
-use feature 'switch';
-continue;
-EXPECT
-Can't "continue" outside a when block at - line 3.
-########
 # switch out of scope; given should be a bareword.
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 { use feature 'switch';
   given (1) {print "Okay here\n";}
 }
@@ -78,7 +71,7 @@
 given
 ########
 # switch out of scope; when should be a bareword.
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 { use feature 'switch';
   given (1) { when(1) {print "Okay here\n";} }
 }
@@ -89,7 +82,7 @@
 when
 ########
 # switch out of scope; default should be a bareword.
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 { use feature 'switch';
   given (1) { default {print "Okay here\n";} }
 }
@@ -100,7 +93,7 @@
 default
 ########
 # switch out of scope; break should be a bareword.
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 { use feature 'switch';
   given (1) { break }  
 }
@@ -109,17 +102,8 @@
 Unquoted string "break" may clash with future reserved word at - line 6.
 break
 ########
-# switch out of scope; continue should not work
-{ use feature 'switch';
-  given (1) { default {continue} }  
-}
-print STDOUT continue;
-EXPECT
-syntax error at - line 5, near "STDOUT continue"
-Execution of - aborted due to compilation errors.
-########
 # C<no feature 'switch'> should work
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 use feature 'switch';
 given (1) { when(1) {print "Okay here\n";} }
 no feature 'switch';
@@ -130,7 +114,7 @@
 when
 ########
 # C<no feature> should work too
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 use feature 'switch';
 given (1) { when(1) {print "Okay here\n";} }
 no feature;
@@ -141,7 +125,7 @@
 when
 ########
 # Without the feature, no 'Unambiguous use of' warning:
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 @break = ($break = "break");
 print ${break}, ${break[0]};
 EXPECT
@@ -148,7 +132,7 @@
 breakbreak
 ########
 # With the feature, we get an 'Unambiguous use of' warning:
-use warnings;
+use warnings; no warnings 'experimental::smartmatch';
 use feature 'switch';
 @break = ($break = "break");
 print ${break}, ${break[0]};


Property changes on: vendor/perl/dist/t/lib/feature/switch
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/filter-util.pl
===================================================================
--- vendor/perl/dist/t/lib/filter-util.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/filter-util.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/filter-util.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/h2ph.h
===================================================================
--- vendor/perl/dist/t/lib/h2ph.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/h2ph.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -36,8 +36,8 @@
 #endif /* __SOME_UNIMPORTANT_PROPERTY */
 
 /* 
- * Test #if, #elif, #else, #endif, #warn and #error, and `!'
- * Also test whitespace between the `#' and the command
+ * Test #if, #elif, #else, #endif, #warn and #error, and '!'
+ * Also test whitespace between the '#' and the command
  */
 #if !(defined __SOMETHING_MORE_IMPORTANT)
 #    warn Be careful...
@@ -68,8 +68,8 @@
 /* 
  * Test #include, #import and #include_next
  * #include_next is difficult to test, it really depends on the actual
- *  circumstances - for example, `#include_next <limits.h>' on a Linux system
- *  with `use lib qw(/opt/perl5/lib/site_perl/i586-linux/linux);' or whatever
+ *  circumstances - for example, '#include_next <limits.h>' on a Linux system
+ *  with 'use lib qw(/opt/perl5/lib/site_perl/i586-linux/linux);' or whatever
  *  your equivalent is...
  */
 #if 0


Property changes on: vendor/perl/dist/t/lib/h2ph.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/lib/h2ph.pht
===================================================================
--- vendor/perl/dist/t/lib/h2ph.pht	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/h2ph.pht	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/h2ph.pht
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/lib/locale/latin1
===================================================================
--- vendor/perl/dist/t/lib/locale/latin1	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/locale/latin1	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/locale/latin1
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/locale/utf8
===================================================================
--- vendor/perl/dist/t/lib/locale/utf8	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/locale/utf8	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/locale/utf8
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/manifest.t
===================================================================
--- vendor/perl/dist/t/lib/manifest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/manifest.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/manifest.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/mypragma.pm
===================================================================
--- vendor/perl/dist/t/lib/mypragma.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/mypragma.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/mypragma.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/mypragma.t
===================================================================
--- vendor/perl/dist/t/lib/mypragma.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/mypragma.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/mypragma.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/lib/no_load.t
===================================================================
--- vendor/perl/dist/t/lib/no_load.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/no_load.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/no_load.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/overload_fallback.t
===================================================================
--- vendor/perl/dist/t/lib/overload_fallback.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/overload_fallback.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/overload_fallback.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/proxy_constant_subs.t
===================================================================
--- vendor/perl/dist/t/lib/proxy_constant_subs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/proxy_constant_subs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,10 +23,10 @@
 	$ps = svref_2object(\*{"Fcntl::$symbol"});
 	$ms = svref_2object(\*{"::$symbol"});
     }
-    isa_ok($ps, 'B::GV');
+    object_ok($ps, 'B::GV');
     is($ps->GvFLAGS() & GVf_IMPORTED_CV, 0,
        "GVf_IMPORTED_CV not set on original");
-    isa_ok($ms, 'B::GV');
+    object_ok($ms, 'B::GV');
     is($ms->GvFLAGS() & GVf_IMPORTED_CV, GVf_IMPORTED_CV,
        "GVf_IMPORTED_CV set on imported GV");
 }


Property changes on: vendor/perl/dist/t/lib/proxy_constant_subs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/bailout
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/bailout	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/bailout	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/bailout
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/bignum
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/bignum	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/bignum	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/bignum
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/bignum_many
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/bignum_many	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/bignum_many	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/bignum_many
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/combined
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/combined	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/combined	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/combined
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/descriptive
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/descriptive	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/descriptive	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/descriptive
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/die
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/die	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/die	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/die
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/die_head_end
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/die_head_end	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/die_head_end	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/die_head_end
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/die_last_minute
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/die_last_minute	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/die_last_minute	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/die_last_minute
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/duplicates
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/duplicates	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/duplicates	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/duplicates
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/head_end
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/head_end	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/head_end	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/head_end
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/head_fail
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/head_fail	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/head_fail	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/head_fail
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/inc_taint
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/inc_taint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/inc_taint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/inc_taint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/lone_not_bug
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/lone_not_bug	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/lone_not_bug	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/lone_not_bug
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/no_nums
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/no_nums	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/no_nums	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/no_nums
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/no_output
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/no_output	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/no_output	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/no_output
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/out_of_order
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/out_of_order	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/out_of_order	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/out_of_order
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/segfault
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/segfault	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/segfault	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/segfault
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/shbang_misparse
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/shbang_misparse	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/shbang_misparse	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/shbang_misparse
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/simple
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/simple	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/simple	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/simple
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/simple_fail
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/simple_fail	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/simple_fail	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/simple_fail
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/skip
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/skip	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/skip	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/skip
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/skip_nomsg
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/skip_nomsg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/skip_nomsg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/skip_nomsg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/skipall
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/skipall	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/skipall	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/skipall
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/skipall_nomsg
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/skipall_nomsg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/skipall_nomsg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/skipall_nomsg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/switches
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/switches	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/switches	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/switches
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/taint
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/taint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/taint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/taint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/taint_warn
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/taint_warn	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/taint_warn	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/taint_warn
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/todo
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/todo	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/todo	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/todo
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/todo_inline
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/todo_inline	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/todo_inline	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/todo_inline
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/too_many
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/too_many	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/too_many	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/too_many
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/sample-tests/with_comments
===================================================================
--- vendor/perl/dist/t/lib/sample-tests/with_comments	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/sample-tests/with_comments	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/sample-tests/with_comments
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/strict/refs
===================================================================
--- vendor/perl/dist/t/lib/strict/refs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/strict/refs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,6 +27,29 @@
 
 # strict refs - error
 use strict ;
+"A::Really::Big::Package::Name::To::Use" =~ /(.*)/; 
+${$1};
+EXPECT
+Can't use string ("A::Really::Big::Package::Name::T"...) as a SCALAR ref while "strict refs" in use at - line 5.
+########
+
+# strict refs - error
+use strict ;
+*{"A::Really::Big::Package::Name::To::Use"; }
+EXPECT
+Can't use string ("A::Really::Big::Package::Name::T"...) as a symbol ref while "strict refs" in use at - line 4.
+########
+
+# strict refs - error
+use strict ;
+"A::Really::Big::Package::Name::To::Use" =~ /(.*)/;
+*{$1}
+EXPECT
+Can't use string ("A::Really::Big::Package::Name::T"...) as a symbol ref while "strict refs" in use at - line 5.
+########
+
+# strict refs - error
+use strict ;
 my $fred ;
 my $a = ${"fred"} ;
 EXPECT
@@ -308,7 +331,7 @@
 use strict 'refs';
 /(?{${"foo"}++})/;
 EXPECT
-Can't use string ("foo") as a SCALAR ref while "strict refs" in use at (re_eval 1) line 1.
+Can't use string ("foo") as a SCALAR ref while "strict refs" in use at - line 3.
 ########
 # [perl #37886] strict 'refs' doesn't apply inside defined
 use strict 'refs';
@@ -322,6 +345,8 @@
 my $x = "foo";
 defined @$x;
 EXPECT
+defined(@array) is deprecated at - line 4.
+	(Maybe you should just omit the defined()?)
 Can't use string ("foo") as an ARRAY ref while "strict refs" in use at - line 4.
 ########
 # [perl #37886] strict 'refs' doesn't apply inside defined
@@ -338,3 +363,11 @@
 my $o = 1 ; $o->{1} ;
 EXPECT
 Can't use string ("1") as a HASH ref while "strict refs" in use at - line 3.
+########
+# pp_hot.c [pp_entersub]
+use strict 'refs';
+use utf8;
+use open qw( :utf8 :std );
+&{"F"};
+EXPECT
+Can't use string ("F") as a subroutine ref while "strict refs" in use at - line 5.


Property changes on: vendor/perl/dist/t/lib/strict/refs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/strict/subs
===================================================================
--- vendor/perl/dist/t/lib/strict/subs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/strict/subs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -45,8 +45,8 @@
 use strict 'subs' ;
 my @a = (A..Z);
 EXPECT
+Bareword "A" not allowed while "strict subs" in use at - line 4.
 Bareword "Z" not allowed while "strict subs" in use at - line 4.
-Bareword "A" not allowed while "strict subs" in use at - line 4.
 Execution of - aborted due to compilation errors.
 ########
 
@@ -54,8 +54,8 @@
 use strict 'subs' ;
 my $a = (B..Y);
 EXPECT
+Bareword "B" not allowed while "strict subs" in use at - line 4.
 Bareword "Y" not allowed while "strict subs" in use at - line 4.
-Bareword "B" not allowed while "strict subs" in use at - line 4.
 Execution of - aborted due to compilation errors.
 ########
 
@@ -378,9 +378,18 @@
 use strict 'subs';
 qr/(?{my $x=foo})/;
 EXPECT
-Bareword "foo" not allowed while "strict subs" in use at (re_eval 1) line 1.
-Compilation failed in regexp at - line 3.
+Bareword "foo" not allowed while "strict subs" in use at - line 3.
+Execution of - aborted due to compilation errors.
 ########
+# Regexp compilation errors weren't UTF-8 clean
+use strict 'subs';
+use utf8;
+use open qw( :utf8 :std );
+qr/(?{my $x=fòò})/;
+EXPECT
+Bareword "fòò" not allowed while "strict subs" in use at - line 5.
+Execution of - aborted due to compilation errors.
+########
 #  [perl #27628] strict 'subs' didn't warn on bareword array index
 use strict 'subs';
 my $x=$a[FOO];
@@ -432,3 +441,20 @@
 foo:
 ret
 bar
+########
+# infinite loop breaks some strict checking
+use strict 'subs';
+sub foo {
+    1 while 1;
+    kill FOO, 1;
+}
+EXPECT
+Bareword "FOO" not allowed while "strict subs" in use at - line 5.
+Execution of - aborted due to compilation errors.
+########
+# make sure checks are done within (?{})
+use strict 'subs';
+/(?{FOO})/
+EXPECT
+Bareword "FOO" not allowed while "strict subs" in use at - line 3.
+Execution of - aborted due to compilation errors.


Property changes on: vendor/perl/dist/t/lib/strict/subs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/strict/vars
===================================================================
--- vendor/perl/dist/t/lib/strict/vars	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/strict/vars	2013-12-01 21:45:02 UTC (rev 6430)
@@ -83,6 +83,21 @@
 ########
 
 # Check compile time scope of strict vars pragma
+use strict 'vars' ;
+use utf8;
+use open qw( :utf8 :std );
+{
+    no strict ;
+    $jòè = 1 ;
+}
+$jòè = 1 ;
+EXPECT
+Variable "$jòè" is not imported at - line 10.
+Global symbol "$jòè" requires explicit package name at - line 10.
+Execution of - aborted due to compilation errors.
+########
+
+# Check compile time scope of strict vars pragma
 no strict;
 {
     use strict 'vars' ;
@@ -127,6 +142,23 @@
 Compilation failed in require at - line 2.
 ########
 
+--FILE-- abc
+use strict 'vars' ;
+use utf8;
+use open qw( :utf8 :std );
+$jòè = 1 ;
+1;
+--FILE-- 
+use utf8;
+use open qw( :utf8 :std );
+$jòè = 1 ;
+require "./abc";
+EXPECT
+Variable "$jòè" is not imported at ./abc line 4.
+Global symbol "$jòè" requires explicit package name at ./abc line 4.
+Compilation failed in require at - line 4.
+########
+
 --FILE-- abc.pm
 use strict 'vars' ;
 $joe = 1 ;
@@ -142,6 +174,24 @@
 ########
 
 --FILE-- abc.pm
+use strict 'vars' ;
+use utf8;
+use open qw( :utf8 :std );
+$jòè = 1 ;
+1;
+--FILE-- 
+use utf8;
+use open qw( :utf8 :std );
+$jòè = 1 ;
+use abc;
+EXPECT
+Variable "$jòè" is not imported at abc.pm line 4.
+Global symbol "$jòè" requires explicit package name at abc.pm line 4.
+Compilation failed in require at - line 4.
+BEGIN failed--compilation aborted at - line 4.
+########
+
+--FILE-- abc.pm
 package Burp;
 use strict;
 $a = 1;$f = 1;$k = 1; # just to get beyond the limit...
@@ -225,6 +275,22 @@
 ########
 
 # Check scope of pragma with eval
+use strict 'vars' ;
+use utf8;
+use open qw( :utf8 :std );
+eval {
+    no strict ;
+    $jòè = 1 ;
+};
+print STDERR $@;
+$jòè = 1 ;
+EXPECT
+Variable "$jòè" is not imported at - line 11.
+Global symbol "$jòè" requires explicit package name at - line 11.
+Execution of - aborted due to compilation errors.
+########
+
+# Check scope of pragma with eval
 no strict ;
 eval '
     $joe = 1 ;
@@ -337,6 +403,21 @@
 Execution of - aborted due to compilation errors.
 ########
 
+# strict vars with elapsed our - error
+use strict 'vars' ;
+use utf8;
+use open qw( :utf8 :std );
+sub fòò {
+    our $frèd;
+    $frèd;
+}
+$frèd ;
+EXPECT
+Variable "$frèd" is not imported at - line 10.
+Global symbol "$frèd" requires explicit package name at - line 10.
+Execution of - aborted due to compilation errors.
+########
+
 # nested our with local - no error
 $fred = 1;
 use strict 'vars';
@@ -415,7 +496,7 @@
 ########
 
 # Make sure the strict vars failure still occurs
-# now that the `@i should be written as \@i' failure does not occur
+# now that the '@i should be written as \@i' failure does not occur
 # 20000522 mjd at plover.com (MJD)
 use strict 'vars';
 no warnings;
@@ -437,9 +518,18 @@
 use strict 'vars';
 qr/(?{$foo++})/;
 EXPECT
-Global symbol "$foo" requires explicit package name at (re_eval 1) line 1.
-Compilation failed in regexp at - line 3.
+Global symbol "$foo" requires explicit package name at - line 3.
+Execution of - aborted due to compilation errors.
 ########
+# Regex compilation errors weren't UTF-8 clean.
+use strict 'vars';
+use utf8;
+use open qw( :utf8 :std );
+qr/(?{$fòò++})/;
+EXPECT
+Global symbol "$fòò" requires explicit package name at - line 5.
+Execution of - aborted due to compilation errors.
+########
 # [perl #73712] 'Variable is not imported' should be suppressible
 $dweck;
 use strict 'vars';
@@ -446,3 +536,40 @@
 no warnings;
 eval q/$dweck/;
 EXPECT
+########
+# [perl #112316] strict vars getting confused by nulls
+# Assigning to a package whose name contains a null
+BEGIN { *Foo:: = *{"foo\0bar::"} }
+package foo;
+*Foo::bar = [];
+use strict;
+eval 'package Foo; @bar = 1' or die;
+EXPECT
+########
+# [perl #112316] strict vars getting confused by nulls
+# Assigning from within a package whose name contains a null
+BEGIN { *Foo:: = *{"foo\0bar::"} }
+package Foo;
+*foo::bar = [];
+use strict;
+eval 'package foo; @bar = 1' or die;
+EXPECT
+########
+# [perl #112316] strict vars getting confused by nulls
+# Assigning from one null package to another, with a common prefix
+BEGIN { *Foo:: = *{"foo\0foo::"};
+        *Bar:: = *{"foo\0bar::"} }
+package Foo;
+*Bar::bar = [];
+use strict;
+eval 'package Bar; @bar = 1' or die;
+EXPECT
+########
+# UTF8 and Latin1 package names equivalent at the byte level
+use utf8;
+# ĵ in UTF-8 is the same as ĵ in Latin-1
+package ĵ;
+*ĵ::bar = [];
+use strict;
+eval 'package ĵ; @bar = 1' or die;
+EXPECT


Property changes on: vendor/perl/dist/t/lib/strict/vars
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/subs/subs
===================================================================
--- vendor/perl/dist/t/lib/subs/subs	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/subs/subs	2013-12-01 21:45:02 UTC (rev 6430)
@@ -80,3 +80,28 @@
 sub Fred { print $_[0] + $_[1], "\n" }
 EXPECT
 3
+########
+
+# Error - not predeclaring a sub
+use utf8;
+use open qw( :utf8 :std );
+Frèd 1,2 ;
+sub Frèd {}
+EXPECT
+Number found where operator expected at - line 5, near "Frèd 1"
+	(Do you need to predeclare Frèd?)
+syntax error at - line 5, near "Frèd 1"
+Execution of - aborted due to compilation errors.
+########
+
+# Error - not predeclaring a sub in time
+use utf8;
+use open qw( :utf8 :std );
+ふれど 1,2 ;
+use subs qw( ふれど ) ;
+sub ふれど {}
+EXPECT
+Number found where operator expected at - line 5, near "ふれど 1"
+	(Do you need to predeclare ふれど?)
+syntax error at - line 5, near "ふれど 1"
+BEGIN not safe after errors--compilation aborted at - line 6.


Property changes on: vendor/perl/dist/t/lib/subs/subs
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/test_use.pm
===================================================================
--- vendor/perl/dist/t/lib/test_use.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/test_use.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/test_use.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/test_use_14937.pm
===================================================================
--- vendor/perl/dist/t/lib/test_use_14937.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/test_use_14937.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/test_use_14937.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/universal.t
===================================================================
--- vendor/perl/dist/t/lib/universal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/universal.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
-    plan( tests => 5 );
+    plan( tests => 13 );
 }
 
 for my $arg ('', 'q[]', qw( 1 undef )) {
@@ -15,12 +15,10 @@
 tryit "&Internals::SvREADONLY($arg)";
 tryit "&Internals::SvREFCNT($arg)";
 tryit "&Internals::hv_clear_placeholders($arg)";
-tryit "&Internals::HvREHASH($arg)";
 ----
 Usage: Internals::SvREADONLY(SCALAR[, ON]) at (eval 1) line 1.
 Usage: Internals::SvREFCNT(SCALAR[, REFCOUNT]) at (eval 2) line 1.
 Usage: Internals::hv_clear_placeholders(hv) at (eval 3) line 1.
-Internals::HvREHASH $hashref at (eval 4) line 1.
 ====
 }
 
@@ -28,6 +26,37 @@
 
 $x = *foo;
 Internals::SvREADONLY $x, 1;
+ok Internals::SvREADONLY($x),
+         'read-only glob copies are read-only acc. to Internals::';
 eval { $x = [] };
 like $@, qr/Modification of a read-only value attempted at/,
     'read-only glob copies';
+Internals::SvREADONLY($x,0);
+$x = 42;
+is $x, 42, 'Internals::SvREADONLY can turn off readonliness on globs';
+
+# Same thing with regexps
+$x = ${qr//};
+Internals::SvREADONLY $x, 1;
+ok Internals::SvREADONLY($x),
+         'read-only regexps are read-only acc. to Internals::';
+eval { $x = [] };
+like $@, qr/Modification of a read-only value attempted at/,
+    'read-only regexps';
+Internals::SvREADONLY($x,0);
+$x = 42;
+is $x, 42, 'Internals::SvREADONLY can turn off readonliness on regexps';
+
+$h{a} = __PACKAGE__;
+Internals::SvREADONLY $h{a}, 1;
+eval { $h{a} = 3 };
+like $@, qr/Modification of a read-only value attempted at/,
+    'making a COW scalar into a read-only one';
+
+$h{b} = __PACKAGE__;
+ok !Internals::SvREADONLY($h{b}),
+       'cows are not read-only acc. to Internals::';
+Internals::SvREADONLY($h{b},0);
+$h{b} =~ y/ia/ao/;
+is __PACKAGE__, 'main',
+  'turning off a cow’s readonliness did not affect sharers of the same PV';


Property changes on: vendor/perl/dist/t/lib/universal.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/1global
===================================================================
--- vendor/perl/dist/t/lib/warnings/1global	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/1global	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,7 +30,36 @@
 Reversed += operator at - line 4.
 Name "main::a" used only once: possible typo at - line 4.
 ########
+-w
+# warnable code, warnings enabled via command line switch
+use utf8;
+use open qw( :utf8 :std );
+$Ằ =+ 3 ;
+EXPECT
+Reversed += operator at - line 5.
+Name "main::Ằ" used only once: possible typo at - line 5.
+########
+#! perl -w
+# warnable code, warnings enabled via #! line
+use utf8;
+use open qw( :utf8 :std );
+$Ằ =+ 3 ;
+EXPECT
+Reversed += operator at - line 5.
+Name "main::Ằ" used only once: possible typo at - line 5.
+########
 
+# warnable code, warnings enabled via compile time $^W
+BEGIN { $^W = 1 }
+use utf8;
+use open qw( :utf8 :std );
+$Ằ =+ 3 ;
+EXPECT
+Reversed += operator at - line 6.
+Name "main::Ằ" used only once: possible typo at - line 6.
+
+########
+
 # compile-time warnable code, warnings enabled via runtime $^W
 # so no warning printed.
 $^W = 1 ;


Property changes on: vendor/perl/dist/t/lib/warnings/1global
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/2use
===================================================================
--- vendor/perl/dist/t/lib/warnings/2use	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/2use	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 #  check illegal category is caught
 use warnings 'this-should-never-be-a-warning-category' ;
 EXPECT
-Unknown warnings category 'this-should-never-be-a-warning-category' at - line 3
+Unknown warnings category 'this-should-never-be-a-warning-category' at - line 3.
 BEGIN failed--compilation aborted at - line 3.
 ########
 
@@ -358,3 +358,22 @@
 EXPECT
 Reversed += operator at - line 6.
 Use of uninitialized value $c in scalar chop at - line 9.
+########
+
+# Check that deprecation warnings are not implicitly disabled by use
+$*;
+use warnings "void";
+$#;
+EXPECT
+$* is no longer supported at - line 3.
+$# is no longer supported at - line 5.
+Useless use of a variable in void context at - line 5.
+########
+
+# Check that deprecation warnings are not implicitly disabled by no
+$*;
+no warnings "void";
+$#;
+EXPECT
+$* is no longer supported at - line 3.
+$# is no longer supported at - line 5.


Property changes on: vendor/perl/dist/t/lib/warnings/2use
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/3both
===================================================================
--- vendor/perl/dist/t/lib/warnings/3both	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/3both	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/3both
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/4lint
===================================================================
--- vendor/perl/dist/t/lib/warnings/4lint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/4lint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/4lint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/5nolint
===================================================================
--- vendor/perl/dist/t/lib/warnings/5nolint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/5nolint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/5nolint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/6default
===================================================================
--- vendor/perl/dist/t/lib/warnings/6default	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/6default	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/6default
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/7fatal
===================================================================
--- vendor/perl/dist/t/lib/warnings/7fatal	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/7fatal	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/7fatal
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/8signal
===================================================================
--- vendor/perl/dist/t/lib/warnings/8signal	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/8signal	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/8signal
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/9enabled
===================================================================
--- vendor/perl/dist/t/lib/warnings/9enabled	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/9enabled	2013-12-01 21:45:02 UTC (rev 6430)
@@ -344,8 +344,8 @@
   } ;
 print $@ ;
 EXPECT
-Usage: warnings::warn([category,] 'message') at - line 5
-Unknown warnings category 'fred' at - line 9
+Usage: warnings::warn([category,] 'message') at - line 5.
+Unknown warnings category 'fred' at - line 9.
 ########
 
 # check warnings::warnif
@@ -359,8 +359,8 @@
 } ;
 print $@ ;
 EXPECT
-Usage: warnings::warnif([category,] 'message') at - line 5
-Unknown warnings category 'fred' at - line 9
+Usage: warnings::warnif([category,] 'message') at - line 5.
+Unknown warnings category 'fred' at - line 9.
 ########
 
 --FILE-- abc18.pm
@@ -373,7 +373,7 @@
 use abc18;
 abc18::check() ;
 EXPECT
-hello at - line 3
+hello at - line 3.
 ########
 
 --FILE-- abc19.pm
@@ -386,7 +386,7 @@
 use abc19;
 abc19::check() ;
 EXPECT
-hello at - line 3
+hello at - line 3.
 ########
 
 --FILE-- abc20.pm
@@ -402,7 +402,7 @@
   } ;
 print "[[$@]]\n";
 EXPECT
-hello at - line 4
+hello at - line 4.
 [[]]
 ########
 
@@ -419,7 +419,7 @@
 } ;
 print "[[$@]]\n";
 EXPECT
-[[hello at - line 4
+[[hello at - line 4.
 ]]
 ########
 -W
@@ -463,7 +463,7 @@
 use abc24 ;
 abc24::check() ;
 EXPECT
-package 'abc24' not registered for warnings at abc24.pm line 4
+package 'abc24' not registered for warnings at abc24.pm line 4.
 ########
 
 --FILE-- abc25.pm
@@ -478,7 +478,7 @@
 use abc25 ;
 abc25::check() ;
 EXPECT
-package 'abc25' not registered for warnings at abc25.pm line 4
+package 'abc25' not registered for warnings at abc25.pm line 4.
 ########
 
 --FILE-- abc26.pm
@@ -493,7 +493,7 @@
 use abc26 ;
 abc26::check() ;
 EXPECT
-package 'abc26' not registered for warnings at abc26.pm line 4
+package 'abc26' not registered for warnings at abc26.pm line 4.
 ########
 
 --FILE-- abc27.pm
@@ -652,7 +652,7 @@
 use warnings "abc34" ;
 abc34::check() ;
 EXPECT
-hello at - line 3
+hello at - line 3.
 ########
 
 --FILE-- abc35.pm
@@ -664,7 +664,7 @@
 use abc35;
 abc35::check() ;
 EXPECT
-hello at - line 2
+hello at - line 2.
 ########
 
 --FILE-- abc36.pm
@@ -680,7 +680,7 @@
   } ;
 print "[[$@]]\n";
 EXPECT
-hello at - line 4
+hello at - line 4.
 [[]]
 ########
 
@@ -697,7 +697,7 @@
   } ;
 print "[[$@]]\n";
 EXPECT
-[[hello at - line 4
+[[hello at - line 4.
 ]]
 ########
 -W
@@ -1005,9 +1005,9 @@
 ok2
 ok3
 ok4
-my message 1 at - line 3
-my message 2 at - line 3
-my message 3 at - line 3
+my message 1 at - line 3.
+my message 2 at - line 3.
+my message 3 at - line 3.
 ########
 
 --FILE-- def.pm
@@ -1044,9 +1044,9 @@
 ok2
 ok3
 ok4
-my message 1 at abc49.pm line 5
-my message 2 at abc49.pm line 5
-my message 3 at abc49.pm line 5
+my message 1 at abc49.pm line 5.
+my message 2 at abc49.pm line 5.
+my message 3 at abc49.pm line 5.
 ########
 
 --FILE-- def.pm
@@ -1089,8 +1089,8 @@
 ok3
 ok4
 ok5
-my message 1 at - line 4
-my message 3 at - line 4
+my message 1 at - line 4.
+my message 3 at - line 4.
 ########
 
 --FILE-- def.pm
@@ -1166,10 +1166,10 @@
 ok4
 ok5
 ok6
-my message 1 at - line 5
-my message 2 at - line 5
-my message 4 at - line 5
-my message 8 at - line 5
+my message 1 at - line 5.
+my message 2 at - line 5.
+my message 4 at - line 5.
+my message 8 at - line 5.
 **
 ok1
 ok2
@@ -1176,9 +1176,9 @@
 ok3
 ok4
 ok5
-my message 1 at - line 8
-my message 2 at - line 8
-my message 4 at - line 8
+my message 1 at - line 8.
+my message 2 at - line 8.
+my message 4 at - line 8.
 ########
 
 --FILE-- abc52.pm
@@ -1195,8 +1195,8 @@
 use warnings("abc52", "abc52::bar");
 abc52::check() ;
 EXPECT
-hello at - line 3
-hello bar at - line 3
+hello at - line 3.
+hello bar at - line 3.
 ########
 
 --FILE--


Property changes on: vendor/perl/dist/t/lib/warnings/9enabled
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/9uninit
===================================================================
--- vendor/perl/dist/t/lib/warnings/9uninit	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/9uninit	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,6 +33,19 @@
 Use of uninitialized value $m1 in addition (+) at - line 6.
 ########
 use warnings 'uninitialized';
+use utf8;
+use open qw( :utf8 :std );
+
+$v = $à1 + 10;
+$v = 22 + $a2;
+$v = $à1 + $a2;
+EXPECT
+Use of uninitialized value $à1 in addition (+) at - line 5.
+Use of uninitialized value $a2 in addition (+) at - line 6.
+Use of uninitialized value $a2 in addition (+) at - line 7.
+Use of uninitialized value $à1 in addition (+) at - line 7.
+########
+use warnings 'uninitialized';
 my ($m1, $v);
 our ($g1, $g2);
 
@@ -296,9 +309,11 @@
 
 close $m1;	# exercises rv2gv
 close $g1;	# exercises rv2gv
+close undef;	# exercises rv2gv
 EXPECT
 Use of uninitialized value $m1 in ref-to-glob cast at - line 5.
 Use of uninitialized value $g1 in ref-to-glob cast at - line 6.
+Use of uninitialized value in ref-to-glob cast at - line 7.
 ########
 use warnings 'uninitialized';
 my ($m1, $m2, $v);
@@ -515,12 +530,12 @@
 EXPECT
 Use of uninitialized value $m1 in range (or flop) at - line 7.
 Use of uninitialized value $m2 in range (or flop) at - line 8.
-Use of uninitialized value in range (or flop) at - line 9.
-Use of uninitialized value in range (or flop) at - line 9.
+Use of uninitialized value $m1 in range (or flop) at - line 9.
+Use of uninitialized value $m2 in range (or flop) at - line 9.
 Use of uninitialized value $m1 in range (or flop) at - line 12.
 Use of uninitialized value $m2 in range (or flop) at - line 13.
-Use of uninitialized value in range (or flop) at - line 14.
-Use of uninitialized value in range (or flop) at - line 14.
+Use of uninitialized value $m1 in range (or flop) at - line 14.
+Use of uninitialized value $m2 in range (or flop) at - line 14.
 ########
 use warnings 'uninitialized';
 my ($m1, $v);
@@ -617,6 +632,19 @@
 @sort = sort {$a <=> $b} $m1, $g1;
 sub sortf {$a-1 <=> $b-1};
 @sort = sort  &sortf, $m1, $g1;
+ at sort = sort { undef } 1, 2;
+sub frobnicate($$) { undef }
+ at sort = sort frobnicate 1, 2;
+ at sort = sort pyfg 1, 2;
+ at sort = sort pyfgc 1, 2;
+no warnings;
+sub pyfg { undef }
+sub pyfgc($$) { undef }
+use warnings;
+sub dog {}
+sub dogwood($$) {}
+ at sort = sort dog     1,2;
+ at sort = sort dogwood 1,2;
 EXPECT
 Use of uninitialized value $m1 in sort at - line 6.
 Use of uninitialized value $g1 in sort at - line 6.
@@ -634,8 +662,30 @@
 Use of uninitialized value $m1 in sort at - line 9.
 Use of uninitialized value $g1 in sort at - line 9.
 Use of uninitialized value $g1 in sort at - line 9.
+Use of uninitialized value in sort at - line 10.
+Use of uninitialized value in sort at - line 12.
+Use of uninitialized value in sort at - line 13.
+Use of uninitialized value in sort at - line 14.
+Use of uninitialized value in sort at - line 21.
+Use of uninitialized value in sort at - line 22.
 ########
+my $nan = sin 9**9**9;
+if ($nan == $nan) {
+    print <<EOM ;
+SKIPPED
+# No nan support
+EOM
+    exit ;
+}
 use warnings 'uninitialized';
+# The optimised {$a<=>$b} case should behave the same way as unoptimised.
+ at sort = sort { ($a)[0] <=> $b } 1, $nan;
+ at sort = sort {  $a     <=> $b } 1, $nan;
+EXPECT
+Use of uninitialized value in sort at - line 11.
+Use of uninitialized value in sort at - line 12.
+########
+use warnings 'uninitialized';
 my ($m1, $m2, $v);
 our ($g1);
 
@@ -735,6 +785,7 @@
 s//$g1/;	undef $_;
 s/$m1/$g1/;	undef $_;
 tr/x/y/;	undef $_;
+tr/x/y/r;	undef $_;
 
 my $_; 
 /y/;
@@ -745,6 +796,7 @@
 s//$g1/;	undef $_;
 s/$m1/$g1/;	undef $_;
 tr/x/y/;	undef $_;
+tr/x/y/r;	undef $_;
 
 $g2 =~ /y/;
 $g2 =~ /$m1/;
@@ -754,6 +806,7 @@
 $g2 =~ s//$g1/;		undef $g2;
 $g2 =~ s/$m1/$g1/;	undef $g2;
 $g2 =~ tr/x/y/;		undef $g2; # XXX can't extract var name yet
+$g2 =~ tr/x/y/r;	undef $g2; # XXX can't extract var name yet
 
 my $foo = "abc";
 $foo =~ /$m1/;
@@ -767,6 +820,7 @@
 $m1 = '$g1';
 $foo =~ s//$m1/ee;
 EXPECT
+Use of my $_ is experimental at - line 16.
 Use of uninitialized value $_ in pattern match (m//) at - line 5.
 Use of uninitialized value $m1 in regexp compilation at - line 6.
 Use of uninitialized value $_ in pattern match (m//) at - line 6.
@@ -777,58 +831,58 @@
 Use of uninitialized value $_ in substitution (s///) at - line 10.
 Use of uninitialized value $_ in substitution (s///) at - line 10.
 Use of uninitialized value $_ in substitution (s///) at - line 11.
-Use of uninitialized value $g1 in substitution (s///) at - line 11.
 Use of uninitialized value $_ in substitution (s///) at - line 11.
-Use of uninitialized value $g1 in substitution (s///) at - line 11.
+Use of uninitialized value $g1 in substitution iterator at - line 11.
 Use of uninitialized value $m1 in regexp compilation at - line 12.
 Use of uninitialized value $_ in substitution (s///) at - line 12.
 Use of uninitialized value $_ in substitution (s///) at - line 12.
 Use of uninitialized value $g1 in substitution iterator at - line 12.
 Use of uninitialized value $_ in transliteration (tr///) at - line 13.
-Use of uninitialized value $_ in pattern match (m//) at - line 16.
-Use of uninitialized value $m1 in regexp compilation at - line 17.
+Use of uninitialized value $_ in transliteration (tr///) at - line 14.
 Use of uninitialized value $_ in pattern match (m//) at - line 17.
-Use of uninitialized value $g1 in regexp compilation at - line 18.
+Use of uninitialized value $m1 in regexp compilation at - line 18.
 Use of uninitialized value $_ in pattern match (m//) at - line 18.
-Use of uninitialized value $_ in substitution (s///) at - line 19.
-Use of uninitialized value $m1 in regexp compilation at - line 20.
+Use of uninitialized value $g1 in regexp compilation at - line 19.
+Use of uninitialized value $_ in pattern match (m//) at - line 19.
 Use of uninitialized value $_ in substitution (s///) at - line 20.
-Use of uninitialized value $_ in substitution (s///) at - line 20.
+Use of uninitialized value $m1 in regexp compilation at - line 21.
 Use of uninitialized value $_ in substitution (s///) at - line 21.
-Use of uninitialized value $g1 in substitution (s///) at - line 21.
 Use of uninitialized value $_ in substitution (s///) at - line 21.
-Use of uninitialized value $g1 in substitution (s///) at - line 21.
-Use of uninitialized value $m1 in regexp compilation at - line 22.
 Use of uninitialized value $_ in substitution (s///) at - line 22.
 Use of uninitialized value $_ in substitution (s///) at - line 22.
 Use of uninitialized value $g1 in substitution iterator at - line 22.
-Use of uninitialized value $_ in transliteration (tr///) at - line 23.
-Use of uninitialized value $g2 in pattern match (m//) at - line 25.
-Use of uninitialized value $m1 in regexp compilation at - line 26.
-Use of uninitialized value $g2 in pattern match (m//) at - line 26.
-Use of uninitialized value $g1 in regexp compilation at - line 27.
+Use of uninitialized value $m1 in regexp compilation at - line 23.
+Use of uninitialized value $_ in substitution (s///) at - line 23.
+Use of uninitialized value $_ in substitution (s///) at - line 23.
+Use of uninitialized value $g1 in substitution iterator at - line 23.
+Use of uninitialized value $_ in transliteration (tr///) at - line 24.
+Use of uninitialized value $_ in transliteration (tr///) at - line 25.
 Use of uninitialized value $g2 in pattern match (m//) at - line 27.
-Use of uninitialized value $g2 in substitution (s///) at - line 28.
-Use of uninitialized value $m1 in regexp compilation at - line 29.
-Use of uninitialized value $g2 in substitution (s///) at - line 29.
-Use of uninitialized value $g2 in substitution (s///) at - line 29.
+Use of uninitialized value $m1 in regexp compilation at - line 28.
+Use of uninitialized value $g2 in pattern match (m//) at - line 28.
+Use of uninitialized value $g1 in regexp compilation at - line 29.
+Use of uninitialized value $g2 in pattern match (m//) at - line 29.
 Use of uninitialized value $g2 in substitution (s///) at - line 30.
-Use of uninitialized value $g1 in substitution (s///) at - line 30.
-Use of uninitialized value $g2 in substitution (s///) at - line 30.
-Use of uninitialized value $g1 in substitution (s///) at - line 30.
 Use of uninitialized value $m1 in regexp compilation at - line 31.
 Use of uninitialized value $g2 in substitution (s///) at - line 31.
 Use of uninitialized value $g2 in substitution (s///) at - line 31.
-Use of uninitialized value $g1 in substitution iterator at - line 31.
-Use of uninitialized value in transliteration (tr///) at - line 32.
-Use of uninitialized value $m1 in regexp compilation at - line 35.
-Use of uninitialized value $g1 in regexp compilation at - line 36.
+Use of uninitialized value $g2 in substitution (s///) at - line 32.
+Use of uninitialized value $g2 in substitution (s///) at - line 32.
+Use of uninitialized value $g1 in substitution iterator at - line 32.
+Use of uninitialized value $m1 in regexp compilation at - line 33.
+Use of uninitialized value $g2 in substitution (s///) at - line 33.
+Use of uninitialized value $g2 in substitution (s///) at - line 33.
+Use of uninitialized value $g1 in substitution iterator at - line 33.
+Use of uninitialized value in transliteration (tr///) at - line 34.
+Use of uninitialized value in transliteration (tr///) at - line 35.
 Use of uninitialized value $m1 in regexp compilation at - line 38.
-Use of uninitialized value $g1 in substitution (s///) at - line 39.
-Use of uninitialized value $m1 in regexp compilation at - line 40.
-Use of uninitialized value $g1 in substitution iterator at - line 40.
-Use of uninitialized value $m1 in substitution iterator at - line 41.
-Use of uninitialized value in substitution iterator at - line 44.
+Use of uninitialized value $g1 in regexp compilation at - line 39.
+Use of uninitialized value $m1 in regexp compilation at - line 41.
+Use of uninitialized value $g1 in substitution iterator at - line 42.
+Use of uninitialized value $m1 in regexp compilation at - line 43.
+Use of uninitialized value $g1 in substitution iterator at - line 43.
+Use of uninitialized value $m1 in substitution (s///) at - line 44.
+Use of uninitialized value in substitution iterator at - line 47.
 ########
 use warnings 'uninitialized';
 my ($m1);
@@ -963,23 +1017,22 @@
 Use of uninitialized value $m2 in substr at - line 6.
 Use of uninitialized value $g1 in substr at - line 6.
 Use of uninitialized value $m1 in substr at - line 6.
-Use of uninitialized value $g2 in substr at - line 7.
 Use of uninitialized value $m2 in substr at - line 7.
 Use of uninitialized value $g1 in substr at - line 7.
+Use of uninitialized value $g2 in substr at - line 7.
 Use of uninitialized value $m1 in substr at - line 7.
 Use of uninitialized value $g1 in substr at - line 8.
+Use of uninitialized value $g2 in substr at - line 8.
 Use of uninitialized value $m1 in substr at - line 8.
-Use of uninitialized value in scalar assignment at - line 8.
 Use of uninitialized value $m2 in substr at - line 9.
 Use of uninitialized value $g1 in substr at - line 9.
+Use of uninitialized value $g2 in substr at - line 9.
 Use of uninitialized value $m1 in substr at - line 9.
-Use of uninitialized value in scalar assignment at - line 9.
 Use of uninitialized value $m2 in vec at - line 11.
 Use of uninitialized value $g1 in vec at - line 11.
 Use of uninitialized value $m1 in vec at - line 11.
 Use of uninitialized value $m2 in vec at - line 12.
 Use of uninitialized value $g1 in vec at - line 12.
-Use of uninitialized value $m1 in vec at - line 12.
 Use of uninitialized value $m1 in index at - line 14.
 Use of uninitialized value $m2 in index at - line 14.
 Use of uninitialized value $g1 in index at - line 15.
@@ -1088,8 +1141,8 @@
 my  @foo4=(1,undef); chop  @foo4;
 our @foo5=(1,undef); $v = sprintf "%s%s", at foo5;
 my  @foo6=(1,undef); $v = sprintf "%s%s", at foo6;
-our %foo7=('foo'=>'bar','baz'=>undef); $v = sprintf "%s%s",%foo7;
-my  %foo8=('foo'=>'bar','baz'=>undef); $v = sprintf "%s%s",%foo8;
+our %foo7=('foo'=>'bar','baz'=>undef); $v = sprintf "%s%s%s%s",%foo7;
+my  %foo8=('foo'=>'bar','baz'=>undef); $v = sprintf "%s%s%s%s",%foo8;
 our @foo9 =(1,undef); $v = sprintf "%s%s%s%s",$m1, at foo9, $ma[2];
 my  @foo10=(1,undef); $v = sprintf "%s%s%s%s",$m2, at foo10,$ma[2];
 our %foo11=('foo'=>'bar','baz'=>undef); $v = join '', %foo11;
@@ -1133,10 +1186,10 @@
 my ($v);
 
 # check hash key is sanitised
-my %h = ("\0011\002\r\n\t\f\"\\abcdefghijklmnopqrstuvwxyz", undef);
+my %h = ("\0011\002\r\n\t\f\"\\\x{1234}abcdefghijklmnopqrstuvwxyz", undef);
 $v = join '', %h;
 EXPECT
-Use of uninitialized value $h{"\0011\2\r\n\t\f\"\\abcdefghijklm"...} in join or string at - line 6.
+Use of uninitialized value $h{"\0011\2\r\n\t\f\"\\\x{1234}abcde"...} in join or string at - line 6.
 ########
 use warnings 'uninitialized';
 my ($m1, $v);
@@ -1170,8 +1223,6 @@
 Use of uninitialized value $g1 in splice at - line 10.
 Use of uninitialized value in addition (+) at - line 10.
 Use of uninitialized value $m1 in method lookup at - line 13.
-Use of uninitialized value in subroutine entry at - line 15.
-Use of uninitialized value in subroutine entry at - line 16.
 Use of uninitialized value $m1 in warn at - line 18.
 Use of uninitialized value $g1 in warn at - line 18.
 foo at - line 18.
@@ -1906,7 +1957,7 @@
 EXPECT
 Use of uninitialized value in addition (+) at - line 4.
 ########
-use warnings 'uninitialized';
+use warnings 'uninitialized'; no warnings 'experimental::smartmatch';
 my $v;
 my $fn = sub {};
 $v = 1 + (1 ~~ $fn);
@@ -1962,3 +2013,77 @@
 __END__
 EXPECT
 Use of uninitialized value in addition (+) at - line 3.
+########
+use warnings 'uninitialized';
+use constant {u=>undef, v=>undef};
+sub foo () {u}
+sub foo () {v}
+EXPECT
+########
+# [perl #72090]
+use warnings 'uninitialized';
+$a = @$a > 0;
+EXPECT
+Use of uninitialized value $a in array dereference at - line 3.
+Use of uninitialized value in numeric gt (>) at - line 3.
+########
+# [perl #103766]
+use warnings 'uninitialized';
+"@{[ $x ]}";
+EXPECT
+Use of uninitialized value in join or string at - line 3.
+########
+# inside formats
+use warnings 'uninitialized';
+my $x;
+format =
+@
+"$x";
+.
+write;
+EXPECT
+Use of uninitialized value $x in string at - line 6.
+########
+# NAME off-by-one error in hash bucket walk in key detection logic
+use warnings 'uninitialized';
+
+for ( 0 .. 20 ) { # we assume that this means we test keys for every bucket
+    my %h= ( $_ => undef );
+    my $s= sprintf "%s", $h{$_};
+}
+EXPECT
+Use of uninitialized value $h{"0"} in sprintf at - line 5.
+Use of uninitialized value $h{"1"} in sprintf at - line 5.
+Use of uninitialized value $h{"2"} in sprintf at - line 5.
+Use of uninitialized value $h{"3"} in sprintf at - line 5.
+Use of uninitialized value $h{"4"} in sprintf at - line 5.
+Use of uninitialized value $h{"5"} in sprintf at - line 5.
+Use of uninitialized value $h{"6"} in sprintf at - line 5.
+Use of uninitialized value $h{"7"} in sprintf at - line 5.
+Use of uninitialized value $h{"8"} in sprintf at - line 5.
+Use of uninitialized value $h{"9"} in sprintf at - line 5.
+Use of uninitialized value $h{"10"} in sprintf at - line 5.
+Use of uninitialized value $h{"11"} in sprintf at - line 5.
+Use of uninitialized value $h{"12"} in sprintf at - line 5.
+Use of uninitialized value $h{"13"} in sprintf at - line 5.
+Use of uninitialized value $h{"14"} in sprintf at - line 5.
+Use of uninitialized value $h{"15"} in sprintf at - line 5.
+Use of uninitialized value $h{"16"} in sprintf at - line 5.
+Use of uninitialized value $h{"17"} in sprintf at - line 5.
+Use of uninitialized value $h{"18"} in sprintf at - line 5.
+Use of uninitialized value $h{"19"} in sprintf at - line 5.
+Use of uninitialized value $h{"20"} in sprintf at - line 5.
+########
+# NAME SvPOK && SvLEN==0 should not produce uninit warning
+use warnings 'uninitialized';
+
+$v = int(${qr||}); # sv_2iv on a regexp
+$v = 1.1 *  ${qr||}; # sv_2nv on a regexp
+$v = ${qr||} << 2; # sv_2uv on a regexp
+
+sub TIESCALAR{bless[]}
+sub FETCH {${qr||}}
+tie $t, "";
+$v = 1.1 * $t; # sv_2nv on a tied regexp
+
+EXPECT


Property changes on: vendor/perl/dist/t/lib/warnings/9uninit
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/av
===================================================================
--- vendor/perl/dist/t/lib/warnings/av	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/av	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/av
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/doio
===================================================================
--- vendor/perl/dist/t/lib/warnings/doio	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/doio	2013-12-01 21:45:02 UTC (rev 6430)
@@ -170,6 +170,16 @@
 Use of -l on filehandle STDIN at - line 3.
 Use of -l on filehandle $fh at - line 6.
 ########
+# doio.c [Perl_my_stat]
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'io';
+-l ᶠᚻ;
+no warnings 'io';
+-l ᶠᚻ;
+EXPECT
+Use of -l on filehandle ᶠᚻ at - line 5.
+########
 # doio.c [Perl_do_aexec5]
 use warnings 'io' ;
 exec "lskdjfalksdjfdjfkls","" ;
@@ -270,6 +280,8 @@
 ########
 # doio.c [Perl_do_openn]
 use Config;
+use utf8;
+use open qw( :utf8 :std );
 BEGIN {
     if (!$Config{useperlio}) {
 	print <<EOM;
@@ -280,6 +292,25 @@
     }
 }
 use warnings 'io' ;
+close STDOUT;
+open ᶠᚻ1, "../harness"; close ᶠᚻ1;
+no warnings 'io' ;
+open ᶠᚻ2, "../harness"; close ᶠᚻ2;
+EXPECT
+Filehandle STDOUT reopened as ᶠᚻ1 only for input at - line 16.
+########
+# doio.c [Perl_do_openn]
+use Config;
+BEGIN {
+    if (!$Config{useperlio}) {
+	print <<EOM;
+SKIPPED
+# warns only with perlio
+EOM
+	exit;
+    }
+}
+use warnings 'io' ;
 close STDIN;
 open my $fh1, ">doiowarn.tmp"; close $fh1;
 no warnings 'io' ;
@@ -287,3 +318,47 @@
 unlink "doiowarn.tmp";
 EXPECT
 Filehandle STDIN reopened as $fh1 only for output at - line 14.
+########
+# doio.c [Perl_do_openn]
+use Config;
+use utf8;
+use open qw( :utf8 :std );
+BEGIN {
+    if (!$Config{useperlio}) {
+	print <<EOM;
+SKIPPED
+# warns only with perlio
+EOM
+	exit;
+    }
+}
+use warnings 'io' ;
+close STDIN;
+open my $ᶠᚻ1, ">doiowarn.tmp"; close $ᶠᚻ1;
+no warnings 'io' ;
+open my $ᶠᚻ2, ">doiowarn.tmp"; close $ᶠᚻ2;
+unlink "doiowarn.tmp";
+EXPECT
+Filehandle STDIN reopened as $ᶠᚻ1 only for output at - line 16.
+########
+# doio.c [Perl_do_openn]
+use Config;
+use utf8;
+use open qw( :utf8 :std );
+BEGIN {
+    if (!$Config{useperlio}) {
+	print <<EOM;
+SKIPPED
+# warns only with perlio
+EOM
+	exit;
+    }
+}
+use warnings 'io' ;
+close STDIN;
+open ᶠᚻ1, ">doiowarn.tmp"; close ᶠᚻ1;
+no warnings 'io' ;
+open ᶠᚻ2, ">doiowarn.tmp"; close ᶠᚻ2;
+unlink "doiowarn.tmp";
+EXPECT
+Filehandle STDIN reopened as ᶠᚻ1 only for output at - line 16.


Property changes on: vendor/perl/dist/t/lib/warnings/doio
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/doop
===================================================================
--- vendor/perl/dist/t/lib/warnings/doop	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/doop	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/doop
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/gv
===================================================================
--- vendor/perl/dist/t/lib/warnings/gv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/gv	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,7 +17,7 @@
   Mandatory Warnings ALL TODO
   ------------------
 
-    Had to create %s unexpectedly		[gv_fetchpv]
+    Had to create %SVf unexpectedly		[gv_fetchpv]
     Attempt to free unreferenced glob pointers	[gp_free]
     
 __END__
@@ -43,6 +43,16 @@
 Use of inherited AUTOLOAD for non-method main::fred() is deprecated at - line 5.
 ########
 # gv.c
+use utf8;
+use open qw( :utf8 :std );
+sub Oᕞʀ::AUTOLOAD { 1 } sub Oᕞʀ::fᕃƌ {}
+ at ISA = qw(Oᕞʀ) ;
+use warnings 'deprecated' ;
+fᕃƌ() ;
+EXPECT
+Use of inherited AUTOLOAD for non-method main::fᕃƌ() is deprecated at - line 7.
+########
+# gv.c
 $a = ${"#"};
 $a = ${"*"};
 no warnings 'deprecated' ;
@@ -51,3 +61,63 @@
 EXPECT
 $# is no longer supported at - line 2.
 $* is no longer supported at - line 3.
+########
+# gv.c
+$a = ${#};
+$a = ${*};
+no warnings 'deprecated' ;
+$a = ${#};
+$a = ${*};
+EXPECT
+$# is no longer supported at - line 2.
+$* is no longer supported at - line 3.
+########
+# gv.c
+$a = $#;
+$a = $*;
+$# = $a;
+$* = $a;
+$a = \$#;
+$a = \$*;
+no warnings 'deprecated' ;
+$a = $#;
+$a = $*;
+$# = $a;
+$* = $a;
+$a = \$#;
+$a = \$*;
+EXPECT
+$# is no longer supported at - line 2.
+$* is no longer supported at - line 3.
+$# is no longer supported at - line 4.
+$* is no longer supported at - line 5.
+$# is no longer supported at - line 6.
+$* is no longer supported at - line 7.
+########
+# gv.c
+ at a = @#;
+ at a = @*;
+$a = $#;
+$a = $*;
+EXPECT
+$# is no longer supported at - line 4.
+$* is no longer supported at - line 5.
+########
+# gv.c
+$a = $#;
+$a = $*;
+ at a = @#;
+ at a = @*;
+EXPECT
+$# is no longer supported at - line 2.
+$* is no longer supported at - line 3.
+########
+# gv.c
+use warnings 'syntax' ;
+use utf8;
+use open qw( :utf8 :std );
+package Y;
+ at ISA = qw(Fred); joe()
+EXPECT
+Can't locate package Fred for @Y::ISA at - line 6.
+Undefined subroutine &Y::joe called at - line 6.


Property changes on: vendor/perl/dist/t/lib/warnings/gv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/hv
===================================================================
--- vendor/perl/dist/t/lib/warnings/hv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/hv	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/hv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/malloc
===================================================================
--- vendor/perl/dist/t/lib/warnings/malloc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/malloc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/malloc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/mg
===================================================================
--- vendor/perl/dist/t/lib/warnings/mg	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/mg	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/mg
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/op
===================================================================
--- vendor/perl/dist/t/lib/warnings/op	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/op	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,8 @@
   op.c		AOK
 
+     Use of my $_ is experimental
+	my $_ ;
+
      Found = in conditional, should be ==
 	1 if $a = 1 ;
 
@@ -72,7 +75,14 @@
      defined(%hash) is deprecated
      	(Maybe you should just omit the defined()?)
 	my %h ; defined %h ;
-    
+
+     "my %s" used in sort comparison
+
+     $[ used in comparison (did you mean $] ?)
+
+     length() used on @array (did you mean "scalar(@array)"?)
+     length() used on %hash (did you mean "scalar(keys %hash)"?)
+
      /---/ should probably be written as "---"
         join(/---/, @foo);
 
@@ -80,7 +90,7 @@
         fred() ; sub fred ($$) {}
 
 
-    Package `%s' not found (did you use the incorrect case?)
+    Package '%s' not found (did you use the incorrect case?)
 
     Use of /g modifier is meaningless in split
 
@@ -92,18 +102,33 @@
         sub fred() ;
         sub fred($) {}
 
-    Runaway prototype		[newSUB]	TODO
     oops: oopsAV		[oopsAV]	TODO
     oops: oopsHV		[oopsHV]	TODO
     
 __END__
 # op.c
+use warnings 'experimental::lexical_topic' ;
+my $_;
+CORE::state $_;
+no warnings 'experimental::lexical_topic' ;
+my $_;
+CORE::state $_;
+EXPECT
+Use of my $_ is experimental at - line 3.
+Use of state $_ is experimental at - line 4.
+########
+# op.c
 use warnings 'syntax' ;
 1 if $a = 1 ;
+1 if $a
+  = 1 ;
 no warnings 'syntax' ;
 1 if $a = 1 ;
+1 if $a
+  = 1 ;
 EXPECT
 Found = in conditional, should be == at - line 3.
+Found = in conditional, should be == at - line 4.
 ########
 # op.c
 use warnings 'syntax' ;
@@ -143,8 +168,10 @@
 Using an array as a reference is deprecated at - line 10.
 ########
 # op.c
-use warnings 'void' ; close STDIN ;
-1 x 3 ;			# OP_REPEAT
+use warnings 'void' ; no warnings 'experimental::smartmatch'; close STDIN ;
+#line 2
+1 x 3 ;			# OP_REPEAT (folded)
+(1) x 3 ;		# OP_REPEAT
 			# OP_GVSV
 wantarray ; 		# OP_WANTARRAY
 			# OP_GV
@@ -198,7 +225,10 @@
 prototype "foo";	# OP_PROTOTYPE
 $a ~~ $b;		# OP_SMARTMATCH
 $a <=> $b;		# OP_NCMP
+use 5.015;
+__SUB__			# OP_RUNCV
 EXPECT
+Useless use of a constant ("111") in void context at - line 2.
 Useless use of repeat (x) in void context at - line 3.
 Useless use of wantarray in void context at - line 5.
 Useless use of reference-type operator in void context at - line 12.
@@ -239,6 +269,7 @@
 Useless use of subroutine prototype in void context at - line 54.
 Useless use of smart match in void context at - line 55.
 Useless use of numeric comparison (<=>) in void context at - line 56.
+Useless use of __SUB__ in void context at - line 58.
 ########
 # op.c
 use warnings 'void' ; close STDIN ;
@@ -518,9 +549,9 @@
 2 + 2; # optimized to OP_CONST
 use constant U => undef;
 U;
+qq/"	\n/;
 5 || print "bad\n";	# test OPpCONST_SHORTCIRCUIT
 print "boo\n" if U;	# test OPpCONST_SHORTCIRCUIT
-$[ = 2; # should not warn
 no warnings 'void' ;
 "abc"; # OP_CONST
 7 ; # OP_CONST
@@ -527,30 +558,51 @@
 "x" . "y"; # optimized to OP_CONST
 2 + 2; # optimized to OP_CONST
 EXPECT
-Useless use of a constant (abc) in void context at - line 3.
+Useless use of a constant ("abc") in void context at - line 3.
 Useless use of a constant (7) in void context at - line 4.
-Useless use of a constant (xy) in void context at - line 5.
+Useless use of a constant ("xy") in void context at - line 5.
 Useless use of a constant (4) in void context at - line 6.
 Useless use of a constant (undef) in void context at - line 8.
+Useless use of a constant ("\"\t\n") in void context at - line 9.
 ########
 # op.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'void' ;
+"àḆc"; # OP_CONST
+"Ẋ" . "ƴ"; # optimized to OP_CONST
+FOO;     # Bareword optimized to OP_CONST
+use constant ů => undef;
+ů;
+5 || print "bad\n";	# test OPpCONST_SHORTCIRCUIT
+print "boo\n" if ů;	# test OPpCONST_SHORTCIRCUIT
+no warnings 'void' ;
+"àḆc"; # OP_CONST
+"Ẋ" . "ƴ"; # optimized to OP_CONST
+EXPECT
+Useless use of a constant ("\340\x{1e06}c") in void context at - line 5.
+Useless use of a constant ("\x{1e8a}\x{1b4}") in void context at - line 6.
+Useless use of a constant ("\x{ff26}\x{ff2f}\x{ff2f}") in void context at - line 7.
+Useless use of a constant (undef) in void context at - line 9.
+########
+# op.c
 #
 use warnings 'misc' ;
 my $a ; my @a = () ; my %a = () ; my $b = \@a ; my $c = \%a ;my $d = 'test';
 @a =~ /abc/ ;
- at a =~ s/a/b/ ;
- at a =~ tr/a/b/ ;
+ at a2 =~ s/a/b/ ;
+ at a3 =~ tr/a/b/ ;
 @$b =~ /abc/ ;
 @$b =~ s/a/b/ ;
 @$b =~ tr/a/b/ ;
 %a =~ /abc/ ;
-%a =~ s/a/b/ ;
-%a =~ tr/a/b/ ;
+%a2 =~ s/a/b/ ;
+%a3 =~ tr/a/b/ ;
 %$c =~ /abc/ ;
 %$c =~ s/a/b/ ;
 %$c =~ tr/a/b/ ;
 $d =~ tr/a/b/d ;
-$d =~ tr/a/bc/;
+$d2 =~ tr/a/bc/;
 {
 no warnings 'misc' ;
 my $a ; my @a = () ; my %a = () ; my $b = \@a ; my $c = \%a ; my $d = 'test';
@@ -570,21 +622,21 @@
 $d =~ tr/a/bc/ ;
 }
 EXPECT
-Applying pattern match (m//) to @array will act on scalar(@array) at - line 5.
-Applying substitution (s///) to @array will act on scalar(@array) at - line 6.
-Applying transliteration (tr///) to @array will act on scalar(@array) at - line 7.
+Applying pattern match (m//) to @a will act on scalar(@a) at - line 5.
+Applying substitution (s///) to @a2 will act on scalar(@a2) at - line 6.
+Applying transliteration (tr///) to @a3 will act on scalar(@a3) at - line 7.
 Applying pattern match (m//) to @array will act on scalar(@array) at - line 8.
 Applying substitution (s///) to @array will act on scalar(@array) at - line 9.
 Applying transliteration (tr///) to @array will act on scalar(@array) at - line 10.
-Applying pattern match (m//) to %hash will act on scalar(%hash) at - line 11.
-Applying substitution (s///) to %hash will act on scalar(%hash) at - line 12.
-Applying transliteration (tr///) to %hash will act on scalar(%hash) at - line 13.
+Applying pattern match (m//) to %a will act on scalar(%a) at - line 11.
+Applying substitution (s///) to %a2 will act on scalar(%a2) at - line 12.
+Applying transliteration (tr///) to %a3 will act on scalar(%a3) at - line 13.
 Applying pattern match (m//) to %hash will act on scalar(%hash) at - line 14.
 Applying substitution (s///) to %hash will act on scalar(%hash) at - line 15.
 Applying transliteration (tr///) to %hash will act on scalar(%hash) at - line 16.
 Useless use of /d modifier in transliteration operator at - line 17.
 Replacement list is longer than search list at - line 18.
-Can't modify private array in substitution (s///) at - line 6, near "s/a/b/ ;"
+Can't modify array dereference in substitution (s///) at - line 6, near "s/a/b/ ;"
 BEGIN not safe after errors--compilation aborted at - line 20.
 ########
 # op.c
@@ -631,28 +683,43 @@
 use warnings 'misc' ;
 open FH, "<abc" ;
 $x = 1 if $x = <FH> ;
+$x = 1 if $x
+     = <FH> ;
 no warnings 'misc' ;
 $x = 1 if $x = <FH> ;
+$x = 1 if $x
+     = <FH> ;
 EXPECT
 Value of <HANDLE> construct can be "0"; test with defined() at - line 4.
+Value of <HANDLE> construct can be "0"; test with defined() at - line 5.
 ########
 # op.c
 use warnings 'misc' ;
 opendir FH, "." ;
 $x = 1 if $x = readdir FH ;
+$x = 1 if $x
+    = readdir FH ;
 no warnings 'misc' ;
 $x = 1 if $x = readdir FH ;
+$x = 1 if $x
+    = readdir FH ;
 closedir FH ;
 EXPECT
 Value of readdir() operator can be "0"; test with defined() at - line 4.
+Value of readdir() operator can be "0"; test with defined() at - line 5.
 ########
 # op.c
 use warnings 'misc' ;
 $x = 1 if $x = <*> ;
+$x = 1 if $x
+    = <*> ;
 no warnings 'misc' ;
 $x = 1 if $x = <*> ;
+$x = 1 if $x
+    = <*> ;
 EXPECT
 Value of glob construct can be "0"; test with defined() at - line 3.
+Value of glob construct can be "0"; test with defined() at - line 4.
 ########
 # op.c
 use warnings 'misc' ;
@@ -693,10 +760,15 @@
 use warnings 'redefine' ;
 sub fred {}
 sub fred {}
+sub fred { # warning should be for this line
+}
 no warnings 'redefine' ;
 sub fred {}
+sub fred {
+}
 EXPECT
 Subroutine fred redefined at - line 4.
+Subroutine fred redefined at - line 5.
 ########
 # op.c
 use warnings 'redefine' ;
@@ -708,18 +780,50 @@
 Constant subroutine fred redefined at - line 4.
 ########
 # op.c
-no warnings 'redefine' ;
 sub fred () { 1 }
 sub fred () { 2 }
 EXPECT
+Constant subroutine fred redefined at - line 3.
+########
+# op.c
+sub fred () { 1 }
+*fred = sub () { 2 };
+EXPECT
+Constant subroutine main::fred redefined at - line 3.
+########
+# op.c
+use feature "lexical_subs", "state";
+my sub fred () { 1 }
+sub fred { 2 };
+my sub george { 1 }
+sub george () { 2 } # should *not* produce redef warnings by default
+state sub phred () { 1 }
+sub phred { 2 };
+state sub jorge { 1 }
+sub jorge () { 2 } # should *not* produce redef warnings by default
+EXPECT
+The lexical_subs feature is experimental at - line 3.
+Prototype mismatch: sub fred () vs none at - line 4.
 Constant subroutine fred redefined at - line 4.
+The lexical_subs feature is experimental at - line 5.
+Prototype mismatch: sub george: none vs () at - line 6.
+The lexical_subs feature is experimental at - line 7.
+Prototype mismatch: sub phred () vs none at - line 8.
+Constant subroutine phred redefined at - line 8.
+The lexical_subs feature is experimental at - line 9.
+Prototype mismatch: sub jorge: none vs () at - line 10.
 ########
 # op.c
 no warnings 'redefine' ;
 sub fred () { 1 }
+sub fred () { 2 }
+EXPECT
+########
+# op.c
+no warnings 'redefine' ;
+sub fred () { 1 }
 *fred = sub () { 2 };
 EXPECT
-Constant subroutine main::fred redefined at - line 4.
 ########
 # op.c
 use warnings 'redefine' ;
@@ -755,7 +859,19 @@
 Statement unlikely to be reached at - line 4.
 	(Maybe you meant system() when you said exec()?)
 ########
+# op.c, no warning if exec isn't a statement.
+use warnings 'syntax' ;
+$a || exec "$^X -e 1" ;
+my $a
+EXPECT
+########
 # op.c
+defined(@a);
+EXPECT
+defined(@array) is deprecated at - line 2.
+	(Maybe you should just omit the defined()?)
+########
+# op.c
 my @a; defined(@a);
 EXPECT
 defined(@array) is deprecated at - line 2.
@@ -768,6 +884,12 @@
 	(Maybe you should just omit the defined()?)
 ########
 # op.c
+defined(%h);
+EXPECT
+defined(%hash) is deprecated at - line 2.
+	(Maybe you should just omit the defined()?)
+########
+# op.c
 my %h; defined(%h);
 EXPECT
 defined(%hash) is deprecated at - line 2.
@@ -783,10 +905,79 @@
 # op.c
 sub fred();
 sub fred($) {}
+use constant foo=>bar; sub foo(@);
+use constant bav=>bar; sub bav(); # no warning
+sub btu; sub btu();
 EXPECT
 Prototype mismatch: sub main::fred () vs ($) at - line 3.
+Prototype mismatch: sub foo () vs (@) at - line 4.
+Prototype mismatch: sub btu: none vs () at - line 6.
 ########
 # op.c
+use utf8;
+use open qw( :utf8 :std );
+sub frèd();
+sub frèd($) {}
+EXPECT
+Prototype mismatch: sub main::frèd () vs ($) at - line 5.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+eval "sub fòò (\$\0) {}";
+EXPECT
+Illegal character in prototype for main::fòò : $\0 at (eval 1) line 1.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+eval "sub foo (\0) {}";
+EXPECT
+Illegal character in prototype for main::foo : \0 at (eval 1) line 1.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+BEGIN { $::{"foo"} = "\$\0L\351on" }
+BEGIN { eval "sub foo (\$\0L\x{c3}\x{a9}on) {}"; }
+EXPECT
+Illegal character in prototype for main::foo : $\x{0}L... at (eval 1) line 1.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+BEGIN { eval "sub foo (\0) {}"; }
+EXPECT
+Illegal character in prototype for main::foo : \0 at (eval 1) line 1.
+########
+# op.c
+use warnings;
+eval "sub foo (\xAB) {}";
+EXPECT
+Illegal character in prototype for main::foo : \x{ab} at (eval 1) line 1.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+BEGIN { eval "sub foo (\x{30cb}) {}"; }
+EXPECT
+Illegal character in prototype for main::foo : \x{30cb} at (eval 1) line 1.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+BEGIN { $::{"foo"} = "\x{30cb}" }
+BEGIN { eval "sub foo {}"; }
+EXPECT
+Prototype mismatch: sub main::foo (ニ) vs none at (eval 1) line 1.
+########
+# op.c
 $^W = 0 ;
 sub fred() ;
 sub fred($) {}
@@ -805,6 +996,189 @@
 Prototype mismatch: sub main::freD () vs ($) at - line 11.
 Prototype mismatch: sub main::FRED () vs ($) at - line 14.
 ########
+# op.c [S_simplify_sort]
+# [perl #86136]
+my @tests = split /^/, '
+  sort {$a <=> $b} @a;
+  sort {$a cmp $b} @a;
+  { use integer; sort {$a <=> $b} @a}
+  sort {$b <=> $a} @a;
+  sort {$b cmp $a} @a;
+  { use integer; sort {$b <=> $a} @a}
+';
+for my $pragma ('use warnings "syntax";', '') {
+  for my $vars ('', 'my $a;', 'my $b;', 'my ($a,$b);') {
+    for my $inner_stmt ('', 'print;', 'func();') {
+      eval "#line " . ++$line . "01 -\n$pragma\n$vars"
+          . join "", map s/sort \{\K/$inner_stmt/r, @tests;
+      $@ and die;
+    }
+  }
+}
+sub func{}
+use warnings 'syntax';
+my $a;
+# These used to be errors!
+sort { ; } $a <=> $b;
+sort { ; } $a, "<=>";
+sort { ; } $a, $cmp;
+sort $a, $b if $cmpany_name;
+sort if $a + $cmp;
+sort @t; $a + $cmp;
+EXPECT
+"my $a" used in sort comparison at - line 403.
+"my $a" used in sort comparison at - line 404.
+"my $a" used in sort comparison at - line 405.
+"my $a" used in sort comparison at - line 406.
+"my $a" used in sort comparison at - line 407.
+"my $a" used in sort comparison at - line 408.
+"my $a" used in sort comparison at - line 503.
+"my $a" used in sort comparison at - line 504.
+"my $a" used in sort comparison at - line 505.
+"my $a" used in sort comparison at - line 506.
+"my $a" used in sort comparison at - line 507.
+"my $a" used in sort comparison at - line 508.
+"my $a" used in sort comparison at - line 603.
+"my $a" used in sort comparison at - line 604.
+"my $a" used in sort comparison at - line 605.
+"my $a" used in sort comparison at - line 606.
+"my $a" used in sort comparison at - line 607.
+"my $a" used in sort comparison at - line 608.
+"my $b" used in sort comparison at - line 703.
+"my $b" used in sort comparison at - line 704.
+"my $b" used in sort comparison at - line 705.
+"my $b" used in sort comparison at - line 706.
+"my $b" used in sort comparison at - line 707.
+"my $b" used in sort comparison at - line 708.
+"my $b" used in sort comparison at - line 803.
+"my $b" used in sort comparison at - line 804.
+"my $b" used in sort comparison at - line 805.
+"my $b" used in sort comparison at - line 806.
+"my $b" used in sort comparison at - line 807.
+"my $b" used in sort comparison at - line 808.
+"my $b" used in sort comparison at - line 903.
+"my $b" used in sort comparison at - line 904.
+"my $b" used in sort comparison at - line 905.
+"my $b" used in sort comparison at - line 906.
+"my $b" used in sort comparison at - line 907.
+"my $b" used in sort comparison at - line 908.
+"my $a" used in sort comparison at - line 1003.
+"my $b" used in sort comparison at - line 1003.
+"my $a" used in sort comparison at - line 1004.
+"my $b" used in sort comparison at - line 1004.
+"my $a" used in sort comparison at - line 1005.
+"my $b" used in sort comparison at - line 1005.
+"my $b" used in sort comparison at - line 1006.
+"my $a" used in sort comparison at - line 1006.
+"my $b" used in sort comparison at - line 1007.
+"my $a" used in sort comparison at - line 1007.
+"my $b" used in sort comparison at - line 1008.
+"my $a" used in sort comparison at - line 1008.
+"my $a" used in sort comparison at - line 1103.
+"my $b" used in sort comparison at - line 1103.
+"my $a" used in sort comparison at - line 1104.
+"my $b" used in sort comparison at - line 1104.
+"my $a" used in sort comparison at - line 1105.
+"my $b" used in sort comparison at - line 1105.
+"my $b" used in sort comparison at - line 1106.
+"my $a" used in sort comparison at - line 1106.
+"my $b" used in sort comparison at - line 1107.
+"my $a" used in sort comparison at - line 1107.
+"my $b" used in sort comparison at - line 1108.
+"my $a" used in sort comparison at - line 1108.
+"my $a" used in sort comparison at - line 1203.
+"my $b" used in sort comparison at - line 1203.
+"my $a" used in sort comparison at - line 1204.
+"my $b" used in sort comparison at - line 1204.
+"my $a" used in sort comparison at - line 1205.
+"my $b" used in sort comparison at - line 1205.
+"my $b" used in sort comparison at - line 1206.
+"my $a" used in sort comparison at - line 1206.
+"my $b" used in sort comparison at - line 1207.
+"my $a" used in sort comparison at - line 1207.
+"my $b" used in sort comparison at - line 1208.
+"my $a" used in sort comparison at - line 1208.
+########
+# op.c [S_simplify_sort]
+use warnings 'syntax'; use 5.01;
+state $a;
+sort { $a <=> $b } ();
+EXPECT
+"state $a" used in sort comparison at - line 4.
+########
+# op.c [Perl_ck_cmp]
+use warnings 'syntax' ;
+no warnings 'deprecated';
+ at a = $[ < 5;
+ at a = $[ > 5;
+ at a = $[ <= 5;
+ at a = $[ >= 5;
+ at a = 42 < $[;
+ at a = 42 > $[;
+ at a = 42 <= $[;
+ at a = 42 >= $[;
+use integer;
+ at a = $[ < 5;
+ at a = $[ > 5;
+ at a = $[ <= 5;
+ at a = $[ >= 5;
+ at a = 42 < $[;
+ at a = 42 > $[;
+ at a = 42 <= $[;
+ at a = 42 >= $[;
+no integer;
+ at a = $[ < $5;
+ at a = $[ > $5;
+ at a = $[ <= $5;
+ at a = $[ >= $5;
+ at a = $42 < $[;
+ at a = $42 > $[;
+ at a = $42 <= $[;
+ at a = $42 >= $[;
+use integer;
+ at a = $[ < $5;
+ at a = $[ > $5;
+ at a = $[ <= $5;
+ at a = $[ >= $5;
+ at a = $42 < $[;
+ at a = $42 > $[;
+ at a = $42 <= $[;
+ at a = $42 >= $[;
+EXPECT
+$[ used in numeric lt (<) (did you mean $] ?) at - line 4.
+$[ used in numeric gt (>) (did you mean $] ?) at - line 5.
+$[ used in numeric le (<=) (did you mean $] ?) at - line 6.
+$[ used in numeric ge (>=) (did you mean $] ?) at - line 7.
+$[ used in numeric lt (<) (did you mean $] ?) at - line 8.
+$[ used in numeric gt (>) (did you mean $] ?) at - line 9.
+$[ used in numeric le (<=) (did you mean $] ?) at - line 10.
+$[ used in numeric ge (>=) (did you mean $] ?) at - line 11.
+$[ used in numeric lt (<) (did you mean $] ?) at - line 13.
+$[ used in numeric gt (>) (did you mean $] ?) at - line 14.
+$[ used in numeric le (<=) (did you mean $] ?) at - line 15.
+$[ used in numeric ge (>=) (did you mean $] ?) at - line 16.
+$[ used in numeric lt (<) (did you mean $] ?) at - line 17.
+$[ used in numeric gt (>) (did you mean $] ?) at - line 18.
+$[ used in numeric le (<=) (did you mean $] ?) at - line 19.
+$[ used in numeric ge (>=) (did you mean $] ?) at - line 20.
+########
+# op.c [Perl_ck_length]
+use warnings 'syntax' ;
+length(@a);
+length(%b);
+length(@$c);
+length(%$d);
+length($a);
+length(my %h);
+length(my @g);
+EXPECT
+length() used on @a (did you mean "scalar(@a)"?) at - line 3.
+length() used on %b (did you mean "scalar(keys %b)"?) at - line 4.
+length() used on @array (did you mean "scalar(@array)"?) at - line 5.
+length() used on %hash (did you mean "scalar(keys %hash)"?) at - line 6.
+length() used on %h (did you mean "scalar(keys %h)"?) at - line 8.
+length() used on @g (did you mean "scalar(@g)"?) at - line 9.
+########
 # op.c
 use warnings 'syntax' ;
 join /---/, 'x', 'y', 'z';
@@ -811,6 +1185,14 @@
 EXPECT
 /---/ should probably be written as "---" at - line 3.
 ########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'syntax' ;
+join /~~~/, 'x', 'y', 'z';
+EXPECT
+/~~~/ should probably be written as "~~~" at - line 5.
+########
 # op.c [Perl_peep]
 use warnings 'prototype' ;
 fred() ; 
@@ -999,7 +1381,6 @@
 local(vec($x,0,1));	# OP_VEC
 local($a[$b]);		# OP_AELEM		ok
 local($a{$b});		# OP_HELEM		ok
-local($[);		# OP_CONST
 
 no warnings 'syntax';
 EXPECT
@@ -1082,3 +1463,101 @@
      split /y/, "z";
 EXPECT
 Useless use of split in void context at - line 5.
+########
+# op.c
+use warnings 'redefine' ;
+use utf8;
+use open qw( :utf8 :std );
+sub frèd {}
+sub frèd {}
+no warnings 'redefine' ;
+sub frèd {}
+EXPECT
+Subroutine frèd redefined at - line 6.
+########
+# op.c
+use warnings 'redefine' ;
+use utf8;
+use open qw( :utf8 :std );
+sub frèd () { 1 }
+sub frèd () { 1 }
+no warnings 'redefine' ;
+sub frèd () { 1 }
+EXPECT
+Constant subroutine frèd redefined at - line 6.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+sub frèd () { 1 }
+sub frèd () { 2 }
+EXPECT
+Constant subroutine frèd redefined at - line 5.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+sub frèd () { 1 }
+*frèd = sub () { 2 };
+EXPECT
+Constant subroutine main::frèd redefined at - line 5.
+########
+# op.c
+use warnings 'redefine' ;
+use utf8;
+use open qw( :utf8 :std );
+sub ᚠርƊ {}
+sub ᚠርƊ {}
+no warnings 'redefine' ;
+sub ᚠርƊ {}
+EXPECT
+Subroutine ᚠርƊ redefined at - line 6.
+########
+# op.c
+use warnings 'redefine' ;
+use utf8;
+use open qw( :utf8 :std );
+sub ᚠርƊ () { 1 }
+sub ᚠርƊ () { 1 }
+no warnings 'redefine' ;
+sub ᚠርƊ () { 1 }
+EXPECT
+Constant subroutine ᚠርƊ redefined at - line 6.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+sub ᚠርƊ () { 1 }
+sub ᚠርƊ () { 2 }
+EXPECT
+Constant subroutine ᚠርƊ redefined at - line 5.
+########
+# op.c
+use utf8;
+use open qw( :utf8 :std );
+sub ᚠርƊ () { 1 }
+*ᚠርƊ = sub () { 2 };
+EXPECT
+Constant subroutine main::ᚠርƊ redefined at - line 5.
+########
+# OPTION regex
+sub DynaLoader::dl_error {};
+use warnings;
+# We're testing that the warnings report the same line number:
+eval <<'EOC' or die $@;
+{
+    DynaLoader::boot_DynaLoader("DynaLoader");
+}
+EOC
+eval <<'EOC' or die $@;
+BEGIN {
+    DynaLoader::boot_DynaLoader("DynaLoader");
+}
+1
+EOC
+EXPECT
+OPTION regex
+\ASubroutine DynaLoader::dl_error redefined at \(eval 1\) line 2\.
+?(?s).*
+Subroutine DynaLoader::dl_error redefined at \(eval 2\) line 2\.
+########


Property changes on: vendor/perl/dist/t/lib/warnings/op
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/pad
===================================================================
--- vendor/perl/dist/t/lib/warnings/pad	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/pad	2013-12-01 21:45:02 UTC (rev 6430)
@@ -173,7 +173,7 @@
 }->();
 f();
 EXPECT
-Variable "$x" is not available at (eval 1) line 2.
+Variable "$x" is not available at (eval 1) line 1.
 ########
 # pad.c
 use warnings 'closure' ;
@@ -195,7 +195,7 @@
 }
 f()->();
 EXPECT
-Variable "$x" is not available at (eval 1) line 2.
+Variable "$x" is not available at (eval 1) line 1.
 ########
 use warnings 'closure' ;
 {
@@ -205,7 +205,7 @@
 }
 f2();
 EXPECT
-Variable "$x" is not available at (eval 1) line 2.
+Variable "$x" is not available at (eval 1) line 1.
 ########
 use warnings 'closure' ;
 for my $x (1,2,3) {
@@ -214,7 +214,7 @@
 }
 f();
 EXPECT
-Variable "$x" is not available at (eval 4) line 2.
+Variable "$x" is not available at (eval 4) line 1.
 ########
 # pad.c
 no warnings 'closure' ;
@@ -327,3 +327,248 @@
 our $_;
 EXPECT
 "our" variable $_ redeclared at - line 6.
+########
+use warnings 'misc';
+BEGIN { binmode STDERR, 'utf8'; }
+{
+    use utf8;
+    my $ニコニコ;
+    my $ニコニコ;
+}
+EXPECT
+"my" variable $ニコニコ masks earlier declaration in same scope at - line 6.
+########
+use warnings 'misc';
+BEGIN { binmode STDERR, 'utf8'; }
+{
+    use utf8;
+    my $thìs;
+    my $thìs;
+}
+EXPECT
+"my" variable $thìs masks earlier declaration in same scope at - line 6.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub {
+    use utf8;
+    my $è;
+    sub f { $è }
+}->();
+EXPECT
+Variable "$è" is not available at - line 7.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub {
+    use utf8;
+    my $ニ;
+    sub f { $ニ }
+}->();
+EXPECT
+Variable "$ニ" is not available at - line 7.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub x {
+      use utf8;
+      my $に;
+      sub y {
+         $に
+      }
+   }
+EXPECT
+Variable "$に" will not stay shared at - line 9.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub x {
+      use utf8;
+      my $に;
+      sub y {
+         sub { $に }
+      }
+   }
+EXPECT
+Variable "$に" will not stay shared at - line 8.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub x {
+    use utf8;
+    my $に;
+    sub {
+	$に;
+	sub y {
+	    $に
+	}
+    }->();
+}
+EXPECT
+Variable "$に" will not stay shared at - line 11.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub {
+    use utf8;
+    my $に;
+    sub f { $に }
+}->();
+EXPECT
+Variable "$に" is not available at - line 7.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub {
+    use utf8;
+    my $に;
+    sub f { eval '$に' }
+}->();
+f();
+EXPECT
+Variable "$に" is not available at (eval 1) line 1.
+########
+# pad.c
+# see bugid 1754
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub f {
+    use utf8;
+    my $に;
+    sub { eval '$に' };
+}
+f()->();
+EXPECT
+Variable "$に" is not available at (eval 1) line 1.
+########
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+{
+    use utf8;
+    my $に = 1;
+    $y = \$に; # force abandonment rather than clear-in-place at scope exit
+    sub f2 { eval '$に' }
+}
+f2();
+EXPECT
+Variable "$に" is not available at (eval 1) line 1.
+########
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+use utf8;
+for my $に (1,2,3) {
+    sub f { eval '$に' }
+    f();
+}
+f();
+EXPECT
+Variable "$に" is not available at (eval 4) line 1.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub x {
+      use utf8;
+      my $è;
+      sub y {
+         $è
+      }
+   }
+EXPECT
+Variable "$è" will not stay shared at - line 9.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub x {
+      use utf8;
+      my $è;
+      sub y {
+         sub { $è }
+      }
+   }
+EXPECT
+Variable "$è" will not stay shared at - line 8.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub x {
+    use utf8;
+    my $è;
+    sub {
+	$è;
+	sub y {
+	    $è
+	}
+    }->();
+}
+EXPECT
+Variable "$è" will not stay shared at - line 11.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub {
+    use utf8;
+    my $è;
+    sub f { $è }
+}->();
+EXPECT
+Variable "$è" is not available at - line 7.
+########
+# pad.c
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub {
+    use utf8;
+    my $è;
+    sub f { eval '$è' }
+}->();
+f();
+EXPECT
+Variable "$è" is not available at (eval 1) line 1.
+########
+# pad.c
+# see bugid 1754
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+sub f {
+    use utf8;
+    my $è;
+    sub { eval '$è' };
+}
+f()->();
+EXPECT
+Variable "$è" is not available at (eval 1) line 1.
+########
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+{
+    use utf8;
+    my $è = 1;
+    $y = \$è; # force abandonment rather than clear-in-place at scope exit
+    sub f2 { eval '$è' }
+}
+f2();
+EXPECT
+Variable "$è" is not available at (eval 1) line 1.
+########
+use warnings 'closure' ;
+BEGIN { binmode STDERR, 'utf8'; }
+use utf8;
+for my $è (1,2,3) {
+    sub f { eval '$è' }
+    f();
+}
+f();
+EXPECT
+Variable "$è" is not available at (eval 4) line 1.
+########


Property changes on: vendor/perl/dist/t/lib/warnings/pad
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/perl
===================================================================
--- vendor/perl/dist/t/lib/warnings/perl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/perl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -71,3 +71,161 @@
 $y = 3 ;
 EXPECT
 Name "main::y" used only once: possible typo at - line 6.
+########
+
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+no warnings 'once' ;
+$ᛪ = 3 ;
+use warnings 'once' ;
+$ȥ = 3 ;
+EXPECT
+Name "main::ȥ" used only once: possible typo at - line 8.
+########
+-w
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+$ᛪ = 3 ;
+no warnings 'once' ;
+$ȥ = 3;
+EXPECT
+Name "main::ᛪ" used only once: possible typo at - line 5.
+########
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+BEGIN { $^W =1 ; }
+$ᛪ = 3 ;
+no warnings 'once' ;
+$ȥ = 3 
+EXPECT
+Name "main::ᛪ" used only once: possible typo at - line 5.
+########
+-W
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+no warnings 'once' ;
+$ᛪ = 3 ;
+use warnings 'once' ;
+$ȥ = 3 ;
+EXPECT
+OPTION random
+Name "main::ȥ" used only once: possible typo at - line 8.
+Name "main::ᛪ" used only once: possible typo at - line 6.
+########
+-X
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'once' ;
+$ᛪ = 3 ;
+EXPECT
+########
+
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+{ use warnings 'once' ; $ᛪ = 3 ; }
+$ŷ = 3 ;
+EXPECT
+Name "main::ᛪ" used only once: possible typo at - line 5.
+########
+
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+$ȥ = 3 ;
+BEGIN { $^W = 1 }
+{ no warnings 'once' ; $ᛪ = 3 ; }
+$ŷ = 3 ;
+EXPECT
+Name "main::ŷ" used only once: possible typo at - line 8.
+########
+
+
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+package ɕლȃṢȿ;
+no warnings 'once' ;
+$ᛪ = 3 ;
+use warnings 'once' ;
+$ȥ = 3 ;
+EXPECT
+Name "ɕლȃṢȿ::ȥ" used only once: possible typo at - line 10.
+########
+-w
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+package ɕლȃṢȿ;
+$ᛪ = 3 ;
+no warnings 'once' ;
+$ȥ = 3 
+EXPECT
+Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 6.
+########
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+package ɕლȃṢȿ;
+BEGIN { $^W =1 ; }
+$ᛪ = 3 ;
+no warnings 'once' ;
+$ȥ = 3 
+EXPECT
+Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 6.
+########
+-W
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+package ɕლȃṢȿ;
+no warnings 'once' ;
+$ᛪ = 3 ;
+use warnings 'once' ;
+$ȥ = 3 ;
+EXPECT
+OPTION random
+Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 7.
+Name "ɕლȃṢȿ::ȥ" used only once: possible typo at - line 9.
+########
+-X
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'once' ;
+package ɕლȃṢȿ;
+$ᛪ = 3 ;
+EXPECT
+########
+
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+package ɕლȃṢȿ;
+{ use warnings 'once' ; $ᛪ = 3 ; }
+$ŷ = 3 ;
+EXPECT
+Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 6.
+########
+
+# perl.c
+use utf8;
+use open qw( :utf8 :std );
+package ɕლȃṢȿ;
+$ȥ = 3 ;
+BEGIN { $^W = 1 }
+{ no warnings 'once' ; $ᛪ = 3 ; }
+$ŷ = 3 ;
+EXPECT
+Name "ɕლȃṢȿ::ŷ" used only once: possible typo at - line 9.
+########
+
+use warnings 'once';
+$foo++; BEGIN { eval q|@a =~ s///; sub foo;| }
+EXPECT
+Name "main::foo" used only once: possible typo at - line 3.


Property changes on: vendor/perl/dist/t/lib/warnings/perl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/perlio
===================================================================
--- vendor/perl/dist/t/lib/warnings/perlio	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/perlio	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/perlio
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/perly
===================================================================
--- vendor/perl/dist/t/lib/warnings/perly	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/perly	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,23 +8,6 @@
 	sub fred {} $a = "fred" ; do $a()
 	sub fred {} $a = "fred" ; do $a(1)
 
-  Use of qw(...) as parentheses is deprecated
-
-	if qw(a) {}
-	unless qw(a) {}
-	if (0) {} elsif qw(a) {}
-	given qw(a) {}
-	when qw(a) {}
-	while qw(a) {}
-	until qw(a) {}
-	foreach $x qw(a b c) {}
-	foreach my $x qw(a b c) {}
-	$obj->meth qw(a b c)
-	do foo qw(a b c)
-	do $subref qw(a b c)
-	&foo qw(a b c)
-	$a[0] qw(a b c)
-
 __END__
 # perly.y
 use warnings 'deprecated' ;
@@ -45,222 +28,3 @@
 Use of "do" to call subroutines is deprecated at - line 5.
 Use of "do" to call subroutines is deprecated at - line 7.
 Use of "do" to call subroutines is deprecated at - line 8.
-########
-use warnings qw(deprecated void);
-if qw(a) { print "x0\n"; } else { }
-if qw(0) { print "x1\n"; } else { }
-if qw(z a) { print "x2\n"; } else { }
-if qw(z 0) { print "x3\n"; } else { }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Use of qw(...) as parentheses is deprecated at - line 4.
-Useless use of a constant (z) in void context at - line 4.
-Use of qw(...) as parentheses is deprecated at - line 5.
-Useless use of a constant (z) in void context at - line 5.
-x0
-x2
-########
-if qw() { print "x0\n"; } else { }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-syntax error at - line 1, near "if qw()"
-Execution of - aborted due to compilation errors.
-########
-use warnings qw(deprecated void);
-unless qw(a) { print "x0\n"; } else { }
-unless qw(0) { print "x1\n"; } else { }
-unless qw(z a) { print "x2\n"; } else { }
-unless qw(z 0) { print "x3\n"; } else { }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Use of qw(...) as parentheses is deprecated at - line 4.
-Useless use of a constant (z) in void context at - line 4.
-Use of qw(...) as parentheses is deprecated at - line 5.
-Useless use of a constant (z) in void context at - line 5.
-x1
-x3
-########
-unless qw() { print "x0\n"; } else { }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-syntax error at - line 1, near "unless qw()"
-Execution of - aborted due to compilation errors.
-########
-use warnings qw(deprecated void);
-if(0) { print "eek\n"; } elsif qw(a) { print "x0\n"; } else { }
-if(0) { print "eek\n"; } elsif qw(0) { print "x1\n"; } else { }
-if(0) { print "eek\n"; } elsif qw(z a) { print "x2\n"; } else { }
-if(0) { print "eek\n"; } elsif qw(z 0) { print "x3\n"; } else { }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Use of qw(...) as parentheses is deprecated at - line 4.
-Useless use of a constant (z) in void context at - line 4.
-Use of qw(...) as parentheses is deprecated at - line 5.
-Useless use of a constant (z) in void context at - line 5.
-x0
-x2
-########
-if(0) { print "eek\n"; } elsif qw() { print "x0\n"; } else { }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-syntax error at - line 1, near "elsif qw()"
-Execution of - aborted due to compilation errors.
-########
-use warnings qw(deprecated void); use feature "switch";
-given qw(a) { print "x0 $_\n"; }
-given qw(z a) { print "x1 $_\n"; }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Useless use of a constant (z) in void context at - line 3.
-x0 a
-x1 a
-########
-use feature "switch";
-given qw() { print "x0\n"; }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-syntax error at - line 2, near "given qw()"
-Execution of - aborted due to compilation errors.
-########
-use warnings qw(deprecated void); use feature "switch";
-given("a") { when qw(a) { print "x0\n"; } }
-given("a") { when qw(b) { print "x1\n"; } }
-given("a") { when qw(z a) { print "x2\n"; } }
-given("a") { when qw(z b) { print "x3\n"; } }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Use of qw(...) as parentheses is deprecated at - line 4.
-Useless use of a constant (z) in void context at - line 4.
-Use of qw(...) as parentheses is deprecated at - line 5.
-Useless use of a constant (z) in void context at - line 5.
-x0
-x2
-########
-use feature "switch";
-given("a") { when qw() { print "x0\n"; } }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-syntax error at - line 2, near "when qw()"
-syntax error at - line 2, near "} }"
-Execution of - aborted due to compilation errors.
-########
-use warnings qw(deprecated void);
-while qw(a) { print "x0\n"; last; } {;}
-while qw(0) { print "x1\n"; last; } {;}
-while qw(z a) { print "x2\n"; last; } {;}
-while qw(z 0) { print "x3\n"; last; } {;}
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Use of qw(...) as parentheses is deprecated at - line 4.
-Useless use of a constant (z) in void context at - line 4.
-Use of qw(...) as parentheses is deprecated at - line 5.
-Useless use of a constant (z) in void context at - line 5.
-x0
-x2
-########
-while qw() { print "x0\n"; last; }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-x0
-########
-use warnings qw(deprecated void);
-until qw(a) { print "x0\n"; last; } {;}
-until qw(0) { print "x1\n"; last; } {;}
-until qw(z a) { print "x2\n"; last; } {;}
-until qw(z 0) { print "x3\n"; last; } {;}
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Use of qw(...) as parentheses is deprecated at - line 4.
-Useless use of a constant (z) in void context at - line 4.
-Use of qw(...) as parentheses is deprecated at - line 5.
-Useless use of a constant (z) in void context at - line 5.
-x1
-x3
-########
-until qw() { print "x0\n"; } else { }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-syntax error at - line 1, near "until qw()"
-Execution of - aborted due to compilation errors.
-########
-foreach $x qw(a b c) { print $x, "\n"; }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-a
-b
-c
-########
-foreach $x qw() { print $x, "\n"; }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-syntax error at - line 1, near "$x qw()"
-Execution of - aborted due to compilation errors.
-########
-foreach my $x qw(a b c) { print $x, "\n"; }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-a
-b
-c
-########
-foreach my $x qw() { print $x, "\n"; }
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 1.
-syntax error at - line 1, near "$x qw()"
-Execution of - aborted due to compilation errors.
-########
-sub a5c85eef3bf30129e20989e96b099d13::foo { print "+", join(":", @_), "\n"; }
-"a5c85eef3bf30129e20989e96b099d13"->foo qw(); {;}
-"a5c85eef3bf30129e20989e96b099d13"->foo qw(a b c); {;}
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-+a5c85eef3bf30129e20989e96b099d13
-+a5c85eef3bf30129e20989e96b099d13:a:b:c
-########
-sub fd4de2af1449cec72693c36842d41862 { print "+", join(":", @_), "\n"; }
-do fd4de2af1449cec72693c36842d41862 qw(); {;}
-do fd4de2af1449cec72693c36842d41862 qw(a b c); {;}
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of "do" to call subroutines is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Use of "do" to call subroutines is deprecated at - line 3.
-+
-+a:b:c
-########
-$subref = sub { print "+", join(":", @_), "\n"; };
-do $subref qw();
-do $subref qw(a b c);
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of "do" to call subroutines is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-Use of "do" to call subroutines is deprecated at - line 3.
-+
-+a:b:c
-########
-sub e293a8f7cb38880a48867fcb336448e5 { print "+", join(":", @_), "\n"; }
-&e293a8f7cb38880a48867fcb336448e5 qw();
-&e293a8f7cb38880a48867fcb336448e5 qw(a b c);
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-+
-+a:b:c
-########
-my @a = (sub { print "+", join(":", @_), "\n"; });
-$a[0] qw();
-$a[0] qw(a b c);
-EXPECT
-Use of qw(...) as parentheses is deprecated at - line 2.
-Use of qw(...) as parentheses is deprecated at - line 3.
-+
-+a:b:c


Property changes on: vendor/perl/dist/t/lib/warnings/perly
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/pp
===================================================================
--- vendor/perl/dist/t/lib/warnings/pp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/pp	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,9 +6,6 @@
   Attempt to use reference as lvalue in substr 
     $a = "ab" ; $b = \$a ;  substr($b, 1,1) = $b
 
-  Use of uninitialized value in ref-to-glob cast	[pp_rv2gv()]
-	*b = *{ undef()}
-
   Use of uninitialized value in scalar dereference	[pp_rv2sv()]
 	my $a = undef ; my $b = $$a
 
@@ -40,18 +37,35 @@
 $a = "ab" ; 
 $b = \$a ;  
 substr($b, 1,1) = "ab" ;
+$b = \$a;
+substr($b, 1,1) = "\x{100}" ;
 no warnings 'substr' ;
+$b = \$a;
 substr($b, 1,1) = "ab" ;
+$b = \$a;
+substr($b, 1,1) = "\x{100}" ;
 EXPECT
 Attempt to use reference as lvalue in substr at - line 5.
+Attempt to use reference as lvalue in substr at - line 7.
 ########
 # pp.c
-use warnings 'uninitialized' ;
-*x = *{ undef() };
-no warnings 'uninitialized' ;
-*y = *{ undef() };
+use warnings 'misc' ;
+ at a = qw( a b c );
+splice(@a, 4, 0, 'e') ;
+ at a = qw( a b c );
+splice(@a, 4, 1) ;
+ at a = qw( a b c );
+splice(@a, 4) ;
+no warnings 'misc' ;
+ at a = qw( a b c );
+splice(@a, 4, 0, 'e') ;
+ at a = qw( a b c );
+splice(@a, 4, 1) ;
+ at a = qw( a b c );
+splice(@a, 4) ;
 EXPECT
-Use of uninitialized value in ref-to-glob cast at - line 3.
+splice() offset past end of array at - line 4.
+splice() offset past end of array at - line 6.
 ########
 # pp.c
 use warnings 'uninitialized';
@@ -88,7 +102,19 @@
 Constant subroutine foo undefined at - line 4.
 ########
 # pp.c
+use utf8;
+use open qw( :utf8 :std );
 use warnings 'misc';
+sub ฝᶱ () { 1 }
+undef &ฝᶱ;
+no warnings 'misc';
+sub ƚ () { 2 }
+undef &ƚ;
+EXPECT
+Constant subroutine ฝᶱ undefined at - line 6.
+########
+# pp.c
+use warnings 'misc';
 $foo = sub () { 3 };
 undef &$foo;
 no warnings 'misc';


Property changes on: vendor/perl/dist/t/lib/warnings/pp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/pp_ctl
===================================================================
--- vendor/perl/dist/t/lib/warnings/pp_ctl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/pp_ctl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/pp_ctl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/pp_hot
===================================================================
--- vendor/perl/dist/t/lib/warnings/pp_hot	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/pp_hot	2013-12-01 21:45:02 UTC (rev 6430)
@@ -61,6 +61,15 @@
 print() on unopened filehandle abc at - line 4.
 ########
 # pp_hot.c [pp_print]
+use warnings 'unopened' ;
+$SIG{__WARN__} = sub { warn $_[0] =~ s/\0/\\0/rug; };
+print {"a\0b"} "anc";
+print {"\0b"} "anc";
+EXPECT
+print() on unopened filehandle a\0b at - line 4.
+print() on unopened filehandle \0b at - line 5.
+########
+# pp_hot.c [pp_print]
 use warnings 'io' ;
 # There is no guarantee that STDOUT is output only, or STDIN input only.
 # Certainly on some BSDs (at least FreeBSD, Darwin, BSDi) file descriptors
@@ -90,6 +99,24 @@
 Filehandle FOO opened only for input at - line 20.
 ########
 # pp_hot.c [pp_print]
+$SIG{__WARN__} = sub { warn $_[0] =~ s/\0/\\0/rug; };
+use warnings 'io' ;
+my $file = "./xcv" ; unlink $file ;
+open (FH, ">$file") or die $! ;
+close FH or die $! ;
+die "There is no file $file" unless -f $file ;
+open ("a\0b", "<$file") or die $! ;
+print {"a\0b"} "anc" ;
+open ("\0b", "<$file") or die $! ;
+print {"\0b"} "anc" ;
+close "a\0b" or die $! ;
+close "\0b" or die $! ;
+unlink $file ;
+EXPECT
+Filehandle a\0b opened only for input at - line 9.
+Filehandle \0b opened only for input at - line 11.
+########
+# pp_hot.c [pp_print]
 use warnings 'closed' ;
 close STDIN ;
 print STDIN "anc";
@@ -116,7 +143,7 @@
 close STDOUT or die "Can't close STDOUT";
 print $fh "Shouldn't print anything, but shouldn't SEGV either\n";
 EXPECT
-print() on closed filehandle at - line 7.
+print() on closed filehandle __ANONIO__ at - line 7.
 ########
 # pp_hot.c [pp_print]
 package foo;


Property changes on: vendor/perl/dist/t/lib/warnings/pp_hot
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/pp_pack
===================================================================
--- vendor/perl/dist/t/lib/warnings/pp_pack	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/pp_pack	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/pp_pack
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/pp_sys
===================================================================
--- vendor/perl/dist/t/lib/warnings/pp_sys	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/pp_sys	2013-12-01 21:45:02 UTC (rev 6430)
@@ -585,16 +585,21 @@
 stat(STDIN) ;
 -T HOCUS;
 stat(POCUS);
+stat "../test.pl";
+stat *foo;
 no warnings qw(unopened closed) ;
 -T STDIN ;
 stat(STDIN);
 -T HOCUS;
 stat(POCUS);
+stat "../test.pl";
+stat *foo;
 EXPECT
 -T on closed filehandle STDIN at - line 4.
 stat() on closed filehandle STDIN at - line 5.
 -T on unopened filehandle HOCUS at - line 6.
 stat() on unopened filehandle POCUS at - line 7.
+stat() on unopened filehandle foo at - line 9.
 ########
 # pp_sys.c [pp_fttext]
 use warnings 'newline' ;
@@ -644,8 +649,11 @@
 use warnings 'io';
 open FH, "../harness" or die "# $!";
 lstat FH;
+lstat *FH;
+lstat \*FH;
 open my $fh, $0 or die "# $!";
 lstat $fh;
+lstat *FH{IO};
 no warnings 'io';
 lstat FH;
 lstat $fh;
@@ -653,8 +661,29 @@
 close $fh;
 EXPECT
 lstat() on filehandle FH at - line 4.
-lstat() on filehandle $fh at - line 6.
+lstat() on filehandle FH at - line 5.
+lstat() on filehandle FH at - line 6.
+lstat() on filehandle $fh at - line 8.
+lstat() on filehandle at - line 9.
 ########
+
+# pp_sys.c [pp_lstat]
+use warnings 'io';
+use utf8;
+use open qw( :utf8 :std );
+open ᶠḨ, "../harness" or die "# $!";
+lstat ᶠḨ;
+open my $fᚺ, $0 or die "# $!";
+lstat $fᚺ;
+no warnings 'io';
+lstat ᶠḨ;
+lstat $fᚺ;
+close ᶠḨ;
+close $fᚺ;
+EXPECT
+lstat() on filehandle ᶠḨ at - line 7.
+lstat() on filehandle $fᚺ at - line 9.
+########
 # pp_sys.c [pp_getc]
 use warnings qw(unopened closed) ;
 getc FOO;
@@ -681,6 +710,9 @@
 use warnings 'misc';
 $x = 1;
 select $x, undef, undef, 1;
+sub TIESCALAR{bless[]} sub FETCH {"hello"} sub STORE{}
+tie $y, "";
+select $y, undef, undef, 1;
 no warnings 'misc';
 select $x, undef, undef, 1;
 EXPECT
@@ -728,6 +760,22 @@
 Opening dirhandle FOO also as a file at - line 5.
 Opening dirhandle $foo also as a file at - line 6.
 ########
+
+# pp_sys.c [pp_open]
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+opendir FOO, ".";
+opendir $foo, ".";
+open FOO, "../harness";
+open $foo, "../harness";
+no warnings qw(io deprecated);
+open FOO, "../harness";
+open $foo, "../harness";
+EXPECT
+Opening dirhandle FOO also as a file at - line 8.
+Opening dirhandle $foo also as a file at - line 9.
+########
 # pp_sys.c [pp_open_dir]
 use warnings;
 open FOO, "../harness";
@@ -740,3 +788,87 @@
 EXPECT
 Opening filehandle FOO also as a directory at - line 5.
 Opening filehandle $foo also as a directory at - line 6.
+########
+
+# pp_sys.c [pp_open_dir]
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+use warnings;
+open FOO, "../harness";
+open $foo, "../harness";
+opendir FOO, ".";
+opendir $foo, ".";
+no warnings qw(io deprecated);
+opendir FOO, ".";
+opendir $foo, ".";
+EXPECT
+Opening filehandle FOO also as a directory at - line 9.
+Opening filehandle $foo also as a directory at - line 10.
+########
+# pp_sys.c [pp_*dir]
+use warnings 'io';
+opendir FOO, ".";
+opendir $foo, ".";
+closedir FOO;
+closedir $foo;
+
+readdir(FOO);
+telldir(FOO);
+seekdir(FOO, 0);
+rewinddir(FOO);
+closedir(FOO);
+
+readdir($foo);
+telldir($foo);
+seekdir($foo, 0);
+rewinddir($foo);
+closedir($foo);
+
+EXPECT
+readdir() attempted on invalid dirhandle FOO at - line 8.
+telldir() attempted on invalid dirhandle FOO at - line 9.
+seekdir() attempted on invalid dirhandle FOO at - line 10.
+rewinddir() attempted on invalid dirhandle FOO at - line 11.
+closedir() attempted on invalid dirhandle FOO at - line 12.
+readdir() attempted on invalid dirhandle $foo at - line 14.
+telldir() attempted on invalid dirhandle $foo at - line 15.
+seekdir() attempted on invalid dirhandle $foo at - line 16.
+rewinddir() attempted on invalid dirhandle $foo at - line 17.
+closedir() attempted on invalid dirhandle $foo at - line 18.
+########
+
+# pp_sys.c [pp_*dir]
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'io';
+opendir FOO, ".";
+opendir $foo, ".";
+opendir FOO, ".";
+opendir $foo, ".";
+closedir FOO;
+closedir $foo;
+
+readdir(FOO);
+telldir(FOO);
+seekdir(FOO, 0);
+rewinddir(FOO);
+closedir(FOO);
+
+readdir($foo);
+telldir($foo);
+seekdir($foo, 0);
+rewinddir($foo);
+closedir($foo);
+
+EXPECT
+readdir() attempted on invalid dirhandle FOO at - line 13.
+telldir() attempted on invalid dirhandle FOO at - line 14.
+seekdir() attempted on invalid dirhandle FOO at - line 15.
+rewinddir() attempted on invalid dirhandle FOO at - line 16.
+closedir() attempted on invalid dirhandle FOO at - line 17.
+readdir() attempted on invalid dirhandle $foo at - line 19.
+telldir() attempted on invalid dirhandle $foo at - line 20.
+seekdir() attempted on invalid dirhandle $foo at - line 21.
+rewinddir() attempted on invalid dirhandle $foo at - line 22.
+closedir() attempted on invalid dirhandle $foo at - line 23.


Property changes on: vendor/perl/dist/t/lib/warnings/pp_sys
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/regcomp
===================================================================
--- vendor/perl/dist/t/lib/warnings/regcomp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/regcomp	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,266 +1,3 @@
-  regcomp.c	AOK
+  regcomp.c	These tests have been moved to t/re/reg_mesg.t
 
-  Quantifier unexpected on zero-length expression [S_study_chunk] 
-
-  Useless (%s%c) - %suse /%c modifier [S_reg] 
-  Useless (%sc) - %suse /gc modifier [S_reg] 
-
-
-
-  Strange *+?{} on zero-length expression	[S_study_chunk]
-	/(?=a)?/
-
-  %.*s matches null string many times   	[S_regpiece]
-	$a = "ABC123" ; $a =~ /(?=a)*/'
-
-  /%.127s/: Unrecognized escape \\%c passed through	[S_regatom] 
-  	$x = '\m' ; /$x/
-
-  POSIX syntax [%c %c] belongs inside character classes	[S_checkposixcc] 
-
-
-  Character class [:%.*s:] unknown	[S_regpposixcc]
-
-  Character class syntax [%c %c] belongs inside character classes [S_checkposixcc] 
-  
-  /%.127s/: false [] range \"%*.*s\" in regexp [S_regclass]
-
-  /%.127s/: false [] range \"%*.*s\" in regexp [S_regclassutf8]
-
-  /%.127s/: Unrecognized escape \\%c in character class passed through"	[S_regclass] 
-
-  /%.127s/: Unrecognized escape \\%c in character class passed through"	[S_regclassutf8] 
-
-  False [] range \"%*.*s\" [S_regclass]
-
 __END__
-# regcomp.c [S_regpiece]
-use warnings 'regexp' ;
-my $a = "ABC123" ; 
-$a =~ /(?=a)*/ ;
-no warnings 'regexp' ;
-$a =~ /(?=a)*/ ;
-EXPECT
-(?=a)* matches null string many times in regex; marked by <-- HERE in m/(?=a)* <-- HERE / at - line 4.
-########
-# regcomp.c [S_regatom]
-$x = '\m' ;
-use warnings 'regexp' ;
-$a =~ /a$x/ ;
-no warnings 'regexp' ;
-$a =~ /a$x/ ;
-EXPECT
-Unrecognized escape \m passed through in regex; marked by <-- HERE in m/a\m <-- HERE / at - line 4.
-########
-# regcomp.c [S_regatom]
-# The \q should warn, the \_ should NOT warn.
-use warnings 'regexp';
-"foo" =~ /\q/;
-"foo" =~ /\q{/;
-"foo" =~ /a\b{cde/;
-"foo" =~ /a\B{cde/;
-"bar" =~ /\_/;
-no warnings 'regexp';
-"foo" =~ /\q/;
-"foo" =~ /\q{/;
-"foo" =~ /a\b{cde/;
-"foo" =~ /a\B{cde/;
-"bar" =~ /\_/;
-EXPECT
-Unrecognized escape \q passed through in regex; marked by <-- HERE in m/\q <-- HERE / at - line 4.
-Unrecognized escape \q{ passed through in regex; marked by <-- HERE in m/\q{ <-- HERE / at - line 5.
-"\b{" is deprecated; use "\b\{" instead in regex; marked by <-- HERE in m/a\ <-- HERE b{cde/ at - line 6.
-"\B{" is deprecated; use "\B\{" instead in regex; marked by <-- HERE in m/a\ <-- HERE B{cde/ at - line 7.
-########
-# regcomp.c [S_regpposixcc S_checkposixcc]
-#
-use warnings 'regexp' ;
-$_ = "" ;
-/[:alpha:]/;
-/[:zog:]/;
-no warnings 'regexp' ;
-/[:alpha:]/;
-/[:zog:]/;
-EXPECT
-POSIX syntax [: :] belongs inside character classes in regex; marked by <-- HERE in m/[:alpha:] <-- HERE / at - line 5.
-POSIX syntax [: :] belongs inside character classes in regex; marked by <-- HERE in m/[:zog:] <-- HERE / at - line 6.
-########
-# regcomp.c [S_checkposixcc]
-#
-use warnings 'regexp' ;
-$_ = "" ;
-/[.zog.]/;
-no warnings 'regexp' ;
-/[.zog.]/;
-EXPECT
-POSIX syntax [. .] belongs inside character classes in regex; marked by <-- HERE in m/[.zog.] <-- HERE / at - line 5.
-POSIX syntax [. .] is reserved for future extensions in regex; marked by <-- HERE in m/[.zog.] <-- HERE / at - line 5.
-########
-# regcomp.c [S_regclass]
-$_ = "";
-use warnings 'regexp' ;
-/[a-b]/;
-/[a-\d]/;
-/[\d-b]/;
-/[\s-\d]/;
-/[\d-\s]/;
-/[a-[:digit:]]/;
-/[[:digit:]-b]/;
-/[[:alpha:]-[:digit:]]/;
-/[[:digit:]-[:alpha:]]/;
-no warnings 'regexp' ;
-/[a-b]/;
-/[a-\d]/;
-/[\d-b]/;
-/[\s-\d]/;
-/[\d-\s]/;
-/[a-[:digit:]]/;
-/[[:digit:]-b]/;
-/[[:alpha:]-[:digit:]]/;
-/[[:digit:]-[:alpha:]]/;
-EXPECT
-False [] range "a-\d" in regex; marked by <-- HERE in m/[a-\d <-- HERE ]/ at - line 5.
-False [] range "\d-" in regex; marked by <-- HERE in m/[\d- <-- HERE b]/ at - line 6.
-False [] range "\s-" in regex; marked by <-- HERE in m/[\s- <-- HERE \d]/ at - line 7.
-False [] range "\d-" in regex; marked by <-- HERE in m/[\d- <-- HERE \s]/ at - line 8.
-False [] range "a-[:digit:]" in regex; marked by <-- HERE in m/[a-[:digit:] <-- HERE ]/ at - line 9.
-False [] range "[:digit:]-" in regex; marked by <-- HERE in m/[[:digit:]- <-- HERE b]/ at - line 10.
-False [] range "[:alpha:]-" in regex; marked by <-- HERE in m/[[:alpha:]- <-- HERE [:digit:]]/ at - line 11.
-False [] range "[:digit:]-" in regex; marked by <-- HERE in m/[[:digit:]- <-- HERE [:alpha:]]/ at - line 12.
-########
-# regcomp.c [S_regclassutf8]
-BEGIN {
-    if (ord("\t") == 5) {
-        print "SKIPPED\n# ebcdic regular expression ranges differ.";
-        exit 0;
-    }
-}
-use utf8;
-$_ = "";
-use warnings 'regexp' ;
-/[a-b]/;
-/[a-\d]/;
-/[\d-b]/;
-/[\s-\d]/;
-/[\d-\s]/;
-/[a-[:digit:]]/;
-/[[:digit:]-b]/;
-/[[:alpha:]-[:digit:]]/;
-/[[:digit:]-[:alpha:]]/;
-no warnings 'regexp' ;
-/[a-b]/;
-/[a-\d]/;
-/[\d-b]/;
-/[\s-\d]/;
-/[\d-\s]/;
-/[a-[:digit:]]/;
-/[[:digit:]-b]/;
-/[[:alpha:]-[:digit:]]/;
-/[[:digit:]-[:alpha:]]/;
-EXPECT
-False [] range "a-\d" in regex; marked by <-- HERE in m/[a-\d <-- HERE ]/ at - line 12.
-False [] range "\d-" in regex; marked by <-- HERE in m/[\d- <-- HERE b]/ at - line 13.
-False [] range "\s-" in regex; marked by <-- HERE in m/[\s- <-- HERE \d]/ at - line 14.
-False [] range "\d-" in regex; marked by <-- HERE in m/[\d- <-- HERE \s]/ at - line 15.
-False [] range "a-[:digit:]" in regex; marked by <-- HERE in m/[a-[:digit:] <-- HERE ]/ at - line 16.
-False [] range "[:digit:]-" in regex; marked by <-- HERE in m/[[:digit:]- <-- HERE b]/ at - line 17.
-False [] range "[:alpha:]-" in regex; marked by <-- HERE in m/[[:alpha:]- <-- HERE [:digit:]]/ at - line 18.
-False [] range "[:digit:]-" in regex; marked by <-- HERE in m/[[:digit:]- <-- HERE [:alpha:]]/ at - line 19.
-########
-# regcomp.c [S_regclass S_regclassutf8]
-use warnings 'regexp' ;
-$a =~ /[a\zb]/ ;
-no warnings 'regexp' ;
-$a =~ /[a\zb]/ ;
-EXPECT
-Unrecognized escape \z in character class passed through in regex; marked by <-- HERE in m/[a\z <-- HERE b]/ at - line 3.
-
-########
-# regcomp.c [S_reg]
-use warnings 'regexp' ;
-$a = qr/(?c)/;
-$a = qr/(?-c)/;
-$a = qr/(?g)/;
-$a = qr/(?-g)/;
-$a = qr/(?o)/;
-$a = qr/(?-o)/;
-$a = qr/(?g-o)/;
-$a = qr/(?g-c)/;
-$a = qr/(?o-cg)/;  # (?c) means (?g) error won't be thrown
-$a = qr/(?ogc)/;
-no warnings 'regexp' ;
-$a = qr/(?c)/;
-$a = qr/(?-c)/;
-$a = qr/(?g)/;
-$a = qr/(?-g)/;
-$a = qr/(?o)/;
-$a = qr/(?-o)/;
-$a = qr/(?g-o)/;
-$a = qr/(?g-c)/;
-$a = qr/(?o-cg)/;  # (?c) means (?g) error won't be thrown
-$a = qr/(?ogc)/;
-#EXPECT
-EXPECT
-Useless (?c) - use /gc modifier in regex; marked by <-- HERE in m/(?c <-- HERE )/ at - line 3.
-Useless (?-c) - don't use /gc modifier in regex; marked by <-- HERE in m/(?-c <-- HERE )/ at - line 4.
-Useless (?g) - use /g modifier in regex; marked by <-- HERE in m/(?g <-- HERE )/ at - line 5.
-Useless (?-g) - don't use /g modifier in regex; marked by <-- HERE in m/(?-g <-- HERE )/ at - line 6.
-Useless (?o) - use /o modifier in regex; marked by <-- HERE in m/(?o <-- HERE )/ at - line 7.
-Useless (?-o) - don't use /o modifier in regex; marked by <-- HERE in m/(?-o <-- HERE )/ at - line 8.
-Useless (?g) - use /g modifier in regex; marked by <-- HERE in m/(?g <-- HERE -o)/ at - line 9.
-Useless (?-o) - don't use /o modifier in regex; marked by <-- HERE in m/(?g-o <-- HERE )/ at - line 9.
-Useless (?g) - use /g modifier in regex; marked by <-- HERE in m/(?g <-- HERE -c)/ at - line 10.
-Useless (?-c) - don't use /gc modifier in regex; marked by <-- HERE in m/(?g-c <-- HERE )/ at - line 10.
-Useless (?o) - use /o modifier in regex; marked by <-- HERE in m/(?o <-- HERE -cg)/ at - line 11.
-Useless (?-c) - don't use /gc modifier in regex; marked by <-- HERE in m/(?o-c <-- HERE g)/ at - line 11.
-Useless (?o) - use /o modifier in regex; marked by <-- HERE in m/(?o <-- HERE gc)/ at - line 12.
-Useless (?g) - use /g modifier in regex; marked by <-- HERE in m/(?og <-- HERE c)/ at - line 12.
-Useless (?c) - use /gc modifier in regex; marked by <-- HERE in m/(?ogc <-- HERE )/ at - line 12.
-########
-# regcomp.c [S_regatom]
-$a = qr/\o{/;
-EXPECT
-Missing right brace on \o{ in regex; marked by <-- HERE in m/\o{ <-- HERE / at - line 2.
-########
-# regcomp.c [S_regatom]
-$a = qr/\o/;
-EXPECT
-Missing braces on \o{} in regex; marked by <-- HERE in m/\o <-- HERE / at - line 2.
-########
-# regcomp.c [S_regatom]
-$a = qr/\o{}/;
-EXPECT
-Number with no digits in regex; marked by <-- HERE in m/\o{} <-- HERE / at - line 2.
-########
-# regcomp.c [S_regclass]
-$a = qr/[\o{]/;
-EXPECT
-Missing right brace on \o{ in regex; marked by <-- HERE in m/[\o{ <-- HERE ]/ at - line 2.
-########
-# regcomp.c [S_regclass]
-$a = qr/[\o]/;
-EXPECT
-Missing braces on \o{} in regex; marked by <-- HERE in m/[\o <-- HERE ]/ at - line 2.
-########
-# regcomp.c [S_regclass]
-$a = qr/[\o{}]/;
-EXPECT
-Number with no digits in regex; marked by <-- HERE in m/[\o{} <-- HERE ]/ at - line 2.
-########
-# regcomp.c [S_regclass]
-use warnings 'regexp' ;
-$a = qr/[\8\9]/;
-$a = qr/[\_\0]/; # Should have no warnings on this and the remainder of this test
-$a = qr/[\07]/;
-$a = qr/[\006]/;
-$a = qr/[\0005]/;
-no warnings 'regexp' ;
-$a = qr/[\8\9]/;
-EXPECT
-Unrecognized escape \8 in character class passed through in regex; marked by <-- HERE in m/[\8 <-- HERE \9]/ at - line 3.
-Unrecognized escape \9 in character class passed through in regex; marked by <-- HERE in m/[\8\9 <-- HERE ]/ at - line 3.
-########
-# regcomp.c [Perl_re_compile]
-$a = qr/(?^-i:foo)/;
-EXPECT
-Sequence (?^-...) not recognized in regex; marked by <-- HERE in m/(?^- <-- HERE i:foo)/ at - line 2.


Property changes on: vendor/perl/dist/t/lib/warnings/regcomp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/regexec
===================================================================
--- vendor/perl/dist/t/lib/warnings/regexec	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/regexec	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/regexec
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/run
===================================================================
--- vendor/perl/dist/t/lib/warnings/run	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/run	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/run
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/sv
===================================================================
--- vendor/perl/dist/t/lib/warnings/sv	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/sv	2013-12-01 21:45:02 UTC (rev 6430)
@@ -34,6 +34,8 @@
 
   Reference is already weak			[Perl_sv_rvweaken] <<TODO
 
+  vector argument not supported with alpha versions
+
   Mandatory Warnings
   ------------------
   Malformed UTF-8 character [sv_pos_b2u] (not tested: difficult to produce
@@ -209,13 +211,6 @@
 Use of uninitialized value $a in concatenation (.) or string at - line 5.
 Use of uninitialized value $a in concatenation (.) or string at - line 6.
 ########
-# [perl #72090]
-use warnings 'uninitialized';
-$a = @$a > 0;
-EXPECT
-Use of uninitialized value $a in array dereference at - line 3.
-Use of uninitialized value in numeric gt (>) at - line 3.
-########
 # sv.c 
 use warnings 'numeric' ;
 sub TIESCALAR{bless[]} ; 
@@ -366,3 +361,39 @@
 $a = "\x{100}\x{200}"; $a = -$a;
 EXPECT
 Argument "\x{100}\x{200}" isn't numeric in negation (-) at - line 3.
+########
+# sv.c
+use warnings 'redefine' ;
+use utf8;
+use open qw( :utf8 :std );
+sub frèd {}  
+sub jòè {} 
+*frèd = \&jòè;
+no warnings 'redefine' ;
+sub jìm {} 
+*jìm = \&jòè ;
+EXPECT
+Subroutine main::frèd redefined at - line 7.
+########
+# sv.c
+use warnings 'redefine' ;
+use utf8;
+use open qw( :utf8 :std );
+sub f렏 {}  
+sub 조Ȩ {} 
+*f렏 = \&조Ȩ ;
+no warnings 'redefine' ;
+sub 짐 {} 
+*짐 = \&조Ȩ ;
+EXPECT
+Subroutine main::f렏 redefined at - line 7.
+########
+# sv.c
+sprintf "%vd", new version v1.1_0;
+use warnings 'printf' ;
+sprintf "%vd", new version v1.1_0;
+no warnings 'printf' ;
+sprintf "%vd", new version v1.1_0;
+EXPECT
+vector argument not supported with alpha versions at - line 2.
+vector argument not supported with alpha versions at - line 4.


Property changes on: vendor/perl/dist/t/lib/warnings/sv
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/lib/warnings/taint
===================================================================
--- vendor/perl/dist/t/lib/warnings/taint	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/taint	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/lib/warnings/taint
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/toke
===================================================================
--- vendor/perl/dist/t/lib/warnings/toke	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/toke	2013-12-01 21:45:02 UTC (rev 6430)
@@ -80,6 +80,9 @@
     Unrecognized escape \\%c passed through
         $a = "\m" ;
 
+    Useless use of \\E.
+        $a = "abcd\E" ;
+
     %s number > %s non-portable
         my $a =  0b011111111111111111111111111111110 ;
         $a =  0b011111111111111111111111111111111 ;
@@ -140,21 +143,41 @@
 Use of comma-less variable list is deprecated at - line 4.
 ########
 # toke.c
-$a =~ m/$foo/sand $bar;
-$a =~ s/$foo/fool/sand $bar;
 $a = <<;
 
 no warnings 'deprecated' ;
-$a =~ m/$foo/sand $bar;
-$a =~ s/$foo/fool/sand $bar;
 $a = <<;
 
 EXPECT
-Having no space between pattern and following word is deprecated at - line 2.
-Having no space between pattern and following word is deprecated at - line 3.
-Use of bare << to mean <<"" is deprecated at - line 4.
+Use of bare << to mean <<"" is deprecated at - line 2.
 ########
 # toke.c
+$a =~ m/$foo/eq;
+$a =~ s/$foo/fool/seq;
+
+EXPECT
+OPTION fatal
+Unknown regexp modifier "/e" at - line 2, near "=~ "
+Unknown regexp modifier "/q" at - line 2, near "=~ "
+Unknown regexp modifier "/q" at - line 3, near "=~ "
+Execution of - aborted due to compilation errors.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+$a =~ m/$foo/eネq;
+$a =~ s/$foo/fool/seネq;
+
+EXPECT
+OPTION fatal
+Unknown regexp modifier "/e" at - line 4, near "=~ "
+Unknown regexp modifier "/ネ" at - line 4, near "=~ "
+Unknown regexp modifier "/q" at - line 4, near "=~ "
+Unknown regexp modifier "/ネ" at - line 5, near "=~ "
+Unknown regexp modifier "/q" at - line 5, near "=~ "
+Execution of - aborted due to compilation errors.
+########
+# toke.c
 use warnings 'syntax' ;
 s/(abc)/\1/;
 no warnings 'syntax' ;
@@ -234,7 +257,27 @@
 You need to quote "fred" at - line 3.
 ########
 # toke.c
+use utf8;
+use open qw( :utf8 :std );
 use warnings 'syntax' ;
+sub frèd {} ; $SIG{TERM} = frèd;
+no warnings 'syntax' ;
+$SIG{TERM} = frèd;
+EXPECT
+You need to quote "frèd" at - line 5.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'syntax' ;
+sub ふれど {} ; $SIG{TERM} = ふれど;
+no warnings 'syntax' ;
+$SIG{TERM} = ふれど;
+EXPECT
+You need to quote "ふれど" at - line 5.
+########
+# toke.c
+use warnings 'syntax' ;
 @a[3] = 2;
 @a{3} = 2;
 no warnings 'syntax' ;
@@ -245,7 +288,33 @@
 Scalar value @a{3} better written as $a{3} at - line 4.
 ########
 # toke.c
+use utf8;
+use open qw( :utf8 :std );
 use warnings 'syntax' ;
+@à[3] = 2;
+@à{3} = 2;
+no warnings 'syntax' ;
+@à[3] = 2;
+@à{3} = 2;
+EXPECT
+Scalar value @à[3] better written as $à[3] at - line 5.
+Scalar value @à{3} better written as $à{3} at - line 6.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'syntax' ;
+@ぁ[3] = 2;
+@ぁ{3} = 2;
+no warnings 'syntax' ;
+@ぁ[3] = 2;
+@ぁ{3} = 2;
+EXPECT
+Scalar value @ぁ[3] better written as $ぁ[3] at - line 5.
+Scalar value @ぁ{3} better written as $ぁ{3} at - line 6.
+########
+# toke.c
+use warnings 'syntax' ;
 $_ = "ab" ; 
 s/(ab)/\1/e;
 no warnings 'syntax' ;
@@ -275,13 +344,22 @@
 ########
 # toke.c
 use warnings 'qw' ;
- at a = qw(a b #) ;
+ at a = qw(a b c # #) ;
 no warnings 'qw' ;
- at a = qw(a b #) ;
+ at a = qw(a b c # #) ;
 EXPECT
 Possible attempt to put comments in qw() list at - line 3.
 ########
 # toke.c
+use warnings 'qw' ;
+ at a = qw(a, b, c # #) ;
+no warnings 'qw' ;
+ at a = qw(a, b, c # #) ;
+EXPECT
+Possible attempt to separate words with commas at - line 3.
+Possible attempt to put comments in qw() list at - line 3.
+########
+# toke.c
 use warnings 'syntax' ;
 print ("");
 print ("") and $x = 1;
@@ -558,6 +636,30 @@
 Bareword "FRED::" refers to nonexistent package at bar line 25.
 ########
 # toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'bareword' ;
+#line 25 "bar"
+$a = FRÈD:: ;
+no warnings 'bareword' ;
+#line 25 "bar"
+$a = FRÈD:: ;
+EXPECT
+Bareword "FRÈD::" refers to nonexistent package at bar line 25.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'bareword' ;
+#line 25 "bar"
+$a = ϞϞϞ:: ;
+no warnings 'bareword' ;
+#line 25 "bar"
+$a = ϞϞϞ:: ;
+EXPECT
+Bareword "ϞϞϞ::" refers to nonexistent package at bar line 25.
+########
+# toke.c
 use warnings 'ambiguous' ;
 sub time {}
 my $a = time() ;
@@ -580,6 +682,8 @@
 ########
 # toke.c
 my $a = rand + 4 ;
+$a = rand *^H ;
+$a = rand $^H ;
 EXPECT
 Warning: Use of "rand" without parentheses is ambiguous at - line 2.
 ########
@@ -598,6 +702,14 @@
 Warning: Use of "rand" without parentheses is ambiguous at - line 8.
 Warning: Use of "rand" without parentheses is ambiguous at - line 10.
 ########
+# [perl #97110]
+sub myrand(;$) { }
+sub whatever($) { }
+my $a = myrand + 4 ;
+my $b = whatever + 4 ;
+EXPECT
+Warning: Use of "myrand" without parentheses is ambiguous at - line 4.
+########
 # toke.c
 use warnings "ambiguous";
 print for keys %+; # should not warn
@@ -606,6 +718,8 @@
 # toke.c
 sub fred {};
 -fred ;
+sub hank : lvalue {$_}
+--hank; # This should *not* warn [perl #77240]
 EXPECT
 Ambiguous use of -fred resolved as -&fred() at - line 3.
 ########
@@ -626,10 +740,77 @@
 Ambiguous use of -fred resolved as -&fred() at - line 11.
 ########
 # toke.c
+use utf8;
+use open qw( :utf8 :std );
+sub frèd {};
+-frèd ;
+EXPECT
+Ambiguous use of -frèd resolved as -&frèd() at - line 5.
+########
+# toke.c
+$^W = 0 ;
+use utf8;
+use open qw( :utf8 :std );
+sub frèd {} ;
+-frèd ;
+{
+    no warnings 'ambiguous' ;
+    -frèd ;
+    use warnings 'ambiguous' ;
+    -frèd ;
+}
+-frèd ;
+EXPECT
+Ambiguous use of -frèd resolved as -&frèd() at - line 6.
+Ambiguous use of -frèd resolved as -&frèd() at - line 11.
+Ambiguous use of -frèd resolved as -&frèd() at - line 13.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+sub ᒍᒘᒊ {};
+-ᒍᒘᒊ ;
+EXPECT
+Ambiguous use of -ᒍᒘᒊ resolved as -&ᒍᒘᒊ() at - line 5.
+########
+# toke.c
+$^W = 0 ;
+use utf8;
+use open qw( :utf8 :std );
+sub ᒍᒘᒊ {} ;
+-ᒍᒘᒊ ;
+{
+    no warnings 'ambiguous' ;
+    -ᒍᒘᒊ ;
+    use warnings 'ambiguous' ;
+    -ᒍᒘᒊ ;
+}
+-ᒍᒘᒊ ;
+EXPECT
+Ambiguous use of -ᒍᒘᒊ resolved as -&ᒍᒘᒊ() at - line 6.
+Ambiguous use of -ᒍᒘᒊ resolved as -&ᒍᒘᒊ() at - line 11.
+Ambiguous use of -ᒍᒘᒊ resolved as -&ᒍᒘᒊ() at - line 13.
+########
+# toke.c
 open FOO || time;
+open local *FOO; # should be ok
 EXPECT
 Precedence problem: open FOO should be open(FOO) at - line 2.
 ########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+open FÒÒ || time;
+EXPECT
+Precedence problem: open FÒÒ should be open(FÒÒ) at - line 4.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+open ᒍOO || time;
+EXPECT
+Precedence problem: open ᒍOO should be open(ᒍOO) at - line 4.
+########
 # toke.c (and [perl #16184])
 open FOO => "<&0"; close FOO;
 EXPECT
@@ -644,6 +825,7 @@
     open FOO || time;
 }
 open FOO || time;
+open Foo::BAR; # this should not warn
 EXPECT
 Precedence problem: open FOO should be open(FOO) at - line 3.
 Precedence problem: open FOO should be open(FOO) at - line 8.
@@ -651,6 +833,40 @@
 ########
 # toke.c
 $^W = 0 ;
+use utf8;
+use open qw( :utf8 :std );
+open FÒÒ || time;
+{
+    no warnings 'precedence' ;
+    open FÒÒ || time;
+    use warnings 'precedence' ;
+    open FÒÒ || time;
+}
+open FÒÒ || time;
+EXPECT
+Precedence problem: open FÒÒ should be open(FÒÒ) at - line 5.
+Precedence problem: open FÒÒ should be open(FÒÒ) at - line 10.
+Precedence problem: open FÒÒ should be open(FÒÒ) at - line 12.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+$^W = 0 ;
+open ᒍÒÒ || time;
+{
+    no warnings 'precedence' ;
+    open ᒍÒÒ || time;
+    use warnings 'precedence' ;
+    open ᒍÒÒ || time;
+}
+open ᒍÒÒ || time;
+EXPECT
+Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 5.
+Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 10.
+Precedence problem: open ᒍÒÒ should be open(ᒍÒÒ) at - line 12.
+########
+# toke.c
+$^W = 0 ;
 *foo *foo ;
 {
     no warnings 'ambiguous' ;
@@ -668,6 +884,26 @@
 Ambiguous use of * resolved as operator * at - line 10.
 ########
 # toke.c
+use utf8;
+use open qw( :utf8 :std );
+$^W = 0 ;
+*foo *foo ;
+{
+    no warnings 'ambiguous' ;
+    *foo *foo ;
+    use warnings 'ambiguous' ;
+    *foo *foo ;
+}
+*foo *foo ;
+EXPECT
+Operator or semicolon missing before *foo at - line 5.
+Ambiguous use of * resolved as operator * at - line 5.
+Operator or semicolon missing before *foo at - line 10.
+Ambiguous use of * resolved as operator * at - line 10.
+Operator or semicolon missing before *foo at - line 12.
+Ambiguous use of * resolved as operator * at - line 12.
+########
+# toke.c
 use warnings 'misc' ;
 my $a = "\m" ;
 no warnings 'misc' ;
@@ -676,6 +912,14 @@
 Unrecognized escape \m passed through at - line 3.
 ########
 # toke.c
+use warnings 'misc' ;
+my $a = "abcd\E" ;
+no warnings 'misc' ;
+$a = "abcd\E" ;
+EXPECT
+Useless use of \E at - line 3.
+########
+# toke.c
 use warnings 'portable' ;
 my $a =  0b011111111111111111111111111111110 ;
    $a =  0b011111111111111111111111111111111 ;
@@ -748,11 +992,31 @@
 use warnings 'ambiguous';
 "@mjd_previously_unused_array";        
 no warnings 'ambiguous';
-"@mjd_previously_unused_array";        
+"@mjd_previously_unused_array2";        
 EXPECT
 Possible unintended interpolation of @mjd_previously_unused_array in string at - line 3.
 ########
 # toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'ambiguous';
+"@mjd_previously_unused_àrray";        
+no warnings 'ambiguous';
+"@mjd_previously_unused_àrray2";        
+EXPECT
+Possible unintended interpolation of @mjd_previously_unused_àrray in string at - line 5.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'ambiguous';
+"@mjd_previously_unused_ぁrrぁy";        
+no warnings 'ambiguous';
+"@mjd_previously_unused_ぁrrぁy2";        
+EXPECT
+Possible unintended interpolation of @mjd_previously_unused_ぁrrぁy in string at - line 5.
+########
+# toke.c
 # 20020328 mjd-perl-patch+ at plover.com at behest of jfriedl at yahoo.com
 use warnings 'regexp';
 "foo" =~ /foo/c;
@@ -823,7 +1087,7 @@
 	(Missing operator before  6?)
 ########
 # toke.c
-use warnings "syntax";
+use warnings "syntax"; no warnings "deprecated";
 $_ = $a = 1;
 $a !=~  /1/;
 $a !=~ m#1#;
@@ -871,7 +1135,7 @@
 Use of :locked is deprecated at - line 6.
 ########
 # toke.c
-use warnings "syntax";
+use warnings "syntax"; use feature 'lexical_subs';
 sub proto_after_array(@$);
 sub proto_after_arref(\@$);
 sub proto_after_arref2(\[@$]);
@@ -883,6 +1147,14 @@
 sub underscore2($_;$);
 sub underscore_fail($_$);
 sub underscore_after_at(@_);
+our sub hour (@$);
+my sub migh (@$);
+use feature 'state';
+state sub estate (@$);
+package other;
+sub hour (@$);
+sub migh (@$);
+sub estate (@$);
 no warnings "syntax";
 sub proto_after_array(@$);
 sub proto_after_hash(%$);
@@ -892,6 +1164,15 @@
 Prototype after '%' for main::proto_after_hash : %$ at - line 7.
 Illegal character after '_' in prototype for main::underscore_fail : $_$ at - line 12.
 Prototype after '@' for main::underscore_after_at : @_ at - line 13.
+The lexical_subs feature is experimental at - line 14.
+Prototype after '@' for hour : @$ at - line 14.
+The lexical_subs feature is experimental at - line 15.
+Prototype after '@' for migh : @$ at - line 15.
+The lexical_subs feature is experimental at - line 17.
+Prototype after '@' for estate : @$ at - line 17.
+Prototype after '@' for hour : @$ at - line 19.
+Prototype after '@' for migh : @$ at - line 20.
+Prototype after '@' for estate : @$ at - line 21.
 ########
 # toke.c
 use warnings "ambiguous";
@@ -972,3 +1253,83 @@
 Regexp modifier "/l" may not appear twice at - line 5, near "= "
 Regexp modifier "/a" may appear a maximum of twice at - line 7, near "= "
 BEGIN not safe after errors--compilation aborted at - line 8.
+########
+# toke.c
+# [perl #4362]
+eval "print q\xabfoo";
+print "ok\n" if
+    $@ =~ /Can't find string terminator "\xab" anywhere before EOF/;
+EXPECT
+ok
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'ambiguous' ;
+sub frèd {}
+$a = ${frèd} ;
+no warnings 'ambiguous' ;
+$a = ${frèd} ;
+EXPECT
+Ambiguous use of ${frèd} resolved to $frèd at - line 6.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings 'ambiguous' ;
+sub f렏 {}
+$a = ${f렏} ;
+no warnings 'ambiguous' ;
+$a = ${f렏} ;
+EXPECT
+Ambiguous use of ${f렏} resolved to $f렏 at - line 6.
+########
+# toke.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+CORE::렏;
+EXPECT
+CORE::렏 is not a keyword at - line 5.
+########
+# toke.c
+# [perl #16249]
+print '';
+eval this_method_is_fake ();
+EXPECT
+Undefined subroutine &main::this_method_is_fake called at - line 4.
+########
+# toke.c
+# [perl #107002] Erroneous ambiguity warnings
+sub { # do not actually call require
+  require a::b . 1; # These used to produce erroneous
+  require a::b + 1; # ambiguity warnings.
+}
+EXPECT
+########
+# toke.c
+# [perl #113094]
+print "aa" =~ m{^a\{1,2\}$}, "\n";
+print "aa" =~ m{^a\x\{61\}$}, "\n";
+print "aa" =~ m{^a{1,2}$}, "\n";
+print "aq" =~ m[^a\[a-z\]$], "\n";
+print "aq" =~ m(^a\(q\)$), "\n";
+no warnings 'deprecated';
+print "aa" =~ m{^a\{1,2\}$}, "\n";
+print "aa" =~ m{^a\x\{61\}$}, "\n";
+print "aq" =~ m[^a\[a-z\]$], "\n";
+print "aq" =~ m(^a\(q\)$), "\n";
+EXPECT
+Useless use of '\'; doesn't escape metacharacter '{' at - line 3.
+Useless use of '\'; doesn't escape metacharacter '{' at - line 4.
+Useless use of '\'; doesn't escape metacharacter '[' at - line 6.
+Useless use of '\'; doesn't escape metacharacter '(' at - line 7.
+1
+1
+1
+1
+q
+1
+1
+1
+q


Property changes on: vendor/perl/dist/t/lib/warnings/toke
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/universal
===================================================================
--- vendor/perl/dist/t/lib/warnings/universal	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/universal	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,3 +13,15 @@
 UNIVERSAL::isa $a, Jim ;
 EXPECT
 Can't locate package Joe for @main::ISA at - line 5.
+########
+# universal.c [S_isa_lookup]
+print("SKIPPED\n# todo fix: overloading triggers spurious warnings\n"),exit;
+use warnings 'misc' ;
+use utf8;
+use open qw( :utf8 :std );
+package Y;
+ at ISA = qw(Joe) ;
+my $a = bless [] ;
+UNIVERSAL::isa $a, Jim ;
+EXPECT
+Can't locate package Joe for @Y::ISA at - line 8.


Property changes on: vendor/perl/dist/t/lib/warnings/universal
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/utf8
===================================================================
--- vendor/perl/dist/t/lib/warnings/utf8	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/utf8	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 
   utf8.c AOK
 
-     [utf8_to_uv]
+     [utf8_to_uvchr_buf]
      Malformed UTF-8 character
 	my $a = ord "\x80" ;
 
@@ -14,7 +14,7 @@
      <<<<<< Add a test when something actually calls utf16_to_utf8
 
 __END__
-# utf8.c [utf8_to_uv] -W
+# utf8.c [utf8_to_uvchr_buf] -W
 BEGIN {
     if (ord('A') == 193) {
         print "SKIPPED\n# ebcdic platforms do not generate Malformed UTF-8 warnings.";
@@ -170,7 +170,283 @@
 chr(0x100000) =~ /\p{Any}/;
 chr(0x10FFFE) =~ /\p{Any}/;
 chr(0x10FFFF) =~ /\p{Any}/;
-chr(0x110000) =~ /\p{Any}/;
+chr(0x110000) =~ /[\w\p{Any}]/;
+chr(0x110010) =~ /[\w\p{PosixWord}]/;
+chr(0x110011) =~ /[\w\P{PosixWord}]/;
+chr(0x110012) =~ /[\w\p{XPosixWord}]/;
+chr(0x110013) =~ /[\w\P{XPosixWord}]/;
+chr(0x110014) =~ /[\w\p{PosixAlnum}]/;
+chr(0x110015) =~ /[\w\P{PosixAlnum}]/;
+chr(0x110016) =~ /[\w\p{XPosixAlnum}]/;
+chr(0x110017) =~ /[\w\P{XPosixAlnum}]/;
+chr(0x110018) =~ /[\w\p{PosixSpace}]/;
+chr(0x110019) =~ /[\w\P{PosixSpace}]/;
+chr(0x11001A) =~ /[\w\p{XPosixSpace}]/;
+chr(0x11001B) =~ /[\w\P{XPosixSpace}]/;
+chr(0x11001C) =~ /[\w\p{PosixDigit}]/;
+chr(0x11001D) =~ /[\w\P{PosixDigit}]/;
+chr(0x11001E) =~ /[\w\p{XPosixDigit}]/;
+chr(0x11001F) =~ /[\w\P{XPosixDigit}]/;
+chr(0x110020) =~ /[\w\p{PosixAlpha}]/;
+chr(0x110021) =~ /[\w\P{PosixAlpha}]/;
+chr(0x110022) =~ /[\w\p{XPosixAlpha}]/;
+chr(0x110023) =~ /[\w\P{XPosixAlpha}]/;
+chr(0x110024) =~ /[\w\p{Ascii}]/;
+chr(0x110025) =~ /[\w\P{Ascii}]/;
+chr(0x110026) =~ /[\w\p{PosixCntrl}]/;
+chr(0x110027) =~ /[\w\P{PosixCntrl}]/;
+chr(0x110028) =~ /[\w\p{XPosixCntrl}]/;
+chr(0x110029) =~ /[\w\P{XPosixCntrl}]/;
+chr(0x11002A) =~ /[\w\p{PosixGraph}]/;
+chr(0x11002B) =~ /[\w\P{PosixGraph}]/;
+chr(0x11002C) =~ /[\w\p{XPosixGraph}]/;
+chr(0x11002D) =~ /[\w\P{XPosixGraph}]/;
+chr(0x11002E) =~ /[\w\p{PosixLower}]/;
+chr(0x11002F) =~ /[\w\P{PosixLower}]/;
+chr(0x110030) =~ /[\w\p{XPosixLower}]/;
+chr(0x110031) =~ /[\w\P{XPosixLower}]/;
+chr(0x110032) =~ /[\w\p{PosixPrint}]/;
+chr(0x110033) =~ /[\w\P{PosixPrint}]/;
+chr(0x110034) =~ /[\w\p{XPosixPrint}]/;
+chr(0x110035) =~ /[\w\P{XPosixPrint}]/;
+chr(0x110036) =~ /[\w\p{PosixPunct}]/;
+chr(0x110037) =~ /[\w\P{PosixPunct}]/;
+chr(0x110038) =~ /[\w\p{XPosixPunct}]/;
+chr(0x110039) =~ /[\w\P{XPosixPunct}]/;
+chr(0x11003A) =~ /[\w\p{PosixUpper}]/;
+chr(0x11003B) =~ /[\w\P{PosixUpper}]/;
+chr(0x11003C) =~ /[\w\p{XPosixUpper}]/;
+chr(0x11003D) =~ /[\w\P{XPosixUpper}]/;
+chr(0x11003E) =~ /[\w\p{PosixXdigit}]/;
+chr(0x11003F) =~ /[\w\P{PosixXdigit}]/;
+chr(0x110040) =~ /[\w\p{XPosixXdigit}]/;
+chr(0x110041) =~ /[\w\P{XPosixXdigit}]/;
+chr(0x110042) =~ /[\w\p{PerlSpace}]/;
+chr(0x110043) =~ /[\w\P{PerlSpace}]/;
+chr(0x110044) =~ /[\w\p{XPerlSpace}]/;
+chr(0x110045) =~ /[\w\P{XPerlSpace}]/;
+chr(0x110046) =~ /[\w\p{PosixBlank}]/;
+chr(0x110047) =~ /[\w\P{PosixBlank}]/;
+chr(0x110048) =~ /[\w\p{XPosixBlank}]/;
+chr(0x110049) =~ /[\w\P{XPosixBlank}]/;
+# Currently some warnings from the above are output twice
+# Only Unicode properties give non-Unicode warnings, and not when something
+# else in the class matches above Unicode.  Below we test three ways where
+# something outside the property may match non-Unicode: a code point above it,
+# a class \S that we know at compile time doesn't, and a class \W whose values
+# aren't (at the time of this writing) specified at compile time, but which
+# wouldn't match
+chr(0x110050) =~ /\w/;
+chr(0x110051) =~ /\W/;
+chr(0x110052) =~ /\d/;
+chr(0x110053) =~ /\D/;
+chr(0x110054) =~ /\s/;
+chr(0x110055) =~ /\S/;
+chr(0x110056) =~ /[[:word:]]/;
+chr(0x110057) =~ /[[:^word:]]/;
+chr(0x110058) =~ /[[:alnum:]]/;
+chr(0x110059) =~ /[[:^alnum:]]/;
+chr(0x11005A) =~ /[[:space:]]/;
+chr(0x11005B) =~ /[[:^space:]]/;
+chr(0x11005C) =~ /[[:digit:]]/;
+chr(0x11005D) =~ /[[:^digit:]]/;
+chr(0x11005E) =~ /[[:alpha:]]/;
+chr(0x11005F) =~ /[[:^alpha:]]/;
+chr(0x110060) =~ /[[:ascii:]]/;
+chr(0x110061) =~ /[[:^ascii:]]/;
+chr(0x110062) =~ /[[:cntrl:]]/;
+chr(0x110063) =~ /[[:^cntrl:]]/;
+chr(0x110064) =~ /[[:graph:]]/;
+chr(0x110065) =~ /[[:^graph:]]/;
+chr(0x110066) =~ /[[:lower:]]/;
+chr(0x110067) =~ /[[:^lower:]]/;
+chr(0x110068) =~ /[[:print:]]/;
+chr(0x110069) =~ /[[:^print:]]/;
+chr(0x11006A) =~ /[[:punct:]]/;
+chr(0x11006B) =~ /[[:^punct:]]/;
+chr(0x11006C) =~ /[[:upper:]]/;
+chr(0x11006D) =~ /[[:^upper:]]/;
+chr(0x11006E) =~ /[[:xdigit:]]/;
+chr(0x11006F) =~ /[[:^xdigit:]]/;
+chr(0x110070) =~ /[[:blank:]]/;
+chr(0x110071) =~ /[[:^blank:]]/;
+chr(0x111000) =~ /[\W\p{Any}]/;
+chr(0x111010) =~ /[\W\p{PosixWord}]/;
+chr(0x111011) =~ /[\W\P{PosixWord}]/;
+chr(0x111012) =~ /[\W\p{XPosixWord}]/;
+chr(0x111013) =~ /[\W\P{XPosixWord}]/;
+chr(0x111014) =~ /[\W\p{PosixAlnum}]/;
+chr(0x111015) =~ /[\W\P{PosixAlnum}]/;
+chr(0x111016) =~ /[\W\p{XPosixAlnum}]/;
+chr(0x111017) =~ /[\W\P{XPosixAlnum}]/;
+chr(0x111018) =~ /[\W\p{PosixSpace}]/;
+chr(0x111019) =~ /[\W\P{PosixSpace}]/;
+chr(0x11101A) =~ /[\W\p{XPosixSpace}]/;
+chr(0x11101B) =~ /[\W\P{XPosixSpace}]/;
+chr(0x11101C) =~ /[\W\p{PosixDigit}]/;
+chr(0x11101D) =~ /[\W\P{PosixDigit}]/;
+chr(0x11101E) =~ /[\W\p{XPosixDigit}]/;
+chr(0x11101F) =~ /[\W\P{XPosixDigit}]/;
+chr(0x111020) =~ /[\W\p{PosixAlpha}]/;
+chr(0x111021) =~ /[\W\P{PosixAlpha}]/;
+chr(0x111022) =~ /[\W\p{XPosixAlpha}]/;
+chr(0x111023) =~ /[\W\P{XPosixAlpha}]/;
+chr(0x111024) =~ /[\W\p{Ascii}]/;
+chr(0x111025) =~ /[\W\P{Ascii}]/;
+chr(0x111026) =~ /[\W\p{PosixCntrl}]/;
+chr(0x111027) =~ /[\W\P{PosixCntrl}]/;
+chr(0x111028) =~ /[\W\p{XPosixCntrl}]/;
+chr(0x111029) =~ /[\W\P{XPosixCntrl}]/;
+chr(0x11102A) =~ /[\W\p{PosixGraph}]/;
+chr(0x11102B) =~ /[\W\P{PosixGraph}]/;
+chr(0x11102C) =~ /[\W\p{XPosixGraph}]/;
+chr(0x11102D) =~ /[\W\P{XPosixGraph}]/;
+chr(0x11102E) =~ /[\W\p{PosixLower}]/;
+chr(0x11102F) =~ /[\W\P{PosixLower}]/;
+chr(0x111030) =~ /[\W\p{XPosixLower}]/;
+chr(0x111031) =~ /[\W\P{XPosixLower}]/;
+chr(0x111032) =~ /[\W\p{PosixPrint}]/;
+chr(0x111033) =~ /[\W\P{PosixPrint}]/;
+chr(0x111034) =~ /[\W\p{XPosixPrint}]/;
+chr(0x111035) =~ /[\W\P{XPosixPrint}]/;
+chr(0x111036) =~ /[\W\p{PosixPunct}]/;
+chr(0x111037) =~ /[\W\P{PosixPunct}]/;
+chr(0x111038) =~ /[\W\p{XPosixPunct}]/;
+chr(0x111039) =~ /[\W\P{XPosixPunct}]/;
+chr(0x11103A) =~ /[\W\p{PosixUpper}]/;
+chr(0x11103B) =~ /[\W\P{PosixUpper}]/;
+chr(0x11103C) =~ /[\W\p{XPosixUpper}]/;
+chr(0x11103D) =~ /[\W\P{XPosixUpper}]/;
+chr(0x11103E) =~ /[\W\p{PosixXdigit}]/;
+chr(0x11103F) =~ /[\W\P{PosixXdigit}]/;
+chr(0x111040) =~ /[\W\p{XPosixXdigit}]/;
+chr(0x111041) =~ /[\W\P{XPosixXdigit}]/;
+chr(0x111042) =~ /[\W\p{PerlSpace}]/;
+chr(0x111043) =~ /[\W\P{PerlSpace}]/;
+chr(0x111044) =~ /[\W\p{XPerlSpace}]/;
+chr(0x111045) =~ /[\W\P{XPerlSpace}]/;
+chr(0x111046) =~ /[\W\p{PosixBlank}]/;
+chr(0x111047) =~ /[\W\P{PosixBlank}]/;
+chr(0x111048) =~ /[\W\p{XPosixBlank}]/;
+chr(0x111049) =~ /[\W\P{XPosixBlank}]/;
+chr(0x112000) =~ /[\S\p{Any}]/;
+chr(0x112010) =~ /[\S\p{PosixWord}]/;
+chr(0x112011) =~ /[\S\P{PosixWord}]/;
+chr(0x112012) =~ /[\S\p{XPosixWord}]/;
+chr(0x112013) =~ /[\S\P{XPosixWord}]/;
+chr(0x112014) =~ /[\S\p{PosixAlnum}]/;
+chr(0x112015) =~ /[\S\P{PosixAlnum}]/;
+chr(0x112016) =~ /[\S\p{XPosixAlnum}]/;
+chr(0x112017) =~ /[\S\P{XPosixAlnum}]/;
+chr(0x112018) =~ /[\S\p{PosixSpace}]/;
+chr(0x112019) =~ /[\S\P{PosixSpace}]/;
+chr(0x11201A) =~ /[\S\p{XPosixSpace}]/;
+chr(0x11201B) =~ /[\S\P{XPosixSpace}]/;
+chr(0x11201C) =~ /[\S\p{PosixDigit}]/;
+chr(0x11201D) =~ /[\S\P{PosixDigit}]/;
+chr(0x11201E) =~ /[\S\p{XPosixDigit}]/;
+chr(0x11201F) =~ /[\S\P{XPosixDigit}]/;
+chr(0x112020) =~ /[\S\p{PosixAlpha}]/;
+chr(0x112021) =~ /[\S\P{PosixAlpha}]/;
+chr(0x112022) =~ /[\S\p{XPosixAlpha}]/;
+chr(0x112023) =~ /[\S\P{XPosixAlpha}]/;
+chr(0x112024) =~ /[\S\p{Ascii}]/;
+chr(0x112025) =~ /[\S\P{Ascii}]/;
+chr(0x112026) =~ /[\S\p{PosixCntrl}]/;
+chr(0x112027) =~ /[\S\P{PosixCntrl}]/;
+chr(0x112028) =~ /[\S\p{XPosixCntrl}]/;
+chr(0x112029) =~ /[\S\P{XPosixCntrl}]/;
+chr(0x11202A) =~ /[\S\p{PosixGraph}]/;
+chr(0x11202B) =~ /[\S\P{PosixGraph}]/;
+chr(0x11202C) =~ /[\S\p{XPosixGraph}]/;
+chr(0x11202D) =~ /[\S\P{XPosixGraph}]/;
+chr(0x11202E) =~ /[\S\p{PosixLower}]/;
+chr(0x11202F) =~ /[\S\P{PosixLower}]/;
+chr(0x112030) =~ /[\S\p{XPosixLower}]/;
+chr(0x112031) =~ /[\S\P{XPosixLower}]/;
+chr(0x112032) =~ /[\S\p{PosixPrint}]/;
+chr(0x112033) =~ /[\S\P{PosixPrint}]/;
+chr(0x112034) =~ /[\S\p{XPosixPrint}]/;
+chr(0x112035) =~ /[\S\P{XPosixPrint}]/;
+chr(0x112036) =~ /[\S\p{PosixPunct}]/;
+chr(0x112037) =~ /[\S\P{PosixPunct}]/;
+chr(0x112038) =~ /[\S\p{XPosixPunct}]/;
+chr(0x112039) =~ /[\S\P{XPosixPunct}]/;
+chr(0x11203A) =~ /[\S\p{PosixUpper}]/;
+chr(0x11203B) =~ /[\S\P{PosixUpper}]/;
+chr(0x11203C) =~ /[\S\p{XPosixUpper}]/;
+chr(0x11203D) =~ /[\S\P{XPosixUpper}]/;
+chr(0x11203E) =~ /[\S\p{PosixXdigit}]/;
+chr(0x11203F) =~ /[\S\P{PosixXdigit}]/;
+chr(0x112040) =~ /[\S\p{XPosixXdigit}]/;
+chr(0x112041) =~ /[\S\P{XPosixXdigit}]/;
+chr(0x112042) =~ /[\S\p{PerlSpace}]/;
+chr(0x112043) =~ /[\S\P{PerlSpace}]/;
+chr(0x112044) =~ /[\S\p{XPerlSpace}]/;
+chr(0x112045) =~ /[\S\P{XPerlSpace}]/;
+chr(0x112046) =~ /[\S\p{PosixBlank}]/;
+chr(0x112047) =~ /[\S\P{PosixBlank}]/;
+chr(0x112048) =~ /[\S\p{XPosixBlank}]/;
+chr(0x112049) =~ /[\S\P{XPosixBlank}]/;
+chr(0x113000) =~ /[\x{110000}\p{Any}]/;
+chr(0x113010) =~ /[\x{110000}\p{PosixWord}]/;
+chr(0x113011) =~ /[\x{110000}\P{PosixWord}]/;
+chr(0x113012) =~ /[\x{110000}\p{XPosixWord}]/;
+chr(0x113013) =~ /[\x{110000}\P{XPosixWord}]/;
+chr(0x113014) =~ /[\x{110000}\p{PosixAlnum}]/;
+chr(0x113015) =~ /[\x{110000}\P{PosixAlnum}]/;
+chr(0x113016) =~ /[\x{110000}\p{XPosixAlnum}]/;
+chr(0x113017) =~ /[\x{110000}\P{XPosixAlnum}]/;
+chr(0x113018) =~ /[\x{110000}\p{PosixSpace}]/;
+chr(0x113019) =~ /[\x{110000}\P{PosixSpace}]/;
+chr(0x11301A) =~ /[\x{110000}\p{XPosixSpace}]/;
+chr(0x11301B) =~ /[\x{110000}\P{XPosixSpace}]/;
+chr(0x11301C) =~ /[\x{110000}\p{PosixDigit}]/;
+chr(0x11301D) =~ /[\x{110000}\P{PosixDigit}]/;
+chr(0x11301E) =~ /[\x{110000}\p{XPosixDigit}]/;
+chr(0x11301F) =~ /[\x{110000}\P{XPosixDigit}]/;
+chr(0x113020) =~ /[\x{110000}\p{PosixAlpha}]/;
+chr(0x113021) =~ /[\x{110000}\P{PosixAlpha}]/;
+chr(0x113022) =~ /[\x{110000}\p{XPosixAlpha}]/;
+chr(0x113023) =~ /[\x{110000}\P{XPosixAlpha}]/;
+chr(0x113024) =~ /[\x{110000}\p{Ascii}]/;
+chr(0x113025) =~ /[\x{110000}\P{Ascii}]/;
+chr(0x113026) =~ /[\x{110000}\p{PosixCntrl}]/;
+chr(0x113027) =~ /[\x{110000}\P{PosixCntrl}]/;
+chr(0x113028) =~ /[\x{110000}\p{XPosixCntrl}]/;
+chr(0x113029) =~ /[\x{110000}\P{XPosixCntrl}]/;
+chr(0x11302A) =~ /[\x{110000}\p{PosixGraph}]/;
+chr(0x11302B) =~ /[\x{110000}\P{PosixGraph}]/;
+chr(0x11302C) =~ /[\x{110000}\p{XPosixGraph}]/;
+chr(0x11302D) =~ /[\x{110000}\P{XPosixGraph}]/;
+chr(0x11302E) =~ /[\x{110000}\p{PosixLower}]/;
+chr(0x11302F) =~ /[\x{110000}\P{PosixLower}]/;
+chr(0x113030) =~ /[\x{110000}\p{XPosixLower}]/;
+chr(0x113031) =~ /[\x{110000}\P{XPosixLower}]/;
+chr(0x113032) =~ /[\x{110000}\p{PosixPrint}]/;
+chr(0x113033) =~ /[\x{110000}\P{PosixPrint}]/;
+chr(0x113034) =~ /[\x{110000}\p{XPosixPrint}]/;
+chr(0x113035) =~ /[\x{110000}\P{XPosixPrint}]/;
+chr(0x113036) =~ /[\x{110000}\p{PosixPunct}]/;
+chr(0x113037) =~ /[\x{110000}\P{PosixPunct}]/;
+chr(0x113038) =~ /[\x{110000}\p{XPosixPunct}]/;
+chr(0x113039) =~ /[\x{110000}\P{XPosixPunct}]/;
+chr(0x11303A) =~ /[\x{110000}\p{PosixUpper}]/;
+chr(0x11303B) =~ /[\x{110000}\P{PosixUpper}]/;
+chr(0x11303C) =~ /[\x{110000}\p{XPosixUpper}]/;
+chr(0x11303D) =~ /[\x{110000}\P{XPosixUpper}]/;
+chr(0x11303E) =~ /[\x{110000}\p{PosixXdigit}]/;
+chr(0x11303F) =~ /[\x{110000}\P{PosixXdigit}]/;
+chr(0x113040) =~ /[\x{110000}\p{XPosixXdigit}]/;
+chr(0x113041) =~ /[\x{110000}\P{XPosixXdigit}]/;
+chr(0x113042) =~ /[\x{110000}\p{PerlSpace}]/;
+chr(0x113043) =~ /[\x{110000}\P{PerlSpace}]/;
+chr(0x113044) =~ /[\x{110000}\p{XPerlSpace}]/;
+chr(0x113045) =~ /[\x{110000}\P{XPerlSpace}]/;
+chr(0x113046) =~ /[\x{110000}\p{PosixBlank}]/;
+chr(0x113047) =~ /[\x{110000}\P{PosixBlank}]/;
+chr(0x113048) =~ /[\x{110000}\p{XPosixBlank}]/;
+chr(0x113049) =~ /[\x{110000}\P{XPosixBlank}]/;
 no warnings 'utf8';
 chr(0xD7FF) =~ /\p{Any}/;
 chr(0xD800) =~ /\p{Any}/;
@@ -185,8 +461,187 @@
 chr(0x10FFFE) =~ /\p{Any}/;
 chr(0x10FFFF) =~ /\p{Any}/;
 chr(0x110000) =~ /\p{Any}/;
+chr(0x110010) =~ /\p{PosixWord}/;
+chr(0x110011) =~ /\P{PosixWord}/;
+chr(0x110012) =~ /\p{XPosixWord}/;
+chr(0x110013) =~ /\P{XPosixWord}/;
+chr(0x110014) =~ /\p{PosixAlnum}/;
+chr(0x110015) =~ /\P{PosixAlnum}/;
+chr(0x110016) =~ /\p{XPosixAlnum}/;
+chr(0x110017) =~ /\P{XPosixAlnum}/;
+chr(0x110018) =~ /\p{PosixSpace}/;
+chr(0x110019) =~ /\P{PosixSpace}/;
+chr(0x11001A) =~ /\p{XPosixSpace}/;
+chr(0x11001B) =~ /\P{XPosixSpace}/;
+chr(0x11001C) =~ /\p{PosixDigit}/;
+chr(0x11001D) =~ /\P{PosixDigit}/;
+chr(0x11001E) =~ /\p{XPosixDigit}/;
+chr(0x11001F) =~ /\P{XPosixDigit}/;
+chr(0x110020) =~ /\p{PosixAlpha}/;
+chr(0x110021) =~ /\P{PosixAlpha}/;
+chr(0x110022) =~ /\p{XPosixAlpha}/;
+chr(0x110023) =~ /\P{XPosixAlpha}/;
+chr(0x110024) =~ /\p{Ascii}/;
+chr(0x110025) =~ /\P{Ascii}/;
+chr(0x110026) =~ /\p{PosixCntrl}/;
+chr(0x110027) =~ /\P{PosixCntrl}/;
+chr(0x110028) =~ /\p{XPosixCntrl}/;
+chr(0x110029) =~ /\P{XPosixCntrl}/;
+chr(0x11002A) =~ /\p{PosixGraph}/;
+chr(0x11002B) =~ /\P{PosixGraph}/;
+chr(0x11002C) =~ /\p{XPosixGraph}/;
+chr(0x11002D) =~ /\P{XPosixGraph}/;
+chr(0x11002E) =~ /\p{PosixLower}/;
+chr(0x11002F) =~ /\P{PosixLower}/;
+chr(0x110030) =~ /\p{XPosixLower}/;
+chr(0x110031) =~ /\P{XPosixLower}/;
+chr(0x110032) =~ /\p{PosixPrint}/;
+chr(0x110033) =~ /\P{PosixPrint}/;
+chr(0x110034) =~ /\p{XPosixPrint}/;
+chr(0x110035) =~ /\P{XPosixPrint}/;
+chr(0x110036) =~ /\p{PosixPunct}/;
+chr(0x110037) =~ /\P{PosixPunct}/;
+chr(0x110038) =~ /\p{XPosixPunct}/;
+chr(0x110039) =~ /\P{XPosixPunct}/;
+chr(0x11003A) =~ /\p{PosixUpper}/;
+chr(0x11003B) =~ /\P{PosixUpper}/;
+chr(0x11003C) =~ /\p{XPosixUpper}/;
+chr(0x11003D) =~ /\P{XPosixUpper}/;
+chr(0x11003E) =~ /\p{PosixXdigit}/;
+chr(0x11003F) =~ /\P{PosixXdigit}/;
+chr(0x110040) =~ /\p{XPosixXdigit}/;
+chr(0x110041) =~ /\P{XPosixXdigit}/;
+chr(0x110042) =~ /\p{PerlSpace}/;
+chr(0x110043) =~ /\P{PerlSpace}/;
+chr(0x110044) =~ /\p{XPerlSpace}/;
+chr(0x110045) =~ /\P{XPerlSpace}/;
+chr(0x110046) =~ /\p{PosixBlank}/;
+chr(0x110047) =~ /\P{PosixBlank}/;
+chr(0x110048) =~ /\p{XPosixBlank}/;
+chr(0x110049) =~ /\P{XPosixBlank}/;
+chr(0x110050) =~ /\w/;
+chr(0x110051) =~ /\W/;
+chr(0x110052) =~ /\d/;
+chr(0x110053) =~ /\D/;
+chr(0x110054) =~ /\s/;
+chr(0x110055) =~ /\S/;
+chr(0x110056) =~ /[[:word:]]/;
+chr(0x110057) =~ /[[:^word:]]/;
+chr(0x110058) =~ /[[:alnum:]]/;
+chr(0x110059) =~ /[[:^alnum:]]/;
+chr(0x11005A) =~ /[[:space:]]/;
+chr(0x11005B) =~ /[[:^space:]]/;
+chr(0x11005C) =~ /[[:digit:]]/;
+chr(0x11005D) =~ /[[:^digit:]]/;
+chr(0x11005E) =~ /[[:alpha:]]/;
+chr(0x11005F) =~ /[[:^alpha:]]/;
+chr(0x110060) =~ /[[:ascii:]]/;
+chr(0x110061) =~ /[[:^ascii:]]/;
+chr(0x110062) =~ /[[:cntrl:]]/;
+chr(0x110063) =~ /[[:^cntrl:]]/;
+chr(0x110064) =~ /[[:graph:]]/;
+chr(0x110065) =~ /[[:^graph:]]/;
+chr(0x110066) =~ /[[:lower:]]/;
+chr(0x110067) =~ /[[:^lower:]]/;
+chr(0x110068) =~ /[[:print:]]/;
+chr(0x110069) =~ /[[:^print:]]/;
+chr(0x11006A) =~ /[[:punct:]]/;
+chr(0x11006B) =~ /[[:^punct:]]/;
+chr(0x11006C) =~ /[[:upper:]]/;
+chr(0x11006D) =~ /[[:^upper:]]/;
+chr(0x11006E) =~ /[[:xdigit:]]/;
+chr(0x11006F) =~ /[[:^xdigit:]]/;
+chr(0x110070) =~ /[[:blank:]]/;
+chr(0x110071) =~ /[[:^blank:]]/;
 EXPECT
-Code point 0x110000 is not Unicode, no properties match it; all inverse properties do at - line 14.
+Code point 0x110000 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 14.
+Code point 0x110010 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 15.
+Code point 0x110011 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 16.
+Code point 0x110011 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 16.
+Code point 0x110012 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 17.
+Code point 0x110013 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 18.
+Code point 0x110013 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 18.
+Code point 0x110014 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 19.
+Code point 0x110015 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 20.
+Code point 0x110015 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 20.
+Code point 0x110016 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 21.
+Code point 0x110017 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 22.
+Code point 0x110017 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 22.
+Code point 0x110018 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 23.
+Code point 0x110019 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 24.
+Code point 0x110019 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 24.
+Code point 0x11001A is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 25.
+Code point 0x11001B is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 26.
+Code point 0x11001B is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 26.
+Code point 0x11001C is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 27.
+Code point 0x11001D is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 28.
+Code point 0x11001D is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 28.
+Code point 0x11001E is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 29.
+Code point 0x11001F is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 30.
+Code point 0x11001F is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 30.
+Code point 0x110020 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 31.
+Code point 0x110021 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 32.
+Code point 0x110021 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 32.
+Code point 0x110022 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 33.
+Code point 0x110023 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 34.
+Code point 0x110023 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 34.
+Code point 0x110024 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 35.
+Code point 0x110025 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 36.
+Code point 0x110025 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 36.
+Code point 0x110026 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 37.
+Code point 0x110027 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 38.
+Code point 0x110027 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 38.
+Code point 0x110028 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 39.
+Code point 0x110029 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 40.
+Code point 0x110029 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 40.
+Code point 0x11002A is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 41.
+Code point 0x11002B is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 42.
+Code point 0x11002B is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 42.
+Code point 0x11002C is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 43.
+Code point 0x11002D is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 44.
+Code point 0x11002D is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 44.
+Code point 0x11002E is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 45.
+Code point 0x11002F is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 46.
+Code point 0x11002F is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 46.
+Code point 0x110030 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 47.
+Code point 0x110031 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 48.
+Code point 0x110031 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 48.
+Code point 0x110032 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 49.
+Code point 0x110033 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 50.
+Code point 0x110033 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 50.
+Code point 0x110034 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 51.
+Code point 0x110035 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 52.
+Code point 0x110035 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 52.
+Code point 0x110036 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 53.
+Code point 0x110037 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 54.
+Code point 0x110037 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 54.
+Code point 0x110038 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 55.
+Code point 0x110039 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 56.
+Code point 0x110039 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 56.
+Code point 0x11003A is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 57.
+Code point 0x11003B is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 58.
+Code point 0x11003B is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 58.
+Code point 0x11003C is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 59.
+Code point 0x11003D is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 60.
+Code point 0x11003D is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 60.
+Code point 0x11003E is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 61.
+Code point 0x11003F is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 62.
+Code point 0x11003F is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 62.
+Code point 0x110040 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 63.
+Code point 0x110041 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 64.
+Code point 0x110041 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 64.
+Code point 0x110042 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 65.
+Code point 0x110043 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 66.
+Code point 0x110043 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 66.
+Code point 0x110044 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 67.
+Code point 0x110045 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 68.
+Code point 0x110045 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 68.
+Code point 0x110046 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 69.
+Code point 0x110047 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 70.
+Code point 0x110047 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 70.
+Code point 0x110048 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 71.
+Code point 0x110049 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 72.
+Code point 0x110049 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 72.
 ########
 use warnings 'utf8';
 chr(0x110000) =~ /\p{Any}/;
@@ -193,10 +648,27 @@
 no warnings 'non_unicode';
 chr(0x110000) =~ /\p{Any}/;
 EXPECT
-Code point 0x110000 is not Unicode, no properties match it; all inverse properties do at - line 2.
+Code point 0x110000 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 2.
 ########
+# TODO optimized regnode should still give warnings
+use warnings 'utf8';
+chr(0x110000) =~ /lb=cr/;
+no warnings 'non_unicode';
+chr(0x110000) =~ /lb=cr/;
+EXPECT
+Code point 0x110000 is not Unicode, all \p{} matches fail; all \P{} matches succeed at - line 2.
+########
 require "../test.pl";
 use warnings 'utf8';
+sub Is_Super { return '!utf8::Any' }
+# The extra char is to avoid an optimization that avoids the problem when the
+# property is the only non-latin1 char in a class
+print "\x{1100000}" =~ /^[\p{Is_Super}\x{100}]$/, "\n";
+EXPECT
+1
+########
+require "../test.pl";
+use warnings 'utf8';
 my $file = tempfile();
 open(my $fh, "+>:utf8", $file);
 print $fh "\x{D7FF}", "\n";
@@ -340,7 +812,37 @@
 Unicode surrogate U+D800 is illegal in UTF-8 at - line 6.
 Unicode non-character U+FFFF is illegal for open interchange at - line 7.
 ########
+# NAME C<use warnings "nonchar"> works in isolation
 require "../test.pl";
+use warnings 'nonchar';
+my $file = tempfile();
+open(my $fh, "+>:utf8", $file);
+print $fh "\x{FFFF}", "\n";
+close $fh;
+EXPECT
+Unicode non-character U+FFFF is illegal for open interchange at - line 5.
+########
+# NAME C<use warnings "surrogate"> works in isolation
+require "../test.pl";
+use warnings 'surrogate';
+my $file = tempfile();
+open(my $fh, "+>:utf8", $file);
+print $fh "\x{D800}", "\n";
+close $fh;
+EXPECT
+Unicode surrogate U+D800 is illegal in UTF-8 at - line 5.
+########
+# NAME C<use warnings "non_unicode"> works in isolation
+require "../test.pl";
+use warnings 'non_unicode';
+my $file = tempfile();
+open(my $fh, "+>:utf8", $file);
+print $fh "\x{110000}", "\n";
+close $fh;
+EXPECT
+Code point 0x110000 is not Unicode, may not be portable at - line 5.
+########
+require "../test.pl";
 no warnings 'utf8';
 my $file = tempfile();
 open(my $fh, "+>:utf8", $file);


Property changes on: vendor/perl/dist/t/lib/warnings/utf8
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/lib/warnings/util
===================================================================
--- vendor/perl/dist/t/lib/warnings/util	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/lib/warnings/util	2013-12-01 21:45:02 UTC (rev 6430)
@@ -156,3 +156,123 @@
 EXPECT
 Name "main::y" used only once: possible typo at - line 8.
 Use of uninitialized value $y in print at - line 8.
+########
+# util.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+$ㄒ = 1;
+if ($ㄒ) {
+    print $ʎ;
+}
+EXPECT
+Name "main::ʎ" used only once: possible typo at - line 7.
+Use of uninitialized value $ʎ in print at - line 7.
+########
+# util.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+$ㄒ = 1;
+if ($ㄒ) {
+    $ㄒ++;
+    print $ʎ;
+}
+EXPECT
+Name "main::ʎ" used only once: possible typo at - line 8.
+Use of uninitialized value $ʎ in print at - line 8.
+########
+# util.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+$ㄒ = 0;
+if ($ㄒ) {
+    print "1\n";
+} elsif (!$ㄒ) {
+    print $ʎ;
+} else {
+    print "0\n";
+}
+EXPECT
+Name "main::ʎ" used only once: possible typo at - line 9.
+Use of uninitialized value $ʎ in print at - line 9.
+########
+# util.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+$ㄒ = 0;
+if ($ㄒ) {
+    print "1\n";
+} elsif (!$ㄒ) {
+    $ㄒ++;
+    print $ʎ;
+} else {
+    print "0\n";
+}
+EXPECT
+Name "main::ʎ" used only once: possible typo at - line 10.
+Use of uninitialized value $ʎ in print at - line 10.
+########
+# util.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+package 팣칵ぇ;
+$ㄒ = 1;
+if ($ㄒ) {
+    print $ʎ;
+}
+EXPECT
+Name "팣칵ぇ::ʎ" used only once: possible typo at - line 8.
+Use of uninitialized value $팣칵ぇ::ʎ in print at - line 8.
+########
+# util.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+package 팣칵ぇ;
+$ㄒ = 1;
+if ($ㄒ) {
+    $ㄒ++;
+    print $ʎ;
+}
+EXPECT
+Name "팣칵ぇ::ʎ" used only once: possible typo at - line 9.
+Use of uninitialized value $팣칵ぇ::ʎ in print at - line 9.
+########
+# util.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+package 팣칵ぇ;
+$ㄒ = 0;
+if ($ㄒ) {
+    print "1\n";
+} elsif (!$ㄒ) {
+    print $ʎ;
+} else {
+    print "0\n";
+}
+EXPECT
+Name "팣칵ぇ::ʎ" used only once: possible typo at - line 10.
+Use of uninitialized value $팣칵ぇ::ʎ in print at - line 10.
+########
+# util.c
+use utf8;
+use open qw( :utf8 :std );
+use warnings;
+package 팣칵ぇ;
+$ㄒ = 0;
+if ($ㄒ) {
+    print "1\n";
+} elsif (!$ㄒ) {
+    $ㄒ++;
+    print $ʎ;
+} else {
+    print "0\n";
+}
+EXPECT
+Name "팣칵ぇ::ʎ" used only once: possible typo at - line 11.
+Use of uninitialized value $팣칵ぇ::ʎ in print at - line 11.


Property changes on: vendor/perl/dist/t/lib/warnings/util
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/basic.t
===================================================================
--- vendor/perl/dist/t/mro/basic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-BEGIN { require q(./test.pl); } plan(tests => 52);
+BEGIN { require q(./test.pl); } plan(tests => 59);
 
 require mro;
 
@@ -328,3 +328,45 @@
     undef %Thwit::;
     ok !Thrext->isa('Sile'), 'undef %package:: updates subclasses';
 }
+
+{
+    # Obliterating @ISA via glob assignment
+    # Broken in 5.14.0; fixed in 5.17.2
+    @Gwythaint::ISA = "Fantastic::Creature";
+    undef *This_glob_haD_better_not_exist; # paranoia; must have no array
+    *Gwythaint::ISA = *This_glob_haD_better_not_exist;
+    ok !Gwythaint->isa("Fantastic::Creature"),
+       'obliterating @ISA via glob assignment';
+}
+
+{
+    # Autovivifying @ISA via @{*ISA}
+    no warnings;
+    undef *fednu::ISA;
+    @{*fednu::ISA} = "pyfg";
+    ok +fednu->isa("pyfg"), 'autovivifying @ISA via *{@ISA}';
+}
+
+{
+    sub Detached::method;
+    my $h = delete $::{"Detached::"};
+    eval { local *Detached::method };
+    is $@, "", 'localising gv-with-cv belonging to detached package';
+}
+
+{
+    # *ISA localisation
+    @il::ISA = "ilsuper";
+    sub ilsuper::can { "puree" }
+    sub il::tomatoes;
+    {
+        local *il::ISA;
+        is +il->can("tomatoes"), \&il::tomatoes, 'local *ISA';
+    }
+    is "il"->can("tomatoes"), "puree", 'local *ISA unwinding';
+    {
+        local *il::ISA = [];
+        is +il->can("tomatoes"), \&il::tomatoes, 'local *ISA = []';
+    }
+    is "il"->can("tomatoes"), "puree", 'local *ISA=[] unwinding';
+}


Property changes on: vendor/perl/dist/t/mro/basic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_01_c3.t
===================================================================
--- vendor/perl/dist/t/mro/basic_01_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_01_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_01_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_01_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/basic_01_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_01_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_01_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_02_c3.t
===================================================================
--- vendor/perl/dist/t/mro/basic_02_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_02_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_02_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_02_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/basic_02_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_02_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_02_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_03_c3.t
===================================================================
--- vendor/perl/dist/t/mro/basic_03_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_03_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_03_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_03_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/basic_03_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_03_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_03_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_04_c3.t
===================================================================
--- vendor/perl/dist/t/mro/basic_04_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_04_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_04_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_04_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/basic_04_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_04_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_04_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_05_c3.t
===================================================================
--- vendor/perl/dist/t/mro/basic_05_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_05_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_05_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/basic_05_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/basic_05_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/basic_05_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/basic_05_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/c3_with_overload.t
===================================================================
--- vendor/perl/dist/t/mro/c3_with_overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/c3_with_overload.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -29,10 +29,10 @@
 }
 
 my $x = InheritingFromOverloadedTest->new();
-isa_ok($x, 'InheritingFromOverloadedTest');
+object_ok($x, 'InheritingFromOverloadedTest');
 
 my $y = OverloadingTest->new();
-isa_ok($y, 'OverloadingTest');
+object_ok($y, 'OverloadingTest');
 
 is("$x", 'InheritingFromOverloadedTest stringified', '... got the right value when stringifing');
 is("$y", 'OverloadingTest stringified', '... got the right value when stringifing');


Property changes on: vendor/perl/dist/t/mro/c3_with_overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/complex_c3.t
===================================================================
--- vendor/perl/dist/t/mro/complex_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/complex_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/complex_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/complex_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/complex_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/complex_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/complex_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/dbic_c3.t
===================================================================
--- vendor/perl/dist/t/mro/dbic_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/dbic_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/dbic_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/dbic_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/dbic_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/dbic_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/dbic_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/inconsistent_c3.t
===================================================================
--- vendor/perl/dist/t/mro/inconsistent_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/inconsistent_c3.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -46,4 +46,5 @@
 }
 
 eval { mro::get_linear_isa('Z', 'c3') };
-like($@, qr/^Inconsistent /, '... got the right error with an inconsistent hierarchy');
+like($@, qr/^Inconsistent hierarchy during C3 merge of class 'Z'/,
+     '... got the right error with an inconsistent hierarchy');


Property changes on: vendor/perl/dist/t/mro/inconsistent_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/isa_aliases.t
===================================================================
--- vendor/perl/dist/t/mro/isa_aliases.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/isa_aliases.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,7 @@
 
 BEGIN { chdir 't'; @INC = '../lib'; require './test.pl' }
 
-plan 12;
+plan 13;
 
 @Foogh::ISA = "Bar";
 *Phoogh::ISA = *Foogh::ISA;
@@ -41,3 +41,11 @@
  '!isa when another stash has claimed the @ISA via ref-to-glob assignment';
 ok !Phoo->isa("Bar"),
  '!isa on the stash that claimed the @ISA via ref-to-glob assignment';
+
+*Fooo::ISA = *Baro::ISA;
+ at Fooo::ISA = "Bazo";
+sub Bazo::ook { "Baz" }
+sub L::ook { "See" }
+Baro->ook;
+local *Fooo::ISA = ["L"];
+is 'Baro'->ook, 'See', 'localised *ISA=$ref assignment';


Property changes on: vendor/perl/dist/t/mro/isa_aliases.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/isa_c3.t
===================================================================
--- vendor/perl/dist/t/mro/isa_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/isa_c3.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -64,6 +64,6 @@
     is("@{mro::get_linear_isa($package)}", "@$isa", "\@ISA for $package");
 
     foreach my $class ($package, @$isa, 'UNIVERSAL') {
-	isa_ok($ref, $class, $package);
+	object_ok($ref, $class, $package);
     }
 }


Property changes on: vendor/perl/dist/t/mro/isa_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/isa_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/isa_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/isa_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -60,6 +60,6 @@
     is("@{mro::get_linear_isa($package)}", "@$isa", "\@ISA for $package");
 
     foreach my $class ($package, @$isa, 'UNIVERSAL') {
-	isa_ok($ref, $class, $package);
+	object_ok($ref, $class, $package);
     }
 }


Property changes on: vendor/perl/dist/t/mro/isa_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/isarev.t
===================================================================
--- vendor/perl/dist/t/mro/isarev.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/isarev.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/isarev.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/method_caching.t
===================================================================
--- vendor/perl/dist/t/mro/method_caching.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/method_caching.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,7 @@
 #!./perl
 
 use strict;
+no strict 'refs'; # we do a lot of this
 use warnings;
 no warnings 'redefine'; # we do a lot of this
 no warnings 'prototype'; # we do a lot of this
@@ -10,10 +11,9 @@
         chdir 't' if -d 't';
         @INC = '../lib';
     }
+    require './test.pl';
 }
 
-require './test.pl';
-
 {
     package MCTest::Base;
     sub foo { return $_[1]+1 };
@@ -35,6 +35,15 @@
     sub { is(MCTest::Derived->foo(0), 5); },
     sub { sub FFF { $_[1]+7 }; local *MCTest::Base::foo = *FFF; is(MCTest::Derived->foo(0), 7); },
     sub { is(MCTest::Derived->foo(0), 5); },
+    sub { { local *MCTest::Base::can = sub { "tomatoes" };
+            MCTest::Derived->can(0); }
+          is(MCTest::Derived->can("isa"), \&UNIVERSAL::isa,
+              'removing method when unwinding local *method=sub{}'); },
+    sub { sub peas { "peas" }
+          { local *MCTest::Base::can = *peas;
+            MCTest::Derived->can(0); }
+          is(MCTest::Derived->can("isa"), \&UNIVERSAL::isa,
+              'removing method when unwinding local *method=*other'); },
     sub { sub DDD { $_[1]+8 }; *MCTest::Base::foo = *DDD; is(MCTest::Derived->foo(0), 8); },
     sub { *ASDF::asdf = sub { $_[1]+9 }; *MCTest::Base::foo = \&ASDF::asdf; is(MCTest::Derived->foo(0), 9); },
     sub { undef *MCTest::Base::foo; eval { MCTest::Derived->foo(0) }; like($@, qr/locate object method/); },
@@ -57,6 +66,39 @@
     sub { *{MCTest::Base::} = *{Foo::}; eval { MCTest::Derived->foo(0) }; like($@, qr/locate object method/); },
     sub { *MCTest::Derived::foo = \&MCTest::Base::foo; eval { MCTest::Derived::foo(0,0) }; ok(!$@); undef *MCTest::Derived::foo },
     sub { eval 'package MCTest::Base; sub foo { $_[1]+18 }'; is(MCTest::Derived->foo(0), 18); },
+
+    # Redefining through a glob alias
+    sub { *A = *{'MCTest::Base::foo'}; eval 'sub A { $_[1]+19 }';
+          is(MCTest::Derived->foo(0), 19,
+            'redefining sub through glob alias via decl'); },
+    sub { SKIP: {
+              skip_if_miniperl("no XS");
+              eval { require XS::APItest; }
+                or skip "XS::APItest not available", 1;
+              *A = *{'MCTest::Base::foo'};
+              XS::APItest::newCONSTSUB(\%main::, "A", 0, 20);
+              is (MCTest::Derived->foo(0), 20,
+                  'redefining sub through glob alias via newXS');
+        } },
+    sub { undef *{'MCTest::Base::foo'}; *A = *{'MCTest::Base::foo'};
+          eval { no warnings 'once'; local *UNIVERSAL::foo = sub {96};
+                 MCTest::Derived->foo };
+          ()=\&A;
+          eval { MCTest::Derived->foo };
+          like($@, qr/Undefined subroutine/,
+            'redefining sub through glob alias via stub vivification'); },
+    sub { *A = *{'MCTest::Base::foo'};
+          local *A = sub { 21 };
+          is(MCTest::Derived->foo, 21,
+            'redef sub through glob alias via local cv-to-glob assign'); },
+    sub { *A = *{'MCTest::Base::foo'};
+          eval 'sub MCTest::Base::foo { 22 }';
+          { local *A = sub { 23 }; MCTest::Derived->foo }
+          is(MCTest::Derived->foo, 22,
+            'redef sub through glob alias via localisation unwinding'); },
+    sub { *A = *{'MCTest::Base::foo'}; *A = sub { 24 };
+          is(MCTest::Derived->foo(0), 24,
+            'redefining sub through glob alias via cv-to-glob assign'); },
 );
 
 plan(tests => scalar(@testsubs));


Property changes on: vendor/perl/dist/t/mro/method_caching.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/next_NEXT.t
===================================================================
--- vendor/perl/dist/t/mro/next_NEXT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/next_NEXT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/next_NEXT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/next_edgecases.t
===================================================================
--- vendor/perl/dist/t/mro/next_edgecases.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/next_edgecases.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,7 +21,7 @@
     # call the submethod in the direct instance
 
     my $foo = Foo->new();
-    isa_ok($foo, 'Foo');
+    object_ok($foo, 'Foo');
 
     can_ok($foo, 'bar');
     is($foo->bar(), 'Foo::bar', '... got the right return value');    
@@ -37,8 +37,8 @@
     }  
     
     my $bar = Bar->new();
-    isa_ok($bar, 'Bar');
-    isa_ok($bar, 'Foo');    
+    object_ok($bar, 'Bar');
+    object_ok($bar, 'Foo');    
     
     # test it working with with Sub::Name
     SKIP: {    
@@ -68,8 +68,8 @@
     }      
     
     my $baz = Baz->new();
-    isa_ok($baz, 'Baz');
-    isa_ok($baz, 'Foo');    
+    object_ok($baz, 'Baz');
+    object_ok($baz, 'Foo');    
     
     {
         my $m = sub { (shift)->next::method() };


Property changes on: vendor/perl/dist/t/mro/next_edgecases.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/mro/next_goto.t
===================================================================
--- vendor/perl/dist/t/mro/next_goto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/next_goto.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/next_goto.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/next_inanon.t
===================================================================
--- vendor/perl/dist/t/mro/next_inanon.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/next_inanon.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/next_inanon.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/next_ineval.t
===================================================================
--- vendor/perl/dist/t/mro/next_ineval.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/next_ineval.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/next_ineval.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/mro/next_method.t
===================================================================
--- vendor/perl/dist/t/mro/next_method.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/next_method.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/next_method.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/mro/next_skip.t
===================================================================
--- vendor/perl/dist/t/mro/next_skip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/next_skip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/next_skip.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/overload_c3.t
===================================================================
--- vendor/perl/dist/t/mro/overload_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/overload_c3.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,10 +35,10 @@
 }
 
 my $x = InheritingFromOverloadedTest->new();
-isa_ok($x, 'InheritingFromOverloadedTest');
+object_ok($x, 'InheritingFromOverloadedTest');
 
 my $y = OverloadingTest->new();
-isa_ok($y, 'OverloadingTest');
+object_ok($y, 'OverloadingTest');
 
 is("$x", 'InheritingFromOverloadedTest stringified', '... got the right value when stringifing');
 is("$y", 'OverloadingTest stringified', '... got the right value when stringifing');


Property changes on: vendor/perl/dist/t/mro/overload_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/overload_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/overload_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/overload_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,10 +35,10 @@
 }
 
 my $x = InheritingFromOverloadedTest->new();
-isa_ok($x, 'InheritingFromOverloadedTest');
+object_ok($x, 'InheritingFromOverloadedTest');
 
 my $y = OverloadingTest->new();
-isa_ok($y, 'OverloadingTest');
+object_ok($y, 'OverloadingTest');
 
 is("$x", 'InheritingFromOverloadedTest stringified', '... got the right value when stringifing');
 is("$y", 'OverloadingTest stringified', '... got the right value when stringifing');


Property changes on: vendor/perl/dist/t/mro/overload_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/mro/package_aliases.t
===================================================================
--- vendor/perl/dist/t/mro/package_aliases.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/package_aliases.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 use strict;
 use warnings;
-plan(tests => 52);
+plan(tests => 53);
 
 {
     package New;
@@ -30,8 +30,8 @@
 ok (Old->isa (New::), 'Old inherits from New');
 ok (New->isa (Old::), 'New inherits from Old');
 
-isa_ok (bless ({}, Old::), New::, 'Old object');
-isa_ok (bless ({}, New::), Old::, 'New object');
+object_ok (bless ({}, Old::), New::, 'Old object');
+object_ok (bless ({}, New::), Old::, 'New object');
 
 
 # Test that replacing a package by assigning to an existing glob
@@ -399,4 +399,12 @@
   'isa(foo) when inheriting from "class:" after string-to-glob assignment';
 }
 
-
+ at Bazo::ISA = "Fooo::bar";
+sub Fooo::bar::ber { 'baz' }
+sub UNIVERSAL::ber { "black sheep" }
+Bazo->ber;
+local *Fooo:: = \%Baro::;
+{
+    no warnings;
+    is 'Bazo'->ber, 'black sheep', 'localised *glob=$stashref assignment';
+}


Property changes on: vendor/perl/dist/t/mro/package_aliases.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/mro/pkg_gen.t
===================================================================
--- vendor/perl/dist/t/mro/pkg_gen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/pkg_gen.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/pkg_gen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/mro/recursion_c3.t
===================================================================
--- vendor/perl/dist/t/mro/recursion_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/recursion_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/recursion_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/mro/recursion_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/recursion_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/recursion_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/recursion_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/mro/vulcan_c3.t
===================================================================
--- vendor/perl/dist/t/mro/vulcan_c3.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/vulcan_c3.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/vulcan_c3.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/mro/vulcan_dfs.t
===================================================================
--- vendor/perl/dist/t/mro/vulcan_dfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/mro/vulcan_dfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/mro/vulcan_dfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/64bitint.t
===================================================================
--- vendor/perl/dist/t/op/64bitint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/64bitint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/64bitint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/alarm.t
===================================================================
--- vendor/perl/dist/t/op/alarm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/alarm.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,30 +16,35 @@
 plan tests => 5;
 my $Perl = which_perl();
 
-my $start_time = time;
+my ($start_time, $end_time);
+
 eval {
-    local $SIG{ALRM} = sub { die "ALARM!\n" };
+    local $SIG{ALRM} = sub { $end_time = time; die "ALARM!\n" };
+    $start_time = time;
     alarm 3;
 
     # perlfunc recommends against using sleep in combination with alarm.
-    1 while (time - $start_time < 6);
+    1 while (($end_time = time) - $start_time < 6);
+    alarm 0;
 };
 alarm 0;
-my $diff = time - $start_time;
+my $diff = $end_time - $start_time;
 
 # alarm time might be one second less than you said.
 is( $@, "ALARM!\n",             'alarm w/$SIG{ALRM} vs inf loop' );
-ok( abs($diff - 3) <= 1,   "   right time" );
+ok( abs($diff - 3) <= 1,   "   right time (waited $diff secs for 3-sec alarm)" );
 
 
-my $start_time = time;
 eval {
-    local $SIG{ALRM} = sub { die "ALARM!\n" };
+    local $SIG{ALRM} = sub { $end_time = time; die "ALARM!\n" };
+    $start_time = time;
     alarm 3;
     system(qq{$Perl -e "sleep 6"});
+    $end_time = time;
+    alarm 0;
 };
 alarm 0;
-$diff = time - $start_time;
+$diff = $end_time - $start_time;
 
 # alarm time might be one second less than you said.
 is( $@, "ALARM!\n",             'alarm w/$SIG{ALRM} vs system()' );
@@ -53,7 +58,7 @@
 
 {
     local $SIG{"ALRM"} = sub { die };
-    eval { alarm(1); my $x = qx($Perl -e "sleep 3") };
+    eval { alarm(1); my $x = qx($Perl -e "sleep 3"); alarm(0); };
     chomp (my $foo = "foo\n");
     ok($foo eq "foo", '[perl #33928] chomp() fails after alarm(), `sleep`');
 }


Property changes on: vendor/perl/dist/t/op/alarm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/anonsub.t
===================================================================
--- vendor/perl/dist/t/op/anonsub.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/anonsub.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -84,3 +84,10 @@
 print sub { return "ok 1\n" } -> ();
 EXPECT
 ok 1
+########
+# [perl #71154] undef &$code makes $code->() die with: Not a CODE reference
+sub __ANON__ { print "42\n" }
+undef &{$x=sub{}};
+$x->();
+EXPECT
+Undefined subroutine called at - line 4.


Property changes on: vendor/perl/dist/t/op/anonsub.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/append.t
===================================================================
--- vendor/perl/dist/t/op/append.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/append.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,22 +1,26 @@
 #!./perl
 
-print "1..13\n";
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 
+##Literal test count since evals below can fail
+plan tests => 13;
+
 $a = 'ab' . 'c';	# compile time
 $b = 'def';
 
 $c = $a . $b;
-print "#1\t:$c: eq :abcdef:\n";
-if ($c eq 'abcdef') {print "ok 1\n";} else {print "not ok 1\n";}
+is( $c, 'abcdef', 'compile time concatenation' );
 
 $c .= 'xyz';
-print "#2\t:$c: eq :abcdefxyz:\n";
-if ($c eq 'abcdefxyz') {print "ok 2\n";} else {print "not ok 2\n";}
+is( $c, 'abcdefxyz', 'concat to self');
 
 $_ = $a;
 $_ .= $b;
-print "#3\t:$_: eq :abcdef:\n";
-if ($_ eq 'abcdef') {print "ok 3\n";} else {print "not ok 3\n";}
+is( $_, 'abcdef', 'concat using $_');
 
 # test that when right argument of concat is UTF8, and is the same
 # variable as the target, and the left argument is not UTF8, it no
@@ -28,7 +32,8 @@
 	$string = "abcdefghijkl$string";
     }
 
-    r2() and print "ok $_\n" for qw/ 4 5 /;
+    isnt(r2(), '', 'UTF8 concat does not free the wrong string');
+    isnt(r2(), '', 'second check');
 }
 
 # test that nul bytes get copied
@@ -38,35 +43,30 @@
 
     my $ub = pack("U0a*", 'b');
 
+    #aa\0b
     my $t1 = $a; $t1 .= $ab;
+    like( $t1, qr/b/, 'null bytes do not stop string copy, aa\0b');
 
-    print $t1 =~ /b/ ? "ok 6\n" : "not ok 6\t# $t1\n";
-    
+    #a\0a\0b
     my $t2 = $a; $t2 .= $uab;
-    
-    print eval '$t2 =~ /$ub/' ? "ok 7\n" : "not ok 7\t# $t2\n";
-    
+    ok( eval '$t2 =~ /$ub/', '... a\0a\0b' );
+
+    #\0aa\0b
     my $t3 = $ua; $t3 .= $ab;
-    
-    print $t3 =~ /$ub/ ? "ok 8\n" : "not ok 8\t# $t3\n";
-    
+    ok( eval '$t3 =~ /$ub/', '... \0aa\0b' );
+
     my $t4 = $ua; $t4 .= $uab;
-    
-    print eval '$t4 =~ /$ub/' ? "ok 9\n" : "not ok 9\t# $t4\n";
-    
+    ok( eval '$t4 =~ /$ub/', '... \0a\0a\0b' );
+
     my $t5 = $a; $t5 = $ab . $t5;
-    
-    print $t5 =~ /$ub/ ? "ok 10\n" : "not ok 10\t# $t5\n";
-    
+    like( $t5, qr/$ub/, '... a\0ba' );
+
     my $t6 = $a; $t6 = $uab . $t6;
-    
-    print eval '$t6 =~ /$ub/' ? "ok 11\n" : "not ok 11\t# $t6\n";
-    
+    ok( eval '$t6 =~ /$ub/', '... \0a\0ba' );
+
     my $t7 = $ua; $t7 = $ab . $t7;
-    
-    print $t7 =~ /$ub/ ? "ok 12\n" : "not ok 12\t# $t7\n";
-    
+    like( $t7, qr/$ub/, '... a\0b\0a' );
+
     my $t8 = $ua; $t8 = $uab . $t8;
-    
-    print eval '$t8 =~ /$ub/' ? "ok 13\n" : "not ok 13\t# $t8\n";
+    ok( eval '$t8 =~ /$ub/', '... \0a\0b\0a' );
 }


Property changes on: vendor/perl/dist/t/op/append.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/args.t
===================================================================
--- vendor/perl/dist/t/op/args.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/args.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,8 +14,8 @@
 {
     my $x = new1("x");
     my $y = new1("y");
-    is("@$y","y");
-    is("@$x","x");
+    is("@$y","y", 'bless');
+    is("@$x","x", 'bless');
 }
 
 sub new2 { splice @_, 0, 0, "a", "b", "c"; return \@_ }
@@ -22,8 +22,8 @@
 {
     my $x = new2("x");
     my $y = new2("y");
-    is("@$x","a b c x");
-    is("@$y","a b c y");
+    is("@$x","a b c x", 'splice');
+    is("@$y","a b c y", 'splice');
 }
 
 sub new3 { goto &new1 }
@@ -30,8 +30,8 @@
 {
     my $x = new3("x");
     my $y = new3("y");
-    is("@$y","y");
-    is("@$x","x");
+    is("@$y","y", 'goto: single element');
+    is("@$x","x", 'goto: single element');
 }
 
 sub new4 { goto &new2 }
@@ -38,8 +38,8 @@
 {
     my $x = new4("x");
     my $y = new4("y");
-    is("@$x","a b c x");
-    is("@$y","a b c y");
+    is("@$x","a b c x", 'goto: multiple elements');
+    is("@$y","a b c y", 'goto: multiple elements');
 }
 
 # see if POPSUB gets to see the right pad across a dounwind() with
@@ -54,24 +54,27 @@
     &methimpl;
 }
 
+my $failcount = 0;
 sub try {
     eval { method('foo', 'bar'); };
     print "# $@" if $@;
+    $failcount++;
 }
 
 for (1..5) { try() }
-pass();
+is($failcount, 5,
+    'POPSUB sees right pad across a dounwind() with reified @_');
 
 # bug #21542 local $_[0] causes reify problems and coredumps
 
 sub local1 { local $_[0] }
 my $foo = 'foo'; local1($foo); local1($foo);
-print "got [$foo], expected [foo]\nnot " if $foo ne 'foo';
-pass();
+is($foo, 'foo',
+    "got 'foo' as expected rather than '\$foo': RT \#21542");
 
 sub local2 { local $_[0]; last L }
 L: { local2 }
-pass();
+pass("last to label");
 
 # the following test for local(@_) used to be in t/op/nothr5005.t (because it
 # failed with 5005threads)
@@ -82,9 +85,9 @@
 sub bar { unshift @_, 'D'; @_ }
 sub baz { push @_, 'E'; return @_ }
 for (1..3) { 
-    is(join('',foo('a', 'b', 'c')),'pqr');
-    is(join('',bar('d')),'Dd');
-    is(join('',baz('e')),'eE');
+    is(join('',foo('a', 'b', 'c')),'pqr', 'local @_');
+    is(join('',bar('d')),'Dd', 'unshift @_');
+    is(join('',baz('e')),'eE', 'push @_');
 } 
 
 # [perl #28032] delete $_[0] was freeing things too early


Property changes on: vendor/perl/dist/t/op/args.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/arith.t
===================================================================
--- vendor/perl/dist/t/op/arith.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/arith.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/arith.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/array.t
===================================================================
--- vendor/perl/dist/t/op/array.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/array.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,12 +3,11 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = ('.', '../lib');
+    require 'test.pl';
 }
 
-require 'test.pl';
+plan (127);
 
-plan (130);
-
 #
 # @foo, @bar, and @ary are also used from tie-stdarray after tie-ing them
 #
@@ -24,23 +23,6 @@
 {
     no warnings 'deprecated';
 
-$[ = 1;
- at ary = (1,2,3,4,5);
-is(join('', at ary), '12345');
-
-$tmp = $ary[$#ary]; --$#ary;
-is($tmp, 5);
-# Must do == here beacuse $[ isn't 0
-ok($#ary == 4);
-is(join('', at ary), '1234');
-
-is($ary[5], undef);
-
-$#ary += 1;	# see if element 5 gone for good
-ok($#ary == 5);
-ok(!defined $ary[5]);
-
-$[ = 0;
 @foo = ();
 $r = join(',', $#foo, @foo);
 is($r, "-1");
@@ -254,22 +236,6 @@
 @foo=(foo())[0,0];
 is ($foo[1], "a");
 
-# $[ should have the same effect regardless of whether the aelem
-#    op is optimized to aelemfast.
-
-
-
-sub tary {
-  no warnings 'deprecated';
-  local $[ = 10;
-  my $five = 5;
-  is ($tary[5], $tary[$five]);
-}
-
- at tary = (0..50);
-tary();
-
-
 # bugid #15439 - clearing an array calls destructors which may try
 # to modify the array - caused 'Attempt to free unreferenced scalar'
 
@@ -427,6 +393,13 @@
     (our $y, our $z) = ($x,$y);
     is("$x $y $z", "1 1 2");
 }
+{
+    # AASSIGN_COMMON detection with logical operators
+    my $true = 1;
+    our($x,$y,$z) = (1..3);
+    (our $y, our $z) = $true && ($x,$y);
+    is("$x $y $z", "1 1 2");
+}
 
 # [perl #70171]
 {
@@ -467,4 +440,36 @@
 *trit = *scile;  $trit[0];
 ok(1, 'aelem_fast on a nonexistent array does not crash');
 
+# [perl #107440]
+sub A::DESTROY { $::ra = 0 }
+$::ra = [ bless [], 'A' ];
+undef @$::ra;
+pass 'no crash when freeing array that is being undeffed';
+$::ra = [ bless [], 'A' ];
+@$::ra = ('a'..'z');
+pass 'no crash when freeing array that is being cleared';
+
+# [perl #85670] Copying magic to elements
+SKIP: {
+    skip "no Scalar::Util::weaken on miniperl", 1, if is_miniperl;
+    require Scalar::Util;
+    package glelp {
+	Scalar::Util::weaken ($a = \@ISA);
+	@ISA = qw(Foo);
+	Scalar::Util::weaken ($a = \$ISA[0]);
+	::is @ISA, 1, 'backref magic is not copied to elements';
+    }
+}
+package peen {
+    $#ISA = -1;
+    @ISA = qw(Foo);
+    $ISA[0] = qw(Sphare);
+
+    sub Sphare::pling { 'pling' }
+
+    ::is eval { pling peen }, 'pling',
+	'arylen_p magic does not stop isa magic from being copied';
+}
+
+
 "We're included by lib/Tie/Array/std.t so we need to return something true";


Property changes on: vendor/perl/dist/t/op/array.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/array_base.aux
===================================================================
--- vendor/perl/dist/t/op/array_base.aux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/array_base.aux	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/array_base.aux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/array_base.t
===================================================================
--- vendor/perl/dist/t/op/array_base.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/array_base.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,82 +1,40 @@
 #!perl -w
 use strict;
 
-require './test.pl';
+BEGIN {
+ require './test.pl';
 
-plan (tests => 24);
-no warnings 'deprecated';
+ plan (tests => my $tests = 11);
 
-# Bug #27024
-{
-    # this used to segfault (because $[=1 is optimized away to a null block)
-    my $x;
-    $[ = 1 while $x;
-    pass('#27204');
-    $[ = 0; # restore the original value for less side-effects
-}
+ # Run these at BEGIN time, before arybase loads
+ use v5.15;
+ is(eval('$[ = 1; 123'), undef);
+ like($@, qr/\AAssigning non-zero to \$\[ is no longer possible/);
 
-# [perl #36313] perl -e "1for$[=0" crash
-{
-    my $x;
-    $x = 1 for ($[) = 0;
-    pass('optimized assignment to $[ used to segfault in list context');
-    if ($[ = 0) { $x = 1 }
-    pass('optimized assignment to $[ used to segfault in scalar context');
-    $x = ($[=2.4);
-    is($x, 2, 'scalar assignment to $[ behaves like other variables');
-    $x = (($[) = 0);
-    is($x, 1, 'list assignment to $[ behaves like other variables');
-    $x = eval q{ ($[, $x) = (0) };
-    like($@, qr/That use of \$\[ is unsupported/,
-             'cannot assign to $[ in a list');
-    eval q{ ($[) = (0, 1) };
-    like($@, qr/That use of \$\[ is unsupported/,
-             'cannot assign list of >1 elements to $[');
-    eval q{ ($[) = () };
-    like($@, qr/That use of \$\[ is unsupported/,
-             'cannot assign list of <1 elements to $[');
+ if (is_miniperl()) {
+   # skip the rest
+   SKIP: { skip ("no arybase.xs on miniperl", $tests-2) }
+   exit;
+ }
 }
 
+no warnings 'deprecated';
 
-{
-    $[ = 11;
-    cmp_ok($[ + 0, '==', 11, 'setting $[ affects $[');
-    our $t11; BEGIN { $t11 = $^H{'$['} }
-    cmp_ok($t11, '==', 11, 'setting $[ affects $^H{\'$[\'}');
+is(eval('$['), 0);
+is(eval('$[ = 0; 123'), 123);
+is(eval('$[ = 1; 123'), 123);
+$[ = 1;
+ok $INC{'arybase.pm'};
 
-    BEGIN { $^H{'$['} = 22 }
-    cmp_ok($[ + 0, '==', 22, 'setting $^H{\'$\'} affects $[');
-    our $t22; BEGIN { $t22 = $^H{'$['} }
-    cmp_ok($t22, '==', 22, 'setting $^H{\'$[\'} affects $^H{\'$[\'}');
+use v5.15;
+is(eval('$[ = 1; 123'), undef);
+like($@, qr/\AAssigning non-zero to \$\[ is no longer possible/);
+is $[, 0, '$[ is 0 under 5.16';
+$_ = "hello";
+/l/g;
+my $pos = \pos;
+is $$pos, 3;
+$$pos = 1;
+is $$pos, 1;
 
-    BEGIN { %^H = () }
-    my $val = do {
-	no warnings 'uninitialized';
-	$[;
-    };
-    cmp_ok($val, '==', 0, 'clearing %^H affects $[');
-    our $t0; BEGIN { $t0 = $^H{'$['} }
-    cmp_ok($t0, '==', 0, 'clearing %^H affects $^H{\'$[\'}');
-}
-
-{
-    $[ = 13;
-    BEGIN { $^H |= 0x04000000; $^H{foo} = "z"; }
-
-    our($ri0, $rf0); BEGIN { $ri0 = $^H; $rf0 = $^H{foo}; }
-    cmp_ok($[ + 0, '==', 13, '$[ correct before require');
-    ok($ri0 & 0x04000000, '$^H correct before require');
-    is($rf0, "z", '$^H{foo} correct before require');
-
-    our($ra1, $ri1, $rf1, $rfe1);
-    BEGIN { require "op/array_base.aux"; }
-    cmp_ok($ra1, '==', 0, '$[ cleared for require');
-    ok(!($ri1 & 0x04000000), '$^H cleared for require');
-    is($rf1, undef, '$^H{foo} cleared for require');
-    ok(!$rfe1, '$^H{foo} cleared for require');
-
-    our($ri2, $rf2); BEGIN { $ri2 = $^H; $rf2 = $^H{foo}; }
-    cmp_ok($[ + 0, '==', 13, '$[ correct after require');
-    ok($ri2 & 0x04000000, '$^H correct after require');
-    is($rf2, "z", '$^H{foo} correct after require');
-}
+1;


Property changes on: vendor/perl/dist/t/op/array_base.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/assignwarn.t
===================================================================
--- vendor/perl/dist/t/op/assignwarn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/assignwarn.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,18 +19,15 @@
 ++$should_warn{$_} foreach qw(* / x & ** << >>);
 ++$should_not{$_} foreach qw(+ - . | ^ && ||);
 
-my %todo_as_tie = reverse (add => '+', subtract => '-',
-			   bit_or => '|', bit_xor => '^');
+my %integer;
+$integer{$_} = 0 foreach qw(* / % + -);
 
-my %integer = reverse (i_add => '+', i_subtract => '-');
-$integer{$_} = 0 foreach qw(* / %);
-
 sub TIESCALAR { my $x; bless \$x }
 sub FETCH { ${$_[0]} }
 sub STORE { ${$_[0]} = $_[1] }
 
 sub test_op {
-    my ($tie, $int, $op_seq, $warn, $todo) = @_;
+    my ($tie, $int, $op_seq, $warn) = @_;
     my $code = "sub {\n";
     $code .= "use integer;" if $int;
     $code .= "my \$x;\n";
@@ -39,8 +36,6 @@
 
     my $sub = eval $code;
     is($@, '', "Can eval code for $op_seq");
-    local $::TODO;
-    $::TODO = "[perl #17809] pp_$todo" if $todo;
     if ($warn) {
 	warning_like($sub, qr/^Use of uninitialized value/,
 		     "$op_seq$tie$int warns");
@@ -56,13 +51,13 @@
     }
 
     foreach (keys %should_warn, keys %should_not) {
-	test_op($tie, '', "\$x $_= 1", $should_warn{$_}, $tie && $todo_as_tie{$_});
+	test_op($tie, '', "\$x $_= 1", $should_warn{$_});
 	next unless exists $integer{$_};
-	test_op($tie, ', int', "\$x $_= 1", $should_warn{$_}, $tie && $integer{$_});
+	test_op($tie, ', int', "\$x $_= 1", $should_warn{$_});
     }
 
     foreach (qw(| ^ &)) {
-	test_op($tie, '', "\$x $_= 'x'", $should_warn{$_}, $tie && $todo_as_tie{$_});
+	test_op($tie, '', "\$x $_= 'x'", $should_warn{$_});
     }
 }
 


Property changes on: vendor/perl/dist/t/op/assignwarn.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/attrhand.t
===================================================================
--- vendor/perl/dist/t/op/attrhand.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/attrhand.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/attrhand.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/attrs.t
===================================================================
--- vendor/perl/dist/t/op/attrs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/attrs.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,6 +18,9 @@
     is( $@, '', @_);
 }
 
+fresh_perl_is 'use attributes; print "ok"', 'ok',
+   'attributes.pm can load without warnings.pm already loaded';
+
 our $anon1; eval_ok '$anon1 = sub : method { $_[0]++ }';
 
 eval 'sub e1 ($) : plugh ;';
@@ -194,7 +197,7 @@
 sub PVBM () { 'foo' }
 { my $dummy = index 'foo', PVBM }
 
-ok !defined(attributes::get(\PVBM)), 
+ok !defined(eval 'attributes::get(\PVBM)'), 
     'PVBMs don\'t segfault attributes::get';
 
 {
@@ -310,6 +313,16 @@
      'Calling closure proto with no @_ that returns a lexical';
 }
 
+# Referencing closure prototypes
+{
+  package buckbuck;
+  my @proto;
+  sub MODIFY_CODE_ATTRIBUTES { push @proto, $_[1], \&{$_[1]}; _: }
+  my $id;
+  () = sub :buck {$id};
+  &::is(@proto, 'referencing closure prototype');
+}
+
 # [perl #68658] Attributes on stately variables
 {
   package thwext;
@@ -322,4 +335,52 @@
   is $x_values, '00', 'state with attributes';
 }
 
+{
+  package ningnangnong;
+  sub MODIFY_SCALAR_ATTRIBUTES{}
+  sub MODIFY_ARRAY_ATTRIBUTES{  }
+  sub MODIFY_HASH_ATTRIBUTES{    }
+  my ($cows, @go, %bong) : teapots = qw[ jibber jabber joo ];
+  ::is $cows, 'jibber', 'list assignment to scalar with attrs';
+  ::is "@go", 'jabber joo', 'list assignment to array with attrs';
+}
+
+{
+  my $w;
+  local $SIG{__WARN__} = sub { $w = shift };
+  sub  ent         {}
+  sub lent :lvalue {}
+  my $posmsg =
+      'lvalue attribute applied to already-defined subroutine at '
+     .'\(eval';
+  my $negmsg =
+      'lvalue attribute removed from already-defined subroutine at '
+     .'\(eval';
+  eval 'use attributes __PACKAGE__, \&ent, "lvalue"';
+  like $w, qr/^$posmsg/, 'lvalue attr warning on def sub';
+  is join("",&attributes::get(\&ent)), "lvalue",':lvalue applied anyway';
+  $w = '';
+  eval 'use attributes __PACKAGE__, \&lent, "lvalue"; 1' or die;
+  is $w, "", 'no lvalue warning on def lvalue sub';
+  eval 'use attributes __PACKAGE__, \&lent, "-lvalue"';
+  like $w, qr/^$negmsg/, '-lvalue attr warning on def sub';
+  is join("",&attributes::get(\&lent)), "",
+       'lvalue attribute removed anyway';
+  $w = '';
+  eval 'use attributes __PACKAGE__, \&lent, "-lvalue"; 1' or die;
+  is $w, "", 'no -lvalue warning on def non-lvalue sub';
+  no warnings 'misc';
+  eval 'use attributes __PACKAGE__, \&lent, "lvalue"';
+  is $w, "", 'no lvalue warnings under no warnings misc';
+  eval 'use attributes __PACKAGE__, \&ent, "-lvalue"';
+  is $w, "", 'no -lvalue warnings under no warnings misc';
+}
+
+unlike runperl(
+         prog => 'BEGIN {$^H{a}=b} sub foo:bar{1}',
+         stderr => 1,
+       ),
+       qr/Unbalanced/,
+      'attribute errors do not cause op trees to leak';
+
 done_testing();


Property changes on: vendor/perl/dist/t/op/attrs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/auto.t
===================================================================
--- vendor/perl/dist/t/op/auto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/auto.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,10 +3,10 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = qw(. ../lib);
+    require "test.pl";
 }
 
-require "test.pl";
-plan( tests => 39 );
+plan( tests => 47 );
 
 $x = 10000;
 cmp_ok(0 + ++$x - 1,'==',10000,'scalar ++x - 1');
@@ -55,3 +55,11 @@
 cmp_ok(++($foo = 'A99'),'eq','B00','A99 incr B00');
 cmp_ok(++($foo = 'zi'), 'eq','zj','zi incr zj (EBCDIC i,j non-contiguous check)');
 cmp_ok(++($foo = 'zr'), 'eq','zs','zr incr zs (EBCDIC r,s non-contiguous check)');
+
+# test with glob copies
+
+for(qw '$x++ ++$x $x-- --$x') {
+  my $x = *foo;
+  ok eval "$_; 1", "$_ does not die on a glob copy";
+  is $x, /-/ ? -1 : 1, "result of $_ on a glob copy";
+}


Property changes on: vendor/perl/dist/t/op/auto.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/avhv.t
===================================================================
--- vendor/perl/dist/t/op/avhv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/avhv.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/avhv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/bless.t
===================================================================
--- vendor/perl/dist/t/op/bless.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/bless.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/bless.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/blocks.t
===================================================================
--- vendor/perl/dist/t/op/blocks.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/blocks.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan tests => 5;
+plan tests => 6;
 
 my @expect = qw(
 b1
@@ -13,13 +13,13 @@
 b2
 b3
 b4
-b6
-u5
+b6-c
 b7
 u6
+u5-c
 u1
 c3
-c2
+c2-c
 c1
 i1
 i2
@@ -27,6 +27,8 @@
 u2
 u3
 u4
+b6-r
+u5-r
 e2
 e1
 		);
@@ -45,9 +47,18 @@
 eval 'BEGIN {print ":b5"}';
 eval 'UNITCHECK {print ":u2"}';
 eval 'UNITCHECK {print ":u3"; UNITCHECK {print ":u4"}}';
-"a" =~ /(?{UNITCHECK {print ":u5"};
-	   CHECK {print ":c2"};
-	   BEGIN {print ":b6"}})/x;
+"a" =~ /(?{UNITCHECK {print ":u5-c"};
+	   CHECK {print ":c2-c"};
+	   BEGIN {print ":b6-c"}})/x;
+{
+    use re 'eval';
+    my $runtime = q{
+    (?{UNITCHECK {print ":u5-r"};
+	       CHECK {print ":c2-r"};
+	       BEGIN {print ":b6-r"}})/
+    };
+    "a" =~ /$runtime/x;
+}
 eval {BEGIN {print ":b7"}};
 eval {UNITCHECK {print ":u6"}};
 eval {INIT {print ":i2"}};
@@ -113,3 +124,21 @@
 # [perl #78634] Make sure block names can be used as constants.
 use constant INIT => 5;
 ::is INIT, 5, 'constant named after a special block';
+
+# [perl #108794] context
+fresh_perl_is(<<'SCRIPT3', <<expEct,{stderr => 1 },'context');
+sub context {
+    print qw[void scalar list][wantarray + defined wantarray], "\n"
+}
+BEGIN     {context}
+UNITCHECK {context}
+CHECK     {context}
+INIT      {context}
+END       {context}
+SCRIPT3
+void
+void
+void
+void
+void
+expEct


Property changes on: vendor/perl/dist/t/op/blocks.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/bop.t
===================================================================
--- vendor/perl/dist/t/op/bop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/bop.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,7 +15,7 @@
 # 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 => 171 + (10*13*2) + 4;
+plan tests => 174 + (10*13*2) + 5;
 
 # numerics
 ok ((0xdead & 0xbeef) == 0x9ead);
@@ -77,6 +77,18 @@
 is _xor  0,    '0',   'num var ^ const str';
 is _xor "yit", 'RYt', 'str var ^ const str again';
 
+# But don’t mistake a COW for a constant when assigning to it
+%h=(150=>1);
+$i=(keys %h)[0];
+$i |= 105;
+is $i, 255, '[perl #108480] $cow |= number';
+$i=(keys %h)[0];
+$i &= 105;
+is $i, 0, '[perl #108480] $cow &= number';
+$i=(keys %h)[0];
+$i ^= 105;
+is $i, 255, '[perl #108480] $cow ^= number';
+
 #
 is ("ok \xFF\xFF\n" & "ok 19\n", "ok 19\n");
 is ("ok 20\n" | "ok \0\0\n", "ok 20\n");
@@ -554,3 +566,7 @@
 eval { $obj |= "Q" };
 $strval = "z";
 is("$obj", "z", "|= doesn't break string overload");
+
+# [perl #29070]
+$^A .= new version ~$_ for "\xce", v205, "\xcc";
+is $^A, "123", '~v0 clears vstring magic on retval';


Property changes on: vendor/perl/dist/t/op/bop.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/caller.pl
===================================================================
--- vendor/perl/dist/t/op/caller.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/caller.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/caller.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/caller.t
===================================================================
--- vendor/perl/dist/t/op/caller.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/caller.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
-    plan( tests => 82 );
+    plan( tests => 91 );
 }
 
 my @c;
@@ -19,7 +19,7 @@
 is( $c[3], "(eval)", "subroutine name in an eval {}" );
 ok( !$c[4], "hasargs false in an eval {}" );
 
-eval q{ @c = (Caller(0))[3] };
+eval q{ @c = caller(0) };
 is( $c[3], "(eval)", "subroutine name in an eval ''" );
 ok( !$c[4], "hasargs false in an eval ''" );
 
@@ -111,8 +111,8 @@
 
     # The repetition number must be set to the value of $BYTES in
     # lib/warnings.pm
-    BEGIN { check_bits( ${^WARNING_BITS}, "\0" x 13, 'all bits off via "no warnings"' ) }
-    testwarn("\0" x 13, 'no bits');
+    BEGIN { check_bits( ${^WARNING_BITS}, "\0" x 14, 'all bits off via "no warnings"' ) }
+    testwarn("\0" x 14, 'no bits');
 
     use warnings;
     BEGIN { check_bits( ${^WARNING_BITS}, $default,
@@ -225,6 +225,78 @@
     ::is $gone, 1, 'caller does not leak @DB::args elems when AvREAL';
 }
 
+# And this crashed [perl #93320]:
+sub {
+  package DB;
+  ()=caller(0);
+  undef *DB::args;
+  ()=caller(0);
+}->();
+pass 'No crash when @DB::args is freed between caller calls';
+
+# This also crashed:
+package glelp;
+sub TIEARRAY { bless [] }
+sub EXTEND   {         }
+sub CLEAR    {        }
+sub FETCH    { $_[0][$_[1]] }
+sub STORE    { $_[0][$_[1]] = $_[2] }
+package DB;
+tie @args, 'glelp';
+eval { sub { () = caller 0; } ->(1..3) };
+::like $@, qr "^Cannot set tied \@DB::args at ",
+              'caller dies with tie @DB::args';
+::ok tied @args, '@DB::args is still tied';
+untie @args;
+package main;
+
+# [perl #113486]
+fresh_perl_is <<'END', "ok\n", {},
+  { package foo; sub bar { main::bar() } }
+  sub bar {
+    delete $::{"foo::"};
+    my $x = \($1+2);
+    my $y = \($1+2); # this is the one that reuses the mem addr, but
+    my $z = \($1+2);  # try the others just in case
+    s/2// for $$x, $$y, $$z; # now SvOOK
+    $x = caller;
+    print "ok\n";
+};
+foo::bar
+END
+    "No crash when freed stash is reused for PV with offset hack";
+
+is eval "(caller 0)[6]", "(caller 0)[6]",
+  'eval text returned by caller does not include \n;';
+
+# PL_linestr should not be modifiable
+eval '"${;BEGIN{  ${\(caller 2)[6]} = *foo  }}"';
+pass "no assertion failure after modifying eval text via caller";
+
+is eval "<<END;\nfoo\nEND\n(caller 0)[6]",
+        "<<END;\nfoo\nEND\n(caller 0)[6]",
+        'here-docs do not gut eval text';
+is eval "s//<<END/e;\nfoo\nEND\n(caller 0)[6]",
+        "s//<<END/e;\nfoo\nEND\n(caller 0)[6]",
+        'here-docs in quote-like ops do not gut eval text';
+
+# The bitmask should be assignable to ${^WARNING_BITS} without resulting in
+# different warnings settings.
+{
+ my $ bits = sub { (caller 0)[9] }->();
+ my $w;
+ local $SIG{__WARN__} = sub { $w++ };
+ eval '
+   use warnings;
+   BEGIN { ${^WARNING_BITS} = $bits }
+   local $^W = 1;
+   () = 1 + undef;
+   $^W = 0;
+   () = 1 + undef;
+ ';
+ is $w, 1, 'value from (caller 0)[9] (bitmask) works in ${^WARNING_BITS}';
+}
+
 $::testing_caller = 1;
 
 do './op/caller.pl' or die $@;


Property changes on: vendor/perl/dist/t/op/caller.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/t/op/chars.t
===================================================================
--- vendor/perl/dist/t/op/chars.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/chars.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,74 +1,82 @@
 #!./perl
 
-print "1..33\n";
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 
+plan tests => 34;
+
 # because of ebcdic.c these should be the same on asciiish 
 # and ebcdic machines.
 # Peter Prymmer <pvhp at best.com>.
 
 my $c = "\c@";
-print +((ord($c) == 0) ? "" : "not "),"ok 1\n";
+is (ord($c), 0, '\c@');
 $c = "\cA";
-print +((ord($c) == 1) ? "" : "not "),"ok 2\n";
+is (ord($c), 1, '\cA');
 $c = "\cB";
-print +((ord($c) == 2) ? "" : "not "),"ok 3\n";
+is (ord($c), 2, '\cB');
 $c = "\cC";
-print +((ord($c) == 3) ? "" : "not "),"ok 4\n";
+is (ord($c), 3, '\cC');
 $c = "\cD";
-print +((ord($c) == 4) ? "" : "not "),"ok 5\n";
+is (ord($c), 4, '\cD');
 $c = "\cE";
-print +((ord($c) == 5) ? "" : "not "),"ok 6\n";
+is (ord($c), 5, '\cE');
 $c = "\cF";
-print +((ord($c) == 6) ? "" : "not "),"ok 7\n";
+is (ord($c), 6, '\cF');
 $c = "\cG";
-print +((ord($c) == 7) ? "" : "not "),"ok 8\n";
+is (ord($c), 7, '\cG');
 $c = "\cH";
-print +((ord($c) == 8) ? "" : "not "),"ok 9\n";
+is (ord($c), 8, '\cH');
 $c = "\cI";
-print +((ord($c) == 9) ? "" : "not "),"ok 10\n";
+is (ord($c), 9, '\cI');
 $c = "\cJ";
-print +((ord($c) == 10) ? "" : "not "),"ok 11\n";
+is (ord($c), 10, '\cJ');
 $c = "\cK";
-print +((ord($c) == 11) ? "" : "not "),"ok 12\n";
+is (ord($c), 11, '\cK');
 $c = "\cL";
-print +((ord($c) == 12) ? "" : "not "),"ok 13\n";
+is (ord($c), 12, '\cL');
 $c = "\cM";
-print +((ord($c) == 13) ? "" : "not "),"ok 14\n";
+is (ord($c), 13, '\cM');
 $c = "\cN";
-print +((ord($c) == 14) ? "" : "not "),"ok 15\n";
+is (ord($c), 14, '\cN');
 $c = "\cO";
-print +((ord($c) == 15) ? "" : "not "),"ok 16\n";
+is (ord($c), 15, '\cO');
 $c = "\cP";
-print +((ord($c) == 16) ? "" : "not "),"ok 17\n";
+is (ord($c), 16, '\cP');
 $c = "\cQ";
-print +((ord($c) == 17) ? "" : "not "),"ok 18\n";
+is (ord($c), 17, '\cQ');
 $c = "\cR";
-print +((ord($c) == 18) ? "" : "not "),"ok 19\n";
+is (ord($c), 18, '\cR');
 $c = "\cS";
-print +((ord($c) == 19) ? "" : "not "),"ok 20\n";
+is (ord($c), 19, '\cS');
 $c = "\cT";
-print +((ord($c) == 20) ? "" : "not "),"ok 21\n";
+is (ord($c), 20, '\cT');
 $c = "\cU";
-print +((ord($c) == 21) ? "" : "not "),"ok 22\n";
+is (ord($c), 21, '\cU');
 $c = "\cV";
-print +((ord($c) == 22) ? "" : "not "),"ok 23\n";
+is (ord($c), 22, '\cV');
 $c = "\cW";
-print +((ord($c) == 23) ? "" : "not "),"ok 24\n";
+is (ord($c), 23, '\cW');
 $c = "\cX";
-print +((ord($c) == 24) ? "" : "not "),"ok 25\n";
+is (ord($c), 24, '\cX');
 $c = "\cY";
-print +((ord($c) == 25) ? "" : "not "),"ok 26\n";
+is (ord($c), 25, '\cY');
 $c = "\cZ";
-print +((ord($c) == 26) ? "" : "not "),"ok 27\n";
+is (ord($c), 26, '\cZ');
 $c = "\c[";
-print +((ord($c) == 27) ? "" : "not "),"ok 28\n";
+is (ord($c), 27, '\c[');
 $c = "\c\\";
-print +((ord($c) == 28) ? "" : "not "),"ok 29\n";
+is (ord($c), 28, '\c\\');
 $c = "\c]";
-print +((ord($c) == 29) ? "" : "not "),"ok 30\n";
+is (ord($c), 29, '\c]');
 $c = "\c^";
-print +((ord($c) == 30) ? "" : "not "),"ok 31\n";
+is (ord($c), 30, '\c^');
 $c = "\c_";
-print +((ord($c) == 31) ? "" : "not "),"ok 32\n";
+is (ord($c), 31, '\c_');
 $c = "\c?";
-print +((ord($c) == 127) ? "" : "not "),"ok 33\n";
+is (ord($c), 127, '\c?');
+$c = '';
+is (ord($c), 0, 'ord("") is 0');


Property changes on: vendor/perl/dist/t/op/chars.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/chdir.t
===================================================================
--- vendor/perl/dist/t/op/chdir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/chdir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/chdir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/chop.t
===================================================================
--- vendor/perl/dist/t/op/chop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/chop.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,93 +23,93 @@
 @foo = ("hi \n","there\n","!\n");
 @bar = @foo;
 chop(@bar);
-is (join('', at bar), 'hi there!');
+is (join('', at bar), 'hi there!', 'chop list of strings');
 
 $foo = "\n";
 chop($foo, at foo);
-is (join('',$foo, at foo), 'hi there!');
+is (join('',$foo, at foo), 'hi there!', 'chop on list reduces one-character element to an empty string');
 
 $_ = "foo\n\n";
 $got = chomp();
-ok ($got == 1) or print "# got $got\n";
-is ($_, "foo\n");
+is($got, 1, 'check return value when chomp string ending with two newlines; $/ is set to default of one newline');
+is ($_, "foo\n", 'chomp string ending with two newlines while $/ is set to one newline' );
 
 $_ = "foo\n";
 $got = chomp();
-ok ($got == 1) or print "# got $got\n";
-is ($_, "foo");
+is($got, 1, 'check return value chomp string ending with one newline while $/ is set to a newline');
+is ($_, "foo", 'test typical use of chomp; chomp a string ending in a single newline while $/ is set to default of one newline');
 
 $_ = "foo";
 $got = chomp();
-ok ($got == 0) or print "# got $got\n";
-is ($_, "foo");
+is($got, 0, 'check return value when chomp a string that does not end with current value of $/, 0 should be returned');
+is ($_, "foo", 'chomp a string that does not end with the current value of $/');
 
 $_ = "foo";
 $/ = "oo";
 $got = chomp();
-ok ($got == 2) or print "# got $got\n";
-is ($_, "f");
+is ($got, "2", 'check return value when chomp string with $/ consisting of more than one character, and with the ending of the string matching $/');
+is ($_, "f", 'chomp a string when $/ consists of two characters that are at the end of the string, check that chomped string contains remnant of original string');
 
 $_ = "bar";
 $/ = "oo";
 $got = chomp();
-ok ($got == 0) or print "# got $got\n";
-is ($_, "bar");
+is($got, "0", 'check return value when call chomp with $/ consisting of more than one character, and with the ending of the string NOT matching $/');
+is ($_, "bar", 'chomp a string when $/ consists of two characters that are NOT at the end of the string');
 
 $_ = "f\n\n\n\n\n";
 $/ = "";
 $got = chomp();
-ok ($got == 5) or print "# got $got\n";
-is ($_, "f");
+is ($got, 5, 'check return value when chomp in paragraph mode on string ending with 5 newlines');
+is ($_, "f", 'chomp in paragraph mode on string ending with 5 newlines');
 
 $_ = "f\n\n";
 $/ = "";
 $got = chomp();
-ok ($got == 2) or print "# got $got\n";
-is ($_, "f");
+is ($got, 2, 'check return value when chomp in paragraph mode on string ending with 2 newlines');
+is ($_, "f", 'chomp in paragraph mode on string ending with 2 newlines');
 
 $_ = "f\n";
 $/ = "";
 $got = chomp();
-ok ($got == 1) or print "# got $got\n";
-is ($_, "f");
+is ($got, 1, 'check return value when chomp in paragraph mode on string ending with 1 newline');
+is ($_, "f", 'chomp in paragraph mode on string ending with 1 newlines');
 
 $_ = "f";
 $/ = "";
 $got = chomp();
-ok ($got == 0) or print "# got $got\n";
-is ($_, "f");
+is ($got, 0, 'check return value when chomp in paragraph mode on string ending with no newlines');
+is ($_, "f", 'chomp in paragraph mode on string lacking trailing newlines');
 
 $_ = "xx";
 $/ = "xx";
 $got = chomp();
-ok ($got == 2) or print "# got $got\n";
-is ($_, "");
+is ($got, 2, 'check return value when chomp string that consists solely of current value of $/');
+is ($_, "", 'chomp on string that consists solely of current value of $/; check that empty string remains');
 
 $_ = "axx";
 $/ = "xx";
 $got = chomp();
-ok ($got == 2) or print "# got $got\n";
-is ($_, "a");
+is ($got, 2, 'check return value when chomp string that ends with current value of $/. $/ contains two characters');
+is ($_, "a", 'check that when chomp string that ends with currnt value of $/, the part of original string that wasn\'t in $/ remains');
 
 $_ = "axx";
 $/ = "yy";
 $got = chomp();
-ok ($got == 0) or print "# got $got\n";
-is ($_, "axx");
+is ($got, 0, 'check return value when chomp string that does not end with $/');
+is ($_, "axx", 'chomp a string that does not end with $/, the entire string should remain intact');
 
 # This case once mistakenly behaved like paragraph mode.
 $_ = "ab\n";
 $/ = \3;
 $got = chomp();
-ok ($got == 0) or print "# got $got\n";
-is ($_, "ab\n");
+is ($got, 0, 'check return value when call chomp with $_ = "ab\\n", $/ = \3' );
+is ($_, "ab\n", 'chomp with $_ = "ab\\n", $/ = \3' );
 
 # Go Unicode.
 
 $_ = "abc\x{1234}";
 chop;
-is ($_, "abc", "Go Unicode");
+is ($_, "abc", 'Go Unicode');
 
 $_ = "abc\x{1234}d";
 chop;


Property changes on: vendor/perl/dist/t/op/chop.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/chr.t
===================================================================
--- vendor/perl/dist/t/op/chr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/chr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require "test.pl";
 }
 
-plan tests => 34;
+plan tests => 42;
 
 # Note that t/op/ord.t already tests for chr() <-> ord() rountripping.
 
@@ -31,6 +31,22 @@
     is(chr(-3.0), "\xFD");
 }
 
+# Make sure -1 is treated the same way when coming from a tied variable
+sub TIESCALAR {bless[]}
+sub STORE { $_[0][0] = $_[1] }
+sub FETCH { $_[0][0] }
+tie $t, "";
+$t = -1; is chr $t, chr -1, 'chr $tied when $tied is -1';
+$t = -2; is chr $t, chr -2, 'chr $tied when $tied is -2';
+$t = -1.1; is chr $t, chr -1.1, 'chr $tied when $tied is -1.1';
+$t = -2.2; is chr $t, chr -2.2, 'chr $tied when $tied is -2.2';
+
+# And that stringy scalars are treated likewise
+is chr "-1", chr -1, 'chr "-1" eq chr -1';
+is chr "-2", chr -2, 'chr "-2" eq chr -2';
+is chr "-1.1", chr -1.1, 'chr "-1.1" eq chr -1.1';
+is chr "-2.2", chr -2.2, 'chr "-2.2" eq chr -2.2';
+
 # Check UTF-8 (not UTF-EBCDIC).
 SKIP: {
     skip "no UTF-8 on EBCDIC", 21 if chr(193) eq 'A';
@@ -63,3 +79,4 @@
     is(hexes(0x1FFFFF), "f7 bf bf bf"); # last four byte encoding
     is(hexes(0x200000), "f8 88 80 80 80");
 }
+


Property changes on: vendor/perl/dist/t/op/chr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/closure.t
===================================================================
--- vendor/perl/dist/t/op/closure.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/closure.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,10 +9,10 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
+    require './test.pl';
 }
 
 use Config;
-require './test.pl';
 
 my $i = 1;
 sub foo { $i = shift if @_; $i }
@@ -654,19 +654,21 @@
 }
 
 sub f {
-    my $x if $_[0];
-    sub { \$x }
+    my $x;
+    format ff =
+@
+$r = \$x
+.
 }
 
 {
-    f(1);
-    my $c1= f(0);
-    my $c2= f(0);
-
-    my $r1 = $c1->();
-    my $r2 = $c2->();
+    fileno ff;
+    write ff;
+    my $r1 = $r;
+    write ff;
+    my $r2 = $r;
     isnt($r1, $r2,
-	 "don't copy a stale lexical; crate a fresh undef one instead");
+	 "don't copy a stale lexical; create a fresh undef one instead");
 }
 
 # [perl #63540] Don’t treat sub { if(){.....}; "constant" } as a constant
@@ -683,4 +685,134 @@
   is($blonk_was_called, 1, 'RT #63540');
 }
 
+# test PL_cv_has_eval.  Any anon sub that could conceivably contain an
+# eval, should be marked as cloneable
+
+{
+
+    my @s;
+    push @s, sub {  eval '1' } for 1,2;
+    isnt($s[0], $s[1], "cloneable with eval");
+    @s = ();
+    push @s, sub { use re 'eval'; my $x; s/$x/1/; } for 1,2;
+    isnt($s[0], $s[1], "cloneable with use re eval");
+    @s = ();
+    push @s, sub { s/1/1/ee; } for 1,2;
+    isnt($s[0], $s[1], "cloneable with //ee");
+}
+
+# [perl #89544]
+{
+   sub trace::DESTROY {
+       push @trace::trace, "destroyed";
+   }
+
+   my $outer2 = sub {
+       my $a = bless \my $dummy, trace::;
+
+       my $outer = sub {
+	   my $b;
+	   my $inner = sub {
+	       undef $b;
+	   };
+
+	   $a;
+
+	   $inner
+       };
+
+       $outer->()
+   };
+
+   my $inner = $outer2->();
+   is "@trace::trace", "destroyed",
+      'closures only close over named variables, not entire subs';
+}
+
+# [perl #113812] Closure prototypes with no CvOUTSIDE (crash caused by the
+#                fix for #89544)
+do "./op/closure_test.pl" or die $@||$!;
+is $closure_test::s2->()(), '10 cubes',
+  'cloning closure proto with no CvOUTSIDE';
+
+# Also brought up in #113812: Even when being cloned, a closure prototype
+# might have its CvOUTSIDE pointing to the wrong thing.
+{
+    package main::113812;
+    $s1 = sub {
+	my $x = 3;
+	$s2 = sub {
+	    $x;
+	    $s3 = sub { $x };
+	};
+    };
+    $s1->();
+    undef &$s1; # frees $s2’s prototype, causing the $s3 proto to have its
+                # CvOUTSIDE point to $s1
+    ::is $s2->()(), 3, 'cloning closure proto whose CvOUTSIDE has changed';
+}
+
+# This should never emit two different values:
+#     print $x, "\n";
+#     print sub { $x }->(), "\n";
+# This test case started to do just that in commit 33894c1aa3e
+# (5.10.1/5.12.0):
+sub mosquito {
+    my $x if @_;
+    return if @_;
+
+    $x = 17;
+    is sub { $x }->(), $x, 'closing over stale var in 2nd sub call';
+}
+mosquito(1);
+mosquito;
+# And this case in commit adf8f095c588 (5.14):
+sub anything {
+    my $x;
+    sub gnat {
+	$x = 3;
+	is sub { $x }->(), $x,
+	    'closing over stale var before 1st sub call';
+    }
+}
+gnat();
+
+# [perl #114018] Similar to the above, but with string eval
+sub staleval {
+    my $x if @_;
+    return if @_;
+
+    $x = 3;
+    is eval '$x', $x, 'eval closing over stale var in active sub';
+    return # 
+}
+staleval 1;
+staleval;
+
+# [perl #114888]
+# Test that closure creation localises PL_comppad_name properly.  Usually
+# at compile time a BEGIN block will localise PL_comppad_name for use, so
+# pp_anoncode can mess with it without any visible effects.
+# But inside a source filter, it affects the directly enclosing compila-
+# tion scope.
+SKIP: {
+    skip_if_miniperl("no XS on miniperl (for source filters)");
+    fresh_perl_is <<'    [perl #114888]', "ok\n", {stderr=>1},
+	use strict;
+	BEGIN {
+	    package Foo;
+	    use Filter::Util::Call;
+	    sub import { filter_add( sub {
+		my $status = filter_read();
+		sub { $status };
+		$status;
+	    })}
+	    Foo->import
+	}
+	my $x = "ok\n";	# stores $x in the wrong padnamelist
+	print $x;	# cannot find it - strict violation
+    [perl #114888]
+        'closures in source filters do not interfere with pad names';
+}
+
 done_testing();


Property changes on: vendor/perl/dist/t/op/closure.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/cmp.t
===================================================================
--- vendor/perl/dist/t/op/cmp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/cmp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/cmp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/concat.t
===================================================================
--- vendor/perl/dist/t/op/concat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/concat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/concat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/concat2.t
===================================================================
--- vendor/perl/dist/t/op/concat2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/concat2.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,11 +9,13 @@
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
-    skip_all_if_miniperl("no dynamic loading on miniperl, no Encode");
 }
 
-plan 1;
+plan 3;
 
+SKIP: {
+skip_if_miniperl("no dynamic loading on miniperl, no Encode", 1);
+skip('encoding pragma is deprecated', 1) if $] >= 5.017009;
 fresh_perl_is <<'end', "ok\n", {},
     use encoding 'utf8';
     map { "a" . $a } ((1)x5000);
@@ -20,3 +22,35 @@
     print "ok\n";
 end
  "concat does not lose its stack pointer after utf8 upgrade [perl #78674]";
+}
+
+# This test is in the file because overload.pm uses concatenation.
+{ package o; use overload '""' => sub { $_[0][0] } }
+$x = bless[chr 256],o::;
+"$x";
+$x->[0] = "\xff";
+$x.= chr 257;
+$x.= chr 257;
+is $x, "\xff\x{101}\x{101}", '.= is not confused by changing utf8ness';
+
+# Ops should not share the same TARG between recursion levels.  This may
+# affect other ops, too, but concat seems more susceptible to this than
+# others, since it can call itself recursively.  (Where else would I put
+# this test, anyway?)
+fresh_perl_is <<'end', "tmp\ntmp\n", {},
+ sub canonpath {
+     my ($path) = @_;
+     my $node = '';
+     $path =~ s|/\z||;
+     return "$node$path";
+ }
+ 
+ {
+  package Path::Class::Dir;
+  use overload q[""] => sub { ::canonpath("tmp") };
+ }
+ 
+ print canonpath("tmp"), "\n";
+ print canonpath(bless {},"Path::Class::Dir"), "\n";
+end
+ "recursive concat does not share TARGs";


Property changes on: vendor/perl/dist/t/op/concat2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/cond.t
===================================================================
--- vendor/perl/dist/t/op/cond.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/cond.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,16 @@
 #!./perl
 
-print "1..4\n";
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 
-print 1 ? "ok 1\n" : "not ok 1\n";	# compile time
-print 0 ? "not ok 2\n" : "ok 2\n";
+is( 1 ? 1 : 0, 1, 'compile time, true' );
+is( 0 ? 0 : 1, 1, 'compile time, false' );
 
 $x = 1;
-print $x ? "ok 3\n" : "not ok 3\n";	# run time
-print !$x ? "not ok 4\n" : "ok 4\n";
+is(  $x ? 1 : 0, 1, 'run time, true');
+is( !$x ? 0 : 1, 1, 'run time, false');
+
+done_testing();


Property changes on: vendor/perl/dist/t/op/cond.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/context.t
===================================================================
--- vendor/perl/dist/t/op/context.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/context.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/context.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/cproto.t
===================================================================
--- vendor/perl/dist/t/op/cproto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/cproto.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 }
 
 BEGIN { require './test.pl'; }
-plan tests => 237;
+plan tests => 254;
 
 while (<DATA>) {
     chomp;
@@ -20,7 +20,10 @@
 	like( $@, qr/Can't find an opnumber for/, $keyword );
     }
     else {
-	is( "(".prototype("CORE::".$keyword).")", $proto, $keyword );
+	is(
+	    "(".(prototype("CORE::".$keyword) // 'undef').")", $proto,
+	    $keyword
+	);
     }
 }
 
@@ -27,14 +30,28 @@
 # the keyword list :
 
 __DATA__
+__FILE__ ()
+__LINE__ ()
+__PACKAGE__ ()
+__DATA__ undef
+__END__ undef
+__SUB__ ()
+AUTOLOAD undef
+BEGIN undef
+CORE unknown
+DESTROY undef
+END undef
+INIT undef
+CHECK undef
 abs (_)
 accept (**)
 alarm (_)
-and ()
+and undef
 atan2 ($$)
 bind (*$)
 binmode (*;$)
 bless ($;$)
+break ()
 caller (;$)
 chdir (;$)
 chmod (@)
@@ -45,7 +62,7 @@
 chroot (_)
 close (;*)
 closedir (*)
-cmp unknown
+cmp undef
 connect (*$)
 continue ()
 cos (_)
@@ -52,6 +69,7 @@
 crypt ($$)
 dbmclose (\%)
 dbmopen (\%$$)
+default undef
 defined undef
 delete undef
 die (@)
@@ -67,12 +85,14 @@
 endpwent ()
 endservent ()
 eof (;*)
-eq ($$)
+eq undef
 eval undef
+evalbytes (_)
 exec undef
 exists undef
 exit (;$)
 exp (_)
+fc (_)
 fcntl (*$$)
 fileno (*)
 flock (*$)
@@ -81,7 +101,7 @@
 fork ()
 format undef
 formline ($@)
-ge ($$)
+ge undef
 getc (;*)
 getgrent ()
 getgrgid ($)
@@ -98,7 +118,7 @@
 getppid ()
 getpriority ($$)
 getprotobyname ($)
-getprotobynumber ($)
+getprotobynumber ($;)
 getprotoent ()
 getpwent ()
 getpwnam ($)
@@ -109,11 +129,11 @@
 getsockname (*)
 getsockopt (*$$)
 given undef
-glob undef
+glob (_;)
 gmtime (;$)
 goto undef
 grep undef
-gt ($$)
+gt undef
 hex (_)
 if undef
 index ($$;$)
@@ -125,16 +145,16 @@
 last undef
 lc (_)
 lcfirst (_)
-le ($$)
+le undef
 length (_)
 link ($$)
 listen (*$)
 local undef
 localtime (;$)
-lock (\$)
+lock (\[$@%&*])
 log (_)
-lstat (*)
-lt ($$)
+lstat (;*)
+lt undef
 m undef
 map undef
 mkdir (_;$)
@@ -143,14 +163,14 @@
 msgrcv ($$$$$)
 msgsnd ($$$)
 my undef
-ne ($$)
+ne undef
 next undef
 no undef
-not ($)
+not ($;)
 oct (_)
 open (*;$@)
 opendir (*$)
-or ()
+or undef
 ord (_)
 our undef
 pack ($@)
@@ -157,10 +177,10 @@
 package undef
 pipe (**)
 pop (;+)
-pos undef
+pos (;\[$*])
 print undef
 printf undef
-prototype undef
+prototype ($)
 push (+@)
 q undef
 qq undef
@@ -187,10 +207,10 @@
 rmdir (_)
 s undef
 say undef
-scalar undef
+scalar ($)
 seek (*$$)
 seekdir (*$)
-select (;*)
+select undef
 semctl ($$$$)
 semget ($$$)
 semop ($$)
@@ -220,9 +240,9 @@
 sprintf ($@)
 sqrt (_)
 srand (;$)
-stat (*)
+stat (;*)
 state undef
-study undef
+study (_)
 sub undef
 substr ($$;$$)
 symlink ($$)
@@ -243,10 +263,10 @@
 uc (_)
 ucfirst (_)
 umask (;$)
-undef undef
+undef (;\[$@%&*])
 unless undef
 unlink (@)
-unpack ($;$)
+unpack ($_)
 unshift (+@)
 untie (\[$@%*])
 until undef
@@ -261,6 +281,6 @@
 when undef
 while undef
 write (;*)
-x unknown
-xor ($$)
+x undef
+xor undef
 y undef


Property changes on: vendor/perl/dist/t/op/cproto.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/crypt.t
===================================================================
--- vendor/perl/dist/t/op/crypt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/crypt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/crypt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/dbm.t
===================================================================
--- vendor/perl/dist/t/op/dbm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/dbm.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
     skip_all("No dbm functions") if $@;
 }
 
-plan tests => 4;
+plan tests => 5;
 
 # This is [20020104.007] "coredump on dbmclose"
 
@@ -58,3 +58,10 @@
 fresh_perl_like('delete $::{"AnyDBM_File::"}; ' . $prog,
 		qr/No dbm on this machine/, {},
 		'implicit require and no stash fails');
+
+{ # undef 3rd arg
+    local $^W = 1;
+    local $SIG{__WARN__} = sub { ++$w };
+    dbmopen(%truffe, 'pleaseletthisfilenotexist', undef);
+    is $w, 1, '1 warning from dbmopen with undef third arg';
+}


Property changes on: vendor/perl/dist/t/op/dbm.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/defins.t
===================================================================
--- vendor/perl/dist/t/op/defins.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/defins.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
     $SIG{__WARN__} = sub { $warns++; warn $_[0] };
 }
 require 'test.pl';
-plan( tests => 19 );
+plan( tests => 27 );
 
 my $unix_mode = 1;
 
@@ -33,15 +33,23 @@
     $unix_mode = 1 if $drop_dot && unix_rpt;
 }
 
+# $wanted_filename should be 0 for readdir() and glob() tests.
+# This is because it is the only valid filename that is false in a boolean test.
+
+# $filename = '0';
+# print "hi\n" if $filename; # doesn't print
+
+# In the case of VMS, '0' isn't always the filename that you get.
+# Which makes those particular tests pointless.
+
 $wanted_filename = $unix_mode ? '0' : '0.';
 $saved_filename = './0';
 
 cmp_ok($warns,'==',0,'no warns at start');
 
-open(FILE,">$saved_filename");
-ok(defined(FILE),'created work file');
+ok(open(FILE,">$saved_filename"),'created work file');
+print FILE "0\n";
 print FILE "1\n";
-print FILE "0";
 close(FILE);
 
 open(FILE,"<$saved_filename");
@@ -50,6 +58,7 @@
 my $dummy;
 while (my $name = <FILE>)
  {
+  chomp($name);
   $seen++ if $name eq '0';
  }
 cmp_ok($seen,'==',1,'seen in while()');
@@ -59,6 +68,7 @@
 my $line = '';
 do
  {
+  chomp($line);
   $seen++ if $line eq '0';
  } while ($line = <FILE>);
 cmp_ok($seen,'==',1,'seen in do/while');
@@ -67,9 +77,10 @@
 $seen = 0;
 while (($seen ? $dummy : $name) = <FILE> )
  {
+  chomp($name);
   $seen++ if $name eq '0';
  }
-cmp_ok($seen,'==',1,'seen in while() ternary');
+cmp_ok($seen,'==',2,'seen in while() ternary');
 
 seek(FILE,0,0);
 $seen = 0;
@@ -76,6 +87,7 @@
 my %where;
 while ($where{$seen} = <FILE>)
  {
+  chomp($where{$seen});
   $seen++ if $where{$seen} eq '0';
  }
 cmp_ok($seen,'==',1,'seen in hash while()');
@@ -107,7 +119,32 @@
  }
 cmp_ok($seen,'==',1,'saw file in hash while()');
 
+rewinddir(DIR);
 $seen = 0;
+$_ = 'not 0';
+while (readdir(DIR))
+ {
+  $seen++ if $_ eq $wanted_filename;
+ }
+cmp_ok($seen,'==',1,'saw file in bare while(readdir){...}');
+
+rewinddir(DIR);
+$seen = 0;
+$_ = 'not 0';
+
+$_ eq $wanted_filename && $seen++ while readdir(DIR);
+cmp_ok($seen,'==',1,'saw file in bare "... while readdir"');
+
+rewinddir(DIR);
+$seen = 0;
+$_ = "";  # suppress uninit warning
+do
+ {
+  $seen++ if $_ eq $wanted_filename;
+ } while (readdir(DIR));
+cmp_ok($seen,'==',1,'saw file in bare do{...}while(readdir)');
+
+$seen = 0;
 while (my $name = glob('*'))
  {
   $seen++ if $name eq $wanted_filename;
@@ -133,12 +170,17 @@
 ok(!(-f $saved_filename),'work file unlinked');
 
 my %hash = (0 => 1, 1 => 2);
+my @array = 1;
+my $neg_sum= 0;
 
 $seen = 0;
+
 while (my $name = each %hash)
  {
+  $neg_sum = $name - $neg_sum;
   $seen++ if $name eq '0';
  }
+cmp_ok(abs($neg_sum),'==',1,'abs(neg_sum) should equal 1');
 cmp_ok($seen,'==',1,'seen in each');
 
 $seen = 0;
@@ -147,7 +189,7 @@
  {
   $seen++ if $name eq '0';
  }
-cmp_ok($seen,'==',1,'seen in each ternary');
+cmp_ok($seen,'==',$neg_sum < 0 ? 1 : 2,'seen in each ternary');
 
 $seen = 0;
 while ($where{$seen} = each %hash)
@@ -156,4 +198,30 @@
  }
 cmp_ok($seen,'==',1,'seen in each hash');
 
+$seen = 0;
+undef $_;
+while (each %hash)
+ {
+  $seen++ if $_ eq '0';
+ }
+cmp_ok($seen,'==',1,'0 seen in $_ in while(each %hash)');
+
+$seen = 0;
+undef $_;
+while (each @array)
+ {
+  $seen++ if $_ eq '0';
+ }
+cmp_ok($seen,'==',1,'0 seen in $_ in while(each @array)');
+
+$seen = 0;
+undef $_;
+$_ eq '0' and $seen++ while each %hash;
+cmp_ok($seen,'==',1,'0 seen in $_ in while(each %hash) as stm mod');
+
+$seen = 0;
+undef $_;
+$_ eq '0' and $seen++ while each @array;
+cmp_ok($seen,'==',1,'0 seen in $_ in while(each @array) as stm mod');
+
 cmp_ok($warns,'==',0,'no warns at finish');


Property changes on: vendor/perl/dist/t/op/defins.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/delete.t
===================================================================
--- vendor/perl/dist/t/op/delete.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/delete.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/delete.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/die.t
===================================================================
--- vendor/perl/dist/t/op/die.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/die.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,74 +1,97 @@
 #!./perl
 
-print "1..15\n";
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 
-$SIG{__DIE__} = sub { print ref($_[0]) ? ("ok ",$_[0]->[0]++,"\n") : @_ } ;
+plan tests => 19;
 
-$err = "#[\000]\nok 1\n";
 eval {
-    die $err;
+    eval {
+	die "Horribly\n";
+    };
+    die if $@;
 };
 
-print "not " unless $@ eq $err;
-print "ok 2\n";
+like($@, '^Horribly', 'die with no args propagates $@');
+like($@, 'propagated', '... and appends a phrase');
 
-$x = [3];
-eval { die $x; };
+{
+    local $SIG{__DIE__} = sub { is( $_[0], "[\000]\n", 'Embedded null passed to signal handler' )};
 
-print "not " unless $x->[0] == 4;
-print "ok 4\n";
+    $err = "[\000]\n";
+    eval {
+        die $err;
+    };
+    is( $@, $err, 'Embedded null passed back into $@' );
+}
 
-eval {
+{
+    local $SIG{__DIE__} = sub {
+	isa_ok( $_[0], 'ARRAY', 'pass an array ref as an argument' );
+	$_[0]->[0]++;
+    };
+    $x = [3];
+    eval { die $x; };
+
+    is( $x->[0], 4, 'actual array, not a copy, passed to signal handler' );
+
     eval {
-	die [ 5 ];
+        eval {
+            die [ 5 ];
+        };
+        die if $@;
     };
-    die if $@;
-};
 
-eval {
+    is($@->[0], 7, 'die with no arguments propagates $@, but leaves references alone');
+
     eval {
-	die bless [ 7 ], "Error";
+	eval {
+	    die bless [ 7 ], "Error";
+	};
+	isa_ok( $@, 'Error', '$@ is an Error object' );
+	die if $@;
     };
-    die if $@;
-};
 
-print "not " unless ref($@) eq "Out";
-print "ok 10\n";
+    isa_ok( $@, 'Out', 'returning a different object than what was passed in, via PROPAGATE' );
+    is($@->[0], 9, 'reference returned correctly');
+}
 
 {
     package Error;
 
     sub PROPAGATE {
-	print "ok ",$_[0]->[0]++,"\n";
 	bless [$_[0]->[0]], "Out";
     }
 }
 
+
 {
     # die/warn and utf8
     use utf8;
     local $SIG{__DIE__};
     my $msg = "ce ºtii tu, bã ?\n";
-    eval { die $msg }; print "not " unless $@ eq $msg;
-    print "ok 11\n";
+    eval { die $msg };
+    is( $@, $msg, "Literal passed to die" );
     our $err;
     local $SIG{__WARN__} = $SIG{__DIE__} = sub { $err = shift };
-    eval { die $msg }; print "not " unless $err eq $msg;
-    print "ok 12\n";
-    eval { warn $msg }; print "not " unless $err eq $msg;
-    print "ok 13\n";
+    eval { die $msg };
+    is( $err, $msg, 'die handler with utf8' );
+    eval { warn $msg };
+    is( $err, $msg, 'warn handler with utf8' );
     eval qq/ use strict; \$\x{3b1} /;
-    print "not " unless $@ =~ /Global symbol "\$\x{3b1}"/;
-    print "ok 14\n";
+    like( $@, qr/Global symbol "\$\x{3b1}"/, 'utf8 symbol names show up in $@' );
 }
 
 # [perl #36470] got uninit warning if $@ was undef
 
 {
+    use warnings "uninitialized";
     my $ok = 1;
     local $SIG{__DIE__};
     local $SIG{__WARN__} = sub { $ok = 0 };
     eval { undef $@; die };
-    print "not " unless $ok;
-    print "ok 15\n";
+    is( $ok, 1, 'no warnings if $@ is undef' );
 }


Property changes on: vendor/perl/dist/t/op/die.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/die_except.t
===================================================================
--- vendor/perl/dist/t/op/die_except.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/die_except.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -19,8 +19,8 @@
 	$@ = "t1\n";
 	1;
 }; $err = $@;
-is($val, 1);
-is($err, "");
+is($val, 1, "true return value from successful eval block");
+is($err, "", "no exception after successful eval block");
 
 $@ = "t0\n";
 $val = eval {
@@ -30,8 +30,8 @@
 	};
 	1;
 }; $err = $@;
-is($val, undef);
-is($err, "t3\n");
+is($val, undef, "undefined return value from eval block with 'die'");
+is($err, "t3\n", "exception after eval block with 'die'");
 
 $@ = "t0\n";
 $val = eval {
@@ -39,8 +39,8 @@
 	local $@ = "t2\n";
 	1;
 }; $err = $@;
-is($val, 1);
-is($err, "");
+is($val, 1, "true return value from successful eval block with localized \$@");
+is($err, "", "no exception after successful eval block with localized \$@");
 
 $@ = "t0\n";
 $val = eval {
@@ -51,8 +51,10 @@
 	};
 	1;
 }; $err = $@;
-is($val, undef);
-is($err, "t3\n");
+is($val, undef,
+    "undefined return value from eval block with 'die' and localized \$@");
+is($err, "t3\n",
+    "exception after eval block with 'die' and localized \$@");
 
 $@ = "t0\n";
 $val = eval {
@@ -60,8 +62,8 @@
 	my $c = end { $@ = "t2\n"; };
 	1;
 }; $err = $@;
-is($val, 1);
-is($err, "");
+is($val, 1, "true return value from eval block with 'end'");
+is($err, "", "no exception after eval block with 'end'");
 
 $@ = "t0\n";
 $val = eval {
@@ -72,7 +74,7 @@
 	};
 	1;
 }; $err = $@;
-is($val, undef);
-is($err, "t3\n");
+is($val, undef, "undefined return value from eval block with 'end' and 'die'");
+is($err, "t3\n", "exception after eval block with 'end' and 'die'");
 
 done_testing();


Property changes on: vendor/perl/dist/t/op/die_except.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/die_exit.t
===================================================================
--- vendor/perl/dist/t/op/die_exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/die_exit.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,8 +13,6 @@
 
 use strict;
 
-skip_all('broken on MPE/iX') if $^O eq 'mpeix';
-
 $| = 1;
 
 my @tests = (


Property changes on: vendor/perl/dist/t/op/die_exit.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/die_keeperr.t
===================================================================
--- vendor/perl/dist/t/op/die_keeperr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/die_keeperr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 BEGIN {
     chdir 't' if -d 't';
     require 'test.pl';
-    plan(20);
+    plan(24);
 }
 
 sub End::DESTROY { $_[0]->() }
@@ -31,15 +31,46 @@
     no warnings "misc";
     my $warn = "";
     local $SIG{__WARN__} = sub { $warn .= $_[0] };
-    { my $e = end { die "aa\n"; }; }
+    { my $e = end { no warnings "misc"; die "aa\n"; }; }
     is $warn, "";
 }
 
 {
+    no warnings "misc";
     my $warn = "";
     local $SIG{__WARN__} = sub { $warn .= $_[0] };
+    { my $e = end { use warnings "misc"; die "aa\n"; }; }
+    is $warn, "\t(in cleanup) aa\n";
+}
+
+{
+    my $warn = "";
+    local $SIG{__WARN__} = sub { $warn .= $_[0] };
     { my $e = end { no warnings "misc"; die "aa\n"; }; }
+    is $warn, "";
+}
+
+{
+    my $warn = "";
+    local $SIG{__WARN__} = sub { $warn .= $_[0] };
+    { my $e = end { use warnings "misc"; die "aa\n"; }; }
     is $warn, "\t(in cleanup) aa\n";
 }
 
+{
+    use warnings "misc";
+    my $warn = "";
+    local $SIG{__WARN__} = sub { $warn .= $_[0] };
+    { my $e = end { no warnings "misc"; die "aa\n"; }; }
+    is $warn, "";
+}
+
+{
+    use warnings "misc";
+    my $warn = "";
+    local $SIG{__WARN__} = sub { $warn .= $_[0] };
+    { my $e = end { use warnings "misc"; die "aa\n"; }; }
+    is $warn, "\t(in cleanup) aa\n";
+}
+
 1;


Property changes on: vendor/perl/dist/t/op/die_keeperr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/die_unwind.t
===================================================================
--- vendor/perl/dist/t/op/die_unwind.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/die_unwind.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,7 @@
 
 #
 # This test checks for $@ being set early during an exceptional
-# unwinding, and that this early setting doesn't affect the late
+# unwinding, and that this early setting does not affect the late
 # setting used to emit the exception from eval{}.  The early setting is
 # a backward-compatibility hack to satisfy modules that were relying on
 # the historical early setting in order to detect exceptional unwinding.
@@ -29,9 +29,9 @@
 	my $c = end { $uerr = $@; $@ = "t2\n"; };
 	1;
 }; $err = $@;
-is($uerr, "");
-is($val, 1);
-is($err, "");
+is($uerr, "", "\$@ false at start of 'end' block inside 'eval' block");
+is($val, 1, "successful return from 'eval' block");
+is($err, "", "\$@ still false after 'end' block inside 'eval' block");
 
 $@ = "t0\n";
 $val = eval {
@@ -39,9 +39,9 @@
 	my $c = end { $uerr = $@; $@ = "t2\n"; };
 	1;
 }; $err = $@;
-is($uerr, "t1\n");
-is($val, 1);
-is($err, "");
+is($uerr, "t1\n", "true value assigned to \$@ before 'end' block inside 'eval' block");
+is($val, 1, "successful return from 'eval' block");
+is($err, "", "\$@ still false after 'end' block inside 'eval' block");
 
 $@ = "";
 $val = eval {
@@ -52,7 +52,7 @@
 	1;
 }; $err = $@;
 is($uerr, "t3\n");
-is($val, undef);
+is($val, undef, "undefined return value from 'eval' block with 'die'");
 is($err, "t3\n");
 
 $@ = "t0\n";
@@ -65,7 +65,7 @@
 	1;
 }; $err = $@;
 is($uerr, "t3\n");
-is($val, undef);
+is($val, undef, "undefined return value from 'eval' block with 'die'");
 is($err, "t3\n");
 
 done_testing();


Property changes on: vendor/perl/dist/t/op/die_unwind.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/do.t
===================================================================
--- vendor/perl/dist/t/op/do.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/do.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,10 @@
 #!./perl -w
 
-require './test.pl';
+BEGIN {
+    chdir 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 use strict;
 no warnings 'void';
 
@@ -159,6 +163,73 @@
 @x = sub { do { return do { 1; do { 2; @a } } }; 5 }->();
 is("@x", "7 8 9 10", 'return do { do { ; } } receives caller list context');
 
+# More tests about context propagation below return()
+ at a = (11, 12);
+ at b = (21, 22, 23);
+
+my $test_code = sub {
+    my ($x, $y) = @_;
+    if ($x) {
+	return $y ? do { my $z; @a } : do { my $z; @b };
+    } else {
+	return (
+	    do { my $z; @a },
+	    (do { my$z; @b }) x $y
+	);
+    }
+    'xxx';
+};
+
+$x = $test_code->(1, 1);
+is($x, 2, 'return $y ? do { } : do { } - scalar context 1');
+$x = $test_code->(1, 0);
+is($x, 3, 'return $y ? do { } : do { } - scalar context 2');
+ at x = $test_code->(1, 1);
+is("@x", '11 12', 'return $y ? do { } : do { } - list context 1');
+ at x = $test_code->(1, 0);
+is("@x", '21 22 23', 'return $y ? do { } : do { } - list context 2');
+
+$x = $test_code->(0, 0);
+is($x, "", 'return (do { }, (do { }) x ...) - scalar context 1');
+$x = $test_code->(0, 1);
+is($x, 3, 'return (do { }, (do { }) x ...) - scalar context 2');
+ at x = $test_code->(0, 0);
+is("@x", '11 12', 'return (do { }, (do { }) x ...) - list context 1');
+ at x = $test_code->(0, 1);
+is("@x", '11 12 21 22 23', 'return (do { }, (do { }) x ...) - list context 2');
+
+$test_code = sub {
+    my ($x, $y) = @_;
+    if ($x) {
+	return do {
+	    if ($y == 0) {
+		my $z;
+		@a;
+	    } elsif ($y == 1) {
+		my $z;
+		@b;
+	    } else {
+		my $z;
+		(wantarray ? reverse(@a) : '99');
+	    }
+	};
+    }
+    'xxx';
+};
+
+$x = $test_code->(1, 0);
+is($x, 2, 'return do { if () { } elsif () { } else { } } - scalar 1');
+$x = $test_code->(1, 1);
+is($x, 3, 'return do { if () { } elsif () { } else { } } - scalar 2');
+$x = $test_code->(1, 2);
+is($x, 99, 'return do { if () { } elsif () { } else { } } - scalar 3');
+ at x = $test_code->(1, 0);
+is("@x", '11 12', 'return do { if () { } elsif () { } else { } } - list 1');
+ at x = $test_code->(1, 1);
+is("@x", '21 22 23', 'return do { if () { } elsif () { } else { } } - list 2');
+ at x = $test_code->(1, 2);
+is("@x", '12 11', 'return do { if () { } elsif () { } else { } } - list 3');
+
 # Do blocks created by constant folding
 # [perl #68108]
 $x = sub { if (1) { 20 } }->();
@@ -197,4 +268,48 @@
 @x = sub { if (0){} else { 0; @a } }->();
 is("@x", "24 25 26 27", 'if (0){} else { ...; @a } receives caller list context');
 
+# [rt.cpan.org #72767] do "string" should not propagate warning hints
+SKIP: {
+  skip_if_miniperl("no in-memory files under miniperl", 1);
+
+  my $code = '42; 1';
+  # Based on Eval::WithLexicals::_eval_do
+  local @INC = (sub {
+    if ($_[1] eq '/eval_do') {
+      open my $fh, '<', \$code;
+      $fh;
+    } else {
+      ();
+    }
+  }, @INC);
+  local $^W;
+  use warnings;
+  my $w;
+  local $SIG{__WARN__} = sub { warn shift; ++$w };
+  do '/eval_do' or die $@;
+  is($w, undef, 'do STRING does not propagate warning hints');
+}
+
+# RT#113730 - $@ should be cleared on IO error.
+{
+    $@ = "should not see";
+    $! = 0;
+    my $rv = do("some nonexistent file");
+    my $saved_error = $@;
+    my $saved_errno = $!;
+    ok(!$rv,          "do returns false on io errror");
+    ok(!$saved_error, "\$\@ not set on io error");
+    ok($saved_errno,  "\$! set on io error");
+}
+
+# do subname should not be do "subname"
+{
+    my $called;
+    sub fungi { $called .= "fungible" }
+    $@ = "scrimptious scrobblings";
+    do fungi;
+    is $called, "fungible", "do-file does not force bareword";
+    isnt $@, "scrimptious scrobblings", "It was interpreted as do-file";
+}
+
 done_testing();


Property changes on: vendor/perl/dist/t/op/do.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/dor.t
===================================================================
--- vendor/perl/dist/t/op/dor.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/dor.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -23,7 +23,7 @@
 $x='';
 is($x // 0, '',		'	// : left-hand operand defined but empty');
 
-like([] // 0, qr/^ARRAY/,	'	// : left-hand operand a referece');
+like([] // 0, qr/^ARRAY/,	'	// : left-hand operand a reference');
 
 $x=undef;
 $x //= 1;
@@ -56,15 +56,18 @@
 # Test for some ambiguous syntaxes
 
 eval q# sub f ($) { } f $x / 2; #;
-is( $@, '' );
+is( $@, '', "'/' correctly parsed as arithmetic operator" );
 eval q# sub f ($):lvalue { $y } f $x /= 2; #;
-is( $@, '' );
+is( $@, '', "'/=' correctly parsed as assigment operator" );
 eval q# sub f ($) { } f $x /2; #;
-like( $@, qr/^Search pattern not terminated/ );
+like( $@, qr/^Search pattern not terminated/,
+    "Caught unterminated search pattern error message: empty subroutine" );
 eval q# sub { print $fh / 2 } #;
-is( $@, '' );
+is( $@, '',
+    "'/' correctly parsed as arithmetic operator in sub with built-in function" );
 eval q# sub { print $fh /2 } #;
-like( $@, qr/^Search pattern not terminated/ );
+like( $@, qr/^Search pattern not terminated/,
+    "Caught unterminated search pattern error message: sub with built-in function" );
 
 # [perl #28123] Perl optimizes // away incorrectly
 


Property changes on: vendor/perl/dist/t/op/dor.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/each.t
===================================================================
--- vendor/perl/dist/t/op/each.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/each.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan tests => 54;
+plan tests => 59;
 
 $h{'abc'} = 'ABC';
 $h{'def'} = 'DEF';
@@ -238,3 +238,53 @@
     my @arr=%foo&&%foo;
     is(@arr,10,"Got expected number of elements in list context");
 }    
+{
+    # make sure a deleted active iterator gets freed timely, even if the
+    # hash is otherwise empty
+
+    package Single;
+
+    my $c = 0;
+    sub DESTROY { $c++ };
+
+    {
+	my %h = ("a" => bless []);
+	my ($k,$v) = each %h;
+	delete $h{$k};
+	::is($c, 0, "single key not yet freed");
+    }
+    ::is($c, 1, "single key now freed");
+}
+
+{
+    # Make sure each() does not leave the iterator in an inconsistent state
+    # (RITER set to >= 0, with EITER null) if the active iterator is
+    # deleted, leaving the hash apparently empty.
+    my %h;
+    $h{1} = 2;
+    each %h;
+    delete $h{1};
+    each %h;
+    $h{1}=2;
+    is join ("-", each %h), '1-2',
+	'each on apparently empty hash does not leave RITER set';
+}
+{
+    my $warned= 0;
+    local $SIG{__WARN__}= sub {
+        /\QUse of each() on hash after insertion without resetting hash iterator results in undefined behavior\E/
+            and $warned++ for @_;
+    };
+    my %h= map { $_ => $_ } "A".."F";
+    while (my ($k, $v)= each %h) {
+        $h{"$k$k"}= $v;
+    }
+    ok($warned,"each() after insert produces warnings");
+    no warnings 'internal';
+    $warned= 0;
+    %h= map { $_ => $_ } "A".."F";
+    while (my ($k, $v)= each %h) {
+        $h{"$k$k"}= $v;
+    }
+    ok(!$warned, "no warnings 'internal' silences each() after insert warnings");
+}


Property changes on: vendor/perl/dist/t/op/each.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/each_array.t
===================================================================
--- vendor/perl/dist/t/op/each_array.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/each_array.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,128 +7,183 @@
 }
 use strict;
 use warnings;
-no warnings 'deprecated';
-use vars qw(@array @r $k $v);
+use vars qw(@array @r $k $v $c);
 
-plan tests => 48;
+plan tests => 63;
 
 @array = qw(crunch zam bloop);
 
 (@r) = each @array;
-is (scalar @r, 2);
-is ($r[0], 0);
-is ($r[1], 'crunch');
+is (scalar @r, 2, "'each' on array returns index and value of next element");
+is ($r[0], 0, "got expected index");
+is ($r[1], 'crunch', "got expected value");
 ($k, $v) = each @array;
-is ($k, 1);
-is ($v, 'zam');
+is ($k, 1, "got expected index of next element");
+is ($v, 'zam', "got expected value of next element");
 ($k, $v) = each @array;
-is ($k, 2);
-is ($v, 'bloop');
+is ($k, 2, "got expected index of remaining element");
+is ($v, 'bloop', "got expected value of remaining element");
 (@r) = each @array;
-is (scalar @r, 0);
+is (scalar @r, 0,
+    "no elements remaining to be iterated over in original array");
 
 (@r) = each @array;
-is (scalar @r, 2);
-is ($r[0], 0);
-is ($r[1], 'crunch');
+is (scalar @r, 2, "start second iteration over original array");
+is ($r[0], 0, "got expected index");
+is ($r[1], 'crunch', "got expected value");
 ($k) = each @array;
-is ($k, 1);
-{
-    $[ = 2;
-    my ($k, $v) = each @array;
-    is ($k, 4);
-    is ($v, 'bloop');
-    (@r) = each @array;
-    is (scalar @r, 0);
-}
+is ($k, 1, "got index when only index was assigned to variable");
 
-my @lex_array = qw(PLOP SKLIZZORCH RATTLE PBLRBLPSFT);
+my @lex_array = qw(PLOP SKLIZZORCH RATTLE);
 
 (@r) = each @lex_array;
-is (scalar @r, 2);
-is ($r[0], 0);
-is ($r[1], 'PLOP');
+is (scalar @r, 2, "'each' on array returns index and value of next element");
+is ($r[0], 0, "got expected index");
+is ($r[1], 'PLOP', "got expected value");
 ($k, $v) = each @lex_array;
-is ($k, 1);
-is ($v, 'SKLIZZORCH');
+is ($k, 1, "got expected index of next element");
+is ($v, 'SKLIZZORCH', "got expected value of next element");
 ($k) = each @lex_array;
-is ($k, 2);
-{
-    $[ = -42;
-    my ($k, $v) = each @lex_array;
-    is ($k, -39);
-    is ($v, 'PBLRBLPSFT');
-}
+is ($k, 2, "got expected index of remaining element");
 (@r) = each @lex_array;
-is (scalar @r, 0);
+is (scalar @r, 0,
+    "no elements remaining to be iterated over in original array");
 
 my $ar = ['bacon'];
 
 (@r) = each @$ar;
-is (scalar @r, 2);
-is ($r[0], 0);
-is ($r[1], 'bacon');
+is (scalar @r, 2,
+    "'each' on array inside reference returns index and value of next element");
+is ($r[0], 0, "got expected index");
+is ($r[1], 'bacon', "got expected value of array element inside reference");
 
 (@r) = each @$ar;
-is (scalar @r, 0);
+is (scalar @r, 0,
+    "no elements remaining to be iterated over in array inside reference");
 
-is (each @$ar, 0);
-is (scalar each @$ar, undef);
+is (each @$ar, 0, "scalar context 'each' on array returns expected index");
+is (scalar each @$ar, undef,
+    "no elements remaining to be iterated over; array reference case");
 
 my @keys;
 @keys = keys @array;
-is ("@keys", "0 1 2");
+is ("@keys", "0 1 2",
+    "'keys' on array in list context returns list of indices");
 
 @keys = keys @lex_array;
-is ("@keys", "0 1 2 3");
+is ("@keys", "0 1 2",
+    "'keys' on another array in list context returns list of indices");
 
-{
-    $[ = 1;
-
-    @keys = keys @array;
-    is ("@keys", "1 2 3");
-
-    @keys = keys @lex_array;
-    is ("@keys", "1 2 3 4");
-}
-
 ($k, $v) = each @array;
-is ($k, 0);
-is ($v, 'crunch');
+is ($k, 0, "got expected index");
+is ($v, 'crunch', "got expected value");
 
 @keys = keys @array;
-is ("@keys", "0 1 2");
+is ("@keys", "0 1 2",
+    "'keys' on array in list context returns list of indices");
 
 ($k, $v) = each @array;
-is ($k, 0);
-is ($v, 'crunch');
+is ($k, 0, "following 'keys', got expected index");
+is ($v, 'crunch', "following 'keys', got expected value");
 
 
 
 my @values;
 @values = values @array;
-is ("@values", "@array");
+is ("@values", "@array",
+    "'values' on array returns list of values");
 
 @values = values @lex_array;
-is ("@values", "@lex_array");
+is ("@values", "@lex_array",
+    "'values' on another array returns list of values");
 
-{
-    $[ = 1;
+($k, $v) = each @array;
+is ($k, 0, "following 'values', got expected index");
+is ($v, 'crunch', "following 'values', got expected index");
 
-    @values = values @array;
-    is ("@values", "@array");
+ at values = values @array;
+is ("@values", "@array",
+    "following 'values' and 'each', 'values' continues to return expected list of values");
 
-    @values = values @lex_array;
-    is ("@values", "@lex_array");
+($k, $v) = each @array;
+is ($k, 0,
+    "following 'values', 'each' and 'values', 'each' continues to return expected index");
+is ($v, 'crunch',
+    "following 'values', 'each' and 'values', 'each' continues to return expected value");
+
+# reset
+while (each @array) { }
+
+# each(ARRAY) in the conditional loop
+$c = 0;
+while (($k, $v) = each @array) {
+    is ($k, $c, "'each' on array in loop returns expected index '$c'");
+    is ($v, $array[$k],
+        "'each' on array in loop returns expected value '$array[$k]'");
+    $c++;
 }
 
-($k, $v) = each @array;
-is ($k, 0);
-is ($v, 'crunch');
+# each(ARRAY) on scalar context in conditional loop
+# should guarantee to be wrapped into defined() function.
+# first return value will be 0 --> [#90888]
+$c = 0;
+$k = 0;
+$v = 0;
+while ($k = each @array) {
+    is ($k, $v,
+        "'each' on array in scalar context in loop returns expected index '$v'");
+    $v++;
+}
 
- at values = values @array;
-is ("@values", "@array");
+# each(ARRAY) in the conditional loop
+$c = 0;
+for (; ($k, $v) = each @array ;) {
+    is ($k, $c,
+        "'each' on array in list context in loop returns expected index '$c'");
+    is ($v, $array[$k],
+        "'each' on array in list context in loop returns expected value '$array[$k]'");
+    $c++;
+}
 
-($k, $v) = each @array;
-is ($k, 0);
-is ($v, 'crunch');
+# each(ARRAY) on scalar context in conditional loop
+# --> [#90888]
+$c = 0;
+$k = 0;
+$v = 0;
+for (; $k = each(@array) ;) {
+    is ($k, $v,
+        "'each' on array in scalar context in loop returns expected index '$v'");
+    $v++;
+}
+
+# Reset the iterator when the array is cleared [RT #75596]
+{
+    my @a = 'a' .. 'c';
+    my ($i, $v) = each @a;
+    is ("$i-$v", '0-a', "got expected index and value");
+    @a = 'A' .. 'C';
+    ($i, $v) = each @a;
+    is ("$i-$v", '0-A',
+        "got expected new index and value after array gets new content");
+}
+
+# Check that the iterator is reset when localization ends
+{
+    @array = 'a' .. 'c';
+    my ($i, $v) = each @array;
+    is ("$i-$v", '0-a', "got expected index and value");
+    {
+        local @array = 'A' .. 'C';
+        my ($i, $v) = each @array;
+        is ("$i-$v", '0-A',
+            "got expected new index and value after array is localized and gets new content");
+        ($i, $v) = each @array;
+        is ("$i-$v", '1-B',
+            "got expected next index and value after array is localized and gets new content");
+    }
+    ($i, $v) = each @array;
+    is ("$i-$v", '1-b',
+         "got expected next index and value upon return to pre-localized array");
+    # Explicit reset
+    while (each @array) { }
+}


Property changes on: vendor/perl/dist/t/op/each_array.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/eval.t
===================================================================
--- vendor/perl/dist/t/op/eval.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/eval.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan(tests => 118);
+plan(tests => 128);
 
 eval 'pass();';
 
@@ -25,6 +25,11 @@
 print eval '$foo = /';	# this tests for a call through fatal()
 like($@, qr/Search/);
 
+is scalar(eval '++'), undef, 'eval syntax error in scalar context';
+is scalar(eval 'die'), undef, 'eval run-time error in scalar context';
+is +()=eval '++', 0, 'eval syntax error in list context';
+is +()=eval 'die', 0, 'eval run-time error in list context';
+
 is(eval '"ok 7\n";', "ok 7\n");
 
 $foo = 5;
@@ -432,13 +437,13 @@
 
 {
     no warnings;
-    eval "/ /b;";
+    eval "&& $b;";
     like($@, qr/^syntax error/, 'eval syntax error, no warnings');
 }
 
-# a syntax error in an eval called magically 9eg vie tie or overload)
+# a syntax error in an eval called magically (eg via tie or overload)
 # resulted in an assertion failure in S_docatch, since doeval had already
-# poppedthe EVAL context due to the failure, but S_docatch expected the
+# popped the EVAL context due to the failure, but S_docatch expected the
 # context to still be there.
 
 {
@@ -491,7 +496,7 @@
 
     is($tombstone, "Done\n", 'Program completed successfully');
 
-    $first =~ s/,pNOK//;
+    $first =~ s/p?[NI]OK,//g;
     s/ PV = 0x[0-9a-f]+/ PV = 0x/ foreach $first, $second;
     s/ LEN = [0-9]+/ LEN = / foreach $first, $second;
     # Dump may double newlines through pipes, though not files
@@ -516,7 +521,7 @@
     # test that the CV compiled for the eval is freed by checking that no additional 
     # reference to outside lexicals are made.
     my $x;
-    is(Internals::SvREFCNT($x), 1, "originally only 1 referece");
+    is(Internals::SvREFCNT($x), 1, "originally only 1 reference");
     eval '$x';
     is(Internals::SvREFCNT($x), 1, "execution eval doesn't create new references");
 }
@@ -567,3 +572,49 @@
   is "a" =~ /a/, "1",
     "string eval leaves readonly lexicals readonly [perl #19135]";
 }
+
+# [perl #68750]
+fresh_perl_is(<<'EOP', "ok\nok\nok\n", undef, 'eval clears %^H');
+  BEGIN {
+    require re; re->import('/x'); # should only affect surrounding scope
+    eval '
+      print "a b" =~ /a b/ ? "ok\n" : "nokay\n";
+      use re "/m";
+      print "a b" =~ /a b/ ? "ok\n" : "nokay\n";
+   ';
+  }
+  print "ab" =~ /a b/ ? "ok\n" : "nokay\n";
+EOP
+
+# [perl #70151]
+{
+    BEGIN { eval 'require re; import re "/x"' }
+    ok "ab" =~ /a b/, 'eval does not localise %^H at run time';
+}
+
+# The fix for perl #70151 caused an assertion failure that broke
+# SNMP::Trapinfo, when toke.c finds no syntax errors but perly.y fails.
+eval(q|""!=!~//|);
+pass("phew! dodged the assertion after a parsing (not lexing) error");
+
+# [perl #111462]
+{
+   local $ENV{PERL_DESTRUCT_LEVEL} = 1;
+   unlike
+     runperl(
+      prog => 'BEGIN { $^H{foo} = bar }'
+             .'our %FIELDS; my main $x; eval q[$x->{foo}]',
+      stderr => 1,
+     ),
+     qr/Unbalanced string table/,
+    'Errors in finalize_optree do not leak string eval op tree';
+}
+
+# [perl #114658] Line numbers at end of string eval
+for("{;", "{") {
+    eval $_; is $@ =~ s/eval \d+/eval 1/rag, <<'EOE',
+Missing right curly or square bracket at (eval 1) line 1, at end of line
+syntax error at (eval 1) line 1, at EOF
+EOE
+	qq'Right line number for eval "$_"';
+}


Property changes on: vendor/perl/dist/t/op/eval.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/exec.t
===================================================================
--- vendor/perl/dist/t/op/exec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/exec.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -124,6 +124,7 @@
 END
 
 {
+    no warnings 'experimental::lexical_topic';
     my $_ = qq($Perl -le "print 'ok'");
     is( readpipe, "ok\n", 'readpipe default argument' );
 }


Property changes on: vendor/perl/dist/t/op/exec.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/exists_sub.t
===================================================================
--- vendor/perl/dist/t/op/exists_sub.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/exists_sub.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,10 +3,9 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
+    require './test.pl';
 }
 
-print "1..9\n";
-
 sub t1;
 sub t2 : lvalue;
 sub t3 ();
@@ -19,28 +18,66 @@
     @ISA = 'P1';
 }
 
-print "not " unless exists &t1 && not defined &t1;
-print "ok 1\n";
-print "not " unless exists &t2 && not defined &t2;
-print "ok 2\n";
-print "not " unless exists &t3 && not defined &t3;
-print "ok 3\n";
-print "not " unless exists &t4 && not defined &t4;
-print "ok 4\n";
-print "not " unless exists &t5 && defined &t5;
-print "ok 5\n";
-P2::->tmc;
-print "not " unless not exists &P2::tmc && not defined &P2::tmc;
-print "ok 6\n";
+my $has_t1 = ok( exists &t1, 't1 sub declared' );
+SKIP: {
+    skip 't1 sub was not declared', 1 if ! $has_t1;
+    ok( ! defined &t1, 't1 not defined' );
+}
+
+my $has_t2 = ok( exists &t2, 't2 sub declared' );
+SKIP: {
+    skip 't2 sub was not declared', 1 if ! $has_t2;
+    ok( ! defined &t2, 't2 not defined' );
+}
+
+my $has_t3 = ok( exists &t3, 't3 sub declared' );
+SKIP: {
+    skip 't3 sub was not declared', 1 if ! $has_t3;
+    ok( ! defined &t3, 't3 not defined' );
+}
+
+my $has_t4 = ok( exists &t4, 't4 sub declared' );
+SKIP: {
+    skip 't4 sub was not declared', 1 if ! $has_t4;
+    ok( ! defined &t4, 't4 not defined' );
+}
+
+my $has_t5 = ok( exists &t5, 't5 sub declared' );
+SKIP: {
+    skip 't5 sub was not declared', 1 if ! $has_t5;
+    ok( defined &t5, , 't5 defined' );
+}
+
+my $has_p2_tmc = ok(! exists &P2::tmc, 'P2::tmc not declared, it was inherited');
+SKIP: {
+    skip 'P2::tmc sub was not declared', 1 if ! $has_t5;
+    ok( ! defined &P2::tmc, 'P2::tmc not defined' );
+}
+
 my $ref;
 $ref->{A}[0] = \&t4;
-print "not " unless exists &{$ref->{A}[0]} && not defined &{$ref->{A}[0]};
-print "ok 7\n";
+my $ref_exists = ok( exists &{$ref->{A}[0]}, 'references to subroutines exist');
+SKIP: {
+    skip 1, 'Reference sub is not considered declared', 1 if ! $ref_exists;
+    ok( ! defined &{$ref->{A}[0]}, 'Reference to a sub is not defined' );
+}
+
+my $p1_tmc_exists = ok( exists &P1::tmc, 'test setup check');
+SKIP: {
+    skip 'Setup P1::tmc sub is not considered declared', 1 if ! $p1_tmc_exists;
+    ok( defined P1::tmc, 'Setup sub is defined' );
+}
+
 undef &P1::tmc;
-print "not " unless exists &P1::tmc && not defined &P1::tmc;
-print "ok 8\n";
+$p1_tmc_exists = ok( exists &P1::tmc, 'P1::tmc was once defined, and continues to be after being undeffed');
+SKIP: {
+    skip( 'Sub P1::tmc still exists after having undef called on it', 1) if ! $p1_tmc_exists;
+    ok( ! defined &P1::tmc, 'P1::tmc is not longer defined after undef was called on it' );
+}
+
 eval 'exists &t5()';
-print "not " unless $@;
-print "ok 9\n";
+like( $@, qr/not a subroutine name/, 'exists takes subroutine names with no argument list');
 
+done_testing();
+
 exit 0;


Property changes on: vendor/perl/dist/t/op/exists_sub.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/exp.t
===================================================================
--- vendor/perl/dist/t/op/exp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/exp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,12 +11,12 @@
 # compile time evaluation
 
 $s = sqrt(2);
-is(substr($s,0,5), '1.414');
+is(substr($s,0,5), '1.414', 'compile time sqrt(2) == 1.414');
 
 $s = exp(1);
-is(substr($s,0,7), '2.71828');
+is(substr($s,0,7), '2.71828', 'compile time exp(1) == e');
 
-cmp_ok(exp(log(1)), '==', 1);
+cmp_ok(exp(log(1)), '==', 1, 'compile time exp(log(1)) == 1');
 
 # run time evaluation
 
@@ -23,12 +23,12 @@
 $x1 = 1;
 $x2 = 2;
 $s = sqrt($x2);
-is(substr($s,0,5), '1.414');
+is(substr($s,0,5), '1.414', 'run time sqrt(2) == 1.414');
 
 $s = exp($x1);
-is(substr($s,0,7), '2.71828');
+is(substr($s,0,7), '2.71828', 'run time exp(1) = e');
 
-cmp_ok(exp(log($x1)), '==', 1);
+cmp_ok(exp(log($x1)), '==', 1, 'run time exp(log(1)) == 1');
 
 # tests for transcendental functions
 
@@ -41,18 +41,18 @@
 }
 
 # sin() tests
-cmp_ok(sin(0), '==', 0.0);
-cmp_ok(round(sin($pi)), '==', 0.0);
-cmp_ok(round(sin(-1 * $pi)), '==', 0.0);
-cmp_ok(round(sin($pi_2)), '==', 1.0);
-cmp_ok(round(sin(-1 * $pi_2)), '==', -1.0);
+cmp_ok(sin(0), '==', 0.0, 'sin(0) == 0');
+cmp_ok(round(sin($pi)), '==', 0.0, 'sin(pi) == 0');
+cmp_ok(round(sin(-1 * $pi)), '==', 0.0, 'sin(-pi) == 0');
+cmp_ok(round(sin($pi_2)), '==', 1.0, 'sin(pi/2) == 1');
+cmp_ok(round(sin(-1 * $pi_2)), '==', -1.0, 'sin(-pi/2) == -1');
 
 # cos() tests
-cmp_ok(cos(0), '==', 1.0);
-cmp_ok(round(cos($pi)), '==', -1.0);
-cmp_ok(round(cos(-1 * $pi)), '==', -1.0);
-cmp_ok(round(cos($pi_2)), '==', 0.0);
-cmp_ok(round(cos(-1 * $pi_2)), '==', 0.0);
+cmp_ok(cos(0), '==', 1.0, 'cos(0) == 1');
+cmp_ok(round(cos($pi)), '==', -1.0, 'cos(pi) == -1');
+cmp_ok(round(cos(-1 * $pi)), '==', -1.0, 'cos(-pi) == -1');
+cmp_ok(round(cos($pi_2)), '==', 0.0, 'cos(pi/2) == 0');
+cmp_ok(round(cos(-1 * $pi_2)), '==', 0.0, 'cos(-pi/2) == 0');
 
 # atan2() tests were removed due to differing results from calls to
 # atan2() on various OS's and architectures.  See perlport.pod for


Property changes on: vendor/perl/dist/t/op/exp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/fh.t
===================================================================
--- vendor/perl/dist/t/op/fh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/fh.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,18 +12,18 @@
 
 $|=1;
 my $a = "SYM000";
-ok(!defined(fileno($a)));
-ok(!defined *{$a});
+ok(!defined(fileno($a)), 'initial file handle is undefined');
+ok(!defined *{$a}, 'initial typeglob of file handle is undefined');
 
 select select $a;
-ok(defined *{$a});
+ok(defined *{$a}, 'typeglob of file handle defined after select');
 
 $a++;
-ok(!close $a);
-ok(!defined *{$a});
+ok(!close $a, 'close does not succeed with incremented file handle');
+ok(!defined *{$a}, 'typeglob of file handle not defined after increment');
 
-ok(open($a, ">&STDOUT"));
-ok(defined *{$a});
+ok(open($a, ">&STDOUT"), 'file handle used with open of standard output');
+ok(defined *{$a}, 'typeglob of file handle defined after opening standard output');
 
-ok(close $a);
+ok(close $a, 'close standard output via file handle;');
 


Property changes on: vendor/perl/dist/t/op/fh.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/filehandle.t
===================================================================
--- vendor/perl/dist/t/op/filehandle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/filehandle.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,5 @@
 #!./perl
 
-# There are few filetest operators that are portable enough to test.
-# See pod/perlport.pod for details.
-
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
@@ -15,12 +12,12 @@
 
 my $str = "foo";
 open my $fh, "<", \$str;
-is <$fh>, "foo";
+is <$fh>, "foo", "open fh to reference to string: got expected content";
 
 eval {
    $fh->seek(0, 0);
-   is $fh->tell, 0;
-   is <$fh>, "foo";
+   is $fh->tell, 0, "after 'seek' and 'tell', got expected current fh position in bytes";
+   is <$fh>, "foo", "after 'seek' and 'tell', still got expected content";
 };
 
-is $@, '';
+is $@, '', "no errors after 'seek' or 'tell'";


Property changes on: vendor/perl/dist/t/op/filehandle.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/filetest.t
===================================================================
--- vendor/perl/dist/t/op/filetest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/filetest.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,92 +9,121 @@
     require './test.pl';
 }
 
-use Config;
-plan(tests => 28 + 27*14);
+plan(tests => 50 + 27*14);
 
-ok( -d 'op' );
-ok( -f 'TEST' );
-ok( !-f 'op' );
-ok( !-d 'TEST' );
-ok( -r 'TEST' );
+# Tests presume we are in t/op directory and that file 'TEST' is found
+# therein.
+is(-d 'op', 1, "-d: directory correctly identified");
+is(-f 'TEST', 1, "-f: plain file correctly identified");
+isnt(-f 'op', 1, "-f: directory is not a plain file");
+isnt(-d 'TEST', 1, "-d: plain file is not a directory");
+is(-r 'TEST', 1, "-r: file readable by effective uid/gid not found");
 
-# Make a read only file
-my $ro_file = tempfile();
+# Make a read only file. This happens to be empty, so we also use it later.
+my $ro_empty_file = tempfile();
 
 {
-    open my $fh, '>', $ro_file or die "open $fh: $!";
+    open my $fh, '>', $ro_empty_file or die "open $fh: $!";
     close $fh or die "close $fh: $!";
 }
 
-chmod 0555, $ro_file or die "chmod 0555, '$ro_file' failed: $!";
+chmod 0555, $ro_empty_file or die "chmod 0555, '$ro_empty_file' failed: $!";
 
-$oldeuid = $>;		# root can read and write anything
-eval '$> = 1';		# so switch uid (may not be implemented)
+SKIP: {
+    my $restore_root;
+    if ($> == 0) {
+	# root can read and write anything, so switch uid (may not be
+	# implemented)
+	eval '$> = 1';
 
-print "# oldeuid = $oldeuid, euid = $>\n";
-
-SKIP: {
-    if (!$Config{d_seteuid}) {
-	skip('no seteuid');
-    } 
-    else {
-	ok( !-w $ro_file );
+	skip("Can't drop root privs to test read-only files") if $> == 0;
+	note("Dropped root privs to test read-only files. \$> == $>");
+	++$restore_root;
     }
-}
 
-# Scripts are not -x everywhere so cannot test that.
+    isnt(-w $ro_empty_file, 1, "-w: file writable by effective uid/gid");
 
-eval '$> = $oldeuid';	# switch uid back (may not be implemented)
-
-# this would fail for the euid 1
-# (unless we have unpacked the source code as uid 1...)
-ok( -r 'op' );
-
-# this would fail for the euid 1
-# (unless we have unpacked the source code as uid 1...)
-SKIP: {
-    if ($Config{d_seteuid}) {
-	ok( -w 'op' );
-    } else {
-	skip('no seteuid');
+    if ($restore_root) {
+	# If the previous assignment to $> worked, so should this:
+	$> = 0;
+	note("Restored root privs after testing read-only files. \$> == $>");
     }
 }
 
-ok( -x 'op' ); # Hohum.  Are directories -x everywhere?
+# these would fail for the euid 1
+# (unless we have unpacked the source code as uid 1...)
+is(-r 'op', 1, "-r: directory readable by effective uid/gid");
+is(-w 'op', 1, "-w: directory writable by effective uid/gid");
+is(-x 'op', 1, "-x: executable by effective uid/gid"); # Hohum.  Are directories -x everywhere?
 
-is( "@{[grep -r, qw(foo io noo op zoo)]}", "io op" );
+is( "@{[grep -r, qw(foo io noo op zoo)]}", "io op",
+    "-r: found directories readable by effective uid/gid" );
 
 # Test stackability of filetest operators
 
-ok( defined( -f -d 'TEST' ) && ! -f -d _ );
-ok( !defined( -e 'zoo' ) );
-ok( !defined( -e -d 'zoo' ) );
-ok( !defined( -f -e 'zoo' ) );
-ok( -f -e 'TEST' );
-ok( -e -f 'TEST' );
-ok( defined(-d -e 'TEST') );
-ok( defined(-e -d 'TEST') );
-ok( ! -f -d 'op' );
-ok( -x -d -x 'op' );
-ok( (-s -f 'TEST' > 1), "-s returns real size" );
-ok( -f -s 'TEST' == 1 );
+is(defined( -f -d 'TEST' ), 1, "-f and -d stackable: plain file found");
+isnt(-f -d _, 1, "-f and -d stackable: no plain file found");
+isnt(defined( -e 'zoo' ), 1, "-e: file does not exist");
+isnt(defined( -e -d 'zoo' ), 1, "-e and -d: neither file nor directory exists");
+isnt(defined( -f -e 'zoo' ), 1, "-f and -e: not a plain file and does not exist");
+is(-f -e 'TEST', 1, "-f and -e: plain file and exists");
+is(-e -f 'TEST', 1, "-e and -f: exists and is plain file");
+is(defined(-d -e 'TEST'), 1, "-d and -e: file at least exists");
+is(defined(-e -d 'TEST'), 1, "-e and -d: file at least exists");
+isnt( -f -d 'op', 1, "-f and -d: directory found but is not a plain file");
+is(-x -d -x 'op', 1, "-x, -d and -x again: directory exists and is executable");
+my ($size) = (stat 'TEST')[7];
+cmp_ok($size, '>', 1, 'TEST is longer than 1 byte');
+is( (-s -f 'TEST'), $size, "-s returns real size" );
+is(-f -s 'TEST', 1, "-f and -s: plain file with non-zero size");
 
 # now with an empty file
-my $tempfile = tempfile();
-open my $fh, ">", $tempfile;
-close $fh;
-ok( -f $tempfile );
-is( -s $tempfile, 0 );
-is( -f -s $tempfile, 0 );
-is( -s -f $tempfile, 0 );
-unlink_all $tempfile;
+is(-f $ro_empty_file, 1, "-f: plain file found");
+is(-s $ro_empty_file, 0, "-s: file has 0 bytes");
+is(-f -s $ro_empty_file, 0, "-f and -s: plain file with 0 bytes");
+is(-s -f $ro_empty_file, 0, "-s and -f: file with 0 bytes is plain file");
 
+# stacked -l
+eval { -l -e "TEST" };
+like $@, qr/^The stat preceding -l _ wasn't an lstat at /,
+  'stacked -l non-lstat error with warnings off';
+{
+ local $^W = 1;
+ eval { -l -e "TEST" };
+ like $@, qr/^The stat preceding -l _ wasn't an lstat at /,
+  'stacked -l non-lstat error with warnings on';
+}
+# Make sure -l is using the previous stat buffer, and not using the previ-
+# ous op’s return value as a file name.
+# t/TEST can be a symlink under -Dmksymlinks, so use our temporary file.
+SKIP: {
+ use Perl::OSType 'os_type';
+ if (os_type ne 'Unix') { skip "Not Unix", 3 }
+ chomp(my $ln = `which ln`);
+ if ( ! -e $ln ) { skip "No ln"   , 3 }
+ lstat $ro_empty_file;
+ `ln -s $ro_empty_file 1`;
+ isnt(-l -e _, 1, 'stacked -l uses previous stat, not previous retval');
+ unlink 1;
+
+ # Since we already have our skip block set up, we might as well put this
+ # test here, too:
+ # -l always treats a non-bareword argument as a file name
+ system 'ln', '-s', $ro_empty_file, \*foo;
+ local $^W = 1;
+ my @warnings;
+ local $SIG{__WARN__} = sub { push @warnings, @_ };
+ is(-l \*foo, 1, '-l \*foo is a file name');
+ ok($warnings[0] =~ /-l on filehandle foo/, 'warning for -l $handle');
+ unlink \*foo;
+}
+
 # test that _ is a bareword after filetest operators
 
 -f 'TEST';
-ok( -f _ );
+is(-f _, 1, "_ is bareword after filetest operator");
 sub _ { "this is not a file name" }
-ok( -f _ );
+is(-f _, 1, "_ is bareword after filetest operator");
 
 my $over;
 {
@@ -149,7 +178,8 @@
 
 for my $op (split //, "rwxoRWXOezsfdlpSbctugkTMBAC") {
     $over = [];
-    ok( my $rv = eval "-$op \$ft",  "overloaded -$op succeeds" )
+    my $rv = eval "-$op \$ft";
+    isnt( $rv, undef,               "overloaded -$op succeeds" )
         or diag( $@ );
     is( $over->[0], $ftstr,         "correct object for overloaded -$op" );
     is( $over->[1], $op,            "correct op for overloaded -$op" );
@@ -168,8 +198,7 @@
 
     $over = 0;
     $rv = eval "-$op \$str";
-    ok( !$@,                        "-$op succeeds with string overloading" )
-        or diag( $@ );
+    is($@, "",                      "-$op succeeds with string overloading");
     is( $rv, eval "-$op 'TEST'",    "correct -$op on string overload" );
     is( $over,      $exp,           "string overload $is called for -$op" );
 
@@ -191,10 +220,133 @@
     is( $rv,        "-$op",         "correct -$op on string/-X overload" );
 
     $rv = eval "-$op \$neither";
-    ok( !$@,                        "-$op succeeds with random overloading" )
-        or diag( $@ );
+    is($@, "",                      "-$op succeeds with random overloading");
     is( $rv, eval "-$op \$nstr",    "correct -$op with random overloading" );
 
     is( eval "-r -$op \$ft", "-r",      "stacked overloaded -$op" );
     is( eval "-$op -r \$ft", "-$op",    "overloaded stacked -$op" );
 }
+
+# -l stack corruption: this bug occurred from 5.8 to 5.14
+{
+ push my @foo, "bar", -l baz;
+ is $foo[0], "bar", '-l bareword does not corrupt the stack';
+}
+
+# -l and fatal warnings
+stat "test.pl";
+eval { use warnings FATAL => io; -l cradd };
+isnt(stat _, 1,
+     'fatal warnings do not prevent -l HANDLE from setting stat status');
+
+# File test ops should not call get-magic on the topmost SV on the stack if
+# it belongs to another op.
+{
+  my $w;
+  sub oon::TIESCALAR{bless[],'oon'}
+  sub oon::FETCH{$w++}
+  tie my $t, 'oon';
+  push my @a, $t, -t;
+  is $w, 1, 'file test does not call FETCH on stack item not its own';
+}
+
+# -T and -B
+
+my $Perl = which_perl();
+
+SKIP: {
+    skip "no -T on filehandles", 8 unless eval { -T STDERR; 1 };
+
+    # Test that -T HANDLE sets the last stat type
+    -l "perl.c";   # last stat type is now lstat
+    -T STDERR;     # should set it to stat, since -T does a stat
+    eval { -l _ }; # should die, because the last stat type is not lstat
+    like $@, qr/^The stat preceding -l _ wasn't an lstat at /,
+	'-T HANDLE sets the stat type';
+
+    # statgv should be cleared when freed
+    fresh_perl_is
+	'open my $fh, "test.pl"; -r $fh; undef $fh; open my $fh2, '
+	. "q\0$Perl\0; print -B _",
+	'',
+	{ switches => ['-l'] },
+	'PL_statgv should not point to freed-and-reused SV';
+
+    # or coerced into a non-glob
+    fresh_perl_is
+	'open Fh, "test.pl"; -r($h{i} = *Fh); $h{i} = 3; undef %h;'
+	. 'open my $fh2, ' . "q\0" . which_perl() . "\0; print -B _",
+	'',
+	{ switches => ['-l'] },
+	'PL_statgv should not point to coerced-freed-and-reused GV';
+
+    # -T _ should work after stat $ioref
+    open my $fh, 'test.pl';
+    stat $Perl; # a binary file
+    stat *$fh{IO};
+    is(-T _, 1, '-T _ works after stat $ioref');
+
+    # and after -r $ioref
+    -r *$fh{IO};
+    is(-T _, 1, '-T _ works after -r $ioref');
+
+    # -T _ on closed filehandle should still reset stat info
+    stat $fh;
+    close $fh;
+    -T _;
+    isnt(stat _, 1, '-T _ on closed filehandle resets stat info');
+
+    lstat "test.pl";
+    -T $fh; # closed
+    eval { lstat _ };
+    like $@, qr/^The stat preceding lstat\(\) wasn't an lstat at /,
+	'-T on closed handle resets last stat type';
+
+    # Fatal warnings should not affect the setting of errno.
+    $! = 7;
+    -T cradd;
+    my $errno = $!;
+    $! = 7;
+    eval { use warnings FATAL => unopened; -T cradd };
+    my $errno2 = $!;
+    is $errno2, $errno,
+	'fatal warnings do not affect errno after -T BADHADNLE';
+}
+
+is runperl(prog => '-T _', switches => ['-w'], stderr => 1), "",
+  'no uninit warnings from -T with no preceding stat';
+
+SKIP: {
+    my $rand_file_name = 'filetest-' . rand =~ y/.//dr;
+    if (-e $rand_file_name) { skip "File $rand_file_name exists", 1 }
+    stat 'test.pl';
+    -T $rand_file_name;
+    isnt(stat _, 1, '-T "nonexistent" resets stat success status');
+}
+
+# Unsuccessful filetests on filehandles should leave stat buffers in the
+# same state whether fatal warnings are on or off.
+{
+    stat "test.pl";
+    # This GV has no IO
+    -r *phlon;
+    my $failed_stat1 = stat _;
+
+    stat "test.pl";
+    eval { use warnings FATAL => unopened; -r *phlon };
+    my $failed_stat2 = stat _;
+
+    is $failed_stat2, $failed_stat1,
+	'failed -r($gv_without_io) with and w/out fatal warnings';
+
+    stat "test.pl";
+    -r cength;  # at compile time autovivifies IO, but with no fp
+    $failed_stat1 = stat _;
+
+    stat "test.pl";
+    eval { use warnings FATAL => unopened; -r cength };
+    $failed_stat2 = stat _;
+    
+    is $failed_stat2, $failed_stat1,
+	'failed -r($gv_with_io_but_no_fp) with and w/out fatal warnings';
+} 


Property changes on: vendor/perl/dist/t/op/filetest.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/filetest_stack_ok.t
===================================================================
--- vendor/perl/dist/t/op/filetest_stack_ok.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/filetest_stack_ok.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,10 +12,14 @@
 
 my @ops = split //, 'rwxoRWXOezsfdlpSbctugkTMBAC';
 
-plan( tests => @ops * 3 );
+plan( tests => @ops * 5 );
 
+package o { use overload '-X' => sub { 1 } }
+my $o = bless [], 'o';
+
 for my $op (@ops) {
     ok( 1 == @{ [ eval "-$op 'TEST'" ] }, "-$op returns single value" );
+    ok( 1 == @{ [ eval "-$op *TEST" ] }, "-$op *gv returns single value" );
 
     my $count = 0;
     my $t;
@@ -35,12 +39,11 @@
 	    $t = eval "-$op -e \$^X" ? 0 : "bar";
 	}
 	elsif ($count == 1) {
-	    local $TODO;
-	    if ($op eq 'T' or $op eq 't' or $op eq 'B') {
-		$TODO = "[perl #77388] stacked file test does not work with -$op";
-	    }
 	    is($m, "d", "-$op -e \$^X did not remove too many values from the stack");
 	}
 	$count++;
     }
+
+    my @foo = eval "-$op \$o";
+    is @foo, 1, "-$op \$overld did not leave \$overld on the stack";
 }


Property changes on: vendor/perl/dist/t/op/filetest_stack_ok.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/filetest_t.t
===================================================================
--- vendor/perl/dist/t/op/filetest_t.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/filetest_t.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 use strict;
 
-plan 2;
+plan 7;
 
 my($dev_tty, $dev_null) = qw(/dev/tty /dev/null);
   ($dev_tty, $dev_null) = qw(con      nul      ) if $^O =~ /^(MSWin32|os2)$/;
@@ -16,16 +16,23 @@
 
 SKIP: {
     open(my $tty, "<", $dev_tty)
-	or skip("Can't open terminal '$dev_tty': $!");
+	or skip("Can't open terminal '$dev_tty': $!", 4);
     if ($^O eq 'VMS') {
         # TT might be a mailbox or other non-terminal device
         my $tt_dev = VMS::Filespec::vmspath('TT');
-        skip("'$tt_dev' is probably not a terminal") if $tt_dev !~ m/^_(tt|ft|rt)/i;
+        skip("'$tt_dev' is probably not a terminal", 4) if $tt_dev !~ m/^_(tt|ft|rt)/i;
     }
     ok(-t $tty, "'$dev_tty' is a TTY");
+    ok(-t -e $tty, "'$dev_tty' is a TTY (with -t -e)");
+    -e 'mehyparchonarcheion'; # clear last stat buffer
+    ok(-e -t $tty, "'$dev_tty' is a TTY (with -e -t)");
+    -e 'mehyparchonarcheion';
+    ok(-e -t -t $tty, "'$dev_tty' is a TTY (with -e -t -t)");
 }
 SKIP: {
     open(my $null, "<", $dev_null)
-	or skip("Can't open null device '$dev_null': $!");
+	or skip("Can't open null device '$dev_null': $!", 3);
     ok(!-t $null, "'$dev_null' is not a TTY");
+    ok(!-t -e $null, "'$dev_null' is not a TTY (with -t -e)");
+    ok(!-e -t $null, "'$dev_null' is not a TTY (with -e -t)");
 }


Property changes on: vendor/perl/dist/t/op/filetest_t.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/flip.t
===================================================================
--- vendor/perl/dist/t/op/flip.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/flip.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/flip.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/fork.t
===================================================================
--- vendor/perl/dist/t/op/fork.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/fork.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,13 +11,32 @@
 	unless ($Config::Config{d_fork} or $Config::Config{d_pseudofork});
 }
 
-skip_all('fork/status problems on MPE/iX')
-    if $^O eq 'mpeix';
-
 $|=1;
 
 run_multiple_progs('', \*DATA);
 
+my $shell = $ENV{SHELL} || '';
+SKIP: {
+    skip "This test can only be run under bash or zsh"
+        unless $shell =~ m{/(?:ba|z)sh$};
+    my $probe = qx{
+        $shell -c 'ulimit -u 1 2>&1 && echo good'
+    };
+    chomp $probe;
+    skip "Can't set ulimit -u on this system: $probe"
+	unless $probe eq 'good';
+
+    my $out = qx{
+        $shell -c 'ulimit -u 1; exec $^X -e "
+            print((() = fork) == 1 ? q[ok] : q[not ok])
+        "'
+    };
+    # perl #117141
+    skip "fork() didn't fail, maybe you're running as root", 1
+      if $out eq "okok";
+    is($out, "ok", "bash/zsh-only test for 'fork' returning undef on failure");
+}
+
 done_testing();
 
 __END__


Property changes on: vendor/perl/dist/t/op/fork.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/getpid.t
===================================================================
--- vendor/perl/dist/t/op/getpid.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/getpid.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,5 +30,21 @@
 
 new threads( sub { ($pid2, $ppid2) = ($$, getppid()); } ) -> join();
 
-is($pid,  $pid2,  'pids');
-is($ppid, $ppid2, 'ppids');
+# If this breaks you're either running under LinuxThreads (and we
+# haven't detected it) or your system doesn't have POSIX thread
+# semantics.
+# Newer linuxthreads from gnukfreebsd (0.11) does have POSIX thread
+# semantics, so include a version check
+# <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=675606>
+my $thread_version = qx[getconf GNU_LIBPTHREAD_VERSION 2>&1];
+chomp $thread_version;
+if ($^O =~ /^(?:gnukfreebsd|linux)$/ and
+    $thread_version =~ /linuxthreads/ and
+    !($thread_version =~ /linuxthreads-(.*)/ && $1 >= 0.11)) {
+    diag "We're running under $^O with linuxthreads <$thread_version>";
+    isnt($pid,  $pid2, "getpid() in a thread is different from the parent on this non-POSIX system");
+    isnt($ppid, $ppid2, "getppid() in a thread is different from the parent on this non-POSIX system");
+} else {
+    is($pid,  $pid2, 'getpid() in a thread is the same as in the parent');
+    is($ppid, $ppid2, 'getppid() in a thread is the same as in the parent');
+}


Property changes on: vendor/perl/dist/t/op/getpid.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/getppid.t
===================================================================
--- vendor/perl/dist/t/op/getppid.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/getppid.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,6 +20,9 @@
     plan (8);
 }
 
+# No, we don't want any zombies. kill 0, $ppid spots zombies :-(
+$SIG{CHLD} = 'IGNORE';
+
 sub fork_and_retrieve {
     my $which = shift;
     pipe my ($r, $w) or die "pipe: $!\n";
@@ -27,13 +30,16 @@
 
     if ($pid) {
 	# parent
-	close $w;
+	close $w or die "close: $!\n";
 	$_ = <$r>;
 	chomp;
 	die "Garbled output '$_'"
-	    unless my ($first, $second) = /^(\d+),(\d+)\z/;
+	    unless my ($how, $first, $second) = /^([a-z]+),(\d+),(\d+)\z/;
 	cmp_ok ($first, '>=', 1, "Parent of $which grandchild");
-	cmp_ok ($second, '>=', 1, "New parent of orphaned $which grandchild");
+	my $message = "grandchild waited until '$how'";
+	cmp_ok ($second, '>=', 1, "New parent of orphaned $which grandchild")
+	    ? note ($message) : diag ($message);
+
 	SKIP: {
 	    skip("Orphan processes are not reparented on QNX", 1)
 		if $^O eq 'nto';
@@ -46,20 +52,55 @@
 	# child
 	# Prevent test.pl from thinking that we failed to run any tests.
 	$::NO_ENDING = 1;
-	close $r;
+	close $r or die "close: $!\n";
 
+	pipe my ($r2, $w2) or die "pipe: $!\n";
+	pipe my ($r3, $w3) or die "pipe: $!\n";
 	my $pid2 = fork; defined $pid2 or die "fork: $!\n";
 	if ($pid2) {
-	    close $w;
-	    sleep 1;
+	    close $w or die "close: $!\n";
+	    close $w2 or die "close: $!\n";
+	    close $r3 or die "close: $!\n";
+	    # Wait for our child to signal that it's read our PID:
+	    <$r2>;
+	    # Implicit close of $w3:
+	    exit 0;
 	}
 	else {
 	    # grandchild
+	    close $r2 or die "close: $!\n";
+	    close $w3 or die "close: $!\n";
 	    my $ppid1 = getppid();
-	    # Wait for immediate parent to exit
-	    sleep 2;
+	    # kill 0 isn't portable:
+	    my $can_kill0 = eval {
+		kill 0, $ppid1;
+	    };
+	    my $how = $can_kill0 ? 'undead' : 'sleep';
+
+	    # Tell immediate parent to exit:
+	    close $w2 or die "close: $!\n";
+	    # Wait for it to (start to) exit:
+	    <$r3>;
+	    # Which sadly isn't enough to be sure that it has exited - often we
+	    # get switched in during its shutdown, after $w3 closes but before
+	    # it exits and we get reparented.
+	    if ($can_kill0) {
+		# use kill 0 where possible. Try 10 times, then give up:
+		for (0..9) {
+		    my $got = kill 0, $ppid1;
+		    die "kill: $!" unless defined $got;
+		    if (!$got) {
+			$how = 'kill';
+			last;
+		    }
+		    sleep 1;
+		}
+	    } else {
+		# Fudge it by waiting a bit more:
+		sleep 2;
+	    }
 	    my $ppid2 = getppid();
-	    print $w "$ppid1,$ppid2\n";
+	    print $w "$how,$ppid1,$ppid2\n";
 	}
 	exit 0;
     }


Property changes on: vendor/perl/dist/t/op/getppid.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/glob.t
===================================================================
--- vendor/perl/dist/t/op/glob.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/glob.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,10 +3,10 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = qw(. ../lib);
+    require 'test.pl';
 }
 
-require 'test.pl';
-plan( tests => 13 );
+plan( tests => 17 );
 
 @oops = @ops = <op/*>;
 
@@ -20,7 +20,7 @@
 }
 else {
   map { $files{$_}++ } <op/*>;
-  map { delete $files{$_} } split /[\s\n]/, `echo op/*`;
+  map { delete $files{$_} } split /\n/, `ls op/* | cat`;
 }
 ok( !(keys(%files)),'leftover op/* files' ) or diag(join(' ',sort keys %files));
 
@@ -48,7 +48,7 @@
 for (1..2) {
     eval "<.>";
     ok(!length($@),"eval'ed a glob $_");
-    undef %File::Glob::;
+    local %File::Glob::;
     ++$i;
 }
 cmp_ok($i,'==',2,'remove File::Glob stash');
@@ -55,11 +55,24 @@
 
 # a more sinister version of the same test (crashes from 5.8 to 5.13.1)
 {
-    undef %File::Glob::;
+    local %File::Glob::;
     local %CORE::GLOBAL::;
     eval "<.>";
     ok(!length($@),"remove File::Glob stash *and* CORE::GLOBAL::glob");
 }
+# Also try undeffing the typeglob itself, instead of hiding it
+{
+    local *CORE::GLOBAL::glob;
+    ok eval  { glob("0"); 1 },
+	'undefined *CORE::GLOBAL::glob{CODE} at run time';
+}
+# And hide the typeglob without hiding File::Glob (crashes from 5.8
+# to 5.15.4)
+{
+    local %CORE::GLOBAL::;
+    ok eval q{ glob("0"); 1 },
+	'undefined *CORE::GLOBAL::glob{CODE} at compile time';
+}
 
 # ... while ($var = glob(...)) should test definedness not truth
 
@@ -81,3 +94,19 @@
 }
 
 cmp_ok(scalar(@oops),'>',0,'glob globbed something');
+
+SKIP: {
+    skip "~ globbing returns nothing on VMS", 1 if $^O eq 'VMS';
+    # This test exists mainly for miniperl, to test that external calls to
+    # csh, which clear %ENV first, leave $ENV{HOME}.
+    # On Windows, external glob uses File::DosGlob which returns "~", so
+    # this should pass anyway.
+    ok <~>, '~ works';
+}
+
+{
+    my $called;
+    local *CORE::GLOBAL::glob = sub { ++$called };
+    eval 'CORE::glob("0")';
+    ok !$called, 'CORE::glob bypasses overrides';
+}


Property changes on: vendor/perl/dist/t/op/glob.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/gmagic.t
===================================================================
--- vendor/perl/dist/t/op/gmagic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/gmagic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,11 @@
 tie my $c => 'Tie::Monitor';
 
 sub expected_tie_calls {
-    my ($obj, $rexp, $wexp) = @_;
+    my ($obj, $rexp, $wexp, $tn) = @_;
     local $::Level = $::Level + 1;
     my ($rgot, $wgot) = $obj->init();
-    is ($rgot, $rexp);
-    is ($wgot, $wexp);
+    is ($rgot, $rexp, $tn ? "number of fetches when $tn" : ());
+    is ($wgot, $wexp, $tn ? "number of stores when $tn" : ());
 }
 
 # Use ok() instead of is(), cmp_ok() etc, to strictly control number of accesses
@@ -50,14 +50,82 @@
 ok($s eq '0', 'multiple magic in core functions');
 expected_tie_calls(tied $c, 1, 1);
 
-# was a glob
-my $tied_to = tied $c;
 $c = *strat;
 $s = $c;
 ok($s eq *strat,
    'Assignment should not ignore magic when the last thing assigned was a glob');
-expected_tie_calls($tied_to, 1, 1);
+expected_tie_calls(tied $c, 1, 1);
 
+package o { use overload '""' => sub { "foo\n" } }
+$c = bless [], o::;
+chomp $c;
+expected_tie_calls(tied $c, 1, 2, 'chomping a ref');
+
+{
+    my $outfile = tempfile();
+    open my $h, ">$outfile" or die  "$0 cannot close $outfile: $!";
+    print $h "bar\n";
+    close $h or die "$0 cannot close $outfile: $!";    
+
+    $c = *foo;                                         # 1 write
+    open $h, $outfile;
+    sysread $h, $c, 3, 7;                              # 1 read; 1 write
+    is $c, "*main::bar", 'what sysread wrote';         # 1 read
+    expected_tie_calls(tied $c, 2, 2, 'calling sysread with tied buf');
+    close $h or die "$0 cannot close $outfile: $!";
+
+ # Do this again, with a utf8 handle
+    $c = *foo;                                         # 1 write
+    open $h, "<:utf8", $outfile;
+    sysread $h, $c, 3, 7;                              # 1 read; 1 write
+    is $c, "*main::bar", 'what sysread wrote';         # 1 read
+    expected_tie_calls(tied $c, 2, 2, 'calling sysread with tied buf');
+    close $h or die "$0 cannot close $outfile: $!";
+
+    unlink_all $outfile;
+}
+
+# autovivication of aelem, helem, of rv2sv combined with get-magic
+{
+    my $true = 1;
+    my $s;
+    tie $$s, "Tie::Monitor";
+    $$s = undef;
+    $$s->[0] = 73;
+    is($$s->[0], 73);
+    expected_tie_calls(tied $$s, 3, 2);
+
+    my @a;
+    tie $a[0], "Tie::Monitor";
+    $a[0] = undef;
+    $a[0][0] = 73;
+    is($a[0][0], 73);
+    expected_tie_calls(tied $a[0], 3, 2);
+
+    my %h;
+    tie $h{foo}, "Tie::Monitor";
+    $h{foo} = undef;
+    $h{foo}{bar} = 73;
+    is($h{foo}{bar}, 73);
+    expected_tie_calls(tied $h{foo}, 3, 2);
+
+    # Similar tests, but with obscured autovivication by using dummy list or "?:" operator
+    $$s = undef;
+    ${ (), $$s }[0] = 73;
+    is( $$s->[0], 73);
+    expected_tie_calls(tied $$s, 3, 2);
+
+    $$s = undef;
+    ( ! $true ? undef : $$s )->[0] = 73;
+    is( $$s->[0], 73);
+    expected_tie_calls(tied $$s, 3, 2);
+
+    $$s = undef;
+    ( $true ? $$s : undef )->[0] = 73;
+    is( $$s->[0], 73);
+    expected_tie_calls(tied $$s, 3, 2);
+}
+
 # A plain *foo should not call get-magic on *foo.
 # This method of scalar-tying an immutable glob relies on details of the
 # current implementation that are subject to change. This test may need to
@@ -69,6 +137,51 @@
 ok($rgot == 0, 'a plain *foo causes no get-magic');
 ok($wgot == 0, 'a plain *foo causes no set-magic');
 
+# get-magic when exiting a non-lvalue sub in potentially autovivify-
+# ing context
+{
+  no strict;
+
+  my $tied_to = tie $_{elem}, "Tie::Monitor";
+  () = sub { delete $_{elem} }->()->[3];
+  expected_tie_calls $tied_to, 1, 0,
+     'mortal magic var is implicitly returned in autoviv context';
+
+  $tied_to = tie $_{elem}, "Tie::Monitor";
+  () = sub { return delete $_{elem} }->()->[3];
+  expected_tie_calls $tied_to, 1, 0,
+      'mortal magic var is explicitly returned in autoviv context';
+
+  $tied_to = tie $_{elem}, "Tie::Monitor";
+  my $rsub;
+  $rsub = sub { if ($_[0]) { delete $_{elem} } else { &$rsub(1)->[3] } };
+  &$rsub;
+  expected_tie_calls $tied_to, 1, 0,
+    'mortal magic var is implicitly returned in recursive autoviv context';
+
+  $tied_to = tie $_{elem}, "Tie::Monitor";
+  $rsub = sub {
+    if ($_[0]) { return delete $_{elem} } else { &$rsub(1)->[3] }
+  };
+  &$rsub;
+  expected_tie_calls $tied_to, 1, 0,
+    'mortal magic var is explicitly returned in recursive autoviv context';
+
+  $tied_to = tie $_{elem}, "Tie::Monitor";
+  my $x = \sub { delete $_{elem} }->();
+  expected_tie_calls $tied_to, 1, 0,
+     'mortal magic var is implicitly returned to refgen';
+  is tied $$x, undef,
+     'mortal magic var is copied when implicitly returned';
+
+  $tied_to = tie $_{elem}, "Tie::Monitor";
+  $x = \sub { return delete $_{elem} }->();
+  expected_tie_calls $tied_to, 1, 0,
+     'mortal magic var is explicitly returned to refgen';
+  is tied $$x, undef,
+     'mortal magic var is copied when explicitly returned';
+}
+
 done_testing();
 
 # adapted from Tie::Counter by Abigail


Property changes on: vendor/perl/dist/t/op/gmagic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/goto.t
===================================================================
--- vendor/perl/dist/t/op/goto.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/goto.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 use warnings;
 use strict;
-plan tests => 77;
+plan tests => 89;
 our $TODO;
 
 my $deprecated = 0;
@@ -20,7 +20,7 @@
 while ($?) {
     $foo = 1;
   label1:
-    is($deprecated, 1);
+    is($deprecated, 1, "following label1");
     $deprecated = 0;
     $foo = 2;
     goto label2;
@@ -28,12 +28,12 @@
     $foo = 0;
     goto label4;
   label3:
-    is($deprecated, 1);
+    is($deprecated, 1, "following label3");
     $deprecated = 0;
     $foo = 4;
     goto label4;
 }
-is($deprecated, 0);
+is($deprecated, 0, "after 'while' loop");
 goto label1;
 
 $foo = 3;
@@ -40,7 +40,7 @@
 
 label2:
 is($foo, 2, 'escape while loop');
-is($deprecated, 0);
+is($deprecated, 0, "following label2");
 goto label3;
 
 label4:
@@ -183,10 +183,10 @@
 	A: { if ($false) { redo A; B: $ok = 1; redo A; } }
 	goto B unless $count++;
     }
-    is($deprecated, 0);
+    is($deprecated, 0, "before calling sub a()");
     a();
     ok($ok, '#19061 loop label wiped away by goto');
-    is($deprecated, 1);
+    is($deprecated, 1, "after calling sub a()");
     $deprecated = 0;
 
     $ok = 0;
@@ -193,7 +193,7 @@
     my $p;
     for ($p=1;$p && goto A;$p=0) { A: $ok = 1 }
     ok($ok, 'weird case of goto and for(;;) loop');
-    is($deprecated, 1);
+    is($deprecated, 1, "following goto and for(;;) loop");
     $deprecated = 0;
 }
 
@@ -205,6 +205,17 @@
 }
 f1();
 
+# bug #99850, which is similar - freeing the subroutine we are about to
+# go(in)to during a FREETMPS call should not crash perl.
+
+package _99850 {
+    sub reftype{}
+    DESTROY { undef &reftype }
+    eval { sub { my $guard = bless []; goto &reftype }->() };
+}
+like $@, qr/^Goto undefined subroutine &_99850::reftype at /,
+   'goto &foo undefining &foo on sub cleanup';
+
 # bug #22181 - this used to coredump or make $x undefined, due to
 # erroneous popping of the inner BLOCK context
 
@@ -415,7 +426,11 @@
     my $x = shift;
     $_[0] ? +1 + recurse1($_[0] - 1) : 0
 }
+my $w = 0;
+$SIG{__WARN__} = sub { ++$w };
 is(recurse1(500), 500, 'recursive goto &foo');
+is $w, 0, 'no recursion warnings for "no warnings; goto &sub"';
+delete $SIG{__WARN__};
 
 # [perl #32039] Chained goto &sub drops data too early. 
 
@@ -445,13 +460,28 @@
 
 # goto &foo not allowed in evals
 
-
 sub null { 1 };
 eval 'goto &null';
 like($@, qr/Can't goto subroutine from an eval-string/, 'eval string');
 eval { goto &null };
 like($@, qr/Can't goto subroutine from an eval-block/, 'eval block');
+ 
+# goto &foo leaves @_ alone when called from a sub
+sub returnarg { $_[0] };
+is sub {
+    local *_ = ["ick and queasy"];
+    goto &returnarg;
+}->("quick and easy"), "ick and queasy",
+  'goto &foo with *_{ARRAY} replaced';
+my @__ = "\xc4\x80";
+sub { local *_ = \@__; goto &utf8::decode }->("no thinking aloud");
+is "@__", chr 256, 'goto &xsub with replaced *_{ARRAY}';
 
+# And goto &foo should leave reified @_ alone
+sub { *__ = \@_;  goto &null } -> ("rough and tubbery");
+is ${*__}[0], 'rough and tubbery', 'goto &foo leaves reified @_ alone';
+
+
 # [perl #36521] goto &foo in warn handler could defeat recursion avoider
 
 {
@@ -473,7 +503,7 @@
     }
 }
 
-is($deprecated, 0);
+is($deprecated, 0, "following TODOed test for #43403");
 
 #74290
 {
@@ -596,3 +626,46 @@
 $foo .= ",1.";
 $foo .= ",2.";
 is($foo, ",0.,1.,2.", "third of three stacked labels");
+
+# [perl #112316] Wrong behavior regarding labels with same prefix
+sub same_prefix_labels {
+    my $pass;
+    my $first_time = 1;
+    CATCH: {
+        if ( $first_time ) {
+            CATCHLOOP: {
+                if ( !$first_time ) {
+                  return 0;
+                }
+                $first_time--;
+                goto CATCH;
+            }
+        }
+        else {
+            return 1;
+        }
+    }
+}
+
+ok(
+   same_prefix_labels(),
+   "perl 112316: goto and labels with the same prefix doesn't get mixed up"
+);
+
+eval { my $x = ""; goto $x };
+like $@, qr/^goto must have label at /, 'goto $x where $x is empty string';
+eval { goto "" };
+like $@, qr/^goto must have label at /, 'goto ""';
+eval { goto };
+like $@, qr/^goto must have label at /, 'argless goto';
+
+eval { my $x = "\0"; goto $x };
+like $@, qr/^Can't find label \0 at /, 'goto $x where $x begins with \0';
+eval { goto "\0" };
+like $@, qr/^Can't find label \0 at /, 'goto "\0"';
+
+sub TIESCALAR { bless [pop] }
+sub FETCH     { $_[0][0] }
+tie my $t, "", sub { "cluck up porridge" };
+is eval { sub { goto $t }->() }//$@, 'cluck up porridge',
+  'tied arg returning sub ref';


Property changes on: vendor/perl/dist/t/op/goto.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/goto_xs.t
===================================================================
--- vendor/perl/dist/t/op/goto_xs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/goto_xs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/goto_xs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/grent.t
===================================================================
--- vendor/perl/dist/t/op/grent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/grent.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,11 +28,11 @@
         {
             print "# `ypcat group` worked\n";
 
-            # Check to make sure we're really using NIS.
+            # Check to make sure we are really using NIS.
             if( open(NSSW, "/etc/nsswitch.conf" ) ) {
                 my($group) = grep /^\s*group:/, <NSSW>;
 
-                # If there's no group line, assume it default to compat.
+                # If there is no group line, assume it default to compat.
                 if( !$group || $group !~ /(nis|compat)/ ) {
                     print "# Doesn't look like you're using NIS in ".
                           "/etc/nsswitch.conf\n";
@@ -91,7 +91,7 @@
 
 while (<GR>) {
     chomp;
-    # LIMIT -1 so that groups with no users don't fall off
+    # LIMIT -1 so that groups with no users do not fall off
     my @s = split /:/, $_, -1;
     my ($name_s,$passwd_s,$gid_s,$members_s) = @s;
     if (@s) {
@@ -158,7 +158,7 @@
     fail();
     print "#\t (not necessarily serious: run t/op/grent.t by itself)\n";
 } else {
-    pass();
+    pass("getgrgid and getgrnam performed as expected");
 }
 
 # Test both the scalar and list contexts.
@@ -183,6 +183,6 @@
 }
 endgrent();
 
-is("@gr1", "@gr2");
+is("@gr1", "@gr2", "getgrent gave same results in scalar and list contexts");
 
 close(GR);


Property changes on: vendor/perl/dist/t/op/grent.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/grep.t
===================================================================
--- vendor/perl/dist/t/op/grep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/grep.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,10 +7,10 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = qw(. ../lib);
+    require "test.pl";
 }
 
-require "test.pl";
-plan( tests => 61 );
+plan( tests => 62 );
 
 {
     my @lol = ([qw(a b c)], [], [qw(1 2 3)]);
@@ -214,3 +214,11 @@
     like($@, qr/Missing comma after first argument to grep function/,
          "proper error on variable as block. [perl #37314]");
 }
+
+# [perl #92254] freeing $_ in gremap block
+{
+    my $y;
+    grep { undef *_ } $y;
+    map { undef *_ } $y;
+}
+pass 'no double frees with grep/map { undef *_ }';


Property changes on: vendor/perl/dist/t/op/grep.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/groups.t
===================================================================
--- vendor/perl/dist/t/op/groups.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/groups.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -406,4 +406,4 @@
 # indent-tabs-mode: nil
 # End:
 #
-# ex: set ts=8 sts=4 sw=4 noet:
+# ex: set ts=8 sts=4 sw=4 et:


Property changes on: vendor/perl/dist/t/op/groups.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/gv.t
===================================================================
--- vendor/perl/dist/t/op/gv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/gv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,9 +12,9 @@
 
 use warnings;
 
-plan( tests => 234 );
+plan( tests => 245 );
 
-# type coersion on assignment
+# type coercion on assignment
 $foo = 'foo';
 $bar = *main::foo;
 $bar = $foo;
@@ -21,7 +21,7 @@
 is(ref(\$bar), 'SCALAR');
 $foo = *main::bar;
 
-# type coersion (not) on misc ops
+# type coercion (not) on misc ops
 
 ok($foo);
 is(ref(\$foo), 'GLOB');
@@ -35,7 +35,7 @@
 {
  no warnings;
  ${\*$foo} = undef;
- is(ref(\$foo), 'GLOB', 'no type coersion when assigning to *{} retval');
+ is(ref(\$foo), 'GLOB', 'no type coercion when assigning to *{} retval');
  $::{phake} = *bar;
  is(
    \$::{phake}, \*{"phake"},
@@ -44,7 +44,7 @@
  ${\*{"phake"}} = undef;
  is(
    ref(\$::{phake}), 'GLOB',
-  'no type coersion when assigning to retval of symbolic *{}'
+  'no type coercion when assigning to retval of symbolic *{}'
  );
  $::{phaque} = *bar;
  eval '
@@ -56,11 +56,11 @@
  ';
  is(
    ref(\$::{phaque}), 'GLOB',
-  'no type coersion when assigning to retval of compile-time *{}'
+  'no type coercion when assigning to retval of compile-time *{}'
  );
 }
 
-# type coersion on substitutions that match
+# type coercion on substitutions that match
 $a = *main::foo;
 $b = $a;
 $a =~ s/^X//;
@@ -166,6 +166,8 @@
 curr_test($test);
 
 is (ref *x{FORMAT}, "FORMAT");
+is ("@{sub { *_{ARRAY} }->(1..3)}", "1 2 3",
+    'returning *_{ARRAY} from sub');
 *x = *STDOUT;
 is (*{*x{GLOB}}, "*main::STDOUT");
 
@@ -185,6 +187,12 @@
     curr_test(++$test);
 }
 
+is *x{NAME}, 'x', '*foo{NAME}';
+is *x{PACKAGE}, 'main', '*foo{PACKAGE}';
+{ no warnings 'once'; *x = *Foo::y; }
+is *x, '*Foo::y', 'glob stringifies as assignee after glob-to-glob assign';
+is *x{NAME}, 'x', 'but *foo{NAME} still returns the original name';
+is *x{PACKAGE}, 'main', 'and *foo{PACKAGE} the original package';
 
 {
     # test if defined() doesn't create any new symbols
@@ -192,7 +200,10 @@
     my $a = "SYM000";
     ok(!defined *{$a});
 
-    ok(!defined @{$a});
+    {
+	no warnings 'deprecated';
+	ok(!defined @{$a});
+    }
     ok(!defined *{$a});
 
     {
@@ -219,8 +230,8 @@
     # although it *should* if you're talking about magicals
 
     my $a = "]";
+    ok(defined *{$a});
     ok(defined ${$a});
-    ok(defined *{$a});
 
     $a = "1";
     "o" =~ /(o)/;
@@ -595,25 +606,27 @@
 	  "with the correct error message");
 }
 
-# RT #60954 anonymous glob should be defined, and not coredump when
+# RT #65582 anonymous glob should be defined, and not coredump when
 # stringified. The behaviours are:
 #
-#        defined($glob)    "$glob"
-# 5.8.8     false           "" with uninit warning
-# 5.10.0    true            (coredump)
-# 5.12.0    true            ""
+#        defined($glob)    "$glob"                   $glob .= ...
+# 5.8.8     false           "" with uninit warning   "" with uninit warning
+# 5.10.0    true            (coredump)               (coredump)
+# 5.1[24]   true            ""                       "" with uninit warning
+# 5.16      true            "*__ANON__::..."         "*__ANON__::..."
 
 {
     my $io_ref = *STDOUT{IO};
     my $glob = *$io_ref;
-    ok(defined $glob, "RT #60954 anon glob should be defined");
+    ok(defined $glob, "RT #65582 anon glob should be defined");
 
     my $warn = '';
     local $SIG{__WARN__} = sub { $warn = $_[0] };
     use warnings;
     my $str = "$glob";
-    is($warn, '', "RT #60954 anon glob stringification shouldn't warn");
-    is($str,  '', "RT #60954 anon glob stringification should be empty");
+    is($warn, '', "RT #65582 anon glob stringification shouldn't warn");
+    is($str,  '*__ANON__::__ANONIO__',
+	"RT #65582/#96326 anon glob stringification");
 }
 
 # [perl #71254] - Assigning a glob to a variable that has a current
@@ -830,7 +843,6 @@
   tie my $a, "thrext";
   () = "$a"; # do a fetch; now $a holds a glob
   eval { *$a = sub{} };
-  eval { $a = undef }; # workaround for untie($handle) bug
   untie $a;
   eval { $a = "bar" };
   ::is $a, "bar",
@@ -855,13 +867,13 @@
   my $glob = do { no warnings "once"; \*phing::foo};
   delete $::{"phing::"};
   *$glob = *greck; 
-}, "Assigning a glob-with-sub to a glob that has lost its stash warks";
+}, "Assigning a glob-with-sub to a glob that has lost its stash works";
 ok eval {
   sub pon::foo;
   my $glob = \*pon::foo;
   delete $::{"pon::"};
   *$glob = *foo; 
-}, "Assigning a glob to a glob-with-sub that has lost its stash warks";
+}, "Assigning a glob to a glob-with-sub that has lost its stash works";
 
 {
   package Tie::Alias;
@@ -899,6 +911,46 @@
   'no error when gp_free calls a destructor that assigns to the gv';
 }
 
+# *{undef}
+eval { *{my $undef} = 3 };
+like $@, qr/^Can't use an undefined value as a symbol reference at /,
+  '*{ $undef } assignment';
+eval { *{;undef} = 3 };
+like $@, qr/^Can't use an undefined value as a symbol reference at /,
+  '*{ ;undef } assignment';
+
+# [perl #99142] defined &{"foo"} when there is a constant stub
+# If I break your module, you get to have it mentioned in Perl's tests. :-)
+package HTTP::MobileAttribute::Plugin::Locator {
+    use constant LOCATOR_GPS => 1;
+    ::ok defined &{__PACKAGE__."::LOCATOR_GPS"},
+        'defined &{"name of constant"}';
+    ::ok Internals::SvREFCNT(${__PACKAGE__."::"}{LOCATOR_GPS}),
+       "stash elem for slot is not freed prematurely";
+}
+
+# Check that constants promoted to CVs point to the right GVs when the name
+# contains a null.
+package lrcg {
+  use constant x => 3;
+  # These two lines abuse the optimisation that copies the scalar ref from
+  # one stash element to another, to get a constant with a null in its name
+  *{"yz\0a"} = \&{"x"};
+  my $ref = \&{"yz\0a"};
+  ::ok !exists $lrcg::{yz},
+    'constants w/nulls in their names point 2 the right GVs when promoted';
+}
+
+# Look away, please.
+# This violates perl's internal structures by fiddling with stashes in a
+# way that should never happen, but perl should not start trying to free
+# unallocated memory as a result.  There is no ok() or is() because the
+# panic that used to occur only occurred during global destruction, and
+# only with PERL_DESTRUCT_LEVEL=2.  (The panic itself was sufficient for
+# the harness to consider this test script to have failed.)
+$::{aoeuaoeuaoeaoeu} = __PACKAGE__; # cow
+() = *{"aoeuaoeuaoeaoeu"};
+
 __END__
 Perl
 Rules


Property changes on: vendor/perl/dist/t/op/gv.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/hash.t
===================================================================
--- vendor/perl/dist/t/op/hash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/hash.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,108 +8,8 @@
 
 use strict;
 
-plan tests => 8;
+plan tests => 10;
 
-my %h;
-
-ok (!Internals::HvREHASH(%h), "hash doesn't start with rehash flag on");
-
-foreach (1..10) {
-  $h{"\0"x$_}++;
-}
-
-ok (!Internals::HvREHASH(%h), "10 entries doesn't trigger rehash");
-
-foreach (11..20) {
-  $h{"\0"x$_}++;
-}
-
-ok (Internals::HvREHASH(%h), "20 entries triggers rehash");
-
-
-
-
-# second part using an emulation of the PERL_HASH in perl, mounting an
-# attack on a pre-populated hash. This is also useful if you need normal
-# keys which don't contain \0 -- suitable for stashes
-
-use constant MASK_U32  => 2**32;
-use constant HASH_SEED => 0;
-use constant THRESHOLD => 14;
-use constant START     => "a";
-
-# some initial hash data
-my %h2 = map {$_ => 1} 'a'..'cc';
-
-ok (!Internals::HvREHASH(%h2), 
-    "starting with pre-populated non-pathological hash (rehash flag if off)");
-
-my @keys = get_keys(\%h2);
-$h2{$_}++ for @keys;
-ok (Internals::HvREHASH(%h2), 
-    scalar(@keys) . " colliding into the same bucket keys are triggering rehash");
-
-sub get_keys {
-    my $hr = shift;
-
-    # the minimum of bits required to mount the attack on a hash
-    my $min_bits = log(THRESHOLD)/log(2);
-
-    # if the hash has already been populated with a significant amount
-    # of entries the number of mask bits can be higher
-    my $keys = scalar keys %$hr;
-    my $bits = $keys ? log($keys)/log(2) : 0;
-    $bits = $min_bits if $min_bits > $bits;
-
-    $bits = int($bits) < $bits ? int($bits) + 1 : int($bits);
-    # need to add 2 bits to cover the internal split cases
-    $bits += 2;
-    my $mask = 2**$bits-1;
-    print "# using mask: $mask ($bits)\n";
-
-    my @keys;
-    my $s = START;
-    my $c = 0;
-    # get 2 keys on top of the THRESHOLD
-    my $hash;
-    while (@keys < THRESHOLD+2) {
-        # next if exists $hash->{$s};
-        $hash = hash($s);
-        next unless ($hash & $mask) == 0;
-        $c++;
-        printf "# %2d: %5s, %10s\n", $c, $s, $hash;
-        push @keys, $s;
-    } continue {
-        $s++;
-    }
-
-    return @keys;
-}
-
-
-# trying to provide the fastest equivalent of C macro's PERL_HASH in
-# Perl - the main complication is that it uses U32 integer, which we
-# can't do it perl, without doing some tricks
-sub hash {
-    my $s = shift;
-    my @c = split //, $s;
-    my $u = HASH_SEED;
-    for (@c) {
-        # (A % M) + (B % M) == (A + B) % M
-        # This works because '+' produces a NV, which is big enough to hold
-        # the intermediate result. We only need the % before any "^" and "&"
-        # to get the result in the range for an I32.
-        # and << doesn't work on NV, so using 1 << 10
-        $u += ord;
-        $u += $u * (1 << 10); $u %= MASK_U32;
-        $u ^= $u >> 6;
-    }
-    $u += $u << 3;  $u %= MASK_U32;
-    $u ^= $u >> 11; $u %= MASK_U32;
-    $u += $u << 15; $u %= MASK_U32;
-    $u;
-}
-
 # This will crash perl if it fails
 
 use constant PVBM => 'foo';
@@ -146,3 +46,74 @@
     is ref $key, SCALAR =>
      'hash keys are not stringified during compilation';
 }
+
+# Part of RT #85026: Deleting the current iterator in void context does not
+# free it.
+{
+    my $gone;
+    no warnings 'once';
+    local *::DESTROY = sub { ++$gone };
+    my %a=(a=>bless[]);
+    each %a;   # make the entry with the obj the current iterator
+    delete $a{a};
+    ok $gone, 'deleting the current iterator in void context frees the val'
+}
+
+# [perl #99660] Deleted hash element visible to destructor
+{
+    my %h;
+    $h{k} = bless [];
+    my $normal_exit;
+    local *::DESTROY = sub { my $x = $h{k}; ++$normal_exit };
+    delete $h{k}; # must be in void context to trigger the bug
+    ok $normal_exit, 'freed hash elems are not visible to DESTROY';
+}
+
+# [perl #100340] Similar bug: freeing a hash elem during a delete
+sub guard::DESTROY {
+   ${$_[0]}->();
+};
+*guard = sub (&) {
+   my $callback = shift;
+   return bless \$callback, "guard"
+};
+{
+  my $ok;
+  my %t; %t = (
+    stash => {
+        guard => guard(sub{
+            $ok++;
+            delete $t{stash};
+        }),
+        foo => "bar",
+        bar => "baz",
+    },
+  );
+  ok eval { delete $t{stash}{guard}; # must be in void context
+            1 },
+    'freeing a hash elem from destructor called by delete does not die';
+  diag $@ if $@; # panic: free from wrong pool
+  is $ok, 1, 'the destructor was called';
+}
+
+# Weak references to pad hashes
+SKIP: {
+    skip_if_miniperl("No Scalar::Util::weaken under miniperl", 1);
+    my $ref;
+    require Scalar::Util;
+    {
+        my %hash;
+        Scalar::Util::weaken($ref = \%hash);
+        1;  # the previous statement must not be the last
+    }
+    is $ref, undef, 'weak refs to pad hashes go stale on scope exit';
+}
+
+# [perl #107440]
+sub A::DESTROY { $::ra = 0 }
+$::ra = {a=>bless [], 'A'};
+undef %$::ra;
+pass 'no crash when freeing hash that is being undeffed';
+$::ra = {a=>bless [], 'A'};
+%$::ra = ('a'..'z');
+pass 'no crash when freeing hash that is being exonerated, ahem, cleared';


Property changes on: vendor/perl/dist/t/op/hash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/hashassign.t
===================================================================
--- vendor/perl/dist/t/op/hashassign.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/hashassign.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 # use strict;
 
-plan tests => 218;
+plan tests => 309;
 
 my @comma = ("key", "value");
 
@@ -280,9 +280,9 @@
 	'hash assignment in list context removes duplicates' );
     is( (join ':', %h = qw(a 1 a 2 b 3 c 4 d 5 d 6)), 'a:2:b:3:c:4:d:6',
 	'hash assignment in list context removes duplicates 2' );
-    is( scalar( %h = (1,2,1,3,1,4,1,5) ), 2,
+    is( scalar( %h = (1,2,1,3,1,4,1,5) ), 8,
 	'hash assignment in scalar context' );
-    is( scalar( ($x,%h) = (0,1,2,1,3,1,4,1,5) ), 3,
+    is( scalar( ($x,%h) = (0,1,2,1,3,1,4,1,5) ), 9,
 	'scalar + hash assignment in scalar context' );
     $ar = [ %h = (1,2,1,3,1,4,1,5) ];
     is( $#$ar, 1, 'hash assignment in list context' );
@@ -320,3 +320,217 @@
  undef %tb;
  is $p, \%tb, "hash undef should not zap weak refs";
 }
+
+# test odd hash assignment warnings
+{
+    my ($s, %h);
+    warning_like(sub {%h = (1..3)}, qr/^Odd number of elements in hash assignment/);
+    warning_like(sub {%h = ({})}, qr/^Reference found where even-sized list expected/);
+
+    warning_like(sub { ($s, %h) = (1..4)}, qr/^Odd number of elements in hash assignment/);
+    warning_like(sub { ($s, %h) = (1, {})}, qr/^Reference found where even-sized list expected/);
+}
+
+# hash assignment in scalar and list context with odd number of elements
+{
+    no warnings 'misc', 'uninitialized';
+    my %h; my $x;
+    is( join( ':', %h = (1..3)), '1:2:3:',
+	'odd hash assignment in list context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => undef} ), "correct value stored" );
+    is( scalar( %h = (1..3) ), 3,
+	'odd hash assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => undef} ), "correct value stored" );
+    is( join(':', ($x,%h) = (0,1,2,3) ), '0:1:2:3:',
+	'scalar + odd hash assignment in list context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => undef} ), "correct value stored" );
+    is( scalar( ($x,%h) = (0,1,2,3) ), 4,
+	'scalar + odd hash assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => undef} ), "correct value stored" );
+}
+
+# hash assignment in scalar and list context with odd number of elements
+# and duplicates
+{
+    no warnings 'misc', 'uninitialized';
+    my %h; my $x;
+    is( (join ':', %h = (1,1,1)), '1:',
+	'odd hash assignment in list context with duplicates' );
+    ok( eq_hash( \%h, {1 => undef} ), "correct value stored" );
+    is( scalar(%h = (1,1,1)), 3,
+	'odd hash assignment in scalar context with duplicates' );
+    ok( eq_hash( \%h, {1 => undef} ), "correct value stored" );
+    is( join(':', ($x,%h) = (0,1,1,1) ), '0:1:',
+	'scalar + odd hash assignment in list context with duplicates' );
+    ok( eq_hash( \%h, {1 => undef} ), "correct value stored" );
+    is( scalar( ($x,%h) = (0,1,1,1) ), 4,
+	'scalar + odd hash assignment in scalar context with duplicates' );
+    ok( eq_hash( \%h, {1 => undef} ), "correct value stored" );
+}
+
+# hash followed by more elements on LHS of list assignment
+# (%h, ...) = ...;
+{
+    my (%h, %x, @x, $x);
+    is( scalar( (%h,$x) = (1,2,3,4)), 4,
+	'hash+scalar assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => 4} ), "correct hash" );
+    is( $x, undef, "correct scalar" );
+    # this arguable, but this is how it works
+    is( join(':', (%h,$x) = (1,2,3,4)), '1:2:3:4',
+	'hash+scalar assignment in list context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => 4} ), "correct hash" );
+    is( $x, undef, "correct scalar" );
+
+    is( scalar( (%h,%x) = (1,2,3,4)), 4,
+	'hash+hash assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => 4} ), "correct hash" );
+    ok( eq_hash( \%x, {} ),               "correct hash" );
+    is( join(':', (%h,%x) = (1,2,3,4)), '1:2:3:4',
+	'hash+hash assignment in list context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => 4} ), "correct hash" );
+    ok( eq_hash( \%x, {} ),               "correct hash" );
+
+    is( scalar( (%h, at x) = (1,2,3,4)), 4,
+	'hash+array assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => 4} ), "correct hash" );
+    ok( eq_array( \@x, [] ),              "correct array" );
+    is( join(':', (%h, at x) = (1,2,3,4)), '1:2:3:4',
+	'hash+hash assignment in list context' );
+    ok( eq_hash( \%h, {1 => 2, 3 => 4} ), "correct hash" );
+    ok( eq_array( \@x, [] ),              "correct array" );
+}
+
+# hash followed by more elements on LHS of list assignment
+# and duplicates on RHS
+# (%h, ...) = (1)x10;
+{
+    my (%h, %x, @x, $x);
+    is( scalar( (%h,$x) = (1,2,1,4)), 4,
+	'hash+scalar assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => 4} ), "correct hash" );
+    is( $x, undef, "correct scalar" );
+    # this arguable, but this is how it works
+    is( join(':', (%h,$x) = (1,2,1,4)), '1:4',
+	'hash+scalar assignment in list context' );
+    ok( eq_hash( \%h, {1 => 4} ), "correct hash" );
+    is( $x, undef, "correct scalar" );
+
+    is( scalar( (%h,%x) = (1,2,1,4)), 4,
+	'hash+hash assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => 4} ), "correct hash" );
+    ok( eq_hash( \%x, {} ), "correct hash" );
+    is( join(':', (%h,%x) = (1,2,1,4)), '1:4',
+	'hash+hash assignment in list context' );
+    ok( eq_hash( \%h, {1 => 4} ), "correct hash" );
+    ok( eq_hash( \%x, {} ),               "correct hash" );
+
+    is( scalar( (%h, at x) = (1,2,1,4)), 4,
+	'hash+array assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => 4} ), "correct hash" );
+    ok( eq_array( \@x, [] ), "correct array" );
+    is( join(':', (%h, at x) = (1,2,1,4)), '1:4',
+	'hash+hash assignment in list context' );
+    ok( eq_hash( \%h, {1 => 4} ), "correct hash" );
+    ok( eq_array( \@x, [] ),      "correct array" );
+}
+
+# hash followed by more elements on LHS of list assignment
+# and duplicates with odd number of elements on RHS
+# (%h, ...) = (1,2,3,4,1);
+{
+    no warnings 'misc'; # suppress oddball warnings
+    my (%h, %x, @x, $x);
+    is( scalar( (%h,$x) = (1,2,3,4,1)), 5,
+	'hash+scalar assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => undef, 3 => 4} ), "correct hash" );
+    is( $x, undef, "correct scalar" );
+    # this arguable, but this is how it works
+    is( join(':', map $_//'undef', (%h,$x) = (1,2,3,4,1)), '1:undef:3:4',
+	'hash+scalar assignment in list context' );
+    ok( eq_hash( \%h, {1 => undef, 3 => 4} ), "correct hash" );
+    is( $x, undef, "correct scalar" );
+
+    is( scalar( (%h,%x) = (1,2,3,4,1)), 5,
+	'hash+hash assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => undef, 3 => 4} ), "correct hash" );
+    ok( eq_hash( \%x, {} ), "correct hash" );
+    is( join(':', map $_//'undef', (%h,%x) = (1,2,3,4,1)), '1:undef:3:4',
+	'hash+hash assignment in list context' );
+    ok( eq_hash( \%h, {1 => undef, 3 => 4} ), "correct hash" );
+    ok( eq_hash( \%x, {} ),               "correct hash" );
+
+    is( scalar( (%h, at x) = (1,2,3,4,1)), 5,
+	'hash+array assignment in scalar context' );
+    ok( eq_hash( \%h, {1 => undef, 3 => 4} ), "correct hash" );
+    ok( eq_array( \@x, [] ), "correct array" );
+    is( join(':', map $_//'undef', (%h, at x) = (1,2,3,4,1)), '1:undef:3:4',
+	'hash+hash assignment in list context' );
+    ok( eq_hash( \%h, {1 => undef, 3 => 4} ), "correct hash" );
+    ok( eq_array( \@x, [] ),      "correct array" );
+}
+
+
+# not enough elements on rhs
+# ($x,$y,$z,...) = (1);
+{
+    my ($x,$y,$z, at a,%h);
+    is( join(':', ($x, $y, %h) = (1)), '1',
+        'only assigned elements are returned in list context');
+    is( join(':', ($x, $y, %h) = (1,1)), '1:1',
+        'only assigned elements are returned in list context');
+    no warnings 'misc'; # suppress oddball warnings
+    is( join(':', map $_//'undef', ($x, $y, %h) = (1,1,1)), '1:1:1:undef',
+        'only assigned elements are returned in list context');
+    is( join(':', ($x, $y, %h) = (1,1,1,1)), '1:1:1:1',
+        'only assigned elements are returned in list context');
+    is( join(':', map $_//'undef', ($x, %h, $y) = (1,2,3,4)),
+        '1:2:3:4:undef',
+        'only assigned elements are returned in list context');
+    is( join(':', ($x, $y, @h) = (1)), '1',
+        'only assigned elements are returned in list context');
+    is( join(':', ($x, @h, $y) = (1,2,3,4)), '1:2:3:4',
+        'only assigned elements are returned in list context');
+}
+
+# lvaluedness of list context
+{
+    my %h; my ($x, $y, $z);
+    $_++ foreach %h = (1,2,3,4);
+    ok( eq_hash( \%h, {1 => 3, 3 => 5} ), "aassign in list context returns lvalues" );
+
+    $_++ foreach %h = (1,2,1,4);
+    ok( eq_hash( \%h, {1 => 5} ), "the same for assignment with duplicates" );
+
+    $_++ foreach ($x, %h) = (0,1,2,3,4);
+    is( $x, 1, "... and leading scalar" );
+    ok( eq_hash( \%h, {1 => 3, 3 => 5} ), "... scalar followed by hash" );
+
+    {
+        no warnings 'misc';
+        $_++ foreach %h = (1,2,3);
+        ok( eq_hash( \%h, {1 => 3, 3 => 1} ), "odd elements also lvalued" );
+    }
+
+    $x = 0;
+    $_++ foreach %h = ($x,$x);
+    is($x, 0, "returned values are not aliased to RHS of the assignment operation");
+
+    %h = ();
+    $x = 0;
+    $_++ foreach sub :lvalue { %h = ($x,$x) }->();
+    is($x, 0,
+     "returned values are not aliased to RHS of assignment in lvalue sub");
+
+    $_++ foreach ($x,$y,%h,$z) = (0);
+    ok( eq_array([$x,$y,%h,$z], [1,undef,undef]), "only assigned values are returned" );
+
+    $_++ foreach ($x,$y,%h,$z) = (0,1);
+    ok( eq_array([$x,$y,%h,$z], [1,2,undef]), "only assigned values are returned" );
+
+    no warnings 'misc'; # suppress oddball warnings
+    $_++ foreach ($x,$y,%h,$z) = (0,1,2);
+    ok( eq_array([$x,$y,%h,$z], [1,2,2,1,undef]), "only assigned values are returned" );
+}
+
+


Property changes on: vendor/perl/dist/t/op/hashassign.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/hashwarn.t
===================================================================
--- vendor/perl/dist/t/op/hashwarn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/hashwarn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/hashwarn.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/inc.t
===================================================================
--- vendor/perl/dist/t/op/inc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/inc.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,6 +3,8 @@
 require './test.pl';
 use strict;
 
+# Tests of post/pre - increment/decrement operators.
+
 # Verify that addition/subtraction properly upgrade to doubles.
 # These tests are only significant on machines with 32 bit longs,
 # and two's complement negation, but shouldn't fail anywhere.
@@ -9,57 +11,61 @@
 
 my $a = 2147483647;
 my $c=$a++;
-cmp_ok($a, '==', 2147483648);
+cmp_ok($a, '==', 2147483648, "postincrement properly upgrades to double");
 
 $a = 2147483647;
 $c=++$a;
-cmp_ok($a, '==', 2147483648);
+cmp_ok($a, '==', 2147483648, "preincrement properly upgrades to double");
 
 $a = 2147483647;
 $a=$a+1;
-cmp_ok($a, '==', 2147483648);
+cmp_ok($a, '==', 2147483648, "addition properly upgrades to double");
 
 $a = -2147483648;
 $c=$a--;
-cmp_ok($a, '==', -2147483649);
+cmp_ok($a, '==', -2147483649, "postdecrement properly upgrades to double");
 
 $a = -2147483648;
 $c=--$a;
-cmp_ok($a, '==', -2147483649);
+cmp_ok($a, '==', -2147483649, "predecrement properly upgrades to double");
 
 $a = -2147483648;
 $a=$a-1;
-cmp_ok($a, '==', -2147483649);
+cmp_ok($a, '==', -2147483649, "subtraction properly upgrades to double");
 
 $a = 2147483648;
 $a = -$a;
 $c=$a--;
-cmp_ok($a, '==', -2147483649);
+cmp_ok($a, '==', -2147483649,
+    "negation and postdecrement properly upgrade to double");
 
 $a = 2147483648;
 $a = -$a;
 $c=--$a;
-cmp_ok($a, '==', -2147483649);
+cmp_ok($a, '==', -2147483649,
+    "negation and predecrement properly upgrade to double");
 
 $a = 2147483648;
 $a = -$a;
 $a=$a-1;
-cmp_ok($a, '==', -2147483649);
+cmp_ok($a, '==', -2147483649,
+    "negation and subtraction properly upgrade to double");
 
 $a = 2147483648;
 $b = -$a;
 $c=$b--;
-cmp_ok($b, '==', -$a-1);
+cmp_ok($b, '==', -$a-1, "negation, postdecrement and additional negation");
 
 $a = 2147483648;
 $b = -$a;
 $c=--$b;
-cmp_ok($b, '==', -$a-1);
+cmp_ok($b, '==', -$a-1, "negation, predecrement and additional negation");
 
 $a = 2147483648;
 $b = -$a;
 $b=$b-1;
-cmp_ok($b, '==', -(++$a));
+cmp_ok($b, '==', -(++$a),
+    "negation, subtraction, preincrement and additional negation");
 
 $a = undef;
 is($a++, '0', "postinc undef returns '0'");
@@ -88,7 +94,7 @@
     print "# key '$_' was '$orig->{$_}' now missing\n";
     $fail = 1;
   }
-  ok (!$fail);
+  ok (!$fail, "original hashes unchanged");
 }
 
 my (%orig) = my (%inc) = my (%dec) = my (%postinc) = my (%postdec)
@@ -100,8 +106,8 @@
   my $ans = $up{$_};
   my $up;
   eval {$up = ++$_};
-  is($up, $ans);
-  is($@, '');
+  is($up, $ans, "key '$_' incremented correctly");
+  is($@, '', "no error condition");
 }
 
 check_same (\%orig, \%inc);
@@ -110,8 +116,8 @@
   my $ans = $down{$_};
   my $down;
   eval {$down = --$_};
-  is($down, $ans);
-  is($@, '');
+  is($down, $ans, "key '$_' decremented correctly");
+  is($@, '', "no error condition");
 }
 
 check_same (\%orig, \%dec);
@@ -120,8 +126,8 @@
   my $ans = $postinc{$_};
   my $up;
   eval {$up = $_++};
-  is($up, $ans);
-  is($@, '');
+  is($up, $ans, "assignment preceded postincrement");
+  is($@, '', "no error condition");
 }
 
 check_same (\%orig, \%postinc);
@@ -130,8 +136,8 @@
   my $ans = $postdec{$_};
   my $down;
   eval {$down = $_--};
-  is($down, $ans);
-  is($@, '');
+  is($down, $ans, "assignment preceded postdecrement");
+  is($@, '', "no error condition");
 }
 
 check_same (\%orig, \%postdec);
@@ -143,8 +149,8 @@
 	$y ="$x\n";
 	++$x;
     };
-    cmp_ok($x, '==', 1);
-    is($@, '');
+    cmp_ok($x, '==', 1, "preincrement of previously uninitialized variable");
+    is($@, '', "no error condition");
 
     my ($p, $q);
     eval {
@@ -151,18 +157,18 @@
 	$q ="$p\n";
 	--$p;
     };
-    cmp_ok($p, '==', -1);
-    is($@, '');
+    cmp_ok($p, '==', -1, "predecrement of previously uninitialized variable");
+    is($@, '', "no error condition");
 }
 
 $a = 2147483648;
 $c=--$a;
-cmp_ok($a, '==', 2147483647);
+cmp_ok($a, '==', 2147483647, "predecrement properly downgrades from double");
 
 
 $a = 2147483648;
 $c=$a--;
-cmp_ok($a, '==', 2147483647);
+cmp_ok($a, '==', 2147483647, "postdecrement properly downgrades from double");
 
 {
     use integer;
@@ -243,10 +249,10 @@
 sub PVBM () { 'foo' }
 { my $dummy = index 'foo', PVBM }
 
-isnt(scalar eval { my $pvbm = PVBM; $pvbm++ }, undef);
-isnt(scalar eval { my $pvbm = PVBM; $pvbm-- }, undef);
-isnt(scalar eval { my $pvbm = PVBM; ++$pvbm }, undef);
-isnt(scalar eval { my $pvbm = PVBM; --$pvbm }, undef);
+isnt(scalar eval { my $pvbm = PVBM; $pvbm++ }, undef, "postincrement defined");
+isnt(scalar eval { my $pvbm = PVBM; $pvbm-- }, undef, "postdecrement defined");
+isnt(scalar eval { my $pvbm = PVBM; ++$pvbm }, undef, "preincrement defined");
+isnt(scalar eval { my $pvbm = PVBM; --$pvbm }, undef, "predecrement defined");
 
 # #9466
 


Property changes on: vendor/perl/dist/t/op/inc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/inccode-tie.t
===================================================================
--- vendor/perl/dist/t/op/inccode-tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/inccode-tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/inccode-tie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/inccode.t
===================================================================
--- vendor/perl/dist/t/op/inccode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/inccode.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,7 +21,7 @@
 
 use strict;
 
-plan(tests => 49 + !is_miniperl() * (3 + 14 * $can_fork));
+plan(tests => 60 + !is_miniperl() * (3 + 14 * $can_fork));
 
 sub get_temp_fh {
     my $f = tempfile();
@@ -194,12 +194,27 @@
 is( $ret, 'abc', 'do "abc.pl" sees return value' );
 
 {
-    my $filename = './Foo.pm';
+    my $got;
     #local @INC; # local fails on tied @INC
     my @old_INC = @INC; # because local doesn't work on tied arrays
-    @INC = sub { $filename = 'seen'; return undef; };
-    eval { require $filename; };
-    is( $filename, 'seen', 'the coderef sees fully-qualified pathnames' );
+    @INC = ('lib', 'lib/Devel', sub { $got = $_[1]; return undef; });
+    foreach my $filename ('/test_require.pm', './test_require.pm',
+			  '../test_require.pm') {
+	local %INC;
+	undef $got;
+	undef $test_require::loaded;
+	eval { require $filename; };
+	is($got, $filename, "the coderef sees the pathname $filename");
+	is($test_require::loaded, undef, 'no module is loaded' );
+    }
+
+    local %INC;
+    undef $got;
+    undef $test_require::loaded;
+
+    eval { require 'test_require.pm'; };
+    is($got, undef, 'the directory is scanned for test_require.pm');
+    is($test_require::loaded, 1, 'the module is loaded');
     @INC = @old_INC;
 }
 
@@ -226,6 +241,26 @@
 ok( 1, 'returning PVBM ref doesn\'t segfault use' );
 shift @INC;
 
+# [perl #92252]
+{
+    my $die = sub { die };
+    my $data = [];
+    unshift @INC, sub { $die, $data };
+
+    my $initial_sub_refcnt = &Internals::SvREFCNT($die);
+    my $initial_data_refcnt = &Internals::SvREFCNT($data);
+
+    do "foo";
+    is(&Internals::SvREFCNT($die), $initial_sub_refcnt, "no leaks");
+    is(&Internals::SvREFCNT($data), $initial_data_refcnt, "no leaks");
+
+    do "bar";
+    is(&Internals::SvREFCNT($die), $initial_sub_refcnt, "no leaks");
+    is(&Internals::SvREFCNT($data), $initial_data_refcnt, "no leaks");
+
+    shift @INC;
+}
+
 exit if is_miniperl();
 
 SKIP: {


Property changes on: vendor/perl/dist/t/op/inccode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/incfilter.t
===================================================================
--- vendor/perl/dist/t/op/incfilter.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/incfilter.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -216,6 +216,11 @@
      "pass('And return multiple lines');\n",
     ]] or die;
 
+ at origlines = keys %{{ "1\n+\n2\n" => 1 }};
+ at lines = @origlines;
+do \&generator or die;
+is $origlines[0], "1\n+\n2\n", 'ink filters do not mangle cow buffers';
+
 # d8723a6a74b2c12e wasn't perfect, as the char * returned by SvPV*() can be
 # a temporary, freed at the next FREETMPS. And there is a FREETMPS in
 # pp_require
@@ -228,22 +233,10 @@
     do $fh or die;
 }
 
-# [perl #91880] $_ marked TEMP or having the wrong refcount inside a
+# [perl #91880] $_ having the wrong refcount inside a
 { #             filter sub
     local @INC; local $|;
     unshift @INC, sub { sub { undef *_; --$| }};
     do "dah";
     pass '$_ has the right refcount inside a filter sub';
-
-    my $temps = 0;
-    @INC = sub { sub {
-	my $temp = \sub{$_}->();
-	$temps++ if $temp == \$_;
-	$_ = "a" unless $|;
-	return --$|
-    }};
-    local $^W;
-    do "dah";
-
-    is $temps, 0, '$_ is not marked TEMP';
 }


Property changes on: vendor/perl/dist/t/op/incfilter.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/index.t
===================================================================
--- vendor/perl/dist/t/op/index.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/index.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 }
 
 use strict;
-plan( tests => 120 );
+plan( tests => 114 );
 
 run_tests() unless caller;
 
@@ -128,19 +128,6 @@
     is (rindex($text, $search_octets), -1);
 }
 
-foreach my $utf8 ('', ', utf-8') {
-    foreach my $arraybase (0, 1, -1, -2) {
-	my $expect_pos = 2 + $arraybase;
-
-	my $prog = "no warnings 'deprecated';\n";
-	$prog .= "\$[ = $arraybase; \$big = \"N\\xabN\\xab\"; ";
-	$prog .= '$big .= chr 256; chop $big; ' if $utf8;
-	$prog .= 'print rindex $big, "N", 2 + $[';
-
-	fresh_perl_is($prog, $expect_pos, {}, "\$[ = $arraybase$utf8");
-    }
-}
-
 SKIP: {
     skip "UTF-EBCDIC is limited to 0x7fffffff", 3 if ord("A") == 193;
 
@@ -224,4 +211,10 @@
 is($^A, 'bang', "formline isn't confused by index compilation");
 is(index('bang', PVBM2), 0, "index isn't confused by format compilation");
 
+{
+    use constant perl => "rules";
+    is(index("perl rules", perl), 5, 'first index of a constant works');
+    is(index("rules 1 & 2", perl), 0, 'second index of the same constant works');
 }
+
+}


Property changes on: vendor/perl/dist/t/op/index.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/t/op/index_thr.t
===================================================================
--- vendor/perl/dist/t/op/index_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/index_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/index_thr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/int.t
===================================================================
--- vendor/perl/dist/t/op/int.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/int.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,18 +10,20 @@
 
 # compile time evaluation
 
-if (int(1.234) == 1) {pass()} else {fail()}
+my $test1_descr = 'compile time evaluation 1.234';
+if (int(1.234) == 1) {pass($test1_descr)} else {fail($test1_descr)}
 
-if (int(-1.234) == -1) {pass()} else {fail()}
+my $test2_descr = 'compile time evaluation -1.234';
+if (int(-1.234) == -1) {pass($test2_descr)} else {fail($test2_descr)}
 
 # run time evaluation
 
 $x = 1.234;
-cmp_ok(int($x), '==', 1);
-cmp_ok(int(-$x), '==', -1);
+cmp_ok(int($x), '==', 1, 'run time evaluation 1');
+cmp_ok(int(-$x), '==', -1, 'run time evaluation -1');
 
 $x = length("abc") % -10;
-cmp_ok($x, '==', -7);
+cmp_ok($x, '==', -7, 'subtract from string length');
 
 {
     my $fail;
@@ -28,8 +30,8 @@
     use integer;
     $x = length("abc") % -10;
     $y = (3/-10)*-10;
-    ok($x+$y == 3) or ++$fail;
-    ok(abs($x) < 10) or ++$fail;
+    ok($x+$y == 3, 'x+y equals 3') or ++$fail;
+    ok(abs($x) < 10, 'abs(x) < 10') or ++$fail;
     if ($fail) {
 	diag("\$x == $x", "\$y == $y");
     }
@@ -38,6 +40,8 @@
 @x = ( 6, 8, 10);
 cmp_ok($x["1foo"], '==', 8, 'check bad strings still get converted');
 
+# 4,294,967,295 is largest unsigned 32 bit integer
+
 $x = 4294967303.15;
 $y = int ($x);
 is($y, "4294967303", 'check values > 32 bits work');
@@ -44,26 +48,26 @@
 
 $y = int (-$x);
 
-is($y, "-4294967303");
+is($y, "-4294967303", 'negative value more than maximum unsigned 32 bit value');
 
 $x = 4294967294.2;
 $y = int ($x);
 
-is($y, "4294967294");
+is($y, "4294967294", 'floating point value slightly less than the largest unsigned 32 bit');
 
 $x = 4294967295.7;
 $y = int ($x);
 
-is($y, "4294967295");
+is($y, "4294967295", 'floating point value slightly more than largest unsigned 32 bit');
 
 $x = 4294967296.11312;
 $y = int ($x);
 
-is($y, "4294967296");
+is($y, "4294967296", 'floating point value more than largest unsigned 32 bit');
 
 $y = int(279964589018079/59);
-cmp_ok($y, '==', 4745162525730);
+cmp_ok($y, '==', 4745162525730, 'compile time division, result of about 42 bits');
 
 $y = 279964589018079;
 $y = int($y/59);
-cmp_ok($y, '==', 4745162525730);
+cmp_ok($y, '==', 4745162525730, 'run time divison, result of about 42 bits');


Property changes on: vendor/perl/dist/t/op/int.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/join.t
===================================================================
--- vendor/perl/dist/t/op/join.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/join.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,25 +1,31 @@
 #!./perl
 
-print "1..22\n";
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 
+plan tests => 22;
+
 @x = (1, 2, 3);
-if (join(':', at x) eq '1:2:3') {print "ok 1\n";} else {print "not ok 1\n";}
+is( join(':', at x), '1:2:3', 'join an array with character');
 
-if (join('',1,2,3) eq '123') {print "ok 2\n";} else {print "not ok 2\n";}
+is( join('',1,2,3), '123', 'join list with no separator');
 
-if (join(':',split(/ /,"1 2 3")) eq '1:2:3') {print "ok 3\n";} else {print "not ok 3\n";}
+is( join(':',split(/ /,"1 2 3")), '1:2:3', 'join implicit array with character');
 
 my $f = 'a';
 $f = join ',', 'b', $f, 'e';
-if ($f eq 'b,a,e') {print "ok 4\n";} else {print "# '$f'\nnot ok 4\n";}
+is( $f, 'b,a,e', 'join list back to self, middle of list');
 
 $f = 'a';
 $f = join ',', $f, 'b', 'e';
-if ($f eq 'a,b,e') {print "ok 5\n";} else {print "not ok 5\n";}
+is( $f, 'a,b,e', 'join list back to self, beginning of list');
 
 $f = 'a';
 $f = join $f, 'b', 'e', 'k';
-if ($f eq 'baeak') {print "ok 6\n";} else {print "# '$f'\nnot ok 6\n";}
+is( $f, 'baeak', 'join back to self, self is join character');
 
 # 7,8 check for multiple read of tied objects
 { package X;
@@ -27,11 +33,9 @@
   sub FETCH { my $y = shift; $$y += 5 };
   tie my $t, 'X';
   my $r = join ':', $t, 99, $t, 99;
-  print "# expected '12:99:17:99' got '$r'\nnot " if $r ne '12:99:17:99';
-  print "ok 7\n";
+  main::is($r, '12:99:17:99', 'check for multiple read of tied objects, with separator');
   $r = join '', $t, 99, $t, 99;
-  print "# expected '22992799' got '$r'\nnot " if $r ne '22992799';
-  print "ok 8\n";
+  main::is($r, '22992799', 'check for multiple read of tied objects, w/o separator, and magic');
 };
 
 # 9,10 and for multiple read of undef
@@ -38,31 +42,25 @@
 { my $s = 5;
   local ($^W, $SIG{__WARN__}) = ( 1, sub { $s+=4 } );
   my $r = join ':', 'a', undef, $s, 'b', undef, $s, 'c';
-  print "# expected 'a::9:b::13:c' got '$r'\nnot " if $r ne 'a::9:b::13:c';
-  print "ok 9\n";
+  is( $r, 'a::9:b::13:c', 'multiple read of undef, with separator');
   my $r = join '', 'a', undef, $s, 'b', undef, $s, 'c';
-  print "# expected 'a17b21c' got '$r'\nnot " if $r ne 'a17b21c';
-  print "ok 10\n";
+  is( $r, 'a17b21c', '... and without separator');
 };
 
 { my $s = join("", chr(0x1234), chr(0xff));
-  print "not " unless length($s) == 2 && $s eq "\x{1234}\x{ff}";
-  print "ok 11\n";
+  is( $s, "\x{1234}\x{ff}", 'join two characters with multiple bytes, get two characters');
 }
 
 { my $s = join(chr(0xff), chr(0x1234), "");
-  print "not " unless length($s) == 2 && $s eq "\x{1234}\x{ff}";
-  print "ok 12\n";
+  is( $s, "\x{1234}\x{ff}", 'high byte character as separator, 1 multi-byte character in front');
 }
 
 { my $s = join(chr(0x1234), chr(0xff), chr(0x2345));
-  print "not " unless length($s) == 3 && $s eq "\x{ff}\x{1234}\x{2345}";
-  print "ok 13\n";
+  is( $s, "\x{ff}\x{1234}\x{2345}", 'multibyte character as separator');
 }
 
 { my $s = join(chr(0xff), chr(0x1234), chr(0xfe));
-  print "not " unless length($s) == 3 && $s eq "\x{1234}\x{ff}\x{fe}";
-  print "ok 14\n";
+  is( $s, "\x{1234}\x{ff}\x{fe}", 'high byte as separator, multi-byte and high byte list');
 }
 
 { # [perl #24846] $jb2 should be in bytes, not in utf8.
@@ -74,40 +72,28 @@
     return $r;
   }
 
+  sub byte_is {
+    use bytes;
+    return $_[0] eq $_[1] ? pass($_[2]) : fail($_[2]);
+  }
+
   my $jb1 = join_into_my_variable("", $b);
   my $ju1 = join_into_my_variable("", $u);
   my $jb2 = join_into_my_variable("", $b);
   my $ju2 = join_into_my_variable("", $u);
 
-  {
-      use bytes;
-      print "not " unless $jb1 eq $b;
-      print "ok 15\n";
-  }
-  print "not " unless $jb1 eq $b;
-  print "ok 16\n";
+  note( 'utf8 and byte checks, perl #24846' );
 
-  {
-      use bytes;
-      print "not " unless $ju1 eq $u;
-      print "ok 17\n";
-  }
-  print "not " unless $ju1 eq $u;
-  print "ok 18\n";
+  byte_is($jb1, $b);
+  is( $jb1, $b );
 
-  {
-      use bytes;
-      print "not " unless $jb2 eq $b;
-      print "ok 19\n";
-  }
-  print "not " unless $jb2 eq $b;
-  print "ok 20\n";
+  byte_is($ju1, $u);
+  is( $ju1, $u );
 
-  {
-      use bytes;
-      print "not " unless $ju2 eq $u;
-      print "ok 21\n";
-  }
-  print "not " unless $ju2 eq $u;
-  print "ok 22\n";
+  byte_is($jb2, $b);
+  is( $jb2, $b );
+
+  byte_is($ju2, $u);
+  is( $ju2, $u );
 }
+


Property changes on: vendor/perl/dist/t/op/join.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/kill0.t
===================================================================
--- vendor/perl/dist/t/op/kill0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/kill0.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/kill0.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/lc.t
===================================================================
--- vendor/perl/dist/t/op/lc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/lc.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
 #!./perl
 
+# This file is intentionally encoded in latin-1.
+
 BEGIN {
     chdir 't';
     @INC = '../lib';
@@ -6,13 +8,32 @@
     require './test.pl';
 }
 
-plan tests => 93;
+use feature qw( fc );
 
+plan tests => 128;
+
 is(lc(undef),	   "", "lc(undef) is ''");
 is(lcfirst(undef), "", "lcfirst(undef) is ''");
 is(uc(undef),	   "", "uc(undef) is ''");
 is(ucfirst(undef), "", "ucfirst(undef) is ''");
 
+{
+    no feature 'fc';
+    is(CORE::fc(undef), "", "fc(undef) is ''");
+    is(CORE::fc(''),    "", "fc('') is ''");
+
+    local $@;
+    eval { fc("eeyup") };
+    like($@, qr/Undefined subroutine &main::fc/, "fc() throws an exception,");
+
+    {
+        use feature 'fc';
+        local $@;
+        eval { fc("eeyup") };
+        ok(!$@, "...but works after requesting the feature");
+    }
+}
+
 $a = "HELLO.* world";
 $b = "hello.* WORLD";
 
@@ -21,6 +42,7 @@
 is("\l$a"         , "hELLO\.\* world",      '\l');
 is("\U$a"         , "HELLO\.\* WORLD",      '\U');
 is("\L$a"         , "hello\.\* world",      '\L');
+is("\F$a"         , "hello\.\* world",      '\F');
 
 is(quotemeta($a)  , "HELLO\\.\\*\\ world",  'quotemeta');
 is(ucfirst($a)    , "HELLO\.\* world",      'ucfirst');
@@ -27,6 +49,7 @@
 is(lcfirst($a)    , "hELLO\.\* world",      'lcfirst');
 is(uc($a)         , "HELLO\.\* WORLD",      'uc');
 is(lc($a)         , "hello\.\* world",      'lc');
+is(fc($a)         , "hello\.\* world",      'fc');
 
 is("\Q$b\E."      , "hello\\.\\*\\ WORLD.", '\Q\E hello.* WORLD');
 is("\u$b"         , "Hello\.\* WORLD",      '\u');
@@ -33,6 +56,7 @@
 is("\l$b"         , "hello\.\* WORLD",      '\l');
 is("\U$b"         , "HELLO\.\* WORLD",      '\U');
 is("\L$b"         , "hello\.\* world",      '\L');
+is("\F$b"         , "hello\.\* world",      '\F');
 
 is(quotemeta($b)  , "hello\\.\\*\\ WORLD",  'quotemeta');
 is(ucfirst($b)    , "Hello\.\* WORLD",      'ucfirst');
@@ -39,9 +63,11 @@
 is(lcfirst($b)    , "hello\.\* WORLD",      'lcfirst');
 is(uc($b)         , "HELLO\.\* WORLD",      'uc');
 is(lc($b)         , "hello\.\* world",      'lc');
+is(fc($b)         , "hello\.\* world",      'fc');
 
 # \x{100} is LATIN CAPITAL LETTER A WITH MACRON; its bijective lowercase is
 # \x{101}, LATIN SMALL LETTER A WITH MACRON.
+# Which is also its foldcase.
 
 $a = "\x{100}\x{101}Aa";
 $b = "\x{101}\x{100}aA";
@@ -51,6 +77,7 @@
 is("\l$a"         , "\x{101}\x{101}Aa",  '\l');
 is("\U$a"         , "\x{100}\x{100}AA",  '\U');
 is("\L$a"         , "\x{101}\x{101}aa",  '\L');
+is("\F$a"         , "\x{101}\x{101}aa",  '\F');
 
 is(quotemeta($a)  , "\x{100}\x{101}Aa",  'quotemeta');
 is(ucfirst($a)    , "\x{100}\x{101}Aa",  'ucfirst');
@@ -57,6 +84,7 @@
 is(lcfirst($a)    , "\x{101}\x{101}Aa",  'lcfirst');
 is(uc($a)         , "\x{100}\x{100}AA",  'uc');
 is(lc($a)         , "\x{101}\x{101}aa",  'lc');
+is(fc($a)         , "\x{101}\x{101}aa",  'fc');
 
 is("\Q$b\E."      , "\x{101}\x{100}aA.", '\Q\E \x{101}\x{100}aA');
 is("\u$b"         , "\x{100}\x{100}aA",  '\u');
@@ -63,6 +91,7 @@
 is("\l$b"         , "\x{101}\x{100}aA",  '\l');
 is("\U$b"         , "\x{100}\x{100}AA",  '\U');
 is("\L$b"         , "\x{101}\x{101}aa",  '\L');
+is("\F$b"         , "\x{101}\x{101}aa",  '\F');
 
 is(quotemeta($b)  , "\x{101}\x{100}aA",  'quotemeta');
 is(ucfirst($b)    , "\x{100}\x{100}aA",  'ucfirst');
@@ -69,6 +98,7 @@
 is(lcfirst($b)    , "\x{101}\x{100}aA",  'lcfirst');
 is(uc($b)         , "\x{100}\x{100}AA",  'uc');
 is(lc($b)         , "\x{101}\x{101}aa",  'lc');
+is(fc($b)         , "\x{101}\x{101}aa",  'fc');
 
 # \x{DF} is LATIN SMALL LETTER SHARP S, its uppercase is SS or \x{53}\x{53};
 # \x{149} is LATIN SMALL LETTER N PRECEDED BY APOSTROPHE, its uppercase is
@@ -83,6 +113,15 @@
 is(latin1_to_native("\L\x{DF}aB\x{149}cD"), latin1_to_native("\x{DF}ab\x{149}cd"),
        "multicharacter lowercase");
 
+# \x{DF} is LATIN SMALL LETTER SHARP S, its foldcase is ss or \x{73}\x{73};
+# \x{149} is LATIN SMALL LETTER N PRECEDED BY APOSTROPHE, its foldcase is
+# \x{2BC}\x{6E} or MODIFIER LETTER APOSTROPHE and n.
+# Note that is this further tested in t/uni/fold.t
+
+is(latin1_to_native("\F\x{DF}aB\x{149}cD"), latin1_to_native("ssab\x{2BC}ncd"),
+       "multicharacter foldcase");
+
+
 # titlecase is used for \u / ucfirst.
 
 # \x{587} is ARMENIAN SMALL LIGATURE ECH YIWN and its titlecase is
@@ -91,6 +130,7 @@
 # \x{587} itself
 # and its uppercase is
 # \x{535}\x{552} ARMENIAN CAPITAL LETTER ECH + ARMENIAN CAPITAL LETTER YIWN
+# The foldcase is \x{565}\x{582} ARMENIAN SMALL LETTER ECH + ARMENIAN SMALL LETTER YIWN
 
 $a = "\x{587}";
 
@@ -97,10 +137,11 @@
 is("\L\x{587}" , "\x{587}",        "ligature lowercase");
 is("\u\x{587}" , "\x{535}\x{582}", "ligature titlecase");
 is("\U\x{587}" , "\x{535}\x{552}", "ligature uppercase");
+is("\F\x{587}" , "\x{565}\x{582}", "ligature foldcase");
 
 # mktables had problems where many-to-one case mappings didn't work right.
 # The lib/uni/fold.t should give the fourth folding, "casefolding", a good
-# workout (one cannot directly get that from Perl). 
+# workout.
 # \x{01C4} is LATIN CAPITAL LETTER DZ WITH CARON
 # \x{01C5} is LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
 # \x{01C6} is LATIN SMALL LETTER DZ WITH CARON
@@ -127,6 +168,9 @@
 ($c = $a) =~ s/(\p{IsWord}+)/uc($1)/ge;
 is($c , $b, "Using s///e to change case.");
 
+($c = $a) =~ s/(\p{IsWord}+)/fc($1)/ge;
+is($c , $a, "Using s///e to foldcase.");
+
 ($c = $b) =~ s/(\p{IsWord}+)/lcfirst($1)/ge;
 is($c , "\x{3c3}FOO.bAR", "Using s///e to change case.");
 
@@ -165,6 +209,11 @@
     is(substr(ucfirst($_), 0), ucfirst($_), "[perl #38619] ucfirst");
 }
 
+#fc() didn't exist back then, but coverage is coverage.
+for ("a\x{100}", "\xDFyz\x{100}", "xyz\x{100}", "XYZ\x{100}") { # \xDF to Ss (different length)
+    is(substr(fc($_), 0), fc($_), "[perl #38619] fc");
+}
+
 # Related to [perl #38619]
 # the original report concerns PERL_MAGIC_utf8.
 # these cases concern PERL_MAGIC_regex_global.
@@ -187,11 +236,23 @@
     is($result, $expect, "[perl #38619]");
 }
 
+for (map { $_ } "A\x{100}", "ABC\x{100}", "\x{100}") {
+    chop; # get ("A", "ABC", "") in utf8
+    my $return =  fc($_) =~ /\G(.?)/g;
+    my $result = $return ? $1 : "not";
+    my $expect = (fc($_) =~ /(.?)/g)[0];
+    is($return, 1,       "[perl #38619]");
+    is($result, $expect, "[perl #38619]");
+}
+
 for (1, 4, 9, 16, 25) {
     is(uc "\x{03B0}" x $_, "\x{3a5}\x{308}\x{301}" x $_,
        'uc U+03B0 grows threefold');
 
     is(lc "\x{0130}" x $_, "i\x{307}" x $_, 'lc U+0130 grows');
+
+    is(fc "\x{03B0}" x $_, "\x{3C5}\x{308}\x{301}" x $_,
+       'fc U+03B0 grows threefold');
 }
 
 # bug #43207
@@ -201,5 +262,21 @@
     is($_, "Hello");
 }
 
+# bug #43207
+my $temp = "Hello";
+for ("$temp") {
+    fc $_;
+    is($_, "Hello");
+}
+
 # new in Unicode 5.1.0
 is(lc("\x{1E9E}"), "\x{df}", "lc(LATIN CAPITAL LETTER SHARP S)");
+
+{
+    use feature 'unicode_strings';
+    use bytes;
+    is(lc("\xc0"), "\xc0", "lc of above-ASCII Latin1 is itself under use bytes");
+    is(lcfirst("\xc0"), "\xc0", "lcfirst of above-ASCII Latin1 is itself under use bytes");
+    is(uc("\xe0"), "\xe0", "uc of above-ASCII Latin1 is itself under use bytes");
+    is(ucfirst("\xe0"), "\xe0", "ucfirst of above-ASCII Latin1 is itself under use bytes");
+}


Property changes on: vendor/perl/dist/t/op/lc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/lc_user.t
===================================================================
--- vendor/perl/dist/t/op/lc_user.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/lc_user.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/lc_user.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/leaky-magic.t
===================================================================
--- vendor/perl/dist/t/op/leaky-magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/leaky-magic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -104,11 +104,6 @@
  ok eval { ${"foo::$name"} = 'twor'}, "\$foo::^$_";
 }
 
-use tests 1; # $[
-# To avoid tests that are *too* weird, we’ll just check for definition.
-${"foo::["}; # touch
-ok !defined ${"foo::["}, '$foo::[';
-
 use tests 4; # user/group vars
 # These are rw, but setting them is obviously going to make the test much
 # more complex than necessary. So, again, we check for definition.


Property changes on: vendor/perl/dist/t/op/leaky-magic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/length.t
===================================================================
--- vendor/perl/dist/t/op/length.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/length.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     @INC = '../lib';
 }
 
-plan (tests => 37);
+plan (tests => 41);
 
 print "not " unless length("")    == 0;
 print "ok 1\n";
@@ -191,7 +191,12 @@
 
 my $uo = bless [], 'U';
 
-is(length($uo), undef, "Length of overloaded reference");
+{
+    my $w;
+    local $SIG{__WARN__} = sub { $w = shift };
+    is(length($uo), 0, "Length of overloaded reference");
+    like $w, qr/uninitialized/, 'uninit warning for stringifying as undef';
+}
 
 my $ul = 3;
 is(($ul = length(undef)), undef, 
@@ -204,12 +209,15 @@
 is($ul, undef, "Assigned length of tied undef with result in TARG");
 
 $ul = 3;
-is(($ul = length($uo)), undef,
+{
+    my $w;
+    local $SIG{__WARN__} = sub { $w = shift };
+    is(($ul = length($uo)), 0,
                 "Returned length of overloaded undef with result in TARG");
-is($ul, undef, "Assigned length of overloaded undef with result in TARG");
+    like $w, qr/uninitialized/, 'uninit warning for stringifying as undef';
+}    
+is($ul, 0, "Assigned length of overloaded undef with result in TARG");
 
-# ok(!defined $uo); Turns you can't test this. FIXME for pp_defined?
-
 {
     my $y = "\x{100}BC";
     is(index($y, "B"), 1, 'adds an intermediate position to the offset cache');
@@ -224,4 +232,17 @@
     print length undef;
 }
 
+{
+    local $SIG{__WARN__} = sub {
+	pass '[perl #106726] no crash with length @lexical warning'
+    };
+    eval ' sub { length my @forecasts } ';
+}
+
+# length could be fooled by UTF8ness of non-magical variables changing with
+# stringification.
+my $ref = [];
+bless $ref, "\x{100}";
+is length $ref, length "$ref", 'length on reference blessed to utf8 class';
+
 is($warnings, 0, "There were no other warnings");


Property changes on: vendor/perl/dist/t/op/length.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/lex.t
===================================================================
--- vendor/perl/dist/t/op/lex.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/lex.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
 
 require './test.pl';
 
-plan(tests => 4);
+plan(tests => 7);
 
 {
     no warnings 'deprecated';
@@ -45,3 +45,31 @@
 
 }
 
+{
+ delete local $ENV{PERL_UNICODE};
+ fresh_perl_is(
+  'BEGIN{ ++$_ for @INC{"charnames.pm","_charnames.pm"} } "\N{a}"',
+  'Constant(\N{a}) unknown at - line 1, within string' . "\n"
+ ."Execution of - aborted due to compilation errors.\n",
+   { stderr => 1 },
+  'correct output (and no crash) when charnames cannot load for \N{...}'
+ );
+}
+fresh_perl_is(
+  'BEGIN{ ++$_ for @INC{"charnames.pm","_charnames.pm"};
+          $^H{charnames} = "foo" } "\N{a}"',
+  "Undefined subroutine &main::foo called at - line 2.\n"
+ ."Propagated at - line 2, within string\n"
+ ."Execution of - aborted due to compilation errors.\n",
+   { stderr => 1 },
+  'no crash when charnames cannot load and %^H holds string'
+);
+fresh_perl_is(
+  'BEGIN{ ++$_ for @INC{"charnames.pm","_charnames.pm"};
+          $^H{charnames} = \"foo" } "\N{a}"',
+  "Not a CODE reference at - line 2.\n"
+ ."Propagated at - line 2, within string\n"
+ ."Execution of - aborted due to compilation errors.\n",
+   { stderr => 1 },
+  'no crash when charnames cannot load and %^H holds string reference'
+);


Property changes on: vendor/perl/dist/t/op/lex.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/lex_assign.t
===================================================================
--- vendor/perl/dist/t/op/lex_assign.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/lex_assign.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,6 +3,7 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
+    require './test.pl';
 }
 
 $| = 1;
@@ -24,17 +25,13 @@
 
 @INPUT = <DATA>;
 @simple_input = grep /^\s*\w+\s*\$\w+\s*[#\n]/, @INPUT;
-print "1..", (11 + @INPUT + @simple_input), "\n";
-$ord = 0;
 
 sub wrn {"@_"}
 
 # Check correct optimization of ucfirst etc
-$ord++;
 my $a = "AB";
 my $b = "\u\L$a";
-print "not " unless $b eq 'Ab';
-print "ok $ord\n";
+is( $b, 'Ab', 'Check correct optimization of ucfirst, etc');
 
 # Check correct destruction of objects:
 my $dc = 0;
@@ -43,23 +40,18 @@
 my $b;
 { my $c = 6; $b = bless \$c, "A"}
 
-$ord++;
-print "not " unless $dc == 0;
-print "ok $ord\n";
+is($dc, 0, 'No destruction yet');
 
 $b = $a+5;
 
-$ord++;
-print "not " unless $dc == 1;
-print "ok $ord\n";
+is($dc, 1, 'object descruction via reassignment to variable');
 
-$ord++;
 my $xxx = 'b';
 $xxx = 'c' . ($xxx || 'e');
-print "not " unless $xxx eq 'cb';
-print "ok $ord\n";
+is( $xxx, 'cb', 'variables can be read before being overwritten');
 
 {				# Check calling STORE
+  note('Tied variables, calling STORE');
   my $sc = 0;
   sub B::TIESCALAR {bless [11], 'B'}
   sub B::FETCH { -(shift->[0]) }
@@ -69,31 +61,19 @@
   tie $m, 'B';
   $m = 100;
 
-  $ord++;
-  print "not " unless $sc == 1;
-  print "ok $ord\n";
+  is( $sc, 1, 'STORE called when assigning scalar to tied variable' );
 
   my $t = 11;
   $m = $t + 89;
   
-  $ord++;
-  print "not " unless $sc == 2;
-  print "ok $ord\n";
+  is( $sc, 2, 'and again' );
+  is( $m,  -117, 'checking the tied variable result' );
 
-  $ord++;
-  print "# $m\nnot " unless $m == -117;
-  print "ok $ord\n";
-
   $m += $t;
 
-  $ord++;
-  print "not " unless $sc == 3;
-  print "ok $ord\n";
+  is( $sc, 3, 'called on self-increment' );
+  is( $m,  89, 'checking the tied variable result' );
 
-  $ord++;
-  print "# $m\nnot " unless $m == 89;
-  print "ok $ord\n";
-
 }
 
 # Chains of assignments
@@ -102,14 +82,14 @@
 my $zzzz = 12;
 $zzz1 = $l1 = $l2 = $zzz2 = $l3 = $l4 = 1 + $zzzz;
 
-$ord++;
-print "# $zzz1 = $l1 = $l2 = $zzz2 = $l3 = $l4 = 13\nnot "
-  unless $zzz1 == 13 and $zzz2 == 13 and $l1 == 13
-  and $l2 == 13 and $l3 == 13 and $l4 == 13;
-print "ok $ord\n";
+is($zzz1, 13, 'chain assignment, part1');
+is($zzz2, 13, 'chain assignment, part2');
+is($l1,   13, 'chain assignment, part3');
+is($l2,   13, 'chain assignment, part4');
+is($l3,   13, 'chain assignment, part5');
+is($l4,   13, 'chain assignment, part6');
 
 for (@INPUT) {
-  $ord++;
   ($op, undef, $comment) = /^([^\#]+)(\#\s+(.*))?/;
   $comment = $op unless defined $comment;
   chomp;
@@ -119,7 +99,13 @@
   $skip = ($op =~ /^'\?\?\?'/ or $comment =~ /skip\(.*\Q$^O\E.*\)/i)
 	  ? "skip" : "# '$_'\nnot";
   $integer = ($comment =~ /^i_/) ? "use integer" : '' ;
-  (print "#skipping $comment:\nok $ord\n"), next if $skip eq 'skip';
+  if ($skip eq 'skip') {
+    SKIP: {
+        skip $comment, 1;
+        pass();
+    }
+    next;
+  }
   
   eval <<EOE;
   local \$SIG{__WARN__} = \\&wrn;
@@ -128,23 +114,28 @@
   \$a = $op;
   \$b = $expectop;
   if (\$a ne \$b) {
-    print "# \$comment: got `\$a', expected `\$b'\n";
-    print "\$skip " if \$a ne \$b or \$skip eq 'skip';
+    SKIP: {
+        skip "\$comment: got '\$a', expected '\$b'", 1;
+        pass("")
+    }
   }
-  print "ok \$ord\\n";
+  pass();
 EOE
   if ($@) {
+    $warning = $@;
+    chomp $warning;
     if ($@ =~ /is unimplemented/) {
-      print "# skipping $comment: unimplemented:\nok $ord\n";
+      SKIP: {
+        skip $warning, 1;
+        pass($comment);
+      }
     } else {
-      warn $@;
-      print "# '$_'\nnot ok $ord\n";
+      fail($_ . ' ' . $warning);
     }
   }
 }
 
 for (@simple_input) {
-  $ord++;
   ($op, undef, $comment) = /^([^\#]+)(\#\s+(.*))?/;
   $comment = $op unless defined $comment;
   chomp;
@@ -155,23 +146,28 @@
   \$$variable = $operator \$$variable;
   \$toself = \$$variable;
   \$direct = $operator "Ac# Ca\\nxxx";
-  print "# \\\$$variable = $operator \\\$$variable\\nnot "
-    unless \$toself eq \$direct;
-  print "ok \$ord\\n";
+  is(\$toself, \$direct);
 EOE
   if ($@) {
+    $warning = $@;
+    chomp $warning;
     if ($@ =~ /is unimplemented/) {
-      print "# skipping $comment: unimplemented:\nok $ord\n";
+      SKIP: {
+        skip $warning, 1;
+        pass($comment);
+      }
     } elsif ($@ =~ /Can't (modify|take log of 0)/) {
-      print "# skipping $comment: syntax not good for selfassign:\nok $ord\n";
+      SKIP: {
+        skip $warning . ' ' . $comment . ' syntax not good for selfassign', 1;
+        pass();
+      }
     } else {
-      warn $@;
-      print "# '$_'\nnot ok $ord\n";
+      ##Something bad happened
+      fail($_ . ' ' . $warning);
     }
   }
 }
 
-$ord++;
 eval {
     sub PVBM () { 'foo' }
     index 'foo', PVBM;
@@ -183,12 +179,10 @@
 
     1;
 };
-if ($@) {
-    warn "# $@";
-    print 'not ';
-}
-print "ok $ord\n";
+is($@, '', 'ex-PVBM assert'.$@);
 
+done_testing();
+
 __END__
 ref $xref			# ref
 ref $cstr			# ref nonref


Property changes on: vendor/perl/dist/t/op/lex_assign.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/lfs.t
===================================================================
--- vendor/perl/dist/t/op/lfs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/lfs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/lfs.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/list.t
===================================================================
--- vendor/perl/dist/t/op/list.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/list.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 }
 
 require "test.pl";
-plan( tests => 63 );
+plan( tests => 64 );
 
 @foo = (1, 2, 3, 4);
 cmp_ok($foo[0], '==', 1, 'first elem');
@@ -175,3 +175,10 @@
     my @b = qw();
     is($#b, -1);
 }
+
+{
+    # comma operator with lvalue only propagates the lvalue context to
+    # the last operand.
+    ("const", my $x) ||= 1;
+    is( $x, 1 );
+}


Property changes on: vendor/perl/dist/t/op/list.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/local.t
===================================================================
--- vendor/perl/dist/t/op/local.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/local.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,11 +5,11 @@
     @INC = qw(. ../lib);
     require './test.pl';
 }
-plan tests => 306;
+plan tests => 310;
 
 my $list_assignment_supported = 1;
 
-#mg.c says list assignment not supported on VMS, EPOC, and SYMBIAN.
+#mg.c says list assignment not supported on VMS and SYMBIAN.
 $list_assignment_supported = 0 if ($^O eq 'VMS');
 
 
@@ -618,8 +618,6 @@
 	"Chop"        => sub { chop },				0,
 	"Filetest"    => sub { -x },				0,
 	"Assignment"  => sub { $_ = "Bad" },			0,
-	# XXX whether next one should fail is debatable
-	"Local \$_"   => sub { local $_  = 'ok?'; print },	0,
 	"for local"   => sub { for("#ok?\n"){ print } },	1,
     );
     while ( ($name, $code, $ok) = splice(@tests, 0, 3) ) {
@@ -649,10 +647,10 @@
 is($@, "");
 
 {
-    my $STORE = 0;
+    my $STORE = my $FETCH = 0;
     package TieHash;
     sub TIEHASH { bless $_[1], $_[0] }
-    sub FETCH   { 42 }
+    sub FETCH   { ++$FETCH; 42 }
     sub STORE   { ++$STORE }
 
     package main;
@@ -660,6 +658,7 @@
 
     eval { for ($hash{key}) {local $_ = 2} };
     is($STORE, 0);
+    is($FETCH, 0);
 }
 
 # The s/// adds 'g' magic to $_, but it should remain non-readonly
@@ -666,16 +665,6 @@
 eval { for("a") { for $x (1,2) { local $_="b"; s/(.*)/+$1/ } } };
 is($@, "");
 
-# RT #4342 Special local() behavior for $[
-{
-    no warnings 'deprecated';
-    local $[ = 1;
-    ok(1 == $[, 'lexcical scope of local $[');
-    f();
-}
-
-sub f { ok(0 == $[); }
-
 # sub localisation
 {
 	package Other;
@@ -792,11 +781,47 @@
                       'index(q(a), foo);' .
                       'local *g=${::}{foo};print q(ok);'), "ok", "[perl #52740]");
 
-# Keep this test last, as it can SEGV
+# related to perl #112966
+# Magic should not cause elements not to be deleted after scope unwinding
+# when they did not exist before local()
+() = \$#squinch; # $#foo in lvalue context makes array magical
 {
+    local $squinch[0];
+    local @squinch[1..2];
+    package Flibbert;
+    m??; # makes stash magical
+    local $Flibbert::{foo};
+    local @Flibbert::{<bar baz>};
+}
+ok !exists $Flibbert::{foo},
+  'local helem on magic hash does not leave elems on scope exit';
+ok !exists $Flibbert::{bar},
+  'local hslice on magic hash does not leave elems on scope exit';
+ok !exists $squinch[0],
+  'local aelem on magic hash does not leave elems on scope exit';
+ok !exists $squinch[1],
+  'local aslice on magic hash does not leave elems on scope exit';
+
+# Keep these tests last, as they can SEGV
+{
     local *@;
     pass("Localised *@");
     eval {1};
     pass("Can eval with *@ localised");
+
+    local @{"nugguton"};
+    local %{"netgonch"};
+    delete $::{$_} for 'nugguton','netgonch';
 }
+pass ('localised arrays and hashes do not crash if glob is deleted');
 
+# [perl #112966] Rmagic can cause delete local to crash
+package Grompits {
+local $SIG{__WARN__};
+    delete local $ISA[0];
+    delete local @ISA[1..10];
+    m??; # makes stash magical
+    delete local $Grompits::{foo};
+    delete local @Grompits::{<foo bar>};
+}
+pass 'rmagic does not cause delete local to crash on nonexistent elems';


Property changes on: vendor/perl/dist/t/op/local.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/localref.t
===================================================================
--- vendor/perl/dist/t/op/localref.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/localref.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/localref.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/loopctl.t
===================================================================
--- vendor/perl/dist/t/op/loopctl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/loopctl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -36,7 +36,7 @@
 }
 
 require "test.pl";
-plan( tests => 54 );
+plan( tests => 64 );
 
 my $ok;
 
@@ -994,3 +994,113 @@
     }
     is($x_21469, 'X', "bug 21469: X okay at end of loop");
 }
+
+# [perl #112316] Wrong behavior regarding labels with same prefix
+{
+    my $fail;
+    CATCH: {
+    CATCHLOOP: {
+            last CATCH;
+        }
+        $fail = 1;
+    }
+    ok(!$fail, "perl 112316: Labels with the same prefix don't get mixed up.");
+}
+
+# [perl #73618]
+{
+    sub foo_73618_0 {
+        while (0) { }
+    }
+    sub bar_73618_0 {
+        my $i = 0;
+        while ($i) { }
+    }
+    sub foo_73618_undef {
+        while (undef) { }
+    }
+    sub bar_73618_undef {
+        my $i = undef;
+        while ($i) { }
+    }
+    sub foo_73618_emptystring {
+        while ("") { }
+    }
+    sub bar_73618_emptystring {
+        my $i = "";
+        while ($i) { }
+    }
+    sub foo_73618_0float {
+        while (0.0) { }
+    }
+    sub bar_73618_0float {
+        my $i = 0.0;
+        while ($i) { }
+    }
+    sub foo_73618_0string {
+        while ("0") { }
+    }
+    sub bar_73618_0string {
+        my $i = "0";
+        while ($i) { }
+    }
+    sub foo_73618_until {
+        until (1) { }
+    }
+    sub bar_73618_until {
+        my $i = 1;
+        until ($i) { }
+    }
+
+    is(scalar(foo_73618_0()), scalar(bar_73618_0()),
+       "constant optimization doesn't change return value");
+    is(scalar(foo_73618_undef()), scalar(bar_73618_undef()),
+       "constant optimization doesn't change return value");
+    is(scalar(foo_73618_emptystring()), scalar(bar_73618_emptystring()),
+       "constant optimization doesn't change return value");
+    is(scalar(foo_73618_0float()), scalar(bar_73618_0float()),
+       "constant optimization doesn't change return value");
+    is(scalar(foo_73618_0string()), scalar(bar_73618_0string()),
+       "constant optimization doesn't change return value");
+    { local $TODO = "until is still wrongly optimized";
+    is(scalar(foo_73618_until()), scalar(bar_73618_until()),
+       "constant optimization doesn't change return value");
+    }
+}
+
+# [perl #113684]
+last_113684:
+{
+    label1:
+    {
+        my $label = "label1";
+        eval { last $label };
+        fail("last with non-constant label");
+        last last_113684;
+    }
+    pass("last with non-constant label");
+}
+next_113684:
+{
+    label2:
+    {
+        my $label = "label2";
+        eval { next $label };
+        fail("next with non-constant label");
+        next next_113684;
+    }
+    pass("next with non-constant label");
+}
+redo_113684:
+{
+    my $count;
+    label3:
+    {
+        if ($count++) {
+            pass("redo with non-constant label"); last redo_113684
+        }
+        my $label = "label3";
+        eval { redo $label };
+        fail("redo with non-constant label");
+    }
+}


Property changes on: vendor/perl/dist/t/op/loopctl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/lop.t
===================================================================
--- vendor/perl/dist/t/op/lop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/lop.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,11 +7,11 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
+    require './test.pl';
 }
 
-print "1..11\n";
+plan tests => 17;
 
-my $test = 0;
 for my $i (undef, 0 .. 2, "", "0 but true") {
     my $true = 1;
     my $false = 0;
@@ -29,37 +29,30 @@
 	    and (($i || !$j) != (!$i && $j))
 	);
     }
-    if (not $true) {
-	print "not ";
-    } elsif ($false) {
-	print "not ";
-    }
-    print "ok ", ++$test, "\n";
+    my $m = ! defined $i ? 'undef'
+       : $i eq ''   ? 'empty string'
+       : $i;
+    ok( $true, "true: $m");
+    ok( ! $false, "false: $m");
 }
 
-# $test == 6
 my $i = 0;
 (($i ||= 1) &&= 3) += 4;
-print "not " unless $i == 7;
-print "ok ", ++$test, "\n";
+is( $i, 7, '||=, &&=');
 
 my ($x, $y) = (1, 8);
 $i = !$x || $y;
-print "not " unless $i == 8;
-print "ok ", ++$test, "\n";
+is( $i, 8, 'negation precedence with ||' );
 
 ++$y;
 $i = !$x || !$x || !$x || $y;
-print "not " unless $i == 9;
-print "ok ", ++$test, "\n";
+is( $i, 9, 'negation precedence with ||, multiple operands' );
 
 $x = 0;
 ++$y;
 $i = !$x && $y;
-print "not " unless $i == 10;
-print "ok ", ++$test, "\n";
+is( $i, 10, 'negation precedence with &&' );
 
 ++$y;
 $i = !$x && !$x && !$x && $y;
-print "not " unless $i == 11;
-print "ok ", ++$test, "\n";
+is( $i, 11, 'negation precedence with &&, multiple operands' );


Property changes on: vendor/perl/dist/t/op/lop.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/magic-27839.t
===================================================================
--- vendor/perl/dist/t/op/magic-27839.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/magic-27839.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/magic-27839.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/magic.t
===================================================================
--- vendor/perl/dist/t/op/magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/magic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,15 +4,50 @@
     $| = 1;
     chdir 't' if -d 't';
     @INC = '../lib';
+    require './test.pl';
+    plan (tests => 179);
+}
+
+# Test that defined() returns true for magic variables created on the fly,
+# even before they have been created.
+# This must come first, even before turning on warnings or setting up
+# $SIG{__WARN__}, to avoid invalidating the tests.  warnings.pm currently
+# does not mention any special variables, but that could easily change.
+BEGIN {
+    # not available in miniperl
+    my %non_mini = map { $_ => 1 } qw(+ - [);
+    for (qw(
+	SIG ^OPEN ^TAINT ^UNICODE ^UTF8LOCALE ^WARNING_BITS 1 2 3 4 5 6 7 8
+	9 42 & ` ' : ? ! _ - [ ^ ~ = % . ( ) < > \ / $ | + ; ] ^A ^C ^D
+	^E ^F ^H ^I ^L ^N ^O ^P ^S ^T ^V ^W ^UTF8CACHE ::12345 main::98732
+	^LAST_FH
+    )) {
+	my $v = $_;
+	# avoid using any global vars here:
+	if ($v =~ s/^\^(?=.)//) {
+	    for(substr $v, 0, 1) {
+		$_ = chr ord() - 64;
+	    }
+	}
+	SKIP:
+	{
+	    skip_if_miniperl("the module for *$_ may not be available in "
+			     . "miniperl", 1) if $non_mini{$_};
+	    ok defined *$v, "*$_ appears to be defined at the outset";
+	}
+    }
+}
+
+# This must be in a separate BEGIN block, as the mere mention of ${^TAINT}
+# will invalidate the test for it.
+BEGIN {
     $ENV{PATH} = '/bin' if ${^TAINT};
     $SIG{__WARN__} = sub { die "Dying on warning: ", @_ };
-    require './test.pl';
 }
 
 use warnings;
 use Config;
 
-plan (tests => 87);
 
 $Is_MSWin32  = $^O eq 'MSWin32';
 $Is_NetWare  = $^O eq 'NetWare';
@@ -20,8 +55,6 @@
 $Is_Dos      = $^O eq 'dos';
 $Is_os2      = $^O eq 'os2';
 $Is_Cygwin   = $^O eq 'cygwin';
-$Is_MPE      = $^O eq 'mpeix';		
-$Is_BeOS     = $^O eq 'beos';
 
 $PERL = $ENV{PERL}
     || ($Is_NetWare           ? 'perl'   :
@@ -29,9 +62,37 @@
        $Is_MSWin32            ? '.\perl' :
        './perl');
 
+sub env_is {
+    my ($key, $val, $desc) = @_;
+
+    use open IN => ":raw";
+    if ($Is_MSWin32) {
+        # cmd.exe will echo 'variable=value' but 4nt will echo just the value
+        # -- Nikola Knezevic
+	require Win32;
+	my $cp = Win32::GetConsoleOutputCP();
+	Win32::SetConsoleOutputCP(Win32::GetACP());
+        (my $set = `set $key 2>nul`) =~ s/\r\n$/\n/;
+	Win32::SetConsoleOutputCP($cp);
+        like $set, qr/^(?:\Q$key\E=)?\Q$val\E$/, $desc;
+    } elsif ($Is_VMS) {
+        my $eqv = `write sys\$output f\$trnlnm("\Q$key\E")`;
+        # A single null byte in the equivalence string means
+        # an undef value for Perl, so mimic that here.
+        $eqv = "\n" if length($eqv) == 2 and $eqv eq "\000\n";
+        is $eqv, "$val\n", $desc;
+    } else {
+        is `echo \$\Q$key\E`, "$val\n", $desc;
+    }
+}
+
 END {
     # On VMS, environment variable changes are peristent after perl exits
-    delete $ENV{'FOO'} if $Is_VMS;
+    if ($Is_VMS) {
+        delete $ENV{'FOO'};
+        delete $ENV{'__NoNeSuCh'};
+        delete $ENV{'__NoNeSuCh2'};
+    }
 }
 
 eval '$ENV{"FOO"} = "hi there";';	# check that ENV is inited inside eval
@@ -49,28 +110,34 @@
 
 SKIP: {
     skip('SIGINT not safe on this platform', 5)
-	if $Is_MSWin32 || $Is_NetWare || $Is_Dos || $Is_MPE;
+	if $Is_MSWin32 || $Is_NetWare || $Is_Dos;
   # the next tests are done in a subprocess because sh spits out a
   # newline onto stderr when a child process kills itself with SIGINT.
   # We use a pipe rather than system() because the VMS command buffer
   # would overflow with a command that long.
 
+    # For easy interpolation of test numbers:
+    $next_test = curr_test() - 1;
+    sub TIEARRAY {bless[]}
+    sub FETCH { $next_test + pop }
+    tie my @tn, __PACKAGE__;
+
     open( CMDPIPE, "| $PERL");
 
-    print CMDPIPE <<'END';
+    print CMDPIPE "\$t1 = $tn[1]; \$t2 = $tn[2];\n", <<'END';
 
     $| = 1;		# command buffering
 
-    $SIG{"INT"} = "ok3";     kill "INT",$$; sleep 1;
-    $SIG{"INT"} = "IGNORE";  kill "INT",$$; sleep 1; print "ok 4\n";
-    $SIG{"INT"} = "DEFAULT"; kill "INT",$$; sleep 1; print "not ok 4\n";
+    $SIG{"INT"} = "ok1";     kill "INT",$$; sleep 1;
+    $SIG{"INT"} = "IGNORE";  kill "INT",$$; sleep 1; print "ok $t2\n";
+    $SIG{"INT"} = "DEFAULT"; kill "INT",$$; sleep 1; print" not ok $t2\n";
 
-    sub ok3 {
+    sub ok1 {
 	if (($x = pop(@_)) eq "INT") {
-	    print "ok 3\n";
+	    print "ok $t1\n";
 	}
 	else {
-	    print "not ok 3 ($x @_)\n";
+	    print "not ok $t1 ($x @_)\n";
 	}
     }
 
@@ -79,7 +146,7 @@
     close CMDPIPE;
 
     open( CMDPIPE, "| $PERL");
-    print CMDPIPE <<'END';
+    print CMDPIPE "\$t3 = $tn[3];\n", <<'END';
 
     { package X;
 	sub DESTROY {
@@ -91,7 +158,7 @@
 	return sub { $x };
     }
     $| = 1;		# command buffering
-    $SIG{"INT"} = "ok5";
+    $SIG{"INT"} = "ok3";
     {
 	local $SIG{"INT"}=x();
 	print ""; # Needed to expose failure in 5.8.0 (why?)
@@ -99,14 +166,14 @@
     sleep 1;
     delete $SIG{"INT"};
     kill "INT",$$; sleep 1;
-    sub ok5 {
-	print "ok 5\n";
+    sub ok3 {
+	print "ok $t3\n";
     }
 END
     close CMDPIPE;
     $? >>= 8 if $^O eq 'VMS'; # POSIX status hiding in 2nd byte
     my $todo = ($^O eq 'os2' ? ' # TODO: EMX v0.9d_fix4 bug: wrong nibble? ' : '');
-    print $? & 0xFF ? "ok 6$todo\n" : "not ok 6$todo\n";
+    print $? & 0xFF ? "ok $tn[4]$todo\n" : "not ok $tn[4]$todo\n";
 
     open(CMDPIPE, "| $PERL");
     print CMDPIPE <<'END';
@@ -122,7 +189,7 @@
 END
     close CMDPIPE;
     $? >>= 8 if $^O eq 'VMS';
-    print $? ? "not ok 7\n" : "ok 7\n";
+    print $? ? "not ok $tn[5]\n" : "ok $tn[5]\n";
 
     curr_test(curr_test() + 5);
 }
@@ -140,6 +207,14 @@
 is $', 'baz';
 is $+, 'a';
 
+# [perl #24237]
+for (qw < ` & ' >) {
+ fresh_perl_is
+  qq < \@$_; q "fff" =~ /(?!^)./; print "[\$$_]\\n" >,
+  "[f]\n", {},
+  "referencing \@$_ before \$$_ etc. still saws off ampersands";
+}
+
 # $"
 @a = qw(foo bar baz);
 is "@a", "foo bar baz";
@@ -169,15 +244,33 @@
 is $@, "foo\n";
 
 cmp_ok($$, '>', 0);
-eval { $$++ };
-like ($@, qr/^Modification of a read-only value attempted/);
+my $pid = $$;
+eval { $$ = 42 };
+is $$, 42, '$$ can be modified';
+SKIP: {
+    skip "no fork", 1 unless $Config{d_fork};
+    (my $kidpid = open my $fh, "-|") // skip "cannot fork: $!", 1;
+    if($kidpid) { # parent
+	my $kiddollars = <$fh>;
+	close $fh or die "cannot close pipe from kid proc: $!";
+	is $kiddollars, $kidpid, '$$ is reset on fork';
+    }
+    else { # child
+	print $$;
+	$::NO_ENDING = 1; # silence "Looks like you only ran..."
+	exit;
+    }
+}
+$$ = $pid; # Tests below use $$
 
 # $^X and $0
 {
+    my $is_abs = $Config{d_procselfexe} || $Config{usekernprocpathname}
+      || $Config{usensgetexecutablepath};
     if ($^O eq 'qnx') {
 	chomp($wd = `/usr/bin/fullpath -t`);
     }
-    elsif($Is_Cygwin || $Config{'d_procselfexe'}) {
+    elsif($Is_Cygwin || $is_abs) {
        # Cygwin turns the symlink into the real file
        chomp($wd = `pwd`);
        $wd =~ s#/t$##;
@@ -192,7 +285,7 @@
     else {
 	$wd = '.';
     }
-    my $perl = $Is_VMS || $Config{d_procselfexe} ? $^X : "$wd/perl";
+    my $perl = $Is_VMS || $is_abs ? $^X : "$wd/perl";
     my $headmaybe = '';
     my $middlemaybe = '';
     my $tailmaybe = '';
@@ -227,7 +320,7 @@
 $0 = Cygwin::win_to_posix_path(Cygwin::posix_to_win_path($0, 1));
 EOX
     }
-    if ($^O eq 'os390' or $^O eq 'posix-bc' or $^O eq 'vmesa') {  # no shebang
+    if ($^O eq 'os390' or $^O eq 'posix-bc') {  # no shebang
 	$headmaybe = <<EOH ;
     eval 'exec ./perl -S \$0 \${1+"\$\@"}'
         if 0;
@@ -244,7 +337,6 @@
     ok chmod(0755, $script) or diag $!;
     $_ = $Is_VMS ? `$perl $script` : `$script`;
     s/\.exe//i if $Is_Dos or $Is_Cygwin or $Is_os2;
-    s{./$script}{$script} if $Is_BeOS; # revert BeOS execvp() side-effect
     s{is perl}{is $perl}; # for systems where $^X is only a basename
     s{\\}{/}g;
     if ($Is_MSWin32 || $Is_os2) {
@@ -254,7 +346,6 @@
     }
     $_ = `$perl $script`;
     s/\.exe//i if $Is_Dos or $Is_os2 or $Is_Cygwin;
-    s{./$perl}{$perl} if $Is_BeOS; # revert BeOS execvp() side-effect
     s{\\}{/}g;
     if ($Is_MSWin32 || $Is_os2) {
 	is uc $_, uc $s1;
@@ -309,7 +400,7 @@
 
         no warnings;
         my $res = `$cmd`;
-        skip "Couldn't shell out to `$cmd', returned code $?", 2 if $?;
+        skip "Couldn't shell out to '$cmd', returned code $?", 2 if $?;
         return $res;
     };
 
@@ -350,7 +441,7 @@
 }
 
 SKIP:  {
-    skip_if_miniperl("miniperl can't rely on loading %Errno", 1);
+    skip_if_miniperl("miniperl can't rely on loading %Errno", 2);
     # Make sure that Errno loading doesn't clobber $!
 
     undef %Errno::;
@@ -359,6 +450,14 @@
     open(FOO, "nonesuch"); # Generate ENOENT
     my %errs = %{"!"}; # Cause Errno.pm to be loaded at run-time
     ok ${"!"}{ENOENT};
+
+    # Make sure defined(*{"!"}) before %! does not stop %! from working
+    is
+      runperl(
+	prog => 'BEGIN { defined *{q-!-} } print qq-ok\n- if tied %!',
+      ),
+     "ok\n",
+     'defined *{"!"} does not stop %! from working';
 }
 
 # Check that we don't auto-load packages
@@ -419,7 +518,7 @@
 }
 
 # Test for bug [perl #36434]
-# Can not do this test on VMS, EPOC, and SYMBIAN according to comments
+# Can not do this test on VMS, and SYMBIAN according to comments
 # in mg.c/Perl_magic_clear_all_env()
 SKIP: {
     skip('Can\'t make assignment to \%ENV on this system', 3) if $Is_VMS;
@@ -471,15 +570,73 @@
 
 }
 
+# %+ %-
+SKIP: {
+    skip_if_miniperl("No XS in miniperl", 2);
+    # Make sure defined(*{"+"}) before %+ does not stop %+ from working
+    is
+      runperl(
+	prog => 'BEGIN { defined *{q-+-} } print qq-ok\n- if tied %+',
+      ),
+     "ok\n",
+     'defined *{"+"} does not stop %+ from working';
+    is
+      runperl(
+	prog => 'BEGIN { defined *{q=-=} } print qq-ok\n- if tied %-',
+      ),
+     "ok\n",
+     'defined *{"-"} does not stop %- from working';
+}
+
+SKIP: {
+    skip_if_miniperl("No XS in miniperl", 3);
+
+    for ( [qw( %- Tie::Hash::NamedCapture )], [qw( $[ arybase )],
+          [qw( %! Errno )] ) {
+	my ($var, $mod) = @$_;
+	my $modfile = $mod =~ s|::|/|gr . ".pm";
+	fresh_perl_is
+	   qq 'sub UNIVERSAL::AUTOLOAD{}
+	       $mod\::foo() if 0;
+	       $var;
+	       print "ok\\n" if \$INC{"$modfile"}',
+	  "ok\n",
+	   { switches => [ '-X' ] },
+	  "$var still loads $mod when stash and UNIVERSAL::AUTOLOAD exist";
+    }
+}
+
+# ${^LAST_FH}
+() = tell STDOUT;
+is ${^LAST_FH}, \*STDOUT, '${^LAST_FH} after tell';
+() = tell STDIN;
+is ${^LAST_FH}, \*STDIN, '${^LAST_FH} after another tell';
+{
+    my $fh = *STDOUT;
+    () = tell $fh;
+    is ${^LAST_FH}, \$fh, '${^LAST_FH} referencing lexical coercible glob';
+}
+# This also tests that ${^LAST_FH} is a weak reference:
+is ${^LAST_FH}, undef, '${^LAST_FH} is undef when PL_last_in_gv is NULL';
+
+
+# $|
+fresh_perl_is 'print $| = ~$|', "1\n", {switches => ['-l']}, 
+ '[perl #4760] print $| = ~$|';
+fresh_perl_is
+ 'select f; undef *f; ${q/|/}; print STDOUT qq|ok\n|', "ok\n", {}, 
+ '[perl #115206] no crash when vivifying $| while *{+select}{IO} is undef';
+
+
 # ^^^^^^^^^ New tests go here ^^^^^^^^^
 
 SKIP: {
-    skip("%ENV manipulations fail or aren't safe on $^O", 4)
-	if $Is_VMS || $Is_Dos;
+    skip("%ENV manipulations fail or aren't safe on $^O", 19)
+	if $Is_Dos;
 
  SKIP: {
-	skip("clearing \%ENV is not safe when running under valgrind")
-	    if $ENV{PERL_VALGRIND};
+	skip("clearing \%ENV is not safe when running under valgrind or on VMS")
+	    if $ENV{PERL_VALGRIND} || $Is_VMS;
 
 	    $PATH = $ENV{PATH};
 	    $PDL = $ENV{PERL_DESTRUCT_LEVEL} || 0;
@@ -494,15 +651,61 @@
 	    }
 	}
 
-	$ENV{__NoNeSuCh} = "foo";
-	$0 = "bar";
-# cmd.exe will echo 'variable=value' but 4nt will echo just the value
-# -- Nikola Knezevic
-    	if ($Is_MSWin32) {
-	    like `set __NoNeSuCh`, qr/^(?:__NoNeSuCh=)?foo$/;
-	} else {
-	    is `echo \$__NoNeSuCh`, "foo\n";
+	$ENV{__NoNeSuCh} = 'foo';
+	$0 = 'bar';
+	env_is(__NoNeSuCh => 'foo', 'setting $0 does not break %ENV');
+
+	$ENV{__NoNeSuCh2} = 'foo';
+	$ENV{__NoNeSuCh2} = undef;
+	env_is(__NoNeSuCh2 => '', 'setting a key as undef does not delete it');
+
+	# stringify a glob
+	$ENV{foo} = *TODO;
+	env_is(foo => '*main::TODO', 'ENV store of stringified glob');
+
+	# stringify a ref
+	my $ref = [];
+	$ENV{foo} = $ref;
+	env_is(foo => "$ref", 'ENV store of stringified ref');
+
+	# downgrade utf8 when possible
+	$bytes = "eh zero \x{A0}";
+	utf8::upgrade($chars = $bytes);
+	$forced = $ENV{foo} = $chars;
+	ok(!utf8::is_utf8($forced) && $forced eq $bytes, 'ENV store downgrades utf8 in SV');
+	env_is(foo => $bytes, 'ENV store downgrades utf8 in setenv');
+
+	# warn when downgrading utf8 is not possible
+	$chars = "X-Day \x{1998}";
+	utf8::encode($bytes = $chars);
+	{
+	  my $warned = 0;
+	  local $SIG{__WARN__} = sub { ++$warned if $_[0] =~ /^Wide character in setenv/; print "# @_" };
+	  $forced = $ENV{foo} = $chars;
+	  ok($warned == 1, 'ENV store warns about wide characters');
 	}
+	ok(!utf8::is_utf8($forced) && $forced eq $bytes, 'ENV store encodes high utf8 in SV');
+	env_is(foo => $bytes, 'ENV store encodes high utf8 in SV');
+
+	# test local $ENV{foo} on existing foo
+	{
+	  local $ENV{__NoNeSuCh};
+	  { local $TODO = 'exists on %ENV should reflect real env';
+	    ok(!exists $ENV{__NoNeSuCh}, 'not exists $ENV{existing} during local $ENV{existing}'); }
+	  env_is(__NoNeLoCaL => '');
+	}
+	ok(exists $ENV{__NoNeSuCh}, 'exists $ENV{existing} after local $ENV{existing}');
+	env_is(__NoNeSuCh => 'foo');
+
+	# test local $ENV{foo} on new foo
+	{
+	  local $ENV{__NoNeLoCaL} = 'foo';
+	  ok(exists $ENV{__NoNeLoCaL}, 'exists $ENV{new} during local $ENV{new}');
+	  env_is(__NoNeLoCaL => 'foo');
+	}
+	ok(!exists $ENV{__NoNeLoCaL}, 'not exists $ENV{new} after local $ENV{new}');
+	env_is(__NoNeLoCaL => '');
+
     SKIP: {
 	    skip("\$0 check only on Linux and FreeBSD", 2)
 		unless $^O =~ /^(linux|freebsd)$/


Property changes on: vendor/perl/dist/t/op/magic.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/magic_phase.t
===================================================================
--- vendor/perl/dist/t/op/magic_phase.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/magic_phase.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/magic_phase.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/method.t
===================================================================
--- vendor/perl/dist/t/op/method.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/method.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
 
 BEGIN {
     chdir 't' if -d 't';
-    @INC = qw(. ../lib);
+    @INC = qw(. ../lib lib);
     require "test.pl";
 }
 
@@ -13,7 +13,7 @@
 use strict;
 no warnings 'once';
 
-plan(tests => 79);
+plan(tests => 141);
 
 @A::ISA = 'B';
 @B::ISA = 'C';
@@ -80,11 +80,16 @@
 is(A->d, "B::d2");		# Update hash table;
 
 # What follows is hardly guarantied to work, since the names in scripts
-# are already linked to "pruned" globs. Say, `undef &B::d' if it were
-# after `delete $B::{d}; sub B::d {}' would reach an old subroutine.
+# are already linked to "pruned" globs. Say, 'undef &B::d' if it were
+# after 'delete $B::{d}; sub B::d {}' would reach an old subroutine.
 
 undef &B::d;
 delete $B::{d};
+is(A->d, "C::d");
+
+eval 'sub B::d {"B::d2.5"}';
+A->d;				# Update hash table;
+my $glob = \delete $B::{d};	# non-void context; hang on to the glob
 is(A->d, "C::d");		# Update hash table;
 
 eval 'sub B::d {"B::d3"}';	# Import now.
@@ -167,7 +172,10 @@
 
 {
     no strict 'refs';
+    no warnings 'deprecated';
     # this test added due to bug discovery (in 5.004_04, fb73857aa0bfa8ed)
+    # Possibly kill this test now that defined @::array is finally properly
+    # deprecated?
     is(defined(@{"unknown_package::ISA"}) ? "defined" : "undefined", "undefined");
 }
 
@@ -215,7 +223,50 @@
 eval '$e = bless {}, "UNIVERSAL"; $e->E::F::foo()';
 like ($@, qr/^\QCan't locate object method "foo" via package "E::F" at/);
 
-# TODO: we need some tests for the SUPER:: pseudoclass
+# SUPER:: pseudoclass
+ at Saab::ISA = "Souper";
+sub Souper::method { @_ }
+ at OtherSaab::ISA = "OtherSouper";
+sub OtherSouper::method { "Isidore Ropen, Draft Manager" }
+{
+   my $o = bless [], "Saab";
+   package Saab;
+   my @ret = $o->SUPER::method('whatever');
+   ::is $ret[0], $o, 'object passed to SUPER::method';
+   ::is $ret[1], 'whatever', 'argument passed to SUPER::method';
+   @ret = $o->SUPER'method('whatever');
+   ::is $ret[0], $o, "object passed to SUPER'method";
+   ::is $ret[1], 'whatever', "argument passed to SUPER'method";
+   @ret = Saab->SUPER::method;
+   ::is $ret[0], 'Saab', "package name passed to SUPER::method";
+   @ret = OtherSaab->SUPER::method;
+   ::is $ret[0], 'OtherSaab',
+      "->SUPER::method uses current package, not invocant";
+}  
+() = *SUPER::;
+{
+   local our @ISA = "Souper";
+   is eval { (main->SUPER::method)[0] }, 'main',
+      'Mentioning *SUPER:: does not stop ->SUPER from working in main';
+}
+{
+    BEGIN {
+        *Mover:: = *Mover2::;
+        *Mover2:: = *foo;
+    }
+    package Mover;
+    no strict;
+    # Not our(@ISA), because the bug we are testing for interacts with an
+    # our() bug that cancels this bug out.
+    @ISA = 'door';
+    sub door::dohtem { 'dohtem' }
+    ::is eval { Mover->SUPER::dohtem; }, 'dohtem',
+        'SUPER inside moved package';
+    undef *door::dohtem;
+    *door::dohtem = sub { 'method' };
+    ::is eval { Mover->SUPER::dohtem; }, 'method',
+        'SUPER inside moved package respects method changes';
+}
 
 # failed method call or UNIVERSAL::can() should not autovivify packages
 is( $::{"Foo::"} || "none", "none");  # sanity check 1
@@ -319,3 +370,254 @@
     );
 }
 
+# Test for calling a method on a packag name return by a magic variable
+sub TIESCALAR{bless[]}
+sub FETCH{"main"}
+my $kalled;
+sub bolgy { ++$kalled; }
+tie my $a, "";
+$a->bolgy;
+is $kalled, 1, 'calling a class method via a magic variable';
+
+{
+    package NulTest;
+    sub method { 1 }
+
+    package main;
+    eval {
+        NulTest->${ \"method\0Whoops" };
+    };
+    like $@, qr/Can't locate object method "method\0Whoops" via package "NulTest" at/,
+            "method lookup is nul-clean";
+
+    *NulTest::AUTOLOAD = sub { our $AUTOLOAD; return $AUTOLOAD };
+
+    like(NulTest->${ \"nul\0test" }, "nul\0test", "AUTOLOAD is nul-clean");
+}
+
+
+{
+    fresh_perl_is(
+    q! sub T::DESTROY { $x = $_[0]; } bless [], "T";!,
+    "DESTROY created new reference to dead object 'T' during global destruction.",
+    {},
+	"DESTROY creating a new reference to the object generates a warning."
+    );
+}
+
+# [perl #43663]
+{
+    $::{"Just"} = \1;
+    sub Just::a_japh { return "$_[0] another Perl hacker," }
+    is eval { "Just"->a_japh }, "Just another Perl hacker,",
+	'constants do not interfere with class methods';
+}
+
+# [perl #109264]
+{
+    no strict 'vars';
+    sub bliggles { 1 }
+    sub lbiggles :lvalue { index "foo", "f" }
+    ok eval { main->bliggles(my($foo,$bar)) },
+      'foo->bar(my($foo,$bar)) is not called in lvalue context';
+    ok eval { main->bliggles(our($foo,$bar)) },
+      'foo->bar(our($foo,$bar)) is not called in lvalue context';
+    ok eval { main->bliggles(local($foo,$bar)) },
+      'foo->bar(local($foo,$bar)) is not called in lvalue context';
+    ok eval { () = main->lbiggles(my($foo,$bar)); 1 },
+      'foo->lv(my($foo,$bar)) is not called in lvalue context';
+    ok eval { () = main->lbiggles(our($foo,$bar)); 1 },
+      'foo->lv(our($foo,$bar)) is not called in lvalue context';
+    ok eval { () = main->lbiggles(local($foo,$bar)); 1 },
+      'foo->lv(local($foo,$bar)) is not called in lvalue context';
+}
+
+{
+   # AUTOLOAD and DESTROY can be declared without a leading sub,
+   # like BEGIN and friends.
+   package NoSub;
+
+   eval 'AUTOLOAD { our $AUTOLOAD; return $AUTOLOAD }';
+   ::ok( !$@, "AUTOLOAD without a leading sub is legal" );
+
+   eval "DESTROY { ::pass( q!DESTROY without a leading sub is legal and gets called! ) }";
+   {
+      ::ok( NoSub->can("AUTOLOAD"), "...and sets up an AUTOLOAD normally" );
+      ::is( eval { NoSub->bluh }, "NoSub::bluh", "...which works as expected" );
+   }
+   { bless {}, "NoSub"; }
+}
+
+eval { () = 3; new {} };
+like $@,
+     qr/^Can't call method "new" without a package or object reference/,
+    'Err msg from new{} when stack contains a number';
+eval { () = "foo"; new {} };
+like $@,
+     qr/^Can't call method "new" without a package or object reference/,
+    'Err msg from new{} when stack contains a word';
+eval { () = undef; new {} };
+like $@,
+     qr/^Can't call method "new" without a package or object reference/,
+    'Err msg from new{} when stack contains undef';
+
+package egakacp {
+  our @ISA = 'ASI';
+  sub ASI::m { shift; "@_" };
+  my @a = (bless([]), 'arg');
+  my $r = SUPER::m{@a};
+  ::is $r, 'arg', 'method{@array}';
+  $r = SUPER::m{}@a;
+  ::is $r, 'arg', 'method{}@array';
+  $r = SUPER::m{@a}"b";
+  ::is $r, 'arg b', 'method{@array}$more_args';
+}
+
+# [perl #114924] SUPER->method
+ at SUPER::ISA = "SUPPER";
+sub SUPPER::foo { "supper" }
+is "SUPER"->foo, 'supper', 'SUPER->method';
+
+sub flomp { "flimp" }
+sub main::::flomp { "flump" }
+is "::"->flomp, 'flump', 'method call on ::';
+is "::main"->flomp, 'flimp', 'method call on ::main';
+eval { ""->flomp };
+like $@,
+     qr/^Can't call method "flomp" without a package or object reference/,
+    'method call on empty string';
+is "3foo"->CORE::uc, '3FOO', '"3foo"->CORE::uc';
+{ no strict; @{"3foo::ISA"} = "CORE"; }
+is "3foo"->uc, '3FOO', '"3foo"->uc (autobox style!)';
+
+# Test that PL_stashcache doesn't change the resolution behaviour for file
+# handles and package names.
+SKIP: {
+    skip_if_miniperl('file handles as methods requires loading IO::File', 25);
+    require Fcntl;
+
+    foreach (qw (Count::DATA Count Colour::H1 Color::H1 C3::H1)) {
+	eval qq{
+            package $_;
+
+            sub getline {
+                return "method in $_";
+            }
+
+            1;
+        } or die $@;
+    }
+
+    BEGIN {
+	*The::Count:: = \*Count::;
+    }
+
+    is(Count::DATA->getline(), 'method in Count::DATA',
+       'initial resolution is a method');
+    is(The::Count::DATA->getline(), 'method in Count::DATA',
+       'initial resolution is a method in aliased classes');
+
+    require Count;
+
+    is(Count::DATA->getline(), "one! ha ha ha\n", 'file handles take priority');
+    is(The::Count::DATA->getline(), "two! ha ha ha\n",
+       'file handles take priority in aliased classes');
+
+    eval q{close Count::DATA} or die $!;
+
+    {
+	no warnings 'io';
+	is(Count::DATA->getline(), undef,
+	   "closing a file handle doesn't change object resolution");
+	is(The::Count::DATA->getline(), undef,
+	   "closing a file handle doesn't change object resolution in aliased classes");
+}
+
+    undef *Count::DATA;
+    is(Count::DATA->getline(), 'method in Count::DATA',
+       'undefining the typeglob does change object resolution');
+    is(The::Count::DATA->getline(), 'method in Count::DATA',
+       'undefining the typeglob does change object resolution in aliased classes');
+
+    is(Count->getline(), 'method in Count',
+       'initial resolution is a method');
+    is(The::Count->getline(), 'method in Count',
+       'initial resolution is a method in aliased classes');
+
+    eval q{
+        open Count, '<', $INC{'Count.pm'}
+            or die "Can't open $INC{'Count.pm'}: $!";
+1;
+    } or die $@;
+
+    is(Count->getline(), "# zero! ha ha ha\n", 'file handles take priority');
+    is(The::Count->getline(), 'method in Count', 'but not in an aliased class');
+
+    eval q{close Count} or die $!;
+
+    {
+	no warnings 'io';
+	is(Count->getline(), undef,
+	   "closing a file handle doesn't change object resolution");
+    }
+
+    undef *Count;
+    is(Count->getline(), 'method in Count',
+       'undefining the typeglob does change object resolution');
+
+    open Colour::H1, 'op/method.t' or die $!;
+    while (<Colour::H1>) {
+	last if /^__END__/;
+    }
+    open CLOSED, 'TEST' or die $!;
+    close CLOSED or die $!;
+
+    my $fh_start = tell Colour::H1;
+    my $data_start = tell DATA;
+    is(Colour::H1->getline(), <DATA>, 'read from a file');
+    is(Color::H1->getline(), 'method in Color::H1',
+       'initial resolution is a method');
+
+    *Color::H1 = *Colour::H1{IO};
+
+    is(Colour::H1->getline(), <DATA>, 'read from a file');
+    is(Color::H1->getline(), <DATA>,
+       'file handles take priority after typeglob assignment');
+
+    *Color::H1 = *CLOSED{IO};
+    {
+	no warnings 'io';
+	is(Color::H1->getline(), undef,
+	   "assigning a closed a file handle doesn't change object resolution");
+    }
+
+    undef *Color::H1;
+    is(Color::H1->getline(), 'method in Color::H1',
+       'undefining the typeglob does change object resolution');
+
+    seek Colour::H1, $fh_start, Fcntl::SEEK_SET() or die $!;
+    seek DATA, $data_start, Fcntl::SEEK_SET() or die $!;
+
+    is(Colour::H1->getline(), <DATA>, 'read from a file');
+    is(C3::H1->getline(), 'method in C3::H1', 'intial resolution is a method');
+
+    *Copy:: = \*C3::;
+    *C3:: = \*Colour::;
+
+    is(Colour::H1->getline(), <DATA>, 'read from a file');
+    is(C3::H1->getline(), <DATA>,
+       'file handles take priority after stash aliasing');
+
+    *C3:: = \*Copy::;
+
+    is(C3::H1->getline(), 'method in C3::H1',
+       'restoring the stash returns to a method');
+}
+
+__END__
+#FF9900
+#F78C08
+#FFA500
+#FF4D00
+#FC5100
+#FF5D00


Property changes on: vendor/perl/dist/t/op/method.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/mkdir.t
===================================================================
--- vendor/perl/dist/t/op/mkdir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/mkdir.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -48,6 +48,7 @@
 $_ = 'lfrulb';
 
 {
+    no warnings 'experimental::lexical_topic';
     my $_ = 'blurfl';
     ok(mkdir);
     ok(-d);


Property changes on: vendor/perl/dist/t/op/mkdir.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/my.t
===================================================================
--- vendor/perl/dist/t/op/my.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/my.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,10 @@
 #!./perl
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 
-print "1..36\n";
-
 sub foo {
     my($a, $b) = @_;
     my $c;
@@ -10,8 +13,10 @@
     $d = "ok 4\n";
     { my($a, undef, $c) = ("ok 9\n", "not ok 10\n", "ok 10\n");
       ($x, $y) = ($a, $c); }
-    print $a, $b;
-    $c . $d;
+    is($a, "ok 1\n", 'value of sub argument maintained outside of block');
+    is($b, "ok 2\n", 'sub argument maintained');
+    is($c, "ok 3\n", 'variable value maintained outside of block');
+    is($d, "ok 4\n", 'variable value maintained');
 }
 
 $a = "ok 5\n";
@@ -19,9 +24,14 @@
 $c = "ok 7\n";
 $d = "ok 8\n";
 
-print &foo("ok 1\n","ok 2\n");
+&foo("ok 1\n","ok 2\n");
 
-print $a,$b,$c,$d,$x,$y;
+is($a, "ok 5\n", 'global was not affected by duplicate names inside subroutine');
+is($b, "ok 6\n", '...');
+is($c, "ok 7\n", '...');
+is($d, "ok 8\n", '...');
+is($x, "ok 9\n", 'globals modified inside of block keeps its value outside of block');
+is($y, "ok 10\n", '...');
 
 # same thing, only with arrays and associative arrays
 
@@ -30,9 +40,13 @@
     my(@c, %d);
     @c = "ok 13\n";
     $d{''} = "ok 14\n";
-    { my($a, at c) = ("ok 19\n", "ok 20\n"); ($x, $y) = ($a, @c); }
-    print $a, @b;
-    $c[0] . $d{''};
+    { my($a, at c) = ("ok 19\n", "ok 20\n", "ok 21\n"); ($x, $y) = ($a, @c); }
+    is($a, "ok 11\n", 'value of sub argument maintained outside of block');
+    is(scalar @b, 1, 'did not add any elements to @b');
+    is($b[0], "ok 12\n", 'did not alter @b');
+    is(scalar @c, 1, 'did not add arguments to @c');
+    is($c[0], "ok 13\n", 'did not alter @c');
+    is($d{''}, "ok 14\n", 'did not touch %d');
 }
 
 $a = "ok 15\n";
@@ -40,62 +54,67 @@
 @c = "ok 17\n";
 $d{''} = "ok 18\n";
 
-print &foo2("ok 11\n","ok 12\n");
+&foo2("ok 11\n", "ok 12\n");
 
-print $a, at b, at c,%d,$x,$y;
+is($a, "ok 15\n", 'Global was not modifed out of scope');
+is(scalar @b, 1, 'correct number of elements in array');
+is($b[0], "ok 16\n", 'array value was not modified out of scope');
+is(scalar @c, 1, 'correct number of elements in array');
+is($c[0], "ok 17\n", 'array value was not modified out of scope');
+is($d{''}, "ok 18\n", 'hash key/value pair is correct');
+is($x, "ok 19\n", 'global was modified');
+is($y, "ok 20\n", 'this one too');
 
 my $i = "outer";
 
 if (my $i = "inner") {
-    print "not " if $i ne "inner";
+    is( $i, 'inner', 'my variable inside conditional propagates inside block');
 }
-print "ok 21\n";
 
 if ((my $i = 1) == 0) {
-    print "not ";
+    fail("nested parens do not propagate variable outside");
 }
 else {
-    print "not" if $i != 1;
+    is($i, 1, 'lexical variable lives available inside else block');
 }
-print "ok 22\n";
 
 my $j = 5;
 while (my $i = --$j) {
-    print("not "), last unless $i > 0;
+    last unless is( $i, $j, 'lexical inside while block');
 }
 continue {
-    print("not "), last unless $i > 0;
+    last unless is( $i, $j, 'lexical inside continue block');
 }
-print "ok 23\n";
+is( $j, 0, 'went through the previous while/continue loop all 4 times' );
 
 $j = 5;
 for (my $i = 0; (my $k = $i) < $j; ++$i) {
-    print("not "), last unless $i >= 0 && $i < $j && $i == $k;
+    fail(""), last unless $i >= 0 && $i < $j && $i == $k;
 }
-print "ok 24\n";
-print "not " if defined $k;
-print "ok 25\n";
+ok( ! defined $k, '$k is only defined in the scope of the previous for loop' );
 
-foreach my $i (26, 27) {
-    print "ok $i\n";
+curr_test(37);
+$jj = 0;
+foreach my $i (30, 31) {
+    is( $i, $jj+30, 'assignment inside the foreach loop variable definition');
+    $jj++;
 }
+is( $jj, 2, 'foreach loop executed twice');
 
-print "not " if $i ne "outer";
-print "ok 28\n";
+is( $i, 'outer', '$i not modified by while/for/foreach using same variable name');
 
 # Ensure that C<my @y> (without parens) doesn't force scalar context.
 my @x;
 { @x = my @y }
-print +(@x ? "not " : ""), "ok 29\n";
+is(scalar @x, 0, 'my @y without parens does not force scalar context');
 { @x = my %y }
-print +(@x ? "not " : ""), "ok 30\n";
+is(scalar @x, 0, 'my %y without parens does not force scalar context');
 
 # Found in HTML::FormatPS
-my %fonts = qw(nok 31);
+my %fonts = qw(nok 35);
 for my $full (keys %fonts) {
     $full =~ s/^n//;
-    # Supposed to be copy-on-write via force_normal after a THINKFIRST check.
-    print "$full $fonts{nok}\n";
+    is( $fonts{nok}, 35, 'Supposed to be copy-on-write via force_normal after a THINKFIRST check.' );
 }
 
 #  [perl #29340] optimising away the = () left the padav returning the
@@ -104,21 +123,17 @@
 sub opta { my @a=() }
 sub opth { my %h=() }
 eval { my $x = opta };
-print "not " if $@;
-print "ok 32\n";
+is($@, '', ' perl #29340, No bizarre copy of array error');
 eval { my $x = opth };
-print "not " if $@;
-print "ok 33\n";
+is($@, '', ' perl #29340, No bizarre copy of array error via hash');
 
-
 sub foo3 {
     ++my $x->{foo};
-    print "not " if defined $x->{bar};
+    ok(! defined $x->{bar}, '$x->{bar} is not defined');
     ++$x->{bar};
 }
 eval { foo3(); foo3(); };
-print "not " if $@;
-print "ok 34\n";
+is( $@, '', 'no errors while checking autovivification and persistence of hash refs inside subs' );
 
 # my $foo = undef should always assign [perl #37776]
 {
@@ -125,8 +140,14 @@
     my $count = 35;
     loop:
     my $test = undef;
-    print "not " if defined $test;
-    print "ok $count\n";
+    is($test, undef, 'var is undef, repeated test');
     $test = 42;
     goto loop if ++$count < 37;
 }
+
+# [perl #113554]
+eval "my ()";
+is( $@, '', "eval of my() passes");
+
+#Variable number of tests due to the way the while/for loops are tested now
+done_testing();


Property changes on: vendor/perl/dist/t/op/my.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/my_stash.t
===================================================================
--- vendor/perl/dist/t/op/my_stash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/my_stash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/my_stash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/mydef.t
===================================================================
--- vendor/perl/dist/t/op/mydef.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/mydef.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 }
 
 use strict;
-no warnings 'misc';
+no warnings 'misc', 'experimental::lexical_topic';
 
 $_ = 'global';
 is($_, 'global', '$_ initial value');


Property changes on: vendor/perl/dist/t/op/mydef.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/negate.t
===================================================================
--- vendor/perl/dist/t/op/negate.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/negate.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan tests => 16;
+plan tests => 45;
 
 # Some of these will cause warnings if left on.  Here we're checking the
 # functionality, not the warnings.
@@ -19,7 +19,11 @@
 is(-"10.0", -10, "Negation of a positive decimal sting to negative");
 is(-"10foo", -10, "Negation of a numeric-lead string returns negation of numeric");
 is(-"-10", 10, 'Negation of string starting with "-" returns a positive number - integer');
+"-10" =~ /(.*)/;
+is(-$1, 10, 'Negation of magical string starting with "-" - integer');
 is(-"-10.0", 10.0, 'Negation of string starting with "-" returns a positive number - decimal');
+"-10.0" =~ /(.*)/;
+is(-$1, 10.0, 'Negation of magical string starting with "-" - decimal');
 is(-"-10foo", "+10foo", 'Negation of string starting with "-" returns a string starting with "+" - non-numeric');
 is(-"xyz", "-xyz", 'Negation of a negative string adds "-" to the front');
 is(-"-xyz", "+xyz", "Negation of a negative string to positive");
@@ -28,4 +32,73 @@
 is(- -bareword, "+bareword", "Negation of -bareword returns string +bareword");
 is(-" -10", 10, "Negation of a whitespace-lead numeric string");
 is(-" -10.0", 10, "Negation of a whitespace-lead decimal string");
-is(-" -10foo", 10, "Negation of a whitespace-lead sting starting with a numeric")
+is(-" -10foo", 10,
+    "Negation of a whitespace-lead sting starting with a numeric");
+
+$x = "dogs";
+()=0+$x;
+is -$x, '-dogs', 'cached numeric value does not sabotage string negation';
+
+is(-"97656250000000000", -97656250000000000, '-bigint vs -"bigint"');
+"9765625000000000" =~ /(\d+)/;
+is -$1, -"$1", '-$1 vs -"$1" with big int';
+
+$a = "%apples";
+chop($au = "%apples\x{100}");
+is(-$au, -$a, 'utf8 flag makes no difference for string negation');
+is -"\x{100}", 0, '-(non-ASCII) is equivalent to -(punct)';
+
+sub TIESCALAR { bless[] }
+sub STORE { $_[0][0] = $_[1] }
+sub FETCH { $_[0][0] }
+
+tie $t, "";
+$a = "97656250000000000";
+() = 0+$a;
+$t = $a;
+is -$t, -97656250000000000, 'magic str+int dualvar';
+
+{ # Repeat most of the tests under use integer
+    use integer;
+    is(- 10, -10, "Simple numeric negation to negative");
+    is(- -10, 10, "Simple numeric negation to positive");
+    is(-"10", -10, "Negation of a positive string to negative");
+    is(-"10.0", -10, "Negation of a positive decimal sting to negative");
+    is(-"10foo", -10,
+        "Negation of a numeric-lead string returns negation of numeric");
+    is(-"-10", 10,
+        'Negation of string starting with "-" returns a positive number -'
+       .' integer');
+    "-10" =~ /(.*)/;
+    is(-$1, 10, 'Negation of magical string starting with "-" - integer');
+    is(-"-10.0", 10,
+        'Negation of string starting with "-" returns a positive number - '
+       .'decimal');
+    "-10.0" =~ /(.*)/;
+    is(-$1, 10, 'Negation of magical string starting with "-" - decimal');
+    is(-"-10foo", "+10foo",
+       'Negation of string starting with "-" returns a string starting '
+      .'with "+" - non-numeric');
+    is(-"xyz", "-xyz",
+       'Negation of a negative string adds "-" to the front');
+    is(-"-xyz", "+xyz", "Negation of a negative string to positive");
+    is(-"+xyz", "-xyz", "Negation of a positive string to negative");
+    is(-bareword, "-bareword",
+        "Negation of bareword treated like a string");
+    is(- -bareword, "+bareword",
+        "Negation of -bareword returns string +bareword");
+    is(-" -10", 10, "Negation of a whitespace-lead numeric string");
+    is(-" -10.0", 10, "Negation of a whitespace-lead decimal string");
+    is(-" -10foo", 10,
+        "Negation of a whitespace-lead sting starting with a numeric");
+
+    $x = "dogs";
+    ()=0+$x;
+    is -$x, '-dogs',
+        'cached numeric value does not sabotage string negation';
+
+    $a = "%apples";
+    chop($au = "%apples\x{100}");
+    is(-$au, -$a, 'utf8 flag makes no difference for string negation');
+    is -"\x{100}", 0, '-(non-ASCII) is equivalent to -(punct)';
+}


Property changes on: vendor/perl/dist/t/op/negate.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/not.t
===================================================================
--- vendor/perl/dist/t/op/not.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/not.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,17 +6,22 @@
     require './test.pl';
 }
 
-plan tests => 16;
+plan tests => 19;
 
 # not() tests
-pass() if not();
-is(not(), 1);
-is(not(), not(0));
+pass("logical negation of empty list") if not();
+is(not(), 1, "logical negation of empty list in numeric comparison");
+is(not(), not(0),
+    "logical negation of empty list compared with logical negation of false value");
 
 # test not(..) and !
-is(! 1, not 1);
-is(! 0, not 0);
-is(! (0, 0), not(0, 0));
+note("parens needed around second argument in next two tests\nto preserve list context inside function call");
+is(! 1, (not 1),
+    "high- and low-precedence logical negation of true value");
+is(! 0, (not 0),
+    "high- and low-precedence logical negation of false value");
+is(! (0, 0), not(0, 0),
+    "high- and low-precedence logical negation of lists");
 
 # test the return of !
 {
@@ -24,13 +29,18 @@
     my $not1 = ! 1;
 
     no warnings;
-    ok($not1 == undef);
-    ok($not1 == ());
+    ok($not1 == undef,
+        "logical negation (high-precedence) of true value is numerically equal to undefined value");
+    ok($not1 == (),
+        "logical negation (high-precedence) of true value is numerically equal to empty list");
 
     use warnings;
-    ok($not1 eq '');
-    ok($not1 == 0);
-    ok($not0 == 1);
+    ok($not1 eq '',
+        "logical negation (high-precedence) of true value in string context is equal to empty string");
+    ok($not1 == 0,
+        "logical negation (high-precedence) of true value is false in numeric context");
+    ok($not0 == 1,
+        "logical negation (high-precedence) of false value is true in numeric context");
 }
 
 # test the return of not
@@ -39,11 +49,30 @@
     my $not1 = not 1;
 
     no warnings;
-    ok($not1 == undef);
-    ok($not1 == ());
+    ok($not1 == undef,
+        "logical negation (low-precedence) of true value is numerically equal to undefined value");
+    ok($not1 == (),
+        "logical negation (low-precedence) of true value is numerically equal to empty list");
 
     use warnings;
-    ok($not1 eq '');
-    ok($not1 == 0);
-    ok($not0 == 1);
+    ok($not1 eq '',
+        "logical negation (low-precedence) of true value in string context is equal to empty string");
+    ok($not1 == 0,
+        "logical negation (low-precedence) of true value is false in numeric context");
+    ok($not0 == 1,
+        "logical negation (low-precedence) of false value is true in numeric context");
 }
+
+# test truth of dualvars
+SKIP:
+{
+    my $got_dualvar;
+    eval 'use Scalar::Util "dualvar"; $got_dualvar++';
+    skip "No Scalar::Util::dualvar", 3 unless $got_dualvar;
+    my $a = Scalar::Util::dualvar(3, "");
+    is not($a), 1, 'not(dualvar) ignores int when string is false';
+    my $b = Scalar::Util::dualvar(3.3,"");
+    is not($b), 1, 'not(dualvar) ignores float when string is false';
+    my $c = Scalar::Util::dualvar(0,"1");
+    is not($c), "", 'not(dualvar) ignores false int when string is true';
+}


Property changes on: vendor/perl/dist/t/op/not.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/numconvert.t
===================================================================
--- vendor/perl/dist/t/op/numconvert.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/numconvert.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/numconvert.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/oct.t
===================================================================
--- vendor/perl/dist/t/op/oct.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/oct.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,6 +1,6 @@
 #!./perl
 
-# tests 51 onwards aren't all warnings clean. (intentionally)
+# Tests 51 onwards are intentionally not all-warnings-clean
 
 require './test.pl';
 use strict;
@@ -105,33 +105,37 @@
 
 
 $_ = "\0_7_7";
-is(length, 5);
-is($_, "\0"."_"."7"."_"."7");
+is(length, 5,
+    "length() correctly calculated string with nul character in octal");
+is($_, "\0"."_"."7"."_"."7", "string concatenation with nul character");
 chop, chop, chop, chop;
-is($_, "\0");
+is($_, "\0", "repeated chop() eliminated all but nul character");
 if (ord("\t") != 9) {
-    # question mark is 111 in 1047, 037, && POSIX-BC
-    is("\157_", "?_");
+    is("\157_", "?_",
+        "question mark is 111 in 1047, 037, && POSIX-BC");
 }
 else {
-    is("\077_", "?_");
+    is("\077_", "?_",
+        "question mark is 077 in other than 1047, 037, && POSIX-BC");
 }
 
 $_ = "\x_7_7";
-is(length, 5);
-is($_, "\0"."_"."7"."_"."7");
+is(length, 5,
+    "length() correctly calculated string with nul character in hex");
+is($_, "\0"."_"."7"."_"."7", "string concatenation with nul character");
 chop, chop, chop, chop;
-is($_, "\0");
+is($_, "\0", "repeated chop() eliminated all but nul character");
 if (ord("\t") != 9) {
-    # / is 97 in 1047, 037, && POSIX-BC
-    is("\x61_", "/_");
+    is("\x61_", "/_",
+        "/ is 97 in 1047, 037, && POSIX-BC");
 }
 else {
-    is("\x2F_", "/_");
+    is("\x2F_", "/_",
+        "/ is 79 in other than 1047, 037, && POSIX-BC");
 }
 
 eval '$a = oct "10\x{100}"';
-like($@, qr/Wide character/);
+like($@, qr/Wide character/, "wide character - oct");
 
 eval '$a = hex "ab\x{100}"';
-like($@, qr/Wide character/);
+like($@, qr/Wide character/, "wide character - hex");


Property changes on: vendor/perl/dist/t/op/oct.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/or.t
===================================================================
--- vendor/perl/dist/t/op/or.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/or.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -37,20 +37,20 @@
 
 $c = $a || $b;
 
-is($c, $a_str);
-is($c+0, $a_num);   # force numeric context.
+is($c, $a_str, "comparison of string equality");
+is($c+0, $a_num, "comparison of numeric equality");   # force numeric context.
 
 $a =~ /./g or die "Match failed for some reason"; # Make $a magic
 
 $c = $a || $b;
 
-is($c, $a_str);
-is($c+0, $a_num);   # force numeric context.
+is($c, $a_str, "comparison of string equality");
+is($c+0, $a_num, "comparison of numeric equality");   # force numeric context.
 
 my $val = 3;
 
 $c = $val || $b;
-is($c, 3);
+is($c, 3, "|| short-circuited as expected");
 
 tie $a, 'Countdown', $val;
 


Property changes on: vendor/perl/dist/t/op/or.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/ord.t
===================================================================
--- vendor/perl/dist/t/op/ord.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/ord.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/ord.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/overload_integer.t
===================================================================
--- vendor/perl/dist/t/op/overload_integer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/overload_integer.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,9 +1,15 @@
 #!./perl
 
+BEGIN {
+    chdir 't' if -d 't';
+    push @INC, '../lib';
+    require './test.pl';
+}
+
 use strict;
 use warnings;
 
-print "1..2\n";
+plan tests => 2;
 
 package Foo;
 
@@ -11,7 +17,7 @@
 
 sub import
 {
-    overload::constant 'integer' => sub { return shift; };
+    overload::constant 'integer' => sub { return shift };
 }
 
 package main;
@@ -21,35 +27,9 @@
 use Foo;
 
 my $result = eval "5+6";
-
 my $error = $@;
+$result //= '';
 
-my $label = "No exception was thrown with an overload::constant 'integer' inside an eval.";
-# TEST
-if ($error eq "")
-{
-    print "ok 1 - $label\n"
-}
-else
-{
-    print "not ok 1 - $label\n";
-    print "# Error is $error\n";
-}
+is ($error, '', "No exception was thrown with an overload::constant 'integer' inside an eval.");
+is ($result, 11, "Correct solution");
 
-$label = "Correct solution";
-
-if (!defined($result))
-{
-    $result = "";
-}
-# TEST
-if ($result eq 11)
-{
-    print "ok 2 - $label\n";
-}
-else
-{
-    print "not ok 2 - $label\n";
-    print "# Result is $result\n";
-}
-


Property changes on: vendor/perl/dist/t/op/overload_integer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/override.t
===================================================================
--- vendor/perl/dist/t/op/override.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/override.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan tests => 26;
+plan tests => 28;
 
 #
 # This file tries to test builtin override using CORE::GLOBAL
@@ -49,9 +49,30 @@
 eval "use Foo::Bar";
 is( $r, join($dirsep, "Foo", "Bar.pm") );
 
-eval "use 5.006";
-is( $r, "5.006" );
+{
+    my @r;
+    local *CORE::GLOBAL::require = sub { push @r, shift; 1; };
+    eval "use 5.006";
+    like( " @r ", qr " 5\.006 " );
+}
 
+{
+    local $_ = 'foo.pm';
+    require;
+    is( $r, 'foo.pm' );
+}
+
+{
+    BEGIN {
+        # Can’t do ‘no warnings’ with CORE::GLOBAL::require overridden. :-)
+        CORE::require warnings;
+        unimport warnings 'experimental::lexical_topic';
+    }
+    my $_ = 'bar.pm';
+    require;
+    is( $r, 'bar.pm' );
+}
+
 # localizing *CORE::GLOBAL::foo should revert to finding CORE::foo
 {
     local(*CORE::GLOBAL::require);


Property changes on: vendor/perl/dist/t/op/override.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/pack.t
===================================================================
--- vendor/perl/dist/t/op/pack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/pack.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 my $no_signedness = $] > 5.009 ? '' :
   "Signed/unsigned pack modifiers not available on this perl";
 
-plan tests => 14700;
+plan tests => 14704;
 
 use strict;
 use warnings qw(FATAL all);
@@ -300,8 +300,6 @@
 
     skip("-- $^O has serious fp indigestion on w-packed infinities", 1)
        if (
-	   ($^O eq 'mpeix')
-	   ||
 	   ($^O eq 'ultrix')
 	   ||
 	   ($^O =~ /^svr4/ && -f "/etc/issue" && -f "/etc/.relid") # NCR MP-RAS
@@ -816,7 +814,7 @@
 {
   # /
 
-  my ($x, $y, $z);
+  my ($x, $y, $z, @a);
   eval { ($x) = unpack '/a*','hello' };
   like($@, qr!'/' must follow a numeric type!);
   undef $x;
@@ -823,6 +821,14 @@
   eval { $x = unpack '/a*','hello' };
   like($@, qr!'/' must follow a numeric type!);
 
+  # [perl #60204] Unhelpful error message from unpack
+  eval { @a = unpack 'v/a*','h' };
+  is($@, '');
+  is(scalar @a, 0);
+  eval { $x = unpack 'v/a*','h' };
+  is($@, '');
+  is($x, undef);
+
   undef $x;
   eval { ($z,$x,$y) = unpack 'a3/A C/a* C/Z', "003ok \003yes\004z\000abc" };
   is($@, '');


Property changes on: vendor/perl/dist/t/op/pack.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Index: vendor/perl/dist/t/op/packagev.t
===================================================================
--- vendor/perl/dist/t/op/packagev.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/packagev.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/packagev.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/pat.t
===================================================================
--- vendor/perl/dist/t/op/pat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/pat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/pat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/pat_thr.t
===================================================================
--- vendor/perl/dist/t/op/pat_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/pat_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/pat_thr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/pos.t
===================================================================
--- vendor/perl/dist/t/op/pos.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/pos.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,28 +6,28 @@
     require './test.pl';
 }
 
-plan tests => 8;
+plan tests => 12;
 
 $x='banana';
 $x=~/.a/g;
-is(pos($x), 2);
+is(pos($x), 2, "matching, pos() leaves off at offset 2");
 
 $x=~/.z/gc;
-is(pos($x), 2);
+is(pos($x), 2, "not matching, pos() remains at offset 2");
 
 sub f { my $p=$_[0]; return $p }
 
 $x=~/.a/g;
-is(f(pos($x)), 4);
+is(f(pos($x)), 4, "matching again, pos() next leaves off at offset 4");
 
 # Is pos() set inside //g? (bug id 19990615.008)
 $x = "test string?"; $x =~ s/\w/pos($x)/eg;
-is($x, "0123 5678910?");
+is($x, "0123 5678910?", "pos() set inside //g");
 
 $x = "123 56"; $x =~ / /g;
-is(pos($x), 4);
+is(pos($x), 4, "matching, pos() leaves off at offset 4");
 { local $x }
-is(pos($x), 4);
+is(pos($x), 4, "value of pos() unaffected by intermediate localization");
 
 # Explicit test that triggers the utf8_mg_len_cache_update() code path in
 # Perl_sv_pos_b2u().
@@ -34,7 +34,7 @@
 
 $x = "\x{100}BC";
 $x =~ m/.*/g;
-is(pos $x, 3);
+is(pos $x, 3, "utf8_mg_len_cache_update() test");
 
 
 my $destroyed;
@@ -47,3 +47,19 @@
     $x = bless({}, 'Class');
 }
 is($destroyed, 1, 'Timely scalar destruction with lvalue pos');
+
+eval 'pos @a = 1';
+like $@, qr/^Can't modify array dereference in match position at /,
+  'pos refuses @arrays';
+eval 'pos %a = 1';
+like $@, qr/^Can't modify hash dereference in match position at /,
+  'pos refuses %hashes';
+eval 'pos *a = 1';
+is eval 'pos *a', 1, 'pos *glob works';
+
+# Test that UTF8-ness of $1 changing does not confuse pos
+"f" =~ /(f)/; "$1";	# first make sure UTF8-ness is off
+"\x{100}a" =~ /(..)/;	# give PL_curpm a UTF8 string; $1 does not know yet
+pos($1) = 2;		# set pos; was ignoring UTF8-ness
+"$1";			# turn on UTF8 flag
+is pos($1), 2, 'pos is not confused about changing UTF8-ness';


Property changes on: vendor/perl/dist/t/op/pos.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/pow.t
===================================================================
--- vendor/perl/dist/t/op/pow.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/pow.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -37,11 +37,11 @@
 is(3**2, 9,      "positive ** 2 = positive");
 is(3**3, 27,     "(positive int) ** (odd power) is positive");
 
-# And test order of operations while we're at it
-is(-3**0, -1);
-is(-3**1, -3);
-is(-3**2, -9);
-is(-3**3, -27);
+# And test order of operations while we are at it
+is(-3**0, -1,      "positive ** 0, then negated, = -1");
+is(-3**1, -3,      "positive ** 1, then negated, = negative of self");
+is(-3**2, -9,      "positive ** 2, then negated, = negative of square");
+is(-3**3, -27,     "(positive int) ** (odd power), then negated, is negative");
 
 
 # Ought to be 32, 64, 36 or something like that.


Property changes on: vendor/perl/dist/t/op/pow.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/print.t
===================================================================
--- vendor/perl/dist/t/op/print.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/print.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,9 +4,25 @@
     require "test.pl";
 }
 
-plan(2);
+plan(3);
 
 fresh_perl_is('$_ = qq{OK\n}; print;', "OK\n",
               'print without arguments outputs $_');
 fresh_perl_is('$_ = qq{OK\n}; print STDOUT;', "OK\n",
               'print with only a filehandle outputs $_');
+SKIP: {
+    skip_if_miniperl('no dynamic loading of PerlIO::scalar in miniperl');
+fresh_perl_is(<<'EOF', "\xC1\xAF\xC1\xAF\xC1\xB0\xC1\xB3", "", "print doesn't launder utf8 overlongs");
+use strict;
+use warnings;
+
+no warnings 'utf8';
+
+# These form overlong "oops"
+open my $fh, "<:utf8", \"\xC1\xAF\xC1\xAF\xC1\xB0\xC1\xB3"
+    or die "Could not open\n";
+read($fh, my $s, 10) or die "Could not read\n";
+print $s;
+EOF
+
+}


Property changes on: vendor/perl/dist/t/op/print.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/protowarn.t
===================================================================
--- vendor/perl/dist/t/op/protowarn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/protowarn.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/protowarn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/push.t
===================================================================
--- vendor/perl/dist/t/op/push.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/push.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,11 @@
 #!./perl
 
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
+
 @tests = split(/\n/, <<EOF);
 0 3,			0 1 2,		3 4 5 6 7
 0 0 a b c,		,		a b c 0 1 2 3 4 5 6 7
@@ -14,14 +20,14 @@
 -4,			4 5 6 7,	0 1 2 3
 EOF
 
-print "1..", 14 + 2*@tests, "\n";
+plan tests => 16 + @tests*4;
 die "blech" unless @tests;
 
 @x = (1,2,3);
 push(@x, at x);
-if (join(':', at x) eq '1:2:3:1:2:3') {print "ok 1\n";} else {print "not ok 1\n";}
+is( join(':', at x), '1:2:3:1:2:3', 'push array onto array');
 push(@x,4);
-if (join(':', at x) eq '1:2:3:1:2:3:4') {print "ok 2\n";} else {print "not ok 2\n";}
+is( join(':', at x), '1:2:3:1:2:3:4', 'push integer onto array');
 
 # test for push/pop intuiting @ on array
 {
@@ -28,42 +34,42 @@
     no warnings 'deprecated';
     push(x,3);
 }
-if (join(':', at x) eq '1:2:3:1:2:3:4:3') {print "ok 3\n";} else {print "not ok 3\n";}
+is( join(':', at x), '1:2:3:1:2:3:4:3', 'push intuiting @ on array');
 {
     no warnings 'deprecated';
     pop(x);
 }
-if (join(':', at x) eq '1:2:3:1:2:3:4') {print "ok 4\n";} else {print "not ok 4\n";}
+is( join(':', at x), '1:2:3:1:2:3:4', 'pop intuiting @ on array');
 
 # test for push/pop on arrayref
 push(\@x,5);
-if (join(':', at x) eq '1:2:3:1:2:3:4:5') {print "ok 5\n";} else {print "not ok 5\n";}
+is( join(':', at x), '1:2:3:1:2:3:4:5', 'push arrayref');
 pop(\@x);
-if (join(':', at x) eq '1:2:3:1:2:3:4') {print "ok 6\n";} else {print "not ok 6\n";}
+is( join(':', at x), '1:2:3:1:2:3:4', 'pop arrayref');
 
 # test autovivification
 push @$undef1, 1, 2, 3;
-if (join(':',@$undef1) eq '1:2:3') {print "ok 7\n";} else {print "not ok 7\n";}
+is( join(':',@$undef1), '1:2:3', 'autovivify array');
 
 # test push on undef (error)
 eval { push $undef2, 1, 2, 3 };
-if ($@ =~ /Not an ARRAY/) {print "ok 8\n";} else {print "not ok 8\n";}
+like( $@, qr/Not an ARRAY/, 'push on undef generates an error');
 
 # test constant
 use constant CONST_ARRAYREF => [qw/a b c/];
 push CONST_ARRAYREF(), qw/d e f/;
-if (join(':',@{CONST_ARRAYREF()}) eq 'a:b:c:d:e:f') {print "ok 9\n";} else {print "not ok 9\n";}
+is( join(':',@{CONST_ARRAYREF()}), 'a:b:c:d:e:f', 'test constant');
 
 # test implicit dereference errors
 eval "push 42, 0, 1, 2, 3";
-if ( $@ && $@ =~ /must be array/ ) {print "ok 10\n"} else {print "not ok 10 # \$\@ = $@\n"}
+like ( $@, qr/must be array/, 'push onto a literal integer');
 
 $hashref = { };
 eval { push $hashref, 0, 1, 2, 3 };
-if ( $@ && $@ =~ /Not an ARRAY reference/ ) {print "ok 11\n"} else {print "not ok 11 # \$\@ = $@\n"}
+like( $@, qr/Not an ARRAY reference/, 'push onto a hashref');
 
 eval { push bless([]), 0, 1, 2, 3 };
-if ( $@ && $@ =~ /Not an unblessed ARRAY reference/ ) {print "ok 12\n"} else {print "not ok 12 # \$\@ = $@\n"}
+like( $@, qr/Not an unblessed ARRAY reference/, 'push onto a blessed array ref');
 
 $test = 13;
 
@@ -72,22 +78,12 @@
     my($first, $second) = ([1], [2]);
     sub two_things { return +($first, $second) }
     push two_things(), 3;
-    if (join(':',@$first) eq '1' &&
-        join(':',@$second) eq '2:3') {
-        print "ok ",$test++,"\n";
-    }
-    else {
-        print "not ok ",$test++," got: \$first = [ @$first ]; \$second = [ @$second ];\n";
-    }
+    is( join(':',@$first), '1', "\$first = [ @$first ];");
+    is( join(':',@$second), '2:3', "\$second = [ @$second ]");
 
     push @{ two_things() }, 4;
-    if (join(':',@$first) eq '1' &&
-        join(':',@$second) eq '2:3:4') {
-        print "ok ",$test++,"\n";
-    }
-    else {
-        print "not ok ",$test++," got: \$first = [ @$first ]; \$second = [ @$second ];\n";
-    }
+    is( join(':',@$first), '1', "\$first = [ @$first ];");
+    is( join(':',@$second), '2:3:4', "\$second = [ @$second ]");
 }
 
 foreach $line (@tests) {
@@ -105,20 +101,10 @@
 	@got = splice(@x, $pos);
 	@got2 = splice($y, $pos);
     }
-    if (join(':', at got) eq join(':', at get) &&
-	join(':', at x) eq join(':', at leave)) {
-	print "ok ",$test++,"\n";
-    }
-    else {
-	print "not ok ",$test++," got: @got == @get left: @x == @leave\n";
-    }
-    if (join(':', at got2) eq join(':', at get) &&
-	join(':',@$y) eq join(':', at leave)) {
-	print "ok ",$test++,"\n";
-    }
-    else {
-	print "not ok ",$test++," got (arrayref): @got2 == @get left: @$y == @leave\n";
-    }
+    is(join(':', at got), join(':', at get),   "got: @got == @get");
+    is(join(':', at x),   join(':', at leave), "left: @x == @leave");
+    is(join(':', at got2), join(':', at get),   "ref got: @got2 == @get");
+    is(join(':',@$y),   join(':', at leave), "ref left: @$y == @leave");
 }
 
 1;  # this file is require'd by lib/tie-stdpush.t


Property changes on: vendor/perl/dist/t/op/push.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/pwent.t
===================================================================
--- vendor/perl/dist/t/op/pwent.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/pwent.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -74,6 +74,10 @@
 	    chomp;
 	    if ($_ eq '-') {
 		if (@rec) {
+		    # Some records do not have all items. In particular,
+		    # the macports user has no real name. Here it's an undef,
+		    # in the password file it becomes an empty string.
+		    no warnings 'uninitialized';
 		    push @lines, join (':', @rec) . "\n";
 		    @rec = ();
 		}
@@ -92,6 +96,8 @@
 	    }
 	}
 	if (@rec) {
+        # see above
+        no warnings 'uninitialized';
 	    push @lines, join (':', @rec) . "\n";
 	}
 	my $data = join '', @lines;
@@ -211,7 +217,7 @@
 EOEX
     }
 
-    cmp_ok(keys %perfect, '>', 0)
+    cmp_ok(keys %perfect, '>', 0, "pwent test satisfactory")
 	or note("(not necessarily serious: run t/op/pwent.t by itself)");
 }
 
@@ -237,6 +243,7 @@
 }
 endpwent();
 
-is("@pw1", "@pw2");
+is("@pw1", "@pw2",
+    "getpwent() produced identical results in list and scalar contexts");
 
 close(PW);


Property changes on: vendor/perl/dist/t/op/pwent.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/qq.t
===================================================================
--- vendor/perl/dist/t/op/qq.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/qq.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/qq.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/qr.t
===================================================================
--- vendor/perl/dist/t/op/qr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/qr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,9 +2,12 @@
 
 use strict;
 
-require './test.pl';
+BEGIN {
+    chdir 't';
+    require './test.pl';
+}
 
-plan(tests => 18);
+plan(tests => 32);
 
 sub r {
     return qr/Good/;
@@ -11,9 +14,9 @@
 }
 
 my $a = r();
-isa_ok($a, 'Regexp');
+object_ok($a, 'Regexp');
 my $b = r();
-isa_ok($b, 'Regexp');
+object_ok($b, 'Regexp');
 
 my $b1 = $b;
 
@@ -21,9 +24,9 @@
 
 bless $b, 'Pie';
 
-isa_ok($b, 'Pie');
-isa_ok($a, 'Regexp');
-isa_ok($b1, 'Pie');
+object_ok($b, 'Pie');
+object_ok($a, 'Regexp');
+object_ok($b1, 'Pie');
 
 my $c = r();
 like("$c", qr/Good/);
@@ -43,7 +46,7 @@
 # Assignment to an implicitly blessed Regexp object retains the class
 # (No different from direct value assignment to any other blessed SV
 
-isa_ok($d, 'Regexp');
+object_ok($d, 'Regexp');
 like("$d", qr/\ARegexp=SCALAR\(0x[0-9a-f]+\)\z/);
 
 # As does an explicitly blessed Regexp object.
@@ -50,9 +53,60 @@
 
 my $e = bless qr/Faux Pie/, 'Stew';
 
-isa_ok($e, 'Stew');
+object_ok($e, 'Stew');
 $$e = 'Fake!';
 
 is($$e, 'Fake!');
-isa_ok($e, 'Stew');
+object_ok($e, 'Stew');
 like("$e", qr/\Stew=SCALAR\(0x[0-9a-f]+\)\z/);
+
+# [perl #96230] qr// should not have the reuse-last-pattern magic
+"foo" =~ /foo/;
+like "bar",qr//,'[perl #96230] =~ qr// does not reuse last successful pat';
+"foo" =~ /foo/;
+$_ = "bar";
+$_ =~ s/${qr||}/baz/;
+is $_, "bazbar", '[perl #96230] s/$qr// does not reuse last pat';
+
+{
+    my $x = 1.1; $x = ${qr//};
+    pass 'no assertion failure when upgrading NV to regexp';
+}
+
+sub TIESCALAR{bless[]}
+sub STORE { is ref\pop, "REGEXP", "stored regexp" }
+tie my $t, "";
+$t = ${qr||};
+ok tied $t, 'tied var is still tied after regexp assignment';
+
+bless \my $t2;
+$t2 = ${qr||};
+is ref \$t2, 'main', 'regexp assignment is not maledictory';
+
+{
+    my $w;
+    local $SIG{__WARN__}=sub{$w=$_[0]};
+    $_ = 1.1;
+    $_ = ${qr//};
+    is 0+$_, 0, 'double upgraded to regexp';
+    like $w, 'numeric', 'produces non-numeric warning';
+    undef $w;
+    $_ = 1;
+    $_ = ${qr//};
+    is 0+$_, 0, 'int upgraded to regexp';
+    like $w, 'numeric', 'likewise produces non-numeric warning';
+}
+
+sub {
+    $_[0] = ${qr=crumpets=};
+    is ref\$_[0], 'REGEXP', 'PVLVs';
+    # Don’t use like() here, as we would no longer be testing a PVLV.
+    ok " crumpets " =~ $_[0], 'using a regexpvlv as regexp';
+    my $x = $_[0];
+    is ref\$x, 'REGEXP', 'copying a regexpvlv';
+    $_[0] = ${qr//};
+    my $str = "".qr//;
+    $_[0] .= " ";
+    is $_[0], "$str ", 'stringifying regexpvlv in place';
+}
+ ->((\my%hash)->{key});


Property changes on: vendor/perl/dist/t/op/qr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/qr_gc.t
===================================================================
--- vendor/perl/dist/t/op/qr_gc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/qr_gc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/qr_gc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/qrstack.t
===================================================================
--- vendor/perl/dist/t/op/qrstack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/qrstack.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/qrstack.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/quotemeta.t
===================================================================
--- vendor/perl/dist/t/op/quotemeta.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/quotemeta.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
     require "test.pl";
 }
 
-plan tests => 22;
+plan tests => 60;
 
 if ($Config{ebcdic} eq 'define') {
     $_ = join "", map chr($_), 129..233;
@@ -44,9 +44,102 @@
 is("\U\lPerl\E\E\E\E", "pERL", '\U\lPerl\E\E\E\E');
 is("\l\UPerl\E\E\E\E", "pERL", '\l\UPerl\E\E\E\E');
 
-is(quotemeta("\x{263a}"), "\x{263a}", "quotemeta Unicode");
-is(length(quotemeta("\x{263a}")), 1, "quotemeta Unicode length");
+is(quotemeta("\x{263a}"), "\\\x{263a}", "quotemeta Unicode quoted");
+is(length(quotemeta("\x{263a}")), 2, "quotemeta Unicode quoted length");
+is(quotemeta("\x{100}"), "\x{100}", "quotemeta Unicode nonquoted");
+is(length(quotemeta("\x{100}")), 1, "quotemeta Unicode nonquoted length");
 
+my $char = ":";
+utf8::upgrade($char);
+is(quotemeta($char), "\\$char", "quotemeta '$char' in UTF-8");
+is(length(quotemeta($char)), 2, "quotemeta '$char'  in UTF-8 length");
+
+$char = "M";
+utf8::upgrade($char);
+is(quotemeta($char), "$char", "quotemeta '$char' in UTF-8");
+is(length(quotemeta($char)), 1, "quotemeta '$char'  in UTF-8 length");
+
+my $char = "\N{U+D7}";
+utf8::upgrade($char);
+is(quotemeta($char), "\\$char", "quotemeta '\\N{U+D7}' in UTF-8");
+is(length(quotemeta($char)), 2, "quotemeta '\\N{U+D7}'  in UTF-8 length");
+
+$char = "\N{U+D8}";
+utf8::upgrade($char);
+is(quotemeta($char), "$char", "quotemeta '\\N{U+D8}' in UTF-8");
+is(length(quotemeta($char)), 1, "quotemeta '\\N{U+D8}'  in UTF-8 length");
+
+{
+    no feature 'unicode_strings';
+    is(quotemeta("\x{d7}"), "\\\x{d7}", "quotemeta Latin1 no unicode_strings quoted");
+    is(length(quotemeta("\x{d7}")), 2, "quotemeta Latin1 no unicode_strings quoted length");
+    is(quotemeta("\x{d8}"), "\\\x{d8}", "quotemeta Latin1 no unicode_strings quoted");
+    is(length(quotemeta("\x{d8}")), 2, "quotemeta Latin1 no unicode_strings quoted length");
+
+  SKIP: {
+    skip 'No locale testing without d_setlocale', 8 if(!$Config{d_setlocale});
+    require locale; import locale;
+
+    my $char = ":";
+    is(quotemeta($char), "\\$char", "quotemeta '$char' locale");
+    is(length(quotemeta($char)), 2, "quotemeta '$char' locale");
+
+    $char = "M";
+    utf8::upgrade($char);
+    is(quotemeta($char), "$char", "quotemeta '$char' locale");
+    is(length(quotemeta($char)), 1, "quotemeta '$char' locale");
+
+    my $char = "\x{D7}";
+    is(quotemeta($char), "\\$char", "quotemeta '\\x{D7}' locale");
+    is(length(quotemeta($char)), 2, "quotemeta '\\x{D7}' locale length");
+
+    $char = "\x{D8}";  # Every non-ASCII Latin1 is quoted in locale.
+    is(quotemeta($char), "\\$char", "quotemeta '\\x{D8}' locale");
+    is(length(quotemeta($char)), 2, "quotemeta '\\x{D8}' locale length");
+    }
+}
+{
+    use feature 'unicode_strings';
+    is(quotemeta("\x{d7}"), "\\\x{d7}", "quotemeta Latin1 unicode_strings quoted");
+    is(length(quotemeta("\x{d7}")), 2, "quotemeta Latin1 unicode_strings quoted length");
+    is(quotemeta("\x{d8}"), "\x{d8}", "quotemeta Latin1 unicode_strings nonquoted");
+    is(length(quotemeta("\x{d8}")), 1, "quotemeta Latin1 unicode_strings nonquoted length");
+
+  SKIP: {
+    skip 'No locale testing without d_setlocale', 12 if(!$Config{d_setlocale});
+    BEGIN {
+        if($Config{d_setlocale}) {
+            require locale; import locale;
+        }
+    }
+
+    my $char = ":";
+    utf8::upgrade($char);
+    is(quotemeta($char), "\\$char", "quotemeta '$char' locale in UTF-8");
+    is(length(quotemeta($char)), 2, "quotemeta '$char' locale  in UTF-8 length");
+
+    $char = "M";
+    utf8::upgrade($char);
+    is(quotemeta($char), "$char", "quotemeta '$char' locale in UTF-8");
+    is(length(quotemeta($char)), 1, "quotemeta '$char' locale in UTF-8 length");
+
+    my $char = "\N{U+D7}";
+    utf8::upgrade($char);
+    is(quotemeta($char), "\\$char", "quotemeta '\\N{U+D7}' locale in UTF-8");
+    is(length(quotemeta($char)), 2, "quotemeta '\\N{U+D7}' locale in UTF-8 length");
+
+    $char = "\N{U+D8}";  # Every non-ASCII Latin1 is quoted in locale.
+    utf8::upgrade($char);
+    is(quotemeta($char), "\\$char", "quotemeta '\\N{U+D8}' locale in UTF-8");
+    is(length(quotemeta($char)), 2, "quotemeta '\\N{U+D8}' locale in UTF-8 length");
+
+    is(quotemeta("\x{263a}"), "\\\x{263a}", "quotemeta locale Unicode quoted");
+    is(length(quotemeta("\x{263a}")), 2, "quotemeta locale Unicode quoted length");
+    is(quotemeta("\x{100}"), "\x{100}", "quotemeta locale Unicode nonquoted");
+    is(length(quotemeta("\x{100}")), 1, "quotemeta locale Unicode nonquoted length");
+  }
+}
+
 $a = "foo|bar";
 is("a\Q\Ec$a", "acfoo|bar", '\Q\E');
 is("a\L\Ec$a", "acfoo|bar", '\L\E');


Property changes on: vendor/perl/dist/t/op/quotemeta.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/rand.t
===================================================================
--- vendor/perl/dist/t/op/rand.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/rand.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/rand.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/range.t
===================================================================
--- vendor/perl/dist/t/op/range.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/range.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -355,28 +355,19 @@
 @foo = 4 .. $x;
 is(scalar @foo, 3);
 is("@foo", "4 5 6");
-{
-  local $TODO = "test for double magic with range operator";
-  is(fetches($x), 1);
-}
+is(fetches($x), 1);
 is(stores($x), 0);
 
 @foo = $x .. 8;
 is(scalar @foo, 3);
 is("@foo", "6 7 8");
-{
-  local $TODO = "test for double magic with range operator";
-  is(fetches($x), 1);
-}
+is(fetches($x), 1);
 is(stores($x), 0);
 
 @foo = $x .. $x + 1;
 is(scalar @foo, 2);
 is("@foo", "6 7");
-{
-  local $TODO = "test for double magic with range operator";
-  is(fetches($x), 2);
-}
+is(fetches($x), 2);
 is(stores($x), 0);
 
 @foo = ();
@@ -385,10 +376,7 @@
 }
 is(scalar @foo, 3);
 is("@foo", "4 5 6");
-{
-  local $TODO = "test for double magic with range operator";
-  is(fetches($x), 1);
-}
+is(fetches($x), 1);
 is(stores($x), 0);
 
 @foo = ();
@@ -397,10 +385,7 @@
 }
 is(scalar @foo, 3);
 is("@foo", "6 5 4");
-{
-  local $TODO = "test for double magic with range operator";
-  is(fetches($x), 1);
-}
+is(fetches($x), 1);
 is(stores($x), 0);
 
 is( ( join ' ', map { join '', map ++$_, ($x=1)..4 } 1..2 ), '2345 2345',


Property changes on: vendor/perl/dist/t/op/range.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/re.t
===================================================================
--- vendor/perl/dist/t/op/re.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/re.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/re.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/re_tests
===================================================================
--- vendor/perl/dist/t/op/re_tests	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/re_tests	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/re_tests
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/read.t
===================================================================
--- vendor/perl/dist/t/op/read.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/read.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/read.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/readdir.t
===================================================================
--- vendor/perl/dist/t/op/readdir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/readdir.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -59,9 +59,12 @@
 
 # See that perl does not segfault upon readdir($x="."); 
 # http://rt.perl.org/rt3/Ticket/Display.html?id=68182
-fresh_perl_like(<<'EOP', qr/^Bad symbol for dirhandle at -/, {}, 'RT #68182');
+fresh_perl_like(<<'EOP', qr/^no crash/, {}, 'RT #68182');
+  eval {
     my $x = ".";
     my @files = readdir($x);
+  };
+  print "no crash";
 EOP
 
 done_testing();


Property changes on: vendor/perl/dist/t/op/readdir.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/readline.t
===================================================================
--- vendor/perl/dist/t/op/readline.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/readline.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan tests => 25;
+plan tests => 30;
 
 # [perl #19566]: sv_gets writes directly to its argument via
 # TARG. Test that we respect SvREADONLY.
@@ -245,6 +245,30 @@
 is( $one, "A: One\n", "rcatline works with tied scalars" );
 is( $two, "B: Two\n", "rcatline works with tied scalars" );
 
+# mentioned in bug #97482
+# <$foo> versus readline($foo) should not affect vivification.
+my $yunk = "brumbo";
+if (exists $::{$yunk}) {
+     die "Name $yunk already used. Please adjust this test."
+}
+<$yunk>;
+ok !defined *$yunk, '<> does not autovivify';
+readline($yunk);
+ok !defined *$yunk, "readline does not autovivify";
+
+# [perl #97988] PL_last_in_gv could end up pointing to junk.
+#               Now glob copies set PL_last_in_gv to null when unglobbed.
+open *foom,'test.pl';
+my %f;
+$f{g} = *foom;
+readline $f{g};
+$f{g} = 3; # PL_last_in_gv should be cleared now
+is tell, -1, 'tell returns -1 after last gv is unglobbed';
+$f{g} = *foom; # since PL_last_in_gv is null, this should have no effect
+is tell, -1, 'unglobbery of last gv nullifies PL_last_in_gv';
+readline *{$f{g}};
+is tell, tell *foom, 'readline *$glob_copy sets PL_last_in_gv';
+
 __DATA__
 moo
 moo


Property changes on: vendor/perl/dist/t/op/readline.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/recurse.t
===================================================================
--- vendor/perl/dist/t/op/recurse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/recurse.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/recurse.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/ref.t
===================================================================
--- vendor/perl/dist/t/op/ref.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/ref.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,7 @@
 
 use strict qw(refs subs);
 
-plan(217);
+plan(230);
 
 # Test glob operations.
 
@@ -119,6 +119,7 @@
     &$subref;
     is ($called, 1);
 }
+is ref eval {\&{""}}, "CODE", 'reference to &{""} [perl #94476]';
 
 # Test references to return values of operators (TARGs/PADTMPs)
 {
@@ -174,7 +175,6 @@
 #   tied lvalue => SCALAR, as we haven't tested tie yet
 #   BIND, 'cos we can't create them yet
 #   REGEXP, 'cos that requires overload or Scalar::Util
-#   LVALUE ref, 'cos I can't work out how to create one :)
 
 for (
     [ 'undef',          SCALAR  => \undef               ],
@@ -186,9 +186,13 @@
     [ 'PVNV',           SCALAR  => \$pvnv               ],
     [ 'PVMG',           SCALAR  => \$0                  ],
     [ 'PVBM',           SCALAR  => \PVBM                ],
+    [ 'scalar @array',  SCALAR  => \scalar @array       ],
+    [ 'scalar %hash',   SCALAR  => \scalar %hash        ],
     [ 'vstring',        VSTRING => \v1                  ],
     [ 'ref',            REF     => \\1                  ],
-    [ 'lvalue',         LVALUE  => \substr($x, 0, 0)    ],
+    [ 'substr lvalue',  LVALUE  => \substr($x, 0, 0)    ],
+    [ 'pos lvalue',     LVALUE  => \pos                 ],
+    [ 'vec lvalue',     LVALUE  => \vec($x,0,1)         ],     
     [ 'named array',    ARRAY   => \@ary                ],
     [ 'anon array',     ARRAY   => [ 1 ]                ],
     [ 'named hash',     HASH    => \%whatever           ],
@@ -207,6 +211,15 @@
 like (*STDOUT{IO}, qr/^IO::File=IO\(0x[0-9a-f]+\)$/,
     'stringify for IO refs');
 
+{ # Test re-use of ref's TARG [perl #101738]
+  my $obj = bless [], '____';
+  my $uniobj = bless [], chr 256;
+  my $get_ref = sub { ref shift };
+  my $dummy = &$get_ref($uniobj);
+     $dummy = &$get_ref($obj);
+  ok exists { ____ => undef }->{$dummy}, 'ref sets UTF8 flag correctly';
+}
+
 # Test anonymous hash syntax.
 
 $anonhash = {};
@@ -380,7 +393,6 @@
 # test that DESTROY is called on all objects during global destruction,
 # even those without hard references [perl #36347]
 
-$TODO = 'bug #36347';
 is(
   runperl(
    stderr => 1, prog => 'sub DESTROY { print qq-aaa\n- } bless \$a[0]'
@@ -395,8 +407,15 @@
  "aaa\n",
  'DESTROY called on closure variable'
 );
-$TODO = undef;
 
+# But cursing objects must not result in double frees
+# This caused "Attempt to free unreferenced scalar" in 5.16.
+fresh_perl_is(
+  'bless \%foo::, bar::; bless \%bar::, foo::; print "ok\n"', "ok\n",
+   { stderr => 1 },
+  'no double free when stashes are blessed into each other');
+
+
 # test if refgen behaves with autoviv magic
 {
     my @a;
@@ -478,7 +497,7 @@
           ), qr/^(ok)+$/, 'STDOUT destructor');
 }
 
-TODO: {
+{
     no strict 'refs';
     $name8 = chr 163;
     $name_utf8 = $name8 . chr 256;
@@ -488,11 +507,10 @@
     is ($$name_utf8, undef, 'Nothing before we start');
     $$name8 = "Pound";
     is ($$name8, "Pound", 'Accessing via 8 bit symref works');
-    local $TODO = "UTF8 mangled in symrefs";
     is ($$name_utf8, "Pound", 'Accessing via UTF8 symref works');
 }
 
-TODO: {
+{
     no strict 'refs';
     $name_utf8 = $name = chr 9787;
     utf8::encode $name_utf8;
@@ -504,7 +522,6 @@
     is ($$name_utf8, undef, 'Nothing before we start');
     $$name = "Face";
     is ($$name, "Face", 'Accessing via Unicode symref works');
-    local $TODO = "UTF8 mangled in symrefs";
     is ($$name_utf8, undef,
 	'Accessing via the UTF8 byte sequence gives nothing');
 }
@@ -747,6 +764,29 @@
 
 }
 
+SKIP:{
+    skip_if_miniperl "no Scalar::Util on miniperl", 1;
+    my $error;
+    *hassgropper::DESTROY = sub {
+        require Scalar::Util;
+        eval { Scalar::Util::weaken($_[0]) };
+        $error = $@;
+        # This line caused a crash before weaken refused to weaken a
+        # read-only reference:
+        $do::not::overwrite::this = $_[0];
+    };
+    my $xs = bless [], "hassgropper";
+    undef $xs;
+    like $error, qr/^Modification of a read-only/,
+       'weaken refuses to weaken a read-only ref';
+    # Now that the test has passed, avoid sabotaging global destruction:
+    undef *hassgropper::DESTROY;
+    undef $do::not::overwrite::this;
+}
+
+
+is ref( bless {}, "nul\0clean" ), "nul\0clean", "ref() is nul-clean";
+
 # Bit of a hack to make test.pl happy. There are 3 more tests after it leaves.
 $test = curr_test();
 curr_test($test + 3);


Property changes on: vendor/perl/dist/t/op/ref.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_email.t
===================================================================
--- vendor/perl/dist/t/op/reg_email.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_email.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_email.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_email_thr.t
===================================================================
--- vendor/perl/dist/t/op/reg_email_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_email_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_email_thr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_fold.t
===================================================================
--- vendor/perl/dist/t/op/reg_fold.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_fold.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_fold.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_mesg.t
===================================================================
--- vendor/perl/dist/t/op/reg_mesg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_mesg.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_mesg.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_namedcapture.t
===================================================================
--- vendor/perl/dist/t/op/reg_namedcapture.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_namedcapture.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_namedcapture.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_nc_tie.t
===================================================================
--- vendor/perl/dist/t/op/reg_nc_tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_nc_tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_nc_tie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_pmod.t
===================================================================
--- vendor/perl/dist/t/op/reg_pmod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_pmod.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_pmod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_posixcc.t
===================================================================
--- vendor/perl/dist/t/op/reg_posixcc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_posixcc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_posixcc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/reg_unsafe.t
===================================================================
--- vendor/perl/dist/t/op/reg_unsafe.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reg_unsafe.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/reg_unsafe.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp.t
===================================================================
--- vendor/perl/dist/t/op/regexp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp_noamp.t
===================================================================
--- vendor/perl/dist/t/op/regexp_noamp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp_noamp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp_noamp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp_notrie.t
===================================================================
--- vendor/perl/dist/t/op/regexp_notrie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp_notrie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp_notrie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp_qr.t
===================================================================
--- vendor/perl/dist/t/op/regexp_qr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp_qr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp_qr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp_qr_embed.t
===================================================================
--- vendor/perl/dist/t/op/regexp_qr_embed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp_qr_embed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp_qr_embed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp_qr_embed_thr.t
===================================================================
--- vendor/perl/dist/t/op/regexp_qr_embed_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp_qr_embed_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp_qr_embed_thr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp_trielist.t
===================================================================
--- vendor/perl/dist/t/op/regexp_trielist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp_trielist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp_trielist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp_unicode_prop.t
===================================================================
--- vendor/perl/dist/t/op/regexp_unicode_prop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp_unicode_prop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp_unicode_prop.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/regexp_unicode_prop_thr.t
===================================================================
--- vendor/perl/dist/t/op/regexp_unicode_prop_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/regexp_unicode_prop_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/regexp_unicode_prop_thr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/repeat.t
===================================================================
--- vendor/perl/dist/t/op/repeat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/repeat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/repeat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/require_errors.t
===================================================================
--- vendor/perl/dist/t/op/require_errors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/require_errors.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,21 +3,33 @@
 use warnings;
 
 BEGIN {
+    chdir 't';
     require './test.pl';
 }
 
-plan(tests => 3);
+plan(tests => 11);
 
 my $nonfile = tempfile();
 
 @INC = qw(Perl Rules);
 
-eval {
-    require $nonfile;
-};
+# The tests for ' ' and '.h' never did fail, but previously the error reporting
+# code would read memory before the start of the SV's buffer
 
-like $@, qr/^Can't locate $nonfile in \@INC \(\@INC contains: @INC\) at/;
+for my $file ($nonfile, ' ') {
+    eval {
+	require $file;
+    };
 
+    like $@, qr/^Can't locate $file in \@INC \(\@INC contains: @INC\) at/,
+	"correct error message for require '$file'";
+}
+
+eval "require $nonfile";
+
+like $@, qr/^Can't locate $nonfile\.pm in \@INC \(you may need to install the $nonfile module\) \(\@INC contains: @INC\) at/,
+    "correct error message for require $nonfile";
+
 eval {
     require "$nonfile.ph";
 };
@@ -24,12 +36,78 @@
 
 like $@, qr/^Can't locate $nonfile\.ph in \@INC \(did you run h2ph\?\) \(\@INC contains: @INC\) at/;
 
-eval {
-    require "$nonfile.h";
-};
+for my $file ("$nonfile.h", ".h") {
+    eval {
+	require $file
+    };
 
-like $@, qr/^Can't locate $nonfile\.h in \@INC \(change \.h to \.ph maybe\?\) \(did you run h2ph\?\) \(\@INC contains: @INC\) at/;
+    like $@, qr/^Can't locate \Q$file\E in \@INC \(change \.h to \.ph maybe\?\) \(did you run h2ph\?\) \(\@INC contains: @INC\) at/,
+	"correct error message for require '$file'";
+}
 
+for my $file ("$nonfile.ph", ".ph") {
+    eval {
+	require $file
+    };
+
+    like $@, qr/^Can't locate \Q$file\E in \@INC \(did you run h2ph\?\) \(\@INC contains: @INC\) at/,
+	"correct error message for require '$file'";
+}
+
+eval 'require <foom>';
+like $@, qr/^<> should be quotes at /, 'require <> error';
+
+my $module   = tempfile();
+my $mod_file = "$module.pm";
+
+open my $module_fh, ">", $mod_file or die $!;
+print { $module_fh } "print 1; 1;\n";
+close $module_fh;
+
+chmod 0333, $mod_file;
+
+SKIP: {
+    skip_if_miniperl("these modules may not be available to miniperl", 2);
+
+    push @INC, '../lib';
+    require Cwd;
+    require File::Spec::Functions;
+    if ($^O eq 'cygwin') {
+        require Win32;
+    }
+
+    # Going to try to switch away from root.  Might not work.
+    # (stolen from t/op/stat.t)
+    my $olduid = $>;
+    eval { $> = 1; };
+    skip "Can't test permissions meaningfully if you're superuser", 2
+        if ($^O eq 'cygwin' ? Win32::IsAdminUser() : $> == 0);
+
+    local @INC = ".";
+    eval "use $module";
+    like $@,
+        qr<^\QCan't locate $mod_file:>,
+        "special error message if the file exists but can't be opened";
+
+    SKIP: {
+        skip "Can't make the path absolute", 1
+            if !defined(Cwd::getcwd());
+
+        my $file = File::Spec::Functions::catfile(Cwd::getcwd(), $mod_file);
+        eval {
+            require($file);
+        };
+        like $@,
+            qr<^\QCan't locate $file:>,
+            "...even if we use a full path";
+    }
+
+    # switch uid back (may not be implemented)
+    eval { $> = $olduid; };
+}
+
+1 while unlink $mod_file;
+
 # I can't see how to test the EMFILE case
 # I can't see how to test the case of not displaying @INC in the message.
 # (and does that only happen on VMS?)


Property changes on: vendor/perl/dist/t/op/require_errors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/reset.t
===================================================================
--- vendor/perl/dist/t/op/reset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reset.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,8 +7,7 @@
 }
 use strict;
 
-# Currently only testing the reset of patterns.
-plan tests => 24;
+plan tests => 30;
 
 package aiieee;
 
@@ -62,7 +61,66 @@
 is(CLINK::ZZIP("ZZIP"), 1, "match matches after reset");
 is(CLINK::ZZIP(""), 0, "mismatch doesn't match");
 
+sub match_foo{
+    "foo" =~ m?foo?;
+}
+match_foo();
+reset "";
+ok !match_foo(), 'reset "" leaves patterns alone [perl #97958]';
 
+$scratch::a = "foo";
+$scratch::a2 = "bar";
+$scratch::b   = "baz";
+package scratch { reset "a" }
+is join("-", $scratch::a//'u', $scratch::a2//'u', $scratch::b//'u'),
+   "u-u-baz",
+   'reset "char"';
+
+$scratch::a = "foo";
+$scratch::a2 = "bar";
+$scratch::b   = "baz";
+$scratch::c    = "sea";
+package scratch { reset "bc" }
+is join("-", $scratch::a//'u', $scratch::a2//'u', $scratch::b//'u',
+             $scratch::c//'u'),
+   "foo-bar-u-u",
+   'reset "chars"';
+
+$scratch::a = "foo";
+$scratch::a2 = "bar";
+$scratch::b   = "baz";
+$scratch::c    = "sea";
+package scratch { reset "a-b" }
+is join("-", $scratch::a//'u', $scratch::a2//'u', $scratch::b//'u',
+             $scratch::c//'u'),
+   "u-u-u-sea",
+   'reset "range"';
+
+{ no strict; ${"scratch::\0foo"} = "bar" }
+$scratch::a = "foo";
+package scratch { reset "\0a" }
+is join("-", $scratch::a//'u', do { no strict; ${"scratch::\0foo"} }//'u'),
+   "u-u",
+   'reset "\0char"';
+
+# This used to crash under threaded builds, because pmops were remembering
+# their stashes by name, rather than by pointer.
+fresh_perl_is( # it crashes more reliably with a smaller script
+  'package bar;
+   sub foo {
+     m??;
+     BEGIN { *baz:: = *bar::; *bar:: = *foo:: }
+     # The name "bar" no langer refers to the same package
+   }
+   undef &foo; # so freeing the op does not remove it from the stash’s list
+   $_ = "";
+   push @_, ($_) x 10000;  # and its memory is scribbled over
+   reset;  # so reset on the original package tries to reset an invalid op
+   print "ok\n";',
+  "ok\n", {},
+  "no crash if package is effectively renamed before op is freed");
+
+
 undef $/;
 my $prog = <DATA>;
 
@@ -98,7 +156,7 @@
 use threads::shared;
 
 sub wipe {
-    eval 'no warnings; sub b {}';
+    eval 'no warnings; sub b {}; 1' or die $@;
 }
 
 sub lock_then_wipe {


Property changes on: vendor/perl/dist/t/op/reset.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/reverse.t
===================================================================
--- vendor/perl/dist/t/op/reverse.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/reverse.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,46 +8,46 @@
 
 plan tests => 26;
 
-is(reverse("abc"), "cba");
+is(reverse("abc"), "cba", 'simple reverse');
 
 $_ = "foobar";
-is(reverse(), "raboof");
+is(reverse(), "raboof", 'reverse of the default variable');
 
 {
     my @a = ("foo", "bar");
     my @b = reverse @a;
 
-    is($b[0], $a[1]);
-    is($b[1], $a[0]);
+    is($b[0], $a[1], 'array reversal moved second element to first');
+    is($b[1], $a[0], 'array reversal moved first element to second');
 }
 
 {
     my @a = (1, 2, 3, 4);
     @a = reverse @a;
-    is("@a", "4 3 2 1");
+    is("@a", "4 3 2 1", 'four element array reversed');
 
     delete $a[1];
     @a = reverse @a;
-    ok(!exists $a[2]);
-    is($a[0] . $a[1] . $a[3], '124');
+    ok(!exists $a[2], 'array reversed with deleted second element');
+    is($a[0] . $a[1] . $a[3], '124', 'remaining elements ok after delete and reverse');
 
     @a = (5, 6, 7, 8, 9);
     @a = reverse @a;
-    is("@a", "9 8 7 6 5");
+    is("@a", "9 8 7 6 5", 'five element array reversed');
 
     delete $a[3];
     @a = reverse @a;
-    ok(!exists $a[1]);
-    is($a[0] . $a[2] . $a[3] . $a[4], '5789');
+    ok(!exists $a[1], 'five element array reversed with deleted fourth element');
+    is($a[0] . $a[2] . $a[3] . $a[4], '5789', 'remaining elements ok after delete and reverse');
 
     delete $a[2];
     @a = reverse @a;
-    ok(!exists $a[2] && !exists $a[3]);
-    is($a[0] . $a[1] . $a[4], '985');
+    ok(!exists $a[2] && !exists $a[3], 'test position of two deleted elements after reversal');
+    is($a[0] . $a[1] . $a[4], '985', 'check value of remaining elements');
 
     my @empty;
     @empty = reverse @empty;
-    is("@empty", "");
+    is("@empty", "", 'reversed empty array is still empty');
 }
 
 use Tie::Array;
@@ -57,30 +57,30 @@
 
     @a = (1, 2, 3, 4);
     @a = reverse @a;
-    is("@a", "4 3 2 1");
+    is("@a", "4 3 2 1", 'tie array reversal');
 
     delete $a[1];
     @a = reverse @a;
-    ok(!exists $a[2]);
-    is($a[0] . $a[1] . $a[3], '124');
+    ok(!exists $a[2], 'deleted element position ok after reversal of tie array');
+    is($a[0] . $a[1] . $a[3], '124', 'remaining elements ok after delete and reversal for tie array');
 
     @a = (5, 6, 7, 8, 9);
     @a = reverse @a;
-    is("@a", "9 8 7 6 5");
+    is("@a", "9 8 7 6 5", 'five element tie array reversal');
 
     delete $a[3];
     @a = reverse @a;
-    ok(!exists $a[1]);
-    is($a[0] . $a[2] . $a[3] . $a[4], '5789');
+    ok(!exists $a[1], 'deleted element position ok after tie array reversal');
+    is($a[0] . $a[2] . $a[3] . $a[4], '5789', 'remaining elements ok after tie array delete and reversal');
 
     delete $a[2];
     @a = reverse @a;
-    ok(!exists $a[2] && !exists $a[3]);
-    is($a[0] . $a[1] . $a[4], '985');
+    ok(!exists $a[2] && !exists $a[3], 'two deleted element positions ok after tie array reversal');
+    is($a[0] . $a[1] . $a[4], '985', 'remaining elements ok after two deletes and reversals');
 
     tie my @empty, "Tie::StdArray";
     @empty = reverse @empty;
-    is(scalar(@empty), 0);
+    is(scalar(@empty), 0, 'reversed tie array still empty after reversal');
 }
 
 {
@@ -89,17 +89,18 @@
     my $a = "\x{263A}\x{263A}x\x{263A}y\x{263A}";
     my $b = scalar reverse($a);
     my $c = scalar reverse($b);
-    is($a, $c);
+    is($a, $c, 'Unicode string double reversal matches original');
 }
 
 {
     # Lexical $_.
+    no warnings 'experimental::lexical_topic';
     sub blurp { my $_ = shift; reverse }
 
-    is(blurp("foo"), "oof");
-    is(sub { my $_ = shift; reverse }->("bar"), "rab");
+    is(blurp("foo"), "oof", 'reversal of default variable in function');
+    is(sub { my $_ = shift; reverse }->("bar"), "rab", 'reversal of default variable in anonymous function');
     {
         local $_ = "XXX";
-        is(blurp("paz"), "zap");
+        is(blurp("paz"), "zap", 'reversal of default variable with local value set' );
     }
 }


Property changes on: vendor/perl/dist/t/op/reverse.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/runlevel.t
===================================================================
--- vendor/perl/dist/t/op/runlevel.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/runlevel.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/runlevel.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/rxcode.t
===================================================================
--- vendor/perl/dist/t/op/rxcode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/rxcode.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/rxcode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/setpgrpstack.t
===================================================================
--- vendor/perl/dist/t/op/setpgrpstack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/setpgrpstack.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,13 +4,12 @@
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
+    skip_all_without_config('d_setpgrp');
 }
 
-use Config;
-plan tests => 2;
+plan tests => 3;
 
-SKIP: {
-    skip "setpgrp() is not available", 2 unless $Config{d_setpgrp};
-    ok(!eval { package A;sub foo { die("got here") }; package main; A->foo(setpgrp())});
-    ok($@ =~ /got here/, "setpgrp() should extend the stack before modifying it");
-}
+ok(!eval { package A;sub foo { die("got here") }; package main; A->foo(setpgrp())});
+ok($@ =~ /got here/, "setpgrp() should extend the stack before modifying it");
+
+is join("_", setpgrp(0)), 1, 'setpgrp with one argument';


Property changes on: vendor/perl/dist/t/op/setpgrpstack.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/sigdispatch.t
===================================================================
--- vendor/perl/dist/t/op/sigdispatch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sigdispatch.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,8 @@
 use strict;
 use Config;
 
-plan tests => 17;
+plan tests => 29;
+$| = 1;
 
 watchdog(15);
 
@@ -39,26 +40,35 @@
 is($@, "Alarm!\n", 'after the second loop');
 
 SKIP: {
-    skip('We can\'t test blocking without sigprocmask', 11)
+    skip('We can\'t test blocking without sigprocmask', 17)
 	if is_miniperl() || !$Config{d_sigprocmask};
-    skip('This doesn\'t work on OpenBSD threaded builds RT#88814', 11)
-        if $^O eq 'openbsd' && $Config{useithreads};
+    skip('This doesn\'t work on $^O threaded builds RT#88814', 17)
+        if $^O =~ /openbsd|cygwin/ && $Config{useithreads};
 
     require POSIX;
+    my $pending = POSIX::SigSet->new();
+    is POSIX::sigpending($pending), '0 but true', 'sigpending';
+    is $pending->ismember(&POSIX::SIGUSR1), 0, 'SIGUSR1 is not pending';
     my $new = POSIX::SigSet->new(&POSIX::SIGUSR1);
     POSIX::sigprocmask(&POSIX::SIG_BLOCK, $new);
     
     my $gotit = 0;
     $SIG{USR1} = sub { $gotit++ };
-    kill SIGUSR1, $$;
+    kill 'SIGUSR1', $$;
     is $gotit, 0, 'Haven\'t received third signal yet';
+
+    diag "2nd sigpending crashes on cygwin" if $^O eq 'cygwin';
+    is POSIX::sigpending($pending), '0 but true', 'sigpending';
+    is $pending->ismember(&POSIX::SIGUSR1), 1, 'SIGUSR1 is pending';
     
     my $old = POSIX::SigSet->new();
     POSIX::sigsuspend($old);
     is $gotit, 1, 'Received third signal';
+    is POSIX::sigpending($pending), '0 but true', 'sigpending';
+    is $pending->ismember(&POSIX::SIGUSR1), 0, 'SIGUSR1 is no longer pending';
     
 	{
-		kill SIGUSR1, $$;
+		kill 'SIGUSR1', $$;
 		local $SIG{USR1} = sub { die "FAIL\n" };
 		POSIX::sigprocmask(&POSIX::SIG_BLOCK, undef, $old);
 		ok $old->ismember(&POSIX::SIGUSR1), 'SIGUSR1 is blocked';
@@ -72,32 +82,37 @@
 	    }
 	}
 
-TODO:
-    {
-	local $::TODO = "Needs investigation" if $^O eq 'VMS';
-	kill SIGUSR1, $$;
-	is $gotit, 1, 'Haven\'t received fifth signal yet';
-	POSIX::sigprocmask(&POSIX::SIG_UNBLOCK, $new, $old);
-	ok $old->ismember(&POSIX::SIGUSR1), 'SIGUSR1 was still blocked';
-    }
+    POSIX::sigprocmask(&POSIX::SIG_BLOCK, $new);
+    kill 'SIGUSR1', $$;
+    is $gotit, 1, 'Haven\'t received fifth signal yet';
+    POSIX::sigprocmask(&POSIX::SIG_UNBLOCK, $new, $old);
+    ok $old->ismember(&POSIX::SIGUSR1), 'SIGUSR1 was still blocked';
     is $gotit, 2, 'Received fifth signal';
 
     # test unsafe signal handlers in combination with exceptions
-    my $action = POSIX::SigAction->new(sub { $gotit--, die }, POSIX::SigSet->new, 0);
-    POSIX::sigaction(&POSIX::SIGALRM, $action);
-    eval {
-        alarm 1;
-        my $set = POSIX::SigSet->new;
-        POSIX::sigprocmask(&POSIX::SIG_BLOCK, undef, $set);
-        is $set->ismember(&POSIX::SIGALRM), 0, "SIGALRM is not blocked on attempt $_";
-        POSIX::sigsuspend($set);
-    } for 1..2;
-    is $gotit, 0, 'Received both signals';
+
+    SKIP: {
+	# #89718: on old linux kernels, this test hangs. No-ones thought
+	# of a reliable way to probe for this, so for now, just skip the
+	# tests on production releases
+	skip("some OSes hang here", 3) if (int($]*1000) & 1) == 0;
+
+	my $action = POSIX::SigAction->new(sub { $gotit--, die }, POSIX::SigSet->new, 0);
+	POSIX::sigaction(&POSIX::SIGALRM, $action);
+	eval {
+	    alarm 1;
+	    my $set = POSIX::SigSet->new;
+	    POSIX::sigprocmask(&POSIX::SIG_BLOCK, undef, $set);
+	    is $set->ismember(&POSIX::SIGALRM), 0, "SIGALRM is not blocked on attempt $_";
+	    POSIX::sigsuspend($set);
+	} for 1..2;
+	is $gotit, 0, 'Received both signals';
+    }
 }
 
 SKIP: {
     skip("alarm cannot interrupt blocking system calls on $^O", 2)
-	if ($^O eq 'MSWin32' || $^O eq 'VMS');
+	if $^O =~ /MSWin32|cygwin|VMS/;
     # RT #88774
     # make sure the signal handler's called in an eval block *before*
     # the eval is popped
@@ -118,3 +133,31 @@
     alarm(0);
     is($@, "HANDLER CALLED\n", 'string eval');
 }
+
+eval { $SIG{"__WARN__\0"} = sub { 1 } };
+like $@, qr/No such hook: __WARN__\\0 at/, q!Fetching %SIG hooks with an extra trailing nul is nul-clean!;
+
+eval { $SIG{"__DIE__\0whoops"} = sub { 1 } };
+like $@, qr/No such hook: __DIE__\\0whoops at/;
+
+{
+    use warnings;
+    my $w;
+    local $SIG{__WARN__} = sub { $w = shift };
+
+    $SIG{"KILL\0"} = sub { 1 };
+    like $w, qr/No such signal: SIGKILL\\0 at/, 'Arbitrary signal lookup through %SIG is clean';
+}
+
+# [perl #45173]
+{
+    my $int_called;
+    local $SIG{INT} = sub { $int_called = 1; };
+    $@ = "died";
+    is($@, "died");
+    kill 'INT', $$;
+    # this is needed to ensure signal delivery on MSWin32
+    sleep(1);
+    is($int_called, 1);
+    is($@, "died");
+}


Property changes on: vendor/perl/dist/t/op/sigdispatch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/sleep.t
===================================================================
--- vendor/perl/dist/t/op/sleep.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sleep.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/sleep.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/smartkve.t
===================================================================
--- vendor/perl/dist/t/op/smartkve.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/smartkve.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,12 +14,31 @@
 
 sub j { join(":", at _) }
 
+# NOTE
+#
+# Hash insertion is currently unstable, in that
+# %hash= %otherhash will not necessarily result in
+# the same internal ordering of the data in the hash.
+# For instance when keys collide the copy may not
+# match the inserted order. So we declare one hash
+# and then make all our copies from that, which should
+# mean all the copies have the same internal structure.
+#
+# And these days, even if all that weren't true, we now
+# per-hash randomize keys/values. So, we cant expect two
+# hashes with the same internal structure to return the
+# same thing at all. All we *can* expect is that keys()
+# and values() use the same ordering.
+our %base_hash;
+
 BEGIN { # in BEGIN for "use constant ..." later
+  # values match keys here so we can easily check that keys(%hash) == values(%hash)
+  %base_hash= (  pi => 'pi', e => 'e', i => 'i' );
   $array = [ qw(pi e i) ];
-  $values = [ 3.14, 2.72, -1 ];
-  $hash  = { pi => 3.14, e => 2.72, i => -1 } ;
+  $values = [ qw(pi e i) ];
+  $hash  = { %base_hash } ;
   $data = {
-    hash => { %$hash },
+    hash => { %base_hash },
     array => [ @$array ],
   };
 }
@@ -27,7 +46,7 @@
 package Foo;
 sub new {
   my $self = {
-    hash => {%{$main::hash} },
+    hash => { %base_hash },
     array => [@{$main::array}]
   };
   bless $self, shift;
@@ -58,10 +77,10 @@
 
 package main;
 
-use constant CONST_HASH => { %$hash };
+use constant CONST_HASH => { %base_hash };
 use constant CONST_ARRAY => [ @$array ];
 
-my %a_hash = %$hash;
+my %a_hash = %base_hash;
 my @an_array = @$array;
 sub hash_sub { return \%a_hash; }
 sub array_sub { return \@an_array; }
@@ -106,16 +125,25 @@
 
 # Keys -- list
 
-$h_expect = j(keys %$hash);
+$h_expect = j(sort keys %base_hash);
 $a_expect = j(keys @$array);
 
-is(j(keys $hash)                ,$h_expect, 'List: keys $hash');
-is(j(keys $data->{hash})        ,$h_expect, 'List: keys $data->{hash}');
-is(j(keys CONST_HASH)           ,$h_expect, 'List: keys CONST_HASH');
-is(j(keys CONST_HASH())         ,$h_expect, 'List: keys CONST_HASH()');
-is(j(keys hash_sub)             ,$h_expect, 'List: keys hash_sub');
-is(j(keys hash_sub())           ,$h_expect, 'List: keys hash_sub()');
-is(j(keys $obj->hash)           ,$h_expect, 'List: keys $obj->hash');
+is(j(sort keys $hash)           ,$h_expect, 'List: sort keys $hash');
+is(j(sort keys $data->{hash})   ,$h_expect, 'List: sort keys $data->{hash}');
+is(j(sort keys CONST_HASH)      ,$h_expect, 'List: sort keys CONST_HASH');
+is(j(sort keys CONST_HASH())    ,$h_expect, 'List: sort keys CONST_HASH()');
+is(j(sort keys hash_sub)        ,$h_expect, 'List: sort keys hash_sub');
+is(j(sort keys hash_sub())      ,$h_expect, 'List: sort keys hash_sub()');
+is(j(sort keys $obj->hash)      ,$h_expect, 'List: sort keys $obj->hash');
+
+is(j(keys $hash)                ,j(values $hash),           'List: keys $hash == values $hash');
+is(j(keys $data->{hash})        ,j(values $data->{hash}),   'List: keys $data->{hash} == values $data->{hash}');
+is(j(keys CONST_HASH)           ,j(values CONST_HASH),      'List: keys CONST_HASH == values CONST_HASH');
+is(j(keys CONST_HASH())         ,j(values CONST_HASH()),    'List: keys CONST_HASH() == values CONST_HASH()');
+is(j(keys hash_sub)             ,j(values hash_sub),        'List: keys hash_sub == values hash_sub');
+is(j(keys hash_sub())           ,j(values hash_sub()),      'List: keys hash_sub() == values hash_sub()');
+is(j(keys $obj->hash)           ,j(values $obj->hash),      'List: keys $obj->hash == values obj->hash');
+
 is(j(keys $array)               ,$a_expect, 'List: keys $array');
 is(j(keys $data->{array})       ,$a_expect, 'List: keys $data->{array}');
 is(j(keys CONST_ARRAY)          ,$a_expect, 'List: keys CONST_ARRAY');
@@ -168,7 +196,7 @@
   'Errors: keys qr/foo/ throws error'
 );
 
-eval "keys $hash qw/fo bar/";
+eval q"keys $hash qw/fo bar/";
 ok($@ =~ qr/syntax error/,
   'Errors: keys $hash, @stuff throws error'
 ) or print "# Got: $@";
@@ -209,16 +237,25 @@
 
 # Values -- list
 
-$h_expect = j(values %$hash);
+$h_expect = j(sort values %base_hash);
 $a_expect = j(values @$array);
 
-is(j(values $hash)                ,$h_expect, 'List: values $hash');
-is(j(values $data->{hash})        ,$h_expect, 'List: values $data->{hash}');
-is(j(values CONST_HASH)           ,$h_expect, 'List: values CONST_HASH');
-is(j(values CONST_HASH())         ,$h_expect, 'List: values CONST_HASH()');
-is(j(values hash_sub)             ,$h_expect, 'List: values hash_sub');
-is(j(values hash_sub())           ,$h_expect, 'List: values hash_sub()');
-is(j(values $obj->hash)           ,$h_expect, 'List: values $obj->hash');
+is(j(sort values $hash)                ,$h_expect, 'List: sort values $hash');
+is(j(sort values $data->{hash})        ,$h_expect, 'List: sort values $data->{hash}');
+is(j(sort values CONST_HASH)           ,$h_expect, 'List: sort values CONST_HASH');
+is(j(sort values CONST_HASH())         ,$h_expect, 'List: sort values CONST_HASH()');
+is(j(sort values hash_sub)             ,$h_expect, 'List: sort values hash_sub');
+is(j(sort values hash_sub())           ,$h_expect, 'List: sort values hash_sub()');
+is(j(sort values $obj->hash)           ,$h_expect, 'List: sort values $obj->hash');
+
+is(j(values $hash)                ,j(keys $hash),           'List: values $hash == keys $hash');
+is(j(values $data->{hash})        ,j(keys $data->{hash}),   'List: values $data->{hash} == keys $data->{hash}');
+is(j(values CONST_HASH)           ,j(keys CONST_HASH),      'List: values CONST_HASH == keys CONST_HASH');
+is(j(values CONST_HASH())         ,j(keys CONST_HASH()),    'List: values CONST_HASH() == keys CONST_HASH()');
+is(j(values hash_sub)             ,j(keys hash_sub),        'List: values hash_sub == keys hash_sub');
+is(j(values hash_sub())           ,j(keys hash_sub()),      'List: values hash_sub() == keys hash_sub()');
+is(j(values $obj->hash)           ,j(keys $obj->hash),      'List: values $obj->hash == keys $obj->hash');
+
 is(j(values $array)               ,$a_expect, 'List: values $array');
 is(j(values $data->{array})       ,$a_expect, 'List: values $data->{array}');
 is(j(values CONST_ARRAY)          ,$a_expect, 'List: values CONST_ARRAY');
@@ -263,7 +300,7 @@
   'Errors: values qr/foo/ throws error'
 );
 
-eval "values $hash qw/fo bar/";
+eval q"values $hash qw/fo bar/";
 ok($@ =~ qr/syntax error/,
   'Errors: values $hash, @stuff throws error'
 ) or print "# Got: $@";
@@ -372,7 +409,7 @@
   'Errors: each qr/foo/ throws error'
 );
 
-eval "each $hash qw/foo bar/";
+eval q"each $hash qw/foo bar/";
 ok($@ =~ qr/syntax error/,
   'Errors: each $hash, @stuff throws error'
 ) or print "# Got: $@";


Property changes on: vendor/perl/dist/t/op/smartkve.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/smartmatch.t
===================================================================
--- vendor/perl/dist/t/op/smartmatch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/smartmatch.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,7 @@
 use strict;
 use warnings;
 no warnings 'uninitialized';
+no warnings 'experimental::smartmatch';
 
 use Tie::Array;
 use Tie::Hash;
@@ -73,7 +74,7 @@
 my %fooormore = map { $_ => 0 } @fooormore;
 
 # Load and run the tests
-plan tests => 351;
+plan tests => 349;
 
 while (<DATA>) {
   SKIP: {
@@ -223,8 +224,6 @@
 @	"object"	$str_obj
 @	FALSE		$str_obj
 # Those will treat the $str_obj as a string because of fallback:
-!	$ov_obj		$str_obj
-	$ov_obj_2	$str_obj
 
 # object (overloaded or not) ~~ Any
 	$obj		qr/NoOverload/


Property changes on: vendor/perl/dist/t/op/smartmatch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/sort.t
===================================================================
--- vendor/perl/dist/t/op/sort.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sort.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require 'test.pl';
 }
 use warnings;
-plan( tests => 162 );
+plan( tests => 176 );
 
 # these shouldn't hang
 {
@@ -770,7 +770,8 @@
 
 {
     local $TODO = "sort should make sure elements are not freed in the sort block";
-    eval { @nomodify_x=(1..8); our @copy = sort { @nomodify_x = (0) } (@nomodify_x, 3); };
+    eval { @nomodify_x=(1..8);
+	   our @copy = sort { undef @nomodify_x; 1 } (@nomodify_x, 3); };
     is($@, "");
 }
 
@@ -938,3 +939,59 @@
   like $output, qr/^(?:Win)+\z/,
    'Match vars do not leak from one $$ sort sub to the next';
 }
+
+# [perl #30661] autoloading
+AUTOLOAD { $b <=> $a }
+sub stubbedsub;
+is join("", sort stubbedsub split//, '04381091'), '98431100',
+    'stubborn AUTOLOAD';
+is join("", sort hopefullynonexistent split//, '04381091'), '98431100',
+    'AUTOLOAD without stub';
+my $stubref = \&givemeastub;
+is join("", sort $stubref split//, '04381091'), '98431100',
+    'AUTOLOAD with stubref';
+
+# [perl #90030] sort without arguments
+eval '@x = (sort); 1';
+is $@, '', '(sort) does not die';
+is @x, 0, '(sort) returns empty list';
+eval '@x = sort; 1';
+is $@, '', 'sort; does not die';
+is @x, 0, 'sort; returns empty list';
+eval '{@x = sort} 1';
+is $@, '', '{sort} does not die';
+is @x, 0, '{sort} returns empty list';
+
+# this happened while the padrange op was being added. Sort blocks
+# are executed in void context, and the padrange op was skipping pushing
+# the item in void cx. The net result was that the return value was
+# whatever was on the stack last.
+
+{
+    my @a = sort {
+	my $r = $a <=> $b;
+	if ($r) {
+	    undef; # this got returned by mistake
+	    return $r
+	}
+	return 0;
+    } 5,1,3,6,0;
+    is "@a", "0 1 3 5 6", "padrange and void context";
+}
+
+# Fatal warnings an sort sub returning a non-number
+# We need two evals, because the panic used to happen on scope exit.
+eval { eval { use warnings FATAL => 'all'; () = sort { undef } 1,2 } };
+is $@, "",
+  'no panic/crash with fatal warnings when sort sub returns undef';
+eval { eval { use warnings FATAL => 'all'; () = sort { "no thin" } 1,2 } };
+is $@, "",
+  'no panic/crash with fatal warnings when sort sub returns string';
+sub notdef($$) { undef }
+eval { eval { use warnings FATAL => 'all'; () = sort notdef 1,2 } };
+is $@, "",
+  'no panic/crash with fatal warnings when sort sub($$) returns undef';
+sub yarn($$) { "no thinking aloud" }
+eval { eval { use warnings FATAL => 'all'; () = sort yarn 1,2 } };
+is $@, "",
+  'no panic/crash with fatal warnings when sort sub($$) returns string';


Property changes on: vendor/perl/dist/t/op/sort.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/splice.t
===================================================================
--- vendor/perl/dist/t/op/splice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/splice.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,41 +1,47 @@
 #!./perl
 
-print "1..21\n";
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 
+$|  = 1;
+
 @a = (1..10);
 
 sub j { join(":", at _) }
 
-print "not " unless j(splice(@a, at a,0,11,12)) eq "" && j(@a) eq j(1..12);
-print "ok 1\n";
+is( j(splice(@a, at a,0,11,12)), '', 'return value of splice when nothing is removed, only added');
+is( j(@a), j(1..12), '... added two elements');
 
-print "not " unless j(splice(@a,-1)) eq "12" && j(@a) eq j(1..11);
-print "ok 2\n";
+is( j(splice(@a,-1)), "12", 'remove last element, return value');
+is( j(@a), j(1..11), '... removed last element');
 
-print "not " unless j(splice(@a,0,1)) eq "1" && j(@a) eq j(2..11);
-print "ok 3\n";
+is( j(splice(@a,0,1)), "1", 'remove first element, return value');
+is( j(@a), j(2..11), '... first element removed');
 
-print "not " unless j(splice(@a,0,0,0,1)) eq "" && j(@a) eq j(0..11);
-print "ok 4\n";
+is( j(splice(@a,0,0,0,1)), "", 'emulate shift, return value is empty');
+is( j(@a), j(0..11), '... added two elements to beginning of the list');
 
-print "not " unless j(splice(@a,5,1,5)) eq "5" && j(@a) eq j(0..11);
-print "ok 5\n";
+is( j(splice(@a,5,1,5)), "5", 'remove and replace an element to the end of the list, return value is the element');
+is( j(@a), j(0..11), '... list remains the same');
 
-print "not " unless j(splice(@a, @a, 0, 12, 13)) eq "" && j(@a) eq j(0..13);
-print "ok 6\n";
+is( j(splice(@a, @a, 0, 12, 13)), "", 'push two elements onto the end of the list, return value is empty');
+is( j(@a), j(0..13), '... added two elements to the end of the list');
 
-print "not " unless j(splice(@a, - at a, @a, 1, 2, 3)) eq j(0..13) && j(@a) eq j(1..3);
-print "ok 7\n";
+is( j(splice(@a, - at a, @a, 1, 2, 3)), j(0..13), 'splice the whole list out, add 3 elements, return value is @a');
+is( j(@a), j(1..3), '... array only contains new elements');
 
-print "not " unless j(splice(@a, 1, -1, 7, 7)) eq "2" && j(@a) eq j(1,7,7,3);
-print "ok 8\n";
+is( j(splice(@a, 1, -1, 7, 7)), "2", 'replace middle element with two elements, negative offset, return value is the element' );
+is( j(@a), j(1,7,7,3), '... array 1,7,7,3');
 
-print "not " unless j(splice(@a,-3,-2,2)) eq j(7) && j(@a) eq j(1,2,7,3);
-print "ok 9\n";
+is( j(splice(@a,-3,-2,2)), j(7), 'replace first 7 with a 2, negative offset, negative length, return value is 7');
+is( j(@a), j(1,2,7,3), '... array has 1,2,7,3');
 
 # Bug 20000223.001 - no test for splice(@array).  Destructive test!
-print "not " unless j(splice(@a)) eq j(1,2,7,3) && j(@a) eq '';
-print "ok 10\n";
+is( j(splice(@a)), j(1,2,7,3), 'bare splice empties the array, return value is the array');
+is( j(@a),  '', 'array is empty');
 
 # Tests 11 and 12:
 # [ID 20010711.005] in Tie::Array, SPLICE ignores context, breaking SHIFT
@@ -44,56 +50,46 @@
 
 @a = ('red', 'green', 'blue');
 $foo = splice @a, 1, 2;
-print "not " unless $foo eq 'blue';
-print "ok 11\n";
+is( $foo, 'blue', 'remove a single element in scalar context');
 
 @a = ('red', 'green', 'blue');
 $foo = shift @a;
-print "not " unless $foo eq 'red';
-print "ok 12\n";
+is( $foo, 'red', 'do the same with shift');
 
 # Bug [perl #30568] - insertions of deleted elements
 @a = (1, 2, 3);
 splice( @a, 0, 3, $a[1], $a[0] );
-print "not " unless j(@a) eq j(2,1);
-print "ok 13\n";
+is( j(@a), j(2,1), 'splice and replace with indexes 1, 0');
 
 @a = (1, 2, 3);
 splice( @a, 0, 3 ,$a[0], $a[1] );
-print "not " unless j(@a) eq j(1,2);
-print "ok 14\n";
+is( j(@a), j(1,2), 'splice and replace with indexes 0, 1');
 
 @a = (1, 2, 3);
 splice( @a, 0, 3 ,$a[2], $a[1], $a[0] );
-print "not " unless j(@a) eq j(3,2,1);
-print "ok 15\n";
+is( j(@a), j(3,2,1), 'splice and replace with indexes 2, 1, 0');
 
 @a = (1, 2, 3);
 splice( @a, 0, 3, $a[0], $a[1], $a[2], $a[0], $a[1], $a[2] );
-print "not " unless j(@a) eq j(1,2,3,1,2,3);
-print "ok 16\n";
+is( j(@a), j(1,2,3,1,2,3), 'splice and replace with a whole bunch');
 
 @a = (1, 2, 3);
 splice( @a, 1, 2, $a[2], $a[1] );
-print "not " unless j(@a) eq j(1,3,2);
-print "ok 17\n";
+is( j(@a), j(1,3,2), 'swap last two elements');
 
 @a = (1, 2, 3);
 splice( @a, 1, 2, $a[1], $a[1] );
-print "not " unless j(@a) eq j(1,2,2);
-print "ok 18\n";
+is( j(@a), j(1,2,2), 'duplicate middle element on the end');
 
 # splice should invoke get magic
 
-print "not " if Foo->isa('Bar');
-print "ok 19\n";
+ok( ! Foo->isa('Bar'), 'Foo is not a Bar');
 
 splice @Foo::ISA, 0, 0, 'Bar';
+ok( !oo->isa('Bar'), 'splice @ISA and make Foo a Bar');
 
-print "not " if !Foo->isa('Bar');
-print "ok 20\n";
-
 # Test undef first arg
 eval { splice( $new_arrayref, 0, 0, 1, 2, 3 ) };
-print "not " unless $@ && $@ =~ /Not an ARRAY/;
-print "ok 21\n";
+like($@, qr/Not an ARRAY/, 'undefined first argument to splice');
+
+done_testing;


Property changes on: vendor/perl/dist/t/op/splice.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/split.t
===================================================================
--- vendor/perl/dist/t/op/split.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/split.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan tests => 102;
+plan tests => 118;
 
 $FS = ':';
 
@@ -14,7 +14,7 @@
 
 ($a,$b,$c) = split($FS,$_);
 
-is(join(';',$a,$b,$c), 'a;b;c');
+is(join(';',$a,$b,$c), 'a;b;c', 'Split a simple string into scalars.');
 
 @ary = split(/:b:/);
 $cnt = split(/:b:/);
@@ -53,18 +53,18 @@
 
 # Can we say how many fields to split to?
 $_ = join(':', split(' ','1 2 3 4 5 6', 3));
-is($_, '1:2:3 4 5 6');
+is($_, '1:2:3 4 5 6', "Split into a specified number of fields, defined by a literal");
 @ary = split(' ','1 2 3 4 5 6', 3);
 $cnt = split(' ','1 2 3 4 5 6', 3);
-is($cnt, scalar(@ary));
+is($cnt, scalar(@ary), "Check element count from previous test");
 
 # Can we do it as a variable?
 $x = 4;
 $_ = join(':', split(' ','1 2 3 4 5 6', $x));
-is($_, '1:2:3:4 5 6');
+is($_, '1:2:3:4 5 6', "Split into a specified number of fields, defined by a scalar variable");
 @ary = split(' ','1 2 3 4 5 6', $x);
 $cnt = split(' ','1 2 3 4 5 6', $x);
-is($cnt, scalar(@ary));
+is($cnt, scalar(@ary), "Check element count from previous test");
 
 # Does the 999 suppress null field chopping?
 $_ = join(':', split(/:/,'1:2:3:4:5:6:::', 999));
@@ -76,7 +76,7 @@
 # Splitting without pattern
 $_ = "1 2 3 4";
 $_ = join(':', split);
-is($_ , '1:2:3:4');
+is($_ , '1:2:3:4', "Split and join without specifying a split pattern");
 
 # Does assignment to a list imply split to one more field than that?
 $foo = runperl( switches => ['-Dt'], stderr => 1, prog => '($a,$b)=split;' );
@@ -85,7 +85,7 @@
 # Can we say how many fields to split to when assigning to a list?
 ($a,$b) = split(' ','1 2 3 4 5 6', 2);
 $_ = join(':',$a,$b);
-is($_, '1:2 3 4 5 6');
+is($_, '1:2 3 4 5 6', "Storing split output into list of scalars");
 
 # do subpatterns generate additional fields (without trailing nulls)?
 $_ = join '|', split(/,|(-)/, "1-10,20,,,");
@@ -417,3 +417,74 @@
            # 'my' doesn't trigger the bug
     is "@PATH", "Font GlyphNames", "hybrid scalar-and-array context";
 }
+
+{
+    my @results;
+    my $expr= "foo  bar";
+    my $cond;
+
+    @results= split(0||" ", $expr);
+    is @results, 2, 'split(0||" ") is treated like split(" ")'; #'
+
+    $cond= 0;
+    @results= split $cond ? " " : qr/ /, $expr;
+    is @results, 3, 'split($cond ? " " : qr/ /, $expr) works as expected (like qr/ /)';
+    $cond= 1;
+    @results= split $cond ? " " : qr/ /, $expr;
+    is @results, 2, 'split($cond ? " " : qr/ /, $expr) works as expected (like " ")';
+
+    $expr = ' a b c ';
+    @results = split /\s/, $expr;
+    is @results, 4,
+        "split on regex of single space metacharacter: captured 4 elements";
+    is $results[0], '',
+        "split on regex of single space metacharacter: first element is empty string";
+
+    @results = split / /, $expr;
+    is @results, 4,
+        "split on regex of single whitespace: captured 4 elements";
+    is $results[0], '',
+        "split on regex of single whitespace: first element is empty string";
+
+    @results = split " ", $expr;
+    is @results, 3,
+        "split on string of single whitespace: captured 3 elements";
+    is $results[0], 'a',
+        "split on string of single whitespace: first element is non-empty";
+
+    $expr = " a \tb c ";
+    @results = split " ", $expr;
+    is @results, 3,
+        "split on string of single whitespace: captured 3 elements";
+    is $results[0], 'a',
+        "split on string of single whitespace: first element is non-empty; multiple contiguous space characters";
+
+    my @seq;
+    for my $cond (0,1,0,1,0) {
+        $expr = "  foo  ";
+        @results = split $cond ? qr/ / : " ", $expr;
+        push @seq, scalar(@results) . ":" . $results[-1];
+    }
+    is join(" ", @seq), "1:foo 3:foo 1:foo 3:foo 1:foo",
+        qq{split(\$cond ? qr/ / : " ", "$exp") behaves as expected over repeated similar patterns};
+}
+
+{
+    # 'RT #116086: split "\x20" does not work as documented';
+    my @results;
+    my $expr;
+    $expr = ' a b c ';
+    @results = split "\x20", $expr;
+    is @results, 3,
+        "RT #116086: split on string of single hex-20: captured 3 elements";
+    is $results[0], 'a',
+        "RT #116086: split on string of single hex-20: first element is non-empty";
+
+    $expr = " a \tb c ";
+    @results = split "\x20", $expr;
+    is @results, 3,
+        "RT #116086: split on string of single hex-20: captured 3 elements";
+    is $results[0], 'a',
+        "RT #116086: split on string of single hex-20: first element is non-empty; multiple contiguous space characters";
+}
+


Property changes on: vendor/perl/dist/t/op/split.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/split_unicode.t
===================================================================
--- vendor/perl/dist/t/op/split_unicode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/split_unicode.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
 BEGIN {
     require './test.pl';
     skip_all_if_miniperl("no dynamic loading on miniperl, no File::Spec (used by charnames)");
-    plan(tests => 150);
+    plan(tests => 151);
 }
 
 {
@@ -61,4 +61,18 @@
         ok(@r3 == 3 && join('-', @r3) eq "-:A:-:B", "$msg - /\\s+/ No.2");
 	is($c3, scalar(@r3), "$msg - /\\s+/ No.2 (count)");
     }
+
+    { # RT #114808
+        warning_is(
+            sub {
+                $p=chr(0x100);
+                for (".","ab\x{101}def") {
+                    @q = split /$p/
+                }
+            },
+            undef,
+            'no warnings when part of split cant match non-utf8'
+        );
+    }
+
 }


Property changes on: vendor/perl/dist/t/op/split_unicode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/sprintf.t
===================================================================
--- vendor/perl/dist/t/op/sprintf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sprintf.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,8 @@
 # not-a-number ...), of the effects of locale, and of features
 # specific to multi-byte characters (under the utf8 pragma and such).
 
+# For tests that do not fit this format, use sprintf2.t.
+
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
@@ -14,9 +16,10 @@
 use version;
 use Config;
 use strict;
+require './test.pl';
 
 my @tests = ();
-my ($i, $template, $data, $result, $comment, $w, $x, $evalData, $n, $p);
+my ($template, $data, $result, $comment, $w, $x, $evalData, $n, $p);
 
 my $Is_VMS_VAX = 0;
 # We use HW_MODEL since ARCH_NAME was not in VMS V5.*
@@ -41,7 +44,7 @@
     if ($Is_VMS_VAX || $Is_Ultrix_VAX) {
 	# VAX DEC C 5.3 at least since there is no
 	# ccflags =~ /float=ieee/ on VAX.
-	# AXP is unaffected whether or not it's using ieee.
+	# AXP is unaffected whether or not it is using ieee.
         $data   =~ s/([eE])96$/${1}26/;      # smaller exponents
         $result =~ s/([eE]\+)102$/${1}32/;   #  "       "
         $data   =~ s/([eE])\-101$/${1}-24/;  # larger exponents
@@ -53,7 +56,7 @@
     push @tests, [$template, $evalData, $result, $comment, $data];
 }
 
-print '1..', scalar @tests, "\n";
+plan(scalar @tests);
 
 $SIG{__WARN__} = sub {
     if ($_[0] =~ /^Invalid conversion/) {
@@ -62,13 +65,15 @@
 	$w .= ' UNINIT';
     } elsif ($_[0] =~ /^Missing argument/) {
 	$w .= ' MISSING';
+    } elsif ($_[0]=~/^vector argument not supported with alpha versions/) {
+	$w .= ' ALPHA';
     } else {
 	warn @_;
     }
 };
 
-for ($i = 1; @tests; $i++) {
-    ($template, $evalData, $result, $comment, $data) = @{shift @tests};
+for (@tests) {
+    ($template, $evalData, $result, $comment, $data) = @$_;
     $w = undef;
     $x = sprintf($template, @$evalData);
     $x = ">$x<" if defined $x;
@@ -101,7 +106,7 @@
 	} elsif ($os =~ /\b$^O(?::(\S+))?\b/i) {
 	    my $vsn = defined $1 ? $1 : "0";
 	    # Only compare on the the first pair of digits, as numeric
-	    # compares don't like 2.6.10-3mdksmp or 2.6.8-24.10-default
+	    # compares do not like 2.6.10-3mdksmp or 2.6.8-24.10-default
 	    s/^(\d+(\.\d+)?).*/$1/ for $osv, $vsn;
 	    $skip = $vsn ? ($osv <= $vsn ? 1 : 0) : 1;
 	}
@@ -109,28 +114,27 @@
     }
 
     if ($x eq ">$result<") {
-        print "ok $i\n";
+        ok(1, ">$result<");
     }
     elsif ($skip) {
-	print "ok $i # skip $comment\n";
+        ok(1, "skip $comment");
     }
     elsif ($y eq ">$result<")	# Some C libraries always give
     {				# three-digit exponent
-		print("ok $i # >$result< $x three-digit exponent accepted\n");
+		ok(1, ">$result< $x three-digit exponent accepted");
     }
 	elsif ($result =~ /[-+]\d{3}$/ &&
 		   # Suppress tests with modulo of exponent >= 100 on platforms
-		   # which can't handle such magnitudes (or where we can't tell).
+		   # which cannot handle such magnitudes (or where we cannot tell).
 		   ((!eval {require POSIX}) || # Costly: only do this if we must!
 			(length(&POSIX::DBL_MAX) - rindex(&POSIX::DBL_MAX, '+')) == 3))
 	{
-		print("ok $i # >$template< >$data< >$result<",
-			  " Suppressed: exponent out of range?\n");
+        ok(1,
+         ">$template< >$data< >$result< Suppressed: exponent out of range?\n");
 	}
     else {
-	$y = ($x eq $y ? "" : " => $y");
-	print("not ok $i >$template< >$data< >$result< $x$y",
-	    $comment ? " # $comment\n" : "\n");
+        $y = ($x eq $y ? "" : " => $y");
+        ok(0, ">$template< >$data< >$result< $x$y $comment");
     }
 }
 
@@ -317,6 +321,7 @@
 >%vd<       >[version->new("1.002")]< >1.2<
 >%vd<       >[version->new("1048576.5")]< >1048576.5<
 >%vd<       >[version->new("50")]< >50<
+>[%vd]<     >[version->new(v1.1_1)]< >[] ALPHA<
 >%v.3d<     >"\01\02\03"< >001.002.003<
 >%0v3d<     >"\01\02\03"< >001.002.003<
 >%v.3d<     >[version::qv("1.2.3")]< >001.002.003<
@@ -399,7 +404,7 @@
 > %.0g<     >[]<          > 0 MISSING<
 >%.2g<      >[]<          >0 MISSING<
 >%.2gC<      >[]<          >0C MISSING<
->%.0g<      >-0.0<        >-0<		   >C99 standard mandates minus sign but C89 does not skip: MSWin32 VMS hpux:10.20 openbsd netbsd:1.5 irix darwin<
+>%.0g<      >-0.0<        >-0<		   >C99 standard mandates minus sign but C89 does not skip: MSWin32 VMS hpux:10.20 openbsd netbsd:1.5 irix darwin freebsd:4.9<
 >%.0g<      >12345.6789<  >1e+04<
 >%#.0g<     >12345.6789<  >1.e+04<
 >%.2g<      >12345.6789<  >1.2e+04<
@@ -436,6 +441,8 @@
 >%l<        >''<          >%l INVALID<
 >%m<        >''<          >%m INVALID<
 >%s< >sprintf('%%n%n %d', $n, $n)< >%n 2< >Slight sneakiness to test %n<
+>%s< >$n="abc"; sprintf(' %n%s', substr($n,1,1), $n)< > a1c< >%n w/magic<
+>%s< >no warnings; sprintf('%s%n', chr(256)x5, $n),$n< >5< >Unicode %n<
 >%o<        >2**32-1<     >37777777777<
 >%+o<       >2**32-1<     >37777777777<
 >%#o<       >2**32-1<     >037777777777<
@@ -710,3 +717,4 @@
 >%v.*X<		>[3, '012']<		>030.031.032<	>perl #83194: vector flag + dynamic precision<
 >%*v.3X<	>[':', '012']<		>030:031:032<	>perl #83194: vector flag + custom separator + static precision<
 >%*v.*X<	>[':', 3, '012']<	>030:031:032<	>perl #83194: vector flag + custom separator + dynamic precision<
+>%vd<	>"version"<	>118.101.114.115.105.111.110<	>perl #102586: vector flag + "version"<


Property changes on: vendor/perl/dist/t/op/sprintf.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/sprintf2.t
===================================================================
--- vendor/perl/dist/t/op/sprintf2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sprintf2.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
 #!./perl -w
 
+# Tests for sprintf that do not fit the format of sprintf.t.
+
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
@@ -6,7 +8,7 @@
     require './test.pl';
 }   
 
-plan tests => 1368;
+plan tests => 1370;
 
 use strict;
 use Config;
@@ -180,3 +182,12 @@
         );
     }
 }
+
+# Overload count
+package o { use overload '""', sub { ++our $count; $_[0][0]; } }
+my $o = bless ["\x{100}"], o::;
+() = sprintf "%1s", $o;
+is $o::count, '1', 'sprinf %1s overload count';
+$o::count = 0;
+() = sprintf "%.1s", $o;
+is $o::count, '1', 'sprinf %.1s overload count';


Property changes on: vendor/perl/dist/t/op/sprintf2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/srand.t
===================================================================
--- vendor/perl/dist/t/op/srand.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/srand.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 use strict;
 
 require "test.pl";
-plan(tests => 9);
+plan(tests => 10);
 
 # Generate a load of random numbers.
 # int() avoids possible floating point error.
@@ -79,3 +79,12 @@
     is( $b, 0, "Quacks like a zero");
     is( "@warnings", "", "Does not warn");
 }
+
+# [perl #40605]
+{
+    use warnings;
+    my $w = '';
+    local $SIG{__WARN__} = sub { $w .= $_[0] };
+    srand(2**100);
+    like($w, qr/^Integer overflow in srand at /, "got a warning");
+}


Property changes on: vendor/perl/dist/t/op/srand.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/sselect.t
===================================================================
--- vendor/perl/dist/t/op/sselect.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sselect.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,10 @@
 #!./perl
 
+my $hires;
 BEGIN {
     chdir 't' if -d 't';
     @INC = ('.', '../lib');
+    $hires = eval 'use Time::HiResx "time"; 1';
 }
 
 require 'test.pl';
@@ -11,40 +13,54 @@
 
 my $blank = "";
 eval {select undef, $blank, $blank, 0};
-is ($@, "");
+is ($@, "", 'select undef  $blank $blank 0');
 eval {select $blank, undef, $blank, 0};
-is ($@, "");
+is ($@, "", 'select $blank undef  $blank 0');
 eval {select $blank, $blank, undef, 0};
-is ($@, "");
+is ($@, "", 'select $blank $blank undef  0');
 
 eval {select "", $blank, $blank, 0};
-is ($@, "");
+is ($@, "", 'select ""     $blank $blank 0');
 eval {select $blank, "", $blank, 0};
-is ($@, "");
+is ($@, "", 'select $blank ""     $blank 0');
 eval {select $blank, $blank, "", 0};
-is ($@, "");
+is ($@, "", 'select $blank $blank ""     0');
 
 eval {select "a", $blank, $blank, 0};
-like ($@, qr/^Modification of a read-only value attempted/);
+like ($@, qr/^Modification of a read-only value attempted/,
+	    'select "a"    $blank $blank 0');
 eval {select $blank, "a", $blank, 0};
-like ($@, qr/^Modification of a read-only value attempted/);
+like ($@, qr/^Modification of a read-only value attempted/,
+	    'select $blank "a"    $blank 0');
 eval {select $blank, $blank, "a", 0};
-like ($@, qr/^Modification of a read-only value attempted/);
+like ($@, qr/^Modification of a read-only value attempted/,
+	    'select $blank $blank "a"    0');
 
-my($sleep,$fudge) = (3,0);
+my $sleep = 3;
 # Actual sleep time on Windows may be rounded down to an integral
 # multiple of the system clock tick interval.  Clock tick interval
 # is configurable, but usually about 15.625 milliseconds.
-# time() however doesn't return fractional values, so the observed
-# delay may be 1 second short.
-($sleep,$fudge) = (4,1) if $^O eq "MSWin32";
+# time() however (if we haven;t loaded Time::HiRes), doesn't return
+# fractional values, so the observed delay may be 1 second short.
+#
+# There is also a report that old linux kernels may return 0.5ms early:
+# <20110520081714.GC17549 at mars.tony.develop-help.com>.
+#
 
-my $t = time;
+my $under = $hires ? 0.1 : 1;
+
+my $t0 = time;
 select(undef, undef, undef, $sleep);
-ok(time-$t >= $sleep-$fudge, "$sleep seconds have passed");
+my $t1 = time;
+my $diff = $t1-$t0;
+ok($diff >= $sleep-$under, "select(u,u,u,\$sleep):  at least $sleep seconds have passed");
+note("diff=$diff under=$under");
 
 my $empty = "";
 vec($empty,0,1) = 0;
-$t = time;
+$t0 = time;
 select($empty, undef, undef, $sleep);
-ok(time-$t >= $sleep-$fudge, "$sleep seconds have passed");
+$t1 = time;
+$diff = $t1-$t0;
+ok($diff >= $sleep-$under, "select(\$e,u,u,\$sleep): at least $sleep seconds have passed");
+note("diff=$diff under=$under");


Property changes on: vendor/perl/dist/t/op/sselect.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/stash.t
===================================================================
--- vendor/perl/dist/t/op/stash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/stash.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 
 BEGIN { require "./test.pl"; }
 
-plan( tests => 54 );
+plan( tests => 58 );
 
 # Used to segfault (bug #15479)
 fresh_perl_like(
@@ -25,6 +25,17 @@
     q(Insert a non-GV in a stash, under warnings 'once'),
 );
 
+# Used to segfault, too
+SKIP: {
+ skip_if_miniperl('requires XS');
+  fresh_perl_like(
+    'sub foo::bar{}; $mro::{get_mro}=*foo::bar; undef %foo::; require mro',
+     qr/^Subroutine mro::get_mro redefined at /,
+    { switches => [ '-w' ] },
+    q(Defining an XSUB over an existing sub with no stash under warnings),
+  );
+}
+
 {
     no warnings 'deprecated';
     ok( defined %oedipa::maas::, q(stashes happen to be defined if not used) );
@@ -52,6 +63,13 @@
 		  '',
 		  '',
 		  );
+    # Variant of the above which creates an object that persists until global
+    # destruction.
+    fresh_perl_is(
+		  'use Exporter; package A; sub a { // }; %::=""',
+		  '',
+		  '',
+		  );
 }
 
 # now tests in eval
@@ -81,7 +99,7 @@
     delete $one::{one};
     my $gv = b($sub)->GV;
 
-    isa_ok( $gv, "B::GV", "deleted stash entry leaves CV with valid GV");
+    object_ok( $gv, "B::GV", "deleted stash entry leaves CV with valid GV");
     is( b($sub)->CvFLAGS & $CVf_ANON, $CVf_ANON, "...and CVf_ANON set");
     is( eval { $gv->NAME }, "__ANON__", "...and an __ANON__ name");
     is( eval { $gv->STASH->NAME }, "one", "...but leaves stash intact");
@@ -93,7 +111,7 @@
     %two:: = ();
     $gv = b($sub)->GV;
 
-    isa_ok( $gv, "B::GV", "cleared stash leaves CV with valid GV");
+    object_ok( $gv, "B::GV", "cleared stash leaves CV with valid GV");
     is( b($sub)->CvFLAGS & $CVf_ANON, $CVf_ANON, "...and CVf_ANON set");
     is( eval { $gv->NAME }, "__ANON__", "...and an __ANON__ name");
     is( eval { $gv->STASH->NAME }, "two", "...but leaves stash intact");
@@ -105,7 +123,7 @@
     undef %three::;
     $gv = b($sub)->GV;
 
-    isa_ok( $gv, "B::GV", "undefed stash leaves CV with valid GV");
+    object_ok( $gv, "B::GV", "undefed stash leaves CV with valid GV");
     is( b($sub)->CvFLAGS & $CVf_ANON, $CVf_ANON, "...and CVf_ANON set");
     is( eval { $gv->NAME }, "__ANON__", "...and an __ANON__ name");
     is( eval { $gv->STASH->NAME }, "__ANON__", "...and an __ANON__ stash");
@@ -269,11 +287,8 @@
      'ref() returns the same thing when an object’s stash is moved';
     ::like "$obj", qr "^rile=ARRAY\(0x[\da-f]+\)\z",
      'objects stringify the same way when their stashes are moved';
-    {
-	local $::TODO =  $Config{useithreads} ? "fails under threads" : undef;
-	::is eval '__PACKAGE__', 'rile',
+    ::is eval '__PACKAGE__', 'rile',
 	 '__PACKAGE__ returns the same when the current stash is moved';
-    }
 
     # Now detach it completely from the symtab, making it effect-
     # ively anonymous
@@ -286,11 +301,8 @@
      'ref() returns the same thing when an object’s stash is detached';
     ::like "$obj", qr "^rile=ARRAY\(0x[\da-f]+\)\z",
      'objects stringify the same way when their stashes are detached';
-    {
-	local $::TODO =  $Config{useithreads} ? "fails under threads" : undef;
-	::is eval '__PACKAGE__', 'rile',
+    ::is eval '__PACKAGE__', 'rile',
 	 '__PACKAGE__ returns the same when the current stash is detached';
-    }
 }
 
 # Setting the name during undef %stash:: should have no effect.
@@ -312,3 +324,15 @@
     ok eval { Bear::::baz() },
      'packages ending with :: are self-consistent';
 }
+
+# [perl #88138] ' not equivalent to :: before a null
+${"a'\0b"} = "c";
+is ${"a::\0b"}, "c", "' is equivalent to :: before a null";
+
+# [perl #101486] Clobbering the current package
+ok eval '
+     package Do;
+     BEGIN { *Do:: = *Re:: }
+     sub foo{};
+     1
+  ', 'no crashing or errors when clobbering the current package';


Property changes on: vendor/perl/dist/t/op/stash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/stat.t
===================================================================
--- vendor/perl/dist/t/op/stat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/stat.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -20,15 +20,17 @@
 }
 
 
-plan tests => 107;
+plan tests => 113;
 
 my $Perl = which_perl();
 
+$ENV{LC_ALL}   = 'C';		# Forge English error messages.
+$ENV{LANGUAGE} = 'C';		# Ditto in GNU.
+
 $Is_Amiga   = $^O eq 'amigaos';
 $Is_Cygwin  = $^O eq 'cygwin';
 $Is_Darwin  = $^O eq 'darwin';
 $Is_Dos     = $^O eq 'dos';
-$Is_MPE     = $^O eq 'mpeix';
 $Is_MSWin32 = $^O eq 'MSWin32';
 $Is_NetWare = $^O eq 'NetWare';
 $Is_OS2     = $^O eq 'os2';
@@ -36,7 +38,6 @@
 $Is_VMS     = $^O eq 'VMS';
 $Is_DGUX    = $^O eq 'dgux';
 $Is_MPRAS   = $^O =~ /svr4/ && -f '/etc/.relid';
-$Is_Rhapsody= $^O eq 'rhapsody';
 
 $Is_Dosish  = $Is_Dos || $Is_OS2 || $Is_MSWin32 || $Is_NetWare;
 
@@ -249,6 +250,7 @@
     skip "ls command not available to Perl in OpenVMS right now.", 6
       if $Is_VMS;
 
+    delete $ENV{CLICOLOR_FORCE};
     my $LS  = $Config{d_readlink} ? "ls -lL" : "ls -l";
     my $CMD = "$LS /dev 2>/dev/null";
     my $DEV = qx($CMD);
@@ -341,7 +343,7 @@
 SKIP: {
     skip "These tests require a TTY", 4 if $ENV{PERL_SKIP_TTY_TEST};
 
-    my $TTY = $Is_Rhapsody ? "/dev/ttyp0" : "/dev/tty";
+    my $TTY = "/dev/tty";
 
     SKIP: {
         skip "Test uses unixisms", 2 if $Is_MSWin32 || $Is_NetWare;
@@ -441,6 +443,12 @@
 eval { lstat _ };
 like( $@, qr/^The stat preceding lstat\(\) wasn't an lstat/,
     'lstat _ croaks after stat' );
+eval { lstat *_ };
+like( $@, qr/^The stat preceding lstat\(\) wasn't an lstat/,
+    'lstat *_ croaks after stat' );
+eval { lstat \*_ };
+like( $@, qr/^The stat preceding lstat\(\) wasn't an lstat/,
+    'lstat \*_ croaks after stat' );
 eval { -l _ };
 like( $@, qr/^The stat preceding -l _ wasn't an lstat/,
     '-l _ croaks after stat' );
@@ -450,6 +458,22 @@
 is( "$@", "", "lstat _ ok after lstat" );
 eval { -l _ };
 is( "$@", "", "-l _ ok after lstat" );
+
+eval { lstat "test.pl" };
+{
+    open my $fh, "test.pl";
+    stat *$fh{IO};
+    eval { lstat _ }
+}
+like $@, qr/^The stat preceding lstat\(\) wasn't an lstat at /,
+'stat $ioref resets stat type';
+
+{
+    my @statbuf = stat STDOUT;
+    stat "test.pl";
+    my @lstatbuf = lstat *STDOUT{IO};
+    is "@lstatbuf", "@statbuf", 'lstat $ioref reverts to regular fstat';
+}
   
 SKIP: {
     skip "No lstat", 2 unless $Config{d_lstat};
@@ -456,8 +480,10 @@
 
     # bug id 20020124.004
     # If we have d_lstat, we should have symlink()
-    my $linkname = 'dolzero';
-    symlink $0, $linkname or die "# Can't symlink $0: $!";
+    my $linkname = 'stat-' . rand =~ y/.//dr;
+    my $target = $Perl;
+    $target =~ s/;\d+\z// if $Is_VMS; # symlinks don't like version numbers
+    symlink $target, $linkname or die "# Can't symlink $0: $!";
     lstat $linkname;
     -T _;
     eval { lstat _ };
@@ -488,6 +514,7 @@
     ok(unlink($f), 'unlink tmp file');
 }
 
+# [perl #4253]
 {
     ok(open(F, ">", $tmpfile), 'can create temp file');
     close F;
@@ -497,6 +524,15 @@
     -T _;
     my $s2 = -s _;
     is($s1, $s2, q(-T _ doesn't break the statbuffer));
+    SKIP: {
+	skip "No lstat", 1 unless $Config{d_lstat};
+	skip "uid=0", 1 unless $<&&$>;
+	skip "Readable by group/other means readable by me", 1 if $^O eq 'VMS';
+	lstat($tmpfile);
+	-T _;
+	ok(eval { lstat _ },
+	   q(-T _ doesn't break lstat for unreadable file));
+    }
     unlink $tmpfile;
 }
 
@@ -557,6 +593,16 @@
     }
 }
 
+# [perl #71002]
+{
+    local $^W = 1;
+    my $w;
+    local $SIG{__WARN__} = sub { warn shift; ++$w };
+    stat 'prepeinamehyparcheiarcheiometoonomaavto';
+    stat _;
+    is $w, undef, 'no unopened warning from stat _';
+}
+
 END {
     chmod 0666, $tmpfile;
     unlink_all $tmpfile;


Property changes on: vendor/perl/dist/t/op/stat.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/state.t
===================================================================
--- vendor/perl/dist/t/op/state.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/state.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,9 +8,15 @@
 }
 
 use strict;
+
+plan tests => 132;
+
+# Before loading feature.pm, test it with CORE::
+ok eval 'CORE::state $x = 1;', 'CORE::state outside of feature.pm scope';
+
+
 use feature ":5.10";
 
-plan tests => 130;
 
 ok( ! defined state $uninit, q(state vars are undef by default) );
 
@@ -205,6 +211,7 @@
 my $First  = ucfirst $first;
 $_ = "bambam";
 foreach my $flint (@stones) {
+    no warnings 'experimental::lexical_topic';
     state $_ = $flint;
     is $_, $first, 'state $_';
     ok /$first/, '/.../ binds to $_';
@@ -305,6 +312,7 @@
 #
 my @spam = qw [spam ham bacon beans];
 foreach my $spam (@spam) {
+    no warnings 'experimental::smartmatch';
     given (state $spam = $spam) {
         when ($spam [0]) {ok 1, "given"}
         default          {ok 0, "given"}
@@ -398,6 +406,17 @@
 }
 
 
+# [perl #117095] state var initialisation getting skipped
+# the 'if 0' code below causes a call to op_free at compile-time,
+# which used to inadvertently mark the state var as initialised.
+
+{
+    state $f = 1;
+    foo($f) if 0; # this calls op_free on padmy($f)
+    ok(defined $f, 'state init not skipped');
+}
+
+
 __DATA__
 state ($a) = 1;
 (state $a) = 1;


Property changes on: vendor/perl/dist/t/op/state.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/study.t
===================================================================
--- vendor/perl/dist/t/op/study.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/study.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
 }
 
 watchdog(10);
-plan(tests => 29);
+plan(tests => 43);
 use strict;
 use vars '$x';
 
@@ -85,3 +85,77 @@
     ok(!/G.F$/, 'bug 20010618.006');
     ok(!/[F]F$/, 'bug 20010618.006');
 }
+
+{
+    my $a = 'QaaQaabQaabbQ';
+    study $a;
+    my @a = split /aab*/, $a;
+    is("@a", 'Q Q Q Q', 'split with studied string passed to the regep engine');
+}
+
+{
+    $_ = "AABBAABB";
+    study;
+    is(s/AB+/1/ge, 2, 'studied scalar passed to pp_substconst');
+    is($_, 'A1A1');
+}
+
+{
+    $_ = "AABBAABB";
+    study;
+    is(s/(A)B+/1/ge, 2,
+       'studied scalar passed to pp_substconst with RX_MATCH_COPIED() true');
+    is($1, 'A');
+    is($2, undef);
+    is($_, 'A1A1');
+}
+
+{
+    my @got;
+    $a = "ydydydyd";
+    $b = "xdx";
+    push @got, $_ foreach $a =~ /[^x]d(?{})[^x]d/g;
+    is("@got", 'ydyd ydyd', '#92696 control');
+
+    @got = ();
+    $a = "ydydydyd";
+    $b = "xdx";
+    study $a;
+    push @got, $_ foreach $a =~ /[^x]d(?{})[^x]d/g;
+    is("@got", 'ydyd ydyd', '#92696 study $a');
+
+    @got = ();
+    $a = "ydydydyd";
+    $b = "xdx";
+    study $b;
+    push @got, $_ foreach $a =~ /[^x]d(?{})[^x]d/g;
+    is("@got", 'ydyd ydyd', '#92696 study $b');
+
+    @got = ();
+    $a = "ydydydyd";
+    $b = "xdx";
+    push @got, $_ foreach $a =~ /[^x]d(?{study $b})[^x]d/g;
+    is("@got", 'ydyd ydyd', '#92696 study $b inside (?{}), nothing studied');
+
+    @got = ();
+    $a = "ydydydyd";
+    $b = "xdx";
+    my $c = 'zz';
+    study $c;
+    push @got, $_ foreach $a =~ /[^x]d(?{study $b})[^x]d/g;
+    is("@got", 'ydyd ydyd', '#92696 study $b inside (?{}), $c studied');
+
+    @got = ();
+    $a = "ydydydyd";
+    $b = "xdx";
+    study $a;
+    push @got, $_ foreach $a =~ /[^x]d(?{study $b})[^x]d/g;
+    is("@got", 'ydyd ydyd', '#92696 study $b inside (?{}), $a studied');
+
+    @got = ();
+    $a = "ydydydyd";
+    $b = "xdx";
+    study $a;
+    push @got, $_ foreach $a =~ /[^x]d(?{$a .= ''})[^x]d/g;
+    is("@got", 'ydyd ydyd', '#92696 $a .= \'\' inside (?{}), $a studied');
+}


Property changes on: vendor/perl/dist/t/op/study.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/studytied.t
===================================================================
--- vendor/perl/dist/t/op/studytied.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/studytied.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/studytied.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/sub.t
===================================================================
--- vendor/perl/dist/t/op/sub.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sub.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan( tests => 8 );
+plan( tests => 16 );
 
 sub empty_sub {}
 
@@ -40,3 +40,48 @@
     push @a, 34, 35, &{$x == $x};
     ok(eq_array(\@a, [34,35]), "yes without args");
 }
+
+# [perl #81944] return should always copy
+{
+    $foo{bar} = 7;
+    for my $x ($foo{bar}) {
+	# Pity test.pl doesnt have isn't.
+	isnt \sub { delete $foo{bar} }->(), \$x,
+	   'result of delete(helem) is copied when returned';
+    }
+    $foo{bar} = 7;
+    for my $x ($foo{bar}) {
+	isnt \sub { return delete $foo{bar} }->(), \$x,
+	   'result of delete(helem) is copied when explicitly returned';
+    }
+    my $x;
+    isnt \sub { delete $_[0] }->($x), \$x,
+      'result of delete(aelem) is copied when returned';
+    isnt \sub { return delete $_[0] }->($x), \$x,
+      'result of delete(aelem) is copied when explicitly returned';
+    isnt \sub { ()=\@_; shift }->($x), \$x,
+      'result of shift is copied when returned';
+    isnt \sub { ()=\@_; return shift }->($x), \$x,
+      'result of shift is copied when explicitly returned';
+}
+
+fresh_perl_is
+  <<'end', "main::foo\n", {}, 'sub redefinition sets CvGV';
+*foo = \&baz;
+*bar = *foo;
+eval 'sub bar { print +(caller 0)[3], "\n" }';
+bar();
+end
+
+fresh_perl_is
+  <<'end', "main::foo\nok\n", {}, 'no double free redefining anon stub';
+my $sub = sub { 4 };
+*foo = $sub;
+*bar = *foo;
+undef &$sub;
+eval 'sub bar { print +(caller 0)[3], "\n" }';
+&$sub;
+undef *foo;
+undef *bar;
+print "ok\n";
+end


Property changes on: vendor/perl/dist/t/op/sub.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/sub_lval.t
===================================================================
--- vendor/perl/dist/t/op/sub_lval.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sub_lval.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,7 +3,7 @@
     @INC = '../lib';
     require './test.pl';
 }
-plan tests=>76;
+plan tests=>192;
 
 sub a : lvalue { my $a = 34; ${\(bless \$a)} }  # Return a temporary
 sub b : lvalue { ${\shift} }
@@ -131,7 +131,7 @@
 
 #@out = ($x, a3, $y, b2, $z, c4, $t);
 #@in = (34 .. 41, (undef) x 4, 46);
-#print "# `@out' ne `@in'\nnot " unless "@out" eq "@in";
+#print "# '@out' ne '@in'\nnot " unless "@out" eq "@in";
 
 like($_, qr/Can\'t return an uninitialized value from lvalue subroutine/);
 print "ok 22\n";
@@ -210,7 +210,8 @@
 like($_, qr/Can\'t modify non-lvalue subroutine call/)
   or diag "'$_', '$x0', '$x1'";
 
-sub lv0 : lvalue { }		# Converted to lv10 in scalar context
+sub lv0 : lvalue { }
+sub rlv0 : lvalue { return }
 
 $_ = undef;
 eval <<'EOE' or $_ = $@;
@@ -220,8 +221,15 @@
 
 like($_, qr/Can't return undef from lvalue subroutine/);
 
-sub lv10 : lvalue {}
+$_ = undef;
+eval <<'EOE' or $_ = $@;
+  rlv0 = (2,3);
+  1;
+EOE
 
+like($_, qr/Can't return undef from lvalue subroutine/,
+    'explicit return of nothing in scalar context');
+
 $_ = undef;
 eval <<'EOE' or $_ = $@;
   (lv0) = (2,3);
@@ -230,7 +238,22 @@
 
 ok(!defined $_) or diag $_;
 
+$_ = undef;
+eval <<'EOE' or $_ = $@;
+  (rlv0) = (2,3);
+  1;
+EOE
+
+ok(!defined $_, 'explicit return of nothing in list context') or diag $_;
+
+($a,$b)=();
+(lv0($a,$b)) = (3,4);
+is +($a//'undef') . ($b//'undef'), 'undefundef',
+   'list assignment to empty lvalue sub';
+
+
 sub lv1u :lvalue { undef }
+sub rlv1u :lvalue { undef }
 
 $_ = undef;
 eval <<'EOE' or $_ = $@;
@@ -242,15 +265,29 @@
 
 $_ = undef;
 eval <<'EOE' or $_ = $@;
+  rlv1u = (2,3);
+  1;
+EOE
+
+like($_, qr/Can't return undef from lvalue subroutine/,
+     'explicitly returning undef in scalar context');
+
+$_ = undef;
+eval <<'EOE' or $_ = $@;
   (lv1u) = (2,3);
   1;
 EOE
 
-# Fixed by change @10777
-#print "# '$_'.\nnot "
-#  unless /Can\'t return an uninitialized value from lvalue subroutine/;
-# print "ok 34 # Skip: removed test\n";
+ok(!defined, 'implicitly returning undef in list context');
 
+$_ = undef;
+eval <<'EOE' or $_ = $@;
+  (rlv1u) = (2,3);
+  1;
+EOE
+
+ok(!defined, 'explicitly returning undef in list context');
+
 $x = '1234567';
 
 $_ = undef;
@@ -260,17 +297,32 @@
   1;
 EOE
 
-like($_, qr/Can\'t modify index in lvalue subroutine return/);
+like($_, qr/Can\'t return a temporary from lvalue subroutine/);
 
 $_ = undef;
 eval <<'EOE' or $_ = $@;
-  sub lv2t : lvalue { shift }
-  (lv2t) = (2,3);
+  sub rlv1t : lvalue { index $x, 2 }
+  rlv1t = (2,3);
   1;
 EOE
 
-like($_, qr/Can\'t modify shift in lvalue subroutine return/);
+like($_, qr/Can\'t return a temporary from lvalue subroutine/,
+    'returning a PADTMP explicitly');
 
+$_ = undef;
+eval <<'EOE' or $_ = $@;
+  (rlv1t) = (2,3);
+  1;
+EOE
+
+like($_, qr/Can\'t return a temporary from lvalue subroutine/,
+    'returning a PADTMP explicitly (list context)');
+
+$_ = undef;
+sub lv2t : lvalue { shift }
+(lv2t($_)) = (2,3);
+is($_, 2);
+
 $xxx = 'xxx';
 sub xxx () { $xxx }  # Not lvalue
 
@@ -281,7 +333,7 @@
   1;
 EOE
 
-like($_, qr/Can\'t modify non-lvalue subroutine call in lvalue subroutine return/);
+like($_, qr/Can\'t modify non-lvalue subroutine call at /);
 
 $_ = undef;
 eval <<'EOE' or $_ = $@;
@@ -289,7 +341,7 @@
   1;
 EOE
 
-like($_, qr/Can\'t return a temporary from lvalue subroutine/);
+like($_, qr/Can\'t modify non-lvalue subroutine call at /);
 
 sub yyy () { 'yyy' } # Const, not lvalue
 
@@ -300,7 +352,7 @@
   1;
 EOE
 
-like($_, qr/Can\'t modify constant item in lvalue subroutine return/);
+like($_, qr/Can\'t return a readonly value from lvalue subroutine at/);
 
 $_ = undef;
 eval <<'EOE' or $_ = $@;
@@ -333,17 +385,15 @@
 
 is("'@a' $_", "'2 3' ");
 
-$_ = undef;
- at a = ();
-$a[0] = undef;
-$a[1] = 12;
-eval <<'EOE' or $_ = $@;
-  (lva) = (2,3);
-  1;
-EOE
+is lva->${\sub { return $_[0] }}, 2,
+  'lvalue->$thing when lvalue returns array';
 
-is("'@a' $_", "'2 3' ");
+my @my = qw/ a b c /;
+sub lvmya : lvalue { @my }
 
+is lvmya->${\sub { return $_[0] }}, 3,
+  'lvalue->$thing when lvalue returns lexical array';
+
 sub lv1n : lvalue { $newvar }
 
 $_ = undef;
@@ -372,6 +422,13 @@
 foobar() = 12;
 is($newvar, "12");
 
+# But autoloading should only be triggered by a call to an undefined
+# subroutine.
+&{"lv1nn"} = 14;
+is $newvar, 12, 'AUTOLOAD does not take precedence over lvalue sub';
+eval { &{"xxx"} = 14 };
+is $newvar, 12, 'AUTOLOAD does not take precedence over non-lvalue sub';
+
 {
 my %hash; my @array;
 sub alv : lvalue { $array[1] }
@@ -452,6 +509,11 @@
 }
 is("@p", "1 8");
 
+sub keeze : lvalue { keys %__ }
+%__ = ("a","b");
+keeze = 64;
+is scalar %__, '1/64', 'keys assignment through lvalue sub';
+
 # Bug 20001223.002: split thought that the list had only one element
 @ary = qw(4 5 6);
 sub lval1 : lvalue { $ary[0]; }
@@ -500,10 +562,35 @@
 
 is ($Tie_Array::val[0], "value");
 
-TODO: {
-    local $TODO = 'test explicit return of lval expr';
 
-    # subs are corrupted copies from tests 1-~4
+# Check that tied pad vars that are returned can be assigned to
+sub TIESCALAR { bless [] }
+sub STORE {$wheel = $_[1]}
+sub FETCH {$wheel}
+sub tied_pad_var  :lvalue { tie my $tyre, ''; $tyre }
+sub tied_pad_varr :lvalue { tie my $tyre, ''; return $tyre }
+tied_pad_var = 1;
+is $wheel, 1, 'tied pad var returned in scalar lvalue context';
+tied_pad_var->${\sub{ $_[0] = 2 }};
+is $wheel, 2, 'tied pad var returned in scalar ref context';
+(tied_pad_var) = 3;
+is $wheel, 3, 'tied pad var returned in list lvalue context';
+$_ = 4 for tied_pad_var;
+is $wheel, 4, 'tied pad var returned in list ref context';
+tied_pad_varr = 5;
+is $wheel, 5, 'tied pad var explicitly returned in scalar lvalue context';
+tied_pad_varr->${\sub{ $_[0] = 6 }};
+is $wheel, 6, 'tied pad var explicitly returned in scalar ref context';
+(tied_pad_varr) = 7;
+is $wheel, 7, 'tied pad var explicitly returned in list lvalue context';
+$_ = 8 for tied_pad_varr;
+is $wheel, 8, 'tied pad var explicitly returned in list ref context';
+
+
+# Test explicit return of lvalue expression
+{
+    # subs are copies from tests 1-~18 with an explicit return added.
+    # They used not to work, which is why they are ‘badly’ named.
     sub bad_get_lex : lvalue { return $in };
     sub bad_get_st  : lvalue { return $blah }
 
@@ -525,6 +612,80 @@
     ++bad_get_st;
 
     is($blah, 8, "yada");
+
+    ++bad_get_lex;
+    cmp_ok($in, '==', 8);
+
+    bad_id(bad_get_st) = 10;
+    cmp_ok($blah, '==', 10);
+
+    bad_id(bad_get_lex) = 10;
+    cmp_ok($in, '==', 10);
+
+    ++bad_id(bad_get_st);
+    cmp_ok($blah, '==', 11);
+
+    ++bad_id(bad_get_lex);
+    cmp_ok($in, '==', 11);
+
+    bad_id1(bad_get_st) = 20;
+    cmp_ok($blah, '==', 20);
+
+    bad_id1(bad_get_lex) = 20;
+    cmp_ok($in, '==', 20);
+
+    ++bad_id1(bad_get_st);
+    cmp_ok($blah, '==', 21);
+
+    ++bad_id1(bad_get_lex);
+    cmp_ok($in, '==', 21);
+
+    bad_inc(bad_get_st);
+    cmp_ok($blah, '==', 22);
+
+    bad_inc(bad_get_lex);
+    cmp_ok($in, '==', 22);
+
+    bad_inc(bad_id(bad_get_st));
+    cmp_ok($blah, '==', 23);
+
+    bad_inc(bad_id(bad_get_lex));
+    cmp_ok($in, '==', 23);
+
+    ++bad_inc(bad_id1(bad_id(bad_get_st)));
+    cmp_ok($blah, '==', 25);
+
+    ++bad_inc(bad_id1(bad_id(bad_get_lex)));
+    cmp_ok($in, '==', 25);
+
+    # Recursive
+    my $r;
+    my $to_modify;
+    $r = sub :lvalue {
+      my $depth = shift//0;
+      if ($depth == 2) { return $to_modify }
+      return &$r($depth+1);
+    };
+    &$r(0) = 7;
+    is $to_modify, 7, 'recursive lvalue sub';
+
+    # Recursive with substr [perl #72706]
+    my $val = '';
+    my $pie;
+    $pie = sub :lvalue {
+	my $depth = shift;
+	return &$pie($depth) if $depth--;
+	substr $val, 0;
+    };
+    for my $depth (0, 1, 2) {
+	my $value = "Good $depth";
+	eval {
+	    &$pie($depth) = $value;
+	};
+	is($@, '', "recursive lvalue substr return depth $depth");
+	is($val, $value,
+	   "value assigned to recursive lvalue substr (depth $depth)");
+    }
 }
 
 { # bug #23790
@@ -544,6 +705,61 @@
     sub changeme { $_[2] = "free" }
     changeme(lval_array);
     is("@arr", "one two free");
+
+    # test again, with explicit return
+    sub rlval_array() : lvalue {return @arr}
+    @arr  = qw /one two three/;
+    $line = "zero";
+    for (rlval_array) {
+        $line .= $_;
+    }
+    is($line, "zeroonetwothree");
+    is(trythislval(rlval_array()), "3xonetwothree");
+    changeme(rlval_array);
+    is("@arr", "one two free");
+
+    # Variations on the same theme, with multiple vars returned
+    my $scalar = 'half';
+    sub lval_scalar_array () : lvalue { $scalar, @arr }
+    @arr  = qw /one two three/;
+    $line = "zero";
+    for (lval_scalar_array) {
+        $line .= $_;
+    }
+    is($line, "zerohalfonetwothree");
+    is(trythislval(lval_scalar_array()), "4xhalfonetwothree");
+    changeme(lval_scalar_array);
+    is("@arr", "one free three");
+
+    sub lval_array_scalar () : lvalue { @arr, $scalar }
+    @arr  = qw /one two three/;
+    $line = "zero";
+    $scalar = 'four';
+    for (lval_array_scalar) {
+        $line .= $_;
+    }
+    is($line, "zeroonetwothreefour");
+    is(trythislval(lval_array_scalar()), "4xonetwothreefour");
+    changeme(lval_array_scalar);
+    is("@arr", "one two free");
+
+    # Tests for specific ops not tested above
+    # rv2av
+    @array2 = qw 'one two free';
+    is join(',', map $_, sub:lvalue{@array2}->()), 'one,two,free',
+      'rv2av in reference context';
+    is join(',', map $_, sub:lvalue{@{\@array2}}->()), 'one,two,free',
+      'rv2av-with-ref in reference context';
+    # padhv
+    my %hash = qw[a b c d];
+    like join(',', map $_, sub:lvalue{%hash}->()),
+         qr/^(?:a,b,c,d|c,d,a,b)\z/, 'padhv in reference context';
+    # rv2hv
+    %hash2 = qw[a b c d];
+    like join(',', map $_, sub:lvalue{%hash2}->()),
+         qr/^(?:a,b,c,d|c,d,a,b)\z/, 'rv2hv in reference context';
+    like join(',', map $_, sub:lvalue{%{\%hash2}}->()),
+         qr/^(?:a,b,c,d|c,d,a,b)\z/, 'rv2hv-with-ref in reference context';
 }
 
 {
@@ -557,17 +773,22 @@
     is ($result, 'bar', "RT #41550");
 }
 
+SKIP: { skip 'no attributes.pm', 1 unless eval 'require attributes';
 fresh_perl_is(<<'----', <<'====', "lvalue can not be set after definition. [perl #68758]");
 use warnings;
 our $x;
 sub foo { $x }
 sub foo : lvalue;
+sub MODIFY_CODE_ATTRIBUTES {}
+sub foo : lvalue : fr0g;
 foo = 3;
 ----
 lvalue attribute ignored after the subroutine has been defined at - line 4.
-Can't modify non-lvalue subroutine call in scalar assignment at - line 5, near "3;"
+lvalue attribute ignored after the subroutine has been defined at - line 6.
+Can't modify non-lvalue subroutine call in scalar assignment at - line 7, near "3;"
 Execution of - aborted due to compilation errors.
 ====
+}
 
 {
     my $x;
@@ -577,24 +798,172 @@
     is($x, 5, "subroutine declared with lvalue before definition retains lvalue. [perl #68758]");
 }
 
+SKIP: { skip "no attributes.pm", 2 unless eval { require attributes };
+  sub utf8::valid :lvalue;
+  require attributes;
+  is "@{[ &attributes::get(\&utf8::valid) ]}", 'lvalue',
+   'sub declaration with :lvalue applies it to XSUBs';
+
+  BEGIN { *wonky = \&marjibberous }
+  sub wonky :lvalue;
+  is "@{[ &attributes::get(\&wonky) ]}", 'lvalue',
+   'sub declaration with :lvalue applies it to assigned stub';
+}
+
 sub fleen : lvalue { $pnare }
 $pnare = __PACKAGE__;
 ok eval { fleen = 1 }, "lvalues can return COWs (CATTLE?) [perl #75656]";\
 is $pnare, 1, 'and returning CATTLE actually works';
+$pnare = __PACKAGE__;
+ok eval { (fleen) = 1 }, "lvalues can return COWs in list context";
+is $pnare, 1, 'and returning COWs in list context actually works';
+$pnare = __PACKAGE__;
+ok eval { $_ = 1 for(fleen); 1 }, "lvalues can return COWs in ref cx";
+is $pnare, 1, 'and returning COWs in reference context actually works';
 
-{
-    my $result_3363;
-    sub a_3363 {
-        my ($word, $replace) = @_;
-        my $ref = \substr($word, 0, 1);
-        $$ref = $replace;
-        if ($replace eq "b") {
-            $result_3363 = $word;
-        } else {
-            a_3363($word, "b");
-        }
+
+# Returning an arbitrary expression, not necessarily lvalue
++sub :lvalue { return $ambaga || $ambaga }->() = 73;
+is $ambaga, 73, 'explicit return of arbitrary expression (scalar context)';
+(sub :lvalue { return $ambaga || $ambaga }->()) = 74;
+is $ambaga, 74, 'explicit return of arbitrary expression (list context)';
++sub :lvalue { $ambaga || $ambaga }->() = 73;
+is $ambaga, 73, 'implicit return of arbitrary expression (scalar context)';
+(sub :lvalue { $ambaga || $ambaga }->()) = 74;
+is $ambaga, 74, 'implicit return of arbitrary expression (list context)';
+eval { +sub :lvalue { return 3 }->() = 4 };
+like $@, qr/Can\'t return a readonly value from lvalue subroutine at/,
+      'assignment to numeric constant explicitly returned from lv sub';
+eval { (sub :lvalue { return 3 }->()) = 4 };
+like $@, qr/Can\'t return a readonly value from lvalue subroutine at/,
+      'assignment to num constant explicitly returned (list cx)';
+eval { +sub :lvalue { 3 }->() = 4 };
+like $@, qr/Can\'t return a readonly value from lvalue subroutine at/,
+      'assignment to numeric constant implicitly returned from lv sub';
+eval { (sub :lvalue { 3 }->()) = 4 };
+like $@, qr/Can\'t return a readonly value from lvalue subroutine at/,
+      'assignment to num constant implicitly returned (list cx)';
+
+# reference (potential lvalue) context
+$suffix = '';
+for my $sub (sub :lvalue {$_}, sub :lvalue {return $_}) {
+    &$sub()->${\sub { $_[0] = 37 }};
+    is $_, '37', 'lvalue->method'.$suffix;
+    ${\scalar &$sub()} = 38;
+    is $_, '38', 'scalar(lvalue)'.$suffix;
+    sub assign39_with_proto ($) { $_[0] = 39 }
+    assign39_with_proto(&$sub());
+    is $_, '39', 'func(lvalue) when func has $ proto'.$suffix;
+    $_ = 1;
+    ${\(&$sub()||undef)} = 40;
+    is $_, '40', 'lvalue||...'.$suffix;
+    ${\(${\undef}||&$sub())} = 41; # extra ${\...} to bypass const folding
+    is $_, '41', '...||lvalue'.$suffix;
+    $_ = 0;
+    ${\(&$sub()&&undef)} = 42;
+    is $_, '42', 'lvalue&&...'.$suffix;
+    ${\(${\1}&&&$sub())} = 43;
+    is $_, '43', '...&&lvalue'.$suffix;
+    ${\(&$sub())[0]} = 44;
+    is $_, '44', '(lvalue)[0]'.$suffix;
+}
+continue { $suffix = ' (explicit return)' }
+
+# autovivification
+$suffix = '';
+for my $sub (sub :lvalue {$_}, sub :lvalue {return $_}) {
+    undef $_;
+    &$sub()->[3] = 4;
+    is $_->[3], 4, 'func->[...] autovivification'.$suffix;
+    undef $_;
+    &$sub()->{3} = 4;
+    is $_->{3}, 4, 'func->{...} autovivification'.$suffix;
+    undef $_;
+    ${&$sub()} = 4;
+    is $$_, 4, '${func()} autovivification'      .$suffix;
+    undef $_;
+    @{&$sub()} = 4;
+    is "@$_", 4, '@{func()} autovivification'    .$suffix;
+    undef $_;
+    %{&$sub()} = (4,5);
+    is join('-',%$_), '4-5', '%{func()} autovivification'.$suffix;
+    undef $_;
+    ${ (), &$sub()} = 4;
+    is $$_, 4, '${ (), func()} autovivification'      .$suffix;
+}
+continue { $suffix = ' (explicit return)' }
+
+# [perl #92406] [perl #92290] Returning a pad var in rvalue context
+$suffix = '';
+for my $sub (
+         sub :lvalue { my $x = 72; $x },
+         sub :lvalue { my $x = 72; return $x }
+) {
+    is scalar(&$sub), 72, "sub returning pad var in scalar context$suffix";
+    is +(&$sub)[0], 72, "sub returning pad var in list context$suffix";
+}
+continue { $suffix = ' (explicit return)' }
+
+# Returning read-only values in reference context
+$suffix = '';
+for (
+         sub :lvalue { $] }->(),
+         sub :lvalue { return $] }->()
+) {
+    is \$_, \$], 'read-only values are returned in reference context'
+	         .$suffix             # (they used to be copied)
+}
+continue { $suffix = ' (explicit return)' }
+
+# Returning unwritables from nested lvalue sub call in in rvalue context
+# First, ensure we are testing what we think we are:
+if (!Internals::SvREADONLY($])) { Internals::SvREADONLY($],1); }
+sub squibble : lvalue { return $] }
+sub squebble : lvalue {        squibble }
+sub squabble : lvalue { return squibble }
+is $x = squebble, $], 'returning ro from nested lv sub call in rv cx';
+is $x = squabble, $], 'explct. returning ro from nested lv sub in rv cx';
+is \squebble, \$], 'returning ro from nested lv sub call in ref cx';
+is \squabble, \$], 'explct. returning ro from nested lv sub in ref cx';
+
+# [perl #102486] Sub calls as the last statement of an lvalue sub
+package _102486 {
+  my $called;
+  my $x = 'nonlv';
+  sub strictlv :lvalue { use strict 'refs'; &$x }
+  sub lv :lvalue { &$x }
+  sub nonlv { ++$called }
+  eval { strictlv };
+  ::like $@, qr/^Can't use string \("nonlv"\) as a subroutine ref while/,
+        'strict mode applies to sub:lvalue{ &$string }';
+  $called = 0;
+  ::ok eval { lv },
+      'sub:lvalue{&$x}->() does not die for non-lvalue inner sub call';
+  ::is $called, 1, 'The &$x actually called the sub';
+  eval { +sub :lvalue { &$x }->() = 3 };
+  ::like $@, qr/^Can't modify non-lvalue subroutine call at /,
+        'sub:lvalue{&$x}->() dies in true lvalue context';
+}
+
+# TARG should be copied in rvalue context
+sub ucf :lvalue { ucfirst $_[0] }
+is ucf("just another ") . ucf("perl hacker,\n"),
+   "Just another Perl hacker,\n", 'TARG is copied in rvalue scalar cx';
+is join('',ucf("just another "), ucf "perl hacker,\n"),
+   "Just another Perl hacker,\n", 'TARG is copied in rvalue list cx';
+sub ucfr : lvalue {
+    @_ ? ucfirst $_[0] : do {
+	is ucfr("just another ") . ucfr("perl hacker,\n"),
+	   "Just another Perl hacker,\n",
+	   'TARG is copied in recursive rvalue scalar cx';
+	is join('',ucfr("just another "), ucfr("perl hacker,\n")),
+	   "Just another Perl hacker,\n",
+	   'TARG is copied in recursive rvalue list cx';
     }
-    a_3363($_, "v") for "test";
+}
+ucfr();
 
-    is($result_3363, "best", "ref-to-substr retains lvalue-ness under recursion [perl #3363]");
-}
+# [perl #117947] XSUBs should not be treated as lvalues at run time
+eval { &{\&utf8::is_utf8}("") = 3 };
+like $@, qr/^Can't modify non-lvalue subroutine call at /,
+        'XSUB not seen at compile time dies in lvalue context';


Property changes on: vendor/perl/dist/t/op/sub_lval.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/subst.t
===================================================================
--- vendor/perl/dist/t/op/subst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/subst.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/subst.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/substT.t
===================================================================
--- vendor/perl/dist/t/op/substT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/substT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/substT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/subst_amp.t
===================================================================
--- vendor/perl/dist/t/op/subst_amp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/subst_amp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/subst_amp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/subst_wamp.t
===================================================================
--- vendor/perl/dist/t/op/subst_wamp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/subst_wamp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/subst_wamp.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/substr.t
===================================================================
--- vendor/perl/dist/t/op/substr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/substr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,4 @@
-#!./perl -w
+#!./perl
 
 #P = start of string  Q = start of substr  R = end of substr  S = end of string
 
@@ -21,9 +21,9 @@
      }
 };
 
-require './test.pl';
+BEGIN { require './test.pl'; }
 
-plan(334);
+plan(387);
 
 run_tests() unless caller;
 
@@ -42,21 +42,9 @@
 like ($@, $FATAL_MSG);
 is(substr($a,0,-6), 'abc');  # P=Q R S
 is(substr($a,-3,1), 'x');    # P Q R S
+sub{$b = shift}->(substr($a,999,999));
+is ($w--, 1, 'boundless lvalue substr only warns on fetch');
 
-$[ = 1;
-
-is(substr($a,1,3), 'abc' );  # P=Q R S
-is(substr($a,4,3), 'def' );  # P Q R S
-is(substr($a,7,999), 'xyz');# P Q S R
-$b = substr($a,999,999) ; # warn # P R Q S
-is($w--, 1);
-eval{substr($a,999,999) = "" ; } ; # P R Q S
-like ($@, $FATAL_MSG);
-is(substr($a,1,-6), 'abc' );# P=Q R S
-is(substr($a,-3,1), 'x' );  # P Q R S
-
-$[ = 0;
-
 substr($a,3,3) = 'XYZ';
 is($a, 'abcXYZxyz' );
 substr($a,0,2) = '';
@@ -200,6 +188,11 @@
 eval{substr($a,1) = "" ; };     # P=R=S Q
 like($@, $FATAL_MSG);
 
+$b = substr($a,-7,-6) ; # warn  # Q R P S
+is($w--, 1);
+eval{substr($a,-7,-6) = "" ; }; # Q R P S
+like($@, $FATAL_MSG);
+
 my $a = 'zxcvbnm';
 substr($a,2,0) = '';
 is($a, 'zxcvbnm');
@@ -644,6 +637,51 @@
 	is($_, 'YYYY'); 
 	is($x, 'aYYYYef');
     }
+    $x = "abcdef";
+    for (substr($x,1)) {
+	is($_, 'bcdef');
+	$_ = 'XX';
+	is($_, 'XX');
+	is($x, 'aXX');
+	$x .= "frompswiggle";
+	is $_, "XXfrompswiggle";
+    }
+    $x = "abcdef";
+    for (substr($x,1,-1)) {
+	is($_, 'bcde');
+	$_ = 'XX';
+	is($_, 'XX');
+	is($x, 'aXXf');
+	$x .= "frompswiggle";
+	is $_, "XXffrompswiggl";
+    }
+    $x = "abcdef";
+    for (substr($x,-5,3)) {
+	is($_, 'bcd');
+	$_ = 'XX';   # now $_ is substr($x, -4, 2)
+	is($_, 'XX');
+	is($x, 'aXXef');
+	$x .= "frompswiggle";
+	is $_, "gg";
+    }
+    $x = "abcdef";
+    for (substr($x,-5)) {
+	is($_, 'bcdef');
+	$_ = 'XX';  # now substr($x, -2)
+	is($_, 'XX');
+	is($x, 'aXX');
+	$x .= "frompswiggle";
+	is $_, "le";
+    }
+    $x = "abcdef";
+    for (substr($x,-5,-1)) {
+	is($_, 'bcde');
+	$_ = 'XX';  # now substr($x, -3, -1)
+	is($_, 'XX');
+	is($x, 'aXXf');
+	$x .= "frompswiggle";
+	is $_, "gl";
+    }
 }
 
 # [perl #24200] string corruption with lvalue sub
@@ -681,4 +719,146 @@
     is(substr($a,1,1), 'b');
 }
 
+# [perl #62646] offsets exceeding 32 bits on 64-bit system
+SKIP: {
+    skip("32-bit system", 24) unless ~0 > 0xffffffff;
+    my $a = "abc";
+    my $s;
+    my $r;
+
+    utf8::downgrade($a);
+    for (1..2) {
+	$w = 0;
+	$r = substr($a, 0xffffffff, 1);
+	is($r, undef);
+	is($w, 1);
+
+	$w = 0;
+	$r = substr($a, 0xffffffff+1, 1);
+	is($r, undef);
+	is($w, 1);
+
+	$w = 0;
+	ok( !eval { $r = substr($s=$a, 0xffffffff, 1, "_"); 1 } );
+	is($r, undef);
+	is($s, $a);
+	is($w, 0);
+
+	$w = 0;
+	ok( !eval { $r = substr($s=$a, 0xffffffff+1, 1, "_"); 1 } );
+	is($r, undef);
+	is($s, $a);
+	is($w, 0);
+
+	utf8::upgrade($a);
+    }
 }
+
+# [perl #77692] UTF8 cache not being reset when TARG is reused
+ok eval {
+ local ${^UTF8CACHE} = -1;
+ for my $i (0..1)
+ {
+   my $dummy = length(substr("\x{100}",0,$i));
+ }
+ 1
+}, 'UTF8 cache is reset when TARG is reused [perl #77692]';
+
+{
+    use utf8;
+    use open qw( :utf8 :std );
+    no warnings 'once';
+
+    my $t = "";
+    substr $t, 0, 0, *ワルド;
+    is($t, "*main::ワルド", "substr works on UTF-8 globs");
+
+    $t = "The World!";
+    substr $t, 0, 9, *ザ::ワルド;
+    is($t, "*ザ::ワルド!", "substr works on a UTF-8 glob + stash");
+}
+
+{
+    my $x = *foo;
+    my $y = \substr *foo, 0, 0;
+    is ref \$x, 'GLOB', '\substr does not coerce its glob arg just yet';
+    $x = \"foo";
+    $y = \substr *foo, 0, 0;
+    is ref \$x, 'REF', '\substr does not coerce its ref arg just yet';
+}
+
+# Test that UTF8-ness of magic var changing does not confuse substr lvalue
+# assignment.
+# We use overloading for our magic var, but a typeglob would work, too.
+package o {
+    use overload '""' => sub { ++our $count; $_[0][0] }
+}
+my $refee = bless ["\x{100}a"], o::;
+my $substr = \substr $refee, -2;	# UTF8 flag still off for $$substr.
+$$substr = "b";				# UTF8 flag turns on when setsubstr
+is $refee, "b",				# magic stringifies $$substr.
+     'substr lvalue assignment when stringification turns on UTF8ness';
+
+# Test that changing UTF8-ness does not confuse 4-arg substr.
+$refee = bless [], "\x{100}a";
+# stringify without returning on UTF8 flag on $refee:
+my $string = $refee; $string = "$string";
+substr $refee, 0, 0, "\xff";
+is $refee, "\xff$string",
+  '4-arg substr with target UTF8ness turning on when stringified';
+$refee = bless [], "\x{100}";
+() = "$refee"; # UTF8 flag now on
+bless $refee, "\xff";
+$string = $refee; $string = "$string";
+substr $refee, 0, 0, "\xff";
+is $refee, "\xff$string",
+  '4-arg substr with target UTF8ness turning off when stringified';
+
+# Overload count
+$refee = bless ["foo"], o::;
+$o::count = 0;
+substr $refee, 0, 0, "";
+is $o::count, 1, '4-arg substr calls overloading once on the target';
+$refee = bless ["\x{100}"], o::;
+() = "$refee"; # turn UTF8 flag on
+$o::count = 0;
+() = substr $refee, 0;
+is $o::count, 1, 'rvalue substr calls overloading once on utf8 target';
+$o::count = 0;
+$refee = "";
+${\substr $refee, 0} = bless ["\x{100}"], o::;
+is $o::count, 1, 'assigning utf8 overload to substr lvalue calls ovld 1ce';
+
+# [perl #7678] core dump with substr reference and localisation
+{$b="abcde"; local $k; *k=\substr($b, 2, 1);}
+
+} # sub run_tests - put tests above this line that can run in threads
+
+
+my $destroyed;
+{ package Class; DESTROY { ++$destroyed; } }
+
+$destroyed = 0;
+{
+    my $x = '';
+    substr($x,0,1) = "";
+    $x = bless({}, 'Class');
+}
+is($destroyed, 1, 'Timely scalar destruction with lvalue substr');
+
+{
+    my $result_3363;
+    sub a_3363 {
+        my ($word, $replace) = @_;
+        my $ref = \substr($word, 0, 1);
+        $$ref = $replace;
+        if ($replace eq "b") {
+            $result_3363 = $word;
+        } else {
+            a_3363($word, "b");
+        }
+    }
+    a_3363($_, "v") for "test";
+
+    is($result_3363, "best", "ref-to-substr retains lvalue-ness under recursion [perl #3363]");
+}


Property changes on: vendor/perl/dist/t/op/substr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/substr_thr.t
===================================================================
--- vendor/perl/dist/t/op/substr_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/substr_thr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,3 @@
 #!./perl
-
 chdir 't' if -d 't';
- at INC = ('../lib', '.');
-
-require 'thread_it.pl';
-thread_it(qw(op substr.t));
+require './thread_it.pl';


Property changes on: vendor/perl/dist/t/op/substr_thr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/svleak.t
===================================================================
--- vendor/perl/dist/t/op/svleak.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/svleak.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,8 +13,10 @@
 	or skip_all("XS::APItest not available");
 }
 
-plan tests => 19;
+use Config;
 
+plan tests => 124;
+
 # run some code N times. If the number of SVs at the end of loop N is
 # greater than (N-1)*delta at the end of loop 1, we've got a leak
 #
@@ -30,6 +32,15 @@
     cmp_ok($sv1-$sv0, '<=', ($n-1)*$delta, @rest);
 }
 
+# Like leak, but run a string eval instead.
+# The code is used instead of the test name
+# if the name is absent.
+sub eleak {
+    my ($n,$delta,$code, at rest) = @_;
+    leak $n, $delta, sub { eval $code },
+         @rest ? @rest : $code
+}
+
 # run some expression N times. The expr is concatenated N times and then
 # evaled, ensuring that that there are no scope exits between executions.
 # If the number of SVs at the end of expr N is greater than (N-1)*delta at
@@ -58,6 +69,53 @@
 leak(5, 0, sub {push @a,1;pop @a}, "basic check 2 of leak test infrastructure");
 leak(5, 1, sub {push @a,1;},       "basic check 3 of leak test infrastructure");
 
+# Fatal warnings
+my $f = "use warnings FATAL =>";
+my $all = "$f 'all';";
+eleak(2, 0, "$f 'deprecated'; qq|\\c\{|", 'qq|\c{| with fatal warnings');
+eleak(2, 0, "$f 'syntax'; qq|\\c`|", 'qq|\c`| with fatal warnings');
+eleak(2, 0, "$all /\$\\ /", '/$\ / with fatal warnings');
+eleak(2, 0, "$all s//\\1/", 's//\1/ with fatal warnings');
+eleak(2, 0, "$all qq|\\i|", 'qq|\i| with fatal warnings');
+eleak(2, 0, "$f 'digit'; qq|\\o{9}|", 'qq|\o{9}| with fatal warnings');
+eleak(2, 0, "$f 'misc'; sub foo{} sub foo:lvalue",
+     'ignored :lvalue with fatal warnings');
+eleak(2, 0, "no warnings; use feature ':all'; $f 'misc';
+             my sub foo{} sub foo:lvalue",
+     'ignored mysub :lvalue with fatal warnings');
+eleak(2, 0, "no warnings; use feature ':all'; $all
+             my sub foo{} sub foo:lvalue{}",
+     'fatal mysub redef warning');
+eleak(2, 0, "$all sub foo{} sub foo{}", 'fatal sub redef warning');
+eleak(2, 0, "$all *x=sub {}",
+     'fatal sub redef warning with sub-to-glob assignment');
+eleak(2, 0, "$all *x=sub() {1}",
+     'fatal const sub redef warning with sub-to-glob assignment');
+eleak(2, 0, "$all XS::APItest::newCONSTSUB(\\%main::=>name=>0=>1)",
+     'newCONSTSUB sub redefinition with fatal warnings');
+eleak(2, 0, "$f 'misc'; my\$a,my\$a", 'double my with fatal warnings');
+eleak(2, 0, "$f 'misc'; our\$a,our\$a", 'double our with fatal warnings');
+eleak(2, 0, "$f 'closure';
+             sub foo { my \$x; format=\n\@\n\$x\n.\n} write; ",
+     'format closing over unavailable var with fatal warnings');
+eleak(2, 0, "$all /(?{})?/ ", '(?{})? with fatal warnings');
+eleak(2, 0, "$all /(?{})+/ ", '(?{})+ with fatal warnings');
+eleak(2, 0, "$all /[\\i]/ ", 'invalid charclass escape with fatal warns');
+eleak(2, 0, "$all /[:foo:]/ ", '/[:foo:]/ with fatal warnings');
+eleak(2, 0, "$all /[a-\\d]/ ", '[a-\d] char class with fatal warnings');
+eleak(2, 0, "$all v111111111111111111111111111111111111111111111111",
+     'vstring num overflow with fatal warnings');
+
+eleak(2, 0, 'sub{<*>}');
+# Use a random number of ops, so that the glob op does not reuse the same
+# address each time, giving us false passes.
+leak(2, 0, sub { eval '$x+'x(1 + rand() * 100) . '<*>'; },
+    'freeing partly iterated glob');
+
+eleak(2, 0, 'goto sub {}', 'goto &sub in eval');
+eleak(2, 0, '() = sort { goto sub {} } 1,2', 'goto &sub in sort');
+eleak(2, 0, '/(?{ goto sub {} })/', 'goto &sub in regexp');
+
 sub TIEARRAY	{ bless [], $_[0] }
 sub FETCH	{ $_[0]->[$_[1]] }
 sub STORE	{ $_[0]->[$_[1]] = $_[2] }
@@ -68,6 +126,19 @@
     leak(5, 0, sub {local $a[0]}, "local \$tied[0]");
 }
 
+# Overloading
+require overload;
+eleak(2, 0, "BEGIN{overload::constant integer=>sub{}} 1,1,1,1,1,1,1,1,1,1",
+     '"too many errors" from constant overloading returning undef');
+# getting this one to leak was complicated; we have to unset LOCALIZE_HH:
+eleak(2, 0, 'BEGIN{overload::constant integer=>sub{}; $^H &= ~ 0x00020000}
+             1,1,1,1,1,1,1,1,1,1',
+     '"too many errors" from constant overloading with $^H sabotaged');
+eleak(2, 0, "BEGIN{overload::constant integer=>sub{}; undef %^H}
+             1,1,1,1,1,1,1,1,1,1",
+     '"too many errors" from constant overloading with %^H undefined');
+
+
 # [perl #74484]  repeated tries leaked SVs on the tmps stack
 
 leak_expr(5, 0, q{"YYYYYa" =~ /.+?(a(.+?)|b)/ }, "trie leak");
@@ -129,6 +200,9 @@
   ok(!$weak, "hash referenced weakened SV released");
 }
 
+# prototype() errors
+leak(2,0, sub { eval { prototype "CORE::fu" } }, 'prototype errors');
+
 # RT #72246: rcatline memory leak on bad $/
 
 leak(2, 0,
@@ -141,3 +215,238 @@
     },
     "rcatline leak"
 );
+
+{
+    my $RE = qr/
+      (?:
+        <(?<tag>
+          \s*
+          [^>\s]+
+        )>
+      )??
+    /xis;
+
+    "<html><body></body></html>" =~ m/$RE/gcs;
+
+    leak(5, 0, sub {
+        my $tag = $+{tag};
+    }, "named regexp captures");
+}
+
+eleak(2,0,'/[:]/');
+eleak(2,0,'/[\xdf]/i');
+eleak(2,0,'s![^/]!!');
+eleak(2,0,'/[pp]/');
+eleak(2,0,'/[[:ascii:]]/');
+eleak(2,0,'/[[.zog.]]/');
+eleak(2,0,'/[.zog.]/');
+eleak(2,0,'no warnings; /(?[])/');
+eleak(2,0,'no warnings; /(?[[a]+[b]])/');
+eleak(2,0,'no warnings; /(?[[a]-[b]])/');
+eleak(2,0,'no warnings; /(?[[a]&[b]])/');
+eleak(2,0,'no warnings; /(?[[a]|[b]])/');
+eleak(2,0,'no warnings; /(?[[a]^[b]])/');
+eleak(2,0,'no warnings; /(?[![a]])/');
+eleak(2,0,'no warnings; /(?[\p{Word}])/');
+eleak(2,0,'no warnings; /(?[[a]+)])/');
+eleak(2,0,'no warnings; /(?[\d\d)])/');
+
+# These can generate one ref count, but just  once.
+eleak(4,1,'chr(0x100) =~ /[[:punct:]]/');
+eleak(4,1,'chr(0x100) =~ /[[:^punct:]]/');
+eleak(4,1,'chr(0x100) =~ /[[:word:]]/');
+eleak(4,1,'chr(0x100) =~ /[[:^word:]]/');
+
+eleak(2,0,'chr(0x100) =~ /\P{Assigned}/');
+leak(2,0,sub { /(??{})/ }, '/(??{})/');
+
+leak(2,0,sub { !$^V }, '[perl #109762] version object in boolean context');
+
+
+# [perl #114356] run-time rexexp with unchanging pattern got
+# inflated refcounts
+eleak(2, 0, q{ my $x = "x"; "abc" =~ /$x/ for 1..5 }, '#114356');
+
+eleak(2, 0, 'sub', '"sub" with nothing following');
+eleak(2, 0, '+sub:a{}', 'anon subs with invalid attributes');
+eleak(2, 0, 'no warnings; sub a{1 1}', 'sub with syntax error');
+eleak(2, 0, 'no warnings; sub {1 1}', 'anon sub with syntax error');
+eleak(2, 0, 'no warnings; use feature ":all"; my sub a{1 1}',
+     'my sub with syntax error');
+
+# Reification (or lack thereof)
+leak(2, 0, sub { sub { local $_[0]; shift }->(1) },
+    'local $_[0] on surreal @_, followed by shift');
+leak(2, 0, sub { sub { local $_[0]; \@_ }->(1) },
+    'local $_[0] on surreal @_, followed by reification');
+
+# Syntax errors
+eleak(2, 0, '"${<<END}"
+                 ', 'unterminated here-doc in quotes in multiline eval');
+eleak(2, 0, '"${<<END
+               }"', 'unterminated here-doc in multiline quotes in eval');
+leak(2, 0, sub { eval { do './op/svleak.pl' } },
+        'unterminated here-doc in file');
+eleak(2, 0, 'tr/9-0//');
+eleak(2, 0, 'tr/a-z-0//');
+eleak(2, 0, 'no warnings; nonexistent_function 33838',
+        'bareword followed by number');
+eleak(2, 0, '//dd;'x20, '"too many errors" when parsing m// flags');
+eleak(2, 0, 's///dd;'x20, '"too many errors" when parsing s/// flags');
+eleak(2, 0, 'no warnings; 2 2;BEGIN{}',
+      'BEGIN block after syntax error');
+{
+    local %INC; # in case Errno is already loaded
+    eleak(2, 0, 'no warnings; 2@!{',
+                'implicit "use Errno" after syntax error');
+}
+eleak(2, 0, "\"\$\0\356\"", 'qq containing $ <null> something');
+eleak(2, 0, 'END OF TERMS AND CONDITIONS', 'END followed by words');
+eleak(2, 0, "+ + +;qq|\\N{a}|"x10,'qq"\N{a}" after errors');
+eleak(2, 0, "qq|\\N{%}|",      'qq"\N{%}" (invalid charname)');
+eleak(2, 0, "qq|\\N{au}|;",    'qq"\N{invalid}"');
+eleak(2, 0, "qq|\\c|;"x10,     '"too many errors" from qq"\c"');
+eleak(2, 0, "qq|\\o|;"x10,     '"too many errors" from qq"\o"');
+eleak(2, 0, "qq|\\x{|;"x10,    '"too many errors" from qq"\x{"');
+eleak(2, 0, "qq|\\N|;"x10,     '"too many errors" from qq"\N"');
+eleak(2, 0, "qq|\\N{|;"x10,    '"too many errors" from qq"\N{"');
+eleak(2, 0, "qq|\\N{U+GETG}|;"x10,'"too many errors" from qq"\N{U+JUNK}"');
+
+
+# [perl #114764] Attributes leak scalars
+leak(2, 0, sub { eval 'my $x : shared' }, 'my $x :shared used to leak');
+
+eleak(2, 0, 'ref: 1', 'labels');
+
+# Tied hash iteration was leaking if the hash was freed before itera-
+# tion was over.
+package t {
+    sub TIEHASH { bless [] }
+    sub FIRSTKEY { 0 }
+}
+leak(2, 0, sub {
+    my $h = {};
+    tie %$h, t;
+    each %$h;
+    undef $h;
+}, 'tied hash iteration does not leak');
+
+package explosive_scalar {
+    sub TIESCALAR { my $self = shift; bless [undef, {@_}], $self  }
+    sub FETCH     { die 'FETCH' if $_[0][1]{FETCH}; $_[0][0] }
+    sub STORE     { die 'STORE' if $_[0][1]{STORE}; $_[0][0] = $_[1] }
+}
+tie my $die_on_fetch, 'explosive_scalar', FETCH => 1;
+
+# List assignment was leaking when assigning explosive scalars to
+# aggregates.
+leak(2, 0, sub {
+    eval {%a = ($die_on_fetch, 0)}; # key
+    eval {%a = (0, $die_on_fetch)}; # value
+    eval {%a = ($die_on_fetch, $die_on_fetch)}; # both
+    eval {%a = ($die_on_fetch)}; # key, odd elements
+}, 'hash assignment does not leak');
+leak(2, 0, sub {
+    eval {@a = ($die_on_fetch)};
+    eval {($die_on_fetch, $b) = ($b, $die_on_fetch)};
+    # restore
+    tie $die_on_fetch, 'explosive_scalar', FETCH => 1;
+}, 'array assignment does not leak');
+
+# [perl #107000]
+package hhtie {
+    sub TIEHASH { bless [] }
+    sub STORE    { $_[0][0]{$_[1]} = $_[2] }
+    sub FETCH    { die if $explosive; $_[0][0]{$_[1]} }
+    sub FIRSTKEY { keys %{$_[0][0]}; each %{$_[0][0]} }
+    sub NEXTKEY  { each %{$_[0][0]} }
+}
+leak(2, 0, sub {
+    eval q`
+    	BEGIN {
+	    $hhtie::explosive = 0;
+	    tie %^H, hhtie;
+	    $^H{foo} = bar;
+	    $hhtie::explosive = 1;
+    	}
+	{ 1; }
+    `;
+}, 'hint-hash copying does not leak');
+
+package explosive_array {
+    sub TIEARRAY  { bless [[], {}], $_[0]  }
+    sub FETCH     { die if $_[0]->[1]{FETCH}; $_[0]->[0][$_[1]]  }
+    sub FETCHSIZE { die if $_[0]->[1]{FETCHSIZE}; scalar @{ $_[0]->[0]  }  }
+    sub STORE     { die if $_[0]->[1]{STORE}; $_[0]->[0][$_[1]] = $_[2]  }
+    sub CLEAR     { die if $_[0]->[1]{CLEAR}; @{$_[0]->[0]} = ()  }
+    sub EXTEND    { die if $_[0]->[1]{EXTEND}; return  }
+    sub explode   { my $self = shift; $self->[1] = {@_} }
+}
+
+leak(2, 0, sub {
+    tie my @a, 'explosive_array';
+    tied(@a)->explode( STORE => 1 );
+    my $x = 0;
+    eval { @a = ($x)  };
+}, 'explosive array assignment does not leak');
+
+leak(2, 0, sub {
+    my ($a, $b);
+    eval { warn $die_on_fetch };
+}, 'explosive warn argument');
+
+leak(2, 0, sub {
+    my $foo = sub { return $die_on_fetch };
+    my $res = eval { $foo->() };
+    my @res = eval { $foo->() };
+}, 'function returning explosive does not leak');
+
+leak(2, 0, sub {
+    my $res = eval { {$die_on_fetch, 0} };
+    $res = eval { {0, $die_on_fetch} };
+}, 'building anon hash with explosives does not leak');
+
+leak(2, 0, sub {
+    my $res = eval { [$die_on_fetch] };
+}, 'building anon array with explosives does not leak');
+
+leak(2, 0, sub {
+    my @a;
+    eval { push @a, $die_on_fetch };
+}, 'pushing exploding scalar does not leak');
+
+leak(2, 0, sub {
+    eval { push @-, '' };
+}, 'pushing onto read-only array does not leak');
+
+
+# Run-time regexp code blocks
+{
+    use re 'eval';
+    my @tests = ('[(?{})]','(?{})');
+    for my $t (@tests) {
+	leak(2, 0, sub {
+	    / $t/;
+	}, "/ \$x/ where \$x is $t does not leak");
+	leak(2, 0, sub {
+	    /(?{})$t/;
+	}, "/(?{})\$x/ where \$x is $t does not leak");
+    }
+}
+
+
+{
+    use warnings FATAL => 'all';
+    leak(2, 0, sub {
+	no warnings 'once';
+	eval { printf uNopened 42 };
+    }, 'printfing to bad handle under fatal warnings does not leak');
+    open my $fh, ">", \my $buf;
+    leak(2, 0, sub {
+	eval { printf $fh chr 2455 };
+    }, 'wide fatal warning does not make printf leak');
+    close $fh or die $!;
+}
+
+
+leak(2,0,sub{eval{require untohunothu}}, 'requiring nonexistent module');


Property changes on: vendor/perl/dist/t/op/svleak.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/switch.t
===================================================================
--- vendor/perl/dist/t/op/switch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/switch.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,13 +8,22 @@
 
 use strict;
 use warnings;
+no warnings 'experimental::smartmatch';
 
-plan tests => 164;
+plan tests => 201;
 
-# The behaviour of the feature pragma should be tested by lib/switch.t
-# using the tests in t/lib/switch/*. This file tests the behaviour of
+# The behaviour of the feature pragma should be tested by lib/feature.t
+# using the tests in t/lib/feature/*. This file tests the behaviour of
 # the switch ops themselves.
 
+
+# Before loading feature, test the switch ops with CORE::
+CORE::given(3) {
+    CORE::when(3) { pass "CORE::given and CORE::when"; continue }
+    CORE::default { pass "continue (without feature) and CORE::default" }
+}
+
+
 use feature 'switch';
 
 eval { continue };
@@ -44,9 +53,10 @@
 
 $_ = "outside";
 given("inside") { check_outside1() }
-sub check_outside1 { is($_, "outside", "\$_ lexically scoped") }
+sub check_outside1 { is($_, "inside", "\$_ is not lexically scoped") }
 
 {
+    no warnings 'experimental::lexical_topic';
     my $_ = "outside";
     given("inside") { check_outside2() }
     sub check_outside2 {
@@ -389,6 +399,7 @@
 
 # Make sure it still works with a lexical $_:
 {
+    no warnings 'experimental::lexical_topic';
     my $_;
     my $test = "explicit comparison with lexical \$_";
     my $twenty_five = 25;
@@ -590,7 +601,7 @@
 
 my $f = tie my $v, "FetchCounter";
 
-{   my $test_name = "Only one FETCH (in given)";
+{   my $test_name = "Multiple FETCHes in given, due to aliasing";
     my $ok;
     given($v = 23) {
     	when(undef) {}
@@ -601,7 +612,7 @@
 	when(/24/) {$ok = 0}
     }
     is($ok, 1, "precheck: $test_name");
-    is($f->count(), 1, $test_name);
+    is($f->count(), 4, $test_name);
 }
 
 {   my $test_name = "Only one FETCH (numeric when)";
@@ -689,6 +700,7 @@
 
 {
     my $first = 1;
+    no warnings 'experimental::lexical_topic';
     my $_;
     for (1, "two") {
 	when ("two") {
@@ -707,6 +719,7 @@
 
 {
     my $first = 1;
+    no warnings 'experimental::lexical_topic';
     my $_;
     for $_ (1, "two") {
 	when ("two") {
@@ -725,6 +738,7 @@
 
 {
     my $first = 1;
+    no warnings 'experimental::lexical_topic';
     for my $_ (1, "two") {
 	when ("two") {
 	    is($first, 0, "Lexical loop: second");
@@ -1200,6 +1214,192 @@
     is("@in_slice", "a", "when(hash slice)");
 }
 
+{ # RT#84526 - Handle magical TARG
+    my $x = my $y = "aaa";
+    for ($x, $y) {
+	given ($_) {
+	    is(pos, undef, "handle magical TARG");
+            pos = 1;
+	}
+    }
+}
+
+# Test that returned values are correctly propagated through several context
+# levels (see RT #93548).
+{
+    my $tester = sub {
+	my $id = shift;
+
+	package fmurrr;
+
+	our ($when_loc, $given_loc, $ext_loc);
+
+	my $ext_lex    = 7;
+	our $ext_glob  = 8;
+	local $ext_loc = 9;
+
+	given ($id) {
+	    my $given_lex    = 4;
+	    our $given_glob  = 5;
+	    local $given_loc = 6;
+
+	    when (0) { 0 }
+
+	    when (1) { my $when_lex    = 1 }
+	    when (2) { our $when_glob  = 2 }
+	    when (3) { local $when_loc = 3 }
+
+	    when (4) { $given_lex }
+	    when (5) { $given_glob }
+	    when (6) { $given_loc }
+
+	    when (7) { $ext_lex }
+	    when (8) { $ext_glob }
+	    when (9) { $ext_loc }
+
+	    'fallback';
+	}
+    };
+
+    my @descriptions = qw<
+	constant
+
+	when-lexical
+	when-global
+	when-local
+
+	given-lexical
+	given-global
+	given-local
+
+	extern-lexical
+	extern-global
+	extern-local
+    >;
+
+    for my $id (0 .. 9) {
+	my $desc = $descriptions[$id];
+
+	my $res = $tester->($id);
+	is $res, $id, "plain call - $desc";
+
+	$res = do {
+	    my $id_plus_1 = $id + 1;
+	    given ($id_plus_1) {
+		do {
+		    when (/\d/) {
+			--$id_plus_1;
+			continue;
+			456;
+		    }
+		};
+		default {
+		    $tester->($id_plus_1);
+		}
+		'XXX';
+	    }
+	};
+	is $res, $id, "across continue and default - $desc";
+    }
+}
+
+# Check that values returned from given/when are destroyed at the right time.
+{
+    {
+	package Fmurrr;
+
+	sub new {
+	    bless {
+		flag => \($_[1]),
+		id   => $_[2],
+	    }, $_[0]
+	}
+
+	sub DESTROY {
+	    ${$_[0]->{flag}}++;
+	}
+    }
+
+    my @descriptions = qw<
+	when
+	break
+	continue
+	default
+    >;
+
+    for my $id (0 .. 3) {
+	my $desc = $descriptions[$id];
+
+	my $destroyed = 0;
+	my $res_id;
+
+	{
+	    my $res = do {
+		given ($id) {
+		    my $x;
+		    when (0) { Fmurrr->new($destroyed, 0) }
+		    when (1) { my $y = Fmurrr->new($destroyed, 1); break }
+		    when (2) { $x = Fmurrr->new($destroyed, 2); continue }
+		    when (2) { $x }
+		    default  { Fmurrr->new($destroyed, 3) }
+		}
+	    };
+	    $res_id = $res->{id};
+	}
+	$res_id = $id if $id == 1; # break doesn't return anything
+
+	is $res_id,    $id, "given/when returns the right object - $desc";
+	is $destroyed, 1,   "given/when does not leak - $desc";
+    };
+}
+
+# break() must reset the stack
+{
+    my @res = (1, do {
+	given ("x") {
+	    2, 3, do {
+		when (/[a-z]/) {
+		    4, 5, 6, break
+		}
+	    }
+	}
+    });
+    is "@res", "1", "break resets the stack";
+}
+
+# RT #94682:
+# must ensure $_ is initialised and cleared at start/end of given block
+
+{
+    sub f1 {
+	no warnings 'experimental::lexical_topic';
+	my $_;
+	given(3) {
+	    return sub { $_ } # close over lexical $_
+	}
+    }
+    is(f1()->(), 3, 'closed over $_');
+
+    package RT94682;
+
+    my $d = 0;
+    sub DESTROY { $d++ };
+
+    sub f2 {
+	no warnings 'experimental::lexical_topic';
+	my $_ = 5;
+	given(bless [7]) {
+	    ::is($_->[0], 7, "is [7]");
+	}
+	::is($_, 5, "is 5");
+	::is($d, 1, "DESTROY called once");
+    }
+    f2();
+}
+
+
+
 # Okay, that'll do for now. The intricacies of the smartmatch
-# semantics are tested in t/op/smartmatch.t
+# semantics are tested in t/op/smartmatch.t. Taintedness of
+# returned values is checked in t/op/taint.t.
 __END__


Property changes on: vendor/perl/dist/t/op/switch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/symbolcache.t
===================================================================
--- vendor/perl/dist/t/op/symbolcache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/symbolcache.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/symbolcache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/sysio.t
===================================================================
--- vendor/perl/dist/t/op/sysio.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/sysio.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -14,8 +14,7 @@
            $^O eq 'os2' ||
            $^O eq 'MSWin32' ||
            $^O eq 'NetWare' ||
-           $^O eq 'dos' ||
-	   $^O eq 'mpeix');
+           $^O eq 'dos');
 
 $x = 'abc';
 


Property changes on: vendor/perl/dist/t/op/sysio.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/taint.t
===================================================================
--- vendor/perl/dist/t/op/taint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/taint.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,7 +17,7 @@
 use strict;
 use Config;
 
-plan tests => 774;
+plan tests => 797;
 
 $| = 1;
 
@@ -98,6 +98,7 @@
 
 # How to identify taint when you see it
 sub tainted ($) {
+    local $@;   # Don't pollute caller's value.
     not eval { join("", at _), kill 0; 1 };
 }
 
@@ -137,22 +138,6 @@
 {
     $ENV{'DCL$PATH'} = '' if $Is_VMS;
 
-    if ($Is_MSWin32 && $Config{ccname} =~ /bcc32/ && ! -f 'cc3250mt.dll') {
-	my $bcc_dir;
-	foreach my $dir (split /$Config{path_sep}/, $ENV{PATH}) {
-	    if (-f "$dir/cc3250mt.dll") {
-		$bcc_dir = $dir and last;
-	    }
-	}
-	if (defined $bcc_dir) {
-	    require File::Copy;
-	    File::Copy::copy("$bcc_dir/cc3250mt.dll", '.') or
-		die "$0: failed to copy cc3250mt.dll: $!\n";
-	    eval q{
-		END { unlink "cc3250mt.dll" }
-	    };
-	}
-    }
     $ENV{PATH} = ($Is_Cygwin) ? '/usr/bin' : '';
     delete @ENV{@MoreEnv};
     $ENV{TERM} = 'dumb';
@@ -167,7 +152,7 @@
 	while (my $v = $vars[0]) {
 	    local $ENV{$v} = $TAINT;
 	    last if eval { `$echo 1` };
-	    last unless $@ =~ /^Insecure \$ENV{$v}/;
+	    last unless $@ =~ /^Insecure \$ENV\{$v}/;
 	    shift @vars;
 	}
 	is("@vars", "");
@@ -178,7 +163,7 @@
 	is(eval { `$echo 1` }, "1\n");
 	$ENV{TERM} = 'e=mc2' . $TAINT;
 	is(eval { `$echo 1` }, undef);
-	like($@, qr/^Insecure \$ENV{TERM}/);
+	like($@, qr/^Insecure \$ENV\{TERM}/);
     }
 
     my $tmp;
@@ -197,7 +182,7 @@
 
 	local $ENV{PATH} = $tmp;
 	is(eval { `$echo 1` }, undef);
-	like($@, qr/^Insecure directory in \$ENV{PATH}/);
+	like($@, qr/^Insecure directory in \$ENV\{PATH}/);
     }
 
     SKIP: {
@@ -205,7 +190,7 @@
 
 	$ENV{'DCL$PATH'} = $TAINT;
 	is(eval { `$echo 1` }, undef);
-	like($@, qr/^Insecure \$ENV{DCL\$PATH}/);
+	like($@, qr/^Insecure \$ENV\{DCL\$PATH}/);
 	SKIP: {
             skip q[can't find world-writeable directory to test DCL$PATH], 2
               unless $tmp;
@@ -212,7 +197,7 @@
 
 	    $ENV{'DCL$PATH'} = $tmp;
 	    is(eval { `$echo 1` }, undef);
-	    like($@, qr/^Insecure directory in \$ENV{DCL\$PATH}/);
+	    like($@, qr/^Insecure directory in \$ENV\{DCL\$PATH}/);
 	}
 	$ENV{'DCL$PATH'} = '';
     }
@@ -311,26 +296,44 @@
     is($res, 1,        "$desc: res value");
     is($one, 'a',      "$desc: \$1 value");
 
-    $desc = "match with pattern tainted via locale";
+  SKIP: {
+        skip 'No locale testing without d_setlocale', 10 if(!$Config{d_setlocale});
 
-    $s = 'abcd';
-    { use locale; $res = $s =~ /(\w+)/; $one = $1; }
-    isnt_tainted($s,   "$desc: s not tainted");
-    isnt_tainted($res, "$desc: res not tainted");
-    is_tainted($one,   "$desc: \$1 tainted");
-    is($res, 1,        "$desc: res value");
-    is($one, 'abcd',   "$desc: \$1 value");
+        $desc = "match with pattern tainted via locale";
 
-    $desc = "match /g with pattern tainted via locale";
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ /(\w+)/; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        isnt_tainted($res, "$desc: res not tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($res, 1,        "$desc: res value");
+        is($one, 'abcd',   "$desc: \$1 value");
 
-    $s = 'abcd';
-    { use locale; $res = $s =~ /(\w)/g; $one = $1; }
-    isnt_tainted($s,   "$desc: s not tainted");
-    isnt_tainted($res, "$desc: res not tainted");
-    is_tainted($one,   "$desc: \$1 tainted");
-    is($res, 1,        "$desc: res value");
-    is($one, 'a',      "$desc: \$1 value");
+        $desc = "match /g with pattern tainted via locale";
 
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ /(\w)/g; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        isnt_tainted($res, "$desc: res not tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($res, 1,        "$desc: res value");
+        is($one, 'a',      "$desc: \$1 value");
+    }
+
     $desc = "match with pattern tainted, list cxt";
 
     $s = 'abcd';
@@ -354,28 +357,46 @@
     is($res2,'b',      "$desc: res2 value");
     is($one, 'd',      "$desc: \$1 value");
 
-    $desc = "match with pattern tainted via locale, list cxt";
+  SKIP: {
+        skip 'No locale testing without d_setlocale', 12 if(!$Config{d_setlocale});
 
-    $s = 'abcd';
-    { use locale; ($res) = $s =~ /(\w+)/; $one = $1; }
-    isnt_tainted($s,   "$desc: s not tainted");
-    is_tainted($res,   "$desc: res tainted");
-    is_tainted($one,   "$desc: \$1 tainted");
-    is($res, 'abcd',   "$desc: res value");
-    is($one, 'abcd',   "$desc: \$1 value");
+        $desc = "match with pattern tainted via locale, list cxt";
 
-    $desc = "match /g with pattern tainted via locale, list cxt";
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            ($res) = $s =~ /(\w+)/; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        is_tainted($res,   "$desc: res tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($res, 'abcd',   "$desc: res value");
+        is($one, 'abcd',   "$desc: \$1 value");
 
-    $s = 'abcd';
-    { use locale; ($res, $res2) = $s =~ /(\w)/g; $one = $1; }
-    isnt_tainted($s,   "$desc: s not tainted");
-    is_tainted($res,   "$desc: res tainted");
-    is_tainted($res2,  "$desc: res2 tainted");
-    is_tainted($one,   "$desc: \$1 tainted");
-    is($res, 'a',      "$desc: res value");
-    is($res2,'b',      "$desc: res2 value");
-    is($one, 'd',      "$desc: \$1 value");
+        $desc = "match /g with pattern tainted via locale, list cxt";
 
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            ($res, $res2) = $s =~ /(\w)/g; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        is_tainted($res,   "$desc: res tainted");
+        is_tainted($res2,  "$desc: res2 tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($res, 'a',      "$desc: res value");
+        is($res2,'b',      "$desc: res2 value");
+        is($one, 'd',      "$desc: \$1 value");
+    }
+
     $desc = "substitution with string tainted";
 
     $s = 'abcd' . $TAINT;
@@ -496,39 +517,64 @@
     is($res, 'xyz',    "$desc: res value");
     is($one, 'abcd',   "$desc: \$1 value");
 
-    $desc = "substitution with pattern tainted via locale";
+  SKIP: {
+        skip 'No locale testing without d_setlocale', 18 if(!$Config{d_setlocale});
 
-    $s = 'abcd';
-    { use locale;  $res = $s =~ s/(\w+)/xyz/; $one = $1; }
-    is_tainted($s,     "$desc: s tainted");
-    isnt_tainted($res, "$desc: res not tainted");
-    is_tainted($one,   "$desc: \$1 tainted");
-    is($s,  'xyz',     "$desc: s value");
-    is($res, 1,        "$desc: res value");
-    is($one, 'abcd',   "$desc: \$1 value");
+        $desc = "substitution with pattern tainted via locale";
 
-    $desc = "substitution /g with pattern tainted via locale";
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ s/(\w+)/xyz/; $one = $1;
+        }
+        is_tainted($s,     "$desc: s tainted");
+        isnt_tainted($res, "$desc: res not tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($s,  'xyz',     "$desc: s value");
+        is($res, 1,        "$desc: res value");
+        is($one, 'abcd',   "$desc: \$1 value");
 
-    $s = 'abcd';
-    { use locale;  $res = $s =~ s/(\w)/x/g; $one = $1; }
-    is_tainted($s,     "$desc: s tainted");
-    is_tainted($res,   "$desc: res tainted");
-    is_tainted($one,   "$desc: \$1 tainted");
-    is($s,  'xxxx',    "$desc: s value");
-    is($res, 4,        "$desc: res value");
-    is($one, 'd',      "$desc: \$1 value");
+        $desc = "substitution /g with pattern tainted via locale";
 
-    $desc = "substitution /r with pattern tainted via locale";
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ s/(\w)/x/g; $one = $1;
+        }
+        is_tainted($s,     "$desc: s tainted");
+        is_tainted($res,   "$desc: res tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($s,  'xxxx',    "$desc: s value");
+        is($res, 4,        "$desc: res value");
+        is($one, 'd',      "$desc: \$1 value");
 
-    $s = 'abcd';
-    { use locale;  $res = $s =~ s/(\w+)/xyz/r; $one = $1; }
-    isnt_tainted($s,   "$desc: s not tainted");
-    is_tainted($res,   "$desc: res tainted");
-    is_tainted($one,   "$desc: \$1 tainted");
-    is($s,  'abcd',    "$desc: s value");
-    is($res, 'xyz',    "$desc: res value");
-    is($one, 'abcd',   "$desc: \$1 value");
+        $desc = "substitution /r with pattern tainted via locale";
 
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ s/(\w+)/xyz/r; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        is_tainted($res,   "$desc: res tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($s,  'abcd',    "$desc: s value");
+        is($res, 'xyz',    "$desc: res value");
+        is($one, 'abcd',   "$desc: \$1 value");
+    }
+
     $desc = "substitution with replacement tainted";
 
     $s = 'abcd';
@@ -576,7 +622,7 @@
 	$one = $1;
     }
     is_tainted($s,     "$desc: s tainted");
-    is_tainted($res,   "$desc: res tainted");
+    isnt_tainted($res, "$desc: res tainted");
     isnt_tainted($one, "$desc: \$1 not tainted");
     is($s,  '123',     "$desc: s value");
     is($res, 3,        "$desc: res value");
@@ -667,26 +713,44 @@
 	is($res, 1,        "$desc: res value");
 	is($one, 'a',      "$desc: \$1 value");
 
-	$desc = "use re 'taint': match with pattern tainted via locale";
+  SKIP: {
+        skip 'No locale testing without d_setlocale', 10 if(!$Config{d_setlocale});
 
-	$s = 'abcd';
-	{ use locale; $res = $s =~ /(\w+)/; $one = $1; }
-	isnt_tainted($s,   "$desc: s not tainted");
-	isnt_tainted($res, "$desc: res not tainted");
-	is_tainted($one,   "$desc: \$1 tainted");
-	is($res, 1,        "$desc: res value");
-	is($one, 'abcd',   "$desc: \$1 value");
+        $desc = "use re 'taint': match with pattern tainted via locale";
 
-	$desc = "use re 'taint': match /g with pattern tainted via locale";
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ /(\w+)/; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        isnt_tainted($res, "$desc: res not tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($res, 1,        "$desc: res value");
+        is($one, 'abcd',   "$desc: \$1 value");
 
-	$s = 'abcd';
-	{ use locale; $res = $s =~ /(\w)/g; $one = $1; }
-	isnt_tainted($s,   "$desc: s not tainted");
-	isnt_tainted($res, "$desc: res not tainted");
-	is_tainted($one,   "$desc: \$1 tainted");
-	is($res, 1,        "$desc: res value");
-	is($one, 'a',      "$desc: \$1 value");
+        $desc = "use re 'taint': match /g with pattern tainted via locale";
 
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ /(\w)/g; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        isnt_tainted($res, "$desc: res not tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($res, 1,        "$desc: res value");
+        is($one, 'a',      "$desc: \$1 value");
+    }
+
 	$desc = "use re 'taint': match with pattern tainted, list cxt";
 
 	$s = 'abcd';
@@ -710,28 +774,46 @@
 	is($res2,'b',      "$desc: res2 value");
 	is($one, 'd',      "$desc: \$1 value");
 
-	$desc = "use re 'taint': match with pattern tainted via locale, list cxt";
+  SKIP: {
+        skip 'No locale testing without d_setlocale', 12 if(!$Config{d_setlocale});
 
-	$s = 'abcd';
-	{ use locale; ($res) = $s =~ /(\w+)/; $one = $1; }
-	isnt_tainted($s,   "$desc: s not tainted");
-	is_tainted($res,   "$desc: res tainted");
-	is_tainted($one,   "$desc: \$1 tainted");
-	is($res, 'abcd',   "$desc: res value");
-	is($one, 'abcd',   "$desc: \$1 value");
+        $desc = "use re 'taint': match with pattern tainted via locale, list cxt";
 
-	$desc = "use re 'taint': match /g with pattern tainted via locale, list cxt";
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            ($res) = $s =~ /(\w+)/; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        is_tainted($res,   "$desc: res tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($res, 'abcd',   "$desc: res value");
+        is($one, 'abcd',   "$desc: \$1 value");
 
-	$s = 'abcd';
-	{ use locale; ($res, $res2) = $s =~ /(\w)/g; $one = $1; }
-	isnt_tainted($s,   "$desc: s not tainted");
-	is_tainted($res,   "$desc: res tainted");
-	is_tainted($res2,  "$desc: res2 tainted");
-	is_tainted($one,   "$desc: \$1 tainted");
-	is($res, 'a',      "$desc: res value");
-	is($res2,'b',      "$desc: res2 value");
-	is($one, 'd',      "$desc: \$1 value");
+        $desc = "use re 'taint': match /g with pattern tainted via locale, list cxt";
 
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            ($res, $res2) = $s =~ /(\w)/g; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        is_tainted($res,   "$desc: res tainted");
+        is_tainted($res2,  "$desc: res2 tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($res, 'a',      "$desc: res value");
+        is($res2,'b',      "$desc: res2 value");
+        is($one, 'd',      "$desc: \$1 value");
+    }
+
 	$desc = "use re 'taint': substitution with string tainted";
 
 	$s = 'abcd' . $TAINT;
@@ -853,39 +935,64 @@
 	is($res, 'xyz',    "$desc: res value");
 	is($one, 'abcd',   "$desc: \$1 value");
 
-	$desc = "use re 'taint': substitution with pattern tainted via locale";
+  SKIP: {
+        skip 'No locale testing without d_setlocale', 18 if(!$Config{d_setlocale});
 
-	$s = 'abcd';
-	{ use locale;  $res = $s =~ s/(\w+)/xyz/; $one = $1; }
-	is_tainted($s,     "$desc: s tainted");
-	isnt_tainted($res, "$desc: res not tainted");
-	is_tainted($one,   "$desc: \$1 tainted");
-	is($s,  'xyz',     "$desc: s value");
-	is($res, 1,        "$desc: res value");
-	is($one, 'abcd',   "$desc: \$1 value");
+        $desc = "use re 'taint': substitution with pattern tainted via locale";
 
-	$desc = "use re 'taint': substitution /g with pattern tainted via locale";
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ s/(\w+)/xyz/; $one = $1;
+        }
+        is_tainted($s,     "$desc: s tainted");
+        isnt_tainted($res, "$desc: res not tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($s,  'xyz',     "$desc: s value");
+        is($res, 1,        "$desc: res value");
+        is($one, 'abcd',   "$desc: \$1 value");
 
-	$s = 'abcd';
-	{ use locale;  $res = $s =~ s/(\w)/x/g; $one = $1; }
-	is_tainted($s,     "$desc: s tainted");
-	is_tainted($res,   "$desc: res tainted");
-	is_tainted($one,   "$desc: \$1 tainted");
-	is($s,  'xxxx',    "$desc: s value");
-	is($res, 4,        "$desc: res value");
-	is($one, 'd',      "$desc: \$1 value");
+        $desc = "use re 'taint': substitution /g with pattern tainted via locale";
 
-	$desc = "use re 'taint': substitution /r with pattern tainted via locale";
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ s/(\w)/x/g; $one = $1;
+        }
+        is_tainted($s,     "$desc: s tainted");
+        is_tainted($res,   "$desc: res tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($s,  'xxxx',    "$desc: s value");
+        is($res, 4,        "$desc: res value");
+        is($one, 'd',      "$desc: \$1 value");
 
-	$s = 'abcd';
-	{ use locale;  $res = $s =~ s/(\w+)/xyz/r; $one = $1; }
-	isnt_tainted($s,   "$desc: s not tainted");
-	is_tainted($res,   "$desc: res tainted");
-	is_tainted($one,   "$desc: \$1 tainted");
-	is($s,  'abcd',    "$desc: s value");
-	is($res, 'xyz',    "$desc: res value");
-	is($one, 'abcd',   "$desc: \$1 value");
+        $desc = "use re 'taint': substitution /r with pattern tainted via locale";
 
+        $s = 'abcd';
+        {
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $res = $s =~ s/(\w+)/xyz/r; $one = $1;
+        }
+        isnt_tainted($s,   "$desc: s not tainted");
+        is_tainted($res,   "$desc: res tainted");
+        is_tainted($one,   "$desc: \$1 tainted");
+        is($s,  'abcd',    "$desc: s value");
+        is($res, 'xyz',    "$desc: res value");
+        is($one, 'abcd',   "$desc: \$1 value");
+    }
+
 	$desc = "use re 'taint': substitution with replacement tainted";
 
 	$s = 'abcd';
@@ -933,7 +1040,7 @@
 	    $one = $1;
 	}
 	is_tainted($s,     "$desc: s tainted");
-	is_tainted($res,   "$desc: res tainted");
+	isnt_tainted($res, "$desc: res tainted");
 	isnt_tainted($one, "$desc: \$1 not tainted");
 	is($s,  '123',     "$desc: s value");
 	is($res, 3,        "$desc: res value");
@@ -1645,6 +1752,14 @@
     ($r = $TAINT) =~ /($TAINT)/;
     is_tainted($1);
 
+    {
+	use re 'eval'; # this shouldn't make any difference
+	($r = $TAINT) =~ /($notaint)/;
+	isnt_tainted($1);
+	($r = $TAINT) =~ /($TAINT)/;
+	is_tainted($1);
+    }
+
     #  [perl #24674]
     # accessing $^O  shoudn't taint it as a side-effect;
     # assigning tainted data to it is now an error
@@ -2057,10 +2172,7 @@
     formline('@' .('<'*5) . ' | @*', 'hallo', 'welt');
     isnt_tainted($^A, "accumulator still untainted");
     formline('@' .('<'*(5+$TAINT0)) . ' | @*', 'hallo', 'welt');
-    TODO: {
-        local $::TODO = "get magic handled too late?";
-        is_tainted($^A, "the accumulator should be tainted already");
-    }
+    is_tainted($^A, "the accumulator should be tainted already");
     is_tainted($^A, "tainted formline picture makes a tainted accumulator");
 }
 
@@ -2127,7 +2239,7 @@
     ok("A" =~ /\p{$prop}/, "user-defined property: non-tainted case");
     $prop = "IsA$TAINT";
     eval { "A" =~ /\p{$prop}/};
-    like($@, qr/Insecure user-defined property \\p{main::IsA}/,
+    like($@, qr/Insecure user-defined property \\p\{main::IsA}/,
 	    "user-defined property: tainted case");
 }
 
@@ -2144,6 +2256,101 @@
     is_tainted $dest, "ucfirst(tainted) taints its return value";
 }
 
+{
+    # Taintedness of values returned from given()
+    use feature 'switch';
+    no warnings 'experimental::smartmatch';
+
+    my @descriptions = ('when', 'given end', 'default');
+
+    for (qw<x y z>) {
+	my $letter = "$_$TAINT";
+
+	my $desc = "tainted value returned from " . shift(@descriptions);
+
+	my $res = do {
+	    given ($_) {
+		when ('x') { $letter }
+		when ('y') { goto leavegiven }
+		default    { $letter }
+		leavegiven:  $letter
+	    }
+	};
+	is         $res, $letter, "$desc is correct";
+	is_tainted $res,          "$desc stays tainted";
+    }
+}
+
+
+# tainted constants and index()
+#  RT 64804; http://bugs.debian.org/291450
+{
+    ok(tainted $old_env_path, "initial taintedness");
+    BEGIN { no strict 'refs'; my $v = $old_env_path; *{"::C"} = sub () { $v }; }
+    ok(tainted C, "constant is tainted properly");
+    ok(!tainted "", "tainting not broken yet");
+    index(undef, C);
+    ok(!tainted "", "tainting still works after index() of the constant");
+}
+
+# Tainted values with smartmatch
+# [perl #93590] S_do_smartmatch stealing its own string buffers
+{
+no warnings 'experimental::smartmatch';
+ok "M$TAINT" ~~ ['m', 'M'], '$tainted ~~ ["whatever", "match"]';
+ok !("M$TAINT" ~~ ['m', undef]), '$tainted ~~ ["whatever", undef]';
+}
+
+# Tainted values and ref()
+for(1,2) {
+  my $x = bless \"M$TAINT", ref(bless[], "main");
+}
+pass("no death when TARG of ref is tainted");
+
+# $$ should not be tainted by being read in a tainted expression.
+{
+    isnt_tainted $$, "PID not tainted initially";
+    my $x = $ENV{PATH}.$$;
+    isnt_tainted $$, "PID not tainted when read in tainted expression";
+}
+
+SKIP: {
+    skip 'No locale testing without d_setlocale', 4 if(!$Config{d_setlocale});
+
+    use feature 'fc';
+    BEGIN {
+        if($Config{d_setlocale}) {
+            require locale; import locale;
+        }
+    }
+    my ($latin1, $utf8) = ("\xDF") x 2;
+    utf8::downgrade($latin1);
+    utf8::upgrade($utf8);
+
+    is_tainted fc($latin1), "under locale, lc(latin1) taints the result";
+    is_tainted fc($utf8), "under locale, lc(utf8) taints the result";
+
+    is_tainted "\F$latin1", "under locale, \\Flatin1 taints the result";
+    is_tainted "\F$utf8", "under locale, \\Futf8 taints the result";
+}
+
+{ # 111654
+  eval {
+    eval { die "Test\n".substr($ENV{PATH}, 0, 0); };
+    die;
+  };
+  like($@, qr/^Test\n\t\.\.\.propagated at /, "error should be propagated");
+}
+
+# tainted run-time (?{}) should die
+
+{
+    my $code = '(?{})' . $TAINT;
+    use re 'eval';
+    eval { "a" =~ /$code/ };
+    like($@, qr/Eval-group in insecure regular expression/, "tainted (?{})");
+}
+
 # This may bomb out with the alarm signal so keep it last
 SKIP: {
     skip "No alarm()"  unless $Config{d_alarm};


Property changes on: vendor/perl/dist/t/op/taint.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/threads-dirh.t
===================================================================
--- vendor/perl/dist/t/op/threads-dirh.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/threads-dirh.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/threads-dirh.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/threads.t
===================================================================
--- vendor/perl/dist/t/op/threads.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/threads.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
      skip_all_without_config('useithreads');
      skip_all_if_miniperl("no dynamic loading on miniperl, no threads");
 
-     plan(24);
+     plan(26);
 }
 
 use strict;
@@ -135,6 +135,7 @@
 #
 # run-time usage of newCONSTSUB (as done by the IO boot code) wasn't
 # thread-safe - got occasional coredumps or malloc corruption
+watchdog(60, "process");
 {
     local $SIG{__WARN__} = sub {};   # Ignore any thread creation failure warnings
     my @t;
@@ -160,7 +161,7 @@
 
 # the seen_evals field of a regexp was getting zeroed on clone, so
 # within a thread it didn't  know that a regex object contained a 'safe'
-# re_eval expression, so it later died with 'Eval-group not allowed' when
+# code expression, so it later died with 'Eval-group not allowed' when
 # you tried to interpolate the object
 
 sub safe_re {
@@ -342,8 +343,40 @@
 
 EOI
 
+# make sure peephole optimiser doesn't recurse heavily.
+# (We run this inside a thread to get a small stack)
+
+{
+    # lots of constructs that have o->op_other etc
+    my $code = <<'EOF';
+	$r = $x || $y;
+	$x ||= $y;
+	$r = $x // $y;
+	$x //= $y;
+	$r = $x && $y;
+	$x &&= $y;
+	$r = $x ? $y : $z;
+	@a = map $x+1, @a;
+	@a = grep $x+1, @a;
+	$r = /$x/../$y/;
+
+	# this one will fail since we removed tail recursion optimisation
+	# with f11ca51e41e8
+	#while (1) { $x = 0 };
+
+	while (0) { $x = 0 };
+	for ($x=0; $y; $z=0) { $r = 0 };
+	for (1) { $x = 0 };
+	{ $x = 0 };
+	$x =~ s/a/$x + 1/e;
+EOF
+    $code = 'my ($r, $x,$y,$z, at a); return 5; ' . ($code x 1000);
+    my $res = threads->create(sub { eval $code})->join;
+    is($res, 5, "avoid peephole recursion");
+}
+
+
 # [perl #78494] Pipes shared between threads block when closed
-watchdog 10;
 {
   my $perl = which_perl;
   $perl = qq'"$perl"' if $perl =~ /\s/;
@@ -352,4 +385,10 @@
   ok(1, "Pipes shared between threads do not block when closed");
 }
 
+# [perl #105208] Typeglob clones should not be cloned again during a join
+{
+  threads->create(sub { sub { $::hypogamma = 3 } })->join->();
+  is $::hypogamma, 3, 'globs cloned and joined are not recloned';
+}
+
 # EOF


Property changes on: vendor/perl/dist/t/op/threads.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/threads_create.pl
===================================================================
--- vendor/perl/dist/t/op/threads_create.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/threads_create.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/threads_create.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/tie.t
===================================================================
--- vendor/perl/dist/t/op/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/tie.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -273,12 +273,13 @@
 0
 ########
 #
-# FETCH freeing tie'd SV
+# FETCH freeing tie'd SV still works
 sub TIESCALAR { bless [] }
-sub FETCH { *a = \1; 1 }
+sub FETCH { *a = \1; 2 }
 tie $a, 'main';
 print $a;
 EXPECT
+2
 ########
 
 #  [20020716.007] - nested FETCHES
@@ -925,29 +926,6 @@
 EXPECT
 Can't locate object method "TIEARRAY" via package "FOO" at - line 5.
 ########
-
-# Deprecation warnings for tie $handle
-
-use warnings 'deprecated';
-$SIG{__WARN__} = sub { $w = shift };
-$handle = *foo;
-eval { tie $handle, "" };
-print $w =~ /^Use of tie on a handle without \* is deprecated/
-  ? "ok tie\n" : "$w\n";
-$handle = *bar;
-tied $handle;
-print $w =~ /^Use of tied on a handle without \* is deprecated/
-  ? "ok tied\n" : "$w\n";
-$handle = *baz;
-untie $handle;
-print $w =~ /^Use of untie on a handle without \* is deprecated/
-  ? "ok untie\n" : "$w\n";
-
-EXPECT
-ok tie
-ok tied
-ok untie
-########
 #
 # STORE freeing tie'd AV
 sub TIEARRAY  { bless [] }
@@ -1030,3 +1008,327 @@
 print "ok\n";
 EXPECT
 ok
+########
+#
+# Nor should it be impossible to tie COW scalars that are already PVMGs.
+
+sub TIESCALAR { bless [] }
+$x = *foo;        # PVGV
+undef $x;         # downgrade to PVMG
+$x = __PACKAGE__; # PVMG + COW
+tie $x, "";       # bang!
+
+print STDERR "ok\n";
+
+# However, one should not be able to tie read-only glob copies, which look
+# a bit like kine internally (FAKE + READONLY).
+$y = *foo;
+Internals::SvREADONLY($y,1);
+tie $y, "";
+
+EXPECT
+ok
+Modification of a read-only value attempted at - line 16.
+########
+
+# Similarly, read-only regexps cannot be tied.
+sub TIESCALAR { bless [] }
+$y = ${qr//};
+Internals::SvREADONLY($y,1);
+tie $y, "";
+
+EXPECT
+Modification of a read-only value attempted at - line 6.
+########
+
+# tied() should still work on tied scalars after glob assignment
+sub TIESCALAR {bless[]}
+sub FETCH {*foo}
+sub f::TIEHANDLE{bless[],f}
+tie *foo, "f";
+tie $rin, "";
+[$rin]; # call FETCH
+print ref tied $rin, "\n";
+print ref tied *$rin, "\n";
+EXPECT
+main
+f
+########
+
+# (un)tie $glob_copy vs (un)tie *$glob_copy
+sub TIESCALAR { print "TIESCALAR\n"; bless [] }
+sub TIEHANDLE{ print "TIEHANDLE\n"; bless [] }
+sub FETCH { print "never called\n" }
+$f = *foo;
+tie *$f, "";
+tie $f, "";
+untie $f;
+print "ok 1\n" if !tied $f;
+() = $f; # should not call FETCH
+untie *$f;
+print "ok 2\n" if !tied *foo;
+EXPECT
+TIEHANDLE
+TIESCALAR
+ok 1
+ok 2
+########
+
+# RT #8611 mustn't goto outside the magic stack
+sub TIESCALAR { warn "tiescalar\n"; bless [] }
+sub FETCH { warn "fetch()\n"; goto FOO; }
+tie $f, "";
+warn "before fetch\n";
+my $a = "$f";
+warn "before FOO\n";
+FOO:
+warn "after FOO\n";
+EXPECT
+tiescalar
+before fetch
+fetch()
+Can't find label FOO at - line 4.
+########
+
+# RT #8611 mustn't goto outside the magic stack
+sub TIEHANDLE { warn "tiehandle\n"; bless [] }
+sub PRINT { warn "print()\n"; goto FOO; }
+tie *F, "";
+warn "before print\n";
+print F "abc";
+warn "before FOO\n";
+FOO:
+warn "after FOO\n";
+EXPECT
+tiehandle
+before print
+print()
+Can't find label FOO at - line 4.
+########
+
+# \&$tied with $tied holding a reference before the fetch (but not after)
+sub ::72 { 73 };
+sub TIESCALAR {bless[]}
+sub STORE{}
+sub FETCH { 72 }
+tie my $x, "main";
+$x = \$y;
+\&$x;
+print "ok\n";
+EXPECT
+ok
+########
+
+# \&$tied with $tied holding a PVLV glob before the fetch (but not after)
+sub ::72 { 73 };
+sub TIEARRAY {bless[]}
+sub STORE{}
+sub FETCH { 72 }
+tie my @x, "main";
+my $elem = \$x[0];
+$$elem = *bar;
+print &{\&$$elem}, "\n";
+EXPECT
+73
+########
+
+# \&$tied with $tied holding a PVGV glob before the fetch (but not after)
+local *72 = sub { 73 };
+sub TIESCALAR {bless[]}
+sub STORE{}
+sub FETCH { 72 }
+tie my $x, "main";
+$x = *bar;
+print &{\&$x}, "\n";
+EXPECT
+73
+########
+
+# Lexicals should not be visible to magic methods on scope exit
+BEGIN { unless (defined &DynaLoader::boot_DynaLoader) {
+    print "HASH\nHASH\nARRAY\nARRAY\n"; exit;
+}}
+use Scalar::Util 'weaken';
+{ package xoufghd;
+  sub TIEHASH { Scalar::Util::weaken($_[1]); bless \$_[1], xoufghd:: }
+  *TIEARRAY = *TIEHASH;
+  DESTROY {
+     bless ${$_[0]} || return, 0;
+} }
+for my $sub (
+    # hashes: ties before backrefs
+    sub {
+        my %hash;
+        $ref = ref \%hash;
+        tie %hash, xoufghd::, \%hash;
+        1;
+    },
+    # hashes: backrefs before ties
+    sub {
+        my %hash;
+        $ref = ref \%hash;
+        weaken(my $x = \%hash);
+        tie %hash, xoufghd::, \%hash;
+        1;
+    },
+    # arrays: ties before backrefs
+    sub {
+        my @array;
+        $ref = ref \@array;
+        tie @array, xoufghd::, \@array;
+        1;
+    },
+    # arrays: backrefs before ties
+    sub {
+        my @array;
+        $ref = ref \@array;
+        weaken(my $x = \@array);
+        tie @array, xoufghd::, \@array;
+        1;
+    },
+) {
+    &$sub;
+    &$sub;
+    print $ref, "\n";
+}
+EXPECT
+HASH
+HASH
+ARRAY
+ARRAY
+########
+
+# Localising a tied variable with a typeglob in it should copy magic
+sub TIESCALAR{bless[]}
+sub FETCH{warn "fetching\n"; *foo}
+sub STORE{}
+tie $x, "";
+local $x;
+warn "before";
+"$x";
+warn "after";
+EXPECT
+fetching
+before at - line 8.
+fetching
+after at - line 10.
+########
+
+# tied returns same value as tie
+sub TIESCALAR{bless[]}
+$tyre = \tie $tied, "";
+print "ok\n" if \tied $tied == $tyre;
+EXPECT
+ok
+########
+
+# tied arrays should always be AvREAL
+$^W=1;
+sub TIEARRAY{bless[]}
+sub {
+  tie @_, "";
+  \@_; # used to produce: av_reify called on tied array at - line 7.
+}->(1);
+EXPECT
+########
+
+# [perl #67490] scalar-tying elements of magic hashes
+sub TIESCALAR{bless[]}
+sub STORE{}
+tie $ENV{foo}, '';
+$ENV{foo} = 78;
+delete $ENV{foo};
+tie $^H{foo}, '';
+$^H{foo} = 78;
+delete $^H{foo};
+EXPECT
+########
+
+# [perl #35865, #43011] autovivification should call FETCH after STORE
+# because perl does not know that the FETCH would have returned the same
+# thing that was just stored.
+
+# This package never likes to take ownership of other people’s refs.  It
+# always makes its own copies.  (For simplicity, it only accepts hashes.)
+package copier {
+    sub TIEHASH { bless {} }
+    sub FETCH   { $_[0]{$_[1]} }
+    sub STORE   { $_[0]{$_[1]} = { %{ $_[2] } } }
+}
+tie my %h, copier::;
+$h{i}{j} = 'k';
+print $h{i}{j}, "\n";
+EXPECT
+k
+########
+
+# [perl #8931] FETCH for tied $" called an odd number of times.
+use strict;
+my $i = 0;
+sub A::TIESCALAR {bless [] => 'A'}
+sub A::FETCH {print ++ $i, "\n"}
+my @a = ("", "", "");
+
+tie $" => 'A';
+"@a";
+
+$i = 0;
+tie my $a => 'A';
+join $a, 1..10;
+EXPECT
+1
+1
+########
+
+# [perl #9391] return value from 'tied' not discarded soon enough
+use warnings;
+tie @a, 'T';
+if (tied @a) {
+untie @a;
+}
+
+sub T::TIEARRAY { my $s; bless \$s => "T" }
+EXPECT
+########
+
+# NAME Test that tying a hash does not leak a deleted iterator
+# This produced unbalanced string table warnings under
+# PERL_DESTRUCT_LEVEL=2.
+package l {
+    sub TIEHASH{bless[]}
+}
+$h = {foo=>0};
+each %$h;
+delete $$h{foo};
+tie %$h, 'l';
+EXPECT
+########
+
+# NAME EXISTS on arrays
+sub TIEARRAY{bless[]};
+sub FETCHSIZE { 50 }
+sub EXISTS { print "does $_[1] exist?\n" }
+tie @a, "";
+exists $a[1];
+exists $a[-1];
+$NEGATIVE_INDICES=1;
+exists $a[-1];
+EXPECT
+does 1 exist?
+does 49 exist?
+does -1 exist?
+########
+
+# Crash when using negative index on array tied to non-object
+sub TIEARRAY{bless[]};
+${\tie @a, ""} = undef;
+eval { $_ = $a[-1] }; print $@;
+eval { $a[-1] = '' }; print $@;
+eval { delete $a[-1] }; print $@;
+eval { exists $a[-1] }; print $@;
+
+EXPECT
+Can't call method "FETCHSIZE" on an undefined value at - line 5.
+Can't call method "FETCHSIZE" on an undefined value at - line 6.
+Can't call method "FETCHSIZE" on an undefined value at - line 7.
+Can't call method "FETCHSIZE" on an undefined value at - line 8.


Property changes on: vendor/perl/dist/t/op/tie.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/tie_fetch_count.t
===================================================================
--- vendor/perl/dist/t/op/tie_fetch_count.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/tie_fetch_count.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
-    plan (tests => 210);
+    plan (tests => 312);
 }
 
 use strict;
@@ -28,6 +28,7 @@
 sub check_count {
     my $op = shift;
     my $expected = shift() // 1;
+    local $::Level = $::Level + 1;
     is $count, $expected,
         "FETCH called " . (
           $expected == 1 ? "just once" : 
@@ -43,6 +44,7 @@
 
 # Assignment.
 $dummy  =  $var         ; check_count "=";
+*dummy  =  $var         ; check_count '*glob = $tied';
 
 # Unary +/-
 $dummy  = +$var         ; check_count "unary +";
@@ -60,6 +62,11 @@
 $dummy  =  $var   x   1 ; check_count 'x';
 @dummy  = ($var)  x   1 ; check_count 'x';
 $dummy  =  $var   .   1 ; check_count '.';
+ at dummy  =  $var  ..   1 ; check_count '$tied..1';
+ at dummy  =   1    .. $var; check_count '1..$tied';
+tie my $v42 => 'main', "z";
+ at dummy  =  $v42  ..  "a"; check_count '$tied.."a"';
+ at dummy  =  "a"   .. $v42; check_count '"a"..$tied';
  
 # Pre/post in/decrement
            $var ++      ; check_count 'post ++';
@@ -114,43 +121,43 @@
 # Readline/glob
 tie my $var0, "main", \*DATA;
 $dummy  = <$var0>       ; check_count '<readline>';
-$dummy  = <${var}>      ; check_count '<glob>';
+$var    = \1;
+$var   .= <DATA>        ; check_count '$tiedref .= <rcatline>';
+$var    = "tied";
+$var   .= <DATA>        ; check_count '$tiedstr .= <rcatline>';
+$var    = *foo;
+$var   .= <DATA>        ; check_count '$tiedglob .= <rcatline>';
+{   no warnings "glob";
+    $dummy  = <${var}>      ; check_count '<glob>';
+}
 
 # File operators
-$dummy  = -r $var       ; check_count '-r';
-$dummy  = -w $var       ; check_count '-w';
-$dummy  = -x $var       ; check_count '-x';
-$dummy  = -o $var       ; check_count '-o';
-$dummy  = -R $var       ; check_count '-R';
-$dummy  = -W $var       ; check_count '-W';
-$dummy  = -X $var       ; check_count '-X';
-$dummy  = -O $var       ; check_count '-O';
-$dummy  = -e $var       ; check_count '-e';
-$dummy  = -z $var       ; check_count '-z';
-$dummy  = -s $var       ; check_count '-s';
-$dummy  = -f $var       ; check_count '-f';
-$dummy  = -d $var       ; check_count '-d';
+for (split //, 'rwxoRWXOezsfdpSbctugkTBMAC') {
+    no warnings 'unopened';
+    $dummy  = eval "-$_ \$var"; check_count "-$_";
+    # Make $var hold a glob:
+    $var = *dummy; $dummy = $var; $count = 0;
+    $dummy  = eval "-$_ \$var"; check_count "-$_ \$tied_glob";
+    next if /[guk]/;
+    $var = *dummy; $dummy = $var; $count = 0;
+    eval "\$dummy = -$_ \\\$var";
+    check_count "-$_ \\\$tied_glob";
+}
 $dummy  = -l $var       ; check_count '-l';
-$dummy  = -p $var       ; check_count '-p';
-$dummy  = -S $var       ; check_count '-S';
-$dummy  = -b $var       ; check_count '-b';
-$dummy  = -c $var       ; check_count '-c';
-$dummy  = -t $var       ; check_count '-t';
-$dummy  = -u $var       ; check_count '-u';
-$dummy  = -g $var       ; check_count '-g';
-$dummy  = -k $var       ; check_count '-k';
-$dummy  = -T $var       ; check_count '-T';
-$dummy  = -B $var       ; check_count '-B';
-$dummy  = -M $var       ; check_count '-M';
-$dummy  = -A $var       ; check_count '-A';
-$dummy  = -C $var       ; check_count '-C';
+$var = "test.pl";
+$dummy  = -e -e -e $var ; check_count '-e -e';
 
 # Matching
 $_ = "foo";
 $dummy  =  $var =~ m/ / ; check_count 'm//';
 $dummy  =  $var =~ s/ //; check_count 's///';
-$dummy  =  $var ~~    1 ; check_count '~~';
+{
+    no warnings 'experimental::smartmatch';
+    $dummy  =  $var ~~    1 ; check_count '~~';
+}
 $dummy  =  $var =~ y/ //; check_count 'y///';
+           $var = \1;
+$dummy  =  $var =~y/ /-/; check_count '$ref =~ y///';
            /$var/       ; check_count 'm/pattern/';
            /$var foo/   ; check_count 'm/$tied foo/';
           s/$var//      ; check_count 's/pattern//';
@@ -168,7 +175,7 @@
 $dummy  = keys $var3    ; check_count 'keys hashref';
 {
     no strict 'refs';
-    tie my $var4 => 'main', **;
+    tie my $var4 => 'main', *];
     $dummy  = *$var4        ; check_count '*{}';
 }
 
@@ -175,7 +182,104 @@
 tie my $var5 => 'main', sub {1};
 $dummy  = &$var5        ; check_count '&{}';
 
+{
+    no strict 'refs';
+    tie my $var1 => 'main', 1;
+    $dummy  = $$var1        ; check_count 'symbolic ${}';
+    $dummy  = @$var1        ; check_count 'symbolic @{}';
+    $dummy  = %$var1        ; check_count 'symbolic %{}';
+    $dummy  = *$var1        ; check_count 'symbolic *{}';
+    local *1 = sub{};
+    $dummy  = &$var1        ; check_count 'symbolic &{}';
 
+    # This test will not be a complete test if *988 has been created
+    # already.  If this dies, change it to use another built-in variable.
+    # In 5.10-14, rv2gv calls get-magic more times for built-in vars, which
+    # is why we need the test this way.
+    if (exists $::{988}) {
+	die "*988 already exists. Please adjust this test"
+    }
+    tie my $var6 => main => 988;
+    no warnings;
+    readdir $var6           ; check_count 'symbolic readdir';
+    if (exists $::{973}) { # Need a different variable here
+	die "*973 already exists. Please adjust this test"
+    }
+    tie my $var7 => main => 973;
+    defined $$var7          ; check_count 'symbolic defined ${}';
+}
+
+tie my $var8 => 'main', 'main';
+sub bolgy {}
+$var8->bolgy            ; check_count '->method';
+{
+    no warnings 'once';
+    () = *swibble;
+    # This must be the name of an existing glob to trigger the maximum
+    # number of fetches in 5.14:
+    tie my $var9 => 'main', 'swibble';
+    no strict 'refs';
+    use constant glumscrin => 'shreggleboughet';
+    *$var9 = \&{"glumscrin"}; check_count '*$tied = \&{"name of const"}';
+}
+
+# Functions that operate on filenames or filehandles
+for ([chdir=>''],[chmod=>'0,'],[chown=>'0,0,'],[utime=>'0,0,'],
+     [truncate=>'',',0'],[stat=>''],[lstat=>''],[open=>'my $fh,"<&",'],
+     ['()=sort'=>'',' 1,2,3']) {
+    my($op,$args,$postargs) = @$_; $postargs //= '';
+    # This line makes $var8 hold a glob:
+    $var8 = *dummy; $dummy = $var8; $count = 0;
+    eval "$op $args \$var8 $postargs";
+    check_count "$op $args\$tied_glob$postargs";
+    $var8 = *dummy; $dummy = $var8; $count = 0;
+    my $ref = \$var8;
+    eval "$op $args \$ref $postargs";
+    check_count "$op $args\\\$tied_glob$postargs";
+}
+
+{
+    no warnings;
+    $var = *foo;
+    $dummy  =  select $var, undef, undef, 0
+                            ; check_count 'select $tied_glob, ...';
+    $var = \1;
+    $dummy  =  select $var, undef, undef, 0
+                            ; check_count 'select $tied_ref, ...';
+    $var = undef;
+    $dummy  =  select $var, undef, undef, 0
+                            ; check_count 'select $tied_undef, ...';
+}
+
+chop(my $u = "\xff\x{100}");
+tie $var, "main", $u;
+$dummy  = pack "u", $var; check_count 'pack "u", $utf8';
+
+tie $var, "main", "\x{100}";
+pos$var = 0             ; check_count 'lvalue pos $utf8';
+$dummy=sprintf"%1s",$var; check_count 'sprintf "%1s", $utf8';
+$dummy=sprintf"%.1s",$var; check_count 'sprintf "%.1s", $utf8';
+$dummy  = substr$var,0,1; check_count 'substr $utf8';
+my $l   =\substr$var,0,1;
+$dummy  = $$l           ; check_count 'reading lvalue substr($utf8)';
+$$l     = 0             ; check_count 'setting lvalue substr($utf8)';
+tie $var, "main", "a";
+$$l     = "\x{100}"     ; check_count 'assigning $utf8 to lvalue substr';
+tie $var1, "main", "a";
+substr$var1,0,0,"\x{100}"; check_count '4-arg substr with utf8 replacement';
+
+{
+    local $SIG{__WARN__} = sub {};
+    $dummy  =  warn $var    ; check_count 'warn $tied';
+    tie $@, => 'main', 1;
+    $dummy  =  warn         ; check_count 'warn() with $@ tied (num)';
+    tie $@, => 'main', \1;
+    $dummy  =  warn         ; check_count 'warn() with $@ tied (ref)';
+    tie $@, => 'main', "foo\n";
+    $dummy  =  warn         ; check_count 'warn() with $@ tied (str)';
+    untie $@;
+}
+
 ###############################################
 #        Tests for  $foo binop $foo           #
 ###############################################


Property changes on: vendor/perl/dist/t/op/tie_fetch_count.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/tiearray.t
===================================================================
--- vendor/perl/dist/t/op/tiearray.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/tiearray.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/tiearray.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/tiehandle.t
===================================================================
--- vendor/perl/dist/t/op/tiehandle.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/tiehandle.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/tiehandle.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/time.t
===================================================================
--- vendor/perl/dist/t/op/time.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/time.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/time.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/time_loop.t
===================================================================
--- vendor/perl/dist/t/op/time_loop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/time_loop.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/time_loop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/tr.t
===================================================================
--- vendor/perl/dist/t/op/tr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/tr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
 # tr.t
 
+use utf8;
+
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
@@ -6,7 +8,7 @@
     require './test.pl';
 }
 
-plan tests => 128;
+plan tests => 132;
 
 my $Is_EBCDIC = (ord('i') == 0x89 & ord('J') == 0xd1);
 
@@ -483,11 +485,13 @@
 }
 
 ($s) = keys %{{pie => 3}};
-my $wasro = Internals::SvREADONLY($s);
-{
-    $wasro or local $TODO = "didn't have a COW";
+SKIP: {
+    if (!eval { require XS::APItest }) { skip "no XS::APItest", 2 }
+    my $wasro = XS::APItest::SvIsCOW($s);
+    ok $wasro, "have a COW";
     $s =~ tr/i//;
-    ok( Internals::SvREADONLY($s), "count-only tr doesn't deCOW COWs" );
+    ok( XS::APItest::SvIsCOW($s),
+       "count-only tr doesn't deCOW COWs" );
 }
 
 # [ RT #61520 ]
@@ -504,4 +508,22 @@
     is($x,"\x{143}", "utf8 + closure");
 }
 
+# Freeing of trans ops prior to pmtrans() [perl #102858].
+eval q{ $a ~= tr/a/b/; };
+ok 1;
+SKIP: {
+    no warnings "deprecated";
+    skip "no encoding", 1 unless eval { require encoding; 1 };
+    eval q{ use encoding "utf8"; $a ~= tr/a/b/; };
+    ok 1;
+}
 
+{ # [perl #113584]
+
+    my $x = "Perlα";
+    $x =~ tr/αα/βγ/;
+    note $x;
+    is($x, "Perlβ", "Only first of multiple transliterations is used");
+}
+
+1;


Property changes on: vendor/perl/dist/t/op/tr.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/turkish.t
===================================================================
--- vendor/perl/dist/t/op/turkish.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/turkish.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/turkish.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/undef.t
===================================================================
--- vendor/perl/dist/t/op/undef.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/undef.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 use vars qw(@ary %ary %hash);
 
-plan 40;
+plan 85;
 
 ok !defined($a);
 
@@ -44,14 +44,17 @@
 undef $ary{'foo'};
 ok !defined($ary{'foo'});
 
-ok defined(@ary);
 {
     no warnings 'deprecated';
+    ok defined(@ary);
     ok defined(%ary);
 }
 ok %ary;
 undef @ary;
-ok !defined(@ary);
+{
+    no warnings 'deprecated';
+    ok !defined(@ary);
+}
 undef %ary;
 {
     no warnings 'deprecated';
@@ -59,7 +62,10 @@
 }
 ok !%ary;
 @ary = (1);
-ok defined @ary;
+{
+    no warnings 'deprecated';
+    ok defined @ary;
+}
 %ary = (1,1);
 {
     no warnings 'deprecated';
@@ -107,19 +113,59 @@
 
 # bugid 3096
 # undefing a hash may free objects with destructors that then try to
-# modify the hash. To them, the hash should appear empty.
+# modify the hash. Ensure that the hash remains consistent
 
-%hash = (
-    key1 => bless({}, 'X'),
-    key2 => bless({}, 'X'),
-);
-undef %hash;
-sub X::DESTROY {
-    is scalar keys %hash, 0;
-    is scalar values %hash, 0;
-    my @l = each %hash;
-    is @l, 0;
-    is delete $hash{'key2'}, undef;
+{
+    my (%hash, %mirror);
+
+    my $iters = 5;
+
+    for (1..$iters) {
+	$hash{"k$_"} = bless ["k$_"], 'X';
+	$mirror{"k$_"} = "k$_";
+    }
+
+
+    my $c = $iters;
+    my $events;
+
+    sub X::DESTROY {
+	my $key = $_[0][0];
+	$events .= 'D';
+	note("----- DELETE($key) ------");
+	delete $mirror{$key};
+
+	is join('-', sort keys %hash), join('-', sort keys %mirror),
+	    "$key: keys";
+	is join('-', sort map $_->[0], values %hash),
+	    join('-', sort values %mirror), "$key: values";
+
+	# don't know exactly what we'll get from the iterator, but
+	# it must be a sensible value
+	my ($k, $v) = each %hash;
+	ok defined $k ? exists($mirror{$k}) : (keys(%mirror) == 0),
+	    "$key: each 1";
+
+	is delete $hash{$key}, undef, "$key: delete";
+	($k, $v) = each %hash;
+	ok defined $k ? exists($mirror{$k}) : (keys(%mirror) <= 1),
+	    "$key: each 2";
+
+	$c++;
+	if ($c <= $iters * 2) {
+	    $hash{"k$c"} = bless ["k$c"], 'X';
+	    $mirror{"k$c"} = "k$c";
+	}
+	$events .= 'E';
+    }
+
+    each %hash; # set eiter
+    undef %hash;
+
+    is scalar keys %hash, 0, "hash empty at end";
+    is $events, ('DE' x ($iters*2)), "events";
+    my ($k, $v) = each %hash;
+    is $k, undef, 'each undef at end';
 }
 
 # this will segfault if it fails


Property changes on: vendor/perl/dist/t/op/undef.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/op/universal.t
===================================================================
--- vendor/perl/dist/t/op/universal.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/universal.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
     require "./test.pl";
 }
 
-plan tests => 125;
+plan tests => 139;
 
 $a = {};
 bless $a, "Bob";
@@ -59,6 +59,8 @@
 
 ok $a->isa("Female");
 
+ok ! $a->isa("Female\0NOT REALLY!"), "->isa is nul-clean.";
+
 ok $a->isa("Human");
 
 ok ! $a->isa("Male");
@@ -68,6 +70,7 @@
 ok $a->isa("HASH");
 
 ok $a->can("eat");
+ok ! $a->can("eat\0Except not!"), "->can is nul-clean.";
 ok ! $a->can("sleep");
 ok my $ref = $a->can("drink");        # returns a coderef
 is $a->$ref("tea"), "drinking tea"; # ... which works
@@ -104,7 +107,10 @@
     };
 };
 
-ok ! UNIVERSAL::can(23, "can");
+ok UNIVERSAL::can(23, "can");
+++${"23::foo"};
+ok UNIVERSAL::can("23", "can"), '"23" can can when the pack exists';
+ok UNIVERSAL::can(23, "can"), '23 can can when the pack exists';
 
 ok $a->can("VERSION");
 
@@ -119,6 +125,13 @@
 ok (eval { $a->VERSION(2.718) });
 is $@, '';
 
+ok ! (eval { $a->VERSION("version") });
+like $@, qr/^Invalid version format/;
+
+$aversion::VERSION = "version";
+ok ! (eval { aversion->VERSION(2.719) });
+like $@, qr/^Invalid version format/;
+
 my $subs = join ' ', sort grep { defined &{"UNIVERSAL::$_"} } keys %UNIVERSAL::;
 ## The test for import here is *not* because we want to ensure that UNIVERSAL
 ## can always import; it is an historical accident that UNIVERSAL can import.
@@ -154,7 +167,7 @@
 eval 'sub UNIVERSAL::sleep {}';
 ok $a->can("sleep");
 
-ok ! UNIVERSAL::can($b, "can");
+ok UNIVERSAL::can($b, "can");
 
 ok ! $a->can("export_tags");	# a method in Exporter
 
@@ -162,6 +175,7 @@
 
 {
     package Pickup;
+    no warnings "deprecated";
     use UNIVERSAL qw( isa can VERSION );
 
     ::ok isa "Pickup", UNIVERSAL;
@@ -220,6 +234,9 @@
 ok( Baz->DOES( 'Baz' ), '... even without inheriting any other DOES()' );
 ok( ! Baz->DOES( 'Foo' ), '... returning true or false appropriately' );
 
+ok( ! "T"->DOES( "T\0" ), 'DOES() is nul-clean' );
+ok( ! Baz->DOES( "Baz\0Boy howdy" ), 'DOES() is nul-clean' );
+
 package Pig;
 package Bodine;
 Bodine->isa('Pig');
@@ -315,3 +332,10 @@
     @RT66112::T6::ISA = qw/RT66112::E/;
     ok(RT66112::T6->isa('RT66112::A'), "modify \@ISA in isa (RT66112::T6 isa RT66112::A)");
 }
+
+ok(Undeclared->can("can"));
+sub Undeclared::foo { }
+ok(Undeclared->can("foo"));
+ok(!Undeclared->can("something_else"));
+
+ok(Undeclared->isa("UNIVERSAL"));


Property changes on: vendor/perl/dist/t/op/universal.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/unshift.t
===================================================================
--- vendor/perl/dist/t/op/unshift.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/unshift.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/unshift.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/upgrade.t
===================================================================
--- vendor/perl/dist/t/op/upgrade.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/upgrade.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/upgrade.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/utf8cache.t
===================================================================
--- vendor/perl/dist/t/op/utf8cache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/utf8cache.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,13 +5,15 @@
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
-    skip_all_without_dynamic_extension('Devel::Peek');
 }
 
 use strict;
 
-plan(tests => 1);
+plan(tests => 15);
 
+SKIP: {
+skip_without_dynamic_extension("Devel::Peek");
+
 my $pid = open CHILD, '-|';
 die "kablam: $!\n" unless defined $pid;
 unless ($pid) {
@@ -35,3 +37,127 @@
                       \s+ MG_LEN \s = .* \n }xm;
 
 unlike($_, qr{ $utf8magic $utf8magic }x);
+
+} # SKIP
+
+# With bad caching, this code used to go quadratic and take 10s of minutes.
+# The 'test' in this case is simply that it doesn't hang.
+
+{
+    local ${^UTF8CACHE} = 1; # enable cache, disable debugging
+    my $x = "\x{100}" x 1000000;
+    while ($x =~ /./g) {
+	my $p = pos($x);
+    }
+    pass("quadratic pos");
+}
+
+# Get-magic can reallocate the PV.  Check that the cache is reset in
+# such cases.
+
+# Regexp vars
+"\x{100}" =~ /(.+)/;
+() = substr $1, 0, 1;
+"a\x{100}" =~ /(.+)/;
+is ord substr($1, 1, 1), 0x100, 'get-magic resets utf8cache on match vars';
+
+# Substr lvalues
+my $x = "a\x{100}";
+my $l = \substr $x, 0;
+() = substr $$l, 1, 1;
+substr $x, 0, 1, = "\x{100}";
+is ord substr($$l, 1, 1), 0x100, 'get-magic resets utf8cache on LVALUEs';
+
+# defelem magic
+my %h;
+sub {
+  $_[0] = "a\x{100}";
+  () = ord substr $_[0], 1, 1;
+  $h{k} = "\x{100}"x2;
+  is ord substr($_[0], 1, 1), 0x100,
+    'get-magic resets uf8cache on defelems';
+}->($h{k});
+
+
+# Overloading can also reallocate the PV.
+
+package UTF8Toggle {
+    use overload '""' => 'stringify', fallback => 1;
+
+    sub new {
+	my $class = shift;
+	my $value = shift;
+	my $state = shift||0;
+	return bless [$value, $state], $class;
+    }
+
+    sub stringify {
+	my $self = shift;
+	$self->[1] = ! $self->[1];
+	if ($self->[1]) {
+	    utf8::downgrade($self->[0]);
+	} else {
+	    utf8::upgrade($self->[0]);
+	}
+	$self->[0];
+    }
+}
+my $u = UTF8Toggle->new(" \x{c2}7 ");
+
+pos $u = 2;
+is pos $u, 2, 'pos on overloaded utf8 toggler';
+() = "$u"; # flip flag
+pos $u = 2;
+is pos $u, 2, 'pos on overloaded utf8 toggler (again)';
+
+() = ord ${\substr $u, 1};
+is ord ${\substr($u, 1)}, 0xc2,
+    'utf8 cache + overloading does not confuse substr lvalues';
+() = "$u"; # flip flag
+() = ord substr $u, 1;
+is ord substr($u, 1), 0xc2,
+    'utf8 cache + overloading does not confuse substr lvalues (again)';
+
+$u = UTF8Toggle->new(" \x{c2}7 ");
+() = ord ${\substr $u, 2};
+{ no warnings; ${\substr($u, 2, 1)} = 0; }
+is $u, " \x{c2}0 ",
+    'utf8 cache + overloading does not confuse substr lvalue assignment';
+$u = UTF8Toggle->new(" \x{c2}7 ");
+() = "$u"; # flip flag
+() = ord ${\substr $u, 2};
+{ no warnings; ${\substr($u, 2, 1)} = 0; }
+is $u, " \x{c2}0 ",
+    'utf8 cache + overload does not confuse substr lv assignment (again)';
+
+
+# Typeglobs and references should not get a cache
+use utf8;
+
+#substr
+my $globref = \*αabcdefg_::_;
+() = substr($$globref, 2, 3);
+*_abcdefgα:: = \%αabcdefg_::;
+undef %αabcdefg_::;
+{ no strict; () = *{"_abcdefgα::_"} }
+is substr($$globref, 2, 3), "abc", 'no utf8 pos cache on globs';
+
+my $ref = bless [], "αabcd_";
+() = substr($ref, 1, 3);
+bless $ref, "_abcdα";
+is substr($ref, 1, 3), "abc", 'no utf8 pos cache on references';
+
+#length
+$globref = \*αabcdefg_::_;
+() = "$$globref";  # turn utf8 flag on
+() = length($$globref);
+*_abcdefgα:: = \%αabcdefg_::;
+undef %αabcdefg_::;
+{ no strict; () = *{"_abcdefgα::_"} }
+is length($$globref), length("$$globref"), 'no utf8 length cache on globs';
+
+$ref = bless [], "αabcd_";
+() = "$ref"; # turn utf8 flag on
+() = length $ref;
+bless $ref, "α";
+is length $ref, length "$ref", 'no utf8 length cache on references';


Property changes on: vendor/perl/dist/t/op/utf8cache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/utf8decode.t
===================================================================
--- vendor/perl/dist/t/op/utf8decode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/utf8decode.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -135,7 +135,7 @@
 3.3.9 n -	4	fb:bf:bf:bf	-	4 bytes, need 5
 3.3.10 n -	5	fd:bf:bf:bf:bf	-	5 bytes, need 6
 3.4	Concatenation of incomplete sequences
-3.4.1 N-10 -	30	c0:e0:80:f0:80:80:f8:80:80:80:fc:80:80:80:80:df:ef:bf:f7:bf:bf:fb:bf:bf:bf:fd:bf:bf:bf:bf	-	unexpected non-continuation byte 0xe0, immediately after start byte 0xc0
+3.4.1 N10 -	30	c0:e0:80:f0:80:80:f8:80:80:80:fc:80:80:80:80:df:ef:bf:f7:bf:bf:fb:bf:bf:bf:fd:bf:bf:bf:bf	-	unexpected non-continuation byte 0xe0, immediately after start byte 0xc0
 3.5	Impossible bytes
 3.5.1 n -	1	fe	-	byte 0xfe
 3.5.2 n -	1	ff	-	byte 0xff


Property changes on: vendor/perl/dist/t/op/utf8decode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/utf8magic.t
===================================================================
--- vendor/perl/dist/t/op/utf8magic.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/utf8magic.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan tests => 4;
+plan tests => 6;
 
 use strict;
 
@@ -23,3 +23,16 @@
 ok !utf8::is_utf8($1), "is_utf8(bytes)";
 scalar "$1"; # invoke SvGETMAGIC
 ok !utf8::is_utf8($1), "is_utf8(bytes)";
+
+sub TIESCALAR { bless [pop] }
+sub FETCH     { $_[0][0] }
+sub STORE     { $::stored = pop }
+
+tie my $str2, "", "a";
+$str2 = "b";
+utf8::encode $str2;
+is $::stored, "a", 'utf8::encode respects get-magic on POK scalars';
+
+tie $str2, "", "\xc4\x80";
+utf8::decode $str2;
+is $::stored, "\x{100}", 'utf8::decode respects set-magic';


Property changes on: vendor/perl/dist/t/op/utf8magic.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/utfhash.t
===================================================================
--- vendor/perl/dist/t/op/utfhash.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/utfhash.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/utfhash.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/op/utftaint.t
===================================================================
--- vendor/perl/dist/t/op/utftaint.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/utftaint.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/utftaint.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/vec.t
===================================================================
--- vendor/perl/dist/t/op/vec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/vec.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/vec.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/ver.t
===================================================================
--- vendor/perl/dist/t/op/ver.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/ver.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,7 @@
     chdir 't' if -d 't';
     @INC = qw(. ../lib);
     $SIG{'__WARN__'} = sub { warn $_[0] if $DOWARN };
+    require "test.pl";
 }
 
 $DOWARN = 1; # enable run-time warnings now
@@ -10,8 +11,7 @@
 
 use Config;
 
-require "test.pl";
-plan( tests => 54 );
+plan( tests => 57 );
 
 eval 'use v5.5.640';
 is( $@, '', "use v5.5.640; $@");
@@ -262,7 +262,20 @@
 %h = (65.66.67 => 42);
 ok( exists $h{chr(65).chr(66).chr(67)}, "v-stringness is engaged for X.Y.Z" );
 
+{
+    local $|;
+    $| = v0;
+    $| = 1;
+    --$|; --$|;
+    is $|, 1, 'clobbering vstrings does not clobber all magic';
+}
 
+$a = v102; $a =~ s/f/f/;
+is ref \$a, 'SCALAR',
+  's/// flattens vstrings even when the subst results in the same value';
+$a = v102; $a =~ y/f/g/;
+is ref \$a, 'SCALAR', 'y/// flattens vstrings';
+
 # The following tests whether v-strings are correctly
 # interpreted by the tokeniser when it's in a XTERMORDORDOR
 # state (fittingly, the only tokeniser state to contain the


Property changes on: vendor/perl/dist/t/op/ver.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/wantarray.t
===================================================================
--- vendor/perl/dist/t/op/wantarray.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/wantarray.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/wantarray.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/op/warn.t
===================================================================
--- vendor/perl/dist/t/op/warn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/warn.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
     require './test.pl';
 }
 
-plan 22;
+plan 30;
 
 my @warnings;
 my $wa = []; my $ea = [];
@@ -148,4 +148,48 @@
  'warn stringifies in the absence of $SIG{__WARN__}'
 );
 
+use Tie::Scalar;
+tie $@, "Tie::StdScalar";
+
+$@ = "foo\n";
+ at warnings = ();
+warn;
+is @warnings, 1;
+like $warnings[0], qr/^foo\n\t\.\.\.caught at warn\.t /,
+    '...caught is appended to tied $@';
+
+$@ = \$_;
+ at warnings = ();
+{
+  local *{ref(tied $@) . "::STORE"} = sub {};
+  undef $@;
+}
+warn;
+is @warnings, 1;
+is $warnings[0], \$_, '!SvOK tied $@ that returns ref is used';
+
+untie $@;
+
+ at warnings = ();
+{
+  package o;
+  use overload '""' => sub { "" };
+}
+tie $t, Tie::StdScalar;
+$t = bless [], o;
+{
+  local *{ref(tied $t) . "::STORE"} = sub {};
+  undef $t;
+}
+warn $t;
+is @warnings, 1;
+object_ok $warnings[0], 'o',
+  'warn $tie_returning_object_that_stringifes_emptily';
+
+ at warnings = ();
+eval "#line 42 Cholmondeley\n \$\@ = '3'; warn";
+eval "#line 42 Cholmondeley\n \$\@ = 3; warn";
+is @warnings, 2;
+is $warnings[1], $warnings[0], 'warn treats $@=3 and $@="3" the same way';
+
 1;


Property changes on: vendor/perl/dist/t/op/warn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/op/while_readdir.t
===================================================================
--- vendor/perl/dist/t/op/while_readdir.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/while_readdir.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/while_readdir.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/op/write.t
===================================================================
--- vendor/perl/dist/t/op/write.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/write.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -58,10 +58,10 @@
 #---------------------------------------------------------
 
 # number of tests in section 1
-my $bas_tests = 20;
+my $bas_tests = 21;
 
 # number of tests in section 3
-my $bug_tests = 4 + 3 * 3 * 5 * 2 * 3 + 2 + 2 + 1;
+my $bug_tests = 8 + 3 * 3 * 5 * 2 * 3 + 2 + 66 + 4 + 2 + 3 + 96 + 11;
 
 # number of tests in section 4
 my $hmb_tests = 35;
@@ -278,6 +278,18 @@
 close  OUT4 or die "Could not close: $!";
 is cat('Op_write.tmp'), "1\n" and unlink_all "Op_write.tmp";
 
+# More LEX_INTERPNORMAL
+format OUT4a=
+@<<<<<<<<<<<<<<<
+"${; use
+     strict; \'Nasdaq dropping like flies'}"
+.
+open   OUT4a, ">Op_write.tmp" or die "Can't create Op_write.tmp";
+write (OUT4a);
+close  OUT4a or die "Could not close: $!";
+is cat('Op_write.tmp'), "Nasdaq dropping\n", 'skipspace inside "${...}"'
+    and unlink_all "Op_write.tmp";
+
 eval <<'EOFORMAT';
 format OUT10 =
 @####.## @0###.##
@@ -504,13 +516,50 @@
 {
     local $~ = '';
     eval { write };
-    like $@, qr/Not a format reference/, 'format reference';
+    like $@, qr/Undefined format ""/, 'format with 0-length name';
 
+    $~ = "\0foo";
+    eval { write };
+    like $@, qr/Undefined format "\0foo"/,
+	'no such format beginning with null';
+
     $~ = "NOSUCHFORMAT";
     eval { write };
-    like $@, qr/Undefined format/, 'no such format';
+    like $@, qr/Undefined format "NOSUCHFORMAT"/, 'no such format';
 }
 
+select +(select(OUT21), do {
+    open(OUT21, '>Op_write.tmp') || die "Can't create Op_write.tmp";
+
+    format OUT21 =
+@<<
+$_
+.
+
+    local $^ = '';
+    local $= = 1;
+    $_ = "aataaaaaaaaaaaaaa"; eval { write(OUT21) };
+    like $@, qr/Undefined top format ""/, 'top format with 0-length name';
+
+    $^ = "\0foo";
+    # For some reason, we have to do this twice to get the error again.
+    $_ = "aataaaaaaaaaaaaaa"; eval { write(OUT21) };
+    $_ = "aataaaaaaaaaaaaaa"; eval { write(OUT21) };
+    like $@, qr/Undefined top format "\0foo"/,
+	'no such top format beginning with null';
+
+    $^ = "NOSUCHFORMAT";
+    $_ = "aataaaaaaaaaaaaaa"; eval { write(OUT21) };
+    $_ = "aataaaaaaaaaaaaaa"; eval { write(OUT21) };
+    like $@, qr/Undefined top format "NOSUCHFORMAT"/, 'no such top format';
+
+    # reset things;
+    eval { write(OUT21) };
+    undef $^A;
+
+    close OUT21 or die "Could not close: $!";
+})[0];
+
 {
   package Count;
 
@@ -542,9 +591,13 @@
 			  "$base\nMoo!\n",) {
 	foreach (['^*', qr/(.+)/], ['@*', qr/(.*?)$/s]) {
 	  my ($format, $re) = @$_;
+	  $format = "1^*2 3${format}4";
 	  foreach my $class ('', 'Count') {
-	    my $name = "$first, $second $format $class";
+	    my $name = qq{swrite("$format", "$first", "$second") class="$class"};
 	    $name =~ s/\n/\\n/g;
+	    $name =~ s{(.)}{
+			ord($1) > 126 ? sprintf("\\x{%x}",ord($1)) : $1
+		    }ge;
 
 	    $first =~ /(.+)/ or die $first;
 	    my $expect = "1${1}2";
@@ -555,12 +608,12 @@
 	      my $copy1 = $first;
 	      my $copy2;
 	      tie $copy2, $class, $second;
-	      is swrite("1^*2 3${format}4", $copy1, $copy2), $expect, $name;
+	      is swrite("$format", $copy1, $copy2), $expect, $name;
 	      my $obj = tied $copy2;
 	      is $obj->[1], 1, 'value read exactly once';
 	    } else {
 	      my ($copy1, $copy2) = ($first, $second);
-	      is swrite("1^*2 3${format}4", $copy1, $copy2), $expect, $name;
+	      is swrite("$format", $copy1, $copy2), $expect, $name;
 	    }
 	  }
 	}
@@ -589,7 +642,7 @@
 .
 
 
-# [ID 20020227.005] format bug with undefined _TOP
+# RT #8698 format bug with undefined _TOP
 
 open STDOUT_DUP, ">&STDOUT";
 my $oldfh = select STDOUT_DUP;
@@ -598,10 +651,7 @@
   local $~ = "Comment";
   write;
   curr_test($test + 1);
-  {
-    local $::TODO = '[ID 20020227.005] format bug with undefined _TOP';
-    is $-, 9;
-  }
+  is $-, 9;
   is $^, "STDOUT_DUP_TOP";
 }
 select $oldfh;
@@ -610,6 +660,115 @@
 *CmT =  *{$::{Comment}}{FORMAT};
 ok  defined *{$::{CmT}}{FORMAT}, "glob assign";
 
+
+# RT #91032: Check that "non-real" strings like tie and overload work,
+# especially that they re-compile the pattern on each FETCH, and that
+# they don't overrun the buffer
+
+
+{
+    package RT91032;
+
+    sub TIESCALAR { bless [] }
+    my $i = 0;
+    sub FETCH { $i++; "A$i @> Z\n" }
+
+    use overload '""' => \&FETCH;
+
+    tie my $f, 'RT91032';
+
+    formline $f, "a";
+    formline $f, "bc";
+    ::is $^A, "A1  a Z\nA2 bc Z\n", "RT 91032: tied";
+    $^A = '';
+
+    my $g = bless []; # has overloaded stringify
+    formline $g, "de";
+    formline $g, "f";
+    ::is $^A, "A3 de Z\nA4  f Z\n", "RT 91032: overloaded";
+    $^A = '';
+
+    my $h = [];
+    formline $h, "junk1";
+    formline $h, "junk2";
+    ::is ref($h), 'ARRAY', "RT 91032: array ref still a ref";
+    ::like "$h", qr/^ARRAY\(0x[0-9a-f]+\)$/, "RT 91032: array stringifies ok";
+    ::is $^A, "$h$h","RT 91032: stringified array";
+    $^A = '';
+
+    # used to overwrite the ~~ in the *original SV with spaces. Naughty!
+
+    my $orig = my $format = "^<<<<< ~~\n";
+    my $abc = "abc";
+    formline $format, $abc;
+    $^A ='';
+    ::is $format, $orig, "RT91032: don't overwrite orig format string";
+
+    # check that ~ and ~~ are displayed correctly as whitespace,
+    # under the influence of various different types of border
+
+    for my $n (1,2) {
+	for my $lhs (' ', 'Y', '^<<<', '^|||', '^>>>') {
+	    for my $rhs ('', ' ', 'Z', '^<<<', '^|||', '^>>>') {
+		my $fmt = "^<B$lhs" . ('~' x $n) . "$rhs\n";
+		my $sfmt = ($fmt =~ s/~/ /gr);
+		my ($a, $bc, $stop);
+		($a, $bc, $stop) = ('a', 'bc', 's');
+		# $stop is to stop '~~' deleting the whole line
+		formline $sfmt, $stop, $a, $bc;
+		my $exp = $^A;
+		$^A = '';
+		($a, $bc, $stop) = ('a', 'bc', 's');
+		formline $fmt, $stop, $a, $bc;
+		my $got = $^A;
+		$^A = '';
+		$fmt =~ s/\n/\\n/;
+		::is($got, $exp, "chop munging: [$fmt]");
+	    }
+	}
+    }
+}
+
+# check that '~  (delete current line if empty) works when
+# the target gets upgraded to uft8 (and re-allocated) midstream.
+
+{
+    my $format = "\x{100}@~\n"; # format is utf8
+    # this target is not utf8, but will expand (and get reallocated)
+    # when upgraded to utf8.
+    my $orig = "\x80\x81\x82";
+    local $^A = $orig;
+    my $empty = "";
+    formline $format, $empty;
+    is $^A , $orig, "~ and realloc";
+
+    # check similarly that trailing blank removal works ok
+
+    $format = "@<\n\x{100}"; # format is utf8
+    chop $format;
+    $orig = "   ";
+    $^A = $orig;
+    formline $format, "  ";
+    is $^A, "$orig\n", "end-of-line blanks and realloc";
+
+    # and check this doesn't overflow the buffer
+
+    local $^A = '';
+    $format = "@* @####\n";
+    $orig = "x" x 100 . "\n";
+    formline $format, $orig, 12345;
+    is $^A, ("x" x 100) . " 12345\n", "\@* doesn't overflow";
+
+    # make sure it can cope with formats > 64k
+
+    $format = 'x' x 65537;
+    $^A = '';
+    formline $format;
+    # don't use 'is' here, as the diag output will be too long!
+    ok $^A eq $format, ">64K";
+}
+
+
 SKIP: {
     skip_if_miniperl('miniperl does not support scalario');
     my $buf = "";
@@ -622,6 +781,33 @@
     is $buf, "ok $test\n", "write to duplicated format";
 }
 
+format caret_A_test_TOP =
+T
+.
+
+format caret_A_test =
+L1
+L2
+L3
+L4
+.
+
+SKIP: {
+    skip_if_miniperl('miniperl does not support scalario');
+    my $buf = "";
+    open my $fh, ">", \$buf;
+    my $old_fh = select $fh;
+    local $^ = "caret_A_test_TOP";
+    local $~ = "caret_A_test";
+    local $= = 3;
+    local $^A = "A1\nA2\nA3\nA4\n";
+    write;
+    select $old_fh;
+    close $fh;
+    is $buf, "T\nA1\nA2\n\fT\nA3\nA4\n\fT\nL1\nL2\n\fT\nL3\nL4\n",
+		    "assign to ^A sets FmLINES";
+}
+
 fresh_perl_like(<<'EOP', qr/^Format STDOUT redefined at/, {stderr => 1}, '#64562 - Segmentation fault with redefined formats and warnings');
 #!./perl
 
@@ -639,6 +825,295 @@
 write;
 EOP
 
+fresh_perl_is(<<'EOP', ">ARRAY<\ncrunch_eth\n", {stderr => 1}, '#79532 - formline coerces its arguments');
+use strict;
+use warnings;
+my $zamm = ['crunch_eth'];
+formline $zamm;
+printf ">%s<\n", ref $zamm;
+print "$zamm->[0]\n";
+EOP
+
+# [perl #73690]
+
+select +(select(RT73690), do {
+    open(RT73690, '>Op_write.tmp') || die "Can't create Op_write.tmp";
+    format RT73690 =
+@<< @<<
+11, 22
+.
+
+    my @ret;
+
+    @ret = write;
+    is(scalar(@ret), 1);
+    ok($ret[0]);
+    @ret = scalar(write);
+    is(scalar(@ret), 1);
+    ok($ret[0]);
+    @ret = write(RT73690);
+    is(scalar(@ret), 1);
+    ok($ret[0]);
+    @ret = scalar(write(RT73690));
+    is(scalar(@ret), 1);
+    ok($ret[0]);
+
+    @ret = ('a', write, 'z');
+    is(scalar(@ret), 3);
+    is($ret[0], 'a');
+    ok($ret[1]);
+    is($ret[2], 'z');
+    @ret = ('b', scalar(write), 'y');
+    is(scalar(@ret), 3);
+    is($ret[0], 'b');
+    ok($ret[1]);
+    is($ret[2], 'y');
+    @ret = ('c', write(RT73690), 'x');
+    is(scalar(@ret), 3);
+    is($ret[0], 'c');
+    ok($ret[1]);
+    is($ret[2], 'x');
+    @ret = ('d', scalar(write(RT73690)), 'w');
+    is(scalar(@ret), 3);
+    is($ret[0], 'd');
+    ok($ret[1]);
+    is($ret[2], 'w');
+
+    @ret = do { write; 'foo' };
+    is(scalar(@ret), 1);
+    is($ret[0], 'foo');
+    @ret = do { scalar(write); 'bar' };
+    is(scalar(@ret), 1);
+    is($ret[0], 'bar');
+    @ret = do { write(RT73690); 'baz' };
+    is(scalar(@ret), 1);
+    is($ret[0], 'baz');
+    @ret = do { scalar(write(RT73690)); 'quux' };
+    is(scalar(@ret), 1);
+    is($ret[0], 'quux');
+
+    @ret = ('a', do { write; 'foo' }, 'z');
+    is(scalar(@ret), 3);
+    is($ret[0], 'a');
+    is($ret[1], 'foo');
+    is($ret[2], 'z');
+    @ret = ('b', do { scalar(write); 'bar' }, 'y');
+    is(scalar(@ret), 3);
+    is($ret[0], 'b');
+    is($ret[1], 'bar');
+    is($ret[2], 'y');
+    @ret = ('c', do { write(RT73690); 'baz' }, 'x');
+    is(scalar(@ret), 3);
+    is($ret[0], 'c');
+    is($ret[1], 'baz');
+    is($ret[2], 'x');
+    @ret = ('d', do { scalar(write(RT73690)); 'quux' }, 'w');
+    is(scalar(@ret), 3);
+    is($ret[0], 'd');
+    is($ret[1], 'quux');
+    is($ret[2], 'w');
+
+    close RT73690 or die "Could not close: $!";
+})[0];
+
+select +(select(RT73690_2), do {
+    open(RT73690_2, '>Op_write.tmp') || die "Can't create Op_write.tmp";
+    format RT73690_2 =
+@<< @<<
+return
+.
+
+    my @ret;
+
+    @ret = write;
+    is(scalar(@ret), 1);
+    ok(!$ret[0]);
+    @ret = scalar(write);
+    is(scalar(@ret), 1);
+    ok(!$ret[0]);
+    @ret = write(RT73690_2);
+    is(scalar(@ret), 1);
+    ok(!$ret[0]);
+    @ret = scalar(write(RT73690_2));
+    is(scalar(@ret), 1);
+    ok(!$ret[0]);
+
+    @ret = ('a', write, 'z');
+    is(scalar(@ret), 3);
+    is($ret[0], 'a');
+    ok(!$ret[1]);
+    is($ret[2], 'z');
+    @ret = ('b', scalar(write), 'y');
+    is(scalar(@ret), 3);
+    is($ret[0], 'b');
+    ok(!$ret[1]);
+    is($ret[2], 'y');
+    @ret = ('c', write(RT73690_2), 'x');
+    is(scalar(@ret), 3);
+    is($ret[0], 'c');
+    ok(!$ret[1]);
+    is($ret[2], 'x');
+    @ret = ('d', scalar(write(RT73690_2)), 'w');
+    is(scalar(@ret), 3);
+    is($ret[0], 'd');
+    ok(!$ret[1]);
+    is($ret[2], 'w');
+
+    @ret = do { write; 'foo' };
+    is(scalar(@ret), 1);
+    is($ret[0], 'foo');
+    @ret = do { scalar(write); 'bar' };
+    is(scalar(@ret), 1);
+    is($ret[0], 'bar');
+    @ret = do { write(RT73690_2); 'baz' };
+    is(scalar(@ret), 1);
+    is($ret[0], 'baz');
+    @ret = do { scalar(write(RT73690_2)); 'quux' };
+    is(scalar(@ret), 1);
+    is($ret[0], 'quux');
+
+    @ret = ('a', do { write; 'foo' }, 'z');
+    is(scalar(@ret), 3);
+    is($ret[0], 'a');
+    is($ret[1], 'foo');
+    is($ret[2], 'z');
+    @ret = ('b', do { scalar(write); 'bar' }, 'y');
+    is(scalar(@ret), 3);
+    is($ret[0], 'b');
+    is($ret[1], 'bar');
+    is($ret[2], 'y');
+    @ret = ('c', do { write(RT73690_2); 'baz' }, 'x');
+    is(scalar(@ret), 3);
+    is($ret[0], 'c');
+    is($ret[1], 'baz');
+    is($ret[2], 'x');
+    @ret = ('d', do { scalar(write(RT73690_2)); 'quux' }, 'w');
+    is(scalar(@ret), 3);
+    is($ret[0], 'd');
+    is($ret[1], 'quux');
+    is($ret[2], 'w');
+
+    close RT73690_2 or die "Could not close: $!";
+})[0];
+
+open(UNDEF, '>Op_write.tmp') || die "Can't create Op_write.tmp";
+select +(select(UNDEF), $~ = "UNDEFFORMAT")[0];
+format UNDEFFORMAT =
+@
+undef *UNDEFFORMAT
+.
+write UNDEF;
+pass "active format cannot be freed";
+
+select +(select(UNDEF), $~ = "UNDEFFORMAT2")[0];
+format UNDEFFORMAT2 =
+@
+close UNDEF or die "Could not close: $!"; undef *UNDEF
+.
+write UNDEF;
+pass "freeing current handle in format";
+undef $^A;
+
+ok !eval q|
+format foo {
+@<<<
+$a
+}
+;1
+|, 'format foo { ... } is not allowed';
+
+ok !eval q|
+format =
+@<<<
+}
+;1
+|, 'format = ... } is not allowed';
+
+open(NEST, '>Op_write.tmp') || die "Can't create Op_write.tmp";
+format NEST =
+@<<<
+{
+    my $birds = "birds";
+    local *NEST = *BIRDS{FORMAT};
+    write NEST;
+    format BIRDS =
+@<<<<<
+$birds;
+.
+    "nest"
+}
+.
+write NEST;
+close NEST or die "Could not close: $!";
+is cat('Op_write.tmp'), "birds\nnest\n", 'nested formats';
+
+# A compilation error should not create a format
+eval q|
+format ERROR =
+@
+ at _ =~ s///
+.
+|;
+eval { write ERROR };
+like $@, qr'Undefined format',
+    'formats with compilation errors are not created';
+
+# This syntax error used to cause a crash, double free, or a least
+# a bad read.
+# See the long-winded explanation at:
+#   https://rt.perl.org/rt3/Ticket/Display.html?id=43425#txn-1144500
+eval q|
+format =
+@
+use;format
+strict
+.
+|;
+pass('no crash with invalid use/format inside format');
+
+
+# Low-precedence operators on argument line
+format AND =
+@
+0 and die
+.
+$- = $=;
+ok eval { local $~ = "AND"; print "# "; write; 1 },
+    "low-prec ops on arg line" or diag $@;
+
+# Anonymous hashes
+open(HASH, '>Op_write.tmp') || die "Can't create Op_write.tmp";
+format HASH =
+@<<<
+${{qw[ Sun 0 Mon 1 Tue 2 Wed 3 Thu 4 Fri 5 Sat 6 ]}}{"Wed"}
+.
+write HASH;
+close HASH or die "Could not close: $!";
+is cat('Op_write.tmp'), "3\n", 'anonymous hashes';
+
+# pragmata inside argument line
+open(STRICT, '>Op_write.tmp') || die "Can't create Op_write.tmp";
+format STRICT =
+@<<<
+no strict; $foo
+.
+$::foo = 'oof::$';
+write STRICT;
+close STRICT or die "Could not close: $!";
+is cat('Op_write.tmp'), "oof:\n", 'pragmata on format line';
+
+SKIP: {
+   skip "no weak refs" unless eval { require Scalar::Util };
+   sub Potshriggley {
+format Potshriggley =
+.
+   }
+   Scalar::Util::weaken(my $x = *Potshriggley{FORMAT});
+   undef *Potshriggley;
+   is $x, undef, 'formats in subs do not leak';
+}
+
+
 #############################
 ## Section 4
 ## Add new tests *above* here


Property changes on: vendor/perl/dist/t/op/write.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/op/yadayada.t
===================================================================
--- vendor/perl/dist/t/op/yadayada.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/op/yadayada.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/op/yadayada.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/perl.supp
===================================================================
--- vendor/perl/dist/t/perl.supp	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/perl.supp	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/perl.supp
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/emptycmd.t
===================================================================
--- vendor/perl/dist/t/pod/emptycmd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/emptycmd.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/emptycmd.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/emptycmd.xr
===================================================================
--- vendor/perl/dist/t/pod/emptycmd.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/emptycmd.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/emptycmd.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/find.t
===================================================================
--- vendor/perl/dist/t/pod/find.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/find.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/find.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/pod/for.t
===================================================================
--- vendor/perl/dist/t/pod/for.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/for.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/for.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/for.xr
===================================================================
--- vendor/perl/dist/t/pod/for.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/for.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/for.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/headings.t
===================================================================
--- vendor/perl/dist/t/pod/headings.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/headings.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/headings.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/headings.xr
===================================================================
--- vendor/perl/dist/t/pod/headings.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/headings.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/headings.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/include.t
===================================================================
--- vendor/perl/dist/t/pod/include.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/include.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/include.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/include.xr
===================================================================
--- vendor/perl/dist/t/pod/include.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/include.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/include.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/included.t
===================================================================
--- vendor/perl/dist/t/pod/included.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/included.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/included.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/included.xr
===================================================================
--- vendor/perl/dist/t/pod/included.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/included.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/included.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/lref.t
===================================================================
--- vendor/perl/dist/t/pod/lref.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/lref.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/lref.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/lref.xr
===================================================================
--- vendor/perl/dist/t/pod/lref.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/lref.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/lref.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/multiline_items.t
===================================================================
--- vendor/perl/dist/t/pod/multiline_items.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/multiline_items.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/multiline_items.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/multiline_items.xr
===================================================================
--- vendor/perl/dist/t/pod/multiline_items.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/multiline_items.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/multiline_items.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/pod/nested_items.t
===================================================================
--- vendor/perl/dist/t/pod/nested_items.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/nested_items.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/nested_items.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/nested_items.xr
===================================================================
--- vendor/perl/dist/t/pod/nested_items.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/nested_items.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/nested_items.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/nested_seqs.t
===================================================================
--- vendor/perl/dist/t/pod/nested_seqs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/nested_seqs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/nested_seqs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/nested_seqs.xr
===================================================================
--- vendor/perl/dist/t/pod/nested_seqs.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/nested_seqs.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/nested_seqs.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/oneline_cmds.t
===================================================================
--- vendor/perl/dist/t/pod/oneline_cmds.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/oneline_cmds.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/oneline_cmds.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/oneline_cmds.xr
===================================================================
--- vendor/perl/dist/t/pod/oneline_cmds.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/oneline_cmds.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/oneline_cmds.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/p2u_data.pl
===================================================================
--- vendor/perl/dist/t/pod/p2u_data.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/p2u_data.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/p2u_data.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/plainer.t
===================================================================
--- vendor/perl/dist/t/pod/plainer.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/plainer.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/plainer.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/pod2usage.t
===================================================================
--- vendor/perl/dist/t/pod/pod2usage.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/pod2usage.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/pod2usage.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/pod2usage.xr
===================================================================
--- vendor/perl/dist/t/pod/pod2usage.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/pod2usage.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/pod2usage.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/pod/pod2usage2.t
===================================================================
--- vendor/perl/dist/t/pod/pod2usage2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/pod2usage2.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/pod2usage2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/pod/podchkenc.t
===================================================================
--- vendor/perl/dist/t/pod/podchkenc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/podchkenc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/podchkenc.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/podchkenc.xr
===================================================================
--- vendor/perl/dist/t/pod/podchkenc.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/podchkenc.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/podchkenc.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/poderrs.t
===================================================================
--- vendor/perl/dist/t/pod/poderrs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/poderrs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/poderrs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/poderrs.xr
===================================================================
--- vendor/perl/dist/t/pod/poderrs.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/poderrs.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/poderrs.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/podselect.t
===================================================================
--- vendor/perl/dist/t/pod/podselect.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/podselect.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/podselect.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/podselect.xr
===================================================================
--- vendor/perl/dist/t/pod/podselect.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/podselect.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/podselect.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/special_seqs.t
===================================================================
--- vendor/perl/dist/t/pod/special_seqs.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/special_seqs.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/special_seqs.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/special_seqs.xr
===================================================================
--- vendor/perl/dist/t/pod/special_seqs.xr	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/special_seqs.xr	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/special_seqs.xr
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/testcmp.pl
===================================================================
--- vendor/perl/dist/t/pod/testcmp.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/testcmp.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/testcmp.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/testp2pt.pl
===================================================================
--- vendor/perl/dist/t/pod/testp2pt.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/testp2pt.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/testp2pt.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/testpchk.pl
===================================================================
--- vendor/perl/dist/t/pod/testpchk.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/testpchk.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/testpchk.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/testpods/lib/Pod/Stuff.pm
===================================================================
--- vendor/perl/dist/t/pod/testpods/lib/Pod/Stuff.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/testpods/lib/Pod/Stuff.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/testpods/lib/Pod/Stuff.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/twice.t
===================================================================
--- vendor/perl/dist/t/pod/twice.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/twice.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/twice.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/usage.pod
===================================================================
--- vendor/perl/dist/t/pod/usage.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/usage.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/usage.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/pod/usage2.pod
===================================================================
--- vendor/perl/dist/t/pod/usage2.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/pod/usage2.pod	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/pod/usage2.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/porting/FindExt.t
===================================================================
--- vendor/perl/dist/t/porting/FindExt.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/FindExt.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/porting/FindExt.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/args_assert.t
===================================================================
--- vendor/perl/dist/t/porting/args_assert.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/args_assert.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -39,6 +39,8 @@
 	# *.c or */*.c
 	push @ARGV, $prefix . $1 if m!^((?:[^/]+/)?[^/]+\.c)\t!;
     }
+    push @ARGV, $prefix . 'inline.h'; # Special case this '.h' which acts like
+                                      # a '.c'
 }
 
 while (<>) {


Property changes on: vendor/perl/dist/t/porting/args_assert.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/authors.t
===================================================================
--- vendor/perl/dist/t/porting/authors.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/authors.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,20 +1,17 @@
 #!./perl -w
+# Test that there are no missing authors in AUTHORS
 
-# Test that there are no missing authors in AUTHORS
 BEGIN {
-    chdir '..' unless -d 't';
-    unshift @INC, 'lib';
+    @INC = '..' if -f '../TestInit.pm';
 }
-
+use TestInit qw(T); # T is chdir to the top level
 use strict;
-use warnings;
 
-if (! -d '.git' ) {
-    print "1..0 # SKIP: not being run from a git checkout\n";
-    exit 0;
-}
+require 't/test.pl';
+find_git_or_skip('all');
 
-my $dotslash = $^O eq "MSWin32" ? ".\\" : "./";
-system("git log --pretty=fuller | ${dotslash}perl -Ilib Porting/checkAUTHORS.pl --tap -");
+# This is the subset of "pretty=fuller" that checkAUTHORS.pl actually needs:
+my $quote = $^O =~ /^mswin/i ? q(") : q(');
+system("git log --pretty=format:${quote}Author: %an <%ae>%n${quote} | $^X Porting/checkAUTHORS.pl --tap -");
 
 # EOF


Property changes on: vendor/perl/dist/t/porting/authors.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/porting/bincompat.t
===================================================================
--- vendor/perl/dist/t/porting/bincompat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/bincompat.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/porting/bincompat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/porting/buildtoc.t
===================================================================
--- vendor/perl/dist/t/porting/buildtoc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/buildtoc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/porting/buildtoc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/checkcase.t
===================================================================
--- vendor/perl/dist/t/porting/checkcase.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/checkcase.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,12 @@
 #!/usr/bin/perl
-# Finds the files that have the same name, case insensitively,
-# in the current directory and its subdirectories
+# Finds the files that have the same name, case insensitively in the build tree
 
+BEGIN {
+    @INC = '..' if -f '../TestInit.pm';
+    require './test.pl';
+}
+use TestInit qw(T); # T is chdir to the top level
+
 use warnings;
 use strict;
 use File::Find;
@@ -9,29 +14,31 @@
 my %files;
 my $test_count = 0;
 
-find(sub {
-        # We only care about directories to the extent they
-        # result in an actual file collision, so skip dirs
-        return if -d $File::Find::name;
+find({no_chdir => 1, wanted => sub {
+	   my $name = $File::Find::name;
+	   # Assumes that the path separator is exactly one character.
+	   $name =~ s/^\..//;
 
-        my $name = $File::Find::name;
-        # Assumes that the path separator is exactly one character.
-        $name =~ s/^\.\..//;
+	   # Special exemption for Makefile, makefile
+	   return if $name =~ m!\A(?:x2p/)?[Mm]akefile\z!;
 
-        # Special exemption for Makefile, makefile
-        return if $name =~ m!\A(?:x2p/)?[Mm]akefile\z!;
+	   if ($name eq '.git') {
+	       # Don't scan the .git directory, as its contents are outside
+	       # our control. In particular, as fetch doesn't default to
+	       # --prune, # someone pushing a branch upstream with a name
+	       # which case-conflicts with a previously deleted branch will
+	       # cause action-at-a-distance failures, because locally
+	       # .git/logs/refs/remotes will contain both.
+	       ++$File::Find::prune;
+	       return;
+	   }
 
-        push @{$files{lc $name}}, $name;
-    }, '..');
+	   push @{$files{lc $name}}, $name;
+	 }}, '.');
 
 foreach (sort values %files) {
-    if (@$_ > 1) {
-        print "not ok ".++$test_count. " - ". join(", ", @$_), "\n";
-        print STDERR "# $_\n" foreach @$_;
-    } else {
-        print "ok ".++$test_count. " - ". join(", ", @$_), "\n";
-    }
+    is( @$_, 1, join(", ", @$_) ) or
+        do{ note($_) foreach @$_; };
 }
 
-print "1..".$test_count."\n";
-# vim: ts=4 sts=4 sw=4 et:
+done_testing();


Property changes on: vendor/perl/dist/t/porting/checkcase.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/cmp_version.t
===================================================================
--- vendor/perl/dist/t/porting/cmp_version.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/cmp_version.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,153 +1,18 @@
 #!./perl -w
 
-#
-# Compare the current Perl source tree against the version at the most
-# recent tag, for modules that have identical version numbers but
-# different contents. Skips cpan/.
-#
 # Original by slaven at rezic.de, modified by jhi and matt.w.johnson at gmail.com
 #
 # Adapted from Porting/cmpVERSION.pl by Abigail
-#
+# Changes folded back into that by Nicholas
 
 BEGIN {
-    chdir '..' unless -d 't';
-    unshift @INC, 'lib', 'Porting';
+    @INC = '..' if -f '../TestInit.pm';
 }
-
+use TestInit qw(T A); # T is chdir to the top level, A makes paths absolute
 use strict;
-use warnings;
-use version;
-use ExtUtils::MakeMaker;
-use File::Compare;
-use File::Find;
-use File::Spec::Functions qw(rel2abs abs2rel catfile catdir curdir);
-use Getopt::Std;
-use Maintainers;
 
-if (! -d '.git' ) {
-    print "1..0 # SKIP: not being run from a git checkout\n";
-    exit 0;
-}
+require 't/test.pl';
+my $source = find_git_or_skip('all');
+chdir $source or die "Can't chdir to $source: $!";
 
-#
-# Thanks to David Golden for this suggestion.
-#
-my $tag_to_compare = `git describe --abbrev=0`;
-chomp $tag_to_compare;
-my $source_dir = '.';
-
-my $null = $^O eq 'MSWin32' ? 'nul' : '/dev/null';
-
-my $tag_exists = `git --no-pager tag -l $tag_to_compare 2>$null`;
-chomp $tag_exists;
-
-
-if ($tag_exists ne $tag_to_compare) {
-    print "1..0 # SKIP: '$tag_to_compare' is not a known Git tag\n";
-    exit 0;
-}
-
-
-my %dual_files;
-for my $m (grep $Maintainers::Modules {$_} {CPAN}, keys %Maintainers::Modules) {
-    $dual_files{$_} = 1 for Maintainers::get_module_files ($m);
-}
-
-
-# Files to skip from the check for one reason or another,
-# usually because they pull in their version from some other file.
-my %skip;
- at skip{
-    'lib/Carp/Heavy.pm',
-    'lib/Config.pm',		# no version number but contents will vary
-    'lib/Exporter/Heavy.pm',
-    'win32/FindExt.pm',
-} = ();
-
-# Files to skip just for particular version(s),
-# usually due to some # mix-up
-
-my %skip_versions = (
-    # 'some/sample/file.pm' => [ '1.23', '1.24' ],
-    'dist/threads/lib/threads.pm' => [ '1.83' ],
-);
-
-my $skip_dirs = qr{^(?:t/lib|cpan)};
-
-my @all_diffs = `git --no-pager diff --name-only $tag_to_compare`;
-chomp @all_diffs;
-
-my @tmp_diffs = grep {
-    my $this_dir;
-    $this_dir = $1 if m/^(.*)\//;
-    /\.pm$/ &&
-    (!defined($this_dir) || ($this_dir !~ $skip_dirs)) &&
-    !exists $skip{$_};
-} @all_diffs;
-my   @module_diffs =  grep {!exists $dual_files {$_}} @tmp_diffs;
-push @module_diffs => grep { exists $dual_files {$_}} @tmp_diffs;
-
-unless (@module_diffs) {
-    print "1..1\n";
-    print "ok 1 - No difference found\n";
-    exit;
-}
-
-my (@output_files, @output_diffs);
-
-printf "1..%d\n" => scalar @module_diffs;
-
-my $count = 0;
-my @diff;
-foreach my $pm_file (@module_diffs) {
-    @diff = ();
-    (my $xs_file = $pm_file) =~ s/\.pm$/.xs/;
-    my $pm_eq = compare_git_file($pm_file, $tag_to_compare);
-    next unless defined $pm_eq;
-    my $xs_eq = 1;
-    if (-e $xs_file) {
-        $xs_eq = compare_git_file($xs_file, $tag_to_compare);
-        next unless defined $xs_eq;
-    }
-    next if ($pm_eq && $xs_eq);
-    my $pm_version = eval {MM->parse_version($pm_file)};
-    my $orig_pm_content = get_file_from_git($pm_file, $tag_to_compare);
-    my $orig_pm_version = eval {MM->parse_version(\$orig_pm_content)};
-    next if ( ! defined $pm_version || ! defined $orig_pm_version );
-    next if ( $pm_version eq 'undef' || $orig_pm_version eq 'undef' ); # sigh
-    next if $pm_version ne $orig_pm_version;
-    next if exists $skip_versions{$pm_file}
-	 and grep $pm_version eq $_, @{$skip_versions{$pm_file}};
-    push @diff => $pm_file unless $pm_eq;
-    push @diff => $xs_file unless $xs_eq;
-}
-continue {
-    if (@diff) {
-        foreach my $diff (@diff) {
-            print "# $_" for `git --no-pager diff $tag_to_compare '$diff'`;
-        }
-        printf "not ok %d - %s\n" => ++ $count, $pm_file;
-    }
-    else {
-        printf "ok %d - %s\n" => ++ $count, $pm_file;
-    }
-}
-
-exit;
-
-sub compare_git_file {
-    my ($file, $tag) = @_;
-    open(my $orig_fh, "-|", "git --no-pager show $tag:$file 2>$null");
-    return undef if eof($orig_fh);
-    my $is_eq = compare($file, $orig_fh) == 0;
-    close($orig_fh);
-    return $is_eq;
-}
-
-sub get_file_from_git {
-    my ($file, $tag) = @_;
-    local $/ = undef;
-    my $file_content = `git --no-pager show $tag:$file 2>$null`;
-    return $file_content;
-}
+system "$^X Porting/cmpVERSION.pl --exclude --tap";


Property changes on: vendor/perl/dist/t/porting/cmp_version.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/diag.t
===================================================================
--- vendor/perl/dist/t/porting/diag.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/diag.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,7 +2,10 @@
 use warnings;
 use strict;
 
-require './test.pl';
+BEGIN {
+  chdir 't';
+  require './test.pl';
+}
 
 plan('no_plan');
 
@@ -48,21 +51,28 @@
 
 close $func_fh;
 
+my $regcomp_re = "(?<routine>(?:ckWARN(?:\\d+)?reg\\w*|vWARN\\d+))";
 my $function_re = join '|', @functions;
-my $source_msg_re = qr/(?<routine>\bDIE\b|$function_re)/;
-my $text_re = qr/"(?<text>(?:\\"|[^"])*?)"/;
+my $regcomp_fail_re = '\b(?:(?:Simple_)?v)?FAIL[2-4]?\b';
+my $source_msg_re =
+   "(?<routine>\\bDIE\\b|$function_re|$regcomp_fail_re)";
+my $text_re = '"(?<text>(?:\\\\"|[^"]|"\s*[A-Z_]+\s*")*)"';
 my $source_msg_call_re = qr/$source_msg_re(?:_nocontext)? \s*
     \(aTHX_ \s*
     (?:packWARN\d*\((?<category>.*?)\),)? \s*
     $text_re /x;
 my $bad_version_re = qr{BADVERSION\([^"]*$text_re};
+   $regcomp_fail_re = qr/$regcomp_fail_re\([^"]*$text_re/;
+my $regcomp_call_re = qr/$regcomp_re.*?$text_re/;
 
 my %entries;
 
 # Get the ignores that are compiled into this file
+my $reading_categorical_exceptions;
 while (<DATA>) {
   chomp;
-  $entries{$_}{todo}=1;
+  $entries{$_}{$reading_categorical_exceptions ? 'cattodo' : 'todo'}=1;
+  /__CATEGORIES__/ and ++$reading_categorical_exceptions;
 }
 
 my $pod = "pod/perldiag.pod";
@@ -70,14 +80,27 @@
 open my $diagfh, "<", $pod
   or die "Can't open $pod: $!";
 
-my $category_re = qr/ [a-z0-9_]+?/;      # Note: requires an initial space
+my $category_re = qr/ [a-z0-9_:]+?/;    # Note: requires an initial space
 my $severity_re = qr/ . (?: \| . )* /x; # A severity is a single char, but can
                                         # be of the form 'S|P|W'
+my @same_descr;
 while (<$diagfh>) {
   if (m/^=item (.*)/) {
     $cur_entry = $1;
 
-    if (exists $entries{$cur_entry}) {
+    # Allow multi-line headers
+    while (<$diagfh>) {
+      if (/^\s*$/) {
+        last;
+      }
+
+      $cur_entry .= $_;
+    }
+
+    $cur_entry =~ s/\n/ /gs; # Fix multi-line headers if they have \n's
+    $cur_entry =~ s/\s+\z//;
+
+    if (exists $entries{$cur_entry} && $entries{$cur_entry}{todo}) {
         TODO: {
             local $::TODO = "Remove the TODO entry \"$cur_entry\" from DATA as it is already in $pod near line $.";
             ok($cur_entry);
@@ -87,7 +110,6 @@
     # overwrites one in DATA.
     $entries{$cur_entry}{todo} = 0;
     $entries{$cur_entry}{line_number} = $.;
-    next;
   }
 
   next if ! defined $cur_entry;
@@ -96,10 +118,16 @@
     if (/^ \( ( $severity_re )
 
         # Can have multiple categories separated by commas
-        (?: ( $category_re ) (?: , $category_re)* )? \) /x)
+        ( $category_re (?: , $category_re)* )? \) /x)
     {
       $entries{$cur_entry}{severity} = $1;
-      $entries{$cur_entry}{category} = $2;
+      $entries{$cur_entry}{category} =
+        $2 && join ", ", sort split " ", $2 =~ y/,//dr;
+
+      # Record it also for other messages sharing the same description
+      @$_{qw<severity category>} =
+        @{$entries{$cur_entry}}{qw<severity category>}
+       for @same_descr;
     }
     elsif (! $entries{$cur_entry}{first_line} && $_ =~ /\S/) {
 
@@ -107,6 +135,12 @@
       # that can later examine it to determine if that is ok or not
       $entries{$cur_entry}{first_line} = $_;
     }
+    if (/\S/) {
+      @same_descr = ();
+    }
+    else {
+      push @same_descr, $entries{$cur_entry};
+    }
   }
 }
 
@@ -142,6 +176,10 @@
 		      NVef => 'f',
 		      NVff => 'f',
 		      NVgf => 'f',
+		      HEKf256=>'s',
+		      HEKf => 's',
+		      SVf256=>'s',
+		      SVf32=> 's',
 		      SVf  => 's');
 my $format_modifiers = qr/ [#0\ +-]*              # optional flags
 			  (?: [1-9][0-9]* | \* )? # optional field width
@@ -149,22 +187,21 @@
 			  (?: h|l )?              # optional length modifier
 			/x;
 
-my $specialformats = join '|', sort keys %specialformats;
+my $specialformats =
+ join '|', sort { length $b cmp length $a } keys %specialformats;
 my $specialformats_re = qr/%$format_modifiers"\s*($specialformats)(\s*")?/;
 
-# Recursively descend looking for source files.
-my @todo = sort <*>;
-while (@todo) {
-  my $todo = shift @todo;
-  next if $todo ~~ ['t', 'lib', 'ext', 'dist', 'cpan'];
-  # opmini.c is just a copy of op.c, so there's no need to check again.
-  next if $todo eq 'opmini.c';
-  if (-d $todo) {
-    unshift @todo, sort glob "$todo/*";
-  } elsif ($todo =~ m/\.[ch]$/) {
-    check_file($todo);
-  }
+open my $fh, '<', 'MANIFEST' or die "Can't open MANIFEST: $!";
+while (my $file = <$fh>) {
+    chomp $file;
+    $file =~ s/\s+.*//;
+    next unless $file =~ /\.(?:c|cpp|h|xs|y)\z/ or $file =~ /^perly\./;
+    # OS/2 extensions have never been migrated to ext/, hence the special case:
+    next if $file =~ m!\A(?:ext|dist|cpan|lib|t|os2/OS2)/!
+            && $file !~ m!\Aext/DynaLoader/!;
+    check_file($file);
 }
+close $fh or die $!;
 
 # Standardize messages with variants into the form that appears
 # in perldiag.pod -- useful for things without a diag_listed_as annotation
@@ -204,16 +241,15 @@
       $sub = $_;
     }
     next if $sub =~ m/^XS/;
-    if (m</\* diag_listed_as: (.*) \*/>) {
+    if (m</\*\s*diag_listed_as: (.*?)\s*\*/>) {
       $listed_as = $1;
       $listed_as_line = $.+1;
     }
     next if /^#/;
-    next if /^ +/;
 
     my $multiline = 0;
     # Loop to accumulate the message text all on one line.
-    if (m/$source_msg_re/) {
+    if (m/(?:$source_msg_re(?:_nocontext)?|$regcomp_re)\s*\(/) {
       while (not m/\);$/) {
         my $nextline = <$codefh>;
         # Means we fell off the end of the file.  Not terribly surprising;
@@ -244,24 +280,55 @@
     # The %"foo" thing needs to happen *before* this regex.
     # diag($_);
     # DIE is just return Perl_die
-    my ($name, $category);
+    my ($name, $category, $routine);
     if (/$source_msg_call_re/) {
-      ($name, $category) = ($+{'text'}, $+{'category'});
+      ($name, $category, $routine) = ($+{'text'}, $+{'category'}, $+{'routine'});
+      # Sometimes the regexp will pick up too much for the category
+      # e.g., WARN_UNINITIALIZED), PL_warn_uninit_sv ... up to the next )
+      $category && $category =~ s/\).*//s;
     }
     elsif (/$bad_version_re/) {
       ($name, $category) = ($+{'text'}, undef);
     }
+    elsif (/$regcomp_fail_re/) {
+      #  FAIL("foo") -> "foo in regex m/%s/"
+      # vFAIL("foo") -> "foo in regex; marked by <-- HERE in m/%s/"
+      ($name, $category) = ($+{'text'}, undef);
+      $name .=
+        " in regex" . ("; marked by <-- HERE in" x /vFAIL/) . " m/%s/";
+    }
+    elsif (/$regcomp_call_re/) {
+      # vWARN/ckWARNreg("foo") -> "foo in regex; marked by <-- HERE in m/%s/
+      ($name, $category, $routine) = ($+{'text'}, undef, $+{'routine'});
+      $name .= " in regex; marked by <-- HERE in m/%s/";
+      $category = 'WARN_REGEXP';
+      if ($routine =~ /dep/) {
+        $category .= ',WARN_DEPRECATED';
+      }
+    }
     else {
       next;
     }
 
-    my $severity = {croak => [qw/P F/],
-                      die   => [qw/P F/],
-                      warn  => [qw/W D S/],
-                     }->{$+{'routine'}||'die'};
-    my @categories;
+    # Try to guess what the severity should be.  In the case of
+    # Perl_ck_warner and other _ck_ functions, we can tell whether it is
+    # a severe/default warning or no by the _d suffix.  In the case of
+    # other warn functions we cannot tell, because Perl_warner may be pre-
+    # ceded by if(ckWARN) or if(ckWARN_d).
+    my $severity = !$routine                   ? '[PFX]'
+                 :  $routine =~ /warn.*_d\z/   ? '[DS]'
+                 :  $routine =~ /ck_warn/      ?  'W'
+                 :  $routine =~ /warn/         ? '[WDS]'
+                 :  $routine =~ /ckWARN.*dep/  ?  'D'
+                 :  $routine =~ /ckWARN\d*reg/ ?  'W'
+                 :  $routine =~ /vWARN\d/      ? '[WDS]'
+                 :                             '[PFX]';
+    my $categories;
     if (defined $category) {
-      @categories = map {s/^WARN_//; lc $_} split /\s*[|,]\s*/, $category;
+      $category =~ s/__/::/g;
+      $categories =
+        join ", ",
+              sort map {s/^WARN_//; lc $_} split /\s*[|,]\s*/, $category;
     }
     if ($listed_as and $listed_as_line == $. - $multiline) {
       $name = $listed_as;
@@ -268,12 +335,13 @@
     } else {
       # The form listed in perldiag ignores most sorts of fancy printf
       # formatting, or makes it more perlish.
-      $name =~ s/%%/\\%/g;
+      $name =~ s/%%/%/g;
       $name =~ s/%l[ud]/%d/g;
       $name =~ s/%\.(\d+|\*)s/\%s/g;
-      $name =~ s/\\"/"/g;
+      $name =~ s/(?:%s){2,}/%s/g;
+      $name =~ s/(\\")|("\s*[A-Z_]+\s*")/$1 ? '"' : '%s'/egg;
       $name =~ s/\\t/\t/g;
-      $name =~ s/\\n/ /g;
+      $name =~ s/\\n/\n/g;
       $name =~ s/\s+$//;
       $name =~ s/(\\)\\/$1/g;
     }
@@ -291,17 +359,39 @@
     # inside an #if 0 block.
     next if $name eq 'SKIPME';
 
-    $name = standardize($name);
+    next if $name=~/\[TESTING\]/; # ignore these as they are works in progress
 
-    if (exists $entries{$name}) {
-      if ( $entries{$name}{seen}++ ) {
+    check_message(standardize($name),$codefn,$severity,$categories);
+  }
+}
+
+sub check_message {
+    my($name,$codefn,$severity,$categories,$partial) = @_;
+    my $key = $name =~ y/\n/ /r;
+    my $ret;
+
+    # Try to reduce printf() formats to simplest forms
+    # Really this should be matching %s, etc like diagnostics.pm does
+
+    # Kill flags
+    $key =~ s/%[#0\-+]/%/g;
+
+    # Kill width
+    $key =~ s/\%(\d+|\*)/%/g;
+
+    # Kill precision
+    $key =~ s/\%\.(\d+|\*)/%/g;
+
+    if (exists $entries{$key}) {
+      $ret = 1;
+      if ( $entries{$key}{seen}++ ) {
         # no need to repeat entries we've tested
-      } elsif ($entries{$name}{todo}) {
+      } elsif ($entries{$key}{todo}) {
         TODO: {
           no warnings 'once';
           local $::TODO = 'in DATA';
           # There is no listing, but it is in the list of exceptions.  TODO FAIL.
-          fail($name);
+          fail($key);
           diag(
             "    Message '$name'\n    from $codefn line $. is not listed in $pod\n".
             "    (but it wasn't documented in 5.10 either, so marking it TODO)."
@@ -309,17 +399,46 @@
         }
       } else {
         # We found an actual valid entry in perldiag.pod for this error.
-        pass($name);
+        pass($key);
+
+        # Now check the category and severity
+
+        # Cache our severity qr thingies
+        use 5.01;
+        state %qrs;
+        my $qr = $qrs{$severity} ||= qr/$severity/;
+
+        return $ret
+          if $entries{$key}{cattodo};
+
+        like $entries{$key}{severity}, $qr,
+          $severity =~ /\[/
+            ? "severity is one of $severity for $key"
+            : "severity is $severity for $key";
+
+        is $entries{$key}{category}, $categories,
+           ($categories ? "categories are [$categories]" : "no category")
+             . " for $key";
       }
       # Later, should start checking that the severity is correct, too.
+    } elsif ($partial) {
+      # noop
     } else {
-      if ($make_exceptions_list) {
+      my $ok;
+      if ($name =~ /\n/) {
+        $ok = 1;
+        check_message($_,$codefn,$severity,$categories,1) or $ok = 0, last
+          for split /\n/, $name;
+      }
+      if ($ok) {
+        # noop
+      } elsif ($make_exceptions_list) {
         # We're making an updated version of the exception list, to
         # stick in the __DATA__ section.  I honestly can't think of
         # a situation where this is the right thing to do, but I'm
         # leaving it here, just in case one of my descendents thinks
         # it's a good idea.
-        print STDERR "$name\n";
+        print STDERR "$key\n";
       } else {
         # No listing found, and no excuse either.
         # Find the correct place in perldiag.pod, and add a stanza beginning =item $name.
@@ -331,7 +450,7 @@
     }
 
     die if $name =~ /%$/;
-  }
+    return $ret;
 }
 
 # Lists all missing things as of the inauguration of this script, so we
@@ -340,91 +459,72 @@
 # PLEASE DO NOT ADD TO THIS LIST.  Instead, write an entry in
 # pod/perldiag.pod for your new (warning|error).
 
+# Entries after __CATEGORIES__ are those that are in perldiag but fail the
+# severity/category test.
+
 # Also FIXME this test, as the first entry in TODO *is* covered by the
 # description: Malformed UTF-8 character (%s)
 __DATA__
 Malformed UTF-8 character (unexpected non-continuation byte 0x%x, immediately after start byte 0x%x)
 
-%s (%d) does not match %s (%d),
-%s (%d) smaller than %s (%d),
-Argument "%s" isn't numeric
-Argument "%s" isn't numeric in %s
-Attempt to clear deleted array
-Attempt to free non-existent shared string '%s'%s
-Attempt to free temp prematurely: SV 0x%x
-Attempt to free unreferenced scalar: SV 0x%x
-Attempt to reload %s aborted. Compilation failed in require
-av_reify called on tied array
-Bad name after %s%s
-Bad symbol for %s
+'%c' allowed only after types %s in %s
 bad top format reference
-Bizarre copy of %s
-Bizarre SvTYPE [%d]
-Cannot copy to %s
-Can't call method "%s" %s
+Cannot apply "%s" in non-PerlIO perl
+Can't %s big-endian %ss on this
+Can't call mro_isa_changed_in() on anonymous symbol table
+Can't call mro_method_changed_in() on anonymous symbol table
 Can't coerce readonly %s to string
 Can't coerce readonly %s to string in %s
+Can't find string terminator %c%s%c anywhere before EOF
 Can't fix broken locale name "%s"
 Can't get short module name from a handle
-Can't goto subroutine from an eval-block
-Can't goto subroutine from an eval-string
 Can't locate object method "%s" via package "%s" (perhaps you forgot to load "%s"?)
-Can't modify non-existent substring
-Can't open
-Can't open perl script "%s": %s
-Can't open %s
-Can't reset \%ENV on this system
-Can't return array to lvalue scalar context
-Can't return a %s from lvalue subroutine
-Can't return hash to lvalue scalar context
+Can't pipe "%s": %s
+Can't spawn: %s
 Can't spawn "%s": %s
 Can't %s script `%s' with ARGV[0] being `%s'
 Can't %s "%s": %s
-Can't %s %s%s%s
 Can't %s `%s' with ARGV[0] being `%s' (looking for executables only, not found)
-Can't take %s of %f
-Can't use '%c' after -mname
 Can't use string ("%s"%s) as a subroutine ref while "strict refs" in use
-Can't use when() outside a topicalizer
 \%c better written as $%c
 Character(s) in '%c' format wrapped in %s
-$%c is no longer supported
-Cloning substitution context is unimplemented
+chown not implemented!
+clear %s
 Code missing after '/' in pack
 Code missing after '/' in unpack
-Corrupted regexp opcode %d > %d
 '%c' outside of string in pack
-Debug leaking scalars child failed%s%s with errno %d: %s
-Deep recursion on anonymous subroutine
-defined(\%hash) is deprecated
+Debug leaking scalars child failed%s with errno %d: %s
+'/' does not take a repeat count in %s
+Don't know how to get file name
 Don't know how to handle magic of type \%o
 -Dp not implemented on this platform
-entering effective gid failed
-entering effective uid failed
 Error reading "%s": %s
-Exiting %s via %s
+execl not implemented!
+EVAL without pos change exceeded limit in regex
 Filehandle opened only for %sput
 Filehandle %s opened only for %sput
 Filehandle STD%s reopened as %s only for input
+filter_del can only delete in reverse order (currently)
 YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET! FIX YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!
-Format STDOUT redefined
+fork() not implemented!
+free %s
 Free to wrong pool %p not %p
 get %s %p %p %p
+gethostent not implemented!
+getpwnam returned invalid UIC %o for user "%s"
 glob failed (can't start child: %s)
 glob failed (child exited with status %d%s)
 Goto undefined subroutine
 Goto undefined subroutine &%s
-Hash \%%s missing the \% in argument %d of %s()
+Got signal %d
+()-group starts with a count in %s
+Illegal binary digit '%c' ignored
 Illegal character %sin prototype for %s : %s
-Integer overflow in binary number
-Integer overflow in decimal number
-Integer overflow in hexadecimal number
-Integer overflow in octal number
-Integer overflow in version %d
-internal \%<num>p might conflict with future printf extensions
-invalid control request: '\%o'
-Invalid module name %s with -%c option: contains single ':'
-invalid option -D%c, use -D'' to see choices
+Illegal hexadecimal digit '%c' ignored
+Illegal octal digit '%c' ignored
+Infinite recursion in regex
+internal %<num>p might conflict with future printf extensions
+Invalid argument to sv_cat_decode
 Invalid range "%c-%c" in transliteration operator
 Invalid separator character %c%c%c in PerlIO layer specification %s
 Invalid TOKEN object ignored
@@ -432,99 +532,117 @@
 Invalid type '%c' in %s
 Invalid type '%c' in unpack
 Invalid type ',' in %s
+ioctlsocket not implemented!
 'j' not supported on this platform
 'J' not supported on this platform
-leaving effective gid failed
-leaving effective uid failed
-List form of piped open not implemented
-Lost precision when decrementing %f by 1
-Lost precision when incrementing %f by 1
-%lx
+killpg not implemented!
+length() used on %s (did you mean "scalar(%s)"?)
+length() used on %hash (did you mean "scalar(keys %hash)"?)
+length() used on @array (did you mean "scalar(@array)"?)
+List form of pipe open not implemented
+Malformed integer in [] in %s
 Malformed UTF-8 character (fatal)
-'\%' may not be used in pack
 Missing (suid) fd script name
 More than one argument to open
 More than one argument to open(,':%s')
 mprotect for %p %u failed with %d
 mprotect RW for %p %u failed with %d
-No code specified for -%c
-No directory specified for -I
+No %s allowed while running setgid
+No %s allowed with (suid) fdscript
 No such class field "%s"
 Not an XSUB reference
-Not %s reference
 Operator or semicolon missing before %c%s
-Perl %s required (did you mean %s?)--this is only %s, stopped
+Pattern subroutine nesting without pos change exceeded limit in regex
 Perl %s required--this is only %s, stopped
-Perls since %s too modern--this is %s, stopped
+PerlApp::TextQuery: no arguments, please
+POSIX syntax [%c %c] is reserved for future extensions in regex; marked by <-- HERE in m/%s/
 ptr wrong %p != %p fl=%x nl=%p e=%p for %d
 Recompile perl with -DDEBUGGING to use -D switch (did you mean -d ?)
-Recursive call to Perl_load_module in PerlIO_find_layer
+Regexp modifier "%c" may appear a maximum of twice in regex; marked by <-- HERE in m/%s/
+Regexp modifier "%c" may not appear twice in regex; marked by <-- HERE in m/%s/
+Regexp modifiers "%c" and "%c" are mutually exclusive in regex; marked by <-- HERE in m/%s/
+Regexp *+ operand could be empty in regex; marked by <-- HERE in m/%s/
+Repeated format line will never terminate (~~ and @#)
 Reversed %c= operator
-Runaway prototype
-%s(%.0
 %s(%f) failed
-%s(%f) too large
-%s(%f) too small
-Scalar value %s better written as $%s
-%sCompilation failed in regexp
 %sCompilation failed in require
+Sequence (?%c...) not implemented in regex; marked by <-- HERE in m/%s/
+Sequence (%s...) not recognized in regex; marked by <-- HERE in m/%s/
+Sequence %s... not terminated in regex; marked by <-- HERE in m/%s/
+Sequence (?%c... not terminated in regex; marked by <-- HERE in m/%s/
+Sequence (?(%c... not terminated in regex; marked by <-- HERE in m/%s/
+Sequence (?R) not terminated in regex m/%s/
 set %s %p %p %p
 %s free() ignored (RMAGIC, PERL_CORE)
 %s has too many errors.
 SIG%s handler "%s" not defined.
-%s: illegal mapping '%s'
 %s in %s
 Size magic not implemented
-%s limit (%d) exceeded
-%s method "%s" overloading "%s" in package "%s"
 %s number > %s non-portable
-%s object version %s does not match %s%s%s%s %s
 %srealloc() %signored
-%s returned from lvalue subroutine in scalar context
-%s%s has too many errors.
-%s%s on %s %s
-%s%s on %s %s %s
+%s in regex m/%s/
+%s on %s %s
+socketpair not implemented!
 Starting Full Screen process with flag=%d, mytype=%d
 Starting PM process with flag=%d, mytype=%d
-strxfrm() gets absurd
+sv_2iv assumed (U_V(fabs((double)SvNVX(sv))) < (UV)IV_MAX) but SvNVX(sv)=%f U_V is 0x%x, IV_MAX is 0x%x
 SWASHNEW didn't return an HV ref
+switching effective gid is not implemented
+switching effective uid is not implemented
+System V IPC is not implemented on this machine
 -T and -B not implemented on filehandles
+Terminating on signal SIG%s(%d)
+The crypt() function is not implemented on NetWare
 The flock() function is not implemented on NetWare
 The rewinddir() function is not implemented on NetWare
 The seekdir() function is not implemented on NetWare
-The stat preceding lstat() wasn't an lstat
 The telldir() function is not implemented on NetWare
 Too deeply nested ()-groups in %s
-Too late to run CHECK block
-Too late to run INIT block
 Too many args on %s line of "%s"
 U0 mode on a byte string
-Unbalanced string table refcount: (%d) for "%s"
-Undefined top format called
-Unexpected constant lvalue entersub entry via type/targ %d:%d
-Unicode non-character 0x%X
-Unknown PerlIO layer "scalar"
+unable to find VMSPIPE.COM for i/o piping
+Unknown Unicode option value %d
+Unrecognized character %s; marked by <-- HERE after %s<-- HERE near column %d
 Unstable directory path, current directory changed unexpectedly
-Unsupported script encoding UTF-16BE
-Unsupported script encoding UTF-16LE
-Unsupported script encoding UTF-32BE
-Unsupported script encoding UTF-32LE
 Unterminated compressed integer in unpack
+Unterminated \g... pattern in regex; marked by <-- HERE in m/%s/
 Usage: CODE(0x%x)(%s)
 Usage: %s(%s)
 Usage: %s::%s(%s)
+Usage: File::Copy::rmscopy(from,to[,date_flag])
+Usage: VMS::Filespec::candelete(spec)
+Usage: VMS::Filespec::fileify(spec)
+Usage: VMS::Filespec::pathify(spec)
+Usage: VMS::Filespec::rmsexpand(spec[,defspec])
+Usage: VMS::Filespec::unixify(spec)
+Usage: VMS::Filespec::unixpath(spec)
 Usage: VMS::Filespec::unixrealpath(spec)
+Usage: VMS::Filespec::vmsify(spec)
+Usage: VMS::Filespec::vmspath(spec)
 Usage: VMS::Filespec::vmsrealpath(spec)
 Use of inherited AUTOLOAD for non-method %s::%s() is deprecated
 utf8 "\x%X" does not map to Unicode
 Value of logical "%s" too long. Truncating to %i bytes
-value of node is %d in Offset macro
-Value of %s%s can be "0"; test with defined()
-Variable "%c%s" is not imported
-vector argument not supported with alpha versions
+waitpid: process %x is not a child of process %x
 Wide character
 Wide character in $/
-Wide character in print
+Within []-length '*' not allowed in %s
 Within []-length '%c' not allowed in %s
 Wrong syntax (suid) fd script name "%s"
+'X' outside of string in %s
 'X' outside of string in unpack
+
+__CATEGORIES__
+Code point 0x%X is not Unicode, all \p{} matches fail; all \P{} matches succeed
+Code point 0x%X is not Unicode, may not be portable
+Illegal character \%o (carriage return)
+Missing argument in %s
+Unicode non-character U+%X is illegal for open interchange
+Operation "%s" returns its argument for non-Unicode code point 0x%X
+Operation "%s" returns its argument for UTF-16 surrogate U+%X
+Unicode surrogate U+%X is illegal in UTF-8
+UTF-16 surrogate U+%X
+False [] range "%s" in regex; marked by <-- HERE in m/%s/
+\N{} in character class restricted to one character in regex; marked by <-- HERE in m/%s/
+Zero length \N{} in regex; marked by <-- HERE in m/%s/
+Expecting '(?flags:(?[...' in regex; marked by <-- HERE in m/%s/


Property changes on: vendor/perl/dist/t/porting/diag.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/dual-life.t
===================================================================
--- vendor/perl/dist/t/porting/dual-life.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/dual-life.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,7 @@
 #
 # * Are all dual-life programs being generated in utils/?
 
+chdir 't';
 require './test.pl';
 
 plan('no_plan');
@@ -14,20 +15,20 @@
 use File::Find;
 use File::Spec::Functions;
 
-# Exceptions are found in dual-life bin dirs but aren't
-# installed by default
-my @not_installed = qw(
-  ../cpan/Encode/bin/ucm2table
-  ../cpan/Encode/bin/ucmlint
-  ../cpan/Encode/bin/ucmsort
-  ../cpan/Encode/bin/unidump
-);
+# Exceptions that are found in dual-life bin dirs but aren't
+# installed by default; some occur only during testing:
+my $not_installed = qr{^(?:
+  \.\./cpan/Encode/bin/u(?:cm(?:2table|lint|sort)|nidump)
+   |
+  \.\./cpan/Module-Build/MB-[\w\d]+/Simple/(?:test_install/)?bin/.*
+)\z}ix;
 
 my %dist_dir_exe;
 
-foreach (qw (podchecker podselect pod2usage)) {
-    $dist_dir_exe{lc "$_.PL"} = "../cpan/Pod-Parser/$_";
-};
+$dist_dir_exe{lc "podselect.PL"} = "../cpan/Pod-Parser/podselect";
+$dist_dir_exe{lc "podchecker.PL"} = "../cpan/Pod-Checker/podchecker";
+$dist_dir_exe{lc "pod2usage.PL"} = "../cpan/Pod-Usage/pod2usage";
+
 foreach (qw (pod2man pod2text)) {
     $dist_dir_exe{lc "$_.PL"} = "../cpan/podlators/$_";
 };
@@ -36,13 +37,13 @@
 my @programs;
 
 find(
-  sub {
+  { no_chidr => 1, wanted => sub {
     my $name = $File::Find::name;
     return if $name =~ /blib/;
-    return unless $name =~ m{/(?:bin|scripts?)/\S+\z};
+    return unless $name =~ m{/(?:bin|scripts?)/\S+\z} && $name !~ m{/t/};
 
     push @programs, $name;
-  },
+  }},
   qw( ../cpan ../dist ../ext ),
 );
 
@@ -50,12 +51,12 @@
 
 for my $f ( @programs ) {
   $f =~ s/\.\z// if $^O eq 'VMS';
-  next if qr/(?i:$f)/ ~~ @not_installed;
-  $f = basename($f);
-  if(qr/\A(?i:$f)\z/ ~~ %dist_dir_exe) {
-    ok( -f "$dist_dir_exe{lc $f}$ext", "$f$ext");
+  next if $f =~ $not_installed;
+  my $bn = basename($f);
+  if(grep { /\A(?i:$bn)\z/ } keys %dist_dir_exe) {
+    ok( -f "$dist_dir_exe{lc $bn}$ext", "$f$ext");
   } else {
-    ok( -f catfile('..', 'utils', "$f$ext"), "$f$ext" );
+    ok( -f catfile('..', 'utils', "$bn$ext"), "$f$ext" );
   }
 }
 


Property changes on: vendor/perl/dist/t/porting/dual-life.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/exec-bit.t
===================================================================
--- vendor/perl/dist/t/porting/exec-bit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/exec-bit.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,7 +5,17 @@
 # This test checks that anything with an executable bit is
 # identified in Porting/exec-bit.txt to makerel will set
 # the exe bit in the release tarball
+# and that anything with an executable bit also has a shebang
 
+sub has_shebang {
+  my $fname = shift;
+  open my $fh, '<', $fname or die "Can't open '$fname': $!";
+  my $line = <$fh>;
+  close $fh;
+
+  return $line =~ /^\#!\s*([A-Za-z0-9_\-\/\.])+\s?/ ? 1 : 0;
+}
+
 require './test.pl';
 if ( $^O eq "MSWin32" ) {
   skip_all( "-x on MSWin32 only indicates file has executable suffix. Try Cygwin?" );
@@ -15,12 +25,13 @@
   skip_all( "Filename case may not be preserved and other porting issues." );
 }
 
+if ( $^O eq "vos" ) {
+  skip_all( "VOS combines the read and execute permission bits." );
+}
+
 plan('no_plan');
 
 use ExtUtils::Manifest qw(maniread);
-use File::Basename;
-use File::Find;
-use File::Spec::Functions;
 
 # Copied from Porting/makerel - these will get +x in the tarball
 # XXX refactor? -- dagolden, 2010-07-23
@@ -39,6 +50,8 @@
 for my $f ( map { "../$_" } @manifest ) {
   next unless -x $f;
 
+  ok( has_shebang($f), "File $f has shebang" );
+
   ok( $exe_list{$f}, "tarball will chmod +x $f" )
     or diag( "Remove the exec bit or add '$f' to Porting/exec-bit.txt" );
 
@@ -47,4 +60,3 @@
 
 ok( ! %exe_list, "Everything in Porting/exec-bit.txt has +x in repo" )
   or diag( "Files missing exec bit:\n  " . join("\n  ", sort keys %exe_list) . "\n");
-


Property changes on: vendor/perl/dist/t/porting/exec-bit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/filenames.t
===================================================================
--- vendor/perl/dist/t/porting/filenames.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/filenames.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -27,12 +27,11 @@
 }
 
 use strict;
-use File::Spec;
 use File::Basename;
 require './test.pl';
 
 
-my $manifest = File::Spec->catfile(File::Spec->updir(), 'MANIFEST');
+my $manifest = '../MANIFEST';
 
 open my $m, '<', $manifest or die "Can't open '$manifest': $!";
 my @files;
@@ -46,59 +45,38 @@
 
 plan(scalar @files);
 
-for my $file (@files) {
-    validate_file_name($file);
-}
-exit 0;
-
-
-sub validate_file_name {
-    my $path = shift;
-    my $filename = basename $path;
-
-    note("testing $path");
-
-    my @path_components = split('/',$path);
-    pop @path_components; # throw away the filename
+PATHNAME: for my $pathname (@files) {
+    my @path_components = split('/',$pathname);
+    my $filename = pop @path_components;
     for my $component (@path_components) {
-	if ($component =~ /\..*?\./) {
-	    fail("no directory components containing more than one '.'");
-	    return;
-	}
-	if (length $component > 32) {
-	    fail("no directory with a name over 32 characters (VOS requirement)");
-	    return;
-	}
+        if ($component =~ /\./) {
+            fail("$pathname has directory components containing '.'");
+            next PATHNAME;
+        }
+        if (length $component > 32) {
+            fail("$pathname has a name over 32 characters (VOS requirement)");
+            next PATHNAME;
+        }
     }
 
 
     if ($filename =~ /^\-/) {
-	fail("filename does not start with -");
-	return;
+        fail("$pathname starts with -");
+            next PATHNAME;
     }
 
     my($before, $after) = split /\./, $filename;
     if (length $before > 39) {
-	fail("filename has 39 or fewer characters before the dot");
-	return;
+        fail("$pathname has more than 39 characters before the dot");
+    } elsif ($after && length $after > 39) {
+        fail("$pathname has more than 39 characters after the dot");
+    } elsif ($filename =~ /^(?:CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])\./i) {
+        fail("$pathname has a reserved name");
+    } elsif ($filename =~ /\s|\(|\&/) {
+        fail("$pathname has a reserved character");
+    } else {
+        pass("$pathname ok");
     }
-    if ($after) {
-	if (length $after > 39) {
-	    fail("filename has 39 or fewer characters after the dot");
-	    return;
-	}
-    }
-
-    if ($filename =~ /^(?:CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])\./i) {
-	fail("filename has a reserved name");
-	return;
-    }
-
-    if ($filename =~ /\s|\(|\&/) {
-	fail("filename has a reserved character");
-	return;
-    }
-    pass("filename ok");
 }
 
 # EOF


Property changes on: vendor/perl/dist/t/porting/filenames.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/maintainers.t
===================================================================
--- vendor/perl/dist/t/porting/maintainers.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/maintainers.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,6 +11,7 @@
 
     chdir '..' unless -d 't';
     @INC = qw(lib Porting);
+    require './t/test.pl';
 }
 
 use strict;
@@ -18,17 +19,16 @@
 use Maintainers qw(show_results process_options finish_tap_output);
 
 if ($^O eq 'VMS') {
-    print "1..0 # Skip: home-grown glob doesn't handle fancy patterns\n";
-    exit 0;
+    skip_all "home-grown glob doesn't handle fancy patterns";
 }
 
 {
-    local @ARGV = qw|--tap-output --checkmani|;
+    local @ARGV = qw|--checkmani|;
     show_results(process_options());
 }
 
 {
-    local @ARGV = qw|--tap-output --checkmani lib/ ext/|;
+    local @ARGV = qw|--checkmani lib/ ext/|;
     show_results(process_options());
 }
 


Property changes on: vendor/perl/dist/t/porting/maintainers.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/manifest.t
===================================================================
--- vendor/perl/dist/t/porting/manifest.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/manifest.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,17 +3,15 @@
 # Test the well-formed-ness of the MANIFEST file.
 
 BEGIN {
-    chdir 't';
-    @INC = '../lib';
+    @INC = '..' if -f '../TestInit.pm';
 }
+use TestInit qw(T); # T is chdir to the top level
 
-use strict;
-use File::Spec;
-require './test.pl';
+require 't/test.pl';
 
 plan('no_plan');
 
-my $manifest = File::Spec->catfile(File::Spec->updir(), 'MANIFEST');
+my $manifest = 'MANIFEST';
 
 open my $m, '<', $manifest or die "Can't open '$manifest': $!";
 my @files;
@@ -29,8 +27,7 @@
     push @files, $file;
 
     isnt($file, undef, "Line $. doesn't start with a blank") or next;
-    # Remember, we're running from t/
-    ok(-f "../$file", "File $file exists");
+    ok(-f $file, "File $file exists");
     if ($separator !~ tr/\t//c) {
 	# It's all tabs
 	next;
@@ -48,10 +45,10 @@
 
 # Test that MANIFEST is properly sorted
 SKIP: {
-    skip("'Porting/manisort' not found", 1) if (! -f '../Porting/manisort');
+    skip("'Porting/manisort' not found", 1) if (! -f 'Porting/manisort');
 
-    my $result = runperl('progfile' => '../Porting/manisort',
-                         'args'     => [ '-c', '../MANIFEST' ],
+    my $result = runperl('progfile' => 'Porting/manisort',
+                         'args'     => [ '-c', $manifest ],
                          'stderr'   => 1);
 
     like($result, qr/is sorted properly/, 'MANIFEST sorted properly');
@@ -58,12 +55,11 @@
 }
 
 SKIP: {
-    chdir "..";
-    skip("not under git control", 3) unless -d '.git';
+    find_git_or_skip(6);
     chomp(my @repo= grep { !/\.gitignore$/ } `git ls-files`);
     skip("git ls-files didnt work",3)
         if !@repo;
-    is( 0+ at repo, 0+ at files, "git ls-files has a corresponding number of files as does MANIFEST");
+    is( 0+ at repo, 0+ at files, "git ls-files gives the same number of files as MANIFEST lists");
     my %repo= map { $_ => 1 } @repo;
     my %mani= map { $_ => 1 } @files;
     is( 0+keys %mani, 0+ at files, "no duplicate files in MANIFEST");


Property changes on: vendor/perl/dist/t/porting/manifest.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/podcheck.t
===================================================================
--- vendor/perl/dist/t/porting/podcheck.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/podcheck.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,67 +1,1926 @@
 #!/usr/bin/perl -w
 
-require './test.pl';
+BEGIN {
+    chdir 't';
+    unshift @INC, "../lib";
+}
 
 use strict;
+use warnings;
+use feature 'unicode_strings';
 
+use Carp;
+use Config;
+use Digest;
+use File::Find;
+use File::Spec;
+use Scalar::Util;
+use Text::Tabs;
+
+BEGIN {
+    require '../regen/regen_lib.pl';
+}
+
+sub DEBUG { 0 };
+
+=pod
+
+=head1 NAME
+
+podcheck.t - Look for possible problems in the Perl pods
+
+=head1 SYNOPSIS
+
+ cd t
+ ./perl -I../lib porting/podcheck.t [--show_all] [--cpan] [--deltas]
+                                                  [--counts] [ FILE ...]
+ ./perl -I../lib porting/podcheck.t --add_link MODULE ...
+
+ ./perl -I../lib porting/podcheck.t --regen
+
+=head1 DESCRIPTION
+
+podcheck.t is an extension of Pod::Checker.  It looks for pod errors and
+potential errors in the files given as arguments, or if none specified, in all
+pods in the distribution workspace, except certain known special ones
+(specified below).  It does additional checking beyond that done by
+Pod::Checker, and keeps a database of known potential problems, and will
+fail a pod only if the number of such problems differs from that given in the
+database.  It also suppresses the C<(section) deprecated> message from
+Pod::Checker, since specifying the man page section number is quite proper to do.
+
+The additional checks it makes are:
+
+=over
+
+=item Cross-pod link checking
+
+Pod::Checker verifies that links to an internal target in a pod are not
+broken.  podcheck.t extends that (when called without FILE arguments) to
+external links.  It does this by gathering up all the possible targets in the
+workspace, and cross-checking them.  It also checks that a non-broken link
+points to just one target.  (The destination pod could have two targets with
+the same name.)
+
+The way that the C<LE<lt>E<gt>> pod command works (for links outside the pod)
+is to actually create a link to C<search.cpan.org> with an embedded query for
+the desired pod or man page.  That means that links outside the distribution
+are valid.  podcheck.t doesn't verify the validity of such links, but instead
+keeps a data base of those known to be valid.  This means that if a link to a
+target not on the list is created, the target needs to be added to the data
+base.  This is accomplished via the L<--add_link|/--add_link MODULE ...>
+option to podcheck.t, described below.
+
+=item An internal link that isn't so specified
+
+If a link is broken, but there is an existing internal target of the same
+name, it is likely that the internal target was meant, and the C<"/"> is
+missing from the C<LE<lt>E<gt>> pod command.
+
+=item Verbatim paragraphs that wrap in an 80 (including 1 spare) column window
+
+It's annoying to have lines wrap when displaying pod documentation in a
+terminal window.  This checks that all verbatim lines fit in a standard 80
+column window, even when using a pager that reserves a column for its own use.
+(Thus the check is for a net of 79 columns.)
+For those lines that don't fit, it tells you how much needs to be cut in
+order to fit.
+
+Often, the easiest thing to do to gain space for these is to lower the indent
+to just one space.
+
+=item Missing or duplicate NAME or missing NAME short description
+
+A pod can't be linked to unless it has a unique name.
+And a NAME should have a dash and short description after it.
+
+=item =encoding statement issues
+
+This indicates if an C<=encoding> statement should be present, or moved to the
+front of the pod.
+
+=item Items that perhaps should be links
+
+There are mentions of apparent files in the pods that perhaps should be links
+instead, using C<LE<lt>...E<gt>>
+
+=item Items that perhaps should be C<FE<lt>...E<gt>>
+
+What look like path names enclosed in C<CE<lt>...E<gt>> should perhaps have
+C<FE<lt>...E<gt>> mark-up instead.
+
+=back
+
+A number of issues raised by podcheck.t and by the base Pod::Checker are not
+really problems, but merely potential problems, that is, false positives.
+After inspecting them and
+deciding that they aren't real problems, it is possible to shut up this program
+about them, unlike base Pod::Checker.  For a valid link to an outside module
+or man page, call podcheck.t with the C<--add_link> option to add it to the
+the database of known links; for other causes, call podcheck.t with the C<--regen>
+option to regenerate the entire database.  This tells it that all existing
+issues are to not be mentioned again.
+
+C<--regen> isn't fool-proof.  The database merely keeps track of the number of these
+potential problems of each type for each pod.  If a new problem of a given
+type is introduced into the pod, podcheck.t will spit out all of them.  You
+then have to figure out which is the new one, and should it be changed or not.
+But doing it this way insulates the database from having to keep track of line
+numbers of problems, which may change, or the exact wording of each problem
+which might also change without affecting whether it is a problem or not.
+
+Also, if the count of potential problems of a given type for a pod decreases,
+the database must be regenerated so that it knows the new number.  The program
+gives instructions when this happens.
+
+Some pods will have varying numbers of problems of a given type.  This can
+be handled by manually editing the database file (see L</FILES>), and setting
+the number of those problems for that pod to a negative number.  This will
+cause the corresponding error to always be suppressed no matter how many there
+actually are.
+
+Another problem is that there is currently no check that modules listed as
+valid in the data base
+actually are.  Thus any errors introduced there will remain there.
+
+=head2 Specially handled pods
+
+=over
+
+=item perltoc
+
+This pod is generated by pasting bits from other pods.  Errors in those bits
+will show up as errors here, as well as for those other pods.  Therefore
+errors here are suppressed, and the pod is checked only to verify that nodes
+within it actually exist that are externally linked to.
+
+=item perldelta
+
+The current perldelta pod is initialized from a template that contains
+placeholder text.  Some of this text is in the form of links that don't really
+exist.  Any such links that are listed in C<@perldelta_ignore_links> will not
+generate messages.  It is presumed that these links will be cleaned up when
+the perldelta is cleaned up for release since they should be marked with
+C<XXX>.
+
+=item Porting/perldelta_template.pod
+
+This is not a pod, but a template for C<perldelta>.  Any errors introduced
+here will show up when C<perldelta> is created from it.
+
+=item cpan-upstream pods
+
+See the L</--cpan> option documentation
+
+=item old perldeltas
+
+See the L</--deltas> option documentation
+
+=back
+
+=head1 OPTIONS
+
+=over
+
+=item --add_link MODULE ...
+
+Use this option to teach podcheck.t that the C<MODULE>s or man pages actually
+exist, and to silence any messages that links to them are broken.
+
+podcheck.t checks that links within the Perl core distribution are valid, but
+it doesn't check links to man pages or external modules.  When it finds
+a broken link, it checks its data base of external modules and man pages,
+and only if not found there does it raise a message.  This option just adds
+the list of modules and man page references that follow it on the command line
+to that data base.
+
+For example,
+
+    cd t
+    ./perl -I../lib porting/podcheck.t --add_link Unicode::Casing
+
+causes the external module "Unicode::Casing" to be added to the data base, so
+C<LE<lt>Unicode::CasingE<gt>> will be considered valid.
+
+=item --regen
+
+Regenerate the data base used by podcheck.t to include all the existing
+potential problems.  Future runs of the program will not then flag any of
+these.
+
+=item --cpan
+
+Normally, all pods in the cpan directory are skipped, except to make sure that
+any blead-upstream links to such pods are valid.
+This option will cause cpan upstream pods to be fully checked.
+
+=item --deltas
+
+Normally, all old perldelta pods are skipped, except to make sure that
+any links to such pods are valid.  This is because they are considered
+stable, and perhaps trying to fix them will cause changes that will
+misrepresent Perl's history.  But, this option will cause them to be fully
+checked.
+
+=item --show_all
+
+Normally, if the number of potential problems of a given type found for a
+pod matches the expected value in the database, they will not be displayed.
+This option forces the database to be ignored during the run, so all potential
+problems are displayed and will fail their respective pod test.  Specifying
+any particular FILES to operate on automatically selects this option.
+
+=item --counts
+
+Instead of testing, this just dumps the counts of the occurrences of the
+various types of potential problems in the data base.
+
+=back
+
+=head1 FILES
+
+The database is stored in F<t/porting/known_pod_issues.dat>
+
+=head1 SEE ALSO
+
+L<Pod::Checker>
+
+=cut
+
+# VMS builds have a '.com' appended to utility and script names, and it adds a
+# trailing dot for any other file name that doesn't have a dot in it.  The db
+# is stored without those things.  This regex allows for these special file
+# names to be dealt with.  It needs to be interpolated into a larger regex
+# that furnishes the closing boundary.
+my $vms_re = qr/ \. (?: com )? /x;
+
+# Some filenames in the MANIFEST match $vms_re, and so must not be handled the
+# same way that that the special vms ones are.  This hash lists those.
+my %special_vms_files;
+
+# This is to get this to work across multiple file systems, including those
+# that are not case sensitive.  The db is stored in lower case, Un*x style,
+# and all file name comparisons are done that way.
+sub canonicalize($) {
+    my $input = shift;
+    my ($volume, $directories, $file)
+                    = File::Spec->splitpath(File::Spec->canonpath($input));
+    # Assumes $volume is constant for everything in this directory structure
+    $directories = "" if ! $directories;
+    $file = "" if ! $file;
+    $file = lc join '/', File::Spec->splitdir($directories), $file;
+    $file =~ s! / /+ !/!gx;       # Multiple slashes => single slash
+
+    # The db is stored without the special suffixes that are there in VMS, so
+    # strip them off to get the comparable name.  But some files on all
+    # platforms have these suffixes, so this shouldn't happen for them, as any
+    # of their db entries will have the suffixes in them.  The hash has been
+    # populated with these files.
+    if ($^O eq 'VMS'
+        && $file =~ / ( $vms_re ) $ /x
+        && ! exists $special_vms_files{$file})
+    {
+        $file =~ s/ $1 $ //x;
+    }
+    return $file;
+}
+
+#####################################################
+# HOW IT WORKS (in general)
+#
+# If not called with specific files to check, the directory structure is
+# examined for files that have pods in them.  Files that might not have to be
+# fully parsed (e.g. in cpan) are parsed enough at this time to find their
+# pod's NAME, and to get a checksum.
+#
+# Those kinds of files are sorted last, but otherwise the pods are parsed with
+# the package coded here, My::Pod::Checker, which is an extension to
+# Pod::Checker that adds some tests and suppresses others that aren't
+# appropriate.  The latter module has no provision for capturing diagnostics,
+# so a package, Tie_Array_to_FH, is used to force them to be placed into an
+# array instead of printed.
+#
+# Parsing the files builds up a list of links.  The files are gone through
+# again, doing cross-link checking and outputting all saved-up problems with
+# each pod.
+#
+# Sorting the files last that potentially don't need to be fully parsed allows
+# us to not parse them unless there is a link to an internal anchor in them
+# from something that we have already parsed.  Keeping checksums allows us to
+# not parse copies of other pods.
+#
+#####################################################
+
+# 1 => Exclude low priority messages that aren't likely to be problems, and
+# has many false positives; higher numbers give more messages.
+my $Warnings_Level = 200;
+
+# perldelta during construction may have place holder links.  N.B.  This
+# variable is referred to by name in release_managers_guide.pod
+our @perldelta_ignore_links = ( "XXX", "perl5YYYdelta", "perldiag/message" );
+
+# To see if two pods with the same NAME are actually copies of the same pod,
+# which is not an error, it uses a checksum to save work.
+my $digest_type = "SHA-1";
+
+my $original_dir = File::Spec->rel2abs(File::Spec->curdir);
+my $data_dir = File::Spec->catdir($original_dir, 'porting');
+my $known_issues = File::Spec->catfile($data_dir, 'known_pod_issues.dat');
+my $MANIFEST = File::Spec->catfile(File::Spec->updir($original_dir), 'MANIFEST');
+my $copy_fh;
+
+my $MAX_LINE_LENGTH = 79;   # 79 columns
+my $INDENT = 7;             # default nroff indent
+
+# Our warning messages.  Better not have [('"] in them, as those are used as
+# delimiters for variable parts of the messages by poderror.
+my $line_length = "Verbatim line length including indents exceeds $MAX_LINE_LENGTH by";
+my $broken_link = "Apparent broken link";
+my $broken_internal_link = "Apparent internal link is missing its forward slash";
+my $see_not_linked = "? Should you be using L<...> instead of";
+my $C_with_slash = "? Should you be using F<...> or maybe L<...> instead of";
+my $multiple_targets = "There is more than one target";
+my $duplicate_name = "Pod NAME already used";
+my $need_encoding = "Should have =encoding statement because have non-ASCII";
+my $encoding_first = "=encoding must be first command (if present)";
+my $no_name = "There is no NAME";
+my $missing_name_description = "The NAME should have a dash and short description after it";
+
+# objects, tests, etc can't be pods, so don't look for them. Also skip
+# files output by the patch program.  Could also ignore most of .gitignore
+# files, but not all, so don't.
+
+my $obj_ext = $Config{'obj_ext'}; $obj_ext =~ tr/.//d; # dot will be added back
+my $lib_ext = $Config{'lib_ext'}; $lib_ext =~ tr/.//d;
+my $lib_so  = $Config{'so'};      $lib_so  =~ tr/.//d;
+my $dl_ext  = $Config{'dlext'};   $dl_ext  =~ tr/.//d;
+
+# Not really pods, but can look like them.
+my %excluded_files = (
+                        canonicalize("lib/unicore/mktables") => 1,
+                        canonicalize("Porting/make-rmg-checklist") => 1,
+                        canonicalize("Porting/perldelta_template.pod") => 1,
+                        canonicalize("regen/feature.pl") => 1,
+                        canonicalize("autodoc.pl") => 1,
+                        canonicalize("configpm") => 1,
+                        canonicalize("miniperl") => 1,
+                        canonicalize("perl") => 1,
+                        canonicalize('cpan/Pod-Perldoc/corpus/no-head.pod') => 1,
+                        canonicalize('cpan/Pod-Perldoc/corpus/perlfunc.pod') => 1,
+                        canonicalize('cpan/Pod-Perldoc/corpus/utf8.pod') => 1,
+                        canonicalize("lib/unicore/mktables") => 1,
+                    );
+
+# This list should not include anything for which case sensitivity is
+# important, as it won't work on VMS, and won't show up until tested on VMS.
+# All or almost all such files should be listed in the MANIFEST, so that can
+# be examined for them, and each such file explicitly excluded, as is done for
+# .PL files in the loop just below this.  For files not catchable this way,
+# is_pod_file() can be used to exclude these at a finer grained level.
+my $non_pods = qr/ (?: \.
+                       (?: [achot]  | zip | gz | bz2 | jar | tar | tgz
+                           | orig | rej | patch   # Patch program output
+                           | sw[op] | \#.*  # Editor droppings
+                           | old      # buildtoc output
+                           | xs       # pod should be in the .pm file
+                           | al       # autosplit files
+                           | bs       # bootstrap files
+                           | (?i:sh)  # shell scripts, hints, templates
+                           | lst      # assorted listing files
+                           | bat      # Windows,Netware,OS2 batch files
+                           | cmd      # Windows,Netware,OS2 command files
+                           | lis      # VMS compiler listings
+                           | map      # VMS linker maps
+                           | opt      # VMS linker options files
+                           | mms      # MM(K|S) description files
+                           | ts       # timestamp files generated during build
+                           | $obj_ext # object files
+                           | exe      # $Config{'exe_ext'} might be empty string
+                           | $lib_ext # object libraries
+                           | $lib_so  # shared libraries
+                           | $dl_ext  # dynamic libraries
+                           | gif      # GIF images (example files from CGI.pm)
+                           | eg       # examples from libnet
+                       )
+                       $
+                    ) | ~$ | \ \(Autosaved\)\.txt$ # Other editor droppings
+                           | ^cxx\$demangler_db\.$ # VMS name mangler database
+                           | ^typemap\.?$          # typemap files
+                           | ^(?i:Makefile\.PL)$
+                /x;
+
+# '.PL' files should be excluded, as they aren't final pods, but often contain
+# material used in generating pods, and so can look like a pod.  We can't use
+# the regexp above because case sensisitivity is important for these, as some
+# '.pl' files should be examined for pods.  Instead look through the MANIFEST
+# for .PL files and get their full path names, so we can exclude each such
+# file explicitly.  This works because other porting tests prohibit having two
+# files with the same names except for case.
+open my $manifest_fh, '<:bytes', $MANIFEST or die "Can't open $MANIFEST";
+while (<$manifest_fh>) {
+
+    # While we have MANIFEST open, on VMS platforms, look for files that match
+    # the magic VMS file names that have to be handled specially.  Add these
+    # to the list of them.
+    if ($^O eq 'VMS' && / ^ ( [^\t]* $vms_re ) \t /x) {
+        $special_vms_files{$1} = 1;
+    }
+    if (/ ^ ( [^\t]* \. PL ) \t /x) {
+        $excluded_files{canonicalize($1)} = 1;
+    }
+}
+close $manifest_fh, or die "Can't close $MANIFEST";
+
+
+# Pod::Checker messages to suppress
+my @suppressed_messages = (
+    "(section) in",                         # Checker is wrong to flag this
+    "multiple occurrence of link target",   # We catch independently the ones
+                                            # that are real problems.
+    "unescaped <>",
+    "Entity number out of range",   # Checker outputs this for anything above
+                                    # 255, but in fact all Unicode is valid
+);
+
+sub suppressed {
+    # Returns bool as to if input message is one that is to be suppressed
+
+    my $message = shift;
+    return grep { $message =~ /^\Q$_/i } @suppressed_messages;
+}
+
+{   # Closure to contain a simple subset of test.pl.  This is to get rid of the
+    # unnecessary 'failed at' messages that would otherwise be output pointing
+    # to a particular line in this file.
+
+    my $current_test = 0;
+    my $planned;
+
+    sub plan {
+        my %plan = @_;
+        $planned = $plan{tests} + 1;    # +1 for final test that files haven't
+                                        # been removed
+        print "1..$planned\n";
+        return;
+    }
+
+    sub ok {
+        my $success = shift;
+        my $message = shift;
+
+        chomp $message;
+
+        $current_test++;
+        print "not " unless $success;
+        print "ok $current_test - $message\n";
+        return $success;
+    }
+
+    sub skip {
+        my $why = shift;
+        my $n    = @_ ? shift : 1;
+        for (1..$n) {
+            $current_test++;
+            print "ok $current_test # skip $why\n";
+        }
+        no warnings 'exiting';
+        last SKIP;
+    }
+
+    sub note {
+        my $message = shift;
+
+        chomp $message;
+
+        print $message =~ s/^/# /mgr;
+        print "\n";
+        return;
+    }
+
+    END {
+        if ($planned && $planned != $current_test) {
+            print STDERR
+            "# Looks like you planned $planned tests but ran $current_test.\n";
+        }
+    }
+}
+
+# List of known potential problems by pod and type.
+my %known_problems;
+
+# Pods given by the keys contain an interior node that is referred to from
+# outside it.
+my %has_referred_to_node;
+
+my $show_counts = 0;
+my $regen = 0;
+my $add_link = 0;
+my $show_all = 0;
+
+my $do_upstream_cpan = 0; # Assume that are to skip anything in /cpan
+my $do_deltas = 0;        # And stable perldeltas
+
+while (@ARGV && substr($ARGV[0], 0, 1) eq '-') {
+    my $arg = shift @ARGV;
+
+    $arg =~ s/^--/-/; # Treat '--' the same as a single '-'
+    if ($arg eq '-regen') {
+        $regen = 1;
+    }
+    elsif ($arg eq '-add_link') {
+        $add_link = 1;
+    }
+    elsif ($arg eq '-cpan') {
+        $do_upstream_cpan = 1;
+    }
+    elsif ($arg eq '-deltas') {
+        $do_deltas = 1;
+    }
+    elsif ($arg eq '-show_all') {
+        $show_all = 1;
+    }
+    elsif ($arg eq '-counts') {
+        $show_counts = 1;
+    }
+    else {
+        die <<EOF;
+Unknown option '$arg'
+
+Usage: $0 [ --regen | --cpan | --show_all | FILE ... | --add_link MODULE ... ]\n"
+    --add_link -> Add the MODULE and man page references to the data base
+    --regen    -> Regenerate the data file for $0
+    --cpan     -> Include files in the cpan subdirectory.
+    --deltas   -> Include stable perldeltas
+    --show_all -> Show all known potential problems
+    --counts   -> Don't test, but give summary counts of the currently
+                  existing database
+EOF
+    }
+}
+
+my @files = @ARGV;
+
+my $cpan_or_deltas = $do_upstream_cpan || $do_deltas;
+if (($regen + $show_all + $show_counts + $add_link + $cpan_or_deltas ) > 1) {
+    croak "--regen, --show_all, --counts, and --add_link are mutually exclusive\n and none can be run with --cpan nor --deltas";
+}
+
+my $has_input_files = @files;
+
+if ($has_input_files
+    && ($regen || $show_counts || $do_upstream_cpan || $do_deltas))
 {
-    package My::Pod::Checker;
-    use strict;
+    croak "--regen, --counts, --deltas, and --cpan can't be used since using specific files";
+}
+
+if ($add_link && ! $has_input_files) {
+    croak "--add_link requires at least one module or man page reference";
+}
+
+our %problems;  # potential problems found in this run
+
+package My::Pod::Checker {      # Extend Pod::Checker
     use parent 'Pod::Checker';
 
-    use vars '@errors'; # a bad, bad hack!
+    # Uses inside out hash to protect from typos
+    # For new fields, remember to add to destructor DESTROY()
+    my %indents;            # Stack of indents from =over's in effect for
+                            # current line
+    my %current_indent;     # Current line's indent
+    my %filename;           # The pod is store in this file
+    my %skip;               # is SKIP set for this pod
+    my %in_NAME;            # true if within NAME section
+    my %in_begin;           # true if within =begin section
+    my %linkable_item;      # Bool: if the latest =item is linkable.  It isn't
+                            # for bullet and number lists
+    my %linkable_nodes;     # Pod::Checker adds all =items to its node list,
+                            # but not all =items are linkable to
+    my %seen_encoding_cmd;  # true if have =encoding earlier
+    my %command_count;      # Number of commands seen
+    my %seen_pod_cmd;       # true if have =pod earlier
+    my %warned_encoding;    # true if already have warned about =encoding
+                            # problems
 
-    sub poderror {
+    sub DESTROY {
+        my $addr = Scalar::Util::refaddr $_[0];
+        delete $command_count{$addr};
+        delete $current_indent{$addr};
+        delete $filename{$addr};
+        delete $in_begin{$addr};
+        delete $indents{$addr};
+        delete $in_NAME{$addr};
+        delete $linkable_item{$addr};
+        delete $linkable_nodes{$addr};
+        delete $seen_encoding_cmd{$addr};
+        delete $seen_pod_cmd{$addr};
+        delete $skip{$addr};
+        delete $warned_encoding{$addr};
+        return;
+    }
+
+    sub new {
+        my $class = shift;
+        my $filename = shift;
+
+        my $self = $class->SUPER::new(-quiet => 1,
+                                     -warnings => $Warnings_Level);
+        my $addr = Scalar::Util::refaddr $self;
+        $command_count{$addr} = 0;
+        $current_indent{$addr} = 0;
+        $filename{$addr} = $filename;
+        $in_begin{$addr} = 0;
+        $in_NAME{$addr} = 0;
+        $linkable_item{$addr} = 0;
+        $seen_encoding_cmd{$addr} = 0;
+        $seen_pod_cmd{$addr} = 0;
+        $warned_encoding{$addr} = 0;
+        return $self;
+    }
+
+    # re's for messages that Pod::Checker outputs
+    my $location = qr/ \b (?:in|at|on|near) \s+ /xi;
+    my $optional_location = qr/ (?: $location )? /xi;
+    my $line_reference = qr/ [('"]? $optional_location \b line \s+
+                             (?: \d+ | EOF | \Q???\E | - )
+                             [)'"]? /xi;
+
+    sub poderror {  # Called to register a potential problem
+
+        # This adds an extra field to the parent hash, 'parameter'.  It is
+        # used to extract the variable parts of a message leaving just the
+        # constant skeleton.  This in turn allows the message to be
+        # categorized better, so that it shows up as a single type in our
+        # database, with the specifics of each occurrence not being stored with
+        # it.
+
         my $self = shift;
-        my $opts;
-        if (ref $_[0]) {
-            $opts = shift;
-        };
-        ++($self->{_NUM_ERRORS})
-            if(!$opts || ($opts->{-severity} && $opts->{-severity} eq 'ERROR'));
-        ++($self->{_NUM_WARNINGS})
-            if(!$opts || ($opts->{-severity} && $opts->{-severity} eq 'WARNING'));
-        push @errors, $opts;
-    };
+        my $opts = shift;
+
+        my $addr = Scalar::Util::refaddr $self;
+        return if $skip{$addr};
+
+        # Input can be a string or hash.  If a string, parse it to separate
+        # out the line number and convert to a hash for easier further
+        # processing
+        my $message;
+        if (ref $opts ne 'HASH') {
+            $message = join "", $opts, @_;
+            my $line_number;
+            if ($message =~ s/\s*($line_reference)//) {
+                ($line_number = $1) =~ s/\s*$optional_location//;
+            }
+            else {
+                $line_number = '???';
+            }
+            $opts = { -msg => $message, -line => $line_number };
+        } else {
+            $message = $opts->{'-msg'};
+
+        }
+
+        $message =~ s/^\d+\s+//;
+        return if main::suppressed($message);
+
+        $self->SUPER::poderror($opts, @_);
+
+        $opts->{parameter} = "" unless $opts->{parameter};
+
+        # The variable parts of the message tend to be enclosed in '...',
+        # "....", or (...).  Extract them and put them in an extra field,
+        # 'parameter'.  This is trickier because the matching delimiter to a
+        # '(' is its mirror, and not itself.  Text::Balanced could be used
+        # instead.
+        while ($message =~ m/ \s* $optional_location ( [('"] )/xg) {
+            my $delimiter = $1;
+            my $start = $-[0];
+            $delimiter = ')' if $delimiter eq '(';
+
+            # If there is no ending delimiter, don't consider it to be a
+            # variable part.  Most likely it is a contraction like "Don't"
+            last unless $message =~ m/\G .+? \Q$delimiter/xg;
+
+            my $length = $+[0] - $start;
+
+            # Get the part up through the closing delimiter
+            my $special = substr($message, $start, $length);
+            $special =~ s/^\s+//;   # No leading whitespace
+
+            # And add that variable part to the parameter, while removing it
+            # from the message.  This isn't a foolproof way of finding the
+            # variable part.  For example '(s)' can occur in e.g.,
+            # 'paragraph(s)'
+            if ($special ne '(s)') {
+                substr($message, $start, $length) = "";
+                pos $message = $start;
+                $opts->{-msg} = $message;
+                $opts->{parameter} .= " " if $opts->{parameter};
+                $opts->{parameter} .= $special;
+            }
+        }
+
+        # Extract any additional line number given.  This is often the
+        # beginning location of something whereas the main line number gives
+        # the ending one.
+        if ($message =~ /( $line_reference )/xi) {
+            my $line_ref = $1;
+            while ($message =~ s/\s*\Q$line_ref//) {
+                $opts->{-msg} = $message;
+                $opts->{parameter} .= " " if $opts->{parameter};
+                $opts->{parameter} .= $line_ref;
+            }
+        }
+
+        Carp::carp("Couldn't extract line number from '$message'") if $message =~ /line \d+/;
+        push @{$problems{$filename{$addr}}{$message}}, $opts;
+        #push @{$problems{$self->get_filename}{$message}}, $opts;
+    }
+
+    sub check_encoding {    # Does it need an =encoding statement?
+        my ($self, $paragraph, $line_num, $pod_para) = @_;
+
+        # Do nothing if there is an =encoding in the file, or if the line
+        # doesn't require an =encoding, or have already warned.
+        my $addr = Scalar::Util::refaddr $self;
+        return if $seen_encoding_cmd{$addr}
+                    || $warned_encoding{$addr}
+                    || $paragraph !~ /\P{ASCII}/;
+
+        $warned_encoding{$addr} = 1;
+        my ($file, $line) = $pod_para->file_line;
+        $self->poderror({ -line => $line, -file => $file,
+                          -msg => $need_encoding
+                        });
+        return;
+    }
+
+    sub verbatim {
+        my ($self, $paragraph, $line_num, $pod_para) = @_;
+        $self->check_encoding($paragraph, $line_num, $pod_para);
+
+        $self->SUPER::verbatim($paragraph, $line_num, $pod_para);
+
+        my $addr = Scalar::Util::refaddr $self;
+
+        # Pick up the name, since the parent class doesn't in verbatim
+        # NAMEs; so treat as non-verbatim.  The parent class only allows one
+        # paragraph in a NAME section, so if there is an extra blank line, it
+        # will trigger a message, but such a blank line is harmless, so skip
+        # in that case.
+        if ($in_NAME{$addr} && $paragraph =~ /\S/) {
+            $self->textblock($paragraph, $line_num, $pod_para);
+        }
+
+        my @lines = split /^/, $paragraph;
+        for my $i (0 .. @lines - 1) {
+            if ( my $encoding = $seen_encoding_cmd{$addr} ) {
+              require Encode;
+              $lines[$i] = Encode::decode($encoding, $lines[$i]);
+            }
+            $lines[$i] =~ s/\s+$//;
+            my $indent = $self->get_current_indent;
+            my $exceeds = length(Text::Tabs::expand($lines[$i]))
+                          + $indent - $MAX_LINE_LENGTH;
+            next unless $exceeds > 0;
+            my ($file, $line) = $pod_para->file_line;
+            $self->poderror({ -line => $line + $i, -file => $file,
+                -msg => $line_length,
+                parameter => "+$exceeds (including " . ($indent - $INDENT) . " from =over's)",
+            });
+        }
+    }
+
+    sub textblock {
+        my ($self, $paragraph, $line_num, $pod_para) = @_;
+        $self->check_encoding($paragraph, $line_num, $pod_para);
+
+        $self->SUPER::textblock($paragraph, $line_num, $pod_para);
+
+        my ($file, $line) = $pod_para->file_line;
+        my $addr = Scalar::Util::refaddr $self;
+        if ($in_NAME{$addr}) {
+            if (! $self->name) {
+                my $text = $self->interpolate($paragraph, $line_num);
+                if ($text =~ /^\s*(\S+?)\s*$/) {
+                    $self->name($1);
+                    $self->poderror({ -line => $line, -file => $file,
+                        -msg => $missing_name_description,
+                        parameter => $1});
+                }
+            }
+        }
+        $paragraph = join " ", split /^/, $paragraph;
+
+        # Matches something that looks like a file name, but is enclosed in
+        # C<...>
+        my $C_path_re = qr{ \b ( C<
+                                # exclude various things that have slashes
+                                # in them but aren't paths
+                                (?!
+                                    (?: (?: s | qr | m) / ) # regexes
+                                    | \d+/\d+>       # probable fractions
+                                    | OS/2>
+                                    | Perl/Tk>
+                                    | origin/blead>
+                                    | origin/maint
+                                    | -    # File names don't begin with "-"
+                                 )
+                                 [-\w]+ (?: / [-\w]+ )+ (?: \. \w+ )? > )
+                          }x;
+
+        # If looks like a reference to other documentation by containing the
+        # word 'See' and then a likely pod directive, warn.
+        while ($paragraph =~ m{
+                                ( (?: \w+ \s+ )* )  # The phrase before, if any
+                                \b [Ss]ee \s+
+                                ( ( [^L] )
+                                  <
+                                  ( [^<]*? )  # The not < excludes nested C<L<...
+                                  >
+                                )
+                                ( \s+ (?: under | in ) \s+ L< )?
+                            }xg) {
+            my $prefix = $1 // "";
+            my $construct = $2;     # The whole thing, like C<...>
+            my $type = $3;
+            my $interior = $4;
+            my $trailing = $5;      # After the whole thing ending in "L<"
+
+            # If the full phrase is something like, "you might see C<", or
+            # similar, it really isn't a reference to a link.  The ones I saw
+            # all had the word "you" in them; and the "you" wasn't the
+            # beginning of a sentence.
+            if ($prefix !~ / \b you \b /x) {
+
+                # Now, find what the module or man page name within the
+                # construct would be if it actually has L<> syntax.  If it
+                # doesn't have that syntax, will set the module to the entire
+                # interior.
+                $interior =~ m/ ^
+                                (?: [^|]+ \| )? # Optional arbitrary text ending
+                                                # in "|"
+                                ( .+? )         # module, etc. name
+                                (?: \/ .+ )?    # target within module
+                                $
+                            /xs;
+                my $module = $1;
+                if (! defined $trailing # not referring to something in another
+                                        # section
+                    && $interior !~ /$non_pods/
+
+                    # C<> that look like files have their own message below, so
+                    # exclude them
+                    && $construct !~ /$C_path_re/g
+
+                    # There can't be spaces (I think) in module names or man
+                    # pages
+                    && $module !~ / \s /x
+
+                    # F<> that end in eg \.pl are almost certainly ok, as are
+                    # those that look like a path with multiple "/" chars
+                    && ($type ne "F"
+                        || (! -e $interior
+                            && $interior !~ /\.\w+$/
+                            && $interior !~ /\/.+\//)
+                    )
+                ) {
+                    $self->poderror({ -line => $line, -file => $file,
+                        -msg => $see_not_linked,
+                        parameter => $construct
+                    });
+                }
+            }
+        }
+        while ($paragraph =~ m/$C_path_re/g) {
+            my $construct = $1;
+            $self->poderror({ -line => $line, -file => $file,
+                -msg => $C_with_slash,
+                parameter => $construct
+            });
+        }
+        return;
+    }
+
+    sub command {
+        my ($self, $cmd, $paragraph, $line_num, $pod_para) = @_;
+        my $addr = Scalar::Util::refaddr $self;
+        if ($cmd eq "pod") {
+            $seen_pod_cmd{$addr}++;
+        }
+        elsif ($cmd eq "encoding") {
+            my ($file, $line) = $pod_para->file_line;
+            $seen_encoding_cmd{$addr} = $paragraph; # for later decoding
+            if ($command_count{$addr} != 1 && $seen_pod_cmd{$addr}) {
+                $self->poderror({ -line => $line, -file => $file,
+                                  -msg => $encoding_first
+                                });
+            }
+        }
+        $self->check_encoding($paragraph, $line_num, $pod_para);
+
+        # Pod::Check treats all =items as linkable, but the bullet and
+        # numbered lists really aren't.  So keep our own list.  This has to be
+        # processed before SUPER is called so that the list is started before
+        # the rest of it gets parsed.
+        if ($cmd eq 'item') { # Not linkable if item begins with * or a digit
+            $linkable_item{$addr} = ($paragraph !~ / ^ \s*
+                                                   (?: [*]
+                                                   | \d+ \.? (?: \$ | \s+ )
+                                                   )/x)
+                                  ? 1
+                                  : 0;
+
+        }
+        $self->SUPER::command($cmd, $paragraph, $line_num, $pod_para);
+
+        $command_count{$addr}++;
+
+        $in_NAME{$addr} = 0;    # Will change to 1 below if necessary
+        $in_begin{$addr} = 0;   # ibid
+        if ($cmd eq 'over') {
+            my $text = $self->interpolate($paragraph, $line_num);
+            my $indent = 4; # default
+            $indent = $1 if $text && $text =~ /^\s*(\d+)\s*$/;
+            push @{$indents{$addr}}, $indent;
+            $current_indent{$addr} += $indent;
+        }
+        elsif ($cmd eq 'back') {
+            if (@{$indents{$addr}}) {
+                $current_indent{$addr} -= pop @{$indents{$addr}};
+            }
+            else {
+                 # =back without corresponding =over, but should have
+                 # warned already
+                $current_indent{$addr} = 0;
+            }
+        }
+        elsif ($cmd =~ /^head/) {
+            if (! $in_begin{$addr}) {
+
+                # If a particular formatter, then this command doesn't really
+                # apply
+                $current_indent{$addr} = 0;
+                undef @{$indents{$addr}};
+            }
+
+            my $text = $self->interpolate($paragraph, $line_num);
+            $in_NAME{$addr} = 1 if $cmd eq 'head1'
+                                   && $text && $text =~ /^NAME\b/;
+        }
+        elsif ($cmd eq 'begin') {
+            $in_begin{$addr} = 1;
+        }
+
+        return;
+    }
+
+    sub hyperlink {
+        my $self = shift;
+
+        my $page;
+        if ($_[0] && ($page = $_[0][1]{'-page'})) {
+            my $node = $_[0][1]{'-node'};
+
+            # If the hyperlink is to an interior node of another page, save it
+            # so that we can see if we need to parse normally skipped files.
+            $has_referred_to_node{$page} = 1 if $node;
+
+            # Ignore certain placeholder links in perldelta.  Check if the
+            # link is page-level, and also check if to a node within the page
+            if ($self->name && $self->name eq "perldelta"
+                && ((grep { $page eq $_ } @perldelta_ignore_links)
+                    || ($node
+                        && (grep { "$page/$node" eq $_ } @perldelta_ignore_links)
+            ))) {
+                return;
+            }
+        }
+        return $self->SUPER::hyperlink($_[0]);
+    }
+
+    sub node {
+        my $self = shift;
+        my $text = $_[0];
+        if($text) {
+            $text =~ s/\s+$//s; # strip trailing whitespace
+            $text =~ s/\s+/ /gs; # collapse whitespace
+            my $addr = Scalar::Util::refaddr $self;
+            push(@{$linkable_nodes{$addr}}, $text) if
+                                    ! $current_indent{$addr}
+                                    || $linkable_item{$addr};
+        }
+        return $self->SUPER::node($_[0]);
+    }
+
+    sub get_current_indent {
+        return $INDENT + $current_indent{Scalar::Util::refaddr $_[0]};
+    }
+
+    sub get_filename {
+        return $filename{Scalar::Util::refaddr $_[0]};
+    }
+
+    sub linkable_nodes {
+        my $linkables = $linkable_nodes{Scalar::Util::refaddr $_[0]};
+        return undef unless $linkables;
+        return @$linkables;
+    }
+
+    sub get_skip {
+        return $skip{Scalar::Util::refaddr $_[0]} // 0;
+    }
+
+    sub set_skip {
+        my $self = shift;
+        $skip{Scalar::Util::refaddr $self} = shift;
+
+        # If skipping, no need to keep the problems for it
+        delete $problems{$self->get_filename};
+        return;
+    }
+
+    sub parse_from_file {
+        # This overrides the super class method so that if an open fails on a
+        # transitory file, it doesn't croak.  It returns 1 if it did find the
+        # file, 0 if it didn't
+
+        my $self = shift;
+        my $filename = shift;
+        # ignores 2nd param, which is output file.  Always uses undef
+
+        if (open my $in_fh, '<:bytes', $filename) {
+            $self->SUPER::parse_from_filehandle($in_fh, undef);
+            close $in_fh;
+            return 1;
+        }
+
+        # If couldn't open file, perhaps it was transitory, and hence not an error
+        return 0 unless -e $filename;
+
+        die "Can't open '$filename': $!\n";
+    }
 }
 
+package Tie_Array_to_FH {  # So printing actually goes to an array
 
-use strict;
-use File::Spec;
-s{^\.\./lib$}{lib} for @INC;
-chdir '..';
-my @files;
-my $manifest = 'MANIFEST';
+    my %array;
 
-open my $m, '<', $manifest or die "Can't open '$manifest': $!";
+    sub TIEHANDLE {
+        my $class = shift;
+        my $array_ref = shift;
 
-while (<$m>) {
+        my $self = bless \do{ my $anonymous_scalar }, $class;
+        $array{Scalar::Util::refaddr $self} = $array_ref;
+
+        return $self;
+    }
+
+    sub PRINT {
+        my $self = shift;
+        push @{$array{Scalar::Util::refaddr $self}}, @_;
+        return 1;
+    }
+}
+
+
+my %filename_to_checker; # Map a filename to it's pod checker object
+my %id_to_checker;      # Map a checksum to it's pod checker object
+my %nodes;              # key is filename, values are nodes in that file.
+my %nodes_first_word;   # same, but value is first word of each node
+my %valid_modules;      # List of modules known to exist outside us.
+my %digests;            # checksums of files, whose names are the keys
+my %filename_to_pod;    # Map a filename to its pod NAME
+my %files_with_unknown_issues;
+my %files_with_fixes;
+
+my $data_fh;
+open $data_fh, '<:bytes', $known_issues or die "Can't open $known_issues";
+
+my %counts; # For --counts param, count of each issue type
+my %suppressed_files;   # Files with at least one issue type to suppress
+my $HEADER = <<END;
+# This file is the data file for $0.
+# There are three types of lines.
+# Comment lines are white-space only or begin with a '#', like this one.  Any
+#   changes you make to the comment lines will be lost when the file is
+#   regen'd.
+# Lines without tab characters are simply NAMES of pods that the program knows
+#   will have links to them and the program does not check if those links are
+#   valid.
+# All other lines should have three fields, each separated by a tab.  The
+#   first field is the name of a pod; the second field is an error message
+#   generated by this program; and the third field is a count of how many
+#   known instances of that message there are in the pod.  -1 means that the
+#   program can expect any number of this type of message.
+END
+
+my @existing_issues;
+
+
+while (<$data_fh>) {    # Read the data base
     chomp;
-    next unless /\s/;   # Ignore lines without whitespace (i.e., filename only)
-    my ($file, $separator) = /^(\S+)(\s+)/;
-	next if $file =~ /^cpan\//;
-	next unless ($file =~ /\.(?:pm|pod|pl)$/);
-	next if $file eq 'autodoc.pl';
-    push @files, $file;
-};
- at files = sort @files; # so we get consistent results
+    next if /^\s*(?:#|$)/;  # Skip comment and empty lines
+    if (/\t/) {
+        next if $show_all;
+        if ($add_link) {    # The issues are saved and later output unchanged
+            push @existing_issues, $_;
+            next;
+        }
 
-sub pod_ok {
-    my ($filename) = @_;
-    local @My::Pod::Checker::errors;
-    my $checker = My::Pod::Checker->new(-quiet => 1);
-    $checker->parse_from_file($filename, undef);
-    my $error_count = $checker->num_errors();
+        # Keep track of counts of each issue type for each file
+        my ($filename, $message, $count) = split /\t/;
+        $known_problems{$filename}{$message} = $count;
 
-    if(! ok($error_count <= 0, "POD of $filename")) {
-        diag( "'$filename' contains POD errors" );
-        diag(sprintf "%s %s: %s at line %s",
-             $_->{-severity}, $_->{-file}, $_->{-msg}, $_->{-line})
-            for @My::Pod::Checker::errors;
+        if ($show_counts) {
+            if ($count < 0) {   # -1 means to suppress this issue type
+                $suppressed_files{$filename} = $filename;
+            }
+            else {
+                $counts{$message} += $count;
+            }
+        }
+    }
+    else {  # Lines without a tab are modules known to be valid
+        $valid_modules{$_} = 1
+    }
+}
+close $data_fh;
+
+if ($add_link) {
+    $copy_fh = open_new($known_issues);
+
+    # Check for basic sanity, and add each command line argument
+    foreach my $module (@files) {
+        die "\"$module\" does not look like a module or man page"
+            # Must look like (A or A::B or A::B::C ..., or foo(3C)
+            if $module !~ /^ (?: \w+ (?: :: \w+ )* | \w+ \( \d \w* \) ) $/x;
+        $valid_modules{$module} = 1
+    }
+    my_safer_print($copy_fh, $HEADER);
+    foreach (sort { lc $a cmp lc $b } keys %valid_modules) {
+        my_safer_print($copy_fh, $_, "\n");
+    }
+
+    # The rest of the db file is output unchanged.
+    my_safer_print($copy_fh, join "\n", @existing_issues, "");
+
+    close_and_rename($copy_fh);
+    exit;
+}
+
+if ($show_counts) {
+    my $total = 0;
+    foreach my $message (sort keys %counts) {
+        $total += $counts{$message};
+        note(Text::Tabs::expand("$counts{$message}\t$message"));
+    }
+    note("-----\n" . Text::Tabs::expand("$total\tknown potential issues"));
+    if (%suppressed_files) {
+        note("\nFiles that have all messages of at least one type suppressed:");
+        note(join ",", keys %suppressed_files);
+    }
+    exit 0;
+}
+
+# re to match files that are to be parsed only if there is an internal link
+# to them.  It does not include cpan, as whether those are parsed depends
+# on a switch.  Currently, only perltoc and the stable perldelta.pod's
+# are included.  The latter all have characters between 'perl' and
+# 'delta'.  (Actually the currently developed one matches as well, but
+# is a duplicate of perldelta.pod, so can be skipped, so fine for it to
+# match this.
+my $only_for_interior_links_re = qr/ ^ pod\/perltoc.pod $
+                                   /x;
+unless ($do_deltas) {
+    $only_for_interior_links_re = qr/$only_for_interior_links_re |
+                                    \b perl \d+ delta \. pod \b
+                                /x;
+}
+
+{ # Closure
+    my $first_time = 1;
+
+    sub output_thanks ($$$$) {  # Called when an issue has been fixed
+        my $filename = shift;
+        my $original_count = shift;
+        my $current_count = shift;
+        my $message = shift;
+
+        $files_with_fixes{$filename} = 1;
+        my $return;
+        my $fixed_count = $original_count - $current_count;
+        my $a_problem = ($fixed_count == 1) ? "a problem" : "multiple problems";
+        my $another_problem = ($fixed_count == 1) ? "another problem" : "another set of problems";
+        my $diff;
+        if ($message) {
+            $diff = <<EOF;
+There were $original_count occurrences (now $current_count) in this pod of type
+"$message",
+EOF
+        } else {
+            $diff = <<EOF;
+There are no longer any problems found in this pod!
+EOF
+        }
+
+        if ($first_time) {
+            $first_time = 0;
+            $return = <<EOF;
+Thanks for fixing $a_problem!
+$diff
+Now you must teach $0 that this was fixed.
+EOF
+        }
+        else {
+            $return = <<EOF
+Thanks for fixing $another_problem.
+$diff
+EOF
+        }
+
+        return $return;
+    }
+}
+
+sub my_safer_print {    # print, with error checking for outputting to db
+    my ($fh, @lines) = @_;
+
+    if (! print $fh @lines) {
+        my $save_error = $!;
+        close($fh);
+        die "Write failure: $save_error";
+    }
+}
+
+sub extract_pod {   # Extracts just the pod from a file; returns undef if file
+                    # doesn't exist
+    my $filename = shift;
+
+    my @pod;
+
+    # Arrange for the output of Pod::Parser to be collected in an array we can
+    # look at instead of being printed
+    tie *ALREADY_FH, 'Tie_Array_to_FH', \@pod;
+    if (open my $in_fh, '<:bytes', $filename) {
+        my $parser = Pod::Parser->new();
+        $parser->parse_from_filehandle($in_fh, *ALREADY_FH);
+        close $in_fh;
+
+        return join "", @pod
+    }
+
+    # The file should already have been opened once to get here, so if that
+    # fails, something is wrong.  It's possible that a transitory file
+    # containing a pod would get here, so if the file no longer exists just
+    # return undef.
+    return unless -e $filename;
+    die "Can't open '$filename': $!\n";
+}
+
+my $digest = Digest->new($digest_type);
+
+# This is used as a callback from File::Find::find(), which always constructs
+# pathnames using Unix separators
+sub is_pod_file {
+    # If $_ is a pod file, add it to the lists and do other prep work.
+
+    if (-d) {
+        # Don't look at files in directories that are for tests, nor those
+        # beginning with a dot
+        if (m!/t\z! || m!/\.!) {
+            $File::Find::prune = 1;
+        }
+        return;
+    }
+
+    return unless -r && -s;    # Can't check it if can't read it; no need to
+                               # check if 0 length
+    return unless -f || -l;    # Weird file types won't be pods
+
+    my ($leaf) = m!([^/]+)\z!;
+    if (m!/\.!                 # No hidden Unix files
+        || $leaf =~ $non_pods) {
+        note("Not considering $_") if DEBUG;
+        return;
+    }
+               
+    my $filename = $File::Find::name;
+
+    # $filename is relative, like './path'.  Strip that initial part away.
+    $filename =~ s!^\./!! or die 'Unexpected pathname "$filename"';
+
+    return if $excluded_files{canonicalize($filename)};
+
+    my $contents = do {
+        local $/;
+        my $candidate;
+        if (! open $candidate, '<:bytes', $_) {
+
+            # If a transitory file was found earlier, the open could fail
+            # legitimately and we just skip the file; also skip it if it is a
+            # broken symbolic link, as it is probably just a build problem;
+            # certainly not a file that we would want to check the pod of.
+            # Otherwise fail it here and no reason to process it further.
+            # (But the test count will be off too)
+            ok(0, "Can't open '$filename': $!")
+                                            if -r $filename && ! -l $filename;
+            return;
+        }
+        <$candidate>;
     };
-};
 
-plan (tests => scalar @files);
+    # If the file is a .pm or .pod, having any initial '=' on a line is
+    # grounds for testing it.  Otherwise, require a head1 NAME line to
+    # consider it as a potential pod
+    if ($filename =~ /\.(?:pm|pod)/) {
+        return unless $contents =~ /^=/m;
+    } else {
+        return unless $contents =~ /^=head1 +NAME/m;
+    }
 
-pod_ok $_
-    for @files;
+    # Here, we know that the file is a pod.  Add it to the list of files
+    # to check and create a checker object for it.
+
+    push @files, $filename;
+    my $checker = My::Pod::Checker->new($filename);
+    $filename_to_checker{$filename} = $checker;
+
+    # In order to detect duplicate pods and only analyze them once, we
+    # compute checksums for the file, so don't have to do an exact
+    # compare.  Note that if the pod is just part of the file, the
+    # checksums can differ for the same pod.  That special case is handled
+    # later, since if the checksums of the whole file are the same, that
+    # case won't even come up.  We don't need the checksums for files that
+    # we parse only if there is a link to its interior, but we do need its
+    # NAME, which is also retrieved in the code below.
+
+    if ($filename =~ / (?: ^(cpan|lib|ext|dist)\/ )
+                        | $only_for_interior_links_re
+                    /x) {
+        $digest->add($contents);
+        $digests{$filename} = $digest->digest;
+
+        # lib files aren't analyzed if they are duplicates of files copied
+        # there from some other directory.  But to determine this, we need
+        # to know their NAMEs.  We might as well find the NAME now while
+        # the file is open.  Similarly, cpan files aren't analyzed unless
+        # we're analyzing all of them, or this particular file is linked
+        # to by a file we are analyzing, and thus we will want to verify
+        # that the target exists in it.  We need to know at least the NAME
+        # to see if it's worth analyzing, or so we can determine if a lib
+        # file is a copy of a cpan one.
+        if ($filename =~ m{ (?: ^ (?: cpan | lib ) / )
+                            | $only_for_interior_links_re
+                            }x) {
+            if ($contents =~ /^=head1 +NAME.*/mg) {
+                # The NAME is the first non-spaces on the line up to a
+                # comma, dash or end of line.  Otherwise, it's invalid and
+                # this pod doesn't have a legal name that we're smart
+                # enough to find currently.  But the  parser will later
+                # find it if it thinks there is a legal name, and set the
+                # name
+                if ($contents =~ /\G    # continue from the line after =head1
+                                  \s*   # ignore any empty lines
+                                  ^ \s* ( \S+?) \s* (?: [,-] | $ )/mx) {
+                    my $name = $1;
+                    $checker->name($name);
+                    $id_to_checker{$name} = $checker
+                        if $filename =~ m{^cpan/};
+                }
+            }
+            elsif ($filename =~ m{^cpan/}) {
+                $id_to_checker{$digests{$filename}} = $checker;
+            }
+        }
+    }
+
+    return;
+} # End of is_pod_file()
+
+# Start of real code that isn't processing the command line (except the
+# db is read in above, as is processing of the --add_link option).
+# Here, @files contains list of files on the command line.  If have any of
+# these, unconditionally test them, and show all the errors, even the known
+# ones, and, since not testing other pods, don't do cross-pod link tests.
+# (Could add extra code to do cross-pod tests for the ones in the list.)
+
+if ($has_input_files) {
+    undef %known_problems;
+    $do_upstream_cpan = $do_deltas = 1;  # In case one of the inputs is one
+                                         # of these types
+}
+else { # No input files -- go find all the possibilities.
+    if ($regen) {
+        $copy_fh = open_new($known_issues);
+        note("Regenerating $known_issues, please be patient...");
+        print $copy_fh $HEADER;
+    }
+
+    # Move to the directory above us, but have to adjust @INC to account for
+    # that.
+    s{^\.\./lib$}{lib} for @INC;
+    chdir File::Spec->updir;
+
+    # And look in this directory and all its subdirectories
+    find( {wanted => \&is_pod_file, no_chdir => 1}, '.');
+
+    # Add ourselves to the test
+    push @files, "t/porting/podcheck.t";
+}
+
+# Now we know how many tests there will be.
+plan (tests => scalar @files) if ! $regen;
+
+
+ # Sort file names so we get consistent results, and to put cpan last,
+ # preceeded by the ones that we don't generally parse.  This is because both
+ # these classes are generally parsed only if there is a link to the interior
+ # of them, and we have to parse all others first to guarantee that they don't
+ # have such a link. 'lib' files come just before these, as some of these are
+ # duplicates of others.  We already have figured this out when gathering the
+ # data as a special case for all such files, but this, while unnecessary,
+ # puts the derived file last in the output.  'readme' files come before those,
+ # as those also could be duplicates of others, which are considered the
+ # primary ones.  These currently aren't figured out when gathering data, so
+ # are done here.
+ @files = sort { if ($a =~ /^cpan/) {
+                    return 1 if $b !~ /^cpan/;
+                    return lc $a cmp lc $b;
+                }
+                elsif ($b =~ /^cpan/) {
+                    return -1;
+                }
+                elsif ($a =~ /$only_for_interior_links_re/) {
+                    return 1 if $b !~ /$only_for_interior_links_re/;
+                    return lc $a cmp lc $b;
+                }
+                elsif ($b =~ /$only_for_interior_links_re/) {
+                    return -1;
+                }
+                elsif ($a =~ /^lib/) {
+                    return 1 if $b !~ /^lib/;
+                    return lc $a cmp lc $b;
+                }
+                elsif ($b =~ /^lib/) {
+                    return -1;
+                } elsif ($a =~ /\breadme\b/i) {
+                    return 1 if $b !~ /\breadme\b/i;
+                    return lc $a cmp lc $b;
+                }
+                elsif ($b =~ /\breadme\b/i) {
+                    return -1;
+                }
+                else {
+                    return lc $a cmp lc $b;
+                }
+            }
+            @files;
+
+# Now go through all the files and parse them
+FILE:
+foreach my $filename (@files) {
+    my $parsed = 0;
+    note("parsing $filename") if DEBUG;
+
+    # We may have already figured out some things in the process of generating
+    # the file list.  If so, we have a $checker object already.  But if not,
+    # generate one now.
+    my $checker = $filename_to_checker{$filename};
+    if (! $checker) {
+        $checker = My::Pod::Checker->new($filename);
+        $filename_to_checker{$filename} = $checker;
+    }
+
+    # We have set the name in the checker object if there is a possibility
+    # that no further parsing is necessary, but otherwise do the parsing now.
+    if (! $checker->name) {
+        if (! $checker->parse_from_file($filename, undef)) {
+            $checker->set_skip("$filename is transitory");
+            next FILE;
+        }
+        $parsed = 1;
+
+    }
+
+    if ($checker->num_errors() < 0) {   # Returns negative if not a pod
+        $checker->set_skip("$filename is not a pod");
+    }
+    else {
+
+        # Here, is a pod.  See if it is one that has already been tested,
+        # or should be tested under another directory.  Use either its NAME
+        # if it has one, or a checksum if not.
+        my $name = $checker->name;
+        my $id;
+
+        if ($name) {
+            $id = $name;
+        }
+        else {
+            my $digest = Digest->new($digest_type);
+            my $contents = extract_pod($filename);
+
+            # If the return is undef, it means that $filename was a transitory
+            # file; skip it.
+            next FILE unless defined $contents;
+            $digest->add($contents);
+            $id = $digest->digest;
+        }
+
+        # If there is a match for this pod with something that we've already
+        # processed, don't process it, and output why.
+        my $prior_checker;
+        if (defined ($prior_checker = $id_to_checker{$id})
+            && $prior_checker != $checker)  # Could have defined the checker
+                                            # earlier without pursuing it
+        {
+
+            # If the pods are identical, then it's just a copy, and isn't an
+            # error.  First use the checksums we have already computed to see
+            # if the entire files are identical, which means that the pods are
+            # identical too.
+            my $prior_filename = $prior_checker->get_filename;
+            my $same = (! $name
+                        || ($digests{$prior_filename}
+                            && $digests{$filename}
+                            && $digests{$prior_filename} eq $digests{$filename}));
+
+            # If they differ, it could be that the files differ for some
+            # reason, but the pods they contain are identical.  Extract the
+            # pods and do the comparisons on just those.
+            if (! $same && $name) {
+                my $contents = extract_pod($filename);
+
+                # If return is <undef>, it means that $filename no longer
+                # exists.  This means it was a transitory file, and should not
+                # be tested.
+                next FILE unless defined $contents;
+
+                my $prior_contents = extract_pod($prior_filename);
+
+                # If return is <undef>, it means that $prior_filename no
+                # longer exists.  This means it was a transitory file, and
+                # should not have been tested, but we already did process it.
+                # What we should do now is to back-out its records, and
+                # process $filename in its stead.  But backing out is not so
+                # simple, and so I'm (khw) skipping that unless and until
+                # experience shows that it is needed.  We do go process
+                # $filename, and there are potential false positive conflicts
+                # with the transitory $prior_contents, and rerunning the test
+                # should cause it to succeed.
+                goto process_this_pod unless defined $prior_contents;
+
+                $same = $prior_contents eq $contents;
+            }
+
+            if ($same) {
+                $checker->set_skip("The pod of $filename is a duplicate of "
+                                    . "the pod for $prior_filename");
+            } elsif ($prior_filename =~ /\breadme\b/i) {
+                $checker->set_skip("$prior_filename is a README apparently for $filename");
+            } elsif ($filename =~ /\breadme\b/i) {
+                $checker->set_skip("$filename is a README apparently for $prior_filename");
+            } elsif (! $do_upstream_cpan
+                     && $filename =~ /^cpan/
+                     && $prior_filename =~ /^cpan/)
+            {
+                $checker->set_skip("CPAN is upstream for $filename");
+            } else { # Here have two pods with identical names that differ
+                $prior_checker->poderror(
+                        { -msg => $duplicate_name,
+                            -line => "???",
+                            parameter => "'$filename' also has NAME '$name'"
+                        });
+                $checker->poderror(
+                    { -msg => $duplicate_name,
+                        -line => "???",
+                        parameter => "'$prior_filename' also has NAME '$name'"
+                    });
+
+                # Changing the names helps later.
+                $prior_checker->name("$name version arbitrarily numbered 1");
+                $checker->name("$name version arbitrarily numbered 2");
+            }
+
+            # In any event, don't process this pod that has the same name as
+            # another.
+            next FILE;
+        }
+
+    process_this_pod:
+
+        # A unique pod.
+        $id_to_checker{$id} = $checker;
+
+        my $parsed_for_links = ", but parsed for its interior links";
+        if ((! $do_upstream_cpan && $filename =~ /^cpan/)
+             || $filename =~ $only_for_interior_links_re)
+        {
+            if ($filename =~ /^cpan/) {
+                $checker->set_skip("CPAN is upstream for $filename");
+            }
+            elsif ($filename =~ /perl\d+delta/) {
+                if (! $do_deltas) {
+                    $checker->set_skip("$filename is a stable perldelta");
+                }
+            }
+            elsif ($filename =~ /perltoc/) {
+                $checker->set_skip("$filename dependent on component pods");
+            }
+            else {
+                croak("Unexpected file '$filename' encountered that has parsing for interior-linking only");
+            }
+
+            if ($name && $has_referred_to_node{$name}) {
+                $checker->set_skip($checker->get_skip() . $parsed_for_links);
+            }
+        }
+
+        # Need a name in order to process it, because not meaningful
+        # otherwise, and also can't test links to this without a name.
+        if (!defined $name) {
+            $checker->poderror( { -msg => $no_name,
+                                  -line => '???'
+                                });
+            next FILE;
+        }
+
+        # For skipped files, just get its NAME
+        my $skip;
+        if (($skip = $checker->get_skip()) && $skip !~ /$parsed_for_links/)
+        {
+            $checker->node($name) if $name;
+        }
+        elsif (! $parsed) {
+            if (! $checker->parse_from_file($filename, undef)) {
+                $checker->set_skip("$filename is transitory");
+                next FILE;
+            }
+        }
+
+        # Go through everything in the file that could be an anchor that
+        # could be a link target.  Count how many there are of the same name.
+        foreach my $node ($checker->linkable_nodes) {
+            next FILE if ! $node;        # Can be empty is like '=item *'
+            if (exists $nodes{$name}{$node}) {
+                $nodes{$name}{$node}++;
+            }
+            else {
+                $nodes{$name}{$node} = 1;
+            }
+
+            # Experiments have shown that cpan search can figure out the
+            # target of a link even if the exact wording is incorrect, as long
+            # as the first word is.  This happens frequently in perlfunc.pod,
+            # where the link will be just to the function, but the target
+            # entry also includes parameters to the function.
+            my $first_word = $node;
+            if ($first_word =~ s/^(\S+)\s+\S.*/$1/) {
+                $nodes_first_word{$name}{$first_word} = $node;
+            }
+        }
+        $filename_to_pod{$filename} = $name;
+    }
+}
+
+# Here, all files have been parsed, and all links and link targets are stored.
+# Now go through the files again and see which don't have matches.
+if (! $has_input_files) {
+    foreach my $filename (@files) {
+        next if $filename_to_checker{$filename}->get_skip;
+        my $checker = $filename_to_checker{$filename};
+        foreach my $link ($checker->hyperlink) {
+            my $linked_to_page = $link->[1]->page;
+            next unless $linked_to_page;   # intra-file checks are handled by std
+                                           # Pod::Checker
+
+            # Initialize the potential message.
+            my %problem = ( -msg => $broken_link,
+                            -line => $link->[0],
+                            parameter => "to \"$linked_to_page\"",
+                        );
+
+            # See if we have found the linked-to_file in our parse
+            if (exists $nodes{$linked_to_page}) {
+                my $node = $link->[1]->node;
+
+                # If link is only to the page-level, already have it
+                next if ! $node;
+
+                # Transform pod language to what we are expecting
+                $node =~ s,E<sol>,/,g;
+                $node =~ s/E<verbar>/|/g;
+
+                # If link is to a node that exists in the file, is ok
+                if ($nodes{$linked_to_page}{$node}) {
+
+                    # But if the page has multiple targets with the same name,
+                    # it's ambiguous which one this should be to.
+                    if ($nodes{$linked_to_page}{$node} > 1) {
+                        $problem{-msg} = $multiple_targets;
+                        $problem{parameter} = "in $linked_to_page that $node could be pointing to";
+                        $checker->poderror(\%problem);
+                    }
+                } elsif (! $nodes_first_word{$linked_to_page}{$node}) {
+
+                    # Here the link target was not found, either exactly or to
+                    # the first word.  Is an error.
+                    $problem{parameter} =~ s,"$,/$node",;
+                    $checker->poderror(\%problem);
+                }
+
+            } # Linked-to-file not in parse; maybe is in exception list
+            elsif (! exists $valid_modules{$link->[1]->page}) {
+
+                # Here, is a link to a target that we can't find.  Check if
+                # there is an internal link on the page with the target name.
+                # If so, it could be that they just forgot the initial '/'
+                # But perldelta is handled specially: only do this if the
+                # broken link isn't one of the known bad ones (that are
+                # placemarkers and should be removed for the final)
+                my $NAME = $filename_to_pod{$filename};
+                if (! defined $NAME) {
+                    $checker->poderror(\%problem);
+                }
+                else {
+                    if ($nodes{$NAME}{$linked_to_page}) {
+                        $problem{-msg} =  $broken_internal_link;
+                    }
+                    $checker->poderror(\%problem);
+                }
+            }
+        }
+    }
+}
+
+# If regenerating the data file, start with the modules for which we don't
+# check targets.  If you change the sort order, you need to run --regen before
+# committing so that future commits that do run regen don't show irrelevant
+# changes.
+if ($regen) {
+    foreach (sort { lc $a cmp lc $b } keys %valid_modules) {
+        my_safer_print($copy_fh, $_, "\n");
+    }
+}
+
+# Now ready to output the messages.
+foreach my $filename (@files) {
+    my $canonical = canonicalize($filename);
+    SKIP: {
+        my $skip = $filename_to_checker{$filename}->get_skip // "";
+
+        if ($regen) {
+            foreach my $message ( sort keys %{$problems{$filename}}) {
+                my $count;
+
+                # Preserve a negative setting.
+                if ($known_problems{$canonical}{$message}
+                    && $known_problems{$canonical}{$message} < 0)
+                {
+                    $count = $known_problems{$canonical}{$message};
+                }
+                else {
+                    $count = @{$problems{$filename}{$message}};
+                }
+                my_safer_print($copy_fh, $canonical . "\t$message\t$count\n");
+            }
+            next;
+        }
+
+        skip($skip, 1) if $skip;
+        my @diagnostics;
+        my $indent = '  ';
+
+        my $total_known = 0;
+        foreach my $message ( sort keys %{$problems{$filename}}) {
+            $known_problems{$canonical}{$message} = 0
+                                    if ! $known_problems{$canonical}{$message};
+            my $diagnostic = "";
+            my $problem_count = scalar @{$problems{$filename}{$message}};
+            $total_known += $problem_count;
+            next if $known_problems{$canonical}{$message} < 0;
+            if ($problem_count > $known_problems{$canonical}{$message}) {
+
+                # Here we are about to output all the messages for this type,
+                # subtract back this number we previously added in.
+                $total_known -= $problem_count;
+
+                $diagnostic .= $indent . qq{"$message"};
+                if ($problem_count > 2) {
+                    $diagnostic .= "  ($problem_count occurrences,"
+			. " expected $known_problems{$canonical}{$message})";
+                }
+                foreach my $problem (@{$problems{$filename}{$message}}) {
+                    $diagnostic .= " " if $problem_count == 1;
+                    $diagnostic .= "\n$indent$indent";
+                    $diagnostic .= "$problem->{parameter}" if $problem->{parameter};
+                    $diagnostic .= " near line $problem->{-line}";
+                    $diagnostic .= " $problem->{comment}" if $problem->{comment};
+                }
+                $diagnostic .= "\n";
+                $files_with_unknown_issues{$filename} = 1;
+            } elsif ($problem_count < $known_problems{$canonical}{$message}) {
+               $diagnostic = output_thanks($filename, $known_problems{$canonical}{$message}, $problem_count, $message);
+            }
+            push @diagnostics, $diagnostic if $diagnostic;
+        }
+
+        # The above loop has output messages where there are current potential
+        # issues.  But it misses where there were some that have been entirely
+        # fixed.  For those, we need to look through the old issues
+        foreach my $message ( sort keys %{$known_problems{$canonical}}) {
+            next if $problems{$filename}{$message};
+            next if ! $known_problems{$canonical}{$message};
+            next if $known_problems{$canonical}{$message} < 0; # Preserve negs
+            my $diagnostic = output_thanks($filename, $known_problems{$canonical}{$message}, 0, $message);
+            push @diagnostics, $diagnostic if $diagnostic;
+        }
+
+        my $output = "POD of $filename";
+        $output .= ", excluding $total_known not shown known potential problems"
+                                                                if $total_known;
+        ok(@diagnostics == 0, $output);
+        if (@diagnostics) {
+            note(join "", @diagnostics,
+            "See end of this test output for your options on silencing this");
+        }
+
+        delete $known_problems{$canonical};
+    }
+}
+
+if (! $regen
+    && ! ok (keys %known_problems == 0, "The known problems data base includes no references to non-existent files"))
+{
+    note("The following files were not found: "
+         . join ", ", keys %known_problems);
+    note("They will automatically be removed from the db the next time");
+    note("  cd t; ./perl -I../lib porting/podcheck.t --regen");
+    note("is run");
+}
+
+my $how_to = <<EOF;
+   run this test script by hand, using the following formula (on
+   Un*x-like machines):
+        cd t
+        ./perl -I../lib porting/podcheck.t --regen
+EOF
+
+if (%files_with_unknown_issues) {
+    my $were_count_files = scalar keys %files_with_unknown_issues;
+    $were_count_files = ($were_count_files == 1)
+                        ? "was $were_count_files file"
+                        : "were $were_count_files files";
+    my $message = <<EOF;
+
+HOW TO GET THIS .t TO PASS
+
+There $were_count_files that had new potential problems identified.
+Some of them may be real, and some of them may be false positives because
+this program isn't as smart as it likes to think it is.  You can teach this
+program to ignore the issues it has identified, and hence pass, by doing the
+following:
+
+1) If a problem is about a link to an unknown module or man page that
+   you know exists, re-run the command something like:
+      ./perl -I../lib porting/podcheck.t --add_link MODULE man_page ...
+   (MODULEs should look like Foo::Bar, and man_pages should look like
+   bar(3c); don't do this for a module or man page that you aren't sure
+   about; instead treat as another type of issue and follow the
+   instructions below.)
+
+2) For other issues, decide if each should be fixed now or not.  Fix the
+   ones you decided to, and rerun this test to verify that the fixes
+   worked.
+
+3) If there remain false positive or problems that you don't plan to fix right
+   now,
+$how_to
+   That should cause all current potential problems to be accepted by
+   the program, so that the next time it runs, they won't be flagged.
+EOF
+    if (%files_with_fixes) {
+        $message .= "   This step will also take care of the files that have fixes in them\n";
+    }
+
+    $message .= <<EOF;
+   For a few files, such as perltoc, certain issues will always be
+   expected, and more of the same will be added over time.  For those,
+   before you do the regen, you can edit
+   $known_issues
+   and find the entry for the module's file and specific error message,
+   and change the count of known potential problems to -1.
+EOF
+
+    note($message);
+} elsif (%files_with_fixes) {
+    note(<<EOF
+To teach this test script that the potential problems have been fixed,
+$how_to
+EOF
+    );
+}
+
+if ($regen) {
+    chdir $original_dir || die "Can't change directories to $original_dir";
+    close_and_rename($copy_fh);
+}


Property changes on: vendor/perl/dist/t/porting/podcheck.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/regen.t
===================================================================
--- vendor/perl/dist/t/porting/regen.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/regen.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,23 +2,12 @@
 
 # Verify that all files generated by perl scripts are up to date.
 
-my ($in_t, $lib);
-
 BEGIN {
-    $in_t = -f 'TEST' && -f '../regen.pl';
-    $lib = $in_t ? '../lib' : 'lib';
-    unshift @INC, $lib;
+    @INC = '..' if -f '../TestInit.pm';
 }
-
+use TestInit qw(T A); # T is chdir to the top level, A makes paths absolute
 use strict;
 
-use File::Spec::Functions 'rel2abs';
-$^X = rel2abs($^X);
-$ENV{PERL5LIB} = rel2abs($lib);
-
-chdir '..' if $in_t;
-
-$INC[0] = 'lib';
 require 'regen/regen_lib.pl';
 require 't/test.pl';
 $::NO_ENDING = $::NO_ENDING = 1;
@@ -27,11 +16,11 @@
   skip_all( "- regen.pl needs porting." );
 }
 
-my $in_regen_pl = 17; # I can't see a clean way to calculate this automatically.
+my $in_regen_pl = 23; # I can't see a clean way to calculate this automatically.
 my @files = qw(perly.act perly.h perly.tab keywords.c keywords.h uconfig.h);
-my @progs = qw(Porting/makemeta regen/regcharclass.pl regen/mk_PL_charclass.pl);
+my @progs = qw(regen/regcharclass.pl regen/mk_PL_charclass.pl);
 
-plan (tests => $in_regen_pl + @files + @progs);
+plan (tests => $in_regen_pl + @files + @progs + 2);
 
 OUTER: foreach my $file (@files) {
     open my $fh, '<', $file or die "Can't open $file: $!";
@@ -58,3 +47,7 @@
 foreach (@progs, 'regen.pl') {
   system "$^X $_ --tap";
 }
+
+foreach ( '-y', '-j' ) {
+  system "$^X Porting/makemeta --tap $_";
+}


Property changes on: vendor/perl/dist/t/porting/regen.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/porting/test_bootstrap.t
===================================================================
--- vendor/perl/dist/t/porting/test_bootstrap.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/porting/test_bootstrap.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,10 @@
 
 # This regression tests ensures that the rules aren't accidentally overlooked.
 
-require './test.pl';
+BEGIN {
+    chdir 't';
+    require './test.pl';
+}
 
 plan('no_plan');
 
@@ -46,8 +49,18 @@
 	unless $file eq 'comp/require.t'
 }
 
-# There are regression tests using test.pl that don't want PL_sawampersand set
+# There are regression tests using test.pl that don't want PL_sawampersand
+# set.  Or at least that was the case until PL_sawampersand was disabled
+# and replaced with copy-on-write.
 
+# We still allow PL_sawampersand to be enabled with
+# -Accflags=-DPERL_SAWAMPERSAND, so when that is defined we can still run
+# these tests.  When it is not enabled, PL_sawampersand makes no observable
+# difference so the tests fail.
+
+require Config;
+exit unless "@{[Config::bincompat_options()]}" =~ /\bPERL_SAWAMPERSAND\b/;
+
 # This very much relies on a bug in the regexp implementation, but for now it's
 # the best way to work out whether PL_sawampersand is true.
 # Then again, PL_sawampersand *is* a bug, for precisely the reason that this


Property changes on: vendor/perl/dist/t/porting/test_bootstrap.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/charset.t
===================================================================
--- vendor/perl/dist/t/re/charset.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/charset.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,7 @@
 
 use strict;
 use warnings;
+use Config;
 
 plan('no_plan');
 
@@ -35,19 +36,24 @@
 $testcases{'[:word:]'} = $testcases{'\w'};
 
 my @charsets = qw(a d u aa);
-if (! is_miniperl()) {
+if (! is_miniperl() && $Config{d_setlocale}) {
     require POSIX;
     my $current_locale = POSIX::setlocale( &POSIX::LC_ALL, "C") // "";
     if ($current_locale eq 'C') {
-        use locale;
 
-        # Some locale implementations don't have the 128-255 characters all
-        # mean nothing.  Skip the locale tests in that situation
+        # test for d_setlocale is repeated here because this one is compile
+        # time, and the one above is run time
+        use if $Config{d_setlocale}, 'locale';
+
+        # Some implementations don't have the 128-255 range characters all
+        # mean nothing under the C locale (an example being VMS).  This is
+        # legal, but since we don't know what the right answers should be,
+        # skip the locale tests in that situation.
         for my $i (128 .. 255) {
-            goto bad_locale if chr($i) =~ /[[:print:]]/;
+            goto untestable_locale if chr($i) =~ /[[:print:]]/;
         }
         push @charsets, 'l';
-    bad_locale:
+    untestable_locale:
     }
 }
 


Property changes on: vendor/perl/dist/t/re/charset.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/re/fold_grind.t
===================================================================
--- vendor/perl/dist/t/re/fold_grind.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/fold_grind.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,7 @@
     chdir 't' if -d 't';
     @INC = '../lib';
     require './test.pl';
+    require Config; import Config;
     skip_all_if_miniperl("no dynamic loading on miniperl, no Encode nor POSIX");
 }
 
@@ -18,6 +19,17 @@
 use Encode;
 use POSIX;
 
+# Special-cased characters in the .c's that we want to make sure get tested.
+my %be_sure_to_test = (
+        "\xDF" => 1, # LATIN_SMALL_LETTER_SHARP_S
+        "\x{1E9E}" => 1, # LATIN_CAPITAL_LETTER_SHARP_S
+        "\x{390}" => 1, # GREEK_SMALL_LETTER_IOTA_WITH_DIALYTIKA_AND_TONOS
+        "\x{3B0}" => 1, # GREEK_SMALL_LETTER_UPSILON_WITH_DIALYTIKA_AND_TONOS
+        "\x{1FD3}" => 1, # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA
+        "\x{1FE3}" => 1, # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA
+    );
+
+
 # Tests both unicode and not, so make sure not implicitly testing unicode
 no feature 'unicode_strings';
 
@@ -52,7 +64,7 @@
 # output for debugging purposes.
 
 sub range_type {
-    my $ord = shift;
+    my $ord = ord shift;
 
     return $ASCII if $ord < 128;
     return $Latin1 if $ord < 256;
@@ -63,136 +75,308 @@
     return $a <=> $b
 }
 
-sub run_test($$$$) {
-    my ($test, $count, $todo, $debug) = @_;
+my $list_all_tests = $ENV{PERL_DEBUG_FULL_TEST} || $DEBUG;
+$| = 1 if $list_all_tests;
 
+# Significant time is saved by not outputting each test but grouping the
+# output into subtests
+my $okays;          # Number of ok's in current subtest
+my $this_iteration; # Number of possible tests in current subtest
+my $count=0;        # Number of subtests = number of total tests
+
+sub run_test($$$) {
+    my ($test, $todo, $debug) = @_;
+
     $debug = "" unless $DEBUG;
-    ok(eval $test, "$test; $debug");
+    my $res = eval $test;
+
+    if (!$res || $list_all_tests) {
+      # Failed or debug; output the result
+      $count++;
+      ok($res, "$test; $debug");
+    } else {
+      # Just count the test as passed
+      $okays++;
+    }
+    $this_iteration++;
 }
 
-my %tests;          # The final set of tests. keys are the code points to test
-my %simple_folds;
-my %multi_folds;
+my %has_test_by_participants;   # Makes sure has tests for each range and each
+                                # number of characters that fold to the same
+                                # thing
+my %has_test_by_byte_count; # Makes sure has tests for each combination of
+                            # n bytes folds to m bytes
 
-# First, analyze the current Unicode's folding rules
-my %folded_from;
-my $file="../lib/unicore/CaseFolding.txt";
-open my $fh, "<", $file or die "Failed to read '$file': $!";
-while (<$fh>) {
-    chomp;
+my %tests; # The set of tests.
+# Each key is a code point that folds to something else.
+# Each value is a list of things that the key folds to.  If the 'thing' is a
+# single code point, it is that ordinal.  If it is a multi-char fold, it is an
+# ordered list of the code points in that fold.  Here's an example for 'S':
+#  '83' => [ 115, 383 ]
+#
+# And one for a multi-char fold: \xDF
+#  223 => [
+#            [  # 'ss'
+#                83,
+#                83
+#            ],
+#            [  # 'SS'
+#                115,
+#                115
+#            ],
+#            [  # LATIN SMALL LETTER LONG S
+#                383,
+#                383
+#            ],
+#          7838 # LATIN_CAPITAL_LETTER_SHARP_S
+#        ],
 
-    # Lines look like (though without the initial '#')
-    #0130; F; 0069 0307; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+my %inverse_folds;  # keys are strings of the folded-to;
+                    # values are lists of characters that fold to them
 
-    my ($line, $comment) = split / \s+ \# \s+ /x, $_;
-    next if $line eq "" || substr($line, 0, 1) eq '#';
-    my ($hex_from, $fold_type, @folded) = split /[\s;]+/, $line;
+sub add_test($@) {
+    my ($to, @from) = @_;
 
-    my $from = hex $hex_from;
+    # Called to cause the input to be tested by adding to %tests.  @from is
+    # the list of characters that fold to the string $to.  @from should be
+    # sorted so the lowest code point is first....
+    # The input is in string form; %tests uses code points, so have to
+    # convert.
 
-    if ($fold_type eq 'F') {
-         my $from_range_type = range_type($from);
+    my $to_chars = length $to;
+    my @test_to;        # List of tests for $to
 
-        # If we were testing comprehensively, we would try every combination
-        # of upper and lower case in the fold, but it is quite likely that if
-        # the code can handle all combinations if it can handle the cases
-        # where everything is upper and when everything is lower.  Because of
-        # complement matching, we need to do both.  And we use the
-        # reverse-fold instead of uppercase.
-        @folded = map { hex $_ } @folded;
-        # XXX better to use reverse fold of these instead of uc
-        my @uc_folded = map { ord uc chr $_ } @folded;
+    if ($to_chars == 1) {
+        @test_to = ord $to;
+    }
+    else {
+        push @test_to, [ map { ord $_ } split "", $to ];
 
-        # Include three code points that are handled internally by the regex
-        # engine specially, plus all non-above-255 multi folds (which actually
-        # the only one is already included in the three, but this makes sure)
-        # And if any member of the fold is not the same range type as the
-        # source, add it directly to the tests.  It needs to be an array of an
-        # array, so that it is distinguished from multiple single folds
-        if ($from == 0xDF || $from == 0x390 || $from == 0x3B0
-            || $from_range_type != $Unicode
-            || grep { range_type($_) != $from_range_type } @folded)
-        {
-            $tests{$from} = [ [ @folded ], [ @uc_folded ] ];
+        # For multi-char folds, we also test that things that can fold to each
+        # individual character in the fold also work.  If we were testing
+        # comprehensively, we would try every combination of upper and lower
+        # case in the fold, but it will have to suffice to avoid running
+        # forever to make sure that each thing that folds to these is tested
+        # at least once.  Because of complement matching ([^...]), we need to
+        # do both the folded, and the folded-from.
+        # We first look at each character in the multi-char fold, and save how
+        # many characters fold to it; and also the maximum number of such
+        # folds
+        my @folds_to_count;     # 0th char in fold is index 0 ...
+        my $max_folds_to = 0;
+
+        for (my $i = 0; $i < $to_chars; $i++) {
+            my $to_char = substr($to, $i, 1);
+            if (exists $inverse_folds{$to_char}) {
+                $folds_to_count[$i] = scalar @{$inverse_folds{$to_char}};
+                $max_folds_to = $folds_to_count[$i] if $max_folds_to < $folds_to_count[$i];
+            }
+            else {
+                $folds_to_count[$i] = 0;
+            }
         }
-        else {
 
-            # The only multi-char non-utf8 fold is DF, which is handled above,
-            # so here chr() must be utf8.  Get the number of bytes in each.
-            # This is because the optimizer cares about length differences.
-            my $from_length = length encode('UTF-8', chr($from));
-            my $to_length = length encode('UTF-8', pack 'U*', @folded);
-            push @{$multi_folds{$from_length}{$to_length}}, { $from => [ [ @folded ], [ @uc_folded ] ] };
+        # We will need to generate as many tests as the maximum number of
+        # folds, so that each fold will have at least one test.
+        # For example, consider character X which folds to the three character
+        # string 'xyz'.  If 2 things fold to x (X and x), 4 to y (Y, Y'
+        # (Y-prime), Y'' (Y-prime-prime), and y), and 1 thing to z (itself), 4
+        # tests will be generated:
+        #   xyz
+        #   XYz
+        #   xY'z
+        #   xY''z
+        for (my $i = 0; $i < $max_folds_to; $i++) {
+            my @this_test_to;   # Assemble a single test
+
+            # For each character in the multi-char fold ...
+            for (my $j = 0; $j < $to_chars; $j++) {
+                my $this_char = substr($to, $j, 1);
+
+                # Use its corresponding inverse fold, if available.
+                if ($i < $folds_to_count[$j]) {
+                    push @this_test_to, ord $inverse_folds{$this_char}[$i];
+                }
+                else {  # Or else itself.
+                    push @this_test_to, ord $this_char;
+                }
+            }
+
+            # Add this test to the list
+            push @test_to, [ @this_test_to ];
         }
+
+        # Here, have assembled all the tests for the multi-char fold.  Sort so
+        # lowest code points are first for consistency and aesthetics in
+        # output.  We know there are at least two characters in the fold, but
+        # I haven't bothered to worry about sorting on an optional third
+        # character if the first two are identical.
+        @test_to = sort { ($a->[0] == $b->[0])
+                           ? $a->[1] <=> $b->[1]
+                           : $a->[0] <=> $b->[0]
+                        } @test_to;
     }
 
-    # Perl only deals with C and F folds
-    next if $fold_type ne 'C';
 
-    # C folds are single-char $from to single-char $folded, in chr terms
-    # folded_from{'s'} = [ 'S', \N{LATIN SMALL LETTER LONG S} ]
-    push @{$folded_from{hex $folded[0]}}, $from;
+    # This test is from n bytes to m bytes.  Record that so won't try to add
+    # another test that does the same.
+    use bytes;
+    my $to_bytes = length $to;
+    foreach my $from_map (@from) {
+        $has_test_by_byte_count{length $from_map}{$to_bytes} = $to;
+    }
+    no bytes;
+
+    my $ord_smallest_from = ord shift @from;
+    if (exists $tests{$ord_smallest_from}) {
+        die "There are already tests for $ord_smallest_from"
+    };
+
+    # Add in the fold tests,
+    push @{$tests{$ord_smallest_from}}, @test_to;
+
+    # Then any remaining froms in the equivalence class.
+    push @{$tests{$ord_smallest_from}}, map { ord $_ } @from;
 }
 
-# Now try to sort the single char folds into equivalence classes that are
-# likely to have identical successes and failures.  Any fold that crosses
-# range types is suspect, and is automatically tested.  Otherwise, store by
-# the number of characters that participate in a fold.  Likely all folds in a
-# range type that fold to each other like B->b->B will have identical success
-# and failure; similarly all folds that have three characters participating
-# are likely to have the same successes and failures, etc.
-foreach my $folded (sort numerically keys %folded_from) {
-    my $target_range_type  = range_type($folded);
-    my $count = @{$folded_from{$folded}};
+# Get the Unicode rules and construct inverse mappings from them
 
-    # Automatically test any fold that crosses range types
-    if (grep { range_type($_) != $target_range_type } @{$folded_from{$folded}})
-    {
-        $tests{$folded} = $folded_from{$folded};
+use Unicode::UCD;
+my $file="../lib/unicore/CaseFolding.txt";
+
+# Use the Unicode data file if we are on an ASCII platform (which its data is
+# for), and it is in the modern format (starting in Unicode 3.1.0) and it is
+# available.  This avoids being affected by potential bugs introduced by other
+# layers of Perl
+if (ord('A') == 65
+    && pack("C*", split /\./, Unicode::UCD::UnicodeVersion()) ge v3.1.0
+    && open my $fh, "<", $file)
+{
+    while (<$fh>) {
+        chomp;
+
+        # Lines look like (though without the initial '#')
+        #0130; F; 0069 0307; # LATIN CAPITAL LETTER I WITH DOT ABOVE
+
+        # Get rid of comments, ignore blank or comment-only lines
+        my $line = $_ =~ s/ (?: \s* \# .* )? $ //rx;
+        next unless length $line;
+        my ($hex_from, $fold_type, @hex_folded) = split /[\s;]+/, $line;
+
+        next if $fold_type =~ / ^ [IT] $/x; # Perl doesn't do Turkish folding
+        next if $fold_type eq 'S';  # If Unicode's tables are correct, the F
+                                    # should be a superset of S
+
+        my $folded_str = pack ("U0U*", map { hex $_ } @hex_folded);
+        push @{$inverse_folds{$folded_str}}, chr hex $hex_from;
     }
-    else {
-        push @{$simple_folds{$target_range_type}{$count}},
-               { $folded => $folded_from{$folded} };
-    }
 }
+else {  # Here, can't use the .txt file: read the Unicode rules file and
+        # construct inverse mappings from it
 
-foreach my $from_length (keys %multi_folds) {
-    foreach my $fold_length (keys %{$multi_folds{$from_length}}) {
-        #print __LINE__, ref $multi_folds{$from_length}{$fold_length}, Dumper $multi_folds{$from_length}{$fold_length};
-        foreach my $test (@{$multi_folds{$from_length}{$fold_length}}) {
-            #print __LINE__, ": $from_length, $fold_length, $test:\n";
-            my ($target, $pattern) = each %$test;
-            #print __LINE__, ": $target: $pattern\n";
-            $tests{$target} = $pattern;
-            last if $skip_apparently_redundant;
+    my ($invlist_ref, $invmap_ref, undef, $default)
+                                    = Unicode::UCD::prop_invmap('Case_Folding');
+    for my $i (0 .. @$invlist_ref - 1 - 1) {
+        next if $invmap_ref->[$i] == $default;
+
+        # Make into an array if not so already, so can treat uniformly below
+        $invmap_ref->[$i] = [ $invmap_ref->[$i] ] if ! ref $invmap_ref->[$i];
+
+        # Each subsequent element of the range requires adjustment of +1 from
+        # the previous element
+        my $adjust = -1;
+        for my $j ($invlist_ref->[$i] .. $invlist_ref->[$i+1] -1) {
+            $adjust++;
+            my $folded_str
+                        = pack "U0U*", map { $_ + $adjust } @{$invmap_ref->[$i]};
+            #note (sprintf "%d: %04X: %s", __LINE__, $j, join " ",
+            #    map { sprintf "%04X", $_  + $adjust } @{$invmap_ref->[$i]});
+            push @{$inverse_folds{$folded_str}}, chr $j;
         }
     }
 }
 
-# Add in tests for single character folds.  Add tests for each range type,
-# and within those tests for each number of characters participating in a
-# fold.  Thus B->b has two characters participating.  But K->k and Kelvin
-# Sign->k has three characters participating.  So we would make sure that
-# there is a test for 3 chars, 4 chars, ... .  (Note that the 'k' example is a
-# bad one because it crosses range types, so is automatically tested.  In the
-# Unicode range there are various of these 3 and 4 char classes, but aren't as
-# easily described as the 'k' one.)
-foreach my $type (keys %simple_folds) {
-    foreach my $count (keys %{$simple_folds{$type}}) {
-        foreach my $test (@{$simple_folds{$type}{$count}}) {
-            my ($target, $pattern) = each %$test;
-            $tests{$target} = $pattern;
-            last if $skip_apparently_redundant;
+# Analyze the data and generate tests to get adequate test coverage.  We sort
+# things so that smallest code points are done first.
+TO:
+foreach my $to (sort { (length $a == length $b)
+                        ? $a cmp $b
+                        : length $a <=> length $b
+                    } keys %inverse_folds)
+{
+
+    # Within each fold, sort so that the smallest code points are done first
+    @{$inverse_folds{$to}} = sort { $a cmp $b } @{$inverse_folds{$to}};
+    my @from = @{$inverse_folds{$to}};
+
+    # Just add it to the tests if doing complete coverage
+    if (! $skip_apparently_redundant) {
+        add_test($to, @from);
+        next TO;
+    }
+
+    my $to_chars = length $to;
+    my $to_range_type = range_type(substr($to, 0, 1));
+
+    # If this is required to be tested, do so.  We check for these first, as
+    # they will take up slots of byte-to-byte combinations that we otherwise
+    # would have to have other tests to get.
+    foreach my $from_map (@from) {
+        if (exists $be_sure_to_test{$from_map}) {
+            add_test($to, @from);
+            next TO;
         }
     }
+
+    # If the fold contains heterogeneous range types, is suspect and should be
+    # tested.
+    if ($to_chars > 1) {
+        foreach my $char (split "", $to) {
+            if (range_type($char) != $to_range_type) {
+                add_test($to, @from);
+                next TO;
+            }
+        }
+    }
+
+    # If the mapping crosses range types, is suspect and should be tested
+    foreach my $from_map (@from) {
+        if (range_type($from_map) != $to_range_type) {
+            add_test($to, @from);
+            next TO;
+        }
+    }
+
+    # Here, all components of the mapping are in the same range type.  For
+    # single character folds, we test one case in each range type that has 2
+    # particpants, 3 particpants, etc.
+    if ($to_chars == 1) {
+        if (! exists $has_test_by_participants{scalar @from}{$to_range_type}) {
+            add_test($to, @from);
+            $has_test_by_participants{scalar @from}{$to_range_type} = $to;
+            next TO;
+        }
+    }
+
+    # We also test all combinations of mappings from m to n bytes.  This is
+    # because the regex optimizer cares.  (Don't bother worrying about that
+    # Latin1 chars will occupy a different number of bytes under utf8, as
+    # there are plenty of other cases that catch these byte numbers.)
+    use bytes;
+    my $to_bytes = length $to;
+    foreach my $from_map (@from) {
+        if (! exists $has_test_by_byte_count{length $from_map}{$to_bytes}) {
+            add_test($to, @from);
+            next TO;
+        }
+    }
 }
 
 # For each range type, test additionally a character that folds to itself
-$tests{0x3A} = [ 0x3A ];
-$tests{0xF7} = [ 0xF7 ];
-$tests{0x2C7} = [ 0x2C7 ];
+add_test(chr 0x3A, chr 0x3A);
+add_test(chr 0xF7, chr 0xF7);
+add_test(chr 0x2C7, chr 0x2C7);
 
-
 # To cut down on the number of tests
 my $has_tested_aa_above_latin1;
 my $has_tested_latin1_aa;
@@ -217,16 +401,30 @@
 # It doesn't return pairs like (a, a), (b, b).  Change the slice to an array
 # to do that.  This was just to have fewer tests.
 sub pairs (@) {
-    #print __LINE__, ": ", join(" XXX ", @_), "\n";
+    #print __LINE__, ": ", join(" XXX ", map { sprintf "%04X", $_ } @_), "\n";
     map { prefix $_[$_], @_[0..$_-1, $_+1..$#_] } 0..$#_
 }
 
 my @charsets = qw(d u a aa);
-my $current_locale = POSIX::setlocale( &POSIX::LC_ALL, "C") // "";
-push @charsets, 'l' if $current_locale eq 'C';
+if($Config{d_setlocale}) {
+    my $current_locale = POSIX::setlocale( &POSIX::LC_ALL, "C") // "";
+    if ($current_locale eq 'C') {
+        require locale; import locale;
 
+        # Some implementations don't have the 128-255 range characters all
+        # mean nothing under the C locale (an example being VMS).  This is
+        # legal, but since we don't know what the right answers should be,
+        # skip the locale tests in that situation.
+        for my $i (128 .. 255) {
+            my $char = chr($i);
+            goto untestable_locale if uc($char) ne $char || lc($char) ne $char;
+        }
+        push @charsets, 'l';
+      untestable_locale:
+    }
+}
+
 # Finally ready to do the tests
-my $count=0;
 foreach my $test (sort { numerically } keys %tests) {
 
   my $previous_target;
@@ -254,6 +452,10 @@
     @target = (ref $target) ? @$target : $target;
     @pattern = (ref $pattern) ? @$pattern : $pattern;
 
+    # We are testing just folds to/from a single character.  If our pairs
+    # happens to generate multi/multi, skip.
+    next if @target > 1 && @pattern > 1;
+
     # Have to convert non-utf8 chars to native char set
     @target = map { $_ > 255 ? $_ : ord latin1_to_native(chr($_)) } @target;
     @pattern = map { $_ > 255 ? $_ : ord latin1_to_native(chr($_)) } @pattern;
@@ -283,11 +485,12 @@
                             $test,
                             join("", @x_target),
                             join("", @x_pattern);
-    #print $progress, "\n";
-    #diag $progress;
+    #note $progress;
 
     # Now grind out tests, using various combinations.
     foreach my $charset (@charsets) {
+      $okays = 0;
+      $this_iteration = 0;
 
       # To cut down somewhat on the enormous quantity of tests this currently
       # runs, skip some for some of the character sets whose results aren't
@@ -420,40 +623,51 @@
           my $op = '=~';
           $op = '!~' if $should_fail;
 
-          # I'm afraid this was derived from trial and error.
-          my $todo = ($test == 0xdf
-                      && $lhs =~ /DF/
-                      && $uni_semantics
-                      && ($charset eq 'u' || $charset eq 'a' || $charset eq 'd')
-                      && ! (($charset eq 'u' || $charset eq 'a')
-                            && (($upgrade_target eq "") != ($upgrade_pattern eq "")))
-                      && ! ($charset eq 'd' && (! $upgrade_target || ! $upgrade_pattern))
-                      );
+          my $todo = 0;  # No longer any todo's
           my $eval = "my \$c = \"$lhs$rhs\"; my \$p = qr/(?$charset:^($rhs)\\1\$)/i;$upgrade_target$upgrade_pattern \$c $op \$p";
-          run_test($eval, ++$count, $todo, "");
+          run_test($eval, $todo, "");
 
           $eval = "my \$c = \"$lhs$rhs\"; my \$p = qr/(?$charset:^(?<grind>$rhs)\\k<grind>\$)/i;$upgrade_target$upgrade_pattern \$c $op \$p";
-          run_test($eval, ++$count, $todo, "");
+          run_test($eval, $todo, "");
 
           if ($lhs ne $rhs) {
             $eval = "my \$c = \"$rhs$lhs\"; my \$p = qr/(?$charset:^($rhs)\\1\$)/i;$upgrade_target$upgrade_pattern \$c $op \$p";
-            run_test($eval, ++$count, "", "");
+            run_test($eval, "", "");
 
             $eval = "my \$c = \"$rhs$lhs\"; my \$p = qr/(?$charset:^(?<grind>$rhs)\\k<grind>\$)/i;$upgrade_target$upgrade_pattern \$c $op \$p";
-            run_test($eval, ++$count, "", "");
+            run_test($eval, "", "");
           }
 
-          # XXX Doesn't currently test multi-char folds in pattern
-          next if @pattern != 1;
-
           # See if works on what could be a simple trie.
           $eval = "my \$c = \"$lhs\"; my \$p = qr/$rhs|xyz/i$charset;$upgrade_target$upgrade_pattern \$c $op \$p";
-          run_test($eval, ++$count, "", "");
+          run_test($eval, "", "");
 
-          my $okays = 0;
-          my $this_iteration = 0;
+          # Check that works when the folded character follows something that
+          # is quantified.  This test knows the regex code internals to the
+          # extent that it knows this is a potential problem, and that there
+          # are three different types of quantifiers generated: 1) The thing
+          # being quantified matches a single character; 2) it matches more
+          # than one character, but is fixed width; 3) it can match a variable
+          # number of characters.  (It doesn't know that case 3 shouldn't
+          # matter, since it doesn't do anything special for the character
+          # following the quantifier; nor that some of the different
+          # quantifiers execute the same underlying code, as these tests are
+          # quick, and this insulates these tests from changes in the
+          # implementation.)
+          for my $quantifier ('?', '??', '*', '*?', '+', '+?', '{1,2}', '{1,2}?') {
+            $eval = "my \$c = \"_$lhs\"; my \$p = qr/(?$charset:.$quantifier$rhs)/i;$upgrade_target$upgrade_pattern \$c $op \$p";
+            run_test($eval, "", "");
+            $eval = "my \$c = \"__$lhs\"; my \$p = qr/(?$charset:(?:..)$quantifier$rhs)/i;$upgrade_target$upgrade_pattern \$c $op \$p";
+            run_test($eval, "", "");
+            $eval = "my \$c = \"__$lhs\"; my \$p = qr/(?$charset:(?:.|\\R)$quantifier$rhs)/i;$upgrade_target$upgrade_pattern \$c $op \$p";
+            run_test($eval, "", "");
+          }
 
           foreach my $bracketed (0, 1) {   # Put rhs in [...], or not
+            next if $bracketed && @pattern != 1;    # bracketed makes these
+                                                    # or's instead of a sequence
+            foreach my $optimize_bracketed (0, 1) {
+                next if $optimize_bracketed && ! $bracketed;
             foreach my $inverted (0,1) {
                 next if $inverted && ! $bracketed;  # inversion only valid in [^...]
                 next if $inverted && @target != 1;  # [perl #89750] multi-char
@@ -475,8 +689,9 @@
                       $rhs .=  $rhs_char;
 
                       # Add a character to the class, so class doesn't get
-                      # optimized out
-                      $rhs .= '_]' if $bracketed;
+                      # optimized out, unless we are testing that optimization
+                      $rhs .= '_' if $optimize_bracketed;
+                      $rhs .= ']' if $bracketed;
                   }
 
                   # Add one of: no capturing parens
@@ -492,6 +707,10 @@
                                         : "((${rhs})+,?)";
                     foreach my $quantifier ("", '?', '*', '+', '{1,3}') {
 
+                      # Perhaps should be TODOs, as are unimplemented, but
+                      # maybe will never be implemented
+                      next if @pattern != 1 && $quantifier;
+
                       # A ? or * quantifier normally causes the thing to be
                       # able to match a null string
                       my $quantifier_can_match_null = $quantifier eq '?' || $quantifier eq '*';
@@ -579,10 +798,10 @@
                           utf8::upgrade($p) if length($upgrade_pattern);
                           my $res = $op ? ($c =~ $p): ($c !~ $p);
 
-                          if (!$res || $ENV{PERL_DEBUG_FULL_TEST}) {
+                          if (!$res || $list_all_tests) {
                             # Failed or debug; output the result
                             $count++;
-                            ok($res, $desc);
+                            ok($res, "test $count - $desc");
                           } else {
                             # Just count the test as passed
                             $okays++;
@@ -596,14 +815,16 @@
               }
             }
           }
-
-          unless($ENV{PERL_DEBUG_FULL_TEST}) {
-            $count++;
-            is $okays, $this_iteration, "Subtests okay for "
-              .  "charset=$charset, utf8_pattern=$utf8_pattern";
           }
         }
       }
+      unless($list_all_tests) {
+        $count++;
+        is $okays, $this_iteration, "$okays subtests ok for"
+          . " /$charset,"
+          . ' target="' . join("", @x_target) . '",'
+          . ' pat="' . join("", @x_pattern) . '"';
+      }
     }
   }
 }


Property changes on: vendor/perl/dist/t/re/fold_grind.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/re/no_utf8_pm.t
===================================================================
--- vendor/perl/dist/t/re/no_utf8_pm.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/no_utf8_pm.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,13 @@
 #!./perl
 
-print "1..1\n";
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
 
+plan tests => 1;
+
 # Make sure that case-insensitive matching of any Latin1 chars don't load
 # utf8.pm.  We assume that NULL won't force loading utf8.pm, and since it
 # doesn't match any of the other chars, the regexec.c code would try to load
@@ -8,5 +14,4 @@
 # a swash if it thought there was one.
 "\0" =~ /[\001-\xFF]/i;
 
-print "not" if exists $INC{"utf8.pm"};
-print "ok 1\n";
+ok(! exists $INC{"utf8.pm"}, 'case insensitive matching of any Latin1 chars does not load utf8.pm');


Property changes on: vendor/perl/dist/t/re/no_utf8_pm.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/overload.t
===================================================================
--- vendor/perl/dist/t/re/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/overload.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -33,4 +33,192 @@
     is $1, $TAG, "void context //g against overloaded object";
 }
 
+{
+    # an overloaded stringify returning itself shouldn't loop indefinitely
+
+
+    {
+	package Self;
+	use overload q{""} => sub {
+		    return shift;
+		},
+	    fallback => 1;
+    }
+
+    my $obj = bless [], 'Self';
+    my $r = qr/$obj/;
+    pass("self object, 1 arg");
+    $r = qr/foo$obj/;
+    pass("self object, 2 args");
+}
+
+{
+    # [perl #116823]
+    # when overloading regex string constants, a different code path
+    # was taken if the regex was compile-time, leading to overloaded
+    # regex constant string segments not being handled correctly.
+    # They were just treated as OP_CONST strings to be concatted together.
+    # In particular, if the overload returned a regex object, it would
+    # just be stringified rather than having any code blocks processed.
+
+    BEGIN {
+	overload::constant qr => sub {
+	    my ($raw, $cooked, $type) = @_;
+	    return $cooked unless defined $::CONST_QR_CLASS;
+	    if ($type =~ /qq?/) {
+		return bless \$cooked, $::CONST_QR_CLASS;
+	    } else {
+		return $cooked;
+	    }
+	};
+    }
+
+    {
+	# returns a qr// object
+
+	package OL_QR;
+	use overload q{""} => sub {
+		my $re = shift;
+		return qr/(?{ $OL_QR::count++ })$$re/;
+	    },
+	fallback => 1;
+
+    }
+
+    {
+	# returns a string
+
+	package OL_STR;
+	use overload q{""} => sub {
+		my $re = shift;
+		return qq/(?{ \$OL_STR::count++ })$$re/;
+	    },
+	fallback => 1;
+
+    }
+
+    {
+	# returns chr(str)
+
+	package OL_CHR;
+	use overload q{""} => sub {
+		my $chr = shift;
+		return chr($$chr);
+	    },
+	fallback => 1;
+
+    }
+
+
+    my $qr;
+
+    $::CONST_QR_CLASS = 'OL_QR';
+
+    $OL_QR::count = 0;
+    $qr = eval q{ qr/^foo$/; };
+    ok("foo" =~ $qr, "compile-time, OL_QR, single constant segment");
+    is($OL_QR::count, 1, "flag");
+
+    $OL_QR::count = 0;
+    $qr = eval q{ qr/^foo$(?{ $OL_QR::count++ })/; };
+    ok("foo" =~ $qr, "compile-time, OL_QR, multiple constant segments");
+    is($OL_QR::count, 2, "qr2 flag");
+
+
+    # test /foo.../ when foo is given string overloading,
+    # for various permutations of '...'
+
+    $::CONST_QR_CLASS = 'OL_STR';
+
+    for my $has_re_eval (0, 1) {
+	for my $has_qr (0, 1) {
+	    for my $has_code (0, 1) {
+		for my $has_runtime (0, 1) {
+		    for my $has_runtime_code (0, 1) {
+			if ($has_runtime_code) {
+			    next unless $has_runtime;
+			}
+			note( "re_eval=$has_re_eval "
+			    . "qr=$has_qr "
+			    . "code=$has_code "
+			    . "runtime=$has_runtime "
+			    . "runtime_code=$has_runtime_code");
+			my $eval = '';
+			$eval .= q{use re 'eval'; } if $has_re_eval;
+			$eval .= q{$match = $str =~ };
+			$eval .= q{qr} if $has_qr;
+			$eval .= q{/^abc};
+			$eval .= q{(?{$blocks++})} if $has_code;
+			$eval .= q{$runtime} if $has_runtime;
+			$eval .= q{/; 1;};
+
+			my $runtime = q{def};
+			$runtime .= q{(?{$run_blocks++})} if $has_runtime_code;
+
+			my $blocks = 0;
+			my $run_blocks = 0;
+			my $match;
+			my $str = "abc";
+			$str .= "def" if $runtime;
+
+			my $result = eval $eval;
+			my $err = $@;
+			$result = $result ? 1 : 0;
+
+			if (!$has_re_eval) {
+			    is($result, 0, "EVAL: $eval");
+			    like($err, qr/Eval-group not allowed at runtime/,
+				"\$\@:   $eval");
+			    next;
+			}
+
+			is($result, 1, "EVAL: $eval");
+			diag("\$@=[$err]") unless $result;
+
+			is($match, 1, "MATCH: $eval");
+			is($blocks, $has_code, "blocks");
+			is($run_blocks, $has_runtime_code, "run_blocks");
+
+		    }
+		}
+	    }
+	}
+    }
+
+    # if the pattern gets (undetectably in advance) upgraded to utf8
+    # while being concatenated, it could mess up the alignment of the code
+    # blocks, giving rise to 'Eval-group not allowed at runtime' errs.
+
+    $::CONST_QR_CLASS = 'OL_CHR';
+
+    {
+	my $count = 0;
+	is(eval q{ "\x80\x{100}" =~ /128(?{ $count++ })256/ }, 1,
+	    "OL_CHR eval + match");
+	is($count, 1, "OL_CHR count");
+    }
+
+    undef $::CONST_QR_CLASS;
+}
+
+
+{
+    # [perl #115004]
+    # array interpolation within patterns should handle qr overloading
+    # (like it does for scalar vars)
+
+    {
+	package P115004;
+	use overload 'qr' => sub { return  qr/a/ };
+    }
+
+    my $o = bless [], 'P115004';
+    my @a = ($o);
+
+    ok("a" =~ /^$o$/, "qr overloading with scalar var interpolation");
+    ok("a" =~ /^@a$/, "qr overloading with array var interpolation");
+
+}
+
+
 done_testing();


Property changes on: vendor/perl/dist/t/re/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/pat.t
===================================================================
--- vendor/perl/dist/t/re/pat.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,9 +2,7 @@
 #
 # This is a home for regular expression tests that don't fit into
 # the format supported by re/regexp.t.  If you want to add a test
-# that does fit that format, add it to re/re_tests, not here.  Tests for \N
-# should be added here because they are treated as single quoted strings
-# there, which means they avoid the lexer which otherwise would look at them.
+# that does fit that format, add it to re/re_tests, not here.
 
 use strict;
 use warnings;
@@ -18,10 +16,11 @@
 BEGIN {
     chdir 't' if -d 't';
     @INC = ('../lib','.');
+    require Config; import Config;
     require './test.pl';
 }
 
-plan tests => 451;  # Update this when adding/deleting tests.
+plan tests => 472;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
@@ -154,7 +153,7 @@
 
     {
         $_ = 'now is the {time for all} good men to come to.';
-        / {([^}]*)}/;
+        / \{([^}]*)}/;
         is($1, 'time for all', "Match braces");
     }
 
@@ -518,24 +517,52 @@
         is(qr/(?u)\b\v$/, '(?^:(?u)\b\v$)', 'Verify (?u) compiles');
 
         my $dual = qr/\b\v$/;
-        use locale;
-        my $locale = qr/\b\v$/;
-        is($locale,    '(?^l:\b\v$)', 'Verify has l modifier when compiled under use locale');
-        no locale;
+        my $locale;
 
+      SKIP: {
+            skip 'No locale testing without d_setlocale', 1 if(!$Config{d_setlocale});
+
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            $locale = qr/\b\v$/;
+            is($locale,    '(?^l:\b\v$)', 'Verify has l modifier when compiled under use locale');
+            no locale;
+        }
+
         use feature 'unicode_strings';
         my $unicode = qr/\b\v$/;
         is($unicode,    '(?^u:\b\v$)', 'Verify has u modifier when compiled under unicode_strings');
         is(qr/abc$dual/,    '(?^u:abc(?^:\b\v$))', 'Verify retains d meaning when interpolated under locale');
-        is(qr/abc$locale/,    '(?^u:abc(?^l:\b\v$))', 'Verify retains l when interpolated under unicode_strings');
 
+      SKIP: {
+            skip 'No locale testing without d_setlocale', 1 if(!$Config{d_setlocale});
+
+            is(qr/abc$locale/,    '(?^u:abc(?^l:\b\v$))', 'Verify retains l when interpolated under unicode_strings');
+        }
+
         no feature 'unicode_strings';
-        is(qr/abc$locale/,    '(?^:abc(?^l:\b\v$))', 'Verify retains l when interpolated outside locale and unicode strings');
+      SKIP: {
+            skip 'No locale testing without d_setlocale', 1 if(!$Config{d_setlocale});
+
+            is(qr/abc$locale/,    '(?^:abc(?^l:\b\v$))', 'Verify retains l when interpolated outside locale and unicode strings');
+        }
+
         is(qr/def$unicode/,    '(?^:def(?^u:\b\v$))', 'Verify retains u when interpolated outside locale and unicode strings');
 
-        use locale;
-        is(qr/abc$dual/,    '(?^l:abc(?^:\b\v$))', 'Verify retains d meaning when interpolated under locale');
-        is(qr/abc$unicode/,    '(?^l:abc(?^u:\b\v$))', 'Verify retains u when interpolated under locale');
+      SKIP: {
+            skip 'No locale testing without d_setlocale', 2 if(!$Config{d_setlocale});
+
+             BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            is(qr/abc$dual/,    '(?^l:abc(?^:\b\v$))', 'Verify retains d meaning when interpolated under locale');
+            is(qr/abc$unicode/,    '(?^l:abc(?^u:\b\v$))', 'Verify retains u when interpolated under locale');
+        }
     }
 
     {
@@ -678,10 +705,11 @@
         is($#-, 1, $message);
     }
 
-    foreach ('$+[0] = 13', '$-[0] = 13', '@+ = (7, 6, 5)', '@- = qw (foo bar)') {
+    foreach ('$+[0] = 13', '$-[0] = 13', '@+ = (7, 6, 5)',
+	     '@- = qw (foo bar)', '$^N = 42') {
 	is(eval $_, undef);
         like($@, qr/^Modification of a read-only value attempted/,
-	     'Elements of @- and @+ are read-only');
+	     '$^N, @- and @+ are read-only');
     }
 
     {
@@ -986,7 +1014,7 @@
         my @space1 = sort grep {$space {$_} =~ /[[:space:]]/} keys %space;
         my @space2 = sort grep {$space {$_} =~ /[[:blank:]]/} keys %space;
 
-        is("@space0", "cr ff lf spc tab", $message);
+        is("@space0", "cr ff lf spc tab vt", $message);
         is("@space1", "cr ff lf spc tab vt", $message);
         is("@space2", "spc tab", $message);
     }
@@ -1070,51 +1098,6 @@
     }
 
     {
-        # Test that a regex followed by an operator and/or a statement modifier work
-        # These tests use string-eval so that it reports a clean error when it fails
-        # (without the string eval the test script might be unparseable)
-
-        # Note: these test check the behaviour that currently is valid syntax
-        # If a new regex modifier is added and a test fails then there is a backwards-compatibility issue
-        # Note-2: a new deprecate warning was added for this with commit e6897b1a5db0410e387ccbf677e89fc4a1d8c97a
-        # which indicate that this syntax will be removed in 5.16.
-        # When this happens the tests can be removed
-
-	foreach (['my $r = "a" =~ m/a/lt 2', 'm', 'lt'],
-		 ['my $r = "a" =~ m/a/le 1', 'm', 'le'],
-		 ['my $r = "a" =~ m/a/eq 1', 'm', 'eq'],
-		 ['my $r = "a" =~ m/a/ne 0', 'm', 'ne'],
-		 ['my $r = "a" =~ m/a/and 1', 'm', 'and'],
-		 ['my $r = "a" =~ m/a/unless 0', 'm', 'unless'],
-		 ['my $c = 1; my $r; $r = "a" =~ m/a/while $c--', 'm', 'while'],
-		 ['my $c = 0; my $r; $r = "a" =~ m/a/until $c++', 'm', 'until'],
-		 ['my $r; $r = "a" =~ m/a/for 1', 'm', 'for'],
-		 ['my $r; $r = "a" =~ m/a/foreach 1', 'm', 'foreach'],
-
-		 ['my $t = "a"; my $r = $t =~ s/a//lt 2', 's', 'lt'],
-		 ['my $t = "a"; my $r = $t =~ s/a//le 1', 's', 'le'],
-		 ['my $t = "a"; my $r = $t =~ s/a//ne 0', 's', 'ne'],
-		 ['my $t = "a"; my $r = $t =~ s/a//and 1', 's', 'and'],
-		 ['my $t = "a"; my $r = $t =~ s/a//unless 0', 's', 'unless'],
-
-		 ['my $c = 1; my $r; my $t = "a"; $r = $t =~ s/a//while $c--', 's', 'while'],
-		 ['my $c = 0; my $r; my $t = "a"; $r = $t =~ s/a//until $c++', 's', 'until'],
-		 ['my $r; my $t = "a"; $r = $t =~ s/a//for 1', 's', 'for'],
-		 ['my $r; my $t = "a"; $r = $t =~ s/a//for 1', 's', 'foreach'],
-		) {
-	    my $message = sprintf 'regex (%s) followed by $_->[2]',
-		$_->[1] eq 'm' ? 'm//' : 's///';
-	    my $code = "$_->[0]; 'eval_ok ' . \$r";
-	    my $result = do {
-		no warnings 'syntax';
-		eval $code;
-	    };
-	    is($@, '', $message);
-	    is($result, 'eval_ok 1', $message);
-	}
-    }
-
-    {
         my $str= "\x{100}";
         chop $str;
         my $qr= qr/$str/;
@@ -1167,6 +1150,236 @@
         is($got,$want,'RT #84294: check that "ab" =~ /((\w+)(?{ push @got, $2 })){2}/ leaves @got in the correct state');
     }
 
+    {
+        # Suppress warnings, as the non-unicode one comes out even if turn off
+        # warnings here (because the execution is done in another scope).
+        local $SIG{__WARN__} = sub {};
+        my $str = "\x{110000}";
+
+        # No non-unicode code points match any Unicode property, even inverse
+        # ones
+        unlike($str, qr/\p{ASCII_Hex_Digit=True}/, "Non-Unicode doesn't match \\p{}");
+        unlike($str, qr/\p{ASCII_Hex_Digit=False}/, "Non-Unicode doesn't match \\p{}");
+        like($str, qr/\P{ASCII_Hex_Digit=True}/, "Non-Unicode matches \\P{}");
+        like($str, qr/\P{ASCII_Hex_Digit=False}/, "Non-Unicode matches \\P{}");
+    }
+
+    {
+        # Test that IDstart works, but because the author (khw) knows
+        # regexes much better than the rest of the core, it is being done here
+        # in the context of a regex which relies on buffer names beginng with
+        # IDStarts.
+        use utf8;
+        my $str = "abc";
+        like($str, qr/(?<a>abc)/, "'a' is legal IDStart");
+        like($str, qr/(?<_>abc)/, "'_' is legal IDStart");
+        like($str, qr/(?<ß>abc)/, "U+00DF is legal IDStart");
+        like($str, qr/(?<ℕ>abc)/, "U+2115' is legal IDStart");
+
+        # This test works on Unicode 6.0 in which U+2118 and U+212E are legal
+        # IDStarts there, but are not Word characters, and therefore Perl
+        # doesn't allow them to be IDStarts.  But there is no guarantee that
+        # Unicode won't change things around in the future so that at some
+        # future Unicode revision these tests would need to be revised.
+        foreach my $char ("%", "×", chr(0x2118), chr(0x212E)) {
+            my $prog = <<"EOP";
+use utf8;;
+"abc" =~ qr/(?<$char>abc)/;
+EOP
+            utf8::encode($prog);
+            fresh_perl_like($prog, qr!Group name must start with a non-digit word character!, "",
+                        sprintf("'U+%04X not legal IDFirst'", ord($char)));
+        }
+    }
+
+    { # [perl #101710]
+        my $pat = "b";
+        utf8::upgrade($pat);
+        like("\xffb", qr/$pat/i, "/i: utf8 pattern, non-utf8 string, latin1-char preceding matching char in string");
+    }
+
+    { # Crash with @a =~ // warning
+	local $SIG{__WARN__} = sub {
+             pass 'no crash for @a =~ // warning'
+        };
+	eval ' sub { my @a =~ // } ';
+    }
+
+    { # Concat overloading and qr// thingies
+	my @refs;
+	my $qr = qr//;
+        package Cat {
+            require overload;
+            overload->import(
+		'""' => sub { ${$_[0]} },
+		'.' => sub {
+		    push @refs, ref $_[1] if ref $_[1];
+		    bless $_[2] ? \"$_[1]${$_[0]}" : \"${$_[0]}$_[1]"
+		}
+            );
+	}
+	my $s = "foo";
+	my $o = bless \$s, Cat::;
+	/$o$qr/;
+	is "@refs", "Regexp", '/$o$qr/ passes qr ref to cat overload meth';
+    }
+
+    {
+        my $count=0;
+        my $str="\n";
+        $count++ while $str=~/.*/g;
+        is $count, 2, 'test that ANCH_MBOL works properly. We should get 2 from $count++ while "\n"=~/.*/g';
+        my $class_count= 0;
+        $class_count++ while $str=~/[^\n]*/g;
+        is $class_count, $count, 'while "\n"=~/.*/g and while "\n"=~/[^\n]*/g should behave the same';
+        my $anch_count= 0;
+        $anch_count++ while $str=~/^.*/mg;
+        is $anch_count, 1, 'while "\n"=~/^.*/mg should match only once';
+    }
+
+    { # [perl #111174]
+        use re '/u';
+        like "\xe0", qr/(?i:\xc0)/, "(?i: shouldn't lose the passed in /u";
+        use re '/a';
+        unlike "\x{100}", qr/(?i:\w)/, "(?i: shouldn't lose the passed in /a";
+        use re '/aa';
+        unlike 'k', qr/(?i:\N{KELVIN SIGN})/, "(?i: shouldn't lose the passed in /aa";
+    }
+
+    {
+	# the test for whether the pattern should be re-compiled should
+	# consider the UTF8ness of the previous and current pattern
+	# string, as well as the physical bytes of the pattern string
+
+	for my $s ("\xc4\x80", "\x{100}") {
+	    ok($s =~ /^$s$/, "re-compile check is UTF8-aware");
+	}
+    }
+
+    #  #113682 more overloading and qr//
+    # when doing /foo$overloaded/, if $overloaded returns
+    # a qr/(?{})/ via qr or "" overloading, then 'use re 'eval'
+    # shouldn't be required. Via '.', it still is.
+    {
+        package Qr0;
+	use overload 'qr' => sub { qr/(??{50})/ };
+
+        package Qr1;
+	use overload '""' => sub { qr/(??{51})/ };
+
+        package Qr2;
+	use overload '.'  => sub { $_[1] . qr/(??{52})/ };
+
+        package Qr3;
+	use overload '""' => sub { qr/(??{7})/ },
+		     '.'  => sub { $_[1] . qr/(??{53})/ };
+
+        package Qr_indirect;
+	use overload '""'  => sub { $_[0][0] };
+
+	package main;
+
+	for my $i (0..3) {
+	    my $o = bless [], "Qr$i";
+	    if ((0,0,1,1)[$i]) {
+		eval { "A5$i" =~ /^A$o$/ };
+		like($@, qr/Eval-group not allowed/, "Qr$i");
+		eval { "5$i" =~ /$o/ };
+		like($@, ($i == 3 ? qr/^$/ : qr/no method found,/),
+			"Qr$i bare");
+		{
+		    use re 'eval';
+		    ok("A5$i" =~ /^A$o$/, "Qr$i - with use re eval");
+		    eval { "5$i" =~ /$o/ };
+		    like($@, ($i == 3 ? qr/^$/ : qr/no method found,/),
+			    "Qr$i bare - with use re eval");
+		}
+	    }
+	    else {
+		ok("A5$i" =~ /^A$o$/, "Qr$i");
+		ok("5$i" =~ /$o/, "Qr$i bare");
+	    }
+	}
+
+	my $o = bless [ bless [], "Qr1" ], 'Qr_indirect';
+	ok("A51" =~ /^A$o/, "Qr_indirect");
+	ok("51" =~ /$o/, "Qr_indirect bare");
+    }
+
+    {   # Various flags weren't being set when a [] is optimized into an
+        # EXACTish node
+        ;
+        ;
+        ok("\x{017F}\x{017F}" =~ qr/^[\x{00DF}]?$/i, "[] to EXACTish optimization");
+    }
+
+    {
+        for my $char (":", "\x{f7}", "\x{2010}") {
+            my $utf8_char = $char;
+            utf8::upgrade($utf8_char);
+            my $display = $char;
+            $display = display($display);
+            my $utf8_display = "utf8::upgrade(\"$display\")";
+
+            like($char, qr/^$char?$/, "\"$display\" =~ /^$display?\$/");
+            like($char, qr/^$utf8_char?$/, "my \$p = \"$display\"; utf8::upgrade(\$p); \"$display\" =~ /^\$p?\$/");
+            like($utf8_char, qr/^$char?$/, "my \$c = \"$display\"; utf8::upgrade(\$c); \"\$c\" =~ /^$display?\$/");
+            like($utf8_char, qr/^$utf8_char?$/, "my \$c = \"$display\"; utf8::upgrade(\$c); my \$p = \"$display\"; utf8::upgrade(\$p); \"\$c\" =~ /^\$p?\$/");
+        }
+    }
+
+    {
+	# #116148: Pattern utf8ness sticks around globally
+	# the utf8 in the first match was sticking around for the second
+	# match
+
+	use feature 'unicode_strings';
+
+	my $x = "\x{263a}";
+	$x =~ /$x/;
+
+	my $text = "Perl";
+	ok("Perl" =~ /P.*$/i, '#116148');
+    }
+
+    { # 117327: Sequence (?#...) not recognized in regex
+      # The space between the '(' and '?' is now deprecated; this test should
+      # be removed when the deprecation is made fatal.
+        no warnings;
+        like("ab", qr/a( ?#foo)b/x);
+    }
+
+    { # 118297: Mixing up- and down-graded strings in regex
+        utf8::upgrade(my $u = "\x{e5}");
+        utf8::downgrade(my $d = "\x{e5}");
+        my $warned;
+        local $SIG{__WARN__} = sub { $warned++ if $_[0] =~ /\AMalformed UTF-8/ };
+        my $re = qr/$u$d/;
+        ok(!$warned, "no warnings when interpolating mixed up-/downgraded strings in pattern");
+        my $c = "\x{e5}\x{e5}";
+        utf8::downgrade($c);
+        like($c, $re, "mixed up-/downgraded pattern matches downgraded string");
+        utf8::upgrade($c);
+        like($c, $re, "mixed up-/downgraded pattern matches upgraded string");
+    }
+
+    {
+	# RT #119125
+	# the earlier fix for /[#](?{})/x, although correct, as a
+	# side-effect fixed another long-standing bug where /[#$x]/x
+	# didn't interpolate the var $x. Although fixing that is good,
+	# it's too big a change for maint, so keep the old buggy behaviour
+	# for now.
+
+	my $b = 'cd';
+	my $s = 'abcd$%#&';
+	$s =~ s/[a#$b%]/X/g;
+	is ($s, 'XbXX$XX&', 'RT #119125 without /x');
+	$s = 'abcd$%#&';
+	$s =~ s/[a#$b%]/X/gx;
+	is ($s, 'XXcdXXX&', 'RT #119125 with /x');
+    }
+
 } # End of sub run_tests
 
 1;


Property changes on: vendor/perl/dist/t/re/pat.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/pat_advanced.t
===================================================================
--- vendor/perl/dist/t/re/pat_advanced.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_advanced.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -789,6 +789,12 @@
     }
 
     {
+        # The second half of RT #114808
+        warning_is(sub {'aa' =~ /.+\x{100}/}, undef,
+                   'utf8-only floating substr, non-utf8 target, no warning');
+    }
+
+    {
         my $message = "qr /.../x";
         my $R = qr / A B C # D E/x;
         ok("ABCDE" =~    $R   && $& eq "ABC", $message);
@@ -829,15 +835,6 @@
     }
 
     {
-        # XXX DAPM 13-Apr-06. Recursive split is still broken. It's only luck it
-        # hasn't been crashing. Disable this test until it is fixed properly.
-        # XXX also check what it returns rather than just doing ok(1,...)
-        # split /(?{ split "" })/, "abc";
-        local $::TODO = "Recursive split is still broken";
-        ok 0, 'cache_re & "(?{": it dumps core in 5.6.1 & 5.8.0';
-    }
-
-    {
         ok "\x{100}\n" =~ /\x{100}\n$/, "UTF-8 length cache and fbm_compile";
     }
 
@@ -882,16 +879,16 @@
     }
 
     {
-        for (120 .. 130) {
+        for (120 .. 130, 240 .. 260) {
             my $head = 'x' x $_;
             my $message = q [Don't misparse \x{...} in regexp ] .
-                             q [near 127 char EXACT limit];
+                             q [near EXACT char count limit];
             for my $tail ('\x{0061}', '\x{1234}', '\x61') {
                 eval qq{like("$head$tail", qr/$head$tail/, \$message)};
 		is($@, '', $message);
             }
             $message = q [Don't misparse \N{...} in regexp ] .
-                             q [near 127 char EXACT limit];
+                             q [near EXACT char count limit];
             for my $tail ('\N{SNOWFLAKE}') {
                 eval qq {use charnames ':full';
                          like("$head$tail", qr/$head$tail/, \$message)};
@@ -980,6 +977,9 @@
         use Cname;
 
         ok 'fooB'  =~ /\N{foo}[\N{B}\N{b}]/, "Passthrough charname";
+        my $name = "foo\xDF";
+        my $result = eval "'A${name}B'  =~ /^A\\N{$name}B\$/";
+        ok !$@ && $result,  "Passthrough charname of non-ASCII, Latin1";
         #
         # Why doesn't must_warn work here?
         #
@@ -986,7 +986,7 @@
         my $w;
         local $SIG {__WARN__} = sub {$w .= "@_"};
         eval 'q(xxWxx) =~ /[\N{WARN}]/';
-        ok $w && $w =~ /Using just the first character returned by \\N{} in character class/,
+        ok $w && $w =~ /Using just the first character returned by \\N\{} in character class/,
                  "single character in [\\N{}] warning";
 
         undef $w;
@@ -994,6 +994,16 @@
                    "Zerolength charname in charclass doesn't match \\\\0"];
         ok $w && $w =~ /Ignoring zero length/,
                  'Ignoring zero length \N{} in character class warning';
+        undef $w;
+        eval q [ok 'xy' =~ /x[\N{EMPTY-STR} y]/x,
+                    'Empty string charname in [] is ignored; finds a following character'];
+        ok $w && $w =~ /Ignoring zero length/,
+                 'Ignoring zero length \N{} in character class warning';
+        undef $w;
+        eval q [ok 'x ' =~ /x[\N{EMPTY-STR} y]/,
+                    'Empty string charname in [] is ignored; finds a following blank under /x'];
+        ok $w && $w =~ /Ignoring zero length/,
+                 'Ignoring zero length \N{} in character class warning';
 
         ok 'AB'  =~ /(\N{EVIL})/ && $1 eq 'A', 'Charname caching $1';
         ok 'ABC' =~ /(\N{EVIL})/,              'Charname caching $1';
@@ -1004,6 +1014,37 @@
         ok "\N{LONG-STR}" =~ /^\N{LONG-STR}$/, 'Verify that long string works';
         ok "\N{LONG-STR}" =~ /^\N{LONG-STR}$/i, 'Verify under folding that long string works';
 
+        eval '/(?[[\N{EMPTY-STR}]])/';
+        ok $@ && $@ =~ /Zero length \\N\{}/;
+
+        undef $w;
+        eval q [is("\N{TOO  MANY SPACES}", "TOO  MANY SPACES", "Multiple spaces in character name works")];
+        like ($w, qr/A sequence of multiple spaces in a charnames alias definition is deprecated/, "... but returns a deprecation warning");
+        eval q [use utf8; is("\N{TOO  MANY SPACES}", "TOO  MANY SPACES", "Same under 'use utf8': they work")];
+        like ($w, qr/A sequence of multiple spaces in a charnames alias definition is deprecated/, "... but return a deprecation warning");
+        {
+            no warnings 'deprecated';
+            undef $w;
+            eval q ["\N{TOO  MANY SPACES}"];
+            ok (! defined $w, "... and no warning if warnings are off");
+            eval q [use utf8; "\N{TOO  MANY SPACES}"];
+            ok (! defined $w, "... same under 'use utf8'");
+        }
+
+        undef $w;
+        eval q [is("\N{TRAILING SPACE }", "TRAILING SPACE ", "Trailing space in character name works")];
+        like ($w, qr/Trailing white-space in a charnames alias definition is deprecated/, "... but returns a deprecation warning");
+        eval q [use utf8; is("\N{TRAILING SPACE }", "TRAILING SPACE ", "Same under 'use utf8': they work")];
+        like ($w, qr/Trailing white-space in a charnames alias definition is deprecated/, "... but returns a deprecation warning");
+        {
+            no warnings 'deprecated';
+            undef $w;
+            eval q ["\N{TRAILING SPACE }"];
+            ok (! defined $w, "... and no warning if warnings are off");
+            eval q [use utf8; "\N{TRAILING SPACE }"];
+            ok (! defined $w, "... same under 'use utf8'");
+        }
+
         # If remove the limitation in regcomp code these should work
         # differently
         undef $w;
@@ -1010,21 +1051,45 @@
         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';
-        undef $w;
         eval 'q() =~ /\N{4F}/';
-        ok $w && $w =~ /Deprecated/, 'Verify that leading digit in name gives warning';
-        undef $w;
+        ok $@ && $@ =~ /Invalid character/, 'Verify that leading digit in name gives error';
         eval 'q() =~ /\N{COM,MA}/';
-        ok $w && $w =~ /Deprecated/, 'Verify that comma in name gives warning';
-        undef $w;
-        my $name = "A\x{D7}O";
+        ok $@ && $@ =~ /Invalid character/, 'Verify that comma in name gives error';
+        $name = "A\x{D7}O";
         eval "q(W) =~ /\\N{$name}/";
-        ok $w && $w =~ /Deprecated/, 'Verify that latin1 symbol in name gives warning';
+        ok $@ && $@ =~ /Invalid character/, 'Verify that latin1 symbol in name gives error';
+        my $utf8_name = "7 CITIES OF GOLD";
+        utf8::upgrade($utf8_name);
+        eval "use utf8; q(W) =~ /\\N{$utf8_name}/";
+        ok $@ && $@ =~ /Invalid character/, 'Verify that leading digit in utf8 name gives error';
+        $utf8_name = "SHARP #";
+        utf8::upgrade($utf8_name);
+        eval "use utf8; q(W) =~ /\\N{$utf8_name}/";
+        ok $@ && $@ =~ /Invalid character/, 'Verify that ASCII symbol in utf8 name gives error';
+        $utf8_name = "A HOUSE \xF7 AGAINST ITSELF";
+        utf8::upgrade($utf8_name);
+        eval "use utf8; q(W) =~ /\\N{$utf8_name}/";
+        ok $@ && $@ =~ /Invalid character/, 'Verify that latin1 symbol in utf8 name gives error';
+        $utf8_name = "\x{664} HORSEMEN}";
+        eval "use utf8; q(W) =~ /\\N{$utf8_name}/";
+        ok $@ && $@ =~ /Invalid character/, 'Verify that leading above Latin1 digit in utf8 name gives error';
+        $utf8_name = "A \x{1F4A9} WOULD SMELL AS SWEET}";
+        eval "use utf8; q(W) =~ /\\N{$utf8_name}/";
+        ok $@ && $@ =~ /Invalid character/, 'Verify that above Latin1 symbol in utf8 name gives error';
+
         undef $w;
         $name = "A\x{D1}O";
         eval "q(W) =~ /\\N{$name}/";
         ok ! $w, 'Verify that latin1 letter in name doesnt give warning';
 
+        # This tests the code path that restarts the parse when the recursive
+        # call to S_reg() from within S_grok_bslash_N() discovers that the
+        # pattern needs to be recalculated as UTF-8.  use eval to avoid
+        # needing literal Unicode in this source file:
+        my $r = eval "qr/\\N{\x{100}\x{100}}/";
+        isnt $r, undef, "Generated regex for multi-char UTF-8 charname"
+	    or diag($@);
+        ok "\x{100}\x{100}" =~ $r, "which matches";
     }
 
     {
@@ -1521,11 +1586,14 @@
             my $ary = shift @$t;
             foreach my $pat (@$t) {
                 foreach my $str (@$ary) {
-                    ok $str =~ /($pat)/, $pat;
-                    is($1, $str, $pat);
+                    my $temp_str = $str;
+                    $temp_str = display($temp_str);
+                    ok $str =~ /($pat)/, $temp_str . " =~ /($pat)";
+                    my $temp_1 = $1;
+                    is($1, $str, "\$1='" . display($temp_1) . "' eq '" . $temp_str . "' after ($pat)");
                     utf8::upgrade ($str);
-                    ok $str =~ /($pat)/, "Upgraded string - $pat";
-                    is($1, $str, "Upgraded string - $pat");
+                    ok $str =~ /($pat)/, "Upgraded " . $temp_str . " =~ /($pat)/";
+                    is($1, $str, "\$1='" . display($temp_1) . "' eq '" . $temp_str . "'(upgraded) after ($pat)");
                 }
             }
         }
@@ -1585,7 +1653,7 @@
     {
         # Test for keys in %+ and %-
         my $message = 'Test keys in %+ and %-';
-        no warnings 'uninitialized';
+        no warnings 'uninitialized', 'deprecated', 'experimental::lexical_topic';
         my $_ = "abcdef";
         /(?<foo>a)|(?<foo>b)/;
         is((join ",", sort keys %+), "foo", $message);
@@ -1606,6 +1674,7 @@
 
     {
         # length() on captures, the numbered ones end up in Perl_magic_len
+        no warnings 'deprecated', 'experimental::lexical_topic';
         my $_ = "aoeu \xe6var ook";
         /^ \w+ \s (?<eek>\S+)/x;
 
@@ -1655,7 +1724,6 @@
 print ">$1<\n";
 EOP
 
-        local $::TODO = 'RT #86042';
         fresh_perl_is(<<'EOP', ">abc<\n", {}, 'no mention of $&');
 my $x; 
 ($x='abc')=~/(abc)/g; 
@@ -1740,10 +1808,11 @@
 
         my @isPunct = grep {/[[:punct:]]/ != /\p{IsPunct}/}
                             map {chr} 0x80 .. 0xff;
-        is(join ('', @isPunct), "\xa1\xab\xb7\xbb\xbf",    # ¡ « · » ¿
+        is(join ('', @isPunct), "\xa1\xa7\xab\xb6\xb7\xbb\xbf",    # ¡ « · » ¿
 	   'IsPunct disagrees with [:punct:] outside ASCII');
 
         my @isPunctLatin1 = eval q {
+            no warnings 'deprecated';
             use encoding 'latin1';
             grep {/[[:punct:]]/ != /\p{IsPunct}/} map {chr} 0x80 .. 0xff;
         };
@@ -2054,7 +2123,7 @@
                  (?<=[=&]) (?=.)
             )}iox';
 	is($@, '', $message);
-	isa_ok($r, 'Regexp', $message);
+	object_ok($r, 'Regexp', $message);
     }
 
     # RT #82610
@@ -2066,6 +2135,58 @@
         like("\xC0", $p, "Verify \"\\xC0\" =~ /[\\xE0_]/i; pattern in utf8");
     }
 
+    ok "x" =~ /\A(?>(?:(?:)A|B|C?x))\z/,
+        "Check TRIE does not overwrite EXACT following NOTHING at start - RT #111842";
+
+    {
+        my $single = ":";
+        my $upper = "\x{390}";  # Fold is 3 chars.
+        my $multi = CORE::fc($upper);
+
+        my $failed = 0;
+
+        # Try forcing a node to be split, with a multi-char fold at the
+        # boundary
+        for my $repeat (1 .. 300) {
+            my $string = $single x $repeat;
+            my $lhs = $string . $upper;
+            if ($lhs !~ m/$string$multi/i) {
+                $failed = $repeat;
+                last;
+            }
+        }
+        ok(! $failed, "Matched multi-char fold across EXACTFish node boundaries; if failed, was at count $failed");
+
+        $failed = 0;
+        for my $repeat (1 .. 300) {
+            my $string = $single x $repeat;
+            my $lhs = $string . "\N{LATIN SMALL LIGATURE FFI}";
+            if ($lhs !~ m/${string}ff\N{LATIN SMALL LETTER I}/i) {
+                $failed = $repeat;
+                last;
+            }
+        }
+        ok(! $failed, "Matched multi-char fold across EXACTFish node boundaries; if failed, was at count $failed");
+
+        $failed = 0;
+        for my $repeat (1 .. 300) {
+            my $string = $single x $repeat;
+            my $lhs = $string . "\N{LATIN SMALL LIGATURE FFL}";
+            if ($lhs !~ m/${string}ff\N{U+6c}/i) {
+                $failed = $repeat;
+                last;
+            }
+        }
+        ok(! $failed, "Matched multi-char fold across EXACTFish node boundaries; if failed, was at count $failed");
+    }
+
+    {
+        fresh_perl_is('print eval "\"\x{101}\" =~ /[[:lower:]]/", "\n"; print eval "\"\x{100}\" =~ /[[:lower:]]/i", "\n";',
+                      "1\n1",   # Both re's should match
+                      "",
+                      "get [:lower:] swash in first eval; test under /i in second");
+    }
+
     #
     # Keep the following tests last -- they may crash perl
     #
@@ -2112,6 +2233,62 @@
         unlike("s\N{U+DF}", qr/^\x{00DF}/i, "\"s\\N{U+DF}\", qr/^\\x{00DF}/i");
     }
 
+    # User-defined Unicode properties to match above-Unicode code points
+    sub Is_32_Bit_Super { return "110000\tFFFFFFFF\n" }
+    sub Is_Portable_Super { return '!utf8::Any' }   # Matches beyond 32 bits
+
+    {   # Assertion was failing on on 64-bit platforms; just didn't work on 32.
+        no warnings qw(non_unicode portable);
+        use Config;
+
+        # We use 'ok' instead of 'like' because the warnings are lexically
+        # scoped, and want to turn them off, so have to do the match in this
+        # scope
+        if ($Config{uvsize} < 8) {
+            ok(chr(0xFFFF_FFFE) =~ /\p{Is_32_Bit_Super}/,
+                            "chr(0xFFFF_FFFE) can match a Unicode property");
+            ok(chr(0xFFFF_FFFF) =~ /\p{Is_32_Bit_Super}/,
+                            "chr(0xFFFF_FFFF) can match a Unicode property");
+            my $p = qr/^[\x{FFFF_FFFF}]$/;
+            ok(chr(0xFFFF_FFFF) =~ $p,
+                    "chr(0xFFFF_FFFF) can match itself in a [class]");
+            ok(chr(0xFFFF_FFFF) =~ $p, # Tests any caching
+                    "chr(0xFFFF_FFFF) can match itself in a [class] subsequently");
+        }
+        else {
+            no warnings 'overflow';
+            ok(chr(0xFFFF_FFFF_FFFF_FFFE) =~ qr/\p{Is_Portable_Super}/,
+                    "chr(0xFFFF_FFFF_FFFF_FFFE) can match a Unicode property");
+            ok(chr(0xFFFF_FFFF_FFFF_FFFF) =~ qr/^\p{Is_Portable_Super}$/,
+                    "chr(0xFFFF_FFFF_FFFF_FFFF) can match a Unicode property");
+
+            my $p = qr/^[\x{FFFF_FFFF_FFFF_FFFF}]$/;
+            ok(chr(0xFFFF_FFFF_FFFF_FFFF) =~ $p,
+                    "chr(0xFFFF_FFFF_FFFF_FFFF) can match itself in a [class]");
+            ok(chr(0xFFFF_FFFF_FFFF_FFFF) =~ $p, # Tests any caching
+                    "chr(0xFFFF_FFFF_FFFF_FFFF) can match itself in a [class] subsequently");
+
+            # This test is because something was declared as 32 bits, but
+            # should have been cast to 64; only a problem where
+            # sizeof(STRLEN) != sizeof(UV)
+            ok(chr(0xFFFF_FFFF_FFFF_FFFE) !~ qr/\p{Is_32_Bit_Super}/, "chr(0xFFFF_FFFF_FFFF_FFFE) shouldn't match a range ending in 0xFFFF_FFFF");
+        }
+    }
+
+    { # [perl #112530], the code below caused a panic
+        sub InFoo { "a\tb\n9\ta\n" }
+        like("\n", qr/\p{InFoo}/,
+                            "Overlapping ranges in user-defined properties");
+    }
+
+    { # Regexp:Grammars was broken:
+  # http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/2013-06/msg01290.html
+        fresh_perl_like('use warnings; "abc" =~ qr{(?&foo){0}abc(?<foo>)}',
+                        'Quantifier unexpected on zero-length expression',
+                        "",
+                        'No segfault on qr{(?&foo){0}abc(?<foo>)}');
+    }
+
     # !!! NOTE that tests that aren't at all likely to crash perl should go
     # a ways above, above these last ones.
 


Property changes on: vendor/perl/dist/t/re/pat_advanced.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/re/pat_advanced_thr.t
===================================================================
--- vendor/perl/dist/t/re/pat_advanced_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_advanced_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/pat_advanced_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/pat_psycho.t
===================================================================
--- vendor/perl/dist/t/re/pat_psycho.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_psycho.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,6 +3,9 @@
 # This is a home for regular expression tests that don't fit into
 # the format supported by re/regexp.t.  If you want to add a test
 # that does fit that format, add it to re/re_tests, not here.
+#
+# this file includes test that my burn a lot of CPU or otherwise be heavy
+# on resources. Set env var $PERL_SKIP_PSYCHO_TEST to skip this file
 
 use strict;
 use warnings;
@@ -21,7 +24,8 @@
 }
 
 
-plan tests => 11;  # Update this when adding/deleting tests.
+skip_all('$PERL_SKIP_PSYCHO_TEST set') if $ENV{PERL_SKIP_PSYCHO_TEST};
+plan tests => 15;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
@@ -29,16 +33,17 @@
 # Tests start here.
 #
 sub run_tests {
+    print "# Set PERL_SKIP_PSYCHO_TEST to skip these tests\n";
 
-  SKIP:
     {
-        print "# Set PERL_SKIP_PSYCHO_TEST to skip this test\n";
+
+	# stress test tries
+
         my @normal = qw [the are some normal words];
 
-        skip "Skipped Psycho", 2 * @normal if $ENV {PERL_SKIP_PSYCHO_TEST};
-
         local $" = "|";
 
+	note "setting up trie psycho vars ...";
         my @psycho = (@normal, map chr $_, 255 .. 20000);
         my $psycho1 = "@psycho";
         for (my $i = @psycho; -- $i;) {
@@ -48,13 +53,12 @@
         my $psycho2 = "@psycho";
 
         foreach my $word (@normal) {
-            ok $word =~ /($psycho1)/ && $1 eq $word, 'Psycho';
-            ok $word =~ /($psycho2)/ && $1 eq $word, 'Psycho';
+            ok $word =~ /($psycho1)/ && $1 eq $word, qq{"$word" =~ /\$psycho1/};
+            ok $word =~ /($psycho2)/ && $1 eq $word, qq{"$word" =~ /\$psycho1/};
         }
     }
 
 
-  SKIP:
     {
         # stress test CURLYX/WHILEM.
         #
@@ -63,8 +67,6 @@
         # CURLYX and WHILEM blocks, except those related to LONGJMP, the
         # super-linear cache and warnings. It executes about 0.5M regexes
 
-        skip "No psycho tests" if $ENV {PERL_SKIP_PSYCHO_TEST};
-        print "# Set PERL_SKIP_PSYCHO_TEST to skip this test\n";
         my $r = qr/^
                     (?:
                         ( (?:a|z+)+ )
@@ -158,6 +160,49 @@
         }
         ok($ok, $msg);
     }
+
+
+    {
+	# these bits of test code used to run quadratically. If we break
+	# anything, they'll start to take minutes to run, rather than
+	# seconds. We don't actually measure times or set alarms, since
+	# that tends to be very fragile and prone to false positives.
+	# Instead, just hope that if someone is messing with
+	# performance-related code, they'll re-run the test suite and
+	# notice it suddenly takes a lot longer.
+
+	my $x;
+
+	$x = 'x' x 1_000_000;
+	1 while $x =~ /(.)/g;
+	pass "ascii =~ /(.)/";
+
+	{
+	    local ${^UTF8CACHE} = 1; # defeat debugging
+	    $x = "\x{100}" x 1_000_000;
+	    1 while $x =~ /(.)/g;
+	    pass "utf8 =~ /(.)/";
+	}
+
+	# run these in separate processes, since they set $&
+
+        fresh_perl_is(<<'EOF', "ok\n", {}, 'ascii =~ /(.)/, mention $&');
+$&;
+$x = 'x' x 1_000_000;
+1 while $x =~ /(.)/g;
+print "ok\n";
+EOF
+
+        fresh_perl_is(<<'EOF', "ok\n", {}, 'utf8 =~ /(.)/, mention $&');
+$&;
+local ${^UTF8CACHE} = 1; # defeat debugging
+$x = "\x{100}" x 1_000_000;
+1 while $x =~ /(.)/g;
+print "ok\n";
+EOF
+
+
+    }
 } # End of sub run_tests
 
 1;


Property changes on: vendor/perl/dist/t/re/pat_psycho.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/pat_psycho_thr.t
===================================================================
--- vendor/perl/dist/t/re/pat_psycho_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_psycho_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/pat_psycho_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/pat_re_eval.t
===================================================================
--- vendor/perl/dist/t/re/pat_re_eval.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_re_eval.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,6 +6,7 @@
 
 use strict;
 use warnings;
+use Config;
 use 5.010;
 
 
@@ -22,10 +23,16 @@
 }
 
 
-plan tests => 123;  # Update this when adding/deleting tests.
+plan tests => 519;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
+# test that runtime code without 'use re eval' is trapped
+
+sub norun {
+    like($@, qr/Eval-group not allowed at runtime/, @_);
+}
+
 #
 # Tests start here.
 #
@@ -42,12 +49,17 @@
 
         undef $@;
         eval {/$c/};
-        like($@, qr/not allowed at runtime/, $message);
+	norun("$message norun 1");
 
-        use re "eval";
-        /$a$c$a/;
-        is($b, '14', $message);
 
+        {
+	    eval {/$a$c$a/};
+	    norun("$message norun 2");
+	    use re "eval";
+	    /$a$c$a/;
+	    is($b, '14', $message);
+	}
+
         our $lex_a = 43;
         our $lex_b = 17;
         our $lex_c = 27;
@@ -57,9 +69,9 @@
         is($lex_a, 44, $message);
         is($lex_c, 43, $message);
 
-        no re "eval";
         undef $@;
-        my $match = eval { /$a$c$a/ };
+        my $d = '(?{1})';
+        my $match = eval { /$a$c$a$d/ };
         ok($@ && $@ =~ /Eval-group not allowed/ && !$match, $message);
         is($b, '14', $message);
 
@@ -92,7 +104,6 @@
         is(length qr /##/x, 9, "## in qr // doesn't corrupt memory; Bug 17776");
 
         {
-            use re 'eval';
             ok "$x$x" =~ /^$x(??{$x})\z/,
                "Postponed UTF-8 string in UTF-8 re matches UTF-8";
             ok "$y$x" =~ /^$y(??{$x})\z/,
@@ -116,8 +127,7 @@
 
 
     {
-        use re 'eval';
-        # Test if $^N and $+ work in (?{{})
+        # Test if $^N and $+ work in (?{})
         our @ctl_n = ();
         our @plus = ();
         our $nested_tags;
@@ -170,9 +180,6 @@
     }
 
     {
-        use re 'eval';
-
-
         our $f;
         local $f;
         $f = sub {
@@ -312,11 +319,8 @@
             is("@plus", $test->[3], "plus $c; Bug 56194");
             is($str, $test->[4], "str $c; Bug 56194");
         }
-        SKIP: {
-            if ($] le '5.010') {
-                skip "test segfaults on perl < 5.10", 4;
-            }
 
+        {
             @ctl_n = ();
             @plus = ();
 
@@ -342,6 +346,837 @@
        }
     }
 
+    {
+	# re evals within \U, \Q etc shouldn't be seen by the lexer
+	local our $a  = "i";
+	local our $B  = "J";
+	ok('(?{1})' =~ /^\Q(?{1})\E$/,   '\Q(?{1})\E');
+	ok('(?{1})' =~ /^\Q(?{\E1\}\)$/, '\Q(?{\E1\}\)');
+	eval {/^\U(??{"$a\Ea"})$/ }; norun('^\U(??{"$a\Ea"})$ norun');
+	eval {/^\L(??{"$B\Ea"})$/ }; norun('^\L(??{"$B\Ea"})$ norun');
+	use re 'eval';
+	ok('Ia' =~ /^\U(??{"$a\Ea"})$/,  '^\U(??{"$a\Ea"})$');
+	ok('ja' =~ /^\L(??{"$B\Ea"})$/,  '^\L(??{"$B\Ea"})$');
+    }
+
+    {
+	# Comprehensive (hopefully) tests of closure behaviour:
+	# i.e. when do (?{}) blocks get (re)compiled, and what instances
+	# of lexical vars do they close over?
+
+	# if the pattern string gets utf8 upgraded while concatenating,
+	# make sure a literal code block is still detected (by still
+	# compiling in the absence of use re 'eval')
+
+	{
+	    my $s1 = "\x{80}";
+	    my $s2 = "\x{100}";
+	    ok("\x{80}\x{100}" =~ /^$s1(?{1})$s2$/, "utf8 upgrade");
+	}
+
+	my ($cr1, $cr2, $cr3, $cr4);
+
+	for my $x (qw(a b c)) {
+	    my $bc = ($x ne 'a');
+	    my $c80 = chr(0x80);
+
+	    # the most basic: literal code should be in same scope
+	    # as the parent
+
+	    ok("A$x"       =~ /^A(??{$x})$/,       "[$x] literal code");
+	    ok("\x{100}$x" =~ /^\x{100}(??{$x})$/, "[$x] literal code UTF8");
+
+	    # the "don't recompile if pattern unchanged" mechanism
+	    # shouldn't apply to code blocks - recompile every time
+	    # to pick up new instances of variables
+
+	    my $code1  = 'B(??{$x})';
+	    my $code1u = $c80 . "\x{100}" . '(??{$x})';
+
+	    eval {/^A$code1$/};
+	    norun("[$x] unvarying runtime code AA norun");
+	    eval {/^A$code1u$/};
+	    norun("[$x] unvarying runtime code AU norun");
+	    eval {/^$c80\x{100}$code1$/};
+	    norun("[$x] unvarying runtime code UA norun");
+	    eval {/^$c80\x{101}$code1u$/};
+	    norun("[$x] unvarying runtime code UU norun");
+
+	    {
+		use re 'eval';
+		ok("AB$x" =~ /^A$code1$/, "[$x] unvarying runtime code AA");
+		ok("A$c80\x{100}$x" =~ /^A$code1u$/,
+					    "[$x] unvarying runtime code AU");
+		ok("$c80\x{100}B$x" =~ /^$c80\x{100}$code1$/,
+					    "[$x] unvarying runtime code UA");
+		ok("$c80\x{101}$c80\x{100}$x" =~ /^$c80\x{101}$code1u$/,
+					    "[$x] unvarying runtime code UU");
+	    }
+
+	    # mixed literal and run-time code blocks
+
+	    my $code2  = 'B(??{$x})';
+	    my $code2u = $c80 . "\x{100}" . '(??{$x})';
+
+	    eval {/^A(??{$x})-$code2$/};
+	    norun("[$x] literal+runtime AA norun");
+	    eval {/^A(??{$x})-$code2u$/};
+	    norun("[$x] literal+runtime AU norun");
+	    eval {/^$c80\x{100}(??{$x})-$code2$/};
+	    norun("[$x] literal+runtime UA norun");
+	    eval {/^$c80\x{101}(??{$x})-$code2u$/};
+	    norun("[$x] literal+runtime UU norun");
+
+	    {
+		use re 'eval';
+		ok("A$x-B$x" =~ /^A(??{$x})-$code2$/,
+					    "[$x] literal+runtime AA");
+		ok("A$x-$c80\x{100}$x" =~ /^A(??{$x})-$code2u$/,
+					    "[$x] literal+runtime AU");
+		ok("$c80\x{100}$x-B$x" =~ /^$c80\x{100}(??{$x})-$code2$/,
+					    "[$x] literal+runtime UA");
+		ok("$c80\x{101}$x-$c80\x{100}$x"
+					    =~ /^$c80\x{101}(??{$x})-$code2u$/,
+					    "[$x] literal+runtime UU");
+	    }
+
+	    # literal qr code only created once, naked
+
+	    $cr1 //= qr/^A(??{$x})$/;
+	    ok("Aa" =~ $cr1, "[$x] literal qr once naked");
+
+	    # literal qr code only created once, embedded with text
+
+	    $cr2 //= qr/B(??{$x})$/;
+	    ok("ABa" =~ /^A$cr2/, "[$x] literal qr once embedded text");
+
+	    # literal qr code only created once, embedded with text + lit code
+
+	    $cr3 //= qr/C(??{$x})$/;
+	    ok("A$x-BCa" =~ /^A(??{$x})-B$cr3/,
+			    "[$x] literal qr once embedded text + lit code");
+
+	    # literal qr code only created once, embedded with text + run code
+
+	    $cr4 //= qr/C(??{$x})$/;
+	    my $code3 = 'A(??{$x})';
+
+	    eval {/^$code3-B$cr4/};
+	    norun("[$x] literal qr once embedded text + run code norun");
+	    {
+		use re 'eval';
+		ok("A$x-BCa" =~ /^$code3-B$cr4/,
+			    "[$x] literal qr once embedded text + run code");
+	    }
+
+	    # literal qr code, naked
+
+	    my $r1 = qr/^A(??{$x})$/;
+	    ok("A$x" =~ $r1, "[$x] literal qr naked");
+
+	    # literal qr code, embedded with text
+
+	    my $r2 = qr/B(??{$x})$/;
+	    ok("AB$x" =~ /^A$r2/, "[$x] literal qr embedded text");
+
+	    # literal qr code, embedded with text + lit code
+
+	    my $r3 = qr/C(??{$x})$/;
+	    ok("A$x-BC$x" =~ /^A(??{$x})-B$r3/,
+				"[$x] literal qr embedded text + lit code");
+
+	    # literal qr code, embedded with text + run code
+
+	    my $r4 = qr/C(??{$x})$/;
+	    my $code4 = '(??{$x})';
+
+	    eval {/^A$code4-B$r4/};
+	    norun("[$x] literal qr embedded text + run code");
+	    {
+		use re 'eval';
+		ok("A$x-BC$x" =~ /^A$code4-B$r4/,
+				"[$x] literal qr embedded text + run code");
+	    }
+
+	    # nested qr in different scopes
+
+	    my $code5 = '(??{$x})';
+	    my $r5 = qr/C(??{$x})/;
+
+	    my $r6;
+	    eval {qr/$code5-C(??{$x})/}; norun("r6 norun");
+	    {
+		use re 'eval';
+		$r6 = qr/$code5-C(??{$x})/;
+	    }
+
+	    my @rr5;
+	    my @rr6;
+
+	    for my $y (qw(d e f)) {
+
+		my $rr5 = qr/^A(??{"$x$y"})-$r5/;
+		push @rr5, $rr5;
+		ok("A$x$y-C$x" =~ $rr5,
+				"[$x-$y] literal qr + r5");
+
+		my $rr6 = qr/^A(??{"$x$y"})-$r6/;
+		push @rr6, $rr6;
+		ok("A$x$y-$x-C$x" =~ $rr6,
+				"[$x-$y] literal qr + r6");
+	    }
+
+	    for my $i (0,1,2) {
+		my $y = 'Y';
+		my $yy = (qw(d e f))[$i];
+		my $rr5 = $rr5[$i];
+		ok("A$x$yy-C$x" =~ $rr5, "[$x-$yy] literal qr + r5, outside");
+		ok("A$x$yy-C$x-D$x" =~ /$rr5-D(??{$x})$/,
+				"[$x-$yy] literal qr + r5 + lit, outside");
+
+
+		my $rr6 = $rr6[$i];
+		push @rr6, $rr6;
+		ok("A$x$yy-$x-C$x" =~ $rr6,
+				"[$x-$yy] literal qr + r6, outside");
+		ok("A$x$yy-$x-C$x-D$x" =~ /$rr6-D(??{$x})/,
+				"[$x-$yy] literal qr + r6 +lit, outside");
+	    }
+	}
+
+	# recursive subs should get lexical from the correct pad depth
+
+	sub recurse {
+	    my ($n) = @_;
+	    return if $n > 2;
+	    ok("A$n" =~ /^A(??{$n})$/, "recurse($n)");
+	    recurse($n+1);
+	}
+	recurse(0);
+
+	# for qr// containing run-time elements but with a compile-time
+	# code block, make sure the run-time bits are executed in the same
+	# pad they were compiled in
+	{
+	    my $a = 'a'; # ensure outer and inner pads don't align
+	    my $b = 'b';
+	    my $c = 'c';
+	    my $d = 'd';
+	    my $r = qr/^$b(??{$c})$d$/;
+	    ok("bcd" =~ $r, "qr with run-time elements and code block");
+	}
+
+	# check that cascaded embedded regexes all see their own lexical
+	# environment
+
+	{
+	    my ($r1, $r2, $r3, $r4);
+	    my ($x1, $x2, $x3, $x4) = (5,6,7,8);
+	    { my $x1 = 1; $r1 = qr/A(??{$x1})/; }
+	    { my $x2 = 2; $r2 = qr/$r1(??{$x2})/; }
+	    { my $x3 = 3; $r3 = qr/$r2(??{$x3})/; }
+	    { my $x4 = 4; $r4 = qr/$r3(??{$x4})/; }
+	    ok("A1234" =~ /^$r4$/, "cascaded qr");
+	}
+
+	# and again, but in a loop, with no external references
+	# being maintained to the qr's
+
+	{
+	    my $r = 'A';
+	    for my $x (1..4) {
+		$r = qr/$r(??{$x})/;
+	    }
+	    my $x = 5;
+	    ok("A1234" =~ /^$r$/, "cascaded qr loop");
+	}
+
+
+	# and again, but compiling the qrs in an eval so there
+	# aren't even refs to the qrs from any ops
+
+	{
+	    my $r = 'A';
+	    for my $x (1..4) {
+		$r = eval q[ qr/$r(??{$x})/; ];
+	    }
+	    my $x = 5;
+	    ok("A1234" =~ /^$r$/, "cascaded qr loop");
+	}
+
+	# have qrs with either literal code blocks or only embedded
+	# code blocks, but not both
+
+	{
+	    my ($r1, $r2, $r3, $r4);
+	    my ($x1, $x3) = (7,8);
+	    { my $x1 = 1; $r1 = qr/A(??{$x1})/; }
+	    {             $r2 = qr/${r1}2/; }
+	    { my $x3 = 3; $r3 = qr/$r2(??{$x3})/; }
+	    {             $r4 = qr/${r3}4/; }
+	    ok("A1234"  =~   /^$r4$/,    "cascaded qr mix 1");
+	    ok("A12345" =~   /^${r4}5$/, "cascaded qr mix 2");
+	    ok("A1234"  =~ qr/^$r4$/   , "cascaded qr mix 3");
+	    ok("A12345" =~ qr/^${r4}5$/, "cascaded qr mix 4");
+	}
+
+	# and make sure things are freed at the right time
+
+        SKIP: {
+            if ($Config{mad}) {
+                skip "MAD doesn't free eval CVs", 3;
+	    }
+
+	    {
+		sub Foo99::DESTROY { $Foo99::d++ }
+		$Foo99::d = 0;
+		my $r1;
+		{
+		    my $x = bless [1], 'Foo99';
+		    $r1 = eval 'qr/(??{$x->[0]})/';
+		}
+		my $r2 = eval 'qr/a$r1/';
+		my $x = 2;
+		ok(eval '"a1" =~ qr/^$r2$/', "match while in scope");
+		# make sure PL_reg_curpm isn't holding on to anything
+		"a" =~ /a(?{1})/;
+		is($Foo99::d, 0, "before scope exit");
+	    }
+	    ::is($Foo99::d, 1, "after scope exit");
+	}
+
+	# forward declared subs should Do The Right Thing with any anon CVs
+	# within them (i.e. pad_fixup_inner_anons() should work)
+
+	sub forward;
+	sub forward {
+	    my $x = "a";
+	    my $A = "A";
+	    ok("Aa" =~ qr/^A(??{$x})$/,  "forward qr compiletime");
+	    ok("Aa" =~ qr/^$A(??{$x})$/, "forward qr runtime");
+	}
+	forward;
+    }
+
+    # test that run-time embedded code, when re-fed into toker,
+    # does all the right escapes
+
+    {
+	my $enc = eval 'use Encode; find_encoding("ascii")';
+
+	my $x = 0;
+	my $y = 'bad';
+
+	# note that most of the strings below are single-quoted, and the
+	# things within them, like '$y', *aren't* intended to interpolate
+
+	my $s1 =
+	    'a\\$y(?# (??{BEGIN{$x=1} "X1"})b(?# \Ux2\E)c\'d\\\\e\\\\Uf\\\\E';
+
+	ok(q{a$ybc'd\e\Uf\E} =~ /^$s1$/, "reparse");
+	is($x, 0, "reparse no BEGIN");
+
+	my $s2 = 'g\\$y# (??{{BEGIN{$x=2} "X3"}) \Ux3\E'  . "\nh";
+
+	ok(q{a$ybc'd\\e\\Uf\\Eg$yh} =~ /^$s1$s2$/x, "reparse /x");
+	is($x, 0, "reparse /x no BEGIN");
+
+	my $b = '\\';
+	my $q = '\'';
+
+	#  non-ascii in string as "<0xNNN>"
+	sub esc_str {
+	    my $s = shift;
+	    $s =~ s{(.)}{
+			my $c = ord($1);
+			($c< 32 || $c > 127) ? sprintf("<0x%x>", $c) : $1;
+		}ge;
+	    $s;
+	}
+	sub  fmt { sprintf "hairy backslashes %s [%s] =~ /^%s/",
+			$_[0], esc_str($_[1]), esc_str($_[2]);
+	}
+
+
+	for my $u (
+	    [ '',  '', 'blank ' ],
+	    [ "\x{100}", '\x{100}', 'single' ],
+	    [ "\x{100}", "\x{100}", 'double' ])
+	{
+	    for my $pair (
+		    [ "$b",        "$b$b"               ],
+		    [ "$q",        "$q"                 ],
+		    [ "$b$q",      "$b$b$b$q"           ],
+		    [ "$b$b$q",    "$b$b$b$b$q"         ],
+		    [ "$b$b$b$q",  "$b$b$b$b$b$b$q"     ],
+		    [ "$b$b$b$b$q","$b$b$b$b$b$b$b$b$q" ],
+	    ) {
+		my ($s, $r) = @$pair;
+		$s = "9$s";
+		my $ss = "$u->[0]$s";
+
+		my $c = '9' . $r;
+		my $cc = "$u->[1]$c";
+
+		ok($ss =~ /^$cc/, fmt("plain      $u->[2]", $ss, $cc));
+
+		no strict;
+		my $chr41 = "\x41";
+		$ss = "$u->[0]\t${q}$chr41${b}x42$s";
+		$nine = $nine = "bad";
+		for my $use_qr ('', 'qr') {
+		    $c =  qq[(??{my \$z='{';]
+			. qq[$use_qr"$b${b}t$b$q$b${b}x41$b$b$b${b}x42"]
+			. qq[. \$nine})];
+		    # (??{ qr/str/ }) goes through one less interpolation
+		    # stage than  (??{ qq/str/ })
+		    $c =~ s{\\\\}{\\}g if ($use_qr eq 'qr');
+		    $c .= $r;
+		    $cc = "$u->[1]$c";
+		    my $nine = 9;
+
+		    eval {/^$cc/}; norun(fmt("code   norun $u->[2]", $ss, $cc));
+		    {
+			use re 'eval';
+			ok($ss =~ /^$cc/, fmt("code         $u->[2]", $ss, $cc));
+		    }
+
+		    {
+			# Poor man's "use encoding 'ascii'".
+			# This causes a different code path in S_const_str()
+			# to be used
+			local ${^ENCODING} = $enc;
+			use re 'eval';
+			ok($ss =~ /^$cc/, fmt("encode       $u->[2]", $ss, $cc));
+		    }
+		}
+	    }
+	}
+
+	my $code1u = "(??{qw(\x{100})})";
+	eval {/^$code1u$/}; norun("reparse embeded unicode norun");
+	{
+	    use re 'eval';
+	    ok("\x{100}" =~ /^$code1u$/, "reparse embeded unicode");
+	}
+    }
+
+    # a non-pattern literal won't get code blocks parsed at compile time;
+    # but they must get parsed later on if 'use re eval' is in scope
+    # also check that unbalanced {}'s are parsed ok
+
+    {
+	eval q["a{" =~ '^(??{"a{"})$'];
+	norun("non-pattern literal code norun");
+	eval {/^${\'(??{"a{"})'}$/};
+	norun("runtime code with unbalanced {} norun");
+
+	use re 'eval';
+	ok("a{" =~ '^a(??{"{"})$', "non-pattern literal code");
+	ok("a{" =~ /^a${\'(??{"{"})'}$/, "runtime code with unbalanced {}");
+    }
+
+    # make sure warnings come from the right place
+
+    {
+	use warnings;
+	my ($s, $t, $w);
+	local $SIG{__WARN__} = sub { $w .= "@_" };
+
+	$w = ''; $s = 's';
+	my $r = qr/(?{$t=$s+1})/;
+	"a" =~ /a$r/;
+	like($w, qr/pat_re_eval/, "warning main file");
+
+	# do it in an eval to get predictable line numbers
+	eval q[
+
+	    $r = qr/(?{$t=$s+1})/;
+	];
+	$w = ''; $s = 's';
+	"a" =~ /a$r/;
+	like($w, qr/ at \(eval \d+\) line 3/, "warning eval A");
+
+	$w = ''; $s = 's';
+	eval q[
+	    use re 'eval';
+	    my $c = '(?{$t=$s+1})';
+	    "a" =~ /a$c/;
+	    1;
+	];
+	like($w, qr/ at \(eval \d+\) line 1/, "warning eval B");
+    }
+
+    # jumbo test for:
+    # * recursion;
+    # * mixing all the different types of blocks (literal, qr/literal/,
+    #   runtime);
+    # * backtracking (the Z+ alternation ensures CURLYX and full
+    #   scope popping on backtracking)
+
+    {
+        sub recurse2 {
+            my ($depth)= @_;
+	    return unless $depth;
+            my $s1 = '3-LMN';
+            my $r1 = qr/(??{"$s1-$depth"})/;
+
+	    my $s2 = '4-PQR';
+            my $c1 = '(??{"$s2-$depth"})';
+            use re 'eval';
+	    ok(   "<12345-ABC-$depth-123-LMN-$depth-1234-PQR-$depth>"
+	        . "<12345-ABC-$depth-123-LMN-$depth-1234-PQR-$depth>"
+		=~
+		  /^<(\d|Z+)+(??{"45-ABC-$depth-"})(\d|Z+)+$r1-\d+$c1>
+		    <(\d|Z+)+(??{"45-ABC-$depth-"})(\d|Z+)+$r1-\d+$c1>$/x,
+		"recurse2($depth)");
+	    recurse2($depth-1);
+	}
+	recurse2(5);
+    }
+
+    # nested (??{}) called from various levels of a recursive function
+
+    {
+	sub recurse3 {
+	    my ($n) = @_;
+	    return if $n > 3;
+	    ok("A$n" =~ m{^A(??{ "0123" =~ /((??{$n}))/; $1 })$},
+		"recurse3($n)");
+	    ok("A$n" !~ m{^A(??{ "0123" =~ /((??{$n}))/; "X" })$},
+		"recurse3($n) nomatch");
+	    recurse3($n+1);
+	}
+	recurse3(0);
+    }
+
+    # nested (??{}) being invoked recursively via a function
+
+    {
+	my $s = '';
+	our $recurse4;
+	my @alpha = qw(A B C D E);
+	$recurse4 = sub {
+	    my ($n) = @_;
+	    $s .= "(n=$n:";
+	    if ($n < 4) {
+		my $m = ("$alpha[$n]" . substr("0123", 0, $n+1)) =~
+		    m{^([A-Z])
+		      (??{
+			    $s .= "1=$1:";
+			    "$n-0123" =~ m{^(\d)-(((??{$recurse4->($n+1)})))};
+			    $s .= "i1=$1:<=[$2]";
+			    $3; # NB - not stringified
+		       })
+		       $
+		     }x;
+		$s .= "1a=$1:";
+		$s .= $m ? 'M' : '!M';
+	    }
+	    my $ret =  '.*?' . ($n-1);
+	    $s .= "<=[$ret])";
+	    return $ret;
+	};
+	$recurse4->(0);
+	my $exp =   '(n=0:1=A:(n=1:1=B:(n=2:1=C:(n=3:1=D:(n=4:<=[.*?3])'
+		  . 'i1=3:<=[0123]1a=D:M<=[.*?2])i1=2:<=[012]1a=C:M<=[.*?1])'
+		  . 'i1=1:<=[01]1a=B:M<=[.*?0])i1=0:<=[0]1a=A:M<=[.*?-1])';
+	is($s, $exp, 'recurse4');
+    }
+
+    # single (??{}) being invoked recursively via a function
+
+    {
+	my $s = '';
+	our $recurse5;
+	my @alpha = qw(A B C D E);
+	$recurse5 = sub {
+	    my ($n) = @_;
+	    $s .= "(n=$n:";
+	    if ($n < 4) {
+		my $m = ("$alpha[$n]" . substr("0123", 0, $n+1)) =~
+		    m{^([A-Z])
+		      ((??{
+			    $s .= "1=$1:";
+			    $recurse5->($n+1);
+		       }))
+		       $
+		     }x;
+		$s .= "1a=$1:2=$2:";
+		$s .= $m ? 'M' : '!M';
+	    }
+	    my $ret =  '.*?' . ($n-1);
+	    $s .= "<=[$ret])";
+	    return $ret;
+	};
+	$recurse5->(0);
+	my $exp =   '(n=0:1=A:(n=1:1=B:(n=2:1=C:(n=3:1=D:(n=4:<=[.*?3])'
+		  . '1a=D:2=0123:M<=[.*?2])1a=C:2=012:M<=[.*?1])'
+		  . '1a=B:2=01:M<=[.*?0])1a=A:2=0:M<=[.*?-1])';
+	is($s, $exp, 'recurse5');
+    }
+
+
+    # make sure that errors during compiling run-time code get trapped
+
+    {
+	use re 'eval';
+
+	my $code = '(?{$x=})';
+	eval { "a" =~ /^a$code/ };
+	like($@, qr/syntax error at \(eval \d+\) line \d+/, 'syntax error');
+
+	$code = '(?{BEGIN{die})';
+	eval { "a" =~ /^a$code/ };
+	like($@,
+	    qr/BEGIN failed--compilation aborted at \(eval \d+\) line \d+/,
+	    'syntax error');
+    }
+
+    # make sure that 'use re eval' is propagated into compiling the
+    # pattern returned by (??{})
+
+    {
+	use re 'eval';
+	my $pat = 'B(??{1})C';
+	my $A = 'A';
+	# compile-time outer code-block
+	ok("AB1CD" =~ /^A(??{$pat})D$/, "re eval propagated compile-time");
+	# run-time outer code-block
+	ok("AB1CD" =~ /^$A(??{$pat})D$/, "re eval propagated run-time");
+    }
+
+    # returning a ref to something that had set magic but wasn't
+    # PERL_MAGIC_qr triggered a false positive assertion failure
+    # The test is not so much concerned with it not matching,
+    # as with not failing the assertion
+
+    {
+	ok("a" !~ /^(a)(??{ \$1 })/, '(??{ ref })');
+    }
+
+    # make sure the uninit warning from returning an undef var
+    # sees the right var
+
+    {
+	my ($u1, $u2);
+	my $warn = '';
+	local $SIG{__WARN__} = sub {  $warn .= $_[0] };
+	$u1 =~ /(??{$u2})/ or die;
+	like($warn, qr/value \$u1 in pattern match.*\n.*value at/, 'uninit');
+    }
+
+    # test that code blocks are called in scalar context
+
+    {
+	my @a = (0);
+	ok("" =~ /^(?{@a})$/, '(?{}) in scalar context');
+	is($^R, 1, '(?{}) in scalar context: $^R');
+	ok("1" =~ /^(??{@a})$/, '(??{}) in scalar context');
+	ok("foo" =~ /^(?(?{@a})foo|bar)$/, '(?(?{})|) in scalar context');
+    }
+
+    # BEGIN in compiled blocks shouldn't mess with $1 et al
+
+    {
+	use re 'eval';
+	my $code1 = '(B)(??{ BEGIN { "X" =~ /X/ } $1})(C)';
+	ok("ABBCA" =~ /^(.)(??{$code1})\1$/, '(?{}) BEGIN and $1');
+	my $code2 = '(B)(??{ BEGIN { "X" =~ /X/ } $1 =~ /(.)/ ? $1 : ""})(C)';
+	ok("ABBCA" =~ /^(.)(??{$code2})\1$/, '(?{}) BEGIN and $1 mark 2');
+    }
+
+    # check that the optimiser is applied to code blocks: see if aelem has
+    # been converted to aelemfast
+
+    {
+	my $out;
+	for my $prog (
+	    '/(?{$a[0]})/',
+	    'q() =~ qr/(?{$a[0]})/',
+	    'use re q(eval); q() =~ q{(?{$a[0]})}',
+	    'use re q(eval); $c = q{(?{$a[0]})}; /$c/',
+	    'use re q(eval); $c = q{(?{$a[0]})}; /(?{1;})$c/',
+	) {
+	    $out = runperl(switches => ["-Dt"], prog => $prog, stderr => 1);
+	    like($out, qr/aelemfast|Recompile perl with -DDEBUGGING/,
+		"optimise: '$prog'");
+	}
+    }
+
+    #  [perl #115080]
+    #  Ensure that ?pat? matches exactly once, even when the run-time
+    #  pattern changes, and even when the presence of run-time (?{}) affects
+    #  how and when patterns are recompiled
+
+    {
+	my $m;
+
+	$m = '';
+	for (qw(a a a)) {
+	    $m .= $_ if m?$_?;
+	}
+	is($m, 'a', '?pat? with a,a,a');
+
+	$m = '';
+	for (qw(a b c)) {
+	    $m .= $_ if m?$_?;
+	}
+	is($m, 'a', '?pat? with a,b,c');
+
+	use re 'eval';
+
+	$m = '';
+	for (qw(a a a)) {
+	my $e = qq[(??{"$_"})];
+	    $m .= $_ if m?$e?;
+	}
+	is($m, 'a', '?pat? with (??{a,a,a})');
+
+	$m = '';
+	for (qw(a b c)) {
+	my $e = qq[(??{"$_"})];
+	    $m .= $_ if m?$e?;
+	}
+	is($m, 'a', '?pat? with (??{a,b,c})');
+    }
+
+    {
+	# this code won't actually fail, but it used to fail valgrind,
+	# so its here just to make sure valgrind doesn't fail again
+	# While examining the ops of the secret anon sub wrapped around
+	# the qr//, the pad of the sub was in scope, so cSVOPo_sv
+	# got the const from the wrong pad. By having lots of $s's
+	# (aka gvsv(*s), this forces the targs of the consts which have
+	# been moved to the pad, to have high indices.
+
+	sub {
+	    local our $s = "abc";
+	    my $qr = qr/^(?{1})$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s$s/;
+	}->();
+	pass("cSVOPo_sv");
+    }
+
+    # [perl #115004]
+    # code blocks in qr objects that are interpolated in arrays need
+    # handling the same as if they were interpolated from scalar vars
+    # (before this code would need 'use re "eval"')
+
+    {
+	use Tie::Array;
+
+	use vars '@global';
+	local @global;
+	my @array;
+	my @refs = (0, \@array, 2);
+	my @tied;
+	tie @tied, 'Tie::StdArray';
+	{
+	    my $bb = 'B';
+	    my $dd = 'D';
+	    @array = ('A', qr/(??{$bb})/, 'C', qr/(??{$dd})/, 'E');
+	    @tied  = @array;
+	    @global = @array;
+	}
+	my $bb = 'X';
+	my $dd = 'Y';
+	ok("A B C D E=" =~ /@array/, 'bare interpolated array match');
+	ok("A B C D E=" =~ qr/@array/, 'qr bare interpolated array match');
+	ok("A B C D E=" =~ /@global/, 'bare interpolated global array match');
+	ok("A B C D E=" =~ qr/@global/,
+				    'qr bare interpolated global array match');
+	ok("A B C D E=" =~ /@{$refs[1]}/, 'bare interpolated ref array match');
+	ok("A B C D E=" =~ qr/@{$refs[1]}/,
+					'qr bare interpolated ref array match');
+	ok("A B C D E=" =~ /@tied/,  'bare interpolated tied array match');
+	ok("A B C D E=" =~ qr/@tied/,  'qr bare interpolated tied array match');
+	ok("aA B C D E=" =~ /^a at array=$/, 'interpolated array match');
+	ok("aA B C D E=" =~ qr/^a at array=$/, 'qr interpolated array match');
+	ok("aA B C D E=" =~ /^a at global=$/, 'interpolated global array match');
+	ok("aA B C D E=" =~ qr/^a at global=$/,
+					'qr interpolated global array match');
+	ok("aA B C D E=" =~ /^a@{$refs[1]}=$/, 'interpolated ref array match');
+	ok("aA B C D E=" =~ qr/^a@{$refs[1]}=$/,
+					    'qr interpolated ref array match');
+	ok("aA B C D E=" =~ /^a at tied=$/,  'interpolated tied array match');
+	ok("aA B C D E=" =~ qr/^a at tied=$/,  'qr interpolated tied array match');
+
+	{
+	    local $" = '-';
+	    ok("aA-B-C-D-E=" =~ /^a@{array}=$/,
+			'interpolated array match with local sep');
+	    ok("aA-B-C-D-E=" =~ qr/^a@{array}=$/,
+			'qr interpolated array match with local sep');
+	    ok("aA-B-C-D-E=" =~ /^a@{global}=$/,
+			'interpolated global array match with local sep');
+	    ok("aA-B-C-D-E=" =~ qr/^a@{global}=$/,
+			'qr interpolated global array match with local sep');
+	    ok("aA-B-C-D-E=" =~ /^a@{tied}=$/,
+			'interpolated tied array match with local sep');
+	    ok("aA-B-C-D-E=" =~ qr/^a@{tied}=$/,
+			'qr interpolated tied array match with local sep');
+	}
+
+	# but don't handle the array ourselves in the presence of \Q etc
+
+	@array  = ('A', '(?{})');
+	@global = @array;
+	@tied   = @array;
+	ok("aA (?{})=" =~ /^a\Q@{array}\E=$/,
+				'interpolated array match with \Q');
+	ok("aA (?{})=" =~ qr/^a\Q@{array}\E=$/,
+				'qr interpolated array match with \Q');
+	ok("aA (?{})=" =~ /^a\Q@{global}\E=$/,
+				'interpolated global array match with \Q');
+	ok("aA (?{})=" =~ qr/^a\Q@{global}\E=$/,
+				'qr interpolated global array match with \Q');
+	ok("aA (?{})=" =~ /^a\Q@{$refs[1]}\E=$/,
+				'interpolated ref array match with \Q');
+	ok("aA (?{})=" =~ qr/^a\Q@{$refs[1]}\E=$/,
+				'qr interpolated ref array match with \Q');
+	ok("aA (?{})=" =~ /^a\Q@{tied}\E=$/,
+				'interpolated tied array match with \Q');
+	ok("aA (?{})=" =~ qr/^a\Q@{tied}\E=$/,
+				'qr interpolated tied array match with \Q');
+
+	# and check it works with an empty array
+
+	@array = ();
+	@global = ();
+	@tied = ();
+	ok("a=" =~ /^a at array=$/, 'empty array match');
+	ok("a=" =~ qr/^a at array=$/, 'qr empty array match');
+	ok("a=" =~ /^a at global=$/, 'empty global array match');
+	ok("a=" =~ qr/^a at global=$/, 'qr empty global array match');
+	ok("a=" =~ /^a at tied=$/,  'empty tied array match');
+	ok("a=" =~ qr/^a at tied=$/,  'qr empty tied array match');
+	ok("a=" =~ /^a\Q@{array}\E=$/, 'empty array match with \Q');
+	ok("a=" =~ /^a\Q@{array}\E=$/, 'empty array match with \Q');
+	ok("a=" =~ qr/^a\Q@{global}\E=$/,
+				    'qr empty global array match with \Q');
+	ok("a=" =~ /^a\Q@{tied}\E=$/, 'empty tied array match with \Q');
+	ok("a=" =~ qr/^a\Q@{tied}\E=$/, 'qr empty tied array match with \Q');
+
+	# NB: these below are empty patterns, so they happen to use the
+	# successful match from the line above
+
+	ok("a=" =~ /@array/, 'empty array pattern');
+	ok("a=" =~ qr/@array/, 'qr empty array pattern');
+	ok("a=" =~ /@global/, 'empty global array pattern');
+	ok("a=" =~ qr/@global/, 'qr empty global array pattern');
+	ok("a=" =~ /@tied/, 'empty tied pattern');
+	ok("a=" =~ qr/@tied/, 'qr empty tied pattern');
+	ok("a=" =~ /\Q at array\E/, 'empty array pattern with \Q');
+	ok("a=" =~ qr/\Q at array\E/, 'qr empty array pattern with \Q');
+	ok("a=" =~ /\Q at global\E/, 'empty global array pattern with \Q');
+	ok("a=" =~ qr/\Q at global\E/, 'qr empty global array pattern with \Q');
+	ok("a=" =~ /\Q at tied\E/, 'empty tied pattern with \Q');
+	ok("a=" =~ qr/\Q at tied\E/, 'qr empty tied pattern with \Q');
+	ok("a=" =~ //, 'completely empty pattern');
+	ok("a=" =~ qr//, 'qr completely empty pattern');
+    }
+
+
 } # End of sub run_tests
 
 1;


Property changes on: vendor/perl/dist/t/re/pat_re_eval.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/pat_re_eval_thr.t
===================================================================
--- vendor/perl/dist/t/re/pat_re_eval_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_re_eval_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/pat_re_eval_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/pat_rt_report.t
===================================================================
--- vendor/perl/dist/t/re/pat_rt_report.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_rt_report.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -22,7 +22,7 @@
 }
 
 
-plan tests => 2521;  # Update this when adding/deleting tests.
+plan tests => 2532;  # Update this when adding/deleting tests.
 
 run_tests() unless caller;
 
@@ -384,14 +384,7 @@
         is("@_", "a|b|c", $message);
     }
 
-    {
-        # XXX DAPM 13-Apr-06. Recursive split is still broken. It's only luck it
-        # hasn't been crashing. Disable this test until it is fixed properly.
-        # XXX also check what it returns rather than just doing ok(1,...)
-        # split /(?{ split "" })/, "abc";
-        local $::TODO = "Recursive split is still broken";
-        ok 0, 'cache_re & "(?{": it dumps core in 5.6.1 & 5.8.0';
-    }
+    is(join('-', split /(?{ split "" })/, "abc"), 'a-b-c', 'nested split');
 
     {
         $_ = "code:   'x' { '...' }\n"; study;
@@ -534,7 +527,8 @@
     }
 
     {
-        local $::TODO = "See changes 26925-26928, which reverted change 26410";
+        # [perl #78680]
+        # See changes 26925-26928, which reverted change 26410
         {
             package lv;
             our $var = "abc";
@@ -552,7 +546,6 @@
             is($f, "ab", "pos() retained between calls");
         }
         else {
-            local $::TODO;
             ok 0, "Code failed: $@";
         }
 
@@ -569,7 +562,6 @@
             is($g, "ab", "pos() retained between calls");
         }
         else {
-            local $::TODO;
             ok 0, "Code failed: $@";
         }
     }
@@ -923,6 +915,7 @@
     {
          my $message = '$REGMARK in replacement; Bug 49190';
          our $REGMARK;
+         no warnings 'experimental::lexical_topic';
          my $_ = "A";
          ok(s/(*:B)A/$REGMARK/, $message);
          is($_, "B", $message);
@@ -929,6 +922,10 @@
          $_ = "CCCCBAA";
          ok(s/(*:X)A+|(*:Y)B+|(*:Z)C+/$REGMARK/g, $message);
          is($_, "ZYX", $message);
+         # Use a longer name to force reallocation of $REGMARK.
+         $_ = "CCCCBAA";
+         ok(s/(*:X)A+|(*:YYYYYYYYYYYYYYYY)B+|(*:Z)C+/$REGMARK/g, $message);
+         is($_, "ZYYYYYYYYYYYYYYYYX", $message);
     }
 
     {
@@ -1136,6 +1133,46 @@
 EOP
     }
 
+    {
+        # pattern must be compiled late or we can break the test file
+        my $message = '[perl #115050] repeated nothings in a trie can cause panic';
+        my $pattern;
+        $pattern = '[xyz]|||';
+        ok("blah blah" =~ /$pattern/, $message);
+        ok("blah blah" =~ /(?:$pattern)h/, $message);
+        $pattern = '|||[xyz]';
+        ok("blah blah" =~ /$pattern/, $message);
+        ok("blah blah" =~ /(?:$pattern)h/, $message);
+    }
+
+    {
+        # [perl #4289] First mention $& after a match
+        local $::TODO = "these tests fail without Copy-on-Write enabled";
+        fresh_perl_is(
+            '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$&|, "\n"',
+            "b\n", {}, '$& first mentioned after match');
+        fresh_perl_is(
+            '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$`|, "\n"',
+            "a\n", {}, '$` first mentioned after match');
+        fresh_perl_is(
+            '$_ = "abc"; /b/g; $_ = "hello"; print eval q|$\'|,"\n"',
+            "c\n", {}, '$\' first mentioned after match');
+    }
+
+    {
+	# [perl #118175] threaded perl-5.18.0 fails pat_rt_report_thr.t
+	# this tests some related failures
+	#
+	# The tests in the block *only* fail when run on 32-bit systems
+	# with a malloc that allocates above the 2GB line.  On the system
+	# 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
+	ok($s =~ /.\C+/, "CANY pointer wrap");
+    }
 } # End of sub run_tests
 
 1;


Property changes on: vendor/perl/dist/t/re/pat_rt_report.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/pat_rt_report_thr.t
===================================================================
--- vendor/perl/dist/t/re/pat_rt_report_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_rt_report_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/pat_rt_report_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/pat_special_cc.t
===================================================================
--- vendor/perl/dist/t/re/pat_special_cc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_special_cc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/pat_special_cc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/pat_special_cc_thr.t
===================================================================
--- vendor/perl/dist/t/re/pat_special_cc_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_special_cc_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/pat_special_cc_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/pat_thr.t
===================================================================
--- vendor/perl/dist/t/re/pat_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/pat_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/pat_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/qr-72922.t
===================================================================
--- vendor/perl/dist/t/re/qr-72922.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/qr-72922.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/qr-72922.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/qr.t
===================================================================
--- vendor/perl/dist/t/re/qr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/qr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 
 my $rx = qr//;
 
-is(ref $rx, "Regexp", "qr// blessed into `Regexp' by default");
+is(ref $rx, "Regexp", "qr// blessed into 'Regexp' by default");
 
 
 # Make sure /$qr/ doesn’t clobber match vars before the match (bug 70764).
@@ -33,6 +33,7 @@
 
  is $output, "5\n1: 5\n2: 5\n", '$a_match_var =~ /$qr/';
 }
+no warnings 'experimental::lexical_topic';
 for my $_($'){
  my $output = '';
  my $rx = qr/o/;


Property changes on: vendor/perl/dist/t/re/qr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/qr_gc.t
===================================================================
--- vendor/perl/dist/t/re/qr_gc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/qr_gc.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/qr_gc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/qrstack.t
===================================================================
--- vendor/perl/dist/t/re/qrstack.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/qrstack.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/qrstack.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/re_tests
===================================================================
--- vendor/perl/dist/t/re/re_tests	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/re_tests	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,11 @@
 # This stops me getting screenfulls of syntax errors every time I accidentally
-# run this file via a shell glob.  Format of this file is given in regexp.t
-# Can't use \N{VALID NAME TEST} here because need 'use charnames'; but can use
-# \N{U+valid} here.
+# run this file via a shell glob.  The full format of this file is given
+# in regexp.t
+# Prior to the implementation of autoloading of \N{}, tests that used \N{name}
+# could not go in this file, and were farmed out to other .t's, where they
+# remain
+#
+# pat	string	y/n/etc	expr	expected-expr	skip-reason
 __END__
 abc	abc	y	$&	abc
 abc	abc	y	$-[0]	0
@@ -104,7 +108,7 @@
 a[b-d]	aac	y	$&	ac
 a[-b]	a-	y	$&	a-
 a[b-]	a-	y	$&	a-
-a[b-a]	-	c	-	Invalid [] range \"b-a\"
+a[b-a]	-	c	-	Invalid [] range
 a[]b	-	c	-	Unmatched [
 a[	-	c	-	Unmatched [
 a]	a]	y	$&	a]
@@ -159,6 +163,7 @@
 ()ef	def	y	$&-$1	ef-
 ()ef	def	y	$-[0]	1
 ()ef	def	y	$+[0]	3
+()\x{100}\x{1000}	d\x{100}\x{1000}	y	$+[0]	3
 ()ef	def	y	$-[1]	1
 ()ef	def	y	$+[1]	1
 *a	-	c	-	Quantifier follows nothing
@@ -347,7 +352,7 @@
 'a[b-d]'i	AAC	y	$&	AC
 'a[-b]'i	A-	y	$&	A-
 'a[b-]'i	A-	y	$&	A-
-'a[b-a]'i	-	c	-	Invalid [] range \"b-a\"
+'a[b-a]'i	-	c	-	Invalid [] range
 'a[]b'i	-	c	-	Unmatched [
 'a['i	-	c	-	Unmatched [
 'a]'i	A]	y	$&	A]
@@ -477,7 +482,7 @@
 (?<!c)b	cb	n	-	-
 (?<!c)b	b	y	-	-
 (?<!c)b	b	y	$&	b
-(?<%)b	-	c	-	Sequence (?<%...) not recognized
+(?<%)b	-	c	-	Group name must start with a non-digit word character
 (?:..)*a	aba	y	$&	aba
 (?:..)*?a	aba	y	$&	a
 ^(?:b|a(?=(.)))*\1	abc	y	$&	ab
@@ -531,12 +536,12 @@
 '(ab)\d\1'i	ab4Ab	y	$1	ab
 foo\w*\d{4}baz	foobar1234baz	y	$&	foobar1234baz
 a(?{})b	cabd	y	$&	ab
-a(?{)b	-	c	-	Sequence (?{...}) not terminated or not {}-balanced
-a(?{{})b	-	c	-	Sequence (?{...}) not terminated or not {}-balanced
+a(?{f()+	-	c	-	Missing right curly or square bracket
+a(?{{1}+	-	c	-	Missing right curly or square bracket
 a(?{}})b	-	c	-	
-a(?{"{"})b	-	c	-	Sequence (?{...}) not terminated or not {}-balanced
+a(?{"{"})b	ab	y	-	-
 a(?{"\{"})b	cabd	y	$&	ab
-a(?{"{"}})b	-	c	-	Unmatched right curly bracket
+a(?{"{"}})b	-	c	-	Sequence (?{...}) not terminated with ')'
 a(?{$::bl="\{"}).b	caxbd	y	$::bl	{
 x(~~)*(?:(?:F)?)?	x~~	y	-	-
 ^a(?#xxx){3}c	aaac	y	$&	aaac
@@ -577,8 +582,8 @@
 ^(\(+)?blah(?(1)(\)))$	blah	y	($2)	()
 ^(\(+)?blah(?(1)(\)))$	blah)	n	-	-
 ^(\(+)?blah(?(1)(\)))$	(blah	n	-	-
-(?(1?)a|b)	a	c	-	Switch condition not recognized
-(?(1)a|b|c)	a	c	-	Switch (?(condition)... contains too many branches
+(?(1?)a|b)	-	c	-	Switch condition not recognized
+(?(1)a|b|c)	-	c	-	Switch (?(condition)... contains too many branches
 (?(?{0})a|b)	a	n	-	-
 (?(?{0})b|a)	a	y	$&	a
 (?(?{1})b|a)	a	n	-	-
@@ -587,6 +592,10 @@
 (?(?!a)b|a)	a	y	$&	a
 (?(?=a)b|a)	a	n	-	-
 (?(?=a)a|b)	a	y	$&	a
+(?(?!\x{100})\x{100}|b)	\x{100}	n	-	-
+(?(?!\x{100})b|\x{100})	\x{100}	y	$&	\x{100}
+(?(?=\x{100})b|\x{100})	\x{100}	n	-	-
+(?(?=\x{100})\x{100}|b)	\x{100}	y	$&	\x{100}
 (?=(a+?))(\1ab)	aaab	y	$2	aab
 ^(?=(a+?))\1ab	aaab	n	-	-
 (\w+:)+	one:	y	$1	one:
@@ -612,8 +621,7 @@
 [a[:xyz:	-	c	-	Unmatched [
 [a[:xyz:]	-	c	-	POSIX class [:xyz:] unknown
 [a[:]b[:c]	abc	y	$&	abc
-([a[:xyz:]b]+)	pbaq	c	-	POSIX class [:xyz:] unknown
-[a[:]b[:c]	abc	y	$&	abc
+([a[:xyz:]b]+)	-	c	-	POSIX class [:xyz:] unknown
 ([[:alpha:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd
 ([[:alnum:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy
 ([[:ascii:]]+)	ABcd01Xy__--  ${nulnul}${ffff}	y	$1	ABcd01Xy__--  ${nulnul}
@@ -645,8 +653,7 @@
 (?>(a+))b	aaab	y	$1	aaa
 ((?>[^()]+)|\([^()]*\))+	((abc(ade)ufh()()x	y	$&	abc(ade)ufh()()x
 (?<=x+)y	-	c	-	Variable length lookbehind not implemented
-a{37,17}	-	c	-	Can't do {n,m} with n > m
-a{37,0}	-	c	-	Can't do {n,m} with n > m
+((def){37,17})?ABC	ABC	y	$&	ABC
 \Z	a\nb\n	y	$-[0]	3
 \z	a\nb\n	y	$-[0]	4
 $	a\nb\n	y	$-[0]	3
@@ -845,6 +852,7 @@
 'abb\Z'm	b\nca	n	-	-
 'abb\z'm	b\nca	n	-	-
 'abb$'m	b\nca	n	-	-
+'\Aa$'m	a\n\n	y	$&	a
 (^|x)(c)	ca	y	$2	c
 a*abc?xyz+pqr{3}ab{2,}xy{4,5}pq{0,6}AB{0,}zz	x	n	-	-
 a(?{$a=2;$b=3;($b)=$a})b	yabz	y	$b	2
@@ -872,12 +880,18 @@
 .[X](.+)+[X][X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
 .[X][X](.+)+[X]	bbbbXXXaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa	n	-	-
 tt+$	xxxtt	y	-	-
-([a-\d]+)	za-9z	y	$1	a-9
-([\d-z]+)	a0-za	y	$1	0-z
-([\d-\s]+)	a0- z	y	$1	0- 
-([a-[:digit:]]+)	za-9z	y	$1	a-9
-([[:digit:]-z]+)	=0-z=	y	$1	0-z
-([[:digit:]-[:alpha:]]+)	=0-z=	y	$1	0-z
+([a-\d]+)	za-9z	Sy	$1	a-9
+([a-\d]+)	-	sc	-	False [] range
+([\d-z]+)	a0-za	Sy	$1	0-z
+([\d-z]+)	-	sc	$1	False [] range
+([\d-\s]+)	a0- z	Sy	$1	0- 
+([\d-\s]+)	-	sc	$1	False [] range
+([a-[:digit:]]+)	za-9z	Sy	$1	a-9
+([a-[:digit:]]+)	-	sc	-	False [] range
+([[:digit:]-z]+)	=0-z=	Sy	$1	0-z
+([[:digit:]-z]+)	-	sc	c	False [] range
+([[:digit:]-[:alpha:]]+)	=0-z=	Sy	$1	0-z
+([[:digit:]-[:alpha:]]+)	-	sc	-	False [] range
 \GX.*X	aaaXbX	n	-	-
 (\d+\.\d+)	3.1415926	y	$1	3.1415926
 (\ba.{0,10}br)	have a web browser	y	$1	a web br
@@ -992,8 +1006,8 @@
 ^.{2,3}?((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
 ^(?:f|o|b){2,3}?((?:b|a|r)+?)\1\z	foobarbar	y	$1	bar
 .*a(?!(b|cd)*e).*f	......abef	n	-	-	# [perl #23030]
-x(?#	x	c	-	Sequence (?#... not terminated
-:x(?#:	x	c	-	Sequence (?#... not terminated
+x(?#	-	c	-	Sequence (?#... not terminated
+:x(?#:	-	c	-	Sequence (?#... not terminated
 (WORDS|WORD)S	WORDS	y	$1	WORD
 (X.|WORDS|X.|WORD)S	WORDS	y	$1	WORD
 (WORDS|WORLD|WORD)S	WORDS	y	$1	WORD
@@ -1078,9 +1092,9 @@
 (?P<n>foo|bar|baz)(?P<m>[ew]+)	snofooewa	yM	$+{m}	ew	miniperl cannot load Tie::Hash::NamedCapture
 (?P<n>foo)|(?P<n>bar)|(?P<n>baz)	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
 (?P<n>foo)(??{ $+{n} })	snofooefoofoowaa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
-(?P<=n>foo|bar|baz)	snofooewa	c	-	Sequence (?P<=...) not recognized
-(?P<!n>foo|bar|baz)	snofooewa	c	-	Sequence (?P<!...) not recognized
-(?PX<n>foo|bar|baz)	snofooewa	c	-	Sequence (?PX<...) not recognized
+(?P<=n>foo|bar|baz)	-	c	-	Group name must start with a non-digit word character
+(?P<!n>foo|bar|baz)	-	c	-	Group name must start with a non-digit word character
+(?PX<n>foo|bar|baz)	-	c	-	Sequence (?PX<...) not recognized
 /(?'n'foo|bar|baz)/	snofooewa	y	$1	foo
 /(?'n'foo|bar|baz)/	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
 /(?'n'foo|bar|baz)(?'m'[ew]+)/	snofooewa	yM	$+{n}	foo	miniperl cannot load Tie::Hash::NamedCapture
@@ -1258,30 +1272,30 @@
 /(?<_>foo) \k<_>/	..foo foo..	yM	$+{_}	foo	miniperl cannot load Tie::Hash::NamedCapture
 /(?'_0_'foo) \k'_0_'/	..foo foo..	yM	$+{_0_}	foo	miniperl cannot load Tie::Hash::NamedCapture
 /(?<_0_>foo) \k<_0_>/	..foo foo..	yM	$+{_0_}	foo	miniperl cannot load Tie::Hash::NamedCapture
-/(?'0'foo) bar/	..foo bar..	c	-	Sequence (?'
-/(?<0>foo) bar/	..foo bar..	c	-	Sequence (?<
-/(?'12'foo) bar/	..foo bar..	c	-	Sequence (?'
-/(?<12>foo) bar/	..foo bar..	c	-	Sequence (?<
-/(?'1a'foo) bar/	..foo bar..	c	-	Sequence (?'
-/(?<1a>foo) bar/	..foo bar..	c	-	Sequence (?<
-/(?''foo) bar/	..foo bar..	c	-	Sequence (?''
-/(?<>foo) bar/	..foo bar..	c	-	Sequence (?<>
-/foo \k'n'/	foo foo	c	-	Reference to nonexistent named group
-/foo \k<n>/	foo foo	c	-	Reference to nonexistent named group
-/foo \k'a1'/	foo foo	c	-	Reference to nonexistent named group
-/foo \k<a1>/	foo foo	c	-	Reference to nonexistent named group
-/foo \k'_'/	foo foo	c	-	Reference to nonexistent named group
-/foo \k<_>/	foo foo	c	-	Reference to nonexistent named group
-/foo \k'_0_'/	foo foo	c	-	Reference to nonexistent named group
-/foo \k<_0_>/	foo foo	c	-	Reference to nonexistent named group
-/foo \k'0'/	foo foo	c	-	Sequence \\k'
-/foo \k<0>/	foo foo	c	-	Sequence \\k<
-/foo \k'12'/	foo foo	c	-	Sequence \\k'
-/foo \k<12>/	foo foo	c	-	Sequence \\k<
-/foo \k'1a'/	foo foo	c	-	Sequence \\k'
-/foo \k<1a>/	foo foo	c	-	Sequence \\k<
-/foo \k''/	foo foo	c	-	Sequence \\k'
-/foo \k<>/	foo foo	c	-	Sequence \\k<
+/(?'0'foo) bar/	-	c	-	Group name must start with a non-digit word character
+/(?<0>foo) bar/	-	c	-	Group name must start with a non-digit word character
+/(?'12'foo) bar/	-	c	-	Group name must start with a non-digit word character
+/(?<12>foo) bar/	-	c	-	Group name must start with a non-digit word character
+/(?'1a'foo) bar/	-	c	-	Group name must start with a non-digit word character
+/(?<1a>foo) bar/	-	c	-	Group name must start with a non-digit word character
+/(?''foo) bar/	-	c	-	Group name must start with a non-digit word character
+/(?<>foo) bar/	-	c	-	Group name must start with a non-digit word character
+/foo \k'n'/	-	c	-	Reference to nonexistent named group
+/foo \k<n>/	-	c	-	Reference to nonexistent named group
+/foo \k'a1'/	-	c	-	Reference to nonexistent named group
+/foo \k<a1>/	-	c	-	Reference to nonexistent named group
+/foo \k'_'/	-	c	-	Reference to nonexistent named group
+/foo \k<_>/	-	c	-	Reference to nonexistent named group
+/foo \k'_0_'/	-	c	-	Reference to nonexistent named group
+/foo \k<_0_>/	-	c	-	Reference to nonexistent named group
+/foo \k'0'/	-	c	-	Group name must start with a non-digit word character
+/foo \k<0>/	-	c	-	Group name must start with a non-digit word character
+/foo \k'12'/	-	c	-	Group name must start with a non-digit word character
+/foo \k<12>/	-	c	-	Group name must start with a non-digit word character
+/foo \k'1a'/	-	c	-	Group name must start with a non-digit word character
+/foo \k<1a>/	-	c	-	Group name must start with a non-digit word character
+/foo \k''/	-	c	-	Group name must start with a non-digit word character
+/foo \k<>/	-	c	-	Group name must start with a non-digit word character
 /(?<as>as) (\w+) \k<as> (\w+)/	as easy as pie	y	$1-$2-$3	as-easy-pie
 
 # \g{...} with a name as the argument 
@@ -1430,7 +1444,8 @@
 # and bypasses the lexer.
 /\N{U+}/	-	c	-	Invalid hexadecimal number
 # Below currently gives a misleading message
-/[\N{U+}]/	-	c	-	Unmatched
+/[\N{U+}]/	-	Sc	-	Unmatched
+/[\N{U+}]/	-	sc	-	Syntax error in (?[...])
 /abc\N{def/	-	c	-	Missing right brace
 /\N{U+4AG3}/	-	c	-	Illegal hexadecimal digit
 /[\N{U+4AG3}]/	-	c	-	Illegal hexadecimal digit
@@ -1439,7 +1454,7 @@
 # figures it out.
 \N{U+}	-	c	-	Invalid hexadecimal number
 [\N{U+}]	-	c	-	Invalid hexadecimal number
-\N{U+4AG3}	-	c	-	Illegal hexadecimal digit
+\N{U+4AG3}	-	c	-	Invalid hexadecimal number
 [\N{U+4AG3}]	-	c	-	Invalid hexadecimal number
 abc\N{def	-	c	-	\\N{NAME} must be resolved by the lexer
 
@@ -1453,7 +1468,7 @@
 
 # Verify works in single quotish context; regex compiler delivers slightly different msg
 # \N{U+BEEF.BEAD} succeeds here, because can't completely hide it from the outside.
-\N{U+0xBEEF}	-	c	-	Illegal hexadecimal digit
+\N{U+0xBEEF}	-	c	-	Invalid hexadecimal number
 \c`	-	c	-	\"\\c`\" is more clearly written simply as \"\\ \"
 \c1	-	c	-	\"\\c1\" is more clearly written simply as \"q\"
 \cA	\001	y	$&	\1
@@ -1471,15 +1486,25 @@
 [a\o{400}]	\x{100}	y	$&	\x{100}
 [a\o{1000}]	\x{200}	y	$&	\x{200}
 
+# The below were inserting a NULL
+\87	87	y	$&	87
+a\87	a87	y	$&	a87
+a\97	a97	y	$&	a97
+
+
 # The below was inserting a NULL into the character class.
-[\8\9]	\000	n	-	-
-[\8\9]	8	y	$&	8
-[\8\9]	9	y	$&	9
+[\8\9]	\000	Sn	-	-
+[\8\9]	-	sc	$&	Unrecognized escape \\8 in character class
+[\8\9]	8	Sy	$&	8
+[\8\9]	9	Sy	$&	9
 
 # Verify that reads 1-3 octal digits, and that \_ works in char class
-[\0]	\000	y	$&	\000
-[\07]	\007	y	$&	\007
-[\07]	7\000	n	-	-
+[\0]	\000	Sy	$&	\000
+[\0]	-	sc	-	Need exactly 3 octal digits
+[\07]	\007	Sy	$&	\007
+[\07]	-	sc	-	Need exactly 3 octal digits
+[\07]	7\000	Sn	-	-
+[\07]	-	sc	-	Need exactly 3 octal digits
 [\006]	\006	y	$&	\006
 [\006]	6\000	n	-	-
 [\0005]	\0005	y	$&	\000
@@ -1521,5 +1546,206 @@
 # Normally 1E9E generates a multi-char fold, but not in inverted class;
 # See [perl #89750].  This makes sure that the simple fold gets generated
 # in that case, to DF.
-/[^\x{1E9E}]/i	\x{DF}	n	-	-
+/[^\x{1E9E}]/i	\x{DF}	Sn	-	-
+
+# RT #96354
+/^.*\d\H/	X1	n	-	-
+/^.*\d\V/	X1	n	-	-
+
+# \p{L_} was being misinterpreted as \p{L}.  L_ matches cased letters, which
+# the ideograph below isn't, whereas it does match L
+/^\p{L_}/	\x{3400}	n	-	-
+/^\p{L}/	\x{3400}	y	$&	\x{3400}
+
+# RT #89774
+/[s\xDF]a/ui	ssa	Sy	$&	ssa
+/[s\xDF]a/ui	sa	y	$&	sa
+
+# RT #99928
+/^\R\x0A$/	\x0D\x0A	n	-	-
+
+/ff/i	\x{FB00}\x{FB01}	y	$&	\x{FB00}
+/ff/i	\x{FB01}\x{FB00}	y	$&	\x{FB00}
+/fi/i	\x{FB01}\x{FB00}	y	$&	\x{FB01}
+/fi/i	\x{FB00}\x{FB01}	y	$&	\x{FB01}
+#
+# Make sure we don't see code blocks where there aren't, and vice-versa
+(?#( (?{1+)a	a	y	-	-
+'a# (?{1+'x	a	y	-	-
+ab[(?{1]	ab1	y	-	-
+ab[(?{1\](?{2]	ab2	y	-	-
+ab(?{"["})cd	abcd	y	-	-
+ab(??{"[x]"})cd	abxcd	y	-	-
+ab\[(??{1})c	ab[1c	y	-	-
+ab\\[(??{1;})]c	ab\\;c	y	-	-
+ab\\\[(??{1})c	ab\\[1c	y	-	-
+ab[c\](??{"]d	abcd	y	-	-
+ab[c\\](??{"[x]"})d	ab\\xd	y	-	-
+ab[c\\\](??{"x"})]{3}d	ab\\](d	y	-	-
+
+# These test that doesn't cut-off matching too soon in the string for
+# multi-char folds
+/ffiffl/i	abcdef\x{FB03}\x{FB04}	y	$&	\x{FB03}\x{FB04}
+/\xdf\xdf/ui	abcdefssss	y	$&	ssss
+
+/st/i	\x{DF}\x{FB05}	y	$&	\x{FB05}
+/ssst/i	\x{DF}\x{FB05}	y	$&	\x{DF}\x{FB05}
+
+# [perl #101970]
+/[[:lower:]]/i	\x{100}	y	$&	\x{100}
+/[[:upper:]]/i	\x{101}	y	$&	\x{101}
+
+# Was matching 'ss' only and failing the entire match, not seeing the
+# alternative that would succeed
+/s\xDF/ui	\xDFs	y	$&	\xDFs
+/sst/ui	s\N{LATIN SMALL LIGATURE ST}	y	$&	s\N{LATIN SMALL LIGATURE ST}
+/sst/ui	s\N{LATIN SMALL LIGATURE LONG S T}	y	$&	s\N{LATIN SMALL LIGATURE LONG S T}
+
+# /i properties shouldn't match more than the property itself
+/[[:ascii:]]/i	\N{KELVIN SIGN}	n	-	-
+
+# [[:lower:]]/i and [[:upper:]]/i should match what \p{Lower} and \p{Upper} do.
+# which is \p{Cased}, not \p{Alpha},
+/[[:lower:]]/i	\N{U+3400}	n	-	-
+/[[:upper:]]/i	\N{U+01BB}	n	-	-
+
+# [perl #110648]
+[^\p{Alphabetic}]	\x{100}	n	-	-
+
+# [perl #111400].  Tests the first Y/N boundary above 255 for each of these.
+/[[:alnum:]]/	\x{2c1}	y	-	-
+/[[:alnum:]]/	\x{2c2}	n	-	-
+/[[:alpha:]]/	\x{2c1}	y	-	-
+/[[:alpha:]]/	\x{2c2}	n	-	-
+/[[:graph:]]/	\x{377}	y	-	-
+/[[:graph:]]/	\x{378}	n	-	-
+/[[:lower:]]/	\x{100}	n	-	-
+/[[:lower:]]/	\x{101}	y	-	-
+/[[:lower:]]/	\x{102}	n	-	-
+/[[:print:]]/	\x{377}	y	-	-
+/[[:print:]]/	\x{378}	n	-	-
+/[[:punct:]]/	\x{37D}	n	-	-
+/[[:punct:]]/	\x{37E}	y	-	-
+/[[:punct:]]/	\x{388}	n	-	-
+/[[:upper:]]/	\x{100}	y	-	-
+/[[:upper:]]/	\x{101}	n	-	-
+/[[:word:]]/	\x{2c1}	y	-	-
+/[[:word:]]/	\x{2c2}	n	-	-
+
+# [perl #113400]
+/syntax OK\s+\z/si	t/bin/good.pl syntax OK\n	y	-	-
+
+/^(.*?)\s*\|\s*(?:\/\s*|)'(.+)'$/	text|'sec'	y	<$1><$2>	<text><sec>
+/^(foo|)bar$/	bar	y	<$&>	<bar>
+/^(foo||baz)bar$/	bar	y	<$&>	<bar>
+/^(foo||baz)bar$/	bazbar	y	<$1>	<baz>
+/^(foo||baz)bar$/	foobar	y	<$1>	<foo>
+
+/^(?:foo|)bar$/	bar	y	<$&>	<bar>
+/^(?:foo||baz)bar$/	bar	y	<$&>	<bar>
+/^(?:foo||baz)bar$/	bazbar	y	<$&>	<bazbar>
+/^(?:foo||baz)bar$/	foobar	y	<$&>	<foobar>
+
+/^(?i:foo|)bar$/	bar	y	<$&>	<bar>
+/^(?i:foo||baz)bar$/	bar	y	<$&>	<bar>
+/^(?i:foo||baz)bar$/	bazbar	y	<$&>	<bazbar>
+/^(?i:foo||baz)bar$/	foobar	y	<$&>	<foobar>
+
+# $^N, $+ on backtrackracking
+# BRANCH
+^(.)(?:(..)|B)[CX]	ABCDE	y	$^N-$+	A-A	-
+# TRIE
+^(.)(?:BC(.)|B)[CX]	ABCDE	y	$^N-$+	A-A	-
+# CURLYX
+^(.)(?:(.)+)*[BX]	ABCDE	y	$^N-$+	A-A	-
+# CURLYM
+^(.)(BC)*	ABCDE	y	$^N-$+	BC-BC	-
+^(.)(BC)*[BX]	ABCDE	y	$^N-$+	A-A	-
+# CURLYN
+^(.)(B)*.[DX]	ABCDE	y	$^N-$+	B-B	-
+^(.)(B)*.[CX]	ABCDE	y	$^N-$+	A-A	-
+
+# using 'return' in code blocks
+^(A)(?{"xyz"})B$	AB	y	$1-$^R	A-xyz	-
+^(A)(?{return "xyz"})B$	AB	y	$1-$^R	A-xyz	-
+^(A)((??{"xyz"}))$	Axyz	y	$1-$2	A-xyz	-
+^(A)((??{return "xyz"}))$	Axyz	y	$1-$2	A-xyz	-
+^(A)((?(?{1})abc|xyz))$	Aabc	y	$1-$2	A-abc	-
+^(A)((?(?{0})abc|xyz))$	Axyz	y	$1-$2	A-xyz	-
+^(A)((?(?{return 1})abc|xyz))$	Aabc	y	$1-$2	A-abc	-
+^(A)((?(?{return 0})abc|xyz))$	Axyz	y	$1-$2	A-xyz	-
+
+# pattern modifier flags should propagate into returned (??{}) pattern
+# p,d,l not tested
+
+/^(a)((??{"b"}))$/i	AB	y	$1-$2	A-B	-
+/^(A)((??{'B$'}))(\nC)$/m	AB\nC	y	$1-$2-$3	A-B-\nC	-
+/^(A)((??{'.'}))(B)$/s	A\nB	y	$1-$2-$3	A-\n-B	-
+/^(A) ((??{' .'}))(B)$/x	A B	y	$1-$2-$3	A- -B	-
+/^((??{'\d'}))$/a	\x{660}	n	-	-
+/^(??{"s"})$/i	\x{17F}	y	-	-
+/^(??{"s"})$/ia	\x{17F}	y	-	-
+/^(??{"s"})$/iaa	\x{17F}	n	-	-
+/^(??{'\w'})$/u	\x{AA}	y	-	-
+
+# #113670 ensure any captures to the right are invalidated when CURLY
+# and CURLYM backtrack
+
+^(?:(X)?(\d)|(X)?(\d\d))$	X12	y	$1-$2-$3-$4	--X-12
+^(?:(XX)?(\d)|(XX)?(\d\d))$	XX12	y	$1-$2-$3-$4	--XX-12
+
+# rt 113770
+\A(?>\[(?:(?:)(?:R){1}|T|V?|A)\])\z	[A]	y	$&	[A]
+# rt 114068
+/( [^z] $ [^z]+)/xm	aa\nbb\ncc\n	y	$1	a\nbb\ncc\n
+
+# [perl #114220]
+/[\h]/	\x{A0}	y	$&	\xA0
+/[\H]/	\x{BF}	y	$&	\xBF
+/[\H]/	\x{A0}	n	-	-
+/[\H]/	\x{A1}	y	$&	\xA1
+
+[^\n]+	\nb	y	$&	b
+[^\n]+	a\n	y	$&	a
+
+# /a has no effect on properties
+(?a:\p{Any})	\x{100}	y	$&	\x{100}
+(?aa:\p{Any})	\x{100}	y	$&	\x{100}
+
+\w	\x{200C}	y	$&	\x{200C}
+\W	\x{200C}	n	-	-
+\w	\x{200D}	y	$&	\x{200D}
+\W	\x{200D}	n	-	-
+
+/^(?d:\xdf|_)*_/i	\x{17f}\x{17f}_	y	$&	\x{17f}\x{17f}_
+#
+# check that @-, @+ count chars, not bytes; especially if beginning of
+# string is not copied
+
+(\x{100})	\x{2000}\x{2000}\x{2000}\x{100}	y	$-[0]:$-[1]:$+[0]:$+[1]	3:3:4:4
+
+^\R{2}$	\r\n\r\n	y	$&	\r\n\r\n
+
+/^\D{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
+/^\S{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
+/^\W{11}/a	\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}\x{10FFFF}	n	-	-
+
+# [ perl #114272]
+\Vn	\xFFn/	y	$&	\xFFn
+
+/(?l:a?\w)/	b	y	$&	b
+m?^xy\?$?	xy?	y	$&	xy?
+
 # vim: softtabstop=0 noexpandtab
+/[#]/	a#b	y	$&	#
+/[#]b/	a#b	y	$&	#b
+/[#]/x	a#b	y	$&	#
+/[#]b/x	a#b	y	$&	#b
+/[#](?{})/x	a#b	y	$&	#
+/[#](??{'b'})/x	a#b	y	$&	#b
+/(?#)(?{})b/	a#b	y	$&	b
+/(?#)(??{'b'})/	a#b	y	$&	b
+/[(?#](?{})b/	a#b	y	$&	#b
+/[(?#](??{'b'})/	a#b	y	$&	#b
+/(?#)(?{})b/x	a#b	y	$&	b
+/(?#)(??{'b'})/x	a#b	y	$&	b


Property changes on: vendor/perl/dist/t/re/re_tests
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/reg_60508.t
===================================================================
--- vendor/perl/dist/t/re/reg_60508.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_60508.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/reg_60508.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/reg_email.t
===================================================================
--- vendor/perl/dist/t/re/reg_email.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_email.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,7 +30,7 @@
       (?<dcontent>        (?&dtext) | (?&quoted_pair))
       (?<dtext>           (?&NO_WS_CTL) | [\x21-\x5a\x5e-\x7e])
 
-      (?<atext>           (?&ALPHA) | (?&DIGIT) | [!#\$%&'*+-/=?^_`{|}~])
+      (?<atext>           (?&ALPHA) | (?&DIGIT) | [-!#\$%&'*+/=?^_`{|}~])
       (?<atom>            (?&CFWS)? (?&atext)+ (?&CFWS)?)
       (?<dot_atom>        (?&CFWS)? (?&dot_atom_text) (?&CFWS)?)
       (?<dot_atom_text>   (?&atext)+ (?: \. (?&atext)+)*)


Property changes on: vendor/perl/dist/t/re/reg_email.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/reg_email_thr.t
===================================================================
--- vendor/perl/dist/t/re/reg_email_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_email_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/reg_email_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/reg_eval.t
===================================================================
--- vendor/perl/dist/t/re/reg_eval.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_eval.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/reg_eval.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/reg_eval_scope.t
===================================================================
--- vendor/perl/dist/t/re/reg_eval_scope.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_eval_scope.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,15 +9,8 @@
     skip_all_if_miniperl("no dynamic loading on miniperl, no re");
 }
 
-plan 17;
+plan 48;
 
-# Functions for turning to-do-ness on and off (as there are so many
-# to-do tests) 
-sub on { $::TODO = "(?{}) implementation is screwy" }
-sub off { undef $::TODO }
-
-on;
-
 fresh_perl_is <<'CODE', '781745', {}, '(?{}) has its own lexical scope';
  my $x = 7; my $a = 4; my $b = 5;
  print "a" =~ /(?{ print $x; my $x = 8; print $x; my $y })a/;
@@ -87,7 +80,7 @@
 
 fresh_perl_is <<'CODE', '123123', {},
   for my $x(1..3) {
-   push @regexps = qr/(?{ print $x })a/;
+   push @regexps, qr/(?{ print $x })a/;
   }
  "a" =~ $_ for @regexps;
  "ba" =~ /b$_/ for @regexps;
@@ -94,21 +87,17 @@
 CODE
  'qr/(?{})/ is a closure';
 
-off;
-
 "a" =~ do { package foo; qr/(?{ $::pack = __PACKAGE__ })a/ };
 is $pack, 'foo', 'qr// inherits package';
 "a" =~ do { use re "/x"; qr/(?{ $::re = qr-- })a/ };
 is $re, '(?^x:)', 'qr// inherits pragmata';
 
-on;
-
+$::pack = '';
 "ba" =~ /b${\do { package baz; qr|(?{ $::pack = __PACKAGE__ })a| }}/;
 is $pack, 'baz', '/text$qr/ inherits package';
 "ba" =~ m+b${\do { use re "/i"; qr|(?{ $::re = qr-- })a| }}+;
 is $re, '(?^i:)', '/text$qr/ inherits pragmata';
 
-off;
 {
   use re 'eval';
   package bar;
@@ -121,32 +110,261 @@
 }
 is $re, '(?^m:)', '/$text/ containing (?{}) inherits pragmata';
 
-on;
-
 fresh_perl_is <<'CODE', '45', { stderr => 1 }, '(?{die})';
- eval { my $a=4; my $b=5; "a" =~ /(?{die})a/ }; print $a,$b"
+my $a=4; my $b=5;  eval { "a" =~ /(?{die})a/ }; print $a,$b;
 CODE
 
-SKIP: {
-    # The remaining TODO tests crash, which will display an error dialog
-    # on Windows that has to be manually dismissed.  We don't want this
-    # to happen for release builds: 5.14.x, 5.16.x etc.
-    # On UNIX, they produce ugly 'Aborted' shell output mixed in with the
-    # test harness output, so skip on all platforms.
-    skip "Don't run crashing TODO test on release build", 3
-	if $::TODO && (int($]*1000) & 1) == 0;
+fresh_perl_is <<'CODE', 'Y45', { stderr => 1 }, '(?{eval{die}})';
+my $a=4; my $b=5;
+"a" =~ /(?{eval { die; print "X" }; print "Y"; })a/; print $a,$b;
+CODE
 
-    fresh_perl_is <<'CODE', '45', { stderr => 1 }, '(?{last})';
-     {  my $a=4; my $b=5; "a" =~ /(?{last})a/ }; print $a,$b
+fresh_perl_is <<'CODE',
+    my $a=4; my $b=5;
+    sub f { "a" =~ /(?{print((caller(0))[3], "\n");})a/ };
+    f();
+    print $a,$b;
 CODE
-    fresh_perl_is <<'CODE', '45', { stderr => 1 }, '(?{next})';
-     {  my $a=4; my $b=5; "a" =~ /(?{last})a/ }; print $a,$b
+    "main::f\n45",
+    { stderr => 1 }, 'sub f {(?{caller})}';
+
+
+fresh_perl_is <<'CODE',
+    my $a=4; my $b=5;
+    sub f { print ((caller(0))[3], "-", (caller(1))[3], "-\n") };
+    "a" =~ /(?{f()})a/;
+    print $a,$b;
 CODE
-    fresh_perl_is <<'CODE', '45', { stderr => 1 }, '(?{return})';
-     print sub {  my $a=4; my $b=5; "a" =~ /(?{return $a.$b})a/ }->();
+    "main::f--\n45",
+    { stderr => 1 }, 'sub f {caller} /(?{f()})/';
+
+
+fresh_perl_is <<'CODE',
+    my $a=4; my $b=5;
+    sub f {
+	"a" =~ /(?{print "X"; return; print "Y"; })a/;
+	print "Z";
+    };
+    f();
+    print $a,$b;
 CODE
+    "XZ45",
+    { stderr => 1 }, 'sub f {(?{return})}';
+
+
+fresh_perl_is <<'CODE',
+my $a=4; my $b=5; "a" =~ /(?{last})a/; print $a,$b
+CODE
+    q{Can't "last" outside a loop block at - line 1.},
+    { stderr => 1 }, '(?{last})';
+
+
+fresh_perl_is <<'CODE',
+my $a=4; my $b=5; "a" =~ /(?{for (1..4) {last}})a/; print $a,$b
+CODE
+    '45',
+    { stderr => 1 }, '(?{for {last}})';
+
+
+fresh_perl_is <<'CODE',
+for (1) {  my $a=4; my $b=5; "a" =~ /(?{last})a/ }; print $a,$b
+CODE
+    q{Can't "last" outside a loop block at - line 1.},
+    { stderr => 1 }, 'for (1) {(?{last})}';
+
+
+fresh_perl_is <<'CODE',
+my $a=4; my $b=5; eval { "a" =~ /(?{last})a/ }; print $a,$b
+CODE
+    '45',
+    { stderr => 1 }, 'eval {(?{last})}';
+
+
+fresh_perl_is <<'CODE',
+my $a=4; my $b=5; "a" =~ /(?{next})a/; print $a,$b
+CODE
+    q{Can't "next" outside a loop block at - line 1.},
+    { stderr => 1 }, '(?{next})';
+
+
+fresh_perl_is <<'CODE',
+my $a=4; my $b=5; "a" =~ /(?{for (1,2,3) { next} })a/; print $a,$b
+CODE
+    '45',
+    { stderr => 1 }, '(?{for {next}})';
+
+
+fresh_perl_is <<'CODE',
+for (1) {  my $a=4; my $b=5; "a" =~ /(?{next})a/ }; print $a,$b
+CODE
+    q{Can't "next" outside a loop block at - line 1.},
+    { stderr => 1 }, 'for (1) {(?{next})}';
+
+
+fresh_perl_is <<'CODE',
+my $a=4; my $b=5; eval { "a" =~ /(?{next})a/ }; print $a,$b
+CODE
+    '45',
+    { stderr => 1 }, 'eval {(?{next})}';
+
+
+fresh_perl_is <<'CODE',
+my $a=4; my $b=5;
+"a" =~ /(?{ goto FOO; print "X"; })a/;
+print "Y";
+FOO:
+print $a,$b
+CODE
+    q{Can't "goto" out of a pseudo block at - line 2.},
+    { stderr => 1 }, '{(?{goto})}';
+
+
+{
+    local $::TODO = "goto doesn't yet work in pseduo blocks";
+fresh_perl_is <<'CODE',
+my $a=4; my $b=5;
+"a" =~ /(?{ goto FOO; print "X"; FOO: print "Y"; })a/;
+print "Z";
+FOO;
+print $a,$b
+CODE
+    "YZ45",
+    { stderr => 1 }, '{(?{goto FOO; FOO:})}';
 }
 
-fresh_perl_is <<'CODE', '45', { stderr => 1 }, '(?{goto})';
-  my $a=4; my $b=5; "a" =~ /(?{goto _})a/; die; _: print $a,$b
+# [perl #3590]
+fresh_perl_is <<'CODE', '', { stderr => 1 }, '(?{eval{die}})';
+"$_$_$_"; my $foo; # these consume pad entries and ensure a SEGV on opd perls
+"" =~ m{(?{exit(0)})};
 CODE
+
+
+# [perl #92256]
+{ my $y = "a"; $y =~ /a(?{ undef *_ })/ }
+pass "undef *_ in a re-eval does not cause a double free";
+
+# make sure regexp warnings are reported on the right line
+# (we don't care what warning; the 32768 limit is just one
+# that was easy to reproduce) */
+{
+    use warnings;
+    my $w;
+    local $SIG{__WARN__} = sub { $w = "@_" };
+    my $qr = qr/(??{'a'})/;
+    my $filler = 1;
+    ("a" x 40_000) =~ /^$qr(ab*)+/; my $line = __LINE__;
+    like($w, qr/recursion limit.* line $line\b/, "warning on right line");
+}
+
+# on immediate exit from pattern with code blocks, make sure PL_curcop is
+# restored
+
+{
+    use re 'eval';
+
+    my $c = '(?{"1"})';
+    my $w = '';
+    my $l;
+
+    local $SIG{__WARN__} = sub { $w .= "@_" };
+    $l = __LINE__; "1" =~ /^1$c/x and warn "foo";
+    like($w, qr/foo.+line $l/, 'curcop 1');
+
+    $w = '';
+    $l = __LINE__; "4" =~ /^1$c/x or warn "foo";
+    like($w, qr/foo.+line $l/, 'curcop 2');
+
+    $c = '(??{"1"})';
+    $l = __LINE__; "1" =~ /^$c/x and warn "foo";
+    like($w, qr/foo.+line $l/, 'curcop 3');
+
+    $w = '';
+    $l = __LINE__; "4" =~ /^$c/x or warn "foo";
+    like($w, qr/foo.+line $l/, 'curcop 4');
+}
+
+# [perl #113928] caller behaving unexpectedly in re-evals
+#
+#   /(?{...})/ should be in the same caller scope as the surrounding code;
+# qr/(?{...})/ should be in an anon sub
+
+{
+
+    my $l;
+
+    sub callers {
+	my @c;
+	my $stack = '';
+	my $i = 1;
+	while (@c = caller($i++)) {
+	    $stack .= "($c[3]:" . ($c[2] - $l) . ')';
+	}
+	$stack;
+    }
+
+    $l = __LINE__;
+    my $c;
+    is (callers(), '', 'callers() null');
+    "" =~ /(?{ $c = callers() })/;
+    is ($c, '', 'callers() //');
+
+    $l = __LINE__;
+    sub m1 { "" =~ /(?{ $c = callers() })/; }
+    m1();
+    is ($c, '(main::m1:2)', 'callers() m1');
+
+    $l = __LINE__;
+    my $r1 = qr/(?{ $c = callers() })/;
+    "" =~ /$r1/;
+    is ($c, '(main::__ANON__:2)', 'callers() r1');
+
+    $l = __LINE__;
+    sub r1 { "" =~ /$r1/; }
+    r1();
+    is ($c, '(main::__ANON__:1)(main::r1:2)', 'callers() r1/r1');
+
+    $l = __LINE__;
+    sub c2 { $c = callers() }
+    my $r2 = qr/(?{ c2 })/;
+    "" =~ /$r2/;
+    is ($c, '(main::c2:2)(main::__ANON__:3)', 'callers() r2/c2');
+    sub r2 { "" =~ /$r2/; }
+    r2();
+    is ($c, '(main::c2:2)(main::__ANON__:5)(main::r2:6)', 'callers() r2/r2/c2');
+
+    $l = __LINE__;
+    sub c3 { $c = callers() }
+    my $r3 = qr/(?{ c3 })/;
+    my $c1;
+    "ABC" =~ /A(?{ $c1 = callers() })B${r3}C/;
+    is ($c, '(main::c3:2)(main::__ANON__:4)', 'callers() r3/c3');
+    is ($c1,'', 'callers() r3/c3 part 2');
+    sub r3 { "ABC" =~ /A(?{ $c1 = callers() })B${r3}C/; }
+    r3();
+    is ($c, '(main::c3:2)(main::__ANON__:7)(main::r3:8)', 'callers() r3/r3/c3');
+    is ($c1,'(main::r3:8)', 'callers() r3/r3/c3 part 2');
+
+}
+
+# [perl #113928] caller behaving unexpectedly in re-evals
+#
+# make sure __SUB__ within a code block returns something safe.
+# NB waht it actually returns is subject to change
+
+{
+
+    my $s;
+
+    sub f1 { /(?{ $s = CORE::__SUB__; })/ }
+    f1();
+    is ($s, \&f1, '__SUB__ direct');
+
+    my $r = qr/(?{ $s = CORE::__SUB__; })/;
+    sub f2 { "" =~ $r }
+    f2();
+    is ($s, \&f2, '__SUB__ qr');
+
+    sub f3 { "AB" =~ /A${r}B/ }
+    f3();
+    is ($s, \&f3, '__SUB__ qr multi');
+}


Property changes on: vendor/perl/dist/t/re/reg_eval_scope.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/reg_fold.t
===================================================================
--- vendor/perl/dist/t/re/reg_fold.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_fold.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,17 +11,53 @@
 use warnings;
 my @tests;
 
-my %todo_pass = map { $_ => 1 }
-	    qw(00DF 1E9E FB00 FB01 FB02 FB03 FB04 FB05 FB06);
+my $file="../lib/unicore/CaseFolding.txt";
+my @folds;
+use Unicode::UCD;
 
-my $file="../lib/unicore/CaseFolding.txt";
-open my $fh,"<",$file or die "Failed to read '$file': $!";
-while (<$fh>) {
+# Use the Unicode data file if we are on an ASCII platform (which its data is
+# for), and it is in the modern format (starting in Unicode 3.1.0) and it is
+# available.  This avoids being affected by potential bugs introduced by other
+# layers of Perl
+if (ord('A') == 65
+    && pack("C*", split /\./, Unicode::UCD::UnicodeVersion()) ge v3.1.0
+    && open my $fh, "<", $file)
+{
+    @folds = <$fh>;
+}
+else {
+    my ($invlist_ref, $invmap_ref, undef, $default)
+                                    = Unicode::UCD::prop_invmap('Case_Folding');
+    for my $i (0 .. @$invlist_ref - 1 - 1) {
+        next if $invmap_ref->[$i] == $default;
+        my $adjust = -1;
+        for my $j ($invlist_ref->[$i] .. $invlist_ref->[$i+1] -1) {
+            $adjust++;
+
+            # Single-code point maps go to a 'C' type
+            if (! ref $invmap_ref->[$i]) {
+                push @folds, sprintf("%04X; C; %04X\n",
+                                     $j,
+                                     $invmap_ref->[$i] + $adjust);
+            }
+            else {  # Multi-code point maps go to 'F'.  prop_invmap()
+                    # guarantees that no adjustment is needed for these,
+                    # as the range will contain just one element
+                push @folds, sprintf("%04X; F; %s\n",
+                                    $j,
+                                    join " ", map { sprintf "%04X", $_ }
+                                                    @{$invmap_ref->[$i]});
+            }
+        }
+    }
+}
+
+for  (@folds) {
     chomp;
     my ($line,$comment)= split/\s+#\s+/, $_;
+    $comment = "" unless defined $comment;
     my ($cp,$type, at folded)=split/[\s;]+/,$line||'';
     next unless $type and ($type eq 'F' or $type eq 'C');
-    next if $type eq 'C';   # 'C' tests now done by fold_grind.t
     my $fold_above_latin1 = grep { hex("0x$_") > 255 } @folded;
     $_="\\x{$_}" for @folded;
     my $cpv=hex("0x$cp");
@@ -28,7 +64,7 @@
     my $chr="\\x{$cp}";
     my @str;
     foreach my $swap (0, 1) {   # swap lhs and rhs, or not.
-        foreach my $charclass (0) {   # Put rhs in [...], or not
+        foreach my $charclass (0, 1) {   # Put rhs in [...], or not
             my $lhs;
             my $rhs;
             if ($swap) {
@@ -36,20 +72,26 @@
                 $rhs = $chr;
                 $rhs = "[$rhs]" if $charclass;
             } else {
+                #next if $charclass && @folded > 1;
                 $lhs = $chr;
                 $rhs = "";
                 foreach my $rhs_char (@folded) {
-                    $rhs .= '[' if $charclass;
+
+                    # The colon is an unrelated character to the rest of the
+                    # class, and makes sure no optimization into an EXACTish
+                    # node occurs.
+                    $rhs .= '[:' if $charclass;
                     $rhs .=  $rhs_char;
                     $rhs .= ']' if $charclass;
                 }
             }
             $lhs = "\"$lhs\"";
-            $rhs = "/^$rhs\$/i";
+            $rhs = "/^$rhs\$/iu";
 
             # Try both Latin1 and Unicode for code points below 256
             foreach my $upgrade ("", 'utf8::upgrade($c); ') {
-                if ($upgrade) {
+                if ($upgrade) { # No need to upgrade if already must be in
+                                # utf8
                     next if $swap && $fold_above_latin1;
                     next if !$swap && $cpv > 255;
                 }
@@ -56,15 +98,9 @@
                 my $eval = "my \$c = $lhs; $upgrade\$c =~ $rhs";
                 #print __LINE__, ": $eval\n";
                 push @tests, qq[ok(eval '$eval', '$eval - $comment')];
-                if ($charclass && @folded > 1 && $swap && ! $upgrade && ! $fold_above_latin1) {
-                    $tests[-1]="TODO: { local \$::TODO='Multi-char, non-utf8 folded inside character class [ ] doesnt work';\n$tests[-1] }"
-                } elsif (! $upgrade && $cpv >= 128 && $cpv <= 255 && $cpv != 0xb5) {
-                    $tests[-1]="TODO: { local \$::TODO='Most non-utf8 latin1 doesnt work';\n$tests[-1] }"
-                } elsif (! $swap && $charclass && @folded > 1
-		    && ! $todo_pass{$cp})
+                if (! $swap && $charclass && @folded > 1)
 		{
-                    # There are a few of these that pass; most fail.
-                    $tests[-1]="TODO: { local \$::TODO='Some multi-char, f8 folded inside character class [ ] doesnt work';\n$tests[-1] }"
+                    $tests[-1]="TODO: { local \$::TODO='A multi-char fold \"foo\", doesnt work for /[f][o][o]/i';\n$tests[-1] }"
                 }
             }
         }
@@ -107,7 +143,7 @@
     $fold_ascii[$lower_ord] = $upper_ord;
 }
 
-# Test every latin1 character that the correct values in both /u and /d
+# Test every latin1 character for the correct values in both /u and /d
 for my $i (0 .. 255) {
     my $chr = sprintf "\\x%02X", $i;
     my $hex_fold_ascii = sprintf "0x%02X", $fold_ascii[$i];
@@ -119,11 +155,12 @@
 
 push @tests, qq[like chr(0x0430), qr/[=\x{0410}-\x{0411}]/i, 'Bug #71752 Unicode /i char in a range'];
 push @tests, qq[like 'a', qr/\\p{Upper}/i, "'a' =~ /\\\\p{Upper}/i"];
-push @tests, q[my $c = "\x{212A}"; my $p = qr/(?:^[\x{004B}_]+$)/i; utf8::upgrade($p); like $c, $p, 'Bug #78994: my $c = "\x{212A}"; my $p = qr/(?:^[\x{004B}_]+$)/i; utf8::upgrade($p); $c =~ $p'];
+push @tests, q[my $c = "\x{212A}"; my $p = qr/(?:^[K_]+$)/i; utf8::upgrade($p); like $c, $p, 'Bug #78994: my $c = "\x{212A}"; my $p = qr/(?:^[K_]+$)/i; utf8::upgrade($p); $c =~ $p'];
 
 use charnames ":full";
-push @tests, q[my $re1 = "\N{WHITE SMILING FACE}";like "\xE8", qr/[\w$re1]/, 'my $re = "\N{WHITE SMILING FACE}"; "\xE8" =~ qr/[\w$re]/'];
-push @tests, q[my $re2 = "\N{WHITE SMILING FACE}";like "\xE8", qr/\w|$re2/, 'my $re = "\N{WHITE SMILING FACE}"; "\xE8" =~ qr/\w|$re/'];
+my $e_grave = latin1_to_native("\xE8");
+push @tests, q[my $re1 = "\N{WHITE SMILING FACE}";like $e_grave, qr/[\w$re1]/, 'my $re = "\N{WHITE SMILING FACE}"; $e_grave =~ qr/[\w$re]/'];
+push @tests, q[my $re2 = "\N{WHITE SMILING FACE}";like $e_grave, qr/\w|$re2/, 'my $re = "\N{WHITE SMILING FACE}"; $e_grave =~ qr/\w|$re/'];
 
 eval join ";\n","plan tests=>". (scalar @tests), @tests, "1"
     or die $@;


Property changes on: vendor/perl/dist/t/re/reg_fold.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/reg_mesg.t
===================================================================
--- vendor/perl/dist/t/re/reg_mesg.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_mesg.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -15,12 +15,29 @@
 ## arrays below. The {#} is a meta-marker -- it marks where the marker should
 ## go.
 ##
+## Returns empty string if that is what is expected.  Otherwise, handles
+## either a scalar, turning it into a single element array; or a ref to an
+## array, adjusting each element.  If called in array context, returns an
+## array, otherwise the join of all elements
+
 sub fixup_expect {
-    my $expect = shift;
-    $expect =~ s/{\#}/<-- HERE/;
-    $expect =~ s/{\#}/ <-- HERE /;
-    $expect .= " at ";
-    return $expect;
+    my $expect_ref = shift;
+    return if $expect_ref eq "";
+
+    my @expect;
+    if (ref $expect_ref) {
+        @expect = @$expect_ref;
+    }
+    else {
+        @expect = $expect_ref;
+    }
+
+    foreach my $element (@expect) {
+        $element =~ s/{\#}/in regex; marked by <-- HERE in/;
+        $element =~ s/{\#}/ <-- HERE /;
+        $element .= " at ";
+    }
+    return wantarray ? @expect : join "", @expect;
 }
 
 my $inf_m1 = ($Config::Config{reg_infty} || 32767) - 1;
@@ -31,102 +48,224 @@
 ##
 my @death =
 (
- '/[[=foo=]]/' => 'POSIX syntax [= =] is reserved for future extensions in regex; marked by {#} in m/[[=foo=]{#}]/',
+ '/[[=foo=]]/' => 'POSIX syntax [= =] is reserved for future extensions {#} m/[[=foo=]{#}]/',
 
  '/(?<= .*)/' =>  'Variable length lookbehind not implemented in regex m/(?<= .*)/',
 
  '/(?<= x{1000})/' => 'Lookbehind longer than 255 not implemented in regex m/(?<= x{1000})/',
 
- '/(?@)/' => 'Sequence (?@...) not implemented in regex; marked by {#} in m/(?@{#})/',
+ '/(?@)/' => 'Sequence (?@...) not implemented {#} m/(?@{#})/',
 
- '/(?{ 1/' => 'Sequence (?{...}) not terminated or not {}-balanced in regex; marked by {#} in m/(?{{#} 1/',
+ '/(?{ 1/' => 'Missing right curly or square bracket',
 
- '/(?(1x))/' => 'Switch condition not recognized in regex; marked by {#} in m/(?(1x{#}))/',
+ '/(?(1x))/' => 'Switch condition not recognized {#} m/(?(1x{#}))/',
 
- '/(?(1)x|y|z)/' => 'Switch (?(condition)... contains too many branches in regex; marked by {#} in m/(?(1)x|y|{#}z)/',
+ '/(?(1)x|y|z)/' => 'Switch (?(condition)... contains too many branches {#} m/(?(1)x|y|{#}z)/',
 
- '/(?(x)y|x)/' => 'Unknown switch condition (?(x) in regex; marked by {#} in m/(?({#}x)y|x)/',
+ '/(?(x)y|x)/' => 'Unknown switch condition (?(x) {#} m/(?({#}x)y|x)/',
 
- '/(?/' => 'Sequence (? incomplete in regex; marked by {#} in m/(?{#}/',
+ '/(?/' => 'Sequence (? incomplete {#} m/(?{#}/',
 
- '/(?;x/' => 'Sequence (?;...) not recognized in regex; marked by {#} in m/(?;{#}x/',
- '/(?<;x/' => 'Sequence (?<;...) not recognized in regex; marked by {#} in m/(?<;{#}x/',
+ '/(?;x/' => 'Sequence (?;...) not recognized {#} m/(?;{#}x/',
+ '/(?<;x/' => 'Group name must start with a non-digit word character {#} m/(?<;{#}x/',
+ '/(?\ix/' => 'Sequence (?\...) not recognized {#} m/(?\{#}ix/',
+ '/(?\mx/' => 'Sequence (?\...) not recognized {#} m/(?\{#}mx/',
+ '/(?\:x/' => 'Sequence (?\...) not recognized {#} m/(?\{#}:x/',
+ '/(?\=x/' => 'Sequence (?\...) not recognized {#} m/(?\{#}=x/',
+ '/(?\!x/' => 'Sequence (?\...) not recognized {#} m/(?\{#}!x/',
+ '/(?\<=x/' => 'Sequence (?\...) not recognized {#} m/(?\{#}<=x/',
+ '/(?\<!x/' => 'Sequence (?\...) not recognized {#} m/(?\{#}<!x/',
+ '/(?\>x/' => 'Sequence (?\...) not recognized {#} m/(?\{#}>x/',
+ '/(?^-i:foo)/' => 'Sequence (?^-...) not recognized {#} m/(?^-{#}i:foo)/',
+ '/(?^-i)foo/' => 'Sequence (?^-...) not recognized {#} m/(?^-{#}i)foo/',
+ '/(?^d:foo)/' => 'Sequence (?^d...) not recognized {#} m/(?^d{#}:foo)/',
+ '/(?^d)foo/' => 'Sequence (?^d...) not recognized {#} m/(?^d{#})foo/',
+ '/(?^lu:foo)/' => 'Regexp modifiers "l" and "u" are mutually exclusive {#} m/(?^lu{#}:foo)/',
+ '/(?^lu)foo/' => 'Regexp modifiers "l" and "u" are mutually exclusive {#} m/(?^lu{#})foo/',
+'/(?da:foo)/' => 'Regexp modifiers "d" and "a" are mutually exclusive {#} m/(?da{#}:foo)/',
+'/(?lil:foo)/' => 'Regexp modifier "l" may not appear twice {#} m/(?lil{#}:foo)/',
+'/(?aaia:foo)/' => 'Regexp modifier "a" may appear a maximum of twice {#} m/(?aaia{#}:foo)/',
+'/(?i-l:foo)/' => 'Regexp modifier "l" may not appear after the "-" {#} m/(?i-l{#}:foo)/',
 
- '/(?\ix/' => 'Sequence (?\...) not recognized in regex; marked by {#} in m/(?\{#}ix/',
- '/(?\mx/' => 'Sequence (?\...) not recognized in regex; marked by {#} in m/(?\{#}mx/',
- '/(?\:x/' => 'Sequence (?\...) not recognized in regex; marked by {#} in m/(?\{#}:x/',
- '/(?\=x/' => 'Sequence (?\...) not recognized in regex; marked by {#} in m/(?\{#}=x/',
- '/(?\!x/' => 'Sequence (?\...) not recognized in regex; marked by {#} in m/(?\{#}!x/',
- '/(?\<=x/' => 'Sequence (?\...) not recognized in regex; marked by {#} in m/(?\{#}<=x/',
- '/(?\<!x/' => 'Sequence (?\...) not recognized in regex; marked by {#} in m/(?\{#}<!x/',
- '/(?\>x/' => 'Sequence (?\...) not recognized in regex; marked by {#} in m/(?\{#}>x/',
- '/(?^-i:foo)/' => 'Sequence (?^-...) not recognized in regex; marked by {#} in m/(?^-{#}i:foo)/',
- '/(?^-i)foo/' => 'Sequence (?^-...) not recognized in regex; marked by {#} in m/(?^-{#}i)foo/',
- '/(?^d:foo)/' => 'Sequence (?^d...) not recognized in regex; marked by {#} in m/(?^d{#}:foo)/',
- '/(?^d)foo/' => 'Sequence (?^d...) not recognized in regex; marked by {#} in m/(?^d{#})foo/',
- '/(?^lu:foo)/' => 'Regexp modifiers "l" and "u" are mutually exclusive in regex; marked by {#} in m/(?^lu{#}:foo)/',
- '/(?^lu)foo/' => 'Regexp modifiers "l" and "u" are mutually exclusive in regex; marked by {#} in m/(?^lu{#})foo/',
-'/(?da:foo)/' => 'Regexp modifiers "d" and "a" are mutually exclusive in regex; marked by {#} in m/(?da{#}:foo)/',
-'/(?lil:foo)/' => 'Regexp modifier "l" may not appear twice in regex; marked by {#} in m/(?lil{#}:foo)/',
-'/(?aaia:foo)/' => 'Regexp modifier "a" may appear a maximum of twice in regex; marked by {#} in m/(?aaia{#}:foo)/',
-'/(?i-l:foo)/' => 'Regexp modifier "l" may not appear after the "-" in regex; marked by {#} in m/(?i-l{#}:foo)/',
+ '/((x)/' => 'Unmatched ( {#} m/({#}(x)/',
 
- '/((x)/' => 'Unmatched ( in regex; marked by {#} in m/({#}(x)/',
+ "/x{$inf_p1}/" => "Quantifier in {,} bigger than $inf_m1 {#} m/x{{#}$inf_p1}/",
 
- "/x{$inf_p1}/" => "Quantifier in {,} bigger than $inf_m1 in regex; marked by {#} in m/x{{#}$inf_p1}/",
 
- '/x{3,1}/' => 'Can\'t do {n,m} with n > m in regex; marked by {#} in m/x{3,1}{#}/',
+ '/x**/' => 'Nested quantifiers {#} m/x**{#}/',
 
- '/x**/' => 'Nested quantifiers in regex; marked by {#} in m/x**{#}/',
+ '/x[/' => 'Unmatched [ {#} m/x[{#}/',
 
- '/x[/' => 'Unmatched [ in regex; marked by {#} in m/x[{#}/',
+ '/*/', => 'Quantifier follows nothing {#} m/*{#}/',
 
- '/*/', => 'Quantifier follows nothing in regex; marked by {#} in m/*{#}/',
+ '/\p{x/' => 'Missing right brace on \p{} {#} m/\p{{#}x/',
 
- '/\p{x/' => 'Missing right brace on \p{} in regex; marked by {#} in m/\p{{#}x/',
+ '/[\p{x]/' => 'Missing right brace on \p{} {#} m/[\p{{#}x]/',
 
- '/[\p{x]/' => 'Missing right brace on \p{} in regex; marked by {#} in m/[\p{{#}x]/',
+ '/(x)\2/' => 'Reference to nonexistent group {#} m/(x)\2{#}/',
 
- '/(x)\2/' => 'Reference to nonexistent group in regex; marked by {#} in m/(x)\2{#}/',
-
  'my $m = "\\\"; $m =~ $m', => 'Trailing \ in regex m/\/',
 
- '/\x{1/' => 'Missing right brace on \x{} in regex; marked by {#} in m/\x{{#}1/',
+ '/\x{1/' => 'Missing right brace on \x{} {#} m/\x{1{#}/',
+ '/\x{X/' => 'Missing right brace on \x{} {#} m/\x{{#}X/',
 
- '/[\x{X]/' => 'Missing right brace on \x{} in regex; marked by {#} in m/[\x{{#}X]/',
+ '/[\x{X]/' => 'Missing right brace on \x{} {#} m/[\x{{#}X]/',
+ '/[\x{A]/' => 'Missing right brace on \x{} {#} m/[\x{A{#}]/',
 
- '/[[:barf:]]/' => 'POSIX class [:barf:] unknown in regex; marked by {#} in m/[[:barf:]{#}]/',
+ '/\o{1/' => 'Missing right brace on \o{ {#} m/\o{1{#}/',
+ '/\o{X/' => 'Missing right brace on \o{ {#} m/\o{{#}X/',
 
- '/[[=barf=]]/' => 'POSIX syntax [= =] is reserved for future extensions in regex; marked by {#} in m/[[=barf=]{#}]/',
+ '/[\o{X]/' => 'Missing right brace on \o{ {#} m/[\o{{#}X]/',
+ '/[\o{7]/' => 'Missing right brace on \o{ {#} m/[\o{7{#}]/',
 
- '/[[.barf.]]/' => 'POSIX syntax [. .] is reserved for future extensions in regex; marked by {#} in m/[[.barf.]{#}]/',
-  
- '/[z-a]/' => 'Invalid [] range "z-a" in regex; marked by {#} in m/[z-a{#}]/',
+ '/[[:barf:]]/' => 'POSIX class [:barf:] unknown {#} m/[[:barf:]{#}]/',
 
- '/\p/' => 'Empty \p{} in regex; marked by {#} in m/\p{#}/',
+ '/[[=barf=]]/' => 'POSIX syntax [= =] is reserved for future extensions {#} m/[[=barf=]{#}]/',
 
- '/\P{}/' => 'Empty \P{} in regex; marked by {#} in m/\P{{#}}/',
+ '/[[.barf.]]/' => 'POSIX syntax [. .] is reserved for future extensions {#} m/[[.barf.]{#}]/',
+
+ '/[z-a]/' => 'Invalid [] range "z-a" {#} m/[z-a{#}]/',
+
+ '/\p/' => 'Empty \p{} {#} m/\p{#}/',
+
+ '/\P{}/' => 'Empty \P{} {#} m/\P{{#}}/',
+ '/(?[[[:word]]])/' => "Unmatched ':' in POSIX class {#} m/(?[[[:word{#}]]])/",
+ '/(?[[:word]])/' => "Unmatched ':' in POSIX class {#} m/(?[[:word{#}]])/",
+ '/(?[[[:digit: ])/' => "Unmatched '[' in POSIX class {#} m/(?[[[:digit:{#} ])/",
+ '/(?[[:digit: ])/' => "Unmatched '[' in POSIX class {#} m/(?[[:digit:{#} ])/",
+ '/(?[[[::]]])/' => "POSIX class [::] unknown {#} m/(?[[[::]{#}]])/",
+ '/(?[[[:w:]]])/' => "POSIX class [:w:] unknown {#} m/(?[[[:w:]{#}]])/",
+ '/(?[[:w:]])/' => "POSIX class [:w:] unknown {#} m/(?[[:w:]{#}])/",
+ '/(?[a])/' =>  'Unexpected character {#} m/(?[a{#}])/',
+ '/(?[\t])/l' => '(?[...]) not valid in locale {#} m/(?[{#}\t])/',
+ '/(?[ + \t ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/(?[ +{#} \t ])/',
+ '/(?[ \cK - ( + \t ) ])/' => 'Unexpected binary operator \'+\' with no preceding operand {#} m/(?[ \cK - ( +{#} \t ) ])/',
+ '/(?[ \cK ( \t ) ])/' => 'Unexpected \'(\' with no preceding operator {#} m/(?[ \cK ({#} \t ) ])/',
+ '/(?[ \cK \t ])/' => 'Operand with no preceding operator {#} m/(?[ \cK \t{#} ])/',
+ '/(?[ \0004 ])/' => 'Need exactly 3 octal digits {#} m/(?[ \0004 {#}])/',
+ '/(?[ \05 ])/' => 'Need exactly 3 octal digits {#} m/(?[ \05 {#}])/',
+ '/(?[ \o{1038} ])/' => 'Non-octal character {#} m/(?[ \o{1038{#}} ])/',
+ '/(?[ \o{} ])/' => 'Number with no digits {#} m/(?[ \o{}{#} ])/',
+ '/(?[ \x{defg} ])/' => 'Non-hex character {#} m/(?[ \x{defg{#}} ])/',
+ '/(?[ \xabcdef ])/' => 'Use \\x{...} for more than two hex characters {#} m/(?[ \xabc{#}def ])/',
+ '/(?[ \x{} ])/' => 'Number with no digits {#} m/(?[ \x{}{#} ])/',
+ '/(?[ \cK + ) ])/' => 'Unexpected \')\' {#} m/(?[ \cK + ){#} ])/',
+ '/(?[ \cK + ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ \cK + {#}])/',
+ '/(?[ \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{#} ])/',
+ '/(?[ \t ]/' => 'Syntax error in (?[...]) in regex m/(?[ \t ]/',
+ '/(?[ [ \t ]/' => 'Syntax error in (?[...]) in regex m/(?[ [ \t ]/',
+ '/(?[ \t ] ]/' => 'Syntax error in (?[...]) in regex m/(?[ \t ] ]/',
+ '/(?[ [ ] ]/' => 'Syntax error in (?[...]) in regex m/(?[ [ ] ]/',
+ '/(?[ \t + \e # This was supposed to be a comment ])/' => 'Syntax error in (?[...]) in regex m/(?[ \t + \e # This was supposed to be a comment ])/',
+ '/(?[ ])/' => 'Incomplete expression within \'(?[ ])\' {#} m/(?[ {#}])/',
+ 'm/(?[[a-\d]])/' => 'False [] range "a-\d" {#} m/(?[[a-\d{#}]])/',
+ 'm/(?[[\w-x]])/' => 'False [] range "\w-" {#} m/(?[[\w-{#}x]])/',
+ 'm/(?[[a-\pM]])/' => 'False [] range "a-\pM" {#} m/(?[[a-\pM{#}]])/',
+ 'm/(?[[\pM-x]])/' => 'False [] range "\pM-" {#} m/(?[[\pM-{#}x]])/',
+ 'm/(?[[\N{LATIN CAPITAL LETTER A WITH MACRON AND GRAVE}]])/' => '\N{} in character class restricted to one character {#} m/(?[[\N{U+100.300{#}}]])/',
+ 'm/(?[ \p{Digit} & (?(?[ \p{Thai} | \p{Lao} ]))])/' => 'Sequence (?(...) not recognized {#} m/(?[ \p{Digit} & (?({#}?[ \p{Thai} | \p{Lao} ]))])/',
+ 'm/(?[ \p{Digit} & (?:(?[ \p{Thai} | \p{Lao} ]))])/' => 'Expecting \'(?flags:(?[...\' {#} m/(?[ \p{Digit} & (?{#}:(?[ \p{Thai} | \p{Lao} ]))])/',
+ 'm/\o{/' => 'Missing right brace on \o{ {#} m/\o{{#}/',
+ 'm/\o/' => 'Missing braces on \o{} {#} m/\o{#}/',
+ 'm/\o{}/' => 'Number with no digits {#} m/\o{}{#}/',
+ 'm/[\o{]/' => 'Missing right brace on \o{ {#} m/[\o{{#}]/',
+ 'm/[\o]/' => 'Missing braces on \o{} {#} m/[\o{#}]/',
+ 'm/[\o{}]/' => 'Number with no digits {#} m/[\o{}{#}]/',
+ 'm/(?^-i:foo)/' => 'Sequence (?^-...) not recognized {#} m/(?^-{#}i:foo)/',
 );
+# Tests involving a user-defined charnames translator are in pat_advanced.t
 
+# In the following arrays of warnings, the value can be an array of things to
+# expect.  If the empty string, it means no warning should be raised.
+
 ##
-## Key-value pairs of code/error of code that should have non-fatal warnings.
+## Key-value pairs of code/error of code that should have non-fatal regexp warnings.
 ##
 my @warning = (
-    'm/\b*/' => '\b* matches null string many times in regex; marked by {#} in m/\b*{#}/',
+    'm/\b*/' => '\b* matches null string many times {#} m/\b*{#}/',
 
-    'm/[:blank:]/' => 'POSIX syntax [: :] belongs inside character classes in regex; marked by {#} in m/[:blank:]{#}/',
+    'm/[:blank:]/' => 'POSIX syntax [: :] belongs inside character classes {#} m/[:blank:]{#}/',
 
-    "m'[\\y]'"     => 'Unrecognized escape \y in character class passed through in regex; marked by {#} in m/[\y{#}]/',
+    "m'[\\y]'"     => 'Unrecognized escape \y in character class passed through {#} m/[\y{#}]/',
 
-    'm/[a-\d]/' => 'False [] range "a-\d" in regex; marked by {#} in m/[a-\d{#}]/',
-    'm/[\w-x]/' => 'False [] range "\w-" in regex; marked by {#} in m/[\w-{#}x]/',
-    'm/[a-\pM]/' => 'False [] range "a-\pM" in regex; marked by {#} in m/[a-\pM{#}]/',
-    'm/[\pM-x]/' => 'False [] range "\pM-" in regex; marked by {#} in m/[\pM-{#}x]/',
-    "m'\\y'"     => 'Unrecognized escape \y passed through in regex; marked by {#} in m/\y{#}/',
+    'm/[a-\d]/' => 'False [] range "a-\d" {#} m/[a-\d{#}]/',
+    'm/[\w-x]/' => 'False [] range "\w-" {#} m/[\w-{#}x]/',
+    'm/[a-\pM]/' => 'False [] range "a-\pM" {#} m/[a-\pM{#}]/',
+    'm/[\pM-x]/' => 'False [] range "\pM-" {#} m/[\pM-{#}x]/',
+    "m'\\y'"     => 'Unrecognized escape \y passed through {#} m/\y{#}/',
+    '/x{3,1}/'   => 'Quantifier {n,m} with n > m can\'t match {#} m/x{3,1}{#}/',
+    '/\08/' => '\'\08\' resolved to \'\o{0}8\' {#} m/\08{#}/',
+    '/\018/' => '\'\018\' resolved to \'\o{1}8\' {#} m/\018{#}/',
+    '/[\08]/' => '\'\08\' resolved to \'\o{0}8\' {#} m/[\08{#}]/',
+    '/[\018]/' => '\'\018\' resolved to \'\o{1}8\' {#} m/[\018{#}]/',
+    '/\87/' => 'Unrecognized escape \8 passed through {#} m/\8{#}7/',
+    '/a\87/' => 'Unrecognized escape \8 passed through {#} m/a\8{#}7/',
+    '/a\97/' => 'Unrecognized escape \9 passed through {#} m/a\9{#}7/',
+    '/(?=a)*/' => '(?=a)* matches null string many times {#} m/(?=a)*{#}/',
+    'my $x = \'\m\'; qr/a$x/' => 'Unrecognized escape \m passed through {#} m/a\m{#}/',
+    '/\q/' => 'Unrecognized escape \q passed through {#} m/\q{#}/',
+    '/\q{/' => 'Unrecognized escape \q{ passed through {#} m/\q{{#}/',
+    '/(?=a){1,3}/' => 'Quantifier unexpected on zero-length expression {#} m/(?=a){1,3}{#}/',
+    '/\_/' => "",
+    '/[\_\0]/' => "",
+    '/[\07]/' => "",
+    '/[\006]/' => "",
+    '/[\0005]/' => "",
+    '/[\8\9]/' => ['Unrecognized escape \8 in character class passed through {#} m/[\8{#}\9]/',
+                   'Unrecognized escape \9 in character class passed through {#} m/[\8\9{#}]/',
+                  ],
+    '/[:alpha:]/' => 'POSIX syntax [: :] belongs inside character classes {#} m/[:alpha:]{#}/',
+    '/[:zog:]/' => 'POSIX syntax [: :] belongs inside character classes {#} m/[:zog:]{#}/',
+    '/[.zog.]/' => 'POSIX syntax [. .] belongs inside character classes {#} m/[.zog.]{#}/',
+    '/[a-b]/' => "",
+    '/[a-\d]/' => 'False [] range "a-\d" {#} m/[a-\d{#}]/',
+    '/[\d-b]/' => 'False [] range "\d-" {#} m/[\d-{#}b]/',
+    '/[\s-\d]/' => 'False [] range "\s-" {#} m/[\s-{#}\d]/',
+    '/[\d-\s]/' => 'False [] range "\d-" {#} m/[\d-{#}\s]/',
+    '/[a-[:digit:]]/' => 'False [] range "a-[:digit:]" {#} m/[a-[:digit:]{#}]/',
+    '/[[:digit:]-b]/' => 'False [] range "[:digit:]-" {#} m/[[:digit:]-{#}b]/',
+    '/[[:alpha:]-[:digit:]]/' => 'False [] range "[:alpha:]-" {#} m/[[:alpha:]-{#}[:digit:]]/',
+    '/[[:digit:]-[:alpha:]]/' => 'False [] range "[:digit:]-" {#} m/[[:digit:]-{#}[:alpha:]]/',
+    '/[a\zb]/' => 'Unrecognized escape \z in character class passed through {#} m/[a\z{#}b]/',
+    '/(?c)/' => 'Useless (?c) - use /gc modifier {#} m/(?c{#})/',
+    '/(?-c)/' => 'Useless (?-c) - don\'t use /gc modifier {#} m/(?-c{#})/',
+    '/(?g)/' => 'Useless (?g) - use /g modifier {#} m/(?g{#})/',
+    '/(?-g)/' => 'Useless (?-g) - don\'t use /g modifier {#} m/(?-g{#})/',
+    '/(?o)/' => 'Useless (?o) - use /o modifier {#} m/(?o{#})/',
+    '/(?-o)/' => 'Useless (?-o) - don\'t use /o modifier {#} m/(?-o{#})/',
+    '/(?g-o)/' => [ 'Useless (?g) - use /g modifier {#} m/(?g{#}-o)/',
+                    'Useless (?-o) - don\'t use /o modifier {#} m/(?g-o{#})/',
+                  ],
+    '/(?g-c)/' => [ 'Useless (?g) - use /g modifier {#} m/(?g{#}-c)/',
+                    'Useless (?-c) - don\'t use /gc modifier {#} m/(?g-c{#})/',
+                  ],
+      # (?c) means (?g) error won't be thrown
+     '/(?o-cg)/' => [ 'Useless (?o) - use /o modifier {#} m/(?o{#}-cg)/',
+                      'Useless (?-c) - don\'t use /gc modifier {#} m/(?o-c{#}g)/',
+                    ],
+    '/(?ogc)/' => [ 'Useless (?o) - use /o modifier {#} m/(?o{#}gc)/',
+                    'Useless (?g) - use /g modifier {#} m/(?og{#}c)/',
+                    'Useless (?c) - use /gc modifier {#} m/(?ogc{#})/',
+                  ],
 );
 
+my @experimental_regex_sets = (
+    '/(?[ \t ])/' => 'The regex_sets feature is experimental {#} m/(?[{#} \t ])/',
+);
+
+my @deprecated = (
+    '/a\b{cde/' => '"\b{" is deprecated; use "\b\{" or "\b[{]" instead {#} m/a\{#}b{cde/',
+    '/a\B{cde/' => '"\B{" is deprecated; use "\B\{" or "\B[{]" instead {#} m/a\{#}B{cde/',
+    'use utf8; /(?x)\

\
/' => 'Escape literal pattern white space under /x {#} m/(?x)\

{#}\
/',
+    '/((?# This is a comment in the middle of a token)?:foo)/' => 'In \'(?...)\', splitting the initial \'(?\' is deprecated {#} 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...)\', splitting the initial \'(*\' is deprecated {#} m/((?# This is a comment in the middle of a token)*{#}FAIL)/',
+);
+
 while (my ($regex, $expect) = splice @death, 0, 2) {
     my $expect = fixup_expect($expect);
+    no warnings 'experimental::regex_sets';
     # skip the utf8 test on EBCDIC since they do not die
     next if $::IS_EBCDIC && $regex =~ /utf8/;
 
@@ -133,17 +272,48 @@
     warning_is(sub {
 		   $_ = "x";
 		   eval $regex;
-		   like($@, qr/\Q$expect/);
-	       }, undef, "$regex died without any other warnings");
+		   like($@, qr/\Q$expect/, $regex);
+	       }, undef, "... and died without any other warnings");
 }
 
-while (my ($regex, $expect) = splice @warning, 0, 2) {
-    my $expect = fixup_expect($expect);
-    warning_like(sub {
-		     $_ = "x";
-		     eval $regex;
-		     is($@, '', "$regex did not die");
-		 }, qr/\Q$expect/);
+foreach my $ref (\@warning, \@experimental_regex_sets, \@deprecated) {
+    my $warning_type = ($ref == \@warning)
+                       ? 'regexp'
+                       : ($ref == \@deprecated)
+                         ? 'regexp, deprecated'
+                         : 'experimental::regex_sets';
+    while (my ($regex, $expect) = splice @$ref, 0, 2) {
+        my @expect = fixup_expect($expect);
+        {
+            $_ = "x";
+            no warnings;
+            eval $regex;
+        }
+        if (is($@, "", "$regex did not die")) {
+            my @got = capture_warnings(sub {
+                                    $_ = "x";
+                                    eval $regex });
+            my $count = @expect;
+            if (! is(scalar @got, scalar @expect, "... and gave expected number ($count) of warnings")) {
+                if (@got < @expect) {
+                    $count = @got;
+                    note "Expected warnings not gotten:\n\t" . join "\n\t", @expect[$count .. $#expect];
+                }
+                else {
+                    note "Unexpected warnings gotten:\n\t" . join("\n\t", @got[$count .. $#got]);
+                }
+            }
+            foreach my $i (0 .. $count - 1) {
+                if (like($got[$i], qr/\Q$expect[$i]/, "... and gave expected warning[$i]")) {
+                    ok (0 == capture_warnings(sub {
+                                    $_ = "x";
+                                    eval "no warnings '$warning_type'; $regex;" }
+                                ),
+                    "... and turning off '$warning_type' warnings suppressed it");
+                }
+            }
+        }
+    }
 }
 
 done_testing();


Property changes on: vendor/perl/dist/t/re/reg_mesg.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/reg_namedcapture.t
===================================================================
--- vendor/perl/dist/t/re/reg_namedcapture.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_namedcapture.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/reg_namedcapture.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/reg_nc_tie.t
===================================================================
--- vendor/perl/dist/t/re/reg_nc_tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_nc_tie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/reg_nc_tie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/reg_pmod.t
===================================================================
--- vendor/perl/dist/t/re/reg_pmod.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_pmod.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,39 +11,65 @@
 
 our @tests = (
     # /p      Pattern   PRE     MATCH   POST
-    [ '/p',   "456",    "123-", "456",  "-789"],
-    [ '(?p)', "456",    "123-", "456",  "-789"],
-    [ '',     "(456)",  "123-", "456",  "-789"],
-    [ '',     "456",    undef,  undef,  undef ],
+    [ '/p',   "345",    "12-", "345",  "-6789"],
+    [ '(?p)', "345",    "12-", "345",  "-6789"],
+    [ '(?p:)',"345",    "12-", "345",  "-6789"],
+    [ '',     "(345)",  undef,  undef,  undef ],
+    [ '',     "345",    undef,  undef,  undef ],
 );
 
-plan tests => 4 * @tests + 2;
+plan tests => 14 * @tests + 4;
 my $W = "";
 
 $SIG{__WARN__} = sub { $W.=join("", at _); };
 sub _u($$) { "$_[0] is ".(defined $_[1] ? "'$_[1]'" : "undef") }
 
-$_ = '123-456-789';
 foreach my $test (@tests) {
     my ($p, $pat,$l,$m,$r) = @$test;
-    my $test_name = $p eq '/p'   ? "/$pat/p"
-                  : $p eq '(?p)' ? "/(?p)$pat/"
-                  :                "/$pat/";
+    for my $sub (0,1) {
+	my $test_name = $p eq '/p'   ? "/$pat/p"
+		      : $p eq '(?p)' ? "/(?p)$pat/"
+		      : $p eq '(?p:)'? "/(?p:$pat)/"
+		      :                "/$pat/";
+	$test_name = "s$test_name" if $sub;
 
-    #
-    # Cannot use if/else due to the scope invalidating ${^MATCH} and friends.
-    #
-    my $ok = ok $p eq '/p'   ? /$pat/p
-              : $p eq '(?p)' ? /(?p)$pat/
-              :                /$pat/
-              => $test_name;
-    SKIP: {
-        skip "/$pat/$p failed to match", 3
-            unless $ok;
-        is(${^PREMATCH},  $l,_u "$test_name: ^PREMATCH",$l);
-        is(${^MATCH},     $m,_u "$test_name: ^MATCH",$m );
-        is(${^POSTMATCH}, $r,_u "$test_name: ^POSTMATCH",$r );
+	#
+	# Cannot use if/else due to the scope invalidating ${^MATCH} and friends.
+	#
+	$_ = '12-345-6789';
+	my $ok =
+		$sub ?
+			(   $p eq '/p'   ? s/$pat/abc/p
+			  : $p eq '(?p)' ? s/(?p)$pat/abc/
+			  : $p eq '(?p:)'? s/(?p:$pat)/abc/
+			  :                s/$pat/abc/
+			)
+		     :
+			(   $p eq '/p'   ? /$pat/p
+			  : $p eq '(?p)' ? /(?p)$pat/
+			  : $p eq '(?p:)'? /(?p:$pat)/
+			  :                /$pat/
+			);
+	ok $ok, $test_name;
+	SKIP: {
+	    skip "/$pat/$p failed to match", 6
+		unless $ok;
+	    is(${^PREMATCH},  $l,_u "$test_name: ^PREMATCH",$l);
+	    is(${^MATCH},     $m,_u "$test_name: ^MATCH",$m );
+	    is(${^POSTMATCH}, $r,_u "$test_name: ^POSTMATCH",$r );
+	    is(length ${^PREMATCH}, length $l, "$test_name: ^PREMATCH length");
+	    is(length ${^MATCH},    length $m, "$test_name: ^MATCH length");
+	    is(length ${^POSTMATCH},length $r, "$test_name: ^POSTMATCH length");
+	}
     }
 }
 is($W,"","No warnings should be produced");
 ok(!defined ${^MATCH}, "No /p in scope so ^MATCH is undef");
+
+#RT 117135
+
+{
+    my $m;
+    ok("a"=~ /(?p:a(?{ $m = ${^MATCH} }))/, '(?{})');
+    is($m, 'a', '(?{}) ^MATCH');
+}


Property changes on: vendor/perl/dist/t/re/reg_pmod.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/reg_posixcc.t
===================================================================
--- vendor/perl/dist/t/re/reg_posixcc.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/reg_posixcc.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,6 +17,10 @@
 	    "\\S",
 	    "\\d",
 	    "\\D",
+            "\\h",
+	    "\\H",
+            "\\v",
+	    "\\V",
 	    "[:alnum:]",
 	    "[:^alnum:]",
 	    "[:alpha:]",
@@ -97,6 +101,20 @@
             $got{"[$no]"}{$type} = $str=~/[$no]/ ? 1 : 0;
             $got{"[^$yes]"}{$type} = $str=~/[^$yes]/ ? 1 : 0;
             $got{"[^$no]"}{$type} = $str=~/[^$no]/ ? 1 : 0;
+
+            # For \w, \s, and \d, \h, \v, also test without being in character
+            # classes.
+            next if $yes =~ /\[/;
+
+            # The rest of this .t was written when there were many test
+            # failures, so it goes to some lengths to summarize things.  Now
+            # those are fixed, so these missing tests just do standard
+            # procedures
+
+            my $chr = chr($b);
+            utf8::upgrade $chr if $type eq 'unicode';
+            ok (($chr =~ /$yes/) != ($chr =~ /$no/),
+                "$type: chr($display_b) isn't both $yes and $no");
         }
         foreach my $which ("[$yes]","[$no]","[^$yes]","[^$no]") {
             if ($got{$which}{'unicode'} != $got{$which}{'not-unicode'}){


Property changes on: vendor/perl/dist/t/re/reg_posixcc.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/regexp.t
===================================================================
--- vendor/perl/dist/t/re/regexp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,6 +18,8 @@
 #	B	test exposes a known bug in Perl, should be skipped
 #	b	test exposes a known bug in Perl, should be skipped if noamp
 #	t	test exposes a bug with threading, TODO if qr_embed_thr
+#       s       test should only be run for regex_sets_compat.t
+#       S       test should not be run for regex_sets_compat.t
 #
 # Columns 4 and 5 are used only if column 3 contains C<y> or C<c>.
 #
@@ -44,7 +46,7 @@
 # Note that columns 2,3 and 5 are all enclosed in double quotes and then
 # evalled; so something like a\"\x{100}$1 has length 3+length($1).
 
-my $file;
+my ($file, $iters);
 BEGIN {
     $iters = shift || 1;	# Poor man performance suite, 10000 is OK.
 
@@ -59,15 +61,20 @@
 
 }
 
+sub _comment {
+    return map { /^#/ ? "$_\n" : "# $_\n" }
+           map { split /\n/ } @_;
+}
+
 use strict;
 use warnings FATAL=>"all";
-use vars qw($iters $numtests $bang $ffff $nulnul $OP);
-use vars qw($qr $skip_amp $qr_embed $qr_embed_thr); # set by our callers
+use vars qw($bang $ffff $nulnul); # used by the tests
+use vars qw($qr $skip_amp $qr_embed $qr_embed_thr $regex_sets); # set by our callers
 
 
+
 if (!defined $file) {
-    open(TESTS,'re/re_tests') || open(TESTS,'t/re/re_tests')
-	|| open(TESTS,':re:re_tests') || die "Can't open re_tests";
+    open TESTS, 're/re_tests' or die "Can't open re/re_tests: $!";
 }
 
 my @tests = <TESTS>;
@@ -77,7 +84,7 @@
 $bang = sprintf "\\%03o", ord "!"; # \41 would not be portable.
 $ffff  = chr(0xff) x 2;
 $nulnul = "\0" x 2;
-$OP = $qr ? 'qr' : 'm';
+my $OP = $qr ? 'qr' : 'm';
 
 $| = 1;
 printf "1..%d\n# $iters iterations\n", scalar @tests;
@@ -92,7 +99,7 @@
         next;
     }
     chomp;
-    s/\\n/\n/g;
+    s/\\n/\n/g unless $regex_sets;
     my ($pat, $subject, $result, $repl, $expect, $reason) = split(/\t/,$_,6);
     $reason = '' unless defined $reason;
     my $input = join(':',$pat,$subject,$result,$repl,$expect);
@@ -99,7 +106,7 @@
     # the double '' below keeps simple syntax highlighters from going crazy
     $pat = "'$pat'" unless $pat =~ /^[:''\/]/; 
     $pat =~ s/(\$\{\w+\})/$1/eeg;
-    $pat =~ s/\\n/\n/g;
+    $pat =~ s/\\n/\n/g unless $regex_sets;
     $subject = eval qq("$subject"); die $@ if $@;
     $expect  = eval qq("$expect"); die $@ if $@;
     $expect = $repl = '-' if $skip_amp and $input =~ /\$[&\`\']/;
@@ -106,11 +113,197 @@
     my $todo_qr = $qr_embed_thr && ($result =~ s/t//);
     my $skip = ($skip_amp ? ($result =~ s/B//i) : ($result =~ s/B//));
     ++$skip if $result =~ s/M// && !defined &DynaLoader::boot_DynaLoader;
+    if ($result =~ s/ ( [Ss] ) //x) {
+        if (($1 eq 'S' && $regex_sets) || ($1 eq 's' && ! $regex_sets)) {
+            $skip++;
+            $reason = "Test not valid for $0";
+        }
+    }
     $reason = 'skipping $&' if $reason eq  '' && $skip_amp;
     $result =~ s/B//i unless $skip;
     my $todo= $result =~ s/T// ? " # TODO" : "";
-    
+    if (! $skip && $regex_sets) {
 
+        # If testing regex sets, change the [bracketed] classes into
+        # (?[bracketed]).
+
+        if ($pat !~ / \[ /x) {
+
+            $skip++;
+            $reason = "Pattern doesn't contain [brackets]";
+        }
+        else { # Use non-regex features of Perl to accomplish this.
+            my $modified = "";
+            my $in_brackets = 0;
+
+            # Go through the pattern character-by-character.  We also add
+            # blanks around each token to test the /x parts of (?[ ])
+            my $pat_len = length($pat);
+      CHAR: for (my $i = 0; $i < $pat_len; $i++) {
+                my $curchar = substr($pat, $i, 1);
+                if ($curchar eq '\\') {
+                    $modified .= " " if $in_brackets;
+                    $modified .= $curchar;
+                    $i++;
+
+                    # Get the character the backslash is escaping
+                    $curchar = substr($pat, $i, 1);
+                    $modified .= $curchar;
+
+                    # If the character following that is a '{}', treat the
+                    # entire amount as a single token
+                    if ($i < $pat_len -1 && substr($pat, $i+1, 1) eq '{') {
+                        my $j = index($pat, '}', $i+2);
+                        if ($j < 0) {
+                            last unless $in_brackets;
+                            if ($result eq 'c') {
+                                $skip++;
+                                $reason = "Can't handle compilation errors with unmatched '{'";
+                            }
+                            else {
+                                print "not ok $test # Problem in $0; original = '$pat'; mod = '$modified'\n";
+                                next TEST;
+                            }
+                        }
+                        $modified .= substr($pat, $i+1, $j - $i);
+                        $i = $j;
+                    }
+                    elsif ($curchar eq 'x') {
+
+                        # \x without brackets is supposed to be followed by 2
+                        # hex digits.  Take up to 2, and then add a blank
+                        # after the last one.  This avoids getting errors from
+                        # (?[ ]) for run-ons, like \xabc
+                        my $j = $i + 1;
+                        for (; $j < $i + 3 && $j < $pat_len; $j++) {
+                            my $curord = ord(substr($pat, $j, 1));
+                            if (!(($curord >= ord("A") && $curord <= ord("F"))
+                                 || ($curord >= ord("a") && $curord <= ord("f"))
+                                 || ($curord >= ord("0") && $curord <= ord("9"))))
+                            {
+                                $j++;
+                                last;
+                            }
+                        }
+                        $j--;
+                        $modified .= substr($pat, $i + 1, $j - $i) . " ";
+                        $i = $j;
+                    }
+                    elsif (ord($curchar) >= ord('0')
+                           && (ord($curchar) <= ord('7')))
+                    {
+                        # Similarly, octal constants have up to 3 digits.
+                        my $j = $i + 1;
+                        for (; $j < $i + 3 && $j < $pat_len; $j++) {
+                            my $curord = ord(substr($pat, $j, 1));
+                            if (! ($curord >= ord("0") &&  $curord <= ord("7"))) {
+                                $j++;
+                                last;
+                            }
+                        }
+                        $j--;
+                        $modified .= substr($pat, $i + 1, $j - $i);
+                        $i = $j;
+                    }
+
+                    next;
+                } # End of processing a backslash sequence
+
+                if (! $in_brackets  # Skip (?{ })
+                    && $curchar eq '('
+                    && $i < $pat_len - 2
+                    && substr($pat, $i+1, 1) eq '?'
+                    && substr($pat, $i+2, 1) eq '{')
+                {
+                    $skip++;
+                    $reason = "Pattern contains '(?{'";
+                    last;
+                }
+
+                # Closing ']'
+                if ($curchar eq ']' && $in_brackets) {
+                    $modified .= " ] ])";
+                    $in_brackets = 0;
+                    next;
+                }
+
+                # A regular character.
+                if ($curchar ne '[') {
+                    if (! $in_brackets) {
+                        $modified .= $curchar;
+                    }
+                    else {
+                        $modified .= " $curchar ";
+                    }
+                    next;
+                }
+
+                # Here is a '['; If not in a bracketed class, treat as the
+                # beginning of one.
+                if (! $in_brackets) {
+                    $in_brackets = 1;
+                    $modified .= "(?[ [ ";
+
+                    # An immediately following ']' or '^]' is not the ending
+                    # of the class, but is to be treated literally.
+                    if ($i < $pat_len - 1
+                        && substr($pat, $i+1, 1) eq ']')
+                    {
+                        $i ++;
+                        $modified .= " ] ";
+                    }
+                    elsif ($i < $pat_len - 2
+                            && substr($pat, $i+1, 1) eq '^'
+                            && substr($pat, $i+2, 1) eq ']')
+                    {
+                        $i += 2;
+                        $modified .= " ^ ] ";
+                    }
+                    next;
+                }
+
+                # Here is a plain '[' within [ ].  Could mean wants to
+                # match a '[', or it could be a posix class that has a
+                # corresponding ']'.  Absorb either
+
+                $modified .= ' [';
+                last if $i >= $pat_len - 1;
+
+                $i++;
+                $curchar = substr($pat, $i, 1);
+                if ($curchar =~ /[:=.]/) {
+                    for (my $j = $i + 1; $j < $pat_len; $j++) {
+                        next unless substr($pat, $j, 1) eq ']';
+                        last if $j - $i < 2;
+                        if (substr($pat, $j - 1, 1) eq $curchar) {
+                            # Here, is a posix class
+                            $modified .= substr($pat, $i, $j - $i + 1) . " ";
+                            $i = $j;
+                            next CHAR;
+                        }
+                    }
+                }
+
+                # Here wasn't a posix class, just process normally
+                $modified .= " $curchar ";
+            }
+
+            if ($in_brackets && ! $skip) {
+                if ($result eq 'c') {
+                    $skip++;
+                    $reason = "Can't figure out where to put the (?[ and ]) since is a compilation error";
+                }
+                else {
+                    print "not ok $test # Problem in $0; original = '$pat'; mod = '$modified'\n";
+                    next TEST;
+                }
+            }
+
+            # Use our modified pattern instead of the original
+            $pat = $modified;
+        }
+    }
+
     for my $study ('', 'study $subject', 'utf8::upgrade($subject)',
 		   'utf8::upgrade($subject); study $subject') {
 	# Need to make a copy, else the utf8::upgrade of an already studied
@@ -151,6 +344,7 @@
                 \$got = "$repl";
 EOFCODE
         }
+        $code = "no warnings 'experimental::regex_sets';$code" if $regex_sets;
         #$code.=qq[\n\$expect="$expect";\n];
         #use Devel::Peek;
         #die Dump($code) if $pat=~/\\h/ and $subject=~/\x{A0}/;
@@ -162,20 +356,20 @@
 	    eval $code;
 	}
 	chomp( my $err = $@ );
-	if ($result eq 'c') {
-	    if ($err !~ m!^\Q$expect!) { print "not ok $test$todo (compile) $input => `$err'\n"; next TEST }
+	if ( $skip ) {
+	    print "ok $test # skipped", length($reason) ? ".  $reason" : '', "\n";
+	    next TEST;
+	}
+	elsif ($result eq 'c') {
+	    if ($err !~ m!^\Q$expect!) { print "not ok $test$todo (compile) $input => '$err'\n"; next TEST }
 	    last;  # no need to study a syntax error
 	}
-	elsif ( $skip ) {
-	    print "ok $test # skipped", length($reason) ? " $reason" : '', "\n";
-	    next TEST;
-	}
 	elsif ( $todo_qr ) {
 	    print "not ok $test # TODO", length($reason) ? " - $reason" : '', "\n";
 	    next TEST;
 	}
 	elsif ($@) {
-	    print "not ok $test$todo $input => error `$err'\n$code\n$@\n"; next TEST;
+	    print "not ok $test$todo $input => error '$err'\n", _comment("$code\n$@\n"); next TEST;
 	}
 	elsif ($result =~ /^n/) {
 	    if ($match) { print "not ok $test$todo ($study) $input => false positive\n"; next TEST }
@@ -183,13 +377,18 @@
 	else {
 	    if (!$match || $got ne $expect) {
 	        eval { require Data::Dumper };
-		if ($@) {
-		    print "not ok $test$todo ($study) $input => `$got', match=$match\n$code\n";
+                no warnings "utf8"; # But handle should be utf8
+		if ($@ || !defined &DynaLoader::boot_DynaLoader) {
+		    # Data::Dumper will load on miniperl, but fail when used in
+		    # anger as it tries to load B. I'd prefer to keep the
+		    # regular calls below outside of an eval so that real
+		    # (unknown) failures get spotted, not ignored.
+		    print "not ok $test$todo ($study) $input => '$got', match=$match\n", _comment("$code\n");
 		}
 		else { # better diagnostics
 		    my $s = Data::Dumper->new([$subject],['subject'])->Useqq(1)->Dump;
 		    my $g = Data::Dumper->new([$got],['got'])->Useqq(1)->Dump;
-		    print "not ok $test$todo ($study) $input => `$got', match=$match\n$s\n$g\n$code\n";
+		    print "not ok $test$todo ($study) $input => '$got', match=$match\n", _comment("$s\n$g\n$code\n");
 		}
 		next TEST;
 	    }


Property changes on: vendor/perl/dist/t/re/regexp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/regexp_noamp.t
===================================================================
--- vendor/perl/dist/t/re/regexp_noamp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp_noamp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,7 @@
 #!./perl
 
+# Doesn't look at the expect field if it contains $&.
+
 $skip_amp = 1;
 for $file ('./re/regexp.t', './t/re/regexp.t', ':re:regexp.t') {
   if (-r $file) {


Property changes on: vendor/perl/dist/t/re/regexp_noamp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/regexp_notrie.t
===================================================================
--- vendor/perl/dist/t/re/regexp_notrie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp_notrie.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/regexp_notrie.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/regexp_qr.t
===================================================================
--- vendor/perl/dist/t/re/regexp_qr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp_qr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/regexp_qr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/regexp_qr_embed.t
===================================================================
--- vendor/perl/dist/t/re/regexp_qr_embed.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp_qr_embed.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/regexp_qr_embed.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/regexp_qr_embed_thr.t
===================================================================
--- vendor/perl/dist/t/re/regexp_qr_embed_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp_qr_embed_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/regexp_qr_embed_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/regexp_trielist.t
===================================================================
--- vendor/perl/dist/t/re/regexp_trielist.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp_trielist.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/regexp_trielist.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/regexp_unicode_prop.t
===================================================================
--- vendor/perl/dist/t/re/regexp_unicode_prop.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp_unicode_prop.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -91,6 +91,8 @@
    InNotKana                 => ['\x{3040}', '!\x{3041}'],
    InConsonant               => ['d',        '!e'],
    IsSyriac1                 => ['\x{0712}', '!\x{072F}'],
+   IsSyriac1KanaMark         => ['\x{309A}', '!\x{3090}'],
+   IsSyriac1KanaMark         => ['\x{0730}', '!\x{0712}'],
    '# User-defined character properties may lack \n at the end',
    InGreekSmall              => ['\N{GREEK SMALL LETTER PI}',
                                  '\N{GREEK SMALL LETTER FINAL SIGMA}'],
@@ -186,29 +188,29 @@
 
     my ($str, $name);
 
-    given ($char) {
-        when (/^\\/) {
-            $str  = eval qq ["$char"];
-            $name =      qq ["$char"];
-        }
-        when (/^0x([0-9A-Fa-f]+)$/) {
-            $str  =  chr hex $1;
-            $name = "chr ($char)";
-        }
-        default {
-            $str  =      $char;
-            $name = qq ["$char"];
-        }
+    if ($char =~ /^\\/) {
+        $str  = eval qq ["$char"];
+        $name =      qq ["$char"];
     }
+    elsif ($char =~ /^0x([0-9A-Fa-f]+)$/) {
+        $str  =  chr hex $1;
+        $name = "chr ($char)";
+    }
+    else {
+        $str  =      $char;
+        $name = qq ["$char"];
+    }
 
     undef $@;
-    my $match_pat = eval "qr/$match/$caseless";
-    is($@, '', "$name compiled correctly to a regexp");
+    my $pat = "qr/$match/$caseless";
+    my $match_pat = eval $pat;
+    is($@, '', "$pat compiled correctly to a regexp: $@");
     like($str, $match_pat, "$name correctly matched");
 
     undef $@;
-    my $nomatch_pat = eval "qr/$nomatch/$caseless";
-    is($@, '', "$name compiled correctly to a regexp");
+    $pat = "qr/$nomatch/$caseless";
+    my $nomatch_pat = eval $pat;
+    is($@, '', "$pat compiled correctly to a regexp: $@");
     unlike($str, $nomatch_pat, "$name correctly did not match");
 }
 
@@ -342,6 +344,13 @@
     }
 }
 
+# Verify that can use user-defined properties inside another one
+sub IsSyriac1KanaMark {<<'--'}
++main::IsSyriac1
++main::InKana3
+&utf8::IsMark
+--
+
 # fake user-defined properties; these subs shouldn't be called, because
 # their names don't start with In or Is
 


Property changes on: vendor/perl/dist/t/re/regexp_unicode_prop.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/regexp_unicode_prop_thr.t
===================================================================
--- vendor/perl/dist/t/re/regexp_unicode_prop_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/regexp_unicode_prop_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/regexp_unicode_prop_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/rxcode.t
===================================================================
--- vendor/perl/dist/t/re/rxcode.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/rxcode.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,7 +6,7 @@
     require './test.pl';
 }
 
-plan tests => 38;
+plan tests => 39;
 
 $^R = undef;
 like( 'a',  qr/^a(?{1})(?:b(?{2}))?/, 'a =~ ab?' );
@@ -84,3 +84,10 @@
     ok( 'abbb' =~ /^a(?{36})(?:b(?{37})|c(?{38}))+/, 'abbbb =~ a(?:b|c)+' );
     ok( $^R == 37, '$^R == 37' ) or print "# \$^R=$^R\n";
 }
+
+# Broken temporarily by the jumbo re-eval rewrite in 5.17.1; fixed in .6
+{
+    use re 'eval';
+    $x = "(?{})";
+    is eval { "a" =~ /a++(?{})+$x/x } || $@, '1', '/a++(?{})+$code_block/'
+}


Property changes on: vendor/perl/dist/t/re/rxcode.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/re/subst.t
===================================================================
--- vendor/perl/dist/t/re/subst.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/subst.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,10 +4,10 @@
     chdir 't' if -d 't';
     @INC = '../lib';
     require Config; import Config;
+    require './test.pl';
 }
 
-require './test.pl';
-plan( tests => 176 );
+plan( tests => 206 );
 
 $_ = 'david';
 $a = s/david/rules/r;
@@ -746,6 +746,8 @@
     # when substituted with a UTF8 replacement string, due to
     # magic getting called multiple times, and pointers now pointing
     # to stale/freed strings
+    # The original fix for this caused infinite loops for non- or cow-
+    # strings, so we test those, too.
     package FOO;
     my $fc;
     sub TIESCALAR { bless [ "abcdefgh" ] }
@@ -757,4 +759,130 @@
     $s =~ s/..../\x{101}/;
     ::is($fc, 1, "tied UTF8 stuff FETCH count");
     ::is("$s", "\x{101}efgh", "tied UTF8 stuff");
+
+    ::watchdog(300);
+    $fc = 0;
+    $s = *foo;
+    $s =~ s/..../\x{101}/;
+    ::is($fc, 1, '$tied_glob =~ s/non-utf8/utf8/ fetch count');
+    ::is("$s", "\x{101}::foo", '$tied_glob =~ s/non-utf8/utf8/ result');
+    $fc = 0;
+    $s = *foo;
+    $s =~ s/(....)/\x{101}/g;
+    ::is($fc, 1, '$tied_glob =~ s/(non-utf8)/utf8/g fetch count');
+    ::is("$s", "\x{101}\x{101}o",
+         '$tied_glob =~ s/(non-utf8)/utf8/g result');
+    $fc = 0;
+    $s = "\xff\xff\xff\xff\xff";
+    $s =~ s/..../\x{101}/;
+    ::is($fc, 1, '$tied_latin1 =~ s/non-utf8/utf8/ fetch count');
+    ::is("$s", "\x{101}\xff", '$tied_latin1 =~ s/non-utf8/utf8/ result');
+    $fc = 0;
+    { package package_name; tied($s)->[0] = __PACKAGE__ };
+    $s =~ s/..../\x{101}/;
+    ::is($fc, 1, '$tied_cow =~ s/non-utf8/utf8/ fetch count');
+    ::is("$s", "\x{101}age_name", '$tied_cow =~ s/non-utf8/utf8/ result');
+    $fc = 0;
+    $s = \1;
+    $s =~ s/..../\x{101}/;
+    ::is($fc, 1, '$tied_ref =~ s/non-utf8/utf8/ fetch count');
+    ::like("$s", qr/^\x{101}AR\(0x.*\)\z/,
+           '$tied_ref =~ s/non-utf8/utf8/ result');
 }
+
+# RT #97954
+{
+    my $count;
+
+    sub bam::DESTROY {
+	--$count;
+    }
+
+    my $z_zapp = bless [], 'bam';
+    ++$count;
+
+    is($count, 1, '1 object');
+    is($z_zapp =~ s/.*/R/r, 'R', 'substitution happens');
+    is(ref $z_zapp, 'bam', 'still 1 object');
+    is($count, 1, 'still 1 object');
+    undef $z_zapp;
+    is($count, 0, 'now 0 objects');
+
+    $z_zapp = bless [], 'bam';
+    ++$count;
+
+    is($count, 1, '1 object');
+    like($z_zapp =~ s/./R/rg, qr/\AR{8,}\z/, 'substitution happens');
+    is(ref $z_zapp, 'bam', 'still 1 object');
+    is($count, 1, 'still 1 object');
+    undef $z_zapp;
+    is($count, 0, 'now 0 objects');
+}
+
+is(*bam =~ s/\*//r, 'main::bam', 'Can s///r a tyepglob');
+is(*bam =~ s/\*//rg, 'main::bam', 'Can s///rg a tyepglob');
+
+{
+ sub cowBug::TIESCALAR { bless[], 'cowBug' }
+ sub cowBug::FETCH { __PACKAGE__ }
+ sub cowBug::STORE{}
+ tie my $kror, cowBug =>;
+ $kror =~ s/(?:)/""/e;
+}
+pass("s/// on tied var returning a cow");
+
+# a test for 6502e08109cd003b2cdf39bc94ef35e52203240b
+# previously this would segfault
+
+{
+    my $s = "abc";
+    eval { $s =~ s/(.)/die/e; };
+    like($@, qr/Died at/, "s//die/e");
+}
+
+
+# Test problems with constant replacement optimisation
+# [perl #26986] logop in repl resulting in incorrect optimisation
+"g" =~ /(.)/;
+ at l{'a'..'z'} = 'A'..':';
+$_ = "hello";
+{ s/(.)/$l{my $a||$1}/g }
+is $_, "HELLO",
+  'logop in s/// repl does not result in "constant" repl optimisation';
+# Aliases to match vars
+"g" =~ /(.)/;
+$_ = "hello";
+{
+    local *a = *1;
+    s/(.)\1/$a/g;
+}
+is $_, 'helo', 's/pat/$alias_to_match_var/';
+"g" =~ /(.)/;
+$_ = "hello";
+{
+    local *a = *1;
+    s/e(.)\1/a$a/g;
+}
+is $_, 'halo', 's/pat/$alias_to_match_var/';
+# Last-used pattern containing re-evals that modify "constant" rhs
+{
+    local *a;
+    $x = "hello";
+    $x =~ /(?{*a = \"a"})./;
+    undef *a;
+    $x =~ s//$a/g;
+    is $x, 'aaaaa',
+	'last-used pattern disables constant repl optimisation';
+}
+
+
+$_ = "\xc4\x80";
+$a = "";
+utf8::upgrade $a;
+$_ =~ s/$/$a/;
+is $_, "\xc4\x80", "empty utf8 repl does not result in mangled utf8";
+
+$@ = "\x{30cb}eval 18";
+$@ =~ s/eval \d+/eval 11/;
+is $@, "\x{30cb}eval 11",
+  'loading utf8 tables does not interfere with matches against $@';


Property changes on: vendor/perl/dist/t/re/subst.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/substT.t
===================================================================
--- vendor/perl/dist/t/re/substT.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/substT.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/substT.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/subst_amp.t
===================================================================
--- vendor/perl/dist/t/re/subst_amp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/subst_amp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/subst_amp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/subst_wamp.t
===================================================================
--- vendor/perl/dist/t/re/subst_wamp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/subst_wamp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/subst_wamp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/substr.t
===================================================================
--- vendor/perl/dist/t/re/substr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/substr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/substr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/substr_thr.t
===================================================================
--- vendor/perl/dist/t/re/substr_thr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/substr_thr.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/substr_thr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/re/uniprops.t
===================================================================
--- vendor/perl/dist/t/re/uniprops.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/re/uniprops.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/re/uniprops.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/cloexec.t
===================================================================
--- vendor/perl/dist/t/run/cloexec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/cloexec.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -43,12 +43,9 @@
 
 $|=1;
 
-my $Is_VMS      = $^O eq 'VMS';
-my $Is_Win32    = $^O eq 'MSWin32';
-
 # When in doubt, skip.
-skip_all("VMS")      if $Is_VMS;
-skip_all("Win32")    if $Is_Win32;
+skip_all($^O)
+    if $^O eq 'VMS' or $^O eq 'MSWin32';
 
 sub make_tmp_file {
     my ($fname, $fcontents) = @_;
@@ -59,7 +56,7 @@
 }
 
 my $Perl = which_perl();
-my $quote = $Is_VMS || $Is_Win32 ? '"' : "'";
+my $quote = "'";
 
 my $tmperr             = tempfile();
 my $tmpfile1           = tempfile();


Property changes on: vendor/perl/dist/t/run/cloexec.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/run/exit.t
===================================================================
--- vendor/perl/dist/t/run/exit.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/exit.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/run/exit.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/run/fresh_perl.t
===================================================================
--- vendor/perl/dist/t/run/fresh_perl.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/fresh_perl.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -81,7 +81,7 @@
 ########
 $x=0x0eabcd; print $x->ref;
 EXPECT
-Can't call method "ref" without a package or object reference at - line 1.
+Can't locate object method "ref" via package "961485" (perhaps you forgot to load "961485"?) at - line 1.
 ########
 chop ($str .= <DATA>);
 ########
@@ -349,15 +349,12 @@
 @x = foo(' x  y  z ');
 print "you die joe!\n" unless "@x" eq 'x y z';
 ########
-/(?{"{"})/	# Check it outside of eval too
+"A" =~ /(?{"{"})/	# Check it outside of eval too
 EXPECT
-Sequence (?{...}) not terminated or not {}-balanced in regex; marked by <-- HERE in m/(?{ <-- HERE "{"})/ at - line 1.
 ########
 /(?{"{"}})/	# Check it outside of eval too
 EXPECT
-Unmatched right curly bracket at (re_eval 1) line 1, at end of line
-syntax error at (re_eval 1) line 1, near ""{"}"
-Compilation failed in regexp at - line 1.
+Sequence (?{...}) not terminated with ')' at - line 1.
 ########
 BEGIN { @ARGV = qw(a b c d e) }
 BEGIN { print "argv <@ARGV>\nbegin <",shift,">\n" }
@@ -761,49 +758,30 @@
 foo at - line 1.
 ######## glob() bug Mon, 01 Sep 2003 02:25:41 -0700 <200309010925.h819Pf0X011457 at smtp3.ActiveState.com>
 -lw
-BEGIN {
-  if ($^O eq 'os390') {
-    require File::Glob;
-    import File::Glob ':glob';
-  }
+# Make sure the presence of the CORE::GLOBAL::glob typeglob does not affect
+# whether File::Glob::csh_glob is called.
+if ($^O eq 'VMS') {
+    # A pattern with a double quote in it is a syntax error to LIB$FIND_FILE
+    # Should we strip quotes in Perl_vms_start_glob the way csh_glob() does?
+    print "ok1\nok2\n";
 }
-BEGIN {
-  eval 'require Fcntl';
-  if ($@) { print qq[./"TEST"\n./"TEST"\n]; exit 0 } # running minitest?
+else {
+    ++$INC{"File/Glob.pm"}; # prevent it from loading
+    my $called1 =
+    my $called2 = 0;
+    *File::Glob::csh_glob = sub { ++$called1 };
+    my $output1 = eval q{ glob(q(./"TEST")) };
+    undef *CORE::GLOBAL::glob; # but leave the typeglob itself there
+    ++$CORE::GLOBAL::glob if 0; # "used only once"
+    undef *File::Glob::csh_glob; # avoid redefinition warnings
+    *File::Glob::csh_glob = sub { ++$called2 };
+    my $output2 = eval q{ glob(q(./"TEST")) };
+    print "ok1" if $called1 eq $called2;
+    print "ok2" if $output1 eq $output2;
 }
-if ($^O eq 'VMS') { # VMS is not *that* kind of a glob.
-print qq[./"TEST"\n./"TEST"\n];
-} else {
-print glob(q(./"TEST"));
-use File::Glob;
-print glob(q(./"TEST"));
-}
 EXPECT
-./"TEST"
-./"TEST"
-######## glob() bug Mon, 01 Sep 2003 02:25:41 -0700 <200309010925.h819Pf0X011457 at smtp3.ActiveState.com>
--lw
-BEGIN {
-  if ($^O eq 'os390') {
-    require File::Glob;
-    import File::Glob ':glob';
-  }
-}
-BEGIN {
-  eval 'require Fcntl';
-  if ($@) { print qq[./"TEST"\n./"TEST"\n]; exit 0 } # running minitest?
-}
-if ($^O eq 'VMS') { # VMS is not *that* kind of a glob.
-print qq[./"TEST"\n./"TEST"\n];
-} else {
-use File::Glob;
-print glob(q(./"TEST"));
-use File::Glob;
-print glob(q(./"TEST"));
-}
-EXPECT
-./"TEST"
-./"TEST"
+ok1
+ok2
 ######## "#75146: 27e904532594b7fb (fix for #23810) introduces a #regression"
 use strict;
 
@@ -844,3 +822,55 @@
 print "If you get here, you didn't crash\n";
 EXPECT
 If you get here, you didn't crash
+######## [perl #112312] crash on syntax error
+# SKIP: !defined &DynaLoader::boot_DynaLoader # miniperl
+#!/usr/bin/perl
+use strict;
+use warnings;
+sub meow (&);
+my %h;
+my $k;
+meow {
+	my $t : need_this;
+	$t = {
+		size =>  $h{$k}{size};
+		used =>  $h{$k}(used}
+	};
+};
+EXPECT
+syntax error at - line 12, near "used"
+syntax error at - line 12, near "used}"
+Unmatched right curly bracket at - line 14, at end of line
+Execution of - aborted due to compilation errors.
+######## [perl #112312] crash on syntax error - another test
+# SKIP: !defined &DynaLoader::boot_DynaLoader # miniperl
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+sub meow (&);
+
+my %h;
+my $k;
+
+meow {
+        my $t : need_this;
+        $t = {
+                size => $h{$k}{size};
+                used => $h{$k}(used}
+        };
+};
+
+sub testo {
+        my $value = shift;
+        print;
+        print;
+        print;
+        1;
+}
+
+EXPECT
+syntax error at - line 15, near "used"
+syntax error at - line 15, near "used}"
+Unmatched right curly bracket at - line 17, at end of line
+Execution of - aborted due to compilation errors.


Property changes on: vendor/perl/dist/t/run/fresh_perl.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/run/locale.t
===================================================================
--- vendor/perl/dist/t/run/locale.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/locale.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -58,12 +58,17 @@
 EOF
     "", {}, "LC_NUMERIC without setlocale() has no effect in any locale");
 
+
 # try to find out a locale where LC_NUMERIC makes a difference
 my $original_locale = setlocale(LC_NUMERIC);
 
 my ($base, $different, $difference);
 for ("C", @locales) { # prefer C for the base if available
-    use locale;
+    BEGIN {
+        if($Config{d_setlocale}) {
+            require locale; import locale;
+        }
+    }
     setlocale(LC_NUMERIC, $_) or next;
     my $in = 4.2; # avoid any constant folding bugs
     if ((my $s = sprintf("%g", $in)) eq "4.2")  {
@@ -112,7 +117,7 @@
 @.#
 4.179
 .
-{ use locale; write; }
+{ require locale; import locale; write; }
 EOF
 	    "too late to look at the locale at write() time");
         }
@@ -119,7 +124,8 @@
 
         {
 	    fresh_perl_is(<<'EOF', $difference, {},
-use locale; format STDOUT =
+use locale;
+format STDOUT =
 @.#
 4.179
 .
@@ -129,11 +135,44 @@
         }
     }
 
+    {
+        # do not let "use 5.000" affect the locale!
+        # this test is to prevent regression of [rt.perl.org #105784]
+        fresh_perl_is(<<"EOF",
+            BEGIN {
+                if($Config{d_setlocale}) {
+                    require locale; import locale;
+                }
+            }
+            use POSIX;
+            my \$i = 0.123;
+            POSIX::setlocale(POSIX::LC_NUMERIC(),"$different");
+            \$a = sprintf("%.2f", \$i);
+            require version;
+            \$b = sprintf("%.2f", \$i);
+            print ".\$a \$b" unless \$a eq \$b
+EOF
+            "", {}, "version does not clobber version");
+
+        fresh_perl_is(<<"EOF",
+            use locale;
+            use POSIX;
+            my \$i = 0.123;
+            POSIX::setlocale(POSIX::LC_NUMERIC(),"$different");
+            \$a = sprintf("%.2f", \$i);
+            eval "use v5.0.0";
+            \$b = sprintf("%.2f", \$i);
+            print "\$a \$b" unless \$a eq \$b
+EOF
+            "", {}, "version does not clobber version (via eval)");
+    }
+
+
     for ($different) {
 	local $ENV{LC_NUMERIC} = $_;
 	local $ENV{LC_ALL}; # so it never overrides LC_NUMERIC
 	fresh_perl_is(<<'EOF', "$difference "x4, {},
-	    use locale;
+        use locale;
 	    use POSIX qw(locale_h);
 	    setlocale(LC_NUMERIC, "");
 	    my $in = 4.2;
@@ -143,4 +182,4 @@
     }
 } # SKIP
 
-sub last { 7 }
+sub last { 9 }


Property changes on: vendor/perl/dist/t/run/locale.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/noswitch.t
===================================================================
--- vendor/perl/dist/t/run/noswitch.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/noswitch.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,16 @@
 #!./perl
 
 BEGIN {
-    print "1..3\n";
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
     *ARGV = *DATA;
+    plan(tests => 3);
 }
-print "ok 1\n";
-print <>;
-print "ok 3\n";
 
+pass("first test");
+is( scalar <>, "ok 2\n", "read from aliased DATA filehandle");
+pass("last test");
+
 __DATA__
-ok 2 - read from aliased DATA filehandle
+ok 2


Property changes on: vendor/perl/dist/t/run/noswitch.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/runenv.t
===================================================================
--- vendor/perl/dist/t/run/runenv.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/runenv.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
     skip_all_without_config('d_fork');
 }
 
-plan tests => 84;
+plan tests => 104;
 
 my $STDOUT = tempfile();
 my $STDERR = tempfile();
@@ -53,7 +53,7 @@
     }
     open STDOUT, '>', $STDOUT or exit $FAILURE_CODE;
     open STDERR, '>', $STDERR and do { exec $PERL, @$args };
-    # it didn't_work:
+    # it did not work:
     print STDOUT "IWHCWJIHCI\cNHJWCJQWKJQJWCQW\n";
     exit $FAILURE_CODE;
   }
@@ -63,8 +63,21 @@
   my ($env, $args, $stdout, $stderr) = @_;
   my ($actual_stdout, $actual_stderr) = runperl_and_capture($env, $args);
   local $::Level = $::Level + 1;
-  is ($stdout, $actual_stdout);
-  is ($stderr, $actual_stderr);
+  my @envpairs = ();
+  for my $k (sort keys %$env) {
+    push @envpairs, "$k => $env->{$k}";
+  }
+  my $label = join(',' => (@envpairs, @$args));
+  if (ref $stdout) {
+    ok ( $actual_stdout =~/$stdout/, $label . ' stdout' );
+  } else {
+    is ( $actual_stdout, $stdout, $label . ' stdout' );
+  }
+  if (ref $stderr) {
+    ok ( $actual_stderr =~/$stderr/, $label . ' stderr' );
+  } else {
+    is ( $actual_stderr, $stderr, $label . ' stderr' );
+  }
 }
 
 #  PERL5OPT    Command-line options (switches).  Switches in
@@ -191,6 +204,77 @@
     '',
     '');
 
+try({PERL_HASH_SEED_DEBUG => 1},
+    ['-e','1'],
+    '',
+    qr/HASH_FUNCTION =/);
+
+try({PERL_HASH_SEED_DEBUG => 1},
+    ['-e','1'],
+    '',
+    qr/HASH_SEED =/);
+
+# special case, seed "0" implies disabled hash key traversal randomization
+try({PERL_HASH_SEED_DEBUG => 1, PERL_HASH_SEED => "0"},
+    ['-e','1'],
+    '',
+    qr/PERTURB_KEYS = 0/);
+
+# check that setting it to a different value with the same logical value
+# triggers the normal "deterministic mode".
+try({PERL_HASH_SEED_DEBUG => 1, PERL_HASH_SEED => "0x0"},
+    ['-e','1'],
+    '',
+    qr/PERTURB_KEYS = 2/);
+
+try({PERL_HASH_SEED_DEBUG => 1, PERL_PERTURB_KEYS => "0"},
+    ['-e','1'],
+    '',
+    qr/PERTURB_KEYS = 0/);
+
+try({PERL_HASH_SEED_DEBUG => 1, PERL_PERTURB_KEYS => "1"},
+    ['-e','1'],
+    '',
+    qr/PERTURB_KEYS = 1/);
+
+try({PERL_HASH_SEED_DEBUG => 1, PERL_PERTURB_KEYS => "2"},
+    ['-e','1'],
+    '',
+    qr/PERTURB_KEYS = 2/);
+
+try({PERL_HASH_SEED_DEBUG => 1, PERL_HASH_SEED => "12345678"},
+    ['-e','1'],
+    '',
+    qr/HASH_SEED = 0x12345678/);
+
+try({PERL_HASH_SEED_DEBUG => 1, PERL_HASH_SEED => "12"},
+    ['-e','1'],
+    '',
+    qr/HASH_SEED = 0x12000000/);
+
+try({PERL_HASH_SEED_DEBUG => 1, PERL_HASH_SEED => "123456789"},
+    ['-e','1'],
+    '',
+    qr/HASH_SEED = 0x12345678/);
+
+# Test that PERL_PERTURB_KEYS works as expected.  We check that we get the same
+# results if we use PERL_PERTURB_KEYS = 0 or 2 and we reuse the seed from previous run.
+my @print_keys = ( '-e', '@_{"A".."Z"}=(); print keys %_');
+for my $mode ( 0,1, 2 ) { # disabled and deterministic respectively
+    my %base_opts = ( PERL_PERTURB_KEYS => $mode, PERL_HASH_SEED_DEBUG => 1 ),
+    my ($out, $err) = runperl_and_capture( { %base_opts }, [ @print_keys ]);
+    if ($err=~/HASH_SEED = (0x[a-f0-9]+)/) {
+        my $seed = $1;
+        my($out2, $err2) = runperl_and_capture( { %base_opts, PERL_HASH_SEED => $seed }, [ @print_keys ]);
+        if ( $mode == 1 ) {
+            isnt ($out,$out2,"PERL_PERTURB_KEYS = $mode results in different key order with the same key");
+        } else {
+            is ($out,$out2,"PERL_PERTURB_KEYS = $mode allows one to recreate a random hash");
+        }
+        is ($err,$err2,"Got the same debug output when we set PERL_HASH_SEED and PERL_PERTURB_KEYS");
+    }
+}
+
 # Tests for S_incpush_use_sep():
 
 my @dump_inc = ('-e', 'print "$_\n" foreach @INC');


Property changes on: vendor/perl/dist/t/run/runenv.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/run/script.t
===================================================================
--- vendor/perl/dist/t/run/script.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/script.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,7 @@
     chdir 't';
     @INC = '../lib';
     require './test.pl';	# for which_perl() etc
+    plan(3);
 }
 
 my $Perl = which_perl();
@@ -10,11 +11,9 @@
 
 my $filename = tempfile();
 
-print "1..3\n";
-
 $x = `$Perl -le "print 'ok';"`;
 
-if ($x eq "ok\n") {print "ok 1\n";} else {print "not ok 1\n";}
+is($x, "ok\n", "Got expected 'perl -le' output");
 
 open(try,">$filename") || (die "Can't open temp file.");
 print try 'print "ok\n";'; print try "\n";
@@ -22,8 +21,8 @@
 
 $x = `$Perl $filename`;
 
-if ($x eq "ok\n") {print "ok 2\n";} else {print "not ok 2\n";}
+is($x, "ok\n", "Got expected output of command from script");
 
 $x = `$Perl <$filename`;
 
-if ($x eq "ok\n") {print "ok 3\n";} else {print "not ok 3\n";}
+is($x, "ok\n", "Got expected output of command read from script");


Property changes on: vendor/perl/dist/t/run/script.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switch0.t
===================================================================
--- vendor/perl/dist/t/run/switch0.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switch0.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,11 @@
 #!./perl -0
-print "1..1\n";
-print ord $/ == 0 ? "ok 1\n" : "not ok 1\n";
+
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
+}
+
+plan tests => 1;
+
+is(ord $/, 0, '$/ set to 0 via switch');


Property changes on: vendor/perl/dist/t/run/switch0.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchC.t
===================================================================
--- vendor/perl/dist/t/run/switchC.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchC.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -28,7 +28,7 @@
 SKIP: {
     if (exists $ENV{PERL_UNICODE} &&
 	($ENV{PERL_UNICODE} eq "" || $ENV{PERL_UNICODE} =~ /[SO]/)) {
-	skip(qq[cannot test with PERL_UNICODE locale "" or /[SO]/], 1);
+	skip(qq[cannot test with PERL_UNICODE "" or /[SO]/], 1);
     }
     $r = runperl( switches => [ '-CI', '-w' ],
 		  prog     => 'print ord(<STDIN>)',
@@ -96,8 +96,13 @@
 like( $r, qr/^Too late for "-CS" option at -e line 1\.$/s,
       '#!perl -C with different -C on command line' );
 
-$r = runperl( switches => [ '-w' ],
-	      progs    => [ '#!perl -CS', 'print chr(256)' ],
-              stderr   => 1, );
-like( $r, qr/^Too late for "-CS" option at -e line 1\.$/s,
-      '#!perl -C but not command line' );
+SKIP: {
+    if (exists $ENV{PERL_UNICODE} && $ENV{PERL_UNICODE} =~ /S/) {
+	skip(qq[cannot test with PERL_UNICODE including "S"], 1);
+    }
+    $r = runperl( switches => [ '-w' ],
+                  progs    => [ '#!perl -CS', 'print chr(256)' ],
+                  stderr   => 1, );
+    like( $r, qr/^Too late for "-CS" option at -e line 1\.$/s,
+          '#!perl -C but not command line' );
+}


Property changes on: vendor/perl/dist/t/run/switchC.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchF.t
===================================================================
--- vendor/perl/dist/t/run/switchF.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchF.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,16 @@
 #!./perl -anFx+
 
 BEGIN {
-    print "1..2\n";
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
     *ARGV = *DATA;
+    plan(tests => 2);
 }
-print "@F";
+my $index = $F[-1];
+chomp $index;
+is($index, $., "line $.");
 
 __DATA__
 okx1
-okxxx2
+okx3xx2


Property changes on: vendor/perl/dist/t/run/switchF.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchF1.t
===================================================================
--- vendor/perl/dist/t/run/switchF1.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchF1.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,8 @@
 #!perl -w
+
+# This test file does not use test.pl because of the involved way in which it
+# generates its TAP output.
+
 print "1..5\n";
 
 my $file = "Run_switchF1.pl";
@@ -14,10 +18,10 @@
 print "@F";
 
 __DATA__
-okx1
-okq2
-ok\3
-ok'4
+okx1x- use of alternate delimiter (lower case letter) in -F
+okq2q- use of alternate delimiter (lower case letter) in -F
+ok\3\- use of alternate delimiter (backslash) in -F
+ok'4'- use of alternate delimiter (apostrophe) in -F
 EOT
 
 # 2 of the characters toke.c used to use to quote the split parameter:
@@ -26,6 +30,8 @@
 print F $prog;
 close F or die "Close $file: $!";
 
-print system ($^X, $file) ? "not ok 5\n" : "ok 5\n";
+$count = 5;
+$result = "ok $count - complete test of alternate delimiters in -F\n";
+print system ($^X, $file) ? "not $result" : $result;
 
 unlink $file or die "Unlink $file: $!";


Property changes on: vendor/perl/dist/t/run/switchF1.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchI.t
===================================================================
--- vendor/perl/dist/t/run/switchI.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchI.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,11 +11,12 @@
 my $lib;
 
 $lib = 'Bla';
-ok(grep { $_ eq $lib } @INC[0..($#INC-1)]);
+ok do { grep { $_ eq $lib } @INC[0..($#INC-1)] }, 'Identified entry in @INC';
 SKIP: {
   skip 'Double colons not allowed in dir spec', 1 if $Is_VMS;
   $lib = 'Foo::Bar';
-  ok(grep { $_ eq $lib } @INC[0..($#INC-1)]);
+  ok do { grep { $_ eq $lib } @INC[0..($#INC-1)] },
+    'Identified entry in @INC with double colons';
 }
 
 $lib = 'Bla2';


Property changes on: vendor/perl/dist/t/run/switchI.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/run/switchPx.aux
===================================================================
--- vendor/perl/dist/t/run/switchPx.aux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchPx.aux	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/run/switchPx.aux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/run/switchPx.t
===================================================================
--- vendor/perl/dist/t/run/switchPx.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchPx.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/run/switchPx.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switcha.t
===================================================================
--- vendor/perl/dist/t/run/switcha.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switcha.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,14 @@
 #!./perl -na
 
 BEGIN {
-    print "1..2\n";
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
     *ARGV = *DATA;
-    $i = 0;
+    plan(tests => 2);
 }
-print "$F[1] ",++$i,"\n";
+chomp;
+is($F[1], 'ok', "testing split of string '$_'");
 
 __DATA__
 not ok


Property changes on: vendor/perl/dist/t/run/switcha.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/run/switchd-78586.t
===================================================================
--- vendor/perl/dist/t/run/switchd-78586.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchd-78586.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/run/switchd-78586.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchd.t
===================================================================
--- vendor/perl/dist/t/run/switchd.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchd.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,7 +9,7 @@
 
 # This test depends on t/lib/Devel/switchd*.pm.
 
-plan(tests => 5);
+plan(tests => 10);
 
 my $r;
 
@@ -35,19 +35,25 @@
 		 progfile => $filename,
 		 args => ['3'],
 		);
-    like($r, qr/^sub<Devel::switchd::import>;import<Devel::switchd>;DB<main,$::tempfile_regexp,9>;sub<Foo::foo>;DB<Foo,$::tempfile_regexp,5>;DB<Foo,$::tempfile_regexp,6>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;$/);
+    like($r,
+qr/^sub<Devel::switchd::import>;import<Devel::switchd>;DB<main,$::tempfile_regexp,9>;sub<Foo::foo>;DB<Foo,$::tempfile_regexp,5>;DB<Foo,$::tempfile_regexp,6>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;$/,
+    'Got debugging output: 1');
     $r = runperl(
 		 switches => [ '-Ilib', '-f', '-d:switchd=a,42' ],
 		 progfile => $filename,
 		 args => ['4'],
 		);
-    like($r, qr/^sub<Devel::switchd::import>;import<Devel::switchd a 42>;DB<main,$::tempfile_regexp,9>;sub<Foo::foo>;DB<Foo,$::tempfile_regexp,5>;DB<Foo,$::tempfile_regexp,6>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;$/);
+    like($r,
+qr/^sub<Devel::switchd::import>;import<Devel::switchd a 42>;DB<main,$::tempfile_regexp,9>;sub<Foo::foo>;DB<Foo,$::tempfile_regexp,5>;DB<Foo,$::tempfile_regexp,6>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;$/,
+    'Got debugging output: 2');
     $r = runperl(
 		 switches => [ '-Ilib', '-f', '-d:-switchd=a,42' ],
 		 progfile => $filename,
 		 args => ['4'],
 		);
-    like($r, qr/^sub<Devel::switchd::unimport>;unimport<Devel::switchd a 42>;DB<main,$::tempfile_regexp,9>;sub<Foo::foo>;DB<Foo,$::tempfile_regexp,5>;DB<Foo,$::tempfile_regexp,6>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;$/);
+    like($r,
+qr/^sub<Devel::switchd::unimport>;unimport<Devel::switchd a 42>;DB<main,$::tempfile_regexp,9>;sub<Foo::foo>;DB<Foo,$::tempfile_regexp,5>;DB<Foo,$::tempfile_regexp,6>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;sub<Bar::bar>;DB<Bar,$::tempfile_regexp,2>;$/,
+    'Got debugging output: 3');
 }
 
 # [perl #71806]
@@ -78,3 +84,82 @@
   qr "1\r?\n2\r?\n",
  'Subroutine redefinition works in the debugger [perl #48332]',
 );
+
+# [rt.cpan.org #69862]
+like(
+  runperl(
+   switches => [ '-Ilib', '-d:switchd_empty' ],
+   progs    => [
+    'sub DB::sub { goto &$DB::sub }',
+    'sub foo { print qq _1\n_ }',
+    'sub bar { print qq _2\n_ }',
+    'delete $::{foo}; eval { foo() };',
+    'my $bar = *bar; undef *bar; eval { &$bar };',
+   ],
+  ),
+  qr "1\r?\n2\r?\n",
+ 'Subroutines no longer found under their names can be called',
+);
+
+# [rt.cpan.org #69862]
+like(
+  runperl(
+   switches => [ '-Ilib', '-d:switchd_empty' ],
+   progs    => [
+    'sub DB::sub { goto &$DB::sub }',
+    'sub foo { goto &bar::baz; }',
+    'sub bar::baz { print qq _ok\n_ }',
+    'delete $::{bar::::};',
+    'foo();',
+   ],
+  ),
+  qr "ok\r?\n",
+ 'No crash when calling orphaned subroutine via goto &',
+);
+
+# test when DB::DB is seen but not defined [perl #114990]
+like(
+  runperl(
+    switches => [ '-Ilib', '-d:nodb' ],
+    prog     => [ '1' ],
+    stderr   => 1,
+  ),
+  qr/^No DB::DB routine defined/,
+  "No crash when *DB::DB exists but not &DB::DB",
+);
+like(
+  runperl(
+    switches => [ '-Ilib' ],
+    prog     => 'sub DB::DB; BEGIN { $^P = 0x22; } for(0..9){ warn }',
+    stderr   => 1,
+  ),
+  qr/^No DB::DB routine defined/,
+  "No crash when &DB::DB exists but isn't actually defined",
+);
+
+# [perl #115742] Recursive DB::DB clobbering its own pad
+like(
+  runperl(
+    switches => [ '-Ilib' ],
+    progs    => [ split "\n", <<'='
+     BEGIN {
+      $^P = 0x22;
+     }
+     package DB;
+     sub DB {
+      my $x = 42;
+      return if $__++;
+      $^D |= 1 << 30; # allow recursive calls
+      main::foo();
+      print $x//q-u-, qq-\n-;
+     }
+     package main;
+     chop;
+     sub foo { chop; }
+=
+    ],
+    stderr   => 1,
+  ),
+  qr/42/,
+  "Recursive DB::DB does not clobber its own pad",
+);


Property changes on: vendor/perl/dist/t/run/switchd.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switches.t
===================================================================
--- vendor/perl/dist/t/run/switches.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switches.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,9 +11,11 @@
 
 BEGIN { require "./test.pl"; }
 
-plan(tests => 71);
+plan(tests => 115);
 
 use Config;
+use Errno qw(EACCES EISDIR);
+use POSIX qw(setlocale LC_ALL);
 
 # due to a bug in VMS's piping which makes it impossible for runperl()
 # to emulate echo -n (ie. stdin always winds up with a newline), these 
@@ -107,6 +109,25 @@
     );
 }
 
+{
+    my $tempdir = tempfile;
+    mkdir $tempdir, 0700 or die "Can't mkdir '$tempdir': $!";
+
+    local $ENV{'LC_ALL'} = 'C'; # Keep the test simple: expect English
+    local $ENV{LANGUAGE} = 'C';
+    setlocale(LC_ALL, "C");
+
+    # Win32 won't let us open the directory, so we never get to die with
+    # EISDIR, which happens after open.
+    my $error  = do { local $! = $^O eq 'MSWin32' ? EACCES : EISDIR; "$!" };
+    like(
+        runperl( switches => [ '-c' ], args  => [ $tempdir ], stderr => 1),
+        qr/Can't open perl script.*$tempdir.*\Q$error/s,
+        "RT \#61362: Cannot syntax-check a directory"
+    );
+    rmdir $tempdir or die "Can't rmdir '$tempdir': $!";
+}
+
 # Tests for -l
 
 $r = runperl(
@@ -225,6 +246,10 @@
   	  "-M- not allowed" );
   }  # disable TODO on VMS
 }
+is runperl(stderr => 1, prog => '#!perl -m'),
+   qq 'Too late for "-m" option at -e line 1.\n', '#!perl -m';
+is runperl(stderr => 1, prog => '#!perl -M'),
+   qq 'Too late for "-M" option at -e line 1.\n', '#!perl -M';
 
 # Tests for -V
 
@@ -297,8 +322,22 @@
 	  qr/\QUnrecognized switch: -$switch  (-h will show valid options)./,
           "-$switch correctly unknown" );
 
+    # [perl #104288]
+    like( runperl( stderr => 1, prog => "#!perl -$switch" ),
+	  qr/^Unrecognized switch: -$switch  \(-h will show valid (?x:
+	     )options\) at -e line 1\./,
+          "-$switch unrecognised on #! line" );
 }
 
+# Tests for unshebangable switches
+for (qw( e f x E S V )) {
+    $r = runperl(
+	stderr   => 1,
+	prog     => "#!perl -$_",
+    );
+    is $r, "Can't emulate -$_ on #! line at -e line 1.\n","-$_ on #! line";
+}
+
 # Tests for -i
 
 {
@@ -332,6 +371,26 @@
     is(join(":", @bak),
        "foo yada dada:bada foo bing:king kong foo",
        "-i backup file");
+
+    my $out1 = runperl(
+        switches => ['-i.bak -p'],
+        prog     => 'exit',
+        stderr   => 1,
+        stdin    => "1\n",
+    );
+    is(
+        $out1,
+        "-i used with no filenames on the command line, reading from STDIN.\n",
+        "warning when no files given"
+    );
+    my $out2 = runperl(
+        switches => ['-i.bak -p'],
+        prog     => 'exit',
+        stderr   => 1,
+        stdin    => "1\n",
+        args     => ['file'],
+    );
+    is($out2, "", "no warning when files given");
 }
 
 # Tests for -E
@@ -345,12 +404,12 @@
 
 
 $r = runperl(
-    switches	=> [ '-E', '"undef ~~ undef and say q(Hello, world!)"']
+    switches	=> [ '-E', '"no warnings q{experimental::smartmatch}; undef ~~ undef and say q(Hello, world!)"']
 );
 is( $r, "Hello, world!\n", "-E ~~" );
 
 $r = runperl(
-    switches	=> [ '-E', '"given(undef) {when(undef) { say q(Hello, world!)"}}']
+    switches	=> [ '-E', '"no warnings q{experimental::smartmatch}; given(undef) {when(undef) { say q(Hello, world!)"}}']
 );
 is( $r, "Hello, world!\n", "-E given" );
 


Property changes on: vendor/perl/dist/t/run/switches.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchn.t
===================================================================
--- vendor/perl/dist/t/run/switchn.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchn.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,11 +1,22 @@
 #!./perl -n
 
 BEGIN {
-    print "1..2\n";
+    chdir 't' if -d 't';
+    @INC = '../lib';
+    require './test.pl';
     *ARGV = *DATA;
+    plan(tests => 3);
 }
-print;
 
+END {
+    pass("Final test");
+}
+
+chomp;
+is("ok ".$., $_, "Checking line $.");
+
+s/^/not /;
+
 __DATA__
 ok 1
 ok 2


Property changes on: vendor/perl/dist/t/run/switchn.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchp.t
===================================================================
--- vendor/perl/dist/t/run/switchp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,19 @@
 #!./perl -p
 
+# This test file does not use test.pl because of the involved way in which it
+# generates its TAP output.
+
 BEGIN {
-    print "1..2\n";
+    print "1..3\n";
     *ARGV = *DATA;
 }
 
+END {
+    print "ok 3 - -p switch tested\n";
+}
+
+s/^not //;
+
 __DATA__
-ok 1
-ok 2
+not ok 1 - -p switch first iteration
+not ok 2 - -p switch second iteration


Property changes on: vendor/perl/dist/t/run/switchp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/run/switcht.t
===================================================================
--- vendor/perl/dist/t/run/switcht.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switcht.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/run/switcht.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchx.aux
===================================================================
--- vendor/perl/dist/t/run/switchx.aux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchx.aux	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,11 +17,11 @@
 
 #!/some/path/that/leads/to/perl -l
 
-print "1..4";
+print "1..7";
 if (-f 'run/switchx.aux') {
-    print "ok 1";
+    print "ok 1 - Test file exists";
 }
-print "ok 2";
+print "ok 2 - Test file utilized";
 # other tests are in switchx2.aux
 
 __END__


Property changes on: vendor/perl/dist/t/run/switchx.aux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchx.t
===================================================================
--- vendor/perl/dist/t/run/switchx.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchx.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,6 +4,7 @@
     chdir 't' if -d 't';
     @INC = '../lib';
 }
+use strict;
 
 require './test.pl';
 
@@ -16,4 +17,20 @@
                progfile => 'run/switchx2.aux',
                args     => [ 3 ] );
 
-# EOF
+curr_test(5);
+
+# Test the error message for not found
+like(runperl(switches => ['-x'], progfile => 'run/switchx3.aux', stderr => 1),
+     qr/^No Perl script found in input\r?\n\z/,
+     "Test the error message when -x can't find a #!perl line");
+
+SKIP: {
+    skip("These tests embed newlines in command line arguments, which isn't portable to $^O", 2)
+	if $^O eq 'MSWin32' or $^O eq 'VMS';
+    my @progs = ("die;\n", "#!perl\n", "warn;\n");
+    is(runperl(progs => \@progs, stderr => 1, non_portable => 1),
+       "Died at -e line 1.\n", 'Test program dies');
+    is(runperl(progs => \@progs, stderr => 1, non_portable => 1,
+	       switches => ['-x']),
+       "No Perl script found in input\n", '-x and -e gives expected error');
+}


Property changes on: vendor/perl/dist/t/run/switchx.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/run/switchx2.aux
===================================================================
--- vendor/perl/dist/t/run/switchx2.aux	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/run/switchx2.aux	2013-12-01 21:45:02 UTC (rev 6430)
@@ -21,10 +21,10 @@
 # These lines get executed
 my $test = $ARGV[0];
 if (-f 'switchx.t') {
-    print("ok $test");
+    print("ok $test - perl -l option tested");
 }
 $test++;
-print "ok $test";
+print "ok $test - Second test file utilized";
 
 __END__
 


Property changes on: vendor/perl/dist/t/run/switchx2.aux
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/test.pl
===================================================================
--- vendor/perl/dist/t/test.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/test.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -109,6 +109,16 @@
            map { split /\n/ } @_;
 }
 
+sub _have_dynamic_extension {
+    my $extension = shift;
+    unless (eval {require Config; 1}) {
+	warn "test.pl had problems loading Config: $@";
+	return 1;
+    }
+    $extension =~ s!::!/!g;
+    return 1 if ($Config::Config{extensions} =~ /\b$extension\b/);
+}
+
 sub skip_all {
     if (@_) {
         _print "1..0 # Skip @_\n";
@@ -123,14 +133,9 @@
 }
 
 sub skip_all_without_dynamic_extension {
-    my $extension = shift;
+    my ($extension) = @_;
     skip_all("no dynamic loading on miniperl, no $extension") if is_miniperl();
-    unless (eval {require Config; 1}) {
-	warn "test.pl had problems loading Config: $@";
-	return;
-    }
-    $extension =~ s!::!/!g;
-    return if ($Config::Config{extensions} =~ /\b$extension\b/);
+    return if &_have_dynamic_extension;
     skip_all("$extension was not built");
 }
 
@@ -152,6 +157,49 @@
     }
 }
 
+sub find_git_or_skip {
+    my ($source_dir, $reason);
+    if (-d '.git') {
+	$source_dir = '.';
+    } elsif (-l 'MANIFEST' && -l 'AUTHORS') {
+	my $where = readlink 'MANIFEST';
+	die "Can't readling MANIFEST: $!" unless defined $where;
+	die "Confusing symlink target for MANIFEST, '$where'"
+	    unless $where =~ s!/MANIFEST\z!!;
+	if (-d "$where/.git") {
+	    # Looks like we are in a symlink tree
+	    if (exists $ENV{GIT_DIR}) {
+		diag("Found source tree at $where, but \$ENV{GIT_DIR} is $ENV{GIT_DIR}. Not changing it");
+	    } else {
+		note("Found source tree at $where, setting \$ENV{GIT_DIR}");
+		$ENV{GIT_DIR} = "$where/.git";
+	    }
+	    $source_dir = $where;
+	}
+    }
+    if ($source_dir) {
+	my $version_string = `git --version`;
+	if (defined $version_string
+	      && $version_string =~ /\Agit version (\d+\.\d+\.\d+)(.*)/) {
+	    return $source_dir if eval "v$1 ge v1.5.0";
+	    # If you have earlier than 1.5.0 and it works, change this test
+	    $reason = "in git checkout, but git version '$1$2' too old";
+	} else {
+	    $reason = "in git checkout, but cannot run git";
+	}
+    } else {
+	$reason = 'not being run from a git checkout';
+    }
+    skip_all($reason) if $_[0] && $_[0] eq 'all';
+    skip($reason, @_);
+}
+
+sub BAIL_OUT {
+    my ($reason) = @_;
+    _print("Bail out!  $reason\n");
+    exit 255;
+}
+
 sub _ok {
     my ($pass, $where, $name, @mess) = @_;
     # Do not try to microoptimize by factoring out the "not ".
@@ -177,7 +225,10 @@
 	note @mess; # Ensure that the message is properly escaped.
     }
     else {
-	_diag "# Failed $where\n";
+	my $msg = "# Failed test $test - ";
+	$msg.= "$name " if $name;
+	$msg .= "$where\n";
+	_diag $msg;
 	_diag @mess;
     }
 
@@ -408,6 +459,13 @@
     skip(@_) if is_miniperl();
 }
 
+sub skip_without_dynamic_extension {
+    my ($extension) = @_;
+    skip("no dynamic loading on miniperl, no $extension") if is_miniperl();
+    return if &_have_dynamic_extension;
+    skip("$extension was not built");
+}
+
 sub todo_skip {
     my $why = shift;
     my $n   = @_ ? shift : 1;
@@ -439,7 +497,10 @@
     # Force a hash recompute if this perl's internals can cache the hash key.
     $key = "" . $key;
     if (exists $orig->{$key}) {
-      if ($orig->{$key} ne $value) {
+      if (
+        defined $orig->{$key} != defined $value
+        || (defined $value && $orig->{$key} ne $value)
+      ) {
         _print "# key ", _qq($key), " was ", _qq($orig->{$key}),
                      " now ", _qq($value), "\n";
         $fail = 1;
@@ -704,6 +765,44 @@
     $count;
 }
 
+# _num_to_alpha - Returns a string of letters representing a positive integer.
+# Arguments :
+#   number to convert
+#   maximum number of letters
+
+# returns undef if the number is negative
+# returns undef if the number of letters is greater than the maximum wanted
+
+# _num_to_alpha( 0) eq 'A';
+# _num_to_alpha( 1) eq 'B';
+# _num_to_alpha(25) eq 'Z';
+# _num_to_alpha(26) eq 'AA';
+# _num_to_alpha(27) eq 'AB';
+
+my @letters = qw(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z);
+
+# Avoid ++ -- ranges split negative numbers
+sub _num_to_alpha{
+    my($num,$max_char) = @_;
+    return unless $num >= 0;
+    my $alpha = '';
+    my $char_count = 0;
+    $max_char = 0 if $max_char < 0;
+
+    while( 1 ){
+        $alpha = $letters[ $num % 26 ] . $alpha;
+        $num = int( $num / 26 );
+        last if $num == 0;
+        $num = $num - 1;
+
+        # char limit
+        next unless $max_char;
+        $char_count = $char_count + 1;
+        return if $char_count == $max_char;
+    }
+    return $alpha;
+}
+
 my %tmpfiles;
 END { unlink_all keys %tmpfiles }
 
@@ -711,25 +810,23 @@
 $::tempfile_regexp = 'tmp\d+[A-Z][A-Z]?';
 
 # Avoid ++, avoid ranges, avoid split //
-my @letters = qw(A B C D E F G H I J K L M N O P Q R S T U V W X Y Z);
+my $tempfile_count = 0;
 sub tempfile {
-    my $count = 0;
-    do {
-	my $temp = $count;
+    while(1){
 	my $try = "tmp$$";
-	do {
-	    $try = $try . $letters[$temp % 26];
-	    $temp = int ($temp / 26);
-	} while $temp;
+        my $alpha = _num_to_alpha($tempfile_count,2);
+        last unless defined $alpha;
+        $try = $try . $alpha;
+        $tempfile_count = $tempfile_count + 1;
+
 	# Need to note all the file names we allocated, as a second request may
 	# come before the first is created.
-	if (!-e $try && !$tmpfiles{$try}) {
+	if (!$tmpfiles{$try} && !-e $try) {
 	    # We have a winner
 	    $tmpfiles{$try} = 1;
 	    return $try;
 	}
-	$count = $count + 1;
-    } while $count < 26 * 26;
+    }
     die "Can't find temporary file name starting 'tmp$$'";
 }
 
@@ -747,8 +844,8 @@
     # it feels like the least-worse thing is to assume that auto-vivification
     # works. At least, this is only going to be a run-time failure, so won't
     # affect tests using this file but not this function.
-    $runperl_args->{progfile} = $tmpfile;
-    $runperl_args->{stderr} = 1;
+    $runperl_args->{progfile} ||= $tmpfile;
+    $runperl_args->{stderr}     = 1 unless exists $runperl_args->{stderr};
 
     open TEST, ">$tmpfile" or die "Cannot open $tmpfile: $!";
 
@@ -843,6 +940,34 @@
 # Many tests use the same format in __DATA__ or external files to specify a
 # sequence of (fresh) tests to run, extra files they may temporarily need, and
 # what the expected output is. So have excatly one copy of the code to run that
+#
+# Each program is source code to run followed by an "EXPECT" line, followed
+# by the expected output.
+#
+# The code to run may begin with a command line switch such as -w or -0777
+# (alphanumerics only), and may contain (note the '# ' on each):
+#   # TODO reason for todo
+#   # SKIP reason for skip
+#   # SKIP ?code to test if this should be skipped
+#   # NAME name of the test (as with ok($ok, $name))
+#
+# The expected output may contain:
+#   OPTION list of options
+#   OPTIONS list of options
+#
+# The possible options for OPTION may be:
+#   regex - the expected output is a regular expression
+#   random - all lines match but in any order
+#   fatal - the code will fail fatally (croak, die)
+#
+# If the actual output contains a line "SKIPPED" the test will be
+# skipped.
+#
+# If the actual output contains a line "PREFIX", any output starting with that
+# line will be ignored when comparing with the expected output
+#
+# If the global variable $FATAL is true then OPTION fatal is the
+# default.
 
 sub run_multiple_progs {
     my $up = shift;
@@ -860,6 +985,7 @@
 
     my $tmpfile = tempfile();
 
+  PROGRAM:
     for (@prgs){
 	unless (/\n/) {
 	    print "# From $_\n";
@@ -887,8 +1013,21 @@
 	    }
 	}
 
+	my $name = '';
+	if ($prog =~ s/^#\s*NAME\s+(.+)\n//m) {
+	    $name = $1;
+	}
+
+	if ($reason{skip}) {
+	SKIP:
+	  {
+	    skip($name ? "$name - $reason{skip}" : $reason{skip}, 1);
+	  }
+	  next PROGRAM;
+	}
+
 	if ($prog =~ /--FILE--/) {
-	    my @files = split(/\n--FILE--\s*([^\s\n]*)\s*\n/, $prog) ;
+	    my @files = split(/\n?--FILE--\s*([^\s\n]*)\s*\n/, $prog) ;
 	    shift @files ;
 	    die "Internal error: test $_ didn't split into pairs, got " .
 		scalar(@files) . "[" . join("%%%%", @files) ."]\n"
@@ -946,6 +1085,7 @@
 	# any special options? (OPTIONS foo bar zap)
 	my $option_regex = 0;
 	my $option_random = 0;
+	my $fatal = $FATAL;
 	if ($expected =~ s/^OPTIONS? (.+)\n//) {
 	    foreach my $option (split(' ', $1)) {
 		if ($option eq 'regex') { # allow regular expressions
@@ -954,6 +1094,9 @@
 		elsif ($option eq 'random') { # all lines match, but in any order
 		    $option_random = 1;
 		}
+		elsif ($option eq 'fatal') { # perl should fail
+		    $fatal = 1;
+		}
 		else {
 		    die "$0: Unknown OPTION '$option'\n";
 		}
@@ -966,28 +1109,36 @@
 	    print "$results\n" ;
 	    $ok = 1;
 	}
-	elsif ($option_random) {
-	    my @got = sort split "\n", $results;
-	    my @expected = sort split "\n", $expected;
+	else {
+	    if ($option_random) {
+	        my @got = sort split "\n", $results;
+	        my @expected = sort split "\n", $expected;
 
-	    $ok = "@got" eq "@expected";
+	        $ok = "@got" eq "@expected";
+	    }
+	    elsif ($option_regex) {
+	        $ok = $results =~ /^$expected/;
+	    }
+	    elsif ($prefix) {
+	        $ok = $results =~ /^\Q$expected/;
+	    }
+	    else {
+	        $ok = $results eq $expected;
+	    }
+
+	    if ($ok && $fatal && !($status >> 8)) {
+		$ok = 0;
+	    }
 	}
-	elsif ($option_regex) {
-	    $ok = $results =~ /^$expected/;
-	}
-	elsif ($prefix) {
-	    $ok = $results =~ /^\Q$expected/;
-	}
-	else {
-	    $ok = $results eq $expected;
-	}
 
 	local $::TODO = $reason{todo};
 
 	unless ($ok) {
 	    my $err_line = "PROG: $switch\n$prog\n" .
-			   "EXPECTED:\n$expected\n" .
-			   "GOT:\n$results\n";
+			   "EXPECTED:\n$expected\n";
+	    $err_line   .= "EXIT STATUS: != 0\n" if $fatal;
+	    $err_line   .= "GOT:\n$results\n";
+	    $err_line   .= "EXIT STATUS: " . ($status >> 8) . "\n" if $fatal;
 	    if ($::TODO) {
 		$err_line =~ s/^/# /mg;
 		print $err_line;  # Harness can't filter it out from STDERR.
@@ -997,7 +1148,7 @@
 	    }
 	}
 
-	ok($ok);
+	ok($ok, $name);
 
 	foreach (@temps) {
 	    unlink $_ if $_;
@@ -1031,7 +1182,7 @@
 }
 
 
-# Call $class->new( @$args ); and run the result through isa_ok.
+# Call $class->new( @$args ); and run the result through object_ok.
 # See Test::More::new_ok
 sub new_ok {
     my($class, $args, $obj_name) = @_;
@@ -1045,7 +1196,7 @@
     my $error = $@;
 
     if($ok) {
-        isa_ok($obj, $class, $object_name);
+        object_ok($obj, $class, $object_name);
     }
     else {
         ok( 0, "new() died" );
@@ -1066,20 +1217,29 @@
     if( !defined $object ) {
         $diag = "$obj_name isn't defined";
     }
-    elsif( !ref $object ) {
-        $diag = "$obj_name isn't a reference";
-    }
     else {
+        my $whatami = ref $object ? 'object' : 'class';
+
         # We can't use UNIVERSAL::isa because we want to honor isa() overrides
         local($@, $!);  # eval sometimes resets $!
         my $rslt = eval { $object->isa($class) };
-        if( $@ ) {
-            if( $@ =~ /^Can't call method "isa" on unblessed reference/ ) {
+        my $error = $@;  # in case something else blows away $@
+
+        if( $error ) {
+            if( $error =~ /^Can't call method "isa" on unblessed reference/ ) {
+                # It's an unblessed reference
+                $obj_name = 'The reference' unless defined $obj_name;
                 if( !UNIVERSAL::isa($object, $class) ) {
                     my $ref = ref $object;
                     $diag = "$obj_name isn't a '$class' it's a '$ref'";
                 }
-            } else {
+            }
+            elsif( $error =~ /Can't call method "isa" without a package/ ) {
+                # It's something that can't even be a class
+                $obj_name = 'The thing' unless defined $obj_name;
+                $diag = "$obj_name isn't a class or reference";
+            }
+            else {
                 die <<WHOA;
 WHOA! I tried to call ->isa on your object and got some weird error.
 This should never happen.  Please contact the author immediately.
@@ -1089,6 +1249,7 @@
             }
         }
         elsif( !$rslt ) {
+            $obj_name = "The $whatami" unless defined $obj_name;
             my $ref = ref $object;
             $diag = "$obj_name isn't a '$class' it's a '$ref'";
         }
@@ -1097,6 +1258,34 @@
     _ok( !$diag, _where(), $name );
 }
 
+
+sub class_ok {
+    my($class, $isa, $class_name) = @_;
+
+    # Written so as to count as one test
+    local $Level = $Level + 1;
+    if( ref $class ) {
+        ok( 0, "$class is a refrence, not a class name" );
+    }
+    else {
+        isa_ok($class, $isa, $class_name);
+    }
+}
+
+
+sub object_ok {
+    my($obj, $isa, $obj_name) = @_;
+
+    local $Level = $Level + 1;
+    if( !ref $obj ) {
+        ok( 0, "$obj is not a reference" );
+    }
+    else {
+        isa_ok($obj, $isa, $obj_name);
+    }
+}
+
+
 # Purposefully avoiding a closure.
 sub __capture {
     push @::__capture, join "", @_;
@@ -1191,7 +1380,7 @@
 
     # Don't use a watchdog process if 'threads' is loaded -
     #   use a watchdog thread instead
-    if (!$threads_on) {
+    if (!$threads_on || $method eq "process") {
 
         # On Windows and VMS, try launching a watchdog process
         #   using system(1, ...) (see perlport.pod)
@@ -1258,6 +1447,11 @@
             if (kill(0, $pid_to_kill)) {
                 _diag($timeout_msg);
                 kill('KILL', $pid_to_kill);
+		if ($is_cygwin) {
+		    # sometimes the above isn't enough on cygwin
+		    sleep 1; # wait a little, it might have worked after all
+		    system("/bin/kill -f $pid_to_kill");
+		}
             }
 
             # Don't execute END block (added at beginning of this file)


Property changes on: vendor/perl/dist/t/test.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/t/thread_it.pl
===================================================================
--- vendor/perl/dist/t/thread_it.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/thread_it.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/thread_it.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/cache.t
===================================================================
--- vendor/perl/dist/t/uni/cache.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/cache.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,17 +6,28 @@
 
 plan tests => 1;
 
-my $count = 0;
-unshift @INC, sub {
-       # XXX Kludge requires exact path, which might change
-       $count++ if $_[1] eq 'unicore/lib/Sc/Hira.pl';
-};
+# Looks to see if a "do 'unicore/lib/Sc/Hira.pl'" is called more than once, by
+# putting a compile sub first on the libary path;
+# XXX Kludge: requires exact path, which might change, and has deep knowledge
+# of how utf8_heavy.pl works, which might also change.
 
+BEGIN { # Make sure catches compile time references
+    $::count = 0;
+    unshift @INC, sub {
+       $::count++ if $_[1] eq 'unicore/lib/Sc/Hira.pl';
+    };
+}
+
 my $s = 'foo';
 
-$s =~ m/[\p{Hiragana}]/;
-$s =~ m/[\p{Hiragana}]/;
-$s =~ m/[\p{Hiragana}]/;
-$s =~ m/[\p{Hiragana}]/;
+# The second value is to prevent an optimization that exists at the time this
+# is written to re-use a property without trying to look it up if it is the
+# only thing in a character class.  They differ in order to make sure that any
+# future optimizations that don't re-use identical character classes don't come
+# into play
+$s =~ m/[\p{Hiragana}\x{101}]/;
+$s =~ m/[\p{Hiragana}\x{102}]/;
+$s =~ m/[\p{Hiragana}\x{103}]/;
+$s =~ m/[\p{Hiragana}\x{104}]/;
 
-is($count, 1, "Swatch hash caching kept us from reloading swatch hash.");
+is($::count, 1, "Swatch hash caching kept us from reloading swatch hash.");


Property changes on: vendor/perl/dist/t/uni/cache.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/case.pl
===================================================================
--- vendor/perl/dist/t/uni/case.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/case.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,6 @@
 require "test.pl";
+use strict;
+use warnings;
 
 sub unidump {
     join " ", map { sprintf "%04X", $_ } unpack "U*", $_[0];
@@ -5,7 +7,10 @@
 }
 
 sub casetest {
-    my ($already_run, $base, $spec, @funcs) = @_;
+    my ($already_run, $base, @funcs) = @_;
+
+    my %spec;
+
     # For each provided function run it, and run a version with some extra
     # characters afterwards. Use a recycling symbol, as it doesn't change case.
     # $already_run is the number of extra tests the caller has run before this
@@ -20,13 +25,33 @@
 		    },
 		   )} @funcs;
 
-    my $file = "../lib/unicore/To/$base.pl";
-    my $simple = do $file or die $@;
+    use Unicode::UCD 'prop_invmap';
+
+    # Get the case mappings
+    my ($invlist_ref, $invmap_ref, undef, $default) = prop_invmap($base);
     my %simple;
-    for my $i (split(/\n/, $simple)) {
-	my ($k, $v) = split(' ', $i);
-	$simple{$k} = $v;
+
+    for my $i (0 .. @$invlist_ref - 1 - 1) {
+        next if $invmap_ref->[$i] == $default;
+
+        # Add simple mappings to the simples test list
+        if (! ref $invmap_ref->[$i]) {
+
+            # The returned map needs to have adjustments made.  Each
+            # subsequent element of the range requires adjustment of +1 from
+            # the previous element
+            my $adjust = 0;
+            for my $k ($invlist_ref->[$i] .. $invlist_ref->[$i+1] - 1) {
+                $simple{$k} = $invmap_ref->[$i] + $adjust++;
+            }
+        }
+        else {  # The return is a list of the characters mapped-to.
+                # prop_invmap() guarantees a single element in the range in
+                # this case, so no adjustments are needed.
+            $spec{$invlist_ref->[$i]} = pack "U0U*" , @{$invmap_ref->[$i]};
+        }
     }
+
     my %seen;
 
     for my $i (sort keys %simple) {
@@ -34,18 +59,13 @@
     }
     print "# ", scalar keys %simple, " simple mappings\n";
 
-    my $both;
-
-    for my $i (sort keys %$spec) {
+    for my $i (sort keys %spec) {
 	if (++$seen{$i} == 2) {
 	    warn sprintf "$base: $i seen twice\n";
-	    $both++;
 	}
     }
-    print "# ", scalar keys %$spec, " special mappings\n";
+    print "# ", scalar keys %spec, " special mappings\n";
 
-    exit(1) if $both;
-
     my %none;
     for my $i (map { ord } split //,
 	       "\e !\"#\$%&'()+,-./0123456789:;<=>?\@[\\]^_{|}~\b") {
@@ -57,7 +77,7 @@
     my $tests = 
         $already_run +
 	((scalar keys %simple) +
-	 (scalar keys %$spec) +
+	 (scalar keys %spec) +
 	 (scalar keys %none)) * @funcs;
 
     my $test = $already_run + 1;
@@ -64,94 +84,36 @@
 
     for my $i (sort keys %simple) {
 	my $w = $simple{$i};
-	my $c = pack "U0U", hex $i;
+	my $c = pack "U0U", $i;
 	foreach my $func (@funcs) {
 	    my $d = $func->($c);
 	    my $e = unidump($d);
-	    print $d eq pack("U0U", hex $simple{$i}) ?
-		"ok $test # $i -> $w\n" : "not ok $test # $i -> $e ($w)\n";
-		$test++;
+	    is( $d, pack("U0U", $simple{$i}), "$i -> $e ($w)" );
 	}
     }
 
-    for my $i (sort keys %$spec) {
-	my $w = unidump($spec->{$i});
-	if (ord('A') == 193 && $i eq "\x8A\x73") {
-	    $w = '0178'; # It's a Latin small Y with diaeresis and not a Latin small letter sharp 's'.
-	}
-	my $u = unpack "C0U", $i;
-	my $h = sprintf "%04X", $u;
-	my $c = chr($u); $c .= chr(0x100); chop $c;
+    for my $i (sort keys %spec) {
+	my $w = unidump($spec{$i});
+	my $h = sprintf "%04X", $i;
+	my $c = chr($i); $c .= chr(0x100); chop $c;
 	foreach my $func (@funcs) {
 	    my $d = $func->($c);
 	    my $e = unidump($d);
-	    if (ord "A" == 193) { # EBCDIC
-		# We need to a little bit of remapping.
-		#
-		# For example, in titlecase (ucfirst) mapping
-		# of U+0149 the Unicode mapping is U+02BC U+004E.
-		# The 4E is N, which in EBCDIC is 2B--
-		# and the ucfirst() does that right.
-		# The problem is that our reference
-		# data is in Unicode code points.
-		#
-		# The Right Way here would be to use, say,
-		# Encode, to remap the less-than 0x100 code points,
-		# but let's try to be Encode-independent here. 
-		#
-		# These are the titlecase exceptions:
-		#
-		#         Unicode   Unicode+EBCDIC  
-		#
-		# 0149 -> 02BC 004E (02BC 002B)
-		# 01F0 -> 004A 030C (00A2 030C)
-		# 1E96 -> 0048 0331 (00E7 0331)
-		# 1E97 -> 0054 0308 (00E8 0308)
-		# 1E98 -> 0057 030A (00EF 030A)
-		# 1E99 -> 0059 030A (00DF 030A)
-		# 1E9A -> 0041 02BE (00A0 02BE)
-		#
-		# The uppercase exceptions are identical.
-		#
-		# The lowercase has one more:
-		#
-		#         Unicode   Unicode+EBCDIC  
-		#
-		# 0130 -> 0069 0307 (00D1 0307)
-		#
-		if ($h =~ /^(0130|0149|01F0|1E96|1E97|1E98|1E99|1E9A)$/) {
-		    $e =~ s/004E/002B/; # N
-		    $e =~ s/004A/00A2/; # J
-		    $e =~ s/0048/00E7/; # H
-		    $e =~ s/0054/00E8/; # T
-		    $e =~ s/0057/00EF/; # W
-		    $e =~ s/0059/00DF/; # Y
-		    $e =~ s/0041/00A0/; # A
-		    $e =~ s/0069/00D1/; # i
-		}
-		# We have to map the output, not the input, because
-		# pack/unpack U has been EBCDICified, too, it would
-		# just undo our remapping.
-	    }
-	    print $w eq $e ?
-		"ok $test # $i -> $w\n" : "not ok $test # $h -> $e ($w)\n";
-		$test++;
+            is( $w, $e, "$h -> $e ($w)" );
 	}
     }
 
     for my $i (sort { $a <=> $b } keys %none) {
+	my $c = pack "U0U", $i;
 	my $w = $i = sprintf "%04X", $i;
-	my $c = pack "U0U", hex $i;
 	foreach my $func (@funcs) {
 	    my $d = $func->($c);
 	    my $e = unidump($d);
-	    print $d eq $c ?
-		"ok $test # $i -> $w\n" : "not ok $test # $i -> $e ($w)\n";
-		$test++;
+            is( $d, $c, "$i -> $e ($w)" );
 	}
     }
 
-    print "1..$tests\n";
+    done_testing();
 }
 
 1;


Property changes on: vendor/perl/dist/t/uni/case.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/uni/chomp.t
===================================================================
--- vendor/perl/dist/t/uni/chomp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/chomp.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/uni/chomp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/chr.t
===================================================================
--- vendor/perl/dist/t/uni/chr.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/chr.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,7 +8,8 @@
 }
 
 use strict;
-plan (tests => 6);
+plan (tests => 8);
+no warnings 'deprecated';
 use encoding 'johab';
 
 ok(chr(0x7f) eq "\x7f");
@@ -19,4 +20,13 @@
     ok(chr($i) eq pack('C', $i));
 }
 
+# [perl #83048]
+{
+    my $w;
+    local $SIG{__WARN__} = sub { $w .= $_[0] };
+    my $chr = chr(-1);
+    is($chr, "\x{fffd}", "invalid values become REPLACEMENT CHARACTER");
+    like($w, qr/^Invalid negative number \(-1\) in chr at /, "with a warning");
+}
+
 __END__


Property changes on: vendor/perl/dist/t/uni/chr.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/class.t
===================================================================
--- vendor/perl/dist/t/uni/class.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/class.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,8 +4,13 @@
     require "test.pl";
 }
 
-plan tests => 10;
+plan tests => 11;
 
+my $str = join "", map latin1_to_native(chr($_)), 0x20 .. 0x6F;
+
+is(($str =~ /(\p{IsMyUniClass}+)/)[0], '0123456789:;<=>?@ABCDEFGHIJKLMNO',
+                                'user-defined class compiled before defined');
+
 sub IsMyUniClass {
   <<END;
 0030	004F
@@ -50,8 +55,6 @@
 
 use strict;
 
-my $str = join "", map latin1_to_native(chr($_)), 0x20 .. 0x6F;
-
 # make sure it finds built-in class
 is(($str =~ /(\p{Letter}+)/)[0], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ');
 is(($str =~ /(\p{l}+)/)[0], 'ABCDEFGHIJKLMNOPQRSTUVWXYZ');


Property changes on: vendor/perl/dist/t/uni/class.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/fold.t
===================================================================
--- vendor/perl/dist/t/uni/fold.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/fold.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,47 +2,66 @@
 use warnings;
 
 # re/fold_grind.t has more complex tests, but doesn't test every fold
+# This file also tests the fc() keyword.
 
 BEGIN {
     chdir 't' if -d 't';
     @INC = '../lib';
+    require Config; import Config;
     require './test.pl';
 }
 
+use feature 'unicode_strings';
+use Unicode::UCD qw(all_casefolds);
+
 binmode *STDOUT, ":utf8";
 
 our $TODO;
 
+
 plan("no_plan");
-
 # Read in the official case folding definitions.
-my $CF = '../lib/unicore/CaseFolding.txt';
-
-die qq[$0: failed to open "$CF": $!\n] if ! open(my $fh, "<", $CF);
-
+my $casefolds = all_casefolds();
+my @folds;
 my @CF;
+my @simple_folds;
 my %reverse_fold;
-while (<$fh>) {
-    # Skip S since we are going for 'F'ull case folding.  I is obsolete starting
-    # with Unicode 3.2, but leaving it in does no harm, and allows backward
-    # compatibility
-    next unless my ($code, $type, $mapping, $name) = $_ =~
-            /^([0-9A-F]+); ([CFI]); ((?:[0-9A-F]+)(?: [0-9A-F]+)*); \# (.+)/;
+use Unicode::UCD;
+use charnames();
 
-    # Convert any 0-255 range chars to native.
-    $code = sprintf("%04X", ord_latin1_to_native(hex $code)) if hex $code < 0x100;
-    $mapping = join " ", map { $_ =
-                                sprintf("%04X", ord_latin1_to_native(hex $_)) }
-                                                            split / /, $mapping;
+foreach my $decimal_code_point (sort { $a <=> $b } keys %$casefolds) {
+    # We only use simple folds in fc(), since the regex engine uses full case
+    # folding.
 
-    push @CF, [$code, $mapping, $type, $name];
+    my $name = charnames::viacode($decimal_code_point);
+    my $type = $casefolds->{$decimal_code_point}{'status'};
+    my $code = $casefolds->{$decimal_code_point}{'code'};
+    my $simple = $casefolds->{$decimal_code_point}{'simple'};
+    my $full = $casefolds->{$decimal_code_point}{'full'};
 
+    if ($simple && $simple ne $full) { # If there is a distinction
+        push @simple_folds, [ $code, $simple, $type, $name ];
+    }
+
+    push @CF, [ $code, $full, $type, $name ];
+
     # Get the inverse fold for single-char mappings.
-    $reverse_fold{pack "U0U*", hex $mapping} = pack "U0U*", hex $code if $type ne 'F';
+    $reverse_fold{pack "U0U*", hex $simple} = pack "U0U*", $decimal_code_point if $simple;
 }
 
-close($fh) or die "$0 Couldn't close $CF";
+foreach my $test_ref ( @simple_folds ) {
+    use feature 'fc';
+    my ($code, $mapping, $type, $name) = @$test_ref;
+    my $c = pack("U0U*", hex $code);
+    my $f = pack("U0U*", map { hex } split " ", $mapping);
 
+    my $against = join "", "qq{", map("\\x{$_}", split " ", $mapping), "}";
+    {
+        isnt(fc($c), $f, "$code - $name - $mapping - $type - Full casefolding, fc(\\x{$code}) ne $against");
+        isnt("\F$c", $f, "$code - $name - $mapping - $type - Full casefolding, qq{\\F\\x{$code}} ne $against");
+    }
+}
+
 foreach my $test_ref (@CF) {
     my ($code, $mapping, $type, $name) = @$test_ref;
     my $c = pack("U0U*", hex $code);
@@ -60,6 +79,24 @@
         ok eval $test, "$code - $name - $mapping - $type - $test";
     }
 
+    {
+        # fc() tests
+        my $against = join "", "qq{", map("\\x{$_}", split " ", $mapping), "}";
+        is(CORE::fc($c), $f,
+            "$code - $name - $mapping - $type - fc(\\x{$code}) eq $against");
+        is("\F$c", $f, "$code - $name - $mapping - $type - qq{\\F\\x{$code}} eq $against");
+
+        # And here we test bytes. For [A-Za-z0-9], the fold is the same as lc under
+        # bytes. For everything else, it's the bytes that formed the original string.
+        if ( $c =~ /[A-Za-z0-9]/ ) {
+            use bytes;
+            is(CORE::fc($c), lc($c), "$code - $name - fc and use bytes, ascii");
+        } else {
+            my $copy = "" . $c;
+            utf8::encode($copy);
+            is($copy, do { use bytes; CORE::fc($c) }, "$code - $name - fc and use bytes");
+        }
+    }
     # Certain tests weren't convenient to put in the list above since they are
     # TODO's in multi-character folds.
     if ($f_length == 1) {
@@ -115,8 +152,298 @@
     }
 }
 
+{
+    use utf8;
+    use feature qw(fc);
+    # These three come from the ICU project's test suite, more especifically
+    # http://icu.sourcearchive.com/documentation/4.4~rc1-1/strcase_8cpp-source.html
+
+    my $s = "A\N{U+00df}\N{U+00b5}\N{U+fb03}\N{U+1040C}\N{U+0130}\N{U+0131}";
+    #\N{LATIN CAPITAL LETTER A}\N{LATIN SMALL LETTER SHARP S}\N{MICRO SIGN}\N{LATIN SMALL LIGATURE FFI}\N{DESERET CAPITAL LETTER AY}\N{LATIN CAPITAL LETTER I WITH DOT ABOVE}\N{LATIN SMALL LETTER DOTLESS I}
+
+    my $f = "ass\N{U+03bc}ffi\N{U+10434}i\N{U+0307}\N{U+0131}";
+    #\N{LATIN SMALL LETTER A}\N{LATIN SMALL LETTER S}\N{LATIN SMALL LETTER S}\N{GREEK SMALL LETTER MU}\N{LATIN SMALL LETTER F}\N{LATIN SMALL LETTER F}\N{LATIN SMALL LETTER I}\N{DESERET SMALL LETTER AY}\N{LATIN SMALL LETTER I}\N{COMBINING DOT ABOVE}\N{LATIN SMALL LETTER DOTLESS I}
+
+    is(fc($s), $f, "ICU's casefold test passes");
+    is("\F$s", $f, "ICU's casefold test passes");
+
+    is( fc("aBİIıϐßffi\x{5FFFF}"), "abi̇iıβssffi\x{5FFFF}" );
+    is( "\FaBİIıϐßffi\x{5FFFF}", "abi̇iıβssffi\x{5FFFF}" );
+#    TODO: {
+#        local $::TODO = "turkic special cases";
+#        is( fc "aBİIıϐßffi\x{5FFFF}", "abiııβssffi\x{5FFFF}" );
+#    }
+
+    # The next batch come from http://www.devdaily.com/java/jwarehouse/lucene/contrib/icu/src/test/org/apache/lucene/analysis/icu/TestICUFoldingFilter.java.shtml
+    # Except the article got most casings wrong. Or maybe Lucene does.
+
+    is( fc("This is a test"), "this is a test" );
+    is( fc("Ruß"), "russ"    );
+    is( fc("ΜΆΪΟΣ"), "μάϊοσ" );
+    is( fc("Μάϊος"), "μάϊοσ" );
+    is( fc("𐐖"), "𐐾"       );
+    is( fc("r\xe9sum\xe9"), "r\xe9sum\xe9" );
+    is( fc("re\x{0301}sume\x{0301}"), "re\x{301}sume\x{301}" );
+    is( fc("ELİF"), "eli\x{307}f" );
+    is( fc("eli\x{307}f"), "eli\x{307}f");
+
+    # This batch comes from
+    # http://www.java2s.com/Open-Source/Java-Document/Internationalization-Localization/icu4j/com/ibm/icu/dev/test/lang/UCharacterCaseTest.java.htm
+    # Which uses ICU as the backend.
+
+    my @folding_mixed = (
+        "\x{61}\x{42}\x{130}\x{49}\x{131}\x{3d0}\x{df}\x{fb03}",
+        "A\x{df}\x{b5}\x{fb03}\x{1040C}\x{130}\x{131}",
+    );
+
+    my @folding_default = (
+        "\x{61}\x{62}\x{69}\x{307}\x{69}\x{131}\x{3b2}\x{73}\x{73}\x{66}\x{66}\x{69}",
+        "ass\x{3bc}ffi\x{10434}i\x{307}\x{131}",
+    );
+
+    my @folding_exclude_turkic = (
+        "\x{61}\x{62}\x{69}\x{131}\x{131}\x{3b2}\x{73}\x{73}\x{66}\x{66}\x{69}",
+        "ass\x{3bc}ffi\x{10434}i\x{131}",
+    );
+
+    is( fc($folding_mixed[1]), $folding_default[1] );
+
+    is( fc($folding_mixed[0]), $folding_default[0] );
+
+}
+
+{
+    use utf8;
+    # Table stolen from tchrist's mail in
+    # http://bugs.python.org/file23051/casing-tests.py
+    # and http://98.245.80.27/tcpc/OSCON2011/case-test.python3
+    # For reference, it's a longer version of what he posted here:
+    # http://stackoverflow.com/questions/6991038/case-insensitive-storage-and-unicode-compatibility
+
+    #Couple of repeats because I'm lazy, not tchrist's fault.
+
+    #This should probably go in t/op/lc.t
+
+    my @test_table = (
+# ORIG LC_SIMPLE TC_SIMPLE UC_SIMPLE LC_FULL TC_FULL UC_FULL FC_SIMPLE FC_TURKIC FC_FULL
+[ 'þǽr rihtes', 'þǽr rihtes', 'Þǽr Rihtes', 'ÞǼR RIHTES', 'þǽr rihtes', 'Þǽr Rihtes', 'ÞǼR RIHTES', 'þǽr rihtes', 'þǽr rihtes', 'þǽr rihtes',  ],
+[ 'duȝeðlice', 'duȝeðlice', 'Duȝeðlice', 'DUȜEÐLICE', 'duȝeðlice', 'Duȝeðlice', 'DUȜEÐLICE', 'duȝeðlice', 'duȝeðlice', 'duȝeðlice',  ],
+[ 'Ævar Arnfjörð Bjarmason', 'ævar arnfjörð bjarmason', 'Ævar Arnfjörð Bjarmason', 'ÆVAR ARNFJÖRÐ BJARMASON', 'ævar arnfjörð bjarmason', 'Ævar Arnfjörð Bjarmason', 'ÆVAR ARNFJÖRÐ BJARMASON', 'ævar arnfjörð bjarmason', 'ævar arnfjörð bjarmason', 'ævar arnfjörð bjarmason',  ],
+[ 'Кириллица', 'кириллица', 'Кириллица', 'КИРИЛЛИЦА', 'кириллица', 'Кириллица', 'КИРИЛЛИЦА', 'кириллица', 'кириллица', 'кириллица',  ],
+[ 'ij', 'ij', 'IJ', 'IJ', 'ij', 'IJ', 'IJ', 'ij', 'ij', 'ij',  ],
+[ 'Van Dijke', 'van dijke', 'Van Dijke', 'VAN DIJKE', 'van dijke', 'Van Dijke', 'VAN DIJKE', 'van dijke', 'van dijke', 'van dijke',  ],
+[ 'VAN DIJKE', 'van dijke', 'Van Dijke', 'VAN DIJKE', 'van dijke', 'Van Dijke', 'VAN DIJKE', 'van dijke', 'van dijke', 'van dijke',  ],
+[ 'efficient', 'efficient', 'Efficient', 'EffiCIENT', 'efficient', 'Efficient', 'EFFICIENT', 'efficient', 'efficient', 'efficient',  ],
+[ 'flour', 'flour', 'flour', 'flOUR', 'flour', 'Flour', 'FLOUR', 'flour', 'flour', 'flour',  ],
+[ 'flour and water', 'flour and water', 'flour And Water', 'flOUR AND WATER', 'flour and water', 'Flour And Water', 'FLOUR AND WATER', 'flour and water', 'flour and water', 'flour and water',  ],
+[ 'dzur', 'dzur', 'Dzur', 'DZUR', 'dzur', 'Dzur', 'DZUR', 'dzur', 'dzur', 'dzur',  ],
+[ 'Dzur', 'dzur', 'Dzur', 'DZUR', 'dzur', 'Dzur', 'DZUR', 'dzur', 'dzur', 'dzur',  ],
+[ 'DZUR', 'dzur', 'Dzur', 'DZUR', 'dzur', 'Dzur', 'DZUR', 'dzur', 'dzur', 'dzur',  ],
+[ 'dzur mountain', 'dzur mountain', 'Dzur Mountain', 'DZUR MOUNTAIN', 'dzur mountain', 'Dzur Mountain', 'DZUR MOUNTAIN', 'dzur mountain', 'dzur mountain', 'dzur mountain',  ],
+[ 'Dzur Mountain', 'dzur mountain', 'Dzur Mountain', 'DZUR MOUNTAIN', 'dzur mountain', 'Dzur Mountain', 'DZUR MOUNTAIN', 'dzur mountain', 'dzur mountain', 'dzur mountain',  ],
+[ 'DZUR MOUNTAIN', 'dzur mountain', 'Dzur Mountain', 'DZUR MOUNTAIN', 'dzur mountain', 'Dzur Mountain', 'DZUR MOUNTAIN', 'dzur mountain', 'dzur mountaın', 'dzur mountain',  ],
+[ 'poſt', 'poſt', 'Poſt', 'POST', 'poſt', 'Poſt', 'POST', 'post', 'post', 'post',  ],
+[ 'poſt', 'poſt', 'Poſt', 'POſt', 'poſt', 'Poſt', 'POST', 'poſt', 'post', 'post',  ],
+[ 'ſtop', 'ſtop', 'ſtop', 'ſtOP', 'ſtop', 'Stop', 'STOP', 'ſtop', 'stop', 'stop',  ],
+[ 'tschüß', 'tschüß', 'Tschüß', 'TSCHÜß', 'tschüß', 'Tschüß', 'TSCHÜSS', 'tschüß', 'tschüss', 'tschüss',  ],
+[ 'TSCHÜẞ', 'tschüß', 'Tschüß', 'TSCHÜẞ', 'tschüß', 'Tschüß', 'TSCHÜẞ', 'tschüß', 'tschüss', 'tschüss',  ],
+[ 'weiß', 'weiß', 'Weiß', 'WEIß', 'weiß', 'Weiß', 'WEISS', 'weiß', 'weiss', 'weiss',  ],
+[ 'WEIẞ', 'weiß', 'Weiß', 'WEIẞ', 'weiß', 'Weiß', 'WEIẞ', 'weiß', 'weıss', 'weiss',  ],
+[ 'ẞIEW', 'ßiew', 'ẞiew', 'ẞIEW', 'ßiew', 'ẞiew', 'ẞIEW', 'ßiew', 'ssıew', 'ssiew',  ],
+[ 'ᾲ', 'ᾲ', 'Ὰͅ', 'ᾺΙ', 'ᾲ', 'Ὰͅ', 'ᾺΙ', 'ὰι', 'ὰι', 'ὰι',  ],
+[ 'Ὰι', 'ὰι', 'Ὰι', 'ᾺΙ', 'ὰι', 'Ὰι', 'ᾺΙ', 'ὰι', 'ὰι', 'ὰι',  ],
+[ 'ᾺΙ', 'ὰι', 'Ὰι', 'ᾺΙ', 'ὰι', 'Ὰι', 'ᾺΙ', 'ὰι', 'ὰι', 'ὰι',  ],
+[ 'ᾲ', 'ᾲ', 'ᾲ', 'ᾲ', 'ᾲ', 'Ὰͅ', 'ᾺΙ', 'ᾲ', 'ὰι', 'ὰι',  ],
+[ 'Ὰͅ', 'ᾲ', 'Ὰͅ', 'ᾺΙ', 'ᾲ', 'Ὰͅ', 'ᾺΙ', 'ὰι', 'ὰι', 'ὰι',  ],
+[ 'ᾺΙ', 'ὰι', 'Ὰι', 'ᾺΙ', 'ὰι', 'Ὰι', 'ᾺΙ', 'ὰι', 'ὰι', 'ὰι',  ],
+[ 'ᾲ στο διάολο', 'ᾲ στο διάολο', 'ᾲ Στο Διάολο', 'ᾲ ΣΤΟ ΔΙΆΟΛΟ', 'ᾲ στο διάολο', 'Ὰͅ Στο Διάολο', 'ᾺΙ ΣΤΟ ΔΙΆΟΛΟ', 'ᾲ στο διάολο', 'ὰι στο διάολο', 'ὰι στο διάολο',  ],
+[ 'ᾲ στο διάολο', 'ᾲ στο διάολο', 'Ὰͅ Στο Διάολο', 'ᾺΙ ΣΤΟ ΔΙΆΟΛΟ', 'ᾲ στο διάολο', 'Ὰͅ Στο Διάολο', 'ᾺΙ ΣΤΟ ΔΙΆΟΛΟ', 'ὰι στο διάολο', 'ὰι στο διάολο', 'ὰι στο διάολο',  ],
+[ '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐇𐐝𐐀𐐡𐐇𐐓', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐇𐐝𐐀𐐡𐐇𐐓', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻',  ],
+[ '𐐔𐐯𐑅𐐨𐑉𐐯𐐻', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐇𐐝𐐀𐐡𐐇𐐓', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐇𐐝𐐀𐐡𐐇𐐓', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻',  ],
+[ '𐐔𐐇𐐝𐐀𐐡𐐇𐐓', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐇𐐝𐐀𐐡𐐇𐐓', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐯𐑅𐐨𐑉𐐯𐐻', '𐐔𐐇𐐝𐐀𐐡𐐇𐐓', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻', '𐐼𐐯𐑅𐐨𐑉𐐯𐐻',  ],
+[ 'henry ⅷ', 'henry ⅷ', 'Henry Ⅷ', 'HENRY Ⅷ', 'henry ⅷ', 'Henry Ⅷ', 'HENRY Ⅷ', 'henry ⅷ', 'henry ⅷ', 'henry ⅷ',  ],
+[ 'Henry Ⅷ', 'henry ⅷ', 'Henry Ⅷ', 'HENRY Ⅷ', 'henry ⅷ', 'Henry Ⅷ', 'HENRY Ⅷ', 'henry ⅷ', 'henry ⅷ', 'henry ⅷ',  ],
+[ 'HENRY Ⅷ', 'henry ⅷ', 'Henry Ⅷ', 'HENRY Ⅷ', 'henry ⅷ', 'Henry Ⅷ', 'HENRY Ⅷ', 'henry ⅷ', 'henry ⅷ', 'henry ⅷ',  ],
+[ 'i work at ⓚ', 'i work at ⓚ', 'I Work At Ⓚ', 'I WORK AT Ⓚ', 'i work at ⓚ', 'I Work At Ⓚ', 'I WORK AT Ⓚ', 'i work at ⓚ', 'i work at ⓚ', 'i work at ⓚ',  ],
+[ 'I Work At Ⓚ', 'i work at ⓚ', 'I Work At Ⓚ', 'I WORK AT Ⓚ', 'i work at ⓚ', 'I Work At Ⓚ', 'I WORK AT Ⓚ', 'i work at ⓚ', 'ı work at ⓚ', 'i work at ⓚ',  ],
+[ 'I WORK AT Ⓚ', 'i work at ⓚ', 'I Work At Ⓚ', 'I WORK AT Ⓚ', 'i work at ⓚ', 'I Work At Ⓚ', 'I WORK AT Ⓚ', 'i work at ⓚ', 'ı work at ⓚ', 'i work at ⓚ',  ],
+[ 'istambul', 'istambul', 'Istambul', 'ISTAMBUL', 'istambul', 'Istambul', 'ISTAMBUL', 'istambul', 'istambul', 'istambul',  ],
+[ 'i̇stanbul', 'i̇stanbul', 'İstanbul', 'İSTANBUL', 'i̇stanbul', 'İstanbul', 'İSTANBUL', 'i̇stanbul', 'i̇stanbul', 'i̇stanbul',  ],
+[ 'İstanbul', 'i̇stanbul', 'İstanbul', 'İSTANBUL', 'i̇stanbul', 'İstanbul', 'İSTANBUL', 'i̇stanbul', 'ı̇stanbul', 'i̇stanbul',  ],
+[ 'İSTANBUL', 'istanbul', 'İstanbul', 'İSTANBUL', 'i̇stanbul', 'İstanbul', 'İSTANBUL', 'İstanbul', 'istanbul', 'i̇stanbul',  ],
+[ 'στιγμας', 'στιγμας', 'Στιγμας', 'ΣΤΙΓΜΑΣ', 'στιγμας', 'Στιγμας', 'ΣΤΙΓΜΑΣ', 'στιγμασ', 'στιγμασ', 'στιγμασ',  ],
+[ 'στιγμασ', 'στιγμασ', 'Στιγμασ', 'ΣΤΙΓΜΑΣ', 'στιγμασ', 'Στιγμασ', 'ΣΤΙΓΜΑΣ', 'στιγμασ', 'στιγμασ', 'στιγμασ',  ],
+[ 'ΣΤΙΓΜΑΣ', 'στιγμασ', 'Στιγμασ', 'ΣΤΙΓΜΑΣ', 'στιγμασ', 'Στιγμασ', 'ΣΤΙΓΜΑΣ', 'στιγμασ', 'στιγμασ', 'στιγμασ',  ],
+[ 'ʀᴀʀᴇ', 'ʀᴀʀᴇ', 'Ʀᴀʀᴇ', 'ƦᴀƦᴇ', 'ʀᴀʀᴇ', 'Ʀᴀʀᴇ', 'ƦᴀƦᴇ', 'ʀᴀʀᴇ', 'ʀᴀʀᴇ', 'ʀᴀʀᴇ',  ],
+[ 'Ʀᴀʀᴇ', 'ʀᴀʀᴇ', 'Ʀᴀʀᴇ', 'ƦᴀƦᴇ', 'ʀᴀʀᴇ', 'Ʀᴀʀᴇ', 'ƦᴀƦᴇ', 'ʀᴀʀᴇ', 'ʀᴀʀᴇ', 'ʀᴀʀᴇ',  ],
+[ 'ƦᴀƦᴇ', 'ʀᴀʀᴇ', 'Ʀᴀʀᴇ', 'ƦᴀƦᴇ', 'ʀᴀʀᴇ', 'Ʀᴀʀᴇ', 'ƦᴀƦᴇ', 'ʀᴀʀᴇ', 'ʀᴀʀᴇ', 'ʀᴀʀᴇ',  ],
+[ 'Ԧԧ', 'ԧԧ', 'Ԧԧ', 'ԦԦ', 'ԧԧ', 'Ԧԧ', 'ԦԦ', 'ԧԧ', 'ԧԧ', 'ԧԧ',  ],
+[ 'ԧԧ', 'ԧԧ', 'Ԧԧ', 'ԦԦ', 'ԧԧ', 'Ԧԧ', 'ԦԦ', 'ԧԧ', 'ԧԧ', 'ԧԧ',  ],
+[ 'Ԧԧ', 'ԧԧ', 'Ԧԧ', 'ԦԦ', 'ԧԧ', 'Ԧԧ', 'ԦԦ', 'ԧԧ', 'ԧԧ', 'ԧԧ',  ],
+[ 'ԦԦ', 'ԧԧ', 'Ԧԧ', 'ԦԦ', 'ԧԧ', 'Ԧԧ', 'ԦԦ', 'ԧԧ', 'ԧԧ', 'ԧԧ',  ],
+[ "þǽr rihtes", "þǽr rihtes", "Þǽr Rihtes", "ÞǼR RIHTES", "þǽr rihtes", "Þǽr Rihtes", "ÞǼR RIHTES", "þǽr rihtes", "þǽr rihtes", "þǽr rihtes",  ],
+[ "duȝeðlice", "duȝeðlice", "Duȝeðlice", "DUȜEÐLICE", "duȝeðlice", "Duȝeðlice", "DUȜEÐLICE", "duȝeðlice", "duȝeðlice", "duȝeðlice",  ],
+[ "Van Dijke", "van dijke", "Van Dijke", "VAN DIJKE", "van dijke", "Van Dijke", "VAN DIJKE", "van dijke", "van dijke", "van dijke",  ],
+[ "fi", "fi", "fi", "fi", "fi", "Fi", "FI", "fi", "fi", "fi",  ],
+[ "filesystem", "filesystem", "filesystem", "fiLESYSTEM", "filesystem", "Filesystem", "FILESYSTEM", "filesystem", "filesystem", "filesystem",  ],
+[ "efficient", "efficient", "Efficient", "EffiCIENT", "efficient", "Efficient", "EFFICIENT", "efficient", "efficient", "efficient",  ],
+[ "flour and water", "flour and water", "flour And Water", "flOUR AND WATER", "flour and water", "Flour And Water", "FLOUR AND WATER", "flour and water", "flour and water", "flour and water",  ],
+[ "dz", "dz", "Dz", "DZ", "dz", "Dz", "DZ", "dz", "dz", "dz",  ],
+[ "dzur mountain", "dzur mountain", "Dzur Mountain", "DZUR MOUNTAIN", "dzur mountain", "Dzur Mountain", "DZUR MOUNTAIN", "dzur mountain", "dzur mountain", "dzur mountain",  ],
+[ "poſt", "poſt", "Poſt", "POST", "poſt", "Poſt", "POST", "post", "post", "post",  ],
+[ "poſt", "poſt", "Poſt", "POſt", "poſt", "Poſt", "POST", "poſt", "post", "post",  ],
+[ "ſtop", "ſtop", "ſtop", "ſtOP", "ſtop", "Stop", "STOP", "ſtop", "stop", "stop",  ],
+[ "tschüß", "tschüß", "Tschüß", "TSCHÜß", "tschüß", "Tschüß", "TSCHÜSS", "tschüß", "tschüss", "tschüss",  ],
+[ "TSCHÜẞ", "tschüß", "Tschüß", "TSCHÜẞ", "tschüß", "Tschüß", "TSCHÜẞ", "tschüß", "tschüss", "tschüss",  ],
+[ "rußland", "rußland", "Rußland", "RUßLAND", "rußland", "Rußland", "RUSSLAND", "rußland", "russland", "russland",  ],
+[ "RUẞLAND", "rußland", "Rußland", "RUẞLAND", "rußland", "Rußland", "RUẞLAND", "rußland", "russland", "russland",  ],
+[ "weiß", "weiß", "Weiß", "WEIß", "weiß", "Weiß", "WEISS", "weiß", "weiss", "weiss",  ],
+[ "WEIẞ", "weiß", "Weiß", "WEIẞ", "weiß", "Weiß", "WEIẞ", "weiß", "weıss", "weiss",  ],
+[ "ẞIEW", "ßiew", "ẞiew", "ẞIEW", "ßiew", "ẞiew", "ẞIEW", "ßiew", "ssıew", "ssiew",  ],
+[ "ͅ", "ͅ", "Ι", "Ι", "ͅ", "Ι", "Ι", "ι", "ι", "ι",  ],
+[ "ᾲ", "ᾲ", "Ὰͅ", "ᾺΙ", "ᾲ", "Ὰͅ", "ᾺΙ", "ὰι", "ὰι", "ὰι",  ],
+[ "Ὰι", "ὰι", "Ὰι", "ᾺΙ", "ὰι", "Ὰι", "ᾺΙ", "ὰι", "ὰι", "ὰι",  ],
+[ "ᾺΙ", "ὰι", "Ὰι", "ᾺΙ", "ὰι", "Ὰι", "ᾺΙ", "ὰι", "ὰι", "ὰι",  ],
+[ "ᾲ", "ᾲ", "ᾲ", "ᾲ", "ᾲ", "Ὰͅ", "ᾺΙ", "ᾲ", "ὰι", "ὰι",  ],
+[ "Ὰͅ", "ᾲ", "Ὰͅ", "ᾺΙ", "ᾲ", "Ὰͅ", "ᾺΙ", "ὰι", "ὰι", "ὰι",  ],
+[ "ᾺΙ", "ὰι", "Ὰι", "ᾺΙ", "ὰι", "Ὰι", "ᾺΙ", "ὰι", "ὰι", "ὰι",  ],
+[ "ᾲ στο διάολο", "ᾲ στο διάολο", "ᾲ Στο Διάολο", "ᾲ ΣΤΟ ΔΙΆΟΛΟ", "ᾲ στο διάολο", "Ὰͅ Στο Διάολο", "ᾺΙ ΣΤΟ ΔΙΆΟΛΟ", "ᾲ στο διάολο", "ὰι στο διάολο", "ὰι στο διάολο",  ],
+[ "ᾲ στο διάολο", "ᾲ στο διάολο", "Ὰͅ Στο Διάολο", "ᾺΙ ΣΤΟ ΔΙΆΟΛΟ", "ᾲ στο διάολο", "Ὰͅ Στο Διάολο", "ᾺΙ ΣΤΟ ΔΙΆΟΛΟ", "ὰι στο διάολο", "ὰι στο διάολο", "ὰι στο διάολο",  ],
+[ "ⅷ", "ⅷ", "Ⅷ", "Ⅷ", "ⅷ", "Ⅷ", "Ⅷ", "ⅷ", "ⅷ", "ⅷ",  ],
+[ "henry ⅷ", "henry ⅷ", "Henry Ⅷ", "HENRY Ⅷ", "henry ⅷ", "Henry Ⅷ", "HENRY Ⅷ", "henry ⅷ", "henry ⅷ", "henry ⅷ",  ],
+[ "ⓚ", "ⓚ", "Ⓚ", "Ⓚ", "ⓚ", "Ⓚ", "Ⓚ", "ⓚ", "ⓚ", "ⓚ",  ],
+[ "i work at ⓚ", "i work at ⓚ", "I Work At Ⓚ", "I WORK AT Ⓚ", "i work at ⓚ", "I Work At Ⓚ", "I WORK AT Ⓚ", "i work at ⓚ", "i work at ⓚ", "i work at ⓚ",  ],
+[ "istambul", "istambul", "Istambul", "ISTAMBUL", "istambul", "Istambul", "ISTAMBUL", "istambul", "istambul", "istambul",  ],
+[ "i̇stanbul", "i̇stanbul", "İstanbul", "İSTANBUL", "i̇stanbul", "İstanbul", "İSTANBUL", "i̇stanbul", "i̇stanbul", "i̇stanbul",  ],
+[ "İstanbul", "i̇stanbul", "İstanbul", "İSTANBUL", "i̇stanbul", "İstanbul", "İSTANBUL", "i̇stanbul", "ı̇stanbul", "i̇stanbul",  ],
+[ "İSTANBUL", "istanbul", "İstanbul", "İSTANBUL", "i̇stanbul", "İstanbul", "İSTANBUL", "İstanbul", "istanbul", "i̇stanbul",  ],
+[ "στιγμας", "στιγμας", "Στιγμας", "ΣΤΙΓΜΑΣ", "στιγμας", "Στιγμας", "ΣΤΙΓΜΑΣ", "στιγμασ", "στιγμασ", "στιγμασ",  ],
+[ "στιγμασ", "στιγμασ", "Στιγμασ", "ΣΤΙΓΜΑΣ", "στιγμασ", "Στιγμασ", "ΣΤΙΓΜΑΣ", "στιγμασ", "στιγμασ", "στιγμασ",  ],
+[ "ΣΤΙΓΜΑΣ", "στιγμασ", "Στιγμασ", "ΣΤΙΓΜΑΣ", "στιγμασ", "Στιγμασ", "ΣΤΙΓΜΑΣ", "στιγμασ", "στιγμασ", "στιγμασ",  ],
+[ "ʀᴀʀᴇ", "ʀᴀʀᴇ", "Ʀᴀʀᴇ", "ƦᴀƦᴇ", "ʀᴀʀᴇ", "Ʀᴀʀᴇ", "ƦᴀƦᴇ", "ʀᴀʀᴇ", "ʀᴀʀᴇ", "ʀᴀʀᴇ",  ],
+[ "𐐼𐐯𐑅𐐨𐑉𐐯𐐻", "𐐼𐐯𐑅𐐨𐑉𐐯𐐻", "𐐔𐐯𐑅𐐨𐑉𐐯𐐻", "𐐔𐐇𐐝𐐀𐐡𐐇𐐓", "𐐼𐐯𐑅𐐨𐑉𐐯𐐻", "𐐔𐐯𐑅𐐨𐑉𐐯𐐻", "𐐔𐐇𐐝𐐀𐐡𐐇𐐓", "𐐼𐐯𐑅𐐨𐑉𐐯𐐻", "𐐼𐐯𐑅𐐨𐑉𐐯𐐻", "𐐼𐐯𐑅𐐨𐑉𐐯𐐻",  ],
+[ "Ԧԧ", "ԧԧ", "Ԧԧ", "ԦԦ", "ԧԧ", "Ԧԧ", "ԦԦ", "ԧԧ", "ԧԧ", "ԧԧ",  ],
+[ "ﬓﬔﬕﬖﬗ", "ﬓﬔﬕﬖﬗ", "ﬓﬔﬕﬖﬗ", "ﬓﬔﬕﬖﬗ", "ﬓﬔﬕﬖﬗ", "Մնﬔﬕﬖﬗ", "ՄՆՄԵՄԻՎՆՄԽ", "ﬓﬔﬕﬖﬗ", "մնմեմիվնմխ", "մնմեմիվնմխ",  ],
+[ "ʼn groot", "ʼn groot", "ʼn Groot", "ʼn GROOT", "ʼn groot", "ʼN Groot", "ʼN GROOT", "ʼn groot", "ʼn groot", "ʼn groot",  ],
+[ "ẚ", "ẚ", "ẚ", "ẚ", "ẚ", "Aʾ", "Aʾ", "ẚ", "aʾ", "aʾ",  ],
+[ "ff", "ff", "ff", "ff", "ff", "Ff", "FF", "ff", "ff", "ff",  ],
+[ "ǰ", "ǰ", "ǰ", "ǰ", "ǰ", "J̌", "J̌", "ǰ", "ǰ", "ǰ",  ],
+[ "550 nm or Å", "550 nm or å", "550 Nm Or Å", "550 NM OR Å", "550 nm or å", "550 Nm Or Å", "550 NM OR Å", "550 nm or å", "550 nm or å", "550 nm or å",  ],
+);
+
+    use feature qw(fc);
+
+    for (@test_table) {
+        my ($simple_lc, $simple_tc, $simple_uc, $simple_fc) = @{$_}[1, 2, 3, 7];
+        my ($orig, $lower, $titlecase, $upper, $fc_turkic, $fc_full) = @{$_}[0,4,5,6,8,9];
+
+        if ($orig =~ /(\P{Assigned})/) {   # So can fail gracefully in earlier
+                                           # Unicode versions
+            fail(sprintf "because U+%04X is unassigned", ord($1));
+            next;
+        }
+        is( fc($orig), $fc_full, "fc('$orig') returns '$fc_full'" );
+        is( "\F$orig", $fc_full, '\F works' );
+        is( lc($orig), $lower,   "lc('$orig') returns '$lower'" );
+        is( "\L$orig", $lower,   '\L works' );
+        is( uc($orig), $upper,   "uc('$orig') returns '$upper'" );
+        is( "\U$orig", $upper,   '\U works' );
+    }
+}
+
+{
+    use feature qw(fc);
+    package Eeyup  { use overload q{""} => sub { "\x{df}"   }, fallback => 1 }
+    package Uunope { use overload q{""} => sub { "\x{30cb}" }, fallback => 1 }
+    package Undef  { use overload q{""} => sub {   undef    }, fallback => 1 }
+
+    my $obj = bless {}, "Eeyup";
+    is(fc($obj), "ss", "fc() works on overloaded objects returning latin-1");
+    $obj = bless {}, "Eeyup";
+    is("\F$obj", "ss", '\F works on overloaded objects returning latin-1');
+
+    $obj = bless {}, "Uunope";
+    is(fc($obj), "\x{30cb}", "fc() works on overloaded objects returning UTF-8");
+    $obj = bless {}, "Uunope";
+    is("\F$obj", "\x{30cb}", '\F works on overloaded objects returning UTF-8');
+
+    $obj = bless {}, "Undef";
+    my $warnings;
+    {
+        no warnings;
+        use warnings "uninitialized";
+        local $SIG{__WARN__} = sub { $warnings++; like(shift, qr/Use of uninitialized value (?:\$obj )?in fc/) };
+        fc(undef);
+        fc($obj);
+    }
+    is( $warnings, 2, "correct number of warnings" );
+
+    my $fetched = 0;
+    package Derpy { sub TIESCALAR { bless {}, shift } sub FETCH { $fetched++; "\x{df}" } }
+
+    tie my $x, "Derpy";
+
+    is( fc($x), "ss", "fc() works on tied values" );
+    is( $fetched, 1, "and only calls the magic once" );
+
+}
+
+{
+    use feature qw( fc );
+    my $troublesome1 = "\xdf" x 11; #SvLEN should be 12, SvCUR should be 11
+                                    #So this should force fc() to grow the string.
+
+    is( fc($troublesome1), "ss" x 11, "fc() grows the string" );
+
+    my $troublesome2 = "abcdef:\x{df}:fjksjs"; #SvLEN should be 16, SvCUR should be 15
+    is( fc($troublesome2), "abcdef:ss:fjksjs", "fc() expands \\x{DF} in the middle of a string that needs to grow" );
+
+    my $troublesome3 = ":\x{df}:";
+    is( fc($troublesome3), ":ss:", "fc() expands \\x{DF} in the middle of a string" );
+
+
+    my $troublesome4 = "\x{B5}"; #\N{MICRON SIGN} is latin-1, but its foldcase is in UTF-8
+
+    is( fc($troublesome4), "\x{3BC}", "fc() for a latin-1 \x{B5} returns UTF-8" );
+    ok( !utf8::is_utf8($troublesome4), "fc() doesn't upgrade the original string" );
+
+
+    my $troublesome5 = "\x{C9}abda\x{B5}aaf\x{C8}"; # Up until foldcasing \x{B5}, the string
+                                                    # was in Latin-1. This tests that the
+                                                    # results don't have illegal UTF-8
+                                                    # (i.e. leftover latin-1) in them
+
+    is( fc($troublesome5), "\x{E9}abda\x{3BC}aaf\x{E8}" );
+}
+
+{
+    use feature qw( fc unicode_strings );
+
+    # This tests both code paths in pp_fc
+
+    for (0..0xff) {
+        my $latin1 = chr;
+        my $utf8   = $latin1;
+        utf8::downgrade($latin1); #No-op, but doesn't hurt
+        utf8::upgrade($utf8);
+        is(fc($latin1), fc($utf8), "fc() gives the same results for \\x{$_} in Latin-1 and UTF-8 under unicode_strings");
+        SKIP: {
+              skip 'No locale testing without d_setlocale', 2 if(!$Config{d_setlocale});
+              BEGIN {
+                  if($Config{d_setlocale}) {
+                      require locale; import locale;
+                  }
+              }
+            is(fc($latin1), lc($latin1), "use locale; fc(qq{\\x{$_}}), lc(qq{\\x{$_}}) when qq{\\x{$_}} is in latin-1");
+            is(fc($utf8), lc($utf8), "use locale; fc(qq{\\x{$_}}), lc(qq{\\x{$_}}) when qq{\\x{$_}} is in latin-1");
+        }
+        {
+            no feature 'unicode_strings';
+            is(fc($latin1), lc($latin1), "under nothing, fc() for <256 is the same as lc");
+        }
+    }
+}
+
 my $num_tests = curr_test() - 1;
 
-die qq[$0: failed to find casefoldings from "$CF"\n] unless $num_tests > 0;
-
 plan($num_tests);


Property changes on: vendor/perl/dist/t/uni/fold.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/greek.t
===================================================================
--- vendor/perl/dist/t/uni/greek.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/greek.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,6 +9,7 @@
 
 plan tests => 72;
 
+no warnings 'deprecated';
 use encoding "greek"; # iso 8859-7
 
 # U+0391, \xC1, \301, GREEK CAPITAL LETTER ALPHA


Property changes on: vendor/perl/dist/t/uni/greek.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/latin2.t
===================================================================
--- vendor/perl/dist/t/uni/latin2.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/latin2.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,6 +9,7 @@
 
 plan tests => 94;
 
+no warnings 'deprecated';
 use encoding "latin2"; # iso 8859-2
 
 # U+00C1, \xC1, \301, LATIN CAPITAL LETTER A WITH ACUTE


Property changes on: vendor/perl/dist/t/uni/latin2.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/lex_utf8.t
===================================================================
--- vendor/perl/dist/t/uni/lex_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/lex_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 
 use strict;
 
-plan (tests => 10);
+plan (tests => 11);
 use charnames ':full';
 
 use utf8;
@@ -40,6 +40,13 @@
 	is((join "", unpack("C*", $uname_last)), "98" . "198" . "129" . "194" . "181", 'b . char above 0x100 . \N{U+00B5}');
 	is((join "", unpack("C*", $octal_first)), "99" . "195" . "191" . "196" . "134", 'c . \377 . char above 0x100');
 	is((join "", unpack("C*", $octal_last)), "99" . "196" . "134" . "195" . "191", 'c . char above 0x100 . \377');
+};
+
+{
+    local $SIG{__WARN__} = sub {};
+    eval "our $::\xe9; $\xe9";
+    unlike $@, qr/utf8_heavy/,
+	'No utf8_heavy errors with our() syntax errors';
 }
 __END__
 


Property changes on: vendor/perl/dist/t/uni/lex_utf8.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/lower.t
===================================================================
--- vendor/perl/dist/t/uni/lower.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/lower.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,6 +5,6 @@
 }
 
 casetest(0, # No extra tests run here,
-	"Lower", \%utf8::ToSpecLower,
+	"Lowercase_Mapping",
 	 sub { lc $_[0] }, sub { my $a = ""; lc ($_[0] . $a) },
 	 sub { lcfirst $_[0] }, sub { my $a = ""; lcfirst ($_[0] . $a) });


Property changes on: vendor/perl/dist/t/uni/lower.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/overload.t
===================================================================
--- vendor/perl/dist/t/uni/overload.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/overload.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -3,6 +3,7 @@
 BEGIN {
     chdir 't';
     @INC = '../lib';
+    require Config; import Config;
     require './test.pl';
 }
 
@@ -95,8 +96,10 @@
 my $have_setlocale = 0;
 eval {
     require POSIX;
-    import POSIX ':locale_h';
-    $have_setlocale++;
+    if($Config{d_setlocale}) {
+        import POSIX ':locale_h';
+        $have_setlocale++;
+    }
 };
 
 SKIP: {
@@ -107,7 +110,11 @@
     } elsif ($^O eq 'dec_osf' || $^O eq 'VMS') {
 	skip "$^O has broken en_GB.ISO8859-1 locale", 24;
     } else {
-	use locale;
+        BEGIN {
+            if($Config{d_setlocale}) {
+                require locale; import locale;
+            }
+        }
 	my $u = UTF8Toggle->new("\311");
 	my $lc = lc $u;
 	is (length $lc, 1);


Property changes on: vendor/perl/dist/t/uni/overload.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/t/uni/sprintf.t
===================================================================
--- vendor/perl/dist/t/uni/sprintf.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/sprintf.t	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/uni/sprintf.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/tie.t
===================================================================
--- vendor/perl/dist/t/uni/tie.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/tie.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -4,7 +4,7 @@
     require './test.pl';
 }
 
-plan (tests => 9);
+plan (tests => 10);
 use strict;
 
 {
@@ -41,6 +41,19 @@
 }
 
 {
+    use utf8;
+    use open qw( :utf8 :std );
+    package Tìè::UTF8 {
+        sub TIESCALAR {
+            return bless {}, shift;
+        }
+    }
+    
+    my $t;
+    tie $t, 'Tìè::UTF8';
+    is ref(tied($t)), 'Tìè::UTF8', "Tie'ing to a UTF8 package works.";
+}
+{
     local $::TODO = "Need more tests!";
     fail();
 }


Property changes on: vendor/perl/dist/t/uni/tie.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/title.t
===================================================================
--- vendor/perl/dist/t/uni/title.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/title.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,5 +5,5 @@
 }
 
 casetest(0, # No extra tests run here,
-	"Title", \%utf8::ToSpecTitle, sub { ucfirst $_[0] },
+	"Titlecase_Mapping", sub { ucfirst $_[0] },
 	 sub { my $a = ""; ucfirst ($_[0] . $a) });


Property changes on: vendor/perl/dist/t/uni/title.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/tr_7jis.t
===================================================================
--- vendor/perl/dist/t/uni/tr_7jis.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/tr_7jis.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,6 +13,7 @@
 
 use strict;
 plan(tests => 6);
+no warnings 'deprecated';
 use encoding 'iso-2022-jp';
 
 my @hiragana =  map {chr} ord("$B$!(B")..ord("$B$s(B");


Property changes on: vendor/perl/dist/t/uni/tr_7jis.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/tr_eucjp.t
===================================================================
--- vendor/perl/dist/t/uni/tr_eucjp.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/tr_eucjp.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,6 +12,7 @@
 
 use strict;
 plan(tests => 6);
+no warnings 'deprecated';
 use encoding 'euc-jp';
 
 my @hiragana =  map {chr} ord("\xA4\xA1")..ord("\xA4\xF3");


Property changes on: vendor/perl/dist/t/uni/tr_eucjp.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/tr_sjis.t
===================================================================
--- vendor/perl/dist/t/uni/tr_sjis.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/tr_sjis.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,6 +12,7 @@
 
 use strict;
 plan(tests => 6);
+no warnings 'deprecated';
 use encoding 'shiftjis';
 
 my @hiragana =  map {chr} ord("\x82\x9F")..ord("\x82\xF1");


Property changes on: vendor/perl/dist/t/uni/tr_sjis.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/tr_utf8.t
===================================================================
--- vendor/perl/dist/t/uni/tr_utf8.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/tr_utf8.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,6 +13,7 @@
 
 use strict;
 plan(tests => 8);
+no warnings 'deprecated';
 use encoding 'utf8';
 
 my @hiragana =  map {chr} ord("ぁ")..ord("ん");


Property changes on: vendor/perl/dist/t/uni/tr_utf8.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/upper.t
===================================================================
--- vendor/perl/dist/t/uni/upper.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/upper.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,6 +7,6 @@
 is(uc("\x{3B1}\x{345}\x{301}"), "\x{391}\x{301}\x{399}", 'Verify moves YPOGEGRAMMENI');
 
 casetest( 1,	# extra tests already run
-	"Upper", \%utf8::ToSpecUpper,
+	"Uppercase_Mapping",
 	 sub { uc $_[0] },
 	 sub { my $a = ""; uc ($_[0] . $a) });


Property changes on: vendor/perl/dist/t/uni/upper.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/uni/write.t
===================================================================
--- vendor/perl/dist/t/uni/write.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/uni/write.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
     skip_all_without_perlio();
 }
 
-plan tests => 6;
+plan tests => 8;
 
 # Some tests for UTF8 and format/write
 
@@ -93,4 +93,31 @@
 $bmulti$blite2
 EOEXPECT
 
-unlink_all 'Uni_write.tmp';
+{
+    use utf8;
+    use open qw( :utf8 :std );
+
+    local $~ = "놋웇ʱFᚖṀŦ";
+    eval { write };
+    like $@, qr/Undefined format "놋웇ʱFᚖṀŦ/u, 'no such format, with format name in UTF-8.';
+}
+
+{
+
+format OUT =
+
+
+.
+    use utf8;
+    use open qw( :utf8 :std );
+    open OUT, '>', 'Uni_write2.tmp';
+
+    my $oldfh = select OUT;
+    local $^ = "უデfiᕣネḓ_FᚖṀŦɐȾ";#"UNDEFINED_FORMAT";
+    eval { write };
+    like $@, qr/Undefined top format "უデfiᕣネḓ_FᚖṀŦɐȾ/u, 'no such top format';
+    select $oldfh;
+    close OUT;
+}
+
+unlink_all qw( Uni_write.tmp Uni_write2.tmp );


Property changes on: vendor/perl/dist/t/uni/write.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/t/win32/system.t
===================================================================
--- vendor/perl/dist/t/win32/system.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/win32/system.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -34,28 +34,10 @@
     or die "Can't create $testdir/$exename.c: $!";
 print $F <<'EOT';
 #include <stdio.h>
-#ifdef __BORLANDC__
-#include <windows.h>
-#endif
 int
 main(int ac, char **av)
 {
     int i;
-#ifdef __BORLANDC__
-    char *s = GetCommandLine();
-    int j=0;
-    av[0] = s;
-    if (s[0]=='"') {
-	for(;s[++j]!='"';)
-	  ;
-	av[0]++;
-    }
-    else {
-	for(;s[++j]!=' ';)
-	  ;
-    }
-    s[j]=0;
-#endif
     for (i = 0; i < ac; i++)
 	printf("[%s]", av[i]);
     printf("\n");


Property changes on: vendor/perl/dist/t/win32/system.t
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/t/win32/system_tests
===================================================================
--- vendor/perl/dist/t/win32/system_tests	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/win32/system_tests	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/t/win32/system_tests
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/t/x2p/s2p.t
===================================================================
--- vendor/perl/dist/t/x2p/s2p.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/t/x2p/s2p.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -582,7 +582,7 @@
 ### s ###
 's' => {
   script => <<'[TheEnd]',
-# enclose any `(a)'.. `(c)' in `-'
+# enclose any '(a)'.. '(c)' in '-'
 s/([a-z])/-\1-/g
 
 s/\([abc]\)/-\1-/g
@@ -627,6 +627,19 @@
 [TheEnd]
 },
 
+### s2 ### RT #115156
+'s2' => {
+  todo   => 'RT #115156',
+  script => 's/1*$/x/g',
+  input  => 'bins',
+  expect => <<'[TheEnd]',
+0x
+x
+1000x
+1000x
+[TheEnd]
+},
+
 ### t ###
 't' => {
   script => join( "\n",
@@ -815,6 +828,8 @@
 for my $tc ( sort keys %testcase ){
     my( $psedres, $s2pres );
 
+    local $TODO = $testcase{$tc}{todo};
+
     # 1st test: run psed
     # prepare the script 
     open( SED, ">$script" ) || goto FAIL_BOTH;


Property changes on: vendor/perl/dist/t/x2p/s2p.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/taint.c
===================================================================
--- vendor/perl/dist/taint.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/taint.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -11,7 +11,7 @@
 /*
  * '...we will have peace, when you and all your works have perished--and
  *  the works of your dark master to whom you would deliver us.  You are a
- *  liar, Saruman, and a corrupter of men's hearts.'       --Th\xE9oden
+ *  liar, Saruman, and a corrupter of men's hearts.'       --Théoden
  *
  *     [p.580 of _The Lord of the Rings_, III/x: "The Voice of Saruman"]
  */
@@ -33,39 +33,39 @@
 
 #   if Uid_t_size == 1
     {
-	const UV  uid = PL_uid;
-	const UV euid = PL_euid;
+	const UV  uid = PerlProc_getuid();
+	const UV euid = PerlProc_geteuid();
 
 	DEBUG_u(PerlIO_printf(Perl_debug_log,
 			       "%s %d %"UVuf" %"UVuf"\n",
-			       s, PL_tainted, uid, euid));
+			       s, TAINT_get, uid, euid));
     }
 #   else
     {
-	const IV  uid = PL_uid;
-	const IV euid = PL_euid;
+	const IV  uid = PerlProc_getuid();
+	const IV euid = PerlProc_geteuid();
 
 	DEBUG_u(PerlIO_printf(Perl_debug_log,
 			       "%s %d %"IVdf" %"IVdf"\n",
-			       s, PL_tainted, uid, euid));
+			       s, TAINT_get, uid, euid));
     }
 #   endif
 #endif
 
-    if (PL_tainted) {
+    if (TAINT_get) {
 	const char *ug;
 
 	if (!f)
 	    f = PL_no_security;
-	if (PL_euid != PL_uid)
+	if (PerlProc_getuid() != PerlProc_geteuid())
 	    ug = " while running setuid";
-	else if (PL_egid != PL_gid)
+	else if (PerlProc_getgid() != PerlProc_getegid())
 	    ug = " while running setgid";
-	else if (PL_taint_warn)
+	else if (TAINT_WARN_get)
             ug = " while running with -t switch";
         else
 	    ug = " while running with -T switch";
-	if (PL_unsafe || PL_taint_warn) {
+	if (PL_unsafe || TAINT_WARN_get) {
 	    Perl_ck_warner_d(aTHX_ packWARN(WARN_TAINT), f, s, ug);
         }
         else {
@@ -95,13 +95,13 @@
     /* Don't bother if there's no *ENV glob */
     if (!PL_envgv)
 	return;
-    /* If there's no %ENV hash of if it's not magical, croak, because
+    /* If there's no %ENV hash or if it's not magical, croak, because
      * it probably doesn't reflect the actual environment */
     if (!GvHV(PL_envgv) || !(SvRMAGICAL(GvHV(PL_envgv))
 	    && mg_find((const SV *)GvHV(PL_envgv), PERL_MAGIC_env))) {
-	const bool was_tainted = PL_tainted;
+	const bool was_tainted = TAINT_get;
 	const char * const name = GvENAME(PL_envgv);
-	PL_tainted = TRUE;
+	TAINT;
 	if (strEQ(name,"ENV"))
 	    /* hash alias */
 	    taint_proper("%%ENV is aliased to %s%s", "another variable");
@@ -109,7 +109,10 @@
 	    /* glob alias: report it in the error message */
 	    taint_proper("%%ENV is aliased to %%%s%s", name);
 	/* this statement is reached under -t or -U */
-	PL_tainted = was_tainted;
+	TAINT_set(was_tainted);
+#ifdef NO_TAINT_SUPPORT
+        PERL_UNUSED_VAR(was_tainted);
+#endif
     }
 
 #ifdef VMS
@@ -154,13 +157,17 @@
     svp = hv_fetchs(GvHVn(PL_envgv),"TERM",FALSE);
     if (svp && *svp && SvTAINTED(*svp)) {
 	STRLEN len;
-	const bool was_tainted = PL_tainted;
+	const bool was_tainted = TAINT_get;
 	const char *t = SvPV_const(*svp, len);
 	const char * const e = t + len;
-	PL_tainted = was_tainted;
-	if (t < e && isALNUM(*t))
+
+	TAINT_set(was_tainted);
+#ifdef NO_TAINT_SUPPORT
+        PERL_UNUSED_VAR(was_tainted);
+#endif
+	if (t < e && isWORDCHAR(*t))
 	    t++;
-	while (t < e && (isALNUM(*t) || strchr("-_.+", *t)))
+	while (t < e && (isWORDCHAR(*t) || strchr("-_.+", *t)))
 	    t++;
 	if (t < e) {
 	    TAINT;
@@ -182,8 +189,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/taint.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/thread.h
===================================================================
--- vendor/perl/dist/thread.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/thread.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -40,9 +40,6 @@
 #      define NEED_PTHREAD_INIT
 #      define PTHREAD_CREATE_JOINABLE (1)
 #    endif
-#    ifdef __OPEN_VM
-#      define pthread_addr_t void *
-#    endif
 #    ifdef OEMVS
 #      define pthread_addr_t void *
 #      define pthread_create(t,a,s,d)        pthread_create(t,&(a),s,d)
@@ -65,7 +62,7 @@
 #      define pthread_mutexattr_init(a) pthread_mutexattr_create(a)
 #      define pthread_mutexattr_settype(a,t) pthread_mutexattr_setkind_np(a,t)
 #    endif
-#    if defined(DJGPP) || defined(__OPEN_VM) || defined(OEMVS)
+#    if defined(DJGPP) || defined(OEMVS)
 #      define PTHREAD_ATTR_SETDETACHSTATE(a,s) pthread_attr_setdetachstate(a,&(s))
 #      define YIELD pthread_yield(NULL)
 #    endif
@@ -441,8 +438,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/thread.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/time64.c
===================================================================
--- vendor/perl/dist/time64.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/time64.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -269,34 +269,31 @@
 
 
 static void S_copy_little_tm_to_big_TM(const struct tm *src, struct TM *dest) {
-    if( src == NULL ) {
-        memset(dest, 0, sizeof(*dest));
-    }
-    else {
-#       ifdef USE_TM64
-            dest->tm_sec        = src->tm_sec;
-            dest->tm_min        = src->tm_min;
-            dest->tm_hour       = src->tm_hour;
-            dest->tm_mday       = src->tm_mday;
-            dest->tm_mon        = src->tm_mon;
-            dest->tm_year       = (Year)src->tm_year;
-            dest->tm_wday       = src->tm_wday;
-            dest->tm_yday       = src->tm_yday;
-            dest->tm_isdst      = src->tm_isdst;
+    assert(src);
+    assert(dest);
+#ifdef USE_TM64
+    dest->tm_sec        = src->tm_sec;
+    dest->tm_min        = src->tm_min;
+    dest->tm_hour       = src->tm_hour;
+    dest->tm_mday       = src->tm_mday;
+    dest->tm_mon        = src->tm_mon;
+    dest->tm_year       = (Year)src->tm_year;
+    dest->tm_wday       = src->tm_wday;
+    dest->tm_yday       = src->tm_yday;
+    dest->tm_isdst      = src->tm_isdst;
 
-#           ifdef HAS_TM_TM_GMTOFF
-                dest->tm_gmtoff  = src->tm_gmtoff;
-#           endif
+#  ifdef HAS_TM_TM_GMTOFF
+    dest->tm_gmtoff     = src->tm_gmtoff;
+#  endif
 
-#           ifdef HAS_TM_TM_ZONE
-                dest->tm_zone  = src->tm_zone;
-#           endif
+#  ifdef HAS_TM_TM_ZONE
+    dest->tm_zone       = src->tm_zone;
+#  endif
 
-#       else
-            /* They're the same type */
-            memcpy(dest, src, sizeof(*dest));
-#       endif
-    }
+#else
+    /* They're the same type */
+    memcpy(dest, src, sizeof(*dest));
+#endif
 }
 
 
@@ -303,7 +300,9 @@
 #ifndef HAS_LOCALTIME_R
 /* Simulate localtime_r() to the best of our ability */
 static struct tm * S_localtime_r(const time_t *clock, struct tm *result) {
+#ifdef VMS
     dTHX;    /* in case the following is defined as Perl_my_localtime(aTHX_ ...) */
+#endif
     const struct tm *static_result = localtime(clock);
 
     assert(result != NULL);


Property changes on: vendor/perl/dist/time64.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/time64.h
===================================================================
--- vendor/perl/dist/time64.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/time64.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/time64.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/time64_config.h
===================================================================
--- vendor/perl/dist/time64_config.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/time64_config.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/time64_config.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/toke.c
===================================================================
--- vendor/perl/dist/toke.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/toke.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -66,7 +66,6 @@
 #define PL_multi_start		(PL_parser->multi_start)
 #define PL_multi_open		(PL_parser->multi_open)
 #define PL_multi_close		(PL_parser->multi_close)
-#define PL_pending_ident        (PL_parser->pending_ident)
 #define PL_preambled		(PL_parser->preambled)
 #define PL_sublex_info		(PL_parser->sublex_info)
 #define PL_linestr		(PL_parser->linestr)
@@ -111,13 +110,8 @@
 #  define PL_nextval		(PL_parser->nextval)
 #endif
 
-/* This can't be done with embed.fnc, because struct yy_parser contains a
-   member named pending_ident, which clashes with the generated #define  */
-static int
-S_pending_ident(pTHX);
+static const char* const ident_too_long = "Identifier too long";
 
-static const char ident_too_long[] = "Identifier too long";
-
 #ifdef PERL_MAD
 #  define CURMAD(slot,sv) if (PL_madskills) { curmad(slot,sv); sv = 0; }
 #  define NEXTVAL_NEXTTOKE PL_nexttoke[PL_curforce].next_val
@@ -133,7 +127,7 @@
 #ifdef USE_UTF8_SCRIPTS
 #   define UTF (!IN_BYTES)
 #else
-#   define UTF ((PL_linestr && DO_UTF8(PL_linestr)) || (PL_hints & HINT_UTF8))
+#   define UTF ((PL_linestr && DO_UTF8(PL_linestr)) || ( !(PL_parser->lex_flags & LEX_IGNORE_UTF8_HINTS) && (PL_hints & HINT_UTF8)))
 #endif
 
 /* The maximum number of characters preceding the unrecognized one to display */
@@ -148,6 +142,9 @@
 /* LEX_* are values for PL_lex_state, the state of the lexer.
  * They are arranged oddly so that the guard on the switch statement
  * can get by with a single comparison (if the compiler is smart enough).
+ *
+ * These values refer to the various states within a sublex parse,
+ * i.e. within a double quotish string
  */
 
 /* #define LEX_NOTPARSING		11 is done in perl.h. */
@@ -224,6 +221,7 @@
  * LOOPX        : loop exiting command (goto, last, dump, etc)
  * FTST         : file test operator
  * FUN0         : zero-argument function
+ * FUN0OP       : zero-argument function, with its op created in this file
  * FUN1         : not used, except for not, which isn't a UNIOP
  * BOop         : bitwise or or xor
  * BAop         : bitwise and
@@ -254,6 +252,7 @@
 #define LOOPX(f) return (pl_yylval.ival=f, PL_expect=XTERM, PL_bufptr=s, REPORT((int)LOOPEX))
 #define FTST(f)  return (pl_yylval.ival=f, PL_expect=XTERMORDORDOR, PL_bufptr=s, REPORT((int)UNIOP))
 #define FUN0(f)  return (pl_yylval.ival=f, PL_expect=XOPERATOR, PL_bufptr=s, REPORT((int)FUNC0))
+#define FUN0OP(f)  return (pl_yylval.opval=f, CLINE, PL_expect=XOPERATOR, PL_bufptr=s, REPORT((int)FUNC0OP))
 #define FUN1(f)  return (pl_yylval.ival=f, PL_expect=XOPERATOR, PL_bufptr=s, REPORT((int)FUNC1))
 #define BOop(f)  return ao((pl_yylval.ival=f, PL_expect=XTERM, PL_bufptr=s, REPORT((int)BITOROP)))
 #define BAop(f)  return ao((pl_yylval.ival=f, PL_expect=XTERM, PL_bufptr=s, REPORT((int)BITANDOP)))
@@ -270,9 +269,9 @@
  * The UNIDOR macro is for unary functions that can be followed by the //
  * operator (such as C<shift // 0>).
  */
-#define UNI2(f,x) { \
+#define UNI3(f,x,have_x) { \
 	pl_yylval.ival = f; \
-	PL_expect = x; \
+	if (have_x) PL_expect = x; \
 	PL_bufptr = s; \
 	PL_last_uni = PL_oldbufptr; \
 	PL_last_lop_op = f; \
@@ -281,19 +280,15 @@
 	s = PEEKSPACE(s); \
 	return REPORT( *s=='(' ? (int)FUNC1 : (int)UNIOP ); \
 	}
-#define UNI(f)    UNI2(f,XTERM)
-#define UNIDOR(f) UNI2(f,XTERMORDORDOR)
-
-#define UNIBRACK(f) { \
-	pl_yylval.ival = f; \
-	PL_bufptr = s; \
-	PL_last_uni = PL_oldbufptr; \
-	if (*s == '(') \
-	    return REPORT( (int)FUNC1 ); \
-	s = PEEKSPACE(s); \
-	return REPORT( (*s == '(') ? (int)FUNC1 : (int)UNIOP ); \
+#define UNI(f)    UNI3(f,XTERM,1)
+#define UNIDOR(f) UNI3(f,XTERMORDORDOR,1)
+#define UNIPROTO(f,optional) { \
+	if (optional) PL_last_uni = PL_oldbufptr; \
+	OPERATOR(f); \
 	}
 
+#define UNIBRACK(f) UNI3(f,0,0)
+
 /* grandfather return to old style */
 #define OLDLOP(f) \
 	do { \
@@ -305,6 +300,15 @@
 	    return (int)LSTOP; \
 	} while(0)
 
+#define COPLINE_INC_WITH_HERELINES		    \
+    STMT_START {				     \
+	CopLINE_inc(PL_curcop);			      \
+	if (PL_parser->lex_shared->herelines)	       \
+	    CopLINE(PL_curcop) += PL_parser->lex_shared->herelines, \
+	    PL_parser->lex_shared->herelines = 0;		     \
+    } STMT_END
+
+
 #ifdef DEBUGGING
 
 /* how to interpret the pl_yylval associated with the token */
@@ -313,8 +317,7 @@
     TOKENTYPE_IVAL,
     TOKENTYPE_OPNUM, /* pl_yylval.ival contains an opcode number */
     TOKENTYPE_PVAL,
-    TOKENTYPE_OPVAL,
-    TOKENTYPE_GVVAL
+    TOKENTYPE_OPVAL
 };
 
 static struct debug_tokens {
@@ -344,8 +347,11 @@
     { EQOP,		TOKENTYPE_OPNUM,	"EQOP" },
     { FOR,		TOKENTYPE_IVAL,		"FOR" },
     { FORMAT,		TOKENTYPE_NONE,		"FORMAT" },
+    { FORMLBRACK,	TOKENTYPE_NONE,		"FORMLBRACK" },
+    { FORMRBRACK,	TOKENTYPE_NONE,		"FORMRBRACK" },
     { FUNC,		TOKENTYPE_OPNUM,	"FUNC" },
     { FUNC0,		TOKENTYPE_OPNUM,	"FUNC0" },
+    { FUNC0OP,		TOKENTYPE_OPVAL,	"FUNC0OP" },
     { FUNC0SUB,		TOKENTYPE_OPVAL,	"FUNC0SUB" },
     { FUNC1,		TOKENTYPE_OPNUM,	"FUNC1" },
     { FUNCMETH,		TOKENTYPE_OPVAL,	"FUNCMETH" },
@@ -361,12 +367,12 @@
     { METHOD,		TOKENTYPE_OPVAL,	"METHOD" },
     { MULOP,		TOKENTYPE_OPNUM,	"MULOP" },
     { MY,		TOKENTYPE_IVAL,		"MY" },
-    { MYSUB,		TOKENTYPE_NONE,		"MYSUB" },
     { NOAMP,		TOKENTYPE_NONE,		"NOAMP" },
     { NOTOP,		TOKENTYPE_NONE,		"NOTOP" },
     { OROP,		TOKENTYPE_IVAL,		"OROP" },
     { OROR,		TOKENTYPE_NONE,		"OROR" },
     { PACKAGE,		TOKENTYPE_NONE,		"PACKAGE" },
+    { PEG,		TOKENTYPE_NONE,		"PEG" },
     { PLUGEXPR,		TOKENTYPE_OPVAL,	"PLUGEXPR" },
     { PLUGSTMT,		TOKENTYPE_OPVAL,	"PLUGSTMT" },
     { PMFUNC,		TOKENTYPE_OPVAL,	"PMFUNC" },
@@ -376,8 +382,10 @@
     { PREDEC,		TOKENTYPE_NONE,		"PREDEC" },
     { PREINC,		TOKENTYPE_NONE,		"PREINC" },
     { PRIVATEREF,	TOKENTYPE_OPVAL,	"PRIVATEREF" },
+    { QWLIST,		TOKENTYPE_OPVAL,	"QWLIST" },
     { REFGEN,		TOKENTYPE_NONE,		"REFGEN" },
     { RELOP,		TOKENTYPE_OPNUM,	"RELOP" },
+    { REQUIRE,		TOKENTYPE_NONE,		"REQUIRE" },
     { SHIFTOP,		TOKENTYPE_OPNUM,	"SHIFTOP" },
     { SUB,		TOKENTYPE_NONE,		"SUB" },
     { THING,		TOKENTYPE_OPVAL,	"THING" },
@@ -418,7 +426,7 @@
 	}
 	if (name)
 	    Perl_sv_catpv(aTHX_ report, name);
-	else if ((char)rv > ' ' && (char)rv < '~')
+	else if ((char)rv > ' ' && (char)rv <= '~')
 	    Perl_sv_catpvf(aTHX_ report, "'%c'", (char)rv);
 	else if (!rv)
 	    sv_catpvs(report, "EOF");
@@ -426,7 +434,6 @@
 	    Perl_sv_catpvf(aTHX_ report, "?? %"IVdf, (IV)rv);
 	switch (type) {
 	case TOKENTYPE_NONE:
-	case TOKENTYPE_GVVAL: /* doesn't appear to be used */
 	    break;
 	case TOKENTYPE_IVAL:
 	    Perl_sv_catpvf(aTHX_ report, "(ival=%"IVdf")", (IV)lvalp->ival);
@@ -530,7 +537,7 @@
 	s = oldbp;
     else
 	PL_bufptr = s;
-    yywarn(Perl_form(aTHX_ "%s found where operator expected", what));
+    yywarn(Perl_form(aTHX_ "%s found where operator expected", what), UTF ? SVf_UTF8 : 0);
     if (ckWARN_d(WARN_SYNTAX)) {
 	if (is_first)
 	    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
@@ -537,17 +544,21 @@
 		    "\t(Missing semicolon on previous line?)\n");
 	else if (PL_oldoldbufptr && isIDFIRST_lazy_if(PL_oldoldbufptr,UTF)) {
 	    const char *t;
-	    for (t = PL_oldoldbufptr; (isALNUM_lazy_if(t,UTF) || *t == ':'); t++)
+	    for (t = PL_oldoldbufptr; (isWORDCHAR_lazy_if(t,UTF) || *t == ':');
+                                                            t += UTF ? UTF8SKIP(t) : 1)
 		NOOP;
 	    if (t < PL_bufptr && isSPACE(*t))
 		Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
-			"\t(Do you need to predeclare %.*s?)\n",
-		    (int)(t - PL_oldoldbufptr), PL_oldoldbufptr);
+			"\t(Do you need to predeclare %"SVf"?)\n",
+		    SVfARG(newSVpvn_flags(PL_oldoldbufptr, (STRLEN)(t - PL_oldoldbufptr),
+                                   SVs_TEMP | (UTF ? SVf_UTF8 : 0))));
 	}
 	else {
 	    assert(s >= oldbp);
 	    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
-		    "\t(Missing operator before %.*s?)\n", (int)(s - oldbp), oldbp);
+		    "\t(Missing operator before %"SVf"?)\n",
+                    SVfARG(newSVpvn_flags(oldbp, (STRLEN)(s - oldbp),
+                                    SVs_TEMP | (UTF ? SVf_UTF8 : 0))));
 	}
     }
     PL_bufptr = oldbp;
@@ -588,6 +599,8 @@
     Perl_croak(aTHX_ "Can't find string terminator %c%s%c anywhere before EOF",q,s,q);
 }
 
+#include "feature.h"
+
 /*
  * Check whether the named feature is enabled.
  */
@@ -595,16 +608,18 @@
 Perl_feature_is_enabled(pTHX_ const char *const name, STRLEN namelen)
 {
     dVAR;
-    HV * const hinthv = GvHV(PL_hintgv);
     char he_name[8 + MAX_FEATURE_LEN] = "feature_";
 
     PERL_ARGS_ASSERT_FEATURE_IS_ENABLED;
 
+    assert(CURRENT_FEATURE_BUNDLE == FEATURE_BUNDLE_CUSTOM);
+
     if (namelen > MAX_FEATURE_LEN)
 	return FALSE;
     memcpy(&he_name[8], name, namelen);
 
-    return (hinthv && hv_exists(hinthv, he_name, 8 + namelen));
+    return cBOOL(cop_hints_fetch_pvn(PL_curcop, he_name, 8 + namelen, 0,
+				     REFCOUNTED_HE_EXISTS));
 }
 
 /*
@@ -616,8 +631,8 @@
 static void
 strip_return(SV *sv)
 {
-    register const char *s = SvPVX_const(sv);
-    register const char * const e = s + SvCUR(sv);
+    const char *s = SvPVX_const(sv);
+    const char * const e = s + SvCUR(sv);
 
     PERL_ARGS_ASSERT_STRIP_RETURN;
 
@@ -625,7 +640,7 @@
     while (s < e) {
 	if (*s++ == '\r' && *s == '\n') {
 	    /* hit a CR-LF, need to copy the rest */
-	    register char *d = s - 1;
+	    char *d = s - 1;
 	    *d++ = *s++;
 	    while (s < e) {
 		if (*s == '\r' && s[1] == '\n')
@@ -666,15 +681,20 @@
 code in I<line> comes first and must consist of complete lines of input,
 and I<rsfp> supplies the remainder of the source.
 
-The I<flags> parameter is reserved for future use, and must always
-be zero, except for one flag that is currently reserved for perl's internal
-use.
+The I<flags> parameter is reserved for future use.  Currently it is only
+used by perl internally, so extensions should always pass zero.
 
 =cut
 */
 
 /* LEX_START_SAME_FILTER indicates that this is not a new file, so it
-   can share filters with the current parser. */
+   can share filters with the current parser.
+   LEX_START_DONT_CLOSE indicates that the file handle wasn't opened by the
+   caller, hence isn't owned by the parser, so shouldn't be closed on parser
+   destruction. This is used to handle the case of defaulting to reading the
+   script from the standard input because no filename was given on the command
+   line (without getting confused by situation where STDIN has been closed, so
+   the script handle is opened on fd 0)  */
 
 void
 Perl_lex_start(pTHX_ SV *line, PerlIO *rsfp, U32 flags)
@@ -681,9 +701,8 @@
 {
     dVAR;
     const char *s = NULL;
-    STRLEN len;
     yy_parser *parser, *oparser;
-    if (flags && flags != LEX_START_SAME_FILTER)
+    if (flags && flags & ~LEX_START_FLAGS)
 	Perl_croak(aTHX_ "Lexing code internal error (%s)", "lex_start");
 
     /* create and initialise a parser */
@@ -714,25 +733,27 @@
     parser->rsfp = rsfp;
     parser->rsfp_filters =
       !(flags & LEX_START_SAME_FILTER) || !oparser
-        ? newAV()
-        : MUTABLE_AV(SvREFCNT_inc(oparser->rsfp_filters));
+        ? NULL
+        : MUTABLE_AV(SvREFCNT_inc(
+            oparser->rsfp_filters
+             ? oparser->rsfp_filters
+             : (oparser->rsfp_filters = newAV())
+          ));
 
     Newx(parser->lex_brackstack, 120, char);
     Newx(parser->lex_casestack, 12, char);
     *parser->lex_casestack = '\0';
+    Newxz(parser->lex_shared, 1, LEXSHARED);
 
     if (line) {
+	STRLEN len;
 	s = SvPV_const(line, len);
+	parser->linestr = flags & LEX_START_COPIED
+			    ? SvREFCNT_inc_simple_NN(line)
+			    : newSVpvn_flags(s, len, SvUTF8(line));
+	sv_catpvs(parser->linestr, "\n;");
     } else {
-	len = 0;
-    }
-
-    if (!len) {
 	parser->linestr = newSVpvs("\n;");
-    } else {
-	parser->linestr = newSVpvn_flags(s, len, SvUTF8(line));
-	if (s[len-1] != ';')
-	    sv_catpvs(parser->linestr, "\n;");
     }
     parser->oldoldbufptr =
 	parser->oldbufptr =
@@ -740,8 +761,10 @@
 	parser->linestart = SvPVX(parser->linestr);
     parser->bufend = parser->bufptr + SvCUR(parser->linestr);
     parser->last_lop = parser->last_uni = NULL;
+    parser->lex_flags = flags & (LEX_IGNORE_UTF8_HINTS|LEX_EVALBYTES
+				 |LEX_DONT_CLOSE_RSFP);
 
-    parser->in_pod = 0;
+    parser->in_pod = parser->filtered = 0;
 }
 
 
@@ -755,20 +778,54 @@
     PL_curcop = parser->saved_curcop;
     SvREFCNT_dec(parser->linestr);
 
-    if (parser->rsfp == PerlIO_stdin())
+    if (PL_parser->lex_flags & LEX_DONT_CLOSE_RSFP)
 	PerlIO_clearerr(parser->rsfp);
     else if (parser->rsfp && (!parser->old_parser ||
 		(parser->old_parser && parser->rsfp != parser->old_parser->rsfp)))
 	PerlIO_close(parser->rsfp);
     SvREFCNT_dec(parser->rsfp_filters);
+    SvREFCNT_dec(parser->lex_stuff);
+    SvREFCNT_dec(parser->sublex_info.repl);
 
     Safefree(parser->lex_brackstack);
     Safefree(parser->lex_casestack);
+    Safefree(parser->lex_shared);
     PL_parser = parser->old_parser;
     Safefree(parser);
 }
 
+void
+Perl_parser_free_nexttoke_ops(pTHX_  yy_parser *parser, OPSLAB *slab)
+{
+#ifdef PERL_MAD
+    I32 nexttoke = parser->lasttoke;
+#else
+    I32 nexttoke = parser->nexttoke;
+#endif
+    PERL_ARGS_ASSERT_PARSER_FREE_NEXTTOKE_OPS;
+    while (nexttoke--) {
+#ifdef PERL_MAD
+	if (S_is_opval_token(parser->nexttoke[nexttoke].next_type
+				& 0xffff)
+	 && parser->nexttoke[nexttoke].next_val.opval
+	 && parser->nexttoke[nexttoke].next_val.opval->op_slabbed
+	 && OpSLAB(parser->nexttoke[nexttoke].next_val.opval) == slab) {
+		op_free(parser->nexttoke[nexttoke].next_val.opval);
+		parser->nexttoke[nexttoke].next_val.opval = NULL;
+	}
+#else
+	if (S_is_opval_token(parser->nexttype[nexttoke] & 0xffff)
+	 && parser->nextval[nexttoke].opval
+	 && parser->nextval[nexttoke].opval->op_slabbed
+	 && OpSLAB(parser->nextval[nexttoke].opval) == slab) {
+	    op_free(parser->nextval[nexttoke].opval);
+	    parser->nextval[nexttoke].opval = NULL;
+	}
+#endif
+    }
+}
 
+
 /*
 =for apidoc AmxU|SV *|PL_parser-E<gt>linestr
 
@@ -887,7 +944,7 @@
     SV *linestr;
     char *buf;
     STRLEN bufend_pos, bufptr_pos, oldbufptr_pos, oldoldbufptr_pos;
-    STRLEN linestart_pos, last_uni_pos, last_lop_pos;
+    STRLEN linestart_pos, last_uni_pos, last_lop_pos, re_eval_start_pos;
     linestr = PL_parser->linestr;
     buf = SvPVX(linestr);
     if (len <= SvLEN(linestr))
@@ -899,7 +956,11 @@
     linestart_pos = PL_parser->linestart - buf;
     last_uni_pos = PL_parser->last_uni ? PL_parser->last_uni - buf : 0;
     last_lop_pos = PL_parser->last_lop ? PL_parser->last_lop - buf : 0;
+    re_eval_start_pos = PL_parser->lex_shared->re_eval_start ?
+                            PL_parser->lex_shared->re_eval_start - buf : 0;
+
     buf = sv_grow(linestr, len);
+
     PL_parser->bufend = buf + bufend_pos;
     PL_parser->bufptr = buf + bufptr_pos;
     PL_parser->oldbufptr = buf + oldbufptr_pos;
@@ -909,6 +970,8 @@
 	PL_parser->last_uni = buf + last_uni_pos;
     if (PL_parser->last_lop)
 	PL_parser->last_lop = buf + last_lop_pos;
+    if (PL_parser->lex_shared->re_eval_start)
+        PL_parser->lex_shared->re_eval_start  = buf + re_eval_start_pos;
     return buf;
 }
 
@@ -946,10 +1009,13 @@
 	if (flags & LEX_STUFF_UTF8) {
 	    goto plain_copy;
 	} else {
-	    STRLEN highhalf = 0;
+	    STRLEN highhalf = 0;    /* Count of variants */
 	    const char *p, *e = pv+len;
-	    for (p = pv; p != e; p++)
-		highhalf += !!(((U8)*p) & 0x80);
+	    for (p = pv; p != e; p++) {
+		if (! UTF8_IS_INVARIANT(*p)) {
+                    highhalf++;
+                }
+            }
 	    if (!highhalf)
 		goto plain_copy;
 	    lex_grow_linestr(SvCUR(PL_parser->linestr)+1+len+highhalf);
@@ -960,9 +1026,9 @@
 	    PL_parser->bufend += len+highhalf;
 	    for (p = pv; p != e; p++) {
 		U8 c = (U8)*p;
-		if (c & 0x80) {
-		    *bufptr++ = (char)(0xc0 | (c >> 6));
-		    *bufptr++ = (char)(0x80 | (c & 0x3f));
+		if (! UTF8_IS_INVARIANT(c)) {
+		    *bufptr++ = UTF8_TWO_BYTE_HI(c);
+		    *bufptr++ = UTF8_TWO_BYTE_LO(c);
 		} else {
 		    *bufptr++ = (char)c;
 		}
@@ -974,14 +1040,13 @@
 	    const char *p, *e = pv+len;
 	    for (p = pv; p != e; p++) {
 		U8 c = (U8)*p;
-		if (c >= 0xc4) {
+		if (UTF8_IS_ABOVE_LATIN1(c)) {
 		    Perl_croak(aTHX_ "Lexing code attempted to stuff "
 				"non-Latin-1 character into Latin-1 input");
-		} else if (c >= 0xc2 && p+1 != e &&
-			    (((U8)p[1]) & 0xc0) == 0x80) {
+		} else if (UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(p, e)) {
 		    p++;
 		    highhalf++;
-		} else if (c >= 0x80) {
+		} else if (! UTF8_IS_INVARIANT(c)) {
 		    /* malformed UTF-8 */
 		    ENTER;
 		    SAVESPTR(PL_warnhook);
@@ -998,17 +1063,20 @@
 	    SvCUR_set(PL_parser->linestr,
 	    	SvCUR(PL_parser->linestr) + len-highhalf);
 	    PL_parser->bufend += len-highhalf;
-	    for (p = pv; p != e; p++) {
-		U8 c = (U8)*p;
-		if (c & 0x80) {
-		    *bufptr++ = (char)(((c & 0x3) << 6) | (p[1] & 0x3f));
-		    p++;
-		} else {
-		    *bufptr++ = (char)c;
+	    p = pv;
+	    while (p < e) {
+		if (UTF8_IS_INVARIANT(*p)) {
+		    *bufptr++ = *p;
+                    p++;
 		}
+		else {
+                    assert(p < e -1 );
+		    *bufptr++ = TWO_BYTE_UTF8_TO_UNI(*p, *(p+1));
+		    p += 2;
+                }
 	    }
 	} else {
-	    plain_copy:
+	  plain_copy:
 	    lex_grow_linestr(SvCUR(PL_parser->linestr)+1+len);
 	    bufptr = PL_parser->bufptr;
 	    Move(bufptr, bufptr+len, PL_parser->bufend+1-bufptr, char);
@@ -1139,7 +1207,7 @@
 	Perl_croak(aTHX_ "Lexing code internal error (%s)", "lex_read_to");
     for (; s != ptr; s++)
 	if (*s == '\n') {
-	    CopLINE_inc(PL_curcop);
+	    COPLINE_INC_WITH_HERELINES;
 	    PL_parser->linestart = s+1;
 	}
     PL_parser->bufptr = ptr;
@@ -1222,6 +1290,7 @@
 */
 
 #define LEX_FAKE_EOF 0x80000000
+#define LEX_NO_TERM  0x40000000
 
 bool
 Perl_lex_next_chunk(pTHX_ U32 flags)
@@ -1233,7 +1302,7 @@
     STRLEN linestart_pos, last_uni_pos, last_lop_pos;
     bool got_some_for_debugger = 0;
     bool got_some;
-    if (flags & ~(LEX_KEEP_PREVIOUS|LEX_FAKE_EOF))
+    if (flags & ~(LEX_KEEP_PREVIOUS|LEX_FAKE_EOF|LEX_NO_TERM))
 	Perl_croak(aTHX_ "Lexing code internal error (%s)", "lex_next_chunk");
     linestr = PL_parser->linestr;
     buf = SvPVX(linestr);
@@ -1259,11 +1328,13 @@
     }
     if (flags & LEX_FAKE_EOF) {
 	goto eof;
-    } else if (!PL_parser->rsfp) {
+    } else if (!PL_parser->rsfp && !PL_parser->filtered) {
 	got_some = 0;
     } else if (filter_gets(linestr, old_bufend_pos)) {
 	got_some = 1;
 	got_some_for_debugger = 1;
+    } else if (flags & LEX_NO_TERM) {
+	got_some = 0;
     } else {
 	if (!SvPOK(linestr))   /* can get undefined by filter_gets */
 	    sv_setpvs(linestr, "");
@@ -1271,12 +1342,12 @@
 	/* End of real input.  Close filehandle (unless it was STDIN),
 	 * then add implicit termination.
 	 */
-	if ((PerlIO*)PL_parser->rsfp == PerlIO_stdin())
+	if (PL_parser->lex_flags & LEX_DONT_CLOSE_RSFP)
 	    PerlIO_clearerr(PL_parser->rsfp);
 	else if (PL_parser->rsfp)
 	    (void)PerlIO_close(PL_parser->rsfp);
 	PL_parser->rsfp = NULL;
-	PL_parser->in_pod = 0;
+	PL_parser->in_pod = PL_parser->filtered = 0;
 #ifdef PERL_MAD
 	if (PL_madskills && !PL_in_eval && (PL_minus_p || PL_minus_n))
 	    PL_faketokens = 1;
@@ -1353,10 +1424,10 @@
 	    bufend = PL_parser->bufend;
 	}
 	head = (U8)*s;
-	if (!(head & 0x80))
+	if (UTF8_IS_INVARIANT(head))
 	    return head;
-	if (head & 0x40) {
-	    len = PL_utf8skip[head];
+	if (UTF8_IS_START(head)) {
+	    len = UTF8SKIP(&head);
 	    while ((STRLEN)(bufend-s) < len) {
 		if (!lex_next_chunk(flags | LEX_KEEP_PREVIOUS))
 		    break;
@@ -1413,8 +1484,11 @@
     c = lex_peek_unichar(flags);
     if (c != -1) {
 	if (c == '\n')
-	    CopLINE_inc(PL_curcop);
-	PL_parser->bufptr += UTF8SKIP(PL_parser->bufptr);
+	    COPLINE_INC_WITH_HERELINES;
+	if (UTF)
+	    PL_parser->bufptr += UTF8SKIP(PL_parser->bufptr);
+	else
+	    ++(PL_parser->bufptr);
     }
     return c;
 }
@@ -1479,7 +1553,7 @@
 	    if (flags & LEX_NO_NEXT_CHUNK)
 		break;
 	    PL_parser->bufptr = s;
-	    CopLINE_inc(PL_curcop);
+	    COPLINE_INC_WITH_HERELINES;
 	    got_more = lex_next_chunk(flags);
 	    CopLINE_dec(PL_curcop);
 	    s = PL_parser->bufptr;
@@ -1522,7 +1596,13 @@
 
     PERL_ARGS_ASSERT_INCLINE;
 
-    CopLINE_inc(PL_curcop);
+    COPLINE_INC_WITH_HERELINES;
+    if (!PL_rsfp && !PL_parser->filtered && PL_lex_state == LEX_NORMAL
+     && s+1 == PL_bufend && *s == ';') {
+	/* fake newline in string eval */
+	CopLINE_dec(PL_curcop);
+	return;
+    }
     if (*s++ != '#')
 	return;
     while (SPACE_OR_TAB(*s))
@@ -1578,7 +1658,7 @@
 	    tmplen = 0;
 	}
 
-	if (tmplen > 7 && strnEQ(cf, "(eval ", 6)) {
+	if (!PL_rsfp && !PL_parser->filtered) {
 	    /* must copy *{"::_<(eval N)[oldfilename:L]"}
 	     * to *{"::_<newfilename"} */
 	    /* However, the long form of evals is only turned on by the
@@ -1655,7 +1735,7 @@
 /* skip space before PL_thistoken */
 
 STATIC char *
-S_skipspace0(pTHX_ register char *s)
+S_skipspace0(pTHX_ char *s)
 {
     PERL_ARGS_ASSERT_SKIPSPACE0;
 
@@ -1676,7 +1756,7 @@
 /* skip space after PL_thistoken */
 
 STATIC char *
-S_skipspace1(pTHX_ register char *s)
+S_skipspace1(pTHX_ char *s)
 {
     const char *start = s;
     I32 startoff = start - SvPVX(PL_linestr);
@@ -1703,7 +1783,7 @@
 }
 
 STATIC char *
-S_skipspace2(pTHX_ register char *s, SV **svp)
+S_skipspace2(pTHX_ char *s, SV **svp)
 {
     char *start;
     const I32 bufptroff = PL_bufptr - SvPVX(PL_linestr);
@@ -1756,7 +1836,7 @@
  */
 
 STATIC char *
-S_skipspace(pTHX_ register char *s)
+S_skipspace(pTHX_ char *s)
 {
 #ifdef PERL_MAD
     char *start = s;
@@ -1811,7 +1891,7 @@
     while (isSPACE(*PL_last_uni))
 	PL_last_uni++;
     s = PL_last_uni;
-    while (isALNUM_lazy_if(s,UTF) || *s == '-')
+    while (isWORDCHAR_lazy_if(s,UTF) || *s == '-')
 	s++;
     if ((t = strchr(s, '(')) && t < PL_bufptr)
 	return;
@@ -2030,10 +2110,10 @@
  */
 
 STATIC char *
-S_force_word(pTHX_ register char *start, int token, int check_keyword, int allow_pack, int allow_initial_tick)
+S_force_word(pTHX_ char *start, int token, int check_keyword, int allow_pack, int allow_initial_tick)
 {
     dVAR;
-    register char *s;
+    char *s;
     STRLEN len;
 
     PERL_ARGS_ASSERT_FORCE_WORD;
@@ -2079,15 +2159,16 @@
  */
 
 STATIC void
-S_force_ident(pTHX_ register const char *s, int kind)
+S_force_ident(pTHX_ const char *s, int kind)
 {
     dVAR;
 
     PERL_ARGS_ASSERT_FORCE_IDENT;
 
-    if (*s) {
-	const STRLEN len = strlen(s);
-	OP* const o = (OP*)newSVOP(OP_CONST, 0, newSVpvn(s, len));
+    if (s[0]) {
+	const STRLEN len = s[1] ? strlen(s) : 1; /* s = "\"" see yylex */
+	OP* const o = (OP*)newSVOP(OP_CONST, 0, newSVpvn_flags(s, len,
+                                                                UTF ? SVf_UTF8 : 0));
 	start_force(PL_curforce);
 	NEXTVAL_NEXTTOKE.opval = o;
 	force_next(WORD);
@@ -2097,8 +2178,8 @@
 	       warnings if the symbol must be introduced in an eval.
 	       GSAR 96-10-12 */
 	    gv_fetchpvn_flags(s, len,
-			      PL_in_eval ? (GV_ADDMULTI | GV_ADDINEVAL)
-			      : GV_ADD,
+			      (PL_in_eval ? (GV_ADDMULTI | GV_ADDINEVAL)
+			      : GV_ADD) | ( UTF ? SVf_UTF8 : 0 ),
 			      kind == '$' ? SVt_PV :
 			      kind == '@' ? SVt_PVAV :
 			      kind == '%' ? SVt_PVHV :
@@ -2108,6 +2189,14 @@
     }
 }
 
+static void
+S_force_ident_maybe_lex(pTHX_ char pit)
+{
+    start_force(PL_curforce);
+    NEXTVAL_NEXTTOKE.ival = pit;
+    force_next('p');
+}
+
 NV
 Perl_str_to_version(pTHX_ SV *sv)
 {
@@ -2173,11 +2262,13 @@
         if (*d == ';' || isSPACE(*d) || *d == '{' || *d == '}' || !*d) {
 	    SV *ver;
 #ifdef USE_LOCALE_NUMERIC
-	    char *loc = setlocale(LC_NUMERIC, "C");
+	    char *loc = savepv(setlocale(LC_NUMERIC, NULL));
+	    setlocale(LC_NUMERIC, "C");
 #endif
             s = scan_num(s, &pl_yylval);
 #ifdef USE_LOCALE_NUMERIC
 	    setlocale(LC_NUMERIC, loc);
+	    Safefree(loc);
 #endif
             version = pl_yylval.opval;
 	    ver = cSVOPx(version)->op_sv;
@@ -2275,9 +2366,9 @@
 S_tokeq(pTHX_ SV *sv)
 {
     dVAR;
-    register char *s;
-    register char *send;
-    register char *d;
+    char *s;
+    char *send;
+    char *d;
     STRLEN len = 0;
     SV *pv = sv;
 
@@ -2320,14 +2411,10 @@
  * converting things like "\u\Lgnat" into ucfirst(lc("gnat")).  They
  * interact with PL_lex_state, and create fake ( ... ) argument lists
  * to handle functions and concatenation.
- * They assume that whoever calls them will be setting up a fake
- * join call, because each subthing puts a ',' after it.  This lets
- *   "lower \luPpEr"
- * become
- *  join($, , 'lower ', lcfirst( 'uPpEr', ) ,)
- *
- * (I'm not sure whether the spurious commas at the end of lcfirst's
- * arguments and join's arguments are created or not).
+ * For example,
+ *   "foo\lbar"
+ * is tokenised as
+ *    stringify ( const[foo] concat lcfirst ( const[bar] ) )
  */
 
 /*
@@ -2350,7 +2437,7 @@
 S_sublex_start(pTHX)
 {
     dVAR;
-    register const I32 op_type = pl_yylval.ival;
+    const I32 op_type = pl_yylval.ival;
 
     if (op_type == OP_NULL) {
 	pl_yylval.opval = PL_lex_op;
@@ -2411,6 +2498,7 @@
 S_sublex_push(pTHX)
 {
     dVAR;
+    LEXSHARED *shared;
     ENTER;
 
     PL_lex_state = PL_sublex_info.super_state;
@@ -2417,10 +2505,12 @@
     SAVEBOOL(PL_lex_dojoin);
     SAVEI32(PL_lex_brackets);
     SAVEI32(PL_lex_allbrackets);
+    SAVEI32(PL_lex_formbrack);
     SAVEI8(PL_lex_fakeeof);
     SAVEI32(PL_lex_casemods);
     SAVEI32(PL_lex_starts);
     SAVEI8(PL_lex_state);
+    SAVESPTR(PL_lex_repl);
     SAVEVPTR(PL_lex_inpat);
     SAVEI16(PL_lex_inwhat);
     SAVECOPLINE(PL_curcop);
@@ -2434,9 +2524,20 @@
     SAVESPTR(PL_linestr);
     SAVEGENERICPV(PL_lex_brackstack);
     SAVEGENERICPV(PL_lex_casestack);
+    SAVEGENERICPV(PL_parser->lex_shared);
+    SAVEBOOL(PL_parser->lex_re_reparsing);
 
+    /* The here-doc parser needs to be able to peek into outer lexing
+       scopes to find the body of the here-doc.  So we put PL_linestr and
+       PL_bufptr into lex_shared, to ‘share’ those values.
+     */
+    PL_parser->lex_shared->ls_linestr = PL_linestr;
+    PL_parser->lex_shared->ls_bufptr  = PL_bufptr;
+
     PL_linestr = PL_lex_stuff;
+    PL_lex_repl = PL_sublex_info.repl;
     PL_lex_stuff = NULL;
+    PL_sublex_info.repl = NULL;
 
     PL_bufend = PL_bufptr = PL_oldbufptr = PL_oldoldbufptr = PL_linestart
 	= SvPVX(PL_linestr);
@@ -2443,9 +2544,10 @@
     PL_bufend += SvCUR(PL_linestr);
     PL_last_lop = PL_last_uni = NULL;
     SAVEFREESV(PL_linestr);
+    if (PL_lex_repl) SAVEFREESV(PL_lex_repl);
 
     PL_lex_dojoin = FALSE;
-    PL_lex_brackets = 0;
+    PL_lex_brackets = PL_lex_formbrack = 0;
     PL_lex_allbrackets = 0;
     PL_lex_fakeeof = LEX_FAKEEOF_NEVER;
     Newx(PL_lex_brackstack, 120, char);
@@ -2455,6 +2557,10 @@
     PL_lex_starts = 0;
     PL_lex_state = LEX_INTERPCONCAT;
     CopLINE_set(PL_curcop, (line_t)PL_multi_start);
+    
+    Newxz(shared, 1, LEXSHARED);
+    shared->ls_prev = PL_parser->lex_shared;
+    PL_parser->lex_shared = shared;
 
     PL_lex_inwhat = PL_sublex_info.sub_inwhat;
     if (PL_lex_inwhat == OP_TRANSR) PL_lex_inwhat = OP_TRANS;
@@ -2463,6 +2569,9 @@
     else
 	PL_lex_inpat = NULL;
 
+    PL_parser->lex_re_reparsing = cBOOL(PL_in_eval & EVAL_RE_REPARSING);
+    PL_in_eval &= ~EVAL_RE_REPARSING;
+
     return '(';
 }
 
@@ -2497,7 +2606,6 @@
 	PL_bufend = PL_bufptr = PL_oldbufptr = PL_oldoldbufptr = PL_linestart = SvPVX(PL_linestr);
 	PL_bufend += SvCUR(PL_linestr);
 	PL_last_lop = PL_last_uni = NULL;
-	SAVEFREESV(PL_linestr);
 	PL_lex_dojoin = FALSE;
 	PL_lex_brackets = 0;
 	PL_lex_allbrackets = 0;
@@ -2543,12 +2651,210 @@
     }
 }
 
+PERL_STATIC_INLINE SV*
+S_get_and_check_backslash_N_name(pTHX_ const char* s, const char* const e)
+{
+    /* <s> points to first character of interior of \N{}, <e> to one beyond the
+     * interior, hence to the "}".  Finds what the name resolves to, returning
+     * an SV* containing it; NULL if no valid one found */
+
+    SV* res = newSVpvn_flags(s, e - s, UTF ? SVf_UTF8 : 0);
+
+    HV * table;
+    SV **cvp;
+    SV *cv;
+    SV *rv;
+    HV *stash;
+    const U8* first_bad_char_loc;
+    const char* backslash_ptr = s - 3; /* Points to the <\> of \N{... */
+
+    PERL_ARGS_ASSERT_GET_AND_CHECK_BACKSLASH_N_NAME;
+
+    if (UTF && ! is_utf8_string_loc((U8 *) backslash_ptr,
+                                     e - backslash_ptr,
+                                     &first_bad_char_loc))
+    {
+        /* If warnings are on, this will print a more detailed analysis of what
+         * is wrong than the error message below */
+        utf8n_to_uvuni(first_bad_char_loc,
+                       e - ((char *) first_bad_char_loc),
+                       NULL, 0);
+
+        /* We deliberately don't try to print the malformed character, which
+         * might not print very well; it also may be just the first of many
+         * malformations, so don't print what comes after it */
+        yyerror(Perl_form(aTHX_
+            "Malformed UTF-8 character immediately after '%.*s'",
+            (int) (first_bad_char_loc - (U8 *) backslash_ptr), backslash_ptr));
+	return NULL;
+    }
+
+    res = new_constant( NULL, 0, "charnames", res, NULL, backslash_ptr,
+                        /* include the <}> */
+                        e - backslash_ptr + 1);
+    if (! SvPOK(res)) {
+        SvREFCNT_dec_NN(res);
+        return NULL;
+    }
+
+    /* See if the charnames handler is the Perl core's, and if so, we can skip
+     * the validation needed for a user-supplied one, as Perl's does its own
+     * validation. */
+    table = GvHV(PL_hintgv);		 /* ^H */
+    cvp = hv_fetchs(table, "charnames", FALSE);
+    if (cvp && (cv = *cvp) && SvROK(cv) && ((rv = SvRV(cv)) != NULL)
+        && SvTYPE(rv) == SVt_PVCV && ((stash = CvSTASH(rv)) != NULL))
+    {
+        const char * const name = HvNAME(stash);
+        if strEQ(name, "_charnames") {
+           return res;
+       }
+    }
+
+    /* Here, it isn't Perl's charname handler.  We can't rely on a
+     * user-supplied handler to validate the input name.  For non-ut8 input,
+     * look to see that the first character is legal.  Then loop through the
+     * rest checking that each is a continuation */
+
+    /* This code needs to be sync'ed with a regex in _charnames.pm which does
+     * the same thing */
+
+    if (! UTF) {
+        if (! isALPHAU(*s)) {
+            goto bad_charname;
+        }
+        s++;
+        while (s < e) {
+            if (! isCHARNAME_CONT(*s)) {
+                goto bad_charname;
+            }
+	    if (*s == ' ' && *(s-1) == ' ' && ckWARN(WARN_DEPRECATED)) {
+                Perl_warn(aTHX_ "A sequence of multiple spaces in a charnames alias definition is deprecated");
+            }
+            s++;
+        }
+        if (*(s-1) == ' ' && ckWARN(WARN_DEPRECATED)) {
+            Perl_warn(aTHX_ "Trailing white-space in a charnames alias definition is deprecated");
+        }
+    }
+    else {
+        /* Similarly for utf8.  For invariants can check directly; for other
+         * Latin1, can calculate their code point and check; otherwise  use a
+         * swash */
+        if (UTF8_IS_INVARIANT(*s)) {
+            if (! isALPHAU(*s)) {
+                goto bad_charname;
+            }
+            s++;
+        } else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
+            if (! isALPHAU(UNI_TO_NATIVE(TWO_BYTE_UTF8_TO_UNI(*s, *(s+1))))) {
+                goto bad_charname;
+            }
+            s += 2;
+        }
+        else {
+            if (! PL_utf8_charname_begin) {
+                U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
+                PL_utf8_charname_begin = _core_swash_init("utf8",
+                                                        "_Perl_Charname_Begin",
+                                                        &PL_sv_undef,
+                                                        1, 0, NULL, &flags);
+            }
+            if (! swash_fetch(PL_utf8_charname_begin, (U8 *) s, TRUE)) {
+                goto bad_charname;
+            }
+            s += UTF8SKIP(s);
+        }
+
+        while (s < e) {
+            if (UTF8_IS_INVARIANT(*s)) {
+                if (! isCHARNAME_CONT(*s)) {
+                    goto bad_charname;
+                }
+                if (*s == ' ' && *(s-1) == ' ' && ckWARN(WARN_DEPRECATED)) {
+                    Perl_warn(aTHX_ "A sequence of multiple spaces in a charnames alias definition is deprecated");
+                }
+                s++;
+            }
+            else if (UTF8_IS_DOWNGRADEABLE_START(*s)) {
+                if (! isCHARNAME_CONT(UNI_TO_NATIVE(TWO_BYTE_UTF8_TO_UNI(*s,
+                                                                    *(s+1)))))
+                {
+                    goto bad_charname;
+                }
+                s += 2;
+            }
+            else {
+                if (! PL_utf8_charname_continue) {
+                    U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
+                    PL_utf8_charname_continue = _core_swash_init("utf8",
+                                                "_Perl_Charname_Continue",
+                                                &PL_sv_undef,
+                                                1, 0, NULL, &flags);
+                }
+                if (! swash_fetch(PL_utf8_charname_continue, (U8 *) s, TRUE)) {
+                    goto bad_charname;
+                }
+                s += UTF8SKIP(s);
+            }
+        }
+        if (*(s-1) == ' ' && ckWARN(WARN_DEPRECATED)) {
+            Perl_warn(aTHX_ "Trailing white-space in a charnames alias definition is deprecated");
+        }
+    }
+
+    if (SvUTF8(res)) { /* Don't accept malformed input */
+        const U8* first_bad_char_loc;
+        STRLEN len;
+        const char* const str = SvPV_const(res, len);
+        if (! is_utf8_string_loc((U8 *) str, len, &first_bad_char_loc)) {
+            /* If warnings are on, this will print a more detailed analysis of
+             * what is wrong than the error message below */
+            utf8n_to_uvuni(first_bad_char_loc,
+                           (char *) first_bad_char_loc - str,
+                           NULL, 0);
+
+            /* We deliberately don't try to print the malformed character,
+             * which might not print very well; it also may be just the first
+             * of many malformations, so don't print what comes after it */
+            yyerror_pv(
+              Perl_form(aTHX_
+                "Malformed UTF-8 returned by %.*s immediately after '%.*s'",
+                 (int) (e - backslash_ptr + 1), backslash_ptr,
+                 (int) ((char *) first_bad_char_loc - str), str
+              ),
+              SVf_UTF8);
+            return NULL;
+        }
+    }
+
+    return res;
+
+  bad_charname: {
+        int bad_char_size = ((UTF) ? UTF8SKIP(s) : 1);
+
+        /* The final %.*s makes sure that should the trailing NUL be missing
+         * that this print won't run off the end of the string */
+        yyerror_pv(
+          Perl_form(aTHX_
+            "Invalid character in \\N{...}; marked by <-- HERE in %.*s<-- HERE %.*s",
+            (int)(s - backslash_ptr + bad_char_size), backslash_ptr,
+            (int)(e - s + bad_char_size), s + bad_char_size
+          ),
+          UTF ? SVf_UTF8 : 0);
+        return NULL;
+    }
+}
+
 /*
   scan_const
 
-  Extracts a pattern, double-quoted string, or transliteration.  This
-  is terrifying code.
+  Extracts the next constant part of a pattern, double-quoted string,
+  or transliteration.  This is terrifying code.
 
+  For example, in parsing the double-quoted string "ab\x63$d", it would
+  stop at the '$' and return an OP_CONST containing 'abc'.
+
   It looks at PL_lex_inwhat and PL_lex_inpat to find out whether it's
   processing a pattern (PL_lex_inpat is true), a transliteration
   (PL_lex_inwhat == OP_TRANS is true), or a double-quoted string.
@@ -2555,16 +2861,24 @@
 
   Returns a pointer to the character scanned up to. If this is
   advanced from the start pointer supplied (i.e. if anything was
-  successfully parsed), will leave an OP for the substring scanned
+  successfully parsed), will leave an OP_CONST for the substring scanned
   in pl_yylval. Caller must intuit reason for not parsing further
   by looking at the next characters herself.
 
   In patterns:
-    backslashes:
-      constants: \N{NAME} only
-      case and quoting: \U \Q \E
-    stops on @ and $, but not for $ as tail anchor
+    expand:
+      \N{FOO}  => \N{U+hex_for_character_FOO}
+      (if FOO expands to multiple characters, expands to \N{U+xx.XX.yy ...})
 
+    pass through:
+	all other \-char, including \N and \N{ apart from \N{ABC}
+
+    stops on:
+	@ and $ where it appears to be a var, but not for $ as tail anchor
+        \l \L \u \U \Q \E
+	(?{  or  (??{
+
+
   In transliterations:
     characters are VERY literal, except for - not at the start or end
     of the string, which indicates a range. If the range is in bytes,
@@ -2593,7 +2907,7 @@
   it's a tail anchor if $ is the last thing in the string, or if it's
   followed by one of "()| \r\n\t"
 
-  \1 (backreferences) are turned into $1
+  \1 (backreferences) are turned into $1 in substitutions
 
   The structure of the code is
       while (there's a character to process) {
@@ -2625,13 +2939,14 @@
 S_scan_const(pTHX_ char *start)
 {
     dVAR;
-    register char *send = PL_bufend;		/* end of the constant */
+    char *send = PL_bufend;		/* end of the constant */
     SV *sv = newSV(send - start);		/* sv for the constant.  See
 						   note below on sizing. */
-    register char *s = start;			/* start of the constant */
-    register char *d = SvPVX(sv);		/* destination for copies */
+    char *s = start;			/* start of the constant */
+    char *d = SvPVX(sv);		/* destination for copies */
     bool dorange = FALSE;			/* are we in a translit range? */
     bool didrange = FALSE;		        /* did we just finish a range? */
+    bool in_charclass = FALSE;			/* within /[...]/ */
     bool has_utf8 = FALSE;			/* Output constant is UTF8 */
     bool  this_utf8 = cBOOL(UTF);		/* Is the source string assumed
 						   to be UTF8?  But, this can
@@ -2639,6 +2954,7 @@
 						   isn't utf8, as for example
 						   when it is entirely composed
 						   of hex constants */
+    SV *res;		                /* result from charnames */
 
     /* Note on sizing:  The scanned constant is placed into sv, which is
      * initialized by newSV() assuming one byte of output for every byte of
@@ -2652,7 +2968,8 @@
      * far, plus the length the current construct will occupy, plus room for
      * the trailing NUL, plus one byte for every input byte still unscanned */ 
 
-    UV uv;
+    UV uv = UV_MAX; /* Initialize to weird value to try to catch any uses
+                       before set */
 #ifdef EBCDIC
     UV literal_endpoint = 0;
     bool native_range = TRUE; /* turned to FALSE if the first endpoint is Unicode. */
@@ -2667,6 +2984,9 @@
 	this_utf8  = PL_sublex_info.sub_op->op_private & (PL_lex_repl ? OPpTRANS_FROM_UTF : OPpTRANS_TO_UTF);
     }
 
+    /* Protect sv from errors and fatal warnings. */
+    ENTER_with_name("scan_const");
+    SAVEFREESV(sv);
 
     while (s < send || dorange) {
 
@@ -2686,7 +3006,7 @@
 #ifdef EBCDIC
 		    && !native_range
 #endif
-		    ) {
+                ) {
 		    char * const c = (char*)utf8_hop((U8*)d, -1);
 		    char *e = d++;
 		    while (e-- > c)
@@ -2821,33 +3141,38 @@
 
 	/* if we get here, we're not doing a transliteration */
 
-	/* skip for regexp comments /(?#comment)/ and code /(?{code})/,
-	   except for the last char, which will be done separately. */
-	else if (*s == '(' && PL_lex_inpat && s[1] == '?') {
+	else if (*s == '[' && PL_lex_inpat && !in_charclass) {
+	    char *s1 = s-1;
+	    int esc = 0;
+	    while (s1 >= start && *s1-- == '\\')
+		esc = !esc;
+	    if (!esc)
+		in_charclass = TRUE;
+	}
+
+	else if (*s == ']' && PL_lex_inpat &&  in_charclass) {
+	    char *s1 = s-1;
+	    int esc = 0;
+	    while (s1 >= start && *s1-- == '\\')
+		esc = !esc;
+	    if (!esc)
+		in_charclass = FALSE;
+	}
+
+	/* skip for regexp comments /(?#comment)/, except for the last
+	 * char, which will be done separately.
+	 * Stop on (?{..}) and friends */
+
+	else if (*s == '(' && PL_lex_inpat && s[1] == '?' && !in_charclass) {
 	    if (s[2] == '#') {
 		while (s+1 < send && *s != ')')
 		    *d++ = NATIVE_TO_NEED(has_utf8,*s++);
 	    }
-	    else if (s[2] == '{' /* This should match regcomp.c */
-		    || (s[2] == '?' && s[3] == '{'))
+	    else if (!PL_lex_casemods &&
+		     (    s[2] == '{' /* This should match regcomp.c */
+		      || (s[2] == '?' && s[3] == '{')))
 	    {
-		I32 count = 1;
-		char *regparse = s + (s[2] == '{' ? 3 : 4);
-		char c;
-
-		while (count && (c = *regparse)) {
-		    if (c == '\\' && regparse[1])
-			regparse++;
-		    else if (c == '{')
-			count++;
-		    else if (c == '}')
-			count--;
-		    regparse++;
-		}
-		if (*regparse != ')')
-		    regparse--;		/* Leave one char for continuation. */
-		while (s < regparse)
-		    *d++ = NATIVE_TO_NEED(has_utf8,*s++);
+		break;
 	    }
 	}
 
@@ -2854,15 +3179,32 @@
 	/* likewise skip #-initiated comments in //x patterns */
 	else if (*s == '#' && PL_lex_inpat &&
 	  ((PMOP*)PL_lex_inpat)->op_pmflags & RXf_PMf_EXTENDED) {
-	    while (s+1 < send && *s != '\n')
+	    while (s+1 < send && *s != '\n') {
+                /* for maint-5.18, half-fix #-in-charclass bug:
+                 *   *do* recognise codeblocks: /[#](?{})/
+                 *   *don't* recognise interpolated vars: /[#$x]/
+                 */
+                if (in_charclass && !PL_lex_casemods && s+3 < send &&
+		     s[0] == '(' &&
+		     s[1] == '?' &&
+		     (    s[2] == '{'
+		      || (s[2] == '?' && s[3] == '{')))
+                    break;
 		*d++ = NATIVE_TO_NEED(has_utf8,*s++);
+            }
+            if (s+ 1 < send && *s != '\n')
+                break; /* we stopped on (?{}), not EOL */
 	}
 
+	/* no further processing of single-quoted regex */
+	else if (PL_lex_inpat && SvIVX(PL_linestr) == '\'')
+	    goto default_action;
+
 	/* check for embedded arrays
 	   (@foo, @::foo, @'foo, @{foo}, @$foo, @+, @-)
 	   */
 	else if (*s == '@' && s[1]) {
-	    if (isALNUM_lazy_if(s+1,UTF))
+	    if (isWORDCHAR_lazy_if(s+1,UTF))
 		break;
 	    if (strchr(":'{$", s[1]))
 		break;
@@ -2904,7 +3246,7 @@
 	    }
 
 	    /* string-change backslash escapes */
-	    if (PL_lex_inwhat != OP_TRANS && *s && strchr("lLuUEQ", *s)) {
+	    if (PL_lex_inwhat != OP_TRANS && *s && strchr("lLuUEQF", *s)) {
 		--s;
 		break;
 	    }
@@ -2924,7 +3266,7 @@
 	    else if (PL_lex_inpat
 		    && (*s != 'N'
 			|| s[1] != '{'
-			|| regcurly(s + 1)))
+			|| regcurly(s + 1, FALSE)))
 	    {
 		*d++ = NATIVE_TO_NEED(has_utf8,'\\');
 		goto default_action;
@@ -2941,7 +3283,7 @@
 		/* FALL THROUGH */
 	    default:
 	        {
-		    if ((isALPHA(*s) || isDIGIT(*s)))
+		    if ((isALPHANUMERIC(*s)))
 			Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
 				       "Unrecognized escape \\%c passed through",
 				       *s);
@@ -2953,10 +3295,16 @@
 	    case '0': case '1': case '2': case '3':
 	    case '4': case '5': case '6': case '7':
 		{
-                    I32 flags = 0;
+                    I32 flags = PERL_SCAN_SILENT_ILLDIGIT;
                     STRLEN len = 3;
 		    uv = NATIVE_TO_UNI(grok_oct(s, &len, &flags, NULL));
 		    s += len;
+                    if (len < 3 && s < send && isDIGIT(*s)
+                        && ckWARN(WARN_MISC))
+                    {
+                        Perl_warner(aTHX_ packWARN(WARN_MISC),
+                                    "%s", form_short_octal_warning(s, len));
+                    }
 		}
 		goto NUM_ESCAPE_INSERT;
 
@@ -2963,11 +3311,14 @@
 	    /* eg. \o{24} indicates the octal constant \024 */
 	    case 'o':
 		{
-		    STRLEN len;
 		    const char* error;
 
-		    bool valid = grok_bslash_o(s, &uv, &len, &error, 1);
-		    s += len;
+		    bool valid = grok_bslash_o(&s, &uv, &error,
+                                               TRUE, /* Output warning */
+                                               FALSE, /* Not strict */
+                                               TRUE, /* Output warnings for
+                                                         non-portables */
+                                               UTF);
 		    if (! valid) {
 			yyerror(error);
 			continue;
@@ -2977,30 +3328,20 @@
 
 	    /* eg. \x24 indicates the hex constant 0x24 */
 	    case 'x':
-		++s;
-		if (*s == '{') {
-		    char* const e = strchr(s, '}');
-                    I32 flags = PERL_SCAN_ALLOW_UNDERSCORES |
-                      PERL_SCAN_DISALLOW_PREFIX;
-		    STRLEN len;
+		{
+		    const char* error;
 
-                    ++s;
-		    if (!e) {
-			yyerror("Missing right brace on \\x{}");
+		    bool valid = grok_bslash_x(&s, &uv, &error,
+                                               TRUE, /* Output warning */
+                                               FALSE, /* Not strict */
+                                               TRUE,  /* Output warnings for
+                                                         non-portables */
+                                               UTF);
+		    if (! valid) {
+			yyerror(error);
 			continue;
 		    }
-                    len = e - s;
-		    uv = NATIVE_TO_UNI(grok_hex(s, &len, &flags, NULL));
-		    s = e + 1;
 		}
-		else {
-		    {
-			STRLEN len = 2;
-                        I32 flags = PERL_SCAN_DISALLOW_PREFIX;
-			uv = NATIVE_TO_UNI(grok_hex(s, &len, &flags, NULL));
-			s += len;
-		    }
-		}
 
 	      NUM_ESCAPE_INSERT:
 		/* Insert oct or hex escaped character.  There will always be
@@ -3104,31 +3445,6 @@
 
 		/* Here it looks like a named character */
 
-		if (PL_lex_inpat) {
-
-		    /* XXX This block is temporary code.  \N{} implies that the
-		     * pattern is to have Unicode semantics, and therefore
-		     * currently has to be encoded in utf8.  By putting it in
-		     * utf8 now, we save a whole pass in the regular expression
-		     * compiler.  Once that code is changed so Unicode
-		     * semantics doesn't necessarily have to be in utf8, this
-		     * block should be removed.  However, the code that parses
-		     * the output of this would have to be changed to not
-		     * necessarily expect utf8 */
-		    if (!has_utf8) {
-			SvCUR_set(sv, d - SvPVX_const(sv));
-			SvPOK_on(sv);
-			*d = '\0';
-			/* See Note on sizing above.  */
-			sv_utf8_upgrade_flags_grow(sv,
-					SV_GMAGIC|SV_FORCE_UTF8_UPGRADE,
-					/* 5 = '\N{' + cur char + NUL */
-					(STRLEN)(send - s) + 5);
-			d = SvPVX(sv) + SvCUR(sv);
-			has_utf8 = TRUE;
-		    }
-		}
-
 		if (*s == 'U' && s[1] == '+') { /* \N{U+...} */
 		    I32 flags = PERL_SCAN_ALLOW_UNDERSCORES
 				| PERL_SCAN_DISALLOW_PREFIX;
@@ -3190,33 +3506,13 @@
 			else d = (char*)uvuni_to_utf8((U8*)d, uv);
 		    }
 		}
-		else { /* Here is \N{NAME} but not \N{U+...}. */
+		else /* Here is \N{NAME} but not \N{U+...}. */
+                     if ((res = get_and_check_backslash_N_name(s, e)))
+                {
+                    STRLEN len;
+                    const char *str = SvPV_const(res, len);
+                    if (PL_lex_inpat) {
 
-		    SV *res;		/* result from charnames */
-		    const char *str;    /* the string in 'res' */
-		    STRLEN len;		/* its length */
-
-		    /* Get the value for NAME */
-		    res = newSVpvn(s, e - s);
-		    res = new_constant( NULL, 0, "charnames",
-					/* includes all of: \N{...} */
-					res, NULL, s - 3, e - s + 4 );
-
-		    /* Most likely res will be in utf8 already since the
-		     * standard charnames uses pack U, but a custom translator
-		     * can leave it otherwise, so make sure.  XXX This can be
-		     * revisited to not have charnames use utf8 for characters
-		     * that don't need it when regexes don't have to be in utf8
-		     * for Unicode semantics.  If doing so, remember EBCDIC */
-		    sv_utf8_upgrade(res);
-		    str = SvPV_const(res, len);
-
-		    /* Don't accept malformed input */
-		    if (! is_utf8_string((U8 *) str, len)) {
-			yyerror("Malformed UTF-8 returned by \\N");
-		    }
-		    else if (PL_lex_inpat) {
-
 			if (! len) { /* The name resolved to an empty string */
 			    Copy("\\N{}", d, 4, char);
 			    d += 4;
@@ -3229,73 +3525,88 @@
 			    * returned by charnames */
 
 			    const char *str_end = str + len;
-			    STRLEN char_length;	    /* cur char's byte length */
-			    STRLEN output_length;   /* and the number of bytes
-						       after this is translated
-						       into hex digits */
 			    const STRLEN off = d - SvPVX_const(sv);
 
-			    /* 2 hex per byte; 2 chars for '\N'; 2 chars for
-			     * max('U+', '.'); and 1 for NUL */
-			    char hex_string[2 * UTF8_MAXBYTES + 5];
+                            if (! SvUTF8(res)) {
+                                /* For the non-UTF-8 case, we can determine the
+                                 * exact length needed without having to parse
+                                 * through the string.  Each character takes up
+                                 * 2 hex digits plus either a trailing dot or
+                                 * the "}" */
+                                d = off + SvGROW(sv, off
+                                                    + 3 * len
+                                                    + 6 /* For the "\N{U+", and
+                                                           trailing NUL */
+                                                    + (STRLEN)(send - e));
+                                Copy("\\N{U+", d, 5, char);
+                                d += 5;
+                                while (str < str_end) {
+                                    char hex_string[4];
+                                    my_snprintf(hex_string, sizeof(hex_string),
+                                                "%02X.", (U8) *str);
+                                    Copy(hex_string, d, 3, char);
+                                    d += 3;
+                                    str++;
+                                }
+                                d--;    /* We will overwrite below the final
+                                           dot with a right brace */
+                            }
+                            else {
+                                STRLEN char_length; /* cur char's byte length */
 
-			    /* Get the first character of the result. */
-			    U32 uv = utf8n_to_uvuni((U8 *) str,
-						    len,
-						    &char_length,
-						    UTF8_ALLOW_ANYUV);
+                                /* and the number of bytes after this is
+                                 * translated into hex digits */
+                                STRLEN output_length;
 
-			    /* The call to is_utf8_string() above hopefully
-			     * guarantees that there won't be an error.  But
-			     * it's easy here to make sure.  The function just
-			     * above warns and returns 0 if invalid utf8, but
-			     * it can also return 0 if the input is validly a
-			     * NUL. Disambiguate */
-			    if (uv == 0 && NATIVE_TO_ASCII(*str) != '\0') {
-				uv = UNICODE_REPLACEMENT;
-			    }
+                                /* 2 hex per byte; 2 chars for '\N'; 2 chars
+                                 * for max('U+', '.'); and 1 for NUL */
+                                char hex_string[2 * UTF8_MAXBYTES + 5];
 
-			    /* Convert first code point to hex, including the
-			     * boiler plate before it.  For all these, we
-			     * convert to native format so that downstream code
-			     * can continue to assume the input is native */
-			    output_length =
-				my_snprintf(hex_string, sizeof(hex_string),
-					    "\\N{U+%X",
-					    (unsigned int) UNI_TO_NATIVE(uv));
+                                /* Get the first character of the result. */
+                                U32 uv = utf8n_to_uvuni((U8 *) str,
+                                                        len,
+                                                        &char_length,
+                                                        UTF8_ALLOW_ANYUV);
+                                /* Convert first code point to hex, including
+                                 * the boiler plate before it.  For all these,
+                                 * we convert to native format so that
+                                 * downstream code can continue to assume the
+                                 * input is native */
+                                output_length =
+                                    my_snprintf(hex_string, sizeof(hex_string),
+                                            "\\N{U+%X",
+                                            (unsigned int) UNI_TO_NATIVE(uv));
 
-			    /* Make sure there is enough space to hold it */
-			    d = off + SvGROW(sv, off
-						 + output_length
-						 + (STRLEN)(send - e)
-						 + 2);	/* '}' + NUL */
-			    /* And output it */
-			    Copy(hex_string, d, output_length, char);
-			    d += output_length;
+                                /* Make sure there is enough space to hold it */
+                                d = off + SvGROW(sv, off
+                                                    + output_length
+                                                    + (STRLEN)(send - e)
+                                                    + 2);	/* '}' + NUL */
+                                /* And output it */
+                                Copy(hex_string, d, output_length, char);
+                                d += output_length;
 
-			    /* For each subsequent character, append dot and
-			     * its ordinal in hex */
-			    while ((str += char_length) < str_end) {
-				const STRLEN off = d - SvPVX_const(sv);
-				U32 uv = utf8n_to_uvuni((U8 *) str,
-							str_end - str,
-							&char_length,
-							UTF8_ALLOW_ANYUV);
-				if (uv == 0 && NATIVE_TO_ASCII(*str) != '\0') {
-				    uv = UNICODE_REPLACEMENT;
-				}
+                                /* For each subsequent character, append dot and
+                                * its ordinal in hex */
+                                while ((str += char_length) < str_end) {
+                                    const STRLEN off = d - SvPVX_const(sv);
+                                    U32 uv = utf8n_to_uvuni((U8 *) str,
+                                                            str_end - str,
+                                                            &char_length,
+                                                            UTF8_ALLOW_ANYUV);
+                                    output_length =
+                                        my_snprintf(hex_string,
+                                            sizeof(hex_string),
+                                            ".%X",
+                                            (unsigned int) UNI_TO_NATIVE(uv));
 
-				output_length =
-				    my_snprintf(hex_string, sizeof(hex_string),
-					    ".%X",
-					    (unsigned int) UNI_TO_NATIVE(uv));
-
-				d = off + SvGROW(sv, off
-						     + output_length
-						     + (STRLEN)(send - e)
-						     + 2);	/* '}' +  NUL */
-				Copy(hex_string, d, output_length, char);
-				d += output_length;
+                                    d = off + SvGROW(sv, off
+                                                        + output_length
+                                                        + (STRLEN)(send - e)
+                                                        + 2);	/* '}' +  NUL */
+                                    Copy(hex_string, d, output_length, char);
+                                    d += output_length;
+                                }
 			    }
 
 			    *d++ = '}';	/* Done.  Add the trailing brace */
@@ -3328,68 +3639,9 @@
 			Copy(str, d, len, char);
 			d += len;
 		    }
+
 		    SvREFCNT_dec(res);
 
-		    /* Deprecate non-approved name syntax */
-		    if (ckWARN_d(WARN_DEPRECATED)) {
-			bool problematic = FALSE;
-			char* i = s;
-
-			/* For non-ut8 input, look to see that the first
-			 * character is an alpha, then loop through the rest
-			 * checking that each is a continuation */
-			if (! this_utf8) {
-			    if (! isALPHAU(*i)) problematic = TRUE;
-			    else for (i = s + 1; i < e; i++) {
-				if (isCHARNAME_CONT(*i)) continue;
-				problematic = TRUE;
-				break;
-			    }
-			}
-			else {
-			    /* Similarly for utf8.  For invariants can check
-			     * directly.  We accept anything above the latin1
-			     * range because it is immaterial to Perl if it is
-			     * correct or not, and is expensive to check.  But
-			     * it is fairly easy in the latin1 range to convert
-			     * the variants into a single character and check
-			     * those */
-			    if (UTF8_IS_INVARIANT(*i)) {
-				if (! isALPHAU(*i)) problematic = TRUE;
-			    } else if (UTF8_IS_DOWNGRADEABLE_START(*i)) {
-				if (! isALPHAU(UNI_TO_NATIVE(TWO_BYTE_UTF8_TO_UNI(*i,
-									    *(i+1)))))
-				{
-				    problematic = TRUE;
-				}
-			    }
-			    if (! problematic) for (i = s + UTF8SKIP(s);
-						    i < e;
-						    i+= UTF8SKIP(i))
-			    {
-				if (UTF8_IS_INVARIANT(*i)) {
-				    if (isCHARNAME_CONT(*i)) continue;
-				} else if (! UTF8_IS_DOWNGRADEABLE_START(*i)) {
-				    continue;
-				} else if (isCHARNAME_CONT(
-					    UNI_TO_NATIVE(
-					    TWO_BYTE_UTF8_TO_UNI(*i, *(i+1)))))
-				{
-				    continue;
-				}
-				problematic = TRUE;
-				break;
-			    }
-			}
-			if (problematic) {
-			    /* The e-i passed to the final %.*s makes sure that
-			     * should the trailing NUL be missing that this
-			     * print won't run off the end of the string */
-			    Perl_warner(aTHX_ packWARN(WARN_DEPRECATED),
-					"Deprecated character in \\N{...}; marked by <-- HERE  in \\N{%.*s<-- HERE %.*s",
-					(int)(i - s + 1), s, (int)(e - i), i + 1);
-			}
-		    }
 		} /* End \N{NAME} */
 #ifdef EBCDIC
 		if (!dorange) 
@@ -3491,7 +3743,8 @@
     *d = '\0';
     SvCUR_set(sv, d - SvPVX_const(sv));
     if (SvCUR(sv) >= SvLEN(sv))
-	Perl_croak(aTHX_ "panic: constant overflowed allocated space");
+	Perl_croak(aTHX_ "panic: constant overflowed allocated space, %"UVuf
+		   " >= %"UVuf, (UV)SvCUR(sv), (UV)SvLEN(sv));
 
     SvPOK_on(sv);
     if (PL_encoding && !has_utf8) {
@@ -3514,7 +3767,10 @@
 
     /* return the substring (via pl_yylval) only if we parsed anything */
     if (s > PL_bufptr) {
-	if ( PL_hints & ( PL_lex_inpat ? HINT_NEW_RE : HINT_NEW_STRING ) ) {
+	SvREFCNT_inc_simple_void_NN(sv);
+	if (   (PL_hints & ( PL_lex_inpat ? HINT_NEW_RE : HINT_NEW_STRING ))
+            && ! PL_parser->lex_re_reparsing)
+        {
 	    const char *const key = PL_lex_inpat ? "qr" : "q";
 	    const STRLEN keylen = PL_lex_inpat ? 2 : 1;
 	    const char *type;
@@ -3526,6 +3782,9 @@
 	    } else if (PL_lex_inwhat == OP_SUBST && !PL_lex_inpat) {
 		type = "s";
 		typelen = 1;
+	    } else if (PL_lex_inpat && SvIVX(PL_linestr) == '\'') {
+		type = "q";
+		typelen = 1;
 	    } else  {
 		type = "qq";
 		typelen = 2;
@@ -3535,8 +3794,8 @@
 				type, typelen);
 	}
 	pl_yylval.opval = (OP*)newSVOP(OP_CONST, 0, sv);
-    } else
-	SvREFCNT_dec(sv);
+    }
+    LEAVE_with_name("scan_const");
     return s;
 }
 
@@ -3562,7 +3821,7 @@
 /* This is the one truly awful dwimmer necessary to conflate C and sed. */
 
 STATIC int
-S_intuit_more(pTHX_ register char *s)
+S_intuit_more(pTHX_ char *s)
 {
     dVAR;
 
@@ -3579,7 +3838,7 @@
 
     /* In a pattern, so maybe we have {n,m}. */
     if (*s == '{') {
-	if (regcurly(s)) {
+	if (regcurly(s, FALSE)) {
 	    return FALSE;
 	}
 	return TRUE;
@@ -3592,16 +3851,16 @@
 	return FALSE;
     else {
         /* this is terrifying, and it works */
-	int weight = 2;		/* let's weigh the evidence */
+	int weight;
 	char seen[256];
-	unsigned char un_char = 255, last_un_char;
 	const char * const send = strchr(s,']');
+	unsigned char un_char, last_un_char;
 	char tmpbuf[sizeof PL_tokenbuf * 4];
 
 	if (!send)		/* has to be an expression */
 	    return TRUE;
+	weight = 2;		/* let's weigh the evidence */
 
-	Zero(seen,256,char);
 	if (*s == '$')
 	    weight -= 3;
 	else if (isDIGIT(*s)) {
@@ -3612,6 +3871,8 @@
 	    else
 		weight -= 100;
 	}
+	Zero(seen,256,char);
+	un_char = 255;
 	for (; s < send; s++) {
 	    last_un_char = un_char;
 	    un_char = (unsigned char)*s;
@@ -3620,11 +3881,12 @@
 	    case '&':
 	    case '$':
 		weight -= seen[un_char] * 10;
-		if (isALNUM_lazy_if(s+1,UTF)) {
+		if (isWORDCHAR_lazy_if(s+1,UTF)) {
 		    int len;
 		    scan_ident(s, send, tmpbuf, sizeof tmpbuf, FALSE);
 		    len = (int)strlen(tmpbuf);
-		    if (len > 1 && gv_fetchpvn_flags(tmpbuf, len, 0, SVt_PV))
+		    if (len > 1 && gv_fetchpvn_flags(tmpbuf, len,
+                                                    UTF ? SVf_UTF8 : 0, SVt_PV))
 			weight -= 100;
 		    else
 			weight -= 10;
@@ -3666,7 +3928,7 @@
 		    weight -= 5;	/* cope with negative subscript */
 		break;
 	    default:
-		if (!isALNUM(last_un_char)
+		if (!isWORDCHAR(last_un_char)
 		    && !(last_un_char == '$' || last_un_char == '@'
 			 || last_un_char == '&')
 		    && isALPHA(*s) && s[1] && isALPHA(s[1])) {
@@ -3701,7 +3963,7 @@
  *
  * First argument is the stuff after the first token, e.g. "bar".
  *
- * Not a method if bar is a filehandle.
+ * Not a method if foo is a filehandle.
  * Not a method if foo is a subroutine prototyped to take a filehandle.
  * Not a method if it's really "Foo $bar"
  * Method if it's "foo $bar"
@@ -3726,12 +3988,10 @@
 
     PERL_ARGS_ASSERT_INTUIT_METHOD;
 
-    if (gv) {
-	if (SvTYPE(gv) == SVt_PVGV && GvIO(gv))
+    if (gv && SvTYPE(gv) == SVt_PVGV && GvIO(gv))
 	    return 0;
-	if (cv) {
-	    if (SvPOK(cv)) {
-		const char *proto = SvPVX_const(cv);
+    if (cv && SvPOK(cv)) {
+		const char *proto = CvPROTO(cv);
 		if (proto) {
 		    if (*proto == ';')
 			proto++;
@@ -3738,9 +3998,6 @@
 		    if (*proto == '*')
 			return 0;
 		}
-	    }
-	} else
-	    gv = NULL;
     }
     s = scan_word(s, tmpbuf, sizeof tmpbuf, TRUE, &len);
     /* start is the beginning of the possible filehandle/object,
@@ -3749,7 +4006,7 @@
      */
 
     if (*start == '$') {
-	if (gv || PL_last_lop_op == OP_PRINT || PL_last_lop_op == OP_SAY ||
+	if (cv || PL_last_lop_op == OP_PRINT || PL_last_lop_op == OP_SAY ||
 		isUPPER(*PL_tokenbuf))
 	    return 0;
 #ifdef PERL_MAD
@@ -3772,11 +4029,11 @@
 #endif
 	    goto bare_package;
 	}
-	indirgv = gv_fetchpvn_flags(tmpbuf, len, 0, SVt_PVCV);
+	indirgv = gv_fetchpvn_flags(tmpbuf, len, ( UTF ? SVf_UTF8 : 0 ), SVt_PVCV);
 	if (indirgv && GvCVu(indirgv))
 	    return 0;
 	/* filehandle or package name makes it a method */
-	if (!gv || GvIO(indirgv) || gv_stashpvn(tmpbuf, len, 0)) {
+	if (!cv || GvIO(indirgv) || gv_stashpvn(tmpbuf, len, UTF ? SVf_UTF8 : 0)) {
 #ifdef PERL_MAD
 	    soff = s - SvPVX(PL_linestr);
 #endif
@@ -3789,7 +4046,8 @@
 						  S_newSV_maybe_utf8(aTHX_ tmpbuf, len));
 	    NEXTVAL_NEXTTOKE.opval->op_private = OPpCONST_BARE;
 	    if (PL_madskills)
-		curmad('X', newSVpvn(start,SvPVX(PL_linestr) + soff - start));
+		curmad('X', newSVpvn_flags(start,SvPVX(PL_linestr) + soff - start,
+                                                            ( UTF ? SVf_UTF8 : 0 )));
 	    PL_expect = XTERM;
 	    force_next(WORD);
 	    PL_bufptr = s;
@@ -3829,6 +4087,9 @@
     if (!PL_parser)
 	return NULL;
 
+    if (PL_parser->lex_flags & LEX_IGNORE_UTF8_HINTS)
+	Perl_croak(aTHX_ "Source filters apply only to byte streams");
+
     if (!PL_rsfp_filters)
 	PL_rsfp_filters = newAV();
     if (!datasv)
@@ -3841,6 +4102,45 @@
 			  SvPV_nolen(datasv)));
     av_unshift(PL_rsfp_filters, 1);
     av_store(PL_rsfp_filters, 0, datasv) ;
+    if (
+	!PL_parser->filtered
+     && PL_parser->lex_flags & LEX_EVALBYTES
+     && PL_bufptr < PL_bufend
+    ) {
+	const char *s = PL_bufptr;
+	while (s < PL_bufend) {
+	    if (*s == '\n') {
+		SV *linestr = PL_parser->linestr;
+		char *buf = SvPVX(linestr);
+		STRLEN const bufptr_pos = PL_parser->bufptr - buf;
+		STRLEN const oldbufptr_pos = PL_parser->oldbufptr - buf;
+		STRLEN const oldoldbufptr_pos=PL_parser->oldoldbufptr-buf;
+		STRLEN const linestart_pos = PL_parser->linestart - buf;
+		STRLEN const last_uni_pos =
+		    PL_parser->last_uni ? PL_parser->last_uni - buf : 0;
+		STRLEN const last_lop_pos =
+		    PL_parser->last_lop ? PL_parser->last_lop - buf : 0;
+		av_push(PL_rsfp_filters, linestr);
+		PL_parser->linestr = 
+		    newSVpvn(SvPVX(linestr), ++s-SvPVX(linestr));
+		buf = SvPVX(PL_parser->linestr);
+		PL_parser->bufend = buf + SvCUR(PL_parser->linestr);
+		PL_parser->bufptr = buf + bufptr_pos;
+		PL_parser->oldbufptr = buf + oldbufptr_pos;
+		PL_parser->oldoldbufptr = buf + oldoldbufptr_pos;
+		PL_parser->linestart = buf + linestart_pos;
+		if (PL_parser->last_uni)
+		    PL_parser->last_uni = buf + last_uni_pos;
+		if (PL_parser->last_lop)
+		    PL_parser->last_lop = buf + last_lop_pos;
+		SvLEN(linestr) = SvCUR(linestr);
+		SvCUR(linestr) = s-SvPVX(linestr);
+		PL_parser->filtered = 1;
+		break;
+	    }
+	    s++;
+	}
+    }
     return(datasv);
 }
 
@@ -3883,7 +4183,7 @@
     /* This API is bad. It should have been using unsigned int for maxlen.
        Not sure if we want to change the API, but if not we should sanity
        check the value here.  */
-    const unsigned int correct_length
+    unsigned int correct_length
 	= maxlen < 0 ?
 #ifdef PERL_MICRO
 	0x7FFFFFFF
@@ -3935,6 +4235,31 @@
 			      idx));
 	return FILTER_READ(idx+1, buf_sv, correct_length); /* recurse */
     }
+    if (SvTYPE(datasv) != SVt_PVIO) {
+	if (correct_length) {
+ 	    /* Want a block */
+	    const STRLEN remainder = SvLEN(datasv) - SvCUR(datasv);
+	    if (!remainder) return 0; /* eof */
+	    if (correct_length > remainder) correct_length = remainder;
+	    sv_catpvn(buf_sv, SvEND(datasv), correct_length);
+	    SvCUR_set(datasv, SvCUR(datasv) + correct_length);
+	} else {
+	    /* Want a line */
+	    const char *s = SvEND(datasv);
+	    const char *send = SvPVX(datasv) + SvLEN(datasv);
+	    while (s < send) {
+		if (*s == '\n') {
+		    s++;
+		    break;
+		}
+		s++;
+	    }
+	    if (s == send) return 0; /* eof */
+	    sv_catpvn(buf_sv, SvEND(datasv), s-SvEND(datasv));
+	    SvCUR_set(datasv, s-SvPVX(datasv));
+	}
+	return SvCUR(buf_sv);
+    }
     /* Get function pointer hidden within datasv	*/
     funcp = DPTR2FPTR(filter_t, IoANY(datasv));
     DEBUG_P(PerlIO_printf(Perl_debug_log,
@@ -3947,7 +4272,7 @@
 }
 
 STATIC char *
-S_filter_gets(pTHX_ register SV *sv, STRLEN append)
+S_filter_gets(pTHX_ SV *sv, STRLEN append)
 {
     dVAR;
 
@@ -3983,13 +4308,13 @@
 
     if (len > 2 &&
         (pkgname[len - 2] == ':' && pkgname[len - 1] == ':') &&
-        (gv = gv_fetchpvn_flags(pkgname, len, 0, SVt_PVHV)))
+        (gv = gv_fetchpvn_flags(pkgname, len, ( UTF ? SVf_UTF8 : 0 ), SVt_PVHV)))
     {
         return GvHV(gv);			/* Foo:: */
     }
 
     /* use constant CLASS => 'MyClass' */
-    gv = gv_fetchpvn_flags(pkgname, len, 0, SVt_PVCV);
+    gv = gv_fetchpvn_flags(pkgname, len, UTF ? SVf_UTF8 : 0, SVt_PVCV);
     if (gv && GvCV(gv)) {
 	SV * const sv = cv_const_sv(GvCV(gv));
 	if (sv)
@@ -3996,7 +4321,7 @@
             pkgname = SvPV_const(sv, len);
     }
 
-    return gv_stashpvn(pkgname, len, 0);
+    return gv_stashpvn(pkgname, len, UTF ? SVf_UTF8 : 0);
 }
 
 /*
@@ -4042,10 +4367,6 @@
     PL_thiswhite = 0;
     PL_thismad = 0;
 
-    /* just do what yylex would do on pending identifier; leave PL_thiswhite alone */
-    if (PL_lex_state != LEX_KNOWNEXT && PL_pending_ident)
-        return S_pending_ident(aTHX);
-
     /* previous token ate up our whitespace? */
     if (!PL_lasttoke && PL_nextwhite) {
 	PL_thiswhite = PL_nextwhite;
@@ -4087,7 +4408,7 @@
 	}
 
 	/* put off final whitespace till peg */
-	if (optype == ';' && !PL_rsfp) {
+	if (optype == ';' && !PL_rsfp && !PL_parser->filtered) {
 	    PL_nextwhite = PL_thiswhite;
 	    PL_thiswhite = 0;
 	}
@@ -4146,6 +4467,10 @@
 	}
 	break;
 
+    /* pval */
+    case LABEL:
+	break;
+
     case ']':
     case '}':
 	if (PL_faketokens)
@@ -4192,10 +4517,6 @@
 	}
 	break;
 
-    /* pval */
-    case LABEL:
-	break;
-
     /* ival */
     default:
 	break;
@@ -4218,6 +4539,7 @@
     if (PL_expect != XSTATE)
 	yyerror(Perl_form(aTHX_ "\"%s\" not allowed in expression",
 		    is_use ? "use" : "no"));
+    PL_expect = XTERM;
     s = SKIPSPACE1(s);
     if (isDIGIT(*s) || (*s == 'v' && isDIGIT(s[1]))) {
 	s = force_version(s, TRUE);
@@ -4264,21 +4586,40 @@
   stitching them into a tree.
 
   Returns:
-    PRIVATEREF
+    The type of the next token
 
   Structure:
-      if read an identifier
-          if we're in a my declaration
-	      croak if they tried to say my($foo::bar)
-	      build the ops for a my() declaration
-	  if it's an access to a my() variable
-	      are we in a sort block?
-	          croak if my($a); $a <=> $b
-	      build ops for access to a my() variable
-	  if in a dq string, and they've said @foo and we can't find @foo
-	      croak
-	  build ops for a bareword
-      if we already built the token before, use it.
+      Switch based on the current state:
+	  - if we already built the token before, use it
+	  - if we have a case modifier in a string, deal with that
+	  - handle other cases of interpolation inside a string
+	  - scan the next line if we are inside a format
+      In the normal state switch on the next character:
+	  - default:
+	    if alphabetic, go to key lookup
+	    unrecoginized character - croak
+	  - 0/4/26: handle end-of-line or EOF
+	  - cases for whitespace
+	  - \n and #: handle comments and line numbers
+	  - various operators, brackets and sigils
+	  - numbers
+	  - quotes
+	  - 'v': vstrings (or go to key lookup)
+	  - 'x' repetition operator (or go to key lookup)
+	  - other ASCII alphanumerics (key lookup begins here):
+	      word before => ?
+	      keyword plugin
+	      scan built-in keyword (but do nothing with it yet)
+	      check for statement label
+	      check for lexical subs
+		  goto just_a_word if there is one
+	      see whether built-in keyword is overridden
+	      switch on keyword number:
+		  - default: just_a_word:
+		      not a built-in keyword; handle bareword lookup
+		      disambiguate between method and sub call
+		      fall back to bareword
+		  - cases for built-in keywords
 */
 
 
@@ -4289,10 +4630,11 @@
 Perl_yylex(pTHX)
 {
     dVAR;
-    register char *s = PL_bufptr;
-    register char *d;
+    char *s = PL_bufptr;
+    char *d;
     STRLEN len;
     bool bof = FALSE;
+    U8 formbrack = 0;
     U32 fake_eof = 0;
 
     /* orig_keyword, gvp, and gv are initialized here because
@@ -4311,12 +4653,7 @@
 	    pv_display(tmp, s, strlen(s), 0, 60));
 	SvREFCNT_dec(tmp);
     } );
-    /* check if there's an identifier for us to look at */
-    if (PL_lex_state != LEX_KNOWNEXT && PL_pending_ident)
-        return REPORT(S_pending_ident(aTHX));
 
-    /* no identifier pending identification */
-
     switch (PL_lex_state) {
 #ifdef COMMENTARY
     case LEX_NORMAL:		/* Some compilers will produce faster */
@@ -4375,12 +4712,7 @@
 		    PL_lex_allbrackets--;
 		next_type &= 0xffff;
 	    }
-#ifdef PERL_MAD
-	    /* FIXME - can these be merged?  */
-	    return next_type;
-#else
-	    return REPORT(next_type);
-#endif
+	    return REPORT(next_type == 'p' ? pending_ident() : next_type);
 	}
 
     /* interpolated case modifiers like \L \U, including \Q and \E.
@@ -4389,7 +4721,9 @@
     case LEX_INTERPCASEMOD:
 #ifdef DEBUGGING
 	if (PL_bufptr != PL_bufend && *PL_bufptr != '\\')
-	    Perl_croak(aTHX_ "panic: INTERPCASEMOD");
+	    Perl_croak(aTHX_
+		       "panic: INTERPCASEMOD bufptr=%p, bufend=%p, *bufptr=%u",
+		       PL_bufptr, PL_bufend, *PL_bufptr);
 #endif
 	/* handle \E or end of string */
        	if (PL_bufptr == PL_bufend || PL_bufptr[1] == 'E') {
@@ -4399,7 +4733,8 @@
 		PL_lex_casestack[PL_lex_casemods] = '\0';
 
 		if (PL_bufptr != PL_bufend
-		    && (oldmod == 'L' || oldmod == 'U' || oldmod == 'Q')) {
+		    && (oldmod == 'L' || oldmod == 'U' || oldmod == 'Q'
+                        || oldmod == 'F')) {
 		    PL_bufptr += 2;
 		    PL_lex_state = LEX_INTERPCONCAT;
 #ifdef PERL_MAD
@@ -4410,12 +4745,19 @@
 		PL_lex_allbrackets--;
 		return REPORT(')');
 	    }
+            else if ( PL_bufptr != PL_bufend && PL_bufptr[1] == 'E' ) {
+               /* Got an unpaired \E */
+               Perl_ck_warner(aTHX_ packWARN(WARN_MISC),
+                        "Useless use of \\E");
+            }
 #ifdef PERL_MAD
 	    while (PL_bufptr != PL_bufend &&
 	      PL_bufptr[0] == '\\' && PL_bufptr[1] == 'E') {
-		if (!PL_thiswhite)
+		if (PL_madskills) {
+		  if (!PL_thiswhite)
 		    PL_thiswhite = newSVpvs("");
-		sv_catpvn(PL_thiswhite, PL_bufptr, 2);
+		  sv_catpvn(PL_thiswhite, PL_bufptr, 2);
+		}
 		PL_bufptr += 2;
 	    }
 #else
@@ -4431,9 +4773,11 @@
 	    s = PL_bufptr + 1;
 	    if (s[1] == '\\' && s[2] == 'E') {
 #ifdef PERL_MAD
-		if (!PL_thiswhite)
+		if (PL_madskills) {
+		  if (!PL_thiswhite)
 		    PL_thiswhite = newSVpvs("");
-		sv_catpvn(PL_thiswhite, PL_bufptr, 4);
+		  sv_catpvn(PL_thiswhite, PL_bufptr, 4);
+		}
 #endif
 	        PL_bufptr = s + 3;
 		PL_lex_state = LEX_INTERPCONCAT;
@@ -4444,8 +4788,10 @@
 		if (!PL_madskills) /* when just compiling don't need correct */
 		    if (strnEQ(s, "L\\u", 3) || strnEQ(s, "U\\l", 3))
 			tmp = *s, *s = s[2], s[2] = (char)tmp;	/* misordered... */
-		if ((*s == 'L' || *s == 'U') &&
-		    (strchr(PL_lex_casestack, 'L') || strchr(PL_lex_casestack, 'U'))) {
+		if ((*s == 'L' || *s == 'U' || *s == 'F') &&
+		    (strchr(PL_lex_casestack, 'L')
+                        || strchr(PL_lex_casestack, 'U')
+                        || strchr(PL_lex_casestack, 'F'))) {
 		    PL_lex_casestack[--PL_lex_casemods] = '\0';
 		    PL_lex_allbrackets--;
 		    return REPORT(')');
@@ -4469,8 +4815,10 @@
 		    NEXTVAL_NEXTTOKE.ival = OP_UC;
 		else if (*s == 'Q')
 		    NEXTVAL_NEXTTOKE.ival = OP_QUOTEMETA;
+                else if (*s == 'F')
+		    NEXTVAL_NEXTTOKE.ival = OP_FC;
 		else
-		    Perl_croak(aTHX_ "panic: yylex");
+		    Perl_croak(aTHX_ "panic: yylex, *s=%u", *s);
 		if (PL_madskills) {
 		    SV* const tmpsv = newSVpvs("\\ ");
 		    /* replace the space with the character we want to escape
@@ -4507,10 +4855,13 @@
     case LEX_INTERPSTART:
 	if (PL_bufptr == PL_bufend)
 	    return REPORT(sublex_done());
-	DEBUG_T({ PerlIO_printf(Perl_debug_log,
+	DEBUG_T({ if(*PL_bufptr != '(') PerlIO_printf(Perl_debug_log,
               "### Interpolated variable\n"); });
 	PL_expect = XTERM;
-	PL_lex_dojoin = (*PL_bufptr == '@');
+        /* for /@a/, we leave the joining for the regex engine to do
+         * (unless we're within \Q etc) */
+	PL_lex_dojoin = (*PL_bufptr == '@'
+                            && (!PL_lex_inpat || PL_lex_casemods));
 	PL_lex_state = LEX_INTERPNORMAL;
 	if (PL_lex_dojoin) {
 	    start_force(PL_curforce);
@@ -4528,6 +4879,18 @@
 	    NEXTVAL_NEXTTOKE.ival = OP_JOIN;	/* emulate join($", ...) */
 	    force_next(FUNC);
 	}
+	/* Convert (?{...}) and friends to 'do {...}' */
+	if (PL_lex_inpat && *PL_bufptr == '(') {
+	    PL_parser->lex_shared->re_eval_start = PL_bufptr;
+	    PL_bufptr += 2;
+	    if (*PL_bufptr != '{')
+		PL_bufptr++;
+	    start_force(PL_curforce);
+	    /* XXX probably need a CURMAD(something) here */
+	    PL_expect = XTERMBLOCK;
+	    force_next(DO);
+	}
+
 	if (PL_lex_starts++) {
 	    s = PL_bufptr;
 #ifdef PERL_MAD
@@ -4573,21 +4936,52 @@
 		Perl_croak(aTHX_ "Bad evalled substitution pattern");
 	    PL_lex_repl = NULL;
 	}
+	/* Paranoia.  re_eval_start is adjusted when S_scan_heredoc sets
+	   re_eval_str.  If the here-doc body’s length equals the previous
+	   value of re_eval_start, re_eval_start will now be null.  So
+	   check re_eval_str as well. */
+	if (PL_parser->lex_shared->re_eval_start
+	 || PL_parser->lex_shared->re_eval_str) {
+	    SV *sv;
+	    if (*PL_bufptr != ')')
+		Perl_croak(aTHX_ "Sequence (?{...}) not terminated with ')'");
+	    PL_bufptr++;
+	    /* having compiled a (?{..}) expression, return the original
+	     * text too, as a const */
+	    if (PL_parser->lex_shared->re_eval_str) {
+		sv = PL_parser->lex_shared->re_eval_str;
+		PL_parser->lex_shared->re_eval_str = NULL;
+		SvCUR_set(sv,
+			 PL_bufptr - PL_parser->lex_shared->re_eval_start);
+		SvPV_shrink_to_cur(sv);
+	    }
+	    else sv = newSVpvn(PL_parser->lex_shared->re_eval_start,
+			 PL_bufptr - PL_parser->lex_shared->re_eval_start);
+	    start_force(PL_curforce);
+	    /* XXX probably need a CURMAD(something) here */
+	    NEXTVAL_NEXTTOKE.opval =
+		    (OP*)newSVOP(OP_CONST, 0,
+				 sv);
+	    force_next(THING);
+	    PL_parser->lex_shared->re_eval_start = NULL;
+	    PL_expect = XTERM;
+	    return REPORT(',');
+	}
+
 	/* FALLTHROUGH */
     case LEX_INTERPCONCAT:
 #ifdef DEBUGGING
 	if (PL_lex_brackets)
-	    Perl_croak(aTHX_ "panic: INTERPCONCAT");
+	    Perl_croak(aTHX_ "panic: INTERPCONCAT, lex_brackets=%ld",
+		       (long) PL_lex_brackets);
 #endif
 	if (PL_bufptr == PL_bufend)
 	    return REPORT(sublex_done());
 
-	if (SvIVX(PL_linestr) == '\'') {
+	/* m'foo' still needs to be parsed for possible (?{...}) */
+	if (SvIVX(PL_linestr) == '\'' && !PL_lex_inpat) {
 	    SV *sv = newSVsv(PL_linestr);
-	    if (!PL_lex_inpat)
-		sv = tokeq(sv);
-	    else if ( PL_hints & HINT_NEW_RE )
-		sv = new_constant(NULL, 0, "qr", sv, sv, "q", 1);
+	    sv = tokeq(sv);
 	    pl_yylval.opval = (OP*)newSVOP(OP_CONST, 0, sv);
 	    s = PL_bufend;
 	}
@@ -4629,11 +5023,14 @@
 
 	return yylex();
     case LEX_FORMLINE:
-	PL_lex_state = LEX_NORMAL;
 	s = scan_formline(PL_bufptr);
 	if (!PL_lex_formbrack)
+	{
+	    formbrack = 1;
 	    goto rightbracket;
-	OPERATOR(';');
+	}
+	PL_bufptr = s;
+	return yylex();
     }
 
     s = PL_bufptr;
@@ -4650,10 +5047,15 @@
 #endif
     switch (*s) {
     default:
-	if (isIDFIRST_lazy_if(s,UTF))
+	if (UTF ? isIDFIRST_utf8((U8*)s) : isALNUMC(*s))
 	    goto keylookup;
 	{
-        unsigned char c = *s;
+        SV *dsv = newSVpvs_flags("", SVs_TEMP);
+        const char *c = UTF ? savepv(sv_uni_display(dsv, newSVpvn_flags(s,
+                                                    UTF8SKIP(s),
+                                                    SVs_TEMP | SVf_UTF8),
+                                            10, UNI_DISPLAY_ISPRINT))
+                            : Perl_form(aTHX_ "\\x%02X", (unsigned char)*s);
         len = UTF ? Perl_utf8_length(aTHX_ (U8 *) PL_linestart, (U8 *) s) : (STRLEN) (s - PL_linestart);
         if (len > UNRECOGNIZED_PRECEDE_COUNT) {
             d = UTF ? (char *) Perl_utf8_hop(aTHX_ (U8 *) s, -UNRECOGNIZED_PRECEDE_COUNT) : s - UNRECOGNIZED_PRECEDE_COUNT;
@@ -4661,7 +5063,10 @@
             d = PL_linestart;
         }	
         *s = '\0';
-        Perl_croak(aTHX_ "Unrecognized character \\x%02X; marked by <-- HERE after %s<-- HERE near column %d", c, d, (int) len + 1);
+        sv_setpv(dsv, d);
+        if (UTF)
+            SvUTF8_on(dsv);
+        Perl_croak(aTHX_  "Unrecognized character %s; marked by <-- HERE after %"SVf"<-- HERE near column %d", c, SVfARG(dsv), (int) len + 1);
     }
     case 4:
     case 26:
@@ -4671,7 +5076,7 @@
 	if (PL_madskills)
 	    PL_faketokens = 0;
 #endif
-	if (!PL_rsfp) {
+	if (!PL_rsfp && (!PL_parser->filtered || s+1 < PL_bufend)) {
 	    PL_last_uni = 0;
 	    PL_last_lop = 0;
 	    if (PL_lex_brackets &&
@@ -4773,7 +5178,7 @@
 		fake_eof = LEX_FAKE_EOF;
 	    }
 	    PL_bufptr = PL_bufend;
-	    CopLINE_inc(PL_curcop);
+	    COPLINE_INC_WITH_HERELINES;
 	    if (!lex_next_chunk(fake_eof)) {
 		CopLINE_dec(PL_curcop);
 		s = PL_bufptr;
@@ -4792,12 +5197,12 @@
 		      *(U8*)s == 0xEF ||
 		      *(U8*)s >= 0xFE ||
 		      s[1] == 0)) {
-		IV offset = (IV)PerlIO_tell(PL_rsfp);
-		bof = (offset == SvCUR(PL_linestr));
+		Off_t offset = (IV)PerlIO_tell(PL_rsfp);
+		bof = (offset == (Off_t)SvCUR(PL_linestr));
 #if defined(PERLIO_USING_CRLF) && defined(PERL_TEXTMODE_SCRIPTS)
 		/* offset may include swallowed CR */
 		if (!bof)
-		    bof = (offset == SvCUR(PL_linestr)+1);
+		    bof = (offset == (Off_t)SvCUR(PL_linestr)+1);
 #endif
 		if (bof) {
 		    PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
@@ -4818,7 +5223,7 @@
 		    PL_parser->in_pod = 0;
 		}
 	    }
-	    if (PL_rsfp)
+	    if (PL_rsfp || PL_parser->filtered)
 		incline(s);
 	} while (PL_parser->in_pod);
 	PL_oldoldbufptr = PL_oldbufptr = PL_bufptr = PL_linestart = s;
@@ -5017,9 +5422,11 @@
 	    }
 	}
 	if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
-	    PL_bufptr = s;
 	    PL_lex_state = LEX_FORMLINE;
-	    return yylex();
+	    start_force(PL_curforce);
+	    NEXTVAL_NEXTTOKE.ival = 0;
+	    force_next(FORMRBRACK);
+	    TOKEN(';');
 	}
 	goto retry;
     case '\r':
@@ -5031,9 +5438,11 @@
     case ' ': case '\t': case '\f': case 013:
 #ifdef PERL_MAD
 	PL_realtokenstart = -1;
-	if (!PL_thiswhite)
+	if (PL_madskills) {
+	  if (!PL_thiswhite)
 	    PL_thiswhite = newSVpvs("");
-	sv_catpvn(PL_thiswhite, s, 1);
+	  sv_catpvn(PL_thiswhite, s, 1);
+	}
 #endif
 	s++;
 	goto retry;
@@ -5044,8 +5453,10 @@
 	if (PL_madskills)
 	    PL_faketokens = 0;
 #endif
-	if (PL_lex_state != LEX_NORMAL || (PL_in_eval && !PL_rsfp)) {
-	    if (*s == '#' && s == PL_linestart && PL_in_eval && !PL_rsfp) {
+	if (PL_lex_state != LEX_NORMAL ||
+	     (PL_in_eval && !PL_rsfp && !PL_parser->filtered)) {
+	    if (*s == '#' && s == PL_linestart && PL_in_eval
+	     && !PL_rsfp && !PL_parser->filtered) {
 		/* handle eval qq[#line 1 "foo"\n ...] */
 		CopLINE_dec(PL_curcop);
 		incline(s);
@@ -5052,10 +5463,11 @@
 	    }
 	    if (PL_madskills && !PL_lex_formbrack && !PL_in_eval) {
 		s = SKIPSPACE0(s);
-		if (!PL_in_eval || PL_rsfp)
+		if (!PL_in_eval || PL_rsfp || PL_parser->filtered)
 		    incline(s);
 	    }
 	    else {
+		const bool in_comment = *s == '#';
 		d = s;
 		while (d < PL_bufend && *d != '\n')
 		    d++;
@@ -5062,18 +5474,25 @@
 		if (d < PL_bufend)
 		    d++;
 		else if (d > PL_bufend) /* Found by Ilya: feed random input to Perl. */
-		  Perl_croak(aTHX_ "panic: input overflow");
+		    Perl_croak(aTHX_ "panic: input overflow, %p > %p",
+			       d, PL_bufend);
 #ifdef PERL_MAD
 		if (PL_madskills)
 		    PL_thiswhite = newSVpvn(s, d - s);
 #endif
 		s = d;
-		incline(s);
+		if (in_comment && d == PL_bufend
+		 && PL_lex_state == LEX_INTERPNORMAL
+		 && PL_lex_inwhat == OP_SUBST && PL_lex_repl == PL_linestr
+		 && SvEVALED(PL_lex_repl) && d[-1] == '}') s--;
+		else incline(s);
 	    }
 	    if (PL_lex_formbrack && PL_lex_brackets <= PL_lex_formbrack) {
-		PL_bufptr = s;
 		PL_lex_state = LEX_FORMLINE;
-		return yylex();
+		start_force(PL_curforce);
+		NEXTVAL_NEXTTOKE.ival = 0;
+		force_next(FORMRBRACK);
+		TOKEN(';');
 	    }
 	}
 	else {
@@ -5116,7 +5535,7 @@
 	}
 	goto retry;
     case '-':
-	if (s[1] && isALPHA(s[1]) && !isALNUM(s[2])) {
+	if (s[1] && isALPHA(s[1]) && !isWORDCHAR(s[2])) {
 	    I32 ftst = 0;
 	    char tmp;
 
@@ -5288,7 +5707,8 @@
 	if (!PL_tokenbuf[1]) {
 	    PREREF('%');
 	}
-	PL_pending_ident = '%';
+	PL_expect = XOPERATOR;
+	force_ident_maybe_lex('%');
 	TERM('%');
 
     case '^':
@@ -5313,6 +5733,9 @@
 	    if (!PL_lex_allbrackets && PL_lex_fakeeof >= LEX_FAKEEOF_COMPARE)
 		TOKEN(0);
 	    s += 2;
+            Perl_ck_warner_d(aTHX_
+                packWARN(WARN_EXPERIMENTAL__SMARTMATCH),
+                "Smartmatch is experimental");
 	    Eop(OP_SMARTMATCH);
 	}
 	s++;
@@ -5373,9 +5796,9 @@
 			break;
 		    }
 		}
-		sv = newSVpvn(s, len);
+		sv = newSVpvn_flags(s, len, UTF ? SVf_UTF8 : 0);
 		if (*d == '(') {
-		    d = scan_str(d,TRUE,TRUE);
+		    d = scan_str(d,TRUE,TRUE,FALSE, FALSE);
 		    if (!d) {
 			/* MUST advance bufptr here to avoid bogus
 			   "at end of line" context messages from yyerror().
@@ -5531,21 +5954,14 @@
 	}
 	TERM(']');
     case '{':
+	s++;
       leftbracket:
-	s++;
 	if (PL_lex_brackets > 100) {
 	    Renew(PL_lex_brackstack, PL_lex_brackets + 10, char);
 	}
 	switch (PL_expect) {
 	case XTERM:
-	    if (PL_lex_formbrack) {
-		s--;
-		PRETERMBLOCK(DO);
-	    }
-	    if (PL_oldoldbufptr == PL_last_lop)
-		PL_lex_brackstack[PL_lex_brackets++] = XTERM;
-	    else
-		PL_lex_brackstack[PL_lex_brackets++] = XOPERATOR;
+	    PL_lex_brackstack[PL_lex_brackets++] = XOPERATOR;
 	    PL_lex_allbrackets++;
 	    OPERATOR(HASHBRACK);
 	case XOPERATOR:
@@ -5627,9 +6043,9 @@
 		}
 		else if (*s == 'q') {
 		    if (++t < PL_bufend
-			&& (!isALNUM(*t)
+			&& (!isWORDCHAR(*t)
 			    || ((*t == 'q' || *t == 'x') && ++t < PL_bufend
-				&& !isALNUM(*t))))
+				&& !isWORDCHAR(*t))))
 		    {
 			/* skip q//-like construct */
 			const char *tmps;
@@ -5668,12 +6084,12 @@
 		    }
 		    else
 			/* skip plain q word */
-			while (t < PL_bufend && isALNUM_lazy_if(t,UTF))
+			while (t < PL_bufend && isWORDCHAR_lazy_if(t,UTF))
 			     t += UTF8SKIP(t);
 		}
-		else if (isALNUM_lazy_if(t,UTF)) {
+		else if (isWORDCHAR_lazy_if(t,UTF)) {
 		    t += UTF8SKIP(t);
-		    while (t < PL_bufend && isALNUM_lazy_if(t,UTF))
+		    while (t < PL_bufend && isWORDCHAR_lazy_if(t,UTF))
 			 t += UTF8SKIP(t);
 		}
 		while (t < PL_bufend && isSPACE(*t))
@@ -5695,7 +6111,7 @@
 	pl_yylval.ival = CopLINE(PL_curcop);
 	if (isSPACE(*s) || *s == '#')
 	    PL_copline = NOLINE;   /* invalidate current command line number */
-	TOKEN('{');
+	TOKEN(formbrack ? '=' : '{');
     case '}':
 	if (PL_lex_brackets && PL_lex_brackstack[PL_lex_brackets-1] == XFAKEEOF)
 	    TOKEN(0);
@@ -5706,8 +6122,6 @@
 	else
 	    PL_expect = (expectation)PL_lex_brackstack[--PL_lex_brackets];
 	PL_lex_allbrackets--;
-	if (PL_lex_brackets < PL_lex_formbrack && PL_lex_state != LEX_INTERPNORMAL)
-	    PL_lex_formbrack = 0;
 	if (PL_lex_state == LEX_INTERPNORMAL) {
 	    if (PL_lex_brackets == 0) {
 		if (PL_expect & XFAKEBRACK) {
@@ -5723,7 +6137,10 @@
 #endif
 		    return yylex();	/* ignore fake brackets */
 		}
-		if (*s == '-' && s[1] == '>')
+		if (PL_lex_inwhat == OP_SUBST && PL_lex_repl == PL_linestr
+		 && SvEVALED(PL_lex_repl))
+		    PL_lex_state = LEX_INTERPEND;
+		else if (*s == '-' && s[1] == '>')
 		    PL_lex_state = LEX_INTERPENDMAYBE;
 		else if (*s != '[' && *s != '{')
 		    PL_lex_state = LEX_INTERPEND;
@@ -5739,11 +6156,17 @@
 	    curmad('X', newSVpvn(s-1,1));
 	    CURMAD('_', PL_thiswhite);
 	}
-	force_next('}');
+	force_next(formbrack ? '.' : '}');
+	if (formbrack) LEAVE;
 #ifdef PERL_MAD
-	if (!PL_thistoken)
+	if (PL_madskills && !PL_thistoken)
 	    PL_thistoken = newSVpvs("");
 #endif
+	if (formbrack == 2) { /* means . where arguments were expected */
+	    start_force(PL_curforce);
+	    force_next(';');
+	    TOKEN(FORMRBRACK);
+	}
 	TOKEN(';');
     case '&':
 	s++;
@@ -5772,10 +6195,12 @@
 	    BAop(OP_BIT_AND);
 	}
 
-	s = scan_ident(s - 1, PL_bufend, PL_tokenbuf, sizeof PL_tokenbuf, TRUE);
-	if (*PL_tokenbuf) {
+	PL_tokenbuf[0] = '&';
+	s = scan_ident(s - 1, PL_bufend, PL_tokenbuf + 1,
+		       sizeof PL_tokenbuf - 1, TRUE);
+	if (PL_tokenbuf[1]) {
 	    PL_expect = XOPERATOR;
-	    force_ident(PL_tokenbuf, '&');
+	    force_ident_maybe_lex('&');
 	}
 	else
 	    PREREF('&');
@@ -5829,7 +6254,8 @@
 	    if (PL_expect == XSTATE && isALPHA(tmp) &&
 		(s == PL_linestart+1 || s[-2] == '\n') )
 		{
-		    if (PL_in_eval && !PL_rsfp) {
+		    if ((PL_in_eval && !PL_rsfp && !PL_parser->filtered)
+			|| PL_lex_state != LEX_NORMAL) {
 			d = PL_bufend;
 			while (s < d) {
 			    if (*s++ == '\n') {
@@ -5860,7 +6286,7 @@
 		    goto retry;
 		}
 	}
-	if (PL_lex_brackets < PL_lex_formbrack) {
+	if (PL_expect == XBLOCK) {
 	    const char *t = s;
 #ifdef PERL_STRICT_CR
 	    while (SPACE_OR_TAB(*t))
@@ -5869,8 +6295,12 @@
 #endif
 		t++;
 	    if (*t == '\n' || *t == '#') {
-		s--;
-		PL_expect = XBLOCK;
+		formbrack = 1;
+		ENTER;
+		SAVEI8(PL_parser->form_lex_state);
+		SAVEI32(PL_lex_formbrack);
+		PL_parser->form_lex_state = PL_lex_state;
+		PL_lex_formbrack = PL_lex_brackets + 1;
 		goto leftbracket;
 	    }
 	}
@@ -5896,8 +6326,8 @@
 
 		    if (*t == '/' || *t == '?' ||
 			((*t == 'm' || *t == 's' || *t == 'y')
-			 && !isALNUM(t[1])) ||
-			(*t == 't' && t[1] == 'r' && !isALNUM(t[2])))
+			 && !isWORDCHAR(t[1])) ||
+			(*t == 't' && t[1] == 'r' && !isWORDCHAR(t[2])))
 			Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
 				    "!=~ should be !~");
 		}
@@ -5921,7 +6351,8 @@
 		s = scan_heredoc(s);
 	    else
 		s = scan_inputsymbol(s);
-	    TERM(sublex_start());
+	    PL_expect = XOPERATOR;
+	    TOKEN(sublex_start());
 	}
 	s++;
 	{
@@ -6005,7 +6436,7 @@
 	    if (!PL_tokenbuf[1])
 		PREREF(DOLSHARP);
 	    PL_expect = XOPERATOR;
-	    PL_pending_ident = '#';
+	    force_ident_maybe_lex('#');
 	    TOKEN(DOLSHARP);
 	}
 
@@ -6020,14 +6451,6 @@
 	    PREREF('$');
 	}
 
-	/* This kludge not intended to be bulletproof. */
-	if (PL_tokenbuf[1] == '[' && !PL_tokenbuf[2]) {
-	    pl_yylval.opval = newSVOP(OP_CONST, 0,
-				   newSViv(CopARYBASE_get(&PL_compiling)));
-	    pl_yylval.opval->op_private = OPpCONST_ARYBASE;
-	    TERM(THING);
-	}
-
 	d = s;
 	{
 	    const char tmp = *s;
@@ -6041,7 +6464,7 @@
 		    if (ckWARN(WARN_SYNTAX)) {
 			char *t = s+1;
 
-			while (isSPACE(*t) || isALNUM_lazy_if(t,UTF) || *t == '$')
+			while (isSPACE(*t) || isWORDCHAR_lazy_if(t,UTF) || *t == '$')
 			    t++;
 			if (*t++ == ',') {
 			    PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can realloc */
@@ -6069,10 +6492,12 @@
 					      &len);
 				while (isSPACE(*t))
 				    t++;
-				if (*t == ';' && get_cvn_flags(tmpbuf, len, 0))
+				if (*t == ';'
+                                       && get_cvn_flags(tmpbuf, len, UTF ? SVf_UTF8 : 0))
 				    Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
-						"You need to quote \"%s\"",
-						tmpbuf);
+						"You need to quote \"%"SVf"\"",
+						  SVfARG(newSVpvn_flags(tmpbuf, len, 
+                                                    SVs_TEMP | (UTF ? SVf_UTF8 : 0))));
 			    }
 			}
 		}
@@ -6129,7 +6554,7 @@
 		    PL_expect = XTERM;		/* print $fh <<"EOF" */
 	    }
 	}
-	PL_pending_ident = '$';
+	force_ident_maybe_lex('$');
 	TOKEN('$');
 
     case '@':
@@ -6150,20 +6575,24 @@
 	    if (*s == '[' || *s == '{') {
 		if (ckWARN(WARN_SYNTAX)) {
 		    const char *t = s + 1;
-		    while (*t && (isALNUM_lazy_if(t,UTF) || strchr(" \t$#+-'\"", *t)))
-			t++;
+		    while (*t && (isWORDCHAR_lazy_if(t,UTF) || strchr(" \t$#+-'\"", *t)))
+			t += UTF ? UTF8SKIP(t) : 1;
 		    if (*t == '}' || *t == ']') {
 			t++;
 			PL_bufptr = PEEKSPACE(PL_bufptr); /* XXX can realloc */
+       /* diag_listed_as: Scalar value @%s[%s] better written as $%s[%s] */
 			Perl_warner(aTHX_ packWARN(WARN_SYNTAX),
-			    "Scalar value %.*s better written as $%.*s",
-			    (int)(t-PL_bufptr), PL_bufptr,
-			    (int)(t-PL_bufptr-1), PL_bufptr+1);
+			    "Scalar value %"SVf" better written as $%"SVf,
+			    SVfARG(newSVpvn_flags(PL_bufptr, (STRLEN)(t-PL_bufptr),
+                                                SVs_TEMP | (UTF ? SVf_UTF8 : 0 ))),
+                            SVfARG(newSVpvn_flags(PL_bufptr+1, (STRLEN)(t-PL_bufptr-1),
+                                                SVs_TEMP | (UTF ? SVf_UTF8 : 0 ))));
 		    }
 		}
 	    }
 	}
-	PL_pending_ident = '@';
+	PL_expect = XOPERATOR;
+	force_ident_maybe_lex('@');
 	TERM('@');
 
      case '/':			/* may be division, defined-or, or pattern */
@@ -6214,7 +6643,7 @@
 	     if (PL_oldoldbufptr == PL_last_uni
 	      && (*PL_last_uni != 's' || s - PL_last_uni < 5
 	          || memNE(PL_last_uni, "study", 5)
-	          || isALNUM_lazy_if(PL_last_uni+5,UTF)
+	          || isWORDCHAR_lazy_if(PL_last_uni+5,UTF)
 	      ))
 	         check_uni();
 	     if (*s == '?')
@@ -6232,8 +6661,8 @@
 #endif
 	    && (s == PL_linestart || s[-1] == '\n') )
 	{
-	    PL_lex_formbrack = 0;
 	    PL_expect = XSTATE;
+	    formbrack = 2; /* dot seen where arguments expected */
 	    goto rightbracket;
 	}
 	if (PL_expect == XSTATE && s[1] == '.' && s[2] == '.') {
@@ -6274,7 +6703,7 @@
 	TERM(THING);
 
     case '\'':
-	s = scan_str(s,!!PL_madskills,FALSE);
+	s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
 	DEBUG_T( { printbuf("### Saw string before %s\n", s); } );
 	if (PL_expect == XOPERATOR) {
 	    if (PL_lex_formbrack && PL_lex_brackets == PL_lex_formbrack) {
@@ -6289,7 +6718,7 @@
 	TERM(sublex_start());
 
     case '"':
-	s = scan_str(s,!!PL_madskills,FALSE);
+	s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
 	DEBUG_T( { printbuf("### Saw string before %s\n", s); } );
 	if (PL_expect == XOPERATOR) {
 	    if (PL_lex_formbrack && PL_lex_brackets == PL_lex_formbrack) {
@@ -6312,7 +6741,7 @@
 	TERM(sublex_start());
 
     case '`':
-	s = scan_str(s,!!PL_madskills,FALSE);
+	s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
 	DEBUG_T( { printbuf("### Saw backtick string before %s\n", s); } );
 	if (PL_expect == XOPERATOR)
 	    no_op("Backticks",s);
@@ -6339,11 +6768,20 @@
 		s = scan_num(s, &pl_yylval);
 		TERM(THING);
 	    }
+	    else if ((*start == ':' && start[1] == ':')
+		  || (PL_expect == XSTATE && *start == ':'))
+		goto keylookup;
+	    else if (PL_expect == XSTATE) {
+		d = start;
+		while (d < PL_bufend && isSPACE(*d)) d++;
+		if (*d == ':') goto keylookup;
+	    }
 	    /* avoid v123abc() or $h{v1}, allow C<print v10;> */
-	    else if (!isALPHA(*start) && (PL_expect == XTERM
+	    if (!isALPHA(*start) && (PL_expect == XTERM
 			|| PL_expect == XREF || PL_expect == XSTATE
 			|| PL_expect == XTERMORDORDOR)) {
-		GV *const gv = gv_fetchpvn_flags(s, start - s, 0, SVt_PVCV);
+		GV *const gv = gv_fetchpvn_flags(s, start - s,
+                                                    UTF ? SVf_UTF8 : 0, SVt_PVCV);
 		if (!gv) {
 		    s = scan_num(s, &pl_yylval);
 		    TERM(THING);
@@ -6388,11 +6826,21 @@
 
       keylookup: {
 	bool anydelim;
+	bool lex;
 	I32 tmp;
+	SV *sv;
+	CV *cv;
+	PADOFFSET off;
+	OP *rv2cv_op;
 
+	lex = FALSE;
 	orig_keyword = 0;
+	off = 0;
+	sv = NULL;
+	cv = NULL;
 	gv = NULL;
 	gvp = NULL;
+	rv2cv_op = NULL;
 
 	PL_bufptr = s;
 	s = scan_word(s, PL_tokenbuf, sizeof PL_tokenbuf, FALSE, &len);
@@ -6452,17 +6900,55 @@
 	if (!anydelim && PL_expect == XSTATE
 	      && d < PL_bufend && *d == ':' && *(d + 1) != ':') {
 	    s = d + 1;
-	    pl_yylval.pval = CopLABEL_alloc(PL_tokenbuf);
+	    pl_yylval.pval = savepvn(PL_tokenbuf, len+1);
+	    pl_yylval.pval[len] = '\0';
+	    pl_yylval.pval[len+1] = UTF ? 1 : 0;
 	    CLINE;
 	    TOKEN(LABEL);
 	}
 
+	/* Check for lexical sub */
+	if (PL_expect != XOPERATOR) {
+	    char tmpbuf[sizeof PL_tokenbuf + 1];
+	    *tmpbuf = '&';
+	    Copy(PL_tokenbuf, tmpbuf+1, len, char);
+	    off = pad_findmy_pvn(tmpbuf, len+1, UTF ? SVf_UTF8 : 0);
+	    if (off != NOT_IN_PAD) {
+		assert(off); /* we assume this is boolean-true below */
+		if (PAD_COMPNAME_FLAGS_isOUR(off)) {
+		    HV *  const stash = PAD_COMPNAME_OURSTASH(off);
+		    HEK * const stashname = HvNAME_HEK(stash);
+		    sv = newSVhek(stashname);
+                    sv_catpvs(sv, "::");
+                    sv_catpvn_flags(sv, PL_tokenbuf, len,
+				    (UTF ? SV_CATUTF8 : SV_CATBYTES));
+		    gv = gv_fetchsv(sv, GV_NOADD_NOINIT | SvUTF8(sv),
+				    SVt_PVCV);
+		    off = 0;
+		    if (!gv) {
+			sv_free(sv);
+			sv = NULL;
+			goto just_a_word;
+		    }
+		}
+		else {
+		    rv2cv_op = newOP(OP_PADANY, 0);
+		    rv2cv_op->op_targ = off;
+		    cv = find_lexical_cv(off);
+		}
+		lex = TRUE;
+		goto just_a_word;
+	    }
+	    off = 0;
+	}
+
 	if (tmp < 0) {			/* second-class keyword? */
 	    GV *ogv = NULL;	/* override (winner) */
 	    GV *hgv = NULL;	/* hidden (loser) */
 	    if (PL_expect != XOPERATOR && (*s != ':' || s[1] != ':')) {
 		CV *cv;
-		if ((gv = gv_fetchpvn_flags(PL_tokenbuf, len, 0, SVt_PVCV)) &&
+		if ((gv = gv_fetchpvn_flags(PL_tokenbuf, len,
+                                            UTF ? SVf_UTF8 : 0, SVt_PVCV)) &&
 		    (cv = GvCVu(gv)))
 		{
 		    if (GvIMPORTED_CV(gv))
@@ -6471,7 +6957,8 @@
 			hgv = gv;
 		}
 		if (!ogv &&
-		    (gvp = (GV**)hv_fetch(PL_globalstash,PL_tokenbuf,len,FALSE)) &&
+		    (gvp = (GV**)hv_fetch(PL_globalstash, PL_tokenbuf,
+                                            UTF ? -(I32)len : (I32)len, FALSE)) &&
 		    (gv = *gvp) && isGV_with_GP(gv) &&
 		    GvCVu(gv) && GvIMPORTED_CV(gv))
 		{
@@ -6514,16 +7001,22 @@
 	       earlier ':' case doesn't bypass the initialisation.  */
 	    if (0) {
 	    just_a_word_zero_gv:
+		sv = NULL;
+		cv = NULL;
 		gv = NULL;
 		gvp = NULL;
+		rv2cv_op = NULL;
 		orig_keyword = 0;
+		lex = 0;
+		off = 0;
 	    }
 	  just_a_word: {
-		SV *sv;
 		int pkgname = 0;
 		const char lastchar = (PL_bufptr == PL_oldoldbufptr ? 0 : PL_bufptr[-1]);
-		OP *rv2cv_op;
-		CV *cv;
+		const char penultchar =
+		    lastchar && PL_bufptr - 2 >= PL_linestart
+			 ? PL_bufptr[-2]
+			 : 0;
 #ifdef PERL_MAD
 		SV *nextPL_nextwhite = 0;
 #endif
@@ -6536,7 +7029,9 @@
 		    s = scan_word(s, PL_tokenbuf + len, sizeof PL_tokenbuf - len,
 				  TRUE, &morelen);
 		    if (!morelen)
-			Perl_croak(aTHX_ "Bad name after %s%s", PL_tokenbuf,
+			Perl_croak(aTHX_ "Bad name after %"SVf"%s",
+                                        SVfARG(newSVpvn_flags(PL_tokenbuf, len,
+                                            (UTF ? SVf_UTF8 : 0) | SVs_TEMP )),
 				*s == '\'' ? "'" : "::");
 		    len += morelen;
 		    pkgname = 1;
@@ -6553,7 +7048,8 @@
 		}
 
 		/* Look for a subroutine with this name in current package,
-		   unless name is "Foo::", in which case Foo is a bareword
+		   unless this is a lexical sub, or name is "Foo::",
+		   in which case Foo is a bareword
 		   (and a package name). */
 
 		if (len > 2 && !PL_madskills &&
@@ -6560,10 +7056,11 @@
 		    PL_tokenbuf[len - 2] == ':' && PL_tokenbuf[len - 1] == ':')
 		{
 		    if (ckWARN(WARN_BAREWORD)
-			&& ! gv_fetchpvn_flags(PL_tokenbuf, len, 0, SVt_PVHV))
+			&& ! gv_fetchpvn_flags(PL_tokenbuf, len, UTF ? SVf_UTF8 : 0, SVt_PVHV))
 			Perl_warner(aTHX_ packWARN(WARN_BAREWORD),
-		  	    "Bareword \"%s\" refers to nonexistent package",
-			     PL_tokenbuf);
+		  	    "Bareword \"%"SVf"\" refers to nonexistent package",
+			     SVfARG(newSVpvn_flags(PL_tokenbuf, len,
+                                        (UTF ? SVf_UTF8 : 0) | SVs_TEMP)));
 		    len -= 2;
 		    PL_tokenbuf[len] = '\0';
 		    gv = NULL;
@@ -6570,13 +7067,14 @@
 		    gvp = 0;
 		}
 		else {
-		    if (!gv) {
+		    if (!lex && !gv) {
 			/* Mustn't actually add anything to a symbol table.
 			   But also don't want to "initialise" any placeholder
 			   constants that might already be there into full
 			   blown PVGVs with attached PVCV.  */
 			gv = gv_fetchpvn_flags(PL_tokenbuf, len,
-					       GV_NOADD_NOINIT, SVt_PVCV);
+					       GV_NOADD_NOINIT | ( UTF ? SVf_UTF8 : 0 ),
+					       SVt_PVCV);
 		    }
 		    len = 0;
 		}
@@ -6583,7 +7081,8 @@
 
 		/* if we saw a global override before, get the right name */
 
-		sv = S_newSV_maybe_utf8(aTHX_ PL_tokenbuf,
+		if (!sv)
+		  sv = S_newSV_maybe_utf8(aTHX_ PL_tokenbuf,
 		    len ? len : strlen(PL_tokenbuf));
 		if (gvp) {
 		    SV * const tmp_sv = sv;
@@ -6609,12 +7108,13 @@
 		if (len)
 		    goto safe_bareword;
 
+		if (!off)
 		{
 		    OP *const_op = newSVOP(OP_CONST, 0, SvREFCNT_inc_NN(sv));
 		    const_op->op_private = OPpCONST_BARE;
 		    rv2cv_op = newCVREF(0, const_op);
+		    cv = lex ? GvCV(gv) : rv2cv_op_cv(rv2cv_op, 0);
 		}
-		cv = rv2cv_op_cv(rv2cv_op, 0);
 
 		/* See if it's the indirect object for a list operator. */
 
@@ -6701,7 +7201,8 @@
 		    }
 		    start_force(PL_curforce);
 #endif
-		    NEXTVAL_NEXTTOKE.opval = pl_yylval.opval;
+		    NEXTVAL_NEXTTOKE.opval =
+			off ? rv2cv_op : pl_yylval.opval;
 		    PL_expect = XOPERATOR;
 #ifdef PERL_MAD
 		    if (PL_madskills) {
@@ -6710,8 +7211,9 @@
 			PL_thistoken = newSVpvs("");
 		    }
 #endif
-		    op_free(rv2cv_op);
-		    force_next(WORD);
+		    if (off)
+			 op_free(pl_yylval.opval), force_next(PRIVATEREF);
+		    else op_free(rv2cv_op),	   force_next(WORD);
 		    pl_yylval.ival = 0;
 		    TOKEN('&');
 		}
@@ -6743,10 +7245,12 @@
 		/* Not a method, so call it a subroutine (if defined) */
 
 		if (cv) {
-		    if (lastchar == '-')
-			Perl_ck_warner_d(aTHX_ packWARN(WARN_AMBIGUOUS),
-					 "Ambiguous use of -%s resolved as -&%s()",
-					 PL_tokenbuf, PL_tokenbuf);
+		    if (lastchar == '-' && penultchar != '-') {
+                        const SV *tmpsv = newSVpvn_flags( PL_tokenbuf, len ? len : strlen(PL_tokenbuf), (UTF ? SVf_UTF8 : 0) | SVs_TEMP );
+ 			Perl_ck_warner_d(aTHX_ packWARN(WARN_AMBIGUOUS),
+				"Ambiguous use of -%"SVf" resolved as -&%"SVf"()",
+				SVfARG(tmpsv), SVfARG(tmpsv));
+                    }
 		    /* Check for a constant sub */
 		    if ((sv = cv_const_sv(cv))) {
 		  its_constant:
@@ -6753,13 +7257,14 @@
 			op_free(rv2cv_op);
 			SvREFCNT_dec(((SVOP*)pl_yylval.opval)->op_sv);
 			((SVOP*)pl_yylval.opval)->op_sv = SvREFCNT_inc_simple(sv);
-			pl_yylval.opval->op_private = 0;
+			pl_yylval.opval->op_private = OPpCONST_FOLDED;
 			pl_yylval.opval->op_flags |= OPf_SPECIAL;
 			TOKEN(WORD);
 		    }
 
 		    op_free(pl_yylval.opval);
-		    pl_yylval.opval = rv2cv_op;
+		    pl_yylval.opval =
+			off ? (OP *)newCVREF(0, rv2cv_op) : rv2cv_op;
 		    pl_yylval.opval->op_private |= OPpENTERSUB_NOPAREN;
 		    PL_last_lop = PL_oldbufptr;
 		    PL_last_lop_op = OP_ENTERSUB;
@@ -6770,12 +7275,15 @@
 #endif
 			SvPOK(cv))
 		    {
-			STRLEN protolen;
-			const char *proto = SvPV_const(MUTABLE_SV(cv), protolen);
+			STRLEN protolen = CvPROTOLEN(cv);
+			const char *proto = CvPROTO(cv);
+			bool optional;
 			if (!protolen)
 			    TERM(FUNC0SUB);
-			while (*proto == ';')
+			if ((optional = *proto == ';'))
+			  do
 			    proto++;
+			  while (*proto == ';');
 			if (
 			    (
 			        (
@@ -6788,12 +7296,13 @@
 			     *proto == '\\' && proto[1] && proto[2] == '\0'
 			    )
 			)
-			    OPERATOR(UNIOPSUB);
+			    UNIPROTO(UNIOPSUB,optional);
 			if (*proto == '\\' && proto[1] == '[') {
 			    const char *p = proto + 2;
 			    while(*p && *p != ']')
 				++p;
-			    if(*p == ']' && !p[1]) OPERATOR(UNIOPSUB);
+			    if(*p == ']' && !p[1])
+				UNIPROTO(UNIOPSUB,optional);
 			}
 			if (*proto == '&' && *s == '{') {
 			    if (PL_curstash)
@@ -6820,7 +7329,7 @@
 			    curmad('X', PL_thistoken);
 			    PL_thistoken = newSVpvs("");
 			}
-			force_next(WORD);
+			force_next(off ? PRIVATEREF : WORD);
 			if (!PL_lex_allbrackets &&
 				PL_lex_fakeeof > LEX_FAKEEOF_LOWLOGIC)
 			    PL_lex_fakeeof = LEX_FAKEEOF_LOWLOGIC;
@@ -6848,9 +7357,11 @@
 			}
 		    }
 		    if (probable_sub) {
-			gv = gv_fetchpv(PL_tokenbuf, GV_ADD, SVt_PVCV);
+			gv = gv_fetchpv(PL_tokenbuf, GV_ADD | ( UTF ? SVf_UTF8 : 0 ),
+                                        SVt_PVCV);
 			op_free(pl_yylval.opval);
-			pl_yylval.opval = rv2cv_op;
+			pl_yylval.opval =
+			    off ? (OP *)newCVREF(0, rv2cv_op) : rv2cv_op;
 			pl_yylval.opval->op_private |= OPpENTERSUB_NOPAREN;
 			PL_last_lop = PL_oldbufptr;
 			PL_last_lop_op = OP_ENTERSUB;
@@ -6862,7 +7373,7 @@
 			PL_nextwhite = nextPL_nextwhite;
 			curmad('X', PL_thistoken);
 			PL_thistoken = newSVpvs("");
-			force_next(WORD);
+			force_next(off ? PRIVATEREF : WORD);
 			if (!PL_lex_allbrackets &&
 				PL_lex_fakeeof > LEX_FAKEEOF_LOWLOGIC)
 			    PL_lex_fakeeof = LEX_FAKEEOF_LOWLOGIC;
@@ -6871,7 +7382,7 @@
 #else
 		    NEXTVAL_NEXTTOKE.opval = pl_yylval.opval;
 		    PL_expect = XTERM;
-		    force_next(WORD);
+		    force_next(off ? PRIVATEREF : WORD);
 		    if (!PL_lex_allbrackets &&
 			    PL_lex_fakeeof > LEX_FAKEEOF_LOWLOGIC)
 			PL_lex_fakeeof = LEX_FAKEEOF_LOWLOGIC;
@@ -6902,7 +7413,7 @@
 			    d = PL_tokenbuf;
 			    while (isLOWER(*d))
 				d++;
-			    if (!*d && !gv_stashpv(PL_tokenbuf, 0))
+			    if (!*d && !gv_stashpv(PL_tokenbuf, UTF ? SVf_UTF8 : 0))
 				Perl_warner(aTHX_ packWARN(WARN_RESERVED), PL_warn_reserved,
 				       PL_tokenbuf);
 			}
@@ -6913,8 +7424,10 @@
 	    safe_bareword:
 		if ((lastchar == '*' || lastchar == '%' || lastchar == '&')) {
 		    Perl_ck_warner_d(aTHX_ packWARN(WARN_AMBIGUOUS),
-				     "Operator or semicolon missing before %c%s",
-				     lastchar, PL_tokenbuf);
+				     "Operator or semicolon missing before %c%"SVf,
+				     lastchar, SVfARG(newSVpvn_flags(PL_tokenbuf,
+                                                    strlen(PL_tokenbuf),
+                                                    SVs_TEMP | (UTF ? SVf_UTF8 : 0))));
 		    Perl_ck_warner_d(aTHX_ packWARN(WARN_AMBIGUOUS),
 				     "Ambiguous use of %c resolved as operator %c",
 				     lastchar, lastchar);
@@ -6923,21 +7436,23 @@
 	    }
 
 	case KEY___FILE__:
-	    pl_yylval.opval = (OP*)newSVOP(OP_CONST, 0,
-					newSVpv(CopFILE(PL_curcop),0));
-	    TERM(THING);
+	    FUN0OP(
+		(OP*)newSVOP(OP_CONST, 0, newSVpv(CopFILE(PL_curcop),0))
+	    );
 
 	case KEY___LINE__:
-            pl_yylval.opval = (OP*)newSVOP(OP_CONST, 0,
-                                    Perl_newSVpvf(aTHX_ "%"IVdf, (IV)CopLINE(PL_curcop)));
-	    TERM(THING);
+	    FUN0OP(
+        	(OP*)newSVOP(OP_CONST, 0,
+		    Perl_newSVpvf(aTHX_ "%"IVdf, (IV)CopLINE(PL_curcop)))
+	    );
 
 	case KEY___PACKAGE__:
-	    pl_yylval.opval = (OP*)newSVOP(OP_CONST, 0,
+	    FUN0OP(
+		(OP*)newSVOP(OP_CONST, 0,
 					(PL_curstash
 					 ? newSVhek(HvNAME_HEK(PL_curstash))
-					 : &PL_sv_undef));
-	    TERM(THING);
+					 : &PL_sv_undef))
+	    );
 
 	case KEY___DATA__:
 	case KEY___END__: {
@@ -6944,10 +7459,20 @@
 	    GV *gv;
 	    if (PL_rsfp && (!PL_in_eval || PL_tokenbuf[2] == 'D')) {
 		const char *pname = "main";
+		STRLEN plen = 4;
+		U32 putf8 = 0;
 		if (PL_tokenbuf[2] == 'D')
-		    pname = HvNAME_get(PL_curstash ? PL_curstash : PL_defstash);
-		gv = gv_fetchpv(Perl_form(aTHX_ "%s::DATA", pname), GV_ADD,
-				SVt_PVIO);
+		{
+		    HV * const stash =
+			PL_curstash ? PL_curstash : PL_defstash;
+		    pname = HvNAME_get(stash);
+		    plen  = HvNAMELEN (stash);
+		    if(HvNAMEUTF8(stash)) putf8 = SVf_UTF8;
+		}
+		gv = gv_fetchpvn_flags(
+			Perl_form(aTHX_ "%*s::DATA", (int)plen, pname),
+			plen+6, GV_ADD|putf8, SVt_PVIO
+		);
 		GvMULTI_on(gv);
 		if (!GvIO(gv))
 		    GvIOp(gv) = newIO();
@@ -6981,12 +7506,6 @@
 #else
 		    if (PerlLIO_setmode(PerlIO_fileno(PL_rsfp), O_TEXT) != -1) {
 #endif	/* NETWARE */
-#ifdef PERLIO_IS_STDIO /* really? */
-#  if defined(__BORLANDC__)
-			/* XXX see note in do_binmode() */
-			((FILE*)PL_rsfp)->flags &= ~_F_BIN;
-#  endif
-#endif
 			if (loc > 0)
 			    PerlIO_seek(PL_rsfp, loc, 0);
 		    }
@@ -7037,6 +7556,9 @@
 	    goto fake_eof;
 	}
 
+	case KEY___SUB__:
+	    FUN0OP(newPVOP(OP_RUNCV,0,NULL));
+
 	case KEY_AUTOLOAD:
 	case KEY_DESTROY:
 	case KEY_BEGIN:
@@ -7052,14 +7574,26 @@
 
 	case KEY_CORE:
 	    if (*s == ':' && s[1] == ':') {
+		STRLEN olen = len;
+		d = s;
 		s += 2;
-		d = s;
 		s = scan_word(s, PL_tokenbuf, sizeof PL_tokenbuf, FALSE, &len);
-		if (!(tmp = keyword(PL_tokenbuf, len, 0)))
-		    Perl_croak(aTHX_ "CORE::%s is not a keyword", PL_tokenbuf);
+		if ((*s == ':' && s[1] == ':')
+		 || (!(tmp = keyword(PL_tokenbuf, len, 1)) && *s == '\''))
+		{
+		    s = d;
+		    len = olen;
+		    Copy(PL_bufptr, PL_tokenbuf, olen, char);
+		    goto just_a_word;
+		}
+		if (!tmp)
+		    Perl_croak(aTHX_ "CORE::%"SVf" is not a keyword",
+                                    SVfARG(newSVpvn_flags(PL_tokenbuf, len,
+                                                (UTF ? SVf_UTF8 : 0) | SVs_TEMP)));
 		if (tmp < 0)
 		    tmp = -tmp;
-		else if (tmp == KEY_require || tmp == KEY_do)
+		else if (tmp == KEY_require || tmp == KEY_do
+		      || tmp == KEY_glob)
 		    /* that's a way to remember we saw "CORE::" */
 		    orig_keyword = tmp;
 		goto reserved_word;
@@ -7099,12 +7633,6 @@
 	    UNI(OP_CHOP);
 
 	case KEY_continue:
-	    /* When 'use switch' is in effect, continue has a dual
-	       life as a control operator. */
-	    {
-		if (!FEATURE_IS_ENABLED("switch"))
-		    PREBLOCK(CONTINUE);
-		else {
 		    /* We have to disambiguate the two senses of
 		      "continue". If the next token is a '{' then
 		      treat it as the start of a continue block;
@@ -7115,8 +7643,6 @@
 	    PREBLOCK(CONTINUE);
 		    else
 			FUN0(OP_CONTINUE);
-		}
-	    }
 
 	case KEY_chdir:
 	    /* may use HOME */
@@ -7171,8 +7697,18 @@
 	    s = SKIPSPACE1(s);
 	    if (*s == '{')
 		PRETERMBLOCK(DO);
-	    if (*s != '\'')
-		s = force_word(s,WORD,TRUE,TRUE,FALSE);
+	    if (*s != '\'') {
+		*PL_tokenbuf = '&';
+		d = scan_word(s, PL_tokenbuf + 1, sizeof PL_tokenbuf - 1,
+			      1, &len);
+		if (len && !keyword(PL_tokenbuf + 1, len, 0)) {
+		    d = SKIPSPACE1(d);
+		    if (*d == '(') {
+			force_ident_maybe_lex('&');
+			s = d;
+		    }
+		}
+	    }
 	    if (orig_keyword == KEY_do) {
 		orig_keyword = 0;
 		pl_yylval.ival = 1;
@@ -7205,6 +7741,7 @@
 	    UNI(OP_DBMCLOSE);
 
 	case KEY_dump:
+	    PL_expect = XOPERATOR;
 	    s = force_word(s,WORD,TRUE,FALSE,FALSE);
 	    LOOPX(OP_DUMP);
 
@@ -7239,6 +7776,10 @@
 		UNIBRACK(OP_ENTEREVAL);
 	    }
 
+	case KEY_evalbytes:
+	    PL_expect = XTERM;
+	    UNIBRACK(-OP_ENTEREVAL);
+
 	case KEY_eof:
 	    UNI(OP_EOF);
 
@@ -7307,6 +7848,9 @@
 	case KEY_fork:
 	    FUN0(OP_FORK);
 
+	case KEY_fc:
+	    UNI(OP_FC);
+
 	case KEY_fcntl:
 	    LOP(OP_FCNTL,XTERM);
 
@@ -7330,6 +7874,7 @@
 	    LOP(OP_GREPSTART, XREF);
 
 	case KEY_goto:
+	    PL_expect = XOPERATOR;
 	    s = force_word(s,WORD,TRUE,FALSE,FALSE);
 	    LOOPX(OP_GOTO);
 
@@ -7416,10 +7961,16 @@
 
 	case KEY_given:
 	    pl_yylval.ival = CopLINE(PL_curcop);
+            Perl_ck_warner_d(aTHX_
+                packWARN(WARN_EXPERIMENTAL__SMARTMATCH),
+                "given is experimental");
 	    OPERATOR(GIVEN);
 
 	case KEY_glob:
-	    LOP(OP_GLOB,XTERM);
+	    LOP(
+	     orig_keyword==KEY_glob ? (orig_keyword=0, -OP_GLOB) : OP_GLOB,
+	     XTERM
+	    );
 
 	case KEY_hex:
 	    UNI(OP_HEX);
@@ -7449,6 +8000,7 @@
 	    LOP(OP_KILL,XTERM);
 
 	case KEY_last:
+	    PL_expect = XOPERATOR;
 	    s = force_word(s,WORD,TRUE,FALSE,FALSE);
 	    LOOPX(OP_LAST);
 	
@@ -7526,13 +8078,23 @@
 #endif
 		s = scan_word(s, PL_tokenbuf, sizeof PL_tokenbuf, TRUE, &len);
 		if (len == 3 && strnEQ(PL_tokenbuf, "sub", 3))
+		{
+		    if (!FEATURE_LEXSUBS_IS_ENABLED)
+			Perl_croak(aTHX_
+				  "Experimental \"%s\" subs not enabled",
+				   tmp == KEY_my    ? "my"    :
+				   tmp == KEY_state ? "state" : "our");
+		    Perl_ck_warner_d(aTHX_
+			packWARN(WARN_EXPERIMENTAL__LEXICAL_SUBS),
+			"The lexical_subs feature is experimental");
 		    goto really_sub;
+		}
 		PL_in_my_stash = find_in_my_stash(PL_tokenbuf, len);
 		if (!PL_in_my_stash) {
 		    char tmpbuf[1024];
 		    PL_bufptr = s;
 		    my_snprintf(tmpbuf, sizeof(tmpbuf), "No such class %.1000s", PL_tokenbuf);
-		    yyerror(tmpbuf);
+		    yyerror_pv(tmpbuf, UTF ? SVf_UTF8 : 0);
 		}
 #ifdef PERL_MAD
 		if (PL_madskills) {	/* just add type to declarator token */
@@ -7546,6 +8108,7 @@
 	    OPERATOR(MY);
 
 	case KEY_next:
+	    PL_expect = XOPERATOR;
 	    s = force_word(s,WORD,TRUE,FALSE,FALSE);
 	    LOOPX(OP_NEXT);
 
@@ -7556,7 +8119,7 @@
 
 	case KEY_no:
 	    s = tokenize_use(0, s);
-	    OPERATOR(USE);
+	    TERM(USE);
 
 	case KEY_not:
 	    if (*s == '(' || (s = SKIPSPACE1(s), *s == '('))
@@ -7571,19 +8134,22 @@
 	case KEY_open:
 	    s = SKIPSPACE1(s);
 	    if (isIDFIRST_lazy_if(s,UTF)) {
-		const char *t;
-		for (d = s; isALNUM_lazy_if(d,UTF);)
-		    d++;
+          const char *t;
+          d = scan_word(s, PL_tokenbuf, sizeof PL_tokenbuf, FALSE,
+              &len);
 		for (t=d; isSPACE(*t);)
 		    t++;
 		if ( *t && strchr("|&*+-=!?:.", *t) && ckWARN_d(WARN_PRECEDENCE)
 		    /* [perl #16184] */
 		    && !(t[0] == '=' && t[1] == '>')
+		    && !(t[0] == ':' && t[1] == ':')
+		    && !keyword(s, d-s, 0)
 		) {
-		    int parms_len = (int)(d-s);
+		    SV *tmpsv = newSVpvn_flags(s, (STRLEN)(d-s),
+                                                SVs_TEMP | (UTF ? SVf_UTF8 : 0));
 		    Perl_warner(aTHX_ packWARN(WARN_PRECEDENCE),
-			   "Precedence problem: open %.*s should be open(%.*s)",
-			    parms_len, s, parms_len, s);
+			   "Precedence problem: open %"SVf" should be open(%"SVf")",
+			    SVfARG(tmpsv), SVfARG(tmpsv));
 		}
 	    }
 	    LOP(OP_OPEN,XTERM);
@@ -7637,7 +8203,7 @@
 	    LOP(OP_PIPE_OP,XTERM);
 
 	case KEY_q:
-	    s = scan_str(s,!!PL_madskills,FALSE);
+	    s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
 	    if (!s)
 		missingterm(NULL);
 	    pl_yylval.ival = OP_CONST;
@@ -7648,12 +8214,13 @@
 
 	case KEY_qw: {
 	    OP *words = NULL;
-	    s = scan_str(s,!!PL_madskills,FALSE);
+	    s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
 	    if (!s)
 		missingterm(NULL);
 	    PL_expect = XOPERATOR;
 	    if (SvCUR(PL_lex_stuff)) {
-		int warned = 0;
+		int warned_comma = !ckWARN(WARN_QW);
+		int warned_comment = warned_comma;
 		d = SvPV_force(PL_lex_stuff, len);
 		while (len) {
 		    for (; isSPACE(*d) && len; --len, ++d)
@@ -7661,17 +8228,17 @@
 		    if (len) {
 			SV *sv;
 			const char *b = d;
-			if (!warned && ckWARN(WARN_QW)) {
+			if (!warned_comma || !warned_comment) {
 			    for (; !isSPACE(*d) && len; --len, ++d) {
-				if (*d == ',') {
+				if (!warned_comma && *d == ',') {
 				    Perl_warner(aTHX_ packWARN(WARN_QW),
 					"Possible attempt to separate words with commas");
-				    ++warned;
+				    ++warned_comma;
 				}
-				else if (*d == '#') {
+				else if (!warned_comment && *d == '#') {
 				    Perl_warner(aTHX_ packWARN(WARN_QW),
 					"Possible attempt to put comments in qw() list");
-				    ++warned;
+				    ++warned_comment;
 				}
 			    }
 			}
@@ -7697,7 +8264,7 @@
 	}
 
 	case KEY_qq:
-	    s = scan_str(s,!!PL_madskills,FALSE);
+	    s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
 	    if (!s)
 		missingterm(NULL);
 	    pl_yylval.ival = OP_STRINGIFY;
@@ -7710,7 +8277,7 @@
 	    TERM(sublex_start());
 
 	case KEY_qx:
-	    s = scan_str(s,!!PL_madskills,FALSE);
+	    s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
 	    if (!s)
 		missingterm(NULL);
 	    readpipe_override();
@@ -7721,6 +8288,7 @@
 
 	case KEY_require:
 	    s = SKIPSPACE1(s);
+	    PL_expect = XOPERATOR;
 	    if (isDIGIT(*s)) {
 		s = force_version(s, FALSE);
 	    }
@@ -7730,7 +8298,8 @@
 		*PL_tokenbuf = '\0';
 		s = force_word(s,WORD,TRUE,TRUE,FALSE);
 		if (isIDFIRST_lazy_if(PL_tokenbuf,UTF))
-		    gv_stashpvn(PL_tokenbuf, strlen(PL_tokenbuf), GV_ADD);
+		    gv_stashpvn(PL_tokenbuf, strlen(PL_tokenbuf),
+                                GV_ADD | (UTF ? SVf_UTF8 : 0));
 		else if (*s == '<')
 		    yyerror("<> should be quotes");
 	    }
@@ -7751,6 +8320,7 @@
 	    UNI(OP_RESET);
 
 	case KEY_redo:
+	    PL_expect = XOPERATOR;
 	    s = force_word(s,WORD,TRUE,FALSE,FALSE);
 	    LOOPX(OP_REDO);
 
@@ -7891,8 +8461,6 @@
 	case KEY_sort:
 	    checkcomma(s,PL_tokenbuf,"subroutine name");
 	    s = SKIPSPACE1(s);
-	    if (*s == ';' || *s == ')')		/* probably a close */
-		Perl_croak(aTHX_ "sort is now a reserved word");
 	    PL_expect = XTERM;
 	    s = force_word(s,WORD,TRUE,TRUE,FALSE);
 	    LOP(OP_SORT,XREF);
@@ -7925,7 +8493,7 @@
 	case KEY_sub:
 	  really_sub:
 	    {
-		char tmpbuf[sizeof PL_tokenbuf];
+		char * const tmpbuf = PL_tokenbuf + 1;
 		SSize_t tboffset = 0;
 		expectation attrful;
 		bool have_name, have_proto;
@@ -7935,12 +8503,15 @@
 		SV *tmpwhite = 0;
 
 		char *tstart = SvPVX(PL_linestr) + PL_realtokenstart;
-		SV *subtoken = newSVpvn(tstart, s - tstart);
+		SV *subtoken = PL_madskills
+		   ? newSVpvn_flags(tstart, s - tstart, SvUTF8(PL_linestr))
+		   : NULL;
 		PL_thistoken = 0;
 
 		d = s;
 		s = SKIPSPACE2(s,tmpwhite);
 #else
+		d = s;
 		s = skipspace(s);
 #endif
 
@@ -7955,12 +8526,17 @@
 		    attrful = XATTRBLOCK;
 		    /* remember buffer pos'n for later force_word */
 		    tboffset = s - PL_oldbufptr;
-		    d = scan_word(s, tmpbuf, sizeof tmpbuf, TRUE, &len);
+		    d = scan_word(s, tmpbuf, sizeof PL_tokenbuf - 1, TRUE,
+				  &len);
 #ifdef PERL_MAD
 		    if (PL_madskills)
-			nametoke = newSVpvn(s, d - s);
+			nametoke = newSVpvn_flags(s, d - s, SvUTF8(PL_linestr));
 #endif
-		    if (memchr(tmpbuf, ':', len))
+		    *PL_tokenbuf = '&';
+		    if (memchr(tmpbuf, ':', len) || key != KEY_sub
+		     || pad_findmy_pvn(
+			    PL_tokenbuf, len + 1, UTF ? SVf_UTF8 : 0
+			) != NOT_IN_PAD)
 			sv_setpvn(PL_subname, tmpbuf, len);
 		    else {
 			sv_setsv(PL_subname,PL_curstname);
@@ -7967,15 +8543,16 @@
 			sv_catpvs(PL_subname,"::");
 			sv_catpvn(PL_subname,tmpbuf,len);
 		    }
+                    if (SvUTF8(PL_linestr))
+                        SvUTF8_on(PL_subname);
 		    have_name = TRUE;
 
+
 #ifdef PERL_MAD
-
 		    start_force(0);
 		    CURMAD('X', nametoke);
 		    CURMAD('_', tmpwhite);
-		    (void) force_word(PL_oldbufptr + tboffset, WORD,
-				      FALSE, TRUE, TRUE);
+		    force_ident_maybe_lex('&');
 
 		    s = SKIPSPACE2(d,tmpwhite);
 #else
@@ -7983,8 +8560,13 @@
 #endif
 		}
 		else {
-		    if (key == KEY_my)
-			Perl_croak(aTHX_ "Missing name in \"my sub\"");
+		    if (key == KEY_my || key == KEY_our || key==KEY_state)
+		    {
+			*d = '\0';
+			/* diag_listed_as: Missing name in "%s sub" */
+			Perl_croak(aTHX_
+				  "Missing name in \"%s\"", PL_bufptr);
+		    }
 		    PL_expect = XTERMBLOCK;
 		    attrful = XATTRTERM;
 		    sv_setpvs(PL_subname,"?");
@@ -7992,17 +8574,16 @@
 		}
 
 		if (key == KEY_format) {
-		    if (*s == '=')
-			PL_lex_formbrack = PL_lex_brackets + 1;
 #ifdef PERL_MAD
 		    PL_thistoken = subtoken;
 		    s = d;
+                    PERL_UNUSED_VAR(tboffset);
 #else
 		    if (have_name)
 			(void) force_word(PL_oldbufptr + tboffset, WORD,
 					  FALSE, TRUE, TRUE);
 #endif
-		    OPERATOR(FORMAT);
+		    PREBLOCK(FORMAT);
 		}
 
 		/* Look for a prototype */
@@ -8016,26 +8597,27 @@
 		    bool underscore = FALSE;
 		    bool seen_underscore = FALSE;
 		    const bool warnillegalproto = ckWARN(WARN_ILLEGALPROTO);
+                    STRLEN tmplen;
 
-		    s = scan_str(s,!!PL_madskills,FALSE);
+		    s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
 		    if (!s)
 			Perl_croak(aTHX_ "Prototype not terminated");
 		    /* strip spaces and check for bad characters */
-		    d = SvPVX(PL_lex_stuff);
+		    d = SvPV(PL_lex_stuff, tmplen);
 		    tmp = 0;
-		    for (p = d; *p; ++p) {
+		    for (p = d; tmplen; tmplen--, ++p) {
 			if (!isSPACE(*p)) {
-			    d[tmp++] = *p;
+                            d[tmp++] = *p;
 
 			    if (warnillegalproto) {
 				if (must_be_last)
 				    proto_after_greedy_proto = TRUE;
-				if (!strchr("$@%*;[]&\\_+", *p)) {
+				if (!strchr("$@%*;[]&\\_+", *p) || *p == '\0') {
 				    bad_proto = TRUE;
 				}
 				else {
 				    if ( underscore ) {
-					if ( *p != ';' )
+					if ( !strchr(";@%", *p) )
 					    bad_proto = TRUE;
 					underscore = FALSE;
 				    }
@@ -8058,17 +8640,26 @@
 			    }
 			}
 		    }
-		    d[tmp] = '\0';
+                    d[tmp] = '\0';
 		    if (proto_after_greedy_proto)
 			Perl_warner(aTHX_ packWARN(WARN_ILLEGALPROTO),
 				    "Prototype after '%c' for %"SVf" : %s",
 				    greedy_proto, SVfARG(PL_subname), d);
-		    if (bad_proto)
+		    if (bad_proto) {
+                        SV *dsv = newSVpvs_flags("", SVs_TEMP);
 			Perl_warner(aTHX_ packWARN(WARN_ILLEGALPROTO),
 				    "Illegal character %sin prototype for %"SVf" : %s",
 				    seen_underscore ? "after '_' " : "",
-				    SVfARG(PL_subname), d);
-		    SvCUR_set(PL_lex_stuff, tmp);
+				    SVfARG(PL_subname),
+                                    SvUTF8(PL_lex_stuff)
+                                        ? sv_uni_display(dsv,
+                                            newSVpvn_flags(d, tmp, SVs_TEMP | SVf_UTF8),
+                                            tmp,
+                                            UNI_DISPLAY_ISPRINT)
+                                        : pv_pretty(dsv, d, tmp, 60, NULL, NULL,
+                                            PERL_PV_ESCAPE_NONASCII));
+                    }
+                    SvCUR_set(PL_lex_stuff, tmp);
 		    have_proto = TRUE;
 
 #ifdef PERL_MAD
@@ -8109,6 +8700,7 @@
 		force_next(0);
 
 		PL_thistoken = subtoken;
+                PERL_UNUSED_VAR(have_proto);
 #else
 		if (have_proto) {
 		    NEXTVAL_NEXTTOKE.opval =
@@ -8125,11 +8717,8 @@
 		    TOKEN(ANONSUB);
 		}
 #ifndef PERL_MAD
-		(void) force_word(PL_oldbufptr + tboffset, WORD,
-				  FALSE, TRUE, TRUE);
+		force_ident_maybe_lex('&');
 #endif
-		if (key == KEY_my)
-		    TOKEN(MYSUB);
 		TOKEN(SUB);
 	    }
 
@@ -8155,6 +8744,7 @@
 	    LOP(OP_SYSWRITE,XTERM);
 
 	case KEY_tr:
+	case KEY_y:
 	    s = scan_trans(s);
 	    TERM(sublex_start());
 
@@ -8232,6 +8822,9 @@
 	    if (!PL_lex_allbrackets && PL_lex_fakeeof >= LEX_FAKEEOF_NONEXPR)
 		return REPORT(0);
 	    pl_yylval.ival = CopLINE(PL_curcop);
+            Perl_ck_warner_d(aTHX_
+                packWARN(WARN_EXPERIMENTAL__SMARTMATCH),
+                "when is experimental");
 	    OPERATOR(WHEN);
 
 	case KEY_while:
@@ -8282,10 +8875,6 @@
 		return REPORT(0);
 	    pl_yylval.ival = OP_XOR;
 	    OPERATOR(OROP);
-
-	case KEY_y:
-	    s = scan_trans(s);
-	    TERM(sublex_start());
 	}
     }}
 }
@@ -8293,20 +8882,36 @@
 #pragma segment Main
 #endif
 
+/*
+  S_pending_ident
+
+  Looks up an identifier in the pad or in a package
+
+  Returns:
+    PRIVATEREF if this is a lexical name.
+    WORD       if this belongs to a package.
+
+  Structure:
+      if we're in a my declaration
+	  croak if they tried to say my($foo::bar)
+	  build the ops for a my() declaration
+      if it's an access to a my() variable
+	  build ops for access to a my() variable
+      if in a dq string, and they've said @foo and we can't find @foo
+	  warn
+      build ops for a bareword
+*/
+
 static int
 S_pending_ident(pTHX)
 {
     dVAR;
-    register char *d;
     PADOFFSET tmp = 0;
-    /* pit holds the identifier we read and pending_ident is reset */
-    char pit = PL_pending_ident;
+    const char pit = (char)pl_yylval.ival;
     const STRLEN tokenbuf_len = strlen(PL_tokenbuf);
     /* All routes through this function want to know if there is a colon.  */
     const char *const has_colon = (const char*) memchr (PL_tokenbuf, ':', tokenbuf_len);
-    PL_pending_ident = 0;
 
-    /* PL_realtokenstart = realtokenend = PL_bufptr - SvPVX(PL_linestr); */
     DEBUG_T({ PerlIO_printf(Perl_debug_log,
           "### Pending identifier '%s'\n", PL_tokenbuf); });
 
@@ -8319,37 +8924,32 @@
     if (PL_in_my) {
         if (PL_in_my == KEY_our) {	/* "our" is merely analogous to "my" */
             if (has_colon)
-                yyerror(Perl_form(aTHX_ "No package name allowed for "
+                yyerror_pv(Perl_form(aTHX_ "No package name allowed for "
                                   "variable %s in \"our\"",
-                                  PL_tokenbuf));
-            tmp = allocmy(PL_tokenbuf, tokenbuf_len, 0);
+                                  PL_tokenbuf), UTF ? SVf_UTF8 : 0);
+            tmp = allocmy(PL_tokenbuf, tokenbuf_len, UTF ? SVf_UTF8 : 0);
         }
         else {
             if (has_colon)
-                yyerror(Perl_form(aTHX_ PL_no_myglob,
-			    PL_in_my == KEY_my ? "my" : "state", PL_tokenbuf));
+                yyerror_pv(Perl_form(aTHX_ PL_no_myglob,
+			    PL_in_my == KEY_my ? "my" : "state", PL_tokenbuf),
+                            UTF ? SVf_UTF8 : 0);
 
             pl_yylval.opval = newOP(OP_PADANY, 0);
-            pl_yylval.opval->op_targ = allocmy(PL_tokenbuf, tokenbuf_len, 0);
-            return PRIVATEREF;
+            pl_yylval.opval->op_targ = allocmy(PL_tokenbuf, tokenbuf_len,
+                                                        UTF ? SVf_UTF8 : 0);
+	    return PRIVATEREF;
         }
     }
 
     /*
        build the ops for accesses to a my() variable.
-
-       Deny my($a) or my($b) in a sort block, *if* $a or $b is
-       then used in a comparison.  This catches most, but not
-       all cases.  For instance, it catches
-           sort { my($a); $a <=> $b }
-       but not
-           sort { my($a); $a < $b ? -1 : $a == $b ? 0 : 1; }
-       (although why you'd do that is anyone's guess).
     */
 
     if (!has_colon) {
 	if (!PL_in_my)
-	    tmp = pad_findmy(PL_tokenbuf, tokenbuf_len, 0);
+	    tmp = pad_findmy_pvn(PL_tokenbuf, tokenbuf_len,
+                                    UTF ? SVf_UTF8 : 0);
         if (tmp != NOT_IN_PAD) {
             /* might be an "our" variable" */
             if (PAD_COMPNAME_FLAGS_isOUR(tmp)) {
@@ -8358,10 +8958,11 @@
 		HEK * const stashname = HvNAME_HEK(stash);
 		SV *  const sym = newSVhek(stashname);
                 sv_catpvs(sym, "::");
-                sv_catpvn(sym, PL_tokenbuf+1, tokenbuf_len - 1);
+                sv_catpvn_flags(sym, PL_tokenbuf+1, tokenbuf_len - 1, (UTF ? SV_CATUTF8 : SV_CATBYTES ));
                 pl_yylval.opval = (OP*)newSVOP(OP_CONST, 0, sym);
                 pl_yylval.opval->op_private = OPpCONST_ENTERED;
-                gv_fetchsv(sym,
+                if (pit != '&')
+                  gv_fetchsv(sym,
                     (PL_in_eval
                         ? (GV_ADDMULTI | GV_ADDINEVAL)
                         : GV_ADDMULTI
@@ -8372,23 +8973,6 @@
                 return WORD;
             }
 
-            /* if it's a sort block and they're naming $a or $b */
-            if (PL_last_lop_op == OP_SORT &&
-                PL_tokenbuf[0] == '$' &&
-                (PL_tokenbuf[1] == 'a' || PL_tokenbuf[1] == 'b')
-                && !PL_tokenbuf[2])
-            {
-                for (d = PL_in_eval ? PL_oldoldbufptr : PL_linestart;
-                     d < PL_bufend && *d != '\n';
-                     d++)
-                {
-                    if (strnEQ(d,"<=>",3) || strnEQ(d,"cmp",3)) {
-                        Perl_croak(aTHX_ "Can't use \"my %s\" in sort comparison",
-                              PL_tokenbuf);
-                    }
-                }
-            }
-
             pl_yylval.opval = newOP(OP_PADANY, 0);
             pl_yylval.opval->op_targ = tmp;
             return PRIVATEREF;
@@ -8402,8 +8986,8 @@
     */
     if (ckWARN(WARN_AMBIGUOUS) &&
 	pit == '@' && PL_lex_state != LEX_NORMAL && !PL_lex_brackets) {
-        GV *const gv = gv_fetchpvn_flags(PL_tokenbuf + 1, tokenbuf_len - 1, 0,
-					 SVt_PVAV);
+        GV *const gv = gv_fetchpvn_flags(PL_tokenbuf + 1, tokenbuf_len - 1,
+                                        ( UTF ? SVf_UTF8 : 0 ), SVt_PVAV);
         if ((!gv || ((PL_tokenbuf[0] == '@') ? !GvAV(gv) : !GvHV(gv)))
 		/* DO NOT warn for @- and @+ */
 		&& !( PL_tokenbuf[2] == '\0' &&
@@ -8412,17 +8996,22 @@
         {
             /* Downgraded from fatal to warning 20000522 mjd */
             Perl_warner(aTHX_ packWARN(WARN_AMBIGUOUS),
-			"Possible unintended interpolation of %s in string",
-			PL_tokenbuf);
+			"Possible unintended interpolation of %"SVf" in string",
+			SVfARG(newSVpvn_flags(PL_tokenbuf, tokenbuf_len,
+                                        SVs_TEMP | ( UTF ? SVf_UTF8 : 0 ))));
         }
     }
 
     /* build ops for a bareword */
-    pl_yylval.opval = (OP*)newSVOP(OP_CONST, 0, newSVpvn(PL_tokenbuf + 1,
-						      tokenbuf_len - 1));
+    pl_yylval.opval = (OP*)newSVOP(OP_CONST, 0,
+				   newSVpvn_flags(PL_tokenbuf + 1,
+						      tokenbuf_len - 1,
+                                                      UTF ? SVf_UTF8 : 0 ));
     pl_yylval.opval->op_private = OPpCONST_ENTERED;
-    gv_fetchpvn_flags(PL_tokenbuf+1, tokenbuf_len - 1,
-		     PL_in_eval ? (GV_ADDMULTI | GV_ADDINEVAL) : GV_ADD,
+    if (pit != '&')
+	gv_fetchpvn_flags(PL_tokenbuf+1, tokenbuf_len - 1,
+		     (PL_in_eval ? (GV_ADDMULTI | GV_ADDINEVAL) : GV_ADD)
+                     | ( UTF ? SVf_UTF8 : 0 ),
 		     ((PL_tokenbuf[0] == '$') ? SVt_PV
 		      : (PL_tokenbuf[0] == '@') ? SVt_PVAV
 		      : SVt_PVHV));
@@ -8464,9 +9053,10 @@
     while (s < PL_bufend && isSPACE(*s))
 	s++;
     if (isIDFIRST_lazy_if(s,UTF)) {
-	const char * const w = s++;
-	while (isALNUM_lazy_if(s,UTF))
-	    s++;
+	const char * const w = s;
+        s += UTF ? UTF8SKIP(s) : 1;
+	while (isWORDCHAR_lazy_if(s,UTF))
+	    s += UTF ? UTF8SKIP(s) : 1;
 	while (s < PL_bufend && isSPACE(*s))
 	    s++;
 	if (*s == ',') {
@@ -8474,7 +9064,7 @@
 	    if (keyword(w, s - w, 0))
 		return;
 
-	    gv = gv_fetchpvn_flags(w, s - w, 0, SVt_PVCV);
+	    gv = gv_fetchpvn_flags(w, s - w, ( UTF ? SVf_UTF8 : 0 ), SVt_PVCV);
 	    if (gv && GvCVu(gv))
 		return;
 	    Perl_croak(aTHX_ "No comma allowed after %s", what);
@@ -8482,10 +9072,13 @@
     }
 }
 
-/* Either returns sv, or mortalizes sv and returns a new SV*.
+/* S_new_constant(): do any overload::constant lookup.
+
+   Either returns sv, or mortalizes/frees sv and returns a new SV*.
    Best used as sv=new_constant(..., sv, ...).
    If s, pv are NULL, calls subroutine with one argument,
-   and type is used with error messages only. */
+   and <type> is used with error messages only.
+   <type> is assumed to be well formed UTF-8 */
 
 STATIC SV *
 S_new_constant(pTHX_ const char *s, STRLEN len, const char *key, STRLEN keylen,
@@ -8492,52 +9085,83 @@
 	       SV *sv, SV *pv, const char *type, STRLEN typelen)
 {
     dVAR; dSP;
-    HV * const table = GvHV(PL_hintgv);		 /* ^H */
+    HV * table = GvHV(PL_hintgv);		 /* ^H */
     SV *res;
+    SV *errsv = NULL;
     SV **cvp;
     SV *cv, *typesv;
     const char *why1 = "", *why2 = "", *why3 = "";
 
     PERL_ARGS_ASSERT_NEW_CONSTANT;
+    /* We assume that this is true: */
+    if (*key == 'c') { assert (strEQ(key, "charnames")); }
+    assert(type || s);
 
-    if (!table || !(PL_hints & HINT_LOCALIZE_HH)) {
-	SV *msg;
-	
-	why2 = (const char *)
-	    (strEQ(key,"charnames")
-	     ? "(possibly a missing \"use charnames ...\")"
-	     : "");
-	msg = Perl_newSVpvf(aTHX_ "Constant(%s) unknown: %s",
-			    (type ? type: "undef"), why2);
-
-	/* This is convoluted and evil ("goto considered harmful")
-	 * but I do not understand the intricacies of all the different
-	 * failure modes of %^H in here.  The goal here is to make
-	 * the most probable error message user-friendly. --jhi */
-
-	goto msgdone;
-
-    report:
-	msg = Perl_newSVpvf(aTHX_ "Constant(%s): %s%s%s",
-			    (type ? type: "undef"), why1, why2, why3);
-    msgdone:
-	yyerror(SvPVX_const(msg));
- 	SvREFCNT_dec(msg);
-  	return sv;
-    }
-
     /* charnames doesn't work well if there have been errors found */
-    if (PL_error_count > 0 && strEQ(key,"charnames"))
+    if (PL_error_count > 0 && *key == 'c')
+    {
+	SvREFCNT_dec_NN(sv);
 	return &PL_sv_undef;
+    }
 
-    cvp = hv_fetch(table, key, keylen, FALSE);
-    if (!cvp || !SvOK(*cvp)) {
-	why1 = "$^H{";
-	why2 = key;
-	why3 = "} is not defined";
-	goto report;
+    sv_2mortal(sv);			/* Parent created it permanently */
+    if (!table
+	|| ! (PL_hints & HINT_LOCALIZE_HH)
+	|| ! (cvp = hv_fetch(table, key, keylen, FALSE))
+	|| ! SvOK(*cvp))
+    {
+	char *msg;
+	
+	/* Here haven't found what we're looking for.  If it is charnames,
+	 * perhaps it needs to be loaded.  Try doing that before giving up */
+	if (*key == 'c') {
+	    Perl_load_module(aTHX_
+		            0,
+			    newSVpvs("_charnames"),
+			     /* version parameter; no need to specify it, as if
+			      * we get too early a version, will fail anyway,
+			      * not being able to find '_charnames' */
+			    NULL,
+			    newSVpvs(":full"),
+			    newSVpvs(":short"),
+			    NULL);
+	    SPAGAIN;
+	    table = GvHV(PL_hintgv);
+	    if (table
+		&& (PL_hints & HINT_LOCALIZE_HH)
+		&& (cvp = hv_fetch(table, key, keylen, FALSE))
+		&& SvOK(*cvp))
+	    {
+		goto now_ok;
+	    }
+	}
+	if (!table || !(PL_hints & HINT_LOCALIZE_HH)) {
+	    msg = Perl_form(aTHX_
+			       "Constant(%.*s) unknown",
+				(int)(type ? typelen : len),
+				(type ? type: s));
+	}
+	else {
+            why1 = "$^H{";
+            why2 = key;
+            why3 = "} is not defined";
+        report:
+            if (*key == 'c') {
+                msg = Perl_form(aTHX_
+                            /* The +3 is for '\N{'; -4 for that, plus '}' */
+                            "Unknown charname '%.*s'", (int)typelen - 4, type + 3
+                      );
+            }
+            else {
+                msg = Perl_form(aTHX_ "Constant(%.*s): %s%s%s",
+                                    (int)(type ? typelen : len),
+                                    (type ? type: s), why1, why2, why3);
+            }
+        }
+	yyerror_pv(msg, UTF ? SVf_UTF8 : 0);
+  	return SvREFCNT_inc_simple_NN(sv);
     }
-    sv_2mortal(sv);			/* Parent created it permanently */
+now_ok:
     cv = *cvp;
     if (!pv && s)
   	pv = newSVpvn_flags(s, len, SVs_TEMP);
@@ -8563,15 +9187,18 @@
     SPAGAIN ;
 
     /* Check the eval first */
-    if (!PL_in_eval && SvTRUE(ERRSV)) {
- 	sv_catpvs(ERRSV, "Propagated");
-	yyerror(SvPV_nolen_const(ERRSV)); /* Duplicates the message inside eval */
+    if (!PL_in_eval && ((errsv = ERRSV), SvTRUE_NN(errsv))) {
+	STRLEN errlen;
+	const char * errstr;
+	sv_catpvs(errsv, "Propagated");
+	errstr = SvPV_const(errsv, errlen);
+	yyerror_pvn(errstr, errlen, 0); /* Duplicates the message inside eval */
 	(void)POPs;
-	res = SvREFCNT_inc_simple(sv);
+	res = SvREFCNT_inc_simple_NN(sv);
     }
     else {
  	res = POPs;
-	SvREFCNT_inc_simple_void(res);
+	SvREFCNT_inc_simple_void_NN(res);
     }
 
     PUTBACK ;
@@ -8584,6 +9211,7 @@
  	why2 = key;
  	why3 = "}} did not return a defined value";
  	sv = res;
+	(void)sv_2mortal(sv);
  	goto report;
     }
 
@@ -8590,60 +9218,82 @@
     return res;
 }
 
+PERL_STATIC_INLINE void
+S_parse_ident(pTHX_ char **s, char **d, char * const e, int allow_package, bool is_utf8) {
+    dVAR;
+    PERL_ARGS_ASSERT_PARSE_IDENT;
+
+    for (;;) {
+        if (*d >= e)
+            Perl_croak(aTHX_ "%s", ident_too_long);
+        if (is_utf8 && isIDFIRST_utf8((U8*)*s)) {
+             /* The UTF-8 case must come first, otherwise things
+             * like c\N{COMBINING TILDE} would start failing, as the
+             * isWORDCHAR_A case below would gobble the 'c' up.
+             */
+
+            char *t = *s + UTF8SKIP(*s);
+            while (isIDCONT_utf8((U8*)t))
+                t += UTF8SKIP(t);
+            if (*d + (t - *s) > e)
+                Perl_croak(aTHX_ "%s", ident_too_long);
+            Copy(*s, *d, t - *s, char);
+            *d += t - *s;
+            *s = t;
+        }
+        else if ( isWORDCHAR_A(**s) ) {
+            do {
+                *(*d)++ = *(*s)++;
+            } while isWORDCHAR_A(**s);
+        }
+        else if (allow_package && **s == '\'' && isIDFIRST_lazy_if(*s+1,is_utf8)) {
+            *(*d)++ = ':';
+            *(*d)++ = ':';
+            (*s)++;
+        }
+        else if (allow_package && **s == ':' && (*s)[1] == ':'
+           /* Disallow things like Foo::$bar. For the curious, this is
+            * the code path that triggers the "Bad name after" warning
+            * when looking for barewords.
+            */
+           && (*s)[2] != '$') {
+            *(*d)++ = *(*s)++;
+            *(*d)++ = *(*s)++;
+        }
+        else
+            break;
+    }
+    return;
+}
+
 /* Returns a NUL terminated string, with the length of the string written to
    *slp
    */
 STATIC char *
-S_scan_word(pTHX_ register char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp)
+S_scan_word(pTHX_ char *s, char *dest, STRLEN destlen, int allow_package, STRLEN *slp)
 {
     dVAR;
-    register char *d = dest;
-    register char * const e = d + destlen - 3;  /* two-character token, ending NUL */
+    char *d = dest;
+    char * const e = d + destlen - 3;  /* two-character token, ending NUL */
+    bool is_utf8 = cBOOL(UTF);
 
     PERL_ARGS_ASSERT_SCAN_WORD;
 
-    for (;;) {
-	if (d >= e)
-	    Perl_croak(aTHX_ ident_too_long);
-	if (isALNUM(*s))	/* UTF handled below */
-	    *d++ = *s++;
-	else if (allow_package && (*s == '\'') && isIDFIRST_lazy_if(s+1,UTF)) {
-	    *d++ = ':';
-	    *d++ = ':';
-	    s++;
-	}
-	else if (allow_package && (s[0] == ':') && (s[1] == ':') && (s[2] != '$')) {
-	    *d++ = *s++;
-	    *d++ = *s++;
-	}
-	else if (UTF && UTF8_IS_START(*s) && isALNUM_utf8((U8*)s)) {
-	    char *t = s + UTF8SKIP(s);
-	    size_t len;
-	    while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
-		t += UTF8SKIP(t);
-	    len = t - s;
-	    if (d + len > e)
-		Perl_croak(aTHX_ ident_too_long);
-	    Copy(s, d, len, char);
-	    d += len;
-	    s = t;
-	}
-	else {
-	    *d = '\0';
-	    *slp = d - dest;
-	    return s;
-	}
-    }
+    parse_ident(&s, &d, e, allow_package, is_utf8);
+    *d = '\0';
+    *slp = d - dest;
+    return s;
 }
 
 STATIC char *
-S_scan_ident(pTHX_ register char *s, register const char *send, char *dest, STRLEN destlen, I32 ck_uni)
+S_scan_ident(pTHX_ char *s, const char *send, char *dest, STRLEN destlen, I32 ck_uni)
 {
     dVAR;
     char *bracket = NULL;
     char funny = *s++;
-    register char *d = dest;
-    register char * const e = d + destlen - 3;    /* two-character token, ending NUL */
+    char *d = dest;
+    char * const e = d + destlen - 3;    /* two-character token, ending NUL */
+    bool is_utf8 = cBOOL(UTF);
 
     PERL_ARGS_ASSERT_SCAN_IDENT;
 
@@ -8652,38 +9302,12 @@
     if (isDIGIT(*s)) {
 	while (isDIGIT(*s)) {
 	    if (d >= e)
-		Perl_croak(aTHX_ ident_too_long);
+		Perl_croak(aTHX_ "%s", ident_too_long);
 	    *d++ = *s++;
 	}
     }
     else {
-	for (;;) {
-	    if (d >= e)
-		Perl_croak(aTHX_ ident_too_long);
-	    if (isALNUM(*s))	/* UTF handled below */
-		*d++ = *s++;
-	    else if (*s == '\'' && isIDFIRST_lazy_if(s+1,UTF)) {
-		*d++ = ':';
-		*d++ = ':';
-		s++;
-	    }
-	    else if (*s == ':' && s[1] == ':') {
-		*d++ = *s++;
-		*d++ = *s++;
-	    }
-	    else if (UTF && UTF8_IS_START(*s) && isALNUM_utf8((U8*)s)) {
-		char *t = s + UTF8SKIP(s);
-		while (UTF8_IS_CONTINUED(*t) && is_utf8_mark((U8*)t))
-		    t += UTF8SKIP(t);
-		if (d + (t - s) > e)
-		    Perl_croak(aTHX_ ident_too_long);
-		Copy(s, d, t - s, char);
-		d += t - s;
-		s = t;
-	    }
-	    else
-		break;
-	}
+        parse_ident(&s, &d, e, 1, is_utf8);
     }
     *d = '\0';
     d = dest;
@@ -8693,7 +9317,11 @@
 	return s;
     }
     if (*s == '$' && s[1] &&
-	(isALNUM_lazy_if(s+1,UTF) || s[1] == '$' || s[1] == '{' || strnEQ(s+1,"::",2)) )
+      (isIDFIRST_lazy_if(s+1,is_utf8)
+         || isDIGIT_A((U8)s[1])
+         || s[1] == '$'
+         || s[1] == '{'
+         || strnEQ(s+1,"::",2)) )
     {
 	return s;
     }
@@ -8700,45 +9328,39 @@
     if (*s == '{') {
 	bracket = s;
 	s++;
+	while (s < send && SPACE_OR_TAB(*s))
+	   s++;
     }
-    else if (ck_uni)
-	check_uni();
-    if (s < send)
-	*d = *s++;
-    d[1] = '\0';
+
+#define VALID_LEN_ONE_IDENT(d, u)     (isPUNCT_A((U8)*(d))     \
+                                        || isCNTRL_A((U8)*(d)) \
+                                        || isDIGIT_A((U8)*(d)) \
+                                        || (!(u) && !UTF8_IS_INVARIANT((U8)*(d))))
+    if (s < send
+        && (isIDFIRST_lazy_if(s, is_utf8) || VALID_LEN_ONE_IDENT(s, is_utf8)))
+    {
+        if (is_utf8) {
+            const STRLEN skip = UTF8SKIP(s);
+            STRLEN i;
+            d[skip] = '\0';
+            for ( i = 0; i < skip; i++ )
+                d[i] = *s++;
+        }
+        else {
+            *d = *s++;
+            d[1] = '\0';
+        }
+    }
     if (*d == '^' && *s && isCONTROLVAR(*s)) {
 	*d = toCTRL(*s);
 	s++;
     }
+    else if (ck_uni && !bracket)
+	check_uni();
     if (bracket) {
-	if (isSPACE(s[-1])) {
-	    while (s < send) {
-		const char ch = *s++;
-		if (!SPACE_OR_TAB(ch)) {
-		    *d = ch;
-		    break;
-		}
-	    }
-	}
-	if (isIDFIRST_lazy_if(d,UTF)) {
-	    d++;
-	    if (UTF) {
-		char *end = s;
-		while ((end < send && isALNUM_lazy_if(end,UTF)) || *end == ':') {
-		    end += UTF8SKIP(end);
-		    while (end < send && UTF8_IS_CONTINUED(*end) && is_utf8_mark((U8*)end))
-			end += UTF8SKIP(end);
-		}
-		Copy(s, d, end - s, char);
-		d += end - s;
-		s = end;
-	    }
-	    else {
-		while ((isALNUM(*s) || *s == ':') && d < e)
-		    *d++ = *s++;
-		if (d >= e)
-		    Perl_croak(aTHX_ ident_too_long);
-	    }
+	if (isIDFIRST_lazy_if(d,is_utf8)) {
+        d += is_utf8 ? UTF8SKIP(d) : 1;
+        parse_ident(&s, &d, e, 1, is_utf8);
 	    *d = '\0';
 	    while (s < send && SPACE_OR_TAB(*s))
 		s++;
@@ -8760,17 +9382,21 @@
 	}
 	/* Handle extended ${^Foo} variables
 	 * 1999-02-27 mjd-perl-patch at plover.com */
-	else if (!isALNUM(*d) && !isPRINT(*d) /* isCTRL(d) */
-		 && isALNUM(*s))
+	else if (!isWORDCHAR(*d) && !isPRINT(*d) /* isCTRL(d) */
+		 && isWORDCHAR(*s))
 	{
 	    d++;
-	    while (isALNUM(*s) && d < e) {
+	    while (isWORDCHAR(*s) && d < e) {
 		*d++ = *s++;
 	    }
 	    if (d >= e)
-		Perl_croak(aTHX_ ident_too_long);
+		Perl_croak(aTHX_ "%s", ident_too_long);
 	    *d = '\0';
 	}
+
+        while (s < send && SPACE_OR_TAB(*s))
+	    s++;
+
 	if (*s == '}') {
 	    s++;
 	    if (PL_lex_state == LEX_INTERPNORMAL && !PL_lex_brackets) {
@@ -8780,13 +9406,15 @@
 	    if (PL_lex_state == LEX_NORMAL) {
 		if (ckWARN(WARN_AMBIGUOUS) &&
 		    (keyword(dest, d - dest, 0)
-		     || get_cvn_flags(dest, d - dest, 0)))
+		     || get_cvn_flags(dest, d - dest, is_utf8 ? SVf_UTF8 : 0)))
 		{
+                    SV *tmp = newSVpvn_flags( dest, d - dest,
+                                            SVs_TEMP | (is_utf8 ? SVf_UTF8 : 0) );
 		    if (funny == '#')
 			funny = '@';
 		    Perl_warner(aTHX_ packWARN(WARN_AMBIGUOUS),
-			"Ambiguous use of %c{%s} resolved to %c%s",
-			funny, dest, funny, dest);
+			"Ambiguous use of %c{%"SVf"} resolved to %c%"SVf,
+			funny, tmp, funny, tmp);
 		}
 	    }
 	}
@@ -8806,18 +9434,24 @@
     /* Adds, subtracts to/from 'pmfl' based on regex modifier flags found in
      * the parse starting at 's', based on the subset that are valid in this
      * context input to this routine in 'valid_flags'. Advances s.  Returns
-     * TRUE if the input was a valid flag, so the next char may be as well;
-     * otherwise FALSE. 'charset' should point to a NUL upon first call on the
-     * current regex.  This routine will set it to any charset modifier found.
-     * The caller shouldn't change it.  This way, another charset modifier
-     * encountered in the parse can be detected as an error, as we have decided
-     * allow only one */
+     * TRUE if the input should be treated as a valid flag, so the next char
+     * may be as well; otherwise FALSE. 'charset' should point to a NUL upon
+     * first call on the current regex.  This routine will set it to any
+     * charset modifier found.  The caller shouldn't change it.  This way,
+     * another charset modifier encountered in the parse can be detected as an
+     * error, as we have decided to allow only one */
 
     const char c = **s;
+    STRLEN charlen = UTF ? UTF8SKIP(*s) : 1;
 
-    if (! strchr(valid_flags, c)) {
-        if (isALNUM(c)) {
-	    goto deprecate;
+    if ( charlen != 1 || ! strchr(valid_flags, c) ) {
+        if (isWORDCHAR_lazy_if(*s, UTF)) {
+            yyerror_pv(Perl_form(aTHX_ "Unknown regexp modifier \"/%.*s\"", (int)charlen, *s),
+                       UTF ? SVf_UTF8 : 0);
+            (*s) += charlen;
+            /* Pretend that it worked, so will continue processing before
+             * dieing */
+            return TRUE;
         }
         return FALSE;
     }
@@ -8831,34 +9465,6 @@
         case KEEPCOPY_PAT_MOD:    *pmfl |= RXf_PMf_KEEPCOPY; break;
         case NONDESTRUCT_PAT_MOD: *pmfl |= PMf_NONDESTRUCT; break;
 	case LOCALE_PAT_MOD:
-
-	    /* In 5.14, qr//lt is legal but deprecated; the 't' means they
-	     * can't be regex modifiers.
-	     * In 5.14, s///le is legal and ambiguous.  Try to disambiguate as
-	     * much as easily done.  s///lei, for example, has to mean regex
-	     * modifiers if it's not an error (as does any word character
-	     * following the 'e').  Otherwise, we resolve to the backwards-
-	     * compatible, but less likely 's/// le ...', i.e. as meaning
-	     * less-than-or-equal.  The reason it's not likely is that s//
-	     * returns a number for code in the field (/r returns a string, but
-	     * that wasn't added until the 5.13 series), and so '<=' should be
-	     * used for comparing, not 'le'. */
-	    if (*((*s) + 1) == 't') {
-		goto deprecate;
-	    }
-	    else if (*((*s) + 1) == 'e' && ! isALNUM(*((*s) + 2))) {
-
-		/* 'e' is valid only for substitutes, s///e.  If it is not
-		 * valid in the current context, then 'm//le' must mean the
-		 * comparison operator, so use the regular deprecation message.
-		 */
-		if (! strchr(valid_flags, 'e')) {
-		    goto deprecate;
-		}
-		Perl_ck_warner_d(aTHX_ packWARN(WARN_AMBIGUOUS),
-		    "Ambiguous use of 's//le...' resolved as 's// le...'; Rewrite as 's//el' if you meant 'use locale rules and evaluate rhs as an expression'.  In Perl 5.16, it will be resolved the other way");
-		return FALSE;
-	    }
 	    if (*charset) {
 		goto multiple_charsets;
 	    }
@@ -8866,11 +9472,6 @@
 	    *charset = c;
 	    break;
 	case UNICODE_PAT_MOD:
-	    /* In 5.14, qr//unless and qr//until are legal but deprecated; the
-	     * 'n' means they can't be regex modifiers */
-	    if (*((*s) + 1) == 'n') {
-		goto deprecate;
-	    }
 	    if (*charset) {
 		goto multiple_charsets;
 	    }
@@ -8878,12 +9479,6 @@
 	    *charset = c;
 	    break;
 	case ASCII_RESTRICT_PAT_MOD:
-	    /* In 5.14, qr//and is legal but deprecated; the 'n' means they
-	     * can't be regex modifiers */
-	    if (*((*s) + 1) == 'n') {
-		goto deprecate;
-	    }
-
 	    if (! *charset) {
 		set_regex_charset(pmfl, REGEX_ASCII_RESTRICTED_CHARSET);
 	    }
@@ -8913,11 +9508,6 @@
     (*s)++;
     return TRUE;
 
-    deprecate:
-	Perl_ck_warner_d(aTHX_ packWARN(WARN_SYNTAX),
-	    "Having no space between pattern and following word is deprecated");
-        return FALSE;
-
     multiple_charsets:
 	if (*charset != c) {
 	    yyerror(Perl_form(aTHX_ "Regexp modifiers \"/%c\" and \"/%c\" are mutually exclusive", *charset, c));
@@ -8939,7 +9529,7 @@
 {
     dVAR;
     PMOP *pm;
-    char *s = scan_str(start,!!PL_madskills,FALSE);
+    char *s;
     const char * const valid_flags =
 	(const char *)((type == OP_QR) ? QR_PAT_MODS : M_PAT_MODS);
     char charset = '\0';    /* character set modifier */
@@ -8949,6 +9539,9 @@
 
     PERL_ARGS_ASSERT_SCAN_PAT;
 
+    s = scan_str(start,!!PL_madskills,FALSE, (PL_in_eval & EVAL_RE_REPARSING),
+                       TRUE /* look for escaped bracketed metas */ );
+
     if (!s) {
 	const char * const delimiter = skipspace(start);
 	Perl_croak(aTHX_
@@ -8984,6 +9577,25 @@
 #ifdef PERL_MAD
     modstart = s;
 #endif
+
+    /* if qr/...(?{..}).../, then need to parse the pattern within a new
+     * anon CV. False positives like qr/[(?{]/ are harmless */
+
+    if (type == OP_QR) {
+	STRLEN len;
+	char *e, *p = SvPV(PL_lex_stuff, len);
+	e = p + len;
+	for (; p < e; p++) {
+	    if (p[0] == '(' && p[1] == '?'
+		&& (p[2] == '{' || (p[2] == '?' && p[3] == '{')))
+	    {
+		pm->op_pmflags |= PMf_HAS_CV;
+		break;
+	    }
+	}
+	pm->op_pmflags |= PMf_IS_QR;
+    }
+
     while (*s && S_pmflag(aTHX_ valid_flags, &(pm->op_pmflags), &s, &charset)) {};
 #ifdef PERL_MAD
     if (PL_madskills && modstart != s) {
@@ -9008,7 +9620,7 @@
 {
     dVAR;
     char *s;
-    register PMOP *pm;
+    PMOP *pm;
     I32 first_start;
     I32 es = 0;
     char charset = '\0';    /* character set modifier */
@@ -9020,7 +9632,8 @@
 
     pl_yylval.ival = OP_NULL;
 
-    s = scan_str(start,!!PL_madskills,FALSE);
+    s = scan_str(start,!!PL_madskills,FALSE,FALSE,
+                 TRUE /* look for escaped bracketed metas */ );
 
     if (!s)
 	Perl_croak(aTHX_ "Substitution pattern not terminated");
@@ -9038,7 +9651,7 @@
 #endif
 
     first_start = PL_multi_start;
-    s = scan_str(s,!!PL_madskills,FALSE);
+    s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
     if (!s) {
 	if (PL_lex_stuff) {
 	    SvREFCNT_dec(PL_lex_stuff);
@@ -9085,8 +9698,6 @@
     if (es) {
 	SV * const repl = newSVpvs("");
 
-	PL_sublex_info.super_bufptr = s;
-	PL_sublex_info.super_bufend = PL_bufend;
 	PL_multi_end = 0;
 	pm->op_pmflags |= PMf_EVAL;
 	while (es-- > 0) {
@@ -9096,13 +9707,11 @@
 		sv_catpvs(repl, "do ");
 	}
 	sv_catpvs(repl, "{");
-	sv_catsv(repl, PL_lex_repl);
-	if (strchr(SvPVX(PL_lex_repl), '#'))
-	    sv_catpvs(repl, "\n");
+	sv_catsv(repl, PL_sublex_info.repl);
 	sv_catpvs(repl, "}");
 	SvEVALED_on(repl);
-	SvREFCNT_dec(PL_lex_repl);
-	PL_lex_repl = repl;
+	SvREFCNT_dec(PL_sublex_info.repl);
+	PL_sublex_info.repl = repl;
     }
 
     PL_lex_op = (OP*)pm;
@@ -9114,9 +9723,8 @@
 S_scan_trans(pTHX_ char *start)
 {
     dVAR;
-    register char* s;
+    char* s;
     OP *o;
-    short *tbl;
     U8 squash;
     U8 del;
     U8 complement;
@@ -9129,7 +9737,7 @@
 
     pl_yylval.ival = OP_NULL;
 
-    s = scan_str(start,!!PL_madskills,FALSE);
+    s = scan_str(start,!!PL_madskills,FALSE,FALSE, FALSE);
     if (!s)
 	Perl_croak(aTHX_ "Transliteration pattern not terminated");
 
@@ -9145,7 +9753,7 @@
     }
 #endif
 
-    s = scan_str(s,!!PL_madskills,FALSE);
+    s = scan_str(s,!!PL_madskills,FALSE,FALSE, FALSE);
     if (!s) {
 	if (PL_lex_stuff) {
 	    SvREFCNT_dec(PL_lex_stuff);
@@ -9184,12 +9792,11 @@
     }
   no_more:
 
-    tbl = (short *)PerlMemShared_calloc(complement&&!del?258:256, sizeof(short));
-    o = newPVOP(nondestruct ? OP_TRANSR : OP_TRANS, 0, (char*)tbl);
+    o = newPVOP(nondestruct ? OP_TRANSR : OP_TRANS, 0, (char*)NULL);
     o->op_private &= ~OPpTRANS_ALL;
     o->op_private |= del|squash|complement|
       (DO_UTF8(PL_lex_stuff)? OPpTRANS_FROM_UTF : 0)|
-      (DO_UTF8(PL_lex_repl) ? OPpTRANS_TO_UTF   : 0);
+      (DO_UTF8(PL_sublex_info.repl) ? OPpTRANS_TO_UTF   : 0);
 
     PL_lex_op = o;
     pl_yylval.ival = nondestruct ? OP_TRANSR : OP_TRANS;
@@ -9206,20 +9813,43 @@
     return s;
 }
 
+/* scan_heredoc
+   Takes a pointer to the first < in <<FOO.
+   Returns a pointer to the byte following <<FOO.
+
+   This function scans a heredoc, which involves different methods
+   depending on whether we are in a string eval, quoted construct, etc.
+   This is because PL_linestr could containing a single line of input, or
+   a whole string being evalled, or the contents of the current quote-
+   like operator.
+
+   The two basic methods are:
+    - Steal lines from the input stream
+    - Scan the heredoc in PL_linestr and remove it therefrom
+
+   In a file scope or filtered eval, the first method is used; in a
+   string eval, the second.
+
+   In a quote-like operator, we have to choose between the two,
+   depending on where we can find a newline.  We peek into outer lex-
+   ing scopes until we find one with a newline in it.  If we reach the
+   outermost lexing scope and it is a file, we use the stream method.
+   Otherwise it is treated as an eval.
+*/
+
 STATIC char *
-S_scan_heredoc(pTHX_ register char *s)
+S_scan_heredoc(pTHX_ char *s)
 {
     dVAR;
-    SV *herewas;
     I32 op_type = OP_SCALAR;
     I32 len;
     SV *tmpstr;
     char term;
-    const char *found_newline;
-    register char *d;
-    register char *e;
+    char *d;
+    char *e;
     char *peek;
-    const int outer = (PL_rsfp && !(PL_lex_inwhat == OP_SCALAR));
+    const bool infile = PL_rsfp || PL_parser->filtered;
+    LEXSHARED *shared = PL_parser->lex_shared;
 #ifdef PERL_MAD
     I32 stuffstart = s - SvPVX(PL_linestr);
     char *tstart;
@@ -9230,10 +9860,9 @@
     PERL_ARGS_ASSERT_SCAN_HEREDOC;
 
     s += 2;
-    d = PL_tokenbuf;
+    d = PL_tokenbuf + 1;
     e = PL_tokenbuf + sizeof PL_tokenbuf - 1;
-    if (!outer)
-	*d++ = '\n';
+    *PL_tokenbuf = '\n';
     peek = s;
     while (SPACE_OR_TAB(*peek))
 	peek++;
@@ -9241,18 +9870,20 @@
 	s = peek;
 	term = *s++;
 	s = delimcpy(d, e, s, PL_bufend, term, &len);
+	if (s == PL_bufend)
+	    Perl_croak(aTHX_ "Unterminated delimiter for here document");
 	d += len;
-	if (s < PL_bufend)
-	    s++;
+	s++;
     }
     else {
 	if (*s == '\\')
+            /* <<\FOO is equivalent to <<'FOO' */
 	    s++, term = '\'';
 	else
 	    term = '"';
-	if (!isALNUM_lazy_if(s,UTF))
+	if (!isWORDCHAR_lazy_if(s,UTF))
 	    deprecate("bare << to mean <<\"\"");
-	for (; isALNUM_lazy_if(s,UTF); s++) {
+	for (; isWORDCHAR_lazy_if(s,UTF); s++) {
 	    if (d < e)
 		*d++ = *s;
 	}
@@ -9265,8 +9896,8 @@
 
 #ifdef PERL_MAD
     if (PL_madskills) {
-	tstart = PL_tokenbuf + !outer;
-	PL_thisclose = newSVpvn(tstart, len - !outer);
+	tstart = PL_tokenbuf + 1;
+	PL_thisclose = newSVpvn(tstart, len - 1);
 	tstart = SvPVX(PL_linestr) + stuffstart;
 	PL_thisopen = newSVpvn(tstart, s - tstart);
 	stuffstart = s - SvPVX(PL_linestr);
@@ -9297,20 +9928,6 @@
     }
 #endif
 #ifdef PERL_MAD
-    found_newline = 0;
-#endif
-    if ( outer || !(found_newline = (char*)memchr((void*)s, '\n', PL_bufend - s)) ) {
-        herewas = newSVpvn(s,PL_bufend-s);
-    }
-    else {
-#ifdef PERL_MAD
-        herewas = newSVpvn(s-1,found_newline-s+1);
-#else
-        s--;
-        herewas = newSVpvn(s,found_newline-s);
-#endif
-    }
-#ifdef PERL_MAD
     if (PL_madskills) {
 	tstart = SvPVX(PL_linestr) + stuffstart;
 	if (PL_thisstuff)
@@ -9318,14 +9935,8 @@
 	else
 	    PL_thisstuff = newSVpvn(tstart, s - tstart);
     }
-#endif
-    s += SvCUR(herewas);
 
-#ifdef PERL_MAD
     stuffstart = s - SvPVX(PL_linestr);
-
-    if (found_newline)
-	s--;
 #endif
 
     tmpstr = newSV_type(SVt_PVIV);
@@ -9339,46 +9950,57 @@
 	SvIV_set(tmpstr, '\\');
     }
 
-    CLINE;
-    PL_multi_start = CopLINE(PL_curcop);
+    PL_multi_start = CopLINE(PL_curcop) + 1;
     PL_multi_open = PL_multi_close = '<';
-    term = *PL_tokenbuf;
-    if (PL_lex_inwhat == OP_SUBST && PL_in_eval && !PL_rsfp) {
-	char * const bufptr = PL_sublex_info.super_bufptr;
-	char * const bufend = PL_sublex_info.super_bufend;
-	char * const olds = s - SvCUR(herewas);
-	s = strchr(bufptr, '\n');
-	if (!s)
-	    s = bufend;
-	d = s;
-	while (s < bufend &&
-	  (*s != term || memNE(s,PL_tokenbuf,len)) ) {
-	    if (*s++ == '\n')
-		CopLINE_inc(PL_curcop);
+    /* inside a string eval or quote-like operator */
+    if (!infile || PL_lex_inwhat) {
+	SV *linestr;
+	char *bufend;
+	char * const olds = s;
+	PERL_CONTEXT * const cx = &cxstack[cxstack_ix];
+	/* These two fields are not set until an inner lexing scope is
+	   entered.  But we need them set here. */
+	shared->ls_bufptr  = s;
+	shared->ls_linestr = PL_linestr;
+	if (PL_lex_inwhat)
+	  /* Look for a newline.  If the current buffer does not have one,
+	     peek into the line buffer of the parent lexing scope, going
+ 	     up as many levels as necessary to find one with a newline
+	     after bufptr.
+	   */
+	  while (!(s = (char *)memchr(
+		    (void *)shared->ls_bufptr, '\n',
+		    SvEND(shared->ls_linestr)-shared->ls_bufptr
+		))) {
+	    shared = shared->ls_prev;
+	    /* shared is only null if we have gone beyond the outermost
+	       lexing scope.  In a file, we will have broken out of the
+	       loop in the previous iteration.  In an eval, the string buf-
+	       fer ends with "\n;", so the while condition below will have
+	       evaluated to false.  So shared can never be null. */
+	    assert(shared);
+	    /* A LEXSHARED struct with a null ls_prev pointer is the outer-
+	       most lexing scope.  In a file, shared->ls_linestr at that
+	       level is just one line, so there is no body to steal. */
+	    if (infile && !shared->ls_prev) {
+		s = olds;
+		goto streaming;
+	    }
+	  }
+	else {	/* eval */
+	    s = (char*)memchr((void*)s, '\n', PL_bufend - s);
+	    assert(s);
 	}
-	if (s >= bufend) {
-	    CopLINE_set(PL_curcop, (line_t)PL_multi_start);
-	    missingterm(PL_tokenbuf);
-	}
-	sv_setpvn(herewas,bufptr,d-bufptr+1);
-	sv_setpvn(tmpstr,d+1,s-d);
-	s += len - 1;
-	sv_catpvn(herewas,s,bufend-s);
-	Copy(SvPVX_const(herewas),bufptr,SvCUR(herewas) + 1,char);
-
-	s = olds;
-	goto retval;
-    }
-    else if (!outer) {
+	linestr = shared->ls_linestr;
+	bufend = SvEND(linestr);
 	d = s;
-	while (s < PL_bufend &&
-	  (*s != term || memNE(s,PL_tokenbuf,len)) ) {
+	while (s < bufend - len + 1 &&
+          memNE(s,PL_tokenbuf,len) ) {
 	    if (*s++ == '\n')
-		CopLINE_inc(PL_curcop);
+		++shared->herelines;
 	}
-	if (s >= PL_bufend) {
-	    CopLINE_set(PL_curcop, (line_t)PL_multi_start);
-	    missingterm(PL_tokenbuf);
+	if (s >= bufend - len + 1) {
+	    goto interminable;
 	}
 	sv_setpvn(tmpstr,d+1,s-d);
 #ifdef PERL_MAD
@@ -9391,17 +10013,54 @@
 	}
 #endif
 	s += len - 1;
-	CopLINE_inc(PL_curcop);	/* the preceding stmt passes a newline */
+	/* the preceding stmt passes a newline */
+	shared->herelines++;
 
-	sv_catpvn(herewas,s,PL_bufend-s);
-	sv_setsv(PL_linestr,herewas);
-	PL_oldoldbufptr = PL_oldbufptr = PL_bufptr = s = PL_linestart = SvPVX(PL_linestr);
-	PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
-	PL_last_lop = PL_last_uni = NULL;
+	/* s now points to the newline after the heredoc terminator.
+	   d points to the newline before the body of the heredoc.
+	 */
+
+	/* We are going to modify linestr in place here, so set
+	   aside copies of the string if necessary for re-evals or
+	   (caller $n)[6]. */
+	/* See the Paranoia note in case LEX_INTERPEND in yylex, for why we
+	   check shared->re_eval_str. */
+	if (shared->re_eval_start || shared->re_eval_str) {
+	    /* Set aside the rest of the regexp */
+	    if (!shared->re_eval_str)
+		shared->re_eval_str =
+		       newSVpvn(shared->re_eval_start,
+				bufend - shared->re_eval_start);
+	    shared->re_eval_start -= s-d;
+	}
+	if (cxstack_ix >= 0 && CxTYPE(cx) == CXt_EVAL &&
+            CxOLD_OP_TYPE(cx) == OP_ENTEREVAL &&
+            cx->blk_eval.cur_text == linestr)
+        {
+	    cx->blk_eval.cur_text = newSVsv(linestr);
+	    SvSCREAM_on(cx->blk_eval.cur_text);
+	}
+	/* Copy everything from s onwards back to d. */
+	Move(s,d,bufend-s + 1,char);
+	SvCUR_set(linestr, SvCUR(linestr) - (s-d));
+	/* Setting PL_bufend only applies when we have not dug deeper
+	   into other scopes, because sublex_done sets PL_bufend to
+	   SvEND(PL_linestr). */
+	if (shared == PL_parser->lex_shared) PL_bufend = SvEND(linestr);
+	s = olds;
     }
     else
-	sv_setpvs(tmpstr,"");   /* avoid "uninitialized" warning */
-    while (s >= PL_bufend) {	/* multiple line string? */
+    {
+      SV *linestr_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 */
+      PL_linestr = newSVpvs("");
+      PL_bufend = SvPVX(PL_linestr);
+      while (1) {
 #ifdef PERL_MAD
 	if (PL_madskills) {
 	    tstart = SvPVX(PL_linestr) + stuffstart;
@@ -9411,19 +10070,24 @@
 		PL_thisstuff = newSVpvn(tstart, PL_bufend - tstart);
 	}
 #endif
-	PL_bufptr = s;
-	CopLINE_inc(PL_curcop);
-	if (!outer || !lex_next_chunk(0)) {
-	    CopLINE_set(PL_curcop, (line_t)PL_multi_start);
-	    missingterm(PL_tokenbuf);
+	PL_bufptr = PL_bufend;
+	CopLINE_set(PL_curcop,
+		    PL_multi_start + shared->herelines);
+	if (!lex_next_chunk(LEX_NO_TERM)
+	 && (!SvCUR(tmpstr) || SvEND(tmpstr)[-1] != '\n')) {
+	    SvREFCNT_dec(linestr_save);
+	    goto interminable;
 	}
-	CopLINE_dec(PL_curcop);
+	CopLINE_set(PL_curcop, (line_t)PL_multi_start - 1);
+	if (!SvCUR(PL_linestr) || PL_bufend[-1] != '\n') {
+	    lex_grow_linestr(SvCUR(PL_linestr) + 2);
+	    sv_catpvs(PL_linestr, "\n\0");
+	}
 	s = PL_bufptr;
 #ifdef PERL_MAD
 	stuffstart = s - SvPVX(PL_linestr);
 #endif
-	CopLINE_inc(PL_curcop);
-	PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
+	shared->herelines++;
 	PL_last_lop = PL_last_uni = NULL;
 #ifndef PERL_STRICT_CR
 	if (PL_bufend - PL_linestart >= 2) {
@@ -9440,26 +10104,23 @@
 	else if (PL_bufend - PL_linestart == 1 && PL_bufend[-1] == '\r')
 	    PL_bufend[-1] = '\n';
 #endif
-	if (*s == term && memEQ(s,PL_tokenbuf,len)) {
-	    STRLEN off = PL_bufend - 1 - SvPVX_const(PL_linestr);
-	    *(SvPVX(PL_linestr) + off ) = ' ';
-	    lex_grow_linestr(SvCUR(PL_linestr) + SvCUR(herewas) + 1);
-	    sv_catsv(PL_linestr,herewas);
+	if (*s == term && memEQ(s,PL_tokenbuf + 1,len)) {
+	    SvREFCNT_dec(PL_linestr);
+	    PL_linestr = linestr_save;
+	    PL_linestart = SvPVX(linestr_save);
 	    PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
-	    s = SvPVX(PL_linestr) + off; /* In case PV of PL_linestr moved. */
+	    s = d;
+	    break;
 	}
 	else {
-	    s = PL_bufend;
 	    sv_catsv(tmpstr,PL_linestr);
 	}
+      }
     }
-    s++;
-retval:
     PL_multi_end = CopLINE(PL_curcop);
     if (SvCUR(tmpstr) + 5 < SvLEN(tmpstr)) {
 	SvPV_shrink_to_cur(tmpstr);
     }
-    SvREFCNT_dec(herewas);
     if (!IN_BYTES) {
 	if (UTF && is_utf8_string((U8*)SvPVX_const(tmpstr), SvCUR(tmpstr)))
 	    SvUTF8_on(tmpstr);
@@ -9469,6 +10130,11 @@
     PL_lex_stuff = tmpstr;
     pl_yylval.ival = op_type;
     return s;
+
+  interminable:
+    SvREFCNT_dec(tmpstr);
+    CopLINE_set(PL_curcop, (line_t)PL_multi_start - 1);
+    missingterm(PL_tokenbuf + 1);
 }
 
 /* scan_inputsymbol
@@ -9491,7 +10157,7 @@
 S_scan_inputsymbol(pTHX_ char *start)
 {
     dVAR;
-    register char *s = start;		/* current position in buffer */
+    char *s = start;		/* current position in buffer */
     char *end;
     I32 len;
     char *d = PL_tokenbuf;					/* start of temp holding space */
@@ -9525,8 +10191,8 @@
     if (*d == '$' && d[1]) d++;
 
     /* allow <Pkg'VALUE> or <Pkg::VALUE> */
-    while (*d && (isALNUM_lazy_if(d,UTF) || *d == '\'' || *d == ':'))
-	d++;
+    while (*d && (isWORDCHAR_lazy_if(d,UTF) || *d == '\'' || *d == ':'))
+	d += UTF ? UTF8SKIP(d) : 1;
 
     /* If we've tried to read what we allow filehandles to look like, and
        there's still text left, then it must be a glob() and not a getline.
@@ -9536,7 +10202,7 @@
 
     if (d - PL_tokenbuf != len) {
 	pl_yylval.ival = OP_GLOB;
-	s = scan_str(start,!!PL_madskills,FALSE);
+	s = scan_str(start,!!PL_madskills,FALSE,FALSE, FALSE);
 	if (!s)
 	   Perl_croak(aTHX_ "Glob not terminated");
 	return s;
@@ -9569,7 +10235,7 @@
 	    /* try to find it in the pad for this block, otherwise find
 	       add symbol table ops
 	    */
-	    const PADOFFSET tmp = pad_findmy(d, len, 0);
+	    const PADOFFSET tmp = pad_findmy_pvn(d, len, UTF ? SVf_UTF8 : 0);
 	    if (tmp != NOT_IN_PAD) {
 		if (PAD_COMPNAME_FLAGS_isOUR(tmp)) {
 		    HV * const stash = PAD_COMPNAME_OURSTASH(tmp);
@@ -9597,7 +10263,7 @@
 		gv = gv_fetchpv(d,
 				(PL_in_eval
 				 ? (GV_ADDMULTI | GV_ADDINEVAL)
-				 : GV_ADDMULTI),
+				 : GV_ADDMULTI) | ( UTF ? SVf_UTF8 : 0 ),
 				SVt_PV);
 		PL_lex_op = readline_overriden
 		    ? (OP*)newUNOP(OP_ENTERSUB, OPf_STACKED,
@@ -9617,7 +10283,7 @@
 	/* If it's none of the above, it must be a literal filehandle
 	   (<Foo::BAR> or <FOO>) so build a simple readline OP */
 	else {
-	    GV * const gv = gv_fetchpv(d, GV_ADD, SVt_PVIO);
+	    GV * const gv = gv_fetchpv(d, GV_ADD | ( UTF ? SVf_UTF8 : 0 ), SVt_PVIO);
 	    PL_lex_op = readline_overriden
 		? (OP*)newUNOP(OP_ENTERSUB, OPf_STACKED,
 			op_append_elem(OP_LIST,
@@ -9636,6 +10302,8 @@
    takes: start position in buffer
 	  keep_quoted preserve \ on the embedded delimiter(s)
 	  keep_delims preserve the delimiters around the string
+	  re_reparse  compiling a run-time /(?{})/:
+			collapse // to /,  and skip encoding src
    returns: position to continue reading from buffer
    side-effects: multi_start, multi_close, lex_repl or lex_stuff, and
    	updates the read buffer.
@@ -9676,20 +10344,25 @@
 */
 
 STATIC char *
-S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims)
+S_scan_str(pTHX_ char *start, int keep_quoted, int keep_delims, int re_reparse,
+        bool deprecate_escaped_meta /* Should we issue a deprecation warning
+                                       for certain paired metacharacters that
+                                       appear escaped within it */
+    )
 {
     dVAR;
-    SV *sv;				/* scalar value: string */
-    const char *tmps;			/* temp string, used for delimiter matching */
-    register char *s = start;		/* current position in the buffer */
-    register char term;			/* terminating character */
-    register char *to;			/* current position in the sv's data */
-    I32 brackets = 1;			/* bracket nesting level */
-    bool has_utf8 = FALSE;		/* is there any utf8 content? */
-    I32 termcode;			/* terminating char. code */
-    U8 termstr[UTF8_MAXBYTES];		/* terminating string */
-    STRLEN termlen;			/* length of terminating string */
-    int last_off = 0;			/* last position for nesting bracket */
+    SV *sv;			/* scalar value: string */
+    const char *tmps;		/* temp string, used for delimiter matching */
+    char *s = start;		/* current position in the buffer */
+    char term;			/* terminating character */
+    char *to;			/* current position in the sv's data */
+    I32 brackets = 1;		/* bracket nesting level */
+    bool has_utf8 = FALSE;	/* is there any utf8 content? */
+    I32 termcode;		/* terminating char. code */
+    U8 termstr[UTF8_MAXBYTES];	/* terminating string */
+    STRLEN termlen;		/* length of terminating string */
+    int last_off = 0;		/* last position for nesting bracket */
+    char *escaped_open = NULL;
 #ifdef PERL_MAD
     int stuffstart;
     char *tstart;
@@ -9720,7 +10393,7 @@
 	termlen = 1;
     }
     else {
-	termcode = utf8_to_uvchr((U8*)s, &termlen);
+	termcode = utf8_to_uvchr_buf((U8*)s, (U8*)PL_bufend, &termlen);
 	Copy(s, termstr, termlen, U8);
 	if (!UTF8_IS_INVARIANT(term))
 	    has_utf8 = TRUE;
@@ -9736,6 +10409,18 @@
 
     PL_multi_close = term;
 
+    /* A warning is raised if the input parameter requires it for escaped (by a
+     * backslash) paired metacharacters {} [] and () when the delimiters are
+     * those same characters, and the backslash is ineffective.  This doesn't
+     * happen for <>, as they aren't metas. */
+    if (deprecate_escaped_meta
+        && (PL_multi_open == PL_multi_close
+            || ! ckWARN_d(WARN_DEPRECATED)
+            || PL_multi_open == '<'))
+    {
+        deprecate_escaped_meta = FALSE;
+    }
+
     /* create a new SV to hold the contents.  79 is the SV's initial length.
        What a random number. */
     sv = newSV_type(SVt_PVIV);
@@ -9749,13 +10434,13 @@
     s += termlen;
 #ifdef PERL_MAD
     tstart = SvPVX(PL_linestr) + stuffstart;
-    if (!PL_thisopen && !keep_delims) {
+    if (PL_madskills && !PL_thisopen && !keep_delims) {
 	PL_thisopen = newSVpvn(tstart, s - tstart);
 	stuffstart = s - SvPVX(PL_linestr);
     }
 #endif
     for (;;) {
-	if (PL_encoding && !UTF) {
+	if (PL_encoding && !UTF && !re_reparse) {
 	    bool cont = TRUE;
 
 	    while (cont) {
@@ -9766,8 +10451,8 @@
 		char * const svlast = SvEND(sv) - 1;
 
 		for (; s < ns; s++) {
-		    if (*s == '\n' && !PL_rsfp)
-			CopLINE_inc(PL_curcop);
+		    if (*s == '\n' && !PL_rsfp && !PL_parser->filtered)
+			COPLINE_INC_WITH_HERELINES;
 		}
 		if (!found)
 		    goto read_more_line;
@@ -9833,13 +10518,16 @@
 	if (PL_multi_open == PL_multi_close) {
 	    for (; s < PL_bufend; s++,to++) {
 	    	/* embedded newlines increment the current line number */
-		if (*s == '\n' && !PL_rsfp)
-		    CopLINE_inc(PL_curcop);
+		if (*s == '\n' && !PL_rsfp && !PL_parser->filtered)
+		    COPLINE_INC_WITH_HERELINES;
 		/* handle quoted delimiters */
 		if (*s == '\\' && s+1 < PL_bufend && term != '\\') {
-		    if (!keep_quoted && s[1] == term)
+		    if (!keep_quoted
+		        && (s[1] == term
+			    || (re_reparse && s[1] == '\\'))
+		    )
 			s++;
-		/* any other quotes are simply copied straight through */
+		    /* any other quotes are simply copied straight through */
 		    else
 			*to++ = *s++;
 		}
@@ -9865,13 +10553,50 @@
 	    /* read until we run out of string, or we find the terminator */
 	    for (; s < PL_bufend; s++,to++) {
 	    	/* embedded newlines increment the line count */
-		if (*s == '\n' && !PL_rsfp)
-		    CopLINE_inc(PL_curcop);
+		if (*s == '\n' && !PL_rsfp && !PL_parser->filtered)
+		    COPLINE_INC_WITH_HERELINES;
 		/* backslashes can escape the open or closing characters */
 		if (*s == '\\' && s+1 < PL_bufend) {
 		    if (!keep_quoted &&
 			((s[1] == PL_multi_open) || (s[1] == PL_multi_close)))
+                    {
 			s++;
+
+                        /* Here, 'deprecate_escaped_meta' is true iff the
+                         * delimiters are paired metacharacters, and 's' points
+                         * to an occurrence of one of them within the string,
+                         * which was preceded by a backslash.  If this is a
+                         * context where the delimiter is also a metacharacter,
+                         * the backslash is useless, and deprecated.  () and []
+                         * are meta in any context. {} are meta only when
+                         * appearing in a quantifier or in things like '\p{'.
+                         * They also aren't meta unless there is a matching
+                         * closed, escaped char later on within the string.
+                         * If 's' points to an open, set a flag; if to a close,
+                         * test that flag, and raise a warning if it was set */
+
+			if (deprecate_escaped_meta) {
+                            if (*s == PL_multi_open) {
+                                if (*s != '{') {
+                                    escaped_open = s;
+                                }
+                                else if (regcurly(s,
+                                                  TRUE /* Look for a closing
+                                                          '\}' */)
+                                         || (s - start > 2  /* Look for e.g.
+                                                               '\x{' */
+                                             && _generic_isCC(*(s-2), _CC_BACKSLASH_FOO_LBRACE_IS_META)))
+                                {
+                                    escaped_open = s;
+                                }
+                            }
+                            else if (escaped_open) {
+                                Perl_warner(aTHX_ packWARN(WARN_DEPRECATED),
+                                    "Useless use of '\\'; doesn't escape metacharacter '%c'", PL_multi_open);
+                                escaped_open = NULL;
+                            }
+                        }
+                    }
 		    else
 			*to++ = *s++;
 		}
@@ -9925,7 +10650,7 @@
 		PL_thisstuff = newSVpvn(tstart, PL_bufend - tstart);
 	}
 #endif
-	CopLINE_inc(PL_curcop);
+	COPLINE_INC_WITH_HERELINES;
 	PL_bufptr = PL_bufend;
 	if (!lex_next_chunk(0)) {
 	    sv_free(sv);
@@ -9940,7 +10665,7 @@
 
     /* at this point, we have successfully read the delimited string */
 
-    if (!PL_encoding || UTF) {
+    if (!PL_encoding || UTF || re_reparse) {
 #ifdef PERL_MAD
 	if (PL_madskills) {
 	    char * const tstart = SvPVX(PL_linestr) + stuffstart;
@@ -9972,7 +10697,7 @@
 	}
     }
 #endif
-    if (has_utf8 || PL_encoding)
+    if (has_utf8 || (PL_encoding && !re_reparse))
 	SvUTF8_on(sv);
 
     PL_multi_end = CopLINE(PL_curcop);
@@ -9988,7 +10713,7 @@
     */
 
     if (PL_lex_stuff)
-	PL_lex_repl = sv;
+	PL_sublex_info.repl = sv;
     else
 	PL_lex_stuff = sv;
     return s;
@@ -10020,14 +10745,14 @@
 Perl_scan_num(pTHX_ const char *start, YYSTYPE* lvalp)
 {
     dVAR;
-    register const char *s = start;	/* current position in buffer */
-    register char *d;			/* destination in temp buffer */
-    register char *e;			/* end of temp buffer */
+    const char *s = start;	/* current position in buffer */
+    char *d;			/* destination in temp buffer */
+    char *e;			/* end of temp buffer */
     NV nv;				/* number read, as a double */
     SV *sv = NULL;			/* place to put the converted number */
     bool floatit;			/* boolean: int or float? */
     const char *lastub = NULL;		/* position of last underbar */
-    static char const number_too_long[] = "Number too long";
+    static const char* const number_too_long = "Number too long";
 
     PERL_ARGS_ASSERT_SCAN_NUM;
 
@@ -10035,7 +10760,7 @@
 
     switch (*s) {
     default:
-      Perl_croak(aTHX_ "panic: scan_num");
+	Perl_croak(aTHX_ "panic: scan_num, *s=%d", *s);
 
     /* if it starts with a 0, it could be an octal number, a decimal in
        0.13 disguise, or a hexadecimal number, or a binary number. */
@@ -10237,7 +10962,7 @@
 	    else {
 	        /* check for end of fixed-length buffer */
 		if (d >= e)
-		    Perl_croak(aTHX_ number_too_long);
+		    Perl_croak(aTHX_ "%s", number_too_long);
 		/* if we're ok, copy the character */
 		*d++ = *s++;
 	    }
@@ -10267,7 +10992,7 @@
 	    for (; isDIGIT(*s) || *s == '_'; s++) {
 	        /* fixed length buffer check */
 		if (d >= e)
-		    Perl_croak(aTHX_ number_too_long);
+		    Perl_croak(aTHX_ "%s", number_too_long);
 		if (*s == '_') {
 		   if (lastub && s == lastub + 1)
 		       Perl_ck_warner(aTHX_ packWARN(WARN_SYNTAX),
@@ -10319,7 +11044,7 @@
 	    while (isDIGIT(*s) || *s == '_') {
 	        if (isDIGIT(*s)) {
 		    if (d >= e)
-		        Perl_croak(aTHX_ number_too_long);
+		        Perl_croak(aTHX_ "%s", number_too_long);
 		    *d++ = *s++;
 		}
 		else {
@@ -10375,7 +11100,11 @@
     case 'v':
 vstring:
 		sv = newSV(5); /* preallocate storage space */
+		ENTER_with_name("scan_vstring");
+		SAVEFREESV(sv);
 		s = scan_vstring(s, PL_bufend, sv);
+		SvREFCNT_inc_simple_void_NN(sv);
+		LEAVE_with_name("scan_vstring");
 	break;
     }
 
@@ -10390,11 +11119,11 @@
 }
 
 STATIC char *
-S_scan_formline(pTHX_ register char *s)
+S_scan_formline(pTHX_ char *s)
 {
     dVAR;
-    register char *eol;
-    register char *t;
+    char *eol;
+    char *t;
     SV * const stuff = newSVpvs("");
     bool needargs = FALSE;
     bool eofmt = FALSE;
@@ -10425,13 +11154,9 @@
 		break;
             }
 	}
-	if (PL_in_eval && !PL_rsfp) {
-	    eol = (char *) memchr(s,'\n',PL_bufend-s);
-	    if (!eol++)
+	eol = (char *) memchr(s,'\n',PL_bufend-s);
+	if (!eol++)
 		eol = PL_bufend;
-	}
-	else
-	    eol = PL_bufend = SvPVX(PL_linestr) + SvCUR(PL_linestr);
 	if (*s != '#') {
 	    for (t = s; t < eol; t++) {
 		if (*t == '~' && t[1] == '~' && SvCUR(stuff)) {
@@ -10456,7 +11181,8 @@
 	      break;
 	}
 	s = (char*)eol;
-	if (PL_rsfp) {
+	if ((PL_rsfp || PL_parser->filtered)
+	 && PL_parser->form_lex_state == LEX_NORMAL) {
 	    bool got_some;
 #ifdef PERL_MAD
 	    if (PL_madskills) {
@@ -10467,7 +11193,7 @@
 	    }
 #endif
 	    PL_bufptr = PL_bufend;
-	    CopLINE_inc(PL_curcop);
+	    COPLINE_INC_WITH_HERELINES;
 	    got_some = lex_next_chunk(0);
 	    CopLINE_dec(PL_curcop);
 	    s = PL_bufptr;
@@ -10480,16 +11206,15 @@
 	incline(s);
     }
   enough:
+    if (!SvCUR(stuff) || needargs)
+	PL_lex_state = PL_parser->form_lex_state;
     if (SvCUR(stuff)) {
-	PL_expect = XTERM;
+	PL_expect = XSTATE;
 	if (needargs) {
-	    PL_lex_state = LEX_NORMAL;
 	    start_force(PL_curforce);
 	    NEXTVAL_NEXTTOKE.ival = 0;
-	    force_next(',');
+	    force_next(FORMLBRACK);
 	}
-	else
-	    PL_lex_state = LEX_FORMLINE;
 	if (!IN_BYTES) {
 	    if (UTF && is_utf8_string((U8*)SvPVX_const(stuff), SvCUR(stuff)))
 		SvUTF8_on(stuff);
@@ -10499,15 +11224,11 @@
 	start_force(PL_curforce);
 	NEXTVAL_NEXTTOKE.opval = (OP*)newSVOP(OP_CONST, 0, stuff);
 	force_next(THING);
-	start_force(PL_curforce);
-	NEXTVAL_NEXTTOKE.ival = OP_FORMLINE;
-	force_next(LSTOP);
     }
     else {
 	SvREFCNT_dec(stuff);
 	if (eofmt)
 	    PL_lex_formbrack = 0;
-	PL_bufptr = s;
     }
 #ifdef PERL_MAD
     if (PL_madskills) {
@@ -10528,9 +11249,6 @@
     const I32 oldsavestack_ix = PL_savestack_ix;
     CV* const outsidecv = PL_compcv;
 
-    if (PL_compcv) {
-	assert(SvTYPE(PL_compcv) == SVt_PVCV);
-    }
     SAVEI32(PL_subline);
     save_item(PL_subname);
     SAVESPTR(PL_compcv);
@@ -10542,6 +11260,9 @@
     CvPADLIST(PL_compcv) = pad_new(padnew_SAVE|padnew_SAVESUB);
     CvOUTSIDE(PL_compcv) = MUTABLE_CV(SvREFCNT_inc_simple(outsidecv));
     CvOUTSIDE_SEQ(PL_compcv) = PL_cop_seqmax;
+    if (outsidecv && CvPADLIST(outsidecv))
+	CvPADLIST(PL_compcv)->xpadl_outid =
+	    PadlistNAMES(CvPADLIST(outsidecv));
 
     return oldsavestack_ix;
 }
@@ -10550,7 +11271,7 @@
 #pragma segment Perl_yylex
 #endif
 static int
-S_yywarn(pTHX_ const char *const s)
+S_yywarn(pTHX_ const char *const s, U32 flags)
 {
     dVAR;
 
@@ -10557,7 +11278,7 @@
     PERL_ARGS_ASSERT_YYWARN;
 
     PL_in_eval |= EVAL_WARNONLY;
-    yyerror(s);
+    yyerror_pv(s, flags);
     PL_in_eval &= ~EVAL_WARNONLY;
     return 0;
 }
@@ -10565,17 +11286,31 @@
 int
 Perl_yyerror(pTHX_ const char *const s)
 {
+    PERL_ARGS_ASSERT_YYERROR;
+    return yyerror_pvn(s, strlen(s), 0);
+}
+
+int
+Perl_yyerror_pv(pTHX_ const char *const s, U32 flags)
+{
+    PERL_ARGS_ASSERT_YYERROR_PV;
+    return yyerror_pvn(s, strlen(s), flags);
+}
+
+int
+Perl_yyerror_pvn(pTHX_ const char *const s, STRLEN len, U32 flags)
+{
     dVAR;
-    const char *where = NULL;
     const char *context = NULL;
     int contlen = -1;
     SV *msg;
+    SV * const where_sv = newSVpvs_flags("", SVs_TEMP);
     int yychar  = PL_parser->yychar;
 
-    PERL_ARGS_ASSERT_YYERROR;
+    PERL_ARGS_ASSERT_YYERROR_PVN;
 
     if (!yychar || (yychar == ';' && !PL_rsfp))
-	where = "at EOF";
+	sv_catpvs(where_sv, "at EOF");
     else if (PL_oldoldbufptr && PL_bufptr > PL_oldoldbufptr &&
       PL_bufptr - PL_oldoldbufptr < 200 && PL_oldoldbufptr != PL_oldbufptr &&
       PL_oldbufptr != PL_bufptr) {
@@ -10610,18 +11345,18 @@
 	contlen = PL_bufptr - PL_oldbufptr;
     }
     else if (yychar > 255)
-	where = "next token ???";
+	sv_catpvs(where_sv, "next token ???");
     else if (yychar == -2) { /* YYEMPTY */
 	if (PL_lex_state == LEX_NORMAL ||
 	   (PL_lex_state == LEX_KNOWNEXT && PL_lex_defer == LEX_NORMAL))
-	    where = "at end of line";
+	    sv_catpvs(where_sv, "at end of line");
 	else if (PL_lex_inpat)
-	    where = "within pattern";
+	    sv_catpvs(where_sv, "within pattern");
 	else
-	    where = "within string";
+	    sv_catpvs(where_sv, "within string");
     }
     else {
-	SV * const where_sv = newSVpvs_flags("next char ", SVs_TEMP);
+	sv_catpvs(where_sv, "next char ");
 	if (yychar < 32)
 	    Perl_sv_catpvf(aTHX_ where_sv, "^%c", toCTRL(yychar));
 	else if (isPRINT_LC(yychar)) {
@@ -10630,15 +11365,16 @@
 	}
 	else
 	    Perl_sv_catpvf(aTHX_ where_sv, "\\%03o", yychar & 255);
-	where = SvPVX_const(where_sv);
     }
-    msg = sv_2mortal(newSVpv(s, 0));
+    msg = newSVpvn_flags(s, len, (flags & SVf_UTF8) | SVs_TEMP);
     Perl_sv_catpvf(aTHX_ msg, " at %s line %"IVdf", ",
         OutCopFILE(PL_curcop), (IV)CopLINE(PL_curcop));
     if (context)
-	Perl_sv_catpvf(aTHX_ msg, "near \"%.*s\"\n", contlen, context);
+	Perl_sv_catpvf(aTHX_ msg, "near \"%"SVf"\"\n",
+                            SVfARG(newSVpvn_flags(context, contlen,
+                                        SVs_TEMP | (UTF ? SVf_UTF8 : 0))));
     else
-	Perl_sv_catpvf(aTHX_ msg, "%s\n", where);
+	Perl_sv_catpvf(aTHX_ msg, "%"SVf"\n", SVfARG(where_sv));
     if (PL_multi_start < PL_multi_end && (U32)(CopLINE(PL_curcop) - PL_multi_end) <= 1) {
         Perl_sv_catpvf(aTHX_ msg,
         "  (Might be a runaway multi-line %c%c string starting on line %"IVdf")\n",
@@ -10651,9 +11387,10 @@
     else
 	qerror(msg);
     if (PL_error_count >= 10) {
-	if (PL_in_eval && SvCUR(ERRSV))
+	SV * errsv;
+	if (PL_in_eval && ((errsv = ERRSV), SvCUR(errsv)))
 	    Perl_croak(aTHX_ "%"SVf"%s has too many errors.\n",
-		       SVfARG(ERRSV), OutCopFILE(PL_curcop));
+		       SVfARG(errsv), OutCopFILE(PL_curcop));
 	else
 	    Perl_croak(aTHX_ "%s has too many errors.\n",
             OutCopFILE(PL_curcop));
@@ -10679,6 +11416,7 @@
 	if (s[1] == 0xFE) {
 	    /* UTF-16 little-endian? (or UTF-32LE?) */
 	    if (s[2] == 0 && s[3] == 0)  /* UTF-32 little-endian */
+		/* diag_listed_as: Unsupported script encoding %s */
 		Perl_croak(aTHX_ "Unsupported script encoding UTF-32LE");
 #ifndef PERL_NO_UTF16_FILTER
 	    if (DEBUG_p_TEST || DEBUG_T_TEST) PerlIO_printf(Perl_debug_log, "UTF-16LE script encoding (BOM)\n");
@@ -10687,6 +11425,7 @@
 		s = add_utf16_textfilter(s, TRUE);
 	    }
 #else
+	    /* diag_listed_as: Unsupported script encoding %s */
 	    Perl_croak(aTHX_ "Unsupported script encoding UTF-16LE");
 #endif
 	}
@@ -10700,6 +11439,7 @@
 		s = add_utf16_textfilter(s, FALSE);
 	    }
 #else
+	    /* diag_listed_as: Unsupported script encoding %s */
 	    Perl_croak(aTHX_ "Unsupported script encoding UTF-16BE");
 #endif
 	}
@@ -10715,6 +11455,7 @@
 	     if (s[1] == 0) {
 		  if (s[2] == 0xFE && s[3] == 0xFF) {
 		       /* UTF-32 big-endian */
+		       /* diag_listed_as: Unsupported script encoding %s */
 		       Perl_croak(aTHX_ "Unsupported script encoding UTF-32BE");
 		  }
 	     }
@@ -10726,6 +11467,7 @@
 		  if (DEBUG_p_TEST || DEBUG_T_TEST) PerlIO_printf(Perl_debug_log, "UTF-16BE script encoding (no BOM)\n");
 		  s = add_utf16_textfilter(s, FALSE);
 #else
+		  /* diag_listed_as: Unsupported script encoding %s */
 		  Perl_croak(aTHX_ "Unsupported script encoding UTF-16BE");
 #endif
 	     }
@@ -10748,6 +11490,7 @@
 	      if (DEBUG_p_TEST || DEBUG_T_TEST) PerlIO_printf(Perl_debug_log, "UTF-16LE script encoding (no BOM)\n");
 	      s = add_utf16_textfilter(s, TRUE);
 #else
+	      /* diag_listed_as: Unsupported script encoding %s */
 	      Perl_croak(aTHX_ "Unsupported script encoding UTF-16LE");
 #endif
 	 }
@@ -10911,7 +11654,7 @@
 
 Function must be called like
 
-	sv = newSV(5);
+	sv = sv_2mortal(newSV(5));
 	s = scan_vstring(s,e,sv);
 
 where s and e are the start and end of the string.
@@ -10918,6 +11661,11 @@
 The sv should already be large enough to store the vstring
 passed in, for performance reasons.
 
+This function may croak if fatal warnings are enabled in the
+calling scope, hence the sv_2mortal in the example (to prevent
+a leak).  Make sure to do SvREFCNT_inc afterwards if you use
+sv_2mortal.
+
 */
 
 char *
@@ -10964,6 +11712,7 @@
 		    rev += (*end - '0') * mult;
 		    mult *= 10;
 		    if (orev > rev)
+			/* diag_listed_as: Integer overflow in %s number */
 			Perl_ck_warner_d(aTHX_ packWARN(WARN_OVERFLOW),
 					 "Integer overflow in decimal number");
 		}
@@ -11282,16 +12031,10 @@
     if (PL_lex_state == LEX_KNOWNEXT) {
 	PL_parser->yychar = yylex();
 	if (PL_parser->yychar == LABEL) {
-	    char *lpv = pl_yylval.pval;
+	    char * const lpv = pl_yylval.pval;
 	    STRLEN llen = strlen(lpv);
-	    SV *lsv;
 	    PL_parser->yychar = YYEMPTY;
-	    lsv = newSV_type(SVt_PV);
-	    SvPV_set(lsv, lpv);
-	    SvCUR_set(lsv, llen);
-	    SvLEN_set(lsv, llen+1);
-	    SvPOK_on(lsv);
-	    return lsv;
+	    return newSVpvn_flags(lpv, llen, lpv[llen+1] ? SVf_UTF8 : 0);
 	} else {
 	    yyunlex();
 	    goto no_label;
@@ -11298,17 +12041,12 @@
 	}
     } else {
 	char *s, *t;
-	U8 c;
 	STRLEN wlen, bufptr_pos;
 	lex_read_space(0);
 	t = s = PL_bufptr;
-	c = (U8)*s;
-	if (!isIDFIRST_A(c))
+        if (!isIDFIRST_lazy_if(s, UTF))
 	    goto no_label;
-	do {
-	    c = (U8)*++t;
-	} while(isWORDCHAR_A(c));
-	wlen = t - s;
+	t = scan_word(s, PL_tokenbuf, sizeof PL_tokenbuf, FALSE, &wlen);
 	if (word_takes_any_delimeter(s, wlen))
 	    goto no_label;
 	bufptr_pos = s - SvPVX(PL_linestr);
@@ -11320,7 +12058,7 @@
 	    PL_oldoldbufptr = PL_oldbufptr;
 	    PL_oldbufptr = s;
 	    PL_bufptr = t+1;
-	    return newSVpvn(s, wlen);
+	    return newSVpvn_flags(s, wlen, UTF ? SVf_UTF8 : 0);
 	} else {
 	    PL_bufptr = s;
 	    no_label:
@@ -11413,29 +12151,12 @@
     return stmtseqop;
 }
 
-void
-Perl_munge_qwlist_to_paren_list(pTHX_ OP *qwlist)
-{
-    PERL_ARGS_ASSERT_MUNGE_QWLIST_TO_PAREN_LIST;
-    deprecate("qw(...) as parentheses");
-    force_next((4<<24)|')');
-    if (qwlist->op_type == OP_STUB) {
-	op_free(qwlist);
-    }
-    else {
-	start_force(PL_curforce);
-	NEXTVAL_NEXTTOKE.opval = qwlist;
-	force_next(THING);
-    }
-    force_next((2<<24)|'(');
-}
-
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/toke.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/uconfig.h
===================================================================
--- vendor/perl/dist/uconfig.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/uconfig.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -88,7 +88,7 @@
  *	of significant digits in a double precision number.  If this
  *	symbol is not defined, a guess of 15 is usually pretty good.
  */
-/*#define HAS_DBL_DIG 	/ * */
+/*#define HAS_DBL_DIG 	/ **/
 
 /* HAS_DIFFTIME:
  *	This symbol, if defined, indicates that the difftime routine is
@@ -527,7 +527,7 @@
  *	This symbol, if defined, indicates that the strtol routine is available
  *	to provide better numeric string conversion than atoi() and friends.
  */
-/*#define HAS_STRTOL	/ **/
+#define HAS_STRTOL	/**/
 
 /* HAS_STRXFRM:
  *	This symbol, if defined, indicates that the strxfrm() routine is
@@ -879,47 +879,19 @@
 #define	_V(args) ()
 #endif
 
-/* INTSIZE:
- *	This symbol contains the value of sizeof(int) so that the C
- *	preprocessor can make decisions based on it.
+/* OSNAME:
+ *	This symbol contains the name of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
  */
-/* LONGSIZE:
- *	This symbol contains the value of sizeof(long) so that the C
- *	preprocessor can make decisions based on it.
+/* OSVERS:
+ *	This symbol contains the version of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
  */
-/* SHORTSIZE:
- *	This symbol contains the value of sizeof(short) so that the C
- *	preprocessor can make decisions based on it.
- */
-#define INTSIZE 4		/**/
-#define LONGSIZE 4		/**/
-#define SHORTSIZE 2		/**/
+#define OSNAME "unknown"		/**/
+#define OSVERS "unknown"		/**/
 
-/* MULTIARCH:
- *	This symbol, if defined, signifies that the build
- *	process will produce some binary files that are going to be
- *	used in a cross-platform environment.  This is the case for
- *	example with the NeXT "fat" binaries that contain executables
- *	for several CPUs.
- */
-/*#define MULTIARCH		/ **/
-
-/* HAS_QUAD:
- *	This symbol, if defined, tells that there's a 64-bit integer type,
- *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
- *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
- */
-/*#define HAS_QUAD	/ **/
-#ifdef HAS_QUAD
-#   define Quad_t int64_t	/**/
-#   define Uquad_t uint64_t	/**/
-#   define QUADKIND 4	/**/
-#   define QUAD_IS_INT	1
-#   define QUAD_IS_LONG	2
-#   define QUAD_IS_LONG_LONG	3
-#   define QUAD_IS_INT64_T	4
-#endif
-
 /* USE_CROSS_COMPILE:
  *	This symbol, if defined, indicates that Perl is being cross-compiled.
  */
@@ -932,16 +904,22 @@
 #define	PERL_TARGETARCH	""	/**/
 #endif
 
+/* MULTIARCH:
+ *	This symbol, if defined, signifies that the build
+ *	process will produce some binary files that are going to be
+ *	used in a cross-platform environment.  This is the case for
+ *	example with the NeXT "fat" binaries that contain executables
+ *	for several CPUs.
+ */
+/*#define MULTIARCH		/ **/
+
 /* MEM_ALIGNBYTES:
  *	This symbol contains the number of bytes required to align a
  *	double, or a long double when applicable. Usual values are 2,
- *	4 and 8. The default is eight, for safety.
+ *	4 and 8. The default is eight, for safety.  For cross-compiling
+ *  	or multiarch support, Configure will set a minimum of 8.
  */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-#  define MEM_ALIGNBYTES 8
-#else
 #define MEM_ALIGNBYTES 4
-#endif
 
 /* ARCHLIB:
  *	This variable, if defined, holds the name of the directory in
@@ -956,8 +934,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.14/unknown"		/ **/
-/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.14/unknown"		/ **/
+/*#define ARCHLIB "/usr/local/lib/perl5/5.18/unknown"		/ **/
+/*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.18/unknown"		/ **/
 
 /* ARCHNAME:
  *	This symbol holds a string representing the architecture name.
@@ -983,11 +961,27 @@
 #define BIN_EXP "/usr/local/bin"	/**/
 #define PERL_RELOCATABLE_INC "undef" 		/**/
 
+/* INTSIZE:
+ *	This symbol contains the value of sizeof(int) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ *	This symbol contains the value of sizeof(long) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *	This symbol contains the value of sizeof(short) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4		/**/
+#define LONGSIZE 4		/**/
+#define SHORTSIZE 2		/**/
+
 /* BYTEORDER:
  *	This symbol holds the hexadecimal constant defined in byteorder,
  *	in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
  *	If the compiler supports cross-compiling or multiple-architecture
- *	binaries (eg. on NeXT systems), use compiler-defined macros to
+ *	binaries (e.g. on NeXT systems), use compiler-defined macros to
  *	determine the byte order.
  *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
  *	Binaries (MAB) on either big endian or little endian machines.
@@ -1032,6 +1026,64 @@
  */
 #define CHARBITS 8		/**/
 
+/* CAT2:
+ *	This macro concatenates 2 tokens together.
+ */
+/* STRINGIFY:
+ *	This macro surrounds its token with double quotes.
+ */
+#if 42 == 1
+#define CAT2(a,b)	a/**/b
+#define STRINGIFY(a)	"a"
+#endif
+#if 42 == 42
+#define PeRl_CaTiFy(a, b)	a ## b
+#define PeRl_StGiFy(a)	#a
+#define CAT2(a,b)	PeRl_CaTiFy(a,b)
+#define StGiFy(a)	PeRl_StGiFy(a)
+#define STRINGIFY(a)	PeRl_StGiFy(a)
+#endif
+#if 42 != 1 && 42 != 42
+#include "Bletch: How does this C preprocessor concatenate tokens?"
+#endif
+
+/* CPPSTDIN:
+ *	This symbol contains the first part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
+ *	call a wrapper. See CPPRUN.
+ */
+/* CPPMINUS:
+ *	This symbol contains the second part of the string which will invoke
+ *	the C preprocessor on the standard input and produce to standard
+ *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
+ *	to specify standard input, otherwise the value is "".
+ */
+/* CPPRUN:
+ *	This symbol contains the string which will invoke a C preprocessor on
+ *	the standard input and produce to standard output. It needs to end
+ *	with CPPLAST, after all other preprocessor flags have been specified.
+ *	The main difference with CPPSTDIN is that this program will never be a
+ *	pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
+ *	available directly to the user. Note that it may well be different from
+ *	the preprocessor used to compile the C program.
+ */
+/* CPPLAST:
+ *	This symbol is intended to be used along with CPPRUN in the same manner
+ *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
+ */
+#define CPPSTDIN "cc -E"
+#define CPPMINUS "-"
+#define CPPRUN "cc -E"
+#define CPPLAST "-"
+
+/* HAS_ACCESS:
+ *	This manifest constant lets the C program know that the access()
+ *	system call is available to check for accessibility using real UID/GID.
+ *	(always present on UNIX.)
+ */
+/*#define HAS_ACCESS		/ **/
+
 /* HAS_ACCESSX:
  *	This symbol, if defined, indicates that the accessx routine is
  *	available to do extended access checks.
@@ -1051,6 +1103,43 @@
 /*#define HAS_ASCTIME_R	   / **/
 #define ASCTIME_R_PROTO 0	   /**/
 
+/* HASATTRIBUTE_FORMAT:
+ *	Can we handle GCC attribute for checking printf-style formats
+ */
+/* PRINTF_FORMAT_NULL_OK:
+ *	Allows __printf__ format to be null when checking printf-style
+ */
+/* HASATTRIBUTE_MALLOC:
+ *	Can we handle GCC attribute for malloc-style functions.
+ */
+/* HASATTRIBUTE_NONNULL:
+ *	Can we handle GCC attribute for nonnull function parms.
+ */
+/* HASATTRIBUTE_NORETURN:
+ *	Can we handle GCC attribute for functions that do not return
+ */
+/* HASATTRIBUTE_PURE:
+ *	Can we handle GCC attribute for pure functions
+ */
+/* HASATTRIBUTE_UNUSED:
+ *	Can we handle GCC attribute for unused variables and arguments
+ */
+/* HASATTRIBUTE_DEPRECATED:
+ *	Can we handle GCC attribute for marking deprecated APIs
+ */
+/* HASATTRIBUTE_WARN_UNUSED_RESULT:
+ *	Can we handle GCC attribute for warning on unused results
+ */
+/*#define HASATTRIBUTE_DEPRECATED	/ **/
+/*#define HASATTRIBUTE_FORMAT	/ **/
+/*#define PRINTF_FORMAT_NULL_OK	/ **/
+/*#define HASATTRIBUTE_NORETURN	/ **/
+/*#define HASATTRIBUTE_MALLOC	/ **/
+/*#define HASATTRIBUTE_NONNULL	/ **/
+/*#define HASATTRIBUTE_PURE	/ **/
+/*#define HASATTRIBUTE_UNUSED	/ **/
+/*#define HASATTRIBUTE_WARN_UNUSED_RESULT	/ **/
+
 /* CASTI32:
  *	This symbol is defined if the C compiler can cast negative
  *	or large floating point numbers to 32-bit ints.
@@ -1078,6 +1167,17 @@
  */
 /*#define VOID_CLOSEDIR		/ **/
 
+/* HASCONST:
+ *	This symbol, if defined, indicates that this C compiler knows about
+ *	the const type. There is no need to actually test for that symbol
+ *	within your programs. The mere use of the "const" keyword will
+ *	trigger the necessary tests.
+ */
+/*#define HASCONST	/ **/
+#ifndef HASCONST
+#define const
+#endif
+
 /* HAS_CRYPT_R:
  *	This symbol, if defined, indicates that the crypt_r routine
  *	is available to crypt re-entrantly.
@@ -1091,6 +1191,17 @@
 /*#define HAS_CRYPT_R	   / **/
 #define CRYPT_R_PROTO 0	   /**/
 
+/* HAS_CSH:
+ *	This symbol, if defined, indicates that the C-shell exists.
+ */
+/* CSH:
+ *	This symbol, if defined, contains the full pathname of csh.
+ */
+/*#define HAS_CSH		/ **/
+#ifdef HAS_CSH
+#define CSH ""	/**/
+#endif
+
 /* HAS_CTERMID_R:
  *	This symbol, if defined, indicates that the ctermid_r routine
  *	is available to ctermid re-entrantly.
@@ -1117,6 +1228,26 @@
 /*#define HAS_CTIME_R	   / **/
 #define CTIME_R_PROTO 0	   /**/
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *	This symbol, if defined, indicates that the bug that prevents
+ *	setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *	This symbol, if defined, indicates that the C program should
+ *	check the script that it is executing for setuid/setgid bits, and
+ *	attempt to emulate setuid/setgid on systems that have disabled
+ *	setuid #! scripts because the kernel can't do it securely.
+ *	It is up to the package designer to make sure that this emulation
+ *	is done securely.  Among other things, it should do an fstat on
+ *	the script it just opened to make sure it really is a setuid/setgid
+ *	script, it should make sure the arguments passed correspond exactly
+ *	to the argument on the #! line, and it should not trust any
+ *	subprocesses to which it must pass the filename rather than the
+ *	file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/ **/
+/*#define DOSUID		/ **/
+
 /* HAS_DRAND48_R:
  *	This symbol, if defined, indicates that the drand48_r routine
  *	is available to drand48 re-entrantly.
@@ -1130,6 +1261,14 @@
 /*#define HAS_DRAND48_R	   / **/
 #define DRAND48_R_PROTO 0	   /**/
 
+/* HAS_DRAND48_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the drand48() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern double drand48(void);
+ */
+/*#define	HAS_DRAND48_PROTO	/ **/
+
 /* HAS_EACCESS:
  *	This symbol, if defined, indicates that the eaccess routine is
  *	available to do extended access checks.
@@ -1136,6 +1275,12 @@
  */
 /*#define HAS_EACCESS		/ **/
 
+/* HAS_ENDGRENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for finalizing sequential access of the group database.
+ */
+/*#define HAS_ENDGRENT		/ **/
+
 /* HAS_ENDGRENT_R:
  *	This symbol, if defined, indicates that the endgrent_r routine
  *	is available to endgrent re-entrantly.
@@ -1149,6 +1294,12 @@
 /*#define HAS_ENDGRENT_R	   / **/
 #define ENDGRENT_R_PROTO 0	   /**/
 
+/* HAS_ENDHOSTENT:
+ *	This symbol, if defined, indicates that the endhostent() routine is
+ *	available to close whatever was being used for host queries.
+ */
+/*#define HAS_ENDHOSTENT		/ **/
+
 /* HAS_ENDHOSTENT_R:
  *	This symbol, if defined, indicates that the endhostent_r routine
  *	is available to endhostent re-entrantly.
@@ -1162,6 +1313,12 @@
 /*#define HAS_ENDHOSTENT_R	   / **/
 #define ENDHOSTENT_R_PROTO 0	   /**/
 
+/* HAS_ENDNETENT:
+ *	This symbol, if defined, indicates that the endnetent() routine is
+ *	available to close whatever was being used for network queries.
+ */
+/*#define HAS_ENDNETENT		/ **/
+
 /* HAS_ENDNETENT_R:
  *	This symbol, if defined, indicates that the endnetent_r routine
  *	is available to endnetent re-entrantly.
@@ -1175,6 +1332,12 @@
 /*#define HAS_ENDNETENT_R	   / **/
 #define ENDNETENT_R_PROTO 0	   /**/
 
+/* HAS_ENDPROTOENT:
+ *	This symbol, if defined, indicates that the endprotoent() routine is
+ *	available to close whatever was being used for protocol queries.
+ */
+/*#define HAS_ENDPROTOENT		/ **/
+
 /* HAS_ENDPROTOENT_R:
  *	This symbol, if defined, indicates that the endprotoent_r routine
  *	is available to endprotoent re-entrantly.
@@ -1188,6 +1351,12 @@
 /*#define HAS_ENDPROTOENT_R	   / **/
 #define ENDPROTOENT_R_PROTO 0	   /**/
 
+/* HAS_ENDPWENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for finalizing sequential access of the passwd database.
+ */
+/*#define HAS_ENDPWENT		/ **/
+
 /* HAS_ENDPWENT_R:
  *	This symbol, if defined, indicates that the endpwent_r routine
  *	is available to endpwent re-entrantly.
@@ -1201,6 +1370,12 @@
 /*#define HAS_ENDPWENT_R	   / **/
 #define ENDPWENT_R_PROTO 0	   /**/
 
+/* HAS_ENDSERVENT:
+ *	This symbol, if defined, indicates that the endservent() routine is
+ *	available to close whatever was being used for service queries.
+ */
+/*#define HAS_ENDSERVENT		/ **/
+
 /* HAS_ENDSERVENT_R:
  *	This symbol, if defined, indicates that the endservent_r routine
  *	is available to endservent re-entrantly.
@@ -1220,6 +1395,12 @@
  */
 /*#define HAS_FD_SET	/ **/
 
+/* FLEXFILENAMES:
+ *	This symbol, if defined, indicates that the system supports filenames
+ *	longer than 14 characters.
+ */
+/*#define	FLEXFILENAMES		/ **/
+
 /* Gconvert:
  *	This preprocessor macro is defined to convert a floating point
  *	number to a string without a trailing decimal point.  This
@@ -1237,6 +1418,12 @@
  */
 #define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
 
+/* HAS_GETGRENT:
+ *	This symbol, if defined, indicates that the getgrent routine is
+ *	available for sequential access of the group database.
+ */
+/*#define HAS_GETGRENT		/ **/
+
 /* HAS_GETGRENT_R:
  *	This symbol, if defined, indicates that the getgrent_r routine
  *	is available to getgrent re-entrantly.
@@ -1276,6 +1463,53 @@
 /*#define HAS_GETGRNAM_R	   / **/
 #define GETGRNAM_R_PROTO 0	   /**/
 
+/* HAS_GETHOSTBYADDR:
+ *	This symbol, if defined, indicates that the gethostbyaddr() routine is
+ *	available to look up hosts by their IP addresses.
+ */
+/*#define HAS_GETHOSTBYADDR		/ **/
+
+/* HAS_GETHOSTBYNAME:
+ *	This symbol, if defined, indicates that the gethostbyname() routine is
+ *	available to look up host names in some data base or other.
+ */
+/*#define HAS_GETHOSTBYNAME		/ **/
+
+/* HAS_GETHOSTENT:
+ *	This symbol, if defined, indicates that the gethostent() routine is
+ *	available to look up host names in some data base or another.
+ */
+/*#define HAS_GETHOSTENT		/ **/
+
+/* HAS_GETHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	gethostname() routine to derive the host name.  See also HAS_UNAME
+ *	and PHOSTNAME.
+ */
+/* HAS_UNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	uname() routine to derive the host name.  See also HAS_GETHOSTNAME
+ *	and PHOSTNAME.
+ */
+/* PHOSTNAME:
+ *	This symbol, if defined, indicates the command to feed to the
+ *	popen() routine to derive the host name.  See also HAS_GETHOSTNAME
+ *	and HAS_UNAME.	Note that the command uses a fully qualified path,
+ *	so that it is safe even if used by a process with super-user
+ *	privileges.
+ */
+/* HAS_PHOSTNAME:
+ *	This symbol, if defined, indicates that the C program may use the
+ *	contents of PHOSTNAME as a command to feed to the popen() routine
+ *	to derive the host name.
+ */
+/*#define HAS_GETHOSTNAME	/ **/
+/*#define HAS_UNAME		/ **/
+/*#define HAS_PHOSTNAME	/ **/
+#ifdef HAS_PHOSTNAME
+#define PHOSTNAME "/bin/hostname"	/* How to get the host name */
+#endif
+
 /* HAS_GETHOSTBYADDR_R:
  *	This symbol, if defined, indicates that the gethostbyaddr_r routine
  *	is available to gethostbyaddr re-entrantly.
@@ -1315,6 +1549,14 @@
 /*#define HAS_GETHOSTENT_R	   / **/
 #define GETHOSTENT_R_PROTO 0	   /**/
 
+/* HAS_GETHOST_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for gethostent(), gethostbyname(), and
+ *	gethostbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define	HAS_GETHOST_PROTOS	/ **/
+
 /* HAS_GETLOGIN_R:
  *	This symbol, if defined, indicates that the getlogin_r routine
  *	is available to getlogin re-entrantly.
@@ -1328,6 +1570,24 @@
 /*#define HAS_GETLOGIN_R	   / **/
 #define GETLOGIN_R_PROTO 0	   /**/
 
+/* HAS_GETNETBYADDR:
+ *	This symbol, if defined, indicates that the getnetbyaddr() routine is
+ *	available to look up networks by their IP addresses.
+ */
+/*#define HAS_GETNETBYADDR		/ **/
+
+/* HAS_GETNETBYNAME:
+ *	This symbol, if defined, indicates that the getnetbyname() routine is
+ *	available to look up networks by their names.
+ */
+/*#define HAS_GETNETBYNAME		/ **/
+
+/* HAS_GETNETENT:
+ *	This symbol, if defined, indicates that the getnetent() routine is
+ *	available to look up network names in some data base or another.
+ */
+/*#define HAS_GETNETENT		/ **/
+
 /* HAS_GETNETBYADDR_R:
  *	This symbol, if defined, indicates that the getnetbyaddr_r routine
  *	is available to getnetbyaddr re-entrantly.
@@ -1367,6 +1627,14 @@
 /*#define HAS_GETNETENT_R	   / **/
 #define GETNETENT_R_PROTO 0	   /**/
 
+/* HAS_GETNET_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getnetent(), getnetbyname(), and
+ *	getnetbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define	HAS_GETNET_PROTOS	/ **/
+
 /* HAS_GETPAGESIZE:
  *	This symbol, if defined, indicates that the getpagesize system call
  *	is available to get system page size, which is the granularity of
@@ -1374,6 +1642,34 @@
  */
 /*#define HAS_GETPAGESIZE		/ **/
 
+/* HAS_GETPROTOENT:
+ *	This symbol, if defined, indicates that the getprotoent() routine is
+ *	available to look up protocols in some data base or another.
+ */
+/*#define HAS_GETPROTOENT		/ **/
+
+/* HAS_GETPGRP:
+ *	This symbol, if defined, indicates that the getpgrp routine is
+ *	available to get the current process group.
+ */
+/* USE_BSD_GETPGRP:
+ *	This symbol, if defined, indicates that getpgrp needs one
+ *	arguments whereas USG one needs none.
+ */
+/*#define HAS_GETPGRP		/ **/
+/*#define USE_BSD_GETPGRP	/ **/
+
+/* HAS_GETPROTOBYNAME:
+ *	This symbol, if defined, indicates that the getprotobyname()
+ *	routine is available to look up protocols by their name.
+ */
+/* HAS_GETPROTOBYNUMBER:
+ *	This symbol, if defined, indicates that the getprotobynumber()
+ *	routine is available to look up protocols by their number.
+ */
+/*#define HAS_GETPROTOBYNAME		/ **/
+/*#define HAS_GETPROTOBYNUMBER		/ **/
+
 /* HAS_GETPROTOBYNAME_R:
  *	This symbol, if defined, indicates that the getprotobyname_r routine
  *	is available to getprotobyname re-entrantly.
@@ -1413,6 +1709,21 @@
 /*#define HAS_GETPROTOENT_R	   / **/
 #define GETPROTOENT_R_PROTO 0	   /**/
 
+/* HAS_GETPROTO_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getprotoent(), getprotobyname(), and
+ *	getprotobyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define	HAS_GETPROTO_PROTOS	/ **/
+
+/* HAS_GETPWENT:
+ *	This symbol, if defined, indicates that the getpwent routine is
+ *	available for sequential access of the passwd database.
+ *	If this is not available, the older getpw() function may be available.
+ */
+/*#define HAS_GETPWENT		/ **/
+
 /* HAS_GETPWENT_R:
  *	This symbol, if defined, indicates that the getpwent_r routine
  *	is available to getpwent re-entrantly.
@@ -1452,6 +1763,12 @@
 /*#define HAS_GETPWUID_R	   / **/
 #define GETPWUID_R_PROTO 0	   /**/
 
+/* HAS_GETSERVENT:
+ *	This symbol, if defined, indicates that the getservent() routine is
+ *	available to look up network services in some data base or another.
+ */
+/*#define HAS_GETSERVENT		/ **/
+
 /* HAS_GETSERVBYNAME_R:
  *	This symbol, if defined, indicates that the getservbyname_r routine
  *	is available to getservbyname re-entrantly.
@@ -1491,6 +1808,14 @@
 /*#define HAS_GETSERVENT_R	   / **/
 #define GETSERVENT_R_PROTO 0	   /**/
 
+/* HAS_GETSERV_PROTOS:
+ *	This symbol, if defined, indicates that <netdb.h> includes
+ *	prototypes for getservent(), getservbyname(), and
+ *	getservbyaddr().  Otherwise, it is up to the program to guess
+ *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
+ */
+/*#define	HAS_GETSERV_PROTOS	/ **/
+
 /* HAS_GETSPNAM_R:
  *	This symbol, if defined, indicates that the getspnam_r routine
  *	is available to getspnam re-entrantly.
@@ -1504,6 +1829,17 @@
 /*#define HAS_GETSPNAM_R	   / **/
 #define GETSPNAM_R_PROTO 0	   /**/
 
+/* HAS_GETSERVBYNAME:
+ *	This symbol, if defined, indicates that the getservbyname()
+ *	routine is available to look up services by their name.
+ */
+/* HAS_GETSERVBYPORT:
+ *	This symbol, if defined, indicates that the getservbyport()
+ *	routine is available to look up services by their port.
+ */
+/*#define HAS_GETSERVBYNAME		/ **/
+/*#define HAS_GETSERVBYPORT		/ **/
+
 /* HAS_GMTIME_R:
  *	This symbol, if defined, indicates that the gmtime_r routine
  *	is available to gmtime re-entrantly.
@@ -1527,6 +1863,31 @@
 #   define _GNU_SOURCE
 #endif
 
+/* HAS_HTONL:
+ *	This symbol, if defined, indicates that the htonl() routine (and
+ *	friends htons() ntohl() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_HTONS:
+ *	This symbol, if defined, indicates that the htons() routine (and
+ *	friends htonl() ntohl() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_NTOHL:
+ *	This symbol, if defined, indicates that the ntohl() routine (and
+ *	friends htonl() htons() ntohs()) are available to do network
+ *	order byte swapping.
+ */
+/* HAS_NTOHS:
+ *	This symbol, if defined, indicates that the ntohs() routine (and
+ *	friends htonl() htons() ntohl()) are available to do network
+ *	order byte swapping.
+ */
+/*#define HAS_HTONL		/ **/
+/*#define HAS_HTONS		/ **/
+/*#define HAS_NTOHL		/ **/
+/*#define HAS_NTOHS		/ **/
+
 /* HAS_ISASCII:
  *	This manifest constant lets the C program know that isascii
  *	is available.
@@ -1566,6 +1927,72 @@
 /*#define HAS_LOCALTIME_R	   / **/
 #define LOCALTIME_R_PROTO 0	   /**/
 
+/* HAS_LONG_DOUBLE:
+ *	This symbol will be defined if the C compiler supports long
+ *	doubles.
+ */
+/* LONG_DOUBLESIZE:
+ *	This symbol contains the size of a long double, so that the
+ *	C preprocessor can make decisions based on it.  It is only
+ *	defined if the system supports long doubles.
+ */
+/*#define HAS_LONG_DOUBLE		/ **/
+#ifdef HAS_LONG_DOUBLE
+#define LONG_DOUBLESIZE 8		/**/
+#endif
+
+/* HAS_LONG_LONG:
+ *	This symbol will be defined if the C compiler supports long long.
+ */
+/* LONGLONGSIZE:
+ *	This symbol contains the size of a long long, so that the
+ *	C preprocessor can make decisions based on it.  It is only
+ *	defined if the system supports long long.
+ */
+/*#define HAS_LONG_LONG		/ **/
+#ifdef HAS_LONG_LONG
+#define LONGLONGSIZE 8		/**/
+#endif
+
+/* HAS_LSEEK_PROTO:
+ *	This symbol, if defined, indicates that the system provides
+ *	a prototype for the lseek() function.  Otherwise, it is up
+ *	to the program to supply one.  A good guess is
+ *		extern off_t lseek(int, off_t, int);
+ */
+/*#define	HAS_LSEEK_PROTO	/ **/
+
+/* HAS_MEMCHR:
+ *	This symbol, if defined, indicates that the memchr routine is available
+ *	to locate characters within a C string.
+ */
+#define HAS_MEMCHR	/**/
+
+/* HAS_MKSTEMP:
+ *	This symbol, if defined, indicates that the mkstemp routine is
+ *	available to exclusively create and open a uniquely named
+ *	temporary file.
+ */
+/*#define HAS_MKSTEMP		/ **/
+
+/* HAS_MMAP:
+ *	This symbol, if defined, indicates that the mmap system call is
+ *	available to map a file into memory.
+ */
+/* Mmap_t:
+ *	This symbol holds the return type of the mmap() system call
+ *	(and simultaneously the type of the first argument).
+ *	Usually set to 'void *' or 'caddr_t'.
+ */
+/*#define HAS_MMAP		/ **/
+#define Mmap_t void *	/**/
+
+/* HAS_MSG:
+ *	This symbol, if defined, indicates that the entire msg*(2) library is
+ *	supported (IPC mechanism based on message queues).
+ */
+/*#define HAS_MSG		/ **/
+
 /* HAS_OPEN3:
  *	This manifest constant lets the C program know that the three
  *	argument form of open(2) is available.
@@ -1669,6 +2096,18 @@
  */
 /*#define HAS_SANE_MEMCMP	/ **/
 
+/* HAS_SEM:
+ *	This symbol, if defined, indicates that the entire sem*(2) library is
+ *	supported.
+ */
+/*#define HAS_SEM		/ **/
+
+/* HAS_SETGRENT:
+ *	This symbol, if defined, indicates that the setgrent routine is
+ *	available for initializing sequential access of the group database.
+ */
+/*#define HAS_SETGRENT		/ **/
+
 /* HAS_SETGRENT_R:
  *	This symbol, if defined, indicates that the setgrent_r routine
  *	is available to setgrent re-entrantly.
@@ -1682,6 +2121,12 @@
 /*#define HAS_SETGRENT_R	   / **/
 #define SETGRENT_R_PROTO 0	   /**/
 
+/* HAS_SETHOSTENT:
+ *	This symbol, if defined, indicates that the sethostent() routine is
+ *	available.
+ */
+/*#define HAS_SETHOSTENT		/ **/
+
 /* HAS_SETHOSTENT_R:
  *	This symbol, if defined, indicates that the sethostent_r routine
  *	is available to sethostent re-entrantly.
@@ -1708,6 +2153,12 @@
 /*#define HAS_SETLOCALE_R	   / **/
 #define SETLOCALE_R_PROTO 0	   /**/
 
+/* HAS_SETNETENT:
+ *	This symbol, if defined, indicates that the setnetent() routine is
+ *	available.
+ */
+/*#define HAS_SETNETENT		/ **/
+
 /* HAS_SETNETENT_R:
  *	This symbol, if defined, indicates that the setnetent_r routine
  *	is available to setnetent re-entrantly.
@@ -1721,6 +2172,24 @@
 /*#define HAS_SETNETENT_R	   / **/
 #define SETNETENT_R_PROTO 0	   /**/
 
+/* HAS_SETPROTOENT:
+ *	This symbol, if defined, indicates that the setprotoent() routine is
+ *	available.
+ */
+/*#define HAS_SETPROTOENT		/ **/
+
+/* HAS_SETPGRP:
+ *	This symbol, if defined, indicates that the setpgrp routine is
+ *	available to set the current process group.
+ */
+/* USE_BSD_SETPGRP:
+ *	This symbol, if defined, indicates that setpgrp needs two
+ *	arguments whereas USG one needs none.  See also HAS_SETPGID
+ *	for a POSIX interface.
+ */
+/*#define HAS_SETPGRP		/ **/
+/*#define USE_BSD_SETPGRP	/ **/
+
 /* HAS_SETPROTOENT_R:
  *	This symbol, if defined, indicates that the setprotoent_r routine
  *	is available to setprotoent re-entrantly.
@@ -1734,6 +2203,12 @@
 /*#define HAS_SETPROTOENT_R	   / **/
 #define SETPROTOENT_R_PROTO 0	   /**/
 
+/* HAS_SETPWENT:
+ *	This symbol, if defined, indicates that the setpwent routine is
+ *	available for initializing sequential access of the passwd database.
+ */
+/*#define HAS_SETPWENT		/ **/
+
 /* HAS_SETPWENT_R:
  *	This symbol, if defined, indicates that the setpwent_r routine
  *	is available to setpwent re-entrantly.
@@ -1747,6 +2222,12 @@
 /*#define HAS_SETPWENT_R	   / **/
 #define SETPWENT_R_PROTO 0	   /**/
 
+/* HAS_SETSERVENT:
+ *	This symbol, if defined, indicates that the setservent() routine is
+ *	available.
+ */
+/*#define HAS_SETSERVENT		/ **/
+
 /* HAS_SETSERVENT_R:
  *	This symbol, if defined, indicates that the setservent_r routine
  *	is available to setservent re-entrantly.
@@ -1760,6 +2241,33 @@
 /*#define HAS_SETSERVENT_R	   / **/
 #define SETSERVENT_R_PROTO 0	   /**/
 
+/* HAS_SETVBUF:
+ *	This symbol, if defined, indicates that the setvbuf routine is
+ *	available to change buffering on an open stdio stream.
+ *	to a line-buffered mode.
+ */
+/*#define HAS_SETVBUF		/ **/
+
+/* HAS_SHM:
+ *	This symbol, if defined, indicates that the entire shm*(2) library is
+ *	supported.
+ */
+/*#define HAS_SHM		/ **/
+
+/* Shmat_t:
+ *	This symbol holds the return type of the shmat() system call.
+ *	Usually set to 'void *' or 'char *'.
+ */
+/* HAS_SHMAT_PROTOTYPE:
+ *	This symbol, if defined, indicates that the sys/shm.h includes
+ *	a prototype for shmat().  Otherwise, it is up to the program to
+ *	guess one.  Shmat_t shmat(int, Shmat_t, int) is a good guess,
+ *	but not always right so it should be emitted by the program only
+ *	when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
+ */
+#define Shmat_t void *	/**/
+/*#define HAS_SHMAT_PROTOTYPE	/ **/
+
 /* HAS_SIGACTION:
  *	This symbol, if defined, indicates that Vr4's sigaction() routine
  *	is available.
@@ -1797,6 +2305,89 @@
 #define Siglongjmp(buf,retval) longjmp((buf),(retval))
 #endif
 
+/* HAS_SOCKET:
+ *	This symbol, if defined, indicates that the BSD socket interface is
+ *	supported.
+ */
+/* HAS_SOCKETPAIR:
+ *	This symbol, if defined, indicates that the BSD socketpair() call is
+ *	supported.
+ */
+/* HAS_MSG_CTRUNC:
+ *	This symbol, if defined, indicates that the MSG_CTRUNC is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_DONTROUTE:
+ *	This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_OOB:
+ *	This symbol, if defined, indicates that the MSG_OOB is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_PEEK:
+ *	This symbol, if defined, indicates that the MSG_PEEK is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_MSG_PROXY:
+ *	This symbol, if defined, indicates that the MSG_PROXY is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_SCM_RIGHTS:
+ *	This symbol, if defined, indicates that the SCM_RIGHTS is supported.
+ *	Checking just with #ifdef might not be enough because this symbol
+ *	has been known to be an enum.
+ */
+/* HAS_SOCKADDR_SA_LEN:
+ *	This symbol, if defined, indicates that the struct sockaddr
+ *	structure has a member called sa_len, indicating the length of
+ *	the structure.
+ */
+/* HAS_SOCKADDR_IN6:
+ *	This symbol, if defined, indicates the availability of
+ *	struct sockaddr_in6;
+ */
+/* HAS_SIN6_SCOPE_ID:
+ *	This symbol, if defined, indicates that the struct sockaddr_in6
+ *	structure has a member called sin6_scope_id.
+ */
+/* HAS_IP_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ip_mreq;
+ */
+/* HAS_IP_MREQ_SOURCE:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ip_mreq_source;
+ */
+/* HAS_IPV6_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ipv6_mreq;
+ */
+/* HAS_IPV6_MREQ_SOURCE:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ipv6_mreq_source;
+ */
+/*#define	HAS_SOCKET		/ **/
+/*#define	HAS_SOCKETPAIR	/ **/
+/*#define	HAS_SOCKADDR_SA_LEN	/ **/
+/*#define	HAS_MSG_CTRUNC	/ **/
+/*#define	HAS_MSG_DONTROUTE	/ **/
+/*#define	HAS_MSG_OOB	/ **/
+/*#define	HAS_MSG_PEEK	/ **/
+/*#define	HAS_MSG_PROXY	/ **/
+/*#define	HAS_SCM_RIGHTS	/ **/
+/*#define	HAS_SOCKADDR_IN6	/ **/
+/*#define	HAS_SIN6_SCOPE_ID	/ **/
+/*#define	HAS_IP_MREQ	/ **/
+/*#define	HAS_IP_MREQ_SOURCE	/ **/
+/*#define	HAS_IPV6_MREQ	/ **/
+/*#define	HAS_IPV6_MREQ_SOURCE	/ **/
+
 /* HAS_SRAND48_R:
  *	This symbol, if defined, indicates that the srand48_r routine
  *	is available to srand48 re-entrantly.
@@ -1823,6 +2414,35 @@
 /*#define HAS_SRANDOM_R	   / **/
 #define SRANDOM_R_PROTO 0	   /**/
 
+/* USE_STAT_BLOCKS:
+ *	This symbol is defined if this system has a stat structure declaring
+ *	st_blksize and st_blocks.
+ */
+#ifndef USE_STAT_BLOCKS
+/*#define USE_STAT_BLOCKS 	/ **/
+#endif
+
+/* HAS_STATIC_INLINE:
+ *	This symbol, if defined, indicates that the C compiler supports
+ *	C99-style static inline.  That is, the function can't be called
+ *	from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ *	This symbol gives the best-guess incantation to use for static
+ *	inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *	this will give a plain 'static'.  It will always be defined
+ *	to something that gives static linkage.
+ *	Possibilities include
+ *		static inline       (c99)
+ *		static __inline__   (gcc -ansi)
+ *		static __inline     (MSVC)
+ *		static _inline      (older MSVC)
+ *		static              (c89 compilers)
+ */
+/*#define HAS_STATIC_INLINE				/ **/
+#define PERL_STATIC_INLINE static	/**/
+
 /* USE_STDIO_PTR:
  *	This symbol is defined if the _ptr and _cnt fields (or similar)
  *	of the stdio FILE structure can be used to access the stdio buffer
@@ -1893,6 +2513,32 @@
 #define FILE_bufsiz(fp)	((fp)->_IO_read_end - (fp)->_IO_read_base)
 #endif
 
+/* USE_STRUCT_COPY:
+ *	This symbol, if defined, indicates that this C compiler knows how
+ *	to copy structures.  If undefined, you'll need to use a block copy
+ *	routine of some sort instead.
+ */
+/*#define	USE_STRUCT_COPY	/ **/
+
+/* HAS_STRERROR:
+ *	This symbol, if defined, indicates that the strerror routine is
+ *	available to translate error numbers to strings. See the writeup
+ *	of Strerror() in this file before you try to define your own.
+ */
+/* HAS_SYS_ERRLIST:
+ *	This symbol, if defined, indicates that the sys_errlist array is
+ *	available to translate error numbers to strings. The extern int
+ *	sys_nerr gives the size of that table.
+ */
+/* Strerror:
+ *	This preprocessor symbol is defined as a macro if strerror() is
+ *	not available to translate error numbers to strings but sys_errlist[]
+ *	array is there.
+ */
+/*#define HAS_STRERROR		/ **/
+/*#define HAS_SYS_ERRLIST	/ **/
+#define Strerror(e) strerror(e)
+
 /* HAS_STRERROR_R:
  *	This symbol, if defined, indicates that the strerror_r routine
  *	is available to strerror re-entrantly.
@@ -1906,6 +2552,30 @@
 /*#define HAS_STRERROR_R	   / **/
 #define STRERROR_R_PROTO 0	   /**/
 
+/* HAS_STRTOUL:
+ *	This symbol, if defined, indicates that the strtoul routine is
+ *	available to provide conversion of strings to unsigned long.
+ */
+#define HAS_STRTOUL	/**/
+
+/* HAS_TIME:
+ *	This symbol, if defined, indicates that the time() routine exists.
+ */
+/* Time_t:
+ *	This symbol holds the type returned by time(). It can be long,
+ *	or time_t on BSD sites (in which case <sys/types.h> should be
+ *	included).
+ */
+#define HAS_TIME		/**/
+#define Time_t time_t		/* Time type */
+
+/* HAS_TIMES:
+ *	This symbol, if defined, indicates that the times() routine exists.
+ *	Note that this became obsolete on some systems (SUNOS), which now
+ * use getrusage(). It may be necessary to include <sys/times.h>.
+ */
+/*#define HAS_TIMES		/ **/
+
 /* HAS_TMPNAM_R:
  *	This symbol, if defined, indicates that the tmpnam_r routine
  *	is available to tmpnam re-entrantly.
@@ -1932,886 +2602,6 @@
 /*#define HAS_TTYNAME_R	   / **/
 #define TTYNAME_R_PROTO 0	   /**/
 
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/ **/
-
-/* DOUBLESIZE:
- *	This symbol contains the size of a double, so that the C preprocessor
- *	can make decisions based on it.
- */
-#define DOUBLESIZE 8		/**/
-
-/* I_MACH_CTHREADS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <mach/cthreads.h>.
- */
-/*#define   I_MACH_CTHREADS	/ **/
-
-/* I_PTHREAD:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <pthread.h>.
- */
-/*#define   I_PTHREAD	/ **/
-
-/* I_SYS_ACCESS:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/access.h>.
- */
-/*#define   I_SYS_ACCESS                / **/
-
-/* I_SYS_SECURITY:
- *     This symbol, if defined, indicates to the C program that it should
- *     include <sys/security.h>.
- */
-/*#define   I_SYS_SECURITY	/ **/
-
-/* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
- */
-/* I_SYS_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_gmtoff field.
- */
-#define I_TIME		/**/
-/*#define I_SYS_TIME		/ **/
-/*#define I_SYS_TIME_KERNEL		/ **/
-/*#define HAS_TM_TM_ZONE		/ **/
-/*#define HAS_TM_TM_GMTOFF		/ **/
-
-/* PERL_INC_VERSION_LIST:
- *	This variable specifies the list of subdirectories in over
- *	which perl.c:incpush() and lib/lib.pm will automatically
- *	search when adding directories to @INC, in a format suitable
- *	for a C initialization string.  See the inc_version_list entry
- *	in Porting/Glossary for more details.
- */
-/*#define PERL_INC_VERSION_LIST NULL		/ **/
-
-/* INSTALL_USR_BIN_PERL:
- *	This symbol, if defined, indicates that Perl is to be installed
- * 	also as /usr/bin/perl.
- */
-/*#define INSTALL_USR_BIN_PERL	/ **/
-
-/* VAL_O_NONBLOCK:
- *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- *	non-blocking I/O for the file descriptor. Note that there is no way
- *	back, i.e. you cannot turn it blocking again this way. If you wish to
- *	alternatively switch between blocking and non-blocking, use the
- *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- *	This symbol holds the errno error code set by read() when no data was
- *	present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- *	This symbol holds the return code from read() when no data is present
- *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- *	not defined, then you can't distinguish between no data and EOF by
- *	issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- *	This symbol, if defined, indicates to the C program that a read() on
- *	a non-blocking file descriptor will return 0 on EOF, and not the value
- *	held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#undef EOF_NONBLOCK
-
-/* PERL_OTHERLIBDIRS:
- *	This variable contains a colon-separated set of paths for the perl
- *	binary to search for additional library files or modules.
- *	These directories will be tacked to the end of @INC.
- *	Perl will automatically search below each path for version-
- *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
- *	for more details.
- */
-/*#define PERL_OTHERLIBDIRS " "		/ **/
-
-/* PRIVLIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- */
-/* PRIVLIB_EXP:
- *	This symbol contains the ~name expanded version of PRIVLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-#define PRIVLIB "/usr/local/lib/perl5/5.14"		/**/
-#define PRIVLIB_EXP "/usr/local/lib/perl5/5.14"		/**/
-
-/* PTRSIZE:
- *	This symbol contains the size of a pointer, so that the C preprocessor
- *	can make decisions based on it.  It will be sizeof(void *) if
- *	the compiler supports (void *); otherwise it will be
- *	sizeof(char *).
- */
-#define PTRSIZE 4		/**/
-
-/* Drand01:
- *	This macro is to be used to generate uniformly distributed
- *	random numbers over the range [0., 1.[.  You may have to supply
- *	an 'extern double drand48();' in your program since SunOS 4.1.3
- *	doesn't provide you with anything relevant in its headers.
- *	See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- *	This symbol defines the type of the argument of the
- *	random seed function.
- */
-/* seedDrand01:
- *	This symbol defines the macro to be used in seeding the
- *	random number generator (see Drand01).
- */
-/* RANDBITS:
- *	This symbol indicates how many bits are produced by the
- *	function used to generate normalized random numbers.
- *	Values include 15, 16, 31, and 48.
- */
-#define Drand01()		((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))		/**/
-#define Rand_seed_t		int		/**/
-#define seedDrand01(x)	srand((Rand_seed_t)x)	/**/
-#define RANDBITS		48		/**/
-
-/* SITEARCH:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- *	The standard distribution will put nothing in this directory.
- *	After perl has been installed, users may install their own local
- *	architecture-dependent modules in this directory with
- *		MakeMaker Makefile.PL
- *	or equivalent.  See INSTALL for details.
- */
-/* SITEARCH_EXP:
- *	This symbol contains the ~name expanded version of SITEARCH, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define SITEARCH "/usr/local/lib/perl5/5.14/unknown"		/ **/
-/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.14/unknown"		/ **/
-
-/* SITELIB:
- *	This symbol contains the name of the private library for this package.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.  The program
- *	should be prepared to do ~ expansion.
- *	The standard distribution will put nothing in this directory.
- *	After perl has been installed, users may install their own local
- *	architecture-independent modules in this directory with
- *		MakeMaker Makefile.PL
- *	or equivalent.  See INSTALL for details.
- */
-/* SITELIB_EXP:
- *	This symbol contains the ~name expanded version of SITELIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* SITELIB_STEM:
- *	This define is SITELIB_EXP with any trailing version-specific component
- *	removed.  The elements in inc_version_list (inc_version_list.U) can
- *	be tacked onto this variable to generate a list of directories to search.
- */
-#define SITELIB "/usr/local/lib/perl5/5.14"		/**/
-#define SITELIB_EXP "/usr/local/lib/perl5/5.14"		/**/
-#define SITELIB_STEM "/usr/local/lib/perl5"		/**/
-
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include <sys/types.h> or <unistd.h>
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int	 /* signed count of bytes */
-
-/* USE_ITHREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the interpreter-based threading implementation.
- */
-/* USE_5005THREADS:
- *	This symbol, if defined, indicates that Perl should be built to
- *	use the 5.005-based threading implementation.
- *	Only valid up to 5.8.x.
- */
-/* OLD_PTHREADS_API:
- *	This symbol, if defined, indicates that Perl should
- *	be built to use the old draft POSIX threads API.
- */
-/* USE_REENTRANT_API:
- *	This symbol, if defined, indicates that Perl should
- *	try to use the various _r versions of library functions.
- *	This is extremely experimental.
- */
-/*#define	USE_5005THREADS		/ **/
-/*#define	USE_ITHREADS		/ **/
-#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
-#define		USE_THREADS		/* until src is revised*/
-#endif
-/*#define	OLD_PTHREADS_API		/ **/
-/*#define	USE_REENTRANT_API	/ **/
-
-/* PERL_VENDORARCH:
- *	If defined, this symbol contains the name of a private library.
- *	The library is private in the sense that it needn't be in anyone's
- *	execution path, but it should be accessible by the world.
- *	It may have a ~ on the front.
- *	The standard distribution will put nothing in this directory.
- *	Vendors who distribute perl may wish to place their own
- *	architecture-dependent modules and extensions in this directory with
- *		MakeMaker Makefile.PL INSTALLDIRS=vendor
- *	or equivalent.  See INSTALL for details.
- */
-/* PERL_VENDORARCH_EXP:
- *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/*#define PERL_VENDORARCH ""		/ **/
-/*#define PERL_VENDORARCH_EXP ""		/ **/
-
-/* PERL_VENDORLIB_EXP:
- *	This symbol contains the ~name expanded version of VENDORLIB, to be used
- *	in programs that are not prepared to deal with ~ expansion at run-time.
- */
-/* PERL_VENDORLIB_STEM:
- *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
- *	removed.  The elements in inc_version_list (inc_version_list.U) can
- *	be tacked onto this variable to generate a list of directories to search.
- */
-/*#define PERL_VENDORLIB_EXP ""		/ **/
-/*#define PERL_VENDORLIB_STEM ""		/ **/
-
-/* HAS_STATIC_INLINE:
- *	This symbol, if defined, indicates that the C compiler supports
- *	C99-style static inline.  That is, the function can't be called
- *	from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- *	This symbol gives the best-guess incantation to use for static
- *	inline functions.  If HAS_STATIC_INLINE is defined, this will
- *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
- *	this will give a plain 'static'.  It will always be defined
- *	to something that gives static linkage.
- *	Possibilities include
- *		static inline       (c99)
- *		static __inline__   (gcc -ansi)
- *		static __inline     (MSVC)
- *		static _inline      (older MSVC)
- *		static              (c89 compilers)
- */
-/*#define HAS_STATIC_INLINE				/ **/
-#define PERL_STATIC_INLINE static	/**/
-
-/* EBCDIC:
- *     This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-/*#define	EBCDIC 		/ **/
-
-/* OSNAME:
- *	This symbol contains the name of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
- */
-/* OSVERS:
- *	This symbol contains the version of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
- */
-#define OSNAME "unknown"		/**/
-#define OSVERS "unknown"		/**/
-
-/* CAT2:
- *	This macro concatenates 2 tokens together.
- */
-/* STRINGIFY:
- *	This macro surrounds its token with double quotes.
- */
-#if 42 == 1
-#define CAT2(a,b)	a/**/b
-#define STRINGIFY(a)	"a"
-#endif
-#if 42 == 42
-#define PeRl_CaTiFy(a, b)	a ## b
-#define PeRl_StGiFy(a)	#a
-#define CAT2(a,b)	PeRl_CaTiFy(a,b)
-#define StGiFy(a)	PeRl_StGiFy(a)
-#define STRINGIFY(a)	PeRl_StGiFy(a)
-#endif
-#if 42 != 1 && 42 != 42
-#include "Bletch: How does this C preprocessor concatenate tokens?"
-#endif
-
-/* CPPSTDIN:
- *	This symbol contains the first part of the string which will invoke
- *	the C preprocessor on the standard input and produce to standard
- *	output.	 Typical value of "cc -E" or "/lib/cpp", but it can also
- *	call a wrapper. See CPPRUN.
- */
-/* CPPMINUS:
- *	This symbol contains the second part of the string which will invoke
- *	the C preprocessor on the standard input and produce to standard
- *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
- *	to specify standard input, otherwise the value is "".
- */
-/* CPPRUN:
- *	This symbol contains the string which will invoke a C preprocessor on
- *	the standard input and produce to standard output. It needs to end
- *	with CPPLAST, after all other preprocessor flags have been specified.
- *	The main difference with CPPSTDIN is that this program will never be a
- *	pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
- *	available directly to the user. Note that it may well be different from
- *	the preprocessor used to compile the C program.
- */
-/* CPPLAST:
- *	This symbol is intended to be used along with CPPRUN in the same manner
- *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
- */
-#define CPPSTDIN "cc -E"
-#define CPPMINUS "-"
-#define CPPRUN "cc -E"
-#define CPPLAST "-"
-
-/* HAS_ACCESS:
- *	This manifest constant lets the C program know that the access()
- *	system call is available to check for accessibility using real UID/GID.
- *	(always present on UNIX.)
- */
-/*#define HAS_ACCESS		/ **/
-
-/* HASATTRIBUTE_FORMAT:
- *	Can we handle GCC attribute for checking printf-style formats
- */
-/* PRINTF_FORMAT_NULL_OK:
- *	Allows __printf__ format to be null when checking printf-style
- */
-/* HASATTRIBUTE_MALLOC:
- *	Can we handle GCC attribute for malloc-style functions.
- */
-/* HASATTRIBUTE_NONNULL:
- *	Can we handle GCC attribute for nonnull function parms.
- */
-/* HASATTRIBUTE_NORETURN:
- *	Can we handle GCC attribute for functions that do not return
- */
-/* HASATTRIBUTE_PURE:
- *	Can we handle GCC attribute for pure functions
- */
-/* HASATTRIBUTE_UNUSED:
- *	Can we handle GCC attribute for unused variables and arguments
- */
-/* HASATTRIBUTE_DEPRECATED:
- *	Can we handle GCC attribute for marking deprecated APIs
- */
-/* HASATTRIBUTE_WARN_UNUSED_RESULT:
- *	Can we handle GCC attribute for warning on unused results
- */
-/*#define HASATTRIBUTE_DEPRECATED	/ **/
-/*#define HASATTRIBUTE_FORMAT	/ **/
-/*#define PRINTF_FORMAT_NULL_OK	/ **/
-/*#define HASATTRIBUTE_NORETURN	/ **/
-/*#define HASATTRIBUTE_MALLOC	/ **/
-/*#define HASATTRIBUTE_NONNULL	/ **/
-/*#define HASATTRIBUTE_PURE	/ **/
-/*#define HASATTRIBUTE_UNUSED	/ **/
-/*#define HASATTRIBUTE_WARN_UNUSED_RESULT	/ **/
-
-/* HASCONST:
- *	This symbol, if defined, indicates that this C compiler knows about
- *	the const type. There is no need to actually test for that symbol
- *	within your programs. The mere use of the "const" keyword will
- *	trigger the necessary tests.
- */
-/*#define HASCONST	/ **/
-#ifndef HASCONST
-#define const
-#endif
-
-/* HAS_CSH:
- *	This symbol, if defined, indicates that the C-shell exists.
- */
-/* CSH:
- *	This symbol, if defined, contains the full pathname of csh.
- */
-/*#define HAS_CSH		/ **/
-#ifdef HAS_CSH
-#define CSH ""	/**/
-#endif
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *	This symbol, if defined, indicates that the bug that prevents
- *	setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *	This symbol, if defined, indicates that the C program should
- *	check the script that it is executing for setuid/setgid bits, and
- *	attempt to emulate setuid/setgid on systems that have disabled
- *	setuid #! scripts because the kernel can't do it securely.
- *	It is up to the package designer to make sure that this emulation
- *	is done securely.  Among other things, it should do an fstat on
- *	the script it just opened to make sure it really is a setuid/setgid
- *	script, it should make sure the arguments passed correspond exactly
- *	to the argument on the #! line, and it should not trust any
- *	subprocesses to which it must pass the filename rather than the
- *	file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/ **/
-/*#define DOSUID		/ **/
-
-/* HAS_ENDGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for finalizing sequential access of the group database.
- */
-/*#define HAS_ENDGRENT		/ **/
-
-/* HAS_ENDHOSTENT:
- *	This symbol, if defined, indicates that the endhostent() routine is
- *	available to close whatever was being used for host queries.
- */
-/*#define HAS_ENDHOSTENT		/ **/
-
-/* HAS_ENDNETENT:
- *	This symbol, if defined, indicates that the endnetent() routine is
- *	available to close whatever was being used for network queries.
- */
-/*#define HAS_ENDNETENT		/ **/
-
-/* HAS_ENDPROTOENT:
- *	This symbol, if defined, indicates that the endprotoent() routine is
- *	available to close whatever was being used for protocol queries.
- */
-/*#define HAS_ENDPROTOENT		/ **/
-
-/* HAS_ENDPWENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for finalizing sequential access of the passwd database.
- */
-/*#define HAS_ENDPWENT		/ **/
-
-/* HAS_ENDSERVENT:
- *	This symbol, if defined, indicates that the endservent() routine is
- *	available to close whatever was being used for service queries.
- */
-/*#define HAS_ENDSERVENT		/ **/
-
-/* FLEXFILENAMES:
- *	This symbol, if defined, indicates that the system supports filenames
- *	longer than 14 characters.
- */
-/*#define	FLEXFILENAMES		/ **/
-
-/* HAS_GETGRENT:
- *	This symbol, if defined, indicates that the getgrent routine is
- *	available for sequential access of the group database.
- */
-/*#define HAS_GETGRENT		/ **/
-
-/* HAS_GETHOSTBYADDR:
- *	This symbol, if defined, indicates that the gethostbyaddr() routine is
- *	available to look up hosts by their IP addresses.
- */
-/*#define HAS_GETHOSTBYADDR		/ **/
-
-/* HAS_GETHOSTBYNAME:
- *	This symbol, if defined, indicates that the gethostbyname() routine is
- *	available to look up host names in some data base or other.
- */
-/*#define HAS_GETHOSTBYNAME		/ **/
-
-/* HAS_GETHOSTENT:
- *	This symbol, if defined, indicates that the gethostent() routine is
- *	available to look up host names in some data base or another.
- */
-/*#define HAS_GETHOSTENT		/ **/
-
-/* HAS_GETHOSTNAME:
- *	This symbol, if defined, indicates that the C program may use the
- *	gethostname() routine to derive the host name.  See also HAS_UNAME
- *	and PHOSTNAME.
- */
-/* HAS_UNAME:
- *	This symbol, if defined, indicates that the C program may use the
- *	uname() routine to derive the host name.  See also HAS_GETHOSTNAME
- *	and PHOSTNAME.
- */
-/* PHOSTNAME:
- *	This symbol, if defined, indicates the command to feed to the
- *	popen() routine to derive the host name.  See also HAS_GETHOSTNAME
- *	and HAS_UNAME.	Note that the command uses a fully qualified path,
- *	so that it is safe even if used by a process with super-user
- *	privileges.
- */
-/* HAS_PHOSTNAME:
- *	This symbol, if defined, indicates that the C program may use the
- *	contents of PHOSTNAME as a command to feed to the popen() routine
- *	to derive the host name.
- */
-/*#define HAS_GETHOSTNAME	/ **/
-/*#define HAS_UNAME		/ **/
-/*#define HAS_PHOSTNAME	/ **/
-#ifdef HAS_PHOSTNAME
-#define PHOSTNAME "/bin/hostname"	/* How to get the host name */
-#endif
-
-/* HAS_GETNETBYADDR:
- *	This symbol, if defined, indicates that the getnetbyaddr() routine is
- *	available to look up networks by their IP addresses.
- */
-/*#define HAS_GETNETBYADDR		/ **/
-
-/* HAS_GETNETBYNAME:
- *	This symbol, if defined, indicates that the getnetbyname() routine is
- *	available to look up networks by their names.
- */
-/*#define HAS_GETNETBYNAME		/ **/
-
-/* HAS_GETNETENT:
- *	This symbol, if defined, indicates that the getnetent() routine is
- *	available to look up network names in some data base or another.
- */
-/*#define HAS_GETNETENT		/ **/
-
-/* HAS_GETPROTOENT:
- *	This symbol, if defined, indicates that the getprotoent() routine is
- *	available to look up protocols in some data base or another.
- */
-/*#define HAS_GETPROTOENT		/ **/
-
-/* HAS_GETPGRP:
- *	This symbol, if defined, indicates that the getpgrp routine is
- *	available to get the current process group.
- */
-/* USE_BSD_GETPGRP:
- *	This symbol, if defined, indicates that getpgrp needs one
- *	arguments whereas USG one needs none.
- */
-/*#define HAS_GETPGRP		/ **/
-/*#define USE_BSD_GETPGRP	/ **/
-
-/* HAS_GETPROTOBYNAME:
- *	This symbol, if defined, indicates that the getprotobyname()
- *	routine is available to look up protocols by their name.
- */
-/* HAS_GETPROTOBYNUMBER:
- *	This symbol, if defined, indicates that the getprotobynumber()
- *	routine is available to look up protocols by their number.
- */
-/*#define HAS_GETPROTOBYNAME		/ **/
-/*#define HAS_GETPROTOBYNUMBER		/ **/
-
-/* HAS_GETPWENT:
- *	This symbol, if defined, indicates that the getpwent routine is
- *	available for sequential access of the passwd database.
- *	If this is not available, the older getpw() function may be available.
- */
-/*#define HAS_GETPWENT		/ **/
-
-/* HAS_GETSERVENT:
- *	This symbol, if defined, indicates that the getservent() routine is
- *	available to look up network services in some data base or another.
- */
-/*#define HAS_GETSERVENT		/ **/
-
-/* HAS_GETSERVBYNAME:
- *	This symbol, if defined, indicates that the getservbyname()
- *	routine is available to look up services by their name.
- */
-/* HAS_GETSERVBYPORT:
- *	This symbol, if defined, indicates that the getservbyport()
- *	routine is available to look up services by their port.
- */
-/*#define HAS_GETSERVBYNAME		/ **/
-/*#define HAS_GETSERVBYPORT		/ **/
-
-/* HAS_HTONL:
- *	This symbol, if defined, indicates that the htonl() routine (and
- *	friends htons() ntohl() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_HTONS:
- *	This symbol, if defined, indicates that the htons() routine (and
- *	friends htonl() ntohl() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_NTOHL:
- *	This symbol, if defined, indicates that the ntohl() routine (and
- *	friends htonl() htons() ntohs()) are available to do network
- *	order byte swapping.
- */
-/* HAS_NTOHS:
- *	This symbol, if defined, indicates that the ntohs() routine (and
- *	friends htonl() htons() ntohl()) are available to do network
- *	order byte swapping.
- */
-/*#define HAS_HTONL		/ **/
-/*#define HAS_HTONS		/ **/
-/*#define HAS_NTOHL		/ **/
-/*#define HAS_NTOHS		/ **/
-
-/* HAS_LONG_DOUBLE:
- *	This symbol will be defined if the C compiler supports long
- *	doubles.
- */
-/* LONG_DOUBLESIZE:
- *	This symbol contains the size of a long double, so that the
- *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long doubles.
- */
-/*#define HAS_LONG_DOUBLE		/ **/
-#ifdef HAS_LONG_DOUBLE
-#define LONG_DOUBLESIZE 8		/**/
-#endif
-
-/* HAS_LONG_LONG:
- *	This symbol will be defined if the C compiler supports long long.
- */
-/* LONGLONGSIZE:
- *	This symbol contains the size of a long long, so that the
- *	C preprocessor can make decisions based on it.  It is only
- *	defined if the system supports long long.
- */
-/*#define HAS_LONG_LONG		/ **/
-#ifdef HAS_LONG_LONG
-#define LONGLONGSIZE 8		/**/
-#endif
-
-/* HAS_MEMCHR:
- *	This symbol, if defined, indicates that the memchr routine is available
- *	to locate characters within a C string.
- */
-#define HAS_MEMCHR	/**/
-
-/* HAS_MKSTEMP:
- *	This symbol, if defined, indicates that the mkstemp routine is
- *	available to exclusively create and open a uniquely named
- *	temporary file.
- */
-/*#define HAS_MKSTEMP		/ **/
-
-/* HAS_MMAP:
- *	This symbol, if defined, indicates that the mmap system call is
- *	available to map a file into memory.
- */
-/* Mmap_t:
- *	This symbol holds the return type of the mmap() system call
- *	(and simultaneously the type of the first argument).
- *	Usually set to 'void *' or 'caddr_t'.
- */
-/*#define HAS_MMAP		/ **/
-#define Mmap_t void *	/**/
-
-/* HAS_MSG:
- *	This symbol, if defined, indicates that the entire msg*(2) library is
- *	supported (IPC mechanism based on message queues).
- */
-/*#define HAS_MSG		/ **/
-
-/* HAS_SEM:
- *	This symbol, if defined, indicates that the entire sem*(2) library is
- *	supported.
- */
-/*#define HAS_SEM		/ **/
-
-/* HAS_SETGRENT:
- *	This symbol, if defined, indicates that the setgrent routine is
- *	available for initializing sequential access of the group database.
- */
-/*#define HAS_SETGRENT		/ **/
-
-/* HAS_SETHOSTENT:
- *	This symbol, if defined, indicates that the sethostent() routine is
- *	available.
- */
-/*#define HAS_SETHOSTENT		/ **/
-
-/* HAS_SETNETENT:
- *	This symbol, if defined, indicates that the setnetent() routine is
- *	available.
- */
-/*#define HAS_SETNETENT		/ **/
-
-/* HAS_SETPROTOENT:
- *	This symbol, if defined, indicates that the setprotoent() routine is
- *	available.
- */
-/*#define HAS_SETPROTOENT		/ **/
-
-/* HAS_SETPGRP:
- *	This symbol, if defined, indicates that the setpgrp routine is
- *	available to set the current process group.
- */
-/* USE_BSD_SETPGRP:
- *	This symbol, if defined, indicates that setpgrp needs two
- *	arguments whereas USG one needs none.  See also HAS_SETPGID
- *	for a POSIX interface.
- */
-/*#define HAS_SETPGRP		/ **/
-/*#define USE_BSD_SETPGRP	/ **/
-
-/* HAS_SETPWENT:
- *	This symbol, if defined, indicates that the setpwent routine is
- *	available for initializing sequential access of the passwd database.
- */
-/*#define HAS_SETPWENT		/ **/
-
-/* HAS_SETSERVENT:
- *	This symbol, if defined, indicates that the setservent() routine is
- *	available.
- */
-/*#define HAS_SETSERVENT		/ **/
-
-/* HAS_SETVBUF:
- *	This symbol, if defined, indicates that the setvbuf routine is
- *	available to change buffering on an open stdio stream.
- *	to a line-buffered mode.
- */
-/*#define HAS_SETVBUF		/ **/
-
-/* HAS_SHM:
- *	This symbol, if defined, indicates that the entire shm*(2) library is
- *	supported.
- */
-/*#define HAS_SHM		/ **/
-
-/* Shmat_t:
- *	This symbol holds the return type of the shmat() system call.
- *	Usually set to 'void *' or 'char *'.
- */
-/* HAS_SHMAT_PROTOTYPE:
- *	This symbol, if defined, indicates that the sys/shm.h includes
- *	a prototype for shmat().  Otherwise, it is up to the program to
- *	guess one.  Shmat_t shmat(int, Shmat_t, int) is a good guess,
- *	but not always right so it should be emitted by the program only
- *	when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
- */
-#define Shmat_t void *	/**/
-/*#define HAS_SHMAT_PROTOTYPE	/ **/
-
-/* HAS_SOCKET:
- *	This symbol, if defined, indicates that the BSD socket interface is
- *	supported.
- */
-/* HAS_SOCKETPAIR:
- *	This symbol, if defined, indicates that the BSD socketpair() call is
- *	supported.
- */
-/* HAS_MSG_CTRUNC:
- *	This symbol, if defined, indicates that the MSG_CTRUNC is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_MSG_DONTROUTE:
- *	This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_MSG_OOB:
- *	This symbol, if defined, indicates that the MSG_OOB is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_MSG_PEEK:
- *	This symbol, if defined, indicates that the MSG_PEEK is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_MSG_PROXY:
- *	This symbol, if defined, indicates that the MSG_PROXY is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_SCM_RIGHTS:
- *	This symbol, if defined, indicates that the SCM_RIGHTS is supported.
- *	Checking just with #ifdef might not be enough because this symbol
- *	has been known to be an enum.
- */
-/* HAS_SOCKADDR_SA_LEN:
- *	This symbol, if defined, indicates that the struct sockaddr
- *	structure has a member called sa_len, indicating the length of
- *	the structure.
- */
-/* HAS_SIN6_SCOPE_ID:
- *	This symbol, if defined, indicates that the struct sockaddr_in6
- *	structure has a member called sin6_scope_id.
- */
-/*#define	HAS_SOCKET		/ **/
-/*#define	HAS_SOCKETPAIR	/ **/
-/*#define	HAS_SOCKADDR_SA_LEN	/ **/
-/*#define	HAS_MSG_CTRUNC	/ **/
-/*#define	HAS_MSG_DONTROUTE	/ **/
-/*#define	HAS_MSG_OOB	/ **/
-/*#define	HAS_MSG_PEEK	/ **/
-/*#define	HAS_MSG_PROXY	/ **/
-/*#define	HAS_SCM_RIGHTS	/ **/
-/*#define	HAS_SIN6_SCOPE_ID	/ **/
-
-/* USE_STAT_BLOCKS:
- *	This symbol is defined if this system has a stat structure declaring
- *	st_blksize and st_blocks.
- */
-#ifndef USE_STAT_BLOCKS
-/*#define USE_STAT_BLOCKS 	/ **/
-#endif
-
-/* USE_STRUCT_COPY:
- *	This symbol, if defined, indicates that this C compiler knows how
- *	to copy structures.  If undefined, you'll need to use a block copy
- *	routine of some sort instead.
- */
-/*#define	USE_STRUCT_COPY	/ **/
-
-/* HAS_STRERROR:
- *	This symbol, if defined, indicates that the strerror routine is
- *	available to translate error numbers to strings. See the writeup
- *	of Strerror() in this file before you try to define your own.
- */
-/* HAS_SYS_ERRLIST:
- *	This symbol, if defined, indicates that the sys_errlist array is
- *	available to translate error numbers to strings. The extern int
- *	sys_nerr gives the size of that table.
- */
-/* Strerror:
- *	This preprocessor symbol is defined as a macro if strerror() is
- *	not available to translate error numbers to strings but sys_errlist[]
- *	array is there.
- */
-/*#define HAS_STRERROR		/ **/
-/*#define HAS_SYS_ERRLIST	/ **/
-#define Strerror(e) strerror(e)
-
-/* HAS_STRTOUL:
- *	This symbol, if defined, indicates that the strtoul routine is
- *	available to provide conversion of strings to unsigned long.
- */
-#define HAS_STRTOUL	/**/
-
 /* HAS_UNION_SEMUN:
  *	This symbol, if defined, indicates that the union semun is
  *	defined by including <sys/sem.h>.  If not, the user code
@@ -2862,6 +2652,71 @@
 #define volatile
 #endif
 
+/* HAS_VPRINTF:
+ *	This symbol, if defined, indicates that the vprintf routine is available
+ *	to printf with a pointer to an argument list.  If unavailable, you
+ *	may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ *	This symbol is defined if this system has vsprintf() returning type
+ *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
+ *	is up to the package author to declare vsprintf correctly based on the
+ *	symbol.
+ */
+#define HAS_VPRINTF	/**/
+/*#define USE_CHAR_VSPRINTF 	/ **/
+
+/* DOUBLESIZE:
+ *	This symbol contains the size of a double, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define DOUBLESIZE 8		/**/
+
+/* EBCDIC:
+ *	This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+/* BOOTSTRAP_CHARSET:
+ *	This symbol, if defined, indicates that this system needs
+ *	converting various files to the native character set before
+ *	bringing up perl on a system that has a non-ASCII character
+ *	set and no working perl.
+ */
+/*#define	EBCDIC 		/ **/
+/*#define	BOOTSTRAP_CHARSET	/ **/
+
+/* Fpos_t:
+ *	This symbol holds the type used to declare file positions in libc.
+ *	It can be fpos_t, long, uint, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Fpos_t int		/* File position type */
+
+/* Gid_t_f:
+ *	This symbol defines the format string used for printing a Gid_t.
+ */
+#define	Gid_t_f		"lu"		/**/
+
+/* Gid_t_sign:
+ *	This symbol holds the signedness of a Gid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Gid_t_sign	1		/* GID sign */
+
+/* Gid_t_size:
+ *	This symbol holds the size of a Gid_t in bytes.
+ */
+#define Gid_t_size 4		/* GID size */
+
+/* Gid_t:
+ *	This symbol holds the return type of getgid() and the type of
+ *	argument to setrgid() and related functions.  Typically,
+ *	it is the type of group ids in the kernel. It can be int, ushort,
+ *	gid_t, etc... It may be necessary to include <sys/types.h> to get
+ *	any typedef'ed information.
+ */
+#define Gid_t int		/* Type for getgid(), etc... */
+
 /* I_DIRENT:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <dirent.h>. Using this symbol also triggers the definition
@@ -2893,6 +2748,12 @@
 /*#define I_GRP		/ **/
 /*#define GRPASSWD	/ **/
 
+/* I_MACH_CTHREADS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <mach/cthreads.h>.
+ */
+/*#define   I_MACH_CTHREADS	/ **/
+
 /* I_NDBM:
  *	This symbol, if defined, indicates that <ndbm.h> exists and should
  *	be included.
@@ -2944,6 +2805,12 @@
  */
 /*#define I_NET_ERRNO		/ **/
 
+/* I_PTHREAD:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <pthread.h>.
+ */
+/*#define   I_PTHREAD	/ **/
+
 /* I_PWD:
  *	This symbol, if defined, indicates to the C program that it should
  *	include <pwd.h>.
@@ -2990,6 +2857,18 @@
 /*#define PWGECOS	/ **/
 /*#define PWPASSWD	/ **/
 
+/* I_SYS_ACCESS:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/access.h>.
+ */
+/*#define   I_SYS_ACCESS                / **/
+
+/* I_SYS_SECURITY:
+ *     This symbol, if defined, indicates to the C program that it should
+ *     include <sys/security.h>.
+ */
+/*#define   I_SYS_SECURITY	/ **/
+
 /* I_SYSUIO:
  *	This symbol, if defined, indicates that <sys/uio.h> exists and
  *	should be included.
@@ -2996,6 +2875,32 @@
  */
 /*#define	I_SYSUIO		/ **/
 
+/* I_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <time.h>.
+ */
+/* I_SYS_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME		/**/
+/*#define I_SYS_TIME		/ **/
+/*#define I_SYS_TIME_KERNEL		/ **/
+/*#define HAS_TM_TM_ZONE		/ **/
+/*#define HAS_TM_TM_GMTOFF		/ **/
+
 /* I_STDARG:
  *	This symbol, if defined, indicates that <stdarg.h> exists and should
  *	be included.
@@ -3007,6 +2912,36 @@
 #define I_STDARG		/**/
 /*#define I_VARARGS	/ **/
 
+/* PERL_INC_VERSION_LIST:
+ *	This variable specifies the list of subdirectories in over
+ *	which perl.c:incpush() and lib/lib.pm will automatically
+ *	search when adding directories to @INC, in a format suitable
+ *	for a C initialization string.  See the inc_version_list entry
+ *	in Porting/Glossary for more details.
+ */
+/*#define PERL_INC_VERSION_LIST NULL		/ **/
+
+/* INSTALL_USR_BIN_PERL:
+ *	This symbol, if defined, indicates that Perl is to be installed
+ * 	also as /usr/bin/perl.
+ */
+/*#define INSTALL_USR_BIN_PERL	/ **/
+
+/* Off_t:
+ *	This symbol holds the type used to declare offsets in the kernel.
+ *	It can be int, long, off_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+/* LSEEKSIZE:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+/* Off_t_size:
+ *	This symbol holds the number of bytes used by the Off_t.
+ */
+#define Off_t int		/* <offset> type */
+#define LSEEKSIZE 4		/* <offset> size */
+#define Off_t_size 4	/* <offset> size */
+
 /* Free_t:
  *	This variable contains the return type of free().  It is usually
  * void, but occasionally int.
@@ -3027,6 +2962,92 @@
  */
 /*#define MYMALLOC			/ **/
 
+/* Mode_t:
+ *	This symbol holds the type used to declare file modes
+ *	for systems calls.  It is usually mode_t, but may be
+ *	int or unsigned short.  It may be necessary to include <sys/types.h>
+ *	to get any typedef'ed information.
+ */
+#define Mode_t int	 /* file mode parameter for system calls */
+
+/* VAL_O_NONBLOCK:
+ *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ *	non-blocking I/O for the file descriptor. Note that there is no way
+ *	back, i.e. you cannot turn it blocking again this way. If you wish to
+ *	alternatively switch between blocking and non-blocking, use the
+ *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ *	This symbol holds the errno error code set by read() when no data was
+ *	present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ *	This symbol holds the return code from read() when no data is present
+ *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ *	not defined, then you can't distinguish between no data and EOF by
+ *	issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ *	This symbol, if defined, indicates to the C program that a read() on
+ *	a non-blocking file descriptor will return 0 on EOF, and not the value
+ *	held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#undef EOF_NONBLOCK
+
+/* Netdb_host_t:
+ *	This symbol holds the type used for the 1st argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_hlen_t:
+ *	This symbol holds the type used for the 2nd argument
+ *	to gethostbyaddr().
+ */
+/* Netdb_name_t:
+ *	This symbol holds the type used for the argument to
+ *	gethostbyname().
+ */
+/* Netdb_net_t:
+ *	This symbol holds the type used for the 1st argument to
+ *	getnetbyaddr().
+ */
+#define Netdb_host_t		const char * /**/
+#define Netdb_hlen_t		int /**/
+#define Netdb_name_t		const char * /**/
+#define Netdb_net_t		unsigned long /**/
+
+/* PERL_OTHERLIBDIRS:
+ *	This variable contains a colon-separated set of paths for the perl
+ *	binary to search for additional library files or modules.
+ *	These directories will be tacked to the end of @INC.
+ *	Perl will automatically search below each path for version-
+ *	and architecture-specific directories.  See PERL_INC_VERSION_LIST
+ *	for more details.
+ */
+/*#define PERL_OTHERLIBDIRS " "		/ **/
+
+/* Pid_t:
+ *	This symbol holds the type used to declare process ids in the kernel.
+ *	It can be int, uint, pid_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Pid_t int		/* PID type */
+
+/* PRIVLIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ */
+/* PRIVLIB_EXP:
+ *	This symbol contains the ~name expanded version of PRIVLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+#define PRIVLIB "/usr/local/lib/perl5/5.18"		/**/
+#define PRIVLIB_EXP "/usr/local/lib/perl5/5.18"		/**/
+
 /* CAN_PROTOTYPE:
  *	If defined, this macro indicates that the C compiler can handle
  *	function prototypes.
@@ -3045,6 +3066,65 @@
 #define	_(args) ()
 #endif
 
+/* PTRSIZE:
+ *	This symbol contains the size of a pointer, so that the C preprocessor
+ *	can make decisions based on it.  It will be sizeof(void *) if
+ *	the compiler supports (void *); otherwise it will be
+ *	sizeof(char *).
+ */
+#define PTRSIZE 4		/**/
+
+/* HAS_QUAD:
+ *	This symbol, if defined, tells that there's a 64-bit integer type,
+ *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ *	or QUAD_IS___INT64.
+ */
+/*#define HAS_QUAD	/ **/
+#ifdef HAS_QUAD
+#   define Quad_t int64_t	/**/
+#   define Uquad_t uint64_t	/**/
+#   define QUADKIND 4	/**/
+#   define QUAD_IS_INT	1
+#   define QUAD_IS_LONG	2
+#   define QUAD_IS_LONG_LONG	3
+#   define QUAD_IS_INT64_T	4
+#   define QUAD_IS___INT64	5
+#endif
+
+/* Drand01:
+ *	This macro is to be used to generate uniformly distributed
+ *	random numbers over the range [0., 1.[.  You may have to supply
+ *	an 'extern double drand48();' in your program since SunOS 4.1.3
+ *	doesn't provide you with anything relevant in its headers.
+ *	See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ *	This symbol defines the type of the argument of the
+ *	random seed function.
+ */
+/* seedDrand01:
+ *	This symbol defines the macro to be used in seeding the
+ *	random number generator (see Drand01).
+ */
+/* RANDBITS:
+ *	This symbol indicates how many bits are produced by the
+ *	function used to generate normalized random numbers.
+ *	Values include 15, 16, 31, and 48.
+ */
+#define Drand01()		((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))		/**/
+#define Rand_seed_t		int		/**/
+#define seedDrand01(x)	srand((Rand_seed_t)x)	/**/
+#define RANDBITS		48		/**/
+
+/* Select_fd_set_t:
+ *	This symbol holds the type used for the 2nd, 3rd, and 4th
+ *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
+ *	is defined, and 'int *' otherwise.  This is only useful if you
+ *	have select(), of course.
+ */
+#define Select_fd_set_t 	int	/**/
+
 /* SH_PATH:
  *	This symbol contains the full pathname to the shell used on this
  *	on this system to execute Bourne shell scripts.  Usually, this will be
@@ -3094,6 +3174,77 @@
 #define SIG_NUM  0		/**/
 #define SIG_SIZE 1			/**/
 
+/* SITEARCH:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ *	The standard distribution will put nothing in this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-dependent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
+ */
+/* SITEARCH_EXP:
+ *	This symbol contains the ~name expanded version of SITEARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define SITEARCH "/usr/local/lib/perl5/5.18/unknown"		/ **/
+/*#define SITEARCH_EXP "/usr/local/lib/perl5/5.18/unknown"		/ **/
+
+/* SITELIB:
+ *	This symbol contains the name of the private library for this package.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.  The program
+ *	should be prepared to do ~ expansion.
+ *	The standard distribution will put nothing in this directory.
+ *	After perl has been installed, users may install their own local
+ *	architecture-independent modules in this directory with
+ *		MakeMaker Makefile.PL
+ *	or equivalent.  See INSTALL for details.
+ */
+/* SITELIB_EXP:
+ *	This symbol contains the ~name expanded version of SITELIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* SITELIB_STEM:
+ *	This define is SITELIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+#define SITELIB "/usr/local/lib/perl5/5.18"		/**/
+#define SITELIB_EXP "/usr/local/lib/perl5/5.18"		/**/
+#define SITELIB_STEM "/usr/local/lib/perl5"		/**/
+
+/* Size_t_size:
+ *	This symbol holds the size of a Size_t in bytes.
+ */
+#define Size_t_size 4		/**/
+
+/* Size_t:
+ *	This symbol holds the type used to declare length parameters
+ *	for string functions.  It is usually size_t, but may be
+ *	unsigned long, int, etc.  It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Size_t size_t	 /* length parameter for string functions */
+
+/* Sock_size_t:
+ *	This symbol holds the type used for the size argument of
+ *	various socket calls (just the base type, not the pointer-to).
+ */
+#define Sock_size_t		int /**/
+
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include <sys/types.h> or <unistd.h>
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int	 /* signed count of bytes */
+
 /* STDCHAR:
  *	This symbol is defined to be the type of char used in stdio.h.
  *	It has the values "unsigned char" or "char".
@@ -3100,6 +3251,85 @@
  */
 #define STDCHAR char	/**/
 
+/* Uid_t_f:
+ *	This symbol defines the format string used for printing a Uid_t.
+ */
+#define	Uid_t_f		"lu"		/**/
+
+/* Uid_t_sign:
+ *	This symbol holds the signedness of a Uid_t.
+ *	1 for unsigned, -1 for signed.
+ */
+#define Uid_t_sign	1		/* UID sign */
+
+/* Uid_t_size:
+ *	This symbol holds the size of a Uid_t in bytes.
+ */
+#define Uid_t_size 4		/* UID size */
+
+/* Uid_t:
+ *	This symbol holds the type used to declare user ids in the kernel.
+ *	It can be int, ushort, uid_t, etc... It may be necessary to include
+ *	<sys/types.h> to get any typedef'ed information.
+ */
+#define Uid_t int		/* UID type */
+
+/* USE_ITHREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the interpreter-based threading implementation.
+ */
+/* USE_5005THREADS:
+ *	This symbol, if defined, indicates that Perl should be built to
+ *	use the 5.005-based threading implementation.
+ *	Only valid up to 5.8.x.
+ */
+/* OLD_PTHREADS_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	be built to use the old draft POSIX threads API.
+ */
+/* USE_REENTRANT_API:
+ *	This symbol, if defined, indicates that Perl should
+ *	try to use the various _r versions of library functions.
+ *	This is extremely experimental.
+ */
+/*#define	USE_5005THREADS		/ **/
+/*#define	USE_ITHREADS		/ **/
+#if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
+#define		USE_THREADS		/* until src is revised*/
+#endif
+/*#define	OLD_PTHREADS_API		/ **/
+/*#define	USE_REENTRANT_API	/ **/
+
+/* PERL_VENDORARCH:
+ *	If defined, this symbol contains the name of a private library.
+ *	The library is private in the sense that it needn't be in anyone's
+ *	execution path, but it should be accessible by the world.
+ *	It may have a ~ on the front.
+ *	The standard distribution will put nothing in this directory.
+ *	Vendors who distribute perl may wish to place their own
+ *	architecture-dependent modules and extensions in this directory with
+ *		MakeMaker Makefile.PL INSTALLDIRS=vendor
+ *	or equivalent.  See INSTALL for details.
+ */
+/* PERL_VENDORARCH_EXP:
+ *	This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/*#define PERL_VENDORARCH ""		/ **/
+/*#define PERL_VENDORARCH_EXP ""		/ **/
+
+/* PERL_VENDORLIB_EXP:
+ *	This symbol contains the ~name expanded version of VENDORLIB, to be used
+ *	in programs that are not prepared to deal with ~ expansion at run-time.
+ */
+/* PERL_VENDORLIB_STEM:
+ *	This define is PERL_VENDORLIB_EXP with any trailing version-specific component
+ *	removed.  The elements in inc_version_list (inc_version_list.U) can
+ *	be tacked onto this variable to generate a list of directories to search.
+ */
+/*#define PERL_VENDORLIB_EXP ""		/ **/
+/*#define PERL_VENDORLIB_STEM ""		/ **/
+
 /* VOIDFLAGS:
  *	This symbol indicates how much support of the void type is given by this
  *	compiler.  What various bits mean:
@@ -3489,6 +3719,12 @@
  */
 /*#define     HAS_INT64_T               / **/
 
+/* HAS_ISBLANK:
+ *	This manifest constant lets the C program know that isblank
+ *	is available.
+ */
+/*#define HAS_ISBLANK		/ **/
+
 /* HAS_ISFINITE:
  *	This symbol, if defined, indicates that the isfinite routine is
  *	available to check whether a double is finite (non-infinity non-NaN).
@@ -4085,6 +4321,12 @@
  */
 /*#define	I_SOCKS		/ **/
 
+/* I_STDBOOL:
+ *	This symbol, if defined, indicates that <stdbool.h> exists and
+ *	can be included.
+ */
+/*#define	I_STDBOOL		/ **/
+
 /* I_SUNMATH:
  *	This symbol, if defined, indicates that <sunmath.h> exists and
  *	should be included.
@@ -4354,6 +4596,16 @@
  */
 #define SELECT_MIN_BITS 	32	/**/
 
+/* ST_INO_SIZE:
+ *	This variable contains the size of struct stat's st_ino in bytes.
+ */
+/* ST_INO_SIGN:
+ *	This symbol holds the signedness of struct stat's st_ino.
+ *	1 for unsigned, -1 for signed.
+ */
+#define ST_INO_SIGN 1	/* st_ino sign */
+#define ST_INO_SIZE 4	/* st_ino size */
+
 /* STARTPERL:
  *	This variable contains the string to put in front of a perl
  *	script to make sure (one hopes) that it runs with perl and not
@@ -4435,6 +4687,13 @@
 /*#define	USE_FAST_STDIO		/ **/
 #endif
 
+/* USE_KERN_PROC_PATHNAME:
+ *	This symbol, if defined, indicates that we can use sysctl with
+ *	KERN_PROC_PATHNAME to get a full path for the executable, and hence
+ * 	convert $^X to an absolute path.
+ */
+/*#define USE_KERN_PROC_PATHNAME	/ **/
+
 /* USE_LARGE_FILES:
  *	This symbol, if defined, indicates that large file support
  *	should be used when available.
@@ -4467,6 +4726,13 @@
 /*#define	MULTIPLICITY		/ **/
 #endif
 
+/* USE_NSGETEXECUTABLEPATH:
+ *	This symbol, if defined, indicates that we can use _NSGetExecutablePath
+ *	and realpath to get a full path for the executable, and hence convert
+ *	$^X to an absolute path.
+ */
+/*#define USE_NSGETEXECUTABLEPATH	/ **/
+
 /* USE_PERLIO:
  *	This symbol, if defined, indicates that the PerlIO abstraction should
  *	be used throughout.  If not defined, stdio should be
@@ -4484,208 +4750,9 @@
 /*#define	USE_SOCKS		/ **/
 #endif
 
-/* HAS_DRAND48_PROTO:
- *	This symbol, if defined, indicates that the system provides
- *	a prototype for the drand48() function.  Otherwise, it is up
- *	to the program to supply one.  A good guess is
- *		extern double drand48(void);
- */
-/*#define	HAS_DRAND48_PROTO	/ **/
-
-/* HAS_GETHOST_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for gethostent(), gethostbyname(), and
- *	gethostbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define	HAS_GETHOST_PROTOS	/ **/
-
-/* HAS_GETNET_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getnetent(), getnetbyname(), and
- *	getnetbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define	HAS_GETNET_PROTOS	/ **/
-
-/* HAS_GETPROTO_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getprotoent(), getprotobyname(), and
- *	getprotobyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define	HAS_GETPROTO_PROTOS	/ **/
-
-/* HAS_GETSERV_PROTOS:
- *	This symbol, if defined, indicates that <netdb.h> includes
- *	prototypes for getservent(), getservbyname(), and
- *	getservbyaddr().  Otherwise, it is up to the program to guess
- *	them.  See netdbtype.U for probing for various Netdb_xxx_t types.
- */
-/*#define	HAS_GETSERV_PROTOS	/ **/
-
-/* HAS_LSEEK_PROTO:
- *	This symbol, if defined, indicates that the system provides
- *	a prototype for the lseek() function.  Otherwise, it is up
- *	to the program to supply one.  A good guess is
- *		extern off_t lseek(int, off_t, int);
- */
-/*#define	HAS_LSEEK_PROTO	/ **/
-
-/* Netdb_host_t:
- *	This symbol holds the type used for the 1st argument
- *	to gethostbyaddr().
- */
-/* Netdb_hlen_t:
- *	This symbol holds the type used for the 2nd argument
- *	to gethostbyaddr().
- */
-/* Netdb_name_t:
- *	This symbol holds the type used for the argument to
- *	gethostbyname().
- */
-/* Netdb_net_t:
- *	This symbol holds the type used for the 1st argument to
- *	getnetbyaddr().
- */
-#define Netdb_host_t		const char * /**/
-#define Netdb_hlen_t		int /**/
-#define Netdb_name_t		const char * /**/
-#define Netdb_net_t		unsigned long /**/
-
-/* Select_fd_set_t:
- *	This symbol holds the type used for the 2nd, 3rd, and 4th
- *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
- *	is defined, and 'int *' otherwise.  This is only useful if you
- *	have select(), of course.
- */
-#define Select_fd_set_t 	int	/**/
-
-/* Sock_size_t:
- *	This symbol holds the type used for the size argument of
- *	various socket calls (just the base type, not the pointer-to).
- */
-#define Sock_size_t		int /**/
-
-/* HAS_TIME:
- *	This symbol, if defined, indicates that the time() routine exists.
- */
-/* Time_t:
- *	This symbol holds the type returned by time(). It can be long,
- *	or time_t on BSD sites (in which case <sys/types.h> should be
- *	included).
- */
-#define HAS_TIME		/**/
-#define Time_t time_t		/* Time type */
-
-/* HAS_TIMES:
- *	This symbol, if defined, indicates that the times() routine exists.
- *	Note that this became obsolete on some systems (SUNOS), which now
- * use getrusage(). It may be necessary to include <sys/times.h>.
- */
-/*#define HAS_TIMES		/ **/
-
-/* Fpos_t:
- *	This symbol holds the type used to declare file positions in libc.
- *	It can be fpos_t, long, uint, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Fpos_t int		/* File position type */
-
-/* Gid_t_f:
- *	This symbol defines the format string used for printing a Gid_t.
- */
-#define	Gid_t_f		"lu"		/**/
-
-/* Gid_t_sign:
- *	This symbol holds the signedess of a Gid_t.
- *	1 for unsigned, -1 for signed.
- */
-#define Gid_t_sign	1		/* GID sign */
-
-/* Gid_t_size:
- *	This symbol holds the size of a Gid_t in bytes.
- */
-#define Gid_t_size 4		/* GID size */
-
-/* Gid_t:
- *	This symbol holds the return type of getgid() and the type of
- *	argument to setrgid() and related functions.  Typically,
- *	it is the type of group ids in the kernel. It can be int, ushort,
- *	gid_t, etc... It may be necessary to include <sys/types.h> to get
- *	any typedef'ed information.
- */
-#define Gid_t int		/* Type for getgid(), etc... */
-
-/* Off_t:
- *	This symbol holds the type used to declare offsets in the kernel.
- *	It can be int, long, off_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-/* LSEEKSIZE:
- *	This symbol holds the number of bytes used by the Off_t.
- */
-/* Off_t_size:
- *	This symbol holds the number of bytes used by the Off_t.
- */
-#define Off_t int		/* <offset> type */
-#define LSEEKSIZE 4		/* <offset> size */
-#define Off_t_size 4	/* <offset> size */
-
-/* Mode_t:
- *	This symbol holds the type used to declare file modes
- *	for systems calls.  It is usually mode_t, but may be
- *	int or unsigned short.  It may be necessary to include <sys/types.h>
- *	to get any typedef'ed information.
- */
-#define Mode_t int	 /* file mode parameter for system calls */
-
-/* Pid_t:
- *	This symbol holds the type used to declare process ids in the kernel.
- *	It can be int, uint, pid_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Pid_t int		/* PID type */
-
-/* Size_t_size:
- *	This symbol holds the size of a Size_t in bytes.
- */
-#define Size_t_size 4		/* */
-
-/* Size_t:
- *	This symbol holds the type used to declare length parameters
- *	for string functions.  It is usually size_t, but may be
- *	unsigned long, int, etc.  It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Size_t size_t	 /* length parameter for string functions */
-
-/* Uid_t_f:
- *	This symbol defines the format string used for printing a Uid_t.
- */
-#define	Uid_t_f		"lu"		/**/
-
-/* Uid_t_sign:
- *	This symbol holds the signedess of a Uid_t.
- *	1 for unsigned, -1 for signed.
- */
-#define Uid_t_sign	1		/* UID sign */
-
-/* Uid_t_size:
- *	This symbol holds the size of a Uid_t in bytes.
- */
-#define Uid_t_size 4		/* UID size */
-
-/* Uid_t:
- *	This symbol holds the type used to declare user ids in the kernel.
- *	It can be int, ushort, uid_t, etc... It may be necessary to include
- *	<sys/types.h> to get any typedef'ed information.
- */
-#define Uid_t int		/* UID type */
-
 #endif
 
 /* Generated from:
- * 323778627146f2762cd41f4dd1db6659f59006ec9bcaaf6bcc645d0380dda938 config_h.SH
- * 2cf3a76ed7acc1c0fee31fb6f5117eef18b28c542aa7225a22c84ed74b710c83 uconfig.sh
+ * 2c9dc3f21d37b1665f6a59dfc6d79e6cb08bdf36a9c3e427d11d6b9ddffe2439 config_h.SH
+ * 26ab9b4aa382d32761cb91084ba59e7e4b190799502a43366ccb3d2f584783ca uconfig.sh
  * ex: set ro: */


Property changes on: vendor/perl/dist/uconfig.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/uconfig.sh
===================================================================
--- vendor/perl/dist/uconfig.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/uconfig.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 #!/bin/sh
+Author=''
 _a='.a'
 _o='.o'
 afs='false'
@@ -5,12 +6,13 @@
 afsroot='/afs'
 alignbytes='4'
 aphostname='/bin/hostname'
-archlib='/usr/local/lib/perl5/5.14/unknown'
-archlibexp='/usr/local/lib/perl5/5.14/unknown'
+archlib='/usr/local/lib/perl5/5.18/unknown'
+archlibexp='/usr/local/lib/perl5/5.18/unknown'
 archname='unknown'
 asctime_r_proto='0'
 bin='/usr/local/bin'
 binexp='/usr/local/bin'
+bootstrap_charset='undef'
 byteorder='1234'
 castflags='0'
 cf_by='root at localhost'
@@ -17,11 +19,11 @@
 cf_time='Thu Jan  1 00:00:00 GMT 1970'
 charbits='8'
 clocktype='clock_t'
+cpp_stuff='42'
 cpplast='-'
 cppminus='-'
 cpprun='cc -E'
 cppstdin='cc -E'
-cpp_stuff='42'
 crypt_r_proto='0'
 ctermid_r_proto='0'
 ctime_r_proto='0'
@@ -59,9 +61,9 @@
 d_attribute_warn_unused_result='undef'
 d_bcmp='undef'
 d_bcopy='undef'
+d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
-d_bsd='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
 d_bzero='undef'
@@ -79,11 +81,11 @@
 d_const='undef'
 d_copysignl='undef'
 d_cplusplus='undef'
+d_crypt='undef'
 d_crypt_r='undef'
-d_crypt='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
-d_ctermid='undef'
 d_ctime64='undef'
 d_ctime_r='undef'
 d_cuserid='undef'
@@ -98,12 +100,12 @@
 d_dlopen='undef'
 d_dlsymun='undef'
 d_dosuid='undef'
+d_drand48_r='undef'
 d_drand48proto='undef'
-d_drand48_r='undef'
 d_dup2='undef'
 d_eaccess='undef'
+d_endgrent='undef'
 d_endgrent_r='undef'
-d_endgrent='undef'
 d_endhent='undef'
 d_endhostent_r='undef'
 d_endnent='undef'
@@ -110,8 +112,8 @@
 d_endnetent_r='undef'
 d_endpent='undef'
 d_endprotoent_r='undef'
+d_endpwent='undef'
 d_endpwent_r='undef'
-d_endpwent='undef'
 d_endsent='undef'
 d_endservent_r='undef'
 d_eofnblk='undef'
@@ -120,23 +122,23 @@
 d_fchdir='undef'
 d_fchmod='undef'
 d_fchown='undef'
+d_fcntl='undef'
 d_fcntl_can_lock='undef'
-d_fcntl='undef'
 d_fd_macros='undef'
+d_fd_set='undef'
 d_fds_bits='undef'
-d_fd_set='undef'
 d_fgetpos='undef'
+d_finite='undef'
 d_finitel='undef'
-d_finite='undef'
 d_flexfnam='undef'
+d_flock='undef'
 d_flockproto='undef'
-d_flock='undef'
 d_fork='define'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
 d_fpclassify='undef'
 d_fpclassl='undef'
-d_fp_class='undef'
-d_fpclass='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -154,8 +156,8 @@
 d_getcwd='undef'
 d_getespwnam='undef'
 d_getfsstat='undef'
+d_getgrent='undef'
 d_getgrent_r='undef'
-d_getgrent='undef'
 d_getgrgid_r='undef'
 d_getgrnam_r='undef'
 d_getgrps='undef'
@@ -168,10 +170,10 @@
 d_gethostent_r='undef'
 d_gethostprotos='undef'
 d_getitimer='undef'
+d_getlogin='undef'
 d_getlogin_r='undef'
-d_getlogin='undef'
+d_getmnt='undef'
 d_getmntent='undef'
-d_getmnt='undef'
 d_getnameinfo='undef'
 d_getnbyaddr='undef'
 d_getnbyname='undef'
@@ -194,8 +196,8 @@
 d_getprotoent_r='undef'
 d_getprotoprotos='undef'
 d_getprpwnam='undef'
+d_getpwent='undef'
 d_getpwent_r='undef'
-d_getpwent='undef'
 d_getpwnam_r='undef'
 d_getpwuid_r='undef'
 d_getsbyname='undef'
@@ -206,8 +208,8 @@
 d_getservent_r='undef'
 d_getservprotos='undef'
 d_getspent='undef'
+d_getspnam='undef'
 d_getspnam_r='undef'
-d_getspnam='undef'
 d_gettimeod='undef'
 d_gmtime64='undef'
 d_gmtime_r='undef'
@@ -222,11 +224,16 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='undef'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='undef'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='undef'
+d_isnan='undef'
 d_isnanl='undef'
-d_isnan='undef'
 d_killpg='undef'
 d_lchown='undef'
 d_ldbl_dig='undef'
@@ -233,8 +240,8 @@
 d_libm_lib_version='undef'
 d_link='undef'
 d_localtime64='undef'
+d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
-d_localtime_r='undef'
 d_locconv='undef'
 d_lockf='undef'
 d_longdbl='undef'
@@ -255,26 +262,26 @@
 d_mkdir='undef'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkstemp='undef'
 d_mkstemps='undef'
-d_mkstemp='undef'
 d_mktime64='undef'
 d_mktime='undef'
 d_mmap='undef'
+d_modfl='undef'
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
-d_modfl='undef'
 d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
 d_msg_ctrunc='undef'
 d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
 d_msg_oob='undef'
 d_msg_peek='undef'
 d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
 d_msgrcv='undef'
 d_msgsnd='undef'
-d_msg='undef'
 d_msync='undef'
 d_munmap='undef'
 d_mymalloc='undef'
@@ -288,8 +295,6 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
-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'
-nv_preserves_uv_bits='0'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
@@ -387,6 +392,7 @@
 d_sin6_scope_id='undef'
 d_sitearch='undef'
 d_snprintf='undef'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -422,7 +428,7 @@
 d_strlcat='undef'
 d_strlcpy='undef'
 d_strtod='undef'
-d_strtol='undef'
+d_strtol='define'
 d_strtold='undef'
 d_strtoll='undef'
 d_strtoq='undef'
@@ -584,6 +590,7 @@
 i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -635,6 +642,7 @@
 ivdformat='"ld"'
 ivsize='4'
 ivtype='long'
+ld_can_script='define'
 lib_ext='.a'
 localtime_r_proto='0'
 longdblsize=8
@@ -657,6 +665,8 @@
 netdb_name_type='const char *'
 netdb_net_type='unsigned long'
 nroff='nroff'
+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'
+nv_preserves_uv_bits='0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
@@ -674,8 +684,8 @@
 perl_static_inline='static'
 phostname='hostname'
 pidtype=int
-privlib='/usr/local/lib/perl5/5.14'
-privlibexp='/usr/local/lib/perl5/5.14'
+privlib='/usr/local/lib/perl5/5.18'
+privlibexp='/usr/local/lib/perl5/5.18'
 procselfexe=''
 prototype='undef'
 ptrsize='4'
@@ -692,18 +702,18 @@
 sGMTIME_min='0'
 sLOCALTIME_max='2147483647'
 sLOCALTIME_min='0'
+sPRIEUldbl='"llE"'
+sPRIFUldbl='"llF"'
+sPRIGUldbl='"llG"'
+sPRIXU64='"LX"'
 sPRId64='"Ld"'
 sPRIeldbl='"lle"'
-sPRIEUldbl='"llE"'
 sPRIfldbl='"llf"'
-sPRIFUldbl='"llF"'
 sPRIgldbl='"llg"'
-sPRIGUldbl='"llG"'
 sPRIi64='"Li"'
 sPRIo64='"Lo"'
 sPRIu64='"Lu"'
 sPRIx64='"Lx"'
-sPRIXU64='"LX"'
 sSCNfldbl='"llf"'
 sched_yield='sched_yield()'
 scriptdir='/usr/local/bin'
@@ -725,11 +735,11 @@
 sig_num_init='0'
 sig_size='1'
 signal_t=int
-sitearch='/usr/local/lib/perl5/5.14/unknown'
-sitearchexp='/usr/local/lib/perl5/5.14/unknown'
-sitelib='/usr/local/lib/perl5/5.14'
+sitearch='/usr/local/lib/perl5/5.18/unknown'
+sitearchexp='/usr/local/lib/perl5/5.18/unknown'
+sitelib='/usr/local/lib/perl5/5.18'
 sitelib_stem='/usr/local/lib/perl5'
-sitelibexp='/usr/local/lib/perl5/5.14'
+sitelibexp='/usr/local/lib/perl5/5.18'
 sizesize=4
 sizetype='size_t'
 socksizetype='int'
@@ -737,6 +747,8 @@
 srandom_r_proto='0'
 src='.'
 ssizetype=int
+st_ino_sign='1'
+st_ino_size='4'
 startperl='#!perl'
 stdchar=char
 stdio_base='((fp)->_IO_read_base)'
@@ -773,6 +785,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='undef'
 uselongdouble='undef'
 usemallocwrap='undef'
@@ -780,6 +793,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='undef'
 useposix='true'
@@ -805,3 +819,4 @@
 vendorlibexp=''
 versiononly='undef'
 voidflags=1
+zip=''


Property changes on: vendor/perl/dist/uconfig.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/uconfig64.sh
===================================================================
--- vendor/perl/dist/uconfig64.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/uconfig64.sh	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,5 @@
 #!/bin/sh
+Author=''
 _a='.a'
 _o='.o'
 afs='false'
@@ -6,12 +7,13 @@
 alignbytes='8'
 ansi2knr=''
 aphostname='/bin/hostname'
-archlib='/usr/local/lib/perl5/5.14/unknown'
-archlibexp='/usr/local/lib/perl5/5.14/unknown'
+archlib='/usr/local/lib/perl5/5.18/unknown'
+archlibexp='/usr/local/lib/perl5/5.18/unknown'
 archname='unknown64'
 asctime_r_proto='0'
 bin='/usr/local/bin'
 binexp='/usr/local/bin'
+bootstrap_charset='undef'
 byteorder='12345678'
 castflags='0'
 cf_by='root at localhost'
@@ -18,11 +20,11 @@
 cf_time='Thu Jan  1 00:00:00 GMT 1970'
 charbits='8'
 clocktype='clock_t'
+cpp_stuff='42'
 cpplast='-'
 cppminus='-'
 cpprun='cc -E'
 cppstdin='cc -E'
-cpp_stuff='42'
 crypt_r_proto='0'
 ctermid_r_proto='0'
 ctime_r_proto='0'
@@ -60,9 +62,9 @@
 d_attribute_warn_unused_result='undef'
 d_bcmp='undef'
 d_bcopy='undef'
+d_bsd='undef'
 d_bsdgetpgrp='undef'
 d_bsdsetpgrp='undef'
-d_bsd='undef'
 d_builtin_choose_expr='undef'
 d_builtin_expect='undef'
 d_bzero='undef'
@@ -80,11 +82,11 @@
 d_const='undef'
 d_copysignl='undef'
 d_cplusplus='undef'
+d_crypt='undef'
 d_crypt_r='undef'
-d_crypt='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
-d_ctermid='undef'
 d_ctime64='undef'
 d_ctime_r='undef'
 d_cuserid='undef'
@@ -99,12 +101,12 @@
 d_dlopen='undef'
 d_dlsymun='undef'
 d_dosuid='undef'
+d_drand48_r='undef'
 d_drand48proto='undef'
-d_drand48_r='undef'
 d_dup2='undef'
 d_eaccess='undef'
+d_endgrent='undef'
 d_endgrent_r='undef'
-d_endgrent='undef'
 d_endhent='undef'
 d_endhostent_r='undef'
 d_endnent='undef'
@@ -111,8 +113,8 @@
 d_endnetent_r='undef'
 d_endpent='undef'
 d_endprotoent_r='undef'
+d_endpwent='undef'
 d_endpwent_r='undef'
-d_endpwent='undef'
 d_endsent='undef'
 d_endservent_r='undef'
 d_eofnblk='undef'
@@ -121,23 +123,23 @@
 d_fchdir='undef'
 d_fchmod='undef'
 d_fchown='undef'
+d_fcntl='undef'
 d_fcntl_can_lock='undef'
-d_fcntl='undef'
 d_fd_macros='undef'
+d_fd_set='undef'
 d_fds_bits='undef'
-d_fd_set='undef'
 d_fgetpos='undef'
+d_finite='undef'
 d_finitel='undef'
-d_finite='undef'
 d_flexfnam='undef'
+d_flock='undef'
 d_flockproto='undef'
-d_flock='undef'
 d_fork='define'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
 d_fpclassify='undef'
 d_fpclassl='undef'
-d_fp_class='undef'
-d_fpclass='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -155,8 +157,8 @@
 d_getcwd='undef'
 d_getespwnam='undef'
 d_getfsstat='undef'
+d_getgrent='undef'
 d_getgrent_r='undef'
-d_getgrent='undef'
 d_getgrgid_r='undef'
 d_getgrnam_r='undef'
 d_getgrps='undef'
@@ -169,10 +171,10 @@
 d_gethostent_r='undef'
 d_gethostprotos='undef'
 d_getitimer='undef'
+d_getlogin='undef'
 d_getlogin_r='undef'
-d_getlogin='undef'
+d_getmnt='undef'
 d_getmntent='undef'
-d_getmnt='undef'
 d_getnameinfo='undef'
 d_getnbyaddr='undef'
 d_getnbyname='undef'
@@ -195,8 +197,8 @@
 d_getprotoent_r='undef'
 d_getprotoprotos='undef'
 d_getprpwnam='undef'
+d_getpwent='undef'
 d_getpwent_r='undef'
-d_getpwent='undef'
 d_getpwnam_r='undef'
 d_getpwuid_r='undef'
 d_getsbyname='undef'
@@ -207,8 +209,8 @@
 d_getservent_r='undef'
 d_getservprotos='undef'
 d_getspent='undef'
+d_getspnam='undef'
 d_getspnam_r='undef'
-d_getspnam='undef'
 d_gettimeod='undef'
 d_gmtime64='undef'
 d_gmtime_r='undef'
@@ -223,11 +225,16 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='undef'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='undef'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='undef'
+d_isnan='undef'
 d_isnanl='undef'
-d_isnan='undef'
 d_killpg='undef'
 d_lchown='undef'
 d_ldbl_dig='undef'
@@ -234,8 +241,8 @@
 d_libm_lib_version='undef'
 d_link='undef'
 d_localtime64='undef'
+d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
-d_localtime_r='undef'
 d_locconv='undef'
 d_lockf='undef'
 d_longdbl='undef'
@@ -256,26 +263,26 @@
 d_mkdir='undef'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkstemp='undef'
 d_mkstemps='undef'
-d_mkstemp='undef'
 d_mktime64='undef'
 d_mktime='undef'
 d_mmap='undef'
+d_modfl='undef'
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
-d_modfl='undef'
 d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
 d_msg_ctrunc='undef'
 d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
 d_msg_oob='undef'
 d_msg_peek='undef'
 d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
 d_msgrcv='undef'
 d_msgsnd='undef'
-d_msg='undef'
 d_msync='undef'
 d_munmap='undef'
 d_mymalloc='undef'
@@ -289,8 +296,6 @@
 d_oldpthreads='undef'
 d_oldsock='undef'
 d_open3='undef'
-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'
-nv_preserves_uv_bits='0'
 d_pathconf='undef'
 d_pause='undef'
 d_perl_otherlibdirs='undef'
@@ -388,6 +393,7 @@
 d_sin6_scope_id='undef'
 d_sitearch='undef'
 d_snprintf='undef'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -423,7 +429,7 @@
 d_strlcat='undef'
 d_strlcpy='undef'
 d_strtod='undef'
-d_strtol='undef'
+d_strtol='define'
 d_strtold='undef'
 d_strtoll='undef'
 d_strtoq='undef'
@@ -585,6 +591,7 @@
 i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -658,6 +665,8 @@
 netdb_name_type='const char *'
 netdb_net_type='unsigned long'
 nroff='nroff'
+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'
+nv_preserves_uv_bits='0'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
@@ -675,8 +684,8 @@
 perl_static_inline='static'
 phostname='hostname'
 pidtype=int
-privlib='/usr/local/lib/perl5/5.14'
-privlibexp='/usr/local/lib/perl5/5.14'
+privlib='/usr/local/lib/perl5/5.18'
+privlibexp='/usr/local/lib/perl5/5.18'
 procselfexe=''
 prototype='undef'
 ptrsize='8'
@@ -693,18 +702,18 @@
 sGMTIME_min='0'
 sLOCALTIME_max='2147483647'
 sLOCALTIME_min='0'
+sPRIEUldbl='"llE"'
+sPRIFUldbl='"llF"'
+sPRIGUldbl='"llG"'
+sPRIXU64='"lX"'
 sPRId64='"ld"'
 sPRIeldbl='"lle"'
-sPRIEUldbl='"llE"'
 sPRIfldbl='"llf"'
-sPRIFUldbl='"llF"'
 sPRIgldbl='"llg"'
-sPRIGUldbl='"llG"'
 sPRIi64='"li"'
 sPRIo64='"lo"'
 sPRIu64='"lu"'
 sPRIx64='"lx"'
-sPRIXU64='"lX"'
 sSCNfldbl='"llf"'
 sched_yield='sched_yield()'
 scriptdir='/usr/local/bin'
@@ -726,11 +735,11 @@
 sig_num_init='0'
 sig_size='1'
 signal_t=int
-sitearch='/usr/local/lib/perl5/5.14/unknown'
-sitearchexp='/usr/local/lib/perl5/5.14/unknown'
-sitelib='/usr/local/lib/perl5/5.14'
+sitearch='/usr/local/lib/perl5/5.18/unknown'
+sitearchexp='/usr/local/lib/perl5/5.18/unknown'
+sitelib='/usr/local/lib/perl5/5.18'
 sitelib_stem='/usr/local/lib/perl5'
-sitelibexp='/usr/local/lib/perl5/5.14'
+sitelibexp='/usr/local/lib/perl5/5.18'
 sizesize=4
 sizetype='size_t'
 socksizetype='int'
@@ -738,6 +747,8 @@
 srandom_r_proto='0'
 src='.'
 ssizetype=long
+st_ino_sign='1'
+st_ino_size='8'
 startperl='#!perl'
 stdchar=char
 stdio_base='((fp)->_IO_read_base)'
@@ -774,6 +785,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='undef'
 uselongdouble='undef'
 usemallocwrap='undef'
@@ -781,6 +793,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='undef'
 useposix='true'
@@ -806,3 +819,4 @@
 vendorlibexp=''
 versiononly='undef'
 voidflags=1
+zip=''


Property changes on: vendor/perl/dist/uconfig64.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Added: vendor/perl/dist/unicode_constants.h
===================================================================
--- vendor/perl/dist/unicode_constants.h	                        (rev 0)
+++ vendor/perl/dist/unicode_constants.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -0,0 +1,44 @@
+/* -*- buffer-read-only: t -*-
+ * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
+ * This file is built by regen/unicode_constants.pl from Unicode data.
+ * Any changes made here will be lost!
+ */
+
+
+#ifndef H_UNICODE_CONSTANTS   /* Guard against nested #includes */
+#define H_UNICODE_CONSTANTS   1
+
+/* This file contains #defines for various Unicode code points.  The values
+ * the macros expand to are the native Unicode code point, or all or portions
+ * of the UTF-8 encoding for the code point.  In the former case, the macro
+ * name has the suffix "_NATIVE"; otherwise, the suffix "_UTF8".
+ *
+ * The macros that have the suffix "_UTF8" may have further suffixes, as
+ * follows:
+ *  "_FIRST_BYTE" if the value is just the first byte of the UTF-8
+ *                representation; the value will be a numeric constant.
+ *  "_TAIL"       if instead it represents all but the first byte.  This, and
+ *                with no additional suffix are both string constants */
+
+
+#define COMBINING_GRAVE_ACCENT_UTF8  "\xCC\x80"    /* U+0300 */
+#define COMBINING_ACUTE_ACCENT_UTF8  "\xCC\x81"    /* U+0301 */
+#define COMBINING_DIAERESIS_UTF8  "\xCC\x88"    /* U+0308 */
+
+#define GREEK_SMALL_LETTER_IOTA_UTF8  "\xCE\xB9"    /* U+03B9 */
+
+#define GREEK_SMALL_LETTER_UPSILON_UTF8  "\xCF\x85"    /* U+03C5 */
+
+#define HYPHEN_UTF8  "\xE2\x80\x90"    /* U+2010 */
+#define FIRST_SURROGATE_UTF8_FIRST_BYTE  0xED    /* U+D800 */
+
+#define DEL_NATIVE  0x7F    /* U+007F */
+#define LATIN_SMALL_LETTER_SHARP_S_NATIVE  0xDF    /* U+00DF */
+#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE  0xE5    /* U+00E5 */
+#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE  0xC5    /* U+00C5 */
+#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE  0xFF    /* U+00FF */
+#define MICRO_SIGN_NATIVE  0xB5    /* U+00B5 */
+
+#endif /* H_UNICODE_CONSTANTS */
+
+/* ex: set ro: */

Modified: vendor/perl/dist/universal.c
===================================================================
--- vendor/perl/dist/universal.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/universal.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -39,12 +39,11 @@
  */
 
 STATIC bool
-S_isa_lookup(pTHX_ HV *stash, const char * const name)
+S_isa_lookup(pTHX_ HV *stash, const char * const name, STRLEN len, U32 flags)
 {
     dVAR;
     const struct mro_meta *const meta = HvMROMETA(stash);
     HV *isa = meta->isa;
-    STRLEN len = strlen(name);
     const HV *our_stash;
 
     PERL_ARGS_ASSERT_ISA_LOOKUP;
@@ -54,8 +53,7 @@
 	isa = meta->isa;
     }
 
-    if (hv_common(isa, NULL, name, len, 0 /* No "UTF-8" flag possible with only
-					     a char * argument*/,
+    if (hv_common(isa, NULL, name, len, ( flags & SVf_UTF8 ? HVhek_UTF8 : 0),
 		  HV_FETCH_ISEXISTS, NULL, 0)) {
 	/* Direct name lookup worked.  */
 	return TRUE;
@@ -64,7 +62,7 @@
     /* A stash/class can go by many names (ie. User == main::User), so 
        we use the HvENAME in the stash itself, which is canonical, falling
        back to HvNAME if necessary.  */
-    our_stash = gv_stashpvn(name, len, 0);
+    our_stash = gv_stashpvn(name, len, flags);
 
     if (our_stash) {
 	HEK *canon_name = HvENAME_HEK(our_stash);
@@ -83,22 +81,76 @@
 /*
 =head1 SV Manipulation Functions
 
-=for apidoc sv_derived_from
+=for apidoc sv_derived_from_pvn
 
 Returns a boolean indicating whether the SV is derived from the specified class
 I<at the C level>.  To check derivation at the Perl level, call C<isa()> as a
 normal Perl method.
 
+Currently, the only significant value for C<flags> is SVf_UTF8.
+
 =cut
+
+=for apidoc sv_derived_from_sv
+
+Exactly like L</sv_derived_from_pvn>, but takes the name string in the form
+of an SV instead of a string/length pair.
+
+=cut
+
 */
 
 bool
+Perl_sv_derived_from_sv(pTHX_ SV *sv, SV *namesv, U32 flags)
+{
+    char *namepv;
+    STRLEN namelen;
+    PERL_ARGS_ASSERT_SV_DERIVED_FROM_SV;
+    namepv = SvPV(namesv, namelen);
+    if (SvUTF8(namesv))
+       flags |= SVf_UTF8;
+    return sv_derived_from_pvn(sv, namepv, namelen, flags);
+}
+
+/*
+=for apidoc sv_derived_from
+
+Exactly like L</sv_derived_from_pv>, but doesn't take a C<flags> parameter.
+
+=cut
+*/
+
+bool
 Perl_sv_derived_from(pTHX_ SV *sv, const char *const name)
 {
+    PERL_ARGS_ASSERT_SV_DERIVED_FROM;
+    return sv_derived_from_pvn(sv, name, strlen(name), 0);
+}
+
+/*
+=for apidoc sv_derived_from_pv
+
+Exactly like L</sv_derived_from_pvn>, but takes a nul-terminated string 
+instead of a string/length pair.
+
+=cut
+*/
+
+
+bool
+Perl_sv_derived_from_pv(pTHX_ SV *sv, const char *const name, U32 flags)
+{
+    PERL_ARGS_ASSERT_SV_DERIVED_FROM_PV;
+    return sv_derived_from_pvn(sv, name, strlen(name), flags);
+}
+
+bool
+Perl_sv_derived_from_pvn(pTHX_ SV *sv, const char *const name, const STRLEN len, U32 flags)
+{
     dVAR;
     HV *stash;
 
-    PERL_ARGS_ASSERT_SV_DERIVED_FROM;
+    PERL_ARGS_ASSERT_SV_DERIVED_FROM_PVN;
 
     SvGETMAGIC(sv);
 
@@ -112,13 +164,15 @@
     }
     else {
         stash = gv_stashsv(sv, 0);
+        if (!stash)
+            stash = gv_stashpvs("UNIVERSAL", 0);
     }
 
-    return stash ? isa_lookup(stash, name) : FALSE;
+    return stash ? isa_lookup(stash, name, len, flags) : FALSE;
 }
 
 /*
-=for apidoc sv_does
+=for apidoc sv_does_sv
 
 Returns a boolean indicating whether the SV performs a specific, named role.
 The SV can be a Perl object or the name of a Perl class.
@@ -129,14 +183,15 @@
 #include "XSUB.h"
 
 bool
-Perl_sv_does(pTHX_ SV *sv, const char *const name)
+Perl_sv_does_sv(pTHX_ SV *sv, SV *namesv, U32 flags)
 {
-    const char *classname;
+    SV *classname;
     bool does_it;
     SV *methodname;
     dSP;
 
-    PERL_ARGS_ASSERT_SV_DOES;
+    PERL_ARGS_ASSERT_SV_DOES_SV;
+    PERL_UNUSED_ARG(flags);
 
     ENTER;
     SAVETMPS;
@@ -143,26 +198,26 @@
 
     SvGETMAGIC(sv);
 
-    if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))
-	    || (SvGMAGICAL(sv) && SvPOKp(sv) && SvCUR(sv)))) {
+    if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv)))) {
 	LEAVE;
 	return FALSE;
     }
 
     if (sv_isobject(sv)) {
-	classname = sv_reftype(SvRV(sv),TRUE);
+	classname = sv_ref(NULL,SvRV(sv),TRUE);
     } else {
-	classname = SvPV_nolen(sv);
+	classname = sv;
     }
 
-    if (strEQ(name,classname)) {
+    if (sv_eq(classname, namesv)) {
 	LEAVE;
 	return TRUE;
     }
 
     PUSHMARK(SP);
-    XPUSHs(sv);
-    mXPUSHs(newSVpv(name, 0));
+    EXTEND(SP, 2);
+    PUSHs(sv);
+    PUSHs(namesv);
     PUTBACK;
 
     methodname = newSVpvs_flags("isa", SVs_TEMP);
@@ -181,6 +236,53 @@
 }
 
 /*
+=for apidoc sv_does
+
+Like L</sv_does_pv>, but doesn't take a C<flags> parameter.
+
+=cut
+*/
+
+bool
+Perl_sv_does(pTHX_ SV *sv, const char *const name)
+{
+    PERL_ARGS_ASSERT_SV_DOES;
+    return sv_does_sv(sv, newSVpvn_flags(name, strlen(name), SVs_TEMP), 0);
+}
+
+/*
+=for apidoc sv_does_pv
+
+Like L</sv_does_sv>, but takes a nul-terminated string instead of an SV.
+
+=cut
+*/
+
+
+bool
+Perl_sv_does_pv(pTHX_ SV *sv, const char *const name, U32 flags)
+{
+    PERL_ARGS_ASSERT_SV_DOES_PV;
+    return sv_does_sv(sv, newSVpvn_flags(name, strlen(name), SVs_TEMP | flags), flags);
+}
+
+/*
+=for apidoc sv_does_pvn
+
+Like L</sv_does_sv>, but takes a string/length pair instead of an SV.
+
+=cut
+*/
+
+bool
+Perl_sv_does_pvn(pTHX_ SV *sv, const char *const name, const STRLEN len, U32 flags)
+{
+    PERL_ARGS_ASSERT_SV_DOES_PVN;
+
+    return sv_does_sv(sv, newSVpvn_flags(name, len, flags | SVs_TEMP), flags);
+}
+
+/*
 =for apidoc croak_xs_usage
 
 A specialised variant of C<croak()> for emitting the usage message for xsubs
@@ -190,13 +292,13 @@
 works out the package name and subroutine name from C<cv>, and then calls
 C<croak()>. Hence if C<cv> is C<&ouch::awk>, it would call C<croak> as:
 
-    Perl_croak(aTHX_ "Usage: %s::%s(%s)", "ouch" "awk", "eee_yow");
+    Perl_croak(aTHX_ "Usage: %"SVf"::%"SVf"(%s)", "ouch" "awk", "eee_yow");
 
 =cut
 */
 
 void
-Perl_croak_xs_usage(pTHX_ const CV *const cv, const char *const params)
+Perl_croak_xs_usage(const CV *const cv, const char *const params)
 {
     const GV *const gv = CvGV(cv);
 
@@ -203,17 +305,19 @@
     PERL_ARGS_ASSERT_CROAK_XS_USAGE;
 
     if (gv) {
-	const char *const gvname = GvNAME(gv);
 	const HV *const stash = GvSTASH(gv);
-	const char *const hvname = stash ? HvNAME_get(stash) : NULL;
 
-	if (hvname)
-	    Perl_croak(aTHX_ "Usage: %s::%s(%s)", hvname, gvname, params);
+	if (HvNAME_get(stash))
+	    Perl_croak_nocontext("Usage: %"HEKf"::%"HEKf"(%s)",
+                                HEKfARG(HvNAME_HEK(stash)),
+                                HEKfARG(GvNAME_HEK(gv)),
+                                params);
 	else
-	    Perl_croak(aTHX_ "Usage: %s(%s)", gvname, params);
+	    Perl_croak_nocontext("Usage: %"HEKf"(%s)",
+                                HEKfARG(GvNAME_HEK(gv)), params);
     } else {
 	/* Pants. I don't think that it should be possible to get here. */
-	Perl_croak(aTHX_ "Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
+	Perl_croak_nocontext("Usage: CODE(0x%"UVxf")(%s)", PTR2UV(cv), params);
     }
 }
 
@@ -226,17 +330,13 @@
 	croak_xs_usage(cv, "reference, kind");
     else {
 	SV * const sv = ST(0);
-	const char *name;
 
 	SvGETMAGIC(sv);
 
-	if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))
-		    || (SvGMAGICAL(sv) && SvPOKp(sv) && SvCUR(sv))))
+	if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))))
 	    XSRETURN_UNDEF;
 
-	name = SvPV_nolen_const(ST(1));
-
-	ST(0) = boolSV(sv_derived_from(sv, name));
+	ST(0) = boolSV(sv_derived_from_sv(sv, ST(1), 0));
 	XSRETURN(1);
     }
 }
@@ -246,7 +346,6 @@
     dVAR;
     dXSARGS;
     SV   *sv;
-    const char *name;
     SV   *rv;
     HV   *pkg = NULL;
 
@@ -257,11 +356,10 @@
 
     SvGETMAGIC(sv);
 
-    if (!SvOK(sv) || !(SvROK(sv) || (SvPOK(sv) && SvCUR(sv))
-		|| (SvGMAGICAL(sv) && SvPOKp(sv) && SvCUR(sv))))
+    if (!SvOK(sv) || !(SvROK(sv) || SvNIOK(sv) || (SvPOK(sv) && SvCUR(sv))
+       ))
 	XSRETURN_UNDEF;
 
-    name = SvPV_nolen_const(ST(1));
     rv = &PL_sv_undef;
 
     if (SvROK(sv)) {
@@ -271,10 +369,12 @@
     }
     else {
         pkg = gv_stashsv(sv, 0);
+        if (!pkg)
+            pkg = gv_stashpv("UNIVERSAL", 0);
     }
 
     if (pkg) {
-	GV * const gv = gv_fetchmethod_autoload(pkg, name, FALSE);
+	GV * const gv = gv_fetchmethod_sv_flags(pkg, ST(1), 0);
         if (gv && isGV(gv))
 	    rv = sv_2mortal(newRV(MUTABLE_SV(GvCV(gv))));
     }
@@ -290,13 +390,10 @@
     PERL_UNUSED_ARG(cv);
 
     if (items != 2)
-	Perl_croak(aTHX_ "Usage: invocand->DOES(kind)");
+	Perl_croak(aTHX_ "Usage: invocant->DOES(kind)");
     else {
 	SV * const sv = ST(0);
-	const char *name;
-
-	name = SvPV_nolen_const(ST(1));
-	if (sv_does( sv, name ))
+	if (sv_does_sv( sv, ST(1), 0 ))
 	    XSRETURN_YES;
 
 	XSRETURN_NO;
@@ -330,8 +427,9 @@
         SV * const nsv = sv_newmortal();
         sv_setsv(nsv, sv);
         sv = nsv;
-	if ( !sv_derived_from(sv, "version"))
+	if ( !sv_isobject(sv) || !sv_derived_from(sv, "version"))
 	    upg_version(sv, FALSE);
+
         undef = NULL;
     }
     else {
@@ -344,18 +442,19 @@
 
 	if (undef) {
 	    if (pkg) {
-		const char * const name = HvNAME_get(pkg);
+		const HEK * const name = HvNAME_HEK(pkg);
 		Perl_croak(aTHX_
-			   "%s does not define $%s::VERSION--version check failed",
-			   name, name);
+			   "%"HEKf" does not define $%"HEKf
+			   "::VERSION--version check failed",
+			   HEKfARG(name), HEKfARG(name));
 	    } else {
 		Perl_croak(aTHX_
-			     "%s defines neither package nor VERSION--version check failed",
-			     SvPVx_nolen_const(ST(0)) );
+			     "%"SVf" defines neither package nor VERSION--version check failed",
+			     SVfARG(ST(0)) );
 	     }
 	}
 
-	if ( !sv_derived_from(req, "version")) {
+	if ( !sv_isobject(req) || !sv_derived_from(req, "version")) {
 	    /* req may very well be R/O, so create a new object */
 	    req = sv_2mortal( new_version(req) );
 	}
@@ -362,13 +461,15 @@
 
 	if ( vcmp( req, sv ) > 0 ) {
 	    if ( hv_exists(MUTABLE_HV(SvRV(req)), "qv", 2 ) ) {
-		Perl_croak(aTHX_ "%s version %"SVf" required--"
-		       "this is only version %"SVf"", HvNAME_get(pkg),
+		Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
+		       "this is only version %"SVf"",
+                       HEKfARG(HvNAME_HEK(pkg)),
 		       SVfARG(sv_2mortal(vnormal(req))),
 		       SVfARG(sv_2mortal(vnormal(sv))));
 	    } else {
-		Perl_croak(aTHX_ "%s version %"SVf" required--"
-		       "this is only version %"SVf"", HvNAME_get(pkg),
+		Perl_croak(aTHX_ "%"HEKf" version %"SVf" required--"
+		       "this is only version %"SVf,
+                       HEKfARG(HvNAME_HEK(pkg)),
 		       SVfARG(sv_2mortal(vstringify(req))),
 		       SVfARG(sv_2mortal(vstringify(sv))));
 	    }
@@ -389,16 +490,25 @@
 {
     dVAR;
     dXSARGS;
-    if (items > 3)
+    if (items > 3 || items < 1)
 	croak_xs_usage(cv, "class, version");
     SP -= items;
     {
         SV *vs = ST(1);
 	SV *rv;
-	const char * const classname =
-	    sv_isobject(ST(0)) /* get the class if called as an object method */
-		? HvNAME(SvSTASH(SvRV(ST(0))))
-		: (char *)SvPV_nolen(ST(0));
+        STRLEN len;
+        const char *classname;
+        U32 flags;
+        if ( sv_isobject(ST(0)) ) { /* get the class if called as an object method */
+            const HV * stash = SvSTASH(SvRV(ST(0)));
+            classname = HvNAME(stash);
+            len       = HvNAMELEN(stash);
+            flags     = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
+        }
+        else {
+	    classname = SvPV(ST(0), len);
+            flags     = SvUTF8(ST(0));
+        }
 
 	if ( items == 1 || ! SvOK(vs) ) { /* no param or explicit undef */
 	    /* create empty object */
@@ -411,8 +521,8 @@
 	}
 
 	rv = new_version(vs);
-	if ( strcmp(classname,"version") != 0 ) /* inherited new() */
-	    sv_bless(rv, gv_stashpv(classname, GV_ADD));
+	if ( strnNE(classname,"version", len) ) /* inherited new() */
+	    sv_bless(rv, gv_stashpvn(classname, len, GV_ADD | flags));
 
 	mPUSHs(rv);
 	PUTBACK;
@@ -430,7 +540,7 @@
      {
 	  SV *	lobj = ST(0);
 
-	  if (sv_derived_from(lobj, "version") && SvROK(lobj)) {
+	  if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
 	       lobj = SvRV(lobj);
 	  }
 	  else
@@ -453,7 +563,7 @@
      {
 	  SV *	lobj = ST(0);
 
-	  if (sv_derived_from(lobj, "version") && SvROK(lobj)) {
+	  if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
 	       lobj = SvRV(lobj);
 	  }
 	  else
@@ -476,7 +586,7 @@
      {
 	  SV *	lobj = ST(0);
 
-	  if (sv_derived_from(lobj, "version") && SvROK(lobj)) {
+	  if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
 	       lobj = SvRV(lobj);
 	  }
 	  else
@@ -499,7 +609,7 @@
      {
 	  SV *	lobj = ST(0);
 
-	  if (sv_derived_from(lobj, "version") && SvROK(lobj)) {
+	  if (sv_isobject(lobj) && sv_derived_from(lobj, "version")) {
 	       lobj = SvRV(lobj);
 	  }
 	  else
@@ -511,7 +621,7 @@
 	       SV * robj = ST(1);
 	       const IV	 swap = (IV)SvIV(ST(2));
 
-	       if ( ! sv_derived_from(robj, "version") )
+	       if ( !sv_isobject(robj) || !sv_derived_from(robj, "version") )
 	       {
 		    robj = new_version(SvOK(robj) ? robj : newSVpvs_flags("0", SVs_TEMP));
 		    sv_2mortal(robj);
@@ -542,9 +652,15 @@
     if (items < 1)
 	croak_xs_usage(cv, "lobj, ...");
     SP -= items;
-    if (sv_derived_from(ST(0), "version") && SvROK(ST(0))) {
+    if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
 	SV * const lobj = SvRV(ST(0));
-	SV * const rs = newSViv( vcmp(lobj,new_version(newSVpvs("0"))) );
+	SV * const rs =
+	    newSViv( vcmp(lobj,
+			  sv_2mortal(new_version(
+					sv_2mortal(newSVpvs("0"))
+				    ))
+			 )
+		   );
 	mPUSHs(rs);
 	PUTBACK;
 	return;
@@ -559,7 +675,7 @@
     dXSARGS;
     if (items < 1)
 	croak_xs_usage(cv, "lobj, ...");
-    if (sv_derived_from(ST(0), "version") && SvROK(ST(0)))
+    if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version"))
 	Perl_croak(aTHX_ "operation not supported with version object");
     else
 	Perl_croak(aTHX_ "lobj is not of type version");
@@ -575,7 +691,7 @@
     if (items != 1)
 	croak_xs_usage(cv, "lobj");
     SP -= items;
-    if (sv_derived_from(ST(0), "version") && SvROK(ST(0))) {
+    if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
 	SV * const lobj = ST(0);
 	if ( hv_exists(MUTABLE_HV(SvRV(lobj)), "alpha", 5 ) )
 	    XSRETURN_YES;
@@ -597,15 +713,22 @@
     {
 	SV * ver = ST(0);
 	SV * rv;
-	const char * classname = "";
-	if ( items == 2 && SvOK(ST(1)) ) {
-	    /* getting called as object or class method */
-	    ver = ST(1);
-	    classname = 
-		sv_isobject(ST(0)) /* class called as an object method */
-		    ? HvNAME_get(SvSTASH(SvRV(ST(0))))
-		    : (char *)SvPV_nolen(ST(0));
-	}
+        STRLEN len = 0;
+        const char * classname = "";
+        U32 flags = 0;
+        if ( items == 2 && SvOK(ST(1)) ) {
+            ver = ST(1);
+            if ( sv_isobject(ST(0)) ) { /* class called as an object method */
+                const HV * stash = SvSTASH(SvRV(ST(0)));
+                classname = HvNAME(stash);
+                len       = HvNAMELEN(stash);
+                flags     = HvNAMEUTF8(stash) ? SVf_UTF8 : 0;
+            }
+            else {
+	       classname = SvPV(ST(0), len);
+                flags     = SvUTF8(ST(0));
+            }
+        }
 	if ( !SvVOK(ver) ) { /* not already a v-string */
 	    rv = sv_newmortal();
 	    sv_setsv(rv,ver); /* make a duplicate */
@@ -613,9 +736,10 @@
 	} else {
 	    rv = sv_2mortal(new_version(ver));
 	}
-	if ( items == 2 && strcmp(classname,"version") ) { /* inherited new() */
-	    sv_bless(rv, gv_stashpv(classname, GV_ADD));
-	}
+	if ( items == 2
+                && strnNE(classname,"version", len) ) { /* inherited new() */
+	    sv_bless(rv, gv_stashpvn(classname, len, GV_ADD | flags));
+        }
 	PUSHs(rv);
     }
     PUTBACK;
@@ -629,7 +753,7 @@
     if (items != 1)
 	croak_xs_usage(cv, "lobj");
     SP -= items;
-    if (sv_derived_from(ST(0), "version") && SvROK(ST(0))) {
+    if (sv_isobject(ST(0)) && sv_derived_from(ST(0), "version")) {
 	SV * const lobj = ST(0);
 	if ( hv_exists(MUTABLE_HV(SvRV(lobj)), "qv", 2 ) )
 	    XSRETURN_YES;
@@ -684,6 +808,7 @@
     if (items != 1)
 	croak_xs_usage(cv, "sv");
     sv_utf8_encode(ST(0));
+    SvSETMAGIC(ST(0));
     XSRETURN_EMPTY;
 }
 
@@ -696,10 +821,10 @@
     else {
 	SV * const sv = ST(0);
 	bool RETVAL;
-	if (SvIsCOW(sv)) sv_force_normal(sv);
+	SvPV_force_nolen(sv);
 	RETVAL = sv_utf8_decode(sv);
+	SvSETMAGIC(sv);
 	ST(0) = boolSV(RETVAL);
-	sv_2mortal(ST(0));
     }
     XSRETURN(1);
 }
@@ -733,7 +858,6 @@
         const bool RETVAL = sv_utf8_downgrade(sv, failok);
 
 	ST(0) = boolSV(RETVAL);
-	sv_2mortal(ST(0));
     }
     XSRETURN(1);
 }
@@ -779,7 +903,7 @@
     sv = SvRV(svz);
 
     if (items == 1) {
-	 if (SvREADONLY(sv))
+	 if (SvREADONLY(sv) && !SvIsCOW(sv))
 	     XSRETURN_YES;
 	 else
 	     XSRETURN_NO;
@@ -786,18 +910,18 @@
     }
     else if (items == 2) {
 	if (SvTRUE(ST(1))) {
+	    if (SvIsCOW(sv)) sv_force_normal(sv);
 	    SvREADONLY_on(sv);
 	    XSRETURN_YES;
 	}
 	else {
 	    /* I hope you really know what you are doing. */
-	    SvREADONLY_off(sv);
+	    if (!SvIsCOW(sv)) SvREADONLY_off(sv);
 	    XSRETURN_NO;
 	}
     }
     XSRETURN_UNDEF; /* Can't happen. */
 }
-
 XS(XS_Internals_SvREFCNT)	/* This is dangerous stuff. */
 {
     dVAR;
@@ -804,22 +928,23 @@
     dXSARGS;
     SV * const svz = ST(0);
     SV * sv;
+    U32 refcnt;
     PERL_UNUSED_ARG(cv);
 
     /* [perl #77776] - called as &foo() not foo() */
-    if (!SvROK(svz))
+    if ((items != 1 && items != 2) || !SvROK(svz))
         croak_xs_usage(cv, "SCALAR[, REFCOUNT]");
 
     sv = SvRV(svz);
 
-    if (items == 1)
-	 XSRETURN_IV(SvREFCNT(sv) - 1); /* Minus the ref created for us. */
-    else if (items == 2) {
          /* I hope you really know what you are doing. */
-	 SvREFCNT(sv) = SvIV(ST(1));
-	 XSRETURN_IV(SvREFCNT(sv));
-    }
-    XSRETURN_UNDEF; /* Can't happen. */
+    /* idea is for SvREFCNT(sv) to be accessed only once */
+    refcnt = items == 2 ?
+                /* we free one ref on exit */
+                (SvREFCNT(sv) = SvUV(ST(1)) + 1)
+                : SvREFCNT(sv);
+    XSRETURN_UV(refcnt - 1); /* Minus the ref created for us. */        
+
 }
 
 XS(XS_Internals_hv_clear_placehold)
@@ -889,14 +1014,10 @@
 	}
 
 	sv = POPs;
-	gv = MUTABLE_GV(sv);
+	gv = MAYBE_DEREF_GV(sv);
 
-	if (!isGV(sv)) {
-	     if (SvROK(sv) && isGV(SvRV(sv)))
-		  gv = MUTABLE_GV(SvRV(sv));
-	     else if (SvPOKp(sv))
-		  gv = gv_fetchsv(sv, 0, SVt_PVIO);
-	}
+	if (!gv && !SvROK(sv))
+	    gv = gv_fetchsv_nomg(sv, 0, SVt_PVIO);
 
 	if (gv && (io = GvIO(gv))) {
 	     AV* const av = PerlIO_get_layers(aTHX_ input ?
@@ -914,21 +1035,22 @@
 		  const bool argok = argsvp && *argsvp && SvPOK(*argsvp);
 		  const bool flgok = flgsvp && *flgsvp && SvIOK(*flgsvp);
 
+		  EXTEND(SP, 3); /* Three is the max in all branches: better check just once */
 		  if (details) {
 		      /* Indents of 5? Yuck.  */
 		      /* We know that PerlIO_get_layers creates a new SV for
 			 the name and flags, so we can just take a reference
 			 and "steal" it when we free the AV below.  */
-		       XPUSHs(namok
+		       PUSHs(namok
 			      ? sv_2mortal(SvREFCNT_inc_simple_NN(*namsvp))
 			      : &PL_sv_undef);
-		       XPUSHs(argok
+		       PUSHs(argok
 			      ? newSVpvn_flags(SvPVX_const(*argsvp),
 					       SvCUR(*argsvp),
 					       (SvUTF8(*argsvp) ? SVf_UTF8 : 0)
 					       | SVs_TEMP)
 			      : &PL_sv_undef);
-		       XPUSHs(flgok
+		       PUSHs(flgok
 			      ? sv_2mortal(SvREFCNT_inc_simple_NN(*flgsvp))
 			      : &PL_sv_undef);
 		       nitem += 3;
@@ -935,19 +1057,19 @@
 		  }
 		  else {
 		       if (namok && argok)
-			    XPUSHs(sv_2mortal(Perl_newSVpvf(aTHX_ "%"SVf"(%"SVf")",
+			    PUSHs(sv_2mortal(Perl_newSVpvf(aTHX_ "%"SVf"(%"SVf")",
 						 SVfARG(*namsvp),
 						 SVfARG(*argsvp))));
 		       else if (namok)
-			   XPUSHs(sv_2mortal(SvREFCNT_inc_simple_NN(*namsvp)));
+			    PUSHs(sv_2mortal(SvREFCNT_inc_simple_NN(*namsvp)));
 		       else
-			    XPUSHs(&PL_sv_undef);
+			    PUSHs(&PL_sv_undef);
 		       nitem++;
 		       if (flgok) {
 			    const IV flags = SvIVX(*flgsvp);
 
 			    if (flags & PERLIO_F_UTF8) {
-				 XPUSHs(newSVpvs_flags("utf8", SVs_TEMP));
+				 PUSHs(newSVpvs_flags("utf8", SVs_TEMP));
 				 nitem++;
 			    }
 		       }
@@ -964,45 +1086,7 @@
     XSRETURN(0);
 }
 
-XS(XS_Internals_hash_seed)
-{
-    dVAR;
-    /* Using dXSARGS would also have dITEM and dSP,
-     * which define 2 unused local variables.  */
-    dAXMARK;
-    PERL_UNUSED_ARG(cv);
-    PERL_UNUSED_VAR(mark);
-    XSRETURN_UV(PERL_HASH_SEED);
-}
 
-XS(XS_Internals_rehash_seed)
-{
-    dVAR;
-    /* Using dXSARGS would also have dITEM and dSP,
-     * which define 2 unused local variables.  */
-    dAXMARK;
-    PERL_UNUSED_ARG(cv);
-    PERL_UNUSED_VAR(mark);
-    XSRETURN_UV(PL_rehash_seed);
-}
-
-XS(XS_Internals_HvREHASH)	/* Subject to change  */
-{
-    dVAR;
-    dXSARGS;
-    PERL_UNUSED_ARG(cv);
-    if (SvROK(ST(0))) {
-	const HV * const hv = (const HV *) SvRV(ST(0));
-	if (items == 1 && SvTYPE(hv) == SVt_PVHV) {
-	    if (HvREHASH(hv))
-		XSRETURN_YES;
-	    else
-		XSRETURN_NO;
-	}
-    }
-    Perl_croak(aTHX_ "Internals::HvREHASH $hashref");
-}
-
 XS(XS_re_is_regexp)
 {
     dVAR; 
@@ -1113,6 +1197,7 @@
     av = MUTABLE_AV(SvRV(ret));
     length = av_len(av);
 
+    EXTEND(SP, length+1); /* better extend stack just once */
     for (i = 0; i <= length; i++) {
         entry = av_fetch(av, i, FALSE);
         
@@ -1119,7 +1204,7 @@
         if (!entry)
             Perl_croak(aTHX_ "NULL array element in re::regnames()");
 
-        mXPUSHs(SvREFCNT_inc_simple_NN(*entry));
+        mPUSHs(SvREFCNT_inc_simple_NN(*entry));
     }
 
     SvREFCNT_dec(ret);
@@ -1134,11 +1219,11 @@
     dXSARGS;
     REGEXP *re;
 
+    EXTEND(SP, 2);
+    SP -= items;
     if (items != 1)
 	croak_xs_usage(cv, "sv");
 
-    SP -= items;
-
     /*
        Checks if a reference is a regex or not. If the parameter is
        not a ref, or is not the result of a qr// then returns false
@@ -1190,8 +1275,8 @@
 				     (RX_UTF8(re) ? SVf_UTF8 : 0) | SVs_TEMP);
 
             /* return the pattern and the modifiers */
-            XPUSHs(pattern);
-            XPUSHs(newSVpvn_flags(reflags, left, SVs_TEMP));
+            PUSHs(pattern);
+            PUSHs(newSVpvn_flags(reflags, left, SVs_TEMP));
             XSRETURN(2);
         } else {
             /* Scalar, so use the string that Perl would return */
@@ -1202,7 +1287,7 @@
             pattern = newSVpvn_flags(RX_WRAPPED(re), RX_WRAPLEN(re),
 				     (RX_UTF8(re) ? SVf_UTF8 : 0) | SVs_TEMP);
 #endif
-            XPUSHs(pattern);
+            PUSHs(pattern);
             XSRETURN(1);
         }
     } else {
@@ -1234,7 +1319,7 @@
     const char *proto;
 };
 
-struct xsub_details details[] = {
+const struct xsub_details details[] = {
     {"UNIVERSAL::isa", XS_UNIVERSAL_isa, NULL},
     {"UNIVERSAL::can", XS_UNIVERSAL_can, NULL},
     {"UNIVERSAL::DOES", XS_UNIVERSAL_DOES, NULL},
@@ -1252,6 +1337,15 @@
     {"version::vcmp", XS_version_vcmp, NULL},
     {"version::(bool", XS_version_boolean, NULL},
     {"version::boolean", XS_version_boolean, NULL},
+    {"version::(+", XS_version_noop, NULL},
+    {"version::(-", XS_version_noop, NULL},
+    {"version::(*", XS_version_noop, NULL},
+    {"version::(/", XS_version_noop, NULL},
+    {"version::(+=", XS_version_noop, NULL},
+    {"version::(-=", XS_version_noop, NULL},
+    {"version::(*=", XS_version_noop, NULL},
+    {"version::(/=", XS_version_noop, NULL},
+    {"version::(abs", XS_version_noop, NULL},
     {"version::(nomethod", XS_version_noop, NULL},
     {"version::noop", XS_version_noop, NULL},
     {"version::is_alpha", XS_version_is_alpha, NULL},
@@ -1270,9 +1364,6 @@
     {"Internals::SvREFCNT", XS_Internals_SvREFCNT, "\\[$%@];$"},
     {"Internals::hv_clear_placeholders", XS_Internals_hv_clear_placehold, "\\%"},
     {"PerlIO::get_layers", XS_PerlIO_get_layers, "*;@"},
-    {"Internals::hash_seed", XS_Internals_hash_seed, ""},
-    {"Internals::rehash_seed", XS_Internals_rehash_seed, ""},
-    {"Internals::HvREHASH", XS_Internals_HvREHASH, "\\%"},
     {"re::is_regexp", XS_re_is_regexp, "$"},
     {"re::regname", XS_re_regname, ";$$"},
     {"re::regnames", XS_re_regnames, ";$"},
@@ -1285,7 +1376,7 @@
 {
     dVAR;
     static const char file[] = __FILE__;
-    struct xsub_details *xsub = details;
+    const struct xsub_details *xsub = details;
     const struct xsub_details *end
 	= details + sizeof(details) / sizeof(details[0]);
 
@@ -1293,12 +1384,14 @@
 	newXS_flags(xsub->name, xsub->xsub, file, xsub->proto, 0);
     } while (++xsub < end);
 
-    /* register the overloading (type 'A') magic */
-    PL_amagic_generation++;
-
     /* Providing a Regexp::DESTROY fixes #21347. See test in t/op/ref.t  */
-    CvFILE(newCONSTSUB(get_hv("Regexp::", GV_ADD), "DESTROY", NULL))
-	= (char *)file;
+    {
+	CV * const cv =
+	    newCONSTSUB(get_hv("Regexp::", GV_ADD), "DESTROY", NULL);
+	Safefree(CvFILE(cv));
+	CvFILE(cv) = (char *)file;
+	CvDYNFILE_off(cv);
+    }
 }
 
 /*
@@ -1305,8 +1398,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/universal.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.4
\ No newline at end of property
Modified: vendor/perl/dist/unixish.h
===================================================================
--- vendor/perl/dist/unixish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/unixish.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -133,7 +133,8 @@
 
 #ifndef PERL_SYS_TERM_BODY
 #  define PERL_SYS_TERM_BODY() \
-    HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM;
+    HINTS_REFCNT_TERM; OP_CHECK_MUTEX_TERM; \
+    OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM;
 
 #endif
 
@@ -149,8 +150,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/unixish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/utf8.c
===================================================================
--- vendor/perl/dist/utf8.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utf8.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,12 +13,12 @@
  *  heard of that we don't want to see any closer; and that's the one place
  *  we're trying to get to!  And that's just where we can't get, nohow.'
  *
- *     [p.603 of _The Lord of the Rings_, IV/I: "The Taming of Sm\xE9agol"]
+ *     [p.603 of _The Lord of the Rings_, IV/I: "The Taming of Sméagol"]
  *
  * 'Well do I understand your speech,' he answered in the same language;
  * 'yet few strangers do so.  Why then do you not speak in the Common Tongue,
  *  as is the custom in the West, if you wish to be answered?'
- *                           --Gandalf, addressing Th\xE9oden's door wardens
+ *                           --Gandalf, addressing Théoden's door wardens
  *
  *     [p.508 of _The Lord of the Rings_, III/vi: "The King of the Golden Hall"]
  *
@@ -31,11 +31,13 @@
 #include "EXTERN.h"
 #define PERL_IN_UTF8_C
 #include "perl.h"
+#include "inline_invlist.c"
 
 #ifndef EBCDIC
 /* Separate prototypes needed because in ASCII systems these are
  * usually macros but they still are compiled as code, too. */
 PERL_CALLCONV UV	Perl_utf8n_to_uvchr(pTHX_ const U8 *s, STRLEN curlen, STRLEN *retlen, U32 flags);
+PERL_CALLCONV UV	Perl_valid_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen);
 PERL_CALLCONV U8*	Perl_uvchr_to_utf8(pTHX_ U8 *d, UV uv);
 #endif
 
@@ -57,7 +59,7 @@
 /*
 =for apidoc is_ascii_string
 
-Returns true if the first C<len> bytes of the given string are the same whether
+Returns true if the first C<len> bytes of the string C<s> are the same whether
 or not the string is encoded in UTF-8 (or UTF-EBCDIC on EBCDIC machines).  That
 is, if they are invariant.  On ASCII-ish machines, only ASCII characters
 fit this definition, hence the function's name.
@@ -64,7 +66,7 @@
 
 If C<len> is 0, it will be calculated using C<strlen(s)>.  
 
-See also is_utf8_string(), is_utf8_string_loclen(), and is_utf8_string_loc().
+See also L</is_utf8_string>(), L</is_utf8_string_loclen>(), and L</is_utf8_string_loc>().
 
 =cut
 */
@@ -88,7 +90,7 @@
 /*
 =for apidoc uvuni_to_utf8_flags
 
-Adds the UTF-8 representation of the code point C<uv> to the end
+Adds the UTF-8 representation of the Unicode code point C<uv> to the end
 of the string C<d>; C<d> should have at least C<UTF8_MAXBYTES+1> free
 bytes available. The return value is the pointer to the byte after the
 end of the new character. In other words,
@@ -107,9 +109,14 @@
 
     *(d++) = uv;
 
+where uv is a code point expressed in Latin-1 or above, not the platform's
+native character set.  B<Almost all code should instead use L</uvchr_to_utf8>
+or L</uvchr_to_utf8_flags>>.
+
 This function will convert to UTF-8 (and not warn) even code points that aren't
 legal Unicode or are problematic, unless C<flags> contains one or more of the
-following flags.
+following flags:
+
 If C<uv> is a Unicode surrogate code point and UNICODE_WARN_SURROGATE is set,
 the function will raise a warning, provided UTF8 warnings are enabled.  If instead
 UNICODE_DISALLOW_SURROGATE is set, the function will fail and return NULL.
@@ -116,8 +123,9 @@
 If both flags are set, the function will both warn and return NULL.
 
 The UNICODE_WARN_NONCHAR and UNICODE_DISALLOW_NONCHAR flags correspondingly
-affect how the function handles a Unicode non-character.  And, likewise for the
-UNICODE_WARN_SUPER and UNICODE_DISALLOW_SUPER flags, and code points that are
+affect how the function handles a Unicode non-character.  And likewise, the
+UNICODE_WARN_SUPER and UNICODE_DISALLOW_SUPER flags, affect the handling of
+code points that are
 above the Unicode maximum of 0x10FFFF.  Code points above 0x7FFF_FFFF (which are
 even less portable) can be warned and/or disallowed even if other above-Unicode
 code points are accepted by the UNICODE_WARN_FE_FF and UNICODE_DISALLOW_FE_FF
@@ -136,7 +144,10 @@
 {
     PERL_ARGS_ASSERT_UVUNI_TO_UTF8_FLAGS;
 
-    if (ckWARN_d(WARN_UTF8)) {
+    /* The first problematic code point is the first surrogate */
+    if (uv >= UNICODE_SURROGATE_FIRST
+        && ckWARN4_d(WARN_UTF8, WARN_SURROGATE, WARN_NON_UNICODE, WARN_NONCHAR))
+    {
 	if (UNICODE_IS_SURROGATE(uv)) {
 	    if (flags & UNICODE_WARN_SURROGATE) {
 		Perl_ck_warner_d(aTHX_ packWARN(WARN_SURROGATE),
@@ -252,14 +263,14 @@
 	return d;
     }
 #endif
-#endif /* Loop style */
+#endif /* Non loop style */
 }
 
 /*
 
-Tests if some arbitrary number of bytes begins in a valid UTF-8
+Tests if the first C<len> bytes of string C<s> form a valid UTF-8
 character.  Note that an INVARIANT (i.e. ASCII) character is a valid
-UTF-8 character.  The actual number of bytes in the UTF-8 character
+UTF-8 character.  The number of bytes in the UTF-8 character
 will be returned if it is valid, otherwise 0.
 
 This is the "slow" version as opposed to the "fast" version which is
@@ -269,72 +280,84 @@
 you should use the _slow().  In practice this means that the _slow()
 will be used very rarely, since the maximum Unicode code point (as of
 Unicode 4.1) is U+10FFFF, which encodes in UTF-8 to four bytes.  Only
-the "Perl extended UTF-8" (the infamous 'v-strings') will encode into
+the "Perl extended UTF-8" (e.g, the infamous 'v-strings') will encode into
 five bytes or more.
 
 =cut */
-STATIC STRLEN
+PERL_STATIC_INLINE STRLEN
 S_is_utf8_char_slow(const U8 *s, const STRLEN len)
 {
-    U8 u = *s;
-    STRLEN slen;
-    UV uv, ouv;
+    dTHX;   /* The function called below requires thread context */
 
+    STRLEN actual_len;
+
     PERL_ARGS_ASSERT_IS_UTF8_CHAR_SLOW;
 
-    if (UTF8_IS_INVARIANT(u))
-	return 1;
+    utf8n_to_uvuni(s, len, &actual_len, UTF8_CHECK_ONLY);
 
-    if (!UTF8_IS_START(u))
-	return 0;
+    return (actual_len == (STRLEN) -1) ? 0 : actual_len;
+}
 
-    if (len < 2 || !UTF8_IS_CONTINUATION(s[1]))
+/*
+=for apidoc is_utf8_char_buf
+
+Returns the number of bytes that comprise the first UTF-8 encoded character in
+buffer C<buf>.  C<buf_end> should point to one position beyond the end of the
+buffer.  0 is returned if C<buf> does not point to a complete, valid UTF-8
+encoded character.
+
+Note that an INVARIANT character (i.e. ASCII on non-EBCDIC
+machines) is a valid UTF-8 character.
+
+=cut */
+
+STRLEN
+Perl_is_utf8_char_buf(const U8 *buf, const U8* buf_end)
+{
+
+    STRLEN len;
+
+    PERL_ARGS_ASSERT_IS_UTF8_CHAR_BUF;
+
+    if (buf_end <= buf) {
 	return 0;
+    }
 
-    slen = len - 1;
-    s++;
-#ifdef EBCDIC
-    u = NATIVE_TO_UTF(u);
-#endif
-    u &= UTF_START_MASK(len);
-    uv  = u;
-    ouv = uv;
-    while (slen--) {
-	if (!UTF8_IS_CONTINUATION(*s))
-	    return 0;
-	uv = UTF8_ACCUMULATE(uv, *s);
-	if (uv < ouv)
-	    return 0;
-	ouv = uv;
-	s++;
+    len = buf_end - buf;
+    if (len > UTF8SKIP(buf)) {
+	len = UTF8SKIP(buf);
     }
 
-    if ((STRLEN)UNISKIP(uv) < len)
-	return 0;
-
-    return len;
+#ifdef IS_UTF8_CHAR
+    if (IS_UTF8_CHAR_FAST(len))
+        return IS_UTF8_CHAR(buf, len) ? len : 0;
+#endif /* #ifdef IS_UTF8_CHAR */
+    return is_utf8_char_slow(buf, len);
 }
 
 /*
 =for apidoc is_utf8_char
 
+DEPRECATED!
+
 Tests if some arbitrary number of bytes begins in a valid UTF-8
 character.  Note that an INVARIANT (i.e. ASCII on non-EBCDIC machines)
 character is a valid UTF-8 character.  The actual number of bytes in the UTF-8
 character will be returned if it is valid, otherwise 0.
 
+This function is deprecated due to the possibility that malformed input could
+cause reading beyond the end of the input buffer.  Use L</is_utf8_char_buf>
+instead.
+
 =cut */
+
 STRLEN
 Perl_is_utf8_char(const U8 *s)
 {
-    const STRLEN len = UTF8SKIP(s);
+    PERL_ARGS_ASSERT_IS_UTF8_CHAR;
 
-    PERL_ARGS_ASSERT_IS_UTF8_CHAR;
-#ifdef IS_UTF8_CHAR
-    if (IS_UTF8_CHAR_FAST(len))
-        return IS_UTF8_CHAR(s, len) ? len : 0;
-#endif /* #ifdef IS_UTF8_CHAR */
-    return is_utf8_char_slow(s, len);
+    /* Assumes we have enough space, which is why this is deprecated */
+    return is_utf8_char_buf(s, s + UTF8SKIP(s));
 }
 
 
@@ -341,13 +364,13 @@
 /*
 =for apidoc is_utf8_string
 
-Returns true if first C<len> bytes of the given string form a valid
+Returns true if the first C<len> bytes of string C<s> form a valid
 UTF-8 string, false otherwise.  If C<len> is 0, it will be calculated
-using C<strlen(s)>.  Note that 'a valid UTF-8 string' does not mean 'a
-string that contains code points above 0x7F encoded in UTF-8' because a
-valid ASCII string is a valid UTF-8 string.
+using C<strlen(s)> (which means if you use this option, that C<s> has to have a
+terminating NUL byte).  Note that all characters being ASCII constitute 'a
+valid UTF-8 string'.
 
-See also is_ascii_string(), is_utf8_string_loclen(), and is_utf8_string_loc().
+See also L</is_ascii_string>(), L</is_utf8_string_loclen>(), and L</is_utf8_string_loc>().
 
 =cut
 */
@@ -361,35 +384,30 @@
     PERL_ARGS_ASSERT_IS_UTF8_STRING;
 
     while (x < send) {
-	STRLEN c;
 	 /* Inline the easy bits of is_utf8_char() here for speed... */
-	 if (UTF8_IS_INVARIANT(*x))
-	      c = 1;
-	 else if (!UTF8_IS_START(*x))
-	     goto out;
+	 if (UTF8_IS_INVARIANT(*x)) {
+	    x++;
+	 }
 	 else {
 	      /* ... and call is_utf8_char() only if really needed. */
-#ifdef IS_UTF8_CHAR
-	     c = UTF8SKIP(x);
+	     const STRLEN c = UTF8SKIP(x);
+	     const U8* const next_char_ptr = x + c;
+
+	     if (next_char_ptr > send) {
+		 return FALSE;
+	     }
+
 	     if (IS_UTF8_CHAR_FAST(c)) {
 	         if (!IS_UTF8_CHAR(x, c))
-		     c = 0;
+		     return FALSE;
 	     }
-	     else
-		c = is_utf8_char_slow(x, c);
-#else
-	     c = is_utf8_char(x);
-#endif /* #ifdef IS_UTF8_CHAR */
-	      if (!c)
-		  goto out;
+	     else if (! is_utf8_char_slow(x, c)) {
+		 return FALSE;
+	     }
+	     x = next_char_ptr;
 	 }
-        x += c;
     }
 
- out:
-    if (x != send)
-	return FALSE;
-
     return TRUE;
 }
 
@@ -398,20 +416,20 @@
 
 =for apidoc is_utf8_string_loc
 
-Like is_utf8_string() but stores the location of the failure (in the
-case of "utf8ness failure") or the location s+len (in the case of
+Like L</is_utf8_string> but stores the location of the failure (in the
+case of "utf8ness failure") or the location C<s>+C<len> (in the case of
 "utf8ness success") in the C<ep>.
 
-See also is_utf8_string_loclen() and is_utf8_string().
+See also L</is_utf8_string_loclen>() and L</is_utf8_string>().
 
 =for apidoc is_utf8_string_loclen
 
-Like is_utf8_string() but stores the location of the failure (in the
-case of "utf8ness failure") or the location s+len (in the case of
+Like L</is_utf8_string>() but stores the location of the failure (in the
+case of "utf8ness failure") or the location C<s>+C<len> (in the case of
 "utf8ness success") in the C<ep>, and the number of UTF-8
 encoded characters in the C<el>.
 
-See also is_utf8_string_loc() and is_utf8_string().
+See also L</is_utf8_string_loc>() and L</is_utf8_string>().
 
 =cut
 */
@@ -427,27 +445,27 @@
     PERL_ARGS_ASSERT_IS_UTF8_STRING_LOCLEN;
 
     while (x < send) {
+	 const U8* next_char_ptr;
+
 	 /* Inline the easy bits of is_utf8_char() here for speed... */
 	 if (UTF8_IS_INVARIANT(*x))
-	     c = 1;
-	 else if (!UTF8_IS_START(*x))
-	     goto out;
+	     next_char_ptr = x + 1;
 	 else {
 	     /* ... and call is_utf8_char() only if really needed. */
-#ifdef IS_UTF8_CHAR
 	     c = UTF8SKIP(x);
+	     next_char_ptr = c + x;
+	     if (next_char_ptr > send) {
+		 goto out;
+	     }
 	     if (IS_UTF8_CHAR_FAST(c)) {
 	         if (!IS_UTF8_CHAR(x, c))
 		     c = 0;
 	     } else
 	         c = is_utf8_char_slow(x, c);
-#else
-	     c = is_utf8_char(x);
-#endif /* #ifdef IS_UTF8_CHAR */
 	     if (!c)
 	         goto out;
 	 }
-         x += c;
+         x = next_char_ptr;
 	 outlen++;
     }
 
@@ -465,16 +483,16 @@
 =for apidoc utf8n_to_uvuni
 
 Bottom level UTF-8 decode routine.
-Returns the code point value of the first character in the string C<s>
-which is assumed to be in UTF-8 (or UTF-EBCDIC) encoding and no longer than
-C<curlen> bytes; C<retlen> will be set to the length, in bytes, of that
-character.
+Returns the code point value of the first character in the string C<s>,
+which is assumed to be in UTF-8 (or UTF-EBCDIC) encoding, and no longer than
+C<curlen> bytes; C<*retlen> (if C<retlen> isn't NULL) will be set to
+the length, in bytes, of that character.
 
 The value of C<flags> determines the behavior when C<s> does not point to a
 well-formed UTF-8 character.  If C<flags> is 0, when a malformation is found,
-C<retlen> is set to the expected length of the UTF-8 character in bytes, zero
-is returned, and if UTF-8 warnings haven't been lexically disabled, a warning
-is raised.
+zero is returned and C<*retlen> is set so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+Also, if UTF-8 warnings haven't been lexically disabled, a warning is raised.
 
 Various ALLOW flags can be set in C<flags> to allow (and not warn on)
 individual types of malformations, such as the sequence being overlong (that
@@ -482,18 +500,26 @@
 overlong sequences are expressly forbidden in the UTF-8 standard due to
 potential security issues).  Another malformation example is the first byte of
 a character not being a legal first byte.  See F<utf8.h> for the list of such
-flags.  Of course, the value returned by this function under such conditions is
-not reliable.
+flags.  For allowed 0 length strings, this function returns 0; for allowed
+overlong sequences, the computed code point is returned; for all other allowed
+malformations, the Unicode REPLACEMENT CHARACTER is returned, as these have no
+determinable reasonable value.
 
 The UTF8_CHECK_ONLY flag overrides the behavior when a non-allowed (by other
 flags) malformation is found.  If this flag is set, the routine assumes that
 the caller will raise a warning, and this function will silently just set
-C<retlen> to C<-1> and return zero.
+C<retlen> to C<-1> (cast to C<STRLEN>) and return zero.
 
+Note that this API requires disambiguation between successful decoding a NUL
+character, and an error return (unless the UTF8_CHECK_ONLY flag is set), as
+in both cases, 0 is returned.  To disambiguate, upon a zero return, see if the
+first byte of C<s> is 0 as well.  If so, the input was a NUL; if not, the input
+had an error.
+
 Certain code points are considered problematic.  These are Unicode surrogates,
-Unicode non-characters, and code points above the Unicode maximum of 0x10FFF.
+Unicode non-characters, and code points above the Unicode maximum of 0x10FFFF.
 By default these are considered regular code points, but certain situations
-warrant special handling for them.  if C<flags> contains
+warrant special handling for them.  If C<flags> contains
 UTF8_DISALLOW_ILLEGAL_INTERCHANGE, all three classes are treated as
 malformations and handled as such.  The flags UTF8_DISALLOW_SURROGATE,
 UTF8_DISALLOW_NONCHAR, and UTF8_DISALLOW_SUPER (meaning above the legal Unicode
@@ -509,20 +535,24 @@
 
 Very large code points (above 0x7FFF_FFFF) are considered more problematic than
 the others that are above the Unicode legal maximum.  There are several
-reasons, one of which is that the original UTF-8 specification never went above
-this number (the current 0x10FFF limit was imposed later).  The UTF-8 encoding
-on ASCII platforms for these large code point begins with a byte containing
-0xFE or 0xFF.  The UTF8_DISALLOW_FE_FF flag will cause them to be treated as
-malformations, while allowing smaller above-Unicode code points.  (Of course
-UTF8_DISALLOW_SUPER will treat all above-Unicode code points, including these,
-as malformations.) Similarly, UTF8_WARN_FE_FF acts just like the other WARN
-flags, but applies just to these code points.
+reasons: they requre at least 32 bits to represent them on ASCII platforms, are
+not representable at all on EBCDIC platforms, and the original UTF-8
+specification never went above this number (the current 0x10FFFF limit was
+imposed later).  (The smaller ones, those that fit into 32 bits, are
+representable by a UV on ASCII platforms, but not by an IV, which means that
+the number of operations that can be performed on them is quite restricted.)
+The UTF-8 encoding on ASCII platforms for these large code points begins with a
+byte containing 0xFE or 0xFF.  The UTF8_DISALLOW_FE_FF flag will cause them to
+be treated as malformations, while allowing smaller above-Unicode code points.
+(Of course UTF8_DISALLOW_SUPER will treat all above-Unicode code points,
+including these, as malformations.) Similarly, UTF8_WARN_FE_FF acts just like
+the other WARN flags, but applies just to these code points.
 
 All other code points corresponding to Unicode characters, including private
 use and those yet to be assigned, are never considered malformed and never
 warn.
 
-Most code should use utf8_to_uvchr() rather than call this directly.
+Most code should use L</utf8_to_uvchr_buf>() rather than call this directly.
 
 =cut
 */
@@ -532,148 +562,276 @@
 {
     dVAR;
     const U8 * const s0 = s;
-    UV uv = *s, ouv = 0;
-    STRLEN len = 1;
-    bool dowarn = ckWARN_d(WARN_UTF8);
-    const UV startbyte = *s;
-    STRLEN expectlen = 0;
-    U32 warning = 0;
+    U8 overflow_byte = '\0';	/* Save byte in case of overflow */
+    U8 * send;
+    UV uv = *s;
+    STRLEN expectlen;
     SV* sv = NULL;
+    UV outlier_ret = 0;	/* return value when input is in error or problematic
+			 */
+    UV pack_warn = 0;	/* Save result of packWARN() for later */
+    bool unexpected_non_continuation = FALSE;
+    bool overflowed = FALSE;
+    bool do_overlong_test = TRUE;   /* May have to skip this test */
 
+    const char* const malformed_text = "Malformed UTF-8 character";
+
     PERL_ARGS_ASSERT_UTF8N_TO_UVUNI;
 
-/* This list is a superset of the UTF8_ALLOW_XXX. */
+    /* The order of malformation tests here is important.  We should consume as
+     * few bytes as possible in order to not skip any valid character.  This is
+     * required by the Unicode Standard (section 3.9 of Unicode 6.0); see also
+     * http://unicode.org/reports/tr36 for more discussion as to why.  For
+     * example, once we've done a UTF8SKIP, we can tell the expected number of
+     * bytes, and could fail right off the bat if the input parameters indicate
+     * that there are too few available.  But it could be that just that first
+     * byte is garbled, and the intended character occupies fewer bytes.  If we
+     * blindly assumed that the first byte is correct, and skipped based on
+     * that number, we could skip over a valid input character.  So instead, we
+     * always examine the sequence byte-by-byte.
+     *
+     * We also should not consume too few bytes, otherwise someone could inject
+     * things.  For example, an input could be deliberately designed to
+     * overflow, and if this code bailed out immediately upon discovering that,
+     * returning to the caller *retlen pointing to the very next byte (one
+     * which is actually part of of the overflowing sequence), that could look
+     * legitimate to the caller, which could discard the initial partial
+     * sequence and process the rest, inappropriately */
 
-#define UTF8_WARN_EMPTY				 1
-#define UTF8_WARN_CONTINUATION			 2
-#define UTF8_WARN_NON_CONTINUATION	 	 3
-#define UTF8_WARN_SHORT				 4
-#define UTF8_WARN_OVERFLOW			 5
-#define UTF8_WARN_LONG				 6
+    /* Zero length strings, if allowed, of necessity are zero */
+    if (UNLIKELY(curlen == 0)) {
+	if (retlen) {
+	    *retlen = 0;
+	}
 
-    if (curlen == 0 &&
-	!(flags & UTF8_ALLOW_EMPTY)) {
-	warning = UTF8_WARN_EMPTY;
+	if (flags & UTF8_ALLOW_EMPTY) {
+	    return 0;
+	}
+	if (! (flags & UTF8_CHECK_ONLY)) {
+	    sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (empty string)", malformed_text));
+	}
 	goto malformed;
     }
 
+    expectlen = UTF8SKIP(s);
+
+    /* A well-formed UTF-8 character, as the vast majority of calls to this
+     * function will be for, has this expected length.  For efficiency, set
+     * things up here to return it.  It will be overriden only in those rare
+     * cases where a malformation is found */
+    if (retlen) {
+	*retlen = expectlen;
+    }
+
+    /* An invariant is trivially well-formed */
     if (UTF8_IS_INVARIANT(uv)) {
-	if (retlen)
-	    *retlen = 1;
 	return (UV) (NATIVE_TO_UTF(*s));
     }
 
-    if (UTF8_IS_CONTINUATION(uv) &&
-	!(flags & UTF8_ALLOW_CONTINUATION)) {
-	warning = UTF8_WARN_CONTINUATION;
-	goto malformed;
-    }
+    /* A continuation character can't start a valid sequence */
+    if (UNLIKELY(UTF8_IS_CONTINUATION(uv))) {
+	if (flags & UTF8_ALLOW_CONTINUATION) {
+	    if (retlen) {
+		*retlen = 1;
+	    }
+	    return UNICODE_REPLACEMENT;
+	}
 
-    if (UTF8_IS_START(uv) && curlen > 1 && !UTF8_IS_CONTINUATION(s[1]) &&
-	!(flags & UTF8_ALLOW_NON_CONTINUATION)) {
-	warning = UTF8_WARN_NON_CONTINUATION;
+	if (! (flags & UTF8_CHECK_ONLY)) {
+	    sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (unexpected continuation byte 0x%02x, with no preceding start byte)", malformed_text, *s0));
+	}
+	curlen = 1;
 	goto malformed;
     }
 
 #ifdef EBCDIC
     uv = NATIVE_TO_UTF(uv);
-#else
-    if (uv == 0xfe || uv == 0xff) {
-	if (flags & (UTF8_WARN_SUPER|UTF8_WARN_FE_FF)) {
-	    sv = sv_2mortal(Perl_newSVpvf(aTHX_ "Code point beginning with byte 0x%02"UVXf" is not Unicode, and not portable", uv));
-	    flags &= ~UTF8_WARN_SUPER;	/* Only warn once on this problem */
-	}
-	if (flags & (UTF8_DISALLOW_SUPER|UTF8_DISALLOW_FE_FF)) {
-	    goto malformed;
-	}
-    }
 #endif
 
-    if      (!(uv & 0x20))	{ len =  2; uv &= 0x1f; }
-    else if (!(uv & 0x10))	{ len =  3; uv &= 0x0f; }
-    else if (!(uv & 0x08))	{ len =  4; uv &= 0x07; }
-    else if (!(uv & 0x04))	{ len =  5; uv &= 0x03; }
-#ifdef EBCDIC
-    else if (!(uv & 0x02))	{ len =  6; uv &= 0x01; }
-    else			{ len =  7; uv &= 0x01; }
-#else
-    else if (!(uv & 0x02))	{ len =  6; uv &= 0x01; }
-    else if (!(uv & 0x01))	{ len =  7; uv = 0; }
-    else			{ len = 13; uv = 0; } /* whoa! */
-#endif
+    /* Here is not a continuation byte, nor an invariant.  The only thing left
+     * is a start byte (possibly for an overlong) */
 
-    if (retlen)
-	*retlen = len;
+    /* Remove the leading bits that indicate the number of bytes in the
+     * character's whole UTF-8 sequence, leaving just the bits that are part of
+     * the value */
+    uv &= UTF_START_MASK(expectlen);
 
-    expectlen = len;
+    /* Now, loop through the remaining bytes in the character's sequence,
+     * accumulating each into the working value as we go.  Be sure to not look
+     * past the end of the input string */
+    send =  (U8*) s0 + ((expectlen <= curlen) ? expectlen : curlen);
 
-    if ((curlen < expectlen) &&
-	!(flags & UTF8_ALLOW_SHORT)) {
-	warning = UTF8_WARN_SHORT;
-	goto malformed;
-    }
+    for (s = s0 + 1; s < send; s++) {
+	if (LIKELY(UTF8_IS_CONTINUATION(*s))) {
+#ifndef EBCDIC	/* Can't overflow in EBCDIC */
+	    if (uv & UTF_ACCUMULATION_OVERFLOW_MASK) {
 
-    len--;
-    s++;
-    ouv = uv;	/* ouv is the value from the previous iteration */
+		/* The original implementors viewed this malformation as more
+		 * serious than the others (though I, khw, don't understand
+		 * why, since other malformations also give very very wrong
+		 * results), so there is no way to turn off checking for it.
+		 * Set a flag, but keep going in the loop, so that we absorb
+		 * the rest of the bytes that comprise the character. */
+		overflowed = TRUE;
+		overflow_byte = *s; /* Save for warning message's use */
+	    }
+#endif
+	    uv = UTF8_ACCUMULATE(uv, *s);
+	}
+	else {
+	    /* Here, found a non-continuation before processing all expected
+	     * bytes.  This byte begins a new character, so quit, even if
+	     * allowing this malformation. */
+	    unexpected_non_continuation = TRUE;
+	    break;
+	}
+    } /* End of loop through the character's bytes */
 
-    while (len--) {
-	if (!UTF8_IS_CONTINUATION(*s) &&
-	    !(flags & UTF8_ALLOW_NON_CONTINUATION)) {
-	    s--;
-	    warning = UTF8_WARN_NON_CONTINUATION;
+    /* Save how many bytes were actually in the character */
+    curlen = s - s0;
+
+    /* The loop above finds two types of malformations: non-continuation and/or
+     * overflow.  The non-continuation malformation is really a too-short
+     * malformation, as it means that the current character ended before it was
+     * expected to (being terminated prematurely by the beginning of the next
+     * character, whereas in the too-short malformation there just are too few
+     * bytes available to hold the character.  In both cases, the check below
+     * that we have found the expected number of bytes would fail if executed.)
+     * Thus the non-continuation malformation is really unnecessary, being a
+     * subset of the too-short malformation.  But there may be existing
+     * applications that are expecting the non-continuation type, so we retain
+     * it, and return it in preference to the too-short malformation.  (If this
+     * code were being written from scratch, the two types might be collapsed
+     * into one.)  I, khw, am also giving priority to returning the
+     * non-continuation and too-short malformations over overflow when multiple
+     * ones are present.  I don't know of any real reason to prefer one over
+     * the other, except that it seems to me that multiple-byte errors trumps
+     * errors from a single byte */
+    if (UNLIKELY(unexpected_non_continuation)) {
+	if (!(flags & UTF8_ALLOW_NON_CONTINUATION)) {
+	    if (! (flags & UTF8_CHECK_ONLY)) {
+		if (curlen == 1) {
+		    sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (unexpected non-continuation byte 0x%02x, immediately after start byte 0x%02x)", malformed_text, *s, *s0));
+		}
+		else {
+		    sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (unexpected non-continuation byte 0x%02x, %d bytes after start byte 0x%02x, expected %d bytes)", malformed_text, *s, (int) curlen, *s0, (int)expectlen));
+		}
+	    }
 	    goto malformed;
 	}
-	else
-	    uv = UTF8_ACCUMULATE(uv, *s);
-	if (!(uv > ouv)) {  /* If the value didn't grow from the previous
-			       iteration, something is horribly wrong */
-	    /* These cannot be allowed. */
-	    if (uv == ouv) {
-		if (expectlen != 13 && !(flags & UTF8_ALLOW_LONG)) {
-		    warning = UTF8_WARN_LONG;
-		    goto malformed;
-		}
+	uv = UNICODE_REPLACEMENT;
+
+	/* Skip testing for overlongs, as the REPLACEMENT may not be the same
+	 * as what the original expectations were. */
+	do_overlong_test = FALSE;
+	if (retlen) {
+	    *retlen = curlen;
+	}
+    }
+    else if (UNLIKELY(curlen < expectlen)) {
+	if (! (flags & UTF8_ALLOW_SHORT)) {
+	    if (! (flags & UTF8_CHECK_ONLY)) {
+		sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)curlen, curlen == 1 ? "" : "s", (int)expectlen, *s0));
 	    }
-	    else { /* uv < ouv */
-		/* This cannot be allowed. */
-		warning = UTF8_WARN_OVERFLOW;
-		goto malformed;
-	    }
+	    goto malformed;
 	}
-	s++;
-	ouv = uv;
+	uv = UNICODE_REPLACEMENT;
+	do_overlong_test = FALSE;
+	if (retlen) {
+	    *retlen = curlen;
+	}
     }
 
-    if ((expectlen > (STRLEN)UNISKIP(uv)) && !(flags & UTF8_ALLOW_LONG)) {
-	warning = UTF8_WARN_LONG;
+#ifndef EBCDIC	/* EBCDIC allows FE, FF, can't overflow */
+    if ((*s0 & 0xFE) == 0xFE	/* matches both FE, FF */
+	&& (flags & (UTF8_WARN_FE_FF|UTF8_DISALLOW_FE_FF)))
+    {
+	/* By adding UTF8_CHECK_ONLY to the test, we avoid unnecessary
+	 * generation of the sv, since no warnings are raised under CHECK */
+	if ((flags & (UTF8_WARN_FE_FF|UTF8_CHECK_ONLY)) == UTF8_WARN_FE_FF
+	    && ckWARN_d(WARN_UTF8))
+	{
+	    /* This message is deliberately not of the same syntax as the other
+	     * messages for malformations, for backwards compatibility in the
+	     * unlikely event that code is relying on its precise earlier text
+	     */
+	    sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s Code point beginning with byte 0x%02X is not Unicode, and not portable", malformed_text, *s0));
+	    pack_warn = packWARN(WARN_UTF8);
+	}
+	if (flags & UTF8_DISALLOW_FE_FF) {
+	    goto malformed;
+	}
+    }
+    if (UNLIKELY(overflowed)) {
+
+	/* If the first byte is FF, it will overflow a 32-bit word.  If the
+	 * first byte is FE, it will overflow a signed 32-bit word.  The
+	 * above preserves backward compatibility, since its message was used
+	 * in earlier versions of this code in preference to overflow */
+	sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (overflow at byte 0x%02x, after start byte 0x%02x)", malformed_text, overflow_byte, *s0));
 	goto malformed;
-    } else if (flags & (UTF8_DISALLOW_ILLEGAL_INTERCHANGE|UTF8_WARN_ILLEGAL_INTERCHANGE)) {
+    }
+#endif
+
+    if (do_overlong_test
+	&& expectlen > (STRLEN)UNISKIP(uv)
+	&& ! (flags & UTF8_ALLOW_LONG))
+    {
+	/* The overlong malformation has lower precedence than the others.
+	 * Note that if this malformation is allowed, we return the actual
+	 * value, instead of the replacement character.  This is because this
+	 * value is actually well-defined. */
+	if (! (flags & UTF8_CHECK_ONLY)) {
+	    sv = sv_2mortal(Perl_newSVpvf(aTHX_ "%s (%d byte%s, need %d, after start byte 0x%02x)", malformed_text, (int)expectlen, expectlen == 1 ? "": "s", UNISKIP(uv), *s0));
+	}
+	goto malformed;
+    }
+
+    /* Here, the input is considered to be well-formed , but could be a
+     * problematic code point that is not allowed by the input parameters. */
+    if (uv >= UNICODE_SURROGATE_FIRST /* isn't problematic if < this */
+	&& (flags & (UTF8_DISALLOW_ILLEGAL_INTERCHANGE
+		     |UTF8_WARN_ILLEGAL_INTERCHANGE)))
+    {
 	if (UNICODE_IS_SURROGATE(uv)) {
-	    if ((flags & (UTF8_WARN_SURROGATE|UTF8_CHECK_ONLY)) == UTF8_WARN_SURROGATE) {
+	    if ((flags & (UTF8_WARN_SURROGATE|UTF8_CHECK_ONLY)) == UTF8_WARN_SURROGATE
+		&& ckWARN2_d(WARN_UTF8, WARN_SURROGATE))
+	    {
 		sv = sv_2mortal(Perl_newSVpvf(aTHX_ "UTF-16 surrogate U+%04"UVXf"", uv));
+		pack_warn = packWARN2(WARN_UTF8, WARN_SURROGATE);
 	    }
 	    if (flags & UTF8_DISALLOW_SURROGATE) {
 		goto disallowed;
 	    }
 	}
-	else if (UNICODE_IS_NONCHAR(uv)) {
-	    if ((flags & (UTF8_WARN_NONCHAR|UTF8_CHECK_ONLY)) == UTF8_WARN_NONCHAR ) {
-		sv = sv_2mortal(Perl_newSVpvf(aTHX_ "Unicode non-character U+%04"UVXf" is illegal for open interchange", uv));
+	else if ((uv > PERL_UNICODE_MAX)) {
+	    if ((flags & (UTF8_WARN_SUPER|UTF8_CHECK_ONLY)) == UTF8_WARN_SUPER
+		&& ckWARN2_d(WARN_UTF8, WARN_NON_UNICODE))
+	    {
+		sv = sv_2mortal(Perl_newSVpvf(aTHX_ "Code point 0x%04"UVXf" is not Unicode, may not be portable", uv));
+		pack_warn = packWARN2(WARN_UTF8, WARN_NON_UNICODE);
 	    }
-	    if (flags & UTF8_DISALLOW_NONCHAR) {
+	    if (flags & UTF8_DISALLOW_SUPER) {
 		goto disallowed;
 	    }
 	}
-	else if ((uv > PERL_UNICODE_MAX)) {
-	    if ((flags & (UTF8_WARN_SUPER|UTF8_CHECK_ONLY)) == UTF8_WARN_SUPER) {
-		sv = sv_2mortal(Perl_newSVpvf(aTHX_ "Code point 0x%04"UVXf" is not Unicode, may not be portable", uv));
+	else if (UNICODE_IS_NONCHAR(uv)) {
+	    if ((flags & (UTF8_WARN_NONCHAR|UTF8_CHECK_ONLY)) == UTF8_WARN_NONCHAR
+		&& ckWARN2_d(WARN_UTF8, WARN_NONCHAR))
+	    {
+		sv = sv_2mortal(Perl_newSVpvf(aTHX_ "Unicode non-character U+%04"UVXf" is illegal for open interchange", uv));
+		pack_warn = packWARN2(WARN_UTF8, WARN_NONCHAR);
 	    }
-	    if (flags & UTF8_DISALLOW_SUPER) {
+	    if (flags & UTF8_DISALLOW_NONCHAR) {
 		goto disallowed;
 	    }
 	}
 
+	if (sv) {
+	    outlier_ret = uv;
+	    goto do_warn;
+	}
+
 	/* Here, this is not considered a malformed character, so drop through
 	 * to return it */
     }
@@ -680,14 +838,40 @@
 
     return uv;
 
-disallowed: /* Is disallowed, but otherwise not malformed.  'sv' will have been
-	       set if there is to be a warning. */
-    if (!sv) {
-	dowarn = 0;
-    }
+    /* There are three cases which get to beyond this point.  In all 3 cases:
+     * <sv>	    if not null points to a string to print as a warning.
+     * <curlen>	    is what <*retlen> should be set to if UTF8_CHECK_ONLY isn't
+     *		    set.
+     * <outlier_ret> is what return value to use if UTF8_CHECK_ONLY isn't set.
+     *		    This is done by initializing it to 0, and changing it only
+     *		    for case 1).
+     * The 3 cases are:
+     * 1)   The input is valid but problematic, and to be warned about.  The
+     *	    return value is the resultant code point; <*retlen> is set to
+     *	    <curlen>, the number of bytes that comprise the code point.
+     *	    <pack_warn> contains the result of packWARN() for the warning
+     *	    types.  The entry point for this case is the label <do_warn>;
+     * 2)   The input is a valid code point but disallowed by the parameters to
+     *	    this function.  The return value is 0.  If UTF8_CHECK_ONLY is set,
+     *	    <*relen> is -1; otherwise it is <curlen>, the number of bytes that
+     *	    comprise the code point.  <pack_warn> contains the result of
+     *	    packWARN() for the warning types.  The entry point for this case is
+     *	    the label <disallowed>.
+     * 3)   The input is malformed.  The return value is 0.  If UTF8_CHECK_ONLY
+     *	    is set, <*relen> is -1; otherwise it is <curlen>, the number of
+     *	    bytes that comprise the malformation.  All such malformations are
+     *	    assumed to be warning type <utf8>.  The entry point for this case
+     *	    is the label <malformed>.
+     */
 
 malformed:
 
+    if (sv && ckWARN_d(WARN_UTF8)) {
+	pack_warn = packWARN(WARN_UTF8);
+    }
+
+disallowed:
+
     if (flags & UTF8_CHECK_ONLY) {
 	if (retlen)
 	    *retlen = ((STRLEN) -1);
@@ -694,91 +878,177 @@
 	return 0;
     }
 
-    if (dowarn) {
-	if (! sv) {
-	    sv = newSVpvs_flags("Malformed UTF-8 character ", SVs_TEMP);
-	}
+do_warn:
 
-	switch (warning) {
-	    case 0: /* Intentionally empty. */ break;
-	    case UTF8_WARN_EMPTY:
-		sv_catpvs(sv, "(empty string)");
-		break;
-	    case UTF8_WARN_CONTINUATION:
-		Perl_sv_catpvf(aTHX_ sv, "(unexpected continuation byte 0x%02"UVxf", with no preceding start byte)", uv);
-		break;
-	    case UTF8_WARN_NON_CONTINUATION:
-		if (s == s0)
-		    Perl_sv_catpvf(aTHX_ sv, "(unexpected non-continuation byte 0x%02"UVxf", immediately after start byte 0x%02"UVxf")",
-				(UV)s[1], startbyte);
-		else {
-		    const int len = (int)(s-s0);
-		    Perl_sv_catpvf(aTHX_ sv, "(unexpected non-continuation byte 0x%02"UVxf", %d byte%s after start byte 0x%02"UVxf", expected %d bytes)",
-				(UV)s[1], len, len > 1 ? "s" : "", startbyte, (int)expectlen);
-		}
+    if (pack_warn) {	/* <pack_warn> was initialized to 0, and changed only
+			   if warnings are to be raised. */
+	const char * const string = SvPVX_const(sv);
 
-		break;
-	    case UTF8_WARN_SHORT:
-		Perl_sv_catpvf(aTHX_ sv, "(%d byte%s, need %d, after start byte 0x%02"UVxf")",
-				(int)curlen, curlen == 1 ? "" : "s", (int)expectlen, startbyte);
-		expectlen = curlen;		/* distance for caller to skip */
-		break;
-	    case UTF8_WARN_OVERFLOW:
-		Perl_sv_catpvf(aTHX_ sv, "(overflow at 0x%"UVxf", byte 0x%02x, after start byte 0x%02"UVxf")",
-				ouv, *s, startbyte);
-		break;
-	    case UTF8_WARN_LONG:
-		Perl_sv_catpvf(aTHX_ sv, "(%d byte%s, need %d, after start byte 0x%02"UVxf")",
-				(int)expectlen, expectlen == 1 ? "": "s", UNISKIP(uv), startbyte);
-		break;
-	    default:
-		sv_catpvs(sv, "(unknown reason)");
-		break;
-	}
-	
-	if (sv) {
-	    const char * const s = SvPVX_const(sv);
+	if (PL_op)
+	    Perl_warner(aTHX_ pack_warn, "%s in %s", string,  OP_DESC(PL_op));
+	else
+	    Perl_warner(aTHX_ pack_warn, "%s", string);
+    }
 
-	    if (PL_op)
-		Perl_warner(aTHX_ packWARN(WARN_UTF8),
-			    "%s in %s", s,  OP_DESC(PL_op));
-	    else
-		Perl_warner(aTHX_ packWARN(WARN_UTF8), "%s", s);
-	}
+    if (retlen) {
+	*retlen = curlen;
     }
 
-    if (retlen)
-	*retlen = expectlen ? expectlen : len;
+    return outlier_ret;
+}
 
-    return 0;
+/*
+=for apidoc utf8_to_uvchr_buf
+
+Returns the native code point of the first character in the string C<s> which
+is assumed to be in UTF-8 encoding; C<send> points to 1 beyond the end of C<s>.
+C<*retlen> will be set to the length, in bytes, of that character.
+
+If C<s> does not point to a well-formed UTF-8 character and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
+NULL) to -1.  If those warnings are off, the computed value, if well-defined
+(or the Unicode REPLACEMENT CHARACTER if not), is silently returned, and
+C<*retlen> is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is
+the next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvuni> for details on when the REPLACEMENT CHARACTER is
+returned.
+
+=cut
+*/
+
+
+UV
+Perl_utf8_to_uvchr_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
+{
+    PERL_ARGS_ASSERT_UTF8_TO_UVCHR_BUF;
+
+    assert(s < send);
+
+    return utf8n_to_uvchr(s, send - s, retlen,
+			  ckWARN_d(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY);
 }
 
+/* Like L</utf8_to_uvchr_buf>(), but should only be called when it is known that
+ * there are no malformations in the input UTF-8 string C<s>.  surrogates,
+ * non-character code points, and non-Unicode code points are allowed.  A macro
+ * in utf8.h is used to normally avoid this function wrapper */
+
+UV
+Perl_valid_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
+{
+    const UV uv = valid_utf8_to_uvuni(s, retlen);
+
+    PERL_ARGS_ASSERT_VALID_UTF8_TO_UVCHR;
+
+    return UNI_TO_NATIVE(uv);
+}
+
 /*
 =for apidoc utf8_to_uvchr
 
+DEPRECATED!
+
 Returns the native code point of the first character in the string C<s>
 which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
 length, in bytes, of that character.
 
-If C<s> does not point to a well-formed UTF-8 character, zero is
-returned and retlen is set, if possible, to -1.
+Some, but not all, UTF-8 malformations are detected, and in fact, some
+malformed input could cause reading beyond the end of the input buffer, which
+is why this function is deprecated.  Use L</utf8_to_uvchr_buf> instead.
 
+If C<s> points to one of the detected malformations, and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
+NULL) to -1.  If those warnings are off, the computed value if well-defined (or
+the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
+is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvuni> for details on when the REPLACEMENT CHARACTER is returned.
+
 =cut
 */
 
-
 UV
 Perl_utf8_to_uvchr(pTHX_ const U8 *s, STRLEN *retlen)
 {
     PERL_ARGS_ASSERT_UTF8_TO_UVCHR;
 
-    return utf8n_to_uvchr(s, UTF8_MAXBYTES, retlen,
-			  ckWARN_d(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY);
+    return utf8_to_uvchr_buf(s, s + UTF8_MAXBYTES, retlen);
 }
 
 /*
+=for apidoc utf8_to_uvuni_buf
+
+Returns the Unicode code point of the first character in the string C<s> which
+is assumed to be in UTF-8 encoding; C<send> points to 1 beyond the end of C<s>.
+C<retlen> will be set to the length, in bytes, of that character.
+
+This function should only be used when the returned UV is considered
+an index into the Unicode semantic tables (e.g. swashes).
+
+If C<s> does not point to a well-formed UTF-8 character and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> isn't
+NULL) to -1.  If those warnings are off, the computed value if well-defined (or
+the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
+is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvuni> for details on when the REPLACEMENT CHARACTER is returned.
+
+=cut
+*/
+
+UV
+Perl_utf8_to_uvuni_buf(pTHX_ const U8 *s, const U8 *send, STRLEN *retlen)
+{
+    PERL_ARGS_ASSERT_UTF8_TO_UVUNI_BUF;
+
+    assert(send > s);
+
+    /* Call the low level routine asking for checks */
+    return Perl_utf8n_to_uvuni(aTHX_ s, send -s, retlen,
+			       ckWARN_d(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY);
+}
+
+/* Like L</utf8_to_uvuni_buf>(), but should only be called when it is known that
+ * there are no malformations in the input UTF-8 string C<s>.  Surrogates,
+ * non-character code points, and non-Unicode code points are allowed */
+
+UV
+Perl_valid_utf8_to_uvuni(pTHX_ const U8 *s, STRLEN *retlen)
+{
+    UV expectlen = UTF8SKIP(s);
+    const U8* send = s + expectlen;
+    UV uv = NATIVE_TO_UTF(*s);
+
+    PERL_ARGS_ASSERT_VALID_UTF8_TO_UVUNI;
+
+    if (retlen) {
+	*retlen = expectlen;
+    }
+
+    /* An invariant is trivially returned */
+    if (expectlen == 1) {
+	return uv;
+    }
+
+    /* Remove the leading bits that indicate the number of bytes, leaving just
+     * the bits that are part of the value */
+    uv &= UTF_START_MASK(expectlen);
+
+    /* Now, loop through the remaining bytes, accumulating each into the
+     * working total as we go.  (I khw tried unrolling the loop for up to 4
+     * bytes, but there was no performance improvement) */
+    for (++s; s < send; s++) {
+	uv = UTF8_ACCUMULATE(uv, *s);
+    }
+
+    return uv;
+}
+
+/*
 =for apidoc utf8_to_uvuni
 
+DEPRECATED!
+
 Returns the Unicode code point of the first character in the string C<s>
 which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
 length, in bytes, of that character.
@@ -786,9 +1056,18 @@
 This function should only be used when the returned UV is considered
 an index into the Unicode semantic tables (e.g. swashes).
 
-If C<s> does not point to a well-formed UTF-8 character, zero is
-returned and retlen is set, if possible, to -1.
+Some, but not all, UTF-8 malformations are detected, and in fact, some
+malformed input could cause reading beyond the end of the input buffer, which
+is why this function is deprecated.  Use L</utf8_to_uvuni_buf> instead.
 
+If C<s> points to one of the detected malformations, and UTF8 warnings are
+enabled, zero is returned and C<*retlen> is set (if C<retlen> doesn't point to
+NULL) to -1.  If those warnings are off, the computed value if well-defined (or
+the Unicode REPLACEMENT CHARACTER, if not) is silently returned, and C<*retlen>
+is set (if C<retlen> isn't NULL) so that (S<C<s> + C<*retlen>>) is the
+next possible position in C<s> that could begin a non-malformed character.
+See L</utf8n_to_uvuni> for details on when the REPLACEMENT CHARACTER is returned.
+
 =cut
 */
 
@@ -797,9 +1076,7 @@
 {
     PERL_ARGS_ASSERT_UTF8_TO_UVUNI;
 
-    /* Call the low level routine asking for checks */
-    return Perl_utf8n_to_uvuni(aTHX_ s, UTF8_MAXBYTES, retlen,
-			       ckWARN_d(WARN_UTF8) ? 0 : UTF8_ALLOW_ANY);
+    return valid_utf8_to_uvuni(s, retlen);
 }
 
 /*
@@ -827,10 +1104,7 @@
     if (e < s)
 	goto warn_and_return;
     while (s < e) {
-	if (!UTF8_IS_INVARIANT(*s))
-	    s += UTF8SKIP(s);
-	else
-	    s++;
+        s += UTF8SKIP(s);
 	len++;
     }
 
@@ -907,8 +1181,8 @@
 /*
 =for apidoc bytes_cmp_utf8
 
-Compares the sequence of characters (stored as octets) in b, blen with the
-sequence of characters (stored as UTF-8) in u, ulen. Returns 0 if they are
+Compares the sequence of characters (stored as octets) in C<b>, C<blen> with the
+sequence of characters (stored as UTF-8) in C<u>, C<ulen>. Returns 0 if they are
 equal, -1 or -2 if the first string is less than the second string, +1 or +2
 if the first string is greater than the second string.
 
@@ -976,11 +1250,11 @@
 =for apidoc utf8_to_bytes
 
 Converts a string C<s> of length C<len> from UTF-8 into native byte encoding.
-Unlike C<bytes_to_utf8>, this over-writes the original string, and
-updates len to contain the new length.
+Unlike L</bytes_to_utf8>, this over-writes the original string, and
+updates C<len> to contain the new length.
 Returns zero on failure, setting C<len> to -1.
 
-If you need a copy of the string, see C<bytes_from_utf8>.
+If you need a copy of the string, see L</bytes_from_utf8>.
 
 =cut
 */
@@ -1009,7 +1283,7 @@
     d = s = save;
     while (s < send) {
         STRLEN ulen;
-        *d++ = (U8)utf8_to_uvchr(s, &ulen);
+        *d++ = (U8)utf8_to_uvchr_buf(s, send, &ulen);
         s += ulen;
     }
     *d = '\0';
@@ -1021,7 +1295,7 @@
 =for apidoc bytes_from_utf8
 
 Converts a string C<s> of length C<len> from UTF-8 into native byte encoding.
-Unlike C<utf8_to_bytes> but like C<bytes_to_utf8>, returns a pointer to
+Unlike L</utf8_to_bytes> but like L</bytes_to_utf8>, returns a pointer to
 the newly-created string, and updates C<len> to contain the new
 length.  Returns the original string if no conversion occurs, C<len>
 is unchanged. Do nothing if C<is_utf8> points to 0. Sets C<is_utf8> to
@@ -1086,11 +1360,14 @@
 
 If you want to convert to UTF-8 from encodings other than
 the native (Latin1 or EBCDIC),
-see sv_recode_to_utf8().
+see L</sv_recode_to_utf8>().
 
 =cut
 */
 
+/* This logic is duplicated in sv_catpvn_flags, so any bug fixes will
+   likewise need duplication. */
+
 U8*
 Perl_bytes_to_utf8(pTHX_ const U8 *s, STRLEN *len)
 {
@@ -1207,54 +1484,104 @@
     return utf16_to_utf8(p, d, bytelen, newlen);
 }
 
-/* for now these are all defined (inefficiently) in terms of the utf8 versions */
+bool
+Perl__is_uni_FOO(pTHX_ const U8 classnum, const UV c)
+{
+    U8 tmpbuf[UTF8_MAXBYTES+1];
+    uvchr_to_utf8(tmpbuf, c);
+    return _is_utf8_FOO(classnum, tmpbuf);
+}
 
+/* for now these are all defined (inefficiently) in terms of the utf8 versions.
+ * Note that the macros in handy.h that call these short-circuit calling them
+ * for Latin-1 range inputs */
+
 bool
 Perl_is_uni_alnum(pTHX_ UV c)
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_alnum(tmpbuf);
+    return _is_utf8_FOO(_CC_WORDCHAR, tmpbuf);
 }
 
 bool
+Perl_is_uni_alnumc(pTHX_ UV c)
+{
+    U8 tmpbuf[UTF8_MAXBYTES+1];
+    uvchr_to_utf8(tmpbuf, c);
+    return _is_utf8_FOO(_CC_ALPHANUMERIC, tmpbuf);
+}
+
+/* Internal function so we can deprecate the external one, and call
+   this one from other deprecated functions in this file */
+
+PERL_STATIC_INLINE bool
+S_is_utf8_idfirst(pTHX_ const U8 *p)
+{
+    dVAR;
+
+    if (*p == '_')
+	return TRUE;
+    /* is_utf8_idstart would be more logical. */
+    return is_utf8_common(p, &PL_utf8_idstart, "IdStart");
+}
+
+bool
 Perl_is_uni_idfirst(pTHX_ UV c)
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_idfirst(tmpbuf);
+    return S_is_utf8_idfirst(aTHX_ tmpbuf);
 }
 
 bool
-Perl_is_uni_alpha(pTHX_ UV c)
+Perl__is_uni_perl_idcont(pTHX_ UV c)
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_alpha(tmpbuf);
+    return _is_utf8_perl_idcont(tmpbuf);
 }
 
 bool
-Perl_is_uni_ascii(pTHX_ UV c)
+Perl__is_uni_perl_idstart(pTHX_ UV c)
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_ascii(tmpbuf);
+    return _is_utf8_perl_idstart(tmpbuf);
 }
 
 bool
-Perl_is_uni_space(pTHX_ UV c)
+Perl_is_uni_alpha(pTHX_ UV c)
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_space(tmpbuf);
+    return _is_utf8_FOO(_CC_ALPHA, tmpbuf);
 }
 
 bool
+Perl_is_uni_ascii(pTHX_ UV c)
+{
+    return isASCII(c);
+}
+
+bool
+Perl_is_uni_blank(pTHX_ UV c)
+{
+    return isBLANK_uni(c);
+}
+
+bool
+Perl_is_uni_space(pTHX_ UV c)
+{
+    return isSPACE_uni(c);
+}
+
+bool
 Perl_is_uni_digit(pTHX_ UV c)
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_digit(tmpbuf);
+    return _is_utf8_FOO(_CC_DIGIT, tmpbuf);
 }
 
 bool
@@ -1262,7 +1589,7 @@
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_upper(tmpbuf);
+    return _is_utf8_FOO(_CC_UPPER, tmpbuf);
 }
 
 bool
@@ -1270,15 +1597,13 @@
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_lower(tmpbuf);
+    return _is_utf8_FOO(_CC_LOWER, tmpbuf);
 }
 
 bool
 Perl_is_uni_cntrl(pTHX_ UV c)
 {
-    U8 tmpbuf[UTF8_MAXBYTES+1];
-    uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_cntrl(tmpbuf);
+    return isCNTRL_L1(c);
 }
 
 bool
@@ -1286,7 +1611,7 @@
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_graph(tmpbuf);
+    return _is_utf8_FOO(_CC_GRAPH, tmpbuf);
 }
 
 bool
@@ -1294,7 +1619,7 @@
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_print(tmpbuf);
+    return _is_utf8_FOO(_CC_PRINT, tmpbuf);
 }
 
 bool
@@ -1302,131 +1627,370 @@
 {
     U8 tmpbuf[UTF8_MAXBYTES+1];
     uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_punct(tmpbuf);
+    return _is_utf8_FOO(_CC_PUNCT, tmpbuf);
 }
 
 bool
 Perl_is_uni_xdigit(pTHX_ UV c)
 {
-    U8 tmpbuf[UTF8_MAXBYTES_CASE+1];
-    uvchr_to_utf8(tmpbuf, c);
-    return is_utf8_xdigit(tmpbuf);
+    return isXDIGIT_uni(c);
 }
 
 UV
+Perl__to_upper_title_latin1(pTHX_ const U8 c, U8* p, STRLEN *lenp, const char S_or_s)
+{
+    /* We have the latin1-range values compiled into the core, so just use
+     * those, converting the result to utf8.  The only difference between upper
+     * and title case in this range is that LATIN_SMALL_LETTER_SHARP_S is
+     * either "SS" or "Ss".  Which one to use is passed into the routine in
+     * 'S_or_s' to avoid a test */
+
+    UV converted = toUPPER_LATIN1_MOD(c);
+
+    PERL_ARGS_ASSERT__TO_UPPER_TITLE_LATIN1;
+
+    assert(S_or_s == 'S' || S_or_s == 's');
+
+    if (UNI_IS_INVARIANT(converted)) { /* No difference between the two for
+					  characters in this range */
+	*p = (U8) converted;
+	*lenp = 1;
+	return converted;
+    }
+
+    /* toUPPER_LATIN1_MOD gives the correct results except for three outliers,
+     * which it maps to one of them, so as to only have to have one check for
+     * it in the main case */
+    if (UNLIKELY(converted == LATIN_SMALL_LETTER_Y_WITH_DIAERESIS)) {
+	switch (c) {
+	    case LATIN_SMALL_LETTER_Y_WITH_DIAERESIS:
+		converted = LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS;
+		break;
+	    case MICRO_SIGN:
+		converted = GREEK_CAPITAL_LETTER_MU;
+		break;
+	    case LATIN_SMALL_LETTER_SHARP_S:
+		*(p)++ = 'S';
+		*p = S_or_s;
+		*lenp = 2;
+		return 'S';
+	    default:
+		Perl_croak(aTHX_ "panic: to_upper_title_latin1 did not expect '%c' to map to '%c'", c, LATIN_SMALL_LETTER_Y_WITH_DIAERESIS);
+		assert(0); /* NOTREACHED */
+	}
+    }
+
+    *(p)++ = UTF8_TWO_BYTE_HI(converted);
+    *p = UTF8_TWO_BYTE_LO(converted);
+    *lenp = 2;
+
+    return converted;
+}
+
+/* Call the function to convert a UTF-8 encoded character to the specified case.
+ * Note that there may be more than one character in the result.
+ * INP is a pointer to the first byte of the input character
+ * OUTP will be set to the first byte of the string of changed characters.  It
+ *	needs to have space for UTF8_MAXBYTES_CASE+1 bytes
+ * LENP will be set to the length in bytes of the string of changed characters
+ *
+ * The functions return the ordinal of the first character in the string of OUTP */
+#define CALL_UPPER_CASE(INP, OUTP, LENP) Perl_to_utf8_case(aTHX_ INP, OUTP, LENP, &PL_utf8_toupper, "ToUc", "utf8::ToSpecUc")
+#define CALL_TITLE_CASE(INP, OUTP, LENP) Perl_to_utf8_case(aTHX_ INP, OUTP, LENP, &PL_utf8_totitle, "ToTc", "utf8::ToSpecTc")
+#define CALL_LOWER_CASE(INP, OUTP, LENP) Perl_to_utf8_case(aTHX_ INP, OUTP, LENP, &PL_utf8_tolower, "ToLc", "utf8::ToSpecLc")
+
+/* This additionally has the input parameter SPECIALS, which if non-zero will
+ * cause this to use the SPECIALS hash for folding (meaning get full case
+ * folding); otherwise, when zero, this implies a simple case fold */
+#define CALL_FOLD_CASE(INP, OUTP, LENP, SPECIALS) Perl_to_utf8_case(aTHX_ INP, OUTP, LENP, &PL_utf8_tofold, "ToCf", (SPECIALS) ? "utf8::ToSpecCf" : NULL)
+
+UV
 Perl_to_uni_upper(pTHX_ UV c, U8* p, STRLEN *lenp)
 {
+    dVAR;
+
+    /* Convert the Unicode character whose ordinal is <c> to its uppercase
+     * version and store that in UTF-8 in <p> and its length in bytes in <lenp>.
+     * Note that the <p> needs to be at least UTF8_MAXBYTES_CASE+1 bytes since
+     * the changed version may be longer than the original character.
+     *
+     * The ordinal of the first character of the changed version is returned
+     * (but note, as explained above, that there may be more.) */
+
     PERL_ARGS_ASSERT_TO_UNI_UPPER;
 
+    if (c < 256) {
+	return _to_upper_title_latin1((U8) c, p, lenp, 'S');
+    }
+
     uvchr_to_utf8(p, c);
-    return to_utf8_upper(p, p, lenp);
+    return CALL_UPPER_CASE(p, p, lenp);
 }
 
 UV
 Perl_to_uni_title(pTHX_ UV c, U8* p, STRLEN *lenp)
 {
+    dVAR;
+
     PERL_ARGS_ASSERT_TO_UNI_TITLE;
 
+    if (c < 256) {
+	return _to_upper_title_latin1((U8) c, p, lenp, 's');
+    }
+
     uvchr_to_utf8(p, c);
-    return to_utf8_title(p, p, lenp);
+    return CALL_TITLE_CASE(p, p, lenp);
 }
 
+STATIC U8
+S_to_lower_latin1(pTHX_ const U8 c, U8* p, STRLEN *lenp)
+{
+    /* We have the latin1-range values compiled into the core, so just use
+     * those, converting the result to utf8.  Since the result is always just
+     * one character, we allow <p> to be NULL */
+
+    U8 converted = toLOWER_LATIN1(c);
+
+    if (p != NULL) {
+	if (UNI_IS_INVARIANT(converted)) {
+	    *p = converted;
+	    *lenp = 1;
+	}
+	else {
+	    *p = UTF8_TWO_BYTE_HI(converted);
+	    *(p+1) = UTF8_TWO_BYTE_LO(converted);
+	    *lenp = 2;
+	}
+    }
+    return converted;
+}
+
 UV
 Perl_to_uni_lower(pTHX_ UV c, U8* p, STRLEN *lenp)
 {
+    dVAR;
+
     PERL_ARGS_ASSERT_TO_UNI_LOWER;
 
+    if (c < 256) {
+	return to_lower_latin1((U8) c, p, lenp);
+    }
+
     uvchr_to_utf8(p, c);
-    return to_utf8_lower(p, p, lenp);
+    return CALL_LOWER_CASE(p, p, lenp);
 }
 
 UV
-Perl__to_uni_fold_flags(pTHX_ UV c, U8* p, STRLEN *lenp, U8 flags)
+Perl__to_fold_latin1(pTHX_ const U8 c, U8* p, STRLEN *lenp, const bool flags)
 {
+    /* Corresponds to to_lower_latin1(), <flags> is TRUE if to use full case
+     * folding */
+
+    UV converted;
+
+    PERL_ARGS_ASSERT__TO_FOLD_LATIN1;
+
+    if (c == MICRO_SIGN) {
+	converted = GREEK_SMALL_LETTER_MU;
+    }
+    else if (flags && c == LATIN_SMALL_LETTER_SHARP_S) {
+	*(p)++ = 's';
+	*p = 's';
+	*lenp = 2;
+	return 's';
+    }
+    else { /* In this range the fold of all other characters is their lower
+              case */
+	converted = toLOWER_LATIN1(c);
+    }
+
+    if (UNI_IS_INVARIANT(converted)) {
+	*p = (U8) converted;
+	*lenp = 1;
+    }
+    else {
+	*(p)++ = UTF8_TWO_BYTE_HI(converted);
+	*p = UTF8_TWO_BYTE_LO(converted);
+	*lenp = 2;
+    }
+
+    return converted;
+}
+
+UV
+Perl__to_uni_fold_flags(pTHX_ UV c, U8* p, STRLEN *lenp, const U8 flags)
+{
+
+    /* Not currently externally documented, and subject to change
+     *  <flags> bits meanings:
+     *	    FOLD_FLAGS_FULL  iff full folding is to be used;
+     *	    FOLD_FLAGS_LOCALE iff in locale
+     *	    FOLD_FLAGS_NOMIX_ASCII iff non-ASCII to ASCII folds are prohibited
+     */
+
     PERL_ARGS_ASSERT__TO_UNI_FOLD_FLAGS;
 
-    uvchr_to_utf8(p, c);
-    return _to_utf8_fold_flags(p, p, lenp, flags);
+    if (c < 256) {
+	UV result = _to_fold_latin1((U8) c, p, lenp,
+			       cBOOL(((flags & FOLD_FLAGS_FULL)
+				   /* If ASCII-safe, don't allow full folding,
+				    * as that could include SHARP S => ss;
+				    * otherwise there is no crossing of
+				    * ascii/non-ascii in the latin1 range */
+				   && ! (flags & FOLD_FLAGS_NOMIX_ASCII))));
+	/* It is illegal for the fold to cross the 255/256 boundary under
+	 * locale; in this case return the original */
+	return (result > 256 && flags & FOLD_FLAGS_LOCALE)
+	       ? c
+	       : result;
+    }
+
+    /* If no special needs, just use the macro */
+    if ( ! (flags & (FOLD_FLAGS_LOCALE|FOLD_FLAGS_NOMIX_ASCII))) {
+	uvchr_to_utf8(p, c);
+	return CALL_FOLD_CASE(p, p, lenp, flags & FOLD_FLAGS_FULL);
+    }
+    else {  /* Otherwise, _to_utf8_fold_flags has the intelligence to deal with
+	       the special flags. */
+	U8 utf8_c[UTF8_MAXBYTES + 1];
+	uvchr_to_utf8(utf8_c, c);
+	return _to_utf8_fold_flags(utf8_c, p, lenp, flags, NULL);
+    }
 }
 
-/* for now these all assume no locale info available for Unicode > 255 */
-
 bool
 Perl_is_uni_alnum_lc(pTHX_ UV c)
 {
-    return is_uni_alnum(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isALNUM_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_WORDCHAR, c);
 }
 
 bool
+Perl_is_uni_alnumc_lc(pTHX_ UV c)
+{
+    if (c < 256) {
+        return isALPHANUMERIC_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_ALPHANUMERIC, c);
+}
+
+bool
 Perl_is_uni_idfirst_lc(pTHX_ UV c)
 {
-    return is_uni_idfirst(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isIDFIRST_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_perl_idstart(c);
 }
 
 bool
 Perl_is_uni_alpha_lc(pTHX_ UV c)
 {
-    return is_uni_alpha(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isALPHA_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_ALPHA, c);
 }
 
 bool
 Perl_is_uni_ascii_lc(pTHX_ UV c)
 {
-    return is_uni_ascii(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isASCII_LC(UNI_TO_NATIVE(c));
+    }
+    return 0;
 }
 
 bool
+Perl_is_uni_blank_lc(pTHX_ UV c)
+{
+    if (c < 256) {
+        return isBLANK_LC(UNI_TO_NATIVE(c));
+    }
+    return isBLANK_uni(c);
+}
+
+bool
 Perl_is_uni_space_lc(pTHX_ UV c)
 {
-    return is_uni_space(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isSPACE_LC(UNI_TO_NATIVE(c));
+    }
+    return isSPACE_uni(c);
 }
 
 bool
 Perl_is_uni_digit_lc(pTHX_ UV c)
 {
-    return is_uni_digit(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isDIGIT_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_DIGIT, c);
 }
 
 bool
 Perl_is_uni_upper_lc(pTHX_ UV c)
 {
-    return is_uni_upper(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isUPPER_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_UPPER, c);
 }
 
 bool
 Perl_is_uni_lower_lc(pTHX_ UV c)
 {
-    return is_uni_lower(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isLOWER_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_LOWER, c);
 }
 
 bool
 Perl_is_uni_cntrl_lc(pTHX_ UV c)
 {
-    return is_uni_cntrl(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isCNTRL_LC(UNI_TO_NATIVE(c));
+    }
+    return 0;
 }
 
 bool
 Perl_is_uni_graph_lc(pTHX_ UV c)
 {
-    return is_uni_graph(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isGRAPH_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_GRAPH, c);
 }
 
 bool
 Perl_is_uni_print_lc(pTHX_ UV c)
 {
-    return is_uni_print(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isPRINT_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_PRINT, c);
 }
 
 bool
 Perl_is_uni_punct_lc(pTHX_ UV c)
 {
-    return is_uni_punct(c);	/* XXX no locale support yet */
+    if (c < 256) {
+        return isPUNCT_LC(UNI_TO_NATIVE(c));
+    }
+    return _is_uni_FOO(_CC_PUNCT, c);
 }
 
 bool
 Perl_is_uni_xdigit_lc(pTHX_ UV c)
 {
-    return is_uni_xdigit(c);	/* XXX no locale support yet */
+    if (c < 256) {
+       return isXDIGIT_LC(UNI_TO_NATIVE(c));
+    }
+    return isXDIGIT_uni(c);
 }
 
 U32
@@ -1459,22 +2023,62 @@
     return (U32)to_uni_lower(c, tmpbuf, &len);
 }
 
-static bool
+PERL_STATIC_INLINE bool
 S_is_utf8_common(pTHX_ const U8 *const p, SV **swash,
 		 const char *const swashname)
 {
+    /* returns a boolean giving whether or not the UTF8-encoded character that
+     * starts at <p> is in the swash indicated by <swashname>.  <swash>
+     * contains a pointer to where the swash indicated by <swashname>
+     * is to be stored; which this routine will do, so that future calls will
+     * look at <*swash> and only generate a swash if it is not null
+     *
+     * Note that it is assumed that the buffer length of <p> is enough to
+     * contain all the bytes that comprise the character.  Thus, <*p> should
+     * have been checked before this call for mal-formedness enough to assure
+     * that. */
+
     dVAR;
 
     PERL_ARGS_ASSERT_IS_UTF8_COMMON;
 
-    if (!is_utf8_char(p))
-	return FALSE;
-    if (!*swash)
-	*swash = swash_init("utf8", swashname, &PL_sv_undef, 1, 0);
+    /* The API should have included a length for the UTF-8 character in <p>,
+     * but it doesn't.  We therefore assume that p has been validated at least
+     * as far as there being enough bytes available in it to accommodate the
+     * character without reading beyond the end, and pass that number on to the
+     * validating routine */
+    if (! is_utf8_char_buf(p, p + UTF8SKIP(p))) {
+        if (ckWARN_d(WARN_UTF8)) {
+            Perl_warner(aTHX_ packWARN2(WARN_DEPRECATED,WARN_UTF8),
+		    "Passing malformed UTF-8 to \"%s\" is deprecated", swashname);
+            if (ckWARN(WARN_UTF8)) {    /* This will output details as to the
+                                           what the malformation is */
+                utf8_to_uvchr_buf(p, p + UTF8SKIP(p), NULL);
+            }
+        }
+        return FALSE;
+    }
+    if (!*swash) {
+        U8 flags = _CORE_SWASH_INIT_ACCEPT_INVLIST;
+        *swash = _core_swash_init("utf8", swashname, &PL_sv_undef, 1, 0, NULL, &flags);
+    }
+
     return swash_fetch(*swash, p, TRUE) != 0;
 }
 
 bool
+Perl__is_utf8_FOO(pTHX_ const U8 classnum, const U8 *p)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT__IS_UTF8_FOO;
+
+    assert(classnum < _FIRST_NON_SWASH_CC);
+
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[classnum], swash_property_names[classnum]);
+}
+
+bool
 Perl_is_utf8_alnum(pTHX_ const U8 *p)
 {
     dVAR;
@@ -1484,10 +2088,20 @@
     /* NOTE: "IsWord", not "IsAlnum", since Alnum is a true
      * descendant of isalnum(3), in other words, it doesn't
      * contain the '_'. --jhi */
-    return is_utf8_common(p, &PL_utf8_alnum, "IsWord");
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_WORDCHAR], "IsWord");
 }
 
 bool
+Perl_is_utf8_alnumc(pTHX_ const U8 *p)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT_IS_UTF8_ALNUMC;
+
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_ALPHANUMERIC], "IsAlnum");
+}
+
+bool
 Perl_is_utf8_idfirst(pTHX_ const U8 *p) /* The naming is historical. */
 {
     dVAR;
@@ -1494,10 +2108,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_IDFIRST;
 
-    if (*p == '_')
-	return TRUE;
-    /* is_utf8_idstart would be more logical. */
-    return is_utf8_common(p, &PL_utf8_idstart, "IdStart");
+    return S_is_utf8_idfirst(aTHX_ p);
 }
 
 bool
@@ -1514,6 +2125,27 @@
 }
 
 bool
+Perl__is_utf8_perl_idstart(pTHX_ const U8 *p)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT__IS_UTF8_PERL_IDSTART;
+
+    return is_utf8_common(p, &PL_utf8_perl_idstart, "_Perl_IDStart");
+}
+
+bool
+Perl__is_utf8_perl_idcont(pTHX_ const U8 *p)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT__IS_UTF8_PERL_IDCONT;
+
+    return is_utf8_common(p, &PL_utf8_perl_idcont, "_Perl_IDCont");
+}
+
+
+bool
 Perl_is_utf8_idcont(pTHX_ const U8 *p)
 {
     dVAR;
@@ -1520,8 +2152,6 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_IDCONT;
 
-    if (*p == '_')
-	return TRUE;
     return is_utf8_common(p, &PL_utf8_idcont, "IdContinue");
 }
 
@@ -1532,8 +2162,6 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_XIDCONT;
 
-    if (*p == '_')
-	return TRUE;
     return is_utf8_common(p, &PL_utf8_idcont, "XIdContinue");
 }
 
@@ -1544,7 +2172,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_ALPHA;
 
-    return is_utf8_common(p, &PL_utf8_alpha, "IsAlpha");
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_ALPHA], "IsAlpha");
 }
 
 bool
@@ -1554,10 +2182,22 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_ASCII;
 
-    return is_utf8_common(p, &PL_utf8_ascii, "IsAscii");
+    /* ASCII characters are the same whether in utf8 or not.  So the macro
+     * works on both utf8 and non-utf8 representations. */
+    return isASCII(*p);
 }
 
 bool
+Perl_is_utf8_blank(pTHX_ const U8 *p)
+{
+    dVAR;
+
+    PERL_ARGS_ASSERT_IS_UTF8_BLANK;
+
+    return isBLANK_utf8(p);
+}
+
+bool
 Perl_is_utf8_space(pTHX_ const U8 *p)
 {
     dVAR;
@@ -1564,7 +2204,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_SPACE;
 
-    return is_utf8_common(p, &PL_utf8_space, "IsSpacePerl");
+    return isSPACE_utf8(p);
 }
 
 bool
@@ -1574,7 +2214,9 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_PERL_SPACE;
 
-    return is_utf8_common(p, &PL_utf8_perl_space, "IsPerlSpace");
+    /* Only true if is an ASCII space-like character, and ASCII is invariant
+     * under utf8, so can just use the macro */
+    return isSPACE_A(*p);
 }
 
 bool
@@ -1584,7 +2226,9 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_PERL_WORD;
 
-    return is_utf8_common(p, &PL_utf8_perl_word, "IsPerlWord");
+    /* Only true if is an ASCII word character, and ASCII is invariant
+     * under utf8, so can just use the macro */
+    return isWORDCHAR_A(*p);
 }
 
 bool
@@ -1594,7 +2238,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_DIGIT;
 
-    return is_utf8_common(p, &PL_utf8_digit, "IsDigit");
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_DIGIT], "IsDigit");
 }
 
 bool
@@ -1604,7 +2248,9 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_POSIX_DIGIT;
 
-    return is_utf8_common(p, &PL_utf8_posix_digit, "IsPosixDigit");
+    /* Only true if is an ASCII digit character, and ASCII is invariant
+     * under utf8, so can just use the macro */
+    return isDIGIT_A(*p);
 }
 
 bool
@@ -1614,7 +2260,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_UPPER;
 
-    return is_utf8_common(p, &PL_utf8_upper, "IsUppercase");
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_UPPER], "IsUppercase");
 }
 
 bool
@@ -1624,7 +2270,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_LOWER;
 
-    return is_utf8_common(p, &PL_utf8_lower, "IsLowercase");
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_LOWER], "IsLowercase");
 }
 
 bool
@@ -1634,7 +2280,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_CNTRL;
 
-    return is_utf8_common(p, &PL_utf8_cntrl, "IsCntrl");
+    return isCNTRL_utf8(p);
 }
 
 bool
@@ -1644,7 +2290,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_GRAPH;
 
-    return is_utf8_common(p, &PL_utf8_graph, "IsGraph");
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_GRAPH], "IsGraph");
 }
 
 bool
@@ -1654,7 +2300,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_PRINT;
 
-    return is_utf8_common(p, &PL_utf8_print, "IsPrint");
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_PRINT], "IsPrint");
 }
 
 bool
@@ -1664,7 +2310,7 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_PUNCT;
 
-    return is_utf8_common(p, &PL_utf8_punct, "IsPunct");
+    return is_utf8_common(p, &PL_utf8_swash_ptrs[_CC_PUNCT], "IsPunct");
 }
 
 bool
@@ -1674,140 +2320,52 @@
 
     PERL_ARGS_ASSERT_IS_UTF8_XDIGIT;
 
-    return is_utf8_common(p, &PL_utf8_xdigit, "IsXDigit");
+    return is_XDIGIT_utf8(p);
 }
 
 bool
-Perl_is_utf8_mark(pTHX_ const U8 *p)
+Perl__is_utf8_mark(pTHX_ const U8 *p)
 {
     dVAR;
 
-    PERL_ARGS_ASSERT_IS_UTF8_MARK;
+    PERL_ARGS_ASSERT__IS_UTF8_MARK;
 
     return is_utf8_common(p, &PL_utf8_mark, "IsM");
 }
 
-bool
-Perl_is_utf8_X_begin(pTHX_ const U8 *p)
-{
-    dVAR;
 
-    PERL_ARGS_ASSERT_IS_UTF8_X_BEGIN;
-
-    return is_utf8_common(p, &PL_utf8_X_begin, "_X_Begin");
-}
-
 bool
-Perl_is_utf8_X_extend(pTHX_ const U8 *p)
+Perl_is_utf8_mark(pTHX_ const U8 *p)
 {
     dVAR;
 
-    PERL_ARGS_ASSERT_IS_UTF8_X_EXTEND;
+    PERL_ARGS_ASSERT_IS_UTF8_MARK;
 
-    return is_utf8_common(p, &PL_utf8_X_extend, "_X_Extend");
+    return _is_utf8_mark(p);
 }
 
-bool
-Perl_is_utf8_X_prepend(pTHX_ const U8 *p)
-{
-    dVAR;
-
-    PERL_ARGS_ASSERT_IS_UTF8_X_PREPEND;
-
-    return is_utf8_common(p, &PL_utf8_X_prepend, "GCB=Prepend");
-}
-
-bool
-Perl_is_utf8_X_non_hangul(pTHX_ const U8 *p)
-{
-    dVAR;
-
-    PERL_ARGS_ASSERT_IS_UTF8_X_NON_HANGUL;
-
-    return is_utf8_common(p, &PL_utf8_X_non_hangul, "HST=Not_Applicable");
-}
-
-bool
-Perl_is_utf8_X_L(pTHX_ const U8 *p)
-{
-    dVAR;
-
-    PERL_ARGS_ASSERT_IS_UTF8_X_L;
-
-    return is_utf8_common(p, &PL_utf8_X_L, "GCB=L");
-}
-
-bool
-Perl_is_utf8_X_LV(pTHX_ const U8 *p)
-{
-    dVAR;
-
-    PERL_ARGS_ASSERT_IS_UTF8_X_LV;
-
-    return is_utf8_common(p, &PL_utf8_X_LV, "GCB=LV");
-}
-
-bool
-Perl_is_utf8_X_LVT(pTHX_ const U8 *p)
-{
-    dVAR;
-
-    PERL_ARGS_ASSERT_IS_UTF8_X_LVT;
-
-    return is_utf8_common(p, &PL_utf8_X_LVT, "GCB=LVT");
-}
-
-bool
-Perl_is_utf8_X_T(pTHX_ const U8 *p)
-{
-    dVAR;
-
-    PERL_ARGS_ASSERT_IS_UTF8_X_T;
-
-    return is_utf8_common(p, &PL_utf8_X_T, "GCB=T");
-}
-
-bool
-Perl_is_utf8_X_V(pTHX_ const U8 *p)
-{
-    dVAR;
-
-    PERL_ARGS_ASSERT_IS_UTF8_X_V;
-
-    return is_utf8_common(p, &PL_utf8_X_V, "GCB=V");
-}
-
-bool
-Perl_is_utf8_X_LV_LVT_V(pTHX_ const U8 *p)
-{
-    dVAR;
-
-    PERL_ARGS_ASSERT_IS_UTF8_X_LV_LVT_V;
-
-    return is_utf8_common(p, &PL_utf8_X_LV_LVT_V, "_X_LV_LVT_V");
-}
-
 /*
 =for apidoc to_utf8_case
 
-The "p" contains the pointer to the UTF-8 string encoding
-the character that is being converted.
+The C<p> contains the pointer to the UTF-8 string encoding
+the character that is being converted.  This routine assumes that the character
+at C<p> is well-formed.
 
-The "ustrp" is a pointer to the character buffer to put the
-conversion result to.  The "lenp" is a pointer to the length
+The C<ustrp> is a pointer to the character buffer to put the
+conversion result to.  The C<lenp> is a pointer to the length
 of the result.
 
-The "swashp" is a pointer to the swash to use.
+The C<swashp> is a pointer to the swash to use.
 
-Both the special and normal mappings are stored in lib/unicore/To/Foo.pl,
-and loaded by SWASHNEW, using lib/utf8_heavy.pl.  The special (usually,
+Both the special and normal mappings are stored in F<lib/unicore/To/Foo.pl>,
+and loaded by SWASHNEW, using F<lib/utf8_heavy.pl>.  The C<special> (usually,
 but not always, a multicharacter mapping), is tried first.
 
-The "special" is a string like "utf8::ToSpecLower", which means the
+The C<special> is a string like "utf8::ToSpecLower", which means the
 hash %utf8::ToSpecLower.  The access to the hash is through
 Perl_to_utf8_case().
 
-The "normal" is a string like "ToLower" which means the swash
+The C<normal> is a string like "ToLower" which means the swash
 %utf8::ToLower.
 
 =cut */
@@ -1819,7 +2377,7 @@
     dVAR;
     U8 tmpbuf[UTF8_MAXBYTES_CASE+1];
     STRLEN len = 0;
-    const UV uv0 = utf8_to_uvchr(p, NULL);
+    const UV uv0 = valid_utf8_to_uvchr(p, NULL);
     /* The NATIVE_TO_UNI() and UNI_TO_NATIVE() mappings
      * are necessary in EBCDIC, they are redundant no-ops
      * in ASCII-ish platforms, and hopefully optimized away. */
@@ -1852,24 +2410,8 @@
     uvuni_to_utf8(tmpbuf, uv1);
 
     if (!*swashp) /* load on-demand */
-         *swashp = swash_init("utf8", normal, &PL_sv_undef, 4, 0);
-    /* This is the beginnings of a skeleton of code to read the info section
-     * that is in all the swashes in case we ever want to do that, so one can
-     * read things whose maps aren't code points, and whose default if missing
-     * is not to the code point itself.  This was just to see if it actually
-     * worked.  Details on what the possibilities are are in perluniprops.pod
-	HV * const hv = get_hv("utf8::SwashInfo", 0);
-	if (hv) {
-	 SV **svp;
-	 svp = hv_fetch(hv, (const char*)normal, strlen(normal), FALSE);
-	     const char *s;
+         *swashp = _core_swash_init("utf8", normal, &PL_sv_undef, 4, 0, NULL, NULL);
 
-	      HV * const this_hash = SvRV(*svp);
-		svp = hv_fetch(this_hash, "type", strlen("type"), FALSE);
-	      s = SvPV_const(*svp, len);
-	}
-    }*/
-
     if (special) {
          /* It might be "special" (sometimes, but not always,
 	  * a multicharacter mapping) */
@@ -1896,7 +2438,7 @@
 			STRLEN tlen = 0;
 			
 			while (t < tend) {
-			     const UV c = utf8_to_uvchr(t, &tlen);
+			     const UV c = utf8_to_uvchr_buf(t, tend, &tlen);
 			     if (tlen > 0) {
 				  d = uvchr_to_utf8(d, UNI_TO_NATIVE(c));
 				  t += tlen;
@@ -1921,7 +2463,7 @@
     }
 
     if (!len && *swashp) {
-	const UV uv2 = swash_fetch(*swashp, tmpbuf, TRUE);
+	const UV uv2 = swash_fetch(*swashp, tmpbuf, TRUE /* => is utf8 */);
 
 	 if (uv2) {
 	      /* It was "normal" (a single character mapping). */
@@ -1930,21 +2472,80 @@
 	 }
     }
 
-    if (!len) /* Neither: just copy.  In other words, there was no mapping
-		 defined, which means that the code point maps to itself */
-	 len = uvchr_to_utf8(ustrp, uv0) - ustrp;
+    if (len) {
+        if (lenp) {
+            *lenp = len;
+        }
+        return valid_utf8_to_uvchr(ustrp, 0);
+    }
 
+    /* Here, there was no mapping defined, which means that the code point maps
+     * to itself.  Return the inputs */
+    len = UTF8SKIP(p);
+    if (p != ustrp) {   /* Don't copy onto itself */
+        Copy(p, ustrp, len, U8);
+    }
+
     if (lenp)
 	 *lenp = len;
 
-    return len ? utf8_to_uvchr(ustrp, 0) : 0;
+    return uv0;
+
 }
 
+STATIC UV
+S_check_locale_boundary_crossing(pTHX_ const U8* const p, const UV result, U8* const ustrp, STRLEN *lenp)
+{
+    /* This is called when changing the case of a utf8-encoded character above
+     * the Latin1 range, and the operation is in locale.  If the result
+     * contains a character that crosses the 255/256 boundary, disallow the
+     * change, and return the original code point.  See L<perlfunc/lc> for why;
+     *
+     * p	points to the original string whose case was changed; assumed
+     *          by this routine to be well-formed
+     * result	the code point of the first character in the changed-case string
+     * ustrp	points to the changed-case string (<result> represents its first char)
+     * lenp	points to the length of <ustrp> */
+
+    UV original;    /* To store the first code point of <p> */
+
+    PERL_ARGS_ASSERT_CHECK_LOCALE_BOUNDARY_CROSSING;
+
+    assert(! UTF8_IS_INVARIANT(*p) && ! UTF8_IS_DOWNGRADEABLE_START(*p));
+
+    /* We know immediately if the first character in the string crosses the
+     * boundary, so can skip */
+    if (result > 255) {
+
+	/* Look at every character in the result; if any cross the
+	* boundary, the whole thing is disallowed */
+	U8* s = ustrp + UTF8SKIP(ustrp);
+	U8* e = ustrp + *lenp;
+	while (s < e) {
+	    if (UTF8_IS_INVARIANT(*s) || UTF8_IS_DOWNGRADEABLE_START(*s))
+	    {
+		goto bad_crossing;
+	    }
+	    s += UTF8SKIP(s);
+	}
+
+	/* Here, no characters crossed, result is ok as-is */
+	return result;
+    }
+
+bad_crossing:
+
+    /* Failed, have to return the original */
+    original = valid_utf8_to_uvchr(p, lenp);
+    Copy(p, ustrp, *lenp, char);
+    return original;
+}
+
 /*
 =for apidoc to_utf8_upper
 
-Convert the UTF-8 encoded character at p to its uppercase version and
-store that in UTF-8 in ustrp and its length in bytes in lenp.  Note
+Convert the UTF-8 encoded character at C<p> to its uppercase version and
+store that in UTF-8 in C<ustrp> and its length in bytes in C<lenp>.  Note
 that the ustrp needs to be at least UTF8_MAXBYTES_CASE+1 bytes since
 the uppercase version may be longer than the original character.
 
@@ -1951,73 +2552,220 @@
 The first character of the uppercased version is returned
 (but note, as explained above, that there may be more.)
 
+The character at C<p> is assumed by this routine to be well-formed.
+
 =cut */
 
+/* Not currently externally documented, and subject to change:
+ * <flags> is set iff locale semantics are to be used for code points < 256
+ * <tainted_ptr> if non-null, *tainted_ptr will be set TRUE iff locale rules
+ *		 were used in the calculation; otherwise unchanged. */
+
 UV
-Perl_to_utf8_upper(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+Perl__to_utf8_upper_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
 {
     dVAR;
 
-    PERL_ARGS_ASSERT_TO_UTF8_UPPER;
+    UV result;
 
-    return Perl_to_utf8_case(aTHX_ p, ustrp, lenp,
-                             &PL_utf8_toupper, "ToUpper", "utf8::ToSpecUpper");
+    PERL_ARGS_ASSERT__TO_UTF8_UPPER_FLAGS;
+
+    if (UTF8_IS_INVARIANT(*p)) {
+	if (flags) {
+	    result = toUPPER_LC(*p);
+	}
+	else {
+	    return _to_upper_title_latin1(*p, ustrp, lenp, 'S');
+	}
+    }
+    else if UTF8_IS_DOWNGRADEABLE_START(*p) {
+	if (flags) {
+	    result = toUPPER_LC(TWO_BYTE_UTF8_TO_UNI(*p, *(p+1)));
+	}
+	else {
+	    return _to_upper_title_latin1(TWO_BYTE_UTF8_TO_UNI(*p, *(p+1)),
+				          ustrp, lenp, 'S');
+	}
+    }
+    else {  /* utf8, ord above 255 */
+	result = CALL_UPPER_CASE(p, ustrp, lenp);
+
+	if (flags) {
+	    result = check_locale_boundary_crossing(p, result, ustrp, lenp);
+	}
+	return result;
+    }
+
+    /* Here, used locale rules.  Convert back to utf8 */
+    if (UTF8_IS_INVARIANT(result)) {
+	*ustrp = (U8) result;
+	*lenp = 1;
+    }
+    else {
+	*ustrp = UTF8_EIGHT_BIT_HI(result);
+	*(ustrp + 1) = UTF8_EIGHT_BIT_LO(result);
+	*lenp = 2;
+    }
+
+    if (tainted_ptr) {
+	*tainted_ptr = TRUE;
+    }
+    return result;
 }
 
 /*
 =for apidoc to_utf8_title
 
-Convert the UTF-8 encoded character at p to its titlecase version and
-store that in UTF-8 in ustrp and its length in bytes in lenp.  Note
-that the ustrp needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
+Convert the UTF-8 encoded character at C<p> to its titlecase version and
+store that in UTF-8 in C<ustrp> and its length in bytes in C<lenp>.  Note
+that the C<ustrp> needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
 titlecase version may be longer than the original character.
 
 The first character of the titlecased version is returned
 (but note, as explained above, that there may be more.)
 
+The character at C<p> is assumed by this routine to be well-formed.
+
 =cut */
 
+/* Not currently externally documented, and subject to change:
+ * <flags> is set iff locale semantics are to be used for code points < 256
+ *	   Since titlecase is not defined in POSIX, uppercase is used instead
+ *	   for these/
+ * <tainted_ptr> if non-null, *tainted_ptr will be set TRUE iff locale rules
+ *		 were used in the calculation; otherwise unchanged. */
+
 UV
-Perl_to_utf8_title(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+Perl__to_utf8_title_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
 {
     dVAR;
 
-    PERL_ARGS_ASSERT_TO_UTF8_TITLE;
+    UV result;
 
-    return Perl_to_utf8_case(aTHX_ p, ustrp, lenp,
-                             &PL_utf8_totitle, "ToTitle", "utf8::ToSpecTitle");
+    PERL_ARGS_ASSERT__TO_UTF8_TITLE_FLAGS;
+
+    if (UTF8_IS_INVARIANT(*p)) {
+	if (flags) {
+	    result = toUPPER_LC(*p);
+	}
+	else {
+	    return _to_upper_title_latin1(*p, ustrp, lenp, 's');
+	}
+    }
+    else if UTF8_IS_DOWNGRADEABLE_START(*p) {
+	if (flags) {
+	    result = toUPPER_LC(TWO_BYTE_UTF8_TO_UNI(*p, *(p+1)));
+	}
+	else {
+	    return _to_upper_title_latin1(TWO_BYTE_UTF8_TO_UNI(*p, *(p+1)),
+				          ustrp, lenp, 's');
+	}
+    }
+    else {  /* utf8, ord above 255 */
+	result = CALL_TITLE_CASE(p, ustrp, lenp);
+
+	if (flags) {
+	    result = check_locale_boundary_crossing(p, result, ustrp, lenp);
+	}
+	return result;
+    }
+
+    /* Here, used locale rules.  Convert back to utf8 */
+    if (UTF8_IS_INVARIANT(result)) {
+	*ustrp = (U8) result;
+	*lenp = 1;
+    }
+    else {
+	*ustrp = UTF8_EIGHT_BIT_HI(result);
+	*(ustrp + 1) = UTF8_EIGHT_BIT_LO(result);
+	*lenp = 2;
+    }
+
+    if (tainted_ptr) {
+	*tainted_ptr = TRUE;
+    }
+    return result;
 }
 
 /*
 =for apidoc to_utf8_lower
 
-Convert the UTF-8 encoded character at p to its lowercase version and
-store that in UTF-8 in ustrp and its length in bytes in lenp.  Note
-that the ustrp needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
+Convert the UTF-8 encoded character at C<p> to its lowercase version and
+store that in UTF-8 in ustrp and its length in bytes in C<lenp>.  Note
+that the C<ustrp> needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
 lowercase version may be longer than the original character.
 
 The first character of the lowercased version is returned
 (but note, as explained above, that there may be more.)
 
+The character at C<p> is assumed by this routine to be well-formed.
+
 =cut */
 
+/* Not currently externally documented, and subject to change:
+ * <flags> is set iff locale semantics are to be used for code points < 256
+ * <tainted_ptr> if non-null, *tainted_ptr will be set TRUE iff locale rules
+ *		 were used in the calculation; otherwise unchanged. */
+
 UV
-Perl_to_utf8_lower(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp)
+Perl__to_utf8_lower_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, const bool flags, bool* tainted_ptr)
 {
+    UV result;
+
     dVAR;
 
-    PERL_ARGS_ASSERT_TO_UTF8_LOWER;
+    PERL_ARGS_ASSERT__TO_UTF8_LOWER_FLAGS;
 
-    return Perl_to_utf8_case(aTHX_ p, ustrp, lenp,
-                             &PL_utf8_tolower, "ToLower", "utf8::ToSpecLower");
+    if (UTF8_IS_INVARIANT(*p)) {
+	if (flags) {
+	    result = toLOWER_LC(*p);
+	}
+	else {
+	    return to_lower_latin1(*p, ustrp, lenp);
+	}
+    }
+    else if UTF8_IS_DOWNGRADEABLE_START(*p) {
+	if (flags) {
+	    result = toLOWER_LC(TWO_BYTE_UTF8_TO_UNI(*p, *(p+1)));
+	}
+	else {
+	    return to_lower_latin1(TWO_BYTE_UTF8_TO_UNI(*p, *(p+1)),
+		                   ustrp, lenp);
+	}
+    }
+    else {  /* utf8, ord above 255 */
+	result = CALL_LOWER_CASE(p, ustrp, lenp);
+
+	if (flags) {
+	    result = check_locale_boundary_crossing(p, result, ustrp, lenp);
+	}
+
+	return result;
+    }
+
+    /* Here, used locale rules.  Convert back to utf8 */
+    if (UTF8_IS_INVARIANT(result)) {
+	*ustrp = (U8) result;
+	*lenp = 1;
+    }
+    else {
+	*ustrp = UTF8_EIGHT_BIT_HI(result);
+	*(ustrp + 1) = UTF8_EIGHT_BIT_LO(result);
+	*lenp = 2;
+    }
+
+    if (tainted_ptr) {
+	*tainted_ptr = TRUE;
+    }
+    return result;
 }
 
 /*
 =for apidoc to_utf8_fold
 
-Convert the UTF-8 encoded character at p to its foldcase version and
-store that in UTF-8 in ustrp and its length in bytes in lenp.  Note
-that the ustrp needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
+Convert the UTF-8 encoded character at C<p> to its foldcase version and
+store that in UTF-8 in C<ustrp> and its length in bytes in C<lenp>.  Note
+that the C<ustrp> needs to be at least UTF8_MAXBYTES_CASE+1 bytes since the
 foldcase version may be longer than the original character (up to
 three characters).
 
@@ -2024,97 +2772,376 @@
 The first character of the foldcased version is returned
 (but note, as explained above, that there may be more.)
 
+The character at C<p> is assumed by this routine to be well-formed.
+
 =cut */
 
-/* Not currently externally documented is 'flags', which currently is non-zero
- * if full case folds are to be used; otherwise simple folds */
+/* Not currently externally documented, and subject to change,
+ * in <flags>
+ *	bit FOLD_FLAGS_LOCALE is set iff locale semantics are to be used for code
+ *			      points < 256.  Since foldcase is not defined in
+ *			      POSIX, lowercase is used instead
+ *      bit FOLD_FLAGS_FULL   is set iff full case folds are to be used;
+ *			      otherwise simple folds
+ *      bit FOLD_FLAGS_NOMIX_ASCII is set iff folds of non-ASCII to ASCII are
+ *			      prohibited
+ * <tainted_ptr> if non-null, *tainted_ptr will be set TRUE iff locale rules
+ *		 were used in the calculation; otherwise unchanged. */
 
 UV
-Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags)
+Perl__to_utf8_fold_flags(pTHX_ const U8 *p, U8* ustrp, STRLEN *lenp, U8 flags, bool* tainted_ptr)
 {
-    const char *specials = (flags) ? "utf8::ToSpecFold" : NULL;
-
     dVAR;
 
+    UV result;
+
     PERL_ARGS_ASSERT__TO_UTF8_FOLD_FLAGS;
 
-    return Perl_to_utf8_case(aTHX_ p, ustrp, lenp,
-                             &PL_utf8_tofold, "ToFold", specials);
+    /* These are mutually exclusive */
+    assert (! ((flags & FOLD_FLAGS_LOCALE) && (flags & FOLD_FLAGS_NOMIX_ASCII)));
+
+    assert(p != ustrp); /* Otherwise overwrites */
+
+    if (UTF8_IS_INVARIANT(*p)) {
+	if (flags & FOLD_FLAGS_LOCALE) {
+	    result = toLOWER_LC(*p);
+	}
+	else {
+	    return _to_fold_latin1(*p, ustrp, lenp,
+		                   cBOOL(flags & FOLD_FLAGS_FULL));
+	}
+    }
+    else if UTF8_IS_DOWNGRADEABLE_START(*p) {
+	if (flags & FOLD_FLAGS_LOCALE) {
+	    result = toLOWER_LC(TWO_BYTE_UTF8_TO_UNI(*p, *(p+1)));
+	}
+	else {
+	    return _to_fold_latin1(TWO_BYTE_UTF8_TO_UNI(*p, *(p+1)),
+		                   ustrp, lenp,
+				   cBOOL((flags & FOLD_FLAGS_FULL
+				       /* If ASCII safe, don't allow full
+					* folding, as that could include SHARP
+					* S => ss; otherwise there is no
+					* crossing of ascii/non-ascii in the
+					* latin1 range */
+				       && ! (flags & FOLD_FLAGS_NOMIX_ASCII))));
+	}
+    }
+    else {  /* utf8, ord above 255 */
+	result = CALL_FOLD_CASE(p, ustrp, lenp, flags & FOLD_FLAGS_FULL);
+
+	if ((flags & FOLD_FLAGS_LOCALE)) {
+	    return check_locale_boundary_crossing(p, result, ustrp, lenp);
+	}
+	else if (! (flags & FOLD_FLAGS_NOMIX_ASCII)) {
+	    return result;
+	}
+	else {
+	    /* This is called when changing the case of a utf8-encoded
+	     * character above the Latin1 range, and the result should not
+	     * contain an ASCII character. */
+
+	    UV original;    /* To store the first code point of <p> */
+
+	    /* Look at every character in the result; if any cross the
+	    * boundary, the whole thing is disallowed */
+	    U8* s = ustrp;
+	    U8* e = ustrp + *lenp;
+	    while (s < e) {
+		if (isASCII(*s)) {
+		    /* Crossed, have to return the original */
+		    original = valid_utf8_to_uvchr(p, lenp);
+		    Copy(p, ustrp, *lenp, char);
+		    return original;
+		}
+		s += UTF8SKIP(s);
+	    }
+
+	    /* Here, no characters crossed, result is ok as-is */
+	    return result;
+	}
+    }
+
+    /* Here, used locale rules.  Convert back to utf8 */
+    if (UTF8_IS_INVARIANT(result)) {
+	*ustrp = (U8) result;
+	*lenp = 1;
+    }
+    else {
+	*ustrp = UTF8_EIGHT_BIT_HI(result);
+	*(ustrp + 1) = UTF8_EIGHT_BIT_LO(result);
+	*lenp = 2;
+    }
+
+    if (tainted_ptr) {
+	*tainted_ptr = TRUE;
+    }
+    return result;
 }
 
 /* Note:
- * A "swash" is a swatch hash.
- * A "swatch" is a bit vector generated by utf8.c:S_swash_get().
+ * Returns a "swash" which is a hash described in utf8.c:Perl_swash_fetch().
  * C<pkg> is a pointer to a package name for SWASHNEW, should be "utf8".
  * For other parameters, see utf8::SWASHNEW in lib/utf8_heavy.pl.
  */
+
 SV*
 Perl_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv, I32 minbits, I32 none)
 {
+    PERL_ARGS_ASSERT_SWASH_INIT;
+
+    /* Returns a copy of a swash initiated by the called function.  This is the
+     * public interface, and returning a copy prevents others from doing
+     * mischief on the original */
+
+    return newSVsv(_core_swash_init(pkg, name, listsv, minbits, none, NULL, NULL));
+}
+
+SV*
+Perl__core_swash_init(pTHX_ const char* pkg, const char* name, SV *listsv, I32 minbits, I32 none, SV* invlist, U8* const flags_p)
+{
+    /* Initialize and return a swash, creating it if necessary.  It does this
+     * by calling utf8_heavy.pl in the general case.  The returned value may be
+     * the swash's inversion list instead if the input parameters allow it.
+     * Which is returned should be immaterial to callers, as the only
+     * operations permitted on a swash, swash_fetch(), _get_swash_invlist(),
+     * and swash_to_invlist() handle both these transparently.
+     *
+     * This interface should only be used by functions that won't destroy or
+     * adversely change the swash, as doing so affects all other uses of the
+     * swash in the program; the general public should use 'Perl_swash_init'
+     * instead.
+     *
+     * pkg  is the name of the package that <name> should be in.
+     * name is the name of the swash to find.  Typically it is a Unicode
+     *	    property name, including user-defined ones
+     * listsv is a string to initialize the swash with.  It must be of the form
+     *	    documented as the subroutine return value in
+     *	    L<perlunicode/User-Defined Character Properties>
+     * minbits is the number of bits required to represent each data element.
+     *	    It is '1' for binary properties.
+     * none I (khw) do not understand this one, but it is used only in tr///.
+     * invlist is an inversion list to initialize the swash with (or NULL)
+     * flags_p if non-NULL is the address of various input and output flag bits
+     *      to the routine, as follows:  ('I' means is input to the routine;
+     *      'O' means output from the routine.  Only flags marked O are
+     *      meaningful on return.)
+     *  _CORE_SWASH_INIT_USER_DEFINED_PROPERTY indicates if the swash
+     *      came from a user-defined property.  (I O)
+     *  _CORE_SWASH_INIT_RETURN_IF_UNDEF indicates that instead of croaking
+     *      when the swash cannot be located, to simply return NULL. (I)
+     *  _CORE_SWASH_INIT_ACCEPT_INVLIST indicates that the caller will accept a
+     *      return of an inversion list instead of a swash hash if this routine
+     *      thinks that would result in faster execution of swash_fetch() later
+     *      on. (I)
+     *
+     * Thus there are three possible inputs to find the swash: <name>,
+     * <listsv>, and <invlist>.  At least one must be specified.  The result
+     * will be the union of the specified ones, although <listsv>'s various
+     * actions can intersect, etc. what <name> gives.
+     *
+     * <invlist> is only valid for binary properties */
+
     dVAR;
-    SV* retval;
-    dSP;
-    const size_t pkg_len = strlen(pkg);
-    const size_t name_len = strlen(name);
-    HV * const stash = gv_stashpvn(pkg, pkg_len, 0);
-    SV* errsv_save;
-    GV *method;
+    SV* retval = &PL_sv_undef;
+    HV* swash_hv = NULL;
+    const int invlist_swash_boundary =
+        (flags_p && *flags_p & _CORE_SWASH_INIT_ACCEPT_INVLIST)
+        ? 512    /* Based on some benchmarking, but not extensive, see commit
+                    message */
+        : -1;   /* Never return just an inversion list */
 
-    PERL_ARGS_ASSERT_SWASH_INIT;
+    assert(listsv != &PL_sv_undef || strNE(name, "") || invlist);
+    assert(! invlist || minbits == 1);
 
-    PUSHSTACKi(PERLSI_MAGIC);
-    ENTER;
-    SAVEHINTS();
-    save_re_context();
-    method = gv_fetchmeth(stash, "SWASHNEW", 8, -1);
-    if (!method) {	/* demand load utf8 */
+    /* If data was passed in to go out to utf8_heavy to find the swash of, do
+     * so */
+    if (listsv != &PL_sv_undef || strNE(name, "")) {
+	dSP;
+	const size_t pkg_len = strlen(pkg);
+	const size_t name_len = strlen(name);
+	HV * const stash = gv_stashpvn(pkg, pkg_len, 0);
+	SV* errsv_save;
+	GV *method;
+
+	PERL_ARGS_ASSERT__CORE_SWASH_INIT;
+
+	PUSHSTACKi(PERLSI_MAGIC);
 	ENTER;
-	errsv_save = newSVsv(ERRSV);
-	/* It is assumed that callers of this routine are not passing in any
-	   user derived data.  */
-	/* Need to do this after save_re_context() as it will set PL_tainted to
-	   1 while saving $1 etc (see the code after getrx: in Perl_magic_get).
-	   Even line to create errsv_save can turn on PL_tainted.  */
-	SAVEBOOL(PL_tainted);
-	PL_tainted = 0;
-	Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT, newSVpvn(pkg,pkg_len),
-			 NULL);
-	if (!SvTRUE(ERRSV))
-	    sv_setsv(ERRSV, errsv_save);
-	SvREFCNT_dec(errsv_save);
+	SAVEHINTS();
+	save_re_context();
+	/* We might get here via a subroutine signature which uses a utf8
+	 * parameter name, at which point PL_subname will have been set
+	 * but not yet used. */
+	save_item(PL_subname);
+	if (PL_parser && PL_parser->error_count)
+	    SAVEI8(PL_parser->error_count), PL_parser->error_count = 0;
+	method = gv_fetchmeth(stash, "SWASHNEW", 8, -1);
+	if (!method) {	/* demand load utf8 */
+	    ENTER;
+	    if ((errsv_save = GvSV(PL_errgv))) SAVEFREESV(errsv_save);
+	    GvSV(PL_errgv) = NULL;
+	    /* It is assumed that callers of this routine are not passing in
+	     * any user derived data.  */
+	    /* Need to do this after save_re_context() as it will set
+	     * PL_tainted to 1 while saving $1 etc (see the code after getrx:
+	     * in Perl_magic_get).  Even line to create errsv_save can turn on
+	     * PL_tainted.  */
+#ifndef NO_TAINT_SUPPORT
+	    SAVEBOOL(TAINT_get);
+	    TAINT_NOT;
+#endif
+	    Perl_load_module(aTHX_ PERL_LOADMOD_NOIMPORT, newSVpvn(pkg,pkg_len),
+			     NULL);
+	    {
+		/* Not ERRSV, as there is no need to vivify a scalar we are
+		   about to discard. */
+		SV * const errsv = GvSV(PL_errgv);
+		if (!SvTRUE(errsv)) {
+		    GvSV(PL_errgv) = SvREFCNT_inc_simple(errsv_save);
+		    SvREFCNT_dec(errsv);
+		}
+	    }
+	    LEAVE;
+	}
+	SPAGAIN;
+	PUSHMARK(SP);
+	EXTEND(SP,5);
+	mPUSHp(pkg, pkg_len);
+	mPUSHp(name, name_len);
+	PUSHs(listsv);
+	mPUSHi(minbits);
+	mPUSHi(none);
+	PUTBACK;
+	if ((errsv_save = GvSV(PL_errgv))) SAVEFREESV(errsv_save);
+	GvSV(PL_errgv) = NULL;
+	/* If we already have a pointer to the method, no need to use
+	 * call_method() to repeat the lookup.  */
+	if (method
+            ? call_sv(MUTABLE_SV(method), G_SCALAR)
+	    : call_sv(newSVpvs_flags("SWASHNEW", SVs_TEMP), G_SCALAR | G_METHOD))
+	{
+	    retval = *PL_stack_sp--;
+	    SvREFCNT_inc(retval);
+	}
+	{
+	    /* Not ERRSV.  See above. */
+	    SV * const errsv = GvSV(PL_errgv);
+	    if (!SvTRUE(errsv)) {
+		GvSV(PL_errgv) = SvREFCNT_inc_simple(errsv_save);
+		SvREFCNT_dec(errsv);
+	    }
+	}
 	LEAVE;
+	POPSTACK;
+	if (IN_PERL_COMPILETIME) {
+	    CopHINTS_set(PL_curcop, PL_hints);
+	}
+	if (!SvROK(retval) || SvTYPE(SvRV(retval)) != SVt_PVHV) {
+	    if (SvPOK(retval))
+
+		/* If caller wants to handle missing properties, let them */
+		if (flags_p && *flags_p & _CORE_SWASH_INIT_RETURN_IF_UNDEF) {
+		    return NULL;
+		}
+		Perl_croak(aTHX_
+			   "Can't find Unicode property definition \"%"SVf"\"",
+			   SVfARG(retval));
+	    Perl_croak(aTHX_ "SWASHNEW didn't return an HV ref");
+	}
+    } /* End of calling the module to find the swash */
+
+    /* If this operation fetched a swash, and we will need it later, get it */
+    if (retval != &PL_sv_undef
+        && (minbits == 1 || (flags_p
+                            && ! (*flags_p
+                                  & _CORE_SWASH_INIT_USER_DEFINED_PROPERTY))))
+    {
+        swash_hv = MUTABLE_HV(SvRV(retval));
+
+        /* If we don't already know that there is a user-defined component to
+         * this swash, and the user has indicated they wish to know if there is
+         * one (by passing <flags_p>), find out */
+        if (flags_p && ! (*flags_p & _CORE_SWASH_INIT_USER_DEFINED_PROPERTY)) {
+            SV** user_defined = hv_fetchs(swash_hv, "USER_DEFINED", FALSE);
+            if (user_defined && SvUV(*user_defined)) {
+                *flags_p |= _CORE_SWASH_INIT_USER_DEFINED_PROPERTY;
+            }
+        }
     }
-    SPAGAIN;
-    PUSHMARK(SP);
-    EXTEND(SP,5);
-    mPUSHp(pkg, pkg_len);
-    mPUSHp(name, name_len);
-    PUSHs(listsv);
-    mPUSHi(minbits);
-    mPUSHi(none);
-    PUTBACK;
-    errsv_save = newSVsv(ERRSV);
-    /* If we already have a pointer to the method, no need to use call_method()
-       to repeat the lookup.  */
-    if (method ? call_sv(MUTABLE_SV(method), G_SCALAR)
-	: call_sv(newSVpvs_flags("SWASHNEW", SVs_TEMP), G_SCALAR | G_METHOD))
-	retval = newSVsv(*PL_stack_sp--);
-    else
-	retval = &PL_sv_undef;
-    if (!SvTRUE(ERRSV))
-	sv_setsv(ERRSV, errsv_save);
-    SvREFCNT_dec(errsv_save);
-    LEAVE;
-    POPSTACK;
-    if (IN_PERL_COMPILETIME) {
-	CopHINTS_set(PL_curcop, PL_hints);
+
+    /* Make sure there is an inversion list for binary properties */
+    if (minbits == 1) {
+	SV** swash_invlistsvp = NULL;
+	SV* swash_invlist = NULL;
+	bool invlist_in_swash_is_valid = FALSE;
+	bool swash_invlist_unclaimed = FALSE; /* whether swash_invlist has
+					    an unclaimed reference count */
+
+        /* If this operation fetched a swash, get its already existing
+         * inversion list, or create one for it */
+
+        if (swash_hv) {
+	    swash_invlistsvp = hv_fetchs(swash_hv, "V", FALSE);
+	    if (swash_invlistsvp) {
+		swash_invlist = *swash_invlistsvp;
+		invlist_in_swash_is_valid = TRUE;
+	    }
+	    else {
+		swash_invlist = _swash_to_invlist(retval);
+		swash_invlist_unclaimed = TRUE;
+	    }
+	}
+
+	/* If an inversion list was passed in, have to include it */
+	if (invlist) {
+
+            /* Any fetched swash will by now have an inversion list in it;
+             * otherwise <swash_invlist>  will be NULL, indicating that we
+             * didn't fetch a swash */
+	    if (swash_invlist) {
+
+		/* Add the passed-in inversion list, which invalidates the one
+		 * already stored in the swash */
+		invlist_in_swash_is_valid = FALSE;
+		_invlist_union(invlist, swash_invlist, &swash_invlist);
+	    }
+	    else {
+
+                /* Here, there is no swash already.  Set up a minimal one, if
+                 * we are going to return a swash */
+                if ((int) _invlist_len(invlist) > invlist_swash_boundary) {
+                    swash_hv = newHV();
+                    retval = newRV_noinc(MUTABLE_SV(swash_hv));
+                }
+		swash_invlist = invlist;
+	    }
+	}
+
+        /* Here, we have computed the union of all the passed-in data.  It may
+         * be that there was an inversion list in the swash which didn't get
+         * touched; otherwise save the one computed one */
+	if (! invlist_in_swash_is_valid
+            && (int) _invlist_len(swash_invlist) > invlist_swash_boundary)
+        {
+	    if (! hv_stores(MUTABLE_HV(SvRV(retval)), "V", swash_invlist))
+            {
+		Perl_croak(aTHX_ "panic: hv_store() unexpectedly failed");
+	    }
+	    /* We just stole a reference count. */
+	    if (swash_invlist_unclaimed) swash_invlist_unclaimed = FALSE;
+	    else SvREFCNT_inc_simple_void_NN(swash_invlist);
+	}
+
+        /* Use the inversion list stand-alone if small enough */
+        if ((int) _invlist_len(swash_invlist) <= invlist_swash_boundary) {
+	    SvREFCNT_dec(retval);
+	    if (!swash_invlist_unclaimed)
+		SvREFCNT_inc_simple_void_NN(swash_invlist);
+            retval = newRV_noinc(swash_invlist);
+        }
     }
-    if (!SvROK(retval) || SvTYPE(SvRV(retval)) != SVt_PVHV) {
-        if (SvPOK(retval))
-	    Perl_croak(aTHX_ "Can't find Unicode property definition \"%"SVf"\"",
-		       SVfARG(retval));
-	Perl_croak(aTHX_ "SWASHNEW didn't return an HV ref");
-    }
+
     return retval;
 }
 
@@ -2125,7 +3152,7 @@
  * the lower-level routine, and it is similarly broken for returning
  * multiple values.  --jhi
  * For those, you should use to_utf8_case() instead */
-/* Now SWASHGET is recasted into S_swash_get in this file. */
+/* Now SWASHGET is recasted into S_swatch_get in this file. */
 
 /* Note:
  * Returns the value of property/mapping C<swash> for the first character
@@ -2132,6 +3159,34 @@
  * of the string C<ptr>. If C<do_utf8> is true, the string C<ptr> is
  * assumed to be in utf8. If C<do_utf8> is false, the string C<ptr> is
  * assumed to be in native 8-bit encoding. Caches the swatch in C<swash>.
+ *
+ * A "swash" is a hash which contains initially the keys/values set up by
+ * SWASHNEW.  The purpose is to be able to completely represent a Unicode
+ * property for all possible code points.  Things are stored in a compact form
+ * (see utf8_heavy.pl) so that calculation is required to find the actual
+ * property value for a given code point.  As code points are looked up, new
+ * key/value pairs are added to the hash, so that the calculation doesn't have
+ * to ever be re-done.  Further, each calculation is done, not just for the
+ * desired one, but for a whole block of code points adjacent to that one.
+ * For binary properties on ASCII machines, the block is usually for 64 code
+ * points, starting with a code point evenly divisible by 64.  Thus if the
+ * property value for code point 257 is requested, the code goes out and
+ * calculates the property values for all 64 code points between 256 and 319,
+ * and stores these as a single 64-bit long bit vector, called a "swatch",
+ * under the key for code point 256.  The key is the UTF-8 encoding for code
+ * point 256, minus the final byte.  Thus, if the length of the UTF-8 encoding
+ * for a code point is 13 bytes, the key will be 12 bytes long.  If the value
+ * for code point 258 is then requested, this code realizes that it would be
+ * stored under the key for 256, and would find that value and extract the
+ * relevant bit, offset from 256.
+ *
+ * Non-binary properties are stored in as many bits as necessary to represent
+ * their values (32 currently, though the code is more general than that), not
+ * as single bits, but the principal is the same: the value for each key is a
+ * vector that encompasses the property values for all code points whose UTF-8
+ * representations are represented by the key.  That is, for all code points
+ * whose UTF-8 representations are length N bytes, and the key is the first N-1
+ * bytes of that.
  */
 UV
 Perl_swash_fetch(pTHX_ SV *swash, const U8 *ptr, bool do_utf8)
@@ -2150,6 +3205,16 @@
 
     PERL_ARGS_ASSERT_SWASH_FETCH;
 
+    /* If it really isn't a hash, it isn't really swash; must be an inversion
+     * list */
+    if (SvTYPE(hv) != SVt_PVHV) {
+        return _invlist_contains_cp((SV*)hv,
+                                    (do_utf8)
+                                     ? valid_utf8_to_uvchr(ptr, NULL)
+                                     : c);
+    }
+
+    /* Convert to utf8 if not already */
     if (!do_utf8 && !UNI_IS_INVARIANT(c)) {
 	tmputf8[0] = (U8)UTF8_EIGHT_BIT_HI(c);
 	tmputf8[1] = (U8)UTF8_EIGHT_BIT_LO(c);
@@ -2174,18 +3239,6 @@
       /* If char is encoded then swatch is for the prefix */
 	needents = (1 << UTF_ACCUMULATION_SHIFT);
 	off      = NATIVE_TO_UTF(ptr[klen]) & UTF_CONTINUATION_MASK;
-	if (UTF8_IS_SUPER(ptr) && ckWARN_d(WARN_NON_UNICODE)) {
-	    const UV code_point = utf8n_to_uvuni(ptr, UTF8_MAXBYTES, 0, 0);
-
-	    /* This outputs warnings for binary properties only, assuming that
-	     * to_utf8_case() will output any.  Also, surrogates aren't checked
-	     * for, as that would warn on things like /\p{Gc=Cs}/ */
-	    SV** const bitssvp = hv_fetchs(hv, "BITS", FALSE);
-	    if (SvUV(*bitssvp) == 1) {
-		Perl_warner(aTHX_ packWARN(WARN_NON_UNICODE),
-		    "Code point 0x%04"UVXf" is not Unicode, no properties match it; all inverse properties do", code_point);
-	    }
-	}
     }
 
     /*
@@ -2208,7 +3261,7 @@
 	/* Try our second-level swatch cache, kept in a hash. */
 	SV** svp = hv_fetch(hv, (const char*)ptr, klen, FALSE);
 
-	/* If not cached, generate it via swash_get */
+	/* If not cached, generate it via swatch_get */
 	if (!svp || !SvPOK(*svp)
 		 || !(tmps = (const U8*)SvPV_const(*svp, slen))) {
 	    /* We use utf8n_to_uvuni() as we want an index into
@@ -2217,9 +3270,9 @@
 	    const UV code_point = utf8n_to_uvuni(ptr, UTF8_MAXBYTES, 0,
 					   ckWARN(WARN_UTF8) ?
 					   0 : UTF8_ALLOW_ANY);
-	    swatch = swash_get(swash,
+	    swatch = swatch_get(swash,
 		    /* On EBCDIC & ~(0xA0-1) isn't a useful thing to do */
-				(klen) ? (code_point & ~(needents - 1)) : 0,
+				(klen) ? (code_point & ~((UV)needents - 1)) : 0,
 				needents);
 
 	    if (IN_PERL_COMPILETIME)
@@ -2229,7 +3282,9 @@
 
 	    if (!svp || !(tmps = (U8*)SvPV(*svp, slen))
 		     || (slen << 3) < needents)
-		Perl_croak(aTHX_ "panic: swash_fetch got improper swatch");
+		Perl_croak(aTHX_ "panic: swash_fetch got improper swatch, "
+			   "svp=%p, tmps=%p, slen=%"UVuf", needents=%"UVuf,
+			   svp, tmps, (UV)slen, (UV)needents);
 	}
 
 	PL_last_swash_hv = hv;
@@ -2256,7 +3311,8 @@
 	off <<= 2;
 	return (tmps[off] << 24) + (tmps[off+1] << 16) + (tmps[off+2] << 8) + tmps[off + 3] ;
     }
-    Perl_croak(aTHX_ "panic: swash_fetch got swatch of unexpected bit width");
+    Perl_croak(aTHX_ "panic: swash_fetch got swatch of unexpected bit width, "
+	       "slen=%"UVuf", needents=%"UVuf, (UV)slen, (UV)needents);
     NORETURN_FUNCTION_END;
 }
 
@@ -2284,7 +3340,9 @@
 {
     const int  typeto  = typestr[0] == 'T' && typestr[1] == 'o';
     STRLEN numlen;	    /* Length of the number */
-    I32 flags = PERL_SCAN_SILENT_ILLDIGIT | PERL_SCAN_DISALLOW_PREFIX;
+    I32 flags = PERL_SCAN_SILENT_ILLDIGIT
+		| PERL_SCAN_DISALLOW_PREFIX
+		| PERL_SCAN_SILENT_NON_PORTABLE;
 
     /* nl points to the next \n in the scan */
     U8* const nl = (U8*)memchr(l, '\n', lend - l);
@@ -2304,7 +3362,9 @@
     /* The max range value follows, separated by a BLANK */
     if (isBLANK(*l)) {
 	++l;
-	flags = PERL_SCAN_SILENT_ILLDIGIT | PERL_SCAN_DISALLOW_PREFIX;
+	flags = PERL_SCAN_SILENT_ILLDIGIT
+		| PERL_SCAN_DISALLOW_PREFIX
+		| PERL_SCAN_SILENT_NON_PORTABLE;
 	numlen = lend - l;
 	*max = grok_hex((char *)l, &numlen, &flags, NULL);
 	if (numlen)
@@ -2317,18 +3377,31 @@
 	if (wants_value) {
 	    if (isBLANK(*l)) {
 		++l;
-		flags = PERL_SCAN_SILENT_ILLDIGIT |
-			PERL_SCAN_DISALLOW_PREFIX;
-		numlen = lend - l;
-		*val = grok_hex((char *)l, &numlen, &flags, NULL);
-		if (numlen)
-		    l += numlen;
-		else
-		    *val = 0;
+
+		/* The ToLc, etc table mappings are not in hex, and must be
+		 * corrected by adding the code point to them */
+		if (typeto) {
+		    char *after_strtol = (char *) lend;
+		    *val = Strtol((char *)l, &after_strtol, 10);
+		    l = (U8 *) after_strtol;
+		}
+		else { /* Other tables are in hex, and are the correct result
+			  without tweaking */
+		    flags = PERL_SCAN_SILENT_ILLDIGIT
+			| PERL_SCAN_DISALLOW_PREFIX
+			| PERL_SCAN_SILENT_NON_PORTABLE;
+		    numlen = lend - l;
+		    *val = grok_hex((char *)l, &numlen, &flags, NULL);
+		    if (numlen)
+			l += numlen;
+		    else
+			*val = 0;
+		}
 	    }
 	    else {
 		*val = 0;
 		if (typeto) {
+		    /* diag_listed_as: To%s: illegal mapping '%s' */
 		    Perl_croak(aTHX_ "%s: illegal mapping '%s'",
 				     typestr, l);
 		}
@@ -2343,6 +3416,7 @@
 	if (wants_value) {
 	    *val = 0;
 	    if (typeto) {
+		/* diag_listed_as: To%s: illegal mapping '%s' */
 		Perl_croak(aTHX_ "%s: illegal mapping '%s'", typestr, l);
 	    }
 	}
@@ -2366,33 +3440,54 @@
  * Should be used via swash_fetch, which will cache the swatch in C<swash>.
  */
 STATIC SV*
-S_swash_get(pTHX_ SV* swash, UV start, UV span)
+S_swatch_get(pTHX_ SV* swash, UV start, UV span)
 {
     SV *swatch;
-    U8 *l, *lend, *x, *xend, *s;
+    U8 *l, *lend, *x, *xend, *s, *send;
     STRLEN lcur, xcur, scur;
     HV *const hv = MUTABLE_HV(SvRV(swash));
+    SV** const invlistsvp = hv_fetchs(hv, "V", FALSE);
 
-    /* The string containing the main body of the table */
-    SV** const listsvp = hv_fetchs(hv, "LIST", FALSE);
+    SV** listsvp = NULL; /* The string containing the main body of the table */
+    SV** extssvp = NULL;
+    SV** invert_it_svp = NULL;
+    U8* typestr = NULL;
+    STRLEN bits;
+    STRLEN octets; /* if bits == 1, then octets == 0 */
+    UV  none;
+    UV  end = start + span;
 
-    SV** const typesvp = hv_fetchs(hv, "TYPE", FALSE);
-    SV** const bitssvp = hv_fetchs(hv, "BITS", FALSE);
-    SV** const nonesvp = hv_fetchs(hv, "NONE", FALSE);
-    SV** const extssvp = hv_fetchs(hv, "EXTRAS", FALSE);
-    const U8* const typestr = (U8*)SvPV_nolen(*typesvp);
-    const STRLEN bits  = SvUV(*bitssvp);
-    const STRLEN octets = bits >> 3; /* if bits == 1, then octets == 0 */
-    const UV     none  = SvUV(*nonesvp);
-    const UV     end   = start + span;
+    if (invlistsvp == NULL) {
+        SV** const bitssvp = hv_fetchs(hv, "BITS", FALSE);
+        SV** const nonesvp = hv_fetchs(hv, "NONE", FALSE);
+        SV** const typesvp = hv_fetchs(hv, "TYPE", FALSE);
+        extssvp = hv_fetchs(hv, "EXTRAS", FALSE);
+        listsvp = hv_fetchs(hv, "LIST", FALSE);
+        invert_it_svp = hv_fetchs(hv, "INVERT_IT", FALSE);
 
-    PERL_ARGS_ASSERT_SWASH_GET;
+	bits  = SvUV(*bitssvp);
+	none  = SvUV(*nonesvp);
+	typestr = (U8*)SvPV_nolen(*typesvp);
+    }
+    else {
+	bits = 1;
+	none = 0;
+    }
+    octets = bits >> 3; /* if bits == 1, then octets == 0 */
 
+    PERL_ARGS_ASSERT_SWATCH_GET;
+
     if (bits != 1 && bits != 8 && bits != 16 && bits != 32) {
-	Perl_croak(aTHX_ "panic: swash_get doesn't expect bits %"UVuf,
+	Perl_croak(aTHX_ "panic: swatch_get doesn't expect bits %"UVuf,
 						 (UV)bits);
     }
 
+    /* If overflowed, use the max possible */
+    if (end < start) {
+	end = UV_MAX;
+	span = end - start;
+    }
+
     /* create and initialize $swatch */
     scur   = octets ? (span * octets) : (span + 7) / 8;
     swatch = newSV(scur);
@@ -2422,11 +3517,16 @@
     SvCUR_set(swatch, scur);
     s = (U8*)SvPVX(swatch);
 
+    if (invlistsvp) {	/* If has an inversion list set up use that */
+	_invlist_populate_swatch(*invlistsvp, start, end, s);
+        return swatch;
+    }
+
     /* read $swash->{LIST} */
     l = (U8*)SvPV(*listsvp, lcur);
     lend = l + lcur;
     while (l < lend) {
-	UV min, max, val;
+	UV min, max, val, upper;
 	l = S_swash_scan_list_line(aTHX_ l, lend, &min, &max, &val,
 					 cBOOL(octets), typestr);
 	if (l > lend) {
@@ -2437,6 +3537,15 @@
 	if (max < start)
 	    continue;
 
+	/* <end> is generally 1 beyond where we want to set things, but at the
+	 * platform's infinity, where we can't go any higher, we want to
+	 * include the code point at <end> */
+        upper = (max < end)
+                ? max
+                : (max != UV_MAX || end != UV_MAX)
+                  ? end - 1
+                  : end;
+
 	if (octets) {
 	    UV key;
 	    if (min < start) {
@@ -2445,10 +3554,8 @@
 		}
 		min = start;
 	    }
-	    for (key = min; key <= max; key++) {
+	    for (key = min; key <= upper; key++) {
 		STRLEN offset;
-		if (key >= end)
-		    goto go_out_list;
 		/* offset must be non-negative (start <= min <= key < end) */
 		offset = octets * (key - start);
 		if (bits == 8)
@@ -2472,17 +3579,39 @@
 	    UV key;
 	    if (min < start)
 		min = start;
-	    for (key = min; key <= max; key++) {
+
+	    for (key = min; key <= upper; key++) {
 		const STRLEN offset = (STRLEN)(key - start);
-		if (key >= end)
-		    goto go_out_list;
 		s[offset >> 3] |= 1 << (offset & 7);
 	    }
 	}
     } /* while */
-  go_out_list:
 
-    /* read $swash->{EXTRAS} */
+    /* Invert if the data says it should be.  Assumes that bits == 1 */
+    if (invert_it_svp && SvUV(*invert_it_svp)) {
+
+	/* Unicode properties should come with all bits above PERL_UNICODE_MAX
+	 * be 0, and their inversion should also be 0, as we don't succeed any
+	 * Unicode property matches for non-Unicode code points */
+	if (start <= PERL_UNICODE_MAX) {
+
+	    /* The code below assumes that we never cross the
+	     * Unicode/above-Unicode boundary in a range, as otherwise we would
+	     * have to figure out where to stop flipping the bits.  Since this
+	     * boundary is divisible by a large power of 2, and swatches comes
+	     * in small powers of 2, this should be a valid assumption */
+	    assert(start + span - 1 <= PERL_UNICODE_MAX);
+
+	    send = s + scur;
+	    while (s < send) {
+		*s = ~(*s);
+		s++;
+	    }
+	}
+    }
+
+    /* read $swash->{EXTRAS}
+     * This code also copied to swash_to_invlist() below */
     x = (U8*)SvPV(*extssvp, xcur);
     xend = x + xcur;
     while (x < xend) {
@@ -2527,19 +3656,22 @@
 	otherbitssvp = hv_fetchs(otherhv, "BITS", FALSE);
 	otherbits = (STRLEN)SvUV(*otherbitssvp);
 	if (bits < otherbits)
-	    Perl_croak(aTHX_ "panic: swash_get found swatch size mismatch");
+	    Perl_croak(aTHX_ "panic: swatch_get found swatch size mismatch, "
+		       "bits=%"UVuf", otherbits=%"UVuf, (UV)bits, (UV)otherbits);
 
 	/* The "other" swatch must be destroyed after. */
-	other = swash_get(*othersvp, start, span);
+	other = swatch_get(*othersvp, start, span);
 	o = (U8*)SvPV(other, olen);
 
 	if (!olen)
-	    Perl_croak(aTHX_ "panic: swash_get got improper swatch");
+	    Perl_croak(aTHX_ "panic: swatch_get got improper swatch");
 
 	s = (U8*)SvPV(swatch, slen);
 	if (bits == 1 && otherbits == 1) {
 	    if (slen != olen)
-		Perl_croak(aTHX_ "panic: swash_get found swatch length mismatch");
+		Perl_croak(aTHX_ "panic: swatch_get found swatch length "
+			   "mismatch, slen=%"UVuf", olen=%"UVuf,
+			   (UV)slen, (UV)olen);
 
 	    switch (opc) {
 	    case '+':
@@ -2619,7 +3751,11 @@
 Perl__swash_inversion_hash(pTHX_ SV* const swash)
 {
 
-   /* Subject to change or removal.  For use only in one place in regexec.c
+   /* Subject to change or removal.  For use only in regcomp.c and regexec.c
+    * Can't be used on a property that is subject to user override, as it
+    * relies on the value of SPECIALS in the swash which would be set by
+    * utf8_heavy.pl to the hash in the non-overriden file, and hence is not set
+    * for overridden properties
     *
     * Returns a hash which is the inversion and closure of a swash mapping.
     * For example, consider the input lines:
@@ -2635,14 +3771,29 @@
     * Essentially, for any code point, it gives all the code points that map to
     * it, or the list of 'froms' for that point.
     *
-    * Currently it only looks at the main body of the swash, and ignores any
-    * additions or deletions from other swashes */
+    * Currently it ignores any additions or deletions from other swashes,
+    * looking at just the main body of the swash, and if there are SPECIALS
+    * in the swash, at that hash
+    *
+    * The specials hash can be extra code points, and most likely consists of
+    * maps from single code points to multiple ones (each expressed as a string
+    * of utf8 characters).   This function currently returns only 1-1 mappings.
+    * However consider this possible input in the specials hash:
+    * "\xEF\xAC\x85" => "\x{0073}\x{0074}",         # U+FB05 => 0073 0074
+    * "\xEF\xAC\x86" => "\x{0073}\x{0074}",         # U+FB06 => 0073 0074
+    *
+    * Both FB05 and FB06 map to the same multi-char sequence, which we don't
+    * currently handle.  But it also means that FB05 and FB06 are equivalent in
+    * a 1-1 mapping which we should handle, and this relationship may not be in
+    * the main table.  Therefore this function examines all the multi-char
+    * sequences and adds the 1-1 mappings that come out of that.  */
 
     U8 *l, *lend;
     STRLEN lcur;
     HV *const hv = MUTABLE_HV(SvRV(swash));
 
-    /* The string containing the main body of the table */
+    /* The string containing the main body of the table.  This will have its
+     * assertion fail if the swash has been converted to its inversion list */
     SV** const listsvp = hv_fetchs(hv, "LIST", FALSE);
 
     SV** const typesvp = hv_fetchs(hv, "TYPE", FALSE);
@@ -2653,6 +3804,7 @@
     const STRLEN bits  = SvUV(*bitssvp);
     const STRLEN octets = bits >> 3; /* if bits == 1, then octets == 0 */
     const UV     none  = SvUV(*nonesvp);
+    SV **specials_p = hv_fetchs(hv, "SPECIALS", 0);
 
     HV* ret = newHV();
 
@@ -2664,6 +3816,118 @@
 						 (UV)bits);
     }
 
+    if (specials_p) { /* It might be "special" (sometimes, but not always, a
+			mapping to more than one character */
+
+	/* Construct an inverse mapping hash for the specials */
+	HV * const specials_hv = MUTABLE_HV(SvRV(*specials_p));
+	HV * specials_inverse = newHV();
+	char *char_from; /* the lhs of the map */
+	I32 from_len;   /* its byte length */
+	char *char_to;  /* the rhs of the map */
+	I32 to_len;	/* its byte length */
+	SV *sv_to;	/* and in a sv */
+	AV* from_list;  /* list of things that map to each 'to' */
+
+	hv_iterinit(specials_hv);
+
+	/* The keys are the characters (in utf8) that map to the corresponding
+	 * utf8 string value.  Iterate through the list creating the inverse
+	 * list. */
+	while ((sv_to = hv_iternextsv(specials_hv, &char_from, &from_len))) {
+	    SV** listp;
+	    if (! SvPOK(sv_to)) {
+		Perl_croak(aTHX_ "panic: value returned from hv_iternextsv() "
+			   "unexpectedly is not a string, flags=%lu",
+			   (unsigned long)SvFLAGS(sv_to));
+	    }
+	    /*DEBUG_U(PerlIO_printf(Perl_debug_log, "Found mapping from %"UVXf", First char of to is %"UVXf"\n", valid_utf8_to_uvchr((U8*) char_from, 0), valid_utf8_to_uvchr((U8*) SvPVX(sv_to), 0)));*/
+
+	    /* Each key in the inverse list is a mapped-to value, and the key's
+	     * hash value is a list of the strings (each in utf8) that map to
+	     * it.  Those strings are all one character long */
+	    if ((listp = hv_fetch(specials_inverse,
+				    SvPVX(sv_to),
+				    SvCUR(sv_to), 0)))
+	    {
+		from_list = (AV*) *listp;
+	    }
+	    else { /* No entry yet for it: create one */
+		from_list = newAV();
+		if (! hv_store(specials_inverse,
+				SvPVX(sv_to),
+				SvCUR(sv_to),
+				(SV*) from_list, 0))
+		{
+		    Perl_croak(aTHX_ "panic: hv_store() unexpectedly failed");
+		}
+	    }
+
+	    /* Here have the list associated with this 'to' (perhaps newly
+	     * created and empty).  Just add to it.  Note that we ASSUME that
+	     * the input is guaranteed to not have duplications, so we don't
+	     * check for that.  Duplications just slow down execution time. */
+	    av_push(from_list, newSVpvn_utf8(char_from, from_len, TRUE));
+	}
+
+	/* Here, 'specials_inverse' contains the inverse mapping.  Go through
+	 * it looking for cases like the FB05/FB06 examples above.  There would
+	 * be an entry in the hash like
+	*	'st' => [ FB05, FB06 ]
+	* In this example we will create two lists that get stored in the
+	* returned hash, 'ret':
+	*	FB05 => [ FB05, FB06 ]
+	*	FB06 => [ FB05, FB06 ]
+	*
+	* Note that there is nothing to do if the array only has one element.
+	* (In the normal 1-1 case handled below, we don't have to worry about
+	* two lists, as everything gets tied to the single list that is
+	* generated for the single character 'to'.  But here, we are omitting
+	* that list, ('st' in the example), so must have multiple lists.) */
+	while ((from_list = (AV *) hv_iternextsv(specials_inverse,
+						 &char_to, &to_len)))
+	{
+	    if (av_len(from_list) > 0) {
+		int i;
+
+		/* We iterate over all combinations of i,j to place each code
+		 * point on each list */
+		for (i = 0; i <= av_len(from_list); i++) {
+		    int j;
+		    AV* i_list = newAV();
+		    SV** entryp = av_fetch(from_list, i, FALSE);
+		    if (entryp == NULL) {
+			Perl_croak(aTHX_ "panic: av_fetch() unexpectedly failed");
+		    }
+		    if (hv_fetch(ret, SvPVX(*entryp), SvCUR(*entryp), FALSE)) {
+			Perl_croak(aTHX_ "panic: unexpected entry for %s", SvPVX(*entryp));
+		    }
+		    if (! hv_store(ret, SvPVX(*entryp), SvCUR(*entryp),
+				   (SV*) i_list, FALSE))
+		    {
+			Perl_croak(aTHX_ "panic: hv_store() unexpectedly failed");
+		    }
+
+		    /* For debugging: UV u = valid_utf8_to_uvchr((U8*) SvPVX(*entryp), 0);*/
+		    for (j = 0; j <= av_len(from_list); j++) {
+			entryp = av_fetch(from_list, j, FALSE);
+			if (entryp == NULL) {
+			    Perl_croak(aTHX_ "panic: av_fetch() unexpectedly failed");
+			}
+
+			/* When i==j this adds itself to the list */
+			av_push(i_list, newSVuv(utf8_to_uvchr_buf(
+					(U8*) SvPVX(*entryp),
+					(U8*) SvPVX(*entryp) + SvCUR(*entryp),
+					0)));
+			/*DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: Adding %"UVXf" to list for %"UVXf"\n", __FILE__, __LINE__, valid_utf8_to_uvchr((U8*) SvPVX(*entryp), 0), u));*/
+		    }
+		}
+	    }
+	}
+	SvREFCNT_dec(specials_inverse); /* done with it */
+    } /* End of specials */
+
     /* read $swash->{LIST} */
     l = (U8*)SvPV(*listsvp, lcur);
     lend = l + lcur;
@@ -2681,10 +3945,10 @@
 	/* Each element in the range is to be inverted */
 	for (inverse = min; inverse <= max; inverse++) {
 	    AV* list;
-	    SV* element;
 	    SV** listp;
 	    IV i;
 	    bool found_key = FALSE;
+	    bool found_inverse = FALSE;
 
 	    /* The key is the inverse mapping */
 	    char key[UTF8_MAXBYTES+1];
@@ -2702,7 +3966,9 @@
 		}
 	    }
 
-	    for (i = 0; i < av_len(list); i++) {
+	    /* Look through list to see if this inverse mapping already is
+	     * listed, or if there is a mapping to itself already */
+	    for (i = 0; i <= av_len(list); i++) {
 		SV** entryp = av_fetch(list, i, FALSE);
 		SV* entry;
 		if (entryp == NULL) {
@@ -2709,8 +3975,17 @@
 		    Perl_croak(aTHX_ "panic: av_fetch() unexpectedly failed");
 		}
 		entry = *entryp;
+		/*DEBUG_U(PerlIO_printf(Perl_debug_log, "list for %"UVXf" contains %"UVXf"\n", val, SvUV(entry)));*/
 		if (SvUV(entry) == val) {
 		    found_key = TRUE;
+		}
+		if (SvUV(entry) == inverse) {
+		    found_inverse = TRUE;
+		}
+
+		/* No need to continue searching if found everything we are
+		 * looking for */
+		if (found_key && found_inverse) {
 		    break;
 		}
 	    }
@@ -2717,22 +3992,25 @@
 
 	    /* Make sure there is a mapping to itself on the list */
 	    if (! found_key) {
-		element = newSVuv(val);
-		av_push(list, element);
+		av_push(list, newSVuv(val));
+		/*DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: Adding %"UVXf" to list for %"UVXf"\n", __FILE__, __LINE__, val, val));*/
 	    }
 
 
 	    /* Simply add the value to the list */
-	    element = newSVuv(inverse);
-	    av_push(list, element);
+	    if (! found_inverse) {
+		av_push(list, newSVuv(inverse));
+		/*DEBUG_U(PerlIO_printf(Perl_debug_log, "%s: %d: Adding %"UVXf" to list for %"UVXf"\n", __FILE__, __LINE__, inverse, val));*/
+	    }
 
-	    /* swash_get() increments the value of val for each element in the
+	    /* swatch_get() increments the value of val for each element in the
 	     * range.  That makes more compact tables possible.  You can
 	     * express the capitalization, for example, of all consecutive
 	     * letters with a single line: 0061\t007A\t0041 This maps 0061 to
 	     * 0041, 0062 to 0042, etc.  I (khw) have never understood 'none',
-	     * and it's not documented, and perhaps not even currently used,
-	     * but I copied the semantics from swash_get(), just in case */
+	     * and it's not documented; it appears to be used only in
+	     * implementing tr//; I copied the semantics from swatch_get(), just
+	     * in case */
 	    if (!none || val < none) {
 		++val;
 	    }
@@ -2742,11 +4020,12 @@
     return ret;
 }
 
-HV*
+SV*
 Perl__swash_to_invlist(pTHX_ SV* const swash)
 {
 
-   /* Subject to change or removal.  For use only in one place in regcomp.c */
+   /* Subject to change or removal.  For use only in one place in regcomp.c.
+    * Ownership is given to one reference count in the returned SV* */
 
     U8 *l, *lend;
     char *loc;
@@ -2754,20 +4033,38 @@
     HV *const hv = MUTABLE_HV(SvRV(swash));
     UV elements = 0;    /* Number of elements in the inversion list */
     U8 empty[] = "";
+    SV** listsvp;
+    SV** typesvp;
+    SV** bitssvp;
+    SV** extssvp;
+    SV** invert_it_svp;
 
-    /* The string containing the main body of the table */
-    SV** const listsvp = hv_fetchs(hv, "LIST", FALSE);
-    SV** const typesvp = hv_fetchs(hv, "TYPE", FALSE);
-    SV** const bitssvp = hv_fetchs(hv, "BITS", FALSE);
+    U8* typestr;
+    STRLEN bits;
+    STRLEN octets; /* if bits == 1, then octets == 0 */
+    U8 *x, *xend;
+    STRLEN xcur;
 
-    const U8* const typestr = (U8*)SvPV_nolen(*typesvp);
-    const STRLEN bits  = SvUV(*bitssvp);
-    const STRLEN octets = bits >> 3; /* if bits == 1, then octets == 0 */
+    SV* invlist;
 
-    HV* invlist;
-
     PERL_ARGS_ASSERT__SWASH_TO_INVLIST;
 
+    /* If not a hash, it must be the swash's inversion list instead */
+    if (SvTYPE(hv) != SVt_PVHV) {
+        return SvREFCNT_inc_simple_NN((SV*) hv);
+    }
+
+    /* The string containing the main body of the table */
+    listsvp = hv_fetchs(hv, "LIST", FALSE);
+    typesvp = hv_fetchs(hv, "TYPE", FALSE);
+    bitssvp = hv_fetchs(hv, "BITS", FALSE);
+    extssvp = hv_fetchs(hv, "EXTRAS", FALSE);
+    invert_it_svp = hv_fetchs(hv, "INVERT_IT", FALSE);
+
+    typestr = (U8*)SvPV_nolen(*typesvp);
+    bits  = SvUV(*bitssvp);
+    octets = bits >> 3; /* if bits == 1, then octets == 0 */
+
     /* read $swash->{LIST} */
     if (SvPOK(*listsvp)) {
 	l = (U8*)SvPV(*listsvp, lcur);
@@ -2793,7 +4090,9 @@
 
     /* If the ending is somehow corrupt and isn't a new line, add another
      * element for the final range that isn't in the inversion list */
-    if (! (*lend == '\n' || (*lend == '\0' && *(lend - 1) == '\n'))) {
+    if (! (*lend == '\n'
+	|| (*lend == '\0' && (lcur == 0 || *(lend - 1) == '\n'))))
+    {
 	elements++;
     }
 
@@ -2811,17 +4110,121 @@
 	    break;
 	}
 
-	_append_range_to_invlist(invlist, start, end);
+	invlist = _add_range_to_invlist(invlist, start, end);
     }
 
+    /* Invert if the data says it should be */
+    if (invert_it_svp && SvUV(*invert_it_svp)) {
+	_invlist_invert_prop(invlist);
+    }
+
+    /* This code is copied from swatch_get()
+     * read $swash->{EXTRAS} */
+    x = (U8*)SvPV(*extssvp, xcur);
+    xend = x + xcur;
+    while (x < xend) {
+	STRLEN namelen;
+	U8 *namestr;
+	SV** othersvp;
+	HV* otherhv;
+	STRLEN otherbits;
+	SV **otherbitssvp, *other;
+	U8 *nl;
+
+	const U8 opc = *x++;
+	if (opc == '\n')
+	    continue;
+
+	nl = (U8*)memchr(x, '\n', xend - x);
+
+	if (opc != '-' && opc != '+' && opc != '!' && opc != '&') {
+	    if (nl) {
+		x = nl + 1; /* 1 is length of "\n" */
+		continue;
+	    }
+	    else {
+		x = xend; /* to EXTRAS' end at which \n is not found */
+		break;
+	    }
+	}
+
+	namestr = x;
+	if (nl) {
+	    namelen = nl - namestr;
+	    x = nl + 1;
+	}
+	else {
+	    namelen = xend - namestr;
+	    x = xend;
+	}
+
+	othersvp = hv_fetch(hv, (char *)namestr, namelen, FALSE);
+	otherhv = MUTABLE_HV(SvRV(*othersvp));
+	otherbitssvp = hv_fetchs(otherhv, "BITS", FALSE);
+	otherbits = (STRLEN)SvUV(*otherbitssvp);
+
+	if (bits != otherbits || bits != 1) {
+	    Perl_croak(aTHX_ "panic: _swash_to_invlist only operates on boolean "
+		       "properties, bits=%"UVuf", otherbits=%"UVuf,
+		       (UV)bits, (UV)otherbits);
+	}
+
+	/* The "other" swatch must be destroyed after. */
+	other = _swash_to_invlist((SV *)*othersvp);
+
+	/* End of code copied from swatch_get() */
+	switch (opc) {
+	case '+':
+	    _invlist_union(invlist, other, &invlist);
+	    break;
+	case '!':
+            _invlist_union_maybe_complement_2nd(invlist, other, TRUE, &invlist);
+	    break;
+	case '-':
+	    _invlist_subtract(invlist, other, &invlist);
+	    break;
+	case '&':
+	    _invlist_intersection(invlist, other, &invlist);
+	    break;
+	default:
+	    break;
+	}
+	sv_free(other); /* through with it! */
+    }
+
     return invlist;
 }
 
+SV*
+Perl__get_swash_invlist(pTHX_ SV* const swash)
+{
+    SV** ptr;
+
+    PERL_ARGS_ASSERT__GET_SWASH_INVLIST;
+
+    if (! SvROK(swash)) {
+        return NULL;
+    }
+
+    /* If it really isn't a hash, it isn't really swash; must be an inversion
+     * list */
+    if (SvTYPE(SvRV(swash)) != SVt_PVHV) {
+        return SvRV(swash);
+    }
+
+    ptr = hv_fetchs(MUTABLE_HV(SvRV(swash)), "V", FALSE);
+    if (! ptr) {
+        return NULL;
+    }
+
+    return *ptr;
+}
+
 /*
 =for apidoc uvchr_to_utf8
 
 Adds the UTF-8 representation of the Native code point C<uv> to the end
-of the string C<d>; C<d> should be have at least C<UTF8_MAXBYTES+1> free
+of the string C<d>; C<d> should have at least C<UTF8_MAXBYTES+1> free
 bytes available. The return value is the pointer to the byte after the
 end of the new character. In other words,
 
@@ -2861,7 +4264,7 @@
 which is assumed to be in UTF-8 encoding; C<retlen> will be set to the
 length, in bytes, of that character.
 
-length and flags are the same as utf8n_to_uvuni().
+C<length> and C<flags> are the same as L</utf8n_to_uvuni>().
 
 =cut
 */
@@ -2880,12 +4283,12 @@
 }
 
 bool
-Perl_check_utf8_print(pTHX_ register const U8* s, const STRLEN len)
+Perl_check_utf8_print(pTHX_ const U8* s, const STRLEN len)
 {
     /* May change: warns if surrogates, non-character code points, or
-     * non-Unicode code points are in s which has length len.  Returns TRUE if
-     * none found; FALSE otherwise.  The only other validity check is to make
-     * sure that this won't exceed the string's length */
+     * non-Unicode code points are in s which has length len bytes.  Returns
+     * TRUE if none found; FALSE otherwise.  The only other validity check is
+     * to make sure that this won't exceed the string's length */
 
     const U8* const e = s + len;
     bool ok = TRUE;
@@ -2898,11 +4301,11 @@
 			   "%s in %s", unees, PL_op ? OP_DESC(PL_op) : "print");
 	    return FALSE;
 	}
-	if (*s >= UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE) {
+	if (UNLIKELY(*s >= UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE)) {
 	    STRLEN char_len;
 	    if (UTF8_IS_SUPER(s)) {
 		if (ckWARN_d(WARN_NON_UNICODE)) {
-		    UV uv = utf8_to_uvchr(s, &char_len);
+		    UV uv = utf8_to_uvchr_buf(s, e, &char_len);
 		    Perl_warner(aTHX_ packWARN(WARN_NON_UNICODE),
 			"Code point 0x%04"UVXf" is not Unicode, may not be portable", uv);
 		    ok = FALSE;
@@ -2910,7 +4313,7 @@
 	    }
 	    else if (UTF8_IS_SURROGATE(s)) {
 		if (ckWARN_d(WARN_SURROGATE)) {
-		    UV uv = utf8_to_uvchr(s, &char_len);
+		    UV uv = utf8_to_uvchr_buf(s, e, &char_len);
 		    Perl_warner(aTHX_ packWARN(WARN_SURROGATE),
 			"Unicode surrogate U+%04"UVXf" is illegal in UTF-8", uv);
 		    ok = FALSE;
@@ -2920,7 +4323,7 @@
 		((UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s))
 		 && (ckWARN_d(WARN_NONCHAR)))
 	    {
-		UV uv = utf8_to_uvchr(s, &char_len);
+		UV uv = utf8_to_uvchr_buf(s, e, &char_len);
 		Perl_warner(aTHX_ packWARN(WARN_NONCHAR),
 		    "Unicode non-character U+%04"UVXf" is illegal for open interchange", uv);
 		ok = FALSE;
@@ -2935,11 +4338,11 @@
 /*
 =for apidoc pv_uni_display
 
-Build to the scalar dsv a displayable version of the string spv,
-length len, the displayable version being at most pvlim bytes long
+Build to the scalar C<dsv> a displayable version of the string C<spv>,
+length C<len>, the displayable version being at most C<pvlim> bytes long
 (if longer, the rest is truncated and "..." will be appended).
 
-The flags argument can have UNI_DISPLAY_ISPRINT set to display
+The C<flags> argument can have UNI_DISPLAY_ISPRINT set to display
 isPRINT()able characters as themselves, UNI_DISPLAY_BACKSLASH
 to display the \\[nrfta\\] as the backslashed versions (like '\n')
 (UNI_DISPLAY_BACKSLASH is preferred over UNI_DISPLAY_ISPRINT for \\).
@@ -2946,7 +4349,7 @@
 UNI_DISPLAY_QQ (and its alias UNI_DISPLAY_REGEX) have both
 UNI_DISPLAY_BACKSLASH and UNI_DISPLAY_ISPRINT turned on.
 
-The pointer to the PV of the dsv is returned.
+The pointer to the PV of the C<dsv> is returned.
 
 =cut */
 char *
@@ -2970,7 +4373,7 @@
 	      truncated++;
 	      break;
 	 }
-	 u = utf8_to_uvchr((U8*)s, 0);
+	 u = utf8_to_uvchr_buf((U8*)s, (U8*)e, 0);
 	 if (u < 256) {
 	     const unsigned char c = (unsigned char)u & 0xFF;
 	     if (flags & UNI_DISPLAY_BACKSLASH) {
@@ -3014,13 +4417,13 @@
 /*
 =for apidoc sv_uni_display
 
-Build to the scalar dsv a displayable version of the scalar sv,
-the displayable version being at most pvlim bytes long
+Build to the scalar C<dsv> a displayable version of the scalar C<sv>,
+the displayable version being at most C<pvlim> bytes long
 (if longer, the rest is truncated and "..." will be appended).
 
-The flags argument is as in pv_uni_display().
+The C<flags> argument is as in L</pv_uni_display>().
 
-The pointer to the PV of the dsv is returned.
+The pointer to the PV of the C<dsv> is returned.
 
 =cut
 */
@@ -3027,9 +4430,12 @@
 char *
 Perl_sv_uni_display(pTHX_ SV *dsv, SV *ssv, STRLEN pvlim, UV flags)
 {
+    const char * const ptr =
+        isREGEXP(ssv) ? RX_WRAPPED((REGEXP*)ssv) : SvPVX_const(ssv);
+
     PERL_ARGS_ASSERT_SV_UNI_DISPLAY;
 
-     return Perl_pv_uni_display(aTHX_ dsv, (const U8*)SvPVX_const(ssv),
+    return Perl_pv_uni_display(aTHX_ dsv, (const U8*)ptr,
 				SvCUR(ssv), pvlim, flags);
 }
 
@@ -3036,40 +4442,44 @@
 /*
 =for apidoc foldEQ_utf8
 
-Returns true if the leading portions of the strings s1 and s2 (either or both
+Returns true if the leading portions of the strings C<s1> and C<s2> (either or both
 of which may be in UTF-8) are the same case-insensitively; false otherwise.
 How far into the strings to compare is determined by other input parameters.
 
-If u1 is true, the string s1 is assumed to be in UTF-8-encoded Unicode;
-otherwise it is assumed to be in native 8-bit encoding.  Correspondingly for u2
-with respect to s2.
+If C<u1> is true, the string C<s1> is assumed to be in UTF-8-encoded Unicode;
+otherwise it is assumed to be in native 8-bit encoding.  Correspondingly for C<u2>
+with respect to C<s2>.
 
-If the byte length l1 is non-zero, it says how far into s1 to check for fold
-equality.  In other words, s1+l1 will be used as a goal to reach.  The
+If the byte length C<l1> is non-zero, it says how far into C<s1> to check for fold
+equality.  In other words, C<s1>+C<l1> will be used as a goal to reach.  The
 scan will not be considered to be a match unless the goal is reached, and
-scanning won't continue past that goal.  Correspondingly for l2 with respect to
-s2.
+scanning won't continue past that goal.  Correspondingly for C<l2> with respect to
+C<s2>.
 
-If pe1 is non-NULL and the pointer it points to is not NULL, that pointer is
-considered an end pointer beyond which scanning of s1 will not continue under
-any circumstances.  This means that if both l1 and pe1 are specified, and pe1
-is less than s1+l1, the match will never be successful because it can never
+If C<pe1> is non-NULL and the pointer it points to is not NULL, that pointer is
+considered an end pointer to the position 1 byte past the maximum point
+in C<s1> beyond which scanning will not continue under any circumstances.
+(This routine assumes that UTF-8 encoded input strings are not malformed;
+malformed input can cause it to read past C<pe1>).
+This means that if both C<l1> and C<pe1> are specified, and C<pe1>
+is less than C<s1>+C<l1>, the match will never be successful because it can
+never
 get as far as its goal (and in fact is asserted against).  Correspondingly for
-pe2 with respect to s2.
+C<pe2> with respect to C<s2>.
 
-At least one of s1 and s2 must have a goal (at least one of l1 and l2 must be
-non-zero), and if both do, both have to be
+At least one of C<s1> and C<s2> must have a goal (at least one of C<l1> and
+C<l2> must be non-zero), and if both do, both have to be
 reached for a successful match.   Also, if the fold of a character is multiple
 characters, all of them must be matched (see tr21 reference below for
 'folding').
 
-Upon a successful match, if pe1 is non-NULL,
-it will be set to point to the beginning of the I<next> character of s1 beyond
-what was matched.  Correspondingly for pe2 and s2.
+Upon a successful match, if C<pe1> is non-NULL,
+it will be set to point to the beginning of the I<next> character of C<s1>
+beyond what was matched.  Correspondingly for C<pe2> and C<s2>.
 
 For case-insensitiveness, the "casefolding" of Unicode is used
 instead of upper/lowercasing both the characters, see
-http://www.unicode.org/unicode/reports/tr21/ (Case Mappings).
+L<http://www.unicode.org/unicode/reports/tr21/> (Case Mappings).
 
 =cut */
 
@@ -3082,27 +4492,33 @@
  *			    points below 256; unicode rules for above 255; and
  *			    folds that cross those boundaries are disallowed,
  *			    like the NOMIX_ASCII option
+ *  FOLDEQ_S1_ALREADY_FOLDED s1 has already been folded before calling this
+ *                           routine.  This allows that step to be skipped.
+ *  FOLDEQ_S2_ALREADY_FOLDED   Similarly.
  */
 I32
-Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, register UV l1, bool u1, const char *s2, char **pe2, register UV l2, bool u2, U32 flags)
+Perl_foldEQ_utf8_flags(pTHX_ const char *s1, char **pe1, UV l1, bool u1, const char *s2, char **pe2, UV l2, bool u2, U32 flags)
 {
     dVAR;
-    register const U8 *p1  = (const U8*)s1; /* Point to current char */
-    register const U8 *p2  = (const U8*)s2;
-    register const U8 *g1 = NULL;       /* goal for s1 */
-    register const U8 *g2 = NULL;
-    register const U8 *e1 = NULL;       /* Don't scan s1 past this */
-    register U8 *f1 = NULL;             /* Point to current folded */
-    register const U8 *e2 = NULL;
-    register U8 *f2 = NULL;
+    const U8 *p1  = (const U8*)s1; /* Point to current char */
+    const U8 *p2  = (const U8*)s2;
+    const U8 *g1 = NULL;       /* goal for s1 */
+    const U8 *g2 = NULL;
+    const U8 *e1 = NULL;       /* Don't scan s1 past this */
+    U8 *f1 = NULL;             /* Point to current folded */
+    const U8 *e2 = NULL;
+    U8 *f2 = NULL;
     STRLEN n1 = 0, n2 = 0;              /* Number of bytes in current char */
     U8 foldbuf1[UTF8_MAXBYTES_CASE+1];
     U8 foldbuf2[UTF8_MAXBYTES_CASE+1];
-    U8 natbuf[2];               /* Holds native 8-bit char converted to utf8;
-                                   these always fit in 2 bytes */
 
     PERL_ARGS_ASSERT_FOLDEQ_UTF8_FLAGS;
 
+    /* The algorithm requires that input with the flags on the first line of
+     * the assert not be pre-folded. */
+    assert( ! ((flags & (FOLDEQ_UTF8_NOMIX_ASCII | FOLDEQ_UTF8_LOCALE))
+	&& (flags & (FOLDEQ_S1_ALREADY_FOLDED | FOLDEQ_S2_ALREADY_FOLDED))));
+
     if (pe1) {
         e1 = *(U8**)pe1;
     }
@@ -3144,6 +4560,10 @@
 	assert(e2);
     }
 
+    /* If both operands are already folded, we could just do a memEQ on the
+     * whole strings at once, but it would be better if the caller realized
+     * this and didn't even call us */
+
     /* Look through both strings, a character at a time */
     while (p1 < e1 && p2 < e2) {
 
@@ -3151,96 +4571,107 @@
 	 * and the length of the fold.  (exception: locale rules just get the
 	 * character to a single byte) */
         if (n1 == 0) {
+	    if (flags & FOLDEQ_S1_ALREADY_FOLDED) {
+		f1 = (U8 *) p1;
+		n1 = UTF8SKIP(f1);
+	    }
+	    else {
+		/* If in locale matching, we use two sets of rules, depending
+		 * on if the code point is above or below 255.  Here, we test
+		 * for and handle locale rules */
+		if ((flags & FOLDEQ_UTF8_LOCALE)
+		    && (! u1 || UTF8_IS_INVARIANT(*p1)
+			|| UTF8_IS_DOWNGRADEABLE_START(*p1)))
+		{
+		    /* There is no mixing of code points above and below 255. */
+		    if (u2 && (! UTF8_IS_INVARIANT(*p2)
+			&& ! UTF8_IS_DOWNGRADEABLE_START(*p2)))
+		    {
+			return 0;
+		    }
 
-	    /* If in locale matching, we use two sets of rules, depending on if
-	     * the code point is above or below 255.  Here, we test for and
-	     * handle locale rules */
-	    if ((flags & FOLDEQ_UTF8_LOCALE)
-		&& (! u1 || UTF8_IS_INVARIANT(*p1) || UTF8_IS_DOWNGRADEABLE_START(*p1)))
-	    {
-		/* There is no mixing of code points above and below 255. */
-		if (u2 && (! UTF8_IS_INVARIANT(*p2)
-		    && ! UTF8_IS_DOWNGRADEABLE_START(*p2)))
-		{
-		    return 0;
+		    /* We handle locale rules by converting, if necessary, the
+		     * code point to a single byte. */
+		    if (! u1 || UTF8_IS_INVARIANT(*p1)) {
+			*foldbuf1 = *p1;
+		    }
+		    else {
+			*foldbuf1 = TWO_BYTE_UTF8_TO_UNI(*p1, *(p1 + 1));
+		    }
+		    n1 = 1;
 		}
+		else if (isASCII(*p1)) {    /* Note, that here won't be both
+					       ASCII and using locale rules */
 
-		/* We handle locale rules by converting, if necessary, the code
-		 * point to a single byte. */
-		if (! u1 || UTF8_IS_INVARIANT(*p1)) {
-		    *foldbuf1 = *p1;
+		    /* If trying to mix non- with ASCII, and not supposed to,
+		     * fail */
+		    if ((flags & FOLDEQ_UTF8_NOMIX_ASCII) && ! isASCII(*p2)) {
+			return 0;
+		    }
+		    n1 = 1;
+		    *foldbuf1 = toLOWER(*p1);   /* Folds in the ASCII range are
+						   just lowercased */
 		}
-		else {
-		    *foldbuf1 = TWO_BYTE_UTF8_TO_UNI(*p1, *(p1 + 1));
+		else if (u1) {
+		    to_utf8_fold(p1, foldbuf1, &n1);
 		}
-		n1 = 1;
-	    }
-	    else if (isASCII(*p1)) {	/* Note, that here won't be both ASCII
-					   and using locale rules */
-
-		/* If trying to mix non- with ASCII, and not supposed to, fail */
-		if ((flags & FOLDEQ_UTF8_NOMIX_ASCII) && ! isASCII(*p2)) {
-		    return 0;
+		else {  /* Not utf8, get utf8 fold */
+		    to_uni_fold(NATIVE_TO_UNI(*p1), foldbuf1, &n1);
 		}
-		n1 = 1;
-		*foldbuf1 = toLOWER(*p1);   /* Folds in the ASCII range are
-					       just lowercased */
+		f1 = foldbuf1;
 	    }
-	    else if (u1) {
-                to_utf8_fold(p1, foldbuf1, &n1);
-            }
-            else {  /* Not utf8, convert to it first and then get fold */
-                uvuni_to_utf8(natbuf, (UV) NATIVE_TO_UNI(((UV)*p1)));
-                to_utf8_fold(natbuf, foldbuf1, &n1);
-            }
-            f1 = foldbuf1;
         }
 
         if (n2 == 0) {    /* Same for s2 */
-	    if ((flags & FOLDEQ_UTF8_LOCALE)
-		&& (! u2 || UTF8_IS_INVARIANT(*p2) || UTF8_IS_DOWNGRADEABLE_START(*p2)))
-	    {
-		/* Here, the next char in s2 is < 256.  We've already worked on
-		 * s1, and if it isn't also < 256, can't match */
-		if (u1 && (! UTF8_IS_INVARIANT(*p1)
-		    && ! UTF8_IS_DOWNGRADEABLE_START(*p1)))
+	    if (flags & FOLDEQ_S2_ALREADY_FOLDED) {
+		f2 = (U8 *) p2;
+		n2 = UTF8SKIP(f2);
+	    }
+	    else {
+		if ((flags & FOLDEQ_UTF8_LOCALE)
+		    && (! u2 || UTF8_IS_INVARIANT(*p2) || UTF8_IS_DOWNGRADEABLE_START(*p2)))
 		{
-		    return 0;
+		    /* Here, the next char in s2 is < 256.  We've already
+		     * worked on s1, and if it isn't also < 256, can't match */
+		    if (u1 && (! UTF8_IS_INVARIANT(*p1)
+			&& ! UTF8_IS_DOWNGRADEABLE_START(*p1)))
+		    {
+			return 0;
+		    }
+		    if (! u2 || UTF8_IS_INVARIANT(*p2)) {
+			*foldbuf2 = *p2;
+		    }
+		    else {
+			*foldbuf2 = TWO_BYTE_UTF8_TO_UNI(*p2, *(p2 + 1));
+		    }
+
+		    /* Use another function to handle locale rules.  We've made
+		     * sure that both characters to compare are single bytes */
+		    if (! foldEQ_locale((char *) f1, (char *) foldbuf2, 1)) {
+			return 0;
+		    }
+		    n1 = n2 = 0;
 		}
-		if (! u2 || UTF8_IS_INVARIANT(*p2)) {
-		    *foldbuf2 = *p2;
+		else if (isASCII(*p2)) {
+		    if ((flags & FOLDEQ_UTF8_NOMIX_ASCII) && ! isASCII(*p1)) {
+			return 0;
+		    }
+		    n2 = 1;
+		    *foldbuf2 = toLOWER(*p2);
 		}
+		else if (u2) {
+		    to_utf8_fold(p2, foldbuf2, &n2);
+		}
 		else {
-		    *foldbuf2 = TWO_BYTE_UTF8_TO_UNI(*p2, *(p2 + 1));
+		    to_uni_fold(NATIVE_TO_UNI(*p2), foldbuf2, &n2);
 		}
-
-		/* Use another function to handle locale rules.  We've made
-		 * sure that both characters to compare are single bytes */
-		if (! foldEQ_locale((char *) f1, (char *) foldbuf2, 1)) {
-		    return 0;
-		}
-		n1 = n2 = 0;
+		f2 = foldbuf2;
 	    }
-	    else if (isASCII(*p2)) {
-		if (flags && ! isASCII(*p1)) {
-		    return 0;
-		}
-		n2 = 1;
-		*foldbuf2 = toLOWER(*p2);
-	    }
-	    else if (u2) {
-                to_utf8_fold(p2, foldbuf2, &n2);
-            }
-            else {
-                uvuni_to_utf8(natbuf, (UV) NATIVE_TO_UNI(((UV)*p2)));
-                to_utf8_fold(natbuf, foldbuf2, &n2);
-            }
-            f2 = foldbuf2;
         }
 
 	/* Here f1 and f2 point to the beginning of the strings to compare.
-	 * These strings are the folds of the input characters, stored in utf8.
-	 */
+	 * These strings are the folds of the next character from each input
+	 * string, stored in utf8. */
 
         /* While there is more to look for in both folds, see if they
         * continue to match */
@@ -3249,7 +4680,7 @@
             if (fold_length != UTF8SKIP(f2)
                 || (fold_length == 1 && *f1 != *f2) /* Short circuit memNE
                                                        function call for single
-                                                       character */
+                                                       byte */
                 || memNE((char*)f1, (char*)f2, fold_length))
             {
                 return 0; /* mismatch */
@@ -3293,8 +4724,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/utf8.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/utf8.h
===================================================================
--- vendor/perl/dist/utf8.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utf8.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,12 +1,22 @@
 /*    utf8.h
  *
- *    Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, 2009 by Larry Wall and others
+ * This file contains definitions for use with the UTF-8 encoding.  It
+ * actually also works with the variant UTF-8 encoding called UTF-EBCDIC, and
+ * hides almost all of the differences between these from the caller.  In other
+ * words, someone should #include this file, and if the code is being compiled
+ * on an EBCDIC platform, things should mostly just work.
  *
+ *    Copyright (C) 2000, 2001, 2002, 2005, 2006, 2007, 2009,
+ *    2010, 2011 by Larry Wall and others
+ *
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
  */
 
+#ifndef H_UTF8      /* Guard against recursive inclusion */
+#define H_UTF8 1
+
 /* Use UTF-8 as the default script encoding?
  * Turning this on will break scripts having non-UTF-8 binary
  * data (such as Latin-1) in string literals. */
@@ -16,9 +26,23 @@
 #    define USE_UTF8_IN_NAMES (PL_hints & HINT_UTF8)
 #endif
 
-#define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, 1)
-#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, 1)
+/* For to_utf8_fold_flags, q.v. */
+#define FOLD_FLAGS_LOCALE 0x1
+#define FOLD_FLAGS_FULL   0x2
+#define FOLD_FLAGS_NOMIX_ASCII 0x4
 
+/* For _core_swash_init(), internal core use only */
+#define _CORE_SWASH_INIT_USER_DEFINED_PROPERTY 0x1
+#define _CORE_SWASH_INIT_RETURN_IF_UNDEF       0x2
+#define _CORE_SWASH_INIT_ACCEPT_INVLIST        0x4
+
+#define to_uni_fold(c, p, lenp) _to_uni_fold_flags(c, p, lenp, FOLD_FLAGS_FULL)
+#define to_utf8_fold(c, p, lenp) _to_utf8_fold_flags(c, p, lenp, \
+	             FOLD_FLAGS_FULL, NULL)
+#define to_utf8_lower(a,b,c) _to_utf8_lower_flags(a,b,c,0, NULL)
+#define to_utf8_upper(a,b,c) _to_utf8_upper_flags(a,b,c,0, NULL)
+#define to_utf8_title(a,b,c) _to_utf8_title_flags(a,b,c,0, NULL)
+
 /* Source backward compatibility. */
 #define uvuni_to_utf8(d, uv)		uvuni_to_utf8_flags(d, uv, 0)
 #define is_utf8_string_loc(s, len, ep)	is_utf8_string_loclen(s, len, ep, 0)
@@ -27,6 +51,8 @@
 		    foldEQ_utf8_flags(s1, pe1, l1, u1, s2, pe2, l2, u2, 0)
 #define FOLDEQ_UTF8_NOMIX_ASCII (1 << 0)
 #define FOLDEQ_UTF8_LOCALE      (1 << 1)
+#define FOLDEQ_S1_ALREADY_FOLDED  (1 << 2)
+#define FOLDEQ_S2_ALREADY_FOLDED  (1 << 3)
 
 /*
 =for apidoc ibcmp_utf8
@@ -50,15 +76,25 @@
 
 #ifdef DOINIT
 EXTCONST unsigned char PL_utf8skip[] = {
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus */
-1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus */
-2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* scripts */
-3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,6,6,	 /* cjk etc. */
-7,13, /* Perl extended (not UTF-8).  Up to 72bit allowed (64-bit + reserved). */
+/* 0x00 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+/* 0x10 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+/* 0x20 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+/* 0x30 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+/* 0x40 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+/* 0x50 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+/* 0x60 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+/* 0x70 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* ascii */
+/* 0x80 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus: continuation byte */
+/* 0x90 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus: continuation byte */
+/* 0xA0 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus: continuation byte */
+/* 0xB0 */ 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* bogus: continuation byte */
+/* 0xC0 */ 2,2,				    /* overlong */
+/* 0xC2 */ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,     /* U+0080 to U+03FF */
+/* 0xD0 */ 2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2, /* U+0400 to U+07FF */
+/* 0xE0 */ 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, /* U+0800 to U+FFFF */
+/* 0xF0 */ 4,4,4,4,4,4,4,4,5,5,5,5,6,6,	    /* above BMP to 2**31 - 1 */
+/* 0xFE */ 7,13, /* Perl extended (never was official UTF-8).  Up to 72bit
+		    allowed (64-bit + reserved). */
 };
 #else
 EXTCONST unsigned char PL_utf8skip[];
@@ -66,12 +102,17 @@
 
 END_EXTERN_C
 
+#include "regcharclass.h"
+#include "unicode_constants.h"
+
 /* Native character to iso-8859-1 */
 #define NATIVE_TO_ASCII(ch)      (ch)
 #define ASCII_TO_NATIVE(ch)      (ch)
 /* Transform after encoding */
 #define NATIVE_TO_UTF(ch)        (ch)
+#define NATIVE_TO_I8(ch) NATIVE_TO_UTF(ch)	/* a clearer synonym */
 #define UTF_TO_NATIVE(ch)        (ch)
+#define I8_TO_NATIVE(ch) UTF_TO_NATIVE(ch)
 /* Transforms in wide UV chars */
 #define UNI_TO_NATIVE(ch)        (ch)
 #define NATIVE_TO_UNI(ch)        (ch)
@@ -81,6 +122,7 @@
 
 /* As there are no translations, avoid the function wrapper */
 #define utf8n_to_uvchr utf8n_to_uvuni
+#define valid_utf8_to_uvchr valid_utf8_to_uvuni
 #define uvchr_to_utf8  uvuni_to_utf8
 
 /*
@@ -94,17 +136,21 @@
    U+0800..U+0FFF	E0      * A0..BF    80..BF
    U+1000..U+CFFF       E1..EC    80..BF    80..BF
    U+D000..U+D7FF       ED        80..9F    80..BF
-   U+D800..U+DFFF       +++++++ utf16 surrogates, not legal utf8 +++++++
+   U+D800..U+DFFF       ED        A0..BF    80..BF  (surrogates)
    U+E000..U+FFFF       EE..EF    80..BF    80..BF
   U+10000..U+3FFFF	F0      * 90..BF    80..BF    80..BF
   U+40000..U+FFFFF	F1..F3    80..BF    80..BF    80..BF
  U+100000..U+10FFFF	F4        80..8F    80..BF    80..BF
+    Below are non-Unicode code points
+ U+110000..U+13FFFF	F4        90..BF    80..BF    80..BF
+ U+110000..U+1FFFFF	F5..F7    80..BF    80..BF    80..BF
+ U+200000..:            F8..    * 88..BF    80..BF    80..BF    80..BF
 
 Note the gaps before several of the byte entries above marked by '*'.  These are
 caused by legal UTF-8 avoiding non-shortest encodings: it is technically
 possible to UTF-8-encode a single code point in different ways, but that is
 explicitly forbidden, and the shortest possible encoding should always be used
-(and that is what Perl does).
+(and that is what Perl does).  The non-shortest ones are called 'overlongs'.
 
  */
 
@@ -111,12 +157,12 @@
 /*
  Another way to look at it, as bits:
 
- Code Points                    1st Byte   2nd Byte  3rd Byte  4th Byte
+                  Code Points      1st Byte   2nd Byte   3rd Byte   4th Byte
 
-                    0aaaaaaa     0aaaaaaa
-            00000bbbbbaaaaaa     110bbbbb  10aaaaaa
-            ccccbbbbbbaaaaaa     1110cccc  10bbbbbb  10aaaaaa
-  00000dddccccccbbbbbbaaaaaa     11110ddd  10cccccc  10bbbbbb  10aaaaaa
+                        0aaa aaaa  0aaa aaaa
+              0000 0bbb bbaa aaaa  110b bbbb  10aa aaaa
+              cccc bbbb bbaa aaaa  1110 cccc  10bb bbbb  10aa aaaa
+ 00 000d ddcc cccc bbbb bbaa aaaa  1111 0ddd  10cc cccc  10bb bbbb  10aa aaaa
 
 As you can see, the continuation bytes all begin with C<10>, and the
 leading bits of the start byte tell how many bytes there are in the
@@ -126,21 +172,63 @@
 
 */
 
+/* Is the representation of the Unicode code point 'c' the same regardless of
+ * being encoded in UTF-8 or not? */
 #define UNI_IS_INVARIANT(c)		(((UV)c) <  0x80)
-/* Note that C0 and C1 are invalid in legal UTF8, so the lower bound of the
- * below might ought to be C2 */
-#define UTF8_IS_START(c)		(((U8)c) >= 0xc0)
-#define UTF8_IS_CONTINUATION(c)		(((U8)c) >= 0x80 && (((U8)c) <= 0xbf))
+
+/* Is the UTF8-encoded byte 'c' part of a variant sequence in UTF-8?  This is
+ * the inverse of UTF8_IS_INVARIANT */
 #define UTF8_IS_CONTINUED(c) 		(((U8)c) &  0x80)
-#define UTF8_IS_DOWNGRADEABLE_START(c)	(((U8)c & 0xfc) == 0xc0)
 
+/* Is the byte 'c' the first byte of a multi-byte UTF8-8 encoded sequence?
+ * This doesn't catch invariants (they are single-byte).  It also excludes the
+ * illegal overlong sequences that begin with C0 and C1. */
+#define UTF8_IS_START(c)		(((U8)c) >= 0xc2)
+
+/* Is the byte 'c' part of a multi-byte UTF8-8 encoded sequence, and not the
+ * first byte thereof?  */
+#define UTF8_IS_CONTINUATION(c)		((((U8)c) & 0xC0) == 0x80)
+
+/* Is the UTF8-encoded byte 'c' the first byte of a two byte sequence?  Use
+ * UTF8_IS_NEXT_CHAR_DOWNGRADEABLE() instead if the input isn't known to
+ * be well-formed.  Masking with 0xfe allows the low bit to be 0 or 1; thus
+ * this matches 0xc[23]. */
+#define UTF8_IS_DOWNGRADEABLE_START(c)	(((U8)(c) & 0xfe) == 0xc2)
+
+/* Is the UTF8-encoded byte 'c' the first byte of a sequence of bytes that
+ * represent a code point > 255? */
+#define UTF8_IS_ABOVE_LATIN1(c)	((U8)(c) >= 0xc4)
+
+/* This defines the 1-bits that are to be in the first byte of a multi-byte
+ * UTF-8 encoded character that give the number of bytes that comprise the
+ * character.
+ * */
 #define UTF_START_MARK(len) (((len) >  7) ? 0xFF : (0xFE << (7-(len))))
+
+/* Masks out the initial one bits in a start byte, leaving the real data ones.
+ * Doesn't work on an invariant byte */
 #define UTF_START_MASK(len) (((len) >= 7) ? 0x00 : (0x1F >> ((len)-2)))
 
+/* This defines the bits that are to be in the continuation bytes of a multi-byte
+ * UTF-8 encoded character that indicate it is a continuation byte. */
 #define UTF_CONTINUATION_MARK		0x80
+
+/* This is the number of low-order bits a continuation byte in a UTF-8 encoded
+ * sequence contributes to the specification of the code point.  In the bit
+ * maps above, you see that the first 2 bits are a constant '10', leaving 6 of
+ * real information */
 #define UTF_ACCUMULATION_SHIFT		6
+
+/* 2**UTF_ACCUMULATION_SHIFT - 1 */
 #define UTF_CONTINUATION_MASK		((U8)0x3f)
 
+/* If a value is anded with this, and the result is non-zero, then using the
+ * original value in UTF8_ACCUMULATE will overflow, shifting bits off the left
+ * */
+#define UTF_ACCUMULATION_OVERFLOW_MASK					\
+    (((UV) UTF_CONTINUATION_MASK) << ((sizeof(UV) * CHARBITS)           \
+           - UTF_ACCUMULATION_SHIFT))
+
 #ifdef HAS_QUAD
 #define UNISKIP(uv) ( (uv) < 0x80           ? 1 : \
 		      (uv) < 0x800          ? 2 : \
@@ -159,6 +247,25 @@
 		      (uv) < 0x80000000     ? 6 : 7 )
 #endif
 
+/* How wide can a single UTF-8 encoded character become in bytes. */
+/* NOTE: Strictly speaking Perl's UTF-8 should not be called UTF-8 since UTF-8
+ * is an encoding of Unicode, and Unicode's upper limit, 0x10FFFF, can be
+ * expressed with 4 bytes.  However, Perl thinks of UTF-8 as a way to encode
+ * non-negative integers in a binary format, even those above Unicode */
+#define UTF8_MAXBYTES 13
+
+/* The maximum number of UTF-8 bytes a single Unicode character can
+ * uppercase/lowercase/fold into.  Unicode guarantees that the maximum
+ * expansion is 3 characters.  On ASCIIish platforms, the highest Unicode
+ * character occupies 4 bytes, therefore this number would be 12, but this is
+ * smaller than the maximum width a single above-Unicode character can occupy,
+ * so use that instead */
+#if UTF8_MAXBYTES < 12
+#error UTF8_MAXBYTES must be at least 12
+#endif
+
+#define UTF8_MAXBYTES_CASE	UTF8_MAXBYTES
+
 #endif /* EBCDIC vs ASCII */
 
 /* Rest of these are attributes of Unicode and perl's internals rather than the
@@ -168,8 +275,17 @@
 
 #define NATIVE8_TO_UNI(ch)     NATIVE_TO_ASCII(ch)	/* a clearer synonym */
 
-#define UTF8_ACCUMULATE(old, new)	(((old) << UTF_ACCUMULATION_SHIFT) | (((U8)new) & UTF_CONTINUATION_MASK))
+/* Adds a UTF8 continuation byte 'new' of information to a running total code
+ * point 'old' of all the continuation bytes so far.  This is designed to be
+ * used in a loop to convert from UTF-8 to the code point represented */
+#define UTF8_ACCUMULATE(old, new)	(((old) << UTF_ACCUMULATION_SHIFT)     \
+                                        | (((U8)new) & UTF_CONTINUATION_MASK))
 
+/* This works in the face of malformed UTF-8. */
+#define UTF8_IS_NEXT_CHAR_DOWNGRADEABLE(s, e) (UTF8_IS_DOWNGRADEABLE_START(*s) \
+                                               && ( (e) - (s) > 1)             \
+                                               && UTF8_IS_CONTINUATION(*((s)+1)))
+
 /* Convert a two (not one) byte utf8 character to a unicode code point value.
  * Needs just one iteration of accumulate.  Should not be used unless it is
  * known that the two bytes are legal: 1) two-byte start, and 2) continuation.
@@ -179,9 +295,16 @@
 		    UTF8_ACCUMULATE((NATIVE_TO_UTF(HI) & UTF_START_MASK(2)), \
 				     NATIVE_TO_UTF(LO))
 
+/* How many bytes in the UTF-8 encoded character whose first (perhaps only)
+ * byte is pointed to by 's' */
 #define UTF8SKIP(s) PL_utf8skip[*(const U8*)(s)]
 
+/* Is the byte 'c' the same character when encoded in UTF-8 as when not.  This
+ * works on both UTF-8 encoded strings and non-encoded, as it returns TRUE in
+ * each for the exact same set of bit patterns.  (And it works on any byte in a
+ * UTF-8 encoded string) */
 #define UTF8_IS_INVARIANT(c)		UNI_IS_INVARIANT(NATIVE_TO_UTF(c))
+
 #define NATIVE_IS_INVARIANT(c)		UNI_IS_INVARIANT(NATIVE8_TO_UNI(c))
 
 #define MAX_PORTABLE_UTF8_TWO_BYTE 0x3FF    /* constrained by EBCDIC */
@@ -190,8 +313,10 @@
  * bytes from an ordinal that is known to fit into two bytes; it must be less
  * than 0x3FF to work across both encodings. */
 /* Nocast allows these to be used in the case label of a switch statement */
-#define UTF8_TWO_BYTE_HI_nocast(c)	UTF_TO_NATIVE(((c) >> UTF_ACCUMULATION_SHIFT) | (0xFF & UTF_START_MARK(2)))
-#define UTF8_TWO_BYTE_LO_nocast(c)	UTF_TO_NATIVE(((c) & UTF_CONTINUATION_MASK) | UTF_CONTINUATION_MARK)
+#define UTF8_TWO_BYTE_HI_nocast(c)	NATIVE_TO_I8(((c)                       \
+                        >> UTF_ACCUMULATION_SHIFT) | (0xFF & UTF_START_MARK(2)))
+#define UTF8_TWO_BYTE_LO_nocast(c)  NATIVE_TO_I8(((c) & UTF_CONTINUATION_MASK)  \
+                                    | UTF_CONTINUATION_MARK)
 
 #define UTF8_TWO_BYTE_HI(c)	((U8) (UTF8_TWO_BYTE_HI_nocast(c)))
 #define UTF8_TWO_BYTE_LO(c)	((U8) (UTF8_TWO_BYTE_LO_nocast(c)))
@@ -201,46 +326,32 @@
 #define UTF8_EIGHT_BIT_LO(c)	UTF8_TWO_BYTE_LO((U8)(c))
 
 /*
- * Note: we try to be careful never to call the isXXX_utf8() functions
- * unless we're pretty sure we've seen the beginning of a UTF-8 or UTFEBCDIC
- * character.  Otherwise we risk loading in the heavy-duty swash_init and
- * swash_fetch routines unnecessarily.
+ * 'UTF' is whether or not p is encoded in UTF8.  The names 'foo_lazy_if' stem
+ * from an earlier version of these macros in which they didn't call the
+ * foo_utf8() macros (i.e. were 'lazy') unless they decided that *p is the
+ * beginning of a utf8 character.  Now that foo_utf8() determines that itself,
+ * no need to do it again here
  */
-#define isIDFIRST_lazy_if(p,c) ((IN_BYTES || (!c || ! UTF8_IS_START(*((const U8*)p)))) \
-				? isIDFIRST(*(p)) \
-				: isIDFIRST_utf8((const U8*)p))
-#define isALNUM_lazy_if(p,c)   ((IN_BYTES || (!c || ! UTF8_IS_START(*((const U8*)p)))) \
-				? isALNUM(*(p)) \
-				: isALNUM_utf8((const U8*)p))
+#define isIDFIRST_lazy_if(p,UTF) ((IN_BYTES || !UTF ) \
+				 ? isIDFIRST(*(p)) \
+				 : isIDFIRST_utf8((const U8*)p))
+#define isWORDCHAR_lazy_if(p,UTF)   ((IN_BYTES || (!UTF )) \
+				 ? isWORDCHAR(*(p)) \
+				 : isWORDCHAR_utf8((const U8*)p))
+#define isALNUM_lazy_if(p,UTF)   isWORDCHAR_lazy_if(p,UTF)
 
-#define isIDFIRST_lazy(p)	isIDFIRST_lazy_if(p,1)
-#define isALNUM_lazy(p)		isALNUM_lazy_if(p,1)
-
-#define UTF8_MAXBYTES 13
-/* How wide can a single UTF-8 encoded character become in bytes.
- * NOTE: Strictly speaking Perl's UTF-8 should not be called UTF-8
- * since UTF-8 is an encoding of Unicode and given Unicode's current
- * upper limit only four bytes is possible.  Perl thinks of UTF-8
- * as a way to encode non-negative integers in a binary format. */
 #define UTF8_MAXLEN UTF8_MAXBYTES
 
-/* The maximum number of UTF-8 bytes a single Unicode character can
- * uppercase/lowercase/fold into; this number depends on the Unicode
- * version.  An example of maximal expansion is the U+03B0 which
- * uppercases to U+03C5 U+0308 U+0301.  The Unicode databases that
- * tell these things are UnicodeData.txt, CaseFolding.txt, and
- * SpecialCasing.txt.  The value is 6 for strict Unicode characters, but it has
- * to be as big as Perl allows for a single character */
-#define UTF8_MAXBYTES_CASE	UTF8_MAXBYTES
-
 /* A Unicode character can fold to up to 3 characters */
 #define UTF8_MAX_FOLD_CHAR_EXPAND 3
 
 #define IN_BYTES (CopHINTS_get(PL_curcop) & HINT_BYTES)
 #define DO_UTF8(sv) (SvUTF8(sv) && !IN_BYTES)
-#define IN_UNI_8_BIT ( (CopHINTS_get(PL_curcop) & HINT_UNI_8_BIT) \
-			&& ! IN_LOCALE_RUNTIME && ! IN_BYTES)
+#define IN_UNI_8_BIT \
+	    (CopHINTS_get(PL_curcop) & (HINT_UNI_8_BIT|HINT_LOCALE_NOT_CHARS) \
+	     && ! IN_LOCALE_RUNTIME && ! IN_BYTES)
 
+
 #define UTF8_ALLOW_EMPTY		0x0001	/* Allow a zero length string */
 
 /* Allow first byte to be a continuation byte */
@@ -292,24 +403,11 @@
  * problematic in some contexts.  This allows code that needs to check for
  * those to to quickly exclude the vast majority of code points it will
  * encounter */
-#ifdef EBCDIC
-#   define UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE UTF_TO_NATIVE(0xF1)
-#else
-#   define UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE 0xED
-#endif
+#define UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE \
+                                    FIRST_SURROGATE_UTF8_FIRST_BYTE
 
-/*		ASCII		   EBCDIC I8
- * U+D7FF:   \xED\x9F\xBF	\xF1\xB5\xBF\xBF    last before surrogates
- * U+D800:   \xED\xA0\x80	\xF1\xB6\xA0\xA0    1st surrogate
- * U+DFFF:   \xED\xBF\xBF	\xF1\xB7\xBF\xBF    final surrogate
- * U+E000:   \xEE\x80\x80	\xF1\xB8\xA0\xA0    next after surrogates
- */
-#ifdef EBCDIC /* Both versions assume well-formed UTF8 */
-#   define UTF8_IS_SURROGATE(s)  (*(s) == UTF_TO_NATIVE(0xF1)                   \
-      && (*((s) +1) == UTF_TO_NATIVE(0xB6)) || *((s) + 1) == UTF_TO_NATIVE(0xB7))
-#else
-#   define UTF8_IS_SURROGATE(s) (*(s) == 0xED && *((s) + 1) >= 0xA0)
-#endif
+#define UTF8_IS_SURROGATE(s) cBOOL(is_SURROGATE_utf8(s))
+#define UTF8_IS_REPLACEMENT(s, send) cBOOL(is_REPLACEMENT_utf8_safe(s,send))
 
 /*		  ASCII		     EBCDIC I8
  * U+10FFFF: \xF4\x8F\xBF\xBF	\xF9\xA1\xBF\xBF\xBF	max legal Unicode
@@ -317,68 +415,21 @@
  * U+110001: \xF4\x90\x80\x81	\xF9\xA2\xA0\xA0\xA1
  */
 #ifdef EBCDIC /* Both versions assume well-formed UTF8 */
-#   define UTF8_IS_SUPER(s)  (*(s) >= UTF_TO_NATIVE(0xF9)                       \
-      && (*(s) > UTF_TO_NATIVE(0xF9) || (*((s) + 1) >= UTF_TO_NATIVE(0xA2))))
+#   define UTF8_IS_SUPER(s)  (NATIVE_TO_I8(* (U8*) (s)) >= 0xF9                 \
+                              && (NATIVE_TO_I8(* (U8*) (s)) > 0xF9              \
+                                  || (NATIVE_TO_I8(* (U8*) ((s)) + 1 >= 0xA2))))
 #else
-#   define UTF8_IS_SUPER(s)  (*(s) >= 0xF4                                      \
-					&& (*(s) > 0xF4 || (*((s) + 1) >= 0x90)))
+#   define UTF8_IS_SUPER(s) (*(U8*) (s) >= 0xF4                                 \
+                            && (*(U8*) (s) > 0xF4 || (*((U8*) (s) + 1) >= 0x90)))
 #endif
 
-/*	   ASCII		     EBCDIC I8
- * U+FDCF: \xEF\xB7\x8F		\xF1\xBF\xAE\xAF	last before non-char block
- * U+FDD0: \xEF\xB7\x90		\xF1\xBF\xAE\xB0	first non-char in block
- * U+FDEF: \xEF\xB7\xAF		\xF1\xBF\xAF\xAF	last non-char in block
- * U+FDF0: \xEF\xB7\xB0		\xF1\xBF\xAF\xB0	first after non-char block
- * U+FFFF: \xEF\xBF\xBF		\xF1\xBF\xBF\xBF
- * U+1FFFF: \xF0\x9F\xBF\xBF	\xF3\xBF\xBF\xBF
- * U+2FFFF: \xF0\xAF\xBF\xBF	\xF5\xBF\xBF\xBF
- * U+3FFFF: \xF0\xBF\xBF\xBF	\xF7\xBF\xBF\xBF
- * U+4FFFF: \xF1\x8F\xBF\xBF	\xF8\xA9\xBF\xBF\xBF
- * U+5FFFF: \xF1\x9F\xBF\xBF	\xF8\xAB\xBF\xBF\xBF
- * U+6FFFF: \xF1\xAF\xBF\xBF	\xF8\xAD\xBF\xBF\xBF
- * U+7FFFF: \xF1\xBF\xBF\xBF	\xF8\xAF\xBF\xBF\xBF
- * U+8FFFF: \xF2\x8F\xBF\xBF	\xF8\xB1\xBF\xBF\xBF
- * U+9FFFF: \xF2\x9F\xBF\xBF	\xF8\xB3\xBF\xBF\xBF
- * U+AFFFF: \xF2\xAF\xBF\xBF	\xF8\xB5\xBF\xBF\xBF
- * U+BFFFF: \xF2\xBF\xBF\xBF	\xF8\xB7\xBF\xBF\xBF
- * U+CFFFF: \xF3\x8F\xBF\xBF	\xF8\xB9\xBF\xBF\xBF
- * U+DFFFF: \xF3\x9F\xBF\xBF	\xF8\xBB\xBF\xBF\xBF
- * U+EFFFF: \xF3\xAF\xBF\xBF	\xF8\xBD\xBF\xBF\xBF
- * U+FFFFF: \xF3\xBF\xBF\xBF	\xF8\xBF\xBF\xBF\xBF
- * U+10FFFF: \xF4\x8F\xBF\xBF	\xF9\xA1\xBF\xBF\xBF
- */
-#define UTF8_IS_NONCHAR_(s) (                                                   \
-    *(s) >= UTF8_FIRST_PROBLEMATIC_CODE_POINT_FIRST_BYTE                        \
-    && ! UTF8_IS_SUPER(s)                                                       \
-    && UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_FIRST_PROBLEMATIC(s)         \
+/* These are now machine generated, and the 'given' clause is no longer
+ * applicable */
+#define UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s)             \
+                                                    cBOOL(is_NONCHAR_utf8(s))
+#define UTF8_IS_NONCHAR_(s)                                                    \
+                    UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s)
 
-#ifdef EBCDIC /* Both versions assume well-formed UTF8 */
-#   define UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s)           \
-    ((*(s) == UTF_TO_NATIVE(0xF1)                                               \
-       && (*((s) + 1) == UTF_TO_NATIVE(0xBF)                                    \
-       &&    ((*((s) + 2) == UTF_TO_NATIVE(0xAE)                                \
-	    && *((s) + 3) >= UTF_TO_NATIVE(0xB0))                               \
-	  || (*((s) + 2) == UTF_TO_NATIVE(0xAF)                                 \
-	    && *((s) + 3) <= UTF_TO_NATIVE(0xAF)))))                            \
-    || (UTF8SKIP(*(s)) > 3                                                      \
-	/* (These were all derived by inspection and experimentation with an */ \
-	/* editor)  The next line checks the next to final byte in the char */  \
-	&& *((s) + UTF8SKIP(*(s)) - 2) == UTF_TO_NATIVE(0xBF)                   \
-	&& *((s) + UTF8SKIP(*(s)) - 3) == UTF_TO_NATIVE(0xBF)                   \
-        && (NATIVE_TO_UTF(*((s) + UTF8SKIP(*(s)) - 4)) & 0x81) == 0x81          \
-        && (NATIVE_TO_UTF(*((s) + UTF8SKIP(*(s)) - 1)) & 0xBE) == 0XBE))
-#else
-#   define UTF8_IS_NONCHAR_GIVEN_THAT_NON_SUPER_AND_GE_PROBLEMATIC(s)           \
-    ((*(s) == 0xEF                                                              \
-	&& ((*((s) + 1) == 0xB7 && (*((s) + 2) >= 0x90 && (*((s) + 2) <= 0xAF)))\
-		/* Gets U+FFF[EF] */                                            \
-	    || (*((s) + 1) == 0xBF && ((*((s) + 2) & 0xBE) == 0xBE))))          \
- || ((*((s) + 2) == 0xBF                                                        \
-	 && (*((s) + 3) & 0xBE) == 0xBE                                         \
-	    /* Excludes things like U+10FFE = \xF0\x90\xBF\xBE */               \
-	 && (*((s) + 1) & 0x8F) == 0x8F)))
-#endif
-
 #define UNICODE_SURROGATE_FIRST		0xD800
 #define UNICODE_SURROGATE_LAST		0xDFFF
 #define UNICODE_REPLACEMENT		0xFFFD
@@ -396,10 +447,10 @@
 #define UNICODE_DISALLOW_NONCHAR   0x0020
 #define UNICODE_DISALLOW_SUPER     0x0040
 #define UNICODE_DISALLOW_FE_FF     0x0080
-#define UNICODE_WARN_ILLEGAL_INTERCHANGE \
-    (UNICODE_WARN_SURROGATE|UNICODE_WARN_NONCHAR|UNICODE_WARN_SUPER)
-#define UNICODE_DISALLOW_ILLEGAL_INTERCHANGE \
-    (UNICODE_DISALLOW_SURROGATE|UNICODE_DISALLOW_NONCHAR|UNICODE_DISALLOW_SUPER)
+#define UNICODE_WARN_ILLEGAL_INTERCHANGE                                      \
+            (UNICODE_WARN_SURROGATE|UNICODE_WARN_NONCHAR|UNICODE_WARN_SUPER)
+#define UNICODE_DISALLOW_ILLEGAL_INTERCHANGE                                  \
+ (UNICODE_DISALLOW_SURROGATE|UNICODE_DISALLOW_NONCHAR|UNICODE_DISALLOW_SUPER)
 
 /* For backward source compatibility, as are now the default */
 #define UNICODE_ALLOW_SURROGATE 0
@@ -424,6 +475,14 @@
 #    define UTF8_QUAD_MAX	UINT64_C(0x1000000000)
 #endif
 
+#define LATIN_SMALL_LETTER_SHARP_S      LATIN_SMALL_LETTER_SHARP_S_NATIVE
+#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS                                  \
+                                LATIN_SMALL_LETTER_Y_WITH_DIAERESIS_NATIVE
+#define MICRO_SIGN      MICRO_SIGN_NATIVE
+#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE                               \
+                            LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE_NATIVE
+#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE                                 \
+                                LATIN_SMALL_LETTER_A_WITH_RING_ABOVE_NATIVE
 #define UNICODE_GREEK_CAPITAL_LETTER_SIGMA	0x03A3
 #define UNICODE_GREEK_SMALL_LETTER_FINAL_SIGMA	0x03C2
 #define UNICODE_GREEK_SMALL_LETTER_SIGMA	0x03C3
@@ -431,6 +490,9 @@
 #define GREEK_CAPITAL_LETTER_MU 0x039C	/* Upper and title case of MICRON */
 #define LATIN_CAPITAL_LETTER_Y_WITH_DIAERESIS 0x0178	/* Also is title case */
 #define LATIN_CAPITAL_LETTER_SHARP_S	0x1E9E
+#define LATIN_SMALL_LETTER_LONG_S   0x017F
+#define KELVIN_SIGN                 0x212A
+#define ANGSTROM_SIGN               0x212B
 
 #define UNI_DISPLAY_ISPRINT	0x0001
 #define UNI_DISPLAY_BACKSLASH	0x0002
@@ -437,14 +499,6 @@
 #define UNI_DISPLAY_QQ		(UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH)
 #define UNI_DISPLAY_REGEX	(UNI_DISPLAY_ISPRINT|UNI_DISPLAY_BACKSLASH)
 
-#ifndef EBCDIC
-#   define LATIN_SMALL_LETTER_SHARP_S	0x00DF
-#   define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS 0x00FF
-#   define MICRO_SIGN 0x00B5
-#   define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE 0x00C5
-#   define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE 0x00E5
-#endif
-
 #define ANYOF_FOLD_SHARP_S(node, input, end)	\
 	(ANYOF_BITMAP_TEST(node, LATIN_SMALL_LETTER_SHARP_S) && \
 	 (ANYOF_NONBITMAP(node)) && \
@@ -454,88 +508,71 @@
 	 toLOWER((input)[1]) == 's')
 #define SHARP_S_SKIP 2
 
-#ifdef EBCDIC
-/* IS_UTF8_CHAR() is not ported to EBCDIC */
-#else
-#define IS_UTF8_CHAR_1(p)	\
-	((p)[0] <= 0x7F)
-#define IS_UTF8_CHAR_2(p)	\
-	((p)[0] >= 0xC2 && (p)[0] <= 0xDF && \
-	 (p)[1] >= 0x80 && (p)[1] <= 0xBF)
-#define IS_UTF8_CHAR_3a(p)	\
-	((p)[0] == 0xE0 && \
-	 (p)[1] >= 0xA0 && (p)[1] <= 0xBF && \
-	 (p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_3b(p)	\
-	((p)[0] >= 0xE1 && (p)[0] <= 0xEC && \
-	 (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
-	 (p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_3c(p)	\
-	((p)[0] == 0xED && \
-	 (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
-	 (p)[2] >= 0x80 && (p)[2] <= 0xBF)
-/* In IS_UTF8_CHAR_3c(p) one could use
- * (p)[1] >= 0x80 && (p)[1] <= 0x9F
- * if one wanted to exclude surrogates. */
-#define IS_UTF8_CHAR_3d(p)	\
-	((p)[0] >= 0xEE && (p)[0] <= 0xEF && \
-	 (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
-	 (p)[2] >= 0x80 && (p)[2] <= 0xBF)
-#define IS_UTF8_CHAR_4a(p)	\
-	((p)[0] == 0xF0 && \
-	 (p)[1] >= 0x90 && (p)[1] <= 0xBF && \
-	 (p)[2] >= 0x80 && (p)[2] <= 0xBF && \
-	 (p)[3] >= 0x80 && (p)[3] <= 0xBF)
-#define IS_UTF8_CHAR_4b(p)	\
-	((p)[0] >= 0xF1 && (p)[0] <= 0xF3 && \
-	 (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
-	 (p)[2] >= 0x80 && (p)[2] <= 0xBF && \
-	 (p)[3] >= 0x80 && (p)[3] <= 0xBF)
-/* In IS_UTF8_CHAR_4c(p) one could use
- * (p)[0] == 0xF4
- * if one wanted to stop at the Unicode limit U+10FFFF.
- * The 0xF7 allows us to go to 0x1fffff (0x200000 would
- * require five bytes).  Not doing any further code points
- * since that is not needed (and that would not be strict
- * UTF-8, anyway).  The "slow path" in Perl_is_utf8_char()
- * will take care of the "extended UTF-8". */
-#define IS_UTF8_CHAR_4c(p)	\
-	((p)[0] >= 0xF4 && (p)[0] <= 0xF7 && \
-	 (p)[1] >= 0x80 && (p)[1] <= 0xBF && \
-	 (p)[2] >= 0x80 && (p)[2] <= 0xBF && \
-	 (p)[3] >= 0x80 && (p)[3] <= 0xBF)
+/* If you want to exclude surrogates, and beyond legal Unicode, see the blame
+ * log for earlier versions which gave details for these */
 
-#define IS_UTF8_CHAR_3(p)	\
-	(IS_UTF8_CHAR_3a(p) || \
-	 IS_UTF8_CHAR_3b(p) || \
-	 IS_UTF8_CHAR_3c(p) || \
-	 IS_UTF8_CHAR_3d(p))
-#define IS_UTF8_CHAR_4(p)	\
-	(IS_UTF8_CHAR_4a(p) || \
-	 IS_UTF8_CHAR_4b(p) || \
-	 IS_UTF8_CHAR_4c(p))
+#ifndef EBCDIC
+/* This was generated by regen/regcharclass.pl, and then moved here.  The lines
+ * that generated it were then commented out.  This was done solely because it
+ * takes on the order of 10 minutes to generate, and is never going to change.
+ * The EBCDIC equivalent hasn't been commented out in regcharclass.pl, so it
+ * should generate and run the correct stuff */
+/*
+	UTF8_CHAR: Matches utf8 from 1 to 4 bytes
 
+	0x0 - 0x1FFFFF
+*/
+/*** GENERATED CODE ***/
+#define is_UTF8_CHAR_utf8_safe(s,e)                                         \
+( ((e)-(s) > 3) ?                                                           \
+    ( ( ( ((U8*)s)[0] & 0x80 ) == 0x00 ) ? 1                                \
+    : ( 0xC2 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xDF ) ?                      \
+	( ( ( ((U8*)s)[1] & 0xC0 ) == 0x80 ) ? 2 : 0 )                      \
+    : ( 0xE0 == ((U8*)s)[0] ) ?                                             \
+	( ( ( ( ((U8*)s)[1] & 0xE0 ) == 0xA0 ) && ( ( ((U8*)s)[2] & 0xC0 ) == 0x80 ) ) ? 3 : 0 )\
+    : ( 0xE1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xEF ) ?                      \
+	( ( ( ( ((U8*)s)[1] & 0xC0 ) == 0x80 ) && ( ( ((U8*)s)[2] & 0xC0 ) == 0x80 ) ) ? 3 : 0 )\
+    : ( 0xF0 == ((U8*)s)[0] ) ?                                             \
+	( ( ( ( 0x90 <= ((U8*)s)[1] && ((U8*)s)[1] <= 0xBF ) && ( ( ((U8*)s)[2] & 0xC0 ) == 0x80 ) ) && ( ( ((U8*)s)[3] & 0xC0 ) == 0x80 ) ) ? 4 : 0 )\
+    : ( ( ( ( 0xF1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xF7 ) && ( ( ((U8*)s)[1] & 0xC0 ) == 0x80 ) ) && ( ( ((U8*)s)[2] & 0xC0 ) == 0x80 ) ) && ( ( ((U8*)s)[3] & 0xC0 ) == 0x80 ) ) ? 4 : 0 )\
+: ((e)-(s) > 2) ?                                                           \
+    ( ( ( ((U8*)s)[0] & 0x80 ) == 0x00 ) ? 1                                \
+    : ( 0xC2 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xDF ) ?                      \
+	( ( ( ((U8*)s)[1] & 0xC0 ) == 0x80 ) ? 2 : 0 )                      \
+    : ( 0xE0 == ((U8*)s)[0] ) ?                                             \
+	( ( ( ( ((U8*)s)[1] & 0xE0 ) == 0xA0 ) && ( ( ((U8*)s)[2] & 0xC0 ) == 0x80 ) ) ? 3 : 0 )\
+    : ( ( ( 0xE1 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xEF ) && ( ( ((U8*)s)[1] & 0xC0 ) == 0x80 ) ) && ( ( ((U8*)s)[2] & 0xC0 ) == 0x80 ) ) ? 3 : 0 )\
+: ((e)-(s) > 1) ?                                                           \
+    ( ( ( ((U8*)s)[0] & 0x80 ) == 0x00 ) ? 1                                \
+    : ( ( 0xC2 <= ((U8*)s)[0] && ((U8*)s)[0] <= 0xDF ) && ( ( ((U8*)s)[1] & 0xC0 ) == 0x80 ) ) ? 2 : 0 )\
+: ((e)-(s) > 0) ?                                                           \
+    ( ( ((U8*)s)[0] & 0x80 ) == 0x00 )                                      \
+: 0 )
+#endif
+
 /* IS_UTF8_CHAR(p) is strictly speaking wrong (not UTF-8) because it
  * (1) allows UTF-8 encoded UTF-16 surrogates
  * (2) it allows code points past U+10FFFF.
  * The Perl_is_utf8_char() full "slow" code will handle the Perl
  * "extended UTF-8". */
-#define IS_UTF8_CHAR(p, n)	\
-	((n) == 1 ? IS_UTF8_CHAR_1(p) : \
- 	 (n) == 2 ? IS_UTF8_CHAR_2(p) : \
-	 (n) == 3 ? IS_UTF8_CHAR_3(p) : \
-	 (n) == 4 ? IS_UTF8_CHAR_4(p) : 0)
+#define IS_UTF8_CHAR(p, n)      (is_UTF8_CHAR_utf8_safe(p, (p) + (n)) == n)
 
-#define IS_UTF8_CHAR_FAST(n) ((n) <= 4)
+/* regen/regcharclass.pl generates is_UTF8_CHAR_utf8_safe() macros for up to
+ * these number of bytes.  So this has to be coordinated with it */
+#ifdef EBCDIC
+#   define IS_UTF8_CHAR_FAST(n) ((n) <= 5)
+#else
+#   define IS_UTF8_CHAR_FAST(n) ((n) <= 4)
+#endif
 
-#endif /* IS_UTF8_CHAR() for UTF-8 */
+#endif /* H_UTF8 */
 
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/utf8.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/utfebcdic.h
===================================================================
--- vendor/perl/dist/utfebcdic.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utfebcdic.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,7 @@
 /*    utfebcdic.h
  *
- *    Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2009 by Larry Wall,
- *    Nick Ing-Simmons, and others
+ *    Copyright (C) 2001, 2002, 2003, 2005, 2006, 2007, 2009,
+ *    2010, 2011 by Larry Wall, Nick Ing-Simmons, 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.
@@ -152,7 +152,7 @@
  * remains 'A' */
 
 #if '^' == 95   /* if defined(__MVS__) || defined(??) (VM/ESA?) 1047 */
-EXTCONST unsigned char PL_utf2e[] = { /* I8 to EBCDIC (IBM-1047) */
+EXTCONST unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (IBM-1047) */
  0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
  0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -171,7 +171,7 @@
  0xDC, 0xDD, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE
 };
 
-EXTCONST unsigned char PL_e2utf[] = { /* EBCDIC (IBM-1047) to I8 */
+EXTCONST unsigned char PL_e2utf[] = { /* UTFEBCDIC (IBM-1047) to I8 */
  0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -192,7 +192,7 @@
 #endif /* 1047 */
 
 #if '^' == 106  /* if defined(_OSD_POSIX) POSIX-BC */
-unsigned char PL_utf2e[] = { /* I8 to EBCDIC (POSIX-BC) */
+unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (POSIX-BC) */
  0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x15, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
  0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -211,7 +211,7 @@
  0xDC, 0xC0, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xDD, 0xFC, 0xE0, 0xFE
 };
 
-unsigned char PL_e2utf[] = { /* EBCDIC (POSIX-BC) to I8 */
+unsigned char PL_e2utf[] = { /* UTFEBCDIC (POSIX-BC) to I8 */
  0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -232,7 +232,7 @@
 #endif /* POSIX-BC */
 
 #if '^' == 176  /* if defined(??) (OS/400?) 037 */
-unsigned char PL_utf2e[] = { /* I8 to EBCDIC (IBM-037) */
+unsigned char PL_utf2e[] = { /* I8 to UTFEBCDIC (IBM-037) */
  0x00, 0x01, 0x02, 0x03, 0x37, 0x2D, 0x2E, 0x2F, 0x16, 0x05, 0x25, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x3C, 0x3D, 0x32, 0x26, 0x18, 0x19, 0x3F, 0x27, 0x1C, 0x1D, 0x1E, 0x1F,
  0x40, 0x5A, 0x7F, 0x7B, 0x5B, 0x6C, 0x50, 0x7D, 0x4D, 0x5D, 0x5C, 0x4E, 0x6B, 0x60, 0x4B, 0x61,
@@ -251,7 +251,7 @@
  0xDC, 0xDD, 0xDE, 0xDF, 0xE1, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE
 };
 
-unsigned char PL_e2utf[] = { /* EBCDIC (IBM-037) to I8 */
+unsigned char PL_e2utf[] = { /* UTFEBCDIC (IBM-037) to I8 */
  0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x9D, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
  0x80, 0x81, 0x82, 0x83, 0x84, 0x0A, 0x17, 0x1B, 0x88, 0x89, 0x8A, 0x8B, 0x8C, 0x05, 0x06, 0x07,
@@ -295,12 +295,6 @@
  0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xDD, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
 };
 
-#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS 0xDF
-#define LATIN_SMALL_LETTER_SHARP_S 0x59
-#define MICRO_SIGN 0xA0
-#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE 0x0067
-#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE 0x0047
-
 EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-1047) to ASCII (iso-8859-1) */
  0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
@@ -377,12 +371,6 @@
  0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xC0, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
 };
 
-#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS 0xDF
-#define LATIN_SMALL_LETTER_SHARP_S 0x59
-#define MICRO_SIGN 0xA0
-#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE 0x0067
-#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE 0x0047
-
 EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (POSIX-BC) to ASCII (ISO8859-1) */
  0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x9D, 0x0A, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
@@ -459,13 +447,6 @@
  0x8C, 0x49, 0xCD, 0xCE, 0xCB, 0xCF, 0xCC, 0xE1, 0x70, 0xDD, 0xDE, 0xDB, 0xDC, 0x8D, 0x8E, 0xDF
 };
 
-
-#define LATIN_SMALL_LETTER_Y_WITH_DIAERESIS 0xDF
-#define LATIN_SMALL_LETTER_SHARP_S 0x59
-#define MICRO_SIGN 0xA0
-#define LATIN_CAPITAL_LETTER_A_WITH_RING_ABOVE 0x0067
-#define LATIN_SMALL_LETTER_A_WITH_RING_ABOVE 0x0047
-
 EXTCONST unsigned char PL_e2a[] = { /* EBCDIC (IBM-037) to ASCII (ISO8859-1) */
  0x00, 0x01, 0x02, 0x03, 0x9C, 0x09, 0x86, 0x7F, 0x97, 0x8D, 0x8E, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
  0x10, 0x11, 0x12, 0x13, 0x9D, 0x85, 0x08, 0x87, 0x18, 0x19, 0x92, 0x8F, 0x1C, 0x1D, 0x1E, 0x1F,
@@ -522,6 +503,10 @@
 };
 #endif          /* 037 */
 
+/* Since the EBCDIC code pages are isomorphic to Latin1, that table is merely a
+ * duplicate */
+EXTCONST unsigned char * PL_fold_latin1 = PL_fold;
+
 #else
 EXTCONST unsigned char PL_utf8skip[];
 EXTCONST unsigned char PL_e2utf[];
@@ -529,12 +514,9 @@
 EXTCONST unsigned char PL_e2a[];
 EXTCONST unsigned char PL_a2e[];
 EXTCONST unsigned char PL_fold[];
+EXTCONST unsigned char * PL_fold_latin1;
 #endif
 
-/* Since the EBCDIC code pages are isomorphic to Latin1, that table is merely a
- * duplicate */
-EXTCONST unsigned char * PL_fold_latin1 = PL_fold;
-
 END_EXTERN_C
 
 /* EBCDIC-happy ways of converting native code to UTF-8 */
@@ -544,7 +526,9 @@
 #define ASCII_TO_NATIVE(ch)      PL_a2e[(U8)(ch)]
 /* Transform after encoding, essentially converts to/from I8 */
 #define NATIVE_TO_UTF(ch)        PL_e2utf[(U8)(ch)]	/* to I8 */
+#define NATIVE_TO_I8(ch)         NATIVE_TO_UTF(ch)	/* synonym */
 #define UTF_TO_NATIVE(ch)        PL_utf2e[(U8)(ch)]	/* from I8 */
+#define I8_TO_NATIVE(ch)         UTF_TO_NATIVE(ch)	/* synonym */
 /* Transform in wide UV char space */
 #define NATIVE_TO_UNI(ch)        (((ch) > 255) ? (ch) : NATIVE_TO_ASCII(ch))
 #define UNI_TO_NATIVE(ch)        (((ch) > 255) ? (ch) : ASCII_TO_NATIVE(ch))
@@ -558,8 +542,6 @@
         Unicode                             Bit pattern 1st Byte 2nd Byte 3rd Byte 4th Byte 5th Byte 6th Byte 7th byte
     U+0000..U+007F                     000000000xxxxxxx 0xxxxxxx
     U+0080..U+009F                     00000000100xxxxx 100xxxxx
-    U+00A0..U+00FF                     00000000yyyxxxxx 11000yyy 101xxxxx
-
     U+00A0..U+03FF                     000000yyyyyxxxxx 110yyyyy 101xxxxx
     U+0400..U+3FFF                     00zzzzyyyyyxxxxx 1110zzzz 101yyyyy 101xxxxx
     U+4000..U+3FFFF                 0wwwzzzzzyyyyyxxxxx 11110www 101zzzzz 101yyyyy 101xxxxx
@@ -579,13 +561,17 @@
 		      (uv) < 0x400000       ? 5 : \
 		      (uv) < 0x4000000      ? 6 : 7 )
 
+#define UNI_IS_INVARIANT(c)		((c) <  0xA0)
 
-#define UNI_IS_INVARIANT(c)		((c) <  0xA0)
-/* UTF-EBCDIC semantic macros - transform back into I8 and then compare */
-#define UTF8_IS_START(c)		(NATIVE_TO_UTF(c) >= 0xA0 && (NATIVE_TO_UTF(c) & 0xE0) != 0xA0)
+/* UTF-EBCDIC semantic macros - transform back into I8 and then compare
+ * Comments as to the meaning of each are given at their corresponding utf8.h
+ * definitions */
+
+#define UTF8_IS_START(c)		(NATIVE_TO_UTF(c) >= 0xC5 && NATIVE_TO_UTF(c) != 0xE0)
 #define UTF8_IS_CONTINUATION(c)		((NATIVE_TO_UTF(c) & 0xE0) == 0xA0)
 #define UTF8_IS_CONTINUED(c) 		(NATIVE_TO_UTF(c) >= 0xA0)
-#define UTF8_IS_DOWNGRADEABLE_START(c)	(NATIVE_TO_UTF(c) >= 0xA0 && (NATIVE_TO_UTF(c) & 0xF8) == 0xC0)
+#define UTF8_IS_DOWNGRADEABLE_START(c)	(NATIVE_TO_UTF(c) >= 0xC5 && NATIVE_TO_UTF(c) <= 0xC7)
+#define UTF8_IS_ABOVE_LATIN1(c)	(NATIVE_TO_I8(c) >= 0xC8)
 
 #define UTF_START_MARK(len) (((len) >  7) ? 0xFF : ((U8)(0xFE << (7-(len)))))
 #define UTF_START_MASK(len) (((len) >= 6) ? 0x01 : (0x1F >> ((len)-2)))
@@ -593,12 +579,25 @@
 #define UTF_CONTINUATION_MASK		((U8)0x1f)
 #define UTF_ACCUMULATION_SHIFT		5
 
+/* How wide can a single UTF-8 encoded character become in bytes. */
+/* NOTE: Strictly speaking Perl's UTF-8 should not be called UTF-8 since UTF-8
+ * is an encoding of Unicode, and Unicode's upper limit, 0x10FFFF, can be
+ * expressed with 5 bytes.  However, Perl thinks of UTF-8 as a way to encode
+ * non-negative integers in a binary format, even those above Unicode */
+#define UTF8_MAXBYTES 7
+
+/* The maximum number of UTF-8 bytes a single Unicode character can
+ * uppercase/lowercase/fold into.  Unicode guarantees that the maximum
+ * expansion is 3 characters.  On EBCDIC platforms, the highest Unicode
+ * character occupies 5 bytes, therefore this number is 15 */
+#define UTF8_MAXBYTES_CASE	15
+
 /*
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/utfebcdic.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/util.c
===================================================================
--- vendor/perl/dist/util.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/util.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
  * 'Very useful, no doubt, that was to Saruman; yet it seems that he was
  *  not content.'                                    --Gandalf to Pippin
  *
- *     [p.598 of _The Lord of the Rings_, III/xi: "The Palant\xEDr"]
+ *     [p.598 of _The Lord of the Rings_, III/xi: "The Palantír"]
  */
 
 /* This file contains assorted utility routines.
@@ -24,6 +24,7 @@
 #include "EXTERN.h"
 #define PERL_IN_UTIL_C
 #include "perl.h"
+#include "reentr.h"
 
 #ifdef USE_PERLIO
 #include "perliol.h" /* For PerlIOUnix_refcnt */
@@ -41,10 +42,6 @@
 int putenv(char *);
 #endif
 
-#ifdef I_SYS_WAIT
-#  include <sys/wait.h>
-#endif
-
 #ifdef HAS_SELECT
 # ifdef I_SYS_SELECT
 #  include <sys/select.h>
@@ -63,17 +60,6 @@
  * XXX This advice seems to be widely ignored :-(   --AD  August 1996.
  */
 
-static char *
-S_write_no_mem(pTHX)
-{
-    dVAR;
-    /* Can't use PerlIO to write as it allocates memory */
-    PerlLIO_write(PerlIO_fileno(Perl_error_log),
-		  PL_no_mem, strlen(PL_no_mem));
-    my_exit(1);
-    NORETURN_FUNCTION_END;
-}
-
 #if defined (DEBUGGING) || defined(PERL_IMPLICIT_SYS) || defined (PERL_TRACK_MEMPOOL)
 #  define ALWAYS_NEED_THX
 #endif
@@ -98,8 +84,8 @@
     size += sTHX;
 #endif
 #ifdef DEBUGGING
-    if ((long)size < 0)
-	Perl_croak_nocontext("panic: malloc");
+    if ((SSize_t)size < 0)
+	Perl_croak_nocontext("panic: malloc, size=%"UVuf, (UV) size);
 #endif
     ptr = (Malloc_t)PerlMem_malloc(size?size:1);	/* malloc(0) is NASTY on our system */
     PERL_ALLOC_CHECK(ptr);
@@ -135,7 +121,7 @@
 	if (PL_nomemok)
 	    return NULL;
 	else {
-	    return write_no_mem();
+	    croak_no_mem();
 	}
     }
     /*NOTREACHED*/
@@ -176,7 +162,8 @@
 	    = (struct perl_memory_debug_header *)where;
 
 	if (header->interpreter != aTHX) {
-	    Perl_croak_nocontext("panic: realloc from wrong pool");
+	    Perl_croak_nocontext("panic: realloc from wrong pool, %p!=%p",
+				 header->interpreter, aTHX);
 	}
 	assert(header->next->prev == header);
 	assert(header->prev->next == header);
@@ -191,8 +178,8 @@
     }
 #endif
 #ifdef DEBUGGING
-    if ((long)size < 0)
-	Perl_croak_nocontext("panic: realloc");
+    if ((SSize_t)size < 0)
+	Perl_croak_nocontext("panic: realloc, size=%"UVuf, (UV)size);
 #endif
     ptr = (Malloc_t)PerlMem_realloc(where,size);
     PERL_ALLOC_CHECK(ptr);
@@ -237,7 +224,7 @@
 	if (PL_nomemok)
 	    return NULL;
 	else {
-	    return write_no_mem();
+	    croak_no_mem();
 	}
     }
     /*NOTREACHED*/
@@ -262,14 +249,19 @@
 		= (struct perl_memory_debug_header *)where;
 
 	    if (header->interpreter != aTHX) {
-		Perl_croak_nocontext("panic: free from wrong pool");
+		Perl_croak_nocontext("panic: free from wrong pool, %p!=%p",
+				     header->interpreter, aTHX);
 	    }
 	    if (!header->prev) {
 		Perl_croak_nocontext("panic: duplicate free");
 	    }
-	    if (!(header->next) || header->next->prev != header
-		|| header->prev->next != header) {
-		Perl_croak_nocontext("panic: bad free");
+	    if (!(header->next))
+		Perl_croak_nocontext("panic: bad free, header->next==NULL");
+	    if (header->next->prev != header || header->prev->next != header) {
+		Perl_croak_nocontext("panic: bad free, ->next->prev=%p, "
+				     "header=%p, ->prev->next=%p",
+				     header->next->prev, header,
+				     header->prev->next);
 	    }
 	    /* Unlink us from the chain.  */
 	    header->next->prev = header->prev;
@@ -294,18 +286,23 @@
     dTHX;
 #endif
     Malloc_t ptr;
+#if defined(PERL_TRACK_MEMPOOL) || defined(HAS_64K_LIMIT) || defined(DEBUGGING)
     MEM_SIZE total_size = 0;
+#endif
 
     /* Even though calloc() for zero bytes is strange, be robust. */
-    if (size && (count <= MEM_SIZE_MAX / size))
+    if (size && (count <= MEM_SIZE_MAX / size)) {
+#if defined(PERL_TRACK_MEMPOOL) || defined(HAS_64K_LIMIT) || defined(DEBUGGING)
 	total_size = size * count;
+#endif
+    }
     else
-	Perl_croak_nocontext("%s", PL_memory_wrap);
+	Perl_croak_memory_wrap();
 #ifdef PERL_TRACK_MEMPOOL
     if (sTHX <= MEM_SIZE_MAX - (MEM_SIZE)total_size)
 	total_size += sTHX;
     else
-	Perl_croak_nocontext("%s", PL_memory_wrap);
+	Perl_croak_memory_wrap();
 #endif
 #ifdef HAS_64K_LIMIT
     if (total_size > 0xffff) {
@@ -315,8 +312,9 @@
     }
 #endif /* HAS_64K_LIMIT */
 #ifdef DEBUGGING
-    if ((long)size < 0 || (long)count < 0)
-	Perl_croak_nocontext("panic: calloc");
+    if ((SSize_t)size < 0 || (SSize_t)count < 0)
+	Perl_croak_nocontext("panic: calloc, size=%"UVuf", count=%"UVuf,
+			     (UV)size, (UV)count);
 #endif
 #ifdef PERL_TRACK_MEMPOOL
     /* Have to use malloc() because we've added some space for our tracking
@@ -360,7 +358,7 @@
 #endif
 	if (PL_nomemok)
 	    return NULL;
-	return write_no_mem();
+	croak_no_mem();
     }
 }
 
@@ -398,9 +396,9 @@
 /* copy a string up to some (non-backslashed) delimiter, if any */
 
 char *
-Perl_delimcpy(register char *to, register const char *toend, register const char *from, register const char *fromend, register int delim, I32 *retlen)
+Perl_delimcpy(char *to, const char *toend, const char *from, const char *fromend, int delim, I32 *retlen)
 {
-    register I32 tolen;
+    I32 tolen;
 
     PERL_ARGS_ASSERT_DELIMCPY;
 
@@ -428,38 +426,19 @@
 /* This routine was donated by Corey Satten. */
 
 char *
-Perl_instr(register const char *big, register const char *little)
+Perl_instr(const char *big, const char *little)
 {
-    register I32 first;
 
     PERL_ARGS_ASSERT_INSTR;
 
+    /* libc prior to 4.6.27 did not work properly on a NULL 'little' */
     if (!little)
 	return (char*)big;
-    first = *little++;
-    if (!first)
-	return (char*)big;
-    while (*big) {
-	register const char *s, *x;
-	if (*big++ != first)
-	    continue;
-	for (x=big,s=little; *s; /**/ ) {
-	    if (!*x)
-		return NULL;
-	    if (*s != *x)
-		break;
-	    else {
-		s++;
-		x++;
-	    }
-	}
-	if (!*s)
-	    return (char*)(big-1);
-    }
-    return NULL;
+    return strstr((char*)big, (char*)little);
 }
 
-/* same as instr but allow embedded nulls */
+/* same as instr but allow embedded nulls.  The end pointers point to 1 beyond
+ * the final character desired to be checked */
 
 char *
 Perl_ninstr(const char *big, const char *bigend, const char *little, const char *lend)
@@ -488,11 +467,11 @@
 /* reverse of the above--find last substring */
 
 char *
-Perl_rninstr(register const char *big, const char *bigend, const char *little, const char *lend)
+Perl_rninstr(const char *big, const char *bigend, const char *little, const char *lend)
 {
-    register const char *bigbeg;
-    register const I32 first = *little;
-    register const char * const littleend = lend;
+    const char *bigbeg;
+    const I32 first = *little;
+    const char * const littleend = lend;
 
     PERL_ARGS_ASSERT_RNINSTR;
 
@@ -501,7 +480,7 @@
     bigbeg = big;
     big = bigend - (littleend - little++);
     while (big >= bigbeg) {
-	register const char *s, *x;
+	const char *s, *x;
 	if (*big-- != first)
 	    continue;
 	for (x=big+2,s=little; s < littleend; /**/ ) {
@@ -539,14 +518,21 @@
 Perl_fbm_compile(pTHX_ SV *sv, U32 flags)
 {
     dVAR;
-    register const U8 *s;
-    register U32 i;
+    const U8 *s;
+    STRLEN i;
     STRLEN len;
-    U32 rarest = 0;
+    STRLEN rarest = 0;
     U32 frequency = 256;
+    MAGIC *mg;
 
     PERL_ARGS_ASSERT_FBM_COMPILE;
 
+    if (isGV_with_GP(sv))
+	return;
+
+    if (SvVALID(sv))
+	return;
+
     if (flags & FBMcf_TAIL) {
 	MAGIC * const mg = SvUTF8(sv) && SvMAGICAL(sv) ? mg_find(sv, PERL_MAGIC_utf8) : NULL;
 	sv_catpvs(sv, "\n");		/* Taken into account in fbm_instr() */
@@ -556,31 +542,49 @@
     s = (U8*)SvPV_force_mutable(sv, len);
     if (len == 0)		/* TAIL might be on a zero-length string. */
 	return;
-    SvUPGRADE(sv, SVt_PVGV);
+    SvUPGRADE(sv, SVt_PVMG);
     SvIOK_off(sv);
     SvNOK_off(sv);
     SvVALID_on(sv);
+
+    /* "deep magic", the comment used to add. The use of MAGIC itself isn't
+       really. MAGIC was originally added in 79072805bf63abe5 (perl 5.0 alpha 2)
+       to call SvVALID_off() if the scalar was assigned to.
+
+       The comment itself (and "deeper magic" below) date back to
+       378cc40b38293ffc (perl 2.0). "deep magic" was an annotation on
+       str->str_pok |= 2;
+       where the magic (presumably) was that the scalar had a BM table hidden
+       inside itself.
+
+       As MAGIC is always present on BMs [in Perl 5 :-)], we can use it to store
+       the table instead of the previous (somewhat hacky) approach of co-opting
+       the string buffer and storing it after the string.  */
+
+    assert(!mg_find(sv, PERL_MAGIC_bm));
+    mg = sv_magicext(sv, NULL, PERL_MAGIC_bm, &PL_vtbl_bm, NULL, 0);
+    assert(mg);
+
     if (len > 2) {
-	const unsigned char *sb;
+	/* Shorter strings are special-cased in Perl_fbm_instr(), and don't use
+	   the BM table.  */
 	const U8 mlen = (len>255) ? 255 : (U8)len;
-	register U8 *table;
+	const unsigned char *const sb = s + len - mlen; /* first char (maybe) */
+	U8 *table;
 
-	Sv_Grow(sv, len + 256 + PERL_FBM_TABLE_OFFSET);
-	table
-	    = (unsigned char*)(SvPVX_mutable(sv) + len + PERL_FBM_TABLE_OFFSET);
-	s = table - 1 - PERL_FBM_TABLE_OFFSET;	/* last char */
+	Newx(table, 256, U8);
 	memset((void*)table, mlen, 256);
+	mg->mg_ptr = (char *)table;
+	mg->mg_len = 256;
+
+	s += len - 1; /* last char */
 	i = 0;
-	sb = s - mlen + 1;			/* first char (maybe) */
 	while (s >= sb) {
 	    if (table[*s] == mlen)
 		table[*s] = (U8)i;
 	    s--, i++;
 	}
-    } else {
-	Sv_Grow(sv, len + PERL_FBM_TABLE_OFFSET);
     }
-    sv_magic(sv, NULL, PERL_MAGIC_bm, NULL, 0);	/* deep magic */
 
     s = (const unsigned char*)(SvPVX_const(sv));	/* deeper magic */
     for (i = 0; i < len; i++) {
@@ -589,14 +593,13 @@
 	    frequency = PL_freq[s[i]];
 	}
     }
-    BmFLAGS(sv) = (U8)flags;
     BmRARE(sv) = s[rarest];
     BmPREVIOUS(sv) = rarest;
     BmUSEFUL(sv) = 100;			/* Initial value */
     if (flags & FBMcf_TAIL)
 	SvTAIL_on(sv);
-    DEBUG_r(PerlIO_printf(Perl_debug_log, "rarest char %c at %lu\n",
-			  BmRARE(sv),(unsigned long)BmPREVIOUS(sv)));
+    DEBUG_r(PerlIO_printf(Perl_debug_log, "rarest char %c at %"UVuf"\n",
+			  BmRARE(sv), BmPREVIOUS(sv)));
 }
 
 /* If SvTAIL(littlestr), it has a fake '\n' at end. */
@@ -606,8 +609,8 @@
 /*
 =for apidoc fbm_instr
 
-Returns the location of the SV in the string delimited by C<str> and
-C<strend>.  It returns C<NULL> if the string can't be found.  The C<sv>
+Returns the location of the SV in the string delimited by C<big> and
+C<bigend>.  It returns C<NULL> if the string can't be found.  The C<sv>
 does not have to be fbm_compiled, but the search will not be as fast
 then.
 
@@ -615,14 +618,13 @@
 */
 
 char *
-Perl_fbm_instr(pTHX_ unsigned char *big, register unsigned char *bigend, SV *littlestr, U32 flags)
+Perl_fbm_instr(pTHX_ unsigned char *big, unsigned char *bigend, SV *littlestr, U32 flags)
 {
-    register unsigned char *s;
+    unsigned char *s;
     STRLEN l;
-    register const unsigned char *little
-	= (const unsigned char *)SvPV_const(littlestr,l);
-    register STRLEN littlelen = l;
-    register const I32 multiline = flags & FBMrf_MULTILINE;
+    const unsigned char *little = (const unsigned char *)SvPV_const(littlestr,l);
+    STRLEN littlelen = l;
+    const I32 multiline = flags & FBMrf_MULTILINE;
 
     PERL_ARGS_ASSERT_FBM_INSTR;
 
@@ -636,9 +638,10 @@
 	return NULL;
     }
 
-    if (littlelen <= 2) {		/* Special-cased */
-
-	if (littlelen == 1) {
+    switch (littlelen) { /* Special cases for 0, 1 and 2  */
+    case 0:
+	return (char*)big;		/* Cannot be SvTAIL! */
+    case 1:
 	    if (SvTAIL(littlestr) && !multiline) { /* Anchor only! */
 		/* Know that bigend != big.  */
 		if (bigend[-1] == '\n')
@@ -654,11 +657,7 @@
 	    if (SvTAIL(littlestr))
 		return (char *) bigend;
 	    return NULL;
-	}
-	if (!littlelen)
-	    return (char*)big;		/* Cannot be SvTAIL! */
-
-	/* littlelen is 2 */
+    case 2:
 	if (SvTAIL(littlestr) && !multiline) {
 	    if (bigend[-1] == '\n' && bigend[-2] == *little)
 		return (char*)bigend - 2;
@@ -718,7 +717,10 @@
 	if (SvTAIL(littlestr) && (*bigend == *little))
 	    return (char *)bigend;	/* bigend is already decremented. */
 	return NULL;
+    default:
+	break; /* Only lengths 0 1 and 2 have special-case code.  */
     }
+
     if (SvTAIL(littlestr) && !multiline) {	/* tail anchored? */
 	s = bigend - littlelen;
 	if (s >= big && bigend[-1] == '\n' && *s == *little
@@ -756,9 +758,9 @@
 	return NULL;
 
     {
-	register const unsigned char * const table
-	    = little + littlelen + PERL_FBM_TABLE_OFFSET;
-	register const unsigned char *oldlittle;
+	const MAGIC *const mg = mg_find(littlestr, PERL_MAGIC_bm);
+	const unsigned char * const table = (const unsigned char *) mg->mg_ptr;
+	const unsigned char *oldlittle;
 
 	--littlelen;			/* Last char found by table lookup */
 
@@ -766,7 +768,7 @@
 	little += littlelen;		/* last char */
 	oldlittle = little;
 	if (s < bigend) {
-	    register I32 tmp;
+	    I32 tmp;
 
 	  top2:
 	    if ((tmp = table[*s])) {
@@ -775,7 +777,7 @@
 		goto check_end;
 	    }
 	    else {		/* less expensive than calling strncmp() */
-		register unsigned char * const olds = s;
+		unsigned char * const olds = s;
 
 		tmp = littlelen;
 
@@ -793,7 +795,7 @@
 	}
       check_end:
 	if ( s == bigend
-	     && (BmFLAGS(littlestr) & FBMcf_TAIL)
+	     && SvTAIL(littlestr)
 	     && memEQ((char *)(bigend - littlelen),
 		      (char *)(oldlittle - littlelen), littlelen) )
 	    return (char*)bigend - littlelen;
@@ -801,109 +803,21 @@
     }
 }
 
-/* start_shift, end_shift are positive quantities which give offsets
-   of ends of some substring of bigstr.
-   If "last" we want the last occurrence.
-   old_posp is the way of communication between consequent calls if
-   the next call needs to find the .
-   The initial *old_posp should be -1.
-
-   Note that we take into account SvTAIL, so one can get extra
-   optimizations if _ALL flag is set.
- */
-
-/* If SvTAIL is actually due to \Z or \z, this gives false positives
-   if PL_multiline.  In fact if !PL_multiline the authoritative answer
-   is not supported yet. */
-
 char *
 Perl_screaminstr(pTHX_ SV *bigstr, SV *littlestr, I32 start_shift, I32 end_shift, I32 *old_posp, I32 last)
 {
     dVAR;
-    register const unsigned char *big;
-    register I32 pos;
-    register I32 previous;
-    register I32 first;
-    register const unsigned char *little;
-    register I32 stop_pos;
-    register const unsigned char *littleend;
-    I32 found = 0;
-
     PERL_ARGS_ASSERT_SCREAMINSTR;
+    PERL_UNUSED_ARG(bigstr);
+    PERL_UNUSED_ARG(littlestr);
+    PERL_UNUSED_ARG(start_shift);
+    PERL_UNUSED_ARG(end_shift);
+    PERL_UNUSED_ARG(old_posp);
+    PERL_UNUSED_ARG(last);
 
-    assert(SvTYPE(littlestr) == SVt_PVGV);
-    assert(SvVALID(littlestr));
-
-    if (*old_posp == -1
-	? (pos = PL_screamfirst[BmRARE(littlestr)]) < 0
-	: (((pos = *old_posp), pos += PL_screamnext[pos]) == 0)) {
-      cant_find:
-	if ( BmRARE(littlestr) == '\n'
-	     && BmPREVIOUS(littlestr) == SvCUR(littlestr) - 1) {
-	    little = (const unsigned char *)(SvPVX_const(littlestr));
-	    littleend = little + SvCUR(littlestr);
-	    first = *little++;
-	    goto check_tail;
-	}
-	return NULL;
-    }
-
-    little = (const unsigned char *)(SvPVX_const(littlestr));
-    littleend = little + SvCUR(littlestr);
-    first = *little++;
-    /* The value of pos we can start at: */
-    previous = BmPREVIOUS(littlestr);
-    big = (const unsigned char *)(SvPVX_const(bigstr));
-    /* The value of pos we can stop at: */
-    stop_pos = SvCUR(bigstr) - end_shift - (SvCUR(littlestr) - 1 - previous);
-    if (previous + start_shift > stop_pos) {
-/*
-  stop_pos does not include SvTAIL in the count, so this check is incorrect
-  (I think) - see [ID 20010618.006] and t/op/study.t. HVDS 2001/06/19
-*/
-#if 0
-	if (previous + start_shift == stop_pos + 1) /* A fake '\n'? */
-	    goto check_tail;
-#endif
-	return NULL;
-    }
-    while (pos < previous + start_shift) {
-	if (!(pos += PL_screamnext[pos]))
-	    goto cant_find;
-    }
-    big -= previous;
-    do {
-	register const unsigned char *s, *x;
-	if (pos >= stop_pos) break;
-	if (big[pos] != first)
-	    continue;
-	for (x=big+pos+1,s=little; s < littleend; /**/ ) {
-	    if (*s++ != *x++) {
-		s--;
-		break;
-	    }
-	}
-	if (s == littleend) {
-	    *old_posp = pos;
-	    if (!last) return (char *)(big+pos);
-	    found = 1;
-	}
-    } while ( pos += PL_screamnext[pos] );
-    if (last && found)
-	return (char *)(big+(*old_posp));
-  check_tail:
-    if (!SvTAIL(littlestr) || (end_shift > 0))
-	return NULL;
-    /* Ignore the trailing "\n".  This code is not microoptimized */
-    big = (const unsigned char *)(SvPVX_const(bigstr) + SvCUR(bigstr));
-    stop_pos = littleend - little;	/* Actual littlestr len */
-    if (stop_pos == 0)
-	return (char*)big;
-    big -= stop_pos;
-    if (*big == first
-	&& ((stop_pos == 1) ||
-	    memEQ((char *)(big + 1), (char *)little, stop_pos - 1)))
-	return (char*)big;
+    /* This function must only ever be called on a scalar with study magic,
+       but those do not happen any more. */
+    Perl_croak(aTHX_ "panic: screaminstr");
     return NULL;
 }
 
@@ -920,13 +834,15 @@
 
 
 I32
-Perl_foldEQ(const char *s1, const char *s2, register I32 len)
+Perl_foldEQ(const char *s1, const char *s2, I32 len)
 {
-    register const U8 *a = (const U8 *)s1;
-    register const U8 *b = (const U8 *)s2;
+    const U8 *a = (const U8 *)s1;
+    const U8 *b = (const U8 *)s2;
 
     PERL_ARGS_ASSERT_FOLDEQ;
 
+    assert(len >= 0);
+
     while (len--) {
 	if (*a != *b && *a != PL_fold[*b])
 	    return 0;
@@ -935,7 +851,7 @@
     return 1;
 }
 I32
-Perl_foldEQ_latin1(const char *s1, const char *s2, register I32 len)
+Perl_foldEQ_latin1(const char *s1, const char *s2, I32 len)
 {
     /* Compare non-utf8 using Unicode (Latin1) semantics.  Does not work on
      * MICRO_SIGN, LATIN_SMALL_LETTER_SHARP_S, nor
@@ -942,11 +858,13 @@
      * LATIN_SMALL_LETTER_Y_WITH_DIAERESIS, and does not check for these.  Nor
      * does it check that the strings each have at least 'len' characters */
 
-    register const U8 *a = (const U8 *)s1;
-    register const U8 *b = (const U8 *)s2;
+    const U8 *a = (const U8 *)s1;
+    const U8 *b = (const U8 *)s2;
 
     PERL_ARGS_ASSERT_FOLDEQ_LATIN1;
 
+    assert(len >= 0);
+
     while (len--) {
 	if (*a != *b && *a != PL_fold_latin1[*b]) {
 	    return 0;
@@ -966,14 +884,16 @@
 */
 
 I32
-Perl_foldEQ_locale(const char *s1, const char *s2, register I32 len)
+Perl_foldEQ_locale(const char *s1, const char *s2, I32 len)
 {
     dVAR;
-    register const U8 *a = (const U8 *)s1;
-    register const U8 *b = (const U8 *)s2;
+    const U8 *a = (const U8 *)s1;
+    const U8 *b = (const U8 *)s2;
 
     PERL_ARGS_ASSERT_FOLDEQ_LOCALE;
 
+    assert(len >= 0);
+
     while (len--) {
 	if (*a != *b && *a != PL_fold_locale[*b])
 	    return 0;
@@ -1025,11 +945,13 @@
 */
 
 char *
-Perl_savepvn(pTHX_ const char *pv, register I32 len)
+Perl_savepvn(pTHX_ const char *pv, I32 len)
 {
-    register char *newaddr;
+    char *newaddr;
     PERL_UNUSED_CONTEXT;
 
+    assert(len >= 0);
+
     Newx(newaddr,len+1,char);
     /* Give a meaning to NULL pointer mainly for the use in sv_magic() */
     if (pv) {
@@ -1053,7 +975,7 @@
 char *
 Perl_savesharedpv(pTHX_ const char *pv)
 {
-    register char *newaddr;
+    char *newaddr;
     STRLEN pvlen;
     if (!pv)
 	return NULL;
@@ -1061,7 +983,7 @@
     pvlen = strlen(pv)+1;
     newaddr = (char*)PerlMemShared_malloc(pvlen);
     if (!newaddr) {
-	return write_no_mem();
+	croak_no_mem();
     }
     return (char*)memcpy(newaddr, pv, pvlen);
 }
@@ -1080,10 +1002,10 @@
 {
     char *const newaddr = (char*)PerlMemShared_malloc(len + 1);
 
-    PERL_ARGS_ASSERT_SAVESHAREDPVN;
+    /* PERL_ARGS_ASSERT_SAVESHAREDPVN; */
 
     if (!newaddr) {
-	return write_no_mem();
+	croak_no_mem();
     }
     newaddr[len] = '\0';
     return (char*)memcpy(newaddr, pv, len);
@@ -1103,7 +1025,7 @@
 {
     STRLEN len;
     const char * const pv = SvPV_const(sv, len);
-    register char *newaddr;
+    char *newaddr;
 
     PERL_ARGS_ASSERT_SAVESVPV;
 
@@ -1361,10 +1283,13 @@
 	if (GvIO(PL_last_in_gv) && (SvTYPE(GvIOp(PL_last_in_gv)) == SVt_PVIO)
 		&& IoLINES(GvIOp(PL_last_in_gv)))
 	{
+	    STRLEN l;
 	    const bool line_mode = (RsSIMPLE(PL_rs) &&
-			      SvCUR(PL_rs) == 1 && *SvPVX_const(PL_rs) == '\n');
-	    Perl_sv_catpvf(aTHX_ sv, ", <%s> %s %"IVdf,
-			   PL_last_in_gv == PL_argvgv ? "" : GvNAME(PL_last_in_gv),
+				   *SvPV_const(PL_rs,l) == '\n' && l == 1);
+	    Perl_sv_catpvf(aTHX_ sv, ", <%"SVf"> %s %"IVdf,
+			   SVfARG(PL_last_in_gv == PL_argvgv
+                                 ? &PL_sv_no
+                                 : sv_2mortal(newSVhek(GvNAME_HEK(PL_last_in_gv)))),
 			   line_mode ? "line" : "chunk",
 			   (IV)IoLINES(GvIOp(PL_last_in_gv)));
 	}
@@ -1510,7 +1435,7 @@
 {
     PERL_ARGS_ASSERT_DIE_SV;
     croak_sv(baseex);
-    /* NOTREACHED */
+    assert(0); /* NOTREACHED */
     return NULL;
 }
 
@@ -1532,7 +1457,7 @@
     va_list args;
     va_start(args, pat);
     vcroak(pat, &args);
-    /* NOTREACHED */
+    assert(0); /* NOTREACHED */
     va_end(args);
     return NULL;
 }
@@ -1544,7 +1469,7 @@
     va_list args;
     va_start(args, pat);
     vcroak(pat, &args);
-    /* NOTREACHED */
+    assert(0); /* NOTREACHED */
     va_end(args);
     return NULL;
 }
@@ -1644,7 +1569,7 @@
     va_list args;
     va_start(args, pat);
     vcroak(pat, &args);
-    /* NOTREACHED */
+    assert(0); /* NOTREACHED */
     va_end(args);
 }
 #endif /* PERL_IMPLICIT_CONTEXT */
@@ -1655,7 +1580,7 @@
     va_list args;
     va_start(args, pat);
     vcroak(pat, &args);
-    /* NOTREACHED */
+    assert(0); /* NOTREACHED */
     va_end(args);
 }
 
@@ -1670,11 +1595,42 @@
 */
 
 void
-Perl_croak_no_modify(pTHX)
+Perl_croak_no_modify()
 {
-    Perl_croak(aTHX_ "%s", PL_no_modify);
+    Perl_croak_nocontext( "%s", PL_no_modify);
 }
 
+/* does not return, used in util.c perlio.c and win32.c
+   This is typically called when malloc returns NULL.
+*/
+void
+Perl_croak_no_mem()
+{
+    dTHX;
+
+    /* Can't use PerlIO to write as it allocates memory */
+    PerlLIO_write(PerlIO_fileno(Perl_error_log),
+		  PL_no_mem, sizeof(PL_no_mem)-1);
+    my_exit(1);
+}
+
+/* saves machine code for a common noreturn idiom typically used in Newx*() */
+void
+Perl_croak_memory_wrap(void)
+{
+    Perl_croak_nocontext("%s",PL_memory_wrap);
+}
+
+
+/* does not return, used only in POPSTACK */
+void
+Perl_croak_popstack(void)
+{
+    dTHX;
+    PerlIO_printf(Perl_error_log, "panic: POPSTACK\n");
+    my_exit(1);
+}
+
 /*
 =for apidoc Am|void|warn_sv|SV *baseex
 
@@ -1898,7 +1854,8 @@
 STRLEN *
 Perl_new_warnings_bitfield(pTHX_ STRLEN *buffer, const char *const bits,
 			   STRLEN size) {
-    const MEM_SIZE len_wanted = sizeof(STRLEN) + size;
+    const MEM_SIZE len_wanted =
+	sizeof(STRLEN) + (size > WARNsize ? size : WARNsize);
     PERL_UNUSED_CONTEXT;
     PERL_ARGS_ASSERT_NEW_WARNINGS_BITFIELD;
 
@@ -1908,6 +1865,8 @@
 	 PerlMemShared_realloc(buffer, len_wanted));
     buffer[0] = size;
     Copy(bits, (buffer + 1), size, char);
+    if (size < WARNsize)
+	Zero((char *)(buffer + 1) + size, WARNsize - size, char);
     return buffer;
 }
 
@@ -1936,8 +1895,8 @@
 #ifndef PERL_USE_SAFE_PUTENV
     if (!PL_use_safe_putenv) {
     /* most putenv()s leak, so we manipulate environ directly */
-    register I32 i;
-    register const I32 len = strlen(nam);
+    I32 i;
+    const I32 len = strlen(nam);
     int nlen, vlen;
 
     /* where does it go? */
@@ -1985,7 +1944,7 @@
        my_setenv_format(environ[i], nam, nlen, val, vlen);
     } else {
 # endif
-#   if defined(__CYGWIN__) || defined(EPOC) || defined(__SYMBIAN32__) || defined(__riscos__)
+#   if defined(__CYGWIN__)|| defined(__SYMBIAN32__) || defined(__riscos__)
 #       if defined(HAS_UNSETENV)
         if (val == NULL) {
             (void)unsetenv(nam);
@@ -1998,7 +1957,8 @@
 #   else
 #       if defined(HAS_UNSETENV)
         if (val == NULL) {
-            (void)unsetenv(nam);
+            if (environ) /* old glibc can crash with null environ */
+                (void)unsetenv(nam);
         } else {
 	    const int nlen = strlen(nam);
 	    const int vlen = strlen(val);
@@ -2033,7 +1993,7 @@
 Perl_my_setenv(pTHX_ const char *nam, const char *val)
 {
     dVAR;
-    register char *envstr;
+    char *envstr;
     const int nlen = strlen(nam);
     int vlen;
 
@@ -2049,7 +2009,7 @@
 
 #endif /* WIN32 || NETWARE */
 
-#endif /* !VMS && !EPOC*/
+#endif /* !VMS */
 
 #ifdef UNLINK_ALL_VERSIONS
 I32
@@ -2068,12 +2028,14 @@
 /* this is a drop-in replacement for bcopy() */
 #if (!defined(HAS_MEMCPY) && !defined(HAS_BCOPY)) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY) && !defined(HAS_SAFE_BCOPY))
 char *
-Perl_my_bcopy(register const char *from,register char *to,register I32 len)
+Perl_my_bcopy(const char *from, char *to, I32 len)
 {
     char * const retval = to;
 
     PERL_ARGS_ASSERT_MY_BCOPY;
 
+    assert(len >= 0);
+
     if (from - to >= 0) {
 	while (len--)
 	    *to++ = *from++;
@@ -2091,12 +2053,14 @@
 /* this is a drop-in replacement for memset() */
 #ifndef HAS_MEMSET
 void *
-Perl_my_memset(register char *loc, register I32 ch, register I32 len)
+Perl_my_memset(char *loc, I32 ch, I32 len)
 {
     char * const retval = loc;
 
     PERL_ARGS_ASSERT_MY_MEMSET;
 
+    assert(len >= 0);
+
     while (len--)
 	*loc++ = ch;
     return retval;
@@ -2106,12 +2070,14 @@
 /* this is a drop-in replacement for bzero() */
 #if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
 char *
-Perl_my_bzero(register char *loc, register I32 len)
+Perl_my_bzero(char *loc, I32 len)
 {
     char * const retval = loc;
 
     PERL_ARGS_ASSERT_MY_BZERO;
 
+    assert(len >= 0);
+
     while (len--)
 	*loc++ = 0;
     return retval;
@@ -2121,14 +2087,16 @@
 /* this is a drop-in replacement for memcmp() */
 #if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
 I32
-Perl_my_memcmp(const char *s1, const char *s2, register I32 len)
+Perl_my_memcmp(const char *s1, const char *s2, I32 len)
 {
-    register const U8 *a = (const U8 *)s1;
-    register const U8 *b = (const U8 *)s2;
-    register I32 tmp;
+    const U8 *a = (const U8 *)s1;
+    const U8 *b = (const U8 *)s2;
+    I32 tmp;
 
     PERL_ARGS_ASSERT_MY_MEMCMP;
 
+    assert(len >= 0);
+
     while (len--) {
         if ((tmp = *a++ - *b++))
 	    return tmp;
@@ -2228,8 +2196,8 @@
 #if ((BYTEORDER - 0x1111) & 0x444) || !(BYTEORDER & 0xf)
     Perl_croak(aTHX_ "Unknown BYTEORDER\n");
 #else
-    register I32 o;
-    register I32 s;
+    I32 o;
+    I32 s;
 
     for (o = BYTEORDER - 0x1111, s = 0; s < (sizeof(long)*8); o >>= 4, s += 8) {
 	u.c[o & 0xf] = (l >> s) & 255;
@@ -2257,8 +2225,8 @@
 #if ((BYTEORDER - 0x1111) & 0x444) || !(BYTEORDER & 0xf)
     Perl_croak(aTHX_ "Unknown BYTEORDER\n");
 #else
-    register I32 o;
-    register I32 s;
+    I32 o;
+    I32 s;
 
     u.l = l;
     l = 0;
@@ -2283,14 +2251,14 @@
 
 #define HTOLE(name,type)					\
 	type							\
-	name (register type n)					\
+	name (type n)					        \
 	{							\
 	    union {						\
 		type value;					\
 		char c[sizeof(type)];				\
 	    } u;						\
-	    register U32 i;					\
-	    register U32 s = 0;					\
+	    U32 i;					        \
+	    U32 s = 0;					        \
 	    for (i = 0; i < sizeof(u.c); i++, s += 8) {		\
 		u.c[i] = (n >> s) & 0xFF;			\
 	    }							\
@@ -2299,14 +2267,14 @@
 
 #define LETOH(name,type)					\
 	type							\
-	name (register type n)					\
+	name (type n)					        \
 	{							\
 	    union {						\
 		type value;					\
 		char c[sizeof(type)];				\
 	    } u;						\
-	    register U32 i;					\
-	    register U32 s = 0;					\
+	    U32 i;					        \
+	    U32 s = 0;					        \
 	    u.value = n;					\
 	    n = 0;						\
 	    for (i = 0; i < sizeof(u.c); i++, s += 8) {		\
@@ -2321,14 +2289,14 @@
 
 #define HTOBE(name,type)					\
 	type							\
-	name (register type n)					\
+	name (type n)					        \
 	{							\
 	    union {						\
 		type value;					\
 		char c[sizeof(type)];				\
 	    } u;						\
-	    register U32 i;					\
-	    register U32 s = 8*(sizeof(u.c)-1);			\
+	    U32 i;					        \
+	    U32 s = 8*(sizeof(u.c)-1);			        \
 	    for (i = 0; i < sizeof(u.c); i++, s -= 8) {		\
 		u.c[i] = (n >> s) & 0xFF;			\
 	    }							\
@@ -2337,14 +2305,14 @@
 
 #define BETOH(name,type)					\
 	type							\
-	name (register type n)					\
+	name (type n)					        \
 	{							\
 	    union {						\
 		type value;					\
 		char c[sizeof(type)];				\
 	    } u;						\
-	    register U32 i;					\
-	    register U32 s = 8*(sizeof(u.c)-1);			\
+	    U32 i;					        \
+	    U32 s = 8*(sizeof(u.c)-1);			        \
 	    u.value = n;					\
 	    n = 0;						\
 	    for (i = 0; i < sizeof(u.c); i++, s -= 8) {		\
@@ -2359,7 +2327,7 @@
 
 #define NOT_AVAIL(name,type)                                    \
         type                                                    \
-        name (register type n)                                  \
+        name (type n)                                           \
         {                                                       \
             Perl_croak_nocontext(#name "() not available");     \
             return n; /* not reached */                         \
@@ -2508,9 +2476,9 @@
 void
 Perl_my_swabn(void *ptr, int n)
 {
-    register char *s = (char *)ptr;
-    register char *e = s + (n-1);
-    register char tc;
+    char *s = (char *)ptr;
+    char *e = s + (n-1);
+    char tc;
 
     PERL_ARGS_ASSERT_MY_SWABN;
 
@@ -2524,11 +2492,11 @@
 PerlIO *
 Perl_my_popen_list(pTHX_ const char *mode, int n, SV **args)
 {
-#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(OS2) && !defined(VMS) && !defined(__OPEN_VM) && !defined(EPOC) && !defined(NETWARE) && !defined(__LIBCATAMOUNT__)
+#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(OS2) && !defined(VMS) && !defined(NETWARE) && !defined(__LIBCATAMOUNT__)
     dVAR;
     int p[2];
-    register I32 This, that;
-    register Pid_t pid;
+    I32 This, that;
+    Pid_t pid;
     SV *sv;
     I32 did_pipes = 0;
     int pp[2];
@@ -2538,7 +2506,7 @@
     PERL_FLUSHALL_FOR_CHILD;
     This = (*mode == 'w');
     that = !This;
-    if (PL_tainting) {
+    if (TAINTING_get) {
 	taint_env();
 	taint_proper("Insecure %s%s", "EXEC");
     }
@@ -2639,7 +2607,7 @@
 	    int pid2, status;
 	    PerlLIO_close(p[This]);
 	    if (n != sizeof(int))
-		Perl_croak(aTHX_ "panic: kid popen errno read");
+		Perl_croak(aTHX_ "panic: kid popen errno read, n=%u", n);
 	    do {
 		pid2 = wait4pid(pid, &status, 0);
 	    } while (pid2 == -1 && errno == EINTR);
@@ -2661,14 +2629,14 @@
 }
 
     /* VMS' my_popen() is in VMS.c, same with OS/2. */
-#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(__OPEN_VM) && !defined(EPOC) && !defined(__LIBCATAMOUNT__)
+#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(__LIBCATAMOUNT__)
 PerlIO *
 Perl_my_popen(pTHX_ const char *cmd, const char *mode)
 {
     dVAR;
     int p[2];
-    register I32 This, that;
-    register Pid_t pid;
+    I32 This, that;
+    Pid_t pid;
     SV *sv;
     const I32 doexec = !(*cmd == '-' && cmd[1] == '\0');
     I32 did_pipes = 0;
@@ -2684,7 +2652,7 @@
 #endif
     This = (*mode == 'w');
     that = !This;
-    if (doexec && PL_tainting) {
+    if (doexec && TAINTING_get) {
 	taint_env();
 	taint_proper("Insecure %s%s", "EXEC");
     }
@@ -2708,7 +2676,6 @@
 	sleep(5);
     }
     if (pid == 0) {
-	GV* tmpgv;
 
 #undef THIS
 #undef THAT
@@ -2754,15 +2721,6 @@
       default, binary, low-level mode; see PerlIOBuf_open(). */
    PerlLIO_setmode((*mode == 'r'), O_BINARY);
 #endif 
-
-	if ((tmpgv = gv_fetchpvs("$", GV_ADD|GV_NOTQUAL, SVt_PV))) {
-	    SvREADONLY_off(GvSV(tmpgv));
-	    sv_setiv(GvSV(tmpgv), PerlProc_getpid());
-	    SvREADONLY_on(GvSV(tmpgv));
-	}
-#ifdef THREADS_HAVE_PIDS
-	PL_ppid = (IV)getppid();
-#endif
 	PL_forkprocess = 0;
 #ifdef PERL_USES_PL_PIDSTATUS
 	hv_clear(PL_pidstatus);	/* we have no children */
@@ -2805,7 +2763,7 @@
 	    int pid2, status;
 	    PerlLIO_close(p[This]);
 	    if (n != sizeof(int))
-		Perl_croak(aTHX_ "panic: kid popen errno read");
+		Perl_croak(aTHX_ "panic: kid popen errno read, n=%u", n);
 	    do {
 		pid2 = wait4pid(pid, &status, 0);
 	    } while (pid2 == -1 && errno == EINTR);
@@ -2818,20 +2776,6 @@
     return PerlIO_fdopen(p[This], mode);
 }
 #else
-#if defined(atarist) || defined(EPOC)
-FILE *popen();
-PerlIO *
-Perl_my_popen(pTHX_ const char *cmd, const char *mode)
-{
-    PERL_ARGS_ASSERT_MY_POPEN;
-    PERL_FLUSHALL_FOR_CHILD;
-    /* Call system's popen() to get a FILE *, then import it.
-       used 0 for 2nd parameter to PerlIO_importFILE;
-       apparently not used
-    */
-    return PerlIO_importFILE(popen(cmd, mode), 0);
-}
-#else
 #if defined(DJGPP)
 FILE *djgpp_popen();
 PerlIO *
@@ -2853,7 +2797,6 @@
 }
 #endif
 #endif
-#endif
 
 #endif /* !DOSISH */
 
@@ -2864,6 +2807,9 @@
    dVAR;
 #if defined(USE_ITHREADS)
     /* locks must be held in locking order (if any) */
+#  ifdef USE_PERLIO
+    MUTEX_LOCK(&PL_perlio_mutex);
+#  endif
 #  ifdef MYMALLOC
     MUTEX_LOCK(&PL_malloc_mutex);
 #  endif
@@ -2878,6 +2824,9 @@
     dVAR;
 #if defined(USE_ITHREADS)
     /* locks must be released in same order as in atfork_lock() */
+#  ifdef USE_PERLIO
+    MUTEX_UNLOCK(&PL_perlio_mutex);
+#  endif
 #  ifdef MYMALLOC
     MUTEX_UNLOCK(&PL_malloc_mutex);
 #  endif
@@ -3113,7 +3062,7 @@
 #endif /* !PERL_MICRO */
 
     /* VMS' my_pclose() is in VMS.c; same with OS/2 */
-#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(__OPEN_VM) && !defined(EPOC) && !defined(__LIBCATAMOUNT__)
+#if (!defined(DOSISH) || defined(HAS_FORK) || defined(AMIGAOS)) && !defined(VMS) && !defined(__LIBCATAMOUNT__)
 I32
 Perl_my_pclose(pTHX_ PerlIO *ptr)
 {
@@ -3146,9 +3095,6 @@
 #endif
     close_failed = (PerlIO_close(ptr) == EOF);
     SAVE_ERRNO;
-#ifdef UTS
-    if(PerlProc_kill(pid, 0) < 0) { return(pid); }   /* HOM 12/23/91 */
-#endif
 #ifndef PERL_MICRO
     rsignal_save(SIGHUP,  (Sighandler_t) SIG_IGN, &hstat);
     rsignal_save(SIGINT,  (Sighandler_t) SIG_IGN, &istat);
@@ -3271,7 +3217,7 @@
 void
 S_pidgone(pTHX_ Pid_t pid, int status)
 {
-    register SV *sv;
+    SV *sv;
 
     sv = *hv_fetch(PL_pidstatus,(const char*)&pid,sizeof(Pid_t),TRUE);
     SvUPGRADE(sv,SVt_IV);
@@ -3280,7 +3226,7 @@
 }
 #endif
 
-#if defined(atarist) || defined(OS2) || defined(EPOC)
+#if defined(OS2)
 int pclose();
 #ifdef HAS_FORK
 int					/* Cannot prototype with I32
@@ -3315,20 +3261,25 @@
 
 #define PERL_REPEATCPY_LINEAR 4
 void
-Perl_repeatcpy(register char *to, register const char *from, I32 len, register I32 count)
+Perl_repeatcpy(char *to, const char *from, I32 len, IV count)
 {
     PERL_ARGS_ASSERT_REPEATCPY;
 
+    assert(len >= 0);
+
+    if (count < 0)
+	Perl_croak_memory_wrap();
+
     if (len == 1)
 	memset(to, *from, count);
     else if (count) {
-	register char *p = to;
-	I32 items, linear, half;
+	char *p = to;
+	IV items, linear, half;
 
 	linear = count < PERL_REPEATCPY_LINEAR ? count : PERL_REPEATCPY_LINEAR;
 	for (items = 0; items < linear; ++items) {
-	    register const char *q = from;
-	    I32 todo;
+	    const char *q = from;
+	    IV todo;
 	    for (todo = len; todo > 0; todo--)
 		*p++ = *q++;
         }
@@ -3335,7 +3286,7 @@
 
 	half = count / 2;
 	while (items <= half) {
-	    I32 size = items * len;
+	    IV size = items * len;
 	    memcpy(p, to, size);
 	    p     += size;
 	    items *= 2;
@@ -3393,11 +3344,11 @@
     const char *xfound = NULL;
     char *xfailed = NULL;
     char tmpbuf[MAXPATHLEN];
-    register char *s;
+    char *s;
     I32 len = 0;
     int retval;
     char *bufend;
-#if defined(DOSISH) && !defined(OS2) && !defined(atarist)
+#if defined(DOSISH) && !defined(OS2)
 #  define SEARCH_EXTS ".bat", ".cmd", NULL
 #  define MAX_EXT_LEN 4
 #endif
@@ -3520,11 +3471,8 @@
 
 	bufend = s + strlen(s);
 	while (s < bufend) {
-#if defined(atarist) || defined(DOSISH)
+#  ifdef DOSISH
 	    for (len = 0; *s
-#  ifdef atarist
-		    && *s != ','
-#  endif
 		    && *s != ';'; len++, s++) {
 		if (len < sizeof tmpbuf)
 		    tmpbuf[len] = *s;
@@ -3531,17 +3479,17 @@
 	    }
 	    if (len < sizeof tmpbuf)
 		tmpbuf[len] = '\0';
-#else  /* ! (atarist || DOSISH) */
+#  else
 	    s = delimcpy(tmpbuf, tmpbuf + sizeof tmpbuf, s, bufend,
 			':',
 			&len);
-#endif /* ! (atarist || DOSISH) */
+#  endif
 	    if (s < bufend)
 		s++;
 	    if (len + 1 + strlen(scriptname) + MAX_EXT_LEN >= sizeof tmpbuf)
 		continue;	/* don't search dir with too-long name */
 	    if (len
-#  if defined(atarist) || defined(DOSISH)
+#  ifdef DOSISH
 		&& tmpbuf[len - 1] != '/'
 		&& tmpbuf[len - 1] != '\\'
 #  endif
@@ -3592,6 +3540,7 @@
 	    seen_dot = 1;			/* Disable message. */
 	if (!xfound) {
 	    if (flags & 1) {			/* do or die? */
+		/* diag_listed_as: Can't execute %s */
 		Perl_croak(aTHX_ "Can't %s %s%s%s",
 		      (xfailed ? "execute" : "find"),
 		      (xfailed ? xfailed : scriptname),
@@ -3615,8 +3564,9 @@
 #if defined(USE_ITHREADS)
 #  ifdef OLD_PTHREADS_API
     pthread_addr_t t;
-    if (pthread_getspecific(PL_thr_key, &t))
-	Perl_croak_nocontext("panic: pthread_getspecific");
+    int error = pthread_getspecific(PL_thr_key, &t)
+    if (error)
+	Perl_croak_nocontext("panic: pthread_getspecific, error=%d", error);
     return (void*)t;
 #  else
 #    ifdef I_MACH_CTHREADS
@@ -3639,8 +3589,11 @@
 #  ifdef I_MACH_CTHREADS
     cthread_set_data(cthread_self(), t);
 #  else
-    if (pthread_setspecific(PL_thr_key, t))
-	Perl_croak_nocontext("panic: pthread_setspecific");
+    {
+	const int error = pthread_setspecific(PL_thr_key, t);
+	if (error)
+	    Perl_croak_nocontext("panic: pthread_setspecific, error=%d", error);
+    }
 #  endif
 #else
     PERL_UNUSED_ARG(t);
@@ -3710,104 +3663,10 @@
 MGVTBL*
 Perl_get_vtbl(pTHX_ int vtbl_id)
 {
-    const MGVTBL* result;
     PERL_UNUSED_CONTEXT;
 
-    switch(vtbl_id) {
-    case want_vtbl_sv:
-	result = &PL_vtbl_sv;
-	break;
-    case want_vtbl_env:
-	result = &PL_vtbl_env;
-	break;
-    case want_vtbl_envelem:
-	result = &PL_vtbl_envelem;
-	break;
-    case want_vtbl_sig:
-	result = &PL_vtbl_sig;
-	break;
-    case want_vtbl_sigelem:
-	result = &PL_vtbl_sigelem;
-	break;
-    case want_vtbl_pack:
-	result = &PL_vtbl_pack;
-	break;
-    case want_vtbl_packelem:
-	result = &PL_vtbl_packelem;
-	break;
-    case want_vtbl_dbline:
-	result = &PL_vtbl_dbline;
-	break;
-    case want_vtbl_isa:
-	result = &PL_vtbl_isa;
-	break;
-    case want_vtbl_isaelem:
-	result = &PL_vtbl_isaelem;
-	break;
-    case want_vtbl_arylen:
-	result = &PL_vtbl_arylen;
-	break;
-    case want_vtbl_mglob:
-	result = &PL_vtbl_mglob;
-	break;
-    case want_vtbl_nkeys:
-	result = &PL_vtbl_nkeys;
-	break;
-    case want_vtbl_taint:
-	result = &PL_vtbl_taint;
-	break;
-    case want_vtbl_substr:
-	result = &PL_vtbl_substr;
-	break;
-    case want_vtbl_vec:
-	result = &PL_vtbl_vec;
-	break;
-    case want_vtbl_pos:
-	result = &PL_vtbl_pos;
-	break;
-    case want_vtbl_bm:
-	result = &PL_vtbl_bm;
-	break;
-    case want_vtbl_fm:
-	result = &PL_vtbl_fm;
-	break;
-    case want_vtbl_uvar:
-	result = &PL_vtbl_uvar;
-	break;
-    case want_vtbl_defelem:
-	result = &PL_vtbl_defelem;
-	break;
-    case want_vtbl_regexp:
-	result = &PL_vtbl_regexp;
-	break;
-    case want_vtbl_regdata:
-	result = &PL_vtbl_regdata;
-	break;
-    case want_vtbl_regdatum:
-	result = &PL_vtbl_regdatum;
-	break;
-#ifdef USE_LOCALE_COLLATE
-    case want_vtbl_collxfrm:
-	result = &PL_vtbl_collxfrm;
-	break;
-#endif
-    case want_vtbl_amagic:
-	result = &PL_vtbl_amagic;
-	break;
-    case want_vtbl_amagicelem:
-	result = &PL_vtbl_amagicelem;
-	break;
-    case want_vtbl_backref:
-	result = &PL_vtbl_backref;
-	break;
-    case want_vtbl_utf8:
-	result = &PL_vtbl_utf8;
-	break;
-    default:
-	result = NULL;
-	break;
-    }
-    return (MGVTBL*)result;
+    return (vtbl_id < 0 || vtbl_id >= magic_vtable_max)
+	? NULL : PL_magic_vtables + vtbl_id;
 }
 
 I32
@@ -3864,13 +3723,15 @@
 Perl_report_wrongway_fh(pTHX_ const GV *gv, const char have)
 {
     if (ckWARN(WARN_IO)) {
-	const char * const name
-	    = gv && (isGV(gv) || isGV_with_GP(gv)) ? GvENAME(gv) : NULL;
+        HEK * const name
+           = gv && (isGV_with_GP(gv))
+                ? GvENAME_HEK((gv))
+                : NULL;
 	const char * const direction = have == '>' ? "out" : "in";
 
-	if (name && *name)
+	if (name && HEK_LEN(name))
 	    Perl_warner(aTHX_ packWARN(WARN_IO),
-			"Filehandle %s opened only for %sput",
+			"Filehandle %"HEKf" opened only for %sput",
 			name, direction);
 	else
 	    Perl_warner(aTHX_ packWARN(WARN_IO),
@@ -3896,8 +3757,9 @@
     }
 
     if (ckWARN(warn_type)) {
-	const char * const name
-	    = gv && (isGV(gv) || isGV_with_GP(gv)) ? GvENAME(gv) : NULL;
+        SV * const name
+            = gv && isGV_with_GP(gv) && GvENAMELEN(gv) ?
+                                     sv_2mortal(newSVhek(GvENAME_HEK(gv))) : NULL;
 	const char * const pars =
 	    (const char *)(OP_IS_FILETEST(op) ? "" : "()");
 	const char * const func =
@@ -3909,26 +3771,18 @@
 	    (const char *)
 	    (OP_IS_SOCKET(op) || (io && IoTYPE(io) == IoTYPE_SOCKET)
 	     ? "socket" : "filehandle");
-	if (name && *name) {
-	    Perl_warner(aTHX_ packWARN(warn_type),
-			"%s%s on %s %s %s", func, pars, vile, type, name);
-	    if (io && IoDIRP(io) && !(IoFLAGS(io) & IOf_FAKE_DIRP))
+	const bool have_name = name && SvCUR(name);
+	Perl_warner(aTHX_ packWARN(warn_type),
+		   "%s%s on %s %s%s%"SVf, func, pars, vile, type,
+		    have_name ? " " : "",
+		    SVfARG(have_name ? name : &PL_sv_no));
+	if (io && IoDIRP(io) && !(IoFLAGS(io) & IOf_FAKE_DIRP))
 		Perl_warner(
 			    aTHX_ packWARN(warn_type),
-			    "\t(Are you trying to call %s%s on dirhandle %s?)\n",
-			    func, pars, name
+			"\t(Are you trying to call %s%s on dirhandle%s%"SVf"?)\n",
+			func, pars, have_name ? " " : "",
+			SVfARG(have_name ? name : &PL_sv_no)
 			    );
-	}
-	else {
-	    Perl_warner(aTHX_ packWARN(warn_type),
-			"%s%s on %s %s", func, pars, vile, type);
-	    if (io && IoDIRP(io) && !(IoFLAGS(io) & IOf_FAKE_DIRP))
-		Perl_warner(
-			    aTHX_ packWARN(warn_type),
-			    "\t(Are you trying to call %s%s on dirhandle?)\n",
-			    func, pars
-			    );
-	}
     }
 }
 
@@ -4063,15 +3917,7 @@
     year = 1900 + ptm->tm_year;
     month = ptm->tm_mon;
     mday = ptm->tm_mday;
-    /* allow given yday with no month & mday to dominate the result */
-    if (ptm->tm_yday >= 0 && mday <= 0 && month <= 0) {
-	month = 0;
-	mday = 0;
-	jday = 1 + ptm->tm_yday;
-    }
-    else {
-	jday = 0;
-    }
+    jday = 0;
     if (month >= 2)
 	month+=2;
     else
@@ -4166,9 +4012,7 @@
     yearday = year*DAYS_PER_YEAR + year/4 - year/100 + year/400;
     yearday += 14*MONTH_TO_DAYS + 1;
     ptm->tm_yday = jday - yearday;
-    /* fix tm_wday if not overridden by caller */
-    if ((unsigned)ptm->tm_wday > 6)
-	ptm->tm_wday = (jday + WEEKDAY_BIAS) % 7;
+    ptm->tm_wday = (jday + WEEKDAY_BIAS) % 7;
 }
 
 char *
@@ -4281,7 +4125,7 @@
  *     back into. */
 
 int
-Perl_getcwd_sv(pTHX_ register SV *sv)
+Perl_getcwd_sv(pTHX_ SV *sv)
 {
 #ifndef PERL_MICRO
     dVAR;
@@ -4534,6 +4378,7 @@
     } 					/* end if dotted-decimal */
     else
     {					/* decimal versions */
+	int j = 0;			/* may need this later */
 	/* special strict case for leading '.' or '0' */
 	if (strict) {
 	    if (*d == '.') {
@@ -4544,6 +4389,11 @@
 	    }
 	}
 
+	/* and we never support negative versions */
+	if ( *d == '-') {
+	    BADVERSION(s,errstr,"Invalid version format (negative version number)");
+	}
+
 	/* consume all of the integer part */
 	while (isDIGIT(*d))
 	    d++;
@@ -4591,7 +4441,7 @@
 	}
 
 	while (isDIGIT(*d)) {
-	    d++;
+	    d++; j++;
 	    if (*d == '.' && isDIGIT(d[-1])) {
 		if (alpha) {
 		    BADVERSION(s,errstr,"Invalid version format (underscores before decimal)");
@@ -4613,6 +4463,7 @@
 		if ( ! isDIGIT(d[1]) ) {
 		    BADVERSION(s,errstr,"Invalid version format (misplaced underscore)");
 		}
+		width = j;
 		d++;
 		alpha = TRUE;
 	    }
@@ -4664,7 +4515,7 @@
 const char *
 Perl_scan_version(pTHX_ const char *s, SV *rv, bool qv)
 {
-    const char *start;
+    const char *start = s;
     const char *pos;
     const char *last;
     const char *errstr = NULL;
@@ -4672,17 +4523,11 @@
     int width = 3;
     bool alpha = FALSE;
     bool vinf = FALSE;
-    AV * const av = newAV();
-    SV * const hv = newSVrv(rv, "version"); /* create an SV and upgrade the RV */
+    AV * av;
+    SV * hv;
 
     PERL_ARGS_ASSERT_SCAN_VERSION;
 
-    (void)sv_upgrade(hv, SVt_PVHV); /* needs to be an HV type */
-
-#ifndef NODEFAULT_SHAREKEYS
-    HvSHAREKEYS_on(hv);         /* key-sharing on by default */
-#endif
-
     while (isSPACE(*s)) /* leading whitespace is OK */
 	s++;
 
@@ -4690,6 +4535,7 @@
     if (errstr) {
 	/* "undef" is a special case and not an error */
 	if ( ! ( *s == 'u' && strEQ(s,"undef")) ) {
+	    Safefree(start);
 	    Perl_croak(aTHX_ "%s", errstr);
 	}
     }
@@ -4699,6 +4545,15 @@
 	s++;
     pos = s;
 
+    /* Now that we are through the prescan, start creating the object */
+    av = newAV();
+    hv = newSVrv(rv, "version"); /* create an SV and upgrade the RV */
+    (void)sv_upgrade(hv, SVt_PVHV); /* needs to be an HV type */
+
+#ifndef NODEFAULT_SHAREKEYS
+    HvSHAREKEYS_on(hv);         /* key-sharing on by default */
+#endif
+
     if ( qv )
 	(void)hv_stores(MUTABLE_HV(hv), "qv", newSViv(qv));
     if ( alpha )
@@ -4705,7 +4560,7 @@
 	(void)hv_stores(MUTABLE_HV(hv), "alpha", newSViv(alpha));
     if ( !qv && width < 3 )
 	(void)hv_stores(MUTABLE_HV(hv), "width", newSViv(width));
-    
+
     while (isDIGIT(*pos))
 	pos++;
     if (!isALPHA(*pos)) {
@@ -4854,7 +4709,8 @@
     dVAR;
     SV * const rv = newSV(0);
     PERL_ARGS_ASSERT_NEW_VERSION;
-    if ( sv_derived_from(ver,"version") ) /* can just copy directly */
+    if ( sv_isobject(ver) && sv_derived_from(ver, "version") )
+	 /* can just copy directly */
     {
 	I32 key;
 	AV * const av = newAV();
@@ -4875,7 +4731,7 @@
 
 	if ( hv_exists(MUTABLE_HV(ver), "alpha", 5) )
 	    (void)hv_stores(MUTABLE_HV(hv), "alpha", newSViv(1));
-	
+
 	if ( hv_exists(MUTABLE_HV(ver), "width", 5 ) )
 	{
 	    const I32 width = SvIV(*hv_fetchs(MUTABLE_HV(ver), "width", FALSE));
@@ -4946,18 +4802,32 @@
 
     if ( SvNOK(ver) && !( SvPOK(ver) && sv_len(ver) == 3 ) )
     {
+	STRLEN len;
+
 	/* may get too much accuracy */ 
 	char tbuf[64];
+	SV *sv = SvNVX(ver) > 10e50 ? newSV(64) : 0;
+	char *buf;
 #ifdef USE_LOCALE_NUMERIC
-	char *loc = setlocale(LC_NUMERIC, "C");
+	char *loc = savepv(setlocale(LC_NUMERIC, NULL));
+	setlocale(LC_NUMERIC, "C");
 #endif
-	STRLEN len = my_snprintf(tbuf, sizeof(tbuf), "%.9"NVff, SvNVX(ver));
+	if (sv) {
+	    Perl_sv_setpvf(aTHX_ sv, "%.9"NVff, SvNVX(ver));
+	    buf = SvPV(sv, len);
+	}
+	else {
+	    len = my_snprintf(tbuf, sizeof(tbuf), "%.9"NVff, SvNVX(ver));
+	    buf = tbuf;
+	}
 #ifdef USE_LOCALE_NUMERIC
 	setlocale(LC_NUMERIC, loc);
+	Safefree(loc);
 #endif
-	while (tbuf[len-1] == '0' && len > 0) len--;
-	if ( tbuf[len-1] == '.' ) len--; /* eat the trailing decimal */
-	version = savepvn(tbuf, len);
+	while (buf[len-1] == '0' && len > 0) len--;
+	if ( buf[len-1] == '.' ) len--; /* eat the trailing decimal */
+	version = savepvn(buf, len);
+	SvREFCNT_dec(sv);
     }
 #ifdef SvVOK
     else if ( (mg = SvVSTRING_mg(ver)) ) { /* already a v-string */
@@ -4995,7 +4865,7 @@
 		    }
 
 		    /* is definitely a v-string */
-		    if ( saw_decimal >= 2 ) {	
+		    if ( saw_decimal >= 2 ) {
 			Safefree(version);
 			version = nver;
 		    }
@@ -5486,7 +5356,7 @@
 Perl_my_socketpair (int family, int type, int protocol, int fd[2]) {
     /* Stevens says that family must be AF_LOCAL, protocol 0.
        I'm going to enforce that, then ignore it, and use TCP (or UDP).  */
-    dTHX;
+    dTHXa(NULL);
     int listener = -1;
     int connector = -1;
     int acceptor = -1;
@@ -5512,6 +5382,7 @@
 	return S_socketpair_udp(fd);
 #endif
 
+    aTHXa(PERL_GET_THX);
     listener = PerlSock_socket(AF_INET, type, 0);
     if (listener == -1)
 	return -1;
@@ -5587,7 +5458,7 @@
 }
 #else
 /* In any case have a stub so that there's code corresponding
- * to the my_socketpair in global.sym. */
+ * to the my_socketpair in embed.fnc. */
 int
 Perl_my_socketpair (int family, int type, int protocol, int fd[2]) {
 #ifdef HAS_SOCKETPAIR
@@ -5704,6 +5575,10 @@
   return opt;
 }
 
+#ifdef VMS
+#  include <starlet.h>
+#endif
+
 U32
 Perl_seed(pTHX)
 {
@@ -5735,7 +5610,6 @@
 #endif
     U32 u;
 #ifdef VMS
-#  include <starlet.h>
     /* when[] = (low 32 bits, high 32 bits) of time since epoch
      * in 100-ns units, typically incremented ever 10 ms.        */
     unsigned int when[2];
@@ -5786,64 +5660,87 @@
     return u;
 }
 
-UV
-Perl_get_hash_seed(pTHX)
+void
+Perl_get_hash_seed(pTHX_ unsigned char * const seed_buffer)
 {
     dVAR;
-     const char *s = PerlEnv_getenv("PERL_HASH_SEED");
-     UV myseed = 0;
+    const char *env_pv;
+    unsigned long i;
 
-     if (s)
-	while (isSPACE(*s))
-	    s++;
-     if (s && isDIGIT(*s))
-	  myseed = (UV)Atoul(s);
-     else
-#ifdef USE_HASH_SEED_EXPLICIT
-     if (s)
+    PERL_ARGS_ASSERT_GET_HASH_SEED;
+
+    env_pv= PerlEnv_getenv("PERL_HASH_SEED");
+
+    if ( env_pv )
+#ifndef USE_HASH_SEED_EXPLICIT
+    {
+        /* ignore leading spaces */
+        while (isSPACE(*env_pv))
+            env_pv++;
+#ifdef USE_PERL_PERTURB_KEYS
+        /* if they set it to "0" we disable key traversal randomization completely */
+        if (strEQ(env_pv,"0")) {
+            PL_hash_rand_bits_enabled= 0;
+        } else {
+            /* otherwise switch to deterministic mode */
+            PL_hash_rand_bits_enabled= 2;
+        }
 #endif
-     {
-	  /* Compute a random seed */
-	  (void)seedDrand01((Rand_seed_t)seed());
-	  myseed = (UV)(Drand01() * (NV)UV_MAX);
-#if RANDBITS < (UVSIZE * 8)
-	  /* Since there are not enough randbits to to reach all
-	   * the bits of a UV, the low bits might need extra
-	   * help.  Sum in another random number that will
-	   * fill in the low bits. */
-	  myseed +=
-	       (UV)(Drand01() * (NV)((((UV)1) << ((UVSIZE * 8 - RANDBITS))) - 1));
-#endif /* RANDBITS < (UVSIZE * 8) */
-	  if (myseed == 0) { /* Superparanoia. */
-	      myseed = (UV)(Drand01() * (NV)UV_MAX); /* One more chance. */
-	      if (myseed == 0)
-		  Perl_croak(aTHX_ "Your random numbers are not that random");
-	  }
-     }
-     PL_rehash_seed_set = TRUE;
+        /* ignore a leading 0x... if it is there */
+        if (env_pv[0] == '0' && env_pv[1] == 'x')
+            env_pv += 2;
 
-     return myseed;
-}
+        for( i = 0; isXDIGIT(*env_pv) && i < PERL_HASH_SEED_BYTES; i++ ) {
+            seed_buffer[i] = READ_XDIGIT(env_pv) << 4;
+            if ( isXDIGIT(*env_pv)) {
+                seed_buffer[i] |= READ_XDIGIT(env_pv);
+            }
+        }
+        while (isSPACE(*env_pv))
+            env_pv++;
 
-#ifdef USE_ITHREADS
-bool
-Perl_stashpv_hvname_match(pTHX_ const COP *c, const HV *hv)
-{
-    const char * const stashpv = CopSTASHPV(c);
-    const char * const name = HvNAME_get(hv);
-    PERL_UNUSED_CONTEXT;
-    PERL_ARGS_ASSERT_STASHPV_HVNAME_MATCH;
+        if (*env_pv && !isXDIGIT(*env_pv)) {
+            Perl_warn(aTHX_ "perl: warning: Non hex character in '$ENV{PERL_HASH_SEED}', seed only partially set\n");
+        }
+        /* should we check for unparsed crap? */
+        /* should we warn about unused hex? */
+        /* should we warn about insufficient hex? */
+    }
+    else
+#endif
+    {
+        (void)seedDrand01((Rand_seed_t)seed());
 
-    if (stashpv == name)
-	return TRUE;
-    if (stashpv && name)
-	if (strEQ(stashpv, name))
-	    return TRUE;
-    return FALSE;
+        for( i = 0; i < PERL_HASH_SEED_BYTES; i++ ) {
+            seed_buffer[i] = (unsigned char)(Drand01() * (U8_MAX+1));
+        }
+    }
+#ifdef USE_PERL_PERTURB_KEYS
+    {   /* initialize PL_hash_rand_bits from the hash seed.
+         * This value is highly volatile, it is updated every
+         * hash insert, and is used as part of hash bucket chain
+         * randomization and hash iterator randomization. */
+        PL_hash_rand_bits= 0xbe49d17f; /* I just picked a number */
+        for( i = 0; i < sizeof(UV) ; i++ ) {
+            PL_hash_rand_bits += seed_buffer[i % PERL_HASH_SEED_BYTES];
+            PL_hash_rand_bits = ROTL_UV(PL_hash_rand_bits,8);
+        }
+    }
+    env_pv= PerlEnv_getenv("PERL_PERTURB_KEYS");
+    if (env_pv) {
+        if (strEQ(env_pv,"0") || strEQ(env_pv,"NO")) {
+            PL_hash_rand_bits_enabled= 0;
+        } else if (strEQ(env_pv,"1") || strEQ(env_pv,"RANDOM")) {
+            PL_hash_rand_bits_enabled= 1;
+        } else if (strEQ(env_pv,"2") || strEQ(env_pv,"DETERMINISTIC")) {
+            PL_hash_rand_bits_enabled= 2;
+        } else {
+            Perl_warn(aTHX_ "perl: warning: strange setting in '$ENV{PERL_PERTURB_KEYS}': '%s'\n", env_pv);
+        }
+    }
+#endif
 }
-#endif
 
-
 #ifdef PERL_GLOBAL_STRUCT
 
 #define PERL_GLOBAL_STRUCT_INIT
@@ -5868,18 +5765,15 @@
 #  undef PERLVARA
 #  undef PERLVARI
 #  undef PERLVARIC
-#  undef PERLVARISC
-#  define PERLVAR(var,type) /**/
-#  define PERLVARA(var,n,type) /**/
-#  define PERLVARI(var,type,init) plvarsp->var = init;
-#  define PERLVARIC(var,type,init) plvarsp->var = init;
-#  define PERLVARISC(var,init) Copy(init, plvarsp->var, sizeof(init), char);
+#  define PERLVAR(prefix,var,type) /**/
+#  define PERLVARA(prefix,var,n,type) /**/
+#  define PERLVARI(prefix,var,type,init) plvarsp->prefix##var = init;
+#  define PERLVARIC(prefix,var,type,init) plvarsp->prefix##var = init;
 #  include "perlvars.h"
 #  undef PERLVAR
 #  undef PERLVARA
 #  undef PERLVARI
 #  undef PERLVARIC
-#  undef PERLVARISC
 #  ifdef PERL_GLOBAL_STRUCT
     plvarsp->Gppaddr =
 	(Perl_ppaddr_t*)
@@ -6153,7 +6047,6 @@
 int
 Perl_my_snprintf(char *buffer, const Size_t len, const char *format, ...)
 {
-    dTHX;
     int retval;
     va_list ap;
     PERL_ARGS_ASSERT_MY_SNPRINTF;
@@ -6172,7 +6065,7 @@
         (len > 0 && (Size_t)retval >= len) 
 #endif
     )
-	Perl_croak(aTHX_ "panic: my_snprintf buffer overflow");
+	Perl_croak_nocontext("panic: my_snprintf buffer overflow");
     return retval;
 }
 
@@ -6190,7 +6083,6 @@
 int
 Perl_my_vsnprintf(char *buffer, const Size_t len, const char *format, va_list ap)
 {
-    dTHX;
     int retval;
 #ifdef NEED_VA_COPY
     va_list apc;
@@ -6218,7 +6110,7 @@
         (len > 0 && (Size_t)retval >= len) 
 #endif
     )
-	Perl_croak(aTHX_ "panic: my_vsnprintf buffer overflow");
+	Perl_croak_nocontext("panic: my_vsnprintf buffer overflow");
     return retval;
 }
 
@@ -6259,6 +6151,7 @@
       if (bsiz < l + 1) {
         (void)safesysfree(buf);
         bsiz = l + 1; /* + 1 for the \0. */
+        bufsiz = bsiz * sizeof(char); /* keep bsiz and bufsiz in sync */
         buf = (char*)safesysmalloc(bufsiz);
       } 
       memcpy(buf, *environ, l);
@@ -6418,7 +6311,7 @@
     }
     if (sv) {
 	SV *xssv = Perl_newSVpvn_flags(aTHX_ xs_p, xs_len, SVs_TEMP);
-	SV *pmsv = sv_derived_from(sv, "version")
+	SV *pmsv = sv_isobject(sv) && sv_derived_from(sv, "version")
 	    ? sv : sv_2mortal(new_version(sv));
 	xssv = upg_version(xssv, 0);
 	if ( vcmp(pmsv,xssv) ) {
@@ -6512,34 +6405,53 @@
 long _ftol2( double dblSource ) { return _ftol( dblSource ); }
 #endif
 
+PERL_STATIC_INLINE bool
+S_gv_has_usable_name(pTHX_ GV *gv)
+{
+    GV **gvp;
+    return GvSTASH(gv)
+	&& HvENAME(GvSTASH(gv))
+	&& (gvp = (GV **)hv_fetch(
+			GvSTASH(gv), GvNAME(gv),
+			GvNAMEUTF8(gv) ? -GvNAMELEN(gv) : GvNAMELEN(gv), 0
+	   ))
+	&& *gvp == gv;
+}
+
 void
 Perl_get_db_sub(pTHX_ SV **svp, CV *cv)
 {
     dVAR;
     SV * const dbsv = GvSVn(PL_DBsub);
-    const bool save_taint = PL_tainted;
+    const bool save_taint = TAINT_get;
 
-    /* We do not care about using sv to call CV;
+    /* When we are called from pp_goto (svp is null),
+     * we do not care about using dbsv to call CV;
      * it's for informational purposes only.
      */
 
     PERL_ARGS_ASSERT_GET_DB_SUB;
 
-    PL_tainted = FALSE;
+    TAINT_set(FALSE);
     save_item(dbsv);
     if (!PERLDB_SUB_NN) {
 	GV *gv = CvGV(cv);
 
-	if ( svp && ((CvFLAGS(cv) & (CVf_ANON | CVf_CLONED))
+	if (!svp) {
+	    gv_efullname3(dbsv, gv, NULL);
+	}
+	else if ( (CvFLAGS(cv) & (CVf_ANON | CVf_CLONED))
 	     || strEQ(GvNAME(gv), "END")
-	     || ((GvCV(gv) != cv) && /* Could be imported, and old sub redefined. */
+	     || ( /* Could be imported, and old sub redefined. */
+		 (GvCV(gv) != cv || !S_gv_has_usable_name(aTHX_ gv))
+		 &&
 		 !( (SvTYPE(*svp) == SVt_PVGV)
 		    && (GvCV((const GV *)*svp) == cv)
-		    && (gv = (GV *)*svp) 
+		    /* Use GV from the stack as a fallback. */
+		    && S_gv_has_usable_name(aTHX_ gv = (GV *)*svp) 
 		  )
 		)
-	)) {
-	    /* Use GV from the stack as a fallback. */
+	) {
 	    /* GV is potentially non-unique, or contain different CV. */
 	    SV * const tmp = newRV(MUTABLE_SV(cv));
 	    sv_setsv(dbsv, tmp);
@@ -6546,7 +6458,12 @@
 	    SvREFCNT_dec(tmp);
 	}
 	else {
-	    gv_efullname3(dbsv, gv, NULL);
+	    sv_sethek(dbsv, HvENAME_HEK(GvSTASH(gv)));
+	    sv_catpvs(dbsv, "::");
+	    sv_catpvn_flags(
+	      dbsv, GvNAME(gv), GvNAMELEN(gv),
+	      GvNAMEUTF8(gv) ? SV_CATUTF8 : SV_CATBYTES
+	    );
 	}
     }
     else {
@@ -6557,6 +6474,9 @@
 	SvIV_set(dbsv, PTR2IV(cv));	/* Do it the quickest way  */
     }
     TAINT_IF(save_taint);
+#ifdef NO_TAINT_SUPPORT
+    PERL_UNUSED_VAR(save_taint);
+#endif
 }
 
 int
@@ -6571,7 +6491,7 @@
     return dir->dd_fd;
 #else
     Perl_die(aTHX_ PL_no_func, "dirfd");
-   /* NOT REACHED */
+    assert(0); /* NOT REACHED */
     return 0;
 #endif 
 }
@@ -6595,8 +6515,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/util.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/util.h
===================================================================
--- vendor/perl/dist/util.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/util.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
 	(*(f) == '/'							\
 	 || (strchr(f,':')						\
 	     || ((*(f) == '[' || *(f) == '<')				\
-		 && (isALNUM((f)[1]) || strchr("$-_]>",(f)[1])))))
+		 && (isWORDCHAR((f)[1]) || strchr("$-_]>",(f)[1])))))
 
 #else		/* !VMS */
 #  if defined(WIN32) || defined(__CYGWIN__)
@@ -27,11 +27,11 @@
 	 || ((f)[0] == '\\' && (f)[1] == '\\')	/* UNC path */	\
 	 ||	((f)[3] == ':'))				/* volume name, currently only sys */
 #  else		/* !NETWARE */
-#    if defined(DOSISH) || defined(EPOC) || defined(__SYMBIAN32__)
+#    if defined(DOSISH) || defined(__SYMBIAN32__)
 #      define PERL_FILE_IS_ABSOLUTE(f) \
 	(*(f) == '/'							\
 	 || ((f)[0] && (f)[1] == ':'))		/* drive name */
-#    else	/* NEITHER DOSISH NOR EPOCISH NOR SYMBIANISH */
+#    else	/* NEITHER DOSISH NOR SYMBIANISH */
 #      define PERL_FILE_IS_ABSOLUTE(f)	(*(f) == '/')
 #    endif	/* DOSISH */
 #   endif	/* NETWARE */
@@ -57,8 +57,8 @@
  * Local variables:
  * c-indentation-style: bsd
  * c-basic-offset: 4
- * indent-tabs-mode: t
+ * indent-tabs-mode: nil
  * End:
  *
- * ex: set ts=8 sts=4 sw=4 noet:
+ * ex: set ts=8 sts=4 sw=4 et:
  */


Property changes on: vendor/perl/dist/util.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/utils/Makefile
===================================================================
--- vendor/perl/dist/utils/Makefile	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/Makefile	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,9 +10,9 @@
 # Files to be built with variable substitution after miniperl is
 # available.  Dependencies handled manually below (for now).
 
-pl = c2ph.PL config_data.PL corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL json_pp.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL ptar.PL ptardiff.PL ptargrep.PL cpanp-run-perl.PL cpanp.PL cpan2dist.PL shasum.PL splain.PL dprofpp.PL libnetcfg.PL piconv.PL enc2xs.PL xsubpp.PL
-plextract = c2ph config_data corelist cpan h2ph h2xs instmodsh json_pp perlbug perldoc perlivp pl2pm prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum splain dprofpp libnetcfg piconv enc2xs xsubpp
-plextractexe = ./c2ph ./config_data ./corelist ./cpan ./h2ph ./h2xs ./json_pp ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./ptar ./ptardiff ./ptargrep ./cpanp-run-perl ./cpanp ./cpan2dist ./shasum ./splain ./dprofpp ./libnetcfg ./piconv ./enc2xs ./xsubpp
+pl = c2ph.PL config_data.PL corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL json_pp.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL ptar.PL ptardiff.PL ptargrep.PL cpanp-run-perl.PL cpanp.PL cpan2dist.PL shasum.PL splain.PL libnetcfg.PL piconv.PL enc2xs.PL xsubpp.PL pod2html.PL zipdetails.PL
+plextract = c2ph config_data corelist cpan h2ph h2xs instmodsh json_pp perlbug perldoc perlivp pl2pm prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum splain libnetcfg piconv enc2xs xsubpp pod2html zipdetails
+plextractexe = ./c2ph ./config_data ./corelist ./cpan ./h2ph ./h2xs ./json_pp ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./ptar ./ptardiff ./ptargrep ./cpanp-run-perl ./cpanp ./cpan2dist ./shasum ./splain ./libnetcfg ./piconv ./enc2xs ./xsubpp ./pod2html ./zipdetails
 
 all: $(plextract) 
 
@@ -33,6 +33,8 @@
 
 instmodsh:	instmodsh.PL ../config.sh
 
+json_pp:	json_pp.PL ../config.sh
+
 perlbug:	perlbug.PL ../config.sh ../patchlevel.h
 
 perldoc:	perldoc.PL ../config.sh
@@ -59,8 +61,6 @@
 
 splain:		splain.PL ../config.sh ../lib/diagnostics.pm
 
-dprofpp:	dprofpp.PL ../config.sh
-
 libnetcfg:	libnetcfg.PL ../config.sh
 
 piconv:		piconv.PL ../config.sh
@@ -69,6 +69,10 @@
 
 xsubpp:		xsubpp.PL ../config.sh
 
+zipdetails:	zipdetails.PL ../config.sh
+
+pod2html:	pod2html.PL ../config.sh ../ext/Pod-Html/bin/pod2html
+
 clean:
 
 realclean:


Property changes on: vendor/perl/dist/utils/Makefile
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/utils/Makefile.SH
===================================================================
--- vendor/perl/dist/utils/Makefile.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/Makefile.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -48,9 +48,9 @@
 # Files to be built with variable substitution after miniperl is
 # available.  Dependencies handled manually below (for now).
 
-pl = c2ph.PL config_data.PL corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL json_pp.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL ptar.PL ptardiff.PL ptargrep.PL cpanp-run-perl.PL cpanp.PL cpan2dist.PL shasum.PL splain.PL dprofpp.PL libnetcfg.PL piconv.PL enc2xs.PL xsubpp.PL
-plextract = c2ph config_data corelist cpan h2ph h2xs instmodsh json_pp perlbug perldoc perlivp pl2pm prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum splain dprofpp libnetcfg piconv enc2xs xsubpp
-plextractexe = ./c2ph ./config_data ./corelist ./cpan ./h2ph ./h2xs ./json_pp ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./ptar ./ptardiff ./ptargrep ./cpanp-run-perl ./cpanp ./cpan2dist ./shasum ./splain ./dprofpp ./libnetcfg ./piconv ./enc2xs ./xsubpp
+pl = c2ph.PL config_data.PL corelist.PL cpan.PL h2ph.PL h2xs.PL instmodsh.PL json_pp.PL perlbug.PL perldoc.PL perlivp.PL pl2pm.PL prove.PL ptar.PL ptardiff.PL ptargrep.PL cpanp-run-perl.PL cpanp.PL cpan2dist.PL shasum.PL splain.PL libnetcfg.PL piconv.PL enc2xs.PL xsubpp.PL pod2html.PL zipdetails.PL
+plextract = c2ph config_data corelist cpan h2ph h2xs instmodsh json_pp perlbug perldoc perlivp pl2pm prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum splain libnetcfg piconv enc2xs xsubpp pod2html zipdetails
+plextractexe = ./c2ph ./config_data ./corelist ./cpan ./h2ph ./h2xs ./json_pp ./instmodsh ./perlbug ./perldoc ./perlivp ./pl2pm ./prove ./ptar ./ptardiff ./ptargrep ./cpanp-run-perl ./cpanp ./cpan2dist ./shasum ./splain ./libnetcfg ./piconv ./enc2xs ./xsubpp ./pod2html ./zipdetails
 
 all: $(plextract) 
 
@@ -71,6 +71,8 @@
 
 instmodsh:	instmodsh.PL ../config.sh
 
+json_pp:	json_pp.PL ../config.sh
+
 perlbug:	perlbug.PL ../config.sh ../patchlevel.h
 
 perldoc:	perldoc.PL ../config.sh
@@ -97,8 +99,6 @@
 
 splain:		splain.PL ../config.sh ../lib/diagnostics.pm
 
-dprofpp:	dprofpp.PL ../config.sh
-
 libnetcfg:	libnetcfg.PL ../config.sh
 
 piconv:		piconv.PL ../config.sh
@@ -107,6 +107,10 @@
 
 xsubpp:		xsubpp.PL ../config.sh
 
+zipdetails:	zipdetails.PL ../config.sh
+
+pod2html:	pod2html.PL ../config.sh ../ext/Pod-Html/bin/pod2html
+
 clean:
 
 realclean:


Property changes on: vendor/perl/dist/utils/Makefile.SH
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/utils/c2ph.PL
===================================================================
--- vendor/perl/dist/utils/c2ph.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/c2ph.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -278,7 +278,7 @@
 
 =cut
 
-$RCSID = '$Id: c2ph.PL,v 1.1.1.2 2011-05-18 13:33:26 laffer1 Exp $';
+$RCSID = '$Id: c2ph,v 1.7 95/10/28 10:41:47 tchrist Exp Locker: tchrist $';
 
 use File::Temp;
 


Property changes on: vendor/perl/dist/utils/c2ph.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/config_data.PL
===================================================================
--- vendor/perl/dist/utils/config_data.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/config_data.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/config_data.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/corelist.PL
===================================================================
--- vendor/perl/dist/utils/corelist.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/corelist.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/corelist.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/cpan.PL
===================================================================
--- vendor/perl/dist/utils/cpan.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/cpan.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/cpan.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/cpan2dist.PL
===================================================================
--- vendor/perl/dist/utils/cpan2dist.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/cpan2dist.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/cpan2dist.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/cpanp-run-perl.PL
===================================================================
--- vendor/perl/dist/utils/cpanp-run-perl.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/cpanp-run-perl.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/cpanp-run-perl.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/cpanp.PL
===================================================================
--- vendor/perl/dist/utils/cpanp.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/cpanp.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/cpanp.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/dprofpp.PL
===================================================================
--- vendor/perl/dist/utils/dprofpp.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/dprofpp.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/dprofpp.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/utils/enc2xs.PL
===================================================================
--- vendor/perl/dist/utils/enc2xs.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/enc2xs.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/enc2xs.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/utils/h2ph.PL
===================================================================
--- vendor/perl/dist/utils/h2ph.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/h2ph.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -96,7 +96,7 @@
     $t = '';
     $tab = 0;
 
-    # $eval_index goes into ``#line'' directives, to help locate syntax errors:
+    # $eval_index goes into '#line' directives, to help locate syntax errors:
     $eval_index = 1;
 
     if ($file eq '-') {
@@ -151,24 +151,22 @@
 		} else {
 		    s/^\s+//;
 		    expr();
+
 		    $new = 1 if $new eq '';
+
+		    # Shunt around such directives as '#define FOO FOO':
+		    next if $new =~ /^\s*&\Q$name\E\s*\z/;
+
 		    $new = reindent($new);
 		    $args = reindent($args);
-		    if ($t ne '') {
-			$new =~ s/(['\\])/\\$1/g;        #']);
+		    $new =~ s/(['\\])/\\$1/g;        #']);
 
-			if ($opt_h) {
-			    print OUT $t,"eval \"\\n#line $eval_index $outfile\\n\" . 'sub $name () {",$new,";}' unless defined(\&$name);\n";
-			    $eval_index++;
-			} else {
-			    print OUT $t,"eval 'sub $name () {",$new,";}' unless defined(\&$name);\n";
-			}
-		    } else {
-		    	# Shunt around such directives as `#define FOO FOO':
-		    	next if " \&$name" eq $new;
-
-                      print OUT $t,"unless(defined(\&$name)) {\n    sub $name () {\t",$new,";}\n}\n";
+	    	    print OUT $t, 'eval ';
+		    if ($opt_h) {
+			print OUT "\"\\n#line $eval_index $outfile\\n\" . ";
+			$eval_index++;
 		    }
+		    print OUT "'sub $name () {$new;}' unless defined(&$name);\n";
 		}
 	    } elsif (/^(include|import|include_next)\s*([<\"])(.*)[>\"]/) {
                 $incl_type = $1;
@@ -660,12 +658,12 @@
             if ($opt_r) {
                 expand_glob($file);
             } else {
-                print STDERR "Skipping directory `$file'\n";
+                print STDERR "Skipping directory '$file'\n";
             }
         } elsif ($opt_a) {
             return $file;
         } else {
-            print STDERR "Skipping `$file':  not a file or directory\n";
+            print STDERR "Skipping '$file':  not a file or directory\n";
         }
     }
 
@@ -761,16 +759,8 @@
 # non-GCC?) C compilers, but gcc uses additional include directories.
 sub inc_dirs
 {
-    my $from_gcc    = `LC_ALL=C $Config{cc} -v 2>&1`;
-    if( !( $from_gcc =~ s:^Reading specs from (.*?)/specs\b.*:$1/include:s ) )
-    { # gcc-4+ :
-       $from_gcc   = `LC_ALL=C $Config{cc} -print-search-dirs 2>&1`;
-       if ( !($from_gcc =~ s/^install:\s*([^\s]+[^\s\/])([\s\/]*).*$/$1\/include/s) )
-       {
-           $from_gcc = '';
-       };
-    };
-    length($from_gcc) ? ($from_gcc, $from_gcc . "-fixed", $Config{usrinc}) : ($Config{usrinc});
+    my $from_gcc   = `LC_ALL=C $Config{cc} -v -E - < /dev/null 2>&1 | awk '/^#include/, /^End of search list/' | grep '^ '`;
+    length($from_gcc) ? (split(' ', $from_gcc), $Config{usrinc}) : ($Config{usrinc});
 }
 
 
@@ -853,7 +843,7 @@
     my $allsymbols  = join " ",
 	@Config{'ccsymbols', 'cppsymbols', 'cppccsymbols'};
 
-    # Split compiler pre-definitions into `key=value' pairs:
+    # Split compiler pre-definitions into 'key=value' pairs:
     while ($allsymbols =~ /([^\s]+)=((\\\s|[^\s])+)/g) {
 	$define{$1} = $2;
 	if ($opt_D) {
@@ -930,7 +920,7 @@
 
 =item -h
 
-Put ``hints'' in the .ph files which will help in locating problems with
+Put 'hints' in the .ph files which will help in locating problems with
 I<h2ph>.  In those cases when you B<require> a B<.ph> file containing syntax
 errors, instead of the cryptic
 
@@ -949,7 +939,7 @@
 
 =item -Q
 
-``Quiet'' mode; don't print out the names of the files being converted.
+'Quiet' mode; don't print out the names of the files being converted.
 
 =back
 


Property changes on: vendor/perl/dist/utils/h2ph.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/utils/h2xs.PL
===================================================================
--- vendor/perl/dist/utils/h2xs.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/h2xs.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -498,7 +498,7 @@
 use strict;
 
 
-my( $H2XS_VERSION ) = ' $Revision: 1.1.1.3 $ ' =~ /\$Revision:\s+([^\s]+)/;
+my( $H2XS_VERSION ) = ' $Revision: 1.23 $ ' =~ /\$Revision:\s+([^\s]+)/;
 my $TEMPLATE_VERSION = '0.01';
 my @ARGS = @ARGV;
 my $compat_version = $];
@@ -789,7 +789,7 @@
     }
     else {
       @paths = (File::Spec->curdir(), $Config{usrinc},
-		(split ' ', $Config{locincpth}), '/usr/include');
+		(split / +/, $Config{locincpth} // ""), '/usr/include');
     }
     foreach my $path_h (@path_h) {
         $name ||= $path_h;
@@ -862,6 +862,10 @@
 	    $rest =~ s!/\*.*?(\*/|\n)|//.*!!g; # Remove comments
 	    $rest =~ s/^\s+//;
 	    $rest =~ s/\s+$//;
+	    if ($rest eq '') {
+	      print("Skip empty $def\n") if $opt_d;
+	      next defines;
+	    }
 	    # Cannot do: (-1) and ((LHANDLE)3) are OK:
 	    #print("Skip non-wordy $def => $rest\n"),
 	    #  next defines if $rest =~ /[^\w\$]/;
@@ -893,7 +897,7 @@
       }
       else {
 	# Work from miniperl too - on "normal" systems
-        my $SEEK_SET = eval 'use Fcntl qw/SEEK_SET/; SEEK_SET' or 0;
+        my $SEEK_SET = eval 'use Fcntl qw/SEEK_SET/; SEEK_SET' || 0;
         seek CH, 0, $SEEK_SET;
         my $src = do { local $/; <CH> };
         close CH;
@@ -1382,6 +1386,7 @@
 warn "Writing $ext$modpname/$modfname.xs\n";
 
 print XS <<"END";
+#define PERL_NO_GET_CONTEXT
 #include "EXTERN.h"
 #include "perl.h"
 #include "XSUB.h"
@@ -2093,8 +2098,8 @@
 open EX, ">$testfile" or die "Can't create $ext$modpname/$testfile: $!\n";
 
 print EX <<_END_;
-# Before `make install' is performed this script should be runnable with
-# `make test'. After `make install' it should work as `perl $modpname.t'
+# Before 'make install' is performed this script should be runnable with
+# 'make test'. After 'make install' it should work as 'perl $modpname.t'
 
 #########################
 


Property changes on: vendor/perl/dist/utils/h2xs.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/utils/instmodsh.PL
===================================================================
--- vendor/perl/dist/utils/instmodsh.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/instmodsh.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/instmodsh.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/json_pp.PL
===================================================================
--- vendor/perl/dist/utils/json_pp.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/json_pp.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/json_pp.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/utils/libnetcfg.PL
===================================================================
--- vendor/perl/dist/utils/libnetcfg.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/libnetcfg.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -85,7 +85,7 @@
 
 =head1 SEE ALSO
 
-L<Net::Config>, L<Net::libnetFAQ>
+L<Net::Config>, L<libnetFAQ>
 
 =head1 AUTHORS
 
@@ -95,7 +95,7 @@
 
 =cut
 
-# $Id: libnetcfg.PL,v 1.1.1.1 2009-03-15 19:20:09 ctriv Exp $
+# $Id: Configure,v 1.8 1997/03/04 09:22:32 gbarr Exp $
 
 use strict;
 use IO::File;
@@ -218,7 +218,7 @@
    print <<"EDQ";
 
 *** ERROR:
-    Hostname `$host' does not seem to exist, please enter again
+    Hostname '$host' does not seem to exist, please enter again
     or a single space to clear any default
 
 EDQ
@@ -684,9 +684,9 @@
 $msg = <<EDQ;
 
 If you specified some default hosts above, it is possible for me to
-do some basic tests when you run `make test'
+do some basic tests when you run 'make test'
 
-This will cause `make test' to be quite a bit slower and, if your
+This will cause 'make test' to be quite a bit slower and, if your
 internet connection is via dialup, will require you to be on-line
 unless the hosts are local.
 
@@ -714,7 +714,7 @@
 #---------------------------------------------------------------------------
 
 my $fh = IO::File->new($libnet_cfg_out, "w") or
-	die "Cannot create `$libnet_cfg_out': $!";
+	die "Cannot create '$libnet_cfg_out': $!";
 
 print "Writing $libnet_cfg_out\n";
 


Property changes on: vendor/perl/dist/utils/libnetcfg.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/utils/perlbug.PL
===================================================================
--- vendor/perl/dist/utils/perlbug.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/perlbug.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -85,7 +85,6 @@
 print OUT <<'!NO!SUBS!';
 
 use warnings;
-no warnings 'once'; # Eventually, the $::opt_ stuff should get cleaned up
 use strict;
 use Config;
 use File::Spec;		# keep perlbug Perl 5.005 compatible
@@ -108,58 +107,6 @@
 
 my $Version = "1.39";
 
-# Changed in 1.06 to skip Mail::Send and Mail::Util if not available.
-# Changed in 1.07 to see more sendmail execs, and added pipe output.
-# Changed in 1.08 to use correct address for sendmail.
-# Changed in 1.09 to close the REP file before calling it up in the editor.
-#                 Also removed some old comments duplicated elsewhere.
-# Changed in 1.10 to run under VMS without Mail::Send; also fixed
-#                 temp filename generation.
-# Changed in 1.11 to clean up some text and removed Mail::Send deactivator.
-# Changed in 1.12 to check for editor errors, make save/send distinction
-#                 clearer and add $ENV{REPLYTO}.
-# Changed in 1.13 to hopefully make it more difficult to accidentally
-#                 send mail
-# Changed in 1.14 to make the prompts a little more clear on providing
-#                 helpful information. Also let file read fail gracefully.
-# Changed in 1.15 to add warnings to stop people using perlbug for non-bugs.
-#                 Also report selected environment variables.
-# Changed in 1.16 to include @INC, and allow user to re-edit if no changes.
-# Changed in 1.17 Win32 support added.  GSAR 97-04-12
-# Changed in 1.18 add '-ok' option for reporting build success. CFR 97-06-18
-# Changed in 1.19 '-ok' default not '-v'
-#                 add local patch information
-#                 warn on '-ok' if this is an old system; add '-okay'
-# Changed in 1.20 Added patchlevel.h reading and version/config checks
-# Changed in 1.21 Added '-nok' for reporting build failure DFD 98-05-05
-# Changed in 1.22 Heavy reformatting & minor bugfixes HVDS 98-05-10
-# Changed in 1.23 Restore -ok(ay): say 'success'; don't prompt
-# Changed in 1.24 Added '-F<file>' to save report HVDS 98-07-01
-# Changed in 1.25 Warn on failure to open save file. HVDS 98-07-12
-# Changed in 1.26 Don't require -t STDIN for -ok. HVDS 98-07-15
-# Changed in 1.27 Added Mac OS and File::Spec support CNANDOR 99-07-27
-# Changed in 1.28 Additional questions for Perlbugtron RFOLEY 20.03.2000
-# Changed in 1.29 Perlbug(tron): auto(-ok), short prompts RFOLEY 05-05-2000
-# Changed in 1.30 Added warnings on failure to open files MSTEVENS 13-07-2000
-# Changed in 1.31 Add checks on close().Fix my $var unless. TJENNESS 26-07-2000
-# Changed in 1.32 Use File::Spec->tmpdir TJENNESS 20-08-2000
-# Changed in 1.33 Don't require -t STDOUT for -ok.
-# Changed in 1.34 Added Message-Id RFOLEY 18-06-2002 
-# Changed in 1.35 Use File::Temp (patch from Solar Designer) NWCLARK 28-02-2004
-# Changed in 1.36 Initial Module::CoreList support Alexandr Ciornii 11-07-2007
-# Changed in 1.37 Killed some string evals, rewrote most prose JESSE 2008-06-08
-# Changed in 1.38 Actually enforce the CoreList check,
-#                 Record the module the user enters if they do so
-#                 Refactor prompts to use common code           JESSE 2008-06-08
-# Changed in 1.39 Trap mail sending failures (simple ones) so   JESSE 2008-06-08
-#                 users might be able to recover their bug reports
-#                 Refactor mail sending routines
-#                 Unify message building code
-#                 Unify message header building
-#                 Fix "module" prompting to not squish "category" prompting 
-#                 use warnings; (except 'once' warnings)
-#                 Unified report fingerprint/change detection code
-#                 Removed some labeled 'gotos'
 #TODO:
 #       make sure failure (transmission-wise) of Mail::Send is accounted for.
 #       (This may work now. Unsure of the original author's issue -JESSE 2008-06-08)
@@ -170,7 +117,7 @@
     $fh, $me, $body, $andcc, %REP, $ok, $thanks, $progname,
     $Is_MSWin32, $Is_Linux, $Is_VMS, $Is_OpenBSD,
     $report_about_module, $category, $severity,
-
+    %opt,
 );
 
 my $perl_version = $^V ? sprintf("%vd", $^V) : $];
@@ -179,9 +126,9 @@
 
 Init();
 
-if ($::opt_h) { Help(); exit; }
-if ($::opt_d) { Dump(*STDOUT); exit; }
-if (!-t STDIN && !($ok and not $::opt_n)) {
+if ($opt{h}) { Help(); exit; }
+if ($opt{d}) { Dump(*STDOUT); exit; }
+if (!-t STDIN && !($ok and not $opt{n})) {
     paraprint <<"EOF";
 Please use $progname interactively. If you want to
 include a file, you can use the -f switch.
@@ -190,7 +137,7 @@
 }
 
 Query();
-Edit() unless $usefile || ($ok and not $::opt_n);
+Edit() unless $usefile || ($ok and not $opt{n});
 NowWhat();
 if ($outfile) {
     save_message_to_disk($outfile);
@@ -255,7 +202,7 @@
     $Is_Linux = lc($^O) eq 'linux';
     $Is_OpenBSD = lc($^O) eq 'openbsd';
 
-    if (!getopts("Adhva:s:b:f:F:r:e:SCc:to:n:T")) { Help(); exit; };
+    if (!getopts("Adhva:s:b:f:F:r:e:SCc:to:n:T", \%opt)) { Help(); exit; };
 
     # This comment is needed to notify metaconfig that we are
     # using the $perladmin, $cf_by, and $cf_time definitions.
@@ -273,50 +220,50 @@
 
     if (basename ($0) =~ /^perlthanks/i) {
 	# invoked as perlthanks
-	$::opt_T = 1;
-	$::opt_C = 1; # don't send a copy to the local admin
+	$opt{T} = 1;
+	$opt{C} = 1; # don't send a copy to the local admin
     }
 
-    if ($::opt_T) {
+    if ($opt{T}) {
 	$thanks = 'thanks';
     }
     
     $progname = $thanks ? 'perlthanks' : 'perlbug';
     # Target address
-    $address = $::opt_a || ($::opt_t ? $testaddress
+    $address = $opt{a} || ($opt{t} ? $testaddress
 			    : $thanks ? $thanksaddress : $bugaddress);
 
     # Users address, used in message and in From and Reply-To headers
-    $from = $::opt_r || "";
+    $from = $opt{r} || "";
 
     # Include verbose configuration information
-    $verbose = $::opt_v || 0;
+    $verbose = $opt{v} || 0;
 
     # Subject of bug-report message
-    $subject = $::opt_s || "";
+    $subject = $opt{s} || "";
 
     # Send a file
-    $usefile = ($::opt_f || 0);
+    $usefile = ($opt{f} || 0);
 
     # File to send as report
-    $file = $::opt_f || "";
+    $file = $opt{f} || "";
 
     # File to output to
-    $outfile = $::opt_F || "";
+    $outfile = $opt{F} || "";
 
     # Body of report
-    $body = $::opt_b || "";
+    $body = $opt{b} || "";
 	
     # Editor
-    $ed = $::opt_e || $ENV{VISUAL} || $ENV{EDITOR} || $ENV{EDIT}
+    $ed = $opt{e} || $ENV{VISUAL} || $ENV{EDITOR} || $ENV{EDIT}
 	|| ($Is_VMS && "edit/tpu")
 	|| ($Is_MSWin32 && "notepad")
 	|| "vi";
 
     # Not OK - provide build failure template by finessing OK report
-    if ($::opt_n) {
-	if (substr($::opt_n, 0, 2) eq 'ok' )	{
-	    $::opt_o = substr($::opt_n, 1);
+    if ($opt{n}) {
+	if (substr($opt{n}, 0, 2) eq 'ok' )	{
+	    $opt{o} = substr($opt{n}, 1);
 	} else {
 	    Help();
 	    exit();
@@ -325,10 +272,10 @@
 
     # OK - send "OK" report for build on this system
     $ok = '';
-    if ($::opt_o) {
-	if ($::opt_o eq 'k' or $::opt_o eq 'kay') {
+    if ($opt{o}) {
+	if ($opt{o} eq 'k' or $opt{o} eq 'kay') {
 	    my $age = time - $patchlevel_date;
-	    if ($::opt_o eq 'k' and $age > 60 * 24 * 60 * 60 ) {
+	    if ($opt{o} eq 'k' and $age > 60 * 24 * 60 * 60 ) {
 		my $date = localtime $patchlevel_date;
 		print <<"EOF";
 "perlbug -ok" and "perlbug -nok" do not report on Perl versions which
@@ -339,14 +286,14 @@
 		exit();
 	    }
 	    # force these options
-	    unless ($::opt_n) {
-		$::opt_S = 1; # don't prompt for send
-		$::opt_b = 1; # we have a body
+	    unless ($opt{n}) {
+		$opt{S} = 1; # don't prompt for send
+		$opt{b} = 1; # we have a body
 		$body = "Perl reported to build OK on this system.\n";
 	    }
-	    $::opt_C = 1; # don't send a copy to the local admin
-	    $::opt_s = 1; # we have a subject line
-	    $subject = ($::opt_n ? 'Not ' : '')
+	    $opt{C} = 1; # don't send a copy to the local admin
+	    $opt{s} = 1; # we have a subject line
+	    $subject = ($opt{n} ? 'Not ' : '')
 		    . "OK: perl $perl_version ${patch_tags}on"
 		    ." $::Config{'archname'} $::Config{'osvers'} $subject";
 	    $ok = 'ok';
@@ -361,9 +308,9 @@
     # we don't really want it. We'll just take it if we have to.)
     #
     # This has to be after the $ok stuff above because of the way
-    # that $::opt_C is forced.
-    $cc = $::opt_C ? "" : (
-	$::opt_c || $::Config{'perladmin'}
+    # that $opt{C} is forced.
+    $cc = $opt{C} ? "" : (
+	$opt{c} || $::Config{'perladmin'}
 	|| $::Config{'cf_email'} || $::Config{'cf_by'}
     );
 
@@ -410,8 +357,8 @@
 Please do not use $0 to send test messages, test whether perl
 works, or to report bugs in perl modules from CPAN.
 
-For help using perl, try posting to the Usenet newsgroup 
-comp.lang.perl.misc.
+Suggestions for how to find help using Perl can be found at
+http://perldoc.perl.org/perlcommunity.html
 EOF
 	}
     }
@@ -449,7 +396,7 @@
     }
 
     # Prompt for return address, if needed
-    unless ($::opt_r) {
+    unless ($opt{r}) {
 	# Try and guess return address
 	my $guess;
 
@@ -500,7 +447,7 @@
     }
 
     # Prompt for administrator address, unless an override was given
-    if( !$::opt_C and !$::opt_c ) {
+    if( !$opt{C} and !$opt{c} ) {
 	my $description =  <<EOF;
 $0 can send a copy of this report to your local perl
 administrator.  If the address below is wrong, please correct it,
@@ -523,7 +470,7 @@
 
     # Prompt for editor, if no override is given
 editor:
-    unless ($::opt_e || $::opt_f || $::opt_b) {
+    unless ($opt{e} || $opt{f} || $opt{b}) {
 
     my $description;
 
@@ -651,7 +598,7 @@
     # Generate report
     open(REP,">$filename") or die "Unable to create report file '$filename': $!\n";
     my $reptype = !$ok ? ($thanks ? 'thank-you' : 'bug')
-	: $::opt_n ? "build failure" : "success";
+	: $opt{n} ? "build failure" : "success";
 
     print REP <<EOF;
 This is a $reptype report for perl from $from,
@@ -720,7 +667,7 @@
     module=$report_about_module
 EFF
     }
-    if ($::opt_A) {
+    if ($opt{A}) {
 	print OUT <<EFF;
     ack=no
 EFF
@@ -819,7 +766,7 @@
                 return;
             }
         }
-        return if ( $ok and not $::opt_n ) || $body;
+        return if ( $ok and not $opt{n} ) || $body;
 
         # Check that we have a report that has some, eh, report in it.
 
@@ -850,7 +797,7 @@
 
 sub NowWhat {
     # Report is done, prompt for further action
-    if( !$::opt_S ) {
+    if( !$opt{S} ) {
 	while(1) {
 	    my $menu = <<EOF;
 
@@ -1516,12 +1463,12 @@
 I<doc>tored by Gurusamy Sarathy (E<lt>gsar at activestate.comE<gt>),
 Tom Christiansen (E<lt>tchrist at perl.comE<gt>), Nathan Torkington
 (E<lt>gnat at frii.comE<gt>), Charles F. Randall (E<lt>cfr at pobox.comE<gt>),
-Mike Guy (E<lt>mjtg at cam.a.ukE<gt>), Dominic Dunlop
-(E<lt>domo at computer.orgE<gt>), Hugo van der Sanden (E<lt>hv at crypt.org<gt>),
+Mike Guy (E<lt>mjtg at cam.ac.ukE<gt>), Dominic Dunlop
+(E<lt>domo at computer.orgE<gt>), Hugo van der Sanden (E<lt>hv at crypt.orgE<gt>),
 Jarkko Hietaniemi (E<lt>jhi at iki.fiE<gt>), Chris Nandor
 (E<lt>pudge at pobox.comE<gt>), Jon Orwant (E<lt>orwant at media.mit.eduE<gt>,
 Richard Foley (E<lt>richard.foley at rfi.netE<gt>), and Jesse Vincent
-(E<lt>jesse at bestpractical.com<gt>).
+(E<lt>jesse at bestpractical.comE<gt>).
 
 =head1 SEE ALSO
 


Property changes on: vendor/perl/dist/utils/perlbug.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/utils/perldoc.PL
===================================================================
--- vendor/perl/dist/utils/perldoc.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/perldoc.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/perldoc.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/utils/perlivp.PL
===================================================================
--- vendor/perl/dist/utils/perlivp.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/perlivp.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -44,9 +44,8 @@
     print << "    EOUSAGE";
 Usage:
 
-    $0 [-a] [-p] [-v] | [-h]
+    $0 [-p] [-v] | [-h]
 
-    -a Run all tests (default is to skip .ph tests)
     -p Print a preface before each test telling what it will test.
     -v Verbose mode in which extra information about test results
        is printed.  Test failures always print out some extra information
@@ -66,8 +65,8 @@
         usage() if '?' =~ /\Q$flag/;
         usage() if 'h' =~ /\Q$flag/;
         usage() if 'H' =~ /\Q$flag/;
-        usage("unknown flag: `$flag'") unless 'HhPpVva' =~ /\Q$flag/;
-        warn "$0: `$flag' flag already set\n" if $opt{$flag}++;
+        usage("unknown flag: '$flag'") unless 'HhPpVv' =~ /\Q$flag/;
+        warn "$0: '$flag' flag already set\n" if $opt{$flag}++;
     } 
     shift;
 }
@@ -81,7 +80,7 @@
 
 !NO!SUBS!
 
-# We cannot merely check the variable `$^X' in general since on many 
+# We cannot merely check the variable '$^X' in general since on many 
 # Unixes it is the basename rather than the full path to the perl binary.
 my $perlpath = '';
 if (defined($Config{'perlpath'})) { $perlpath = $Config{'perlpath'}; }
@@ -99,22 +98,24 @@
 
 print OUT <<'!NO!SUBS!';
 
-print "## Checking Perl binary via variable `\$perlpath' = $perlpath.\n" if $opt{'p'};
+print "## Checking Perl binary via variable '\$perlpath' = $perlpath.\n" if $opt{'p'};
 
+my $label = 'Executable perl binary';
+
 if (-x $perlpath) {
-    print "## Perl binary `$perlpath' appears executable.\n" if $opt{'v'};
-    print "ok 1\n";
+    print "## Perl binary '$perlpath' appears executable.\n" if $opt{'v'};
+    print "ok 1 $label\n";
     $pass__total++;
 }
 else {
-    print "# Perl binary `$perlpath' does not appear executable.\n";
-    print "not ok 1\n";
+    print "# Perl binary '$perlpath' does not appear executable.\n";
+    print "not ok 1 $label\n";
     $error_total++;
 }
 $tests_total++;
 
 
-print "## Checking Perl version via variable `\$]'.\n" if $opt{'p'};
+print "## Checking Perl version via variable '\$]'.\n" if $opt{'p'};
 
 !NO!SUBS!
 
@@ -123,20 +124,30 @@
 
 !GROK!THIS!
 print OUT <<'!NO!SUBS!';
+
+$label = 'Perl version correct';
 if ($ivp_VERSION eq $]) {
-    print "## Perl version `$]' appears installed as expected.\n" if $opt{'v'};
-    print "ok 2\n";
+    print "## Perl version '$]' appears installed as expected.\n" if $opt{'v'};
+    print "ok 2 $label\n";
     $pass__total++;
 }
 else {
-    print "# Perl version `$]' installed, expected $ivp_VERSION.\n";
-    print "not ok 2\n";
+    print "# Perl version '$]' installed, expected $ivp_VERSION.\n";
+    print "not ok 2 $label\n";
     $error_total++;
 }
 $tests_total++;
 
+# We have the right perl and version, so now reset @INC so we ignore
+# PERL5LIB and '.'
+{
+    local $ENV{PERL5LIB};
+    my $perl_V = qx($perlpath -V);
+    $perl_V =~ s{.*\@INC:\n}{}ms;
+    @INC = grep { length && $_ ne '.' } split ' ', $perl_V;
+}
 
-print "## Checking roots of the Perl library directory tree via variable `\@INC'.\n" if $opt{'p'};
+print "## Checking roots of the Perl library directory tree via variable '\@INC'.\n" if $opt{'p'};
 
 my $INC_total = 0;
 my $INC_there = 0;
@@ -143,20 +154,22 @@
 foreach (@INC) {
     next if $_ eq '.'; # skip -d test here
     if (-d $_) {
-        print "## Perl \@INC directory `$_' exists.\n" if $opt{'v'};
+        print "## Perl \@INC directory '$_' exists.\n" if $opt{'v'};
         $INC_there++;
     }
     else {
-        print "# Perl \@INC directory `$_' does not appear to exist.\n";
+        print "# Perl \@INC directory '$_' does not appear to exist.\n";
     }
     $INC_total++;
 }
+
+$label = '@INC directoreis exist';
 if ($INC_total == $INC_there) {
-    print "ok 3\n";
+    print "ok 3 $label\n";
     $pass__total++;
 }
 else {
-    print "not ok 3\n";
+    print "not ok 3 $label\n";
     $error_total++;
 }
 $tests_total++;
@@ -171,20 +184,21 @@
     $needed_total++;
     eval "require \"$_\";";
     if (!$@) {
-        print "## Module `$_' appears to be installed.\n" if $opt{'v'};
+        print "## Module '$_' appears to be installed.\n" if $opt{'v'};
         $needed_there++;
     }
     else {
-        print "# Needed module `$_' does not appear to be properly installed.\n";
+        print "# Needed module '$_' does not appear to be properly installed.\n";
     }
     $@ = undef;
 }
+$label = 'Modules needed for rest of perlivp exist';
 if ($needed_total == $needed_there) {
-    print "ok 4\n";
+    print "ok 4 $label\n";
     $pass__total++;
 }
 else {
-    print "not ok 4\n";
+    print "not ok 4 $label\n";
     $error_total++;
 }
 $tests_total++;
@@ -210,6 +224,7 @@
         next if $_ eq 'libnet';
         next if $_ eq 'Locale/Codes';
         next if $_ eq 'podlators';
+        next if $_ eq 'perlfaq';
         # test modules
         next if $_ eq 'XS/APItest';
         next if $_ eq 'XS/Typemap';
@@ -219,11 +234,11 @@
            # Compilation failed in require at (eval 1) line 1.
         eval " require \"$_.pm\"; ";
         if (!$@) {
-            print "## Module `$_' appears to be installed.\n" if $opt{'v'};
+            print "## Module '$_' appears to be installed.\n" if $opt{'v'};
             $extensions_there++;
         }
         else {
-            print "# Required module `$_' does not appear to be properly installed.\n";
+            print "# Required module '$_' does not appear to be properly installed.\n";
             $@ = undef;
         }
         $extensions_total++;
@@ -238,21 +253,22 @@
         $@ = undef;
         eval " require \"$unnecessary.pm\"; ";
         if ($@) {
-            print "## Unnecessary module `$unnecessary' does not appear to be installed.\n" if $opt{'v'};
+            print "## Unnecessary module '$unnecessary' does not appear to be installed.\n" if $opt{'v'};
         }
         else {
-            print "# Unnecessary module `$unnecessary' appears to be installed.\n";
+            print "# Unnecessary module '$unnecessary' appears to be installed.\n";
             $extensions_there++;
         }
     }
     $@ = undef;
 }
+$label = 'All (and only) expected extensions installed';
 if ($extensions_total == $extensions_there) {
-    print "ok 5\n";
+    print "ok 5 $label\n";
     $pass__total++;
 }
 else {
-    print "not ok 5\n";
+    print "not ok 5 $label\n";
     $error_total++;
 }
 $tests_total++;
@@ -301,73 +317,18 @@
     }
     @missing = ();
 }
+$label = 'Module files correctly installed';
 if (($installed_total == $installed_there) && 
     ($installed_total == $version_check)) {
-    print "ok 6\n";
+    print "ok 6 $label\n";
     $pass__total++;
 }
 else {
-    print "not ok 6\n";
+    print "not ok 6 $label\n";
     $error_total++;
 }
 $tests_total++;
 
-
-if ($opt{'a'}) {
-print "## Checking installations of *.h -> *.ph header files.\n" if $opt{'p'};
-my $ph_there = 0;
-my $var = undef;
-my $val = undef;
-my $h_file = undef;
-# Just about "any" C implementation ought to have a stdio.h (even if 
-# Config.pm may not list a i_stdio var).
-my @ph_files = qw(stdio.ph);
-# Add the ones that we know that perl thinks are there:
-while (($var, $val) = each %Config) {
-    if ($var =~ m/i_(.+)/ && $val eq 'define') {
-        $h_file = $1;
-	# Some header and symbol names don't match for hysterical raisins.
-	$h_file = 'arpa/inet'    if $h_file eq 'arpainet';
-	$h_file = 'netinet/in'   if $h_file eq 'niin';
-	$h_file = 'netinet/tcp'  if $h_file eq 'netinettcp';
-	$h_file = 'sys/resource' if $h_file eq 'sysresrc';
-	$h_file = 'sys/select'   if $h_file eq 'sysselct';
-	$h_file = 'sys/security' if $h_file eq 'syssecrt';
-        $h_file = 'rpcsvc/dbm'   if $h_file eq 'rpcsvcdbm';
-        # This ought to distinguish syslog from sys/syslog.
-        # (NB syslog.ph is heavily used for the DBI pre-requisites).
-        $h_file =~ s{^sys(\w.+)}{sys/$1} unless $h_file eq 'syslog';
-        push(@ph_files, "$h_file.ph");
-    }
-}
-#foreach (qw(stdio.ph syslog.ph)) {
-foreach (@ph_files) {
-    $@ = undef;
-    eval "require \"$_\";";
-    if (!$@) {
-        print "## Perl header `$_' appears to be installed.\n" if $opt{'v'};
-        $ph_there++;
-    }
-    else {
-        print "# Perl header `$_' does not appear to be properly installed.\n";
-    }
-    $@ = undef;
-}
-
-if (scalar(@ph_files) == $ph_there) {
-    print "ok 7\n";
-    $pass__total++;
-}
-else {
-    print "not ok 7\n";
-    $error_total++;
-}
-$tests_total++;
-}
-else {
-    print "##  Skip checking of *.ph header files.\n" if $opt{'p'};
-}
-
 # Final report (rather than feed ousrselves to Test::Harness::runtests()
 # we simply format some output on our own to keep things simple and
 # easier to "fix" - at least for now.
@@ -389,7 +350,7 @@
 
 =head1 SYNOPSIS
 
-B<perlivp> [B<-a>] [B<-p>] [B<-v>] [B<-h>]
+B<perlivp> [B<-p>] [B<-v>] [B<-h>]
 
 =head1 DESCRIPTION
 
@@ -415,11 +376,6 @@
 
 Prints out a brief help message.
 
-=item B<-a> run all tests
-
-Normally tests for optional features are skipped.  With -a all tests
-are executed.
-
 =item B<-p> print preface
 
 Gives a description of each test prior to performing it.
@@ -436,22 +392,22 @@
 
 =over 4
 
-=item * print "# Perl binary `$perlpath' does not appear executable.\n";
+=item * print "# Perl binary '$perlpath' does not appear executable.\n";
 
 Likely to occur for a perl binary that was not properly installed.
 Correct by conducting a proper installation.
 
-=item * print "# Perl version `$]' installed, expected $ivp_VERSION.\n";
+=item * print "# Perl version '$]' installed, expected $ivp_VERSION.\n";
 
 Likely to occur for a perl that was not properly installed.
 Correct by conducting a proper installation.
 
-=item * print "# Perl \@INC directory `$_' does not appear to exist.\n";
+=item * print "# Perl \@INC directory '$_' does not appear to exist.\n";
 
 Likely to occur for a perl library tree that was not properly installed.
 Correct by conducting a proper installation.
 
-=item * print "# Needed module `$_' does not appear to be properly installed.\n";
+=item * print "# Needed module '$_' does not appear to be properly installed.\n";
 
 One of the two modules that is used by perlivp was not present in the 
 installation.  This is a serious error since it adversely affects perlivp's
@@ -458,13 +414,13 @@
 ability to function.  You may be able to correct this by performing a
 proper perl installation.
 
-=item * print "# Required module `$_' does not appear to be properly installed.\n";
+=item * print "# Required module '$_' does not appear to be properly installed.\n";
 
 An attempt to C<eval "require $module"> failed, even though the list of 
 extensions indicated that it should succeed.  Correct by conducting a proper 
 installation.
 
-=item * print "# Unnecessary module `bLuRfle' appears to be installed.\n";
+=item * print "# Unnecessary module 'bLuRfle' appears to be installed.\n";
 
 This test not coming out ok could indicate that you have in fact installed 
 a bLuRfle.pm module or that the C<eval " require \"$module_name.pm\"; ">
@@ -477,11 +433,6 @@
 C<ExtUtils::Installed -E<gt> validate()> over your installation.
 Correct by conducting a proper installation.
 
-=item * print "# Perl header `$_' does not appear to be properly installed.\n";
-
-Correct by running B<h2ph> over your system's C header files.  If necessary, 
-edit the resulting *.ph files to eliminate perl syntax errors.
-
 =back
 
 For further information on how to conduct a proper installation consult the 


Property changes on: vendor/perl/dist/utils/perlivp.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/utils/piconv.PL
===================================================================
--- vendor/perl/dist/utils/piconv.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/piconv.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/piconv.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/pl2pm.PL
===================================================================
--- vendor/perl/dist/utils/pl2pm.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/pl2pm.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/pl2pm.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/utils/prove.PL
===================================================================
--- vendor/perl/dist/utils/prove.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/prove.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/prove.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/utils/ptar.PL
===================================================================
--- vendor/perl/dist/utils/ptar.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/ptar.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/ptar.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/ptardiff.PL
===================================================================
--- vendor/perl/dist/utils/ptardiff.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/ptardiff.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/ptardiff.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/utils/ptargrep.PL
===================================================================
--- vendor/perl/dist/utils/ptargrep.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/ptargrep.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/ptargrep.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/utils/shasum.PL
===================================================================
--- vendor/perl/dist/utils/shasum.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/shasum.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/shasum.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Index: vendor/perl/dist/utils/splain.PL
===================================================================
--- vendor/perl/dist/utils/splain.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/splain.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/splain.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/utils/xsubpp.PL
===================================================================
--- vendor/perl/dist/utils/xsubpp.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils/xsubpp.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/utils/xsubpp.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/utils.lst
===================================================================
--- vendor/perl/dist/utils.lst	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/utils.lst	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,15 +1,13 @@
-ext/Pod-Html/blib/script/pod2html
 cpan/Pod-LaTeX/blib/script/pod2latex
 cpan/podlators/blib/script/pod2man
 cpan/podlators/blib/script/pod2text
-cpan/Pod-Parser/blib/script/pod2usage
-cpan/Pod-Parser/blib/script/podchecker
+cpan/Pod-Usage/blib/script/pod2usage
+cpan/Pod-Checker/blib/script/podchecker
 cpan/Pod-Parser/blib/script/podselect
 utils/c2ph      # link = utils/pstruct
 utils/cpan
 utils/config_data
 utils/corelist
-utils/dprofpp
 utils/enc2xs
 utils/h2ph
 utils/h2xs
@@ -17,10 +15,11 @@
 utils/json_pp
 utils/libnetcfg
 utils/perlbug	# link = utils/perlthanks
-utils/perldoc   # pod = pod/perldoc.pod
+utils/perldoc
 utils/perlivp
 utils/piconv
 utils/pl2pm
+utils/pod2html
 utils/prove
 utils/ptar
 utils/ptardiff
@@ -31,6 +30,7 @@
 utils/shasum
 utils/splain
 utils/xsubpp
-x2p/a2p         # pod = x2p/a2p.pod
+utils/zipdetails
+x2p/a2p
 x2p/find2perl
 x2p/s2p         # link = x2p/psed


Property changes on: vendor/perl/dist/utils.lst
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Deleted: vendor/perl/dist/uupacktool.pl
===================================================================
--- vendor/perl/dist/uupacktool.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/uupacktool.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,225 +0,0 @@
-#!perl
-
-use strict;
-use warnings;
-use Getopt::Long;
-use File::Basename;
-use File::Spec;
-
-BEGIN {
-    if ($^O eq 'VMS') {
-        require VMS::Filespec;
-        import VMS::Filespec;
-    }
-}
-
-Getopt::Long::Configure('no_ignore_case');
-
-our $LastUpdate = -M $0;
-
-sub handle_file {
-    my $opts    = shift;
-    my $file    = shift or die "Need file\n". usage();
-    my $outfile = shift || '';
-    $file = vms_check_name($file) if $^O eq 'VMS';
-    my $mode    = (stat($file))[2] & 07777;
-
-    open my $fh, "<", $file
-        or do { warn "Could not open input file $file: $!"; exit 0 };
-    my $str = do { local $/; <$fh> };
-
-    ### unpack?
-    my $outstr;
-    if( $opts->{u} ) {
-        if( !$outfile ) {
-            $outfile = $file;
-            $outfile =~ s/\.packed\z//;
-        }
-        my ($head, $body) = split /__UU__\n/, $str;
-        die "Can't unpack malformed data in '$file'\n"
-            if !$head;
-        $outstr = unpack 'u', $body;
-
-    } else {
-        $outfile ||= $file . '.packed';
-
-        my $me = basename($0);
-
-        $outstr = <<"EOFBLURB" . pack 'u', $str;
-#########################################################################
-This is a binary file that was packed with the 'uupacktool.pl' which
-is included in the Perl distribution.
-
-To unpack this file use the following command:
-
-     $me -u $outfile $file
-
-To recreate it use the following command:
-
-     $me -p $file $outfile
-
-Created at @{[scalar localtime]}
-#########################################################################
-__UU__
-EOFBLURB
-    }
-
-    ### output the file
-    if( $opts->{'s'} ) {
-        print STDOUT $outstr;
-    } else {
-        $outfile = VMS::Filespec::vmsify($outfile) if $^O eq 'VMS';
-        print "Writing $file into $outfile\n" if $opts->{'v'};
-        open my $outfh, ">", $outfile
-            or do { warn "Could not open $outfile for writing: $!"; exit 0 };
-        binmode $outfh;
-        ### $outstr might be empty, if the file was empty
-        print $outfh $outstr if $outstr;
-        close $outfh;
-
-        chmod $mode, $outfile;
-    }
-
-    ### delete source file?
-    if( $opts->{'D'} and $file ne $outfile ) {
-        1 while unlink $file;
-    }
-}
-
-sub bulk_process {
-    my $opts = shift;
-    my $Manifest = $opts->{'m'};
-
-    open my $fh, "<", $Manifest or die "Could not open '$Manifest':$!";
-
-    print "Reading $Manifest\n"
-            if $opts->{'v'};
-
-    my $count = 0;
-    my $lines = 0;
-    while( my $line = <$fh> ) {
-        chomp $line;
-        my ($file) = split /\s+/, $line;
-
-        $lines++;
-
-        next unless $file =~ /\.packed/;
-
-        $count++;
-
-        my $out = $file;
-        $out =~ s/\.packed\z//;
-        $out = vms_check_name($out) if $^O eq 'VMS';
-
-        ### unpack
-        if( !$opts->{'c'} ) {
-            ( $out, $file ) = ( $file, $out ) if $opts->{'p'};
-            if (-e $out) {
-                my $changed = -M _;
-                if ($changed < $LastUpdate and $changed < -M $file) {
-                    print "Skipping '$file' as '$out' is up-to-date.\n"
-                        if $opts->{'v'};
-                    next;
-                }
-            }
-            handle_file($opts, $file, $out);
-            print "Converted '$file' to '$out'\n"
-                if $opts->{'v'};
-
-        ### clean up
-        } else {
-
-            ### file exists?
-            unless( -e $out ) {
-                print "File '$file' was not unpacked into '$out'. Can not remove.\n";
-
-            ### remove it
-            } else {
-                print "Removing '$out'\n";
-                1 while unlink $out;
-            }
-        }
-    }
-    print "Found $count files to process out of $lines in '$Manifest'\n"
-            if $opts->{'v'};
-}
-
-sub usage {
-    return qq[
-Usage: $^X $0 [-d dir] [-v] [-c] [-D] -p|-u [orig [packed|-s] | -m [manifest]]
-
-    Handle binary files in source tree. Can be used to pack or
-    unpack files individiually or as specified by a manifest file.
-
-Options:
-    -u  Unpack files (defaults to -u unless -p is specified)
-    -p  Pack files
-    -c  Clean up all unpacked files. Implies -m
-
-    -D  Delete source file after encoding/decoding
-
-    -s  Output to STDOUT rather than OUTPUT_FILE
-    -m  Use manifest file, if none is explicitly provided defaults to 'MANIFEST'
-
-    -d  Change directory to dir before processing
-
-    -v  Run verbosely
-    -h  Display this help message
-];
-}
-
-sub vms_check_name {
-
-# Packed files tend to have multiple dots, which the CRTL may or may not handle
-# properly, so convert to native format.  And depending on how the archive was
-# unpacked, foo.bar.baz may be foo_bar.baz or foo.bar_baz.  N.B. This checks for
-# existence, so is not suitable as-is to generate ODS-2-safe names in preparation
-# for file creation.
-
-    my $file = shift;
-
-    $file = VMS::Filespec::vmsify($file);
-    return $file if -e $file;
-
-    my ($vol,$dirs,$base) = File::Spec->splitpath($file);
-    my $tmp = $base;
-    1 while $tmp =~ s/([^\.]+)\.(.+\..+)/$1_$2/;
-    my $try = File::Spec->catpath($vol, $dirs, $tmp);
-    return $try if -e $try;
-
-    $tmp = $base;
-    1 while $tmp =~ s/(.+\..+)\.([^\.]+)/$1_$2/;
-    $try = File::Spec->catpath($vol, $dirs, $tmp);
-    return $try if -e $try;
-
-    return $file;
-}
-
-my $opts = {};
-GetOptions($opts,'u','p','c', 'D', 'm:s','s','d=s','v','h');
-
-die "Can't pack and unpack at the same time!\n", usage()
-    if $opts->{'u'} && $opts->{'p'};
-die usage() if $opts->{'h'};
-
-if ( $opts->{'d'} ) {
-    chdir $opts->{'d'}
-        or die "Failed to chdir to '$opts->{'d'}':$!";
-}
-$opts->{'u'} = 1 if !$opts->{'p'};
-binmode STDOUT if $opts->{'s'};
-if ( exists $opts->{'m'} or exists $opts->{'c'} ) {
-    $opts->{'m'} ||= "MANIFEST";
-    bulk_process($opts);
-    exit(0);
-} else {
-    if (@ARGV) {
-        handle_file($opts, @ARGV);
-    } else {
-        die "No file to process specified!\n", usage();
-    }
-    exit(0);
-}
-
-
-die usage();

Modified: vendor/perl/dist/vms/descrip_mms.template
===================================================================
--- vendor/perl/dist/vms/descrip_mms.template	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/descrip_mms.template	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,9 +13,9 @@
 #	tidy      -- purge files generated by executing this file
 #	clean     -- remove all intermediate (e.g. object files, C files generated
 #	             during build) files generated by executing this file,
-#	             but leave `installable' files (images, library) intact
+#	             but leave 'installable' files (images, library) intact
 #	realclean -- remove all files generated by executing this file
-#	cleansrc  -- `realclean' + purge *.c,*.h,descrip.mms
+#	cleansrc  -- 'realclean' + purge *.c,*.h,descrip.mms
 #	crtl.opt  -- compiler-specific linker options file (made automatically)
 #
 
@@ -79,36 +79,15 @@
 SOCKET=1
 .endif
 
-.ifdef SOCKETSHR_SOCKETS
-SOCKET=1
-.endif
-
-# If they defined SOCKET but didn't choose a stack, default to SOCKETSHR
-.ifdef DECC_SOCKETS
-.else
-.ifdef SOCKETSHR_SOCKETS
-.else
-.ifdef SOCKET
-SOCKETSHR_SOCKETS=1
-.endif
-.endif
-.endif
-
 ARCHDIR =  [.lib.$(ARCHNAME).$(PERL_VERSION)]
 ARCHCORE = [.lib.$(ARCHNAME).$(PERL_VERSION).CORE]
 ARCHAUTO = [.lib.$(ARCHNAME).$(PERL_VERSION).auto]
 
-#: Backwards compatibility
-.ifdef DECC_PIPES_BROKEN
-PIPES_BROKEN = 1
-.endif
-
 #: >>>>>Compiler-specific options <<<<<
 .ifdef GNUC
 .first
 	@ If F$TrnLnm("Sys").eqs."" Then Define/NoLog SYS GNU_CC_Include:[VMS]
 CC = gcc
-PIPES_BROKEN = 1
 # -fno-builtin avoids bug in gcc up to version 2.6.2 which can destroy
 # data when memcpy() is called on large (>64 kB) blocks of memory
 # (fixed in gcc 2.6.3)
@@ -158,35 +137,6 @@
 DBG = 
 .endif
 
-#: SOCKET: build in support for TCP/IP sockets
-#: By default, used SOCKETSHR library; see ReadMe.VMS
-#: for information on changing socket support
-.ifdef SOCKET
-.ifdef DECC_SOCKETS
-SOCKDEF = 
-SOCKLIB = 
-.else
-SOCKDEF = 
-SOCKLIB = SocketShr/Share
-.endif
-# N.B. the targets for $(SOCKC) and $(SOCKH) assume that the permanent
-# copies live in [.vms], and the `clean' target will delete copies of
-# these files in the current default directory.
-SOCKC = sockadapt.c
-SOCKH = sockadapt.h
-SOCKARCH = $(ARCHCORE)$(SOCKH)
-SOCKO = sockadapt$(O)
-SOCKPM = [.lib]Socket.pm
-.else
-SOCKDEF =
-SOCKLIB =
-SOCKC =
-SOCKH =
-SOCKARCH =
-SOCKO =
-SOCKPM =
-.endif
-
 .ifdef THREADED
 THREADDEF = 
 THREAD = THREAD
@@ -284,7 +234,7 @@
 
 #### End of system configuration section. ####
 
-c0 = $(MALLOC_C) $(SOCKC) av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro.c
+c0 = $(MALLOC_C) av.c deb.c doio.c doop.c dump.c globals.c gv.c hv.c mro.c
 c1 = mg.c locale.c mathoms.c miniperlmain.c numeric.c op.c pad.c perl.c perlapi.c perlio.c
 c2 = perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c pp_sort.c pp_sys.c regcomp.c regexec.c reentr.c
 c3 = run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c vms.c keywords.c
@@ -291,7 +241,7 @@
 c = $(c0) $(c1) $(c2) $(c3)
 
 obj0 = perl$(O)
-obj1 = $(MALLOC_O) $(SOCKO) av$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O) 
+obj1 = $(MALLOC_O) av$(O) deb$(O) doio$(O) doop$(O) dump$(O) mro$(O) globals$(O) gv$(O) hv$(O) 
 obj2 = keywords$(O) locale$(O) mathoms$(O) mg$(O) miniperlmain$(O) numeric$(O) op$(O) pad$(O) perlapi$(O) perlio$(O) 
 obj3 = perly$(O) pp$(O) pp_ctl$(O) pp_hot$(O) reentr$(O) pp_pack$(O) pp_sort$(O) pp_sys$(O) regcomp$(O) 
 obj4 = regexec$(O) run$(O) scope$(O) sv$(O) taint$(O) toke$(O) universal$(O) utf8$(O) util$(O) vms$(O)
@@ -301,40 +251,19 @@
 
 h0 = av.h config.h cop.h cv.h embed.h embedvar.h
 h1 = EXTERN.h form.h gv.h handy.h hv.h l1_char_class_tab.h INTERN.h intrpvar.h
-h2 = iperlsys.h keywords.h mydtrace.h mg.h nostdio.h op.h op_reg_common.h 
-h3 = opcode.h opnames.h overload.h pad.h parser.h patchlevel.h perl.h 
-h4 = perlapi.h perlio.h perlsdio.h perlvars.h perly.h
+h2 = iperlsys.h keywords.h mydtrace.h mg.h mg_vtable.h nostdio.h op.h 
+h3 = op_reg_common.h opcode.h opnames.h overload.h pad.h parser.h patchlevel.h 
+h4 = perl.h perlapi.h perlio.h perlsdio.h perlvars.h perly.h
 h5 = pp.h pp_proto.h proto.h regcomp.h regexp.h regnodes.h scope.h
-h5 = sv.h thread.h utf8.h util.h vmsish.h warnings.h
-h7 = xsub.h $(SOCKH) $(THREADH)
+h6 = sv.h thread.h utf8.h util.h vmsish.h warnings.h
+h7 = xsub.h $(THREADH)
 h = $(h0) $(h1) $(h2) $(h3) $(h4) $(h5) $(h6) $(h7)
 
-ac0 = $(ARCHCORE)$(sockh) $(ARCHCORE)av.h
-ac1 = $(ARCHCORE)config.h $(ARCHCORE)cop.h $(ARCHCORE)cv.h $(ARCHCORE)embed.h
-ac2 = $(ARCHCORE)embedvar.h $(ARCHCORE)EXTERN.h $(ARCHCORE)fakethr.h
-ac3 = $(ARCHCORE)form.h $(ARCHCORE)git_version.h $(ARCHCORE)gv.h $(ARCHCORE)handy.h $(ARCHCORE)hv.h
-ac4 = $(ARCHCORE)l1_char_class_tab.h $(ARCHCORE)INTERN.h $(ARCHCORE)intrpvar.h $(ARCHCORE)iperlsys.h
-ac5 = $(ARCHCORE)keywords.h $(ARCHCORE)mydtrace.h $(ARCHCORE)mg.h $(ARCHCORE)nostdio.h
-ac6 = $(ARCHCORE)op_reg_common.h $(ARCHCORE)op.h $(ARCHCORE)opcode.h $(ARCHCORE)opnames.h  
-ac7 = $(ARCHCORE)overload.h $(ARCHCORE)pad.h $(ARCHCORE)parser.h $(ARCHCORE)patchlevel.h
-ac8 = $(ARCHCORE)perl.h $(ARCHCORE)perlapi.h $(ARCHCORE)perlio.h $(ARCHCORE)perlsdio.h
-ac9 = $(ARCHCORE)perlsfio.h $(ARCHCORE)perlvars.h $(ARCHCORE)perly.h $(ARCHCORE)pp.h
-.ifdef THREADED
-ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)reentr.h $(ARCHCORE)regcomp.h
-.else
-ac10 = $(ARCHCORE)pp_proto.h $(ARCHCORE)proto.h $(ARCHCORE)regcomp.h
-.endif
-ac11 = $(ARCHCORE)regexp.h $(ARCHCORE)regnodes.h $(ARCHCORE)scope.h
-.ifdef SOCKARCH
-ac12 = $(ARCHCORE)sv.h $(SOCKARCH)
-.else
-ac12 = $(ARCHCORE)sv.h
-.endif 
-ac13 = $(ARCHCORE)thread.h $(ARCHCORE)utf8.h $(ARCHCORE)util.h
-ac14 = $(ARCHCORE)vmsish.h $(ARCHCORE)warnings.h $(ARCHCORE)xsub.h
 acopt = $(ARCHCORE)perlshr_attr.opt $(ARCHCORE)$(DBG)perlshr_bld.opt
-ac = $(ac0) $(ac1) $(ac2) $(ac3) $(ac4) $(ac5) $(ac6) $(ac7) $(ac8) $(ac9) $(ac10) $(ac11) $(ac12) $(ac13) $(ac14) $(acopt)
+ac = archcore_includes.ts $(acopt)
 
+generated_headers = uudmap.h bitcount.h mg_data.h
+
 CRTL = []crtl.opt
 CRTLOPTS =,$(CRTL)/Options
 
@@ -361,11 +290,11 @@
 # Modules which must be installed before we can build extensions
 LIBPREREQ = $(ARCHDIR)Config.pm $(ARCHDIR)Config_heavy.pl [.lib.VMS]Filespec.pm $(ARCHDIR)vmspipe.com [.lib]buildcustomize.pl
 
-utils1 = [.lib.pods]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com 
-utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]dprofpp.com  [.utils]json_pp.com
-utils3 = [.utils]perlivp.com [.lib]splain.com [.utils]pl2pm.com [.utils]xsubpp.com [.utils]instmodsh.com
+utils1 = [.utils]perldoc.com [.lib.ExtUtils]Miniperl.pm [.utils]c2ph.com [.utils]h2ph.com 
+utils2 = [.utils]h2xs.com [.utils]libnetcfg.com [.lib]perlbug.com [.utils]json_pp.com
+utils3 = [.utils]perlivp.com [.lib]splain.com [.utils]pl2pm.com [.utils]xsubpp.com [.utils]pod2html.com [.utils]instmodsh.com
 utils4 = [.utils]enc2xs.com [.utils]piconv.com [.utils]cpan.com [.utils]prove.com [.utils]ptar.com [.utils]ptardiff.com [.utils]shasum.com
-utils5 = [.utils]corelist.com [.utils]config_data.com [.utils]cpanp.com [.utils]cpan2dist.com [.utils]cpanp-run-perl.com [.utils]ptargrep.com
+utils5 = [.utils]corelist.com [.utils]config_data.com [.utils]cpanp.com [.utils]cpan2dist.com [.utils]cpanp-run-perl.com [.utils]ptargrep.com [.utils]zipdetails.com
 
 .ifdef NOX2P
 all : base extras archcorefiles preplibrary [.pod]perltoc.pod
@@ -397,48 +326,10 @@
 extra.pods : miniperl
 	@ @extra_pods.com
 
-pod0 = [.lib.pods]perl.pod [.lib.pods]perl5004delta.pod [.lib.pods]perl5005delta.pod [.lib.pods]perl5100delta.pod [.lib.pods]perl5101delta.pod
-pod1 = [.lib.pods]perl5110delta.pod [.lib.pods]perl5111delta.pod [.lib.pods]perl5112delta.pod [.lib.pods]perl5113delta.pod [.lib.pods]perl5114delta.pod
-pod2 = [.lib.pods]perl5115delta.pod [.lib.pods]perl5120delta.pod [.lib.pods]perl5121delta.pod [.lib.pods]perl5122delta.pod [.lib.pods]perl5123delta.pod
-pod3 = [.lib.pods]perl5130delta.pod [.lib.pods]perl51310delta.pod [.lib.pods]perl51311delta.pod [.lib.pods]perl5131delta.pod [.lib.pods]perl5132delta.pod
-pod4 = [.lib.pods]perl5133delta.pod [.lib.pods]perl5134delta.pod [.lib.pods]perl5135delta.pod [.lib.pods]perl5136delta.pod [.lib.pods]perl5137delta.pod
-pod5 = [.lib.pods]perl5138delta.pod [.lib.pods]perl5139delta.pod [.lib.pods]perl5140delta.pod [.lib.pods]perl561delta.pod [.lib.pods]perl56delta.pod
-pod6 = [.lib.pods]perl570delta.pod [.lib.pods]perl571delta.pod [.lib.pods]perl572delta.pod [.lib.pods]perl573delta.pod [.lib.pods]perl581delta.pod
-pod7 = [.lib.pods]perl582delta.pod [.lib.pods]perl583delta.pod [.lib.pods]perl584delta.pod [.lib.pods]perl585delta.pod [.lib.pods]perl586delta.pod
-pod8 = [.lib.pods]perl587delta.pod [.lib.pods]perl588delta.pod [.lib.pods]perl589delta.pod [.lib.pods]perl58delta.pod [.lib.pods]perl590delta.pod
-pod9 = [.lib.pods]perl591delta.pod [.lib.pods]perl592delta.pod [.lib.pods]perl593delta.pod [.lib.pods]perl594delta.pod [.lib.pods]perl595delta.pod
-pod10 = [.lib.pods]perlaix.pod [.lib.pods]perlamiga.pod [.lib.pods]perlapi.pod [.lib.pods]perlapio.pod [.lib.pods]perlartistic.pod [.lib.pods]perlbeos.pod
-pod11 = [.lib.pods]perlbook.pod [.lib.pods]perlboot.pod [.lib.pods]perlbot.pod [.lib.pods]perlbs2000.pod [.lib.pods]perlcall.pod [.lib.pods]perlce.pod
-pod12 = [.lib.pods]perlcheat.pod [.lib.pods]perlclib.pod [.lib.pods]perlcn.pod [.lib.pods]perlcommunity.pod [.lib.pods]perlcompile.pod
-pod13 = [.lib.pods]perlcygwin.pod [.lib.pods]perldata.pod [.lib.pods]perldbmfilter.pod [.lib.pods]perldebguts.pod [.lib.pods]perldebtut.pod
-pod14 = [.lib.pods]perldebug.pod [.lib.pods]perldelta.pod [.lib.pods]perldgux.pod [.lib.pods]perldiag.pod [.lib.pods]perldoc.pod [.lib.pods]perldos.pod
-pod15 = [.lib.pods]perldsc.pod [.lib.pods]perlebcdic.pod [.lib.pods]perlembed.pod [.lib.pods]perlepoc.pod [.lib.pods]perlfaq.pod [.lib.pods]perlfaq1.pod
-pod16 = [.lib.pods]perlfaq2.pod [.lib.pods]perlfaq3.pod [.lib.pods]perlfaq4.pod [.lib.pods]perlfaq5.pod [.lib.pods]perlfaq6.pod [.lib.pods]perlfaq7.pod
-pod17 = [.lib.pods]perlfaq8.pod [.lib.pods]perlfaq9.pod [.lib.pods]perlfilter.pod [.lib.pods]perlfork.pod [.lib.pods]perlform.pod [.lib.pods]perlfreebsd.pod
-pod18 = [.lib.pods]perlfunc.pod [.lib.pods]perlgit.pod [.lib.pods]perlglossary.pod [.lib.pods]perlgpl.pod [.lib.pods]perlguts.pod [.lib.pods]perlhack.pod
-pod19 = [.lib.pods]perlhacktips.pod [.lib.pods]perlhacktut.pod [.lib.pods]perlhaiku.pod [.lib.pods]perlhist.pod [.lib.pods]perlhpux.pod
-pod20 = [.lib.pods]perlhurd.pod [.lib.pods]perlintern.pod [.lib.pods]perlinterp.pod [.lib.pods]perlintro.pod [.lib.pods]perliol.pod [.lib.pods]perlipc.pod
-pod21 = [.lib.pods]perlirix.pod [.lib.pods]perljp.pod [.lib.pods]perlko.pod [.lib.pods]perllexwarn.pod [.lib.pods]perllinux.pod [.lib.pods]perllocale.pod
-pod22 = [.lib.pods]perllol.pod [.lib.pods]perlmacos.pod [.lib.pods]perlmacosx.pod [.lib.pods]perlmod.pod [.lib.pods]perlmodinstall.pod
-pod23 = [.lib.pods]perlmodlib.pod [.lib.pods]perlmodstyle.pod [.lib.pods]perlmpeix.pod [.lib.pods]perlmroapi.pod [.lib.pods]perlnetware.pod
-pod24 = [.lib.pods]perlnewmod.pod [.lib.pods]perlnumber.pod [.lib.pods]perlobj.pod [.lib.pods]perlop.pod [.lib.pods]perlopenbsd.pod
-pod25 = [.lib.pods]perlopentut.pod [.lib.pods]perlos2.pod [.lib.pods]perlos390.pod [.lib.pods]perlos400.pod [.lib.pods]perlpacktut.pod
-pod26 = [.lib.pods]perlperf.pod [.lib.pods]perlplan9.pod [.lib.pods]perlpod.pod [.lib.pods]perlpodspec.pod [.lib.pods]perlpodstyle.pod
-pod27 = [.lib.pods]perlpolicy.pod [.lib.pods]perlport.pod [.lib.pods]perlpragma.pod [.lib.pods]perlqnx.pod [.lib.pods]perlre.pod [.lib.pods]perlreapi.pod
-pod28 = [.lib.pods]perlrebackslash.pod [.lib.pods]perlrecharclass.pod [.lib.pods]perlref.pod [.lib.pods]perlreftut.pod [.lib.pods]perlreguts.pod
-pod29 = [.lib.pods]perlrequick.pod [.lib.pods]perlreref.pod [.lib.pods]perlretut.pod [.lib.pods]perlriscos.pod [.lib.pods]perlrun.pod [.lib.pods]perlsec.pod
-pod30 = [.lib.pods]perlsolaris.pod [.lib.pods]perlsource.pod [.lib.pods]perlstyle.pod [.lib.pods]perlsub.pod [.lib.pods]perlsymbian.pod
-pod31 = [.lib.pods]perlsyn.pod [.lib.pods]perlthrtut.pod [.lib.pods]perltie.pod [.lib.pods]perltoc.pod [.lib.pods]perltodo.pod [.lib.pods]perltooc.pod
-pod32 = [.lib.pods]perltoot.pod [.lib.pods]perltrap.pod [.lib.pods]perltru64.pod [.lib.pods]perltw.pod [.lib.pods]perlunicode.pod [.lib.pods]perlunifaq.pod
-pod33 = [.lib.pods]perluniintro.pod [.lib.pods]perluniprops.pod [.lib.pods]perlunitut.pod [.lib.pods]perlutil.pod [.lib.pods]perluts.pod
-pod34 = [.lib.pods]perlvar.pod [.lib.pods]perlvmesa.pod [.lib.pods]perlvms.pod [.lib.pods]perlvos.pod [.lib.pods]perlwin32.pod [.lib.pods]perlxs.pod
-pod35 = [.lib.pods]perlxstut.pod
-pod = $(pod0) $(pod1) $(pod2) $(pod3) $(pod4) $(pod5) $(pod6) $(pod7) $(pod8) $(pod9) $(pod10) $(pod11) $(pod12) $(pod13) $(pod14) $(pod15) $(pod16) $(pod17) $(pod18) $(pod19) $(pod20) $(pod21) $(pod22) $(pod23) $(pod24) $(pod25) $(pod26) $(pod27) $(pod28) $(pod29) $(pod30) $(pod31) $(pod32) $(pod33) $(pod34) $(pod35)
+PERLDELTA_CURRENT = [.pod]perl5181delta.pod
 
-PERLDELTA_CURRENT = [.pod]perl5140delta.pod
-
 $(PERLDELTA_CURRENT) : [.pod]perldelta.pod
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(MMS$TARGET)
+	Copy/NoConfirm/Log $(MMS$SOURCE) $(PERLDELTA_CURRENT)
 
 [.pod]perlapi.pod : embed.fnc autodoc.pl $(MINIPERL_EXE)
 	$(MINIPERL) autodoc.pl
@@ -451,7 +342,7 @@
 
 [.pod]perltoc.pod : $(PERLDELTA_CURRENT) [.pod]perlapi.pod [.pod]perlintern.pod  [.pod]perlmodlib.pod extra.pods $(PERL_EXE)
 	@ define/user_mode $(DBG)PERLSHR SYS$DISK:[]$(DBG)perlshr$(E)
-	$(PERL) "-f" [.pod]buildtoc "-q" "--build-toc"
+	$(PERL) "-f" [.pod]buildtoc "-q"
 
 archcorefiles : $(ac) $(ARCHAUTO)time.stamp
 	@ $(NOOP)
@@ -508,43 +399,30 @@
 perlmini$(O) : perlmini.c
 	$(CC) $(CORECFLAGS) $(MMS$SOURCE)
 
-bitcount.h : uudmap.h 
+bitcount.h mg_data.h : uudmap.h 
 	@ $(NOOP)
 
 uudmap.h : generate_uudmap$(E)
-	MCR SYS$DISK:[]generate_uudmap$(E) uudmap.h bitcount.h
+	MCR SYS$DISK:[]generate_uudmap$(E) $(generated_headers)
 
 generate_uudmap$(E) : generate_uudmap$(O) $(CRTL)
 	Link $(LINKFLAGS)/NoDebug/Trace/NoMap/NoFull/NoCross/Exe=$(MMS$TARGET) generate_uudmap$(O) $(CRTLOPTS)
 
-generate_uudmap$(O) : generate_uudmap.c
+generate_uudmap$(O) : generate_uudmap.c mg_raw.h
         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
 
 # The following files are built in one go by gen_shrfls.pl:
 #  perlshr_attr.opt, $(DBG)perlshr_bld.opt - VAX and AXP
 #  perlshr_gbl*.mar, perlshr_gbl*$(O) - VAX only
-# The song and dance with gen_shrfls.opt accommodates DCL's 255 character
-# line length limit.
-.ifdef PIPES_BROKEN
-# This is a backup target used only with older versions of the DECCRTL which
-# can't deal with pipes properly.  See ReadMe.VMS for details.
+# The song and dance with gen_shrfls.opt accommodates DCL's line length limit.
 $(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
-	$(CC) $(CFLAGS)/NoObject/NoList/PreProcess=perl.i perl.h
-	@ $(MINIPERL) -e "print join('|', at ARGV),'|';" "~~NOCC~~perl.i~~$(CC)$(CFLAGS)" >gen_shrfls.opt
-	@ $(MINIPERL) -e "print join('|', at ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
+	@ $(MINIPERL) makedef.pl "PLATFORM=vms" > makedef.lis
+	@ $(MINIPERLQ) -e "print join('|', at ARGV),'|';" "$(CC)$(CFLAGS)" >gen_shrfls.opt
+	@ $(MINIPERLQ) -e "print join('|', at ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
 	$(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
-	@ Delete/NoLog/NoConfirm perl.i;, gen_shrfls.opt;
-	@ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
-	@ Copy _NLA0: $(DBG)perlshr_xtras.ts
-.else
-$(DBG)perlshr_xtras.ts : perl.h config.h vmsish.h proto.h [.vms]gen_shrfls.pl $(MINIPERL_EXE) $(MAKEFILE) $(CRTL)
-	@ $(MINIPERL) -e "print join('|', at ARGV),'|';" "$(CC)$(CFLAGS)" >gen_shrfls.opt
-	@ $(MINIPERL) -e "print join('|', at ARGV);" "$(O)" "$(DBG)" "$(OLB)" "$(EXT)" "$(CRTL)" >>gen_shrfls.opt
-	$(MINIPERL) [.vms]gen_shrfls.pl -f gen_shrfls.opt
 	@ Delete/NoLog/NoConfirm gen_shrfls.opt;
 	@ If F$Search("$(DBG)perlshr_xtras.ts").nes."" Then Delete/NoLog/NoConfirm $(DBG)perlshr_xtras.ts;*
 	@ Copy _NLA0: $(DBG)perlshr_xtras.ts
-.endif
 
 $(ARCHDIR)Config.pm : [.lib]Config.pm
 	Create/Directory $(ARCHDIR)
@@ -571,7 +449,7 @@
 dynext : $(LIBPREREQ) $(DBG)perlshr$(E) unidatafiles.ts DynaLoader$(O) preplibrary makeppport $(MINIPERL_EXE)
        $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--dynamic" "--static"
 
-nonxsext : $(LIBPREREQ) preplibrary $(MINIPERL_EXE)
+nonxsext : $(LIBPREREQ) preplibrary $(MINIPERL_EXE) [.pod]perlfunc.pod
        $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--nonxs"
 
 [.lib.VMS]Filespec.pm : [.vms.ext]Filespec.pm
@@ -578,10 +456,8 @@
 	@ If F$Search("[.lib]VMS.Dir").eqs."" Then Create/Directory [.lib.VMS]
 	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.VMS]
 
-[.lib.pods]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
+[.utils]perldoc.com : [.utils]perldoc.PL $(ARCHDIR)Config.pm
 	$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
-	Copy/NoConfirm/Log [.utils]perldoc.com [.lib.pods]
 
 [.lib.ExtUtils]Miniperl.pm : Minimod.PL miniperlmain.c $(ARCHDIR)Config.pm
 	$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE) >$(MMS$TARGET)
@@ -625,9 +501,6 @@
 [.utils]c2ph.com : [.utils]c2ph.PL $(ARCHDIR)Config.pm
 	$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
 
-[.utils]dprofpp.com : [.utils]dprofpp.PL $(ARCHDIR)Config.pm
-	$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
-
 [.utils]json_pp.com : [.utils]json_pp.PL $(ARCHDIR)Config.pm
 	$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
 
@@ -669,6 +542,12 @@
 [.utils]xsubpp.com : [.utils]xsubpp.PL $(ARCHDIR)Config.pm nonxsext
 	$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
 
+[.utils]zipdetails.com : [.utils]zipdetails.PL $(ARCHDIR)Config.pm nonxsext
+	$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
+
+[.utils]pod2html.com : [.utils]pod2html.PL $(ARCHDIR)Config.pm nonxsext
+	$(MINIPERL) -"I[-.lib]" $(MMS$SOURCE)
+
 # Rename catches problem with some DECC versions in which object file is
 # placed in current default dir, not same one as source file.
 [.x2p]$(DBG)a2p$(E) : [.x2p]a2p$(O), [.x2p]hash$(O), [.x2p]str$(O), [.x2p]util$(O), [.x2p]walk$(O)
@@ -678,9 +557,9 @@
 # Accommodate buggy cpp in some version of DECC, which chokes on illegal
 # filespec "y.tab.c", and broken gcc cpp, which doesn't start #include ""
 # search in same dir as source file
-[.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h vmsish.h $(SOCKH) $(MINIPERL_EXE)
+[.x2p]a2p$(O) : [.x2p]a2p.c [.x2p]a2py.c [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h config.h handy.h vmsish.h $(MINIPERL_EXE)
 	$(MINIPERL) -pe "s/^#line\s+(\d+)\s+\Q""y.tab.c""/#line $1 ""y_tab.c""/;" $(MMS$SOURCE) >$(MMS$TARGET_NAME)_vms.c
-	$(CC) $(X2PCFLAGS) /Object=$(MMS$TARGET)/Include=([.x2p],[]) $(MMS$TARGET_NAME)_vms.c
+	$(CC) $(X2PCFLAGS) /Object=$(MMS$TARGET)/Include=([.x2p],[],"./x2p") $(MMS$TARGET_NAME)_vms.c
 	Delete/Log/NoConfirm $(MMS$TARGET_NAME)_vms.c;
 
 # gcc cpp broken -- doesn't look in directory of source file for #include ""
@@ -699,770 +578,11 @@
 .endif
 
 preplibrary : $(MINIPERL_EXE) $(LIBPREREQ) 
+	@ $(NOOP)
 
 makeppport : $(MINIPERL_EXE) $(ARCHDIR)Config.pm nonxsext
 	$(MINIPERL) mkppport
 
-[.lib.pods]perl.pod : [.pod]perl.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5004delta.pod : [.pod]perl5004delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5005delta.pod : [.pod]perl5005delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5100delta.pod : [.pod]perl5100delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5101delta.pod : [.pod]perl5101delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5110delta.pod : [.pod]perl5110delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5111delta.pod : [.pod]perl5111delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5112delta.pod : [.pod]perl5112delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5113delta.pod : [.pod]perl5113delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5114delta.pod : [.pod]perl5114delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5115delta.pod : [.pod]perl5115delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5120delta.pod : [.pod]perl5120delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5121delta.pod : [.pod]perl5121delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5122delta.pod : [.pod]perl5122delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5123delta.pod : [.pod]perl5123delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5130delta.pod : [.pod]perl5130delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl51310delta.pod : [.pod]perl51310delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl51311delta.pod : [.pod]perl51311delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5131delta.pod : [.pod]perl5131delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5132delta.pod : [.pod]perl5132delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5133delta.pod : [.pod]perl5133delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5134delta.pod : [.pod]perl5134delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5135delta.pod : [.pod]perl5135delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5136delta.pod : [.pod]perl5136delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5137delta.pod : [.pod]perl5137delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5138delta.pod : [.pod]perl5138delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5139delta.pod : [.pod]perl5139delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl5140delta.pod : [.pod]perl5140delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl561delta.pod : [.pod]perl561delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl56delta.pod : [.pod]perl56delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl570delta.pod : [.pod]perl570delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl571delta.pod : [.pod]perl571delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl572delta.pod : [.pod]perl572delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl573delta.pod : [.pod]perl573delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl581delta.pod : [.pod]perl581delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl582delta.pod : [.pod]perl582delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl583delta.pod : [.pod]perl583delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl584delta.pod : [.pod]perl584delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl585delta.pod : [.pod]perl585delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl586delta.pod : [.pod]perl586delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl587delta.pod : [.pod]perl587delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl588delta.pod : [.pod]perl588delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl589delta.pod : [.pod]perl589delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl58delta.pod : [.pod]perl58delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl590delta.pod : [.pod]perl590delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl591delta.pod : [.pod]perl591delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl592delta.pod : [.pod]perl592delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl593delta.pod : [.pod]perl593delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl594delta.pod : [.pod]perl594delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perl595delta.pod : [.pod]perl595delta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlaix.pod : [.pod]perlaix.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlamiga.pod : [.pod]perlamiga.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlapi.pod : [.pod]perlapi.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlapio.pod : [.pod]perlapio.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlartistic.pod : [.pod]perlartistic.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlbeos.pod : [.pod]perlbeos.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlbook.pod : [.pod]perlbook.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlboot.pod : [.pod]perlboot.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlbot.pod : [.pod]perlbot.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlbs2000.pod : [.pod]perlbs2000.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlcall.pod : [.pod]perlcall.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlce.pod : [.pod]perlce.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlcheat.pod : [.pod]perlcheat.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlclib.pod : [.pod]perlclib.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlcn.pod : [.pod]perlcn.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlcommunity.pod : [.pod]perlcommunity.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlcompile.pod : [.pod]perlcompile.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlcygwin.pod : [.pod]perlcygwin.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldata.pod : [.pod]perldata.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldbmfilter.pod : [.pod]perldbmfilter.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldebguts.pod : [.pod]perldebguts.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldebtut.pod : [.pod]perldebtut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldebug.pod : [.pod]perldebug.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldelta.pod : [.pod]perldelta.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldgux.pod : [.pod]perldgux.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldiag.pod : [.pod]perldiag.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldoc.pod : [.pod]perldoc.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldos.pod : [.pod]perldos.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perldsc.pod : [.pod]perldsc.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlebcdic.pod : [.pod]perlebcdic.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlembed.pod : [.pod]perlembed.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlepoc.pod : [.pod]perlepoc.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq.pod : [.pod]perlfaq.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq1.pod : [.pod]perlfaq1.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq2.pod : [.pod]perlfaq2.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq3.pod : [.pod]perlfaq3.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq4.pod : [.pod]perlfaq4.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq5.pod : [.pod]perlfaq5.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq6.pod : [.pod]perlfaq6.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq7.pod : [.pod]perlfaq7.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq8.pod : [.pod]perlfaq8.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfaq9.pod : [.pod]perlfaq9.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfilter.pod : [.pod]perlfilter.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfork.pod : [.pod]perlfork.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlform.pod : [.pod]perlform.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfreebsd.pod : [.pod]perlfreebsd.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlfunc.pod : [.pod]perlfunc.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlgit.pod : [.pod]perlgit.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlglossary.pod : [.pod]perlglossary.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlgpl.pod : [.pod]perlgpl.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlguts.pod : [.pod]perlguts.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlhack.pod : [.pod]perlhack.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlhacktips.pod : [.pod]perlhacktips.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlhacktut.pod : [.pod]perlhacktut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlhaiku.pod : [.pod]perlhaiku.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlhist.pod : [.pod]perlhist.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlhpux.pod : [.pod]perlhpux.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlhurd.pod : [.pod]perlhurd.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlintern.pod : [.pod]perlintern.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlinterp.pod : [.pod]perlinterp.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlintro.pod : [.pod]perlintro.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perliol.pod : [.pod]perliol.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlipc.pod : [.pod]perlipc.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlirix.pod : [.pod]perlirix.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perljp.pod : [.pod]perljp.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlko.pod : [.pod]perlko.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perllexwarn.pod : [.pod]perllexwarn.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perllinux.pod : [.pod]perllinux.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perllocale.pod : [.pod]perllocale.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perllol.pod : [.pod]perllol.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlmacos.pod : [.pod]perlmacos.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlmacosx.pod : [.pod]perlmacosx.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlmod.pod : [.pod]perlmod.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlmodinstall.pod : [.pod]perlmodinstall.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlmodlib.pod : [.pod]perlmodlib.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlmodstyle.pod : [.pod]perlmodstyle.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlmpeix.pod : [.pod]perlmpeix.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlmroapi.pod : [.pod]perlmroapi.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlnetware.pod : [.pod]perlnetware.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlnewmod.pod : [.pod]perlnewmod.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlnumber.pod : [.pod]perlnumber.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlobj.pod : [.pod]perlobj.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlop.pod : [.pod]perlop.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlopenbsd.pod : [.pod]perlopenbsd.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlopentut.pod : [.pod]perlopentut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlos2.pod : [.pod]perlos2.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlos390.pod : [.pod]perlos390.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlos400.pod : [.pod]perlos400.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlpacktut.pod : [.pod]perlpacktut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlperf.pod : [.pod]perlperf.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlplan9.pod : [.pod]perlplan9.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlpod.pod : [.pod]perlpod.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlpodspec.pod : [.pod]perlpodspec.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlpodstyle.pod : [.pod]perlpodstyle.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlpolicy.pod : [.pod]perlpolicy.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlport.pod : [.pod]perlport.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlpragma.pod : [.pod]perlpragma.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlqnx.pod : [.pod]perlqnx.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlre.pod : [.pod]perlre.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlreapi.pod : [.pod]perlreapi.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlrebackslash.pod : [.pod]perlrebackslash.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlrecharclass.pod : [.pod]perlrecharclass.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlref.pod : [.pod]perlref.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlreftut.pod : [.pod]perlreftut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlreguts.pod : [.pod]perlreguts.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlrequick.pod : [.pod]perlrequick.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlreref.pod : [.pod]perlreref.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlretut.pod : [.pod]perlretut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlriscos.pod : [.pod]perlriscos.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlrun.pod : [.pod]perlrun.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlsec.pod : [.pod]perlsec.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlsolaris.pod : [.pod]perlsolaris.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlsource.pod : [.pod]perlsource.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlstyle.pod : [.pod]perlstyle.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlsub.pod : [.pod]perlsub.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlsymbian.pod : [.pod]perlsymbian.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlsyn.pod : [.pod]perlsyn.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlthrtut.pod : [.pod]perlthrtut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perltie.pod : [.pod]perltie.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perltoc.pod : [.pod]perltoc.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perltodo.pod : [.pod]perltodo.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perltooc.pod : [.pod]perltooc.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perltoot.pod : [.pod]perltoot.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perltrap.pod : [.pod]perltrap.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perltru64.pod : [.pod]perltru64.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perltw.pod : [.pod]perltw.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlunicode.pod : [.pod]perlunicode.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlunifaq.pod : [.pod]perlunifaq.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perluniintro.pod : [.pod]perluniintro.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perluniprops.pod : [.pod]perluniprops.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlunitut.pod : [.pod]perlunitut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlutil.pod : [.pod]perlutil.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perluts.pod : [.pod]perluts.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlvar.pod : [.pod]perlvar.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlvmesa.pod : [.pod]perlvmesa.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlvms.pod : [.pod]perlvms.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlvos.pod : [.pod]perlvos.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlwin32.pod : [.pod]perlwin32.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlxs.pod : [.pod]perlxs.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
-[.lib.pods]perlxstut.pod : [.pod]perlxstut.pod
-	@ If F$Search("[.lib]pods.dir").eqs."" Then Create/Directory [.lib.pods]
-	Copy/NoConfirm/Log $(MMS$SOURCE) [.lib.pods]
-
 install.html : [.pod]perltoc.pod
 	@ @perl_setup.com
 	@ If F$Search("perl_root:[lib]html.dir").eqs."" Then Create/Directory perl_root:[lib.html]
@@ -1470,25 +590,10 @@
 
 printconfig :
         @ @[.vms]make_command $(MMS) $(MMSQUALIFIERS) $(MMSTARGETS)
-        @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(SOCKLIB)" "$(EXT)" "$(DBG)"
+        @ @[.vms]myconfig "$(CC)" "$(CFLAGS)" "$(LINKFLAGS)" "$(LIBS1)" "$(FULLLIBS2)" "$(EXT)" "$(DBG)"
 
-.ifdef SOCKET
-
-vmsish.h : $(SOCKH)
-
-$(SOCKO) : $(SOCKC) $(h)
-
-$(SOCKC) : [.vms]$(SOCKC)
-	Copy/NoConfirm/Log $(MMS$SOURCE) []
-
-$(SOCKH) : [.vms]$(SOCKH)
-	Copy/NoConfirm/Log $(MMS$SOURCE) []
-
-.endif
-
 # The following files are generated automatically
-#       embed.pl:       proto.h embed.h embedvar.h global.sym
-#                       perlapi.h perlapi.c
+#       embed.pl:       proto.h embed.h embedvar.h perlapi.h perlapi.c
 #       opcode.pl:      opcode.h opnames.h pp_proto.h
 #       regcomp.pl:     regnodes.h
 #       warnings.pl:    warnings.h lib/warnings.pm
@@ -1510,9 +615,11 @@
 perly$(O) : perly.c, perly.h, $(h)
 .endif
 
-[.t.lib]vmsfspec.t : [.vms.ext]filespec.t
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(MMS$TARGET)
+VMSFSPEC_T = [.t.lib]vmsfspec.t
 
+$(VMSFSPEC_T) : [.vms.ext]filespec.t
+	Copy/NoConfirm/Log $(MMS$SOURCE) $(VMSFSPEC_T)
+
 check : test
 	@ Continue
 
@@ -1532,10 +639,11 @@
 
 # install ought not need a source, but it doesn't work if one's not
 # there. Go figure...
-install : $(MINIPERL_EXE)
+install : $(PERL_EXE)
 	@ @perl_setup.com
 	If F$TrnLnm("Sys") .nes. "" Then Deass SYS
-	$(MINIPERL) installperl
+	@ define/user_mode $(DBG)PERLSHR SYS$DISK:[]$(DBG)perlshr$(E)
+	$(PERL) installperl
 
 archify : all
 	@ Write Sys$Output "Moving files to architecture-specific locations for $(ARCHNAME)"
@@ -1554,167 +662,11 @@
 	@ Write Sys$Output "    2. Delete Miniperl$(E)"
 
 # CORE subset for MakeMaker, so we can build Perl without sources
-# Should move to VMS installperl when we get one
-.ifdef SOCKET
-$(SOCKARCH) : $(SOCKH)
-       @ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-       Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-.endif
-$(ARCHCORE)av.h : av.h
+
+archcore_includes.ts :
 	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)config.h : config.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)cop.h : cop.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)cv.h : cv.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)embed.h : embed.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)embedvar.h : embedvar.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)EXTERN.h : EXTERN.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)fakethr.h : fakethr.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)form.h : form.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)git_version.h : git_version.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)gv.h : gv.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)handy.h : handy.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)hv.h : hv.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)l1_char_class_tab.h : l1_char_class_tab.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)INTERN.h : INTERN.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)intrpvar.h : intrpvar.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)iperlsys.h : iperlsys.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)keywords.h : keywords.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)mydtrace.h : mydtrace.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)mg.h : mg.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)nostdio.h : nostdio.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)op_reg_common.h : op_reg_common.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)op.h : op.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)opcode.h : opcode.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)opnames.h : opnames.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)overload.h : overload.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)pad.h : pad.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)parser.h : parser.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)patchlevel.h : patchlevel.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)perl.h : perl.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)perlapi.h : perlapi.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)perlio.h : perlio.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)perlsdio.h : perlsdio.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)perlsfio.h : perlsfio.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)perlvars.h : perlvars.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)perly.h : perly.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)pp.h : pp.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)pp_proto.h : pp_proto.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)proto.h : proto.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-.ifdef THREADED
-$(ARCHCORE)reentr.h : reentr.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-.endif
-$(ARCHCORE)regcomp.h : regcomp.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)regexp.h : regexp.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)regnodes.h : regnodes.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)scope.h : scope.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)sv.h : sv.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)thread.h : thread.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)utf8.h : utf8.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)util.h : util.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)vmsish.h : vmsish.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)warnings.h : warnings.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
-$(ARCHCORE)xsub.h : xsub.h
-	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
-	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
+	Copy/NoConfirm/Log *.h $(ARCHCORE)
+	@ Copy _NLA0: $(MMS$TARGET)
 $(ARCHCORE)$(DBG)libperl$(OLB) : $(DBG)libperl$(OLB) $(DBG)perlshr_xtras.ts
 	@ If F$Search("$(ARCHDIR)CORE.dir").eqs."" Then Create/Directory $(ARCHCORE)
 	Copy/NoConfirm/Log $(MMS$SOURCE) $(ARCHCORE)
@@ -1735,10 +687,6 @@
 #util$(O) : util.c
 #	$(CC) $(CORECFLAGS) $(MMS$SOURCE)
 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
-.ifdef SOCKET
-$(SOCKO) : $(SOCKC) $(h)
-	$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-.endif
 av$(O) : av.c $(h)
 	$(CC) $(CORECFLAGS) $(MMS$SOURCE)
 deb$(O) : deb.c $(h)
@@ -1749,7 +697,7 @@
 	$(CC) $(CORECFLAGS) $(MMS$SOURCE)
 dump$(O) : dump.c $(h)
 	$(CC) $(CORECFLAGS) $(MMS$SOURCE)
-globals$(O) : globals.c uudmap.h bitcount.h $(h)
+globals$(O) : globals.c $(generated_headers) $(h)
         $(CC) $(CORECFLAGS) $(MMS$SOURCE)
 gv$(O) : gv.c $(h)
 	$(CC) $(CORECFLAGS) $(MMS$SOURCE)
@@ -1822,16 +770,16 @@
 vms$(O) : vms.c $(h)
 	$(CC) $(CORECFLAGS) $(MMS$SOURCE)
 
-[.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
+[.x2p]hash$(O) : [.x2p]hash.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h
 	$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
 
-[.x2p]str$(O) : [.x2p]str.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
+[.x2p]str$(O) : [.x2p]str.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h
 	$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
 
-[.x2p]util$(O) : [.x2p]util.c [.x2p]EXTERN.h [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
+[.x2p]util$(O) : [.x2p]util.c [.x2p]EXTERN.h [.x2p]INTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h
 	$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
 
-[.x2p]walk$(O) : [.x2p]walk.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h $(SOCKH)
+[.x2p]walk$(O) : [.x2p]walk.c [.x2p]EXTERN.h [.x2p]a2p.h [.x2p]hash.h [.x2p]str.h [.x2p]util.h config.h handy.h vmsish.h
 	$(CC) $(X2PCFLAGS) $(MMS$SOURCE)
 
 # End of automatically generated make dependencies
@@ -1844,7 +792,7 @@
 	Copy/Log/Noconfirm [.vms]vms.c []
 
 $(CRTL) : $(MAKEFILE)
-	@ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)|$(SOCKLIB)"
+	@ @[.vms]genopt "$(CRTL)/Write" "|" "$(LIBS1)|$(FULLLIBS2)"
 
 ok : $(utils)
 	$(MINIPERL) lib/perlbug.com -ok -s "(UNINSTALLED)"
@@ -1884,6 +832,7 @@
 	- If F$Search("perlmain.c;-1")   .nes."" Then Purge/NoConfirm/Log perlmain.c
 	- If F$Search("uudmap.h;-1")   .nes."" Then Purge/NoConfirm/Log uudmap.h
 	- If F$Search("bitcount.h;-1")   .nes."" Then Purge/NoConfirm/Log bitcount.h
+	- If F$Search("mg_data.h;-1")   .nes."" Then Purge/NoConfirm/Log mg_data.h
 	- If F$Search("Perlshr_Gbl*.Mar;-1")   .nes."" Then Purge/NoConfirm/Log Perlshr_Gbl*.Mar
 	- If F$Search("[.ext.Opcode...];-1").nes."" Then Purge/NoConfirm/Log [.ext.Opcode]
 	- If F$Search("[.vms.ext...]*.C;-1").nes."" Then Purge/NoConfirm/Log [.vms.ext...]*.C
@@ -1896,13 +845,11 @@
 	- If F$Search("$(ARCHDIR)Config_heavy.pl;-1").nes."" Then Purge/NoConfirm/Log $(ARCHDIR)Config_heavy.pl
 	- If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Purge/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm
 	- If F$Search("[.lib.VMS]*.*;-1").nes."" Then Purge/NoConfirm/Log [.lib.VMS]*.*
-	- If F$Search("[.lib.pods]*.Pod;-1").nes."" Then Purge/NoConfirm/Log [.lib.pods]*.Pod
 	- If F$Search("$(ARCHCORE)*.*").nes."" Then Purge/NoConfirm/Log $(ARCHCORE)*.*
 	- If F$Search("[.lib]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib]*.com
 	- If F$Search("[.pod]*.com;-1").nes."" Then Purge/NoConfirm/Log [.pod]*.com
 	- If F$Search("[.utils]*.com;-1").nes."" Then Purge/NoConfirm/Log [.utils]*.com
 	- If F$Search("[.x2p]*.com;-1").nes."" Then Purge/NoConfirm/Log [.x2p]*.com
-	- If F$Search("[.lib.pods]*.com;-1").nes."" Then Purge/NoConfirm/Log [.lib.pods]*.com
 	- If F$Search("[.lib]buildcustomize.pl;-1").nes."" Then Purge/NoConfirm/Log [.lib]buildcustomize.pl
 
 clean : tidy cleantest
@@ -1909,8 +856,6 @@
       	- $(MINIPERL) make_ext.pl "MAKE=$(MMS)" "--all" "--target=clean"
 	- If F$Search("*.Opt").nes."" Then Delete/NoConfirm/Log *.Opt;*/Exclude=PerlShr_*.Opt
 	- If F$Search("[...]*$(O);*") .nes."" Then Delete/NoConfirm/Log [...]*$(O);*
-	- If F$Search(F$Parse("Sys$Disk:[]","$(SOCKH)")).nes."" Then Delete/NoConfirm/Log $(SOCKH);*
-	- If F$Search(F$Parse("Sys$Disk:[]","$(SOCKC)")).nes."" Then Delete/NoConfirm/Log $(SOCKC);*
 	- If F$Search("vmsish.h").nes."" Then Delete/NoConfirm/Log vmsish.h;*
 	- If F$Search("vms.c")   .nes."" Then Delete/NoConfirm/Log vms.c;*
 	- If F$Search("perlmain.c")   .nes."" Then Delete/NoConfirm/Log perlmain.c;*
@@ -1917,11 +862,13 @@
 	- If F$Search("perlmini.c")   .nes."" Then Delete/NoConfirm/Log perlmini.c;*
 	- If F$Search("uudmap.h")   .nes."" Then Delete/NoConfirm/Log uudmap.h;*
 	- If F$Search("bitcount.h")   .nes."" Then Delete/NoConfirm/Log bitcount.h;*
+	- If F$Search("mg_data.h")   .nes."" Then Delete/NoConfirm/Log mg_data.h;*
 	- If F$Search("Perlshr_Gbl*.Mar")   .nes."" Then Delete/NoConfirm/Log Perlshr_Gbl*.Mar;*
 	- If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
 	- If F$Search("[.vms.ext...]*.C").nes."" Then Delete/NoConfirm/Log [.vms.ext...]*.C;*
 	- If F$Search("[.vms.ext...]*$(O)").nes."" Then Delete/NoConfirm/Log [.vms.ext...]*$(O);*
 	- If F$Search("[.pod]*.com").nes."" Then Delete/NoConfirm/Log [.pod]*.com;*
+	- If F$Search("[.pod]roffitall").nes."" Then Delete/NoConfirm/Log [.pod]roffitall;*
 	- If F$Search("$(PERLDELTA_CURRENT)").nes."" Then Delete/NoConfirm/Log $(PERLDELTA_CURRENT);*
 	- If F$Search("[.pod]perlapi.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlapi.pod;*
 	- If F$Search("[.pod]perlintern.pod").nes."" Then Delete/NoConfirm/Log [.pod]perlintern.pod;*
@@ -1929,7 +876,6 @@
 	- If F$Search("[.pod]perltoc.pod").nes."" Then Delete/NoConfirm/Log [.pod]perltoc.pod;*
 	- If F$Search("[.pod]perluniprops.pod").nes."" Then Delete/NoConfirm/Log [.pod]perluniprops.pod;*
 	- @extra_pods CLEAN
-	- If F$Search("unpushed.h").nes."" Then Delete/NoConfirm/Log unpushed.h;*
 	- If F$Search("[.lib]Config_git.pl").nes."" Then Delete/NoConfirm/Log [.lib]Config_git.pl;*
 	- If F$Search("git_version.h").nes."" Then Delete/NoConfirm/Log git_version.h;*
 
@@ -1947,7 +893,7 @@
 	- If F$Search("Descrip.MMS").nes."" Then Delete/NoConfirm/Log Descrip.MMS;*
 	- If F$Search("extra_pods.Com").nes."" Then Delete/NoConfirm/Log extra_pods.Com;*
 	- If F$Search("extra.pods").nes."" Then Delete/NoConfirm/Log extra.pods;*
-	- $(MINIPERL) -e "use File::Path; rmtree(['lib/auto','lib/VMS','lib/$(ARCHNAME)'],1,0);"
+	- $(MINIPERL) -e "use File::Path; rmtree(['[.CXX_REPOSITORY]', 'lib/auto','lib/VMS','lib/$(ARCHNAME)'],1,0);"
 	- If F$Search("*.TS").nes."" Then Delete/NoConfirm/Log *.TS;*
 	- If F$Search("[.lib]Config.pm").nes."" Then Delete/NoConfirm/Log [.lib]Config.pm;*
 	- If F$Search("[.lib]Config_heavy.pl").nes."" Then Delete/NoConfirm/Log [.lib]Config_heavy.pl;*
@@ -1959,13 +905,11 @@
 	- If F$Search("$(ARCHDIR)Config.pm").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config.pm;*
 	- If F$Search("$(ARCHDIR)Config_heavy.pl").nes."" Then Delete/NoConfirm/Log $(ARCHDIR)Config_heavy.pl;*
 	- If F$Search("[.lib.ExtUtils]Miniperl.pm").nes."" Then Delete/NoConfirm/Log [.lib.ExtUtils]Miniperl.pm;*
-	- If F$Search("[.lib.pods]*.pod").nes."" Then Delete/NoConfirm/Log [.lib.pods]*.pod;*
-	- If F$Search("[.lib.pods]perldoc.com").nes."" Then Delete/NoConfirm/Log [.lib.pods]perldoc.com;*
+	- If F$Search("[.utils]perldoc.com").nes."" Then Delete/NoConfirm/Log [.utils]perldoc.com;*
 	- If F$Search("[.utils]perlivp.com").nes."" Then Delete/NoConfirm/Log [.utils]perlivp.com;*
-	- If F$Search("[.lib.pods]pod2*.com").nes."" Then Delete/NoConfirm/Log [.lib.pods]pod2*.com;*
 	- If F$Search("[.t.lib]vms*.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vms*.t;*
 	- If F$Search("[...]*$(E)").nes."" Then Delete/NoConfirm/Log [...]*$(E);*
-	- If F$Search("[.vms]Perl_Setup.Com").nes."" Then Delete/NoConfirm/Log [.vms]Perl_Setup.Com;*
+	- If F$Search("Perl_Setup.Com").nes."" Then Delete/NoConfirm/Log Perl_Setup.Com;*
 	- If F$Search("[.t]rantests.").nes."" Then Delete/NoConfirm/Log [.t]rantests.;*
 	- If F$Search("[.t]test_state.").nes."" Then Delete/NoConfirm/Log [.t]test_state.;*
 	- If F$Search("[.t.lib]vmsfspec.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsfspec.t;*
@@ -1972,6 +916,7 @@
 	- If F$Search("[.t.lib]vmsish.t").nes."" Then Delete/NoConfirm/Log [.t.lib]vmsish.t;*
 	- If F$Search("vmspipe.com").nes."" Then Delete/NoConfirm/Log vmspipe.com;*
 	- If F$Search("[.lib]buildcustomize.pl").nes."" Then Delete/NoConfirm/Log [.lib]buildcustomize.pl;*
+	- If F$Search("[.lib]config.pod").nes."" Then Delete/NoConfirm/Log [.lib]config.pod;*
 
 cleansrc : clean
 	- If F$Search("*.c;-1").nes."" Then Purge/NoConfirm/Log *.c


Property changes on: vendor/perl/dist/vms/descrip_mms.template
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/ext/Filespec.pm
===================================================================
--- vendor/perl/dist/vms/ext/Filespec.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/ext/Filespec.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/ext/Filespec.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/vms/ext/filespec.t
===================================================================
--- vendor/perl/dist/vms/ext/filespec.t	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/ext/filespec.t	2013-12-01 21:45:02 UTC (rev 6430)
@@ -79,6 +79,15 @@
 
 __DATA__
 
+# Column definitions:
+#
+#  Column 1: Argument (path spec to be transformed)
+#  Column 2: Function that is to do the transformation
+#  Column 3: Expected result when DECC$EFS_CHARSET is not in effect
+#  Column 4: Expected result when DECC$EFS_CHARSET is in effect
+#            ^ means expect same result for EFS as for non-EFS
+#            ^* means TODO when EFS is in effect
+
 # lots of underscores used to minimize collision with existing logical names
 
 # Basic VMS to Unix filespecs
@@ -87,15 +96,16 @@
 [.__some_.__where_.__over_]__the_.__rainbow_   unixify __some_/__where_/__over_/__the_.__rainbow_ ^
 [-.__some_.__where_.__over_]__the_.__rainbow_  unixify ../__some_/__where_/__over_/__the_.__rainbow_ ^
 [.__some_.--.__where_.__over_]__the_.__rainbow_        unixify __some_/../../__where_/__over_/__the_.__rainbow_ ^
-[.__some_...__where_.__over_]__the_.__rainbow_ unixify __some_/.../__where_/__over_/__the_.__rainbow_ ^*
-[...__some_.__where_.__over_]__the_.__rainbow_ unixify .../__some_/__where_/__over_/__the_.__rainbow_ ^*
-[.__some_.__where_.__over_...]__the_.__rainbow_        unixify __some_/__where_/__over_/.../__the_.__rainbow_ ^*
-[.__some_.__where_.__over_...] unixify __some_/__where_/__over_/.../ ^*
+[.__some_...__where_.__over_]__the_.__rainbow_ unixify __some_/.../__where_/__over_/__the_.__rainbow_ ^
+[...__some_.__where_.__over_]__the_.__rainbow_ unixify .../__some_/__where_/__over_/__the_.__rainbow_ ^
+[.__some_.__where_.__over_...]__the_.__rainbow_        unixify __some_/__where_/__over_/.../__the_.__rainbow_ ^
+[.__some_.__where_.__over_...] unixify __some_/__where_/__over_/.../ ^
 [.__some_.__where_.__over_.-]  unixify __some_/__where_/__over_/../ ^
 []	unixify		./	^
 [-]	unixify		../	^
 [--]	unixify		../../	^
-[...]	unixify		.../	^*
+[...]	unixify		.../	^
+__lyrics_:[__are_.__very_^.__sappy_]__but_^.__rhymes_^.__are_.__true_    unixify   /__lyrics_/__are_/__very_.__sappy_/__but_.__rhymes_.__are_.__true_ ^
 [.$(macro)]	unixify	$(macro)/ ^
 
 # and back again
@@ -102,33 +112,32 @@
 /__some_/__where_/__over_/__the_.__rainbow_    vmsify  __some_:[__where_.__over_]__the_.__rainbow_ ^
 __some_/__where_/__over_/__the_.__rainbow_     vmsify  [.__some_.__where_.__over_]__the_.__rainbow_ ^
 ../__some_/__where_/__over_/__the_.__rainbow_  vmsify  [-.__some_.__where_.__over_]__the_.__rainbow_ ^
-__some_/../../__where_/__over_/__the_.__rainbow_       vmsify  [-.__where_.__over_]__the_.__rainbow_  [.__some_.--.__where_.__over_]__the_.__rainbow_
-.../__some_/__where_/__over_/__the_.__rainbow_ vmsify  [...__some_.__where_.__over_]__the_.__rainbow_ [.^.^.^..__some_.__where_.__over_]__the_.__rainbow_
-__some_/.../__where_/__over_/__the_.__rainbow_ vmsify  [.__some_...__where_.__over_]__the_.__rainbow_  [.__some_.^.^.^..__where_.__over_]__the_.__rainbow_
-/__some_/.../__where_/__over_/__the_.__rainbow_        vmsify  __some_:[...__where_.__over_]__the_.__rainbow_ __some_:[^.^.^..__where_.__over_]__the_.__rainbow_
-__some_/__where_/...   vmsify  [.__some_.__where_...] [.__some_.__where_]^.^.^..
-/__where_/...  vmsify  __where_:[...] __where_:[]^.^.^..
+__some_/../../__where_/__over_/__the_.__rainbow_       vmsify  [.__some_.--.__where_.__over_]__the_.__rainbow_ ^
+.../__some_/__where_/__over_/__the_.__rainbow_ vmsify  [...__some_.__where_.__over_]__the_.__rainbow_ ^
+__some_/.../__where_/__over_/__the_.__rainbow_ vmsify  [.__some_...__where_.__over_]__the_.__rainbow_  ^
+/__some_/.../__where_/__over_/__the_.__rainbow_        vmsify  __some_:[...__where_.__over_]__the_.__rainbow_ ^
+__some_/__where_/...   vmsify  [.__some_.__where_...] ^
+/__where_/...  vmsify  __where_:[...] ^
 .	vmsify	[]	^
 ..	vmsify	[-]	^
 ../..	vmsify	[--]	^
-.../	vmsify	[...]	[.^.^.^.]
-# Can not predict what / will translate to.
-/	vmsify	sys$disk:[000000] ^*
+.../	vmsify	[...]	^
+/	vmsify	sys$disk:[000000] ^
 ./$(macro)/	vmsify	[.$(macro)] ^
 ./$(macro)	vmsify	[]$(macro) ^
-./$(m+	vmsify	[]$^(m^+	[]$^(m^+.
-
+./$(m+	vmsify	[]$^(m^+	^
+foo-bar-0^.01/	vmsify [.foo-bar-0_01] [.foo-bar-0^.01]
 # Fileifying directory specs
 __down_:[__the_.__garden_.__path_]     fileify __down_:[__the_.__garden_]__path_.dir;1 ^
 [.__down_.__the_.__garden_.__path_]    fileify [.__down_.__the_.__garden_]__path_.dir;1 ^
-/__down_/__the_/__garden_/__path_      fileify /__down_/__the_/__garden_/__path_.dir;1 /__down_/__the_/__garden_/__path_
-/__down_/__the_/__garden_/__path_/     fileify /__down_/__the_/__garden_/__path_.dir;1 /__down_/__the_/__garden_/__path_
-__down_/__the_/__garden_/__path_       fileify __down_/__the_/__garden_/__path_.dir;1 __down_/__the_/__garden_/__path_
+/__down_/__the_/__garden_/__path_      fileify /__down_/__the_/__garden_/__path_.dir;1 ^
+/__down_/__the_/__garden_/__path_/     fileify /__down_/__the_/__garden_/__path_.dir;1 ^
+__down_/__the_/__garden_/__path_       fileify __down_/__the_/__garden_/__path_.dir;1 ^
 __down_:[__the_.__garden_]__path_      fileify __down_:[__the_.__garden_]__path_.dir;1 ^
 __down_:[__the_.__garden_]__path_.     fileify ^ __down_:[__the_.__garden_]__path_^..dir;1 # N.B. trailing . ==> null type
 __down_:[__the_]__garden_.__path_      fileify ^ __down_:[__the_]__garden_^.__path_.dir;1 #undef
-/__down_/__the_/__garden_/__path_.     fileify ^ /__down_/__the_/__garden_/__path_. # N.B. trailing . ==> null type
-/__down_/__the_/__garden_.__path_      fileify ^ /__down_/__the_/__garden_.__path_
+/__down_/__the_/__garden_/__path_.     fileify ^ /__down_/__the_/__garden_/__path_..dir;1 # N.B. trailing . ==> null type
+/__down_/__the_/__garden_.__path_      fileify ^ /__down_/__the_/__garden_.__path_.dir;1
 
 # and pathifying them
 __down_:[__the_.__garden_]__path_.dir;1        pathify __down_:[__the_.__garden_.__path_] ^
@@ -136,7 +145,7 @@
 /__down_/__the_/__garden_/__path_.dir  pathify /__down_/__the_/__garden_/__path_/ ^
 __down_/__the_/__garden_/__path_.dir   pathify __down_/__the_/__garden_/__path_/ ^
 __down_:[__the_.__garden_]__path_      pathify __down_:[__the_.__garden_.__path_] ^
-__down_:[__the_.__garden_]__path_.     pathify ^ __down_:[__the.__garden_.__path_^.] # N.B. trailing . ==> null type
+__down_:[__the_.__garden_]__path_.     pathify ^ __down_:[__the_.__garden_.__path_^.] # N.B. trailing . ==> null type
 __down_:[__the_]__garden_.__path_      pathify ^ __down_:[__the_.__garden_^.__path_] # undef
 /__down_/__the_/__garden_/__path_.     pathify /__down_/__the_/__garden_/__path__/ /__down_/__the_/__garden_/__path_./ # N.B. trailing . ==> null type
 /__down_/__the_/__garden_.__path_      pathify /__down_/__the_/__garden____path_/ /__down_/__the_/__garden_.__path_/
@@ -151,16 +160,16 @@
 __down_:[__the_.__garden_]__path_.dir;1        unixpath        /__down_/__the_/__garden_/__path_/ ^
 /__down_/__the_/__garden_/__path_      vmspath __down_:[__the_.__garden_.__path_] ^
 __down_:[__the_.__garden_.__path_]     unixpath        /__down_/__the_/__garden_/__path_/ ^
-__down_:[__the_.__garden_.__path_...]  unixpath        /__down_/__the_/__garden_/__path_/.../ # Not translatable
+__down_:[__the_.__garden_.__path_...]  unixpath        /__down_/__the_/__garden_/__path_/.../ ^
 /__down_/__the_/__garden_/__path_.dir  vmspath __down_:[__the_.__garden_.__path_] ^
 [.__down_.__the_.__garden_]__path_.dir unixpath        __down_/__the_/__garden_/__path_/ ^
 __down_/__the_/__garden_/__path_       vmspath [.__down_.__the_.__garden_.__path_] ^
 __path_        vmspath [.__path_] ^
-/	vmspath	sys$disk:[000000] ^*
+/	vmspath	sys$disk:[000000] ^
 /sys$scratch	vmspath	sys$scratch: ^
 
 # Redundant characters in Unix paths
-//__some_/__where_//__over_/../__the_.__rainbow_       vmsify  __some_:[__where_]__the_.__rainbow_ __some_:[__where_.__over_.-]__the_.__rainbow_
+//__some_/__where_//__over_/../__the_.__rainbow_       vmsify  __some_:[__where_.__over_.-]__the_.__rainbow_ ^
 /__some_/__where_//__over_/./__the_.__rainbow_ vmsify  __some_:[__where_.__over_]__the_.__rainbow_ ^
 ..//../	vmspath	[--] ^
 ./././	vmspath	[] ^


Property changes on: vendor/perl/dist/vms/ext/filespec.t
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/vms/gen_shrfls.pl
===================================================================
--- vendor/perl/dist/vms/gen_shrfls.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/gen_shrfls.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,10 +1,10 @@
 # Create global symbol declarations, transfer vector, and
 # linker options files for PerlShr.
 #
+# Processes the output of makedef.pl.
+#
 # Input:
-#    $cflags - command line qualifiers passed to cc when preprocesing perl.h
-#        Note: A rather simple-minded attempt is made to restore quotes to
-#        a /Define clause - use with care.
+#    $cc_cmd - compiler command
 #    $objsuffix - file type (including '.') used for object files.
 #    $libperl - Perl object library.
 #    $extnames - package names for static extensions (used to generate
@@ -40,7 +40,7 @@
 
 my $debug = $ENV{'GEN_SHRFLS_DEBUG'};
 
-print "gen_shrfls.pl Rev. 30-Sep-2010\n" if $debug;
+print "gen_shrfls.pl Rev. 8-Jul-2011\n" if $debug;
 
 if ($ARGV[0] eq '-f') {
   open(INP,$ARGV[1]) or die "Can't read input file $ARGV[1]: $!\n";
@@ -54,8 +54,7 @@
   print "Read input data | ",join(' | ', at ARGV)," |\n" if $debug > 1;
 }
 
-my $cc_cmd = shift @ARGV;
-my $cpp_file;
+my $cc_cmd = shift @ARGV; # no longer used to run the preprocessor
 
 # Someday, we'll have $GetSyI built into perl . . .
 my $isvax = `\$ Write Sys\$Output \(F\$GetSyI(\"HW_MODEL\") .LE. 1024 .AND. F\$GetSyI(\"HW_MODEL\") .GT. 0\)`;
@@ -74,15 +73,14 @@
      $debugging_enabled, $hide_mymalloc, $isgcc, $use_perlio, $dir )
    = ( 0, 0, 0, 0, 0, 0, 0, 0 );
 
-if ($docc) {
-  if (-f 'perl.h') { $dir = '[]'; }
-  elsif (-f '[-]perl.h') { $dir = '[-]'; }
-  else { die "$0: Can't find perl.h\n"; }
+if (-f 'perl.h') { $dir = '[]'; }
+elsif (-f '[-]perl.h') { $dir = '[-]'; }
+else { die "$0: Can't find perl.h\n"; }
 
-  # Go see what is enabled in config.sh
-  my $config = $dir . "config.sh";
-  open CONFIG, '<', $config;
-  while(<CONFIG>) {
+# Go see what is enabled in config.sh
+my $config = $dir . "config.sh";
+open CONFIG, '<', $config;
+while(<CONFIG>) {
     $use_threads++ if /usethreads='(define|yes|true|t|y|1)'/i;
     $use_mymalloc++ if /usemymalloc='(define|yes|true|t|y|1)'/i;
     $care_about_case++ if /d_vms_case_sensitive_symbols='(define|yes|true|t|y|1)'/i;
@@ -91,37 +89,26 @@
     $hide_mymalloc++ if /embedmymalloc='(define|yes|true|t|y|1)'/i;
     $isgcc++ if /gccversion='[^']/;
     $use_perlio++ if /useperlio='(define|yes|true|t|y|1)'/i;
-  }
-  close CONFIG;
+}
+close CONFIG;
   
-  # put quotes back onto defines - they were removed by DCL on the way in
-  if (my ($prefix,$defines,$suffix) =
+# put quotes back onto defines - they were removed by DCL on the way in
+if (my ($prefix,$defines,$suffix) =
          ($cc_cmd =~ m#(.*)/Define=(.*?)([/\s].*)#i)) {
-    $defines =~ s/^\((.*)\)$/$1/;
-    $debugging_enabled ||= $defines =~ /\bDEBUGGING\b/;
-    my @defines = split(/,/,$defines);
-    $cc_cmd = "$prefix/Define=(" . join(',',grep($_ = "\"$_\"", at defines)) 
+  $defines =~ s/^\((.*)\)$/$1/;
+  $debugging_enabled ||= $defines =~ /\bDEBUGGING\b/;
+  my @defines = split(/,/,$defines);
+  $cc_cmd = "$prefix/Define=(" . join(',',grep($_ = "\"$_\"", at defines)) 
               . ')' . $suffix;
-  }
-  print "Filtered \$cc_cmd: \\$cc_cmd\\\n" if $debug;
+}
+print "Filtered \$cc_cmd: \\$cc_cmd\\\n" if $debug;
 
-  # check for gcc - if present, we'll need to use MACRO hack to
-  # define global symbols for shared variables
+# check for gcc - if present, we'll need to use MACRO hack to
+# define global symbols for shared variables
 
-  print "\$isgcc: $isgcc\n" if $debug;
-  print "\$debugging_enabled: $debugging_enabled\n" if $debug;
+print "\$isgcc: $isgcc\n" if $debug;
+print "\$debugging_enabled: $debugging_enabled\n" if $debug;
 
-}
-else { 
-  (undef,undef,$cpp_file,$cc_cmd) = split(/~~/,$cc_cmd,4);
-  $isgcc = $cc_cmd =~ /case_hack/i
-           or 0;  # for nice debug output
-  $debugging_enabled = $cc_cmd =~ /\bdebugging\b/i;
-  print "\$isgcc: \\$isgcc\\\n" if $debug;
-  print "\$debugging_enabled: \\$debugging_enabled\\\n" if $debug;
-  print "Not running cc, preprocesor output in \\$cpp_file\\\n" if $debug;
-}
-
 my $objsuffix = shift @ARGV;
 print "\$objsuffix: \\$objsuffix\\\n" if $debug;
 my $dbgprefix = shift @ARGV;
@@ -134,143 +121,26 @@
 my $rtlopt = shift @ARGV;
 print "\$rtlopt: \\$rtlopt\\\n" if $debug;
 
-my (%vars, %cvars, %fcns);
+my (%vars, %fcns);
 
-# These are symbols that we should not export.  They may merely
-# look like exportable symbols but aren't, or they may be declared
-# as exportable symbols but there is no function implementing them
-# (possibly due to an alias).
+open my $makedefs, '<', $dir . 'makedef.lis' or die "Unable to open makedef.lis: $!";
 
-my %symbols_to_exclude = (
-  '__attribute__format__'  => 1,
-  'main'                   => 1,
-  'Perl_pp_avalues'        => 1,
-  'Perl_pp_reach'          => 1,
-  'Perl_pp_rvalues'        => 1,
-  'Perl_pp_say'            => 1,
-  'Perl_pp_transr'         => 1,
-  'sizeof'                 => 1,
-);
-
-sub scan_var {
-  my($line) = @_;
-  my($const) = $line =~ /^EXTCONST/;
-
-  print "\tchecking for global variable\n" if $debug > 1;
-  $line =~ s/\s*EXT/EXT/;
-  $line =~ s/INIT\s*\(.*\)//;
-  $line =~ s/\[.*//;
-  $line =~ s/=.*//;
-  $line =~ s/\W*;?\s*$//;
-  $line =~ s/\W*\)\s*\(.*$//; # closing paren for args stripped in previous stmt
-  print "\tfiltered to \\$line\\\n" if $debug > 1;
-  if ($line =~ /(\w+)$/) {
-    print "\tvar name is \\$1\\" . ($const ? ' (const)' : '') . "\n" if $debug > 1;
-   if ($const) { $cvars{$1}++; }
-   else        { $vars{$1}++;  }
+while (my $line = <$makedefs>) {
+  chomp $line;
+  $line = shorten_symbol($line, $care_about_case) if $shorten_symbols;
+  # makedef.pl loses distinction between vars and funcs, so
+  # use the start of the name to guess and add specific
+  # exceptions when we know about them.
+  if ($line =~ m/^(PL_|MallocCfg)/
+      || $line eq 'PerlIO_perlio'
+      || $line eq 'PerlIO_pending') {
+    $vars{$line}++;
   }
-}
-
-sub scan_func {
-  my @lines = split /;/, $_[0];
-
-  for my $line (@lines) {
-    print "\tchecking for global routine\n" if $debug > 1;
-    $line =~ s/\b(IV|Off_t|Size_t|SSize_t|void|int)\b//i;
-    if ( $line =~ /(\w+)\s*\(/ ) {
-      print "\troutine name is \\$1\\\n" if $debug > 1;
-      if (exists($symbols_to_exclude{$1})
-          || ($1 eq 'Perl_stashpv_hvname_match' && ! $use_threads)) {
-        print "\tskipped\n" if $debug > 1;
-      }
-      else { $fcns{$1}++ }
-    }
-  }
-}
-
-# Go add some right up front if we need 'em
-if ($use_mymalloc) {
-  $fcns{'Perl_malloc'}++;
-  $fcns{'Perl_calloc'}++;
-  $fcns{'Perl_realloc'}++;
-  $fcns{'Perl_mfree'}++;
-}
-
-my ($used_expectation_enum, $used_opcode_enum) = (0, 0); # avoid warnings
-if ($docc) {
-  1 while unlink 'perlincludes.tmp';
-  END { 1 while unlink 'perlincludes.tmp'; }  # and clean up after
-
-  open(PERLINC, '>', 'perlincludes.tmp') or die "Couldn't open 'perlincludes.tmp' $!";
-
-  print PERLINC qq/#include "${dir}perl.h"\n/;
-  print PERLINC qq/#include "${dir}perlapi.h"\n/; 
-  print PERLINC qq/#include "${dir}perliol.h"\n/ if $use_perlio;
-  print PERLINC qq/#include "${dir}regcomp.h"\n/;
-
-  close PERLINC;
-  my $preprocess_list = 'perlincludes.tmp';
-
-  open(CPP,"${cc_cmd}/NoObj/PreProc=Sys\$Output $preprocess_list|")
-    or die "$0: Can't preprocess $preprocess_list: $!\n";
-}
-else {
-  open(CPP,"$cpp_file") or die "$0: Can't read preprocessed file $cpp_file: $!\n";
-}
-my %checkh = map { $_,1 } qw( bytecode byterun intrpvar perlapi perlio perliol 
-                           perlvars proto regcomp thrdvar thread );
-my $ckfunc = 0;
-LINE: while (<CPP>) {
-  while (/^#.*vmsish\.h/i .. /^#.*perl\.h/i) {
-    while (/__VMS_PROTOTYPES__/i .. /__VMS_SEPYTOTORP__/i) {
-      print "vms_proto>> $_" if $debug > 2;
-      if (/^\s*EXT(CONST|\s+)/) { &scan_var($_);  }
-      else        { &scan_func($_); }
-      last LINE unless defined($_ = <CPP>);
-    }
-    print "vmsish.h>> $_" if $debug > 2;
-    if (/^\s*EXT(CONST|\s+)/) { &scan_var($_); }
-    last LINE unless defined($_ = <CPP>);
-  }    
-  while (/^#.*opcode\.h/i .. /^#.*perl\.h/i) {
-    print "opcode.h>> $_" if $debug > 2;
-    if (/^OP \*\s/) { &scan_func($_); }
-    if (/^\s*EXT(CONST|\s+)/) { &scan_var($_); }
-    last LINE unless defined($_ = <CPP>);
-  }
-  # Check for transition to new header file
-  my $scanname;
-  if (/^# \d+ "(\S+)"/) {
-    my $spec = $1;
-    # Pull name from library module or header filespec
-    $spec =~ /^(\w+)$/ or $spec =~ /(\w+)\.h/i;
-    my $name = lc $1;
-    $ckfunc = exists $checkh{$name} ? 1 : 0;
-    $scanname = $name if $ckfunc;
-    print "Header file transition: ckfunc = $ckfunc for $name.h\n" if $debug > 1;
-  }
-  if ($ckfunc) {
-    print "$scanname>> $_" if $debug > 2;
-    if (/^\s*EXT(CONST|\s+)/) { &scan_var($_);  }
-    else           { &scan_func($_); }
-  }
   else {
-    print $_ if $debug > 3 && ($debug > 5 || length($_));
-    if (/^\s*EXT(CONST|\s+)/) { &scan_var($_); }
+    $fcns{$line}++;
   }
 }
-close CPP;
 
-while (<DATA>) {
-  next if /^#/;
-  s/\s+#.*\n//;
-  next if /^\s*$/;
-  my ($key,$array) = split('=',$_);
-  if ($array eq 'vars') { $key = "PL_$key";   }
-  else                  { $key = "Perl_$key"; }
-  print "Adding $key to \%$array list\n" if $debug > 1;
-  ${$array}{$key}++;
-}
 if ($debugging_enabled and $isgcc) { $vars{'colors'}++ }
 foreach (split /\s+/, $extnames) {
   my($pkgname) = $_;
@@ -279,25 +149,6 @@
   print "Adding boot_$pkgname to \%fcns (for extension $_)\n" if $debug;
 }
 
-# For symbols over 31 characters, export the shortened name.
-# TODO: Make this general purpose so we can predict the shortened name the
-# compiler will generate for any symbol over 31 characters in length.  The
-# docs to CC/NAMES=SHORTENED describe the CRC used to shorten the name, but
-# don't describe its use fully enough to actually mimic what the compiler
-# does.
-
-if ($shorten_symbols) {
-  if (exists $fcns{'Perl_ck_entersub_args_proto_or_list'}) {
-    delete $fcns{'Perl_ck_entersub_args_proto_or_list'};
-    if ($care_about_case) {
-      $fcns{'Perl_ck_entersub_args_p11c2bjj$'}++;
-    }
-    else {
-      $fcns{'PERL_CK_ENTERSUB_ARGS_P3IAT616$'}++;
-    }
-  }
-}
-
 # Eventually, we'll check against existing copies here, so we can add new
 # symbols to an existing options file in an upwardly-compatible manner.
 
@@ -319,10 +170,11 @@
     print OPTBLD "PSECT_ATTR=\$GLOBAL_RO_VARS,PIC,NOEXE,RD,NOWRT,SHR\n";
     print OPTBLD "PSECT_ATTR=\$GLOBAL_RW_VARS,PIC,NOEXE,RD,WRT,NOSHR\n";
   }
+  print OPTBLD "PSECT_ATTR=LIB\$INITIALIZE,GBL,NOEXE,NOWRT,NOSHR,LONG\n";
 }
 print OPTBLD "case_sensitive=yes\n" if $care_about_case;
 my $count = 0;
-foreach my $var (sort (keys %vars,keys %cvars)) {
+foreach my $var (sort (keys %vars)) {
   if ($isvax) { print OPTBLD "UNIVERSAL=$var\n"; }
   else { print OPTBLD "SYMBOL_VECTOR=($var=DATA)\n"; }
   # This hack brought to you by the lack of a globaldef in gcc.
@@ -358,9 +210,11 @@
 open(OPTATTR, '>', "${dir}perlshr_attr.opt")
   or die "$0: Can't write to ${dir}perlshr_attr.opt: $!\n";
 if ($isgcc) {
-  foreach my $var (sort keys %cvars) {
-    print OPTATTR "PSECT_ATTR=${var},PIC,OVR,RD,NOEXE,NOWRT,SHR\n";
-  }
+# TODO -- lost ability to distinguish constant vars from others when
+# we switched to using makedef.pl for input.
+#  foreach my $var (sort keys %cvars) {
+#    print OPTATTR "PSECT_ATTR=${var},PIC,OVR,RD,NOEXE,NOWRT,SHR\n";
+#  }
   foreach my $var (sort keys %vars) {
     print OPTATTR "PSECT_ATTR=${var},PIC,OVR,RD,NOEXE,WRT,NOSHR\n";
   }
@@ -402,19 +256,19 @@
 # given version of Perl.
 if ($ENV{PERLSHR_USE_GSMATCH}) {
   if ($ENV{PERLSHR_USE_GSMATCH} eq 'INCLUDE_COMPILE_OPTIONS') {
-    # Build up a major ID. Since it can only be 8 bits, we encode the version
-    # number in the top four bits and use the bottom four for build options
-    # that'll cause incompatibilities
-    my ($ver, $sub) = $] =~ /\.(\d\d\d)(\d\d)/;
+    # Build up a major ID. Since on Alpha it can only be 8 bits, we encode
+    # the version number in the top 5 bits and use the bottom 3 for build
+    # options most likely to cause incompatibilities.  Breaks at Perl 5.32.
+    my ($ver, $sub) = $] =~ /\.(\d\d\d)(\d\d\d)/;
     $ver += 0; $sub += 0;
-    my $gsmatch = ($sub >= 50) ? "equal" : "lequal"; # Force an equal match for
+    my $gsmatch = ($ver % 2 == 1) ? "EQUAL" : "LEQUAL"; # Force an equal match for
 						  # dev, but be more forgiving
 						  # for releases
 
-    $ver *=16;
-    $ver += 8 if $debugging_enabled;	# If DEBUGGING is set
-    $ver += 4 if $use_threads;		# if we're threaded
-    $ver += 2 if $use_mymalloc;		# if we're using perl's malloc
+    $ver <<= 3;
+    $ver += 1 if $debugging_enabled;	# If DEBUGGING is set
+    $ver += 2 if $use_threads;		# if we're threaded
+    $ver += 4 if $use_mymalloc;		# if we're using perl's malloc
     print OPTBLD "GSMATCH=$gsmatch,$ver,$sub\n";
   }
   else {
@@ -423,7 +277,7 @@
     print OPTBLD "GSMATCH=LEQUAL,$major,$minor\n";
   }
   print OPTBLD 'CLUSTER=$$TRANSFER_VECTOR,,',
-               map(",$_$objsuffix", at symfiles), "\n";
+               map(",$_$objsuffix", at symfiles), "\n" if $isvax;
 }
 elsif (@symfiles) { $incstr .= ',' . join(',', at symfiles); }
 # Include object modules and RTLs in options file
@@ -438,8 +292,111 @@
 exec "\$ \@$drvrname" if $isvax;
 
 
+# Symbol shortening Copyright (c) 2012 Craig A. Berry
+#
+# Released under the same terms as Perl itself.
+#
+# This code provides shortening of long symbols (> 31 characters) using the
+# same mechanism as the OpenVMS C compiler.  The basic procedure is to compute
+# an AUTODIN II checksum of the entire symbol, encode the checksum in base32,
+# and glue together a shortened symbol from the first 23 characters of the
+# original symbol plus the encoded checksum appended.  The output format is
+# the same used in the name mangler database, stored by default in
+# [.CXX_REPOSITORY]CXX$DEMANGLER_DB.
+
+sub crc32 {
+    use constant autodin_ii_table => [
+        0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
+        0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
+        0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
+        0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
+        0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
+        0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
+        0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
+        0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
+        0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
+        0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
+        0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,
+        0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
+        0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,
+        0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
+        0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
+        0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
+        0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,
+        0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
+        0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,
+        0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
+        0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
+        0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
+        0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,
+        0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
+        0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
+        0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
+        0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
+        0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
+        0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,
+        0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
+        0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,
+        0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
+        0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
+        0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
+        0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
+        0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
+        0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,
+        0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
+        0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
+        0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
+        0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,
+        0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
+        0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d,
+    ];
+
+    my $input_string = shift;
+    my $crc = 0xFFFFFFFF;
+
+    for my $byte (unpack 'C*', $input_string) {
+        $crc = ($crc >> 8) ^ autodin_ii_table->[($crc ^ $byte) & 0xff];
+    }
+    return ~$crc;
+}
+
+sub base32 {
+    my $input = shift;
+    my $output = '';
+    use constant base32hex_table => [
+        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+        'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
+        'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
+        'u', 'v'
+    ];
+
+    # Grab lowest 5 bits and look up conversion in table.  Lather, rinse,
+    # repeat for a total of 7, 5-bit chunks to accommodate 32 bits of input.
+
+    for (0..6) {
+        $output  = base32hex_table->[$input & 0x1f] . $output;
+        $input >>= 5;     # position to look at next 5
+    }
+    $output .= '$';       #  It's DEC, so use '$' not '=' to pad.
+
+    return $output;
+}
+
+sub shorten_symbol {
+    my $input_symbol = shift;
+    my $as_is_flag = shift;
+    my $symbol = $input_symbol;
+
+    return $symbol unless length($input_symbol) > 31;
+
+    $symbol = uc($symbol) unless $as_is_flag;
+    my $crc = crc32($symbol);
+    $crc = ~$crc;  # Compiler uses non-inverted form.
+    my $b32 = base32($crc);
+    $b32 = uc($b32) unless $as_is_flag;
+
+    return substr($symbol, 0, 23) . $b32;
+}
+
 __END__
 
-# Oddball cases, so we can keep the perl.h scan above simple
-#Foo=vars    # uncommented becomes PL_Foo
-#Bar=funcs   # uncommented becomes Perl_Bar


Property changes on: vendor/perl/dist/vms/gen_shrfls.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/genopt.com
===================================================================
--- vendor/perl/dist/vms/genopt.com	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/genopt.com	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/genopt.com
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/make_command.com
===================================================================
--- vendor/perl/dist/vms/make_command.com	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/make_command.com	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/make_command.com
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/mms2make.pl
===================================================================
--- vendor/perl/dist/vms/mms2make.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/mms2make.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/mms2make.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/munchconfig.c
===================================================================
--- vendor/perl/dist/vms/munchconfig.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/munchconfig.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/munchconfig.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/myconfig.com
===================================================================
--- vendor/perl/dist/vms/myconfig.com	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/myconfig.com	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/myconfig.com
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/sockadapt.c
===================================================================
--- vendor/perl/dist/vms/sockadapt.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/sockadapt.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/sockadapt.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/sockadapt.h
===================================================================
--- vendor/perl/dist/vms/sockadapt.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/sockadapt.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/sockadapt.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/test.com
===================================================================
--- vendor/perl/dist/vms/test.com	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/test.com	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/test.com
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/vms/vms.c
===================================================================
--- vendor/perl/dist/vms/vms.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/vms.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,13 +2,10 @@
  *
  *    VMS-specific routines for perl5
  *
- *    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- *    2002, 2003, 2004, 2005, 2006, 2007 by Charles Bailey and others.
+ *    Copyright (C) 1993-2013 by Charles Bailey 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.
- *
- *    Please see Changes*.* or the Perl Repository Browser for revision history.
  */
 
 /*
@@ -26,7 +23,11 @@
 #include <acedef.h>
 #include <acldef.h>
 #include <armdef.h>
+#if __CRTL_VER < 70300000
+/* needed for home-rolled utime() */
 #include <atrdef.h>
+#include <fibdef.h>
+#endif
 #include <chpdef.h>
 #include <clidef.h>
 #include <climsgdef.h>
@@ -34,7 +35,6 @@
 #include <descrip.h>
 #include <devdef.h>
 #include <dvidef.h>
-#include <fibdef.h>
 #include <float.h>
 #include <fscndef.h>
 #include <iodef.h>
@@ -44,7 +44,6 @@
 #include <libdef.h>
 #include <lib$routines.h>
 #include <lnmdef.h>
-#include <msgdef.h>
 #include <ossdef.h>
 #if __CRTL_VER >= 70301000 && !defined(__VAX)
 #include <ppropdef.h>
@@ -61,13 +60,8 @@
 #include <uaidef.h>
 #include <uicdef.h>
 #include <stsdef.h>
-#include <rmsdef.h>
-#if __CRTL_VER >= 70000000 /* FIXME to earliest version */
 #include <efndef.h>
 #define NO_EFN EFN$C_ENF
-#else
-#define NO_EFN 0;
-#endif
 
 #if  __CRTL_VER < 70301000 && __CRTL_VER >= 70300000
 int   decc$feature_get_index(const char *name);
@@ -88,29 +82,6 @@
 };
 #pragma member_alignment restore
 
-#if __CRTL_VER >= 70300000 && !defined(__VAX)
-
-static int set_feature_default(const char *name, int value)
-{
-    int status;
-    int index;
-
-    index = decc$feature_get_index(name);
-
-    status = decc$feature_set_value(index, 1, value);
-    if (index == -1 || (status == -1)) {
-      return -1;
-    }
-
-    status = decc$feature_get_value(index, 1);
-    if (status != value) {
-      return -1;
-    }
-
-return 0;
-}
-#endif
-
 /* Older versions of ssdef.h don't have these */
 #ifndef SS$_INVFILFOROP
 #  define SS$_INVFILFOROP 3930
@@ -137,10 +108,6 @@
 #include <libfildef.h>
 #endif
 
-#if defined(__VMS_VER) && __VMS_VER >= 70000000 && __DECC_VER >= 50200000
-#  define RTL_USES_UTC 1
-#endif
-
 #if !defined(__VAX) && __CRTL_VER >= 80200000
 #ifdef lstat
 #undef lstat
@@ -181,8 +148,7 @@
 dEXT int h_errno;
 #endif
 
-#ifdef __DECC
-#pragma message disable pragma
+#if defined(__DECC) || defined(__DECCXX)
 #pragma member_alignment save
 #pragma nomember_alignment longword
 #pragma message save
@@ -203,10 +169,11 @@
 
 struct vs_str_st {
     unsigned short length;
-    char str[65536];
+    char str[VMS_MAXRSS];
+    unsigned short pad; /* for longword struct alignment */
 };
 
-#ifdef __DECC
+#if defined(__DECC) || defined(__DECCXX)
 #pragma message restore
 #pragma member_alignment restore
 #endif
@@ -276,10 +243,6 @@
 /* munching */ 
 static int no_translate_barewords;
 
-#ifndef RTL_USES_UTC
-static int tz_updated = 1;
-#endif
-
 /* DECC Features that may need to affect how Perl interprets
  * displays filename information
  */
@@ -301,7 +264,6 @@
 
 /* bug workarounds if needed */
 int decc_bug_devnull = 1;
-int decc_dir_barename = 0;
 int vms_bug_stat_filename = 0;
 
 static int vms_debug_on_exception = 0;
@@ -473,8 +435,8 @@
 	/* High bit set, but not a Unicode character! */
 
 	/* Non printing DECMCS or ISO Latin-1 character? */
-	if (*inspec <= 0x9F) {
-	int hex;
+	if ((unsigned char)*inspec <= 0x9F) {
+	    int hex;
 	    outspec[0] = '^';
 	    outspec++;
 	    hex = (*inspec >> 4) & 0xF;
@@ -491,13 +453,13 @@
 	    }
 	    *output_cnt = 3;
 	    return 1;
-	} else if (*inspec == 0xA0) {
+	} else if ((unsigned char)*inspec == 0xA0) {
 	    outspec[0] = '^';
 	    outspec[1] = 'A';
 	    outspec[2] = '0';
 	    *output_cnt = 3;
 	    return 1;
-	} else if (*inspec == 0xFF) {
+	} else if ((unsigned char)*inspec == 0xFF) {
 	    outspec[0] = '^';
 	    outspec[1] = 'F';
 	    outspec[2] = 'F';
@@ -603,6 +565,7 @@
 	return 1;
 	break;
     }
+    return 0;
 }
 
 
@@ -1082,7 +1045,7 @@
     if (aTHX != NULL)
 #endif
 #ifdef SECURE_INTERNAL_GETENV
-        flags = (PL_curinterp ? PL_tainting : will_taint) ?
+        flags = (PL_curinterp ? TAINTING_get : will_taint) ?
                  PERL__TRNENV_SECURE : 0;
 #endif
 
@@ -1155,7 +1118,7 @@
       /* Impose security constraints only if tainting */
       if (sys) {
         /* Impose security constraints only if tainting */
-        secure = PL_curinterp ? PL_tainting : will_taint;
+        secure = PL_curinterp ? TAINTING_get : will_taint;
         saverr = errno;  savvmserr = vaxc$errno;
       }
       else {
@@ -1180,8 +1143,7 @@
        * off and make sure we only retrieve the equivalence name for 
        * that index.  */
       if ((cp2 = strchr(lnm,';')) != NULL) {
-        strcpy(uplnm,lnm);
-        uplnm[cp2-lnm] = '\0';
+        my_strlcpy(uplnm, lnm, cp2 - lnm + 1);
         idx = strtoul(cp2+1,NULL,0);
         lnm = uplnm;
         flags &= ~PERL__TRNENV_JOIN_SEARCHLIST;
@@ -1255,7 +1217,7 @@
     else {
       if (sys) {
         /* Impose security constraints only if tainting */
-        secure = PL_curinterp ? PL_tainting : will_taint;
+        secure = PL_curinterp ? TAINTING_get : will_taint;
         saverr = errno;  savvmserr = vaxc$errno;
       }
       else {
@@ -1273,8 +1235,7 @@
       flags |= PERL__TRNENV_JOIN_SEARCHLIST;
 
       if ((cp2 = strchr(lnm,';')) != NULL) {
-        strcpy(buf,lnm);
-        buf[cp2-lnm] = '\0';
+        my_strlcpy(buf, lnm, cp2 - lnm + 1);
         idx = strtoul(cp2+1,NULL,0);
         lnm = buf;
         flags &= ~PERL__TRNENV_JOIN_SEARCHLIST;
@@ -1399,19 +1360,18 @@
     }
     else if ((tmpdsc.dsc$a_pointer = env_tables[i]->dsc$a_pointer) &&
              !str$case_blind_compare(&tmpdsc,&clisym)) {
-      strcpy(cmd,"Show Symbol/Global *");
+      my_strlcpy(cmd, "Show Symbol/Global *", sizeof(cmd));
       cmddsc.dsc$w_length = 20;
       if (env_tables[i]->dsc$w_length == 12 &&
           (tmpdsc.dsc$a_pointer = env_tables[i]->dsc$a_pointer + 6) &&
-          !str$case_blind_compare(&tmpdsc,&local)) strcpy(cmd+12,"Local  *");
+          !str$case_blind_compare(&tmpdsc,&local)) my_strlcpy(cmd+12, "Local  *", sizeof(cmd)-12);
       flags = defflags | CLI$M_NOLOGNAM;
     }
     else {
-      strcpy(cmd,"Show Logical *");
+      my_strlcpy(cmd, "Show Logical *", sizeof(cmd));
       if (str$case_blind_compare(env_tables[i],&fildevdsc)) {
-        strcat(cmd," /Table=");
-        strncat(cmd,env_tables[i]->dsc$a_pointer,env_tables[i]->dsc$w_length);
-        cmddsc.dsc$w_length = strlen(cmd);
+        my_strlcat(cmd," /Table=", sizeof(cmd));
+        cmddsc.dsc$w_length = my_strlcat(cmd, env_tables[i]->dsc$a_pointer, env_tables[i]->dsc$w_length + 1);
       }
       else cmddsc.dsc$w_length = 14;  /* N.B. We test this below */
       flags = defflags | CLI$M_NOCLISYM;
@@ -1434,7 +1394,7 @@
     while (1) {
       char *cp1, *cp2, *key;
       unsigned long int sts, iosb[2], retlen, keylen;
-      register U32 hash;
+      U32 hash;
 
       sts = sys$qiow(0,chan,IO$_READVBLK,iosb,0,0,buf,mbxbufsiz,0,0,0,0);
       if (sts & 1) sts = iosb[0] & 0xffff;
@@ -1720,16 +1680,6 @@
           return;
         }
     } 
-#ifndef RTL_USES_UTC
-    if (len == 6 || len == 2) {
-      char uplnm[7];
-      int i;
-      for (i = 0; lnm[i]; i++) uplnm[i] = _toupper(lnm[i]);
-      uplnm[len] = '\0';
-      if (!strcmp(uplnm,"UCX$TZ")) tz_updated = 1;
-      if (!strcmp(uplnm,"TZ")) tz_updated = 1;
-    }
-#endif
   }
   (void) vmssetenv(lnm,eqv,NULL);
 }
@@ -1739,14 +1689,9 @@
 /*  vmssetuserlnm
  *  sets a user-mode logical in the process logical name table
  *  used for redirection of sys$error
- *
- *  Fix-me: The pTHX is not needed for this routine, however doio.c
- *          is calling it with one instead of using a macro.
- *          A macro needs to be added to vmsish.h and doio.c updated to use it.
- *
  */
 void
-Perl_vmssetuserlnm(pTHX_ const char *name, const char *eqv)
+Perl_vmssetuserlnm(const char *name, const char *eqv)
 {
     $DESCRIPTOR(d_tab, "LNM$PROCESS");
     struct dsc$descriptor_d d_name = {0,DSC$K_DTYPE_T,DSC$K_CLASS_D,0};
@@ -1869,7 +1814,8 @@
     char *vmsname;
     char *rslt;
     unsigned long int jpicode = JPI$_UIC, type = ACL$C_FILE;
-    unsigned long int cxt = 0, aclsts, fndsts, rmsts = -1;
+    unsigned long int cxt = 0, aclsts, fndsts;
+    int rmsts = -1;
     struct dsc$descriptor_s fildsc = {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0};
     struct myacedef {
       unsigned char myace$b_length;
@@ -1891,7 +1837,7 @@
     /* Expand the input spec using RMS, since the CRTL remove() and
      * system services won't do this by themselves, so we may miss
      * a file "hiding" behind a logical name or search list. */
-    vmsname = PerlMem_malloc(NAM$C_MAXRSS+1);
+    vmsname = (char *)PerlMem_malloc(NAM$C_MAXRSS+1);
     if (vmsname == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
     rslt = int_rmsexpand_tovms(name, vmsname, PERL_RMSEXPAND_M_SYMLINK);
@@ -2153,16 +2099,18 @@
 Perl_my_chdir(pTHX_ const char *dir)
 {
   STRLEN dirlen = strlen(dir);
+  const char *dir1 = dir;
 
   /* zero length string sometimes gives ACCVIO */
-  if (dirlen == 0) return -1;
-  const char *dir1;
+  if (dirlen == 0) {
+    SETERRNO(EINVAL, SS$_BADPARAM);
+    return -1;
+  }
 
   /* Perl is passing the output of the DCL SHOW DEFAULT with leading spaces.
    * This does not work if DECC$EFS_CHARSET is active.  Hack it here
    * so that existing scripts do not need to be changed.
    */
-  dir1 = dir;
   while ((dirlen > 0) && (*dir1 == ' ')) {
     dir1++;
     dirlen--;
@@ -2178,10 +2126,10 @@
   if ((dirlen > 1) && (dir1[dirlen-1] == '/')) {
       char *newdir;
       int ret;
-      newdir = PerlMem_malloc(dirlen);
+      newdir = (char *)PerlMem_malloc(dirlen);
       if (newdir ==NULL)
           _ckvmssts_noperl(SS$_INSFMEM);
-      strncpy(newdir, dir1, dirlen-1);
+      memcpy(newdir, dir1, dirlen-1);
       newdir[dirlen-1] = '\0';
       ret = chdir(newdir);
       PerlMem_free(newdir);
@@ -2244,7 +2192,7 @@
 
   if ((fp = tmpfile())) return fp;
 
-  cp = PerlMem_malloc(L_tmpnam+24);
+  cp = (char *)PerlMem_malloc(L_tmpnam+24);
   if (cp == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
   if (decc_filename_unix_only == 0)
@@ -2260,7 +2208,6 @@
 /*}}}*/
 
 
-#ifndef HOMEGROWN_POSIX_SIGNALS
 /*
  * The C RTL's sigaction fails to check for invalid signal numbers so we 
  * help it out a bit.  The docs are correct, but the actual routine doesn't
@@ -2278,7 +2225,6 @@
   return sigaction(sig, act, oact);
 }
 /*}}}*/
-#endif
 
 #ifdef KILL_BY_SIGPRC
 #include <errnodef.h>
@@ -2357,20 +2303,16 @@
         0                   /* 28 SIGWINCH  */
     };
 
-#if __VMS_VER >= 60200000
     static int initted = 0;
     if (!initted) {
         initted = 1;
         sig_code[16] = C$_SIGUSR1;
         sig_code[17] = C$_SIGUSR2;
-#if __CRTL_VER >= 70000000
         sig_code[20] = C$_SIGCHLD;
-#endif
 #if __CRTL_VER >= 70300000
         sig_code[28] = C$_SIGWINCH;
 #endif
     }
-#endif
 
     if (sig < _SIG_MIN) return 0;
     if (sig > _MY_SIG_MAX) return 0;
@@ -2388,15 +2330,22 @@
 }
 
 
+#define sys$sigprc SYS$SIGPRC
+#ifdef __cplusplus
+extern "C" {
+#endif
+int sys$sigprc(unsigned int *pidadr,
+               struct dsc$descriptor_s *prcname,
+               unsigned int code);
+#ifdef __cplusplus
+}
+#endif
+
 int
 Perl_my_kill(int pid, int sig)
 {
     int iss;
     unsigned int code;
-#define sys$sigprc SYS$SIGPRC
-    int sys$sigprc(unsigned int *pidadr,
-                     struct dsc$descriptor_s *prcname,
-                     unsigned int code);
 
      /* sig 0 means validate the PID */
     /*------------------------------*/
@@ -2923,7 +2872,7 @@
 struct exit_control_block
 {
     struct exit_control_block *flink;
-    unsigned long int	(*exit_routine)();
+    unsigned long int (*exit_routine)(void);
     unsigned long int arg_count;
     unsigned long int *status_address;
     unsigned long int exit_status;
@@ -2956,7 +2905,7 @@
 
 
 static unsigned long int
-pipe_exit_routine()
+pipe_exit_routine(void)
 {
     pInfo info;
     unsigned long int retsts = SS$_NORMAL, abort = SS$_TIMEOUT;
@@ -3633,7 +3582,7 @@
 
 /*  get the directory from $^X */
 
-    unixdir = PerlMem_malloc(VMS_MAXRSS);
+    unixdir = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (unixdir == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
 #ifdef PERL_IMPLICIT_CONTEXT
@@ -3641,7 +3590,7 @@
 #else
     if (PL_origargv && PL_origargv[0]) {    /* maybe nul if embedded Perl */
 #endif
-        strcpy(temp, PL_origargv[0]);
+        my_strlcpy(temp, PL_origargv[0], sizeof(temp));
         x = strrchr(temp,']');
 	if (x == NULL) {
 	x = strrchr(temp,'>');
@@ -3663,8 +3612,7 @@
 	    if (p == NULL) _ckvmssts_noperl(SS$_INSFMEM);
             p->next = head_PLOC;
             head_PLOC = p;
-            strncpy(p->dir,unixdir,sizeof(p->dir)-1);
-            p->dir[NAM$C_MAXRSS] = '\0';
+            my_strlcpy(p->dir, unixdir, sizeof(p->dir));
 	}
     }
 
@@ -3687,8 +3635,7 @@
         p = (pPLOC) PerlMem_malloc(sizeof(PLOC));
         p->next = head_PLOC;
         head_PLOC = p;
-        strncpy(p->dir,unixdir,sizeof(p->dir)-1);
-        p->dir[NAM$C_MAXRSS] = '\0';
+        my_strlcpy(p->dir, unixdir, sizeof(p->dir));
     }
 
 /* most likely spot (ARCHLIB) put first in the list */
@@ -3699,8 +3646,7 @@
 	if (p == NULL) _ckvmssts_noperl(SS$_INSFMEM);
         p->next = head_PLOC;
         head_PLOC = p;
-        strncpy(p->dir,unixdir,sizeof(p->dir)-1);
-        p->dir[NAM$C_MAXRSS] = '\0';
+        my_strlcpy(p->dir, unixdir, sizeof(p->dir));
     }
 #endif
     PerlMem_free(unixdir);
@@ -3741,10 +3687,8 @@
         while (p) {
 	    char * exp_res;
 	    int dirlen;
-            strcpy(file, p->dir);
-	    dirlen = strlen(file);
-            strncat(file, "vmspipe.com",NAM$C_MAXRSS - dirlen);
-            file[NAM$C_MAXRSS] = '\0';
+	    dirlen = my_strlcpy(file, p->dir, sizeof(file));
+            my_strlcat(file, "vmspipe.com", sizeof(file));
             p = p->next;
 
             exp_res = int_rmsexpand_tovms(file, vmspipe_file, 0);
@@ -4200,7 +4144,7 @@
     tfilebuf[0] = '@';
     vmspipe = find_vmspipe(aTHX);
     if (vmspipe) {
-        strcpy(tfilebuf+1,vmspipe);
+        vmspipedsc.dsc$w_length = my_strlcpy(tfilebuf+1, vmspipe, sizeof(tfilebuf)-1) + 1;
     } else {        /* uh, oh...we're in tempfile hell */
         tpipe = vmspipe_tempfile(aTHX);
         if (!tpipe) {       /* a fish popular in Boston */
@@ -4210,9 +4154,9 @@
         return NULL;
         }
         fgetname(tpipe,tfilebuf+1,1);
+        vmspipedsc.dsc$w_length  = strlen(tfilebuf);
     }
     vmspipedsc.dsc$a_pointer = tfilebuf;
-    vmspipedsc.dsc$w_length  = strlen(tfilebuf);
 
     sts = setup_cmddsc(aTHX_ cmd,0,0,&vmscmd);
     if (!(sts & 1)) { 
@@ -4244,7 +4188,7 @@
     n = sizeof(Info);
     _ckvmssts_noperl(lib$get_vm(&n, &info));
         
-    strcpy(mode,in_mode);
+    my_strlcpy(mode, in_mode, sizeof(mode));
     info->mode = *mode;
     info->done = FALSE;
     info->completion = 0;
@@ -4261,11 +4205,11 @@
     info->xchan      = 0;
     info->xchan_valid = 0;
 
-    in = PerlMem_malloc(VMS_MAXRSS);
+    in = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (in == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-    out = PerlMem_malloc(VMS_MAXRSS);
+    out = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (out == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-    err = PerlMem_malloc(VMS_MAXRSS);
+    err = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (err == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
     in[0] = out[0] = err[0] = '\0';
@@ -4291,7 +4235,7 @@
 	    info->fp  = PerlIO_open(mbx, mode);
         } else {
             info->fp = (PerlIO *) freopen(mbx, mode, stdin);
-            Perl_vmssetuserlnm(aTHX_ "SYS$INPUT",mbx);
+            vmssetuserlnm("SYS$INPUT", mbx);
         }
 
         if (!info->fp && info->out) {
@@ -4346,7 +4290,7 @@
 	    info->fp  = PerlIO_open(mbx, mode);
         } else {
             info->fp = (PerlIO *) freopen(mbx, mode, stdout);
-            Perl_vmssetuserlnm(aTHX_ "SYS$OUTPUT",mbx);
+            vmssetuserlnm("SYS$OUTPUT", mbx);
         }
 
         if (info->in) {
@@ -4399,18 +4343,13 @@
         }
     }
 
-    symbol[MAX_DCL_SYMBOL] = '\0';
-
-    strncpy(symbol, in, MAX_DCL_SYMBOL);
-    d_symbol.dsc$w_length = strlen(symbol);
+    d_symbol.dsc$w_length = my_strlcpy(symbol, in, sizeof(symbol));
     _ckvmssts_noperl(lib$set_symbol(&d_sym_in, &d_symbol, &table));
 
-    strncpy(symbol, err, MAX_DCL_SYMBOL);
-    d_symbol.dsc$w_length = strlen(symbol);
+    d_symbol.dsc$w_length = my_strlcpy(symbol, err, sizeof(symbol));
     _ckvmssts_noperl(lib$set_symbol(&d_sym_err, &d_symbol, &table));
 
-    strncpy(symbol, out, MAX_DCL_SYMBOL);
-    d_symbol.dsc$w_length = strlen(symbol);
+    d_symbol.dsc$w_length = my_strlcpy(symbol, out, sizeof(symbol));
     _ckvmssts_noperl(lib$set_symbol(&d_sym_out, &d_symbol, &table));
 
     /* Done with the names for the pipes */
@@ -4427,8 +4366,7 @@
         sprintf(cmd_sym_name,"PERL_POPEN_CMD%d",j);
         d_sym_cmd.dsc$w_length = strlen(cmd_sym_name);
 
-    strncpy(symbol, p, MAX_DCL_SYMBOL);
-    d_symbol.dsc$w_length = strlen(symbol);
+    d_symbol.dsc$w_length = my_strlcpy(symbol, p, sizeof(symbol));
     _ckvmssts_noperl(lib$set_symbol(&d_sym_cmd, &d_symbol, &table));
 
         if (strlen(p) > MAX_DCL_SYMBOL) {
@@ -4662,8 +4600,16 @@
   /* Roll our own prototype because we want this regardless of whether
    * _VMS_WAIT is defined.
    */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
   __pid_t __vms_waitpid( __pid_t __pid, int *__stat_loc, int __options );
+#ifdef __cplusplus
+}
 #endif
+
+#endif
 /* sort-of waitpid; special handling of pipe clean-up for subprocesses 
    created with popen(); otherwise partially emulate waitpid() unless 
    we have a suitable one from the CRTL that came with VMS 7.2 and later.
@@ -4804,13 +4750,6 @@
 
   loc = buf ? buf : __gcvtbuf;
 
-#ifndef __DECC  /* VAXCRTL gcvt uses E format for numbers < 1 */
-  if (val < 1) {
-    sprintf(loc,"%.*g",ndig,val);
-    return loc;
-  }
-#endif
-
   if (val) {
     if (!buf && ndig > DBL_DIG) ndig = DBL_DIG;
     return gcvt(val,ndig,loc);
@@ -4998,7 +4937,7 @@
 
     /* Expand the input spec using RMS, since we do not want to put
      * ACLs on the target of a symbolic link */
-    vmsname = PerlMem_malloc(NAM$C_MAXRSS+1);
+    vmsname = (char *)PerlMem_malloc(NAM$C_MAXRSS+1);
     if (vmsname == NULL)
 	return SS$_INSFMEM;
 
@@ -5241,7 +5180,7 @@
 	 * on if one or more of them are directories.
 	 */
 
-	vms_dst = PerlMem_malloc(VMS_MAXRSS);
+	vms_dst = (char *)PerlMem_malloc(VMS_MAXRSS);
 	if (vms_dst == NULL)
 	    _ckvmssts_noperl(SS$_INSFMEM);
 
@@ -5249,11 +5188,11 @@
 	char * ret_str;
 	char * vms_dir_file;
 
-	    vms_dir_file = PerlMem_malloc(VMS_MAXRSS);
+	    vms_dir_file = (char *)PerlMem_malloc(VMS_MAXRSS);
 	    if (vms_dir_file == NULL)
 		_ckvmssts_noperl(SS$_INSFMEM);
 
-	    /* If the dest is a directory, we must remove it
+	    /* If the dest is a directory, we must remove it */
 	    if (dst_sts == 0) {
 		int d_sts;
 		d_sts = mp_do_kill_file(aTHX_ dst_st.st_devnam, 1);
@@ -5260,7 +5199,7 @@
 		if (d_sts != 0) {
 		    PerlMem_free(vms_dst);
 		    errno = EIO;
-		    return sts;
+		    return d_sts;
 		}
 
 		pre_delete = 1;
@@ -5467,7 +5406,7 @@
           isunix = 1;
           char * ret_spec;
 
-          vmsfspec = PerlMem_malloc(VMS_MAXRSS);
+          vmsfspec = (char *)PerlMem_malloc(VMS_MAXRSS);
           if (vmsfspec == NULL) _ckvmssts_noperl(SS$_INSFMEM);
           ret_spec = int_tovmsspec(filespec, vmsfspec, 0, fs_utf8);
           if (ret_spec == NULL) {
@@ -5500,7 +5439,7 @@
     int t_isunix;
     t_isunix = is_unix_filespec(defspec);
     if (t_isunix) {
-      vmsdefspec = PerlMem_malloc(VMS_MAXRSS);
+      vmsdefspec = (char *)PerlMem_malloc(VMS_MAXRSS);
       if (vmsdefspec == NULL) _ckvmssts_noperl(SS$_INSFMEM);
       ret_spec = int_tovmsspec(defspec, vmsdefspec, 0, dfs_utf8);
 
@@ -5518,10 +5457,10 @@
   }
 
   /* Now we need the expansion buffers */
-  esa = PerlMem_malloc(NAM$C_MAXRSS + 1);
+  esa = (char *)PerlMem_malloc(NAM$C_MAXRSS + 1);
   if (esa == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 #if !defined(__VAX) && defined(NAML$C_MAXRSS)
-  esal = PerlMem_malloc(VMS_MAXRSS);
+  esal = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (esal == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 #endif
   rms_set_esal(mynam, esa, NAM$C_MAXRSS, esal, VMS_MAXRSS-1);
@@ -5530,7 +5469,7 @@
    * addresses unless you suppress the short name.
    */
 #if !defined(__VAX) && defined(NAML$C_MAXRSS)
-  outbufl = PerlMem_malloc(VMS_MAXRSS);
+  outbufl = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (outbufl == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 #endif
    rms_set_rsal(mynam, outbuf, NAM$C_MAXRSS, outbufl, (VMS_MAXRSS - 1));
@@ -5652,11 +5591,11 @@
     if (defspec && *defspec) {
       char *defesal = NULL;
       char *defesa = NULL;
-      defesa = PerlMem_malloc(VMS_MAXRSS + 1);
+      defesa = (char *)PerlMem_malloc(VMS_MAXRSS + 1);
       if (defesa != NULL) {
         struct FAB deffab = cc$rms_fab;
 #if !defined(__VAX) && defined(NAML$C_MAXRSS)
-        defesal = PerlMem_malloc(VMS_MAXRSS + 1);
+        defesal = (char *)PerlMem_malloc(VMS_MAXRSS + 1);
         if (defesal == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 #endif
 	rms_setup_nam(defnam);
@@ -5786,7 +5725,7 @@
         /* VMS file specs are not in UTF-8 */
         if (fs_utf8 != NULL)
             *fs_utf8 = 0;
-        strcpy(outbuf, spec_buf);
+        my_strlcpy(outbuf, spec_buf, VMS_MAXRSS);
         ret_spec = outbuf;
       }
     }
@@ -5799,8 +5738,8 @@
            char * src;
            char * new_src = NULL;
            if (spec_buf == outbuf) {
-               new_src = PerlMem_malloc(VMS_MAXRSS);
-               strcpy(new_src, spec_buf);
+               new_src = (char *)PerlMem_malloc(VMS_MAXRSS);
+               my_strlcpy(new_src, spec_buf, VMS_MAXRSS);
            } else {
                src = spec_buf;
            }
@@ -5815,7 +5754,7 @@
 
            /* Copy the buffer if needed */
            if (outbuf != spec_buf)
-               strcpy(outbuf, spec_buf);
+               my_strlcpy(outbuf, spec_buf, VMS_MAXRSS);
            ret_spec = outbuf;
       }
     }
@@ -5949,8 +5888,6 @@
     char *cp1, *cp2, *lastdir;
     char *trndir, *vmsdir;
     unsigned short int trnlnm_iter_count;
-    int is_vms = 0;
-    int is_unix = 0;
     int sts;
     if (utf8_fl != NULL)
 	*utf8_fl = 0;
@@ -5972,7 +5909,7 @@
       set_errno(ENAMETOOLONG); set_vaxc_errno(RMS$_SYN);
       return NULL;
     }
-    trndir = PerlMem_malloc(VMS_MAXRSS + 1);
+    trndir = (char *)PerlMem_malloc(VMS_MAXRSS + 1);
     if (trndir == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     if (!strpbrk(dir+1,"/]>:")  &&
 	(!decc_posix_compliant_pathnames && decc_disable_posix_root)) {
@@ -5985,7 +5922,7 @@
       dirlen = strlen(trndir);
     }
     else {
-      strncpy(trndir,dir,dirlen);
+      memcpy(trndir, dir, dirlen);
       trndir[dirlen] = '\0';
     }
 
@@ -6028,35 +5965,11 @@
       }
     }
 
-    vmsdir = PerlMem_malloc(VMS_MAXRSS + 1);
+    vmsdir = (char *)PerlMem_malloc(VMS_MAXRSS + 1);
     if (vmsdir == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     cp1 = strpbrk(trndir,"]:>");
     if (hasfilename || !cp1) { /* filename present or not VMS */
 
-      if (decc_efs_charset && !cp1) {
-
-          /* EFS handling for UNIX mode */
-
-          /* Just remove the trailing '/' and we should be done */
-          STRLEN trndir_len;
-          trndir_len = strlen(trndir);
-
-          if (trndir_len > 1) {
-              trndir_len--;
-              if (trndir[trndir_len] == '/') {
-                  trndir[trndir_len] = '\0';
-              }
-          }
-          strcpy(buf, trndir);
-          PerlMem_free(trndir);
-          PerlMem_free(vmsdir);
-          return buf;
-      }
-
-      /* For non-EFS mode, this is left for backwards compatibility */
-      /* For EFS mode, this is only done for VMS format filespecs as */
-      /* Perl programs generally have problems when a UNIX format spec */
-      /* returns a VMS format spec */
       if (trndir[0] == '.') {
         if (trndir[1] == '\0' || (trndir[1] == '/' && trndir[2] == '\0')) {
 	  PerlMem_free(trndir);
@@ -6174,6 +6087,20 @@
                 /* The .dir for now, and fix this better later */
                 dirlen = cp2 - trndir;
             }
+            if (decc_efs_charset && !strchr(trndir,'/')) {
+                /* Dots are allowed in dir names, so escape them if input not in Unix syntax. */
+                char *cp4 = is_dir ? (cp2 - 1) : cp2;
+                  
+                for (; cp4 > cp1; cp4--) {
+                    if (*cp4 == '.') {
+                        if ((cp4 - 1 > trndir) && (*(cp4 - 1) != '^')) {
+                            memmove(cp4 + 1, cp4, trndir + dirlen - cp4 + 1);
+                            *cp4 = '^';
+                            dirlen++;
+	                }
+                    }
+                }
+            }
         }
 
       }
@@ -6184,52 +6111,10 @@
 
       /* We've picked up everything up to the directory file name.
          Now just add the type and version, and we're set. */
-
-      /* We should only add type for VMS syntax, but historically Perl
-         has added it for UNIX style also */
-
-      /* Fix me - we should not be using the same routine for VMS and
-         UNIX format files.  Things are too tangled so we need to lookup
-         what syntax the output is */
-
-      is_unix = 0;
-      is_vms = 0;
-      lastdir = strrchr(trndir,'/');
-      if (lastdir) {
-          is_unix = 1;
-      } else {
-          lastdir = strpbrk(trndir,"]:>");
-          if (lastdir) {
-              is_vms = 1;
-          }
-      }
-
-      if ((is_vms == 0) && (is_unix == 0)) {
-          /* We still do not  know? */
-          is_unix = decc_filename_unix_report;
-          if (is_unix == 0)
-              is_vms = 1;
-      }
-
-      if ((is_unix && !decc_efs_charset) || is_vms) {
-
-           /* It is a bug to add a .dir to a UNIX format directory spec */
-           /* However Perl on VMS may have programs that expect this so */
-           /* If not using EFS character specifications allow it. */
-
-           if ((!decc_efs_case_preserve) && vms_process_case_tolerant) {
-               /* Traditionally Perl expects filenames in lower case */
-               strcat(buf, ".dir");
-           } else {
-               /* VMS expects the .DIR to be in upper case */
-               strcat(buf, ".DIR");
-           }
-
-           /* It is also a bug to put a VMS format version on a UNIX file */
-           /* specification.  Perl self tests are looking for this */
-           if (is_vms || !(decc_efs_charset || decc_filename_unix_report))
-               strcat(buf, ";1");
-      }
+      if ((!decc_efs_case_preserve) && vms_process_case_tolerant)
+          strcat(buf,".dir;1");
+      else
+          strcat(buf,".DIR;1");
       PerlMem_free(trndir);
       PerlMem_free(vmsdir);
       return buf;
@@ -6244,11 +6129,11 @@
       rms_setup_nam(savnam);
       rms_setup_nam(dirnam);
 
-      esa = PerlMem_malloc(NAM$C_MAXRSS + 1);
+      esa = (char *)PerlMem_malloc(NAM$C_MAXRSS + 1);
       if (esa == NULL) _ckvmssts_noperl(SS$_INSFMEM);
       esal = NULL;
 #if !defined(__VAX) && defined(NAML$C_MAXRSS)
-      esal = PerlMem_malloc(VMS_MAXRSS);
+      esal = (char *)PerlMem_malloc(VMS_MAXRSS);
       if (esal == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 #endif
       rms_set_fna(dirfab, dirnam, trndir, strlen(trndir));
@@ -6344,7 +6229,7 @@
 
       if (rms_is_nam_fnb(dirnam, NAM$M_EXP_NAME)) {
         /* They provided at least the name; we added the type, if necessary, */
-        strcpy(buf, my_esa);
+        my_strlcpy(buf, my_esa, VMS_MAXRSS);
 	sts = rms_free_search_context(&dirfab);
 	PerlMem_free(trndir);
 	PerlMem_free(esa);
@@ -6389,7 +6274,7 @@
       if ((cp1) != NULL) {
         /* There's more than one directory in the path.  Just roll back. */
         *cp1 = term;
-        strcpy(buf, my_esa);
+        my_strlcpy(buf, my_esa, VMS_MAXRSS);
       }
       else {
         if (rms_is_nam_fnb(dirnam, NAM$M_ROOT_DIR)) {
@@ -6556,10 +6441,10 @@
              int len;
              len = v_len + r_len + d_len - 1;
              char dclose = d_spec[d_len - 1];
-             strncpy(buf, dir, len);
+             memcpy(buf, dir, len);
              buf[len] = '.';
              len++;
-             strncpy(&buf[len], n_spec, n_len);
+             memcpy(&buf[len], n_spec, n_len);
              len += n_len;
              buf[len] = dclose;
              buf[len + 1] = '\0';
@@ -6574,20 +6459,33 @@
             int len;
             len = v_len + r_len + d_len - 1;
             char dclose = d_spec[d_len - 1];
-            strncpy(buf, dir, len);
+            memcpy(buf, dir, len);
             buf[len] = '.';
             len++;
-            strncpy(&buf[len], n_spec, n_len);
+            memcpy(&buf[len], n_spec, n_len);
             len += n_len;
             if (e_len > 0) {
                 if (decc_efs_charset) {
-                    buf[len] = '^';
-                    len++;
-                    strncpy(&buf[len], e_spec, e_len);
-                    len += e_len;
-                } else {
-                    set_vaxc_errno(RMS$_DIR);
-                    set_errno(ENOTDIR);
+                    if (e_len == 4 
+                        && (toupper(e_spec[1]) == 'D')
+                        && (toupper(e_spec[2]) == 'I')
+                        && (toupper(e_spec[3]) == 'R')) {
+
+                        /* Corner case: directory spec with invalid version.
+                         * Valid would have followed is_dir path above.
+                         */
+                        SETERRNO(ENOTDIR, RMS$_DIR);
+                        return NULL;
+                    }
+                    else {
+                        buf[len] = '^';
+                        len++;
+                        memcpy(&buf[len], e_spec, e_len);
+                        len += e_len;
+                    }
+                }
+                else {
+                    SETERRNO(ENOTDIR, RMS$_DIR);
                     return NULL;
                 }
             }
@@ -6638,13 +6536,13 @@
       return NULL;
     }
 
-    trndir = PerlMem_malloc(VMS_MAXRSS);
+    trndir = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (trndir == NULL)
         _ckvmssts_noperl(SS$_INSFMEM);
 
     /* If no directory specified use the current default */
     if (*dir)
-        strcpy(trndir, dir);
+        my_strlcpy(trndir, dir, VMS_MAXRSS);
     else {
         getcwd(trndir, VMS_MAXRSS - 1);
         need_to_lower = 1;
@@ -6662,7 +6560,7 @@
 
         /* Trap simple rooted lnms, and return lnm:[000000] */
         if (!strcmp(trndir+trnlen-2,".]")) {
-            strcpy(buf, dir);
+            my_strlcpy(buf, dir, VMS_MAXRSS);
             strcat(buf, ":[000000]");
             PerlMem_free(trndir);
 
@@ -6716,7 +6614,7 @@
                         /* Traditional mode, assume .DIR is directory */
                         buf[0] = '[';
                         buf[1] = '.';
-                        strncpy(&buf[2], n_spec, n_len);
+                        memcpy(&buf[2], n_spec, n_len);
                         buf[n_len + 2] = ']';
                         buf[n_len + 3] = '\0';
                         PerlMem_free(trndir);
@@ -6749,7 +6647,7 @@
         /* Simple way did not work, which means that a logical name */
         /* was present for the directory specification.             */
         /* Need to use an rmsexpand variant to decode it completely */
-        exp_spec = PerlMem_malloc(VMS_MAXRSS);
+        exp_spec = (char *)PerlMem_malloc(VMS_MAXRSS);
         if (exp_spec == NULL)
             _ckvmssts_noperl(SS$_INSFMEM);
 
@@ -6787,65 +6685,55 @@
         return ret_spec;
 
     } else {
-        /* Unix specification, Could be trivial conversion */
-        STRLEN dir_len;
-        dir_len = strlen(trndir);
+        /* Unix specification, Could be trivial conversion, */
+        /* but have to deal with trailing '.dir' or extra '.' */
 
-        /* If the extended file character set is in effect */
-        /* then pathify is simple */
+        char * lastdot;
+        char * lastslash;
+        int is_dir;
+        STRLEN dir_len = strlen(trndir);
 
-        if (!decc_efs_charset) {
-            /* Have to deal with trailing '.dir' or extra '.' */
-            /* that should not be there in legacy mode, but is */
+        lastslash = strrchr(trndir, '/');
+        if (lastslash == NULL)
+            lastslash = trndir;
+        else
+            lastslash++;
 
-            char * lastdot;
-            char * lastslash;
-            int is_dir;
+        lastdot = NULL;
 
-            lastslash = strrchr(trndir, '/');
-            if (lastslash == NULL)
-                lastslash = trndir;
-            else
-                lastslash++;
-
-            lastdot = NULL;
-
-            /* '..' or '.' are valid directory components */
-            is_dir = 0;
-            if (lastslash[0] == '.') {
-                if (lastslash[1] == '\0') {
-                   is_dir = 1;
-                } else if (lastslash[1] == '.') {
-                    if (lastslash[2] == '\0') {
+        /* '..' or '.' are valid directory components */
+        is_dir = 0;
+        if (lastslash[0] == '.') {
+            if (lastslash[1] == '\0') {
+               is_dir = 1;
+            } else if (lastslash[1] == '.') {
+                if (lastslash[2] == '\0') {
+                    is_dir = 1;
+                } else {
+                    /* And finally allow '...' */
+                    if ((lastslash[2] == '.') && (lastslash[3] == '\0')) {
                         is_dir = 1;
-                    } else {
-                        /* And finally allow '...' */
-                        if ((lastslash[2] == '.') && (lastslash[3] == '\0')) {
-                            is_dir = 1;
-                        }
                     }
                 }
             }
+        }
 
-            if (!is_dir) {
-               lastdot = strrchr(lastslash, '.');
-            }
-            if (lastdot != NULL) {
-                STRLEN e_len;
+        if (!is_dir) {
+           lastdot = strrchr(lastslash, '.');
+        }
+        if (lastdot != NULL) {
+            STRLEN e_len;
+             /* '.dir' is discarded, and any other '.' is invalid */
+            e_len = strlen(lastdot);
 
-                /* '.dir' is discarded, and any other '.' is invalid */
-                e_len = strlen(lastdot);
+            is_dir = is_dir_ext(lastdot, e_len, NULL, 0);
 
-                is_dir = is_dir_ext(lastdot, e_len, NULL, 0);
-
-                if (is_dir) {
-                    dir_len = dir_len - 4;
-
-                }
+            if (is_dir) {
+                dir_len = dir_len - 4;
             }
         }
 
-        strcpy(buf, trndir);
+        my_strlcpy(buf, trndir, VMS_MAXRSS);
         if (buf[dir_len - 1] != '/') {
             buf[dir_len] = '/';
             buf[dir_len + 1] = '\0';
@@ -6962,7 +6850,7 @@
   const char *cp2;
   int dirlen;
   unsigned short int trnlnm_iter_count;
-  int cmp_rslt;
+  int cmp_rslt, outchars_added;
   if (utf8_fl != NULL)
     *utf8_fl = 0;
 
@@ -6995,10 +6883,9 @@
       int tunix_len;
       int nl_flag;
 
-      tunix = PerlMem_malloc(VMS_MAXRSS);
+      tunix = (char *)PerlMem_malloc(VMS_MAXRSS);
       if (tunix == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-      strcpy(tunix, spec);
-      tunix_len = strlen(tunix);
+      tunix_len = my_strlcpy(tunix, spec, VMS_MAXRSS);
       nl_flag = 0;
       if (tunix[tunix_len - 1] == '\n') {
 	tunix[tunix_len - 1] = '\"';
@@ -7009,13 +6896,13 @@
       uspec = decc$translate_vms(tunix);
       PerlMem_free(tunix);
       if ((int)uspec > 0) {
-	strcpy(rslt,uspec);
+	my_strlcpy(rslt, uspec, VMS_MAXRSS);
 	if (nl_flag) {
 	  strcat(rslt,"\n");
 	}
 	else {
 	  /* If we can not translate it, makemaker wants as-is */
-	  strcpy(rslt, spec);
+	  my_strlcpy(rslt, spec, VMS_MAXRSS);
 	}
 	return rslt;
       }
@@ -7054,9 +6941,19 @@
       }
     }
   }
-  /* This is already UNIX or at least nothing VMS understands */
+
+  cp1 = rslt;
+  cp2 = spec;
+
+  /* This is already UNIX or at least nothing VMS understands,
+   * so all we can reasonably do is unescape extended chars.
+   */
   if (cmp_rslt) {
-    strcpy(rslt,spec);
+    while (*cp2) {
+        cp2 += copy_expand_vms_filename_escape(cp1, cp2, &outchars_added);
+        cp1 += outchars_added;
+    }
+    *cp1 = '\0';    
     if (vms_debug_fileify) {
         fprintf(stderr, "int_tounixspec: rslt = %s\n", rslt);
     }
@@ -7063,13 +6960,15 @@
     return rslt;
   }
 
-  cp1 = rslt;
-  cp2 = spec;
   dirend = strrchr(spec,']');
   if (dirend == NULL) dirend = strrchr(spec,'>');
   if (dirend == NULL) dirend = strchr(spec,':');
   if (dirend == NULL) {
-    strcpy(rslt,spec);
+    while (*cp2) {
+        cp2 += copy_expand_vms_filename_escape(cp1, cp2, &outchars_added);
+        cp1 += outchars_added;
+    }
+    *cp1 = '\0';    
     if (vms_debug_fileify) {
         fprintf(stderr, "int_tounixspec: rslt = %s\n", rslt);
     }
@@ -7077,7 +6976,6 @@
   }
 
   /* Special case 1 - sys$posix_root = / */
-#if __CRTL_VER >= 70000000
   if (!decc_disable_posix_root) {
     if (strncasecmp(spec, "SYS$POSIX_ROOT:", 15) == 0) {
       *cp1 = '/';
@@ -7085,16 +6983,9 @@
       cp2 = cp2 + 15;
       }
   }
-#endif
 
   /* Special case 2 - Convert NLA0: to /dev/null */
-#if __CRTL_VER < 70000000
-  cmp_rslt = strncmp(spec,"NLA0:", 5);
-  if (cmp_rslt != 0)
-     cmp_rslt = strncmp(spec,"nla0:", 5);
-#else
   cmp_rslt = strncasecmp(spec,"NLA0:", 5);
-#endif
   if (cmp_rslt == 0) {
     strcpy(rslt, "/dev/null");
     cp1 = cp1 + 9;
@@ -7107,14 +6998,8 @@
   }
 
    /* Also handle special case "SYS$SCRATCH:" */
-#if __CRTL_VER < 70000000
-  cmp_rslt = strncmp(spec,"SYS$SCRATCH:", 12);
-  if (cmp_rslt != 0)
-     cmp_rslt = strncmp(spec,"sys$scratch:", 12);
-#else
   cmp_rslt = strncasecmp(spec,"SYS$SCRATCH:", 12);
-#endif
-  tmp = PerlMem_malloc(VMS_MAXRSS);
+  tmp = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (tmp == NULL) _ckvmssts_noperl(SS$_INSFMEM);
   if (cmp_rslt == 0) {
   int islnm;
@@ -7177,9 +7062,8 @@
       *(cp1++) = '/';
     }
     if ((*cp2 == '^')) {
-	/* EFS file escape, pass the next character as is */
-	/* Fix me: HEX encoding for Unicode not implemented */
-	cp2++;
+        cp2 += copy_expand_vms_filename_escape(cp1, cp2, &outchars_added);
+        cp1 += outchars_added;
     }
     else if ( *cp2 == '.') {
       if (*(cp2+1) == '.' && *(cp2+2) == '.') {
@@ -7239,8 +7123,7 @@
   }
   /* Translate the rest of the filename. */
   while (*cp2) {
-      int dot_seen;
-      dot_seen = 0;
+      int dot_seen = 0;
       switch(*cp2) {
       /* Fixme - for compatibility with the CRTL we should be removing */
       /* spaces from the file specifications, but this may show that */
@@ -7250,16 +7133,8 @@
           *(cp1++) = '?';
           break;
       case '^':
-          /* Fix me hex expansions not implemented */
-          cp2++;  /* '^.' --> '.' and other. */
-          if (*cp2) {
-              if (*cp2 == '_') {
-                  cp2++;
-                  *(cp1++) = ' ';
-              } else {
-                  *(cp1++) = *(cp2++);
-              }
-          }
+          cp2 += copy_expand_vms_filename_escape(cp1, cp2, &outchars_added);
+          cp1 += outchars_added;
           break;
       case ';':
           if (decc_filename_unix_no_version) {
@@ -7429,7 +7304,7 @@
     else {
       /* This is already a VMS specification, no conversion */
       unixlen--;
-      strncpy(vmspath,unixpath, vmspath_len);
+      my_strlcpy(vmspath, unixpath, vmspath_len + 1);
     }
   }
   else
@@ -7484,13 +7359,13 @@
   vmspath[vmspath_len] = 0;
   if (unixpath[unixlen - 1] == '/')
   dir_flag = 1;
-  esal = PerlMem_malloc(VMS_MAXRSS);
+  esal = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (esal == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-  esa = PerlMem_malloc(NAM$C_MAXRSS + 1);
+  esa = (char *)PerlMem_malloc(NAM$C_MAXRSS + 1);
   if (esa == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-  rsal = PerlMem_malloc(VMS_MAXRSS);
+  rsal = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (rsal == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-  rsa = PerlMem_malloc(NAM$C_MAXRSS + 1);
+  rsa = (char *)PerlMem_malloc(NAM$C_MAXRSS + 1);
   if (rsa == NULL) _ckvmssts_noperl(SS$_INSFMEM);
   rms_set_fna(myfab, mynam, (char *) vmspath, strlen(vmspath)); /* cast ok */
   rms_bind_fab_nam(myfab, mynam);
@@ -7541,7 +7416,7 @@
      if (strncmp(unixpath,"\"^UP^",5) != 0)
        sprintf(vmspath,"\"^UP^%s\"",unixpath);
      else
-       strcpy(vmspath, unixpath);
+       my_strlcpy(vmspath, unixpath, vmspath_len + 1);
   }
   else {
     vmspath[specdsc.dsc$w_length] = 0;
@@ -7742,21 +7617,20 @@
 	/* Find the next slash */
 	nextslash = strchr(unixptr,'/');
 
-	esa = PerlMem_malloc(vmspath_len);
+	esa = (char *)PerlMem_malloc(vmspath_len);
 	if (esa == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
-	trn = PerlMem_malloc(VMS_MAXRSS);
+	trn = (char *)PerlMem_malloc(VMS_MAXRSS);
 	if (trn == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
 	if (nextslash != NULL) {
 
 	    seg_len = nextslash - unixptr;
-	    strncpy(esa, unixptr, seg_len);
+	    memcpy(esa, unixptr, seg_len);
 	    esa[seg_len] = 0;
 	}
 	else {
-	    strcpy(esa, unixptr);
-	    seg_len = strlen(unixptr);
+	    seg_len = my_strlcpy(esa, unixptr, sizeof(esa));
 	}
 	/* trnlnm(section) */
 	islnm = vmstrnenv(esa, trn, 0, fildev, 0);
@@ -7799,8 +7673,7 @@
 		    if ((unixptr[seg_len] == '/') || (dir_flag != 0)) {
 			/* This must be a directory */
 			if (((n_len + e_len) == 0)&&(seg_len <= vmspath_len)) {
-			    strcpy(vmsptr, esa);
-			    vmslen=strlen(vmsptr);
+			    vmslen = my_strlcpy(vmsptr, esa, vmspath_len - 1);
 			    vmsptr[vmslen] = ':';
 			    vmslen++;
 			    vmsptr[vmslen] = '\0';
@@ -7817,7 +7690,7 @@
 
 		/* transfer the volume */
 		if (v_len > 0 && ((v_len + vmslen) < vmspath_len)) {
-		    strncpy(vmsptr, v_spec, v_len);
+		    memcpy(vmsptr, v_spec, v_len);
 		    vmsptr += v_len;
 		    vmsptr[0] = '\0';
 		    vmslen += v_len;
@@ -7840,7 +7713,7 @@
 			}
 		    }
 		    if (r_len > 0) {
-			strncpy(vmsptr, r_spec, r_len);
+			memcpy(vmsptr, r_spec, r_len);
 			vmsptr += r_len;
 			vmslen += r_len;
 			vmsptr[0] = '\0';
@@ -7871,7 +7744,7 @@
 			    d_spec++;
 			    d_len--;
 			}
-			strncpy(vmsptr, d_spec, d_len);
+			memcpy(vmsptr, d_spec, d_len);
 			    vmsptr += d_len;
 			    vmslen += d_len;
 			    vmsptr[0] = '\0';
@@ -7954,7 +7827,7 @@
      * here that are a VMS device name or concealed logical name instead.
      * So to make things work, this procedure must be tolerant.
      */
-    esa = PerlMem_malloc(vmspath_len);
+    esa = (char *)PerlMem_malloc(vmspath_len);
     if (esa == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
     sts = SS$_NORMAL;
@@ -7961,10 +7834,9 @@
     nextslash = strchr(&unixptr[1],'/');
     seg_len = 0;
     if (nextslash != NULL) {
-    int cmp;
+      int cmp;
       seg_len = nextslash - &unixptr[1];
-      strncpy(vmspath, unixptr, seg_len + 1);
-      vmspath[seg_len+1] = 0;
+      my_strlcpy(vmspath, unixptr, seg_len + 2);
       cmp = 1;
       if (seg_len == 3) {
 	cmp = strncmp(vmspath, "dev", 4);
@@ -7982,8 +7854,7 @@
 
       sts = posix_root_to_vms(esa, vmspath_len, "/", NULL);
       if ($VMS_STATUS_SUCCESS(sts)) {
-	strcpy(vmspath, esa);
-	vmslen = strlen(vmspath);
+	vmslen = my_strlcpy(vmspath, esa, vmspath_len + 1);
 	vmsptr = vmspath + vmslen;
 	unixptr++;
 	if (unixptr < lastslash) {
@@ -8028,9 +7899,8 @@
        */
 
       /* Posix to VMS destroyed this, so copy it again */
-      strncpy(vmspath, &unixptr[1], seg_len);
-      vmspath[seg_len] = 0;
-      vmslen = seg_len;
+      my_strlcpy(vmspath, &unixptr[1], seg_len + 1);
+      vmslen = strlen(vmspath); /* We know we're truncating. */
       vmsptr = &vmsptr[vmslen];
       islnm = 0;
 
@@ -8379,14 +8249,28 @@
    return result;
 }
 
+/* A convenience macro for copying dots in filenames and escaping
+ * them when they haven't already been escaped, with guards to
+ * avoid checking before the start of the buffer or advancing
+ * beyond the end of it (allowing room for the NUL terminator).
+ */
+#define VMSEFS_DOT_WITH_ESCAPE(vmsefsdot,vmsefsbuf,vmsefsbufsiz) STMT_START { \
+    if ( ((vmsefsdot) > (vmsefsbuf) && *((vmsefsdot) - 1) != '^' \
+          || ((vmsefsdot) == (vmsefsbuf))) \
+         && (vmsefsdot) < (vmsefsbuf) + (vmsefsbufsiz) - 3 \
+       ) { \
+        *((vmsefsdot)++) = '^'; \
+    } \
+    if ((vmsefsdot) < (vmsefsbuf) + (vmsefsbufsiz) - 2) \
+        *((vmsefsdot)++) = '.'; \
+} STMT_END
 
-
 /*{{{ char *tovmsspec[_ts](char *path, char *buf, int * utf8_flag)*/
 static char *int_tovmsspec
    (const char *path, char *rslt, int dir_flag, int * utf8_flag) {
   char *dirend;
   char *lastdot;
-  register char *cp1;
+  char *cp1;
   const char *cp2;
   unsigned long int infront = 0, hasdir = 1;
   int rslt_len;
@@ -8468,7 +8352,7 @@
     if ((v_len != 0) || (r_len != 0) || (d_len != 0) || (vs_len != 0)) {
       if (utf8_flag != NULL)
 	*utf8_flag = 0;
-      strcpy(rslt, path);
+      my_strlcpy(rslt, path, VMS_MAXRSS);
       if (vms_debug_fileify) {
           fprintf(stderr, "int_tovmsspec: rslt = %s\n", rslt);
       }
@@ -8489,7 +8373,7 @@
      */
     if (utf8_flag != NULL)
       *utf8_flag = 0;
-    strcpy(rslt, path);
+    my_strlcpy(rslt, path, VMS_MAXRSS);
     if (vms_debug_fileify) {
         fprintf(stderr, "int_tovmsspec: rslt = %s\n", rslt);
     }
@@ -8499,52 +8383,25 @@
   dirend = strrchr(path,'/');
 
   if (dirend == NULL) {
-     char *macro_start;
-     int has_macro;
-
-     /* If we get here with no UNIX directory delimiters, then this is
-        not a complete file specification, either garbage a UNIX glob
-	specification that can not be converted to a VMS wildcard, or
-	it a UNIX shell macro.  MakeMaker wants shell macros passed
-	through AS-IS,
-
-	utf8 flag setting needs to be preserved.
+     /* If we get here with no Unix directory delimiters, then this is an
+      * ambiguous file specification, such as a Unix glob specification, a
+      * shell or make macro, or a filespec that would be valid except for
+      * unescaped extended characters.  The safest thing if it's a macro
+      * is to pass it through as-is.
       */
-      hasdir = 0;
-
-      has_macro = 0;
-      macro_start = strchr(path,'$');
-      if (macro_start != NULL) {
-          if (macro_start[1] == '(') {
-              has_macro = 1;
-          }
-      }
-      if ((decc_efs_charset == 0) || (has_macro)) {
-          strcpy(rslt, path);
+      if (strstr(path, "$(")) {
+          my_strlcpy(rslt, path, VMS_MAXRSS);
           if (vms_debug_fileify) {
               fprintf(stderr, "int_tovmsspec: rslt = %s\n", rslt);
           }
           return rslt;
       }
+      hasdir = 0;
   }
-
-/* If EFS charset mode active, handle the conversion */
-#if __CRTL_VER >= 80200000 && !defined(__VAX)
-  if (decc_efs_charset) {
-    posix_to_vmsspec_hardway(rslt, rslt_len, path, dir_flag, utf8_flag);
-    if (vms_debug_fileify) {
-        fprintf(stderr, "int_tovmsspec: rslt = %s\n", rslt);
-    }
-    return rslt;
-  }
-#endif
-
-  if (*(dirend+1) == '.') {  /* do we have trailing "/." or "/.." or "/..."? */
+  else if (*(dirend+1) == '.') {  /* do we have trailing "/." or "/.." or "/..."? */
     if (!*(dirend+2)) dirend +=2;
     if (*(dirend+2) == '.' && !*(dirend+3)) dirend += 3;
-    if (decc_efs_charset == 0) {
-      if (*(dirend+2) == '.' && *(dirend+3) == '.' && !*(dirend+4)) dirend += 4;
-    }
+    if (*(dirend+2) == '.' && *(dirend+3) == '.' && !*(dirend+4)) dirend += 4;
   }
 
   cp1 = rslt;
@@ -8572,7 +8429,7 @@
     }
     while (*(++cp2) != '/' && *cp2) *(cp1++) = *cp2;
     *cp1 = '\0';
-    trndev = PerlMem_malloc(VMS_MAXRSS);
+    trndev = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (trndev == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     islnm =  simple_trnlnm(rslt,trndev,VMS_MAXRSS-1);
 
@@ -8624,7 +8481,7 @@
     }
     else {
       if (cp2 != dirend) {
-        strcpy(rslt,trndev);
+        my_strlcpy(rslt, trndev, VMS_MAXRSS);
         cp1 = rslt + trnend;
 	if (*cp2 != 0) {
           *(cp1++) = '.';
@@ -8640,7 +8497,7 @@
     }
     PerlMem_free(trndev);
   }
-  else {
+  else if (hasdir) {
     *(cp1++) = '[';
     if (*cp2 == '.') {
       if (*(cp2+1) == '/' || *(cp2+1) == '\0') {
@@ -8665,10 +8522,13 @@
     }
     else *(cp1++) = '.';
   }
+  else {
+    *(cp1++) = *cp2;
+  }
   for (; cp2 < dirend; cp2++) {
     if (*cp2 == '/') {
       if (*(cp2-1) == '/') continue;
-      if (*(cp1-1) != '.') *(cp1++) = '.';
+      if (cp1 > rslt && *(cp1-1) != '.') *(cp1++) = '.';
       infront = 0;
     }
     else if (!infront && *cp2 == '.') {
@@ -8675,15 +8535,10 @@
       if (cp2+1 == dirend || *(cp2+1) == '\0') { cp2++; break; }
       else if (*(cp2+1) == '/') cp2++;   /* skip over "./" - it's redundant */
       else if (*(cp2+1) == '.' && (*(cp2+2) == '/' || *(cp2+2) == '\0')) {
-        if (*(cp1-1) == '-' || *(cp1-1) == '[') *(cp1++) = '-'; /* handle "../" */
-        else if (*(cp1-2) == '[') *(cp1-1) = '-';
-        else {  /* back up over previous directory name */
-          cp1--;
-          while (*(cp1-1) != '.' && *(cp1-1) != '[') cp1--;
-          if (*(cp1-1) == '[') {
-            memcpy(cp1,"000000.",7);
-            cp1 += 7;
-          }
+        if (cp1 > rslt && (*(cp1-1) == '-' || *(cp1-1) == '[')) *(cp1++) = '-'; /* handle "../" */
+        else if (cp1 > rslt + 1 && *(cp1-2) == '[') *(cp1-1) = '-';
+        else {
+          *(cp1++) = '-';
         }
         cp2 += 2;
         if (cp2 == dirend) break;
@@ -8690,7 +8545,7 @@
       }
       else if ( *(cp2+1) == '.' && *(cp2+2) == '.' &&
                 (*(cp2+3) == '/' || *(cp2+3) == '\0') ) {
-        if (*(cp1-1) != '.') *(cp1++) = '.'; /* May already have 1 from '/' */
+        if (cp1 > rslt && *(cp1-1) != '.') *(cp1++) = '.'; /* May already have 1 from '/' */
         *(cp1++) = '.'; *(cp1++) = '.'; /* ".../" --> "..." */
         if (!*(cp2+3)) { 
           *(cp1++) = '.';  /* Simulate trailing '/' */
@@ -8699,22 +8554,26 @@
         else cp2 += 3;  /* Trailing '/' was there, so skip it, too */
       }
       else {
-        if (decc_efs_charset == 0)
+        if (decc_efs_charset == 0) {
+	  if (cp1 > rslt && *(cp1-1) == '^')
+	    cp1--;         /* remove the escape, if any */
 	  *(cp1++) = '_';  /* fix up syntax - '.' in name not allowed */
+	}
 	else {
-	  *(cp1++) = '^';  /* fix up syntax - '.' in name is allowed */
-	  *(cp1++) = '.';
+	  VMSEFS_DOT_WITH_ESCAPE(cp1, rslt, VMS_MAXRSS);
 	}
       }
     }
     else {
-      if (!infront && *(cp1-1) == '-')  *(cp1++) = '.';
+      if (!infront && cp1 > rslt && *(cp1-1) == '-')  *(cp1++) = '.';
       if (*cp2 == '.') {
-        if (decc_efs_charset == 0)
+        if (decc_efs_charset == 0) {
+	  if (cp1 > rslt && *(cp1-1) == '^')
+	    cp1--;         /* remove the escape, if any */
 	  *(cp1++) = '_';
+	}
 	else {
-	  *(cp1++) = '^';
-	  *(cp1++) = '.';
+	  VMSEFS_DOT_WITH_ESCAPE(cp1, rslt, VMS_MAXRSS);
 	}
       }
       else                  *(cp1++) =  *cp2;
@@ -8721,7 +8580,7 @@
       infront = 1;
     }
   }
-  if (*(cp1-1) == '.') cp1--; /* Unix spec ending in '/' ==> trailing '.' */
+  if (cp1 > rslt && *(cp1-1) == '.') cp1--; /* Unix spec ending in '/' ==> trailing '.' */
   if (hasdir) *(cp1++) = ']';
   if (*cp2) cp2++;  /* check in case we ended with trailing '..' */
   /* fixme for ODS5 */
@@ -8737,7 +8596,8 @@
 	  *(cp1++) = '?';
 	cp2++;
     case ' ':
-	*(cp1)++ = '^';
+	if (cp2 > path && *(cp2-1) != '^') /* not previously escaped */
+	    *(cp1)++ = '^';
 	*(cp1)++ = '_';
 	cp2++;
 	break;
@@ -8744,8 +8604,7 @@
     case '.':
 	if (((cp2 < lastdot) || (cp2[1] == '\0')) &&
 	    decc_readdir_dropdotnotype) {
-	  *(cp1)++ = '^';
-	  *(cp1)++ = '.';
+	  VMSEFS_DOT_WITH_ESCAPE(cp1, rslt, VMS_MAXRSS);
 	  cp2++;
 
 	  /* trailing dot ==> '^..' on VMS */
@@ -8822,7 +8681,8 @@
     case '|':
     case '<':
     case '>':
-	*(cp1++) = '^';
+	if (cp2 > path && *(cp2-1) != '^') /* not previously escaped */
+	    *(cp1++) = '^';
 	*(cp1++) = *(cp2++);
 	break;
     case ';':
@@ -8914,7 +8774,7 @@
     if (path == NULL)
         return NULL;
 
-    pathified = PerlMem_malloc(VMS_MAXRSS);
+    pathified = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (pathified == NULL)
         _ckvmssts_noperl(SS$_INSFMEM);
 
@@ -8939,7 +8799,7 @@
   char *pathified, *vmsified, *cp;
 
   if (path == NULL) return NULL;
-  pathified = PerlMem_malloc(VMS_MAXRSS);
+  pathified = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (pathified == NULL) _ckvmssts(SS$_INSFMEM);
   if (int_pathify_dirspec(path, pathified) == NULL) {
     PerlMem_free(pathified);
@@ -8967,7 +8827,7 @@
     return cp;
   }
   else {
-    strcpy(__tovmspath_retbuf,vmsified);
+    my_strlcpy(__tovmspath_retbuf, vmsified, sizeof(__tovmspath_retbuf));
     Safefree(vmsified);
     return __tovmspath_retbuf;
   }
@@ -8992,7 +8852,7 @@
   char *pathified, *unixified, *cp;
 
   if (path == NULL) return NULL;
-  pathified = PerlMem_malloc(VMS_MAXRSS);
+  pathified = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (pathified == NULL) _ckvmssts(SS$_INSFMEM);
   if (int_pathify_dirspec(path, pathified) == NULL) {
     PerlMem_free(pathified);
@@ -9021,7 +8881,7 @@
     return cp;
   }
   else {
-    strcpy(__tounixpath_retbuf,unixified);
+    my_strlcpy(__tounixpath_retbuf, unixified, sizeof(__tounixpath_retbuf));
     Safefree(unixified);
     return __tounixpath_retbuf;
   }
@@ -9297,12 +9157,12 @@
 	fprintf(stderr,"Can't open output file %s as stdout",out);
 	exit(vaxc$errno);
 	}
-	if (out != NULL) Perl_vmssetuserlnm(aTHX_ "SYS$OUTPUT",out);
+	if (out != NULL) vmssetuserlnm("SYS$OUTPUT", out);
 
     if (err != NULL) {
         if (strcmp(err,"&1") == 0) {
             dup2(fileno(stdout), fileno(stderr));
-            Perl_vmssetuserlnm(aTHX_ "SYS$ERROR","SYS$OUTPUT");
+            vmssetuserlnm("SYS$ERROR", "SYS$OUTPUT");
         } else {
 	FILE *tmperr;
 	if (NULL == (tmperr = fopen(err, errmode, "mbc=32", "mbf=2")))
@@ -9315,7 +9175,7 @@
 		{
 		exit(vaxc$errno);
 		}
-	    Perl_vmssetuserlnm(aTHX_ "SYS$ERROR",err);
+	    vmssetuserlnm("SYS$ERROR", err);
 	}
         }
 #ifdef ARGPROC_DEBUG
@@ -9400,7 +9260,7 @@
     resultspec.dsc$b_dtype = DSC$K_DTYPE_T;
     resultspec.dsc$b_class = DSC$K_CLASS_D;
     resultspec.dsc$a_pointer = NULL;
-    vmsspec = PerlMem_malloc(VMS_MAXRSS);
+    vmsspec = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (vmsspec == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     if ((isunix = (int) strchr(item,'/')) != (int) NULL)
       filespec.dsc$a_pointer = int_tovmsspec(item, vmsspec, 0, NULL);
@@ -9424,10 +9284,9 @@
 	char *string;
 	char *c;
 
-	string = PerlMem_malloc(resultspec.dsc$w_length+1);
+	string = (char *)PerlMem_malloc(resultspec.dsc$w_length+1);
         if (string == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-	strncpy(string, resultspec.dsc$a_pointer, resultspec.dsc$w_length);
-	string[resultspec.dsc$w_length] = '\0';
+	my_strlcpy(string, resultspec.dsc$a_pointer, resultspec.dsc$w_length+1);
 	if (NULL == had_version)
 	    *(strrchr(string, ';')) = '\0';
 	if ((!had_directory) && (had_device == NULL))
@@ -9434,7 +9293,7 @@
 	    {
 	    if (NULL == (devdir = strrchr(string, ']')))
 		devdir = strrchr(string, '>');
-	    strcpy(string, devdir + 1);
+	    my_strlcpy(string, devdir + 1, resultspec.dsc$w_length+1);
 	    }
 	/*
 	 * Be consistent with what the C RTL has already done to the rest of
@@ -9479,7 +9338,7 @@
 
 static unsigned short child_chan;/* I/O Channel for Pipe Mailbox		*/
 
-static unsigned long int exit_handler(int *status)
+static unsigned long int exit_handler(void)
 {
 short iosb[4];
 
@@ -9580,14 +9439,12 @@
 unsigned long int flags = 17, one = 1, retsts;
 int len;
 
-    strcat(command, argv[0]);
-    len = strlen(command);
+    len = my_strlcat(command, argv[0], sizeof(command));
     while (--argc && (len < MAX_DCL_SYMBOL))
 	{
-	strcat(command, " \"");
-	strcat(command, *(++argv));
-	strcat(command, "\"");
-	len = strlen(command);
+	my_strlcat(command, " \"", sizeof(command));
+	my_strlcat(command, *(++argv), sizeof(command));
+	len = my_strlcat(command, "\"", sizeof(command));
 	}
     value.dsc$a_pointer = command;
     value.dsc$w_length = strlen(value.dsc$a_pointer);
@@ -9712,7 +9569,7 @@
       _ckvmssts_noperl(sys$getjpiw(0,NULL,NULL,&jpilist[1],iosb,NULL,NULL));
       _ckvmssts_noperl(iosb[0]);
     }
-    mask = jpilist[1].bufadr;
+    mask = (unsigned long int *)jpilist[1].bufadr;
     /* Check attribute flags for each identifier (2nd longword); protected
      * subsystem identifiers trigger tainting.
      */
@@ -9761,7 +9618,7 @@
     newargv = (char **) PerlMem_malloc(((*argcp)+2) * sizeof(char *));
     if (newargv == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     newargv[0] = oldargv[0];
-    newargv[1] = PerlMem_malloc(3 * sizeof(char));
+    newargv[1] = (char *)PerlMem_malloc(3 * sizeof(char));
     if (newargv[1] == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     strcpy(newargv[1], "-T");
     Copy(&oldargv[1],&newargv[2],(*argcp)-1,char **);
@@ -9840,15 +9697,14 @@
 int
 Perl_trim_unixpath(pTHX_ char *fspec, const char *wildspec, int opts)
 {
-  char *unixified, *unixwild,
-       *template, *base, *end, *cp1, *cp2;
-  register int tmplen, reslen = 0, dirs = 0;
+  char *unixified, *unixwild, *tplate, *base, *end, *cp1, *cp2;
+  int tmplen, reslen = 0, dirs = 0;
 
   if (!wildspec || !fspec) return 0;
 
-  unixwild = PerlMem_malloc(VMS_MAXRSS);
+  unixwild = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (unixwild == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-  template = unixwild;
+  tplate = unixwild;
   if (strpbrk(wildspec,"]>:") != NULL) {
     if (int_tounixspec(wildspec, unixwild, NULL) == NULL) {
         PerlMem_free(unixwild);
@@ -9856,10 +9712,9 @@
     }
   }
   else {
-    strncpy(unixwild, wildspec, VMS_MAXRSS-1);
-    unixwild[VMS_MAXRSS-1] = 0;
+    my_strlcpy(unixwild, wildspec, VMS_MAXRSS);
   }
-  unixified = PerlMem_malloc(VMS_MAXRSS);
+  unixified = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (unixified == NULL) _ckvmssts_noperl(SS$_INSFMEM);
   if (strpbrk(fspec,"]>:") != NULL) {
     if (int_tounixspec(fspec, unixified, NULL) == NULL) {
@@ -9875,7 +9730,7 @@
   else base = fspec;
 
   /* No prefix or absolute path on wildcard, so nothing to remove */
-  if (!*template || *template == '/') {
+  if (!*tplate || *tplate == '/') {
     PerlMem_free(unixwild);
     if (base == fspec) {
         PerlMem_free(unixified);
@@ -9893,8 +9748,8 @@
   }
 
   for (end = base; *end; end++) ;  /* Find end of resultant filespec */
-  if ((cp1 = strstr(template,".../")) == NULL) { /* No ...; just count elts */
-    for (cp1 = template; *cp1; cp1++) if (*cp1 == '/') dirs++;
+  if ((cp1 = strstr(tplate,".../")) == NULL) { /* No ...; just count elts */
+    for (cp1 = tplate; *cp1; cp1++) if (*cp1 == '/') dirs++;
     for (cp1 = end ;cp1 >= base; cp1--)
       if ((*cp1 == '/') && !dirs--) /* postdec so we get front of rel path */
         { cp1++; break; }
@@ -9913,9 +9768,9 @@
     while ((cp1 = strstr(ellipsis+4,".../")) != NULL) {ellipsis = cp1; ells++;}
     totells = ells;
     for (cp1 = ellipsis+4; *cp1; cp1++) if (*cp1 == '/') dirs++;
-    tpl = PerlMem_malloc(VMS_MAXRSS);
+    tpl = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (tpl == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-    if (ellipsis == template && opts & 1) {
+    if (ellipsis == tplate && opts & 1) {
       /* Template begins with an ellipsis.  Since we can't tell how many
        * directory names at the front of the resultant to keep for an
        * arbitrary starting point, we arbitrarily choose the current
@@ -9949,9 +9804,9 @@
       for (front = end ; front >= base; front--)
          if (*front == '/' && !dirs--) { front++; break; }
     }
-    lcres = PerlMem_malloc(VMS_MAXRSS);
+    lcres = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (lcres == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-    for (cp1=template,cp2=lcres; *cp1 && cp2 <= lcres + (VMS_MAXRSS - 1);
+    for (cp1=tplate,cp2=lcres; *cp1 && cp2 <= lcres + (VMS_MAXRSS - 1);
          cp1++,cp2++) {
 	    if (!decc_efs_case_preserve) {
 		*cp2 = _tolower(*cp1);  /* Make lc copy for match */
@@ -9972,10 +9827,10 @@
     lcfront = lcres + (front - base);
     /* Now skip over each ellipsis and try to match the path in front of it. */
     while (ells--) {
-      for (cp1 = ellipsis - 2; cp1 >= template; cp1--)
+      for (cp1 = ellipsis - 2; cp1 >= tplate; cp1--)
         if (*(cp1)   == '.' && *(cp1+1) == '.' &&
             *(cp1+2) == '.' && *(cp1+3) == '/'    ) break;
-      if (cp1 < template) break; /* template started with an ellipsis */
+      if (cp1 < tplate) break; /* template started with an ellipsis */
       if (cp1 + 4 == ellipsis) { /* Consecutive ellipses */
         ellipsis = cp1; continue;
       }
@@ -10131,12 +9986,12 @@
     dd->context = 0;
     dd->count = 0;
     dd->flags = 0;
-    /* By saying we always want the result of readdir() in unix format, we 
-     * are really saying we want all the escapes removed.  Otherwise the caller,
-     * having no way to know whether it's already in VMS format, might send it
-     * through tovmsspec again, thus double escaping.
+    /* By saying we want the result of readdir() in unix format, we are really
+     * saying we want all the escapes removed, translating characters that
+     * must be escaped in a VMS-format name to their unescaped form, which is
+     * presumably allowed in a Unix-format name.
      */
-    dd->flags = PERL_VMSDIR_M_UNIXSPECS;
+    dd->flags = decc_filename_unix_report ? PERL_VMSDIR_M_UNIXSPECS : 0;
     dd->pat.dsc$a_pointer = dd->pattern;
     dd->pat.dsc$w_length = strlen(dd->pattern);
     dd->pat.dsc$b_dtype = DSC$K_DTYPE_T;
@@ -10204,7 +10059,7 @@
     /* Add the version wildcard, ignoring the "*.*" put on before */
     i = strlen(dd->pattern);
     Newx(text,i + e->d_namlen + 3,char);
-    strcpy(text, dd->pattern);
+    my_strlcpy(text, dd->pattern, i + 1);
     sprintf(&text[i - 3], "%s;*", e->d_name);
 
     /* Set up the pattern descriptor. */
@@ -10274,20 +10129,23 @@
 
     tmpsts = lib$find_file
 	(&dd->pat, &res, &dd->context, NULL, NULL, &rsts, &flags);
-    if ( tmpsts == RMS$_NMF || dd->context == 0) return NULL;  /* None left. */
+    if (dd->context == 0)
+        tmpsts = RMS$_NMF;  /* None left. (should be set, but make sure) */
+
     if (!(tmpsts & 1)) {
-      set_vaxc_errno(tmpsts);
       switch (tmpsts) {
+        case RMS$_NMF:
+          break;  /* no more files considered success */
         case RMS$_PRV:
-          set_errno(EACCES); break;
+          SETERRNO(EACCES, tmpsts); break;
         case RMS$_DEV:
-          set_errno(ENODEV); break;
+          SETERRNO(ENODEV, tmpsts); break;
         case RMS$_DIR:
-          set_errno(ENOTDIR); break;
+          SETERRNO(ENOTDIR, tmpsts); break;
         case RMS$_FNF: case RMS$_DNF:
-          set_errno(ENOENT); break;
+          SETERRNO(ENOENT, tmpsts); break;
         default:
-          set_errno(EVMSERR);
+          SETERRNO(EVMSERR, tmpsts);
       }
       Safefree(buff);
       return NULL;
@@ -10322,7 +10180,7 @@
 
         /* In Unix report mode, remove the ".dir;1" from the name */
         /* if it is a real directory. */
-        if (decc_filename_unix_report || decc_efs_charset) {
+        if (decc_filename_unix_report && decc_efs_charset) {
             if (is_dir_ext(e_spec, e_len, vs_spec, vs_len)) {
                 Stat_t statbuf;
                 int ret_sts;
@@ -10342,9 +10200,9 @@
         }
     }
 
-    strncpy(dd->entry.d_name, n_spec, n_len + e_len);
+    memcpy(dd->entry.d_name, n_spec, n_len + e_len);
     dd->entry.d_name[n_len + e_len] = '\0';
-    dd->entry.d_namlen = strlen(dd->entry.d_name);
+    dd->entry.d_namlen = n_len + e_len;
 
     /* Convert the filename to UNIX format if needed */
     if (dd->flags & PERL_VMSDIR_M_UNIXSPECS) {
@@ -10367,8 +10225,7 @@
 		/* counted strings apparently with a Unicode flag */
 	    }
 	    *q = 0;
-	    strcpy(dd->entry.d_name, new_name);
-	    dd->entry.d_namlen = strlen(dd->entry.d_name);
+	    dd->entry.d_namlen = my_strlcpy(dd->entry.d_name, new_name, sizeof(dd->entry.d_name));
 	}
     }
 
@@ -10473,9 +10330,9 @@
 
 static int vfork_called;
 
-/*{{{int my_vfork()*/
+/*{{{int my_vfork(void)*/
 int
-my_vfork()
+my_vfork(void)
 {
   vfork_called++;
   return vfork();
@@ -10498,9 +10355,9 @@
 setup_argstr(pTHX_ SV *really, SV **mark, SV **sp)
 {
   char *junk, *tmps = NULL;
-  register size_t cmdlen = 0;
+  size_t cmdlen = 0;
   size_t rlen;
-  register SV **idx;
+  SV **idx;
   STRLEN n_a;
 
   idx = mark;
@@ -10521,7 +10378,7 @@
   Newx(PL_Cmd, cmdlen+1, char);
 
   if (tmps && *tmps) {
-    strcpy(PL_Cmd,tmps);
+    my_strlcpy(PL_Cmd, tmps, cmdlen + 1);
     mark++;
   }
   else *PL_Cmd = '\0';
@@ -10529,8 +10386,8 @@
     if (*mark) {
       char *s = SvPVx(*mark,n_a);
       if (!*s) continue;
-      if (*PL_Cmd) strcat(PL_Cmd," ");
-      strcat(PL_Cmd,s);
+      if (*PL_Cmd) my_strlcat(PL_Cmd, " ", cmdlen+1);
+      my_strlcat(PL_Cmd, s, cmdlen+1);
     }
   }
   return PL_Cmd;
@@ -10552,29 +10409,28 @@
   struct dsc$descriptor_s *vmscmd;
   struct dsc$descriptor_s imgdsc = {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, 0};
   unsigned long int cxt = 0, flags = 1, retsts = SS$_NORMAL;
-  register char *s, *rest, *cp, *wordbreak;
+  char *s, *rest, *cp, *wordbreak;
   char * cmd;
   int cmdlen;
-  register int isdcl;
+  int isdcl;
 
-  vmscmd = PerlMem_malloc(sizeof(struct dsc$descriptor_s));
+  vmscmd = (struct dsc$descriptor_s *)PerlMem_malloc(sizeof(struct dsc$descriptor_s));
   if (vmscmd == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 
   /* vmsspec is a DCL command buffer, not just a filename */
-  vmsspec = PerlMem_malloc(MAX_DCL_LINE_LENGTH + 1);
+  vmsspec = (char *)PerlMem_malloc(MAX_DCL_LINE_LENGTH + 1);
   if (vmsspec == NULL)
       _ckvmssts_noperl(SS$_INSFMEM);
 
-  resspec = PerlMem_malloc(VMS_MAXRSS);
+  resspec = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (resspec == NULL)
       _ckvmssts_noperl(SS$_INSFMEM);
 
   /* Make a copy for modification */
   cmdlen = strlen(incmd);
-  cmd = PerlMem_malloc(cmdlen+1);
+  cmd = (char *)PerlMem_malloc(cmdlen+1);
   if (cmd == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-  strncpy(cmd, incmd, cmdlen);
-  cmd[cmdlen] = 0;
+  my_strlcpy(cmd, incmd, cmdlen + 1);
   image_name[0] = 0;
   image_argv[0] = 0;
 
@@ -10607,6 +10463,68 @@
     for (cp = &vmsspec[1]; *rest && isspace(*rest); rest++,cp++) *cp = *rest;
   }
   else { cp = vmsspec; rest = s; }
+
+  /* If the first word is quoted, then we need to unquote it and
+   * escape spaces within it.  We'll expand into the resspec buffer,
+   * then copy back into the cmd buffer, expanding the latter if
+   * necessary.
+   */
+  if (*rest == '"') {
+    char *cp2;
+    char *r = rest;
+    bool in_quote = 0;
+    int clen = cmdlen;
+    int soff = s - cmd;
+
+    for (cp2 = resspec;
+         *rest && cp2 - resspec < (VMS_MAXRSS - 1);
+         rest++) {
+
+      if (*rest == ' ') {    /* Escape ' ' to '^_'. */
+        *cp2 = '^';
+        *(++cp2) = '_';
+        cp2++;
+        clen++;
+      }
+      else if (*rest == '"') {
+        clen--;
+        if (in_quote) {     /* Must be closing quote. */
+          rest++;
+          break;
+        }
+        in_quote = 1;
+      }
+      else {
+        *cp2 = *rest;
+        cp2++;
+      }
+    }
+    *cp2 = '\0';
+
+    /* Expand the command buffer if necessary. */
+    if (clen > cmdlen) {
+      cmd = (char *)PerlMem_realloc(cmd, clen);
+      if (cmd == NULL)
+        _ckvmssts_noperl(SS$_INSFMEM);
+      /* Where we are may have changed, so recompute offsets */
+      r = cmd + (r - s - soff);
+      rest = cmd + (rest - s - soff);
+      s = cmd + soff;
+    }
+
+    /* Shift the non-verb portion of the command (if any) up or
+     * down as necessary.
+     */
+    if (*rest)
+      memmove(rest + clen - cmdlen, rest, s - soff + cmdlen - rest);
+
+    /* Copy the unquoted and escaped command verb into place. */
+    memcpy(r, resspec, cp2 - resspec); 
+    cmd[clen] = '\0';
+    cmdlen = clen;
+    rest = r;         /* Rewind for subsequent operations. */
+  }
+
   if (*rest == '.' || *rest == '/') {
     char *cp2;
     for (cp2 = resspec;
@@ -10647,7 +10565,7 @@
       isdcl = 1;
       if (suggest_quote) *suggest_quote = 1;
   } else {
-    register char *filespec = strpbrk(s,":<[.;");
+    char *filespec = strpbrk(s,":<[.;");
     rest = wordbreak = strpbrk(s," \"\t/");
     if (!wordbreak) wordbreak = s + strlen(s);
     if (*s == '$') check_img = 0;
@@ -10783,7 +10701,7 @@
 		  else {
 		    tchr = tmpspec;
 		  }
-		  strcpy(image_name, tchr);
+		  my_strlcpy(image_name, tchr, sizeof(image_name));
 		}
 	      }
 	    }
@@ -10799,25 +10717,25 @@
       }
 
       if (cando_by_name(S_IXUSR,0,resspec)) {
-        vmscmd->dsc$a_pointer = PerlMem_malloc(MAX_DCL_LINE_LENGTH);
+        vmscmd->dsc$a_pointer = (char *)PerlMem_malloc(MAX_DCL_LINE_LENGTH);
 	if (vmscmd->dsc$a_pointer == NULL) _ckvmssts_noperl(SS$_INSFMEM);
         if (!isdcl) {
-            strcpy(vmscmd->dsc$a_pointer,"$ MCR ");
+            my_strlcpy(vmscmd->dsc$a_pointer,"$ MCR ", MAX_DCL_LINE_LENGTH);
 	    if (image_name[0] != 0) {
-		strcat(vmscmd->dsc$a_pointer, image_name);
-		strcat(vmscmd->dsc$a_pointer, " ");
+		my_strlcat(vmscmd->dsc$a_pointer, image_name, MAX_DCL_LINE_LENGTH);
+		my_strlcat(vmscmd->dsc$a_pointer, " ", MAX_DCL_LINE_LENGTH);
 	    }
 	} else if (image_name[0] != 0) {
-	    strcpy(vmscmd->dsc$a_pointer, image_name);
-	    strcat(vmscmd->dsc$a_pointer, " ");
+	    my_strlcpy(vmscmd->dsc$a_pointer, image_name, MAX_DCL_LINE_LENGTH);
+	    my_strlcat(vmscmd->dsc$a_pointer, " ", MAX_DCL_LINE_LENGTH);
         } else {
-            strcpy(vmscmd->dsc$a_pointer,"@");
+            my_strlcpy(vmscmd->dsc$a_pointer, "@", MAX_DCL_LINE_LENGTH);
         }
         if (suggest_quote) *suggest_quote = 1;
 
 	/* If there is an image name, use original command */
 	if (image_name[0] == 0)
-	    strcat(vmscmd->dsc$a_pointer,resspec);
+	    my_strlcat(vmscmd->dsc$a_pointer, resspec, MAX_DCL_LINE_LENGTH);
 	else {
 	    rest = cmd;
 	    while (*rest && isspace(*rest)) rest++;
@@ -10824,8 +10742,8 @@
 	}
 
 	if (image_argv[0] != 0) {
-	  strcat(vmscmd->dsc$a_pointer,image_argv);
-	  strcat(vmscmd->dsc$a_pointer, " ");
+	  my_strlcat(vmscmd->dsc$a_pointer, image_argv, MAX_DCL_LINE_LENGTH);
+	  my_strlcat(vmscmd->dsc$a_pointer, " ", MAX_DCL_LINE_LENGTH);
 	}
         if (rest) {
 	   int rest_len;
@@ -10834,7 +10752,7 @@
 	   rest_len = strlen(rest);
 	   vmscmd_len = strlen(vmscmd->dsc$a_pointer);
 	   if ((rest_len + vmscmd_len) < MAX_DCL_LINE_LENGTH)
-	      strcat(vmscmd->dsc$a_pointer,rest);
+	      my_strlcat(vmscmd->dsc$a_pointer, rest, MAX_DCL_LINE_LENGTH);
 	   else
 	     retsts = CLI$_BUFOVF;
 	}
@@ -10851,9 +10769,8 @@
   /* It's either a DCL command or we couldn't find a suitable image */
   vmscmd->dsc$w_length = strlen(cmd);
 
-  vmscmd->dsc$a_pointer = PerlMem_malloc(vmscmd->dsc$w_length + 1);
-  strncpy(vmscmd->dsc$a_pointer,cmd,vmscmd->dsc$w_length);
-  vmscmd->dsc$a_pointer[vmscmd->dsc$w_length] = 0;
+  vmscmd->dsc$a_pointer = (char *)PerlMem_malloc(vmscmd->dsc$w_length + 1);
+  my_strlcpy(vmscmd->dsc$a_pointer, cmd, vmscmd->dsc$w_length + 1);
 
   PerlMem_free(cmd);
   PerlMem_free(resspec);
@@ -11139,10 +11056,10 @@
 int
 my_fwrite(const void *src, size_t itmsz, size_t nitm, FILE *dest)
 {
-  register char *cp, *end, *cpd;
+  char *cp, *end, *cpd;
   char *data;
-  register unsigned int fd = fileno(dest);
-  register unsigned int fdoff = fd / sizeof(unsigned int);
+  unsigned int fd = fileno(dest);
+  unsigned int fdoff = fd / sizeof(unsigned int);
   int retval;
   int bufsize = itmsz * nitm + 1;
 
@@ -11216,8 +11133,8 @@
     }
 
     /* Convert this to Unix format */
-    vms_name = PerlMem_malloc(VMS_MAXRSS + 1);
-    strcpy(vms_name, retname);
+    vms_name = (char *)PerlMem_malloc(VMS_MAXRSS);
+    my_strlcpy(vms_name, retname, VMS_MAXRSS);
     retname = int_tounixspec(vms_name, buf, NULL);
     PerlMem_free(vms_name);
 
@@ -11357,7 +11274,7 @@
         if (pwd->pw_unixdir[ldir]=='/') pwd->pw_unixdir[ldir]= '\0';
     }
     else
-        strcpy(pwd->pw_unixdir, pwd->pw_dir);
+        my_strlcpy(pwd->pw_unixdir, pwd->pw_dir, sizeof(pwd->pw_unixdir));
     if (!decc_efs_case_preserve)
         __mystrtolower(pwd->pw_unixdir);
     return 1;
@@ -11393,8 +11310,7 @@
         else { _ckvmssts(sts); }
       }
     }
-    strncpy(__pw_namecache, name, sizeof(__pw_namecache));
-    __pw_namecache[sizeof __pw_namecache - 1] = '\0';
+    my_strlcpy(__pw_namecache, name, sizeof(__pw_namecache));
     __pwdcache.pw_name= __pw_namecache;
     return &__pwdcache;
 }  /* end of my_getpwnam() */
@@ -11479,105 +11395,6 @@
 }
 /*}}}*/
 
-#ifdef HOMEGROWN_POSIX_SIGNALS
-  /* Signal handling routines, pulled into the core from POSIX.xs.
-   *
-   * We need these for threads, so they've been rolled into the core,
-   * rather than left in POSIX.xs.
-   *
-   * (DRS, Oct 23, 1997)
-   */
-
-  /* sigset_t is atomic under VMS, so these routines are easy */
-/*{{{int my_sigemptyset(sigset_t *) */
-int my_sigemptyset(sigset_t *set) {
-    if (!set) { SETERRNO(EFAULT,SS$_ACCVIO); return -1; }
-    *set = 0; return 0;
-}
-/*}}}*/
-
-
-/*{{{int my_sigfillset(sigset_t *)*/
-int my_sigfillset(sigset_t *set) {
-    int i;
-    if (!set) { SETERRNO(EFAULT,SS$_ACCVIO); return -1; }
-    for (i = 0; i < NSIG; i++) *set |= (1 << i);
-    return 0;
-}
-/*}}}*/
-
-
-/*{{{int my_sigaddset(sigset_t *set, int sig)*/
-int my_sigaddset(sigset_t *set, int sig) {
-    if (!set) { SETERRNO(EFAULT,SS$_ACCVIO); return -1; }
-    if (sig > NSIG) { SETERRNO(EINVAL,LIB$_INVARG); return -1; }
-    *set |= (1 << (sig - 1));
-    return 0;
-}
-/*}}}*/
-
-
-/*{{{int my_sigdelset(sigset_t *set, int sig)*/
-int my_sigdelset(sigset_t *set, int sig) {
-    if (!set) { SETERRNO(EFAULT,SS$_ACCVIO); return -1; }
-    if (sig > NSIG) { SETERRNO(EINVAL,LIB$_INVARG); return -1; }
-    *set &= ~(1 << (sig - 1));
-    return 0;
-}
-/*}}}*/
-
-
-/*{{{int my_sigismember(sigset_t *set, int sig)*/
-int my_sigismember(sigset_t *set, int sig) {
-    if (!set) { SETERRNO(EFAULT,SS$_ACCVIO); return -1; }
-    if (sig > NSIG) { SETERRNO(EINVAL,LIB$_INVARG); return -1; }
-    return *set & (1 << (sig - 1));
-}
-/*}}}*/
-
-
-/*{{{int my_sigprocmask(int how, sigset_t *set, sigset_t *oset)*/
-int my_sigprocmask(int how, sigset_t *set, sigset_t *oset) {
-    sigset_t tempmask;
-
-    /* If set and oset are both null, then things are badly wrong. Bail out. */
-    if ((oset == NULL) && (set == NULL)) {
-      set_errno(EFAULT); set_vaxc_errno(SS$_ACCVIO);
-      return -1;
-    }
-
-    /* If set's null, then we're just handling a fetch. */
-    if (set == NULL) {
-        tempmask = sigblock(0);
-    }
-    else {
-      switch (how) {
-      case SIG_SETMASK:
-        tempmask = sigsetmask(*set);
-        break;
-      case SIG_BLOCK:
-        tempmask = sigblock(*set);
-        break;
-      case SIG_UNBLOCK:
-        tempmask = sigblock(0);
-        sigsetmask(*oset & ~tempmask);
-        break;
-      default:
-        set_errno(EINVAL); set_vaxc_errno(LIB$_INVARG);
-        return -1;
-      }
-    }
-
-    /* Did they pass us an oset? If so, stick our holding mask into it */
-    if (oset)
-      *oset = tempmask;
-  
-    return 0;
-}
-/*}}}*/
-#endif  /* HOMEGROWN_POSIX_SIGNALS */
-
-
 /* Used for UTC calculation in my_gmtime(), my_localtime(), my_time(),
  * my_utime(), and flex_stat(), all of which operate on UTC unless
  * VMSISH_TIMES is true.
@@ -11598,31 +11415,10 @@
 #undef time
 
 
-/*
- * DEC C previous to 6.0 corrupts the behavior of the /prefix
- * qualifier with the extern prefix pragma.  This provisional
- * hack circumvents this prefix pragma problem in previous 
- * precompilers.
- */
-#if defined(__VMS_VER) && __VMS_VER >= 70000000 
-#  if defined(VMS_WE_ARE_CASE_SENSITIVE) && (__DECC_VER < 60000000)
-#    pragma __extern_prefix save
-#    pragma __extern_prefix ""  /* set to empty to prevent prefixing */
-#    define gmtime decc$__utctz_gmtime
-#    define localtime decc$__utctz_localtime
-#    define time decc$__utc_time
-#    pragma __extern_prefix restore
-
-     struct tm *gmtime(), *localtime();   
-
-#  endif
-#endif
-
-
 static time_t toutc_dst(time_t loc) {
   struct tm *rsltmp;
 
-  if ((rsltmp = localtime(&loc)) == NULL) return -1;
+  if ((rsltmp = localtime(&loc)) == NULL) return -1u;
   loc -= utc_offset_secs;
   if (rsltmp->tm_isdst) loc -= 3600;
   return loc;
@@ -11636,7 +11432,7 @@
   struct tm *rsltmp;
 
   utc += utc_offset_secs;
-  if ((rsltmp = localtime(&utc)) == NULL) return -1;
+  if ((rsltmp = localtime(&utc)) == NULL) return -1u;
   if (rsltmp->tm_isdst) utc += 3600;
   return utc;
 }
@@ -11645,290 +11441,6 @@
        (gmtime_emulation_type == 1 ? toloc_dst(secs) : \
        ((secs) + utc_offset_secs))))
 
-#ifndef RTL_USES_UTC
-/*
-  
-    ucx$tz = "EST5EDT4,M4.1.0,M10.5.0"  typical 
-        DST starts on 1st sun of april      at 02:00  std time
-            ends on last sun of october     at 02:00  dst time
-    see the UCX management command reference, SET CONFIG TIMEZONE
-    for formatting info.
-
-    No, it's not as general as it should be, but then again, NOTHING
-    will handle UK times in a sensible way. 
-*/
-
-
-/* 
-    parse the DST start/end info:
-    (Jddd|ddd|Mmon.nth.dow)[/hh:mm:ss]
-*/
-
-static char *
-tz_parse_startend(char *s, struct tm *w, int *past)
-{
-    int dinm[] = {31,28,31,30,31,30,31,31,30,31,30,31};
-    int ly, dozjd, d, m, n, hour, min, sec, j, k;
-    time_t g;
-
-    if (!s)    return 0;
-    if (!w) return 0;
-    if (!past) return 0;
-
-    ly = 0;
-    if (w->tm_year % 4        == 0) ly = 1;
-    if (w->tm_year % 100      == 0) ly = 0;
-    if (w->tm_year+1900 % 400 == 0) ly = 1;
-    if (ly) dinm[1]++;
-
-    dozjd = isdigit(*s);
-    if (*s == 'J' || *s == 'j' || dozjd) {
-        if (!dozjd && !isdigit(*++s)) return 0;
-        d = *s++ - '0';
-        if (isdigit(*s)) {
-            d = d*10 + *s++ - '0';
-            if (isdigit(*s)) {
-                d = d*10 + *s++ - '0';
-            }
-        }
-        if (d == 0) return 0;
-        if (d > 366) return 0;
-        d--;
-        if (!dozjd && d > 58 && ly) d++;  /* after 28 feb */
-        g = d * 86400;
-        dozjd = 1;
-    } else if (*s == 'M' || *s == 'm') {
-        if (!isdigit(*++s)) return 0;
-        m = *s++ - '0';
-        if (isdigit(*s)) m = 10*m + *s++ - '0';
-        if (*s != '.') return 0;
-        if (!isdigit(*++s)) return 0;
-        n = *s++ - '0';
-        if (n < 1 || n > 5) return 0;
-        if (*s != '.') return 0;
-        if (!isdigit(*++s)) return 0;
-        d = *s++ - '0';
-        if (d > 6) return 0;
-    }
-
-    if (*s == '/') {
-        if (!isdigit(*++s)) return 0;
-        hour = *s++ - '0';
-        if (isdigit(*s)) hour = 10*hour + *s++ - '0';
-        if (*s == ':') {
-            if (!isdigit(*++s)) return 0;
-            min = *s++ - '0';
-            if (isdigit(*s)) min = 10*min + *s++ - '0';
-            if (*s == ':') {
-                if (!isdigit(*++s)) return 0;
-                sec = *s++ - '0';
-                if (isdigit(*s)) sec = 10*sec + *s++ - '0';
-            }
-        }
-    } else {
-        hour = 2;
-        min = 0;
-        sec = 0;
-    }
-
-    if (dozjd) {
-        if (w->tm_yday < d) goto before;
-        if (w->tm_yday > d) goto after;
-    } else {
-        if (w->tm_mon+1 < m) goto before;
-        if (w->tm_mon+1 > m) goto after;
-
-        j = (42 + w->tm_wday - w->tm_mday)%7;   /*dow of mday 0 */
-        k = d - j; /* mday of first d */
-        if (k <= 0) k += 7;
-        k += 7 * ((n>4?4:n)-1);  /* mday of n'th d */
-        if (n == 5 && k+7 <= dinm[w->tm_mon]) k += 7;
-        if (w->tm_mday < k) goto before;
-        if (w->tm_mday > k) goto after;
-    }
-
-    if (w->tm_hour < hour) goto before;
-    if (w->tm_hour > hour) goto after;
-    if (w->tm_min  < min)  goto before;
-    if (w->tm_min  > min)  goto after;
-    if (w->tm_sec  < sec)  goto before;
-    goto after;
-
-before:
-    *past = 0;
-    return s;
-after:
-    *past = 1;
-    return s;
-}
-
-
-
-
-/*  parse the offset:   (+|-)hh[:mm[:ss]]  */
-
-static char *
-tz_parse_offset(char *s, int *offset)
-{
-    int hour = 0, min = 0, sec = 0;
-    int neg = 0;
-    if (!s) return 0;
-    if (!offset) return 0;
-
-    if (*s == '-') {neg++; s++;}
-    if (*s == '+') s++;
-    if (!isdigit(*s)) return 0;
-    hour = *s++ - '0';
-    if (isdigit(*s)) hour = hour*10+(*s++ - '0');
-    if (hour > 24) return 0;
-    if (*s == ':') {
-        if (!isdigit(*++s)) return 0;
-        min = *s++ - '0';
-        if (isdigit(*s)) min = min*10 + (*s++ - '0');
-        if (min > 59) return 0;
-        if (*s == ':') {
-            if (!isdigit(*++s)) return 0;
-            sec = *s++ - '0';
-            if (isdigit(*s)) sec = sec*10 + (*s++ - '0');
-            if (sec > 59) return 0;
-        }
-    }
-
-    *offset = (hour*60+min)*60 + sec;
-    if (neg) *offset = -*offset;
-    return s;
-}
-
-/*
-    input time is w, whatever type of time the CRTL localtime() uses.
-    sets dst, the zone, and the gmtoff (seconds)
-
-    caches the value of TZ and UCX$TZ env variables; note that 
-    my_setenv looks for these and sets a flag if they're changed
-    for efficiency. 
-
-    We have to watch out for the "australian" case (dst starts in
-    october, ends in april)...flagged by "reverse" and checked by
-    scanning through the months of the previous year.
-
-*/
-
-static int
-tz_parse(pTHX_ time_t *w, int *dst, char *zone, int *gmtoff)
-{
-    time_t when;
-    struct tm *w2;
-    char *s,*s2;
-    char *dstzone, *tz, *s_start, *s_end;
-    int std_off, dst_off, isdst;
-    int y, dststart, dstend;
-    static char envtz[1025];  /* longer than any logical, symbol, ... */
-    static char ucxtz[1025];
-    static char reversed = 0;
-
-    if (!w) return 0;
-
-    if (tz_updated) {
-        tz_updated = 0;
-        reversed = -1;  /* flag need to check  */
-        envtz[0] = ucxtz[0] = '\0';
-        tz = my_getenv("TZ",0);
-        if (tz) strcpy(envtz, tz);
-        tz = my_getenv("UCX$TZ",0);
-        if (tz) strcpy(ucxtz, tz);
-        if (!envtz[0] && !ucxtz[0]) return 0;  /* we give up */
-    }
-    tz = envtz;
-    if (!*tz) tz = ucxtz;
-
-    s = tz;
-    while (isalpha(*s)) s++;
-    s = tz_parse_offset(s, &std_off);
-    if (!s) return 0;
-    if (!*s) {                  /* no DST, hurray we're done! */
-        isdst = 0;
-        goto done;
-    }
-
-    dstzone = s;
-    while (isalpha(*s)) s++;
-    s2 = tz_parse_offset(s, &dst_off);
-    if (s2) {
-        s = s2;
-    } else {
-        dst_off = std_off - 3600;
-    }
-
-    if (!*s) {      /* default dst start/end?? */
-        if (tz != ucxtz) {          /* if TZ tells zone only, UCX$TZ tells rule */
-            s = strchr(ucxtz,',');
-        }
-        if (!s || !*s) s = ",M4.1.0,M10.5.0";   /* we know we do dst, default rule */
-    }
-    if (*s != ',') return 0;
-
-    when = *w;
-    when = _toutc(when);      /* convert to utc */
-    when = when - std_off;    /* convert to pseudolocal time*/
-
-    w2 = localtime(&when);
-    y = w2->tm_year;
-    s_start = s+1;
-    s = tz_parse_startend(s_start,w2,&dststart);
-    if (!s) return 0;
-    if (*s != ',') return 0;
-
-    when = *w;
-    when = _toutc(when);      /* convert to utc */
-    when = when - dst_off;    /* convert to pseudolocal time*/
-    w2 = localtime(&when);
-    if (w2->tm_year != y) {   /* spans a year, just check one time */
-        when += dst_off - std_off;
-        w2 = localtime(&when);
-    }
-    s_end = s+1;
-    s = tz_parse_startend(s_end,w2,&dstend);
-    if (!s) return 0;
-
-    if (reversed == -1) {  /* need to check if start later than end */
-        int j, ds, de;
-
-        when = *w;
-        if (when < 2*365*86400) {
-            when += 2*365*86400;
-        } else {
-            when -= 365*86400;
-        }
-        w2 =localtime(&when);
-        when = when + (15 - w2->tm_yday) * 86400;   /* jan 15 */
-
-        for (j = 0; j < 12; j++) {
-            w2 =localtime(&when);
-            tz_parse_startend(s_start,w2,&ds);
-            tz_parse_startend(s_end,w2,&de);
-            if (ds != de) break;
-            when += 30*86400;
-        }
-        reversed = 0;
-        if (de && !ds) reversed = 1;
-    }
-
-    isdst = dststart && !dstend;
-    if (reversed) isdst = dststart  || !dstend;
-
-done:
-    if (dst)    *dst = isdst;
-    if (gmtoff) *gmtoff = isdst ? dst_off : std_off;
-    if (isdst)  tz = dstzone;
-    if (zone) {
-        while(isalpha(*tz))  *zone++ = *tz++;
-        *zone = '\0';
-    }
-    return 1;
-}
-
-#endif /* !RTL_USES_UTC */
-
 /* my_time(), my_localtime(), my_gmtime()
  * By default traffic in UTC time values, using CRTL gmtime() or
  * SYS$TIMEZONE_DIFFERENTIAL to determine offset from local time zone.
@@ -11977,12 +11489,8 @@
 
   when = time(NULL);
 # ifdef VMSISH_TIME
-# ifdef RTL_USES_UTC
   if (VMSISH_TIME) when = _toloc(when);
-# else
-  if (!VMSISH_TIME) when = _toutc(when);
 # endif
-# endif
   if (timep != NULL) *timep = when;
   return when;
 
@@ -12007,14 +11515,7 @@
 # ifdef VMSISH_TIME
   if (VMSISH_TIME) when = _toutc(when); /* Input was local time */
 #  endif
-# ifdef RTL_USES_UTC  /* this implies that the CRTL has a working gmtime() */
   return gmtime(&when);
-# else
-  /* CRTL localtime() wants local time as input, so does no tz correction */
-  rsltmp = localtime(&when);
-  if (rsltmp) rsltmp->tm_isdst = 0;  /* We already took DST into account */
-  return rsltmp;
-#endif
 }  /* end of my_gmtime() */
 /*}}}*/
 
@@ -12023,9 +11524,7 @@
 struct tm *
 Perl_my_localtime(pTHX_ const time_t *timep)
 {
-  time_t when, whenutc;
-  struct tm *rsltmp;
-  int dst, offset;
+  time_t when;
 
   if (timep == NULL) {
     set_errno(EINVAL); set_vaxc_errno(LIB$_INVARG);
@@ -12035,31 +11534,11 @@
   if (gmtime_emulation_type == 0) my_time(NULL); /* Init UTC */
 
   when = *timep;
-# ifdef RTL_USES_UTC
 # ifdef VMSISH_TIME
   if (VMSISH_TIME) when = _toutc(when);
 # endif
   /* CRTL localtime() wants UTC as input, does tz correction itself */
   return localtime(&when);
-  
-# else /* !RTL_USES_UTC */
-  whenutc = when;
-# ifdef VMSISH_TIME
-  if (!VMSISH_TIME) when = _toloc(whenutc);  /*  input was UTC */
-  if (VMSISH_TIME) whenutc = _toutc(when);   /*  input was truelocal */
-# endif
-  dst = -1;
-#ifndef RTL_USES_UTC
-  if (tz_parse(aTHX_ &when, &dst, 0, &offset)) {   /* truelocal determines DST*/
-      when = whenutc - offset;                   /* pseudolocal time*/
-  }
-# endif
-  /* CRTL localtime() wants local time as input, so does no tz correction */
-  rsltmp = localtime(&when);
-  if (rsltmp && gmtime_emulation_type != 1) rsltmp->tm_isdst = dst;
-  return rsltmp;
-# endif
-
 } /*  end of my_localtime() */
 /*}}}*/
 
@@ -12120,7 +11599,7 @@
 
 #else /* __CRTL_VER < 70300000 */
 
-  register int i;
+  int i;
   int sts;
   long int bintime[2], len = 2, lowbit, unixtime,
            secscale = 10000000; /* seconds --> 100 ns intervals */
@@ -12427,10 +11906,10 @@
   if (!fname || !*fname) return FALSE;
 
   /* Make sure we expand logical names, since sys$check_access doesn't */
-  fileified = PerlMem_malloc(VMS_MAXRSS);
+  fileified = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (fileified == NULL) _ckvmssts_noperl(SS$_INSFMEM);
   if (!strpbrk(fname,"/]>:")) {
-      strcpy(fileified,fname);
+      my_strlcpy(fileified, fname, VMS_MAXRSS);
       trnlnm_iter_count = 0;
       while (!strpbrk(fileified,"/]>:") && my_trnlnm(fileified,fileified,0)) {
         trnlnm_iter_count++; 
@@ -12439,7 +11918,7 @@
       fname = fileified;
   }
 
-  vmsname = PerlMem_malloc(VMS_MAXRSS);
+  vmsname = (char *)PerlMem_malloc(VMS_MAXRSS);
   if (vmsname == NULL) _ckvmssts_noperl(SS$_INSFMEM);
   if ( !(opts & PERL_RMSEXPAND_M_VMS_IN) ) {
     /* Don't know if already in VMS format, so make sure */
@@ -12450,7 +11929,7 @@
     }
   }
   else {
-    strcpy(vmsname,fname);
+    my_strlcpy(vmsname, fname, VMS_MAXRSS);
   }
 
   /* sys$check_access needs a file spec, not a directory spec.
@@ -12514,14 +11993,12 @@
   _ckvmssts_noperl(sys$getjpiw(0,0,0,jpilst,iosb,0,0));
   _ckvmssts_noperl(iosb[0]);
 
-#if defined(__VMS_VER) && __VMS_VER >= 60000000
-
   /* find out the space required for the profile */
   _ckvmssts_noperl(sys$create_user_profile(&usrdsc,&usrprolst,0,0,
                                     &usrprodsc.dsc$w_length,&profile_context));
 
   /* allocate space for the profile and get it filled in */
-  usrprodsc.dsc$a_pointer = PerlMem_malloc(usrprodsc.dsc$w_length);
+  usrprodsc.dsc$a_pointer = (char *)PerlMem_malloc(usrprodsc.dsc$w_length);
   if (usrprodsc.dsc$a_pointer == NULL) _ckvmssts_noperl(SS$_INSFMEM);
   _ckvmssts_noperl(sys$create_user_profile(&usrdsc,&usrprolst,0,usrprodsc.dsc$a_pointer,
                                     &usrprodsc.dsc$w_length,&profile_context));
@@ -12531,12 +12008,6 @@
   PerlMem_free(usrprodsc.dsc$a_pointer);
   if (retsts == SS$_NOCALLPRIV) retsts = SS$_NOPRIV; /* not really 3rd party */
 
-#else
-
-  retsts = sys$check_access(&objtyp,&namdsc,&usrdsc,armlst);
-
-#endif
-
   if (retsts == SS$_NOPRIV      || retsts == SS$_NOSUCHOBJECT ||
       retsts == SS$_INVFILFOROP || retsts == RMS$_FNF || retsts == RMS$_SYN ||
       retsts == RMS$_DIR        || retsts == RMS$_DEV || retsts == RMS$_DNF) {
@@ -12594,10 +12065,11 @@
 int
 Perl_flex_fstat(pTHX_ int fd, Stat_t *statbufp)
 {
+  dSAVE_ERRNO; /* fstat may set this even on success */
   if (!fstat(fd, &statbufp->crtl_stat)) {
     char *cptr;
     char *vms_filename;
-    vms_filename = PerlMem_malloc(VMS_MAXRSS);
+    vms_filename = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (vms_filename == NULL) _ckvmssts(SS$_INSFMEM);
 
     /* Save name for cando by name in VMS format */
@@ -12622,7 +12094,6 @@
     VMS_DEVICE_ENCODE
 	(statbufp->st_dev, statbufp->st_devnam, statbufp->crtl_stat.st_dev);
 
-#   ifdef RTL_USES_UTC
 #   ifdef VMSISH_TIME
     if (VMSISH_TIME) {
       statbufp->st_mtime = _toloc(statbufp->st_mtime);
@@ -12630,17 +12101,7 @@
       statbufp->st_ctime = _toloc(statbufp->st_ctime);
     }
 #   endif
-#   else
-#   ifdef VMSISH_TIME
-    if (!VMSISH_TIME) { /* Return UTC instead of local time */
-#   else
-    if (1) {
-#   endif
-      statbufp->st_mtime = _toutc(statbufp->st_mtime);
-      statbufp->st_atime = _toutc(statbufp->st_atime);
-      statbufp->st_ctime = _toutc(statbufp->st_ctime);
-    }
-#endif
+    RESTORE_ERRNO;
     return 0;
   }
   return -1;
@@ -12651,12 +12112,13 @@
 static int
 Perl_flex_stat_int(pTHX_ const char *fspec, Stat_t *statbufp, int lstat_flag)
 {
-    char *fileified;
-    char *temp_fspec;
+    char *temp_fspec = NULL;
+    char *fileified = NULL;
     const char *save_spec;
     char *ret_spec;
     int retval = -1;
-    int efs_hack = 0;
+    char efs_hack = 0;
+    char already_fileified = 0;
     dSAVEDERRNO;
 
     if (!fspec) {
@@ -12677,44 +12139,41 @@
       }
     }
 
-    /* Try for a directory name first.  If fspec contains a filename without
+    SAVE_ERRNO;
+
+#if __CRTL_VER >= 80200000 && !defined(__VAX)
+  /*
+   * If we are in POSIX filespec mode, accept the filename as is.
+   */
+  if (decc_posix_compliant_pathnames == 0) {
+#endif
+
+    /* Try for a simple stat first.  If fspec contains a filename without
      * a type (e.g. sea:[wine.dark]water), and both sea:[wine.dark]water.dir
-     * and sea:[wine.dark]water. exist, we prefer the directory here.
+     * and sea:[wine.dark]water. exist, the CRTL prefers the directory here.
      * Similarly, sea:[wine.dark] returns the result for sea:[wine]dark.dir,
      * not sea:[wine.dark]., if the latter exists.  If the intended target is
      * the file with null type, specify this by calling flex_stat() with
      * a '.' at the end of fspec.
-     *
-     * If we are in Posix filespec mode, accept the filename as is.
      */
 
+    if (lstat_flag == 0)
+        retval = stat(fspec, &statbufp->crtl_stat);
+    else
+        retval = lstat(fspec, &statbufp->crtl_stat);
 
-    fileified = PerlMem_malloc(VMS_MAXRSS);
-    if (fileified == NULL)
-        _ckvmssts_noperl(SS$_INSFMEM);
-     
-    temp_fspec = PerlMem_malloc(VMS_MAXRSS);
-    if (temp_fspec == NULL)
-        _ckvmssts_noperl(SS$_INSFMEM);
+    if (!retval) {
+        save_spec = fspec;
+    }
+    else {
+        /* In the odd case where we have write but not read access
+         * to a directory, stat('foo.DIR') works but stat('foo') doesn't.
+         */
+        fileified = (char *)PerlMem_malloc(VMS_MAXRSS);
+        if (fileified == NULL)
+              _ckvmssts_noperl(SS$_INSFMEM);
 
-    strcpy(temp_fspec, fspec);
-
-    SAVE_ERRNO;
-
-#if __CRTL_VER >= 80200000 && !defined(__VAX)
-  if (decc_posix_compliant_pathnames == 0) {
-#endif
-
-    /* We may be able to optimize this, but in order for fileify_dirspec to
-     * always return a usuable answer, we have to call vmspath first to
-     * make sure that it is in VMS directory format, as stat/lstat on 8.3
-     * can not handle directories in unix format that it does not have read
-     * access to.  Vmspath handles the case where a bare name which could be
-     * a logical name gets passed.
-     */ 
-    ret_spec = int_tovmspath(fspec, temp_fspec, NULL);
-    if (ret_spec != NULL) {
-        ret_spec = int_fileify_dirspec(temp_fspec, fileified, NULL); 
+        ret_spec = int_fileify_dirspec(fspec, fileified, NULL); 
         if (ret_spec != NULL) {
             if (lstat_flag == 0)
                 retval = stat(fileified, &statbufp->crtl_stat);
@@ -12721,15 +12180,18 @@
             else
                 retval = lstat(fileified, &statbufp->crtl_stat);
             save_spec = fileified;
+            already_fileified = 1;
         }
     }
 
     if (retval && vms_bug_stat_filename) {
 
-        /* We should try again as a vmsified file specification */
-        /* However Perl traditionally has not done this, which  */
-        /* causes problems with existing tests */
+        temp_fspec = (char *)PerlMem_malloc(VMS_MAXRSS);
+        if (temp_fspec == NULL)
+            _ckvmssts_noperl(SS$_INSFMEM);
 
+        /* We should try again as a vmsified file specification. */
+
         ret_spec = int_tovmsspec(fspec, temp_fspec, 0, NULL);
         if (ret_spec != NULL) {
             if (lstat_flag == 0)
@@ -12741,7 +12203,7 @@
     }
 
     if (retval) {
-        /* Last chance - allow multiple dots with out EFS CHARSET */
+        /* Last chance - allow multiple dots without EFS CHARSET */
         /* The CRTL stat() falls down hard on multi-dot filenames in unix
          * format unless * DECC$EFS_CHARSET is in effect, so temporarily
          * enable it if it isn't already.
@@ -12780,8 +12242,8 @@
 #endif
 
     if (!retval) {
-    char * cptr;
-    int rmsex_flags = PERL_RMSEXPAND_M_VMS;
+      char *cptr;
+      int rmsex_flags = PERL_RMSEXPAND_M_VMS;
 
       /* If this is an lstat, do not follow the link */
       if (lstat_flag)
@@ -12794,7 +12256,27 @@
           decc$feature_set_value(decc_efs_charset_index, 1, 1);
       }
 #endif
-      cptr = int_rmsexpand_tovms(save_spec, statbufp->st_devnam, rmsex_flags);
+
+      /* If we've got a directory, save a fileified, expanded version of it
+       * in st_devnam.  If not a directory, just an expanded version.
+       */
+      if (S_ISDIR(statbufp->st_mode) && !already_fileified) {
+          fileified = (char *)PerlMem_malloc(VMS_MAXRSS);
+          if (fileified == NULL)
+              _ckvmssts_noperl(SS$_INSFMEM);
+
+          cptr = do_fileify_dirspec(save_spec, fileified, 0, NULL);
+          if (cptr != NULL)
+              save_spec = fileified;
+      }
+
+      cptr = int_rmsexpand(save_spec, 
+                           statbufp->st_devnam,
+                           NULL,
+                           rmsex_flags,
+                           0,
+                           0);
+
 #if __CRTL_VER >= 70300000 && !defined(__VAX)
       if (efs_hack && (decc_efs_charset_index > 0)) {
           decc$feature_set_value(decc_efs_charset, 1, 0);
@@ -12809,7 +12291,6 @@
       VMS_INO_T_COPY(statbufp->st_ino, statbufp->crtl_stat.st_ino);
       VMS_DEVICE_ENCODE
 	(statbufp->st_dev, statbufp->st_devnam, statbufp->crtl_stat.st_dev);
-#     ifdef RTL_USES_UTC
 #     ifdef VMSISH_TIME
       if (VMSISH_TIME) {
         statbufp->st_mtime = _toloc(statbufp->st_mtime);
@@ -12817,22 +12298,13 @@
         statbufp->st_ctime = _toloc(statbufp->st_ctime);
       }
 #     endif
-#     else
-#     ifdef VMSISH_TIME
-      if (!VMSISH_TIME) { /* Return UTC instead of local time */
-#     else
-      if (1) {
-#     endif
-        statbufp->st_mtime = _toutc(statbufp->st_mtime);
-        statbufp->st_atime = _toutc(statbufp->st_atime);
-        statbufp->st_ctime = _toutc(statbufp->st_ctime);
-      }
-#     endif
     }
     /* If we were successful, leave errno where we found it */
     if (retval == 0) RESTORE_ERRNO;
-    PerlMem_free(temp_fspec);
-    PerlMem_free(fileified);
+    if (temp_fspec)
+        PerlMem_free(temp_fspec);
+    if (fileified)
+        PerlMem_free(fileified);
     return retval;
 
 }  /* end of flex_stat_int() */
@@ -12907,9 +12379,9 @@
     struct XABRDT xabrdt;
     struct XABSUM xabsum;
 
-    vmsin = PerlMem_malloc(VMS_MAXRSS);
+    vmsin = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (vmsin == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-    vmsout = PerlMem_malloc(VMS_MAXRSS);
+    vmsout = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (vmsout == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     if (!spec_in  || !*spec_in  || !int_tovmsspec(spec_in, vmsin, 1, NULL) ||
         !spec_out || !*spec_out || !int_tovmsspec(spec_out, vmsout, 1, NULL)) {
@@ -12919,11 +12391,11 @@
       return 0;
     }
 
-    esa = PerlMem_malloc(VMS_MAXRSS);
+    esa = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (esa == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     esal = NULL;
 #if !defined(__VAX) && defined(NAML$C_MAXRSS)
-    esal = PerlMem_malloc(VMS_MAXRSS);
+    esal = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (esal == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 #endif
     fab_in = cc$rms_fab;
@@ -12934,11 +12406,11 @@
     rms_bind_fab_nam(fab_in, nam);
     fab_in.fab$l_xab = (void *) &xabdat;
 
-    rsa = PerlMem_malloc(VMS_MAXRSS);
+    rsa = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (rsa == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     rsal = NULL;
 #if !defined(__VAX) && defined(NAML$C_MAXRSS)
-    rsal = PerlMem_malloc(VMS_MAXRSS);
+    rsal = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (rsal == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 #endif
     rms_set_rsal(nam, rsa, NAM$C_MAXRSS, rsal, (VMS_MAXRSS - 1));
@@ -12997,16 +12469,16 @@
     rms_set_fna(fab_out, nam_out, vmsout, strlen(vmsout));
     dna_len = rms_nam_namel(nam) ? rms_nam_name_type_l_size(nam) : 0;
     rms_set_dna(fab_out, nam_out, rms_nam_namel(nam), dna_len);
-    esa_out = PerlMem_malloc(NAM$C_MAXRSS + 1);
+    esa_out = (char *)PerlMem_malloc(NAM$C_MAXRSS + 1);
     if (esa_out == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-    rsa_out = PerlMem_malloc(NAM$C_MAXRSS + 1);
+    rsa_out = (char *)PerlMem_malloc(NAM$C_MAXRSS + 1);
     if (rsa_out == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     esal_out = NULL;
     rsal_out = NULL;
 #if !defined(__VAX) && defined(NAML$C_MAXRSS)
-    esal_out = PerlMem_malloc(VMS_MAXRSS);
+    esal_out = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (esal_out == NULL) _ckvmssts_noperl(SS$_INSFMEM);
-    rsal_out = PerlMem_malloc(VMS_MAXRSS);
+    rsal_out = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (rsal_out == NULL) _ckvmssts_noperl(SS$_INSFMEM);
 #endif
     rms_set_rsal(nam_out, rsa_out, NAM$C_MAXRSS, rsal_out, (VMS_MAXRSS - 1));
@@ -13088,7 +12560,7 @@
       fab_out.fab$l_xab = (void *) &xabrdt;
     }
 
-    ubf = PerlMem_malloc(32256);
+    ubf = (char *)PerlMem_malloc(32256);
     if (ubf == NULL) _ckvmssts_noperl(SS$_INSFMEM);
     rab_in = cc$rms_rab;
     rab_in.rab$l_fab = &fab_in;
@@ -13486,14 +12958,14 @@
   for(counter = 0; counter <= num_entries; counter++) {
     /* If it's not the first name then tack on a __ */
     if (counter) {
-      strcat(work_name, "__");
+      my_strlcat(work_name, "__", sizeof(work_name));
     }
-    strcat(work_name, SvPV_nolen(*av_fetch(in_array, counter, FALSE)));
+    my_strlcat(work_name, SvPV_nolen(*av_fetch(in_array, counter, FALSE)), sizeof(work_name));
   }
 
   /* Check to see if we actually have to bother...*/
   if (strlen(work_name) + 3 <= max_name_len) {
-    strcat(ultimate_name, work_name);
+    my_strlcat(ultimate_name, work_name, sizeof(ultimate_name));
   } else {
     /* It's too darned big, so we need to go strip. We use the same */
     /* algorithm as xsubpp does. First, strip out doubled __ */
@@ -13508,7 +12980,7 @@
       last = *source;
     }
     /* Go put it back */
-    strcpy(work_name, workbuff);
+    my_strlcpy(work_name, workbuff, sizeof(work_name));
     /* Is it still too big? */
     if (strlen(work_name) + 3 > max_name_len) {
       /* Strip duplicate letters */
@@ -13521,7 +12993,7 @@
 	*dest++ = *source;
 	last = toupper(*source);
       }
-      strcpy(work_name, workbuff);
+      my_strlcpy(work_name, workbuff, sizeof(work_name));
     }
 
     /* Is it *still* too big? */
@@ -13529,7 +13001,7 @@
       /* Too bad, we truncate */
       work_name[max_name_len - 2] = 0;
     }
-    strcat(ultimate_name, work_name);
+    my_strlcat(ultimate_name, work_name, sizeof(ultimate_name));
   }
 
   /* Okay, return it */
@@ -13676,7 +13148,7 @@
 	for (cp=wilddsc.dsc$a_pointer; ok && cp && *cp; cp++) {
 	    if (*cp == '?') {
                 wildquery = 1;
-                if (!decc_efs_case_preserve)
+                if (!decc_efs_charset)
                     *cp = '%';
             } else if (*cp == '%') {
                 wildquery = 1;
@@ -13738,7 +13210,7 @@
 
                 /* In Unix report mode, remove the ".dir;1" from the name */
                 /* if it is a real directory */
-                if (decc_filename_unix_report || decc_efs_charset) {
+                if (decc_filename_unix_report && decc_efs_charset) {
                     if (is_dir_ext(e_spec, e_len, vs_spec, vs_len)) {
                         Stat_t statbuf;
                         int ret_sts;
@@ -13807,7 +13279,7 @@
 
 	if (!found) {
 	    /* Be POSIXish: return the input pattern when no matches */
-	    strcpy(rstr,SvPVX(tmpglob));
+	    my_strlcpy(rstr, SvPVX(tmpglob), VMS_MAXRSS);
 	    strcat(rstr,"\n");
 	    ok = (PerlIO_puts(tmpfp,rstr) != EOF);
 	}
@@ -13893,42 +13365,28 @@
 #ifdef HAS_SYMLINK
 /*
  * A thin wrapper around decc$symlink to make sure we follow the 
- * standard and do not create a symlink with a zero-length name.
- *
- * Also in ODS-2 mode, existing tests assume that the link target
- * will be converted to UNIX format.
+ * standard and do not create a symlink with a zero-length name,
+ * and convert the target to Unix format, as the CRTL can't handle
+ * targets in VMS format.
  */
 /*{{{ int my_symlink(pTHX_ const char *contents, const char *link_name)*/
-int Perl_my_symlink(pTHX_ const char *contents, const char *link_name) {
-  if (!link_name || !*link_name) {
-    SETERRNO(ENOENT, SS$_NOSUCHFILE);
-    return -1;
-  }
+int
+Perl_my_symlink(pTHX_ const char *contents, const char *link_name)
+{
+    int sts;
+    char * utarget;
 
-  if (decc_efs_charset) {
-      return symlink(contents, link_name);
-  } else {
-      int sts;
-      char * utarget;
+    if (!link_name || !*link_name) {
+      SETERRNO(ENOENT, SS$_NOSUCHFILE);
+      return -1;
+    }
 
-      /* Unless we are in ODS-5 mode, convert the symlink target to UNIX */
-      /* because in order to work, the symlink target must be in UNIX format */
-
-      /* As symbolic links can hold things other than files, we will only do */
-      /* the conversion in in ODS-2 mode */
-
-      utarget = PerlMem_malloc(VMS_MAXRSS + 1);
-      if (int_tounixspec(contents, utarget, NULL) == NULL) {
-
-          /* This should not fail, as an untranslatable filename */
-          /* should be passed through */
-          utarget = (char *)contents;
-      }
-      sts = symlink(utarget, link_name);
-      PerlMem_free(utarget);
-      return sts;
-  }
-
+    utarget = (char *)PerlMem_malloc(VMS_MAXRSS + 1);
+    /* An untranslatable filename should be passed through. */
+    (void) int_tounixspec(contents, utarget, NULL);
+    sts = symlink(utarget, link_name);
+    PerlMem_free(utarget);
+    return sts;
 }
 /*}}}*/
 
@@ -14019,6 +13477,10 @@
  * on OpenVMS.
  */
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* Hack, use old stat() as fastest way of getting ino_t and device */
 int decc$stat(const char *name, void * statbuf);
 #if !defined(__VAX) && __CRTL_VER >= 80200000
@@ -14027,7 +13489,11 @@
 #define decc$lstat decc$stat
 #endif
 
+#ifdef __cplusplus
+}
+#endif
 
+
 /* Realpath is fragile.  In 8.3 it does not work if the feature
  * DECC$POSIX_COMPLIANT_PATHNAMES is not enabled, even though symbolic
  * links are implemented in RMS, not the CRTL. It also can fail if the 
@@ -14064,11 +13530,11 @@
      * unexpected answers
      */
 
-    fileified = PerlMem_malloc(VMS_MAXRSS);
+    fileified = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (fileified == NULL)
         _ckvmssts_noperl(SS$_INSFMEM);
      
-    temp_fspec = PerlMem_malloc(VMS_MAXRSS);
+    temp_fspec = (char *)PerlMem_malloc(VMS_MAXRSS);
     if (temp_fspec == NULL)
         _ckvmssts_noperl(SS$_INSFMEM);
 
@@ -14259,7 +13725,7 @@
 		    /* 2. ODS-5 / UNIX report mode should return a failure */
 		    /*    if the parent directory also does not exist */
 		    /*    Otherwise, get the real path for the parent */
-		    /*    and add the child to it.
+		    /*    and add the child to it. */
 
 		    /* basename / dirname only available for VMS 7.0+ */
 		    /* So we may need to implement them as common routines */
@@ -14290,7 +13756,7 @@
 
 			int dir_len = v_len + r_len + d_len + n_len;
 			if (dir_len > 0) {
-			   strncpy(dir_name, filespec, dir_len);
+			   memcpy(dir_name, filespec, dir_len);
 			   dir_name[dir_len] = '\0';
 			   file_name = (char *)&filespec[dir_len + 1];
 			}
@@ -14302,7 +13768,7 @@
 
 			if (tchar != NULL) {
 			    int dir_len = tchar - filespec;
-			    strncpy(dir_name, filespec, dir_len);
+			    memcpy(dir_name, filespec, dir_len);
 			    dir_name[dir_len] = '\0';
 			    file_name = (char *) &filespec[dir_len + 1];
 			}
@@ -14320,13 +13786,13 @@
 					  dir_name, 0, NULL);
 
 		    if (sts == 0) {
-		        /* Now need to pathify it.
+		        /* Now need to pathify it. */
 		        char *tdir = int_pathify_dirspec(vms_dir_name,
 							 outbuf);
 
 			/* And now add the original filespec to it */
 			if (file_name != NULL) {
-			    strcat(outbuf, file_name);
+			    my_strlcat(outbuf, file_name, VMS_MAXRSS);
 			}
 			return outbuf;
 		    }
@@ -14427,13 +13893,59 @@
 
  /* Start of DECC RTL Feature handling */
 
+#if __CRTL_VER >= 70300000 && !defined(__VAX)
 
+static int
+set_feature_default(const char *name, int value)
+{
+    int status;
+    int index;
+    char val_str[10];
+
+    /* If the feature has been explicitly disabled in the environment,
+     * then don't enable it here.
+     */
+    if (value > 0) {
+        status = simple_trnlnm(name, val_str, sizeof(val_str));
+        if ($VMS_STATUS_SUCCESS(status)) {
+            val_str[0] = _toupper(val_str[0]);
+            if (val_str[0] == 'D' || val_str[0] == '0' || val_str[0] == 'F')
+	        return 0;
+        }
+    }
+
+    index = decc$feature_get_index(name);
+
+    status = decc$feature_set_value(index, 1, value);
+    if (index == -1 || (status == -1)) {
+      return -1;
+    }
+
+    status = decc$feature_get_value(index, 1);
+    if (status != value) {
+      return -1;
+    }
+
+    /* Various things may check for an environment setting
+     * rather than the feature directly, so set that too.
+     */
+    vmssetuserlnm(name, value ? "ENABLE" : "DISABLE");
+
+    return 0;
+}
+#endif
+
+
 /* C RTL Feature settings */
 
-static int set_features
-   (int (* init_coroutine)(int *, int *, void *),  /* Needs casts if used */
-    int (* cli_routine)(void),	/* Not documented */
-    void *image_info)		/* Not documented */
+#if defined(__DECC) || defined(__DECCXX)
+
+#ifdef __cplusplus 
+extern "C" { 
+#endif 
+ 
+extern void
+vmsperl_set_features(void)
 {
     int status;
     int s;
@@ -14511,14 +14023,12 @@
 	 vms_unlink_all_versions = 0;
     }
 
-    /* Dectect running under GNV Bash or other UNIX like shell */
 #if __CRTL_VER >= 70300000 && !defined(__VAX)
+    /* Detect running under GNV Bash or other UNIX like shell */
     gnv_unix_shell = 0;
     status = simple_trnlnm("GNV$UNIX_SHELL", val_str, sizeof(val_str));
     if ($VMS_STATUS_SUCCESS(status)) {
 	 gnv_unix_shell = 1;
-	 set_feature_default("DECC$EFS_CASE_PRESERVE", 1);
-	 set_feature_default("DECC$EFS_CHARSET", 1);
 	 set_feature_default("DECC$FILENAME_UNIX_NO_VERSION", 1);
 	 set_feature_default("DECC$FILENAME_UNIX_REPORT", 1);
 	 set_feature_default("DECC$READDIR_DROPDOTNOTYPE", 1);
@@ -14526,6 +14036,10 @@
 	 vms_unlink_all_versions = 1;
 	 vms_posix_exit = 1;
     }
+    /* Some reasonable defaults that are not CRTL defaults */
+    set_feature_default("DECC$EFS_CASE_PRESERVE", 1);
+    set_feature_default("DECC$ARGV_PARSE_STYLE", 1);     /* Requires extended parse. */
+    set_feature_default("DECC$EFS_CHARSET", 1);
 #endif
 
     /* hacks to see if known bugs are still present for testing */
@@ -14541,17 +14055,6 @@
 	  decc_bug_devnull = 0;
     }
 
-    /* UNIX directory names with no paths are broken in a lot of places */
-    decc_dir_barename = 1;
-    status = simple_trnlnm("DECC_DIR_BARENAME", val_str, sizeof(val_str));
-    if ($VMS_STATUS_SUCCESS(status)) {
-      val_str[0] = _toupper(val_str[0]);
-      if ((val_str[0] == 'E') || (val_str[0] == '1') || (val_str[0] == 'T'))
-	decc_dir_barename = 1;
-      else
-	decc_dir_barename = 0;
-    }
-
 #if __CRTL_VER >= 70300000 && !defined(__VAX)
     s = decc$feature_get_index("DECC$DISABLE_TO_VMS_LOGNAME_TRANSLATION");
     if (s >= 0) {
@@ -14700,44 +14203,38 @@
        else
 	 vms_posix_exit = 0;
     }
-
-
-    /* CRTL can be initialized past this point, but not before. */
-/*    DECC$CRTL_INIT(); */
-
-    return SS$_NORMAL;
 }
 
-#ifdef __DECC
-#pragma nostandard
-#pragma extern_model save
-#pragma extern_model strict_refdef "LIB$INITIALIZ" nowrt
-	const __align (LONGWORD) int spare[8] = {0};
-
-/* .psect LIB$INITIALIZE, NOPIC, USR, CON, REL, GBL, NOSHR, NOEXE, RD, NOWRT, LONG */
-#if __DECC_VER >= 60560002
-#pragma extern_model strict_refdef "LIB$INITIALIZE" nopic, con, rel, gbl, noshr, noexe, nowrt, long
-#else
-#pragma extern_model strict_refdef "LIB$INITIALIZE" nopic, con, gbl, noshr, nowrt, long
+/* Use 32-bit pointers because that's what the image activator
+ * assumes for the LIB$INITIALZE psect.
+ */ 
+#if __INITIAL_POINTER_SIZE 
+#pragma pointer_size save 
+#pragma pointer_size 32 
+#endif 
+ 
+/* Create a reference to the LIB$INITIALIZE function. */ 
+extern void LIB$INITIALIZE(void); 
+extern void (*vmsperl_unused_global_1)(void) = LIB$INITIALIZE; 
+ 
+/* Create an array of pointers to the init functions in the special 
+ * LIB$INITIALIZE section. In our case, the array only has one entry.
+ */ 
+#pragma extern_model save 
+#pragma extern_model strict_refdef "LIB$INITIALIZE" nopic,gbl,nowrt,noshr,long 
+extern void (* const vmsperl_unused_global_2[])() = 
+{ 
+   vmsperl_set_features,
+}; 
+#pragma extern_model restore 
+ 
+#if __INITIAL_POINTER_SIZE 
+#pragma pointer_size restore 
+#endif 
+ 
+#ifdef __cplusplus 
+} 
 #endif
-#endif /* __DECC */
 
-const long vms_cc_features = (const long)set_features;
-
-/*
-** Force a reference to LIB$INITIALIZE to ensure it
-** exists in the image.
-*/
-#define lib$initialize LIB$INITIALIZE
-int lib$initialize(void);
-#ifdef __DECC
-#pragma extern_model strict_refdef
-#endif
-    int lib_init_ref = (int) lib$initialize;
-
-#ifdef __DECC
-#pragma extern_model restore
-#pragma standard
-#endif
-
+#endif /* defined(__DECC) || defined(__DECCXX) */
 /*  End of vms.c */


Property changes on: vendor/perl/dist/vms/vms.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/vms/vmsish.h
===================================================================
--- vendor/perl/dist/vms/vmsish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/vmsish.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -24,9 +24,12 @@
  * ADDRCONSTEXT,NEEDCONSTEXT: initialization of data with non-constant values
  *                            (e.g. pointer fields of descriptors)
  */
-#if defined(__DECC) || defined(__DECCXX)
+#ifdef __DECC
 #  pragma message disable (ADDRCONSTEXT,NEEDCONSTEXT)
 #endif
+#ifdef __DECCXX
+#  pragma message informational (INTSIGNCHANGE,CASTQUALTYP,ASSCOMMEA,NOCTOBUTCONREFM)
+#endif
 
 /* DEC's C compilers and gcc use incompatible definitions of _to(upp|low)er() */
 #ifdef _toupper
@@ -37,14 +40,6 @@
 #  undef _tolower
 #endif
 #define _tolower(c) (((c) < 'A' || (c) > 'Z') ? (c) : (c) | 040)
-/* DECC 1.3 has a funny definition of abs; it's fixed in DECC 4.0, so this
- * can go away once DECC 1.3 isn't in use any more. */
-#if defined(__ALPHA) && (defined(__DECC) || defined(__DECCXX))
-#undef abs
-#define abs(__x)        __ABS(__x)
-#undef labs
-#define labs(__x)        __LABS(__x)
-#endif /* __ALPHA && __DECC */
 
 /* Assorted things to look like Unix */
 #ifdef __GNUC__
@@ -93,19 +88,9 @@
 #define HAS_GETENV_SV
 #define HAS_GETENV_LEN
 
-/* All this stiff is for the x2P programs. Hopefully they'll still work */
-#if defined(PERL_FOR_X2P)
-#ifndef aTHX_
-#define aTHX_
-#endif
-#ifndef pTHX_
-#define pTHX_
-#endif
-#ifndef pTHX
-#define pTHX
-#endif
-#endif
 
+#ifndef PERL_FOR_X2P
+
 #ifndef DONT_MASK_RTL_CALLS
 #  ifdef getenv
 #    undef getenv
@@ -229,6 +214,7 @@
 #define vms_realpath(a,b,c)		Perl_vms_realpath(aTHX_ a,b,c)
 #define vmssetenv(a,b,c)		Perl_vmssetenv(aTHX_ a,b,c)
 #define vmstrnenv(a,b,c,d,e)		Perl_vmstrnenv(a,b,c,d,e)
+#define vmssetuserlnm(a,b)		Perl_vmssetuserlnm(a,b)
 
 /* Delete if at all possible, changing protections if necessary. */
 #define unlink(a) kill_file(a)
@@ -253,6 +239,7 @@
 #ifndef DONT_MASK_RTL_CALLS
 #  define tmpfile Perl_my_tmpfile
 #endif
+#endif
 
 
 /* BIG_TIME:
@@ -279,16 +266,6 @@
  */
 #define ALTERNATE_SHEBANG "$"
 
-/* Lower case entry points for these are missing in some earlier RTLs 
- * so we borrow the defines and declares from errno.h and upcase them.
- */
-#if defined(VMS_WE_ARE_CASE_SENSITIVE) && (__DECC_VER < 50500000)
-#  define errno      (*CMA$TIS_ERRNO_GET_ADDR())
-#  define vaxc$errno (*CMA$TIS_VMSERRNO_GET_ADDR())
-   int *CMA$TIS_ERRNO_GET_ADDR     (void);   /* UNIX style error code        */
-   int *CMA$TIS_VMSERRNO_GET_ADDR  (void);   /* VMS error (errno == EVMSERR) */
-#endif
-
 /* Macros to set errno using the VAX thread-safe calls, if present */
 #if (defined(__DECC) || defined(__DECCXX)) && !defined(__ALPHA)
 #  define set_errno(v)      (cma$tis_errno_set_value(v))
@@ -333,7 +310,7 @@
 #define PERL__TRNENV_JOIN_SEARCHLIST 0x02
 
 /* Handy way to vet calls to VMS system services and RTL routines. */
-#define _ckvmssts(call) STMT_START { register unsigned long int __ckvms_sts; \
+#define _ckvmssts(call) STMT_START { unsigned long int __ckvms_sts; \
   if (!((__ckvms_sts=(call))&1)) { \
   set_errno(EVMSERR); set_vaxc_errno(__ckvms_sts); \
   Perl_croak(aTHX_ "Fatal VMS error (status=%d) at %s, line %d", \
@@ -341,23 +318,18 @@
 
 /* Same thing, but don't call back to Perl's croak(); useful for errors
  * occurring during startup, before Perl's state is initialized */
-#define _ckvmssts_noperl(call) STMT_START { register unsigned long int __ckvms_sts; \
+#define _ckvmssts_noperl(call) STMT_START { unsigned long int __ckvms_sts; \
   if (!((__ckvms_sts=(call))&1)) { \
   set_errno(EVMSERR); set_vaxc_errno(__ckvms_sts); \
-  fprintf(stderr,"Fatal VMS error (status=%d) at %s, line %d", \
-  __ckvms_sts,__FILE__,__LINE__); lib$signal(__ckvms_sts); } } STMT_END
+  (void)fprintf(stderr,"Fatal VMS error (status=%d) at %s, line %d", \
+  __ckvms_sts,__FILE__,__LINE__); (void)lib$signal(__ckvms_sts); } } STMT_END
 
 #ifdef VMS_DO_SOCKETS
-#include "sockadapt.h"
 #define PERL_SOCK_SYSREAD_IS_RECV
 #define PERL_SOCK_SYSWRITE_IS_SEND
 #endif
 
-#if __CRTL_VER < 70000000
-#define BIT_BUCKET "_NLA0:"
-#else
 #define BIT_BUCKET "/dev/null"
-#endif
 #define PERL_SYS_INIT_BODY(c,v)	MALLOC_CHECK_TAINT2(*c,*v) vms_image_init((c),(v)); PERLIO_INIT; MALLOC_INIT
 #define PERL_SYS_TERM_BODY()		HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM
 #define dXSUB_SYS
@@ -388,11 +360,7 @@
  *	This symbol, if defined, indicates that the ioctl() routine is
  *	available to set I/O characteristics
  */
-#if defined(__CRTL_VER) && __CRTL_VER >= 70000000
 #define	HAS_IOCTL		/**/
-#else
-#undef	HAS_IOCTL		/**/
-#endif
  
 /* HAS_UTIME:
  *	This symbol, if defined, indicates that the routine utime() is
@@ -530,46 +498,12 @@
 #define localtime(t) my_localtime(t)
 #define time(t) my_time(t)
 
-/* If we're using an older version of VMS whose Unix signal emulation
- * isn't very POSIXish, then roll our own.
- */
-#if __VMS_VER < 70000000 || __DECC_VER < 50200000
-#  define HOMEGROWN_POSIX_SIGNALS
-#endif
-#ifdef HOMEGROWN_POSIX_SIGNALS
-#  define sigemptyset(t) my_sigemptyset(t)
-#  define sigfillset(t) my_sigfillset(t)
-#  define sigaddset(t, u) my_sigaddset(t, u)
-#  define sigdelset(t, u) my_sigdelset(t, u)
-#  define sigismember(t, u) my_sigismember(t, u)
-#  define sigprocmask(t, u, v) my_sigprocmask(t, u, v)
-#  ifndef _SIGSET_T
-   typedef int sigset_t;
-#  endif
-   /* The tools for sigprocmask() are there, just not the routine itself */
-#  ifndef SIG_UNBLOCK
-#    define SIG_UNBLOCK 1
-#  endif
-#  ifndef SIG_BLOCK
-#    define SIG_BLOCK 2
-#  endif
-#  ifndef SIG_SETMASK
-#    define SIG_SETMASK 3
-#  endif
-#  define sigaction sigvec
-#  define sa_flags sv_onstack
-#  define sa_handler sv_handler
-#  define sa_mask sv_mask
-#  define sigsuspend(set) sigpause(*set)
-#  define sigpending(a) (not_here("sigpending"),0)
-#else
 /*
  * The C RTL's sigaction fails to check for invalid signal numbers so we 
  * help it out a bit.
  */
-#  ifndef DONT_MASK_RTL_CALLS
+#ifndef DONT_MASK_RTL_CALLS
 #    define sigaction(a,b,c) Perl_my_sigaction(aTHX_ a,b,c)
-#  endif
 #endif
 #ifdef KILL_BY_SIGPRC
 #  define kill  Perl_my_kill
@@ -732,24 +666,6 @@
 #  pragma __member_alignment __restore
 #endif
 
-/*
- * DEC C previous to 6.0 corrupts the behavior of the /prefix
- * qualifier with the extern prefix pragma.  This provisional
- * hack circumvents this prefix pragma problem in previous 
- * precompilers.
- */
-#if defined(__VMS_VER) && __VMS_VER >= 70000000
-#  if defined(VMS_WE_ARE_CASE_SENSITIVE) && (__DECC_VER < 60000000)
-#    pragma __extern_prefix save
-#    pragma __extern_prefix ""  /* set to empty to prevent prefixing */
-#    define geteuid decc$__unix_geteuid
-#    define getuid decc$__unix_getuid
-#    define stat(__p1,__p2)   decc$__utc_stat(__p1,__p2)
-#    define fstat(__p1,__p2)  decc$__utc_fstat(__p1,__p2)
-#    pragma __extern_prefix restore
-#  endif
-#endif
-
 #ifndef DONT_MASK_RTL_CALLS  /* defined for vms.c so we can see RTL calls */
 #  ifdef stat
 #    undef stat
@@ -764,33 +680,14 @@
 #define S_IDOTH (S_IWOTH | S_IXOTH)
 
 
+#ifndef PERL_FOR_X2P
 /* Prototypes for functions unique to vms.c.  Don't include replacements
  * for routines in the mainline source files excluded by #ifndef VMS;
  * their prototypes are already in proto.h.
- *
- * In order to keep Gen_ShrFls.Pl happy, functions which are to be made
- * available to images linked to PerlShr.Exe must be declared between the
- * __VMS_PROTOTYPES__ and __VMS_SEPYTOTORP__ lines, and must be in the form
- *    <data type><TAB>name<WHITESPACE>(<prototype args>);
  */
 
-#ifdef NO_PERL_TYPEDEFS
-  /* We don't have Perl typedefs available (e.g. when building a2p), so
-     we fake them here.  N.B.  There is *no* guarantee that the faked
-     prototypes will actually match the real routines.  If you want to
-     call Perl routines, include perl.h to get the real typedefs.  */
-#  ifndef bool
-#    define bool int
-#    define __MY_BOOL_TYPE_FAKE
-#  endif
-#  ifndef I32
-#    define I32  int
-#    define __MY_I32_TYPE_FAKE
-#  endif
-#  ifndef SV
-#    define SV   void   /* Since we only see SV * in prototypes */
-#    define __MY_SV_TYPE_FAKE
-#  endif
+#ifdef __cplusplus
+extern "C" {
 #endif
 
 void	prime_env_iter (void);
@@ -797,8 +694,6 @@
 void	init_os_extras (void);
 int	Perl_vms_status_to_unix(int vms_status, int child_flag);
 int	Perl_unix_status_to_vms(int unix_status);
-/* prototype section start marker; `typedef' passes through cpp */
-typedef char  __VMS_PROTOTYPES__;
 int	Perl_vmstrnenv (const char *, char *, unsigned long int, struct dsc$descriptor_s **, unsigned long int);
 char *	Perl_vms_realpath (pTHX_ const char *, char *, int *);
 char *	Perl_my_getenv (pTHX_ const char *, bool);
@@ -841,7 +736,7 @@
 int	Perl_vms_case_tolerant(void);
 char *	Perl_my_getenv_len (pTHX_ const char *, unsigned long *, bool);
 int	Perl_vmssetenv (pTHX_ const char *, const char *, struct dsc$descriptor_s **);
-void	Perl_vmssetuserlnm(pTHX_ const char *name, const char *eqv);
+void	Perl_vmssetuserlnm(const char *name, const char *eqv);
 char *	Perl_my_crypt (pTHX_ const char *, const char *);
 Pid_t	Perl_my_waitpid (pTHX_ Pid_t, int *, int);
 char *	my_gconvert (double, int, int, char *);
@@ -849,9 +744,7 @@
 int	Perl_my_chdir (pTHX_ const char *);
 int	Perl_my_chmod(pTHX_ const char *, mode_t);
 FILE *	Perl_my_tmpfile (void);
-#ifndef HOMEGROWN_POSIX_SIGNALS
 int	Perl_my_sigaction (pTHX_ int, const struct sigaction*, struct sigaction*);
-#endif
 #ifdef KILL_BY_SIGPRC
 unsigned int	Perl_sig_to_vmscondition (int);
 int	Perl_my_kill (int, int);
@@ -868,14 +761,6 @@
 struct tm *	Perl_my_gmtime (pTHX_ const time_t *);
 struct tm *	Perl_my_localtime (pTHX_ const time_t *);
 time_t	Perl_my_time (pTHX_ time_t *);
-#ifdef HOMEGROWN_POSIX_SIGNALS
-int     my_sigemptyset (sigset_t *);
-int     my_sigfillset  (sigset_t *);
-int     my_sigaddset   (sigset_t *, int);
-int     my_sigdelset   (sigset_t *, int);
-int     my_sigismember (sigset_t *, int);
-int     my_sigprocmask (int, sigset_t *, sigset_t *);
-#endif
 I32	Perl_cando_by_name (pTHX_ I32, bool, const char *);
 int	Perl_flex_fstat (pTHX_ int, Stat_t *);
 int	Perl_flex_lstat (pTHX_ const char *, Stat_t *);
@@ -894,24 +779,13 @@
 struct passwd *	Perl_my_getpwuid (pTHX_ Uid_t uid);
 void	Perl_my_endpwent (pTHX);
 char *	my_getlogin (void);
-typedef char __VMS_SEPYTOTORP__;
-/* prototype section end marker; `typedef' passes through cpp */
 
-#ifdef NO_PERL_TYPEDEFS  /* We'll try not to scramble later files */
-#  ifdef __MY_BOOL_TYPE_FAKE
-#    undef bool
-#    undef __MY_BOOL_TYPE_FAKE
-#  endif
-#  ifdef __MY_I32_TYPE_FAKE
-#    undef I32
-#    undef __MY_I32_TYPE_FAKE
-#  endif
-#  ifdef __MY_SV_TYPE_FAKE
-#    undef SV
-#    undef __MY_SV_TYPE_FAKE
-#  endif
+#ifdef __cplusplus
+}
 #endif
 
+#endif
+
 #ifndef VMS_DO_SOCKETS
 /* This relies on tricks in perl.h to pick up that these manifest constants
  * are undefined and set up conversion routines.  It will then redefine


Property changes on: vendor/perl/dist/vms/vmsish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vms/vmspipe.com
===================================================================
--- vendor/perl/dist/vms/vmspipe.com	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vms/vmspipe.com	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vms/vmspipe.com
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vos/Changes
===================================================================
--- vendor/perl/dist/vos/Changes	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vos/Changes	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vos/Changes
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vos/compile_full_perl.cm
===================================================================
--- vendor/perl/dist/vos/compile_full_perl.cm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vos/compile_full_perl.cm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vos/compile_full_perl.cm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vos/configure_full_perl.sh
===================================================================
--- vendor/perl/dist/vos/configure_full_perl.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vos/configure_full_perl.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vos/configure_full_perl.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vos/make_full_perl.sh
===================================================================
--- vendor/perl/dist/vos/make_full_perl.sh	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vos/make_full_perl.sh	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vos/make_full_perl.sh
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/vos/syslog.h
===================================================================
--- vendor/perl/dist/vos/syslog.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vos/syslog.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/vos/syslog.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/vos/vos.c
===================================================================
--- vendor/perl/dist/vos/vos.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vos/vos.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,6 +8,8 @@
      add syslog entries. */
 /* Modified 08-02-04 by Paul Green (Paul.Green at stratus.com) to
      open the syslog file in the working dir. */
+/* Modified 11-10-17 by Paul Green to remove the dummy copies
+     of socketpair() and the syslog functions. */
 /* End of modification history */
 
 #include <errno.h>
@@ -18,8 +20,6 @@
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "vos/syslog.h"
-
 /* VOS doesn't supply a truncate function, so we build one up
    from the available POSIX functions.  */
 
@@ -35,18 +35,6 @@
  return code;
 }
 
-/* VOS doesn't implement AF_UNIX (AF_LOCAL) style sockets, and
-   the perl emulation of them hangs on VOS (due to stcp-1257),
-   so we supply this version that always fails.  */
-
-int
-socketpair (int family, int type, int protocol, int fd[2]) {
- fd[0] = 0;
- fd[1] = 0;
- errno = ENOSYS;
- return -1;
-}
-
 /* Supply a private version of the power function that returns 1
    for x**0.  This avoids c-1471.  Abigail's Japh tests depend
    on this fix.  We leave all the other cases to the VOS C
@@ -65,228 +53,3 @@
 
      return(s_crt_pow(&x,&y));
 }
-
-/* entries */
-
-extern void s$log_system_message (
-/*             char_varying (256)  *message_text, 
-               char_varying (66)   *module_name, 
-               short int           *error_code */ );
-
-/* constants */
-
-#define    ALL_PRIORITIES 255  /* 8 priorities, all enabled */
-#define    BUFFER_LEN 256
-#define    IDENT_LEN 64
-#define    MSG_LEN 256
-#define    PATH_LEN 257
-
-/* static */
-
-int  vos_syslog_facility = LOG_USER>>3;
-int  vos_syslog_fd = -1;
-int  vos_syslog_logopt = 0;
-char vos_syslog_ident[IDENT_LEN] = "";
-int  vos_syslog_ident_len = 0;
-int  vos_syslog_mask = ALL_PRIORITIES;
-char vos_syslog_path[PATH_LEN] = "syslog";
-
-char vos_syslog_facility_name [17][10] = {
-     "[KERN] ",    /* LOG_KERN */
-     "[USER] ",    /* LOG_USER */
-     "[MAIL] ",    /* LOG_MAIL */
-     "[NEWS] ",    /* LOG_NEWS */
-     "[UUCP] ",    /* LOG_UUCP */
-     "[DAEMON] ",  /* LOG_DAEMON */
-     "[AUTH] ",    /* LOG_AUTH */
-     "[CRON] ",    /* LOG_CRON */
-     "[LPR] ",     /* LOG_LPR */
-     "[LOCAL0] ",  /* LOG_LOCAL0 */
-     "[LOCAL1] ",  /* LOG_LOCAL1 */
-     "[LOCAL2] ",  /* LOG_LOCAL2 */
-     "[LOCAL3] ",  /* LOG_LOCAL3 */
-     "[LOCAL4] ",  /* LOG_LOCAL4 */
-     "[LOCAL5] ",  /* LOG_LOCAL5 */
-     "[LOCAL6] ",  /* LOG_LOCAL6 */
-     "[LOCAL7] "}; /* LOG_LOCAL7 */
-
-/* syslog functions */
-
-static void open_syslog (void)
-{
-     if (vos_syslog_fd >= 0)
-          return;
-
-     vos_syslog_fd = open (vos_syslog_path, O_RDWR | O_CREAT | O_APPEND, 0777);
-     if (vos_syslog_fd < 0)
-          fprintf (stderr, "Unable to open %s (errno=%d, os_errno=%d)\n",
-               vos_syslog_path, errno, os_errno);
-}
-
-void closelog (void)
-{
-     if (vos_syslog_fd >= 0)
-          close (vos_syslog_fd);
-
-     vos_syslog_facility = LOG_USER>>3;
-     vos_syslog_fd = -1;
-     vos_syslog_logopt = 0;
-     vos_syslog_ident[0] = '\0';
-     vos_syslog_ident_len = 0;
-     vos_syslog_mask = ALL_PRIORITIES;
-     return;
-}
-
-void openlog (const char *ident, int logopt, int facility)
-{
-int  n;
-
-     if (ident != NULL)
-     {
-          strncpy (vos_syslog_ident, ident, sizeof (vos_syslog_ident));
-          n = IDENT_LEN -
-               strnlen (vos_syslog_ident, sizeof (vos_syslog_ident));
-          strncat (vos_syslog_ident, ": ", n);
-          vos_syslog_ident_len = strnlen (vos_syslog_ident,
-               sizeof (vos_syslog_ident));
-     }
-
-     vos_syslog_logopt = logopt;
-     vos_syslog_facility = facility>>3;
-
-     if ((logopt & LOG_NDELAY) == LOG_NDELAY)
-          open_syslog ();
-
-     return;
-}
-
-int setlogmask (int maskpri)
-{
-int  old_mask;
-
-     old_mask = vos_syslog_mask;
-
-     if (maskpri > 0)
-          vos_syslog_mask = maskpri;
-
-     return old_mask;
-}
-
-void syslog (int priority, const char *format, ...)
-{
-va_list             ap;
-int                 bare_facility;
-int                 bare_priority;
-int                 buffer_n;
-char                buffer[BUFFER_LEN];
-short int           code;
-char_varying(MSG_LEN) message;
-char_varying(66)    module_name;
-int                 n;
-int                 pid_n;
-char                pid_string[32];
-int                 r;
-int                 user_n;
-char                user_string[256];
-
-     /* Calculate priority and facility value.  */
-
-     bare_priority = priority & 3;
-     bare_facility = priority >> 3;
-
-     /* If the priority is not set in the mask, do not log the
-        message.  */
-
-     if ((vos_syslog_mask & LOG_MASK(bare_priority)) == 0)
-          return;
-
-     /* Output facility name.  */
-
-     if (bare_facility == 0)
-          bare_facility = vos_syslog_facility;
-
-     strcpy (buffer, vos_syslog_facility_name[bare_facility]);
-
-     /* Output priority value. */
-
-     /* TBD */
-
-     /* Output identity string. */
-
-     buffer_n = BUFFER_LEN - strlen (buffer);
-     strncat (buffer, vos_syslog_ident, buffer_n);
-
-     /* Output process ID.  */
-
-     if ((vos_syslog_logopt & LOG_PID) == LOG_PID)
-     {
-          pid_n = snprintf (pid_string, sizeof (pid_string),
-               "PID=0x%x ", getpid ());
-          if (pid_n)
-          {
-               buffer_n = BUFFER_LEN - strlen (buffer);
-               strncat (buffer, pid_string, buffer_n);
-          }
-     }
-
-     /* Output formatted message.  */
-
-     va_start (ap, format);
-     user_n = vsnprintf (user_string, sizeof (user_string), format, ap);
-     va_end (ap);
-
-     /* Ensure string ends in a newline.  */
-
-     if (user_n > 0)
-     {
-          if (user_n >= sizeof (user_string))
-               user_n = sizeof (user_string) - 1;
-
-          /* arrays are zero-origin.... */
-
-          if (user_string [user_n-1] != '\n')
-          {
-               user_string [user_n-1] = '\n';
-               user_string [user_n++] = '\0';
-          }
-     }        
-     else
-     {
-          user_string [0] = '\n';
-          user_string [1] = '\0';
-          user_n = 1;
-     }
-
-     buffer_n = BUFFER_LEN - strnlen (buffer, sizeof (buffer));
-     strncat (buffer, user_string, buffer_n);
-
-     /* If the log is not open, try to open it now.  */
-
-     if (vos_syslog_fd < 0)
-          open_syslog ();
-
-     /* Try to write the message to the syslog file.  */
-
-     if (vos_syslog_fd < 0)
-          r = -1;
-     else
-     {
-          buffer_n = strnlen (buffer, sizeof (buffer));
-          r = write (vos_syslog_fd, buffer, buffer_n);
-     }
-
-     /* If we were unable to write to the log and if LOG_CONS is
-        set, send it to the console.  */
-
-     if (r < 0)
-          if ((vos_syslog_logopt & LOG_CONS) == LOG_CONS)
-          {
-               strcpy_vstr_nstr (&message, "syslog: ");
-               n = MSG_LEN - sizeof ("syslog: ");
-               strncat_vstr_nstr (&message, buffer, n);
-               strcpy_vstr_nstr (&module_name, "");
-               s$log_system_message (&message, &module_name, &code);
-          }
-
-     return;
-}


Property changes on: vendor/perl/dist/vos/vos.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/vos/vosish.h
===================================================================
--- vendor/perl/dist/vos/vosish.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/vos/vosish.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -8,11 +8,5 @@
    is a work-around for posix-1302.  */
 #undef SA_SIGINFO
 
-/* The following declaration is an avoidance for posix-950. */
-extern int ioctl (int fd, int request, ...);
-
 /* Specify a prototype for truncate() since we are supplying one. */
 extern int truncate (const char *path, off_t len);
-
-/* Specify a prototype for socketpair() since we supplying one. */
-extern int socketpair (int family, int type, int protocol, int fd[2]);


Property changes on: vendor/perl/dist/vos/vosish.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/warnings.h
===================================================================
--- vendor/perl/dist/warnings.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/warnings.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -29,68 +29,76 @@
 
 /* Warnings Categories added in Perl 5.008 */
 
-#define WARN_ALL		0
-#define WARN_CLOSURE		1
-#define WARN_DEPRECATED		2
-#define WARN_EXITING		3
-#define WARN_GLOB		4
-#define WARN_IO			5
-#define WARN_CLOSED		6
-#define WARN_EXEC		7
-#define WARN_LAYER		8
-#define WARN_NEWLINE		9
-#define WARN_PIPE		10
-#define WARN_UNOPENED		11
-#define WARN_MISC		12
-#define WARN_NUMERIC		13
-#define WARN_ONCE		14
-#define WARN_OVERFLOW		15
-#define WARN_PACK		16
-#define WARN_PORTABLE		17
-#define WARN_RECURSION		18
-#define WARN_REDEFINE		19
-#define WARN_REGEXP		20
-#define WARN_SEVERE		21
-#define WARN_DEBUGGING		22
-#define WARN_INPLACE		23
-#define WARN_INTERNAL		24
-#define WARN_MALLOC		25
-#define WARN_SIGNAL		26
-#define WARN_SUBSTR		27
-#define WARN_SYNTAX		28
-#define WARN_AMBIGUOUS		29
-#define WARN_BAREWORD		30
-#define WARN_DIGIT		31
-#define WARN_PARENTHESIS	32
-#define WARN_PRECEDENCE		33
-#define WARN_PRINTF		34
-#define WARN_PROTOTYPE		35
-#define WARN_QW			36
-#define WARN_RESERVED		37
-#define WARN_SEMICOLON		38
-#define WARN_TAINT		39
-#define WARN_THREADS		40
-#define WARN_UNINITIALIZED	41
-#define WARN_UNPACK		42
-#define WARN_UNTIE		43
-#define WARN_UTF8		44
-#define WARN_VOID		45
+#define WARN_ALL		 0
+#define WARN_CLOSURE		 1
+#define WARN_DEPRECATED		 2
+#define WARN_EXITING		 3
+#define WARN_GLOB		 4
+#define WARN_IO			 5
+#define WARN_CLOSED		 6
+#define WARN_EXEC		 7
+#define WARN_LAYER		 8
+#define WARN_NEWLINE		 9
+#define WARN_PIPE		 10
+#define WARN_UNOPENED		 11
+#define WARN_MISC		 12
+#define WARN_NUMERIC		 13
+#define WARN_ONCE		 14
+#define WARN_OVERFLOW		 15
+#define WARN_PACK		 16
+#define WARN_PORTABLE		 17
+#define WARN_RECURSION		 18
+#define WARN_REDEFINE		 19
+#define WARN_REGEXP		 20
+#define WARN_SEVERE		 21
+#define WARN_DEBUGGING		 22
+#define WARN_INPLACE		 23
+#define WARN_INTERNAL		 24
+#define WARN_MALLOC		 25
+#define WARN_SIGNAL		 26
+#define WARN_SUBSTR		 27
+#define WARN_SYNTAX		 28
+#define WARN_AMBIGUOUS		 29
+#define WARN_BAREWORD		 30
+#define WARN_DIGIT		 31
+#define WARN_PARENTHESIS	 32
+#define WARN_PRECEDENCE		 33
+#define WARN_PRINTF		 34
+#define WARN_PROTOTYPE		 35
+#define WARN_QW			 36
+#define WARN_RESERVED		 37
+#define WARN_SEMICOLON		 38
+#define WARN_TAINT		 39
+#define WARN_THREADS		 40
+#define WARN_UNINITIALIZED	 41
+#define WARN_UNPACK		 42
+#define WARN_UNTIE		 43
+#define WARN_UTF8		 44
+#define WARN_VOID		 45
 
 /* Warnings Categories added in Perl 5.011 */
 
-#define WARN_IMPRECISION	46
-#define WARN_ILLEGALPROTO	47
+#define WARN_IMPRECISION	 46
+#define WARN_ILLEGALPROTO	 47
 
 /* Warnings Categories added in Perl 5.013 */
 
-#define WARN_NON_UNICODE	48
-#define WARN_NONCHAR		49
-#define WARN_SURROGATE		50
+#define WARN_NON_UNICODE	 48
+#define WARN_NONCHAR		 49
+#define WARN_SURROGATE		 50
 
-#define WARNsize		13
-#define WARN_ALLstring		"\125\125\125\125\125\125\125\125\125\125\125\125\125"
-#define WARN_NONEstring		"\0\0\0\0\0\0\0\0\0\0\0\0\0"
+/* Warnings Categories added in Perl 5.017 */
 
+#define WARN_EXPERIMENTAL	 51
+#define WARN_EXPERIMENTAL__LEXICAL_SUBS 52
+#define WARN_EXPERIMENTAL__LEXICAL_TOPIC 53
+#define WARN_EXPERIMENTAL__REGEX_SETS 54
+#define WARN_EXPERIMENTAL__SMARTMATCH 55
+
+#define WARNsize		14
+#define WARN_ALLstring		"\125\125\125\125\125\125\125\125\125\125\125\125\125\125"
+#define WARN_NONEstring		"\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
+
 #define isLEXWARN_on 	(PL_curcop->cop_warnings != pWARN_STD)
 #define isLEXWARN_off	(PL_curcop->cop_warnings == pWARN_STD)
 #define isWARN_ONCE	(PL_dowarn & (G_WARN_ON|G_WARN_ONCE))


Property changes on: vendor/perl/dist/warnings.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Deleted: vendor/perl/dist/warnings.pl
===================================================================
--- vendor/perl/dist/warnings.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/warnings.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,792 +0,0 @@
-#!/usr/bin/perl
-# 
-# Regenerate (overwriting only if changed):
-#
-#    lib/warnings.pm
-#    warnings.h
-#
-# from information hardcoded into this script (the $tree hash), plus the
-# template for warnings.pm in the DATA section.
-#
-# With an argument of 'tree', just dump the contents of $tree and exits.
-# Also accepts the standard regen_lib -q and -v args.
-#
-# This script is normally invoked from regen.pl.
-
-$VERSION = '1.02_02';
-
-BEGIN {
-    require 'regen_lib.pl';
-    push @INC, './lib';
-}
-use strict ;
-
-sub DEFAULT_ON  () { 1 }
-sub DEFAULT_OFF () { 2 }
-
-my $tree = {
-
-'all' => [ 5.008, {
-	'io'		=> [ 5.008, { 	
-				'pipe' 		=> [ 5.008, DEFAULT_OFF],
-       				'unopened'	=> [ 5.008, DEFAULT_OFF],
-       				'closed'	=> [ 5.008, DEFAULT_OFF],
-       				'newline'	=> [ 5.008, DEFAULT_OFF],
-       				'exec'		=> [ 5.008, DEFAULT_OFF],
-       				'layer'		=> [ 5.008, DEFAULT_OFF],
-			   }],
-     	'syntax'	=> [ 5.008, { 	
-				'ambiguous'	=> [ 5.008, DEFAULT_OFF],
-			     	'semicolon'	=> [ 5.008, DEFAULT_OFF],
-			     	'precedence'	=> [ 5.008, DEFAULT_OFF],
-			     	'bareword'	=> [ 5.008, DEFAULT_OFF],
-			     	'reserved'	=> [ 5.008, DEFAULT_OFF],
-				'digit'		=> [ 5.008, DEFAULT_OFF],
-			     	'parenthesis'	=> [ 5.008, DEFAULT_OFF],
-       	 			'printf'	=> [ 5.008, DEFAULT_OFF],
-       	 			'prototype'	=> [ 5.008, DEFAULT_OFF],
-       	 			'qw'		=> [ 5.008, DEFAULT_OFF],
-			   }],
-       	'severe'	=> [ 5.008, { 	
-				'inplace'	=> [ 5.008, DEFAULT_ON],
-	 			'internal'	=> [ 5.008, DEFAULT_ON],
-         			'debugging'	=> [ 5.008, DEFAULT_ON],
-         			'malloc'	=> [ 5.008, DEFAULT_ON],
-	 		   }],
-        'deprecated'	=> [ 5.008, DEFAULT_OFF],
-       	'void'		=> [ 5.008, DEFAULT_OFF],
-       	'recursion'	=> [ 5.008, DEFAULT_OFF],
-       	'redefine'	=> [ 5.008, DEFAULT_OFF],
-       	'numeric'	=> [ 5.008, DEFAULT_OFF],
-        'uninitialized'	=> [ 5.008, DEFAULT_OFF],
-       	'once'		=> [ 5.008, DEFAULT_OFF],
-       	'misc'		=> [ 5.008, DEFAULT_OFF],
-       	'regexp'	=> [ 5.008, DEFAULT_OFF],
-       	'glob'		=> [ 5.008, DEFAULT_OFF],
-       	'untie'		=> [ 5.008, DEFAULT_OFF],
-	'substr'	=> [ 5.008, DEFAULT_OFF],
-	'taint'		=> [ 5.008, DEFAULT_OFF],
-	'signal'	=> [ 5.008, DEFAULT_OFF],
-	'closure'	=> [ 5.008, DEFAULT_OFF],
-	'overflow'	=> [ 5.008, DEFAULT_OFF],
-	'portable'	=> [ 5.008, DEFAULT_OFF],
-	'utf8'		=> [ 5.008, DEFAULT_OFF],
-       	'exiting'	=> [ 5.008, DEFAULT_OFF],
-       	'pack'		=> [ 5.008, DEFAULT_OFF],
-       	'unpack'	=> [ 5.008, DEFAULT_OFF],
-       	'threads'	=> [ 5.008, DEFAULT_OFF],
-
-       	 #'default'	=> [ 5.008, DEFAULT_ON ],
-  	}],
-} ;
-
-###########################################################################
-sub tab {
-    my($l, $t) = @_;
-    $t .= "\t" x ($l - (length($t) + 1) / 8);
-    $t;
-}
-
-###########################################################################
-
-my %list ;
-my %Value ;
-my %ValueToName ;
-my %NameToValue ;
-my $index ;
-
-my %v_list = () ;
-
-sub valueWalk
-{
-    my $tre = shift ;
-    my @list = () ;
-    my ($k, $v) ;
-
-    foreach $k (sort keys %$tre) {
-	$v = $tre->{$k};
-	die "duplicate key $k\n" if defined $list{$k} ;
-	die "Value associated with key '$k' is not an ARRAY reference"
-	    if !ref $v || ref $v ne 'ARRAY' ;
-
-	my ($ver, $rest) = @{ $v } ;
-	push @{ $v_list{$ver} }, $k;
-	
-	if (ref $rest)
-	  { valueWalk ($rest) }
-
-    }
-
-}
-
-sub orderValues
-{
-    my $index = 0;
-    foreach my $ver ( sort { $a <=> $b } keys %v_list ) {
-        foreach my $name (@{ $v_list{$ver} } ) {
-	    $ValueToName{ $index } = [ uc $name, $ver ] ;
-	    $NameToValue{ uc $name } = $index ++ ;
-        }
-    }
-
-    return $index ;
-}
-
-###########################################################################
-
-sub walk
-{
-    my $tre = shift ;
-    my @list = () ;
-    my ($k, $v) ;
-
-    foreach $k (sort keys %$tre) {
-	$v = $tre->{$k};
-	die "duplicate key $k\n" if defined $list{$k} ;
-	#$Value{$index} = uc $k ;
-	die "Can't find key '$k'"
-	    if ! defined $NameToValue{uc $k} ;
-        push @{ $list{$k} }, $NameToValue{uc $k} ;
-	die "Value associated with key '$k' is not an ARRAY reference"
-	    if !ref $v || ref $v ne 'ARRAY' ;
-	
-	my ($ver, $rest) = @{ $v } ;
-	if (ref $rest)
-	  { push (@{ $list{$k} }, walk ($rest)) }
-
-	push @list, @{ $list{$k} } ;
-    }
-
-   return @list ;
-}
-
-###########################################################################
-
-sub mkRange
-{
-    my @a = @_ ;
-    my @out = @a ;
-    my $i ;
-
-
-    for ($i = 1 ; $i < @a; ++ $i) {
-      	$out[$i] = ".."
-          if $a[$i] == $a[$i - 1] + 1 && $a[$i] + 1 == $a[$i + 1] ;
-    }
-
-    my $out = join(",", at out);
-
-    $out =~ s/,(\.\.,)+/../g ;
-    return $out;
-}
-
-###########################################################################
-sub printTree
-{
-    my $tre = shift ;
-    my $prefix = shift ;
-    my ($k, $v) ;
-
-    my $max = (sort {$a <=> $b} map { length $_ } keys %$tre)[-1] ;
-    my @keys = sort keys %$tre ;
-
-    while ($k = shift @keys) {
-	$v = $tre->{$k};
-	die "Value associated with key '$k' is not an ARRAY reference"
-	    if !ref $v || ref $v ne 'ARRAY' ;
-	
-        my $offset ;
-	if ($tre ne $tree) {
-	    print $prefix . "|\n" ;
-	    print $prefix . "+- $k" ;
-	    $offset = ' ' x ($max + 4) ;
-	}
-	else {
-	    print $prefix . "$k" ;
-	    $offset = ' ' x ($max + 1) ;
-	}
-
-	my ($ver, $rest) = @{ $v } ;
-	if (ref $rest)
-	{
-	    my $bar = @keys ? "|" : " ";
-	    print " -" . "-" x ($max - length $k ) . "+\n" ;
-	    printTree ($rest, $prefix . $bar . $offset )
-	}
-	else
-	  { print "\n" }
-    }
-
-}
-
-###########################################################################
-
-sub mkHexOct
-{
-    my ($f, $max, @a) = @_ ;
-    my $mask = "\x00" x $max ;
-    my $string = "" ;
-
-    foreach (@a) {
-	vec($mask, $_, 1) = 1 ;
-    }
-
-    foreach (unpack("C*", $mask)) {
-        if ($f eq 'x') {
-            $string .= '\x' . sprintf("%2.2x", $_)
-        }
-        else {
-            $string .= '\\' . sprintf("%o", $_)
-        }
-    }
-    return $string ;
-}
-
-sub mkHex
-{
-    my($max, @a) = @_;
-    return mkHexOct("x", $max, @a);
-}
-
-sub mkOct
-{
-    my($max, @a) = @_;
-    return mkHexOct("o", $max, @a);
-}
-
-###########################################################################
-
-if (@ARGV && $ARGV[0] eq "tree")
-{
-    printTree($tree, "    ") ;
-    exit ;
-}
-
-my $warn = safer_open("warnings.h-new");
-my $pm = safer_open("lib/warnings.pm-new");
-
-print $warn <<'EOM' ;
-/* -*- buffer-read-only: t -*-
-   !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-   This file is built by warnings.pl
-   Any changes made here will be lost!
-*/
-
-
-#define Off(x)			((x) / 8)
-#define Bit(x)			(1 << ((x) % 8))
-#define IsSet(a, x)		((a)[Off(x)] & Bit(x))
-
-
-#define G_WARN_OFF		0 	/* $^W == 0 */
-#define G_WARN_ON		1	/* -w flag and $^W != 0 */
-#define G_WARN_ALL_ON		2	/* -W flag */
-#define G_WARN_ALL_OFF		4	/* -X flag */
-#define G_WARN_ONCE		8	/* set if 'once' ever enabled */
-#define G_WARN_ALL_MASK		(G_WARN_ALL_ON|G_WARN_ALL_OFF)
-
-#define pWARN_STD		NULL
-#define pWARN_ALL		(((STRLEN*)0)+1)    /* use warnings 'all' */
-#define pWARN_NONE		(((STRLEN*)0)+2)    /* no  warnings 'all' */
-
-#define specialWARN(x)		((x) == pWARN_STD || (x) == pWARN_ALL ||	\
-				 (x) == pWARN_NONE)
-
-/* if PL_warnhook is set to this value, then warnings die */
-#define PERL_WARNHOOK_FATAL	(&PL_sv_placeholder)
-EOM
-
-my $offset = 0 ;
-
-$index = $offset ;
-#@{ $list{"all"} } = walk ($tree) ;
-valueWalk ($tree) ;
-my $index = orderValues();
-
-die <<EOM if $index > 255 ;
-Too many warnings categories -- max is 255
-    rewrite packWARN* & unpackWARN* macros 
-EOM
-
-walk ($tree) ;
-
-$index *= 2 ;
-my $warn_size = int($index / 8) + ($index % 8 != 0) ;
-
-my $k ;
-my $last_ver = 0;
-foreach $k (sort { $a <=> $b } keys %ValueToName) {
-    my ($name, $version) = @{ $ValueToName{$k} };
-    print $warn "\n/* Warnings Categories added in Perl $version */\n\n"
-        if $last_ver != $version ;
-    print $warn tab(5, "#define WARN_$name"), "$k\n" ;
-    $last_ver = $version ;
-}
-print $warn "\n" ;
-
-print $warn tab(5, '#define WARNsize'),	"$warn_size\n" ;
-#print WARN tab(5, '#define WARN_ALLstring'), '"', ('\377' x $warn_size) , "\"\n" ;
-print $warn tab(5, '#define WARN_ALLstring'), '"', ('\125' x $warn_size) , "\"\n" ;
-print $warn tab(5, '#define WARN_NONEstring'), '"', ('\0' x $warn_size) , "\"\n" ;
-
-print $warn <<'EOM';
-
-#define isLEXWARN_on 	(PL_curcop->cop_warnings != pWARN_STD)
-#define isLEXWARN_off	(PL_curcop->cop_warnings == pWARN_STD)
-#define isWARN_ONCE	(PL_dowarn & (G_WARN_ON|G_WARN_ONCE))
-#define isWARN_on(c,x)	(IsSet((U8 *)(c + 1), 2*(x)))
-#define isWARNf_on(c,x)	(IsSet((U8 *)(c + 1), 2*(x)+1))
-
-#define DUP_WARNINGS(p)		\
-    (specialWARN(p) ? (STRLEN*)(p)	\
-    : (STRLEN*)CopyD(p, PerlMemShared_malloc(sizeof(*p)+*p), sizeof(*p)+*p, \
-		     			     char))
-
-#define ckWARN(w)		Perl_ckwarn(aTHX_ packWARN(w))
-#define ckWARN2(w1,w2)		Perl_ckwarn(aTHX_ packWARN2(w1,w2))
-#define ckWARN3(w1,w2,w3)	Perl_ckwarn(aTHX_ packWARN3(w1,w2,w3))
-#define ckWARN4(w1,w2,w3,w4)	Perl_ckwarn(aTHX_ packWARN4(w1,w2,w3,w4))
-
-#define ckWARN_d(w)		Perl_ckwarn_d(aTHX_ packWARN(w))
-#define ckWARN2_d(w1,w2)	Perl_ckwarn_d(aTHX_ packWARN2(w1,w2))
-#define ckWARN3_d(w1,w2,w3)	Perl_ckwarn_d(aTHX_ packWARN3(w1,w2,w3))
-#define ckWARN4_d(w1,w2,w3,w4)	Perl_ckwarn_d(aTHX_ packWARN4(w1,w2,w3,w4))
-
-#define packWARN(a)		(a                                      )
-#define packWARN2(a,b)		((a) | ((b)<<8)                         )
-#define packWARN3(a,b,c)	((a) | ((b)<<8) | ((c)<<16)             )
-#define packWARN4(a,b,c,d)	((a) | ((b)<<8) | ((c)<<16) | ((d) <<24))
-
-#define unpackWARN1(x)		((x)        & 0xFF)
-#define unpackWARN2(x)		(((x) >>8)  & 0xFF)
-#define unpackWARN3(x)		(((x) >>16) & 0xFF)
-#define unpackWARN4(x)		(((x) >>24) & 0xFF)
-
-#define ckDEAD(x)							\
-	   ( ! specialWARN(PL_curcop->cop_warnings) &&			\
-	    ( isWARNf_on(PL_curcop->cop_warnings, WARN_ALL) || 		\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN1(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN2(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN3(x)) ||	\
-	      isWARNf_on(PL_curcop->cop_warnings, unpackWARN4(x))))
-
-/* end of file warnings.h */
-/* ex: set ro: */
-EOM
-
-safer_close $warn;
-rename_if_different("warnings.h-new", "warnings.h");
-
-while (<DATA>) {
-    last if /^KEYWORDS$/ ;
-    print $pm $_ ;
-}
-
-#$list{'all'} = [ $offset .. 8 * ($warn_size/2) - 1 ] ;
-
-$last_ver = 0;
-print $pm "our %Offsets = (\n" ;
-foreach my $k (sort { $a <=> $b } keys %ValueToName) {
-    my ($name, $version) = @{ $ValueToName{$k} };
-    $name = lc $name;
-    $k *= 2 ;
-    if ( $last_ver != $version ) {
-        print $pm "\n";
-        print $pm tab(4, "    # Warnings Categories added in Perl $version");
-        print $pm "\n\n";
-    }
-    print $pm tab(4, "    '$name'"), "=> $k,\n" ;
-    $last_ver = $version;
-}
-
-print $pm "  );\n\n" ;
-
-print $pm "our %Bits = (\n" ;
-foreach $k (sort keys  %list) {
-
-    my $v = $list{$k} ;
-    my @list = sort { $a <=> $b } @$v ;
-
-    print $pm tab(4, "    '$k'"), '=> "',
-		# mkHex($warn_size, @list),
-		mkHex($warn_size, map $_ * 2 , @list),
-		'", # [', mkRange(@list), "]\n" ;
-}
-
-print $pm "  );\n\n" ;
-
-print $pm "our %DeadBits = (\n" ;
-foreach $k (sort keys  %list) {
-
-    my $v = $list{$k} ;
-    my @list = sort { $a <=> $b } @$v ;
-
-    print $pm tab(4, "    '$k'"), '=> "',
-		# mkHex($warn_size, @list),
-		mkHex($warn_size, map $_ * 2 + 1 , @list),
-		'", # [', mkRange(@list), "]\n" ;
-}
-
-print $pm "  );\n\n" ;
-print $pm '$NONE     = "', ('\0' x $warn_size) , "\";\n" ;
-print $pm '$LAST_BIT = ' . "$index ;\n" ;
-print $pm '$BYTES    = ' . "$warn_size ;\n" ;
-while (<DATA>) {
-    print $pm $_ ;
-}
-
-print $pm "# ex: set ro:\n";
-safer_close $pm;
-rename_if_different("lib/warnings.pm-new", "lib/warnings.pm");
-
-__END__
-# -*- buffer-read-only: t -*-
-# !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
-# This file was created by warnings.pl
-# Any changes made here will be lost.
-#
-
-package warnings;
-
-our $VERSION = '1.06';
-
-# Verify that we're called correctly so that warnings will work.
-# see also strict.pm.
-unless ( __FILE__ =~ /(^|[\/\\])\Q${\__PACKAGE__}\E\.pmc?$/ ) {
-    my (undef, $f, $l) = caller;
-    die("Incorrect use of pragma '${\__PACKAGE__}' at $f line $l.\n");
-}
-
-=head1 NAME
-
-warnings - Perl pragma to control optional warnings
-
-=head1 SYNOPSIS
-
-    use warnings;
-    no warnings;
-
-    use warnings "all";
-    no warnings "all";
-
-    use warnings::register;
-    if (warnings::enabled()) {
-        warnings::warn("some warning");
-    }
-
-    if (warnings::enabled("void")) {
-        warnings::warn("void", "some warning");
-    }
-
-    if (warnings::enabled($object)) {
-        warnings::warn($object, "some warning");
-    }
-
-    warnings::warnif("some warning");
-    warnings::warnif("void", "some warning");
-    warnings::warnif($object, "some warning");
-
-=head1 DESCRIPTION
-
-The C<warnings> pragma is a replacement for the command line flag C<-w>,
-but the pragma is limited to the enclosing block, while the flag is global.
-See L<perllexwarn> for more information.
-
-If no import list is supplied, all possible warnings are either enabled
-or disabled.
-
-A number of functions are provided to assist module authors.
-
-=over 4
-
-=item use warnings::register
-
-Creates a new warnings category with the same name as the package where
-the call to the pragma is used.
-
-=item warnings::enabled()
-
-Use the warnings category with the same name as the current package.
-
-Return TRUE if that warnings category is enabled in the calling module.
-Otherwise returns FALSE.
-
-=item warnings::enabled($category)
-
-Return TRUE if the warnings category, C<$category>, is enabled in the
-calling module.
-Otherwise returns FALSE.
-
-=item warnings::enabled($object)
-
-Use the name of the class for the object reference, C<$object>, as the
-warnings category.
-
-Return TRUE if that warnings category is enabled in the first scope
-where the object is used.
-Otherwise returns FALSE.
-
-=item warnings::warn($message)
-
-Print C<$message> to STDERR.
-
-Use the warnings category with the same name as the current package.
-
-If that warnings category has been set to "FATAL" in the calling module
-then die. Otherwise return.
-
-=item warnings::warn($category, $message)
-
-Print C<$message> to STDERR.
-
-If the warnings category, C<$category>, has been set to "FATAL" in the
-calling module then die. Otherwise return.
-
-=item warnings::warn($object, $message)
-
-Print C<$message> to STDERR.
-
-Use the name of the class for the object reference, C<$object>, as the
-warnings category.
-
-If that warnings category has been set to "FATAL" in the scope where C<$object>
-is first used then die. Otherwise return.
-
-
-=item warnings::warnif($message)
-
-Equivalent to:
-
-    if (warnings::enabled())
-      { warnings::warn($message) }
-
-=item warnings::warnif($category, $message)
-
-Equivalent to:
-
-    if (warnings::enabled($category))
-      { warnings::warn($category, $message) }
-
-=item warnings::warnif($object, $message)
-
-Equivalent to:
-
-    if (warnings::enabled($object))
-      { warnings::warn($object, $message) }
-
-=back
-
-See L<perlmodlib/Pragmatic Modules> and L<perllexwarn>.
-
-=cut
-
-KEYWORDS
-
-$All = "" ; vec($All, $Offsets{'all'}, 2) = 3 ;
-
-sub Croaker
-{
-    require Carp::Heavy; # this initializes %CarpInternal
-    local $Carp::CarpInternal{'warnings'};
-    delete $Carp::CarpInternal{'warnings'};
-    Carp::croak(@_);
-}
-
-sub bits
-{
-    # called from B::Deparse.pm
-
-    push @_, 'all' unless @_;
-
-    my $mask;
-    my $catmask ;
-    my $fatal = 0 ;
-    my $no_fatal = 0 ;
-
-    foreach my $word ( @_ ) {
-	if ($word eq 'FATAL') {
-	    $fatal = 1;
-	    $no_fatal = 0;
-	}
-	elsif ($word eq 'NONFATAL') {
-	    $fatal = 0;
-	    $no_fatal = 1;
-	}
-	elsif ($catmask = $Bits{$word}) {
-	    $mask |= $catmask ;
-	    $mask |= $DeadBits{$word} if $fatal ;
-	    $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
-	}
-	else
-          { Croaker("Unknown warnings category '$word'")}
-    }
-
-    return $mask ;
-}
-
-sub import 
-{
-    shift;
-
-    my $catmask ;
-    my $fatal = 0 ;
-    my $no_fatal = 0 ;
-
-    my $mask = ${^WARNING_BITS} ;
-
-    if (vec($mask, $Offsets{'all'}, 1)) {
-        $mask |= $Bits{'all'} ;
-        $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
-    }
-    
-    push @_, 'all' unless @_;
-
-    foreach my $word ( @_ ) {
-	if ($word eq 'FATAL') {
-	    $fatal = 1;
-	    $no_fatal = 0;
-	}
-	elsif ($word eq 'NONFATAL') {
-	    $fatal = 0;
-	    $no_fatal = 1;
-	}
-	elsif ($catmask = $Bits{$word}) {
-	    $mask |= $catmask ;
-	    $mask |= $DeadBits{$word} if $fatal ;
-	    $mask &= ~($DeadBits{$word}|$All) if $no_fatal ;
-	}
-	else
-          { Croaker("Unknown warnings category '$word'")}
-    }
-
-    ${^WARNING_BITS} = $mask ;
-}
-
-sub unimport 
-{
-    shift;
-
-    my $catmask ;
-    my $mask = ${^WARNING_BITS} ;
-
-    if (vec($mask, $Offsets{'all'}, 1)) {
-        $mask |= $Bits{'all'} ;
-        $mask |= $DeadBits{'all'} if vec($mask, $Offsets{'all'}+1, 1);
-    }
-
-    push @_, 'all' unless @_;
-
-    foreach my $word ( @_ ) {
-	if ($word eq 'FATAL') {
-	    next; 
-	}
-	elsif ($catmask = $Bits{$word}) {
-	    $mask &= ~($catmask | $DeadBits{$word} | $All);
-	}
-	else
-          { Croaker("Unknown warnings category '$word'")}
-    }
-
-    ${^WARNING_BITS} = $mask ;
-}
-
-my %builtin_type; @builtin_type{qw(SCALAR ARRAY HASH CODE REF GLOB LVALUE Regexp)} = ();
-
-sub __chk
-{
-    my $category ;
-    my $offset ;
-    my $isobj = 0 ;
-
-    if (@_) {
-        # check the category supplied.
-        $category = shift ;
-        if (my $type = ref $category) {
-            Croaker("not an object")
-                if exists $builtin_type{$type};
-	    $category = $type;
-            $isobj = 1 ;
-        }
-        $offset = $Offsets{$category};
-        Croaker("Unknown warnings category '$category'")
-	    unless defined $offset;
-    }
-    else {
-        $category = (caller(1))[0] ;
-        $offset = $Offsets{$category};
-        Croaker("package '$category' not registered for warnings")
-	    unless defined $offset ;
-    }
-
-    my $this_pkg = (caller(1))[0] ;
-    my $i = 2 ;
-    my $pkg ;
-
-    if ($isobj) {
-        while (do { { package DB; $pkg = (caller($i++))[0] } } ) {
-            last unless @DB::args && $DB::args[0] =~ /^$category=/ ;
-        }
-	$i -= 2 ;
-    }
-    else {
-        $i = _error_loc(); # see where Carp will allocate the error
-    }
-
-    my $callers_bitmask = (caller($i))[9] ;
-    return ($callers_bitmask, $offset, $i) ;
-}
-
-sub _error_loc {
-    require Carp::Heavy;
-    goto &Carp::short_error_loc; # don't introduce another stack frame
-}                                                             
-
-sub enabled
-{
-    Croaker("Usage: warnings::enabled([category])")
-	unless @_ == 1 || @_ == 0 ;
-
-    my ($callers_bitmask, $offset, $i) = __chk(@_) ;
-
-    return 0 unless defined $callers_bitmask ;
-    return vec($callers_bitmask, $offset, 1) ||
-           vec($callers_bitmask, $Offsets{'all'}, 1) ;
-}
-
-
-sub warn
-{
-    Croaker("Usage: warnings::warn([category,] 'message')")
-	unless @_ == 2 || @_ == 1 ;
-
-    my $message = pop ;
-    my ($callers_bitmask, $offset, $i) = __chk(@_) ;
-    require Carp;
-    Carp::croak($message)
-	if vec($callers_bitmask, $offset+1, 1) ||
-	   vec($callers_bitmask, $Offsets{'all'}+1, 1) ;
-    Carp::carp($message) ;
-}
-
-sub warnif
-{
-    Croaker("Usage: warnings::warnif([category,] 'message')")
-	unless @_ == 2 || @_ == 1 ;
-
-    my $message = pop ;
-    my ($callers_bitmask, $offset, $i) = __chk(@_) ;
-
-    return
-        unless defined $callers_bitmask &&
-            	(vec($callers_bitmask, $offset, 1) ||
-            	vec($callers_bitmask, $Offsets{'all'}, 1)) ;
-
-    require Carp;
-    Carp::croak($message)
-	if vec($callers_bitmask, $offset+1, 1) ||
-	   vec($callers_bitmask, $Offsets{'all'}+1, 1) ;
-
-    Carp::carp($message) ;
-}
-
-1;

Index: vendor/perl/dist/win32/FindExt.pm
===================================================================
--- vendor/perl/dist/win32/FindExt.pm	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/FindExt.pm	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/FindExt.pm
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/Makefile
===================================================================
--- vendor/perl/dist/win32/Makefile	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/Makefile	2013-12-01 21:45:02 UTC (rev 6430)
@@ -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
-# (perl514.dll).  Also makes individual DLLs for the XS extensions.
+# (perl518.dll).  Also makes individual DLLs for the XS extensions.
 #
 
 ##
@@ -37,7 +37,7 @@
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER	= \5.14.0
+#INST_VER	= \5.18.1
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -93,28 +93,38 @@
 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.)
+#USE_64_BIT_INT	= define
+
+#
 # uncomment exactly one of the following
 #
 # Visual C++ 6.x (aka Visual C++ 98)
 CCTYPE		= MSVC60
+# Visual C++ .NET 2002/2003 (aka Visual C++ 7.x) (full version)
+#CCTYPE		= MSVC70
 # Visual C++ Toolkit 2003 (aka Visual C++ 7.x) (free command-line tools)
 #CCTYPE		= MSVC70FREE
-# Visual C++ .NET 2003 (aka Visual C++ 7.x) (full version)
-#CCTYPE		= MSVC70
 # Windows Server 2003 SP1 Platform SDK (April 2005)
 #CCTYPE		= SDK2003SP1
+# Visual C++ 2005 (aka Visual C++ 8.x) (full version)
+#CCTYPE		= MSVC80
 # Visual C++ 2005 Express Edition (aka Visual C++ 8.x) (free version)
 #CCTYPE		= MSVC80FREE
-# Visual C++ 2005 (aka Visual C++ 8.x) (full version)
-#CCTYPE		= MSVC80
+# Visual C++ 2008 (aka Visual C++ 9.x) (full version)
+#CCTYPE		= MSVC90
 # Visual C++ 2008 Express Edition (aka Visual C++ 9.x) (free version)
 #CCTYPE		= MSVC90FREE
-# Visual C++ 2008 (aka Visual C++ 9.x) (full version)
-#CCTYPE		= MSVC90
+# Visual C++ 2010 (aka Visual C++ 10.x) (full version)
+#CCTYPE		= MSVC100
 # Visual C++ 2010 Express Edition (aka Visual C++ 10.x) (free version)
 #CCTYPE		= MSVC100FREE
-# Visual C++ 2010 (aka Visual C++ 10.x) (full version)
-#CCTYPE		= MSVC100
+# Visual C++ 2012 (aka Visual C++ 11.x) (full version)
+#CCTYPE		= MSVC110
+# Visual C++ 2012 Express Edition (aka Visual C++ 11.x) (free version)
+#CCTYPE		= MSVC110FREE
 
 #
 # uncomment next line if you want debug version of perl (big,slow)
@@ -152,7 +162,7 @@
 # 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 perl514s.lib will also be created.
+# variables below. A static library perl518s.lib will also be created.
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC	= define
@@ -261,6 +271,10 @@
 USE_LARGE_FILES	= undef
 !ENDIF
 
+!IF "$(USE_64_BIT_INT)" == ""
+USE_64_BIT_INT	= undef
+!ENDIF
+
 !IF "$(USE_IMP_SYS)$(USE_MULTI)" == "defineundef"
 USE_MULTI	= define
 !ENDIF
@@ -301,6 +315,10 @@
 !ENDIF
 !ENDIF
 
+!IF "$(WIN64)" == "define"
+USE_64_BIT_INT	= define
+!ENDIF
+
 # Treat 64-bit MSVC60 (doesn't really exist) as SDK2003SP1 because
 # both link against MSVCRT.dll (which is part of Windows itself) and
 # not against a compiler specific versioned runtime.
@@ -308,6 +326,15 @@
 CCTYPE		= SDK2003SP1
 !ENDIF
 
+# Most relevant compiler-specific options fall into two groups:
+# either pre-MSVC80 or MSVC80 onwards, so define a macro for this.
+!IF "$(CCTYPE)" == "MSVC60" || \
+    "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC70FREE"
+PREMSVC80	= define
+!ELSE
+PREMSVC80	= undef
+!ENDIF
+
 ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)
 !IF "$(ARCHITECTURE)" == "AMD64"
 ARCHITECTURE	= x64
@@ -334,14 +361,15 @@
 ARCHNAME	= $(ARCHNAME)-thread
 !ENDIF
 
-# Visual C++ 98, .NET 2003, 2005/2008/2010 specific.
-# VC++ 6/7/8/9/10.x can load DLLs on demand.  Makes the test suite run
-# in about 10% less time.  (The free version of 7.x can't do this, but the free
-# versions of 8/9/10.x can.)
-!IF "$(CCTYPE)" == "MSVC60" || "$(CCTYPE)" == "MSVC70"     || \
-    "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \
-    "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE" || \
-    "$(CCTYPE)" == "MSVC100" || "$(CCTYPE)" == "MSVC100FREE"
+!IF "$(WIN64)" != "define"
+!IF "$(USE_64_BIT_INT)" == "define"
+ARCHNAME	= $(ARCHNAME)-64int
+!ENDIF
+!ENDIF
+
+# All but the free version of VC++ 7.x can load DLLs on demand.  Makes the test
+# suite run in about 10% less time.
+!IF "$(CCTYPE)" != "MSVC70FREE"
 DELAYLOAD	= -DELAYLOAD:ws2_32.dll delayimp.lib
 !ENDIF
 
@@ -400,7 +428,8 @@
 OPTIMIZE	= -Od -MD -Zi -DDEBUGGING
 LINK_DBG	= -debug
 !ELSE
-OPTIMIZE	= -MD -Zi -DNDEBUG
+# -O1 yields smaller code, which turns out to be faster than -O2 on x86 and x64
+OPTIMIZE	= -O1 -MD -Zi -DNDEBUG
 # we enable debug symbols in release builds also
 LINK_DBG	= -debug -opt:ref,icf
 # you may want to enable this if you want COFF symbols in the executables
@@ -411,12 +440,8 @@
 #LINK_DBG	= $(LINK_DBG) -debugtype:both
 !  IF "$(WIN64)" == "define"
 # enable Whole Program Optimizations (WPO) and Link Time Code Generation (LTCG)
-OPTIMIZE	= $(OPTIMIZE) -Ox -GL
+OPTIMIZE	= $(OPTIMIZE) -GL
 LINK_DBG	= $(LINK_DBG) -ltcg
-!  ELSE
-# -O1 yields smaller code, which turns out to be faster than -O2 on x86
-OPTIMIZE	= $(OPTIMIZE) -O1
-#OPTIMIZE	= $(OPTIMIZE) -O2
 !  ENDIF
 !ENDIF
 
@@ -425,11 +450,9 @@
 OPTIMIZE	= $(OPTIMIZE) -fp:precise
 !ENDIF
 
-# For now, silence VC++ 8/9/10.x's warnings about "unsafe" CRT functions
+# For now, silence warnings from VC++ 8.x onwards about "unsafe" CRT functions
 # and POSIX CRT function names being deprecated.
-!IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \
-    "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE" || \
-    "$(CCTYPE)" == "MSVC100" || "$(CCTYPE)" == "MSVC100FREE"
+!IF "$(PREMSVC80)" == "undef"
 DEFINES		= $(DEFINES) -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
 !ENDIF
 
@@ -442,8 +465,7 @@
 # Perl itself with e.g. VC6 but later installs an XS module using VC8
 # the time_t types will still be compatible.
 !IF "$(WIN64)" == "undef"
-!  IF "$(CCTYPE)" == "MSVC60" || \
-      "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC70FREE"
+!  IF "$(PREMSVC80)" == "define"
 BUILDOPT	= $(BUILDOPT) -D_USE_32BIT_TIME_T
 !  ENDIF
 !ENDIF
@@ -477,9 +499,7 @@
 
 CFLAGS_O	= $(CFLAGS) $(BUILDOPT)
 
-!IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \
-    "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE" || \
-    "$(CCTYPE)" == "MSVC100" || "$(CCTYPE)" == "MSVC100FREE"
+!IF "$(PREMSVC80)" == "undef"
 LINK_FLAGS	= $(LINK_FLAGS) "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"
 !ELSE
 RSC_FLAGS	= -DINCLUDE_MANIFEST
@@ -500,6 +520,9 @@
 .c$(o):
 	$(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
 
+.c.i:
+	$(CC) -c -I$(<D) $(CFLAGS_O) -P $(OBJOUT_FLAG)$@ $<
+
 .y.c:
 	$(NOOP)
 
@@ -516,9 +539,9 @@
 
 # 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	= ..\perl514.lib
-PERLSTATICLIB	= ..\perl514s.lib
-PERLDLL		= ..\perl514.dll
+PERLIMPLIB	= ..\perl518.lib
+PERLSTATICLIB	= ..\perl518s.lib
+PERLDLL		= ..\perl518.dll
 
 MINIPERL	= ..\miniperl.exe
 MINIDIR		= .\mini
@@ -540,7 +563,8 @@
 FIRSTUNIFILE     = ..\lib\unicore\Decomposition.pl
 UNIDATAFILES	 = ..\lib\unicore\Decomposition.pl \
 		   ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
-		   ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst \
+		   ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst     \
+		   ..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm            \
 		   ..\lib\unicore\TestProp.pl
 
 # Directories of Unicode data files generated by mktables
@@ -564,7 +588,6 @@
 UTILS		=			\
 		..\utils\h2ph		\
 		..\utils\splain		\
-		..\utils\dprofpp	\
 		..\utils\perlbug	\
 		..\utils\pl2pm 		\
 		..\utils\c2ph		\
@@ -583,6 +606,7 @@
 		..\utils\ptar		\
 		..\utils\ptardiff	\
 		..\utils\ptargrep	\
+		..\utils\zipdetails	\
 		..\utils\cpanp-run-perl	\
 		..\utils\cpanp	\
 		..\utils\cpan2dist	\
@@ -589,6 +613,7 @@
 		..\utils\shasum		\
 		..\utils\instmodsh	\
 		..\utils\json_pp	\
+		..\utils\pod2html	\
 		..\x2p\find2perl	\
 		..\x2p\psed		\
 		..\x2p\s2p		\
@@ -601,13 +626,8 @@
 MAKE		= nmake -nologo
 MAKE_BARE	= nmake
 
-!IF "$(WIN64)" == "define"
-CFGSH_TMPL	= config.vc64
-CFGH_TMPL	= config_H.vc64
-!ELSE
 CFGSH_TMPL	= config.vc
 CFGH_TMPL	= config_H.vc
-!ENDIF
 
 XCOPY		= xcopy /f /r /i /d /y
 RCOPY		= xcopy /f /r /i /e /d /y
@@ -692,6 +712,7 @@
 		..\gv.h		\
 		..\handy.h	\
 		..\hv.h		\
+		..\hv_func.h	\
 		..\iperlsys.h	\
 		..\mg.h		\
 		..\nostdio.h	\
@@ -726,6 +747,8 @@
 
 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=.obj)
 CORE_OBJ	= $(MICROCORE_OBJ) $(EXTRACORE_SRC:.c=.obj)
@@ -764,7 +787,6 @@
 DYNALOADER	= ..\DynaLoader$(o)
 
 CFG_VARS	=					\
-		"INST_DRV=$(INST_DRV)"			\
 		"INST_TOP=$(INST_TOP)"			\
 		"INST_VER=$(INST_VER)"			\
 		"INST_ARCH=$(INST_ARCH)"		\
@@ -785,10 +807,12 @@
 		"useithreads=$(USE_ITHREADS)"		\
 		"usemultiplicity=$(USE_MULTI)"		\
 		"useperlio=$(USE_PERLIO)"		\
+		"use64bitint=$(USE_64_BIT_INT)"		\
 		"uselargefiles=$(USE_LARGE_FILES)"	\
 		"usesitecustomize=$(USE_SITECUST)"	\
 		"LINK_FLAGS=$(LINK_FLAGS:"=\")"		\
-		"optimize=$(OPTIMIZE:"=\")"
+		"optimize=$(OPTIMIZE:"=\")"		\
+		"WIN64=$(WIN64)"
 
 ICWD = -I..\dist\Cwd -I..\dist\Cwd\lib
 
@@ -824,9 +848,82 @@
 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)
 	-del /f config.h
 	copy $(CFGH_TMPL) config.h
+	@echo.>>$@
+	@echo #ifndef _config_h_footer_>>$@
+	@echo #define _config_h_footer_>>$@
+	@echo #undef PTRSIZE>>$@
+	@echo #undef SSize_t>>$@
+	@echo #undef HAS_ATOLL>>$@
+	@echo #undef HAS_STRTOLL>>$@
+	@echo #undef HAS_STRTOULL>>$@
+	@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 Size_t_size>>$@
+!IF "$(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
+!IF "$(USE_64_BIT_INT)"=="define"
+	@echo #define IVTYPE __int64>>$@
+	@echo #define UVTYPE unsigned __int64>>$@
+	@echo #define IVSIZE ^8>>$@
+	@echo #define UVSIZE ^8>>$@
+	@echo #undef NV_PRESERVES_UV>>$@
+	@echo #define NV_PRESERVES_UV_BITS 53>>$@
+	@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
+	@echo #endif>>$@
 
 ..\git_version.h : $(MINIPERL) ..\make_patchnum.pl
 	cd ..
@@ -839,20 +936,15 @@
 ..\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.vc, then make perl in a minimal configuration (i.e. with MULTI,
-# ITHREADS, IMP_SYS, LARGE_FILES, PERLIO and CRYPT off), then make this target
+# This target is for when changes to the main config.sh happen.
+# Edit config.vc, then make perl in a minimal configuration (i.e. with MULTI,
+# ITHREADS, IMP_SYS, LARGE_FILES and PERLIO off), then make this target
 # to regenerate config_H.vc.
-# repeat for config.vc64 and config_H.vc64 if you have a suitable build
-# environment, otherwise hand-edit them to maintain the same differences with
-# config.vc and config_H.vc as before.
-# unfortunately, some further manual editing is also then required to restore all
-# the special __GNUC__ handling that is otherwise lost.
 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 $(ICWD) config_h.PL "INST_VER=$(INST_VER)"
+	-$(MINIPERL) -I..\lib $(ICWD) config_h.PL
 	rename config.h $(CFGH_TMPL)
 
 $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl
@@ -861,7 +953,7 @@
 	$(XCOPY) ..\*.h $(COREDIR)\*.*
 	$(XCOPY) *.h $(COREDIR)\*.*
 	$(RCOPY) include $(COREDIR)\*.*
-	-$(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)"
+	-$(MINIPERL) -I..\lib $(ICWD) config_h.PL
 	if errorlevel 1 $(MAKE) /$(MAKEFLAGS) $(CONFIGPM)
 
 ..\lib\buildcustomize.pl: $(MINIPERL) ..\write_buildcustomize.pl
@@ -869,7 +961,7 @@
 
 $(MINIPERL) : $(MINIDIR) $(MINI_OBJ)
 	$(LINK32) -subsystem:console -out:$@ @<<
-	$(LINK_FLAGS) $(LIBFILES) $(MINI_OBJ)
+	$(LINK_FLAGS) $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ)
 <<
 	$(EMBED_EXE_MANI)
 
@@ -880,7 +972,7 @@
 	$(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ ..\$(*F).c
 
 $(MINIWIN32_OBJ) : $(CORE_NOCFG_H)
-	$(CC) -c $(CFLAGS) $(OBJOUT_FLAG)$@ $(*F).c
+	$(CC) -c $(CFLAGS) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(*F).c
 
 # -DPERL_IMPLICIT_SYS needs C++ for perllib.c
 # This is the only file that depends on perlhost.h, vmem.h, and vdir.h
@@ -899,10 +991,10 @@
 $(DLL_OBJ)	: $(CORE_H)
 $(X2P_OBJ)	: $(CORE_H)
 
-perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\makedef.pl create_perllibst_h.pl
+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=$(CCTYPE) > perldll.def
+	    CCTYPE=$(CCTYPE) TARG_DIR=..\ > perldll.def
 
 $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
 	$(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ @Extensions_static @<<
@@ -947,13 +1039,15 @@
 <<
 	$(EMBED_EXE_MANI)
 
-$(MINIDIR)\globals$(o) : $(UUDMAP_H) $(BITCOUNT_H)
+$(MINIDIR)\globals$(o) : $(GENERATED_HEADERS)
 
-$(UUDMAP_H) : $(BITCOUNT_H)
+$(UUDMAP_H) $(MG_DATA_H) : $(BITCOUNT_H)
 
 $(BITCOUNT_H) : $(GENUUDMAP)
-	$(GENUUDMAP) $(UUDMAP_H) $(BITCOUNT_H)
+	$(GENUUDMAP) $(GENERATED_HEADERS)
 
+$(GENUUDMAP_OBJ) : ..\mg_raw.h
+
 $(GENUUDMAP) : $(GENUUDMAP_OBJ)
 	$(LINK32) -subsystem:console -out:$@ @<<
 		$(LINK_FLAGS) $(LIBFILES) $(GENUUDMAP_OBJ)
@@ -1004,7 +1098,7 @@
 	$(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)
+Extensions_nonxs: ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) ..\pod\perlfunc.pod
 	$(XCOPY) ..\*.h $(COREDIR)\*.*
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs
 
@@ -1022,8 +1116,8 @@
 
 doc: $(PERLEXE) ..\pod\perltoc.pod
 	$(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
-	    --podpath=pod:lib:ext:utils --htmlroot="file://$(INST_HTML::=|)" \
-	    --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse
+	    --podpath=pod:lib:utils --htmlroot="file://$(INST_HTML::=|)" \
+	    --recurse
 
 # Note that this next section is parsed (and regenerated) by pod/buildtoc
 # so please check that script before making structural changes here
@@ -1034,7 +1128,6 @@
 	cd ..\pod
 	copy ..\README.aix      ..\pod\perlaix.pod
 	copy ..\README.amiga    ..\pod\perlamiga.pod
-	copy ..\README.beos     ..\pod\perlbeos.pod
 	copy ..\README.bs2000   ..\pod\perlbs2000.pod
 	copy ..\README.ce       ..\pod\perlce.pod
 	copy ..\README.cn       ..\pod\perlcn.pod
@@ -1041,7 +1134,6 @@
 	copy ..\README.cygwin   ..\pod\perlcygwin.pod
 	copy ..\README.dgux     ..\pod\perldgux.pod
 	copy ..\README.dos      ..\pod\perldos.pod
-	copy ..\README.epoc     ..\pod\perlepoc.pod
 	copy ..\README.freebsd  ..\pod\perlfreebsd.pod
 	copy ..\README.haiku    ..\pod\perlhaiku.pod
 	copy ..\README.hpux     ..\pod\perlhpux.pod
@@ -1052,7 +1144,6 @@
 	copy ..\README.linux    ..\pod\perllinux.pod
 	copy ..\README.macos    ..\pod\perlmacos.pod
 	copy ..\README.macosx   ..\pod\perlmacosx.pod
-	copy ..\README.mpeix    ..\pod\perlmpeix.pod
 	copy ..\README.netware  ..\pod\perlnetware.pod
 	copy ..\README.openbsd  ..\pod\perlopenbsd.pod
 	copy ..\README.os2      ..\pod\perlos2.pod
@@ -1065,11 +1156,9 @@
 	copy ..\README.symbian  ..\pod\perlsymbian.pod
 	copy ..\README.tru64    ..\pod\perltru64.pod
 	copy ..\README.tw       ..\pod\perltw.pod
-	copy ..\README.uts      ..\pod\perluts.pod
-	copy ..\README.vmesa    ..\pod\perlvmesa.pod
 	copy ..\README.vos      ..\pod\perlvos.pod
 	copy ..\README.win32    ..\pod\perlwin32.pod
-	copy ..\pod\perldelta.pod ..\pod\perl5140delta.pod
+	copy ..\pod\perldelta.pod ..\pod\perl5181delta.pod
 	cd ..\win32
 	$(PERLEXE) $(PL2BAT) $(UTILS)
 	$(PERLEXE) $(ICWD) ..\autodoc.pl ..
@@ -1076,7 +1165,7 @@
 	$(PERLEXE) $(ICWD) ..\pod\perlmodlib.pl -q
 
 ..\pod\perltoc.pod: $(PERLEXE) Extensions Extensions_nonxs
-	$(PERLEXE) -f ..\pod\buildtoc --build-toc -q
+	$(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
@@ -1161,21 +1250,20 @@
 	-if exist $(LIBDIR)\Unicode\Collate rmdir /s /q $(LIBDIR)\Unicode\Collate
 	-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
 	-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-	-cd $(PODDIR) && del /f *.html *.bat \
-	    perl5140delta.pod perlaix.pod perlamiga.pod perlapi.pod \
-	    perlbeos.pod perlbs2000.pod perlce.pod perlcn.pod \
-	    perlcygwin.pod perldgux.pod perldos.pod perlepoc.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 perlmpeix.pod \
-	    perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
-	    perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
-	    perlsolaris.pod perlsymbian.pod perltoc.pod perltru64.pod \
-	    perltw.pod perluniprops.pod perluts.pod perlvmesa.pod \
+	-cd $(PODDIR) && del /f *.html *.bat roffitall \
+	    perl5181delta.pod perlaix.pod perlamiga.pod perlapi.pod \
+	    perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
+	    perldgux.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 \
+	    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 dprofpp libnetcfg enc2xs piconv cpan *.bat \
-	    xsubpp instmodsh json_pp prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum corelist config_data
+	    perldoc perlivp libnetcfg enc2xs piconv cpan *.bat \
+	    xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum corelist config_data zipdetails
 	-cd ..\x2p && del /f find2perl s2p psed *.bat
 	-del /f ..\config.sh perlmain.c dlutils.c config.h.new \
 	        perlmainst.c
@@ -1191,7 +1279,6 @@
 	-if exist $(AUTODIR) rmdir /s /q $(AUTODIR)
 	-if exist $(COREDIR) rmdir /s /q $(COREDIR)
 	-if exist pod2htmd.tmp del pod2htmd.tmp
-	-if exist pod2htmi.tmp del pod2htmi.tmp
 	-if exist $(HTMLDIR) rmdir /s /q $(HTMLDIR)
 	-del /f ..\t\test_state
 
@@ -1223,7 +1310,7 @@
 	$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
 	attrib -r ..\t\*.*
 	cd ..\t && \
-	$(MINIPERL) -I..\lib harness base/*.t comp/*.t cmd/*.t io/*.t op/*.t pragma/*.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)
@@ -1236,6 +1323,11 @@
 	$(PERLEXE) -I..\lib harness $(TEST_SWITCHES) $(TEST_FILES)
 	cd ..\win32
 
+test_porting : test-prep
+	cd ..\t
+	$(PERLEXE) -I..\lib harness $(TEST_SWITCHES) porting\*.t ..\lib\diagnostics.t
+	cd ..\win32
+
 test-reonly : reonly utils
 	$(XCOPY) $(PERLEXE) ..\t\$(NULL)
 	$(XCOPY) $(PERLDLL) ..\t\$(NULL)
@@ -1279,7 +1371,7 @@
 	-@$(DEL) $(PERLSTATICLIB)
 	-@$(DEL) $(PERLDLL)
 	-@$(DEL) $(CORE_OBJ)
-	-@$(DEL) $(GENUUDMAP) $(GENUUDMAP_OBJ) $(UUDMAP_H) $(BITCOUNT_H)
+	-@$(DEL) $(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)


Property changes on: vendor/perl/dist/win32/Makefile
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/Makefile.ce
===================================================================
--- vendor/perl/dist/win32/Makefile.ce	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/Makefile.ce	2013-12-01 21:45:02 UTC (rev 6430)
@@ -5,8 +5,7 @@
 #
 
 SRCDIR     = ..
-PV         = 59
-INST_VER   = 5.14.0
+PV         = 517
 
 # INSTALL_ROOT specifies a path where this perl will be installed on CE device
 INSTALL_ROOT=/netzwerk/sprache/perl
@@ -82,6 +81,7 @@
 #MACHINE=wince-mips-palm-wce211
 #MACHINE=wince-sh3-palm-wce211
 #MACHINE=wince-x86em-palm-wce211
+#MACHINE=wince-x86-hpc-wce300
 !endif
 
 # set this to your email address
@@ -336,6 +336,24 @@
              $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
 !endif
 
+!if "$(MACHINE)" == "wince-x86-hpc-wce300"
+CC         = cl.exe
+ARCH       = X86EM
+CPU        = X86
+TARGETCPU  = X86
+CEVersion  = 400
+OSVERSION  = WCE400
+PLATFORM   = MS Pocket PC
+MCFLAGS    = -DX86 -D_X86_ -Dx86 -DPROCESSOR_X86 -D _MT -D _DLL \
+             -DPALM_SIZE -DPOCKET_SIZE -I $(CELIBDLLDIR)\inc
+MACH       = -machine:IX86
+SUBSYS     = -subsystem:windowsce,2.0
+CELIBPATH  = $(CELIBDLLDIR)\wince-x86-hpc-wce300-release
+LDLIBPATH  = -libpath:$(CELIBPATH)
+STARTOBJS  = $(CECONSOLEDIR)/$(MACHINE)/wmain.obj \
+             $(CECONSOLEDIR)/$(MACHINE)/w32console.obj
+!endif
+
 ######################################################################
 # common section
 
@@ -363,6 +381,9 @@
 
 PATH=$(CEPATH);$(PATH)
 
+# attention, for eVC 4, these paths are not generated correctly since the
+# WinCE SDK is organized differently from eVC 3, replace the next 2 macros
+# with absolute paths to the correct directories on your system
 INCLUDE=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\include
 LIB=$(WCEROOT)\$(OSVERSION)\$(PLATFORM)\lib\$(ARCH)
 
@@ -472,8 +493,9 @@
 CELIB           = celib.lib
 !endif
 
+#use ws2.lib instead of winsock.lib for WSAGetLastError
 CELIBS          = -nodefaultlib \
-                  winsock.lib $(CELIB) coredll.lib
+                  ws2.lib $(CELIB) coredll.lib
 
 !if $(CEVersion) > 200
 CELIBS          = $(CELIBS) corelibc.lib
@@ -488,10 +510,10 @@
 CFLAGS		= -nologo -Gf -W3 $(INCLUDES) $(DEFINES) $(LOCDEFS) \
 		$(PCHFLAGS) $(OPTIMIZE)
 
-LINK_FLAGS	= -nologo -machine:$(PROCESSOR_ARCHITECTURE)
+LINK_FLAGS	= -nologo -opt:ref,icf -machine:$(PROCESSOR_ARCHITECTURE)
 
 !if "$(CFG)" == "DEBUG"
-LINK_FLAGS      = $(LINK_FLAGS) -debug:full -pdb:none
+LINK_FLAGS      = $(LINK_FLAGS) -debug
 !else
 LINK_FLAGS      = $(LINK_FLAGS) -release
 !endif
@@ -512,6 +534,9 @@
 .c$(o):
 	$(CC) -c -I$(<D) $(CFLAGS_O) $(OBJOUT_FLAG)$@ $<
 
+.c.i:
+	$(CC) -c -I$(<D) $(CFLAGS_O) -P $(OBJOUT_FLAG)$@ $<
+
 .y.c:
 	$(NOOP)
 
@@ -535,11 +560,18 @@
 MINIMOD		= ..\lib\ExtUtils\Miniperl.pm
 
 # Unicode data files generated by mktables
+FIRSTUNIFILE     = ..\lib\unicore\Decomposition.pl
 UNIDATAFILES	 = ..\lib\unicore\Decomposition.pl \
 		   ..\lib\unicore\CombiningClass.pl ..\lib\unicore\Name.pl \
 		   ..\lib\unicore\Heavy.pl ..\lib\unicore\mktables.lst \
+		   ..\lib\unicore\UCD.pl ..\lib\unicore\Name.pm \
 		   ..\lib\unicore\TestProp.pl
 
+PERLEXE_MANIFEST= .\perlexe.manifest
+PERLEXE_ICO	= .\perlexe.ico
+PERLEXE_RES	= .\perlexe.res
+PERLDLL_RES	=
+
 # Directories of Unicode data files generated by mktables
 UNIDATADIR1	= ..\lib\unicore\To
 UNIDATADIR2	= ..\lib\unicore\lib
@@ -555,12 +587,6 @@
 CFGSH_TMPL	= config.ce
 CFGH_TMPL	= config_H.ce
 
-#
-# filenames given to xsubpp must have forward slashes (since it puts
-# full pathnames in #line strings)
-XSUBPP		= $(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) ..\$(EXTUTILSDIR)\xsubpp \
-		-C++ -prototypes
-
 MICROCORE_SRC	=		\
 		..\av.c		\
 		..\deb.c	\
@@ -571,8 +597,11 @@
 		..\gv.c		\
 		..\mro.c	\
 		..\hv.c		\
+		..\locale.c	\
 		..\keywords.c	\
+		..\mathoms.c    \
 		..\mg.c		\
+		..\numeric.c	\
 		..\op.c		\
 		..\pad.c	\
 		..\perl.c	\
@@ -613,8 +642,6 @@
 WIN32_SRC	= $(WIN32_SRC) .\$(CRYPT_SRC)
 !ENDIF
 
-DLL_SRC		= $(DYNALOADER).c
-
 CORE_NOCFG_H	=		\
 		..\av.h		\
 		..\cop.h	\
@@ -625,6 +652,7 @@
 		..\gv.h		\
 		..\handy.h	\
 		..\hv.h		\
+		..\hv_func.h	\
 		..\iperlsys.h	\
 		..\mg.h		\
 		..\nostdio.h	\
@@ -669,7 +697,6 @@
 		$(ERRNO_PM)
 
 CFG_VARS = \
- "INST_DRV=$(INST_DRV)" \
  "INST_TOP=$(INST_TOP)" \
  "INST_VER=$(INST_VER)" \
  "INST_ARCH=$(INST_ARCH)" \
@@ -695,7 +722,17 @@
  "LINK_FLAGS=$(LDLIBPATH) $(LINK_FLAGS) $(SUBSYS)" \
  "optimize=$(OPTIMIZE)"
 
+ICWD = -I..\dist\Cwd -I..\dist\Cwd\lib
+ICWD1 = -I..\..\dist\Cwd -I..\..\dist\Cwd\lib
+
 #
+# filenames given to xsubpp must have forward slashes (since it puts
+# full pathnames in #line strings)
+XSUBPP		= $(HPERL) -I..\..\lib $(ICWD1) -MCross=$(CROSS_NAME) ..\$(EXTUTILSDIR)\xsubpp \
+		-C++ -prototypes
+
+
+#
 # Top targets
 #
 
@@ -703,8 +740,8 @@
 
 $(DYNALOADER)$(o) : $(DYNALOADER).c xconfig.h $(EXTDIR)\DynaLoader\dlutils.c
 
-$(CONFIGPM) : $(HPERL) ..\config.sh .\xconfig.h config_h.PL ..\minimod.pl
-	cd .. && $(HPERL) configpm --cross=$(CROSS_NAME) --no-glossary
+$(CONFIGPM) : $(HPERL) ..\Cross\config-$(MACHINE).sh config_h.PL ..\minimod.pl
+	cd .. && $(HPERL) -Ilib configpm --cross=$(CROSS_NAME) --no-glossary
 	-mkdir $(XCOREDIR)
 	$(XCOPY) ..\*.h $(XCOREDIR)\*.*
 	$(XCOPY) ..\*.inc $(XCOREDIR)\*.*
@@ -715,30 +752,15 @@
 .\xconfig.h:
 	-del /f xconfig.h
 	-mkdir $(XCOREDIR)
-	-$(HPERL) -I..\lib -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)" "CONFIG_H=xconfig.h"
+	-$(HPERL) -I..\lib $(ICWD) -MCross=$(CROSS_NAME) config_h.PL "INST_VER=$(INST_VER)" "CORE_DIR=$(XCOREDIR)" "CONFIG_H=xconfig.h"
 	$(XCOPY) xconfig.h $(XCOREDIR)\config.h
 
-..\config.sh: config.ce config_sh.PL
-	$(HPERL) -I..\lib -I. config_sh.PL $(CFG_VARS) config.ce > ..\config.sh
+..\Cross\config-$(MACHINE).sh: config.ce config_sh.PL
+	$(HPERL) -I..\lib -I. config_sh.PL $(CFG_VARS) config.ce > ..\Cross\config-$(MACHINE).sh
 
 $(MINIMOD) : ..\minimod.pl
 	cd .. && $(HPERL) minimod.pl > lib\ExtUtils\Miniperl.pm
 
-$(DYNALOADER).c: $(EXTDIR)\DynaLoader\dl_win32.xs $(CONFIGPM)
-	if not exist $(AUTODIR) mkdir $(AUTODIR)
-	cd $(EXTDIR)\$(*B)
-	$(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) $(*B)_pm.PL
-	$(HPERL) -I..\..\lib -MCross=$(CROSS_NAME) XSLoader_pm.PL
-	cd ..\..\win32
-	$(XCOPY) $(EXTDIR)\$(*B)\$(*B).pm $(LIBDIR)\$(NULL)
-	$(XCOPY) $(EXTDIR)\$(*B)\XSLoader.pm $(LIBDIR)\$(NULL)
-	cd $(EXTDIR)\$(*B)
-	$(XSUBPP) dl_win32.xs > $(*B).c
-	cd ..\..\win32
-
-$(EXTDIR)\DynaLoader\dl_win32.xs: dl_win32.xs
-	$(COPY) dl_win32.xs $(EXTDIR)\DynaLoader\dl_win32.xs
-
 MakePPPort: $(MINIPERL) $(CONFIGPM)
 	$(HPERL) -I..\lib -MCross=$(CROSS_NAME) ..\mkppport
 
@@ -763,8 +785,8 @@
 
 #----------------------------------------------------------------------------------
 
-$(PERLEXE_RES): perl.rc perl.ico
-	rc $(RCDEFS) perl.rc
+$(PERLEXE_RES): perlexe.rc perl.rc $(PERLEXE_MANIFEST) $(PERLEXE_ICO)
+	rc $(RCDEFS) perlexe.rc
 
 clean:
 	-rm -f $(MACHINE)/dll/*
@@ -772,7 +794,7 @@
 	-rm -f $(MACHINE)/*.exe
 	-rm -f $(MACHINE)/*.dll
 	-rm -f $(MACHINE)/*.lib
-	-rm -f ../config.sh ../lib/Config.pm
+	-rm -f ..\Cross\config-$(MACHINE).sh ../lib/Config.pm
 	-rm -f config.h xconfig.h perl.res
 	-rm -f ../t/test_state
 
@@ -787,6 +809,7 @@
 $(DLLDIR)\mro.obj \
 $(DLLDIR)\hv.obj \
 $(DLLDIR)\locale.obj \
+$(DLLDIR)\keywords.obj \
 $(DLLDIR)\mathoms.obj \
 $(DLLDIR)\mg.obj \
 $(DLLDIR)\numeric.obj \
@@ -845,13 +868,13 @@
 	rem (frustrated) mv perllib.obj $(DLLDIR)
 !ENDIF
 
-perldll.def : $(HPERL) $(CONFIGPM) ..\global.sym ..\makedef.pl create_perllibst_h.pl
-	$(HPERL) -MCross -I..\lib create_perllibst_h.pl
-	$(HPERL) -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
-	    CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) > perldll.def
+perldll.def : $(HPERL) $(CONFIGPM) ..\embed.fnc ..\makedef.pl create_perllibst_h.pl .\xconfig.h
+	$(HPERL) -I..\lib -MCross create_perllibst_h.pl
+	$(HPERL) -I..\lib -MCross -w ..\makedef.pl PLATFORM=wince $(OPTIMIZE) $(DEFINES) $(BUILDOPT) \
+	    CCTYPE=$(CCTYPE) -DPERL_DLL=$(PERLDLL) TARG_DIR=..\ > perldll.def
 
 $(PERLDLL) : $(DLLDIR) perldll.def $(XDLLOBJS) $(PERLDLL_RES)
-	$(LINK32) -dll -def:perldll.def -out:$@ \
+	$(LINK32) -dll -def:perldll.def -base:0x28000000 -out:$@ \
                   $(SUBSYS) $(LDLIBPATH) \
 		  $(LINK_FLAGS) $(LIBFILES) \
 		  $(XDLLOBJS) $(PERLDLL_RES)
@@ -914,7 +937,7 @@
 
 $(UNIDATAFILES) : $(HPERL) $(CONFIGPM) ..\lib\unicore\mktables
 	cd ..\lib\unicore && \
-	$(HPERL) -I.. mktables -P ..\..\pod -maketest -makelist -p
+	$(HPERL) -I.. -I..\..\lib $(ICWD1) -MCross=$(CROSS_NAME) mktables -P ..\..\pod -maketest -makelist -p -check $@ $(FIRSTUNIFILE)
 
 dist: all
 	$(HPERL) -I..\lib -MCross=$(CROSS_NAME) ce-helpers\makedist.pl --distdir=dist-$(CROSS_NAME) --cross-name=$(CROSS_NAME)


Property changes on: vendor/perl/dist/win32/Makefile.ce
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/bin/exetype.pl
===================================================================
--- vendor/perl/dist/win32/bin/exetype.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/bin/exetype.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/bin/exetype.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/bin/perlglob.pl
===================================================================
--- vendor/perl/dist/win32/bin/perlglob.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/bin/perlglob.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/bin/perlglob.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/bin/pl2bat.pl
===================================================================
--- vendor/perl/dist/win32/bin/pl2bat.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/bin/pl2bat.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,7 +26,7 @@
                             a /^#!.*perl/ line was already present).
         -s stripsuffix  strip this suffix from file before appending ".bat"
                             Not case-sensitive
-                            Can be a regex if it begins with `/'
+                            Can be a regex if it begins with '/'
                             Defaults to "/\.plx?/"
         -h              show this help
 EOT
@@ -335,7 +335,7 @@
 
 Strip a suffix string from file name before appending a ".bat"
 suffix.  The suffix is not case-sensitive.  It can be a regex if
-it begins with `/' (the trailing '/' is optional and a trailing
+it begins with '/' (the trailing '/' is optional and a trailing
 C<$> is always assumed).  Defaults to C</.plx?/>.
 
 =item B<-w>
@@ -363,21 +363,21 @@
 
 	C:\> pl2bat foo.pl bar.PM 
 	[..creates foo.bat, bar.PM.bat..]
-	
+
 	C:\> pl2bat -s "/\.pl|\.pm/" foo.pl bar.PM
 	[..creates foo.bat, bar.bat..]
-	
+
 	C:\> pl2bat < somefile > another.bat
-	
+
 	C:\> pl2bat > another.bat
 	print scalar reverse "rekcah lrep rehtona tsuj\n";
 	^Z
 	[..another.bat is now a certified japh application..]
-	
+
 	C:\> ren *.bat *.pl
 	C:\> pl2bat -u *.pl
 	[..updates the wrapping of some previously wrapped scripts..]
-	
+
 	C:\> pl2bat -u -s .bat *.bat
 	[..same as previous example except more dangerous..]
 


Property changes on: vendor/perl/dist/win32/bin/pl2bat.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/bin/runperl.pl
===================================================================
--- vendor/perl/dist/win32/bin/runperl.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/bin/runperl.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -6,10 +6,10 @@
 	$_ = "." if $_ eq "";
 	$0 = "$_/$0" , goto doit if -f "$_/$0";
     }
-    die "`$0' not found.\n";
+    die "'$0' not found.\n";
 }
 doit: exec "perl", "-x", $0, @ARGV;
-die "Failed to exec `$0': $!";
+die "Failed to exec '$0': $!";
 __END__
 
 =head1 NAME
@@ -20,12 +20,12 @@
 
 	C:\> copy runperl.bat foo.bat
 	C:\> foo
-	[..runs the perl script `foo'..]
-	
+	[..runs the perl script 'foo'..]
+
 	C:\> foo.bat
-	[..runs the perl script `foo'..]
-	
+	[..runs the perl script 'foo'..]
 
+
 =head1 DESCRIPTION
 
 This file can be copied to any file name ending in the ".bat" suffix.


Property changes on: vendor/perl/dist/win32/bin/runperl.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/bin/search.pl
===================================================================
--- vendor/perl/dist/win32/bin/search.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/bin/search.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -464,7 +464,7 @@
 	  ##
 	  if ($underlineOK) {
 	     if ($regex =~ m/[?*+{}()\\.|^\$[]/) {
-		warn "$0: warning, can't underline-safe ``$regex''.\n";
+		warn "$0: warning, can't underline-safe '$regex'.\n";
 	     } else {
 		$regex = join($underline_glue, split(//, $regex));
 	     }


Property changes on: vendor/perl/dist/win32/bin/search.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/ce-helpers/cecopy-lib.pl
===================================================================
--- vendor/perl/dist/win32/ce-helpers/cecopy-lib.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/ce-helpers/cecopy-lib.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -40,6 +40,7 @@
     bytes.pm
     Carp.pm
     charnames.pm
+    _charnames.pm
     Config.pm
     constant.pm
     Cwd.pm


Property changes on: vendor/perl/dist/win32/ce-helpers/cecopy-lib.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/ce-helpers/comp.pl
===================================================================
--- vendor/perl/dist/win32/ce-helpers/comp.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/ce-helpers/comp.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/ce-helpers/comp.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/ce-helpers/compile-all.bat
===================================================================
--- vendor/perl/dist/win32/ce-helpers/compile-all.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/ce-helpers/compile-all.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/ce-helpers/compile-all.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/ce-helpers/compile.bat
===================================================================
--- vendor/perl/dist/win32/ce-helpers/compile.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/ce-helpers/compile.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/ce-helpers/compile.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/ce-helpers/makedist.pl
===================================================================
--- vendor/perl/dist/win32/ce-helpers/makedist.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/ce-helpers/makedist.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/ce-helpers/makedist.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/ce-helpers/registry.bat
===================================================================
--- vendor/perl/dist/win32/ce-helpers/registry.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/ce-helpers/registry.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/ce-helpers/registry.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/config.bc
===================================================================
--- vendor/perl/dist/win32/config.bc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config.bc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/config.bc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/config.ce
===================================================================
--- vendor/perl/dist/win32/config.ce	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config.ce	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,6 @@
 ## Configured by: ~cf_email~
 ## Target system: WINCE
 Author=''
-PERL_CONFIG_SH='true'
-CONFIGDOTSH='true'
 Date='$Date'
 Header=''
 Id='$Id'
@@ -13,8 +11,7 @@
 Revision='$Revision'
 Source=''
 State=''
-# keep this for WinCE, as it is used by some mods...
-_a='.lib'
+_a='.lib' # keep this for WinCE, as it is used by some mods...
 _exe='.exe'
 _o='.obj'
 afs='false'
@@ -38,6 +35,7 @@
 bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
 binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
 bison=''
+bootstrap_charset='undef'
 byacc='byacc'
 byteorder='1234'
 c=''
@@ -130,11 +128,11 @@
 d_const='define'
 d_copysignl='undef'
 d_cplusplus='undef'
+d_crypt='undef'
 d_crypt_r='undef'
-d_crypt='undef'
 d_csh='undef'
+d_ctermid='undef'
 d_ctermid_r='undef'
-d_ctermid='undef'
 d_ctime64='undef'
 d_ctime_r='undef'
 d_cuserid='undef'
@@ -149,12 +147,12 @@
 d_dlopen='define'
 d_dlsymun='undef'
 d_dosuid='undef'
+d_drand48_r='undef'
 d_drand48proto='undef'
-d_drand48_r='undef'
 d_dup2='define'
 d_eaccess='undef'
+d_endgrent='undef'
 d_endgrent_r='undef'
-d_endgrent='undef'
 d_endhent='undef'
 d_endhostent_r='undef'
 d_endnent='undef'
@@ -161,8 +159,8 @@
 d_endnetent_r='undef'
 d_endpent='undef'
 d_endprotoent_r='undef'
+d_endpwent='undef'
 d_endpwent_r='undef'
-d_endpwent='undef'
 d_endsent='undef'
 d_endservent_r='undef'
 d_endspent='undef'
@@ -172,23 +170,23 @@
 d_fchdir='undef'
 d_fchmod='undef'
 d_fchown='undef'
+d_fcntl='undef'
 d_fcntl_can_lock='undef'
-d_fcntl='undef'
 d_fd_macros='define'
+d_fd_set='define'
 d_fds_bits='define'
-d_fd_set='define'
 d_fgetpos='define'
+d_finite='undef'
 d_finitel='undef'
-d_finite='undef'
 d_flexfnam='define'
+d_flock='undef'
 d_flockproto='undef'
-d_flock='undef'
 d_fork='undef'
+d_fp_class='undef'
 d_fpathconf='undef'
+d_fpclass='undef'
 d_fpclassify='undef'
 d_fpclassl='undef'
-d_fp_class='undef'
-d_fpclass='undef'
 d_fpos64_t='undef'
 d_frexpl='undef'
 d_fs_data_s='undef'
@@ -206,8 +204,8 @@
 d_getcwd='define'
 d_getespwnam='undef'
 d_getfsstat='undef'
+d_getgrent='undef'
 d_getgrent_r='undef'
-d_getgrent='undef'
 d_getgrgid_r='undef'
 d_getgrnam_r='undef'
 d_getgrps='undef'
@@ -222,8 +220,8 @@
 d_getitimer='undef'
 d_getlogin='define'
 d_getlogin_r='undef'
+d_getmnt='undef'
 d_getmntent='undef'
-d_getmnt='undef'
 d_getnameinfo='undef'
 d_getnbyaddr='undef'
 d_getnbyname='undef'
@@ -246,8 +244,8 @@
 d_getprotoent_r='undef'
 d_getprotoprotos='define'
 d_getprpwnam='undef'
+d_getpwent='undef'
 d_getpwent_r='undef'
-d_getpwent='undef'
 d_getpwnam_r='undef'
 d_getpwuid_r='undef'
 d_getsbyname='define'
@@ -258,8 +256,8 @@
 d_getservent_r='undef'
 d_getservprotos='define'
 d_getspent='undef'
+d_getspnam='undef'
 d_getspnam_r='undef'
-d_getspnam='undef'
 d_gettimeod='undef'
 d_gmtime64='undef'
 d_gmtime_r='undef'
@@ -274,7 +272,12 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='undef'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='define'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='undef'
 d_isnan='define'
@@ -285,8 +288,8 @@
 d_libm_lib_version='undef'
 d_link='define'
 d_localtime64='undef'
+d_localtime_r='undef'
 d_localtime_r_needs_tzset='undef'
-d_localtime_r='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='undef'
@@ -307,26 +310,26 @@
 d_mkdir='define'
 d_mkdtemp='undef'
 d_mkfifo='undef'
+d_mkstemp='undef'
 d_mkstemps='undef'
-d_mkstemp='undef'
 d_mktime64='undef'
 d_mktime='define'
 d_mmap='undef'
+d_modfl='undef'
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
-d_modfl='undef'
 d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
 d_msg_ctrunc='undef'
 d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
 d_msg_oob='undef'
 d_msg_peek='undef'
 d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
 d_msgrcv='undef'
 d_msgsnd='undef'
-d_msg='undef'
 d_msync='undef'
 d_munmap='undef'
 d_mymalloc='~PERL_MALLOC~'
@@ -438,6 +441,7 @@
 d_sin6_scope_id='undef'
 d_sitearch='define'
 d_snprintf='undef'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -452,9 +456,9 @@
 d_sresgproto='undef'
 d_sresuproto='undef'
 d_statblks='undef'
-d_static_inline='undef'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
+d_static_inline='undef'
 d_statvfs='undef'
 d_stdio_cnt_lval='undef'
 d_stdio_ptr_lval='undef'
@@ -657,6 +661,7 @@
 i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -799,8 +804,8 @@
 nm_so_opt=''
 nonxs_ext='Errno'
 nroff=''
+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'
 nv_preserves_uv_bits='32'
-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'
 nveformat='"e"'
 nvfformat='"f"'
 nvgformat='"g"'
@@ -822,9 +827,9 @@
 perl5=''
 perl='perl'
 perl_patchlevel='~PERL_PATCHLEVEL~'
+perl_static_inline='static'
 perladmin=''
 perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
-perl_static_inline='static'
 pg=''
 phostname='hostname'
 pidtype='int'
@@ -832,7 +837,7 @@
 pmake=''
 pr=''
 prefix='~INST_TOP~'
-prefixexp='~INST_DRV~'
+prefixexp='~INST_TOP~'
 privlib='~INST_TOP~~INST_VER~\lib'
 privlibexp='~INST_TOP~~INST_VER~\lib'
 procselfexe=''
@@ -924,6 +929,8 @@
 srandom_r_proto='0'
 src=''
 ssizetype='int'
+st_ino_sign='1'
+st_ino_size='4'
 startperl='#!perl'
 startsh='#!/bin/sh'
 static_ext='DynaLoader'
@@ -937,7 +944,7 @@
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='~SUBVERSION~'
+subversion='~PERL_SUBVERSION~'
 sysman='/usr/man/man1'
 tail=''
 tar=''
@@ -977,6 +984,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='~USE_ITHREADS~'
+usekernprocpathname='undef'
 uselargefiles='undef'
 uselongdouble='undef'
 usemallocwrap='define'
@@ -984,6 +992,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='~USE_PERLIO~'
 useposix='true'
@@ -1014,7 +1023,7 @@
 vendorlibexp=''
 vendorprefix=''
 vendorprefixexp=''
-version='~VERSION~'
+version=''
 versiononly='undef'
 vi=''
 voidflags='15'
@@ -1030,3 +1039,4 @@
 PATCHLEVEL='~PERL_VERSION~'
 PERL_PATCHLEVEL='~PERL_PATCHLEVEL~'
 PERL_CONFIG_SH='true'
+CONFIGDOTSH='true'


Property changes on: vendor/perl/dist/win32/config.ce
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/config.gc
===================================================================
--- vendor/perl/dist/win32/config.gc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config.gc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 ## Configured by: ~cf_email~
-## Target system: WIN32 
+## Target system: WIN32
 Author=''
 Date='$Date'
 Header=''
@@ -22,7 +22,7 @@
 api_subversion='~PERL_API_SUBVERSION~'
 api_version='~PERL_API_VERSION~'
 api_versionstring='~PERL_API_REVISION~.~PERL_API_VERSION~.~PERL_API_SUBVERSION~'
-ar='ar'
+ar='~ARCHPREFIX~ar'
 archlib='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
 archlibexp='~INST_TOP~~INST_VER~\lib~INST_ARCH~'
 archname64=''
@@ -35,12 +35,13 @@
 bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
 binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
 bison=''
+bootstrap_charset='undef'
 byacc='byacc'
 byteorder='1234'
 c=''
 castflags='0'
 cat='type'
-cc='gcc'
+cc='~ARCHPREFIX~gcc'
 cccdlflags=' '
 ccdlflags=' '
 ccflags='-MD -DWIN32'
@@ -170,14 +171,14 @@
 d_fchdir='undef'
 d_fchmod='undef'
 d_fchown='undef'
+d_fcntl='undef'
 d_fcntl_can_lock='undef'
-d_fcntl='undef'
 d_fd_macros='define'
 d_fd_set='define'
 d_fds_bits='define'
 d_fgetpos='define'
+d_finite='undef'
 d_finitel='undef'
-d_finite='undef'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='define'
@@ -271,7 +272,12 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='undef'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='define'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='undef'
 d_isnan='define'
@@ -287,7 +293,7 @@
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
-d_longlong='undef'
+d_longlong='define'
 d_lseekproto='define'
 d_lstat='undef'
 d_madvise='undef'
@@ -313,17 +319,17 @@
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
 d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
 d_msg_ctrunc='undef'
 d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
 d_msg_oob='undef'
 d_msg_peek='undef'
 d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
 d_msgrcv='undef'
 d_msgsnd='undef'
-d_msg='undef'
 d_msync='undef'
 d_munmap='undef'
 d_mymalloc='undef'
@@ -435,6 +441,7 @@
 d_sin6_scope_id='define'
 d_sitearch='define'
 d_snprintf='define'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -449,9 +456,9 @@
 d_sresgproto='undef'
 d_sresuproto='undef'
 d_statblks='undef'
-d_static_inline='define'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
+d_static_inline='define'
 d_statvfs='undef'
 d_stdio_cnt_lval='define'
 d_stdio_ptr_lval='define'
@@ -535,6 +542,7 @@
 defvoidused='15'
 direntrytype='struct direct'
 dlext='dll'
+dlltool='~ARCHPREFIX~dlltool'
 dlsrc='dl_win32.xs'
 doublesize='8'
 drand01='(rand()/(double)((unsigned)1<<RANDBITS))'
@@ -665,6 +673,7 @@
 i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -751,7 +760,7 @@
 ivtype='long'
 known_extensions='~static_ext~ ~dynamic_ext~ ~nonxs_ext~'
 ksh=''
-ld='g++'
+ld='~ARCHPREFIX~g++'
 lddlflags='-mdll ~LINK_FLAGS~'
 ldflags='~LINK_FLAGS~'
 ldflags_uselargefiles=''
@@ -819,7 +828,7 @@
 netdb_host_type='char *'
 netdb_name_type='char *'
 netdb_net_type='long'
-nm='nm'
+nm='~ARCHPREFIX~nm'
 nm_opt=''
 nm_so_opt=''
 nonxs_ext='Errno'
@@ -850,10 +859,10 @@
 perl5=''
 perl='perl'
 perl_patchlevel='~PERL_PATCHLEVEL~'
+perl_static_inline='static __inline__'
 perladmin=''
 perllibs='~libs~'
 perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
-perl_static_inline='static __inline__'
 pg=''
 phostname='hostname'
 pidtype='int'
@@ -963,6 +972,8 @@
 srandom_r_proto='0'
 src=''
 ssizetype='int'
+st_ino_sign='1'
+st_ino_size='4'
 startperl='#!perl'
 startsh='#!/bin/sh'
 static_ext=' '
@@ -976,7 +987,7 @@
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='~SUBVERSION~'
+subversion='~PERL_SUBVERSION~'
 sysman='/usr/man/man1'
 tail=''
 tar=''
@@ -1017,6 +1028,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='undef'
 uselongdouble='undef'
 usemallocwrap='define'
@@ -1024,6 +1036,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='undef'
 useposix='true'
@@ -1064,7 +1077,7 @@
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='~VERSION~'
+version=''
 version_patchlevel_string=''
 versiononly='undef'
 vi=''


Property changes on: vendor/perl/dist/win32/config.gc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/config.gc64
===================================================================
--- vendor/perl/dist/win32/config.gc64	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config.gc64	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/config.gc64
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/config.gc64nox
===================================================================
--- vendor/perl/dist/win32/config.gc64nox	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config.gc64nox	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/config.gc64nox
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/config.vc
===================================================================
--- vendor/perl/dist/win32/config.vc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config.vc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 ## Configured by: ~cf_email~
-## Target system: WIN32 
+## Target system: WIN32
 Author=''
 Date='$Date'
 Header=''
@@ -35,6 +35,7 @@
 bin='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
 binexp='~INST_TOP~~INST_VER~\bin~INST_ARCH~'
 bison=''
+bootstrap_charset='undef'
 byacc='byacc'
 byteorder='1234'
 c=''
@@ -170,14 +171,14 @@
 d_fchdir='undef'
 d_fchmod='undef'
 d_fchown='undef'
+d_fcntl='undef'
 d_fcntl_can_lock='undef'
-d_fcntl='undef'
 d_fd_macros='define'
 d_fd_set='define'
 d_fds_bits='define'
 d_fgetpos='define'
+d_finite='undef'
 d_finitel='undef'
-d_finite='undef'
 d_flexfnam='define'
 d_flock='define'
 d_flockproto='define'
@@ -271,7 +272,12 @@
 d_inetntop='undef'
 d_inetpton='undef'
 d_int64_t='undef'
+d_ip_mreq='undef'
+d_ip_mreq_source='undef'
+d_ipv6_mreq='undef'
+d_ipv6_mreq_source='undef'
 d_isascii='define'
+d_isblank='undef'
 d_isfinite='undef'
 d_isinf='undef'
 d_isnan='define'
@@ -313,17 +319,17 @@
 d_modfl_pow32_bug='undef'
 d_modflproto='undef'
 d_mprotect='undef'
-d_msgctl='undef'
+d_msg='undef'
 d_msg_ctrunc='undef'
 d_msg_dontroute='undef'
-d_msgget='undef'
-d_msghdr_s='undef'
 d_msg_oob='undef'
 d_msg_peek='undef'
 d_msg_proxy='undef'
+d_msgctl='undef'
+d_msgget='undef'
+d_msghdr_s='undef'
 d_msgrcv='undef'
 d_msgsnd='undef'
-d_msg='undef'
 d_msync='undef'
 d_munmap='undef'
 d_mymalloc='undef'
@@ -435,6 +441,7 @@
 d_sin6_scope_id='define'
 d_sitearch='define'
 d_snprintf='define'
+d_sockaddr_in6='undef'
 d_sockaddr_sa_len='undef'
 d_sockatmark='undef'
 d_sockatmarkproto='undef'
@@ -449,9 +456,9 @@
 d_sresgproto='undef'
 d_sresuproto='undef'
 d_statblks='undef'
-d_static_inline='define'
 d_statfs_f_flags='undef'
 d_statfs_s='undef'
+d_static_inline='define'
 d_statvfs='undef'
 d_stdio_cnt_lval='define'
 d_stdio_ptr_lval='define'
@@ -665,6 +672,7 @@
 i_shadow='undef'
 i_socks='undef'
 i_stdarg='define'
+i_stdbool='undef'
 i_stddef='define'
 i_stdlib='define'
 i_string='define'
@@ -850,10 +858,10 @@
 perl5=''
 perl='perl'
 perl_patchlevel='~PERL_PATCHLEVEL~'
+perl_static_inline='static __inline'
 perladmin=''
 perllibs='~libs~'
 perlpath='~INST_TOP~~INST_VER~\bin~INST_ARCH~\perl.exe'
-perl_static_inline='static __inline'
 pg=''
 phostname='hostname'
 pidtype='int'
@@ -963,6 +971,8 @@
 srandom_r_proto='0'
 src=''
 ssizetype='int'
+st_ino_sign='1'
+st_ino_size='4'
 startperl='#!perl'
 startsh='#!/bin/sh'
 static_ext=' '
@@ -976,7 +986,7 @@
 strerror_r_proto='0'
 strings='/usr/include/string.h'
 submit=''
-subversion='~SUBVERSION~'
+subversion='~PERL_SUBVERSION~'
 sysman='/usr/man/man1'
 tail=''
 tar=''
@@ -1017,6 +1027,7 @@
 usedtrace='undef'
 usefaststdio='undef'
 useithreads='undef'
+usekernprocpathname='undef'
 uselargefiles='undef'
 uselongdouble='undef'
 usemallocwrap='define'
@@ -1024,6 +1035,7 @@
 usemultiplicity='undef'
 usemymalloc='n'
 usenm='false'
+usensgetexecutablepath='undef'
 useopcode='true'
 useperlio='undef'
 useposix='true'
@@ -1064,7 +1076,7 @@
 vendorprefixexp=''
 vendorscript=''
 vendorscriptexp=''
-version='~VERSION~'
+version=''
 version_patchlevel_string=''
 versiononly='undef'
 vi=''


Property changes on: vendor/perl/dist/win32/config.vc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/config.vc64
===================================================================
--- vendor/perl/dist/win32/config.vc64	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config.vc64	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/config.vc64
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/config_H.bc
===================================================================
--- vendor/perl/dist/win32/config_H.bc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_H.bc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/config_H.bc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/config_H.ce
===================================================================
--- vendor/perl/dist/win32/config_H.ce	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_H.ce	2013-12-01 21:45:02 UTC (rev 6430)
@@ -7,7 +7,7 @@
  * that running config_h.SH again will wipe out any changes you've made.
  * For a more permanent change edit undef and rerun config_h.SH.
  *
- * $Id: config_H.ce,v 1.1.1.1 2011-05-19 23:03:36 laffer1 Exp $
+ * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
  */
 
 /*
@@ -1050,6 +1050,12 @@
 #define BYTEORDER 0x1234	/* large digits for MSB */
 #endif /* NeXT */
 
+/* CHARBITS:
+ *	This symbol contains the size of a char, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define CHARBITS 8		/**/
+
 /* CAT2:
  *	This macro concatenates 2 tokens together.
  */
@@ -1889,9 +1895,16 @@
 /* LOCALTIME_R_NEEDS_TZSET:
  *	Many libc's localtime_r implementations do not call tzset,
  *	making them differ from localtime(), and making timezone
- *	changes using $ENV{TZ} without explicitly calling tzset
+ *	changes using \undef{TZ} without explicitly calling tzset
  *	impossible. This symbol makes us call tzset before localtime_r
  */
+/*#define LOCALTIME_R_NEEDS_TZSET /**/
+#ifdef LOCALTIME_R_NEEDS_TZSET
+#define L_R_TZSET tzset(),
+#else
+#define L_R_TZSET
+#endif
+
 /* LOCALTIME_R_PROTO:
  *	This symbol encodes the prototype of localtime_r.
  *	It is zero if d_localtime_r is undef, and one of the
@@ -1899,7 +1912,6 @@
  *	is defined.
  */
 /*#define HAS_LOCALTIME_R	   /**/
-/*#define LOCALTIME_R_NEEDS_TZSET	   /**/
 #define LOCALTIME_R_PROTO 0	   /**/
 
 /* HAS_LONG_DOUBLE:
@@ -4420,5 +4432,25 @@
  */
 /*#define HAS_TTYNAME_R	   /**/
 #define TTYNAME_R_PROTO 0	   /**/
+/* GMTIME_MAX:
+ *	This symbol contains the maximum value for the time_t offset that
+ *	the system function gmtime () accepts, and defaults to 0
+ */
+/* GMTIME_MIN:
+ *	This symbol contains the minimum value for the time_t offset that
+ *	the system function gmtime () accepts, and defaults to 0
+ */
+/* LOCALTIME_MAX:
+ *	This symbol contains the maximum value for the time_t offset that
+ *	the system function localtime () accepts, and defaults to 0
+ */
+/* LOCALTIME_MIN:
+ *	This symbol contains the minimum value for the time_t offset that
+ *	the system function localtime () accepts, and defaults to 0
+ */
+#define GMTIME_MAX		2147483647	/**/
+#define GMTIME_MIN		0	/**/
+#define LOCALTIME_MAX	2147483647	/**/
+#define LOCALTIME_MIN	0	/**/
 
 #endif


Property changes on: vendor/perl/dist/win32/config_H.ce
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/config_H.gc
===================================================================
--- vendor/perl/dist/win32/config_H.gc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_H.gc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,4 @@
-/*
- * This file was produced by running the config_h.SH script, which
+/* This file was produced by running the config_h.SH script, which
  * gets its values from undef, which is generally produced by
  * running Configure.
  *
@@ -6,14 +5,11 @@
  * Feel free to modify any of this as the need arises.  Note, however,
  * that running config_h.SH again will wipe out any changes you've made.
  * For a more permanent change edit undef and rerun config_h.SH.
- *
- * $Id: config_H.gc,v 1.1.1.1 2011-05-19 23:03:36 laffer1 Exp $
  */
 
-/*
- * Package name      : perl5
+/* Package name      : perl5
  * Source directory  : 
- * Configuration time: Sun Jan 10 19:53:56 2010
+ * Configuration time: Sun Aug  5 17:25:40 2012
  * Configured by     : Steve
  * Target system     : 
  */
@@ -72,7 +68,7 @@
  *	This symbol, if defined, indicates that the crypt routine is available
  *	to encrypt passwords and the like.
  */
-/*#define HAS_CRYPT		/ **/
+#define HAS_CRYPT		/**/
 
 /* HAS_CTERMID:
  *	This symbol, if defined, indicates that the ctermid routine is
@@ -883,21 +879,30 @@
 #define	_V(args) ()
 #endif
 
-/* INTSIZE:
- *	This symbol contains the value of sizeof(int) so that the C
- *	preprocessor can make decisions based on it.
+/* OSNAME:
+ *	This symbol contains the name of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
  */
-/* LONGSIZE:
- *	This symbol contains the value of sizeof(long) so that the C
- *	preprocessor can make decisions based on it.
+/* OSVERS:
+ *	This symbol contains the version of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
  */
-/* SHORTSIZE:
- *	This symbol contains the value of sizeof(short) so that the C
- *	preprocessor can make decisions based on it.
+#define OSNAME "MSWin32"		/**/
+#define OSVERS "6.1"		/**/
+
+/* USE_CROSS_COMPILE:
+ *	This symbol, if defined, indicates that Perl is being cross-compiled.
  */
-#define INTSIZE 4		/**/
-#define LONGSIZE 4		/**/
-#define SHORTSIZE 2		/**/
+/* PERL_TARGETARCH:
+ *	This symbol, if defined, indicates the target architecture
+ *	Perl has been cross-compiled to.  Undefined if not a cross-compile.
+ */
+#ifndef USE_CROSS_COMPILE
+/*#define	USE_CROSS_COMPILE	/ **/
+#define	PERL_TARGETARCH	""	/**/
+#endif
 
 /* MULTIARCH:
  *	This symbol, if defined, signifies that the build
@@ -908,43 +913,17 @@
  */
 /*#define MULTIARCH		/ **/
 
-/* HAS_QUAD:
- *	This symbol, if defined, tells that there's a 64-bit integer type,
- *	Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
- *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
- *	or QUAD_IS___INT64.
+/* MEM_ALIGNBYTES:
+ *	This symbol contains the number of bytes required to align a
+ *	double, or a long double when applicable. Usual values are 2,
+ *	4 and 8. The default is eight, for safety.
  */
-#define HAS_QUAD	/**/
-#ifdef HAS_QUAD
-#   ifndef _MSC_VER
-#	define Quad_t long long	/**/
-#	define Uquad_t unsigned long long	/**/
-#	define QUADKIND 3	/**/
-#   else
-#	define Quad_t __int64	/**/
-#	define Uquad_t unsigned __int64	/**/
-#	define QUADKIND 5	/**/
-#   endif
-#   define QUAD_IS_INT	1
-#   define QUAD_IS_LONG	2
-#   define QUAD_IS_LONG_LONG	3
-#   define QUAD_IS_INT64_T	4
-#   define QUAD_IS___INT64	5
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#  define MEM_ALIGNBYTES 8
+#else
+#define MEM_ALIGNBYTES 8
 #endif
 
-/* OSNAME:
- *	This symbol contains the name of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
- */
-/* OSVERS:
- *	This symbol contains the version of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
- */
-#define OSNAME "MSWin32"		/**/
-#define OSVERS "5.1"		/**/
-
 /* ARCHLIB:
  *	This variable, if defined, holds the name of the directory in
  *	which the user wants to put architecture-dependent public
@@ -985,6 +964,71 @@
 #define BIN_EXP "c:\\perl\\bin"	/**/
 #define PERL_RELOCATABLE_INC "undef" 		/**/
 
+/* INTSIZE:
+ *	This symbol contains the value of sizeof(int) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ *	This symbol contains the value of sizeof(long) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *	This symbol contains the value of sizeof(short) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4		/**/
+#define LONGSIZE 4		/**/
+#define SHORTSIZE 2		/**/
+
+/* BYTEORDER:
+ *	This symbol holds the hexadecimal constant defined in byteorder,
+ *	in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
+ *	If the compiler supports cross-compiling or multiple-architecture
+ *	binaries (eg. on NeXT systems), use compiler-defined macros to
+ *	determine the byte order.
+ *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
+ *	Binaries (MAB) on either big endian or little endian machines.
+ *	The endian-ness is available at compile-time.  This only matters
+ *	for perl, where the config.h can be generated and installed on
+ *	one system, and used by a different architecture to build an
+ *	extension.  Older versions of NeXT that might not have
+ *	defined either *_ENDIAN__ were all on Motorola 680x0 series,
+ *	so the default case (for NeXT) is big endian to catch them.
+ *	This might matter for NeXT 3.0.
+ */
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#  ifdef __LITTLE_ENDIAN__
+#    if LONGSIZE == 4
+#      define BYTEORDER 0x1234
+#    else
+#      if LONGSIZE == 8
+#        define BYTEORDER 0x12345678
+#      endif
+#    endif
+#  else
+#    ifdef __BIG_ENDIAN__
+#      if LONGSIZE == 4
+#        define BYTEORDER 0x4321
+#      else
+#        if LONGSIZE == 8
+#          define BYTEORDER 0x87654321
+#        endif
+#      endif
+#    endif
+#  endif
+#  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
+#    define BYTEORDER 0x4321
+#  endif
+#else
+#define BYTEORDER 0x1234	/* large digits for MSB */
+#endif /* NeXT */
+
+/* CHARBITS:
+ *	This symbol contains the size of a char, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define CHARBITS 8		/**/
+
 /* CAT2:
  *	This macro concatenates 2 tokens together.
  */
@@ -1033,15 +1077,9 @@
  *	This symbol is intended to be used along with CPPRUN in the same manner
  *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
  */
-#ifndef _MSC_VER
-#   define CPPSTDIN "gcc -E"
-#   define CPPMINUS "-"
-#   define CPPRUN "gcc -E"
-#else
-#   define CPPSTDIN "cppstdin"
-#   define CPPMINUS ""
-#   define CPPRUN "cl -nologo -E"
-#endif
+#define CPPSTDIN "gcc -E"
+#define CPPMINUS "-"
+#define CPPRUN "gcc -E"
 #define CPPLAST ""
 
 /* HAS_ACCESS:
@@ -1111,6 +1149,33 @@
 /*#define HASATTRIBUTE_UNUSED	/ **/
 /*#define HASATTRIBUTE_WARN_UNUSED_RESULT	/ **/
 
+/* CASTI32:
+ *	This symbol is defined if the C compiler can cast negative
+ *	or large floating point numbers to 32-bit ints.
+ */
+#define	CASTI32		/**/
+
+/* CASTNEGFLOAT:
+ *	This symbol is defined if the C compiler can cast negative
+ *	numbers to unsigned longs, ints and shorts.
+ */
+/* CASTFLAGS:
+ *	This symbol contains flags that say what difficulties the compiler
+ *	has casting odd floating values to unsigned long:
+ *		0 = ok
+ *		1 = couldn't cast < 0
+ *		2 = couldn't cast >= 0x80000000
+ *		4 = couldn't cast in argument expression list
+ */
+#define	CASTNEGFLOAT		/**/
+#define CASTFLAGS 0		/**/
+
+/* VOID_CLOSEDIR:
+ *	This symbol, if defined, indicates that the closedir() routine
+ *	does not return a value.
+ */
+/*#define VOID_CLOSEDIR		/ **/
+
 /* HASCONST:
  *	This symbol, if defined, indicates that this C compiler knows about
  *	the const type. There is no need to actually test for that symbol
@@ -1172,6 +1237,26 @@
 /*#define HAS_CTIME_R	   / **/
 #define CTIME_R_PROTO 0	   /**/
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *	This symbol, if defined, indicates that the bug that prevents
+ *	setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *	This symbol, if defined, indicates that the C program should
+ *	check the script that it is executing for setuid/setgid bits, and
+ *	attempt to emulate setuid/setgid on systems that have disabled
+ *	setuid #! scripts because the kernel can't do it securely.
+ *	It is up to the package designer to make sure that this emulation
+ *	is done securely.  Among other things, it should do an fstat on
+ *	the script it just opened to make sure it really is a setuid/setgid
+ *	script, it should make sure the arguments passed correspond exactly
+ *	to the argument on the #! line, and it should not trust any
+ *	subprocesses to which it must pass the filename rather than the
+ *	file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/ **/
+/*#define DOSUID		/ **/
+
 /* HAS_DRAND48_R:
  *	This symbol, if defined, indicates that the drand48_r routine
  *	is available to drand48 re-entrantly.
@@ -1313,6 +1398,12 @@
 /*#define HAS_ENDSERVENT_R	   / **/
 #define ENDSERVENT_R_PROTO 0	   /**/
 
+/* HAS_FD_SET:
+ *	This symbol, when defined, indicates presence of the fd_set typedef
+ *	in <sys/types.h>
+ */
+#define HAS_FD_SET	/**/
+
 /* FLEXFILENAMES:
  *	This symbol, if defined, indicates that the system supports filenames
  *	longer than 14 characters.
@@ -1319,6 +1410,23 @@
  */
 #define	FLEXFILENAMES		/**/
 
+/* Gconvert:
+ *	This preprocessor macro is defined to convert a floating point
+ *	number to a string without a trailing decimal point.  This
+ *	emulates the behavior of sprintf("%g"), but is sometimes much more
+ *	efficient.  If gconvert() is not available, but gcvt() drops the
+ *	trailing decimal point, then gcvt() is used.  If all else fails,
+ *	a macro using sprintf("%g") is used. Arguments for the Gconvert
+ *	macro are: value, number of digits, whether trailing zeros should
+ *	be retained, and the output buffer.
+ *	The usual values are:
+ *		d_Gconvert='gconvert((x),(n),(t),(b))'
+ *		d_Gconvert='gcvt((x),(n),(b))'
+ *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+ *	The last two assume trailing zeros should not be kept.
+ */
+#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+
 /* HAS_GETGRENT:
  *	This symbol, if defined, indicates that the getgrent routine is
  *	available for sequential access of the group database.
@@ -1536,6 +1644,13 @@
  */
 /*#define	HAS_GETNET_PROTOS	/ **/
 
+/* HAS_GETPAGESIZE:
+ *	This symbol, if defined, indicates that the getpagesize system call
+ *	is available to get system page size, which is the granularity of
+ *	many memory management calls.
+ */
+/*#define HAS_GETPAGESIZE		/ **/
+
 /* HAS_GETPROTOENT:
  *	This symbol, if defined, indicates that the getprotoent() routine is
  *	available to look up protocols in some data base or another.
@@ -1747,6 +1862,16 @@
 /*#define HAS_GMTIME_R	   / **/
 #define GMTIME_R_PROTO 0	   /**/
 
+/* HAS_GNULIBC:
+ *	This symbol, if defined, indicates to the C program that
+ *	the GNU C library is being used.  A better check is to use
+ *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
+ */
+/*#define HAS_GNULIBC  	/ **/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+#   define _GNU_SOURCE
+#endif
+
 /* HAS_HTONL:
  *	This symbol, if defined, indicates that the htonl() routine (and
  *	friends htons() ntohl() ntohs()) are available to do network
@@ -1772,6 +1897,19 @@
 #define HAS_NTOHL		/**/
 #define HAS_NTOHS		/**/
 
+/* HAS_ISASCII:
+ *	This manifest constant lets the C program know that isascii
+ *	is available.
+ */
+#define HAS_ISASCII		/**/
+
+/* HAS_LCHOWN:
+ *	This symbol, if defined, indicates that the lchown routine is
+ *	available to operate on a symbolic link (instead of following the
+ *	link).
+ */
+/*#define HAS_LCHOWN		/ **/
+
 /* HAS_LOCALTIME_R:
  *	This symbol, if defined, indicates that the localtime_r routine
  *	is available to localtime re-entrantly.
@@ -1809,11 +1947,7 @@
  */
 #define HAS_LONG_DOUBLE		/**/
 #ifdef HAS_LONG_DOUBLE
-#   ifndef _MSC_VER
-#	define LONG_DOUBLESIZE 12		/**/
-#   else
-#	define LONG_DOUBLESIZE 8		/**/
-#   endif
+#define LONG_DOUBLESIZE 12		/**/
 #endif
 
 /* HAS_LONG_LONG:
@@ -1824,7 +1958,7 @@
  *	C preprocessor can make decisions based on it.  It is only
  *	defined if the system supports long long.
  */
-/*#define HAS_LONG_LONG		/ **/
+#define HAS_LONG_LONG		/**/
 #ifdef HAS_LONG_LONG
 #define LONGLONGSIZE 8		/**/
 #endif
@@ -1868,6 +2002,12 @@
  */
 /*#define HAS_MSG		/ **/
 
+/* HAS_OPEN3:
+ *	This manifest constant lets the C program know that the three
+ *	argument form of open(2) is available.
+ */
+/*#define HAS_OPEN3		/ **/
+
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *	This symbol, if defined, indicates how to create pthread
  *	in joinable (aka undetached) state.  NOTE: not defined
@@ -1942,6 +2082,29 @@
 /*#define HAS_READDIR_R	   / **/
 #define READDIR_R_PROTO 0	   /**/
 
+/* HAS_SAFE_BCOPY:
+ *	This symbol, if defined, indicates that the bcopy routine is available
+ *	to copy potentially overlapping memory blocks. Normally, you should
+ *	probably use memmove() or memcpy(). If neither is defined, roll your
+ *	own version.
+ */
+/*#define HAS_SAFE_BCOPY	/ **/
+
+/* HAS_SAFE_MEMCPY:
+ *	This symbol, if defined, indicates that the memcpy routine is available
+ *	to copy potentially overlapping memory blocks.  If you need to
+ *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
+ *	use memmove() instead, if available.
+ */
+/*#define HAS_SAFE_MEMCPY	/ **/
+
+/* HAS_SANE_MEMCMP:
+ *	This symbol, if defined, indicates that the memcmp routine is available
+ *	and can be used to compare relative magnitudes of chars with their high
+ *	bits set.  If it is not defined, roll your own version.
+ */
+#define HAS_SANE_MEMCMP	/**/
+
 /* HAS_SEM:
  *	This symbol, if defined, indicates that the entire sem*(2) library is
  *	supported.
@@ -2114,6 +2277,43 @@
 #define Shmat_t void *	/**/
 /*#define HAS_SHMAT_PROTOTYPE	/ **/
 
+/* HAS_SIGACTION:
+ *	This symbol, if defined, indicates that Vr4's sigaction() routine
+ *	is available.
+ */
+/*#define HAS_SIGACTION	/ **/
+
+/* HAS_SIGSETJMP:
+ *	This variable indicates to the C program that the sigsetjmp()
+ *	routine is available to save the calling process's registers
+ *	and stack environment for later use by siglongjmp(), and
+ *	to optionally save the process's signal mask.  See
+ *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
+ */
+/* Sigjmp_buf:
+ *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ *	This macro is used in the same way as sigsetjmp(), but will invoke
+ *	traditional setjmp() if sigsetjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ *	This macro is used in the same way as siglongjmp(), but will invoke
+ *	traditional longjmp() if siglongjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/*#define HAS_SIGSETJMP	/ **/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
+
 /* HAS_SOCKET:
  *	This symbol, if defined, indicates that the BSD socket interface is
  *	supported.
@@ -2152,8 +2352,30 @@
  *	Checking just with #ifdef might not be enough because this symbol
  *	has been known to be an enum.
  */
+/* HAS_SOCKADDR_SA_LEN:
+ *	This symbol, if defined, indicates that the struct sockaddr
+ *	structure has a member called sa_len, indicating the length of
+ *	the structure.
+ */
+/* HAS_SOCKADDR_IN6:
+ *	This symbol, if defined, indicates the availability of
+ *	struct sockaddr_in6;
+ */
+/* HAS_SIN6_SCOPE_ID:
+ *	This symbol, if defined, indicates that the struct sockaddr_in6
+ *	structure has a member called sin6_scope_id.
+ */
+/* HAS_IP_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ip_mreq;
+ */
+/* HAS_IPV6_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ipv6_mreq;
+ */
 #define	HAS_SOCKET		/**/
 /*#define	HAS_SOCKETPAIR	/ **/
+/*#define	HAS_SOCKADDR_SA_LEN	/ **/
 /*#define	HAS_MSG_CTRUNC	/ **/
 /*#define	HAS_MSG_DONTROUTE	/ **/
 /*#define	HAS_MSG_OOB	/ **/
@@ -2160,6 +2382,10 @@
 /*#define	HAS_MSG_PEEK	/ **/
 /*#define	HAS_MSG_PROXY	/ **/
 /*#define	HAS_SCM_RIGHTS	/ **/
+/*#define	HAS_SOCKADDR_IN6	/ **/
+#define	HAS_SIN6_SCOPE_ID	/**/
+/*#define	HAS_IP_MREQ	/ **/
+/*#define	HAS_IPV6_MREQ	/ **/
 
 /* HAS_SRAND48_R:
  *	This symbol, if defined, indicates that the srand48_r routine
@@ -2195,6 +2421,97 @@
 /*#define USE_STAT_BLOCKS 	/ **/
 #endif
 
+/* HAS_STATIC_INLINE:
+ *	This symbol, if defined, indicates that the C compiler supports
+ *	C99-style static inline.  That is, the function can't be called
+ *	from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ *	This symbol gives the best-guess incantation to use for static
+ *	inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *	this will give a plain 'static'.  It will always be defined
+ *	to something that gives static linkage.
+ *	Possibilities include
+ *		static inline       (c99)
+ *		static __inline__   (gcc -ansi)
+ *		static __inline     (MSVC)
+ *		static _inline      (older MSVC)
+ *		static              (c89 compilers)
+ */
+#define HAS_STATIC_INLINE				/**/
+#define PERL_STATIC_INLINE static __inline__	/**/
+
+/* USE_STDIO_PTR:
+ *	This symbol is defined if the _ptr and _cnt fields (or similar)
+ *	of the stdio FILE structure can be used to access the stdio buffer
+ *	for a file handle.  If this is defined, then the FILE_ptr(fp)
+ *	and FILE_cnt(fp) macros will also be defined and should be used
+ *	to access these fields.
+ */
+/* FILE_ptr:
+ *	This macro is used to access the _ptr field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ *	This symbol is defined if the FILE_ptr macro can be used as an
+ *	lvalue.
+ */
+/* FILE_cnt:
+ *	This macro is used to access the _cnt field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ *	This symbol is defined if the FILE_cnt macro can be used as an
+ *	lvalue.
+ */
+/* STDIO_PTR_LVAL_SETS_CNT:
+ *	This symbol is defined if using the FILE_ptr macro as an lvalue
+ *	to increase the pointer by n has the side effect of decreasing the
+ *	value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ *	This symbol is defined if using the FILE_ptr macro as an lvalue
+ *	to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
+#define USE_STDIO_PTR 	/**/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp)	((fp)->_ptr)
+#define STDIO_PTR_LVALUE 		/**/
+#define FILE_cnt(fp)	((fp)->_cnt)
+#define STDIO_CNT_LVALUE 		/**/
+/*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
+#define STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
+#endif
+
+/* USE_STDIO_BASE:
+ *	This symbol is defined if the _base field (or similar) of the
+ *	stdio FILE structure can be used to access the stdio buffer for
+ *	a file handle.  If this is defined, then the FILE_base(fp) macro
+ *	will also be defined and should be used to access this field.
+ *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
+ *	will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ *	This macro is used to access the _base field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ *	This macro is used to determine the number of bytes in the I/O
+ *	buffer pointed to by _base field (or equivalent) of the FILE
+ *	structure pointed to its argument. This macro will always be defined
+ *	if USE_STDIO_BASE is defined.
+ */
+#define USE_STDIO_BASE 	/**/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp)	((fp)->_base)
+#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
+#endif
+
 /* USE_STRUCT_COPY:
  *	This symbol, if defined, indicates that this C compiler knows how
  *	to copy structures.  If undefined, you'll need to use a block copy
@@ -2334,6 +2651,32 @@
 #define volatile
 #endif
 
+/* HAS_VPRINTF:
+ *	This symbol, if defined, indicates that the vprintf routine is available
+ *	to printf with a pointer to an argument list.  If unavailable, you
+ *	may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ *	This symbol is defined if this system has vsprintf() returning type
+ *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
+ *	is up to the package author to declare vsprintf correctly based on the
+ *	symbol.
+ */
+#define HAS_VPRINTF	/**/
+/*#define USE_CHAR_VSPRINTF 	/ **/
+
+/* DOUBLESIZE:
+ *	This symbol contains the size of a double, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define DOUBLESIZE 8		/**/
+
+/* EBCDIC:
+ *     This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+/*#define	EBCDIC 		/ **/
+
 /* Fpos_t:
  *	This symbol holds the type used to declare file positions in libc.
  *	It can be fpos_t, long, uint, etc... It may be necessary to include
@@ -2524,6 +2867,32 @@
  */
 /*#define	I_SYSUIO		/ **/
 
+/* I_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <time.h>.
+ */
+/* I_SYS_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME		/**/
+/*#define I_SYS_TIME		/ **/
+/*#define I_SYS_TIME_KERNEL		/ **/
+/*#define HAS_TM_TM_ZONE		/ **/
+/*#define HAS_TM_TM_GMTOFF		/ **/
+
 /* I_STDARG:
  *	This symbol, if defined, indicates that <stdarg.h> exists and should
  *	be included.
@@ -2593,6 +2962,33 @@
  */
 #define Mode_t mode_t	 /* file mode parameter for system calls */
 
+/* VAL_O_NONBLOCK:
+ *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ *	non-blocking I/O for the file descriptor. Note that there is no way
+ *	back, i.e. you cannot turn it blocking again this way. If you wish to
+ *	alternatively switch between blocking and non-blocking, use the
+ *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ *	This symbol holds the errno error code set by read() when no data was
+ *	present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ *	This symbol holds the return code from read() when no data is present
+ *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ *	not defined, then you can't distinguish between no data and EOF by
+ *	issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ *	This symbol, if defined, indicates to the C program that a read() on
+ *	a non-blocking file descriptor will return 0 on EOF, and not the value
+ *	held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#define EOF_NONBLOCK
+
 /* Netdb_host_t:
  *	This symbol holds the type used for the 1st argument
  *	to gethostbyaddr().
@@ -2662,6 +3058,57 @@
 #define	_(args) ()
 #endif
 
+/* PTRSIZE:
+ *	This symbol contains the size of a pointer, so that the C preprocessor
+ *	can make decisions based on it.  It will be sizeof(void *) if
+ *	the compiler supports (void *); otherwise it will be
+ *	sizeof(char *).
+ */
+#define PTRSIZE 4		/**/
+
+/* HAS_QUAD:
+ *	This symbol, if defined, tells that there's a 64-bit integer type,
+ *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ *	or QUAD_IS___INT64.
+ */
+#define HAS_QUAD	/**/
+#ifdef HAS_QUAD
+#   define Quad_t long long	/**/
+#   define Uquad_t unsigned long long	/**/
+#   define QUADKIND 3	/**/
+#   define QUAD_IS_INT	1
+#   define QUAD_IS_LONG	2
+#   define QUAD_IS_LONG_LONG	3
+#   define QUAD_IS_INT64_T	4
+#   define QUAD_IS___INT64	5
+#endif
+
+/* Drand01:
+ *	This macro is to be used to generate uniformly distributed
+ *	random numbers over the range [0., 1.[.  You may have to supply
+ *	an 'extern double drand48();' in your program since SunOS 4.1.3
+ *	doesn't provide you with anything relevant in its headers.
+ *	See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ *	This symbol defines the type of the argument of the
+ *	random seed function.
+ */
+/* seedDrand01:
+ *	This symbol defines the macro to be used in seeding the
+ *	random number generator (see Drand01).
+ */
+/* RANDBITS:
+ *	This symbol indicates how many bits are produced by the
+ *	function used to generate normalized random numbers.
+ *	Values include 15, 16, 31, and 48.
+ */
+#define Drand01()		(rand()/(double)((unsigned)1<<RANDBITS))		/**/
+#define Rand_seed_t		unsigned		/**/
+#define seedDrand01(x)	srand((Rand_seed_t)x)	/**/
+#define RANDBITS		15		/**/
+
 /* Select_fd_set_t:
  *	This symbol holds the type used for the 2nd, 3rd, and 4th
  *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
@@ -2772,7 +3219,7 @@
  *	unsigned long, int, etc.  It may be necessary to include
  *	<sys/types.h> to get any typedef'ed information.
  */
-#define Size_t size_t	 /* length paramater for string functions */
+#define Size_t size_t	 /* length parameter for string functions */
 
 /* Sock_size_t:
  *	This symbol holds the type used for the size argument of
@@ -2780,6 +3227,16 @@
  */
 #define Sock_size_t		int /**/
 
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include <sys/types.h> or <unistd.h>
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int	 /* signed count of bytes */
+
 /* STDCHAR:
  *	This symbol is defined to be the type of char used in stdio.h.
  *	It has the values "unsigned char" or "char".
@@ -2873,7 +3330,7 @@
  *	    2 = supports arrays of pointers to functions returning void
  *	    4 = supports comparisons between pointers to void functions and
  *		    addresses of void functions
- *	    8 = suports declaration of generic void pointers
+ *	    8 = supports declaration of generic void pointers
  *
  *	The package designer should define VOIDUSED to indicate the requirements
  *	of the package.  This can be done either by #defining VOIDUSED before
@@ -2890,464 +3347,6 @@
 #define M_VOID			/* Xenix strikes again */
 #endif
 
-/* USE_CROSS_COMPILE:
- *	This symbol, if defined, indicates that Perl is being cross-compiled.
- */
-/* PERL_TARGETARCH:
- *	This symbol, if defined, indicates the target architecture
- *	Perl has been cross-compiled to.  Undefined if not a cross-compile.
- */
-#ifndef USE_CROSS_COMPILE
-/*#define	USE_CROSS_COMPILE	/ **/
-#define	PERL_TARGETARCH	""	/**/
-#endif
-
-/* MEM_ALIGNBYTES:
- *	This symbol contains the number of bytes required to align a
- *	double, or a long double when applicable. Usual values are 2,
- *	4 and 8. The default is eight, for safety.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-#  define MEM_ALIGNBYTES 8
-#else
-#define MEM_ALIGNBYTES 8
-#endif
-
-/* BYTEORDER:
- *	This symbol holds the hexadecimal constant defined in byteorder,
- *	in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
- *	If the compiler supports cross-compiling or multiple-architecture
- *	binaries (eg. on NeXT systems), use compiler-defined macros to
- *	determine the byte order.
- *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- *	Binaries (MAB) on either big endian or little endian machines.
- *	The endian-ness is available at compile-time.  This only matters
- *	for perl, where the config.h can be generated and installed on
- *	one system, and used by a different architecture to build an
- *	extension.  Older versions of NeXT that might not have
- *	defined either *_ENDIAN__ were all on Motorola 680x0 series,
- *	so the default case (for NeXT) is big endian to catch them.
- *	This might matter for NeXT 3.0.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-#  ifdef __LITTLE_ENDIAN__
-#    if LONGSIZE == 4
-#      define BYTEORDER 0x1234
-#    else
-#      if LONGSIZE == 8
-#        define BYTEORDER 0x12345678
-#      endif
-#    endif
-#  else
-#    ifdef __BIG_ENDIAN__
-#      if LONGSIZE == 4
-#        define BYTEORDER 0x4321
-#      else
-#        if LONGSIZE == 8
-#          define BYTEORDER 0x87654321
-#        endif
-#      endif
-#    endif
-#  endif
-#  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-#    define BYTEORDER 0x4321
-#  endif
-#else
-#define BYTEORDER 0x1234	/* large digits for MSB */
-#endif /* NeXT */
-
-/* CHARBITS:
- *	This symbol contains the size of a char, so that the C preprocessor
- *	can make decisions based on it.
- */
-#define CHARBITS 8		/**/
-
-/* CASTI32:
- *	This symbol is defined if the C compiler can cast negative
- *	or large floating point numbers to 32-bit ints.
- */
-#ifndef _MSC_VER
-#   define	CASTI32		/**/
-#endif
-
-/* CASTNEGFLOAT:
- *	This symbol is defined if the C compiler can cast negative
- *	numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- *	This symbol contains flags that say what difficulties the compiler
- *	has casting odd floating values to unsigned long:
- *		0 = ok
- *		1 = couldn't cast < 0
- *		2 = couldn't cast >= 0x80000000
- *		4 = couldn't cast in argument expression list
- */
-#define	CASTNEGFLOAT		/**/
-#define CASTFLAGS 0		/**/
-
-/* VOID_CLOSEDIR:
- *	This symbol, if defined, indicates that the closedir() routine
- *	does not return a value.
- */
-/*#define VOID_CLOSEDIR		/ **/
-
-/* HAS_FD_SET:
- *	This symbol, when defined, indicates presence of the fd_set typedef
- *	in <sys/types.h>
- */
-#define HAS_FD_SET	/**/
-
-/* Gconvert:
- *	This preprocessor macro is defined to convert a floating point
- *	number to a string without a trailing decimal point.  This
- *	emulates the behavior of sprintf("%g"), but is sometimes much more
- *	efficient.  If gconvert() is not available, but gcvt() drops the
- *	trailing decimal point, then gcvt() is used.  If all else fails,
- *	a macro using sprintf("%g") is used. Arguments for the Gconvert
- *	macro are: value, number of digits, whether trailing zeros should
- *	be retained, and the output buffer.
- *	The usual values are:
- *		d_Gconvert='gconvert((x),(n),(t),(b))'
- *		d_Gconvert='gcvt((x),(n),(b))'
- *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- *	The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
-/* HAS_GETPAGESIZE:
- *	This symbol, if defined, indicates that the getpagesize system call
- *	is available to get system page size, which is the granularity of
- *	many memory management calls.
- */
-/*#define HAS_GETPAGESIZE		/ **/
-
-/* HAS_GNULIBC:
- *	This symbol, if defined, indicates to the C program that
- *	the GNU C library is being used.  A better check is to use
- *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
- */
-/*#define HAS_GNULIBC  	/ **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-#   define _GNU_SOURCE
-#endif
-
-/* HAS_ISASCII:
- *	This manifest constant lets the C program know that isascii
- *	is available.
- */
-#define HAS_ISASCII		/**/
-
-/* HAS_LCHOWN:
- *	This symbol, if defined, indicates that the lchown routine is
- *	available to operate on a symbolic link (instead of following the
- *	link).
- */
-/*#define HAS_LCHOWN		/ **/
-
-/* HAS_OPEN3:
- *	This manifest constant lets the C program know that the three
- *	argument form of open(2) is available.
- */
-/*#define HAS_OPEN3		/ **/
-
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/ **/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
-/* HAS_SIGACTION:
- *	This symbol, if defined, indicates that Vr4's sigaction() routine
- *	is available.
- */
-/*#define HAS_SIGACTION	/ **/
-
-/* HAS_SIGSETJMP:
- *	This variable indicates to the C program that the sigsetjmp()
- *	routine is available to save the calling process's registers
- *	and stack environment for later use by siglongjmp(), and
- *	to optionally save the process's signal mask.  See
- *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- *	This macro is used in the same way as sigsetjmp(), but will invoke
- *	traditional setjmp() if sigsetjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- *	This macro is used in the same way as siglongjmp(), but will invoke
- *	traditional longjmp() if siglongjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/*#define HAS_SIGSETJMP	/ **/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
-
-/* HAS_STATIC_INLINE:
- *	This symbol, if defined, indicates that the C compiler supports
- *	C99-style static inline.  That is, the function can't be called
- *	from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- *	This symbol gives the best-guess incantation to use for static
- *	inline functions.  If HAS_STATIC_INLINE is defined, this will
- *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
- *	this will give a plain 'static'.  It will always be defined
- *	to something that gives static linkage.
- *	Possibilities include
- *		static inline       (c99)
- *		static __inline__   (gcc -ansi)
- *		static __inline     (MSVC)
- *		static _inline      (older MSVC)
- *		static              (c89 compilers)
- */
-#ifdef _MSC_VER
-#  define HAS_STATIC_INLINE				/**/
-#  define PERL_STATIC_INLINE static __inline  	/**/
-#else /* gcc presumably */
-#  define HAS_STATIC_INLINE				/**/
-#  define PERL_STATIC_INLINE static __inline__	/**/
-#endif
-
-/* USE_STDIO_PTR:
- *	This symbol is defined if the _ptr and _cnt fields (or similar)
- *	of the stdio FILE structure can be used to access the stdio buffer
- *	for a file handle.  If this is defined, then the FILE_ptr(fp)
- *	and FILE_cnt(fp) macros will also be defined and should be used
- *	to access these fields.
- */
-/* FILE_ptr:
- *	This macro is used to access the _ptr field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- *	This symbol is defined if the FILE_ptr macro can be used as an
- *	lvalue.
- */
-/* FILE_cnt:
- *	This macro is used to access the _cnt field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- *	This symbol is defined if the FILE_cnt macro can be used as an
- *	lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- *	This symbol is defined if using the FILE_ptr macro as an lvalue
- *	to increase the pointer by n has the side effect of decreasing the
- *	value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- *	This symbol is defined if using the FILE_ptr macro as an lvalue
- *	to increase the pointer by n leaves File_cnt(fp) unchanged.
- */
-#define USE_STDIO_PTR 	/**/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp)	((fp)->_ptr)
-#define STDIO_PTR_LVALUE 		/**/
-#define FILE_cnt(fp)	((fp)->_cnt)
-#define STDIO_CNT_LVALUE 		/**/
-/*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
-#define STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
-#endif
-
-/* USE_STDIO_BASE:
- *	This symbol is defined if the _base field (or similar) of the
- *	stdio FILE structure can be used to access the stdio buffer for
- *	a file handle.  If this is defined, then the FILE_base(fp) macro
- *	will also be defined and should be used to access this field.
- *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
- *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
- *	will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- *	This macro is used to access the _base field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- *	This macro is used to determine the number of bytes in the I/O
- *	buffer pointed to by _base field (or equivalent) of the FILE
- *	structure pointed to its argument. This macro will always be defined
- *	if USE_STDIO_BASE is defined.
- */
-#define USE_STDIO_BASE 	/**/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp)	((fp)->_base)
-#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
-#endif
-
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/ **/
-
-/* DOUBLESIZE:
- *	This symbol contains the size of a double, so that the C preprocessor
- *	can make decisions based on it.
- */
-#define DOUBLESIZE 8		/**/
-
-/* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
- */
-/* I_SYS_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_gmtoff field.
- */
-#define I_TIME		/**/
-/*#define I_SYS_TIME		/ **/
-/*#define I_SYS_TIME_KERNEL		/ **/
-/*#define HAS_TM_TM_ZONE		/ **/
-/*#define HAS_TM_TM_GMTOFF		/ **/
-
-/* VAL_O_NONBLOCK:
- *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- *	non-blocking I/O for the file descriptor. Note that there is no way
- *	back, i.e. you cannot turn it blocking again this way. If you wish to
- *	alternatively switch between blocking and non-blocking, use the
- *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- *	This symbol holds the errno error code set by read() when no data was
- *	present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- *	This symbol holds the return code from read() when no data is present
- *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- *	not defined, then you can't distinguish between no data and EOF by
- *	issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- *	This symbol, if defined, indicates to the C program that a read() on
- *	a non-blocking file descriptor will return 0 on EOF, and not the value
- *	held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
-
-/* PTRSIZE:
- *	This symbol contains the size of a pointer, so that the C preprocessor
- *	can make decisions based on it.  It will be sizeof(void *) if
- *	the compiler supports (void *); otherwise it will be
- *	sizeof(char *).
- */
-#define PTRSIZE 4		/**/
-
-/* Drand01:
- *	This macro is to be used to generate uniformly distributed
- *	random numbers over the range [0., 1.[.  You may have to supply
- *	an 'extern double drand48();' in your program since SunOS 4.1.3
- *	doesn't provide you with anything relevant in its headers.
- *	See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- *	This symbol defines the type of the argument of the
- *	random seed function.
- */
-/* seedDrand01:
- *	This symbol defines the macro to be used in seeding the
- *	random number generator (see Drand01).
- */
-/* RANDBITS:
- *	This symbol indicates how many bits are produced by the
- *	function used to generate normalized random numbers.
- *	Values include 15, 16, 31, and 48.
- */
-#define Drand01()		(rand()/(double)((unsigned)1<<RANDBITS))		/**/
-#define Rand_seed_t		unsigned		/**/
-#define seedDrand01(x)	srand((Rand_seed_t)x)	/**/
-#define RANDBITS		15		/**/
-
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include <sys/types.h> or <unistd.h>
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int	 /* signed count of bytes */
-
-/* EBCDIC:
- *     This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-/*#define	EBCDIC 		/ **/
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *	This symbol, if defined, indicates that the bug that prevents
- *	setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *	This symbol, if defined, indicates that the C program should
- *	check the script that it is executing for setuid/setgid bits, and
- *	attempt to emulate setuid/setgid on systems that have disabled
- *	setuid #! scripts because the kernel can't do it securely.
- *	It is up to the package designer to make sure that this emulation
- *	is done securely.  Among other things, it should do an fstat on
- *	the script it just opened to make sure it really is a setuid/setgid
- *	script, it should make sure the arguments passed correspond exactly
- *	to the argument on the #! line, and it should not trust any
- *	subprocesses to which it must pass the filename rather than the
- *	file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/ **/
-/*#define DOSUID		/ **/
-
 /* PERL_USE_DEVEL:
  *	This symbol, if defined, indicates that Perl was configured with
  *	-Dusedevel, to enable development features.  This should not be
@@ -3635,7 +3634,7 @@
 
 /* HAS_GETESPWNAM:
  *	This symbol, if defined, indicates that the getespwnam system call is
- *	available to retrieve enchanced (shadow) password entries by name.
+ *	available to retrieve enhanced (shadow) password entries by name.
  */
 /*#define HAS_GETESPWNAM		/ **/
 
@@ -3712,6 +3711,12 @@
  */
 /*#define     HAS_INT64_T               / **/
 
+/* HAS_ISBLANK:
+ *	This manifest constant lets the C program know that isblank 
+ *	is available.
+ */
+/*#define HAS_ISBLANK		/ **/
+
 /* HAS_ISFINITE:
  *	This symbol, if defined, indicates that the isfinite routine is
  *	available to check whether a double is finite (non-infinity non-NaN).
@@ -3776,7 +3781,7 @@
 
 /* HAS_MKSTEMPS:
  *	This symbol, if defined, indicates that the mkstemps routine is
- *	available to excluslvely create and open a uniquely named
+ *	available to exclusively create and open a uniquely named
  *	(with a suffix) temporary file.
  */
 /*#define HAS_MKSTEMPS		/ **/
@@ -3826,6 +3831,17 @@
  */
 /*#define	HAS_OFF64_T    		/ **/
 
+/* HAS_PRCTL:
+ *	This symbol, if defined, indicates that the prctl routine is
+ *	available to set process title.
+ */
+/* HAS_PRCTL_SET_NAME:
+ *	This symbol, if defined, indicates that the prctl routine is
+ *	available to set process title and supports PR_SET_NAME.
+ */
+/*#define HAS_PRCTL		/ **/
+/*#define HAS_PRCTL_SET_NAME		/ **/
+
 /* HAS_PROCSELFEXE:
  *	This symbol is defined if PROCSELFEXE_PATH is a symlink
  *	to the absolute pathname of the executing program.
@@ -4297,6 +4313,12 @@
  */
 /*#define	I_SOCKS		/ **/
 
+/* I_STDBOOL:
+ *	This symbol, if defined, indicates that <stdbool.h> exists and
+ *	can be included.
+ */
+/*#define	I_STDBOOL		/ **/
+
 /* I_SUNMATH:
  *	This symbol, if defined, indicates that <sunmath.h> exists and
  *	should be included.
@@ -4465,7 +4487,7 @@
 /* NV_OVERFLOWS_INTEGERS_AT:
  *	This symbol gives the largest integer value that NVs can hold. This
  *	value + 1.0 cannot be stored accurately. It is expressed as constant
- *	floating point expression to reduce the chance of decimale/binary
+ *	floating point expression to reduce the chance of decimal/binary
  *	conversion issues. If it can not be determined, the value 0 is given.
  */
 /* NV_ZERO_IS_ALLBITS_ZERO:
@@ -4481,13 +4503,8 @@
 #define	I32TYPE		long	/**/
 #define	U32TYPE		unsigned long	/**/
 #ifdef HAS_QUAD
-#   ifndef _MSC_VER
-#	define	I64TYPE		long long	/**/
-#	define	U64TYPE		unsigned long long	/**/
-#   else
-#	define	I64TYPE		__int64	/**/
-#	define	U64TYPE		unsigned __int64	/**/
-#   endif
+#define	I64TYPE		long long	/**/
+#define	U64TYPE		unsigned long long	/**/
 #endif
 #define	NVTYPE		double		/**/
 #define	IVSIZE		4		/**/
@@ -4571,6 +4588,16 @@
  */
 #define SELECT_MIN_BITS 	32	/**/
 
+/* ST_INO_SIZE:
+ *	This variable contains the size of struct stat's st_ino in bytes.
+ */
+/* ST_INO_SIGN:
+ *	This symbol holds the signedess of struct stat's st_ino.
+ *	1 for unsigned, -1 for signed.
+ */
+#define ST_INO_SIGN 1	/* st_ino sign */
+#define ST_INO_SIZE 4	/* st_ino size */
+
 /* STARTPERL:
  *	This variable contains the string to put in front of a perl
  *	script to make sure (one hopes) that it runs with perl and not
@@ -4607,8 +4634,8 @@
  *	This symbol contains the minimum value for the time_t offset that
  *	the system function localtime () accepts, and defaults to 0
  */
-#define GMTIME_MAX	2147483647	/**/
-#define GMTIME_MIN	0	/**/
+#define GMTIME_MAX		2147483647	/**/
+#define GMTIME_MIN		0	/**/
 #define LOCALTIME_MAX	2147483647	/**/
 #define LOCALTIME_MIN	0	/**/
 
@@ -4652,6 +4679,13 @@
 /*#define	USE_FAST_STDIO		/ **/
 #endif
 
+/* USE_KERN_PROC_PATHNAME:
+ *	This symbol, if defined, indicates that we can use sysctl with
+ *	KERN_PROC_PATHNAME to get a full path for the executable, and hence
+ * 	convert $^X to an absolute path.
+ */
+/*#define USE_KERN_PROC_PATHNAME	/ **/
+
 /* USE_LARGE_FILES:
  *	This symbol, if defined, indicates that large file support
  *	should be used when available.
@@ -4684,6 +4718,13 @@
 /*#define	MULTIPLICITY		/ **/
 #endif
 
+/* USE_NSGETEXECUTABLEPATH:
+ *	This symbol, if defined, indicates that we can use _NSGetExecutablePath
+ *	and realpath to get a full path for the executable, and hence convert
+ *	$^X to an absolute path.
+ */
+/*#define USE_NSGETEXECUTABLEPATH	/ **/
+
 /* USE_PERLIO:
  *	This symbol, if defined, indicates that the PerlIO abstraction should
  *	be used throughout.  If not defined, stdio should be


Property changes on: vendor/perl/dist/win32/config_H.gc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/config_H.gc64
===================================================================
--- vendor/perl/dist/win32/config_H.gc64	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_H.gc64	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/config_H.gc64
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/config_H.gc64nox
===================================================================
--- vendor/perl/dist/win32/config_H.gc64nox	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_H.gc64nox	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/config_H.gc64nox
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/config_H.vc
===================================================================
--- vendor/perl/dist/win32/config_H.vc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_H.vc	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,4 @@
-/*
- * This file was produced by running the config_h.SH script, which
+/* This file was produced by running the config_h.SH script, which
  * gets its values from undef, which is generally produced by
  * running Configure.
  *
@@ -6,14 +5,11 @@
  * Feel free to modify any of this as the need arises.  Note, however,
  * that running config_h.SH again will wipe out any changes you've made.
  * For a more permanent change edit undef and rerun config_h.SH.
- *
- * $Id: config_H.vc,v 1.1.1.1 2011-05-19 23:03:36 laffer1 Exp $
  */
 
-/*
- * Package name      : perl5
+/* Package name      : perl5
  * Source directory  : 
- * Configuration time: Sat Jan  9 17:22:03 2010
+ * Configuration time: Sun Aug  5 17:04:42 2012
  * Configured by     : Steve
  * Target system     : 
  */
@@ -72,7 +68,7 @@
  *	This symbol, if defined, indicates that the crypt routine is available
  *	to encrypt passwords and the like.
  */
-/*#define HAS_CRYPT		/ **/
+#define HAS_CRYPT		/**/
 
 /* HAS_CTERMID:
  *	This symbol, if defined, indicates that the ctermid routine is
@@ -883,21 +879,30 @@
 #define	_V(args) ()
 #endif
 
-/* INTSIZE:
- *	This symbol contains the value of sizeof(int) so that the C
- *	preprocessor can make decisions based on it.
+/* OSNAME:
+ *	This symbol contains the name of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
  */
-/* LONGSIZE:
- *	This symbol contains the value of sizeof(long) so that the C
- *	preprocessor can make decisions based on it.
+/* OSVERS:
+ *	This symbol contains the version of the operating system, as determined
+ *	by Configure.  You shouldn't rely on it too much; the specific
+ *	feature tests from Configure are generally more reliable.
  */
-/* SHORTSIZE:
- *	This symbol contains the value of sizeof(short) so that the C
- *	preprocessor can make decisions based on it.
+#define OSNAME "MSWin32"		/**/
+#define OSVERS "6.1"		/**/
+
+/* USE_CROSS_COMPILE:
+ *	This symbol, if defined, indicates that Perl is being cross-compiled.
  */
-#define INTSIZE 4		/**/
-#define LONGSIZE 4		/**/
-#define SHORTSIZE 2		/**/
+/* PERL_TARGETARCH:
+ *	This symbol, if defined, indicates the target architecture
+ *	Perl has been cross-compiled to.  Undefined if not a cross-compile.
+ */
+#ifndef USE_CROSS_COMPILE
+/*#define	USE_CROSS_COMPILE	/ **/
+#define	PERL_TARGETARCH	""	/**/
+#endif
 
 /* MULTIARCH:
  *	This symbol, if defined, signifies that the build
@@ -908,43 +913,17 @@
  */
 /*#define MULTIARCH		/ **/
 
-/* HAS_QUAD:
- *	This symbol, if defined, tells that there's a 64-bit integer type,
- *	Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
- *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T
- *	or QUAD_IS___INT64.
+/* MEM_ALIGNBYTES:
+ *	This symbol contains the number of bytes required to align a
+ *	double, or a long double when applicable. Usual values are 2,
+ *	4 and 8. The default is eight, for safety.
  */
-#define HAS_QUAD	/**/
-#ifdef HAS_QUAD
-#   ifndef __GNUC__
-#	define Quad_t __int64	/**/
-#	define Uquad_t unsigned __int64	/**/
-#	define QUADKIND 5	/**/
-#   else
-#	define Quad_t long long	/**/
-#	define Uquad_t unsigned long long	/**/
-#	define QUADKIND 3	/**/
-#   endif
-#   define QUAD_IS_INT	1
-#   define QUAD_IS_LONG	2
-#   define QUAD_IS_LONG_LONG	3
-#   define QUAD_IS_INT64_T	4
-#   define QUAD_IS___INT64	5
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#  define MEM_ALIGNBYTES 8
+#else
+#define MEM_ALIGNBYTES 8
 #endif
 
-/* OSNAME:
- *	This symbol contains the name of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
- */
-/* OSVERS:
- *	This symbol contains the version of the operating system, as determined
- *	by Configure.  You shouldn't rely on it too much; the specific
- *	feature tests from Configure are generally more reliable.
- */
-#define OSNAME "MSWin32"		/**/
-#define OSVERS "5.1"		/**/
-
 /* ARCHLIB:
  *	This variable, if defined, holds the name of the directory in
  *	which the user wants to put architecture-dependent public
@@ -985,6 +964,71 @@
 #define BIN_EXP "c:\\perl\\bin"	/**/
 #define PERL_RELOCATABLE_INC "undef" 		/**/
 
+/* INTSIZE:
+ *	This symbol contains the value of sizeof(int) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* LONGSIZE:
+ *	This symbol contains the value of sizeof(long) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+/* SHORTSIZE:
+ *	This symbol contains the value of sizeof(short) so that the C
+ *	preprocessor can make decisions based on it.
+ */
+#define INTSIZE 4		/**/
+#define LONGSIZE 4		/**/
+#define SHORTSIZE 2		/**/
+
+/* BYTEORDER:
+ *	This symbol holds the hexadecimal constant defined in byteorder,
+ *	in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
+ *	If the compiler supports cross-compiling or multiple-architecture
+ *	binaries (eg. on NeXT systems), use compiler-defined macros to
+ *	determine the byte order.
+ *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
+ *	Binaries (MAB) on either big endian or little endian machines.
+ *	The endian-ness is available at compile-time.  This only matters
+ *	for perl, where the config.h can be generated and installed on
+ *	one system, and used by a different architecture to build an
+ *	extension.  Older versions of NeXT that might not have
+ *	defined either *_ENDIAN__ were all on Motorola 680x0 series,
+ *	so the default case (for NeXT) is big endian to catch them.
+ *	This might matter for NeXT 3.0.
+ */
+#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
+#  ifdef __LITTLE_ENDIAN__
+#    if LONGSIZE == 4
+#      define BYTEORDER 0x1234
+#    else
+#      if LONGSIZE == 8
+#        define BYTEORDER 0x12345678
+#      endif
+#    endif
+#  else
+#    ifdef __BIG_ENDIAN__
+#      if LONGSIZE == 4
+#        define BYTEORDER 0x4321
+#      else
+#        if LONGSIZE == 8
+#          define BYTEORDER 0x87654321
+#        endif
+#      endif
+#    endif
+#  endif
+#  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
+#    define BYTEORDER 0x4321
+#  endif
+#else
+#define BYTEORDER 0x1234	/* large digits for MSB */
+#endif /* NeXT */
+
+/* CHARBITS:
+ *	This symbol contains the size of a char, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define CHARBITS 8		/**/
+
 /* CAT2:
  *	This macro concatenates 2 tokens together.
  */
@@ -1031,15 +1075,9 @@
  *	This symbol is intended to be used along with CPPRUN in the same manner
  *	symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
  */
-#ifndef __GNUC__
-#   define CPPSTDIN "cppstdin"
-#   define CPPMINUS ""
-#   define CPPRUN "cl -nologo -E"
-#else
-#   define CPPSTDIN "gcc -E"
-#   define CPPMINUS "-"
-#   define CPPRUN "gcc -E"
-#endif
+#define CPPSTDIN "cppstdin"
+#define CPPMINUS ""
+#define CPPRUN "cl -nologo -E"
 #define CPPLAST ""
 
 /* HAS_ACCESS:
@@ -1105,6 +1143,33 @@
 /*#define HASATTRIBUTE_UNUSED	/ **/
 /*#define HASATTRIBUTE_WARN_UNUSED_RESULT	/ **/
 
+/* CASTI32:
+ *	This symbol is defined if the C compiler can cast negative
+ *	or large floating point numbers to 32-bit ints.
+ */
+/*#define	CASTI32		/ **/
+
+/* CASTNEGFLOAT:
+ *	This symbol is defined if the C compiler can cast negative
+ *	numbers to unsigned longs, ints and shorts.
+ */
+/* CASTFLAGS:
+ *	This symbol contains flags that say what difficulties the compiler
+ *	has casting odd floating values to unsigned long:
+ *		0 = ok
+ *		1 = couldn't cast < 0
+ *		2 = couldn't cast >= 0x80000000
+ *		4 = couldn't cast in argument expression list
+ */
+#define	CASTNEGFLOAT		/**/
+#define CASTFLAGS 0		/**/
+
+/* VOID_CLOSEDIR:
+ *	This symbol, if defined, indicates that the closedir() routine
+ *	does not return a value.
+ */
+/*#define VOID_CLOSEDIR		/ **/
+
 /* HASCONST:
  *	This symbol, if defined, indicates that this C compiler knows about
  *	the const type. There is no need to actually test for that symbol
@@ -1166,6 +1231,26 @@
 /*#define HAS_CTIME_R	   / **/
 #define CTIME_R_PROTO 0	   /**/
 
+/* SETUID_SCRIPTS_ARE_SECURE_NOW:
+ *	This symbol, if defined, indicates that the bug that prevents
+ *	setuid scripts from being secure is not present in this kernel.
+ */
+/* DOSUID:
+ *	This symbol, if defined, indicates that the C program should
+ *	check the script that it is executing for setuid/setgid bits, and
+ *	attempt to emulate setuid/setgid on systems that have disabled
+ *	setuid #! scripts because the kernel can't do it securely.
+ *	It is up to the package designer to make sure that this emulation
+ *	is done securely.  Among other things, it should do an fstat on
+ *	the script it just opened to make sure it really is a setuid/setgid
+ *	script, it should make sure the arguments passed correspond exactly
+ *	to the argument on the #! line, and it should not trust any
+ *	subprocesses to which it must pass the filename rather than the
+ *	file descriptor of the script to be executed.
+ */
+/*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/ **/
+/*#define DOSUID		/ **/
+
 /* HAS_DRAND48_R:
  *	This symbol, if defined, indicates that the drand48_r routine
  *	is available to drand48 re-entrantly.
@@ -1307,6 +1392,12 @@
 /*#define HAS_ENDSERVENT_R	   / **/
 #define ENDSERVENT_R_PROTO 0	   /**/
 
+/* HAS_FD_SET:
+ *	This symbol, when defined, indicates presence of the fd_set typedef
+ *	in <sys/types.h>
+ */
+#define HAS_FD_SET	/**/
+
 /* FLEXFILENAMES:
  *	This symbol, if defined, indicates that the system supports filenames
  *	longer than 14 characters.
@@ -1313,6 +1404,23 @@
  */
 #define	FLEXFILENAMES		/**/
 
+/* Gconvert:
+ *	This preprocessor macro is defined to convert a floating point
+ *	number to a string without a trailing decimal point.  This
+ *	emulates the behavior of sprintf("%g"), but is sometimes much more
+ *	efficient.  If gconvert() is not available, but gcvt() drops the
+ *	trailing decimal point, then gcvt() is used.  If all else fails,
+ *	a macro using sprintf("%g") is used. Arguments for the Gconvert
+ *	macro are: value, number of digits, whether trailing zeros should
+ *	be retained, and the output buffer.
+ *	The usual values are:
+ *		d_Gconvert='gconvert((x),(n),(t),(b))'
+ *		d_Gconvert='gcvt((x),(n),(b))'
+ *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
+ *	The last two assume trailing zeros should not be kept.
+ */
+#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
+
 /* HAS_GETGRENT:
  *	This symbol, if defined, indicates that the getgrent routine is
  *	available for sequential access of the group database.
@@ -1530,6 +1638,13 @@
  */
 /*#define	HAS_GETNET_PROTOS	/ **/
 
+/* HAS_GETPAGESIZE:
+ *	This symbol, if defined, indicates that the getpagesize system call
+ *	is available to get system page size, which is the granularity of
+ *	many memory management calls.
+ */
+/*#define HAS_GETPAGESIZE		/ **/
+
 /* HAS_GETPROTOENT:
  *	This symbol, if defined, indicates that the getprotoent() routine is
  *	available to look up protocols in some data base or another.
@@ -1741,6 +1856,16 @@
 /*#define HAS_GMTIME_R	   / **/
 #define GMTIME_R_PROTO 0	   /**/
 
+/* HAS_GNULIBC:
+ *	This symbol, if defined, indicates to the C program that
+ *	the GNU C library is being used.  A better check is to use
+ *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
+ */
+/*#define HAS_GNULIBC  	/ **/
+#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
+#   define _GNU_SOURCE
+#endif
+
 /* HAS_HTONL:
  *	This symbol, if defined, indicates that the htonl() routine (and
  *	friends htons() ntohl() ntohs()) are available to do network
@@ -1766,6 +1891,19 @@
 #define HAS_NTOHL		/**/
 #define HAS_NTOHS		/**/
 
+/* HAS_ISASCII:
+ *	This manifest constant lets the C program know that isascii
+ *	is available.
+ */
+#define HAS_ISASCII		/**/
+
+/* HAS_LCHOWN:
+ *	This symbol, if defined, indicates that the lchown routine is
+ *	available to operate on a symbolic link (instead of following the
+ *	link).
+ */
+/*#define HAS_LCHOWN		/ **/
+
 /* HAS_LOCALTIME_R:
  *	This symbol, if defined, indicates that the localtime_r routine
  *	is available to localtime re-entrantly.
@@ -1803,11 +1941,7 @@
  */
 #define HAS_LONG_DOUBLE		/**/
 #ifdef HAS_LONG_DOUBLE
-#   ifndef __GNUC__
-#	define LONG_DOUBLESIZE 8		/**/
-#   else
-#	define LONG_DOUBLESIZE 12		/**/
-#   endif
+#define LONG_DOUBLESIZE 8		/**/
 #endif
 
 /* HAS_LONG_LONG:
@@ -1862,6 +1996,12 @@
  */
 /*#define HAS_MSG		/ **/
 
+/* HAS_OPEN3:
+ *	This manifest constant lets the C program know that the three
+ *	argument form of open(2) is available.
+ */
+/*#define HAS_OPEN3		/ **/
+
 /* OLD_PTHREAD_CREATE_JOINABLE:
  *	This symbol, if defined, indicates how to create pthread
  *	in joinable (aka undetached) state.  NOTE: not defined
@@ -1936,6 +2076,29 @@
 /*#define HAS_READDIR_R	   / **/
 #define READDIR_R_PROTO 0	   /**/
 
+/* HAS_SAFE_BCOPY:
+ *	This symbol, if defined, indicates that the bcopy routine is available
+ *	to copy potentially overlapping memory blocks. Normally, you should
+ *	probably use memmove() or memcpy(). If neither is defined, roll your
+ *	own version.
+ */
+/*#define HAS_SAFE_BCOPY	/ **/
+
+/* HAS_SAFE_MEMCPY:
+ *	This symbol, if defined, indicates that the memcpy routine is available
+ *	to copy potentially overlapping memory blocks.  If you need to
+ *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
+ *	use memmove() instead, if available.
+ */
+/*#define HAS_SAFE_MEMCPY	/ **/
+
+/* HAS_SANE_MEMCMP:
+ *	This symbol, if defined, indicates that the memcmp routine is available
+ *	and can be used to compare relative magnitudes of chars with their high
+ *	bits set.  If it is not defined, roll your own version.
+ */
+#define HAS_SANE_MEMCMP	/**/
+
 /* HAS_SEM:
  *	This symbol, if defined, indicates that the entire sem*(2) library is
  *	supported.
@@ -2108,6 +2271,43 @@
 #define Shmat_t void *	/**/
 /*#define HAS_SHMAT_PROTOTYPE	/ **/
 
+/* HAS_SIGACTION:
+ *	This symbol, if defined, indicates that Vr4's sigaction() routine
+ *	is available.
+ */
+/*#define HAS_SIGACTION	/ **/
+
+/* HAS_SIGSETJMP:
+ *	This variable indicates to the C program that the sigsetjmp()
+ *	routine is available to save the calling process's registers
+ *	and stack environment for later use by siglongjmp(), and
+ *	to optionally save the process's signal mask.  See
+ *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
+ */
+/* Sigjmp_buf:
+ *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
+ */
+/* Sigsetjmp:
+ *	This macro is used in the same way as sigsetjmp(), but will invoke
+ *	traditional setjmp() if sigsetjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/* Siglongjmp:
+ *	This macro is used in the same way as siglongjmp(), but will invoke
+ *	traditional longjmp() if siglongjmp isn't available.
+ *	See HAS_SIGSETJMP.
+ */
+/*#define HAS_SIGSETJMP	/ **/
+#ifdef HAS_SIGSETJMP
+#define Sigjmp_buf sigjmp_buf
+#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
+#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
+#else
+#define Sigjmp_buf jmp_buf
+#define Sigsetjmp(buf,save_mask) setjmp((buf))
+#define Siglongjmp(buf,retval) longjmp((buf),(retval))
+#endif
+
 /* HAS_SOCKET:
  *	This symbol, if defined, indicates that the BSD socket interface is
  *	supported.
@@ -2146,8 +2346,30 @@
  *	Checking just with #ifdef might not be enough because this symbol
  *	has been known to be an enum.
  */
+/* HAS_SOCKADDR_SA_LEN:
+ *	This symbol, if defined, indicates that the struct sockaddr
+ *	structure has a member called sa_len, indicating the length of
+ *	the structure.
+ */
+/* HAS_SOCKADDR_IN6:
+ *	This symbol, if defined, indicates the availability of
+ *	struct sockaddr_in6;
+ */
+/* HAS_SIN6_SCOPE_ID:
+ *	This symbol, if defined, indicates that the struct sockaddr_in6
+ *	structure has a member called sin6_scope_id.
+ */
+/* HAS_IP_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ip_mreq;
+ */
+/* HAS_IPV6_MREQ:
+ *	This symbol, if defined, indicates the availability of
+ *	struct ipv6_mreq;
+ */
 #define	HAS_SOCKET		/**/
 /*#define	HAS_SOCKETPAIR	/ **/
+/*#define	HAS_SOCKADDR_SA_LEN	/ **/
 /*#define	HAS_MSG_CTRUNC	/ **/
 /*#define	HAS_MSG_DONTROUTE	/ **/
 /*#define	HAS_MSG_OOB	/ **/
@@ -2154,6 +2376,10 @@
 /*#define	HAS_MSG_PEEK	/ **/
 /*#define	HAS_MSG_PROXY	/ **/
 /*#define	HAS_SCM_RIGHTS	/ **/
+/*#define	HAS_SOCKADDR_IN6	/ **/
+#define	HAS_SIN6_SCOPE_ID	/**/
+/*#define	HAS_IP_MREQ	/ **/
+/*#define	HAS_IPV6_MREQ	/ **/
 
 /* HAS_SRAND48_R:
  *	This symbol, if defined, indicates that the srand48_r routine
@@ -2189,6 +2415,97 @@
 /*#define USE_STAT_BLOCKS 	/ **/
 #endif
 
+/* HAS_STATIC_INLINE:
+ *	This symbol, if defined, indicates that the C compiler supports
+ *	C99-style static inline.  That is, the function can't be called
+ *	from another translation unit.
+ */
+/* PERL_STATIC_INLINE:
+ *	This symbol gives the best-guess incantation to use for static
+ *	inline functions.  If HAS_STATIC_INLINE is defined, this will
+ *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
+ *	this will give a plain 'static'.  It will always be defined
+ *	to something that gives static linkage.
+ *	Possibilities include
+ *		static inline       (c99)
+ *		static __inline__   (gcc -ansi)
+ *		static __inline     (MSVC)
+ *		static _inline      (older MSVC)
+ *		static              (c89 compilers)
+ */
+#define HAS_STATIC_INLINE				/**/
+#define PERL_STATIC_INLINE static __inline	/**/
+
+/* USE_STDIO_PTR:
+ *	This symbol is defined if the _ptr and _cnt fields (or similar)
+ *	of the stdio FILE structure can be used to access the stdio buffer
+ *	for a file handle.  If this is defined, then the FILE_ptr(fp)
+ *	and FILE_cnt(fp) macros will also be defined and should be used
+ *	to access these fields.
+ */
+/* FILE_ptr:
+ *	This macro is used to access the _ptr field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_PTR_LVALUE:
+ *	This symbol is defined if the FILE_ptr macro can be used as an
+ *	lvalue.
+ */
+/* FILE_cnt:
+ *	This macro is used to access the _cnt field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_PTR is defined.
+ */
+/* STDIO_CNT_LVALUE:
+ *	This symbol is defined if the FILE_cnt macro can be used as an
+ *	lvalue.
+ */
+/* STDIO_PTR_LVAL_SETS_CNT:
+ *	This symbol is defined if using the FILE_ptr macro as an lvalue
+ *	to increase the pointer by n has the side effect of decreasing the
+ *	value of File_cnt(fp) by n.
+ */
+/* STDIO_PTR_LVAL_NOCHANGE_CNT:
+ *	This symbol is defined if using the FILE_ptr macro as an lvalue
+ *	to increase the pointer by n leaves File_cnt(fp) unchanged.
+ */
+#define USE_STDIO_PTR 	/**/
+#ifdef USE_STDIO_PTR
+#define FILE_ptr(fp)	((fp)->_ptr)
+#define STDIO_PTR_LVALUE 		/**/
+#define FILE_cnt(fp)	((fp)->_cnt)
+#define STDIO_CNT_LVALUE 		/**/
+/*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
+#define STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
+#endif
+
+/* USE_STDIO_BASE:
+ *	This symbol is defined if the _base field (or similar) of the
+ *	stdio FILE structure can be used to access the stdio buffer for
+ *	a file handle.  If this is defined, then the FILE_base(fp) macro
+ *	will also be defined and should be used to access this field.
+ *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
+ *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
+ *	will never be defined unless USE_STDIO_PTR is.
+ */
+/* FILE_base:
+ *	This macro is used to access the _base field (or equivalent) of the
+ *	FILE structure pointed to by its argument. This macro will always be
+ *	defined if USE_STDIO_BASE is defined.
+ */
+/* FILE_bufsiz:
+ *	This macro is used to determine the number of bytes in the I/O
+ *	buffer pointed to by _base field (or equivalent) of the FILE
+ *	structure pointed to its argument. This macro will always be defined
+ *	if USE_STDIO_BASE is defined.
+ */
+#define USE_STDIO_BASE 	/**/
+#ifdef USE_STDIO_BASE
+#define FILE_base(fp)	((fp)->_base)
+#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
+#endif
+
 /* USE_STRUCT_COPY:
  *	This symbol, if defined, indicates that this C compiler knows how
  *	to copy structures.  If undefined, you'll need to use a block copy
@@ -2328,6 +2645,32 @@
 #define volatile
 #endif
 
+/* HAS_VPRINTF:
+ *	This symbol, if defined, indicates that the vprintf routine is available
+ *	to printf with a pointer to an argument list.  If unavailable, you
+ *	may need to write your own, probably in terms of _doprnt().
+ */
+/* USE_CHAR_VSPRINTF:
+ *	This symbol is defined if this system has vsprintf() returning type
+ *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
+ *	is up to the package author to declare vsprintf correctly based on the
+ *	symbol.
+ */
+#define HAS_VPRINTF	/**/
+/*#define USE_CHAR_VSPRINTF 	/ **/
+
+/* DOUBLESIZE:
+ *	This symbol contains the size of a double, so that the C preprocessor
+ *	can make decisions based on it.
+ */
+#define DOUBLESIZE 8		/**/
+
+/* EBCDIC:
+ *     This symbol, if defined, indicates that this system uses
+ *	EBCDIC encoding.
+ */
+/*#define	EBCDIC 		/ **/
+
 /* Fpos_t:
  *	This symbol holds the type used to declare file positions in libc.
  *	It can be fpos_t, long, uint, etc... It may be necessary to include
@@ -2518,6 +2861,32 @@
  */
 /*#define	I_SYSUIO		/ **/
 
+/* I_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <time.h>.
+ */
+/* I_SYS_TIME:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h>.
+ */
+/* I_SYS_TIME_KERNEL:
+ *	This symbol, if defined, indicates to the C program that it should
+ *	include <sys/time.h> with KERNEL defined.
+ */
+/* HAS_TM_TM_ZONE:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_zone field.
+ */
+/* HAS_TM_TM_GMTOFF:
+ *	This symbol, if defined, indicates to the C program that
+ *	the struct tm has a tm_gmtoff field.
+ */
+#define I_TIME		/**/
+/*#define I_SYS_TIME		/ **/
+/*#define I_SYS_TIME_KERNEL		/ **/
+/*#define HAS_TM_TM_ZONE		/ **/
+/*#define HAS_TM_TM_GMTOFF		/ **/
+
 /* I_STDARG:
  *	This symbol, if defined, indicates that <stdarg.h> exists and should
  *	be included.
@@ -2587,6 +2956,33 @@
  */
 #define Mode_t mode_t	 /* file mode parameter for system calls */
 
+/* VAL_O_NONBLOCK:
+ *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
+ *	non-blocking I/O for the file descriptor. Note that there is no way
+ *	back, i.e. you cannot turn it blocking again this way. If you wish to
+ *	alternatively switch between blocking and non-blocking, use the
+ *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
+ */
+/* VAL_EAGAIN:
+ *	This symbol holds the errno error code set by read() when no data was
+ *	present on the non-blocking file descriptor.
+ */
+/* RD_NODATA:
+ *	This symbol holds the return code from read() when no data is present
+ *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
+ *	not defined, then you can't distinguish between no data and EOF by
+ *	issuing a read(). You'll have to find another way to tell for sure!
+ */
+/* EOF_NONBLOCK:
+ *	This symbol, if defined, indicates to the C program that a read() on
+ *	a non-blocking file descriptor will return 0 on EOF, and not the value
+ *	held in RD_NODATA (-1 usually, in that case!).
+ */
+#define VAL_O_NONBLOCK O_NONBLOCK
+#define VAL_EAGAIN EAGAIN
+#define RD_NODATA -1
+#define EOF_NONBLOCK
+
 /* Netdb_host_t:
  *	This symbol holds the type used for the 1st argument
  *	to gethostbyaddr().
@@ -2656,6 +3052,57 @@
 #define	_(args) ()
 #endif
 
+/* PTRSIZE:
+ *	This symbol contains the size of a pointer, so that the C preprocessor
+ *	can make decisions based on it.  It will be sizeof(void *) if
+ *	the compiler supports (void *); otherwise it will be
+ *	sizeof(char *).
+ */
+#define PTRSIZE 4		/**/
+
+/* HAS_QUAD:
+ *	This symbol, if defined, tells that there's a 64-bit integer type,
+ *	Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
+ *	of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
+ *	or QUAD_IS___INT64.
+ */
+#define HAS_QUAD	/**/
+#ifdef HAS_QUAD
+#   define Quad_t __int64	/**/
+#   define Uquad_t unsigned __int64	/**/
+#   define QUADKIND 5	/**/
+#   define QUAD_IS_INT	1
+#   define QUAD_IS_LONG	2
+#   define QUAD_IS_LONG_LONG	3
+#   define QUAD_IS_INT64_T	4
+#   define QUAD_IS___INT64	5
+#endif
+
+/* Drand01:
+ *	This macro is to be used to generate uniformly distributed
+ *	random numbers over the range [0., 1.[.  You may have to supply
+ *	an 'extern double drand48();' in your program since SunOS 4.1.3
+ *	doesn't provide you with anything relevant in its headers.
+ *	See HAS_DRAND48_PROTO.
+ */
+/* Rand_seed_t:
+ *	This symbol defines the type of the argument of the
+ *	random seed function.
+ */
+/* seedDrand01:
+ *	This symbol defines the macro to be used in seeding the
+ *	random number generator (see Drand01).
+ */
+/* RANDBITS:
+ *	This symbol indicates how many bits are produced by the
+ *	function used to generate normalized random numbers.
+ *	Values include 15, 16, 31, and 48.
+ */
+#define Drand01()		(rand()/(double)((unsigned)1<<RANDBITS))		/**/
+#define Rand_seed_t		unsigned		/**/
+#define seedDrand01(x)	srand((Rand_seed_t)x)	/**/
+#define RANDBITS		15		/**/
+
 /* Select_fd_set_t:
  *	This symbol holds the type used for the 2nd, 3rd, and 4th
  *	arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
@@ -2766,7 +3213,7 @@
  *	unsigned long, int, etc.  It may be necessary to include
  *	<sys/types.h> to get any typedef'ed information.
  */
-#define Size_t size_t	 /* length paramater for string functions */
+#define Size_t size_t	 /* length parameter for string functions */
 
 /* Sock_size_t:
  *	This symbol holds the type used for the size argument of
@@ -2774,6 +3221,16 @@
  */
 #define Sock_size_t		int /**/
 
+/* SSize_t:
+ *	This symbol holds the type used by functions that return
+ *	a count of bytes or an error condition.  It must be a signed type.
+ *	It is usually ssize_t, but may be long or int, etc.
+ *	It may be necessary to include <sys/types.h> or <unistd.h>
+ *	to get any typedef'ed information.
+ *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
+ */
+#define SSize_t int	 /* signed count of bytes */
+
 /* STDCHAR:
  *	This symbol is defined to be the type of char used in stdio.h.
  *	It has the values "unsigned char" or "char".
@@ -2867,7 +3324,7 @@
  *	    2 = supports arrays of pointers to functions returning void
  *	    4 = supports comparisons between pointers to void functions and
  *		    addresses of void functions
- *	    8 = suports declaration of generic void pointers
+ *	    8 = supports declaration of generic void pointers
  *
  *	The package designer should define VOIDUSED to indicate the requirements
  *	of the package.  This can be done either by #defining VOIDUSED before
@@ -2884,464 +3341,6 @@
 #define M_VOID			/* Xenix strikes again */
 #endif
 
-/* USE_CROSS_COMPILE:
- *	This symbol, if defined, indicates that Perl is being cross-compiled.
- */
-/* PERL_TARGETARCH:
- *	This symbol, if defined, indicates the target architecture
- *	Perl has been cross-compiled to.  Undefined if not a cross-compile.
- */
-#ifndef USE_CROSS_COMPILE
-/*#define	USE_CROSS_COMPILE	/ **/
-#define	PERL_TARGETARCH	""	/**/
-#endif
-
-/* MEM_ALIGNBYTES:
- *	This symbol contains the number of bytes required to align a
- *	double, or a long double when applicable. Usual values are 2,
- *	4 and 8. The default is eight, for safety.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-#  define MEM_ALIGNBYTES 8
-#else
-#define MEM_ALIGNBYTES 8
-#endif
-
-/* BYTEORDER:
- *	This symbol holds the hexadecimal constant defined in byteorder,
- *	in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
- *	If the compiler supports cross-compiling or multiple-architecture
- *	binaries (eg. on NeXT systems), use compiler-defined macros to
- *	determine the byte order.
- *	On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
- *	Binaries (MAB) on either big endian or little endian machines.
- *	The endian-ness is available at compile-time.  This only matters
- *	for perl, where the config.h can be generated and installed on
- *	one system, and used by a different architecture to build an
- *	extension.  Older versions of NeXT that might not have
- *	defined either *_ENDIAN__ were all on Motorola 680x0 series,
- *	so the default case (for NeXT) is big endian to catch them.
- *	This might matter for NeXT 3.0.
- */
-#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
-#  ifdef __LITTLE_ENDIAN__
-#    if LONGSIZE == 4
-#      define BYTEORDER 0x1234
-#    else
-#      if LONGSIZE == 8
-#        define BYTEORDER 0x12345678
-#      endif
-#    endif
-#  else
-#    ifdef __BIG_ENDIAN__
-#      if LONGSIZE == 4
-#        define BYTEORDER 0x4321
-#      else
-#        if LONGSIZE == 8
-#          define BYTEORDER 0x87654321
-#        endif
-#      endif
-#    endif
-#  endif
-#  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
-#    define BYTEORDER 0x4321
-#  endif
-#else
-#define BYTEORDER 0x1234	/* large digits for MSB */
-#endif /* NeXT */
-
-/* CHARBITS:
- *	This symbol contains the size of a char, so that the C preprocessor
- *	can make decisions based on it.
- */
-#define CHARBITS 8		/**/
-
-/* CASTI32:
- *	This symbol is defined if the C compiler can cast negative
- *	or large floating point numbers to 32-bit ints.
- */
-#ifdef __GNUC__
-#   define	CASTI32		/**/
-#endif
-
-/* CASTNEGFLOAT:
- *	This symbol is defined if the C compiler can cast negative
- *	numbers to unsigned longs, ints and shorts.
- */
-/* CASTFLAGS:
- *	This symbol contains flags that say what difficulties the compiler
- *	has casting odd floating values to unsigned long:
- *		0 = ok
- *		1 = couldn't cast < 0
- *		2 = couldn't cast >= 0x80000000
- *		4 = couldn't cast in argument expression list
- */
-#define	CASTNEGFLOAT		/**/
-#define CASTFLAGS 0		/**/
-
-/* VOID_CLOSEDIR:
- *	This symbol, if defined, indicates that the closedir() routine
- *	does not return a value.
- */
-/*#define VOID_CLOSEDIR		/ **/
-
-/* HAS_FD_SET:
- *	This symbol, when defined, indicates presence of the fd_set typedef
- *	in <sys/types.h>
- */
-#define HAS_FD_SET	/**/
-
-/* Gconvert:
- *	This preprocessor macro is defined to convert a floating point
- *	number to a string without a trailing decimal point.  This
- *	emulates the behavior of sprintf("%g"), but is sometimes much more
- *	efficient.  If gconvert() is not available, but gcvt() drops the
- *	trailing decimal point, then gcvt() is used.  If all else fails,
- *	a macro using sprintf("%g") is used. Arguments for the Gconvert
- *	macro are: value, number of digits, whether trailing zeros should
- *	be retained, and the output buffer.
- *	The usual values are:
- *		d_Gconvert='gconvert((x),(n),(t),(b))'
- *		d_Gconvert='gcvt((x),(n),(b))'
- *		d_Gconvert='sprintf((b),"%.*g",(n),(x))'
- *	The last two assume trailing zeros should not be kept.
- */
-#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
-
-/* HAS_GETPAGESIZE:
- *	This symbol, if defined, indicates that the getpagesize system call
- *	is available to get system page size, which is the granularity of
- *	many memory management calls.
- */
-/*#define HAS_GETPAGESIZE		/ **/
-
-/* HAS_GNULIBC:
- *	This symbol, if defined, indicates to the C program that
- *	the GNU C library is being used.  A better check is to use
- *	the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
- */
-/*#define HAS_GNULIBC  	/ **/
-#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
-#   define _GNU_SOURCE
-#endif
-
-/* HAS_ISASCII:
- *	This manifest constant lets the C program know that isascii
- *	is available.
- */
-#define HAS_ISASCII		/**/
-
-/* HAS_LCHOWN:
- *	This symbol, if defined, indicates that the lchown routine is
- *	available to operate on a symbolic link (instead of following the
- *	link).
- */
-/*#define HAS_LCHOWN		/ **/
-
-/* HAS_OPEN3:
- *	This manifest constant lets the C program know that the three
- *	argument form of open(2) is available.
- */
-/*#define HAS_OPEN3		/ **/
-
-/* HAS_SAFE_BCOPY:
- *	This symbol, if defined, indicates that the bcopy routine is available
- *	to copy potentially overlapping memory blocks. Normally, you should
- *	probably use memmove() or memcpy(). If neither is defined, roll your
- *	own version.
- */
-/*#define HAS_SAFE_BCOPY	/ **/
-
-/* HAS_SAFE_MEMCPY:
- *	This symbol, if defined, indicates that the memcpy routine is available
- *	to copy potentially overlapping memory blocks.  If you need to
- *	copy overlapping memory blocks, you should check HAS_MEMMOVE and
- *	use memmove() instead, if available.
- */
-/*#define HAS_SAFE_MEMCPY	/ **/
-
-/* HAS_SANE_MEMCMP:
- *	This symbol, if defined, indicates that the memcmp routine is available
- *	and can be used to compare relative magnitudes of chars with their high
- *	bits set.  If it is not defined, roll your own version.
- */
-#define HAS_SANE_MEMCMP	/**/
-
-/* HAS_SIGACTION:
- *	This symbol, if defined, indicates that Vr4's sigaction() routine
- *	is available.
- */
-/*#define HAS_SIGACTION	/ **/
-
-/* HAS_SIGSETJMP:
- *	This variable indicates to the C program that the sigsetjmp()
- *	routine is available to save the calling process's registers
- *	and stack environment for later use by siglongjmp(), and
- *	to optionally save the process's signal mask.  See
- *	Sigjmp_buf, Sigsetjmp, and Siglongjmp.
- */
-/* Sigjmp_buf:
- *	This is the buffer type to be used with Sigsetjmp and Siglongjmp.
- */
-/* Sigsetjmp:
- *	This macro is used in the same way as sigsetjmp(), but will invoke
- *	traditional setjmp() if sigsetjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/* Siglongjmp:
- *	This macro is used in the same way as siglongjmp(), but will invoke
- *	traditional longjmp() if siglongjmp isn't available.
- *	See HAS_SIGSETJMP.
- */
-/*#define HAS_SIGSETJMP	/ **/
-#ifdef HAS_SIGSETJMP
-#define Sigjmp_buf sigjmp_buf
-#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
-#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
-#else
-#define Sigjmp_buf jmp_buf
-#define Sigsetjmp(buf,save_mask) setjmp((buf))
-#define Siglongjmp(buf,retval) longjmp((buf),(retval))
-#endif
-
-/* HAS_STATIC_INLINE:
- *	This symbol, if defined, indicates that the C compiler supports
- *	C99-style static inline.  That is, the function can't be called
- *	from another translation unit.
- */
-/* PERL_STATIC_INLINE:
- *	This symbol gives the best-guess incantation to use for static
- *	inline functions.  If HAS_STATIC_INLINE is defined, this will
- *	give C99-style inline.  If HAS_STATIC_INLINE is not defined,
- *	this will give a plain 'static'.  It will always be defined
- *	to something that gives static linkage.
- *	Possibilities include
- *		static inline       (c99)
- *		static __inline__   (gcc -ansi)
- *		static __inline     (MSVC)
- *		static _inline      (older MSVC)
- *		static              (c89 compilers)
- */
-#ifdef _MSC_VER
-#  define HAS_STATIC_INLINE				/**/
-#  define PERL_STATIC_INLINE static __inline  	/**/
-#else /* gcc presumably */
-#  define HAS_STATIC_INLINE				/**/
-#  define PERL_STATIC_INLINE static __inline__	/**/
-#endif
-
-/* USE_STDIO_PTR:
- *	This symbol is defined if the _ptr and _cnt fields (or similar)
- *	of the stdio FILE structure can be used to access the stdio buffer
- *	for a file handle.  If this is defined, then the FILE_ptr(fp)
- *	and FILE_cnt(fp) macros will also be defined and should be used
- *	to access these fields.
- */
-/* FILE_ptr:
- *	This macro is used to access the _ptr field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_PTR_LVALUE:
- *	This symbol is defined if the FILE_ptr macro can be used as an
- *	lvalue.
- */
-/* FILE_cnt:
- *	This macro is used to access the _cnt field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_PTR is defined.
- */
-/* STDIO_CNT_LVALUE:
- *	This symbol is defined if the FILE_cnt macro can be used as an
- *	lvalue.
- */
-/* STDIO_PTR_LVAL_SETS_CNT:
- *	This symbol is defined if using the FILE_ptr macro as an lvalue
- *	to increase the pointer by n has the side effect of decreasing the
- *	value of File_cnt(fp) by n.
- */
-/* STDIO_PTR_LVAL_NOCHANGE_CNT:
- *	This symbol is defined if using the FILE_ptr macro as an lvalue
- *	to increase the pointer by n leaves File_cnt(fp) unchanged.
- */
-#define USE_STDIO_PTR 	/**/
-#ifdef USE_STDIO_PTR
-#define FILE_ptr(fp)	((fp)->_ptr)
-#define STDIO_PTR_LVALUE 		/**/
-#define FILE_cnt(fp)	((fp)->_cnt)
-#define STDIO_CNT_LVALUE 		/**/
-/*#define STDIO_PTR_LVAL_SETS_CNT	/ **/
-#define STDIO_PTR_LVAL_NOCHANGE_CNT	/**/
-#endif
-
-/* USE_STDIO_BASE:
- *	This symbol is defined if the _base field (or similar) of the
- *	stdio FILE structure can be used to access the stdio buffer for
- *	a file handle.  If this is defined, then the FILE_base(fp) macro
- *	will also be defined and should be used to access this field.
- *	Also, the FILE_bufsiz(fp) macro will be defined and should be used
- *	to determine the number of bytes in the buffer.  USE_STDIO_BASE
- *	will never be defined unless USE_STDIO_PTR is.
- */
-/* FILE_base:
- *	This macro is used to access the _base field (or equivalent) of the
- *	FILE structure pointed to by its argument. This macro will always be
- *	defined if USE_STDIO_BASE is defined.
- */
-/* FILE_bufsiz:
- *	This macro is used to determine the number of bytes in the I/O
- *	buffer pointed to by _base field (or equivalent) of the FILE
- *	structure pointed to its argument. This macro will always be defined
- *	if USE_STDIO_BASE is defined.
- */
-#define USE_STDIO_BASE 	/**/
-#ifdef USE_STDIO_BASE
-#define FILE_base(fp)	((fp)->_base)
-#define FILE_bufsiz(fp)	((fp)->_cnt + (fp)->_ptr - (fp)->_base)
-#endif
-
-/* HAS_VPRINTF:
- *	This symbol, if defined, indicates that the vprintf routine is available
- *	to printf with a pointer to an argument list.  If unavailable, you
- *	may need to write your own, probably in terms of _doprnt().
- */
-/* USE_CHAR_VSPRINTF:
- *	This symbol is defined if this system has vsprintf() returning type
- *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
- *	is up to the package author to declare vsprintf correctly based on the
- *	symbol.
- */
-#define HAS_VPRINTF	/**/
-/*#define USE_CHAR_VSPRINTF 	/ **/
-
-/* DOUBLESIZE:
- *	This symbol contains the size of a double, so that the C preprocessor
- *	can make decisions based on it.
- */
-#define DOUBLESIZE 8		/**/
-
-/* I_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <time.h>.
- */
-/* I_SYS_TIME:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h>.
- */
-/* I_SYS_TIME_KERNEL:
- *	This symbol, if defined, indicates to the C program that it should
- *	include <sys/time.h> with KERNEL defined.
- */
-/* HAS_TM_TM_ZONE:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_zone field.
- */
-/* HAS_TM_TM_GMTOFF:
- *	This symbol, if defined, indicates to the C program that
- *	the struct tm has a tm_gmtoff field.
- */
-#define I_TIME		/**/
-/*#define I_SYS_TIME		/ **/
-/*#define I_SYS_TIME_KERNEL		/ **/
-/*#define HAS_TM_TM_ZONE		/ **/
-/*#define HAS_TM_TM_GMTOFF		/ **/
-
-/* VAL_O_NONBLOCK:
- *	This symbol is to be used during open() or fcntl(F_SETFL) to turn on
- *	non-blocking I/O for the file descriptor. Note that there is no way
- *	back, i.e. you cannot turn it blocking again this way. If you wish to
- *	alternatively switch between blocking and non-blocking, use the
- *	ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
- */
-/* VAL_EAGAIN:
- *	This symbol holds the errno error code set by read() when no data was
- *	present on the non-blocking file descriptor.
- */
-/* RD_NODATA:
- *	This symbol holds the return code from read() when no data is present
- *	on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
- *	not defined, then you can't distinguish between no data and EOF by
- *	issuing a read(). You'll have to find another way to tell for sure!
- */
-/* EOF_NONBLOCK:
- *	This symbol, if defined, indicates to the C program that a read() on
- *	a non-blocking file descriptor will return 0 on EOF, and not the value
- *	held in RD_NODATA (-1 usually, in that case!).
- */
-#define VAL_O_NONBLOCK O_NONBLOCK
-#define VAL_EAGAIN EAGAIN
-#define RD_NODATA -1
-#define EOF_NONBLOCK
-
-/* PTRSIZE:
- *	This symbol contains the size of a pointer, so that the C preprocessor
- *	can make decisions based on it.  It will be sizeof(void *) if
- *	the compiler supports (void *); otherwise it will be
- *	sizeof(char *).
- */
-#define PTRSIZE 4		/**/
-
-/* Drand01:
- *	This macro is to be used to generate uniformly distributed
- *	random numbers over the range [0., 1.[.  You may have to supply
- *	an 'extern double drand48();' in your program since SunOS 4.1.3
- *	doesn't provide you with anything relevant in its headers.
- *	See HAS_DRAND48_PROTO.
- */
-/* Rand_seed_t:
- *	This symbol defines the type of the argument of the
- *	random seed function.
- */
-/* seedDrand01:
- *	This symbol defines the macro to be used in seeding the
- *	random number generator (see Drand01).
- */
-/* RANDBITS:
- *	This symbol indicates how many bits are produced by the
- *	function used to generate normalized random numbers.
- *	Values include 15, 16, 31, and 48.
- */
-#define Drand01()		(rand()/(double)((unsigned)1<<RANDBITS))		/**/
-#define Rand_seed_t		unsigned		/**/
-#define seedDrand01(x)	srand((Rand_seed_t)x)	/**/
-#define RANDBITS		15		/**/
-
-/* SSize_t:
- *	This symbol holds the type used by functions that return
- *	a count of bytes or an error condition.  It must be a signed type.
- *	It is usually ssize_t, but may be long or int, etc.
- *	It may be necessary to include <sys/types.h> or <unistd.h>
- *	to get any typedef'ed information.
- *	We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
- */
-#define SSize_t int	 /* signed count of bytes */
-
-/* EBCDIC:
- *     This symbol, if defined, indicates that this system uses
- *	EBCDIC encoding.
- */
-/*#define	EBCDIC 		/ **/
-
-/* SETUID_SCRIPTS_ARE_SECURE_NOW:
- *	This symbol, if defined, indicates that the bug that prevents
- *	setuid scripts from being secure is not present in this kernel.
- */
-/* DOSUID:
- *	This symbol, if defined, indicates that the C program should
- *	check the script that it is executing for setuid/setgid bits, and
- *	attempt to emulate setuid/setgid on systems that have disabled
- *	setuid #! scripts because the kernel can't do it securely.
- *	It is up to the package designer to make sure that this emulation
- *	is done securely.  Among other things, it should do an fstat on
- *	the script it just opened to make sure it really is a setuid/setgid
- *	script, it should make sure the arguments passed correspond exactly
- *	to the argument on the #! line, and it should not trust any
- *	subprocesses to which it must pass the filename rather than the
- *	file descriptor of the script to be executed.
- */
-/*#define SETUID_SCRIPTS_ARE_SECURE_NOW	/ **/
-/*#define DOSUID		/ **/
-
 /* PERL_USE_DEVEL:
  *	This symbol, if defined, indicates that Perl was configured with
  *	-Dusedevel, to enable development features.  This should not be
@@ -3629,7 +3628,7 @@
 
 /* HAS_GETESPWNAM:
  *	This symbol, if defined, indicates that the getespwnam system call is
- *	available to retrieve enchanced (shadow) password entries by name.
+ *	available to retrieve enhanced (shadow) password entries by name.
  */
 /*#define HAS_GETESPWNAM		/ **/
 
@@ -3706,6 +3705,12 @@
  */
 /*#define     HAS_INT64_T               / **/
 
+/* HAS_ISBLANK:
+ *	This manifest constant lets the C program know that isblank 
+ *	is available.
+ */
+/*#define HAS_ISBLANK		/ **/
+
 /* HAS_ISFINITE:
  *	This symbol, if defined, indicates that the isfinite routine is
  *	available to check whether a double is finite (non-infinity non-NaN).
@@ -3770,7 +3775,7 @@
 
 /* HAS_MKSTEMPS:
  *	This symbol, if defined, indicates that the mkstemps routine is
- *	available to excluslvely create and open a uniquely named
+ *	available to exclusively create and open a uniquely named
  *	(with a suffix) temporary file.
  */
 /*#define HAS_MKSTEMPS		/ **/
@@ -3820,6 +3825,17 @@
  */
 /*#define	HAS_OFF64_T    		/ **/
 
+/* HAS_PRCTL:
+ *	This symbol, if defined, indicates that the prctl routine is
+ *	available to set process title.
+ */
+/* HAS_PRCTL_SET_NAME:
+ *	This symbol, if defined, indicates that the prctl routine is
+ *	available to set process title and supports PR_SET_NAME.
+ */
+/*#define HAS_PRCTL		/ **/
+/*#define HAS_PRCTL_SET_NAME		/ **/
+
 /* HAS_PROCSELFEXE:
  *	This symbol is defined if PROCSELFEXE_PATH is a symlink
  *	to the absolute pathname of the executing program.
@@ -4291,6 +4307,12 @@
  */
 /*#define	I_SOCKS		/ **/
 
+/* I_STDBOOL:
+ *	This symbol, if defined, indicates that <stdbool.h> exists and
+ *	can be included.
+ */
+/*#define	I_STDBOOL		/ **/
+
 /* I_SUNMATH:
  *	This symbol, if defined, indicates that <sunmath.h> exists and
  *	should be included.
@@ -4459,7 +4481,7 @@
 /* NV_OVERFLOWS_INTEGERS_AT:
  *	This symbol gives the largest integer value that NVs can hold. This
  *	value + 1.0 cannot be stored accurately. It is expressed as constant
- *	floating point expression to reduce the chance of decimale/binary
+ *	floating point expression to reduce the chance of decimal/binary
  *	conversion issues. If it can not be determined, the value 0 is given.
  */
 /* NV_ZERO_IS_ALLBITS_ZERO:
@@ -4475,13 +4497,8 @@
 #define	I32TYPE		long	/**/
 #define	U32TYPE		unsigned long	/**/
 #ifdef HAS_QUAD
-#   ifndef __GNUC__
-#	define	I64TYPE		__int64	/**/
-#	define	U64TYPE		unsigned __int64	/**/
-#   else
-#	define	I64TYPE		long long	/**/
-#	define	U64TYPE		unsigned long long	/**/
-#   endif
+#define	I64TYPE		__int64	/**/
+#define	U64TYPE		unsigned __int64	/**/
 #endif
 #define	NVTYPE		double		/**/
 #define	IVSIZE		4		/**/
@@ -4565,6 +4582,16 @@
  */
 #define SELECT_MIN_BITS 	32	/**/
 
+/* ST_INO_SIZE:
+ *	This variable contains the size of struct stat's st_ino in bytes.
+ */
+/* ST_INO_SIGN:
+ *	This symbol holds the signedess of struct stat's st_ino.
+ *	1 for unsigned, -1 for signed.
+ */
+#define ST_INO_SIGN 1	/* st_ino sign */
+#define ST_INO_SIZE 4	/* st_ino size */
+
 /* STARTPERL:
  *	This variable contains the string to put in front of a perl
  *	script to make sure (one hopes) that it runs with perl and not
@@ -4601,8 +4628,8 @@
  *	This symbol contains the minimum value for the time_t offset that
  *	the system function localtime () accepts, and defaults to 0
  */
-#define GMTIME_MAX	2147483647	/**/
-#define GMTIME_MIN	0	/**/
+#define GMTIME_MAX		2147483647	/**/
+#define GMTIME_MIN		0	/**/
 #define LOCALTIME_MAX	2147483647	/**/
 #define LOCALTIME_MIN	0	/**/
 
@@ -4646,6 +4673,13 @@
 /*#define	USE_FAST_STDIO		/ **/
 #endif
 
+/* USE_KERN_PROC_PATHNAME:
+ *	This symbol, if defined, indicates that we can use sysctl with
+ *	KERN_PROC_PATHNAME to get a full path for the executable, and hence
+ * 	convert $^X to an absolute path.
+ */
+/*#define USE_KERN_PROC_PATHNAME	/ **/
+
 /* USE_LARGE_FILES:
  *	This symbol, if defined, indicates that large file support
  *	should be used when available.
@@ -4678,6 +4712,13 @@
 /*#define	MULTIPLICITY		/ **/
 #endif
 
+/* USE_NSGETEXECUTABLEPATH:
+ *	This symbol, if defined, indicates that we can use _NSGetExecutablePath
+ *	and realpath to get a full path for the executable, and hence convert
+ *	$^X to an absolute path.
+ */
+/*#define USE_NSGETEXECUTABLEPATH	/ **/
+
 /* USE_PERLIO:
  *	This symbol, if defined, indicates that the PerlIO abstraction should
  *	be used throughout.  If not defined, stdio should be


Property changes on: vendor/perl/dist/win32/config_H.vc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/config_H.vc64
===================================================================
--- vendor/perl/dist/win32/config_H.vc64	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_H.vc64	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/config_H.vc64
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/config_h.PL
===================================================================
--- vendor/perl/dist/win32/config_h.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_h.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,14 +1,17 @@
-#
+#!perl -w
+use strict;
+
 BEGIN { warn "Running ".__FILE__."\n" };
 BEGIN 
  {
   require "Config.pm";
   die "Config.pm:$@" if $@;
-  Config::->import;
+  Config->import;
  }
 use File::Compare qw(compare);
 use File::Copy qw(copy);
 use File::Basename qw(fileparse);
+
 my ($name, $dir) = fileparse($0);
 $name =~ s#^(.*)\.PL$#../$1.SH#;
 my %opt;
@@ -23,18 +26,12 @@
 
 warn "Writing $opt{CONFIG_H}\n";
 
-my $patchlevel = $opt{INST_VER};
-$patchlevel =~ s|^[\\/]||;
-$patchlevel =~ s|~VERSION~|$Config{version}|g;
-$patchlevel ||= $Config{version};
-$patchlevel = qq["$patchlevel"];
-
 open(SH,"<$name") || die "Cannot open $name:$!";
 while (<SH>)
  {
   last if /^\s*sed/;
  }
-($term,$file,$pat) = /^\s*sed\s+<<(\S+)\s+>(\S+)\s+(.*)$/;
+my($term,$file,$pat) = /^\s*sed\s+<<(\S+)\s+>(\S+)\s+(.*)$/;
 
 $file =~ s/^\$(\w+)$/$opt{$1}/g;
 
@@ -54,7 +51,6 @@
 die "$str:$@" if $@;
 
 open(H,">$file.new") || die "Cannot open $file.new:$!";
-#binmode H;		# no CRs (which cause a spurious rebuild)
 while (<SH>)
  {
   last if /^$term$/o;
@@ -73,6 +69,10 @@
    {
      $_ = "/*#define ". $1 . "_EXP \"\"\t/ **/\n";
    }
+  elsif (/^\s*#define\s+CPP(STDIN|RUN)\s+"gcc(.*)"\s*$/)
+   {
+     $_ = "#define CPP" . $1 . " \"" . $opt{ARCHPREFIX} . "gcc" . $2 . "\"\n";
+   }
   print H;
  }
 close(H);
@@ -89,7 +89,6 @@
   chmod(0666,$file);
   unlink($file);
   rename("$file.new",$file);
-  #chmod(0444,$file);
   exit(1);
  }
 else
@@ -112,7 +111,7 @@
  my $cmd = shift;
  if ($cmd =~ /^echo\s+(.*?)\s*\|\s+sed\s+'(.*)'\s*$/)
   {
-   local ($data,$pat) = ($1,$2);
+   my($data,$pat) = ($1,$2);
    $data =~ s/\s+/ /g;
    eval "\$data =~ $pat";
    return $data;


Property changes on: vendor/perl/dist/win32/config_h.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/config_sh.PL
===================================================================
--- vendor/perl/dist/win32/config_sh.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/config_sh.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,4 +1,7 @@
+#!perl -w
+use strict;
 use FindExt;
+
 # take a semicolon separated path list and turn it into a quoted
 # list of paths that Text::Parsewords will grok
 sub mungepath {
@@ -18,7 +21,7 @@
     if ($ARGV[0] =~ /--cfgsh-option-file/) {
 	shift @ARGV;
 	my $optfile = shift @ARGV;
-	local (*F);
+	local (*OPTF);
 	open OPTF, $optfile or die "Can't open $optfile: $!\n";
 	my @opts;
 	chomp(my $line = <OPTF>);
@@ -45,13 +48,13 @@
 FindExt::scan_ext("../cpan");
 FindExt::scan_ext("../dist");
 FindExt::scan_ext("../ext");
-FindExt::set_static_extensions(split ' ', $opt{'static_ext'});
+FindExt::set_static_extensions(split ' ', $opt{static_ext});
 
-$opt{'nonxs_ext'}        = join(' ',FindExt::nonxs_ext()) || ' ';
-$opt{'static_ext'}       = join(' ',FindExt::static_ext()) || ' ';
-$opt{'dynamic_ext'}      = join(' ',FindExt::dynamic_ext()) || ' ';
-$opt{'extensions'}       = join(' ',FindExt::extensions()) || ' ';
-$opt{'known_extensions'} = join(' ',FindExt::known_extensions()) || ' ';
+$opt{nonxs_ext}        = join(' ',FindExt::nonxs_ext()) || ' ';
+$opt{static_ext}       = join(' ',FindExt::static_ext()) || ' ';
+$opt{dynamic_ext}      = join(' ',FindExt::dynamic_ext()) || ' ';
+$opt{extensions}       = join(' ',FindExt::extensions()) || ' ';
+$opt{known_extensions} = join(' ',FindExt::known_extensions()) || ' ';
 
 my $pl_h = '../patchlevel.h';
 
@@ -76,62 +79,119 @@
     close $fh;
 }
 
-$opt{VERSION} = "$opt{PERL_REVISION}.$opt{PERL_VERSION}.$opt{PERL_SUBVERSION}";
-$opt{INST_VER} =~ s|~VERSION~|$opt{VERSION}|g;
-$opt{'version_patchlevel_string'} = "version $opt{PERL_VERSION} subversion $opt{PERL_SUBVERSION}";
-$opt{'version_patchlevel_string'} .= " patch $opt{PERL_PATCHLEVEL}" if exists $opt{PERL_PATCHLEVEL};
+$opt{version} = "$opt{PERL_REVISION}.$opt{PERL_VERSION}.$opt{PERL_SUBVERSION}";
+$opt{version_patchlevel_string} = "version $opt{PERL_VERSION} subversion $opt{PERL_SUBVERSION}";
+$opt{version_patchlevel_string} .= " patch $opt{PERL_PATCHLEVEL}" if exists $opt{PERL_PATCHLEVEL};
 
 my $ver = `ver 2>nul`;
 if ($ver =~ /Version (\d+\.\d+)/) {
-    $opt{'osvers'} = $1;
+    $opt{osvers} = $1;
 }
 else {
-    $opt{'osvers'} = '4.0';
+    $opt{osvers} = '4.0';
 }
 
 if (exists $opt{cc}) {
-    # cl and bcc32 version detection borrowed from Test::Smoke's configsmoke.pl
+    # cl version detection borrowed from Test::Smoke's configsmoke.pl
     if ($opt{cc} eq 'cl') {
         my $output = `cl --version 2>&1`;
         $opt{ccversion} = $output =~ /^.*Version\s+([\d.]+)/ ? $1 : '?';
     }
-    elsif ($opt{cc} eq 'bcc32') {
-        my $output = `bcc32 --version 2>&1`;
-        $opt{ccversion} = $output =~ /([\d.]+)/ ? $1 : '?';
-    }
     elsif ($opt{cc} =~ /\bgcc\b/) {
         chomp($opt{gccversion} = `$opt{cc} -dumpversion`);
     }
 }
 
-$opt{'cf_by'} = $ENV{USERNAME} unless $opt{'cf_by'};
-$opt{'cf_email'} = $opt{'cf_by'} . '@' . (gethostbyname('localhost'))[0]
-	unless $opt{'cf_email'};
-$opt{'usemymalloc'} = 'y' if $opt{'d_mymalloc'} eq 'define';
+$opt{cf_by} = $ENV{USERNAME} unless $opt{cf_by};
+if (!$opt{cf_email}) {
+    my $computername = eval{(gethostbyname('localhost'))[0]};
+# gethostbyname might not be implemented in miniperl
+    $computername = $ENV{COMPUTERNAME} if $@;    
+    $opt{cf_email} = $opt{cf_by} . '@' . $computername;
+}
+$opt{usemymalloc} = 'y' if $opt{d_mymalloc} eq 'define';
 
 $opt{libpth} = mungepath($opt{libpth}) if exists $opt{libpth};
 $opt{incpath} = mungepath($opt{incpath}) if exists $opt{incpath};
 
-# some functions are not available on Win9x
-unless (defined $ENV{SYSTEMROOT}) { # SystemRoot has been introduced by WinNT
-    $opt{d_flock} = 'undef';
-    $opt{d_link} = 'undef';
+my($int64, $int64f);
+if ($opt{cc} eq 'cl') {
+    $int64  = '__int64';
+    $int64f = 'I64';
 }
+elsif ($opt{cc} =~ /\bgcc\b/) {
+    $int64  = 'long long';
+    $int64f = 'll';
+}
 
-# change the lseeksize and lseektype from their canned default values (which
-# are set-up for a non-uselargefiles build) if we are building with
-# uselargefiles. don't do this for bcc32: the code contains special handling
-# for bcc32 and the lseeksize and lseektype should not be changed.
-if ($opt{uselargefiles} eq 'define' and $opt{cc} ne 'bcc32') {
+# set large files options
+if ($opt{uselargefiles} eq 'define') {
     $opt{lseeksize} = 8;
-    if ($opt{cc} eq 'cl') {
-	$opt{lseektype} = '__int64';
-    }
-    elsif ($opt{cc} =~ /\bgcc\b/) {
-	$opt{lseektype} = 'long long';
-    }
+    $opt{lseektype} = $int64;
 }
+else {
+    $opt{lseeksize} = 4;
+    $opt{lseektype} = 'long';
+}
 
+# set 64-bit options
+if ($opt{WIN64} eq 'define') {
+    $opt{d_atoll} = 'define';
+    $opt{d_strtoll} = 'define';
+    $opt{d_strtoull} = 'define';
+    $opt{ptrsize} = 8;
+    $opt{sizesize} = 8;
+    $opt{ssizetype} = $int64;
+    $opt{st_ino_size} = 8;
+}
+else {
+    $opt{d_atoll} = 'undef';
+    $opt{d_strtoll} = 'undef';
+    $opt{d_strtoull} = 'undef';
+    $opt{ptrsize} = 4;
+    $opt{sizesize} = 4;
+    $opt{ssizetype} = 'int';
+    $opt{st_ino_size} = 4;
+}
+if ($opt{use64bitint} eq 'define') {
+    $opt{d_nv_preserves_uv} = 'undef';
+    $opt{ivdformat} = qq{"${int64f}d"};
+    $opt{ivsize} = 8;
+    $opt{ivtype} = $int64;
+    $opt{nv_preserves_uv_bits} = 53;
+    $opt{sPRIXU64} = qq{"${int64f}X"};
+    $opt{sPRId64} = qq{"${int64f}d"};
+    $opt{sPRIi64} = qq{"${int64f}i"};
+    $opt{sPRIo64} = qq{"${int64f}o"};
+    $opt{sPRIu64} = qq{"${int64f}u"};
+    $opt{sPRIx64} = qq{"${int64f}x"};
+    $opt{uvXUformat} = qq{"${int64f}X"};
+    $opt{uvoformat} = qq{"${int64f}o"};
+    $opt{uvsize} = 8;
+    $opt{uvtype} = qq{unsigned $int64};
+    $opt{uvuformat} = qq{"${int64f}u"};
+    $opt{uvxformat} = qq{"${int64f}x"};
+}
+else {
+    $opt{d_nv_preserves_uv} = 'define';
+    $opt{ivdformat} = '"ld"';
+    $opt{ivsize} = 4;
+    $opt{ivtype} = 'long';
+    $opt{nv_preserves_uv_bits} = 32;
+    $opt{sPRIXU64} = '"lX"';
+    $opt{sPRId64} = '"ld"';
+    $opt{sPRIi64} = '"li"';
+    $opt{sPRIo64} = '"lo"';
+    $opt{sPRIu64} = '"lu"';
+    $opt{sPRIx64} = '"lx"';
+    $opt{uvXUformat} = '"lX"';
+    $opt{uvoformat} = '"lo"';
+    $opt{uvsize} = 4;
+    $opt{uvtype} = 'unsigned long';
+    $opt{uvuformat} = '"lu"';
+    $opt{uvxformat} = '"lx"';
+}
+
 # change the s{GM|LOCAL}TIME_{min|max} for VS2005 (aka VC 8) and
 # VS2008 (aka VC 9) or higher (presuming that later versions will have
 # at least the range of that).
@@ -148,7 +208,7 @@
 }
 
 while (<>) {
-    s/~([\w_]+)~/$opt{$1}/g;
+    s/~([\w_]+)~/exists $opt{$1} ? $opt{$1} : ''/eg;
     if (/^([\w_]+)=(.*)$/) {
 	my($k,$v) = ($1,$2);
 	# this depends on cf_time being empty in the template (or we'll


Property changes on: vendor/perl/dist/win32/config_sh.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/create_perllibst_h.pl
===================================================================
--- vendor/perl/dist/win32/create_perllibst_h.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/create_perllibst_h.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/create_perllibst_h.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/distclean.bat
===================================================================
--- vendor/perl/dist/win32/distclean.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/distclean.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/distclean.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/fcrypt.c
===================================================================
--- vendor/perl/dist/win32/fcrypt.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/fcrypt.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,10 +9,6 @@
  * eay at psych.psy.uq.oz.au
  */
 
-#if defined(__BORLANDC__)
-#pragma warn -8004	/* "'foo' is assigned a value that is never used" */
-#endif
-
 typedef unsigned char des_cblock[8];
 
 typedef struct des_ks_struct
@@ -340,10 +336,10 @@
 static int
 des_set_key(des_cblock *key, des_key_schedule schedule)
 	{
-	register unsigned long c,d,t,s;
-	register unsigned char *in;
-	register unsigned long *k;
-	register int i;
+	unsigned long c,d,t,s;
+	unsigned char *in;
+	unsigned long *k;
+	int i;
 
 	k=(unsigned long *)schedule;
 	in=(unsigned char *)key;
@@ -537,13 +533,13 @@
 	unsigned long Eswap0,
 	unsigned long Eswap1)
 	{
-	register unsigned long l,r,t,u,v;
+	unsigned long l,r,t,u,v;
 #ifdef ALT_ECB
-	register unsigned char *des_SP=(unsigned char *)SPtrans;
+	unsigned char *des_SP=(unsigned char *)SPtrans;
 #endif
-	register unsigned long *s;
-	register int i,j;
-	register unsigned long E0,E1;
+	unsigned long *s;
+	int i,j;
+	unsigned long E0,E1;
 
 	l=0;
 	r=0;


Property changes on: vendor/perl/dist/win32/fcrypt.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/genmk95.pl
===================================================================
--- vendor/perl/dist/win32/genmk95.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/genmk95.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/genmk95.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/include/arpa/inet.h
===================================================================
--- vendor/perl/dist/win32/include/arpa/inet.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/include/arpa/inet.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/include/arpa/inet.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/include/dirent.h
===================================================================
--- vendor/perl/dist/win32/include/dirent.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/include/dirent.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/include/dirent.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/include/netdb.h
===================================================================
--- vendor/perl/dist/win32/include/netdb.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/include/netdb.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/include/netdb.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/include/sys/socket.h
===================================================================
--- vendor/perl/dist/win32/include/sys/socket.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/include/sys/socket.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -30,11 +30,17 @@
 #    include <ws2tcpip.h>
 
 #    ifndef SIO_GET_INTERFACE_LIST_EX
+
+#      ifndef MSG_WAITALL
+#        define MSG_WAITALL     0x8
+#      endif
+
        /* The ws2tcpip.h header included in VC6 doesn't define the
         * sin6_scope_id member of sockaddr_in6.  We define our own
         * version and redefine sockaddr_in6 to point to this one
         * instead for compiling e.g. Socket.xs.
         */
+
        struct my_sockaddr_in6 {
            short   sin6_family;        /* AF_INET6 */
            u_short sin6_port;          /* Transport level port number */
@@ -71,11 +77,106 @@
 (x)->sin6_scope_id = 0; \
 }
 
+#      ifndef IPV6_HDRINCL
+#        define IPV6_HDRINCL            2
+#      endif
+#      ifndef IPV6_UNICAST_HOPS
+#        define IPV6_UNICAST_HOPS       4
+#      endif
+#      ifndef IPV6_MULTICAST_IF
+#        define IPV6_MULTICAST_IF       9
+#      endif
+#      ifndef IPV6_MULTICAST_HOPS
+#        define IPV6_MULTICAST_HOPS     10
+#      endif
+#      ifndef IPV6_MULTICAST_LOOP
+#        define IPV6_MULTICAST_LOOP     11
+#      endif
+#      ifndef IPV6_ADD_MEMBERSHIP
+#        define IPV6_ADD_MEMBERSHIP     12
+#      endif
+#      ifndef IPV6_DROP_MEMBERSHIP
+#        define IPV6_DROP_MEMBERSHIP    13
+#      endif
+#      ifndef IPV6_JOIN_GROUP
+#        define IPV6_JOIN_GROUP         IPV6_ADD_MEMBERSHIP
+#      endif
+#      ifndef IPV6_LEAVE_GROUP
+#        define IPV6_LEAVE_GROUP        IPV6_DROP_MEMBERSHIP
+#      endif
+#      ifndef IPV6_PKTINFO
+#        define IPV6_PKTINFO            19
+#      endif
+#      ifndef IPV6_HOPLIMIT
+#        define IPV6_HOPLIMIT           21
+#      endif
+#      ifndef IPV6_PROTECTION_LEVEL
+#        define IPV6_PROTECTION_LEVEL   23
+#      endif
+
+       /* The ws2tcpip.h header included in MinGW includes ipv6_mreq already */
+#      ifndef __GNUC__
+         typedef struct ipv6_mreq {
+             struct in_addr6 ipv6mr_multiaddr;
+             unsigned int    ipv6mr_interface;
+         } IPV6_MREQ;
+#      endif
+
+#      ifndef EAI_AGAIN
+#        define EAI_AGAIN       WSATRY_AGAIN
+#      endif
+#      ifndef EAI_BADFLAGS
+#        define EAI_BADFLAGS    WSAEINVAL
+#      endif
+#      ifndef EAI_FAIL
+#        define EAI_FAIL        WSANO_RECOVERY
+#      endif
+#      ifndef EAI_FAMILY
+#        define EAI_FAMILY      WSAEAFNOSUPPORT
+#      endif
+#      ifndef EAI_MEMORY
+#        define EAI_MEMORY      WSA_NOT_ENOUGH_MEMORY
+#      endif
+#      ifndef EAI_NODATA
+#        define EAI_NODATA      WSANO_DATA
+#      endif
+#      ifndef EAI_NONAME
+#        define EAI_NONAME      WSAHOST_NOT_FOUND
+#      endif
+#      ifndef EAI_SERVICE
+#        define EAI_SERVICE     WSATYPE_NOT_FOUND
+#      endif
+#      ifndef EAI_SOCKTYPE
+#        define EAI_SOCKTYPE    WSAESOCKTNOSUPPORT
+#      endif
+
+#      ifndef NI_NOFQDN
+#        define NI_NOFQDN       0x01
+#      endif
+#      ifndef NI_NUMERICHOST
+#        define NI_NUMERICHOST  0x02
+#      endif
+#      ifndef NI_NAMEREQD
+#        define NI_NAMEREQD     0x04
+#      endif
+#      ifndef NI_NUMERICSERV
+#        define NI_NUMERICSERV  0x08
+#      endif
+#      ifndef NI_DGRAM
+#        define NI_DGRAM        0x10
+#      endif
+
 #    endif
 
 #  endif
 #endif
 
+/* Early Platform SDKs have an incorrect definition of EAI_NODATA */
+#if (EAI_NODATA == EAI_NONAME)
+#  undef EAI_NODATA
+#  define EAI_NODATA WSANO_DATA
+#endif
+
 #include "win32.h"
 
 #ifdef __cplusplus
@@ -94,8 +195,6 @@
 #undef EAFNOSUPPORT
 #define EAFNOSUPPORT WSAEAFNOSUPPORT
 
-#ifdef USE_SOCKETS_AS_HANDLES
-
 #ifndef PERL_FD_SETSIZE
 #define PERL_FD_SETSIZE		64
 #endif
@@ -120,16 +219,6 @@
 #define PERL_FD_ISSET(n,p) \
     ((p)->bits[(n)/PERL_NFDBITS] &   ((unsigned)1 << ((n)%PERL_NFDBITS)))
 
-#else	/* USE_SOCKETS_AS_HANDLES */
-
-#define Perl_fd_set	fd_set
-#define PERL_FD_SET(n,p)	FD_SET(n,p)
-#define PERL_FD_CLR(n,p)	FD_CLR(n,p)
-#define PERL_FD_ISSET(n,p)	FD_ISSET(n,p)
-#define PERL_FD_ZERO(p)		FD_ZERO(p)
-
-#endif	/* USE_SOCKETS_AS_HANDLES */
-
 SOCKET win32_accept (SOCKET s, struct sockaddr *addr, int *addrlen);
 int win32_bind (SOCKET s, const struct sockaddr *addr, int namelen);
 int win32_closesocket (SOCKET s);
@@ -230,7 +319,6 @@
 #define setprotoent	win32_setprotoent
 #define setservent	win32_setservent
 
-#ifdef USE_SOCKETS_AS_HANDLES
 #undef fd_set
 #undef FD_SET
 #undef FD_CLR
@@ -241,7 +329,6 @@
 #define FD_CLR(n,p)	PERL_FD_CLR(n,p)
 #define FD_ISSET(n,p)	PERL_FD_ISSET(n,p)
 #define FD_ZERO(p)	PERL_FD_ZERO(p)
-#endif	/* USE_SOCKETS_AS_HANDLES */
 
 #endif	/* WIN32SCK_IS_STDSCK */
 


Property changes on: vendor/perl/dist/win32/include/sys/socket.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/list_static_libs.pl
===================================================================
--- vendor/perl/dist/win32/list_static_libs.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/list_static_libs.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/list_static_libs.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/makefile.mk
===================================================================
--- vendor/perl/dist/win32/makefile.mk	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/makefile.mk	2013-12-01 21:45:02 UTC (rev 6430)
@@ -2,12 +2,11 @@
 # Makefile to build perl on Windows using DMAKE.
 # Supported compilers:
 #	Microsoft Visual C++ 6.0 or later
-#	Borland C++ 5.02 or later
 #	MinGW with gcc-3.2 or later
 #	Windows SDK 64-bit compiler and tools
 #
 # This is set up to build a perl.exe that runs off a shared library
-# (perl514.dll).  Also makes individual DLLs for the XS extensions.
+# (perl518.dll).  Also makes individual DLLs for the XS extensions.
 #
 
 ##
@@ -39,7 +38,7 @@
 # versioned installation can be obtained by setting INST_TOP above to a
 # path that includes an arbitrary version string.
 #
-#INST_VER	*= \5.14.0
+#INST_VER	*= \5.18.1
 
 #
 # Comment this out if you DON'T want your perl installation to have
@@ -95,46 +94,42 @@
 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.)
+#USE_64_BIT_INT	*= define
+
+#
 # uncomment exactly one of the following
 #
 # Visual C++ 6.x (aka Visual C++ 98)
 #CCTYPE		*= MSVC60
+# Visual C++ .NET 2002/2003 (aka Visual C++ 7.x) (full version)
+#CCTYPE		*= MSVC70
 # Visual C++ Toolkit 2003 (aka Visual C++ 7.x) (free command-line tools)
 #CCTYPE		*= MSVC70FREE
-# Visual C++ .NET 2003 (aka Visual C++ 7.x) (full version)
-#CCTYPE		*= MSVC70
 # Windows Server 2003 SP1 Platform SDK (April 2005)
 #CCTYPE		= SDK2003SP1
+# Visual C++ 2005 (aka Visual C++ 8.x) (full version)
+#CCTYPE		*= MSVC80
 # Visual C++ 2005 Express Edition (aka Visual C++ 8.x) (free version)
 #CCTYPE		*= MSVC80FREE
-# Visual C++ 2005 (aka Visual C++ 8.x) (full version)
-#CCTYPE		*= MSVC80
+# Visual C++ 2008 (aka Visual C++ 9.x) (full version)
+#CCTYPE		*= MSVC90
 # Visual C++ 2008 Express Edition (aka Visual C++ 9.x) (free version)
 #CCTYPE		*= MSVC90FREE
-# Visual C++ 2008 (aka Visual C++ 9.x) (full version)
-#CCTYPE		*= MSVC90
+# Visual C++ 2010 (aka Visual C++ 10.x) (full version)
+#CCTYPE		= MSVC100
 # Visual C++ 2010 Express Edition (aka Visual C++ 10.x) (free version)
 #CCTYPE		= MSVC100FREE
-# Visual C++ 2010 (aka Visual C++ 10.x) (full version)
-#CCTYPE		= MSVC100
-# Borland 5.02 or later
-#CCTYPE		*= BORLAND
+# Visual C++ 2012 (aka Visual C++ 11.x) (full version)
+#CCTYPE		= MSVC110
+# Visual C++ 2012 Express Edition (aka Visual C++ 11.x) (free version)
+#CCTYPE		= MSVC110FREE
 # MinGW or mingw-w64 with gcc-3.2 or later
 CCTYPE		*= GCC
 
 #
-# uncomment this if your Borland compiler is older than v5.4.
-#BCCOLD		*= define
-#
-# uncomment this if you want to use Borland's VCL as your CRT
-#BCCVCL		*= define
-
-#
-# uncomment this if you are compiling under Windows 95/98 and command.com
-# (not needed if you're running under 4DOS/NT 6.01 or later)
-#IS_WIN95	*= 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.
@@ -170,7 +165,7 @@
 # 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 perl514s.lib will also be created.
+# variables below. A static library perl518s.lib will also be created.
 # Ordinary perl.exe is not affected by this option.
 #
 #BUILD_STATIC	*= define
@@ -191,9 +186,7 @@
 # so you may have to set CCHOME explicitly (spaces in the path name should
 # not be quoted)
 #
-.IF "$(CCTYPE)" == "BORLAND"
-CCHOME		*= C:\Borland\BCC55
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 CCHOME		*= C:\MinGW
 .ELSE
 CCHOME		*= $(MSVCDIR)
@@ -200,22 +193,6 @@
 .ENDIF
 
 #
-# If building with gcc-4.x.x (or x86_64-w64-mingw32-gcc-4.x.x), then
-# uncomment  the following assignment to GCC_4XX, make sure that CCHOME
-# has been set correctly above, and uncomment the appropriate
-# GCCHELPERDLL line.
-# The name of the dll can change, depending upon which vendor has supplied
-# your 4.x.x compiler, and upon the values of "x".
-# (The dll will be in your mingw/bin folder, so check there if you're
-# unsure about the correct name.)
-# Without these corrections, the op/taint.t test script will fail.
-#
-#GCC_4XX		*= define
-#GCCHELPERDLL	*= $(CCHOME)\bin\libgcc_s_sjlj-1.dll
-#GCCHELPERDLL	*= $(CCHOME)\bin\libgcc_s_dw2-1.dll
-#GCCHELPERDLL	*= $(CCHOME)\bin\libgcc_s_1.dll
-
-#
 # uncomment this if you are using x86_64-w64-mingw32 cross-compiler
 # ie if your gcc executable is called 'x86_64-w64-mingw32-gcc'
 # instead of the usual 'gcc'.
@@ -227,11 +204,13 @@
 #
 
 .IF "$(GCCCROSS)" == "define"
-CCINCDIR *= $(CCHOME)\mingw\include
-CCLIBDIR *= $(CCHOME)\mingw\lib
+CCINCDIR *= $(CCHOME)\x86_64-w64-mingw32\include
+CCLIBDIR *= $(CCHOME)\x86_64-w64-mingw32\lib
+CCDLLDIR *= $(CCLIBDIR)
 .ELSE
 CCINCDIR *= $(CCHOME)\include
 CCLIBDIR *= $(CCHOME)\lib
+CCDLLDIR *= $(CCHOME)\bin
 .ENDIF
 
 #
@@ -290,6 +269,7 @@
 USE_IMP_SYS	*= undef
 USE_PERLIO	*= undef
 USE_LARGE_FILES	*= undef
+USE_64_BIT_INT	*= undef
 
 .IF "$(USE_IMP_SYS)" == "define"
 PERL_MALLOC	= undef
@@ -323,7 +303,7 @@
 BUILDOPT	+= -DPERL_IMPLICIT_SYS
 .ENDIF
 
-.IMPORT .IGNORE : PROCESSOR_ARCHITECTURE PROCESSOR_ARCHITEW6432 WIN64
+.IMPORT .IGNORE : PROCESSOR_ARCHITECTURE PROCESSOR_ARCHITEW6432 WIN64 CCHOME
 
 PROCESSOR_ARCHITECTURE *= x86
 
@@ -341,6 +321,10 @@
 .ENDIF
 .ENDIF
 
+.IF "$(WIN64)" == "define"
+USE_64_BIT_INT	= define
+.ENDIF
+
 # Treat 64-bit MSVC60 (doesn't really exist) as SDK2003SP1 because
 # both link against MSVCRT.dll (which is part of Windows itself) and
 # not against a compiler specific versioned runtime.
@@ -366,31 +350,20 @@
 .ENDIF
 .ENDIF
 
+.IF "$(USE_PERLIO)" == "define"
+BUILDOPT       += -DUSE_PERLIO
+.ENDIF
+
 .IF "$(USE_ITHREADS)" == "define"
 ARCHNAME	!:= $(ARCHNAME)-thread
 .ENDIF
 
-# Visual C++ 98, .NET 2003, 2005/2008/2010 specific.
-# VC++ 6/7/8/9/10.x can load DLLs on demand.  Makes the test suite run
-# in about 10% less time.  (The free version of 7.x can't do this, but the free
-# versions of 8/9/10.x can.)
-.IF "$(CCTYPE)" == "MSVC60" || "$(CCTYPE)" == "MSVC70"     || \
-    "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \
-    "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE" || \
-    "$(CCTYPE)" == "MSVC100" || "$(CCTYPE)" == "MSVC100FREE"
-DELAYLOAD	*= -DELAYLOAD:ws2_32.dll delayimp.lib
+.IF "$(WIN64)" != "define"
+.IF "$(USE_64_BIT_INT)" == "define"
+ARCHNAME	!:= $(ARCHNAME)-64int
 .ENDIF
+.ENDIF
 
-# Visual C++ 2005 and 2008 (VC++ 8.x and 9.x) create manifest files for EXEs and
-# DLLs. These either need copying everywhere with the binaries, or else need
-# embedding in them otherwise MSVCR80.dll or MSVCR90.dll won't be found. For
-# simplicity, embed them if they exist (and delete them afterwards so that they
-# don't get installed too).
-EMBED_EXE_MANI	= if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 && \
-		  if exist $@.manifest del $@.manifest
-EMBED_DLL_MANI	= if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
-		  if exist $@.manifest del $@.manifest
-
 ARCHDIR		= ..\lib\$(ARCHNAME)
 COREDIR		= ..\lib\CORE
 AUTODIR		= ..\lib\auto
@@ -416,66 +389,8 @@
 
 .USESHELL :
 
-.IF "$(CCTYPE)" == "BORLAND"
+.IF "$(CCTYPE)" == "GCC"
 
-CC		= bcc32
-.IF "$(BCCOLD)" != "define"
-LINK32		= ilink32
-.ELSE
-LINK32		= tlink32
-.ENDIF
-LIB32		= tlib /a /P128
-IMPLIB		= implib -c
-RSC		= brcc32
-
-#
-# Options
-#
-INCLUDES	= -I$(COREDIR) -I.\include -I. -I.. -I"$(CCINCDIR)"
-#PCHFLAGS	= -H -Hc -H=c:\temp\bcmoduls.pch
-DEFINES		= -DWIN32
-LOCDEFS		= -DPERLDLL -DPERL_CORE
-SUBSYS		= console
-CXX_FLAG	= -P
-
-LIBC		= cw32mti.lib
-
-# same libs as MSVC, except Borland doesn't have oldnames.lib
-LIBFILES	= \
-		kernel32.lib user32.lib gdi32.lib winspool.lib \
-		comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \
-		netapi32.lib uuid.lib ws2_32.lib mpr.lib winmm.lib \
-		version.lib odbc32.lib odbccp32.lib comctl32.lib \
-		import32.lib $(LIBC)
-
-.IF  "$(CFG)" == "Debug"
-OPTIMIZE	= -v -D_RTLDLL -DDEBUGGING
-LINK_DBG	= -v
-.ELSE
-OPTIMIZE	= -O2 -D_RTLDLL
-LINK_DBG	=
-.ENDIF
-
-EXTRACFLAGS	=
-CFLAGS		= -w -g0 -tWM -tWD $(INCLUDES) $(DEFINES) $(LOCDEFS) \
-		$(PCHFLAGS) $(OPTIMIZE)
-LINK_FLAGS	= $(LINK_DBG) -x -L"$(INST_COREDIR)" -L"$(CCLIBDIR)" \
-		-L"$(CCLIBDIR)\PSDK"
-OBJOUT_FLAG	= -o
-EXEOUT_FLAG	= -e
-LIBOUT_FLAG	=
-.IF "$(BCCOLD)" != "define"
-LINK_FLAGS	+= -Gn
-DEFINES  += -D_MT -D__USELOCALES__ -D_WIN32_WINNT=0x0410
-.END
-.IF "$(BCCVCL)" == "define"
-LIBC		= cp32mti.lib vcl.lib vcl50.lib vclx50.lib vcle50.lib
-LINK_FLAGS	+= -L"$(CCLIBDIR)\Release"
-.END
-
-
-.ELIF "$(CCTYPE)" == "GCC"
-
 .IF "$(GCCCROSS)" == "define"
 ARCHPREFIX      = x86_64-w64-mingw32-
 .ENDIF
@@ -524,7 +439,7 @@
 .ENDIF
 
 EXTRACFLAGS	=
-CFLAGS		= $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE)
+CFLAGS		= $(EXTRACFLAGS) $(INCLUDES) $(DEFINES) $(LOCDEFS) $(OPTIMIZE)
 LINK_FLAGS	= $(LINK_DBG) -L"$(INST_COREDIR)" -L"$(CCLIBDIR)"
 OBJOUT_FLAG	= -o
 EXEOUT_FLAG	= -o
@@ -534,6 +449,31 @@
 
 .ELSE
 
+# All but the free version of VC++ 7.x can load DLLs on demand.  Makes the test
+# suite run in about 10% less time.
+.IF "$(CCTYPE)" != "MSVC70FREE"
+DELAYLOAD	= -DELAYLOAD:ws2_32.dll delayimp.lib
+.ENDIF
+
+# Visual C++ 2005 and 2008 (VC++ 8.x and 9.x) create manifest files for EXEs and
+# DLLs. These either need copying everywhere with the binaries, or else need
+# embedding in them otherwise MSVCR80.dll or MSVCR90.dll won't be found. For
+# simplicity, embed them if they exist (and delete them afterwards so that they
+# don't get installed too).
+EMBED_EXE_MANI	= if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;1 && \
+		  if exist $@.manifest del $@.manifest
+EMBED_DLL_MANI	= if exist $@.manifest mt -nologo -manifest $@.manifest -outputresource:$@;2 && \
+		  if exist $@.manifest del $@.manifest
+
+# Most relevant compiler-specific options fall into two groups:
+# either pre-MSVC80 or MSVC80 onwards, so define a macro for this.
+.IF "$(CCTYPE)" == "MSVC60" || \
+    "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC70FREE"
+PREMSVC80	= define
+.ELSE
+PREMSVC80	= undef
+.ENDIF
+
 CC		= cl
 LINK32		= link
 LIB32		= $(LINK32) -lib
@@ -556,7 +496,8 @@
 OPTIMIZE	= -Od -MD -Zi -DDEBUGGING
 LINK_DBG	= -debug
 .ELSE
-OPTIMIZE	= -MD -Zi -DNDEBUG
+# -O1 yields smaller code, which turns out to be faster than -O2 on x86 and x64
+OPTIMIZE	= -O1 -MD -Zi -DNDEBUG
 # we enable debug symbols in release builds also
 LINK_DBG	= -debug -opt:ref,icf
 # you may want to enable this if you want COFF symbols in the executables
@@ -567,12 +508,8 @@
 #LINK_DBG	= $(LINK_DBG) -debugtype:both
 .IF "$(WIN64)" == "define"
 # enable Whole Program Optimizations (WPO) and Link Time Code Generation (LTCG)
-OPTIMIZE	+= -Ox -GL
+OPTIMIZE	+= -GL
 LINK_DBG	+= -ltcg
-.ELSE
-# -O1 yields smaller code, which turns out to be faster than -O2 on x86
-OPTIMIZE	+= -O1
-#OPTIMIZE	+= -O2
 .ENDIF
 .ENDIF
 
@@ -581,11 +518,9 @@
 OPTIMIZE	+= -fp:precise
 .ENDIF
 
-# For now, silence VC++ 8/9/10.x's warnings about "unsafe" CRT functions
+# For now, silence warnings from VC++ 8.x onwards about "unsafe" CRT functions
 # and POSIX CRT function names being deprecated.
-.IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \
-    "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE" || \
-    "$(CCTYPE)" == "MSVC100" || "$(CCTYPE)" == "MSVC100FREE"
+.IF "$(PREMSVC80)" == "undef"
 DEFINES		+= -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
 .ENDIF
 
@@ -598,8 +533,7 @@
 # Perl itself with e.g. VC6 but later installs an XS module using VC8
 # the time_t types will still be compatible.
 .IF "$(WIN64)" == "undef"
-.IF "$(CCTYPE)" == "MSVC60" || \
-    "$(CCTYPE)" == "MSVC70" || "$(CCTYPE)" == "MSVC70FREE"
+.IF "$(PREMSVC80)" == "define"
 BUILDOPT	+= -D_USE_32BIT_TIME_T
 .ENDIF
 .ENDIF
@@ -635,9 +569,7 @@
 
 CFLAGS_O	= $(CFLAGS) $(BUILDOPT)
 
-.IF "$(CCTYPE)" == "MSVC80" || "$(CCTYPE)" == "MSVC80FREE" || \
-    "$(CCTYPE)" == "MSVC90" || "$(CCTYPE)" == "MSVC90FREE" || \
-    "$(CCTYPE)" == "MSVC100" || "$(CCTYPE)" == "MSVC100FREE"
+.IF "$(PREMSVC80)" == "undef"
 LINK_FLAGS	+= "/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"
 .ELSE
 RSC_FLAGS	= -DINCLUDE_MANIFEST
@@ -686,10 +618,7 @@
 	$(NOOP)
 
 $(o).dll:
-.IF "$(CCTYPE)" == "BORLAND"
-	$(LINK32) -Tpd -ap $(BLINK_FLAGS) c0d32$(o) $<,$@,,$(LIBFILES),$(*B).def
-	$(IMPLIB) $(*B).lib $@
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 	$(LINK32) -o $@ $(BLINK_FLAGS) $< $(LIBFILES)
 	$(IMPLIB) --input-def $(*B).def --output-lib $(*B).a $@
 .ELSE
@@ -726,6 +655,7 @@
 # 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
@@ -745,12 +675,10 @@
 
 
 PL2BAT		= bin\pl2bat.pl
-GLOBBAT		= bin\perlglob.bat
 
 UTILS		=			\
 		..\utils\h2ph		\
 		..\utils\splain		\
-		..\utils\dprofpp	\
 		..\utils\perlbug	\
 		..\utils\pl2pm 		\
 		..\utils\c2ph		\
@@ -765,10 +693,12 @@
 		..\utils\corelist	\
 		..\utils\cpan		\
 		..\utils\xsubpp		\
+		..\utils\pod2html	\
 		..\utils\prove		\
 		..\utils\ptar		\
 		..\utils\ptardiff	\
 		..\utils\ptargrep	\
+		..\utils\zipdetails	\
 		..\utils\cpanp-run-perl	\
 		..\utils\cpanp	\
 		..\utils\cpan2dist	\
@@ -784,45 +714,29 @@
 		bin\perlglob.pl		\
 		bin\search.pl
 
-.IF "$(CCTYPE)" == "BORLAND"
+.IF "$(CCTYPE)" == "GCC"
 
-CFGSH_TMPL	= config.bc
-CFGH_TMPL	= config_H.bc
-
-.ELIF "$(CCTYPE)" == "GCC"
-
-.IF "$(WIN64)" == "define"
-.IF "$(GCCCROSS)" == "define"
-CFGSH_TMPL	= config.gc64
-CFGH_TMPL	= config_H.gc64
-.ELSE
-CFGSH_TMPL	= config.gc64nox
-CFGH_TMPL	= config_H.gc64nox
-.ENDIF
-.ELSE
 CFGSH_TMPL	= config.gc
 CFGH_TMPL	= config_H.gc
-.ENDIF
-PERLIMPLIB	= ..\libperl514$(a)
-PERLSTATICLIB	= ..\libperl514s$(a)
+PERLIMPLIB	= ..\libperl518$(a)
+PERLSTATICLIB	= ..\libperl518s$(a)
+INT64		= long long
+INT64f		= ll
 
 .ELSE
 
-.IF "$(WIN64)" == "define"
-CFGSH_TMPL	= config.vc64
-CFGH_TMPL	= config_H.vc64
-.ELSE
 CFGSH_TMPL	= config.vc
 CFGH_TMPL	= config_H.vc
-.ENDIF
+INT64		= __int64
+INT64f		= I64
 
 .ENDIF
 
 # 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	*= ..\perl514$(a)
-PERLSTATICLIB	*= ..\perl514s$(a)
-PERLDLL		= ..\perl514.dll
+PERLIMPLIB	*= ..\perl518$(a)
+PERLSTATICLIB	*= ..\perl518s$(a)
+PERLDLL		= ..\perl518.dll
 
 XCOPY		= xcopy /f /r /i /d /y
 RCOPY		= xcopy /f /r /i /e /d /y
@@ -937,6 +851,8 @@
 
 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:db:+$(o))
 CORE_OBJ	= $(MICROCORE_OBJ) $(EXTRACORE_SRC:db:+$(o))
@@ -977,7 +893,6 @@
 # trying to fit them all on the command line)
 #	-- BKS 10-17-1999
 CFG_VARS	=					\
-		INST_DRV=$(INST_DRV)		~	\
 		INST_TOP=$(INST_TOP)	~	\
 		INST_VER=$(INST_VER)	~	\
 		INST_ARCH=$(INST_ARCH)		~	\
@@ -1002,34 +917,14 @@
 		useithreads=$(USE_ITHREADS)	~	\
 		usemultiplicity=$(USE_MULTI)	~	\
 		useperlio=$(USE_PERLIO)		~	\
+		use64bitint=$(USE_64_BIT_INT)	~	\
 		uselargefiles=$(USE_LARGE_FILES)	~	\
 		usesitecustomize=$(USE_SITECUST)	~	\
 		LINK_FLAGS=$(LINK_FLAGS)	~	\
-		optimize=$(OPTIMIZE)
+		optimize=$(OPTIMIZE)	~	\
+		ARCHPREFIX=$(ARCHPREFIX)	~	\
+		WIN64=$(WIN64)
 
-#
-# set up targets varying between Win95 and WinNT builds
-#
-
-.IF "$(IS_WIN95)" == "define"
-MK2 		= .\makefile.95
-RIGHTMAKE	= __switch_makefiles
-.ELSE
-MK2		= __not_needed
-RIGHTMAKE	=
-.ENDIF
-
-.IMPORT .IGNORE : SystemRoot windir
-
-# Don't just .IMPORT OS from the environment because dmake sets OS itself.
-ENV_OS=$(subst,OS=, $(shell @set OS))
-
-.IF "$(ENV_OS)" == "Windows_NT"
-ODBCCP32_DLL = $(SystemRoot)\system32\odbccp32.dll
-.ELSE
-ODBCCP32_DLL = $(windir)\system\odbccp32.dll
-.ENDIF
-
 ICWD = -I..\dist\Cwd -I..\dist\Cwd\lib
 
 #
@@ -1036,8 +931,8 @@
 # Top targets
 #
 
-all : CHECKDMAKE .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) $(MK2)	\
-	$(RIGHTMAKE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) MakePPPort		\
+all : CHECKDMAKE .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL)	\
+	$(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) MakePPPort		\
 	$(PERLEXE) $(X2P) Extensions Extensions_nonxs $(PERLSTATIC)
 
 regnodes : ..\regnodes.h
@@ -1046,8 +941,8 @@
 
 ..\regexec$(o) : ..\regnodes.h ..\regcharclass.h
 
-reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL) $(MK2)	\
-	$(RIGHTMAKE) $(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE)		\
+reonly : regnodes .\config.h ..\git_version.h $(GLOBEXE) $(MINIPERL)	\
+	$(MINIMOD) $(CONFIGPM) $(UNIDATAFILES) $(PERLEXE)		\
 	$(X2P) Extensions_reonly
 
 static: $(PERLEXESTATIC)
@@ -1054,52 +949,6 @@
 
 #----------------------------------------------------------------
 
-#-------------------- BEGIN Win95 SPECIFIC ----------------------
-
-# this target is a jump-off point for Win95
-#  1. it switches to the Win95-specific makefile if it exists
-#     (__do_switch_makefiles)
-#  2. it prints a message when the Win95-specific one finishes (__done)
-#  3. it then kills this makefile by trying to make __no_such_target
-
-__switch_makefiles: __do_switch_makefiles __done __no_such_target
-
-__do_switch_makefiles:
-.IF "$(NOTFIRST)" != "true"
-	if exist $(MK2) $(MAKE:s/-S//) -f $(MK2) $(MAKETARGETS) NOTFIRST=true
-.ELSE
-	$(NOOP)
-.ENDIF
-
-.IF "$(NOTFIRST)" != "true"
-__done:
-	@echo Build process complete. Ignore any errors after this message.
-	@echo Run "dmake test" to test and "dmake install" to install
-
-.ELSE
-# dummy targets for Win95-specific makefile
-
-__done:
-	$(NOOP)
-
-__no_such_target:
-	$(NOOP)
-
-.ENDIF
-
-# This target is used to generate the new makefile (.\makefile.95) for Win95
-
-.\makefile.95: .\makefile.mk
-	$(MINIPERL) genmk95.pl makefile.mk $(MK2)
-
-#--------------------- END Win95 SPECIFIC ---------------------
-
-# a blank target for when builds don't need to do certain things
-# this target added for Win95 port but used to keep the WinNT port able to
-# use this file
-__not_needed:
-	$(NOOP)
-
 CHECKDMAKE :
 .IF "$(NEWDMAKE)" == "define"
 	$(NOOP)
@@ -1110,11 +959,7 @@
 .ENDIF
 
 $(GLOBEXE) : perlglob$(o)
-.IF "$(CCTYPE)" == "BORLAND"
-	$(CC) -c -w -v -tWM -I"$(CCINCDIR)" perlglob.c
-	$(LINK32) -Tpe -ap $(BLINK_FLAGS) c0x32$(o) perlglob$(o) \
-	    "$(CCLIBDIR)\32BIT\wildargs$(o)",$@,,import32.lib cw32mt.lib,
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 	$(LINK32) $(BLINK_FLAGS) -mconsole -o $@ perlglob$(o) $(LIBFILES)
 .ELSE
 	$(LINK32) $(BLINK_FLAGS) $(LIBFILES) -out:$@ -subsystem:$(SUBSYS) \
@@ -1127,9 +972,82 @@
 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 PTRSIZE>>$@
+	@echo #undef SSize_t>>$@
+	@echo #undef HAS_ATOLL>>$@
+	@echo #undef HAS_STRTOLL>>$@
+	@echo #undef HAS_STRTOULL>>$@
+	@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 Size_t_size>>$@
+.IF "$(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
+.IF "$(USE_64_BIT_INT)"=="define"
+	@echo #define IVTYPE $(INT64)>>$@
+	@echo #define UVTYPE unsigned $(INT64)>>$@
+	@echo #define IVSIZE ^8>>$@
+	@echo #define UVSIZE ^8>>$@
+	@echo #undef NV_PRESERVES_UV>>$@
+	@echo #define NV_PRESERVES_UV_BITS 53>>$@
+	@echo #define IVdf "$(INT64f)d">>$@
+	@echo #define UVuf "$(INT64f)u">>$@
+	@echo #define UVof "$(INT64f)o">>$@
+	@echo #define UVxf "$(INT64f)x">>$@
+	@echo #define UVXf "$(INT64f)X">>$@
+	@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
+	@echo #endif>>$@
 
 ..\git_version.h : $(MINIPERL) ..\make_patchnum.pl
 	cd .. && miniperl -Ilib make_patchnum.pl
@@ -1141,20 +1059,16 @@
 	$(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file \
 	    $(mktmp $(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, PERLIO and CRYPT off), then make
+# 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.
-# unfortunately, some further manual editing is also then required to restore all
-# the special _MSC_VER handling that is otherwise lost.
-# repeat for config.bc and config_H.bc (using BORLAND), except that there is no
-# _MSC_VER stuff in that case.
 regen_config_h:
 	$(MINIPERL) -I..\lib config_sh.PL --cfgsh-option-file $(mktmp $(CFG_VARS)) \
 	    $(CFGSH_TMPL) > ..\config.sh
 	$(MINIPERL) -I..\lib ..\configpm --chdir=..
 	-del /f $(CFGH_TMPL)
-	-$(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)"
+	-$(MINIPERL) -I..\lib $(ICWD) config_h.PL "ARCHPREFIX=$(ARCHPREFIX)"
 	rename config.h $(CFGH_TMPL)
 
 $(CONFIGPM) : $(MINIPERL) ..\config.sh config_h.PL ..\minimod.pl
@@ -1163,7 +1077,7 @@
 	$(XCOPY) ..\*.h $(COREDIR)\*.*
 	$(XCOPY) *.h $(COREDIR)\*.*
 	$(RCOPY) include $(COREDIR)\*.*
-	$(MINIPERL) -I..\lib $(ICWD) config_h.PL "INST_VER=$(INST_VER)" \
+	$(MINIPERL) -I..\lib $(ICWD) config_h.PL "ARCHPREFIX=$(ARCHPREFIX)" \
 	    || $(MAKE) $(MAKEMACROS) $(CONFIGPM) $(MAKEFILE)
 
 ..\lib\buildcustomize.pl: $(MINIPERL) ..\write_buildcustomize.pl
@@ -1171,17 +1085,12 @@
 
 
 $(MINIPERL) : $(MINIDIR) $(MINI_OBJ) $(CRTIPMLIBS)
-.IF "$(CCTYPE)" == "BORLAND"
-	if not exist $(CCLIBDIR)\PSDK\odbccp32.lib \
-	    cd $(CCLIBDIR)\PSDK && implib odbccp32.lib $(ODBCCP32_DLL)
-	$(LINK32) -Tpe -ap $(BLINK_FLAGS) \
-	    @$(mktmp c0x32$(o) $(MINI_OBJ),$@,,$(LIBFILES),)
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 	$(LINK32) -v -mconsole -o $@ $(BLINK_FLAGS) \
 	    $(mktmp $(LKPRE) $(MINI_OBJ) $(LIBFILES) $(LKPOST))
 .ELSE
 	$(LINK32) -subsystem:console -out:$@ $(BLINK_FLAGS) \
-	    @$(mktmp $(LIBFILES) $(MINI_OBJ))
+	    @$(mktmp $(DELAYLOAD) $(LIBFILES) $(MINI_OBJ))
 	$(EMBED_EXE_MANI)
 .ENDIF
 
@@ -1192,7 +1101,7 @@
 	$(CC) -c $(CFLAGS) -DPERL_EXTERNAL_GLOB -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ ..\$(*B).c
 
 $(MINIWIN32_OBJ) : $(CORE_NOCFG_H)
-	$(CC) -c $(CFLAGS) $(OBJOUT_FLAG)$@ $(*B).c
+	$(CC) -c $(CFLAGS) -DPERL_IS_MINIPERL $(OBJOUT_FLAG)$@ $(*B).c
 
 # -DPERL_IMPLICIT_SYS needs C++ for perllib.c
 # rules wrapped in .IFs break Win9X build (we end up with unbalanced []s unless
@@ -1219,18 +1128,13 @@
 
 $(X2P_OBJ)	: $(CORE_H)
 
-perldll.def : $(MINIPERL) $(CONFIGPM) ..\global.sym ..\makedef.pl create_perllibst_h.pl
+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=$(CCTYPE) > perldll.def
+	$(BUILDOPT) CCTYPE=$(CCTYPE) TARG_DIR=..\ > perldll.def
 
 $(PERLDLL): perldll.def $(PERLDLL_OBJ) $(PERLDLL_RES) Extensions_static
-.IF "$(CCTYPE)" == "BORLAND"
-	$(LINK32) -Tpd -ap $(BLINK_FLAGS) \
-	    @$(mktmp c0d32$(o) $(PERLDLL_OBJ),$@,, \
-	        $(shell @type Extensions_static) $(LIBFILES),perldll.def)
-	$(IMPLIB) $*.lib $@
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 	$(LINK32) -mdll -o $@ -Wl,--base-file -Wl,perl.base $(BLINK_FLAGS) \
 	    $(mktmp $(LKPRE) $(PERLDLL_OBJ) \
 		$(shell @type Extensions_static) \
@@ -1254,11 +1158,7 @@
 	$(XCOPY) $(PERLIMPLIB) $(COREDIR)
 
 $(PERLSTATICLIB): Extensions_static
-.IF "$(CCTYPE)" == "BORLAND"
-	$(LIB32) $(LIB_FLAGS) $@ \
-	    @$(mktmp $(shell @type Extensions_static) \
-		$(PERLDLL_OBJ))
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 # XXX: It would be nice if MinGW's ar accepted a temporary file, but this
 # doesn't seem to work:
 #	$(LIB32) $(LIB_FLAGS) $@ \
@@ -1296,10 +1196,7 @@
 $(X2P) : $(MINIPERL) $(X2P_OBJ) Extensions
 	$(MINIPERL) -I..\lib ..\x2p\find2perl.PL
 	$(MINIPERL) -I..\lib ..\x2p\s2p.PL
-.IF "$(CCTYPE)" == "BORLAND"
-	$(LINK32) -Tpe -ap $(BLINK_FLAGS) \
-	    @$(mktmp c0x32$(o) $(X2P_OBJ),$@,,$(LIBFILES),)
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 	$(LINK32) -v -o $@ $(BLINK_FLAGS) \
 	    $(mktmp $(LKPRE) $(X2P_OBJ) $(LIBFILES) $(LKPOST))
 .ELSE
@@ -1308,18 +1205,17 @@
 	$(EMBED_EXE_MANI)
 .ENDIF
 
-$(MINIDIR)\globals$(o) : $(UUDMAP_H) $(BITCOUNT_H)
+$(MINIDIR)\globals$(o) : $(GENERATED_HEADERS)
 
-$(UUDMAP_H) : $(BITCOUNT_H)
+$(UUDMAP_H) $(MG_DATA_H) : $(BITCOUNT_H)
 
 $(BITCOUNT_H) : $(GENUUDMAP)
-	$(GENUUDMAP) $(UUDMAP_H) $(BITCOUNT_H)
+	$(GENUUDMAP) $(GENERATED_HEADERS)
 
+$(GENUUDMAP_OBJ) : ..\mg_raw.h
+
 $(GENUUDMAP) : $(GENUUDMAP_OBJ)
-.IF "$(CCTYPE)" == "BORLAND"
-	$(LINK32) -Tpe -ap $(BLINK_FLAGS) \
-	    @$(mktmp c0x32$(o) $(GENUUDMAP_OBJ),$@,,$(LIBFILES),)
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 	$(LINK32) -v -o $@ $(BLINK_FLAGS) \
 	    $(mktmp $(LKPRE) $(GENUUDMAP_OBJ) $(LIBFILES) $(LKPOST))
 .ELSE
@@ -1341,11 +1237,7 @@
 	$(CC) $(CFLAGS_O) $(OBJOUT_FLAG)$@ -c perlmainst.c
 
 $(PERLEXE): $(PERLDLL) $(CONFIGPM) $(PERLEXE_OBJ) $(PERLEXE_RES)
-.IF "$(CCTYPE)" == "BORLAND"
-	$(LINK32) -Tpe -ap $(BLINK_FLAGS) \
-	    @$(mktmp c0x32$(o) $(PERLEXE_OBJ),$@,, \
-		$(PERLIMPLIB) $(LIBFILES),,$(PERLEXE_RES))
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 	$(LINK32) -mconsole -o $@ $(BLINK_FLAGS)  \
 	    $(PERLEXE_OBJ) $(PERLEXE_RES) $(PERLIMPLIB) $(LIBFILES)
 .ELSE
@@ -1357,12 +1249,7 @@
 	$(MINIPERL) -I..\lib bin\exetype.pl $(WPERLEXE) WINDOWS
 
 $(PERLEXESTATIC): $(PERLSTATICLIB) $(CONFIGPM) $(PERLEXEST_OBJ) $(PERLEXE_RES)
-.IF "$(CCTYPE)" == "BORLAND"
-	$(LINK32) -Tpe -ap $(BLINK_FLAGS) \
-	    @$(mktmp c0x32$(o) $(PERLEXEST_OBJ),$@,, \
-		$(shell @type Extensions_static) $(PERLSTATICLIB) $(LIBFILES),, \
-		$(PERLEXE_RES))
-.ELIF "$(CCTYPE)" == "GCC"
+.IF "$(CCTYPE)" == "GCC"
 	$(LINK32) -mconsole -o $@ $(BLINK_FLAGS) \
 	    $(mktmp $(LKPRE) $(shell @type Extensions_static) \
 		$(PERLSTATICLIB) $(LIBFILES) $(PERLEXEST_OBJ) \
@@ -1393,7 +1280,7 @@
 	$(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)
+Extensions_nonxs : ..\make_ext.pl ..\lib\buildcustomize.pl $(PERLDEP) $(CONFIGPM) ..\pod\perlfunc.pod
 	$(XCOPY) ..\*.h $(COREDIR)\*.*
 	$(MINIPERL) -I..\lib ..\make_ext.pl "MAKE=$(MAKE)" --dir=$(CPANDIR) --dir=$(DISTDIR) --dir=$(EXTDIR) --nonxs
 
@@ -1412,8 +1299,8 @@
 
 doc: $(PERLEXE) ..\pod\perltoc.pod
 	$(PERLEXE) -I..\lib ..\installhtml --podroot=.. --htmldir=$(HTMLDIR) \
-	    --podpath=pod:lib:ext:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\
-	    --libpod=perlfunc:perlguts:perlvar:perlrun:perlop --recurse
+	    --podpath=pod:lib:utils --htmlroot="file://$(INST_HTML:s,:,|,)"\
+	    --recurse
 
 # Note that this next section is parsed (and regenerated) by pod/buildtoc
 # so please check that script before making structural changes here
@@ -1421,7 +1308,6 @@
 	cd ..\utils && $(MAKE) PERL=$(MINIPERL)
 	copy ..\README.aix      ..\pod\perlaix.pod
 	copy ..\README.amiga    ..\pod\perlamiga.pod
-	copy ..\README.beos     ..\pod\perlbeos.pod
 	copy ..\README.bs2000   ..\pod\perlbs2000.pod
 	copy ..\README.ce       ..\pod\perlce.pod
 	copy ..\README.cn       ..\pod\perlcn.pod
@@ -1428,7 +1314,6 @@
 	copy ..\README.cygwin   ..\pod\perlcygwin.pod
 	copy ..\README.dgux     ..\pod\perldgux.pod
 	copy ..\README.dos      ..\pod\perldos.pod
-	copy ..\README.epoc     ..\pod\perlepoc.pod
 	copy ..\README.freebsd  ..\pod\perlfreebsd.pod
 	copy ..\README.haiku    ..\pod\perlhaiku.pod
 	copy ..\README.hpux     ..\pod\perlhpux.pod
@@ -1439,7 +1324,6 @@
 	copy ..\README.linux    ..\pod\perllinux.pod
 	copy ..\README.macos    ..\pod\perlmacos.pod
 	copy ..\README.macosx   ..\pod\perlmacosx.pod
-	copy ..\README.mpeix    ..\pod\perlmpeix.pod
 	copy ..\README.netware  ..\pod\perlnetware.pod
 	copy ..\README.openbsd  ..\pod\perlopenbsd.pod
 	copy ..\README.os2      ..\pod\perlos2.pod
@@ -1452,17 +1336,15 @@
 	copy ..\README.symbian  ..\pod\perlsymbian.pod
 	copy ..\README.tru64    ..\pod\perltru64.pod
 	copy ..\README.tw       ..\pod\perltw.pod
-	copy ..\README.uts      ..\pod\perluts.pod
-	copy ..\README.vmesa    ..\pod\perlvmesa.pod
 	copy ..\README.vos      ..\pod\perlvos.pod
 	copy ..\README.win32    ..\pod\perlwin32.pod
-	copy ..\pod\perldelta.pod ..\pod\perl5140delta.pod
+	copy ..\pod\perldelta.pod ..\pod\perl5181delta.pod
 	$(PERLEXE) $(PL2BAT) $(UTILS)
 	$(PERLEXE) $(ICWD) ..\autodoc.pl ..
 	$(PERLEXE) $(ICWD) ..\pod\perlmodlib.pl -q
 
 ..\pod\perltoc.pod: $(PERLEXE) Extensions Extensions_nonxs
-	$(PERLEXE) -f ..\pod\buildtoc --build-toc -q
+	$(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
@@ -1547,21 +1429,20 @@
 	-if exist $(LIBDIR)\Unicode\Collate rmdir /s /q $(LIBDIR)\Unicode\Collate
 	-if exist $(LIBDIR)\XS rmdir /s /q $(LIBDIR)\XS
 	-if exist $(LIBDIR)\Win32API rmdir /s /q $(LIBDIR)\Win32API
-	-cd $(PODDIR) && del /f *.html *.bat \
-	    perl5140delta.pod perlaix.pod perlamiga.pod perlapi.pod \
-	    perlbeos.pod perlbs2000.pod perlce.pod perlcn.pod \
-	    perlcygwin.pod perldgux.pod perldos.pod perlepoc.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 perlmpeix.pod \
-	    perlnetware.pod perlopenbsd.pod perlos2.pod perlos390.pod \
-	    perlos400.pod perlplan9.pod perlqnx.pod perlriscos.pod \
-	    perlsolaris.pod perlsymbian.pod perltoc.pod perltru64.pod \
-	    perltw.pod perluniprops.pod perluts.pod perlvmesa.pod \
+	-cd $(PODDIR) && del /f *.html *.bat roffitall \
+	    perl5181delta.pod perlaix.pod perlamiga.pod perlapi.pod \
+	    perlbs2000.pod perlce.pod perlcn.pod perlcygwin.pod \
+	    perldgux.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 \
+	    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 dprofpp libnetcfg enc2xs piconv cpan *.bat \
-	    xsubpp instmodsh json_pp prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum corelist config_data
+	    perldoc perlivp libnetcfg enc2xs piconv cpan *.bat \
+	    xsubpp pod2html instmodsh json_pp prove ptar ptardiff ptargrep cpanp-run-perl cpanp cpan2dist shasum corelist config_data zipdetails
 	-cd ..\x2p && del /f find2perl s2p psed *.bat
 	-del /f ..\config.sh perlmain.c dlutils.c config.h.new \
 	    perlmainst.c
@@ -1577,13 +1458,12 @@
 	-if exist $(AUTODIR) rmdir /s /q $(AUTODIR)
 	-if exist $(COREDIR) rmdir /s /q $(COREDIR)
 	-if exist pod2htmd.tmp del pod2htmd.tmp
-	-if exist pod2htmi.tmp del pod2htmi.tmp
 	-if exist $(HTMLDIR) rmdir /s /q $(HTMLDIR)
 	-del /f ..\t\test_state
 
 install : all installbare installhtml
 
-installbare : $(RIGHTMAKE) utils ..\pod\perltoc.pod
+installbare : utils ..\pod\perltoc.pod
 	$(PERLEXE) ..\installperl
 	if exist $(WPERLEXE) $(XCOPY) $(WPERLEXE) $(INST_BIN)\*.*
 	if exist $(PERLEXESTATIC) $(XCOPY) $(PERLEXESTATIC) $(INST_BIN)\*.*
@@ -1606,33 +1486,35 @@
 	$(XCOPY) $(MINIPERL) ..\t\$(NULL)
 	if exist ..\t\perl.exe del /f ..\t\perl.exe
 	rename ..\t\miniperl.exe perl.exe
-.IF "$(CCTYPE)" == "BORLAND"
-	$(XCOPY) $(GLOBBAT) ..\t\$(NULL)
-.ELSE
 	$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
-.ENDIF
 	attrib -r ..\t\*.*
 	cd ..\t && \
-	$(MINIPERL) -I..\lib harness base/*.t comp/*.t cmd/*.t io/*.t op/*.t pragma/*.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)
-.IF "$(CCTYPE)" == "BORLAND"
-	$(XCOPY) $(GLOBBAT) ..\t\$(NULL)
-.ELSE
 	$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
-.ENDIF
 .IF "$(CCTYPE)" == "GCC"
-.IF "$(GCC_4XX)" == "define"
-	$(XCOPY) $(GCCHELPERDLL) ..\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_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)
 .ENDIF
-.ENDIF
 
-test : $(RIGHTMAKE) test-prep
+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)
@@ -1649,14 +1531,10 @@
 	    set PERL_SKIP_TTY_TEST=1 && \
 	    cd ..\t && $(PERLEXE) -I.\lib harness $(TEST_SWITCHES) $(TEST_FILES)
 
-_test : $(RIGHTMAKE)
+_test :
 	$(XCOPY) $(PERLEXE) ..\t\$(NULL)
 	$(XCOPY) $(PERLDLL) ..\t\$(NULL)
-.IF "$(CCTYPE)" == "BORLAND"
-	$(XCOPY) $(GLOBBAT) ..\t\$(NULL)
-.ELSE
 	$(XCOPY) $(GLOBEXE) ..\t\$(NULL)
-.ENDIF
 	set PERL_STATIC_EXT=$(STATIC_EXT) && \
 	    cd ..\t && $(PERLEXE) -I..\lib harness $(TEST_SWITCHES) $(TEST_FILES)
 
@@ -1676,7 +1554,7 @@
 	- at erase $(PERLSTATICLIB)
 	- at erase $(PERLDLL)
 	- at erase $(CORE_OBJ)
-	- at erase $(GENUUDMAP) $(GENUUDMAP_OBJ) $(UUDMAP_H) $(BITCOUNT_H)
+	- at 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)


Property changes on: vendor/perl/dist/win32/makefile.mk
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/mdelete.bat
===================================================================
--- vendor/perl/dist/win32/mdelete.bat	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/mdelete.bat	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/mdelete.bat
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/perl.rc
===================================================================
--- vendor/perl/dist/win32/perl.rc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/perl.rc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/perl.rc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/perlexe.ico
===================================================================
--- vendor/perl/dist/win32/perlexe.ico	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/perlexe.ico	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/perlexe.ico
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/perlexe.manifest
===================================================================
--- vendor/perl/dist/win32/perlexe.manifest	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/perlexe.manifest	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/perlexe.manifest
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/perlexe.rc
===================================================================
--- vendor/perl/dist/win32/perlexe.rc	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/perlexe.rc	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/perlexe.rc
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/perlglob.c
===================================================================
--- vendor/perl/dist/win32/perlglob.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/perlglob.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,8 +1,22 @@
 /*
  * Globbing for NT.  Relies on the expansion done by the library
- * startup code. 
+ * startup code (provided by Visual C++ by linking in setargv.obj).
  */
 
+/* Enable wildcard expansion for gcc's C-runtime library if not enabled by
+ * default (currently necessary with the automated build of the mingw-w64
+ * cross-compiler, but there's no harm in making sure for others too). */
+#ifdef __MINGW32__
+#include <_mingw.h>
+#if defined(__MINGW64_VERSION_MAJOR) && defined(__MINGW64_VERSION_MINOR)
+    // MinGW-w64
+    int _dowildcard = -1;
+#else
+    // MinGW
+    int _CRT_glob = -1;
+#endif
+#endif
+
 #include <stdio.h>
 #include <io.h>
 #include <fcntl.h>


Property changes on: vendor/perl/dist/win32/perlglob.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/perlhost.h
===================================================================
--- vendor/perl/dist/win32/perlhost.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/perlhost.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -26,11 +26,10 @@
 #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);
+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
 
 class CPerlHost
@@ -840,21 +839,6 @@
     int fileno = win32_dup(win32_fileno(pf));
 
     /* open the file in the same mode */
-#ifdef __BORLANDC__
-    if((pf)->flags & _F_READ) {
-	mode[0] = 'r';
-	mode[1] = 0;
-    }
-    else if((pf)->flags & _F_WRIT) {
-	mode[0] = 'a';
-	mode[1] = 0;
-    }
-    else if((pf)->flags & _F_RDWR) {
-	mode[0] = 'r';
-	mode[1] = '+';
-	mode[2] = 0;
-    }
-#else
     if((pf)->_flag & _IOREAD) {
 	mode[0] = 'r';
 	mode[1] = 0;
@@ -868,7 +852,6 @@
 	mode[1] = '+';
 	mode[2] = 0;
     }
-#endif
 
     /* it appears that the binmode is attached to the
      * file descriptor so binmode files will be handled
@@ -1295,8 +1278,7 @@
 struct hostent*
 PerlSockGethostent(struct IPerlSock* piPerl)
 {
-    dTHX;
-    Perl_croak(aTHX_ "gethostent not implemented!\n");
+    win32_croak_not_implemented("gethostent");
     return NULL;
 }
 
@@ -1551,13 +1533,13 @@
     return win32_crypt(clear, salt);
 }
 
-void
+PERL_CALLCONV_NO_RET void
 PerlProcExit(struct IPerlProc* piPerl, int status)
 {
     exit(status);
 }
 
-void
+PERL_CALLCONV_NO_RET void
 PerlProc_Exit(struct IPerlProc* piPerl, int status)
 {
     _exit(status);
@@ -1710,7 +1692,6 @@
 win32_start_child(LPVOID arg)
 {
     PerlInterpreter *my_perl = (PerlInterpreter*)arg;
-    GV *tmpgv;
     int status;
     HWND parent_message_hwnd;
 #ifdef PERL_SYNC_FORK
@@ -1722,18 +1703,11 @@
     PERL_SET_THX(my_perl);
     win32_checkTLS(my_perl);
 
-    /* set $$ to pseudo id */
 #ifdef PERL_SYNC_FORK
     w32_pseudo_id = id;
 #else
     w32_pseudo_id = GetCurrentThreadId();
 #endif
-    if (tmpgv = gv_fetchpv("$", TRUE, SVt_PV)) {
-	SV *sv = GvSV(tmpgv);
-	SvREADONLY_off(sv);
-	sv_setiv(sv, -(IV)w32_pseudo_id);
-	SvREADONLY_on(sv);
-    }
 #ifdef PERL_USES_PL_PIDSTATUS    
     hv_clear(PL_pidstatus);
 #endif    
@@ -1781,6 +1755,10 @@
 		LEAVE;
 	    FREETMPS;
 	    PL_curstash = PL_defstash;
+	    if (PL_curstash != PL_defstash) {
+		SvREFCNT_dec(PL_curstash);
+		PL_curstash = (HV *)SvREFCNT_inc(PL_defstash);
+	    }
 	    if (PL_endav && !PL_minus_c)
 		call_list(oldscope, PL_endav);
 	    status = STATUS_EXIT;
@@ -1829,8 +1807,8 @@
 int
 PerlProcFork(struct IPerlProc* piPerl)
 {
+#ifdef USE_ITHREADS
     dTHX;
-#ifdef USE_ITHREADS
     DWORD id;
     HANDLE handle;
     CPerlHost *h;
@@ -1882,7 +1860,7 @@
 #  endif
     return -(int)id;
 #else
-    Perl_croak(aTHX_ "fork() not implemented!\n");
+    win32_croak_not_implemented("fork()");
     return -1;
 #endif /* USE_ITHREADS */
 }
@@ -1914,6 +1892,8 @@
 int
 PerlProcLastHost(struct IPerlProc* piPerl)
 {
+ /* this dTHX is unused in an optimized build since CPerlHost::num_hosts
+    is a static */
  dTHX;
  CPerlHost *h = (CPerlHost*)w32_internal_host;
  return h->LastHost();
@@ -2198,7 +2178,6 @@
 void
 CPerlHost::Add(LPCSTR lpStr)
 {
-    dTHX;
     char szBuffer[1024];
     LPSTR *lpPtr;
     int index, length = strlen(lpStr)+1;
@@ -2245,7 +2224,6 @@
 void
 CPerlHost::FreeLocalEnvironmentStrings(LPSTR lpStr)
 {
-    dTHX;
     Safefree(lpStr);
 }
 
@@ -2252,7 +2230,6 @@
 char*
 CPerlHost::GetChildDir(void)
 {
-    dTHX;
     char* ptr;
     size_t length;
 
@@ -2269,7 +2246,6 @@
 void
 CPerlHost::FreeChildDir(char* pStr)
 {
-    dTHX;
     Safefree(pStr);
 }
 
@@ -2276,13 +2252,12 @@
 LPSTR
 CPerlHost::CreateLocalEnvironmentStrings(VDir &vDir)
 {
-    dTHX;
     LPSTR lpStr, lpPtr, lpEnvPtr, lpTmp, lpLocalEnv, lpAllocPtr;
     DWORD dwSize, dwEnvIndex;
     int nLength, compVal;
 
     // get the process environment strings
-    lpAllocPtr = lpTmp = (LPSTR)GetEnvironmentStrings();
+    lpAllocPtr = lpTmp = (LPSTR)win32_getenvironmentstrings();
 
     // step over current directory stuff
     while(*lpTmp == '=')
@@ -2358,7 +2333,7 @@
     }
 
     // release the process environment strings
-    FreeEnvironmentStrings(lpAllocPtr);
+    win32_freeenvironmentstrings(lpAllocPtr);
 
     return lpPtr;
 }
@@ -2366,7 +2341,6 @@
 void
 CPerlHost::Reset(void)
 {
-    dTHX;
     if(m_lppEnvList != NULL) {
 	for(DWORD index = 0; index < m_dwEnvCount; ++index) {
 	    Free(m_lppEnvList[index]);
@@ -2381,7 +2355,6 @@
 void
 CPerlHost::Clearenv(void)
 {
-    dTHX;
     char ch;
     LPSTR lpPtr, lpStr, lpEnvPtr;
     if (m_lppEnvList != NULL) {
@@ -2395,7 +2368,7 @@
     }
 
     /* get the process environment strings */
-    lpStr = lpEnvPtr = (LPSTR)GetEnvironmentStrings();
+    lpStr = lpEnvPtr = (LPSTR)win32_getenvironmentstrings();
 
     /* step over current directory stuff */
     while(*lpStr == '=')
@@ -2414,7 +2387,7 @@
 	lpStr += strlen(lpStr) + 1;
     }
 
-    FreeEnvironmentStrings(lpEnvPtr);
+    win32_freeenvironmentstrings(lpEnvPtr);
 }
 
 
@@ -2421,7 +2394,6 @@
 char*
 CPerlHost::Getenv(const char *varname)
 {
-    dTHX;
     if (!m_bTopLevel) {
 	char *pEnv = Find(varname);
 	if (pEnv && *pEnv)
@@ -2433,7 +2405,6 @@
 int
 CPerlHost::Putenv(const char *envstring)
 {
-    dTHX;
     Add(envstring);
     if (m_bTopLevel)
 	return win32_putenv(envstring);
@@ -2444,7 +2415,6 @@
 int
 CPerlHost::Chdir(const char *dirname)
 {
-    dTHX;
     int ret;
     if (!dirname) {
 	errno = ENOENT;


Property changes on: vendor/perl/dist/win32/perlhost.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/perllib.c
===================================================================
--- vendor/perl/dist/win32/perllib.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/perllib.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -18,7 +18,7 @@
 
 
 /* Register any extra external extensions */
-char *staticlinkmodules[] = {
+const char * const staticlinkmodules[] = {
     "DynaLoader",
     /* other similar records will be included from "perllibst.h" */
 #define STATIC1
@@ -232,10 +232,10 @@
     }
 
 #ifdef PERL_GLOBAL_STRUCT
-#define PERLVAR(var,type) /**/
-#define PERLVARA(var,type) /**/
-#define PERLVARI(var,type,init) PL_Vars.var = init;
-#define PERLVARIC(var,type,init) PL_Vars.var = init;
+#define PERLVAR(prefix,var,type) /**/
+#define PERLVARA(prefix,var,type) /**/
+#define PERLVARI(prefix,var,type,init) PL_Vars.prefix##var = init;
+#define PERLVARIC(prefix,var,type,init) PL_Vars.prefix##var = init;
 #include "perlvars.h"
 #undef PERLVAR
 #undef PERLVARA
@@ -281,7 +281,7 @@
     }
 #endif
 
-    /* At least the Borland RTL wants to free argv[] after main() returns. */
+    /* Some RTLs may want to free argv[] after main() returns. */
     argv[0] = arg0;
     if (ansi)
         win32_free(ansi);


Property changes on: vendor/perl/dist/win32/perllib.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/perlmaince.c
===================================================================
--- vendor/perl/dist/win32/perlmaince.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/perlmaince.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/perlmaince.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/pod.mak
===================================================================
--- vendor/perl/dist/win32/pod.mak	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/pod.mak	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,7 +1,5 @@
 HTMLROOT = /	# Change this to fix cross-references in HTML
-POD2HTML_ARGS = --htmlroot=$(HTMLROOT) \
-	    --podroot=.. --podpath=pod:lib:ext:vms \
-	    --libpods=perlfunc:perlguts:perlvar:perlrun:perlop
+POD2HTML_ARGS = --htmlroot=$(HTMLROOT) --podroot=.. --podpath=pod:lib:ext:vms
 POD2HTML = ../ext/Pod-Html/pod2html
 POD2MAN = ../cpan/podlators/pod2man
 POD2TEXT = ../cpan/podlators/pod2text
@@ -15,41 +13,30 @@
 
 ICWD = -I..\dist\Cwd
 
-POD = \
-	perl.pod	\
+POD = perl.pod	\
 	perl5004delta.pod	\
 	perl5005delta.pod	\
 	perl5100delta.pod	\
 	perl5101delta.pod	\
-	perl5110delta.pod	\
-	perl5111delta.pod	\
-	perl5112delta.pod	\
-	perl5113delta.pod	\
-	perl5114delta.pod	\
-	perl5115delta.pod	\
 	perl5120delta.pod	\
 	perl5121delta.pod	\
 	perl5122delta.pod	\
 	perl5123delta.pod	\
-	perl5130delta.pod	\
-	perl51310delta.pod	\
-	perl51311delta.pod	\
-	perl5131delta.pod	\
-	perl5132delta.pod	\
-	perl5133delta.pod	\
-	perl5134delta.pod	\
-	perl5135delta.pod	\
-	perl5136delta.pod	\
-	perl5137delta.pod	\
-	perl5138delta.pod	\
-	perl5139delta.pod	\
+	perl5124delta.pod	\
+	perl5125delta.pod	\
 	perl5140delta.pod	\
+	perl5141delta.pod	\
+	perl5142delta.pod	\
+	perl5143delta.pod	\
+	perl5144delta.pod	\
+	perl5160delta.pod	\
+	perl5161delta.pod	\
+	perl5162delta.pod	\
+	perl5163delta.pod	\
+	perl5180delta.pod	\
+	perl5181delta.pod	\
 	perl561delta.pod	\
 	perl56delta.pod	\
-	perl570delta.pod	\
-	perl571delta.pod	\
-	perl572delta.pod	\
-	perl573delta.pod	\
 	perl581delta.pod	\
 	perl582delta.pod	\
 	perl583delta.pod	\
@@ -60,12 +47,6 @@
 	perl588delta.pod	\
 	perl589delta.pod	\
 	perl58delta.pod	\
-	perl590delta.pod	\
-	perl591delta.pod	\
-	perl592delta.pod	\
-	perl593delta.pod	\
-	perl594delta.pod	\
-	perl595delta.pod	\
 	perlapi.pod	\
 	perlapio.pod	\
 	perlartistic.pod	\
@@ -76,7 +57,6 @@
 	perlcheat.pod	\
 	perlclib.pod	\
 	perlcommunity.pod	\
-	perlcompile.pod	\
 	perldata.pod	\
 	perldbmfilter.pod	\
 	perldebguts.pod	\
@@ -84,26 +64,16 @@
 	perldebug.pod	\
 	perldelta.pod	\
 	perldiag.pod	\
-	perldoc.pod	\
 	perldsc.pod	\
+	perldtrace.pod	\
 	perlebcdic.pod	\
 	perlembed.pod	\
-	perlfaq.pod	\
-	perlfaq1.pod	\
-	perlfaq2.pod	\
-	perlfaq3.pod	\
-	perlfaq4.pod	\
-	perlfaq5.pod	\
-	perlfaq6.pod	\
-	perlfaq7.pod	\
-	perlfaq8.pod	\
-	perlfaq9.pod	\
+	perlexperiment.pod	\
 	perlfilter.pod	\
 	perlfork.pod	\
 	perlform.pod	\
 	perlfunc.pod	\
 	perlgit.pod	\
-	perlglossary.pod	\
 	perlgpl.pod	\
 	perlguts.pod	\
 	perlhack.pod	\
@@ -126,6 +96,7 @@
 	perlnewmod.pod	\
 	perlnumber.pod	\
 	perlobj.pod	\
+	perlootut.pod	\
 	perlop.pod	\
 	perlopentut.pod	\
 	perlpacktut.pod	\
@@ -166,45 +137,32 @@
 	perlunitut.pod	\
 	perlutil.pod	\
 	perlvar.pod	\
-	perlvms.pod	\
-	perlxs.pod	\
-	perlxstut.pod	
+	perlvms.pod
 
-MAN = \
-	perl.man	\
+MAN = perl.man	\
 	perl5004delta.man	\
 	perl5005delta.man	\
 	perl5100delta.man	\
 	perl5101delta.man	\
-	perl5110delta.man	\
-	perl5111delta.man	\
-	perl5112delta.man	\
-	perl5113delta.man	\
-	perl5114delta.man	\
-	perl5115delta.man	\
 	perl5120delta.man	\
 	perl5121delta.man	\
 	perl5122delta.man	\
 	perl5123delta.man	\
-	perl5130delta.man	\
-	perl51310delta.man	\
-	perl51311delta.man	\
-	perl5131delta.man	\
-	perl5132delta.man	\
-	perl5133delta.man	\
-	perl5134delta.man	\
-	perl5135delta.man	\
-	perl5136delta.man	\
-	perl5137delta.man	\
-	perl5138delta.man	\
-	perl5139delta.man	\
+	perl5124delta.man	\
+	perl5125delta.man	\
 	perl5140delta.man	\
+	perl5141delta.man	\
+	perl5142delta.man	\
+	perl5143delta.man	\
+	perl5144delta.man	\
+	perl5160delta.man	\
+	perl5161delta.man	\
+	perl5162delta.man	\
+	perl5163delta.man	\
+	perl5180delta.man	\
+	perl5181delta.man	\
 	perl561delta.man	\
 	perl56delta.man	\
-	perl570delta.man	\
-	perl571delta.man	\
-	perl572delta.man	\
-	perl573delta.man	\
 	perl581delta.man	\
 	perl582delta.man	\
 	perl583delta.man	\
@@ -215,12 +173,6 @@
 	perl588delta.man	\
 	perl589delta.man	\
 	perl58delta.man	\
-	perl590delta.man	\
-	perl591delta.man	\
-	perl592delta.man	\
-	perl593delta.man	\
-	perl594delta.man	\
-	perl595delta.man	\
 	perlapi.man	\
 	perlapio.man	\
 	perlartistic.man	\
@@ -231,7 +183,6 @@
 	perlcheat.man	\
 	perlclib.man	\
 	perlcommunity.man	\
-	perlcompile.man	\
 	perldata.man	\
 	perldbmfilter.man	\
 	perldebguts.man	\
@@ -239,26 +190,16 @@
 	perldebug.man	\
 	perldelta.man	\
 	perldiag.man	\
-	perldoc.man	\
 	perldsc.man	\
+	perldtrace.man	\
 	perlebcdic.man	\
 	perlembed.man	\
-	perlfaq.man	\
-	perlfaq1.man	\
-	perlfaq2.man	\
-	perlfaq3.man	\
-	perlfaq4.man	\
-	perlfaq5.man	\
-	perlfaq6.man	\
-	perlfaq7.man	\
-	perlfaq8.man	\
-	perlfaq9.man	\
+	perlexperiment.man	\
 	perlfilter.man	\
 	perlfork.man	\
 	perlform.man	\
 	perlfunc.man	\
 	perlgit.man	\
-	perlglossary.man	\
 	perlgpl.man	\
 	perlguts.man	\
 	perlhack.man	\
@@ -281,6 +222,7 @@
 	perlnewmod.man	\
 	perlnumber.man	\
 	perlobj.man	\
+	perlootut.man	\
 	perlop.man	\
 	perlopentut.man	\
 	perlpacktut.man	\
@@ -321,45 +263,32 @@
 	perlunitut.man	\
 	perlutil.man	\
 	perlvar.man	\
-	perlvms.man	\
-	perlxs.man	\
-	perlxstut.man	
+	perlvms.man
 
-HTML = \
-	perl.html	\
+HTML = perl.html	\
 	perl5004delta.html	\
 	perl5005delta.html	\
 	perl5100delta.html	\
 	perl5101delta.html	\
-	perl5110delta.html	\
-	perl5111delta.html	\
-	perl5112delta.html	\
-	perl5113delta.html	\
-	perl5114delta.html	\
-	perl5115delta.html	\
 	perl5120delta.html	\
 	perl5121delta.html	\
 	perl5122delta.html	\
 	perl5123delta.html	\
-	perl5130delta.html	\
-	perl51310delta.html	\
-	perl51311delta.html	\
-	perl5131delta.html	\
-	perl5132delta.html	\
-	perl5133delta.html	\
-	perl5134delta.html	\
-	perl5135delta.html	\
-	perl5136delta.html	\
-	perl5137delta.html	\
-	perl5138delta.html	\
-	perl5139delta.html	\
+	perl5124delta.html	\
+	perl5125delta.html	\
 	perl5140delta.html	\
+	perl5141delta.html	\
+	perl5142delta.html	\
+	perl5143delta.html	\
+	perl5144delta.html	\
+	perl5160delta.html	\
+	perl5161delta.html	\
+	perl5162delta.html	\
+	perl5163delta.html	\
+	perl5180delta.html	\
+	perl5181delta.html	\
 	perl561delta.html	\
 	perl56delta.html	\
-	perl570delta.html	\
-	perl571delta.html	\
-	perl572delta.html	\
-	perl573delta.html	\
 	perl581delta.html	\
 	perl582delta.html	\
 	perl583delta.html	\
@@ -370,12 +299,6 @@
 	perl588delta.html	\
 	perl589delta.html	\
 	perl58delta.html	\
-	perl590delta.html	\
-	perl591delta.html	\
-	perl592delta.html	\
-	perl593delta.html	\
-	perl594delta.html	\
-	perl595delta.html	\
 	perlapi.html	\
 	perlapio.html	\
 	perlartistic.html	\
@@ -386,7 +309,6 @@
 	perlcheat.html	\
 	perlclib.html	\
 	perlcommunity.html	\
-	perlcompile.html	\
 	perldata.html	\
 	perldbmfilter.html	\
 	perldebguts.html	\
@@ -394,26 +316,16 @@
 	perldebug.html	\
 	perldelta.html	\
 	perldiag.html	\
-	perldoc.html	\
 	perldsc.html	\
+	perldtrace.html	\
 	perlebcdic.html	\
 	perlembed.html	\
-	perlfaq.html	\
-	perlfaq1.html	\
-	perlfaq2.html	\
-	perlfaq3.html	\
-	perlfaq4.html	\
-	perlfaq5.html	\
-	perlfaq6.html	\
-	perlfaq7.html	\
-	perlfaq8.html	\
-	perlfaq9.html	\
+	perlexperiment.html	\
 	perlfilter.html	\
 	perlfork.html	\
 	perlform.html	\
 	perlfunc.html	\
 	perlgit.html	\
-	perlglossary.html	\
 	perlgpl.html	\
 	perlguts.html	\
 	perlhack.html	\
@@ -436,6 +348,7 @@
 	perlnewmod.html	\
 	perlnumber.html	\
 	perlobj.html	\
+	perlootut.html	\
 	perlop.html	\
 	perlopentut.html	\
 	perlpacktut.html	\
@@ -475,46 +388,33 @@
 	perlunitut.html	\
 	perlutil.html	\
 	perlvar.html	\
-	perlvms.html	\
-	perlxs.html	\
-	perlxstut.html	
+	perlvms.html
 # not perltoc.html
 
-TEX = \
-	perl.tex	\
+TEX = perl.tex	\
 	perl5004delta.tex	\
 	perl5005delta.tex	\
 	perl5100delta.tex	\
 	perl5101delta.tex	\
-	perl5110delta.tex	\
-	perl5111delta.tex	\
-	perl5112delta.tex	\
-	perl5113delta.tex	\
-	perl5114delta.tex	\
-	perl5115delta.tex	\
 	perl5120delta.tex	\
 	perl5121delta.tex	\
 	perl5122delta.tex	\
 	perl5123delta.tex	\
-	perl5130delta.tex	\
-	perl51310delta.tex	\
-	perl51311delta.tex	\
-	perl5131delta.tex	\
-	perl5132delta.tex	\
-	perl5133delta.tex	\
-	perl5134delta.tex	\
-	perl5135delta.tex	\
-	perl5136delta.tex	\
-	perl5137delta.tex	\
-	perl5138delta.tex	\
-	perl5139delta.tex	\
+	perl5124delta.tex	\
+	perl5125delta.tex	\
 	perl5140delta.tex	\
+	perl5141delta.tex	\
+	perl5142delta.tex	\
+	perl5143delta.tex	\
+	perl5144delta.tex	\
+	perl5160delta.tex	\
+	perl5161delta.tex	\
+	perl5162delta.tex	\
+	perl5163delta.tex	\
+	perl5180delta.tex	\
+	perl5181delta.tex	\
 	perl561delta.tex	\
 	perl56delta.tex	\
-	perl570delta.tex	\
-	perl571delta.tex	\
-	perl572delta.tex	\
-	perl573delta.tex	\
 	perl581delta.tex	\
 	perl582delta.tex	\
 	perl583delta.tex	\
@@ -525,12 +425,6 @@
 	perl588delta.tex	\
 	perl589delta.tex	\
 	perl58delta.tex	\
-	perl590delta.tex	\
-	perl591delta.tex	\
-	perl592delta.tex	\
-	perl593delta.tex	\
-	perl594delta.tex	\
-	perl595delta.tex	\
 	perlapi.tex	\
 	perlapio.tex	\
 	perlartistic.tex	\
@@ -541,7 +435,6 @@
 	perlcheat.tex	\
 	perlclib.tex	\
 	perlcommunity.tex	\
-	perlcompile.tex	\
 	perldata.tex	\
 	perldbmfilter.tex	\
 	perldebguts.tex	\
@@ -549,26 +442,16 @@
 	perldebug.tex	\
 	perldelta.tex	\
 	perldiag.tex	\
-	perldoc.tex	\
 	perldsc.tex	\
+	perldtrace.tex	\
 	perlebcdic.tex	\
 	perlembed.tex	\
-	perlfaq.tex	\
-	perlfaq1.tex	\
-	perlfaq2.tex	\
-	perlfaq3.tex	\
-	perlfaq4.tex	\
-	perlfaq5.tex	\
-	perlfaq6.tex	\
-	perlfaq7.tex	\
-	perlfaq8.tex	\
-	perlfaq9.tex	\
+	perlexperiment.tex	\
 	perlfilter.tex	\
 	perlfork.tex	\
 	perlform.tex	\
 	perlfunc.tex	\
 	perlgit.tex	\
-	perlglossary.tex	\
 	perlgpl.tex	\
 	perlguts.tex	\
 	perlhack.tex	\
@@ -591,6 +474,7 @@
 	perlnewmod.tex	\
 	perlnumber.tex	\
 	perlobj.tex	\
+	perlootut.tex	\
 	perlop.tex	\
 	perlopentut.tex	\
 	perlpacktut.tex	\
@@ -631,9 +515,7 @@
 	perlunitut.tex	\
 	perlutil.tex	\
 	perlvar.tex	\
-	perlvms.tex	\
-	perlxs.tex	\
-	perlxstut.tex	
+	perlvms.tex
 
 man:	$(POD2MAN) $(MAN)
 


Property changes on: vendor/perl/dist/win32/pod.mak
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/runperl.c
===================================================================
--- vendor/perl/dist/win32/runperl.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/runperl.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/runperl.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/sync_ext.pl
===================================================================
--- vendor/perl/dist/win32/sync_ext.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/sync_ext.pl	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/sync_ext.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/vdir.h
===================================================================
--- vendor/perl/dist/win32/vdir.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/vdir.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/vdir.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/vmem.h
===================================================================
--- vendor/perl/dist/win32/vmem.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/vmem.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -9,8 +9,8 @@
  * Options:
  *
  * Defining _USE_MSVCRT_MEM_ALLOC will cause all memory allocations
- * to be forwarded to MSVCRT.DLL. Defining _USE_LINKED_LIST as well will
- * track all allocations in a doubly linked list, so that the host can
+ * to be forwarded to the compiler's MSVCR*.DLL. Defining _USE_LINKED_LIST as
+ * well will track all allocations in a doubly linked list, so that the host can
  * free all memory allocated when it goes away.
  * If _USE_MSVCRT_MEM_ALLOC is not defined then Knuth's boundary tag algorithm
  * is used; defining _USE_BUDDY_BLOCKS will use Knuth's algorithm R
@@ -65,13 +65,10 @@
 #endif
 
 /* 
- * Pass all memory requests throught to msvcrt.dll 
- * optionaly track by using a doubly linked header
+ * Pass all memory requests through to the compiler's msvcr*.dll.
+ * Optionaly track by using a doubly linked header.
  */
 
-typedef void (*LPFREE)(void *block);
-typedef void* (*LPMALLOC)(size_t size);
-typedef void* (*LPREALLOC)(void *block, size_t size);
 #ifdef _USE_LINKED_LIST
 class VMem;
 typedef struct _MemoryBlockHeader* PMEMORY_BLOCK_HEADER;
@@ -87,14 +84,14 @@
 public:
     VMem();
     ~VMem();
-    virtual void* Malloc(size_t size);
-    virtual void* Realloc(void* pMem, size_t size);
-    virtual void Free(void* pMem);
-    virtual void GetLock(void);
-    virtual void FreeLock(void);
-    virtual int IsLocked(void);
-    virtual long Release(void);
-    virtual long AddRef(void);
+    void* Malloc(size_t size);
+    void* Realloc(void* pMem, size_t size);
+    void Free(void* pMem);
+    void GetLock(void);
+    void FreeLock(void);
+    int IsLocked(void);
+    long Release(void);
+    long AddRef(void);
 
     inline BOOL CreateOk(void)
     {
@@ -121,30 +118,20 @@
     }
 
     MEMORY_BLOCK_HEADER	m_Dummy;
+    CRITICAL_SECTION	m_cs;		// access lock
 #endif
 
     long		m_lRefCount;	// number of current users
-    CRITICAL_SECTION	m_cs;		// access lock
-    HINSTANCE		m_hLib;
-    LPFREE		m_pfree;
-    LPMALLOC		m_pmalloc;
-    LPREALLOC		m_prealloc;
 };
 
 VMem::VMem()
 {
     m_lRefCount = 1;
+#ifdef _USE_LINKED_LIST
     InitializeCriticalSection(&m_cs);
-#ifdef _USE_LINKED_LIST
     m_Dummy.pNext = m_Dummy.pPrev =  &m_Dummy;
     m_Dummy.owner = this;
 #endif
-    m_hLib = LoadLibrary("msvcrt.dll");
-    if (m_hLib) {
-	m_pfree = (LPFREE)GetProcAddress(m_hLib, "free");
-	m_pmalloc = (LPMALLOC)GetProcAddress(m_hLib, "malloc");
-	m_prealloc = (LPREALLOC)GetProcAddress(m_hLib, "realloc");
-    }
 }
 
 VMem::~VMem(void)
@@ -153,10 +140,8 @@
     while (m_Dummy.pNext != &m_Dummy) {
 	Free(m_Dummy.pNext+1);
     }
+    DeleteCriticalSection(&m_cs);
 #endif
-    if (m_hLib)
-	FreeLibrary(m_hLib);
-    DeleteCriticalSection(&m_cs);
 }
 
 void* VMem::Malloc(size_t size)
@@ -163,7 +148,7 @@
 {
 #ifdef _USE_LINKED_LIST
     GetLock();
-    PMEMORY_BLOCK_HEADER ptr = (PMEMORY_BLOCK_HEADER)m_pmalloc(size+sizeof(MEMORY_BLOCK_HEADER));
+    PMEMORY_BLOCK_HEADER ptr = (PMEMORY_BLOCK_HEADER)malloc(size+sizeof(MEMORY_BLOCK_HEADER));
     if (!ptr) {
 	FreeLock();
 	return NULL;
@@ -172,7 +157,7 @@
     FreeLock();
     return (ptr+1);
 #else
-    return m_pmalloc(size);
+    return malloc(size);
 #endif
 }
 
@@ -190,7 +175,7 @@
     GetLock();
     PMEMORY_BLOCK_HEADER ptr = (PMEMORY_BLOCK_HEADER)(((char*)pMem)-sizeof(MEMORY_BLOCK_HEADER));
     UnlinkBlock(ptr);
-    ptr = (PMEMORY_BLOCK_HEADER)m_prealloc(ptr, size+sizeof(MEMORY_BLOCK_HEADER));
+    ptr = (PMEMORY_BLOCK_HEADER)realloc(ptr, size+sizeof(MEMORY_BLOCK_HEADER));
     if (!ptr) {
 	FreeLock();
 	return NULL;
@@ -200,7 +185,7 @@
 
     return (ptr+1);
 #else
-    return m_prealloc(pMem, size);
+    return realloc(pMem, size);
 #endif
 }
 
@@ -212,9 +197,8 @@
         if (ptr->owner != this) {
 	    if (ptr->owner) {
 #if 1
-		dTHX;
 	    	int *nowhere = NULL;
-	    	Perl_warn(aTHX_ "Free to wrong pool %p not %p",this,ptr->owner);
+	    	Perl_warn_nocontext("Free to wrong pool %p not %p",this,ptr->owner);
             	*nowhere = 0; /* this segfault is deliberate, 
             	                 so you can see the stack trace */
 #else
@@ -226,22 +210,26 @@
 	GetLock();
 	UnlinkBlock(ptr);
 	ptr->owner = NULL;
-	m_pfree(ptr);
+	free(ptr);
 	FreeLock();
     }
-#else
-    m_pfree(pMem);
+#else /*_USE_LINKED_LIST*/
+    free(pMem);
 #endif
 }
 
 void VMem::GetLock(void)
 {
+#ifdef _USE_LINKED_LIST
     EnterCriticalSection(&m_cs);
+#endif
 }
 
 void VMem::FreeLock(void)
 {
+#ifdef _USE_LINKED_LIST
     LeaveCriticalSection(&m_cs);
+#endif
 }
 
 int VMem::IsLocked(void)
@@ -413,14 +401,14 @@
 public:
     VMem();
     ~VMem();
-    virtual void* Malloc(size_t size);
-    virtual void* Realloc(void* pMem, size_t size);
-    virtual void Free(void* pMem);
-    virtual void GetLock(void);
-    virtual void FreeLock(void);
-    virtual int IsLocked(void);
-    virtual long Release(void);
-    virtual long AddRef(void);
+    void* Malloc(size_t size);
+    void* Realloc(void* pMem, size_t size);
+    void Free(void* pMem);
+    void GetLock(void);
+    void FreeLock(void);
+    int IsLocked(void);
+    long Release(void);
+    long AddRef(void);
 
     inline BOOL CreateOk(void)
     {


Property changes on: vendor/perl/dist/win32/vmem.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/win32.c
===================================================================
--- vendor/perl/dist/win32/win32.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -64,13 +64,8 @@
 #include <stdarg.h>
 #include <float.h>
 #include <time.h>
+#include <sys/utime.h>
 
-#if defined(_MSC_VER) || defined(__MINGW32__)
-#  include <sys/utime.h>
-#else
-#  include <utime.h>
-#endif
-
 #ifdef __GNUC__
 /* Mingw32 defaults to globing command line
  * So we turn it off like this:
@@ -89,11 +84,6 @@
 END_EXTERN_C
 #endif
 
-#if defined(__BORLANDC__)
-#  define _stat stat
-#  define _utimbuf utimbuf
-#endif
-
 #define EXECF_EXEC 1
 #define EXECF_SPAWN 2
 #define EXECF_SPAWN_NOWAIT 3
@@ -109,44 +99,6 @@
 #  define getlogin g_getlogin
 #endif
 
-static void		get_shell(void);
-static long		tokenize(const char *str, char **dest, char ***destv);
-static int		do_spawn2(pTHX_ const char *cmd, int exectype);
-static BOOL		has_shell_metachars(const char *ptr);
-static long		filetime_to_clock(PFILETIME ft);
-static BOOL		filetime_from_time(PFILETIME ft, time_t t);
-static char *		get_emd_part(SV **leading, STRLEN *const len,
-				     char *trailing, ...);
-static void		remove_dead_process(long deceased);
-static long		find_pid(int pid);
-static char *		qualified_path(const char *cmd);
-static char *		win32_get_xlib(const char *pl, const char *xlib,
-				       const char *libname, STRLEN *const len);
-static LRESULT  win32_process_message(HWND hwnd, UINT msg,
-                       WPARAM wParam, LPARAM lParam);
-
-#ifdef USE_ITHREADS
-static void		remove_dead_pseudo_process(long child);
-static long		find_pseudo_pid(int pid);
-#endif
-
-START_EXTERN_C
-HANDLE	w32_perldll_handle = INVALID_HANDLE_VALUE;
-char	w32_module_name[MAX_PATH+1];
-END_EXTERN_C
-
-static OSVERSIONINFO g_osver = {0, 0, 0, 0, 0, ""};
-
-#ifdef __BORLANDC__
-/* Silence STDERR grumblings from Borland's math library. */
-DllExport int
-_matherr(struct _exception *a)
-{
-    PERL_UNUSED_VAR(a);
-    return 1;
-}
-#endif
-
 /* VS2005 (MSC version 14) provides a mechanism to set an invalid
  * parameter handler.  This functionality is not available in the
  * 64-bit compiler from the Platform SDK, which unfortunately also
@@ -163,7 +115,70 @@
 #endif
 
 #ifdef SET_INVALID_PARAMETER_HANDLER
-void my_invalid_parameter_handler(const wchar_t* expression,
+static BOOL	set_silent_invalid_parameter_handler(BOOL newvalue);
+static void	my_invalid_parameter_handler(const wchar_t* expression,
+			const wchar_t* function, const wchar_t* file,
+			unsigned int line, uintptr_t pReserved);
+#endif
+
+static char*	get_regstr_from(HKEY hkey, const char *valuename, SV **svp);
+static char*	get_regstr(const char *valuename, SV **svp);
+static char*	get_emd_part(SV **prev_pathp, STRLEN *const len,
+			char *trailing, ...);
+static char*	win32_get_xlib(const char *pl, const char *xlib,
+			const char *libname, STRLEN *const len);
+static BOOL	has_shell_metachars(const char *ptr);
+static long	tokenize(const char *str, char **dest, char ***destv);
+static void	get_shell(void);
+static char*	find_next_space(const char *s);
+static int	do_spawn2(pTHX_ const char *cmd, int exectype);
+static long	find_pid(pTHX_ int pid);
+static void	remove_dead_process(long child);
+static int	terminate_process(DWORD pid, HANDLE process_handle, int sig);
+static int	my_kill(int pid, int sig);
+static void	out_of_memory(void);
+static char*	wstr_to_str(const wchar_t* wstr);
+static long	filetime_to_clock(PFILETIME ft);
+static BOOL	filetime_from_time(PFILETIME ft, time_t t);
+static char*	create_command_line(char *cname, STRLEN clen,
+			const char * const *args);
+static char*	qualified_path(const char *cmd);
+static void	ansify_path(void);
+static LRESULT	win32_process_message(HWND hwnd, UINT msg,
+			WPARAM wParam, LPARAM lParam);
+
+#ifdef USE_ITHREADS
+static long	find_pseudo_pid(pTHX_ int pid);
+static void	remove_dead_pseudo_process(long child);
+static HWND	get_hwnd_delay(pTHX, long child, DWORD tries);
+#endif
+
+#ifdef HAVE_INTERP_INTERN
+static void	win32_csighandler(int sig);
+#endif
+
+START_EXTERN_C
+HANDLE	w32_perldll_handle = INVALID_HANDLE_VALUE;
+char	w32_module_name[MAX_PATH+1];
+END_EXTERN_C
+
+static OSVERSIONINFO g_osver = {0, 0, 0, 0, 0, ""};
+
+#ifdef SET_INVALID_PARAMETER_HANDLER
+static BOOL silent_invalid_parameter_handler = FALSE;
+
+static BOOL
+set_silent_invalid_parameter_handler(BOOL newvalue)
+{
+    BOOL oldvalue = silent_invalid_parameter_handler;
+#  ifdef _DEBUG
+    silent_invalid_parameter_handler = newvalue;
+#  endif
+    return oldvalue;
+}
+
+static void
+my_invalid_parameter_handler(const wchar_t* expression,
     const wchar_t* function, 
     const wchar_t* file, 
     unsigned int line, 
@@ -170,9 +185,20 @@
     uintptr_t pReserved)
 {
 #  ifdef _DEBUG
-    wprintf(L"Invalid parameter detected in function %s."
-            L" File: %s Line: %d\n", function, file, line);
-    wprintf(L"Expression: %s\n", expression);
+    char* ansi_expression;
+    char* ansi_function;
+    char* ansi_file;
+    if (silent_invalid_parameter_handler)
+	return;
+    ansi_expression = wstr_to_str(expression);
+    ansi_function = wstr_to_str(function);
+    ansi_file = wstr_to_str(file);
+    fprintf(stderr, "Invalid parameter detected in function %s. "
+                    "File: %s, line: %d\n", ansi_function, ansi_file, line);
+    fprintf(stderr, "Expression: %s\n", ansi_expression);
+    free(ansi_expression);
+    free(ansi_function);
+    free(ansi_file);
 #  endif
 }
 #endif
@@ -355,10 +381,9 @@
     return NULL;
 }
 
-char *
+EXTERN_C char *
 win32_get_privlib(const char *pl, STRLEN *const len)
 {
-    dTHX;
     char *stdlib = "lib";
     char buffer[MAX_PATH+1];
     SV *sv = NULL;
@@ -376,7 +401,6 @@
 win32_get_xlib(const char *pl, const char *xlib, const char *libname,
 	       STRLEN *const len)
 {
-    dTHX;
     char regstr[40];
     char pathstr[MAX_PATH+1];
     SV *sv1 = NULL;
@@ -404,6 +428,7 @@
     if (!sv1) {
 	sv1 = sv2;
     } else if (sv2) {
+        dTHX;
 	sv_catpvn(sv1, ";", 1);
 	sv_catsv(sv1, sv2);
     }
@@ -413,7 +438,7 @@
     return SvPVX(sv1);
 }
 
-char *
+EXTERN_C char *
 win32_get_sitelib(const char *pl, STRLEN *const len)
 {
     return win32_get_xlib(pl, "sitelib", "site", len);
@@ -423,7 +448,7 @@
 #  define PERL_VENDORLIB_NAME	"vendor"
 #endif
 
-char *
+EXTERN_C char *
 win32_get_vendorlib(const char *pl, STRLEN *const len)
 {
     return win32_get_xlib(pl, "vendorlib", PERL_VENDORLIB_NAME, len);
@@ -518,10 +543,9 @@
     char **retvstart = 0;
     int items = -1;
     if (str) {
-	dTHX;
 	int slen = strlen(str);
-	register char *ret;
-	register char **retv;
+	char *ret;
+	char **retv;
 	Newx(ret, slen+2, char);
 	Newx(retv, (slen+3)/2, char*);
 
@@ -789,7 +813,7 @@
 DllExport DIR *
 win32_opendir(const char *filename)
 {
-    dTHX;
+    dTHXa(NULL);
     DIR			*dirp;
     long		len;
     long		idx;
@@ -828,6 +852,7 @@
 
     /* do the FindFirstFile call */
     MultiByteToWideChar(CP_ACP, 0, scanname, -1, wscanname, sizeof(wscanname)/sizeof(WCHAR));
+    aTHXa(PERL_GET_THX);
     dirp->handle = FindFirstFileW(PerlDir_mapW(wscanname), &wFindData);
 
     if (dirp->handle == INVALID_HANDLE_VALUE) {
@@ -898,7 +923,6 @@
 	/* Now set up for the next call to readdir */
 	dirp->curr += len + 1;
 	if (dirp->curr >= dirp->end) {
-	    dTHX;
 	    BOOL res;
 	    char buffer[MAX_PATH*2];
 
@@ -980,7 +1004,6 @@
 DllExport int
 win32_closedir(DIR *dirp)
 {
-    dTHX;
     if (dirp->handle != INVALID_HANDLE_VALUE)
 	FindClose(dirp->handle);
     Safefree(dirp->start);
@@ -994,7 +1017,7 @@
 {
     dVAR;
     PerlInterpreter *const from = param->proto_perl;
-    PerlInterpreter *const to   = PERL_GET_THX;
+    PerlInterpreter *const to   = (PerlInterpreter *)PERL_GET_THX;
 
     long pos;
     DIR *dup;
@@ -1083,7 +1106,7 @@
     return (agid == ROOT_GID ? 0 : -1);
 }
 
-char *
+EXTERN_C char *
 getlogin(void)
 {
     dTHX;
@@ -1127,9 +1150,8 @@
 }
 
 static long
-find_pid(int pid)
+find_pid(pTHX_ int pid)
 {
-    dTHX;
     long child = w32_num_children;
     while (--child >= 0) {
 	if ((int)w32_child_pids[child] == pid)
@@ -1154,9 +1176,8 @@
 
 #ifdef USE_ITHREADS
 static long
-find_pseudo_pid(int pid)
+find_pseudo_pid(pTHX_ int pid)
 {
-    dTHX;
     long child = w32_num_pseudo_children;
     while (--child >= 0) {
 	if ((int)w32_pseudo_child_pids[child] == pid)
@@ -1286,6 +1307,50 @@
     return retval;
 }
 
+#ifdef USE_ITHREADS
+/* Get a child pseudo-process HWND, with retrying and delaying/yielding.
+ * The "tries" parameter is the number of retries to make, with a Sleep(1)
+ * (waiting and yielding the time slot) between each try. Specifying 0 causes
+ * only Sleep(0) (no waiting and potentially no yielding) to be used, so is not
+ * recommended
+ * Returns an hwnd != INVALID_HANDLE_VALUE (so be aware that NULL can be
+ * returned) or croaks if the child pseudo-process doesn't schedule and deliver
+ * a HWND in the time period allowed.
+ */
+static HWND
+get_hwnd_delay(pTHX, long child, DWORD tries)
+{
+    HWND hwnd = w32_pseudo_child_message_hwnds[child];
+    if (hwnd != INVALID_HANDLE_VALUE) return hwnd;
+
+    /* Pseudo-process has not yet properly initialized since hwnd isn't set.
+     * Fast sleep: On some NT kernels/systems, a Sleep(0) won't deschedule a
+     * thread 100% of the time since threads are attached to a CPU for NUMA and
+     * caching reasons, and the child thread was attached to a different CPU
+     * therefore there is no workload on that CPU and Sleep(0) returns control
+     * without yielding the time slot.
+     * https://rt.perl.org/rt3/Ticket/Display.html?id=88840
+     */
+    Sleep(0);
+    win32_async_check(aTHX);
+    hwnd = w32_pseudo_child_message_hwnds[child];
+    if (hwnd != INVALID_HANDLE_VALUE) return hwnd;
+
+    {
+	unsigned int count = 0;
+	/* No Sleep(1) if tries==0, just fail instead if we get this far. */
+	while (count++ < tries) {
+	    Sleep(1);
+	    win32_async_check(aTHX);
+	    hwnd = w32_pseudo_child_message_hwnds[child];
+	    if (hwnd != INVALID_HANDLE_VALUE) return hwnd;
+	}
+    }
+
+    Perl_croak(aTHX_ "panic: child pseudo-process was never scheduled");
+}
+#endif
+
 DllExport int
 win32_kill(int pid, int sig)
 {
@@ -1294,68 +1359,62 @@
 #ifdef USE_ITHREADS
     if (pid < 0) {
 	/* it is a pseudo-forked child */
-	child = find_pseudo_pid(-pid);
+	child = find_pseudo_pid(aTHX_ -pid);
 	if (child >= 0) {
-            HWND hwnd = w32_pseudo_child_message_hwnds[child];
 	    HANDLE hProcess = w32_pseudo_child_handles[child];
 	    switch (sig) {
-	    case 0:
-		/* "Does process exist?" use of kill */
-		return 0;
-
-	    case 9:
-                /* kill -9 style un-graceful exit */
-	    	if (TerminateThread(hProcess, sig)) {
-                    /* Allow the scheduler to finish cleaning up the other thread.
-                     * Otherwise, if we ExitProcess() before another context switch
-                     * happens we will end up with a process exit code of "sig" instead
-                     * of our own exit status.
-                     * See also: https://rt.cpan.org/Ticket/Display.html?id=66016#txn-908976
-                     */
-                    Sleep(0);
-		    remove_dead_pseudo_process(child);
+		case 0:
+		    /* "Does process exist?" use of kill */
 		    return 0;
-	    	}
-		break;
 
-	    default: {
-                int count = 0;
-                /* pseudo-process has not yet properly initialized if hwnd isn't set */
-                while (hwnd == INVALID_HANDLE_VALUE && count < 5) {
-                    /* Yield and wait for the other thread to send us its message_hwnd */
-                    Sleep(0);
-                    win32_async_check(aTHX);
-		    hwnd = w32_pseudo_child_message_hwnds[child];
-                    ++count;
-                }
-                if (hwnd != INVALID_HANDLE_VALUE) {
-                    /* We fake signals to pseudo-processes using Win32
-                     * message queue.  In Win9X the pids are negative already. */
-                    if ((hwnd != NULL && PostMessage(hwnd, WM_USER_KILL, sig, 0)) ||
-                        PostThreadMessage(-pid, WM_USER_KILL, sig, 0))
-                    {
-                        /* Don't wait for child process to terminate after we send a SIGTERM
-                         * because the child may be blocked in a system call and never receive
-                         * the signal.
-                         */
-                        if (sig == SIGTERM) {
-                            Sleep(0);
-                            w32_pseudo_child_sigterm[child] = 1;
-                        }
-                        /* It might be us ... */
-                        PERL_ASYNC_CHECK();
-                        return 0;
-                    }
-                }
-		break;
-            }
-            } /* switch */
+		case 9: {
+		    /* kill -9 style un-graceful exit */
+		    /* Do a wait to make sure child starts and isn't in DLL
+		     * Loader Lock */
+		    HWND hwnd = get_hwnd_delay(aTHX, child, 5);
+		    if (TerminateThread(hProcess, sig)) {
+			/* Allow the scheduler to finish cleaning up the other
+			 * thread.
+			 * Otherwise, if we ExitProcess() before another context
+			 * switch happens we will end up with a process exit
+			 * code of "sig" instead of our own exit status.
+			 * https://rt.cpan.org/Ticket/Display.html?id=66016#txn-908976
+			 */
+			Sleep(0);
+			remove_dead_pseudo_process(child);
+			return 0;
+		    }
+		    break;
+		}
+
+		default: {
+		    HWND hwnd = get_hwnd_delay(aTHX, child, 5);
+		    /* We fake signals to pseudo-processes using Win32
+		     * message queue. */
+		    if ((hwnd != NULL && PostMessage(hwnd, WM_USER_KILL, sig, 0)) ||
+			PostThreadMessage(-pid, WM_USER_KILL, sig, 0))
+		    {
+			/* Don't wait for child process to terminate after we send a
+			 * SIGTERM because the child may be blocked in a system call
+			 * and never receive the signal.
+			 */
+			if (sig == SIGTERM) {
+			    Sleep(0);
+			    w32_pseudo_child_sigterm[child] = 1;
+			}
+			/* It might be us ... */
+			PERL_ASYNC_CHECK();
+			return 0;
+		    }
+		    break;
+		}
+	    } /* switch */
 	}
     }
     else
 #endif
     {
-	child = find_pid(pid);
+	child = find_pid(aTHX_ pid);
 	if (child >= 0) {
             if (my_kill(pid, sig)) {
                 DWORD exitcode = 0;
@@ -1379,9 +1438,9 @@
 DllExport int
 win32_stat(const char *path, Stat_t *sbuf)
 {
-    dTHX;
     char	buffer[MAX_PATH+1];
     int		l = strlen(path);
+    dTHX;
     int		res;
     int         nlink = 1;
     BOOL        expect_dir = FALSE;
@@ -1483,8 +1542,8 @@
         }
 	if (S_ISDIR(sbuf->st_mode)) {
 	    /* Ensure the "write" bit is switched off in the mode for
-	     * directories with the read-only attribute set. Borland (at least)
-	     * switches it on for directories, which is technically correct
+	     * directories with the read-only attribute set. Some compilers
+	     * switch it on for directories, which is technically correct
 	     * (directories are indeed always writable unless denied by DACLs),
 	     * but we want stat() and -w to reflect the state of the read-only
 	     * attribute for symmetry with chmod(). */
@@ -1493,29 +1552,6 @@
 		sbuf->st_mode &= ~S_IWRITE;
 	    }
 	}
-#ifdef __BORLANDC__
-	if (S_ISDIR(sbuf->st_mode)) {
-	    sbuf->st_mode |= S_IEXEC;
-	}
-	else if (S_ISREG(sbuf->st_mode)) {
-	    int perms;
-	    if (l >= 4 && path[l-4] == '.') {
-		const char *e = path + l - 3;
-		if (strnicmp(e,"exe",3)
-		    && strnicmp(e,"bat",3)
-		    && strnicmp(e,"com",3)
-		    && strnicmp(e,"cmd",3))
-		    sbuf->st_mode &= ~S_IEXEC;
-		else
-		    sbuf->st_mode |= S_IEXEC;
-	    }
-	    else
-		sbuf->st_mode &= ~S_IEXEC;
-	    /* Propagate permissions to _group_ and _others_ */
-	    perms = sbuf->st_mode & (S_IREAD|S_IWRITE|S_IEXEC);
-	    sbuf->st_mode |= (perms>>3) | (perms>>6);
-	}
-#endif
     }
     return res;
 }
@@ -1625,16 +1661,37 @@
 static void
 out_of_memory(void)
 {
-    if (PL_curinterp) {
-        dTHX;
-        /* Can't use PerlIO to write as it allocates memory */
-        PerlLIO_write(PerlIO_fileno(Perl_error_log),
-                      PL_no_mem, strlen(PL_no_mem));
-        my_exit(1);
-    }
+    if (PL_curinterp)
+	croak_no_mem();
     exit(1);
 }
 
+void
+win32_croak_not_implemented(const char * fname)
+{
+    PERL_ARGS_ASSERT_WIN32_CROAK_NOT_IMPLEMENTED;
+
+    Perl_croak_nocontext("%s not implemented!\n", fname);
+}
+
+/* Converts a wide character (UTF-16) string to the Windows ANSI code page,
+ * potentially using the system's default replacement character for any
+ * unrepresentable characters. The caller must free() the returned string. */
+static char*
+wstr_to_str(const wchar_t* wstr)
+{
+    BOOL used_default = FALSE;
+    size_t wlen = wcslen(wstr) + 1;
+    int len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, wstr, wlen,
+                                   NULL, 0, NULL, NULL);
+    char* str = (char*)malloc(len);
+    if (!str)
+        out_of_memory();
+    WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, wstr, wlen,
+                        str, len, NULL, &used_default);
+    return str;
+}
+
 /* The win32_ansipath() function takes a Unicode filename and converts it
  * into the current Windows codepage. If some characters cannot be mapped,
  * then it will convert the short name instead.
@@ -1660,7 +1717,7 @@
     size_t widelen = wcslen(widename)+1;
     int len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
                                   NULL, 0, NULL, NULL);
-    name = win32_malloc(len);
+    name = (char*)win32_malloc(len);
     if (!name)
         out_of_memory();
 
@@ -1669,7 +1726,7 @@
     if (use_default) {
         DWORD shortlen = GetShortPathNameW(widename, NULL, 0);
         if (shortlen) {
-            WCHAR *shortname = win32_malloc(shortlen*sizeof(WCHAR));
+            WCHAR *shortname = (WCHAR*)win32_malloc(shortlen*sizeof(WCHAR));
             if (!shortname)
                 out_of_memory();
             shortlen = GetShortPathNameW(widename, shortname, shortlen)+1;
@@ -1676,7 +1733,7 @@
 
             len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, shortname, shortlen,
                                       NULL, 0, NULL, NULL);
-            name = win32_realloc(name, len);
+            name = (char*)win32_realloc(name, len);
             if (!name)
                 out_of_memory();
             WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, shortname, shortlen,
@@ -1687,12 +1744,46 @@
     return name;
 }
 
+/* the returned string must be freed with win32_freeenvironmentstrings which is
+ * implemented as a macro
+ * void win32_freeenvironmentstrings(void* block)
+ */
 DllExport char *
+win32_getenvironmentstrings(void)
+{
+    LPWSTR lpWStr, lpWTmp;
+    LPSTR lpStr, lpTmp;
+    DWORD env_len, wenvstrings_len = 0, aenvstrings_len = 0;
+
+    /* Get the process environment strings */
+    lpWTmp = lpWStr = (LPWSTR) GetEnvironmentStringsW();
+    for (wenvstrings_len = 1; *lpWTmp != '\0'; lpWTmp += env_len + 1) {
+        env_len = wcslen(lpWTmp);
+        /* calculate the size of the environment strings */
+        wenvstrings_len += env_len + 1;
+    }
+
+    /* Get the number of bytes required to store the ACP encoded string */
+    aenvstrings_len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, 
+                                          lpWStr, wenvstrings_len, NULL, 0, NULL, NULL);
+    lpTmp = lpStr = (char *)win32_calloc(aenvstrings_len, sizeof(char));
+    if(!lpTmp)
+        out_of_memory();
+
+    /* Convert the string from UTF-16 encoding to ACP encoding */
+    WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, lpWStr, wenvstrings_len, lpStr, 
+                        aenvstrings_len, NULL, NULL);
+
+    return(lpStr);
+}
+
+DllExport char *
 win32_getenv(const char *name)
 {
     dTHX;
     DWORD needlen;
     SV *curitem = NULL;
+    DWORD last_err;
 
     needlen = GetEnvironmentVariableA(name,NULL,0);
     if (needlen != 0) {
@@ -1705,10 +1796,37 @@
         SvCUR_set(curitem, needlen);
     }
     else {
-	/* allow any environment variables that begin with 'PERL'
-	   to be stored in the registry */
-	if (strncmp(name, "PERL", 4) == 0)
-	    (void)get_regstr(name, &curitem);
+	last_err = GetLastError();
+	if (last_err == ERROR_NOT_ENOUGH_MEMORY) {
+	    /* It appears the variable is in the env, but the Win32 API
+	       doesn't have a canned way of getting it.  So we fall back to
+	       grabbing the whole env and pulling this value out if possible */
+	    char *envv = GetEnvironmentStrings();
+    	    char *cur = envv;
+    	    STRLEN len;
+    	    while (*cur) {
+		char *end = strchr(cur,'=');
+		if (end && end != cur) {
+		    *end = '\0';
+		    if (!strcmp(cur,name)) {
+			curitem = sv_2mortal(newSVpv(end+1,0));
+			*end = '=';
+			break;
+		    }
+	    	    *end = '=';
+	    	    cur = end + strlen(end+1)+2;
+		}
+		else if ((len = strlen(cur)))
+	    	    cur += len+1;
+    	    }
+    	    FreeEnvironmentStrings(envv);
+	}
+	else {
+	    /* last ditch: allow any environment variables that begin with 'PERL'
+	       to be obtained from the registry, if found there */
+	    if (strncmp(name, "PERL", 4) == 0)
+		(void)get_regstr(name, &curitem);
+	}
     }
     if (curitem && SvCUR(curitem))
 	return SvPVX(curitem);
@@ -1719,13 +1837,12 @@
 DllExport int
 win32_putenv(const char *name)
 {
-    dTHX;
     char* curitem;
     char* val;
     int relval = -1;
 
     if (name) {
-        Newx(curitem,strlen(name)+1,char);
+        curitem = (char *) win32_malloc(strlen(name)+1);
         strcpy(curitem, name);
         val = strchr(curitem, '=');
         if (val) {
@@ -1749,7 +1866,7 @@
             if (SetEnvironmentVariableA(curitem, *val ? val : NULL))
                 relval = 0;
         }
-        Safefree(curitem);
+        win32_free(curitem);
     }
     return relval;
 }
@@ -1969,8 +2086,7 @@
 	char *arch;
 	GetSystemInfo(&info);
 
-#if (defined(__BORLANDC__)&&(__BORLANDC__<=0x520)) \
- || (defined(__MINGW32__) && !defined(_ANONYMOUS_UNION) && !defined(__MINGW_EXTENSION))
+#if (defined(__MINGW32__) && !defined(_ANONYMOUS_UNION) && !defined(__MINGW_EXTENSION))
 	procarch = info.u.s.wProcessorArchitecture;
 #else
 	procarch = info.wProcessorArchitecture;
@@ -2096,13 +2212,33 @@
 win32_msgwait(pTHX_ DWORD count, LPHANDLE handles, DWORD timeout, LPDWORD resultp)
 {
     /* We may need several goes at this - so compute when we stop */
-    DWORD ticks = 0;
+    FT_t ticks = {0};
+    unsigned __int64 endtime = timeout;
     if (timeout != INFINITE) {
-	ticks = GetTickCount();
-	timeout += ticks;
+	GetSystemTimeAsFileTime(&ticks.ft_val);
+	ticks.ft_i64 /= 10000;
+	endtime += ticks.ft_i64;
     }
-    while (1) {
-	DWORD result = MsgWaitForMultipleObjects(count,handles,FALSE,timeout-ticks, QS_POSTMESSAGE|QS_TIMER|QS_SENDMESSAGE);
+    /* This was a race condition. Do not let a non INFINITE timeout to
+     * MsgWaitForMultipleObjects roll under 0 creating a near
+     * infinity/~(UINT32)0 timeout which will appear as a deadlock to the
+     * user who did a CORE perl function with a non infinity timeout,
+     * sleep for example.  This is 64 to 32 truncation minefield.
+     *
+     * This scenario can only be created if the timespan from the return of
+     * MsgWaitForMultipleObjects to GetSystemTimeAsFileTime exceeds 1 ms. To
+     * generate the scenario, manual breakpoints in a C debugger are required,
+     * or a context switch occured in win32_async_check in PeekMessage, or random
+     * messages are delivered to the *thread* message queue of the Perl thread
+     * from another process (msctf.dll doing IPC among its instances, VS debugger
+     * causes msctf.dll to be loaded into Perl by kernel), see [perl #33096].
+     */
+    while (ticks.ft_i64 <= endtime) {
+	/* if timeout's type is lengthened, remember to split 64b timeout
+	 * into multiple non-infinity runs of MWFMO */
+	DWORD result = MsgWaitForMultipleObjects(count, handles, FALSE,
+						(DWORD)(endtime - ticks.ft_i64),
+						QS_POSTMESSAGE|QS_TIMER|QS_SENDMESSAGE);
 	if (resultp)
 	   *resultp = result;
 	if (result == WAIT_TIMEOUT) {
@@ -2112,8 +2248,9 @@
 	    return 0;
 	}
 	if (timeout != INFINITE) {
-	    ticks = GetTickCount();
-        }
+	    GetSystemTimeAsFileTime(&ticks.ft_val);
+	    ticks.ft_i64 /= 10000;
+	}
 	if (result == WAIT_OBJECT_0 + count) {
 	    /* Message has arrived - check it */
 	    (void)win32_async_check(aTHX);
@@ -2123,19 +2260,21 @@
 	   break;
 	}
     }
+    /* If we are past the end say zero */
+    if (!ticks.ft_i64 || ticks.ft_i64 > endtime)
+	return 0;
     /* compute time left to wait */
-    ticks = timeout - ticks;
-    /* If we are past the end say zero */
-    return (ticks > 0) ? ticks : 0;
+    ticks.ft_i64 = endtime - ticks.ft_i64;
+    /* if more ms than DWORD, then return max DWORD */
+    return ticks.ft_i64 <= UINT_MAX ? (DWORD)ticks.ft_i64 : UINT_MAX;
 }
 
 int
-win32_internal_wait(int *status, DWORD timeout)
+win32_internal_wait(pTHX_ int *status, DWORD timeout)
 {
     /* XXX this wait emulation only knows about processes
      * spawned via win32_spawnvp(P_NOWAIT, ...).
      */
-    dTHX;
     int i, retval;
     DWORD exitcode, waitcode;
 
@@ -2201,10 +2340,10 @@
     int retval = -1;
     long child;
     if (pid == -1)				/* XXX threadid == 1 ? */
-	return win32_internal_wait(status, timeout);
+	return win32_internal_wait(aTHX_ status, timeout);
 #ifdef USE_ITHREADS
     else if (pid < 0) {
-	child = find_pseudo_pid(-pid);
+	child = find_pseudo_pid(aTHX_ -pid);
 	if (child >= 0) {
 	    HANDLE hThread = w32_pseudo_child_handles[child];
 	    DWORD waitcode;
@@ -2228,7 +2367,7 @@
     else {
 	HANDLE hProcess;
 	DWORD waitcode;
-	child = find_pid(pid);
+	child = find_pid(aTHX_ pid);
 	if (child >= 0) {
 	    hProcess = w32_child_handles[child];
 	    win32_msgwait(aTHX_ 1, &hProcess, timeout, &waitcode);
@@ -2273,7 +2412,8 @@
 DllExport int
 win32_wait(int *status)
 {
-    return win32_internal_wait(status, INFINITE);
+    dTHX;
+    return win32_internal_wait(aTHX_ status, INFINITE);
 }
 
 DllExport unsigned int
@@ -2281,7 +2421,11 @@
 {
     dTHX;
     /* Win32 times are in ms so *1000 in and /1000 out */
-    return win32_msgwait(aTHX_ 0, NULL, t*1000, NULL)/1000;
+    if (t > UINT_MAX / 1000) {
+	Perl_ck_warner(aTHX_ packWARN(WARN_OVERFLOW),
+			"sleep(%lu) too large", t);
+    }
+    return win32_msgwait(aTHX_ 0, NULL, t * 1000, NULL) / 1000;
 }
 
 DllExport unsigned int
@@ -2436,15 +2580,16 @@
 DllExport char *
 win32_strerror(int e)
 {
-#if !defined __BORLANDC__ && !defined __MINGW32__      /* compiler intolerance */
+#if !defined __MINGW32__      /* compiler intolerance */
     extern int sys_nerr;
 #endif
 
     if (e < 0 || e > sys_nerr) {
-        dTHX;
+        dTHXa(NULL);
 	if (e < 0)
 	    e = GetLastError();
 
+	aTHXa(PERL_GET_THX);
 	if (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM
                          |FORMAT_MESSAGE_IGNORE_INSERTS, NULL, e, 0,
 			  w32_strerror_buffer, sizeof(w32_strerror_buffer),
@@ -2538,7 +2683,7 @@
 DllExport FILE *
 win32_fopen(const char *filename, const char *mode)
 {
-    dTHX;
+    dTHXa(NULL);
     FILE *f;
 
     if (!*filename)
@@ -2547,6 +2692,7 @@
     if (stricmp(filename, "/dev/null")==0)
 	filename = "NUL";
 
+    aTHXa(PERL_GET_THX);
     f = fopen(PerlDir_mapA(filename), mode);
     /* avoid buffering headaches for child processes */
     if (f && *mode == 'a')
@@ -2554,15 +2700,9 @@
     return f;
 }
 
-#ifndef USE_SOCKETS_AS_HANDLES
-#undef fdopen
-#define fdopen my_fdopen
-#endif
-
 DllExport FILE *
 win32_fdopen(int handle, const char *mode)
 {
-    dTHX;
     FILE *f;
     f = fdopen(handle, (char *) mode);
     /* avoid buffering headaches for child processes */
@@ -2574,10 +2714,11 @@
 DllExport FILE *
 win32_freopen(const char *path, const char *mode, FILE *stream)
 {
-    dTHX;
+    dTHXa(NULL);
     if (stricmp(path, "/dev/null")==0)
 	path = "NUL";
 
+    aTHXa(PERL_GET_THX);
     return freopen(PerlDir_mapA(path), mode, stream);
 }
 
@@ -2584,7 +2725,11 @@
 DllExport int
 win32_fclose(FILE *pf)
 {
+#ifdef WIN32_NO_SOCKETS
+    return fclose(pf);
+#else
     return my_fclose(pf);	/* defined in win32sck.c */
+#endif
 }
 
 DllExport int
@@ -2634,14 +2779,10 @@
 win32_ftell(FILE *pf)
 {
 #if defined(WIN64) || defined(USE_LARGE_FILES)
-#if defined(__BORLANDC__) /* buk */
-    return win32_tell( fileno( pf ) );
-#else
     fpos_t pos;
     if (fgetpos(pf, &pos))
 	return -1;
     return (Off_t)pos;
-#endif
 #else
     return ftell(pf);
 #endif
@@ -2651,13 +2792,6 @@
 win32_fseek(FILE *pf, Off_t offset,int origin)
 {
 #if defined(WIN64) || defined(USE_LARGE_FILES)
-#if defined(__BORLANDC__) /* buk */
-    return win32_lseek(
-        fileno(pf),
-        offset,
-        origin
-        );
-#else
     fpos_t pos;
     switch (origin) {
     case SEEK_CUR:
@@ -2677,7 +2811,6 @@
 	return -1;
     }
     return fsetpos(pf, &offset);
-#endif
 #else
     return fseek(pf, (long)offset, origin);
 #endif
@@ -2686,25 +2819,13 @@
 DllExport int
 win32_fgetpos(FILE *pf,fpos_t *p)
 {
-#if defined(__BORLANDC__) && defined(USE_LARGE_FILES) /* buk */
-    if( win32_tell(fileno(pf)) == -1L ) {
-        errno = EBADF;
-        return -1;
-    }
-    return 0;
-#else
     return fgetpos(pf, p);
-#endif
 }
 
 DllExport int
 win32_fsetpos(FILE *pf,const fpos_t *p)
 {
-#if defined(__BORLANDC__) && defined(USE_LARGE_FILES) /* buk */
-    return win32_lseek(fileno(pf), *p, SEEK_CUR);
-#else
     return fsetpos(pf, p);
-#endif
 }
 
 DllExport void
@@ -2717,7 +2838,6 @@
 DllExport int
 win32_tmpfd(void)
 {
-    dTHX;
     char prefix[MAX_PATH+1];
     char filename[MAX_PATH+1];
     DWORD len = GetTempPath(MAX_PATH, prefix);
@@ -2734,9 +2854,7 @@
 	    if (fh != INVALID_HANDLE_VALUE) {
 		int fd = win32_open_osfhandle((intptr_t)fh, 0);
 		if (fd >= 0) {
-#if defined(__BORLANDC__)
-        	    setmode(fd,O_BINARY);
-#endif
+		    PERL_DEB(dTHX;)
 		    DEBUG_p(PerlIO_printf(Perl_debug_log,
 					  "Created tmpfile=%s\n",filename));
 		    return fd;
@@ -2766,50 +2884,10 @@
 DllExport int
 win32_fstat(int fd, Stat_t *sbufptr)
 {
-#ifdef __BORLANDC__
-    /* A file designated by filehandle is not shown as accessible
-     * for write operations, probably because it is opened for reading.
-     * --Vadim Konovalov
-     */
-    BY_HANDLE_FILE_INFORMATION bhfi;
-#  if defined(WIN64) || defined(USE_LARGE_FILES)
-    /* Borland 5.5.1 has a 64-bit stat, but only a 32-bit fstat */
-    struct stat tmp;
-    int rc = fstat(fd,&tmp);
-
-    sbufptr->st_dev   = tmp.st_dev;
-    sbufptr->st_ino   = tmp.st_ino;
-    sbufptr->st_mode  = tmp.st_mode;
-    sbufptr->st_nlink = tmp.st_nlink;
-    sbufptr->st_uid   = tmp.st_uid;
-    sbufptr->st_gid   = tmp.st_gid;
-    sbufptr->st_rdev  = tmp.st_rdev;
-    sbufptr->st_size  = tmp.st_size;
-    sbufptr->st_atime = tmp.st_atime;
-    sbufptr->st_mtime = tmp.st_mtime;
-    sbufptr->st_ctime = tmp.st_ctime;
-#  else
-    int rc = fstat(fd,sbufptr);
-#  endif
-
-    if (GetFileInformationByHandle((HANDLE)_get_osfhandle(fd), &bhfi)) {
-#  if defined(WIN64) || defined(USE_LARGE_FILES)
-        sbufptr->st_size = ((__int64)bhfi.nFileSizeHigh << 32) | bhfi.nFileSizeLow ;
-#  endif
-        sbufptr->st_mode &= 0xFE00;
-        if (bhfi.dwFileAttributes & FILE_ATTRIBUTE_READONLY)
-            sbufptr->st_mode |= (S_IREAD + (S_IREAD >> 3) + (S_IREAD >> 6));
-        else
-            sbufptr->st_mode |= ((S_IREAD|S_IWRITE) + ((S_IREAD|S_IWRITE) >> 3)
-              + ((S_IREAD|S_IWRITE) >> 6));
-    }
-    return rc;
+#if defined(WIN64) || defined(USE_LARGE_FILES)
+    return _fstati64(fd, sbufptr);
 #else
-#  if defined(WIN64) || defined(USE_LARGE_FILES)
-    return _fstati64(fd, sbufptr);
-#  else
     return fstat(fd, sbufptr);
-#  endif
 #endif
 }
 
@@ -2822,8 +2900,7 @@
 DllExport PerlIO*
 win32_popenlist(const char *mode, IV narg, SV **args)
 {
- dTHX;
- Perl_croak(aTHX_ "List form of pipe open not implemented");
+ Perl_croak_nocontext("List form of pipe open not implemented");
  return NULL;
 }
 
@@ -2839,7 +2916,6 @@
 #ifdef USE_RTL_POPEN
     return _popen(command, mode);
 #else
-    dTHX;
     int p[2];
     int parent, child;
     int stdfd, oldfd;
@@ -2992,18 +3068,48 @@
 DllExport int
 win32_link(const char *oldname, const char *newname)
 {
-    dTHX;
+    dTHXa(NULL);
     WCHAR wOldName[MAX_PATH+1];
     WCHAR wNewName[MAX_PATH+1];
 
     if (MultiByteToWideChar(CP_ACP, 0, oldname, -1, wOldName, MAX_PATH+1) &&
         MultiByteToWideChar(CP_ACP, 0, newname, -1, wNewName, MAX_PATH+1) &&
-	(wcscpy(wOldName, PerlDir_mapW(wOldName)),
+	((aTHXa(PERL_GET_THX)), wcscpy(wOldName, PerlDir_mapW(wOldName)),
         CreateHardLinkW(PerlDir_mapW(wNewName), wOldName, NULL)))
     {
 	return 0;
     }
-    errno = (GetLastError() == ERROR_FILE_NOT_FOUND) ? ENOENT : EINVAL;
+    /* This isn't perfect, eg. Win32 returns ERROR_ACCESS_DENIED for
+       both permissions errors and if the source is a directory, while
+       POSIX wants EACCES and EPERM respectively.
+
+       Determined by experimentation on Windows 7 x64 SP1, since MS
+       don't document what error codes are returned.
+    */
+    switch (GetLastError()) {
+    case ERROR_BAD_NET_NAME:
+    case ERROR_BAD_NETPATH:
+    case ERROR_BAD_PATHNAME:
+    case ERROR_FILE_NOT_FOUND:
+    case ERROR_FILENAME_EXCED_RANGE:
+    case ERROR_INVALID_DRIVE:
+    case ERROR_PATH_NOT_FOUND:
+      errno = ENOENT;
+      break;
+    case ERROR_ALREADY_EXISTS:
+      errno = EEXIST;
+      break;
+    case ERROR_ACCESS_DENIED:
+      errno = EACCES;
+      break;
+    case ERROR_NOT_SAME_DEVICE:
+      errno = EXDEV;
+      break;
+    default:
+      /* ERROR_INVALID_FUNCTION - eg. on a FAT volume */
+      errno = EINVAL;
+      break;
+    }
     return -1;
 }
 
@@ -3101,23 +3207,7 @@
 win32_lseek(int fd, Off_t offset, int origin)
 {
 #if defined(WIN64) || defined(USE_LARGE_FILES)
-#if defined(__BORLANDC__) /* buk */
-    LARGE_INTEGER pos;
-    pos.QuadPart = offset;
-    pos.LowPart = SetFilePointer(
-        (HANDLE)_get_osfhandle(fd),
-        pos.LowPart,
-        &pos.HighPart,
-        origin
-    );
-    if (pos.LowPart == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) {
-        pos.QuadPart = -1;
-    }
-
-    return pos.QuadPart;
-#else
     return _lseeki64(fd, offset, origin);
-#endif
 #else
     return lseek(fd, (long)offset, origin);
 #endif
@@ -3127,24 +3217,7 @@
 win32_tell(int fd)
 {
 #if defined(WIN64) || defined(USE_LARGE_FILES)
-#if defined(__BORLANDC__) /* buk */
-    LARGE_INTEGER pos;
-    pos.QuadPart = 0;
-    pos.LowPart = SetFilePointer(
-        (HANDLE)_get_osfhandle(fd),
-        pos.LowPart,
-        &pos.HighPart,
-        FILE_CURRENT
-    );
-    if (pos.LowPart == INVALID_SET_FILE_POINTER && GetLastError() != NO_ERROR) {
-        pos.QuadPart = -1;
-    }
-
-    return pos.QuadPart;
-    /* return tell(fd); */
-#else
     return _telli64(fd);
-#endif
 #else
     return tell(fd);
 #endif
@@ -3153,7 +3226,7 @@
 DllExport int
 win32_open(const char *path, int flag, ...)
 {
-    dTHX;
+    dTHXa(NULL);
     va_list ap;
     int pmode;
 
@@ -3164,6 +3237,7 @@
     if (stricmp(path, "/dev/null")==0)
 	path = "NUL";
 
+    aTHXa(PERL_GET_THX);
     return open(PerlDir_mapA(path), flag, pmode);
 }
 
@@ -3173,7 +3247,11 @@
 DllExport int
 win32_close(int fd)
 {
+#ifdef WIN32_NO_SOCKETS
+    return close(fd);
+#else
     return my_close(fd);
+#endif
 }
 
 DllExport int
@@ -3244,7 +3322,6 @@
 DllExport int
 win32_chdir(const char *dir)
 {
-    dTHX;
     if (!dir) {
 	errno = ENOENT;
 	return -1;
@@ -3270,7 +3347,7 @@
 static char *
 create_command_line(char *cname, STRLEN clen, const char * const *args)
 {
-    dTHX;
+    PERL_DEB(dTHX;)
     int index, argc;
     char *cmd, *ptr;
     const char *arg;
@@ -3425,7 +3502,6 @@
 static char *
 qualified_path(const char *cmd)
 {
-    dTHX;
     char *pathstr;
     char *fullcmd, *curfullcmd;
     STRLEN cmdlen = 0;
@@ -3442,8 +3518,10 @@
     }
 
     /* look in PATH */
-    pathstr = PerlEnv_getenv("PATH");
-
+    {
+	dTHX;
+	pathstr = PerlEnv_getenv("PATH");
+    }
     /* worst case: PATH is a single directory; we need additional space
      * to append "/", ".exe" and trailing "\0" */
     Newx(fullcmd, (pathstr ? strlen(pathstr) : 0) + cmdlen + 6, char);
@@ -3549,7 +3627,6 @@
 DllExport char*
 win32_get_childdir(void)
 {
-    dTHX;
     char* ptr;
     char szfilename[MAX_PATH+1];
 
@@ -3562,7 +3639,6 @@
 DllExport void
 win32_free_childdir(char* d)
 {
-    dTHX;
     Safefree(d);
 }
 
@@ -3584,7 +3660,7 @@
 #ifdef USE_RTL_SPAWNVP
     return spawnvp(mode, cmdname, (char * const *)argv);
 #else
-    dTHX;
+    dTHXa(NULL);
     int ret;
     void* env;
     char* dir;
@@ -3617,6 +3693,7 @@
 
     cmd = create_command_line(cname, clen, argv);
 
+    aTHXa(PERL_GET_THX);
     env = PerlEnv_get_childenv();
     dir = PerlEnv_get_childdir();
 
@@ -3746,17 +3823,9 @@
     /* if this is a pseudo-forked child, we just want to spawn
      * the new program, and return */
     if (w32_pseudo_id)
-#  ifdef __BORLANDC__
-	return spawnv(P_WAIT, cmdname, (char *const *)argv);
-#  else
 	return spawnv(P_WAIT, cmdname, argv);
-#  endif
 #endif
-#ifdef __BORLANDC__
-    return execv(cmdname, (char *const *)argv);
-#else
     return execv(cmdname, argv);
-#endif
 }
 
 DllExport int
@@ -3776,11 +3845,7 @@
 	    return status;
     }
 #endif
-#ifdef __BORLANDC__
-    return execvp(cmdname, (char *const *)argv);
-#else
     return execvp(cmdname, argv);
-#endif
 }
 
 DllExport void
@@ -3999,21 +4064,6 @@
     int fileno = win32_dup(win32_fileno(pf));
 
     /* open the file in the same mode */
-#ifdef __BORLANDC__
-    if((pf)->flags & _F_READ) {
-	mode[0] = 'r';
-	mode[1] = 0;
-    }
-    else if((pf)->flags & _F_WRIT) {
-	mode[0] = 'a';
-	mode[1] = 0;
-    }
-    else if((pf)->flags & _F_RDWR) {
-	mode[0] = 'r';
-	mode[1] = '+';
-	mode[2] = 0;
-    }
-#else
     if((pf)->_flag & _IOREAD) {
 	mode[0] = 'r';
 	mode[1] = 0;
@@ -4027,7 +4077,6 @@
 	mode[1] = '+';
 	mode[2] = 0;
     }
-#endif
 
     /* it appears that the binmode is attached to the
      * file descriptor so binmode files will be handled
@@ -4045,9 +4094,9 @@
 DllExport void*
 win32_dynaload(const char* filename)
 {
-    dTHX;
+    dTHXa(NULL);
     char buf[MAX_PATH+1];
-    char *first;
+    const char *first;
 
     /* LoadLibrary() doesn't recognize forward slashes correctly,
      * so turn 'em back. */
@@ -4065,6 +4114,7 @@
 	    filename = buf;
 	}
     }
+    aTHXa(PERL_GET_THX);
     return LoadLibraryExA(PerlDir_mapA(filename), NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
 }
 
@@ -4096,19 +4146,19 @@
 void
 Perl_init_os_extras(void)
 {
-    dTHX;
+    dTHXa(NULL);
     char *file = __FILE__;
 
     /* Initialize Win32CORE if it has been statically linked. */
+#ifndef PERL_IS_MINIPERL
     void (*pfn_init)(pTHX);
-#if defined(__BORLANDC__)
-    /* makedef.pl seems to have given up on fixing this issue in the .def file */
-    pfn_init = (void (*)(pTHX))GetProcAddress((HMODULE)w32_perldll_handle, "_init_Win32CORE");
-#else
     pfn_init = (void (*)(pTHX))GetProcAddress((HMODULE)w32_perldll_handle, "init_Win32CORE");
-#endif
+    aTHXa(PERL_GET_THX);
     if (pfn_init)
         pfn_init(aTHX);
+#else
+    aTHXa(PERL_GET_THX);
+#endif
 
     newXS("Win32::SetChildShowWindow", w32_SetChildShowWindow, file);
 }
@@ -4196,13 +4246,17 @@
 
     /* fetch Unicode version of PATH */
     len = 2000;
-    wide_path = win32_malloc(len*sizeof(WCHAR));
+    wide_path = (WCHAR*)win32_malloc(len*sizeof(WCHAR));
     while (wide_path) {
         size_t newlen = GetEnvironmentVariableW(L"PATH", wide_path, len);
+        if (newlen == 0) {
+            win32_free(wide_path);
+            return;
+        }
         if (newlen < len)
             break;
         len = newlen;
-        wide_path = win32_realloc(wide_path, len*sizeof(WCHAR));
+        wide_path = (WCHAR*)win32_realloc(wide_path, len*sizeof(WCHAR));
     }
     if (!wide_path)
         return;
@@ -4231,7 +4285,7 @@
         ansi_len = strlen(ansi_dir);
         if (ansi_path) {
             size_t newlen = len + 1 + ansi_len;
-            ansi_path = win32_realloc(ansi_path, newlen+1);
+            ansi_path = (char*)win32_realloc(ansi_path, newlen+1);
             if (!ansi_path)
                 break;
             ansi_path[len] = ';';
@@ -4240,7 +4294,7 @@
         }
         else {
             len = ansi_len;
-            ansi_path = win32_malloc(5+len+1);
+            ansi_path = (char*)win32_malloc(5+len+1);
             if (!ansi_path)
                 break;
             memcpy(ansi_path, "PATH=", 5);
@@ -4270,7 +4324,7 @@
          */
         SetEnvironmentVariableA("PATH", ansi_path+5);
         /* We are intentionally leaking the ansi_path string here because
-         * the Borland runtime library puts it directly into the environ
+         * the some runtime libraries puts it directly into the environ
          * array.  The Microsoft runtime library seems to make a copy,
          * but will leak the copy should it be replaced again later.
          * Since this code is only called once during PERL_SYS_INIT this
@@ -4291,7 +4345,7 @@
 #endif
     /* Disable floating point errors, Perl will trap the ones we
      * care about.  VC++ RTL defaults to switching these off
-     * already, but the Borland RTL doesn't.  Since we don't
+     * already, but some RTLs don't.  Since we don't
      * want to be at the vendor's whim on the default, we set
      * it explicitly here.
      */
@@ -4319,7 +4373,6 @@
 void
 Perl_win32_term(void)
 {
-    dTHX;
     HINTS_REFCNT_TERM;
     OP_REFCNT_TERM;
     PERLIO_TERM;
@@ -4337,10 +4390,20 @@
 Sighandler_t
 win32_signal(int sig, Sighandler_t subcode)
 {
-    dTHX;
+    dTHXa(NULL);
     if (sig < SIG_SIZE) {
 	int save_errno = errno;
-	Sighandler_t result = signal(sig, subcode);
+	Sighandler_t result;
+#ifdef SET_INVALID_PARAMETER_HANDLER
+	/* Silence our invalid parameter handler since we expect to make some
+	 * calls with invalid signal numbers giving a SIG_ERR result. */
+	BOOL oldvalue = set_silent_invalid_parameter_handler(TRUE);
+#endif
+	result = signal(sig, subcode);
+#ifdef SET_INVALID_PARAMETER_HANDLER
+	set_silent_invalid_parameter_handler(oldvalue);
+#endif
+	aTHXa(PERL_GET_THX);
 	if (result == SIG_ERR) {
 	    result = w32_sighandler[sig];
 	    errno = save_errno;
@@ -4380,14 +4443,14 @@
      * are relativley infrequent code-paths, is better than the added
      * complexity of getting the correct context passed into
      * win32_create_message_window() */
+    dTHX;
 
     switch(msg) {
 
 #ifdef USE_ITHREADS
         case WM_USER_MESSAGE: {
-            long child = find_pseudo_pid((int)wParam);
+            long child = find_pseudo_pid(aTHX_ (int)wParam);
             if (child >= 0) {
-                dTHX;
                 w32_pseudo_child_message_hwnds[child] = (HWND)lParam;
                 return 1;
             }
@@ -4396,7 +4459,6 @@
 #endif
 
         case WM_USER_KILL: {
-            dTHX;
             /* We use WM_USER_KILL to fake kill() with other signals */
             int sig = (int)wParam;
             if (do_raise(aTHX_ sig))
@@ -4406,7 +4468,6 @@
         }
 
         case WM_TIMER: {
-            dTHX;
             /* alarm() is a one-shot but SetTimer() repeats so kill it */
             if (w32_timerid && w32_timerid==(UINT)wParam) {
                 KillTimer(w32_message_hwnd, w32_timerid);


Property changes on: vendor/perl/dist/win32/win32.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/win32.h
===================================================================
--- vendor/perl/dist/win32/win32.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,6 +13,38 @@
 #  define _WIN32_WINNT 0x0500     /* needed for CreateHardlink() etc. */
 #endif
 
+#ifdef PERL_IS_MINIPERL
+/* this macro will remove Winsock only on miniperl, PERL_IMPLICIT_SYS and
+ * makedef.pl create dependencies that will keep Winsock linked in even with
+ * this macro defined, even though sockets will be umimplemented from a script
+ * level in full perl
+ */
+#  define WIN32_NO_SOCKETS
+#endif
+
+#ifdef WIN32_NO_SOCKETS
+#  undef HAS_SOCKET
+#  undef HAS_GETPROTOBYNAME
+#  undef HAS_GETPROTOBYNUMBER
+#  undef HAS_GETPROTOENT
+#  undef HAS_GETNETBYNAME
+#  undef HAS_GETNETBYADDR
+#  undef HAS_GETNETENT
+#  undef HAS_GETSERVBYNAME
+#  undef HAS_GETSERVBYPORT
+#  undef HAS_GETSERVENT
+#  undef HAS_GETHOSTBYNAME
+#  undef HAS_GETHOSTBYADDR
+#  undef HAS_GETHOSTENT
+#  undef HAS_SELECT
+#  undef HAS_IOCTL
+#  undef HAS_NTOHL
+#  undef HAS_HTONL
+#  undef HAS_HTONS
+#  undef HAS_NTOHS
+#  define WIN32SCK_IS_STDSCK
+#endif
+
 #if defined(PERL_IMPLICIT_SYS)
 #  define DYNAMIC_ENV_FETCH
 #  define HAS_GETENV_LEN
@@ -46,12 +78,15 @@
  */
 
 /* now even GCC supports __declspec() */
-
-#if defined(PERLDLL)
-#define DllExport
-/*#define DllExport __declspec(dllexport)*/	/* noises with VC5+sp3 */
+/* miniperl has no reason to export anything */
+#if defined(PERL_IS_MINIPERL) && !defined(UNDER_CE) && defined(_MSC_VER)
+#  define DllExport
 #else
-#define DllExport __declspec(dllimport)
+#  if defined(PERLDLL)
+#    define DllExport __declspec(dllexport)
+#  else
+#    define DllExport __declspec(dllimport)
+#  endif
 #endif
 
 /* The Perl APIs can only be called directly inside the perl5xx.dll.
@@ -66,11 +101,26 @@
 #if !defined(PERLDLL) && !defined(PERL_EXT_RE_BUILD)
 #  ifdef __cplusplus
 #    define PERL_CALLCONV extern "C" __declspec(dllimport)
+#    ifdef _MSC_VER
+#      define PERL_CALLCONV_NO_RET extern "C" __declspec(dllimport) __declspec(noreturn)
+#    endif
 #  else
 #    define PERL_CALLCONV __declspec(dllimport)
+#    ifdef _MSC_VER
+#      define PERL_CALLCONV_NO_RET __declspec(dllimport) __declspec(noreturn)
+#    endif
 #  endif
+#else /* MSVC noreturn support inside the interp */
+#  ifdef _MSC_VER
+#    define PERL_CALLCONV_NO_RET __declspec(noreturn)
+#  endif
 #endif
 
+#ifdef _MSC_VER
+#  define PERL_STATIC_NO_RET __declspec(noreturn) static
+#  define PERL_STATIC_INLINE_NO_RET __declspec(noreturn) PERL_STATIC_INLINE
+#endif
+
 #define  WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
@@ -147,34 +197,18 @@
 #define  DOSISH		1		/* no escaping our roots */
 #define  OP_BINARY	O_BINARY	/* mistake in in pp_sys.c? */
 
-/* Define USE_SOCKETS_AS_HANDLES to enable emulation of windows sockets as
- * real filehandles. XXX Should always be defined (the other version is untested) */
-#define USE_SOCKETS_AS_HANDLES
-
 /* read() and write() aren't transparent for socket handles */
-#define PERL_SOCK_SYSREAD_IS_RECV
-#define PERL_SOCK_SYSWRITE_IS_SEND
+#ifndef WIN32_NO_SOCKETS
+#  define PERL_SOCK_SYSREAD_IS_RECV
+#  define PERL_SOCK_SYSWRITE_IS_SEND
+#endif
 
 #define PERL_NO_FORCE_LINK		/* no need for PL_force_link_funcs */
 
-/* Define PERL_WIN32_SOCK_DLOAD to have Perl dynamically load the winsock
-   DLL when needed. Don't use if your compiler supports delayloading (ie, VC++ 6.0)
-	-- BKS 5-29-2000 */
-#if !(defined(_M_IX86) && _MSC_VER >= 1200)
-#define PERL_WIN32_SOCK_DLOAD
-#endif
 #define ENV_IS_CASELESS
 
 #define PIPESOCK_MODE	"b"		/* pipes, sockets default to binmode */
 
-#ifndef VER_PLATFORM_WIN32_WINDOWS	/* VC-2.0 headers don't have this */
-#define VER_PLATFORM_WIN32_WINDOWS	1
-#endif
-
-#ifndef FILE_SHARE_DELETE		/* VC-4.0 headers don't have this */
-#define FILE_SHARE_DELETE		0x00000004
-#endif
-
 /* access() mode bits */
 #ifndef R_OK
 #  define	R_OK	4
@@ -192,46 +226,12 @@
 
 /* Compiler-specific stuff. */
 
-#if defined(_MSC_VER) || defined(__MINGW32__)
 /* VC uses non-standard way to determine the size and alignment if bit-fields */
-/* MinGW will compiler with -mms-bitfields, so should use the same types */
-#  define PERL_BITFIELD8  unsigned char
-#  define PERL_BITFIELD16 unsigned short
-#  define PERL_BITFIELD32 unsigned int
-#endif
+/* MinGW will compile with -mms-bitfields, so should use the same types */
+#define PERL_BITFIELD8  unsigned char
+#define PERL_BITFIELD16 unsigned short
+#define PERL_BITFIELD32 unsigned int
 
-#ifdef __BORLANDC__		/* Borland C++ */
-
-#if (__BORLANDC__ <= 0x520)
-#define _access access
-#define _chdir chdir
-#endif
-
-#define _getpid getpid
-#define wcsicmp _wcsicmp
-#include <sys/types.h>
-
-#ifndef DllMain
-#define DllMain DllEntryPoint
-#endif
-
-#pragma warn -8004	/* "'foo' is assigned a value that is never used" */
-#pragma warn -8008	/* "condition is always true/false" */
-#pragma warn -8012	/* "comparing signed and unsigned values" */
-#pragma warn -8027	/* "functions containing %s are not expanded inline" */
-#pragma warn -8057	/* "parameter 'foo' is never used" */
-#pragma warn -8060	/* "possibly incorrect assignment" */
-#pragma warn -8066	/* "unreachable code" */
-#pragma warn -8071	/* "conversion may lose significant digits" */
-#pragma warn -8080	/* "'foo' is declared but never used" */
-
-/* Borland C thinks that a pointer to a member variable is 12 bytes in size. */
-#define PERL_MEMBER_PTR_SIZE	12
-
-#define isnan		_isnan
-
-#endif
-
 #ifdef _MSC_VER			/* Microsoft Visual C++ */
 
 #ifndef UNDER_CE
@@ -242,9 +242,6 @@
 
 #pragma  warning(disable: 4102)	/* "unreferenced label" */
 
-/* Visual C thinks that a pointer to a member variable is 16 bytes in size. */
-#define PERL_MEMBER_PTR_SIZE	16
-
 #define isnan		_isnan
 #define snprintf	_snprintf
 #define vsnprintf	_vsnprintf
@@ -287,14 +284,11 @@
 #  endif
 #endif
 
-#endif /* __MINGW32__ */
-
-/* both GCC/Mingw32 and MSVC++ 4.0 are missing this, so we put it here */
 #ifndef CP_UTF8
 #  define CP_UTF8	65001
 #endif
 
-/* compatibility stuff for other compilers goes here */
+#endif /* __MINGW32__ */
 
 #ifndef _INTPTR_T_DEFINED
 typedef int		intptr_t;
@@ -310,6 +304,7 @@
 
 /* For UNIX compatibility. */
 
+#ifdef PERL_CORE
 extern  uid_t	getuid(void);
 extern  gid_t	getgid(void);
 extern  uid_t	geteuid(void);
@@ -325,6 +320,7 @@
 extern	char *	getlogin(void);
 extern	int	chown(const char *p, uid_t o, gid_t g);
 extern  int	mkstemp(const char *path);
+#endif
 
 #undef	 Stat
 #define  Stat		win32_stat
@@ -364,9 +360,6 @@
 DllExport void		win32_get_child_IO(child_IO_table* ptr);
 DllExport HWND		win32_create_message_window(void);
 
-#ifndef USE_SOCKETS_AS_HANDLES
-extern FILE *		my_fdopen(int, char *);
-#endif
 extern int		my_fclose(FILE *);
 extern char *		win32_get_privlib(const char *pl, STRLEN *const len);
 extern char *		win32_get_sitelib(const char *pl, STRLEN *const len);
@@ -376,7 +369,7 @@
 extern void		win32_delete_internal_host(void *h);
 #endif
 
-extern char *		staticlinkmodules[];
+extern const char * const		staticlinkmodules[];
 
 END_EXTERN_C
 
@@ -419,9 +412,7 @@
     char		Wstrerror_buffer[512];
     struct servent	Wservent;
     char		Wgetlogin_buffer[128];
-#    ifdef USE_SOCKETS_AS_HANDLES
     int			Winit_socktype;
-#    endif
     char		Wcrypt_buffer[30];
 #    ifdef USE_RTL_THREAD_API
     void *		retv;	/* slot for thread return value */


Property changes on: vendor/perl/dist/win32/win32.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/win32ceio.c
===================================================================
--- vendor/perl/dist/win32/win32ceio.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32ceio.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/win32ceio.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/win32io.c
===================================================================
--- vendor/perl/dist/win32/win32io.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32io.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -317,11 +317,11 @@
 {
  PerlIOWin32 *os = PerlIOSelf(f,PerlIOWin32);
  HANDLE proc = GetCurrentProcess();
- HANDLE new;
- if (DuplicateHandle(proc, os->h, proc, &new, 0, FALSE,  DUPLICATE_SAME_ACCESS))
+ HANDLE new_h;
+ if (DuplicateHandle(proc, os->h, proc, &new_h, 0, FALSE,  DUPLICATE_SAME_ACCESS))
   {
    char mode[8];
-   int fd = win32_open_osfhandle((intptr_t) new, PerlIOUnix_oflags(PerlIO_modestr(o,mode)));
+   int fd = win32_open_osfhandle((intptr_t) new_h, PerlIOUnix_oflags(PerlIO_modestr(o,mode)));
    if (fd >= 0)
     {
      f = PerlIOBase_dup(aTHX_ f, o, params, flags);
@@ -328,7 +328,7 @@
      if (f)
       {
        PerlIOWin32 *fs = PerlIOSelf(f,PerlIOWin32);
-       fs->h  = new;
+       fs->h  = new_h;
        fs->fd = fd;
        fs->refcnt = 1;
        fdtable[fd] = fs;
@@ -342,7 +342,7 @@
     }
    else
     {
-     CloseHandle(new);
+     CloseHandle(new_h);
     }
   }
  return f;


Property changes on: vendor/perl/dist/win32/win32io.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/win32iop-o.h
===================================================================
--- vendor/perl/dist/win32/win32iop-o.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32iop-o.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,12 +16,8 @@
 #endif
 
 #ifndef UNDER_CE
-#if defined(_MSC_VER) || defined(__MINGW32__)
-#  include <sys/utime.h>
-#else
-#  include <utime.h>
+#include <sys/utime.h>
 #endif
-#endif
 
 /*
  * defines for flock emulation
@@ -178,15 +174,6 @@
 #undef uname
 #undef wait
 
-#ifdef __BORLANDC__
-#undef ungetc
-#undef getc
-#undef putc
-#undef getchar
-#undef putchar
-#undef fileno
-#endif
-
 #define stderr				win32_stderr()
 #define stdout				win32_stdout()
 #define	stdin				win32_stdin()


Property changes on: vendor/perl/dist/win32/win32iop-o.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/win32iop.h
===================================================================
--- vendor/perl/dist/win32/win32iop.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32iop.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,11 +13,7 @@
 #endif
 #endif
 
-#if defined(_MSC_VER) || defined(__MINGW32__)
-#  include <sys/utime.h>
-#else
-#  include <utime.h>
-#endif
+#include <sys/utime.h>
 
 /*
  * defines for flock emulation
@@ -126,6 +122,8 @@
 DllExport  int		win32_closedir(DIR *dirp);
 DllExport  DIR*		win32_dirp_dup(DIR *const dirp, CLONE_PARAMS *const param);
 
+DllExport  char*        win32_getenvironmentstrings(void);
+/* also see win32_freeenvironmentstrings macro */
 DllExport  char*	win32_getenv(const char *name);
 DllExport  int		win32_putenv(const char *name);
 
@@ -162,6 +160,8 @@
 
 END_EXTERN_C
 
+/* see comment in win32_getenvironmentstrings */
+#define win32_freeenvironmentstrings(x) win32_free(x)
 #undef alarm
 #define alarm				win32_alarm
 #undef strerror
@@ -190,15 +190,7 @@
 #undef uname
 #undef wait
 
-#ifdef __BORLANDC__
-#undef ungetc
-#undef getc
-#undef putc
-#undef getchar
-#undef putchar
-#endif
-
-#if defined(__MINGW32__) || defined(__BORLANDC__)
+#if defined(__MINGW32__)
 #undef fileno
 #endif
 


Property changes on: vendor/perl/dist/win32/win32iop.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/win32sck.c
===================================================================
--- vendor/perl/dist/win32/win32sck.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32sck.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -29,13 +29,8 @@
 #include <io.h>
 
 /* thanks to Beverly Brown	(beverly at datacube.com) */
-#ifdef USE_SOCKETS_AS_HANDLES
-#	define OPEN_SOCKET(x)	win32_open_osfhandle(x,O_RDWR|O_BINARY)
-#	define TO_SOCKET(x)	_get_osfhandle(x)
-#else
-#	define OPEN_SOCKET(x)	(x)
-#	define TO_SOCKET(x)	(x)
-#endif	/* USE_SOCKETS_AS_HANDLES */
+#define OPEN_SOCKET(x)	win32_open_osfhandle(x,O_RDWR|O_BINARY)
+#define TO_SOCKET(x)	_get_osfhandle(x)
 
 #define StartSockets() \
     STMT_START {					\
@@ -68,7 +63,6 @@
 void
 start_sockets(void) 
 {
-    dTHX;
     unsigned short version;
     WSADATA retdata;
     int ret;
@@ -87,48 +81,17 @@
     wsock_started = 1;
 }
 
-#ifndef USE_SOCKETS_AS_HANDLES
-#undef fdopen
-FILE *
-my_fdopen(int fd, char *mode)
-{
-    FILE *fp;
-    char sockbuf[256];
-    int optlen = sizeof(sockbuf);
-    int retval;
-
-    if (!wsock_started)
-	return(fdopen(fd, mode));
-
-    retval = getsockopt((SOCKET)fd, SOL_SOCKET, SO_TYPE, sockbuf, &optlen);
-    if(retval == SOCKET_ERROR && WSAGetLastError() == WSAENOTSOCK) {
-	return(fdopen(fd, mode));
-    }
-
-    /*
-     * If we get here, then fd is actually a socket.
-     */
-    Newxz(fp, 1, FILE);	/* XXX leak, good thing this code isn't used */
-    if(fp == NULL) {
-	errno = ENOMEM;
-	return NULL;
-    }
-
-    fp->_file = fd;
-    if(*mode == 'r')
-	fp->_flag = _IOREAD;
-    else
-	fp->_flag = _IOWRT;
-   
-    return fp;
-}
-#endif	/* USE_SOCKETS_AS_HANDLES */
-
-
+/* in no sockets Win32 builds, this fowards to replacements in util.c, dTHX
+ * is required
+ */
 u_long
 win32_htonl(u_long hostlong)
 {
+#ifdef MYSWAP
+    dTHX;
+#else
     StartSockets();
+#endif
     return htonl(hostlong);
 }
 
@@ -135,7 +98,11 @@
 u_short
 win32_htons(u_short hostshort)
 {
+#ifdef MYSWAP
+    dTHX;
+#else
     StartSockets();
+#endif
     return htons(hostshort);
 }
 
@@ -142,7 +109,11 @@
 u_long
 win32_ntohl(u_long netlong)
 {
+#ifdef MYSWAP
+    dTHX;
+#else
     StartSockets();
+#endif
     return ntohl(netlong);
 }
 
@@ -149,7 +120,11 @@
 u_short
 win32_ntohs(u_short netshort)
 {
+#ifdef MYSWAP
+    dTHX;
+#else
     StartSockets();
+#endif
     return ntohs(netshort);
 }
 
@@ -258,7 +233,6 @@
 win32_select(int nfds, Perl_fd_set* rd, Perl_fd_set* wr, Perl_fd_set* ex, const struct timeval* timeout)
 {
     int r;
-#ifdef USE_SOCKETS_AS_HANDLES
     int i, fd, save_errno = errno;
     FD_SET nrd, nwr, nex;
     bool just_sleep = TRUE;
@@ -320,9 +294,6 @@
 	}
     }
     errno = save_errno;
-#else
-    SOCKET_TEST_ERROR(r = select(nfds, rd, wr, ex, timeout));
-#endif
     return r;
 }
 
@@ -372,9 +343,6 @@
     return r;
 }
 
-#ifdef USE_SOCKETS_AS_HANDLES
-#define WIN32_OPEN_SOCKET(af, type, protocol) open_ifs_socket(af, type, protocol)
-
 void
 convert_proto_info_w2a(WSAPROTOCOL_INFOW *in, WSAPROTOCOL_INFOA *out)
 {
@@ -433,25 +401,17 @@
     return out;
 }
 
-#else
-#define WIN32_OPEN_SOCKET(af, type, protocol) socket(af, type, protocol)
-#endif
-
 SOCKET
 win32_socket(int af, int type, int protocol)
 {
     SOCKET s;
 
-#ifndef USE_SOCKETS_AS_HANDLES
-    SOCKET_TEST(s = socket(af, type, protocol), INVALID_SOCKET);
-#else
     StartSockets();
 
-    if((s = WIN32_OPEN_SOCKET(af, type, protocol)) == INVALID_SOCKET)
+    if((s = open_ifs_socket(af, type, protocol)) == INVALID_SOCKET)
 	errno = WSAGetLastError();
     else
 	s = OPEN_SOCKET(s);
-#endif	/* USE_SOCKETS_AS_HANDLES */
 
     return s;
 }
@@ -564,11 +524,12 @@
 struct servent *
 win32_getservbyname(const char *name, const char *proto)
 {
-    dTHX;    
+    dTHXa(NULL);    
     struct servent *r;
 
     SOCKET_TEST(r = getservbyname(name, proto), NULL);
     if (r) {
+        aTHXa(PERL_GET_THX);
 	r = win32_savecopyservent(&w32_servent, r, proto);
     }
     return r;
@@ -577,11 +538,12 @@
 struct servent *
 win32_getservbyport(int port, const char *proto)
 {
-    dTHX; 
+    dTHXa(NULL); 
     struct servent *r;
 
     SOCKET_TEST(r = getservbyport(port, proto), NULL);
     if (r) {
+        aTHXa(PERL_GET_THX);
 	r = win32_savecopyservent(&w32_servent, r, proto);
     }
     return r;
@@ -590,7 +552,6 @@
 int
 win32_ioctl(int i, unsigned int u, char *data)
 {
-    dTHX;
     u_long u_long_arg; 
     int retval;
     
@@ -635,29 +596,25 @@
 void
 win32_endhostent() 
 {
-    dTHX;
-    Perl_croak_nocontext("endhostent not implemented!\n");
+    win32_croak_not_implemented("endhostent");
 }
 
 void
 win32_endnetent()
 {
-    dTHX;
-    Perl_croak_nocontext("endnetent not implemented!\n");
+    win32_croak_not_implemented("endnetent");
 }
 
 void
 win32_endprotoent()
 {
-    dTHX;
-    Perl_croak_nocontext("endprotoent not implemented!\n");
+    win32_croak_not_implemented("endprotoent");
 }
 
 void
 win32_endservent()
 {
-    dTHX;
-    Perl_croak_nocontext("endservent not implemented!\n");
+    win32_croak_not_implemented("endservent");
 }
 
 
@@ -664,8 +621,7 @@
 struct netent *
 win32_getnetent(void) 
 {
-    dTHX;
-    Perl_croak_nocontext("getnetent not implemented!\n");
+    win32_croak_not_implemented("getnetent");
     return (struct netent *) NULL;
 }
 
@@ -672,8 +628,7 @@
 struct netent *
 win32_getnetbyname(char *name) 
 {
-    dTHX;
-    Perl_croak_nocontext("getnetbyname not implemented!\n");
+    win32_croak_not_implemented("getnetbyname");
     return (struct netent *)NULL;
 }
 
@@ -680,8 +635,7 @@
 struct netent *
 win32_getnetbyaddr(long net, int type) 
 {
-    dTHX;
-    Perl_croak_nocontext("getnetbyaddr not implemented!\n");
+    win32_croak_not_implemented("getnetbyaddr");
     return (struct netent *)NULL;
 }
 
@@ -688,8 +642,7 @@
 struct protoent *
 win32_getprotoent(void) 
 {
-    dTHX;
-    Perl_croak_nocontext("getprotoent not implemented!\n");
+    win32_croak_not_implemented("getprotoent");
     return (struct protoent *) NULL;
 }
 
@@ -696,8 +649,7 @@
 struct servent *
 win32_getservent(void) 
 {
-    dTHX;
-    Perl_croak_nocontext("getservent not implemented!\n");
+    win32_croak_not_implemented("getservent");
     return (struct servent *) NULL;
 }
 
@@ -704,8 +656,7 @@
 void
 win32_sethostent(int stayopen)
 {
-    dTHX;
-    Perl_croak_nocontext("sethostent not implemented!\n");
+    win32_croak_not_implemented("sethostent");
 }
 
 
@@ -712,8 +663,7 @@
 void
 win32_setnetent(int stayopen)
 {
-    dTHX;
-    Perl_croak_nocontext("setnetent not implemented!\n");
+    win32_croak_not_implemented("setnetent");
 }
 
 
@@ -720,8 +670,7 @@
 void
 win32_setprotoent(int stayopen)
 {
-    dTHX;
-    Perl_croak_nocontext("setprotoent not implemented!\n");
+    win32_croak_not_implemented("setprotoent");
 }
 
 
@@ -728,8 +677,7 @@
 void
 win32_setservent(int stayopen)
 {
-    dTHX;
-    Perl_croak_nocontext("setservent not implemented!\n");
+    win32_croak_not_implemented("setservent");
 }
 
 static struct servent*
@@ -738,11 +686,9 @@
     d->s_name = s->s_name;
     d->s_aliases = s->s_aliases;
     d->s_port = s->s_port;
-#ifndef __BORLANDC__	/* Buggy on WinNT-with-Borland-WSOCK */
     if (s->s_proto && strlen(s->s_proto))
 	d->s_proto = s->s_proto;
     else
-#endif
     if (proto && strlen(proto))
 	d->s_proto = (char *)proto;
     else


Property changes on: vendor/perl/dist/win32/win32sck.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/win32thread.c
===================================================================
--- vendor/perl/dist/win32/win32thread.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32thread.c	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/win32thread.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/win32thread.h
===================================================================
--- vendor/perl/dist/win32/win32thread.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/win32thread.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -109,10 +109,9 @@
 
 /* XXX Docs mention that the RTL versions of thread creation routines
  * should be used, but that advice only seems applicable when the RTL
- * is not in a DLL.  RTL DLLs in both Borland and VC seem to do all of
- * the init/deinit required upon DLL_THREAD_ATTACH/DETACH.  So we seem
- * to be completely safe using straight Win32 API calls, rather than
- * the much braindamaged RTL calls.
+ * is not in a DLL.  RTL DLLs seem to do all of the init/deinit required
+ * upon DLL_THREAD_ATTACH/DETACH.  So we seem to be completely safe using
+ * straight Win32 API calls, rather than the much braindamaged RTL calls.
  *
  * _beginthread() in the RTLs call CloseHandle() just after the thread
  * function returns, which means: 1) we have a race on our hands
@@ -123,11 +122,7 @@
  */
 #ifdef USE_RTL_THREAD_API
 #  include <process.h>
-#  if defined(__BORLANDC__)
-     /* Borland RTL doesn't allow a return value from thread function! */
-#    define THREAD_RET_TYPE	void _USERENTRY
-#    define THREAD_RET_CAST(p)	((void)(thr->i.retv = (void *)(p)))
-#  elif defined (_MSC_VER)
+#  if defined (_MSC_VER)
 #    define THREAD_RET_TYPE	unsigned __stdcall
 #    define THREAD_RET_CAST(p)	((unsigned)(p))
 #  else
@@ -145,7 +140,7 @@
 
 START_EXTERN_C
 
-#if defined(PERLDLL) && defined(USE_DECLSPEC_THREAD) && (!defined(__BORLANDC__) || defined(_DLL))
+#if defined(PERLDLL) && defined(USE_DECLSPEC_THREAD)
 extern __declspec(thread) void *PL_current_context;
 #define PERL_SET_CONTEXT(t)   		(PL_current_context = t)
 #define PERL_GET_CONTEXT		PL_current_context


Property changes on: vendor/perl/dist/win32/win32thread.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/wince.c
===================================================================
--- vendor/perl/dist/win32/wince.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/wince.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -73,7 +73,7 @@
 static char *		get_emd_part(SV **leading, STRLEN *const len,
 				     char *trailing, ...);
 static void		remove_dead_process(long deceased);
-static long		find_pid(int pid);
+static long		find_pid(pTHX_ int pid);
 static char *		qualified_path(const char *cmd);
 static char *		win32_get_xlib(const char *pl, const char *xlib,
 				       const char *libname, STRLEN *const len);
@@ -80,7 +80,7 @@
 
 #ifdef USE_ITHREADS
 static void		remove_dead_pseudo_process(long child);
-static long		find_pseudo_pid(int pid);
+static long		find_pseudo_pid(pTHX_ int pid);
 #endif
 
 int _fmode = O_TEXT; /* celib do not provide _fmode, so we define it here */
@@ -261,8 +261,6 @@
     dTHX;
     char regstr[40];
     char pathstr[MAX_PATH+1];
-    DWORD datalen;
-    int len, newsize;
     SV *sv1 = NULL;
     SV *sv2 = NULL;
 
@@ -417,8 +415,8 @@
     if (str) {
 	dTHX;
 	int slen = strlen(str);
-	register char *ret;
-	register char **retv;
+	char *ret;
+	char **retv;
 	Newx(ret, slen+2, char);
 	Newx(retv, (slen+3)/2, char*);
 
@@ -893,7 +891,53 @@
   return path;
 }
 
+static void
+out_of_memory(void)
+{
+    if (PL_curinterp) {
+        dTHX;
+        /* Can't use PerlIO to write as it allocates memory */
+        PerlLIO_write(PerlIO_fileno(Perl_error_log),
+                      PL_no_mem, strlen(PL_no_mem));
+        my_exit(1);
+    }
+    exit(1);
+}
+
+/* The win32_ansipath() function takes a Unicode filename and converts it
+ * into the current Windows codepage. If some characters cannot be mapped,
+ * then it will convert the short name instead.
+ *
+ * The buffer to the ansi pathname must be freed with win32_free() when it
+ * it no longer needed.
+ *
+ * The argument to win32_ansipath() must exist before this function is
+ * called; otherwise there is no way to determine the short path name.
+ *
+ * Ideas for future refinement:
+ * - Only convert those segments of the path that are not in the current
+ *   codepage, but leave the other segments in their long form.
+ * - If the resulting name is longer than MAX_PATH, start converting
+ *   additional path segments into short names until the full name
+ *   is shorter than MAX_PATH.  Shorten the filename part last!
+ */
 DllExport char *
+win32_ansipath(const WCHAR *widename)
+{
+    char *name;
+    size_t widelen = wcslen(widename)+1;
+    int len = WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
+                                  NULL, 0, NULL, NULL);
+    name = win32_malloc(len);
+    if (!name)
+        out_of_memory();
+
+    WideCharToMultiByte(CP_ACP, WC_NO_BEST_FIT_CHARS, widename, widelen,
+                        name, len, NULL, NULL);
+    return name;
+}
+
+DllExport char *
 win32_getenv(const char *name)
 {
   return xcegetenv(name);
@@ -1498,9 +1542,6 @@
 	    if (fh != INVALID_HANDLE_VALUE) {
 		int fd = win32_open_osfhandle((intptr_t)fh, 0);
 		if (fd >= 0) {
-#if defined(__BORLANDC__)
-        	    setmode(fd,O_BINARY);
-#endif
 		    DEBUG_p(PerlIO_printf(Perl_debug_log,
 					  "Created tmpfile=%s\n",filename));
 		    return fd;
@@ -2737,13 +2778,7 @@
   return xcegetcwd(buf, size);
 }
 
-int
-isnan(double d)
-{
-  return _isnan(d);
-}
 
-
 DllExport PerlIO*
 win32_popenlist(const char *mode, IV narg, SV **args)
 {


Property changes on: vendor/perl/dist/win32/wince.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/win32/wince.h
===================================================================
--- vendor/perl/dist/win32/wince.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/wince.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/win32/wince.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/win32/wincesck.c
===================================================================
--- vendor/perl/dist/win32/wincesck.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/win32/wincesck.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -483,11 +483,9 @@
     d->s_name = s->s_name;
     d->s_aliases = s->s_aliases;
     d->s_port = s->s_port;
-#ifndef __BORLANDC__	/* Buggy on Win95 and WinNT-with-Borland-WSOCK */
     if (!IsWin95() && s->s_proto && strlen(s->s_proto))
 	d->s_proto = s->s_proto;
     else
-#endif
     if (proto && strlen(proto))
 	d->s_proto = (char *)proto;
     else


Property changes on: vendor/perl/dist/win32/wincesck.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/write_buildcustomize.pl
===================================================================
--- vendor/perl/dist/write_buildcustomize.pl	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/write_buildcustomize.pl	2013-12-01 21:45:02 UTC (rev 6430)
@@ -16,8 +16,11 @@
 # needed to build the nonxs modules
 # After which, all nonxs modules are in lib, which was always sufficient to
 # allow miniperl to build everything else.
+# Term::ReadLine is not here for building but for allowing the debugger to
+# run under miniperl when nothing but miniperl will build :-(.
 
 my @toolchain = qw(cpan/AutoLoader/lib
+		   dist/Carp/lib
 		   dist/Cwd dist/Cwd/lib
 		   dist/ExtUtils-Command/lib
 		   dist/ExtUtils-Install/lib
@@ -25,6 +28,7 @@
 		   dist/ExtUtils-Manifest/lib
 		   cpan/File-Path/lib
 		   ext/re
+		   dist/Term-ReadLine/lib
 		   );
 
 # Used only in ExtUtils::Liblist::Kid::_win32_ext()


Property changes on: vendor/perl/dist/write_buildcustomize.pl
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Deleted: vendor/perl/dist/writemain.SH
===================================================================
--- vendor/perl/dist/writemain.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/writemain.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,108 +0,0 @@
-case $PERL_CONFIG_SH in
-'')
-	if test -f config.sh; then TOP=.;
-	elif test -f ../config.sh; then TOP=..;
-	elif test -f ../../config.sh; then TOP=../..;
-	elif test -f ../../../config.sh; then TOP=../../..;
-	elif test -f ../../../../config.sh; then TOP=../../../..;
-	else
-		echo "Can't find config.sh."; exit 1
-	fi
-	. $TOP/config.sh
-	;;
-esac
-: This forces SH files to create target in same directory as SH file.
-: This is so that make depend always knows where to find SH derivatives.
-case "$0" in
-*/*) cd `expr X$0 : 'X\(.*\)/'` ;;
-esac
-echo "Extracting writemain (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!.
-: Protect any dollar signs and backticks that you do not want interpreted
-: by putting a backslash in front.  You may delete these comments.
-rm -f writemain
-$spitshell >writemain <<!GROK!THIS!
-$startsh
-!GROK!THIS!
-
-: In the following dollars and backticks do not need the extra backslash.
-$spitshell >>writemain <<'!NO!SUBS!'
-# This script takes the plain miniperlmain.c and writes out perlmain.c
-# which includes all the extensions.
-# The command line arguments name extensions to be used.
-#  E.g.:  sh writemain SDBM_File POSIX > perlmain.c
-#
-
-orig="$*"
-args=''
-: Remove any .a suffixes and any leading path components
-for file in $orig ; do
-        case "$file" in
-           *.a)  file=`echo $file | sed 's/\.a//g'`;;
-           *.o)  file=`echo $file | sed 's/\.o//g'`;;
-        esac
-	case "$file" in
-	ext/*)	file=`echo $file | sed 's:ext/\(.*\)/[^/]*:\1:'`
-		;;
-	lib/auto/*)	file=`echo $file | sed 's:lib/auto/\(.*\)/[^/]*:\1:'`
-		;;
-	*/*)
-		file=`expr X$file : 'X.*/\(.*\)'`
-		;;
-	esac
-	args="$args $file"
-done
-
-
-sed '/Do not delete this line--writemain depends on it/q' miniperlmain.c
-
-
-if test X"$args" != "X" ; then
-    for ext in $args ; do
-: $ext will either be 'Name' or 'Name1/Name2' etc
-: convert ext into cname and mname
-mname=`echo $ext   | sed 's!/!::!g'`
-cname=`echo $mname | sed 's!:!_!g'`
-
-echo "EXTERN_C void boot_${cname} (pTHX_ CV* cv);"
-    done
-fi
-
-cat << 'EOP'
-
-static void
-xs_init(pTHX)
-{
-EOP
-
-if test X"$args" != "X" ; then
-    echo "    static const char file[] = __FILE__;"
-    echo "    dXSUB_SYS;"
-
-    ai=''
-
-    for ext in $args ; do
-
-	: $ext will either be 'Name' or 'Name1/Name2' etc
-	: convert ext into cname and mname
-	mname=`echo $ext   | sed 's!/!::!g'`
-	cname=`echo $mname | sed 's!:!_!g'`
-
-	if test "$ext" = "DynaLoader"; then
-	    : Must NOT install 'DynaLoader::boot_DynaLoader' as 'bootstrap'!
-	    : boot_DynaLoader is called directly in DynaLoader.pm
-	    echo "        newXS(\"${mname}::boot_${ext}\", boot_${cname}, file);"
-	else
-	    echo "        newXS(\"${mname}::bootstrap\", boot_${cname}, file);"
-	fi
-    done
-fi
-
-cat << 'EOP'
-}
-EOP
-
-!NO!SUBS!
-chmod 755 writemain
-$eunicefix writemain

Index: vendor/perl/dist/x2p/EXTERN.h
===================================================================
--- vendor/perl/dist/x2p/EXTERN.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/EXTERN.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/x2p/EXTERN.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/x2p/INTERN.h
===================================================================
--- vendor/perl/dist/x2p/INTERN.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/INTERN.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/x2p/INTERN.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/x2p/Makefile.SH
===================================================================
--- vendor/perl/dist/x2p/Makefile.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/Makefile.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 case $PERL_CONFIG_SH in
 '')
 	if test -f config.sh; then TOP=.;
@@ -35,16 +37,13 @@
 esac
 
 cat >Makefile <<!GROK!THIS!
-# $RCSfile: Makefile.SH,v $$Revision: 1.1.1.3 $$Date: 2011-05-18 13:33:34 $
+# $RCSfile: Makefile.SH,v $$Revision: 4.1 $$Date: 92/08/07 18:29:07 $
 #
-# $Log: not supported by cvs2svn $
+# $Log:	Makefile.SH,v $
 
 CC = $cc
 BYACC = $byacc
 LDFLAGS = $ldflags
-# XXX Perl malloc temporarily unusable (declaration collisions with stdlib.h)
-#mallocsrc = $mallocsrc
-#mallocobj = $mallocobj
 shellflags = $shellflags
 
 libs = $perllibs
@@ -101,9 +100,9 @@
 
 h = EXTERN.h INTERN.h ../config.h ../handy.h hash.h a2p.h str.h util.h
 
-c = hash.c $(mallocsrc) str.c util.c walk.c
+c = hash.c str.c util.c walk.c
 
-obj = hash$(OBJ_EXT) $(mallocobj) str$(OBJ_EXT) util$(OBJ_EXT) walk$(OBJ_EXT)
+obj = hash$(OBJ_EXT) str$(OBJ_EXT) util$(OBJ_EXT) walk$(OBJ_EXT)
 
 lintflags = -phbvxac
 
@@ -156,7 +155,7 @@
 
 realclean: clean
 	-rmdir .depending
-	rm -f core $(addedbyconf) all malloc.c
+	rm -f core $(addedbyconf) all
 	rm -f $(FIRSTMAKEFILE) $(FIRSTMAKEFILE).old makefile.old
 
 veryclean: realclean
@@ -170,7 +169,7 @@
 lint:
 	lint $(lintflags) $(defs) $(c) > a2p.fuzz
 
-depend: $(mallocsrc) ../makedepend
+depend: ../makedepend
 	sh ../makedepend MAKE=$(MAKE)
 
 clist:
@@ -185,18 +184,10 @@
 $(plextract):
 	$(RUN) $(PERL) -I../lib $@.PL
 
-find2perl: find2perl.PL
+find2perl: find2perl.PL ../config.sh
 
-s2p: s2p.PL
+s2p: s2p.PL ../config.sh
 
-malloc.c: ../malloc.c
-	rm -f malloc.c
-	sed <../malloc.c >malloc.c \
-	    -e 's/"EXTERN.h"/"..\/EXTERN.h"/' \
-	    -e 's/"perl.h"/"..\/perl.h"/' \
-	    -e 's/my_exit/exit/' \
-	    -e 's/MUTEX_[A-Z_]*(&PL_malloc_mutex);//'
-
 # AUTOMATICALLY GENERATED MAKE DEPENDENCIES--PUT NOTHING BELOW THIS LINE
 $(obj):
 	@ echo "You haven't done a "'"make depend" yet!'; exit 1


Property changes on: vendor/perl/dist/x2p/Makefile.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/x2p/a2p.c
===================================================================
--- vendor/perl/dist/x2p/a2p.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/a2p.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -10,7 +10,7 @@
 extern int yyparse(void);
 #define YYPREFIX "yy"
 #line 2 "a2p.y"
-/* $RCSfile: a2p.c,v $$Revision: 1.1.1.2 $$Date: 2011-02-17 12:49:38 $
+/* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1996, 1997, 1999, 2000,
  *    by Larry Wall and others
@@ -18,7 +18,7 @@
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
- * $Log: not supported by cvs2svn $
+ * $Log:	a2p.y,v $
  */
 
 #include "INTERN.h"
@@ -2181,7 +2181,7 @@
 #define YYERROR goto yyerrlab
 
 #if YYDEBUG
-#  if defined(WIN32) && !defined(__BORLANDC__)
+#  if defined(WIN32)
 EXTERN_C _CRTIMP char *getenv(const char *);
 #  else
 EXTERN_C char *getenv(const char *);
@@ -2191,9 +2191,9 @@
 int
 yyparse(void)
 {
-    register int yym, yyn, yystate;
+    int yym, yyn, yystate;
 #if YYDEBUG
-    register const char *yys;
+    const char *yys;
 
     if ((yys = getenv("YYDEBUG")))
     {


Property changes on: vendor/perl/dist/x2p/a2p.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/x2p/a2p.h
===================================================================
--- vendor/perl/dist/x2p/a2p.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/a2p.h	2013-12-01 21:45:02 UTC (rev 6430)
@@ -13,7 +13,7 @@
 #define _INC_WIN32_PERL5	/* kludge around win32 stdio layer */
 #endif
 
-#ifdef VMS
+#ifdef __VMS
 #  include "config.h"
 #elif defined(NETWARE)
 #  include "../NetWare/config.h"
@@ -30,19 +30,6 @@
 #  ifndef STANDARD_C
 #    define STANDARD_C
 #  endif
-#  if defined(__BORLANDC__)
-#    pragma warn -ccc
-#    pragma warn -rch
-#    pragma warn -sig
-#    pragma warn -pia
-#    pragma warn -par
-#    pragma warn -aus
-#    pragma warn -use
-#    pragma warn -csu
-#    pragma warn -pro
-#  elif defined(_MSC_VER)
-#  elif defined(__MINGW32__)
-#  endif
 #endif
 
 /* Use all the "standard" definitions? */
@@ -74,14 +61,6 @@
 
 #define MEM_SIZE Size_t
 #ifdef PERL_MEM_LOG
-/* Blindly copied from ../perl.h. -- AD 2/2006. */
-/* Configure gets this right but the UTS compiler gets it wrong.
-   -- Hal Morris <hom00 at utsglobal.com> */
-#  ifdef UTS
-#    undef  UVTYPE
-#    define UVTYPE unsigned
-#  endif
-
   typedef IVTYPE IV;
   typedef UVTYPE UV;
 #endif
@@ -142,7 +121,7 @@
 /* All of these are in stdlib.h or time.h for ANSI C */
 Time_t time();
 struct tm *gmtime(), *localtime();
-#if defined(OEMVS) || defined(__OPEN_VM)
+#if defined(OEMVS)
 char *(strchr)(), *(strrchr)();
 char *(strcpy)(), *(strcat)();
 #else
@@ -357,11 +336,7 @@
     int ival;
     char *cval;
 };
-#if defined(iAPX286) || defined(M_I286) || defined(I80286) 	/* 80286 hack */
-#define OPSMAX (64000/sizeof(union u_ops))	/* approx. max segment size */
-#else
 #define OPSMAX 50000
-#endif						 	/* 80286 hack */
 EXT union u_ops ops[OPSMAX];
 
 typedef struct string STR;


Property changes on: vendor/perl/dist/x2p/a2p.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/x2p/a2p.pod
===================================================================
--- vendor/perl/dist/x2p/a2p.pod	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/a2p.pod	2013-12-01 21:45:02 UTC (rev 6430)
@@ -164,7 +164,7 @@
 =head1 SEE ALSO
 
  perl	The perl compiler/interpreter
- 
+
  s2p	sed to perl translator
 
 =head1 DIAGNOSTICS


Property changes on: vendor/perl/dist/x2p/a2p.pod
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/x2p/a2p.y
===================================================================
--- vendor/perl/dist/x2p/a2p.y	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/a2p.y	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,5 +1,5 @@
 %{
-/* $RCSfile: a2p.y,v $$Revision: 1.1.1.1 $$Date: 2009-03-15 19:20:10 $
+/* $RCSfile: a2p.y,v $$Revision: 4.1 $$Date: 92/08/07 18:29:12 $
  *
  *    Copyright (C) 1991, 1992, 1993, 1994, 1996, 1997, 1999, 2000,
  *    by Larry Wall and others
@@ -7,7 +7,7 @@
  *    You may distribute under the terms of either the GNU General Public
  *    License or the Artistic License, as specified in the README file.
  *
- * $Log: not supported by cvs2svn $
+ * $Log:	a2p.y,v $
  */
 
 #include "INTERN.h"


Property changes on: vendor/perl/dist/x2p/a2p.y
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/x2p/a2py.c
===================================================================
--- vendor/perl/dist/x2p/a2py.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/a2py.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,6 +17,8 @@
 #include "../patchlevel.h"
 #endif
 #include "util.h"
+#include "../unicode_constants.h"
+#define DELETE_CHAR DEL_NATIVE
 
 const char *filename;
 const char *myname;
@@ -29,10 +31,10 @@
 int oper3(int type, int arg1, int arg2, int arg3);
 int oper4(int type, int arg1, int arg2, int arg3, int arg4);
 int oper5(int type, int arg1, int arg2, int arg3, int arg4, int arg5);
-STR *walk(int useval, int level, register int node, int *numericptr, int minprec);
+STR *walk(int useval, int level, int node, int *numericptr, int minprec);
 #ifdef NETWARE
 char *savestr(char *str);
-char *cpy2(register char *to, register char *from, register int delim);
+char *cpy2(char *to, char *from, int delim);
 #endif
 
 #if defined(OS2) || defined(WIN32) || defined(NETWARE)
@@ -59,9 +61,9 @@
 #endif
 
 int
-main(register int argc, register const char **argv, register const char **env)
+main(int argc, const char **argv, const char **env)
 {
-    register STR *str;
+    STR *str;
     int i;
     STR *tmpstr;
     /* char *namelist;    */
@@ -221,9 +223,9 @@
 int
 yylex(void)
 {
-    register char *s = bufptr;
-    register char *d;
-    register int tmp;
+    char *s = bufptr;
+    char *d;
+    int tmp;
 
   retry:
 #if YYDEBUG
@@ -289,11 +291,7 @@
     case ':':
 	tmp = *s++;
 	XOP(tmp);
-#ifdef EBCDIC
-    case 7:
-#else
-    case 127:
-#endif
+    case DELETE_CHAR:
 	s++;
 	XTERM('}');
     case '}':
@@ -399,7 +397,7 @@
 
 #define SNARFWORD \
 	d = tokenbuf; \
-	while (isALPHA(*s) || isDIGIT(*s) || *s == '_') \
+	while (isWORDCHAR(*s)) \
 	    *d++ = *s++; \
 	*d = '\0'; \
 	d = tokenbuf; \
@@ -426,7 +424,7 @@
 		maxfld = tmp;
 	    XOP(FIELD);
 	}
-	for (d = s; isALPHA(*s) || isDIGIT(*s) || *s == '_'; )
+	for (d = s; isWORDCHAR(*s); )
 	    s++;
 	split_to_array = TRUE;
 	if (d != s)
@@ -826,9 +824,9 @@
 }
 
 char *
-scanpat(register char *s)
+scanpat(char *s)
 {
-    register char *d;
+    char *d;
 
     switch (*s++) {
     case '/':
@@ -878,9 +876,9 @@
 }
 
 char *
-scannum(register char *s)
+scannum(char *s)
 {
-    register char *d;
+    char *d;
 
     switch (*s) {
     case '1': case '2': case '3': case '4': case '5':
@@ -1027,9 +1025,9 @@
 void
 dump(int branch)
 {
-    register int type;
-    register int len;
-    register int i;
+    int type;
+    int len;
+    int i;
 
     type = ops[branch].ival;
     len = type >> 8;
@@ -1067,8 +1065,8 @@
 void
 fixup(STR *str)
 {
-    register char *s;
-    register char *t;
+    char *s;
+    char *t;
 
     for (s = str->str_ptr; *s; s++) {
 	if (*s == ';' && s[1] == ' ' && s[2] == '\n') {
@@ -1092,8 +1090,8 @@
 void
 putlines(STR *str)
 {
-    register char *d, *s, *t, *e;
-    register int pos, newpos;
+    char *d, *s, *t, *e;
+    int pos, newpos;
 
     d = tokenbuf;
     pos = 0;
@@ -1168,7 +1166,7 @@
 void
 putone(void)
 {
-    register char *t;
+    char *t;
 
     for (t = tokenbuf; *t; t++) {
 	*t &= 127;


Property changes on: vendor/perl/dist/x2p/a2py.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Modified: vendor/perl/dist/x2p/cflags.SH
===================================================================
--- vendor/perl/dist/x2p/cflags.SH	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/cflags.SH	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 case $PERL_CONFIG_SH in
 '')
 	if test -f config.sh; then TOP=.;


Property changes on: vendor/perl/dist/x2p/cflags.SH
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Index: vendor/perl/dist/x2p/find2perl.PL
===================================================================
--- vendor/perl/dist/x2p/find2perl.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/find2perl.PL	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/x2p/find2perl.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/x2p/hash.c
===================================================================
--- vendor/perl/dist/x2p/hash.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/hash.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -17,12 +17,12 @@
 #endif
 
 STR *
-hfetch(register HASH *tb, char *key)
+hfetch(HASH *tb, char *key)
 {
-    register char *s;
-    register int i;
-    register int hash;
-    register HENT *entry;
+    char *s;
+    int i;
+    int hash;
+    HENT *entry;
 
     if (!tb)
 	return NULL;
@@ -43,13 +43,13 @@
 }
 
 bool
-hstore(register HASH *tb, char *key, STR *val)
+hstore(HASH *tb, char *key, STR *val)
 {
-    register char *s;
-    register int i;
-    register int hash;
-    register HENT *entry;
-    register HENT **oentry;
+    char *s;
+    int i;
+    int hash;
+    HENT *entry;
+    HENT **oentry;
 
     if (!tb)
 	return FALSE;
@@ -94,12 +94,12 @@
 hsplit(HASH *tb)
 {
     const int oldsize = tb->tbl_max + 1;
-    register int newsize = oldsize * 2;
-    register int i;
-    register HENT **a;
-    register HENT **b;
-    register HENT *entry;
-    register HENT **oentry;
+    int newsize = oldsize * 2;
+    int i;
+    HENT **a;
+    HENT **b;
+    HENT *entry;
+    HENT **oentry;
 
     a = (HENT**) saferealloc((char*)tb->tbl_array, newsize * sizeof(HENT*));
     memset(&a[oldsize], 0, oldsize * sizeof(HENT*)); /* zero second half */
@@ -130,7 +130,7 @@
 HASH *
 hnew(void)
 {
-    register HASH *tb = (HASH*)safemalloc(sizeof(HASH));
+    HASH *tb = (HASH*)safemalloc(sizeof(HASH));
 
     tb->tbl_array = (HENT**) safemalloc(8 * sizeof(HENT*));
     tb->tbl_fill = 0;
@@ -141,7 +141,7 @@
 }
 
 int
-hiterinit(register HASH *tb)
+hiterinit(HASH *tb)
 {
     tb->tbl_riter = -1;
     tb->tbl_eiter = (HENT*)NULL;


Property changes on: vendor/perl/dist/x2p/hash.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/x2p/hash.h
===================================================================
--- vendor/perl/dist/x2p/hash.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/hash.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/x2p/hash.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.1
\ No newline at end of property
Modified: vendor/perl/dist/x2p/s2p.PL
===================================================================
--- vendor/perl/dist/x2p/s2p.PL	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/s2p.PL	2013-12-01 21:45:02 UTC (rev 6430)
@@ -91,7 +91,7 @@
 A stream editor reads the input stream consisting of the specified files
 (or standard input, if none are given), processes is line by line by
 applying a script consisting of edit commands, and writes resulting lines
-to standard output. The filename `C<->' may be used to read standard input.
+to standard output. The filename 'C<->' may be used to read standard input.
 
 The edit script is composed from arguments of B<-e> options and
 script-files, in the given order. A single script argument may be specified
@@ -98,7 +98,7 @@
 as the first parameter.
 
 If this program is invoked with the name F<s2p>, it will act as a
-sed-to-Perl translator. See L<"sed Script Translation">.
+sed-to-Perl translator. See L<"SED SCRIPT TRANSLATION">.
 
 B<sed> returns an exit code of 0 on success or >0 if an error occurred.
 
@@ -155,7 +155,7 @@
 A sed address is either a line number or a pattern, which may be combined
 arbitrarily to construct ranges. Lines are numbered across all input files.
 
-Any address may be followed by an exclamation mark (`C<!>'), selecting
+Any address may be followed by an exclamation mark ('C<!>'), selecting
 all lines not matching that address.
 
 =over 4
@@ -171,10 +171,10 @@
 =item B</>I<regular expression>B</>
 
 A pattern address is a basic regular expression (see 
-L<"Basic Regular Expressions">), between the delimiting character C</>.
+L<"BASIC REGULAR EXPRESSIONS">), between the delimiting character C</>.
 Any other character except C<\> or newline may be used to delimit a
 pattern address when the initial delimiter is prefixed with a
-backslash (`C<\>').
+backslash ('C<\>').
 
 =back
 
@@ -329,9 +329,9 @@
 
 Print the contents of the pattern space: non-printable characters are
 shown in C-style escaped form; long lines are split and have a trailing
-`C<\>' at the point of the split; the true end of a line is marked with
-a `C<$>'. Escapes are: `\a', `\t', `\n', `\f', `\r', `\e' for
-BEL, HT, LF, FF, CR, ESC, respectively, and `\' followed by a three-digit
+^'C<\>' at the point of the split; the true end of a line is marked with
+a 'C<$>'. Escapes are: '\a', '\t', '\n', '\f', '\r', '\e' for
+BEL, HT, LF, FF, CR, ESC, respectively, and '\' followed by a three-digit
 octal number for all other non-printable characters.
 
 =cut
@@ -427,15 +427,15 @@
 Any character other than backslash or newline can be used instead of a 
 slash to delimit the regular expression and the replacement.
 To use the delimiter as a literal character within the regular expression
-and the replacement, precede the character by a backslash (`C<\>').
+and the replacement, precede the character by a backslash ('C<\>').
 
 Literal newlines may be embedded in the replacement string by
 preceding a newline with a backslash.
 
-Within the replacement, an ampersand (`C<&>') is replaced by the string
-matching the regular expression. The strings `C<\1>' through `C<\9>' are
-replaced by the corresponding subpattern (see L<"Basic Regular Expressions">).
-To get a literal `C<&>' or `C<\>' in the replacement text, precede it
+Within the replacement, an ampersand ('C<&>') is replaced by the string
+matching the regular expression. The strings 'C<\1>' through 'C<\9>' are
+replaced by the corresponding subpattern (see L<"BASIC REGULAR EXPRESSIONS">).
+To get a literal 'C<&>' or 'C<\>' in the replacement text, precede it
 by a backslash.
 
 The following I<flags> modify the behaviour of the B<s> command:
@@ -497,6 +497,7 @@
 
 #--------------------------------------------------------------------------
 $ComTab{'y'}=[ 2, 'tra', \&Emit,       ''                                ]; #ok
+
 =item [2addr]B<y>B</>I<string1>B</>I<string2>B</>
 
 In the pattern space, replace all characters occurring in I<string1> by the
@@ -504,7 +505,7 @@
 to use any character (other than a backslash or newline) instead of a
 slash to delimit the strings.  Within I<string1> and I<string2>, a
 backslash followed by any character other than a newline is that literal
-character, and a backslash followed by an `n' is replaced by a newline
+character, and a backslash followed by an 'n' is replaced by a newline
 character.
 
 =cut
@@ -520,7 +521,7 @@
 
 #--------------------------------------------------------------------------
 $ComTab{':'}=[ 0, 'str', \&Label,      ''                                ]; #ok
- 
+
 =item [0addr]B<:> [I<label>]
 
 The command specifies the position of the I<label>. It has no other effect.
@@ -549,7 +550,7 @@
 =item [0addr]B<#> [I<comment>]
 
 The entire line is ignored (treated as a comment). If, however, the first
-two characters in the script are `C<#n>', automatic printing of output is
+two characters in the script are 'C<#n>', automatic printing of output is
 suppressed, as if the B<-n> option were given on the command line.
 
 =back
@@ -689,7 +690,7 @@
     if( defined( $jcom ) ){
 	$rc = Emit( $addr1, $addr2, $negated, $opcode, $arg, $fl );
     } else {
-	Warn( "unexpected `}'", $fl );
+	Warn( "unexpected '}'", $fl );
 	$rc = 1;
     }
     $rc;
@@ -799,7 +800,7 @@
 	my $fc = substr($fr,$i,1);
 	my $tc = substr($to,$i,1);
 	if( exists( $tr{$fc} ) && $tr{$fc} ne $tc ){
-	    Warn( "ambiguous translation for character `$fc' in `y' command",
+	    Warn( "ambiguous translation for character '$fc' in 'y' command",
 		  $fl );
 	    $error++;
 	}
@@ -924,15 +925,15 @@
 If the first character after B<[> is B<^>, the sense of matching is
 inverted.
 
-To include a literal `C<^>', place it anywhere else but first. To
+To include a literal 'C<^>', place it anywhere else but first. To
 include a literal 'C<]>' place it first or immediately after an
-initial B<^>. To include a literal `C<->' make it the first (or
+initial B<^>. To include a literal 'C<->' make it the first (or
 second after B<^>) or last character, or the second endpoint of
 a range.
 
 The special bracket expression constructs C<[[:E<lt>:]]> and C<[[:E<gt>:]]> 
 match the null string at the beginning and end of a word respectively.
-(Note that neither is identical to Perl's `\b' atom.)
+(Note that neither is identical to Perl's '\b' atom.)
 
 =head2 Additional Atoms
 
@@ -987,7 +988,7 @@
 	    ### backslash escapes
             my $nc = peek($pat,$ic);
             if( $nc eq '' ){
-                Warn( "`\\' cannot be last in pattern", $fl );
+                Warn( "'\\' cannot be last in pattern", $fl );
                 return undef();
             }
 	    $ic++;
@@ -1007,7 +1008,7 @@
                 $parlev--;
 		$backref++;
                 if( $parlev < 0 ){
-                    Warn( "unmatched `\\)'", $fl );
+                    Warn( "unmatched '\\)'", $fl );
                     return undef();
                 }
                 $res .= ')';
@@ -1015,7 +1016,7 @@
             } elsif( $nc eq '{' ){ ## repetition factor \{<i>[,[<j>]]\}
                 my $endpos = index( $pat, '\\}', $ic );
                 if( $endpos < 0 ){
-                    Warn( "unmatched `\\{'", $fl );
+                    Warn( "unmatched '\\{'", $fl );
                     return undef();
                 }
                 my $rep = substr( $pat, $ic+1, $endpos-($ic+1) );
@@ -1029,7 +1030,7 @@
                     my $max = $3;
                     if( length( $max ) ){
                         if( $max < $min ){
-                            Warn( "maximum less than minimum in `\\{$rep\\}'",
+                            Warn( "maximum less than minimum in '\\{$rep\\}'",
 				  $fl );
                             return undef();
                         }
@@ -1047,7 +1048,7 @@
 			$res .= "{$min$com$max}";
 		    }
                 } else {
-                    Warn( "invalid repeat clause `\\{$rep\\}'", $fl );
+                    Warn( "invalid repeat clause '\\{$rep\\}'", $fl );
                     return undef();
                 }
 
@@ -1077,7 +1078,7 @@
 		## \<closing bracketing-delimiter> - keep '\'
 		$res .= "\\$nc";
 
-            } else { ## \ <char> => <char> ("as if `\' were not present")
+            } else { ## \ <char> => <char> ("as if '\' were not present")
                 $res .= $nc;
             }
 
@@ -1105,7 +1106,7 @@
 	    }
 	    # check that [ is not trailing
 	    if( $ic >= length( $pat ) - 1 ){
-		Warn( "unmatched `['", $fl );
+		Warn( "unmatched '['", $fl );
 		return undef();
 	    }
 	    # look for [:...:] and x-y
@@ -1113,7 +1114,7 @@
 	    if( $rstr =~ /^((?:\[:\(\w+|[><]\):\]|[^]-](?:-[^]])?)*)/ ){
  	        my $cnt = $1;
 		$ic += length( $cnt );
-		$cnt =~ s/([\\\$])/\\$1/g; # `\', `$' are magic in Perl []
+		$cnt =~ s/([\\\$])/\\$1/g; # '\', '$' are magic in Perl []
 		# try some simplifications
  	        my $red = $cnt;
 		if( $red =~ s/0-9// ){
@@ -1130,7 +1131,7 @@
 
 	    }
 
-	    ## may have a trailing `-' before `]'
+	    ## may have a trailing '-' before ']'
 	    if( $ic < length($pat) - 1 &&
                 substr( $pat, $ic+1 ) =~ /^(-?])/ ){
 		$ic += length( $1 );
@@ -1139,7 +1140,7 @@
 		$add =~ s/^\[(\^?)(\\[dw])]$/ $1 eq '^' ? uc($2) : $2 /e;
 		$res .= $add;
 	    } else {
-		Warn( "unmatched `['", $fl );
+		Warn( "unmatched '['", $fl );
 		return undef();
 	    }
 
@@ -1164,7 +1165,7 @@
     }
 
     if( $parlev ){
-       Warn( "unmatched `\\('", $fl );
+       Warn( "unmatched '\\('", $fl );
        return undef();
     }
 
@@ -1192,7 +1193,7 @@
 	    ### backslash escapes
             my $nc = peek($subst,$ic);
             if( $nc eq '' ){
-                Warn( "`\\' cannot be last in substitution", $fl );
+                Warn( "'\\' cannot be last in substitution", $fl );
                 return undef();
             }
 	    $ic++;
@@ -1282,13 +1283,13 @@
 		    next;
 		}
             } else {
-		Warn( "invalid address after `,'", $fl );
+		Warn( "invalid address after ','", $fl );
 		$error++;
 		next;
             }
         }
 
-        # address modifier `!'
+        # address modifier '!'
         #
         $negated = $cmd =~ s/^!\s*//;
 	if( defined( $addr1 ) ){
@@ -1307,7 +1308,7 @@
 	#
         if( $cmd !~ s/^([:#={}abcdDgGhHilnNpPqrstwxy])\s*// ){
 	    my $h = substr( $cmd, 0, 1 );
- 	    Warn( "unknown command `$h'", $fl );
+ 	    Warn( "unknown command '$h'", $fl );
 	    $error++;
 	    next;
 	}
@@ -1354,7 +1355,7 @@
 	} elsif( $tabref->[1] eq 'sub' ){
 	    # s///
 	    if( ! length( $cmd ) ){
-		Warn( "`s' command requires argument", $fl );
+		Warn( "'s' command requires argument", $fl );
 		$error++;
 		next;
 	    }
@@ -1398,7 +1399,7 @@
 		$write = $1 if $cmd =~ s/w\s*(.*)$//;
   	        ### $nmatch =~ s/^(\d)\1*$/$1/; ### may be dangerous?
 		if( $global && length( $nmatch ) || length( $nmatch ) > 1 ){
-		    Warn( "conflicting flags `$global$nmatch'", $fl );
+		    Warn( "conflicting flags '$global$nmatch'", $fl );
 		    $error++;
 		    next;
 		}
@@ -1430,30 +1431,30 @@
                 $Code .= "# $Commands[$icom]\n" if $doGenerate;
 	    }
 	    if( ! length( $cmd ) ){
-		Warn( "`y' command requires argument", $fl );
+		Warn( "'y' command requires argument", $fl );
 		$error++;
 		next;
 	    }
 	    my $d = substr( $cmd, 0, 1 ); $cmd = substr( $cmd, 1 );
 	    if( $d eq '\\' ){
-		Warn( "`\\' not valid as delimiter in `y' command", $fl );
+		Warn( "'\\' not valid as delimiter in 'y' command", $fl );
 		$error++;
 		next;
 	    }
 	    my $fr = stripTrans( $d, \$cmd );
 	    if( ! defined( $fr ) || ! length( $cmd ) ){
-		Warn( "malformed `y' command argument", $fl );
+		Warn( "malformed 'y' command argument", $fl );
 		$error++;
 		next;
 	    }
 	    my $to = stripTrans( $d, \$cmd );
 	    if( ! defined( $to ) ){
-		Warn( "malformed `y' command argument", $fl );
+		Warn( "malformed 'y' command argument", $fl );
 		$error++;
 		next;
 	    }
 	    if( length($fr) != length($to) ){
-		Warn( "string lengths in `y' command differ", $fl );
+		Warn( "string lengths in 'y' command differ", $fl );
 		$error++;
 		next;
 	    }
@@ -1486,7 +1487,7 @@
 
     while( @BlockStack ){
 	my $bl = pop( @BlockStack );
-	Warn( "start of unterminated `{'", $bl );
+	Warn( "start of unterminated '{'", $bl );
         $error++;
     }
 
@@ -1493,7 +1494,7 @@
     for my $lab ( keys( %Label ) ){
 	if( ! exists( $Label{$lab}{defined} ) ){
 	    for my $used ( @{$Label{$lab}{used}} ){
- 	        Warn( "undefined label `$lab'", $used );
+ 	        Warn( "undefined label '$lab'", $used );
 	        $error++;
 	    }
 	}
@@ -1570,7 +1571,7 @@
     } elsif( $opt eq 'a' ){
 	$doOpenWrite = 0;
     } else {
-        Warn( "illegal option `$opt'" );
+        Warn( "illegal option '$opt'" );
         usage();
         exit( 1 );
     }
@@ -1873,27 +1874,27 @@
 
 =over 4
 
-=item ambiguous translation for character `%s' in `y' command
+=item ambiguous translation for character '%s' in 'y' command
 
 The indicated character appears twice, with different translations.
 
-=item `[' cannot be last in pattern
+=item '[' cannot be last in pattern
 
-A `[' in a BRE indicates the beginning of a I<bracket expression>.
+A '[' in a BRE indicates the beginning of a I<bracket expression>.
 
-=item `\' cannot be last in pattern
+=item '\' cannot be last in pattern
 
-A `\' in a BRE is used to make the subsequent character literal.
+A '\' in a BRE is used to make the subsequent character literal.
 
-=item `\' cannot be last in substitution
+=item '\' cannot be last in substitution
 
-A `\' in a substitution string is used to make the subsequent character literal.
+A '\' in a substitution string is used to make the subsequent character literal.
 
-=item conflicting flags `%s'
+=item conflicting flags '%s'
 
-In an B<s> command, either the `g' flag and an n-th occurrence flag, or
+In an B<s> command, either the 'g' flag and an n-th occurrence flag, or
 multiple n-th occurrence flags are specified. Note that only the digits
-`1' through `9' are permitted.
+^'1' through '9' are permitted.
 
 =item duplicate label %s (first defined at %s)
 
@@ -1903,13 +1904,13 @@
 
 =item extra characters after command (%s)
 
-=item illegal option `%s'
+=item illegal option '%s'
 
 =item improper delimiter in s command
 
-The BRE and substitution may not be delimited with `\' or newline.
+The BRE and substitution may not be delimited with '\' or newline.
 
-=item invalid address after `,'
+=item invalid address after ','
 
 =item invalid backreference (%s)
 
@@ -1916,7 +1917,7 @@
 The specified backreference number exceeds the number of backreferences
 in the BRE.
 
-=item invalid repeat clause `\{%s\}'
+=item invalid repeat clause '\{%s\}'
 
 The repeat clause does not contain a valid integer value, or pair of
 values.
@@ -1929,11 +1930,11 @@
 
 =item malformed substitution expression
 
-=item malformed `y' command argument
+=item malformed 'y' command argument
 
 The first or second string of a B<y> command  is syntactically incorrect.
 
-=item maximum less than minimum in `\{%s\}'
+=item maximum less than minimum in '\{%s\}'
 
 =item no script command given
 
@@ -1940,23 +1941,23 @@
 There must be at least one B<-e> or one B<-f> option specifying a
 script or script file.
 
-=item `\' not valid as delimiter in `y' command
+=item '\' not valid as delimiter in 'y' command
 
 =item option -e requires an argument
 
 =item option -f requires an argument
 
-=item `s' command requires argument
+=item 's' command requires argument
 
-=item start of unterminated `{'
+=item start of unterminated '{'
 
-=item string lengths in `y' command differ
+=item string lengths in 'y' command differ
 
 The translation table strings in a B<y> command must have equal lengths.
 
-=item undefined label `%s'
+=item undefined label '%s'
 
-=item unexpected `}'
+=item unexpected '}'
 
 A B<}> command without a preceding B<{> command was encountered.
 
@@ -1965,23 +1966,23 @@
 The end of the script was reached although a text line after a
 B<a>, B<c> or B<i> command indicated another line.
 
-=item unknown command `%s'
+=item unknown command '%s'
 
-=item unterminated `['
+=item unterminated '['
 
 A BRE contains an unterminated bracket expression.
 
-=item unterminated `\('
+=item unterminated '\('
 
 A BRE contains an unterminated backreference.
 
-=item `\{' without closing `\}'
+=item '\{' without closing '\}'
 
 A BRE contains an unterminated bounds specification.
 
-=item `\)' without preceding `\('
+=item '\)' without preceding '\('
 
-=item `y' command requires argument
+=item 'y' command requires argument
 
 =back
 
@@ -2019,12 +2020,12 @@
 
 =head1 BUGS
 
-The B<l> command will show escape characters (ESC) as `C<\e>', but
+The B<l> command will show escape characters (ESC) as 'C<\e>', but
 a vertical tab (VT) in octal.
 
 Trailing spaces are truncated from labels in B<:>, B<t> and B<b> commands.
 
-The meaning of an empty regular expression (`C<//>'), as defined by B<sed>,
+The meaning of an empty regular expression ('C<//>'), as defined by B<sed>,
 is "the last pattern used, at run time". This deviates from the Perl
 interpretation, which will re-use the "last last successfully executed
 regular expression". Since keeping track of pattern usage would create


Property changes on: vendor/perl/dist/x2p/s2p.PL
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/x2p/str.c
===================================================================
--- vendor/perl/dist/x2p/str.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/str.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -12,7 +12,7 @@
 #include "util.h"
 
 void
-str_numset(register STR *str, double num)
+str_numset(STR *str, double num)
 {
     str->str_nval = num;
     str->str_pok = 0;		/* invalidate pointer */
@@ -20,9 +20,9 @@
 }
 
 char *
-str_2ptr(register STR *str)
+str_2ptr(STR *str)
 {
-    register char *s;
+    char *s;
 
     if (!str)
 	return (char *)"";	/* probably safe - won't be written to */
@@ -43,7 +43,7 @@
 }
 
 void
-str_sset(STR *dstr, register STR *sstr)
+str_sset(STR *dstr, STR *sstr)
 {
     if (!sstr)
 	str_nset(dstr,No,0);
@@ -56,7 +56,7 @@
 }
 
 void
-str_nset(register STR *str, register const char *ptr, register int len)
+str_nset(STR *str, const char *ptr, int len)
 {
     GROWSTR(&(str->str_ptr), &(str->str_len), len + 1);
     memcpy(str->str_ptr,ptr,len);
@@ -67,9 +67,9 @@
 }
 
 void
-str_set(register STR *str, register const char *ptr)
+str_set(STR *str, const char *ptr)
 {
-    register int len;
+    int len;
 
     if (!ptr)
 	ptr = "";
@@ -82,7 +82,7 @@
 }
 
 void
-str_ncat(register STR *str, register const char *ptr, register int len)
+str_ncat(STR *str, const char *ptr, int len)
 {
     if (!(str->str_pok))
 	str_2ptr(str);
@@ -95,7 +95,7 @@
 }
 
 void
-str_scat(STR *dstr, register STR *sstr)
+str_scat(STR *dstr, STR *sstr)
 {
     if (!(sstr->str_pok))
 	str_2ptr(sstr);
@@ -104,9 +104,9 @@
 }
 
 void
-str_cat(register STR *str, register const char *ptr)
+str_cat(STR *str, const char *ptr)
 {
-    register int len;
+    int len;
 
     if (!ptr)
 	return;
@@ -123,7 +123,7 @@
 STR *
 str_new(int len)
 {
-    register STR *str;
+    STR *str;
     
     if (freestrroot) {
 	str = freestrroot;
@@ -141,7 +141,7 @@
 /* make str point to what nstr did */
 
 void
-str_free(register STR *str)
+str_free(STR *str)
 {
     if (!str)
 	return;
@@ -155,7 +155,7 @@
 }
 
 int
-str_len(register STR *str)
+str_len(STR *str)
 {
     if (!str)
 	return 0;
@@ -168,15 +168,15 @@
 }
 
 char *
-str_gets(register STR *str, register FILE *fp)
+str_gets(STR *str, FILE *fp)
 {
 #if defined(USE_STDIO_PTR) && defined(STDIO_PTR_LVALUE) && defined(STDIO_CNT_LVALUE)
     /* Here is some breathtakingly efficient cheating */
 
-    register char *bp;		/* we're going to steal some values */
-    register int cnt;		/*  from the stdio struct and put EVERYTHING */
-    register STDCHAR *ptr;	/*   in the innermost loop into registers */
-    register char newline = '\n';	/* (assuming at least 6 registers) */
+    char *bp;		/* we're going to steal some values */
+    int cnt;		/*  from the stdio struct and put EVERYTHING */
+    STDCHAR *ptr;	/*   in the innermost loop into registers */
+    char newline = '\n';	/* (assuming at least 6 registers) */
     int i;
     int bpx;
 
@@ -210,7 +210,7 @@
 	}
 	
 	FILE_cnt(fp) = cnt;		/* deregisterize cnt and ptr */
-	FILE_ptr(fp) = (void*)ptr; /* LHS STDCHAR* cast non-portable */
+	FILE_ptr(fp) = ptr;
 	i = getc(fp);		/* get more characters */
 	cnt = FILE_cnt(fp);
 	ptr = (STDCHAR*)FILE_ptr(fp);		/* reregisterize cnt and ptr */
@@ -230,7 +230,7 @@
 
 thats_all_folks:
     FILE_cnt(fp) = cnt;			/* put these back or we're in trouble */
-    FILE_ptr(fp) = (void*)ptr; /* LHS STDCHAR* cast non-portable */
+    FILE_ptr(fp) = ptr;
     *bp = '\0';
     str->str_cur = bp - str->str_ptr;	/* set length */
 
@@ -252,7 +252,7 @@
 STR *
 str_make(const char *s)
 {
-    register STR *str = str_new(0);
+    STR *str = str_new(0);
 
     str_set(str,s);
     return str;


Property changes on: vendor/perl/dist/x2p/str.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/x2p/str.h
===================================================================
--- vendor/perl/dist/x2p/str.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/str.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/x2p/str.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/x2p/util.c
===================================================================
--- vendor/perl/dist/x2p/util.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/util.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -82,7 +82,7 @@
 /* copy a string up to some (non-backslashed) delimiter, if any */
 
 char *
-cpytill(register char *to, register char *from, register int delim)
+cpytill(char *to, char *from, int delim)
 {
     for (; *from; from++,to++) {
 	if (*from == '\\') {
@@ -101,7 +101,7 @@
 
 
 char *
-cpy2(register char *to, register char *from, register int delim)
+cpy2(char *to, char *from, int delim)
 {
     for (; *from; from++,to++) {
 	if (*from == '\\')
@@ -121,8 +121,8 @@
 char *
 instr(char *big, const char *little)
 {
-    register char *t, *x;
-    register const char *s;
+    char *t, *x;
+    const char *s;
 
     for (t = big; *t; t++) {
 	for (x=t,s=little; *s; x++,s++) {
@@ -142,7 +142,7 @@
 char *
 savestr(const char *str)
 {
-    register char * const newaddr = (char *) safemalloc((MEM_SIZE)(strlen(str)+1));
+    char * const newaddr = (char *) safemalloc((MEM_SIZE)(strlen(str)+1));
 
     (void)strcpy(newaddr,str);
     return newaddr;


Property changes on: vendor/perl/dist/x2p/util.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Index: vendor/perl/dist/x2p/util.h
===================================================================
--- vendor/perl/dist/x2p/util.h	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/util.h	2013-12-01 21:45:02 UTC (rev 6430)

Property changes on: vendor/perl/dist/x2p/util.h
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.2
\ No newline at end of property
Modified: vendor/perl/dist/x2p/walk.c
===================================================================
--- vendor/perl/dist/x2p/walk.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/x2p/walk.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -35,18 +35,18 @@
 STR * walk ( int useval, int level, int node, int *numericptr, int minprec );
 #ifdef NETWARE
 char *savestr(char *str);
-char *cpytill(register char *to, register char *from, register int delim);
+char *cpytill(char *to, char *from, int delim);
 char *instr(char *big, const char *little);
 #endif
 
 STR *
-walk(int useval, int level, register int node, int *numericptr, int minprec)
+walk(int useval, int level, int node, int *numericptr, int minprec)
 {
-    register int len;
-    register STR *str;
-    register int type;
-    register int i;
-    register STR *tmpstr;
+    int len;
+    STR *str;
+    int type;
+    int i;
+    STR *tmpstr;
     STR *tmp2str;
     STR *tmp3str;
     char *t;
@@ -69,7 +69,7 @@
 	if (namelist) {
 	    while (isALPHA(*namelist)) {
 		for (d = tokenbuf,s=namelist;
-		  isALPHA(*s) || isDIGIT(*s) || *s == '_';
+		  isWORDCHAR(*s);
 		  *d++ = *s++) ;
 		*d = '\0';
 		while (*s && !isALPHA(*s)) s++;
@@ -584,7 +584,7 @@
 		    *t &= 127;
 		    if (isLOWER(*t))
 			*t = toUPPER(*t);
-		    if (!isALPHA(*t) && !isDIGIT(*t))
+		    if (!isALPHANUMERIC(*t))
 			*t = '_';
 		}
 		if (!strchr(tokenbuf,'_'))
@@ -1112,7 +1112,7 @@
 		*t &= 127;
 		if (isLOWER(*t))
 		    *t = toUPPER(*t);
-		if (!isALPHA(*t) && !isDIGIT(*t))
+		if (!isALPHANUMERIC(*t))
 		    *t = '_';
 	    }
 	    if (!strchr(tokenbuf,'_'))
@@ -1149,7 +1149,7 @@
 		    *t &= 127;
 		    if (isLOWER(*t))
 			*t = toUPPER(*t);
-		    if (!isALPHA(*t) && !isDIGIT(*t))
+		    if (!isALPHANUMERIC(*t))
 			*t = '_';
 		}
 		if (!strchr(tokenbuf,'_'))
@@ -1420,7 +1420,7 @@
 	i = numarg;
 	if (i) {
 	    t = s = tmpstr->str_ptr;
-	    while (isALPHA(*t) || isDIGIT(*t) || *t == '$' || *t == '_')
+	    while (isWORDCHAR(*t) || *t == '$')
 		t++;
 	    i = t - s;
 	    if (i < 2)
@@ -1546,7 +1546,7 @@
 }
 
 static void
-tab(register STR *str, register int lvl)
+tab(STR *str, int lvl)
 {
     while (lvl > 1) {
 	str_cat(str,"\t");
@@ -1557,9 +1557,9 @@
 }
 
 static void
-fixtab(register STR *str, register int lvl)
+fixtab(STR *str, int lvl)
 {
-    register char *s;
+    char *s;
 
     /* strip trailing white space */
 
@@ -1575,9 +1575,9 @@
 }
 
 static void
-addsemi(register STR *str)
+addsemi(STR *str)
 {
-    register char *s;
+    char *s;
 
     s = str->str_ptr+str->str_cur - 1;
     while (s >= str->str_ptr && (*s == ' ' || *s == '\t' || *s == '\n'))
@@ -1587,9 +1587,9 @@
 }
 
 static void
-emit_split(register STR *str, int level)
+emit_split(STR *str, int level)
 {
-    register int i;
+    int i;
 
     if (split_to_array)
 	str_cat(str,"@Fld");
@@ -1620,11 +1620,11 @@
 }
 
 int
-prewalk(int numit, int level, register int node, int *numericptr)
+prewalk(int numit, int level, int node, int *numericptr)
 {
-    register int len;
-    register int type;
-    register int i;
+    int len;
+    int type;
+    int i;
     int numarg;
     int numeric = FALSE;
     STR *tmpstr;
@@ -2037,10 +2037,10 @@
 }
 
 static void
-numericize(register int node)
+numericize(int node)
 {
-    register int len;
-    register int type;
+    int len;
+    int type;
     STR *tmpstr;
     STR *tmp2str;
     int numarg;


Property changes on: vendor/perl/dist/x2p/walk.c
___________________________________________________________________
Deleted: cvs2svn:cvs-rev
## -1 +0,0 ##
-1.1.1.3
\ No newline at end of property
Deleted: vendor/perl/dist/xsutils.c
===================================================================
--- vendor/perl/dist/xsutils.c	2013-12-01 02:35:48 UTC (rev 6429)
+++ vendor/perl/dist/xsutils.c	2013-12-01 21:45:02 UTC (rev 6430)
@@ -1,307 +0,0 @@
-/*    xsutils.c
- *
- *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
- *    by Larry Wall and others
- *
- *    You may distribute under the terms of either the GNU General Public
- *    License or the Artistic License, as specified in the README file.
- *
- */
-
-/*
- * 'Perilous to us all are the devices of an art deeper than we possess
- *  ourselves.'                                            --Gandalf
- *
- *     [p.597 of _The Lord of the Rings_, III/xi: "The Palant\xEDr"]
- */
-
-
-#include "EXTERN.h"
-#define PERL_IN_XSUTILS_C
-#include "perl.h"
-
-/*
- * Contributed by Spider Boardman (spider.boardman at orb.nashua.nh.us).
- */
-
-/* package attributes; */
-PERL_XS_EXPORT_C void XS_attributes_reftype(pTHX_ CV *cv);
-PERL_XS_EXPORT_C void XS_attributes__modify_attrs(pTHX_ CV *cv);
-PERL_XS_EXPORT_C void XS_attributes__guess_stash(pTHX_ CV *cv);
-PERL_XS_EXPORT_C void XS_attributes__fetch_attrs(pTHX_ CV *cv);
-PERL_XS_EXPORT_C void XS_attributes_bootstrap(pTHX_ CV *cv);
-
-
-/*
- * Note that only ${pkg}::bootstrap definitions should go here.
- * This helps keep down the start-up time, which is especially
- * relevant for users who don't invoke any features which are
- * (partially) implemented here.
- *
- * The various bootstrap definitions can take care of doing
- * package-specific newXS() calls.  Since the layout of the
- * bundled *.pm files is in a version-specific directory,
- * version checks in these bootstrap calls are optional.
- */
-
-static const char file[] = __FILE__;
-
-void
-Perl_boot_core_xsutils(pTHX)
-{
-    newXS("attributes::bootstrap",	XS_attributes_bootstrap,	file);
-}
-
-#include "XSUB.h"
-
-static int
-modify_SV_attributes(pTHX_ SV *sv, SV **retlist, SV **attrlist, int numattrs)
-{
-    dVAR;
-    SV *attr;
-    int nret;
-
-    for (nret = 0 ; numattrs && (attr = *attrlist++); numattrs--) {
-	STRLEN len;
-	const char *name = SvPV_const(attr, len);
-	const bool negated = (*name == '-');
-
-	if (negated) {
-	    name++;
-	    len--;
-	}
-	switch (SvTYPE(sv)) {
-	case SVt_PVCV:
-	    switch ((int)len) {
-	    case 6:
-		switch (name[3]) {
-		case 'l':
-		    if (memEQ(name, "lvalue", 6)) {
-			if (negated)
-			    CvFLAGS(MUTABLE_CV(sv)) &= ~CVf_LVALUE;
-			else
-			    CvFLAGS(MUTABLE_CV(sv)) |= CVf_LVALUE;
-			continue;
-		    }
-		    break;
-		case 'k':
-		    if (memEQ(name, "locked", 6)) {
-			if (negated)
-			    CvFLAGS(MUTABLE_CV(sv)) &= ~CVf_LOCKED;
-			else
-			    CvFLAGS(MUTABLE_CV(sv)) |= CVf_LOCKED;
-			continue;
-		    }
-		    break;
-		case 'h':
-		    if (memEQ(name, "method", 6)) {
-			if (negated)
-			    CvFLAGS(MUTABLE_CV(sv)) &= ~CVf_METHOD;
-			else
-			    CvFLAGS(MUTABLE_CV(sv)) |= CVf_METHOD;
-			continue;
-		    }
-		    break;
-		}
-		break;
-	    }
-	    break;
-	default:
-	    switch ((int)len) {
-	    case 6:
-		switch (name[5]) {
-		case 'd':
-		    if (memEQ(name, "share", 5)) {
-			if (negated)
-			    Perl_croak(aTHX_ "A variable may not be unshared");
-			SvSHARE(sv);
-                        continue;
-                    }
-		    break;
-		case 'e':
-		    if (memEQ(name, "uniqu", 5)) {
-			if (isGV_with_GP(sv)) {
-			    if (negated) {
-				GvUNIQUE_off(sv);
-			    } else {
-				GvUNIQUE_on(sv);
-			    }
-			}
-			/* Hope this came from toke.c if not a GV. */
-                        continue;
-                    }
-                }
-            }
-	    break;
-	}
-	/* anything recognized had a 'continue' above */
-	*retlist++ = attr;
-	nret++;
-    }
-
-    return nret;
-}
-
-
-
-/* package attributes; */
-
-XS(XS_attributes_bootstrap)
-{
-    dVAR;
-    dXSARGS;
-
-    if( items > 1 )
-	croak_xs_usage(cv, "$module");
-
-    newXS("attributes::_modify_attrs",	XS_attributes__modify_attrs,	file);
-    newXSproto("attributes::_guess_stash", XS_attributes__guess_stash, file, "$");
-    newXSproto("attributes::_fetch_attrs", XS_attributes__fetch_attrs, file, "$");
-    newXSproto("attributes::reftype",	XS_attributes_reftype,	file, "$");
-
-    XSRETURN(0);
-}
-
-XS(XS_attributes__modify_attrs)
-{
-    dVAR;
-    dXSARGS;
-    SV *rv, *sv;
-
-    if (items < 1) {
-usage:
-	croak_xs_usage(cv, "@attributes");
-    }
-
-    rv = ST(0);
-    if (!(SvOK(rv) && SvROK(rv)))
-	goto usage;
-    sv = SvRV(rv);
-    if (items > 1)
-	XSRETURN(modify_SV_attributes(aTHX_ sv, &ST(0), &ST(1), items-1));
-
-    XSRETURN(0);
-}
-
-XS(XS_attributes__fetch_attrs)
-{
-    dVAR;
-    dXSARGS;
-    SV *rv, *sv;
-    cv_flags_t cvflags;
-
-    if (items != 1) {
-usage:
-	croak_xs_usage(cv, "$reference");
-    }
-
-    rv = ST(0);
-    SP -= items;
-    if (!(SvOK(rv) && SvROK(rv)))
-	goto usage;
-    sv = SvRV(rv);
-
-    switch (SvTYPE(sv)) {
-    case SVt_PVCV:
-	cvflags = CvFLAGS((const CV *)sv);
-	if (cvflags & CVf_LOCKED)
-	    XPUSHs(newSVpvs_flags("locked", SVs_TEMP));
-	if (cvflags & CVf_LVALUE)
-	    XPUSHs(newSVpvs_flags("lvalue", SVs_TEMP));
-	if (cvflags & CVf_METHOD)
-	    XPUSHs(newSVpvs_flags("method", SVs_TEMP));
-        if (GvUNIQUE(CvGV((const CV *)sv)))
-	    XPUSHs(newSVpvs_flags("unique", SVs_TEMP));
-	break;
-    case SVt_PVGV:
-	if (isGV_with_GP(sv) && GvUNIQUE(sv))
-	    XPUSHs(newSVpvs_flags("unique", SVs_TEMP));
-	break;
-    default:
-	break;
-    }
-
-    PUTBACK;
-}
-
-XS(XS_attributes__guess_stash)
-{
-    dVAR;
-    dXSARGS;
-    SV *rv, *sv;
-    dXSTARG;
-
-    if (items != 1) {
-usage:
-	croak_xs_usage(cv, "$reference");
-    }
-
-    rv = ST(0);
-    ST(0) = TARG;
-    if (!(SvOK(rv) && SvROK(rv)))
-	goto usage;
-    sv = SvRV(rv);
-
-    if (SvOBJECT(sv))
-	sv_setpvn(TARG, HvNAME_get(SvSTASH(sv)), HvNAMELEN_get(SvSTASH(sv)));
-#if 0	/* this was probably a bad idea */
-    else if (SvPADMY(sv))
-	sv_setsv(TARG, &PL_sv_no);	/* unblessed lexical */
-#endif
-    else {
-	const HV *stash = NULL;
-	switch (SvTYPE(sv)) {
-	case SVt_PVCV:
-	    if (CvGV(sv) && isGV(CvGV(sv)) && GvSTASH(CvGV(sv)))
-		stash = GvSTASH(CvGV(sv));
-	    else if (/* !CvANON(sv) && */ CvSTASH(sv))
-		stash = CvSTASH(sv);
-	    break;
-	case SVt_PVGV:
-	    if (isGV_with_GP(sv) && GvGP(sv) && GvESTASH(MUTABLE_GV(sv)))
-		stash = GvESTASH(MUTABLE_GV(sv));
-	    break;
-	default:
-	    break;
-	}
-	if (stash)
-	    sv_setpvn(TARG, HvNAME_get(stash), HvNAMELEN_get(stash));
-    }
-
-    SvSETMAGIC(TARG);
-    XSRETURN(1);
-}
-
-XS(XS_attributes_reftype)
-{
-    dVAR;
-    dXSARGS;
-    SV *rv, *sv;
-    dXSTARG;
-
-    if (items != 1) {
-usage:
-	croak_xs_usage(cv, "$reference");
-    }
-
-    rv = ST(0);
-    ST(0) = TARG;
-    SvGETMAGIC(rv);
-    if (!(SvOK(rv) && SvROK(rv)))
-	goto usage;
-    sv = SvRV(rv);
-    sv_setpv(TARG, sv_reftype(sv, 0));
-    SvSETMAGIC(TARG);
-
-    XSRETURN(1);
-}
-
-/*
- * Local variables:
- * c-indentation-style: bsd
- * c-basic-offset: 4
- * indent-tabs-mode: t
- * End:
- *
- * ex: set ts=8 sts=4 sw=4 noet:
- */



More information about the Midnightbsd-cvs mailing list